[
  {
    "path": ".gitignore",
    "content": "/vendor/\nnode_modules/\nnpm-debug.log\nyarn-error.log\n\n# Laravel 4 specific\nbootstrap/compiled.php\napp/storage/\n\n# Laravel 5 & Lumen specific\npublic/storage\npublic/hot\n\n# Laravel 5 & Lumen specific with changed public path\npublic_html/storage\npublic_html/hot\n\nstorage/*.key\n.env\nHomestead.yaml\nHomestead.json\n/.vagrant\n.phpunit.result.cache"
  },
  {
    "path": "README.md",
    "content": "# Laravel Project\n\nThis Laravel Project is a business website built with Laravel and React, featuring a variety of modules and functionalities for users, pet professionals, and administrators.\n\n## Preview\n\n![Main Demp](demo.png)\n\n## Tech Stacks & Versions\n\n- PHP 7.2.5\n- Laravel 7.0\n- React 16.13.1\n- MySQL 5.7.27\n- jQuery\n- JavaScript\n- GitHub\n\n## Technology\n\n- **Front End:** React Js\n- **Back End:** Laravel\n\n## Server\n\n- **Amazon AWS EC2 (Hosting)**\n- **AWS Route53 (DNS Management)**\n\n## External Tools\n\n- Facebook Login / Signup\n- Google Login / Signup\n- Hubspot\n- Google Analytics\n- Google Map\n\n## Getting Started: Setting Up Local Environment & Prerequisites\n\n### GitHub Repo Structure\n\n- **Master:**  Live Server\n- **Develop:**  Dev Server\n- **Branch from Develop:** Task-wise branch\n\n### To set up locally:\n\n1. Clone the develop branch from the GitHub repository.\n2. Install prerequisites: Composer, Node, MySQL, Apache, PHP >= 7.1.3.\n\n### Setup Steps\n\n```bash\ncomposer install\nnpm install\n```\n\n3. Copy `.env.example` to create a `.env` file and configure the database settings.\n4. Run the development server:\n\n```bash\nphp artisan serve\n```\n\n### Making Changes and Working on Tasks\n\n1. Create a branch for a specific task.\n2. Make changes and work on the task.\n3. Create a pull request to the parent repo (Develop/Master).\n\n### Deployment Steps\n\n#### Develop/Staging Server Deployment:\n\n```bash\n# Update server with changes on develop branch\ngit pull origin develop\n```\n\n#### Live Server Deployment:\n\n```bash\n# Update server with changes on master branch\ngit pull origin master\n```\n\n### Branch Process\n\n- Task branch/Child branch -> Develop Branch -> Master Branch\n\n### Urgent Task on Live Server\n\n1. Create a branch from master for the urgent task.\n2. Merge changes to the Master branch and deploy to the live server.\n3. Merge the child branch into the Develop branch.\n\n## Admin Capabilities\n\n- User's chart and view count of users, pet pros, deals of watch and learn, deal claimed of watch and learn, deals of product reviews, deal claimed of product reviews.\n- Add / Update / Delete Admin User.\n- Manage Pet Pro categories, Pet Pros, gallery images, deals, and events.\n- Manage Watch and Learn categories and content.\n- Manage Product Reviews categories and content.\n- Manage Authors, Medias, Testimonials.\n- View and manage Business Requests, Contact, and Newsletters.\n\n## Developer Information\n\n- **Developer Email:** izhan47@gmail.com\n- **Developer Website/Support:** [izhan.me](https://izhan.me)\n\n\n"
  },
  {
    "path": "app/Console/Commands/BreedsImportCommand.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse App\\Imports\\BreedsImport;\nuse Illuminate\\Console\\Command;\nuse Excel;\n\nclass BreedsImportCommand extends Command\n{\n    protected $signature = 'import:breeds';\n\n    protected $description = 'Import breeds data to db';\n\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    public function handle()\n    {\n        Excel::import(new BreedsImport, public_path('breeds/breeds.csv'));\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/ScriptCompressExistingImages.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Carbon\\Carbon;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Image;\nuse App\\Http\\WagEnabledHelpers;\n\nclass ScriptCompressExistingImages extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'script:compress-existing-images {--type=}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Script for compress existing images';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {   \n        $this->info(\"*************************************\");\n        $this->info(\"Process Started....\");\n        $this->info(\"*************************************\");\n\n        $modyleType = $this->option('type');\n\n       if($modyleType == \"user\") {\n            $classObj = app()->make(\"App\\Models\\User\");\n            $storagePath = config('wagenabled.path.doc.user_profile_image_path');\n            $imageColumn = \"profile_image\";\n        }\n        else if($modyleType == \"users-pet\") {\n            $classObj = app()->make(\"App\\Models\\UserPet\");\n            $storagePath = config('wagenabled.path.doc.users_pet_image_path');\n            $imageColumn = \"pet_image\";\n        }            \n        else {\n            $this->error(\"Invalid Type, Please double check it\");\n            return false;\n        }\n\n        $this->compressModuleWiseImages($classObj, $storagePath, $imageColumn);\n    \n        $this->info(\"*************************************\");\n        $this->info(\"Process Completed....\");\n        $this->info(\"*************************************\");\n\n    }\n\n    protected function compressModuleWiseImages($model, $storagePath, $imageColumn = \"image\")\n    {\n        $images = $model->select([\"id\", $imageColumn])\n                        ->whereNotNull($imageColumn)\n                        ->get();\n\n\n        $this->info(\"===>>>> Total Records: \" . $images->count());\n        $this->info(\"*************************************************\");\n        \n        $totalimages = $images->count();\n        if($totalimages) {\n            $thumbPath = $storagePath . \"thumb/\";\n            $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n            $recCount = 0;\n\n            foreach ($images as $image) {\n                try {\n\n                    $recCount++;\n                    $oldImageName = $image->$imageColumn;\n                    $filePathInfo = pathinfo($oldImageName);\n                    $fileExtension = (isset($filePathInfo['extension']) && !empty($filePathInfo['extension'])) ? $filePathInfo['extension'] : \"jpg\" ;\n                    $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 7)), 0, 7);                    \n                    $name = $randomString . '-' . $oldImageName;                    \n                    $oldFilePath = $storagePath . $oldImageName;\n                  \n                    $originalImageContents = Storage::get($oldFilePath);\n                    $originalImage = Image::make($originalImageContents)\n                                                ->orientate()\n                                                ->encode($fileExtension);\n                    Storage::put($storagePath . $name, $originalImage);\n\n                \n                    $thumbImageContent = Image::make($originalImageContents)\n                                                ->resize(380, 250, function ($constraint) {\n                                                    $constraint->aspectRatio();\n                                                    $constraint->upsize();\n                                                })\n                                                ->orientate()\n                                                ->encode($fileExtension);                    \n                    Storage::put($thumbPath . $name, $thumbImageContent);                \n\n                    $image->$imageColumn = $name;\n                    $image->save();\n\n                    if (!empty($oldImageName)) {\n                        $deleteFileList = [\n                            $storagePath.$oldImageName,\n                            $thumbPath.$oldImageName,\n                        ];\n                        WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n                    }\n\n                    $this->info(\"----------------------------------\");\n                    $this->info(\"[\". $recCount .\"/$totalimages] Module ID: \" . $image->id);\n                    $this->info(\"New File: \" . $name . \"  <<-------->>  Old File: \" . $oldImageName);\n\n                } catch (\\Illuminate\\Contracts\\Filesystem\\FileNotFoundException $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error(\"File Not Found: \" . $e->getMessage());\n                } catch (Exception $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error($e->getMessage());\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/ScriptCompressExistingMediaImages.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Carbon\\Carbon;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Image;\nuse App\\Http\\WagEnabledHelpers;\n\nclass ScriptCompressExistingMediaImages extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'script:compress-existing-media-images {--type=}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Script for compress existing media images';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {   \n        $this->info(\"*************************************\");\n        $this->info(\"Process Started....\");\n        $this->info(\"*************************************\");\n\n        $modyleType = $this->option('type');\n\n       \n        if($modyleType == \"watch-and-learn-media\") {\n            $classObj = app()->make(\"App\\Models\\WatchAndLearnMedias\");\n            $storagePath = config('wagenabled.path.doc.watch_and_learn_media_path');\n            $imageColumn = \"filename\";\n        }      \n        else {\n            $this->error(\"Invalid Type, Please double check it\");\n            return false;\n        }\n\n        $this->compressModuleWiseImages($classObj, $storagePath, $imageColumn);\n    \n        $this->info(\"*************************************\");\n        $this->info(\"Process Completed....\");\n        $this->info(\"*************************************\");\n\n    }\n\n    protected function compressModuleWiseImages($model, $storagePath, $imageColumn = \"image\")\n    {\n        $images = $model->select([\"id\", $imageColumn])\n                        ->whereNotNull($imageColumn)\n                        ->get();\n\n\n        $this->info(\"===>>>> Total Records: \" . $images->count());\n        $this->info(\"*************************************************\");\n        \n        $totalimages = $images->count();\n        if($totalimages) {\n            $thumbPath = $storagePath . \"thumb/\";            \n            $recCount = 0;\n\n            foreach ($images as $image) {\n                try {\n                    $recCount++;\n                   \n                    $oldImageName = $image->$imageColumn;    \n                    $filePathInfo = pathinfo($oldImageName);\n                    $fileExtension = (isset($filePathInfo['extension']) && !empty($filePathInfo['extension'])) ? $filePathInfo['extension'] : \"jpg\" ;\n                                                    \n                    $oldFilePath = $storagePath . $oldImageName;\n                    $oldThumbFilePath = $thumbPath . $oldImageName;  \n                    if( Storage::exists($oldFilePath) ) {                    \n\n                        $imageSize = Storage::size($oldFilePath);\n\n                        if( $imageSize > 100000 ) {\n\n                            $originalImageContents = Storage::get($oldFilePath);\n                            $originalImage = Image::make($originalImageContents)\n                                                        ->orientate()\n                                                        ->encode($fileExtension, 75);\n                            Storage::put($storagePath . $image->$imageColumn, $originalImage);\n                                              \n                            $thumbImageContent = Image::make($originalImageContents)\n                                                        ->orientate()\n                                                        ->resize(500, null, function ($constraints) {\n                                                            $constraints->aspectRatio();\n                                                        })\n                                                        ->encode($fileExtension, 75);                \n                            Storage::put($thumbPath . $image->$imageColumn, $thumbImageContent);                    \n                          \n                        \n                            $this->info(\"----------------------------------\");\n                            $this->info(\"[\". $recCount .\"/$totalimages] Module ID: \" . $image->id);\n                            $this->info(\"New File: \" . $image->$imageColumn . \"  <<-------->>  Old File: \" . $oldImageName);\n                        }\n                    }\n\n\n                } catch (\\Illuminate\\Contracts\\Filesystem\\FileNotFoundException $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error(\"File Not Found: \" . $e->getMessage());\n                } catch (Exception $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error($e->getMessage());\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/ScriptCompressExistingPetProImages.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Carbon\\Carbon;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Image;\nuse App\\Http\\WagEnabledHelpers;\n\nclass ScriptCompressExistingPetProImages extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'script:compress-existing-pet-pro-images {--type=}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Script for compress existing images';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {   \n        $this->info(\"*************************************\");\n        $this->info(\"Process Started....\");\n        $this->info(\"*************************************\");\n\n        $modyleType = $this->option('type');\n\n        if($modyleType == \"pet-pro\") {\n            $classObj = app()->make(\"App\\Models\\PetProGallery\");\n            $storagePath = config('wagenabled.path.doc.pet_pro_gallery_image_path');\n            $imageColumn = \"gallery_image\";\n        }                 \n        else {\n            $this->error(\"Invalid Type, Please double check it\");\n            return false;\n        }\n\n        $this->compressModuleWiseImages($classObj, $storagePath, $imageColumn);\n    \n        $this->info(\"*************************************\");\n        $this->info(\"Process Completed....\");\n        $this->info(\"*************************************\");\n\n    }\n\n    protected function compressModuleWiseImages($model, $storagePath, $imageColumn = \"image\")\n    {\n        $images = $model->select([\"id\", $imageColumn, 'is_cropped_image'])\n                        ->whereNotNull($imageColumn)\n                        ->get();\n\n\n        $this->info(\"===>>>> Total pet pro Records: \" . $images->count());\n        $this->info(\"*************************************************\");\n        \n        $totalimages = $images->count();\n        if($totalimages) {\n            $thumbPath = $storagePath . \"thumb/\";\n            $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n            $recCount = 0;\n\n            foreach ($images as $image) {\n                try {\n                   \n                    $recCount++;\n                    $oldImageName = $image->$imageColumn;\n                    $filePathInfo = pathinfo($oldImageName);\n                    $fileExtension = (isset($filePathInfo['extension']) && !empty($filePathInfo['extension'])) ? $filePathInfo['extension'] : \"jpg\" ;\n                    $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 7)), 0, 7);\n                    \n                    $name = $randomString . '-' . $oldImageName;\n                    \n                    $oldFilePath = $storagePath . $oldImageName;\n                    $oldThumbFilePath = $thumbPath . $oldImageName;\n\n\n                    $originalImageContents = Storage::get($oldFilePath);\n                    $originalImage = Image::make($originalImageContents)\n                                                ->orientate()\n                                                ->encode($fileExtension);\n                    Storage::put($storagePath . $name, $originalImage);\n                    \n                    //make thumb if not cropped\n                    if( ! $image->is_cropped_image ) {\n                        $thumbImageContent = Image::make($originalImageContents)\n                                                    ->orientate()\n                                                    ->encode($fileExtension, 50); \n                        Storage::put($thumbPath . $name, $thumbImageContent);\n                        $image->is_cropped_image = 1;\n                    } \n                   \n\n                    if( $image->is_cropped_image ) {\n                        if( Storage::exists($oldThumbFilePath) ) {\n                            $originalThumbImageContents = Storage::get($oldThumbFilePath);\n                            $thumbImageContent = Image::make($originalThumbImageContents)\n                                                        ->orientate()\n                                                        ->encode($fileExtension, 50);                    \n\n                            Storage::put($thumbPath . $name, $thumbImageContent);\n                        }\n                    }\n\n                    $image->$imageColumn = $name;\n                    $image->save();\n\n                    if (!empty($oldImageName)) {\n                        $deleteFileList = [\n                            $storagePath.$oldImageName,\n                            $thumbPath.$oldImageName,\n                        ];\n\n                        WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n                    }\n\n                    $this->info(\"----------------------------------\");\n                    $this->info(\"[\". $recCount .\"/$totalimages] Module ID: \" . $image->id);\n                    $this->info(\"New File: \" . $name . \"  <<-------->>  Old File: \" . $oldImageName);\n                    \n\n                } catch (\\Illuminate\\Contracts\\Filesystem\\FileNotFoundException $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error(\"File Not Found: \" . $e->getMessage());\n                } catch (Exception $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error($e->getMessage());\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/ScriptCompressExistingThumbOrImages.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Carbon\\Carbon;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Image;\nuse App\\Http\\WagEnabledHelpers;\n\nclass ScriptCompressExistingThumbOrImages extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'script:compress-existing-thumb-or-images {--type=}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Script for compress existing images';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {   \n        $this->info(\"*************************************\");\n        $this->info(\"Process Started....\");\n        $this->info(\"*************************************\");\n\n        $modyleType = $this->option('type');\n\n        if($modyleType == \"watch-and-learn-author\") {\n            $classObj = app()->make(\"App\\Models\\WatchAndLearnAuthor\");\n            $storagePath = config('wagenabled.path.doc.watch_and_learn_author_path');\n            $imageColumn = \"profile_image\";\n            $width = 380;\n            $height = 250;\n        }   \n        else if($modyleType == \"watch-and-learn\") {\n            $classObj = app()->make(\"App\\Models\\WatchAndLearn\");\n            $storagePath = config('wagenabled.path.doc.watch_and_learn_thumbnail_path');\n            $imageColumn = \"thumbnail\";\n            $width = 380;\n            $height = 250;\n        }     \n        else if($modyleType == \"testimonial\") {\n            $classObj = app()->make(\"App\\Models\\Testimonial\");\n            $storagePath = config('wagenabled.path.doc.testimonial_image_path');\n            $imageColumn = \"image\";\n            $width = 300;\n            $height = 350;\n        }         \n        else {\n            $this->error(\"Invalid Type, Please double check it\");\n            return false;\n        }\n\n        $this->compressModuleWiseImages($classObj, $storagePath, $imageColumn, $width, $height);\n    \n        $this->info(\"*************************************\");\n        $this->info(\"Process Completed....\");\n        $this->info(\"*************************************\");\n\n    }\n\n    protected function compressModuleWiseImages($model, $storagePath, $imageColumn = \"image\", $width, $height)\n    {\n        $images = $model->select([\"id\", $imageColumn])\n                        ->whereNotNull($imageColumn)\n                        ->limit(4)\n                        ->get();\n\n\n        $this->info(\"===>>>> Total Records: \" . $images->count());\n        $this->info(\"*************************************************\");\n        \n        $totalimages = $images->count();\n        if($totalimages) {\n            $thumbPath = $storagePath . \"thumb/\";\n            $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n            $recCount = 0;\n\n            foreach ($images as $image) {\n                try {\n                    $recCount++;\n                    $oldImageName = $image->$imageColumn;\n                    $filePathInfo = pathinfo($oldImageName);\n                    $fileExtension = (isset($filePathInfo['extension']) && !empty($filePathInfo['extension'])) ? $filePathInfo['extension'] : \"jpg\" ;\n\n                    $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 7)), 0, 7);                    \n                    $name = $randomString . '-' . $oldImageName;                    \n                    $oldFilePath = $storagePath . $oldImageName;\n                    $oldThumbFilePath = $thumbPath . $oldImageName;\n\n \n                    $originalImageContents = Storage::get($oldFilePath);\n                    $originalImage = Image::make($originalImageContents)\n                                                ->orientate()\n                                                ->encode($fileExtension);\n                    Storage::put($storagePath . $name, $originalImage);\n\n                    $originalThumbImageContents = Storage::get($oldThumbFilePath);\n                    $oldThumbImageContent = Image::make($originalThumbImageContents);\n                    \n                        /*$this->info(\"===>>>> height: \".$oldThumbImageContent->height());\n                        $this->info(\"===>>>> width: \".$oldThumbImageContent->width() );*/\n\n                    if( $oldThumbImageContent->height() > $height || $oldThumbImageContent->width() > $width ) {\n                        // image is cropped\n                        $thumbImageContent = Image::make($originalThumbImageContents)\n                                                    ->orientate()\n                                                    ->encode($fileExtension, 50);                    \n\n                        Storage::put($thumbPath . $name, $thumbImageContent);\n                        $this->info(\"===>>>> not cropped: \" );\n                    }                                      \n\n                    $image->$imageColumn = $name;\n                    $image->save();\n\n                    if (!empty($oldImageName)) {\n                        $deleteFileList = [\n                            $storagePath.$oldImageName,\n                            $thumbPath.$oldImageName,\n                        ];\n\n                        WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n                    }\n\n                    $this->info(\"----------------------------------\");\n                    $this->info(\"[\". $recCount .\"/$totalimages] Module ID: \" . $image->id);\n                    $this->info(\"New File: \" . $name . \"  <<-------->>  Old File: \" . $oldImageName);\n\n                } catch (\\Illuminate\\Contracts\\Filesystem\\FileNotFoundException $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error(\"File Not Found: \" . $e->getMessage());\n                } catch (Exception $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error($e->getMessage());\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/ScriptCreatePetProSmallThumbImages.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse Carbon\\Carbon;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Image;\nuse App\\Http\\WagEnabledHelpers;\n\nclass ScriptCreatePetProSmallThumbImages extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'script:create-pet-pro-small-thumb {--type=}';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Script for create thumb images';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return mixed\n     */\n    public function handle()\n    {   \n        $this->info(\"*************************************\");\n        $this->info(\"Process Started....\");\n        $this->info(\"*************************************\");\n\n        $modyleType = $this->option('type');\n\n        if($modyleType == \"pet-pro\") {\n            $classObj = app()->make(\"App\\Models\\PetProGallery\");\n            $storagePath = config('wagenabled.path.doc.pet_pro_gallery_image_path');\n            $imageColumn = \"gallery_image\";\n        }                 \n        else {\n            $this->error(\"Invalid Type, Please double check it\");\n            return false;\n        }\n\n        $this->compressModuleWiseImages($classObj, $storagePath, $imageColumn);\n    \n        $this->info(\"*************************************\");\n        $this->info(\"Process Completed....\");\n        $this->info(\"*************************************\");\n\n    }\n\n    protected function compressModuleWiseImages($model, $storagePath, $imageColumn = \"image\")\n    {\n        $images = $model->select([\"id\", $imageColumn])\n                        ->whereNotNull($imageColumn)\n                        ->get();\n\n\n        $this->info(\"===>>>> Total pet pro Records: \" . $images->count());\n        $this->info(\"*************************************************\");\n        \n        $totalimages = $images->count();\n        if($totalimages) {\n            $thumbPath = $storagePath . \"thumb/\";\n            $smallThumbPath = $storagePath . \"small-thumb/\";\n            $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n            $recCount = 0;\n\n            foreach ($images as $image) {\n                try {\n                   \n                    $recCount++;\n                    $oldImageName = $image->$imageColumn;\n                    $filePathInfo = pathinfo($oldImageName);\n                    $fileExtension = (isset($filePathInfo['extension']) && !empty($filePathInfo['extension'])) ? $filePathInfo['extension'] : \"jpg\" ;                  \n                    \n                    $oldThumbFilePath = $thumbPath . $oldImageName;\n\n\n                    if( Storage::exists($oldThumbFilePath) ) {\n                        $originalThumbImageContents = Storage::get($oldThumbFilePath);\n\n                        $thumbImageContent = Image::make($originalThumbImageContents)\n                                                    ->resize(500, null, function ($constraint) {\n                                                        $constraint->aspectRatio();\n                                                        $constraint->upsize();\n                                                    })\n                                                    ->orientate()\n                                                    ->encode($fileExtension);                                                            \n                        Storage::put($smallThumbPath . $oldImageName, $thumbImageContent);\n                    }                                            \n\n                    $this->info(\"----------------------------------\");\n                    $this->info(\"[\". $recCount .\"/$totalimages] Module ID: \" . $image->id);\n                    $this->info(\"New File: \" . $oldImageName . \"  <<-------->>  Old File: \" . $oldImageName);\n                    \n\n                } catch (\\Illuminate\\Contracts\\Filesystem\\FileNotFoundException $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error(\"File Not Found: \" . $e->getMessage());\n                } catch (Exception $e) {\n                    $this->error(\"Error for module id: \" . $image->id);\n                    $this->error($e->getMessage());\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/StateShortcodeScript.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse App\\Models\\State;\n\nclass StateShortcodeScript extends Command\n{\n    /**\n     * The name and signature of the console command.\n     *\n     * @var string\n     */\n    protected $signature = 'state:add-shortcode';\n\n    /**\n     * The console command description.\n     *\n     * @var string\n     */\n    protected $description = 'Command description';\n\n    /**\n     * Create a new command instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    /**\n     * Execute the console command.\n     *\n     * @return int\n     */\n    public function handle()\n    {\n        $states = State::where('country_id', 231)->get();\n        foreach($states as $state) {\n            $googleMapApiKey = config(\"wagenabled.google_map.api_key\");\n            $geo = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($state->name).'&key='.$googleMapApiKey);\n            $geo = json_decode($geo, true); // Convert the JSON to an array\n            if(isset($geo['results'][0])) {\n                foreach ($geo['results'][0]['address_components'] as $comp) {\n                    //loop through each component in ['address_components']\n                    foreach ($comp['types'] as $currType){\n                        //for every type in the current component, check if it = the check\n                        if($currType == 'country') {\n                            if($comp['long_name'] == $state->name) {\n                                $state->short_name = $comp['short_name'];\n                                $state->save();\n                            }\n                            if($comp['long_name'] == \"U.S. Virgin Islands\" && $state->name == 'Virgin Islands') {\n                                $state->short_name = $comp['short_name'];\n                                $state->save();\n                            }\n                        }\n                        if($currType == 'administrative_area_level_1'){\n                            if($comp['long_name'] == $state->name) {\n                                $state->short_name = $comp['short_name'];\n                                $state->save();\n                            } else {\n                                if($state->name == 'Armed Forces America') {\n                                    $state->short_name = 'AA';\n                                }\n                                if($state->name == 'Armed Forces Europe') {\n                                    $state->short_name = 'AE';\n                                }\n                                $state->save();\n                            }\n                            //Do whatever with the component, print longname, whatever you need\n                            //You can add $comp into another array to have an array of 'administrative_area_level_1' types\n                        }\n                    }\n                }\n            } else {\n                if($state->name == 'Armed Forces Pacific') {\n                    $state->short_name = 'AP';\n                    $state->save();\n                }\n            }\n            echo $state->name.\"\\n\";\n        }\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/UpdateValidCitiesFlagCommand.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse App\\Models\\City;\n\nclass UpdateValidCitiesFlagCommand extends Command\n{\n    protected $signature = 'update:cities';\n\n    protected $description = 'update valid city flag to 1';\n\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    public function handle()\n    {\n\t\t$model = new City;\n\n        $model->setConnection('mysql2');\n\n        $citiesFromNextplay = $model->pluck('name')->toArray();\n\t\t\n\t\t$model->setConnection('mysql');\n\t\t\n\t\t$cities = $model->whereIn('name', $citiesFromNextplay)->update([\n\t\t\t'is_valid' => 1\n\t\t]);\n    }\n}\n"
  },
  {
    "path": "app/Console/Commands/addExistingPetProCategoriesCommand.php",
    "content": "<?php\n\nnamespace App\\Console\\Commands;\n\nuse Illuminate\\Console\\Command;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProSelectedCategory;\nuse Carbon\\Carbon;\n\nclass addExistingPetProCategoriesCommand extends Command\n{\n    protected $signature = 'add:petprocategory';\n\n    protected $description = 'add existing pet pro categories in new table';\n\n    public function __construct()\n    {\n        parent::__construct();\n    }\n\n    public function handle()\n    {\n\t\t$currentTime = Carbon::now();  \n\t\t$petPros = PetPro::select(['id', 'category_id'])->get();\n\t\tforeach ($petPros as $key => $petPro) {\n\t\t\tPetProSelectedCategory::create([\n\t\t\t\t\"pet_pro_id\" => $petPro->id,\n\t\t\t\t\"category_id\" => $petPro->category_id,\n\t\t\t\t\"created_at\" => $currentTime,\n\t\t\t\t\"updated_at\" => $currentTime,\n\t\t\t]);\n\t\t}\n    }\n}\n"
  },
  {
    "path": "app/Console/Kernel.php",
    "content": "<?php\n\nnamespace App\\Console;\n\nuse Illuminate\\Console\\Scheduling\\Schedule;\nuse Illuminate\\Foundation\\Console\\Kernel as ConsoleKernel;\n\nclass Kernel extends ConsoleKernel\n{\n    /**\n     * The Artisan commands provided by your application.\n     *\n     * @var array\n     */\n    protected $commands = [\n        //\n    ];\n\n    /**\n     * Define the application's command schedule.\n     *\n     * @param  \\Illuminate\\Console\\Scheduling\\Schedule  $schedule\n     * @return void\n     */\n    protected function schedule(Schedule $schedule)\n    {\n        // $schedule->command('inspire')->hourly();\n    }\n\n    /**\n     * Register the commands for the application.\n     *\n     * @return void\n     */\n    protected function commands()\n    {\n        $this->load(__DIR__.'/Commands');\n\n        require base_path('routes/console.php');\n    }\n}\n"
  },
  {
    "path": "app/Exceptions/Handler.php",
    "content": "<?php\n\nnamespace App\\Exceptions;\n\nuse Illuminate\\Foundation\\Exceptions\\Handler as ExceptionHandler;\nuse Throwable;\n\nclass Handler extends ExceptionHandler\n{\n    /**\n     * A list of the exception types that are not reported.\n     *\n     * @var array\n     */\n    protected $dontReport = [\n        //\n    ];\n\n    /**\n     * A list of the inputs that are never flashed for validation exceptions.\n     *\n     * @var array\n     */\n    protected $dontFlash = [\n        'password',\n        'password_confirmation',\n    ];\n\n    /**\n     * Report or log an exception.\n     *\n     * @param  \\Throwable  $exception\n     * @return void\n     *\n     * @throws \\Exception\n     */\n    public function report(Throwable $exception)\n    {\n        parent::report($exception);\n    }\n\n    /**\n     * Render an exception into an HTTP response.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Throwable  $exception\n     * @return \\Symfony\\Component\\HttpFoundation\\Response\n     *\n     * @throws \\Throwable\n     */\n    public function render($request, Throwable $exception)\n    {\n        return parent::render($request, $exception);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/AdminUsersController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\AdminUsersRequest;\nuse App\\Models\\AdminUser;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass AdminUsersController extends Controller\n{\n    public function __construct(AdminUser $model)\n    {        \n        $this->moduleName = \"Admin Users\";\n        $this->singularModuleName = \"Admin User\";\n        $this->moduleRoute = url('admin/admin-users');\n        $this->moduleView = \"admin.main.admin-users\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->orderBy('id', 'desc');\n\n        return Datatables::of($result)->addIndexColumn()->make(true);        \n    }\n    \n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n \n    public function store(AdminUsersRequest $request)\n    {\n        $input = $request->except(['_token']);\n\n        try {\n            $input['password'] = Hash::make($request->password);\n            $isSaved = $this->model->create($input);\n\n            if ($isSaved) {\n                return redirect($this->moduleRoute)->with(\"success\", \"Admin user created\");\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {        \n\n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Admin user not found\");\n    }\n   \n    public function update(AdminUsersRequest $request, $id)\n    {               \n        $ignore_field = ['_token'];\n        if( ! $request->password ) {\n           array_push($ignore_field ,'password');\n        } \n        $input = $request->except($ignore_field);        \n        try {\n            $result = $this->model->find($id);            \n\n            if ($result) {              \n               \n                if ($request->password != \"\" && $request->password) {\n                    $input['password'] = Hash::make($request->password);\n                }\n\n                $isSaved = $result->update($input);\n            \n                if ($isSaved) {\n                    return redirect($this->moduleRoute)->with(\"success\", \"Admin user updated\");\n                }\n            }\n\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n\n        $data = $this->model->find($id);\n\n        if ($data) {            \n            if( ! $data->is_super ) {\n                $res = $data->delete();\n                if ($res) {\n                    $result['message'] =  \"Admin user deleted.\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while deleting admin user\";\n                    $result['code'] = 400;\n                }\n            }\n            else {\n                $result['message'] = \"You can not delete super admin!\";\n                $result['code'] = 400;\n            }\n           \n        } else {\n            $result['message'] = \"Admin user not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/Auth/LoginController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\AuthenticatesUsers;\nuse Illuminate\\Http\\Request;\nuse Auth;\n\nclass LoginController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Login Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller handles authenticating users for the application and\n    | redirecting them to your home screen. The controller uses a trait\n    | to conveniently provide its functionality to your applications.\n    |\n    */\n\n    use AuthenticatesUsers;\n\n    /**\n     * Where to redirect users after login.\n     *\n     * @var string\n     */\n    protected $redirectTo = '/admin';\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        //$this->middleware('guest:admin')->except('logout');\n    }\n\n    public function showLoginForm()\n    {\n        if ( !empty(auth()->guard('admin')->id()) ) {\n            return redirect(\"admin\");\n        }\n        return view('admin.auth.login');\n    }\n\n    function login(Request $request)\n    {\n        $request->validate([\n            'email' => 'required|email|max:255',\n            'password' => 'required|min:6',\n        ]);\n      \n        $input = $request->all();\n\n        if (Auth::guard('admin')->attempt(['email' => $input['email'], 'password' => $input['password']])) {\n            // Authentication passed...\n            return redirect(\"admin\");\n        }\n        else {\n            $request->session()->flash('error', 'Invalid Login Information');\n            return redirect()->to(url('/admin/login'))->withInput($request->all());\n        }\n    }\n\n    protected function credentials(Request $request)\n    {\n        return array_merge($request->only($this->username(), 'password'), ['active' => '1']);\n    }\n\n    public function logout()\n    {\n        Auth::guard('admin')->logout();\n        return redirect('admin/login');\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/BusinessRequestsController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\BusinessRequest;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass BusinessRequestsController extends Controller\n{\n    public function __construct(BusinessRequest $model)\n    {        \n        $this->moduleName = \"Business Requests\";\n        $this->singularModuleName = \"Business Request\";\n        $this->moduleRoute = url('admin/business-requests');\n        $this->moduleView = \"admin.main.business-requests\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->orderBy('id', 'desc');\n        return Datatables::of($result)\n        ->editColumn('message', function ($result) {\n            if( $result->message  ) {\n                if( strlen($result->message) > 50 ){\n                    return substr($result->message, 0, 50).'...';\n                }\n            }\n            return $result->message;            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {\n        \n    }\n \n    public function store(Request $request)\n    {       \n\n    }\n\n    public function show($id)\n    {        \n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"$this->moduleView.show\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Admin user not found\");\n    }\n    \n    public function edit($id)\n    {\n       \n    }\n   \n    public function update(Request $request, $id)\n    {   \n\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n\n        if ($data) {                   \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"User deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting user\";\n                $result['code'] = 400;\n            }          \n           \n        } else {\n            $result['message'] = \"User not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/ContactsController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\Contact;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass ContactsController extends Controller\n{\n    public function __construct(Contact $model)\n    {        \n        $this->moduleName = \"Contacts\";\n        $this->singularModuleName = \"Contact\";\n        $this->moduleRoute = url('admin/contacts');\n        $this->moduleView = \"admin.main.contacts\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->orderBy('id', 'desc');\n        return Datatables::of($result)\n        ->editColumn('message', function ($result) {\n            if( $result->message  ) {\n                if( strlen($result->message) > 50 ){\n                    return substr($result->message, 0, 50).'...';\n                }\n            }\n            return $result->message;            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {\n        \n    }\n \n    public function store(Request $request)\n    {       \n\n    }\n\n    public function show($id)\n    {        \n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"$this->moduleView.show\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Admin user not found\");\n    }\n    \n    public function edit($id)\n    {\n       \n    }\n   \n    public function update(Request $request, $id)\n    {   \n\n    }\n  \n    public function destroy($id)\n    {\n            \n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/DashboardController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProDeal;\nuse App\\Models\\PetProDealClaim;\nuse App\\Models\\User;\nuse App\\Models\\WatchAndLearnDeal;\nuse App\\Models\\WatchAndLearnDealClaim;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass DashboardController extends Controller\n{   \n    public function index()\n    {      \n        $monthStart = Carbon::today()->startOfMonth()->format('m-d-Y');            \n        $monthEnd = Carbon::now()->format('m-d-Y');   \n\n        $users_count = User::count();\n        $pet_pros_count = PetPro::count();\n        $pet_pro_deals_count = PetProDeal::count();\n        $pet_pro_deal_claimed_count = PetProDealClaim::count();\n        $watch_and_learn_deals_count = WatchAndLearnDeal::count();\n        $watch_and_learn_deal_claimed_count = WatchAndLearnDealClaim::count();\n\n        return view('admin.main.dashboard', compact('users_count', 'pet_pros_count', 'pet_pro_deals_count', 'pet_pro_deal_claimed_count', 'monthStart', 'monthEnd', 'watch_and_learn_deals_count', 'watch_and_learn_deal_claimed_count'));\n    }\n\n    public function getUsersGraphData(Request $request)\n    { \n        $code = config(\"wagenabled.status_codes.normal_error\");\n        $message = \"\";\n        $graph_data = [];\n        $graph_key = [];\n        $graph_value = [];\n\n        try {\n\n            $monthStart = Carbon::createFromFormat('m-d-Y', $request->get('monthStart'));           \n            $monthEnd = Carbon::createFromFormat('m-d-Y', $request->get('monthEnd')); \n            \n            $dayCount = $monthEnd->diffInDays($monthStart);\n           \n            $today = Carbon::today();\n            $start = $monthStart; \n\n            for ($i = 0 ; $i <= $dayCount; $i++) {   \n                $dates[$start->copy()->addDays($i)->format('m-d-Y')] = 0;         \n                $graph_key[] = $start->copy()->addDays($i)->format('m-d-y');         \n            } \n\n            $user_raw = User::select([DB::raw('DATE_FORMAT(created_at,  \"%m-%d-%Y\") as date') ,DB::raw('count(id) as total_users')])->whereDate('created_at', $monthEnd)->first();   \n          \n            //monthly uploaded apps\n            $user_monthly_raw = User::select([\"*\", DB::raw('DATE_FORMAT(created_at, \"%m-%d-%Y\") as date'),DB::raw('count(id) as total_count') ])->whereBetween('created_at', [ $monthStart->setTime(0,0)->format('Y-m-d H:i:s'), $monthEnd->setTime(0,0)->format('Y-m-d H:i:s') ] )->groupBy(\"date\")->orderBy('date', 'asc')->get()->toArray();\n            \n            $users_monthly = array(); \n            foreach($user_monthly_raw as $month_array) {\n                $users_monthly[$month_array[\"date\"]] = $month_array[\"total_count\"];\n            }  \n            if( $user_raw->date ) {\n                $users_monthly[$user_raw->date] = $user_raw->total_users;            \n            }\n\n            $graph_value = (array_values(array_replace($dates, $users_monthly)) );        \n            $graph_data['graph_key'] = $graph_key;\n            $graph_data['graph_value'] = $graph_value;        \n            $code = config(\"wagenabled.status_codes.success\");\n\n        }\n        catch (Exception $e) {\n            $message = \"Please, try again!\";\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($graph_data, $code, $message);\n    }\n    \n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/NewslettersController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\Newsletter;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass NewslettersController extends Controller\n{\n    public function __construct(Newsletter $model)\n    {        \n        $this->moduleName = \"Newsletters\";\n        $this->singularModuleName = \"Newsletter\";\n        $this->moduleRoute = url('admin/newsletters');\n        $this->moduleView = \"admin.main.newsletters\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->orderBy('id', 'desc');\n        return Datatables::of($result)        \n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {\n        \n    }\n \n    public function store(Request $request)\n    {       \n\n    }\n\n    public function show($id)\n    {               \n    }\n    \n    public function edit($id)\n    {\n       \n    }\n   \n    public function update(Request $request, $id)\n    {   \n\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n\n        if ($data) {                   \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"User deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting user\";\n                $result['code'] = 400;\n            }          \n           \n        } else {\n            $result['message'] = \"User not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProBusinessController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetProBusinessRequest;\nuse App\\Models\\BusinessNature;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProBusinessController extends Controller\n{\n    public function __construct(BusinessNature $model)\n    {\n        $this->moduleName = \"Pet Pro Business\";\n        $this->singularModuleName = \"Pet Pro business\";\n        $this->moduleRoute = url('admin/pet-pro-business');\n        $this->moduleView = \"admin.main.pet-pro-business\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->withCount('petPro')->orderBy('name', 'asc');\n        \\Log::error(json_encode($result));\n        return Datatables::of($result)->addIndexColumn()->make(true);\n    }\n\n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n\n    public function store(PetProBusinessRequest $request)\n    {\n        $input = $request->except(['_token']);\n\n        $isExist = $this->model->where('name', '=', $input['name'])->withTrashed()->first();\n        if ($isExist) {\n            if ($isExist->deleted_at == null) {\n                return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro business nature alerady exist\");\n            } else {\n                $isExist->deleted_at = null;\n                $isExist->save();\n                return redirect($this->moduleRoute)->with(\"success\", \"Pet pro business nature created\");\n            }\n        }\n        try {\n            $isSaved = $this->model->create($input);\n            if ($isSaved) {\n                return redirect($this->moduleRoute)->with(\"success\", \"Pet pro business nature created\");\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {\n\n    }\n\n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro business nature not found\");\n    }\n\n    public function update(PetProBusinessRequest $request, $id)\n    {\n        $input = $request->except(['_token']);\n        $isExist = $this->model->where('name', '=', $input['name'])->where('id', '!=', $id)->first();\n        if ($isExist) {\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro business nature already exist\");\n        } else {\n            try {\n                $result = $this->model->find($id);\n                if ($result) {\n                    $isSaved = $result->update($input);\n                    if ($isSaved) {\n                        return redirect($this->moduleRoute)->with(\"success\", \"Pet pro business nature updated\");\n                    }\n                }\n                return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n            } catch (\\Exception $e) {\n                return redirect($this->moduleRoute)->with('error', $e->getMessage());\n            }\n        }\n    }\n\n    public function destroy($id)\n    {\n        $result = array();\n\n        $data = $this->model->find($id);\n\n        if ($data) {\n\n            $res = $data->delete();\n            if ($res) {\n                $result['message'] = \"Pet pro busniess nature deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting watch and learn business nature\";\n                $result['code'] = 400;\n            }\n\n        } else {\n            $result['message'] = \"Pet pro business nature not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProCategoriesController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetProCategoriesRequest;\nuse App\\Models\\PetProCategory;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProCategoriesController extends Controller\n{\n    public function __construct(PetProCategory $model)\n    {        \n        $this->moduleName = \"Pet Pro Categories\";\n        $this->singularModuleName = \"Pet Pro Category\";\n        $this->moduleRoute = url('admin/pet-pro-categories');\n        $this->moduleView = \"admin.main.pet-pro-categories\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->withCount('petPro')->orderBy('name', 'asc');\n\n        return Datatables::of($result)->addIndexColumn()->make(true);        \n    }\n    \n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n \n    public function store(PetProCategoriesRequest $request)\n    {\n\t\t$input = $request->except(['_token']);\n\t\t\n\t\t$isExist = $this->model->where('name', '=', $input['name'])->withTrashed()->first();\n\t\tif($isExist){\n\t\t\tif($isExist->deleted_at == null){\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro category alerady exist\");\n\t\t\t} else {\n\t\t\t\t$isExist->deleted_at = null;\n\t\t\t\t$isExist->save();\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Pet pro category created\");\n\t\t\t}\n\t\t}\n        try {           \n            $isSaved = $this->model->create($input);\n            if ($isSaved) {\n                return redirect($this->moduleRoute)->with(\"success\", \"Pet pro category created\");\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {        \n\n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro category not found\");\n    }\n   \n    public function update(PetProCategoriesRequest $request, $id)\n    {               \n\t\t$input = $request->except(['_token']);      \n\t\t$isExist = $this->model->where('name', '=', $input['name'])->where('id', '!=', $id)->first();\n\t\tif($isExist){\n\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro category alerady exist\");\n\t\t} else { \n\t\t\ttry {\n\t\t\t\t$result = $this->model->find($id);            \n\t\t\t\tif ($result) {                                  \n\t\t\t\t\t$isSaved = $result->update($input);        \n\t\t\t\t\tif ($isSaved) {\n\t\t\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Pet pro category updated\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n\t\t\t} catch (\\Exception $e) {            \n\t\t\t\treturn redirect($this->moduleRoute)->with('error', $e->getMessage());\n\t\t\t}\n\t\t}\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n\n        $data = $this->model->find($id);\n\n        if ($data) {            \n          \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"Pet pro category deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting watch and learn category\";\n                $result['code'] = 400;\n            }\n                       \n           \n        } else {\n            $result['message'] = \"Pet pro category not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProDealsController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetProDealRequest;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProDeal;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProDealsController extends Controller\n{\n    public function __construct(PetProDeal $model)\n    {            \n        $this->moduleName = \"Pet Pro Deals\";\n        $this->singularModuleName = \"Pet Pro Deal\";\n        $this->moduleView = \"admin.main.pet-pro-deals\";\n        $this->moduleRoute = url('admin/pet-pros');\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request, $pet_pro_id)\n    {\n        $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/deals');\n        View::share('module_route', $moduleRoute);\n\n        $result = $this->model->select(\"*\")->where('pet_pro_id', $pet_pro_id)->orderBy('id', 'desc');\n        return Datatables::of($result)\n        ->addColumn('claimed', function ($result) {            \n            return $result->claims->count();            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create($pet_pro_id)\n    {\n        $petPro = PetPro::find($pet_pro_id);\n        if( $petPro ) {\n            $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/deals');\n            View::share('module_route', $moduleRoute);\n            return view(\"admin.main.pet-pro-deals.create\", compact('pet_pro_id'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n    }\n \n    public function store(PetProDealRequest $request, $pet_pro_id)\n    {\n        $input = $request->except(['_token']);\n        try {    \n            $petPro = PetPro::find($pet_pro_id);\n            if( $petPro ) {\n                $input[\"pet_pro_id\"] = $pet_pro_id;\n                $isSaved = $this->model->create($input);\n                if ($isSaved) {\n                    return redirect($this->moduleRoute.'/'.$pet_pro_id.'/edit')->with(\"success\", \"Pet pro deal created\");\n                }            \n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function edit($pet_pro_id, $id)\n    {\n        $petPro = PetPro::find($pet_pro_id);\n        if( $petPro ) {\n            $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/deals');\n            View::share('module_route', $moduleRoute);\n            $result = $this->model->find($id);\n            if ($result) {\n                return view(\"admin.main.pet-pro-deals.edit\", compact(\"result\", \"pet_pro_id\"));\n            }\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro deal not found\");\n    }\n   \n    public function update(PetProDealRequest $request, $pet_pro_id, $id)\n    {               \n        $input = $request->except(['_token']);       \n        try {\n            $petPro = PetPro::find($pet_pro_id);\n            if( $petPro ) {\n                $result = $this->model->find($id);            \n                if ($result) {                                  \n                    $isSaved = $result->update($input);        \n                    if ($isSaved) {\n                        return redirect($this->moduleRoute.'/'.$pet_pro_id.'/edit')->with(\"success\", \"Pet pro deal updated\");\n                    }\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n    \n    public function changeStatus($pet_pro_id, $id)\n    {\n        $result = array();\n        $petPro = PetPro::find($pet_pro_id);     \n\n        if ($petPro) {            \n            $data = $this->model->find($id);\n            if ($data) { \n                \n                if($data->status == 'active' ) {\n                    $data->status = 'pause';\n                } else {\n                    $data->status = 'active';\n                }\n                $isSaved = $data->save();\n\n                if ($isSaved) {\n                    $result['message'] =  \"Change pet pro status\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while change pet pro status\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro deal not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n\n    public function destroy($pet_pro_id, $id)\n    {\n        $result = array();\n        $petPro = PetPro::find($pet_pro_id);     \n\n        if ($petPro) {            \n            $data = $this->model->find($id);\n            if ($data) { \n                $res = $data->delete();\n                if ($res) {\n                    $result['message'] =  \"Pet pro deal deleted.\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while deleting pet pro deal\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro deal not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProEventsController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetProEventRequest;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProEvent;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProEventsController extends Controller\n{\n    public function __construct(PetProEvent $model)\n    {            \n        $this->moduleName = \"Pet Pro Events\";\n        $this->singularModuleName = \"Pet Pro Event\";\n        $this->moduleView = \"admin.main.pet-pro-events\";\n        $this->moduleRoute = url('admin/pet-pros');\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request, $pet_pro_id)\n    {\n        $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/events');\n        View::share('module_route', $moduleRoute);\n\n        $result = $this->model->select(\"*\")->where('pet_pro_id', $pet_pro_id)->orderBy('id', 'desc');\n        return Datatables::of($result)\n        ->addColumn('time', function ($result) {            \n            return $result->start_time.' - '.$result->end_time;            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create($pet_pro_id)\n    {\n        $petPro = PetPro::find($pet_pro_id);\n        if( $petPro ) {\n            $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/events');\n            View::share('module_route', $moduleRoute);\n            return view(\"admin.main.pet-pro-events.create\", compact('pet_pro_id'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n    }\n \n    public function store(PetProEventRequest $request, $pet_pro_id)\n    {\n        $input = $request->except(['_token']);\n        try {    \n            $petPro = PetPro::find($pet_pro_id);\n            if( $petPro ) {\n                $input[\"pet_pro_id\"] = $pet_pro_id;\n                if( isset($input[\"start_time\"]) ) {\n                    $input[\"start_time\"] =  Carbon::parse( $input[\"start_time\"])->format('H:i:s');                    \n                }               \n\n                if( isset($input[\"end_time\"]) ) {\n                    $input[\"end_time\"] =  Carbon::parse( $input[\"end_time\"])->format('H:i:s');                    \n                }\n                                \n                $isSaved = $this->model->create($input);\n                if ($isSaved) {\n                    return redirect($this->moduleRoute.'/'.$pet_pro_id.'/edit')->with(\"success\", \"Pet Pro event created\");\n                }            \n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function edit($pet_pro_id, $id)\n    {\n        $petPro = PetPro::find($pet_pro_id);\n        if( $petPro ) {\n            $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/events');\n            View::share('module_route', $moduleRoute);\n            $result = $this->model->find($id);\n            if ($result) {\n                return view(\"admin.main.pet-pro-events.edit\", compact(\"result\", \"pet_pro_id\"));\n            }\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet Pro event not found\");\n    }\n   \n    public function update(PetProEventRequest $request, $pet_pro_id, $id)\n    {               \n        $input = $request->except(['_token']);       \n        try {\n            $petPro = PetPro::find($pet_pro_id);\n            if( $petPro ) {\n\n                $result = $this->model->find($id);            \n                if ($result) {  \n\n                    if( isset($input[\"start_time\"]) ) {\n                        $input[\"start_time\"] =  Carbon::parse( $input[\"start_time\"])->format('H:i:s');                    \n                    }\n                    else {\n                        $input[\"start_time\"] = null;                 \n                    } \n\n                    if( isset($input[\"end_time\"]) ) {\n                        $input[\"end_time\"] =  Carbon::parse( $input[\"end_time\"])->format('H:i:s');                    \n                    }\n                    else {\n                        $input[\"end_time\"] = null;                 \n                    } \n\n\n                    $isSaved = $result->update($input);        \n                    if ($isSaved) {\n                        return redirect($this->moduleRoute.'/'.$pet_pro_id.'/edit')->with(\"success\", \"Pet Pro event updated\");\n                    }\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n\n    public function changeStatus($pet_pro_id, $id)\n    {\n        $result = array();\n        $petPro = PetPro::find($pet_pro_id);     \n\n        if ($petPro) {            \n            $data = $this->model->find($id);\n            if ($data) { \n                \n                if($data->status == 'active' ) {\n                    $data->status = 'pause';\n                } else {\n                    $data->status = 'active';\n                }\n                $isSaved = $data->save();\n\n                if ($isSaved) {\n                    $result['message'] =  \"Change pet pro status\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while change pet pro status\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro deal not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n\n  \n    public function destroy($pet_pro_id, $id)\n    {\n        $result = array();\n        $petPro = PetPro::find($pet_pro_id);     \n\n        if ($petPro) {            \n            $data = $this->model->find($id);\n            if ($data) { \n                $res = $data->delete();\n                if ($res) {\n                    $result['message'] =  \"Pet pro event deleted.\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while deleting pet pro event\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro event not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProGalleriesController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetProGalleryRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProGallery;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProGalleriesController extends Controller\n{\n    public function __construct(PetProGallery $model)\n    {     \n        set_time_limit(0);       \n        $this->moduleName = \"Pet Pro Galleries\";\n        $this->singularModuleName = \"Pet Pro Gallery\";\n        $this->moduleView = \"admin.main.pet-pro-gallery\";\n        $this->moduleRoute = url('admin/pet-pros');\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n\n    }\n\n    public function getDatatable(Request $request, $pet_pro_id)\n    {\n    \n    }\n    \n    public function create($pet_pro_id)\n    {\n        $petPro = PetPro::find($pet_pro_id);\n        if( $petPro ) {\n            $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/gallery');\n            View::share('module_route', $moduleRoute);\n            return view(\"admin.main.pet-pro-gallery.create\", compact('pet_pro_id'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n    }\n \n    public function store(PetProGalleryRequest $request, $pet_pro_id)\n    {   \n        $input = [];\n        try {    \n            $petPro = PetPro::find($pet_pro_id);\n            if( $petPro ) {\n                \n                $input[\"pet_pro_id\"] = $pet_pro_id;\n\n                foreach ($request->row as $index => $row) {\n                    if( isset($row[\"image\"]) ) {       \n                        if(! $row['cropped_image'] ) {\n                            $isCreateThumb=\"0\";\n                            $input[\"is_cropped_image\"] = 0;\n                        } else {\n                            $isCreateThumb=\"1\";\n                            $input[\"is_cropped_image\"] = 1;\n                        }\n                        $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), \"\", $isCreateThumb, $height=250, $width=250, $row['cropped_image']);            \n                        if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                            $input[\"gallery_image\"] = $imageStore['name'];                    \n                        }                                          \n                        if( $request->get('is_cover_image') ){\n                            if( $index == $request->get('is_cover_image') ) {\n                                $input['is_cover_image'] = 1;\n                                PetProGallery::where('pet_pro_id', $pet_pro_id)->update(['is_cover_image' => 0]); \n                            }\n                        }\n                        $isSaved = $this->model->create($input);                    \n                    }   \n                }   \n\n                return WagEnabledHelpers::apiJsonResponse([] , config(\"wagenabled.status_codes.success\"), 'File Uploaded Successfully');                    \n                //return redirect($this->moduleRoute.'/'.$pet_pro_id.'/edit')->with(\"success\", \"Pet pro gallery created\");\n                        \n            }\n            return WagEnabledHelpers::apiJsonResponse([] , config(\"wagenabled.status_codes.normal_error\"), 'Sorry, Something went wrong please try again');                    \n            //return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return WagEnabledHelpers::apiJsonResponse([] , config(\"wagenabled.status_codes.normal_error\"), $e->getMessage());                    \n            //return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function edit($pet_pro_id, $id)\n    {\n        $petPro = PetPro::find($pet_pro_id);\n        if( $petPro ) {\n            $moduleRoute = url('admin/pet-pros/'.$pet_pro_id.'/gallery');\n            View::share('module_route', $moduleRoute);\n            $result = $this->model->find($id);\n            if ($result) {\n                return view(\"admin.main.pet-pro-gallery.edit\", compact(\"result\", \"pet_pro_id\"));\n            }\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro gallery not found\");\n    }\n   \n    public function update(PetProGalleryRequest $request, $pet_pro_id, $id)\n    {         \n        $input = [];       \n        try {\n            $petPro = PetPro::find($pet_pro_id);\n            if( $petPro ) {\n                $result = $this->model->find($id);            \n                if ($result) {  \n\n                    if ($request->file('image', false)) {    \n                        if(! $request->get('cropped_image')) {\n                            $isCreateThumb=\"0\";\n                            $input[\"is_cropped_image\"] = 0;\n                        } else {\n                            $isCreateThumb=\"1\";\n                            $input[\"is_cropped_image\"] = 1;\n                        }    \n                        $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), $result->gallery_image, $isCreateThumb, $height=250, $width=250, $request->get('cropped_image'));            \n                        if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                            $input[\"gallery_image\"] = $imageStore['name'];                    \n                        }                    \n                    } \n\n                    if( $request->get('is_cover_image') ) {\n                        $input['is_cover_image'] = 1;                        \n                        PetProGallery::where('pet_pro_id', $pet_pro_id)->where('id', \"!=\", $result->id )->update(['is_cover_image' => 0]);\n                    } else {                       \n                        $input['is_cover_image'] = 0;                        \n                    }\n\n                    $isSaved = $result->update($input);        \n                    if ($isSaved) {\n                        return WagEnabledHelpers::apiJsonResponse([] , config(\"wagenabled.status_codes.success\"), 'Pet pro gallery updated');   \n                        //return redirect($this->moduleRoute.'/'.$pet_pro_id.'/edit')->with(\"success\", \"Pet pro gallery updated\");\n                    }\n                }\n            }\n            return WagEnabledHelpers::apiJsonResponse([] , config(\"wagenabled.status_codes.normal_error\"), 'Sorry, Something went wrong please try again'); \n\n        } catch (\\Exception $e) {            \n            return WagEnabledHelpers::apiJsonResponse([] , config(\"wagenabled.status_codes.server_side\"), $e->getMessage());\n        }\n    }\n\n    public function destroy($pet_pro_id, $id)\n    {\n        $result = array();\n        $petPro = PetPro::find($pet_pro_id);     \n\n        if ($petPro) {            \n            $data = $this->model->find($id);\n            if ($data) { \n\n                $fileOldName = $data->gallery_image;        \n                $res = $data->delete();\n                \n                if( $fileOldName ) {\n                    // delete old file \n                    $deleteFileList = array();\n                    $deleteFileList[] =  config(\"wagenabled.path.doc.pet_pro_gallery_image_path\").$fileOldName;\n                    $deleteFileList[] =  config(\"wagenabled.path.doc.pet_pro_gallery_image_path\").'thumb/'.$fileOldName;\n                    WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n                }\n                if ($res) {\n                    $result['message'] =  \"Pet pro gallery deleted.\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while deleting pet pro gallery\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro gallery not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProsController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetProRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Library\\GoogleMapHelper;\nuse App\\Models\\BusinessNature;\nuse App\\Models\\City;\nuse App\\Models\\Country;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProCategory;\nuse App\\Models\\PetProGallery;\nuse App\\Models\\PetProServicesOffered;\nuse App\\Models\\PetProTimetable;\nuse App\\Models\\PetType;\nuse App\\Models\\State;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProsController extends Controller\n{\n    public function __construct(PetPro $model)\n    {\n        set_time_limit(0);\n        ini_set('memory_limit', -1);\n        $this->moduleName = \"Pet Pros\";\n        $this->singularModuleName = \"Pet Pro\";\n        $this->moduleRoute = url('admin/pet-pros');\n        $this->moduleView = \"admin.main.pet-pros\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        // $result = $this->model->where('status', 'approved')->with('categories', 'city', 'state')->orderBy('id', 'desc')->get();\n        // dd($result);\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->where('status', 'approved')->with('categories', 'city', 'state')->orderBy('id', 'desc')->get();\n        return Datatables::of($result)\n            ->addColumn('city_state', function ($result) {\n                $str = \"\";\n                if ($result->city_id) {\n                    $str .= $result->city->name;\n                }\n                if ($result->state_id) {\n                    $str .= ', ' . $result->state->name;\n                }\n                return $str;\n            })\n            ->addIndexColumn()\n            ->make(true);\n    }\n\n    public function create()\n    {\n        $countries = Country::pluck('name', 'id')->toArray();\n        $states = [];\n        $cities = [];\n\n        $categories = PetProCategory::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        $businessNatures = BusinessNature::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        $petType = PetType::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        return view(\"$this->moduleView.create\", compact('categories', 'countries', 'states', 'cities', 'businessNatures', 'petType'));\n    }\n\n    public function store(PetProRequest $request)\n    {\n\n        $pet_pro_input = $request->only(['store_name', 'website_url', 'email', 'phone_number', 'address_line_1', 'address_line_2', 'postal_code', 'description']);\n        $time_input = $request->only(['monday_open', 'monday_close', 'tuesday_open', 'tuesday_close', 'wednesday_open', 'wednesday_close', 'thursday_open', 'thursday_close', 'friday_open', 'friday_close', 'saturday_open', 'saturday_close', 'sunday_open', 'sunday_close']);\n        $inputCategories = $request['category_id'];\n        $inputBusinessNatures = $request['business_id'];\n        $inputPetType = $request['pet_type_id'];\n\n        try {\n            if ($request->get('is_featured_pet_pro')) {\n                $pet_pro_input['is_featured_pet_pro'] = 1;\n                $pet_pro_input['featured_title'] = $request->get('featured_title');\n                $pet_pro_input['featured_description'] = $request->get('featured_description');\n            }\n\n            $isSaved = $this->model->create($pet_pro_input);\n            $pet_pro = $this->model->where('id', $isSaved->id)->first();\n            if ($request->country_id && $request->state_id && $request->city_id) {\n                foreach ($request->country_id as $index => $row) {\n                    $city_latitude = null;\n                    $city_longitude = null;\n                    $city = City::where('id', $request->city_id[$index])->first();\n                    if ($city) {\n                        $city_latitude = $city->city_latitude;\n                        $city_longitude = $city->city_longitude;\n                    }\n                    $pet_pro->countries()->attach($row, ['state_id' => $request->state_id[$index], 'city_id' => $request->city_id[$index], 'latitude' => $city_latitude, 'longitude' => $city_longitude]);\n                }\n            }\n            // $city =  City::where('id',$isSaved->city_id)->first();\n            // if($city){\n            //     $this->model->where('id', $id)->update([\n            //         \"latitude\" => $city->city_latitude,\n            //         \"longitude\" => $city->city_longitude,\n            //     ]);\n            // }\n            if ($isSaved) {\n                if (count($inputCategories)) {\n                    $currentTime = Carbon::now();\n                    $insertArray = [];\n                    foreach ($inputCategories as $categoryId) {\n                        $insertArray[] = [\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"category_id\" => $categoryId,\n                            \"created_at\" => $currentTime,\n                            \"updated_at\" => $currentTime,\n                        ];\n                    }\n                    $isSaved->categories()->insert($insertArray);\n                }\n\n                if (count($inputBusinessNatures)) {\n                    $currentTime = Carbon::now();\n                    $insertArray = [];\n                    foreach ($inputBusinessNatures as $businessId) {\n                        $insertArray[] = [\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"business_id\" => $businessId,\n                            \"created_at\" => $currentTime,\n                            \"updated_at\" => $currentTime,\n                        ];\n                    }\n                    $isSaved->business()->insert($insertArray);\n                }\n                if (count($inputPetType)) {\n                    $currentTime = Carbon::now();\n                    $insertArray = [];\n                    foreach ($inputPetType as $petType) {\n                        $insertArray[] = [\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"pet_type_id\" => $petType,\n                            \"created_at\" => $currentTime,\n                            \"updated_at\" => $currentTime,\n                        ];\n                    }\n                    $isSaved->petType()->insert($insertArray);\n                }\n                if ($isSaved->address_line_1 || $isSaved->address_line_2 || $isSaved->city_id || $isSaved->state_id || $isSaved->postal_code) {\n                    $addressLatLong = GoogleMapHelper::getLatLongFromAddress($isSaved);\n                    $isSaved->update($addressLatLong);\n                }\n                /*$googleData = GoogleMapHelper::getTimezone($isSaved);\n                if( $googleData[\"timezone\"] ) {\n                $isSaved->timezone = Carbon::now()->timezone($googleData[\"timezone\"])->format('P');\n                $isSaved->save();\n                } else {\n                $isSaved->timezone = 'GMT-4';\n                $isSaved->save();\n                }*/\n\n                $days = config('wagenabled.days');\n                //if( $isSaved->timezone ) {\n                foreach ($days as $day) {\n                    $open_day = $day . \"_open\";\n                    $close_day = $day . \"_close\";\n\n                    if (isset($time_input[$open_day])) {\n                        $time_input[$open_day] = Carbon::parse($time_input[$open_day]/*, $isSaved->timezone*/)->format('H:i:s');\n                    } else {\n                        $time_input[$open_day] = \"\";\n                    }\n\n                    if (isset($time_input[$close_day])) {\n                        $time_input[$close_day] = Carbon::parse($time_input[$close_day]/*, $isSaved->timezone*/)->format('H:i:s');\n                    } else {\n                        $time_input[$close_day] = \"\";\n                    }\n\n                    PetProTimetable::create([\n                        \"pet_pro_id\" => $isSaved->id,\n                        \"day\" => $day,\n                        \"open\" => $time_input[$open_day] ? $time_input[$open_day] : null,\n                        \"close\" => $time_input[$close_day] ? $time_input[$close_day] : null,\n                    ]);\n\n                }\n                //}\n\n                $services = $request->get('services');\n                if ($services) {\n                    foreach ($services as $service) {\n                        PetProServicesOffered::create([\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"service\" => $service,\n                        ]);\n                    }\n                }\n\n                $galleryInput[\"pet_pro_id\"] = $isSaved->id;\n                if ($request->row) {\n                    foreach ($request->row as $index => $row) {\n                        if (isset($row[\"image\"])) {\n                            /*if(! $row[\"cropped_image\"]) {\n                            $isCreateThumb=\"0\";\n                            $galleryInput[\"is_cropped_image\"] = 0;\n                            } else {\n                            $isCreateThumb=\"1\";\n                            $galleryInput[\"is_cropped_image\"] = 1;\n                            }*/\n                            $galleryInput[\"is_cropped_image\"] = 1;\n                            $isCreateThumb = \"1\";\n                            $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), \"\", $isCreateThumb, $height = 250, $width = 380, $row['cropped_image'], $isThumbOptimized = true);\n                            if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                                $galleryInput[\"gallery_image\"] = $imageStore['name'];\n                            }\n                            if ($request->get('is_cover_image')) {\n                                if ($index == $request->get('is_cover_image')) {\n                                    $galleryInput['is_cover_image'] = 1;\n                                } else {\n                                    $galleryInput['is_cover_image'] = 0;\n                                }\n                            }\n                            $isSaved = PetProGallery::create($galleryInput);\n                        }\n                    }\n                }\n                return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.success\"), 'Pet pro created');\n                //return redirect($this->moduleRoute)->with(\"success\", \"Pet pro created\");\n            }\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.normal_error\"), 'Sorry, Something went wrong please try again');\n        } catch (\\Exception $e) {\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.server_side\"), $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {\n\n    }\n\n    public function edit($id)\n    {\n        $result = $this->model->with('timetable', 'images', 'categories')->find($id);\n\n        if ($result) {\n            $selectedCategories = $result->categories()->pluck(\"category_id\", \"category_id\")->all();\n            $categories = PetProCategory::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n            $countries = Country::pluck('name', 'id')->toArray();\n            $selectedBusiness = $result->business()->pluck(\"business_id\", \"business_id\")->all();\n            $businessNatures = BusinessNature::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n            $selectedPetType = $result->petType()->pluck(\"pet_type_id\", \"pet_type_id\")->all();\n            $petType = PetType::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n            $states = State::where('country_id', 231)->orderBy('name', 'asc')->pluck('name', 'id')->toArray();\n            if ($result->city_id) {\n                $cities = City::where('state_id', $result->state_id)->where('is_valid', '=', 1)->pluck('name', 'id')->toArray();\n            } else {\n                $cities = [];\n            }\n\n            return view(\"$this->moduleView.edit\", compact(\"result\", \"categories\", \"states\", \"cities\", \"selectedCategories\", 'countries', 'businessNatures', 'selectedBusiness', 'petType', 'selectedPetType'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro not found\");\n    }\n\n    public function update(PetProRequest $request, $id)\n    {\n\n        $inputCategories = $request->get(\"category_id\", []);\n        $inputBusinessNatures = $request->get(\"business_id\", []);\n        $inputPetType = $request['pet_type_id'];\n        $city = City::where('id', $request->get(\"city_id\"))->first();\n\n        try {\n            $result = $this->model->find($id);\n            if ($result) {\n\n                $pet_pro_input = $request->only(['store_name', 'website_url', 'email', 'phone_number', 'address_line_1', 'address_line_2', 'city_id', 'state_id', 'postal_code', 'description', 'donation_link']);\n\n                $time_input = $request->only(['monday_open', 'monday_close', 'tuesday_open', 'tuesday_close', 'wednesday_open', 'wednesday_close', 'thursday_open', 'thursday_close', 'friday_open', 'friday_close', 'saturday_open', 'saturday_close', 'sunday_open', 'sunday_close']);\n\n                if ($request->get('is_featured_pet_pro')) {\n                    $pet_pro_input['is_featured_pet_pro'] = 1;\n                    $pet_pro_input['featured_title'] = $request->get('featured_title');\n                    $pet_pro_input['featured_description'] = $request->get('featured_description');\n                } else {\n                    $pet_pro_input['is_featured_pet_pro'] = 0;\n                    $pet_pro_input['featured_title'] = null;\n                    $pet_pro_input['featured_description'] = null;\n                }\n\n                if ($request->get('is_featured_pet_pro')) {\n                    $pet_pro_input['is_featured_pet_pro'] = 1;\n                    $pet_pro_input['featured_title'] = $request->get('featured_title');\n                    $pet_pro_input['featured_description'] = $request->get('featured_description');\n                } else {\n                    $pet_pro_input['is_featured_pet_pro'] = 0;\n                    $pet_pro_input['featured_title'] = null;\n                    $pet_pro_input['featured_description'] = null;\n                }\n\n                $isSaved = $result->update($pet_pro_input);\n                if ($isSaved) {\n                    $currentTime = Carbon::now();\n                    if (count($inputCategories)) {\n                        foreach ($inputCategories as $categoryId) {\n                            $insertArray = [\n                                \"pet_pro_id\" => $result->id,\n                                \"category_id\" => $categoryId,\n                            ];\n\n                            $res = $result->categories()->updateOrCreate($insertArray, $insertArray);\n\n                            $insertedCategories[] = $categoryId;\n                        }\n                    }\n\n                    if (count($inputBusinessNatures)) {\n                        foreach ($inputBusinessNatures as $businessId) {\n                            $insertArray = [\n                                \"pet_pro_id\" => $result->id,\n                                \"business_id\" => $businessId,\n                            ];\n\n                            $res = $result->business()->updateOrCreate($insertArray, $insertArray);\n\n                            $insertedBusiness[] = $businessId;\n                        }\n                    }\n                    if (count($inputPetType)) {\n                        foreach ($inputPetType as $PetTypeId) {\n                            $insertArray = [\n                                \"pet_pro_id\" => $result->id,\n                                \"business_id\" => $PetTypeId,\n                            ];\n\n                            $res = $result->petType()->updateOrCreate($insertArray, $insertArray);\n\n                            $insertedPetType[] = $PetTypeId;\n                        }\n                    }\n                    $result->categories()->whereNotIn(\"category_id\", $insertedCategories)->delete();\n                    $result->business()->whereNotIn(\"business_id\", $insertedBusiness)->delete();\n                    $result->petType()->whereNotIn(\"business_id\", $insertedPetType)->delete();\n\n                    if ($city) {\n                        $this->model->where('id', $id)->update([\n                            \"latitude\" => $city->city_latitude,\n                            \"longitude\" => $city->city_longitude,\n                        ]);\n                    }\n\n                    if ($result->address_line_1 || $result->address_line_2 || $result->city_id || $result->state_id || $result->postal_code) {\n                        $addressLatLong = GoogleMapHelper::getLatLongFromAddress($result);\n                        $result->update($addressLatLong);\n                    } elseif (!$city) {\n                        $returnArr = [\n                            \"latitude\" => null,\n                            \"longitude\" => null,\n                        ];\n                        $result->update($returnArr);\n                    }\n\n                    /* $googleData = GoogleMapHelper::getTimezone($result);\n                    if( $googleData[\"timezone\"] ) {\n                    $result->timezone = Carbon::now()->timezone($googleData[\"timezone\"])->format('P');\n                    $result->save();\n                    }  else {\n                    $result->timezone = 'GMT-4';\n                    $result->save();\n                    }*/\n\n                    $days = config('wagenabled.days');\n                    //if( $result->timezone ) {\n                    foreach ($days as $day) {\n                        $open_day = $day . \"_open\";\n                        $close_day = $day . \"_close\";\n\n                        if (isset($time_input[$open_day])) {\n                            $time_input[$open_day] = Carbon::parse($time_input[$open_day]/*, $result->timezone*/)->format('H:i:s');\n                        } else {\n                            $time_input[$open_day] = \"\";\n                        }\n\n                        if (isset($time_input[$close_day])) {\n                            $time_input[$close_day] = Carbon::parse($time_input[$close_day]/*, $result->timezone*/)->format('H:i:s');\n                        } else {\n                            $time_input[$close_day] = \"\";\n                        }\n\n                        $pet_pro_timetable = PetProTimetable::where(\"pet_pro_id\", $result->id)\n                            ->where(\"day\", $day)\n                            ->first();\n                        if ($pet_pro_timetable) {\n                            $pet_pro_timetable->open = $time_input[$open_day] ? $time_input[$open_day] : null;\n                            $pet_pro_timetable->close = $time_input[$close_day] ? $time_input[$close_day] : null;\n                            $pet_pro_timetable->save();\n                        } else {\n                            PetProTimetable::create([\n                                \"pet_pro_id\" => $result->id,\n                                \"day\" => $day,\n                                \"open\" => $time_input[$open_day] ? $time_input[$open_day] : null,\n                                \"close\" => $time_input[$close_day] ? $time_input[$close_day] : null,\n                            ]);\n                        }\n\n                    }\n                    //}\n\n                    $services = $request->get('services');\n                    if ($services) {\n                        foreach ($services as $service) {\n                            PetProServicesOffered::create([\n                                \"pet_pro_id\" => $result->id,\n                                \"service\" => $service,\n                            ]);\n                        }\n                    }\n\n                    $old_services = $request->get('old_services');\n                    if ($old_services) {\n                        foreach ($old_services as $old_service_id => $service_name) {\n                            PetProServicesOffered::where('id', $old_service_id)->update([\n                                \"service\" => $service_name,\n                            ]);\n                        }\n                    }\n\n                    $deletedServices = $request->get('deletedServices');\n                    if ($deletedServices) {\n                        $delete_services = explode(\",\", $deletedServices);\n                        foreach ($delete_services as $id) {\n                            PetProServicesOffered::where('id', $id)->delete();\n                        }\n                    }\n\n                    $galleryInput[\"pet_pro_id\"] = $result->id;\n                    if ($request->row) {\n                        foreach ($request->row as $index => $row) {\n                            if (isset($row[\"image\"])) {\n\n                                /*if(! $row[\"cropped_image\"]) {\n                                $isCreateThumb=\"0\";\n                                $galleryInput[\"is_cropped_image\"] = 0;\n                                } else {\n                                $isCreateThumb=\"1\";\n                                $galleryInput[\"is_cropped_image\"] = 1;\n                                }*/\n                                $isCreateThumb = \"1\";\n                                $galleryInput[\"is_cropped_image\"] = 1;\n                                $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), \"\", $isCreateThumb, $height = 250, $width = 380, $row['cropped_image'], $isThumbOptimized = true);\n                                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                                    $galleryInput[\"gallery_image\"] = $imageStore['name'];\n                                }\n                                if ($request->get('is_cover_image')) {\n                                    if ($index == $request->get('is_cover_image')) {\n                                        $galleryInput['is_cover_image'] = 1;\n                                        PetProGallery::where('pet_pro_id', $result->id)->update(['is_cover_image' => 0]);\n                                    } else {\n                                        $galleryInput['is_cover_image'] = 0;\n\n                                    }\n                                }\n                                PetProGallery::create($galleryInput);\n                            }\n                        }\n                    }\n\n                    if ($request->old_row) {\n                        foreach ($request->old_row as $index => $row) {\n                            $galleryResult = PetProGallery::find($index);\n\n                            if (isset($row[\"image\"])) {\n                                /*if(! $row[\"cropped_image\"]) {\n                                $isCreateThumb=\"0\";\n                                $updateGalleryInput[\"is_cropped_image\"] = 0;\n                                } else {\n                                $isCreateThumb=\"1\";\n                                $updateGalleryInput[\"is_cropped_image\"] = 1;\n                                }*/\n                                $isCreateThumb = \"1\";\n                                $galleryInput[\"is_cropped_image\"] = 1;\n                                $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), $galleryResult->gallery_image, $isCreateThumb, $height = 250, $width = 380, $row['cropped_image'], $isThumbOptimized = true);\n                                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                                    $updateGalleryInput[\"gallery_image\"] = $imageStore['name'];\n                                }\n                            }\n\n                            if ($request->get('is_cover_image')) {\n                                if (strpos($request->get('is_cover_image'), 'old_') !== false) {\n                                    if ($index == str_replace('old_', '', $request->get('is_cover_image'))) {\n                                        $updateGalleryInput['is_cover_image'] = 1;\n                                        PetProGallery::where('pet_pro_id', $result->id)->where('id', '!=', $galleryResult->id)->update(['is_cover_image' => 0]);\n                                    }\n                                } else {\n                                    $updateGalleryInput['is_cover_image'] = 0;\n                                }\n                            }\n                            if (isset($updateGalleryInput)) {\n                                $galleryResult->update($updateGalleryInput);\n                            }\n                            $updateGalleryInput = [];\n                        }\n                    }\n\n                    $deletedGallery = $request->get('deletedGallery');\n                    if ($deletedGallery) {\n                        $delete_gallery = explode(\",\", $deletedGallery);\n                        foreach ($delete_gallery as $id) {\n                            $galleryResult = PetProGallery::find($id);\n                            $fileOldName = $galleryResult->gallery_image;\n                            $galleryResult->delete();\n                            if ($fileOldName) {\n                                $deleteFileList = array();\n                                $deleteFileList[] = config(\"wagenabled.path.doc.pet_pro_gallery_image_path\") . $fileOldName;\n                                $deleteFileList[] = config(\"wagenabled.path.doc.pet_pro_gallery_image_path\") . 'thumb/' . $fileOldName;\n                                WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n                            }\n                        }\n                    }\n                    return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.success\"), 'Pet pro updated');\n                    //return redirect($this->moduleRoute)->with(\"success\", \"Pet pro updated\");\n                }\n            }\n\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.normal_error\"), 'Sorry, Something went wrong please try again');\n        } catch (\\Exception $e) {\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.server_side\"), $e->getMessage());\n        }\n    }\n\n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n        if ($data) {\n            $res = $data->delete();\n            if ($res) {\n                $result['message'] = \"Pet pro deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting pet pro\";\n                $result['code'] = 400;\n            }\n        } else {\n            $result['message'] = \"Pet pro not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n\n    public function getCities(Request $request, $state_id)\n    {\n        $code = config(\"wagenabled.status_codes.normal_error\");\n        $message = \"\";\n        $cities = [];\n\n        try {\n            $cities = City::select([\"id\", \"state_id\", \"name\"])->where('state_id', $state_id)->orderBy('name')->orderBy('id')->groupBy('name')->get();\n            $code = config(\"wagenabled.status_codes.success\");\n\n        } catch (Exception $e) {\n            $message = \"Please, try again!\";\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($cities, $code, $message);\n    }\n\n    public function getStates(Request $request, $country_id)\n    {\n        $code = config(\"wagenabled.status_codes.normal_error\");\n        $message = \"\";\n        $states = [];\n\n        try {\n            $states = State::select([\"id\", \"name\"])->where('country_id', $country_id)->orderBy('name', 'asc')->get();\n            $code = config(\"wagenabled.status_codes.success\");\n\n        } catch (Exception $e) {\n            $message = \"Please, try again!\";\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($states, $code, $message);\n    }\n\n    public function getGeocodeData(Request $request)\n    {\n        $code = config(\"wagenabled.status_codes.normal_error\");\n        $message = \"\";\n        $data = [];\n        $responseData = [];\n        try {\n            if ($request->get('postal_code', '')) {\n                $isExistingCityGetCount = City::where('zipcode', trim($request->get('postal_code')))->where('is_valid', 1)->count();\n                if ($isExistingCityGetCount != 1) {\n                    $data[] = $request->get('postal_code', '');\n                    $GooogleResponseData = GoogleMapHelper::getGeocodeData($data);\n\n                    if (count($GooogleResponseData) > 0) {\n                        $responseData = $GooogleResponseData;\n                        $state_name = $GooogleResponseData[\"state\"];\n                        $city_name = $GooogleResponseData[\"city\"];\n                        $zipcode = $request->get('postal_code', '');\n                        $latitude = $GooogleResponseData[\"latitude\"];\n                        $longitude = $GooogleResponseData[\"longitude\"];\n\n                        if ($city_name) {\n                            $isExistingCity = City::where('name', 'like', $city_name);\n                            $cities = clone $isExistingCity;\n                            $isExistingCity = $isExistingCity->first();\n                            if ($isExistingCity) {\n\n                                $responseData[\"state_id\"] = $isExistingCity->state_id;\n                                $responseData[\"city_id\"] = $isExistingCity->id;\n\n                                $isInvalidCity = $cities->where('is_valid', '0')->first();\n                                if ($isInvalidCity) {\n                                    $cities = City::where('name', 'like', $city_name)->update([\n                                        'is_valid' => 1,\n                                    ]);\n                                }\n                            } else {\n                                if ($state_name) {\n                                    $state = State::where('name', 'like', $state_name)->first();\n                                    if (!$state) {\n                                        $country = Country::where('name', 'United States')->first();\n                                        if ($country) {\n                                            $state = State::create([\n                                                \"country_id\" => $country->id,\n                                                \"name\" => $state_name,\n                                            ]);\n                                        }\n                                    }\n                                    if ($state) {\n                                        $isSavedCity = City::create([\n                                            'name' => $city_name,\n                                            'state_id' => $state->id,\n                                            'zipcode' => $zipcode,\n                                            'city_latitude' => $latitude,\n                                            'city_longitude' => $longitude,\n                                            'is_valid' => 1,\n                                        ]);\n\n                                        $responseData[\"city_id\"] = $isSavedCity->id;\n                                        $responseData[\"state_id\"] = $state->state_id;\n                                    }\n                                }\n                            }\n                        }\n                    }\n                } else {\n                    $isExistingCityGet = City::where('zipcode', $request->get('postal_code'))->where('is_valid', 1)->orderBy('name')->orderBy('id')->first();\n                    $responseData[\"city_id\"] = $isExistingCityGet->id;\n                    $responseData[\"state_id\"] = $isExistingCityGet->state_id;\n                }\n                $code = config(\"wagenabled.status_codes.success\");\n            }\n        } catch (Exception $e) {\n            $message = \"Please, try again!\";\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($responseData, $code, $message);\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetProsRequestController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\PetPro;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetProsRequestController extends Controller\n{\n    public function __construct(PetPro $model)\n    {\n        set_time_limit(0);\n        ini_set('memory_limit', -1);\n        $this->moduleName = \"Pet Pros\";\n        $this->singularModuleName = \"Pet Pro\";\n        $this->moduleRoute = url('admin/pet-pros-request');\n        $this->moduleView = \"admin.main.pet-pro-request\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    ///////////////\n    // By Umar\n    //////////////\n    public function approvePetPro($id)\n    {\n        $petpros = $this->model->find($id);\n        $data = [];\n        if ($petpros) {\n            $data = json_decode($petpros->new_detail);\n\n            $petpros->update((array)$data);\n\n            $petpros->new_detail = null;\n            $petpros->status = \"approved\";\n            $petpros->update();\n            // return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.success\"), \"Pet Pros is approved.\");\n            return redirect($this->moduleRoute)->with(\"success\", \"Pet pro approved\");\n        } else {\n            // return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.server_side\"), \"Something Went Wrong.\");\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro approval failed\");\n\n        }\n    }\n    public function rejectPetPro($id)\n    {\n        $data = $this->model->find($id);\n        if ($data) {\n            $data->status = \"reject\";\n            $data->update();\n            // return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.success\"), \"Pet Pros is rejected.\");\n            return redirect($this->moduleRoute)->with(\"success\", \"Pet pro rejected\");\n        } else {\n            // return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.server_side\"), \"Something Went Wrong.\");\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro rejection failed\");\n\n        }\n    }\n    public function getAllPetProsRequestDatatable()\n    {\n        \n        view()->share('isIndexPage', true);\n        return view($this->moduleView.\".index\");\n    }\n    public function getPetProsRequestDatatable(Request $request)\n    {\n        $result = $this->model->where('status',null)->orWhere('status','pending')->orWhere('status','approved')->where('new_detail','!=',null)->orderBy('id', 'desc')->get();\n        return Datatables::of($result)\n            ->editColumn('message', function ($result) {\n                if ($result->message) {\n                    if (strlen($result->message) > 50) {\n                        return substr($result->message, 0, 50) . '...';\n                    }\n                }\n                return $result->message;\n            })\n            ->addIndexColumn()\n            ->make(true);\n    }\n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n        if ($data) {\n            $res = $data->delete();\n            if ($res) {\n                $result['message'] = \"Pet pro deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting pet pro\";\n                $result['code'] = 400;\n            }\n        } else {\n            $result['message'] = \"Pet pro not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n    public function show($id)\n    {        \n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"$this->moduleView.show\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Admin user not found\");\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/PetTypeController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\PetTypeRequest;\nuse App\\Models\\PetType;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass PetTypeController extends Controller\n{\n    public function __construct(PetType $model)\n    {\n        $this->moduleName = \"Pet Type\";\n        $this->singularModuleName = \"Pet Type\";\n        $this->moduleRoute = url('admin/pet-type');\n        $this->moduleView = \"admin.main.pet-type\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->withCount('petPro')->orderBy('name', 'asc');\n        \\Log::error(json_encode($result));\n        return Datatables::of($result)->addIndexColumn()->make(true);\n    }\n\n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n\n    public function store(PetTypeRequest $request)\n    {\n        $input = $request->except(['_token']);\n\n        $isExist = $this->model->where('name', '=', $input['name'])->withTrashed()->first();\n        if ($isExist) {\n            if ($isExist->deleted_at == null) {\n                return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet typ alerady exist\");\n            } else {\n                $isExist->deleted_at = null;\n                $isExist->save();\n                return redirect($this->moduleRoute)->with(\"success\", \"Pet typee created\");\n            }\n        }\n        try {\n            $isSaved = $this->model->create($input);\n            if ($isSaved) {\n                return redirect($this->moduleRoute)->with(\"success\", \"Pet type created\");\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {\n\n    }\n\n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet type not found\");\n    }\n\n    public function update(PetTypeRequest $request, $id)\n    {\n\n        $input = $request->except(['_token']);\n        $isExist = $this->model->where('name', '=', $input['name'])->where('id', '!=', $id)->first();\n        if ($isExist) {\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet type already exist\");\n        } else {\n            try {\n                $result = $this->model->find($id);\n                if ($result) {\n                    $isSaved = $result->update($input);\n                    if ($isSaved) {\n                        return redirect($this->moduleRoute)->with(\"success\", \"Pet type updated\");\n                    }\n                }\n                return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n            } catch (\\Exception $e) {\n                return redirect($this->moduleRoute)->with('error', $e->getMessage());\n            }\n        }\n    }\n\n    public function destroy($id)\n    {\n        $result = array();\n\n        $data = $this->model->find($id);\n\n        if ($data) {\n\n            $res = $data->delete();\n            if ($res) {\n                $result['message'] = \"Pet type deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting watch and learn pet type\";\n                $result['code'] = 400;\n            }\n\n        } else {\n            $result['message'] = \"Pet type not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/ProductReviewCategoriesController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnCategoriesRequest;\nuse App\\Models\\WatchAndLearnCategory;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass ProductReviewCategoriesController extends Controller\n{\n    public function __construct(WatchAndLearnCategory $model)\n    {        \n        $this->moduleName = \"Product Review Categories\";\n        $this->singularModuleName = \"Product Review Category\";\n        $this->moduleRoute = url('admin/product-review-categories');\n        $this->moduleView = \"admin.main.product-review-categories\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->ProductReviewCategory()->orderBy('name', 'asc');\n\n        return Datatables::of($result)->addIndexColumn()->make(true);        \n    }\n    \n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n \n    public function store(WatchAndLearnCategoriesRequest $request)\n    {\n        $input = $request->except(['_token']);\n\t\n\t\t$isExist = $this->model->where('name', '=', $input['name'])->where('parent_id', config(\"wagenabled.product_review_category_id\"))->withTrashed()->first();\n\t\tif($isExist){\n\t\t\tif($isExist->deleted_at == null){\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Product Review category alerady exist\");\n\t\t\t} else {\n\t\t\t\t$isExist->deleted_at = null;\n\t\t\t\t$isExist->save();\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Product Review category created\");\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\ttry {      \n                $input['parent_id'] = config(\"wagenabled.product_review_category_id\");        \n\t\t\t\t$isSaved = $this->model->create($input);\n\t\t\t\tif ($isSaved) {\n\t\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Product Review category created\");\n\t\t\t\t}\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n\t\t\t} catch (\\Exception $e) {\n\t\t\t\treturn redirect($this->moduleRoute)->with('error', $e->getMessage());\n\t\t\t}\n\t\t}\n    }\n\n    public function show($id)\n    {        \n\n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Product Review category not found\");\n    }\n   \n    public function update(WatchAndLearnCategoriesRequest $request, $id)\n    {               \n\t\t$input = $request->except(['_token']); \n\t\t\n\t\t$isExist = $this->model->where('name', '=', $input['name'])->where('parent_id', config(\"wagenabled.product_review_category_id\"))->where('id', '!=', $id)->first();\n\t\tif($isExist){\n\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Product Review category alerady exist\");\n\t\t} else {\n\t\t\ttry {\n\t\t\t\t$result = $this->model->find($id);            \n\t\t\t\tif ($result) {                                  \n\t\t\t\t\t$isSaved = $result->update($input);        \n\t\t\t\t\tif ($isSaved) {\n\t\t\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Product Review category updated\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n\t\t\t} catch (\\Exception $e) {            \n\t\t\t\treturn redirect($this->moduleRoute)->with('error', $e->getMessage());\n\t\t\t}\n\t\t}\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n\n        $data = $this->model->find($id);\n\n        if ($data) {            \n          \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"Product Review category deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting Product Review category\";\n                $result['code'] = 400;\n            }\n                       \n           \n        } else {\n            $result['message'] = \"Product Review category not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/ProductReviewController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\WatchAndLearnAuthor;\nuse App\\Models\\WatchAndLearnCategory;\nuse App\\Models\\WatchAndLearnMedias;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Intervention\\Image\\Facades\\Image;\nuse Storage;\nuse Yajra\\Datatables\\Datatables;\nuse App\\Models\\WatchAndLearnComment;\n\nclass ProductReviewController extends Controller\n{\n    public function __construct(WatchAndLearn $model)\n    {        \n        $this->moduleName = \"Product Reviews\";\n        $this->singularModuleName = \"Product Review\";\n        $this->moduleRoute = url('admin/product-reviews');\n        $this->moduleView = \"admin.main.product-reviews\";\n        $this->model = $model;\n\t\t$this->statusCodes = config(\"wagenabled.status_codes\");\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {      \n        $frontUrl = env('REACT_SERVER_BASE_URL');\n\t\tview()->share('isIndexPage', true);\n\t\t\n\t\t$categories = WatchAndLearnCategory::ProductReviewCategory()->pluck('name', 'id')->toArray();\n\n        return view(\"$this->moduleView.index\", compact('frontUrl', 'categories'));\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $blogMode = $request->get('blogMode');\n\t\t$category_id = $request->get('category_id');\n        $parent_product_review_id = config(\"wagenabled.product_review_category_id\");\n        if($category_id != \"\"){\n        \n        $result = $this->model->with('categories.category', 'author')->whereHas('categories',function($q) use($category_id,$parent_product_review_id){\n            $q->where('selected_category_id',$category_id);\n            $q->whereHas('category',function($q) use($parent_product_review_id){\n                $q->where('parent_id', $parent_product_review_id);\n            });\n            \n            \n        })->select(\"*\")->where('status', $blogMode)->orderBy('id', 'desc');\n    }else{\n        $result = $this->model->with('categories.category', 'author')->whereHas('categories',function($q) use($category_id,$parent_product_review_id){\n            $q->whereHas('category',function($q) use($parent_product_review_id){\n                $q->where('parent_id', $parent_product_review_id);\n            });\n            \n        })->select(\"*\")->where('status', $blogMode)->orderBy('id', 'desc');\n    }\n\t\t\n            \n\t\t\n\n        return Datatables::of($result)\n        ->addColumn('formated_author', function ($result) {\n            if( $result->author  ) {\n                return $result->author->name;\n            }\n            return '-';            \n        })\n        ->addColumn('formated_category', function ($result) {\n             $categoryString = \"-\";\n            if(count($result->categories)){\n            foreach ($result->categories as $key => $category) {\n                if($key == 0){\n                    if($category){\n                        $categoryString = $category->category->name;\n                    }\n                }else{\n                    if($categoryString == \"-\" && $category){\n                        $categoryString = $category->name;\n                    }else{\n\n                        $categoryString = $categoryString.\", \".$category->name;\n                    }\n                    \n                }\n            }\n        }\n        return $categoryString;         \n        })\n\n\n       \n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {\n        $categories = WatchAndLearnCategory::ProductReviewCategory()->orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        $authors = WatchAndLearnAuthor::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        return view(\"$this->moduleView.create\", compact('categories', 'authors'));\n    }\n \n    public function store(WatchAndLearnRequest $request)\n    {\n        $input = $request->except(['_token', 'image','cropped_image', 'blogMode']);\n        $input['category_id'] = null;\n        $inputCategories = $request['category_id'];\n        try {   \n            if ($request->file('image', false)) {        \n                $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.watch_and_learn_thumbnail_path\"), \"\", $isCreateThumb=\"1\", $height=250, $width=380, $request->get('cropped_image'));            \n                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                    $input[\"thumbnail\"] = $imageStore['name'];                    \n                }                    \n            } \n\n            $isSaved = $this->model->create($input);\n            if ($isSaved) {\n                if(count($inputCategories)) {  \n\t\t\t\t\t$currentTime = Carbon::now();   \n\t\t\t\t\t$insertArray = [];             \n                    foreach ($inputCategories as $categoryId) {\n                        $insertArray[] = [\n\t\t\t\t\t\t\t\"watch_and_learn_id\" => $isSaved->id,\n\t\t\t\t\t\t\t\"selected_category_id\" => $categoryId,\n                            \"created_at\" => $currentTime,\n                            \"updated_at\" => $currentTime,\n\t\t\t\t\t\t];\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t$isSaved->categories()->insert($insertArray);\n                }\n                if( $request->get('blogMode') == 'draft' ) {\n                    return redirect($this->moduleRoute)->with(\"success\", \"Product Review created\");\n                }\n                $viewData['watchAndLearn'] = $isSaved;                       \n                return view(\"$this->moduleView.content-builder\", $viewData);\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {    \n\t\t$result = $this->model->withCount(['comments' => function($query){\n\t\t\t$query->where('parent_comment_id', 0);\n\t\t}])\n\t\t->find($id);               \n        $back_url_path = $this->moduleRoute;\n        if ($result) {\n            return view(\"$this->moduleView.show\", compact(\"result\", 'back_url_path'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Product Review not found\");            \n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        $selectedCategories = $result->categories()->pluck(\"selected_category_id\")->all();\n        $categories = WatchAndLearnCategory::ProductReviewCategory()->orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        $authors = WatchAndLearnAuthor::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        if ($result) {\n            return view(\"$this->moduleView.edit\", compact(\"result\",\"categories\", 'authors', 'selectedCategories'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Product Review not found\");\n    }    \n\n    public function update(WatchAndLearnRequest $request, $id)\n    {               \n        $input = $request->except(['_token', 'image','cropped_image', 'video', 'blogMode']);      \n        $input['category_id'] = null;\n        $inputCategories = $request['category_id'];\n        \n        try {\n            $result = $this->model->find($id);            \n            if ($result) {   \n                $old_file_name = '';\n                if ($request->file('image', false)) {        \n                    $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.watch_and_learn_thumbnail_path\"), $result->thumbnail, $isCreateThumb=\"1\", $height=250, $width=380, $request->get('cropped_image'));            \n                    if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                        $input[\"thumbnail\"] = $imageStore['name'];                    \n                    }                    \n                } \n\n                if( $request->get('blogMode') == 'draft' ) {                        \n                    $input[\"status\"] = 'draft';  \n                }\n                $isSaved = $result->update($input);  \n\n                if ($isSaved) {                                    \n                    if(count($inputCategories)) {  \n                        $result->categories()->delete();\n                        $currentTime = Carbon::now();   \n                        $insertArray = [];             \n                        foreach ($inputCategories as $categoryId) {\n                            $insertArray[] = [\n                                \"watch_and_learn_id\" => $id,\n                                \"selected_category_id\" => $categoryId,\n                                \"created_at\" => $currentTime,\n                                \"updated_at\" => $currentTime,\n                            ];\t\t\t\t\t\t\n                        }\n                        $result->categories()->insert($insertArray);\n                    }\n                    if( $request->get('blogMode') == 'draft' ) {                        \n                        return redirect($this->moduleRoute);\n                    } \n                    if( $request->get('blogMode') == 'publish'  ) {\n                        return redirect($this->moduleRoute);                        \n                    }            \n\n                    $viewData['watchAndLearn'] = $result;                      \n                    return view(\"$this->moduleView.content-builder\", $viewData);\n\n                    return redirect($this->moduleRoute)->with(\"success\", \"Product Review updated\");\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n\n    public function buildWithContentBuilder(Request $request, $id = null)\n    {\n        $viewData = [];\n        $WatchAndLearn = $this->model::whereId($id)->first();\n        if ($WatchAndLearn) {\n            $viewData['watchAndLearn'] = $WatchAndLearn;\n        }\n\n        return view(\"$this->moduleView.content-builder\", $viewData);\n    }\n\n    public function setDescriptionByContentBuilder(Request $request, $id)\n    {\n        try {\n            $data = $this->model::whereId($id)->first();\n\n            if ($data) {\n                $input = $request->only(['description']);\n\n                $status = $data->update($input);\n\n                if ($status) {\n                    $result = $this->model->with('categories.category')->find($id);        \n                    $back_url_path = $this->moduleRoute.'/'.$id.'/edit/buildwithcontentbuilder';\n                    if ($result) {\n                        return view(\"$this->moduleView.show\", compact(\"result\", 'back_url_path'));\n                    }\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n\n    public function changeStatus($id, $status, Request $request)\n    {\n        $result = $this->model->find($id);                \n        if ($result) {\n            $result->status = $status;\n            $result->Save();           \n            $result['message'] =  \"success\";\n            $result['code'] = 200;\n        } else {\n            \n            $result['message'] = \"Sorry, Product Review not found\";\n            $result['code'] = 400;\n        }\n\n        return response()->json($result, $result['code']);\n    }  \n\n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n        if ($data) {                    \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"Product Review deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting Product Review\";\n                $result['code'] = 400;\n            }                        \n        } else {\n            $result['message'] = \"Product Review not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n\t\n\tpublic function CommentList(Request $request, $slug, $lastId = 0, $parent_id = 0) {\n\n        $this->responseData = []; \n        $comments = [];\n       \n        $perPage = config(\"wagenabled.no_of_comment_display\", 6);    \n        $NoOfchildrenCount = config(\"wagenabled.no_of_comment_children_display\", 2);      \n        $depth = config(\"wagenabled.comment_depth\", 2);   \n\n        $this->responseData[\"comments\"] = [];\n        $this->responseData[\"children_count\"] = 0;\n        $this->responseData[\"no_of_comments_display\"] = $perPage;\n        $this->responseData[\"no_of_children_display\"] = $NoOfchildrenCount;\n        $this->responseData[\"depth_count\"] = $depth;\n        $this->responseData[\"comment_count\"] = 0;\n                \n        $watch_and_learn = $this->model->Where('slug', $slug)\n                            ->Where('status', 'published')\n                            ->first();\n\n        if( $watch_and_learn ) {   \n\n            $total_count = WatchAndLearnComment::where('parent_comment_id', 0)\n                                ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                ->count();\n\n            $total_count = $total_count ? $total_count : 0;                            \n            if( $lastId == 0 ) {\n                $last_comment = WatchAndLearnComment::select('id')\n                                ->where(\"watch_and_learn_id\", $watch_and_learn->id)                                    \n                                ->orderBy('id', 'desc')\n                                ->first(); \n                if( $last_comment ){                        \n                    $lastId = $last_comment->id;\n                    $lastId++;\n                }\n            } \n\n            if( $lastId !=0 ) {     \n                //Comment ids get           \n                $ids = WatchAndLearnComment::where('parent_comment_id', $parent_id)\n                                    ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                    ->where(\"id\", '<', $lastId)\n                                    ->orderBy('id', 'desc')\n                                    ->limit($perPage)\n                                    ->pluck('id')\n                                    ->toArray(); \n\n                //Children Comments -          \n                $childrenIds = [];\n                $parentId = $ids;\n                for ($i=1; $i <=$depth ; $i++) {                         \n                    $newParentIds = [];                       \n                    foreach ($parentId as $id) {\n                        $childrenId = WatchAndLearnComment::where('parent_comment_id', $id)\n                                        ->orderBy('id', 'desc')\n                                        ->limit($NoOfchildrenCount)\n                                        ->pluck('id')\n                                        ->toArray();   \n                        $childrenIds = array_merge($childrenIds, $childrenId);\n                        $newParentIds = array_merge($newParentIds, $childrenId);\n                    }\n                    $parentId = $newParentIds;\n                }\n            \n                $ids = array_merge($ids, $childrenIds);                   \n                $comments = WatchAndLearnComment::with('user')->whereIn('id', $ids)\n                                    ->orderBy('id', 'desc')                                    \n                                    ->get()\n                                    ->toArray();                       \n                $count = [];\n\n                foreach ($ids as $id ) {\n                    $count[$id] = WatchAndLearnComment::where('parent_comment_id', $id)\n                                        ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                        ->count();\n                }\n\n                $this->responseData[\"comments\"] = WagEnabledHelpers::buildTreeStructure($comments, $parent_id);\n                $this->responseData[\"children_count\"] = $count;\n                $this->responseData[\"no_of_comments_display\"] = $perPage;\n                $this->responseData[\"no_of_children_display\"] = $NoOfchildrenCount;\n                $this->responseData[\"depth_count\"] = $depth;\n            }\n\n            $this->responseData[\"comment_count\"] = $total_count;                               \n            $this->code = $this->statusCodes['success'];    \n            $this->message = \"\";   \n\n        }\n        else{\n            $this->code = $this->statusCodes['success'];\n            $this->message = \"\";\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);       \n\t}\n\t\n\tpublic function deleteComment(Request $request, $slug, $id) \n\t{\n\t\t$responseData = [];\n\t\t$code = 403;\n\t\t$message = \"Please, try again!\";\n\n        $watch_and_learn = $this->model->Where('slug', $slug)\n                                ->first();\n        if( $watch_and_learn ) {\n            $watch_and_learn_comment = WatchAndLearnComment::with('allChildren')\n                                        ->where('watch_and_learn_id', $watch_and_learn->id)\n                                        ->where('id', $id)\n                                        ->first(); \n\n            if( $watch_and_learn_comment ) {     \n\n                $this->watch_and_learn_comment_ids[] = $watch_and_learn_comment->id;\n                $this->getChildreanIDs($watch_and_learn_comment->allChildren);\n               \n                $comments = WatchAndLearnComment::with('user')->whereIn('id', $this->watch_and_learn_comment_ids)->delete();                  \n                $message = \"Comment deleted successfully\";\n                $code = $this->statusCodes['success']; \n            } \n        }\n        return WagEnabledHelpers::apiJsonResponse($responseData, $code, $message);\n\t}\n\t\n    public function getChildreanIDs($watch_and_learn_comments)\n    {   \n        $childrenId = [];\n        foreach ($watch_and_learn_comments as $watch_and_learn_comment) {\n            $childrenId[] = $watch_and_learn_comment->id;\n            $this->watch_and_learn_comment_ids = array_merge($this->watch_and_learn_comment_ids, $childrenId);\n            $this->getChildreanIDs($watch_and_learn_comment->allChildren);\n        }         \n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/ProductReviewDealsController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnDealRequest;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\WatchAndLearnDeal;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass ProductReviewDealsController extends Controller\n{\n    public function __construct(WatchAndLearnDeal $model)\n    {            \n        $this->moduleName = \"Product Review Deals\";\n        $this->singularModuleName = \"Product Review Deal\";\n        $this->moduleView = \"admin.main.product-review-deals\";\n        $this->moduleRoute = url('admin/product-reviews');\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request, $watch_and_learn_id)\n    {\n        $moduleRoute = url('admin/product-reviews/'.$watch_and_learn_id.'/deals');\n        View::share('module_route', $moduleRoute);\n\n        $result = $this->model->select(\"*\")->where('watch_and_learn_id', $watch_and_learn_id)->orderBy('id', 'desc');\n        return Datatables::of($result)\n        ->addColumn('claimed', function ($result) {            \n            return $result->claims->count();            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create($watch_and_learn_id)\n    {\n        $watchAndLearn = WatchAndLearn::find($watch_and_learn_id);\n        if( $watchAndLearn ) {\n            $moduleRoute = url('admin/product-reviews/'.$watch_and_learn_id.'/deals');\n            View::share('module_route', $moduleRoute);         \n            return view(\"admin.main.product-review-deals.create\", compact('watch_and_learn_id'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n    }\n \n    public function store(WatchAndLearnDealRequest $request, $watch_and_learn_id)\n    {\n        $input = $request->except(['_token']);\n        try {    \n            $watchAndLearn = WatchAndLearn::find($watch_and_learn_id);\n            if( $watchAndLearn ) {\n                $input[\"watch_and_learn_id\"] = $watch_and_learn_id;\n                $isSaved = $this->model->create($input);\n                if ($isSaved) {\n                    return redirect($this->moduleRoute.'/'.$watch_and_learn_id.'/edit')->with(\"success\", \"Pet pro deal created\");\n                }            \n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function edit($watch_and_learn_id, $id)\n    {\n        $watchAndLearn = WatchAndLearn::find($watch_and_learn_id);\n        if( $watchAndLearn ) {\n            $moduleRoute = url('admin/product-reviews/'.$watch_and_learn_id.'/deals');\n            View::share('module_route', $moduleRoute);\n            $result = $this->model->find($id);\n            if ($result) {\n                return view(\"admin.main.product-review-deals.edit\", compact(\"result\", \"watch_and_learn_id\"));\n            }\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Pet pro deal not found\");\n    }\n   \n    public function update(WatchAndLearnDealRequest $request, $watch_and_learn_id, $id)\n    {               \n        $input = $request->except(['_token']);       \n        try {\n            $watchAndLearn = WatchAndLearn::find($watch_and_learn_id);\n            if( $watchAndLearn ) {\n                $result = $this->model->find($id);            \n                if ($result) {                                  \n                    $isSaved = $result->update($input);        \n                    if ($isSaved) {\n                        return redirect($this->moduleRoute.'/'.$watch_and_learn_id.'/edit')->with(\"success\", \"Pet pro deal updated\");\n                    }\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n    \n    public function changeStatus($watch_and_learn_id, $id)\n    {\n        $result = array();\n        $watchAndLearn = WatchAndLearn::find($watch_and_learn_id);     \n\n        if ($watchAndLearn) {            \n            $data = $this->model->find($id);\n            if ($data) { \n                \n                if($data->status == 'active' ) {\n                    $data->status = 'pause';\n                } else {\n                    $data->status = 'active';\n                }\n                $isSaved = $data->save();\n\n                if ($isSaved) {\n                    $result['message'] =  \"Change pet pro status\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while change pet pro status\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro deal not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n\n    public function destroy($watch_and_learn_id, $id)\n    {\n        $result = array();\n        $watchAndLearn = WatchAndLearn::find($watch_and_learn_id);     \n\n        if ($watchAndLearn) {            \n            $data = $this->model->find($id);\n            if ($data) { \n                $res = $data->delete();\n                if ($res) {\n                    $result['message'] =  \"Pet pro deal deleted.\";\n                    $result['code'] = 200;\n                } else {\n                    $result['message'] = \"Error while deleting pet pro deal\";\n                    $result['code'] = 400;\n                }\n            } else {\n                $result['message'] = \"Pet pro deal not Found!\";\n                $result['code'] = 400;\n            }                                \n        } else {\n            $result['message'] = \"Sorry, Something went wrong please try again!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/TestimonialController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse Illuminate\\Http\\Request;\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\Testimonial;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\nuse App\\Http\\Requests\\Admin\\TestimonialRequest;\nuse App\\Http\\WagEnabledHelpers;\n\nclass TestimonialController extends Controller\n{\n    public function __construct(Testimonial $model) {\n        $this->moduleName = \"Testimonial\";\n        $this->singularModuleName = \"Testimonial\";\n        $this->moduleRoute = url('admin/testimonial');\n        $this->moduleView = \"admin.main.testimonials\";\n        $this->model = $model;\n\n        $this->breadcrumb = [['title' => $this->moduleName, 'url' => $this->moduleRoute]];\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute );\n\t\tView::share('moduleView', $this->moduleView );\n    }\n\n    /**\n     * Display a listing of the resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable()\n    {  \n        $result = $this->model->all();\n        return Datatables::of($result)->addIndexColumn()->make(true);\n    }\n\n    /**\n     * Show the form for creating a new resource.\n     *\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function create()\n    {\n        $this->breadcrumb[] = ['title' => \"Add \".$this->moduleName, 'url' => ''];\n        view()->share('breadcrumb', $this->breadcrumb);\n\n        return view(\"admin.main.general.create\");\n    }\n\n    /**\n     * Store a newly created resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function store(TestimonialRequest $request)\n    {\n        $input = $request->except(['_token', 'image','cropped_image']);\n\n        try {\n\t\t\tif ($request->file('image', false)) {        \n                $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.testimonial_image_path\"), \"\", $isCreateThumb=\"1\", $height=350, $width=300, $request->get('cropped_image'));            \n                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                    $input[\"image\"] = $imageStore['name'];                    \n                }                    \n            } \n            $isSaved = $this->model->create($input);\n\n            if ($isSaved) {\n                return redirect($this->moduleRoute)->with(\"success\", $this->moduleName.\" Added Successfully\");\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    /**\n     * Display the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function show($id)\n    {\n       //\n    }\n\n    /**\n     * Show the form for editing the specified resource.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if($result) {\n            $this->breadcrumb[] = ['title' => \"Edit \".$this->moduleName, 'url' => ''];\n            view()->share('breadcrumb', $this->breadcrumb);\n\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, $this->moduleName not found\");\n    }\n\n    /**\n     * Update the specified resource in storage.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function update(TestimonialRequest $request, $id)\n    {\n        $input = $request->except(['_token', 'image','cropped_image']);\n        try {\n            $result = $this->model->find($id);\n\n            if($result) {\n                if ($request->file('image', false)) {        \n                    $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.testimonial_image_path\"), $result->image, $isCreateThumb=\"1\", $height=350, $width=300, $request->get('cropped_image'));            \n                    if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                        $input[\"image\"] = $imageStore['name'];                    \n                    }                    \n                } \n                $isSaved = $result->update($input);\n                \n                if ($isSaved) {\n                    return redirect($this->moduleRoute)->with(\"success\", $this->moduleName.\" Updated Successfully\");\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n\n    /**\n     * Remove the specified resource from storage.\n     *\n     * @param  int  $id\n     * @return \\Illuminate\\Http\\Response\n     */\n    public function destroy($id)\n    {\n        $result = array();\n        try {\n            $res = $this->model->find($id);\n            if ($res) {\n                $res->delete();\n\n                $result['message'] = \"$this->moduleName Deleted Successfully.\";\n                $result['code'] = 200;\n            } else {\n                $result['code'] = 400;\n                $result['message'] = \"Something went wrong\";\n            }\n        } catch (\\Exception $e) {\n            $result['message'] = $e->getMessage();\n            $result['code'] = 400;\n        }\n\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/UsersController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass UsersController extends Controller\n{\n    public function __construct(User $model)\n    {        \n        $this->moduleName = \"Users\";\n        $this->singularModuleName = \"User\";\n        $this->moduleRoute = url('admin/users');\n        $this->moduleView = \"admin.main.users\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->with('city')->orderBy('id', 'desc');\n        return Datatables::of($result)\n        ->addColumn('city_state', function ($result) {\n            $str = \"\";\n            if( $result->city_id  ) {\n                $str .= $result->city->name;\n            }\n            if( $result->state_id ) {\n                $str .= ', '. $result->state->name;\n            }\n            return $str;            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {\n        \n    }\n \n    public function store(Request $request)\n    {       \n\n    }\n\n    public function show($id)\n    {        \n        $result = $this->model->with('pets', 'pets.breed')->find($id);\n        if ($result) {\n            return view(\"$this->moduleView.show\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Admin user not found\");\n    }\n    \n    public function edit($id)\n    {\n       \n    }\n   \n    public function update(Request $request, $id)\n    {   \n\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n\n        if ($data) {                   \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"User deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting user\";\n                $result['code'] = 400;\n            }          \n           \n        } else {\n            $result['message'] = \"User not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/WatchAndLearnAuthorController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnAuthorRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\WatchAndLearnAuthor;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass WatchAndLearnAuthorController extends Controller\n{\n    public function __construct(WatchAndLearnAuthor $model)\n    {        \n        $this->moduleName = \"Watch And Learn Authors\";\n        $this->singularModuleName = \"Watch And Learn Author\";\n        $this->moduleRoute = url('admin/watch-and-learn-author');\n        $this->moduleView = \"admin.main.watch-and-learn-author\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->orderBy('name', 'asc');\n        return Datatables::of($result)\n        ->editColumn('about', function ($result) {\n            if( $result->about  ) {\n                if( strlen($result->about) > 50 ){\n                    return substr($result->about, 0, 50).'...';\n                }\n            }\n            return $result->about;            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {        \n        return view(\"admin.main.general.create\");\n    }\n \n    public function store(WatchAndLearnAuthorRequest $request)\n    {\n        $input = $request->except(['_token', 'image','cropped_image']);\n\n        try {   \n            if ($request->file('image', false)) {        \n                $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.watch_and_learn_author_path\"), \"\", $isCreateThumb=\"1\", $height=250, $width=380, $request->get('cropped_image'));            \n                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                    $input[\"profile_image\"] = $imageStore['name'];                    \n                }                    \n            }     \n            $isSaved = $this->model->create($input);\n            if ($isSaved) {\n                return redirect($this->moduleRoute)->with(\"success\", \"Watch and learn author created\");\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {        \n\n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Watch and learn author not found\");\n    }\n   \n    public function update(WatchAndLearnAuthorRequest $request, $id)\n    {               \n        $input = $request->except(['_token', 'image','cropped_image']);      \n        try {\n            $result = $this->model->find($id);            \n            if ($result) {   \n                if ($request->file('image', false)) {        \n                    $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.watch_and_learn_author_path\"), $result->profile_image, $isCreateThumb=\"1\", $height=250, $width=380, $request->get('cropped_image'));            \n                    if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                        $input[\"profile_image\"] = $imageStore['name'];                    \n                    }                    \n                }                \n               \n                $isSaved = $result->update($input);        \n                if ($isSaved) {\n                    return redirect($this->moduleRoute)->with(\"success\", \"Watch and learn author updated\");\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n        if ($data) {                    \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"Watch and learn author deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting watch and learn author\";\n                $result['code'] = 400;\n            }                        \n        } else {\n            $result['message'] = \"Watch and learn author not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/WatchAndLearnCategoriesController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnCategoriesRequest;\nuse App\\Models\\WatchAndLearnCategory;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Yajra\\Datatables\\Datatables;\n\nclass WatchAndLearnCategoriesController extends Controller\n{\n    public function __construct(WatchAndLearnCategory $model)\n    {        \n        $this->moduleName = \"Watch And Learn Categories\";\n        $this->singularModuleName = \"Watch And Learn Category\";\n        $this->moduleRoute = url('admin/watch-and-learn-categories');\n        $this->moduleView = \"admin.main.watch-and-learn-categories\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {\n        view()->share('isIndexPage', true);\n        return view(\"$this->moduleView.index\");\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $result = $this->model->select(\"*\")->GetWatchAndLearnCategory()->orderBy('name', 'asc');\n\n        return Datatables::of($result)->addIndexColumn()->make(true);        \n    }\n    \n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n \n    public function store(WatchAndLearnCategoriesRequest $request)\n    {\n        $input = $request->except(['_token']);\n\t\n\t\t$isExist = $this->model->where('name', '=', $input['name'])->where('parent_id', '!=', config(\"wagenabled.product_review_category_id\"))->where('watch_and_learn_categories.parent_id', 0)->withTrashed()->first();\n\t\tif($isExist){\n\t\t\tif($isExist->deleted_at == null){\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Watch and learn category alerady exist\");\n\t\t\t} else {\n\t\t\t\t$isExist->deleted_at = null;\n\t\t\t\t$isExist->save();\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Watch and learn category created\");\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\ttry {           \n\t\t\t\t$isSaved = $this->model->create($input);\n\t\t\t\tif ($isSaved) {\n\t\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Watch and learn category created\");\n\t\t\t\t}\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n\t\t\t} catch (\\Exception $e) {\n\t\t\t\treturn redirect($this->moduleRoute)->with('error', $e->getMessage());\n\t\t\t}\n\t\t}\n    }\n\n    public function show($id)\n    {        \n\n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        if ($result) {\n            return view(\"admin.main.general.edit\", compact(\"result\"));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Watch and learn category not found\");\n    }\n   \n    public function update(WatchAndLearnCategoriesRequest $request, $id)\n    {               \n\t\t$input = $request->except(['_token']); \n\t\t\n\t\t$isExist = $this->model->where('name', '=', $input['name'])->where('parent_id', '!=', config(\"wagenabled.product_review_category_id\"))->where('watch_and_learn_categories.parent_id', 0)->where('id', '!=', $id)->first();\n\t\tif($isExist){\n\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Watch and learn category alerady exist\");\n\t\t} else {\n\t\t\ttry {\n\t\t\t\t$result = $this->model->find($id);            \n\t\t\t\tif ($result) {                                  \n\t\t\t\t\t$isSaved = $result->update($input);        \n\t\t\t\t\tif ($isSaved) {\n\t\t\t\t\t\treturn redirect($this->moduleRoute)->with(\"success\", \"Watch and learn category updated\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n\t\t\t} catch (\\Exception $e) {            \n\t\t\t\treturn redirect($this->moduleRoute)->with('error', $e->getMessage());\n\t\t\t}\n\t\t}\n    }\n  \n    public function destroy($id)\n    {\n        $result = array();\n\n        $data = $this->model->find($id);\n\n        if ($data) {            \n          \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"Watch and learn category deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting watch and learn category\";\n                $result['code'] = 400;\n            }\n                       \n           \n        } else {\n            $result['message'] = \"Watch and learn category not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/WatchAndLearnController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\WatchAndLearnAuthor;\nuse App\\Models\\WatchAndLearnCategory;\nuse App\\Models\\WatchAndLearnMedias;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Intervention\\Image\\Facades\\Image;\nuse Storage;\nuse Yajra\\Datatables\\Datatables;\nuse App\\Models\\WatchAndLearnComment;\n\nclass WatchAndLearnController extends Controller\n{\n    public function __construct(WatchAndLearn $model)\n    {        \n        $this->moduleName = \"Watch And Learn\";\n        $this->singularModuleName = \"Watch And Learn\";\n        $this->moduleRoute = url('admin/watch-and-learn');\n        $this->moduleView = \"admin.main.watch-and-learn\";\n        $this->model = $model;\n\t\t$this->statusCodes = config(\"wagenabled.status_codes\");\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index()\n    {      \n        $frontUrl = env('REACT_SERVER_BASE_URL');\n\t\tview()->share('isIndexPage', true);\n\t\t\n\t\t$categories = WatchAndLearnCategory::GetWatchAndLearnCategory()->pluck('name', 'id')->toArray();\n\n        return view(\"$this->moduleView.index\", compact('frontUrl', 'categories'));\n    }\n\n    public function getDatatable(Request $request)\n    {\n        $blogMode = $request->get('blogMode');\n\t\t$category_id = $request->get('category_id');\n\n        $result = $this->model->with('category', 'author')->GetWatchAndLearnCategory()->select(\"*\")->where('status', $blogMode)->orderBy('id', 'desc');\n\n\t\tif($category_id != \"\"){\n            $result = $result->where('category_id','=',$category_id);\n\t\t}\n\n        return Datatables::of($result)\n        ->addColumn('formated_author', function ($result) {\n            if( $result->author  ) {\n                return $result->author->name;\n            }\n            return '-';            \n        })\n        ->addIndexColumn()\n        ->make(true);        \n    }\n    \n    public function create()\n    {\n        $categories = WatchAndLearnCategory::GetWatchAndLearnCategory()->orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        $authors = WatchAndLearnAuthor::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        return view(\"$this->moduleView.create\", compact('categories', 'authors'));\n    }\n \n    public function store(WatchAndLearnRequest $request)\n    {\n        $input = $request->except(['_token', 'image','cropped_image', 'video_file', 'blogMode']);\n        try {   \n            if ($request->file('image', false)) {        \n                $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.watch_and_learn_thumbnail_path\"), \"\", $isCreateThumb=\"1\", $height=250, $width=380, $request->get('cropped_image'));            \n                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                    $input[\"thumbnail\"] = $imageStore['name'];                    \n                }                    \n            } \n\n            // if ($request->get('video_type') == 'video_upload') {                       \n            //     if ($request->file('video_file', false)) {        \n            //         $imageStore = WagEnabledHelpers::uploadFile($request->file('video_file'), config(\"wagenabled.path.doc.watch_and_learn_video_path\"), \"\");            \n            //         if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n            //             $input[\"video_file\"] = $imageStore['name']; \n            //             $input[\"embed_link\"] = null; \n\n            //             $video_file = $request->file('video_file');\n            //             $input['duration'] =  exec(\"ffmpeg -i $video_file 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//\");                   \n            //         }                    \n            //     }  \n            // } else {\n            //     //$file_path='https://www.youtube.com/watch?v=uilkmUoXoLU';\n            //     if($input['embed_link']) {\n            //         $input['duration'] = WagEnabledHelpers::getYouTubeVideoDuration($input['embed_link']);\n            //     }\n            // }\n            $isSaved = $this->model->create($input);\n            if ($isSaved) {\n                if( $request->get('blogMode') == 'draft' ) {\n                    return redirect($this->moduleRoute)->with(\"success\", \"Watch and learn created\");\n                }\n                $viewData['watchAndLearn'] = $isSaved;                       \n                return view(\"$this->moduleView.content-builder\", $viewData);\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n\n    }\n\n    public function show($id)\n    {    \n        $result = $this->model->withCount(['comments' => function($query){\n\t\t\t$query->where('parent_comment_id', 0);\n\t\t}])\n\t\t->find($id);        \n\t\t$back_url_path = $this->moduleRoute;\n\n\t\tif ($result) {\n            return view(\"$this->moduleView.show\", compact(\"result\", 'back_url_path'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Watch and learn not found\");            \n    }\n    \n    public function edit($id)\n    {\n        $result = $this->model->find($id);\n        $categories = WatchAndLearnCategory::GetWatchAndLearnCategory()->orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        $authors = WatchAndLearnAuthor::orderBy('name', 'asc')->get()->pluck(\"name\", \"id\")->toArray();\n        if ($result) {\n            return view(\"$this->moduleView.edit\", compact(\"result\",\"categories\", 'authors'));\n        }\n        return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Watch and learn not found\");\n    }    \n\n    public function update(WatchAndLearnRequest $request, $id)\n    {               \n        $input = $request->except(['_token', 'image','cropped_image', 'video', 'blogMode']);      \n        try {\n            $result = $this->model->find($id);            \n            if ($result) {   \n                $old_file_name = '';\n                if ($request->file('image', false)) {        \n                    $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.watch_and_learn_thumbnail_path\"), $result->thumbnail, $isCreateThumb=\"1\", $height=250, $width=380, $request->get('cropped_image'));            \n                    if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                        $input[\"thumbnail\"] = $imageStore['name'];                    \n                    }                    \n                } \n\n                // if ($request->get('video_type') == 'video_upload') {        \n                //     if ($request->file('video_file', false)) {        \n                //         $imageStore = WagEnabledHelpers::uploadFile($request->file('video_file'), config(\"wagenabled.path.doc.watch_and_learn_video_path\"), $result->video_file);            \n                //         if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                //             $input[\"video_file\"] = $imageStore['name']; \n                //             $input[\"embed_link\"] = null; \n                //             $video_file = $request->file('video_file');\n                //             $input['duration'] =  exec(\"ffmpeg -i $video_file 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//\"); \n\n                //         }                    \n                //     }  \n                // } else {\n                //     $input[\"video_file\"] = null;  \n                //     if( $input['embed_link'] ) {                    \n                //         if( $input['embed_link'] !=  $result->embed_link) {\n                //             $input['duration'] = WagEnabledHelpers::getYouTubeVideoDuration($input['embed_link']);  \n                //         }\n                //     } else {\n                //         $input['duration'] = null;\n                //     }\n                // }\n\n                // if( $result->video_type == 'video_upload' ) {\n                //     $old_file_name = $result->video_file;\n                // }\n\n                if( $request->get('blogMode') == 'draft' ) {                        \n                    $input[\"status\"] = 'draft';  \n                }\n                $isSaved = $result->update($input);  \n\n                if ($isSaved) {\n                    \n                    if( $old_file_name ) {\n                        $deleteFileList[] =  config(\"wagenabled.path.doc.watch_and_learn_video_path\").$old_file_name;\n                        WagEnabledHelpers::deleteIfFileExist($deleteFileList);  \n                    }\n\n                    if( $request->get('blogMode') == 'draft' ) {                        \n                        return redirect($this->moduleRoute);\n                    } \n                    if( $request->get('blogMode') == 'publish'  ) {\n                        return redirect($this->moduleRoute);                        \n                    }            \n\n                    $viewData['watchAndLearn'] = $result;                      \n                    return view(\"$this->moduleView.content-builder\", $viewData);\n\n                    return redirect($this->moduleRoute)->with(\"success\", \"Watch and learn updated\");\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n\n        } catch (\\Exception $e) {            \n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n\n    public function buildWithContentBuilder(Request $request, $id = null)\n    {\n        $viewData = [];\n        $watchAndLearn = $this->model::whereId($id)->first();\n        if ($watchAndLearn) {\n            $viewData['watchAndLearn'] = $watchAndLearn;\n        }\n\n        return view(\"$this->moduleView.content-builder\", $viewData);\n    }\n\n    public function setDescriptionByContentBuilder(Request $request, $id)\n    {\n        try {\n            $data = $this->model::whereId($id)->first();\n\n            if ($data) {\n                $input = $request->only(['description']);\n\n                $status = $data->update($input);\n\n                if ($status) {\n                    $result = $this->model->find($id);                    \n                    $back_url_path = $this->moduleRoute.'/'.$id.'/edit/buildwithcontentbuilder';\n                    if ($result) {\n                        return view(\"$this->moduleView.show\", compact(\"result\", 'back_url_path'));\n                    }\n                }\n            }\n            return redirect($this->moduleRoute)->with(\"error\", \"Sorry, Something went wrong please try again\");\n        } catch (\\Exception $e) {\n            return redirect($this->moduleRoute)->with('error', $e->getMessage());\n        }\n    }\n\n    public function storeMedia(Request $request)\n    {\n        $media_folder_path = config(\"wagenabled.path.doc.watch_and_learn_media_path\");\n        $photos_thumb_path = $media_folder_path.\"thumb\";\n\n        $uploadedImgs = [];\n\n        $photos = $request->file('file');\n\n        if (!is_array($photos)) {\n            $photos = [$photos];\n        }\n\n        if (!Storage::exists($media_folder_path)) {\n            Storage::makeDirectory($media_folder_path);\n        }\n\n        if (!Storage::exists($photos_thumb_path)) {\n            Storage::makeDirectory($photos_thumb_path);\n        }\n\n        $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        for ($i = 0; $i < count($photos); $i++) {\n            $photo = $photos[$i];\n           \n            $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 5);\n\n            $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n            $nameWithoutExtension = preg_replace(\"/[^a-zA-Z0-9]/\", \"\", '') . '' . $timestamp;\n            $nameWithoutExtension = $nameWithoutExtension.'-'.$randomString;\n\n            $fileExtension = $photo->getClientOriginalExtension();\n            if ($fileExtension == '') {\n                $fileExtension = $photo->guessClientExtension();\n            }\n\n            $name = $nameWithoutExtension. '.' . $fileExtension;\n            $save_name = str_replace([' ', ':', '-'], \"\", $name);            \n\n            $original_photo = Image::make($photo)\n                            ->orientate()\n                            ->encode($fileExtension); \n\n            $resize_photo = Image::make($photo)\n                            ->orientate()\n                            ->encode($fileExtension); \n\n            Storage::put($media_folder_path . $save_name, $original_photo);\n            Storage::put($photos_thumb_path . '/' . $save_name, $resize_photo);\n\n            $upload = new WatchAndLearnMedias();\n            $upload->filename = $save_name;        \n            $upload->original_name = basename($photo->getClientOriginalName());\n            $upload->save();\n\n\n            //$upload->img_url = Storage::url($media_folder_path . $save_name);\n            $upload->img_thumb_url = Storage::url($photos_thumb_path.\"/\" . $save_name);           \n            $upload->img_url = Storage::url($photos_thumb_path.\"/\" . $save_name);           \n            array_push($uploadedImgs, $upload);\n        }\n\n        if ($request->ajax()) {\n            return response()->json([\n                'data' => $uploadedImgs\n            ]);\n        }\n\n        return redirect()->back()->with('success', 'Media added successfully');\n    }\n\n    public function changeStatus($id, $status, Request $request)\n    {\n        $result = $this->model->find($id);                \n        if ($result) {\n            $result->status = $status;\n            $result->Save();           \n            $result['message'] =  \"success\";\n            $result['code'] = 200;\n        } else {\n            \n            $result['message'] = \"Sorry, Watch and learn not found\";\n            $result['code'] = 400;\n        }\n\n        return response()->json($result, $result['code']);\n    }  \n\n    public function destroy($id)\n    {\n        $result = array();\n        $data = $this->model->find($id);\n        if ($data) {                    \n            $res = $data->delete();\n            if ($res) {\n                $result['message'] =  \"Watch and learn deleted.\";\n                $result['code'] = 200;\n            } else {\n                $result['message'] = \"Error while deleting watch and learn\";\n                $result['code'] = 400;\n            }                        \n        } else {\n            $result['message'] = \"Watch and learn not Found!\";\n            $result['code'] = 400;\n        }\n        return response()->json($result, $result['code']);\n\t}\n\t\n\tpublic function CommentList(Request $request, $slug, $lastId = 0, $parent_id = 0) {\n\n        $responseData = []; \n        $comments = [];\n       \n        $perPage = config(\"wagenabled.no_of_comment_display\", 6);    \n        $NoOfchildrenCount = config(\"wagenabled.no_of_comment_children_display\", 2);      \n        $depth = config(\"wagenabled.comment_depth\", 2);   \n\n        $responseData[\"comments\"] = [];\n        $responseData[\"children_count\"] = 0;\n        $responseData[\"no_of_comments_display\"] = $perPage;\n        $responseData[\"no_of_children_display\"] = $NoOfchildrenCount;\n        $responseData[\"depth_count\"] = $depth;\n        $responseData[\"comment_count\"] = 0;\n        $message = \"\"; \n        $statusCodes = 200;\n\n        $watch_and_learn = $this->model->Where('slug', $slug)\n                            ->Where('status', 'published')\n                            ->first();\n\n        if( $watch_and_learn ) {   \n\n            $total_count = WatchAndLearnComment::where('parent_comment_id', 0)\n                                ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                ->count();\n\n            $total_count = $total_count ? $total_count : 0;                            \n            if( $lastId == 0 ) {\n                $last_comment = WatchAndLearnComment::select('id')\n                                ->where(\"watch_and_learn_id\", $watch_and_learn->id)                                    \n                                ->orderBy('id', 'desc')\n                                ->first(); \n                if( $last_comment ){                        \n                    $lastId = $last_comment->id;\n                    $lastId++;\n                }\n            } \n\n            if( $lastId !=0 ) {     \n                //Comment ids get           \n                $ids = WatchAndLearnComment::where('parent_comment_id', $parent_id)\n                                    ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                    ->where(\"id\", '<', $lastId)\n                                    ->orderBy('id', 'desc')\n                                    ->limit($perPage)\n                                    ->pluck('id')\n                                    ->toArray(); \n\n                //Children Comments -          \n                $childrenIds = [];\n                $parentId = $ids;\n                for ($i=1; $i <=$depth ; $i++) {                         \n                    $newParentIds = [];                       \n                    foreach ($parentId as $id) {\n                        $childrenId = WatchAndLearnComment::where('parent_comment_id', $id)\n                                        ->orderBy('id', 'desc')\n                                        ->limit($NoOfchildrenCount)\n                                        ->pluck('id')\n                                        ->toArray();   \n                        $childrenIds = array_merge($childrenIds, $childrenId);\n                        $newParentIds = array_merge($newParentIds, $childrenId);\n                    }\n                    $parentId = $newParentIds;\n                }\n            \n                $ids = array_merge($ids, $childrenIds);                   \n                $comments = WatchAndLearnComment::with('user')->whereIn('id', $ids)\n                                    ->orderBy('id', 'desc')                                    \n                                    ->get()\n                                    ->toArray();                       \n                $count = [];\n\n                foreach ($ids as $id ) {\n                    $count[$id] = WatchAndLearnComment::where('parent_comment_id', $id)\n                                        ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                        ->count();\n                }\n\n                $responseData[\"comments\"] = WagEnabledHelpers::buildTreeStructure($comments, $parent_id);\n                $responseData[\"children_count\"] = $count;\n                $responseData[\"no_of_comments_display\"] = $perPage;\n                $responseData[\"no_of_children_display\"] = $NoOfchildrenCount;\n                $responseData[\"depth_count\"] = $depth;\n            }\n\n            $responseData[\"comment_count\"] = $total_count;                               \n            $statusCodes = 200;    \n            $message = \"\";   \n\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($responseData, $statusCodes, $message);       \n\t}\n\t\n\tpublic function deleteComment(Request $request, $slug, $id) \n\t{\n\t\t$responseData = [];\n\t\t$code = 403;\n\t\t$message = \"Please, try again!\";\n\n        $watch_and_learn = $this->model->Where('slug', $slug)\n                                ->first();\n        if( $watch_and_learn ) {\n            $watch_and_learn_comment = WatchAndLearnComment::with('allChildren')\n                                        ->where('watch_and_learn_id', $watch_and_learn->id)\n                                        ->where('id', $id)\n                                        ->first(); \n\n            if( $watch_and_learn_comment ) {     \n\n                $this->watch_and_learn_comment_ids[] = $watch_and_learn_comment->id;\n                $this->getChildreanIDs($watch_and_learn_comment->allChildren);\n               \n                $comments = WatchAndLearnComment::with('user')->whereIn('id', $this->watch_and_learn_comment_ids)->delete();                  \n                $message = \"Comment deleted successfully\";\n                $code = $this->statusCodes['success']; \n            } \n        }\n        return WagEnabledHelpers::apiJsonResponse($responseData, $code, $message);\n\t}\n\t\n    public function getChildreanIDs($watch_and_learn_comments)\n    {   \n        $childrenId = [];\n        foreach ($watch_and_learn_comments as $watch_and_learn_comment) {\n            $childrenId[] = $watch_and_learn_comment->id;\n            $this->watch_and_learn_comment_ids = array_merge($this->watch_and_learn_comment_ids, $childrenId);\n            $this->getChildreanIDs($watch_and_learn_comment->allChildren);\n        }         \n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Admin/WatchAndLearnMediaController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Admin;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\Admin\\WatchAndLearnRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\WatchAndLearnMedias;\nuse Carbon\\Carbon;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\View;\nuse Intervention\\Image\\Facades\\Image;\nuse Storage;\nuse Yajra\\Datatables\\Datatables;\n\nclass WatchAndLearnMediaController extends Controller\n{\n    public function __construct(WatchAndLearnMedias $model)\n    {\n        $this->moduleName = \"Watch And Learn Medias\";\n        $this->singularModuleName = \"Watch And Learn Media\";\n        $this->moduleRoute = url('admin/watch-and-learn-medias');\n        $this->moduleView = \"admin.main.watch-and-learn-medias\";\n        $this->model = $model;\n\n        View::share('module_name', $this->moduleName);\n        View::share('singular_module_name', $this->singularModuleName);\n        View::share('module_route', $this->moduleRoute);\n        View::share('moduleView', $this->moduleView);\n    }\n\n    public function index(Request $request)\n    {\n        view()->share('isIndexPage', true);\n        $data['html'] = $this->load_more($request);\n        return view(\"$this->moduleView.index\",  $data);\n    }\n\n     public function load_more(Request $request)\n    {\n        $media = $this->model::select('*');\n\n        $count = $media->count();\n        $photos = $media->latest('id')->paginate(4);\n        $isMoreRecords = $photos->toArray()[\"next_page_url\"] ? true : false;\n        $photos->map(function ($photo) {\n            $media_folder_path = config(\"wagenabled.path.doc.watch_and_learn_media_path\");\n            $photos_thumb_path = $media_folder_path.\"thumb\";\n\n            //$photo['img_url'] = config('app.url') . \"/storage/$media_folder_path/\" . $photo['filename'];\n            //$photo['img_thumb_url'] = config('app.url') . \"/storage/$photos_thumb_path/\" . $photo['filename'];\n            $photo['img_url'] = Storage::url($media_folder_path . $photo['filename']);\n            $photo['img_thumb_url'] = Storage::url($photos_thumb_path.\"/\" . $photo['filename']);\n\n            return $photo;\n        });\n\n        $html = null;\n        if (!$photos->isEmpty()) {\n            foreach ($photos as $photo) {\n                $html .= '<div class=\"col-md-4 col-xl-3 file-box\"><div class=\"file\"><div class=\"image\">';\n\n                $html .= '<img alt=\"Image not found\" class=\"img-fluid\" src=\"' . $photo->img_thumb_url . '\" title=\"' . $photo->original_name . '\" onerror=\"this.src=\\'' . url('admin-theme/images/default.png') . '\\'\">';\n\n                $html .= '</div><div class=\"file-name\">';\n\n                $html .= '<span class=\"\">' . \\Str::limit($photo->original_name, 10) . '</span>';\n\n                $html .= '<div class=\"\"><div class=\"btn-group\">';\n\n                $html .= '<button class=\"btn btn-success btn-xs\" data-url=\"' . $photo->img_url . '\" onclick=\"copyImgUrl(this)\" title=\"Copy URL\"><i class=\"fa fa-copy\"></i></button>';\n\n                $html .= '<button class=\"btn btn-info btn-xs\" data-url=\"' . $photo->img_thumb_url . '\" onclick=\"copyImgUrl(this)\" title=\"Copy thumb URL\"><i class=\"fa fa-copy\"></i></button>';\n\n\n                    $html .= '<button class=\"btn btn-danger btn-xs delete-media\" data-id=\"' . $photo->id . '\" title=\"Delete\"><i class=\"fa fa-trash\"></i></button>';\n\n\n                $html .= '</div><div class=\"clearfix\"></div></div>';\n                $html .= '</div></div></div>';\n            }\n            // if ($count > 2) {\n            //     $html .= '<a href=\"javascript:;\" id=\"loadMore\" class=\"col-12\"><div class=\"file-box\"><div class=\"file\"><div class=\"icon\"><i class=\"fa fa-plus-square\"></i></div><div class=\"file-name text-center\">Load more</div></div></div></a>';\n            // }\n            if ($isMoreRecords) {\n                $html .= '<div id=\"loadMore\" class=\"col-12\"><a href=\"javascript:;\" class=\"wag-admin-btns-main\"><i class=\"fa fa-plus-square\"></i>Load more</a></div>';\n            }\n            // if ($count > 2) {\n            //     $html .= '<div class=\"col-12\"><a href=\"javascript:;\" id=\"loadMore\" class=\"wag-admin-btns-main\"><i class=\"fa fa-plus-square\"></i>Load more</a></div>';\n            // }\n        }\n\n        if ($request->ajax()) {\n            $response['html'] = $html;\n            $response['status'] = true;\n            return response()->json($response);\n        } else {\n            return $html;\n        }\n    }\n\n    public function create()\n    {\n        return view(\"admin.main.general.create\");\n    }\n\n    public function store(Request $request)\n    {\n        $media_folder_path = config(\"wagenabled.path.doc.watch_and_learn_media_path\");\n        $photos_thumb_path = $media_folder_path.\"thumb\";\n\n        $uploadedImgs = [];\n\n        $photos = $request->file('file');\n\n        if (!is_array($photos)) {\n            $photos = [$photos];\n        }\n\n        if (!Storage::exists($media_folder_path)) {\n            Storage::makeDirectory($media_folder_path);\n        }\n\n        if (!Storage::exists($photos_thumb_path)) {\n            Storage::makeDirectory($photos_thumb_path);\n        }\n\n\n        $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        for ($i = 0; $i < count($photos); $i++) {\n            $photo = $photos[$i];\n            if( $photo ) {\n                $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 5);\n\n                $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n                $nameWithoutExtension = preg_replace(\"/[^a-zA-Z0-9]/\", \"\", '') . '' . $timestamp;\n                $nameWithoutExtension = $nameWithoutExtension.'-'.$randomString;\n\n                $fileExtension = $photo->getClientOriginalExtension();\n                if ($fileExtension == '') {\n                    $fileExtension = $photo->guessClientExtension();\n                }\n\n                $name = $nameWithoutExtension. '.' . $fileExtension;\n                $save_name = str_replace([' ', ':', '-'], \"\", $name);\n\n                $original_photo = Image::make($photo)\n                            ->orientate()\n                            ->encode($fileExtension);\n\n                $resize_photo = Image::make($photo)\n                            ->orientate()\n                            ->encode($fileExtension, 50);\n\n                Storage::put($media_folder_path . $save_name, $original_photo);\n                Storage::put($photos_thumb_path . '/' . $save_name,  $resize_photo);\n\n                $upload = new WatchAndLearnMedias();\n                $upload->filename = $save_name;\n                $upload->original_name = basename($photo->getClientOriginalName());\n                $upload->save();\n\n\n                $upload->img_url = Storage::url(\"/$media_folder_path/\" . $save_name);\n                $upload->img_thumb_url = Storage::url(\"/$photos_thumb_path/\" . $save_name);\n                array_push($uploadedImgs, $upload);\n            }\n        }\n\n        if ($request->ajax()) {\n            return response()->json([\n                'data' => $uploadedImgs\n            ]);\n        }\n\n        return redirect()->back()->with('success', 'Media added successfully');\n    }\n\n    public function destroy($id)\n    {\n        $media = $this->model::where('id', $id)->first();\n        if ($media) {\n            $media_folder_path = config(\"wagenabled.path.doc.watch_and_learn_media_path\");\n            $photos_thumb_path = $media_folder_path.\"thumb\";\n\n            $deleteFiles = [\n                $media_folder_path . $media->filename,\n                $photos_thumb_path . '/' . $media->filename,\n            ];\n\n            Storage::delete($deleteFiles);\n            $media->delete();\n\n            $response['status'] = true;\n            $response['message'] = 'Media deleted successfully';\n        } else {\n            $response['status'] = false;\n            $response['message'] = 'Media not found';\n        }\n        return response()->json($response);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/ForgotPasswordController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Mail\\UerPasswordResetMail;\nuse App\\Models\\PasswordReset;\nuse App\\Models\\User;\nuse App\\Notifications\\ResetPassword;\nuse Carbon\\Carbon;\nuse Illuminate\\Foundation\\Auth\\SendsPasswordResetEmails;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Response;\nuse Validator;\n\nclass ForgotPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset emails and\n    | includes a trait which assists in sending these notifications from\n    | your application to your users. Feel free to explore this trait.\n    |\n    */\n\n    use SendsPasswordResetEmails;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('guest');\n        $this->statusCodes = config(\"wagenabled.status_codes\");\n    }\n\n    public function forgotPassword(Request $request) {\n\n        $validator = Validator::make($request->all(), [\n            'email' => 'required|email',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n        $input = $request->all();\n\n        $user = User::where(\"email\", \"=\", $input['email'])->withTrashed()->first();                \n        if ($user) {\n            if( $user->deleted_at == null  ) {\n                $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n                $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n                $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 15);\n                $randomString2 = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 15);\n                $randomString3 = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 15);\n\n                $token = $timestamp . $randomString . $randomString2 . $randomString3;        \n\n                $passwordReset = PasswordReset::updateOrCreate(\n                                    ['email' => $user->email],\n                                    [\n                                        'email' => $user->email,\n                                        'token' => $token\n                                    ]\n                                );\n                if ($passwordReset) {    \n                    Mail::to($user->email)->send(new UerPasswordResetMail($user, $token));\n                    $data = array(\n                        'message' => \"Reset password link sent to your email, please check it\",\n                    );               \n                    return Response::json($data, $this->statusCodes['success']);\n                }\n                else {\n                    $data = ['message' => \"Please try again\"];\n                }\n            }\n            else {\n                $validator->getMessageBag()->add('email', 'Please contact wag enabled support'); \n                return WagEnabledHelpers::apiValidationFailResponse($validator);  \n            }\n        }\n        else {\n            $validator->getMessageBag()->add('email', 'Please enter correct email address'); \n            return WagEnabledHelpers::apiValidationFailResponse($validator);   \n        }\n        \n        return Response::json($data, $this->statusCodes['form_validation']);\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/LoginController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\User;\nuse Illuminate\\Foundation\\Auth\\AuthenticatesUsers;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Tymon\\JWTAuth\\Facades\\JWTAuth;\nuse Validator;\n\nclass LoginController extends Controller\n{    \n    use AuthenticatesUsers;\n   \n    public function login(Request $request) {\n\n        $validator = Validator::make($request->all(), [\n            'email' => 'required|email',\n            'password' => 'required',\n        ]);    \n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        if ($this->hasTooManyLoginAttempts($request)) {\n            $this->fireLockoutEvent($request);\n            return $this->sendLockoutResponse($request);\n        }\n\n        $credentials = $this->credentials($request);\n        $user = User::where('email', $credentials['email'])->withTrashed()->first();    \n\n        if ( !$user ) { \n            $validator->getMessageBag()->add('email', 'Please enter correct email address.'); \n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        } elseif( ! Hash::check($credentials['password'], $user->password)) {            \n            $validator->getMessageBag()->add('password', 'Please enter correct password.');          \n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        if( $user->deleted_at == null  ) {           \n            if ($token = JWTAuth::attempt($credentials)) {                        \n                $user = auth()->user();\n                $userResponse = [];\n                if($user) {                    \n                    $userResponse = $user;                   \n                }                            \n                return response()->json([\n                            'token' => \"Bearer \" . $token,\n                            'user' => $userResponse,\n                        ]);\n            } \n        }\n        else {\n            $validator->getMessageBag()->add('email', 'Please contact Wag Enabled support'); \n            return WagEnabledHelpers::apiValidationFailResponse($validator);           \n        }\n\n        $this->incrementLoginAttempts($request);\n        return $this->sendFailedLoginResponse($request);        \n    }\n\n    public function logout()\n    {\n        auth('api')->logout();\n        return response()->json(['message' => 'Successfully logged out']);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/RegisterController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\HubspotHelpers;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\User;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Tymon\\JWTAuth\\Facades\\JWTAuth;\nuse Validator;\n\nclass RegisterController extends Controller\n{\n    \n    protected function create(Request $request)\n    {       \n        $validator = Validator::make($request->all(), [\n            'name' => 'required|max:255',            \n            'email' => 'required|email|max:255|unique:users,email',\n            'password' => 'required|min:6',\n            'latitude' => 'nullable',       \n            'longitude' => 'nullable',    \n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['name', 'email', 'password', 'latitude', 'longitude']);        \n        $input['password'] =  Hash::make($input['password']); \n        $user = User::create($input);        \n        $token = JWTAuth::fromUser($user);     \n        $userResponse = [];\n\n        if($user) {\n            $userResponse = $user;   \n            // entry \n            $arr = array(\n               'fields' => array(\n                    array(\n                       'name' => 'email',\n                       'value' => $user->email\n                    ),\n                    array(\n                       'name' => 'name',\n                       'value' => $user->name\n                    )\n                ),\n               'context' => array(              \n                    \"pageUri\" => env('REACT_SERVER_BASE_URL').'/signup',\n                    \"pageName\" => \"Signup page\"                \n                ),\n            );          \n            $post_json = json_encode($arr);\n            HubspotHelpers::storeForm($post_json, env('HUBSPOT_PORTAL_ID'), env('HUBSPOT_SIGNUP_FORM_GUID'));\n        }   \n\n        $data = array(\n            'token' => \"Bearer \" . $token,\n            'user' => $userResponse,\n        );\n        \n        $message = \"User registered successfully\";\n        return WagEnabledHelpers::apiJsonResponse($data, \"\", $message);        \n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/ResetPasswordController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\PasswordReset;\nuse App\\Models\\User;\nuse Carbon\\Carbon;\nuse Illuminate\\Foundation\\Auth\\ResetsPasswords;\nuse Illuminate\\Http\\Request;\nuse Validator;\n\nclass ResetPasswordController extends Controller\n{\n    use ResetsPasswords;\n\n    public function __construct()\n    {\n        $this->middleware('guest');\n    }\n\n    public function showResetForm(Request $request, $token = null)\n    {\n        return view('api.auth.passwords.reset')->with(\n            ['token' => $token, 'email' => $request->email]\n        );\n    }\n\n    public function resetPassword(Request $request)\n    {        \n        $statusCodes = config(\"wagenabled.status_codes\");\n        $validator = Validator::make($request->all(), [\n            'token' => 'required',\n            'password' => 'required|confirmed|min:6'\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->all();\n        $code = $statusCodes['normal_error'];\n\n        $passwordReset = PasswordReset::where([\n                            ['token', $request->token],                         \n                        ])->first();\n\n        if ($passwordReset) {\n            if (Carbon::parse($passwordReset->updated_at)->addMinutes(300)->isPast()) {\n                $passwordReset->delete();\n                $message = 'This password reset link is expired, Please try agin';\n            }\n            else {\n                $user = User::where('email', $passwordReset->email)->first();\n\n                if ($user) {\n                    $user->password = bcrypt($input['password']);\n                    $user->save();\n                    \n                    PasswordReset::where('email', $user->email)->delete();\n\n                    $code = $statusCodes['success'];\n                    $message = \"Password reset successfully!\";\n                }\n                else {\n                    $message = \"Please try again\";\n                }\n            }\n        }\n        else {\n            $message = \"Invalid user for reset password\";\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($responseData = [], $code, $message);\n    }\n\n    protected function sendResetResponse($response)\n    {\n        \\Auth::logout();\n        return redirect(\"thank-you\");\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/SocialLoginController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\User;\nuse Illuminate\\Foundation\\Auth\\AuthenticatesUsers;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Tymon\\JWTAuth\\Facades\\JWTAuth;\nuse Validator;\n\nclass SocialLoginController extends Controller\n{\n    use AuthenticatesUsers;\n\n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n    }\n\n    public function login(Request $request) {\n        \n        $validator = Validator::make($request->all(), [\n            'name' => 'required',           \n            'email' => 'required|email',            \n            'provider' => 'required|in:facebook,google,normal',\n            'provider_id' => 'required',\n            'latitude' => 'nullable',       \n            'longitude' => 'nullable',   \n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        if ($this->hasTooManyLoginAttempts($request)) {\n            $this->fireLockoutEvent($request);\n            return $this->sendLockoutResponse($request);\n        }  \n\n        $responseData =[];\n        $login_email = $request->get(\"email\", \"\");\n        $input = $request->only(['provider', 'provider_id', 'name', 'latitude', 'longitude']);        \n        $user = \"\";\n        $LoginUserAlreadyExists = User::where(\"email\", $login_email )->withTrashed()->first();        \n      \n            if( $LoginUserAlreadyExists ) {\n\n                if( $LoginUserAlreadyExists->deleted_at == null  ) {\n                    if($LoginUserAlreadyExists->provider_id != $input['provider_id'] || $LoginUserAlreadyExists->provider != $input['provider'] ) {\n                        $LoginUserAlreadyExists->update($input);\n                    }         \n                    $user = $LoginUserAlreadyExists;\n                } else {\n                    return WagEnabledHelpers::apiJsonResponse($responseData, config('wagenabled.status_codes.auth_fail'), \"Please contact Wag Enabled support\");            \n                }\n            } \n            else {\n\n                return WagEnabledHelpers::apiJsonResponse($responseData, config('wagenabled.status_codes.auth_fail'), \"Account not found please signup\");\n               /* $input[\"email\"] = $login_email;   \n                $user = User::create($input);\n\n                // entry \n                $arr = array(\n                   'fields' => array(\n                        array(\n                           'name' => 'email',\n                           'value' => $user->email\n                        ),\n                        array(\n                           'name' => 'name',\n                           'value' => $user->name\n                        )\n                    ),\n                   'context' => array(              \n                        \"pageUri\" => env('REACT_SERVER_BASE_URL').'/signup',\n                        \"pageName\" => \"Signup page\"                \n                    ),\n                );          \n                $post_json = json_encode($arr);\n                HubspotHelpers::storeForm($post_json, env('HUBSPOT_PORTAL_ID'), env('HUBSPOT_SIGNUP_FORM_GUID'));*/\n            }                    \n            \n            $token = JWTAuth::fromUser($user);\n\n            return response()->json([\n                            'token' => \"Bearer \" . $token,\n                            'user' => $user,\n                        ]);     \n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/SocialSignUpController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\HubspotHelpers;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\User;\nuse Illuminate\\Foundation\\Auth\\AuthenticatesUsers;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Tymon\\JWTAuth\\Facades\\JWTAuth;\nuse Validator;\n\nclass SocialSignUpController extends Controller\n{\n    use AuthenticatesUsers;\n\n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n    }\n\n    public function signup(Request $request) {\n        \n        $validator = Validator::make($request->all(), [\n            'name' => 'required',           \n            'email' => 'required|email',            \n            'provider' => 'required|in:facebook,google,normal',\n            'provider_id' => 'required',\n            'latitude' => 'nullable',       \n            'longitude' => 'nullable',   \n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        if ($this->hasTooManyLoginAttempts($request)) {\n            $this->fireLockoutEvent($request);\n            return $this->sendLockoutResponse($request);\n        }  \n\n        $responseData =[];\n        $login_email = $request->get(\"email\", \"\");\n        $input = $request->only(['provider', 'provider_id', 'name', 'latitude', 'longitude']);        \n        $user = \"\";\n        $LoginUserAlreadyExists = User::where(\"email\", $login_email )->withTrashed()->first();        \n      \n            if( $LoginUserAlreadyExists ) {\n                return WagEnabledHelpers::apiJsonResponse($responseData, config('wagenabled.status_codes.auth_fail'), \"Already resisted with same email please login.\");               \n            } \n            else {\n                $input[\"email\"] = $login_email;   \n                $user = User::create($input);\n\n                // entry \n                $arr = array(\n                   'fields' => array(\n                        array(\n                           'name' => 'email',\n                           'value' => $user->email\n                        ),\n                        array(\n                           'name' => 'name',\n                           'value' => $user->name\n                        )\n                    ),\n                   'context' => array(              \n                        \"pageUri\" => env('REACT_SERVER_BASE_URL').'/signup',\n                        \"pageName\" => \"Signup page\"                \n                    ),\n                );          \n                $post_json = json_encode($arr);\n                HubspotHelpers::storeForm($post_json, env('HUBSPOT_PORTAL_ID'), env('HUBSPOT_SIGNUP_FORM_GUID'));\n            }                    \n            \n            $token = JWTAuth::fromUser($user);\n\n            return response()->json([\n                            'token' => \"Bearer \" . $token,\n                            'user' => $user,\n                        ]);     \n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/Auth/VerificationController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\VerifiesEmails;\n\nclass VerificationController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Email Verification Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling email verification for any\n    | user that recently registered with the application. Emails may also\n    | be re-sent if the user didn't receive the original email message.\n    |\n    */\n\n    use VerifiesEmails;\n\n    /**\n     * Where to redirect users after verification.\n     *\n     * @var string\n     */\n    protected $redirectTo = '/home';\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('auth');\n        $this->middleware('signed')->only('verify');\n        $this->middleware('throttle:6,1')->only('verify', 'resend');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/BusinessRequestController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Mail\\SendBusinessRequestMail;\nuse App\\Models\\BusinessRequest;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Illuminate\\Validation\\Rule;\nuse Validator;\n\nclass BusinessRequestController extends Controller\n{          \n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n    }\n\n    public function store(Request $request) \n    {     \n        $customMessages = [\n            'unique' => 'Business request already sent using this email address.'\n        ];\n           \n        $validator = Validator::make($request->all(), [\n            'first_name' => 'required | max: 255',       \n            'last_name' => 'required | max: 255',       \n            'business_name' => 'required | max: 255',                 \n            'contact_email' => 'required|email|unique:business_requests',       \n            'message' => 'required',       \n        ], $customMessages);\n        \n        \n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['first_name', 'last_name', 'business_name', 'contact_email', 'message']);\n        $isSaved = BusinessRequest::create($input);\n        \n        if ($isSaved) {\n            Mail::to(config('wagenabled.send_contact_to_email'))->send(new SendBusinessRequestMail($isSaved));\n            $this->message = \"Your business request has been received, We'll get back to you shortly.\"; \n            $this->code = $this->statusCodes['success']; \n        }\n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/ContactController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Mail\\SendContactMail;\nuse App\\Models\\Contact;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Validator;\n\nclass ContactController extends Controller\n{          \n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n    }\n\n    public function store(Request $request) \n    {                     \n        $validator = Validator::make($request->all(), [\n            'name' => 'required | max: 255',                                    \n            'email' => 'required | email',       \n            'message' => 'required',       \n        ]);        \n        \n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['name', 'email', 'message']);\n        $isSaved = Contact::create($input);\n        \n        if ($isSaved) {\n\n            // send email to Wag Enabled \n            Mail::to(config('wagenabled.send_contact_to_email'))->send(new SendContactMail($isSaved));\n\n            $this->message = \"Your message has been received, We'll get back to you shortly.\"; \n            $this->code = $this->statusCodes['success'];   \n        }\n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/HomeController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\Contact;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProDeal;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\Testimonial;\nuse Illuminate\\Http\\Request;\nuse Validator;\n\nclass HomeController extends Controller\n{          \n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n    }\n\n    public function getTestimonialCounts(Request $request) \n    {                             \n\n        $this->responseData[\"watchAndLearnCounts\"] = WatchAndLearn::count();\n        $this->responseData[\"petProCounts\"] = PetPro::count();\n        $this->responseData[\"dealCounts\"] = PetProDeal::active()->count();\n        $this->message = \"\"; \n        $this->code = $this->statusCodes['success']; \n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getFeaturedPetProList(Request $request) \n    {            \n        $this->responseData[\"featured_pet_pro_list\"] = PetPro::select(['id', 'slug', 'featured_title', 'store_name', 'featured_description', 'is_featured_pet_pro' ])\n                                                            ->with('coverImage')               \n                                                            ->orderBy('id', 'desc')                   \n                                                            ->where('is_featured_pet_pro', 1)\n                                                            ->get();\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success']; \n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\t}\n\t\n\tpublic function getTestimonialList(Request $request) \n    {            \n        $this->responseData[\"testimonial_list\"] = Testimonial::all();\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success']; \n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/NewsletterController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\HubspotHelpers;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\City;\nuse App\\Models\\Newsletter;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Validation\\Rule;\nuse Validator;\n\nclass NewsletterController extends Controller\n{          \n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n    }\n\n    public function store(Request $request) \n    {    \n        $customMessages = [\n            'unique' => 'Your email address already registered'\n        ];\n           \n        $validator = Validator::make($request->all(), [              \n            'email' => 'required|email|unique:newsletters',\n            'first_name' => 'required | max: 255', \n            'zipcode' => ' max: 20',           \n        ], $customMessages);\n        \n        \n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['email', 'first_name', 'zipcode']);\n\n        $city = City::where('zipcode', $input[\"zipcode\"])->first();        \n        if ( !$city ) { \n            $validator->getMessageBag()->add('zipcode', 'Please enter correct zipcode'); \n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $isSaved = Newsletter::create($input);\n        \n        if ($isSaved) {\n\n            $arr = array(\n               'fields' => array(\n                    array(\n                        'name' => 'email',\n                        'value' => $isSaved->email\n                    ),\n                    array(\n                        'name' => 'firstname',\n                        'value' => $isSaved->first_name\n                    ),\n                    array(\n                        'name' => 'zip',\n                        'value' => $isSaved->zipcode\n                    )\n                ),\n               'context' => array(              \n                    \"pageUri\" => env('REACT_SERVER_BASE_URL'),\n                    \"pageName\" => \"Newsletter page\"                \n                ),\n            );\n\n            $post_json = json_encode($arr);\n            HubspotHelpers::storeForm($post_json, env('HUBSPOT_PORTAL_ID'), env('HUBSPOT_NEWSLETTER_FORM_GUID'));\n\n            $this->message = \" Thank you for subscribing to Wag Enabled!\"; \n            $this->code = $this->statusCodes['success'];   \n        }\n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/PetProController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\Requests\\User\\UserPetProRequest;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Library\\GoogleMapHelper;\nuse App\\Models\\BusinessNature;\nuse App\\Models\\City;\nuse App\\Models\\PetPro;\nuse App\\Models\\PetProCategory;\nuse App\\Models\\PetProDeal;\nuse App\\Models\\PetProDealClaim;\nuse App\\Models\\PetProGallery;\nuse App\\Models\\PetProReview;\nuse App\\Models\\PetProSelectedBusinessNature;\nuse App\\Models\\PetProSelectedCategory;\nuse App\\Models\\PetProServicesOffered;\nuse App\\Models\\PetProTimetable;\nuse App\\Models\\UserLovedPetPro;\nuse Auth;\nuse Carbon\\Carbon;\nuse DB;\nuse Illuminate\\Http\\Request;\nuse Validator;\n\nclass PetProController extends Controller\n{\n    public function __construct()\n    {\n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n    }\n\n    public function careFromBestList(Request $request)\n    {\n        $this->responseData[\"care_from_best_list\"] = PetPro::withCount(['deals' => function ($query) {\n            $query->active();\n        }])\n            ->with('coverImage')\n            ->orderBy('avg_rating', 'desc')\n            ->orderBy('id', 'desc')\n            ->take(config('wagenabled.no_of_care_from_best_display', 6))\n            ->get();\n\n        foreach ($this->responseData[\"care_from_best_list\"] as $key => $petPro) {\n            $petPro['categories'] = PetProSelectedCategory::leftjoin('pet_pro_categories', 'pet_pro_categories.id', '=', 'pet_pro_selected_categories.category_id')\n                ->select([\n                    'pet_pro_categories.id',\n                    'pet_pro_categories.name as name',\n                ])\n                ->where('pet_pro_selected_categories.pet_pro_id', '=', $petPro->id)\n                ->get();\n        }\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getList(Request $request, $page = 1)\n    {\n        $input = $request->only(['latitude', 'longitude']);\n        $perPage = config(\"wagenabled.per_page_pet_pro_results\", 6);\n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;\n\n        $is_seach_by_location = false;\n\n        $category_id = $request->get('category_id', \"\");\n        $business_id = $request->get('business_id', \"\");\n        $search = $request->get('search', \"\");\n        $sort_by = $request->get('sort_by', \"\");\n\n        $pet_pros = PetPro::withCount(['deals' => function ($query) {\n            $query->active();\n        },\n        ])\n            ->with('coverImage', 'city', 'state');\n\n        $category_id = json_decode($category_id);\n        if ($category_id != null && count($category_id)) {\n            $allCatValue = false;\n            $categoryIdArray = [];\n            foreach ($category_id as $key => $value) {\n                if ($value->value != \"\") {\n                    $categoryIdArray[] = $value->value;\n                } else {\n                    $allCatValue = true;\n                }\n            }\n            if (!$allCatValue) {\n                $selectedCategoryPetProIds = PetProSelectedCategory::whereIn('category_id', $categoryIdArray)->pluck('pet_pro_id')->toArray();\n                $pet_pros = $pet_pros->whereIn('id', $selectedCategoryPetProIds);\n            }\n        }\n\n        $business_id = json_decode($business_id);\n        if ($business_id != null && count($business_id)) {\n            $allvalue = false;\n            $businessIdArray = [];\n            foreach ($business_id as $key => $value) {\n                if ($value->value != \"\") {\n                    $businessIdArray[] = $value->value;\n                } else {\n                    $allvalue = true;\n                }\n            }\n            if (!$allvalue) {\n                $selectedBusinessPetProIds = PetProSelectedBusinessNature::whereIn('business_id', $businessIdArray)->pluck('pet_pro_id')->toArray();\n                $pet_pros = $pet_pros->whereIn('id', $selectedBusinessPetProIds);\n            }\n        }\n\n        if ($search) {\n            // $pet_pros = $pet_pros->Where('store_name', 'like', '%'.$search.'%' );\n            $pet_pros = $pet_pros->where(function ($query) use ($search) {\n                $query\n                    ->where('store_name', 'like', '%' . $search . '%')\n                    ->orWhere('description', 'like', '%' . $search . '%')\n                    ->orWhereHas('servicesOffered', function ($q) use ($search) {\n                        $q->where('pet_pro_services_offered.service', 'like', '%' . $search . '%'); // '=' is optional\n                    });\n            });\n        }\n        // if( $sort_by == 'nearest' ) {\n\n        /*if( empty($input[\"longitude\"]) || empty($input[\"latitude\"]) ) {\n        $user = Auth::user();\n        if ($user) {\n        if($user->city) {\n        $input[\"longitude\"] = $user->city->city_latitude;\n        $input[\"latitude\"] = $user->city->city_longitude;\n        }\n        }\n        }*/\n        if (!(empty($input[\"longitude\"]) || empty($input[\"latitude\"]))) {\n            $is_seach_by_location = true;\n            //$pet_pros = $pet_pros->selectRaw('pet_pros.*,  ( 6367 * acos( cos( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin( radians( ? ) ) * sin( radians( latitude ) ) ) ) AS distance', [$input[\"latitude\"], $input[\"longitude\"], $input[\"latitude\"]]);\n            $pet_pros_with_lat_long = DB::table('pet_country_state_city')->selectRaw('pet_country_state_city.*,  ( 6367 * acos( cos( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin( radians( ? ) ) * sin( radians( latitude ) ) ) ) AS distance', [$input[\"latitude\"], $input[\"longitude\"], $input[\"latitude\"]]);\n        }\n        // }\n\n        $totalRecords = $pet_pros->count();\n\n        $this->responseData = [\n            \"pet_pro_list\" => [],\n        ];\n\n        if ($totalRecords > 0) {\n\n            $petProArr = clone $pet_pros;\n            $totalRecords = count($petProArr->get());\n            //if( $sort_by ) {\n            switch ($sort_by) {\n                case 'popular':\n                    $pet_pros = $pet_pros->orderBy(\"avg_rating\", \"DESC\")\n                        ->orderBy(\"id\", \"DESC\");\n                    break;\n\n                case 'deal_offered':\n                    $pet_pros = $pet_pros->orderBy(\"deals_count\", \"DESC\")\n                        ->orderBy(\"id\", \"DESC\");\n                    break;\n\n                case 'latest':\n                    $pet_pros = $pet_pros->orderBy(\"id\", \"DESC\");\n                    break;\n\n                default:\n                    $pet_pros = $pet_pros->orderBy(\"id\", \"DESC\");\n                    break;\n            }\n            //}\n            if ($is_seach_by_location) {\n                $pet_pro_list = $pet_pros->get();\n            } else {\n                $pet_pro_list = $pet_pros->skip($skip)\n                    ->take($perPage)\n                    ->get();\n            }\n\n            $this->responseData[\"pet_pro_list\"] = $pet_pro_list;\n\n            foreach ($this->responseData[\"pet_pro_list\"] as $key => $petPro) {\n                $petPro['categories'] = PetProSelectedCategory::leftjoin('pet_pro_categories', 'pet_pro_categories.id', '=', 'pet_pro_selected_categories.category_id')\n                    ->select([\n                        'pet_pro_categories.id',\n                        'pet_pro_categories.name as name',\n                    ])\n                    ->where('pet_pro_selected_categories.pet_pro_id', '=', $petPro->id)\n                    ->get();\n            }\n        }\n        if ($is_seach_by_location) {\n            $pet_pros_with_lat_long = $pet_pros_with_lat_long->orderBy(\\DB::raw('-`distance`'), 'desc')->havingRaw('distance <= ?', [25]); //->orHavingRaw('distance is null')\n            $this->responseData[\"pet_pro_list\"] = $this->addMatchOne($pet_pros_with_lat_long->get(), $this->responseData[\"pet_pro_list\"]);\n            $totalPages = ceil(count($this->responseData[\"pet_pro_list\"]) / $perPage);\n\n            $this->responseData[\"total_page\"] = $totalPages;\n            $this->responseData[\"total_records\"] = count($this->responseData[\"pet_pro_list\"]);\n            $skiparray = 0;\n            $limitarray = $perPage;\n            if ($page > 1) {\n                $skiparray = ($perPage * $page) - $perPage;\n                $limitarray = ($perPage * $page) - 1;\n            }\n            $this->responseData[\"pet_pro_list\"] = array_slice($this->responseData[\"pet_pro_list\"], $skiparray, $limitarray);\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success'];\n\n            return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n        } else {\n\n            $totalPages = ceil($totalRecords / $perPage);\n            $this->responseData[\"total_page\"] = $totalPages;\n            $this->responseData[\"total_records\"] = $totalRecords;\n\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success'];\n\n            return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n        }\n\n    }\n\n    public function getMapList(Request $request)\n    {\n        $input = $request->only(['latitude', 'longitude']);\n        $is_seach_by_location = false;\n\n        $category_id = $request->get('category_id', \"\");\n        $search = $request->get('search', \"\");\n\n        $pet_pros = PetPro::withCount(['deals' => function ($query) {\n            $query->active();\n        },\n        ])\n            ->with('coverImage');\n\n        if ($category_id) {\n            $selectedCategoryPetProIds = PetProSelectedCategory::where('category_id', $category_id)->pluck('pet_pro_id')->toArray();\n            $pet_pros = $pet_pros->whereIn('id', $selectedCategoryPetProIds);\n        }\n\n        if ($search) {\n            $pet_pros = $pet_pros->where(function ($query) use ($search) {\n                $query\n                    ->where('store_name', 'like', '%' . $search . '%')\n                    ->orWhere('description', 'like', '%' . $search . '%')\n                    ->orWhereHas('servicesOffered', function ($q) use ($search) {\n                        $q->where('pet_pro_services_offered.service', 'like', '%' . $search . '%'); // '=' is optional\n                    });\n            });\n        }\n\n        if (!(empty($input[\"longitude\"]) || empty($input[\"latitude\"]))) {\n            $is_seach_by_location = true;\n            $pet_pros = $pet_pros->selectRaw('pet_pros.*,  ( 6367 * acos( cos( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin( radians( ? ) ) * sin( radians( latitude ) ) ) ) AS distance', [$input[\"latitude\"], $input[\"longitude\"], $input[\"latitude\"]])->orderBy(\\DB::raw('-`distance`'), 'desc')->havingRaw('distance <= ?', [25])->orHavingRaw('distance is null');\n        }\n\n        $pet_pro_list = $pet_pros->get();\n\n        $this->responseData[\"pet_pro_list\"] = $pet_pro_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getDetails(Request $request, $slug)\n    {\n\n        $pet_pro = PetPro::with(['country', 'state', 'city', 'otherImage', 'coverImage', 'images', 'servicesOffered',\n            'deals' => function ($query) {\n                $query->active();\n            },\n            'events' => function ($query) {\n                $query->active();\n            },\n        ])\n            ->Where('slug', $slug)\n            ->first();\n        if ($pet_pro) {\n            $pet_pro['categories'] = PetProSelectedCategory::leftjoin('pet_pro_categories', 'pet_pro_categories.id', '=', 'pet_pro_selected_categories.category_id')\n                ->select([\n                    'pet_pro_categories.id',\n                    'pet_pro_categories.name as name',\n                ])\n                ->where('pet_pro_selected_categories.pet_pro_id', '=', $pet_pro->id)\n                ->get();\n\n            $this->responseData[\"is_liked\"] = 0;\n            $user = Auth::user();\n            if ($user) {\n                if ($user->count() != 0) {\n                    $this->responseData[\"is_liked\"] = UserLovedPetPro::where(\"user_id\", $user->id)->where(\"pet_pro_id\", $pet_pro->id)->first() ? 1 : 0;\n                }\n            }\n\n            $this->responseData[\"per_pro\"] = $pet_pro;\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success'];\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }\n\n    public function likeDislikePetPro(Request $request, $slug)\n    {\n\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $pet_pro = PetPro::Where('slug', $slug)\n            ->first();\n        if ($pet_pro) {\n            $isLoved = UserLovedPetPro::where('user_id', $user->id)\n                ->where('pet_pro_id', $pet_pro->id)\n                ->first();\n            if ($isLoved) {\n                $isLoved->delete();\n                $this->responseData[\"is_liked\"] = 0;\n                $this->message = \"Pet pro removed from your profile\";\n            } else {\n                $isSaved = UserLovedPetPro::create([\n                    'user_id' => $user->id,\n                    'pet_pro_id' => $pet_pro->id,\n                ]);\n                $this->responseData[\"is_liked\"] = 1;\n                $this->message = \"Pet pro saved to your profile\";\n            }\n            $this->code = $this->statusCodes['success'];\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function storeReview(Request $request, $slug)\n    {\n\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'rate' => 'required',\n            'description' => 'required',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $pet_pro = PetPro::Where('slug', $slug)\n            ->first();\n        if ($pet_pro) {\n            $input = $request->only(['rate', 'description']);\n            $input[\"user_id\"] = $user->id;\n            $input[\"name\"] = $user->name;\n            $input[\"pet_pro_id\"] = $pet_pro->id;\n            $isSaved = PetProReview::create($input);\n            if ($isSaved) {\n\n                $no = 1;\n                if ($pet_pro->avg_rating != 0) {\n                    $no = ($pet_pro->total_rated / $pet_pro->avg_rating) + 1;\n                }\n                $total_rated = $pet_pro->total_rated + $input[\"rate\"];\n                $avg_rating = ($total_rated / $no);\n\n                $pet_pro_details[\"total_rated\"] = $total_rated;\n                $pet_pro_details[\"avg_rating\"] = $avg_rating;\n                $pet_pro->update($pet_pro_details);\n\n                $this->responseData[\"avg_rating\"] = round($avg_rating, 2);\n                $this->responseData[\"pet_pro_review\"] = [PetProReview::with('user')\n                        ->where(\"id\", $isSaved->id)\n                        ->first()];\n\n                $this->message = \"Thank you for leaving a review!\";\n                $this->code = $this->statusCodes['success'];\n            }\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getReviewList(Request $request, $slug, $lastId = 0)\n    {\n        $perPage = config(\"wagenabled.no_of_review_display\", 3);\n        $pet_pro = PetPro::Where('slug', $slug)\n            ->first();\n        if ($pet_pro) {\n\n            $this->responseData[\"is_more_review\"] = 0;\n            $this->responseData[\"pet_pro_reviews\"] = [];\n            $this->responseData[\"reviews_count\"] = 0;\n            $this->responseData[\"total_records\"] = 0;\n\n            if ($lastId == 0) {\n                $last_pet_pro_review = PetProReview::select('id')\n                    ->where(\"pet_pro_id\", $pet_pro->id)\n                    ->orderBy('id', 'desc')\n                    ->first();\n                if ($last_pet_pro_review) {\n                    $lastId = $last_pet_pro_review->id;\n                    $lastId++;\n                }\n            }\n\n            if ($lastId != 0) {\n\n                $reviews = PetProReview::with('user')\n                    ->where(\"pet_pro_id\", $pet_pro->id);\n\n                $reviews_count = clone $reviews;\n                $reviews_count = $reviews_count->count();\n\n                $reviews = $reviews->where(\"id\", \"<\", $lastId)\n                    ->orderBy(\"id\", \"desc\")\n                    ->take($perPage)\n                    ->get();\n\n                $last_record = PetProReview::where(\"pet_pro_id\", $pet_pro->id)\n                    ->where(\"id\", \"<\", $lastId)\n                    ->orderBy(\"id\", \"desc\")\n                    ->skip($perPage)\n                    ->first();\n\n                $is_more_records = ($last_record) ? 1 : 0;\n\n                $this->responseData[\"is_more_review\"] = $is_more_records;\n                $this->responseData[\"pet_pro_reviews\"] = $reviews;\n                $this->responseData[\"reviews_count\"] = $reviews->count();\n                $this->responseData[\"total_records\"] = $reviews_count;\n\n            }\n\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success'];\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function deleteReview(Request $request, $slug, $id)\n    {\n\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $pet_pro = PetPro::Where('slug', $slug)\n            ->first();\n        if ($pet_pro) {\n            $petProReview = PetProReview::where('user_id', $user->id)\n                ->where('pet_pro_id', $pet_pro->id)\n                ->where('id', $id)\n                ->first();\n            if ($petProReview) {\n                $no = 1;\n                if ($pet_pro->avg_rating != 0) {\n                    $no = ($pet_pro->total_rated / $pet_pro->avg_rating) - 1;\n                }\n                $total_rated = $pet_pro->total_rated - $petProReview->rate;\n                if ($no) {\n                    $avg_rating = ($total_rated / $no);\n                } else {\n                    $avg_rating = $total_rated;\n                }\n\n                $pet_pro_details[\"total_rated\"] = $total_rated;\n                $pet_pro_details[\"avg_rating\"] = $avg_rating;\n\n                $pet_pro->update($pet_pro_details);\n                $petProReview->delete();\n\n                $this->responseData[\"avg_rating\"] = round($avg_rating, 2);\n                $this->message = \"review deleted successfully\";\n                $this->code = $this->statusCodes['success'];\n            }\n        }\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function claimDeal(Request $request, $slug, $pet_deal_id)\n    {\n\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $pet_pro = PetPro::Where('slug', $slug)\n            ->first();\n        if ($pet_pro) {\n            $pet_pro_deal = PetProDeal::where('pet_pro_id', $pet_pro->id)\n                ->find($pet_deal_id);\n            if ($pet_pro_deal) {\n\n                $isClaimed = PetProDealClaim::where('user_id', $user->id)\n                    ->where('pet_pro_deal_id', $pet_pro_deal->id)\n                    ->first();\n                if (!$isClaimed) {\n                    $input[\"user_id\"] = $user->id;\n                    $input[\"pet_pro_deal_id\"] = $pet_pro_deal->id;\n                    $isSaved = PetProDealClaim::create($input);\n                    if ($isSaved) {\n                        $this->message = \"Deal claimed successfully\";\n                        $this->code = $this->statusCodes['success'];\n                    }\n                } else {\n                    $this->message = \"Already claimed this deal\";\n                }\n            }\n        }\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getCategoryList(Request $request)\n    {\n\n        $category_data = PetProCategory::select(['id', 'name'])\n            ->orderBy('name')\n            ->get();\n\n        $category_list = [];\n        foreach ($category_data as $category) {\n            $category_list[] = [\"value\" => $category->id, \"label\" => $category->name];\n        }\n\n        $this->responseData[\"category_list\"] = $category_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }\n\n    public function getBusinessNatureList(Request $request)\n    {\n\n        $business_nature_data = BusinessNature::select(['id', 'name'])\n            ->orderBy('name')\n            ->get();\n\n        $business_nature_list = [];\n        foreach ($business_nature_data as $business) {\n            $business_nature_list[] = [\"value\" => $business->id, \"label\" => $business->name];\n        }\n\n        $this->responseData[\"business_nature_list\"] = $business_nature_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }\n\n    public function addMatchOne($petProsLatLongArr, $petProsArr)\n    {$petProsLatestArray = [];\n        foreach ($petProsArr as $key1 => $match) {\n            foreach ($petProsLatLongArr as $key => $value) {\n\n                if ($match->id == $value->pet_pro_id) {\n                    $petProsLatestArray[] = $match;\n                }\n            }\n        }\n\n        return json_decode(json_encode($petProsLatestArray));\n    }\n\n    public function addLocationAnotherTable()\n    {\n        $pet_pros = PetPro::all();\n        foreach ($pet_pros as $key => $value) {\n            if ($value->state_id && $value->city_id) {\n                DB::table('pet_country_state_city')->insert([\n                    'pet_pro_id' => $value->id,\n                    'country_id' => 231,\n                    'state_id' => $value->state_id,\n                    'city_id' => $value->city_id,\n                    'latitude' => $value->latitude,\n                    'longitude' => $value->longitude,\n                ]);\n            }\n        }\n    }\n\n    /////////////////\n    //By Umar\n    ////////////////\n\n    public function newPetPros(UserPetProRequest $request)\n    {\n        $pet_pro_input = $request->only(['store_name', 'website_url', 'email', 'phone_number', 'address_line_1', 'address_line_2', 'postal_code', 'description']);\n        $pet_pro_input['user_id'] = Auth::user()->id;\n        $pet_pro_input['user_type'] = 'User';\n        $time_input = $request->only(['monday_open', 'monday_close', 'tuesday_open', 'tuesday_close', 'wednesday_open', 'wednesday_close', 'thursday_open', 'thursday_close', 'friday_open', 'friday_close', 'saturday_open', 'saturday_close', 'sunday_open', 'sunday_close']);\n        $inputCategories = $request['category_id'];\n        $inputBusinessNatures = $request['business_id'];\n        try {\n            if ($request->get('is_featured_pet_pro')) {\n\n                $pet_pro_input['is_featured_pet_pro'] = 1;\n                $pet_pro_input['featured_title'] = $request->get('featured_title');\n                $pet_pro_input['featured_description'] = $request->get('featured_description');\n            }\n            $pet_pro_input['new_detail'] = json_encode($pet_pro_input);\n            $isSaved = PetPro::create($pet_pro_input);\n            $pet_pro = PetPro::where('id', $isSaved->id)->first();\n            if ($request->country_id && $request->state_id && $request->city_id) {\n                foreach ($request->country_id as $index => $row) {\n                    $city_latitude = null;\n                    $city_longitude = null;\n                    $city = City::where('id', $request->city_id[$index])->first();\n                    if ($city) {\n                        $city_latitude = $city->city_latitude;\n                        $city_longitude = $city->city_longitude;\n                    }\n                    $pet_pro->countries()->attach($row, ['state_id' => $request->state_id[$index], 'city_id' => $request->city_id[$index], 'latitude' => $city_latitude, 'longitude' => $city_longitude]);\n                }\n            }\n\n            if ($isSaved) {\n                if (isset($inputCategories) && count($inputCategories)) {\n                    $currentTime = Carbon::now();\n                    $insertArray = [];\n                    foreach ($inputCategories as $categoryId) {\n                        $insertArray[] = [\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"category_id\" => $categoryId,\n                            \"created_at\" => $currentTime,\n                            \"updated_at\" => $currentTime,\n                        ];\n                    }\n                    $isSaved->categories()->insert($insertArray);\n                }\n\n                if (isset($inputBusinessNatures) && count($inputBusinessNatures)) {\n                    $currentTime = Carbon::now();\n                    $insertArray = [];\n                    foreach ($inputBusinessNatures as $businessId) {\n                        $insertArray[] = [\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"business_id\" => $businessId,\n                            \"created_at\" => $currentTime,\n                            \"updated_at\" => $currentTime,\n                        ];\n                    }\n                    $isSaved->business()->insert($insertArray);\n                }\n                if ($isSaved->address_line_1 || $isSaved->address_line_2 || $isSaved->city_id || $isSaved->state_id || $isSaved->postal_code) {\n                    $addressLatLong = GoogleMapHelper::getLatLongFromAddress($isSaved);\n                    $isSaved->update($addressLatLong);\n                }\n                $days = config('wagenabled.days');\n                foreach ($days as $day) {\n                    $open_day = $day . \"_open\";\n                    $close_day = $day . \"_close\";\n                    if (isset($time_input[$open_day])) {\n                        $time_input[$open_day] = Carbon::parse($time_input[$open_day]/*, $isSaved->timezone*/)->format('H:i:s');\n                    } else {\n                        $time_input[$open_day] = \"\";\n                    }\n                    if (isset($time_input[$close_day])) {\n                        $time_input[$close_day] = Carbon::parse($time_input[$close_day]/*, $isSaved->timezone*/)->format('H:i:s');\n                    } else {\n                        $time_input[$close_day] = \"\";\n                    }\n                    PetProTimetable::create([\n                        \"pet_pro_id\" => $isSaved->id,\n                        \"day\" => $day,\n                        \"open\" => $time_input[$open_day] ? $time_input[$open_day] : null,\n                        \"close\" => $time_input[$close_day] ? $time_input[$close_day] : null,\n                    ]);\n                }\n                $services = $request->get('services');\n                if ($services) {\n                    foreach ($services as $service) {\n                        PetProServicesOffered::create([\n                            \"pet_pro_id\" => $isSaved->id,\n                            \"service\" => $service,\n                        ]);\n                    }\n                }\n\n                $galleryInput[\"pet_pro_id\"] = $isSaved->id;\n                if ($request->row) {\n                    foreach ($request->row as $index => $row) {\n                        if (isset($row[\"image\"])) {\n                            $galleryInput[\"is_cropped_image\"] = 1;\n                            $isCreateThumb = \"1\";\n                            $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), \"\", $isCreateThumb, $height = 250, $width = 380, $row['cropped_image'], $isThumbOptimized = true);\n                            if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                                $galleryInput[\"gallery_image\"] = $imageStore['name'];\n                            }\n                            if ($request->get('is_cover_image')) {\n                                if ($index == $request->get('is_cover_image')) {\n                                    $galleryInput['is_cover_image'] = 1;\n                                } else {\n                                    $galleryInput['is_cover_image'] = 0;\n                                }\n                            }\n                            $isSaved = PetProGallery::create($galleryInput);\n                        }\n                    }\n                }\n                $petPro = PetPro::find($isSaved->id);\n                $petPro->status = 'pending';\n                $petPro->update();\n                return WagEnabledHelpers::apiJsonResponse($petPro, config(\"wagenabled.status_codes.success\"), 'Pet pro created');\n            }\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.normal_error\"), 'Sorry, Something went wrong please try again');\n        } catch (\\Exception $e) {\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.server_side\"), $e->getMessage());\n        }\n\n    }\n\n    public function completePetPros(UserPetProRequest $request, $id)\n    {\n        $inputCategories = $request->get(\"category_id\", []);\n        $inputBusinessNatures = $request->get(\"business_id\", []);\n        $city = City::where('id', $request->get(\"city_id\"))->first();\n\n        try {\n            $result = PetPro::find($id);\n            if ($result) {\n\n                $pet_pro_input = $request->only(['store_name', 'website_url', 'email', 'phone_number', 'address_line_1', 'address_line_2', 'city_id', 'state_id', 'postal_code', 'description', 'donation_link']);\n                $time_input = $request->only(['monday_open', 'monday_close', 'tuesday_open', 'tuesday_close', 'wednesday_open', 'wednesday_close', 'thursday_open', 'thursday_close', 'friday_open', 'friday_close', 'saturday_open', 'saturday_close', 'sunday_open', 'sunday_close']);\n                if ($request->get('is_featured_pet_pro')) {\n                    $pet_pro_input['is_featured_pet_pro'] = 1;\n                    $pet_pro_input['featured_title'] = $request->get('featured_title');\n                    $pet_pro_input['featured_description'] = $request->get('featured_description');\n                } else {\n                    $pet_pro_input['is_featured_pet_pro'] = 0;\n                    $pet_pro_input['featured_title'] = null;\n                    $pet_pro_input['featured_description'] = null;\n                }\n                if ($request->get('is_featured_pet_pro')) {\n                    $pet_pro_input['is_featured_pet_pro'] = 1;\n                    $pet_pro_input['featured_title'] = $request->get('featured_title');\n                    $pet_pro_input['featured_description'] = $request->get('featured_description');\n                } else {\n                    $pet_pro_input['is_featured_pet_pro'] = 0;\n                    $pet_pro_input['featured_title'] = null;\n                    $pet_pro_input['featured_description'] = null;\n                }\n\n                $isSaved = $pet_pro_input;\n                $pet_pro_input = json_encode($pet_pro_input);\n                $result->update([\n                    'new_detail' => $pet_pro_input,\n                ]);\n                if ($isSaved) {\n                    $currentTime = Carbon::now();\n                    if (count($inputCategories)) {\n                        foreach ($inputCategories as $categoryId) {\n                            $insertArray = [\n                                \"pet_pro_id\" => $result->id,\n                                \"category_id\" => $categoryId,\n                            ];\n\n                            $res = $result->categories()->updateOrCreate($insertArray, $insertArray);\n                            $insertedCategories[] = $categoryId;\n                        }\n                    }\n\n                    if (count($inputBusinessNatures)) {\n                        foreach ($inputBusinessNatures as $businessId) {\n                            $insertArray = [\n                                \"pet_pro_id\" => $result->id,\n                                \"business_id\" => $businessId,\n                            ];\n\n                            $res = $result->business()->updateOrCreate($insertArray, $insertArray);\n                            $insertedBusiness[] = $businessId;\n                        }\n                    }\n                    if (isset($insertedCategories)) {\n                        $result->categories()->whereNotIn(\"category_id\", $insertedCategories)->delete();\n                    }\n                    if (isset($insertedBusiness)) {\n                        $result->business()->whereNotIn(\"business_id\", $insertedBusiness)->delete();\n                    }\n\n                    if ($city) {\n                        PetPro::where('id', $id)->update([\n                            \"latitude\" => $city->city_latitude,\n                            \"longitude\" => $city->city_longitude,\n                        ]);\n                    }\n                    if ($result->address_line_1 || $result->address_line_2 || $result->city_id || $result->state_id || $result->postal_code) {\n                        $addressLatLong = GoogleMapHelper::getLatLongFromAddress($result);\n                        $result->update($addressLatLong);\n                    } elseif (!$city) {\n                        $returnArr = [\n                            \"latitude\" => null,\n                            \"longitude\" => null,\n                        ];\n                        $result->update($returnArr);\n                    }\n                    $days = config('wagenabled.days');\n                    foreach ($days as $day) {\n                        $open_day = $day . \"_open\";\n                        $close_day = $day . \"_close\";\n                        if (isset($time_input[$open_day])) {\n                            $time_input[$open_day] = Carbon::parse($time_input[$open_day]/*, $result->timezone*/)->format('H:i:s');\n                        } else {\n                            $time_input[$open_day] = \"\";\n                        }\n                        if (isset($time_input[$close_day])) {\n                            $time_input[$close_day] = Carbon::parse($time_input[$close_day]/*, $result->timezone*/)->format('H:i:s');\n                        } else {\n                            $time_input[$close_day] = \"\";\n                        }\n                        $pet_pro_timetable = PetProTimetable::where(\"pet_pro_id\", $result->id)\n                            ->where(\"day\", $day)\n                            ->first();\n                        if ($pet_pro_timetable) {\n                            $pet_pro_timetable->open = $time_input[$open_day] ? $time_input[$open_day] : null;\n                            $pet_pro_timetable->close = $time_input[$close_day] ? $time_input[$close_day] : null;\n                            $pet_pro_timetable->save();\n                        } else {\n                            PetProTimetable::create([\n                                \"pet_pro_id\" => $result->id,\n                                \"day\" => $day,\n                                \"open\" => $time_input[$open_day] ? $time_input[$open_day] : null,\n                                \"close\" => $time_input[$close_day] ? $time_input[$close_day] : null,\n                            ]);\n                        }\n                    }\n                    $services = $request->get('services');\n                    if ($services) {\n                        foreach ($services as $service) {\n                            PetProServicesOffered::create([\n                                \"pet_pro_id\" => $result->id,\n                                \"service\" => $service,\n                            ]);\n                        }\n                    }\n\n                    $old_services = $request->get('old_services');\n                    if ($old_services) {\n                        foreach ($old_services as $old_service_id => $service_name) {\n                            PetProServicesOffered::where('id', $old_service_id)->update([\n                                \"service\" => $service_name,\n                            ]);\n                        }\n                    }\n                    $deletedServices = $request->get('deletedServices');\n                    if ($deletedServices) {\n                        $delete_services = explode(\",\", $deletedServices);\n                        foreach ($delete_services as $id) {\n                            PetProServicesOffered::where('id', $id)->delete();\n                        }\n                    }\n                    $galleryInput[\"pet_pro_id\"] = $result->id;\n                    if ($request->row) {\n                        foreach ($request->row as $index => $row) {\n                            if (isset($row[\"image\"])) {\n                                $isCreateThumb = \"1\";\n                                $galleryInput[\"is_cropped_image\"] = 1;\n                                $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), \"\", $isCreateThumb, $height = 250, $width = 380, $row['cropped_image'], $isThumbOptimized = true);\n                                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                                    $galleryInput[\"gallery_image\"] = $imageStore['name'];\n                                }\n                                if ($request->get('is_cover_image')) {\n                                    if ($index == $request->get('is_cover_image')) {\n                                        $galleryInput['is_cover_image'] = 1;\n                                        PetProGallery::where('pet_pro_id', $result->id)->update(['is_cover_image' => 0]);\n                                    } else {\n                                        $galleryInput['is_cover_image'] = 0;\n                                    }\n                                }\n                                PetProGallery::create($galleryInput);\n                            }\n                        }\n                    }\n                    if ($request->old_row) {\n                        foreach ($request->old_row as $index => $row) {\n                            $galleryResult = PetProGallery::find($index);\n\n                            if (isset($row[\"image\"])) {\n                                $isCreateThumb = \"1\";\n                                $galleryInput[\"is_cropped_image\"] = 1;\n                                $imageStore = WagEnabledHelpers::saveUploadedImage($row[\"image\"], config(\"wagenabled.path.doc.pet_pro_gallery_image_path\"), $galleryResult->gallery_image, $isCreateThumb, $height = 250, $width = 380, $row['cropped_image'], $isThumbOptimized = true);\n                                if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                                    $updateGalleryInput[\"gallery_image\"] = $imageStore['name'];\n                                }\n                            }\n                            if ($request->get('is_cover_image')) {\n                                if (strpos($request->get('is_cover_image'), 'old_') !== false) {\n                                    if ($index == str_replace('old_', '', $request->get('is_cover_image'))) {\n                                        $updateGalleryInput['is_cover_image'] = 1;\n                                        PetProGallery::where('pet_pro_id', $result->id)->where('id', '!=', $galleryResult->id)->update(['is_cover_image' => 0]);\n                                    }\n                                } else {\n                                    $updateGalleryInput['is_cover_image'] = 0;\n                                }\n                            }\n                            if (isset($updateGalleryInput)) {\n                                $galleryResult->update($updateGalleryInput);\n                            }\n                            $updateGalleryInput = [];\n                        }\n                    }\n                    $deletedGallery = $request->get('deletedGallery');\n                    if ($deletedGallery) {\n                        $delete_gallery = explode(\",\", $deletedGallery);\n                        foreach ($delete_gallery as $id) {\n                            $galleryResult = PetProGallery::find($id);\n                            $fileOldName = $galleryResult->gallery_image;\n                            $galleryResult->delete();\n                            if ($fileOldName) {\n                                $deleteFileList = array();\n                                $deleteFileList[] = config(\"wagenabled.path.doc.pet_pro_gallery_image_path\") . $fileOldName;\n                                $deleteFileList[] = config(\"wagenabled.path.doc.pet_pro_gallery_image_path\") . 'thumb/' . $fileOldName;\n                                WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n                            }\n                        }\n                    }\n                    $petPro = PetPro::find($id);\n                    return WagEnabledHelpers::apiJsonResponse($petPro, config(\"wagenabled.status_codes.success\"), 'Pet pro updated');\n                }\n            }\n\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.normal_error\"), 'Sorry, Something went wrong please try again');\n        } catch (\\Exception $e) {\n            return WagEnabledHelpers::apiJsonResponse([], config(\"wagenabled.status_codes.server_side\"), $e->getMessage());\n        }\n    }\n\n    public function getUserPetProList(Request $request, $page = 1)\n    {\n        $user = auth()->user()->id;\n        $input = $request->only(['latitude', 'longitude']);\n        $perPage = config(\"wagenabled.per_page_pet_pro_results\", 6);\n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;\n\n        $is_seach_by_location = false;\n\n        $category_id = $request->get('category_id', \"\");\n        // $userId = $request->get('userId');\n        $business_id = $request->get('business_id', \"\");\n        $search = $request->get('search', \"\");\n        $sort_by = $request->get('sort_by', \"\");\n\n        $pet_pros = PetPro::withCount(['deals' => function ($query) {\n            $query->active();\n        },\n        ])\n            ->with('coverImage', 'city', 'state');\n\n        $pet_pros = $pet_pros->where('user_id', $user);\n        $category_id = json_decode($category_id);\n        if ($category_id != null && count($category_id)) {\n            $allCatValue = false;\n            $categoryIdArray = [];\n            foreach ($category_id as $key => $value) {\n                if ($value->value != \"\") {\n                    $categoryIdArray[] = $value->value;\n                } else {\n                    $allCatValue = true;\n                }\n            }\n            if (!$allCatValue) {\n                $selectedCategoryPetProIds = PetProSelectedCategory::whereIn('category_id', $categoryIdArray)->pluck('pet_pro_id')->toArray();\n                $pet_pros = $pet_pros->whereIn('id', $selectedCategoryPetProIds);\n            }\n        }\n\n        $business_id = json_decode($business_id);\n        if ($business_id != null && count($business_id)) {\n            $allvalue = false;\n            $businessIdArray = [];\n            foreach ($business_id as $key => $value) {\n                if ($value->value != \"\") {\n                    $businessIdArray[] = $value->value;\n                } else {\n                    $allvalue = true;\n                }\n            }\n            if (!$allvalue) {\n                $selectedBusinessPetProIds = PetProSelectedBusinessNature::whereIn('business_id', $businessIdArray)->pluck('pet_pro_id')->toArray();\n                $pet_pros = $pet_pros->whereIn('id', $selectedBusinessPetProIds);\n            }\n        }\n\n        if ($search) {\n            // $pet_pros = $pet_pros->Where('store_name', 'like', '%'.$search.'%' );\n            $pet_pros = $pet_pros->where(function ($query) use ($search) {\n                $query\n                    ->where('store_name', 'like', '%' . $search . '%')\n                    ->orWhere('description', 'like', '%' . $search . '%')\n                    ->orWhereHas('servicesOffered', function ($q) use ($search) {\n                        $q->where('pet_pro_services_offered.service', 'like', '%' . $search . '%'); // '=' is optional\n                    });\n            });\n        }\n        // if( $sort_by == 'nearest' ) {\n\n        /*if( empty($input[\"longitude\"]) || empty($input[\"latitude\"]) ) {\n        $user = Auth::user();\n        if ($user) {\n        if($user->city) {\n        $input[\"longitude\"] = $user->city->city_latitude;\n        $input[\"latitude\"] = $user->city->city_longitude;\n        }\n        }\n        }*/\n        if (!(empty($input[\"longitude\"]) || empty($input[\"latitude\"]))) {\n            $is_seach_by_location = true;\n            //$pet_pros = $pet_pros->selectRaw('pet_pros.*,  ( 6367 * acos( cos( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin( radians( ? ) ) * sin( radians( latitude ) ) ) ) AS distance', [$input[\"latitude\"], $input[\"longitude\"], $input[\"latitude\"]]);\n            $pet_pros_with_lat_long = DB::table('pet_country_state_city')->selectRaw('pet_country_state_city.*,  ( 6367 * acos( cos( radians( ? ) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians( ? ) ) + sin( radians( ? ) ) * sin( radians( latitude ) ) ) ) AS distance', [$input[\"latitude\"], $input[\"longitude\"], $input[\"latitude\"]]);\n        }\n        // }\n\n        $totalRecords = $pet_pros->count();\n\n        $this->responseData = [\n            \"pet_pro_list\" => [],\n        ];\n\n        if ($totalRecords > 0) {\n\n            $petProArr = clone $pet_pros;\n            $totalRecords = count($petProArr->get());\n            //if( $sort_by ) {\n            switch ($sort_by) {\n                case 'popular':\n                    $pet_pros = $pet_pros->orderBy(\"avg_rating\", \"DESC\")\n                        ->orderBy(\"id\", \"DESC\");\n                    break;\n\n                case 'deal_offered':\n                    $pet_pros = $pet_pros->orderBy(\"deals_count\", \"DESC\")\n                        ->orderBy(\"id\", \"DESC\");\n                    break;\n\n                case 'latest':\n                    $pet_pros = $pet_pros->orderBy(\"id\", \"DESC\");\n                    break;\n\n                default:\n                    $pet_pros = $pet_pros->orderBy(\"id\", \"DESC\");\n                    break;\n            }\n            //}\n            if ($is_seach_by_location) {\n                $pet_pro_list = $pet_pros->get();\n            } else {\n                $pet_pro_list = $pet_pros->skip($skip)\n                    ->take($perPage)\n                    ->get();\n            }\n\n            $this->responseData[\"pet_pro_list\"] = $pet_pro_list;\n\n            foreach ($this->responseData[\"pet_pro_list\"] as $key => $petPro) {\n                $petPro['categories'] = PetProSelectedCategory::leftjoin('pet_pro_categories', 'pet_pro_categories.id', '=', 'pet_pro_selected_categories.category_id')\n                    ->select([\n                        'pet_pro_categories.id',\n                        'pet_pro_categories.name as name',\n                    ])\n                    ->where('pet_pro_selected_categories.pet_pro_id', '=', $petPro->id)\n                    ->get();\n            }\n        }\n        if ($is_seach_by_location) {\n            $pet_pros_with_lat_long = $pet_pros_with_lat_long->orderBy(\\DB::raw('-`distance`'), 'desc')->havingRaw('distance <= ?', [25]); //->orHavingRaw('distance is null')\n            $this->responseData[\"pet_pro_list\"] = $this->addMatchOne($pet_pros_with_lat_long->get(), $this->responseData[\"pet_pro_list\"]);\n            $totalPages = ceil(count($this->responseData[\"pet_pro_list\"]) / $perPage);\n\n            $this->responseData[\"total_page\"] = $totalPages;\n            $this->responseData[\"total_records\"] = count($this->responseData[\"pet_pro_list\"]);\n            $skiparray = 0;\n            $limitarray = $perPage;\n            if ($page > 1) {\n                $skiparray = ($perPage * $page) - $perPage;\n                $limitarray = ($perPage * $page) - 1;\n            }\n            $this->responseData[\"pet_pro_list\"] = array_slice($this->responseData[\"pet_pro_list\"], $skiparray, $limitarray);\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success'];\n\n            return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n        } else {\n\n            $totalPages = ceil($totalRecords / $perPage);\n            $this->responseData[\"total_page\"] = $totalPages;\n            $this->responseData[\"total_records\"] = $totalRecords;\n\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success'];\n\n            return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/ProductReviewController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Mail\\SendCommentNotificaitonMail;\nuse App\\Models\\UserSavedVideo;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\WatchAndLearnCategory;\nuse App\\Models\\WatchAndLearnComment;\nuse App\\Models\\WatchAndLearnDeal;\nuse App\\Models\\WatchAndLearnDealClaim;\nuse Auth;\nuse DB;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Validator;\n\nclass ProductReviewController extends Controller\n{          \n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n        $this->watch_and_learn_comment_ids = [];\n    }\n\n    public function getList(Request $request, $page = 1) \n    {         \n        $perPage = config(\"wagenabled.per_page_watch_and_learn_results\", 6);        \n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;   \n        $parent_product_review_id = config(\"wagenabled.product_review_category_id\");\n        $category_id = $request->get('category_id', \"\");   \n        $search = $request->get('search', \"\");   \n        $sort_by = $request->get('sort_by', \"\");\n        $allCatValue  = true ;\n        $category_id = json_decode($category_id);\n        if($category_id != null && count($category_id) ) {\n            $allCatValue = false;\n            $categoryIdArray = [];\n            foreach ($category_id as $key => $value) {\n                if($value->value != \"\"){\n                    $categoryIdArray[] = $value->value;\n                }else{\n                    $allCatValue = true;\n                }\n            }\n           \n        }\n        if(!$allCatValue){\n            $watch_and_learn = WatchAndLearn::with('categories.category')->whereHas('categories',function($q) use($categoryIdArray, $parent_product_review_id){\n                $q->whereIn('selected_category_id',$categoryIdArray);\n                $q->whereHas('category',function($q) use($parent_product_review_id){\n                    $q->where('parent_id', $parent_product_review_id);\n                });\n            })->withCount(['deals' => function($query){\n                $query->active();\n            }, \n\n        ])->withCount('users')->Where('status', 'published'); \n           \n        }else{\n            $watch_and_learn = WatchAndLearn::with('categories.category')->whereHas('categories',function($q) use( $parent_product_review_id){\n                $q->whereHas('category',function($q) use($parent_product_review_id){\n                    $q->where('parent_id', $parent_product_review_id);\n                });\n            })->withCount(['deals' => function($query){\n                $query->active();\n            }, \n\n        ])->withCount('users')->Where('status', 'published');  \n        }\n        \n       \n \n\n        if( $search ) {\n            $watch_and_learn = $watch_and_learn->where( function($query) use( $search ){ \n                                            $query->Where('title', 'like', '%'.$search.'%');\n                                            $query->orWhere('description', 'REGEXP', '>[^<]*'.$search);\n                                        });\n        }\n\n        $totalRecords = $watch_and_learn->count();\n        $totalPages = ceil($totalRecords / $perPage); \n\n        $this->responseData = [\n            \"total_records\" => $totalRecords,\n            \"total_page\" => $totalPages,\n            \"watch_and_learn_list\" => [],\n        ];\n\n        if($totalRecords > 0) {  \n            \n            switch ($sort_by) {\n                case 'popular':                        \n                        $watch_and_learn =  $watch_and_learn->orderBy(\"users_count\", \"DESC\")\n                                            ->orderBy(\"id\", \"DESC\");\n                    break;\n                                   \n                case 'latest': \n                        $watch_and_learn =  $watch_and_learn->orderBy(\"id\", \"DESC\");\n                    break;\n\n                case 'deal_offered':\n                        $watch_and_learn =  $watch_and_learn->orderBy(\"deals_count\", \"DESC\")\n                                                ->orderBy(\"id\", \"DESC\");\n                        break;\n                default:                        \n                    $watch_and_learn =  $watch_and_learn->orderBy(\"id\", \"DESC\");\n                    break;\n            }\n\n            $watch_and_learn_list = $watch_and_learn->skip($skip)\n                                    ->take($perPage)\n                                    ->get();  \n\n            $this->responseData[\"watch_and_learn_list\"] = $watch_and_learn_list;\n        }\n\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success']; \n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getCategoryList(Request $request) {\n\n        $category_data = WatchAndLearnCategory::ProductReviewCategory()\n                                            ->select(['id', 'name'])\n                                            ->orderBy('name')\n                                            ->get();\n\n        $category_list = [];     \n        foreach ($category_data as $category) {\n            $category_list[] = [ \"value\" => $category->id, \"label\"=> $category->name];\n        }\n        \n        $this->responseData[\"category_list\"] = $category_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success']; \n      \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }\n\n     public function claimDeal(Request $request, $slug, $watch_and_learn_deal_id) {\n        \n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n        \n        $watch_and_learn = WatchAndLearn::Where('slug', $slug)\n                                ->first();\n        if( $watch_and_learn ) {          \n           $watch_and_learn_deal = WatchAndLearnDeal::where('watch_and_learn_id', $watch_and_learn->id)\n                                        ->find($watch_and_learn_deal_id);\n            if( $watch_and_learn_deal ) {                \n\n                $isClaimed = WatchAndLearnDealClaim::where('user_id', $user->id)\n                                        ->where('watch_and_learn_deal_id', $watch_and_learn_deal->id)\n                                        ->first();\n                if( ! $isClaimed ) {\n                    $input[\"user_id\"] = $user->id;\n                    $input[\"watch_and_learn_deal_id\"] = $watch_and_learn_deal->id;\n                    $isSaved = WatchAndLearnDealClaim::create($input);                \n                    if ($isSaved) {\n                        $this->message = \"Deal claimed successfully\";            \n                        $this->code = $this->statusCodes['success'];                 \n                    }\n                } \n                else {\n                    $this->message = \"Already claimed this deal\";            \n                }\n            }\n        }\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function addCategoryAnotherTable()\n    {\n        $product_reviews = WatchAndLearn::all();\n        foreach ($product_reviews as $key => $value) {\n            if($value->category_id){\n                DB::table('watch_and_learn_selected_categories')->insert([\n                    'watch_and_learn_id' => $value->id,\n                    'selected_category_id' => $value->category_id,\n                ]);\n            }\n        }\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/UsersController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\HubspotHelpers;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\Breed;\nuse App\\Models\\City;\nuse App\\Models\\Country;\nuse App\\Models\\PetProDeal;\nuse App\\Models\\PetProDealClaim;\nuse App\\Models\\WatchAndLearnDeal;\nuse App\\Models\\WatchAndLearnDealClaim;\nuse App\\Models\\PetProReview;\nuse App\\Models\\PetProSelectedCategory;\nuse App\\Models\\State;\nuse App\\Models\\User;\nuse App\\Models\\UserLovedPetPro;\nuse App\\Models\\UserPet;\nuse App\\Models\\UserSavedVideo;\nuse App\\Models\\UsersPetBreed;\nuse Auth;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Validation\\Rule;\nuse Mail;\nuse Validator;\n\nclass UsersController extends Controller\n{\n    public function __construct()\n    {\n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n    }\n\n    public function getProfileDetails(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $user = User::with('city', 'state')->find($user->id);\n\n        $this->responseData[\"user_details\"] = $user;\n        $this->code = $this->statusCodes['success'];\n        $this->message = '';\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function updateProfile(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'name' => 'required | max: 255',\n            'email' => [\n                \"required\",\n                \"email\",\n                Rule::unique('users')->ignore($user->id),\n            ],\n            'zipcode' => 'required',\n            'latitude' => 'nullable',\n            'longitude' => 'nullable',\n            'image' => 'nullable',\n            'address'=>'nullable',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['name', 'email', 'zipcode', 'latitude', 'longitude']);\n\n        $city = City::where('zipcode', $input[\"zipcode\"])->first();\n        if (!$city) {\n            $validator->getMessageBag()->add('zipcode', 'Please enter correct zipcode');\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input['city_id'] = $city->id;\n        $input['state_id'] = $city->state->id;\n        $input['country_id'] = $city->state->country->id;\n\n   \n\n        if ($request->file('image', false)) {\n            $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('image'), config(\"wagenabled.path.doc.user_profile_image_path\"), $user->profile_image, $isCreateThumb = \"1\", $height = 250, $width = 380);\n            if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                $input[\"profile_image\"] = $imageStore['name'];\n            }\n        }\n\n        $isSaved = $user->update($input);\n        if ($isSaved) {\n            $this->responseData[\"user_details\"] = $user;\n            $this->code = $this->statusCodes['success'];\n            $this->message = 'Profile Updated successfully';\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function updatePassword(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n        $validator = Validator::make($request->all(), [\n            'old_password' => 'required|min:6',\n            'password' => 'required_with:old_password|confirmed|min:6',\n        ]);\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n        $old_password = $request->get(\"old_password\", \"\");\n        $password = $request->get(\"password\", \"\");\n        if ($old_password) {\n            if (!Hash::check($old_password, $user->password)) {\n                $validator->getMessageBag()->add('old_password', 'Please enter correct password.');\n                return WagEnabledHelpers::apiValidationFailResponse($validator);\n            }\n            $input[\"password\"] = Hash::make($password);\n        }\n\n        $isSaved = $user->update($input);\n        if ($isSaved) {\n            $this->responseData[\"user_details\"] = $user;\n            $this->code = $this->statusCodes['success'];\n            $this->message = 'Profile Updated successfully';\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function updateLocation(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'latitude' => 'nullable',\n            'longitude' => 'nullable',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['latitude', 'longitude']);\n        $isSaved = $user->update($input);\n\n        if ($isSaved) {\n            $this->responseData[\"user_details\"] = $user;\n            $this->code = $this->statusCodes['success'];\n            $this->message = '';\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function storeMyPets(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'name' => 'required | max: 255',\n            'breed_ids' => 'required',\n            'pet_image' => 'required | mimes:jpeg,jpg,png',\n            'adoption_date' => 'required',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['name']);\n\n        if ($request->file('pet_image', false)) {\n            $imageStore = WagEnabledHelpers::saveUploadedImage($request->file('pet_image'), config(\"wagenabled.path.doc.users_pet_image_path\"), '', $isCreateThumb = \"1\", $height = 300, $width = 350);\n            if (isset($imageStore['error_msg']) && $imageStore['error_msg'] == '' && isset($imageStore['name']) && !empty($imageStore['name'])) {\n                $input[\"pet_image\"] = $imageStore['name'];\n            }\n        }\n\n        $input[\"user_id\"] = $user->id;\n        $isSaved = UserPet::create($input);\n\n        if ($isSaved) {\n            // insert breed\n            $breedIds = [];\n            if (!empty($request->get(\"breed_ids\"))) {\n                $breedIds = explode(\",\", $request->get(\"breed_ids\"));\n            }\n\n            foreach ($breedIds as $breedId) {\n                if ($breedId) {\n                    $user_breed = UsersPetBreed::insert([\n                        \"users_pet_id\" => $isSaved->id,\n                        \"breed_id\" => $breedId,\n                    ]);\n                }\n            }\n\n            $users_pets = UserPet::with('breed')\n                ->where('id', $isSaved->id)\n                ->get();\n            $this->responseData[\"users_pet\"] = $users_pets;\n            $this->code = $this->statusCodes['success'];\n            $this->message = 'Pet added successfully.';\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function deleteMyPet(Request $request, $id)\n    {\n\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $userPet = UserPet::where('user_id', $user->id)\n            ->where('id', $id)\n            ->first();\n        if ($userPet) {\n            $petBreed = UsersPetBreed::where('users_pet_id', $id)->delete();\n            $userPet->delete();\n\n            $this->message = \"Pet deleted successfully\";\n            $this->code = $this->statusCodes['success'];\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function completeProfile(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'country_id' => 'required | integer',\n            'zipcode' => 'required',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['country_id', 'zipcode']);\n\n        $city = City::where('zipcode', $input[\"zipcode\"])->first();\n        if (!$city) {\n            $validator->getMessageBag()->add('zipcode', 'Please enter correct zipcode');\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['country_id', 'zipcode']);\n        $input['city_id'] = $city->id;\n        $input['state_id'] = $city->state->id;\n\n        $isSaved = $user->update($input);\n\n        if ($isSaved) {\n            // entry\n            $arr = array(\n                'properties' => array(\n                    array(\n                        'property' => 'zip',\n                        'value' => $user->zipcode,\n                    ),\n                ),\n            );\n            $post_json = json_encode($arr);\n\n            HubspotHelpers::updateContact($post_json, $user->email, env('HUBSPOT_API_KEY'));\n\n            $this->responseData[\"user_details\"] = $user;\n            $this->code = $this->statusCodes['success'];\n            $this->message = 'Profile updated successfully';\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function updateVetDetails(Request $request)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'vet_place_name' => 'required',\n            'vet_address' => 'required',\n            'vet_phone_number' => 'required',\n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n\n        $input = $request->only(['vet_place_name', 'vet_address', 'vet_phone_number']);\n        $isSaved = $user->update($input);\n        if ($isSaved) {\n            $this->responseData[\"user_details\"] = $user;\n            $this->code = $this->statusCodes['success'];\n            $this->message = 'Profile updated successfully';\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getLovedPetPros(Request $request, $lastId = 0)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $perPage = config(\"wagenabled.no_of_loved_pet_pro_display\", 3);\n\n        $loved_pet_pros = UserLovedPetPro::with(['petPro' => function ($query) {\n            $query->withCount('deals');\n        }, 'petPro.coverImage', 'petPro.deals'])\n            ->where('user_id', $user->id);\n        if ($lastId) {\n            $loved_pet_pros = $loved_pet_pros->where('id', '<', $lastId);\n        }\n\n        $loved_pet_pros = $loved_pet_pros->orderBy('id', 'desc')\n            ->take($perPage)\n            ->get();\n\n        if ($loved_pet_pros->count() > 0) {\n            foreach ($loved_pet_pros as $key => $petPro) {\n                $petPro['categories'] = PetProSelectedCategory::leftjoin('pet_pro_categories', 'pet_pro_categories.id', '=', 'pet_pro_selected_categories.category_id')\n                    ->select([\n                        'pet_pro_categories.id',\n                        'pet_pro_categories.name as name',\n                    ])\n                    ->where('pet_pro_selected_categories.pet_pro_id', '=', $petPro->pet_pro_id)\n                    ->get();\n            }\n\n            $get_previous_records = UserLovedPetPro::where('id', '<', $loved_pet_pros->last()->id)\n                ->where('user_id', $user->id)\n                ->first();\n            $this->responseData[\"is_more_loved_pet_pros\"] = ($get_previous_records ? 1 : 0);\n        }\n\n        $this->responseData[\"loved_pet_pros\"] = $loved_pet_pros;\n        $this->code = $this->statusCodes['success'];\n        $this->message = '';\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getSavedVideos(Request $request, $page = 1)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $perPage = config(\"wagenabled.no_of_saved_video_display\", 3);\n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;\n\n        $saved_videos = UserSavedVideo::with('watchAndLearn', 'watchAndLearn.category')\n            ->whereHas('watchAndLearn', function ($query) {\n                $query->Where('status', 'published');\n                $query->GetWatchAndLearnCategory();\n            })\n            ->where('user_id', $user->id)\n            ->orderBy('id', 'desc')\n            ->skip($skip)\n            ->take($perPage)\n            ->get();\n\n        if ($saved_videos->count() > 0) {\n            $get_previous_records = UserSavedVideo::with('watchAndLearn', 'watchAndLearn.category')\n                ->whereHas('watchAndLearn', function ($query) {\n                    $query->Where('status', 'published');\n                    $query->GetWatchAndLearnCategory();\n                })\n                ->where('id', '<', $saved_videos->last()->id)\n                ->where('user_id', $user->id)\n                ->first();\n            $this->responseData[\"is_more_saved_videos\"] = ($get_previous_records ? 1 : 0);\n        }\n\n        $this->responseData[\"saved_videos\"] = $saved_videos;\n        $this->code = $this->statusCodes['success'];\n        $this->message = '';\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getSavedProductReview(Request $request, $page = 1)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $perPage = config(\"wagenabled.no_of_saved_video_display\", 3);\n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;\n\n        $saved_videos = UserSavedVideo::with(['watchAndLearn' => function ($query) {\n            $query->withCount('deals');\n        }, 'watchAndLearn.category', 'watchAndLearn.deals'])\n            ->whereHas('watchAndLearn', function ($query) {\n                $query->Where('status', 'published');\n                $query->ProductReviewCategory();\n            })\n            ->where('user_id', $user->id)\n            ->orderBy('id', 'desc')\n            ->skip($skip)\n            ->take($perPage)\n            ->get();\n\n        if ($saved_videos->count() > 0) {\n            $get_previous_records = UserSavedVideo::with('watchAndLearn', 'watchAndLearn.category')\n                ->whereHas('watchAndLearn', function ($query) {\n                    $query->Where('status', 'published');\n                    $query->ProductReviewCategory();\n                })\n                ->where('id', '<', $saved_videos->last()->id)\n                ->where('user_id', $user->id)\n                ->first();\n            $this->responseData[\"is_more_saved_videos\"] = ($get_previous_records ? 1 : 0);\n        }\n\n        $this->responseData[\"saved_videos\"] = $saved_videos;\n        $this->code = $this->statusCodes['success'];\n        $this->message = '';\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getUserPetProReview(Request $request, $page = 1)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $perPage = config(\"wagenabled.no_of_user_pet_pro_review_display\", 3);\n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;\n\n        $pet_pro_reviews = PetProReview::with('user', 'petPro', 'petPro.coverImage')\n            ->where('user_id', $user->id)\n            ->orderBy('id', 'desc')\n            ->skip($skip)\n            ->take($perPage)\n            ->get();\n\n        if ($pet_pro_reviews->count() > 0) {\n            $get_previous_records = PetProReview::where('id', '<', $pet_pro_reviews->last()->id)\n                ->where('user_id', $user->id)\n                ->first();\n            $this->responseData[\"is_more_pet_pro_reviews\"] = ($get_previous_records ? 1 : 0);\n        }\n\n        $this->responseData[\"pet_pro_reviews\"] = $pet_pro_reviews;\n        $this->code = $this->statusCodes['success'];\n        $this->message = '';\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getUsersPet(Request $request, $lastId = 0)\n    {\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $perPage = config(\"wagenabled.no_of_users_pet_display\", 1);\n\n        $users_pets = UserPet::with('breed')\n            ->where('user_id', $user->id);\n\n        if ($lastId) {\n            $users_pets = $users_pets->where('id', '<', $lastId);\n        }\n\n        $users_pets = $users_pets->orderBy('id', 'desc')\n            //->take($perPage)\n            ->get();\n\n        if ($users_pets->count() > 0) {\n            $get_previous_records = UserPet::where('id', '<', $users_pets->last()->id)\n                ->where('user_id', $user->id)\n                ->first();\n            $this->responseData[\"is_more_users_pets\"] = ($get_previous_records ? 1 : 0);\n        }\n\n        $this->responseData[\"users_pets\"] = $users_pets;\n        $this->code = $this->statusCodes['success'];\n        $this->message = '';\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getBreedList(Request $request)\n    {\n\n        $breed_data = Breed::select(['id', 'name'])\n            ->orderBy('name')\n            ->get();\n\n        $breed_list = [];\n        //$breed_list[] = [\"value\" => '', \"label\" => 'Mixed'];\n        foreach ($breed_data as $breed) {\n            $breed_list[] = [\"value\" => $breed->id, \"label\" => $breed->name];\n        }\n\n        $this->responseData[\"breed_list\"] = $breed_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }\n\n    public function getCountryList(Request $request)\n    {\n        $country_data = Country::select(['id', 'name'])\n            ->orderBy('name')\n            ->get();\n        $country_list = [];\n        $country_list[] = [\"value\" => '', \"label\" => 'None'];\n        foreach ($country_data as $country) {\n            $country_list[] = [\"value\" => $country->id, \"label\" => $country->name];\n        }\n        $this->responseData[\"country_list\"] = $country_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getStates($country_id)\n    {\n        $code = config(\"wagenabled.status_codes.normal_error\");\n        $message = \"\";\n        $states = [];\n        try {\n            $states = State::select([\"id\", \"name\"])->where('country_id', $country_id)->orderBy('name', 'asc')->get();\n            $code = config(\"wagenabled.status_codes.success\");\n        } catch (Exception $e) {\n            $message = \"Please, try again!\";\n        }\n        return WagEnabledHelpers::apiJsonResponse($states, $code, $message);\n    }\n\n    public function getCities($state_id)\n    {\n        $code = config(\"wagenabled.status_codes.normal_error\");\n        $message = \"\";\n        $cities = [];\n        try {\n            $cities = City::select([\"id\", \"state_id\", \"name\"])->where('state_id', $state_id)->orderBy('name')->orderBy('id')->groupBy('name')->get();\n            $code = config(\"wagenabled.status_codes.success\");\n        } catch (Exception $e) {\n            $message = \"Please, try again!\";\n        }\n        return WagEnabledHelpers::apiJsonResponse($cities, $code, $message);\n    }\n\n    public function getclaimDeals()\n    {\n\n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n        $isClaimed = PetProDealClaim::select('pet_pro_deal_id')->where('user_id', $user->id)->get();\n        $isClaimedWatchAndLearn = WatchAndLearnDealClaim::select('watch_and_learn_deal_id')->where('user_id', $user->id)->get();\n\n        $deal_ids = [];\n        foreach ($isClaimed as $key => $value) {\n            $deal_ids[] = $value->pet_pro_deal_id;\n        }\n\n        $deal_watch_learn_ids = [];\n        foreach ($isClaimedWatchAndLearn as $key => $value) {\n            $deal_watch_learn_ids[] = $value->watch_and_learn_deal_id;\n        }\n        $this->responseData['claimedDeals'] = PetProDeal::whereIn('id', $deal_ids)->get();\n        $this->responseData['claimedDealsWatchAndLearn'] = WatchAndLearnDeal::whereIn('id', $deal_watch_learn_ids)->get();\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success'];\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function sendEmails(Request $request)\n    {\n        $address = env('MAIL_TO_ADDRESS', 'softsquare.4td1gv@zapiermail.com');\n\n        Mail::send('emails.addSubscriber', [\"detail\" => $request], function ($m) use ($address, $request) {\n            $m->from($request->email, $request->name);\n            $m->to($address);\n            $m->subject(\"New Subscriber\");\n        });\n        $this->responseData = \"\";\n        $this->message = \"Mail send successfully \";\n        $this->code = $this->statusCodes['success'];\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n    \n    public function addContactFormFlowDesk(Request $request)\n    {\n        $address = env('MAIL_TO_ADDRESS', 'wagenabled.4td1gv@zapiermail.com');\n\n        Mail::send('emails.contactForm', [\"detail\" => $request], function ($m) use ($address, $request) {\n            $m->from($request->email, $request->name);\n            $m->to($address);\n            $m->subject(\"Contact Us\");\n        });\n        $this->responseData = \"\";\n        $this->message = \"Mail send successfully \";\n        $this->code = $this->statusCodes['success'];\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Api/V1/WatchAndLearnController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Api\\V1;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Mail\\SendCommentNotificaitonMail;\nuse App\\Models\\UserSavedVideo;\nuse App\\Models\\WatchAndLearn;\nuse App\\Models\\WatchAndLearnCategory;\nuse App\\Models\\WatchAndLearnComment;\nuse Auth;\nuse Illuminate\\Http\\Request;\nuse Illuminate\\Support\\Facades\\Mail;\nuse Validator;\n\nclass WatchAndLearnController extends Controller\n{          \n    public function __construct()\n    {   \n        $this->statusCodes = config(\"wagenabled.status_codes\");\n        $this->responseData = [];\n        $this->message = \"Please, try again!\";\n        $this->code = config(\"wagenabled.status_codes.normal_error\");\n        $this->watch_and_learn_comment_ids = [];\n    }\n\n    public function getList(Request $request, $page = 1) \n    {         \n        $perPage = config(\"wagenabled.per_page_watch_and_learn_results\", 6);        \n        $skip = ($page > 1) ? ($perPage * ($page - 1)) : 0;   \n\n        $category_id = $request->get('category_id', \"\");   \n        $search = $request->get('search', \"\");   \n        $sort_by = $request->get('sort_by', \"\");   \n\n        $watch_and_learn = WatchAndLearn::with('category')->GetWatchAndLearnCategory()->withCount('users')->Where('status', 'published');  \n\n        if( $category_id ) {\n            $watch_and_learn = $watch_and_learn->where( 'category_id', $category_id );\n        }\n\n        if( $search ) {\n            $watch_and_learn = $watch_and_learn->where( function($query) use( $search ){ \n                                            $query->Where('title', 'like', '%'.$search.'%');\n                                            $query->orWhere('description', 'REGEXP', '>[^<]*'.$search);\n                                            /*$query->orwhereHas('author', function($query) use( $search ) {\n                                                $$query->Where('name', 'like', '%'.$search.'%');\n                                            });*/\n                            \n                                        });\n        }\n\n        $totalRecords = $watch_and_learn->count();\n        $totalPages = ceil($totalRecords / $perPage); \n\n        $this->responseData = [\n            \"total_records\" => $totalRecords,\n            \"total_page\" => $totalPages,\n            \"watch_and_learn_list\" => [],\n        ];\n\n        if($totalRecords > 0) {  \n            \n            switch ($sort_by) {\n                case 'popular':                        \n                        $watch_and_learn =  $watch_and_learn->orderBy(\"users_count\", \"DESC\")\n                                            ->orderBy(\"id\", \"DESC\");\n                    break;\n                                   \n                case 'latest': \n                        $watch_and_learn =  $watch_and_learn->orderBy(\"id\", \"DESC\");\n                    break;\n\n                default:                        \n                    $watch_and_learn =  $watch_and_learn->orderBy(\"id\", \"DESC\");\n                    break;\n            }\n\n            $watch_and_learn_list = $watch_and_learn->skip($skip)\n                                    ->take($perPage)\n                                    ->get();  \n\n            $this->responseData[\"watch_and_learn_list\"] = $watch_and_learn_list;\n        }\n\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success']; \n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getRelatedVideoList(Request $request, $slug) \n    {        \n        $watch_and_learn = WatchAndLearn::Where('slug', $slug)->Where('status', 'published')\n                                ->first();\n\n        if( $watch_and_learn ) {        \n            $this->responseData[\"related_video_list\"] = WatchAndLearn::with('category')\n                                                                ->where('category_id', $watch_and_learn->category_id)\n                                                                ->where('id', '!=', $watch_and_learn->id)\n                                                                ->Where('status', 'published')\n                                                                ->orderBy('id', 'desc')                   \n                                                                ->take(config('wagenabled.no_of_related_video_display', 3))\n                                                                ->get();\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success']; \n        }\n\n       \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getDetails(Request $request, $slug) {\n        $watch_and_learn = WatchAndLearn::withCount(['comments' => function($query){\n                                                                    $query->where('parent_comment_id', 0);\n                                                                }])\n                                \n                                ->with(['category','author',\n                                        'deals' => function($query){\n                                            $query->active();\n                                        }                                \n                                    ])\n                                ->Where('slug', $slug)\n                                ->Where('status', 'published')\n                                ->first();\n        if( $watch_and_learn ) {\n            $this->responseData[\"is_saved\"] = 0;\n            $user = Auth::user();\n            if ($user) {\n                if ($user->count() != 0) {\n                    $this->responseData[\"is_saved\"] = UserSavedVideo::where(\"user_id\", $user->id)->where(\"watch_and_learn_id\", $watch_and_learn->id)->first() ? 1 : 0;\n                }\n            }\n            $this->responseData[\"watch_and_learn\"] = $watch_and_learn;\n            $this->message = \"\";\n            $this->code = $this->statusCodes['success']; \n        }\n        \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }\n\n    public function saveUnsaveVideos(Request $request, $slug) {\n        \n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $watch_and_learn = WatchAndLearn::Where('slug', $slug)->Where('status', 'published')\n                                ->first();\n        if( $watch_and_learn ) {\n            $isSavedVideo = UserSavedVideo::where('user_id', $user->id)\n                                        ->where('watch_and_learn_id', $watch_and_learn->id)\n                                        ->first();\n            if( $isSavedVideo ) {\n                $isSavedVideo->delete();\n                $this->responseData[\"is_saved\"] = 0;\n                $this->message = \"Blog post removed from saved posts.\";\n            } else {\n                $isSaved = UserSavedVideo::create([\n                    'user_id' => $user->id,\n                    'watch_and_learn_id' => $watch_and_learn->id\n                ]);               \n                $this->responseData[\"is_saved\"] = 1;\n                $this->message = 'Blog post saved. You can find it in your profile\\'s \"Saved posts\" section in the future!';                \n            }\n            $this->code = $this->statusCodes['success']; \n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function storeComment(Request $request) {\n        \n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $validator = Validator::make($request->all(), [\n            'parent_comment_id' => 'required | integer',\n            'slug' => 'required',\n            /*'name' => 'required|max:255',\n            'email' => 'required | email', */        \n            'message' => 'required',           \n        ]);\n\n        if ($validator->fails()) {\n            return WagEnabledHelpers::apiValidationFailResponse($validator);\n        }\n        $slug = $request->get('slug');\n        $watch_and_learn = WatchAndLearn::Where('slug', $slug)\n                                ->Where('status', 'published')\n                                ->first();\n        if( $watch_and_learn ) {\n            $input = $request->only(['parent_comment_id' , 'message']);\n            $input[\"user_id\"] = $user->id;\n            \n            $input[\"name\"] = $user->name;\n            /*$input[\"email\"] = $user->email;*/\n\n            $input[\"watch_and_learn_id\"] = $watch_and_learn->id;\n\n            $isSaved = WatchAndLearnComment::create($input);\n\n            if ($isSaved) {\n\n                // send email to Wag Enabled \n                Mail::to(config('wagenabled.send_comment_notification_to_email'))->send(new SendCommentNotificaitonMail($watch_and_learn));\n\n                $this->responseData[\"comments\"] = [WatchAndLearnComment::with('user')\n                                    ->where(\"id\", $isSaved->id)\n                                    ->first()];\n                $this->message = \"Comment added successfully\";            \n                $this->code = $this->statusCodes['success'];                 \n            }\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function deleteComment(Request $request, $slug, $id) {\n        \n        $user = Auth::user();\n        if ($user->count() == 0) {\n            return WagEnabledHelpers::apiUserNotFoundResponse();\n        }\n\n        $watch_and_learn = WatchAndLearn::Where('slug', $slug)\n                                ->first();\n        if( $watch_and_learn ) {\n            $watch_and_learn_comment = WatchAndLearnComment::with('allChildren')->where('user_id', $user->id)\n                                        ->where('watch_and_learn_id', $watch_and_learn->id)\n                                        ->where('parent_comment_id', 0)\n                                        ->where('id', $id)\n                                        ->first(); \n\n            if( $watch_and_learn_comment ) {     \n\n                $this->watch_and_learn_comment_ids[] = $watch_and_learn_comment->id;\n                $this->getChildreanIDs($watch_and_learn_comment->allChildren);\n               \n                $comments = WatchAndLearnComment::with('user')->whereIn('id', $this->watch_and_learn_comment_ids)->delete();                  \n                $this->message = \"Comment deleted successfully\";\n                $this->code = $this->statusCodes['success']; \n            } \n        }\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n    }\n\n    public function getChildreanIDs($watch_and_learn_comments)\n    {   \n        $childrenId = [];\n        foreach ($watch_and_learn_comments as $watch_and_learn_comment) {\n            $childrenId[] = $watch_and_learn_comment->id;\n            $this->watch_and_learn_comment_ids = array_merge($this->watch_and_learn_comment_ids, $childrenId);\n            $this->getChildreanIDs($watch_and_learn_comment->allChildren);\n        }         \n    }\n\n    public function all_products()\n    {\n        $products = [];\n        $Children = [$this];\n        while(count($Children) > 0){\n            $nextCategories = [];\n            foreach ($Children as $child) {\n                $products = array_merge($products, $child->products->all());\n                $nextCategories = array_merge($nextCategories, $child->children->all());\n            }\n            $Children = $nextCategories;\n        }\n        return new Collection($products); //Illuminate\\Database\\Eloquent\\Collection\n    }\n\n    public function CommentList(Request $request, $slug, $lastId = 0, $parent_id = 0) {\n\n        $this->responseData = []; \n        $comments = [];\n       \n        $perPage = config(\"wagenabled.no_of_comment_display\", 6);    \n        $NoOfchildrenCount = config(\"wagenabled.no_of_comment_children_display\", 2);      \n        $depth = config(\"wagenabled.comment_depth\", 2);   \n\n        $this->responseData[\"comments\"] = [];\n        $this->responseData[\"children_count\"] = 0;\n        $this->responseData[\"no_of_comments_display\"] = $perPage;\n        $this->responseData[\"no_of_children_display\"] = $NoOfchildrenCount;\n        $this->responseData[\"depth_count\"] = $depth;\n        $this->responseData[\"comment_count\"] = 0;\n                \n        $watch_and_learn = WatchAndLearn::Where('slug', $slug)\n                            ->Where('status', 'published')\n                            ->first();\n\n        if( $watch_and_learn ) {   \n\n            $total_count = WatchAndLearnComment::where('parent_comment_id', 0)\n                                ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                ->count();\n\n            $total_count = $total_count ? $total_count : 0;                            \n            if( $lastId == 0 ) {\n                $last_comment = WatchAndLearnComment::select('id')\n                                ->where(\"watch_and_learn_id\", $watch_and_learn->id)                                    \n                                ->orderBy('id', 'desc')\n                                ->first(); \n                if( $last_comment ){                        \n                    $lastId = $last_comment->id;\n                    $lastId++;\n                }\n            } \n\n            if( $lastId !=0 ) {     \n                //Comment ids get           \n                $ids = WatchAndLearnComment::where('parent_comment_id', $parent_id)\n                                    ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                    ->where(\"id\", '<', $lastId)\n                                    ->orderBy('id', 'desc')\n                                    ->limit($perPage)\n                                    ->pluck('id')\n                                    ->toArray(); \n\n                //Children Comments -          \n                $childrenIds = [];\n                $parentId = $ids;\n                for ($i=1; $i <=$depth ; $i++) {                         \n                    $newParentIds = [];                       \n                    foreach ($parentId as $id) {\n                        $childrenId = WatchAndLearnComment::where('parent_comment_id', $id)\n                                        ->orderBy('id', 'desc')\n                                        ->limit($NoOfchildrenCount)\n                                        ->pluck('id')\n                                        ->toArray();   \n                        $childrenIds = array_merge($childrenIds, $childrenId);\n                        $newParentIds = array_merge($newParentIds, $childrenId);\n                    }\n                    $parentId = $newParentIds;\n                }\n            \n                $ids = array_merge($ids, $childrenIds);                   \n                $comments = WatchAndLearnComment::with('user')->whereIn('id', $ids)\n                                    ->orderBy('id', 'desc')                                    \n                                    ->get()\n                                    ->toArray();                       \n                $count = [];\n\n                foreach ($ids as $id ) {\n                    $count[$id] = WatchAndLearnComment::where('parent_comment_id', $id)\n                                        ->where(\"watch_and_learn_id\", $watch_and_learn->id)\n                                        ->count();\n                }\n\n                $this->responseData[\"comments\"] = WagEnabledHelpers::buildTreeStructure($comments, $parent_id);\n                $this->responseData[\"children_count\"] = $count;\n                $this->responseData[\"no_of_comments_display\"] = $perPage;\n                $this->responseData[\"no_of_children_display\"] = $NoOfchildrenCount;\n                $this->responseData[\"depth_count\"] = $depth;\n            }\n\n            $this->responseData[\"comment_count\"] = $total_count;                               \n            $this->code = $this->statusCodes['success'];    \n            $this->message = \"\";   \n\n        }\n\n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);       \n    }\n\n    public function getCategoryList(Request $request) {\n\n        $category_data = WatchAndLearnCategory::GetWatchAndLearnCategory()\n                                            ->select(['id', 'name'])\n                                            ->orderBy('name')\n                                            ->get();\n\n        $category_list = [];            \n        $category_list[] = [\"value\" => '', \"label\"=> 'All'];            \n        foreach ($category_data as $category) {\n            $category_list[] = [ \"value\" => $category->id, \"label\"=> $category->name];\n        }\n        \n        $this->responseData[\"category_list\"] = $category_list;\n        $this->message = \"\";\n        $this->code = $this->statusCodes['success']; \n      \n        return WagEnabledHelpers::apiJsonResponse($this->responseData, $this->code, $this->message);\n\n    }   \n\n}\n"
  },
  {
    "path": "app/Http/Controllers/Auth/ConfirmPasswordController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\ConfirmsPasswords;\n\nclass ConfirmPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Confirm Password Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password confirmations and\n    | uses a simple trait to include the behavior. You're free to explore\n    | this trait and override any functions that require customization.\n    |\n    */\n\n    use ConfirmsPasswords;\n\n    /**\n     * Where to redirect users when the intended url fails.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('auth');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Auth/ForgotPasswordController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse Illuminate\\Foundation\\Auth\\SendsPasswordResetEmails;\n\nclass ForgotPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset emails and\n    | includes a trait which assists in sending these notifications from\n    | your application to your users. Feel free to explore this trait.\n    |\n    */\n\n    use SendsPasswordResetEmails;\n}\n"
  },
  {
    "path": "app/Http/Controllers/Auth/LoginController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\AuthenticatesUsers;\n\nclass LoginController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Login Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller handles authenticating users for the application and\n    | redirecting them to your home screen. The controller uses a trait\n    | to conveniently provide its functionality to your applications.\n    |\n    */\n\n    use AuthenticatesUsers;\n\n    /**\n     * Where to redirect users after login.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('guest')->except('logout');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Auth/RegisterController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Providers\\RouteServiceProvider;\nuse App\\Models\\User;\nuse Illuminate\\Foundation\\Auth\\RegistersUsers;\nuse Illuminate\\Support\\Facades\\Hash;\nuse Illuminate\\Support\\Facades\\Validator;\n\nclass RegisterController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Register Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller handles the registration of new users as well as their\n    | validation and creation. By default this controller uses a trait to\n    | provide this functionality without requiring any additional code.\n    |\n    */\n\n    use RegistersUsers;\n\n    /**\n     * Where to redirect users after registration.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('guest');\n    }\n\n    /**\n     * Get a validator for an incoming registration request.\n     *\n     * @param  array  $data\n     * @return \\Illuminate\\Contracts\\Validation\\Validator\n     */\n    protected function validator(array $data)\n    {\n        return Validator::make($data, [\n            'name' => ['required', 'string', 'max:255'],\n            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],\n            'password' => ['required', 'string', 'min:8', 'confirmed'],\n        ]);\n    }\n\n    /**\n     * Create a new user instance after a valid registration.\n     *\n     * @param  array  $data\n     * @return \\App\\User\n     */\n    protected function create(array $data)\n    {\n        return User::create([\n            'name' => $data['name'],\n            'email' => $data['email'],\n            'password' => Hash::make($data['password']),\n        ]);\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Auth/ResetPasswordController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\ResetsPasswords;\n\nclass ResetPasswordController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling password reset requests\n    | and uses a simple trait to include this behavior. You're free to\n    | explore this trait and override any methods you wish to tweak.\n    |\n    */\n\n    use ResetsPasswords;\n\n    /**\n     * Where to redirect users after resetting their password.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n}\n"
  },
  {
    "path": "app/Http/Controllers/Auth/VerificationController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers\\Auth;\n\nuse App\\Http\\Controllers\\Controller;\nuse App\\Providers\\RouteServiceProvider;\nuse Illuminate\\Foundation\\Auth\\VerifiesEmails;\n\nclass VerificationController extends Controller\n{\n    /*\n    |--------------------------------------------------------------------------\n    | Email Verification Controller\n    |--------------------------------------------------------------------------\n    |\n    | This controller is responsible for handling email verification for any\n    | user that recently registered with the application. Emails may also\n    | be re-sent if the user didn't receive the original email message.\n    |\n    */\n\n    use VerifiesEmails;\n\n    /**\n     * Where to redirect users after verification.\n     *\n     * @var string\n     */\n    protected $redirectTo = RouteServiceProvider::HOME;\n\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('auth');\n        $this->middleware('signed')->only('verify');\n        $this->middleware('throttle:6,1')->only('verify', 'resend');\n    }\n}\n"
  },
  {
    "path": "app/Http/Controllers/Controller.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Foundation\\Auth\\Access\\AuthorizesRequests;\nuse Illuminate\\Foundation\\Bus\\DispatchesJobs;\nuse Illuminate\\Foundation\\Validation\\ValidatesRequests;\nuse Illuminate\\Routing\\Controller as BaseController;\n\nclass Controller extends BaseController\n{\n    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;\n}\n"
  },
  {
    "path": "app/Http/Controllers/HomeController.php",
    "content": "<?php\n\nnamespace App\\Http\\Controllers;\n\nuse Illuminate\\Http\\Request;\n\nclass HomeController extends Controller\n{\n    /**\n     * Create a new controller instance.\n     *\n     * @return void\n     */\n    public function __construct()\n    {\n        $this->middleware('auth');\n    }\n\n    /**\n     * Show the application dashboard.\n     *\n     * @return \\Illuminate\\Contracts\\Support\\Renderable\n     */\n    public function index()\n    {\n        return view('home');\n    }\n}\n"
  },
  {
    "path": "app/Http/HubspotHelpers.php",
    "content": "<?php\nnamespace App\\Http;\n\nuse Request;\nuse Response;\n\nclass HubspotHelpers\n{   \n    public static function storeForm($post_json, $portalId, $FormGuid) {      \n        try {           \n        \n            $endpoint = 'https://api.hsforms.com/submissions/v3/integration/submit/'.$portalId.'/'.$FormGuid;  \n\n            $ch = @curl_init();\n            @curl_setopt($ch, CURLOPT_POST, true);\n            @curl_setopt($ch, CURLOPT_POSTFIELDS, $post_json);\n            @curl_setopt($ch, CURLOPT_URL, $endpoint);\n            @curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));\n            @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\n            $response = @curl_exec($ch);\n            $status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE);\n            $curl_errors = curl_error($ch);            \n            @curl_close($ch);   \n\n        } catch (Exception $e) {            \n            \\Log::info($e->getMessage());\n        }\n    }\n\n    public static function updateContact($post_json, $email, $hapikey) {      \n        try {                    \n            $endpoint = 'https://api.hubapi.com/contacts/v1/contact/email/'.$email.'/profile?hapikey='.$hapikey;             \n            $ch = @curl_init();\n            @curl_setopt($ch, CURLOPT_POST, true);\n            @curl_setopt($ch, CURLOPT_POSTFIELDS, $post_json);\n            @curl_setopt($ch, CURLOPT_URL, $endpoint);\n            @curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));\n            @curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);\n\n            $response = @curl_exec($ch);\n            $status_code = @curl_getinfo($ch, CURLINFO_HTTP_CODE);\n            $curl_errors = curl_error($ch);            \n            @curl_close($ch);   \n\n        } catch (Exception $e) {            \n            \\Log::info($e->getMessage());\n        }\n    }\n\n}\n"
  },
  {
    "path": "app/Http/Kernel.php",
    "content": "<?php\n\nnamespace App\\Http;\n\nuse Illuminate\\Foundation\\Http\\Kernel as HttpKernel;\n\nclass Kernel extends HttpKernel\n{\n    /**\n     * The application's global HTTP middleware stack.\n     *\n     * These middleware are run during every request to your application.\n     *\n     * @var array\n     */\n    protected $middleware = [\n        \\App\\Http\\Middleware\\TrustProxies::class,\n        \\Fruitcake\\Cors\\HandleCors::class,\n        \\App\\Http\\Middleware\\CheckForMaintenanceMode::class,\n        \\Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize::class,\n        \\App\\Http\\Middleware\\TrimStrings::class,\n        \\Illuminate\\Foundation\\Http\\Middleware\\ConvertEmptyStringsToNull::class, \n        \\Fruitcake\\Cors\\HandleCors::class,      \n    ];\n\n    /**\n     * The application's route middleware groups.\n     *\n     * @var array\n     */\n    protected $middlewareGroups = [\n        'web' => [\n            \\App\\Http\\Middleware\\EncryptCookies::class,\n            \\Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse::class,\n            \\Illuminate\\Session\\Middleware\\StartSession::class,\n            // \\Illuminate\\Session\\Middleware\\AuthenticateSession::class,\n            \\Illuminate\\View\\Middleware\\ShareErrorsFromSession::class,\n            \\App\\Http\\Middleware\\VerifyCsrfToken::class,\n            \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n        ],\n\n        'api' => [\n            'throttle:60,1',\n            \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class\n        ],       \n    ];\n\n    /**\n     * The application's route middleware.\n     *\n     * These middleware may be assigned to groups or used individually.\n     *\n     * @var array\n     */\n    protected $routeMiddleware = [\n        'auth' => \\App\\Http\\Middleware\\Authenticate::class,\n        'auth.basic' => \\Illuminate\\Auth\\Middleware\\AuthenticateWithBasicAuth::class,\n        'bindings' => \\Illuminate\\Routing\\Middleware\\SubstituteBindings::class,\n        'cache.headers' => \\Illuminate\\Http\\Middleware\\SetCacheHeaders::class,\n        'can' => \\Illuminate\\Auth\\Middleware\\Authorize::class,\n        'guest' => \\App\\Http\\Middleware\\RedirectIfAuthenticated::class,\n        'password.confirm' => \\Illuminate\\Auth\\Middleware\\RequirePassword::class,\n        'signed' => \\Illuminate\\Routing\\Middleware\\ValidateSignature::class,\n        'throttle' => \\Illuminate\\Routing\\Middleware\\ThrottleRequests::class,\n        'verified' => \\Illuminate\\Auth\\Middleware\\EnsureEmailIsVerified::class,\n        'adminAuth' => Middleware\\AdminAuth::class,\n        'jwtAuth' => \\App\\Http\\Middleware\\VerifyJWTToken::class,  \n        'jwt_setAuthProvider' => 'App\\Http\\Middleware\\SetAuthProviderUser',     \n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/AdminAuth.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Closure;\n\nclass AdminAuth\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        if(!empty(auth()->guard('admin')->id()))\n        {\n            return $next($request);\n        }\n        else \n        {\n            return redirect(\"admin/login\")->with('status', 'Please Login to access admin area');\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/Authenticate.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Auth\\Middleware\\Authenticate as Middleware;\n\nclass Authenticate extends Middleware\n{\n    /**\n     * Get the path the user should be redirected to when they are not authenticated.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @return string|null\n     */\n    protected function redirectTo($request)\n    {\n        if (! $request->expectsJson()) {\n            return route('login');\n        }\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/CheckForMaintenanceMode.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode as Middleware;\n\nclass CheckForMaintenanceMode extends Middleware\n{\n    /**\n     * The URIs that should be reachable while maintenance mode is enabled.\n     *\n     * @var array\n     */\n    protected $except = [\n        //\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/EncryptCookies.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Cookie\\Middleware\\EncryptCookies as Middleware;\n\nclass EncryptCookies extends Middleware\n{\n    /**\n     * The names of the cookies that should not be encrypted.\n     *\n     * @var array\n     */\n    protected $except = [\n        //\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/RedirectIfAuthenticated.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse App\\Providers\\RouteServiceProvider;\nuse Closure;\nuse Illuminate\\Support\\Facades\\Auth;\n\nclass RedirectIfAuthenticated\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @param  string|null  $guard\n     * @return mixed\n     */\n    public function handle($request, Closure $next, $guard = null)\n    {\n        if (Auth::guard($guard)->check()) {\n            return redirect(RouteServiceProvider::HOME);\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/SetAuthProviderUser.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\nuse Config;\nuse Closure;\n\nclass SetAuthProviderUser\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        config(['auth.defaults.guard' => 'api']);\n        config(['auth.providers.users.model' => \\App\\Models\\User::class]);\n        \n        Config::set('jwt.user' , \"App\\Models\\User\");\n        Config::set('auth.providers.users.model', \\App\\Models\\User::class);\n\n        return $next($request);  \n    }\n}\n"
  },
  {
    "path": "app/Http/Middleware/TrimStrings.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\TrimStrings as Middleware;\n\nclass TrimStrings extends Middleware\n{\n    /**\n     * The names of the attributes that should not be trimmed.\n     *\n     * @var array\n     */\n    protected $except = [\n        'password',\n        'password_confirmation',\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/TrustProxies.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Fideloper\\Proxy\\TrustProxies as Middleware;\nuse Illuminate\\Http\\Request;\n\nclass TrustProxies extends Middleware\n{\n    /**\n     * The trusted proxies for this application.\n     *\n     * @var array|string\n     */\n    protected $proxies;\n\n    /**\n     * The headers that should be used to detect proxies.\n     *\n     * @var int\n     */\n    protected $headers = Request::HEADER_X_FORWARDED_ALL;\n}\n"
  },
  {
    "path": "app/Http/Middleware/VerifyCsrfToken.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\n\nuse Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken as Middleware;\n\nclass VerifyCsrfToken extends Middleware\n{\n    /**\n     * The URIs that should be excluded from CSRF verification.\n     *\n     * @var array\n     */\n    protected $except = [\n        'api/*'\n    ];\n}\n"
  },
  {
    "path": "app/Http/Middleware/VerifyJWTToken.php",
    "content": "<?php\n\nnamespace App\\Http\\Middleware;\nuse Tymon\\JWTAuth\\Exceptions\\JWTException;\nuse Tymon\\JWTAuth\\Exceptions\\TokenExpiredException;\nuse Tymon\\JWTAuth\\Facades\\JWTAuth;\nuse Closure;\n\nclass VerifyJWTToken\n{\n    /**\n     * Handle an incoming request.\n     *\n     * @param  \\Illuminate\\Http\\Request  $request\n     * @param  \\Closure  $next\n     * @return mixed\n     */\n    public function handle($request, Closure $next)\n    {\n        $tokenErrorMsg = false;\n        $code = 200;\n        try {\n            if (!$user = JWTAuth::parseToken()->authenticate()) {\n                $tokenErrorMsg = \"Token invalid\";\n                $code = 400;\n            } else {\n                $payload = JWTAuth::parseToken()->getPayload();\n                $user = auth()->authenticate($user);\n                if (!$user) {\n                    $tokenErrorMsg = \"User not found\";\n                    $code = 404;\n                }\n            }\n        } catch (Tymon\\JWTAuth\\Exceptions\\TokenExpiredException $e) {\n            $tokenErrorMsg = \"Token expired\";\n            $code = 401;\n        } catch (JWTException $e) {\n            $tokenErrorMsg = \"Token invalid\";\n            $code = 401;\n        }\n        if ($tokenErrorMsg) {\n            return response()->json([ 'message' => $tokenErrorMsg], $code);\n        }\n\n        return $next($request);\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/AdminUsersRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass AdminUsersRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [\n            'name' => 'required | max:255',            \n            'email' => [\n                \"required\",\n                \"email\",\n                Rule::unique('admin_users')->ignore($this->admin_user),\n            ],                \n            'password' => 'required|min:6',   \n            /*'phone_number' => 'required',*/ \n        ];\n\n        switch($this->method())\n        {\n            case 'PUT':\n            {\n                $result['password'] = '';                \n            }\n            default:break;\n        }\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetProBusinessRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetProBusinessRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $result = [\n            'name' => [\n                \"required\",\n            ],\n        ];\n\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetProCategoriesRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetProCategoriesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [\n            'name' => [\n                \"required\",\n                // Rule::unique('pet_pro_categories')->ignore($this->pet_pro_category),\n            ],                     \n        ];\n\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetProDealRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetProDealRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [                  \n            'deal' => 'required | max:255',                    \n            'fine_print' => 'required',                    \n            'start_date' => 'nullable | date',                    \n            'end_date' => 'nullable | date | after_or_equal:start_date'                                   \n        ];\n        \n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetProEventRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetProEventRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [                  \n            'name' => 'required | max:255',    \n            'description' => 'nullable',    \n            'event_date' => 'nullable | date',                    \n            'start_time' => 'nullable',                                   \n            'end_time' => 'nullable',                                   \n            'address' => 'nullable',                                              \n            'url' => 'required | url',                                              \n        ];\n        \n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetProGalleryRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetProGalleryRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [                    \n            /*'image' => 'required | mimes:jpeg,jpg,png', */                   \n        ];\n        \n        switch($this->method())\n        {\n            case 'PUT':\n            {\n                $result['image'] = 'nullable | mimes:jpeg,jpg,png';                 \n            }\n            default:break;\n        }\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetProRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetProRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [\n            'store_name' => 'required | max:255',                    \n            'email' => 'nullable | email',                    \n            'website_url' => 'nullable | url',                    \n            'phone_number' => 'nullable | max:15',                    \n            'address_line_1' => 'nullable | max:255',                    \n            'address_line_2' => 'nullable | max:255',                    \n            'category_id' => 'required',                                        \n            'postal_code' => 'nullable | max:255',                    \n            'description' => 'nullable',      \n            'donation_link' => 'nullable | url',                                          \n        ];\n      \n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/PetTypeRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass PetTypeRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $result = [\n            'name' => [\n                \"required\",\n            ],\n        ];\n\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/TestimonialRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass TestimonialRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $result = [\n            'title' => 'required',\n            'description' => 'required',\n\t\t\t'client_name' => 'required',\n\t\t\t'client_title' => 'required',\n\t\t\t'image' => 'required | mimes:jpeg,jpg,png',\n        ];\n\t\tswitch($this->method())\n        {\n            case 'PUT':\n            {\n                $result['image'] = '';                \n            }\n            default:break;\n        }\n        return $result;\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/WatchAndLearnAuthorRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass WatchAndLearnAuthorRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [\n            'name' => 'required | max:255',                    \n            'website_link' => 'nullable | url',                 \n            'image' => 'required | mimes:jpeg,jpg,png',                    \n            'about' => 'required'                                                \n        ];\n        switch($this->method())\n        {\n            case 'PUT':\n            {\n                $result['image'] = '';                \n            }\n            default:break;\n        }\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/WatchAndLearnCategoriesRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass WatchAndLearnCategoriesRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [\n            'name' => [\n                \"required\",\n                // Rule::unique('watch_and_learn_categories')->ignore($this->watch_and_learn_category),\n            ],                     \n        ];\n\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/WatchAndLearnDealRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass WatchAndLearnDealRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [                  \n            'deal' => 'required | max:255',                    \n            'fine_print' => 'required',                    \n            'start_date' => 'nullable | date',                    \n            'end_date' => 'nullable | date | after_or_equal:start_date'                                   \n        ];\n        \n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/Admin/WatchAndLearnRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\Admin;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass WatchAndLearnRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n         $result = [\n            'category_id' => 'required',                    \n            'title' => 'required | max:255',                    \n            'author_id' => 'nullable | integer',                    \n            'description' => 'nullable',                    \n            'image' => 'required | mimes:jpeg,jpg,png',                    \n            'blog_meta_description' => 'required | max:255',                    \n            'alt_image_text' => 'required | max:255',                    \n            // 'video_type' => 'required',                    \n            // 'video_file' => 'nullable | mimes:mp4',                    \n            // 'embed_link' => 'nullable | regex: /^https:\\/\\/(?:www\\.)?youtube.com\\/embed\\/[A-z0-9]+/',                    \n        ];\n        switch($this->method())\n        {\n            case 'PUT':\n            {\n                $result['image'] = '';                \n            }\n            default:break;\n        }\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/Requests/User/UserPetProRequest.php",
    "content": "<?php\n\nnamespace App\\Http\\Requests\\User;\n\nuse Illuminate\\Foundation\\Http\\FormRequest;\nuse Illuminate\\Validation\\Rule;\n\nclass UserPetProRequest extends FormRequest\n{\n    /**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     */\n    public function authorize()\n    {\n        return true;\n    }\n\n    /**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array\n     */\n    public function rules()\n    {\n        $result = [\n            'store_name' => 'required | max:255',                    \n            'email' => 'required | email',                    \n            'website_url' => 'nullable | url',                    \n            'phone_number' => 'required | max:15',                    \n            'address_line_1' => 'required | max:255',                    \n            'address_line_2' => 'nullable | max:255',                    \n            'category_id' => 'nullable',                                        \n            'postal_code' => 'nullable | max:255',                    \n            'description' => 'required',      \n            'donation_link' => 'nullable | url',                                          \n        ];\n        return $result;\n\n    }\n}\n"
  },
  {
    "path": "app/Http/WagEnabledHelpers.php",
    "content": "<?php\nnamespace App\\Http;\n\nuse Carbon\\Carbon;\nuse Config;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Illuminate\\Support\\Str;\nuse Image;\nuse Response;\n\nclass WagEnabledHelpers\n{\n    public static function saveUploadedImage($file, $storagePath, $fileOldName = '', $isCreateThumb = \"1\", $height = 200, $width = 200, $cropped_image = '', $isThumbOptimized = false)\n    {\n        $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 5);\n\n        $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n        $nameWithoutExtension = preg_replace(\"/[^a-zA-Z0-9]/\", \"\", '') . '' . $timestamp;\n        $nameWithoutExtension = $nameWithoutExtension . '-' . $randomString;\n        $fileExtension = $file->getClientOriginalExtension();\n        $name = $nameWithoutExtension . '.' . $fileExtension;\n        $name = str_replace([' ', ':', '-'], \"\", $name);\n\n        $deleteFileList = array();\n        $thumbName = \"\";\n\n        try {\n            $img = Image::make($file->getRealPath())\n                ->orientate()\n                ->encode($fileExtension);\n\n            $media_file_upload_res = Storage::put($storagePath . $name, $img);\n            if ($media_file_upload_res) {\n                $imageName = $name;\n                $thumbnailStoragePath = $storagePath . \"thumb/\";\n                $smallThumbnailStoragePath = $storagePath . \"small-thumb/\";\n                if ($isCreateThumb == \"1\") {\n                    if ($cropped_image != \"\") {\n                        $image_thumb_content = Image::make($cropped_image)\n                            ->orientate()\n                            ->encode($fileExtension, 50);\n                        Storage::put($thumbnailStoragePath . $name, $image_thumb_content);\n\n                        if ($isThumbOptimized) {\n                            $image_small_thumb_content = Image::make($cropped_image)\n                                ->resize(500, null, function ($constraint) {\n                                    $constraint->aspectRatio();\n                                    $constraint->upsize();\n                                })\n                                ->orientate()\n                                ->encode($fileExtension);\n                            Storage::put($smallThumbnailStoragePath . $name, $image_small_thumb_content);\n\n                        }\n                        /* Resize profile picture small */\n                        /* $image_thumb_content = Image::make($cropped_image)\n                    ->resize($width, $height, function ($constraint) {\n                    $constraint->aspectRatio();\n                    $constraint->upsize();\n                    })\n                    ->orientate()\n                    ->encode($fileExtension);\n                    Storage::put($thumbnailStoragePath . $name, $image_thumb_content);*/\n                    } else {\n                        if ($isThumbOptimized) {\n                            $original_image_contents = Storage::get($storagePath . $name);\n                            /* Resize profile picture small */\n                            $image_thumb_content = Image::make($original_image_contents)\n                                ->orientate()\n                                ->encode($fileExtension, 50);\n                            Storage::put($thumbnailStoragePath . $name, $image_thumb_content);\n\n                            $image_small_thumb_content = Image::make($original_image_contents)\n                                ->resize(500, null, function ($constraint) {\n                                    $constraint->aspectRatio();\n                                    $constraint->upsize();\n                                })\n                                ->orientate()\n                                ->encode($fileExtension);\n                            Storage::put($smallThumbnailStoragePath . $name, $image_small_thumb_content);\n\n                        } else {\n\n                            $original_image_contents = Storage::get($storagePath . $name);\n\n                            /* Resize profile picture small */\n                            $image_thumb_content = Image::make($original_image_contents)\n                                ->resize($width, $height, function ($constraint) {\n                                    $constraint->aspectRatio();\n                                    $constraint->upsize();\n                                })\n                                ->orientate()\n                                ->encode($fileExtension);\n                            Storage::put($thumbnailStoragePath . $name, $image_thumb_content);\n                        }\n                    }\n                }\n\n            }\n\n            if (!empty($fileOldName)) {\n                $deleteFileList[] = $storagePath . $fileOldName;\n                $deleteFileList[] = $storagePath . \"thumb/\" . $fileOldName;\n            }\n\n            if (count($deleteFileList) > 0) {\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n            }\n\n            $returnArray = array('name' => $imageName, \"error_msg\" => \"\");\n            return $returnArray;\n\n        } catch (Exception $e) {\n            WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n            $returnArray = array('name' => \"\", \"error_msg\" => $e->getMessage());\n            return $returnArray;\n        }\n    }\n\n    public static function saveUploadedImageS3($file, $storagePath, $fileOldName = '', $isCreateThumb = \"1\", $height = 200, $width = 200)\n    {\n        $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 5);\n\n        $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n        $nameWithoutExtension = preg_replace(\"/[^a-zA-Z0-9]/\", \"\", '') . '' . $timestamp;\n        $nameWithoutExtension = $nameWithoutExtension . '-' . $randomString;\n        $fileExtension = $file->getClientOriginalExtension();\n        $name = $nameWithoutExtension . '.' . $fileExtension;\n        $name = str_replace([' ', ':', '-'], \"\", $name);\n\n        $deleteFileList = array();\n        $thumbName = \"\";\n\n        try {\n            $img = Image::make($file->getRealPath())\n                ->orientate()\n                ->encode($fileExtension);\n\n            $media_file_upload_res = Storage::disk('s3')->put($storagePath . $name, $img);\n            if ($media_file_upload_res) {\n                $imageName = $name;\n                if ($isCreateThumb == \"1\") {\n                    $original_image_contents = Storage::disk('s3')->get($storagePath . $name);\n\n                    /* Resize profile picture small */\n                    $image_thumb_content = Image::make($original_image_contents)\n                        ->resize($width, $height, function ($constraint) {\n                            $constraint->aspectRatio();\n                            $constraint->upsize();\n                        })\n                        ->orientate()\n                        ->encode($fileExtension);\n\n                    $thumbnailStoragePath = $storagePath . \"thumb/\";\n                    Storage::disk('s3')->put($thumbnailStoragePath . $name, $image_thumb_content);\n                }\n\n            }\n\n            if (!empty($fileOldName)) {\n                $deleteFileList[] = $storagePath . $fileOldName;\n                $deleteFileList[] = $storagePath . \"thumb/\" . $fileOldName;\n            }\n\n            if (count($deleteFileList) > 0) {\n                WagEnabledHelpers::deleteIfFileExistS3($deleteFileList);\n            }\n\n            $returnArray = array('name' => $imageName, \"error_msg\" => \"\");\n            return $returnArray;\n\n        } catch (Exception $e) {\n            WagEnabledHelpers::deleteIfFileExistS3($deleteFileList);\n            $returnArray = array('name' => \"\", \"error_msg\" => $e->getMessage());\n            return $returnArray;\n        }\n    }\n\n    public static function deleteIfFileExist($files)\n    {\n        if (is_array($files) && count($files) > 0) {\n            foreach ($files as $key => $path) {\n                if (!empty($path) && Storage::exists($path)) {\n                    Storage::delete($path);\n                }\n            }\n        } else {\n            if (!empty($files) && Storage::exists($files)) {\n                Storage::delete($files);\n            }\n        }\n    }\n\n    public static function deleteIfFileExistS3($files)\n    {\n        if (is_array($files) && count($files) > 0) {\n            foreach ($files as $key => $path) {\n                if (!empty($path) && Storage::disk('s3')->exists($path)) {\n                    Storage::disk('s3')->delete($path);\n                }\n            }\n        } else {\n            if (!empty($files) && Storage::disk('s3')->exists($files)) {\n                Storage::disk('s3')->delete($files);\n            }\n        }\n    }\n\n    public static function uploadFile($file, $storagePath, $fileOldName = '')\n    {\n\n        $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 5);\n\n        $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n        $nameWithoutExtension = preg_replace(\"/[^a-zA-Z0-9]/\", \"\", '') . '' . $timestamp;\n        $nameWithoutExtension = $nameWithoutExtension . '-' . $randomString;\n        $fileExtension = $file->getClientOriginalExtension();\n        $name = $nameWithoutExtension . '.' . $fileExtension;\n        $name = str_replace([' ', ':', '-'], \"\", $name);\n\n        $deleteFileList = array();\n\n        try {\n            $returnArray = array('name' => \"\", \"error_msg\" => \"Sorry something went wrong please try again\");\n\n            if (Storage::put($storagePath . $name, file_get_contents($file->getRealPath()))) {\n                $returnArray = array('name' => $name, \"error_msg\" => \"\");\n            }\n\n            if (!empty($fileOldName)) {\n                $deleteFileList[] = $storagePath . $fileOldName;\n            }\n\n            if (count($deleteFileList) > 0) {\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);\n            }\n\n            return $returnArray;\n\n        } catch (Exception $e) {\n            $returnArray = array('name' => \"\", \"error_msg\" => $e . getMessage());\n            return $returnArray;\n        }\n    }\n    public static function apiUserNotFoundResponse()\n    {\n        $statusCodes = config(\"wagenabled.status_codes\");\n        return WagEnabledHelpers::apiJsonResponse([], $statusCodes['auth_fail'], \"User not found\");\n    }\n\n    public static function apiJsonResponse($responseData = [], $code = '', $message = \"\")\n    {\n        $statusCodes = config(\"wagenabled.status_codes\");\n        if ($code == '') {\n            $code = $statusCodes['success'];\n            if (count($responseData) == 0) {\n                $code = $statusCodes['success_with_empty'];\n            }\n        }\n\n        $data = array(\n            'message' => $message,\n            'data' => $responseData,\n        );\n        return Response::json($data, $code);\n    }\n\n    public static function generateUniqueFileName($fileExtension)\n    {\n        $randomStringTemplate = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n        $randomString = substr(str_shuffle(str_repeat($randomStringTemplate, 5)), 0, 5);\n        $timestamp = Carbon::createFromFormat('U.u', microtime(true))->format(\"YmdHisu\");\n        $nameWithoutExtension = preg_replace(\"/[^a-zA-Z0-9]/\", \"\", '') . '' . $timestamp;\n        $nameWithoutExtension = $nameWithoutExtension . '-' . $randomString;\n        $name = $nameWithoutExtension . '.' . $fileExtension;\n        $name = str_replace([' ', ':', '-'], \"\", $name);\n        return $name;\n    }\n\n    public static function apiValidationFailResponse($validator)\n    {\n        $statusCodes = config(\"wagenabled.status_codes\");\n        $messages = $validator->errors();\n        if (is_object($messages)) {\n            $messages = $messages->toArray();\n        }\n        return WagEnabledHelpers::apiJsonResponse($messages, $statusCodes['form_validation'], \"Validation Error\");\n    }\n\n    public static function generateUniqueSlug($model, $stringForSlug, $id = 0, $slugColumn = \"slug\")\n    {\n        $slug = Str::slug($stringForSlug);\n\n        $allSlugs = WagEnabledHelpers::getRelatedSlugs($slug, $model, $id, $slugColumn);\n\n        if (!$allSlugs->contains($slugColumn, $slug)) {\n            return $slug;\n        }\n\n        $i = 1;\n        do {\n            $newSlug = $slug . '-' . $i;\n            $i++;\n        } while ($allSlugs->contains($slugColumn, $newSlug));\n\n        $slug = $newSlug;\n\n        $allSlugs = WagEnabledHelpers::getRelatedSlugs($slug, $model, $id, $slugColumn);\n        if (!$allSlugs->contains($slugColumn, $slug)) {\n            return $slug;\n        }\n\n        return WagEnabledHelpers::generateUniqueSlug($model, $slug, $id, $slugColumn);\n    }\n\n    public static function getRelatedSlugs($slug, $model, $id, $slugColumn)\n    {\n        return $model->select($slugColumn)->where($slugColumn, 'like', $slug . '%')\n            ->where('id', '<>', $id)\n            ->withTrashed()\n            ->get();\n    }\n\n    public static function buildTreeStructure(array $elements, $parentId = '0', $idColumnName = \"id\", $parentIdColumnName = \"parent_comment_id\")\n    {\n        $branch = array();\n        if (count($elements) > 0) {\n            foreach ($elements as $element) {\n                if ($element[$parentIdColumnName] == $parentId) {\n                    $children = self::buildTreeStructure($elements, $element[$idColumnName], $idColumnName, $parentIdColumnName);\n                    if ($children) {\n                        $element['children'] = $children;\n                    }\n                    $branch[] = $element;\n                }\n            }\n        }\n        return $branch;\n    }\n\n    public static function getYouTubeVideoID($url)\n    {\n        $queryString = parse_url($url, PHP_URL_QUERY);\n        parse_str($queryString, $params);\n        if (isset($params['v']) && strlen($params['v']) > 0) {\n            return $params['v'];\n        } else {\n            return \"\";\n        }\n    }\n\n    public static function ISO8601ToSeconds($ISO8601)\n    {\n\n        $start = new \\DateTime('@0'); // Unix epoch\n        $start->add(new \\DateInterval($ISO8601));\n        return $start->format('H:i:s.v');\n    }\n\n    public static function getYouTubeVideoDuration($url)\n    {\n        try {\n            $youtubeID = str_replace('https://www.youtube.com/embed/', '', $url);\n            if ($youtubeID) {\n                $api_key = env('GOOGLE_API_KEY', 'AIzaSyDfSFDURSYNLP98jkn2pIurVv3QThXNg2Q');\n                $api_url = 'https://www.googleapis.com/youtube/v3/videos?part=contentDetails&id=' . $youtubeID . '&key=' . $api_key;\n                $data = json_decode(@file_get_contents($api_url));\n                if ($data) {\n                    if (isset($data->items[0]) && isset($data->items[0]->contentDetails) && isset($data->items[0]->contentDetails->duration)) {\n                        return WagEnabledHelpers::ISO8601ToSeconds($data->items[0]->contentDetails->duration);\n                    }\n                }\n            }\n            return '';\n        } catch (Exception $e) {\n            $returnArray = array('name' => \"\", \"error_msg\" => $e . getMessage());\n            return $returnArray;\n        }\n\n    }\n}\n"
  },
  {
    "path": "app/Imports/BreedsImport.php",
    "content": "<?php\n\nnamespace App\\Imports;\n\nuse App\\Models\\Breed;\nuse Illuminate\\Validation\\Rule;\nuse Maatwebsite\\Excel\\Concerns\\ToModel;\nuse Maatwebsite\\Excel\\Concerns\\WithHeadingRow;\nclass BreedsImport implements ToModel, WithHeadingRow\n{\n\n    public function model(array $row)\n    {   \n        $breed_exist = Breed::where('name', $row['dog_breeds'])->first();\n        if( ! $breed_exist ) {\n            return new Breed([\n                'name' => $row['dog_breeds'],\n            ]);\n        }\n    }\n}\n"
  },
  {
    "path": "app/Library/GoogleMapHelper.php",
    "content": "<?php\n\nnamespace App\\Library;\n\nuse Illuminate\\Http\\Request;\nuse Carbon\\Carbon;\nuse DB;\nuse Response;\nuse Storage;\nuse App\\Models\\City;\nuse App\\Models\\State;\nuse App\\Models\\Country;\n\nclass GoogleMapHelper {\n\n    public static function getLatLongFromAddress($addressObj) {\n        $googleMapApiKey = config(\"wagenabled.google_map.api_key\");\n\n        $returnArr = [\n            \"latitude\" => null,\n            \"longitude\" => null,\n        ];\n\n        if($addressObj) {\n            $addressArr = [];\n            /*if(!empty($addressObj->store_name)) {\n                $addressArr[] = $addressObj->store_name;\n            }*/\n            \n            if(!empty($addressObj->address_line_1) ) {\n                $addressArr[] = $addressObj->address_line_1;\n            }\n\n            if(!empty($addressObj->address_line_2) ) {\n                $addressArr[] = $addressObj->address_line_2;\n            }\n\n            if(!empty($addressObj->city_id)) {\n                $city = City::find($addressObj->city_id);\n                if($city) {\n                    $addressArr[] = $city->name;\n                }\n            }\n            if(!empty($addressObj->state_id)) {\n                $state = State::find($addressObj->state_id);\n                if($state) {\n                    $addressArr[] = $state->name;\n                }\n            }\n            $addressArr[] = 'USA';\n            if(!empty($addressObj->postal_code)) {\n                $addressArr[] = $addressObj->postal_code;\n            }\n            \n            $addressStr = implode(\", \", $addressArr);\n            \n            if(!empty($addressStr)) {                \n                // Get JSON results from this request\n                $geo = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($addressStr).'&key='.$googleMapApiKey);             \n                $geo = json_decode($geo, true); // Convert the JSON to an array              \n                if (isset($geo['status']) && ($geo['status'] == 'OK')) {\n                    $returnArr[\"latitude\"] = $geo['results'][0]['geometry']['location']['lat']; // Latitude\n                    $returnArr[\"longitude\"] = $geo['results'][0]['geometry']['location']['lng']; // Longitude\n                } else {\n                    \\Log::info($geo);\n                }\n            }\n        }\n\n        return $returnArr;\n    }\n        \n    public static function getTimezone($addressObj) {\n        $googleMapApiKey = config(\"wagenabled.google_map.api_key\");\n       \n        $returnArr = [\n            \"timezone\" => \"\",\n        ];\n\n        if($addressObj) {\n            $addressArr = [];\n            if($addressObj->latitude && $addressObj->longitude ) {      \n                $timestamp = Carbon::now()->timestamp;  \n                $geo = file_get_contents('https://maps.googleapis.com/maps/api/timezone/json?location='.$addressObj[\"latitude\"].','.$addressObj[\"longitude\"].'&timestamp='.$timestamp.'&key='.$googleMapApiKey); \n                $geo = json_decode($geo, true);   \n                $returnArr[\"timezone\"] = $geo[\"timeZoneId\"];\n\n           }\n        }\n\n        return $returnArr;\n    }\n\n    public static function getGeocodeData($addressObj) {\n        $googleMapApiKey = config(\"wagenabled.google_map.api_key\");\n\n        $returnArr = [];\n\n        if($addressObj) {                        \n            $addressStr = implode(\", \", $addressObj);\n            \n            if(!empty($addressStr)) {                \n                // Get JSON results from this request\n                $geo = file_get_contents('https://maps.googleapis.com/maps/api/geocode/json?address='.urlencode($addressStr).'&key='.$googleMapApiKey);             \n                $geo = json_decode($geo, true); // Convert the JSON to an array        \n                $city = \"\";\n                $state = \"\";   \n                $temp_city_name = \"\";   \n                if (isset($geo['status']) && ($geo['status'] == 'OK')) {\n                    if (count($geo['results']) > 0) {\n                        //break up the components\n                        $arrComponents = $geo['results'][0]['address_components'];\n\n                        foreach($arrComponents as $index=>$component) {\n                            $type = $component['types'][0];\n\n                            if ($temp_city_name == \"\" && ($type == \"administrative_area_level_2\") ) {\n                                $temp_city_name = trim($component['long_name']);\n                            }\n\n                            if ($city == \"\" && ($type == \"sublocality_level_1\" || $type == \"locality\") ) {\n                                $city = trim($component['long_name']);\n                            }\n                            if ($state == \"\" && $type==\"administrative_area_level_1\") {\n                                $state = trim($component['long_name']);\n                            }                            \n                            if ($city != \"\" && $state != \"\") {\n                                break;\n                            }\n                        }\n                        if( $city == \"\" ) {\n                            $city = $temp_city_name;\n                        }\n                    }\n\n                    $returnArr[\"latitude\"] = $geo['results'][0]['geometry']['location']['lat']; // Latitude\n                    $returnArr[\"longitude\"] = $geo['results'][0]['geometry']['location']['lng']; // Longitude\n                    $returnArr[\"city\"] = $city; \n                    $returnArr[\"state\"] = $state; \n                } else {\n                    \\Log::info($geo);\n                }\n            }\n        }\n\n        return $returnArr;\n    }\n\n}\n"
  },
  {
    "path": "app/Mail/SendBusinessRequestMail.php",
    "content": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\n\nclass SendBusinessRequestMail extends Mailable\n{\n    use Queueable, SerializesModels;\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n\n    public $businessRequest;\n\n    public function __construct($businessRequest)\n    {\n        $this->businessRequest = $businessRequest;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n\n        $address = env('MAIL_FROM_ADDRESS', 'hello@wagenabled.com');\n        $subject = 'Wag enabled business request mail.';\n        $name = env('MAIL_FROM_NAME', 'Wag Enabled');\n\n        return $this->view('emails.api.v1.businessRequest.sendBusinessRequestEmail')\n                   ->from($address, $name)                                   \n                   ->subject($subject)\n                   ->replyTo($this->businessRequest->contact_email, $this->businessRequest->first_name .' '. $this->businessRequest->last_name )\n                   ->with(['businessRequest' => $this->businessRequest]);        \n    }\n}\n"
  },
  {
    "path": "app/Mail/SendCommentNotificaitonMail.php",
    "content": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\n\nclass SendCommentNotificaitonMail extends Mailable\n{\n    use Queueable, SerializesModels;\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n\n    public $watchAndLearn;\n\n    public function __construct($watchAndLearn)\n    {\n        $this->watchAndLearn = $watchAndLearn;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n\n        $address = env('MAIL_FROM_ADDRESS', 'hello@wagenabled.com');\n        $subject = 'Wag enabled watch and learn comment notification mail.';\n        $name = env('MAIL_FROM_NAME', 'Wag Enabled');\n\n        $url = config(\"wagenabled.react_server_base_url\") . \"/watch-and-learn/\" . $this->watchAndLearn->slug;\n\n        return $this->view('emails.api.v1.watchAndLearnComment.sendWatchAndLearnCommentNotificationEmail')\n                   ->from($address, $name)                                   \n                   ->subject($subject)\n                   ->with(['watchAndLearn' => $this->watchAndLearn, 'url' => $url]);        \n    }\n}\n"
  },
  {
    "path": "app/Mail/SendContactMail.php",
    "content": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\n\nclass SendContactMail extends Mailable\n{\n    use Queueable, SerializesModels;\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n\n    public $contact;\n\n    public function __construct($contact)\n    {\n        $this->contact = $contact;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n\n        $address = env('MAIL_FROM_ADDRESS', 'hello@wagenabled.com');\n        $subject = 'Wag enabled contact mail.';\n        $name = env('MAIL_FROM_NAME', 'Wag Enabled');\n\n        return $this->view('emails.api.v1.contact.sendContactEmail')\n                   ->from($address, $name)                                   \n                   ->subject($subject)\n                   ->replyTo($this->contact->email, $this->contact->name )\n                   ->with(['contact' => $this->contact]);        \n    }\n}\n"
  },
  {
    "path": "app/Mail/UerPasswordResetMail.php",
    "content": "<?php\n\nnamespace App\\Mail;\n\nuse Illuminate\\Bus\\Queueable;\nuse Illuminate\\Mail\\Mailable;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\n\nclass UerPasswordResetMail extends Mailable\n{\n    use Queueable, SerializesModels;\n\n    /**\n     * Create a new message instance.\n     *\n     * @return void\n     */\n\n    public $user, $token;\n\n    public function __construct($user, $token)\n    {\n        $this->user = $user;\n        $this->token = $token;\n    }\n\n    /**\n     * Build the message.\n     *\n     * @return $this\n     */\n    public function build()\n    {\n\n        $address = env('MAIL_FROM_ADDRESS', 'hello@wagenabled.com');\n        $subject = 'Wag enabled password reset mail.';\n        $name = env('MAIL_FROM_NAME', 'Wag Enabled');\n\n        $url = config(\"wagenabled.react_server_base_url\") . \"/reset-password?token=\" . $this->token;\n\n        return $this->view('emails.api.v1.auth.passwordReset')\n                   ->from($address, $name)                                   \n                   ->subject($subject)\n                   ->with([ 'user' => $this->user, 'url' => $url]);        \n    }\n}\n"
  },
  {
    "path": "app/Models/AdminUser.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Foundation\\Auth\\User as Authenticatable;\n\nclass AdminUser extends Authenticatable\n{\n    protected $guarded = ['id'];\n    protected $appends = [ 'formated_created_at'];\n\n    //Append Values -------------------------------------------------\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/Y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/Breed.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Breed extends Model\n{\n\tprotected $table = \"breeds\";\n\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n  \n    public function dogs()\n    {\n        return $this->hasMany('App\\Models\\UserPet', 'breed_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/BusinessNature.php",
    "content": "<?php\n\nnamespace App\\Models;\n\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass BusinessNature extends Model\n{\n    use SoftDeletes;\n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at'];\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n    \n    public function petPro()\n    {\n        return $this->hasMany('App\\Models\\PetProSelectedBusinessNature', 'business_id', 'id');\n    }\n\n}\n"
  },
  {
    "path": "app/Models/BusinessRequest.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass BusinessRequest extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at'];\n\n   \n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/City.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass City extends Model\n{\n    protected $table = 'cities';\n    protected $primaryKey = 'id';\n    \n    protected $guarded = ['id'];\n    protected $hidden = [];\n    protected $appends = [];\n\n    public function users()\n    {\n        return $this->hasMany('User');\n    }\n\n   \tpublic function state()\n   \t{\n   \t    return $this->belongsTo('App\\Models\\State', 'state_id', 'id');\n   \t} \n\n    public function petpros()\n    {\n           //return $this->belongsToMany(RelatedModel, pivot_table_name, foreign_key_of_current_model_in_pivot_table, foreign_key_of_other_model_in_pivot_table);\n           return $this->belongsToMany(\n                   'App\\Models\\PetPro',\n                   'pet_country_state_city',\n                   'city_id',\n                   'pet_pro_id');\n    }\n}\n"
  },
  {
    "path": "app/Models/Contact.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Contact extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at'];\n\n   \n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/Country.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Country extends Model\n{\n    protected $table = 'countries';\n    protected $primaryKey = 'id';\n    \n    protected $guarded = ['id'];\n    protected $hidden = [];\n    protected $appends = [];\n\n    public function users()\n    {\n        return $this->hasMany('User');\n    }\n\n    public function states()\n    {\n        return $this->hasMany('App\\Models\\State', 'country_id', 'id');\n    }\n\n    public function petpros()\n    {\n        //return $this->belongsToMany(RelatedModel, pivot_table_name, foreign_key_of_current_model_in_pivot_table, foreign_key_of_other_model_in_pivot_table);\n        return $this->belongsToMany(\n                'App\\Models\\PetPro',\n                'pet_country_state_city',\n                'country_id',\n                'pet_pro_id');\n    }\n    \n}\n\n"
  },
  {
    "path": "app/Models/Newsletter.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass Newsletter extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at'];\n   \n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/PasswordReset.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PasswordReset extends Model\n{\n    protected $fillable = [\n        'email', 'token'\n    ];\n}\n"
  },
  {
    "path": "app/Models/PetPro.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\PetProTimetable;\nuse App\\Observers\\PetProObserver;\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass PetPro extends Model\n{   \n    use SoftDeletes;\n    \n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at', \"formatted_timetable\", 'is_timetable_entered'];\n\n    public static function boot()\n    {\n        parent::boot();\n        static::observe(PetProObserver::class);       \n    }\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n\t\n\tpublic function categories()\n    {\n        return $this->hasMany('App\\Models\\PetProSelectedCategory','pet_pro_id', 'id');\n    }\n\n    public function business()\n    {\n        return $this->hasMany('App\\Models\\PetProSelectedBusinessNature','pet_pro_id', 'id');\n    }\n    public function petType()\n    {\n        return $this->hasMany('App\\Models\\PetProsSelectedPetType','pet_pro_id', 'id');\n    }\n    public function servicesOffered()\n    {\n        return $this->hasMany('App\\Models\\PetProServicesOffered','pet_pro_id', 'id');\n    }\n\n    public function country()\n    {\n        return $this->belongsTo('App\\Models\\Country');\n    }\n    \n    public function countries()\n    {\n        return $this->belongsToMany(\n            'App\\Models\\Country',\n            'pet_country_state_city',\n            'pet_pro_id',\n            'country_id');\n    }\n\n    public function states()\n    {\n        return $this->belongsToMany(\n            'App\\Models\\State',\n            'pet_country_state_city',\n            'pet_pro_id',\n            'state_id');\n    }\n\n    public function cities()\n    {\n        return $this->belongsToMany(\n            'App\\Models\\City',\n            'pet_country_state_city',\n            'pet_pro_id',\n            'city_id');\n    }\n    \n\n    public function state()\n    {\n        return $this->belongsTo('App\\Models\\State');\n    }\n\n    public function city()\n    {\n        return $this->belongsTo('App\\Models\\City');\n    }\n\n    public function timetable()\n    {\n        return $this->hasMany('App\\Models\\PetProTimetable', 'pet_pro_id', 'id');\n    }\n\n    public function reviews()\n    {\n        return $this->hasMany('App\\Models\\PetProReview', 'pet_pro_id', 'id');\n    }\n\n    public function coverImage()\n    {\n        return $this->hasOne('App\\Models\\PetProGallery', 'pet_pro_id', 'id')->Where('is_cover_image', '1');\n    }\n\n    public function otherImage()\n    {\n        return $this->hasMany('App\\Models\\PetProGallery', 'pet_pro_id', 'id')->Where('is_cover_image', '0');\n    }\n\n    public function images()\n    {\n        return $this->hasMany('App\\Models\\PetProGallery', 'pet_pro_id', 'id')->orderBy('is_cover_image', 'desc')->orderBy('id', 'asc');\n    }\n\n    public function deals()\n    {\n        return $this->hasMany('App\\Models\\PetProDeal', 'pet_pro_id', 'id')->orderBy('id', 'desc');\n    }\n\n    public function events()\n    {\n        return $this->hasMany('App\\Models\\PetProEvent', 'pet_pro_id', 'id')->orderBy('event_date', 'asc');\n    }\n\n    public function getFormattedTimetableAttribute()\n    {\n       $data = [];\n       foreach ($this->timetable as $timetable) {\n            $data[$timetable->day.\"_open\"] = $timetable->open ? Carbon::parse($timetable->open)->format('h:i a') : '';\n            $data[$timetable->day.\"_close\"] = $timetable->close ? Carbon::parse($timetable->close)->format('h:i a') : '';\n       }\n        return $data;\n    }\n\n    public function getIsTimetableEnteredAttribute()\n    {      \n        $result_count = PetProTimetable::where('pet_pro_id', $this->id)->whereNotNull('open')->count();\n        if( $result_count ) {\n            return true;\n        }\n        return false;\n\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProCategory.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass PetProCategory extends Model\n{\n    use SoftDeletes;\n    \n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at'];\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n\t\n\tpublic function petPro()\n    {\n        return $this->hasMany('App\\Models\\PetProSelectedCategory', 'category_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProDeal.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Models\\PetProDealClaim;\nuse Auth;\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass PetProDeal extends Model\n{\n    use SoftDeletes;\n    \n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_start_date', \"formated_end_date\", 'is_claimed'];\n\n    public function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n\n    public function claims()\n    {\n        return $this->hasMany('App\\Models\\PetProDealClaim', 'pet_pro_deal_id', 'id');\n    }\n\n    public function scopeActive($query)\n    {\n        $current_date_time_ob = Carbon::now('UTC');\n        $current_date = $current_date_time_ob->format('Y-m-d');\n\n        return $query->where('pet_pro_deals.status', 'active')\n            ->where(function($q) use($current_date) {\n                $q->where(function($q){\n                    $q->whereNull('start_date')\n                      ->whereNull('end_date');\n                })->orWhere(function($q) use($current_date) {\n                    $q->where('start_date', '<=', $current_date)\n                      ->where('end_date', '>=', $current_date);\n                });\n            });\n    }\n\n    public function getIsClaimedAttribute()\n    {\n        $user = Auth::user();\n        if ($user) {\n            if ($user->count() != 0) {\n                $isClaimed = PetProDealClaim::where('pet_pro_deal_id', $this->id)\n                            ->where('user_id', $user->id)\n                            ->first();\n                if( $isClaimed ) {\n                    return 1;\n                }\n            }\n        }\n        return 0;\n    }\n\n    //formated_start_date\n    public function getFormatedStartDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->start_date)) {\n            $data = Carbon::parse($this->start_date)->format('m/d/y');\n        }\n        return $data;\n    }\n\n    //formated_end_date\n    public function getFormatedEndDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->end_date)) {\n            $data = Carbon::parse($this->end_date)->format('m/d/y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProDealClaim.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProDealClaim extends Model\n{\n    protected $guarded = ['id', 'created_at', 'updated_at'];\n}\n"
  },
  {
    "path": "app/Models/PetProEvent.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass PetProEvent extends Model\n{\n    use SoftDeletes;\n    \n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_event_date', 'formated_event_month', 'formated_event_start_time', 'formated_event_end_time', 'formated_event_date_day', 'formated_event_start_date', 'formated_event_end_date'];\n\n    public function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n\n    //formated_event_date\n    public function getFormatedEventDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->event_date)) {\n            $data = Carbon::parse($this->event_date)->format('m/d/y');\n        }\n        return $data;\n    } \n\n    //formated_event_date_day\n    public function getFormatedEventDateDayAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->event_date)) {\n            $data = Carbon::parse($this->event_date)->format('d');\n        }\n        return $data;\n    }  \n\n    //formated_event_start_date\n    public function getFormatedEventStartDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->event_date)) {\n            $data = Carbon::parse($this->event_date)->format('M, d Y');\n        }\n        return $data;\n    } \n\n    //formated_event_end_date\n    public function getFormatedEventEndDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->event_date)) {\n            $data = Carbon::parse($this->event_end_date)->format('M, d Y');\n        }\n        return $data;\n    } \n\n    //formated_event_month\n    public function getFormatedEventMonthAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->event_date)) {\n            $data = Carbon::parse($this->event_date)->format('F');\n        }\n        return $data;\n    }\n\n    //formated_event_start_time\n    public function getFormatedEventStartTimeAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->start_time)) {\n            $data = Carbon::parse($this->start_time)->format('h:i a');\n        }\n        return $data;\n    } \n    \n    //formated_event_end_time\n    public function getFormatedEventEndTimeAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->end_time)) {\n            $data = Carbon::parse($this->end_time)->format('h:i a');\n        }\n        return $data;\n    } \n\n    public function scopeActive($query)\n    {\n        $current_date_time_ob = Carbon::now('UTC');\n        $current_date = $current_date_time_ob->format('Y-m-d');\n        $current_time = $current_date_time_ob->format('H:i:s');\n\n        return $query->where(function($q) use($current_date, $current_time) {\n                $q->where(function($q){\n                    $q->whereNull('event_date');\n                })\n                ->orWhere(function($q) use($current_date, $current_time) {\n                    $q->where('event_end_date', '>=', $current_date)\n                      /*->where('start_time', '>=', $current_time)*/;\n                });\n            })->where('status', 'active');\n    }   \n}\n"
  },
  {
    "path": "app/Models/PetProGallery.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass PetProGallery extends Model\n{\n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'image_full_path', 'image_thumb_full_path', 'image_small_thumb_full_path'];\n\n    public function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n\n    //image_full_path\n    public function getImageFullPathAttribute()\n    {\n        if (!empty($this->gallery_image)) {\n            return Storage::url(config(\"wagenabled.path.url.pet_pro_gallery_image_path\") . $this->gallery_image);\n        }    \n        return asset('admin-theme/images/default-wag.svg');      \n    }\n\n    //image_thumb_full_path\n    public function getImageThumbFullPathAttribute()\n    {\n        if (!empty($this->gallery_image)) {\n            $image_url = Storage::url(config(\"wagenabled.path.url.pet_pro_gallery_image_path\").'thumb/'.  $this->gallery_image);\n\n            if($this->is_cropped_image) {\n                return $image_url;\n            }\n            return Storage::url(config(\"wagenabled.path.url.pet_pro_gallery_image_path\"). $this->gallery_image);\n        }    \n        return asset('admin-theme/images/default-wag.svg');      \n    }\n\n    //image_small_thumb_full_path\n    public function getImageSmallThumbFullPathAttribute()\n    {\n        if (!empty($this->gallery_image)) {\n            $image_url = Storage::url(config(\"wagenabled.path.url.pet_pro_gallery_image_path\").'small-thumb/'.  $this->gallery_image);\n                return $image_url;\n        }    \n        return asset('admin-theme/images/default-wag.svg');      \n    }\n\n}\n"
  },
  {
    "path": "app/Models/PetProReview.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProReview extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at']; \n\n\tprotected $appends = [ 'formated_created_at'];\n\n\n\t//formated_created_at\n\tpublic function getFormatedCreatedAtAttribute()\n\t{\n\t    $data = \"\";\n\t    if(!empty($this->created_at)) {\n\t        $data = Carbon::parse($this->created_at)->format('d F, Y');\n\t    }\n\t    return $data;\n\t}\n\n    public function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n\n    public function user()\n    {\n        return $this->belongsTo('App\\Models\\User', 'user_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProSelectedBusinessNature.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProSelectedBusinessNature extends Model\n{\n    protected $guarded = ['id'];\n\n    public function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n\n    public function businessNature()\n    {\n        return $this->belongsTo('App\\Models\\BusinessNature', 'business_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProSelectedCategory.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProSelectedCategory extends Model\n{   \n\tprotected $guarded = ['id'];\n  \n\tpublic function petPro()\n\t{\n\t\treturn $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n\t}\n\n\tpublic function category()\n\t{\n\t\treturn $this->belongsTo('App\\Models\\PetProCategory', 'category_id', 'id');\n\t}\n}\n"
  },
  {
    "path": "app/Models/PetProServicesOffered.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProServicesOffered extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\tprotected $table = 'pet_pro_services_offered';\n\n\tpublic function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProTimetable.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProTimetable extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at']; \n\n    public function watchAndLearn()\n    {\n        return $this->belongsTo('App\\Models\\WatchAndLearn', 'watch_and_learn_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/PetProsSelectedPetType.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass PetProsSelectedPetType extends Model\n{\n    protected $guarded = ['id'];\n\n    public function petPro()\n    {\n        return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n    }\n\n    public function businessNature()\n    {\n        return $this->belongsTo('App\\Models\\PetType', 'pet_type_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/PetType.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass PetType extends Model\n{\n    use SoftDeletes;\n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = ['formated_created_at'];\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if (!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n\n    public function petPro()\n    {\n        return $this->hasMany('App\\Models\\PetProsSelectedPetType', 'pet_type_id', 'id');\n    }\n\n}\n"
  },
  {
    "path": "app/Models/State.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass State extends Model\n{\n    protected $table = 'states';\n    protected $primaryKey = 'id';\n    \n    protected $guarded = ['id'];\n    protected $hidden = [];\n    protected $appends = [];\n\n    public function users()\n    {\n        return $this->hasMany('User');\n    }\n\n    public function countries()\n    {\n        return $this->hasMany('App\\Models\\City', 'state_id', 'id');\n    }\n\n    public function country()\n    {\n        return $this->belongsTo('App\\Models\\Country', 'country_id', 'id');\n    }\n    \n    public function petpros()\n    {\n           //return $this->belongsToMany(RelatedModel, pivot_table_name, foreign_key_of_current_model_in_pivot_table, foreign_key_of_other_model_in_pivot_table);\n        return $this->belongsToMany(\n            'App\\Models\\PetPro',\n            'pet_country_state_city',\n            'state_id',\n            'pet_pro_id');\n    }\n}\n"
  },
  {
    "path": "app/Models/Testimonial.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Http\\WagEnabledHelpers;\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass Testimonial extends Model\n{\n\tprotected $guarded = ['id'];\n\n    protected $appends = [ 'formated_created_at', 'testimonial_image_full_path', 'testimonial_image_thumb_full_path'];\n\n\tpublic static function boot()\n    {\n        parent::boot();\n\n        static::deleted(function ($model) {\n            $deleteFileList = array();\n            if (isset($model->image) && $model->image) {                \n                $deleteFileList[] =  config(\"wagenabled.path.doc.testimonial_image_path\").$model->image;\n                $deleteFileList[] =  config(\"wagenabled.path.doc.testimonial_image_path\").'thumb/'.$model->image;\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);           \n            }           \n        });\n\t}\n\t\n\tpublic function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('F d, Y');\n        }\n        return $data;\n    }\n\t\n\tpublic function getTestimonialImageFullPathAttribute()\n    {\n        if (!empty($this->image)) {\n            return Storage::url(config(\"wagenabled.path.url.testimonial_image_path\") . $this->image);\n        }    \n        return '';      \n    }\n\n    public function getTestimonialImageThumbFullPathAttribute()\n    {\n        if (!empty($this->image)) {\n            return Storage::url(config(\"wagenabled.path.url.testimonial_image_path\").'thumb/'. $this->image);\n        }    \n        return '';      \n    }\n}\n"
  },
  {
    "path": "app/Models/User.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Http\\WagEnabledHelpers;\nuse Carbon\\Carbon;\nuse Illuminate\\Contracts\\Auth\\MustVerifyEmail;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\nuse Illuminate\\Foundation\\Auth\\User as Authenticatable;\nuse Illuminate\\Notifications\\Notifiable;\nuse Illuminate\\Support\\Facades\\Storage;\nuse Tymon\\JWTAuth\\Contracts\\JWTSubject;\n\nclass User extends Authenticatable implements JWTSubject\n{\n    use Notifiable;\n     use SoftDeletes;\n\n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $hidden = [\n        'password', 'remember_token',\n    ];\n\n    protected $casts = [\n        'email_verified_at' => 'datetime',\n    ];\n\n    protected $appends = [ 'formated_created_at', 'profile_image_full_path', 'profile_image_thumb_full_path'];\n\n    public static function boot()\n    {\n        parent::boot();\n        static::deleted(function ($model) {\n            if (isset($model->profile_image) && $model->profile_image) {                \n                $deleteFileList = array();\n                $deleteFileList[] =  config(\"wagenabled.path.doc.user_profile_image_path\").$model->profile_image;\n                $deleteFileList[] =  config(\"wagenabled.path.doc.user_profile_image_path\").'thumb/'.$model->profile_image;\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);           \n            }\n        });\n    }\n\n    // jwt \n    public function getJWTIdentifier()\n    {\n        return $this->getKey();\n    }\n    public function getJWTCustomClaims()\n    {\n        return [];\n    }\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n\n    //profile_image_full_path\n    public function getProfileImageFullPathAttribute()\n    {\n        if (!empty($this->profile_image)) {\n            return Storage::url(config(\"wagenabled.path.url.user_profile_image_path\") . $this->profile_image);\n        }    \n        return asset('admin-theme/images/default_user.svg');       \n    }\n\n    //profile_image_thumb_full_path\n    public function getProfileImageThumbFullPathAttribute()\n    {\n        if (!empty($this->profile_image)) {\n            return Storage::url(config(\"wagenabled.path.url.user_profile_image_path\").'thumb/'. $this->profile_image);\n        }    \n        return asset('admin-theme/images/default_user.svg');       \n    }\n\n    public function country()\n    {\n        return $this->belongsTo('App\\Models\\Country');\n    }\n\n    public function state()\n    {\n        return $this->belongsTo('App\\Models\\State');\n    }\n\n    public function city()\n    {\n        return $this->belongsTo('App\\Models\\City');\n    }\n\n    public function pets()\n    {\n        return $this->hasMany('App\\Models\\UserPet', 'user_id', 'id');\n    }\n    \n    public function savedVideos()\n    {\n        return $this->belongsToMany('App\\Models\\WatchAndLearn', 'user_saved_videos', 'user_id', 'watch_and_learn_id')->using('App\\Models\\UserSavedVideo'); \n    }\n\n    public function lovedPetPro()\n    {\n        return $this->belongsToMany('App\\Models\\PetPro', 'user_loved_pet_pros', 'user_id', 'pet_pro_id')->using('App\\Models\\UserLovedPetPro'); \n    }\n\n    public function petProReviews()\n    {\n        return $this->hasMany('App\\Models\\PetProReview', 'user_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/UserLovedPetPro.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\Relations\\Pivot;\n\nclass UserLovedPetPro extends Pivot\n{\n\tprotected $table = 'user_loved_pet_pros';\n\t\n   \tprotected $guarded = ['id', 'created_at', 'updated_at'];  \n\n   \tpublic function petPro()\n   \t{\n   \t    return $this->belongsTo('App\\Models\\PetPro', 'pet_pro_id', 'id');\n   \t}\n\n}\n"
  },
  {
    "path": "app/Models/UserPet.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Http\\WagEnabledHelpers;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass UserPet extends Model\n{\n\tprotected $table = \"user_pets\";\n\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'pet_image_full_path', 'pet_image_thumb_full_path'];\n\n    public static function boot()\n    {\n        parent::boot();\n        static::deleted(function ($model) {\n            if (isset($model->pet_image) && $model->pet_image) {                \n                $deleteFileList = array();\n                $deleteFileList[] =  config(\"wagenabled.path.doc.users_pet_image_path\").$model->pet_image;\n                $deleteFileList[] =  config(\"wagenabled.path.doc.users_pet_image_path\").'thumb/'.$model->pet_image;\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);           \n            }\n        });\n    }\n\n    //pet_image_full_path\n    public function getPetImageFullPathAttribute()\n    {\n        if (!empty($this->pet_image)) {\n            return Storage::url(config(\"wagenabled.path.url.users_pet_image_path\") . $this->pet_image);\n        }    \n        return asset('admin-theme/images/default.png');       \n    }\n\n    //pet_image_thumb_full_path\n    public function getPetImageThumbFullPathAttribute()\n    {\n        if (!empty($this->pet_image)) {\n            return Storage::url(config(\"wagenabled.path.url.users_pet_image_path\") .'thumb/'. $this->pet_image);\n        }    \n        return asset('admin-theme/images/default.png');       \n    }\n\n    public function breed()\n    {\n        return $this->belongsToMany('App\\Models\\Breed', 'users_pet_breeds', 'users_pet_id', 'breed_id')->using('App\\Models\\UsersPetBreed'); \n    }\n}\n"
  },
  {
    "path": "app/Models/UserSavedVideo.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Relations\\Pivot;\n\nclass UserSavedVideo extends Pivot\n{\n\tprotected $table = \"user_saved_videos\";\n\t\n\tprotected $guarded = ['id', 'created_at', 'updated_at']; \n\n    public function watchAndLearn()\n    {\n        return $this->belongsTo('App\\Models\\WatchAndLearn', 'watch_and_learn_id', 'id');\n    }\n\n    public function user()\n    {\n        return $this->belongsTo('App\\Models\\Users', 'user_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/UsersPetBreed.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Relations\\Pivot;\n\nclass UsersPetBreed extends Pivot\n{\n\tprotected $table = \"users_pet_breeds\";\n\t\n\tprotected $guarded = ['id', 'created_at', 'updated_at']; \n\n    public function breed()\n    {\n        return $this->belongsTo('App\\Models\\Breed', 'breed_id', 'id');\n    }\n\n    public function pet()\n    {\n        return $this->belongsTo('App\\Models\\UserPet', 'user_id', 'id');\n    }\n}\n"
  },
  {
    "path": "app/Models/WatchAndLearn.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Observers\\WatchAndLearnObserver;\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass WatchAndLearn extends Model\n{\n    use SoftDeletes;\n    \n\tprotected $table = \"watch_and_learn\";\n\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at', 'thumbnail_full_path', 'thumbnail_thumb_full_path', 'video_full_path', 'formated_duration'];\n\n    public static function boot()\n    {\n        parent::boot();\n        static::observe(WatchAndLearnObserver::class);\n\n        static::deleted(function ($model) {\n            $deleteFileList = array();\n            if (isset($model->thumbnail) && $model->thumbnail) {                \n                $deleteFileList[] =  config(\"wagenabled.path.doc.watch_and_learn_thumbnail_path\").$model->thumbnail;\n                $deleteFileList[] =  config(\"wagenabled.path.doc.watch_and_learn_thumbnail_path\").'thumb/'.$model->thumbnail;\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);           \n            }            \n            if (isset($model->video_type) && $model->video_type == 'video_upload' ) {\n                $deleteFileList[] =  config(\"wagenabled.path.doc.watch_and_learn_video_path\").$model->video_file;\n            }            \n            WagEnabledHelpers::deleteIfFileExist($deleteFileList);           \n        });\n    }\n\n    //formated_duration\n    public function getFormatedDurationAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->duration)) {\n            $data = Carbon::parse($this->duration)->format('H:i:s');\n        }\n        return $data;\n    }\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('F d, Y');\n        }\n        return $data;\n    }\n\n\n    //thumbnail_full_path\n    public function getThumbnailFullPathAttribute()\n    {\n        if (!empty($this->thumbnail)) {\n            return Storage::url(config(\"wagenabled.path.url.watch_and_learn_thumbnail_path\") . $this->thumbnail);\n        }    \n        return asset('admin-theme/images/default.png');      \n    }\n\n    //thumbnail_thumb_full_path\n    public function getThumbnailThumbFullPathAttribute()\n    {\n        if (!empty($this->thumbnail)) {\n            return Storage::url(config(\"wagenabled.path.url.watch_and_learn_thumbnail_path\").'thumb/'. $this->thumbnail);\n        }    \n        return asset('admin-theme/images/default.png');      \n    }\n\n    //video_full_path\n    public function getVideoFullPathAttribute()\n    {   \n        if( $this->video_type == 'video_upload' ) {            \n            if (!empty($this->video_file)) {\n                return Storage::url(config(\"wagenabled.path.url.watch_and_learn_video_path\"). $this->video_file);\n            }    \n        }\n        else {\n           return $this->embed_link;\n        }\n        return '';      \n    }\n \n    public function category()\n    {\n        return $this->belongsTo('App\\Models\\WatchAndLearnCategory', 'category_id', 'id')->withTrashed();\n    }\n\n    public function categories()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnSelectedCategory','watch_and_learn_id', 'id');\n    }\n\n    public function author()\n    {\n        return $this->belongsTo('App\\Models\\WatchAndLearnAuthor', 'author_id', 'id')->withTrashed();\n    }\n\n    public function comments()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnComment', 'watch_and_learn_id', 'id');\n    }\n\n    public function users()\n    {\n        return $this->belongsToMany('App\\Models\\User', 'user_saved_videos', 'watch_and_learn_id', 'user_id')->using('App\\Models\\UserSavedVideo')->withTrashed(); \n    }\n\n    public function deals()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnDeal', 'watch_and_learn_id', 'id')->orderBy('id', 'desc');\n    }\n\n    public function scopeProductReviewCategory($query)\n    {\n        $parent_product_review_id = config(\"wagenabled.product_review_category_id\");\n        \n        if( $parent_product_review_id ) {           \n            return $query->whereHas('category', function($q) use($parent_product_review_id){\n                $q->where('watch_and_learn_categories.parent_id', $parent_product_review_id);\n            });\n        } \n\n        return $query;\n    }   \n\n    public function scopeGetWatchAndLearnCategory($query)\n    {\n        $parent_product_review_id = config(\"wagenabled.product_review_category_id\");\n        $query = $query->whereHas('category', function($q) use($parent_product_review_id){\n            if( $parent_product_review_id ) {           \n                $q->where('watch_and_learn_categories.id', '!=', $parent_product_review_id);\n            } \n            $q->where('watch_and_learn_categories.parent_id', 0);\n        });\n\n        return $query;       \n    }  \n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnAuthor.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Http\\WagEnabledHelpers;\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\nuse Illuminate\\Support\\Facades\\Storage;\n\nclass WatchAndLearnAuthor extends Model\n{\n    use SoftDeletes;\n\n    protected $table = \"watch_and_learn_authors\";\n    \n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'image_full_path', 'image_thumb_full_path', 'formated_created_at'];\n\n    public static function boot()\n    {\n        parent::boot();\n        static::deleted(function ($model) {\n            /*\n            if (isset($model->profile_image) && $model->profile_image) {                \n                $deleteFileList = array();\n                $deleteFileList[] =  config(\"wagenabled.path.doc.watch_and_learn_author_path\").$model->profile_image;\n                $deleteFileList[] =  config(\"wagenabled.path.doc.watch_and_learn_author_path\").'thumb/'.$model->profile_image;\n                WagEnabledHelpers::deleteIfFileExist($deleteFileList);           \n            }\n            */\n        });\n    }\n\n    public function watchAndLearns()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearn', 'author_id', 'id');\n    }\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n\n    //image_full_path\n    public function getImageFullPathAttribute()\n    {\n        if (!empty($this->profile_image)) {\n            return Storage::url(config(\"wagenabled.path.url.watch_and_learn_author_path\") . $this->profile_image);\n        }    \n        return asset('admin-theme/images/default_user.svg');      \n    }\n\n    //image_thumb_full_path\n    public function getImageThumbFullPathAttribute()\n    {\n        if (!empty($this->profile_image)) {\n            return Storage::url(config(\"wagenabled.path.url.watch_and_learn_author_path\").'thumb/'. $this->profile_image);\n        }    \n        return asset('admin-theme/images/default_user.svg');      \n    }\n\n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnCategory.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass WatchAndLearnCategory extends Model\n{\n    use SoftDeletes;\n    \n\tprotected $table = \"watch_and_learn_categories\";\n\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_created_at'];\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('m/d/y');\n        }\n        return $data;\n    }\n  \n    public function watchAndLearn()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearn', 'category_id', 'id');\n    }\n    public function watchAndLearns()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnSelectedCategory', 'selected_category_id', 'id');\n    }\n\n    public function scopeProductReviewCategory($query)\n    {\n        $parent_product_review_id = config(\"wagenabled.product_review_category_id\");\n        \n        if( $parent_product_review_id ) {            \n            return $query->where('watch_and_learn_categories.parent_id', $parent_product_review_id);\n        } \n\n        return $query;\n    }   \n\n    public function scopeGetWatchAndLearnCategory($query)\n    {\n        $parent_product_review_id = config(\"wagenabled.product_review_category_id\");    \n        if( $parent_product_review_id ) {            \n            $query = $query->where('watch_and_learn_categories.id', '!=', $parent_product_review_id);\n        } \n        return $query->where('watch_and_learn_categories.parent_id', 0);\n    }   \n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnComment.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass WatchAndLearnComment extends Model\n{\n\tprotected $guarded = ['id', 'created_at', 'updated_at']; \n\n\tprotected $appends = [ 'formated_created_at'];\n\n    protected $table = \"watch_and_learn_comments\";\n\n    public function watchAndLearn()\n    {\n        return $this->belongsTo('App\\Models\\WatchAndLearn', 'watch_and_learn_id', 'id');\n    }\n\n    public function user()\n    {\n        return $this->belongsTo('App\\Models\\User', 'user_id', 'id');\n    }\n\n    public function parent()\n    {\n       return $this->belongsTo('App\\Models\\WatchAndLearnComment', 'parent_comment_id');\n    }\n\n    public function children()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnComment', 'parent_comment_id');\n    }\n\n    public function allChildren()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnComment', 'parent_comment_id')->with('allChildren');\n    }\n\n    //formated_created_at\n    public function getFormatedCreatedAtAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->created_at)) {\n            $data = Carbon::parse($this->created_at)->format('F d, Y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnDeal.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse App\\Models\\WatchAndLearnDealClaim;\nuse Auth;\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nuse Illuminate\\Database\\Eloquent\\SoftDeletes;\n\nclass WatchAndLearnDeal extends Model\n{\n    use SoftDeletes;\n    \n    protected $guarded = ['id', 'created_at', 'updated_at'];\n\n    protected $appends = [ 'formated_start_date', \"formated_end_date\", 'is_claimed'];\n\n    public function watchAndLearnDeal()\n    {\n        return $this->belongsTo('App\\Models\\WatchAndLearn', 'watch_and_learn_id', 'id');\n    }\n\n    public function claims()\n    {\n        return $this->hasMany('App\\Models\\WatchAndLearnDealClaim', 'watch_and_learn_deal_id', 'id');\n    }\n\n    public function scopeActive($query)\n    {\n        $current_date_time_ob = Carbon::now('UTC');\n        $current_date = $current_date_time_ob->format('Y-m-d');\n\n        return $query->where('watch_and_learn_deals.status', 'active')\n            ->where(function($q) use($current_date) {\n                $q->where(function($q){\n                    $q->whereNull('start_date')\n                      ->whereNull('end_date');\n                })->orWhere(function($q) use($current_date) {\n                    $q->where('start_date', '<=', $current_date)\n                      ->where('end_date', '>=', $current_date);\n                });\n            });\n    }\n\n    public function getIsClaimedAttribute()\n    {\n        $user = Auth::user();\n        if ($user) {\n            if ($user->count() != 0) {\n                $isClaimed = WatchAndLearnDealClaim::where('watch_and_learn_deal_id', $this->id)\n                            ->where('user_id', $user->id)\n                            ->first();\n                if( $isClaimed ) {\n                    return 1;\n                }\n            }\n        }\n        return 0;\n    }\n\n    //formated_start_date\n    public function getFormatedStartDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->start_date)) {\n            $data = Carbon::parse($this->start_date)->format('m/d/y');\n        }\n        return $data;\n    }\n\n    //formated_end_date\n    public function getFormatedEndDateAttribute()\n    {\n        $data = \"\";\n        if(!empty($this->end_date)) {\n            $data = Carbon::parse($this->end_date)->format('m/d/y');\n        }\n        return $data;\n    }\n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnDealClaim.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass WatchAndLearnDealClaim extends Model\n{\n    protected $guarded = ['id', 'created_at', 'updated_at'];\n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnMedias.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\n\nclass WatchAndLearnMedias extends Model\n{\n\tprotected $table = \"watch_and_learn_medias\";\n\tprotected $guarded = ['id', 'created_at', 'updated_at'];\n}\n"
  },
  {
    "path": "app/Models/WatchAndLearnSelectedCategory.php",
    "content": "<?php\n\nnamespace App\\Models;\n\nuse Carbon\\Carbon;\nuse Illuminate\\Database\\Eloquent\\Model;\nclass WatchAndLearnSelectedCategory extends Model\n{\n    protected $guarded = ['id'];\n\n\n\tpublic function watchAndLearn()\n\t{\n\t\treturn $this->belongsTo('App\\Models\\WatchAndLearn', 'watch_and_learn_id', 'id');\n\t}\n\n\tpublic function category()\n\t{\n\t\treturn $this->belongsTo('App\\Models\\WatchAndLearnCategory', 'selected_category_id', 'id');\n\t}\n}\n"
  },
  {
    "path": "app/Observers/PetProObserver.php",
    "content": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\PetPro;\n\nclass PetProObserver\n{\n    /**\n     * Handle the watch and learn \"created\" event.\n     *\n     * @param  \\App\\PetPro  $watchAndLearn\n     * @return void\n     */\n\n    public function creating(PetPro $model)\n    {\n        $slugStr = WagEnabledHelpers::generateUniqueSlug( $model, $model->store_name  );\n        $model->slug = $slugStr;\n    }\n\n    public function updating(PetPro $model) \n    {\n        if ($model->isDirty('store_name')) {          \n           $slugStr = WagEnabledHelpers::generateUniqueSlug( $model, $model->store_name, $model->id  );             \n           $model->slug = $slugStr;\n        }\n    }\n\n    public function created(PetPro $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"updated\" event.\n     *\n     * @param  \\App\\PetPro  $watchAndLearn\n     * @return void\n     */\n    public function updated(PetPro $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"deleted\" event.\n     *\n     * @param  \\App\\PetPro  $watchAndLearn\n     * @return void\n     */\n    public function deleted(PetPro $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"restored\" event.\n     *\n     * @param  \\App\\PetPro  $watchAndLearn\n     * @return void\n     */\n    public function restored(PetPro $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"force deleted\" event.\n     *\n     * @param  \\App\\PetPro  $watchAndLearn\n     * @return void\n     */\n    public function forceDeleted(PetPro $watchAndLearn)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Observers/ProductReviewObserver.php",
    "content": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\ProductReview;\n\nclass ProductReviewObserver\n{\n    /**\n     * Handle the watch and learn \"created\" event.\n     *\n     * @param  \\App\\ProductReview  $ProductReview\n     * @return void\n     */\n\n    public function creating(ProductReview $model)\n    {\n        $slugStr = WagEnabledHelpers::generateUniqueSlug( $model, $model->title  );\n        $model->slug = $slugStr;\n    }\n\n    public function updating(ProductReview $model) \n    {\n        if ($model->isDirty('title')) {          \n           $slugStr = WagEnabledHelpers::generateUniqueSlug( $model, $model->title, $model->id  );             \n           $model->slug = $slugStr;\n        }\n    }\n\n    public function created(ProductReview $ProductReview)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"updated\" event.\n     *\n     * @param  \\App\\ProductReview  $ProductReview\n     * @return void\n     */\n    public function updated(ProductReview $ProductReview)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"deleted\" event.\n     *\n     * @param  \\App\\ProductReview  $ProductReview\n     * @return void\n     */\n    public function deleted(ProductReview $ProductReview)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"restored\" event.\n     *\n     * @param  \\App\\ProductReview  $ProductReview\n     * @return void\n     */\n    public function restored(ProductReview $ProductReview)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"force deleted\" event.\n     *\n     * @param  \\App\\ProductReview  $ProductReview\n     * @return void\n     */\n    public function forceDeleted(ProductReview $ProductReview)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Observers/WatchAndLearnObserver.php",
    "content": "<?php\n\nnamespace App\\Observers;\n\nuse App\\Http\\WagEnabledHelpers;\nuse App\\Models\\WatchAndLearn;\n\nclass WatchAndLearnObserver\n{\n    /**\n     * Handle the watch and learn \"created\" event.\n     *\n     * @param  \\App\\WatchAndLearn  $watchAndLearn\n     * @return void\n     */\n\n    public function creating(WatchAndLearn $model)\n    {\n        $slugStr = WagEnabledHelpers::generateUniqueSlug( $model, $model->title  );\n        $model->slug = $slugStr;\n    }\n\n    public function updating(WatchAndLearn $model) \n    {\n        if ($model->isDirty('title')) {          \n           $slugStr = WagEnabledHelpers::generateUniqueSlug( $model, $model->title, $model->id  );             \n           $model->slug = $slugStr;\n        }\n    }\n\n    public function created(WatchAndLearn $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"updated\" event.\n     *\n     * @param  \\App\\WatchAndLearn  $watchAndLearn\n     * @return void\n     */\n    public function updated(WatchAndLearn $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"deleted\" event.\n     *\n     * @param  \\App\\WatchAndLearn  $watchAndLearn\n     * @return void\n     */\n    public function deleted(WatchAndLearn $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"restored\" event.\n     *\n     * @param  \\App\\WatchAndLearn  $watchAndLearn\n     * @return void\n     */\n    public function restored(WatchAndLearn $watchAndLearn)\n    {\n        //\n    }\n\n    /**\n     * Handle the watch and learn \"force deleted\" event.\n     *\n     * @param  \\App\\WatchAndLearn  $watchAndLearn\n     * @return void\n     */\n    public function forceDeleted(WatchAndLearn $watchAndLearn)\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Providers/AppServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\ServiceProvider;\n\nclass AppServiceProvider extends ServiceProvider\n{\n    /**\n     * Register any application services.\n     *\n     * @return void\n     */\n    public function register()\n    {\n        //\n    }\n\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        //\n    }\n}\n"
  },
  {
    "path": "app/Providers/AuthServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Foundation\\Support\\Providers\\AuthServiceProvider as ServiceProvider;\nuse Illuminate\\Support\\Facades\\Gate;\n\nclass AuthServiceProvider extends ServiceProvider\n{\n    /**\n     * The policy mappings for the application.\n     *\n     * @var array\n     */\n    protected $policies = [\n        // 'App\\Model' => 'App\\Policies\\ModelPolicy',\n    ];\n\n    /**\n     * Register any authentication / authorization services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        $this->registerPolicies();\n\n        //\n    }\n}\n"
  },
  {
    "path": "app/Providers/BroadcastServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Support\\Facades\\Broadcast;\nuse Illuminate\\Support\\ServiceProvider;\n\nclass BroadcastServiceProvider extends ServiceProvider\n{\n    /**\n     * Bootstrap any application services.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        Broadcast::routes();\n\n        require base_path('routes/channels.php');\n    }\n}\n"
  },
  {
    "path": "app/Providers/EventServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Auth\\Events\\Registered;\nuse Illuminate\\Auth\\Listeners\\SendEmailVerificationNotification;\nuse Illuminate\\Foundation\\Support\\Providers\\EventServiceProvider as ServiceProvider;\nuse Illuminate\\Support\\Facades\\Event;\n\nclass EventServiceProvider extends ServiceProvider\n{\n    /**\n     * The event listener mappings for the application.\n     *\n     * @var array\n     */\n    protected $listen = [\n        Registered::class => [\n            SendEmailVerificationNotification::class,\n        ],\n    ];\n\n    /**\n     * Register any events for your application.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        parent::boot();\n\n        //\n    }\n}\n"
  },
  {
    "path": "app/Providers/RouteServiceProvider.php",
    "content": "<?php\n\nnamespace App\\Providers;\n\nuse Illuminate\\Foundation\\Support\\Providers\\RouteServiceProvider as ServiceProvider;\nuse Illuminate\\Support\\Facades\\Route;\n\nclass RouteServiceProvider extends ServiceProvider\n{\n    /**\n     * This namespace is applied to your controller routes.\n     *\n     * In addition, it is set as the URL generator's root namespace.\n     *\n     * @var string\n     */\n    protected $namespace = 'App\\Http\\Controllers';\n\n    /**\n     * The path to the \"home\" route for your application.\n     *\n     * @var string\n     */\n    public const HOME = '/home';\n\n    /**\n     * Define your route model bindings, pattern filters, etc.\n     *\n     * @return void\n     */\n    public function boot()\n    {\n        //\n\n        parent::boot();\n    }\n\n    /**\n     * Define the routes for the application.\n     *\n     * @return void\n     */\n    public function map()\n    {\n        $this->mapApiRoutes();\n\n        $this->mapWebRoutes();\n\n        $this->mapAdminRoutes();\n\n        //\n    }\n\n    /**\n     * Define the \"web\" routes for the application.\n     *\n     * These routes all receive session state, CSRF protection, etc.\n     *\n     * @return void\n     */\n    protected function mapWebRoutes()\n    {\n        Route::middleware('web')\n            ->namespace($this->namespace)\n            ->group(base_path('routes/web.php'));\n    }\n\n    /**\n     * Define the \"api\" routes for the application.\n     *\n     * These routes are typically stateless.\n     *\n     * @return void\n     */\n    protected function mapApiRoutes()\n    {\n        Route::prefix('api')\n            ->middleware('api')\n            ->namespace($this->namespace)\n            ->group(base_path('routes/api.php'));\n    }\n\n    protected function mapAdminRoutes()\n    {\n        Route::prefix('admin')\n                ->middleware(\"web\")\n                ->namespace($this->namespace.\"\\Admin\")\n                ->group(base_path('routes/admin.php'));\n    }\n}\n"
  },
  {
    "path": "artisan",
    "content": "#!/usr/bin/env php\n<?php\n\ndefine('LARAVEL_START', microtime(true));\n\n/*\n|--------------------------------------------------------------------------\n| Register The Auto Loader\n|--------------------------------------------------------------------------\n|\n| Composer provides a convenient, automatically generated class loader\n| for our application. We just need to utilize it! We'll require it\n| into the script here so that we do not have to worry about the\n| loading of any our classes \"manually\". Feels great to relax.\n|\n*/\n\nrequire __DIR__.'/vendor/autoload.php';\n\n$app = require_once __DIR__.'/bootstrap/app.php';\n\n/*\n|--------------------------------------------------------------------------\n| Run The Artisan Application\n|--------------------------------------------------------------------------\n|\n| When we run the console application, the current CLI command will be\n| executed in this console and the response sent back to a terminal\n| or another output device for the developers. Here goes nothing!\n|\n*/\n\n$kernel = $app->make(Illuminate\\Contracts\\Console\\Kernel::class);\n\n$status = $kernel->handle(\n    $input = new Symfony\\Component\\Console\\Input\\ArgvInput,\n    new Symfony\\Component\\Console\\Output\\ConsoleOutput\n);\n\n/*\n|--------------------------------------------------------------------------\n| Shutdown The Application\n|--------------------------------------------------------------------------\n|\n| Once Artisan has finished running, we will fire off the shutdown events\n| so that any final work may be done by the application before we shut\n| down the process. This is the last thing to happen to the request.\n|\n*/\n\n$kernel->terminate($input, $status);\n\nexit($status);\n"
  },
  {
    "path": "bootstrap/app.php",
    "content": "<?php\n\n/*\n|--------------------------------------------------------------------------\n| Create The Application\n|--------------------------------------------------------------------------\n|\n| The first thing we will do is create a new Laravel application instance\n| which serves as the \"glue\" for all the components of Laravel, and is\n| the IoC container for the system binding all of the various parts.\n|\n*/\n\n$app = new Illuminate\\Foundation\\Application(\n    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)\n);\n\n/*\n|--------------------------------------------------------------------------\n| Bind Important Interfaces\n|--------------------------------------------------------------------------\n|\n| Next, we need to bind some important interfaces into the container so\n| we will be able to resolve them when needed. The kernels serve the\n| incoming requests to this application from both the web and CLI.\n|\n*/\n\n$app->singleton(\n    Illuminate\\Contracts\\Http\\Kernel::class,\n    App\\Http\\Kernel::class\n);\n\n$app->singleton(\n    Illuminate\\Contracts\\Console\\Kernel::class,\n    App\\Console\\Kernel::class\n);\n\n$app->singleton(\n    Illuminate\\Contracts\\Debug\\ExceptionHandler::class,\n    App\\Exceptions\\Handler::class\n);\n\n/*\n|--------------------------------------------------------------------------\n| Return The Application\n|--------------------------------------------------------------------------\n|\n| This script returns the application instance. The instance is given to\n| the calling script so we can separate the building of the instances\n| from the actual running of the application and sending responses.\n|\n*/\n\nreturn $app;\n"
  },
  {
    "path": "bootstrap/cache/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "composer.json",
    "content": "{\n    \"name\": \"laravel/laravel\",\n    \"type\": \"project\",\n    \"description\": \"The Laravel Framework.\",\n    \"keywords\": [\n        \"framework\",\n        \"laravel\"\n    ],\n    \"license\": \"MIT\",\n    \"require\": {\n        \"php\": \"^7.2.5\",\n        \"barryvdh/laravel-cors\": \"^1.0\",\n        \"dingo/api\": \"^2\",\n        \"doctrine/dbal\": \"^2.10\",\n        \"fideloper/proxy\": \"^4.2\",\n        \"fruitcake/laravel-cors\": \"^1.0\",\n        \"guzzlehttp/guzzle\": \"^6.3\",\n        \"intervention/image\": \"^2.5\",\n        \"laravel/framework\": \"^7.0\",\n        \"laravel/tinker\": \"^2.0\",\n        \"laravel/ui\": \"^2.0\",\n        \"laravelcollective/html\": \"^6.1\",\n        \"league/flysystem-aws-s3-v3\": \"^1.0\",\n        \"maatwebsite/excel\": \"^3.1\",\n        \"tymon/jwt-auth\": \"dev-develop\",\n        \"yajra/laravel-datatables-oracle\": \"~9.0\"\n    },\n    \"require-dev\": {\n        \"facade/ignition\": \"^2.0\",\n        \"fzaninotto/faker\": \"^1.9.1\",\n        \"mockery/mockery\": \"^1.3.1\",\n        \"nunomaduro/collision\": \"^4.1\",\n        \"phpunit/phpunit\": \"^8.5\"\n    },\n    \"config\": {\n        \"optimize-autoloader\": true,\n        \"preferred-install\": \"dist\",\n        \"sort-packages\": true\n    },\n    \"extra\": {\n        \"laravel\": {\n            \"dont-discover\": []\n        }\n    },\n    \"autoload\": {\n        \"psr-4\": {\n            \"App\\\\\": \"app/\"\n        },\n        \"classmap\": [\n            \"database/seeds\",\n            \"database/factories\"\n        ]\n    },\n    \"autoload-dev\": {\n        \"psr-4\": {\n            \"Tests\\\\\": \"tests/\"\n        }\n    },\n    \"minimum-stability\": \"dev\",\n    \"prefer-stable\": true,\n    \"scripts\": {\n        \"post-autoload-dump\": [\n            \"Illuminate\\\\Foundation\\\\ComposerScripts::postAutoloadDump\",\n            \"@php artisan package:discover --ansi\"\n        ],\n        \"post-root-package-install\": [\n            \"@php -r \\\"file_exists('.env') || copy('.env.example', '.env');\\\"\"\n        ],\n        \"post-create-project-cmd\": [\n            \"@php artisan key:generate --ansi\"\n        ]\n    }\n}\n"
  },
  {
    "path": "config/api.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Standards Tree\n    |--------------------------------------------------------------------------\n    |\n    | Versioning an API with Dingo revolves around content negotiation and\n    | custom MIME types. A custom type will belong to one of three\n    | standards trees, the Vendor tree (vnd), the Personal tree\n    | (prs), and the Unregistered tree (x).\n    |\n    | By default the Unregistered tree (x) is used, however, should you wish\n    | to you can register your type with the IANA. For more details:\n    | https://tools.ietf.org/html/rfc6838\n    |\n    */\n\n    'standardsTree' => env('API_STANDARDS_TREE', 'x'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | API Subtype\n    |--------------------------------------------------------------------------\n    |\n    | Your subtype will follow the standards tree you use when used in the\n    | \"Accept\" header to negotiate the content type and version.\n    |\n    | For example: Accept: application/x.SUBTYPE.v1+json\n    |\n    */\n\n    'subtype' => env('API_SUBTYPE', ''),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default API Version\n    |--------------------------------------------------------------------------\n    |\n    | This is the default version when strict mode is disabled and your API\n    | is accessed via a web browser. It's also used as the default version\n    | when generating your APIs documentation.\n    |\n    */\n\n    'version' => env('API_VERSION', 'v1'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default API Prefix\n    |--------------------------------------------------------------------------\n    |\n    | A default prefix to use for your API routes so you don't have to\n    | specify it for each group.\n    |\n    */\n\n    'prefix' => env('API_PREFIX', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default API Domain\n    |--------------------------------------------------------------------------\n    |\n    | A default domain to use for your API routes so you don't have to\n    | specify it for each group.\n    |\n    */\n\n    'domain' => env('API_DOMAIN', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Name\n    |--------------------------------------------------------------------------\n    |\n    | When documenting your API using the API Blueprint syntax you can\n    | configure a default name to avoid having to manually specify\n    | one when using the command.\n    |\n    */\n\n    'name' => env('API_NAME', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Conditional Requests\n    |--------------------------------------------------------------------------\n    |\n    | Globally enable conditional requests so that an ETag header is added to\n    | any successful response. Subsequent requests will perform a check and\n    | will return a 304 Not Modified. This can also be enabled or disabled\n    | on certain groups or routes.\n    |\n    */\n\n    'conditionalRequest' => env('API_CONDITIONAL_REQUEST', true),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Strict Mode\n    |--------------------------------------------------------------------------\n    |\n    | Enabling strict mode will require clients to send a valid Accept header\n    | with every request. This also voids the default API version, meaning\n    | your API will not be browsable via a web browser.\n    |\n    */\n\n    'strict' => env('API_STRICT', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Debug Mode\n    |--------------------------------------------------------------------------\n    |\n    | Enabling debug mode will result in error responses caused by thrown\n    | exceptions to have a \"debug\" key that will be populated with\n    | more detailed information on the exception.\n    |\n    */\n\n    'debug' => env('API_DEBUG', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Generic Error Format\n    |--------------------------------------------------------------------------\n    |\n    | When some HTTP exceptions are not caught and dealt with the API will\n    | generate a generic error response in the format provided. Any\n    | keys that aren't replaced with corresponding values will be\n    | removed from the final response.\n    |\n    */\n\n    'errorFormat' => [\n        'message' => ':message',\n        'errors' => ':errors',\n        'code' => ':code',\n        'status_code' => ':status_code',\n        'debug' => ':debug',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | API Middleware\n    |--------------------------------------------------------------------------\n    |\n    | Middleware that will be applied globally to all API requests.\n    |\n    */\n\n    'middleware' => [\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Providers\n    |--------------------------------------------------------------------------\n    |\n    | The authentication providers that should be used when attempting to\n    | authenticate an incoming API request.\n    |\n    */\n\n    'auth' => [\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Throttling / Rate Limiting\n    |--------------------------------------------------------------------------\n    |\n    | Consumers of your API can be limited to the amount of requests they can\n    | make. You can create your own throttles or simply change the default\n    | throttles.\n    |\n    */\n\n    'throttling' => [\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Response Transformer\n    |--------------------------------------------------------------------------\n    |\n    | Responses can be transformed so that they are easier to format. By\n    | default a Fractal transformer will be used to transform any\n    | responses prior to formatting. You can easily replace\n    | this with your own transformer.\n    |\n    */\n\n    'transformer' => env('API_TRANSFORMER', Dingo\\Api\\Transformer\\Adapter\\Fractal::class),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Response Formats\n    |--------------------------------------------------------------------------\n    |\n    | Responses can be returned in multiple formats by registering different\n    | response formatters. You can also customize an existing response\n    | formatter with a number of options to configure its output.\n    |\n    */\n\n    'defaultFormat' => env('API_DEFAULT_FORMAT', 'json'),\n\n    'formats' => [\n\n        'json' => Dingo\\Api\\Http\\Response\\Format\\Json::class,\n\n    ],\n\n    'formatsOptions' => [\n\n        'json' => [\n            'pretty_print' => env('API_JSON_FORMAT_PRETTY_PRINT_ENABLED', false),\n            'indent_style' => env('API_JSON_FORMAT_INDENT_STYLE', 'space'),\n            'indent_size' => env('API_JSON_FORMAT_INDENT_SIZE', 2),\n        ],\n\n    ],\n\n];\n"
  },
  {
    "path": "config/app.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Name\n    |--------------------------------------------------------------------------\n    |\n    | This value is the name of your application. This value is used when the\n    | framework needs to place the application's name in a notification or\n    | any other location as required by the application or its packages.\n    |\n    */\n\n    'name' => env('APP_NAME', 'Laravel'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Environment\n    |--------------------------------------------------------------------------\n    |\n    | This value determines the \"environment\" your application is currently\n    | running in. This may determine how you prefer to configure various\n    | services the application utilizes. Set this in your \".env\" file.\n    |\n    */\n\n    'env' => env('APP_ENV', 'production'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Debug Mode\n    |--------------------------------------------------------------------------\n    |\n    | When your application is in debug mode, detailed error messages with\n    | stack traces will be shown on every error that occurs within your\n    | application. If disabled, a simple generic error page is shown.\n    |\n    */\n\n    'debug' => (bool) env('APP_DEBUG', false),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application URL\n    |--------------------------------------------------------------------------\n    |\n    | This URL is used by the console to properly generate URLs when using\n    | the Artisan command line tool. You should set this to the root of\n    | your application so that it is used when running Artisan tasks.\n    |\n    */\n\n    'url' => env('APP_URL', 'http://localhost'),\n\n    'asset_url' => env('ASSET_URL', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Timezone\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the default timezone for your application, which\n    | will be used by the PHP date and date-time functions. We have gone\n    | ahead and set this to a sensible default for you out of the box.\n    |\n    */\n\n    'timezone' => 'UTC',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Locale Configuration\n    |--------------------------------------------------------------------------\n    |\n    | The application locale determines the default locale that will be used\n    | by the translation service provider. You are free to set this value\n    | to any of the locales which will be supported by the application.\n    |\n    */\n\n    'locale' => 'en',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Application Fallback Locale\n    |--------------------------------------------------------------------------\n    |\n    | The fallback locale determines the locale to use when the current one\n    | is not available. You may change the value to correspond to any of\n    | the language folders that are provided through your application.\n    |\n    */\n\n    'fallback_locale' => 'en',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Faker Locale\n    |--------------------------------------------------------------------------\n    |\n    | This locale will be used by the Faker PHP library when generating fake\n    | data for your database seeds. For example, this will be used to get\n    | localized telephone numbers, street address information and more.\n    |\n    */\n\n    'faker_locale' => 'en_US',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Encryption Key\n    |--------------------------------------------------------------------------\n    |\n    | This key is used by the Illuminate encrypter service and should be set\n    | to a random, 32 character string, otherwise these encrypted strings\n    | will not be safe. Please do this before deploying an application!\n    |\n    */\n\n    'key' => env('APP_KEY'),\n\n    'cipher' => 'AES-256-CBC',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Autoloaded Service Providers\n    |--------------------------------------------------------------------------\n    |\n    | The service providers listed here will be automatically loaded on the\n    | request to your application. Feel free to add your own services to\n    | this array to grant expanded functionality to your applications.\n    |\n    */\n\n    'providers' => [\n\n        /*\n         * Laravel Framework Service Providers...\n         */\n        Illuminate\\Auth\\AuthServiceProvider::class,\n        Illuminate\\Broadcasting\\BroadcastServiceProvider::class,\n        Illuminate\\Bus\\BusServiceProvider::class,\n        Illuminate\\Cache\\CacheServiceProvider::class,\n        Illuminate\\Foundation\\Providers\\ConsoleSupportServiceProvider::class,\n        Illuminate\\Cookie\\CookieServiceProvider::class,\n        Illuminate\\Database\\DatabaseServiceProvider::class,\n        Illuminate\\Encryption\\EncryptionServiceProvider::class,\n        Illuminate\\Filesystem\\FilesystemServiceProvider::class,\n        Illuminate\\Foundation\\Providers\\FoundationServiceProvider::class,\n        Illuminate\\Hashing\\HashServiceProvider::class,\n        Illuminate\\Mail\\MailServiceProvider::class,\n        Illuminate\\Notifications\\NotificationServiceProvider::class,\n        Illuminate\\Pagination\\PaginationServiceProvider::class,\n        Illuminate\\Pipeline\\PipelineServiceProvider::class,\n        Illuminate\\Queue\\QueueServiceProvider::class,\n        Illuminate\\Redis\\RedisServiceProvider::class,\n        Illuminate\\Auth\\Passwords\\PasswordResetServiceProvider::class,\n        Illuminate\\Session\\SessionServiceProvider::class,\n        Illuminate\\Translation\\TranslationServiceProvider::class,\n        Illuminate\\Validation\\ValidationServiceProvider::class,\n        Illuminate\\View\\ViewServiceProvider::class,\n\n        /*\n         * Package Service Providers...\n         */\n\n        /*\n         * Application Service Providers...\n         */\n        App\\Providers\\AppServiceProvider::class,\n        App\\Providers\\AuthServiceProvider::class,\n        // App\\Providers\\BroadcastServiceProvider::class,\n        App\\Providers\\EventServiceProvider::class,\n        App\\Providers\\RouteServiceProvider::class,\n\n        Tymon\\JWTAuth\\Providers\\LaravelServiceProvider::class,\n \n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Class Aliases\n    |--------------------------------------------------------------------------\n    |\n    | This array of class aliases will be registered when this application\n    | is started. However, feel free to register as many as you wish as\n    | the aliases are \"lazy\" loaded so they don't hinder performance.\n    |\n    */\n\n    'aliases' => [\n\n        'App' => Illuminate\\Support\\Facades\\App::class,\n        'Arr' => Illuminate\\Support\\Arr::class,\n        'Artisan' => Illuminate\\Support\\Facades\\Artisan::class,\n        'Auth' => Illuminate\\Support\\Facades\\Auth::class,\n        'Blade' => Illuminate\\Support\\Facades\\Blade::class,\n        'Broadcast' => Illuminate\\Support\\Facades\\Broadcast::class,\n        'Bus' => Illuminate\\Support\\Facades\\Bus::class,\n        'Cache' => Illuminate\\Support\\Facades\\Cache::class,\n        'Config' => Illuminate\\Support\\Facades\\Config::class,\n        'Cookie' => Illuminate\\Support\\Facades\\Cookie::class,\n        'Crypt' => Illuminate\\Support\\Facades\\Crypt::class,\n        'DB' => Illuminate\\Support\\Facades\\DB::class,\n        'Eloquent' => Illuminate\\Database\\Eloquent\\Model::class,\n        'Event' => Illuminate\\Support\\Facades\\Event::class,\n        'File' => Illuminate\\Support\\Facades\\File::class,\n        'Gate' => Illuminate\\Support\\Facades\\Gate::class,\n        'Hash' => Illuminate\\Support\\Facades\\Hash::class,\n        'Http' => Illuminate\\Support\\Facades\\Http::class,\n        'Lang' => Illuminate\\Support\\Facades\\Lang::class,\n        'Log' => Illuminate\\Support\\Facades\\Log::class,\n        'Mail' => Illuminate\\Support\\Facades\\Mail::class,\n        'Notification' => Illuminate\\Support\\Facades\\Notification::class,\n        'Password' => Illuminate\\Support\\Facades\\Password::class,\n        'Queue' => Illuminate\\Support\\Facades\\Queue::class,\n        'Redirect' => Illuminate\\Support\\Facades\\Redirect::class,\n        'Redis' => Illuminate\\Support\\Facades\\Redis::class,\n        'Request' => Illuminate\\Support\\Facades\\Request::class,\n        'Response' => Illuminate\\Support\\Facades\\Response::class,\n        'Route' => Illuminate\\Support\\Facades\\Route::class,\n        'Schema' => Illuminate\\Support\\Facades\\Schema::class,\n        'Session' => Illuminate\\Support\\Facades\\Session::class,\n        'Storage' => Illuminate\\Support\\Facades\\Storage::class,\n        'Str' => Illuminate\\Support\\Str::class,\n        'URL' => Illuminate\\Support\\Facades\\URL::class,\n        'Validator' => Illuminate\\Support\\Facades\\Validator::class,\n        'View' => Illuminate\\Support\\Facades\\View::class,\n      \n        'JWTAuth' => Tymon\\JWTAuth\\Facades\\JWTAuth::class, \n        'JWTFactory' => Tymon\\JWTAuth\\Facades\\JWTFactory::class,\n    ],\n\n];\n"
  },
  {
    "path": "config/auth.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Defaults\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default authentication \"guard\" and password\n    | reset options for your application. You may change these defaults\n    | as required, but they're a perfect start for most applications.\n    |\n    */\n\n    'defaults' => [\n        'guard' => 'web',\n        'passwords' => 'users',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Guards\n    |--------------------------------------------------------------------------\n    |\n    | Next, you may define every authentication guard for your application.\n    | Of course, a great default configuration has been defined for you\n    | here which uses session storage and the Eloquent user provider.\n    |\n    | All authentication drivers have a user provider. This defines how the\n    | users are actually retrieved out of your database or other storage\n    | mechanisms used by this application to persist your user's data.\n    |\n    | Supported: \"session\", \"token\"\n    |\n    */\n\n    'guards' => [\n        'web' => [\n            'driver' => 'session',\n            'provider' => 'users',\n        ],\n\n        'api' => [\n            'driver' => 'jwt',\n            'provider' => 'users',\n        ],        \n        'admin' => [\n            'driver' => 'session',\n            'provider' => 'admin_users',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | User Providers\n    |--------------------------------------------------------------------------\n    |\n    | All authentication drivers have a user provider. This defines how the\n    | users are actually retrieved out of your database or other storage\n    | mechanisms used by this application to persist your user's data.\n    |\n    | If you have multiple user tables or models you may configure multiple\n    | sources which represent each model / table. These sources may then\n    | be assigned to any extra authentication guards you have defined.\n    |\n    | Supported: \"database\", \"eloquent\"\n    |\n    */\n\n    'providers' => [\n        'users' => [\n            'driver' => 'eloquent',\n            'model' => App\\Models\\User::class,\n        ],\n\n        // 'users' => [\n        //     'driver' => 'database',\n        //     'table' => 'users',\n        // ],\n\n        'admin_users' => [\n            'driver' => 'eloquent',\n            'model' => App\\Models\\AdminUser::class,\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Resetting Passwords\n    |--------------------------------------------------------------------------\n    |\n    | You may specify multiple password reset configurations if you have more\n    | than one user table or model in the application and you want to have\n    | separate password reset settings based on the specific user types.\n    |\n    | The expire time is the number of minutes that the reset token should be\n    | considered valid. This security feature keeps tokens short-lived so\n    | they have less time to be guessed. You may change this as needed.\n    |\n    */\n\n    'passwords' => [\n        'users' => [\n            'provider' => 'users',\n            'table' => 'password_resets',\n            'expire' => 60,\n            'throttle' => 60,\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Password Confirmation Timeout\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define the amount of seconds before a password confirmation\n    | times out and the user is prompted to re-enter their password via the\n    | confirmation screen. By default, the timeout lasts for three hours.\n    |\n    */\n\n    'password_timeout' => 10800,\n\n];\n"
  },
  {
    "path": "config/broadcasting.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Broadcaster\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default broadcaster that will be used by the\n    | framework when an event needs to be broadcast. You may set this to\n    | any of the connections defined in the \"connections\" array below.\n    |\n    | Supported: \"pusher\", \"redis\", \"log\", \"null\"\n    |\n    */\n\n    'default' => env('BROADCAST_DRIVER', 'null'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Broadcast Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define all of the broadcast connections that will be used\n    | to broadcast events to other systems or over websockets. Samples of\n    | each available type of connection are provided inside this array.\n    |\n    */\n\n    'connections' => [\n\n        'pusher' => [\n            'driver' => 'pusher',\n            'key' => env('PUSHER_APP_KEY'),\n            'secret' => env('PUSHER_APP_SECRET'),\n            'app_id' => env('PUSHER_APP_ID'),\n            'options' => [\n                'cluster' => env('PUSHER_APP_CLUSTER'),\n                'useTLS' => true,\n            ],\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => 'default',\n        ],\n\n        'log' => [\n            'driver' => 'log',\n        ],\n\n        'null' => [\n            'driver' => 'null',\n        ],\n\n    ],\n\n];\n"
  },
  {
    "path": "config/cache.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Cache Store\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default cache connection that gets used while\n    | using this caching library. This connection is used when another is\n    | not explicitly specified when executing a given caching function.\n    |\n    | Supported: \"apc\", \"array\", \"database\", \"file\",\n    |            \"memcached\", \"redis\", \"dynamodb\"\n    |\n    */\n\n    'default' => env('CACHE_DRIVER', 'file'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cache Stores\n    |--------------------------------------------------------------------------\n    |\n    | Here you may define all of the cache \"stores\" for your application as\n    | well as their drivers. You may even define multiple stores for the\n    | same cache driver to group types of items stored in your caches.\n    |\n    */\n\n    'stores' => [\n\n        'apc' => [\n            'driver' => 'apc',\n        ],\n\n        'array' => [\n            'driver' => 'array',\n            'serialize' => false,\n        ],\n\n        'database' => [\n            'driver' => 'database',\n            'table' => 'cache',\n            'connection' => null,\n        ],\n\n        'file' => [\n            'driver' => 'file',\n            'path' => storage_path('framework/cache/data'),\n        ],\n\n        'memcached' => [\n            'driver' => 'memcached',\n            'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),\n            'sasl' => [\n                env('MEMCACHED_USERNAME'),\n                env('MEMCACHED_PASSWORD'),\n            ],\n            'options' => [\n                // Memcached::OPT_CONNECT_TIMEOUT => 2000,\n            ],\n            'servers' => [\n                [\n                    'host' => env('MEMCACHED_HOST', '127.0.0.1'),\n                    'port' => env('MEMCACHED_PORT', 11211),\n                    'weight' => 100,\n                ],\n            ],\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => 'cache',\n        ],\n\n        'dynamodb' => [\n            'driver' => 'dynamodb',\n            'key' => env('AWS_ACCESS_KEY_ID'),\n            'secret' => env('AWS_SECRET_ACCESS_KEY'),\n            'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),\n            'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),\n            'endpoint' => env('DYNAMODB_ENDPOINT'),\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cache Key Prefix\n    |--------------------------------------------------------------------------\n    |\n    | When utilizing a RAM based store such as APC or Memcached, there might\n    | be other applications utilizing the same cache. So, we'll specify a\n    | value to get prefixed to all our keys so we can avoid collisions.\n    |\n    */\n\n    'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),\n\n];\n"
  },
  {
    "path": "config/cors.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cross-Origin Resource Sharing (CORS) Configuration\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure your settings for cross-origin resource sharing\n    | or \"CORS\". This determines what cross-origin operations may execute\n    | in web browsers. You are free to adjust these settings as needed.\n    |\n    | To learn more: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS\n    |\n    */\n\n    'paths' => ['api/*'],\n\n    'allowed_methods' => ['*'],\n\n    'allowed_origins' => ['*'],\n\n    'allowed_origins_patterns' => [],\n\n    'allowed_headers' => ['*'],\n\n    'exposed_headers' => [],\n\n    'max_age' => 0,\n\n    'supports_credentials' => false,\n\n];\n"
  },
  {
    "path": "config/database.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Database Connection Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify which of the database connections below you wish\n    | to use as your default connection for all database work. Of course\n    | you may use many connections at once using the Database library.\n    |\n    */\n\n    'default' => env('DB_CONNECTION', 'mysql'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Database Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here are each of the database connections setup for your application.\n    | Of course, examples of configuring each database platform that is\n    | supported by Laravel is shown below to make development simple.\n    |\n    |\n    | All database work in Laravel is done through the PHP PDO facilities\n    | so make sure you have the driver for your particular database of\n    | choice installed on your machine before you begin development.\n    |\n    */\n\n    'connections' => [\n\n        'sqlite' => [\n            'driver' => 'sqlite',\n            'url' => env('DATABASE_URL'),\n            'database' => env('DB_DATABASE', database_path('database.sqlite')),\n            'prefix' => '',\n            'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),\n        ],\n\n        'mysql' => [\n            'driver' => 'mysql',\n            'url' => env('DATABASE_URL'),\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '3306'),\n            'database' => env('DB_DATABASE', 'forge'),\n            'username' => env('DB_USERNAME', 'forge'),\n            'password' => env('DB_PASSWORD', ''),\n            'unix_socket' => env('DB_SOCKET', ''),\n            'charset' => 'utf8mb4',\n            'collation' => 'utf8mb4_unicode_ci',\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'strict' => false,\n            'engine' => null,\n            'options' => extension_loaded('pdo_mysql') ? array_filter([\n                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),\n            ]) : [],\n\t\t],\n\t\t\n\t\t'mysql2' => [\n\t\t\t'driver'    => env('DB_CONNECTION_SECOND'),\n\t\t\t'host'      => env('DB_HOST_SECOND'),\n\t\t\t'port'      => env('DB_PORT_SECOND'),\n\t\t\t'database'  => env('DB_DATABASE_SECOND'),\n\t\t\t'username'  => env('DB_USERNAME_SECOND'),\n\t\t\t'password'  => env('DB_PASSWORD_SECOND'),\n\t\t],\n\n        'pgsql' => [\n            'driver' => 'pgsql',\n            'url' => env('DATABASE_URL'),\n            'host' => env('DB_HOST', '127.0.0.1'),\n            'port' => env('DB_PORT', '5432'),\n            'database' => env('DB_DATABASE', 'forge'),\n            'username' => env('DB_USERNAME', 'forge'),\n            'password' => env('DB_PASSWORD', ''),\n            'charset' => 'utf8',\n            'prefix' => '',\n            'prefix_indexes' => true,\n            'schema' => 'public',\n            'sslmode' => 'prefer',\n        ],\n\n        'sqlsrv' => [\n            'driver' => 'sqlsrv',\n            'url' => env('DATABASE_URL'),\n            'host' => env('DB_HOST', 'localhost'),\n            'port' => env('DB_PORT', '1433'),\n            'database' => env('DB_DATABASE', 'forge'),\n            'username' => env('DB_USERNAME', 'forge'),\n            'password' => env('DB_PASSWORD', ''),\n            'charset' => 'utf8',\n            'prefix' => '',\n            'prefix_indexes' => true,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Migration Repository Table\n    |--------------------------------------------------------------------------\n    |\n    | This table keeps track of all the migrations that have already run for\n    | your application. Using this information, we can determine which of\n    | the migrations on disk haven't actually been run in the database.\n    |\n    */\n\n    'migrations' => 'migrations',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Redis Databases\n    |--------------------------------------------------------------------------\n    |\n    | Redis is an open source, fast, and advanced key-value store that also\n    | provides a richer body of commands than a typical key-value system\n    | such as APC or Memcached. Laravel makes it easy to dig right in.\n    |\n    */\n\n    'redis' => [\n\n        'client' => env('REDIS_CLIENT', 'phpredis'),\n\n        'options' => [\n            'cluster' => env('REDIS_CLUSTER', 'redis'),\n            'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),\n        ],\n\n        'default' => [\n            'url' => env('REDIS_URL'),\n            'host' => env('REDIS_HOST', '127.0.0.1'),\n            'password' => env('REDIS_PASSWORD', null),\n            'port' => env('REDIS_PORT', '6379'),\n            'database' => env('REDIS_DB', '0'),\n        ],\n\n        'cache' => [\n            'url' => env('REDIS_URL'),\n            'host' => env('REDIS_HOST', '127.0.0.1'),\n            'password' => env('REDIS_PASSWORD', null),\n            'port' => env('REDIS_PORT', '6379'),\n            'database' => env('REDIS_CACHE_DB', '1'),\n        ],\n\n    ],\n\n];\n"
  },
  {
    "path": "config/filesystems.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Filesystem Disk\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the default filesystem disk that should be used\n    | by the framework. The \"local\" disk, as well as a variety of cloud\n    | based disks are available to your application. Just store away!\n    |\n    */\n\n    'default' => env('FILESYSTEM_DRIVER', 's3'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Cloud Filesystem Disk\n    |--------------------------------------------------------------------------\n    |\n    | Many applications store files both locally and in the cloud. For this\n    | reason, you may specify a default \"cloud\" driver here. This driver\n    | will be bound as the Cloud disk implementation in the container.\n    |\n    */\n\n    'cloud' => env('FILESYSTEM_CLOUD', 's3'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Filesystem Disks\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure as many filesystem \"disks\" as you wish, and you\n    | may even configure multiple disks of the same driver. Defaults have\n    | been setup for each driver as an example of the required options.\n    |\n    | Supported Drivers: \"local\", \"ftp\", \"sftp\", \"s3\"\n    |\n    */\n\n    'disks' => [\n\n        'local' => [\n            'driver' => 'local',\n            'root' => storage_path('app/public'),\n            'url' => env('APP_URL').'/storage',\n        ],\n\n        'public' => [\n            'driver' => 'local',\n            'root' => storage_path('app/public'),\n            'url' => env('APP_URL').'/storage',\n            'visibility' => 'public',\n        ],\n\n        's3' => [\n            'driver' => 's3',\n            'key' => env('AWS_ACCESS_KEY_ID'),\n            'secret' => env('AWS_SECRET_ACCESS_KEY'),\n            'region' => env('AWS_DEFAULT_REGION'),\n            'bucket' => env('AWS_BUCKET'),\n            'url' => env('AWS_URL'),\n            'endpoint' => env('AWS_ENDPOINT'),\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Symbolic Links\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the symbolic links that will be created when the\n    | `storage:link` Artisan command is executed. The array keys should be\n    | the locations of the links and the values should be their targets.\n    |\n    */\n\n    'links' => [\n        public_path('storage') => storage_path('app/public'),\n    ],\n\n];\n"
  },
  {
    "path": "config/hashing.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Hash Driver\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default hash driver that will be used to hash\n    | passwords for your application. By default, the bcrypt algorithm is\n    | used; however, you remain free to modify this option if you wish.\n    |\n    | Supported: \"bcrypt\", \"argon\", \"argon2id\"\n    |\n    */\n\n    'driver' => 'bcrypt',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Bcrypt Options\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the configuration options that should be used when\n    | passwords are hashed using the Bcrypt algorithm. This will allow you\n    | to control the amount of time it takes to hash the given password.\n    |\n    */\n\n    'bcrypt' => [\n        'rounds' => env('BCRYPT_ROUNDS', 10),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Argon Options\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the configuration options that should be used when\n    | passwords are hashed using the Argon algorithm. These will allow you\n    | to control the amount of time it takes to hash the given password.\n    |\n    */\n\n    'argon' => [\n        'memory' => 1024,\n        'threads' => 2,\n        'time' => 2,\n    ],\n\n];\n"
  },
  {
    "path": "config/jwt.php",
    "content": "<?php\n\n/*\n * This file is part of jwt-auth.\n *\n * (c) Sean Tymon <tymon148@gmail.com>\n *\n * For the full copyright and license information, please view the LICENSE\n * file that was distributed with this source code.\n */\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | JWT Authentication Secret\n    |--------------------------------------------------------------------------\n    |\n    | Don't forget to set this in your .env file, as it will be used to sign\n    | your tokens. A helper command is provided for this:\n    | `php artisan jwt:secret`\n    |\n    | Note: This will be used for Symmetric algorithms only (HMAC),\n    | since RSA and ECDSA use a private/public key combo (See below).\n    |\n    */\n\n    'secret' => env('JWT_SECRET'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | JWT Authentication Keys\n    |--------------------------------------------------------------------------\n    |\n    | The algorithm you are using, will determine whether your tokens are\n    | signed with a random string (defined in `JWT_SECRET`) or using the\n    | following public & private keys.\n    |\n    | Symmetric Algorithms:\n    | HS256, HS384 & HS512 will use `JWT_SECRET`.\n    |\n    | Asymmetric Algorithms:\n    | RS256, RS384 & RS512 / ES256, ES384 & ES512 will use the keys below.\n    |\n    */\n\n    'keys' => [\n\n        /*\n        |--------------------------------------------------------------------------\n        | Public Key\n        |--------------------------------------------------------------------------\n        |\n        | A path or resource to your public key.\n        |\n        | E.g. 'file://path/to/public/key'\n        |\n        */\n\n        'public' => env('JWT_PUBLIC_KEY'),\n\n        /*\n        |--------------------------------------------------------------------------\n        | Private Key\n        |--------------------------------------------------------------------------\n        |\n        | A path or resource to your private key.\n        |\n        | E.g. 'file://path/to/private/key'\n        |\n        */\n\n        'private' => env('JWT_PRIVATE_KEY'),\n\n        /*\n        |--------------------------------------------------------------------------\n        | Passphrase\n        |--------------------------------------------------------------------------\n        |\n        | The passphrase for your private key. Can be null if none set.\n        |\n        */\n\n        'passphrase' => env('JWT_PASSPHRASE'),\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | JWT time to live\n    |--------------------------------------------------------------------------\n    |\n    | Specify the length of time (in minutes) that the token will be valid for.\n    | Defaults to 1 hour.\n    |\n    | You can also set this to null, to yield a never expiring token.\n    | Some people may want this behaviour for e.g. a mobile app.\n    | This is not particularly recommended, so make sure you have appropriate\n    | systems in place to revoke the token if necessary.\n    | Notice: If you set this to null you should remove 'exp' element from 'required_claims' list.\n    |\n    */\n\n    'ttl' => null,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Refresh time to live\n    |--------------------------------------------------------------------------\n    |\n    | Specify the length of time (in minutes) that the token can be refreshed\n    | within. I.E. The user can refresh their token within a 2 week window of\n    | the original token being created until they must re-authenticate.\n    | Defaults to 2 weeks.\n    |\n    | You can also set this to null, to yield an infinite refresh time.\n    | Some may want this instead of never expiring tokens for e.g. a mobile app.\n    | This is not particularly recommended, so make sure you have appropriate\n    | systems in place to revoke the token if necessary.\n    |\n    */\n\n    'refresh_ttl' => env('JWT_REFRESH_TTL', 20160),\n\n    /*\n    |--------------------------------------------------------------------------\n    | JWT hashing algorithm\n    |--------------------------------------------------------------------------\n    |\n    | Specify the hashing algorithm that will be used to sign the token.\n    |\n    | See here: https://github.com/namshi/jose/tree/master/src/Namshi/JOSE/Signer/OpenSSL\n    | for possible values.\n    |\n    */\n\n    'algo' => env('JWT_ALGO', 'HS256'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Required Claims\n    |--------------------------------------------------------------------------\n    |\n    | Specify the required claims that must exist in any token.\n    | A TokenInvalidException will be thrown if any of these claims are not\n    | present in the payload.\n    |\n    */\n\n    'required_claims' => [\n        'iss',\n        'iat',\n        'nbf',\n        'sub',\n        'jti',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Persistent Claims\n    |--------------------------------------------------------------------------\n    |\n    | Specify the claim keys to be persisted when refreshing a token.\n    | `sub` and `iat` will automatically be persisted, in\n    | addition to the these claims.\n    |\n    | Note: If a claim does not exist then it will be ignored.\n    |\n    */\n\n    'persistent_claims' => [\n        // 'foo',\n        // 'bar',\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Lock Subject\n    |--------------------------------------------------------------------------\n    |\n    | This will determine whether a `prv` claim is automatically added to\n    | the token. The purpose of this is to ensure that if you have multiple\n    | authentication models e.g. `App\\User` & `App\\OtherPerson`, then we\n    | should prevent one authentication request from impersonating another,\n    | if 2 tokens happen to have the same id across the 2 different models.\n    |\n    | Under specific circumstances, you may want to disable this behaviour\n    | e.g. if you only have one authentication model, then you would save\n    | a little on token size.\n    |\n    */\n\n    'lock_subject' => true,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Leeway\n    |--------------------------------------------------------------------------\n    |\n    | This property gives the jwt timestamp claims some \"leeway\".\n    | Meaning that if you have any unavoidable slight clock skew on\n    | any of your servers then this will afford you some level of cushioning.\n    |\n    | This applies to the claims `iat`, `nbf` and `exp`.\n    |\n    | Specify in seconds - only if you know you need it.\n    |\n    */\n\n    'leeway' => env('JWT_LEEWAY', 0),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Blacklist Enabled\n    |--------------------------------------------------------------------------\n    |\n    | In order to invalidate tokens, you must have the blacklist enabled.\n    | If you do not want or need this functionality, then set this to false.\n    |\n    */\n\n    'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true),\n\n    /*\n    | -------------------------------------------------------------------------\n    | Blacklist Grace Period\n    | -------------------------------------------------------------------------\n    |\n    | When multiple concurrent requests are made with the same JWT,\n    | it is possible that some of them fail, due to token regeneration\n    | on every request.\n    |\n    | Set grace period in seconds to prevent parallel request failure.\n    |\n    */\n\n    'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 0),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Cookies encryption\n    |--------------------------------------------------------------------------\n    |\n    | By default Laravel encrypt cookies for security reason.\n    | If you decide to not decrypt cookies, you will have to configure Laravel\n    | to not encrypt your cookie token by adding its name into the $except\n    | array available in the middleware \"EncryptCookies\" provided by Laravel.\n    | see https://laravel.com/docs/master/responses#cookies-and-encryption\n    | for details.\n    |\n    | Set it to true if you want to decrypt cookies.\n    |\n    */\n\n    'decrypt_cookies' => false,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Providers\n    |--------------------------------------------------------------------------\n    |\n    | Specify the various providers used throughout the package.\n    |\n    */\n\n    'providers' => [\n\n        /*\n        |--------------------------------------------------------------------------\n        | JWT Provider\n        |--------------------------------------------------------------------------\n        |\n        | Specify the provider that is used to create and decode the tokens.\n        |\n        */\n\n        'jwt' => Tymon\\JWTAuth\\Providers\\JWT\\Lcobucci::class,\n\n        /*\n        |--------------------------------------------------------------------------\n        | Authentication Provider\n        |--------------------------------------------------------------------------\n        |\n        | Specify the provider that is used to authenticate users.\n        |\n        */\n\n        'auth' => Tymon\\JWTAuth\\Providers\\Auth\\Illuminate::class,\n\n        /*\n        |--------------------------------------------------------------------------\n        | Storage Provider\n        |--------------------------------------------------------------------------\n        |\n        | Specify the provider that is used to store tokens in the blacklist.\n        |\n        */\n\n        'storage' => Tymon\\JWTAuth\\Providers\\Storage\\Illuminate::class,\n\n    ],\n\n];\n"
  },
  {
    "path": "config/logging.php",
    "content": "<?php\n\nuse Monolog\\Handler\\NullHandler;\nuse Monolog\\Handler\\StreamHandler;\nuse Monolog\\Handler\\SyslogUdpHandler;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Log Channel\n    |--------------------------------------------------------------------------\n    |\n    | This option defines the default log channel that gets used when writing\n    | messages to the logs. The name specified in this option should match\n    | one of the channels defined in the \"channels\" configuration array.\n    |\n    */\n\n    'default' => env('LOG_CHANNEL', 'stack'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Log Channels\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the log channels for your application. Out of\n    | the box, Laravel uses the Monolog PHP logging library. This gives\n    | you a variety of powerful log handlers / formatters to utilize.\n    |\n    | Available Drivers: \"single\", \"daily\", \"slack\", \"syslog\",\n    |                    \"errorlog\", \"monolog\",\n    |                    \"custom\", \"stack\"\n    |\n    */\n\n    'channels' => [\n        'stack' => [\n            'driver' => 'stack',\n            'channels' => ['single'],\n            'ignore_exceptions' => false,\n        ],\n\n        'single' => [\n            'driver' => 'single',\n            'path' => storage_path('logs/laravel.log'),\n            'level' => 'debug',\n        ],\n\n        'daily' => [\n            'driver' => 'daily',\n            'path' => storage_path('logs/laravel.log'),\n            'level' => 'debug',\n            'days' => 14,\n        ],\n\n        'slack' => [\n            'driver' => 'slack',\n            'url' => env('LOG_SLACK_WEBHOOK_URL'),\n            'username' => 'Laravel Log',\n            'emoji' => ':boom:',\n            'level' => 'critical',\n        ],\n\n        'papertrail' => [\n            'driver' => 'monolog',\n            'level' => 'debug',\n            'handler' => SyslogUdpHandler::class,\n            'handler_with' => [\n                'host' => env('PAPERTRAIL_URL'),\n                'port' => env('PAPERTRAIL_PORT'),\n            ],\n        ],\n\n        'stderr' => [\n            'driver' => 'monolog',\n            'handler' => StreamHandler::class,\n            'formatter' => env('LOG_STDERR_FORMATTER'),\n            'with' => [\n                'stream' => 'php://stderr',\n            ],\n        ],\n\n        'syslog' => [\n            'driver' => 'syslog',\n            'level' => 'debug',\n        ],\n\n        'errorlog' => [\n            'driver' => 'errorlog',\n            'level' => 'debug',\n        ],\n\n        'null' => [\n            'driver' => 'monolog',\n            'handler' => NullHandler::class,\n        ],\n\n        'emergency' => [\n            'path' => storage_path('logs/laravel.log'),\n        ],\n    ],\n\n];\n"
  },
  {
    "path": "config/mail.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Mailer\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default mailer that is used to send any email\n    | messages sent by your application. Alternative mailers may be setup\n    | and used as needed; however, this mailer will be used by default.\n    |\n    */\n\n    'default' => env('MAIL_MAILER', 'smtp'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Mailer Configurations\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure all of the mailers used by your application plus\n    | their respective settings. Several examples have been configured for\n    | you and you are free to add your own as your application requires.\n    |\n    | Laravel supports a variety of mail \"transport\" drivers to be used while\n    | sending an e-mail. You will specify which one you are using for your\n    | mailers below. You are free to add additional mailers as required.\n    |\n    | Supported: \"smtp\", \"sendmail\", \"mailgun\", \"ses\",\n    |            \"postmark\", \"log\", \"array\"\n    |\n    */\n\n    'mailers' => [\n        'smtp' => [\n            'transport' => 'smtp',\n            'host' => env('MAIL_HOST', 'smtp.mailgun.org'),\n            'port' => env('MAIL_PORT', 587),\n            'encryption' => env('MAIL_ENCRYPTION', 'tls'),\n            'username' => env('MAIL_USERNAME'),\n            'password' => env('MAIL_PASSWORD'),\n            'timeout' => null,\n        ],\n\n        'ses' => [\n            'transport' => 'ses',\n        ],\n\n        'mailgun' => [\n            'transport' => 'mailgun',\n        ],\n\n        'postmark' => [\n            'transport' => 'postmark',\n        ],\n\n        'sendmail' => [\n            'transport' => 'sendmail',\n            'path' => '/usr/sbin/sendmail -bs',\n        ],\n\n        'log' => [\n            'transport' => 'log',\n            'channel' => env('MAIL_LOG_CHANNEL'),\n        ],\n\n        'array' => [\n            'transport' => 'array',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Global \"From\" Address\n    |--------------------------------------------------------------------------\n    |\n    | You may wish for all e-mails sent by your application to be sent from\n    | the same address. Here, you may specify a name and address that is\n    | used globally for all e-mails that are sent by your application.\n    |\n    */\n\n    'from' => [\n        'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),\n        'name' => env('MAIL_FROM_NAME', 'Example'),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Markdown Mail Settings\n    |--------------------------------------------------------------------------\n    |\n    | If you are using Markdown based email rendering, you may configure your\n    | theme and component paths here, allowing you to customize the design\n    | of the emails. Or, you may simply stick with the Laravel defaults!\n    |\n    */\n\n    'markdown' => [\n        'theme' => 'default',\n\n        'paths' => [\n            resource_path('views/vendor/mail'),\n        ],\n    ],\n\n];\n"
  },
  {
    "path": "config/queue.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Queue Connection Name\n    |--------------------------------------------------------------------------\n    |\n    | Laravel's queue API supports an assortment of back-ends via a single\n    | API, giving you convenient access to each back-end using the same\n    | syntax for every one. Here you may define a default connection.\n    |\n    */\n\n    'default' => env('QUEUE_CONNECTION', 'sync'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Queue Connections\n    |--------------------------------------------------------------------------\n    |\n    | Here you may configure the connection information for each server that\n    | is used by your application. A default configuration has been added\n    | for each back-end shipped with Laravel. You are free to add more.\n    |\n    | Drivers: \"sync\", \"database\", \"beanstalkd\", \"sqs\", \"redis\", \"null\"\n    |\n    */\n\n    'connections' => [\n\n        'sync' => [\n            'driver' => 'sync',\n        ],\n\n        'database' => [\n            'driver' => 'database',\n            'table' => 'jobs',\n            'queue' => 'default',\n            'retry_after' => 90,\n        ],\n\n        'beanstalkd' => [\n            'driver' => 'beanstalkd',\n            'host' => 'localhost',\n            'queue' => 'default',\n            'retry_after' => 90,\n            'block_for' => 0,\n        ],\n\n        'sqs' => [\n            'driver' => 'sqs',\n            'key' => env('AWS_ACCESS_KEY_ID'),\n            'secret' => env('AWS_SECRET_ACCESS_KEY'),\n            'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),\n            'queue' => env('SQS_QUEUE', 'your-queue-name'),\n            'suffix' => env('SQS_SUFFIX'),\n            'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),\n        ],\n\n        'redis' => [\n            'driver' => 'redis',\n            'connection' => 'default',\n            'queue' => env('REDIS_QUEUE', 'default'),\n            'retry_after' => 90,\n            'block_for' => null,\n        ],\n\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Failed Queue Jobs\n    |--------------------------------------------------------------------------\n    |\n    | These options configure the behavior of failed queue job logging so you\n    | can control which database and table are used to store the jobs that\n    | have failed. You may change them to any database / table you wish.\n    |\n    */\n\n    'failed' => [\n        'driver' => env('QUEUE_FAILED_DRIVER', 'database'),\n        'database' => env('DB_CONNECTION', 'mysql'),\n        'table' => 'failed_jobs',\n    ],\n\n];\n"
  },
  {
    "path": "config/services.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Third Party Services\n    |--------------------------------------------------------------------------\n    |\n    | This file is for storing the credentials for third party services such\n    | as Mailgun, Postmark, AWS and more. This file provides the de facto\n    | location for this type of information, allowing packages to have\n    | a conventional file to locate the various service credentials.\n    |\n    */\n\n    'mailgun' => [\n        'domain' => env('MAILGUN_DOMAIN'),\n        'secret' => env('MAILGUN_SECRET'),\n        'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'),\n    ],\n\n    'postmark' => [\n        'token' => env('POSTMARK_TOKEN'),\n    ],\n\n    'ses' => [\n        'key' => env('AWS_ACCESS_KEY_ID'),\n        'secret' => env('AWS_SECRET_ACCESS_KEY'),\n        'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),\n    ],\n\n];\n"
  },
  {
    "path": "config/session.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Str;\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Default Session Driver\n    |--------------------------------------------------------------------------\n    |\n    | This option controls the default session \"driver\" that will be used on\n    | requests. By default, we will use the lightweight native driver but\n    | you may specify any of the other wonderful drivers provided here.\n    |\n    | Supported: \"file\", \"cookie\", \"database\", \"apc\",\n    |            \"memcached\", \"redis\", \"dynamodb\", \"array\"\n    |\n    */\n\n    'driver' => env('SESSION_DRIVER', 'file'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Lifetime\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify the number of minutes that you wish the session\n    | to be allowed to remain idle before it expires. If you want them\n    | to immediately expire on the browser closing, set that option.\n    |\n    */\n\n    'lifetime' =>  1 * (60 * 24 * 365),\n\n    'expire_on_close' => false,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Encryption\n    |--------------------------------------------------------------------------\n    |\n    | This option allows you to easily specify that all of your session data\n    | should be encrypted before it is stored. All encryption will be run\n    | automatically by Laravel and you can use the Session like normal.\n    |\n    */\n\n    'encrypt' => false,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session File Location\n    |--------------------------------------------------------------------------\n    |\n    | When using the native session driver, we need a location where session\n    | files may be stored. A default has been set for you but a different\n    | location may be specified. This is only needed for file sessions.\n    |\n    */\n\n    'files' => storage_path('framework/sessions'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Database Connection\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"database\" or \"redis\" session drivers, you may specify a\n    | connection that should be used to manage these sessions. This should\n    | correspond to a connection in your database configuration options.\n    |\n    */\n\n    'connection' => env('SESSION_CONNECTION', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Database Table\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"database\" session driver, you may specify the table we\n    | should use to manage the sessions. Of course, a sensible default is\n    | provided for you; however, you are free to change this as needed.\n    |\n    */\n\n    'table' => 'sessions',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cache Store\n    |--------------------------------------------------------------------------\n    |\n    | When using the \"apc\", \"memcached\", or \"dynamodb\" session drivers you may\n    | list a cache store that should be used for these sessions. This value\n    | must match with one of the application's configured cache \"stores\".\n    |\n    */\n\n    'store' => env('SESSION_STORE', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Sweeping Lottery\n    |--------------------------------------------------------------------------\n    |\n    | Some session drivers must manually sweep their storage location to get\n    | rid of old sessions from storage. Here are the chances that it will\n    | happen on a given request. By default, the odds are 2 out of 100.\n    |\n    */\n\n    'lottery' => [2, 100],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Name\n    |--------------------------------------------------------------------------\n    |\n    | Here you may change the name of the cookie used to identify a session\n    | instance by ID. The name specified here will get used every time a\n    | new session cookie is created by the framework for every driver.\n    |\n    */\n\n    'cookie' => env(\n        'SESSION_COOKIE',\n        Str::slug(env('APP_NAME', 'laravel'), '_').'_session'\n    ),\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Path\n    |--------------------------------------------------------------------------\n    |\n    | The session cookie path determines the path for which the cookie will\n    | be regarded as available. Typically, this will be the root path of\n    | your application but you are free to change this when necessary.\n    |\n    */\n\n    'path' => '/',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Session Cookie Domain\n    |--------------------------------------------------------------------------\n    |\n    | Here you may change the domain of the cookie used to identify a session\n    | in your application. This will determine which domains the cookie is\n    | available to in your application. A sensible default has been set.\n    |\n    */\n\n    'domain' => env('SESSION_DOMAIN', null),\n\n    /*\n    |--------------------------------------------------------------------------\n    | HTTPS Only Cookies\n    |--------------------------------------------------------------------------\n    |\n    | By setting this option to true, session cookies will only be sent back\n    | to the server if the browser has a HTTPS connection. This will keep\n    | the cookie from being sent to you if it can not be done securely.\n    |\n    */\n\n    'secure' => env('SESSION_SECURE_COOKIE'),\n\n    /*\n    |--------------------------------------------------------------------------\n    | HTTP Access Only\n    |--------------------------------------------------------------------------\n    |\n    | Setting this value to true will prevent JavaScript from accessing the\n    | value of the cookie and the cookie will only be accessible through\n    | the HTTP protocol. You are free to modify this option if needed.\n    |\n    */\n\n    'http_only' => true,\n\n    /*\n    |--------------------------------------------------------------------------\n    | Same-Site Cookies\n    |--------------------------------------------------------------------------\n    |\n    | This option determines how your cookies behave when cross-site requests\n    | take place, and can be used to mitigate CSRF attacks. By default, we\n    | will set this value to \"lax\" since this is a secure default value.\n    |\n    | Supported: \"lax\", \"strict\", \"none\", null\n    |\n    */\n\n    'same_site' => 'lax',\n\n];\n"
  },
  {
    "path": "config/view.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | View Storage Paths\n    |--------------------------------------------------------------------------\n    |\n    | Most templating systems load templates from disk. Here you may specify\n    | an array of paths that should be checked for your views. Of course\n    | the usual Laravel view path has already been registered for you.\n    |\n    */\n\n    'paths' => [\n        resource_path('views'),\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Compiled View Path\n    |--------------------------------------------------------------------------\n    |\n    | This option determines where all the compiled Blade templates will be\n    | stored for your application. Typically, this is within the storage\n    | directory. However, as usual, you are free to change this value.\n    |\n    */\n\n    'compiled' => env(\n        'VIEW_COMPILED_PATH',\n        realpath(storage_path('framework/views'))\n    ),\n\n];\n"
  },
  {
    "path": "config/wagenabled.php",
    "content": "<?php\n\n$uploadsUrlPath = 'uploads/';\n$uploadsDocPath = \"/uploads/\";\n\nreturn [\n    \"app_url\" => env('APP_URL'),\n    \"app_name\" => env('APP_NAME', 'Wag Enabled'),\n    \"react_server_base_url\" => env('REACT_SERVER_BASE_URL', 'http://localhost:3000'),\n   \n    \"status_codes\" => [\n        \"success\" => \"200\",\n        \"success_with_empty\" => \"201\",\n        \"auth_fail\" => \"401\",\n        \"form_validation\" => \"422\",\n        \"normal_error\" => \"403\",\n        \"server_side\" => \"500\",\n    ],\n\n    \"path\" => [\n        //HTTP URL Paths [Eg. get image]\n        //http://localhost:8000/storage/app/public/\n        \"url\" => [\n            \"user_profile_image_path\" => $uploadsUrlPath.\"profile/\",\n            \"users_pet_image_path\" => $uploadsUrlPath.\"users_pet/\",\n            \"watch_and_learn_thumbnail_path\" => $uploadsUrlPath.\"watch_and_learn/images/\",\n            \"watch_and_learn_author_path\" => $uploadsUrlPath.\"watch_and_learn/author/\",\n            \"watch_and_learn_video_path\" => $uploadsUrlPath.\"watch_and_learn/videos/\",\n            \"watch_and_learn_media_path\" => $uploadsUrlPath.\"watch_and_learn/media/\",\n            \"pet_pro_gallery_image_path\" => $uploadsUrlPath.\"pet_pro/galleries/\",\n            \"testimonial_image_path\" => $uploadsUrlPath.\"testimonial/images/\",\n            \"product_review_image_path\" => $uploadsUrlPath.\"product_review/images/\",\n            \n        ],\n\n        //Storage Document Paths [Eg. store image]\n        // /var/www/html/projectname/storage/\n        \"doc\" => [\n            \"user_profile_image_path\" => $uploadsDocPath.\"profile/\",         \n            \"users_pet_image_path\" => $uploadsDocPath.\"users_pet/\",         \n            \"watch_and_learn_thumbnail_path\" => $uploadsDocPath.\"watch_and_learn/images/\",         \n            \"watch_and_learn_author_path\" => $uploadsDocPath.\"watch_and_learn/author/\",         \n            \"watch_and_learn_video_path\" => $uploadsDocPath.\"watch_and_learn/videos/\",         \n            \"watch_and_learn_media_path\" => $uploadsDocPath.\"watch_and_learn/media/\",         \n            \"pet_pro_gallery_image_path\" => $uploadsDocPath.\"pet_pro/galleries/\",\n            \"testimonial_image_path\" => $uploadsDocPath.\"testimonial/images/\", \n            \"product_review_image_path\" => $uploadsDocPath.\"product_review/images/\",\n        ]\n    ],\n\n    \"days\" => [ \"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\" ],\n\n    \"google_map\" => [\n        \"api_key\" => env(\"GOOGLE_API_KEY\"),\n    ],\n\n    \"no_of_care_from_best_display\" => 6,\n    \"per_page_pet_pro_results\" => 6,\n    \"per_page_watch_and_learn_results\" => 6,\n    \"per_page_product_review_results\" => 6,\n    \"no_of_related_video_display\" => 3,\n    \"no_of_review_display\" => 3,\n    \n    \"no_of_comment_display\" => 3,\n    \"no_of_comment_children_display\" => 2,\n    \"comment_depth\" => 2,\n\n    \"no_of_saved_video_display\" => 3,\n    \"no_of_loved_pet_pro_display\" => 2,\n    \"no_of_user_pet_pro_review_display\" => 2,\n    \"no_of_users_pet_display\" => 3,\n    \"send_contact_to_email\" => env(\"CONTACT_TO_MAIL\", 'ks@hyperspaceventures.com'),\n    \"send_comment_notification_to_email\" => env(\"COMMENT_NOTIFICATION_TO_MAIL\", 'ks@hyperspaceventures.com'),\n    \"product_review_category_id\" => 26,\n\n];\n"
  },
  {
    "path": "database/.gitignore",
    "content": "*.sqlite\n*.sqlite-journal\n"
  },
  {
    "path": "database/factories/UserFactory.php",
    "content": "<?php\n\n/** @var \\Illuminate\\Database\\Eloquent\\Factory $factory */\n\nuse App\\Models\\User;\nuse Faker\\Generator as Faker;\nuse Illuminate\\Support\\Str;\n\n/*\n|--------------------------------------------------------------------------\n| Model Factories\n|--------------------------------------------------------------------------\n|\n| This directory should contain each of the model factory definitions for\n| your application. Factories provide a convenient way to generate new\n| model instances for testing / seeding your application's database.\n|\n*/\n\n$factory->define(User::class, function (Faker $faker) {\n    return [\n        'name' => $faker->name,\n        'email' => $faker->unique()->safeEmail,\n        'email_verified_at' => now(),\n        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password\n        'remember_token' => Str::random(10),\n    ];\n});\n"
  },
  {
    "path": "database/migrations/2014_10_12_000000_create_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUsersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('users', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->string('email')->unique()->nullable();\n            $table->string('phone_number')->nullable();\n            $table->string('profile_image')->nullable();\n            $table->string('provider')->nullable();\n            $table->string('provider_id')->nullable();           \n            $table->integer('city_id')->nullable();\n            $table->integer('state_id')->nullable();\n            $table->integer('country_id')->nullable();\n            $table->string('zipcode')->nullable();\n            $table->string('latitude')->nullable();\n            $table->string('longitude')->nullable();\n            $table->string('vet_address')->nullable();\n            $table->string('vet_phone_number')->nullable();\n            $table->timestamp('email_verified_at')->nullable();\n            $table->string('password');\n            $table->rememberToken();\n            $table->softDeletes();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('users');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2014_10_12_100000_create_password_resets_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePasswordResetsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('password_resets', function (Blueprint $table) {\n            $table->id();\n            $table->string('email')->index();\n            $table->string('token');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('password_resets');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2019_08_19_000000_create_failed_jobs_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateFailedJobsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('failed_jobs', function (Blueprint $table) {\n            $table->id();\n            $table->text('connection');\n            $table->text('queue');\n            $table->longText('payload');\n            $table->longText('exception');\n            $table->timestamp('failed_at')->useCurrent();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('failed_jobs');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_23_050448_create_admin_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateAdminUsersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('admin_users', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->string('name')->nullable();\n            $table->string(\"email\")->unique();\n            $table->string('password');  \n            $table->string(\"phone_number\")->nullable();\n            $table->enum('supper_admin', [\"1\", \"0\"])->default(\"0\");\n            $table->timestamps();\n        });\n\n        $insertArr = [\n            [ \"email\" => \"admin@wagenabled.com\", \"password\" => \\Hash::make(\"123456\"), \"supper_admin\" => \"1\"],\n        ];\n\n        DB::table('admin_users')->insert($insertArr);\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('admin_users');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_052414_create_breeds_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateBreedsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('breeds', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('breeds');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_063535_create_user_pets_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUserPetsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('user_pets', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->string('name')->nullable();        \n            $table->string('pet_image')->nullable();\n            $table->timestamps();\n\n            $table->foreign('user_id')->references('id')->on('users');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('user_pets');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_083408_create_contacts_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateContactsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('contacts', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->string('email')->nullable();\n            $table->text('message')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('contacts');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_090404_create_business_requests_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateBusinessRequestsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('business_requests', function (Blueprint $table) {\n            $table->id();\n            $table->string('first_name')->nullable();\n            $table->string('last_name')->nullable();\n            $table->string('business_name')->nullable();\n            $table->string('contact_email')->unique()->nullable();\n            $table->text('message')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('business_requests');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_092709_create_newsletters_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateNewslettersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('newsletters', function (Blueprint $table) {\n            $table->id();\n            $table->string('email')->unique()->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('newsletters');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_094050_create_watch_and_learn_categories_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnCategoriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_categories', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_categories');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_104210_create_watch_and_learn_authors_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnAuthorsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_authors', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->string('profile_image')->nullable();\n            $table->string('website_link')->nullable();\n            $table->text('about')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_author');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_25_104211_create_watch_and_learn_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"category_id\")->nullable();\n            $table->unsignedBigInteger('author_id')->nullable();\n            $table->string('slug')->unique()->nullable();\n            $table->string('title')->nullable();\n            $table->text('description')->nullable();\n            $table->string('blog_meta_description')->nullable();\n            $table->string('thumbnail')->nullable();\n            $table->enum('video_type', ['embed_link', 'video_upload'])->nullable();\n            $table->string('video_file')->nullable();\n            $table->string('embed_link')->nullable();\n            $table->string('duration')->nullable();\n            $table->string('alt_image_text')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n\n            $table->foreign('category_id')->references('id')->on('watch_and_learn_categories');\n            $table->foreign('author_id')->references('id')->on('watch_and_learn_authors');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_064153_create_watch_and_learn_comments_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnCommentsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_comments', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"watch_and_learn_id\")->nullable();\n            $table->integer('parent_comment_id')->default(0);\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->string('name')->nullable();\n            $table->string('email')->nullable();\n            $table->text('message')->nullable();\n            $table->timestamps();\n\n            $table->foreign('watch_and_learn_id')->references('id')->on('watch_and_learn');\n            $table->foreign('user_id')->references('id')->on('users');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_comments');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_070449_create_user_saved_videos_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUserSavedVideosTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('user_saved_videos', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"watch_and_learn_id\")->nullable();\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->timestamps();\n\n            $table->foreign('watch_and_learn_id')->references('id')->on('watch_and_learn');\n            $table->foreign('user_id')->references('id')->on('users');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('user_saved_videos');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_093324_create_countries_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCountriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('countries', function (Blueprint $table) {\n            $table->id();\n            $table->string('sortname', 5)->default('');\n            $table->string('name')->default('');\n            $table->string('phonecode', 11)->default('');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('countries');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_093329_create_states_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateStatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('states', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->default('');\n            $table->integer('country_id')->default(0);\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('states');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_093333_create_cities_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateCitiesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('cities', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->default('');\n            $table->integer('state_id')->default(0);\n            $table->string('zipcode')->nullable();\n            $table->string('area_code')->default();\n            $table->string('city_latitude')->default();\n            $table->string('city_longitude')->default();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('cities');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_093334_create_pet_pro_categories_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProCategoriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_categories', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_categories');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_093335_create_pet_pros_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pros', function (Blueprint $table) {\n            $table->id();\n            $table->string('slug')->unique()->nullable();\n            $table->string('store_name')->nullable();\n            $table->string('email')->nullable();\n            $table->string('phone_number')->nullable();\n            $table->string('address_line_1')->nullable();\n            $table->string('address_line_2')->nullable();\n            $table->unsignedBigInteger(\"category_id\")->nullable();\n            $table->integer('state_id')->nullable();\n            $table->integer('city_id')->nullable();\n            $table->string('postal_code')->nullable();\n            $table->string('donation_link')->nullable();\n            $table->text('description')->nullable();\n            $table->string('latitude')->nullable();\n            $table->string('longitude')->nullable();\n            $table->string('timezone')->nullable();\n            $table->float('avg_rating', 8,2)->default(0);\n            $table->integer('total_rated')->default(0);\n            $table->boolean('is_featured_pet_pro')->default(0);\n            $table->string('featured_title')->nullable();\n            $table->text('featured_description')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n\n            $table->foreign('category_id')->references('id')->on('pet_pro_categories');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pros');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_27_122139_create_pet_pro_timetables_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProTimetablesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_timetables', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_id\")->nullable();\n            $table->string('day')->nullable();\n            $table->time('open')->nullable();\n            $table->time('close')->nullable();\n            $table->timestamps();\n\n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_timetable');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_28_103645_create_user_loved_pet_pros_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUserLovedPetProsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('user_loved_pet_pros', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->unsignedBigInteger(\"pet_pro_id\")->nullable();\n            $table->timestamps();\n\n            $table->foreign('user_id')->references('id')->on('users');\n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('user_loved_pet_pros');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_28_103815_create_pet_pro_reviews_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProReviewsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_reviews', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_id\")->nullable();\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->string('name')->nullable();\n            $table->float('rate', 8,2)->default(0);\n            $table->text('description')->nullable();\n            $table->timestamps();\n\n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros');\n            $table->foreign('user_id')->references('id')->on('users');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_reviews');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_28_103821_create_pet_pro_galleries_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProGalleriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_galleries', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_id\")->nullable();\n            $table->string(\"gallery_image\")->nullable();\n            $table->boolean('is_cover_image')->default(0);\n            $table->timestamps();\n\n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_galleries');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_28_103827_create_pet_pro_deals_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProDealsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_deals', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_id\")->nullable();\n            $table->string('deal')->nullable();\n            $table->text('fine_print')->nullable();\n            $table->date('start_date')->nullable();\n            $table->date('end_date')->nullable();\n            $table->enum('status', ['active', 'pause'])->default('active');\n            $table->softDeletes();\n            $table->timestamps();\n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_deals');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_28_103833_create_pet_pro_deal_claims_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProDealClaimsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_deal_claims', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_deal_id\")->nullable();\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->timestamps();\n\n            $table->foreign('pet_pro_deal_id')->references('id')->on('pet_pro_deals');\n            $table->foreign('user_id')->references('id')->on('users');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_deal_claims');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_04_28_103839_create_pet_pro_events_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProEventsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_events', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_id\")->nullable();\n            $table->string('name')->nullable();\n            $table->date('event_date')->nullable();\n            $table->time('start_time')->nullable();\n            $table->time('end_time')->nullable();\n            $table->text('address')->nullable();\n            $table->string('url')->nullable();\n            $table->enum('status', ['active', 'pause'])->default('active');\n            $table->softDeletes();\n            $table->timestamps();\n\n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_events');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_05_25_094716_create_users_pet_breed_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateUsersPetBreedTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('users_pet_breeds', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"users_pet_id\")->nullable();\n            $table->unsignedBigInteger(\"breed_id\")->nullable();\n            $table->timestamps();\n\n            $table->foreign('users_pet_id')->references('id')->on('user_pets');\n            $table->foreign('breed_id')->references('id')->on('breeds');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('users_pet_breeds');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_06_08_114705_create_watch_and_learn_medias_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnMediasTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_medias', function (Blueprint $table) {\n            $table->id();\n            $table->string('filename')->nullable();\n            $table->string('original_name')->nullable();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_medias');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_06_30_055558_add_extra_fields_to_newsletters_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddExtraFieldsToNewslettersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('newsletters', function (Blueprint $table) {\n            $table->string('first_name')->nullable()->after('email');\n            $table->string('zipcode')->nullable()->after('first_name');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('newsletters', function (Blueprint $table) {\n            $table->dropColumn('first_name');\n            $table->dropColumn('zipcode');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_03_051223_add_status_to_watch_and_learn_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddStatusToWatchAndLearnTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('watch_and_learn', function (Blueprint $table) {\n            $table->enum('status', [\"draft\", \"published\"])->default(\"draft\")->after('alt_image_text');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('watch_and_learn', function (Blueprint $table) {\n            $table->dropColumn('status');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_03_062408_alter_table_watch_and_learn_change_blog_meta_description.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AlterTableWatchAndLearnChangeBlogMetaDescription extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('watch_and_learn', function (Blueprint $table) {\n            $table->text('blog_meta_description')->nullable()->change();\n\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('watch_and_learn', function (Blueprint $table) {\n            $table->string('blog_meta_description')->nullable()->change();\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_11_100910_create_testimonials_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateTestimonialsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('testimonials', function (Blueprint $table) {\n\t\t\t$table->id();\n            $table->string('title');\n            $table->longText('description');\n            $table->string('client_name');\n            $table->string('client_title');\n            $table->string('image');\n\t\t\t$table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('testimonials');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_13_064659_add_is_valid_column_in_cities_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddIsValidColumnInCitiesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('cities', function (Blueprint $table) {\n            $table->enum('is_valid', [1, 0])->default(0)->after('city_longitude');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('cities', function (Blueprint $table) {\n            $table->dropColumn('is_valid');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_13_085917_create_pet_pro_selected_categories.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProSelectedCategories extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_selected_categories', function (Blueprint $table) {\n\t\t\t$table->id();\n\t\t\t$table->unsignedBigInteger(\"pet_pro_id\");\n\t\t\t$table->unsignedBigInteger(\"category_id\");\n\t\t\t$table->timestamps();\n\t\t\t\n\t\t\t$table->foreign('pet_pro_id')->references('id')->on('pet_pros')->onDelete('cascade');\n\t\t\t$table->foreign('category_id')->references('id')->on('pet_pro_categories');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_selected_categories');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_17_064151_add_website_url_to_pet_pros_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddWebsiteUrlToPetProsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pros', function (Blueprint $table) {\n            $table->string('website_url')->nullable()->after('email');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('pet_pros', function (Blueprint $table) {\n            $table->dropColumn('website_url');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_22_115515_add_is_cropped_image_to_pet_pro_galleries_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddIsCroppedImageToPetProGalleriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pro_galleries', function (Blueprint $table) {\n            $table->boolean('is_cropped_image')->default(1)->after('is_cover_image');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('pet_pro_galleries', function (Blueprint $table) {\n            $table->dropColumn('is_cropped_image');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_23_052716_create_pet_pro_services_offered_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProServicesOfferedTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_services_offered', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"pet_pro_id\");\n            $table->string(\"service\")->nullable();\n            $table->timestamps();\n            \n            $table->foreign('pet_pro_id')->references('id')->on('pet_pros')->onDelete('cascade');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_services_offered');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_07_30_054457_add_descriptionto_pet_pro_events_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddDescriptiontoPetProEventsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pro_events', function (Blueprint $table) {\n            $table->text('description')->nullable()->after('name');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('pet_pro_events', function (Blueprint $table) {\n            $table->dropColumn('description');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_08_04_043353_add_event_end_date_to_pet_pro_events_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddEventEndDateToPetProEventsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pro_events', function (Blueprint $table) {\n            $table->date('event_end_date')->nullable()->after('event_date');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('pet_pro_events', function (Blueprint $table) {\n            $table->dropColumn('event_end_date');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_08_05_043704_add_vet_place_name_to_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddVetPlaceNameToUsersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->string('vet_place_name')->nullable()->after('longitude');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->dropColumn('vet_place_name');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_08_22_042827_change_total_rated_column_type.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass ChangeTotalRatedColumnType extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pros', function ($table) {\n            $table->float('total_rated', 8,2)->default(0)->change();            \n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('pet_pros', function ($table) {\n            $table->integer('total_rated')->default(0)->change();\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_09_14_042049_create_watch_and_learn_deals_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnDealsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_deals', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"watch_and_learn_id\")->nullable();\n            $table->string('deal')->nullable();\n            $table->text('fine_print')->nullable();\n            $table->date('start_date')->nullable();\n            $table->date('end_date')->nullable();\n            $table->enum('status', ['active', 'pause'])->default('active');\n            $table->softDeletes();\n            $table->timestamps();\n            $table->foreign('watch_and_learn_id')->references('id')->on('watch_and_learn');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_deals');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_09_14_042054_create_watch_and_learn_deal_claims_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnDealClaimsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_deal_claims', function (Blueprint $table) {\n            $table->id();\n            $table->unsignedBigInteger(\"watch_and_learn_deal_id\")->nullable();\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n            $table->timestamps();\n\n            $table->foreign('watch_and_learn_deal_id')->references('id')->on('watch_and_learn_deals');\n            $table->foreign('user_id')->references('id')->on('users');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_deal_claims');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_09_14_052137_add_parent_id_to_watch_and_learn_categories_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddParentIdToWatchAndLearnCategoriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('watch_and_learn_categories', function (Blueprint $table) {\n            $table->integer('parent_id')->default(0)->after('id');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('watch_and_learn_categories', function (Blueprint $table) {\n            $table->dropColumn('parent_id');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2020_10_01_050437_add_short_name_column_to_states_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddShortNameColumnToStatesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('states', function (Blueprint $table) {\n            $table->string('short_name')->after('name')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('states', function (Blueprint $table) {\n            $table->dropColumn('short_name');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_01_13_155451_create_pet_country_state_city_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetCountryStateCityTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_country_state_city', function (Blueprint $table) {\n            $table->bigIncrements('id');\n            $table->unsignedBigInteger('pet_pro_id')->nullable();\n            $table->unsignedBigInteger('country_id')->nullable();\n            $table->unsignedBigInteger('state_id')->nullable();\n            $table->unsignedBigInteger('city_id')->nullable();\n            $table->string('latitude')->nullable();\n            $table->string('longitude')->nullable();\n            $table->foreign('pet_pro_id')\n            ->references('id')\n            ->on('pet_pros')->onDelete('cascade');\n      \n            $table->foreign('country_id')\n                  ->references('id')\n                  ->on('countries')->onDelete('cascade');\n            $table->foreign('state_id')\n                  ->references('id')\n                  ->on('states')->onDelete('cascade');\n            $table->foreign('city_id')\n                  ->references('id')\n                  ->on('cities')->onDelete('cascade');\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_country_state_city');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_01_26_191038_create_business_natures_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateBusinessNaturesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('business_natures', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('business_natures');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_01_26_191322_create_pet_pro_selected_business_natures_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProSelectedBusinessNaturesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pro_selected_business_natures', function (Blueprint $table) {\n            $table->id();\n\t\t\t$table->unsignedBigInteger(\"pet_pro_id\");\n\t\t\t$table->unsignedBigInteger(\"business_id\");\n\t\t\t$table->timestamps();\n\t\t\t\n\t\t\t$table->foreign('pet_pro_id')->references('id')->on('pet_pros')->onDelete('cascade');\n\t\t\t$table->foreign('business_id')->references('id')->on('business_natures');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pro_selected_business_natures');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_02_02_074857_create_watch_and_learn_selected_categories_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreateWatchAndLearnSelectedCategoriesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('watch_and_learn_selected_categories', function (Blueprint $table) {\n            $table->id();\n\t\t\t$table->unsignedBigInteger(\"watch_and_learn_id\");\n\t\t\t$table->unsignedBigInteger(\"selected_category_id\");\n\t\t\t$table->timestamps();\n\t\t\t\n\t\t\t$table->foreign('watch_and_learn_id')->references('id')->on('watch_and_learn')->onDelete('cascade');\n\t\t\t$table->foreign('selected_category_id')->references('id')->on('watch_and_learn_categories');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('watch_and_learn_selected_categories');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_02_18_080850_add_column_user_to_table_pet_pros.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddColumnUserToTablePetPros extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pros', function (Blueprint $table) {\n            $table->unsignedBigInteger(\"user_id\")->nullable();\n\t\t\t$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');\n            $table->string(\"user_type\")->nullable();\n            $table->string(\"status\")->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::disableForeignKeyConstraints();\n        Schema::table('pet_pros', function (Blueprint $table) {\n            $table->dropColumn(\"user_id\");\n\t\t\t$table->dropColumn(\"user_type\");\n            $table->dropColumn(\"status\");\n        });\n        Schema::enableForeignKeyConstraints();\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_03_02_065300_add_column_new_detail_to_table_pet_pros.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddColumnNewDetailToTablePetPros extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('pet_pros', function (Blueprint $table) {\n            $table->text('new_detail')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('pet_pros', function (Blueprint $table) {\n            $table->dropColumn('new_detail');\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_01_080340_create_pet_types_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetTypesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_types', function (Blueprint $table) {\n            $table->id();\n            $table->string('name')->nullable();\n            $table->softDeletes();\n            $table->timestamps();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_types');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_06_01_081012_create_pet_pros_selected_pet_types_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass CreatePetProsSelectedPetTypesTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::create('pet_pros_selected_pet_types', function (Blueprint $table) {\n            $table->id();\n\t\t\t$table->unsignedBigInteger(\"pet_pro_id\");\n\t\t\t$table->unsignedBigInteger(\"pet_type_id\");\n\t\t\t$table->timestamps();\n\t\t\t\n\t\t\t$table->foreign('pet_pro_id')->references('id')->on('pet_pros')->onDelete('cascade');\n\t\t\t$table->foreign('pet_type_id')->references('id')->on('pet_types');\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::dropIfExists('pet_pros_selected_pet_types');\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_08_06_095431_add_column_adoption_date_in_user_pets_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddColumnAdoptionDateInUserPetsTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('user_pets', function (Blueprint $table) {\n            $table->string('adoption_date')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('user_pets', function (Blueprint $table) {\n            $table->dropColumn(\"adoption_date\");\n        });\n    }\n}\n"
  },
  {
    "path": "database/migrations/2021_08_06_095832_add_column_address_in_users_table.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Migrations\\Migration;\nuse Illuminate\\Database\\Schema\\Blueprint;\nuse Illuminate\\Support\\Facades\\Schema;\n\nclass AddColumnAddressInUsersTable extends Migration\n{\n    /**\n     * Run the migrations.\n     *\n     * @return void\n     */\n    public function up()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->text('address')->nullable();\n        });\n    }\n\n    /**\n     * Reverse the migrations.\n     *\n     * @return void\n     */\n    public function down()\n    {\n        Schema::table('users', function (Blueprint $table) {\n            $table->dropColumn(\"address\");\n        });\n    }\n}\n"
  },
  {
    "path": "database/seeds/CitiesTableSeeder.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Seeder;\n\nclass CitiesTableSeeder extends Seeder\n{\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run()\n    {   \n        $sql = public_path('bd_data/cities.sql');\n        DB::unprepared(file_get_contents($sql));     \n    }\n}\n"
  },
  {
    "path": "database/seeds/CountriesTableSeeder.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Seeder;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass CountriesTableSeeder extends Seeder {\n\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run() {\n\n       $sql = public_path('bd_data/countries.sql');\n       DB::unprepared(file_get_contents($sql));\n    }\n\n}\n"
  },
  {
    "path": "database/seeds/DatabaseSeeder.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Seeder;\n\nclass DatabaseSeeder extends Seeder\n{\n    /**\n     * Seed the application's database.\n     *\n     * @return void\n     */\n    public function run()\n    {\n        // $this->call(UserSeeder::class);\n        $this->call([\n            CountriesTableSeeder::class,\n            StatesTableSeeder::class,\n            CitiesTableSeeder::class,\n        ]);\n    }\n}\n"
  },
  {
    "path": "database/seeds/StatesTableSeeder.php",
    "content": "<?php\n\nuse Illuminate\\Database\\Seeder;\nuse Illuminate\\Support\\Facades\\DB;\n\nclass StatesTableSeeder extends Seeder {\n\n    /**\n     * Run the database seeds.\n     *\n     * @return void\n     */\n    public function run() {\n        $sql = public_path('bd_data/states.sql');\n        DB::unprepared(file_get_contents($sql));\n    }\n}\n"
  },
  {
    "path": "package.json",
    "content": "{\n    \"private\": true,\n    \"scripts\": {\n        \"dev\": \"npm run development\",\n        \"development\": \"cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js\",\n        \"watch\": \"npm run development -- --watch\",\n        \"watch-poll\": \"npm run watch -- --watch-poll\",\n        \"hot\": \"cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js\",\n        \"prod\": \"npm run production\",\n        \"production\": \"cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js\"\n    },\n    \"devDependencies\": {\n        \"@babel/preset-react\": \"^7.0.0\",\n        \"axios\": \"^0.19\",\n        \"bootstrap\": \"^4.0.0\",\n        \"cross-env\": \"^7.0\",\n        \"jquery\": \"^3.2\",\n        \"laravel-mix\": \"^5.0.1\",\n        \"lodash\": \"^4.17.13\",\n        \"popper.js\": \"^1.12\",\n        \"react\": \"^16.2.0\",\n        \"react-dom\": \"^16.2.0\",\n        \"resolve-url-loader\": \"^2.3.1\",\n        \"sass\": \"^1.20.1\",\n        \"sass-loader\": \"^8.0.0\"\n    }\n}\n"
  },
  {
    "path": "phpunit.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<phpunit xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:noNamespaceSchemaLocation=\"./vendor/phpunit/phpunit/phpunit.xsd\"\n         bootstrap=\"vendor/autoload.php\"\n         colors=\"true\"\n>\n    <testsuites>\n        <testsuite name=\"Unit\">\n            <directory suffix=\"Test.php\">./tests/Unit</directory>\n        </testsuite>\n        <testsuite name=\"Feature\">\n            <directory suffix=\"Test.php\">./tests/Feature</directory>\n        </testsuite>\n    </testsuites>\n    <filter>\n        <whitelist processUncoveredFilesFromWhitelist=\"true\">\n            <directory suffix=\".php\">./app</directory>\n        </whitelist>\n    </filter>\n    <php>\n        <server name=\"APP_ENV\" value=\"testing\"/>\n        <server name=\"BCRYPT_ROUNDS\" value=\"4\"/>\n        <server name=\"CACHE_DRIVER\" value=\"array\"/>\n        <server name=\"DB_CONNECTION\" value=\"sqlite\"/>\n        <server name=\"DB_DATABASE\" value=\":memory:\"/>\n        <server name=\"MAIL_MAILER\" value=\"array\"/>\n        <server name=\"QUEUE_CONNECTION\" value=\"sync\"/>\n        <server name=\"SESSION_DRIVER\" value=\"array\"/>\n        <server name=\"TELESCOPE_ENABLED\" value=\"false\"/>\n    </php>\n</phpunit>\n"
  },
  {
    "path": "public/.htaccess",
    "content": "<IfModule mod_rewrite.c>\n    <IfModule mod_negotiation.c>\n        Options -MultiViews -Indexes\n    </IfModule>\n\n    RewriteEngine On\n\n    # Handle Authorization Header\n    RewriteCond %{HTTP:Authorization} .\n    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]\n\n    # Redirect Trailing Slashes If Not A Folder...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_URI} (.+)/$\n    RewriteRule ^ %1 [L,R=301]\n\n    # Send Requests To Front Controller...\n    RewriteCond %{REQUEST_FILENAME} !-d\n    RewriteCond %{REQUEST_FILENAME} !-f\n    RewriteRule ^ index.php [L]\n</IfModule>\n"
  },
  {
    "path": "public/admin-theme/css/admin-style.css",
    "content": "h1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\na {\n    margin: 0;\n    padding: 0;\n}\n.btn-deleted {\n    background-color: #f44455;\n    border-radius: 3px;\n    font-family: 'CircularStd';\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff;\n    border: none;\n}\n\n.gc-gray-btn {\n    background-color: #404040;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff;\n    border: none;\n}\n\n.gc-light-gray-btn {\n    background-color: #b6b6b6;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff;\n    border: none;\n}\n\n.gc-yellow-btn,\na.gc-yellow-btn {\n    background-color: #f3ca27;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff !important;\n    border: none;\n}\n\n.gc-green-btn {\n    background-color: #68c452;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff;\n    border: none;\n}\n\n.gc-light-green-btn {\n    background-color: #60da9c;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff;\n    border: none;\n}\n\n.gc-main {\n    display: flex;\n    min-height: 100vh;\n    flex-direction: column;\n}\n\n.gc-content {\n    flex: 1;\n    background: #6161FF;\n    padding: 25px 10px !important;\n}\n\nnav.sidebar .sidebar-nav li a i {\n    font-size: 18px;\n    margin-right: 10px;\n}\n\n.gc-order-title {\n    font-size: 25px;\n    font-weight: bold;\n}\n\n.gc-admin-table-note {\n    max-height: 320px;\n    overflow-y: auto;\n    overflow-x: auto;\n}\n\n.gc-admin-table-note::-webkit-scrollbar {\n    width: 3px;\n    height: 3px;\n}\n\n.gc-admin-table-note::-webkit-scrollbar-track {\n    background-color: #f8f8f8\n}\n\n.gc-admin-table-note::-webkit-scrollbar-thumb {\n    background: #bcbcbc;\n}\n\n.gc-admin-table-note ul {\n    padding: 0;\n}\n\n.gc-admin-table-note h3 {\n    border: 1px solid #e7e7e7 !important;\n    color: #464a53;\n    font-weight: 400;\n    font-size: 15px;\n    min-width: 190px;\n    padding: 13px;\n    background-color: #fafafa;\n}\n\n.gc-admin-table-note h4 {\n    color: #464a53;\n    font-weight: 400;\n    font-size: 15px;\n    min-width: 190px;\n    padding: 12px 0;\n    margin: 0;\n    border-bottom: 1px solid #e7e7e7 !important;\n}\n\n.gc-admin-table-note li:first-child {\n    box-shadow: none;\n    padding: 0;\n    margin-bottom: 0;\n    background-color: transparent;\n    border: none !important;\n}\n\n.gc-admin-table-note li {\n    display: flex;\n    flex-wrap: nowrap;\n    margin-bottom: 10px;\n    display: flex;\n    flex-wrap: nowrap;\n    background-color: #fff;\n    border-radius: 3px;\n}\n\n.gc-card {\n    height: 100%;\n}\n\n.gc-order-offer h5 {\n    margin-bottom: 0;\n}\n\n.gc-order-offer .col-sm-6,\n.gc-order-offer .col-md-7,\n.gc-order-offer .col-md-5 {\n    margin-bottom: 20px;\n}\n\n.form-control:focus {\n    box-shadow: none;\n    outline: none\n}\n\nselect.form-control {\n    appearance: none;\n    -moz-appearance: none;\n    padding: 10px 15px;\n    -webkit-appearance: none;\n    height: auto;\n    background: url(../images/dropdown.png) no-repeat;\n    background-position: right 15px center;\n    background-size: 10px;\n    padding-right: 30px;\n    min-width: 100px;\n}\n\n.dataTables_filter input[type=\"search\"] {\n    height: auto;\n    padding: 10px 15px;\n}\n\nlabel b {\n    font-weight: bold;\n    font-size: 16px;\n}\n\ntable.dataTable {\n    width: 100% !important;\n    margin-top: 0 !important;\n}\nbutton,\na{\n    transition: all 0.3s linear 0s !important;\n    -webkit-transition: all 0.3s linear 0s !important;\n    -moz-transition: all 0.3s linear 0s !important;\n    -o-transition: all 0.3s linear 0 !important;\n}\nbutton:focus,\na:focus{\n  box-shadow: none !important;\n  outline: none !important;\n}\n.hs-admin  a{\n    color: #6161FF;\n\n}\n.hs-admin .navbar{\n    border:none;\n    padding: 22px;\n}\n.hs-admin .page-item.active .page-link{\n    background-color: #6161FF;\n    border-color: #6161FF;\n}\n.hs-admin .media svg path,\n.hs-admin .media svg circle,\n.hs-admin .media svg polyline,\n.hs-admin .media svg line{\n    stroke: #fff;\n}\n.hs-admin .sidebar{\n    background-color: #6161FF;\n    box-shadow: 0px 3px 10px 0px rgba(119, 119, 119, 0.1);\n}\n.hs-admin .sidebar-content{\n    background-color: #6161FF;\n    width: calc(100% - -25px);\n}\n.hs-admin .sidebar-brand{\n    padding: 13px 15px;\n    display: inline-block;\n    margin-left: 25px;\n}\n.hs-admin .sidebar-brand img{\n    width: 100%;\n    height: 94px;\n}\n.hs-admin .sidebar-brand span{\n    color: #39504b;\n}\n.hs-admin .sidebar-nav a{\n    background: transparent;\n    color: rgba(255, 255, 255, 0.6);\n    font-size: 14px;\n    font-weight: 500;\n    border-radius: 8px 0 0 8px;\n}\n.hs-admin .sidebar-nav li{\n    border-left: 4px solid transparent;\n}\n.hs-admin .sidebar-nav .sidebar-header{\n    text-transform: uppercase;\n    color: #ffffff;\n    padding: 25px 30px 15px;\n    /* font-weight: bold; */\n}\n\n.hs-admin .sidebar-nav .active a,\n.hs-admin .sidebar-nav a:hover,\n.hs-admin .sidebar-nav a:focus{\n    /* background: rgba(39,193,243,0.1) !important; */\n    color: #fff !important;\n    background: #4040AD !important;\n\n}\n\n/* .hs-admin .sidebar-nav li.active{\n    border-left:4px solid #6161FF;\n} */\n.hs-admin .card-body.bg-danger{\n    background-image: -moz-linear-gradient( to right, rgb(227,108,108) 0%, rgb(238,75,75) 100%);\n    background-image: -webkit-linear-gradient( to right, rgb(227,108,108) 0%, rgb(238,75,75) 100%);\n    background-image: -ms-linear-gradient( to right, rgb(227,108,108) 0%, rgb(238,75,75) 100%);\n    background-image: linear-gradient( to right, rgb(227,108,108) 0%, rgb(238,75,75) 100%);\n}\n.hs-admin .card-body.bg-warning{\n    background-image: -moz-linear-gradient( to right, rgb(244,182,101) 1%, rgb(253,224,63) 100%);\n    background-image: -webkit-linear-gradient( to right, rgb(244,182,101) 1%, rgb(253,224,63) 100%);\n    background-image: -ms-linear-gradient( to right, rgb(244,182,101) 1%, rgb(253,224,63) 100%);\n    background-image: linear-gradient( to right, rgb(244,182,101) 1%, rgb(253,224,63) 100%);\n}\n.hs-admin .card-body.bg-success{\n    background-image: -moz-linear-gradient( to right, rgb(35,189,184) 0%, rgb(67,231,148) 100%);\n    background-image: -webkit-linear-gradient( to right, rgb(35,189,184) 0%, rgb(67,231,148) 100%);\n    background-image: -ms-linear-gradient( to right, rgb(35,189,184) 0%, rgb(67,231,148) 100%);\n    background-image: linear-gradient( to right, rgb(35,189,184) 0%, rgb(67,231,148) 100%);\n}\n.hs-admin .card-body.bg-info{\n    background-image: -moz-linear-gradient( to right, rgb(35,144,189) 0%, rgb(67,156,231) 100%);\n    background-image: -webkit-linear-gradient( to right, rgb(35,144,189) 0%, rgb(67,156,231) 100%);\n    background-image: -ms-linear-gradient( to right, rgb(35,144,189) 0%, rgb(67,156,231) 100%);\n    background-image: linear-gradient( to right, rgb(35,144,189) 0%, rgb(67,156,231) 100%);\n}\n.hs-admin .form-control{\n    height: auto;\n    border:1px solid #dddfe1 !important;\n    padding: 8px !important;\n    /* background: white; */\n    border-radius: 6px;\n}\n.hs-admin form .row.hs-user{\n    align-items: center;\n}\n.hs-blue-btn{\n    background-color: #6161FF;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff !important;\n    border: none !important;\n}\n\n.hs-blue-btn:focus,\n.hs-blue-btn:hover,\n.hs-blue-btn:active{\n    background-color: #6161FF !important;\n    box-shadow: none !important;\n    outline: none;\n    opacity: 0.5;\n}\n.hs-green-btn{\n    background-color: #57d371;\n    border-radius: 3px;\n    font-weight: 400;\n    font-size: 14px;\n    min-width: 120px;\n    padding: 10px;\n    color: #fff !important;\n    border: none !important;\n}\n\n.hs-green-btn:focus,\n.hs-green-btn:hover,\n.hs-green-btn:active{\n    background-color: #57d371 !important;\n    box-shadow: none !important;\n    outline: none;\n    opacity: 0.5;\n}\n\n.hs-gray-btn{\n    border-radius: 3px;\n    background-color:#b6b6b6;\n    min-width: 120px;\n    font-size: 14px;\n    color: #fff !important;\n    padding: 10px;\n    border: none !important;\n}\n\n.hs-gray-btn:focus,\n.hs-gray-btn:hover,\n.hs-gray-btn:active{\n    background-color:#b6b6b6 !important;\n    box-shadow: none !important;\n    outline: none;\n    opacity: 0.5;\n}\n.hs-admin .card{\n    border: none;\n}\n.hs-admin .card-body{\n    border-radius: 3px;\n    box-shadow: 0px 3px 10px 0px rgba(119, 119, 119, 0.1);\n}\n.hs-admin .hs-bg-remove{\n    background-color: transparent;\n}\n.hs-admin .hs-bg-remove .card-body{\n    box-shadow: none;\n    padding: 15px 0;\n}\n\n.hs-admin .hs-bg-remove th,\n.hs-admin .hs-bg-remove td{\n    border: none;\n    padding: 20px 15px;\n}\n.hs-admin .hs-bg-remove th{\n    padding: 10px 15px !important;\n}\n.hs-admin .hs-bg-remove th:before,\n.hs-admin .hs-bg-remove th:after{\n    display: none !important;\n    bottom: auto !important;\n    top: 50%;\n    transform: translateY(-50%);\n}\n\n\n.hs-admin .hs-bg-remove tbody tr{\n    box-shadow: 0px 3px 10px 0px rgba(119, 119, 119, 0.1);\n    background-color: #fff;\n}\n\n.hs-admin .hs-bg-remove table{\n    border-spacing: 0 10px;\n}\n.hs-admin table td button.btn-success,\n.hs-admin table td button.btn-danger,\n.hs-admin table td button.btn-warning{\n    line-height: 14px;\n    border-radius: 5px;\n    background-color: #71d875;\n    border:none;\n}\nbutton.btn-light{\n    line-height: 14px;\n    border-radius: 5px;\n    background-color: #D3D3D3;\n    border:none;\n    color: #fff;\n}\nbutton.btn-light:hover{\n    color: #fff !important;\n    opacity: 1 !important;\n    background-color: #D3D3D3 !important;\n}\n\n\n.hs-admin table td button.btn-danger{\n    background-color: #e9655a;\n}\n.hs-admin table td button.btn-warning{\n    background-color: #d8d271;\n}\n\nadmit design change css\n.hs-sub-title-main{\n    font-weight: 500;\n    color: #464a53;\n    font-size: 22px;\n    display: inline-block;\n}\nadmit design change css\n\nadmin-listing design change\n.form-group label{\n    white-space: nowrap;\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\n.error{\n    color: #f44455 !important;\n}\n\nadmin-listing design change\n\n.restaurantImage .choice-restaurantimage-box{\n    height: 150px;\n    width: 150px;\n    overflow: hidden;\n    margin: auto;\n}\n.restaurantImage .choice-restaurantimage-box img{\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    object-position: center center;\n}\n.restaurantImage .radio-box-and-restaurant-title {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n}\n.restaurantImage .radio-box-and-restaurant-title small{\n    font-size: 12px;\n    color: #000;\n    text-align: center;\n    margin-left: 5px;\n}\n\n.restaurantImage .choose-file-box input{\n    border: 1px solid #e1e1e1;\n    display: flex;\n    width: 100%;\n    outline: none;\n    box-shadow: none;\n    cursor: pointer;\n    padding: 8px;\n}\n\n\n/* admin plan css file main */\n.sidebar {\n    min-width: 200px !important;\n    max-width: 200px !important;\n}\n.admin-login-page{\n    display: flex;\n    justify-content: center;\n    align-items: center;\n}\n.wag-login-page .wag-admin-login-page{\n    padding: 20px;\n    border-radius: 4px;\n    background-image: linear-gradient(180deg, #FFFFFF 0%, #FAFAFA 99%);\n    box-shadow: 0 71px 137px 0 #5150E4;\n}\n.wag-login-page h2 {\n    font-size: 18px;\n    color: #1F314A;\n    margin-bottom: 10px;\n    font-weight: 700;\n}\n.wag-login-page h3 {\n    font-size: 18px;\n    color: #1F314A;\n    font-weight: 500;\n    margin-bottom: 15px;\n}\n.wag-admin-login-details-block p{\n    font-size: 15px;\n    color: #1F314A;\n    font-weight: 400;\n    margin-bottom: 15px;\n}\n.wag-admin-btns-sign{\n    background: #8A288F;\n    padding: 8px 15px;\n    height: 45px;\n    min-width: 160px;\n    display: inline-flex;\n    justify-content: center;\n    align-items: center;\n    border-radius: 100px;\n    font-size: 16px;\n    font-weight: 400;\n    color: #fff !important;\n    border: none;\n    text-transform: uppercase;\n    width: 100%;\n    transition: all 0.3s ease-in-out;\n}\n.wag-admin-btns-sign:hover{\n    opacity: 0.6;\n}\n.wag-admin-page-title-main{\n    font-size: 18px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.wag-go-back-btn-main{\n    font-size: 16px;\n    font-weight: 500;\n    color: #6161FF !important;\n    text-decoration: none !important;\n    transition: all 0.3s ease-in-out;\n}\n.wag-go-back-btn-main:hover{\n    opacity: 0.7;\n }\n.wag-admin-btns-main{\n    font-size: 15px;\n    font-weight: 500;\n    color: white !important;\n    background: #6161FF;\n    outline: none;\n    box-shadow: none;\n    height: 38px;\n    display: inline-flex;\n    min-width: 160px;\n    align-items: center;\n    justify-content: center;\n    border-radius: 4px;\n    text-decoration: none !important;\n    border: none !important;\n    transition: all 0.3s ease-in-out;\n}\n.wag-admin-btns-main img{\n    width: 13px;\n    height: 13px;\n    object-fit: contain;\n    object-position: center;\n    margin-left: 10px;\n    transform: rotate(45deg);\n}\n.wag-admin-btns-main:hover{\n    opacity: 0.7;\n}\nlabel{\n    font-size: 14px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.form-control{\n    font-size: 16px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.wag-admin-plan-main-cover-section{\n    padding: 50px;\n    background: #F6F6F6;\n    border-radius: 10px;\n    min-height: 94vh;\n}\n\n.wag-member-block-main .wag-member-details-block-main{\n    padding: 20px;\n    background: white;\n    border-radius: 8px;\n    margin-bottom: 20px;\n}\n.wag-member-block-main .wag-member-details-block-main h2{\n    font-size: 33px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.wag-member-block-main .wag-member-details-block-main p{\n    font-size: 15px;\n    font-weight: 400;\n    color: #1F314A;\n}\n\n.wag-page-main-header-bar {\n    padding: 20px 0 20px;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n}\n.wag-page-main-header-bar .wag-title-bar-main h1{\n    /* font-size: 18px;\n    font-weight: 500;\n    color: #1F314A; */\n}\n.wag-page-main-header-bar .wag-title-and-nemu-block-main select{\n    border:none;\n    color: #768DFF;\n    outline: none;\n    box-shadow: none;\n    font-size: 16px;\n    font-weight: 500;\n}\n.wag-page-main-header-bar .wag-title-and-nemu-block-main input{\n    padding: 10px 15px;\n    border-radius: 4px;\n    border: 1px solid #dddfe1 !important;\n    background: white;\n}\n.wag-page-main-header-bar .wag-title-and-nemu-block-main input:focus{\n    outline: none;\n    box-shadow: none;\n}\n.wag-title-and-nemu-block-main .dropdown-menu{\n    border: 1px solid #6161ff !important;\n    border-radius: 0px;\n    top: 5px !important;\n    padding: 0 !important;\n    background: white;\n    text-align: center;\n    z-index: 3;\n}\n.wag-title-and-nemu-block-main .dropdown-menu .dropdown-item{\n    padding: 8px;\n    font-size: 14px;\n    font-weight: 500;\n    color: #6161ff !important;\n    border-bottom: 1px solid #6161ff;\n    transition: all 0.3s ease-in-out;\n}\n.wag-title-and-nemu-block-main .dropdown-menu .dropdown-item:hover{\n    color: white !important;\n    background-color: #6161ff;\n}\n.wag-title-and-nemu-block-main .dropdown-menu .dropdown-item:last-child{\n    border-bottom: none;\n}\n.wag-title-and-nemu-block-main .dropdown-toggle::after{\n    border: solid;\n    border-width: unset;\n    display: inline-block;\n    padding: unset;\n    -webkit-transform: rotate(45deg);\n    transform: rotate(-1deg);\n    margin-left: 0.255em;\n    vertical-align: 5.255em;\n    content: \"\";\n    border-top: 0.4em solid;\n    border-right: .4em solid transparent;\n    border-bottom: 0;\n    border-left: 0.4em solid transparent;\n}\n.daterangepicker{\n    right: 75px !important;\n}\n.wag-graph-main{\n    padding: 40px;\n    background: white;\n    border-radius: 12px;\n}\n.dataTables_processing{\n    background: transparent;\n    font-size: 16px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.dataTables_info{\n    font-size: 14px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.dataTables_filter label{\n    display: flex;\n    width: 100%;\n    align-items: center;\n    font-size: 15px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.dataTables_filter input{\n    width: 100% !important;\n    font-size: 15px;\n    font-weight: 500;\n    color: #1F314A;\n    border: none !important;\n    border-radius: 6px !important;\n}\n.wag-admin-inner-page-main{\n    padding: 15px 50px;\n    z-index: 1;\n    position: relative;\n}\n.wag-table-main table thead tr th{\n    border: none;\n    font-size: 14px;\n    color: rgba(31, 49, 74, 0.5);\n    font-weight: 600;\n    outline: none;\n    box-shadow: none;\n}\n.wag-table-main table{\n    border-collapse: separate;\n    border-spacing: 0 1em;\n}\n.wag-table-main table tbody tr{\n    background: #f4f4f4;\n    box-shadow: 0px 1px 10.68px 0.32px rgba(0, 0, 0, 0.06);\n    transition: all 0.3s ease-in-out;\n    cursor: pointer;\n}\n.wag-table-main table tbody tr:hover{\n    background: #e2e2e2;\n}\n.wag-table-main table tbody tr td{\n    border: none;\n    font-size: 15px;\n    color: rgba(31, 49, 74, 0.5);\n    font-weight: 500;\n    outline: none;\n    box-shadow: none;\n}\n.wag-table-main table tbody tr td a i.fa-pause{\n    color: #FFAA01;\n}\n.wag-table-main table tbody tr td a i.fa-edit{\n    color: black;\n    margin: 0 3px;\n}\n.wag-table-main table tbody tr td a{\n    display: inline-block;\n    margin-right: 5px;\n}\n.wag-table-main table tbody tr td a i.fa-edit-icon{\n    background: url(/admin-theme/images/edit-icon.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 12px;\n    height: 14px;\n}\n.wag-table-main table tbody tr td a i.fa-trash-icon{\n    background: url(/admin-theme/images/delete-icon.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 9px;\n    height: 16px;\n}\n.wag-table-main table tbody tr td a i.fa-pause-icon{\n    background: url(/admin-theme/images/pause-icon.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 8px;\n    height: 12px;\n}\n.wag-table-main table tbody tr td a i.fa-file-icon{\n    background: url(/admin-theme/images/combined-file.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 12px;\n    height: 16px;\n}\n\n.wag-table-main table tbody tr td a i.fa-trash{\n    color: #FF6161;\n}\n.wag-table-main table tbody tr td a i.fa-link{\n    color: black;\n}\n\n.wag-table-main table tbody tr td.user-name-details{\n    border: none;\n    font-size: 15px;\n    color: #1F314A;\n    font-weight: 500;\n    outline: none;\n    box-shadow: none;\n}\n.dt-buttons{\n    width: 100%;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    background: #e4e4e4;\n    padding: 2px;\n    margin-top: 15px;\n}\n.wag-published-and-draft-btns{\n    width: 50%;\n    font-size: 16px;\n    padding: 8px;\n    border: none;\n    outline: none;\n    box-shadow: none;\n    color: #3e3e3e !important;\n    background: #f6f6f6;\n}\n.wag-published-and-draft-btns.dtb-active{\n    background: #e4e4e4;\n}\n.wag-published-and-draft-btns:hover{\n    background: transparent !important;\n}\n/* .wag-published-and-draft-btns{\n    width: 49%;\n    font-size: 20px;\n    padding: 10px;\n    border: none;\n    outline: none;\n    box-shadow: none;\n    color: #a3a3a3 !important;\n    background: #f6f6f6;\n    border: 2px solid #e2e2e2;\n    text-transform: uppercase;\n} */\n/* .wag-published-and-draft-btns.active{\n    color: white !important;\n    background: #a3a3a3;\n    border: 2px solid #dbdbdb;\n    text-transform: uppercase;\n    box-shadow: 2.121px 2.121px 6.51px 0.49px rgba(0, 0, 0, 0.15);\n} */\n.wag-inner-page-table-main table tbody tr{\n    background: #F9F9F9;\n    border-radius: 8px;\n}\n.wag-profile-details img{\n    object-fit: contain;\n    object-position: center;\n}\n.wag-profile-details-block-main .wag-profile-details{\n    display: inline-flex;\n    background: white;\n    padding: 20px;\n    border-radius: 10px;\n    width: 500px;\n    max-width: 100%;\n}\n.wag-profile-details .wag-profile-pic{\n    width: 100px;\n    height: 100px;\n    border-radius: 1000px;\n    overflow: hidden;\n    display: inline-block;\n    margin-right: 20px;\n}\n.wag-profile-details .wag-profile-pic img{\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n}\n.wag-profile-details .wag-profile-pic-details .wag-profile-name-details{\n    display: flex;\n    flex-direction: column;\n    margin-bottom: 10px;\n}\n.wag-profile-details .wag-profile-pic-details .wag-profile-name-details label{\n    font-size: 14px;\n    font-weight: 400;\n    color: #7c8795;\n    margin-bottom: 2px;\n}\n.wag-profile-details .wag-profile-pic-details .wag-profile-name-details p{\n    font-size: 16px;\n    font-weight: bold;\n    color: #1F314A;\n}\n\n.wag-inner-page-main-section {\n    /* background: white;\n    padding: 25px;\n    border-radius: 10px; */\n}\n.wag-inner-page-main-section h2{\n    margin-bottom: 20px;\n}\n.wag-inner-section-block-main{\n    background: white;\n    padding: 20px;\n    border-radius: 10px;\n    margin-bottom: 20px;\n}\n.wag-inner-section-block-main .wag-donation-link-header-bar{\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    margin-bottom: 20px;\n}\n.wag-inner-section-block-main .wag-donation-link-header-bar h2{\n    margin-bottom: 0px;\n}\n.wag-inner-section-block-main .editorbox .form-control{\n    margin-top: 15px;\n}\n.wag-gallery-add-images-block-main .wag-gallery-add-block {\n    margin-bottom: 15px;\n    text-align: center;\n}\n.wag-gallery-add-images-block-main .wag-gallery-add-block .wag-gallery-img{\n    width: 150px;\n    height: 150px;\n    overflow: hidden;\n    border-radius: 8px;\n    margin: auto;\n}\n.wag-gallery-add-images-block-main .wag-gallery-add-block .wag-gallery-img img{\n    width: 100%;\n    height: 100%;\n    object-fit:  contain;\n    object-position: center;\n}\n.wag-gallery-btns-block {\n    margin: auto;\n    text-align: center;\n}\n.wag-gallery-btns-block .wag-admin-btns-main{\n    min-width: 80px;\n    font-size: 14px;\n    height: 30px;\n    margin-top: 15px;\n    margin-bottom: 15px;\n}\n.wag-gallery-btns-block .deleteGalleryImageRecord{\n    background: red;\n}\n.tc-crop-img-section{\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n    height: 100%;\n}\n.note-toolbar button:after{\n    display: none;\n}\n.note-editor .note-editable {\n    height: 250px;\n}\n.note-editor {\n    height: 300px;\n    border: 1px solid #dddfe1;\n    border-radius: 4px;\n}\n.note-editor .note-toolbar {\n    padding-bottom: 5px;\n    padding-left: 10px;\n    padding-top: 5px;\n    margin: 0;\n    background-color: #f5f5f5;\n    border-bottom: 1px solid #E7EAEC;\n    border-radius: 4px 4px 0 0;\n}\n.wag-medias-list-block-main .dropzone{\n    background: white !important;\n    padding: 20px !important;\n    border-radius: 10px !important;\n    border: 1px solid #d2d2d2 !important;\n    display: flex;\n    margin-bottom: 30px;\n}\n.wag-medias-list-block-main .dropzone .dz-message{\n    display: flex;\n    justify-content: center;\n    align-items: center;\n    margin: auto;\n    width: 100%;\n}\n.wag-medias-list-block-main .message{\n    font-size: 18px;\n    font-weight: 500;\n    color: #1F314A;\n    border: 1px solid #d5d5d5;\n    padding: 12px;\n    width: 100%;\n    border-radius: 4px;\n}\n.wag-medias-list-block-main .wag-images-medias-list-page{\n    display: flex;\n    width: calc(100% - -30px);\n}\n.wag-medias-list-block-main .wag-images-medias-list-page .row{\n    width: 100%;\n    margin: auto;\n}\n.wag-images-medias-list-page .file{\n    border-radius: 4px;\n    border: 1px solid #e8e8e8;\n    background: white;\n    margin-bottom: 20px;\n}\n.wag-images-medias-list-page .file .image{\n    width: 100%;\n    height: 150px;\n    overflow: hidden;\n}\n.wag-images-medias-list-page .file .image img{\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    object-position: top;\n}\n.wag-images-medias-list-page .file .file-name{\n    display: flex;\n    justify-content: space-between;\n    width: 100%;\n    align-items: center;\n    padding: 10px;\n    background: #f2f2f2;\n    border: 1px solid #e8e8e8;\n}\n.wag-images-medias-list-page .wag-admin-btns-main i{\n    margin-right: 10px;\n}\n.wag-inner-section-block-main .upload-img-btn{\n\tborder: 1px solid;\n    border-color: #6161FF;\n    padding: 10px 35px;\n    color: #6161FF;\n\tborder-radius: 8px;\n\tcursor: pointer;\n}\n.wag-inner-section-block-main .delete-img-btn{\n    border: 1px solid;\n    border-color: #ff0000;\n    padding: 10px 35px;\n    color: #ff0000;\n    border-radius: 8px;\n    cursor: pointer;\n}\nbody::-webkit-scrollbar {\n    width: 12px;\n}\nbody::-webkit-scrollbar-track {\n    background: rgba(255, 255, 255, 0.49);\n    border-radius: 10px;\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\n}\nbody::-webkit-scrollbar-thumb {\n    border-radius: 20px;\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);\n}\n.wag-down-arrow-icon{\n    position: relative;\n}\n.wag-down-arrow-icon::before{\n    position: absolute;\n    content: '';\n    background: url(/admin-theme/images/down-arrow-icon.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 25px;\n    height: 12px;\n}\n/* admin plan css file main */\n\n/*  header css file */\n.wagdt-main-page{\n    background: white;\n    margin-bottom: 25px;\n}\n.wagdt-main-page .wagdt-inner-banner-section {\n    background: #6161FF;\n    padding: 30px 0 50px;\n}\n.wagdt-inner-page-title {\n    font-size: 62px;\n    line-height: normal;\n    font-family: 'Nunito Sans';\n    color: white;\n}\n.wagdt-main-page .wagdt-inner-banner-section .wagdt-inner-details-section .wagdt-pages-link-block {\n    padding-top: 20px;\n}\n.wagdt-main-page .wagdt-inner-banner-section .wagdt-inner-details-section .wagdt-pages-link-block li {\n    font-size: 16px;\n    font-family: 'Nunito Sans';\n    color: white;\n    display: inline-block;\n}\n.wagdt-main-page .wagdt-inner-banner-section .wagdt-inner-details-section .wagdt-pages-link-block li a {\n    color: white;\n    opacity: 1;\n}\n.wagdt-main-page .wagdt-inner-banner-section .wagdt-inner-details-section .wagdt-pages-link-block li .wagdt-link {\n    display: inline-block;\n    color: white;\n    position: relative;\n    padding-left: 40px;\n}\n.wagdt-main-page .wagdt-inner-banner-section .wagdt-inner-details-section .wagdt-pages-link-block li .wagdt-link::after {\n    position: absolute;\n    content: '';\n    background: url(/images/back-icon.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 10px;\n    height: 16px;\n    left: 15px;\n    top: 0;\n    bottom: 0;\n    margin: auto;\n}\n/*  wagdt-watch-video-inner-page-main */\n.wagdt-watch-video-inner-page-main{\n    padding: 60px 0 30px;\n}\n.wagdt-watch-video-block {\n    margin-bottom: 20px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .watch-video-block {\n    width: 100%;\n    height: 500px;\n    overflow: hidden;\n    display: flex;\n    position: relative;\n    border-radius: 4px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .watch-video-block::before {\n    width: 100%;\n    height: 100%;\n    position: absolute;\n    content: '';\n    right: 0;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    background: rgba(40, 51, 64, 0.2);\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .watch-video-block img {\n    height: 100%;\n    width: 100%;\n    object-fit: cover;\n    object-position: center center;\n}\n.duration-box {\n    display: inline-block;\n    position: absolute;\n    left: 20px;\n    top: 20px;\n    z-index: 1;\n    background-color: rgba(0, 0, 0, 0.6);\n    color: white;\n    padding: 8px;\n    transparent: 10%;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .watch-video-block .play-icon {\n    display: inline-block;\n    width: 130px;\n    height: 130px;\n    position: absolute;\n    cursor: pointer;\n    right: 0;\n    left: 0;\n    bottom: 0;\n    margin: auto;\n    top: 0;\n    z-index: 1;\n}\n/* wagdt-watch-details-block-main */\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main {\n    padding: 15px 0 70px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-inner-page-title {\n    color: #333333;\n    position: relative;\n    display: initial;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .watch-andlearn-details {\n    font-size: 18px;\n    font-family: 'Nunito Sans';\n    color: rgba(51, 51, 51, 0.5);\n    display: block;\n    margin-top: 10px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-icons {\n    display: flex;\n    align-items: center;\n    justify-content: start;\n    margin-top: 20px;\n    padding: 0;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-icons span {\n    color: #6161FF;\n    font-weight: 600;\n    margin-right: 15px;\n    margin-top: 0;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-icons li {\n    display: inline-block;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-icons li .wagdt-social {\n    display: flex;\n    margin-left: 20px;\n    width: auto;\n    height: 16px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-icons li .wagdt-social img {\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n    object-position: center;\n}\n/*  wagdt-author-block-main */\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main {\n    background:#F7F7F7;\n    padding: 30px;\n    border-radius: 8px;\n    display: flex;\n    width: calc(100% + 30px);\n    margin-left: -15px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-img-block {\n    width: 100px;\n    height: 100px;\n    overflow: hidden;\n    border-radius: 1000px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-img-block img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-details-block {\n    margin-left: 20px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-details-block h5 {\n    font-weight: bold;\n    margin-bottom: 5px;\n}\n.wagdt-main-page h5 {\n    font-size: 22px;\n    color: #333333;\n    font-family: 'Nunito Sans';\n    line-height: 32px;\n    font-weight: normal;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-details-block h6 {\n    font-size: 22px;\n    font-weight: normal;\n    letter-spacing: -1px;\n    align-items: center;\n    display: flex;\n    margin-bottom: 10px;\n    font-family: 'Nunito Sans';\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-details-block h6 .personal-website-btns {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    font-size: 12px;\n    font-weight: 500;\n    letter-spacing: 1px;\n    border: 1px solid #6161FF;\n    color: #6161FF;\n    padding: 2px 15px;\n    min-width: 160px;\n    border-radius: 4px;\n    margin-left: 15px;\n    font-family: 'Nunito Sans';\n    text-decoration: none;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-details-block h6 .personal-website-btns img {\n    width: 10px;\n    margin-left: 10px;\n    object-fit: contain;\n    object-position: center;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-author-block-main .wagdt-author-details-block p {\n    font-family: 'Nunito Sans';\n    font-size: 16px;\n    font-weight: 400;\n    line-height: 27px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-block-main {\n   /*  border-bottom: 1px solid #E2E2E2; */\n    padding: 30px 0;\n    width: calc(100% + 30px);\n    margin-left: -15px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .wagdt-social-block-main span {\n    margin: 0;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-watch-details-block-main .watch-andlearn-details {\n    font-size: 18px;\n    font-family: 'Nunito Sans';\n    color: rgba(51, 51, 51, 0.5);\n    display: block;\n    margin-top: 10px;\n}\n.wag-watch-and-learn{\n    border: 1px solid #e4e4e4;\n    margin: 0 !important;\n    border-top: 0;\n}\n#DataTables_Table_0_filter {\n    display: flex;\n    justify-content: flex-end;\n}\n#DataTables_Table_0_filter label{\n    width: 353px;\n    max-width: 100%;\n}\n/*   */\n\n.disabled-delete{\n    cursor: not-allowed;\n}\n.upvideoblk.hs-blog-img-preview{\n    height: 100% !important;\n}\n.wag-table-main{\n    position: relative;\n}\n.wag-select-main{\n    margin-bottom: 15px;\n    width: 253px;\n    position: absolute;\n    z-index: 1;\n    max-width: 100%;\n    right: 380px;\n}\n.wag-select-main .select2 .select2-selection{\n    height: 42px;\n    display: flex;\n    align-items: center;\n    border: 1px solid #dddfe1 !important;\n    width: 100% !important;\n}\n.wag-select-main .select2{\n    width: 100% !important;\n}\n.wag-select-main .select2-selection__rendered{\n    font-size: 15px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.select2-dropdown{\n    border: 1px solid #dddfe1 !important;\n}\n.select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected] {\n    background-color: #8A288F !important;\n    color: #fff !important;\n}\n.wag-inner-section-block-main .select2 .select2-selection{\n    height: 42px;\n    display: flex;\n    align-items: center;\n    border: 1px solid #dddfe1 !important;\n}\n.wag-inner-section-block-main .select2-selection__rendered{\n    font-size: 15px;\n    font-weight: 500;\n    color: #1F314A;\n}\n.wag-hours-block .row{\n    align-items: center;\n}\n.wag-hours-block .row .col-md-2{\n    margin-top: 10px;\n}\n.wag-categories-box-main .select2-search .select2-search__field{\n    padding: 0 10px !important;\n    margin-bottom: 8px;\n}\n.wag-categories-box-main .select2-selection__rendered{\n    padding: 15px 10px 6px !important;\n}\n.wag-categories-box-main .select2{\n    width: 100%;\n}\n.wag-categories-box-main .selection .select2-selection{\n    height: auto !important;\n    min-height: 42px;\n}\n\n/*  commments section */\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-inner-page-title {\n    color: #333333;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list {\n    display: flex;\n    padding: 35px 0px;\n    border-bottom: 1px solid #E4E4E4;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-user-img {\n    width: 70px;\n    height: 70px;\n    overflow: hidden;\n    background: #f2f2f2;\n    border-radius: 100px;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-user-img img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    object-position: center;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-comments-details {\n    margin-left: 25px;\n    display: flex;\n    flex-direction: column;\n    width: 100%;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-comments-details .wagdt-use-details {\n    display: flex;\n    justify-content: space-between;\n    align-items: end;\n    margin: 8px 0 0px;\n}\n.wagdt-main-page h5 {\n    font-size: 22px;\n    color: #333333;\n    font-family: \"Nunito Sans\";\n    line-height: 32px;\n    font-weight: normal;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-comments-details .wagdt-use-details .wagdt-comments-nema p {\n    font-size: 16px;\n    font-family: \"Nunito Sans\";\n    color: rgba(51,51,51,0.5);\n    font-weight: normal;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-comments-details .wagdt-use-details .wag-reply-and-delete-section {\n    display: flex;\n    align-items: center;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-comments-details .wagdt-use-details .wag-reply-and-delete-section .delete-comment i.fa-trash-icon {\n    background: url(/admin-theme/images/delete-icon.svg) no-repeat;\n    background-position: center;\n    background-size: contain;\n    width: 9px;\n    height: 16px;\n    cursor: pointer;\n}\n.wagdt-main-page .wagdt-watch-video-inner-page-main .wagdt-comments-section-main .wagdt-comments-block-main .wagdt-comments-list .wagdt-comments-details p {\n    font-size: 16px;\n    font-family: \"Nunito Sans\";\n    color: #333333;\n    line-height: 30px;\n    margin-bottom: 0;\n}\n"
  },
  {
    "path": "public/admin-theme/css/classic.css",
    "content": "/* @import url(https://fonts.googleapis.com/css?family=Nunito+Sans:400,600); */\n/*!\n * Bootstrap v4.3.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */:root{--blue:#5b7dff;--indigo:#6610f2;--purple:#6f42c1;--pink:#a180da;--red:#f44455;--orange:#fd7e14;--yellow:#fcc100;--green:#5fc27e;--teal:#20c997;--cyan:#47bac1;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#47bac1;--secondary:#a180da;--success:#5fc27e;--info:#5b7dff;--warning:#fcc100;--danger:#f44455;--light:#f8f9fa;--dark:#354052;--tertiary:#5fc27e;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-xxl:1440px;--font-family-sans-serif:\"Nunito Sans\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",\"Helvetica Neue\",Arial,sans-serif;--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace}*,:after,:before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;text-align:left;background-color:#6161FF}[tabindex=\"-1\"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:600}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#47bac1;text-decoration:none;background-color:transparent}a:hover{color:#2f878c;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:400;line-height:1.2;color:#000}.h1,h1{font-size:1.75rem}.h2,h2{font-size:1.53125rem}.h3,h3{font-size:1.3125rem}.h4,h4{font-size:1.09375rem}.h5,.h6,h5,h6{font-size:.875rem}.lead{font-size:1.09375rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.09375rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer:before{content:\"\\2014\\00A0\"}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#f5f9fc;border:1px solid #dee2e6;border-radius:.2rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#a180da;word-break:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.1rem}kbd kbd{padding:0;font-size:100%;font-weight:600}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1280px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col-auto,.col-lg,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-auto,.col-md,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md-auto,.col-sm,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-auto,.col-xxl,.col-xxl-1,.col-xxl-2,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9,.col-xxl-10,.col-xxl-11,.col-xxl-12,.col-xxl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-auto{-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-webkit-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-2{-webkit-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-3{-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-5{-webkit-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-6{-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-8{-webkit-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-9{-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-11{-webkit-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-12{-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-order:-1;order:-1}.order-last{-webkit-order:13;order:13}.order-0{-webkit-order:0;order:0}.order-1{-webkit-order:1;order:1}.order-2{-webkit-order:2;order:2}.order-3{-webkit-order:3;order:3}.order-4{-webkit-order:4;order:4}.order-5{-webkit-order:5;order:5}.order-6{-webkit-order:6;order:6}.order-7{-webkit-order:7;order:7}.order-8{-webkit-order:8;order:8}.order-9{-webkit-order:9;order:9}.order-10{-webkit-order:10;order:10}.order-11{-webkit-order:11;order:11}.order-12{-webkit-order:12;order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-webkit-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{-webkit-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{-webkit-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{-webkit-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{-webkit-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-order:-1;order:-1}.order-sm-last{-webkit-order:13;order:13}.order-sm-0{-webkit-order:0;order:0}.order-sm-1{-webkit-order:1;order:1}.order-sm-2{-webkit-order:2;order:2}.order-sm-3{-webkit-order:3;order:3}.order-sm-4{-webkit-order:4;order:4}.order-sm-5{-webkit-order:5;order:5}.order-sm-6{-webkit-order:6;order:6}.order-sm-7{-webkit-order:7;order:7}.order-sm-8{-webkit-order:8;order:8}.order-sm-9{-webkit-order:9;order:9}.order-sm-10{-webkit-order:10;order:10}.order-sm-11{-webkit-order:11;order:11}.order-sm-12{-webkit-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-webkit-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{-webkit-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{-webkit-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{-webkit-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{-webkit-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-order:-1;order:-1}.order-md-last{-webkit-order:13;order:13}.order-md-0{-webkit-order:0;order:0}.order-md-1{-webkit-order:1;order:1}.order-md-2{-webkit-order:2;order:2}.order-md-3{-webkit-order:3;order:3}.order-md-4{-webkit-order:4;order:4}.order-md-5{-webkit-order:5;order:5}.order-md-6{-webkit-order:6;order:6}.order-md-7{-webkit-order:7;order:7}.order-md-8{-webkit-order:8;order:8}.order-md-9{-webkit-order:9;order:9}.order-md-10{-webkit-order:10;order:10}.order-md-11{-webkit-order:11;order:11}.order-md-12{-webkit-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-webkit-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{-webkit-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{-webkit-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{-webkit-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{-webkit-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-order:-1;order:-1}.order-lg-last{-webkit-order:13;order:13}.order-lg-0{-webkit-order:0;order:0}.order-lg-1{-webkit-order:1;order:1}.order-lg-2{-webkit-order:2;order:2}.order-lg-3{-webkit-order:3;order:3}.order-lg-4{-webkit-order:4;order:4}.order-lg-5{-webkit-order:5;order:5}.order-lg-6{-webkit-order:6;order:6}.order-lg-7{-webkit-order:7;order:7}.order-lg-8{-webkit-order:8;order:8}.order-lg-9{-webkit-order:9;order:9}.order-lg-10{-webkit-order:10;order:10}.order-lg-11{-webkit-order:11;order:11}.order-lg-12{-webkit-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-webkit-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{-webkit-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{-webkit-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{-webkit-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{-webkit-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-order:-1;order:-1}.order-xl-last{-webkit-order:13;order:13}.order-xl-0{-webkit-order:0;order:0}.order-xl-1{-webkit-order:1;order:1}.order-xl-2{-webkit-order:2;order:2}.order-xl-3{-webkit-order:3;order:3}.order-xl-4{-webkit-order:4;order:4}.order-xl-5{-webkit-order:5;order:5}.order-xl-6{-webkit-order:6;order:6}.order-xl-7{-webkit-order:7;order:7}.order-xl-8{-webkit-order:8;order:8}.order-xl-9{-webkit-order:9;order:9}.order-xl-10{-webkit-order:10;order:10}.order-xl-11{-webkit-order:11;order:11}.order-xl-12{-webkit-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}@media (min-width:1440px){.col-xxl{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;max-width:100%}.col-xxl-auto{-webkit-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xxl-1{-webkit-flex:0 0 8.33333%;flex:0 0 8.33333%;max-width:8.33333%}.col-xxl-2{-webkit-flex:0 0 16.66667%;flex:0 0 16.66667%;max-width:16.66667%}.col-xxl-3{-webkit-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xxl-4{-webkit-flex:0 0 33.33333%;flex:0 0 33.33333%;max-width:33.33333%}.col-xxl-5{-webkit-flex:0 0 41.66667%;flex:0 0 41.66667%;max-width:41.66667%}.col-xxl-6{-webkit-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xxl-7{-webkit-flex:0 0 58.33333%;flex:0 0 58.33333%;max-width:58.33333%}.col-xxl-8{-webkit-flex:0 0 66.66667%;flex:0 0 66.66667%;max-width:66.66667%}.col-xxl-9{-webkit-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xxl-10{-webkit-flex:0 0 83.33333%;flex:0 0 83.33333%;max-width:83.33333%}.col-xxl-11{-webkit-flex:0 0 91.66667%;flex:0 0 91.66667%;max-width:91.66667%}.col-xxl-12{-webkit-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xxl-first{-webkit-order:-1;order:-1}.order-xxl-last{-webkit-order:13;order:13}.order-xxl-0{-webkit-order:0;order:0}.order-xxl-1{-webkit-order:1;order:1}.order-xxl-2{-webkit-order:2;order:2}.order-xxl-3{-webkit-order:3;order:3}.order-xxl-4{-webkit-order:4;order:4}.order-xxl-5{-webkit-order:5;order:5}.order-xxl-6{-webkit-order:6;order:6}.order-xxl-7{-webkit-order:7;order:7}.order-xxl-8{-webkit-order:8;order:8}.order-xxl-9{-webkit-order:9;order:9}.order-xxl-10{-webkit-order:10;order:10}.order-xxl-11{-webkit-order:11;order:11}.order-xxl-12{-webkit-order:12;order:12}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333%}.offset-xxl-2{margin-left:16.66667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333%}.offset-xxl-5{margin-left:41.66667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333%}.offset-xxl-8{margin-left:66.66667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333%}.offset-xxl-11{margin-left:91.66667%}}.table{width:100%;margin-bottom:1rem;color:#495057}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#f8f9fa}.table-hover tbody tr:hover{color:#495057;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#cbecee}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#9fdbdf}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b8e5e8}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#e5dbf5}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#cebdec}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#d7c7ef}.table-success,.table-success>td,.table-success>th{background-color:#d2eedb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#acdfbc}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#bfe7cc}.table-info,.table-info>td,.table-info>th{background-color:#d1dbff}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#abf}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#b8c7ff}.table-warning,.table-warning>td,.table-warning>th{background-color:#feeeb8}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#fddf7a}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fee89f}.table-danger,.table-danger>td,.table-danger>th{background-color:#fccbcf}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#f99ea7}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#fbb3b9}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6cacf}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#969ca5}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b8bdc3}.table-tertiary,.table-tertiary>td,.table-tertiary>th{background-color:#d2eedb}.table-tertiary tbody+tbody,.table-tertiary td,.table-tertiary th,.table-tertiary thead th{border-color:#acdfbc}.table-hover .table-tertiary:hover,.table-hover .table-tertiary:hover>td,.table-hover .table-tertiary:hover>th{background-color:#bfe7cc}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:hsla(0,0%,100%,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}@media (max-width:1439.98px){.table-responsive-xxl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xxl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.8125rem + 2px);padding:.25rem .7rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.2rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#a6dee1;outline:0;box-shadow:0 0 0 .2rem rgba(71,186,193,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.35rem + 1px);padding-bottom:calc(.35rem + 1px);font-size:1rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.15rem + 1px);padding-bottom:calc(.15rem + 1px);font-size:.75rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.25rem;padding-bottom:.25rem;margin-bottom:0;line-height:1.5;color:#495057;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.425rem + 2px);padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.1rem}.form-control-lg{height:calc(2.2rem + 2px);padding:.35rem 1rem;font-size:1rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#5fc27e}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.75rem;line-height:1.5;color:#212529;background-color:rgba(95,194,126,.9);border-radius:.2rem}.form-control.is-valid,.was-validated .form-control:valid{border-color:#5fc27e;padding-right:1.8125rem;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235fc27e' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:100% calc(.375em + .125rem);background-size:calc(.75em + .25rem) calc(.75em + .25rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#5fc27e;box-shadow:0 0 0 .2rem rgba(95,194,126,.25)}.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:1.8125rem;background-position:top calc(.375em + .125rem) right calc(.375em + .125rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#5fc27e;padding-right:calc((3em + 1.5rem)/4 + 1.7rem);background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .7rem center/8px 10px,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%235fc27e' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E\") #fff no-repeat center right 1.7rem/calc(.75em + .25rem) calc(.75em + .25rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#5fc27e;box-shadow:0 0 0 .2rem rgba(95,194,126,.25)}.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-control-file.is-valid~.valid-feedback,.form-control-file.is-valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-control-file:valid~.valid-feedback,.was-validated .form-control-file:valid~.valid-tooltip{display:block}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#5fc27e}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#5fc27e}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#5fc27e}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{border-color:#84d09c;background-color:#84d09c}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(95,194,126,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#5fc27e}.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip{display:block}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#5fc27e;box-shadow:0 0 0 .2rem rgba(95,194,126,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#f44455}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.75rem;line-height:1.5;color:#fff;background-color:rgba(244,68,85,.9);border-radius:.2rem}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#f44455;padding-right:1.8125rem;background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f44455' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23f44455' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\");background-repeat:no-repeat;background-position:100% calc(.375em + .125rem);background-size:calc(.75em + .25rem) calc(.75em + .25rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#f44455;box-shadow:0 0 0 .2rem rgba(244,68,85,.25)}.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:1.8125rem;background-position:top calc(.375em + .125rem) right calc(.375em + .125rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#f44455;padding-right:calc((3em + 1.5rem)/4 + 1.7rem);background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .7rem center/8px 10px,url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23f44455' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23f44455' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E\") #fff no-repeat center right 1.7rem/calc(.75em + .25rem) calc(.75em + .25rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#f44455;box-shadow:0 0 0 .2rem rgba(244,68,85,.25)}.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-control-file.is-invalid~.invalid-feedback,.form-control-file.is-invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-control-file:invalid~.invalid-feedback,.was-validated .form-control-file:invalid~.invalid-tooltip{display:block}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#f44455}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#f44455}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#f44455}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{border-color:#f77481;background-color:#f77481}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(244,68,85,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#f44455}.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip{display:block}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#f44455;box-shadow:0 0 0 .2rem rgba(244,68,85,.25)}.form-inline{display:-webkit-flex;display:flex;-webkit-flex-flow:row wrap;flex-flow:row wrap;-webkit-align-items:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{-webkit-justify-content:center;justify-content:center}.form-inline .form-group,.form-inline label{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;margin-bottom:0}.form-inline .form-group{-webkit-flex:0 0 auto;flex:0 0 auto;-webkit-flex-flow:row wrap;flex-flow:row wrap}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-webkit-flex-shrink:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn,.fc-unthemed .fc-button{display:inline-block;font-weight:400;color:#495057;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.25rem .7rem;font-size:.875rem;line-height:1.5;border-radius:.2rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn,.fc-unthemed .fc-button{transition:none}}.btn:hover,.fc-unthemed .fc-button:hover{color:#495057;text-decoration:none}.btn.focus,.btn:focus,.fc-unthemed .fc-button:focus,.fc-unthemed .focus.fc-button{outline:0;box-shadow:0 0 0 .2rem rgba(71,186,193,.25)}.btn.disabled,.btn:disabled,.fc-unthemed .disabled.fc-button,.fc-unthemed .fc-button:disabled{opacity:.65}.fc-unthemed a.disabled.fc-button,.fc-unthemed fieldset:disabled a.fc-button,a.btn.disabled,fieldset:disabled .fc-unthemed a.fc-button,fieldset:disabled a.btn{pointer-events:none}.btn-primary,.fc-unthemed .fc-button{color:#212529;background-color:#47bac1;border-color:#47bac1}.btn-primary:hover,.fc-unthemed .fc-button:hover{color:#fff;background-color:#39a2a9;border-color:#36999f}.btn-primary.focus,.btn-primary:focus,.fc-unthemed .fc-button:focus,.fc-unthemed .focus.fc-button{box-shadow:0 0 0 .2rem rgba(65,164,170,.5)}.btn-primary.disabled,.btn-primary:disabled,.fc-unthemed .disabled.fc-button,.fc-unthemed .fc-button:disabled{color:#212529;background-color:#47bac1;border-color:#47bac1}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.fc-unthemed .fc-button:not(:disabled):not(.disabled).active,.fc-unthemed .fc-button:not(:disabled):not(.disabled):active,.fc-unthemed .show>.dropdown-toggle.fc-button,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#36999f;border-color:#329096}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.fc-unthemed .fc-button:not(:disabled):not(.disabled).active:focus,.fc-unthemed .fc-button:not(:disabled):not(.disabled):active:focus,.fc-unthemed .show>.dropdown-toggle.fc-button:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(65,164,170,.5)}.btn-secondary{color:#fff;background-color:#a180da;border-color:#a180da}.btn-secondary:hover{color:#fff;background-color:#8b62d1;border-color:#8459ce}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem rgba(175,147,224,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#a180da;border-color:#a180da}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#8459ce;border-color:#7c4fcc}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(175,147,224,.5)}.btn-success{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-success:hover{color:#fff;background-color:#45b668;border-color:#42ac63}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(86,170,113,.5)}.btn-success.disabled,.btn-success:disabled{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#42ac63;border-color:#3ea35e}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(86,170,113,.5)}.btn-info{color:#fff;background-color:#5b7dff;border-color:#5b7dff}.btn-info:hover{color:#fff;background-color:#355fff;border-color:#2855ff}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(116,145,255,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#5b7dff;border-color:#5b7dff}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#2855ff;border-color:#1b4aff}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(116,145,255,.5)}.btn-warning{color:#212529;background-color:#fcc100;border-color:#fcc100}.btn-warning:hover{color:#212529;background-color:#d6a400;border-color:#c99a00}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(219,170,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#fcc100;border-color:#fcc100}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#c99a00;border-color:#bc9000}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(219,170,6,.5)}.btn-danger{color:#fff;background-color:#f44455;border-color:#f44455}.btn-danger:hover{color:#fff;background-color:#f22034;border-color:#f11429}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(246,96,111,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#f44455;border-color:#f44455}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#f11429;border-color:#ea0e23}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(246,96,111,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#354052;border-color:#354052}.btn-dark:hover{color:#fff;background-color:#262e3b;border-color:#212833}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(83,93,108,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#354052;border-color:#354052}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#212833;border-color:#1c222b}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(83,93,108,.5)}.btn-tertiary{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-tertiary:hover{color:#fff;background-color:#45b668;border-color:#42ac63}.btn-tertiary.focus,.btn-tertiary:focus{box-shadow:0 0 0 .2rem rgba(86,170,113,.5)}.btn-tertiary.disabled,.btn-tertiary:disabled{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-tertiary:not(:disabled):not(.disabled).active,.btn-tertiary:not(:disabled):not(.disabled):active,.show>.btn-tertiary.dropdown-toggle{color:#fff;background-color:#42ac63;border-color:#3ea35e}.btn-tertiary:not(:disabled):not(.disabled).active:focus,.btn-tertiary:not(:disabled):not(.disabled):active:focus,.show>.btn-tertiary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(86,170,113,.5)}.btn-outline-primary{color:#47bac1;border-color:#47bac1}.btn-outline-primary:hover{color:#212529;background-color:#47bac1;border-color:#47bac1}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(71,186,193,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#47bac1;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#212529;background-color:#47bac1;border-color:#47bac1}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(71,186,193,.5)}.btn-outline-secondary{color:#a180da;border-color:#a180da}.btn-outline-secondary:hover{color:#fff;background-color:#a180da;border-color:#a180da}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(161,128,218,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#a180da;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#a180da;border-color:#a180da}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(161,128,218,.5)}.btn-outline-success{color:#5fc27e;border-color:#5fc27e}.btn-outline-success:hover{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(95,194,126,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#5fc27e;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(95,194,126,.5)}.btn-outline-info{color:#5b7dff;border-color:#5b7dff}.btn-outline-info:hover{color:#fff;background-color:#5b7dff;border-color:#5b7dff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(91,125,255,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#5b7dff;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5b7dff;border-color:#5b7dff}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(91,125,255,.5)}.btn-outline-warning{color:#fcc100;border-color:#fcc100}.btn-outline-warning:hover{color:#212529;background-color:#fcc100;border-color:#fcc100}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(252,193,0,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#fcc100;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#fcc100;border-color:#fcc100}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(252,193,0,.5)}.btn-outline-danger{color:#f44455;border-color:#f44455}.btn-outline-danger:hover{color:#fff;background-color:#f44455;border-color:#f44455}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(244,68,85,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#f44455;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#f44455;border-color:#f44455}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(244,68,85,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#354052;border-color:#354052}.btn-outline-dark:hover{color:#fff;background-color:#354052;border-color:#354052}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(53,64,82,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#354052;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#354052;border-color:#354052}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(53,64,82,.5)}.btn-outline-tertiary{color:#5fc27e;border-color:#5fc27e}.btn-outline-tertiary:hover{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-outline-tertiary.focus,.btn-outline-tertiary:focus{box-shadow:0 0 0 .2rem rgba(95,194,126,.5)}.btn-outline-tertiary.disabled,.btn-outline-tertiary:disabled{color:#5fc27e;background-color:transparent}.btn-outline-tertiary:not(:disabled):not(.disabled).active,.btn-outline-tertiary:not(:disabled):not(.disabled):active,.show>.btn-outline-tertiary.dropdown-toggle{color:#212529;background-color:#5fc27e;border-color:#5fc27e}.btn-outline-tertiary:not(:disabled):not(.disabled).active:focus,.btn-outline-tertiary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-tertiary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(95,194,126,.5)}.btn-link{font-weight:400;color:#47bac1;text-decoration:none}.btn-link:hover{color:#2f878c;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline;box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg,.fc-unthemed .btn-group-lg>.fc-button{padding:.35rem 1rem;font-size:1rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm,.fc-unthemed .btn-group-sm>.fc-button{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.1rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:.875rem;color:#495057;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.2rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}@media (min-width:1440px){.dropdown-menu-xxl-left{right:auto;left:0}.dropdown-menu-xxl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle:after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:\"\";display:none}.dropleft .dropdown-toggle:before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:\"\";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.35rem 1.5rem;clear:both;font-weight:400;color:#495057;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#47bac1}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.75rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.35rem 1.5rem;color:#495057}.btn-group,.btn-group-vertical,.fc-unthemed .fc-button-group{position:relative;display:-webkit-inline-flex;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn,.fc-unthemed .btn-group-vertical>.fc-button,.fc-unthemed .btn-group>.fc-button,.fc-unthemed .fc-button-group>.btn,.fc-unthemed .fc-button-group>.fc-button{position:relative;-webkit-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover,.fc-unthemed .btn-group-vertical>.active.fc-button,.fc-unthemed .btn-group-vertical>.fc-button:active,.fc-unthemed .btn-group-vertical>.fc-button:focus,.fc-unthemed .btn-group-vertical>.fc-button:hover,.fc-unthemed .btn-group>.active.fc-button,.fc-unthemed .btn-group>.fc-button:active,.fc-unthemed .btn-group>.fc-button:focus,.fc-unthemed .btn-group>.fc-button:hover,.fc-unthemed .fc-button-group>.active.fc-button,.fc-unthemed .fc-button-group>.btn.active,.fc-unthemed .fc-button-group>.btn:active,.fc-unthemed .fc-button-group>.btn:focus,.fc-unthemed .fc-button-group>.btn:hover,.fc-unthemed .fc-button-group>.fc-button:active,.fc-unthemed .fc-button-group>.fc-button:focus,.fc-unthemed .fc-button-group>.fc-button:hover{z-index:1}.btn-toolbar{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:flex-start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child),.fc-unthemed .btn-group>.fc-button-group:not(:first-child),.fc-unthemed .btn-group>.fc-button:not(:first-child),.fc-unthemed .fc-button-group>.btn-group:not(:first-child),.fc-unthemed .fc-button-group>.btn:not(:first-child),.fc-unthemed .fc-button-group>.fc-button-group:not(:first-child),.fc-unthemed .fc-button-group>.fc-button:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.fc-unthemed .btn-group>.btn-group:not(:last-child)>.fc-button,.fc-unthemed .btn-group>.fc-button-group:not(:last-child)>.btn,.fc-unthemed .btn-group>.fc-button-group:not(:last-child)>.fc-button,.fc-unthemed .btn-group>.fc-button:not(:last-child):not(.dropdown-toggle),.fc-unthemed .fc-button-group>.btn-group:not(:last-child)>.btn,.fc-unthemed .fc-button-group>.btn-group:not(:last-child)>.fc-button,.fc-unthemed .fc-button-group>.btn:not(:last-child):not(.dropdown-toggle),.fc-unthemed .fc-button-group>.fc-button-group:not(:last-child)>.btn,.fc-unthemed .fc-button-group>.fc-button-group:not(:last-child)>.fc-button,.fc-unthemed .fc-button-group>.fc-button:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child),.fc-unthemed .btn-group>.btn-group:not(:first-child)>.fc-button,.fc-unthemed .btn-group>.fc-button-group:not(:first-child)>.btn,.fc-unthemed .btn-group>.fc-button-group:not(:first-child)>.fc-button,.fc-unthemed .btn-group>.fc-button:not(:first-child),.fc-unthemed .fc-button-group>.btn-group:not(:first-child)>.btn,.fc-unthemed .fc-button-group>.btn-group:not(:first-child)>.fc-button,.fc-unthemed .fc-button-group>.btn:not(:first-child),.fc-unthemed .fc-button-group>.fc-button-group:not(:first-child)>.btn,.fc-unthemed .fc-button-group>.fc-button-group:not(:first-child)>.fc-button,.fc-unthemed .fc-button-group>.fc-button:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.525rem;padding-left:.525rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split,.fc-unthemed .btn-group-sm>.fc-button+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split,.fc-unthemed .btn-group-lg>.fc-button+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:flex-start;align-items:flex-start;-webkit-justify-content:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.fc-unthemed .btn-group-vertical>.fc-button,.fc-unthemed .btn-group-vertical>.fc-button-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child),.fc-unthemed .btn-group-vertical>.fc-button-group:not(:first-child),.fc-unthemed .btn-group-vertical>.fc-button:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.fc-unthemed .btn-group-vertical>.btn-group:not(:last-child)>.fc-button,.fc-unthemed .btn-group-vertical>.fc-button-group:not(:last-child)>.btn,.fc-unthemed .btn-group-vertical>.fc-button-group:not(:last-child)>.fc-button,.fc-unthemed .btn-group-vertical>.fc-button:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child),.fc-unthemed .btn-group-vertical>.btn-group:not(:first-child)>.fc-button,.fc-unthemed .btn-group-vertical>.fc-button-group:not(:first-child)>.btn,.fc-unthemed .btn-group-vertical>.fc-button-group:not(:first-child)>.fc-button,.fc-unthemed .btn-group-vertical>.fc-button:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn,.fc-unthemed .btn-group-toggle>.btn-group>.fc-button,.fc-unthemed .btn-group-toggle>.fc-button,.fc-unthemed .btn-group-toggle>.fc-button-group>.btn,.fc-unthemed .btn-group-toggle>.fc-button-group>.fc-button{margin-bottom:0}.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.fc-unthemed .btn-group-toggle>.btn-group>.fc-button input[type=checkbox],.fc-unthemed .btn-group-toggle>.btn-group>.fc-button input[type=radio],.fc-unthemed .btn-group-toggle>.fc-button-group>.btn input[type=checkbox],.fc-unthemed .btn-group-toggle>.fc-button-group>.btn input[type=radio],.fc-unthemed .btn-group-toggle>.fc-button-group>.fc-button input[type=checkbox],.fc-unthemed .btn-group-toggle>.fc-button-group>.fc-button input[type=radio],.fc-unthemed .btn-group-toggle>.fc-button input[type=checkbox],.fc-unthemed .btn-group-toggle>.fc-button input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-webkit-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-append,.input-group-prepend{display:-webkit-flex;display:flex}.fc-unthemed .input-group-append .fc-button,.fc-unthemed .input-group-prepend .fc-button,.input-group-append .btn,.input-group-append .fc-unthemed .fc-button,.input-group-prepend .btn,.input-group-prepend .fc-unthemed .fc-button{position:relative;z-index:2}.fc-unthemed .input-group-append .fc-button:focus,.fc-unthemed .input-group-prepend .fc-button:focus,.input-group-append .btn:focus,.input-group-append .fc-unthemed .fc-button:focus,.input-group-prepend .btn:focus,.input-group-prepend .fc-unthemed .fc-button:focus{z-index:3}.fc-unthemed .input-group-append .btn+.fc-button,.fc-unthemed .input-group-append .fc-button+.btn,.fc-unthemed .input-group-append .fc-button+.fc-button,.fc-unthemed .input-group-append .fc-button+.input-group-text,.fc-unthemed .input-group-append .input-group-text+.fc-button,.fc-unthemed .input-group-prepend .btn+.fc-button,.fc-unthemed .input-group-prepend .fc-button+.btn,.fc-unthemed .input-group-prepend .fc-button+.fc-button,.fc-unthemed .input-group-prepend .fc-button+.input-group-text,.fc-unthemed .input-group-prepend .input-group-text+.fc-button,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .fc-unthemed .btn+.fc-button,.input-group-append .fc-unthemed .fc-button+.btn,.input-group-append .fc-unthemed .fc-button+.fc-button,.input-group-append .fc-unthemed .fc-button+.input-group-text,.input-group-append .fc-unthemed .input-group-text+.fc-button,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .fc-unthemed .btn+.fc-button,.input-group-prepend .fc-unthemed .fc-button+.btn,.input-group-prepend .fc-unthemed .fc-button+.fc-button,.input-group-prepend .fc-unthemed .fc-button+.input-group-text,.input-group-prepend .fc-unthemed .input-group-text+.fc-button,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;padding:.25rem .7rem;margin-bottom:0;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.2rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(2.2rem + 2px)}.fc-unthemed .input-group-lg>.input-group-append>.fc-button,.fc-unthemed .input-group-lg>.input-group-prepend>.fc-button,.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.35rem 1rem;font-size:1rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.425rem + 2px)}.fc-unthemed .input-group-sm>.input-group-append>.fc-button,.fc-unthemed .input-group-sm>.input-group-prepend>.fc-button,.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.15rem .5rem;font-size:.75rem;line-height:1.5;border-radius:.1rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.7rem}.fc-unthemed .input-group>.input-group-append:last-child>.fc-button:not(:last-child):not(.dropdown-toggle),.fc-unthemed .input-group>.input-group-append:not(:last-child)>.fc-button,.fc-unthemed .input-group>.input-group-prepend>.fc-button,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.fc-unthemed .input-group>.input-group-append>.fc-button,.fc-unthemed .input-group>.input-group-prepend:first-child>.fc-button:not(:first-child),.fc-unthemed .input-group>.input-group-prepend:not(:first-child)>.fc-button,.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.3125rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-flex;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label:before{color:#fff;border-color:#47bac1;background-color:#47bac1}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(71,186,193,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#a6dee1}.custom-control-input:not(:disabled):active~.custom-control-label:before{color:#fff;background-color:#cdecee;border-color:#cdecee}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label:before{pointer-events:none;background-color:#dee2e6;border:1px solid #adb5bd}.custom-control-label:after,.custom-control-label:before{position:absolute;top:.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:\"\"}.custom-control-label:after{background:no-repeat 50%/50% 50%}.custom-checkbox .custom-control-label:before{border-radius:.2rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E\")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{border-color:#47bac1;background-color:#47bac1}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E\")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(71,186,193,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(71,186,193,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E\")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(71,186,193,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label:after{top:calc(.15625rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#dee2e6;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(71,186,193,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.8125rem + 2px);padding:.25rem 1.7rem .25rem .7rem;font-size:.875rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E\") no-repeat right .7rem center/8px 10px;background-color:#fff;border:1px solid #ced4da;border-radius:.2rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#a6dee1;outline:0;box-shadow:0 0 0 .2rem rgba(71,186,193,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size=\"1\"]){height:auto;padding-right:.7rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select-sm{height:calc(1.425rem + 2px);padding-top:.15rem;padding-bottom:.15rem;padding-left:.5rem;font-size:.75rem}.custom-select-lg{height:calc(2.2rem + 2px);padding-top:.35rem;padding-bottom:.35rem;padding-left:1rem;font-size:1rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{position:relative;width:100%;height:calc(1.8125rem + 2px)}.custom-file-input{z-index:2;margin:0;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#a6dee1;box-shadow:0 0 0 .2rem rgba(71,186,193,.25)}.custom-file-input:disabled~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:\"Browse\"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{left:0;z-index:1;height:calc(1.8125rem + 2px);font-weight:400;background-color:#fff;border:1px solid #ced4da;border-radius:.2rem}.custom-file-label,.custom-file-label:after{position:absolute;top:0;right:0;padding:.25rem .7rem;line-height:1.5;color:#495057}.custom-file-label:after{bottom:0;z-index:3;display:block;height:1.8125rem;content:\"Browse\";background-color:#e9ecef;border-left:inherit;border-radius:0 .2rem .2rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #f5f9fc,0 0 0 .2rem rgba(71,186,193,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #f5f9fc,0 0 0 .2rem rgba(71,186,193,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #f5f9fc,0 0 0 .2rem rgba(71,186,193,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#47bac1;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#cdecee}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#47bac1;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{transition:none}}.custom-range::-moz-range-thumb:active{background-color:#cdecee}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#47bac1;border:0;border-radius:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{transition:none}}.custom-range::-ms-thumb:active{background-color:#cdecee}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.2rem;border-top-right-radius:.2rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#f5f9fc;border-color:#dee2e6 #dee2e6 #f5f9fc}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.2rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#47bac1}.nav-fill .nav-item{-webkit-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-webkit-flex-basis:0;flex-basis:0;-webkit-flex-grow:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;padding:.875rem 1.25rem}.navbar,.navbar>.container,.navbar>.container-fluid{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-align-items:center;align-items:center;-webkit-justify-content:space-between;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.33125rem;padding-bottom:.33125rem;margin-right:1.25rem;font-size:1.1rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-webkit-flex-basis:100%;flex-basis:100%;-webkit-flex-grow:1;flex-grow:1;-webkit-align-items:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.2rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:\"\";background:no-repeat 50%;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-webkit-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-flex!important;display:flex!important;-webkit-flex-basis:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-webkit-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-flex!important;display:flex!important;-webkit-flex-basis:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-webkit-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-flex!important;display:flex!important;-webkit-flex-basis:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-webkit-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-flex!important;display:flex!important;-webkit-flex-basis:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (max-width:1439.98px){.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1440px){.navbar-expand-xxl{-webkit-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{-webkit-flex-direction:row;flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xxl .navbar-collapse{display:-webkit-flex!important;display:flex!important;-webkit-flex-basis:auto;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{-webkit-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-justify-content:flex-start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-flex!important;display:flex!important;-webkit-flex-basis:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0,0,0,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:hsla(0,0%,100%,.5);border-color:hsla(0,0%,100%,.1)}.navbar-dark .navbar-toggler-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E\")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid #e5e9f2;border-radius:.2rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.2rem;border-top-right-radius:.2rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.2rem;border-bottom-left-radius:.2rem}.card-body{-webkit-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:#fff;border-bottom:1px solid #e5e9f2}.card-header:first-child{border-radius:calc(.2rem - 1px) calc(.2rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:.75rem 1.25rem;background-color:#fff;border-top:1px solid #e5e9f2}.card-footer:last-child{border-radius:0 0 calc(.2rem - 1px) calc(.2rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(.2rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.2rem - 1px);border-top-right-radius:calc(.2rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.2rem - 1px);border-bottom-left-radius:calc(.2rem - 1px)}.card-deck{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{-webkit-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-flex;display:flex;-webkit-flex:1 0 0%;flex:1 0 0%;-webkit-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{-webkit-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion>.card{overflow:hidden}.accordion>.card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion>.card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion>.card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.accordion>.card .card-header{margin-bottom:-1px}.breadcrumb{display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.2rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{display:inline-block;padding-right:.5rem;color:#6c757d;content:\"/\"}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-webkit-flex;display:flex;padding-left:0;list-style:none;border-radius:.2rem}.page-link{position:relative;display:block;padding:.3rem .75rem;margin-left:-1px;line-height:1.25;color:#6c757d;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#343a40;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(71,186,193,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#47bac1;border-color:#47bac1}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.35rem 1rem;font-size:1rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.15rem .5rem;font-size:.75rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.1rem;border-bottom-left-radius:.1rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.1rem;border-bottom-right-radius:.1rem}.badge{display:inline-block;padding:.3em .45em;font-size:80%;font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.2rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge,.fc-unthemed .fc-button .badge{position:relative;top:-1px}.badge-pill{padding-right:.65em;padding-left:.65em;border-radius:10rem}.badge-primary{color:#212529;background-color:#47bac1}a.badge-primary:focus,a.badge-primary:hover{color:#212529;background-color:#36999f}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(71,186,193,.5)}.badge-secondary{color:#fff;background-color:#a180da}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#8459ce}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(161,128,218,.5)}.badge-success{color:#212529;background-color:#5fc27e}a.badge-success:focus,a.badge-success:hover{color:#212529;background-color:#42ac63}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(95,194,126,.5)}.badge-info{color:#fff;background-color:#5b7dff}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#2855ff}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(91,125,255,.5)}.badge-warning{color:#212529;background-color:#fcc100}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#c99a00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(252,193,0,.5)}.badge-danger{color:#fff;background-color:#f44455}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#f11429}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(244,68,85,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#354052}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#212833}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(53,64,82,.5)}.badge-tertiary{color:#212529;background-color:#5fc27e}a.badge-tertiary:focus,a.badge-tertiary:hover{color:#212529;background-color:#42ac63}a.badge-tertiary.focus,a.badge-tertiary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(95,194,126,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.95rem;margin-bottom:1rem;border:0 solid transparent;border-radius:.2rem}.alert-heading{color:inherit}.alert-link{font-weight:600}.alert-dismissible{padding-right:3.2125rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.95rem;color:inherit}.alert-primary{color:#256164;background-color:#47bac1;border-color:#cbecee}.alert-primary hr{border-top-color:#b8e5e8}.alert-primary .alert-link{color:#173d3f}.alert-secondary{color:#544371;background-color:#a180da;border-color:#e5dbf5}.alert-secondary hr{border-top-color:#d7c7ef}.alert-secondary .alert-link{color:#3c3051}.alert-success{color:#316542;background-color:#5fc27e;border-color:#d2eedb}.alert-success hr{border-top-color:#bfe7cc}.alert-success .alert-link{color:#20432c}.alert-info{color:#2f4185;background-color:#5b7dff;border-color:#d1dbff}.alert-info hr{border-top-color:#b8c7ff}.alert-info .alert-link{color:#222f5f}.alert-warning{color:#836400;background-color:#fcc100;border-color:#feeeb8}.alert-warning hr{border-top-color:#fee89f}.alert-warning .alert-link{color:#503d00}.alert-danger{color:#7f232c;background-color:#f44455;border-color:#fccbcf}.alert-danger hr{border-top-color:#fbb3b9}.alert-danger .alert-link{color:#57181e}.alert-light{color:#818182;background-color:#f8f9fa;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1c212b;background-color:#354052;border-color:#c6cacf}.alert-dark hr{border-top-color:#b8bdc3}.alert-dark .alert-link{color:#08090c}.alert-tertiary{color:#316542;background-color:#5fc27e;border-color:#d2eedb}.alert-tertiary hr{border-top-color:#bfe7cc}.alert-tertiary .alert-link{color:#20432c}@-webkit-keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{height:1rem;overflow:hidden;font-size:.65625rem;background-color:#e9ecef;border-radius:.2rem}.progress,.progress-bar{display:-webkit-flex;display:flex}.progress-bar{-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#47bac1;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-webkit-flex;display:flex;-webkit-align-items:flex-start;align-items:flex-start}.media-body{-webkit-flex:1;flex:1}.list-group{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#495057;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.2rem;border-top-right-radius:.2rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.2rem;border-bottom-left-radius:.2rem}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#47bac1;border-color:#47bac1}.list-group-horizontal{-webkit-flex-direction:row;flex-direction:row}.list-group-horizontal .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal .list-group-item:first-child{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0}.list-group-horizontal .list-group-item:last-child{margin-right:0;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-bottom-left-radius:0}@media (min-width:576px){.list-group-horizontal-sm{-webkit-flex-direction:row;flex-direction:row}.list-group-horizontal-sm .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-sm .list-group-item:first-child{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0}.list-group-horizontal-sm .list-group-item:last-child{margin-right:0;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-bottom-left-radius:0}}@media (min-width:768px){.list-group-horizontal-md{-webkit-flex-direction:row;flex-direction:row}.list-group-horizontal-md .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-md .list-group-item:first-child{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0}.list-group-horizontal-md .list-group-item:last-child{margin-right:0;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-bottom-left-radius:0}}@media (min-width:992px){.list-group-horizontal-lg{-webkit-flex-direction:row;flex-direction:row}.list-group-horizontal-lg .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-lg .list-group-item:first-child{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0}.list-group-horizontal-lg .list-group-item:last-child{margin-right:0;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-bottom-left-radius:0}}@media (min-width:1200px){.list-group-horizontal-xl{-webkit-flex-direction:row;flex-direction:row}.list-group-horizontal-xl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xl .list-group-item:first-child{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0}.list-group-horizontal-xl .list-group-item:last-child{margin-right:0;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-bottom-left-radius:0}}@media (min-width:1440px){.list-group-horizontal-xxl{-webkit-flex-direction:row;flex-direction:row}.list-group-horizontal-xxl .list-group-item{margin-right:-1px;margin-bottom:0}.list-group-horizontal-xxl .list-group-item:first-child{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0}.list-group-horizontal-xxl .list-group-item:last-child{margin-right:0;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-bottom-left-radius:0}}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush .list-group-item:last-child{margin-bottom:-1px}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{margin-bottom:0;border-bottom:0}.list-group-item-primary{color:#256164;background-color:#cbecee}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#256164;background-color:#b8e5e8}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#256164;border-color:#256164}.list-group-item-secondary{color:#544371;background-color:#e5dbf5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#544371;background-color:#d7c7ef}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#544371;border-color:#544371}.list-group-item-success{color:#316542;background-color:#d2eedb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#316542;background-color:#bfe7cc}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#316542;border-color:#316542}.list-group-item-info{color:#2f4185;background-color:#d1dbff}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#2f4185;background-color:#b8c7ff}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#2f4185;border-color:#2f4185}.list-group-item-warning{color:#836400;background-color:#feeeb8}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#836400;background-color:#fee89f}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#836400;border-color:#836400}.list-group-item-danger{color:#7f232c;background-color:#fccbcf}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#7f232c;background-color:#fbb3b9}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#7f232c;border-color:#7f232c}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1c212b;background-color:#c6cacf}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1c212b;background-color:#b8bdc3}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1c212b;border-color:#1c212b}.list-group-item-tertiary{color:#316542;background-color:#d2eedb}.list-group-item-tertiary.list-group-item-action:focus,.list-group-item-tertiary.list-group-item-action:hover{color:#316542;background-color:#bfe7cc}.list-group-item-tertiary.list-group-item-action.active{color:#fff;background-color:#316542;border-color:#316542}.close{float:right;font-size:1.3125rem;font-weight:600;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}a.close.disabled{pointer-events:none}.toast{max-width:350px;overflow:hidden;font-size:.875rem;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:hsla(0,0%,100%,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .25s ease-out;transition:transform .25s ease-out;transition:transform .25s ease-out,-webkit-transform .25s ease-out;-webkit-transform:translateY(-50px);transform:translateY(-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal-dialog-scrollable{display:-webkit-flex;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-webkit-flex-shrink:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{display:block;height:calc(100vh - 1rem);content:\"\"}.modal-dialog-centered.modal-dialog-scrollable{-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{position:relative;display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:0 solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-webkit-flex;display:flex;-webkit-align-items:flex-start;align-items:flex-start;-webkit-justify-content:space-between;justify-content:space-between;padding:1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:flex-end;justify-content:flex-end;padding:1rem;border-top:1px solid #dee2e6;border-bottom-right-radius:.3rem;border-bottom-left-radius:.3rem}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:600px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem)}.modal-sm{max-width:400px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:900px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.75rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow:before{position:absolute;content:\"\";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.2rem}.popover{top:0;left:0;z-index:1060;max-width:276px;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.75rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover,.popover .arrow{position:absolute;display:block}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow:after,.popover .arrow:before{position:absolute;display:block;content:\"\";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem + -1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem + -1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{top:0;border-width:0 .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{top:1px;border-width:0 .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:\"\";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem + -1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:.875rem;color:#000;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#495057}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner:after{display:block;clear:both;content:\"\"}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:no-repeat 50%/100% 100%}.carousel-control-prev-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E\")}.carousel-control-next-icon{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E\")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-webkit-flex;display:flex;-webkit-justify-content:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-webkit-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes spinner-border{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;border:.25em solid;border-right:.25em solid transparent;border-radius:50%;-webkit-animation:spinner-border .75s linear infinite;animation:spinner-border .75s linear infinite}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:text-bottom;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:spinner-grow .75s linear infinite;animation:spinner-grow .75s linear infinite}.spinner-grow-sm{width:1rem;height:1rem}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#47bac1!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#36999f!important}.bg-secondary{background-color:#a180da!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#8459ce!important}.bg-success{background-color:#5fc27e!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#42ac63!important}.bg-info{background-color:#5b7dff!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#2855ff!important}.bg-warning{background-color:#fcc100!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#c99a00!important}.bg-danger{background-color:#f44455!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#f11429!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#354052!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#212833!important}.bg-tertiary{background-color:#5fc27e!important}a.bg-tertiary:focus,a.bg-tertiary:hover,button.bg-tertiary:focus,button.bg-tertiary:hover{background-color:#42ac63!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#47bac1!important}.border-secondary{border-color:#a180da!important}.border-success{border-color:#5fc27e!important}.border-info{border-color:#5b7dff!important}.border-warning{border-color:#fcc100!important}.border-danger{border-color:#f44455!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#354052!important}.border-tertiary{border-color:#5fc27e!important}.border-white{border-color:#fff!important}.rounded{border-radius:.2rem!important}.rounded-top{border-top-left-radius:.2rem!important}.rounded-right,.rounded-top{border-top-right-radius:.2rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.2rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.2rem!important}.rounded-left{border-top-left-radius:.2rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{display:block;clear:both;content:\"\"}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-webkit-flex!important;display:flex!important}.d-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-webkit-flex!important;display:flex!important}.d-sm-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-webkit-flex!important;display:flex!important}.d-md-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-webkit-flex!important;display:flex!important}.d-lg-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-webkit-flex!important;display:flex!important}.d-xl-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}}@media (min-width:1440px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:-webkit-flex!important;display:flex!important}.d-xxl-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-webkit-flex!important;display:flex!important}.d-print-inline-flex{display:-webkit-inline-flex!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive:before{display:block;content:\"\"}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9:before{padding-top:42.85714%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{-webkit-flex-direction:row!important;flex-direction:row!important}.flex-column{-webkit-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-webkit-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-webkit-flex-grow:0!important;flex-grow:0!important}.flex-grow-1{-webkit-flex-grow:1!important;flex-grow:1!important}.flex-shrink-0{-webkit-flex-shrink:0!important;flex-shrink:0!important}.flex-shrink-1{-webkit-flex-shrink:1!important;flex-shrink:1!important}.justify-content-start{-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-end{-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-center{-webkit-justify-content:center!important;justify-content:center!important}.justify-content-between{-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-around{-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-start{-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-end{-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-center{-webkit-align-items:center!important;align-items:center!important}.align-items-baseline{-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-stretch{-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-start{-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-end{-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-center{-webkit-align-content:center!important;align-content:center!important}.align-content-between{-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-around{-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-stretch{-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-auto{-webkit-align-self:auto!important;align-self:auto!important}.align-self-start{-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-end{-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-center{-webkit-align-self:center!important;align-self:center!important}.align-self-baseline{-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-stretch{-webkit-align-self:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-webkit-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-webkit-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-webkit-flex-grow:0!important;flex-grow:0!important}.flex-sm-grow-1{-webkit-flex-grow:1!important;flex-grow:1!important}.flex-sm-shrink-0{-webkit-flex-shrink:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-webkit-flex-shrink:1!important;flex-shrink:1!important}.justify-content-sm-start{-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-sm-end{-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-sm-center{-webkit-justify-content:center!important;justify-content:center!important}.justify-content-sm-between{-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-sm-around{-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-sm-start{-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-sm-end{-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-sm-center{-webkit-align-items:center!important;align-items:center!important}.align-items-sm-baseline{-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-sm-start{-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-sm-end{-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-sm-center{-webkit-align-content:center!important;align-content:center!important}.align-content-sm-between{-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-sm-around{-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-sm-stretch{-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-sm-auto{-webkit-align-self:auto!important;align-self:auto!important}.align-self-sm-start{-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-sm-end{-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-sm-center{-webkit-align-self:center!important;align-self:center!important}.align-self-sm-baseline{-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-webkit-align-self:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-webkit-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-webkit-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-webkit-flex-grow:0!important;flex-grow:0!important}.flex-md-grow-1{-webkit-flex-grow:1!important;flex-grow:1!important}.flex-md-shrink-0{-webkit-flex-shrink:0!important;flex-shrink:0!important}.flex-md-shrink-1{-webkit-flex-shrink:1!important;flex-shrink:1!important}.justify-content-md-start{-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-md-end{-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-md-center{-webkit-justify-content:center!important;justify-content:center!important}.justify-content-md-between{-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-md-around{-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-md-start{-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-md-end{-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-md-center{-webkit-align-items:center!important;align-items:center!important}.align-items-md-baseline{-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-md-stretch{-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-md-start{-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-md-end{-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-md-center{-webkit-align-content:center!important;align-content:center!important}.align-content-md-between{-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-md-around{-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-md-stretch{-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-md-auto{-webkit-align-self:auto!important;align-self:auto!important}.align-self-md-start{-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-md-end{-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-md-center{-webkit-align-self:center!important;align-self:center!important}.align-self-md-baseline{-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-md-stretch{-webkit-align-self:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-webkit-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-webkit-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-webkit-flex-grow:0!important;flex-grow:0!important}.flex-lg-grow-1{-webkit-flex-grow:1!important;flex-grow:1!important}.flex-lg-shrink-0{-webkit-flex-shrink:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-webkit-flex-shrink:1!important;flex-shrink:1!important}.justify-content-lg-start{-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-lg-end{-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-lg-center{-webkit-justify-content:center!important;justify-content:center!important}.justify-content-lg-between{-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-lg-around{-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-lg-start{-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-lg-end{-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-lg-center{-webkit-align-items:center!important;align-items:center!important}.align-items-lg-baseline{-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-lg-start{-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-lg-end{-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-lg-center{-webkit-align-content:center!important;align-content:center!important}.align-content-lg-between{-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-lg-around{-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-lg-stretch{-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-lg-auto{-webkit-align-self:auto!important;align-self:auto!important}.align-self-lg-start{-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-lg-end{-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-lg-center{-webkit-align-self:center!important;align-self:center!important}.align-self-lg-baseline{-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-webkit-align-self:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-webkit-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-webkit-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-webkit-flex-grow:0!important;flex-grow:0!important}.flex-xl-grow-1{-webkit-flex-grow:1!important;flex-grow:1!important}.flex-xl-shrink-0{-webkit-flex-shrink:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-webkit-flex-shrink:1!important;flex-shrink:1!important}.justify-content-xl-start{-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-xl-end{-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-xl-center{-webkit-justify-content:center!important;justify-content:center!important}.justify-content-xl-between{-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-xl-around{-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-xl-start{-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-xl-end{-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-xl-center{-webkit-align-items:center!important;align-items:center!important}.align-items-xl-baseline{-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-xl-start{-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-xl-end{-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-xl-center{-webkit-align-content:center!important;align-content:center!important}.align-content-xl-between{-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-xl-around{-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-xl-stretch{-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-xl-auto{-webkit-align-self:auto!important;align-self:auto!important}.align-self-xl-start{-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-xl-end{-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-xl-center{-webkit-align-self:center!important;align-self:center!important}.align-self-xl-baseline{-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-webkit-align-self:stretch!important;align-self:stretch!important}}@media (min-width:1440px){.flex-xxl-row{-webkit-flex-direction:row!important;flex-direction:row!important}.flex-xxl-column{-webkit-flex-direction:column!important;flex-direction:column!important}.flex-xxl-row-reverse{-webkit-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xxl-column-reverse{-webkit-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xxl-wrap{-webkit-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xxl-nowrap{-webkit-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{-webkit-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xxl-fill{-webkit-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xxl-grow-0{-webkit-flex-grow:0!important;flex-grow:0!important}.flex-xxl-grow-1{-webkit-flex-grow:1!important;flex-grow:1!important}.flex-xxl-shrink-0{-webkit-flex-shrink:0!important;flex-shrink:0!important}.flex-xxl-shrink-1{-webkit-flex-shrink:1!important;flex-shrink:1!important}.justify-content-xxl-start{-webkit-justify-content:flex-start!important;justify-content:flex-start!important}.justify-content-xxl-end{-webkit-justify-content:flex-end!important;justify-content:flex-end!important}.justify-content-xxl-center{-webkit-justify-content:center!important;justify-content:center!important}.justify-content-xxl-between{-webkit-justify-content:space-between!important;justify-content:space-between!important}.justify-content-xxl-around{-webkit-justify-content:space-around!important;justify-content:space-around!important}.align-items-xxl-start{-webkit-align-items:flex-start!important;align-items:flex-start!important}.align-items-xxl-end{-webkit-align-items:flex-end!important;align-items:flex-end!important}.align-items-xxl-center{-webkit-align-items:center!important;align-items:center!important}.align-items-xxl-baseline{-webkit-align-items:baseline!important;align-items:baseline!important}.align-items-xxl-stretch{-webkit-align-items:stretch!important;align-items:stretch!important}.align-content-xxl-start{-webkit-align-content:flex-start!important;align-content:flex-start!important}.align-content-xxl-end{-webkit-align-content:flex-end!important;align-content:flex-end!important}.align-content-xxl-center{-webkit-align-content:center!important;align-content:center!important}.align-content-xxl-between{-webkit-align-content:space-between!important;align-content:space-between!important}.align-content-xxl-around{-webkit-align-content:space-around!important;align-content:space-around!important}.align-content-xxl-stretch{-webkit-align-content:stretch!important;align-content:stretch!important}.align-self-xxl-auto{-webkit-align-self:auto!important;align-self:auto!important}.align-self-xxl-start{-webkit-align-self:flex-start!important;align-self:flex-start!important}.align-self-xxl-end{-webkit-align-self:flex-end!important;align-self:flex-end!important}.align-self-xxl-center{-webkit-align-self:center!important;align-self:center!important}.align-self-xxl-baseline{-webkit-align-self:baseline!important;align-self:baseline!important}.align-self-xxl-stretch{-webkit-align-self:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}@media (min-width:1440px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{position:fixed;right:0;left:0;z-index:1030}.fixed-bottom{bottom:0}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.bootstrap-datetimepicker-widget .btn[data-action=clear]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=today]:after,.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=clear]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=showHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=today]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .picker-switch:after,.bootstrap-datetimepicker-widget table th.next:after,.bootstrap-datetimepicker-widget table th.prev:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=clear]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=decrementHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=decrementMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=incrementHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=incrementMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=showHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=showMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=today]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=togglePeriod]:after,.sr-only{white-space:nowrap}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal}.shadow-sm{box-shadow:0 .05rem .2rem rgba(0,0,0,.05)!important}.shadow{box-shadow:0 .1rem .2rem rgba(0,0,0,.05)!important}.shadow-lg{box-shadow:0 .2rem .2rem rgba(0,0,0,.05)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.stretched-link:after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:\"\";background-color:transparent}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.m-6{margin:4.5rem!important}.mt-6,.my-6{margin-top:4.5rem!important}.mr-6,.mx-6{margin-right:4.5rem!important}.mb-6,.my-6{margin-bottom:4.5rem!important}.ml-6,.mx-6{margin-left:4.5rem!important}.m-7{margin:6rem!important}.mt-7,.my-7{margin-top:6rem!important}.mr-7,.mx-7{margin-right:6rem!important}.mb-7,.my-7{margin-bottom:6rem!important}.ml-7,.mx-7{margin-left:6rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.p-6{padding:4.5rem!important}.pt-6,.py-6{padding-top:4.5rem!important}.pr-6,.px-6{padding-right:4.5rem!important}.pb-6,.py-6{padding-bottom:4.5rem!important}.pl-6,.px-6{padding-left:4.5rem!important}.p-7{padding:6rem!important}.pt-7,.py-7{padding-top:6rem!important}.pr-7,.px-7{padding-right:6rem!important}.pb-7,.py-7{padding-bottom:6rem!important}.pl-7,.px-7{padding-left:6rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-n6{margin:-4.5rem!important}.mt-n6,.my-n6{margin-top:-4.5rem!important}.mr-n6,.mx-n6{margin-right:-4.5rem!important}.mb-n6,.my-n6{margin-bottom:-4.5rem!important}.ml-n6,.mx-n6{margin-left:-4.5rem!important}.m-n7{margin:-6rem!important}.mt-n7,.my-n7{margin-top:-6rem!important}.mr-n7,.mx-n7{margin-right:-6rem!important}.mb-n7,.my-n7{margin-bottom:-6rem!important}.ml-n7,.mx-n7{margin-left:-6rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.m-sm-6{margin:4.5rem!important}.mt-sm-6,.my-sm-6{margin-top:4.5rem!important}.mr-sm-6,.mx-sm-6{margin-right:4.5rem!important}.mb-sm-6,.my-sm-6{margin-bottom:4.5rem!important}.ml-sm-6,.mx-sm-6{margin-left:4.5rem!important}.m-sm-7{margin:6rem!important}.mt-sm-7,.my-sm-7{margin-top:6rem!important}.mr-sm-7,.mx-sm-7{margin-right:6rem!important}.mb-sm-7,.my-sm-7{margin-bottom:6rem!important}.ml-sm-7,.mx-sm-7{margin-left:6rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.p-sm-6{padding:4.5rem!important}.pt-sm-6,.py-sm-6{padding-top:4.5rem!important}.pr-sm-6,.px-sm-6{padding-right:4.5rem!important}.pb-sm-6,.py-sm-6{padding-bottom:4.5rem!important}.pl-sm-6,.px-sm-6{padding-left:4.5rem!important}.p-sm-7{padding:6rem!important}.pt-sm-7,.py-sm-7{padding-top:6rem!important}.pr-sm-7,.px-sm-7{padding-right:6rem!important}.pb-sm-7,.py-sm-7{padding-bottom:6rem!important}.pl-sm-7,.px-sm-7{padding-left:6rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-n6{margin:-4.5rem!important}.mt-sm-n6,.my-sm-n6{margin-top:-4.5rem!important}.mr-sm-n6,.mx-sm-n6{margin-right:-4.5rem!important}.mb-sm-n6,.my-sm-n6{margin-bottom:-4.5rem!important}.ml-sm-n6,.mx-sm-n6{margin-left:-4.5rem!important}.m-sm-n7{margin:-6rem!important}.mt-sm-n7,.my-sm-n7{margin-top:-6rem!important}.mr-sm-n7,.mx-sm-n7{margin-right:-6rem!important}.mb-sm-n7,.my-sm-n7{margin-bottom:-6rem!important}.ml-sm-n7,.mx-sm-n7{margin-left:-6rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.m-md-6{margin:4.5rem!important}.mt-md-6,.my-md-6{margin-top:4.5rem!important}.mr-md-6,.mx-md-6{margin-right:4.5rem!important}.mb-md-6,.my-md-6{margin-bottom:4.5rem!important}.ml-md-6,.mx-md-6{margin-left:4.5rem!important}.m-md-7{margin:6rem!important}.mt-md-7,.my-md-7{margin-top:6rem!important}.mr-md-7,.mx-md-7{margin-right:6rem!important}.mb-md-7,.my-md-7{margin-bottom:6rem!important}.ml-md-7,.mx-md-7{margin-left:6rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.p-md-6{padding:4.5rem!important}.pt-md-6,.py-md-6{padding-top:4.5rem!important}.pr-md-6,.px-md-6{padding-right:4.5rem!important}.pb-md-6,.py-md-6{padding-bottom:4.5rem!important}.pl-md-6,.px-md-6{padding-left:4.5rem!important}.p-md-7{padding:6rem!important}.pt-md-7,.py-md-7{padding-top:6rem!important}.pr-md-7,.px-md-7{padding-right:6rem!important}.pb-md-7,.py-md-7{padding-bottom:6rem!important}.pl-md-7,.px-md-7{padding-left:6rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-n6{margin:-4.5rem!important}.mt-md-n6,.my-md-n6{margin-top:-4.5rem!important}.mr-md-n6,.mx-md-n6{margin-right:-4.5rem!important}.mb-md-n6,.my-md-n6{margin-bottom:-4.5rem!important}.ml-md-n6,.mx-md-n6{margin-left:-4.5rem!important}.m-md-n7{margin:-6rem!important}.mt-md-n7,.my-md-n7{margin-top:-6rem!important}.mr-md-n7,.mx-md-n7{margin-right:-6rem!important}.mb-md-n7,.my-md-n7{margin-bottom:-6rem!important}.ml-md-n7,.mx-md-n7{margin-left:-6rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.m-lg-6{margin:4.5rem!important}.mt-lg-6,.my-lg-6{margin-top:4.5rem!important}.mr-lg-6,.mx-lg-6{margin-right:4.5rem!important}.mb-lg-6,.my-lg-6{margin-bottom:4.5rem!important}.ml-lg-6,.mx-lg-6{margin-left:4.5rem!important}.m-lg-7{margin:6rem!important}.mt-lg-7,.my-lg-7{margin-top:6rem!important}.mr-lg-7,.mx-lg-7{margin-right:6rem!important}.mb-lg-7,.my-lg-7{margin-bottom:6rem!important}.ml-lg-7,.mx-lg-7{margin-left:6rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.p-lg-6{padding:4.5rem!important}.pt-lg-6,.py-lg-6{padding-top:4.5rem!important}.pr-lg-6,.px-lg-6{padding-right:4.5rem!important}.pb-lg-6,.py-lg-6{padding-bottom:4.5rem!important}.pl-lg-6,.px-lg-6{padding-left:4.5rem!important}.p-lg-7{padding:6rem!important}.pt-lg-7,.py-lg-7{padding-top:6rem!important}.pr-lg-7,.px-lg-7{padding-right:6rem!important}.pb-lg-7,.py-lg-7{padding-bottom:6rem!important}.pl-lg-7,.px-lg-7{padding-left:6rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-n6{margin:-4.5rem!important}.mt-lg-n6,.my-lg-n6{margin-top:-4.5rem!important}.mr-lg-n6,.mx-lg-n6{margin-right:-4.5rem!important}.mb-lg-n6,.my-lg-n6{margin-bottom:-4.5rem!important}.ml-lg-n6,.mx-lg-n6{margin-left:-4.5rem!important}.m-lg-n7{margin:-6rem!important}.mt-lg-n7,.my-lg-n7{margin-top:-6rem!important}.mr-lg-n7,.mx-lg-n7{margin-right:-6rem!important}.mb-lg-n7,.my-lg-n7{margin-bottom:-6rem!important}.ml-lg-n7,.mx-lg-n7{margin-left:-6rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.m-xl-6{margin:4.5rem!important}.mt-xl-6,.my-xl-6{margin-top:4.5rem!important}.mr-xl-6,.mx-xl-6{margin-right:4.5rem!important}.mb-xl-6,.my-xl-6{margin-bottom:4.5rem!important}.ml-xl-6,.mx-xl-6{margin-left:4.5rem!important}.m-xl-7{margin:6rem!important}.mt-xl-7,.my-xl-7{margin-top:6rem!important}.mr-xl-7,.mx-xl-7{margin-right:6rem!important}.mb-xl-7,.my-xl-7{margin-bottom:6rem!important}.ml-xl-7,.mx-xl-7{margin-left:6rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.p-xl-6{padding:4.5rem!important}.pt-xl-6,.py-xl-6{padding-top:4.5rem!important}.pr-xl-6,.px-xl-6{padding-right:4.5rem!important}.pb-xl-6,.py-xl-6{padding-bottom:4.5rem!important}.pl-xl-6,.px-xl-6{padding-left:4.5rem!important}.p-xl-7{padding:6rem!important}.pt-xl-7,.py-xl-7{padding-top:6rem!important}.pr-xl-7,.px-xl-7{padding-right:6rem!important}.pb-xl-7,.py-xl-7{padding-bottom:6rem!important}.pl-xl-7,.px-xl-7{padding-left:6rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-n6{margin:-4.5rem!important}.mt-xl-n6,.my-xl-n6{margin-top:-4.5rem!important}.mr-xl-n6,.mx-xl-n6{margin-right:-4.5rem!important}.mb-xl-n6,.my-xl-n6{margin-bottom:-4.5rem!important}.ml-xl-n6,.mx-xl-n6{margin-left:-4.5rem!important}.m-xl-n7{margin:-6rem!important}.mt-xl-n7,.my-xl-n7{margin-top:-6rem!important}.mr-xl-n7,.mx-xl-n7{margin-right:-6rem!important}.mb-xl-n7,.my-xl-n7{margin-bottom:-6rem!important}.ml-xl-n7,.mx-xl-n7{margin-left:-6rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width:1440px){.m-xxl-0{margin:0!important}.mt-xxl-0,.my-xxl-0{margin-top:0!important}.mr-xxl-0,.mx-xxl-0{margin-right:0!important}.mb-xxl-0,.my-xxl-0{margin-bottom:0!important}.ml-xxl-0,.mx-xxl-0{margin-left:0!important}.m-xxl-1{margin:.25rem!important}.mt-xxl-1,.my-xxl-1{margin-top:.25rem!important}.mr-xxl-1,.mx-xxl-1{margin-right:.25rem!important}.mb-xxl-1,.my-xxl-1{margin-bottom:.25rem!important}.ml-xxl-1,.mx-xxl-1{margin-left:.25rem!important}.m-xxl-2{margin:.5rem!important}.mt-xxl-2,.my-xxl-2{margin-top:.5rem!important}.mr-xxl-2,.mx-xxl-2{margin-right:.5rem!important}.mb-xxl-2,.my-xxl-2{margin-bottom:.5rem!important}.ml-xxl-2,.mx-xxl-2{margin-left:.5rem!important}.m-xxl-3{margin:1rem!important}.mt-xxl-3,.my-xxl-3{margin-top:1rem!important}.mr-xxl-3,.mx-xxl-3{margin-right:1rem!important}.mb-xxl-3,.my-xxl-3{margin-bottom:1rem!important}.ml-xxl-3,.mx-xxl-3{margin-left:1rem!important}.m-xxl-4{margin:1.5rem!important}.mt-xxl-4,.my-xxl-4{margin-top:1.5rem!important}.mr-xxl-4,.mx-xxl-4{margin-right:1.5rem!important}.mb-xxl-4,.my-xxl-4{margin-bottom:1.5rem!important}.ml-xxl-4,.mx-xxl-4{margin-left:1.5rem!important}.m-xxl-5{margin:3rem!important}.mt-xxl-5,.my-xxl-5{margin-top:3rem!important}.mr-xxl-5,.mx-xxl-5{margin-right:3rem!important}.mb-xxl-5,.my-xxl-5{margin-bottom:3rem!important}.ml-xxl-5,.mx-xxl-5{margin-left:3rem!important}.m-xxl-6{margin:4.5rem!important}.mt-xxl-6,.my-xxl-6{margin-top:4.5rem!important}.mr-xxl-6,.mx-xxl-6{margin-right:4.5rem!important}.mb-xxl-6,.my-xxl-6{margin-bottom:4.5rem!important}.ml-xxl-6,.mx-xxl-6{margin-left:4.5rem!important}.m-xxl-7{margin:6rem!important}.mt-xxl-7,.my-xxl-7{margin-top:6rem!important}.mr-xxl-7,.mx-xxl-7{margin-right:6rem!important}.mb-xxl-7,.my-xxl-7{margin-bottom:6rem!important}.ml-xxl-7,.mx-xxl-7{margin-left:6rem!important}.p-xxl-0{padding:0!important}.pt-xxl-0,.py-xxl-0{padding-top:0!important}.pr-xxl-0,.px-xxl-0{padding-right:0!important}.pb-xxl-0,.py-xxl-0{padding-bottom:0!important}.pl-xxl-0,.px-xxl-0{padding-left:0!important}.p-xxl-1{padding:.25rem!important}.pt-xxl-1,.py-xxl-1{padding-top:.25rem!important}.pr-xxl-1,.px-xxl-1{padding-right:.25rem!important}.pb-xxl-1,.py-xxl-1{padding-bottom:.25rem!important}.pl-xxl-1,.px-xxl-1{padding-left:.25rem!important}.p-xxl-2{padding:.5rem!important}.pt-xxl-2,.py-xxl-2{padding-top:.5rem!important}.pr-xxl-2,.px-xxl-2{padding-right:.5rem!important}.pb-xxl-2,.py-xxl-2{padding-bottom:.5rem!important}.pl-xxl-2,.px-xxl-2{padding-left:.5rem!important}.p-xxl-3{padding:1rem!important}.pt-xxl-3,.py-xxl-3{padding-top:1rem!important}.pr-xxl-3,.px-xxl-3{padding-right:1rem!important}.pb-xxl-3,.py-xxl-3{padding-bottom:1rem!important}.pl-xxl-3,.px-xxl-3{padding-left:1rem!important}.p-xxl-4{padding:1.5rem!important}.pt-xxl-4,.py-xxl-4{padding-top:1.5rem!important}.pr-xxl-4,.px-xxl-4{padding-right:1.5rem!important}.pb-xxl-4,.py-xxl-4{padding-bottom:1.5rem!important}.pl-xxl-4,.px-xxl-4{padding-left:1.5rem!important}.p-xxl-5{padding:3rem!important}.pt-xxl-5,.py-xxl-5{padding-top:3rem!important}.pr-xxl-5,.px-xxl-5{padding-right:3rem!important}.pb-xxl-5,.py-xxl-5{padding-bottom:3rem!important}.pl-xxl-5,.px-xxl-5{padding-left:3rem!important}.p-xxl-6{padding:4.5rem!important}.pt-xxl-6,.py-xxl-6{padding-top:4.5rem!important}.pr-xxl-6,.px-xxl-6{padding-right:4.5rem!important}.pb-xxl-6,.py-xxl-6{padding-bottom:4.5rem!important}.pl-xxl-6,.px-xxl-6{padding-left:4.5rem!important}.p-xxl-7{padding:6rem!important}.pt-xxl-7,.py-xxl-7{padding-top:6rem!important}.pr-xxl-7,.px-xxl-7{padding-right:6rem!important}.pb-xxl-7,.py-xxl-7{padding-bottom:6rem!important}.pl-xxl-7,.px-xxl-7{padding-left:6rem!important}.m-xxl-n1{margin:-.25rem!important}.mt-xxl-n1,.my-xxl-n1{margin-top:-.25rem!important}.mr-xxl-n1,.mx-xxl-n1{margin-right:-.25rem!important}.mb-xxl-n1,.my-xxl-n1{margin-bottom:-.25rem!important}.ml-xxl-n1,.mx-xxl-n1{margin-left:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.mt-xxl-n2,.my-xxl-n2{margin-top:-.5rem!important}.mr-xxl-n2,.mx-xxl-n2{margin-right:-.5rem!important}.mb-xxl-n2,.my-xxl-n2{margin-bottom:-.5rem!important}.ml-xxl-n2,.mx-xxl-n2{margin-left:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.mt-xxl-n3,.my-xxl-n3{margin-top:-1rem!important}.mr-xxl-n3,.mx-xxl-n3{margin-right:-1rem!important}.mb-xxl-n3,.my-xxl-n3{margin-bottom:-1rem!important}.ml-xxl-n3,.mx-xxl-n3{margin-left:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.mt-xxl-n4,.my-xxl-n4{margin-top:-1.5rem!important}.mr-xxl-n4,.mx-xxl-n4{margin-right:-1.5rem!important}.mb-xxl-n4,.my-xxl-n4{margin-bottom:-1.5rem!important}.ml-xxl-n4,.mx-xxl-n4{margin-left:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.mt-xxl-n5,.my-xxl-n5{margin-top:-3rem!important}.mr-xxl-n5,.mx-xxl-n5{margin-right:-3rem!important}.mb-xxl-n5,.my-xxl-n5{margin-bottom:-3rem!important}.ml-xxl-n5,.mx-xxl-n5{margin-left:-3rem!important}.m-xxl-n6{margin:-4.5rem!important}.mt-xxl-n6,.my-xxl-n6{margin-top:-4.5rem!important}.mr-xxl-n6,.mx-xxl-n6{margin-right:-4.5rem!important}.mb-xxl-n6,.my-xxl-n6{margin-bottom:-4.5rem!important}.ml-xxl-n6,.mx-xxl-n6{margin-left:-4.5rem!important}.m-xxl-n7{margin:-6rem!important}.mt-xxl-n7,.my-xxl-n7{margin-top:-6rem!important}.mr-xxl-n7,.mx-xxl-n7{margin-right:-6rem!important}.mb-xxl-n7,.my-xxl-n7{margin-bottom:-6rem!important}.ml-xxl-n7,.mx-xxl-n7{margin-left:-6rem!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1440px){.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:600!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#47bac1!important}a.text-primary:focus,a.text-primary:hover{color:#2f878c!important}.text-secondary{color:#a180da!important}a.text-secondary:focus,a.text-secondary:hover{color:#7545c9!important}.text-success{color:#5fc27e!important}a.text-success:focus,a.text-success:hover{color:#3b9a58!important}.text-info{color:#5b7dff!important}a.text-info:focus,a.text-info:hover{color:#0f40ff!important}.text-warning{color:#fcc100!important}a.text-warning:focus,a.text-warning:hover{color:#b08600!important}.text-danger{color:#f44455!important}a.text-danger:focus,a.text-danger:hover{color:#de0d21!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#354052!important}a.text-dark:focus,a.text-dark:hover{color:#171c24!important}.text-tertiary{color:#5fc27e!important}a.text-tertiary:focus,a.text-tertiary:hover{color:#3b9a58!important}.text-body{color:#495057!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;overflow-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:\" (\" attr(title) \")\"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}}.accordion .card:not(:last-child){margin-bottom:0}.accordion .card-header{border-bottom:0}.accordion .card-body{border-top:1px solid #e5e9f2}.accordion .card-title a{color:#495057}.alert{padding:0;display:-webkit-flex;display:flex;color:#fff}.alert .close:focus,.alert .close:hover{color:#fff;opacity:1}.alert-outline,.alert-outline-coloured{color:#495057;background:#fff}.alert-outline-coloured hr,.alert-outline hr{border-top-color:#ced4da}.alert-outline-coloured .close:focus,.alert-outline-coloured .close:hover,.alert-outline .close:focus,.alert-outline .close:hover{color:#343a40}.alert-outline-coloured .alert-message,.alert-outline .alert-message{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border:1px solid #ced4da}.alert-outline-coloured .alert-message:not(:nth-child(2)),.alert-outline .alert-message:not(:nth-child(2)){border-top-left-radius:0;border-bottom-left-radius:0;border-left:0}.alert-outline-coloured .alert-icon,.alert-outline .alert-icon{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;color:#fff}.alert-outline-coloured.alert-primary .alert-icon,.alert-outline.alert-primary .alert-icon{background-color:#47bac1}.alert-outline-coloured.alert-secondary .alert-icon,.alert-outline.alert-secondary .alert-icon{background-color:#a180da}.alert-outline-coloured.alert-success .alert-icon,.alert-outline.alert-success .alert-icon{background-color:#5fc27e}.alert-outline-coloured.alert-info .alert-icon,.alert-outline.alert-info .alert-icon{background-color:#5b7dff}.alert-outline-coloured.alert-warning .alert-icon,.alert-outline.alert-warning .alert-icon{background-color:#fcc100}.alert-outline-coloured.alert-danger .alert-icon,.alert-outline.alert-danger .alert-icon{background-color:#f44455}.alert-outline-coloured.alert-light .alert-icon,.alert-outline.alert-light .alert-icon{background-color:#f8f9fa}.alert-outline-coloured.alert-dark .alert-icon,.alert-outline.alert-dark .alert-icon{background-color:#354052}.alert-outline-coloured.alert-tertiary .alert-icon,.alert-outline.alert-tertiary .alert-icon{background-color:#5fc27e}.alert-outline-coloured.alert-primary .alert-message{border-color:#47bac1}.alert-outline-coloured.alert-secondary .alert-message{border-color:#a180da}.alert-outline-coloured.alert-success .alert-message{border-color:#5fc27e}.alert-outline-coloured.alert-info .alert-message{border-color:#5b7dff}.alert-outline-coloured.alert-warning .alert-message{border-color:#fcc100}.alert-outline-coloured.alert-danger .alert-message{border-color:#f44455}.alert-outline-coloured.alert-light .alert-message{border-color:#f8f9fa}.alert-outline-coloured.alert-dark .alert-message{border-color:#354052}.alert-outline-coloured.alert-tertiary .alert-message{border-color:#5fc27e}.alert-icon{padding:.95rem;background:hsla(0,0%,100%,.1)}.alert-message{padding:.95rem;width:100%;box-sizing:border-box}.avatar{margin-top:-15px;margin-bottom:-15px;width:40px;height:40px}.badge{color:#fff}.btn-pill{border-radius:10rem}.btn-square{border-radius:0}.btn .feather,.fc-unthemed .fc-button .feather{width:14px;height:14px}.btn-danger,.btn-danger.disabled,.btn-danger.focus,.btn-danger.hover:not(:disabled):not(.disabled),.btn-danger:disabled,.btn-danger:focus,.btn-danger:hover:not(:disabled):not(.disabled),.btn-dark,.btn-dark.disabled,.btn-dark.focus,.btn-dark.hover:not(:disabled):not(.disabled),.btn-dark:disabled,.btn-dark:focus,.btn-dark:hover:not(:disabled):not(.disabled),.btn-info,.btn-info.disabled,.btn-info.focus,.btn-info.hover:not(:disabled):not(.disabled),.btn-info:disabled,.btn-info:focus,.btn-info:hover:not(:disabled):not(.disabled),.btn-light,.btn-light.disabled,.btn-light.focus,.btn-light.hover:not(:disabled):not(.disabled),.btn-light:disabled,.btn-light:focus,.btn-light:hover:not(:disabled):not(.disabled),.btn-outline-danger.hover:not(:disabled):not(.disabled),.btn-outline-danger:hover:not(:disabled):not(.disabled),.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-dark.hover:not(:disabled):not(.disabled),.btn-outline-dark:hover:not(:disabled):not(.disabled),.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-info.hover:not(:disabled):not(.disabled),.btn-outline-info:hover:not(:disabled):not(.disabled),.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-light.hover:not(:disabled):not(.disabled),.btn-outline-light:hover:not(:disabled):not(.disabled),.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-primary.hover:not(:disabled):not(.disabled),.btn-outline-primary:hover:not(:disabled):not(.disabled),.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-secondary.hover:not(:disabled):not(.disabled),.btn-outline-secondary:hover:not(:disabled):not(.disabled),.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-success.hover:not(:disabled):not(.disabled),.btn-outline-success:hover:not(:disabled):not(.disabled),.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-tertiary.hover:not(:disabled):not(.disabled),.btn-outline-tertiary:hover:not(:disabled):not(.disabled),.btn-outline-tertiary:not(:disabled):not(.disabled).active,.btn-outline-tertiary:not(:disabled):not(.disabled):active,.btn-outline-warning.hover:not(:disabled):not(.disabled),.btn-outline-warning:hover:not(:disabled):not(.disabled),.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-primary,.btn-primary.disabled,.btn-primary.focus,.btn-primary.hover:not(:disabled):not(.disabled),.btn-primary:disabled,.btn-primary:focus,.btn-primary:hover:not(:disabled):not(.disabled),.btn-secondary,.btn-secondary.disabled,.btn-secondary.focus,.btn-secondary.hover:not(:disabled):not(.disabled),.btn-secondary:disabled,.btn-secondary:focus,.btn-secondary:hover:not(:disabled):not(.disabled),.btn-success,.btn-success.disabled,.btn-success.focus,.btn-success.hover:not(:disabled):not(.disabled),.btn-success:disabled,.btn-success:focus,.btn-success:hover:not(:disabled):not(.disabled),.btn-tertiary,.btn-tertiary.disabled,.btn-tertiary.focus,.btn-tertiary.hover:not(:disabled):not(.disabled),.btn-tertiary:disabled,.btn-tertiary:focus,.btn-tertiary:hover:not(:disabled):not(.disabled),.btn-warning,.btn-warning.disabled,.btn-warning.focus,.btn-warning.hover:not(:disabled):not(.disabled),.btn-warning:disabled,.btn-warning:focus,.btn-warning:hover:not(:disabled):not(.disabled),.fc-unthemed .disabled.fc-button,.fc-unthemed .fc-button,.fc-unthemed .fc-button:disabled,.fc-unthemed .fc-button:focus,.fc-unthemed .fc-button:hover:not(:disabled):not(.disabled),.fc-unthemed .focus.fc-button,.fc-unthemed .hover.fc-button:not(:disabled):not(.disabled),.fc-unthemed .show>.dropdown-toggle.fc-button,.show>.btn-danger.dropdown-toggle,.show>.btn-dark.dropdown-toggle,.show>.btn-info.dropdown-toggle,.show>.btn-light.dropdown-toggle,.show>.btn-primary.dropdown-toggle,.show>.btn-secondary.dropdown-toggle,.show>.btn-success.dropdown-toggle,.show>.btn-tertiary.dropdown-toggle,.show>.btn-warning.dropdown-toggle{color:#fff}.btn-facebook{color:#fff;background-color:#3b5998;border-color:#3b5998}.btn-facebook:hover{color:#fff;background-color:#30497c;border-color:#2d4373}.btn-facebook.focus,.btn-facebook:focus{box-shadow:0 0 0 .2rem rgba(88,114,167,.5)}.btn-facebook.disabled,.btn-facebook:disabled{color:#fff;background-color:#3b5998;border-color:#3b5998}.btn-facebook:not(:disabled):not(.disabled).active,.btn-facebook:not(:disabled):not(.disabled):active,.show>.btn-facebook.dropdown-toggle{color:#fff;background-color:#2d4373;border-color:#293e6a}.btn-facebook:not(:disabled):not(.disabled).active:focus,.btn-facebook:not(:disabled):not(.disabled):active:focus,.show>.btn-facebook.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(88,114,167,.5)}.btn-facebook,.btn-facebook.disabled,.btn-facebook.focus,.btn-facebook.hover:not(:disabled):not(.disabled),.btn-facebook:disabled,.btn-facebook:focus,.btn-facebook:hover:not(:disabled):not(.disabled),.show>.btn-facebook.dropdown-toggle{color:#fff}.btn-twitter{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter:hover{color:#fff;background-color:#0d8ddc;border-color:#0c85d0}.btn-twitter.focus,.btn-twitter:focus{box-shadow:0 0 0 .2rem rgba(63,175,244,.5)}.btn-twitter.disabled,.btn-twitter:disabled{color:#fff;background-color:#1da1f2;border-color:#1da1f2}.btn-twitter:not(:disabled):not(.disabled).active,.btn-twitter:not(:disabled):not(.disabled):active,.show>.btn-twitter.dropdown-toggle{color:#fff;background-color:#0c85d0;border-color:#0b7ec4}.btn-twitter:not(:disabled):not(.disabled).active:focus,.btn-twitter:not(:disabled):not(.disabled):active:focus,.show>.btn-twitter.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(63,175,244,.5)}.btn-twitter,.btn-twitter.disabled,.btn-twitter.focus,.btn-twitter.hover:not(:disabled):not(.disabled),.btn-twitter:disabled,.btn-twitter:focus,.btn-twitter:hover:not(:disabled):not(.disabled),.show>.btn-twitter.dropdown-toggle{color:#fff}.btn-google{color:#fff;background-color:#dc4e41;border-color:#dc4e41}.btn-google:hover{color:#fff;background-color:#d03526;border-color:#c63224}.btn-google.focus,.btn-google:focus{box-shadow:0 0 0 .2rem rgba(225,105,94,.5)}.btn-google.disabled,.btn-google:disabled{color:#fff;background-color:#dc4e41;border-color:#dc4e41}.btn-google:not(:disabled):not(.disabled).active,.btn-google:not(:disabled):not(.disabled):active,.show>.btn-google.dropdown-toggle{color:#fff;background-color:#c63224;border-color:#bb2f22}.btn-google:not(:disabled):not(.disabled).active:focus,.btn-google:not(:disabled):not(.disabled):active:focus,.show>.btn-google.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,105,94,.5)}.btn-google,.btn-google.disabled,.btn-google.focus,.btn-google.hover:not(:disabled):not(.disabled),.btn-google:disabled,.btn-google:focus,.btn-google:hover:not(:disabled):not(.disabled),.show>.btn-google.dropdown-toggle{color:#fff}.btn-youtube{color:#fff;background-color:red;border-color:red}.btn-youtube:hover{color:#fff;background-color:#d90000;border-color:#c00}.btn-youtube.focus,.btn-youtube:focus{box-shadow:0 0 0 .2rem rgba(255,38,38,.5)}.btn-youtube.disabled,.btn-youtube:disabled{color:#fff;background-color:red;border-color:red}.btn-youtube:not(:disabled):not(.disabled).active,.btn-youtube:not(:disabled):not(.disabled):active,.show>.btn-youtube.dropdown-toggle{color:#fff;background-color:#c00;border-color:#bf0000}.btn-youtube:not(:disabled):not(.disabled).active:focus,.btn-youtube:not(:disabled):not(.disabled):active:focus,.show>.btn-youtube.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,38,38,.5)}.btn-youtube,.btn-youtube.disabled,.btn-youtube.focus,.btn-youtube.hover:not(:disabled):not(.disabled),.btn-youtube:disabled,.btn-youtube:focus,.btn-youtube:hover:not(:disabled):not(.disabled),.show>.btn-youtube.dropdown-toggle{color:#fff}.btn-vimeo{color:#fff;background-color:#1ab7ea;border-color:#1ab7ea}.btn-vimeo:hover{color:#fff;background-color:#139ecb;border-color:#1295bf}.btn-vimeo.focus,.btn-vimeo:focus{box-shadow:0 0 0 .2rem rgba(60,194,237,.5)}.btn-vimeo.disabled,.btn-vimeo:disabled{color:#fff;background-color:#1ab7ea;border-color:#1ab7ea}.btn-vimeo:not(:disabled):not(.disabled).active,.btn-vimeo:not(:disabled):not(.disabled):active,.show>.btn-vimeo.dropdown-toggle{color:#fff;background-color:#1295bf;border-color:#108cb4}.btn-vimeo:not(:disabled):not(.disabled).active:focus,.btn-vimeo:not(:disabled):not(.disabled):active:focus,.show>.btn-vimeo.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(60,194,237,.5)}.btn-vimeo,.btn-vimeo.disabled,.btn-vimeo.focus,.btn-vimeo.hover:not(:disabled):not(.disabled),.btn-vimeo:disabled,.btn-vimeo:focus,.btn-vimeo:hover:not(:disabled):not(.disabled),.show>.btn-vimeo.dropdown-toggle{color:#fff}.btn-dribbble{color:#fff;background-color:#ea4c89;border-color:#ea4c89}.btn-dribbble:hover{color:#fff;background-color:#e62a72;border-color:#e51e6b}.btn-dribbble.focus,.btn-dribbble:focus{box-shadow:0 0 0 .2rem rgba(237,103,155,.5)}.btn-dribbble.disabled,.btn-dribbble:disabled{color:#fff;background-color:#ea4c89;border-color:#ea4c89}.btn-dribbble:not(:disabled):not(.disabled).active,.btn-dribbble:not(:disabled):not(.disabled):active,.show>.btn-dribbble.dropdown-toggle{color:#fff;background-color:#e51e6b;border-color:#dc1a65}.btn-dribbble:not(:disabled):not(.disabled).active:focus,.btn-dribbble:not(:disabled):not(.disabled):active:focus,.show>.btn-dribbble.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(237,103,155,.5)}.btn-dribbble,.btn-dribbble.disabled,.btn-dribbble.focus,.btn-dribbble.hover:not(:disabled):not(.disabled),.btn-dribbble:disabled,.btn-dribbble:focus,.btn-dribbble:hover:not(:disabled):not(.disabled),.show>.btn-dribbble.dropdown-toggle{color:#fff}.btn-github{color:#fff;background-color:#181717;border-color:#181717}.btn-github:hover{color:#fff;background-color:#040404;border-color:#000}.btn-github.focus,.btn-github:focus{box-shadow:0 0 0 .2rem rgba(59,58,58,.5)}.btn-github.disabled,.btn-github:disabled{color:#fff;background-color:#181717;border-color:#181717}.btn-github:not(:disabled):not(.disabled).active,.btn-github:not(:disabled):not(.disabled):active,.show>.btn-github.dropdown-toggle{color:#fff;background-color:#000;border-color:#000}.btn-github:not(:disabled):not(.disabled).active:focus,.btn-github:not(:disabled):not(.disabled):active:focus,.show>.btn-github.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(59,58,58,.5)}.btn-github,.btn-github.disabled,.btn-github.focus,.btn-github.hover:not(:disabled):not(.disabled),.btn-github:disabled,.btn-github:focus,.btn-github:hover:not(:disabled):not(.disabled),.show>.btn-github.dropdown-toggle{color:#fff}.btn-instagram{color:#fff;background-color:#e4405f;border-color:#e4405f}.btn-instagram:hover{color:#fff;background-color:#de1f44;border-color:#d31e40}.btn-instagram.focus,.btn-instagram:focus{box-shadow:0 0 0 .2rem rgba(232,93,119,.5)}.btn-instagram.disabled,.btn-instagram:disabled{color:#fff;background-color:#e4405f;border-color:#e4405f}.btn-instagram:not(:disabled):not(.disabled).active,.btn-instagram:not(:disabled):not(.disabled):active,.show>.btn-instagram.dropdown-toggle{color:#fff;background-color:#d31e40;border-color:#c81c3d}.btn-instagram:not(:disabled):not(.disabled).active:focus,.btn-instagram:not(:disabled):not(.disabled):active:focus,.show>.btn-instagram.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(232,93,119,.5)}.btn-instagram,.btn-instagram.disabled,.btn-instagram.focus,.btn-instagram.hover:not(:disabled):not(.disabled),.btn-instagram:disabled,.btn-instagram:focus,.btn-instagram:hover:not(:disabled):not(.disabled),.show>.btn-instagram.dropdown-toggle{color:#fff}.btn-pinterest{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest:hover{color:#fff;background-color:#980617;border-color:#8c0615}.btn-pinterest.focus,.btn-pinterest:focus{box-shadow:0 0 0 .2rem rgba(199,45,62,.5)}.btn-pinterest.disabled,.btn-pinterest:disabled{color:#fff;background-color:#bd081c;border-color:#bd081c}.btn-pinterest:not(:disabled):not(.disabled).active,.btn-pinterest:not(:disabled):not(.disabled):active,.show>.btn-pinterest.dropdown-toggle{color:#fff;background-color:#8c0615;border-color:#800513}.btn-pinterest:not(:disabled):not(.disabled).active:focus,.btn-pinterest:not(:disabled):not(.disabled):active:focus,.show>.btn-pinterest.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(199,45,62,.5)}.btn-pinterest,.btn-pinterest.disabled,.btn-pinterest.focus,.btn-pinterest.hover:not(:disabled):not(.disabled),.btn-pinterest:disabled,.btn-pinterest:focus,.btn-pinterest:hover:not(:disabled):not(.disabled),.show>.btn-pinterest.dropdown-toggle{color:#fff}.btn-flickr{color:#fff;background-color:#0063dc;border-color:#0063dc}.btn-flickr:hover{color:#fff;background-color:#0052b6;border-color:#004ca9}.btn-flickr.focus,.btn-flickr:focus{box-shadow:0 0 0 .2rem rgba(38,122,225,.5)}.btn-flickr.disabled,.btn-flickr:disabled{color:#fff;background-color:#0063dc;border-color:#0063dc}.btn-flickr:not(:disabled):not(.disabled).active,.btn-flickr:not(:disabled):not(.disabled):active,.show>.btn-flickr.dropdown-toggle{color:#fff;background-color:#004ca9;border-color:#00469c}.btn-flickr:not(:disabled):not(.disabled).active:focus,.btn-flickr:not(:disabled):not(.disabled):active:focus,.show>.btn-flickr.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,122,225,.5)}.btn-flickr,.btn-flickr.disabled,.btn-flickr.focus,.btn-flickr.hover:not(:disabled):not(.disabled),.btn-flickr:disabled,.btn-flickr:focus,.btn-flickr:hover:not(:disabled):not(.disabled),.show>.btn-flickr.dropdown-toggle{color:#fff}.btn-bitbucket{color:#fff;background-color:#0052cc;border-color:#0052cc}.btn-bitbucket:hover{color:#fff;background-color:#0043a6;border-color:#003e99}.btn-bitbucket.focus,.btn-bitbucket:focus{box-shadow:0 0 0 .2rem rgba(38,108,212,.5)}.btn-bitbucket.disabled,.btn-bitbucket:disabled{color:#fff;background-color:#0052cc;border-color:#0052cc}.btn-bitbucket:not(:disabled):not(.disabled).active,.btn-bitbucket:not(:disabled):not(.disabled):active,.show>.btn-bitbucket.dropdown-toggle{color:#fff;background-color:#003e99;border-color:#00388c}.btn-bitbucket:not(:disabled):not(.disabled).active:focus,.btn-bitbucket:not(:disabled):not(.disabled):active:focus,.show>.btn-bitbucket.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,108,212,.5)}.btn-bitbucket,.btn-bitbucket.disabled,.btn-bitbucket.focus,.btn-bitbucket.hover:not(:disabled):not(.disabled),.btn-bitbucket:disabled,.btn-bitbucket:focus,.btn-bitbucket:hover:not(:disabled):not(.disabled),.show>.btn-bitbucket.dropdown-toggle{color:#fff}.btn-light,.btn-light.disabled,.btn-light.focus,.btn-light.hover:not(:disabled):not(.disabled),.btn-light:disabled,.btn-light:focus,.btn-light:hover:not(:disabled):not(.disabled),.btn-outline-light.hover:not(:disabled):not(.disabled),.btn-outline-light:hover:not(:disabled):not(.disabled),.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-white.hover:not(:disabled):not(.disabled),.btn-outline-white:hover:not(:disabled):not(.disabled),.btn-outline-white:not(:disabled):not(.disabled).active,.btn-outline-white:not(:disabled):not(.disabled):active,.btn-white,.btn-white.disabled,.btn-white.focus,.btn-white.hover:not(:disabled):not(.disabled),.btn-white:disabled,.btn-white:focus,.btn-white:hover:not(:disabled):not(.disabled),.show>.btn-light.dropdown-toggle,.show>.btn-white.dropdown-toggle{color:#343a40}.card{margin-bottom:2rem;box-shadow:none}.card-header{border-bottom-width:1px}.card-actions a{color:#495057;text-decoration:none}.card-actions svg{width:16px;height:16px}.card-actions .dropdown{line-height:1.4}.card-title{font-size:1rem}.card-subtitle,.card-title{font-weight:400}.card-table{margin-bottom:0}.card-table tr td:first-child,.card-table tr th:first-child{padding-left:1.25rem}.card-table tr td:last-child,.card-table tr th:last-child{padding-right:1.25rem}.card-img-top{height:100%}.chart{margin:auto;position:relative;width:100%;min-height:300px}.chart-xs{min-height:150px}.chart-sm{min-height:200px}.chart-lg{min-height:350px}.chart-xl{min-height:500px}.chart canvas{max-width:100%}.navbar-nav .dropdown-menu{box-shadow:0 .1rem .2rem rgba(0,0,0,.05)}.dropdown .dropdown-menu.show{-webkit-animation-name:dropdownAnimation;animation-name:dropdownAnimation;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards}@-webkit-keyframes dropdownAnimation{0%{opacity:0;margin-top:-8px}to{opacity:1;margin-top:0}}@keyframes dropdownAnimation{0%{opacity:0;margin-top:-8px}to{opacity:1;margin-top:0}}.dropdown-toggle:after{border:solid;border-width:0 2px 2px 0;display:inline-block;padding:2px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.dropdown-item{transition:background .1s ease-in-out,color .1s ease-in-out}.dropdown-menu-lg{min-width:20rem}.dropdown .list-group .list-group-item{border-width:0 0 1px;margin-bottom:0}.dropdown .list-group .list-group-item:first-child,.dropdown .list-group .list-group-item:last-child{border-radius:0}.dropdown .list-group .list-group-item:hover{background:#f8f9fa}.dropdown-menu-header{padding:.75rem;text-align:center;font-weight:600;border-bottom:1px solid #dee2e6}.dropdown-menu-footer{padding:.5rem;text-align:center;display:block;font-size:.75rem}.feather{width:18px;height:18px}.feather-sm{width:14px;height:14px}.feather-lg{width:36px;height:36px}footer.footer{background:#fff;border-top:1px solid #dee2e6;padding:1rem .75rem}footer.footer ul{margin-bottom:0}@media (max-width:991.98px){footer.footer{width:100vw}}.form-control-no-border{border:0;border-radius:0;box-shadow:none}.form-control-no-border:focus{box-shadow:none;outline:0}.hamburger,.hamburger:after,.hamburger:before{cursor:pointer;border-radius:1px;height:3px;width:24px;background:#495057;display:block;content:\"\";transition:background .1s ease-in-out,color .1s ease-in-out}.hamburger{position:relative}.hamburger:before{top:-7.5px;width:18px;position:absolute}.hamburger:after{bottom:-7.5px;width:14px;position:absolute}.sidebar-toggle:hover .hamburger,.sidebar-toggle:hover .hamburger:after,.sidebar-toggle:hover .hamburger:before{background:#47bac1}.hamburger-right,.hamburger-right:after,.hamburger-right:before{right:0}.landing-intro{background:#2b3443;color:#fff}.landing-intro-brand{color:#47bac1;width:42px;height:42px}.landing-intro-img{position:relative;height:100%;overflow:hidden}.landing-intro-img-analytics,.landing-intro-img-default{position:absolute;bottom:0}.landing-intro-img-default{width:75%;right:0;z-index:2;box-shadow:-10px 0 15px 0 rgba(0,0,0,.25)}.landing-intro-img-analytics{width:75%;left:0;z-index:1}.landing-features-icon{width:42px;height:42px;color:#3cacb2}.modal-primary .modal-content{background:#47bac1;color:#212529}.modal-primary .h1,.modal-primary .h2,.modal-primary .h3,.modal-primary .h4,.modal-primary .h5,.modal-primary .h6,.modal-primary h1,.modal-primary h2,.modal-primary h3,.modal-primary h4,.modal-primary h5,.modal-primary h6{color:#fff}.modal-secondary .modal-content{background:#a180da;color:#fff}.modal-secondary .h1,.modal-secondary .h2,.modal-secondary .h3,.modal-secondary .h4,.modal-secondary .h5,.modal-secondary .h6,.modal-secondary h1,.modal-secondary h2,.modal-secondary h3,.modal-secondary h4,.modal-secondary h5,.modal-secondary h6{color:#fff}.modal-success .modal-content{background:#5fc27e;color:#212529}.modal-success .h1,.modal-success .h2,.modal-success .h3,.modal-success .h4,.modal-success .h5,.modal-success .h6,.modal-success h1,.modal-success h2,.modal-success h3,.modal-success h4,.modal-success h5,.modal-success h6{color:#fff}.modal-info .modal-content{background:#5b7dff;color:#fff}.modal-info .h1,.modal-info .h2,.modal-info .h3,.modal-info .h4,.modal-info .h5,.modal-info .h6,.modal-info h1,.modal-info h2,.modal-info h3,.modal-info h4,.modal-info h5,.modal-info h6{color:#fff}.modal-warning .modal-content{background:#fcc100;color:#212529}.modal-warning .h1,.modal-warning .h2,.modal-warning .h3,.modal-warning .h4,.modal-warning .h5,.modal-warning .h6,.modal-warning h1,.modal-warning h2,.modal-warning h3,.modal-warning h4,.modal-warning h5,.modal-warning h6{color:#fff}.modal-danger .modal-content{background:#f44455;color:#fff}.modal-danger .h1,.modal-danger .h2,.modal-danger .h3,.modal-danger .h4,.modal-danger .h5,.modal-danger .h6,.modal-danger h1,.modal-danger h2,.modal-danger h3,.modal-danger h4,.modal-danger h5,.modal-danger h6{color:#fff}.modal-light .modal-content{background:#f8f9fa;color:#212529}.modal-light .h1,.modal-light .h2,.modal-light .h3,.modal-light .h4,.modal-light .h5,.modal-light .h6,.modal-light h1,.modal-light h2,.modal-light h3,.modal-light h4,.modal-light h5,.modal-light h6{color:#fff}.modal-dark .modal-content{background:#354052;color:#fff}.modal-dark .h1,.modal-dark .h2,.modal-dark .h3,.modal-dark .h4,.modal-dark .h5,.modal-dark .h6,.modal-dark h1,.modal-dark h2,.modal-dark h3,.modal-dark h4,.modal-dark h5,.modal-dark h6{color:#fff}.modal-tertiary .modal-content{background:#5fc27e;color:#212529}.modal-tertiary .h1,.modal-tertiary .h2,.modal-tertiary .h3,.modal-tertiary .h4,.modal-tertiary .h5,.modal-tertiary .h6,.modal-tertiary h1,.modal-tertiary h2,.modal-tertiary h3,.modal-tertiary h4,.modal-tertiary h5,.modal-tertiary h6{color:#fff}.modal-colored .modal-footer,.modal-colored .modal-header{border-color:hsla(0,0%,100%,.33)}.navbar{border-bottom:1px solid #e5e9f2}@media (max-width:991.98px){.navbar{width:100vw}}.navbar-brand{font-weight:600}.nav-flag,.nav-icon{padding:.1rem .8rem;display:block;font-size:1.5rem;color:#6c757d;transition:background .1s ease-in-out,color .1s ease-in-out;line-height:1.4}.nav-flag:after,.nav-icon:after{display:none!important}.nav-flag.active,.nav-flag:hover,.nav-icon.active,.nav-icon:hover{color:#47bac1}.nav-flag .feather,.nav-flag svg,.nav-icon .feather,.nav-icon svg{width:20px;height:20px}.nav-item .indicator{background:#47bac1;box-shadow:0 .1rem .2rem rgba(0,0,0,.05);border-radius:50%;display:block;height:18px;width:18px;padding:1px;position:absolute;top:0;right:-8px;text-align:center;transition:top .1s ease-out;font-size:.675rem;color:#fff}.nav-item:hover .indicator{top:-4px}.nav-item a:focus{outline:0}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){.navbar .avatar{max-height:47px}}@media (max-width:575.98px){.navbar{padding:.75rem}.nav-icon{padding:.1rem .75rem}.dropdown,.dropleft,.dropright,.dropup{position:inherit}.navbar-expand .navbar-nav .dropdown-menu-lg{min-width:100%}.nav-item .nav-link:after{display:none}}.nav-flag img{border-radius:50%;width:20px;height:20px;object-fit:cover}#root,body,html{height:100%}body{overflow-y:scroll;opacity:1!important}@media (-ms-high-contrast:none),screen and (-ms-high-contrast:active){html{overflow-x:hidden}}.progress-sm{height:.5rem}.progress-lg{height:1.5rem}.sidebar{min-width:250px;max-width:250px;border-right:0}.sidebar,.sidebar-content{transition:margin-left .4s ease-in-out,left .4s ease-in-out;background:#354052}.sidebar-sticky .sidebar-content{border-right:0}.sidebar-sticky .sidebar-nav{padding-bottom:0}.sidebar-sticky .sidebar-content{height:100vh;position:fixed;top:0;left:0;width:250px}.sidebar-nav{padding-bottom:3.5rem;padding-left:15px;list-style:none}.sidebar-link,a.sidebar-link{display:block;padding:.75rem 1.5rem;color:#ced4da;font-weight:400;background:#354052;transition:background .1s ease-in-out;position:relative;text-decoration:none;cursor:pointer}.sidebar-link svg,a.sidebar-link svg{margin-right:.75rem;color:#fff}.sidebar-link:focus{outline:0}.sidebar-link:hover{color:#ced4da;background:#2d3646}.sidebar-link:hover svg{color:#fff}.sidebar-item.active .sidebar-link:hover,.sidebar-item.active>.sidebar-link{color:#ced4da;background:#2d3646}.sidebar-item.active .sidebar-link:hover svg,.sidebar-item.active>.sidebar-link svg{color:#fff}.sidebar-dropdown .sidebar-link{padding:.625rem 1.5rem .625rem 2.75rem;color:#adb5bd;background:#313b4c;font-weight:400}.sidebar-dropdown .sidebar-item.active .sidebar-link,.sidebar-dropdown .sidebar-item .sidebar-link:hover{color:#e9ecef;background:#2d3646;font-weight:400}.sidebar [data-toggle=collapse]{position:relative}.sidebar [data-toggle=collapse]:before{content:\" \";border:solid;border-width:0 .1rem .1rem 0;display:inline-block;padding:2px;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;top:1.2rem;right:1.25rem;transition:all .2s ease-out}.sidebar [aria-expanded=true]:before,.sidebar [data-toggle=collapse]:not(.collapsed):before{-webkit-transform:rotate(-135deg);transform:rotate(-135deg);top:1.4rem}.sidebar-brand{font-weight:400;font-size:1.15rem;padding:1.15rem 1.5rem;color:#f8f9fa;display:block}.sidebar-brand:hover{text-decoration:none;color:#f8f9fa}.sidebar-brand:focus{outline:0}.sidebar-brand .feather,.sidebar-brand svg{color:#47bac1;height:24px;width:24px;margin-left:-.15rem;margin-right:.375rem}.sidebar-toggle{cursor:pointer;width:26px;height:26px}.sidebar.toggled{margin-left:-250px}.sidebar.toggled .sidebar-content{left:-250px}@media (min-width:1px) and (max-width:991.98px){.sidebar{margin-left:-250px}.sidebar .sidebar-content{left:-250px}.sidebar.toggled{margin-left:0}.sidebar.toggled .sidebar-content{left:0}.sidebar-collapsed{margin-left:0}.sidebar-collapsed .sidebar-content{left:0}.sidebar-collapsed.toggled{margin-left:-250px}.sidebar-collapsed.toggled .sidebar-content{left:-250px}}.sidebar-header{background:transparent;color:#adb5bd;padding:.375rem 1.5rem;font-size:.75rem;text-transform:none}.sidebar-bottom{transition:margin-left .4s ease-in-out,left .4s ease-in-out;padding:1rem;width:inherit;font-size:.8rem;bottom:0;left:0;position:fixed;background:#313b4c;min-width:250px;max-width:250px;color:#e9ecef;border-right:0;margin-left:0}.sidebar-bottom h5{color:#e9ecef}.sidebar.toggled .sidebar-bottom{margin-left:-250px}.sidebar-badge{position:absolute;right:15px;top:14px}.min-vw-50{min-width:50vw!important}.min-vh-50{min-height:50vh!important}.vw-50{width:50vw!important}.vh-50{height:50vh!important}.card>.dataTables_wrapper .table.dataTable,.card>.table,.card>.table-responsive-lg .table,.card>.table-responsive-md .table,.card>.table-responsive-sm .table,.card>.table-responsive-xl .table,.card>.table-responsive .table{border-right:0;border-bottom:0;border-left:0;margin-bottom:0}.card>.dataTables_wrapper .table.dataTable td:first-child,.card>.dataTables_wrapper .table.dataTable th:first-child,.card>.table-responsive-lg .table td:first-child,.card>.table-responsive-lg .table th:first-child,.card>.table-responsive-md .table td:first-child,.card>.table-responsive-md .table th:first-child,.card>.table-responsive-sm .table td:first-child,.card>.table-responsive-sm .table th:first-child,.card>.table-responsive-xl .table td:first-child,.card>.table-responsive-xl .table th:first-child,.card>.table-responsive .table td:first-child,.card>.table-responsive .table th:first-child,.card>.table td:first-child,.card>.table th:first-child{border-left:0;padding-left:1.25rem}.card>.dataTables_wrapper .table.dataTable td:last-child,.card>.dataTables_wrapper .table.dataTable th:last-child,.card>.table-responsive-lg .table td:last-child,.card>.table-responsive-lg .table th:last-child,.card>.table-responsive-md .table td:last-child,.card>.table-responsive-md .table th:last-child,.card>.table-responsive-sm .table td:last-child,.card>.table-responsive-sm .table th:last-child,.card>.table-responsive-xl .table td:last-child,.card>.table-responsive-xl .table th:last-child,.card>.table-responsive .table td:last-child,.card>.table-responsive .table th:last-child,.card>.table td:last-child,.card>.table th:last-child{border-right:0;padding-right:1.25rem}.card>.dataTables_wrapper .table.dataTable tr:first-child td,.card>.dataTables_wrapper .table.dataTable tr:first-child th,.card>.table-responsive-lg .table tr:first-child td,.card>.table-responsive-lg .table tr:first-child th,.card>.table-responsive-md .table tr:first-child td,.card>.table-responsive-md .table tr:first-child th,.card>.table-responsive-sm .table tr:first-child td,.card>.table-responsive-sm .table tr:first-child th,.card>.table-responsive-xl .table tr:first-child td,.card>.table-responsive-xl .table tr:first-child th,.card>.table-responsive .table tr:first-child td,.card>.table-responsive .table tr:first-child th,.card>.table tr:first-child td,.card>.table tr:first-child th{border-top:0}.card>.dataTables_wrapper .table.dataTable tr:last-child td,.card>.table-responsive-lg .table tr:last-child td,.card>.table-responsive-md .table tr:last-child td,.card>.table-responsive-sm .table tr:last-child td,.card>.table-responsive-xl .table tr:last-child td,.card>.table-responsive .table tr:last-child td,.card>.table tr:last-child td{border-bottom:0}.card .card-header+.table{border-top:0}.table-action a{color:#6c757d}.table-action a:hover{color:#212529}.table-action .feather{width:18px;height:18px}.table>tbody>tr>td{vertical-align:middle}.card>.dataTables_wrapper .table.dataTable{margin-top:0!important;margin-bottom:0!important}.card>.dataTables_wrapper .dataTables_info{padding:1rem 1.25rem}.card>.dataTables_wrapper .dataTables_paginate{padding:.6rem 1.25rem}.dt-bootstrap4{width:calc(100% - 2px)}.tab{margin-bottom:2rem}.tab .nav-tabs{border:0}.tab .nav-tabs .nav-link{background:transparent;color:#343a40;padding:.75rem 1rem;border:0}.tab .nav-tabs .nav-link.active{background:#fff;color:#343a40}.tab .nav-tabs .nav-link:hover:not(.active){color:#47bac1}.tab .nav-tabs .nav-link svg{width:20px;height:20px}.tab .tab-content{background:#fff;padding:1.25rem;box-shadow:0 .1rem .2rem rgba(0,0,0,.05);border-radius:0 0 .2rem .2rem}.tab .tab-content p:last-child{margin-bottom:0}.tab-primary .nav-tabs .nav-link.active{background:#47bac1;border-bottom-color:#47bac1;color:#fff}.tab-primary .tab-content{background:#47bac1;color:#fff}.tab-primary .h1,.tab-primary .h2,.tab-primary .h3,.tab-primary .h4,.tab-primary .h5,.tab-primary .h6,.tab-primary h1,.tab-primary h2,.tab-primary h3,.tab-primary h4,.tab-primary h5,.tab-primary h6{color:#fff}.tab-secondary .nav-tabs .nav-link.active{background:#a180da;border-bottom-color:#a180da;color:#fff}.tab-secondary .tab-content{background:#a180da;color:#fff}.tab-secondary .h1,.tab-secondary .h2,.tab-secondary .h3,.tab-secondary .h4,.tab-secondary .h5,.tab-secondary .h6,.tab-secondary h1,.tab-secondary h2,.tab-secondary h3,.tab-secondary h4,.tab-secondary h5,.tab-secondary h6{color:#fff}.tab-success .nav-tabs .nav-link.active{background:#5fc27e;border-bottom-color:#5fc27e;color:#fff}.tab-success .tab-content{background:#5fc27e;color:#fff}.tab-success .h1,.tab-success .h2,.tab-success .h3,.tab-success .h4,.tab-success .h5,.tab-success .h6,.tab-success h1,.tab-success h2,.tab-success h3,.tab-success h4,.tab-success h5,.tab-success h6{color:#fff}.tab-info .nav-tabs .nav-link.active{background:#5b7dff;border-bottom-color:#5b7dff;color:#fff}.tab-info .tab-content{background:#5b7dff;color:#fff}.tab-info .h1,.tab-info .h2,.tab-info .h3,.tab-info .h4,.tab-info .h5,.tab-info .h6,.tab-info h1,.tab-info h2,.tab-info h3,.tab-info h4,.tab-info h5,.tab-info h6{color:#fff}.tab-warning .nav-tabs .nav-link.active{background:#fcc100;border-bottom-color:#fcc100;color:#fff}.tab-warning .tab-content{background:#fcc100;color:#fff}.tab-warning .h1,.tab-warning .h2,.tab-warning .h3,.tab-warning .h4,.tab-warning .h5,.tab-warning .h6,.tab-warning h1,.tab-warning h2,.tab-warning h3,.tab-warning h4,.tab-warning h5,.tab-warning h6{color:#fff}.tab-danger .nav-tabs .nav-link.active{background:#f44455;border-bottom-color:#f44455;color:#fff}.tab-danger .tab-content{background:#f44455;color:#fff}.tab-danger .h1,.tab-danger .h2,.tab-danger .h3,.tab-danger .h4,.tab-danger .h5,.tab-danger .h6,.tab-danger h1,.tab-danger h2,.tab-danger h3,.tab-danger h4,.tab-danger h5,.tab-danger h6{color:#fff}.tab-light .nav-tabs .nav-link.active{background:#f8f9fa;border-bottom-color:#f8f9fa;color:#fff}.tab-light .tab-content{background:#f8f9fa;color:#fff}.tab-light .h1,.tab-light .h2,.tab-light .h3,.tab-light .h4,.tab-light .h5,.tab-light .h6,.tab-light h1,.tab-light h2,.tab-light h3,.tab-light h4,.tab-light h5,.tab-light h6{color:#fff}.tab-dark .nav-tabs .nav-link.active{background:#354052;border-bottom-color:#354052;color:#fff}.tab-dark .tab-content{background:#354052;color:#fff}.tab-dark .h1,.tab-dark .h2,.tab-dark .h3,.tab-dark .h4,.tab-dark .h5,.tab-dark .h6,.tab-dark h1,.tab-dark h2,.tab-dark h3,.tab-dark h4,.tab-dark h5,.tab-dark h6{color:#fff}.tab-tertiary .nav-tabs .nav-link.active{background:#5fc27e;border-bottom-color:#5fc27e;color:#fff}.tab-tertiary .tab-content{background:#5fc27e;color:#fff}.tab-tertiary .h1,.tab-tertiary .h2,.tab-tertiary .h3,.tab-tertiary .h4,.tab-tertiary .h5,.tab-tertiary .h6,.tab-tertiary h1,.tab-tertiary h2,.tab-tertiary h3,.tab-tertiary h4,.tab-tertiary h5,.tab-tertiary h6{color:#fff}.tab-title{font-size:1rem}.tab-vertical .nav-tabs{float:left;-webkit-flex-direction:column;flex-direction:column}.tab-vertical .nav-tabs .nav-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;border-top-right-radius:0;border-bottom-right-radius:0}.tab-vertical .tab-content{overflow:auto}.timeline{list-style-type:none;position:relative}.timeline:before{background:#dee2e6;left:9px;width:2px;height:100%}.timeline-item:before,.timeline:before{content:\" \";display:inline-block;position:absolute;z-index:1}.timeline-item:before{background:#fff;border-radius:50%;border:3px solid #47bac1;left:0;width:20px;height:20px}.text-sm{font-size:.75rem}.text-lg{font-size:1rem}b,strong{font-weight:600}pre.snippet{white-space:pre-wrap;word-wrap:break-word;text-align:justify}a{cursor:pointer}.wrapper{-webkit-align-items:stretch;align-items:stretch;display:-webkit-flex;display:flex;width:100%}.wrapper-boxed{max-width:1440px;margin:0 auto;border-left:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1);overflow:hidden}.content{padding:2.5rem}@media (max-width:991.98px){.content{width:100vw;max-width:100vw}}@media (max-width:1199.98px){.content{padding:1.5rem}}.main{width:100%;min-height:100vh;min-width:0;transition:margin-left .4s ease-in-out,left .4s ease-in-out}@media (max-width:991.98px){.main{overflow-y:hidden}}.settings{display:none}@media (min-width:1200px){.settings{display:block}}.settings-toggle{background:#343a40;color:#fff;position:fixed;top:160px;right:0;width:46px;padding:.75rem;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;box-shadow:-5px 0 10px 0 rgba(0,0,0,.1);transition:all .1s ease-in-out;cursor:pointer}.settings-toggle:hover{width:52px}.settings-toggle svg{width:22px;height:22px;-webkit-animation-name:spin;animation-name:spin;-webkit-animation-duration:4s;animation-duration:4s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}.settings-panel{background:#fff;border-left:1px solid #e5e9f2;box-shadow:-5px 0 10px 0 rgba(0,0,0,.1);display:block;height:100%;position:fixed;width:240px;z-index:100;top:0;bottom:0;right:-240px;transition:right .2s ease-in-out}.settings.open .settings-panel:before{content:\"\";background:rgba(0,0,0,.2);position:fixed;left:0;top:0;height:100%;width:100%;z-index:-1;pointer-events:none}.settings.open .settings-panel{right:0}.settings-content{height:100%;overflow:auto;position:relative;background:#fff}.settings-content .ps__thumb-y,.settings-content .simplebar-scrollbar:before{background:rgba(0,0,0,.5)}.settings-title{padding:1.35rem 1.5rem;font-size:.875rem}.settings-title h4{margin-bottom:0}.settings-section{border-top:1px solid #e5e9f2;padding:1rem 1.5rem}.settings-layouts{line-height:2;list-style:none;margin-bottom:0;padding-left:0}.settings-layouts-item .badge{background:#adb5bd;border-radius:10rem;color:#fff;padding:.2rem .35rem}.settings-layouts-item,.settings-layouts-item:hover{color:#495057;text-decoration:none;cursor:pointer}.settings-layouts-item:hover .badge{background:#6c757d}.settings-theme{display:block;margin-bottom:1rem;text-align:center;text-decoration:none;cursor:pointer}.settings-theme:last-child{margin-bottom:0}.settings-theme:hover{text-decoration:none}.settings-theme img{border-radius:.2rem;border:1px solid #ced4da;-webkit-transform:scale(1);transform:scale(1);transition:all .1s ease-in-out}.settings-theme:hover img{-webkit-transform:scale(1.03);transform:scale(1.03)}html[data-useragent*=\"MSIE 10.0\"] .main{width:calc(100% - 250px)}html[data-useragent*=\"MSIE 10.0\"] .sidebar-toggle{display:none!important}html[data-useragent*=\"MSIE 10.0\"] .sidebar{width:250px!important;min-width:250px!important;margin-left:0!important}html[data-useragent*=\"MSIE 10.0\"] .toggled.sidebar-collapsed{margin-left:0!important}.rounded-lg{border-radius:.3rem!important}.rounded-top-lg{border-top-left-radius:.3rem!important}.rounded-right-lg,.rounded-top-lg{border-top-right-radius:.3rem!important}.rounded-bottom-lg,.rounded-right-lg{border-bottom-right-radius:.3rem!important}.rounded-bottom-lg,.rounded-left-lg{border-bottom-left-radius:.3rem!important}.rounded-left-lg{border-top-left-radius:.3rem!important}.rounded-sm{border-radius:.1rem!important}.rounded-top-sm{border-top-left-radius:.1rem!important}.rounded-right-sm,.rounded-top-sm{border-top-right-radius:.1rem!important}.rounded-bottom-sm,.rounded-right-sm{border-bottom-right-radius:.1rem!important}.rounded-bottom-sm,.rounded-left-sm{border-bottom-left-radius:.1rem!important}.rounded-left-sm{border-top-left-radius:.1rem!important}.cursor-grab{cursor:move;cursor:grab;cursor:-webkit-grab}.cursor-pointer{cursor:pointer}.overflow-scroll{overflow:scroll}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-visible{overflow:visible}.apexcharts-canvas{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.apexcharts-canvas ::-webkit-scrollbar{-webkit-appearance:none;width:6px}.apexcharts-canvas ::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgba(0,0,0,.5);box-shadow:0 0 1px hsla(0,0%,100%,.5);-webkit-box-shadow:0 0 1px hsla(0,0%,100%,.5)}.apexcharts-inner{position:relative}.legend-mouseover-inactive{transition:all .15s ease;opacity:.2}.apexcharts-series-collapsed{opacity:0}.apexcharts-gridline,.apexcharts-text{pointer-events:none}.apexcharts-tooltip{border-radius:5px;box-shadow:2px 2px 6px -4px #999;cursor:default;font-size:14px;left:62px;opacity:0;pointer-events:none;position:absolute;top:20px;overflow:hidden;white-space:nowrap;z-index:12;transition:all .15s ease}.apexcharts-tooltip.light{border:1px solid #e3e3e3;background:hsla(0,0%,100%,.96)}.apexcharts-tooltip.dark{color:#fff;background:rgba(30,30,30,.8)}.apexcharts-area-series .apexcharts-area,.apexcharts-line,.apexcharts-tooltip .apexcharts-marker{pointer-events:none}.apexcharts-tooltip.active{opacity:1;transition:all .15s ease}.apexcharts-tooltip-title{padding:6px;font-size:15px;margin-bottom:4px}.apexcharts-tooltip.light .apexcharts-tooltip-title{background:#eceff1;border-bottom:1px solid #ddd}.apexcharts-tooltip.dark .apexcharts-tooltip-title{background:rgba(0,0,0,.7);border-bottom:1px solid #222}.apexcharts-tooltip-text-value,.apexcharts-tooltip-text-z-value{display:inline-block;margin-left:5px}.apexcharts-tooltip-text-z-label:empty,.apexcharts-tooltip-text-z-value:empty{display:none}.apexcharts-tooltip-text-value,.apexcharts-tooltip-text-z-value{font-weight:600}.apexcharts-tooltip-marker{width:12px;height:12px;position:relative;top:1px;margin-right:10px;border-radius:50%}.apexcharts-tooltip-series-group{padding:0 10px;display:none;text-align:left;-webkit-justify-content:left;justify-content:left;-webkit-align-items:center;align-items:center}.apexcharts-tooltip-series-group.active .apexcharts-tooltip-marker{opacity:1}.apexcharts-tooltip-series-group.active,.apexcharts-tooltip-series-group:last-child{padding-bottom:4px}.apexcharts-tooltip-y-group{padding:6px 0 5px}.apexcharts-tooltip-candlestick{padding:4px 8px}.apexcharts-tooltip-candlestick>div{margin:4px 0}.apexcharts-tooltip-candlestick span.value{font-weight:700}.apexcharts-xaxistooltip{opacity:0;padding:9px 10px;pointer-events:none;color:#373d3f;font-size:13px;text-align:center;border-radius:2px;position:absolute;z-index:10;background:#eceff1;border:1px solid #90a4ae;transition:all .15s ease}.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before{left:50%;border:solid transparent;content:\" \";height:0;width:0;position:absolute;pointer-events:none}.apexcharts-xaxistooltip:after{border-color:rgba(236,239,241,0);border-width:6px;margin-left:-6px}.apexcharts-xaxistooltip:before{border-color:rgba(144,164,174,0);border-width:7px;margin-left:-7px}.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before{bottom:100%}.apexcharts-xaxistooltip-bottom:after{border-bottom-color:#eceff1}.apexcharts-xaxistooltip-bottom:before{border-bottom-color:#90a4ae}.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before{top:100%}.apexcharts-xaxistooltip-top:after{border-top-color:#eceff1}.apexcharts-xaxistooltip-top:before{border-top-color:#90a4ae}.apexcharts-xaxistooltip.active{opacity:1;transition:all .15s ease}.apexcharts-yaxistooltip{opacity:0;padding:4px 10px;pointer-events:none;color:#373d3f;font-size:13px;text-align:center;border-radius:2px;position:absolute;z-index:10;background:#eceff1;border:1px solid #90a4ae}.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before{top:50%;border:solid transparent;content:\" \";height:0;width:0;position:absolute;pointer-events:none}.apexcharts-yaxistooltip:after{border-color:rgba(236,239,241,0);border-width:6px;margin-top:-6px}.apexcharts-yaxistooltip:before{border-color:rgba(144,164,174,0);border-width:7px;margin-top:-7px}.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before{left:100%}.apexcharts-yaxistooltip-left:after{border-left-color:#eceff1}.apexcharts-yaxistooltip-left:before{border-left-color:#90a4ae}.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before{right:100%}.apexcharts-yaxistooltip-right:after{border-right-color:#eceff1}.apexcharts-yaxistooltip-right:before{border-right-color:#90a4ae}.apexcharts-yaxistooltip.active{opacity:1}.apexcharts-xcrosshairs,.apexcharts-ycrosshairs{pointer-events:none;opacity:0;transition:all .15s ease}.apexcharts-xcrosshairs.active,.apexcharts-ycrosshairs.active{opacity:1;transition:all .15s ease}.apexcharts-ycrosshairs-hidden{opacity:0}.apexcharts-zoom-rect{pointer-events:none}.apexcharts-selection-rect{cursor:move}.svg_select_points,.svg_select_points_rot{opacity:0;visibility:hidden}.svg_select_points_l,.svg_select_points_r{cursor:ew-resize;opacity:1;visibility:visible;fill:#888}.apexcharts-canvas.zoomable .hovering-zoom{cursor:crosshair}.apexcharts-canvas.zoomable .hovering-pan{cursor:move}.apexcharts-xaxis,.apexcharts-yaxis{pointer-events:none}.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-zoom-icon,.apexcharts-selection-icon,.apexcharts-zoom-icon,.apexcharts-zoom-in-icon,.apexcharts-zoom-out-icon{cursor:pointer;width:20px;height:20px;text-align:center}.apexcharts-menu-icon svg,.apexcharts-reset-zoom-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoom-in-icon svg,.apexcharts-zoom-out-icon svg{fill:#6e8192}.apexcharts-selection-icon svg{fill:#444;-webkit-transform:scale(.86);transform:scale(.86)}.apexcharts-reset-zoom-icon.selected svg,.apexcharts-selection-icon.selected svg,.apexcharts-zoom-icon.selected svg{fill:#008ffb}.apexcharts-menu-icon:hover svg,.apexcharts-reset-zoom-icon:hover svg,.apexcharts-selection-icon:not(.selected):hover svg,.apexcharts-zoom-icon:not(.selected):hover svg,.apexcharts-zoom-in-icon:hover svg,.apexcharts-zoom-out-icon:hover svg{fill:#333}.apexcharts-menu-icon,.apexcharts-selection-icon{margin-right:3px;margin-left:5px;position:relative;top:1px}.apexcharts-reset-zoom-icon{margin-left:7px}.apexcharts-zoom-icon{-webkit-transform:scale(1);transform:scale(1)}.apexcharts-zoom-in-icon,.apexcharts-zoom-out-icon{-webkit-transform:scale(.8);transform:scale(.8)}.apexcharts-zoom-out-icon{margin-right:3px}.apexcharts-pan-icon{-webkit-transform:scale(.72);transform:scale(.72);position:relative;left:1px;top:0}.apexcharts-pan-icon svg{fill:#fff;stroke:#6e8192;stroke-width:2}.apexcharts-pan-icon.selected svg{stroke:#008ffb}.apexcharts-pan-icon:not(.selected):hover svg{stroke:#333}.apexcharts-toolbar{position:absolute;z-index:11;top:0;right:3px;max-width:176px;text-align:right;border-radius:3px;padding:5px 6px 2px;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;-webkit-align-items:center;align-items:center}.apexcharts-menu,.apexcharts-toolbar svg{pointer-events:none}.apexcharts-menu{background:#fff;position:absolute;top:100%;border:1px solid #ddd;border-radius:3px;padding:3px;right:10px;opacity:0;min-width:110px;transition:all .15s ease}.apexcharts-menu.open{opacity:1;pointer-events:all;transition:all .15s ease}.apexcharts-menu-item{padding:6px 7px;font-size:12px;cursor:pointer}.apexcharts-menu-item:hover{background:#eee}@media screen and (min-width:768px){.apexcharts-canvas:hover .apexcharts-toolbar{opacity:1}}.apexcharts-datalabel.hidden{opacity:0}.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-pie-label{cursor:default;pointer-events:none}.apexcharts-pie-label-delay{opacity:0;-webkit-animation-name:opaque;animation-name:opaque;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease;animation-timing-function:ease}.apexcharts-canvas .hidden,.apexcharts-hide .apexcharts-series-points{opacity:0}.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events{pointer-events:none}.apexcharts-marker{transition:all .15s ease}@-webkit-keyframes opaque{0%{opacity:0}to{opacity:1}}@keyframes opaque{0%{opacity:0}to{opacity:1}}.daterangepicker{position:absolute;color:inherit;background-color:#fff;border-radius:4px;border:1px solid #ddd;width:278px;max-width:none;padding:0;margin-top:7px;top:100px;left:20px;z-index:3001;display:none;font-family:arial;font-size:15px;line-height:1em}.daterangepicker:after,.daterangepicker:before{position:absolute;display:inline-block;border-bottom-color:rgba(0,0,0,.2);content:\"\"}.daterangepicker:before{top:-7px;border-right:7px solid transparent;border-left:7px solid transparent;border-bottom:7px solid #ccc}.daterangepicker:after{top:-6px;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent}.daterangepicker.opensleft:before{right:9px}.daterangepicker.opensleft:after{right:10px}.daterangepicker.openscenter:after,.daterangepicker.openscenter:before{left:0;right:0;width:0;margin-left:auto;margin-right:auto}.daterangepicker.opensright:before{left:9px}.daterangepicker.opensright:after{left:10px}.daterangepicker.drop-up{margin-top:-7px}.daterangepicker.drop-up:before{top:auto;bottom:-7px;border-bottom:initial;border-top:7px solid #ccc}.daterangepicker.drop-up:after{top:auto;bottom:-6px;border-bottom:initial;border-top:6px solid #fff}.daterangepicker.single .daterangepicker .ranges,.daterangepicker.single .drp-calendar{float:none}.daterangepicker.single .drp-selected{display:none}.daterangepicker.show-calendar .drp-buttons,.daterangepicker.show-calendar .drp-calendar{display:block}.daterangepicker.auto-apply .drp-buttons{display:none}.daterangepicker .drp-calendar{display:none;max-width:270px}.daterangepicker .drp-calendar.left{padding:8px 0 8px 8px}.daterangepicker .drp-calendar.right{padding:8px}.daterangepicker .drp-calendar.single .calendar-table{border:none}.daterangepicker .calendar-table .next span,.daterangepicker .calendar-table .prev span{color:#fff;border:solid #000;border-width:0 2px 2px 0;border-radius:0;display:inline-block;padding:3px}.daterangepicker .calendar-table .next span{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.daterangepicker .calendar-table .prev span{transform:rotate(135deg);-webkit-transform:rotate(135deg)}.daterangepicker .calendar-table td,.daterangepicker .calendar-table th{text-align:center;vertical-align:middle;min-width:32px;width:32px;height:24px;line-height:24px;font-size:12px;border-radius:4px;border:1px solid transparent;white-space:nowrap;cursor:pointer}.daterangepicker .calendar-table{border:1px solid #fff;border-radius:4px;background-color:#fff}.daterangepicker .calendar-table table{width:100%;margin:0;border-spacing:0;border-collapse:collapse}.daterangepicker td.available:hover,.daterangepicker th.available:hover{background-color:#eee;border-color:transparent;color:inherit}.daterangepicker td.week,.daterangepicker th.week{font-size:80%;color:#ccc}.daterangepicker td.off,.daterangepicker td.off.end-date,.daterangepicker td.off.in-range,.daterangepicker td.off.start-date{background-color:#fff;border-color:transparent;color:#999}.daterangepicker td.in-range{background-color:#ebf4f8;border-color:transparent;color:#000;border-radius:0}.daterangepicker td.start-date{border-radius:4px 0 0 4px}.daterangepicker td.end-date{border-radius:0 4px 4px 0}.daterangepicker td.start-date.end-date{border-radius:4px}.daterangepicker td.active,.daterangepicker td.active:hover{background-color:#357ebd;border-color:transparent;color:#fff}.daterangepicker th.month{width:auto}.daterangepicker option.disabled,.daterangepicker td.disabled{color:#999;cursor:not-allowed;text-decoration:line-through}.daterangepicker select.monthselect,.daterangepicker select.yearselect{font-size:12px;padding:1px;height:auto;margin:0;cursor:default}.daterangepicker select.monthselect{margin-right:2%;width:56%}.daterangepicker select.yearselect{width:40%}.daterangepicker select.ampmselect,.daterangepicker select.hourselect,.daterangepicker select.minuteselect,.daterangepicker select.secondselect{width:50px;margin:0 auto;background:#eee;border:1px solid #eee;padding:2px;outline:0;font-size:12px}.daterangepicker .calendar-time{text-align:center;margin:4px auto 0;line-height:30px;position:relative}.daterangepicker .calendar-time select.disabled{color:#ccc;cursor:not-allowed}.daterangepicker .drp-buttons{clear:both;text-align:right;padding:8px;border-top:1px solid #ddd;display:none;line-height:12px;vertical-align:middle}.daterangepicker .drp-selected{display:inline-block;font-size:12px;padding-right:8px}.daterangepicker .drp-buttons .btn,.daterangepicker .drp-buttons .fc-unthemed .fc-button,.fc-unthemed .daterangepicker .drp-buttons .fc-button{margin-left:8px;font-size:12px;font-weight:700;padding:4px 8px}.daterangepicker.show-ranges .drp-calendar.left{border-left:1px solid #ddd}.daterangepicker .ranges{float:none;text-align:left;margin:0}.daterangepicker.show-calendar .ranges{margin-top:8px}.daterangepicker .ranges ul{list-style:none;margin:0 auto;padding:0;width:100%}.daterangepicker .ranges li{font-size:12px;padding:8px 12px;cursor:pointer}.daterangepicker .ranges li:hover{background-color:#eee}.daterangepicker .ranges li.active{background-color:#08c;color:#fff}@media (min-width:564px){.daterangepicker{width:auto}.daterangepicker .ranges ul{width:140px}.daterangepicker.single .ranges ul{width:100%}.daterangepicker.single .drp-calendar.left{clear:none}.daterangepicker.single.ltr .drp-calendar,.daterangepicker.single.ltr .ranges{float:left}.daterangepicker.single.rtl .drp-calendar,.daterangepicker.single.rtl .ranges{float:right}.daterangepicker.ltr{direction:ltr;text-align:left}.daterangepicker.ltr .drp-calendar.left{clear:left;margin-right:0}.daterangepicker.ltr .drp-calendar.left .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.daterangepicker.ltr .drp-calendar.right{margin-left:0}.daterangepicker.ltr .drp-calendar.right .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.daterangepicker.ltr .drp-calendar.left .calendar-table{padding-right:8px}.daterangepicker.ltr .drp-calendar,.daterangepicker.ltr .ranges{float:left}.daterangepicker.rtl{direction:rtl;text-align:right}.daterangepicker.rtl .drp-calendar.left{clear:right;margin-left:0}.daterangepicker.rtl .drp-calendar.left .calendar-table{border-left:none;border-top-left-radius:0;border-bottom-left-radius:0}.daterangepicker.rtl .drp-calendar.right{margin-right:0}.daterangepicker.rtl .drp-calendar.right .calendar-table{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0}.daterangepicker.rtl .drp-calendar.left .calendar-table{padding-left:12px}.daterangepicker.rtl .drp-calendar,.daterangepicker.rtl .ranges{text-align:right;float:right}}@media (min-width:730px){.daterangepicker .ranges{width:auto}.daterangepicker.ltr .ranges{float:left}.daterangepicker.rtl .ranges{float:right}.daterangepicker .drp-calendar.left{clear:none!important}}.md-editor{display:block;border:1px solid #ddd}.md-editor .md-footer,.md-editor>.md-header{display:block;padding:6px 4px;background:#f5f5f5}.md-editor>.md-header{margin:0}.md-editor>.md-preview{background:#fff;border-top:1px dashed #ddd;border-bottom:1px dashed #ddd;min-height:10px;overflow:auto}.md-editor>textarea{font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:14px;outline:0;margin:0;display:block;padding:0;width:100%;border:0;border-top:1px dashed #ddd;border-bottom:1px dashed #ddd;border-radius:0;box-shadow:none;background:#eee}.md-editor>textarea:focus{box-shadow:none;background:#fff}.md-editor.active{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.md-editor .md-controls{float:right;padding:3px}.md-editor .md-controls .md-control{right:5px;color:#bebebe;padding:3px 3px 3px 10px}.md-editor .md-controls .md-control:hover{color:#333}.md-editor.md-fullscreen-mode{width:100%;height:100%;position:fixed;top:0;left:0;z-index:99999;padding:60px 30px 15px;background:#fff!important;border:0!important}.md-editor.md-fullscreen-mode .md-footer{display:none}.md-editor.md-fullscreen-mode .md-input,.md-editor.md-fullscreen-mode .md-preview{margin:0 auto!important;height:100%!important;font-size:20px!important;padding:20px!important;color:#999;line-height:1.6em!important;resize:none!important;box-shadow:none!important;background:#fff!important;border:0!important}.md-editor.md-fullscreen-mode .md-preview{color:#333;overflow:auto}.md-editor.md-fullscreen-mode .md-input:focus,.md-editor.md-fullscreen-mode .md-input:hover{color:#333;background:#fff!important}.md-editor.md-fullscreen-mode .md-header{background:0 0;text-align:center;position:fixed;width:100%;top:20px}.fc-unthemed .md-editor.md-fullscreen-mode .fc-button-group,.md-editor.md-fullscreen-mode .btn-group,.md-editor.md-fullscreen-mode .fc-unthemed .fc-button-group{float:none}.fc-unthemed .md-editor.md-fullscreen-mode .fc-button,.md-editor.md-fullscreen-mode .btn,.md-editor.md-fullscreen-mode .fc-unthemed .fc-button{border:0;background:0 0;color:#b3b3b3}.fc-unthemed .md-editor.md-fullscreen-mode .active.fc-button,.fc-unthemed .md-editor.md-fullscreen-mode .fc-button:active,.fc-unthemed .md-editor.md-fullscreen-mode .fc-button:focus,.fc-unthemed .md-editor.md-fullscreen-mode .fc-button:hover,.md-editor.md-fullscreen-mode .btn.active,.md-editor.md-fullscreen-mode .btn:active,.md-editor.md-fullscreen-mode .btn:focus,.md-editor.md-fullscreen-mode .btn:hover,.md-editor.md-fullscreen-mode .fc-unthemed .active.fc-button,.md-editor.md-fullscreen-mode .fc-unthemed .fc-button:active,.md-editor.md-fullscreen-mode .fc-unthemed .fc-button:focus,.md-editor.md-fullscreen-mode .fc-unthemed .fc-button:hover{box-shadow:none;color:#333}.md-editor.md-fullscreen-mode .md-fullscreen-controls{position:absolute;top:20px;right:20px;text-align:right;z-index:1002;display:block}.md-editor.md-fullscreen-mode .md-fullscreen-controls a{color:#b3b3b3;clear:right;margin:10px;width:30px;height:30px;text-align:center}.md-editor.md-fullscreen-mode .md-fullscreen-controls a:hover{color:#333;text-decoration:none}.md-editor.md-fullscreen-mode .md-editor{height:100%!important;position:relative}.md-editor .md-fullscreen-controls{display:none}.md-nooverflow{overflow:hidden;position:fixed;width:100%}table.dataTable{clear:both;margin-top:6px!important;margin-bottom:6px!important;max-width:none!important;border-collapse:separate!important;border-spacing:0}table.dataTable td,table.dataTable th{box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:400;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:auto;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:400;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:.85em;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap;-webkit-justify-content:flex-end;justify-content:flex-end}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc{padding-right:30px}table.dataTable thead>tr>td:active,table.dataTable thead>tr>th:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc_disabled:after,table.dataTable thead .sorting_desc_disabled:before{position:absolute;bottom:.9em;display:block;opacity:.3}table.dataTable thead .sorting:before,table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc:before,table.dataTable thead .sorting_desc_disabled:before{right:1em;content:\"\\2191\"}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_desc_disabled:after{right:.5em;content:\"\\2193\"}table.dataTable thead .sorting_asc:before,table.dataTable thead .sorting_desc:after{opacity:1}table.dataTable thead .sorting_asc_disabled:before,table.dataTable thead .sorting_desc_disabled:after{opacity:0}div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}div.dataTables_scrollBody table{border-top:none;margin-top:0!important;margin-bottom:0!important}div.dataTables_scrollBody table thead .sorting:after,div.dataTables_scrollBody table thead .sorting:before,div.dataTables_scrollBody table thead .sorting_asc:after,div.dataTables_scrollBody table thead .sorting_asc:before,div.dataTables_scrollBody table thead .sorting_desc:after,div.dataTables_scrollBody table thead .sorting_desc:before{display:none}div.dataTables_scrollBody table tbody tr:first-child td,div.dataTables_scrollBody table tbody tr:first-child th{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0!important;border-top:none}@media screen and (max-width:767px){div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-sm>thead>tr>th{padding-right:20px}table.dataTable.table-sm .sorting:before,table.dataTable.table-sm .sorting_asc:before,table.dataTable.table-sm .sorting_desc:before{top:5px;right:.85em}table.dataTable.table-sm .sorting:after,table.dataTable.table-sm .sorting_asc:after,table.dataTable.table-sm .sorting_desc:after{top:5px}table.table-bordered.dataTable td,table.table-bordered.dataTable th{border-left-width:0}table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable th:last-child{border-right-width:0}div.dataTables_scrollHead table.table-bordered,table.table-bordered.dataTable tbody td,table.table-bordered.dataTable tbody th{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}@keyframes dtb-spinner{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes dtb-spinner{to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}div.dt-button-info{position:fixed;top:50%;left:50%;width:400px;margin-top:-100px;margin-left:-200px;background-color:#fff;border:2px solid #111;box-shadow:3px 3px 8px rgba(0,0,0,.3);border-radius:3px;text-align:center;z-index:21}div.dt-button-info h2{padding:.5em;margin:0;font-weight:400;border-bottom:1px solid #ddd;background-color:#f3f3f3}div.dt-button-info>div{padding:1em}div.dt-button-collection-title{text-align:center;padding:.3em 0 .5em;font-size:.9em}div.dt-button-collection-title:empty{display:none}div.dt-button-collection.dropdown-menu{display:block;z-index:2002;-webkit-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection.dropdown-menu.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.dropdown-menu.fixed.two-column{margin-left:-150px}div.dt-button-collection.dropdown-menu.fixed.three-column{margin-left:-225px}div.dt-button-collection.dropdown-menu.fixed.four-column{margin-left:-300px}div.dt-button-collection.dropdown-menu>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.dropdown-menu.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.dropdown-menu.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.dropdown-menu.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection.dropdown-menu .dt-button{border-radius:0}div.dt-button-collection{-webkit-column-gap:8px;-ms-column-gap:8px;-o-column-gap:8px;column-gap:8px}div.dt-button-collection.fixed{position:fixed;top:50%;left:50%;margin-left:-75px;border-radius:0}div.dt-button-collection.fixed.two-column{margin-left:-150px}div.dt-button-collection.fixed.three-column{margin-left:-225px}div.dt-button-collection.fixed.four-column{margin-left:-300px}div.dt-button-collection>*{-webkit-column-break-inside:avoid;break-inside:avoid}div.dt-button-collection.two-column{width:300px;padding-bottom:1px;-webkit-column-count:2;-ms-column-count:2;-o-column-count:2;column-count:2}div.dt-button-collection.three-column{width:450px;padding-bottom:1px;-webkit-column-count:3;-ms-column-count:3;-o-column-count:3;column-count:3}div.dt-button-collection.four-column{width:600px;padding-bottom:1px;-webkit-column-count:4;-ms-column-count:4;-o-column-count:4;column-count:4}div.dt-button-collection .dt-button{border-radius:0}div.dt-button-collection.fixed{max-width:none}div.dt-button-collection.fixed:after,div.dt-button-collection.fixed:before{display:none}div.dt-button-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999}@media screen and (max-width:767px){div.dt-buttons{float:none;width:100%;text-align:center;margin-bottom:.5em}.fc-unthemed div.dt-buttons a.fc-button,div.dt-buttons .fc-unthemed a.fc-button,div.dt-buttons a.btn{float:none}}.fc-unthemed div.dt-buttons a.processing.fc-button,.fc-unthemed div.dt-buttons button.processing.fc-button,.fc-unthemed div.dt-buttons div.processing.fc-button,div.dt-buttons .fc-unthemed a.processing.fc-button,div.dt-buttons .fc-unthemed button.processing.fc-button,div.dt-buttons .fc-unthemed div.processing.fc-button,div.dt-buttons a.btn.processing,div.dt-buttons button.btn.processing,div.dt-buttons div.btn.processing{color:rgba(0,0,0,.2)}.fc-unthemed div.dt-buttons a.processing.fc-button:after,.fc-unthemed div.dt-buttons button.processing.fc-button:after,.fc-unthemed div.dt-buttons div.processing.fc-button:after,div.dt-buttons .fc-unthemed a.processing.fc-button:after,div.dt-buttons .fc-unthemed button.processing.fc-button:after,div.dt-buttons .fc-unthemed div.processing.fc-button:after,div.dt-buttons a.btn.processing:after,div.dt-buttons button.btn.processing:after,div.dt-buttons div.btn.processing:after{position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;box-sizing:border-box;display:block;content:\" \";border-radius:50%;border-color:#282828 transparent;border-style:solid;border-width:2px;animation:dtb-spinner 1.5s linear infinite;-o-animation:dtb-spinner 1.5s infinite linear;-ms-animation:dtb-spinner 1.5s infinite linear;-webkit-animation:dtb-spinner 1.5s linear infinite;-moz-animation:dtb-spinner 1.5s infinite linear}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child{cursor:default!important}table.dataTable.dtr-inline.collapsed>tbody>tr>td.child:before,table.dataTable.dtr-inline.collapsed>tbody>tr>td.dataTables_empty:before,table.dataTable.dtr-inline.collapsed>tbody>tr>th.child:before{display:none!important}table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child,table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child{position:relative;padding-left:30px;cursor:pointer}table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr[role=row]>th:first-child:before{top:12px;left:4px;height:14px;width:14px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:Courier New,Courier,monospace;line-height:14px;content:\"+\";background-color:#0275d8}table.dataTable.dtr-inline.collapsed>tbody>tr.parent>td:first-child:before,table.dataTable.dtr-inline.collapsed>tbody>tr.parent>th:first-child:before{content:\"-\";background-color:#d33333}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child{padding-left:27px}table.dataTable.dtr-inline.collapsed.compact>tbody>tr>td:first-child:before,table.dataTable.dtr-inline.collapsed.compact>tbody>tr>th:first-child:before{top:5px;left:4px;height:14px;width:14px;border-radius:14px;line-height:14px;text-indent:3px}table.dataTable.dtr-column>tbody>tr>td.control,table.dataTable.dtr-column>tbody>tr>th.control{position:relative;cursor:pointer}table.dataTable.dtr-column>tbody>tr>td.control:before,table.dataTable.dtr-column>tbody>tr>th.control:before{top:50%;left:50%;height:16px;width:16px;margin-top:-10px;margin-left:-10px;display:block;position:absolute;color:#fff;border:2px solid #fff;border-radius:14px;box-shadow:0 0 3px #444;box-sizing:content-box;text-align:center;text-indent:0!important;font-family:Courier New,Courier,monospace;line-height:14px;content:\"+\";background-color:#0275d8}table.dataTable.dtr-column>tbody>tr.parent td.control:before,table.dataTable.dtr-column>tbody>tr.parent th.control:before{content:\"-\";background-color:#d33333}table.dataTable>tbody>tr.child{padding:.5em 1em}table.dataTable>tbody>tr.child:hover{background:transparent!important}table.dataTable>tbody>tr.child ul.dtr-details{display:inline-block;list-style-type:none;margin:0;padding:0}table.dataTable>tbody>tr.child ul.dtr-details>li{border-bottom:1px solid #efefef;padding:.5em 0}table.dataTable>tbody>tr.child ul.dtr-details>li:first-child{padding-top:0}table.dataTable>tbody>tr.child ul.dtr-details>li:last-child{border-bottom:none}table.dataTable>tbody>tr.child span.dtr-title{display:inline-block;min-width:75px;font-weight:700}div.dtr-modal{position:fixed;box-sizing:border-box;top:0;left:0;height:100%;width:100%;z-index:100;padding:10em 1em}div.dtr-modal div.dtr-modal-display{position:absolute;top:0;left:0;bottom:0;right:0;width:50%;height:50%;margin:auto;z-index:102;overflow:auto;background-color:#f5f5f7;border:1px solid #000;border-radius:.5em;box-shadow:0 12px 30px rgba(0,0,0,.6)}div.dtr-modal div.dtr-modal-content{position:relative;padding:1em}div.dtr-modal div.dtr-modal-close{position:absolute;top:6px;right:6px;width:22px;height:22px;border:1px solid #eaeaea;background-color:#f9f9f9;text-align:center;border-radius:3px;cursor:pointer;z-index:12}div.dtr-modal div.dtr-modal-close:hover{background-color:#eaeaea}div.dtr-modal div.dtr-modal-background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:101;background:rgba(0,0,0,.6)}@media screen and (max-width:767px){div.dtr-modal div.dtr-modal-display{width:95%}}div.dtr-bs-modal table.table tr:first-child td{border-top:none}.gu-mirror{position:fixed!important;margin:0!important;z-index:9999!important;opacity:.8;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)\";filter:alpha(opacity=80)}.gu-hide{display:none!important}.gu-unselectable{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.gu-transit{opacity:.2;-ms-filter:\"progid:DXImageTransform.Microsoft.Alpha(Opacity=20)\";filter:alpha(opacity=20)}svg{touch-action:none}.jvectormap-container{width:100%;height:100%;position:relative;overflow:hidden;touch-action:none}.jvectormap-tip{position:absolute;display:none;border:1px solid #cdcdcd;border-radius:3px;background:#292929;color:#fff;font-family:sans-serif,Verdana;font-size:smaller;padding:3px}.jvectormap-goback,.jvectormap-zoomin,.jvectormap-zoomout{position:absolute;left:10px;border-radius:3px;background:#292929;padding:3px;color:#fff;cursor:pointer;line-height:10px;text-align:center;box-sizing:content-box}.jvectormap-zoomin,.jvectormap-zoomout{width:10px;height:10px}.jvectormap-zoomin{top:10px}.jvectormap-zoomout{top:30px}.jvectormap-goback{bottom:10px;z-index:1000;padding:6px}.jvectormap-spinner{position:absolute;left:0;top:0;right:0;bottom:0;background:50% no-repeat url(data:image/gif;base64,R0lGODlhIAAgAPMAAP///wAAAMbGxoSEhLa2tpqamjY2NlZWVtjY2OTk5Ly8vB4eHgQEBAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAIAAgAAAE5xDISWlhperN52JLhSSdRgwVo1ICQZRUsiwHpTJT4iowNS8vyW2icCF6k8HMMBkCEDskxTBDAZwuAkkqIfxIQyhBQBFvAQSDITM5VDW6XNE4KagNh6Bgwe60smQUB3d4Rz1ZBApnFASDd0hihh12BkE9kjAJVlycXIg7CQIFA6SlnJ87paqbSKiKoqusnbMdmDC2tXQlkUhziYtyWTxIfy6BE8WJt5YJvpJivxNaGmLHT0VnOgSYf0dZXS7APdpB309RnHOG5gDqXGLDaC457D1zZ/V/nmOM82XiHRLYKhKP1oZmADdEAAAh+QQJCgAAACwAAAAAIAAgAAAE6hDISWlZpOrNp1lGNRSdRpDUolIGw5RUYhhHukqFu8DsrEyqnWThGvAmhVlteBvojpTDDBUEIFwMFBRAmBkSgOrBFZogCASwBDEY/CZSg7GSE0gSCjQBMVG023xWBhklAnoEdhQEfyNqMIcKjhRsjEdnezB+A4k8gTwJhFuiW4dokXiloUepBAp5qaKpp6+Ho7aWW54wl7obvEe0kRuoplCGepwSx2jJvqHEmGt6whJpGpfJCHmOoNHKaHx61WiSR92E4lbFoq+B6QDtuetcaBPnW6+O7wDHpIiK9SaVK5GgV543tzjgGcghAgAh+QQJCgAAACwAAAAAIAAgAAAE7hDISSkxpOrN5zFHNWRdhSiVoVLHspRUMoyUakyEe8PTPCATW9A14E0UvuAKMNAZKYUZCiBMuBakSQKG8G2FzUWox2AUtAQFcBKlVQoLgQReZhQlCIJesQXI5B0CBnUMOxMCenoCfTCEWBsJColTMANldx15BGs8B5wlCZ9Po6OJkwmRpnqkqnuSrayqfKmqpLajoiW5HJq7FL1Gr2mMMcKUMIiJgIemy7xZtJsTmsM4xHiKv5KMCXqfyUCJEonXPN2rAOIAmsfB3uPoAK++G+w48edZPK+M6hLJpQg484enXIdQFSS1u6UhksENEQAAIfkECQoAAAAsAAAAACAAIAAABOcQyEmpGKLqzWcZRVUQnZYg1aBSh2GUVEIQ2aQOE+G+cD4ntpWkZQj1JIiZIogDFFyHI0UxQwFugMSOFIPJftfVAEoZLBbcLEFhlQiqGp1Vd140AUklUN3eCA51C1EWMzMCezCBBmkxVIVHBWd3HHl9JQOIJSdSnJ0TDKChCwUJjoWMPaGqDKannasMo6WnM562R5YluZRwur0wpgqZE7NKUm+FNRPIhjBJxKZteWuIBMN4zRMIVIhffcgojwCF117i4nlLnY5ztRLsnOk+aV+oJY7V7m76PdkS4trKcdg0Zc0tTcKkRAAAIfkECQoAAAAsAAAAACAAIAAABO4QyEkpKqjqzScpRaVkXZWQEximw1BSCUEIlDohrft6cpKCk5xid5MNJTaAIkekKGQkWyKHkvhKsR7ARmitkAYDYRIbUQRQjWBwJRzChi9CRlBcY1UN4g0/VNB0AlcvcAYHRyZPdEQFYV8ccwR5HWxEJ02YmRMLnJ1xCYp0Y5idpQuhopmmC2KgojKasUQDk5BNAwwMOh2RtRq5uQuPZKGIJQIGwAwGf6I0JXMpC8C7kXWDBINFMxS4DKMAWVWAGYsAdNqW5uaRxkSKJOZKaU3tPOBZ4DuK2LATgJhkPJMgTwKCdFjyPHEnKxFCDhEAACH5BAkKAAAALAAAAAAgACAAAATzEMhJaVKp6s2nIkolIJ2WkBShpkVRWqqQrhLSEu9MZJKK9y1ZrqYK9WiClmvoUaF8gIQSNeF1Er4MNFn4SRSDARWroAIETg1iVwuHjYB1kYc1mwruwXKC9gmsJXliGxc+XiUCby9ydh1sOSdMkpMTBpaXBzsfhoc5l58Gm5yToAaZhaOUqjkDgCWNHAULCwOLaTmzswadEqggQwgHuQsHIoZCHQMMQgQGubVEcxOPFAcMDAYUA85eWARmfSRQCdcMe0zeP1AAygwLlJtPNAAL19DARdPzBOWSm1brJBi45soRAWQAAkrQIykShQ9wVhHCwCQCACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiRMDjI0Fd30/iI2UA5GSS5UDj2l6NoqgOgN4gksEBgYFf0FDqKgHnyZ9OX8HrgYHdHpcHQULXAS2qKpENRg7eAMLC7kTBaixUYFkKAzWAAnLC7FLVxLWDBLKCwaKTULgEwbLA4hJtOkSBNqITT3xEgfLpBtzE/jiuL04RGEBgwWhShRgQExHBAAh+QQJCgAAACwAAAAAIAAgAAAE7xDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfZiCqGk5dTESJeaOAlClzsJsqwiJwiqnFrb2nS9kmIcgEsjQydLiIlHehhpejaIjzh9eomSjZR+ipslWIRLAgMDOR2DOqKogTB9pCUJBagDBXR6XB0EBkIIsaRsGGMMAxoDBgYHTKJiUYEGDAzHC9EACcUGkIgFzgwZ0QsSBcXHiQvOwgDdEwfFs0sDzt4S6BK4xYjkDOzn0unFeBzOBijIm1Dgmg5YFQwsCMjp1oJ8LyIAACH5BAkKAAAALAAAAAAgACAAAATwEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GGl6NoiPOH16iZKNlH6KmyWFOggHhEEvAwwMA0N9GBsEC6amhnVcEwavDAazGwIDaH1ipaYLBUTCGgQDA8NdHz0FpqgTBwsLqAbWAAnIA4FWKdMLGdYGEgraigbT0OITBcg5QwPT4xLrROZL6AuQAPUS7bxLpoWidY0JtxLHKhwwMJBTHgPKdEQAACH5BAkKAAAALAAAAAAgACAAAATrEMhJaVKp6s2nIkqFZF2VIBWhUsJaTokqUCoBq+E71SRQeyqUToLA7VxF0JDyIQh/MVVPMt1ECZlfcjZJ9mIKoaTl1MRIl5o4CUKXOwmyrCInCKqcWtvadL2SYhyASyNDJ0uIiUd6GAULDJCRiXo1CpGXDJOUjY+Yip9DhToJA4RBLwMLCwVDfRgbBAaqqoZ1XBMHswsHtxtFaH1iqaoGNgAIxRpbFAgfPQSqpbgGBqUD1wBXeCYp1AYZ19JJOYgH1KwA4UBvQwXUBxPqVD9L3sbp2BNk2xvvFPJd+MFCN6HAAIKgNggY0KtEBAAh+QQJCgAAACwAAAAAIAAgAAAE6BDISWlSqerNpyJKhWRdlSAVoVLCWk6JKlAqAavhO9UkUHsqlE6CwO1cRdCQ8iEIfzFVTzLdRAmZX3I2SfYIDMaAFdTESJeaEDAIMxYFqrOUaNW4E4ObYcCXaiBVEgULe0NJaxxtYksjh2NLkZISgDgJhHthkpU4mW6blRiYmZOlh4JWkDqILwUGBnE6TYEbCgevr0N1gH4At7gHiRpFaLNrrq8HNgAJA70AWxQIH1+vsYMDAzZQPC9VCNkDWUhGkuE5PxJNwiUK4UfLzOlD4WvzAHaoG9nxPi5d+jYUqfAhhykOFwJWiAAAIfkECQoAAAAsAAAAACAAIAAABPAQyElpUqnqzaciSoVkXVUMFaFSwlpOCcMYlErAavhOMnNLNo8KsZsMZItJEIDIFSkLGQoQTNhIsFehRww2CQLKF0tYGKYSg+ygsZIuNqJksKgbfgIGepNo2cIUB3V1B3IvNiBYNQaDSTtfhhx0CwVPI0UJe0+bm4g5VgcGoqOcnjmjqDSdnhgEoamcsZuXO1aWQy8KAwOAuTYYGwi7w5h+Kr0SJ8MFihpNbx+4Erq7BYBuzsdiH1jCAzoSfl0rVirNbRXlBBlLX+BP0XJLAPGzTkAuAOqb0WT5AH7OcdCm5B8TgRwSRKIHQtaLCwg1RAAAOwAAAAAAAAAAAA==)}.jvectormap-legend-title{font-weight:700;font-size:14px;text-align:center}.jvectormap-legend-cnt{position:absolute}.jvectormap-legend-cnt-h{bottom:0;right:0}.jvectormap-legend-cnt-v{top:0;right:0}.jvectormap-legend{background:#000;color:#fff;border-radius:3px}.jvectormap-legend-cnt-h .jvectormap-legend{float:left;margin:0 10px 10px 0;padding:3px 3px 1px}.jvectormap-legend-cnt-h .jvectormap-legend .jvectormap-legend-tick{float:left}.jvectormap-legend-cnt-v .jvectormap-legend{margin:10px 10px 0 0;padding:3px}.jvectormap-legend-cnt-h .jvectormap-legend-tick{width:40px}.jvectormap-legend-cnt-h .jvectormap-legend-tick-sample{height:15px}.jvectormap-legend-cnt-v .jvectormap-legend-tick-sample{height:20px;width:20px;display:inline-block;vertical-align:middle}.jvectormap-legend-tick-text{font-size:12px}.jvectormap-legend-cnt-h .jvectormap-legend-tick-text{text-align:center}.jvectormap-legend-cnt-v .jvectormap-legend-tick-text{display:inline-block;vertical-align:middle;line-height:20px;padding-left:3px}/*!\n * Quill Editor v1.3.6\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-bubble.ql-toolbar:after,.ql-bubble .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-bubble.ql-toolbar button,.ql-bubble .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-bubble.ql-toolbar button svg,.ql-bubble .ql-toolbar button svg{float:left;height:100%}.ql-bubble.ql-toolbar button:active:hover,.ql-bubble .ql-toolbar button:active:hover{outline:none}.ql-bubble.ql-toolbar input.ql-image[type=file],.ql-bubble .ql-toolbar input.ql-image[type=file]{display:none}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected,.ql-bubble.ql-toolbar .ql-picker-item:hover,.ql-bubble .ql-toolbar .ql-picker-item:hover,.ql-bubble.ql-toolbar .ql-picker-label.ql-active,.ql-bubble .ql-toolbar .ql-picker-label.ql-active,.ql-bubble.ql-toolbar .ql-picker-label:hover,.ql-bubble .ql-toolbar .ql-picker-label:hover,.ql-bubble.ql-toolbar button.ql-active,.ql-bubble .ql-toolbar button.ql-active,.ql-bubble.ql-toolbar button:focus,.ql-bubble .ql-toolbar button:focus,.ql-bubble.ql-toolbar button:hover,.ql-bubble .ql-toolbar button:hover{color:#fff}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button.ql-active .ql-fill,.ql-bubble .ql-toolbar button.ql-active .ql-fill,.ql-bubble.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button:focus .ql-fill,.ql-bubble .ql-toolbar button:focus .ql-fill,.ql-bubble.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-bubble.ql-toolbar button:hover .ql-fill,.ql-bubble .ql-toolbar button:hover .ql-fill,.ql-bubble.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:hover .ql-stroke.ql-fill{fill:#fff}.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-bubble.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-bubble .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-bubble.ql-toolbar button.ql-active .ql-stroke,.ql-bubble .ql-toolbar button.ql-active .ql-stroke,.ql-bubble.ql-toolbar button.ql-active .ql-stroke-miter,.ql-bubble .ql-toolbar button.ql-active .ql-stroke-miter,.ql-bubble.ql-toolbar button:focus .ql-stroke,.ql-bubble .ql-toolbar button:focus .ql-stroke,.ql-bubble.ql-toolbar button:focus .ql-stroke-miter,.ql-bubble .ql-toolbar button:focus .ql-stroke-miter,.ql-bubble.ql-toolbar button:hover .ql-stroke,.ql-bubble .ql-toolbar button:hover .ql-stroke,.ql-bubble.ql-toolbar button:hover .ql-stroke-miter,.ql-bubble .ql-toolbar button:hover .ql-stroke-miter{stroke:#fff}@media (pointer:coarse){.ql-bubble.ql-toolbar button:hover:not(.ql-active),.ql-bubble .ql-toolbar button:hover:not(.ql-active){color:#ccc}.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#ccc}.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-bubble.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-bubble .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#ccc}}.ql-bubble,.ql-bubble *{box-sizing:border-box}.ql-bubble .ql-hidden{display:none}.ql-bubble .ql-out-bottom,.ql-bubble .ql-out-top{visibility:hidden}.ql-bubble .ql-tooltip{position:absolute;-webkit-transform:translateY(10px);transform:translateY(10px)}.ql-bubble .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-bubble .ql-tooltip.ql-flip{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.ql-bubble .ql-formats{display:inline-block;vertical-align:middle}.ql-bubble .ql-formats:after{clear:both;content:\"\";display:table}.ql-bubble .ql-stroke{fill:none;stroke:#ccc;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-bubble .ql-stroke-miter{fill:none;stroke:#ccc;stroke-miterlimit:10;stroke-width:2}.ql-bubble .ql-fill,.ql-bubble .ql-stroke.ql-fill{fill:#ccc}.ql-bubble .ql-empty{fill:none}.ql-bubble .ql-even{fill-rule:evenodd}.ql-bubble .ql-stroke.ql-thin,.ql-bubble .ql-thin{stroke-width:1}.ql-bubble .ql-transparent{opacity:.4}.ql-bubble .ql-direction svg:last-child{display:none}.ql-bubble .ql-direction.ql-active svg:last-child{display:inline}.ql-bubble .ql-direction.ql-active svg:first-child{display:none}.ql-bubble .ql-editor h1{font-size:2em}.ql-bubble .ql-editor h2{font-size:1.5em}.ql-bubble .ql-editor h3{font-size:1.17em}.ql-bubble .ql-editor h4{font-size:1em}.ql-bubble .ql-editor h5{font-size:.83em}.ql-bubble .ql-editor h6{font-size:.67em}.ql-bubble .ql-editor a{text-decoration:underline}.ql-bubble .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-bubble .ql-editor code,.ql-bubble .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-bubble .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-bubble .ql-editor code{font-size:85%;padding:2px 4px}.ql-bubble .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-bubble .ql-editor img{max-width:100%}.ql-bubble .ql-picker{color:#ccc;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-bubble .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-bubble .ql-picker-label:before{display:inline-block;line-height:22px}.ql-bubble .ql-picker-options{background-color:#444;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-bubble .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-bubble .ql-picker.ql-expanded .ql-picker-label{color:#777;z-index:2}.ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#777}.ql-bubble .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#777}.ql-bubble .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-bubble .ql-color-picker,.ql-bubble .ql-icon-picker{width:28px}.ql-bubble .ql-color-picker .ql-picker-label,.ql-bubble .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-bubble .ql-color-picker .ql-picker-label svg,.ql-bubble .ql-icon-picker .ql-picker-label svg{right:4px}.ql-bubble .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-bubble .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-bubble .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-bubble .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-bubble .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-bubble .ql-picker.ql-header{width:98px}.ql-bubble .ql-picker.ql-header .ql-picker-item:before,.ql-bubble .ql-picker.ql-header .ql-picker-label:before{content:\"Normal\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before,.ql-bubble .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-bubble .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-bubble .ql-picker.ql-font{width:108px}.ql-bubble .ql-picker.ql-font .ql-picker-item:before,.ql-bubble .ql-picker.ql-font .ql-picker-label:before{content:\"Sans Serif\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:\"Serif\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-bubble .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:\"Monospace\"}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-bubble .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-bubble .ql-picker.ql-size{width:98px}.ql-bubble .ql-picker.ql-size .ql-picker-item:before,.ql-bubble .ql-picker.ql-size .ql-picker-label:before{content:\"Normal\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:\"Small\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:\"Large\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-bubble .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:\"Huge\"}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-bubble .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-bubble .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-bubble .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-bubble .ql-toolbar .ql-formats{margin:8px 12px 8px 0}.ql-bubble .ql-toolbar .ql-formats:first-child{margin-left:12px}.ql-bubble .ql-color-picker svg{margin:1px}.ql-bubble .ql-color-picker .ql-picker-item.ql-selected,.ql-bubble .ql-color-picker .ql-picker-item:hover{border-color:#fff}.ql-bubble .ql-tooltip{background-color:#444;border-radius:25px;color:#fff}.ql-bubble .ql-tooltip-arrow{border-left:6px solid transparent;border-right:6px solid transparent;content:\" \";display:block;left:50%;margin-left:-6px;position:absolute}.ql-bubble .ql-tooltip:not(.ql-flip) .ql-tooltip-arrow{border-bottom:6px solid #444;top:-6px}.ql-bubble .ql-tooltip.ql-flip .ql-tooltip-arrow{border-top:6px solid #444;bottom:-6px}.ql-bubble .ql-tooltip.ql-editing .ql-tooltip-editor{display:block}.ql-bubble .ql-tooltip.ql-editing .ql-formats{visibility:hidden}.ql-bubble .ql-tooltip-editor{display:none}.ql-bubble .ql-tooltip-editor input[type=text]{background:transparent;border:none;color:#fff;font-size:13px;height:100%;outline:none;padding:10px 20px;position:absolute;width:100%}.ql-bubble .ql-tooltip-editor a{top:10px;position:absolute;right:20px}.ql-bubble .ql-tooltip-editor a:before{color:#ccc;content:\"\\D7\";font-size:16px;font-weight:700}.ql-container.ql-bubble:not(.ql-disabled) a{position:relative;white-space:nowrap}.ql-container.ql-bubble:not(.ql-disabled) a:before{background-color:#444;border-radius:15px;top:-5px;font-size:12px;color:#fff;content:attr(href);font-weight:400;overflow:hidden;padding:5px 15px;text-decoration:none;z-index:1}.ql-container.ql-bubble:not(.ql-disabled) a:after{border-top:6px solid #444;border-left:6px solid transparent;border-right:6px solid transparent;top:0;content:\" \";height:0;width:0}.ql-container.ql-bubble:not(.ql-disabled) a:after,.ql-container.ql-bubble:not(.ql-disabled) a:before{left:0;margin-left:50%;position:absolute;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%);transition:visibility 0s ease .2s;visibility:hidden}.ql-container.ql-bubble:not(.ql-disabled) a:hover:after,.ql-container.ql-bubble:not(.ql-disabled) a:hover:before{visibility:visible}/*!\n * Quill Editor v1.3.6\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li:before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:none;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li:before{content:\"\\2022\"}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li:before,.ql-editor ul[data-checked=true]>li:before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li:before{content:\"\\2611\"}.ql-editor ul[data-checked=false]>li:before{content:\"\\2610\"}.ql-editor li:before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl):before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl:before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) \". \"}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) \". \"}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) \". \"}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) \". \"}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) \". \"}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) \". \"}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) \". \"}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) \". \"}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) \". \"}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) \". \"}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank:before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow.ql-toolbar:after,.ql-snow .ql-toolbar:after{clear:both;content:\"\";display:table}.ql-snow.ql-toolbar button,.ql-snow .ql-toolbar button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow.ql-toolbar button svg,.ql-snow .ql-toolbar button svg{float:left;height:100%}.ql-snow.ql-toolbar button:active:hover,.ql-snow .ql-toolbar button:active:hover{outline:none}.ql-snow.ql-toolbar input.ql-image[type=file],.ql-snow .ql-toolbar input.ql-image[type=file]{display:none}.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow .ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow .ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover,.ql-snow .ql-toolbar button:hover{color:#06c}.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow.ql-toolbar button:hover:not(.ql-active),.ql-snow .ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow,.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;-webkit-transform:translateY(10px);transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{-webkit-transform:translateY(-10px);transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:\"\";display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label:before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=\"\"]):before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=\"\"]):before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item:before,.ql-snow .ql-picker.ql-header .ql-picker-label:before{content:\"Normal\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]:before{content:\"Heading 1\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]:before{content:\"Heading 2\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]:before{content:\"Heading 3\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]:before{content:\"Heading 4\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]:before{content:\"Heading 5\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]:before{content:\"Heading 6\"}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]:before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]:before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]:before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]:before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]:before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]:before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item:before,.ql-snow .ql-picker.ql-font .ql-picker-label:before{content:\"Sans Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]:before{content:\"Serif\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]:before{content:\"Monospace\"}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]:before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]:before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item:before,.ql-snow .ql-picker.ql-size .ql-picker-label:before{content:\"Normal\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]:before{content:\"Small\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]:before{content:\"Large\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]:before{content:\"Huge\"}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]:before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]:before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]:before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:0 2px 8px rgba(0,0,0,.2)}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label,.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip:before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action:after{border-right:1px solid #ccc;content:\"Edit\";margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove:before{content:\"Remove\";margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action:after{border-right:0;content:\"Save\";padding-right:0}.ql-snow .ql-tooltip[data-mode=link]:before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]:before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]:before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0!important;clip:rect(0 0 0 0)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__placeholder{color:#999;margin-top:5px;float:left}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-top:5px;margin-right:10px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #dee2e6;border-radius:.2rem;outline:0;background-image:linear-gradient(180deg,#fff 50%,#eee);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#FFFFFFFF\",endColorstr=\"#FFEEEEEE\",GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #dee2e6;border-top-right-radius:.2rem;border-bottom-right-radius:.2rem;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:linear-gradient(180deg,#eee 50%,#ccc);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#FFEEEEEE\",endColorstr=\"#FFCCCCCC\",GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #dee2e6;border-radius:0;border-top-left-radius:.2rem;border-bottom-left-radius:.2rem;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:linear-gradient(180deg,#fff 0,#eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#FFFFFFFF\",endColorstr=\"#FFEEEEEE\",GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:linear-gradient(180deg,#eee 50%,#fff);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#FFEEEEEE\",endColorstr=\"#FFFFFFFF\",GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #dee2e6;border-radius:.2rem;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #dee2e6;border-radius:.2rem;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:700;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #dee2e6;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}/*!\n *\n *         SimpleBar.js - v2.6.1\n *         Scrollbars, simpler.\n *         https://grsmto.github.io/simplebar/\n *\n *         Made by Adrien Grsmto from a fork by Jonathan Nicol\n *         Under MIT License\n *\n */[data-simplebar]{position:relative;z-index:0;overflow:hidden!important;max-height:inherit;-webkit-overflow-scrolling:touch}[data-simplebar=init]{display:-webkit-flex;display:flex}.simplebar-scroll-content{overflow-x:hidden!important;overflow-y:scroll;min-width:100%!important;max-height:inherit!important;box-sizing:content-box!important}.simplebar-content{overflow-y:hidden!important;overflow-x:scroll;box-sizing:border-box!important;min-height:100%!important}.simplebar-track{z-index:1;position:absolute;right:0;bottom:0;width:11px}.simplebar-scrollbar{position:absolute;right:2px;width:7px;min-height:10px}.simplebar-scrollbar:before{position:absolute;content:\"\";background:#000;border-radius:7px;left:0;right:0;opacity:0;transition:opacity .2s linear}.simplebar-track .simplebar-scrollbar.visible:before,.simplebar-track:hover .simplebar-scrollbar:before{opacity:.5;transition:opacity 0 linear}.simplebar-track.vertical{top:0}.simplebar-track.vertical .simplebar-scrollbar:before{top:2px;bottom:2px}.simplebar-track.horizontal{left:0;width:auto;height:11px}.simplebar-track.horizontal .simplebar-scrollbar:before{height:100%;left:2px;right:2px}.horizontal.simplebar-track .simplebar-scrollbar{right:auto;top:2px;height:7px;min-height:0;min-width:10px;width:auto}/*!\n * SmartWizard v4.3.x\n * jQuery Wizard Plugin\n * http://www.techlaboratory.net/smartwizard\n *\n * Created by Dipu Raj\n * http://dipuraj.me\n *\n * Licensed under the terms of MIT License\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\n */.sw-main{border-radius:.25rem!important}.sw-main,.sw-main .sw-container{position:relative;display:block;margin:0;padding:0}.sw-main .step-content{display:none;position:relative;margin:0}.sw-main .sw-toolbar{margin-left:0}.sw-theme-default{box-shadow:0 1px 3px rgba(0,0,0,.3)}.sw-theme-default .sw-container{min-height:250px}.sw-theme-default .step-content{padding:10px;border:0 solid #d4d4d4;background-color:#fff;text-align:left}.sw-theme-default .sw-toolbar{background:#f9f9f9;border-radius:0!important;padding:10px;margin-bottom:0!important}.sw-theme-default .sw-toolbar-top{border-bottom-color:#ddd!important}.sw-theme-default .sw-toolbar-bottom{border-top-color:#ddd!important}.sw-theme-default>ul.step-anchor>li{position:relative;margin-right:2px}.sw-theme-default>ul.step-anchor>li>a,.sw-theme-default>ul.step-anchor>li>a:hover{color:#bbb;text-decoration:none;outline-style:none;background:transparent!important;border:none!important;cursor:not-allowed}.sw-theme-default>ul.step-anchor>li.clickable>a:hover{color:#4285f4!important;background:transparent!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li>a:after{content:\"\";background:#4285f4;height:2px;position:absolute;width:100%;left:0;bottom:0;transition:all .25s ease 0s;-webkit-transform:scale(0);transform:scale(0)}.sw-theme-default>ul.step-anchor>li.active>a{border:none!important;color:#4285f4!important;background:transparent!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li.active>a:after{-webkit-transform:scale(1);transform:scale(1)}.sw-theme-default>ul.step-anchor>li.done>a{border:none!important;color:#000!important;background:transparent!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li.done>a:after{background:#5cb85c;-webkit-transform:scale(1);transform:scale(1)}.sw-theme-default>ul.step-anchor>li.danger>a{border:none!important;color:#d9534f!important;cursor:pointer}.sw-theme-default>ul.step-anchor>li.danger>a:after{background:#d9534f;border-left-color:#f8d7da;-webkit-transform:scale(1);transform:scale(1)}.sw-theme-default>ul.step-anchor>li.disabled>a,.sw-theme-default>ul.step-anchor>li.disabled>a:hover{color:#eee!important;cursor:not-allowed}@media screen and (max-width:768px){.sw-theme-default>.nav-tabs>li{float:none!important}}.sw-loading:after{position:absolute;display:block;opacity:1;content:\"\";top:0;left:0;height:100%;width:100%;background:hsla(0,0%,100%,.7);transition:all .2s ease;z-index:2}.sw-loading:before{content:\"\";display:inline-block;position:absolute;top:50%;left:50%;z-index:10;border-radius:50%;border:10px solid #f3f3f3;border-top-color:#3498db;width:80px;height:80px;margin-top:-40px;margin-left:-40px;-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}/*!\n * SmartWizard v4.3.x\n * jQuery Wizard Plugin\n * http://www.techlaboratory.net/smartwizard\n *\n * Created by Dipu Raj\n * http://dipuraj.me\n *\n * Licensed under the terms of MIT License\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\n */.sw-theme-arrows{border-radius:5px;border:1px solid #ddd}.sw-theme-arrows>.sw-container{min-height:200px}.sw-theme-arrows .step-content{padding:0 10px;border:0 solid #d4d4d4;background-color:#fff;text-align:left}.sw-theme-arrows .sw-toolbar{padding:10px;margin-bottom:0!important}.sw-theme-arrows>ul.step-anchor{border:0;border-bottom:1px solid #ddd;padding:0;background:#f5f5f5;border-radius:0;border-top-right-radius:5px;list-style:none;overflow:hidden}.sw-theme-arrows>ul.step-anchor li+li:before{padding:0}.sw-theme-arrows>ul.step-anchor>li>a,.sw-theme-arrows>ul.step-anchor>li>a:hover{color:#bbb;text-decoration:none;padding:10px 0 10px 45px;position:relative;display:block;border:0!important;border-radius:0;outline-style:none;background:#f5f5f5}.sw-theme-arrows>ul.step-anchor>li>a:after{border-left:30px solid #f5f5f5;z-index:2}.sw-theme-arrows>ul.step-anchor>li>a:after,.sw-theme-arrows>ul.step-anchor>li>a:before{content:\" \";display:block;width:0;height:0;border-top:50px solid transparent;border-bottom:50px solid transparent;position:absolute;top:50%;margin-top:-50px;left:100%}.sw-theme-arrows>ul.step-anchor>li>a:before{border-left:30px solid #ddd;margin-left:1px;z-index:1}.sw-theme-arrows>ul.step-anchor>li:first-child>a{padding-left:15px}.sw-theme-arrows>ul.step-anchor>li>a:hover{color:#bbb;text-decoration:none;outline-style:none;background:#f5f5f5;border-color:#f5f5f5}.sw-theme-arrows>ul.step-anchor>li>a:hover:after{border-left-color:#f5f5f5}.sw-theme-arrows>ul.step-anchor>li.clickable>a:hover{color:#4285f4!important;background:#46b8da!important}.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#5cb85c!important;color:#fff!important;background:#5cb85c!important}.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left:30px solid #5cb85c!important}.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#b1dfbb!important;color:#fff!important;background:#b1dfbb!important}.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left:30px solid #b1dfbb}.sw-theme-arrows>ul.step-anchor>li.danger>a{border-color:#d9534f!important;color:#fff!important;background:#d9534f!important}.sw-theme-arrows>ul.step-anchor>li.danger>a:after{border-left:30px solid #d9534f!important}.sw-theme-arrows>ul.step-anchor>li.disabled>a,.sw-theme-arrows>ul.step-anchor>li.disabled>a:hover{color:#eee!important}@media screen and (max-width:768px){.sw-theme-arrows>ul.step-anchor{border:0;background:#ddd!important}.sw-theme-arrows>.nav-tabs>li{float:none!important;margin-bottom:0}.sw-theme-arrows>ul.step-anchor>li>a,.sw-theme-arrows>ul.step-anchor>li>a:hover{padding-left:15px;margin-right:0;margin-bottom:1px}.sw-theme-arrows>ul.step-anchor>li>a:after,.sw-theme-arrows>ul.step-anchor>li>a:before{display:none}}.sw-theme-arrows:before{border:10px solid #f3f3f3;border-top-color:#5cb85c}.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:14rem}@media (min-width:576px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:after,.bootstrap-datetimepicker-widget.dropdown-menu:before{content:\"\";display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid rgba(0,0,0,.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid rgba(0,0,0,.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.float-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.float-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget.dropdown-menu.wider{width:16rem}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=incrementHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=incrementHours]:after{content:\"Increment Hours\"}.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=incrementMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=incrementMinutes]:after{content:\"Increment Minutes\"}.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=decrementHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=decrementHours]:after{content:\"Decrement Hours\"}.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=decrementMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=decrementMinutes]:after{content:\"Decrement Minutes\"}.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=showHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=showHours]:after{content:\"Show Hours\"}.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=showMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=showMinutes]:after{content:\"Show Minutes\"}.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=togglePeriod]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=togglePeriod]:after{content:\"Toggle AM/PM\"}.bootstrap-datetimepicker-widget .btn[data-action=clear]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=clear]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=clear]:after{content:\"Clear the picker\"}.bootstrap-datetimepicker-widget .btn[data-action=today]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=today]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=today]:after{content:\"Set the date to today\"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch:after{content:\"Toggle Date and Time Screens\"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:.2rem}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev:after{content:\"Previous Month\"}.bootstrap-datetimepicker-widget table th.next:after{content:\"Next Month\"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#e9ecef}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#6c757d}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#e9ecef;cursor:pointer}.bootstrap-datetimepicker-widget table td.new,.bootstrap-datetimepicker-widget table td.old{color:#6c757d}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:\"\";display:inline-block;border-color:rgba(0,0,0,.2) transparent #47bac1;border-style:solid;border-width:0 0 7px 7px;position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#47bac1;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:.2rem}.bootstrap-datetimepicker-widget table td span:hover{background:#e9ecef}.bootstrap-datetimepicker-widget table td span.active{background-color:#47bac1;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget table td span.old{color:#6c757d}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#6c757d;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.input-group [data-toggle=datetimepicker]{cursor:pointer}.toast-title{font-weight:700}.toast-message{-ms-word-wrap:break-word;word-wrap:break-word}.toast-message a,.toast-message label{color:#fff}.toast-message a:hover{color:#ccc;text-decoration:none}.toast-close-button{position:relative;right:-.3em;top:-.3em;float:right;font-size:20px;font-weight:700;color:#fff;-webkit-text-shadow:0 1px 0 #fff;text-shadow:0 1px 0 #fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}.toast-close-button:focus,.toast-close-button:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}button.toast-close-button{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.toast-top-center{top:0;right:0;width:100%}.toast-bottom-center{bottom:0;right:0;width:100%}.toast-top-full-width{top:0;right:0;width:100%}.toast-bottom-full-width{bottom:0;right:0;width:100%}.toast-top-left{top:12px;left:12px}.toast-top-right{top:12px;right:12px}.toast-bottom-right{right:12px;bottom:12px}.toast-bottom-left{bottom:12px;left:12px}#toast-container{position:fixed;z-index:999999}#toast-container *{box-sizing:border-box}#toast-container>div{position:relative;overflow:hidden;margin:0 0 6px;padding:15px 15px 15px 50px;width:300px;border-radius:3px 3px 3px 3px;background-position:15px;background-repeat:no-repeat;box-shadow:0 0 12px #999;color:#fff;opacity:.8;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=80);filter:alpha(opacity=80)}#toast-container>div:hover{box-shadow:0 0 12px #000;opacity:1;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=100);filter:alpha(opacity=100);cursor:pointer}#toast-container>.toast-info{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGwSURBVEhLtZa9SgNBEMc9sUxxRcoUKSzSWIhXpFMhhYWFhaBg4yPYiWCXZxBLERsLRS3EQkEfwCKdjWJAwSKCgoKCcudv4O5YLrt7EzgXhiU3/4+b2ckmwVjJSpKkQ6wAi4gwhT+z3wRBcEz0yjSseUTrcRyfsHsXmD0AmbHOC9Ii8VImnuXBPglHpQ5wwSVM7sNnTG7Za4JwDdCjxyAiH3nyA2mtaTJufiDZ5dCaqlItILh1NHatfN5skvjx9Z38m69CgzuXmZgVrPIGE763Jx9qKsRozWYw6xOHdER+nn2KkO+Bb+UV5CBN6WC6QtBgbRVozrahAbmm6HtUsgtPC19tFdxXZYBOfkbmFJ1VaHA1VAHjd0pp70oTZzvR+EVrx2Ygfdsq6eu55BHYR8hlcki+n+kERUFG8BrA0BwjeAv2M8WLQBtcy+SD6fNsmnB3AlBLrgTtVW1c2QN4bVWLATaIS60J2Du5y1TiJgjSBvFVZgTmwCU+dAZFoPxGEEs8nyHC9Bwe2GvEJv2WXZb0vjdyFT4Cxk3e/kIqlOGoVLwwPevpYHT+00T+hWwXDf4AJAOUqWcDhbwAAAAASUVORK5CYII=\")!important}#toast-container>.toast-error{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAHOSURBVEhLrZa/SgNBEMZzh0WKCClSCKaIYOED+AAKeQQLG8HWztLCImBrYadgIdY+gIKNYkBFSwu7CAoqCgkkoGBI/E28PdbLZmeDLgzZzcx83/zZ2SSXC1j9fr+I1Hq93g2yxH4iwM1vkoBWAdxCmpzTxfkN2RcyZNaHFIkSo10+8kgxkXIURV5HGxTmFuc75B2RfQkpxHG8aAgaAFa0tAHqYFfQ7Iwe2yhODk8+J4C7yAoRTWI3w/4klGRgR4lO7Rpn9+gvMyWp+uxFh8+H+ARlgN1nJuJuQAYvNkEnwGFck18Er4q3egEc/oO+mhLdKgRyhdNFiacC0rlOCbhNVz4H9FnAYgDBvU3QIioZlJFLJtsoHYRDfiZoUyIxqCtRpVlANq0EU4dApjrtgezPFad5S19Wgjkc0hNVnuF4HjVA6C7QrSIbylB+oZe3aHgBsqlNqKYH48jXyJKMuAbiyVJ8KzaB3eRc0pg9VwQ4niFryI68qiOi3AbjwdsfnAtk0bCjTLJKr6mrD9g8iq/S/B81hguOMlQTnVyG40wAcjnmgsCNESDrjme7wfftP4P7SP4N3CJZdvzoNyGq2c/HWOXJGsvVg+RA/k2MC/wN6I2YA2Pt8GkAAAAASUVORK5CYII=\")!important}#toast-container>.toast-success{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADsSURBVEhLY2AYBfQMgf///3P8+/evAIgvA/FsIF+BavYDDWMBGroaSMMBiE8VC7AZDrIFaMFnii3AZTjUgsUUWUDA8OdAH6iQbQEhw4HyGsPEcKBXBIC4ARhex4G4BsjmweU1soIFaGg/WtoFZRIZdEvIMhxkCCjXIVsATV6gFGACs4Rsw0EGgIIH3QJYJgHSARQZDrWAB+jawzgs+Q2UO49D7jnRSRGoEFRILcdmEMWGI0cm0JJ2QpYA1RDvcmzJEWhABhD/pqrL0S0CWuABKgnRki9lLseS7g2AlqwHWQSKH4oKLrILpRGhEQCw2LiRUIa4lwAAAABJRU5ErkJggg==\")!important}#toast-container>.toast-warning{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGYSURBVEhL5ZSvTsNQFMbXZGICMYGYmJhAQIJAICYQPAACiSDB8AiICQQJT4CqQEwgJvYASAQCiZiYmJhAIBATCARJy+9rTsldd8sKu1M0+dLb057v6/lbq/2rK0mS/TRNj9cWNAKPYIJII7gIxCcQ51cvqID+GIEX8ASG4B1bK5gIZFeQfoJdEXOfgX4QAQg7kH2A65yQ87lyxb27sggkAzAuFhbbg1K2kgCkB1bVwyIR9m2L7PRPIhDUIXgGtyKw575yz3lTNs6X4JXnjV+LKM/m3MydnTbtOKIjtz6VhCBq4vSm3ncdrD2lk0VgUXSVKjVDJXJzijW1RQdsU7F77He8u68koNZTz8Oz5yGa6J3H3lZ0xYgXBK2QymlWWA+RWnYhskLBv2vmE+hBMCtbA7KX5drWyRT/2JsqZ2IvfB9Y4bWDNMFbJRFmC9E74SoS0CqulwjkC0+5bpcV1CZ8NMej4pjy0U+doDQsGyo1hzVJttIjhQ7GnBtRFN1UarUlH8F3xict+HY07rEzoUGPlWcjRFRr4/gChZgc3ZL2d8oAAAAASUVORK5CYII=\")!important}#toast-container.toast-bottom-center>div,#toast-container.toast-top-center>div{width:300px;margin-left:auto;margin-right:auto}#toast-container.toast-bottom-full-width>div,#toast-container.toast-top-full-width>div{width:96%;margin-left:auto;margin-right:auto}.toast{background-color:#030303}.toast-success{background-color:#51a351}.toast-error{background-color:#bd362f}.toast-info{background-color:#2f96b4}.toast-warning{background-color:#f89406}.toast-progress{position:absolute;left:0;bottom:0;height:4px;background-color:#000;opacity:.4;-ms-filter:progid:DXImageTransform.Microsoft.Alpha(Opacity=40);filter:alpha(opacity=40)}@media (max-width:240px){#toast-container>div{padding:8px 8px 8px 50px;width:11em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media (min-width:241px) and (max-width:480px){#toast-container>div{padding:8px 8px 8px 50px;width:18em}#toast-container .toast-close-button{right:-.2em;top:-.2em}}@media (min-width:481px) and (max-width:768px){#toast-container>div{padding:15px 15px 15px 50px;width:25em}}/*!\n * FullCalendar v3.10.0\n * Docs & License: https://fullcalendar.io/\n * (c) 2018 Adam Shaw\n */.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}body .fc{font-size:1em}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc button{box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-default{background-color:#f5f5f5;background-image:linear-gradient(180deg,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px hsla(0,0%,100%,.75);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;box-shadow:none}.fc-button-group{display:inline-block}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-popover .fc-header .fc-close{cursor:pointer}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc-bg{bottom:0}.fc-bg table{height:100%}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc th{text-align:center}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]{cursor:pointer}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc .fc-row .fc-content-skeleton table,.fc .fc-row .fc-content-skeleton td,.fc .fc-row .fc-helper-skeleton td{background:none;border-color:transparent}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad}.fc-event,.fc-event-dot{background-color:#3a87ad}.fc-event,.fc-event:hover{color:#fff;text-decoration:none}.fc-event.fc-draggable,.fc-event[href]{cursor:pointer}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:\"\";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-h-event.fc-selected:before{content:\"\";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;width:6px;height:6px;border:1px solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-day-grid-event.fc-selected:after{content:\"\";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed td.fc-today{background:#fcf8e3}.fc-unthemed .fc-disabled-day{background:#d7d7d7;opacity:.3}.fc-icon{display:inline-block;height:1em;line-height:1em;font-size:1em;text-align:center;overflow:hidden;font-family:Courier New,Courier,monospace;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative}.fc-icon-left-single-arrow:after{content:\"\\2039\";font-weight:700;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:\"\\203A\";font-weight:700;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:\"\\AB\";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:\"\\BB\";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:\"\\25C4\";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:\"\\25BA\";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:\"\\25BC\";font-size:125%;top:2%}.fc-icon-x:after{content:\"\\D7\";font-size:200%;top:6%}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-unthemed .fc-list-item:hover td{background-color:#f5f5f5}.ui-widget .fc-disabled-day{background-image:none}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.ui-widget .fc-event{color:#fff;text-decoration:none;font-weight:400}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid .fc-slats .ui-widget-content{background:none}.fc.fc-bootstrap3 a{text-decoration:none}.fc.fc-bootstrap3 a[data-goto]:hover{text-decoration:underline}.fc-bootstrap3 hr.fc-divider{border-color:inherit}.fc-bootstrap3 .fc-today.alert{border-radius:0}.fc-bootstrap3 .fc-popover .panel-body{padding:0}.fc-bootstrap3 .fc-time-grid .fc-slats table{background:none}.fc.fc-bootstrap4 a{text-decoration:none}.fc.fc-bootstrap4 a[data-goto]:hover{text-decoration:underline}.fc-bootstrap4 hr.fc-divider{border-color:inherit}.fc-bootstrap4 .fc-today.alert{border-radius:0}.fc-bootstrap4 a.fc-event:not([href]):not([tabindex]){color:#fff}.fc-bootstrap4 .fc-popover.card{position:absolute}.fc-bootstrap4 .fc-popover .card-body{padding:0}.fc-bootstrap4 .fc-time-grid .fc-slats table{background:none}.fc-toolbar{text-align:center}.fc-toolbar.fc-header-toolbar{margin-bottom:1em}.fc-toolbar.fc-footer-toolbar{margin-top:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:2px}.fc-basic-view th.fc-day-number,.fc-basic-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-basic-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-basic-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-basic-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px 0}.fc-rtl .fc-basic-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-basic-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-basic-view td.fc-week-number{text-align:center}.fc-basic-view td.fc-week-number>*{display:inline-block;min-width:1.25em}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-highlight-container{position:relative}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event{overflow:hidden}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:\"\\A0-\\A0\"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:\"=\"}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;width:8px;height:8px;border:1px solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}/*!\n * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:\"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:\"\\f26e\"}.fa-accessible-icon:before{content:\"\\f368\"}.fa-accusoft:before{content:\"\\f369\"}.fa-acquisitions-incorporated:before{content:\"\\f6af\"}.fa-ad:before{content:\"\\f641\"}.fa-address-book:before{content:\"\\f2b9\"}.fa-address-card:before{content:\"\\f2bb\"}.fa-adjust:before{content:\"\\f042\"}.fa-adn:before{content:\"\\f170\"}.fa-adobe:before{content:\"\\f778\"}.fa-adversal:before{content:\"\\f36a\"}.fa-affiliatetheme:before{content:\"\\f36b\"}.fa-air-freshener:before{content:\"\\f5d0\"}.fa-airbnb:before{content:\"\\f834\"}.fa-algolia:before{content:\"\\f36c\"}.fa-align-center:before{content:\"\\f037\"}.fa-align-justify:before{content:\"\\f039\"}.fa-align-left:before{content:\"\\f036\"}.fa-align-right:before{content:\"\\f038\"}.fa-alipay:before{content:\"\\f642\"}.fa-allergies:before{content:\"\\f461\"}.fa-amazon:before{content:\"\\f270\"}.fa-amazon-pay:before{content:\"\\f42c\"}.fa-ambulance:before{content:\"\\f0f9\"}.fa-american-sign-language-interpreting:before{content:\"\\f2a3\"}.fa-amilia:before{content:\"\\f36d\"}.fa-anchor:before{content:\"\\f13d\"}.fa-android:before{content:\"\\f17b\"}.fa-angellist:before{content:\"\\f209\"}.fa-angle-double-down:before{content:\"\\f103\"}.fa-angle-double-left:before{content:\"\\f100\"}.fa-angle-double-right:before{content:\"\\f101\"}.fa-angle-double-up:before{content:\"\\f102\"}.fa-angle-down:before{content:\"\\f107\"}.fa-angle-left:before{content:\"\\f104\"}.fa-angle-right:before{content:\"\\f105\"}.fa-angle-up:before{content:\"\\f106\"}.fa-angry:before{content:\"\\f556\"}.fa-angrycreative:before{content:\"\\f36e\"}.fa-angular:before{content:\"\\f420\"}.fa-ankh:before{content:\"\\f644\"}.fa-app-store:before{content:\"\\f36f\"}.fa-app-store-ios:before{content:\"\\f370\"}.fa-apper:before{content:\"\\f371\"}.fa-apple:before{content:\"\\f179\"}.fa-apple-alt:before{content:\"\\f5d1\"}.fa-apple-pay:before{content:\"\\f415\"}.fa-archive:before{content:\"\\f187\"}.fa-archway:before{content:\"\\f557\"}.fa-arrow-alt-circle-down:before{content:\"\\f358\"}.fa-arrow-alt-circle-left:before{content:\"\\f359\"}.fa-arrow-alt-circle-right:before{content:\"\\f35a\"}.fa-arrow-alt-circle-up:before{content:\"\\f35b\"}.fa-arrow-circle-down:before{content:\"\\f0ab\"}.fa-arrow-circle-left:before{content:\"\\f0a8\"}.fa-arrow-circle-right:before{content:\"\\f0a9\"}.fa-arrow-circle-up:before{content:\"\\f0aa\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-arrows-alt:before{content:\"\\f0b2\"}.fa-arrows-alt-h:before{content:\"\\f337\"}.fa-arrows-alt-v:before{content:\"\\f338\"}.fa-artstation:before{content:\"\\f77a\"}.fa-assistive-listening-systems:before{content:\"\\f2a2\"}.fa-asterisk:before{content:\"\\f069\"}.fa-asymmetrik:before{content:\"\\f372\"}.fa-at:before{content:\"\\f1fa\"}.fa-atlas:before{content:\"\\f558\"}.fa-atlassian:before{content:\"\\f77b\"}.fa-atom:before{content:\"\\f5d2\"}.fa-audible:before{content:\"\\f373\"}.fa-audio-description:before{content:\"\\f29e\"}.fa-autoprefixer:before{content:\"\\f41c\"}.fa-avianex:before{content:\"\\f374\"}.fa-aviato:before{content:\"\\f421\"}.fa-award:before{content:\"\\f559\"}.fa-aws:before{content:\"\\f375\"}.fa-baby:before{content:\"\\f77c\"}.fa-baby-carriage:before{content:\"\\f77d\"}.fa-backspace:before{content:\"\\f55a\"}.fa-backward:before{content:\"\\f04a\"}.fa-bacon:before{content:\"\\f7e5\"}.fa-balance-scale:before{content:\"\\f24e\"}.fa-ban:before{content:\"\\f05e\"}.fa-band-aid:before{content:\"\\f462\"}.fa-bandcamp:before{content:\"\\f2d5\"}.fa-barcode:before{content:\"\\f02a\"}.fa-bars:before{content:\"\\f0c9\"}.fa-baseball-ball:before{content:\"\\f433\"}.fa-basketball-ball:before{content:\"\\f434\"}.fa-bath:before{content:\"\\f2cd\"}.fa-battery-empty:before{content:\"\\f244\"}.fa-battery-full:before{content:\"\\f240\"}.fa-battery-half:before{content:\"\\f242\"}.fa-battery-quarter:before{content:\"\\f243\"}.fa-battery-three-quarters:before{content:\"\\f241\"}.fa-battle-net:before{content:\"\\f835\"}.fa-bed:before{content:\"\\f236\"}.fa-beer:before{content:\"\\f0fc\"}.fa-behance:before{content:\"\\f1b4\"}.fa-behance-square:before{content:\"\\f1b5\"}.fa-bell:before{content:\"\\f0f3\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-bezier-curve:before{content:\"\\f55b\"}.fa-bible:before{content:\"\\f647\"}.fa-bicycle:before{content:\"\\f206\"}.fa-bimobject:before{content:\"\\f378\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-biohazard:before{content:\"\\f780\"}.fa-birthday-cake:before{content:\"\\f1fd\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-bitcoin:before{content:\"\\f379\"}.fa-bity:before{content:\"\\f37a\"}.fa-black-tie:before{content:\"\\f27e\"}.fa-blackberry:before{content:\"\\f37b\"}.fa-blender:before{content:\"\\f517\"}.fa-blender-phone:before{content:\"\\f6b6\"}.fa-blind:before{content:\"\\f29d\"}.fa-blog:before{content:\"\\f781\"}.fa-blogger:before{content:\"\\f37c\"}.fa-blogger-b:before{content:\"\\f37d\"}.fa-bluetooth:before{content:\"\\f293\"}.fa-bluetooth-b:before{content:\"\\f294\"}.fa-bold:before{content:\"\\f032\"}.fa-bolt:before{content:\"\\f0e7\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-bone:before{content:\"\\f5d7\"}.fa-bong:before{content:\"\\f55c\"}.fa-book:before{content:\"\\f02d\"}.fa-book-dead:before{content:\"\\f6b7\"}.fa-book-medical:before{content:\"\\f7e6\"}.fa-book-open:before{content:\"\\f518\"}.fa-book-reader:before{content:\"\\f5da\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-bootstrap:before{content:\"\\f836\"}.fa-bowling-ball:before{content:\"\\f436\"}.fa-box:before{content:\"\\f466\"}.fa-box-open:before{content:\"\\f49e\"}.fa-boxes:before{content:\"\\f468\"}.fa-braille:before{content:\"\\f2a1\"}.fa-brain:before{content:\"\\f5dc\"}.fa-bread-slice:before{content:\"\\f7ec\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-briefcase-medical:before{content:\"\\f469\"}.fa-broadcast-tower:before{content:\"\\f519\"}.fa-broom:before{content:\"\\f51a\"}.fa-brush:before{content:\"\\f55d\"}.fa-btc:before{content:\"\\f15a\"}.fa-buffer:before{content:\"\\f837\"}.fa-bug:before{content:\"\\f188\"}.fa-building:before{content:\"\\f1ad\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-bullseye:before{content:\"\\f140\"}.fa-burn:before{content:\"\\f46a\"}.fa-buromobelexperte:before{content:\"\\f37f\"}.fa-bus:before{content:\"\\f207\"}.fa-bus-alt:before{content:\"\\f55e\"}.fa-business-time:before{content:\"\\f64a\"}.fa-buysellads:before{content:\"\\f20d\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-calendar:before{content:\"\\f133\"}.fa-calendar-alt:before{content:\"\\f073\"}.fa-calendar-check:before{content:\"\\f274\"}.fa-calendar-day:before{content:\"\\f783\"}.fa-calendar-minus:before{content:\"\\f272\"}.fa-calendar-plus:before{content:\"\\f271\"}.fa-calendar-times:before{content:\"\\f273\"}.fa-calendar-week:before{content:\"\\f784\"}.fa-camera:before{content:\"\\f030\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-campground:before{content:\"\\f6bb\"}.fa-canadian-maple-leaf:before{content:\"\\f785\"}.fa-candy-cane:before{content:\"\\f786\"}.fa-cannabis:before{content:\"\\f55f\"}.fa-capsules:before{content:\"\\f46b\"}.fa-car:before{content:\"\\f1b9\"}.fa-car-alt:before{content:\"\\f5de\"}.fa-car-battery:before{content:\"\\f5df\"}.fa-car-crash:before{content:\"\\f5e1\"}.fa-car-side:before{content:\"\\f5e4\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-caret-square-down:before{content:\"\\f150\"}.fa-caret-square-left:before{content:\"\\f191\"}.fa-caret-square-right:before{content:\"\\f152\"}.fa-caret-square-up:before{content:\"\\f151\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-carrot:before{content:\"\\f787\"}.fa-cart-arrow-down:before{content:\"\\f218\"}.fa-cart-plus:before{content:\"\\f217\"}.fa-cash-register:before{content:\"\\f788\"}.fa-cat:before{content:\"\\f6be\"}.fa-cc-amazon-pay:before{content:\"\\f42d\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-cc-apple-pay:before{content:\"\\f416\"}.fa-cc-diners-club:before{content:\"\\f24c\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-cc-jcb:before{content:\"\\f24b\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-centercode:before{content:\"\\f380\"}.fa-centos:before{content:\"\\f789\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-chair:before{content:\"\\f6c0\"}.fa-chalkboard:before{content:\"\\f51b\"}.fa-chalkboard-teacher:before{content:\"\\f51c\"}.fa-charging-station:before{content:\"\\f5e7\"}.fa-chart-area:before{content:\"\\f1fe\"}.fa-chart-bar:before{content:\"\\f080\"}.fa-chart-line:before{content:\"\\f201\"}.fa-chart-pie:before{content:\"\\f200\"}.fa-check:before{content:\"\\f00c\"}.fa-check-circle:before{content:\"\\f058\"}.fa-check-double:before{content:\"\\f560\"}.fa-check-square:before{content:\"\\f14a\"}.fa-cheese:before{content:\"\\f7ef\"}.fa-chess:before{content:\"\\f439\"}.fa-chess-bishop:before{content:\"\\f43a\"}.fa-chess-board:before{content:\"\\f43c\"}.fa-chess-king:before{content:\"\\f43f\"}.fa-chess-knight:before{content:\"\\f441\"}.fa-chess-pawn:before{content:\"\\f443\"}.fa-chess-queen:before{content:\"\\f445\"}.fa-chess-rook:before{content:\"\\f447\"}.fa-chevron-circle-down:before{content:\"\\f13a\"}.fa-chevron-circle-left:before{content:\"\\f137\"}.fa-chevron-circle-right:before{content:\"\\f138\"}.fa-chevron-circle-up:before{content:\"\\f139\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-child:before{content:\"\\f1ae\"}.fa-chrome:before{content:\"\\f268\"}.fa-chromecast:before{content:\"\\f838\"}.fa-church:before{content:\"\\f51d\"}.fa-circle:before{content:\"\\f111\"}.fa-circle-notch:before{content:\"\\f1ce\"}.fa-city:before{content:\"\\f64f\"}.fa-clinic-medical:before{content:\"\\f7f2\"}.fa-clipboard:before{content:\"\\f328\"}.fa-clipboard-check:before{content:\"\\f46c\"}.fa-clipboard-list:before{content:\"\\f46d\"}.fa-clock:before{content:\"\\f017\"}.fa-clone:before{content:\"\\f24d\"}.fa-closed-captioning:before{content:\"\\f20a\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-cloud-download-alt:before{content:\"\\f381\"}.fa-cloud-meatball:before{content:\"\\f73b\"}.fa-cloud-moon:before{content:\"\\f6c3\"}.fa-cloud-moon-rain:before{content:\"\\f73c\"}.fa-cloud-rain:before{content:\"\\f73d\"}.fa-cloud-showers-heavy:before{content:\"\\f740\"}.fa-cloud-sun:before{content:\"\\f6c4\"}.fa-cloud-sun-rain:before{content:\"\\f743\"}.fa-cloud-upload-alt:before{content:\"\\f382\"}.fa-cloudscale:before{content:\"\\f383\"}.fa-cloudsmith:before{content:\"\\f384\"}.fa-cloudversify:before{content:\"\\f385\"}.fa-cocktail:before{content:\"\\f561\"}.fa-code:before{content:\"\\f121\"}.fa-code-branch:before{content:\"\\f126\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-codiepie:before{content:\"\\f284\"}.fa-coffee:before{content:\"\\f0f4\"}.fa-cog:before{content:\"\\f013\"}.fa-cogs:before{content:\"\\f085\"}.fa-coins:before{content:\"\\f51e\"}.fa-columns:before{content:\"\\f0db\"}.fa-comment:before{content:\"\\f075\"}.fa-comment-alt:before{content:\"\\f27a\"}.fa-comment-dollar:before{content:\"\\f651\"}.fa-comment-dots:before{content:\"\\f4ad\"}.fa-comment-medical:before{content:\"\\f7f5\"}.fa-comment-slash:before{content:\"\\f4b3\"}.fa-comments:before{content:\"\\f086\"}.fa-comments-dollar:before{content:\"\\f653\"}.fa-compact-disc:before{content:\"\\f51f\"}.fa-compass:before{content:\"\\f14e\"}.fa-compress:before{content:\"\\f066\"}.fa-compress-arrows-alt:before{content:\"\\f78c\"}.fa-concierge-bell:before{content:\"\\f562\"}.fa-confluence:before{content:\"\\f78d\"}.fa-connectdevelop:before{content:\"\\f20e\"}.fa-contao:before{content:\"\\f26d\"}.fa-cookie:before{content:\"\\f563\"}.fa-cookie-bite:before{content:\"\\f564\"}.fa-copy:before{content:\"\\f0c5\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-couch:before{content:\"\\f4b8\"}.fa-cpanel:before{content:\"\\f388\"}.fa-creative-commons:before{content:\"\\f25e\"}.fa-creative-commons-by:before{content:\"\\f4e7\"}.fa-creative-commons-nc:before{content:\"\\f4e8\"}.fa-creative-commons-nc-eu:before{content:\"\\f4e9\"}.fa-creative-commons-nc-jp:before{content:\"\\f4ea\"}.fa-creative-commons-nd:before{content:\"\\f4eb\"}.fa-creative-commons-pd:before{content:\"\\f4ec\"}.fa-creative-commons-pd-alt:before{content:\"\\f4ed\"}.fa-creative-commons-remix:before{content:\"\\f4ee\"}.fa-creative-commons-sa:before{content:\"\\f4ef\"}.fa-creative-commons-sampling:before{content:\"\\f4f0\"}.fa-creative-commons-sampling-plus:before{content:\"\\f4f1\"}.fa-creative-commons-share:before{content:\"\\f4f2\"}.fa-creative-commons-zero:before{content:\"\\f4f3\"}.fa-credit-card:before{content:\"\\f09d\"}.fa-critical-role:before{content:\"\\f6c9\"}.fa-crop:before{content:\"\\f125\"}.fa-crop-alt:before{content:\"\\f565\"}.fa-cross:before{content:\"\\f654\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-crow:before{content:\"\\f520\"}.fa-crown:before{content:\"\\f521\"}.fa-crutch:before{content:\"\\f7f7\"}.fa-css3:before{content:\"\\f13c\"}.fa-css3-alt:before{content:\"\\f38b\"}.fa-cube:before{content:\"\\f1b2\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-cut:before{content:\"\\f0c4\"}.fa-cuttlefish:before{content:\"\\f38c\"}.fa-d-and-d:before{content:\"\\f38d\"}.fa-d-and-d-beyond:before{content:\"\\f6ca\"}.fa-dashcube:before{content:\"\\f210\"}.fa-database:before{content:\"\\f1c0\"}.fa-deaf:before{content:\"\\f2a4\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-democrat:before{content:\"\\f747\"}.fa-deploydog:before{content:\"\\f38e\"}.fa-deskpro:before{content:\"\\f38f\"}.fa-desktop:before{content:\"\\f108\"}.fa-dev:before{content:\"\\f6cc\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-dharmachakra:before{content:\"\\f655\"}.fa-dhl:before{content:\"\\f790\"}.fa-diagnoses:before{content:\"\\f470\"}.fa-diaspora:before{content:\"\\f791\"}.fa-dice:before{content:\"\\f522\"}.fa-dice-d20:before{content:\"\\f6cf\"}.fa-dice-d6:before{content:\"\\f6d1\"}.fa-dice-five:before{content:\"\\f523\"}.fa-dice-four:before{content:\"\\f524\"}.fa-dice-one:before{content:\"\\f525\"}.fa-dice-six:before{content:\"\\f526\"}.fa-dice-three:before{content:\"\\f527\"}.fa-dice-two:before{content:\"\\f528\"}.fa-digg:before{content:\"\\f1a6\"}.fa-digital-ocean:before{content:\"\\f391\"}.fa-digital-tachograph:before{content:\"\\f566\"}.fa-directions:before{content:\"\\f5eb\"}.fa-discord:before{content:\"\\f392\"}.fa-discourse:before{content:\"\\f393\"}.fa-divide:before{content:\"\\f529\"}.fa-dizzy:before{content:\"\\f567\"}.fa-dna:before{content:\"\\f471\"}.fa-dochub:before{content:\"\\f394\"}.fa-docker:before{content:\"\\f395\"}.fa-dog:before{content:\"\\f6d3\"}.fa-dollar-sign:before{content:\"\\f155\"}.fa-dolly:before{content:\"\\f472\"}.fa-dolly-flatbed:before{content:\"\\f474\"}.fa-donate:before{content:\"\\f4b9\"}.fa-door-closed:before{content:\"\\f52a\"}.fa-door-open:before{content:\"\\f52b\"}.fa-dot-circle:before{content:\"\\f192\"}.fa-dove:before{content:\"\\f4ba\"}.fa-download:before{content:\"\\f019\"}.fa-draft2digital:before{content:\"\\f396\"}.fa-drafting-compass:before{content:\"\\f568\"}.fa-dragon:before{content:\"\\f6d5\"}.fa-draw-polygon:before{content:\"\\f5ee\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-dribbble-square:before{content:\"\\f397\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-drum:before{content:\"\\f569\"}.fa-drum-steelpan:before{content:\"\\f56a\"}.fa-drumstick-bite:before{content:\"\\f6d7\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-dumbbell:before{content:\"\\f44b\"}.fa-dumpster:before{content:\"\\f793\"}.fa-dumpster-fire:before{content:\"\\f794\"}.fa-dungeon:before{content:\"\\f6d9\"}.fa-dyalog:before{content:\"\\f399\"}.fa-earlybirds:before{content:\"\\f39a\"}.fa-ebay:before{content:\"\\f4f4\"}.fa-edge:before{content:\"\\f282\"}.fa-edit:before{content:\"\\f044\"}.fa-egg:before{content:\"\\f7fb\"}.fa-eject:before{content:\"\\f052\"}.fa-elementor:before{content:\"\\f430\"}.fa-ellipsis-h:before{content:\"\\f141\"}.fa-ellipsis-v:before{content:\"\\f142\"}.fa-ello:before{content:\"\\f5f1\"}.fa-ember:before{content:\"\\f423\"}.fa-empire:before{content:\"\\f1d1\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-envelope-open:before{content:\"\\f2b6\"}.fa-envelope-open-text:before{content:\"\\f658\"}.fa-envelope-square:before{content:\"\\f199\"}.fa-envira:before{content:\"\\f299\"}.fa-equals:before{content:\"\\f52c\"}.fa-eraser:before{content:\"\\f12d\"}.fa-erlang:before{content:\"\\f39d\"}.fa-ethereum:before{content:\"\\f42e\"}.fa-ethernet:before{content:\"\\f796\"}.fa-etsy:before{content:\"\\f2d7\"}.fa-euro-sign:before{content:\"\\f153\"}.fa-evernote:before{content:\"\\f839\"}.fa-exchange-alt:before{content:\"\\f362\"}.fa-exclamation:before{content:\"\\f12a\"}.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-exclamation-triangle:before{content:\"\\f071\"}.fa-expand:before{content:\"\\f065\"}.fa-expand-arrows-alt:before{content:\"\\f31e\"}.fa-expeditedssl:before{content:\"\\f23e\"}.fa-external-link-alt:before{content:\"\\f35d\"}.fa-external-link-square-alt:before{content:\"\\f360\"}.fa-eye:before{content:\"\\f06e\"}.fa-eye-dropper:before{content:\"\\f1fb\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-facebook:before{content:\"\\f09a\"}.fa-facebook-f:before{content:\"\\f39e\"}.fa-facebook-messenger:before{content:\"\\f39f\"}.fa-facebook-square:before{content:\"\\f082\"}.fa-fantasy-flight-games:before{content:\"\\f6dc\"}.fa-fast-backward:before{content:\"\\f049\"}.fa-fast-forward:before{content:\"\\f050\"}.fa-fax:before{content:\"\\f1ac\"}.fa-feather:before{content:\"\\f52d\"}.fa-feather-alt:before{content:\"\\f56b\"}.fa-fedex:before{content:\"\\f797\"}.fa-fedora:before{content:\"\\f798\"}.fa-female:before{content:\"\\f182\"}.fa-fighter-jet:before{content:\"\\f0fb\"}.fa-figma:before{content:\"\\f799\"}.fa-file:before{content:\"\\f15b\"}.fa-file-alt:before{content:\"\\f15c\"}.fa-file-archive:before{content:\"\\f1c6\"}.fa-file-audio:before{content:\"\\f1c7\"}.fa-file-code:before{content:\"\\f1c9\"}.fa-file-contract:before{content:\"\\f56c\"}.fa-file-csv:before{content:\"\\f6dd\"}.fa-file-download:before{content:\"\\f56d\"}.fa-file-excel:before{content:\"\\f1c3\"}.fa-file-export:before{content:\"\\f56e\"}.fa-file-image:before{content:\"\\f1c5\"}.fa-file-import:before{content:\"\\f56f\"}.fa-file-invoice:before{content:\"\\f570\"}.fa-file-invoice-dollar:before{content:\"\\f571\"}.fa-file-medical:before{content:\"\\f477\"}.fa-file-medical-alt:before{content:\"\\f478\"}.fa-file-pdf:before{content:\"\\f1c1\"}.fa-file-powerpoint:before{content:\"\\f1c4\"}.fa-file-prescription:before{content:\"\\f572\"}.fa-file-signature:before{content:\"\\f573\"}.fa-file-upload:before{content:\"\\f574\"}.fa-file-video:before{content:\"\\f1c8\"}.fa-file-word:before{content:\"\\f1c2\"}.fa-fill:before{content:\"\\f575\"}.fa-fill-drip:before{content:\"\\f576\"}.fa-film:before{content:\"\\f008\"}.fa-filter:before{content:\"\\f0b0\"}.fa-fingerprint:before{content:\"\\f577\"}.fa-fire:before{content:\"\\f06d\"}.fa-fire-alt:before{content:\"\\f7e4\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-firefox:before{content:\"\\f269\"}.fa-first-aid:before{content:\"\\f479\"}.fa-first-order:before{content:\"\\f2b0\"}.fa-first-order-alt:before{content:\"\\f50a\"}.fa-firstdraft:before{content:\"\\f3a1\"}.fa-fish:before{content:\"\\f578\"}.fa-fist-raised:before{content:\"\\f6de\"}.fa-flag:before{content:\"\\f024\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-flag-usa:before{content:\"\\f74d\"}.fa-flask:before{content:\"\\f0c3\"}.fa-flickr:before{content:\"\\f16e\"}.fa-flipboard:before{content:\"\\f44d\"}.fa-flushed:before{content:\"\\f579\"}.fa-fly:before{content:\"\\f417\"}.fa-folder:before{content:\"\\f07b\"}.fa-folder-minus:before{content:\"\\f65d\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-folder-plus:before{content:\"\\f65e\"}.fa-font:before{content:\"\\f031\"}.fa-font-awesome:before{content:\"\\f2b4\"}.fa-font-awesome-alt:before{content:\"\\f35c\"}.fa-font-awesome-flag:before{content:\"\\f425\"}.fa-font-awesome-logo-full:before{content:\"\\f4e6\"}.fa-fonticons:before{content:\"\\f280\"}.fa-fonticons-fi:before{content:\"\\f3a2\"}.fa-football-ball:before{content:\"\\f44e\"}.fa-fort-awesome:before{content:\"\\f286\"}.fa-fort-awesome-alt:before{content:\"\\f3a3\"}.fa-forumbee:before{content:\"\\f211\"}.fa-forward:before{content:\"\\f04e\"}.fa-foursquare:before{content:\"\\f180\"}.fa-free-code-camp:before{content:\"\\f2c5\"}.fa-freebsd:before{content:\"\\f3a4\"}.fa-frog:before{content:\"\\f52e\"}.fa-frown:before{content:\"\\f119\"}.fa-frown-open:before{content:\"\\f57a\"}.fa-fulcrum:before{content:\"\\f50b\"}.fa-funnel-dollar:before{content:\"\\f662\"}.fa-futbol:before{content:\"\\f1e3\"}.fa-galactic-republic:before{content:\"\\f50c\"}.fa-galactic-senate:before{content:\"\\f50d\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-gas-pump:before{content:\"\\f52f\"}.fa-gavel:before{content:\"\\f0e3\"}.fa-gem:before{content:\"\\f3a5\"}.fa-genderless:before{content:\"\\f22d\"}.fa-get-pocket:before{content:\"\\f265\"}.fa-gg:before{content:\"\\f260\"}.fa-gg-circle:before{content:\"\\f261\"}.fa-ghost:before{content:\"\\f6e2\"}.fa-gift:before{content:\"\\f06b\"}.fa-gifts:before{content:\"\\f79c\"}.fa-git:before{content:\"\\f1d3\"}.fa-git-square:before{content:\"\\f1d2\"}.fa-github:before{content:\"\\f09b\"}.fa-github-alt:before{content:\"\\f113\"}.fa-github-square:before{content:\"\\f092\"}.fa-gitkraken:before{content:\"\\f3a6\"}.fa-gitlab:before{content:\"\\f296\"}.fa-gitter:before{content:\"\\f426\"}.fa-glass-cheers:before{content:\"\\f79f\"}.fa-glass-martini:before{content:\"\\f000\"}.fa-glass-martini-alt:before{content:\"\\f57b\"}.fa-glass-whiskey:before{content:\"\\f7a0\"}.fa-glasses:before{content:\"\\f530\"}.fa-glide:before{content:\"\\f2a5\"}.fa-glide-g:before{content:\"\\f2a6\"}.fa-globe:before{content:\"\\f0ac\"}.fa-globe-africa:before{content:\"\\f57c\"}.fa-globe-americas:before{content:\"\\f57d\"}.fa-globe-asia:before{content:\"\\f57e\"}.fa-globe-europe:before{content:\"\\f7a2\"}.fa-gofore:before{content:\"\\f3a7\"}.fa-golf-ball:before{content:\"\\f450\"}.fa-goodreads:before{content:\"\\f3a8\"}.fa-goodreads-g:before{content:\"\\f3a9\"}.fa-google:before{content:\"\\f1a0\"}.fa-google-drive:before{content:\"\\f3aa\"}.fa-google-play:before{content:\"\\f3ab\"}.fa-google-plus:before{content:\"\\f2b3\"}.fa-google-plus-g:before{content:\"\\f0d5\"}.fa-google-plus-square:before{content:\"\\f0d4\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-gopuram:before{content:\"\\f664\"}.fa-graduation-cap:before{content:\"\\f19d\"}.fa-gratipay:before{content:\"\\f184\"}.fa-grav:before{content:\"\\f2d6\"}.fa-greater-than:before{content:\"\\f531\"}.fa-greater-than-equal:before{content:\"\\f532\"}.fa-grimace:before{content:\"\\f57f\"}.fa-grin:before{content:\"\\f580\"}.fa-grin-alt:before{content:\"\\f581\"}.fa-grin-beam:before{content:\"\\f582\"}.fa-grin-beam-sweat:before{content:\"\\f583\"}.fa-grin-hearts:before{content:\"\\f584\"}.fa-grin-squint:before{content:\"\\f585\"}.fa-grin-squint-tears:before{content:\"\\f586\"}.fa-grin-stars:before{content:\"\\f587\"}.fa-grin-tears:before{content:\"\\f588\"}.fa-grin-tongue:before{content:\"\\f589\"}.fa-grin-tongue-squint:before{content:\"\\f58a\"}.fa-grin-tongue-wink:before{content:\"\\f58b\"}.fa-grin-wink:before{content:\"\\f58c\"}.fa-grip-horizontal:before{content:\"\\f58d\"}.fa-grip-lines:before{content:\"\\f7a4\"}.fa-grip-lines-vertical:before{content:\"\\f7a5\"}.fa-grip-vertical:before{content:\"\\f58e\"}.fa-gripfire:before{content:\"\\f3ac\"}.fa-grunt:before{content:\"\\f3ad\"}.fa-guitar:before{content:\"\\f7a6\"}.fa-gulp:before{content:\"\\f3ae\"}.fa-h-square:before{content:\"\\f0fd\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-hacker-news-square:before{content:\"\\f3af\"}.fa-hackerrank:before{content:\"\\f5f7\"}.fa-hamburger:before{content:\"\\f805\"}.fa-hammer:before{content:\"\\f6e3\"}.fa-hamsa:before{content:\"\\f665\"}.fa-hand-holding:before{content:\"\\f4bd\"}.fa-hand-holding-heart:before{content:\"\\f4be\"}.fa-hand-holding-usd:before{content:\"\\f4c0\"}.fa-hand-lizard:before{content:\"\\f258\"}.fa-hand-middle-finger:before{content:\"\\f806\"}.fa-hand-paper:before{content:\"\\f256\"}.fa-hand-peace:before{content:\"\\f25b\"}.fa-hand-point-down:before{content:\"\\f0a7\"}.fa-hand-point-left:before{content:\"\\f0a5\"}.fa-hand-point-right:before{content:\"\\f0a4\"}.fa-hand-point-up:before{content:\"\\f0a6\"}.fa-hand-pointer:before{content:\"\\f25a\"}.fa-hand-rock:before{content:\"\\f255\"}.fa-hand-scissors:before{content:\"\\f257\"}.fa-hand-spock:before{content:\"\\f259\"}.fa-hands:before{content:\"\\f4c2\"}.fa-hands-helping:before{content:\"\\f4c4\"}.fa-handshake:before{content:\"\\f2b5\"}.fa-hanukiah:before{content:\"\\f6e6\"}.fa-hard-hat:before{content:\"\\f807\"}.fa-hashtag:before{content:\"\\f292\"}.fa-hat-wizard:before{content:\"\\f6e8\"}.fa-haykal:before{content:\"\\f666\"}.fa-hdd:before{content:\"\\f0a0\"}.fa-heading:before{content:\"\\f1dc\"}.fa-headphones:before{content:\"\\f025\"}.fa-headphones-alt:before{content:\"\\f58f\"}.fa-headset:before{content:\"\\f590\"}.fa-heart:before{content:\"\\f004\"}.fa-heart-broken:before{content:\"\\f7a9\"}.fa-heartbeat:before{content:\"\\f21e\"}.fa-helicopter:before{content:\"\\f533\"}.fa-highlighter:before{content:\"\\f591\"}.fa-hiking:before{content:\"\\f6ec\"}.fa-hippo:before{content:\"\\f6ed\"}.fa-hips:before{content:\"\\f452\"}.fa-hire-a-helper:before{content:\"\\f3b0\"}.fa-history:before{content:\"\\f1da\"}.fa-hockey-puck:before{content:\"\\f453\"}.fa-holly-berry:before{content:\"\\f7aa\"}.fa-home:before{content:\"\\f015\"}.fa-hooli:before{content:\"\\f427\"}.fa-hornbill:before{content:\"\\f592\"}.fa-horse:before{content:\"\\f6f0\"}.fa-horse-head:before{content:\"\\f7ab\"}.fa-hospital:before{content:\"\\f0f8\"}.fa-hospital-alt:before{content:\"\\f47d\"}.fa-hospital-symbol:before{content:\"\\f47e\"}.fa-hot-tub:before{content:\"\\f593\"}.fa-hotdog:before{content:\"\\f80f\"}.fa-hotel:before{content:\"\\f594\"}.fa-hotjar:before{content:\"\\f3b1\"}.fa-hourglass:before{content:\"\\f254\"}.fa-hourglass-end:before{content:\"\\f253\"}.fa-hourglass-half:before{content:\"\\f252\"}.fa-hourglass-start:before{content:\"\\f251\"}.fa-house-damage:before{content:\"\\f6f1\"}.fa-houzz:before{content:\"\\f27c\"}.fa-hryvnia:before{content:\"\\f6f2\"}.fa-html5:before{content:\"\\f13b\"}.fa-hubspot:before{content:\"\\f3b2\"}.fa-i-cursor:before{content:\"\\f246\"}.fa-ice-cream:before{content:\"\\f810\"}.fa-icicles:before{content:\"\\f7ad\"}.fa-id-badge:before{content:\"\\f2c1\"}.fa-id-card:before{content:\"\\f2c2\"}.fa-id-card-alt:before{content:\"\\f47f\"}.fa-igloo:before{content:\"\\f7ae\"}.fa-image:before{content:\"\\f03e\"}.fa-images:before{content:\"\\f302\"}.fa-imdb:before{content:\"\\f2d8\"}.fa-inbox:before{content:\"\\f01c\"}.fa-indent:before{content:\"\\f03c\"}.fa-industry:before{content:\"\\f275\"}.fa-infinity:before{content:\"\\f534\"}.fa-info:before{content:\"\\f129\"}.fa-info-circle:before{content:\"\\f05a\"}.fa-instagram:before{content:\"\\f16d\"}.fa-intercom:before{content:\"\\f7af\"}.fa-internet-explorer:before{content:\"\\f26b\"}.fa-invision:before{content:\"\\f7b0\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-italic:before{content:\"\\f033\"}.fa-itch-io:before{content:\"\\f83a\"}.fa-itunes:before{content:\"\\f3b4\"}.fa-itunes-note:before{content:\"\\f3b5\"}.fa-java:before{content:\"\\f4e4\"}.fa-jedi:before{content:\"\\f669\"}.fa-jedi-order:before{content:\"\\f50e\"}.fa-jenkins:before{content:\"\\f3b6\"}.fa-jira:before{content:\"\\f7b1\"}.fa-joget:before{content:\"\\f3b7\"}.fa-joint:before{content:\"\\f595\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-journal-whills:before{content:\"\\f66a\"}.fa-js:before{content:\"\\f3b8\"}.fa-js-square:before{content:\"\\f3b9\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-kaaba:before{content:\"\\f66b\"}.fa-kaggle:before{content:\"\\f5fa\"}.fa-key:before{content:\"\\f084\"}.fa-keybase:before{content:\"\\f4f5\"}.fa-keyboard:before{content:\"\\f11c\"}.fa-keycdn:before{content:\"\\f3ba\"}.fa-khanda:before{content:\"\\f66d\"}.fa-kickstarter:before{content:\"\\f3bb\"}.fa-kickstarter-k:before{content:\"\\f3bc\"}.fa-kiss:before{content:\"\\f596\"}.fa-kiss-beam:before{content:\"\\f597\"}.fa-kiss-wink-heart:before{content:\"\\f598\"}.fa-kiwi-bird:before{content:\"\\f535\"}.fa-korvue:before{content:\"\\f42f\"}.fa-landmark:before{content:\"\\f66f\"}.fa-language:before{content:\"\\f1ab\"}.fa-laptop:before{content:\"\\f109\"}.fa-laptop-code:before{content:\"\\f5fc\"}.fa-laptop-medical:before{content:\"\\f812\"}.fa-laravel:before{content:\"\\f3bd\"}.fa-lastfm:before{content:\"\\f202\"}.fa-lastfm-square:before{content:\"\\f203\"}.fa-laugh:before{content:\"\\f599\"}.fa-laugh-beam:before{content:\"\\f59a\"}.fa-laugh-squint:before{content:\"\\f59b\"}.fa-laugh-wink:before{content:\"\\f59c\"}.fa-layer-group:before{content:\"\\f5fd\"}.fa-leaf:before{content:\"\\f06c\"}.fa-leanpub:before{content:\"\\f212\"}.fa-lemon:before{content:\"\\f094\"}.fa-less:before{content:\"\\f41d\"}.fa-less-than:before{content:\"\\f536\"}.fa-less-than-equal:before{content:\"\\f537\"}.fa-level-down-alt:before{content:\"\\f3be\"}.fa-level-up-alt:before{content:\"\\f3bf\"}.fa-life-ring:before{content:\"\\f1cd\"}.fa-lightbulb:before{content:\"\\f0eb\"}.fa-line:before{content:\"\\f3c0\"}.fa-link:before{content:\"\\f0c1\"}.fa-linkedin:before{content:\"\\f08c\"}.fa-linkedin-in:before{content:\"\\f0e1\"}.fa-linode:before{content:\"\\f2b8\"}.fa-linux:before{content:\"\\f17c\"}.fa-lira-sign:before{content:\"\\f195\"}.fa-list:before{content:\"\\f03a\"}.fa-list-alt:before{content:\"\\f022\"}.fa-list-ol:before{content:\"\\f0cb\"}.fa-list-ul:before{content:\"\\f0ca\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-lock:before{content:\"\\f023\"}.fa-lock-open:before{content:\"\\f3c1\"}.fa-long-arrow-alt-down:before{content:\"\\f309\"}.fa-long-arrow-alt-left:before{content:\"\\f30a\"}.fa-long-arrow-alt-right:before{content:\"\\f30b\"}.fa-long-arrow-alt-up:before{content:\"\\f30c\"}.fa-low-vision:before{content:\"\\f2a8\"}.fa-luggage-cart:before{content:\"\\f59d\"}.fa-lyft:before{content:\"\\f3c3\"}.fa-magento:before{content:\"\\f3c4\"}.fa-magic:before{content:\"\\f0d0\"}.fa-magnet:before{content:\"\\f076\"}.fa-mail-bulk:before{content:\"\\f674\"}.fa-mailchimp:before{content:\"\\f59e\"}.fa-male:before{content:\"\\f183\"}.fa-mandalorian:before{content:\"\\f50f\"}.fa-map:before{content:\"\\f279\"}.fa-map-marked:before{content:\"\\f59f\"}.fa-map-marked-alt:before{content:\"\\f5a0\"}.fa-map-marker:before{content:\"\\f041\"}.fa-map-marker-alt:before{content:\"\\f3c5\"}.fa-map-pin:before{content:\"\\f276\"}.fa-map-signs:before{content:\"\\f277\"}.fa-markdown:before{content:\"\\f60f\"}.fa-marker:before{content:\"\\f5a1\"}.fa-mars:before{content:\"\\f222\"}.fa-mars-double:before{content:\"\\f227\"}.fa-mars-stroke:before{content:\"\\f229\"}.fa-mars-stroke-h:before{content:\"\\f22b\"}.fa-mars-stroke-v:before{content:\"\\f22a\"}.fa-mask:before{content:\"\\f6fa\"}.fa-mastodon:before{content:\"\\f4f6\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-medal:before{content:\"\\f5a2\"}.fa-medapps:before{content:\"\\f3c6\"}.fa-medium:before{content:\"\\f23a\"}.fa-medium-m:before{content:\"\\f3c7\"}.fa-medkit:before{content:\"\\f0fa\"}.fa-medrt:before{content:\"\\f3c8\"}.fa-meetup:before{content:\"\\f2e0\"}.fa-megaport:before{content:\"\\f5a3\"}.fa-meh:before{content:\"\\f11a\"}.fa-meh-blank:before{content:\"\\f5a4\"}.fa-meh-rolling-eyes:before{content:\"\\f5a5\"}.fa-memory:before{content:\"\\f538\"}.fa-mendeley:before{content:\"\\f7b3\"}.fa-menorah:before{content:\"\\f676\"}.fa-mercury:before{content:\"\\f223\"}.fa-meteor:before{content:\"\\f753\"}.fa-microchip:before{content:\"\\f2db\"}.fa-microphone:before{content:\"\\f130\"}.fa-microphone-alt:before{content:\"\\f3c9\"}.fa-microphone-alt-slash:before{content:\"\\f539\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-microscope:before{content:\"\\f610\"}.fa-microsoft:before{content:\"\\f3ca\"}.fa-minus:before{content:\"\\f068\"}.fa-minus-circle:before{content:\"\\f056\"}.fa-minus-square:before{content:\"\\f146\"}.fa-mitten:before{content:\"\\f7b5\"}.fa-mix:before{content:\"\\f3cb\"}.fa-mixcloud:before{content:\"\\f289\"}.fa-mizuni:before{content:\"\\f3cc\"}.fa-mobile:before{content:\"\\f10b\"}.fa-mobile-alt:before{content:\"\\f3cd\"}.fa-modx:before{content:\"\\f285\"}.fa-monero:before{content:\"\\f3d0\"}.fa-money-bill:before{content:\"\\f0d6\"}.fa-money-bill-alt:before{content:\"\\f3d1\"}.fa-money-bill-wave:before{content:\"\\f53a\"}.fa-money-bill-wave-alt:before{content:\"\\f53b\"}.fa-money-check:before{content:\"\\f53c\"}.fa-money-check-alt:before{content:\"\\f53d\"}.fa-monument:before{content:\"\\f5a6\"}.fa-moon:before{content:\"\\f186\"}.fa-mortar-pestle:before{content:\"\\f5a7\"}.fa-mosque:before{content:\"\\f678\"}.fa-motorcycle:before{content:\"\\f21c\"}.fa-mountain:before{content:\"\\f6fc\"}.fa-mouse-pointer:before{content:\"\\f245\"}.fa-mug-hot:before{content:\"\\f7b6\"}.fa-music:before{content:\"\\f001\"}.fa-napster:before{content:\"\\f3d2\"}.fa-neos:before{content:\"\\f612\"}.fa-network-wired:before{content:\"\\f6ff\"}.fa-neuter:before{content:\"\\f22c\"}.fa-newspaper:before{content:\"\\f1ea\"}.fa-nimblr:before{content:\"\\f5a8\"}.fa-nintendo-switch:before{content:\"\\f418\"}.fa-node:before{content:\"\\f419\"}.fa-node-js:before{content:\"\\f3d3\"}.fa-not-equal:before{content:\"\\f53e\"}.fa-notes-medical:before{content:\"\\f481\"}.fa-npm:before{content:\"\\f3d4\"}.fa-ns8:before{content:\"\\f3d5\"}.fa-nutritionix:before{content:\"\\f3d6\"}.fa-object-group:before{content:\"\\f247\"}.fa-object-ungroup:before{content:\"\\f248\"}.fa-odnoklassniki:before{content:\"\\f263\"}.fa-odnoklassniki-square:before{content:\"\\f264\"}.fa-oil-can:before{content:\"\\f613\"}.fa-old-republic:before{content:\"\\f510\"}.fa-om:before{content:\"\\f679\"}.fa-opencart:before{content:\"\\f23d\"}.fa-openid:before{content:\"\\f19b\"}.fa-opera:before{content:\"\\f26a\"}.fa-optin-monster:before{content:\"\\f23c\"}.fa-osi:before{content:\"\\f41a\"}.fa-otter:before{content:\"\\f700\"}.fa-outdent:before{content:\"\\f03b\"}.fa-page4:before{content:\"\\f3d7\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-pager:before{content:\"\\f815\"}.fa-paint-brush:before{content:\"\\f1fc\"}.fa-paint-roller:before{content:\"\\f5aa\"}.fa-palette:before{content:\"\\f53f\"}.fa-palfed:before{content:\"\\f3d8\"}.fa-pallet:before{content:\"\\f482\"}.fa-paper-plane:before{content:\"\\f1d8\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-parachute-box:before{content:\"\\f4cd\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-parking:before{content:\"\\f540\"}.fa-passport:before{content:\"\\f5ab\"}.fa-pastafarianism:before{content:\"\\f67b\"}.fa-paste:before{content:\"\\f0ea\"}.fa-patreon:before{content:\"\\f3d9\"}.fa-pause:before{content:\"\\f04c\"}.fa-pause-circle:before{content:\"\\f28b\"}.fa-paw:before{content:\"\\f1b0\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-peace:before{content:\"\\f67c\"}.fa-pen:before{content:\"\\f304\"}.fa-pen-alt:before{content:\"\\f305\"}.fa-pen-fancy:before{content:\"\\f5ac\"}.fa-pen-nib:before{content:\"\\f5ad\"}.fa-pen-square:before{content:\"\\f14b\"}.fa-pencil-alt:before{content:\"\\f303\"}.fa-pencil-ruler:before{content:\"\\f5ae\"}.fa-penny-arcade:before{content:\"\\f704\"}.fa-people-carry:before{content:\"\\f4ce\"}.fa-pepper-hot:before{content:\"\\f816\"}.fa-percent:before{content:\"\\f295\"}.fa-percentage:before{content:\"\\f541\"}.fa-periscope:before{content:\"\\f3da\"}.fa-person-booth:before{content:\"\\f756\"}.fa-phabricator:before{content:\"\\f3db\"}.fa-phoenix-framework:before{content:\"\\f3dc\"}.fa-phoenix-squadron:before{content:\"\\f511\"}.fa-phone:before{content:\"\\f095\"}.fa-phone-slash:before{content:\"\\f3dd\"}.fa-phone-square:before{content:\"\\f098\"}.fa-phone-volume:before{content:\"\\f2a0\"}.fa-php:before{content:\"\\f457\"}.fa-pied-piper:before{content:\"\\f2ae\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-pied-piper-hat:before{content:\"\\f4e5\"}.fa-pied-piper-pp:before{content:\"\\f1a7\"}.fa-piggy-bank:before{content:\"\\f4d3\"}.fa-pills:before{content:\"\\f484\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-pinterest-p:before{content:\"\\f231\"}.fa-pinterest-square:before{content:\"\\f0d3\"}.fa-pizza-slice:before{content:\"\\f818\"}.fa-place-of-worship:before{content:\"\\f67f\"}.fa-plane:before{content:\"\\f072\"}.fa-plane-arrival:before{content:\"\\f5af\"}.fa-plane-departure:before{content:\"\\f5b0\"}.fa-play:before{content:\"\\f04b\"}.fa-play-circle:before{content:\"\\f144\"}.fa-playstation:before{content:\"\\f3df\"}.fa-plug:before{content:\"\\f1e6\"}.fa-plus:before{content:\"\\f067\"}.fa-plus-circle:before{content:\"\\f055\"}.fa-plus-square:before{content:\"\\f0fe\"}.fa-podcast:before{content:\"\\f2ce\"}.fa-poll:before{content:\"\\f681\"}.fa-poll-h:before{content:\"\\f682\"}.fa-poo:before{content:\"\\f2fe\"}.fa-poo-storm:before{content:\"\\f75a\"}.fa-poop:before{content:\"\\f619\"}.fa-portrait:before{content:\"\\f3e0\"}.fa-pound-sign:before{content:\"\\f154\"}.fa-power-off:before{content:\"\\f011\"}.fa-pray:before{content:\"\\f683\"}.fa-praying-hands:before{content:\"\\f684\"}.fa-prescription:before{content:\"\\f5b1\"}.fa-prescription-bottle:before{content:\"\\f485\"}.fa-prescription-bottle-alt:before{content:\"\\f486\"}.fa-print:before{content:\"\\f02f\"}.fa-procedures:before{content:\"\\f487\"}.fa-product-hunt:before{content:\"\\f288\"}.fa-project-diagram:before{content:\"\\f542\"}.fa-pushed:before{content:\"\\f3e1\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-python:before{content:\"\\f3e2\"}.fa-qq:before{content:\"\\f1d6\"}.fa-qrcode:before{content:\"\\f029\"}.fa-question:before{content:\"\\f128\"}.fa-question-circle:before{content:\"\\f059\"}.fa-quidditch:before{content:\"\\f458\"}.fa-quinscape:before{content:\"\\f459\"}.fa-quora:before{content:\"\\f2c4\"}.fa-quote-left:before{content:\"\\f10d\"}.fa-quote-right:before{content:\"\\f10e\"}.fa-quran:before{content:\"\\f687\"}.fa-r-project:before{content:\"\\f4f7\"}.fa-radiation:before{content:\"\\f7b9\"}.fa-radiation-alt:before{content:\"\\f7ba\"}.fa-rainbow:before{content:\"\\f75b\"}.fa-random:before{content:\"\\f074\"}.fa-raspberry-pi:before{content:\"\\f7bb\"}.fa-ravelry:before{content:\"\\f2d9\"}.fa-react:before{content:\"\\f41b\"}.fa-reacteurope:before{content:\"\\f75d\"}.fa-readme:before{content:\"\\f4d5\"}.fa-rebel:before{content:\"\\f1d0\"}.fa-receipt:before{content:\"\\f543\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-red-river:before{content:\"\\f3e3\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-reddit-alien:before{content:\"\\f281\"}.fa-reddit-square:before{content:\"\\f1a2\"}.fa-redhat:before{content:\"\\f7bc\"}.fa-redo:before{content:\"\\f01e\"}.fa-redo-alt:before{content:\"\\f2f9\"}.fa-registered:before{content:\"\\f25d\"}.fa-renren:before{content:\"\\f18b\"}.fa-reply:before{content:\"\\f3e5\"}.fa-reply-all:before{content:\"\\f122\"}.fa-replyd:before{content:\"\\f3e6\"}.fa-republican:before{content:\"\\f75e\"}.fa-researchgate:before{content:\"\\f4f8\"}.fa-resolving:before{content:\"\\f3e7\"}.fa-restroom:before{content:\"\\f7bd\"}.fa-retweet:before{content:\"\\f079\"}.fa-rev:before{content:\"\\f5b2\"}.fa-ribbon:before{content:\"\\f4d6\"}.fa-ring:before{content:\"\\f70b\"}.fa-road:before{content:\"\\f018\"}.fa-robot:before{content:\"\\f544\"}.fa-rocket:before{content:\"\\f135\"}.fa-rocketchat:before{content:\"\\f3e8\"}.fa-rockrms:before{content:\"\\f3e9\"}.fa-route:before{content:\"\\f4d7\"}.fa-rss:before{content:\"\\f09e\"}.fa-rss-square:before{content:\"\\f143\"}.fa-ruble-sign:before{content:\"\\f158\"}.fa-ruler:before{content:\"\\f545\"}.fa-ruler-combined:before{content:\"\\f546\"}.fa-ruler-horizontal:before{content:\"\\f547\"}.fa-ruler-vertical:before{content:\"\\f548\"}.fa-running:before{content:\"\\f70c\"}.fa-rupee-sign:before{content:\"\\f156\"}.fa-sad-cry:before{content:\"\\f5b3\"}.fa-sad-tear:before{content:\"\\f5b4\"}.fa-safari:before{content:\"\\f267\"}.fa-salesforce:before{content:\"\\f83b\"}.fa-sass:before{content:\"\\f41e\"}.fa-satellite:before{content:\"\\f7bf\"}.fa-satellite-dish:before{content:\"\\f7c0\"}.fa-save:before{content:\"\\f0c7\"}.fa-schlix:before{content:\"\\f3ea\"}.fa-school:before{content:\"\\f549\"}.fa-screwdriver:before{content:\"\\f54a\"}.fa-scribd:before{content:\"\\f28a\"}.fa-scroll:before{content:\"\\f70e\"}.fa-sd-card:before{content:\"\\f7c2\"}.fa-search:before{content:\"\\f002\"}.fa-search-dollar:before{content:\"\\f688\"}.fa-search-location:before{content:\"\\f689\"}.fa-search-minus:before{content:\"\\f010\"}.fa-search-plus:before{content:\"\\f00e\"}.fa-searchengin:before{content:\"\\f3eb\"}.fa-seedling:before{content:\"\\f4d8\"}.fa-sellcast:before{content:\"\\f2da\"}.fa-sellsy:before{content:\"\\f213\"}.fa-server:before{content:\"\\f233\"}.fa-servicestack:before{content:\"\\f3ec\"}.fa-shapes:before{content:\"\\f61f\"}.fa-share:before{content:\"\\f064\"}.fa-share-alt:before{content:\"\\f1e0\"}.fa-share-alt-square:before{content:\"\\f1e1\"}.fa-share-square:before{content:\"\\f14d\"}.fa-shekel-sign:before{content:\"\\f20b\"}.fa-shield-alt:before{content:\"\\f3ed\"}.fa-ship:before{content:\"\\f21a\"}.fa-shipping-fast:before{content:\"\\f48b\"}.fa-shirtsinbulk:before{content:\"\\f214\"}.fa-shoe-prints:before{content:\"\\f54b\"}.fa-shopping-bag:before{content:\"\\f290\"}.fa-shopping-basket:before{content:\"\\f291\"}.fa-shopping-cart:before{content:\"\\f07a\"}.fa-shopware:before{content:\"\\f5b5\"}.fa-shower:before{content:\"\\f2cc\"}.fa-shuttle-van:before{content:\"\\f5b6\"}.fa-sign:before{content:\"\\f4d9\"}.fa-sign-in-alt:before{content:\"\\f2f6\"}.fa-sign-language:before{content:\"\\f2a7\"}.fa-sign-out-alt:before{content:\"\\f2f5\"}.fa-signal:before{content:\"\\f012\"}.fa-signature:before{content:\"\\f5b7\"}.fa-sim-card:before{content:\"\\f7c4\"}.fa-simplybuilt:before{content:\"\\f215\"}.fa-sistrix:before{content:\"\\f3ee\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-sith:before{content:\"\\f512\"}.fa-skating:before{content:\"\\f7c5\"}.fa-sketch:before{content:\"\\f7c6\"}.fa-skiing:before{content:\"\\f7c9\"}.fa-skiing-nordic:before{content:\"\\f7ca\"}.fa-skull:before{content:\"\\f54c\"}.fa-skull-crossbones:before{content:\"\\f714\"}.fa-skyatlas:before{content:\"\\f216\"}.fa-skype:before{content:\"\\f17e\"}.fa-slack:before{content:\"\\f198\"}.fa-slack-hash:before{content:\"\\f3ef\"}.fa-slash:before{content:\"\\f715\"}.fa-sleigh:before{content:\"\\f7cc\"}.fa-sliders-h:before{content:\"\\f1de\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-smile:before{content:\"\\f118\"}.fa-smile-beam:before{content:\"\\f5b8\"}.fa-smile-wink:before{content:\"\\f4da\"}.fa-smog:before{content:\"\\f75f\"}.fa-smoking:before{content:\"\\f48d\"}.fa-smoking-ban:before{content:\"\\f54d\"}.fa-sms:before{content:\"\\f7cd\"}.fa-snapchat:before{content:\"\\f2ab\"}.fa-snapchat-ghost:before{content:\"\\f2ac\"}.fa-snapchat-square:before{content:\"\\f2ad\"}.fa-snowboarding:before{content:\"\\f7ce\"}.fa-snowflake:before{content:\"\\f2dc\"}.fa-snowman:before{content:\"\\f7d0\"}.fa-snowplow:before{content:\"\\f7d2\"}.fa-socks:before{content:\"\\f696\"}.fa-solar-panel:before{content:\"\\f5ba\"}.fa-sort:before{content:\"\\f0dc\"}.fa-sort-alpha-down:before{content:\"\\f15d\"}.fa-sort-alpha-up:before{content:\"\\f15e\"}.fa-sort-amount-down:before{content:\"\\f160\"}.fa-sort-amount-up:before{content:\"\\f161\"}.fa-sort-down:before{content:\"\\f0dd\"}.fa-sort-numeric-down:before{content:\"\\f162\"}.fa-sort-numeric-up:before{content:\"\\f163\"}.fa-sort-up:before{content:\"\\f0de\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-sourcetree:before{content:\"\\f7d3\"}.fa-spa:before{content:\"\\f5bb\"}.fa-space-shuttle:before{content:\"\\f197\"}.fa-speakap:before{content:\"\\f3f3\"}.fa-speaker-deck:before{content:\"\\f83c\"}.fa-spider:before{content:\"\\f717\"}.fa-spinner:before{content:\"\\f110\"}.fa-splotch:before{content:\"\\f5bc\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-spray-can:before{content:\"\\f5bd\"}.fa-square:before{content:\"\\f0c8\"}.fa-square-full:before{content:\"\\f45c\"}.fa-square-root-alt:before{content:\"\\f698\"}.fa-squarespace:before{content:\"\\f5be\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-stamp:before{content:\"\\f5bf\"}.fa-star:before{content:\"\\f005\"}.fa-star-and-crescent:before{content:\"\\f699\"}.fa-star-half:before{content:\"\\f089\"}.fa-star-half-alt:before{content:\"\\f5c0\"}.fa-star-of-david:before{content:\"\\f69a\"}.fa-star-of-life:before{content:\"\\f621\"}.fa-staylinked:before{content:\"\\f3f5\"}.fa-steam:before{content:\"\\f1b6\"}.fa-steam-square:before{content:\"\\f1b7\"}.fa-steam-symbol:before{content:\"\\f3f6\"}.fa-step-backward:before{content:\"\\f048\"}.fa-step-forward:before{content:\"\\f051\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-sticker-mule:before{content:\"\\f3f7\"}.fa-sticky-note:before{content:\"\\f249\"}.fa-stop:before{content:\"\\f04d\"}.fa-stop-circle:before{content:\"\\f28d\"}.fa-stopwatch:before{content:\"\\f2f2\"}.fa-store:before{content:\"\\f54e\"}.fa-store-alt:before{content:\"\\f54f\"}.fa-strava:before{content:\"\\f428\"}.fa-stream:before{content:\"\\f550\"}.fa-street-view:before{content:\"\\f21d\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-stripe:before{content:\"\\f429\"}.fa-stripe-s:before{content:\"\\f42a\"}.fa-stroopwafel:before{content:\"\\f551\"}.fa-studiovinari:before{content:\"\\f3f8\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-subscript:before{content:\"\\f12c\"}.fa-subway:before{content:\"\\f239\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-suitcase-rolling:before{content:\"\\f5c1\"}.fa-sun:before{content:\"\\f185\"}.fa-superpowers:before{content:\"\\f2dd\"}.fa-superscript:before{content:\"\\f12b\"}.fa-supple:before{content:\"\\f3f9\"}.fa-surprise:before{content:\"\\f5c2\"}.fa-suse:before{content:\"\\f7d6\"}.fa-swatchbook:before{content:\"\\f5c3\"}.fa-swimmer:before{content:\"\\f5c4\"}.fa-swimming-pool:before{content:\"\\f5c5\"}.fa-symfony:before{content:\"\\f83d\"}.fa-synagogue:before{content:\"\\f69b\"}.fa-sync:before{content:\"\\f021\"}.fa-sync-alt:before{content:\"\\f2f1\"}.fa-syringe:before{content:\"\\f48e\"}.fa-table:before{content:\"\\f0ce\"}.fa-table-tennis:before{content:\"\\f45d\"}.fa-tablet:before{content:\"\\f10a\"}.fa-tablet-alt:before{content:\"\\f3fa\"}.fa-tablets:before{content:\"\\f490\"}.fa-tachometer-alt:before{content:\"\\f3fd\"}.fa-tag:before{content:\"\\f02b\"}.fa-tags:before{content:\"\\f02c\"}.fa-tape:before{content:\"\\f4db\"}.fa-tasks:before{content:\"\\f0ae\"}.fa-taxi:before{content:\"\\f1ba\"}.fa-teamspeak:before{content:\"\\f4f9\"}.fa-teeth:before{content:\"\\f62e\"}.fa-teeth-open:before{content:\"\\f62f\"}.fa-telegram:before{content:\"\\f2c6\"}.fa-telegram-plane:before{content:\"\\f3fe\"}.fa-temperature-high:before{content:\"\\f769\"}.fa-temperature-low:before{content:\"\\f76b\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-tenge:before{content:\"\\f7d7\"}.fa-terminal:before{content:\"\\f120\"}.fa-text-height:before{content:\"\\f034\"}.fa-text-width:before{content:\"\\f035\"}.fa-th:before{content:\"\\f00a\"}.fa-th-large:before{content:\"\\f009\"}.fa-th-list:before{content:\"\\f00b\"}.fa-the-red-yeti:before{content:\"\\f69d\"}.fa-theater-masks:before{content:\"\\f630\"}.fa-themeco:before{content:\"\\f5c6\"}.fa-themeisle:before{content:\"\\f2b2\"}.fa-thermometer:before{content:\"\\f491\"}.fa-thermometer-empty:before{content:\"\\f2cb\"}.fa-thermometer-full:before{content:\"\\f2c7\"}.fa-thermometer-half:before{content:\"\\f2c9\"}.fa-thermometer-quarter:before{content:\"\\f2ca\"}.fa-thermometer-three-quarters:before{content:\"\\f2c8\"}.fa-think-peaks:before{content:\"\\f731\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-thumbtack:before{content:\"\\f08d\"}.fa-ticket-alt:before{content:\"\\f3ff\"}.fa-times:before{content:\"\\f00d\"}.fa-times-circle:before{content:\"\\f057\"}.fa-tint:before{content:\"\\f043\"}.fa-tint-slash:before{content:\"\\f5c7\"}.fa-tired:before{content:\"\\f5c8\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-toilet:before{content:\"\\f7d8\"}.fa-toilet-paper:before{content:\"\\f71e\"}.fa-toolbox:before{content:\"\\f552\"}.fa-tools:before{content:\"\\f7d9\"}.fa-tooth:before{content:\"\\f5c9\"}.fa-torah:before{content:\"\\f6a0\"}.fa-torii-gate:before{content:\"\\f6a1\"}.fa-tractor:before{content:\"\\f722\"}.fa-trade-federation:before{content:\"\\f513\"}.fa-trademark:before{content:\"\\f25c\"}.fa-traffic-light:before{content:\"\\f637\"}.fa-train:before{content:\"\\f238\"}.fa-tram:before{content:\"\\f7da\"}.fa-transgender:before{content:\"\\f224\"}.fa-transgender-alt:before{content:\"\\f225\"}.fa-trash:before{content:\"\\f1f8\"}.fa-trash-alt:before{content:\"\\f2ed\"}.fa-trash-restore:before{content:\"\\f829\"}.fa-trash-restore-alt:before{content:\"\\f82a\"}.fa-tree:before{content:\"\\f1bb\"}.fa-trello:before{content:\"\\f181\"}.fa-tripadvisor:before{content:\"\\f262\"}.fa-trophy:before{content:\"\\f091\"}.fa-truck:before{content:\"\\f0d1\"}.fa-truck-loading:before{content:\"\\f4de\"}.fa-truck-monster:before{content:\"\\f63b\"}.fa-truck-moving:before{content:\"\\f4df\"}.fa-truck-pickup:before{content:\"\\f63c\"}.fa-tshirt:before{content:\"\\f553\"}.fa-tty:before{content:\"\\f1e4\"}.fa-tumblr:before{content:\"\\f173\"}.fa-tumblr-square:before{content:\"\\f174\"}.fa-tv:before{content:\"\\f26c\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-twitter:before{content:\"\\f099\"}.fa-twitter-square:before{content:\"\\f081\"}.fa-typo3:before{content:\"\\f42b\"}.fa-uber:before{content:\"\\f402\"}.fa-ubuntu:before{content:\"\\f7df\"}.fa-uikit:before{content:\"\\f403\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-umbrella-beach:before{content:\"\\f5ca\"}.fa-underline:before{content:\"\\f0cd\"}.fa-undo:before{content:\"\\f0e2\"}.fa-undo-alt:before{content:\"\\f2ea\"}.fa-uniregistry:before{content:\"\\f404\"}.fa-universal-access:before{content:\"\\f29a\"}.fa-university:before{content:\"\\f19c\"}.fa-unlink:before{content:\"\\f127\"}.fa-unlock:before{content:\"\\f09c\"}.fa-unlock-alt:before{content:\"\\f13e\"}.fa-untappd:before{content:\"\\f405\"}.fa-upload:before{content:\"\\f093\"}.fa-ups:before{content:\"\\f7e0\"}.fa-usb:before{content:\"\\f287\"}.fa-user:before{content:\"\\f007\"}.fa-user-alt:before{content:\"\\f406\"}.fa-user-alt-slash:before{content:\"\\f4fa\"}.fa-user-astronaut:before{content:\"\\f4fb\"}.fa-user-check:before{content:\"\\f4fc\"}.fa-user-circle:before{content:\"\\f2bd\"}.fa-user-clock:before{content:\"\\f4fd\"}.fa-user-cog:before{content:\"\\f4fe\"}.fa-user-edit:before{content:\"\\f4ff\"}.fa-user-friends:before{content:\"\\f500\"}.fa-user-graduate:before{content:\"\\f501\"}.fa-user-injured:before{content:\"\\f728\"}.fa-user-lock:before{content:\"\\f502\"}.fa-user-md:before{content:\"\\f0f0\"}.fa-user-minus:before{content:\"\\f503\"}.fa-user-ninja:before{content:\"\\f504\"}.fa-user-nurse:before{content:\"\\f82f\"}.fa-user-plus:before{content:\"\\f234\"}.fa-user-secret:before{content:\"\\f21b\"}.fa-user-shield:before{content:\"\\f505\"}.fa-user-slash:before{content:\"\\f506\"}.fa-user-tag:before{content:\"\\f507\"}.fa-user-tie:before{content:\"\\f508\"}.fa-user-times:before{content:\"\\f235\"}.fa-users:before{content:\"\\f0c0\"}.fa-users-cog:before{content:\"\\f509\"}.fa-usps:before{content:\"\\f7e1\"}.fa-ussunnah:before{content:\"\\f407\"}.fa-utensil-spoon:before{content:\"\\f2e5\"}.fa-utensils:before{content:\"\\f2e7\"}.fa-vaadin:before{content:\"\\f408\"}.fa-vector-square:before{content:\"\\f5cb\"}.fa-venus:before{content:\"\\f221\"}.fa-venus-double:before{content:\"\\f226\"}.fa-venus-mars:before{content:\"\\f228\"}.fa-viacoin:before{content:\"\\f237\"}.fa-viadeo:before{content:\"\\f2a9\"}.fa-viadeo-square:before{content:\"\\f2aa\"}.fa-vial:before{content:\"\\f492\"}.fa-vials:before{content:\"\\f493\"}.fa-viber:before{content:\"\\f409\"}.fa-video:before{content:\"\\f03d\"}.fa-video-slash:before{content:\"\\f4e2\"}.fa-vihara:before{content:\"\\f6a7\"}.fa-vimeo:before{content:\"\\f40a\"}.fa-vimeo-square:before{content:\"\\f194\"}.fa-vimeo-v:before{content:\"\\f27d\"}.fa-vine:before{content:\"\\f1ca\"}.fa-vk:before{content:\"\\f189\"}.fa-vnv:before{content:\"\\f40b\"}.fa-volleyball-ball:before{content:\"\\f45f\"}.fa-volume-down:before{content:\"\\f027\"}.fa-volume-mute:before{content:\"\\f6a9\"}.fa-volume-off:before{content:\"\\f026\"}.fa-volume-up:before{content:\"\\f028\"}.fa-vote-yea:before{content:\"\\f772\"}.fa-vr-cardboard:before{content:\"\\f729\"}.fa-vuejs:before{content:\"\\f41f\"}.fa-walking:before{content:\"\\f554\"}.fa-wallet:before{content:\"\\f555\"}.fa-warehouse:before{content:\"\\f494\"}.fa-water:before{content:\"\\f773\"}.fa-wave-square:before{content:\"\\f83e\"}.fa-waze:before{content:\"\\f83f\"}.fa-weebly:before{content:\"\\f5cc\"}.fa-weibo:before{content:\"\\f18a\"}.fa-weight:before{content:\"\\f496\"}.fa-weight-hanging:before{content:\"\\f5cd\"}.fa-weixin:before{content:\"\\f1d7\"}.fa-whatsapp:before{content:\"\\f232\"}.fa-whatsapp-square:before{content:\"\\f40c\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-whmcs:before{content:\"\\f40d\"}.fa-wifi:before{content:\"\\f1eb\"}.fa-wikipedia-w:before{content:\"\\f266\"}.fa-wind:before{content:\"\\f72e\"}.fa-window-close:before{content:\"\\f410\"}.fa-window-maximize:before{content:\"\\f2d0\"}.fa-window-minimize:before{content:\"\\f2d1\"}.fa-window-restore:before{content:\"\\f2d2\"}.fa-windows:before{content:\"\\f17a\"}.fa-wine-bottle:before{content:\"\\f72f\"}.fa-wine-glass:before{content:\"\\f4e3\"}.fa-wine-glass-alt:before{content:\"\\f5ce\"}.fa-wix:before{content:\"\\f5cf\"}.fa-wizards-of-the-coast:before{content:\"\\f730\"}.fa-wolf-pack-battalion:before{content:\"\\f514\"}.fa-won-sign:before{content:\"\\f159\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-wordpress-simple:before{content:\"\\f411\"}.fa-wpbeginner:before{content:\"\\f297\"}.fa-wpexplorer:before{content:\"\\f2de\"}.fa-wpforms:before{content:\"\\f298\"}.fa-wpressr:before{content:\"\\f3e4\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-x-ray:before{content:\"\\f497\"}.fa-xbox:before{content:\"\\f412\"}.fa-xing:before{content:\"\\f168\"}.fa-xing-square:before{content:\"\\f169\"}.fa-y-combinator:before{content:\"\\f23b\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-yammer:before{content:\"\\f840\"}.fa-yandex:before{content:\"\\f413\"}.fa-yandex-international:before{content:\"\\f414\"}.fa-yarn:before{content:\"\\f7e3\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-yen-sign:before{content:\"\\f157\"}.fa-yin-yang:before{content:\"\\f6ad\"}.fa-yoast:before{content:\"\\f2b1\"}.fa-youtube:before{content:\"\\f167\"}.fa-youtube-square:before{content:\"\\f431\"}.fa-zhihu:before{content:\"\\f63f\"}.bootstrap-datetimepicker-widget .btn[data-action=clear]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=showHours]:after,.bootstrap-datetimepicker-widget .btn[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .btn[data-action=today]:after,.bootstrap-datetimepicker-widget .btn[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=clear]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=decrementHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=decrementMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=incrementHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=incrementMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=showHours]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=showMinutes]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=today]:after,.bootstrap-datetimepicker-widget .fc-unthemed .fc-button[data-action=togglePeriod]:after,.bootstrap-datetimepicker-widget .picker-switch:after,.bootstrap-datetimepicker-widget table th.next:after,.bootstrap-datetimepicker-widget table th.prev:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=clear]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=decrementHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=decrementMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=incrementHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=incrementMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=showHours]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=showMinutes]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=today]:after,.fc-unthemed .bootstrap-datetimepicker-widget .fc-button[data-action=togglePeriod]:after,.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}/*!\n * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */@font-face{font-family:Font Awesome\\ 5 Free;font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-regular-400.eot);src:url(../fonts/fa-regular-400d41d.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/fa-regular-400.woff2) format(\"woff2\"),url(../fonts/fa-regular-400.woff) format(\"woff\"),url(../fonts/fa-regular-400.ttf) format(\"truetype\"),url(../fonts/fa-regular-400.svg#fontawesome) format(\"svg\")}.far{font-weight:400}/*!\n * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */@font-face{font-family:Font Awesome\\ 5 Free;font-style:normal;font-weight:900;font-display:auto;src:url(../fonts/fa-solid-900.eot);src:url(../fonts/fa-solid-900d41d.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/fa-solid-900.woff2) format(\"woff2\"),url(../fonts/fa-solid-900.woff) format(\"woff\"),url(../fonts/fa-solid-900.ttf) format(\"truetype\"),url(../fonts/fa-solid-900.svg#fontawesome) format(\"svg\")}.fa,.far,.fas{font-family:Font Awesome\\ 5 Free}.fa,.fas{font-weight:900}/*!\n * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com\n * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)\n */@font-face{font-family:Font Awesome\\ 5 Brands;font-style:normal;font-weight:400;font-display:auto;src:url(../fonts/fa-brands-400.eot);src:url(../fonts/fa-brands-400d41d.eot?#iefix) format(\"embedded-opentype\"),url(../fonts/fa-brands-400.woff2) format(\"woff2\"),url(../fonts/fa-brands-400.woff) format(\"woff\"),url(../fonts/fa-brands-400.ttf) format(\"truetype\"),url(../fonts/fa-brands-400.svg#fontawesome) format(\"svg\")}.fab{font-family:Font Awesome\\ 5 Brands}table.dataTable tbody td.selected,table.dataTable tbody th.selected,table.dataTable tbody tr.selected{color:#fff}table.dataTable tbody td.selected a,table.dataTable tbody th.selected a,table.dataTable tbody tr.selected a{color:#a2d4ed}table.dataTable tbody>tr.selected,table.dataTable tbody>tr>.selected{background-color:#47bac1}table.dataTable.display tbody>tr.odd.selected,table.dataTable.display tbody>tr.odd>.selected,table.dataTable.stripe tbody>tr.odd.selected,table.dataTable.stripe tbody>tr.odd>.selected{background-color:#45b6bc}table.dataTable.display tbody>tr.selected:hover,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.hover tbody>tr.selected:hover,table.dataTable.hover tbody>tr>.selected:hover{background-color:#44b3ba}table.dataTable.display tbody>tr.selected>.sorting_1,table.dataTable.display tbody>tr.selected>.sorting_2,table.dataTable.display tbody>tr.selected>.sorting_3,table.dataTable.display tbody>tr>.selected,table.dataTable.order-column tbody>tr.selected>.sorting_1,table.dataTable.order-column tbody>tr.selected>.sorting_2,table.dataTable.order-column tbody>tr.selected>.sorting_3,table.dataTable.order-column tbody>tr>.selected{background-color:#46b6bd}table.dataTable.display tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_1{background-color:#43b0b7}table.dataTable.display tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_2{background-color:#44b1b8}table.dataTable.display tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.odd.selected>.sorting_3{background-color:#44b3b9}table.dataTable.display tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_1{background-color:#46b6bd}table.dataTable.display tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_2{background-color:#46b8bf}table.dataTable.display tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe tbody>tr.even.selected>.sorting_3{background-color:#47b9c0}table.dataTable.display tbody>tr.odd>.selected,table.dataTable.order-column.stripe tbody>tr.odd>.selected{background-color:#43b0b7}table.dataTable.display tbody>tr.even>.selected,table.dataTable.order-column.stripe tbody>tr.even>.selected{background-color:#46b6bd}table.dataTable.display tbody>tr.selected:hover>.sorting_1,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_1{background-color:#41abb1}table.dataTable.display tbody>tr.selected:hover>.sorting_2,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_2{background-color:#42acb3}table.dataTable.display tbody>tr.selected:hover>.sorting_3,table.dataTable.order-column.hover tbody>tr.selected:hover>.sorting_3{background-color:#43aeb5}table.dataTable.display tbody>tr:hover>.selected,table.dataTable.display tbody>tr>.selected:hover,table.dataTable.order-column.hover tbody>tr:hover>.selected,table.dataTable.order-column.hover tbody>tr>.selected:hover{background-color:#41abb1}table.dataTable tbody td.select-checkbox,table.dataTable tbody th.select-checkbox{position:relative}table.dataTable tbody td.select-checkbox:after,table.dataTable tbody td.select-checkbox:before,table.dataTable tbody th.select-checkbox:after,table.dataTable tbody th.select-checkbox:before{display:block;position:absolute;top:1.2em;left:50%;width:12px;height:12px;box-sizing:border-box}table.dataTable tbody td.select-checkbox:before,table.dataTable tbody th.select-checkbox:before{content:\" \";margin-top:-6px;margin-left:-6px;border:1px solid #000;border-radius:3px}table.dataTable tr.selected td.select-checkbox:after,table.dataTable tr.selected th.select-checkbox:after{content:\"\\2714\";margin-top:-11px;margin-left:-4px;text-align:center;text-shadow:1px 1px #b0bed9,-1px -1px #b0bed9,1px -1px #b0bed9,-1px 1px #b0bed9}div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:.5em}@media screen and (max-width:640px){div.dataTables_wrapper span.select-info,div.dataTables_wrapper span.select-item{margin-left:0;display:block}}.bootstrap-datetimepicker-widget .table td,.bootstrap-datetimepicker-widget .table th{border:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table td.day,.bootstrap-datetimepicker-widget table th{height:36px;line-height:36px;width:36px}.fc-unthemed .fc-button{background-image:none;box-shadow:none;text-shadow:none}.fc-unthemed .fc-button.fc-state-active{color:#fff;background-color:#39a2a9;border-color:#36999f}.fc-unthemed td,.fc-unthemed th{border-color:#e9ecef}.fc-unthemed .fc-event .fc-content{color:#fff;padding:.25rem}.fc-unthemed .fc-event,.fc-unthemed .fc-event-dot{background:#a180da;border-color:#a180da}.fc-unthemed .fc-toolbar h2{font-size:1.09375rem}.fc-unthemed td.fc-today{background:#f8f9fa}.fc-unthemed .fc-day-grid td:not(.fc-axis){padding:.25rem}.fc-unthemed .fc-day-grid td:not(.fc-axis).fc-event-container{padding:.2rem .5rem}.fc-unthemed .fc-axis{padding-top:.5rem;padding-bottom:.5rem}.fc-unthemed .fc-scroller .fc-content-col{padding:.5rem}.fc-unthemed th.fc-day-header,.fc-unthemed th.fc-week-number{padding:.75rem .25rem}.fc-unthemed .fc-list-heading .fc-widget-header{padding:.75rem 1.25rem}.fc-unthemed .fc-list-heading .fc-list-heading-alt,.fc-unthemed .fc-list-heading .fc-list-heading-main{font-size:1rem;font-weight:400}.fc-unthemed .fc-list-heading .fc-list-heading-main{font-weight:500;font-size:1rem}.fc-unthemed .fc-list-item td{padding:.75rem 1.25rem}.fc-unthemed .fc-list-item .fc-event-dot{border-radius:50%}.fc-row .fc-highlight-skeleton{opacity:1}.fc-row .fc-highlight-skeleton .fc-highlight{background:#ced4da}.hljs-comment,.hljs-quote{color:#998;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:#333;font-weight:700}.hljs-literal,.hljs-number,.hljs-tag .hljs-attr,.hljs-template-variable,.hljs-variable{color:teal}.hljs-doctag,.hljs-string{color:#d14}.hljs-section,.hljs-selector-id,.hljs-title{color:#900;font-weight:700}.hljs-subst{font-weight:400}.hljs-class .hljs-title,.hljs-type{color:#458;font-weight:700}.hljs-attribute,.hljs-name,.hljs-tag{color:navy;font-weight:400}.hljs-link,.hljs-regexp{color:#009926}.hljs-bullet,.hljs-symbol{color:#990073}.hljs-built_in,.hljs-builtin-name{color:#0086b3}.hljs-meta{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.md-editor>textarea{background:#fff;padding:.5rem}.md-editor .md-preview{padding:.5rem}.fc-unthemed .md-editor .fc-button-group,.md-editor .btn-group,.md-editor .fc-unthemed .fc-button-group{margin:0 .25rem}.fc-unthemed .md-editor .fc-button-group .btn-default,.md-editor .btn-group .btn-default,.md-editor .fc-unthemed .fc-button-group .btn-default{background:#fff;border:1px solid #dee2e6}.md-editor .glyphicon:before{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;font-family:Font Awesome\\ 5 Free;font-weight:900}.md-editor .glyphicon-bold:before{content:\"\\f032\"}.md-editor .glyphicon-italic:before{content:\"\\f033\"}.md-editor .glyphicon-header:before{content:\"\\f1dc\"}.md-editor .glyphicon-link:before{content:\"\\f0c1\"}.md-editor .glyphicon-picture:before{content:\"\\f1c5\"}.md-editor .glyphicon-list:before{content:\"\\f0ca\"}.md-editor .glyphicon-th-list:before{content:\"\\f0cb\"}.md-editor .glyphicon-asterisk:before{content:\"\\f069\"}.md-editor .glyphicon-comment:before{content:\"\\f27a\"}.md-editor .glyphicon-search:before{content:\"\\f002\"}.md-editor .glyphicon-fullscreen:before{content:\"\\f0b2\"}.ql-snow .ql-editor{min-height:15rem;background:#fff}.ql-container,.ql-toolbar.ql-snow{font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif}.ql-container{font-size:.875rem}.ql-bubble .ql-editor{padding:0}.ql-bubble .ql-editor.ql-blank:before{left:0;right:0}.ql-bubble .ql-tooltip{border-radius:.3rem;font-size:13px}.select2-container--bootstrap4{display:block}.select2-container--bootstrap4 .select2-selection{background-color:#fff;border:1px solid #ced4da;border-radius:.2rem;color:#495057;font-size:.875rem;outline:0}.select2-container--bootstrap4 .select2-selection.form-control{border-radius:.2rem}.select2-container--bootstrap4 .select2-search--dropdown .select2-search__field{background-color:#fff;border:1px solid #ced4da;border-radius:.2rem;color:#495057;font-size:.875rem}.select2-container--bootstrap4 .select2-search__field{outline:0}.select2-container--bootstrap4 .select2-search__field::-webkit-input-placeholder{color:#6c757d}.select2-container--bootstrap4 .select2-search__field:-moz-placeholder{color:#6c757d}.select2-container--bootstrap4 .select2-search__field::-moz-placeholder{color:#6c757d;opacity:1}.select2-container--bootstrap4 .select2-search__field:-ms-input-placeholder{color:#6c757d}.select2-container--bootstrap4 .select2-results__option{padding:.375rem .7rem;font-size:.875rem}.select2-container--bootstrap4 .select2-results__option[role=group]{padding:0}.select2-container--bootstrap4 .select2-results__option[aria-disabled=true]{color:#6c757d;cursor:not-allowed}.select2-container--bootstrap4 .select2-results__option[aria-selected=true]{background-color:#f8f9fa;color:#16181b}.select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected]{background-color:#47bac1;color:#fff}.select2-container--bootstrap4 .select2-results__option .select2-results__option{padding:.375rem .7rem}.select2-container--bootstrap4 .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--bootstrap4 .select2-results__option .select2-results__option .select2-results__option{margin-left:-.7rem;padding-left:1.4rem}.select2-container--bootstrap4 .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-1.4rem;padding-left:2.1rem}.select2-container--bootstrap4 .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2.1rem;padding-left:2.8rem}.select2-container--bootstrap4 .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2.8rem;padding-left:3.5rem}.select2-container--bootstrap4 .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3.5rem;padding-left:4.2rem}.select2-container--bootstrap4 .select2-results__group{color:#000;display:block;padding:.5rem .7rem;font-size:.75rem;line-height:1;white-space:nowrap}.select2-container--bootstrap4.select2-container--focus .select2-selection,.select2-container--bootstrap4.select2-container--open .select2-selection{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border-color:#a6dee1}@media (prefers-reduced-motion:reduce){.select2-container--bootstrap4.select2-container--focus .select2-selection,.select2-container--bootstrap4.select2-container--open .select2-selection{transition:none}}.select2-container--bootstrap4.select2-container--open .select2-selection .select2-selection__arrow b{border-color:transparent transparent #6c757d;border-width:0 .25rem .25rem}.select2-container--bootstrap4.select2-container--open.select2-container--below .select2-selection{border-bottom-right-radius:0;border-bottom-left-radius:0;border-bottom-color:transparent}.select2-container--bootstrap4.select2-container--open.select2-container--above .select2-selection{border-top-left-radius:0;border-top-right-radius:0;border-top-color:transparent}.select2-container--bootstrap4 .select2-selection__clear{color:#6c757d;cursor:pointer;float:right;font-weight:700;margin-right:10px}.select2-container--bootstrap4 .select2-selection__clear:hover{color:#354052}.select2-container--bootstrap4.select2-container--disabled .select2-selection{border-color:#ced4da}.select2-container--bootstrap4.select2-container--disabled .select2-search__field,.select2-container--bootstrap4.select2-container--disabled .select2-selection{cursor:not-allowed}.select2-container--bootstrap4.select2-container--disabled .select2-selection,.select2-container--bootstrap4.select2-container--disabled .select2-selection--multiple .select2-selection__choice{background-color:#e9ecef}.select2-container--bootstrap4.select2-container--disabled .select2-selection--multiple .select2-selection__choice__remove,.select2-container--bootstrap4.select2-container--disabled .select2-selection__clear{display:none}.select2-container--bootstrap4 .select2-dropdown{border-color:#a6dee1;border-width:1px;overflow-x:hidden;margin-top:-1px}.select2-container--bootstrap4 .select2-dropdown--above{margin-top:1px}.select2-container--bootstrap4 .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--bootstrap4 .select2-selection--single{height:calc(1.8125rem + 2px);line-height:1;padding:.5rem 1.45rem .5rem .7rem}.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow{position:absolute;bottom:0;right:.7rem;top:0;width:.25rem}.select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b{border-color:#6c757d transparent transparent;border-style:solid;border-width:.25rem .25rem 0;height:0;left:0;margin-left:-.25rem;margin-top:-.125rem;position:absolute;top:50%;width:0}.select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered{color:#495057;padding:0}.select2-container--bootstrap4 .select2-selection--single .select2-selection__placeholder{color:#6c757d}.select2-container--bootstrap4 .select2-selection--multiple{min-height:calc(1.8125rem + 2px);padding:0;height:auto}.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;display:block;line-height:1;list-style:none;margin:0;overflow:hidden;padding:.5rem 0 0 .7rem;width:100%;text-overflow:ellipsis;white-space:nowrap}.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__placeholder{color:#6c757d;float:left;margin-top:5px}.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice{color:#495057;background:#e9ecef;border:1px solid #dee2e6;border-radius:.2rem;cursor:default;float:left;margin:-.2rem .25rem .3rem 0;padding:.2rem .5rem}.select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field{background:transparent;padding:0 .7rem;height:calc(1.8125rem + 2px)-2;line-height:1;margin-top:0;min-width:5em}.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove{color:#6c757d;cursor:pointer;display:inline-block;font-weight:700;margin-right:.25rem}.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover{color:#354052}.select2-container--bootstrap4 .select2-selection--multiple .select2-selection__clear{margin-top:.5rem}.form-group-sm .select2-container--bootstrap4 .select2-selection--single,.input-group-sm .select2-container--bootstrap4 .select2-selection--single,.select2-container--bootstrap4 .select2-selection--single.input-sm{border-radius:.1rem;font-size:.75rem;height:calc(1.425rem + 2px);line-height:1;padding:.5rem .9rem .5rem .15rem}.form-group-sm .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b,.input-group-sm .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap4 .select2-selection--single.input-sm .select2-selection__arrow b{margin-left:-.5rem}.form-group-sm .select2-container--bootstrap4 .select2-selection--multiple,.input-group-sm .select2-container--bootstrap4 .select2-selection--multiple,.select2-container--bootstrap4 .select2-selection--multiple.input-sm{min-height:calc(1.425rem + 2px);border-radius:.1rem}.form-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered,.input-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__rendered,.select2-container--bootstrap4 .select2-selection--multiple.input-sm .select2-selection__rendered{padding:.5rem .15rem 0 .5rem}.form-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice,.input-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap4 .select2-selection--multiple.input-sm .select2-selection__choice{font-size:.75rem;line-height:1;margin:0 0 0 .075rem;padding:0 .5rem}.form-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap4 .select2-selection--multiple.input-sm .select2-search--inline .select2-search__field{padding:0 .15rem;font-size:.75rem;height:calc(1.425rem + 2px)-2;line-height:1}.form-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__clear,.input-group-sm .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap4 .select2-selection--multiple.input-sm .select2-selection__clear{margin-top:.5rem}.form-group-lg .select2-container--bootstrap4 .select2-selection--single,.input-group-lg .select2-container--bootstrap4 .select2-selection--single,.select2-container--bootstrap4 .select2-selection--single.input-lg{border-radius:.3rem;font-size:1rem;height:calc(2.2rem + 2px);line-height:1;padding:1rem 1.2875rem 1rem .35rem}.form-group-lg .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow,.input-group-lg .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow,.select2-container--bootstrap4 .select2-selection--single.input-lg .select2-selection__arrow{width:.3125rem}.form-group-lg .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b,.input-group-lg .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap4 .select2-selection--single.input-lg .select2-selection__arrow b{border-width:.3125rem .3125rem 0;margin-left:-1rem;margin-top:-.15625rem}.form-group-lg .select2-container--bootstrap4 .select2-selection--multiple,.input-group-lg .select2-container--bootstrap4 .select2-selection--multiple,.select2-container--bootstrap4 .select2-selection--multiple.input-lg{min-height:calc(2.2rem + 2px);border-radius:.3rem}.form-group-lg .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice,.input-group-lg .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap4 .select2-selection--multiple.input-lg .select2-selection__choice{font-size:1rem;line-height:1;border-radius:.2rem;margin:0 0 0 .175rem;padding:0 1rem}.form-group-lg .select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field,.input-group-lg .select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field,.select2-container--bootstrap4 .select2-selection--multiple.input-lg .select2-search--inline .select2-search__field{padding:0 .35rem;font-size:1rem;height:calc(2.2rem + 2px)-2;line-height:1}.form-group-lg .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__clear,.input-group-lg .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__clear,.select2-container--bootstrap4 .select2-selection--multiple.input-lg .select2-selection__clear{margin-top:1rem}.input-group-lg .select2-container--bootstrap4 .select2-selection.select2-container--open .select2-selection--single .select2-selection__arrow b,.select2-container--bootstrap4 .select2-selection.input-lg.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #6c757d;border-width:0 .3125rem .3125rem}.select2-container--bootstrap4[dir=rtl] .select2-selection--single{padding-left:1.45rem;padding-right:.7rem}.select2-container--bootstrap4[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-right:0;padding-left:0;text-align:right}.select2-container--bootstrap4[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--bootstrap4[dir=rtl] .select2-selection--single .select2-selection__arrow{left:.7rem;right:auto}.select2-container--bootstrap4[dir=rtl] .select2-selection--single .select2-selection__arrow b{margin-left:0}.select2-container--bootstrap4[dir=rtl] .select2-selection--multiple .select2-search--inline,.select2-container--bootstrap4[dir=rtl] .select2-selection--multiple .select2-selection__choice,.select2-container--bootstrap4[dir=rtl] .select2-selection--multiple .select2-selection__placeholder{float:right}.select2-container--bootstrap4[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:0;margin-right:.35rem}.select2-container--bootstrap4[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.has-warning .select2-dropdown,.has-warning .select2-selection{border-color:#fcc100}.has-warning .select2-container--focus .select2-selection,.has-warning .select2-container--open .select2-selection,.has-warning.select2-drop-active{border-color:#c99a00}.has-warning.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#c99a00}.has-error .select2-dropdown,.has-error .select2-selection{border-color:#f44455}.has-error .select2-container--focus .select2-selection,.has-error .select2-container--open .select2-selection,.has-error.select2-drop-active{border-color:#f11429}.has-error.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#f11429}.has-success .select2-dropdown,.has-success .select2-selection{border-color:#5fc27e}.has-success .select2-container--focus .select2-selection,.has-success .select2-container--open .select2-selection,.has-success.select2-drop-active{border-color:#42ac63}.has-success.select2-drop-active.select2-drop.select2-drop-above{border-top-color:#42ac63}.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap4>.selection>.select2-selection,.input-group>.select2-hidden-accessible:first-child+.select2-container--bootstrap4>.selection>.select2-selection.form-control{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap4:not(:last-child)>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child)+.select2-container--bootstrap4:not(:last-child)>.selection>.select2-selection.form-control{border-radius:0}.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap4:last-child>.selection>.select2-selection,.input-group>.select2-hidden-accessible:not(:first-child):not(:last-child)+.select2-container--bootstrap4:last-child>.selection>.select2-selection.form-control{border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.select2-container--bootstrap4{display:table;table-layout:fixed;position:relative;z-index:2;width:100%;margin-bottom:0}.input-group>.select2-container--bootstrap4>.selection>.select2-selection.form-control{float:none}.input-group>.select2-container--bootstrap4.select2-container--focus,.input-group>.select2-container--bootstrap4.select2-container--open{z-index:3}.fc-unthemed .input-group>.select2-container--bootstrap4 .input-group-btn .fc-button,.input-group>.select2-container--bootstrap4,.input-group>.select2-container--bootstrap4 .input-group-btn,.input-group>.select2-container--bootstrap4 .input-group-btn .btn,.input-group>.select2-container--bootstrap4 .input-group-btn .fc-unthemed .fc-button{vertical-align:top}.form-control.select2-hidden-accessible{position:absolute!important;width:1px!important}@media (min-width:576px){.form-inline .select2-container--bootstrap4{display:inline-block}}.select2-container--bootstrap4 .select2-selection--multiple .select2-search--inline .select2-search__field{padding:0}.select2-selection__rendered .select2-selection__choice:first-child{margin-left:0}.simplebar-scrollbar:before{background:#fff}#toast-container>div{opacity:.9}.wizard{background:#fff;background-color:#fff;background-clip:border-box;border:1px solid #e5e9f2;box-shadow:0 .1rem .2rem rgba(0,0,0,.05);border-radius:.2rem!important;margin-bottom:2rem}.wizard.sw-theme-default>ul.step-anchor>li.active>a{color:#47bac1!important}.wizard.sw-theme-default>ul.step-anchor>li.active>a:after{background:#47bac1}.wizard.sw-theme-default>ul.step-anchor>li.done>a{color:#80cfd4!important}.wizard.sw-theme-default>ul.step-anchor>li.done>a:after{background:#80cfd4!important}.wizard.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#47bac1!important;background:#47bac1!important}.wizard.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#47bac1!important}.wizard.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#80cfd4!important;background:#80cfd4!important}.wizard.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#80cfd4!important}.wizard.sw-theme-arrows .sw-toolbar-bottom,.wizard.sw-theme-default .sw-toolbar-bottom{background:#fff;border-top:1px solid #dee2e6}.wizard.sw-theme-arrows .step-content,.wizard.sw-theme-default .step-content{padding:10px}.wizard-primary.sw-theme-default>ul.step-anchor>li.active>a{color:#47bac1!important}.wizard-primary.sw-theme-default>ul.step-anchor>li.active>a:after{background:#47bac1}.wizard-primary.sw-theme-default>ul.step-anchor>li.done>a{color:#80cfd4!important}.wizard-primary.sw-theme-default>ul.step-anchor>li.done>a:after{background:#80cfd4!important}.wizard-primary.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#47bac1!important;background:#47bac1!important}.wizard-primary.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#47bac1!important}.wizard-primary.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#80cfd4!important;background:#80cfd4!important}.wizard-primary.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#80cfd4!important}.wizard-secondary.sw-theme-default>ul.step-anchor>li.active>a{color:#a180da!important}.wizard-secondary.sw-theme-default>ul.step-anchor>li.active>a:after{background:#a180da}.wizard-secondary.sw-theme-default>ul.step-anchor>li.done>a{color:#cdbbeb!important}.wizard-secondary.sw-theme-default>ul.step-anchor>li.done>a:after{background:#cdbbeb!important}.wizard-secondary.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#a180da!important;background:#a180da!important}.wizard-secondary.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#a180da!important}.wizard-secondary.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#cdbbeb!important;background:#cdbbeb!important}.wizard-secondary.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#cdbbeb!important}.wizard-success.sw-theme-default>ul.step-anchor>li.active>a{color:#5fc27e!important}.wizard-success.sw-theme-default>ul.step-anchor>li.active>a:after{background:#5fc27e}.wizard-success.sw-theme-default>ul.step-anchor>li.done>a{color:#96d7ab!important}.wizard-success.sw-theme-default>ul.step-anchor>li.done>a:after{background:#96d7ab!important}.wizard-success.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#5fc27e!important;background:#5fc27e!important}.wizard-success.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#5fc27e!important}.wizard-success.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#96d7ab!important;background:#96d7ab!important}.wizard-success.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#96d7ab!important}.wizard-info.sw-theme-default>ul.step-anchor>li.active>a{color:#5b7dff!important}.wizard-info.sw-theme-default>ul.step-anchor>li.active>a:after{background:#5b7dff}.wizard-info.sw-theme-default>ul.step-anchor>li.done>a{color:#a8baff!important}.wizard-info.sw-theme-default>ul.step-anchor>li.done>a:after{background:#a8baff!important}.wizard-info.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#5b7dff!important;background:#5b7dff!important}.wizard-info.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#5b7dff!important}.wizard-info.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#a8baff!important;background:#a8baff!important}.wizard-info.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#a8baff!important}.wizard-warning.sw-theme-default>ul.step-anchor>li.active>a{color:#fcc100!important}.wizard-warning.sw-theme-default>ul.step-anchor>li.active>a:after{background:#fcc100}.wizard-warning.sw-theme-default>ul.step-anchor>li.done>a{color:#ffd54a!important}.wizard-warning.sw-theme-default>ul.step-anchor>li.done>a:after{background:#ffd54a!important}.wizard-warning.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#fcc100!important;background:#fcc100!important}.wizard-warning.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#fcc100!important}.wizard-warning.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#ffd54a!important;background:#ffd54a!important}.wizard-warning.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#ffd54a!important}.wizard-danger.sw-theme-default>ul.step-anchor>li.active>a{color:#f44455!important}.wizard-danger.sw-theme-default>ul.step-anchor>li.active>a:after{background:#f44455}.wizard-danger.sw-theme-default>ul.step-anchor>li.done>a{color:#f88c97!important}.wizard-danger.sw-theme-default>ul.step-anchor>li.done>a:after{background:#f88c97!important}.wizard-danger.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#f44455!important;background:#f44455!important}.wizard-danger.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#f44455!important}.wizard-danger.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#f88c97!important;background:#f88c97!important}.wizard-danger.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#f88c97!important}.wizard-light.sw-theme-default>ul.step-anchor>li.active>a{color:#f8f9fa!important}.wizard-light.sw-theme-default>ul.step-anchor>li.active>a:after{background:#f8f9fa}.wizard-light.sw-theme-default>ul.step-anchor>li.done>a{color:#fff!important}.wizard-light.sw-theme-default>ul.step-anchor>li.done>a:after{background:#fff!important}.wizard-light.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#f8f9fa!important;background:#f8f9fa!important}.wizard-light.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#f8f9fa!important}.wizard-light.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#fff!important;background:#fff!important}.wizard-light.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#fff!important}.wizard-dark.sw-theme-default>ul.step-anchor>li.active>a{color:#354052!important}.wizard-dark.sw-theme-default>ul.step-anchor>li.active>a:after{background:#354052}.wizard-dark.sw-theme-default>ul.step-anchor>li.done>a{color:#536480!important}.wizard-dark.sw-theme-default>ul.step-anchor>li.done>a:after{background:#536480!important}.wizard-dark.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#354052!important;background:#354052!important}.wizard-dark.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#354052!important}.wizard-dark.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#536480!important;background:#536480!important}.wizard-dark.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#536480!important}.wizard-tertiary.sw-theme-default>ul.step-anchor>li.active>a{color:#5fc27e!important}.wizard-tertiary.sw-theme-default>ul.step-anchor>li.active>a:after{background:#5fc27e}.wizard-tertiary.sw-theme-default>ul.step-anchor>li.done>a{color:#96d7ab!important}.wizard-tertiary.sw-theme-default>ul.step-anchor>li.done>a:after{background:#96d7ab!important}.wizard-tertiary.sw-theme-arrows>ul.step-anchor>li.active>a{border-color:#5fc27e!important;background:#5fc27e!important}.wizard-tertiary.sw-theme-arrows>ul.step-anchor>li.active>a:after{border-left-color:#5fc27e!important}.wizard-tertiary.sw-theme-arrows>ul.step-anchor>li.done>a{border-color:#96d7ab!important;background:#96d7ab!important}.wizard-tertiary.sw-theme-arrows>ul.step-anchor>li.done>a:after{border-left-color:#96d7ab!important}.wizard .step-content{padding:1.25rem!important}.wizard.sw-theme-arrows>ul.step-anchor{background:#fff;border-top:1px solid #dee2e6}.sw-theme-arrows>ul.step-anchor>li a,.sw-theme-arrows>ul.step-anchor>li a:hover{background:#fff}.sw-theme-arrows>ul.step-anchor>li a:after,.sw-theme-arrows>ul.step-anchor>li a:hover:after{border-left-color:#fff}"
  },
  {
    "path": "public/admin-theme/css/grapes-builder.css",
    "content": ":root {\n  --builder-background: #5e35b1;\n  --icon-selected: #b388ff;\n  --text-color: #d1c4e9;\n  --color3: #eed7ec;\n}\n\n.gjs-one-bg {\n  background-color: var(--builder-background);\n}\n.gjs-one-color {\n  color: var(--builder-background);\n}\n.gjs-one-color-h:hover {\n  color: var(--builder-background);\n}\n.gjs-two-bg {\n  background-color: var(--text-color);\n}\n.gjs-two-color {\n  color: var(--text-color);\n}\n.gjs-two-color-h:hover {\n  color: var(--text-color);\n}\n.gjs-three-bg {\n  background-color: var(--color3);\n}\n.gjs-three-color {\n  color: var(--color3);\n}\n.gjs-three-color-h:hover {\n  color: var(--color3);\n}\n.gjs-four-bg {\n  background-color: var(--icon-selected);\n}\n.gjs-four-color {\n  color: var(--icon-selected);\n}\n.gjs-four-color-h:hover {\n  color: var(--icon-selected);\n}\n\n.icon-add-comp::before,\n.icon-comp100::before,\n.icon-comp50::before,\n.icon-comp30::before,\n.icon-rm::before {\n  content: \"\";\n}\n.icon-add-comp {\n  background: url(\"../images/grapes-builder/icon-sq-a.png\") no-repeat center;\n}\n.icon-comp100 {\n  background: url(\"../images/grapes-builder/icon-sq-1.png\") no-repeat center;\n}\n.icon-comp50 {\n  background: url(\"../images/grapes-builder/icon-sq-2.png\") no-repeat center;\n}\n.icon-comp30 {\n  background: url(\"../images/grapes-builder/icon-sq-3.png\") no-repeat center;\n}\n.icon-rm {\n  background: url(\"../images/grapes-builder/icon-sq-r.png\") no-repeat center;\n}\n\n.icons-flex {\n  background-size: 70% 65% !important;\n  height: 25px;\n  width: 27px;\n  opacity: 0.9;\n}\n.icon-dir-row {\n  background: url(\"../images/grapes-builder/flex-dir-row.png\") no-repeat center;\n}\n.icon-dir-row-rev {\n  background: url(\"../images/grapes-builder/flex-dir-row-rev.png\") no-repeat\n    center;\n}\n.icon-dir-col {\n  background: url(\"../images/grapes-builder/flex-dir-col.png\") no-repeat center;\n}\n.icon-dir-col-rev {\n  background: url(\"../images/grapes-builder/flex-dir-col-rev.png\") no-repeat\n    center;\n}\n.icon-just-start {\n  background: url(\"../images/grapes-builder/flex-just-start.png\") no-repeat\n    center;\n}\n.icon-just-end {\n  background: url(\"../images/grapes-builder/flex-just-end.png\") no-repeat center;\n}\n.icon-just-sp-bet {\n  background: url(\"../images/grapes-builder/flex-just-sp-bet.png\") no-repeat\n    center;\n}\n.icon-just-sp-ar {\n  background: url(\"../images/grapes-builder/flex-just-sp-ar.png\") no-repeat\n    center;\n}\n.icon-just-sp-cent {\n  background: url(\"../images/grapes-builder/flex-just-sp-cent.png\") no-repeat\n    center;\n}\n.icon-al-start {\n  background: url(\"../images/grapes-builder/flex-al-start.png\") no-repeat center;\n}\n.icon-al-end {\n  background: url(\"../images/grapes-builder/flex-al-end.png\") no-repeat center;\n}\n.icon-al-str {\n  background: url(\"../images/grapes-builder/flex-al-str.png\") no-repeat center;\n}\n.icon-al-center {\n  background: url(\"../images/grapes-builder/flex-al-center.png\") no-repeat\n    center;\n}\n\n[data-tooltip]::after {\n  background: rgba(51, 51, 51, 0.9);\n}\n\n.gjs-pn-commands {\n  min-height: 40px;\n}\n\n#gjs-sm-float,\n.gjs-pn-views .fa-cog {\n  display: none;\n}\n\n.gjs-am-preview-cont {\n  height: 100px;\n  width: 100%;\n}\n\n.gjs-logo-version {\n  background-color: #756467;\n}\n\n.gjs-pn-panel.gjs-pn-views {\n  padding: 0;\n  border-bottom: none;\n}\n\n.gjs-pn-btn.gjs-pn-active {\n  box-shadow: none;\n}\n\n.gjs-pn-views .gjs-pn-btn {\n  margin: 0;\n  height: 40px;\n  padding: 10px;\n  width: 33.3333%;\n  border-bottom: 2px solid rgba(0, 0, 0, 0.3);\n}\n\n.CodeMirror {\n  min-height: 450px;\n  margin-bottom: 8px;\n}\n.grp-handler-close {\n  background-color: transparent;\n  color: #ddd;\n}\n\n.grp-handler-cp-wrap {\n  border-color: transparent;\n}\n"
  },
  {
    "path": "public/admin-theme/fonts/stylesheet.css",
    "content": "@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedRegular.woff2') format('woff2'),\n        url('GeorgeRoundedRegular.woff') format('woff');\n    font-weight: normal;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedLightItalic.woff2') format('woff2'),\n        url('GeorgeRoundedLightItalic.woff') format('woff');\n    font-weight: 300;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedSemiboldItalic.woff2') format('woff2'),\n        url('GeorgeRoundedSemiboldItalic.woff') format('woff');\n    font-weight: 600;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedLight.woff2') format('woff2'),\n        url('GeorgeRoundedLight.woff') format('woff');\n    font-weight: 300;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedBold.woff2') format('woff2'),\n        url('GeorgeRoundedBold.woff') format('woff');\n    font-weight: bold;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedBoldItalic.woff2') format('woff2'),\n        url('GeorgeRoundedBoldItalic.woff') format('woff');\n    font-weight: bold;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedSemibold.woff2') format('woff2'),\n        url('GeorgeRoundedSemibold.woff') format('woff');\n    font-weight: 600;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'George Rounded';\n    src: url('GeorgeRoundedItalic.woff2') format('woff2'),\n        url('GeorgeRoundedItalic.woff') format('woff');\n    font-weight: normal;\n    font-style: italic;\n}\n\n/* Nunito */\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-ExtraBoldItalic.woff2') format('woff2'),\n        url('NunitoSans-ExtraBoldItalic.woff') format('woff');\n    font-weight: 800;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-Bold.woff2') format('woff2'),\n        url('NunitoSans-Bold.woff') format('woff');\n    font-weight: bold;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-ExtraLightItalic.woff2') format('woff2'),\n        url('NunitoSans-ExtraLightItalic.woff') format('woff');\n    font-weight: 200;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-Regular.woff2') format('woff2'),\n        url('NunitoSans-Regular.woff') format('woff');\n    font-weight: normal;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-Black.woff2') format('woff2'),\n        url('NunitoSans-Black.woff') format('woff');\n    font-weight: 900;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-LightItalic.woff2') format('woff2'),\n        url('NunitoSans-LightItalic.woff') format('woff');\n    font-weight: 300;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-BlackItalic.woff2') format('woff2'),\n        url('NunitoSans-BlackItalic.woff') format('woff');\n    font-weight: 900;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-Italic.woff2') format('woff2'),\n        url('NunitoSans-Italic.woff') format('woff');\n    font-weight: normal;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-SemiBoldItalic.woff2') format('woff2'),\n        url('NunitoSans-SemiBoldItalic.woff') format('woff');\n    font-weight: 600;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-ExtraLight.woff2') format('woff2'),\n        url('NunitoSans-ExtraLight.woff') format('woff');\n    font-weight: 200;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-BoldItalic.woff2') format('woff2'),\n        url('NunitoSans-BoldItalic.woff') format('woff');\n    font-weight: bold;\n    font-style: italic;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-SemiBold.woff2') format('woff2'),\n        url('NunitoSans-SemiBold.woff') format('woff');\n    font-weight: 600;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-Light.woff2') format('woff2'),\n        url('NunitoSans-Light.woff') format('woff');\n    font-weight: 300;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Nunito Sans';\n    src: url('NunitoSans-ExtraBold.woff2') format('woff2'),\n        url('NunitoSans-ExtraBold.woff') format('woff');\n    font-weight: 800;\n    font-style: normal;\n}\n\n/* Visby Round CF */\n\n@font-face {\n    font-family: 'Visby Round CF Demi';\n    src: url('VisbyRoundCF-DemiBold.woff2') format('woff2'),\n        url('VisbyRoundCF-DemiBold.woff') format('woff');\n    font-weight: 600;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF Extra';\n    src: url('VisbyRoundCF-ExtraBold.woff2') format('woff2'),\n        url('VisbyRoundCF-ExtraBold.woff') format('woff');\n    font-weight: 800;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF Extra';\n    src: url('VisbyRoundCF-ExtraLight.woff2') format('woff2'),\n        url('VisbyRoundCF-ExtraLight.woff') format('woff');\n    font-weight: 200;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF';\n    src: url('VisbyRoundCF-Regular.woff2') format('woff2'),\n        url('VisbyRoundCF-Regular.woff') format('woff');\n    font-weight: normal;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF';\n    src: url('VisbyRoundCF-Light.woff2') format('woff2'),\n        url('VisbyRoundCF-Light.woff') format('woff');\n    font-weight: 300;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF';\n    src: url('VisbyRoundCF-Heavy.woff2') format('woff2'),\n        url('VisbyRoundCF-Heavy.woff') format('woff');\n    font-weight: 900;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF';\n    src: url('VisbyRoundCF-Bold.woff2') format('woff2'),\n        url('VisbyRoundCF-Bold.woff') format('woff');\n    font-weight: bold;\n    font-style: normal;\n}\n\n@font-face {\n    font-family: 'Visby Round CF';\n    src: url('VisbyRoundCF-Medium.woff2') format('woff2'),\n        url('VisbyRoundCF-Medium.woff') format('woff');\n    font-weight: 500;\n    font-style: normal;\n}\n\n"
  },
  {
    "path": "public/admin-theme/js/app.js",
    "content": "!function(t){var e={};function l(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,l),i.l=!0,i.exports}l.m=t,l.c=e,l.d=function(t,e,n){l.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},l.r=function(t){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(t,\"__esModule\",{value:!0})},l.t=function(t,e){if(1&e&&(t=l(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(l.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var i in t)l.d(n,i,function(e){return t[e]}.bind(null,i));return n},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,\"a\",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p=\"\",l(l.s=136)}([function(t,e){t.exports=function(t){function e(t){\"undefined\"!=typeof console&&(console.error||console.log)(\"[Script Loader]\",t)}try{\"undefined\"!=typeof execScript&&\"undefined\"!=typeof attachEvent&&\"undefined\"==typeof addEventListener?execScript(t):\"undefined\"!=typeof eval?eval.call(null,t):e(\"EvalError: No eval function available\")}catch(t){e(t)}}},function(t,e,l){(function(e){t.exports=e.jQuery=l(25)}).call(this,l(2))},function(t,e){var l;l=function(){return this}();try{l=l||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(l=window)}t.exports=l},function(t,e,l){var n=l(5);t.exports=function(t){if(!n(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e){var l=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=l)},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e,l){var n=l(17)(\"wks\"),i=l(18),a=l(4).Symbol,r=\"function\"==typeof a;(t.exports=function(t){return n[t]||(n[t]=r&&a[t]||(r?a:i)(\"Symbol.\"+t))}).store=n},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){var l=t.exports={version:\"2.6.5\"};\"number\"==typeof __e&&(__e=l)},function(t,e){var l=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:l)(t)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e,l){\"use strict\";var n,i,a=l(33),r=RegExp.prototype.exec,o=String.prototype.replace,s=r,c=(n=/a/,i=/b*/g,r.call(n,\"a\"),r.call(i,\"a\"),0!==n.lastIndex||0!==i.lastIndex),u=void 0!==/()??/.exec(\"\")[1];(c||u)&&(s=function(t){var e,l,n,i,s=this;return u&&(l=new RegExp(\"^\"+s.source+\"$(?!\\\\s)\",a.call(s))),c&&(e=s.lastIndex),n=r.call(s,t),c&&n&&(s.lastIndex=s.global?n.index+n[0].length:e),u&&n&&n.length>1&&o.call(n[0],l,function(){for(i=1;i<arguments.length-2;i++)void 0===arguments[i]&&(n[i]=void 0)}),n}),t.exports=s},function(t,e,l){var n=l(36),i=l(40);t.exports=l(13)?function(t,e,l){return n.f(t,e,i(1,l))}:function(t,e,l){return t[e]=l,t}},function(t,e,l){t.exports=!l(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,l){\"use strict\";var n=l(32),i=RegExp.prototype.exec;t.exports=function(t,e){var l=t.exec;if(\"function\"==typeof l){var a=l.call(t,e);if(\"object\"!=typeof a)throw new TypeError(\"RegExp exec method returned something other than an Object or null\");return a}if(\"RegExp\"!==n(t))throw new TypeError(\"RegExp#exec called on incompatible receiver\");return i.call(t,e)}},function(t,e,l){\"use strict\";l(34);var n=l(22),i=l(12),a=l(7),r=l(10),o=l(6),s=l(11),c=o(\"species\"),u=!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:\"7\"},t},\"7\"!==\"\".replace(t,\"$<a>\")}),d=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var l=\"ab\".split(t);return 2===l.length&&\"a\"===l[0]&&\"b\"===l[1]}();t.exports=function(t,e,l){var h=o(t),f=!a(function(){var e={};return e[h]=function(){return 7},7!=\"\"[t](e)}),p=f?!a(function(){var e=!1,l=/a/;return l.exec=function(){return e=!0,null},\"split\"===t&&(l.constructor={},l.constructor[c]=function(){return l}),l[h](\"\"),!e}):void 0;if(!f||!p||\"replace\"===t&&!u||\"split\"===t&&!d){var g=/./[h],m=l(r,h,\"\"[t],function(t,e,l,n,i){return e.exec===s?f&&!i?{done:!0,value:g.call(e,l,n)}:{done:!0,value:t.call(l,e,n)}:{done:!1}}),b=m[0],v=m[1];n(String.prototype,t,b),i(RegExp.prototype,h,2==e?function(t,e){return v.call(t,this,e)}:function(t){return v.call(t,this)})}}},function(t,e){var l={}.toString;t.exports=function(t){return l.call(t).slice(8,-1)}},function(t,e,l){var n=l(8),i=l(4),a=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:n.version,mode:l(29)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(t,e){var l=0,n=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++l+n).toString(36))}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,l){\"use strict\";var n=l(31)(!0);t.exports=function(t,e,l){return e+(l?n(t,e).length:1)}},function(t,e,l){var n=l(9),i=Math.min;t.exports=function(t){return t>0?i(n(t),9007199254740991):0}},function(t,e,l){var n=l(4),i=l(12),a=l(41),r=l(18)(\"src\"),o=l(42),s=(\"\"+o).split(\"toString\");l(8).inspectSource=function(t){return o.call(t)},(t.exports=function(t,e,l,o){var c=\"function\"==typeof l;c&&(a(l,\"name\")||i(l,\"name\",e)),t[e]!==l&&(c&&(a(l,r)||i(l,r,t[e]?\"\"+t[e]:s.join(String(e)))),t===n?t[e]=l:o?t[e]?t[e]=l:i(t,e,l):(delete t[e],i(t,e,l)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[r]||o.call(this)})},function(t,e,l){(function(t){t.exports=function(){\"use strict\";var e,l;function n(){return e.apply(null,arguments)}function i(t){return t instanceof Array||\"[object Array]\"===Object.prototype.toString.call(t)}function a(t){return null!=t&&\"[object Object]\"===Object.prototype.toString.call(t)}function r(t){return void 0===t}function o(t){return\"number\"==typeof t||\"[object Number]\"===Object.prototype.toString.call(t)}function s(t){return t instanceof Date||\"[object Date]\"===Object.prototype.toString.call(t)}function c(t,e){var l,n=[];for(l=0;l<t.length;++l)n.push(e(t[l],l));return n}function u(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function d(t,e){for(var l in e)u(e,l)&&(t[l]=e[l]);return u(e,\"toString\")&&(t.toString=e.toString),u(e,\"valueOf\")&&(t.valueOf=e.valueOf),t}function h(t,e,l,n){return Ae(t,e,l,n,!0).utc()}function f(t){return null==t._pf&&(t._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),t._pf}function p(t){if(null==t._isValid){var e=f(t),n=l.call(e.parsedDateParts,function(t){return null!=t}),i=!isNaN(t._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&n);if(t._strict&&(i=i&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(t))return i;t._isValid=i}return t._isValid}function g(t){var e=h(NaN);return null!=t?d(f(e),t):f(e).userInvalidated=!0,e}l=Array.prototype.some?Array.prototype.some:function(t){for(var e=Object(this),l=e.length>>>0,n=0;n<l;n++)if(n in e&&t.call(this,e[n],n,e))return!0;return!1};var m=n.momentProperties=[];function b(t,e){var l,n,i;if(r(e._isAMomentObject)||(t._isAMomentObject=e._isAMomentObject),r(e._i)||(t._i=e._i),r(e._f)||(t._f=e._f),r(e._l)||(t._l=e._l),r(e._strict)||(t._strict=e._strict),r(e._tzm)||(t._tzm=e._tzm),r(e._isUTC)||(t._isUTC=e._isUTC),r(e._offset)||(t._offset=e._offset),r(e._pf)||(t._pf=f(e)),r(e._locale)||(t._locale=e._locale),m.length>0)for(l=0;l<m.length;l++)n=m[l],r(i=e[n])||(t[n]=i);return t}var v=!1;function y(t){b(this,t),this._d=new Date(null!=t._d?t._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===v&&(v=!0,n.updateOffset(this),v=!1)}function x(t){return t instanceof y||null!=t&&null!=t._isAMomentObject}function _(t){return t<0?Math.ceil(t)||0:Math.floor(t)}function w(t){var e=+t,l=0;return 0!==e&&isFinite(e)&&(l=_(e)),l}function S(t,e,l){var n,i=Math.min(t.length,e.length),a=Math.abs(t.length-e.length),r=0;for(n=0;n<i;n++)(l&&t[n]!==e[n]||!l&&w(t[n])!==w(e[n]))&&r++;return r+a}function k(t){!1===n.suppressDeprecationWarnings&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+t)}function C(t,e){var l=!0;return d(function(){if(null!=n.deprecationHandler&&n.deprecationHandler(null,t),l){for(var i,a=[],r=0;r<arguments.length;r++){if(i=\"\",\"object\"==typeof arguments[r]){for(var o in i+=\"\\n[\"+r+\"] \",arguments[0])i+=o+\": \"+arguments[0][o]+\", \";i=i.slice(0,-2)}else i=arguments[r];a.push(i)}k(t+\"\\nArguments: \"+Array.prototype.slice.call(a).join(\"\")+\"\\n\"+(new Error).stack),l=!1}return e.apply(this,arguments)},e)}var T,D={};function M(t,e){null!=n.deprecationHandler&&n.deprecationHandler(t,e),D[t]||(k(e),D[t]=!0)}function A(t){return t instanceof Function||\"[object Function]\"===Object.prototype.toString.call(t)}function E(t,e){var l,n=d({},t);for(l in e)u(e,l)&&(a(t[l])&&a(e[l])?(n[l]={},d(n[l],t[l]),d(n[l],e[l])):null!=e[l]?n[l]=e[l]:delete n[l]);for(l in t)u(t,l)&&!u(e,l)&&a(t[l])&&(n[l]=d({},n[l]));return n}function j(t){null!=t&&this.set(t)}n.suppressDeprecationWarnings=!1,n.deprecationHandler=null,T=Object.keys?Object.keys:function(t){var e,l=[];for(e in t)u(t,e)&&l.push(e);return l};var I={};function P(t,e){var l=t.toLowerCase();I[l]=I[l+\"s\"]=I[e]=t}function O(t){return\"string\"==typeof t?I[t]||I[t.toLowerCase()]:void 0}function L(t){var e,l,n={};for(l in t)u(t,l)&&(e=O(l))&&(n[e]=t[l]);return n}var R={};function N(t,e){R[t]=e}function F(t,e,l){var n=\"\"+Math.abs(t),i=e-n.length,a=t>=0;return(a?l?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,i)).toString().substr(1)+n}var B=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,H=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,q={},Z={};function z(t,e,l,n){var i=n;\"string\"==typeof n&&(i=function(){return this[n]()}),t&&(Z[t]=i),e&&(Z[e[0]]=function(){return F(i.apply(this,arguments),e[1],e[2])}),l&&(Z[l]=function(){return this.localeData().ordinal(i.apply(this,arguments),t)})}function $(t,e){return t.isValid()?(e=Y(e,t.localeData()),q[e]=q[e]||function(t){var e,l,n,i=t.match(B);for(e=0,l=i.length;e<l;e++)Z[i[e]]?i[e]=Z[i[e]]:i[e]=(n=i[e]).match(/\\[[\\s\\S]/)?n.replace(/^\\[|\\]$/g,\"\"):n.replace(/\\\\/g,\"\");return function(e){var n,a=\"\";for(n=0;n<l;n++)a+=A(i[n])?i[n].call(e,t):i[n];return a}}(e),q[e](t)):t.localeData().invalidDate()}function Y(t,e){var l=5;function n(t){return e.longDateFormat(t)||t}for(H.lastIndex=0;l>=0&&H.test(t);)t=t.replace(H,n),H.lastIndex=0,l-=1;return t}var W=/\\d/,V=/\\d\\d/,U=/\\d{3}/,G=/\\d{4}/,X=/[+-]?\\d{6}/,K=/\\d\\d?/,Q=/\\d\\d\\d\\d?/,J=/\\d\\d\\d\\d\\d\\d?/,tt=/\\d{1,3}/,et=/\\d{1,4}/,lt=/[+-]?\\d{1,6}/,nt=/\\d+/,it=/[+-]?\\d+/,at=/Z|[+-]\\d\\d:?\\d\\d/gi,rt=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,ot=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,st={};function ct(t,e,l){st[t]=A(e)?e:function(t,n){return t&&l?l:e}}function ut(t,e){return u(st,t)?st[t](e._strict,e._locale):new RegExp(dt(t.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(t,e,l,n,i){return e||l||n||i})))}function dt(t){return t.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}var ht={};function ft(t,e){var l,n=e;for(\"string\"==typeof t&&(t=[t]),o(e)&&(n=function(t,l){l[e]=w(t)}),l=0;l<t.length;l++)ht[t[l]]=n}function pt(t,e){ft(t,function(t,l,n,i){n._w=n._w||{},e(t,n._w,n,i)})}function gt(t,e,l){null!=e&&u(ht,t)&&ht[t](e,l._a,l,t)}var mt=0,bt=1,vt=2,yt=3,xt=4,_t=5,wt=6,St=7,kt=8;function Ct(t){return Tt(t)?366:365}function Tt(t){return t%4==0&&t%100!=0||t%400==0}z(\"Y\",0,0,function(){var t=this.year();return t<=9999?\"\"+t:\"+\"+t}),z(0,[\"YY\",2],0,function(){return this.year()%100}),z(0,[\"YYYY\",4],0,\"year\"),z(0,[\"YYYYY\",5],0,\"year\"),z(0,[\"YYYYYY\",6,!0],0,\"year\"),P(\"year\",\"y\"),N(\"year\",1),ct(\"Y\",it),ct(\"YY\",K,V),ct(\"YYYY\",et,G),ct(\"YYYYY\",lt,X),ct(\"YYYYYY\",lt,X),ft([\"YYYYY\",\"YYYYYY\"],mt),ft(\"YYYY\",function(t,e){e[mt]=2===t.length?n.parseTwoDigitYear(t):w(t)}),ft(\"YY\",function(t,e){e[mt]=n.parseTwoDigitYear(t)}),ft(\"Y\",function(t,e){e[mt]=parseInt(t,10)}),n.parseTwoDigitYear=function(t){return w(t)+(w(t)>68?1900:2e3)};var Dt,Mt=At(\"FullYear\",!0);function At(t,e){return function(l){return null!=l?(jt(this,t,l),n.updateOffset(this,e),this):Et(this,t)}}function Et(t,e){return t.isValid()?t._d[\"get\"+(t._isUTC?\"UTC\":\"\")+e]():NaN}function jt(t,e,l){t.isValid()&&!isNaN(l)&&(\"FullYear\"===e&&Tt(t.year())&&1===t.month()&&29===t.date()?t._d[\"set\"+(t._isUTC?\"UTC\":\"\")+e](l,t.month(),It(l,t.month())):t._d[\"set\"+(t._isUTC?\"UTC\":\"\")+e](l))}function It(t,e){if(isNaN(t)||isNaN(e))return NaN;var l,n=(e%(l=12)+l)%l;return t+=(e-n)/12,1===n?Tt(t)?29:28:31-n%7%2}Dt=Array.prototype.indexOf?Array.prototype.indexOf:function(t){var e;for(e=0;e<this.length;++e)if(this[e]===t)return e;return-1},z(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),z(\"MMM\",0,0,function(t){return this.localeData().monthsShort(this,t)}),z(\"MMMM\",0,0,function(t){return this.localeData().months(this,t)}),P(\"month\",\"M\"),N(\"month\",8),ct(\"M\",K),ct(\"MM\",K,V),ct(\"MMM\",function(t,e){return e.monthsShortRegex(t)}),ct(\"MMMM\",function(t,e){return e.monthsRegex(t)}),ft([\"M\",\"MM\"],function(t,e){e[bt]=w(t)-1}),ft([\"MMM\",\"MMMM\"],function(t,e,l,n){var i=l._locale.monthsParse(t,n,l._strict);null!=i?e[bt]=i:f(l).invalidMonth=t});var Pt=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,Ot=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),Lt=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\");function Rt(t,e){var l;if(!t.isValid())return t;if(\"string\"==typeof e)if(/^\\d+$/.test(e))e=w(e);else if(!o(e=t.localeData().monthsParse(e)))return t;return l=Math.min(t.date(),It(t.year(),e)),t._d[\"set\"+(t._isUTC?\"UTC\":\"\")+\"Month\"](e,l),t}function Nt(t){return null!=t?(Rt(this,t),n.updateOffset(this,!0),this):Et(this,\"Month\")}var Ft=ot,Bt=ot;function Ht(){function t(t,e){return e.length-t.length}var e,l,n=[],i=[],a=[];for(e=0;e<12;e++)l=h([2e3,e]),n.push(this.monthsShort(l,\"\")),i.push(this.months(l,\"\")),a.push(this.months(l,\"\")),a.push(this.monthsShort(l,\"\"));for(n.sort(t),i.sort(t),a.sort(t),e=0;e<12;e++)n[e]=dt(n[e]),i[e]=dt(i[e]);for(e=0;e<24;e++)a[e]=dt(a[e]);this._monthsRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+n.join(\"|\")+\")\",\"i\")}function qt(t){var e;if(t<100&&t>=0){var l=Array.prototype.slice.call(arguments);l[0]=t+400,e=new Date(Date.UTC.apply(null,l)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(t)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Zt(t,e,l){var n=7+e-l,i=(7+qt(t,0,n).getUTCDay()-e)%7;return-i+n-1}function zt(t,e,l,n,i){var a,r,o=(7+l-n)%7,s=Zt(t,n,i),c=1+7*(e-1)+o+s;return c<=0?r=Ct(a=t-1)+c:c>Ct(t)?(a=t+1,r=c-Ct(t)):(a=t,r=c),{year:a,dayOfYear:r}}function $t(t,e,l){var n,i,a=Zt(t.year(),e,l),r=Math.floor((t.dayOfYear()-a-1)/7)+1;return r<1?(i=t.year()-1,n=r+Yt(i,e,l)):r>Yt(t.year(),e,l)?(n=r-Yt(t.year(),e,l),i=t.year()+1):(i=t.year(),n=r),{week:n,year:i}}function Yt(t,e,l){var n=Zt(t,e,l),i=Zt(t+1,e,l);return(Ct(t)-n+i)/7}function Wt(t,e){return t.slice(e,7).concat(t.slice(0,e))}z(\"w\",[\"ww\",2],\"wo\",\"week\"),z(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),P(\"week\",\"w\"),P(\"isoWeek\",\"W\"),N(\"week\",5),N(\"isoWeek\",5),ct(\"w\",K),ct(\"ww\",K,V),ct(\"W\",K),ct(\"WW\",K,V),pt([\"w\",\"ww\",\"W\",\"WW\"],function(t,e,l,n){e[n.substr(0,1)]=w(t)}),z(\"d\",0,\"do\",\"day\"),z(\"dd\",0,0,function(t){return this.localeData().weekdaysMin(this,t)}),z(\"ddd\",0,0,function(t){return this.localeData().weekdaysShort(this,t)}),z(\"dddd\",0,0,function(t){return this.localeData().weekdays(this,t)}),z(\"e\",0,0,\"weekday\"),z(\"E\",0,0,\"isoWeekday\"),P(\"day\",\"d\"),P(\"weekday\",\"e\"),P(\"isoWeekday\",\"E\"),N(\"day\",11),N(\"weekday\",11),N(\"isoWeekday\",11),ct(\"d\",K),ct(\"e\",K),ct(\"E\",K),ct(\"dd\",function(t,e){return e.weekdaysMinRegex(t)}),ct(\"ddd\",function(t,e){return e.weekdaysShortRegex(t)}),ct(\"dddd\",function(t,e){return e.weekdaysRegex(t)}),pt([\"dd\",\"ddd\",\"dddd\"],function(t,e,l,n){var i=l._locale.weekdaysParse(t,n,l._strict);null!=i?e.d=i:f(l).invalidWeekday=t}),pt([\"d\",\"e\",\"E\"],function(t,e,l,n){e[n]=w(t)});var Vt=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),Ut=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),Gt=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),Xt=ot,Kt=ot,Qt=ot;function Jt(){function t(t,e){return e.length-t.length}var e,l,n,i,a,r=[],o=[],s=[],c=[];for(e=0;e<7;e++)l=h([2e3,1]).day(e),n=this.weekdaysMin(l,\"\"),i=this.weekdaysShort(l,\"\"),a=this.weekdays(l,\"\"),r.push(n),o.push(i),s.push(a),c.push(n),c.push(i),c.push(a);for(r.sort(t),o.sort(t),s.sort(t),c.sort(t),e=0;e<7;e++)o[e]=dt(o[e]),s[e]=dt(s[e]),c[e]=dt(c[e]);this._weekdaysRegex=new RegExp(\"^(\"+c.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function te(){return this.hours()%12||12}function ee(t,e){z(t,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function le(t,e){return e._meridiemParse}z(\"H\",[\"HH\",2],0,\"hour\"),z(\"h\",[\"hh\",2],0,te),z(\"k\",[\"kk\",2],0,function(){return this.hours()||24}),z(\"hmm\",0,0,function(){return\"\"+te.apply(this)+F(this.minutes(),2)}),z(\"hmmss\",0,0,function(){return\"\"+te.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),z(\"Hmm\",0,0,function(){return\"\"+this.hours()+F(this.minutes(),2)}),z(\"Hmmss\",0,0,function(){return\"\"+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),ee(\"a\",!0),ee(\"A\",!1),P(\"hour\",\"h\"),N(\"hour\",13),ct(\"a\",le),ct(\"A\",le),ct(\"H\",K),ct(\"h\",K),ct(\"k\",K),ct(\"HH\",K,V),ct(\"hh\",K,V),ct(\"kk\",K,V),ct(\"hmm\",Q),ct(\"hmmss\",J),ct(\"Hmm\",Q),ct(\"Hmmss\",J),ft([\"H\",\"HH\"],yt),ft([\"k\",\"kk\"],function(t,e,l){var n=w(t);e[yt]=24===n?0:n}),ft([\"a\",\"A\"],function(t,e,l){l._isPm=l._locale.isPM(t),l._meridiem=t}),ft([\"h\",\"hh\"],function(t,e,l){e[yt]=w(t),f(l).bigHour=!0}),ft(\"hmm\",function(t,e,l){var n=t.length-2;e[yt]=w(t.substr(0,n)),e[xt]=w(t.substr(n)),f(l).bigHour=!0}),ft(\"hmmss\",function(t,e,l){var n=t.length-4,i=t.length-2;e[yt]=w(t.substr(0,n)),e[xt]=w(t.substr(n,2)),e[_t]=w(t.substr(i)),f(l).bigHour=!0}),ft(\"Hmm\",function(t,e,l){var n=t.length-2;e[yt]=w(t.substr(0,n)),e[xt]=w(t.substr(n))}),ft(\"Hmmss\",function(t,e,l){var n=t.length-4,i=t.length-2;e[yt]=w(t.substr(0,n)),e[xt]=w(t.substr(n,2)),e[_t]=w(t.substr(i))});var ne,ie=At(\"Hours\",!0),ae={calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},longDateFormat:{LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},invalidDate:\"Invalid date\",ordinal:\"%d\",dayOfMonthOrdinalParse:/\\d{1,2}/,relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},months:Ot,monthsShort:Lt,week:{dow:0,doy:6},weekdays:Vt,weekdaysMin:Gt,weekdaysShort:Ut,meridiemParse:/[ap]\\.?m?\\.?/i},re={},oe={};function se(t){return t?t.toLowerCase().replace(\"_\",\"-\"):t}function ce(e){var l=null;if(!re[e]&&void 0!==t&&t&&t.exports)try{l=ne._abbr,!function(){var t=new Error(\"Cannot find module 'undefined'\");throw t.code=\"MODULE_NOT_FOUND\",t}(),ue(l)}catch(t){}return re[e]}function ue(t,e){var l;return t&&((l=r(e)?he(t):de(t,e))?ne=l:\"undefined\"!=typeof console&&console.warn&&console.warn(\"Locale \"+t+\" not found. Did you forget to load it?\")),ne._abbr}function de(t,e){if(null!==e){var l,n=ae;if(e.abbr=t,null!=re[t])M(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),n=re[t]._config;else if(null!=e.parentLocale)if(null!=re[e.parentLocale])n=re[e.parentLocale]._config;else{if(null==(l=ce(e.parentLocale)))return oe[e.parentLocale]||(oe[e.parentLocale]=[]),oe[e.parentLocale].push({name:t,config:e}),null;n=l._config}return re[t]=new j(E(n,e)),oe[t]&&oe[t].forEach(function(t){de(t.name,t.config)}),ue(t),re[t]}return delete re[t],null}function he(t){var e;if(t&&t._locale&&t._locale._abbr&&(t=t._locale._abbr),!t)return ne;if(!i(t)){if(e=ce(t))return e;t=[t]}return function(t){for(var e,l,n,i,a=0;a<t.length;){for(i=se(t[a]).split(\"-\"),e=i.length,l=(l=se(t[a+1]))?l.split(\"-\"):null;e>0;){if(n=ce(i.slice(0,e).join(\"-\")))return n;if(l&&l.length>=e&&S(i,l,!0)>=e-1)break;e--}a++}return ne}(t)}function fe(t){var e,l=t._a;return l&&-2===f(t).overflow&&(e=l[bt]<0||l[bt]>11?bt:l[vt]<1||l[vt]>It(l[mt],l[bt])?vt:l[yt]<0||l[yt]>24||24===l[yt]&&(0!==l[xt]||0!==l[_t]||0!==l[wt])?yt:l[xt]<0||l[xt]>59?xt:l[_t]<0||l[_t]>59?_t:l[wt]<0||l[wt]>999?wt:-1,f(t)._overflowDayOfYear&&(e<mt||e>vt)&&(e=vt),f(t)._overflowWeeks&&-1===e&&(e=St),f(t)._overflowWeekday&&-1===e&&(e=kt),f(t).overflow=e),t}function pe(t,e,l){return null!=t?t:null!=e?e:l}function ge(t){var e,l,i,a,r,o=[];if(!t._d){for(i=function(t){var e=new Date(n.now());return t._useUTC?[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()]:[e.getFullYear(),e.getMonth(),e.getDate()]}(t),t._w&&null==t._a[vt]&&null==t._a[bt]&&function(t){var e,l,n,i,a,r,o,s;if(null!=(e=t._w).GG||null!=e.W||null!=e.E)a=1,r=4,l=pe(e.GG,t._a[mt],$t(Ee(),1,4).year),n=pe(e.W,1),((i=pe(e.E,1))<1||i>7)&&(s=!0);else{a=t._locale._week.dow,r=t._locale._week.doy;var c=$t(Ee(),a,r);l=pe(e.gg,t._a[mt],c.year),n=pe(e.w,c.week),null!=e.d?((i=e.d)<0||i>6)&&(s=!0):null!=e.e?(i=e.e+a,(e.e<0||e.e>6)&&(s=!0)):i=a}n<1||n>Yt(l,a,r)?f(t)._overflowWeeks=!0:null!=s?f(t)._overflowWeekday=!0:(o=zt(l,n,i,a,r),t._a[mt]=o.year,t._dayOfYear=o.dayOfYear)}(t),null!=t._dayOfYear&&(r=pe(t._a[mt],i[mt]),(t._dayOfYear>Ct(r)||0===t._dayOfYear)&&(f(t)._overflowDayOfYear=!0),l=qt(r,0,t._dayOfYear),t._a[bt]=l.getUTCMonth(),t._a[vt]=l.getUTCDate()),e=0;e<3&&null==t._a[e];++e)t._a[e]=o[e]=i[e];for(;e<7;e++)t._a[e]=o[e]=null==t._a[e]?2===e?1:0:t._a[e];24===t._a[yt]&&0===t._a[xt]&&0===t._a[_t]&&0===t._a[wt]&&(t._nextDay=!0,t._a[yt]=0),t._d=(t._useUTC?qt:function(t,e,l,n,i,a,r){var o;return t<100&&t>=0?(o=new Date(t+400,e,l,n,i,a,r),isFinite(o.getFullYear())&&o.setFullYear(t)):o=new Date(t,e,l,n,i,a,r),o}).apply(null,o),a=t._useUTC?t._d.getUTCDay():t._d.getDay(),null!=t._tzm&&t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),t._nextDay&&(t._a[yt]=24),t._w&&void 0!==t._w.d&&t._w.d!==a&&(f(t).weekdayMismatch=!0)}}var me=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,be=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,ve=/Z|[+-]\\d\\d(?::?\\d\\d)?/,ye=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],xe=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],_e=/^\\/?Date\\((\\-?\\d+)/i;function we(t){var e,l,n,i,a,r,o=t._i,s=me.exec(o)||be.exec(o);if(s){for(f(t).iso=!0,e=0,l=ye.length;e<l;e++)if(ye[e][1].exec(s[1])){i=ye[e][0],n=!1!==ye[e][2];break}if(null==i)return void(t._isValid=!1);if(s[3]){for(e=0,l=xe.length;e<l;e++)if(xe[e][1].exec(s[3])){a=(s[2]||\" \")+xe[e][0];break}if(null==a)return void(t._isValid=!1)}if(!n&&null!=a)return void(t._isValid=!1);if(s[4]){if(!ve.exec(s[4]))return void(t._isValid=!1);r=\"Z\"}t._f=i+(a||\"\")+(r||\"\"),De(t)}else t._isValid=!1}var Se=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;function ke(t){var e=parseInt(t,10);return e<=49?2e3+e:e<=999?1900+e:e}var Ce={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Te(t){var e,l,n,i,a,r,o,s=Se.exec(t._i.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\"));if(s){var c=(e=s[4],l=s[3],n=s[2],i=s[5],a=s[6],r=s[7],o=[ke(e),Lt.indexOf(l),parseInt(n,10),parseInt(i,10),parseInt(a,10)],r&&o.push(parseInt(r,10)),o);if(!function(t,e,l){if(t){var n=Ut.indexOf(t),i=new Date(e[0],e[1],e[2]).getDay();if(n!==i)return f(l).weekdayMismatch=!0,l._isValid=!1,!1}return!0}(s[1],c,t))return;t._a=c,t._tzm=function(t,e,l){if(t)return Ce[t];if(e)return 0;var n=parseInt(l,10),i=n%100,a=(n-i)/100;return 60*a+i}(s[8],s[9],s[10]),t._d=qt.apply(null,t._a),t._d.setUTCMinutes(t._d.getUTCMinutes()-t._tzm),f(t).rfc2822=!0}else t._isValid=!1}function De(t){if(t._f!==n.ISO_8601)if(t._f!==n.RFC_2822){t._a=[],f(t).empty=!0;var e,l,i,a,r,o=\"\"+t._i,s=o.length,c=0;for(i=Y(t._f,t._locale).match(B)||[],e=0;e<i.length;e++)a=i[e],(l=(o.match(ut(a,t))||[])[0])&&((r=o.substr(0,o.indexOf(l))).length>0&&f(t).unusedInput.push(r),o=o.slice(o.indexOf(l)+l.length),c+=l.length),Z[a]?(l?f(t).empty=!1:f(t).unusedTokens.push(a),gt(a,l,t)):t._strict&&!l&&f(t).unusedTokens.push(a);f(t).charsLeftOver=s-c,o.length>0&&f(t).unusedInput.push(o),t._a[yt]<=12&&!0===f(t).bigHour&&t._a[yt]>0&&(f(t).bigHour=void 0),f(t).parsedDateParts=t._a.slice(0),f(t).meridiem=t._meridiem,t._a[yt]=(u=t._locale,d=t._a[yt],null==(h=t._meridiem)?d:null!=u.meridiemHour?u.meridiemHour(d,h):null!=u.isPM?((p=u.isPM(h))&&d<12&&(d+=12),p||12!==d||(d=0),d):d),ge(t),fe(t)}else Te(t);else we(t);var u,d,h,p}function Me(t){var e=t._i,l=t._f;return t._locale=t._locale||he(t._l),null===e||void 0===l&&\"\"===e?g({nullInput:!0}):(\"string\"==typeof e&&(t._i=e=t._locale.preparse(e)),x(e)?new y(fe(e)):(s(e)?t._d=e:i(l)?function(t){var e,l,n,i,a;if(0===t._f.length)return f(t).invalidFormat=!0,void(t._d=new Date(NaN));for(i=0;i<t._f.length;i++)a=0,e=b({},t),null!=t._useUTC&&(e._useUTC=t._useUTC),e._f=t._f[i],De(e),p(e)&&(a+=f(e).charsLeftOver,a+=10*f(e).unusedTokens.length,f(e).score=a,(null==n||a<n)&&(n=a,l=e));d(t,l||e)}(t):l?De(t):function(t){var e=t._i;r(e)?t._d=new Date(n.now()):s(e)?t._d=new Date(e.valueOf()):\"string\"==typeof e?function(t){var e=_e.exec(t._i);null===e?(we(t),!1===t._isValid&&(delete t._isValid,Te(t),!1===t._isValid&&(delete t._isValid,n.createFromInputFallback(t)))):t._d=new Date(+e[1])}(t):i(e)?(t._a=c(e.slice(0),function(t){return parseInt(t,10)}),ge(t)):a(e)?function(t){if(!t._d){var e=L(t._i);t._a=c([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(t){return t&&parseInt(t,10)}),ge(t)}}(t):o(e)?t._d=new Date(e):n.createFromInputFallback(t)}(t),p(t)||(t._d=null),t))}function Ae(t,e,l,n,r){var o,s={};return!0!==l&&!1!==l||(n=l,l=void 0),(a(t)&&function(t){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(t).length;var e;for(e in t)if(t.hasOwnProperty(e))return!1;return!0}(t)||i(t)&&0===t.length)&&(t=void 0),s._isAMomentObject=!0,s._useUTC=s._isUTC=r,s._l=l,s._i=t,s._f=e,s._strict=n,(o=new y(fe(Me(s))))._nextDay&&(o.add(1,\"d\"),o._nextDay=void 0),o}function Ee(t,e,l,n){return Ae(t,e,l,n,!1)}n.createFromInputFallback=C(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(t){t._d=new Date(t._i+(t._useUTC?\" UTC\":\"\"))}),n.ISO_8601=function(){},n.RFC_2822=function(){};var je=C(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var t=Ee.apply(null,arguments);return this.isValid()&&t.isValid()?t<this?this:t:g()}),Ie=C(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var t=Ee.apply(null,arguments);return this.isValid()&&t.isValid()?t>this?this:t:g()});function Pe(t,e){var l,n;if(1===e.length&&i(e[0])&&(e=e[0]),!e.length)return Ee();for(l=e[0],n=1;n<e.length;++n)e[n].isValid()&&!e[n][t](l)||(l=e[n]);return l}var Oe=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];function Le(t){var e=L(t),l=e.year||0,n=e.quarter||0,i=e.month||0,a=e.week||e.isoWeek||0,r=e.day||0,o=e.hour||0,s=e.minute||0,c=e.second||0,u=e.millisecond||0;this._isValid=function(t){for(var e in t)if(-1===Dt.call(Oe,e)||null!=t[e]&&isNaN(t[e]))return!1;for(var l=!1,n=0;n<Oe.length;++n)if(t[Oe[n]]){if(l)return!1;parseFloat(t[Oe[n]])!==w(t[Oe[n]])&&(l=!0)}return!0}(e),this._milliseconds=+u+1e3*c+6e4*s+1e3*o*60*60,this._days=+r+7*a,this._months=+i+3*n+12*l,this._data={},this._locale=he(),this._bubble()}function Re(t){return t instanceof Le}function Ne(t){return t<0?-1*Math.round(-1*t):Math.round(t)}function Fe(t,e){z(t,0,0,function(){var t=this.utcOffset(),l=\"+\";return t<0&&(t=-t,l=\"-\"),l+F(~~(t/60),2)+e+F(~~t%60,2)})}Fe(\"Z\",\":\"),Fe(\"ZZ\",\"\"),ct(\"Z\",rt),ct(\"ZZ\",rt),ft([\"Z\",\"ZZ\"],function(t,e,l){l._useUTC=!0,l._tzm=He(rt,t)});var Be=/([\\+\\-]|\\d\\d)/gi;function He(t,e){var l=(e||\"\").match(t);if(null===l)return null;var n=l[l.length-1]||[],i=(n+\"\").match(Be)||[\"-\",0,0],a=60*i[1]+w(i[2]);return 0===a?0:\"+\"===i[0]?a:-a}function qe(t,e){var l,i;return e._isUTC?(l=e.clone(),i=(x(t)||s(t)?t.valueOf():Ee(t).valueOf())-l.valueOf(),l._d.setTime(l._d.valueOf()+i),n.updateOffset(l,!1),l):Ee(t).local()}function Ze(t){return 15*-Math.round(t._d.getTimezoneOffset()/15)}function ze(){return!!this.isValid()&&this._isUTC&&0===this._offset}n.updateOffset=function(){};var $e=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,Ye=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function We(t,e){var l,n,i,a,r,s,c=t,d=null;return Re(t)?c={ms:t._milliseconds,d:t._days,M:t._months}:o(t)?(c={},e?c[e]=t:c.milliseconds=t):(d=$e.exec(t))?(l=\"-\"===d[1]?-1:1,c={y:0,d:w(d[vt])*l,h:w(d[yt])*l,m:w(d[xt])*l,s:w(d[_t])*l,ms:w(Ne(1e3*d[wt]))*l}):(d=Ye.exec(t))?(l=\"-\"===d[1]?-1:1,c={y:Ve(d[2],l),M:Ve(d[3],l),w:Ve(d[4],l),d:Ve(d[5],l),h:Ve(d[6],l),m:Ve(d[7],l),s:Ve(d[8],l)}):null==c?c={}:\"object\"==typeof c&&(\"from\"in c||\"to\"in c)&&(a=Ee(c.from),r=Ee(c.to),i=a.isValid()&&r.isValid()?(r=qe(r,a),a.isBefore(r)?s=Ue(a,r):((s=Ue(r,a)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(c={}).ms=i.milliseconds,c.M=i.months),n=new Le(c),Re(t)&&u(t,\"_locale\")&&(n._locale=t._locale),n}function Ve(t,e){var l=t&&parseFloat(t.replace(\",\",\".\"));return(isNaN(l)?0:l)*e}function Ue(t,e){var l={};return l.months=e.month()-t.month()+12*(e.year()-t.year()),t.clone().add(l.months,\"M\").isAfter(e)&&--l.months,l.milliseconds=+e-+t.clone().add(l.months,\"M\"),l}function Ge(t,e){return function(l,n){var i;return null===n||isNaN(+n)||(M(e,\"moment().\"+e+\"(period, number) is deprecated. Please use moment().\"+e+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),i=l,l=n,n=i),Xe(this,We(l=\"string\"==typeof l?+l:l,n),t),this}}function Xe(t,e,l,i){var a=e._milliseconds,r=Ne(e._days),o=Ne(e._months);t.isValid()&&(i=null==i||i,o&&Rt(t,Et(t,\"Month\")+o*l),r&&jt(t,\"Date\",Et(t,\"Date\")+r*l),a&&t._d.setTime(t._d.valueOf()+a*l),i&&n.updateOffset(t,r||o))}We.fn=Le.prototype,We.invalid=function(){return We(NaN)};var Ke=Ge(1,\"add\"),Qe=Ge(-1,\"subtract\");function Je(t,e){var l,n,i=12*(e.year()-t.year())+(e.month()-t.month()),a=t.clone().add(i,\"months\");return e-a<0?(l=t.clone().add(i-1,\"months\"),n=(e-a)/(a-l)):(l=t.clone().add(i+1,\"months\"),n=(e-a)/(l-a)),-(i+n)||0}function tl(t){var e;return void 0===t?this._locale._abbr:(null!=(e=he(t))&&(this._locale=e),this)}n.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",n.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var el=C(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(t){return void 0===t?this.localeData():this.locale(t)});function ll(){return this._locale}var nl=1e3,il=60*nl,al=60*il,rl=3506328*al;function ol(t,e){return(t%e+e)%e}function sl(t,e,l){return t<100&&t>=0?new Date(t+400,e,l)-rl:new Date(t,e,l).valueOf()}function cl(t,e,l){return t<100&&t>=0?Date.UTC(t+400,e,l)-rl:Date.UTC(t,e,l)}function ul(t,e){z(0,[t,t.length],0,e)}function dl(t,e,l,n,i){var a;return null==t?$t(this,n,i).year:(a=Yt(t,n,i),e>a&&(e=a),function(t,e,l,n,i){var a=zt(t,e,l,n,i),r=qt(a.year,0,a.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}.call(this,t,e,l,n,i))}z(0,[\"gg\",2],0,function(){return this.weekYear()%100}),z(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),ul(\"gggg\",\"weekYear\"),ul(\"ggggg\",\"weekYear\"),ul(\"GGGG\",\"isoWeekYear\"),ul(\"GGGGG\",\"isoWeekYear\"),P(\"weekYear\",\"gg\"),P(\"isoWeekYear\",\"GG\"),N(\"weekYear\",1),N(\"isoWeekYear\",1),ct(\"G\",it),ct(\"g\",it),ct(\"GG\",K,V),ct(\"gg\",K,V),ct(\"GGGG\",et,G),ct(\"gggg\",et,G),ct(\"GGGGG\",lt,X),ct(\"ggggg\",lt,X),pt([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(t,e,l,n){e[n.substr(0,2)]=w(t)}),pt([\"gg\",\"GG\"],function(t,e,l,i){e[i]=n.parseTwoDigitYear(t)}),z(\"Q\",0,\"Qo\",\"quarter\"),P(\"quarter\",\"Q\"),N(\"quarter\",7),ct(\"Q\",W),ft(\"Q\",function(t,e){e[bt]=3*(w(t)-1)}),z(\"D\",[\"DD\",2],\"Do\",\"date\"),P(\"date\",\"D\"),N(\"date\",9),ct(\"D\",K),ct(\"DD\",K,V),ct(\"Do\",function(t,e){return t?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),ft([\"D\",\"DD\"],vt),ft(\"Do\",function(t,e){e[vt]=w(t.match(K)[0])});var hl=At(\"Date\",!0);z(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),P(\"dayOfYear\",\"DDD\"),N(\"dayOfYear\",4),ct(\"DDD\",tt),ct(\"DDDD\",U),ft([\"DDD\",\"DDDD\"],function(t,e,l){l._dayOfYear=w(t)}),z(\"m\",[\"mm\",2],0,\"minute\"),P(\"minute\",\"m\"),N(\"minute\",14),ct(\"m\",K),ct(\"mm\",K,V),ft([\"m\",\"mm\"],xt);var fl=At(\"Minutes\",!1);z(\"s\",[\"ss\",2],0,\"second\"),P(\"second\",\"s\"),N(\"second\",15),ct(\"s\",K),ct(\"ss\",K,V),ft([\"s\",\"ss\"],_t);var pl,gl=At(\"Seconds\",!1);for(z(\"S\",0,0,function(){return~~(this.millisecond()/100)}),z(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),z(0,[\"SSS\",3],0,\"millisecond\"),z(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),z(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),z(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),z(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),z(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),z(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),P(\"millisecond\",\"ms\"),N(\"millisecond\",16),ct(\"S\",tt,W),ct(\"SS\",tt,V),ct(\"SSS\",tt,U),pl=\"SSSS\";pl.length<=9;pl+=\"S\")ct(pl,nt);function ml(t,e){e[wt]=w(1e3*(\"0.\"+t))}for(pl=\"S\";pl.length<=9;pl+=\"S\")ft(pl,ml);var bl=At(\"Milliseconds\",!1);z(\"z\",0,0,\"zoneAbbr\"),z(\"zz\",0,0,\"zoneName\");var vl=y.prototype;function yl(t){return t}vl.add=Ke,vl.calendar=function(t,e){var l=t||Ee(),i=qe(l,this).startOf(\"day\"),a=n.calendarFormat(this,i)||\"sameElse\",r=e&&(A(e[a])?e[a].call(this,l):e[a]);return this.format(r||this.localeData().calendar(a,this,Ee(l)))},vl.clone=function(){return new y(this)},vl.diff=function(t,e,l){var n,i,a;if(!this.isValid())return NaN;if(!(n=qe(t,this)).isValid())return NaN;switch(i=6e4*(n.utcOffset()-this.utcOffset()),e=O(e)){case\"year\":a=Je(this,n)/12;break;case\"month\":a=Je(this,n);break;case\"quarter\":a=Je(this,n)/3;break;case\"second\":a=(this-n)/1e3;break;case\"minute\":a=(this-n)/6e4;break;case\"hour\":a=(this-n)/36e5;break;case\"day\":a=(this-n-i)/864e5;break;case\"week\":a=(this-n-i)/6048e5;break;default:a=this-n}return l?a:_(a)},vl.endOf=function(t){var e;if(void 0===(t=O(t))||\"millisecond\"===t||!this.isValid())return this;var l=this._isUTC?cl:sl;switch(t){case\"year\":e=l(this.year()+1,0,1)-1;break;case\"quarter\":e=l(this.year(),this.month()-this.month()%3+3,1)-1;break;case\"month\":e=l(this.year(),this.month()+1,1)-1;break;case\"week\":e=l(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case\"isoWeek\":e=l(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case\"day\":case\"date\":e=l(this.year(),this.month(),this.date()+1)-1;break;case\"hour\":e=this._d.valueOf(),e+=al-ol(e+(this._isUTC?0:this.utcOffset()*il),al)-1;break;case\"minute\":e=this._d.valueOf(),e+=il-ol(e,il)-1;break;case\"second\":e=this._d.valueOf(),e+=nl-ol(e,nl)-1}return this._d.setTime(e),n.updateOffset(this,!0),this},vl.format=function(t){t||(t=this.isUtc()?n.defaultFormatUtc:n.defaultFormat);var e=$(this,t);return this.localeData().postformat(e)},vl.from=function(t,e){return this.isValid()&&(x(t)&&t.isValid()||Ee(t).isValid())?We({to:this,from:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},vl.fromNow=function(t){return this.from(Ee(),t)},vl.to=function(t,e){return this.isValid()&&(x(t)&&t.isValid()||Ee(t).isValid())?We({from:this,to:t}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},vl.toNow=function(t){return this.to(Ee(),t)},vl.get=function(t){return A(this[t=O(t)])?this[t]():this},vl.invalidAt=function(){return f(this).overflow},vl.isAfter=function(t,e){var l=x(t)?t:Ee(t);return!(!this.isValid()||!l.isValid())&&(\"millisecond\"===(e=O(e)||\"millisecond\")?this.valueOf()>l.valueOf():l.valueOf()<this.clone().startOf(e).valueOf())},vl.isBefore=function(t,e){var l=x(t)?t:Ee(t);return!(!this.isValid()||!l.isValid())&&(\"millisecond\"===(e=O(e)||\"millisecond\")?this.valueOf()<l.valueOf():this.clone().endOf(e).valueOf()<l.valueOf())},vl.isBetween=function(t,e,l,n){var i=x(t)?t:Ee(t),a=x(e)?e:Ee(e);return!!(this.isValid()&&i.isValid()&&a.isValid())&&((\"(\"===(n=n||\"()\")[0]?this.isAfter(i,l):!this.isBefore(i,l))&&(\")\"===n[1]?this.isBefore(a,l):!this.isAfter(a,l)))},vl.isSame=function(t,e){var l,n=x(t)?t:Ee(t);return!(!this.isValid()||!n.isValid())&&(\"millisecond\"===(e=O(e)||\"millisecond\")?this.valueOf()===n.valueOf():(l=n.valueOf(),this.clone().startOf(e).valueOf()<=l&&l<=this.clone().endOf(e).valueOf()))},vl.isSameOrAfter=function(t,e){return this.isSame(t,e)||this.isAfter(t,e)},vl.isSameOrBefore=function(t,e){return this.isSame(t,e)||this.isBefore(t,e)},vl.isValid=function(){return p(this)},vl.lang=el,vl.locale=tl,vl.localeData=ll,vl.max=Ie,vl.min=je,vl.parsingFlags=function(){return d({},f(this))},vl.set=function(t,e){if(\"object\"==typeof t)for(var l=function(t){var e=[];for(var l in t)e.push({unit:l,priority:R[l]});return e.sort(function(t,e){return t.priority-e.priority}),e}(t=L(t)),n=0;n<l.length;n++)this[l[n].unit](t[l[n].unit]);else if(A(this[t=O(t)]))return this[t](e);return this},vl.startOf=function(t){var e;if(void 0===(t=O(t))||\"millisecond\"===t||!this.isValid())return this;var l=this._isUTC?cl:sl;switch(t){case\"year\":e=l(this.year(),0,1);break;case\"quarter\":e=l(this.year(),this.month()-this.month()%3,1);break;case\"month\":e=l(this.year(),this.month(),1);break;case\"week\":e=l(this.year(),this.month(),this.date()-this.weekday());break;case\"isoWeek\":e=l(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case\"day\":case\"date\":e=l(this.year(),this.month(),this.date());break;case\"hour\":e=this._d.valueOf(),e-=ol(e+(this._isUTC?0:this.utcOffset()*il),al);break;case\"minute\":e=this._d.valueOf(),e-=ol(e,il);break;case\"second\":e=this._d.valueOf(),e-=ol(e,nl)}return this._d.setTime(e),n.updateOffset(this,!0),this},vl.subtract=Qe,vl.toArray=function(){var t=this;return[t.year(),t.month(),t.date(),t.hour(),t.minute(),t.second(),t.millisecond()]},vl.toObject=function(){var t=this;return{years:t.year(),months:t.month(),date:t.date(),hours:t.hours(),minutes:t.minutes(),seconds:t.seconds(),milliseconds:t.milliseconds()}},vl.toDate=function(){return new Date(this.valueOf())},vl.toISOString=function(t){if(!this.isValid())return null;var e=!0!==t,l=e?this.clone().utc():this;return l.year()<0||l.year()>9999?$(l,e?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):A(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\"Z\",$(l,\"Z\")):$(l,e?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")},vl.inspect=function(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var t=\"moment\",e=\"\";this.isLocal()||(t=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",e=\"Z\");var l=\"[\"+t+'(\"]',n=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",i=e+'[\")]';return this.format(l+n+\"-MM-DD[T]HH:mm:ss.SSS\"+i)},vl.toJSON=function(){return this.isValid()?this.toISOString():null},vl.toString=function(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},vl.unix=function(){return Math.floor(this.valueOf()/1e3)},vl.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},vl.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},vl.year=Mt,vl.isLeapYear=function(){return Tt(this.year())},vl.weekYear=function(t){return dl.call(this,t,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},vl.isoWeekYear=function(t){return dl.call(this,t,this.isoWeek(),this.isoWeekday(),1,4)},vl.quarter=vl.quarters=function(t){return null==t?Math.ceil((this.month()+1)/3):this.month(3*(t-1)+this.month()%3)},vl.month=Nt,vl.daysInMonth=function(){return It(this.year(),this.month())},vl.week=vl.weeks=function(t){var e=this.localeData().week(this);return null==t?e:this.add(7*(t-e),\"d\")},vl.isoWeek=vl.isoWeeks=function(t){var e=$t(this,1,4).week;return null==t?e:this.add(7*(t-e),\"d\")},vl.weeksInYear=function(){var t=this.localeData()._week;return Yt(this.year(),t.dow,t.doy)},vl.isoWeeksInYear=function(){return Yt(this.year(),1,4)},vl.date=hl,vl.day=vl.days=function(t){if(!this.isValid())return null!=t?this:NaN;var e=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=t?(t=function(t,e){return\"string\"!=typeof t?t:isNaN(t)?\"number\"==typeof(t=e.weekdaysParse(t))?t:null:parseInt(t,10)}(t,this.localeData()),this.add(t-e,\"d\")):e},vl.weekday=function(t){if(!this.isValid())return null!=t?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==t?e:this.add(t-e,\"d\")},vl.isoWeekday=function(t){if(!this.isValid())return null!=t?this:NaN;if(null!=t){var e=function(t,e){return\"string\"==typeof t?e.weekdaysParse(t)%7||7:isNaN(t)?null:t}(t,this.localeData());return this.day(this.day()%7?e:e-7)}return this.day()||7},vl.dayOfYear=function(t){var e=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==t?e:this.add(t-e,\"d\")},vl.hour=vl.hours=ie,vl.minute=vl.minutes=fl,vl.second=vl.seconds=gl,vl.millisecond=vl.milliseconds=bl,vl.utcOffset=function(t,e,l){var i,a=this._offset||0;if(!this.isValid())return null!=t?this:NaN;if(null!=t){if(\"string\"==typeof t){if(null===(t=He(rt,t)))return this}else Math.abs(t)<16&&!l&&(t*=60);return!this._isUTC&&e&&(i=Ze(this)),this._offset=t,this._isUTC=!0,null!=i&&this.add(i,\"m\"),a!==t&&(!e||this._changeInProgress?Xe(this,We(t-a,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,n.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?a:Ze(this)},vl.utc=function(t){return this.utcOffset(0,t)},vl.local=function(t){return this._isUTC&&(this.utcOffset(0,t),this._isUTC=!1,t&&this.subtract(Ze(this),\"m\")),this},vl.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var t=He(at,this._i);null!=t?this.utcOffset(t):this.utcOffset(0,!0)}return this},vl.hasAlignedHourOffset=function(t){return!!this.isValid()&&(t=t?Ee(t).utcOffset():0,(this.utcOffset()-t)%60==0)},vl.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},vl.isLocal=function(){return!!this.isValid()&&!this._isUTC},vl.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},vl.isUtc=ze,vl.isUTC=ze,vl.zoneAbbr=function(){return this._isUTC?\"UTC\":\"\"},vl.zoneName=function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},vl.dates=C(\"dates accessor is deprecated. Use date instead.\",hl),vl.months=C(\"months accessor is deprecated. Use month instead\",Nt),vl.years=C(\"years accessor is deprecated. Use year instead\",Mt),vl.zone=C(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",function(t,e){return null!=t?(\"string\"!=typeof t&&(t=-t),this.utcOffset(t,e),this):-this.utcOffset()}),vl.isDSTShifted=C(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",function(){if(!r(this._isDSTShifted))return this._isDSTShifted;var t={};if(b(t,this),(t=Me(t))._a){var e=t._isUTC?h(t._a):Ee(t._a);this._isDSTShifted=this.isValid()&&S(t._a,e.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted});var xl=j.prototype;function _l(t,e,l,n){var i=he(),a=h().set(n,e);return i[l](a,t)}function wl(t,e,l){if(o(t)&&(e=t,t=void 0),t=t||\"\",null!=e)return _l(t,e,l,\"month\");var n,i=[];for(n=0;n<12;n++)i[n]=_l(t,n,l,\"month\");return i}function Sl(t,e,l,n){\"boolean\"==typeof t?(o(e)&&(l=e,e=void 0),e=e||\"\"):(l=e=t,t=!1,o(e)&&(l=e,e=void 0),e=e||\"\");var i,a=he(),r=t?a._week.dow:0;if(null!=l)return _l(e,(l+r)%7,n,\"day\");var s=[];for(i=0;i<7;i++)s[i]=_l(e,(i+r)%7,n,\"day\");return s}xl.calendar=function(t,e,l){var n=this._calendar[t]||this._calendar.sameElse;return A(n)?n.call(e,l):n},xl.longDateFormat=function(t){var e=this._longDateFormat[t],l=this._longDateFormat[t.toUpperCase()];return e||!l?e:(this._longDateFormat[t]=l.replace(/MMMM|MM|DD|dddd/g,function(t){return t.slice(1)}),this._longDateFormat[t])},xl.invalidDate=function(){return this._invalidDate},xl.ordinal=function(t){return this._ordinal.replace(\"%d\",t)},xl.preparse=yl,xl.postformat=yl,xl.relativeTime=function(t,e,l,n){var i=this._relativeTime[l];return A(i)?i(t,e,l,n):i.replace(/%d/i,t)},xl.pastFuture=function(t,e){var l=this._relativeTime[t>0?\"future\":\"past\"];return A(l)?l(e):l.replace(/%s/i,e)},xl.set=function(t){var e,l;for(l in t)A(e=t[l])?this[l]=e:this[\"_\"+l]=e;this._config=t,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)},xl.months=function(t,e){return t?i(this._months)?this._months[t.month()]:this._months[(this._months.isFormat||Pt).test(e)?\"format\":\"standalone\"][t.month()]:i(this._months)?this._months:this._months.standalone},xl.monthsShort=function(t,e){return t?i(this._monthsShort)?this._monthsShort[t.month()]:this._monthsShort[Pt.test(e)?\"format\":\"standalone\"][t.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},xl.monthsParse=function(t,e,l){var n,i,a;if(this._monthsParseExact)return function(t,e,l){var n,i,a,r=t.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)a=h([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(a,\"\").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(a,\"\").toLocaleLowerCase();return l?\"MMM\"===e?-1!==(i=Dt.call(this._shortMonthsParse,r))?i:null:-1!==(i=Dt.call(this._longMonthsParse,r))?i:null:\"MMM\"===e?-1!==(i=Dt.call(this._shortMonthsParse,r))?i:-1!==(i=Dt.call(this._longMonthsParse,r))?i:null:-1!==(i=Dt.call(this._longMonthsParse,r))?i:-1!==(i=Dt.call(this._shortMonthsParse,r))?i:null}.call(this,t,e,l);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(i=h([2e3,n]),l&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp(\"^\"+this.months(i,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[n]=new RegExp(\"^\"+this.monthsShort(i,\"\").replace(\".\",\"\")+\"$\",\"i\")),l||this._monthsParse[n]||(a=\"^\"+this.months(i,\"\")+\"|^\"+this.monthsShort(i,\"\"),this._monthsParse[n]=new RegExp(a.replace(\".\",\"\"),\"i\")),l&&\"MMMM\"===e&&this._longMonthsParse[n].test(t))return n;if(l&&\"MMM\"===e&&this._shortMonthsParse[n].test(t))return n;if(!l&&this._monthsParse[n].test(t))return n}},xl.monthsRegex=function(t){return this._monthsParseExact?(u(this,\"_monthsRegex\")||Ht.call(this),t?this._monthsStrictRegex:this._monthsRegex):(u(this,\"_monthsRegex\")||(this._monthsRegex=Bt),this._monthsStrictRegex&&t?this._monthsStrictRegex:this._monthsRegex)},xl.monthsShortRegex=function(t){return this._monthsParseExact?(u(this,\"_monthsRegex\")||Ht.call(this),t?this._monthsShortStrictRegex:this._monthsShortRegex):(u(this,\"_monthsShortRegex\")||(this._monthsShortRegex=Ft),this._monthsShortStrictRegex&&t?this._monthsShortStrictRegex:this._monthsShortRegex)},xl.week=function(t){return $t(t,this._week.dow,this._week.doy).week},xl.firstDayOfYear=function(){return this._week.doy},xl.firstDayOfWeek=function(){return this._week.dow},xl.weekdays=function(t,e){var l=i(this._weekdays)?this._weekdays:this._weekdays[t&&!0!==t&&this._weekdays.isFormat.test(e)?\"format\":\"standalone\"];return!0===t?Wt(l,this._week.dow):t?l[t.day()]:l},xl.weekdaysMin=function(t){return!0===t?Wt(this._weekdaysMin,this._week.dow):t?this._weekdaysMin[t.day()]:this._weekdaysMin},xl.weekdaysShort=function(t){return!0===t?Wt(this._weekdaysShort,this._week.dow):t?this._weekdaysShort[t.day()]:this._weekdaysShort},xl.weekdaysParse=function(t,e,l){var n,i,a;if(this._weekdaysParseExact)return function(t,e,l){var n,i,a,r=t.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)a=h([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(a,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(a,\"\").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(a,\"\").toLocaleLowerCase();return l?\"dddd\"===e?-1!==(i=Dt.call(this._weekdaysParse,r))?i:null:\"ddd\"===e?-1!==(i=Dt.call(this._shortWeekdaysParse,r))?i:null:-1!==(i=Dt.call(this._minWeekdaysParse,r))?i:null:\"dddd\"===e?-1!==(i=Dt.call(this._weekdaysParse,r))?i:-1!==(i=Dt.call(this._shortWeekdaysParse,r))?i:-1!==(i=Dt.call(this._minWeekdaysParse,r))?i:null:\"ddd\"===e?-1!==(i=Dt.call(this._shortWeekdaysParse,r))?i:-1!==(i=Dt.call(this._weekdaysParse,r))?i:-1!==(i=Dt.call(this._minWeekdaysParse,r))?i:null:-1!==(i=Dt.call(this._minWeekdaysParse,r))?i:-1!==(i=Dt.call(this._weekdaysParse,r))?i:-1!==(i=Dt.call(this._shortWeekdaysParse,r))?i:null}.call(this,t,e,l);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(i=h([2e3,1]).day(n),l&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp(\"^\"+this.weekdays(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._shortWeekdaysParse[n]=new RegExp(\"^\"+this.weekdaysShort(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\"),this._minWeekdaysParse[n]=new RegExp(\"^\"+this.weekdaysMin(i,\"\").replace(\".\",\"\\\\.?\")+\"$\",\"i\")),this._weekdaysParse[n]||(a=\"^\"+this.weekdays(i,\"\")+\"|^\"+this.weekdaysShort(i,\"\")+\"|^\"+this.weekdaysMin(i,\"\"),this._weekdaysParse[n]=new RegExp(a.replace(\".\",\"\"),\"i\")),l&&\"dddd\"===e&&this._fullWeekdaysParse[n].test(t))return n;if(l&&\"ddd\"===e&&this._shortWeekdaysParse[n].test(t))return n;if(l&&\"dd\"===e&&this._minWeekdaysParse[n].test(t))return n;if(!l&&this._weekdaysParse[n].test(t))return n}},xl.weekdaysRegex=function(t){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||Jt.call(this),t?this._weekdaysStrictRegex:this._weekdaysRegex):(u(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Xt),this._weekdaysStrictRegex&&t?this._weekdaysStrictRegex:this._weekdaysRegex)},xl.weekdaysShortRegex=function(t){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||Jt.call(this),t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(u(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=Kt),this._weekdaysShortStrictRegex&&t?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},xl.weekdaysMinRegex=function(t){return this._weekdaysParseExact?(u(this,\"_weekdaysRegex\")||Jt.call(this),t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(u(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Qt),this._weekdaysMinStrictRegex&&t?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},xl.isPM=function(t){return\"p\"===(t+\"\").toLowerCase().charAt(0)},xl.meridiem=function(t,e,l){return t>11?l?\"pm\":\"PM\":l?\"am\":\"AM\"},ue(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(t){var e=t%10,l=1===w(t%100/10)?\"th\":1===e?\"st\":2===e?\"nd\":3===e?\"rd\":\"th\";return t+l}}),n.lang=C(\"moment.lang is deprecated. Use moment.locale instead.\",ue),n.langData=C(\"moment.langData is deprecated. Use moment.localeData instead.\",he);var kl=Math.abs;function Cl(t,e,l,n){var i=We(e,l);return t._milliseconds+=n*i._milliseconds,t._days+=n*i._days,t._months+=n*i._months,t._bubble()}function Tl(t){return t<0?Math.floor(t):Math.ceil(t)}function Dl(t){return 4800*t/146097}function Ml(t){return 146097*t/4800}function Al(t){return function(){return this.as(t)}}var El=Al(\"ms\"),jl=Al(\"s\"),Il=Al(\"m\"),Pl=Al(\"h\"),Ol=Al(\"d\"),Ll=Al(\"w\"),Rl=Al(\"M\"),Nl=Al(\"Q\"),Fl=Al(\"y\");function Bl(t){return function(){return this.isValid()?this._data[t]:NaN}}var Hl=Bl(\"milliseconds\"),ql=Bl(\"seconds\"),Zl=Bl(\"minutes\"),zl=Bl(\"hours\"),$l=Bl(\"days\"),Yl=Bl(\"months\"),Wl=Bl(\"years\"),Vl=Math.round,Ul={ss:44,s:45,m:45,h:22,d:26,M:11},Gl=Math.abs;function Xl(t){return(t>0)-(t<0)||+t}function Kl(){if(!this.isValid())return this.localeData().invalidDate();var t,e,l=Gl(this._milliseconds)/1e3,n=Gl(this._days),i=Gl(this._months);t=_(l/60),e=_(t/60),l%=60,t%=60;var a=_(i/12),r=i%=12,o=n,s=e,c=t,u=l?l.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",d=this.asSeconds();if(!d)return\"P0D\";var h=d<0?\"-\":\"\",f=Xl(this._months)!==Xl(d)?\"-\":\"\",p=Xl(this._days)!==Xl(d)?\"-\":\"\",g=Xl(this._milliseconds)!==Xl(d)?\"-\":\"\";return h+\"P\"+(a?f+a+\"Y\":\"\")+(r?f+r+\"M\":\"\")+(o?p+o+\"D\":\"\")+(s||c||u?\"T\":\"\")+(s?g+s+\"H\":\"\")+(c?g+c+\"M\":\"\")+(u?g+u+\"S\":\"\")}var Ql=Le.prototype;return Ql.isValid=function(){return this._isValid},Ql.abs=function(){var t=this._data;return this._milliseconds=kl(this._milliseconds),this._days=kl(this._days),this._months=kl(this._months),t.milliseconds=kl(t.milliseconds),t.seconds=kl(t.seconds),t.minutes=kl(t.minutes),t.hours=kl(t.hours),t.months=kl(t.months),t.years=kl(t.years),this},Ql.add=function(t,e){return Cl(this,t,e,1)},Ql.subtract=function(t,e){return Cl(this,t,e,-1)},Ql.as=function(t){if(!this.isValid())return NaN;var e,l,n=this._milliseconds;if(\"month\"===(t=O(t))||\"quarter\"===t||\"year\"===t)switch(e=this._days+n/864e5,l=this._months+Dl(e),t){case\"month\":return l;case\"quarter\":return l/3;case\"year\":return l/12}else switch(e=this._days+Math.round(Ml(this._months)),t){case\"week\":return e/7+n/6048e5;case\"day\":return e+n/864e5;case\"hour\":return 24*e+n/36e5;case\"minute\":return 1440*e+n/6e4;case\"second\":return 86400*e+n/1e3;case\"millisecond\":return Math.floor(864e5*e)+n;default:throw new Error(\"Unknown unit \"+t)}},Ql.asMilliseconds=El,Ql.asSeconds=jl,Ql.asMinutes=Il,Ql.asHours=Pl,Ql.asDays=Ol,Ql.asWeeks=Ll,Ql.asMonths=Rl,Ql.asQuarters=Nl,Ql.asYears=Fl,Ql.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN},Ql._bubble=function(){var t,e,l,n,i,a=this._milliseconds,r=this._days,o=this._months,s=this._data;return a>=0&&r>=0&&o>=0||a<=0&&r<=0&&o<=0||(a+=864e5*Tl(Ml(o)+r),r=0,o=0),s.milliseconds=a%1e3,t=_(a/1e3),s.seconds=t%60,e=_(t/60),s.minutes=e%60,l=_(e/60),s.hours=l%24,r+=_(l/24),i=_(Dl(r)),o+=i,r-=Tl(Ml(i)),n=_(o/12),o%=12,s.days=r,s.months=o,s.years=n,this},Ql.clone=function(){return We(this)},Ql.get=function(t){return t=O(t),this.isValid()?this[t+\"s\"]():NaN},Ql.milliseconds=Hl,Ql.seconds=ql,Ql.minutes=Zl,Ql.hours=zl,Ql.days=$l,Ql.weeks=function(){return _(this.days()/7)},Ql.months=Yl,Ql.years=Wl,Ql.humanize=function(t){if(!this.isValid())return this.localeData().invalidDate();var e=this.localeData(),l=function(t,e,l){var n=We(t).abs(),i=Vl(n.as(\"s\")),a=Vl(n.as(\"m\")),r=Vl(n.as(\"h\")),o=Vl(n.as(\"d\")),s=Vl(n.as(\"M\")),c=Vl(n.as(\"y\")),u=i<=Ul.ss&&[\"s\",i]||i<Ul.s&&[\"ss\",i]||a<=1&&[\"m\"]||a<Ul.m&&[\"mm\",a]||r<=1&&[\"h\"]||r<Ul.h&&[\"hh\",r]||o<=1&&[\"d\"]||o<Ul.d&&[\"dd\",o]||s<=1&&[\"M\"]||s<Ul.M&&[\"MM\",s]||c<=1&&[\"y\"]||[\"yy\",c];return u[2]=e,u[3]=+t>0,u[4]=l,function(t,e,l,n,i){return i.relativeTime(e||1,!!l,t,n)}.apply(null,u)}(this,!t,e);return t&&(l=e.pastFuture(+this,l)),e.postformat(l)},Ql.toISOString=Kl,Ql.toString=Kl,Ql.toJSON=Kl,Ql.locale=tl,Ql.localeData=ll,Ql.toIsoString=C(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Kl),Ql.lang=el,z(\"X\",0,0,\"unix\"),z(\"x\",0,0,\"valueOf\"),ct(\"x\",it),ct(\"X\",/[+-]?\\d+(\\.\\d{1,3})?/),ft(\"X\",function(t,e,l){l._d=new Date(1e3*parseFloat(t,10))}),ft(\"x\",function(t,e,l){l._d=new Date(w(t))}),n.version=\"2.24.0\",e=Ee,n.fn=vl,n.min=function(){return Pe(\"isBefore\",[].slice.call(arguments,0))},n.max=function(){return Pe(\"isAfter\",[].slice.call(arguments,0))},n.now=function(){return Date.now?Date.now():+new Date},n.utc=h,n.unix=function(t){return Ee(1e3*t)},n.months=function(t,e){return wl(t,e,\"months\")},n.isDate=s,n.locale=ue,n.invalid=g,n.duration=We,n.isMoment=x,n.weekdays=function(t,e,l){return Sl(t,e,l,\"weekdays\")},n.parseZone=function(){return Ee.apply(null,arguments).parseZone()},n.localeData=he,n.isDuration=Re,n.monthsShort=function(t,e){return wl(t,e,\"monthsShort\")},n.weekdaysMin=function(t,e,l){return Sl(t,e,l,\"weekdaysMin\")},n.defineLocale=de,n.updateLocale=function(t,e){if(null!=e){var l,n,i=ae;null!=(n=ce(t))&&(i=n._config),e=E(i,e),(l=new j(e)).parentLocale=re[t],re[t]=l,ue(t)}else null!=re[t]&&(null!=re[t].parentLocale?re[t]=re[t].parentLocale:null!=re[t]&&delete re[t]);return re[t]},n.locales=function(){return T(re)},n.weekdaysShort=function(t,e,l){return Sl(t,e,l,\"weekdaysShort\")},n.normalizeUnits=O,n.relativeTimeRounding=function(t){return void 0===t?Vl:\"function\"==typeof t&&(Vl=t,!0)},n.relativeTimeThreshold=function(t,e){return void 0!==Ul[t]&&(void 0===e?Ul[t]:(Ul[t]=e,\"s\"===t&&(Ul.ss=e-1),!0))},n.calendarFormat=function(t,e){var l=t.diff(e,\"days\",!0);return l<-6?\"sameElse\":l<-1?\"lastWeek\":l<0?\"lastDay\":l<1?\"sameDay\":l<2?\"nextDay\":l<7?\"nextWeek\":\"sameElse\"},n.prototype=vl,n.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"GGGG-[W]WW\",MONTH:\"YYYY-MM\"},n}()}).call(this,l(68)(t))},function(t,e,l){var n;\"undefined\"!=typeof self&&self,n=function(){return function(t){var e={};function l(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,l),i.l=!0,i.exports}return l.m=t,l.c=e,l.d=function(t,e,n){l.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},l.r=function(t){Object.defineProperty(t,\"__esModule\",{value:!0})},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,\"a\",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p=\"\",l(l.s=0)}({\"./dist/icons.json\":\n/*!*************************!*\\\n  !*** ./dist/icons.json ***!\n  \\*************************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, download-cloud, download, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */function(t){t.exports={activity:'<polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"></polyline>',airplay:'<path d=\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\"></path><polygon points=\"12 15 17 21 7 21 12 15\"></polygon>',\"alert-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16\"></line>',\"alert-octagon\":'<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16\"></line>',\"alert-triangle\":'<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"></line><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17\"></line>',\"align-center\":'<line x1=\"18\" y1=\"10\" x2=\"6\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"18\" y1=\"18\" x2=\"6\" y2=\"18\"></line>',\"align-justify\":'<line x1=\"21\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"3\" y2=\"18\"></line>',\"align-left\":'<line x1=\"17\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"17\" y1=\"18\" x2=\"3\" y2=\"18\"></line>',\"align-right\":'<line x1=\"21\" y1=\"10\" x2=\"7\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"7\" y2=\"18\"></line>',anchor:'<circle cx=\"12\" cy=\"5\" r=\"3\"></circle><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"8\"></line><path d=\"M5 12H2a10 10 0 0 0 20 0h-3\"></path>',aperture:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"14.31\" y1=\"8\" x2=\"20.05\" y2=\"17.94\"></line><line x1=\"9.69\" y1=\"8\" x2=\"21.17\" y2=\"8\"></line><line x1=\"7.38\" y1=\"12\" x2=\"13.12\" y2=\"2.06\"></line><line x1=\"9.69\" y1=\"16\" x2=\"3.95\" y2=\"6.06\"></line><line x1=\"14.31\" y1=\"16\" x2=\"2.83\" y2=\"16\"></line><line x1=\"16.62\" y1=\"12\" x2=\"10.88\" y2=\"21.94\"></line>',archive:'<polyline points=\"21 8 21 21 3 21 3 8\"></polyline><rect x=\"1\" y=\"3\" width=\"22\" height=\"5\"></rect><line x1=\"10\" y1=\"12\" x2=\"14\" y2=\"12\"></line>',\"arrow-down-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"8 12 12 16 16 12\"></polyline><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line>',\"arrow-down-left\":'<line x1=\"17\" y1=\"7\" x2=\"7\" y2=\"17\"></line><polyline points=\"17 17 7 17 7 7\"></polyline>',\"arrow-down-right\":'<line x1=\"7\" y1=\"7\" x2=\"17\" y2=\"17\"></line><polyline points=\"17 7 17 17 7 17\"></polyline>',\"arrow-down\":'<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><polyline points=\"19 12 12 19 5 12\"></polyline>',\"arrow-left-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 8 8 12 12 16\"></polyline><line x1=\"16\" y1=\"12\" x2=\"8\" y2=\"12\"></line>',\"arrow-left\":'<line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"></line><polyline points=\"12 19 5 12 12 5\"></polyline>',\"arrow-right-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 16 16 12 12 8\"></polyline><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',\"arrow-right\":'<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line><polyline points=\"12 5 19 12 12 19\"></polyline>',\"arrow-up-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"16 12 12 8 8 12\"></polyline><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"8\"></line>',\"arrow-up-left\":'<line x1=\"17\" y1=\"17\" x2=\"7\" y2=\"7\"></line><polyline points=\"7 17 7 7 17 7\"></polyline>',\"arrow-up-right\":'<line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\"></line><polyline points=\"7 7 17 7 17 17\"></polyline>',\"arrow-up\":'<line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"></line><polyline points=\"5 12 12 5 19 12\"></polyline>',\"at-sign\":'<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\"></path>',award:'<circle cx=\"12\" cy=\"8\" r=\"7\"></circle><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\"></polyline>',\"bar-chart-2\":'<line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"></line><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"></line>',\"bar-chart\":'<line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"10\"></line><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"16\"></line>',\"battery-charging\":'<path d=\"M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19\"></path><line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"11\"></line><polyline points=\"11 6 7 12 13 12 9 18\"></polyline>',battery:'<rect x=\"1\" y=\"6\" width=\"18\" height=\"12\" rx=\"2\" ry=\"2\"></rect><line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"11\"></line>',\"bell-off\":'<path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path><path d=\"M18.63 13A17.89 17.89 0 0 1 18 8\"></path><path d=\"M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14\"></path><path d=\"M18 8a6 6 0 0 0-9.33-5\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',bell:'<path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\"></path><path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path>',bluetooth:'<polyline points=\"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\"></polyline>',bold:'<path d=\"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"></path><path d=\"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"></path>',\"book-open\":'<path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"></path><path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"></path>',book:'<path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"></path><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"></path>',bookmark:'<path d=\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"></path>',box:'<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>',briefcase:'<rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"></path>',calendar:'<rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>',\"camera-off\":'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56\"></path>',camera:'<path d=\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"></path><circle cx=\"12\" cy=\"13\" r=\"4\"></circle>',cast:'<path d=\"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"></path><line x1=\"2\" y1=\"20\" x2=\"2\" y2=\"20\"></line>',\"check-circle\":'<path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"></path><polyline points=\"22 4 12 14.01 9 11.01\"></polyline>',\"check-square\":'<polyline points=\"9 11 12 14 22 4\"></polyline><path d=\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"></path>',check:'<polyline points=\"20 6 9 17 4 12\"></polyline>',\"chevron-down\":'<polyline points=\"6 9 12 15 18 9\"></polyline>',\"chevron-left\":'<polyline points=\"15 18 9 12 15 6\"></polyline>',\"chevron-right\":'<polyline points=\"9 18 15 12 9 6\"></polyline>',\"chevron-up\":'<polyline points=\"18 15 12 9 6 15\"></polyline>',\"chevrons-down\":'<polyline points=\"7 13 12 18 17 13\"></polyline><polyline points=\"7 6 12 11 17 6\"></polyline>',\"chevrons-left\":'<polyline points=\"11 17 6 12 11 7\"></polyline><polyline points=\"18 17 13 12 18 7\"></polyline>',\"chevrons-right\":'<polyline points=\"13 17 18 12 13 7\"></polyline><polyline points=\"6 17 11 12 6 7\"></polyline>',\"chevrons-up\":'<polyline points=\"17 11 12 6 7 11\"></polyline><polyline points=\"17 18 12 13 7 18\"></polyline>',chrome:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"21.17\" y1=\"8\" x2=\"12\" y2=\"8\"></line><line x1=\"3.95\" y1=\"6.06\" x2=\"8.54\" y2=\"14\"></line><line x1=\"10.88\" y1=\"21.94\" x2=\"15.46\" y2=\"14\"></line>',circle:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle>',clipboard:'<path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"></path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"></rect>',clock:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline>',\"cloud-drizzle\":'<line x1=\"8\" y1=\"19\" x2=\"8\" y2=\"21\"></line><line x1=\"8\" y1=\"13\" x2=\"8\" y2=\"15\"></line><line x1=\"16\" y1=\"19\" x2=\"16\" y2=\"21\"></line><line x1=\"16\" y1=\"13\" x2=\"16\" y2=\"15\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"17\"></line><path d=\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"></path>',\"cloud-lightning\":'<path d=\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9\"></path><polyline points=\"13 11 9 17 15 17 11 23\"></polyline>',\"cloud-off\":'<path d=\"M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',\"cloud-rain\":'<line x1=\"16\" y1=\"13\" x2=\"16\" y2=\"21\"></line><line x1=\"8\" y1=\"13\" x2=\"8\" y2=\"21\"></line><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"23\"></line><path d=\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"></path>',\"cloud-snow\":'<path d=\"M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25\"></path><line x1=\"8\" y1=\"16\" x2=\"8\" y2=\"16\"></line><line x1=\"8\" y1=\"20\" x2=\"8\" y2=\"20\"></line><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18\"></line><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"22\"></line><line x1=\"16\" y1=\"16\" x2=\"16\" y2=\"16\"></line><line x1=\"16\" y1=\"20\" x2=\"16\" y2=\"20\"></line>',cloud:'<path d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"></path>',code:'<polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline>',codepen:'<polygon points=\"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2\"></polygon><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"15.5\"></line><polyline points=\"22 8.5 12 15.5 2 8.5\"></polyline><polyline points=\"2 15.5 12 8.5 22 15.5\"></polyline><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"8.5\"></line>',codesandbox:'<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"7.5 4.21 12 6.81 16.5 4.21\"></polyline><polyline points=\"7.5 19.79 7.5 14.6 3 12\"></polyline><polyline points=\"21 12 16.5 14.6 16.5 19.79\"></polyline><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>',coffee:'<path d=\"M18 8h1a4 4 0 0 1 0 8h-1\"></path><path d=\"M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z\"></path><line x1=\"6\" y1=\"1\" x2=\"6\" y2=\"4\"></line><line x1=\"10\" y1=\"1\" x2=\"10\" y2=\"4\"></line><line x1=\"14\" y1=\"1\" x2=\"14\" y2=\"4\"></line>',columns:'<path d=\"M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18\"></path>',command:'<path d=\"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\"></path>',compass:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polygon points=\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\"></polygon>',copy:'<rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path>',\"corner-down-left\":'<polyline points=\"9 10 4 15 9 20\"></polyline><path d=\"M20 4v7a4 4 0 0 1-4 4H4\"></path>',\"corner-down-right\":'<polyline points=\"15 10 20 15 15 20\"></polyline><path d=\"M4 4v7a4 4 0 0 0 4 4h12\"></path>',\"corner-left-down\":'<polyline points=\"14 15 9 20 4 15\"></polyline><path d=\"M20 4h-7a4 4 0 0 0-4 4v12\"></path>',\"corner-left-up\":'<polyline points=\"14 9 9 4 4 9\"></polyline><path d=\"M20 20h-7a4 4 0 0 1-4-4V4\"></path>',\"corner-right-down\":'<polyline points=\"10 15 15 20 20 15\"></polyline><path d=\"M4 4h7a4 4 0 0 1 4 4v12\"></path>',\"corner-right-up\":'<polyline points=\"10 9 15 4 20 9\"></polyline><path d=\"M4 20h7a4 4 0 0 0 4-4V4\"></path>',\"corner-up-left\":'<polyline points=\"9 14 4 9 9 4\"></polyline><path d=\"M20 20v-7a4 4 0 0 0-4-4H4\"></path>',\"corner-up-right\":'<polyline points=\"15 14 20 9 15 4\"></polyline><path d=\"M4 20v-7a4 4 0 0 1 4-4h12\"></path>',cpu:'<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" ry=\"2\"></rect><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"></rect><line x1=\"9\" y1=\"1\" x2=\"9\" y2=\"4\"></line><line x1=\"15\" y1=\"1\" x2=\"15\" y2=\"4\"></line><line x1=\"9\" y1=\"20\" x2=\"9\" y2=\"23\"></line><line x1=\"15\" y1=\"20\" x2=\"15\" y2=\"23\"></line><line x1=\"20\" y1=\"9\" x2=\"23\" y2=\"9\"></line><line x1=\"20\" y1=\"14\" x2=\"23\" y2=\"14\"></line><line x1=\"1\" y1=\"9\" x2=\"4\" y2=\"9\"></line><line x1=\"1\" y1=\"14\" x2=\"4\" y2=\"14\"></line>',\"credit-card\":'<rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"></rect><line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"></line>',crop:'<path d=\"M6.13 1L6 16a2 2 0 0 0 2 2h15\"></path><path d=\"M1 6.13L16 6a2 2 0 0 1 2 2v15\"></path>',crosshair:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"22\" y1=\"12\" x2=\"18\" y2=\"12\"></line><line x1=\"6\" y1=\"12\" x2=\"2\" y2=\"12\"></line><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"2\"></line><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"18\"></line>',database:'<ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"></ellipse><path d=\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\"></path><path d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"></path>',delete:'<path d=\"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\"></path><line x1=\"18\" y1=\"9\" x2=\"12\" y2=\"15\"></line><line x1=\"12\" y1=\"9\" x2=\"18\" y2=\"15\"></line>',disc:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>',\"dollar-sign\":'<line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"></line><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"></path>',\"download-cloud\":'<polyline points=\"8 17 12 21 16 17\"></polyline><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"></line><path d=\"M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29\"></path>',download:'<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><polyline points=\"7 10 12 15 17 10\"></polyline><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line>',droplet:'<path d=\"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z\"></path>',\"edit-2\":'<path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"></path>',\"edit-3\":'<path d=\"M12 20h9\"></path><path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z\"></path>',edit:'<path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"></path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"></path>',\"external-link\":'<path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>',\"eye-off\":'<path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',eye:'<path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>',facebook:'<path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"></path>',\"fast-forward\":'<polygon points=\"13 19 22 12 13 5 13 19\"></polygon><polygon points=\"2 19 11 12 2 5 2 19\"></polygon>',feather:'<path d=\"M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z\"></path><line x1=\"16\" y1=\"8\" x2=\"2\" y2=\"22\"></line><line x1=\"17.5\" y1=\"15\" x2=\"9\" y2=\"15\"></line>',figma:'<path d=\"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z\"></path><path d=\"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z\"></path><path d=\"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z\"></path><path d=\"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z\"></path><path d=\"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z\"></path>',\"file-minus\":'<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"></line>',\"file-plus\":'<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"12\"></line><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"></line>',\"file-text\":'<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline>',file:'<path d=\"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\"></path><polyline points=\"13 2 13 9 20 9\"></polyline>',film:'<rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2.18\" ry=\"2.18\"></rect><line x1=\"7\" y1=\"2\" x2=\"7\" y2=\"22\"></line><line x1=\"17\" y1=\"2\" x2=\"17\" y2=\"22\"></line><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"2\" y1=\"7\" x2=\"7\" y2=\"7\"></line><line x1=\"2\" y1=\"17\" x2=\"7\" y2=\"17\"></line><line x1=\"17\" y1=\"17\" x2=\"22\" y2=\"17\"></line><line x1=\"17\" y1=\"7\" x2=\"22\" y2=\"7\"></line>',filter:'<polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>',flag:'<path d=\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"></path><line x1=\"4\" y1=\"22\" x2=\"4\" y2=\"15\"></line>',\"folder-minus\":'<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"></line>',\"folder-plus\":'<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"></line><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"></line>',folder:'<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path>',frown:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M16 16s-1.5-2-4-2-4 2-4 2\"></path><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>',gift:'<polyline points=\"20 12 20 22 4 22 4 12\"></polyline><rect x=\"2\" y=\"7\" width=\"20\" height=\"5\"></rect><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"7\"></line><path d=\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\"></path><path d=\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\"></path>',\"git-branch\":'<line x1=\"6\" y1=\"3\" x2=\"6\" y2=\"15\"></line><circle cx=\"18\" cy=\"6\" r=\"3\"></circle><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><path d=\"M18 9a9 9 0 0 1-9 9\"></path>',\"git-commit\":'<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"1.05\" y1=\"12\" x2=\"7\" y2=\"12\"></line><line x1=\"17.01\" y1=\"12\" x2=\"22.96\" y2=\"12\"></line>',\"git-merge\":'<circle cx=\"18\" cy=\"18\" r=\"3\"></circle><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M6 21V9a9 9 0 0 0 9 9\"></path>',\"git-pull-request\":'<circle cx=\"18\" cy=\"18\" r=\"3\"></circle><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M13 6h3a2 2 0 0 1 2 2v7\"></path><line x1=\"6\" y1=\"9\" x2=\"6\" y2=\"21\"></line>',github:'<path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"></path>',gitlab:'<path d=\"M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z\"></path>',globe:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"></path>',grid:'<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"></rect><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"></rect><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"></rect><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"></rect>',\"hard-drive\":'<line x1=\"22\" y1=\"12\" x2=\"2\" y2=\"12\"></line><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"></path><line x1=\"6\" y1=\"16\" x2=\"6\" y2=\"16\"></line><line x1=\"10\" y1=\"16\" x2=\"10\" y2=\"16\"></line>',hash:'<line x1=\"4\" y1=\"9\" x2=\"20\" y2=\"9\"></line><line x1=\"4\" y1=\"15\" x2=\"20\" y2=\"15\"></line><line x1=\"10\" y1=\"3\" x2=\"8\" y2=\"21\"></line><line x1=\"16\" y1=\"3\" x2=\"14\" y2=\"21\"></line>',headphones:'<path d=\"M3 18v-6a9 9 0 0 1 18 0v6\"></path><path d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"></path>',heart:'<path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path>',\"help-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"></path><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17\"></line>',hexagon:'<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path>',home:'<path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline>',image:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"></circle><polyline points=\"21 15 16 10 5 21\"></polyline>',inbox:'<polyline points=\"22 12 16 12 14 15 10 15 8 12 2 12\"></polyline><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"></path>',info:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8\"></line>',instagram:'<rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" ry=\"5\"></rect><path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"></path><line x1=\"17.5\" y1=\"6.5\" x2=\"17.5\" y2=\"6.5\"></line>',italic:'<line x1=\"19\" y1=\"4\" x2=\"10\" y2=\"4\"></line><line x1=\"14\" y1=\"20\" x2=\"5\" y2=\"20\"></line><line x1=\"15\" y1=\"4\" x2=\"9\" y2=\"20\"></line>',key:'<path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"></path>',layers:'<polygon points=\"12 2 2 7 12 12 22 7 12 2\"></polygon><polyline points=\"2 17 12 22 22 17\"></polyline><polyline points=\"2 12 12 17 22 12\"></polyline>',layout:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"></line><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"></line>',\"life-buoy\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"4.93\" y1=\"4.93\" x2=\"9.17\" y2=\"9.17\"></line><line x1=\"14.83\" y1=\"14.83\" x2=\"19.07\" y2=\"19.07\"></line><line x1=\"14.83\" y1=\"9.17\" x2=\"19.07\" y2=\"4.93\"></line><line x1=\"14.83\" y1=\"9.17\" x2=\"18.36\" y2=\"5.64\"></line><line x1=\"4.93\" y1=\"19.07\" x2=\"9.17\" y2=\"14.83\"></line>',\"link-2\":'<path d=\"M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3\"></path><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',link:'<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"></path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"></path>',linkedin:'<path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"></path><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"></rect><circle cx=\"4\" cy=\"4\" r=\"2\"></circle>',list:'<line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"></line><line x1=\"3\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"3\" y1=\"12\" x2=\"3\" y2=\"12\"></line><line x1=\"3\" y1=\"18\" x2=\"3\" y2=\"18\"></line>',loader:'<line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"6\"></line><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\"></line><line x1=\"4.93\" y1=\"4.93\" x2=\"7.76\" y2=\"7.76\"></line><line x1=\"16.24\" y1=\"16.24\" x2=\"19.07\" y2=\"19.07\"></line><line x1=\"2\" y1=\"12\" x2=\"6\" y2=\"12\"></line><line x1=\"18\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"4.93\" y1=\"19.07\" x2=\"7.76\" y2=\"16.24\"></line><line x1=\"16.24\" y1=\"7.76\" x2=\"19.07\" y2=\"4.93\"></line>',lock:'<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"></path>',\"log-in\":'<path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"></path><polyline points=\"10 17 15 12 10 7\"></polyline><line x1=\"15\" y1=\"12\" x2=\"3\" y2=\"12\"></line>',\"log-out\":'<path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path><polyline points=\"16 17 21 12 16 7\"></polyline><line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line>',mail:'<path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"></path><polyline points=\"22,6 12,13 2,6\"></polyline>',\"map-pin\":'<path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"></path><circle cx=\"12\" cy=\"10\" r=\"3\"></circle>',map:'<polygon points=\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\"></polygon><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"18\"></line><line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"22\"></line>',\"maximize-2\":'<polyline points=\"15 3 21 3 21 9\"></polyline><polyline points=\"9 21 3 21 3 15\"></polyline><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line>',maximize:'<path d=\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"></path>',meh:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"8\" y1=\"15\" x2=\"16\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>',menu:'<line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\"></line>',\"message-circle\":'<path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"></path>',\"message-square\":'<path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path>',\"mic-off\":'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\"></path><path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>',mic:'<path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>',\"minimize-2\":'<polyline points=\"4 14 10 14 10 20\"></polyline><polyline points=\"20 10 14 10 14 4\"></polyline><line x1=\"14\" y1=\"10\" x2=\"21\" y2=\"3\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line>',minimize:'<path d=\"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\"></path>',\"minus-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',\"minus-square\":'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',minus:'<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>',monitor:'<rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"></line><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"></line>',moon:'<path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>',\"more-horizontal\":'<circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"19\" cy=\"12\" r=\"1\"></circle><circle cx=\"5\" cy=\"12\" r=\"1\"></circle>',\"more-vertical\":'<circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"5\" r=\"1\"></circle><circle cx=\"12\" cy=\"19\" r=\"1\"></circle>',\"mouse-pointer\":'<path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"></path><path d=\"M13 13l6 6\"></path>',move:'<polyline points=\"5 9 2 12 5 15\"></polyline><polyline points=\"9 5 12 2 15 5\"></polyline><polyline points=\"15 19 12 22 9 19\"></polyline><polyline points=\"19 9 22 12 19 15\"></polyline><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\"></line>',music:'<path d=\"M9 18V5l12-2v13\"></path><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><circle cx=\"18\" cy=\"16\" r=\"3\"></circle>',\"navigation-2\":'<polygon points=\"12 2 19 21 12 17 5 21 12 2\"></polygon>',navigation:'<polygon points=\"3 11 22 2 13 21 11 13 3 11\"></polygon>',octagon:'<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon>',package:'<line x1=\"16.5\" y1=\"9.4\" x2=\"7.5\" y2=\"4.21\"></line><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>',paperclip:'<path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\"></path>',\"pause-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"10\" y1=\"15\" x2=\"10\" y2=\"9\"></line><line x1=\"14\" y1=\"15\" x2=\"14\" y2=\"9\"></line>',pause:'<rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"></rect><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"></rect>',\"pen-tool\":'<path d=\"M12 19l7-7 3 3-7 7-3-3z\"></path><path d=\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"></path><path d=\"M2 2l7.586 7.586\"></path><circle cx=\"11\" cy=\"11\" r=\"2\"></circle>',percent:'<line x1=\"19\" y1=\"5\" x2=\"5\" y2=\"19\"></line><circle cx=\"6.5\" cy=\"6.5\" r=\"2.5\"></circle><circle cx=\"17.5\" cy=\"17.5\" r=\"2.5\"></circle>',\"phone-call\":'<path d=\"M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-forwarded\":'<polyline points=\"19 1 23 5 19 9\"></polyline><line x1=\"15\" y1=\"5\" x2=\"23\" y2=\"5\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-incoming\":'<polyline points=\"16 2 16 8 22 8\"></polyline><line x1=\"23\" y1=\"1\" x2=\"16\" y2=\"8\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-missed\":'<line x1=\"23\" y1=\"1\" x2=\"17\" y2=\"7\"></line><line x1=\"17\" y1=\"1\" x2=\"23\" y2=\"7\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-off\":'<path d=\"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91\"></path><line x1=\"23\" y1=\"1\" x2=\"1\" y2=\"23\"></line>',\"phone-outgoing\":'<polyline points=\"23 7 23 1 17 1\"></polyline><line x1=\"16\" y1=\"8\" x2=\"23\" y2=\"1\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',phone:'<path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"pie-chart\":'<path d=\"M21.21 15.89A10 10 0 1 1 8 2.83\"></path><path d=\"M22 12A10 10 0 0 0 12 2v10z\"></path>',\"play-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polygon points=\"10 8 16 12 10 16 10 8\"></polygon>',play:'<polygon points=\"5 3 19 12 5 21 5 3\"></polygon>',\"plus-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',\"plus-square\":'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',plus:'<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>',pocket:'<path d=\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z\"></path><polyline points=\"8 10 12 14 16 10\"></polyline>',power:'<path d=\"M18.36 6.64a9 9 0 1 1-12.73 0\"></path><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"12\"></line>',printer:'<polyline points=\"6 9 6 2 18 2 18 9\"></polyline><path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"></path><rect x=\"6\" y=\"14\" width=\"12\" height=\"8\"></rect>',radio:'<circle cx=\"12\" cy=\"12\" r=\"2\"></circle><path d=\"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\"></path>',\"refresh-ccw\":'<polyline points=\"1 4 1 10 7 10\"></polyline><polyline points=\"23 20 23 14 17 14\"></polyline><path d=\"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15\"></path>',\"refresh-cw\":'<polyline points=\"23 4 23 10 17 10\"></polyline><polyline points=\"1 20 1 14 7 14\"></polyline><path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"></path>',repeat:'<polyline points=\"17 1 21 5 17 9\"></polyline><path d=\"M3 11V9a4 4 0 0 1 4-4h14\"></path><polyline points=\"7 23 3 19 7 15\"></polyline><path d=\"M21 13v2a4 4 0 0 1-4 4H3\"></path>',rewind:'<polygon points=\"11 19 2 12 11 5 11 19\"></polygon><polygon points=\"22 19 13 12 22 5 22 19\"></polygon>',\"rotate-ccw\":'<polyline points=\"1 4 1 10 7 10\"></polyline><path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"></path>',\"rotate-cw\":'<polyline points=\"23 4 23 10 17 10\"></polyline><path d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"></path>',rss:'<path d=\"M4 11a9 9 0 0 1 9 9\"></path><path d=\"M4 4a16 16 0 0 1 16 16\"></path><circle cx=\"5\" cy=\"19\" r=\"1\"></circle>',save:'<path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"></path><polyline points=\"17 21 17 13 7 13 7 21\"></polyline><polyline points=\"7 3 7 8 15 8\"></polyline>',scissors:'<circle cx=\"6\" cy=\"6\" r=\"3\"></circle><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><line x1=\"20\" y1=\"4\" x2=\"8.12\" y2=\"15.88\"></line><line x1=\"14.47\" y1=\"14.48\" x2=\"20\" y2=\"20\"></line><line x1=\"8.12\" y1=\"8.12\" x2=\"12\" y2=\"12\"></line>',search:'<circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>',send:'<line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"></line><polygon points=\"22 2 15 22 11 13 2 9 22 2\"></polygon>',server:'<rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><line x1=\"6\" y1=\"6\" x2=\"6\" y2=\"6\"></line><line x1=\"6\" y1=\"18\" x2=\"6\" y2=\"18\"></line>',settings:'<circle cx=\"12\" cy=\"12\" r=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"></path>',\"share-2\":'<circle cx=\"18\" cy=\"5\" r=\"3\"></circle><circle cx=\"6\" cy=\"12\" r=\"3\"></circle><circle cx=\"18\" cy=\"19\" r=\"3\"></circle><line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\"></line><line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\"></line>',share:'<path d=\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"></path><polyline points=\"16 6 12 2 8 6\"></polyline><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"15\"></line>',\"shield-off\":'<path d=\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18\"></path><path d=\"M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',shield:'<path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"></path>',\"shopping-bag\":'<path d=\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"></path><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line><path d=\"M16 10a4 4 0 0 1-8 0\"></path>',\"shopping-cart\":'<circle cx=\"9\" cy=\"21\" r=\"1\"></circle><circle cx=\"20\" cy=\"21\" r=\"1\"></circle><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"></path>',shuffle:'<polyline points=\"16 3 21 3 21 8\"></polyline><line x1=\"4\" y1=\"20\" x2=\"21\" y2=\"3\"></line><polyline points=\"21 16 21 21 16 21\"></polyline><line x1=\"15\" y1=\"15\" x2=\"21\" y2=\"21\"></line><line x1=\"4\" y1=\"4\" x2=\"9\" y2=\"9\"></line>',sidebar:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"></line>',\"skip-back\":'<polygon points=\"19 20 9 12 19 4 19 20\"></polygon><line x1=\"5\" y1=\"19\" x2=\"5\" y2=\"5\"></line>',\"skip-forward\":'<polygon points=\"5 4 15 12 5 20 5 4\"></polygon><line x1=\"19\" y1=\"5\" x2=\"19\" y2=\"19\"></line>',slack:'<path d=\"M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z\"></path><path d=\"M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"></path><path d=\"M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z\"></path><path d=\"M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z\"></path><path d=\"M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z\"></path><path d=\"M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z\"></path><path d=\"M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z\"></path><path d=\"M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z\"></path>',slash:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"></line>',sliders:'<line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"></line><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"></line><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"></line><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"></line><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"></line><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"></line><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"></line>',smartphone:'<rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18\"></line>',smile:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M8 14s1.5 2 4 2 4-2 4-2\"></path><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>',speaker:'<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><circle cx=\"12\" cy=\"14\" r=\"4\"></circle><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"6\"></line>',square:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>',star:'<polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"></polygon>',\"stop-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"></rect>',sun:'<circle cx=\"12\" cy=\"12\" r=\"5\"></circle><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line><line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line><line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>',sunrise:'<path d=\"M17 18a5 5 0 0 0-10 0\"></path><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"9\"></line><line x1=\"4.22\" y1=\"10.22\" x2=\"5.64\" y2=\"11.64\"></line><line x1=\"1\" y1=\"18\" x2=\"3\" y2=\"18\"></line><line x1=\"21\" y1=\"18\" x2=\"23\" y2=\"18\"></line><line x1=\"18.36\" y1=\"11.64\" x2=\"19.78\" y2=\"10.22\"></line><line x1=\"23\" y1=\"22\" x2=\"1\" y2=\"22\"></line><polyline points=\"8 6 12 2 16 6\"></polyline>',sunset:'<path d=\"M17 18a5 5 0 0 0-10 0\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"2\"></line><line x1=\"4.22\" y1=\"10.22\" x2=\"5.64\" y2=\"11.64\"></line><line x1=\"1\" y1=\"18\" x2=\"3\" y2=\"18\"></line><line x1=\"21\" y1=\"18\" x2=\"23\" y2=\"18\"></line><line x1=\"18.36\" y1=\"11.64\" x2=\"19.78\" y2=\"10.22\"></line><line x1=\"23\" y1=\"22\" x2=\"1\" y2=\"22\"></line><polyline points=\"16 5 12 9 8 5\"></polyline>',tablet:'<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\" transform=\"rotate(180 12 12)\"></rect><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18\"></line>',tag:'<path d=\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\"></path><line x1=\"7\" y1=\"7\" x2=\"7\" y2=\"7\"></line>',target:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle>',terminal:'<polyline points=\"4 17 10 11 4 5\"></polyline><line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\"></line>',thermometer:'<path d=\"M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z\"></path>',\"thumbs-down\":'<path d=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"></path>',\"thumbs-up\":'<path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"></path>',\"toggle-left\":'<rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" ry=\"7\"></rect><circle cx=\"8\" cy=\"12\" r=\"3\"></circle>',\"toggle-right\":'<rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" ry=\"7\"></rect><circle cx=\"16\" cy=\"12\" r=\"3\"></circle>',\"trash-2\":'<polyline points=\"3 6 5 6 21 6\"></polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path><line x1=\"10\" y1=\"11\" x2=\"10\" y2=\"17\"></line><line x1=\"14\" y1=\"11\" x2=\"14\" y2=\"17\"></line>',trash:'<polyline points=\"3 6 5 6 21 6\"></polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path>',trello:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><rect x=\"7\" y=\"7\" width=\"3\" height=\"9\"></rect><rect x=\"14\" y=\"7\" width=\"3\" height=\"5\"></rect>',\"trending-down\":'<polyline points=\"23 18 13.5 8.5 8.5 13.5 1 6\"></polyline><polyline points=\"17 18 23 18 23 12\"></polyline>',\"trending-up\":'<polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\"></polyline><polyline points=\"17 6 23 6 23 12\"></polyline>',triangle:'<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path>',truck:'<rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"></rect><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"></polygon><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"></circle><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"></circle>',tv:'<rect x=\"2\" y=\"7\" width=\"20\" height=\"15\" rx=\"2\" ry=\"2\"></rect><polyline points=\"17 2 12 7 7 2\"></polyline>',twitter:'<path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"></path>',type:'<polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"></line><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"></line>',umbrella:'<path d=\"M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7\"></path>',underline:'<path d=\"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\"></path><line x1=\"4\" y1=\"21\" x2=\"20\" y2=\"21\"></line>',unlock:'<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"></path>',\"upload-cloud\":'<polyline points=\"16 16 12 12 8 16\"></polyline><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"></line><path d=\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\"></path><polyline points=\"16 16 12 12 8 16\"></polyline>',upload:'<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><polyline points=\"17 8 12 3 7 8\"></polyline><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"></line>',\"user-check\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><polyline points=\"17 11 19 13 23 9\"></polyline>',\"user-minus\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"></line>',\"user-plus\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"20\" y1=\"8\" x2=\"20\" y2=\"14\"></line><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"></line>',\"user-x\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"18\" y1=\"8\" x2=\"23\" y2=\"13\"></line><line x1=\"23\" y1=\"8\" x2=\"18\" y2=\"13\"></line>',user:'<path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"></path><circle cx=\"12\" cy=\"7\" r=\"4\"></circle>',users:'<path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path>',\"video-off\":'<path d=\"M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',video:'<polygon points=\"23 7 16 12 23 17 23 7\"></polygon><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"></rect>',voicemail:'<circle cx=\"5.5\" cy=\"11.5\" r=\"4.5\"></circle><circle cx=\"18.5\" cy=\"11.5\" r=\"4.5\"></circle><line x1=\"5.5\" y1=\"16\" x2=\"18.5\" y2=\"16\"></line>',\"volume-1\":'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path>',\"volume-2\":'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"></path>',\"volume-x\":'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"></line>',volume:'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon>',watch:'<circle cx=\"12\" cy=\"12\" r=\"7\"></circle><polyline points=\"12 9 12 12 13.5 13.5\"></polyline><path d=\"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\"></path>',\"wifi-off\":'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M16.72 11.06A10.94 10.94 0 0 1 19 12.55\"></path><path d=\"M5 12.55a10.94 10.94 0 0 1 5.17-2.39\"></path><path d=\"M10.71 5.05A16 16 0 0 1 22.58 9\"></path><path d=\"M1.42 9a15.91 15.91 0 0 1 4.7-2.88\"></path><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"></path><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"20\"></line>',wifi:'<path d=\"M5 12.55a11 11 0 0 1 14.08 0\"></path><path d=\"M1.42 9a16 16 0 0 1 21.16 0\"></path><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"></path><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"20\"></line>',wind:'<path d=\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"></path>',\"x-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>',\"x-octagon\":'<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>',\"x-square\":'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line>',x:'<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>',youtube:'<path d=\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"></path><polygon points=\"9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02\"></polygon>',\"zap-off\":'<polyline points=\"12.41 6.75 13 2 10.57 4.92\"></polyline><polyline points=\"18.57 12.91 21 10 15.66 10\"></polyline><polyline points=\"8 8 3 14 12 14 11 22 16 16\"></polyline><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',zap:'<polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"></polygon>',\"zoom-in\":'<circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"></line><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"></line>',\"zoom-out\":'<circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"></line>'}},\"./node_modules/classnames/dedupe.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/classnames/dedupe.js ***!\n  \\*******************************************/\n/*! no static exports found */function(t,e,l){var n;\n/*!\n  Copyright (c) 2016 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/*!\n  Copyright (c) 2016 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n!function(){\"use strict\";var l=function(){function t(){}function e(t,e){for(var l=e.length,n=0;n<l;++n)i(t,e[n])}t.prototype=Object.create(null);var l={}.hasOwnProperty;var n=/\\s+/;function i(t,i){if(i){var a=typeof i;\"string\"===a?function(t,e){for(var l=e.split(n),i=l.length,a=0;a<i;++a)t[l[a]]=!0}(t,i):Array.isArray(i)?e(t,i):\"object\"===a?function(t,e){for(var n in e)l.call(e,n)&&(t[n]=!!e[n])}(t,i):\"number\"===a&&function(t,e){t[e]=!0}(t,i)}}return function(){for(var l=arguments.length,n=Array(l),i=0;i<l;i++)n[i]=arguments[i];var a=new t;e(a,n);var r=[];for(var o in a)a[o]&&r.push(o);return r.join(\" \")}}();void 0!==t&&t.exports?t.exports=l:void 0===(n=function(){return l}.apply(e,[]))||(t.exports=n)}()},\"./node_modules/core-js/fn/array/from.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/fn/array/from.js ***!\n  \\***********************************************/\n/*! no static exports found */function(t,e,l){l(/*! ../../modules/es6.string.iterator */\"./node_modules/core-js/modules/es6.string.iterator.js\"),l(/*! ../../modules/es6.array.from */\"./node_modules/core-js/modules/es6.array.from.js\"),t.exports=l(/*! ../../modules/_core */\"./node_modules/core-js/modules/_core.js\").Array.from},\"./node_modules/core-js/modules/_a-function.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_a-function.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},\"./node_modules/core-js/modules/_an-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_an-object.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_is-object */\"./node_modules/core-js/modules/_is-object.js\");t.exports=function(t){if(!n(t))throw TypeError(t+\" is not an object!\");return t}},\"./node_modules/core-js/modules/_array-includes.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_array-includes.js ***!\n  \\*********************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_to-iobject */\"./node_modules/core-js/modules/_to-iobject.js\"),i=l(/*! ./_to-length */\"./node_modules/core-js/modules/_to-length.js\"),a=l(/*! ./_to-absolute-index */\"./node_modules/core-js/modules/_to-absolute-index.js\");t.exports=function(t){return function(e,l,r){var o,s=n(e),c=i(s.length),u=a(r,c);if(t&&l!=l){for(;c>u;)if((o=s[u++])!=o)return!0}else for(;c>u;u++)if((t||u in s)&&s[u]===l)return t||u||0;return!t&&-1}}},\"./node_modules/core-js/modules/_classof.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_classof.js ***!\n  \\**************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_cof */\"./node_modules/core-js/modules/_cof.js\"),i=l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"toStringTag\"),a=\"Arguments\"==n(function(){return arguments}());t.exports=function(t){var e,l,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(l=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?l:a?n(e):\"Object\"==(r=n(e))&&\"function\"==typeof e.callee?\"Arguments\":r}},\"./node_modules/core-js/modules/_cof.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_cof.js ***!\n  \\**********************************************/\n/*! no static exports found */function(t,e){var l={}.toString;t.exports=function(t){return l.call(t).slice(8,-1)}},\"./node_modules/core-js/modules/_core.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_core.js ***!\n  \\***********************************************/\n/*! no static exports found */function(t,e){var l=t.exports={version:\"2.5.6\"};\"number\"==typeof __e&&(__e=l)},\"./node_modules/core-js/modules/_create-property.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_create-property.js ***!\n  \\**********************************************************/\n/*! no static exports found */function(t,e,l){\"use strict\";var n=l(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\"),i=l(/*! ./_property-desc */\"./node_modules/core-js/modules/_property-desc.js\");t.exports=function(t,e,l){e in t?n.f(t,e,i(0,l)):t[e]=l}},\"./node_modules/core-js/modules/_ctx.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_ctx.js ***!\n  \\**********************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_a-function */\"./node_modules/core-js/modules/_a-function.js\");t.exports=function(t,e,l){if(n(t),void 0===e)return t;switch(l){case 1:return function(l){return t.call(e,l)};case 2:return function(l,n){return t.call(e,l,n)};case 3:return function(l,n,i){return t.call(e,l,n,i)}}return function(){return t.apply(e,arguments)}}},\"./node_modules/core-js/modules/_defined.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_defined.js ***!\n  \\**************************************************/\n/*! no static exports found */function(t,e){t.exports=function(t){if(null==t)throw TypeError(\"Can't call method on  \"+t);return t}},\"./node_modules/core-js/modules/_descriptors.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_descriptors.js ***!\n  \\******************************************************/\n/*! no static exports found */function(t,e,l){t.exports=!l(/*! ./_fails */\"./node_modules/core-js/modules/_fails.js\")(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},\"./node_modules/core-js/modules/_dom-create.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_dom-create.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_is-object */\"./node_modules/core-js/modules/_is-object.js\"),i=l(/*! ./_global */\"./node_modules/core-js/modules/_global.js\").document,a=n(i)&&n(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},\"./node_modules/core-js/modules/_enum-bug-keys.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***!\n  \\********************************************************/\n/*! no static exports found */function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},\"./node_modules/core-js/modules/_export.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_export.js ***!\n  \\*************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_global */\"./node_modules/core-js/modules/_global.js\"),i=l(/*! ./_core */\"./node_modules/core-js/modules/_core.js\"),a=l(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\"),r=l(/*! ./_redefine */\"./node_modules/core-js/modules/_redefine.js\"),o=l(/*! ./_ctx */\"./node_modules/core-js/modules/_ctx.js\"),s=function(t,e,l){var c,u,d,h,f=t&s.F,p=t&s.G,g=t&s.S,m=t&s.P,b=t&s.B,v=p?n:g?n[e]||(n[e]={}):(n[e]||{}).prototype,y=p?i:i[e]||(i[e]={}),x=y.prototype||(y.prototype={});for(c in p&&(l=e),l)d=((u=!f&&v&&void 0!==v[c])?v:l)[c],h=b&&u?o(d,n):m&&\"function\"==typeof d?o(Function.call,d):d,v&&r(v,c,d,t&s.U),y[c]!=d&&a(y,c,h),m&&x[c]!=d&&(x[c]=d)};n.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},\"./node_modules/core-js/modules/_fails.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/core-js/modules/_fails.js ***!\n  \\************************************************/\n/*! no static exports found */function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},\"./node_modules/core-js/modules/_global.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_global.js ***!\n  \\*************************************************/\n/*! no static exports found */function(t,e){var l=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=l)},\"./node_modules/core-js/modules/_has.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_has.js ***!\n  \\**********************************************/\n/*! no static exports found */function(t,e){var l={}.hasOwnProperty;t.exports=function(t,e){return l.call(t,e)}},\"./node_modules/core-js/modules/_hide.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_hide.js ***!\n  \\***********************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\"),i=l(/*! ./_property-desc */\"./node_modules/core-js/modules/_property-desc.js\");t.exports=l(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")?function(t,e,l){return n.f(t,e,i(1,l))}:function(t,e,l){return t[e]=l,t}},\"./node_modules/core-js/modules/_html.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_html.js ***!\n  \\***********************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_global */\"./node_modules/core-js/modules/_global.js\").document;t.exports=n&&n.documentElement},\"./node_modules/core-js/modules/_ie8-dom-define.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***!\n  \\*********************************************************/\n/*! no static exports found */function(t,e,l){t.exports=!l(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")&&!l(/*! ./_fails */\"./node_modules/core-js/modules/_fails.js\")(function(){return 7!=Object.defineProperty(l(/*! ./_dom-create */\"./node_modules/core-js/modules/_dom-create.js\")(\"div\"),\"a\",{get:function(){return 7}}).a})},\"./node_modules/core-js/modules/_iobject.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iobject.js ***!\n  \\**************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_cof */\"./node_modules/core-js/modules/_cof.js\");t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==n(t)?t.split(\"\"):Object(t)}},\"./node_modules/core-js/modules/_is-array-iter.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_is-array-iter.js ***!\n  \\********************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_iterators */\"./node_modules/core-js/modules/_iterators.js\"),i=l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||a[i]===t)}},\"./node_modules/core-js/modules/_is-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_is-object.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},\"./node_modules/core-js/modules/_iter-call.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-call.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\");t.exports=function(t,e,l,i){try{return i?e(n(l)[0],l[1]):e(l)}catch(e){var a=t.return;throw void 0!==a&&n(a.call(t)),e}}},\"./node_modules/core-js/modules/_iter-create.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-create.js ***!\n  \\******************************************************/\n/*! no static exports found */function(t,e,l){\"use strict\";var n=l(/*! ./_object-create */\"./node_modules/core-js/modules/_object-create.js\"),i=l(/*! ./_property-desc */\"./node_modules/core-js/modules/_property-desc.js\"),a=l(/*! ./_set-to-string-tag */\"./node_modules/core-js/modules/_set-to-string-tag.js\"),r={};l(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\")(r,l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),function(){return this}),t.exports=function(t,e,l){t.prototype=n(r,{next:i(1,l)}),a(t,e+\" Iterator\")}},\"./node_modules/core-js/modules/_iter-define.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-define.js ***!\n  \\******************************************************/\n/*! no static exports found */function(t,e,l){\"use strict\";var n=l(/*! ./_library */\"./node_modules/core-js/modules/_library.js\"),i=l(/*! ./_export */\"./node_modules/core-js/modules/_export.js\"),a=l(/*! ./_redefine */\"./node_modules/core-js/modules/_redefine.js\"),r=l(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\"),o=l(/*! ./_iterators */\"./node_modules/core-js/modules/_iterators.js\"),s=l(/*! ./_iter-create */\"./node_modules/core-js/modules/_iter-create.js\"),c=l(/*! ./_set-to-string-tag */\"./node_modules/core-js/modules/_set-to-string-tag.js\"),u=l(/*! ./_object-gpo */\"./node_modules/core-js/modules/_object-gpo.js\"),d=l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),f=function(){return this};t.exports=function(t,e,l,p,g,m,b){s(l,e,p);var v,y,x,_=function(t){if(!h&&t in C)return C[t];switch(t){case\"keys\":case\"values\":return function(){return new l(this,t)}}return function(){return new l(this,t)}},w=e+\" Iterator\",S=\"values\"==g,k=!1,C=t.prototype,T=C[d]||C[\"@@iterator\"]||g&&C[g],D=T||_(g),M=g?S?_(\"entries\"):D:void 0,A=\"Array\"==e&&C.entries||T;if(A&&(x=u(A.call(new t)))!==Object.prototype&&x.next&&(c(x,w,!0),n||\"function\"==typeof x[d]||r(x,d,f)),S&&T&&\"values\"!==T.name&&(k=!0,D=function(){return T.call(this)}),n&&!b||!h&&!k&&C[d]||r(C,d,D),o[e]=D,o[w]=f,g)if(v={values:S?D:_(\"values\"),keys:m?D:_(\"keys\"),entries:M},b)for(y in v)y in C||a(C,y,v[y]);else i(i.P+i.F*(h||k),e,v);return v}},\"./node_modules/core-js/modules/_iter-detect.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-detect.js ***!\n  \\******************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),i=!1;try{var a=[7][n]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var l=!1;try{var a=[7],r=a[n]();r.next=function(){return{done:l=!0}},a[n]=function(){return r},t(a)}catch(t){}return l}},\"./node_modules/core-js/modules/_iterators.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iterators.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e){t.exports={}},\"./node_modules/core-js/modules/_library.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_library.js ***!\n  \\**************************************************/\n/*! no static exports found */function(t,e){t.exports=!1},\"./node_modules/core-js/modules/_object-create.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-create.js ***!\n  \\********************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\"),i=l(/*! ./_object-dps */\"./node_modules/core-js/modules/_object-dps.js\"),a=l(/*! ./_enum-bug-keys */\"./node_modules/core-js/modules/_enum-bug-keys.js\"),r=l(/*! ./_shared-key */\"./node_modules/core-js/modules/_shared-key.js\")(\"IE_PROTO\"),o=function(){},s=function(){var t,e=l(/*! ./_dom-create */\"./node_modules/core-js/modules/_dom-create.js\")(\"iframe\"),n=a.length;for(e.style.display=\"none\",l(/*! ./_html */\"./node_modules/core-js/modules/_html.js\").appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),s=t.F;n--;)delete s.prototype[a[n]];return s()};t.exports=Object.create||function(t,e){var l;return null!==t?(o.prototype=n(t),l=new o,o.prototype=null,l[r]=t):l=s(),void 0===e?l:i(l,e)}},\"./node_modules/core-js/modules/_object-dp.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-dp.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\"),i=l(/*! ./_ie8-dom-define */\"./node_modules/core-js/modules/_ie8-dom-define.js\"),a=l(/*! ./_to-primitive */\"./node_modules/core-js/modules/_to-primitive.js\"),r=Object.defineProperty;e.f=l(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")?Object.defineProperty:function(t,e,l){if(n(t),e=a(e,!0),n(l),i)try{return r(t,e,l)}catch(t){}if(\"get\"in l||\"set\"in l)throw TypeError(\"Accessors not supported!\");return\"value\"in l&&(t[e]=l.value),t}},\"./node_modules/core-js/modules/_object-dps.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-dps.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\"),i=l(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\"),a=l(/*! ./_object-keys */\"./node_modules/core-js/modules/_object-keys.js\");t.exports=l(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")?Object.defineProperties:function(t,e){i(t);for(var l,r=a(e),o=r.length,s=0;o>s;)n.f(t,l=r[s++],e[l]);return t}},\"./node_modules/core-js/modules/_object-gpo.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-gpo.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),i=l(/*! ./_to-object */\"./node_modules/core-js/modules/_to-object.js\"),a=l(/*! ./_shared-key */\"./node_modules/core-js/modules/_shared-key.js\")(\"IE_PROTO\"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,a)?t[a]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},\"./node_modules/core-js/modules/_object-keys-internal.js\":\n/*!***************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-keys-internal.js ***!\n  \\***************************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),i=l(/*! ./_to-iobject */\"./node_modules/core-js/modules/_to-iobject.js\"),a=l(/*! ./_array-includes */\"./node_modules/core-js/modules/_array-includes.js\")(!1),r=l(/*! ./_shared-key */\"./node_modules/core-js/modules/_shared-key.js\")(\"IE_PROTO\");t.exports=function(t,e){var l,o=i(t),s=0,c=[];for(l in o)l!=r&&n(o,l)&&c.push(l);for(;e.length>s;)n(o,l=e[s++])&&(~a(c,l)||c.push(l));return c}},\"./node_modules/core-js/modules/_object-keys.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-keys.js ***!\n  \\******************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_object-keys-internal */\"./node_modules/core-js/modules/_object-keys-internal.js\"),i=l(/*! ./_enum-bug-keys */\"./node_modules/core-js/modules/_enum-bug-keys.js\");t.exports=Object.keys||function(t){return n(t,i)}},\"./node_modules/core-js/modules/_property-desc.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_property-desc.js ***!\n  \\********************************************************/\n/*! no static exports found */function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},\"./node_modules/core-js/modules/_redefine.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/core-js/modules/_redefine.js ***!\n  \\***************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_global */\"./node_modules/core-js/modules/_global.js\"),i=l(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\"),a=l(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),r=l(/*! ./_uid */\"./node_modules/core-js/modules/_uid.js\")(\"src\"),o=Function.toString,s=(\"\"+o).split(\"toString\");l(/*! ./_core */\"./node_modules/core-js/modules/_core.js\").inspectSource=function(t){return o.call(t)},(t.exports=function(t,e,l,o){var c=\"function\"==typeof l;c&&(a(l,\"name\")||i(l,\"name\",e)),t[e]!==l&&(c&&(a(l,r)||i(l,r,t[e]?\"\"+t[e]:s.join(String(e)))),t===n?t[e]=l:o?t[e]?t[e]=l:i(t,e,l):(delete t[e],i(t,e,l)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[r]||o.call(this)})},\"./node_modules/core-js/modules/_set-to-string-tag.js\":\n/*!************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***!\n  \\************************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\").f,i=l(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),a=l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"toStringTag\");t.exports=function(t,e,l){t&&!i(t=l?t:t.prototype,a)&&n(t,a,{configurable:!0,value:e})}},\"./node_modules/core-js/modules/_shared-key.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_shared-key.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_shared */\"./node_modules/core-js/modules/_shared.js\")(\"keys\"),i=l(/*! ./_uid */\"./node_modules/core-js/modules/_uid.js\");t.exports=function(t){return n[t]||(n[t]=i(t))}},\"./node_modules/core-js/modules/_shared.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_shared.js ***!\n  \\*************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_core */\"./node_modules/core-js/modules/_core.js\"),i=l(/*! ./_global */\"./node_modules/core-js/modules/_global.js\"),a=i[\"__core-js_shared__\"]||(i[\"__core-js_shared__\"]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:n.version,mode:l(/*! ./_library */\"./node_modules/core-js/modules/_library.js\")?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},\"./node_modules/core-js/modules/_string-at.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_string-at.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_to-integer */\"./node_modules/core-js/modules/_to-integer.js\"),i=l(/*! ./_defined */\"./node_modules/core-js/modules/_defined.js\");t.exports=function(t){return function(e,l){var a,r,o=String(i(e)),s=n(l),c=o.length;return s<0||s>=c?t?\"\":void 0:(a=o.charCodeAt(s))<55296||a>56319||s+1===c||(r=o.charCodeAt(s+1))<56320||r>57343?t?o.charAt(s):a:t?o.slice(s,s+2):r-56320+(a-55296<<10)+65536}}},\"./node_modules/core-js/modules/_to-absolute-index.js\":\n/*!************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-absolute-index.js ***!\n  \\************************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_to-integer */\"./node_modules/core-js/modules/_to-integer.js\"),i=Math.max,a=Math.min;t.exports=function(t,e){return(t=n(t))<0?i(t+e,0):a(t,e)}},\"./node_modules/core-js/modules/_to-integer.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-integer.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e){var l=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:l)(t)}},\"./node_modules/core-js/modules/_to-iobject.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-iobject.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_iobject */\"./node_modules/core-js/modules/_iobject.js\"),i=l(/*! ./_defined */\"./node_modules/core-js/modules/_defined.js\");t.exports=function(t){return n(i(t))}},\"./node_modules/core-js/modules/_to-length.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-length.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_to-integer */\"./node_modules/core-js/modules/_to-integer.js\"),i=Math.min;t.exports=function(t){return t>0?i(n(t),9007199254740991):0}},\"./node_modules/core-js/modules/_to-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-object.js ***!\n  \\****************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_defined */\"./node_modules/core-js/modules/_defined.js\");t.exports=function(t){return Object(n(t))}},\"./node_modules/core-js/modules/_to-primitive.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-primitive.js ***!\n  \\*******************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_is-object */\"./node_modules/core-js/modules/_is-object.js\");t.exports=function(t,e){if(!n(t))return t;var l,i;if(e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;if(\"function\"==typeof(l=t.valueOf)&&!n(i=l.call(t)))return i;if(!e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},\"./node_modules/core-js/modules/_uid.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_uid.js ***!\n  \\**********************************************/\n/*! no static exports found */function(t,e){var l=0,n=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++l+n).toString(36))}},\"./node_modules/core-js/modules/_wks.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_wks.js ***!\n  \\**********************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_shared */\"./node_modules/core-js/modules/_shared.js\")(\"wks\"),i=l(/*! ./_uid */\"./node_modules/core-js/modules/_uid.js\"),a=l(/*! ./_global */\"./node_modules/core-js/modules/_global.js\").Symbol,r=\"function\"==typeof a;(t.exports=function(t){return n[t]||(n[t]=r&&a[t]||(r?a:i)(\"Symbol.\"+t))}).store=n},\"./node_modules/core-js/modules/core.get-iterator-method.js\":\n/*!******************************************************************!*\\\n  !*** ./node_modules/core-js/modules/core.get-iterator-method.js ***!\n  \\******************************************************************/\n/*! no static exports found */function(t,e,l){var n=l(/*! ./_classof */\"./node_modules/core-js/modules/_classof.js\"),i=l(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),a=l(/*! ./_iterators */\"./node_modules/core-js/modules/_iterators.js\");t.exports=l(/*! ./_core */\"./node_modules/core-js/modules/_core.js\").getIteratorMethod=function(t){if(null!=t)return t[i]||t[\"@@iterator\"]||a[n(t)]}},\"./node_modules/core-js/modules/es6.array.from.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/es6.array.from.js ***!\n  \\********************************************************/\n/*! no static exports found */function(t,e,l){\"use strict\";var n=l(/*! ./_ctx */\"./node_modules/core-js/modules/_ctx.js\"),i=l(/*! ./_export */\"./node_modules/core-js/modules/_export.js\"),a=l(/*! ./_to-object */\"./node_modules/core-js/modules/_to-object.js\"),r=l(/*! ./_iter-call */\"./node_modules/core-js/modules/_iter-call.js\"),o=l(/*! ./_is-array-iter */\"./node_modules/core-js/modules/_is-array-iter.js\"),s=l(/*! ./_to-length */\"./node_modules/core-js/modules/_to-length.js\"),c=l(/*! ./_create-property */\"./node_modules/core-js/modules/_create-property.js\"),u=l(/*! ./core.get-iterator-method */\"./node_modules/core-js/modules/core.get-iterator-method.js\");i(i.S+i.F*!l(/*! ./_iter-detect */\"./node_modules/core-js/modules/_iter-detect.js\")(function(t){Array.from(t)}),\"Array\",{from:function(t){var e,l,i,d,h=a(t),f=\"function\"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,m=void 0!==g,b=0,v=u(h);if(m&&(g=n(g,p>2?arguments[2]:void 0,2)),null==v||f==Array&&o(v))for(l=new f(e=s(h.length));e>b;b++)c(l,b,m?g(h[b],b):h[b]);else for(d=v.call(h),l=new f;!(i=d.next()).done;b++)c(l,b,m?r(d,g,[i.value,b],!0):i.value);return l.length=b,l}})},\"./node_modules/core-js/modules/es6.string.iterator.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/core-js/modules/es6.string.iterator.js ***!\n  \\*************************************************************/\n/*! no static exports found */function(t,e,l){\"use strict\";var n=l(/*! ./_string-at */\"./node_modules/core-js/modules/_string-at.js\")(!0);l(/*! ./_iter-define */\"./node_modules/core-js/modules/_iter-define.js\")(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,l=this._i;return l>=e.length?{value:void 0,done:!0}:(t=n(e,l),this._i+=t.length,{value:t,done:!1})})},\"./src/default-attrs.json\":\n/*!********************************!*\\\n  !*** ./src/default-attrs.json ***!\n  \\********************************/\n/*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */function(t){t.exports={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",\"stroke-width\":2,\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},\"./src/icon.js\":\n/*!*********************!*\\\n  !*** ./src/icon.js ***!\n  \\*********************/\n/*! no static exports found */function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t},i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=o(l(/*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\")),r=o(l(/*! ./default-attrs.json */\"./src/default-attrs.json\"));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e,l){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.name=e,this.contents=l,this.tags=i,this.attrs=n({},r.default,{class:\"feather feather-\"+e})}return i(t,[{key:\"toSvg\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return\"<svg \"+function(t){return Object.keys(t).map(function(e){return e+'=\"'+t[e]+'\"'}).join(\" \")}(n({},this.attrs,t,{class:(0,a.default)(this.attrs.class,t.class)}))+\">\"+this.contents+\"</svg>\"}},{key:\"toString\",value:function(){return this.contents}}]),t}();e.default=s},\"./src/icons.js\":\n/*!**********************!*\\\n  !*** ./src/icons.js ***!\n  \\**********************/\n/*! no static exports found */function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=r(l(/*! ./icon */\"./src/icon.js\")),i=r(l(/*! ../dist/icons.json */\"./dist/icons.json\")),a=r(l(/*! ./tags.json */\"./src/tags.json\"));function r(t){return t&&t.__esModule?t:{default:t}}e.default=Object.keys(i.default).map(function(t){return new n.default(t,i.default[t],a.default[t])}).reduce(function(t,e){return t[e.name]=e,t},{})},\"./src/index.js\":\n/*!**********************!*\\\n  !*** ./src/index.js ***!\n  \\**********************/\n/*! no static exports found */function(t,e,l){\"use strict\";var n=r(l(/*! ./icons */\"./src/icons.js\")),i=r(l(/*! ./to-svg */\"./src/to-svg.js\")),a=r(l(/*! ./replace */\"./src/replace.js\"));function r(t){return t&&t.__esModule?t:{default:t}}t.exports={icons:n.default,toSvg:i.default,replace:a.default}},\"./src/replace.js\":\n/*!************************!*\\\n  !*** ./src/replace.js ***!\n  \\************************/\n/*! no static exports found */function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t},i=r(l(/*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\")),a=r(l(/*! ./icons */\"./src/icons.js\"));function r(t){return t&&t.__esModule?t:{default:t}}e.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(\"undefined\"==typeof document)throw new Error(\"`feather.replace()` only works in a browser environment.\");var e=document.querySelectorAll(\"[data-feather]\");Array.from(e).forEach(function(e){return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=function(t){return Array.from(t.attributes).reduce(function(t,e){return t[e.name]=e.value,t},{})}(t),r=l[\"data-feather\"];delete l[\"data-feather\"];var o=a.default[r].toSvg(n({},e,l,{class:(0,i.default)(e.class,l.class)})),s=(new DOMParser).parseFromString(o,\"image/svg+xml\").querySelector(\"svg\");t.parentNode.replaceChild(s,t)}(e,t)})}},\"./src/tags.json\":\n/*!***********************!*\\\n  !*** ./src/tags.json ***!\n  \\***********************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, at-sign, award, aperture, bell, bell-off, bluetooth, book-open, book, bookmark, briefcase, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, coffee, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, film, folder-minus, folder-plus, folder, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, global, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, life-bouy, linkedin, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, play, play-circle, plus, plus-circle, plus-square, pocket, power, radio, rewind, rss, save, search, send, settings, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slash, sliders, smile, speaker, star, sun, sunrise, sunset, tag, target, terminal, thumbs-down, thumbs-up, toggle-left, toggle-right, trash, trash-2, triangle, truck, twitter, umbrella, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, default */function(t){t.exports={activity:[\"pulse\",\"health\",\"action\",\"motion\"],airplay:[\"stream\",\"cast\",\"mirroring\"],\"alert-circle\":[\"warning\"],\"alert-octagon\":[\"warning\"],\"alert-triangle\":[\"warning\"],\"at-sign\":[\"mention\"],award:[\"achievement\",\"badge\"],aperture:[\"camera\",\"photo\"],bell:[\"alarm\",\"notification\"],\"bell-off\":[\"alarm\",\"notification\",\"silent\"],bluetooth:[\"wireless\"],\"book-open\":[\"read\"],book:[\"read\",\"dictionary\",\"booklet\",\"magazine\"],bookmark:[\"read\",\"clip\",\"marker\",\"tag\"],briefcase:[\"work\",\"bag\",\"baggage\",\"folder\"],clipboard:[\"copy\"],clock:[\"time\",\"watch\",\"alarm\"],\"cloud-drizzle\":[\"weather\",\"shower\"],\"cloud-lightning\":[\"weather\",\"bolt\"],\"cloud-rain\":[\"weather\"],\"cloud-snow\":[\"weather\",\"blizzard\"],cloud:[\"weather\"],codepen:[\"logo\"],codesandbox:[\"logo\"],coffee:[\"drink\",\"cup\",\"mug\",\"tea\",\"cafe\",\"hot\",\"beverage\"],command:[\"keyboard\",\"cmd\"],compass:[\"navigation\",\"safari\",\"travel\"],copy:[\"clone\",\"duplicate\"],\"corner-down-left\":[\"arrow\"],\"corner-down-right\":[\"arrow\"],\"corner-left-down\":[\"arrow\"],\"corner-left-up\":[\"arrow\"],\"corner-right-down\":[\"arrow\"],\"corner-right-up\":[\"arrow\"],\"corner-up-left\":[\"arrow\"],\"corner-up-right\":[\"arrow\"],\"credit-card\":[\"purchase\",\"payment\",\"cc\"],crop:[\"photo\",\"image\"],crosshair:[\"aim\",\"target\"],database:[\"storage\"],delete:[\"remove\"],disc:[\"album\",\"cd\",\"dvd\",\"music\"],\"dollar-sign\":[\"currency\",\"money\",\"payment\"],droplet:[\"water\"],edit:[\"pencil\",\"change\"],\"edit-2\":[\"pencil\",\"change\"],\"edit-3\":[\"pencil\",\"change\"],eye:[\"view\",\"watch\"],\"eye-off\":[\"view\",\"watch\"],\"external-link\":[\"outbound\"],facebook:[\"logo\"],\"fast-forward\":[\"music\"],figma:[\"logo\",\"design\",\"tool\"],film:[\"movie\",\"video\"],\"folder-minus\":[\"directory\"],\"folder-plus\":[\"directory\"],folder:[\"directory\"],frown:[\"emoji\",\"face\",\"bad\",\"sad\",\"emotion\"],gift:[\"present\",\"box\",\"birthday\",\"party\"],\"git-branch\":[\"code\",\"version control\"],\"git-commit\":[\"code\",\"version control\"],\"git-merge\":[\"code\",\"version control\"],\"git-pull-request\":[\"code\",\"version control\"],github:[\"logo\",\"version control\"],gitlab:[\"logo\",\"version control\"],global:[\"world\",\"browser\",\"language\",\"translate\"],\"hard-drive\":[\"computer\",\"server\"],hash:[\"hashtag\",\"number\",\"pound\"],headphones:[\"music\",\"audio\"],heart:[\"like\",\"love\"],\"help-circle\":[\"question mark\"],hexagon:[\"shape\",\"node.js\",\"logo\"],home:[\"house\"],image:[\"picture\"],inbox:[\"email\"],instagram:[\"logo\",\"camera\"],key:[\"password\",\"login\",\"authentication\"],\"life-bouy\":[\"help\",\"life ring\",\"support\"],linkedin:[\"logo\"],lock:[\"security\",\"password\"],\"log-in\":[\"sign in\",\"arrow\"],\"log-out\":[\"sign out\",\"arrow\"],mail:[\"email\"],\"map-pin\":[\"location\",\"navigation\",\"travel\",\"marker\"],map:[\"location\",\"navigation\",\"travel\"],maximize:[\"fullscreen\"],\"maximize-2\":[\"fullscreen\",\"arrows\"],meh:[\"emoji\",\"face\",\"neutral\",\"emotion\"],menu:[\"bars\",\"navigation\",\"hamburger\"],\"message-circle\":[\"comment\",\"chat\"],\"message-square\":[\"comment\",\"chat\"],\"mic-off\":[\"record\"],mic:[\"record\"],minimize:[\"exit fullscreen\"],\"minimize-2\":[\"exit fullscreen\",\"arrows\"],monitor:[\"tv\"],moon:[\"dark\",\"night\"],\"more-horizontal\":[\"ellipsis\"],\"more-vertical\":[\"ellipsis\"],\"mouse-pointer\":[\"arrow\",\"cursor\"],move:[\"arrows\"],navigation:[\"location\",\"travel\"],\"navigation-2\":[\"location\",\"travel\"],octagon:[\"stop\"],package:[\"box\"],paperclip:[\"attachment\"],pause:[\"music\",\"stop\"],\"pause-circle\":[\"music\",\"stop\"],\"pen-tool\":[\"vector\",\"drawing\"],play:[\"music\",\"start\"],\"play-circle\":[\"music\",\"start\"],plus:[\"add\",\"new\"],\"plus-circle\":[\"add\",\"new\"],\"plus-square\":[\"add\",\"new\"],pocket:[\"logo\",\"save\"],power:[\"on\",\"off\"],radio:[\"signal\"],rewind:[\"music\"],rss:[\"feed\",\"subscribe\"],save:[\"floppy disk\"],search:[\"find\",\"magnifier\",\"magnifying glass\"],send:[\"message\",\"mail\",\"paper airplane\"],settings:[\"cog\",\"edit\",\"gear\",\"preferences\"],shield:[\"security\"],\"shield-off\":[\"security\"],\"shopping-bag\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],\"shopping-cart\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],shuffle:[\"music\"],\"skip-back\":[\"music\"],\"skip-forward\":[\"music\"],slash:[\"ban\",\"no\"],sliders:[\"settings\",\"controls\"],smile:[\"emoji\",\"face\",\"happy\",\"good\",\"emotion\"],speaker:[\"music\"],star:[\"bookmark\",\"favorite\",\"like\"],sun:[\"brightness\",\"weather\",\"light\"],sunrise:[\"weather\"],sunset:[\"weather\"],tag:[\"label\"],target:[\"bullseye\"],terminal:[\"code\",\"command line\"],\"thumbs-down\":[\"dislike\",\"bad\"],\"thumbs-up\":[\"like\",\"good\"],\"toggle-left\":[\"on\",\"off\",\"switch\"],\"toggle-right\":[\"on\",\"off\",\"switch\"],trash:[\"garbage\",\"delete\",\"remove\"],\"trash-2\":[\"garbage\",\"delete\",\"remove\"],triangle:[\"delta\"],truck:[\"delivery\",\"van\",\"shipping\"],twitter:[\"logo\"],umbrella:[\"rain\",\"weather\"],\"video-off\":[\"camera\",\"movie\",\"film\"],video:[\"camera\",\"movie\",\"film\"],voicemail:[\"phone\"],volume:[\"music\",\"sound\",\"mute\"],\"volume-1\":[\"music\",\"sound\"],\"volume-2\":[\"music\",\"sound\"],\"volume-x\":[\"music\",\"sound\",\"mute\"],watch:[\"clock\",\"time\"],wind:[\"weather\",\"air\"],\"x-circle\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],\"x-octagon\":[\"delete\",\"stop\",\"alert\",\"warning\",\"times\"],\"x-square\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],x:[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],youtube:[\"logo\",\"video\",\"play\"],\"zap-off\":[\"flash\",\"camera\",\"lightning\"],zap:[\"flash\",\"camera\",\"lightning\"]}},\"./src/to-svg.js\":\n/*!***********************!*\\\n  !*** ./src/to-svg.js ***!\n  \\***********************/\n/*! no static exports found */function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n,i=l(/*! ./icons */\"./src/icons.js\"),a=(n=i)&&n.__esModule?n:{default:n};e.default=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn(\"feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.\"),!t)throw new Error(\"The required `key` (icon name) parameter is missing.\");if(!a.default[t])throw new Error(\"No icon matching '\"+t+\"'. See the complete list of icons at https://feathericons.com\");return a.default[t].toSvg(e)}},0:\n/*!**************************************************!*\\\n  !*** multi core-js/fn/array/from ./src/index.js ***!\n  \\**************************************************/\n/*! no static exports found */function(t,e,l){l(/*! core-js/fn/array/from */\"./node_modules/core-js/fn/array/from.js\"),t.exports=l(/*! /home/travis/build/feathericons/feather/src/index.js */\"./src/index.js\")}})},t.exports=n()},function(t,e,l){(function(e){t.exports=e.$=l(26)}).call(this,l(2))},function(t,e,l){var n;\n/*!\n * jQuery JavaScript Library v3.3.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2018-01-20T17:24Z\n */\n/*!\n * jQuery JavaScript Library v3.3.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2018-01-20T17:24Z\n */\n!function(e,l){\"use strict\";\"object\"==typeof t&&\"object\"==typeof t.exports?t.exports=e.document?l(e,!0):function(t){if(!t.document)throw new Error(\"jQuery requires a window with a document\");return l(t)}:l(e)}(\"undefined\"!=typeof window?window:this,function(l,i){\"use strict\";var a=[],r=l.document,o=Object.getPrototypeOf,s=a.slice,c=a.concat,u=a.push,d=a.indexOf,h={},f=h.toString,p=h.hasOwnProperty,g=p.toString,m=g.call(Object),b={},v=function(t){return\"function\"==typeof t&&\"number\"!=typeof t.nodeType},y=function(t){return null!=t&&t===t.window},x={type:!0,src:!0,noModule:!0};function _(t,e,l){var n,i=(e=e||r).createElement(\"script\");if(i.text=t,l)for(n in x)l[n]&&(i[n]=l[n]);e.head.appendChild(i).parentNode.removeChild(i)}function w(t){return null==t?t+\"\":\"object\"==typeof t||\"function\"==typeof t?h[f.call(t)]||\"object\":typeof t}var S=function(t,e){return new S.fn.init(t,e)},k=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;function C(t){var e=!!t&&\"length\"in t&&t.length,l=w(t);return!v(t)&&!y(t)&&(\"array\"===l||0===e||\"number\"==typeof e&&e>0&&e-1 in t)}S.fn=S.prototype={jquery:\"3.3.1\",constructor:S,length:0,toArray:function(){return s.call(this)},get:function(t){return null==t?s.call(this):t<0?this[t+this.length]:this[t]},pushStack:function(t){var e=S.merge(this.constructor(),t);return e.prevObject=this,e},each:function(t){return S.each(this,t)},map:function(t){return this.pushStack(S.map(this,function(e,l){return t.call(e,l,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(t){var e=this.length,l=+t+(t<0?e:0);return this.pushStack(l>=0&&l<e?[this[l]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:a.sort,splice:a.splice},S.extend=S.fn.extend=function(){var t,e,l,n,i,a,r=arguments[0]||{},o=1,s=arguments.length,c=!1;for(\"boolean\"==typeof r&&(c=r,r=arguments[o]||{},o++),\"object\"==typeof r||v(r)||(r={}),o===s&&(r=this,o--);o<s;o++)if(null!=(t=arguments[o]))for(e in t)l=r[e],r!==(n=t[e])&&(c&&n&&(S.isPlainObject(n)||(i=Array.isArray(n)))?(i?(i=!1,a=l&&Array.isArray(l)?l:[]):a=l&&S.isPlainObject(l)?l:{},r[e]=S.extend(c,a,n)):void 0!==n&&(r[e]=n));return r},S.extend({expando:\"jQuery\"+(\"3.3.1\"+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(t){throw new Error(t)},noop:function(){},isPlainObject:function(t){var e,l;return!(!t||\"[object Object]\"!==f.call(t))&&(!(e=o(t))||\"function\"==typeof(l=p.call(e,\"constructor\")&&e.constructor)&&g.call(l)===m)},isEmptyObject:function(t){var e;for(e in t)return!1;return!0},globalEval:function(t){_(t)},each:function(t,e){var l,n=0;if(C(t))for(l=t.length;n<l&&!1!==e.call(t[n],n,t[n]);n++);else for(n in t)if(!1===e.call(t[n],n,t[n]))break;return t},trim:function(t){return null==t?\"\":(t+\"\").replace(k,\"\")},makeArray:function(t,e){var l=e||[];return null!=t&&(C(Object(t))?S.merge(l,\"string\"==typeof t?[t]:t):u.call(l,t)),l},inArray:function(t,e,l){return null==e?-1:d.call(e,t,l)},merge:function(t,e){for(var l=+e.length,n=0,i=t.length;n<l;n++)t[i++]=e[n];return t.length=i,t},grep:function(t,e,l){for(var n=[],i=0,a=t.length,r=!l;i<a;i++)!e(t[i],i)!==r&&n.push(t[i]);return n},map:function(t,e,l){var n,i,a=0,r=[];if(C(t))for(n=t.length;a<n;a++)null!=(i=e(t[a],a,l))&&r.push(i);else for(a in t)null!=(i=e(t[a],a,l))&&r.push(i);return c.apply([],r)},guid:1,support:b}),\"function\"==typeof Symbol&&(S.fn[Symbol.iterator]=a[Symbol.iterator]),S.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(t,e){h[\"[object \"+e+\"]\"]=e.toLowerCase()});var T=\n/*!\n * Sizzle CSS Selector Engine v2.3.3\n * https://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-08-08\n */\nfunction(t){var e,l,n,i,a,r,o,s,c,u,d,h,f,p,g,m,b,v,y,x=\"sizzle\"+1*new Date,_=t.document,w=0,S=0,k=rt(),C=rt(),T=rt(),D=function(t,e){return t===e&&(d=!0),0},M={}.hasOwnProperty,A=[],E=A.pop,j=A.push,I=A.push,P=A.slice,O=function(t,e){for(var l=0,n=t.length;l<n;l++)if(t[l]===e)return l;return-1},L=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",R=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",N=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",F=\"\\\\[\"+R+\"*(\"+N+\")(?:\"+R+\"*([*^$|!~]?=)\"+R+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+N+\"))|)\"+R+\"*\\\\]\",B=\":(\"+N+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+F+\")*)|.*)\\\\)|)\",H=new RegExp(R+\"+\",\"g\"),q=new RegExp(\"^\"+R+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+R+\"+$\",\"g\"),Z=new RegExp(\"^\"+R+\"*,\"+R+\"*\"),z=new RegExp(\"^\"+R+\"*([>+~]|\"+R+\")\"+R+\"*\"),$=new RegExp(\"=\"+R+\"*([^\\\\]'\\\"]*?)\"+R+\"*\\\\]\",\"g\"),Y=new RegExp(B),W=new RegExp(\"^\"+N+\"$\"),V={ID:new RegExp(\"^#(\"+N+\")\"),CLASS:new RegExp(\"^\\\\.(\"+N+\")\"),TAG:new RegExp(\"^(\"+N+\"|[*])\"),ATTR:new RegExp(\"^\"+F),PSEUDO:new RegExp(\"^\"+B),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+R+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+R+\"*(?:([+-]|)\"+R+\"*(\\\\d+)|))\"+R+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+L+\")$\",\"i\"),needsContext:new RegExp(\"^\"+R+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+R+\"*((?:-\\\\d)?\\\\d*)\"+R+\"*\\\\)|)(?=[^-]|$)\",\"i\")},U=/^(?:input|select|textarea|button)$/i,G=/^h\\d$/i,X=/^[^{]+\\{\\s*\\[native \\w/,K=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,Q=/[+~]/,J=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+R+\"?|(\"+R+\")|.)\",\"ig\"),tt=function(t,e,l){var n=\"0x\"+e-65536;return n!=n||l?e:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)},et=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,lt=function(t,e){return e?\"\\0\"===t?\"�\":t.slice(0,-1)+\"\\\\\"+t.charCodeAt(t.length-1).toString(16)+\" \":\"\\\\\"+t},nt=function(){h()},it=vt(function(t){return!0===t.disabled&&(\"form\"in t||\"label\"in t)},{dir:\"parentNode\",next:\"legend\"});try{I.apply(A=P.call(_.childNodes),_.childNodes),A[_.childNodes.length].nodeType}catch(t){I={apply:A.length?function(t,e){j.apply(t,P.call(e))}:function(t,e){for(var l=t.length,n=0;t[l++]=e[n++];);t.length=l-1}}}function at(t,e,n,i){var a,o,c,u,d,p,b,v=e&&e.ownerDocument,w=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==w&&9!==w&&11!==w)return n;if(!i&&((e?e.ownerDocument||e:_)!==f&&h(e),e=e||f,g)){if(11!==w&&(d=K.exec(t)))if(a=d[1]){if(9===w){if(!(c=e.getElementById(a)))return n;if(c.id===a)return n.push(c),n}else if(v&&(c=v.getElementById(a))&&y(e,c)&&c.id===a)return n.push(c),n}else{if(d[2])return I.apply(n,e.getElementsByTagName(t)),n;if((a=d[3])&&l.getElementsByClassName&&e.getElementsByClassName)return I.apply(n,e.getElementsByClassName(a)),n}if(l.qsa&&!T[t+\" \"]&&(!m||!m.test(t))){if(1!==w)v=e,b=t;else if(\"object\"!==e.nodeName.toLowerCase()){for((u=e.getAttribute(\"id\"))?u=u.replace(et,lt):e.setAttribute(\"id\",u=x),o=(p=r(t)).length;o--;)p[o]=\"#\"+u+\" \"+bt(p[o]);b=p.join(\",\"),v=Q.test(t)&&gt(e.parentNode)||e}if(b)try{return I.apply(n,v.querySelectorAll(b)),n}catch(t){}finally{u===x&&e.removeAttribute(\"id\")}}}return s(t.replace(q,\"$1\"),e,n,i)}function rt(){var t=[];return function e(l,i){return t.push(l+\" \")>n.cacheLength&&delete e[t.shift()],e[l+\" \"]=i}}function ot(t){return t[x]=!0,t}function st(t){var e=f.createElement(\"fieldset\");try{return!!t(e)}catch(t){return!1}finally{e.parentNode&&e.parentNode.removeChild(e),e=null}}function ct(t,e){for(var l=t.split(\"|\"),i=l.length;i--;)n.attrHandle[l[i]]=e}function ut(t,e){var l=e&&t,n=l&&1===t.nodeType&&1===e.nodeType&&t.sourceIndex-e.sourceIndex;if(n)return n;if(l)for(;l=l.nextSibling;)if(l===e)return-1;return t?1:-1}function dt(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function ht(t){return function(e){var l=e.nodeName.toLowerCase();return(\"input\"===l||\"button\"===l)&&e.type===t}}function ft(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&it(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function pt(t){return ot(function(e){return e=+e,ot(function(l,n){for(var i,a=t([],l.length,e),r=a.length;r--;)l[i=a[r]]&&(l[i]=!(n[i]=l[i]))})})}function gt(t){return t&&void 0!==t.getElementsByTagName&&t}for(e in l=at.support={},a=at.isXML=function(t){var e=t&&(t.ownerDocument||t).documentElement;return!!e&&\"HTML\"!==e.nodeName},h=at.setDocument=function(t){var e,i,r=t?t.ownerDocument||t:_;return r!==f&&9===r.nodeType&&r.documentElement?(p=(f=r).documentElement,g=!a(f),_!==f&&(i=f.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener(\"unload\",nt,!1):i.attachEvent&&i.attachEvent(\"onunload\",nt)),l.attributes=st(function(t){return t.className=\"i\",!t.getAttribute(\"className\")}),l.getElementsByTagName=st(function(t){return t.appendChild(f.createComment(\"\")),!t.getElementsByTagName(\"*\").length}),l.getElementsByClassName=X.test(f.getElementsByClassName),l.getById=st(function(t){return p.appendChild(t).id=x,!f.getElementsByName||!f.getElementsByName(x).length}),l.getById?(n.filter.ID=function(t){var e=t.replace(J,tt);return function(t){return t.getAttribute(\"id\")===e}},n.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var l=e.getElementById(t);return l?[l]:[]}}):(n.filter.ID=function(t){var e=t.replace(J,tt);return function(t){var l=void 0!==t.getAttributeNode&&t.getAttributeNode(\"id\");return l&&l.value===e}},n.find.ID=function(t,e){if(void 0!==e.getElementById&&g){var l,n,i,a=e.getElementById(t);if(a){if((l=a.getAttributeNode(\"id\"))&&l.value===t)return[a];for(i=e.getElementsByName(t),n=0;a=i[n++];)if((l=a.getAttributeNode(\"id\"))&&l.value===t)return[a]}return[]}}),n.find.TAG=l.getElementsByTagName?function(t,e){return void 0!==e.getElementsByTagName?e.getElementsByTagName(t):l.qsa?e.querySelectorAll(t):void 0}:function(t,e){var l,n=[],i=0,a=e.getElementsByTagName(t);if(\"*\"===t){for(;l=a[i++];)1===l.nodeType&&n.push(l);return n}return a},n.find.CLASS=l.getElementsByClassName&&function(t,e){if(void 0!==e.getElementsByClassName&&g)return e.getElementsByClassName(t)},b=[],m=[],(l.qsa=X.test(f.querySelectorAll))&&(st(function(t){p.appendChild(t).innerHTML=\"<a id='\"+x+\"'></a><select id='\"+x+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",t.querySelectorAll(\"[msallowcapture^='']\").length&&m.push(\"[*^$]=\"+R+\"*(?:''|\\\"\\\")\"),t.querySelectorAll(\"[selected]\").length||m.push(\"\\\\[\"+R+\"*(?:value|\"+L+\")\"),t.querySelectorAll(\"[id~=\"+x+\"-]\").length||m.push(\"~=\"),t.querySelectorAll(\":checked\").length||m.push(\":checked\"),t.querySelectorAll(\"a#\"+x+\"+*\").length||m.push(\".#.+[+~]\")}),st(function(t){t.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var e=f.createElement(\"input\");e.setAttribute(\"type\",\"hidden\"),t.appendChild(e).setAttribute(\"name\",\"D\"),t.querySelectorAll(\"[name=d]\").length&&m.push(\"name\"+R+\"*[*^$|!~]?=\"),2!==t.querySelectorAll(\":enabled\").length&&m.push(\":enabled\",\":disabled\"),p.appendChild(t).disabled=!0,2!==t.querySelectorAll(\":disabled\").length&&m.push(\":enabled\",\":disabled\"),t.querySelectorAll(\"*,:x\"),m.push(\",.*:\")})),(l.matchesSelector=X.test(v=p.matches||p.webkitMatchesSelector||p.mozMatchesSelector||p.oMatchesSelector||p.msMatchesSelector))&&st(function(t){l.disconnectedMatch=v.call(t,\"*\"),v.call(t,\"[s!='']:x\"),b.push(\"!=\",B)}),m=m.length&&new RegExp(m.join(\"|\")),b=b.length&&new RegExp(b.join(\"|\")),e=X.test(p.compareDocumentPosition),y=e||X.test(p.contains)?function(t,e){var l=9===t.nodeType?t.documentElement:t,n=e&&e.parentNode;return t===n||!(!n||1!==n.nodeType||!(l.contains?l.contains(n):t.compareDocumentPosition&&16&t.compareDocumentPosition(n)))}:function(t,e){if(e)for(;e=e.parentNode;)if(e===t)return!0;return!1},D=e?function(t,e){if(t===e)return d=!0,0;var n=!t.compareDocumentPosition-!e.compareDocumentPosition;return n||(1&(n=(t.ownerDocument||t)===(e.ownerDocument||e)?t.compareDocumentPosition(e):1)||!l.sortDetached&&e.compareDocumentPosition(t)===n?t===f||t.ownerDocument===_&&y(_,t)?-1:e===f||e.ownerDocument===_&&y(_,e)?1:u?O(u,t)-O(u,e):0:4&n?-1:1)}:function(t,e){if(t===e)return d=!0,0;var l,n=0,i=t.parentNode,a=e.parentNode,r=[t],o=[e];if(!i||!a)return t===f?-1:e===f?1:i?-1:a?1:u?O(u,t)-O(u,e):0;if(i===a)return ut(t,e);for(l=t;l=l.parentNode;)r.unshift(l);for(l=e;l=l.parentNode;)o.unshift(l);for(;r[n]===o[n];)n++;return n?ut(r[n],o[n]):r[n]===_?-1:o[n]===_?1:0},f):f},at.matches=function(t,e){return at(t,null,null,e)},at.matchesSelector=function(t,e){if((t.ownerDocument||t)!==f&&h(t),e=e.replace($,\"='$1']\"),l.matchesSelector&&g&&!T[e+\" \"]&&(!b||!b.test(e))&&(!m||!m.test(e)))try{var n=v.call(t,e);if(n||l.disconnectedMatch||t.document&&11!==t.document.nodeType)return n}catch(t){}return at(e,f,null,[t]).length>0},at.contains=function(t,e){return(t.ownerDocument||t)!==f&&h(t),y(t,e)},at.attr=function(t,e){(t.ownerDocument||t)!==f&&h(t);var i=n.attrHandle[e.toLowerCase()],a=i&&M.call(n.attrHandle,e.toLowerCase())?i(t,e,!g):void 0;return void 0!==a?a:l.attributes||!g?t.getAttribute(e):(a=t.getAttributeNode(e))&&a.specified?a.value:null},at.escape=function(t){return(t+\"\").replace(et,lt)},at.error=function(t){throw new Error(\"Syntax error, unrecognized expression: \"+t)},at.uniqueSort=function(t){var e,n=[],i=0,a=0;if(d=!l.detectDuplicates,u=!l.sortStable&&t.slice(0),t.sort(D),d){for(;e=t[a++];)e===t[a]&&(i=n.push(a));for(;i--;)t.splice(n[i],1)}return u=null,t},i=at.getText=function(t){var e,l=\"\",n=0,a=t.nodeType;if(a){if(1===a||9===a||11===a){if(\"string\"==typeof t.textContent)return t.textContent;for(t=t.firstChild;t;t=t.nextSibling)l+=i(t)}else if(3===a||4===a)return t.nodeValue}else for(;e=t[n++];)l+=i(e);return l},(n=at.selectors={cacheLength:50,createPseudo:ot,match:V,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(t){return t[1]=t[1].replace(J,tt),t[3]=(t[3]||t[4]||t[5]||\"\").replace(J,tt),\"~=\"===t[2]&&(t[3]=\" \"+t[3]+\" \"),t.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),\"nth\"===t[1].slice(0,3)?(t[3]||at.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*(\"even\"===t[3]||\"odd\"===t[3])),t[5]=+(t[7]+t[8]||\"odd\"===t[3])):t[3]&&at.error(t[0]),t},PSEUDO:function(t){var e,l=!t[6]&&t[2];return V.CHILD.test(t[0])?null:(t[3]?t[2]=t[4]||t[5]||\"\":l&&Y.test(l)&&(e=r(l,!0))&&(e=l.indexOf(\")\",l.length-e)-l.length)&&(t[0]=t[0].slice(0,e),t[2]=l.slice(0,e)),t.slice(0,3))}},filter:{TAG:function(t){var e=t.replace(J,tt).toLowerCase();return\"*\"===t?function(){return!0}:function(t){return t.nodeName&&t.nodeName.toLowerCase()===e}},CLASS:function(t){var e=k[t+\" \"];return e||(e=new RegExp(\"(^|\"+R+\")\"+t+\"(\"+R+\"|$)\"))&&k(t,function(t){return e.test(\"string\"==typeof t.className&&t.className||void 0!==t.getAttribute&&t.getAttribute(\"class\")||\"\")})},ATTR:function(t,e,l){return function(n){var i=at.attr(n,t);return null==i?\"!=\"===e:!e||(i+=\"\",\"=\"===e?i===l:\"!=\"===e?i!==l:\"^=\"===e?l&&0===i.indexOf(l):\"*=\"===e?l&&i.indexOf(l)>-1:\"$=\"===e?l&&i.slice(-l.length)===l:\"~=\"===e?(\" \"+i.replace(H,\" \")+\" \").indexOf(l)>-1:\"|=\"===e&&(i===l||i.slice(0,l.length+1)===l+\"-\"))}},CHILD:function(t,e,l,n,i){var a=\"nth\"!==t.slice(0,3),r=\"last\"!==t.slice(-4),o=\"of-type\"===e;return 1===n&&0===i?function(t){return!!t.parentNode}:function(e,l,s){var c,u,d,h,f,p,g=a!==r?\"nextSibling\":\"previousSibling\",m=e.parentNode,b=o&&e.nodeName.toLowerCase(),v=!s&&!o,y=!1;if(m){if(a){for(;g;){for(h=e;h=h[g];)if(o?h.nodeName.toLowerCase()===b:1===h.nodeType)return!1;p=g=\"only\"===t&&!p&&\"nextSibling\"}return!0}if(p=[r?m.firstChild:m.lastChild],r&&v){for(y=(f=(c=(u=(d=(h=m)[x]||(h[x]={}))[h.uniqueID]||(d[h.uniqueID]={}))[t]||[])[0]===w&&c[1])&&c[2],h=f&&m.childNodes[f];h=++f&&h&&h[g]||(y=f=0)||p.pop();)if(1===h.nodeType&&++y&&h===e){u[t]=[w,f,y];break}}else if(v&&(y=f=(c=(u=(d=(h=e)[x]||(h[x]={}))[h.uniqueID]||(d[h.uniqueID]={}))[t]||[])[0]===w&&c[1]),!1===y)for(;(h=++f&&h&&h[g]||(y=f=0)||p.pop())&&((o?h.nodeName.toLowerCase()!==b:1!==h.nodeType)||!++y||(v&&((u=(d=h[x]||(h[x]={}))[h.uniqueID]||(d[h.uniqueID]={}))[t]=[w,y]),h!==e)););return(y-=i)===n||y%n==0&&y/n>=0}}},PSEUDO:function(t,e){var l,i=n.pseudos[t]||n.setFilters[t.toLowerCase()]||at.error(\"unsupported pseudo: \"+t);return i[x]?i(e):i.length>1?(l=[t,t,\"\",e],n.setFilters.hasOwnProperty(t.toLowerCase())?ot(function(t,l){for(var n,a=i(t,e),r=a.length;r--;)t[n=O(t,a[r])]=!(l[n]=a[r])}):function(t){return i(t,0,l)}):i}},pseudos:{not:ot(function(t){var e=[],l=[],n=o(t.replace(q,\"$1\"));return n[x]?ot(function(t,e,l,i){for(var a,r=n(t,null,i,[]),o=t.length;o--;)(a=r[o])&&(t[o]=!(e[o]=a))}):function(t,i,a){return e[0]=t,n(e,null,a,l),e[0]=null,!l.pop()}}),has:ot(function(t){return function(e){return at(t,e).length>0}}),contains:ot(function(t){return t=t.replace(J,tt),function(e){return(e.textContent||e.innerText||i(e)).indexOf(t)>-1}}),lang:ot(function(t){return W.test(t||\"\")||at.error(\"unsupported lang: \"+t),t=t.replace(J,tt).toLowerCase(),function(e){var l;do{if(l=g?e.lang:e.getAttribute(\"xml:lang\")||e.getAttribute(\"lang\"))return(l=l.toLowerCase())===t||0===l.indexOf(t+\"-\")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var l=t.location&&t.location.hash;return l&&l.slice(1)===e.id},root:function(t){return t===p},focus:function(t){return t===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(t.type||t.href||~t.tabIndex)},enabled:ft(!1),disabled:ft(!0),checked:function(t){var e=t.nodeName.toLowerCase();return\"input\"===e&&!!t.checked||\"option\"===e&&!!t.selected},selected:function(t){return t.parentNode&&t.parentNode.selectedIndex,!0===t.selected},empty:function(t){for(t=t.firstChild;t;t=t.nextSibling)if(t.nodeType<6)return!1;return!0},parent:function(t){return!n.pseudos.empty(t)},header:function(t){return G.test(t.nodeName)},input:function(t){return U.test(t.nodeName)},button:function(t){var e=t.nodeName.toLowerCase();return\"input\"===e&&\"button\"===t.type||\"button\"===e},text:function(t){var e;return\"input\"===t.nodeName.toLowerCase()&&\"text\"===t.type&&(null==(e=t.getAttribute(\"type\"))||\"text\"===e.toLowerCase())},first:pt(function(){return[0]}),last:pt(function(t,e){return[e-1]}),eq:pt(function(t,e,l){return[l<0?l+e:l]}),even:pt(function(t,e){for(var l=0;l<e;l+=2)t.push(l);return t}),odd:pt(function(t,e){for(var l=1;l<e;l+=2)t.push(l);return t}),lt:pt(function(t,e,l){for(var n=l<0?l+e:l;--n>=0;)t.push(n);return t}),gt:pt(function(t,e,l){for(var n=l<0?l+e:l;++n<e;)t.push(n);return t})}}).pseudos.nth=n.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})n.pseudos[e]=dt(e);for(e in{submit:!0,reset:!0})n.pseudos[e]=ht(e);function mt(){}function bt(t){for(var e=0,l=t.length,n=\"\";e<l;e++)n+=t[e].value;return n}function vt(t,e,l){var n=e.dir,i=e.next,a=i||n,r=l&&\"parentNode\"===a,o=S++;return e.first?function(e,l,i){for(;e=e[n];)if(1===e.nodeType||r)return t(e,l,i);return!1}:function(e,l,s){var c,u,d,h=[w,o];if(s){for(;e=e[n];)if((1===e.nodeType||r)&&t(e,l,s))return!0}else for(;e=e[n];)if(1===e.nodeType||r)if(u=(d=e[x]||(e[x]={}))[e.uniqueID]||(d[e.uniqueID]={}),i&&i===e.nodeName.toLowerCase())e=e[n]||e;else{if((c=u[a])&&c[0]===w&&c[1]===o)return h[2]=c[2];if(u[a]=h,h[2]=t(e,l,s))return!0}return!1}}function yt(t){return t.length>1?function(e,l,n){for(var i=t.length;i--;)if(!t[i](e,l,n))return!1;return!0}:t[0]}function xt(t,e,l,n,i){for(var a,r=[],o=0,s=t.length,c=null!=e;o<s;o++)(a=t[o])&&(l&&!l(a,n,i)||(r.push(a),c&&e.push(o)));return r}function _t(t,e,l,n,i,a){return n&&!n[x]&&(n=_t(n)),i&&!i[x]&&(i=_t(i,a)),ot(function(a,r,o,s){var c,u,d,h=[],f=[],p=r.length,g=a||function(t,e,l){for(var n=0,i=e.length;n<i;n++)at(t,e[n],l);return l}(e||\"*\",o.nodeType?[o]:o,[]),m=!t||!a&&e?g:xt(g,h,t,o,s),b=l?i||(a?t:p||n)?[]:r:m;if(l&&l(m,b,o,s),n)for(c=xt(b,f),n(c,[],o,s),u=c.length;u--;)(d=c[u])&&(b[f[u]]=!(m[f[u]]=d));if(a){if(i||t){if(i){for(c=[],u=b.length;u--;)(d=b[u])&&c.push(m[u]=d);i(null,b=[],c,s)}for(u=b.length;u--;)(d=b[u])&&(c=i?O(a,d):h[u])>-1&&(a[c]=!(r[c]=d))}}else b=xt(b===r?b.splice(p,b.length):b),i?i(null,r,b,s):I.apply(r,b)})}function wt(t){for(var e,l,i,a=t.length,r=n.relative[t[0].type],o=r||n.relative[\" \"],s=r?1:0,u=vt(function(t){return t===e},o,!0),d=vt(function(t){return O(e,t)>-1},o,!0),h=[function(t,l,n){var i=!r&&(n||l!==c)||((e=l).nodeType?u(t,l,n):d(t,l,n));return e=null,i}];s<a;s++)if(l=n.relative[t[s].type])h=[vt(yt(h),l)];else{if((l=n.filter[t[s].type].apply(null,t[s].matches))[x]){for(i=++s;i<a&&!n.relative[t[i].type];i++);return _t(s>1&&yt(h),s>1&&bt(t.slice(0,s-1).concat({value:\" \"===t[s-2].type?\"*\":\"\"})).replace(q,\"$1\"),l,s<i&&wt(t.slice(s,i)),i<a&&wt(t=t.slice(i)),i<a&&bt(t))}h.push(l)}return yt(h)}return mt.prototype=n.filters=n.pseudos,n.setFilters=new mt,r=at.tokenize=function(t,e){var l,i,a,r,o,s,c,u=C[t+\" \"];if(u)return e?0:u.slice(0);for(o=t,s=[],c=n.preFilter;o;){for(r in l&&!(i=Z.exec(o))||(i&&(o=o.slice(i[0].length)||o),s.push(a=[])),l=!1,(i=z.exec(o))&&(l=i.shift(),a.push({value:l,type:i[0].replace(q,\" \")}),o=o.slice(l.length)),n.filter)!(i=V[r].exec(o))||c[r]&&!(i=c[r](i))||(l=i.shift(),a.push({value:l,type:r,matches:i}),o=o.slice(l.length));if(!l)break}return e?o.length:o?at.error(t):C(t,s).slice(0)},o=at.compile=function(t,e){var l,i=[],a=[],o=T[t+\" \"];if(!o){for(e||(e=r(t)),l=e.length;l--;)(o=wt(e[l]))[x]?i.push(o):a.push(o);(o=T(t,function(t,e){var l=e.length>0,i=t.length>0,a=function(a,r,o,s,u){var d,p,m,b=0,v=\"0\",y=a&&[],x=[],_=c,S=a||i&&n.find.TAG(\"*\",u),k=w+=null==_?1:Math.random()||.1,C=S.length;for(u&&(c=r===f||r||u);v!==C&&null!=(d=S[v]);v++){if(i&&d){for(p=0,r||d.ownerDocument===f||(h(d),o=!g);m=t[p++];)if(m(d,r||f,o)){s.push(d);break}u&&(w=k)}l&&((d=!m&&d)&&b--,a&&y.push(d))}if(b+=v,l&&v!==b){for(p=0;m=e[p++];)m(y,x,r,o);if(a){if(b>0)for(;v--;)y[v]||x[v]||(x[v]=E.call(s));x=xt(x)}I.apply(s,x),u&&!a&&x.length>0&&b+e.length>1&&at.uniqueSort(s)}return u&&(w=k,c=_),y};return l?ot(a):a}(a,i))).selector=t}return o},s=at.select=function(t,e,l,i){var a,s,c,u,d,h=\"function\"==typeof t&&t,f=!i&&r(t=h.selector||t);if(l=l||[],1===f.length){if((s=f[0]=f[0].slice(0)).length>2&&\"ID\"===(c=s[0]).type&&9===e.nodeType&&g&&n.relative[s[1].type]){if(!(e=(n.find.ID(c.matches[0].replace(J,tt),e)||[])[0]))return l;h&&(e=e.parentNode),t=t.slice(s.shift().value.length)}for(a=V.needsContext.test(t)?0:s.length;a--&&(c=s[a],!n.relative[u=c.type]);)if((d=n.find[u])&&(i=d(c.matches[0].replace(J,tt),Q.test(s[0].type)&&gt(e.parentNode)||e))){if(s.splice(a,1),!(t=i.length&&bt(s)))return I.apply(l,i),l;break}}return(h||o(t,f))(i,e,!g,l,!e||Q.test(t)&&gt(e.parentNode)||e),l},l.sortStable=x.split(\"\").sort(D).join(\"\")===x,l.detectDuplicates=!!d,h(),l.sortDetached=st(function(t){return 1&t.compareDocumentPosition(f.createElement(\"fieldset\"))}),st(function(t){return t.innerHTML=\"<a href='#'></a>\",\"#\"===t.firstChild.getAttribute(\"href\")})||ct(\"type|href|height|width\",function(t,e,l){if(!l)return t.getAttribute(e,\"type\"===e.toLowerCase()?1:2)}),l.attributes&&st(function(t){return t.innerHTML=\"<input/>\",t.firstChild.setAttribute(\"value\",\"\"),\"\"===t.firstChild.getAttribute(\"value\")})||ct(\"value\",function(t,e,l){if(!l&&\"input\"===t.nodeName.toLowerCase())return t.defaultValue}),st(function(t){return null==t.getAttribute(\"disabled\")})||ct(L,function(t,e,l){var n;if(!l)return!0===t[e]?e.toLowerCase():(n=t.getAttributeNode(e))&&n.specified?n.value:null}),at}(l);S.find=T,S.expr=T.selectors,S.expr[\":\"]=S.expr.pseudos,S.uniqueSort=S.unique=T.uniqueSort,S.text=T.getText,S.isXMLDoc=T.isXML,S.contains=T.contains,S.escapeSelector=T.escape;var D=function(t,e,l){for(var n=[],i=void 0!==l;(t=t[e])&&9!==t.nodeType;)if(1===t.nodeType){if(i&&S(t).is(l))break;n.push(t)}return n},M=function(t,e){for(var l=[];t;t=t.nextSibling)1===t.nodeType&&t!==e&&l.push(t);return l},A=S.expr.match.needsContext;function E(t,e){return t.nodeName&&t.nodeName.toLowerCase()===e.toLowerCase()}var j=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function I(t,e,l){return v(e)?S.grep(t,function(t,n){return!!e.call(t,n,t)!==l}):e.nodeType?S.grep(t,function(t){return t===e!==l}):\"string\"!=typeof e?S.grep(t,function(t){return d.call(e,t)>-1!==l}):S.filter(e,t,l)}S.filter=function(t,e,l){var n=e[0];return l&&(t=\":not(\"+t+\")\"),1===e.length&&1===n.nodeType?S.find.matchesSelector(n,t)?[n]:[]:S.find.matches(t,S.grep(e,function(t){return 1===t.nodeType}))},S.fn.extend({find:function(t){var e,l,n=this.length,i=this;if(\"string\"!=typeof t)return this.pushStack(S(t).filter(function(){for(e=0;e<n;e++)if(S.contains(i[e],this))return!0}));for(l=this.pushStack([]),e=0;e<n;e++)S.find(t,i[e],l);return n>1?S.uniqueSort(l):l},filter:function(t){return this.pushStack(I(this,t||[],!1))},not:function(t){return this.pushStack(I(this,t||[],!0))},is:function(t){return!!I(this,\"string\"==typeof t&&A.test(t)?S(t):t||[],!1).length}});var P,O=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(S.fn.init=function(t,e,l){var n,i;if(!t)return this;if(l=l||P,\"string\"==typeof t){if(!(n=\"<\"===t[0]&&\">\"===t[t.length-1]&&t.length>=3?[null,t,null]:O.exec(t))||!n[1]&&e)return!e||e.jquery?(e||l).find(t):this.constructor(e).find(t);if(n[1]){if(e=e instanceof S?e[0]:e,S.merge(this,S.parseHTML(n[1],e&&e.nodeType?e.ownerDocument||e:r,!0)),j.test(n[1])&&S.isPlainObject(e))for(n in e)v(this[n])?this[n](e[n]):this.attr(n,e[n]);return this}return(i=r.getElementById(n[2]))&&(this[0]=i,this.length=1),this}return t.nodeType?(this[0]=t,this.length=1,this):v(t)?void 0!==l.ready?l.ready(t):t(S):S.makeArray(t,this)}).prototype=S.fn,P=S(r);var L=/^(?:parents|prev(?:Until|All))/,R={children:!0,contents:!0,next:!0,prev:!0};function N(t,e){for(;(t=t[e])&&1!==t.nodeType;);return t}S.fn.extend({has:function(t){var e=S(t,this),l=e.length;return this.filter(function(){for(var t=0;t<l;t++)if(S.contains(this,e[t]))return!0})},closest:function(t,e){var l,n=0,i=this.length,a=[],r=\"string\"!=typeof t&&S(t);if(!A.test(t))for(;n<i;n++)for(l=this[n];l&&l!==e;l=l.parentNode)if(l.nodeType<11&&(r?r.index(l)>-1:1===l.nodeType&&S.find.matchesSelector(l,t))){a.push(l);break}return this.pushStack(a.length>1?S.uniqueSort(a):a)},index:function(t){return t?\"string\"==typeof t?d.call(S(t),this[0]):d.call(this,t.jquery?t[0]:t):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(t,e){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(t,e))))},addBack:function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}}),S.each({parent:function(t){var e=t.parentNode;return e&&11!==e.nodeType?e:null},parents:function(t){return D(t,\"parentNode\")},parentsUntil:function(t,e,l){return D(t,\"parentNode\",l)},next:function(t){return N(t,\"nextSibling\")},prev:function(t){return N(t,\"previousSibling\")},nextAll:function(t){return D(t,\"nextSibling\")},prevAll:function(t){return D(t,\"previousSibling\")},nextUntil:function(t,e,l){return D(t,\"nextSibling\",l)},prevUntil:function(t,e,l){return D(t,\"previousSibling\",l)},siblings:function(t){return M((t.parentNode||{}).firstChild,t)},children:function(t){return M(t.firstChild)},contents:function(t){return E(t,\"iframe\")?t.contentDocument:(E(t,\"template\")&&(t=t.content||t),S.merge([],t.childNodes))}},function(t,e){S.fn[t]=function(l,n){var i=S.map(this,e,l);return\"Until\"!==t.slice(-5)&&(n=l),n&&\"string\"==typeof n&&(i=S.filter(n,i)),this.length>1&&(R[t]||S.uniqueSort(i),L.test(t)&&i.reverse()),this.pushStack(i)}});var F=/[^\\x20\\t\\r\\n\\f]+/g;function B(t){return t}function H(t){throw t}function q(t,e,l,n){var i;try{t&&v(i=t.promise)?i.call(t).done(e).fail(l):t&&v(i=t.then)?i.call(t,e,l):e.apply(void 0,[t].slice(n))}catch(t){l.apply(void 0,[t])}}S.Callbacks=function(t){t=\"string\"==typeof t?function(t){var e={};return S.each(t.match(F)||[],function(t,l){e[l]=!0}),e}(t):S.extend({},t);var e,l,n,i,a=[],r=[],o=-1,s=function(){for(i=i||t.once,n=e=!0;r.length;o=-1)for(l=r.shift();++o<a.length;)!1===a[o].apply(l[0],l[1])&&t.stopOnFalse&&(o=a.length,l=!1);t.memory||(l=!1),e=!1,i&&(a=l?[]:\"\")},c={add:function(){return a&&(l&&!e&&(o=a.length-1,r.push(l)),function e(l){S.each(l,function(l,n){v(n)?t.unique&&c.has(n)||a.push(n):n&&n.length&&\"string\"!==w(n)&&e(n)})}(arguments),l&&!e&&s()),this},remove:function(){return S.each(arguments,function(t,e){for(var l;(l=S.inArray(e,a,l))>-1;)a.splice(l,1),l<=o&&o--}),this},has:function(t){return t?S.inArray(t,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=r=[],a=l=\"\",this},disabled:function(){return!a},lock:function(){return i=r=[],l||e||(a=l=\"\"),this},locked:function(){return!!i},fireWith:function(t,l){return i||(l=[t,(l=l||[]).slice?l.slice():l],r.push(l),e||s()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!n}};return c},S.extend({Deferred:function(t){var e=[[\"notify\",\"progress\",S.Callbacks(\"memory\"),S.Callbacks(\"memory\"),2],[\"resolve\",\"done\",S.Callbacks(\"once memory\"),S.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",S.Callbacks(\"once memory\"),S.Callbacks(\"once memory\"),1,\"rejected\"]],n=\"pending\",i={state:function(){return n},always:function(){return a.done(arguments).fail(arguments),this},catch:function(t){return i.then(null,t)},pipe:function(){var t=arguments;return S.Deferred(function(l){S.each(e,function(e,n){var i=v(t[n[4]])&&t[n[4]];a[n[1]](function(){var t=i&&i.apply(this,arguments);t&&v(t.promise)?t.promise().progress(l.notify).done(l.resolve).fail(l.reject):l[n[0]+\"With\"](this,i?[t]:arguments)})}),t=null}).promise()},then:function(t,n,i){var a=0;function r(t,e,n,i){return function(){var o=this,s=arguments,c=function(){var l,c;if(!(t<a)){if((l=n.apply(o,s))===e.promise())throw new TypeError(\"Thenable self-resolution\");c=l&&(\"object\"==typeof l||\"function\"==typeof l)&&l.then,v(c)?i?c.call(l,r(a,e,B,i),r(a,e,H,i)):(a++,c.call(l,r(a,e,B,i),r(a,e,H,i),r(a,e,B,e.notifyWith))):(n!==B&&(o=void 0,s=[l]),(i||e.resolveWith)(o,s))}},u=i?c:function(){try{c()}catch(l){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(l,u.stackTrace),t+1>=a&&(n!==H&&(o=void 0,s=[l]),e.rejectWith(o,s))}};t?u():(S.Deferred.getStackHook&&(u.stackTrace=S.Deferred.getStackHook()),l.setTimeout(u))}}return S.Deferred(function(l){e[0][3].add(r(0,l,v(i)?i:B,l.notifyWith)),e[1][3].add(r(0,l,v(t)?t:B)),e[2][3].add(r(0,l,v(n)?n:H))}).promise()},promise:function(t){return null!=t?S.extend(t,i):i}},a={};return S.each(e,function(t,l){var r=l[2],o=l[5];i[l[1]]=r.add,o&&r.add(function(){n=o},e[3-t][2].disable,e[3-t][3].disable,e[0][2].lock,e[0][3].lock),r.add(l[3].fire),a[l[0]]=function(){return a[l[0]+\"With\"](this===a?void 0:this,arguments),this},a[l[0]+\"With\"]=r.fireWith}),i.promise(a),t&&t.call(a,a),a},when:function(t){var e=arguments.length,l=e,n=Array(l),i=s.call(arguments),a=S.Deferred(),r=function(t){return function(l){n[t]=this,i[t]=arguments.length>1?s.call(arguments):l,--e||a.resolveWith(n,i)}};if(e<=1&&(q(t,a.done(r(l)).resolve,a.reject,!e),\"pending\"===a.state()||v(i[l]&&i[l].then)))return a.then();for(;l--;)q(i[l],r(l),a.reject);return a.promise()}});var Z=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(t,e){l.console&&l.console.warn&&t&&Z.test(t.name)&&l.console.warn(\"jQuery.Deferred exception: \"+t.message,t.stack,e)},S.readyException=function(t){l.setTimeout(function(){throw t})};var z=S.Deferred();function $(){r.removeEventListener(\"DOMContentLoaded\",$),l.removeEventListener(\"load\",$),S.ready()}S.fn.ready=function(t){return z.then(t).catch(function(t){S.readyException(t)}),this},S.extend({isReady:!1,readyWait:1,ready:function(t){(!0===t?--S.readyWait:S.isReady)||(S.isReady=!0,!0!==t&&--S.readyWait>0||z.resolveWith(r,[S]))}}),S.ready.then=z.then,\"complete\"===r.readyState||\"loading\"!==r.readyState&&!r.documentElement.doScroll?l.setTimeout(S.ready):(r.addEventListener(\"DOMContentLoaded\",$),l.addEventListener(\"load\",$));var Y=function(t,e,l,n,i,a,r){var o=0,s=t.length,c=null==l;if(\"object\"===w(l))for(o in i=!0,l)Y(t,e,o,l[o],!0,a,r);else if(void 0!==n&&(i=!0,v(n)||(r=!0),c&&(r?(e.call(t,n),e=null):(c=e,e=function(t,e,l){return c.call(S(t),l)})),e))for(;o<s;o++)e(t[o],l,r?n:n.call(t[o],o,e(t[o],l)));return i?t:c?e.call(t):s?e(t[0],l):a},W=/^-ms-/,V=/-([a-z])/g;function U(t,e){return e.toUpperCase()}function G(t){return t.replace(W,\"ms-\").replace(V,U)}var X=function(t){return 1===t.nodeType||9===t.nodeType||!+t.nodeType};function K(){this.expando=S.expando+K.uid++}K.uid=1,K.prototype={cache:function(t){var e=t[this.expando];return e||(e={},X(t)&&(t.nodeType?t[this.expando]=e:Object.defineProperty(t,this.expando,{value:e,configurable:!0}))),e},set:function(t,e,l){var n,i=this.cache(t);if(\"string\"==typeof e)i[G(e)]=l;else for(n in e)i[G(n)]=e[n];return i},get:function(t,e){return void 0===e?this.cache(t):t[this.expando]&&t[this.expando][G(e)]},access:function(t,e,l){return void 0===e||e&&\"string\"==typeof e&&void 0===l?this.get(t,e):(this.set(t,e,l),void 0!==l?l:e)},remove:function(t,e){var l,n=t[this.expando];if(void 0!==n){if(void 0!==e){l=(e=Array.isArray(e)?e.map(G):(e=G(e))in n?[e]:e.match(F)||[]).length;for(;l--;)delete n[e[l]]}(void 0===e||S.isEmptyObject(n))&&(t.nodeType?t[this.expando]=void 0:delete t[this.expando])}},hasData:function(t){var e=t[this.expando];return void 0!==e&&!S.isEmptyObject(e)}};var Q=new K,J=new K,tt=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,et=/[A-Z]/g;function lt(t,e,l){var n;if(void 0===l&&1===t.nodeType)if(n=\"data-\"+e.replace(et,\"-$&\").toLowerCase(),\"string\"==typeof(l=t.getAttribute(n))){try{l=function(t){return\"true\"===t||\"false\"!==t&&(\"null\"===t?null:t===+t+\"\"?+t:tt.test(t)?JSON.parse(t):t)}(l)}catch(t){}J.set(t,e,l)}else l=void 0;return l}S.extend({hasData:function(t){return J.hasData(t)||Q.hasData(t)},data:function(t,e,l){return J.access(t,e,l)},removeData:function(t,e){J.remove(t,e)},_data:function(t,e,l){return Q.access(t,e,l)},_removeData:function(t,e){Q.remove(t,e)}}),S.fn.extend({data:function(t,e){var l,n,i,a=this[0],r=a&&a.attributes;if(void 0===t){if(this.length&&(i=J.get(a),1===a.nodeType&&!Q.get(a,\"hasDataAttrs\"))){for(l=r.length;l--;)r[l]&&0===(n=r[l].name).indexOf(\"data-\")&&(n=G(n.slice(5)),lt(a,n,i[n]));Q.set(a,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof t?this.each(function(){J.set(this,t)}):Y(this,function(e){var l;if(a&&void 0===e)return void 0!==(l=J.get(a,t))?l:void 0!==(l=lt(a,t))?l:void 0;this.each(function(){J.set(this,t,e)})},null,e,arguments.length>1,null,!0)},removeData:function(t){return this.each(function(){J.remove(this,t)})}}),S.extend({queue:function(t,e,l){var n;if(t)return e=(e||\"fx\")+\"queue\",n=Q.get(t,e),l&&(!n||Array.isArray(l)?n=Q.access(t,e,S.makeArray(l)):n.push(l)),n||[]},dequeue:function(t,e){e=e||\"fx\";var l=S.queue(t,e),n=l.length,i=l.shift(),a=S._queueHooks(t,e);\"inprogress\"===i&&(i=l.shift(),n--),i&&(\"fx\"===e&&l.unshift(\"inprogress\"),delete a.stop,i.call(t,function(){S.dequeue(t,e)},a)),!n&&a&&a.empty.fire()},_queueHooks:function(t,e){var l=e+\"queueHooks\";return Q.get(t,l)||Q.access(t,l,{empty:S.Callbacks(\"once memory\").add(function(){Q.remove(t,[e+\"queue\",l])})})}}),S.fn.extend({queue:function(t,e){var l=2;return\"string\"!=typeof t&&(e=t,t=\"fx\",l--),arguments.length<l?S.queue(this[0],t):void 0===e?this:this.each(function(){var l=S.queue(this,t,e);S._queueHooks(this,t),\"fx\"===t&&\"inprogress\"!==l[0]&&S.dequeue(this,t)})},dequeue:function(t){return this.each(function(){S.dequeue(this,t)})},clearQueue:function(t){return this.queue(t||\"fx\",[])},promise:function(t,e){var l,n=1,i=S.Deferred(),a=this,r=this.length,o=function(){--n||i.resolveWith(a,[a])};for(\"string\"!=typeof t&&(e=t,t=void 0),t=t||\"fx\";r--;)(l=Q.get(a[r],t+\"queueHooks\"))&&l.empty&&(n++,l.empty.add(o));return o(),i.promise(e)}});var nt=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,it=new RegExp(\"^(?:([+-])=|)(\"+nt+\")([a-z%]*)$\",\"i\"),at=[\"Top\",\"Right\",\"Bottom\",\"Left\"],rt=function(t,e){return\"none\"===(t=e||t).style.display||\"\"===t.style.display&&S.contains(t.ownerDocument,t)&&\"none\"===S.css(t,\"display\")},ot=function(t,e,l,n){var i,a,r={};for(a in e)r[a]=t.style[a],t.style[a]=e[a];for(a in i=l.apply(t,n||[]),e)t.style[a]=r[a];return i};function st(t,e,l,n){var i,a,r=20,o=n?function(){return n.cur()}:function(){return S.css(t,e,\"\")},s=o(),c=l&&l[3]||(S.cssNumber[e]?\"\":\"px\"),u=(S.cssNumber[e]||\"px\"!==c&&+s)&&it.exec(S.css(t,e));if(u&&u[3]!==c){for(s/=2,c=c||u[3],u=+s||1;r--;)S.style(t,e,u+c),(1-a)*(1-(a=o()/s||.5))<=0&&(r=0),u/=a;u*=2,S.style(t,e,u+c),l=l||[]}return l&&(u=+u||+s||0,i=l[1]?u+(l[1]+1)*l[2]:+l[2],n&&(n.unit=c,n.start=u,n.end=i)),i}var ct={};function ut(t){var e,l=t.ownerDocument,n=t.nodeName,i=ct[n];return i||(e=l.body.appendChild(l.createElement(n)),i=S.css(e,\"display\"),e.parentNode.removeChild(e),\"none\"===i&&(i=\"block\"),ct[n]=i,i)}function dt(t,e){for(var l,n,i=[],a=0,r=t.length;a<r;a++)(n=t[a]).style&&(l=n.style.display,e?(\"none\"===l&&(i[a]=Q.get(n,\"display\")||null,i[a]||(n.style.display=\"\")),\"\"===n.style.display&&rt(n)&&(i[a]=ut(n))):\"none\"!==l&&(i[a]=\"none\",Q.set(n,\"display\",l)));for(a=0;a<r;a++)null!=i[a]&&(t[a].style.display=i[a]);return t}S.fn.extend({show:function(){return dt(this,!0)},hide:function(){return dt(this)},toggle:function(t){return\"boolean\"==typeof t?t?this.show():this.hide():this.each(function(){rt(this)?S(this).show():S(this).hide()})}});var ht=/^(?:checkbox|radio)$/i,ft=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,pt=/^$|^module$|\\/(?:java|ecma)script/i,gt={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};function mt(t,e){var l;return l=void 0!==t.getElementsByTagName?t.getElementsByTagName(e||\"*\"):void 0!==t.querySelectorAll?t.querySelectorAll(e||\"*\"):[],void 0===e||e&&E(t,e)?S.merge([t],l):l}function bt(t,e){for(var l=0,n=t.length;l<n;l++)Q.set(t[l],\"globalEval\",!e||Q.get(e[l],\"globalEval\"))}gt.optgroup=gt.option,gt.tbody=gt.tfoot=gt.colgroup=gt.caption=gt.thead,gt.th=gt.td;var vt,yt,xt=/<|&#?\\w+;/;function _t(t,e,l,n,i){for(var a,r,o,s,c,u,d=e.createDocumentFragment(),h=[],f=0,p=t.length;f<p;f++)if((a=t[f])||0===a)if(\"object\"===w(a))S.merge(h,a.nodeType?[a]:a);else if(xt.test(a)){for(r=r||d.appendChild(e.createElement(\"div\")),o=(ft.exec(a)||[\"\",\"\"])[1].toLowerCase(),s=gt[o]||gt._default,r.innerHTML=s[1]+S.htmlPrefilter(a)+s[2],u=s[0];u--;)r=r.lastChild;S.merge(h,r.childNodes),(r=d.firstChild).textContent=\"\"}else h.push(e.createTextNode(a));for(d.textContent=\"\",f=0;a=h[f++];)if(n&&S.inArray(a,n)>-1)i&&i.push(a);else if(c=S.contains(a.ownerDocument,a),r=mt(d.appendChild(a),\"script\"),c&&bt(r),l)for(u=0;a=r[u++];)pt.test(a.type||\"\")&&l.push(a);return d}vt=r.createDocumentFragment().appendChild(r.createElement(\"div\")),(yt=r.createElement(\"input\")).setAttribute(\"type\",\"radio\"),yt.setAttribute(\"checked\",\"checked\"),yt.setAttribute(\"name\",\"t\"),vt.appendChild(yt),b.checkClone=vt.cloneNode(!0).cloneNode(!0).lastChild.checked,vt.innerHTML=\"<textarea>x</textarea>\",b.noCloneChecked=!!vt.cloneNode(!0).lastChild.defaultValue;var wt=r.documentElement,St=/^key/,kt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ct=/^([^.]*)(?:\\.(.+)|)/;function Tt(){return!0}function Dt(){return!1}function Mt(){try{return r.activeElement}catch(t){}}function At(t,e,l,n,i,a){var r,o;if(\"object\"==typeof e){for(o in\"string\"!=typeof l&&(n=n||l,l=void 0),e)At(t,o,l,n,e[o],a);return t}if(null==n&&null==i?(i=l,n=l=void 0):null==i&&(\"string\"==typeof l?(i=n,n=void 0):(i=n,n=l,l=void 0)),!1===i)i=Dt;else if(!i)return t;return 1===a&&(r=i,(i=function(t){return S().off(t),r.apply(this,arguments)}).guid=r.guid||(r.guid=S.guid++)),t.each(function(){S.event.add(this,e,i,n,l)})}S.event={global:{},add:function(t,e,l,n,i){var a,r,o,s,c,u,d,h,f,p,g,m=Q.get(t);if(m)for(l.handler&&(l=(a=l).handler,i=a.selector),i&&S.find.matchesSelector(wt,i),l.guid||(l.guid=S.guid++),(s=m.events)||(s=m.events={}),(r=m.handle)||(r=m.handle=function(e){return void 0!==S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),c=(e=(e||\"\").match(F)||[\"\"]).length;c--;)f=g=(o=Ct.exec(e[c])||[])[1],p=(o[2]||\"\").split(\".\").sort(),f&&(d=S.event.special[f]||{},f=(i?d.delegateType:d.bindType)||f,d=S.event.special[f]||{},u=S.extend({type:f,origType:g,data:n,handler:l,guid:l.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:p.join(\".\")},a),(h=s[f])||((h=s[f]=[]).delegateCount=0,d.setup&&!1!==d.setup.call(t,n,p,r)||t.addEventListener&&t.addEventListener(f,r)),d.add&&(d.add.call(t,u),u.handler.guid||(u.handler.guid=l.guid)),i?h.splice(h.delegateCount++,0,u):h.push(u),S.event.global[f]=!0)},remove:function(t,e,l,n,i){var a,r,o,s,c,u,d,h,f,p,g,m=Q.hasData(t)&&Q.get(t);if(m&&(s=m.events)){for(c=(e=(e||\"\").match(F)||[\"\"]).length;c--;)if(f=g=(o=Ct.exec(e[c])||[])[1],p=(o[2]||\"\").split(\".\").sort(),f){for(d=S.event.special[f]||{},h=s[f=(n?d.delegateType:d.bindType)||f]||[],o=o[2]&&new RegExp(\"(^|\\\\.)\"+p.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),r=a=h.length;a--;)u=h[a],!i&&g!==u.origType||l&&l.guid!==u.guid||o&&!o.test(u.namespace)||n&&n!==u.selector&&(\"**\"!==n||!u.selector)||(h.splice(a,1),u.selector&&h.delegateCount--,d.remove&&d.remove.call(t,u));r&&!h.length&&(d.teardown&&!1!==d.teardown.call(t,p,m.handle)||S.removeEvent(t,f,m.handle),delete s[f])}else for(f in s)S.event.remove(t,f+e[c],l,n,!0);S.isEmptyObject(s)&&Q.remove(t,\"handle events\")}},dispatch:function(t){var e,l,n,i,a,r,o=S.event.fix(t),s=new Array(arguments.length),c=(Q.get(this,\"events\")||{})[o.type]||[],u=S.event.special[o.type]||{};for(s[0]=o,e=1;e<arguments.length;e++)s[e]=arguments[e];if(o.delegateTarget=this,!u.preDispatch||!1!==u.preDispatch.call(this,o)){for(r=S.event.handlers.call(this,o,c),e=0;(i=r[e++])&&!o.isPropagationStopped();)for(o.currentTarget=i.elem,l=0;(a=i.handlers[l++])&&!o.isImmediatePropagationStopped();)o.rnamespace&&!o.rnamespace.test(a.namespace)||(o.handleObj=a,o.data=a.data,void 0!==(n=((S.event.special[a.origType]||{}).handle||a.handler).apply(i.elem,s))&&!1===(o.result=n)&&(o.preventDefault(),o.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,o),o.result}},handlers:function(t,e){var l,n,i,a,r,o=[],s=e.delegateCount,c=t.target;if(s&&c.nodeType&&!(\"click\"===t.type&&t.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&(\"click\"!==t.type||!0!==c.disabled)){for(a=[],r={},l=0;l<s;l++)void 0===r[i=(n=e[l]).selector+\" \"]&&(r[i]=n.needsContext?S(i,this).index(c)>-1:S.find(i,this,null,[c]).length),r[i]&&a.push(n);a.length&&o.push({elem:c,handlers:a})}return c=this,s<e.length&&o.push({elem:c,handlers:e.slice(s)}),o},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(t){return t[S.expando]?t:new S.Event(t)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Mt()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===Mt()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&E(this,\"input\"))return this.click(),!1},_default:function(t){return E(t.target,\"a\")}},beforeunload:{postDispatch:function(t){void 0!==t.result&&t.originalEvent&&(t.originalEvent.returnValue=t.result)}}}},S.removeEvent=function(t,e,l){t.removeEventListener&&t.removeEventListener(e,l)},S.Event=function(t,e){if(!(this instanceof S.Event))return new S.Event(t,e);t&&t.type?(this.originalEvent=t,this.type=t.type,this.isDefaultPrevented=t.defaultPrevented||void 0===t.defaultPrevented&&!1===t.returnValue?Tt:Dt,this.target=t.target&&3===t.target.nodeType?t.target.parentNode:t.target,this.currentTarget=t.currentTarget,this.relatedTarget=t.relatedTarget):this.type=t,e&&S.extend(this,e),this.timeStamp=t&&t.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Dt,isPropagationStopped:Dt,isImmediatePropagationStopped:Dt,isSimulated:!1,preventDefault:function(){var t=this.originalEvent;this.isDefaultPrevented=Tt,t&&!this.isSimulated&&t.preventDefault()},stopPropagation:function(){var t=this.originalEvent;this.isPropagationStopped=Tt,t&&!this.isSimulated&&t.stopPropagation()},stopImmediatePropagation:function(){var t=this.originalEvent;this.isImmediatePropagationStopped=Tt,t&&!this.isSimulated&&t.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(t){var e=t.button;return null==t.which&&St.test(t.type)?null!=t.charCode?t.charCode:t.keyCode:!t.which&&void 0!==e&&kt.test(t.type)?1&e?1:2&e?3:4&e?2:0:t.which}},S.event.addProp),S.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(t,e){S.event.special[t]={delegateType:e,bindType:e,handle:function(t){var l,n=t.relatedTarget,i=t.handleObj;return n&&(n===this||S.contains(this,n))||(t.type=i.origType,l=i.handler.apply(this,arguments),t.type=e),l}}}),S.fn.extend({on:function(t,e,l,n){return At(this,t,e,l,n)},one:function(t,e,l,n){return At(this,t,e,l,n,1)},off:function(t,e,l){var n,i;if(t&&t.preventDefault&&t.handleObj)return n=t.handleObj,S(t.delegateTarget).off(n.namespace?n.origType+\".\"+n.namespace:n.origType,n.selector,n.handler),this;if(\"object\"==typeof t){for(i in t)this.off(i,e,t[i]);return this}return!1!==e&&\"function\"!=typeof e||(l=e,e=void 0),!1===l&&(l=Dt),this.each(function(){S.event.remove(this,t,l,e)})}});var Et=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,jt=/<script|<style|<link/i,It=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Pt=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function Ot(t,e){return E(t,\"table\")&&E(11!==e.nodeType?e:e.firstChild,\"tr\")&&S(t).children(\"tbody\")[0]||t}function Lt(t){return t.type=(null!==t.getAttribute(\"type\"))+\"/\"+t.type,t}function Rt(t){return\"true/\"===(t.type||\"\").slice(0,5)?t.type=t.type.slice(5):t.removeAttribute(\"type\"),t}function Nt(t,e){var l,n,i,a,r,o,s,c;if(1===e.nodeType){if(Q.hasData(t)&&(a=Q.access(t),r=Q.set(e,a),c=a.events))for(i in delete r.handle,r.events={},c)for(l=0,n=c[i].length;l<n;l++)S.event.add(e,i,c[i][l]);J.hasData(t)&&(o=J.access(t),s=S.extend({},o),J.set(e,s))}}function Ft(t,e,l,n){e=c.apply([],e);var i,a,r,o,s,u,d=0,h=t.length,f=h-1,p=e[0],g=v(p);if(g||h>1&&\"string\"==typeof p&&!b.checkClone&&It.test(p))return t.each(function(i){var a=t.eq(i);g&&(e[0]=p.call(this,i,a.html())),Ft(a,e,l,n)});if(h&&(a=(i=_t(e,t[0].ownerDocument,!1,t,n)).firstChild,1===i.childNodes.length&&(i=a),a||n)){for(o=(r=S.map(mt(i,\"script\"),Lt)).length;d<h;d++)s=i,d!==f&&(s=S.clone(s,!0,!0),o&&S.merge(r,mt(s,\"script\"))),l.call(t[d],s,d);if(o)for(u=r[r.length-1].ownerDocument,S.map(r,Rt),d=0;d<o;d++)s=r[d],pt.test(s.type||\"\")&&!Q.access(s,\"globalEval\")&&S.contains(u,s)&&(s.src&&\"module\"!==(s.type||\"\").toLowerCase()?S._evalUrl&&S._evalUrl(s.src):_(s.textContent.replace(Pt,\"\"),u,s))}return t}function Bt(t,e,l){for(var n,i=e?S.filter(e,t):t,a=0;null!=(n=i[a]);a++)l||1!==n.nodeType||S.cleanData(mt(n)),n.parentNode&&(l&&S.contains(n.ownerDocument,n)&&bt(mt(n,\"script\")),n.parentNode.removeChild(n));return t}S.extend({htmlPrefilter:function(t){return t.replace(Et,\"<$1></$2>\")},clone:function(t,e,l){var n,i,a,r,o,s,c,u=t.cloneNode(!0),d=S.contains(t.ownerDocument,t);if(!(b.noCloneChecked||1!==t.nodeType&&11!==t.nodeType||S.isXMLDoc(t)))for(r=mt(u),n=0,i=(a=mt(t)).length;n<i;n++)o=a[n],s=r[n],c=void 0,\"input\"===(c=s.nodeName.toLowerCase())&&ht.test(o.type)?s.checked=o.checked:\"input\"!==c&&\"textarea\"!==c||(s.defaultValue=o.defaultValue);if(e)if(l)for(a=a||mt(t),r=r||mt(u),n=0,i=a.length;n<i;n++)Nt(a[n],r[n]);else Nt(t,u);return(r=mt(u,\"script\")).length>0&&bt(r,!d&&mt(t,\"script\")),u},cleanData:function(t){for(var e,l,n,i=S.event.special,a=0;void 0!==(l=t[a]);a++)if(X(l)){if(e=l[Q.expando]){if(e.events)for(n in e.events)i[n]?S.event.remove(l,n):S.removeEvent(l,n,e.handle);l[Q.expando]=void 0}l[J.expando]&&(l[J.expando]=void 0)}}}),S.fn.extend({detach:function(t){return Bt(this,t,!0)},remove:function(t){return Bt(this,t)},text:function(t){return Y(this,function(t){return void 0===t?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=t)})},null,t,arguments.length)},append:function(){return Ft(this,arguments,function(t){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Ot(this,t).appendChild(t)})},prepend:function(){return Ft(this,arguments,function(t){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var e=Ot(this,t);e.insertBefore(t,e.firstChild)}})},before:function(){return Ft(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this)})},after:function(){return Ft(this,arguments,function(t){this.parentNode&&this.parentNode.insertBefore(t,this.nextSibling)})},empty:function(){for(var t,e=0;null!=(t=this[e]);e++)1===t.nodeType&&(S.cleanData(mt(t,!1)),t.textContent=\"\");return this},clone:function(t,e){return t=null!=t&&t,e=null==e?t:e,this.map(function(){return S.clone(this,t,e)})},html:function(t){return Y(this,function(t){var e=this[0]||{},l=0,n=this.length;if(void 0===t&&1===e.nodeType)return e.innerHTML;if(\"string\"==typeof t&&!jt.test(t)&&!gt[(ft.exec(t)||[\"\",\"\"])[1].toLowerCase()]){t=S.htmlPrefilter(t);try{for(;l<n;l++)1===(e=this[l]||{}).nodeType&&(S.cleanData(mt(e,!1)),e.innerHTML=t);e=0}catch(t){}}e&&this.empty().append(t)},null,t,arguments.length)},replaceWith:function(){var t=[];return Ft(this,arguments,function(e){var l=this.parentNode;S.inArray(this,t)<0&&(S.cleanData(mt(this)),l&&l.replaceChild(e,this))},t)}}),S.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(t,e){S.fn[t]=function(t){for(var l,n=[],i=S(t),a=i.length-1,r=0;r<=a;r++)l=r===a?this:this.clone(!0),S(i[r])[e](l),u.apply(n,l.get());return this.pushStack(n)}});var Ht=new RegExp(\"^(\"+nt+\")(?!px)[a-z%]+$\",\"i\"),qt=function(t){var e=t.ownerDocument.defaultView;return e&&e.opener||(e=l),e.getComputedStyle(t)},Zt=new RegExp(at.join(\"|\"),\"i\");function zt(t,e,l){var n,i,a,r,o=t.style;return(l=l||qt(t))&&(\"\"!==(r=l.getPropertyValue(e)||l[e])||S.contains(t.ownerDocument,t)||(r=S.style(t,e)),!b.pixelBoxStyles()&&Ht.test(r)&&Zt.test(e)&&(n=o.width,i=o.minWidth,a=o.maxWidth,o.minWidth=o.maxWidth=o.width=r,r=l.width,o.width=n,o.minWidth=i,o.maxWidth=a)),void 0!==r?r+\"\":r}function $t(t,e){return{get:function(){if(!t())return(this.get=e).apply(this,arguments);delete this.get}}}!function(){function t(){if(u){c.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",u.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",wt.appendChild(c).appendChild(u);var t=l.getComputedStyle(u);n=\"1%\"!==t.top,s=12===e(t.marginLeft),u.style.right=\"60%\",o=36===e(t.right),i=36===e(t.width),u.style.position=\"absolute\",a=36===u.offsetWidth||\"absolute\",wt.removeChild(c),u=null}}function e(t){return Math.round(parseFloat(t))}var n,i,a,o,s,c=r.createElement(\"div\"),u=r.createElement(\"div\");u.style&&(u.style.backgroundClip=\"content-box\",u.cloneNode(!0).style.backgroundClip=\"\",b.clearCloneStyle=\"content-box\"===u.style.backgroundClip,S.extend(b,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),o},pixelPosition:function(){return t(),n},reliableMarginLeft:function(){return t(),s},scrollboxSize:function(){return t(),a}}))}();var Yt=/^(none|table(?!-c[ea]).+)/,Wt=/^--/,Vt={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Ut={letterSpacing:\"0\",fontWeight:\"400\"},Gt=[\"Webkit\",\"Moz\",\"ms\"],Xt=r.createElement(\"div\").style;function Kt(t){var e=S.cssProps[t];return e||(e=S.cssProps[t]=function(t){if(t in Xt)return t;for(var e=t[0].toUpperCase()+t.slice(1),l=Gt.length;l--;)if((t=Gt[l]+e)in Xt)return t}(t)||t),e}function Qt(t,e,l){var n=it.exec(e);return n?Math.max(0,n[2]-(l||0))+(n[3]||\"px\"):e}function Jt(t,e,l,n,i,a){var r=\"width\"===e?1:0,o=0,s=0;if(l===(n?\"border\":\"content\"))return 0;for(;r<4;r+=2)\"margin\"===l&&(s+=S.css(t,l+at[r],!0,i)),n?(\"content\"===l&&(s-=S.css(t,\"padding\"+at[r],!0,i)),\"margin\"!==l&&(s-=S.css(t,\"border\"+at[r]+\"Width\",!0,i))):(s+=S.css(t,\"padding\"+at[r],!0,i),\"padding\"!==l?s+=S.css(t,\"border\"+at[r]+\"Width\",!0,i):o+=S.css(t,\"border\"+at[r]+\"Width\",!0,i));return!n&&a>=0&&(s+=Math.max(0,Math.ceil(t[\"offset\"+e[0].toUpperCase()+e.slice(1)]-a-s-o-.5))),s}function te(t,e,l){var n=qt(t),i=zt(t,e,n),a=\"border-box\"===S.css(t,\"boxSizing\",!1,n),r=a;if(Ht.test(i)){if(!l)return i;i=\"auto\"}return r=r&&(b.boxSizingReliable()||i===t.style[e]),(\"auto\"===i||!parseFloat(i)&&\"inline\"===S.css(t,\"display\",!1,n))&&(i=t[\"offset\"+e[0].toUpperCase()+e.slice(1)],r=!0),(i=parseFloat(i)||0)+Jt(t,e,l||(a?\"border\":\"content\"),r,n,i)+\"px\"}function ee(t,e,l,n,i){return new ee.prototype.init(t,e,l,n,i)}S.extend({cssHooks:{opacity:{get:function(t,e){if(e){var l=zt(t,\"opacity\");return\"\"===l?\"1\":l}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(t,e,l,n){if(t&&3!==t.nodeType&&8!==t.nodeType&&t.style){var i,a,r,o=G(e),s=Wt.test(e),c=t.style;if(s||(e=Kt(o)),r=S.cssHooks[e]||S.cssHooks[o],void 0===l)return r&&\"get\"in r&&void 0!==(i=r.get(t,!1,n))?i:c[e];\"string\"===(a=typeof l)&&(i=it.exec(l))&&i[1]&&(l=st(t,e,i),a=\"number\"),null!=l&&l==l&&(\"number\"===a&&(l+=i&&i[3]||(S.cssNumber[o]?\"\":\"px\")),b.clearCloneStyle||\"\"!==l||0!==e.indexOf(\"background\")||(c[e]=\"inherit\"),r&&\"set\"in r&&void 0===(l=r.set(t,l,n))||(s?c.setProperty(e,l):c[e]=l))}},css:function(t,e,l,n){var i,a,r,o=G(e);return Wt.test(e)||(e=Kt(o)),(r=S.cssHooks[e]||S.cssHooks[o])&&\"get\"in r&&(i=r.get(t,!0,l)),void 0===i&&(i=zt(t,e,n)),\"normal\"===i&&e in Ut&&(i=Ut[e]),\"\"===l||l?(a=parseFloat(i),!0===l||isFinite(a)?a||0:i):i}}),S.each([\"height\",\"width\"],function(t,e){S.cssHooks[e]={get:function(t,l,n){if(l)return!Yt.test(S.css(t,\"display\"))||t.getClientRects().length&&t.getBoundingClientRect().width?te(t,e,n):ot(t,Vt,function(){return te(t,e,n)})},set:function(t,l,n){var i,a=qt(t),r=\"border-box\"===S.css(t,\"boxSizing\",!1,a),o=n&&Jt(t,e,n,r,a);return r&&b.scrollboxSize()===a.position&&(o-=Math.ceil(t[\"offset\"+e[0].toUpperCase()+e.slice(1)]-parseFloat(a[e])-Jt(t,e,\"border\",!1,a)-.5)),o&&(i=it.exec(l))&&\"px\"!==(i[3]||\"px\")&&(t.style[e]=l,l=S.css(t,e)),Qt(0,l,o)}}}),S.cssHooks.marginLeft=$t(b.reliableMarginLeft,function(t,e){if(e)return(parseFloat(zt(t,\"marginLeft\"))||t.getBoundingClientRect().left-ot(t,{marginLeft:0},function(){return t.getBoundingClientRect().left}))+\"px\"}),S.each({margin:\"\",padding:\"\",border:\"Width\"},function(t,e){S.cssHooks[t+e]={expand:function(l){for(var n=0,i={},a=\"string\"==typeof l?l.split(\" \"):[l];n<4;n++)i[t+at[n]+e]=a[n]||a[n-2]||a[0];return i}},\"margin\"!==t&&(S.cssHooks[t+e].set=Qt)}),S.fn.extend({css:function(t,e){return Y(this,function(t,e,l){var n,i,a={},r=0;if(Array.isArray(e)){for(n=qt(t),i=e.length;r<i;r++)a[e[r]]=S.css(t,e[r],!1,n);return a}return void 0!==l?S.style(t,e,l):S.css(t,e)},t,e,arguments.length>1)}}),S.Tween=ee,ee.prototype={constructor:ee,init:function(t,e,l,n,i,a){this.elem=t,this.prop=l,this.easing=i||S.easing._default,this.options=e,this.start=this.now=this.cur(),this.end=n,this.unit=a||(S.cssNumber[l]?\"\":\"px\")},cur:function(){var t=ee.propHooks[this.prop];return t&&t.get?t.get(this):ee.propHooks._default.get(this)},run:function(t){var e,l=ee.propHooks[this.prop];return this.options.duration?this.pos=e=S.easing[this.easing](t,this.options.duration*t,0,1,this.options.duration):this.pos=e=t,this.now=(this.end-this.start)*e+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),l&&l.set?l.set(this):ee.propHooks._default.set(this),this}},ee.prototype.init.prototype=ee.prototype,ee.propHooks={_default:{get:function(t){var e;return 1!==t.elem.nodeType||null!=t.elem[t.prop]&&null==t.elem.style[t.prop]?t.elem[t.prop]:(e=S.css(t.elem,t.prop,\"\"))&&\"auto\"!==e?e:0},set:function(t){S.fx.step[t.prop]?S.fx.step[t.prop](t):1!==t.elem.nodeType||null==t.elem.style[S.cssProps[t.prop]]&&!S.cssHooks[t.prop]?t.elem[t.prop]=t.now:S.style(t.elem,t.prop,t.now+t.unit)}}},ee.propHooks.scrollTop=ee.propHooks.scrollLeft={set:function(t){t.elem.nodeType&&t.elem.parentNode&&(t.elem[t.prop]=t.now)}},S.easing={linear:function(t){return t},swing:function(t){return.5-Math.cos(t*Math.PI)/2},_default:\"swing\"},S.fx=ee.prototype.init,S.fx.step={};var le,ne,ie=/^(?:toggle|show|hide)$/,ae=/queueHooks$/;function re(){ne&&(!1===r.hidden&&l.requestAnimationFrame?l.requestAnimationFrame(re):l.setTimeout(re,S.fx.interval),S.fx.tick())}function oe(){return l.setTimeout(function(){le=void 0}),le=Date.now()}function se(t,e){var l,n=0,i={height:t};for(e=e?1:0;n<4;n+=2-e)i[\"margin\"+(l=at[n])]=i[\"padding\"+l]=t;return e&&(i.opacity=i.width=t),i}function ce(t,e,l){for(var n,i=(ue.tweeners[e]||[]).concat(ue.tweeners[\"*\"]),a=0,r=i.length;a<r;a++)if(n=i[a].call(l,e,t))return n}function ue(t,e,l){var n,i,a=0,r=ue.prefilters.length,o=S.Deferred().always(function(){delete s.elem}),s=function(){if(i)return!1;for(var e=le||oe(),l=Math.max(0,c.startTime+c.duration-e),n=1-(l/c.duration||0),a=0,r=c.tweens.length;a<r;a++)c.tweens[a].run(n);return o.notifyWith(t,[c,n,l]),n<1&&r?l:(r||o.notifyWith(t,[c,1,0]),o.resolveWith(t,[c]),!1)},c=o.promise({elem:t,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},l),originalProperties:e,originalOptions:l,startTime:le||oe(),duration:l.duration,tweens:[],createTween:function(e,l){var n=S.Tween(t,c.opts,e,l,c.opts.specialEasing[e]||c.opts.easing);return c.tweens.push(n),n},stop:function(e){var l=0,n=e?c.tweens.length:0;if(i)return this;for(i=!0;l<n;l++)c.tweens[l].run(1);return e?(o.notifyWith(t,[c,1,0]),o.resolveWith(t,[c,e])):o.rejectWith(t,[c,e]),this}}),u=c.props;for(!function(t,e){var l,n,i,a,r;for(l in t)if(i=e[n=G(l)],a=t[l],Array.isArray(a)&&(i=a[1],a=t[l]=a[0]),l!==n&&(t[n]=a,delete t[l]),(r=S.cssHooks[n])&&\"expand\"in r)for(l in a=r.expand(a),delete t[n],a)l in t||(t[l]=a[l],e[l]=i);else e[n]=i}(u,c.opts.specialEasing);a<r;a++)if(n=ue.prefilters[a].call(c,t,u,c.opts))return v(n.stop)&&(S._queueHooks(c.elem,c.opts.queue).stop=n.stop.bind(n)),n;return S.map(u,ce,c),v(c.opts.start)&&c.opts.start.call(t,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),S.fx.timer(S.extend(s,{elem:t,anim:c,queue:c.opts.queue})),c}S.Animation=S.extend(ue,{tweeners:{\"*\":[function(t,e){var l=this.createTween(t,e);return st(l.elem,t,it.exec(e),l),l}]},tweener:function(t,e){v(t)?(e=t,t=[\"*\"]):t=t.match(F);for(var l,n=0,i=t.length;n<i;n++)l=t[n],ue.tweeners[l]=ue.tweeners[l]||[],ue.tweeners[l].unshift(e)},prefilters:[function(t,e,l){var n,i,a,r,o,s,c,u,d=\"width\"in e||\"height\"in e,h=this,f={},p=t.style,g=t.nodeType&&rt(t),m=Q.get(t,\"fxshow\");for(n in l.queue||(null==(r=S._queueHooks(t,\"fx\")).unqueued&&(r.unqueued=0,o=r.empty.fire,r.empty.fire=function(){r.unqueued||o()}),r.unqueued++,h.always(function(){h.always(function(){r.unqueued--,S.queue(t,\"fx\").length||r.empty.fire()})})),e)if(i=e[n],ie.test(i)){if(delete e[n],a=a||\"toggle\"===i,i===(g?\"hide\":\"show\")){if(\"show\"!==i||!m||void 0===m[n])continue;g=!0}f[n]=m&&m[n]||S.style(t,n)}if((s=!S.isEmptyObject(e))||!S.isEmptyObject(f))for(n in d&&1===t.nodeType&&(l.overflow=[p.overflow,p.overflowX,p.overflowY],null==(c=m&&m.display)&&(c=Q.get(t,\"display\")),\"none\"===(u=S.css(t,\"display\"))&&(c?u=c:(dt([t],!0),c=t.style.display||c,u=S.css(t,\"display\"),dt([t]))),(\"inline\"===u||\"inline-block\"===u&&null!=c)&&\"none\"===S.css(t,\"float\")&&(s||(h.done(function(){p.display=c}),null==c&&(u=p.display,c=\"none\"===u?\"\":u)),p.display=\"inline-block\")),l.overflow&&(p.overflow=\"hidden\",h.always(function(){p.overflow=l.overflow[0],p.overflowX=l.overflow[1],p.overflowY=l.overflow[2]})),s=!1,f)s||(m?\"hidden\"in m&&(g=m.hidden):m=Q.access(t,\"fxshow\",{display:c}),a&&(m.hidden=!g),g&&dt([t],!0),h.done(function(){for(n in g||dt([t]),Q.remove(t,\"fxshow\"),f)S.style(t,n,f[n])})),s=ce(g?m[n]:0,n,h),n in m||(m[n]=s.start,g&&(s.end=s.start,s.start=0))}],prefilter:function(t,e){e?ue.prefilters.unshift(t):ue.prefilters.push(t)}}),S.speed=function(t,e,l){var n=t&&\"object\"==typeof t?S.extend({},t):{complete:l||!l&&e||v(t)&&t,duration:t,easing:l&&e||e&&!v(e)&&e};return S.fx.off?n.duration=0:\"number\"!=typeof n.duration&&(n.duration in S.fx.speeds?n.duration=S.fx.speeds[n.duration]:n.duration=S.fx.speeds._default),null!=n.queue&&!0!==n.queue||(n.queue=\"fx\"),n.old=n.complete,n.complete=function(){v(n.old)&&n.old.call(this),n.queue&&S.dequeue(this,n.queue)},n},S.fn.extend({fadeTo:function(t,e,l,n){return this.filter(rt).css(\"opacity\",0).show().end().animate({opacity:e},t,l,n)},animate:function(t,e,l,n){var i=S.isEmptyObject(t),a=S.speed(e,l,n),r=function(){var e=ue(this,S.extend({},t),a);(i||Q.get(this,\"finish\"))&&e.stop(!0)};return r.finish=r,i||!1===a.queue?this.each(r):this.queue(a.queue,r)},stop:function(t,e,l){var n=function(t){var e=t.stop;delete t.stop,e(l)};return\"string\"!=typeof t&&(l=e,e=t,t=void 0),e&&!1!==t&&this.queue(t||\"fx\",[]),this.each(function(){var e=!0,i=null!=t&&t+\"queueHooks\",a=S.timers,r=Q.get(this);if(i)r[i]&&r[i].stop&&n(r[i]);else for(i in r)r[i]&&r[i].stop&&ae.test(i)&&n(r[i]);for(i=a.length;i--;)a[i].elem!==this||null!=t&&a[i].queue!==t||(a[i].anim.stop(l),e=!1,a.splice(i,1));!e&&l||S.dequeue(this,t)})},finish:function(t){return!1!==t&&(t=t||\"fx\"),this.each(function(){var e,l=Q.get(this),n=l[t+\"queue\"],i=l[t+\"queueHooks\"],a=S.timers,r=n?n.length:0;for(l.finish=!0,S.queue(this,t,[]),i&&i.stop&&i.stop.call(this,!0),e=a.length;e--;)a[e].elem===this&&a[e].queue===t&&(a[e].anim.stop(!0),a.splice(e,1));for(e=0;e<r;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete l.finish})}}),S.each([\"toggle\",\"show\",\"hide\"],function(t,e){var l=S.fn[e];S.fn[e]=function(t,n,i){return null==t||\"boolean\"==typeof t?l.apply(this,arguments):this.animate(se(e,!0),t,n,i)}}),S.each({slideDown:se(\"show\"),slideUp:se(\"hide\"),slideToggle:se(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(t,e){S.fn[t]=function(t,l,n){return this.animate(e,t,l,n)}}),S.timers=[],S.fx.tick=function(){var t,e=0,l=S.timers;for(le=Date.now();e<l.length;e++)(t=l[e])()||l[e]!==t||l.splice(e--,1);l.length||S.fx.stop(),le=void 0},S.fx.timer=function(t){S.timers.push(t),S.fx.start()},S.fx.interval=13,S.fx.start=function(){ne||(ne=!0,re())},S.fx.stop=function(){ne=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(t,e){return t=S.fx&&S.fx.speeds[t]||t,e=e||\"fx\",this.queue(e,function(e,n){var i=l.setTimeout(e,t);n.stop=function(){l.clearTimeout(i)}})},function(){var t=r.createElement(\"input\"),e=r.createElement(\"select\").appendChild(r.createElement(\"option\"));t.type=\"checkbox\",b.checkOn=\"\"!==t.value,b.optSelected=e.selected,(t=r.createElement(\"input\")).value=\"t\",t.type=\"radio\",b.radioValue=\"t\"===t.value}();var de,he=S.expr.attrHandle;S.fn.extend({attr:function(t,e){return Y(this,S.attr,t,e,arguments.length>1)},removeAttr:function(t){return this.each(function(){S.removeAttr(this,t)})}}),S.extend({attr:function(t,e,l){var n,i,a=t.nodeType;if(3!==a&&8!==a&&2!==a)return void 0===t.getAttribute?S.prop(t,e,l):(1===a&&S.isXMLDoc(t)||(i=S.attrHooks[e.toLowerCase()]||(S.expr.match.bool.test(e)?de:void 0)),void 0!==l?null===l?void S.removeAttr(t,e):i&&\"set\"in i&&void 0!==(n=i.set(t,l,e))?n:(t.setAttribute(e,l+\"\"),l):i&&\"get\"in i&&null!==(n=i.get(t,e))?n:null==(n=S.find.attr(t,e))?void 0:n)},attrHooks:{type:{set:function(t,e){if(!b.radioValue&&\"radio\"===e&&E(t,\"input\")){var l=t.value;return t.setAttribute(\"type\",e),l&&(t.value=l),e}}}},removeAttr:function(t,e){var l,n=0,i=e&&e.match(F);if(i&&1===t.nodeType)for(;l=i[n++];)t.removeAttribute(l)}}),de={set:function(t,e,l){return!1===e?S.removeAttr(t,l):t.setAttribute(l,l),l}},S.each(S.expr.match.bool.source.match(/\\w+/g),function(t,e){var l=he[e]||S.find.attr;he[e]=function(t,e,n){var i,a,r=e.toLowerCase();return n||(a=he[r],he[r]=i,i=null!=l(t,e,n)?r:null,he[r]=a),i}});var fe=/^(?:input|select|textarea|button)$/i,pe=/^(?:a|area)$/i;function ge(t){return(t.match(F)||[]).join(\" \")}function me(t){return t.getAttribute&&t.getAttribute(\"class\")||\"\"}function be(t){return Array.isArray(t)?t:\"string\"==typeof t&&t.match(F)||[]}S.fn.extend({prop:function(t,e){return Y(this,S.prop,t,e,arguments.length>1)},removeProp:function(t){return this.each(function(){delete this[S.propFix[t]||t]})}}),S.extend({prop:function(t,e,l){var n,i,a=t.nodeType;if(3!==a&&8!==a&&2!==a)return 1===a&&S.isXMLDoc(t)||(e=S.propFix[e]||e,i=S.propHooks[e]),void 0!==l?i&&\"set\"in i&&void 0!==(n=i.set(t,l,e))?n:t[e]=l:i&&\"get\"in i&&null!==(n=i.get(t,e))?n:t[e]},propHooks:{tabIndex:{get:function(t){var e=S.find.attr(t,\"tabindex\");return e?parseInt(e,10):fe.test(t.nodeName)||pe.test(t.nodeName)&&t.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),b.optSelected||(S.propHooks.selected={get:function(t){var e=t.parentNode;return e&&e.parentNode&&e.parentNode.selectedIndex,null},set:function(t){var e=t.parentNode;e&&(e.selectedIndex,e.parentNode&&e.parentNode.selectedIndex)}}),S.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,l,n,i,a,r,o,s=0;if(v(t))return this.each(function(e){S(this).addClass(t.call(this,e,me(this)))});if((e=be(t)).length)for(;l=this[s++];)if(i=me(l),n=1===l.nodeType&&\" \"+ge(i)+\" \"){for(r=0;a=e[r++];)n.indexOf(\" \"+a+\" \")<0&&(n+=a+\" \");i!==(o=ge(n))&&l.setAttribute(\"class\",o)}return this},removeClass:function(t){var e,l,n,i,a,r,o,s=0;if(v(t))return this.each(function(e){S(this).removeClass(t.call(this,e,me(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((e=be(t)).length)for(;l=this[s++];)if(i=me(l),n=1===l.nodeType&&\" \"+ge(i)+\" \"){for(r=0;a=e[r++];)for(;n.indexOf(\" \"+a+\" \")>-1;)n=n.replace(\" \"+a+\" \",\" \");i!==(o=ge(n))&&l.setAttribute(\"class\",o)}return this},toggleClass:function(t,e){var l=typeof t,n=\"string\"===l||Array.isArray(t);return\"boolean\"==typeof e&&n?e?this.addClass(t):this.removeClass(t):v(t)?this.each(function(l){S(this).toggleClass(t.call(this,l,me(this),e),e)}):this.each(function(){var e,i,a,r;if(n)for(i=0,a=S(this),r=be(t);e=r[i++];)a.hasClass(e)?a.removeClass(e):a.addClass(e);else void 0!==t&&\"boolean\"!==l||((e=me(this))&&Q.set(this,\"__className__\",e),this.setAttribute&&this.setAttribute(\"class\",e||!1===t?\"\":Q.get(this,\"__className__\")||\"\"))})},hasClass:function(t){var e,l,n=0;for(e=\" \"+t+\" \";l=this[n++];)if(1===l.nodeType&&(\" \"+ge(me(l))+\" \").indexOf(e)>-1)return!0;return!1}});var ve=/\\r/g;S.fn.extend({val:function(t){var e,l,n,i=this[0];return arguments.length?(n=v(t),this.each(function(l){var i;1===this.nodeType&&(null==(i=n?t.call(this,l,S(this).val()):t)?i=\"\":\"number\"==typeof i?i+=\"\":Array.isArray(i)&&(i=S.map(i,function(t){return null==t?\"\":t+\"\"})),(e=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&\"set\"in e&&void 0!==e.set(this,i,\"value\")||(this.value=i))})):i?(e=S.valHooks[i.type]||S.valHooks[i.nodeName.toLowerCase()])&&\"get\"in e&&void 0!==(l=e.get(i,\"value\"))?l:\"string\"==typeof(l=i.value)?l.replace(ve,\"\"):null==l?\"\":l:void 0}}),S.extend({valHooks:{option:{get:function(t){var e=S.find.attr(t,\"value\");return null!=e?e:ge(S.text(t))}},select:{get:function(t){var e,l,n,i=t.options,a=t.selectedIndex,r=\"select-one\"===t.type,o=r?null:[],s=r?a+1:i.length;for(n=a<0?s:r?a:0;n<s;n++)if(((l=i[n]).selected||n===a)&&!l.disabled&&(!l.parentNode.disabled||!E(l.parentNode,\"optgroup\"))){if(e=S(l).val(),r)return e;o.push(e)}return o},set:function(t,e){for(var l,n,i=t.options,a=S.makeArray(e),r=i.length;r--;)((n=i[r]).selected=S.inArray(S.valHooks.option.get(n),a)>-1)&&(l=!0);return l||(t.selectedIndex=-1),a}}}}),S.each([\"radio\",\"checkbox\"],function(){S.valHooks[this]={set:function(t,e){if(Array.isArray(e))return t.checked=S.inArray(S(t).val(),e)>-1}},b.checkOn||(S.valHooks[this].get=function(t){return null===t.getAttribute(\"value\")?\"on\":t.value})}),b.focusin=\"onfocusin\"in l;var ye=/^(?:focusinfocus|focusoutblur)$/,xe=function(t){t.stopPropagation()};S.extend(S.event,{trigger:function(t,e,n,i){var a,o,s,c,u,d,h,f,g=[n||r],m=p.call(t,\"type\")?t.type:t,b=p.call(t,\"namespace\")?t.namespace.split(\".\"):[];if(o=f=s=n=n||r,3!==n.nodeType&&8!==n.nodeType&&!ye.test(m+S.event.triggered)&&(m.indexOf(\".\")>-1&&(b=m.split(\".\"),m=b.shift(),b.sort()),u=m.indexOf(\":\")<0&&\"on\"+m,(t=t[S.expando]?t:new S.Event(m,\"object\"==typeof t&&t)).isTrigger=i?2:3,t.namespace=b.join(\".\"),t.rnamespace=t.namespace?new RegExp(\"(^|\\\\.)\"+b.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,t.result=void 0,t.target||(t.target=n),e=null==e?[t]:S.makeArray(e,[t]),h=S.event.special[m]||{},i||!h.trigger||!1!==h.trigger.apply(n,e))){if(!i&&!h.noBubble&&!y(n)){for(c=h.delegateType||m,ye.test(c+m)||(o=o.parentNode);o;o=o.parentNode)g.push(o),s=o;s===(n.ownerDocument||r)&&g.push(s.defaultView||s.parentWindow||l)}for(a=0;(o=g[a++])&&!t.isPropagationStopped();)f=o,t.type=a>1?c:h.bindType||m,(d=(Q.get(o,\"events\")||{})[t.type]&&Q.get(o,\"handle\"))&&d.apply(o,e),(d=u&&o[u])&&d.apply&&X(o)&&(t.result=d.apply(o,e),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||h._default&&!1!==h._default.apply(g.pop(),e)||!X(n)||u&&v(n[m])&&!y(n)&&((s=n[u])&&(n[u]=null),S.event.triggered=m,t.isPropagationStopped()&&f.addEventListener(m,xe),n[m](),t.isPropagationStopped()&&f.removeEventListener(m,xe),S.event.triggered=void 0,s&&(n[u]=s)),t.result}},simulate:function(t,e,l){var n=S.extend(new S.Event,l,{type:t,isSimulated:!0});S.event.trigger(n,null,e)}}),S.fn.extend({trigger:function(t,e){return this.each(function(){S.event.trigger(t,e,this)})},triggerHandler:function(t,e){var l=this[0];if(l)return S.event.trigger(t,e,l,!0)}}),b.focusin||S.each({focus:\"focusin\",blur:\"focusout\"},function(t,e){var l=function(t){S.event.simulate(e,t.target,S.event.fix(t))};S.event.special[e]={setup:function(){var n=this.ownerDocument||this,i=Q.access(n,e);i||n.addEventListener(t,l,!0),Q.access(n,e,(i||0)+1)},teardown:function(){var n=this.ownerDocument||this,i=Q.access(n,e)-1;i?Q.access(n,e,i):(n.removeEventListener(t,l,!0),Q.remove(n,e))}}});var _e=l.location,we=Date.now(),Se=/\\?/;S.parseXML=function(t){var e;if(!t||\"string\"!=typeof t)return null;try{e=(new l.DOMParser).parseFromString(t,\"text/xml\")}catch(t){e=void 0}return e&&!e.getElementsByTagName(\"parsererror\").length||S.error(\"Invalid XML: \"+t),e};var ke=/\\[\\]$/,Ce=/\\r?\\n/g,Te=/^(?:submit|button|image|reset|file)$/i,De=/^(?:input|select|textarea|keygen)/i;function Me(t,e,l,n){var i;if(Array.isArray(e))S.each(e,function(e,i){l||ke.test(t)?n(t,i):Me(t+\"[\"+(\"object\"==typeof i&&null!=i?e:\"\")+\"]\",i,l,n)});else if(l||\"object\"!==w(e))n(t,e);else for(i in e)Me(t+\"[\"+i+\"]\",e[i],l,n)}S.param=function(t,e){var l,n=[],i=function(t,e){var l=v(e)?e():e;n[n.length]=encodeURIComponent(t)+\"=\"+encodeURIComponent(null==l?\"\":l)};if(Array.isArray(t)||t.jquery&&!S.isPlainObject(t))S.each(t,function(){i(this.name,this.value)});else for(l in t)Me(l,t[l],e,i);return n.join(\"&\")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var t=S.prop(this,\"elements\");return t?S.makeArray(t):this}).filter(function(){var t=this.type;return this.name&&!S(this).is(\":disabled\")&&De.test(this.nodeName)&&!Te.test(t)&&(this.checked||!ht.test(t))}).map(function(t,e){var l=S(this).val();return null==l?null:Array.isArray(l)?S.map(l,function(t){return{name:e.name,value:t.replace(Ce,\"\\r\\n\")}}):{name:e.name,value:l.replace(Ce,\"\\r\\n\")}}).get()}});var Ae=/%20/g,Ee=/#.*$/,je=/([?&])_=[^&]*/,Ie=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Pe=/^(?:GET|HEAD)$/,Oe=/^\\/\\//,Le={},Re={},Ne=\"*/\".concat(\"*\"),Fe=r.createElement(\"a\");function Be(t){return function(e,l){\"string\"!=typeof e&&(l=e,e=\"*\");var n,i=0,a=e.toLowerCase().match(F)||[];if(v(l))for(;n=a[i++];)\"+\"===n[0]?(n=n.slice(1)||\"*\",(t[n]=t[n]||[]).unshift(l)):(t[n]=t[n]||[]).push(l)}}function He(t,e,l,n){var i={},a=t===Re;function r(o){var s;return i[o]=!0,S.each(t[o]||[],function(t,o){var c=o(e,l,n);return\"string\"!=typeof c||a||i[c]?a?!(s=c):void 0:(e.dataTypes.unshift(c),r(c),!1)}),s}return r(e.dataTypes[0])||!i[\"*\"]&&r(\"*\")}function qe(t,e){var l,n,i=S.ajaxSettings.flatOptions||{};for(l in e)void 0!==e[l]&&((i[l]?t:n||(n={}))[l]=e[l]);return n&&S.extend(!0,t,n),t}Fe.href=_e.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:_e.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(_e.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":Ne,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(t,e){return e?qe(qe(t,S.ajaxSettings),e):qe(S.ajaxSettings,t)},ajaxPrefilter:Be(Le),ajaxTransport:Be(Re),ajax:function(t,e){\"object\"==typeof t&&(e=t,t=void 0),e=e||{};var n,i,a,o,s,c,u,d,h,f,p=S.ajaxSetup({},e),g=p.context||p,m=p.context&&(g.nodeType||g.jquery)?S(g):S.event,b=S.Deferred(),v=S.Callbacks(\"once memory\"),y=p.statusCode||{},x={},_={},w=\"canceled\",k={readyState:0,getResponseHeader:function(t){var e;if(u){if(!o)for(o={};e=Ie.exec(a);)o[e[1].toLowerCase()]=e[2];e=o[t.toLowerCase()]}return null==e?null:e},getAllResponseHeaders:function(){return u?a:null},setRequestHeader:function(t,e){return null==u&&(t=_[t.toLowerCase()]=_[t.toLowerCase()]||t,x[t]=e),this},overrideMimeType:function(t){return null==u&&(p.mimeType=t),this},statusCode:function(t){var e;if(t)if(u)k.always(t[k.status]);else for(e in t)y[e]=[y[e],t[e]];return this},abort:function(t){var e=t||w;return n&&n.abort(e),C(0,e),this}};if(b.promise(k),p.url=((t||p.url||_e.href)+\"\").replace(Oe,_e.protocol+\"//\"),p.type=e.method||e.type||p.method||p.type,p.dataTypes=(p.dataType||\"*\").toLowerCase().match(F)||[\"\"],null==p.crossDomain){c=r.createElement(\"a\");try{c.href=p.url,c.href=c.href,p.crossDomain=Fe.protocol+\"//\"+Fe.host!=c.protocol+\"//\"+c.host}catch(t){p.crossDomain=!0}}if(p.data&&p.processData&&\"string\"!=typeof p.data&&(p.data=S.param(p.data,p.traditional)),He(Le,p,e,k),u)return k;for(h in(d=S.event&&p.global)&&0==S.active++&&S.event.trigger(\"ajaxStart\"),p.type=p.type.toUpperCase(),p.hasContent=!Pe.test(p.type),i=p.url.replace(Ee,\"\"),p.hasContent?p.data&&p.processData&&0===(p.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(p.data=p.data.replace(Ae,\"+\")):(f=p.url.slice(i.length),p.data&&(p.processData||\"string\"==typeof p.data)&&(i+=(Se.test(i)?\"&\":\"?\")+p.data,delete p.data),!1===p.cache&&(i=i.replace(je,\"$1\"),f=(Se.test(i)?\"&\":\"?\")+\"_=\"+we+++f),p.url=i+f),p.ifModified&&(S.lastModified[i]&&k.setRequestHeader(\"If-Modified-Since\",S.lastModified[i]),S.etag[i]&&k.setRequestHeader(\"If-None-Match\",S.etag[i])),(p.data&&p.hasContent&&!1!==p.contentType||e.contentType)&&k.setRequestHeader(\"Content-Type\",p.contentType),k.setRequestHeader(\"Accept\",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+(\"*\"!==p.dataTypes[0]?\", \"+Ne+\"; q=0.01\":\"\"):p.accepts[\"*\"]),p.headers)k.setRequestHeader(h,p.headers[h]);if(p.beforeSend&&(!1===p.beforeSend.call(g,k,p)||u))return k.abort();if(w=\"abort\",v.add(p.complete),k.done(p.success),k.fail(p.error),n=He(Re,p,e,k)){if(k.readyState=1,d&&m.trigger(\"ajaxSend\",[k,p]),u)return k;p.async&&p.timeout>0&&(s=l.setTimeout(function(){k.abort(\"timeout\")},p.timeout));try{u=!1,n.send(x,C)}catch(t){if(u)throw t;C(-1,t)}}else C(-1,\"No Transport\");function C(t,e,r,o){var c,h,f,x,_,w=e;u||(u=!0,s&&l.clearTimeout(s),n=void 0,a=o||\"\",k.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(x=function(t,e,l){for(var n,i,a,r,o=t.contents,s=t.dataTypes;\"*\"===s[0];)s.shift(),void 0===n&&(n=t.mimeType||e.getResponseHeader(\"Content-Type\"));if(n)for(i in o)if(o[i]&&o[i].test(n)){s.unshift(i);break}if(s[0]in l)a=s[0];else{for(i in l){if(!s[0]||t.converters[i+\" \"+s[0]]){a=i;break}r||(r=i)}a=a||r}if(a)return a!==s[0]&&s.unshift(a),l[a]}(p,k,r)),x=function(t,e,l,n){var i,a,r,o,s,c={},u=t.dataTypes.slice();if(u[1])for(r in t.converters)c[r.toLowerCase()]=t.converters[r];for(a=u.shift();a;)if(t.responseFields[a]&&(l[t.responseFields[a]]=e),!s&&n&&t.dataFilter&&(e=t.dataFilter(e,t.dataType)),s=a,a=u.shift())if(\"*\"===a)a=s;else if(\"*\"!==s&&s!==a){if(!(r=c[s+\" \"+a]||c[\"* \"+a]))for(i in c)if((o=i.split(\" \"))[1]===a&&(r=c[s+\" \"+o[0]]||c[\"* \"+o[0]])){!0===r?r=c[i]:!0!==c[i]&&(a=o[0],u.unshift(o[1]));break}if(!0!==r)if(r&&t.throws)e=r(e);else try{e=r(e)}catch(t){return{state:\"parsererror\",error:r?t:\"No conversion from \"+s+\" to \"+a}}}return{state:\"success\",data:e}}(p,x,k,c),c?(p.ifModified&&((_=k.getResponseHeader(\"Last-Modified\"))&&(S.lastModified[i]=_),(_=k.getResponseHeader(\"etag\"))&&(S.etag[i]=_)),204===t||\"HEAD\"===p.type?w=\"nocontent\":304===t?w=\"notmodified\":(w=x.state,h=x.data,c=!(f=x.error))):(f=w,!t&&w||(w=\"error\",t<0&&(t=0))),k.status=t,k.statusText=(e||w)+\"\",c?b.resolveWith(g,[h,w,k]):b.rejectWith(g,[k,w,f]),k.statusCode(y),y=void 0,d&&m.trigger(c?\"ajaxSuccess\":\"ajaxError\",[k,p,c?h:f]),v.fireWith(g,[k,w]),d&&(m.trigger(\"ajaxComplete\",[k,p]),--S.active||S.event.trigger(\"ajaxStop\")))}return k},getJSON:function(t,e,l){return S.get(t,e,l,\"json\")},getScript:function(t,e){return S.get(t,void 0,e,\"script\")}}),S.each([\"get\",\"post\"],function(t,e){S[e]=function(t,l,n,i){return v(l)&&(i=i||n,n=l,l=void 0),S.ajax(S.extend({url:t,type:e,dataType:i,data:l,success:n},S.isPlainObject(t)&&t))}}),S._evalUrl=function(t){return S.ajax({url:t,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,throws:!0})},S.fn.extend({wrapAll:function(t){var e;return this[0]&&(v(t)&&(t=t.call(this[0])),e=S(t,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&e.insertBefore(this[0]),e.map(function(){for(var t=this;t.firstElementChild;)t=t.firstElementChild;return t}).append(this)),this},wrapInner:function(t){return v(t)?this.each(function(e){S(this).wrapInner(t.call(this,e))}):this.each(function(){var e=S(this),l=e.contents();l.length?l.wrapAll(t):e.append(t)})},wrap:function(t){var e=v(t);return this.each(function(l){S(this).wrapAll(e?t.call(this,l):t)})},unwrap:function(t){return this.parent(t).not(\"body\").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(t){return!S.expr.pseudos.visible(t)},S.expr.pseudos.visible=function(t){return!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new l.XMLHttpRequest}catch(t){}};var Ze={0:200,1223:204},ze=S.ajaxSettings.xhr();b.cors=!!ze&&\"withCredentials\"in ze,b.ajax=ze=!!ze,S.ajaxTransport(function(t){var e,n;if(b.cors||ze&&!t.crossDomain)return{send:function(i,a){var r,o=t.xhr();if(o.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(r in t.xhrFields)o[r]=t.xhrFields[r];for(r in t.mimeType&&o.overrideMimeType&&o.overrideMimeType(t.mimeType),t.crossDomain||i[\"X-Requested-With\"]||(i[\"X-Requested-With\"]=\"XMLHttpRequest\"),i)o.setRequestHeader(r,i[r]);e=function(t){return function(){e&&(e=n=o.onload=o.onerror=o.onabort=o.ontimeout=o.onreadystatechange=null,\"abort\"===t?o.abort():\"error\"===t?\"number\"!=typeof o.status?a(0,\"error\"):a(o.status,o.statusText):a(Ze[o.status]||o.status,o.statusText,\"text\"!==(o.responseType||\"text\")||\"string\"!=typeof o.responseText?{binary:o.response}:{text:o.responseText},o.getAllResponseHeaders()))}},o.onload=e(),n=o.onerror=o.ontimeout=e(\"error\"),void 0!==o.onabort?o.onabort=n:o.onreadystatechange=function(){4===o.readyState&&l.setTimeout(function(){e&&n()})},e=e(\"abort\");try{o.send(t.hasContent&&t.data||null)}catch(t){if(e)throw t}},abort:function(){e&&e()}}}),S.ajaxPrefilter(function(t){t.crossDomain&&(t.contents.script=!1)}),S.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(t){return S.globalEval(t),t}}}),S.ajaxPrefilter(\"script\",function(t){void 0===t.cache&&(t.cache=!1),t.crossDomain&&(t.type=\"GET\")}),S.ajaxTransport(\"script\",function(t){var e,l;if(t.crossDomain)return{send:function(n,i){e=S(\"<script>\").prop({charset:t.scriptCharset,src:t.url}).on(\"load error\",l=function(t){e.remove(),l=null,t&&i(\"error\"===t.type?404:200,t.type)}),r.head.appendChild(e[0])},abort:function(){l&&l()}}});var $e,Ye=[],We=/(=)\\?(?=&|$)|\\?\\?/;S.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var t=Ye.pop()||S.expando+\"_\"+we++;return this[t]=!0,t}}),S.ajaxPrefilter(\"json jsonp\",function(t,e,n){var i,a,r,o=!1!==t.jsonp&&(We.test(t.url)?\"url\":\"string\"==typeof t.data&&0===(t.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&We.test(t.data)&&\"data\");if(o||\"jsonp\"===t.dataTypes[0])return i=t.jsonpCallback=v(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,o?t[o]=t[o].replace(We,\"$1\"+i):!1!==t.jsonp&&(t.url+=(Se.test(t.url)?\"&\":\"?\")+t.jsonp+\"=\"+i),t.converters[\"script json\"]=function(){return r||S.error(i+\" was not called\"),r[0]},t.dataTypes[0]=\"json\",a=l[i],l[i]=function(){r=arguments},n.always(function(){void 0===a?S(l).removeProp(i):l[i]=a,t[i]&&(t.jsonpCallback=e.jsonpCallback,Ye.push(i)),r&&v(a)&&a(r[0]),r=a=void 0}),\"script\"}),b.createHTMLDocument=(($e=r.implementation.createHTMLDocument(\"\").body).innerHTML=\"<form></form><form></form>\",2===$e.childNodes.length),S.parseHTML=function(t,e,l){return\"string\"!=typeof t?[]:(\"boolean\"==typeof e&&(l=e,e=!1),e||(b.createHTMLDocument?((n=(e=r.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=r.location.href,e.head.appendChild(n)):e=r),a=!l&&[],(i=j.exec(t))?[e.createElement(i[1])]:(i=_t([t],e,a),a&&a.length&&S(a).remove(),S.merge([],i.childNodes)));var n,i,a},S.fn.load=function(t,e,l){var n,i,a,r=this,o=t.indexOf(\" \");return o>-1&&(n=ge(t.slice(o)),t=t.slice(0,o)),v(e)?(l=e,e=void 0):e&&\"object\"==typeof e&&(i=\"POST\"),r.length>0&&S.ajax({url:t,type:i||\"GET\",dataType:\"html\",data:e}).done(function(t){a=arguments,r.html(n?S(\"<div>\").append(S.parseHTML(t)).find(n):t)}).always(l&&function(t,e){r.each(function(){l.apply(this,a||[t.responseText,e,t])})}),this},S.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(t,e){S.fn[e]=function(t){return this.on(e,t)}}),S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(t,e,l){var n,i,a,r,o,s,c=S.css(t,\"position\"),u=S(t),d={};\"static\"===c&&(t.style.position=\"relative\"),o=u.offset(),a=S.css(t,\"top\"),s=S.css(t,\"left\"),(\"absolute\"===c||\"fixed\"===c)&&(a+s).indexOf(\"auto\")>-1?(r=(n=u.position()).top,i=n.left):(r=parseFloat(a)||0,i=parseFloat(s)||0),v(e)&&(e=e.call(t,l,S.extend({},o))),null!=e.top&&(d.top=e.top-o.top+r),null!=e.left&&(d.left=e.left-o.left+i),\"using\"in e?e.using.call(t,d):u.css(d)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,l,n=this[0];return n?n.getClientRects().length?(e=n.getBoundingClientRect(),l=n.ownerDocument.defaultView,{top:e.top+l.pageYOffset,left:e.left+l.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var t,e,l,n=this[0],i={top:0,left:0};if(\"fixed\"===S.css(n,\"position\"))e=n.getBoundingClientRect();else{for(e=this.offset(),l=n.ownerDocument,t=n.offsetParent||l.documentElement;t&&(t===l.body||t===l.documentElement)&&\"static\"===S.css(t,\"position\");)t=t.parentNode;t&&t!==n&&1===t.nodeType&&((i=S(t).offset()).top+=S.css(t,\"borderTopWidth\",!0),i.left+=S.css(t,\"borderLeftWidth\",!0))}return{top:e.top-i.top-S.css(n,\"marginTop\",!0),left:e.left-i.left-S.css(n,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent;t&&\"static\"===S.css(t,\"position\");)t=t.offsetParent;return t||wt})}}),S.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,e){var l=\"pageYOffset\"===e;S.fn[t]=function(n){return Y(this,function(t,n,i){var a;if(y(t)?a=t:9===t.nodeType&&(a=t.defaultView),void 0===i)return a?a[e]:t[n];a?a.scrollTo(l?a.pageXOffset:i,l?i:a.pageYOffset):t[n]=i},t,n,arguments.length)}}),S.each([\"top\",\"left\"],function(t,e){S.cssHooks[e]=$t(b.pixelPosition,function(t,l){if(l)return l=zt(t,e),Ht.test(l)?S(t).position()[e]+\"px\":l})}),S.each({Height:\"height\",Width:\"width\"},function(t,e){S.each({padding:\"inner\"+t,content:e,\"\":\"outer\"+t},function(l,n){S.fn[n]=function(i,a){var r=arguments.length&&(l||\"boolean\"!=typeof i),o=l||(!0===i||!0===a?\"margin\":\"border\");return Y(this,function(e,l,i){var a;return y(e)?0===n.indexOf(\"outer\")?e[\"inner\"+t]:e.document.documentElement[\"client\"+t]:9===e.nodeType?(a=e.documentElement,Math.max(e.body[\"scroll\"+t],a[\"scroll\"+t],e.body[\"offset\"+t],a[\"offset\"+t],a[\"client\"+t])):void 0===i?S.css(e,l,o):S.style(e,l,i,o)},e,r?i:void 0,r)}})}),S.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(t,e){S.fn[e]=function(t,l){return arguments.length>0?this.on(e,null,t,l):this.trigger(e)}}),S.fn.extend({hover:function(t,e){return this.mouseenter(t).mouseleave(e||t)}}),S.fn.extend({bind:function(t,e,l){return this.on(t,null,e,l)},unbind:function(t,e){return this.off(t,null,e)},delegate:function(t,e,l,n){return this.on(e,t,l,n)},undelegate:function(t,e,l){return 1===arguments.length?this.off(t,\"**\"):this.off(e,t||\"**\",l)}}),S.proxy=function(t,e){var l,n,i;if(\"string\"==typeof e&&(l=t[e],e=t,t=l),v(t))return n=s.call(arguments,2),(i=function(){return t.apply(e||this,n.concat(s.call(arguments)))}).guid=t.guid=t.guid||S.guid++,i},S.holdReady=function(t){t?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=E,S.isFunction=v,S.isWindow=y,S.camelCase=G,S.type=w,S.now=Date.now,S.isNumeric=function(t){var e=S.type(t);return(\"number\"===e||\"string\"===e)&&!isNaN(t-parseFloat(t))},void 0===(n=function(){return S}.apply(e,[]))||(t.exports=n);var Ve=l.jQuery,Ue=l.$;return S.noConflict=function(t){return l.$===S&&(l.$=Ue),t&&l.jQuery===S&&(l.jQuery=Ve),S},i||(l.jQuery=l.$=S),S})},function(t,e,l){\"use strict\";var n=l(28),i=l(3),a=l(30),r=l(20),o=l(21),s=l(14),c=l(11),u=l(7),d=Math.min,h=[].push,f=!u(function(){RegExp(4294967295,\"y\")});l(15)(\"split\",2,function(t,e,l,u){var p;return p=\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length?function(t,e){var i=String(this);if(void 0===t&&0===e)return[];if(!n(t))return l.call(i,t,e);for(var a,r,o,s=[],u=(t.ignoreCase?\"i\":\"\")+(t.multiline?\"m\":\"\")+(t.unicode?\"u\":\"\")+(t.sticky?\"y\":\"\"),d=0,f=void 0===e?4294967295:e>>>0,p=new RegExp(t.source,u+\"g\");(a=c.call(p,i))&&!((r=p.lastIndex)>d&&(s.push(i.slice(d,a.index)),a.length>1&&a.index<i.length&&h.apply(s,a.slice(1)),o=a[0].length,d=r,s.length>=f));)p.lastIndex===a.index&&p.lastIndex++;return d===i.length?!o&&p.test(\"\")||s.push(\"\"):s.push(i.slice(d)),s.length>f?s.slice(0,f):s}:\"0\".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:l.call(this,t,e)}:l,[function(l,n){var i=t(this),a=null==l?void 0:l[e];return void 0!==a?a.call(l,i,n):p.call(String(i),l,n)},function(t,e){var n=u(p,t,this,e,p!==l);if(n.done)return n.value;var c=i(t),h=String(this),g=a(c,RegExp),m=c.unicode,b=(c.ignoreCase?\"i\":\"\")+(c.multiline?\"m\":\"\")+(c.unicode?\"u\":\"\")+(f?\"y\":\"g\"),v=new g(f?c:\"^(?:\"+c.source+\")\",b),y=void 0===e?4294967295:e>>>0;if(0===y)return[];if(0===h.length)return null===s(v,h)?[h]:[];for(var x=0,_=0,w=[];_<h.length;){v.lastIndex=f?_:0;var S,k=s(v,f?h:h.slice(_));if(null===k||(S=d(o(v.lastIndex+(f?0:_)),h.length))===x)_=r(h,_,m);else{if(w.push(h.slice(x,_)),w.length===y)return w;for(var C=1;C<=k.length-1;C++)if(w.push(k[C]),w.length===y)return w;_=x=S}}return w.push(h.slice(x)),w}]})},function(t,e,l){var n=l(5),i=l(16),a=l(6)(\"match\");t.exports=function(t){var e;return n(t)&&(void 0!==(e=t[a])?!!e:\"RegExp\"==i(t))}},function(t,e){t.exports=!1},function(t,e,l){var n=l(3),i=l(19),a=l(6)(\"species\");t.exports=function(t,e){var l,r=n(t).constructor;return void 0===r||null==(l=n(r)[a])?e:i(l)}},function(t,e,l){var n=l(9),i=l(10);t.exports=function(t){return function(e,l){var a,r,o=String(i(e)),s=n(l),c=o.length;return s<0||s>=c?t?\"\":void 0:(a=o.charCodeAt(s))<55296||a>56319||s+1===c||(r=o.charCodeAt(s+1))<56320||r>57343?t?o.charAt(s):a:t?o.slice(s,s+2):r-56320+(a-55296<<10)+65536}}},function(t,e,l){var n=l(16),i=l(6)(\"toStringTag\"),a=\"Arguments\"==n(function(){return arguments}());t.exports=function(t){var e,l,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(l=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?l:a?n(e):\"Object\"==(r=n(e))&&\"function\"==typeof e.callee?\"Arguments\":r}},function(t,e,l){\"use strict\";var n=l(3);t.exports=function(){var t=n(this),e=\"\";return t.global&&(e+=\"g\"),t.ignoreCase&&(e+=\"i\"),t.multiline&&(e+=\"m\"),t.unicode&&(e+=\"u\"),t.sticky&&(e+=\"y\"),e}},function(t,e,l){\"use strict\";var n=l(11);l(35)({target:\"RegExp\",proto:!0,forced:n!==/./.exec},{exec:n})},function(t,e,l){var n=l(4),i=l(8),a=l(12),r=l(22),o=l(43),s=function(t,e,l){var c,u,d,h,f=t&s.F,p=t&s.G,g=t&s.S,m=t&s.P,b=t&s.B,v=p?n:g?n[e]||(n[e]={}):(n[e]||{}).prototype,y=p?i:i[e]||(i[e]={}),x=y.prototype||(y.prototype={});for(c in p&&(l=e),l)d=((u=!f&&v&&void 0!==v[c])?v:l)[c],h=b&&u?o(d,n):m&&\"function\"==typeof d?o(Function.call,d):d,v&&r(v,c,d,t&s.U),y[c]!=d&&a(y,c,h),m&&x[c]!=d&&(x[c]=d)};n.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e,l){var n=l(3),i=l(37),a=l(39),r=Object.defineProperty;e.f=l(13)?Object.defineProperty:function(t,e,l){if(n(t),e=a(e,!0),n(l),i)try{return r(t,e,l)}catch(t){}if(\"get\"in l||\"set\"in l)throw TypeError(\"Accessors not supported!\");return\"value\"in l&&(t[e]=l.value),t}},function(t,e,l){t.exports=!l(13)&&!l(7)(function(){return 7!=Object.defineProperty(l(38)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,l){var n=l(5),i=l(4).document,a=n(i)&&n(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,e,l){var n=l(5);t.exports=function(t,e){if(!n(t))return t;var l,i;if(e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;if(\"function\"==typeof(l=t.valueOf)&&!n(i=l.call(t)))return i;if(!e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var l={}.hasOwnProperty;t.exports=function(t,e){return l.call(t,e)}},function(t,e,l){t.exports=l(17)(\"native-function-to-string\",Function.toString)},function(t,e,l){var n=l(19);t.exports=function(t,e,l){if(n(t),void 0===e)return t;switch(l){case 1:return function(l){return t.call(e,l)};case 2:return function(l,n){return t.call(e,l,n)};case 3:return function(l,n,i){return t.call(e,l,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,l){\"use strict\";var n=l(3),i=l(45),a=l(21),r=l(9),o=l(20),s=l(14),c=Math.max,u=Math.min,d=Math.floor,h=/\\$([$&`']|\\d\\d?|<[^>]*>)/g,f=/\\$([$&`']|\\d\\d?)/g;l(15)(\"replace\",2,function(t,e,l,p){return[function(n,i){var a=t(this),r=null==n?void 0:n[e];return void 0!==r?r.call(n,a,i):l.call(String(a),n,i)},function(t,e){var i=p(l,t,this,e);if(i.done)return i.value;var d=n(t),h=String(this),f=\"function\"==typeof e;f||(e=String(e));var m=d.global;if(m){var b=d.unicode;d.lastIndex=0}for(var v=[];;){var y=s(d,h);if(null===y)break;if(v.push(y),!m)break;\"\"===String(y[0])&&(d.lastIndex=o(h,a(d.lastIndex),b))}for(var x,_=\"\",w=0,S=0;S<v.length;S++){y=v[S];for(var k=String(y[0]),C=c(u(r(y.index),h.length),0),T=[],D=1;D<y.length;D++)T.push(void 0===(x=y[D])?x:String(x));var M=y.groups;if(f){var A=[k].concat(T,C,h);void 0!==M&&A.push(M);var E=String(e.apply(void 0,A))}else E=g(k,h,C,T,M,e);C>=w&&(_+=h.slice(w,C)+E,w=C+k.length)}return _+h.slice(w)}];function g(t,e,n,a,r,o){var s=n+t.length,c=a.length,u=f;return void 0!==r&&(r=i(r),u=h),l.call(o,u,function(l,i){var o;switch(i.charAt(0)){case\"$\":return\"$\";case\"&\":return t;case\"`\":return e.slice(0,n);case\"'\":return e.slice(s);case\"<\":o=r[i.slice(1,-1)];break;default:var u=+i;if(0===u)return l;if(u>c){var h=d(u/10);return 0===h?l:h<=c?void 0===a[h-1]?i.charAt(1):a[h-1]+i.charAt(1):l}o=a[u-1]}return void 0===o?\"\":o})}})},function(t,e,l){var n=l(10);t.exports=function(t){return Object(n(t))}},function(t,e){var l,n,i=t.exports={};function a(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(t){if(l===setTimeout)return setTimeout(t,0);if((l===a||!l)&&setTimeout)return l=setTimeout,setTimeout(t,0);try{return l(t,0)}catch(e){try{return l.call(null,t,0)}catch(e){return l.call(this,t,0)}}}!function(){try{l=\"function\"==typeof setTimeout?setTimeout:a}catch(t){l=a}try{n=\"function\"==typeof clearTimeout?clearTimeout:r}catch(t){n=r}}();var s,c=[],u=!1,d=-1;function h(){u&&s&&(u=!1,s.length?c=s.concat(c):d=-1,c.length&&f())}function f(){if(!u){var t=o(h);u=!0;for(var e=c.length;e;){for(s=c,c=[];++d<e;)s&&s[d].run();d=-1,e=c.length}s=null,u=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===r||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function g(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var l=1;l<arguments.length;l++)e[l-1]=arguments[l];c.push(new p(t,e)),1!==c.length||u||o(f)},p.prototype.run=function(){this.fun.apply(null,this.array)},i.title=\"browser\",i.browser=!0,i.env={},i.argv=[],i.version=\"\",i.versions={},i.on=g,i.addListener=g,i.once=g,i.off=g,i.removeListener=g,i.removeAllListeners=g,i.emit=g,i.prependListener=g,i.prependOnceListener=g,i.listeners=function(t){return[]},i.binding=function(t){throw new Error(\"process.binding is not supported\")},i.cwd=function(){return\"/\"},i.chdir=function(t){throw new Error(\"process.chdir is not supported\")},i.umask=function(){return 0}},function(t,e,l){var n,i,a;\n/*!\n * jQuery Validation Plugin v1.19.0\n *\n * https://jqueryvalidation.org/\n *\n * Copyright (c) 2018 Jörn Zaefferer\n * Released under the MIT license\n */i=[l(1)],void 0===(a=\"function\"==typeof(n=function(t){var e;t.extend(t.fn,{validate:function(e){if(this.length){var l=t.data(this[0],\"validator\");return l||(this.attr(\"novalidate\",\"novalidate\"),l=new t.validator(e,this[0]),t.data(this[0],\"validator\",l),l.settings.onsubmit&&(this.on(\"click.validate\",\":submit\",function(e){l.submitButton=e.currentTarget,t(this).hasClass(\"cancel\")&&(l.cancelSubmit=!0),void 0!==t(this).attr(\"formnovalidate\")&&(l.cancelSubmit=!0)}),this.on(\"submit.validate\",function(e){function n(){var n,i;return l.submitButton&&(l.settings.submitHandler||l.formSubmitted)&&(n=t(\"<input type='hidden'/>\").attr(\"name\",l.submitButton.name).val(t(l.submitButton).val()).appendTo(l.currentForm)),!(l.settings.submitHandler&&!l.settings.debug)||(i=l.settings.submitHandler.call(l,l.currentForm,e),n&&n.remove(),void 0!==i&&i)}return l.settings.debug&&e.preventDefault(),l.cancelSubmit?(l.cancelSubmit=!1,n()):l.form()?l.pendingRequest?(l.formSubmitted=!0,!1):n():(l.focusInvalid(),!1)})),l)}e&&e.debug&&window.console&&console.warn(\"Nothing selected, can't validate, returning nothing.\")},valid:function(){var e,l,n;return t(this[0]).is(\"form\")?e=this.validate().form():(n=[],e=!0,l=t(this[0].form).validate(),this.each(function(){(e=l.element(this)&&e)||(n=n.concat(l.errorList))}),l.errorList=n),e},rules:function(e,l){var n,i,a,r,o,s,c=this[0],u=void 0!==this.attr(\"contenteditable\")&&\"false\"!==this.attr(\"contenteditable\");if(null!=c&&(!c.form&&u&&(c.form=this.closest(\"form\")[0],c.name=this.attr(\"name\")),null!=c.form)){if(e)switch(n=t.data(c.form,\"validator\").settings,i=n.rules,a=t.validator.staticRules(c),e){case\"add\":t.extend(a,t.validator.normalizeRule(l)),delete a.messages,i[c.name]=a,l.messages&&(n.messages[c.name]=t.extend(n.messages[c.name],l.messages));break;case\"remove\":return l?(s={},t.each(l.split(/\\s/),function(t,e){s[e]=a[e],delete a[e]}),s):(delete i[c.name],a)}return(r=t.validator.normalizeRules(t.extend({},t.validator.classRules(c),t.validator.attributeRules(c),t.validator.dataRules(c),t.validator.staticRules(c)),c)).required&&(o=r.required,delete r.required,r=t.extend({required:o},r)),r.remote&&(o=r.remote,delete r.remote,r=t.extend(r,{remote:o})),r}}}),t.extend(t.expr.pseudos||t.expr[\":\"],{blank:function(e){return!t.trim(\"\"+t(e).val())},filled:function(e){var l=t(e).val();return null!==l&&!!t.trim(\"\"+l)},unchecked:function(e){return!t(e).prop(\"checked\")}}),t.validator=function(e,l){this.settings=t.extend(!0,{},t.validator.defaults,e),this.currentForm=l,this.init()},t.validator.format=function(e,l){return 1===arguments.length?function(){var l=t.makeArray(arguments);return l.unshift(e),t.validator.format.apply(this,l)}:void 0===l?e:(arguments.length>2&&l.constructor!==Array&&(l=t.makeArray(arguments).slice(1)),l.constructor!==Array&&(l=[l]),t.each(l,function(t,l){e=e.replace(new RegExp(\"\\\\{\"+t+\"\\\\}\",\"g\"),function(){return l})}),e)},t.extend(t.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:\"error\",pendingClass:\"pending\",validClass:\"valid\",errorElement:\"label\",focusCleanup:!1,focusInvalid:!0,errorContainer:t([]),errorLabelContainer:t([]),onsubmit:!0,ignore:\":hidden\",ignoreTitle:!1,onfocusin:function(t){this.lastActive=t,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,t,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(t)))},onfocusout:function(t){this.checkable(t)||!(t.name in this.submitted)&&this.optional(t)||this.element(t)},onkeyup:function(e,l){9===l.which&&\"\"===this.elementValue(e)||-1!==t.inArray(l.keyCode,[16,17,18,20,35,36,37,38,39,40,45,144,225])||(e.name in this.submitted||e.name in this.invalid)&&this.element(e)},onclick:function(t){t.name in this.submitted?this.element(t):t.parentNode.name in this.submitted&&this.element(t.parentNode)},highlight:function(e,l,n){\"radio\"===e.type?this.findByName(e.name).addClass(l).removeClass(n):t(e).addClass(l).removeClass(n)},unhighlight:function(e,l,n){\"radio\"===e.type?this.findByName(e.name).removeClass(l).addClass(n):t(e).removeClass(l).addClass(n)}},setDefaults:function(e){t.extend(t.validator.defaults,e)},messages:{required:\"This field is required.\",remote:\"Please fix this field.\",email:\"Please enter a valid email address.\",url:\"Please enter a valid URL.\",date:\"Please enter a valid date.\",dateISO:\"Please enter a valid date (ISO).\",number:\"Please enter a valid number.\",digits:\"Please enter only digits.\",equalTo:\"Please enter the same value again.\",maxlength:t.validator.format(\"Please enter no more than {0} characters.\"),minlength:t.validator.format(\"Please enter at least {0} characters.\"),rangelength:t.validator.format(\"Please enter a value between {0} and {1} characters long.\"),range:t.validator.format(\"Please enter a value between {0} and {1}.\"),max:t.validator.format(\"Please enter a value less than or equal to {0}.\"),min:t.validator.format(\"Please enter a value greater than or equal to {0}.\"),step:t.validator.format(\"Please enter a multiple of {0}.\")},autoCreateRanges:!1,prototype:{init:function(){this.labelContainer=t(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||t(this.currentForm),this.containers=t(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var e,l=this.currentForm,n=this.groups={};function i(e){var n=void 0!==t(this).attr(\"contenteditable\")&&\"false\"!==t(this).attr(\"contenteditable\");if(!this.form&&n&&(this.form=t(this).closest(\"form\")[0],this.name=t(this).attr(\"name\")),l===this.form){var i=t.data(this.form,\"validator\"),a=\"on\"+e.type.replace(/^validate/,\"\"),r=i.settings;r[a]&&!t(this).is(r.ignore)&&r[a].call(i,this,e)}}t.each(this.settings.groups,function(e,l){\"string\"==typeof l&&(l=l.split(/\\s/)),t.each(l,function(t,l){n[l]=e})}),e=this.settings.rules,t.each(e,function(l,n){e[l]=t.validator.normalizeRule(n)}),t(this.currentForm).on(\"focusin.validate focusout.validate keyup.validate\",\":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']\",i).on(\"click.validate\",\"select, option, [type='radio'], [type='checkbox']\",i),this.settings.invalidHandler&&t(this.currentForm).on(\"invalid-form.validate\",this.settings.invalidHandler)},form:function(){return this.checkForm(),t.extend(this.submitted,this.errorMap),this.invalid=t.extend({},this.errorMap),this.valid()||t(this.currentForm).triggerHandler(\"invalid-form\",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var t=0,e=this.currentElements=this.elements();e[t];t++)this.check(e[t]);return this.valid()},element:function(e){var l,n,i=this.clean(e),a=this.validationTargetFor(i),r=this,o=!0;return void 0===a?delete this.invalid[i.name]:(this.prepareElement(a),this.currentElements=t(a),(n=this.groups[a.name])&&t.each(this.groups,function(t,e){e===n&&t!==a.name&&(i=r.validationTargetFor(r.clean(r.findByName(t))))&&i.name in r.invalid&&(r.currentElements.push(i),o=r.check(i)&&o)}),l=!1!==this.check(a),o=o&&l,this.invalid[a.name]=!l,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),t(e).attr(\"aria-invalid\",!l)),o},showErrors:function(e){if(e){var l=this;t.extend(this.errorMap,e),this.errorList=t.map(this.errorMap,function(t,e){return{message:t,element:l.findByName(e)[0]}}),this.successList=t.grep(this.successList,function(t){return!(t.name in e)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){t.fn.resetForm&&t(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var e=this.elements().removeData(\"previousValue\").removeAttr(\"aria-invalid\");this.resetElements(e)},resetElements:function(t){var e;if(this.settings.unhighlight)for(e=0;t[e];e++)this.settings.unhighlight.call(this,t[e],this.settings.errorClass,\"\"),this.findByName(t[e].name).removeClass(this.settings.validClass);else t.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(t){var e,l=0;for(e in t)void 0!==t[e]&&null!==t[e]&&!1!==t[e]&&l++;return l},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(t){t.not(this.containers).text(\"\"),this.addWrapper(t).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{t(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(\":visible\").focus().trigger(\"focusin\")}catch(t){}},findLastActive:function(){var e=this.lastActive;return e&&1===t.grep(this.errorList,function(t){return t.element.name===e.name}).length&&e},elements:function(){var e=this,l={};return t(this.currentForm).find(\"input, select, textarea, [contenteditable]\").not(\":submit, :reset, :image, :disabled\").not(this.settings.ignore).filter(function(){var n=this.name||t(this).attr(\"name\"),i=void 0!==t(this).attr(\"contenteditable\")&&\"false\"!==t(this).attr(\"contenteditable\");return!n&&e.settings.debug&&window.console&&console.error(\"%o has no name assigned\",this),i&&(this.form=t(this).closest(\"form\")[0],this.name=n),!(this.form!==e.currentForm||n in l||!e.objectLength(t(this).rules())||(l[n]=!0,0))})},clean:function(e){return t(e)[0]},errors:function(){var e=this.settings.errorClass.split(\" \").join(\".\");return t(this.settings.errorElement+\".\"+e,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=t([]),this.toHide=t([])},reset:function(){this.resetInternals(),this.currentElements=t([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(t){this.reset(),this.toHide=this.errorsFor(t)},elementValue:function(e){var l,n,i=t(e),a=e.type,r=void 0!==i.attr(\"contenteditable\")&&\"false\"!==i.attr(\"contenteditable\");return\"radio\"===a||\"checkbox\"===a?this.findByName(e.name).filter(\":checked\").val():\"number\"===a&&void 0!==e.validity?e.validity.badInput?\"NaN\":i.val():(l=r?i.text():i.val(),\"file\"===a?\"C:\\\\fakepath\\\\\"===l.substr(0,12)?l.substr(12):(n=l.lastIndexOf(\"/\"))>=0?l.substr(n+1):(n=l.lastIndexOf(\"\\\\\"))>=0?l.substr(n+1):l:\"string\"==typeof l?l.replace(/\\r/g,\"\"):l)},check:function(e){e=this.validationTargetFor(this.clean(e));var l,n,i,a,r=t(e).rules(),o=t.map(r,function(t,e){return e}).length,s=!1,c=this.elementValue(e);for(n in\"function\"==typeof r.normalizer?a=r.normalizer:\"function\"==typeof this.settings.normalizer&&(a=this.settings.normalizer),a&&(c=a.call(e,c),delete r.normalizer),r){i={method:n,parameters:r[n]};try{if(\"dependency-mismatch\"===(l=t.validator.methods[n].call(this,c,e,i.parameters))&&1===o){s=!0;continue}if(s=!1,\"pending\"===l)return void(this.toHide=this.toHide.not(this.errorsFor(e)));if(!l)return this.formatAndAdd(e,i),!1}catch(t){throw this.settings.debug&&window.console&&console.log(\"Exception occurred when checking element \"+e.id+\", check the '\"+i.method+\"' method.\",t),t instanceof TypeError&&(t.message+=\".  Exception occurred when checking element \"+e.id+\", check the '\"+i.method+\"' method.\"),t}}if(!s)return this.objectLength(r)&&this.successList.push(e),!0},customDataMessage:function(e,l){return t(e).data(\"msg\"+l.charAt(0).toUpperCase()+l.substring(1).toLowerCase())||t(e).data(\"msg\")},customMessage:function(t,e){var l=this.settings.messages[t];return l&&(l.constructor===String?l:l[e])},findDefined:function(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]},defaultMessage:function(e,l){\"string\"==typeof l&&(l={method:l});var n=this.findDefined(this.customMessage(e.name,l.method),this.customDataMessage(e,l.method),!this.settings.ignoreTitle&&e.title||void 0,t.validator.messages[l.method],\"<strong>Warning: No message defined for \"+e.name+\"</strong>\"),i=/\\$?\\{(\\d+)\\}/g;return\"function\"==typeof n?n=n.call(this,l.parameters,e):i.test(n)&&(n=t.validator.format(n.replace(i,\"{$1}\"),l.parameters)),n},formatAndAdd:function(t,e){var l=this.defaultMessage(t,e);this.errorList.push({message:l,element:t,method:e.method}),this.errorMap[t.name]=l,this.submitted[t.name]=l},addWrapper:function(t){return this.settings.wrapper&&(t=t.add(t.parent(this.settings.wrapper))),t},defaultShowErrors:function(){var t,e,l;for(t=0;this.errorList[t];t++)l=this.errorList[t],this.settings.highlight&&this.settings.highlight.call(this,l.element,this.settings.errorClass,this.settings.validClass),this.showLabel(l.element,l.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(t=0;this.successList[t];t++)this.showLabel(this.successList[t]);if(this.settings.unhighlight)for(t=0,e=this.validElements();e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return t(this.errorList).map(function(){return this.element})},showLabel:function(e,l){var n,i,a,r,o=this.errorsFor(e),s=this.idOrName(e),c=t(e).attr(\"aria-describedby\");o.length?(o.removeClass(this.settings.validClass).addClass(this.settings.errorClass),o.html(l)):(o=t(\"<\"+this.settings.errorElement+\">\").attr(\"id\",s+\"-error\").addClass(this.settings.errorClass).html(l||\"\"),n=o,this.settings.wrapper&&(n=o.hide().show().wrap(\"<\"+this.settings.wrapper+\"/>\").parent()),this.labelContainer.length?this.labelContainer.append(n):this.settings.errorPlacement?this.settings.errorPlacement.call(this,n,t(e)):n.insertAfter(e),o.is(\"label\")?o.attr(\"for\",s):0===o.parents(\"label[for='\"+this.escapeCssMeta(s)+\"']\").length&&(a=o.attr(\"id\"),c?c.match(new RegExp(\"\\\\b\"+this.escapeCssMeta(a)+\"\\\\b\"))||(c+=\" \"+a):c=a,t(e).attr(\"aria-describedby\",c),(i=this.groups[e.name])&&(r=this,t.each(r.groups,function(e,l){l===i&&t(\"[name='\"+r.escapeCssMeta(e)+\"']\",r.currentForm).attr(\"aria-describedby\",o.attr(\"id\"))})))),!l&&this.settings.success&&(o.text(\"\"),\"string\"==typeof this.settings.success?o.addClass(this.settings.success):this.settings.success(o,e)),this.toShow=this.toShow.add(o)},errorsFor:function(e){var l=this.escapeCssMeta(this.idOrName(e)),n=t(e).attr(\"aria-describedby\"),i=\"label[for='\"+l+\"'], label[for='\"+l+\"'] *\";return n&&(i=i+\", #\"+this.escapeCssMeta(n).replace(/\\s+/g,\", #\")),this.errors().filter(i)},escapeCssMeta:function(t){return t.replace(/([\\\\!\"#$%&'()*+,.\\/:;<=>?@\\[\\]^`{|}~])/g,\"\\\\$1\")},idOrName:function(t){return this.groups[t.name]||(this.checkable(t)?t.name:t.id||t.name)},validationTargetFor:function(e){return this.checkable(e)&&(e=this.findByName(e.name)),t(e).not(this.settings.ignore)[0]},checkable:function(t){return/radio|checkbox/i.test(t.type)},findByName:function(e){return t(this.currentForm).find(\"[name='\"+this.escapeCssMeta(e)+\"']\")},getLength:function(e,l){switch(l.nodeName.toLowerCase()){case\"select\":return t(\"option:selected\",l).length;case\"input\":if(this.checkable(l))return this.findByName(l.name).filter(\":checked\").length}return e.length},depend:function(t,e){return!this.dependTypes[typeof t]||this.dependTypes[typeof t](t,e)},dependTypes:{boolean:function(t){return t},string:function(e,l){return!!t(e,l.form).length},function:function(t,e){return t(e)}},optional:function(e){var l=this.elementValue(e);return!t.validator.methods.required.call(this,l,e)&&\"dependency-mismatch\"},startRequest:function(e){this.pending[e.name]||(this.pendingRequest++,t(e).addClass(this.settings.pendingClass),this.pending[e.name]=!0)},stopRequest:function(e,l){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[e.name],t(e).removeClass(this.settings.pendingClass),l&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(t(this.currentForm).submit(),this.submitButton&&t(\"input:hidden[name='\"+this.submitButton.name+\"']\",this.currentForm).remove(),this.formSubmitted=!1):!l&&0===this.pendingRequest&&this.formSubmitted&&(t(this.currentForm).triggerHandler(\"invalid-form\",[this]),this.formSubmitted=!1)},previousValue:function(e,l){return l=\"string\"==typeof l&&l||\"remote\",t.data(e,\"previousValue\")||t.data(e,\"previousValue\",{old:null,valid:!0,message:this.defaultMessage(e,{method:l})})},destroy:function(){this.resetForm(),t(this.currentForm).off(\".validate\").removeData(\"validator\").find(\".validate-equalTo-blur\").off(\".validate-equalTo\").removeClass(\"validate-equalTo-blur\").find(\".validate-lessThan-blur\").off(\".validate-lessThan\").removeClass(\"validate-lessThan-blur\").find(\".validate-lessThanEqual-blur\").off(\".validate-lessThanEqual\").removeClass(\"validate-lessThanEqual-blur\").find(\".validate-greaterThanEqual-blur\").off(\".validate-greaterThanEqual\").removeClass(\"validate-greaterThanEqual-blur\").find(\".validate-greaterThan-blur\").off(\".validate-greaterThan\").removeClass(\"validate-greaterThan-blur\")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(e,l){e.constructor===String?this.classRuleSettings[e]=l:t.extend(this.classRuleSettings,e)},classRules:function(e){var l={},n=t(e).attr(\"class\");return n&&t.each(n.split(\" \"),function(){this in t.validator.classRuleSettings&&t.extend(l,t.validator.classRuleSettings[this])}),l},normalizeAttributeRule:function(t,e,l,n){/min|max|step/.test(l)&&(null===e||/number|range|text/.test(e))&&(n=Number(n),isNaN(n)&&(n=void 0)),n||0===n?t[l]=n:e===l&&\"range\"!==e&&(t[l]=!0)},attributeRules:function(e){var l,n,i={},a=t(e),r=e.getAttribute(\"type\");for(l in t.validator.methods)\"required\"===l?(\"\"===(n=e.getAttribute(l))&&(n=!0),n=!!n):n=a.attr(l),this.normalizeAttributeRule(i,r,l,n);return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(e){var l,n,i={},a=t(e),r=e.getAttribute(\"type\");for(l in t.validator.methods)\"\"===(n=a.data(\"rule\"+l.charAt(0).toUpperCase()+l.substring(1).toLowerCase()))&&(n=!0),this.normalizeAttributeRule(i,r,l,n);return i},staticRules:function(e){var l={},n=t.data(e.form,\"validator\");return n.settings.rules&&(l=t.validator.normalizeRule(n.settings.rules[e.name])||{}),l},normalizeRules:function(e,l){return t.each(e,function(n,i){if(!1!==i){if(i.param||i.depends){var a=!0;switch(typeof i.depends){case\"string\":a=!!t(i.depends,l.form).length;break;case\"function\":a=i.depends.call(l,l)}a?e[n]=void 0===i.param||i.param:(t.data(l.form,\"validator\").resetElements(t(l)),delete e[n])}}else delete e[n]}),t.each(e,function(n,i){e[n]=t.isFunction(i)&&\"normalizer\"!==n?i(l):i}),t.each([\"minlength\",\"maxlength\"],function(){e[this]&&(e[this]=Number(e[this]))}),t.each([\"rangelength\",\"range\"],function(){var l;e[this]&&(t.isArray(e[this])?e[this]=[Number(e[this][0]),Number(e[this][1])]:\"string\"==typeof e[this]&&(l=e[this].replace(/[\\[\\]]/g,\"\").split(/[\\s,]+/),e[this]=[Number(l[0]),Number(l[1])]))}),t.validator.autoCreateRanges&&(null!=e.min&&null!=e.max&&(e.range=[e.min,e.max],delete e.min,delete e.max),null!=e.minlength&&null!=e.maxlength&&(e.rangelength=[e.minlength,e.maxlength],delete e.minlength,delete e.maxlength)),e},normalizeRule:function(e){if(\"string\"==typeof e){var l={};t.each(e.split(/\\s/),function(){l[this]=!0}),e=l}return e},addMethod:function(e,l,n){t.validator.methods[e]=l,t.validator.messages[e]=void 0!==n?n:t.validator.messages[e],l.length<3&&t.validator.addClassRules(e,t.validator.normalizeRule(e))},methods:{required:function(e,l,n){if(!this.depend(n,l))return\"dependency-mismatch\";if(\"select\"===l.nodeName.toLowerCase()){var i=t(l).val();return i&&i.length>0}return this.checkable(l)?this.getLength(e,l)>0:null!=e&&e.length>0},email:function(t,e){return this.optional(e)||/^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(t)},url:function(t,e){return this.optional(e)||/^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})).?)(?::\\d{2,5})?(?:[\\/?#]\\S*)?$/i.test(t)},date:(e=!1,function(t,l){return e||(e=!0,this.settings.debug&&window.console&&console.warn(\"The `date` method is deprecated and will be removed in version '2.0.0'.\\nPlease don't use it, since it relies on the Date constructor, which\\nbehaves very differently across browsers and locales. Use `dateISO`\\ninstead or one of the locale specific methods in `localizations/`\\nand `additional-methods.js`.\")),this.optional(l)||!/Invalid|NaN/.test(new Date(t).toString())}),dateISO:function(t,e){return this.optional(e)||/^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(t)},number:function(t,e){return this.optional(e)||/^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(t)},digits:function(t,e){return this.optional(e)||/^\\d+$/.test(t)},minlength:function(e,l,n){var i=t.isArray(e)?e.length:this.getLength(e,l);return this.optional(l)||i>=n},maxlength:function(e,l,n){var i=t.isArray(e)?e.length:this.getLength(e,l);return this.optional(l)||i<=n},rangelength:function(e,l,n){var i=t.isArray(e)?e.length:this.getLength(e,l);return this.optional(l)||i>=n[0]&&i<=n[1]},min:function(t,e,l){return this.optional(e)||t>=l},max:function(t,e,l){return this.optional(e)||t<=l},range:function(t,e,l){return this.optional(e)||t>=l[0]&&t<=l[1]},step:function(e,l,n){var i,a=t(l).attr(\"type\"),r=\"Step attribute on input type \"+a+\" is not supported.\",o=new RegExp(\"\\\\b\"+a+\"\\\\b\"),s=a&&!o.test([\"text\",\"number\",\"range\"].join()),c=function(t){var e=(\"\"+t).match(/(?:\\.(\\d+))?$/);return e&&e[1]?e[1].length:0},u=function(t){return Math.round(t*Math.pow(10,i))},d=!0;if(s)throw new Error(r);return i=c(n),(c(e)>i||u(e)%u(n)!=0)&&(d=!1),this.optional(l)||d},equalTo:function(e,l,n){var i=t(n);return this.settings.onfocusout&&i.not(\".validate-equalTo-blur\").length&&i.addClass(\"validate-equalTo-blur\").on(\"blur.validate-equalTo\",function(){t(l).valid()}),e===i.val()},remote:function(e,l,n,i){if(this.optional(l))return\"dependency-mismatch\";i=\"string\"==typeof i&&i||\"remote\";var a,r,o,s=this.previousValue(l,i);return this.settings.messages[l.name]||(this.settings.messages[l.name]={}),s.originalMessage=s.originalMessage||this.settings.messages[l.name][i],this.settings.messages[l.name][i]=s.message,n=\"string\"==typeof n&&{url:n}||n,o=t.param(t.extend({data:e},n.data)),s.old===o?s.valid:(s.old=o,a=this,this.startRequest(l),(r={})[l.name]=e,t.ajax(t.extend(!0,{mode:\"abort\",port:\"validate\"+l.name,dataType:\"json\",data:r,context:a.currentForm,success:function(t){var n,r,o,c=!0===t||\"true\"===t;a.settings.messages[l.name][i]=s.originalMessage,c?(o=a.formSubmitted,a.resetInternals(),a.toHide=a.errorsFor(l),a.formSubmitted=o,a.successList.push(l),a.invalid[l.name]=!1,a.showErrors()):(n={},r=t||a.defaultMessage(l,{method:i,parameters:e}),n[l.name]=s.message=r,a.invalid[l.name]=!0,a.showErrors(n)),s.valid=c,a.stopRequest(l,c)}},n)),\"pending\")}}});var l,n={};return t.ajaxPrefilter?t.ajaxPrefilter(function(t,e,l){var i=t.port;\"abort\"===t.mode&&(n[i]&&n[i].abort(),n[i]=l)}):(l=t.ajax,t.ajax=function(e){var i=(\"mode\"in e?e:t.ajaxSettings).mode,a=(\"port\"in e?e:t.ajaxSettings).port;return\"abort\"===i?(n[a]&&n[a].abort(),n[a]=l.apply(this,arguments),n[a]):l.apply(this,arguments)}),t})?n.apply(e,i):n)||(t.exports=a)},function(t,e,l){\"use strict\";(function(e){var n=l(58),i=l(64),a=l(67),r=document,o=r.documentElement;function s(t,l,n,a){e.navigator.pointerEnabled?i[l](t,{mouseup:\"pointerup\",mousedown:\"pointerdown\",mousemove:\"pointermove\"}[n],a):e.navigator.msPointerEnabled?i[l](t,{mouseup:\"MSPointerUp\",mousedown:\"MSPointerDown\",mousemove:\"MSPointerMove\"}[n],a):(i[l](t,{mouseup:\"touchend\",mousedown:\"touchstart\",mousemove:\"touchmove\"}[n],a),i[l](t,n,a))}function c(t){if(void 0!==t.touches)return t.touches.length;if(void 0!==t.which&&0!==t.which)return t.which;if(void 0!==t.buttons)return t.buttons;var e=t.button;return void 0!==e?1&e?1:2&e?3:4&e?2:0:void 0}function u(t,l){return void 0!==e[l]?e[l]:o.clientHeight?o[t]:r.body[t]}function d(t,e,l){var n,i=t||{},a=i.className;return i.className+=\" gu-hide\",n=r.elementFromPoint(e,l),i.className=a,n}function h(){return!1}function f(){return!0}function p(t){return t.width||t.right-t.left}function g(t){return t.height||t.bottom-t.top}function m(t){return t.parentNode===r?null:t.parentNode}function b(t){return\"INPUT\"===t.tagName||\"TEXTAREA\"===t.tagName||\"SELECT\"===t.tagName||function t(e){if(!e)return!1;if(\"false\"===e.contentEditable)return!1;if(\"true\"===e.contentEditable)return!0;return t(m(e))}(t)}function v(t){return t.nextElementSibling||function(){var e=t;do{e=e.nextSibling}while(e&&1!==e.nodeType);return e}()}function y(t,e){var l=function(t){return t.targetTouches&&t.targetTouches.length?t.targetTouches[0]:t.changedTouches&&t.changedTouches.length?t.changedTouches[0]:t}(e),n={pageX:\"clientX\",pageY:\"clientY\"};return t in n&&!(t in l)&&n[t]in l&&(t=n[t]),l[t]}t.exports=function(t,e){var l,x,_,w,S,k,C,T,D,M,A;1===arguments.length&&!1===Array.isArray(t)&&(e=t,t=[]);var E,j=null,I=e||{};void 0===I.moves&&(I.moves=f),void 0===I.accepts&&(I.accepts=f),void 0===I.invalid&&(I.invalid=function(){return!1}),void 0===I.containers&&(I.containers=t||[]),void 0===I.isContainer&&(I.isContainer=h),void 0===I.copy&&(I.copy=!1),void 0===I.copySortSource&&(I.copySortSource=!1),void 0===I.revertOnSpill&&(I.revertOnSpill=!1),void 0===I.removeOnSpill&&(I.removeOnSpill=!1),void 0===I.direction&&(I.direction=\"vertical\"),void 0===I.ignoreInputTextSelection&&(I.ignoreInputTextSelection=!0),void 0===I.mirrorContainer&&(I.mirrorContainer=r.body);var P=n({containers:I.containers,start:function(t){var e=q(t);e&&Z(e)},end:z,cancel:U,remove:V,destroy:function(){L(!0),Y({})},canMove:function(t){return!!q(t)},dragging:!1});return!0===I.removeOnSpill&&P.on(\"over\",function(t){a.rm(t,\"gu-hide\")}).on(\"out\",function(t){P.dragging&&a.add(t,\"gu-hide\")}),L(),P;function O(t){return-1!==P.containers.indexOf(t)||I.isContainer(t)}function L(t){var e=t?\"remove\":\"add\";s(o,e,\"mousedown\",B),s(o,e,\"mouseup\",Y)}function R(t){s(o,t?\"remove\":\"add\",\"mousemove\",H)}function N(t){var e=t?\"remove\":\"add\";i[e](o,\"selectstart\",F),i[e](o,\"click\",F)}function F(t){E&&t.preventDefault()}function B(t){if(k=t.clientX,C=t.clientY,1===c(t)&&!t.metaKey&&!t.ctrlKey){var e=t.target,l=q(e);l&&(E=l,R(),\"mousedown\"===t.type&&(b(e)?e.focus():t.preventDefault()))}}function H(t){if(E)if(0!==c(t)){if(void 0===t.clientX||t.clientX!==k||void 0===t.clientY||t.clientY!==C){if(I.ignoreInputTextSelection){var e=y(\"clientX\",t),n=y(\"clientY\",t);if(b(r.elementFromPoint(e,n)))return}var i=E;R(!0),N(),z(),Z(i);var d,h={left:(d=_.getBoundingClientRect()).left+u(\"scrollLeft\",\"pageXOffset\"),top:d.top+u(\"scrollTop\",\"pageYOffset\")};w=y(\"pageX\",t)-h.left,S=y(\"pageY\",t)-h.top,a.add(M||_,\"gu-transit\"),function(){if(!l){var t=_.getBoundingClientRect();(l=_.cloneNode(!0)).style.width=p(t)+\"px\",l.style.height=g(t)+\"px\",a.rm(l,\"gu-transit\"),a.add(l,\"gu-mirror\"),I.mirrorContainer.appendChild(l),s(o,\"add\",\"mousemove\",Q),a.add(I.mirrorContainer,\"gu-unselectable\"),P.emit(\"cloned\",l,_,\"mirror\")}}(),Q(t)}}else Y({})}function q(t){if(!(P.dragging&&l||O(t))){for(var e=t;m(t)&&!1===O(m(t));){if(I.invalid(t,e))return;if(!(t=m(t)))return}var n=m(t);if(n&&!I.invalid(t,e)&&I.moves(t,n,e,v(t)))return{item:t,source:n}}}function Z(t){var e,l;e=t.item,l=t.source,(\"boolean\"==typeof I.copy?I.copy:I.copy(e,l))&&(M=t.item.cloneNode(!0),P.emit(\"cloned\",M,t.item,\"copy\")),x=t.source,_=t.item,T=D=v(t.item),P.dragging=!0,P.emit(\"drag\",_,x)}function z(){if(P.dragging){var t=M||_;W(t,m(t))}}function $(){E=!1,R(!0),N(!0)}function Y(t){if($(),P.dragging){var e=M||_,n=y(\"clientX\",t),i=y(\"clientY\",t),a=K(d(l,n,i),n,i);a&&(M&&I.copySortSource||!M||a!==x)?W(e,a):I.removeOnSpill?V():U()}}function W(t,e){var l=m(t);M&&I.copySortSource&&e===x&&l.removeChild(_),X(e)?P.emit(\"cancel\",t,x,x):P.emit(\"drop\",t,e,x,D),G()}function V(){if(P.dragging){var t=M||_,e=m(t);e&&e.removeChild(t),P.emit(M?\"cancel\":\"remove\",t,e,x),G()}}function U(t){if(P.dragging){var e=arguments.length>0?t:I.revertOnSpill,l=M||_,n=m(l),i=X(n);!1===i&&e&&(M?n&&n.removeChild(M):x.insertBefore(l,T)),i||e?P.emit(\"cancel\",l,x,x):P.emit(\"drop\",l,n,x,D),G()}}function G(){var t=M||_;$(),l&&(a.rm(I.mirrorContainer,\"gu-unselectable\"),s(o,\"remove\",\"mousemove\",Q),m(l).removeChild(l),l=null),t&&a.rm(t,\"gu-transit\"),A&&clearTimeout(A),P.dragging=!1,j&&P.emit(\"out\",t,j,x),P.emit(\"dragend\",t),x=_=M=T=D=A=j=null}function X(t,e){var n;return n=void 0!==e?e:l?D:v(M||_),t===x&&n===T}function K(t,e,l){for(var n=t;n&&!i();)n=m(n);return n;function i(){if(!1===O(n))return!1;var i=J(n,t),a=tt(n,i,e,l);return!!X(n,a)||I.accepts(_,n,x,a)}}function Q(t){if(l){t.preventDefault();var e=y(\"clientX\",t),n=y(\"clientY\",t),i=e-w,a=n-S;l.style.left=i+\"px\",l.style.top=a+\"px\";var r=M||_,o=d(l,e,n),s=K(o,e,n),c=null!==s&&s!==j;(c||null===s)&&(j&&p(\"out\"),j=s,c&&p(\"over\"));var u=m(r);if(s!==x||!M||I.copySortSource){var h,f=J(s,o);if(null!==f)h=tt(s,f,e,n);else{if(!0!==I.revertOnSpill||M)return void(M&&u&&u.removeChild(r));h=T,s=x}(null===h&&c||h!==r&&h!==v(r))&&(D=h,s.insertBefore(r,h),P.emit(\"shadow\",r,s,x))}else u&&u.removeChild(r)}function p(t){P.emit(t,r,j,x)}}function J(t,e){for(var l=e;l!==t&&m(l)!==t;)l=m(l);return l===o?null:l}function tt(t,e,l,n){var i,a=\"horizontal\"===I.direction;return e!==t?(i=e.getBoundingClientRect(),r(a?l>i.left+p(i)/2:n>i.top+g(i)/2)):function(){var e,i,r,o=t.children.length;for(e=0;e<o;e++){if(i=t.children[e],r=i.getBoundingClientRect(),a&&r.left+r.width/2>l)return i;if(!a&&r.top+r.height/2>n)return i}return null}();function r(t){return t?v(e):e}}}}).call(this,l(2))},function(t,e,l){\n/*!\n * \n *         SimpleBar.js - v2.6.1\n *         Scrollbars, simpler.\n *         https://grsmto.github.io/simplebar/\n *         \n *         Made by Adrien Grsmto from a fork by Jonathan Nicol\n *         Under MIT License\n *       \n */\nt.exports=function(t){function e(n){if(l[n])return l[n].exports;var i=l[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var l={};return e.m=t,e.c=l,e.d=function(t,l,n){e.o(t,l)||Object.defineProperty(t,l,{configurable:!1,enumerable:!0,get:n})},e.n=function(t){var l=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(l,\"a\",l),l},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"\",e(e.s=27)}([function(t,e,l){var n=l(23)(\"wks\"),i=l(12),a=l(1).Symbol,r=\"function\"==typeof a;(t.exports=function(t){return n[t]||(n[t]=r&&a[t]||(r?a:i)(\"Symbol.\"+t))}).store=n},function(t,e){var l=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=l)},function(t,e){var l={}.hasOwnProperty;t.exports=function(t,e){return l.call(t,e)}},function(t,e){var l=t.exports={version:\"2.5.1\"};\"number\"==typeof __e&&(__e=l)},function(t,e,l){var n=l(5),i=l(11);t.exports=l(7)?function(t,e,l){return n.f(t,e,i(1,l))}:function(t,e,l){return t[e]=l,t}},function(t,e,l){var n=l(6),i=l(33),a=l(34),r=Object.defineProperty;e.f=l(7)?Object.defineProperty:function(t,e,l){if(n(t),e=a(e,!0),n(l),i)try{return r(t,e,l)}catch(t){}if(\"get\"in l||\"set\"in l)throw TypeError(\"Accessors not supported!\");return\"value\"in l&&(t[e]=l.value),t}},function(t,e,l){var n=l(10);t.exports=function(t){if(!n(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,l){t.exports=!l(16)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e){var l=Math.ceil,n=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?n:l)(t)}},function(t,e){t.exports=function(t){if(null==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e){t.exports=function(t){return\"object\"==typeof t?null!==t:\"function\"==typeof t}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){var l=0,n=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++l+n).toString(36))}},function(t,e){t.exports={}},function(t,e,l){var n=l(23)(\"keys\"),i=l(12);t.exports=function(t){return n[t]||(n[t]=i(t))}},function(t,e,l){var n=l(1),i=l(3),a=l(4),r=l(18),o=l(19),s=function(t,e,l){var c,u,d,h,f=t&s.F,p=t&s.G,g=t&s.S,m=t&s.P,b=t&s.B,v=p?n:g?n[e]||(n[e]={}):(n[e]||{}).prototype,y=p?i:i[e]||(i[e]={}),x=y.prototype||(y.prototype={});for(c in p&&(l=e),l)u=!f&&v&&void 0!==v[c],d=(u?v:l)[c],h=b&&u?o(d,n):m&&\"function\"==typeof d?o(Function.call,d):d,v&&r(v,c,d,t&s.U),y[c]!=d&&a(y,c,h),m&&x[c]!=d&&(x[c]=d)};n.core=i,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,l){var n=l(10),i=l(1).document,a=n(i)&&n(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,e,l){var n=l(1),i=l(4),a=l(2),r=l(12)(\"src\"),o=Function.toString,s=(\"\"+o).split(\"toString\");l(3).inspectSource=function(t){return o.call(t)},(t.exports=function(t,e,l,o){var c=\"function\"==typeof l;c&&(a(l,\"name\")||i(l,\"name\",e)),t[e]!==l&&(c&&(a(l,r)||i(l,r,t[e]?\"\"+t[e]:s.join(String(e)))),t===n?t[e]=l:o?t[e]?t[e]=l:i(t,e,l):(delete t[e],i(t,e,l)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[r]||o.call(this)})},function(t,e,l){var n=l(35);t.exports=function(t,e,l){if(n(t),void 0===e)return t;switch(l){case 1:return function(l){return t.call(e,l)};case 2:return function(l,n){return t.call(e,l,n)};case 3:return function(l,n,i){return t.call(e,l,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,l){var n=l(41),i=l(9);t.exports=function(t){return n(i(t))}},function(t,e){var l={}.toString;t.exports=function(t){return l.call(t).slice(8,-1)}},function(t,e,l){var n=l(8),i=Math.min;t.exports=function(t){return t>0?i(n(t),9007199254740991):0}},function(t,e,l){var n=l(1),i=n[\"__core-js_shared__\"]||(n[\"__core-js_shared__\"]={});t.exports=function(t){return i[t]||(i[t]={})}},function(t,e){t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,l){var n=l(5).f,i=l(2),a=l(0)(\"toStringTag\");t.exports=function(t,e,l){t&&!i(t=l?t:t.prototype,a)&&n(t,a,{configurable:!0,value:e})}},function(t,e,l){var n=l(9);t.exports=function(t){return Object(n(t))}},function(t,e,l){\"use strict\";function n(t){return t&&t.__esModule?t:{default:t}}function i(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=void 0,l(28);var a=n(l(53)),r=n(l(54)),o=n(l(56));l(57),Object.assign=l(58);var s=function(){function t(e,l){(function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")})(this,t),this.el=e,this.flashTimeout,this.contentEl,this.scrollContentEl,this.dragOffset={x:0,y:0},this.isVisible={x:!0,y:!0},this.scrollOffsetAttr={x:\"scrollLeft\",y:\"scrollTop\"},this.sizeAttr={x:\"offsetWidth\",y:\"offsetHeight\"},this.scrollSizeAttr={x:\"scrollWidth\",y:\"scrollHeight\"},this.offsetAttr={x:\"left\",y:\"top\"},this.globalObserver,this.mutationObserver,this.resizeObserver,this.currentAxis,this.isRtl,this.options=Object.assign({},t.defaultOptions,l),this.classNames=this.options.classNames,this.scrollbarWidth=(0,a.default)(),this.offsetSize=20,this.flashScrollbar=this.flashScrollbar.bind(this),this.onDragY=this.onDragY.bind(this),this.onDragX=this.onDragX.bind(this),this.onScrollY=this.onScrollY.bind(this),this.onScrollX=this.onScrollX.bind(this),this.drag=this.drag.bind(this),this.onEndDrag=this.onEndDrag.bind(this),this.onMouseEnter=this.onMouseEnter.bind(this),this.recalculate=(0,r.default)(this.recalculate,100,{leading:!0}),this.init()}return function(t,e,l){e&&i(t.prototype,e),l&&i(t,l)}(t,[{key:\"init\",value:function(){this.el.SimpleBar=this,this.initDOM(),this.scrollbarX=this.trackX.querySelector(\".\".concat(this.classNames.scrollbar)),this.scrollbarY=this.trackY.querySelector(\".\".concat(this.classNames.scrollbar)),this.isRtl=\"rtl\"===getComputedStyle(this.contentEl).direction,this.scrollContentEl.style[this.isRtl?\"paddingLeft\":\"paddingRight\"]=\"\".concat(this.scrollbarWidth||this.offsetSize,\"px\"),this.scrollContentEl.style.marginBottom=\"-\".concat(2*this.scrollbarWidth||this.offsetSize,\"px\"),this.contentEl.style.paddingBottom=\"\".concat(this.scrollbarWidth||this.offsetSize,\"px\"),0!==this.scrollbarWidth&&(this.contentEl.style[this.isRtl?\"marginLeft\":\"marginRight\"]=\"-\".concat(this.scrollbarWidth,\"px\")),this.recalculate(),this.initListeners()}},{key:\"initDOM\",value:function(){var t=this;if(Array.from(this.el.children).filter(function(e){return e.classList.contains(t.classNames.scrollContent)}).length)this.trackX=this.el.querySelector(\".\".concat(this.classNames.track,\".horizontal\")),this.trackY=this.el.querySelector(\".\".concat(this.classNames.track,\".vertical\")),this.scrollContentEl=this.el.querySelector(\".\".concat(this.classNames.scrollContent)),this.contentEl=this.el.querySelector(\".\".concat(this.classNames.content));else{for(this.scrollContentEl=document.createElement(\"div\"),this.contentEl=document.createElement(\"div\"),this.scrollContentEl.classList.add(this.classNames.scrollContent),this.contentEl.classList.add(this.classNames.content);this.el.firstChild;)this.contentEl.appendChild(this.el.firstChild);this.scrollContentEl.appendChild(this.contentEl),this.el.appendChild(this.scrollContentEl)}if(!this.trackX||!this.trackY){var e=document.createElement(\"div\"),l=document.createElement(\"div\");e.classList.add(this.classNames.track),l.classList.add(this.classNames.scrollbar),e.appendChild(l),this.trackX=e.cloneNode(!0),this.trackX.classList.add(\"horizontal\"),this.trackY=e.cloneNode(!0),this.trackY.classList.add(\"vertical\"),this.el.insertBefore(this.trackX,this.el.firstChild),this.el.insertBefore(this.trackY,this.el.firstChild)}this.el.setAttribute(\"data-simplebar\",\"init\")}},{key:\"initListeners\",value:function(){var t=this;this.options.autoHide&&this.el.addEventListener(\"mouseenter\",this.onMouseEnter),this.scrollbarY.addEventListener(\"mousedown\",this.onDragY),this.scrollbarX.addEventListener(\"mousedown\",this.onDragX),this.scrollContentEl.addEventListener(\"scroll\",this.onScrollY),this.contentEl.addEventListener(\"scroll\",this.onScrollX),\"undefined\"!=typeof MutationObserver&&(this.mutationObserver=new MutationObserver(function(e){e.forEach(function(e){(t.isChildNode(e.target)||e.addedNodes.length)&&t.recalculate()})}),this.mutationObserver.observe(this.el,{attributes:!0,childList:!0,characterData:!0,subtree:!0})),this.resizeObserver=new o.default(this.recalculate.bind(this)),this.resizeObserver.observe(this.el)}},{key:\"removeListeners\",value:function(){this.options.autoHide&&this.el.removeEventListener(\"mouseenter\",this.onMouseEnter),this.scrollbarX.removeEventListener(\"mousedown\",this.onDragX),this.scrollbarY.removeEventListener(\"mousedown\",this.onDragY),this.scrollContentEl.removeEventListener(\"scroll\",this.onScrollY),this.contentEl.removeEventListener(\"scroll\",this.onScrollX),this.mutationObserver.disconnect(),this.resizeObserver.disconnect()}},{key:\"onDragX\",value:function(t){this.onDrag(t,\"x\")}},{key:\"onDragY\",value:function(t){this.onDrag(t,\"y\")}},{key:\"onDrag\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"y\";t.preventDefault();var l=\"y\"===e?this.scrollbarY:this.scrollbarX,n=\"y\"===e?t.pageY:t.pageX;this.dragOffset[e]=n-l.getBoundingClientRect()[this.offsetAttr[e]],this.currentAxis=e,document.addEventListener(\"mousemove\",this.drag),document.addEventListener(\"mouseup\",this.onEndDrag)}},{key:\"drag\",value:function(t){var e,l,n;t.preventDefault(),\"y\"===this.currentAxis?(e=t.pageY,l=this.trackY,n=this.scrollContentEl):(e=t.pageX,l=this.trackX,n=this.contentEl);var i=e-l.getBoundingClientRect()[this.offsetAttr[this.currentAxis]]-this.dragOffset[this.currentAxis],a=i/l[this.sizeAttr[this.currentAxis]],r=a*this.contentEl[this.scrollSizeAttr[this.currentAxis]];n[this.scrollOffsetAttr[this.currentAxis]]=r}},{key:\"onEndDrag\",value:function(){document.removeEventListener(\"mousemove\",this.drag),document.removeEventListener(\"mouseup\",this.onEndDrag)}},{key:\"resizeScrollbar\",value:function(){var t,e,l,n,i,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"y\";\"x\"===a?(t=this.trackX,e=this.scrollbarX,l=this.contentEl[this.scrollOffsetAttr[a]],n=this.contentSizeX,i=this.scrollbarXSize):(t=this.trackY,e=this.scrollbarY,l=this.scrollContentEl[this.scrollOffsetAttr[a]],n=this.contentSizeY,i=this.scrollbarYSize);var r=i/n,o=l/(n-i),s=Math.max(~~(r*i),this.options.scrollbarMinSize),c=~~((i-s)*o);this.isVisible[a]=i<n,this.isVisible[a]||this.options.forceVisible?(t.style.visibility=\"visible\",this.options.forceVisible?e.style.visibility=\"hidden\":e.style.visibility=\"visible\",\"x\"===a?(e.style.left=\"\".concat(c,\"px\"),e.style.width=\"\".concat(s,\"px\")):(e.style.top=\"\".concat(c,\"px\"),e.style.height=\"\".concat(s,\"px\"))):t.style.visibility=\"hidden\"}},{key:\"onScrollX\",value:function(){this.flashScrollbar(\"x\")}},{key:\"onScrollY\",value:function(){this.flashScrollbar(\"y\")}},{key:\"onMouseEnter\",value:function(){this.flashScrollbar(\"x\"),this.flashScrollbar(\"y\")}},{key:\"flashScrollbar\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"y\";this.resizeScrollbar(t),this.showScrollbar(t)}},{key:\"showScrollbar\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"y\";this.isVisible[t]&&(\"x\"===t?this.scrollbarX.classList.add(\"visible\"):this.scrollbarY.classList.add(\"visible\"),this.options.autoHide&&(\"number\"==typeof this.flashTimeout&&window.clearTimeout(this.flashTimeout),this.flashTimeout=window.setTimeout(this.hideScrollbar.bind(this),1e3)))}},{key:\"hideScrollbar\",value:function(){this.scrollbarX.classList.remove(\"visible\"),this.scrollbarY.classList.remove(\"visible\"),\"number\"==typeof this.flashTimeout&&window.clearTimeout(this.flashTimeout)}},{key:\"recalculate\",value:function(){this.contentSizeX=this.contentEl[this.scrollSizeAttr.x],this.contentSizeY=this.contentEl[this.scrollSizeAttr.y]-(this.scrollbarWidth||this.offsetSize),this.scrollbarXSize=this.trackX[this.sizeAttr.x],this.scrollbarYSize=this.trackY[this.sizeAttr.y],this.resizeScrollbar(\"x\"),this.resizeScrollbar(\"y\"),this.options.autoHide||(this.showScrollbar(\"x\"),this.showScrollbar(\"y\"))}},{key:\"getScrollElement\",value:function(){return\"y\"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"y\")?this.scrollContentEl:this.contentEl}},{key:\"getContentElement\",value:function(){return this.contentEl}},{key:\"unMount\",value:function(){this.removeListeners(),this.el.SimpleBar=null}},{key:\"isChildNode\",value:function(t){return null!==t&&(t===this.el||this.isChildNode(t.parentNode))}}],[{key:\"initHtmlApi\",value:function(){this.initDOMLoadedElements=this.initDOMLoadedElements.bind(this),\"undefined\"!=typeof MutationObserver&&(this.globalObserver=new MutationObserver(function(e){e.forEach(function(e){Array.from(e.addedNodes).forEach(function(e){1===e.nodeType&&(e.hasAttribute(\"data-simplebar\")?!e.SimpleBar&&new t(e,t.getElOptions(e)):Array.from(e.querySelectorAll(\"[data-simplebar]\")).forEach(function(e){!e.SimpleBar&&new t(e,t.getElOptions(e))}))}),Array.from(e.removedNodes).forEach(function(t){1===t.nodeType&&(t.hasAttribute(\"data-simplebar\")?t.SimpleBar&&t.SimpleBar.unMount():Array.from(t.querySelectorAll(\"[data-simplebar]\")).forEach(function(t){t.SimpleBar&&t.SimpleBar.unMount()}))})})}),this.globalObserver.observe(document,{childList:!0,subtree:!0})),\"complete\"===document.readyState||\"loading\"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(this.initDOMLoadedElements.bind(this)):(document.addEventListener(\"DOMContentLoaded\",this.initDOMLoadedElements),window.addEventListener(\"load\",this.initDOMLoadedElements))}},{key:\"getElOptions\",value:function(e){return Object.keys(t.htmlAttributes).reduce(function(l,n){var i=t.htmlAttributes[n];return e.hasAttribute(i)&&(l[n]=JSON.parse(e.getAttribute(i)||!0)),l},{})}},{key:\"removeObserver\",value:function(){this.globalObserver.disconnect()}},{key:\"initDOMLoadedElements\",value:function(){document.removeEventListener(\"DOMContentLoaded\",this.initDOMLoadedElements),window.removeEventListener(\"load\",this.initDOMLoadedElements),Array.from(document.querySelectorAll(\"[data-simplebar]\")).forEach(function(e){e.SimpleBar||new t(e,t.getElOptions(e))})}},{key:\"defaultOptions\",get:function(){return{autoHide:!0,forceVisible:!1,classNames:{content:\"simplebar-content\",scrollContent:\"simplebar-scroll-content\",scrollbar:\"simplebar-scrollbar\",track:\"simplebar-track\"},scrollbarMinSize:25}}},{key:\"htmlAttributes\",get:function(){return{autoHide:\"data-simplebar-auto-hide\",forceVisible:\"data-simplebar-force-visible\",scrollbarMinSize:\"data-simplebar-scrollbar-min-size\"}}}]),t}();e.default=s,s.initHtmlApi()},function(t,e,l){l(29),l(46),t.exports=l(3).Array.from},function(t,e,l){\"use strict\";var n=l(30)(!0);l(31)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,l=this._i;return l>=e.length?{value:void 0,done:!0}:(t=n(e,l),this._i+=t.length,{value:t,done:!1})})},function(t,e,l){var n=l(8),i=l(9);t.exports=function(t){return function(e,l){var a,r,o=String(i(e)),s=n(l),c=o.length;return s<0||s>=c?t?\"\":void 0:(a=o.charCodeAt(s))<55296||a>56319||s+1===c||(r=o.charCodeAt(s+1))<56320||r>57343?t?o.charAt(s):a:t?o.slice(s,s+2):r-56320+(a-55296<<10)+65536}}},function(t,e,l){\"use strict\";var n=l(32),i=l(15),a=l(18),r=l(4),o=l(2),s=l(13),c=l(36),u=l(25),d=l(45),h=l(0)(\"iterator\"),f=!([].keys&&\"next\"in[].keys()),p=function(){return this};t.exports=function(t,e,l,g,m,b,v){c(l,e,g);var y,x,_,w=function(t){if(!f&&t in T)return T[t];switch(t){case\"keys\":case\"values\":return function(){return new l(this,t)}}return function(){return new l(this,t)}},S=e+\" Iterator\",k=\"values\"==m,C=!1,T=t.prototype,D=T[h]||T[\"@@iterator\"]||m&&T[m],M=D||w(m),A=m?k?w(\"entries\"):M:void 0,E=\"Array\"==e&&T.entries||D;if(E&&(_=d(E.call(new t)))!==Object.prototype&&_.next&&(u(_,S,!0),n||o(_,h)||r(_,h,p)),k&&D&&\"values\"!==D.name&&(C=!0,M=function(){return D.call(this)}),n&&!v||!f&&!C&&T[h]||r(T,h,M),s[e]=M,s[S]=p,m)if(y={values:k?M:w(\"values\"),keys:b?M:w(\"keys\"),entries:A},v)for(x in y)x in T||a(T,x,y[x]);else i(i.P+i.F*(f||C),e,y);return y}},function(t,e){t.exports=!1},function(t,e,l){t.exports=!l(7)&&!l(16)(function(){return 7!=Object.defineProperty(l(17)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,l){var n=l(10);t.exports=function(t,e){if(!n(t))return t;var l,i;if(e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;if(\"function\"==typeof(l=t.valueOf)&&!n(i=l.call(t)))return i;if(!e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e){t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,l){\"use strict\";var n=l(37),i=l(11),a=l(25),r={};l(4)(r,l(0)(\"iterator\"),function(){return this}),t.exports=function(t,e,l){t.prototype=n(r,{next:i(1,l)}),a(t,e+\" Iterator\")}},function(t,e,l){var n=l(6),i=l(38),a=l(24),r=l(14)(\"IE_PROTO\"),o=function(){},s=function(){var t,e=l(17)(\"iframe\"),n=a.length;for(e.style.display=\"none\",l(44).appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),s=t.F;n--;)delete s.prototype[a[n]];return s()};t.exports=Object.create||function(t,e){var l;return null!==t?(o.prototype=n(t),l=new o,o.prototype=null,l[r]=t):l=s(),void 0===e?l:i(l,e)}},function(t,e,l){var n=l(5),i=l(6),a=l(39);t.exports=l(7)?Object.defineProperties:function(t,e){i(t);for(var l,r=a(e),o=r.length,s=0;o>s;)n.f(t,l=r[s++],e[l]);return t}},function(t,e,l){var n=l(40),i=l(24);t.exports=Object.keys||function(t){return n(t,i)}},function(t,e,l){var n=l(2),i=l(20),a=l(42)(!1),r=l(14)(\"IE_PROTO\");t.exports=function(t,e){var l,o=i(t),s=0,c=[];for(l in o)l!=r&&n(o,l)&&c.push(l);for(;e.length>s;)n(o,l=e[s++])&&(~a(c,l)||c.push(l));return c}},function(t,e,l){var n=l(21);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==n(t)?t.split(\"\"):Object(t)}},function(t,e,l){var n=l(20),i=l(22),a=l(43);t.exports=function(t){return function(e,l,r){var o,s=n(e),c=i(s.length),u=a(r,c);if(t&&l!=l){for(;c>u;)if((o=s[u++])!=o)return!0}else for(;c>u;u++)if((t||u in s)&&s[u]===l)return t||u||0;return!t&&-1}}},function(t,e,l){var n=l(8),i=Math.max,a=Math.min;t.exports=function(t,e){return(t=n(t))<0?i(t+e,0):a(t,e)}},function(t,e,l){var n=l(1).document;t.exports=n&&n.documentElement},function(t,e,l){var n=l(2),i=l(26),a=l(14)(\"IE_PROTO\"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,a)?t[a]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,l){\"use strict\";var n=l(19),i=l(15),a=l(26),r=l(47),o=l(48),s=l(22),c=l(49),u=l(50);i(i.S+i.F*!l(52)(function(t){Array.from(t)}),\"Array\",{from:function(t){var e,l,i,d,h=a(t),f=\"function\"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,m=void 0!==g,b=0,v=u(h);if(m&&(g=n(g,p>2?arguments[2]:void 0,2)),null==v||f==Array&&o(v))for(e=s(h.length),l=new f(e);e>b;b++)c(l,b,m?g(h[b],b):h[b]);else for(d=v.call(h),l=new f;!(i=d.next()).done;b++)c(l,b,m?r(d,g,[i.value,b],!0):i.value);return l.length=b,l}})},function(t,e,l){var n=l(6);t.exports=function(t,e,l,i){try{return i?e(n(l)[0],l[1]):e(l)}catch(e){var a=t.return;throw void 0!==a&&n(a.call(t)),e}}},function(t,e,l){var n=l(13),i=l(0)(\"iterator\"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||a[i]===t)}},function(t,e,l){\"use strict\";var n=l(5),i=l(11);t.exports=function(t,e,l){e in t?n.f(t,e,i(0,l)):t[e]=l}},function(t,e,l){var n=l(51),i=l(0)(\"iterator\"),a=l(13);t.exports=l(3).getIteratorMethod=function(t){if(null!=t)return t[i]||t[\"@@iterator\"]||a[n(t)]}},function(t,e,l){var n=l(21),i=l(0)(\"toStringTag\"),a=\"Arguments\"==n(function(){return arguments}());t.exports=function(t){var e,l,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(l=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?l:a?n(e):\"Object\"==(r=n(e))&&\"function\"==typeof e.callee?\"Arguments\":r}},function(t,e,l){var n=l(0)(\"iterator\"),i=!1;try{var a=[7][n]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var l=!1;try{var a=[7],r=a[n]();r.next=function(){return{done:l=!0}},a[n]=function(){return r},t(a)}catch(t){}return l}},function(t,e,l){var n,i,a;/*! scrollbarWidth.js v0.1.3 | felixexter | MIT | https://github.com/felixexter/scrollbarWidth */i=[],void 0!==(a=\"function\"==typeof(n=function(){\"use strict\";return function(){if(\"undefined\"==typeof document)return 0;var t,e=document.body,l=document.createElement(\"div\"),n=l.style;return n.position=\"absolute\",n.top=n.left=\"-9999px\",n.width=n.height=\"100px\",n.overflow=\"scroll\",e.appendChild(l),t=l.offsetWidth-l.clientWidth,e.removeChild(l),t}})?n.apply(e,i):n)&&(t.exports=a)},function(t,e,l){(function(e){function l(t){var e=typeof t;return!!t&&(\"object\"==e||\"function\"==e)}function n(t){if(\"number\"==typeof t)return t;if(function(t){return\"symbol\"==typeof t||function(t){return!!t&&\"object\"==typeof t}(t)&&m.call(t)==r}(t))return a;if(l(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=l(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=t.replace(o,\"\");var n=c.test(t);return n||u.test(t)?d(t.slice(2),n?2:8):s.test(t)?a:+t}var i=\"Expected a function\",a=NaN,r=\"[object Symbol]\",o=/^\\s+|\\s+$/g,s=/^[-+]0x[0-9a-f]+$/i,c=/^0b[01]+$/i,u=/^0o[0-7]+$/i,d=parseInt,h=\"object\"==typeof e&&e&&e.Object===Object&&e,f=\"object\"==typeof self&&self&&self.Object===Object&&self,p=h||f||Function(\"return this\")(),g=Object.prototype,m=g.toString,b=Math.max,v=Math.min,y=function(){return p.Date.now()};t.exports=function(t,e,a){function r(e){var l=d,n=h;return d=h=void 0,x=e,p=t.apply(n,l)}function o(t){var l=t-m,n=t-x;return void 0===m||l>=e||l<0||w&&n>=f}function s(){var t=y();if(o(t))return c(t);g=setTimeout(s,function(t){var l=t-x,n=e-(t-m);return w?v(n,f-l):n}(t))}function c(t){return g=void 0,S&&d?r(t):(d=h=void 0,p)}function u(){var t=y(),l=o(t);if(d=arguments,h=this,m=t,l){if(void 0===g)return function(t){return x=t,g=setTimeout(s,e),_?r(t):p}(m);if(w)return g=setTimeout(s,e),r(m)}return void 0===g&&(g=setTimeout(s,e)),p}var d,h,f,p,g,m,x=0,_=!1,w=!1,S=!0;if(\"function\"!=typeof t)throw new TypeError(i);return e=n(e)||0,l(a)&&(_=!!a.leading,f=(w=\"maxWait\"in a)?b(n(a.maxWait)||0,e):f,S=\"trailing\"in a?!!a.trailing:S),u.cancel=function(){void 0!==g&&clearTimeout(g),x=0,d=m=h=g=void 0},u.flush=function(){return void 0===g?p:c(y())},u}}).call(e,l(55))},function(t,e){var l;l=function(){return this}();try{l=l||Function(\"return this\")()||(0,eval)(\"this\")}catch(t){\"object\"==typeof window&&(l=window)}t.exports=l},function(t,e,l){\"use strict\";function n(t){return parseFloat(t)||0}function i(t){return Array.prototype.slice.call(arguments,1).reduce(function(e,l){return e+n(t[\"border-\"+l+\"-width\"])},0)}function a(t){var e=t.clientWidth,l=t.clientHeight;if(!e&&!l)return b;var a=getComputedStyle(t),r=function(t){for(var e={},l=0,i=[\"top\",\"right\",\"bottom\",\"left\"];l<i.length;l+=1){var a=i[l],r=t[\"padding-\"+a];e[a]=n(r)}return e}(a),s=r.left+r.right,c=r.top+r.bottom,u=n(a.width),d=n(a.height);if(\"border-box\"===a.boxSizing&&(Math.round(u+s)!==e&&(u-=i(a,\"left\",\"right\")+s),Math.round(d+c)!==l&&(d-=i(a,\"top\",\"bottom\")+c)),!function(t){return t===document.documentElement}(t)){var h=Math.round(u+s)-e,f=Math.round(d+c)-l;1!==Math.abs(h)&&(u-=h),1!==Math.abs(f)&&(d-=f)}return o(r.left,r.top,u,d)}function r(t){return c?v(t)?function(t){var e=t.getBBox();return o(0,0,e.width,e.height)}(t):a(t):b}function o(t,e,l,n){return{x:t,y:e,width:l,height:n}}Object.defineProperty(e,\"__esModule\",{value:!0});var s=function(){function t(t,e){var l=-1;return t.some(function(t,n){return t[0]===e&&(l=n,!0)}),l}return\"undefined\"!=typeof Map?Map:function(){function e(){this.__entries__=[]}var l={size:{}};return l.size.get=function(){return this.__entries__.length},e.prototype.get=function(e){var l=t(this.__entries__,e),n=this.__entries__[l];return n&&n[1]},e.prototype.set=function(e,l){var n=t(this.__entries__,e);~n?this.__entries__[n][1]=l:this.__entries__.push([e,l])},e.prototype.delete=function(e){var l=this.__entries__,n=t(l,e);~n&&l.splice(n,1)},e.prototype.has=function(e){return!!~t(this.__entries__,e)},e.prototype.clear=function(){this.__entries__.splice(0)},e.prototype.forEach=function(t,e){void 0===e&&(e=null);for(var l=0,n=this.__entries__;l<n.length;l+=1){var i=n[l];t.call(e,i[1],i[0])}},Object.defineProperties(e.prototype,l),e}()}(),c=\"undefined\"!=typeof window&&\"undefined\"!=typeof document&&window.document===document,u=\"function\"==typeof requestAnimationFrame?requestAnimationFrame:function(t){return setTimeout(function(){return t(Date.now())},1e3/60)},d=2,h=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\",\"size\",\"weight\"],f=\"undefined\"!=typeof navigator&&/Trident\\/.*rv:11/.test(navigator.userAgent),p=\"undefined\"!=typeof MutationObserver&&!f,g=function(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=function(t,e){function l(){a&&(a=!1,t()),r&&i()}function n(){u(l)}function i(){var t=Date.now();if(a){if(t-o<d)return;r=!0}else a=!0,r=!1,setTimeout(n,e);o=t}var a=!1,r=!1,o=0;return i}(this.refresh.bind(this),20)};g.prototype.addObserver=function(t){~this.observers_.indexOf(t)||this.observers_.push(t),this.connected_||this.connect_()},g.prototype.removeObserver=function(t){var e=this.observers_,l=e.indexOf(t);~l&&e.splice(l,1),!e.length&&this.connected_&&this.disconnect_()},g.prototype.refresh=function(){this.updateObservers_()&&this.refresh()},g.prototype.updateObservers_=function(){var t=this.observers_.filter(function(t){return t.gatherActive(),t.hasActive()});return t.forEach(function(t){return t.broadcastActive()}),t.length>0},g.prototype.connect_=function(){c&&!this.connected_&&(document.addEventListener(\"transitionend\",this.onTransitionEnd_),window.addEventListener(\"resize\",this.refresh),p?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},g.prototype.disconnect_=function(){c&&this.connected_&&(document.removeEventListener(\"transitionend\",this.onTransitionEnd_),window.removeEventListener(\"resize\",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener(\"DOMSubtreeModified\",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},g.prototype.onTransitionEnd_=function(t){var e=t.propertyName;h.some(function(t){return!!~e.indexOf(t)})&&this.refresh()},g.getInstance=function(){return this.instance_||(this.instance_=new g),this.instance_},g.instance_=null;var m=function(t,e){for(var l=0,n=Object.keys(e);l<n.length;l+=1){var i=n[l];Object.defineProperty(t,i,{value:e[i],enumerable:!1,writable:!1,configurable:!0})}return t},b=o(0,0,0,0),v=\"undefined\"!=typeof SVGGraphicsElement?function(t){return t instanceof SVGGraphicsElement}:function(t){return t instanceof SVGElement&&\"function\"==typeof t.getBBox},y=function(t){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=o(0,0,0,0),this.target=t};y.prototype.isActive=function(){var t=r(this.target);return this.contentRect_=t,t.width!==this.broadcastWidth||t.height!==this.broadcastHeight},y.prototype.broadcastRect=function(){var t=this.contentRect_;return this.broadcastWidth=t.width,this.broadcastHeight=t.height,t};var x=function(t,e){var l=function(t){var e=t.x,l=t.y,n=t.width,i=t.height,a=\"undefined\"!=typeof DOMRectReadOnly?DOMRectReadOnly:Object,r=Object.create(a.prototype);return m(r,{x:e,y:l,width:n,height:i,top:l,right:e+n,bottom:i+l,left:e}),r}(e);m(this,{target:t,contentRect:l})},_=function(t,e,l){if(\"function\"!=typeof t)throw new TypeError(\"The callback provided as parameter 1 is not a function.\");this.activeObservations_=[],this.observations_=new s,this.callback_=t,this.controller_=e,this.callbackCtx_=l};_.prototype.observe=function(t){if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");if(\"undefined\"!=typeof Element&&Element instanceof Object){if(!(t instanceof Element))throw new TypeError('parameter 1 is not of type \"Element\".');var e=this.observations_;e.has(t)||(e.set(t,new y(t)),this.controller_.addObserver(this),this.controller_.refresh())}},_.prototype.unobserve=function(t){if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");if(\"undefined\"!=typeof Element&&Element instanceof Object){if(!(t instanceof Element))throw new TypeError('parameter 1 is not of type \"Element\".');var e=this.observations_;e.has(t)&&(e.delete(t),e.size||this.controller_.removeObserver(this))}},_.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},_.prototype.gatherActive=function(){var t=this;this.clearActive(),this.observations_.forEach(function(e){e.isActive()&&t.activeObservations_.push(e)})},_.prototype.broadcastActive=function(){if(this.hasActive()){var t=this.callbackCtx_,e=this.activeObservations_.map(function(t){return new x(t.target,t.broadcastRect())});this.callback_.call(t,e,t),this.clearActive()}},_.prototype.clearActive=function(){this.activeObservations_.splice(0)},_.prototype.hasActive=function(){return this.activeObservations_.length>0};var w=\"undefined\"!=typeof WeakMap?new WeakMap:new s,S=function(t){if(!(this instanceof S))throw new TypeError(\"Cannot call a class as a function\");if(!arguments.length)throw new TypeError(\"1 argument required, but only 0 present.\");var e=g.getInstance(),l=new _(t,e,this);w.set(this,l)};[\"observe\",\"unobserve\",\"disconnect\"].forEach(function(t){S.prototype[t]=function(){return(e=w.get(this))[t].apply(e,arguments);var e}});var k=\"undefined\"!=typeof ResizeObserver?ResizeObserver:S;e.default=k},function(t,e){},function(t,e,l){\"use strict\";\n/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\nvar n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String(\"abc\");if(t[5]=\"de\",\"5\"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},l=0;l<10;l++)e[\"_\"+String.fromCharCode(l)]=l;if(\"0123456789\"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(\"\"))return!1;var n={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(t){n[t]=t}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},n)).join(\"\")}catch(t){return!1}}()?Object.assign:function(t,e){for(var l,r,o=function(t){if(null==t)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(t)}(t),s=1;s<arguments.length;s++){for(var c in l=Object(arguments[s]))i.call(l,c)&&(o[c]=l[c]);if(n){r=n(l);for(var u=0;u<r.length;u++)a.call(l,r[u])&&(o[r[u]]=l[r[u]])}}return o}}]).default},function(t,e,l){var n,i;l(70),n=[l(1)],void 0===(i=function(t){return function(){var e,l,n,i=0,a={error:\"error\",info:\"info\",success:\"success\",warning:\"warning\"},r={clear:function(l,n){var i=d();e||o(i),s(l,i,n)||function(l){for(var n=e.children(),i=n.length-1;i>=0;i--)s(t(n[i]),l)}(i)},remove:function(l){var n=d();e||o(n),l&&0===t(\":focus\",l).length?h(l):e.children().length&&e.remove()},error:function(t,e,l){return u({type:a.error,iconClass:d().iconClasses.error,message:t,optionsOverride:l,title:e})},getContainer:o,info:function(t,e,l){return u({type:a.info,iconClass:d().iconClasses.info,message:t,optionsOverride:l,title:e})},options:{},subscribe:function(t){l=t},success:function(t,e,l){return u({type:a.success,iconClass:d().iconClasses.success,message:t,optionsOverride:l,title:e})},version:\"2.1.4\",warning:function(t,e,l){return u({type:a.warning,iconClass:d().iconClasses.warning,message:t,optionsOverride:l,title:e})}};return r;function o(l,n){return l||(l=d()),(e=t(\"#\"+l.containerId)).length?e:(n&&(e=function(l){return(e=t(\"<div/>\").attr(\"id\",l.containerId).addClass(l.positionClass)).appendTo(t(l.target)),e}(l)),e)}function s(e,l,n){var i=!(!n||!n.force)&&n.force;return!(!e||!i&&0!==t(\":focus\",e).length||(e[l.hideMethod]({duration:l.hideDuration,easing:l.hideEasing,complete:function(){h(e)}}),0))}function c(t){l&&l(t)}function u(l){var a=d(),r=l.iconClass||a.iconClass;if(void 0!==l.optionsOverride&&(a=t.extend(a,l.optionsOverride),r=l.optionsOverride.iconClass||r),!function(t,e){if(t.preventDuplicates){if(e.message===n)return!0;n=e.message}return!1}(a,l)){i++,e=o(a,!0);var s=null,u=t(\"<div/>\"),f=t(\"<div/>\"),p=t(\"<div/>\"),g=t(\"<div/>\"),m=t(a.closeHtml),b={intervalId:null,hideEta:null,maxHideTime:null},v={toastId:i,state:\"visible\",startTime:new Date,options:a,map:l};return l.iconClass&&u.addClass(a.toastClass).addClass(r),function(){if(l.title){var t=l.title;a.escapeHtml&&(t=y(l.title)),f.append(t).addClass(a.titleClass),u.append(f)}}(),function(){if(l.message){var t=l.message;a.escapeHtml&&(t=y(l.message)),p.append(t).addClass(a.messageClass),u.append(p)}}(),a.closeButton&&(m.addClass(a.closeClass).attr(\"role\",\"button\"),u.prepend(m)),a.progressBar&&(g.addClass(a.progressClass),u.prepend(g)),a.rtl&&u.addClass(\"rtl\"),a.newestOnTop?e.prepend(u):e.append(u),function(){var t=\"\";switch(l.iconClass){case\"toast-success\":case\"toast-info\":t=\"polite\";break;default:t=\"assertive\"}u.attr(\"aria-live\",t)}(),u.hide(),u[a.showMethod]({duration:a.showDuration,easing:a.showEasing,complete:a.onShown}),a.timeOut>0&&(s=setTimeout(x,a.timeOut),b.maxHideTime=parseFloat(a.timeOut),b.hideEta=(new Date).getTime()+b.maxHideTime,a.progressBar&&(b.intervalId=setInterval(S,10))),a.closeOnHover&&u.hover(w,_),!a.onclick&&a.tapToDismiss&&u.click(x),a.closeButton&&m&&m.click(function(t){t.stopPropagation?t.stopPropagation():void 0!==t.cancelBubble&&!0!==t.cancelBubble&&(t.cancelBubble=!0),a.onCloseClick&&a.onCloseClick(t),x(!0)}),a.onclick&&u.click(function(t){a.onclick(t),x()}),c(v),a.debug&&console&&console.log(v),u}function y(t){return null==t&&(t=\"\"),t.replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}function x(e){var l=e&&!1!==a.closeMethod?a.closeMethod:a.hideMethod,n=e&&!1!==a.closeDuration?a.closeDuration:a.hideDuration,i=e&&!1!==a.closeEasing?a.closeEasing:a.hideEasing;if(!t(\":focus\",u).length||e)return clearTimeout(b.intervalId),u[l]({duration:n,easing:i,complete:function(){h(u),clearTimeout(s),a.onHidden&&\"hidden\"!==v.state&&a.onHidden(),v.state=\"hidden\",v.endTime=new Date,c(v)}})}function _(){(a.timeOut>0||a.extendedTimeOut>0)&&(s=setTimeout(x,a.extendedTimeOut),b.maxHideTime=parseFloat(a.extendedTimeOut),b.hideEta=(new Date).getTime()+b.maxHideTime)}function w(){clearTimeout(s),b.hideEta=0,u.stop(!0,!0)[a.showMethod]({duration:a.showDuration,easing:a.showEasing})}function S(){var t=(b.hideEta-(new Date).getTime())/b.maxHideTime*100;g.width(t+\"%\")}}function d(){return t.extend({},{tapToDismiss:!0,toastClass:\"toast\",containerId:\"toast-container\",debug:!1,showMethod:\"fadeIn\",showDuration:300,showEasing:\"swing\",onShown:void 0,hideMethod:\"fadeOut\",hideDuration:1e3,hideEasing:\"swing\",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:\"toast-error\",info:\"toast-info\",success:\"toast-success\",warning:\"toast-warning\"},iconClass:\"toast-info\",positionClass:\"toast-top-right\",timeOut:5e3,titleClass:\"toast-title\",messageClass:\"toast-message\",escapeHtml:!1,target:\"body\",closeHtml:'<button type=\"button\">&times;</button>',closeClass:\"toast-close-button\",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:\"toast-progress\",rtl:!1},r.options)}function h(t){e||(e=o()),t.is(\":visible\")||(t.remove(),t=null,0===e.children().length&&(e.remove(),n=void 0))}}()}.apply(e,n))||(t.exports=i)},function(t,e,l){\n/*!\n * Chart.js v2.8.0\n * https://www.chartjs.org\n * (c) 2019 Chart.js Contributors\n * Released under the MIT License\n */\nt.exports=function(t){\"use strict\";t=t&&t.hasOwnProperty(\"default\")?t.default:t;var e={rgb2hsl:l,rgb2hsv:n,rgb2hwb:i,rgb2cmyk:a,rgb2keyword:o,rgb2xyz:s,rgb2lab:c,rgb2lch:function(t){return y(c(t))},hsl2rgb:u,hsl2hsv:function(t){var e=t[0],l=t[1]/100,n=t[2]/100;return 0===n?[0,0,0]:[e,2*(l*=(n*=2)<=1?n:2-n)/(n+l)*100,(n+l)/2*100]},hsl2hwb:function(t){return i(u(t))},hsl2cmyk:function(t){return a(u(t))},hsl2keyword:function(t){return o(u(t))},hsv2rgb:d,hsv2hsl:function(t){var e,l,n=t[0],i=t[1]/100,a=t[2]/100;return e=i*a,[n,100*(e=(e/=(l=(2-i)*a)<=1?l:2-l)||0),100*(l/=2)]},hsv2hwb:function(t){return i(d(t))},hsv2cmyk:function(t){return a(d(t))},hsv2keyword:function(t){return o(d(t))},hwb2rgb:h,hwb2hsl:function(t){return l(h(t))},hwb2hsv:function(t){return n(h(t))},hwb2cmyk:function(t){return a(h(t))},hwb2keyword:function(t){return o(h(t))},cmyk2rgb:f,cmyk2hsl:function(t){return l(f(t))},cmyk2hsv:function(t){return n(f(t))},cmyk2hwb:function(t){return i(f(t))},cmyk2keyword:function(t){return o(f(t))},keyword2rgb:w,keyword2hsl:function(t){return l(w(t))},keyword2hsv:function(t){return n(w(t))},keyword2hwb:function(t){return i(w(t))},keyword2cmyk:function(t){return a(w(t))},keyword2lab:function(t){return c(w(t))},keyword2xyz:function(t){return s(w(t))},xyz2rgb:p,xyz2lab:m,xyz2lch:function(t){return y(m(t))},lab2xyz:v,lab2rgb:x,lab2lch:y,lch2lab:_,lch2xyz:function(t){return v(_(t))},lch2rgb:function(t){return x(_(t))}};function l(t){var e,l,n=t[0]/255,i=t[1]/255,a=t[2]/255,r=Math.min(n,i,a),o=Math.max(n,i,a),s=o-r;return o==r?e=0:n==o?e=(i-a)/s:i==o?e=2+(a-n)/s:a==o&&(e=4+(n-i)/s),(e=Math.min(60*e,360))<0&&(e+=360),l=(r+o)/2,[e,100*(o==r?0:l<=.5?s/(o+r):s/(2-o-r)),100*l]}function n(t){var e,l,n=t[0],i=t[1],a=t[2],r=Math.min(n,i,a),o=Math.max(n,i,a),s=o-r;return l=0==o?0:s/o*1e3/10,o==r?e=0:n==o?e=(i-a)/s:i==o?e=2+(a-n)/s:a==o&&(e=4+(n-i)/s),(e=Math.min(60*e,360))<0&&(e+=360),[e,l,o/255*1e3/10]}function i(t){var e=t[0],n=t[1],i=t[2],a=l(t)[0],r=1/255*Math.min(e,Math.min(n,i)),i=1-1/255*Math.max(e,Math.max(n,i));return[a,100*r,100*i]}function a(t){var e,l=t[0]/255,n=t[1]/255,i=t[2]/255;return e=Math.min(1-l,1-n,1-i),[100*((1-l-e)/(1-e)||0),100*((1-n-e)/(1-e)||0),100*((1-i-e)/(1-e)||0),100*e]}function o(t){return k[JSON.stringify(t)]}function s(t){var e=t[0]/255,l=t[1]/255,n=t[2]/255;e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92,l=l>.04045?Math.pow((l+.055)/1.055,2.4):l/12.92,n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92;var i=.4124*e+.3576*l+.1805*n,a=.2126*e+.7152*l+.0722*n,r=.0193*e+.1192*l+.9505*n;return[100*i,100*a,100*r]}function c(t){var e=s(t),l=e[0],n=e[1],i=e[2];return n/=100,i/=108.883,l=(l/=95.047)>.008856?Math.pow(l,1/3):7.787*l+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,i=i>.008856?Math.pow(i,1/3):7.787*i+16/116,[116*n-16,500*(l-n),200*(n-i)]}function u(t){var e,l,n,i,a,r=t[0]/360,o=t[1]/100,s=t[2]/100;if(0==o)return[a=255*s,a,a];e=2*s-(l=s<.5?s*(1+o):s+o-s*o),i=[0,0,0];for(var c=0;c<3;c++)(n=r+1/3*-(c-1))<0&&n++,n>1&&n--,a=6*n<1?e+6*(l-e)*n:2*n<1?l:3*n<2?e+(l-e)*(2/3-n)*6:e,i[c]=255*a;return i}function d(t){var e=t[0]/60,l=t[1]/100,n=t[2]/100,i=Math.floor(e)%6,a=e-Math.floor(e),r=255*n*(1-l),o=255*n*(1-l*a),s=255*n*(1-l*(1-a)),n=255*n;switch(i){case 0:return[n,s,r];case 1:return[o,n,r];case 2:return[r,n,s];case 3:return[r,o,n];case 4:return[s,r,n];case 5:return[n,r,o]}}function h(t){var e,l,n,i,a=t[0]/360,o=t[1]/100,s=t[2]/100,c=o+s;switch(c>1&&(o/=c,s/=c),e=Math.floor(6*a),n=6*a-e,0!=(1&e)&&(n=1-n),i=o+n*((l=1-s)-o),e){default:case 6:case 0:r=l,g=i,b=o;break;case 1:r=i,g=l,b=o;break;case 2:r=o,g=l,b=i;break;case 3:r=o,g=i,b=l;break;case 4:r=i,g=o,b=l;break;case 5:r=l,g=o,b=i}return[255*r,255*g,255*b]}function f(t){var e,l,n,i=t[0]/100,a=t[1]/100,r=t[2]/100,o=t[3]/100;return e=1-Math.min(1,i*(1-o)+o),l=1-Math.min(1,a*(1-o)+o),n=1-Math.min(1,r*(1-o)+o),[255*e,255*l,255*n]}function p(t){var e,l,n,i=t[0]/100,a=t[1]/100,r=t[2]/100;return l=-.9689*i+1.8758*a+.0415*r,n=.0557*i+-.204*a+1.057*r,e=(e=3.2406*i+-1.5372*a+-.4986*r)>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,l=l>.0031308?1.055*Math.pow(l,1/2.4)-.055:l*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,e=Math.min(Math.max(0,e),1),l=Math.min(Math.max(0,l),1),n=Math.min(Math.max(0,n),1),[255*e,255*l,255*n]}function m(t){var e=t[0],l=t[1],n=t[2];return l/=100,n/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,l=l>.008856?Math.pow(l,1/3):7.787*l+16/116,n=n>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*l-16,500*(e-l),200*(l-n)]}function v(t){var e,l,n,i,a=t[0],r=t[1],o=t[2];return a<=8?i=(l=100*a/903.3)/100*7.787+16/116:(l=100*Math.pow((a+16)/116,3),i=Math.pow(l/100,1/3)),e=e/95.047<=.008856?e=95.047*(r/500+i-16/116)/7.787:95.047*Math.pow(r/500+i,3),n=n/108.883<=.008859?n=108.883*(i-o/200-16/116)/7.787:108.883*Math.pow(i-o/200,3),[e,l,n]}function y(t){var e,l,n,i=t[0],a=t[1],r=t[2];return e=Math.atan2(r,a),(l=360*e/2/Math.PI)<0&&(l+=360),n=Math.sqrt(a*a+r*r),[i,n,l]}function x(t){return p(v(t))}function _(t){var e,l,n,i=t[0],a=t[1],r=t[2];return n=r/360*2*Math.PI,e=a*Math.cos(n),l=a*Math.sin(n),[i,e,l]}function w(t){return S[t]}var S={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},k={};for(var C in S)k[JSON.stringify(S[C])]=C;var T=function(){return new j};for(var D in e){T[D+\"Raw\"]=function(t){return function(l){return\"number\"==typeof l&&(l=Array.prototype.slice.call(arguments)),e[t](l)}}(D);var M=/(\\w+)2(\\w+)/.exec(D),A=M[1],E=M[2];(T[A]=T[A]||{})[E]=T[D]=function(t){return function(l){\"number\"==typeof l&&(l=Array.prototype.slice.call(arguments));var n=e[t](l);if(\"string\"==typeof n||void 0===n)return n;for(var i=0;i<n.length;i++)n[i]=Math.round(n[i]);return n}}(D)}var j=function(){this.convs={}};j.prototype.routeSpace=function(t,e){var l=e[0];return void 0===l?this.getValues(t):(\"number\"==typeof l&&(l=Array.prototype.slice.call(e)),this.setValues(t,l))},j.prototype.setValues=function(t,e){return this.space=t,this.convs={},this.convs[t]=e,this},j.prototype.getValues=function(t){var e=this.convs[t];if(!e){var l=this.space,n=this.convs[l];e=T[l][t](n),this.convs[t]=e}return e},[\"rgb\",\"hsl\",\"hsv\",\"cmyk\",\"keyword\"].forEach(function(t){j.prototype[t]=function(e){return this.routeSpace(t,arguments)}});var I=T,P={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},O={getRgba:L,getHsla:R,getRgb:function(t){var e=L(t);return e&&e.slice(0,3)},getHsl:function(t){var e=R(t);return e&&e.slice(0,3)},getHwb:N,getAlpha:function(t){var e=L(t);return e?e[3]:(e=R(t))?e[3]:(e=N(t))?e[3]:void 0},hexString:function(t,e){var e=void 0!==e&&3===t.length?e:t[3];return\"#\"+Z(t[0])+Z(t[1])+Z(t[2])+(e>=0&&e<1?Z(Math.round(255*e)):\"\")},rgbString:function(t,e){return e<1||t[3]&&t[3]<1?F(t,e):\"rgb(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"},rgbaString:F,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return B(t,e);var l=Math.round(t[0]/255*100),n=Math.round(t[1]/255*100),i=Math.round(t[2]/255*100);return\"rgb(\"+l+\"%, \"+n+\"%, \"+i+\"%)\"},percentaString:B,hslString:function(t,e){return e<1||t[3]&&t[3]<1?H(t,e):\"hsl(\"+t[0]+\", \"+t[1]+\"%, \"+t[2]+\"%)\"},hslaString:H,hwbString:function(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),\"hwb(\"+t[0]+\", \"+t[1]+\"%, \"+t[2]+\"%\"+(void 0!==e&&1!==e?\", \"+e:\"\")+\")\"},keyword:function(t){return z[t.slice(0,3)]}};function L(t){if(t){var e=[0,0,0],l=1,n=t.match(/^#([a-fA-F0-9]{3,4})$/i),i=\"\";if(n){n=n[1],i=n[3];for(var a=0;a<e.length;a++)e[a]=parseInt(n[a]+n[a],16);i&&(l=Math.round(parseInt(i+i,16)/255*100)/100)}else if(n=t.match(/^#([a-fA-F0-9]{6}([a-fA-F0-9]{2})?)$/i)){i=n[2],n=n[1];for(var a=0;a<e.length;a++)e[a]=parseInt(n.slice(2*a,2*a+2),16);i&&(l=Math.round(parseInt(i,16)/255*100)/100)}else if(n=t.match(/^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i)){for(var a=0;a<e.length;a++)e[a]=parseInt(n[a+1]);l=parseFloat(n[4])}else if(n=t.match(/^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i)){for(var a=0;a<e.length;a++)e[a]=Math.round(2.55*parseFloat(n[a+1]));l=parseFloat(n[4])}else if(n=t.match(/(\\w+)/)){if(\"transparent\"==n[1])return[0,0,0,0];if(!(e=P[n[1]]))return}for(var a=0;a<e.length;a++)e[a]=q(e[a],0,255);return l=l||0==l?q(l,0,1):1,e[3]=l,e}}function R(t){if(t){var e=t.match(/^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/);if(e){var l=parseFloat(e[4]),n=q(parseInt(e[1]),0,360),i=q(parseFloat(e[2]),0,100),a=q(parseFloat(e[3]),0,100),r=q(isNaN(l)?1:l,0,1);return[n,i,a,r]}}}function N(t){if(t){var e=t.match(/^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/);if(e){var l=parseFloat(e[4]),n=q(parseInt(e[1]),0,360),i=q(parseFloat(e[2]),0,100),a=q(parseFloat(e[3]),0,100),r=q(isNaN(l)?1:l,0,1);return[n,i,a,r]}}}function F(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),\"rgba(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+e+\")\"}function B(t,e){var l=Math.round(t[0]/255*100),n=Math.round(t[1]/255*100),i=Math.round(t[2]/255*100);return\"rgba(\"+l+\"%, \"+n+\"%, \"+i+\"%, \"+(e||t[3]||1)+\")\"}function H(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),\"hsla(\"+t[0]+\", \"+t[1]+\"%, \"+t[2]+\"%, \"+e+\")\"}function q(t,e,l){return Math.min(Math.max(e,t),l)}function Z(t){var e=t.toString(16).toUpperCase();return e.length<2?\"0\"+e:e}var z={};for(var $ in P)z[P[$]]=$;var Y=function(t){return t instanceof Y?t:this instanceof Y?(this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1},void(\"string\"==typeof t?(e=O.getRgba(t))?this.setValues(\"rgb\",e):(e=O.getHsla(t))?this.setValues(\"hsl\",e):(e=O.getHwb(t))&&this.setValues(\"hwb\",e):\"object\"==typeof t&&(void 0!==(e=t).r||void 0!==e.red?this.setValues(\"rgb\",e):void 0!==e.l||void 0!==e.lightness?this.setValues(\"hsl\",e):void 0!==e.v||void 0!==e.value?this.setValues(\"hsv\",e):void 0!==e.w||void 0!==e.whiteness?this.setValues(\"hwb\",e):void 0===e.c&&void 0===e.cyan||this.setValues(\"cmyk\",e)))):new Y(t);var e};Y.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace(\"rgb\",arguments)},hsl:function(){return this.setSpace(\"hsl\",arguments)},hsv:function(){return this.setSpace(\"hsv\",arguments)},hwb:function(){return this.setSpace(\"hwb\",arguments)},cmyk:function(){return this.setSpace(\"cmyk\",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues(\"alpha\",t),this)},red:function(t){return this.setChannel(\"rgb\",0,t)},green:function(t){return this.setChannel(\"rgb\",1,t)},blue:function(t){return this.setChannel(\"rgb\",2,t)},hue:function(t){return t&&(t=(t%=360)<0?360+t:t),this.setChannel(\"hsl\",0,t)},saturation:function(t){return this.setChannel(\"hsl\",1,t)},lightness:function(t){return this.setChannel(\"hsl\",2,t)},saturationv:function(t){return this.setChannel(\"hsv\",1,t)},whiteness:function(t){return this.setChannel(\"hwb\",1,t)},blackness:function(t){return this.setChannel(\"hwb\",2,t)},value:function(t){return this.setChannel(\"hsv\",2,t)},cyan:function(t){return this.setChannel(\"cmyk\",0,t)},magenta:function(t){return this.setChannel(\"cmyk\",1,t)},yellow:function(t){return this.setChannel(\"cmyk\",2,t)},black:function(t){return this.setChannel(\"cmyk\",3,t)},hexString:function(){return O.hexString(this.values.rgb)},rgbString:function(){return O.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return O.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return O.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return O.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return O.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return O.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return O.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],l=0;l<t.length;l++){var n=t[l]/255;e[l]=n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),l=t.luminosity();return e>l?(e+.05)/(l+.05):(l+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?\"AAA\":e>=4.5?\"AA\":\"\"},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues(\"rgb\",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues(\"hsl\",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues(\"hsl\",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues(\"hsl\",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues(\"hsl\",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues(\"hwb\",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues(\"hwb\",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues(\"rgb\",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues(\"alpha\",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues(\"alpha\",e+e*t),this},rotate:function(t){var e=this.values.hsl,l=(e[0]+t)%360;return e[0]=l<0?360+l:l,this.setValues(\"hsl\",e),this},mix:function(t,e){var l=t,n=void 0===e?.5:e,i=2*n-1,a=this.alpha()-l.alpha(),r=((i*a==-1?i:(i+a)/(1+i*a))+1)/2,o=1-r;return this.rgb(r*this.red()+o*l.red(),r*this.green()+o*l.green(),r*this.blue()+o*l.blue()).alpha(this.alpha()*n+l.alpha()*(1-n))},toJSON:function(){return this.rgb()},clone:function(){var t,e,l=new Y,n=this.values,i=l.values;for(var a in n)n.hasOwnProperty(a)&&(t=n[a],\"[object Array]\"===(e={}.toString.call(t))?i[a]=t.slice(0):\"[object Number]\"===e?i[a]=t:console.error(\"unexpected color value:\",t));return l}},Y.prototype.spaces={rgb:[\"red\",\"green\",\"blue\"],hsl:[\"hue\",\"saturation\",\"lightness\"],hsv:[\"hue\",\"saturation\",\"value\"],hwb:[\"hue\",\"whiteness\",\"blackness\"],cmyk:[\"cyan\",\"magenta\",\"yellow\",\"black\"]},Y.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},Y.prototype.getValues=function(t){for(var e=this.values,l={},n=0;n<t.length;n++)l[t.charAt(n)]=e[t][n];return 1!==e.alpha&&(l.a=e.alpha),l},Y.prototype.setValues=function(t,e){var l,n,i=this.values,a=this.spaces,r=this.maxes,o=1;if(this.valid=!0,\"alpha\"===t)o=e;else if(e.length)i[t]=e.slice(0,t.length),o=e[t.length];else if(void 0!==e[t.charAt(0)]){for(l=0;l<t.length;l++)i[t][l]=e[t.charAt(l)];o=e.a}else if(void 0!==e[a[t][0]]){var s=a[t];for(l=0;l<t.length;l++)i[t][l]=e[s[l]];o=e.alpha}if(i.alpha=Math.max(0,Math.min(1,void 0===o?i.alpha:o)),\"alpha\"===t)return!1;for(l=0;l<t.length;l++)n=Math.max(0,Math.min(r[t][l],i[t][l])),i[t][l]=Math.round(n);for(var c in a)c!==t&&(i[c]=I[t][c](i[t]));return!0},Y.prototype.setSpace=function(t,e){var l=e[0];return void 0===l?this.getValues(t):(\"number\"==typeof l&&(l=Array.prototype.slice.call(e)),this.setValues(t,l),this)},Y.prototype.setChannel=function(t,e,l){var n=this.values[t];return void 0===l?n[e]:l===n[e]?this:(n[e]=l,this.setValues(t,n),this)},\"undefined\"!=typeof window&&(window.Color=Y);var W,V=Y,U={noop:function(){},uid:(W=0,function(){return W++}),isNullOrUndef:function(t){return null==t},isArray:function(t){if(Array.isArray&&Array.isArray(t))return!0;var e=Object.prototype.toString.call(t);return\"[object\"===e.substr(0,7)&&\"Array]\"===e.substr(-6)},isObject:function(t){return null!==t&&\"[object Object]\"===Object.prototype.toString.call(t)},isFinite:function(t){return(\"number\"==typeof t||t instanceof Number)&&isFinite(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,l){return U.valueOrDefault(U.isArray(t)?t[e]:t,l)},callback:function(t,e,l){if(t&&\"function\"==typeof t.call)return t.apply(l,e)},each:function(t,e,l,n){var i,a,r;if(U.isArray(t))if(a=t.length,n)for(i=a-1;i>=0;i--)e.call(l,t[i],i);else for(i=0;i<a;i++)e.call(l,t[i],i);else if(U.isObject(t))for(r=Object.keys(t),a=r.length,i=0;i<a;i++)e.call(l,t[r[i]],r[i])},arrayEquals:function(t,e){var l,n,i,a;if(!t||!e||t.length!==e.length)return!1;for(l=0,n=t.length;l<n;++l)if(i=t[l],a=e[l],i instanceof Array&&a instanceof Array){if(!U.arrayEquals(i,a))return!1}else if(i!==a)return!1;return!0},clone:function(t){if(U.isArray(t))return t.map(U.clone);if(U.isObject(t)){for(var e={},l=Object.keys(t),n=l.length,i=0;i<n;++i)e[l[i]]=U.clone(t[l[i]]);return e}return t},_merger:function(t,e,l,n){var i=e[t],a=l[t];U.isObject(i)&&U.isObject(a)?U.merge(i,a,n):e[t]=U.clone(a)},_mergerIf:function(t,e,l){var n=e[t],i=l[t];U.isObject(n)&&U.isObject(i)?U.mergeIf(n,i):e.hasOwnProperty(t)||(e[t]=U.clone(i))},merge:function(t,e,l){var n,i,a,r,o,s=U.isArray(e)?e:[e],c=s.length;if(!U.isObject(t))return t;for(n=(l=l||{}).merger||U._merger,i=0;i<c;++i)if(e=s[i],U.isObject(e))for(a=Object.keys(e),o=0,r=a.length;o<r;++o)n(a[o],t,e,l);return t},mergeIf:function(t,e){return U.merge(t,e,{merger:U._mergerIf})},extend:function(t){for(var e=function(e,l){t[l]=e},l=1,n=arguments.length;l<n;++l)U.each(arguments[l],e);return t},inherits:function(t){var e=this,l=t&&t.hasOwnProperty(\"constructor\")?t.constructor:function(){return e.apply(this,arguments)},n=function(){this.constructor=l};return n.prototype=e.prototype,l.prototype=new n,l.extend=U.inherits,t&&U.extend(l.prototype,t),l.__super__=e.prototype,l}},G=U;U.callCallback=U.callback,U.indexOf=function(t,e,l){return Array.prototype.indexOf.call(t,e,l)},U.getValueOrDefault=U.valueOrDefault,U.getValueAtIndexOrDefault=U.valueAtIndexOrDefault;var X={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,l=0,n=1;return 0===t?0:1===t?1:(l||(l=.3),n<1?(n=1,e=l/4):e=l/(2*Math.PI)*Math.asin(1/n),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/l))},easeOutElastic:function(t){var e=1.70158,l=0,n=1;return 0===t?0:1===t?1:(l||(l=.3),n<1?(n=1,e=l/4):e=l/(2*Math.PI)*Math.asin(1/n),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/l)+1)},easeInOutElastic:function(t){var e=1.70158,l=0,n=1;return 0===t?0:2==(t/=.5)?1:(l||(l=.45),n<1?(n=1,e=l/4):e=l/(2*Math.PI)*Math.asin(1/n),t<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/l)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/l)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-X.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*X.easeInBounce(2*t):.5*X.easeOutBounce(2*t-1)+.5}},K={effects:X};G.easingEffects=X;var Q=Math.PI,J=Q/180,tt=2*Q,et=Q/2,lt=Q/4,nt=2*Q/3,it={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,l,n,i,a){if(a){var r=Math.min(a,i/2,n/2),o=e+r,s=l+r,c=e+n-r,u=l+i-r;t.moveTo(e,s),o<c&&s<u?(t.arc(o,s,r,-Q,-et),t.arc(c,s,r,-et,0),t.arc(c,u,r,0,et),t.arc(o,u,r,et,Q)):o<c?(t.moveTo(o,l),t.arc(c,s,r,-et,et),t.arc(o,s,r,et,Q+et)):s<u?(t.arc(o,s,r,-Q,0),t.arc(o,u,r,0,Q)):t.arc(o,s,r,-Q,Q),t.closePath(),t.moveTo(e,l)}else t.rect(e,l,n,i)},drawPoint:function(t,e,l,n,i,a){var r,o,s,c,u,d=(a||0)*J;if(!e||\"object\"!=typeof e||\"[object HTMLImageElement]\"!==(r=e.toString())&&\"[object HTMLCanvasElement]\"!==r){if(!(isNaN(l)||l<=0)){switch(t.beginPath(),e){default:t.arc(n,i,l,0,tt),t.closePath();break;case\"triangle\":t.moveTo(n+Math.sin(d)*l,i-Math.cos(d)*l),d+=nt,t.lineTo(n+Math.sin(d)*l,i-Math.cos(d)*l),d+=nt,t.lineTo(n+Math.sin(d)*l,i-Math.cos(d)*l),t.closePath();break;case\"rectRounded\":c=l-(u=.516*l),o=Math.cos(d+lt)*c,s=Math.sin(d+lt)*c,t.arc(n-o,i-s,u,d-Q,d-et),t.arc(n+s,i-o,u,d-et,d),t.arc(n+o,i+s,u,d,d+et),t.arc(n-s,i+o,u,d+et,d+Q),t.closePath();break;case\"rect\":if(!a){c=Math.SQRT1_2*l,t.rect(n-c,i-c,2*c,2*c);break}d+=lt;case\"rectRot\":o=Math.cos(d)*l,s=Math.sin(d)*l,t.moveTo(n-o,i-s),t.lineTo(n+s,i-o),t.lineTo(n+o,i+s),t.lineTo(n-s,i+o),t.closePath();break;case\"crossRot\":d+=lt;case\"cross\":o=Math.cos(d)*l,s=Math.sin(d)*l,t.moveTo(n-o,i-s),t.lineTo(n+o,i+s),t.moveTo(n+s,i-o),t.lineTo(n-s,i+o);break;case\"star\":o=Math.cos(d)*l,s=Math.sin(d)*l,t.moveTo(n-o,i-s),t.lineTo(n+o,i+s),t.moveTo(n+s,i-o),t.lineTo(n-s,i+o),d+=lt,o=Math.cos(d)*l,s=Math.sin(d)*l,t.moveTo(n-o,i-s),t.lineTo(n+o,i+s),t.moveTo(n+s,i-o),t.lineTo(n-s,i+o);break;case\"line\":o=Math.cos(d)*l,s=Math.sin(d)*l,t.moveTo(n-o,i-s),t.lineTo(n+o,i+s);break;case\"dash\":t.moveTo(n,i),t.lineTo(n+Math.cos(d)*l,i+Math.sin(d)*l)}t.fill(),t.stroke()}}else t.drawImage(e,n-e.width/2,i-e.height/2,e.width,e.height)},_isPointInArea:function(t,e){return t.x>e.left-1e-6&&t.x<e.right+1e-6&&t.y>e.top-1e-6&&t.y<e.bottom+1e-6},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,l,n){var i=l.steppedLine;if(i){if(\"middle\"===i){var a=(e.x+l.x)/2;t.lineTo(a,n?l.y:e.y),t.lineTo(a,n?e.y:l.y)}else\"after\"===i&&!n||\"after\"!==i&&n?t.lineTo(e.x,l.y):t.lineTo(l.x,e.y);t.lineTo(l.x,l.y)}else l.tension?t.bezierCurveTo(n?e.controlPointPreviousX:e.controlPointNextX,n?e.controlPointPreviousY:e.controlPointNextY,n?l.controlPointNextX:l.controlPointPreviousX,n?l.controlPointNextY:l.controlPointPreviousY,l.x,l.y):t.lineTo(l.x,l.y)}},at=it;G.clear=it.clear,G.drawRoundedRectangle=function(t){t.beginPath(),it.roundedRect.apply(it,arguments)};var rt={_set:function(t,e){return G.merge(this[t]||(this[t]={}),e)}};rt._set(\"global\",{defaultColor:\"rgba(0,0,0,0.1)\",defaultFontColor:\"#666\",defaultFontFamily:\"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",defaultFontSize:12,defaultFontStyle:\"normal\",defaultLineHeight:1.2,showLines:!0});var ot=rt,st=G.valueOrDefault,ct={toLineHeight:function(t,e){var l=(\"\"+t).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);if(!l||\"normal\"===l[1])return 1.2*e;switch(t=+l[2],l[3]){case\"px\":return t;case\"%\":t/=100}return e*t},toPadding:function(t){var e,l,n,i;return G.isObject(t)?(e=+t.top||0,l=+t.right||0,n=+t.bottom||0,i=+t.left||0):e=l=n=i=+t||0,{top:e,right:l,bottom:n,left:i,height:e+n,width:i+l}},_parseFont:function(t){var e=ot.global,l=st(t.fontSize,e.defaultFontSize),n={family:st(t.fontFamily,e.defaultFontFamily),lineHeight:G.options.toLineHeight(st(t.lineHeight,e.defaultLineHeight),l),size:l,style:st(t.fontStyle,e.defaultFontStyle),weight:null,string:\"\"};return n.string=function(t){return!t||G.isNullOrUndef(t.size)||G.isNullOrUndef(t.family)?null:(t.style?t.style+\" \":\"\")+(t.weight?t.weight+\" \":\"\")+t.size+\"px \"+t.family}(n),n},resolve:function(t,e,l){var n,i,a;for(n=0,i=t.length;n<i;++n)if(void 0!==(a=t[n])&&(void 0!==e&&\"function\"==typeof a&&(a=a(e)),void 0!==l&&G.isArray(a)&&(a=a[l]),void 0!==a))return a}},ut=G,dt=K,ht=at,ft=ct;ut.easing=dt,ut.canvas=ht,ut.options=ft;var pt=function(t){ut.extend(this,t),this.initialize.apply(this,arguments)};ut.extend(pt.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=ut.clone(t._model)),t._start={},t},transition:function(t){var e=this,l=e._model,n=e._start,i=e._view;return l&&1!==t?(i||(i=e._view={}),n||(n=e._start={}),function(t,e,l,n){var i,a,r,o,s,c,u,d,h,f=Object.keys(l);for(i=0,a=f.length;i<a;++i)if(r=f[i],c=l[r],e.hasOwnProperty(r)||(e[r]=c),(o=e[r])!==c&&\"_\"!==r[0]){if(t.hasOwnProperty(r)||(t[r]=o),s=t[r],(u=typeof c)==typeof s)if(\"string\"===u){if((d=V(s)).valid&&(h=V(c)).valid){e[r]=h.mix(d,n).rgbString();continue}}else if(ut.isFinite(s)&&ut.isFinite(c)){e[r]=s+(c-s)*n;continue}e[r]=c}}(n,i,l,t),e):(e._view=l,e._start=null,e)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return ut.isNumber(this._model.x)&&ut.isNumber(this._model.y)}}),pt.extend=ut.inherits;var gt=pt,mt=gt.extend({chart:null,currentStep:0,numSteps:60,easing:\"\",render:null,onAnimationProgress:null,onAnimationComplete:null}),bt=mt;Object.defineProperty(mt.prototype,\"animationObject\",{get:function(){return this}}),Object.defineProperty(mt.prototype,\"chartInstance\",{get:function(){return this.chart},set:function(t){this.chart=t}}),ot._set(\"global\",{animation:{duration:1e3,easing:\"easeOutQuart\",onProgress:ut.noop,onComplete:ut.noop}});var vt={animations:[],request:null,addAnimation:function(t,e,l,n){var i,a,r=this.animations;for(e.chart=t,e.startTime=Date.now(),e.duration=l,n||(t.animating=!0),i=0,a=r.length;i<a;++i)if(r[i].chart===t)return void(r[i]=e);r.push(e),1===r.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var e=ut.findIndex(this.animations,function(e){return e.chart===t});-1!==e&&(this.animations.splice(e,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=ut.requestAnimFrame.call(window,function(){t.request=null,t.startDigest()}))},startDigest:function(){this.advance(),this.animations.length>0&&this.requestAnimationFrame()},advance:function(){for(var t,e,l,n,i=this.animations,a=0;a<i.length;)t=i[a],e=t.chart,l=t.numSteps,n=Math.floor((Date.now()-t.startTime)/t.duration*l)+1,t.currentStep=Math.min(n,l),ut.callback(t.render,[e,t],e),ut.callback(t.onAnimationProgress,[t],e),t.currentStep>=l?(ut.callback(t.onAnimationComplete,[t],e),e.animating=!1,i.splice(a,1)):++a}},yt=ut.options.resolve,xt=[\"push\",\"pop\",\"shift\",\"splice\",\"unshift\"];function _t(t,e){var l=t._chartjs;if(l){var n=l.listeners,i=n.indexOf(e);-1!==i&&n.splice(i,1),n.length>0||(xt.forEach(function(e){delete t[e]}),delete t._chartjs)}}var wt=function(t,e){this.initialize(t,e)};ut.extend(wt.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){this.chart=t,this.index=e,this.linkScales(),this.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),l=t.getDataset();null!==e.xAxisID&&e.xAxisID in t.chart.scales||(e.xAxisID=l.xAxisID||t.chart.options.scales.xAxes[0].id),null!==e.yAxisID&&e.yAxisID in t.chart.scales||(e.yAxisID=l.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this.update(!0)},destroy:function(){this._data&&_t(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,l=this.getMeta(),n=this.getDataset().data||[],i=l.data;for(t=0,e=n.length;t<e;++t)i[t]=i[t]||this.createMetaData(t);l.dataset=l.dataset||this.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t,e,l=this,n=l.getDataset(),i=n.data||(n.data=[]);l._data!==i&&(l._data&&_t(l._data,l),i&&Object.isExtensible(i)&&(e=l,(t=i)._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,\"_chartjs\",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),xt.forEach(function(e){var l=\"onData\"+e.charAt(0).toUpperCase()+e.slice(1),n=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),i=n.apply(this,e);return ut.each(t._chartjs.listeners,function(t){\"function\"==typeof t[l]&&t[l].apply(t,e)}),i}})}))),l._data=i),l.resyncElements()},update:ut.noop,transition:function(t){for(var e=this.getMeta(),l=e.data||[],n=l.length,i=0;i<n;++i)l[i].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],l=e.length,n=0;for(t.dataset&&t.dataset.draw();n<l;++n)e[n].draw()},removeHoverStyle:function(t){ut.merge(t._model,t.$previousStyle||{}),delete t.$previousStyle},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],l=t._index,n=t.custom||{},i=t._model,a=ut.getHoverColor;t.$previousStyle={backgroundColor:i.backgroundColor,borderColor:i.borderColor,borderWidth:i.borderWidth},i.backgroundColor=yt([n.hoverBackgroundColor,e.hoverBackgroundColor,a(i.backgroundColor)],void 0,l),i.borderColor=yt([n.hoverBorderColor,e.hoverBorderColor,a(i.borderColor)],void 0,l),i.borderWidth=yt([n.hoverBorderWidth,e.hoverBorderWidth,i.borderWidth],void 0,l)},resyncElements:function(){var t=this.getMeta(),e=this.getDataset().data,l=t.data.length,n=e.length;n<l?t.data.splice(n,l-n):n>l&&this.insertElements(l,n-l)},insertElements:function(t,e){for(var l=0;l<e;++l)this.addElementAndReset(t+l)},onDataPush:function(){var t=arguments.length;this.insertElements(this.getDataset().data.length-t,t)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),wt.extend=ut.inherits;var St=wt;ot._set(\"global\",{elements:{arc:{backgroundColor:ot.global.defaultColor,borderColor:\"#fff\",borderWidth:2,borderAlign:\"center\"}}});var kt=gt.extend({inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,e){var l=this._view;if(l){for(var n=ut.getAngleFromPoint(l,{x:t,y:e}),i=n.angle,a=n.distance,r=l.startAngle,o=l.endAngle;o<r;)o+=2*Math.PI;for(;i>o;)i-=2*Math.PI;for(;i<r;)i+=2*Math.PI;var s=i>=r&&i<=o,c=a>=l.innerRadius&&a<=l.outerRadius;return s&&c}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,l=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*l,y:t.y+Math.sin(e)*l}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,l=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*l,y:t.y+Math.sin(e)*l}},draw:function(){var t,e=this._chart.ctx,l=this._view,n=l.startAngle,i=l.endAngle,a=\"inner\"===l.borderAlign?.33:0;e.save(),e.beginPath(),e.arc(l.x,l.y,Math.max(l.outerRadius-a,0),n,i),e.arc(l.x,l.y,l.innerRadius,i,n,!0),e.closePath(),e.fillStyle=l.backgroundColor,e.fill(),l.borderWidth&&(\"inner\"===l.borderAlign?(e.beginPath(),t=a/l.outerRadius,e.arc(l.x,l.y,l.outerRadius,n-t,i+t),l.innerRadius>a?(t=a/l.innerRadius,e.arc(l.x,l.y,l.innerRadius-a,i+t,n-t,!0)):e.arc(l.x,l.y,a,i+Math.PI/2,n-Math.PI/2),e.closePath(),e.clip(),e.beginPath(),e.arc(l.x,l.y,l.outerRadius,n,i),e.arc(l.x,l.y,l.innerRadius,i,n,!0),e.closePath(),e.lineWidth=2*l.borderWidth,e.lineJoin=\"round\"):(e.lineWidth=l.borderWidth,e.lineJoin=\"bevel\"),e.strokeStyle=l.borderColor,e.stroke()),e.restore()}}),Ct=ut.valueOrDefault,Tt=ot.global.defaultColor;ot._set(\"global\",{elements:{line:{tension:.4,backgroundColor:Tt,borderWidth:3,borderColor:Tt,borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",capBezierPoints:!0,fill:!0}}});var Dt=gt.extend({draw:function(){var t,e,l,n,i=this._view,a=this._chart.ctx,r=i.spanGaps,o=this._children.slice(),s=ot.global,c=s.elements.line,u=-1;for(this._loop&&o.length&&o.push(o[0]),a.save(),a.lineCap=i.borderCapStyle||c.borderCapStyle,a.setLineDash&&a.setLineDash(i.borderDash||c.borderDash),a.lineDashOffset=Ct(i.borderDashOffset,c.borderDashOffset),a.lineJoin=i.borderJoinStyle||c.borderJoinStyle,a.lineWidth=Ct(i.borderWidth,c.borderWidth),a.strokeStyle=i.borderColor||s.defaultColor,a.beginPath(),u=-1,t=0;t<o.length;++t)e=o[t],l=ut.previousItem(o,t),n=e._view,0===t?n.skip||(a.moveTo(n.x,n.y),u=t):(l=-1===u?l:o[u],n.skip||(u!==t-1&&!r||-1===u?a.moveTo(n.x,n.y):ut.canvas.lineTo(a,l._view,e._view),u=t));a.stroke(),a.restore()}}),Mt=ut.valueOrDefault,At=ot.global.defaultColor;function Et(t){var e=this._view;return!!e&&Math.abs(t-e.x)<e.radius+e.hitRadius}ot._set(\"global\",{elements:{point:{radius:3,pointStyle:\"circle\",backgroundColor:At,borderColor:At,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}});var jt=gt.extend({inRange:function(t,e){var l=this._view;return!!l&&Math.pow(t-l.x,2)+Math.pow(e-l.y,2)<Math.pow(l.hitRadius+l.radius,2)},inLabelRange:Et,inXRange:Et,inYRange:function(t){var e=this._view;return!!e&&Math.abs(t-e.y)<e.radius+e.hitRadius},getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(t){var e=this._view,l=this._chart.ctx,n=e.pointStyle,i=e.rotation,a=e.radius,r=e.x,o=e.y,s=ot.global,c=s.defaultColor;e.skip||(void 0===t||ut.canvas._isPointInArea(e,t))&&(l.strokeStyle=e.borderColor||c,l.lineWidth=Mt(e.borderWidth,s.elements.point.borderWidth),l.fillStyle=e.backgroundColor||c,ut.canvas.drawPoint(l,n,a,r,o,i))}}),It=ot.global.defaultColor;function Pt(t){return t&&void 0!==t.width}function Ot(t){var e,l,n,i,a;return Pt(t)?(a=t.width/2,e=t.x-a,l=t.x+a,n=Math.min(t.y,t.base),i=Math.max(t.y,t.base)):(a=t.height/2,e=Math.min(t.x,t.base),l=Math.max(t.x,t.base),n=t.y-a,i=t.y+a),{left:e,top:n,right:l,bottom:i}}function Lt(t,e,l){return t===e?l:t===l?e:t}function Rt(t,e,l){var n,i,a,r,o=t.borderWidth,s=function(t){var e=t.borderSkipped,l={};return e?(t.horizontal?t.base>t.x&&(e=Lt(e,\"left\",\"right\")):t.base<t.y&&(e=Lt(e,\"bottom\",\"top\")),l[e]=!0,l):l}(t);return ut.isObject(o)?(n=+o.top||0,i=+o.right||0,a=+o.bottom||0,r=+o.left||0):n=i=a=r=+o||0,{t:s.top||n<0?0:n>l?l:n,r:s.right||i<0?0:i>e?e:i,b:s.bottom||a<0?0:a>l?l:a,l:s.left||r<0?0:r>e?e:r}}function Nt(t,e,l){var n=null===e,i=null===l,a=!(!t||n&&i)&&Ot(t);return a&&(n||e>=a.left&&e<=a.right)&&(i||l>=a.top&&l<=a.bottom)}ot._set(\"global\",{elements:{rectangle:{backgroundColor:It,borderColor:It,borderSkipped:\"bottom\",borderWidth:0}}});var Ft=gt.extend({draw:function(){var t=this._chart.ctx,e=this._view,l=function(t){var e=Ot(t),l=e.right-e.left,n=e.bottom-e.top,i=Rt(t,l/2,n/2);return{outer:{x:e.left,y:e.top,w:l,h:n},inner:{x:e.left+i.l,y:e.top+i.t,w:l-i.l-i.r,h:n-i.t-i.b}}}(e),n=l.outer,i=l.inner;t.fillStyle=e.backgroundColor,t.fillRect(n.x,n.y,n.w,n.h),n.w===i.w&&n.h===i.h||(t.save(),t.beginPath(),t.rect(n.x,n.y,n.w,n.h),t.clip(),t.fillStyle=e.borderColor,t.rect(i.x,i.y,i.w,i.h),t.fill(\"evenodd\"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return Nt(this._view,t,e)},inLabelRange:function(t,e){var l=this._view;return Pt(l)?Nt(l,t,null):Nt(l,null,e)},inXRange:function(t){return Nt(this._view,t,null)},inYRange:function(t){return Nt(this._view,null,t)},getCenterPoint:function(){var t,e,l=this._view;return Pt(l)?(t=l.x,e=(l.y+l.base)/2):(t=(l.x+l.base)/2,e=l.y),{x:t,y:e}},getArea:function(){var t=this._view;return Pt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),Bt={},Ht=kt,qt=Dt,Zt=jt,zt=Ft;Bt.Arc=Ht,Bt.Line=qt,Bt.Point=Zt,Bt.Rectangle=zt;var $t=ut.options.resolve;ot._set(\"bar\",{hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:\"linear\"}]}});var Yt=St.extend({dataElementType:Bt.Rectangle,initialize:function(){var t;St.prototype.initialize.apply(this,arguments),(t=this.getMeta()).stack=this.getDataset().stack,t.bar=!0},update:function(t){var e,l,n=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,l=n.length;e<l;++e)this.updateElement(n[e],e,t)},updateElement:function(t,e,l){var n=this,i=n.getMeta(),a=n.getDataset(),r=n._resolveElementOptions(t,e);t._xScale=n.getScaleForId(i.xAxisID),t._yScale=n.getScaleForId(i.yAxisID),t._datasetIndex=n.index,t._index=e,t._model={backgroundColor:r.backgroundColor,borderColor:r.borderColor,borderSkipped:r.borderSkipped,borderWidth:r.borderWidth,datasetLabel:a.label,label:n.chart.data.labels[e]},n._updateElementGeometry(t,e,l),t.pivot()},_updateElementGeometry:function(t,e,l){var n=this,i=t._model,a=n._getValueScale(),r=a.getBasePixel(),o=a.isHorizontal(),s=n._ruler||n.getRuler(),c=n.calculateBarValuePixels(n.index,e),u=n.calculateBarIndexPixels(n.index,e,s);i.horizontal=o,i.base=l?r:c.base,i.x=o?l?r:c.head:u.center,i.y=o?u.center:l?r:c.head,i.height=o?u.size:void 0,i.width=o?void 0:u.size},_getStacks:function(t){var e,l,n=this.chart,i=this._getIndexScale(),a=i.options.stacked,r=void 0===t?n.data.datasets.length:t+1,o=[];for(e=0;e<r;++e)(l=n.getDatasetMeta(e)).bar&&n.isDatasetVisible(e)&&(!1===a||!0===a&&-1===o.indexOf(l.stack)||void 0===a&&(void 0===l.stack||-1===o.indexOf(l.stack)))&&o.push(l.stack);return o},getStackCount:function(){return this._getStacks().length},getStackIndex:function(t,e){var l=this._getStacks(t),n=void 0!==e?l.indexOf(e):-1;return-1===n?l.length-1:n},getRuler:function(){var t,e,l=this._getIndexScale(),n=this.getStackCount(),i=this.index,a=l.isHorizontal(),r=a?l.left:l.top,o=r+(a?l.width:l.height),s=[];for(t=0,e=this.getMeta().data.length;t<e;++t)s.push(l.getPixelForValue(null,t,i));return{min:ut.isNullOrUndef(l.options.barThickness)?function(t,e){var l,n,i,a,r=t.isHorizontal()?t.width:t.height,o=t.getTicks();for(i=1,a=e.length;i<a;++i)r=Math.min(r,Math.abs(e[i]-e[i-1]));for(i=0,a=o.length;i<a;++i)n=t.getPixelForTick(i),r=i>0?Math.min(r,n-l):r,l=n;return r}(l,s):-1,pixels:s,start:r,end:o,stackCount:n,scale:l}},calculateBarValuePixels:function(t,e){var l,n,i,a,r,o,s=this.chart,c=this.getMeta(),u=this._getValueScale(),d=u.isHorizontal(),h=s.data.datasets,f=+u.getRightValue(h[t].data[e]),p=u.options.minBarLength,g=u.options.stacked,m=c.stack,b=0;if(g||void 0===g&&void 0!==m)for(l=0;l<t;++l)(n=s.getDatasetMeta(l)).bar&&n.stack===m&&n.controller._getValueScaleId()===u.id&&s.isDatasetVisible(l)&&(i=+u.getRightValue(h[l].data[e]),(f<0&&i<0||f>=0&&i>0)&&(b+=i));return a=u.getPixelForValue(b),r=u.getPixelForValue(b+f),o=r-a,void 0!==p&&Math.abs(o)<p&&(o=p,r=f>=0&&!d||f<0&&d?a-p:a+p),{size:o,base:a,head:r,center:r+o/2}},calculateBarIndexPixels:function(t,e,l){var n=l.scale.options,i=\"flex\"===n.barThickness?function(t,e,l){var n,i=e.pixels,a=i[t],r=t>0?i[t-1]:null,o=t<i.length-1?i[t+1]:null,s=l.categoryPercentage;return null===r&&(r=a-(null===o?e.end-e.start:o-a)),null===o&&(o=a+a-r),n=a-(a-Math.min(r,o))/2*s,{chunk:Math.abs(o-r)/2*s/e.stackCount,ratio:l.barPercentage,start:n}}(e,l,n):function(t,e,l){var n,i,a=l.barThickness,r=e.stackCount,o=e.pixels[t];return ut.isNullOrUndef(a)?(n=e.min*l.categoryPercentage,i=l.barPercentage):(n=a*r,i=1),{chunk:n/r,ratio:i,start:o-n/2}}(e,l,n),a=this.getStackIndex(t,this.getMeta().stack),r=i.start+i.chunk*a+i.chunk/2,o=Math.min(ut.valueOrDefault(n.maxBarThickness,1/0),i.chunk*i.ratio);return{base:r-o/2,head:r+o/2,center:r,size:o}},draw:function(){var t=this.chart,e=this._getValueScale(),l=this.getMeta().data,n=this.getDataset(),i=l.length,a=0;for(ut.canvas.clipArea(t.ctx,t.chartArea);a<i;++a)isNaN(e.getRightValue(n.data[a]))||l[a].draw();ut.canvas.unclipArea(t.ctx)},_resolveElementOptions:function(t,e){var l,n,i,a=this.chart,r=a.data.datasets,o=r[this.index],s=t.custom||{},c=a.options.elements.rectangle,u={},d={chart:a,dataIndex:e,dataset:o,datasetIndex:this.index},h=[\"backgroundColor\",\"borderColor\",\"borderSkipped\",\"borderWidth\"];for(l=0,n=h.length;l<n;++l)u[i=h[l]]=$t([s[i],o[i],c[i]],d,e);return u}}),Wt=ut.valueOrDefault,Vt=ut.options.resolve;ot._set(\"bubble\",{hover:{mode:\"single\"},scales:{xAxes:[{type:\"linear\",position:\"bottom\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",position:\"left\",id:\"y-axis-0\"}]},tooltips:{callbacks:{title:function(){return\"\"},label:function(t,e){var l=e.datasets[t.datasetIndex].label||\"\",n=e.datasets[t.datasetIndex].data[t.index];return l+\": (\"+t.xLabel+\", \"+t.yLabel+\", \"+n.r+\")\"}}}});var Ut=St.extend({dataElementType:Bt.Point,update:function(t){var e=this,l=e.getMeta(),n=l.data;ut.each(n,function(l,n){e.updateElement(l,n,t)})},updateElement:function(t,e,l){var n=this,i=n.getMeta(),a=t.custom||{},r=n.getScaleForId(i.xAxisID),o=n.getScaleForId(i.yAxisID),s=n._resolveElementOptions(t,e),c=n.getDataset().data[e],u=n.index,d=l?r.getPixelForDecimal(.5):r.getPixelForValue(\"object\"==typeof c?c:NaN,e,u),h=l?o.getBasePixel():o.getPixelForValue(c,e,u);t._xScale=r,t._yScale=o,t._options=s,t._datasetIndex=u,t._index=e,t._model={backgroundColor:s.backgroundColor,borderColor:s.borderColor,borderWidth:s.borderWidth,hitRadius:s.hitRadius,pointStyle:s.pointStyle,rotation:s.rotation,radius:l?0:s.radius,skip:a.skip||isNaN(d)||isNaN(h),x:d,y:h},t.pivot()},setHoverStyle:function(t){var e=t._model,l=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Wt(l.hoverBackgroundColor,n(l.backgroundColor)),e.borderColor=Wt(l.hoverBorderColor,n(l.borderColor)),e.borderWidth=Wt(l.hoverBorderWidth,l.borderWidth),e.radius=l.radius+l.hoverRadius},_resolveElementOptions:function(t,e){var l,n,i,a=this.chart,r=a.data.datasets,o=r[this.index],s=t.custom||{},c=a.options.elements.point,u=o.data[e],d={},h={chart:a,dataIndex:e,dataset:o,datasetIndex:this.index},f=[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\",\"hoverRadius\",\"hitRadius\",\"pointStyle\",\"rotation\"];for(l=0,n=f.length;l<n;++l)d[i=f[l]]=Vt([s[i],o[i],c[i]],h,e);return d.radius=Vt([s.radius,u?u.r:void 0,o.radius,c.radius],h,e),d}}),Gt=ut.options.resolve,Xt=ut.valueOrDefault;ot._set(\"doughnut\",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:\"single\"},legendCallback:function(t){var e=[];e.push('<ul class=\"'+t.id+'-legend\">');var l=t.data,n=l.datasets,i=l.labels;if(n.length)for(var a=0;a<n[0].data.length;++a)e.push('<li><span style=\"background-color:'+n[0].backgroundColor[a]+'\"></span>'),i[a]&&e.push(i[a]),e.push(\"</li>\");return e.push(\"</ul>\"),e.join(\"\")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(l,n){var i=t.getDatasetMeta(0),a=e.datasets[0],r=i.data[n],o=r&&r.custom||{},s=t.options.elements.arc,c=Gt([o.backgroundColor,a.backgroundColor,s.backgroundColor],void 0,n),u=Gt([o.borderColor,a.borderColor,s.borderColor],void 0,n),d=Gt([o.borderWidth,a.borderWidth,s.borderWidth],void 0,n);return{text:l,fillStyle:c,strokeStyle:u,lineWidth:d,hidden:isNaN(a.data[n])||i.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var l,n,i,a=e.index,r=this.chart;for(l=0,n=(r.data.datasets||[]).length;l<n;++l)(i=r.getDatasetMeta(l)).data[a]&&(i.data[a].hidden=!i.data[a].hidden);r.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return\"\"},label:function(t,e){var l=e.labels[t.index],n=\": \"+e.datasets[t.datasetIndex].data[t.index];return ut.isArray(l)?(l=l.slice())[0]+=n:l+=n,l}}}});var Kt=St.extend({dataElementType:Bt.Arc,linkScales:ut.noop,getRingIndex:function(t){for(var e=0,l=0;l<t;++l)this.chart.isDatasetVisible(l)&&++e;return e},update:function(t){var e,l,n=this,i=n.chart,a=i.chartArea,r=i.options,o=a.right-a.left,s=a.bottom-a.top,c=Math.min(o,s),u={x:0,y:0},d=n.getMeta(),h=d.data,f=r.cutoutPercentage,p=r.circumference,g=n._getRingWeight(n.index);if(p<2*Math.PI){var m=r.rotation%(2*Math.PI),b=(m+=2*Math.PI*(m>=Math.PI?-1:m<-Math.PI?1:0))+p,v={x:Math.cos(m),y:Math.sin(m)},y={x:Math.cos(b),y:Math.sin(b)},x=m<=0&&b>=0||m<=2*Math.PI&&2*Math.PI<=b,_=m<=.5*Math.PI&&.5*Math.PI<=b||m<=2.5*Math.PI&&2.5*Math.PI<=b,w=m<=-Math.PI&&-Math.PI<=b||m<=Math.PI&&Math.PI<=b,S=m<=.5*-Math.PI&&.5*-Math.PI<=b||m<=1.5*Math.PI&&1.5*Math.PI<=b,k=f/100,C={x:w?-1:Math.min(v.x*(v.x<0?1:k),y.x*(y.x<0?1:k)),y:S?-1:Math.min(v.y*(v.y<0?1:k),y.y*(y.y<0?1:k))},T={x:x?1:Math.max(v.x*(v.x>0?1:k),y.x*(y.x>0?1:k)),y:_?1:Math.max(v.y*(v.y>0?1:k),y.y*(y.y>0?1:k))},D={width:.5*(T.x-C.x),height:.5*(T.y-C.y)};c=Math.min(o/D.width,s/D.height),u={x:-.5*(T.x+C.x),y:-.5*(T.y+C.y)}}for(e=0,l=h.length;e<l;++e)h[e]._options=n._resolveElementOptions(h[e],e);for(i.borderWidth=n.getMaxBorderWidth(),i.outerRadius=Math.max((c-i.borderWidth)/2,0),i.innerRadius=Math.max(f?i.outerRadius/100*f:0,0),i.radiusLength=(i.outerRadius-i.innerRadius)/(n._getVisibleDatasetWeightTotal()||1),i.offsetX=u.x*i.outerRadius,i.offsetY=u.y*i.outerRadius,d.total=n.calculateTotal(),n.outerRadius=i.outerRadius-i.radiusLength*n._getRingWeightOffset(n.index),n.innerRadius=Math.max(n.outerRadius-i.radiusLength*g,0),e=0,l=h.length;e<l;++e)n.updateElement(h[e],e,t)},updateElement:function(t,e,l){var n=this,i=n.chart,a=i.chartArea,r=i.options,o=r.animation,s=(a.left+a.right)/2,c=(a.top+a.bottom)/2,u=r.rotation,d=r.rotation,h=n.getDataset(),f=l&&o.animateRotate?0:t.hidden?0:n.calculateCircumference(h.data[e])*(r.circumference/(2*Math.PI)),p=l&&o.animateScale?0:n.innerRadius,g=l&&o.animateScale?0:n.outerRadius,m=t._options||{};ut.extend(t,{_datasetIndex:n.index,_index:e,_model:{backgroundColor:m.backgroundColor,borderColor:m.borderColor,borderWidth:m.borderWidth,borderAlign:m.borderAlign,x:s+i.offsetX,y:c+i.offsetY,startAngle:u,endAngle:d,circumference:f,outerRadius:g,innerRadius:p,label:ut.valueAtIndexOrDefault(h.label,e,i.data.labels[e])}});var b=t._model;l&&o.animateRotate||(b.startAngle=0===e?r.rotation:n.getMeta().data[e-1]._model.endAngle,b.endAngle=b.startAngle+b.circumference),t.pivot()},calculateTotal:function(){var t,e=this.getDataset(),l=this.getMeta(),n=0;return ut.each(l.data,function(l,i){t=e.data[i],isNaN(t)||l.hidden||(n+=Math.abs(t))}),n},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,l,n,i,a,r,o,s,c=0,u=this.chart;if(!t)for(e=0,l=u.data.datasets.length;e<l;++e)if(u.isDatasetVisible(e)){n=u.getDatasetMeta(e),t=n.data,e!==this.index&&(a=n.controller);break}if(!t)return 0;for(e=0,l=t.length;e<l;++e)i=t[e],\"inner\"!==(r=a?a._resolveElementOptions(i,e):i._options).borderAlign&&(o=r.borderWidth,s=r.hoverBorderWidth,c=s>(c=o>c?o:c)?s:c);return c},setHoverStyle:function(t){var e=t._model,l=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Xt(l.hoverBackgroundColor,n(l.backgroundColor)),e.borderColor=Xt(l.hoverBorderColor,n(l.borderColor)),e.borderWidth=Xt(l.hoverBorderWidth,l.borderWidth)},_resolveElementOptions:function(t,e){var l,n,i,a=this.chart,r=this.getDataset(),o=t.custom||{},s=a.options.elements.arc,c={},u={chart:a,dataIndex:e,dataset:r,datasetIndex:this.index},d=[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"borderAlign\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\"];for(l=0,n=d.length;l<n;++l)c[i=d[l]]=Gt([o[i],r[i],s[i]],u,e);return c},_getRingWeightOffset:function(t){for(var e=0,l=0;l<t;++l)this.chart.isDatasetVisible(l)&&(e+=this._getRingWeight(l));return e},_getRingWeight:function(t){return Math.max(Xt(this.chart.data.datasets[t].weight,1),0)},_getVisibleDatasetWeightTotal:function(){return this._getRingWeightOffset(this.chart.data.datasets.length)}});ot._set(\"horizontalBar\",{hover:{mode:\"index\",axis:\"y\"},scales:{xAxes:[{type:\"linear\",position:\"bottom\"}],yAxes:[{type:\"category\",position:\"left\",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:\"left\"}},tooltips:{mode:\"index\",axis:\"y\"}});var Qt=Yt.extend({_getValueScaleId:function(){return this.getMeta().xAxisID},_getIndexScaleId:function(){return this.getMeta().yAxisID}}),Jt=ut.valueOrDefault,te=ut.options.resolve,ee=ut.canvas._isPointInArea;function le(t,e){return Jt(t.showLine,e.showLines)}ot._set(\"line\",{showLines:!0,spanGaps:!1,hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",id:\"y-axis-0\"}]}});var ne=St.extend({datasetElementType:Bt.Line,dataElementType:Bt.Point,update:function(t){var e,l,n=this,i=n.getMeta(),a=i.dataset,r=i.data||[],o=n.getScaleForId(i.yAxisID),s=n.getDataset(),c=le(s,n.chart.options);for(c&&(void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),a._scale=o,a._datasetIndex=n.index,a._children=r,a._model=n._resolveLineOptions(a),a.pivot()),e=0,l=r.length;e<l;++e)n.updateElement(r[e],e,t);for(c&&0!==a._model.tension&&n.updateBezierControlPoints(),e=0,l=r.length;e<l;++e)r[e].pivot()},updateElement:function(t,e,l){var n,i,a=this,r=a.getMeta(),o=t.custom||{},s=a.getDataset(),c=a.index,u=s.data[e],d=a.getScaleForId(r.yAxisID),h=a.getScaleForId(r.xAxisID),f=r.dataset._model,p=a._resolvePointOptions(t,e);n=h.getPixelForValue(\"object\"==typeof u?u:NaN,e,c),i=l?d.getBasePixel():a.calculatePointY(u,e,c),t._xScale=h,t._yScale=d,t._options=p,t._datasetIndex=c,t._index=e,t._model={x:n,y:i,skip:o.skip||isNaN(n)||isNaN(i),radius:p.radius,pointStyle:p.pointStyle,rotation:p.rotation,backgroundColor:p.backgroundColor,borderColor:p.borderColor,borderWidth:p.borderWidth,tension:Jt(o.tension,f?f.tension:0),steppedLine:!!f&&f.steppedLine,hitRadius:p.hitRadius}},_resolvePointOptions:function(t,e){var l,n,i,a=this.chart,r=a.data.datasets[this.index],o=t.custom||{},s=a.options.elements.point,c={},u={chart:a,dataIndex:e,dataset:r,datasetIndex:this.index},d={backgroundColor:\"pointBackgroundColor\",borderColor:\"pointBorderColor\",borderWidth:\"pointBorderWidth\",hitRadius:\"pointHitRadius\",hoverBackgroundColor:\"pointHoverBackgroundColor\",hoverBorderColor:\"pointHoverBorderColor\",hoverBorderWidth:\"pointHoverBorderWidth\",hoverRadius:\"pointHoverRadius\",pointStyle:\"pointStyle\",radius:\"pointRadius\",rotation:\"pointRotation\"},h=Object.keys(d);for(l=0,n=h.length;l<n;++l)i=h[l],c[i]=te([o[i],r[d[i]],r[i],s[i]],u,e);return c},_resolveLineOptions:function(t){var e,l,n,i=this.chart,a=i.data.datasets[this.index],r=t.custom||{},o=i.options,s=o.elements.line,c={},u=[\"backgroundColor\",\"borderWidth\",\"borderColor\",\"borderCapStyle\",\"borderDash\",\"borderDashOffset\",\"borderJoinStyle\",\"fill\",\"cubicInterpolationMode\"];for(e=0,l=u.length;e<l;++e)c[n=u[e]]=te([r[n],a[n],s[n]]);return c.spanGaps=Jt(a.spanGaps,o.spanGaps),c.tension=Jt(a.lineTension,s.tension),c.steppedLine=te([r.steppedLine,a.steppedLine,s.stepped]),c},calculatePointY:function(t,e,l){var n,i,a,r=this.chart,o=this.getMeta(),s=this.getScaleForId(o.yAxisID),c=0,u=0;if(s.options.stacked){for(n=0;n<l;n++)if(i=r.data.datasets[n],\"line\"===(a=r.getDatasetMeta(n)).type&&a.yAxisID===s.id&&r.isDatasetVisible(n)){var d=Number(s.getRightValue(i.data[e]));d<0?u+=d||0:c+=d||0}var h=Number(s.getRightValue(t));return h<0?s.getPixelForValue(u+h):s.getPixelForValue(c+h)}return s.getPixelForValue(t)},updateBezierControlPoints:function(){var t,e,l,n,i=this.chart,a=this.getMeta(),r=a.dataset._model,o=i.chartArea,s=a.data||[];function c(t,e,l){return Math.max(Math.min(t,l),e)}if(r.spanGaps&&(s=s.filter(function(t){return!t._model.skip})),\"monotone\"===r.cubicInterpolationMode)ut.splineCurveMonotone(s);else for(t=0,e=s.length;t<e;++t)l=s[t]._model,n=ut.splineCurve(ut.previousItem(s,t)._model,l,ut.nextItem(s,t)._model,r.tension),l.controlPointPreviousX=n.previous.x,l.controlPointPreviousY=n.previous.y,l.controlPointNextX=n.next.x,l.controlPointNextY=n.next.y;if(i.options.elements.line.capBezierPoints)for(t=0,e=s.length;t<e;++t)l=s[t]._model,ee(l,o)&&(t>0&&ee(s[t-1]._model,o)&&(l.controlPointPreviousX=c(l.controlPointPreviousX,o.left,o.right),l.controlPointPreviousY=c(l.controlPointPreviousY,o.top,o.bottom)),t<s.length-1&&ee(s[t+1]._model,o)&&(l.controlPointNextX=c(l.controlPointNextX,o.left,o.right),l.controlPointNextY=c(l.controlPointNextY,o.top,o.bottom)))},draw:function(){var t,e=this.chart,l=this.getMeta(),n=l.data||[],i=e.chartArea,a=n.length,r=0;for(le(this.getDataset(),e.options)&&(t=(l.dataset._model.borderWidth||0)/2,ut.canvas.clipArea(e.ctx,{left:i.left,right:i.right,top:i.top-t,bottom:i.bottom+t}),l.dataset.draw(),ut.canvas.unclipArea(e.ctx));r<a;++r)n[r].draw(i)},setHoverStyle:function(t){var e=t._model,l=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=Jt(l.hoverBackgroundColor,n(l.backgroundColor)),e.borderColor=Jt(l.hoverBorderColor,n(l.borderColor)),e.borderWidth=Jt(l.hoverBorderWidth,l.borderWidth),e.radius=Jt(l.hoverRadius,l.radius)}}),ie=ut.options.resolve;ot._set(\"polarArea\",{scale:{type:\"radialLinear\",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(t){var e=[];e.push('<ul class=\"'+t.id+'-legend\">');var l=t.data,n=l.datasets,i=l.labels;if(n.length)for(var a=0;a<n[0].data.length;++a)e.push('<li><span style=\"background-color:'+n[0].backgroundColor[a]+'\"></span>'),i[a]&&e.push(i[a]),e.push(\"</li>\");return e.push(\"</ul>\"),e.join(\"\")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(l,n){var i=t.getDatasetMeta(0),a=e.datasets[0],r=i.data[n],o=r.custom||{},s=t.options.elements.arc,c=ie([o.backgroundColor,a.backgroundColor,s.backgroundColor],void 0,n),u=ie([o.borderColor,a.borderColor,s.borderColor],void 0,n),d=ie([o.borderWidth,a.borderWidth,s.borderWidth],void 0,n);return{text:l,fillStyle:c,strokeStyle:u,lineWidth:d,hidden:isNaN(a.data[n])||i.data[n].hidden,index:n}}):[]}},onClick:function(t,e){var l,n,i,a=e.index,r=this.chart;for(l=0,n=(r.data.datasets||[]).length;l<n;++l)(i=r.getDatasetMeta(l)).data[a].hidden=!i.data[a].hidden;r.update()}},tooltips:{callbacks:{title:function(){return\"\"},label:function(t,e){return e.labels[t.index]+\": \"+t.yLabel}}}});var ae=St.extend({dataElementType:Bt.Arc,linkScales:ut.noop,update:function(t){var e,l,n,i=this,a=i.getDataset(),r=i.getMeta(),o=i.chart.options.startAngle||0,s=i._starts=[],c=i._angles=[],u=r.data;for(i._updateRadius(),r.count=i.countVisibleElements(),e=0,l=a.data.length;e<l;e++)s[e]=o,n=i._computeAngle(e),c[e]=n,o+=n;for(e=0,l=u.length;e<l;++e)u[e]._options=i._resolveElementOptions(u[e],e),i.updateElement(u[e],e,t)},_updateRadius:function(){var t=this,e=t.chart,l=e.chartArea,n=e.options,i=Math.min(l.right-l.left,l.bottom-l.top);e.outerRadius=Math.max(i/2,0),e.innerRadius=Math.max(n.cutoutPercentage?e.outerRadius/100*n.cutoutPercentage:1,0),e.radiusLength=(e.outerRadius-e.innerRadius)/e.getVisibleDatasetCount(),t.outerRadius=e.outerRadius-e.radiusLength*t.index,t.innerRadius=t.outerRadius-e.radiusLength},updateElement:function(t,e,l){var n=this,i=n.chart,a=n.getDataset(),r=i.options,o=r.animation,s=i.scale,c=i.data.labels,u=s.xCenter,d=s.yCenter,h=r.startAngle,f=t.hidden?0:s.getDistanceFromCenterForValue(a.data[e]),p=n._starts[e],g=p+(t.hidden?0:n._angles[e]),m=o.animateScale?0:s.getDistanceFromCenterForValue(a.data[e]),b=t._options||{};ut.extend(t,{_datasetIndex:n.index,_index:e,_scale:s,_model:{backgroundColor:b.backgroundColor,borderColor:b.borderColor,borderWidth:b.borderWidth,borderAlign:b.borderAlign,x:u,y:d,innerRadius:0,outerRadius:l?m:f,startAngle:l&&o.animateRotate?h:p,endAngle:l&&o.animateRotate?h:g,label:ut.valueAtIndexOrDefault(c,e,c[e])}}),t.pivot()},countVisibleElements:function(){var t=this.getDataset(),e=this.getMeta(),l=0;return ut.each(e.data,function(e,n){isNaN(t.data[n])||e.hidden||l++}),l},setHoverStyle:function(t){var e=t._model,l=t._options,n=ut.getHoverColor,i=ut.valueOrDefault;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=i(l.hoverBackgroundColor,n(l.backgroundColor)),e.borderColor=i(l.hoverBorderColor,n(l.borderColor)),e.borderWidth=i(l.hoverBorderWidth,l.borderWidth)},_resolveElementOptions:function(t,e){var l,n,i,a=this.chart,r=this.getDataset(),o=t.custom||{},s=a.options.elements.arc,c={},u={chart:a,dataIndex:e,dataset:r,datasetIndex:this.index},d=[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"borderAlign\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\"];for(l=0,n=d.length;l<n;++l)c[i=d[l]]=ie([o[i],r[i],s[i]],u,e);return c},_computeAngle:function(t){var e=this,l=this.getMeta().count,n=e.getDataset(),i=e.getMeta();if(isNaN(n.data[t])||i.data[t].hidden)return 0;var a={chart:e.chart,dataIndex:t,dataset:n,datasetIndex:e.index};return ie([e.chart.options.elements.arc.angle,2*Math.PI/l],a,t)}});ot._set(\"pie\",ut.clone(ot.doughnut)),ot._set(\"pie\",{cutoutPercentage:0});var re=Kt,oe=ut.valueOrDefault,se=ut.options.resolve;ot._set(\"radar\",{scale:{type:\"radialLinear\"},elements:{line:{tension:0}}});var ce=St.extend({datasetElementType:Bt.Line,dataElementType:Bt.Point,linkScales:ut.noop,update:function(t){var e,l,n=this,i=n.getMeta(),a=i.dataset,r=i.data||[],o=n.chart.scale,s=n.getDataset();for(void 0!==s.tension&&void 0===s.lineTension&&(s.lineTension=s.tension),a._scale=o,a._datasetIndex=n.index,a._children=r,a._loop=!0,a._model=n._resolveLineOptions(a),a.pivot(),e=0,l=r.length;e<l;++e)n.updateElement(r[e],e,t);for(n.updateBezierControlPoints(),e=0,l=r.length;e<l;++e)r[e].pivot()},updateElement:function(t,e,l){var n=this,i=t.custom||{},a=n.getDataset(),r=n.chart.scale,o=r.getPointPositionForValue(e,a.data[e]),s=n._resolvePointOptions(t,e),c=n.getMeta().dataset._model,u=l?r.xCenter:o.x,d=l?r.yCenter:o.y;t._scale=r,t._options=s,t._datasetIndex=n.index,t._index=e,t._model={x:u,y:d,skip:i.skip||isNaN(u)||isNaN(d),radius:s.radius,pointStyle:s.pointStyle,rotation:s.rotation,backgroundColor:s.backgroundColor,borderColor:s.borderColor,borderWidth:s.borderWidth,tension:oe(i.tension,c?c.tension:0),hitRadius:s.hitRadius}},_resolvePointOptions:function(t,e){var l,n,i,a=this.chart,r=a.data.datasets[this.index],o=t.custom||{},s=a.options.elements.point,c={},u={chart:a,dataIndex:e,dataset:r,datasetIndex:this.index},d={backgroundColor:\"pointBackgroundColor\",borderColor:\"pointBorderColor\",borderWidth:\"pointBorderWidth\",hitRadius:\"pointHitRadius\",hoverBackgroundColor:\"pointHoverBackgroundColor\",hoverBorderColor:\"pointHoverBorderColor\",hoverBorderWidth:\"pointHoverBorderWidth\",hoverRadius:\"pointHoverRadius\",pointStyle:\"pointStyle\",radius:\"pointRadius\",rotation:\"pointRotation\"},h=Object.keys(d);for(l=0,n=h.length;l<n;++l)i=h[l],c[i]=se([o[i],r[d[i]],r[i],s[i]],u,e);return c},_resolveLineOptions:function(t){var e,l,n,i=this.chart,a=i.data.datasets[this.index],r=t.custom||{},o=i.options.elements.line,s={},c=[\"backgroundColor\",\"borderWidth\",\"borderColor\",\"borderCapStyle\",\"borderDash\",\"borderDashOffset\",\"borderJoinStyle\",\"fill\"];for(e=0,l=c.length;e<l;++e)s[n=c[e]]=se([r[n],a[n],o[n]]);return s.tension=oe(a.lineTension,o.tension),s},updateBezierControlPoints:function(){var t,e,l,n,i=this.getMeta(),a=this.chart.chartArea,r=i.data||[];function o(t,e,l){return Math.max(Math.min(t,l),e)}for(t=0,e=r.length;t<e;++t)l=r[t]._model,n=ut.splineCurve(ut.previousItem(r,t,!0)._model,l,ut.nextItem(r,t,!0)._model,l.tension),l.controlPointPreviousX=o(n.previous.x,a.left,a.right),l.controlPointPreviousY=o(n.previous.y,a.top,a.bottom),l.controlPointNextX=o(n.next.x,a.left,a.right),l.controlPointNextY=o(n.next.y,a.top,a.bottom)},setHoverStyle:function(t){var e=t._model,l=t._options,n=ut.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth,radius:e.radius},e.backgroundColor=oe(l.hoverBackgroundColor,n(l.backgroundColor)),e.borderColor=oe(l.hoverBorderColor,n(l.borderColor)),e.borderWidth=oe(l.hoverBorderWidth,l.borderWidth),e.radius=oe(l.hoverRadius,l.radius)}});ot._set(\"scatter\",{hover:{mode:\"single\"},scales:{xAxes:[{id:\"x-axis-1\",type:\"linear\",position:\"bottom\"}],yAxes:[{id:\"y-axis-1\",type:\"linear\",position:\"left\"}]},showLines:!1,tooltips:{callbacks:{title:function(){return\"\"},label:function(t){return\"(\"+t.xLabel+\", \"+t.yLabel+\")\"}}}});var ue={bar:Yt,bubble:Ut,doughnut:Kt,horizontalBar:Qt,line:ne,polarArea:ae,pie:re,radar:ce,scatter:ne};function de(t,e){return t.native?{x:t.x,y:t.y}:ut.getRelativePosition(t,e)}function he(t,e){var l,n,i,a,r,o=t.data.datasets;for(n=0,a=o.length;n<a;++n)if(t.isDatasetVisible(n))for(l=t.getDatasetMeta(n),i=0,r=l.data.length;i<r;++i){var s=l.data[i];s._view.skip||e(s)}}function fe(t,e){var l=[];return he(t,function(t){t.inRange(e.x,e.y)&&l.push(t)}),l}function pe(t,e,l,n){var i=Number.POSITIVE_INFINITY,a=[];return he(t,function(t){if(!l||t.inRange(e.x,e.y)){var r=t.getCenterPoint(),o=n(e,r);o<i?(a=[t],i=o):o===i&&a.push(t)}}),a}function ge(t){var e=-1!==t.indexOf(\"x\"),l=-1!==t.indexOf(\"y\");return function(t,n){var i=e?Math.abs(t.x-n.x):0,a=l?Math.abs(t.y-n.y):0;return Math.sqrt(Math.pow(i,2)+Math.pow(a,2))}}function me(t,e,l){var n=de(e,t);l.axis=l.axis||\"x\";var i=ge(l.axis),a=l.intersect?fe(t,n):pe(t,n,!1,i),r=[];return a.length?(t.data.datasets.forEach(function(e,l){if(t.isDatasetVisible(l)){var n=t.getDatasetMeta(l),i=n.data[a[0]._index];i&&!i._view.skip&&r.push(i)}}),r):[]}var be={modes:{single:function(t,e){var l=de(e,t),n=[];return he(t,function(t){if(t.inRange(l.x,l.y))return n.push(t),n}),n.slice(0,1)},label:me,index:me,dataset:function(t,e,l){var n=de(e,t);l.axis=l.axis||\"xy\";var i=ge(l.axis),a=l.intersect?fe(t,n):pe(t,n,!1,i);return a.length>0&&(a=t.getDatasetMeta(a[0]._datasetIndex).data),a},\"x-axis\":function(t,e){return me(t,e,{intersect:!1})},point:function(t,e){var l=de(e,t);return fe(t,l)},nearest:function(t,e,l){var n=de(e,t);l.axis=l.axis||\"xy\";var i=ge(l.axis);return pe(t,n,l.intersect,i)},x:function(t,e,l){var n=de(e,t),i=[],a=!1;return he(t,function(t){t.inXRange(n.x)&&i.push(t),t.inRange(n.x,n.y)&&(a=!0)}),l.intersect&&!a&&(i=[]),i},y:function(t,e,l){var n=de(e,t),i=[],a=!1;return he(t,function(t){t.inYRange(n.y)&&i.push(t),t.inRange(n.x,n.y)&&(a=!0)}),l.intersect&&!a&&(i=[]),i}}};function ve(t,e){return ut.where(t,function(t){return t.position===e})}function ye(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,l){var n=e?l:t,i=e?t:l;return n.weight===i.weight?n._tmpIndex_-i._tmpIndex_:n.weight-i.weight}),t.forEach(function(t){delete t._tmpIndex_})}function xe(t,e){ut.each(t,function(t){e[t.position]+=t.isHorizontal()?t.height:t.width})}ot._set(\"global\",{layout:{padding:{top:0,right:0,bottom:0,left:0}}});var _e,we={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||\"top\",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var l=t.boxes?t.boxes.indexOf(e):-1;-1!==l&&t.boxes.splice(l,1)},configure:function(t,e,l){for(var n,i=[\"fullWidth\",\"position\",\"weight\"],a=i.length,r=0;r<a;++r)n=i[r],l.hasOwnProperty(n)&&(e[n]=l[n])},update:function(t,e,l){if(t){var n=t.options.layout||{},i=ut.options.toPadding(n.padding),a=i.left,r=i.right,o=i.top,s=i.bottom,c=ve(t.boxes,\"left\"),u=ve(t.boxes,\"right\"),d=ve(t.boxes,\"top\"),h=ve(t.boxes,\"bottom\"),f=ve(t.boxes,\"chartArea\");ye(c,!0),ye(u,!1),ye(d,!0),ye(h,!1);var p,g=c.concat(u),m=d.concat(h),b=g.concat(m),v=e-a-r,y=l-o-s,x=v/2,_=(e-x)/g.length,w=v,S=y,k={top:o,left:a,bottom:s,right:r},C=[];ut.each(b,function(t){var e,l=t.isHorizontal();l?(e=t.update(t.fullWidth?v:w,y/2),S-=e.height):(e=t.update(_,S),w-=e.width),C.push({horizontal:l,width:e.width,box:t})}),p=function(t){var e=0,l=0,n=0,i=0;return ut.each(t,function(t){if(t.getPadding){var a=t.getPadding();e=Math.max(e,a.top),l=Math.max(l,a.left),n=Math.max(n,a.bottom),i=Math.max(i,a.right)}}),{top:e,left:l,bottom:n,right:i}}(b),ut.each(g,I),xe(g,k),ut.each(m,I),xe(m,k),ut.each(g,function(t){var e=ut.findNextWhere(C,function(e){return e.box===t}),l={left:0,right:0,top:k.top,bottom:k.bottom};e&&t.update(e.width,S,l)}),xe(b,k={top:o,left:a,bottom:s,right:r});var T=Math.max(p.left-k.left,0);k.left+=T,k.right+=Math.max(p.right-k.right,0);var D=Math.max(p.top-k.top,0);k.top+=D,k.bottom+=Math.max(p.bottom-k.bottom,0);var M=l-k.top-k.bottom,A=e-k.left-k.right;A===w&&M===S||(ut.each(g,function(t){t.height=M}),ut.each(m,function(t){t.fullWidth||(t.width=A)}),S=M,w=A);var E=a+T,j=o+D;ut.each(c.concat(d),P),E+=w,j+=S,ut.each(u,P),ut.each(h,P),t.chartArea={left:k.left,top:k.top,right:k.left+w,bottom:k.top+S},ut.each(f,function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(w,S)})}function I(t){var e=ut.findNextWhere(C,function(e){return e.box===t});if(e)if(e.horizontal){var l={left:Math.max(k.left,p.left),right:Math.max(k.right,p.right),top:0,bottom:0};t.update(t.fullWidth?v:w,y/2,l)}else t.update(e.width,S)}function P(t){t.isHorizontal()?(t.left=t.fullWidth?a:k.left,t.right=t.fullWidth?e-r:k.left+w,t.top=j,t.bottom=j+t.height,j=t.bottom):(t.left=E,t.right=E+t.width,t.top=k.top,t.bottom=k.top+S,E=t.right)}}},Se=(_e=Object.freeze({default:\"/*\\n * DOM element rendering detection\\n * https://davidwalsh.name/detect-node-insertion\\n */\\n@keyframes chartjs-render-animation {\\n\\tfrom { opacity: 0.99; }\\n\\tto { opacity: 1; }\\n}\\n\\n.chartjs-render-monitor {\\n\\tanimation: chartjs-render-animation 0.001s;\\n}\\n\\n/*\\n * DOM element resizing detection\\n * https://github.com/marcj/css-element-queries\\n */\\n.chartjs-size-monitor,\\n.chartjs-size-monitor-expand,\\n.chartjs-size-monitor-shrink {\\n\\tposition: absolute;\\n\\tdirection: ltr;\\n\\tleft: 0;\\n\\ttop: 0;\\n\\tright: 0;\\n\\tbottom: 0;\\n\\toverflow: hidden;\\n\\tpointer-events: none;\\n\\tvisibility: hidden;\\n\\tz-index: -1;\\n}\\n\\n.chartjs-size-monitor-expand > div {\\n\\tposition: absolute;\\n\\twidth: 1000000px;\\n\\theight: 1000000px;\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.chartjs-size-monitor-shrink > div {\\n\\tposition: absolute;\\n\\twidth: 200%;\\n\\theight: 200%;\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\"}))&&_e.default||_e,ke=\"$chartjs\",Ce=\"chartjs-size-monitor\",Te=\"chartjs-render-monitor\",De=\"chartjs-render-animation\",Me=[\"animationstart\",\"webkitAnimationStart\"],Ae={touchstart:\"mousedown\",touchmove:\"mousemove\",touchend:\"mouseup\",pointerenter:\"mouseenter\",pointerdown:\"mousedown\",pointermove:\"mousemove\",pointerup:\"mouseup\",pointerleave:\"mouseout\",pointerout:\"mouseout\"};function Ee(t,e){var l=ut.getStyle(t,e),n=l&&l.match(/^(\\d+)(\\.\\d+)?px$/);return n?Number(n[1]):void 0}var je=!!function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"e\",null,e)}catch(t){}return t}()&&{passive:!0};function Ie(t,e,l){t.addEventListener(e,l,je)}function Pe(t,e,l){t.removeEventListener(e,l,je)}function Oe(t,e,l,n,i){return{type:t,chart:e,native:i||null,x:void 0!==l?l:null,y:void 0!==n?n:null}}function Le(t){var e=document.createElement(\"div\");return e.className=t||\"\",e}function Re(t,e,l){var n,i,a,r,o=t[ke]||(t[ke]={}),s=o.resizer=function(t){var e=Le(Ce),l=Le(Ce+\"-expand\"),n=Le(Ce+\"-shrink\");l.appendChild(Le()),n.appendChild(Le()),e.appendChild(l),e.appendChild(n),e._reset=function(){l.scrollLeft=1e6,l.scrollTop=1e6,n.scrollLeft=1e6,n.scrollTop=1e6};var i=function(){e._reset(),t()};return Ie(l,\"scroll\",i.bind(l,\"expand\")),Ie(n,\"scroll\",i.bind(n,\"shrink\")),e}((n=function(){if(o.resizer){var n=l.options.maintainAspectRatio&&t.parentNode,i=n?n.clientWidth:0;e(Oe(\"resize\",l)),n&&n.clientWidth<i&&l.canvas&&e(Oe(\"resize\",l))}},a=!1,r=[],function(){r=Array.prototype.slice.call(arguments),i=i||this,a||(a=!0,ut.requestAnimFrame.call(window,function(){a=!1,n.apply(i,r)}))}));!function(t,e){var l=t[ke]||(t[ke]={}),n=l.renderProxy=function(t){t.animationName===De&&e()};ut.each(Me,function(e){Ie(t,e,n)}),l.reflow=!!t.offsetParent,t.classList.add(Te)}(t,function(){if(o.resizer){var e=t.parentNode;e&&e!==s.parentNode&&e.insertBefore(s,e.firstChild),s._reset()}})}function Ne(t){var e=t[ke]||{},l=e.resizer;delete e.resizer,function(t){var e=t[ke]||{},l=e.renderProxy;l&&(ut.each(Me,function(e){Pe(t,e,l)}),delete e.renderProxy),t.classList.remove(Te)}(t),l&&l.parentNode&&l.parentNode.removeChild(l)}var Fe={disableCSSInjection:!1,_enabled:\"undefined\"!=typeof window&&\"undefined\"!=typeof document,_ensureLoaded:function(){var t,e,l;this._loaded||(this._loaded=!0,this.disableCSSInjection||(e=Se,l=(t=this)._style||document.createElement(\"style\"),t._style||(t._style=l,e=\"/* Chart.js */\\n\"+e,l.setAttribute(\"type\",\"text/css\"),document.getElementsByTagName(\"head\")[0].appendChild(l)),l.appendChild(document.createTextNode(e))))},acquireContext:function(t,e){\"string\"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var l=t&&t.getContext&&t.getContext(\"2d\");return this._ensureLoaded(),l&&l.canvas===t?(function(t,e){var l=t.style,n=t.getAttribute(\"height\"),i=t.getAttribute(\"width\");if(t[ke]={initial:{height:n,width:i,style:{display:l.display,height:l.height,width:l.width}}},l.display=l.display||\"block\",null===i||\"\"===i){var a=Ee(t,\"width\");void 0!==a&&(t.width=a)}if(null===n||\"\"===n)if(\"\"===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var r=Ee(t,\"height\");void 0!==a&&(t.height=r)}}(t,e),l):null},releaseContext:function(t){var e=t.canvas;if(e[ke]){var l=e[ke].initial;[\"height\",\"width\"].forEach(function(t){var n=l[t];ut.isNullOrUndef(n)?e.removeAttribute(t):e.setAttribute(t,n)}),ut.each(l.style||{},function(t,l){e.style[l]=t}),e.width=e.width,delete e[ke]}},addEventListener:function(t,e,l){var n=t.canvas;if(\"resize\"!==e){var i=l[ke]||(l[ke]={}),a=i.proxies||(i.proxies={}),r=a[t.id+\"_\"+e]=function(e){l(function(t,e){var l=Ae[t.type]||t.type,n=ut.getRelativePosition(t,e);return Oe(l,e,n.x,n.y,t)}(e,t))};Ie(n,e,r)}else Re(n,l,t)},removeEventListener:function(t,e,l){var n=t.canvas;if(\"resize\"!==e){var i=l[ke]||{},a=i.proxies||{},r=a[t.id+\"_\"+e];r&&Pe(n,e,r)}else Ne(n)}};ut.addEvent=Ie,ut.removeEvent=Pe;var Be=Fe._enabled?Fe:{acquireContext:function(t){return t&&t.canvas&&(t=t.canvas),t&&t.getContext(\"2d\")||null}},He=ut.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},Be);ot._set(\"global\",{plugins:{}});var qe={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach(function(t){var l=e.indexOf(t);-1!==l&&e.splice(l,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,l){var n,i,a,r,o,s=this.descriptors(t),c=s.length;for(n=0;n<c;++n)if(i=s[n],a=i.plugin,\"function\"==typeof(o=a[e])&&((r=[t].concat(l||[])).push(i.options),!1===o.apply(a,r)))return!1;return!0},descriptors:function(t){var e=t.$plugins||(t.$plugins={});if(e.id===this._cacheId)return e.descriptors;var l=[],n=[],i=t&&t.config||{},a=i.options&&i.options.plugins||{};return this._plugins.concat(i.plugins||[]).forEach(function(t){var e=l.indexOf(t);if(-1===e){var i=t.id,r=a[i];!1!==r&&(!0===r&&(r=ut.clone(ot.global.plugins[i])),l.push(t),n.push({plugin:t,options:r||{}}))}}),e.descriptors=n,e.id=this._cacheId,n},_invalidate:function(t){delete t.$plugins}},Ze={constructors:{},defaults:{},registerScaleType:function(t,e,l){this.constructors[t]=e,this.defaults[t]=ut.clone(l)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?ut.merge({},[ot.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){this.defaults.hasOwnProperty(t)&&(this.defaults[t]=ut.extend(this.defaults[t],e))},addScalesToLayout:function(t){ut.each(t.scales,function(e){e.fullWidth=e.options.fullWidth,e.position=e.options.position,e.weight=e.options.weight,we.addBox(t,e)})}},ze=ut.valueOrDefault;ot._set(\"global\",{tooltips:{enabled:!0,custom:null,mode:\"nearest\",position:\"average\",intersect:!0,backgroundColor:\"rgba(0,0,0,0.8)\",titleFontStyle:\"bold\",titleSpacing:2,titleMarginBottom:6,titleFontColor:\"#fff\",titleAlign:\"left\",bodySpacing:2,bodyFontColor:\"#fff\",bodyAlign:\"left\",footerFontStyle:\"bold\",footerSpacing:2,footerMarginTop:6,footerFontColor:\"#fff\",footerAlign:\"left\",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:\"#fff\",displayColors:!0,borderColor:\"rgba(0,0,0,0)\",borderWidth:0,callbacks:{beforeTitle:ut.noop,title:function(t,e){var l=\"\",n=e.labels,i=n?n.length:0;if(t.length>0){var a=t[0];a.label?l=a.label:a.xLabel?l=a.xLabel:i>0&&a.index<i&&(l=n[a.index])}return l},afterTitle:ut.noop,beforeBody:ut.noop,beforeLabel:ut.noop,label:function(t,e){var l=e.datasets[t.datasetIndex].label||\"\";return l&&(l+=\": \"),ut.isNullOrUndef(t.value)?l+=t.yLabel:l+=t.value,l},labelColor:function(t,e){var l=e.getDatasetMeta(t.datasetIndex),n=l.data[t.index],i=n._view;return{borderColor:i.borderColor,backgroundColor:i.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:ut.noop,afterBody:ut.noop,beforeFooter:ut.noop,footer:ut.noop,afterFooter:ut.noop}}});var $e={average:function(t){if(!t.length)return!1;var e,l,n=0,i=0,a=0;for(e=0,l=t.length;e<l;++e){var r=t[e];if(r&&r.hasValue()){var o=r.tooltipPosition();n+=o.x,i+=o.y,++a}}return{x:n/a,y:i/a}},nearest:function(t,e){var l,n,i,a=e.x,r=e.y,o=Number.POSITIVE_INFINITY;for(l=0,n=t.length;l<n;++l){var s=t[l];if(s&&s.hasValue()){var c=s.getCenterPoint(),u=ut.distanceBetweenPoints(e,c);u<o&&(o=u,i=s)}}if(i){var d=i.tooltipPosition();a=d.x,r=d.y}return{x:a,y:r}}};function Ye(t,e){return e&&(ut.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function We(t){return(\"string\"==typeof t||t instanceof String)&&t.indexOf(\"\\n\")>-1?t.split(\"\\n\"):t}function Ve(t){var e=ot.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,bodyFontColor:t.bodyFontColor,_bodyFontFamily:ze(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:ze(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:ze(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:ze(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:ze(t.titleFontStyle,e.defaultFontStyle),titleFontSize:ze(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:ze(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:ze(t.footerFontStyle,e.defaultFontStyle),footerFontSize:ze(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function Ue(t,e){return\"center\"===e?t.x+t.width/2:\"right\"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function Ge(t){return Ye([],We(t))}var Xe=gt.extend({initialize:function(){this._model=Ve(this._options),this._lastActive=[]},getTitle:function(){var t=this._options,e=t.callbacks,l=e.beforeTitle.apply(this,arguments),n=e.title.apply(this,arguments),i=e.afterTitle.apply(this,arguments),a=[];return a=Ye(a,We(l)),a=Ye(a,We(n)),a=Ye(a,We(i))},getBeforeBody:function(){return Ge(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var l=this,n=l._options.callbacks,i=[];return ut.each(t,function(t){var a={before:[],lines:[],after:[]};Ye(a.before,We(n.beforeLabel.call(l,t,e))),Ye(a.lines,n.label.call(l,t,e)),Ye(a.after,We(n.afterLabel.call(l,t,e))),i.push(a)}),i},getAfterBody:function(){return Ge(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this._options.callbacks,e=t.beforeFooter.apply(this,arguments),l=t.footer.apply(this,arguments),n=t.afterFooter.apply(this,arguments),i=[];return i=Ye(i,We(e)),i=Ye(i,We(l)),i=Ye(i,We(n))},update:function(t){var e,l,n,i,a,r,o,s,c,u,d=this,h=d._options,f=d._model,p=d._model=Ve(h),g=d._active,m=d._data,b={xAlign:f.xAlign,yAlign:f.yAlign},v={x:f.x,y:f.y},y={width:f.width,height:f.height},x={x:f.caretX,y:f.caretY};if(g.length){p.opacity=1;var _=[],w=[];x=$e[h.position].call(d,g,d._eventPosition);var S=[];for(e=0,l=g.length;e<l;++e)S.push((n=g[e],i=void 0,a=void 0,r=void 0,o=void 0,s=void 0,c=void 0,u=void 0,i=n._xScale,a=n._yScale||n._scale,r=n._index,o=n._datasetIndex,s=n._chart.getDatasetMeta(o).controller,c=s._getIndexScale(),u=s._getValueScale(),{xLabel:i?i.getLabelForIndex(r,o):\"\",yLabel:a?a.getLabelForIndex(r,o):\"\",label:c?\"\"+c.getLabelForIndex(r,o):\"\",value:u?\"\"+u.getLabelForIndex(r,o):\"\",index:r,datasetIndex:o,x:n._model.x,y:n._model.y}));h.filter&&(S=S.filter(function(t){return h.filter(t,m)})),h.itemSort&&(S=S.sort(function(t,e){return h.itemSort(t,e,m)})),ut.each(S,function(t){_.push(h.callbacks.labelColor.call(d,t,d._chart)),w.push(h.callbacks.labelTextColor.call(d,t,d._chart))}),p.title=d.getTitle(S,m),p.beforeBody=d.getBeforeBody(S,m),p.body=d.getBody(S,m),p.afterBody=d.getAfterBody(S,m),p.footer=d.getFooter(S,m),p.x=x.x,p.y=x.y,p.caretPadding=h.caretPadding,p.labelColors=_,p.labelTextColors=w,p.dataPoints=S,y=function(t,e){var l=t._chart.ctx,n=2*e.yPadding,i=0,a=e.body,r=a.reduce(function(t,e){return t+e.before.length+e.lines.length+e.after.length},0);r+=e.beforeBody.length+e.afterBody.length;var o=e.title.length,s=e.footer.length,c=e.titleFontSize,u=e.bodyFontSize,d=e.footerFontSize;n+=o*c,n+=o?(o-1)*e.titleSpacing:0,n+=o?e.titleMarginBottom:0,n+=r*u,n+=r?(r-1)*e.bodySpacing:0,n+=s?e.footerMarginTop:0,n+=s*d,n+=s?(s-1)*e.footerSpacing:0;var h=0,f=function(t){i=Math.max(i,l.measureText(t).width+h)};return l.font=ut.fontString(c,e._titleFontStyle,e._titleFontFamily),ut.each(e.title,f),l.font=ut.fontString(u,e._bodyFontStyle,e._bodyFontFamily),ut.each(e.beforeBody.concat(e.afterBody),f),h=e.displayColors?u+2:0,ut.each(a,function(t){ut.each(t.before,f),ut.each(t.lines,f),ut.each(t.after,f)}),h=0,l.font=ut.fontString(d,e._footerFontStyle,e._footerFontFamily),ut.each(e.footer,f),{width:i+=2*e.xPadding,height:n}}(this,p),b=function(t,e){var l,n,i,a,r,o=t._model,s=t._chart,c=t._chart.chartArea,u=\"center\",d=\"center\";o.y<e.height?d=\"top\":o.y>s.height-e.height&&(d=\"bottom\");var h=(c.left+c.right)/2,f=(c.top+c.bottom)/2;\"center\"===d?(l=function(t){return t<=h},n=function(t){return t>h}):(l=function(t){return t<=e.width/2},n=function(t){return t>=s.width-e.width/2}),i=function(t){return t+e.width+o.caretSize+o.caretPadding>s.width},a=function(t){return t-e.width-o.caretSize-o.caretPadding<0},r=function(t){return t<=f?\"top\":\"bottom\"},l(o.x)?(u=\"left\",i(o.x)&&(u=\"center\",d=r(o.y))):n(o.x)&&(u=\"right\",a(o.x)&&(u=\"center\",d=r(o.y)));var p=t._options;return{xAlign:p.xAlign?p.xAlign:u,yAlign:p.yAlign?p.yAlign:d}}(this,y),v=function(t,e,l,n){var i=t.x,a=t.y,r=t.caretSize,o=t.caretPadding,s=t.cornerRadius,c=l.xAlign,u=l.yAlign,d=r+o,h=s+o;return\"right\"===c?i-=e.width:\"center\"===c&&((i-=e.width/2)+e.width>n.width&&(i=n.width-e.width),i<0&&(i=0)),\"top\"===u?a+=d:a-=\"bottom\"===u?e.height+d:e.height/2,\"center\"===u?\"left\"===c?i+=d:\"right\"===c&&(i-=d):\"left\"===c?i-=h:\"right\"===c&&(i+=h),{x:i,y:a}}(p,y,b,d._chart)}else p.opacity=0;return p.xAlign=b.xAlign,p.yAlign=b.yAlign,p.x=v.x,p.y=v.y,p.width=y.width,p.height=y.height,p.caretX=x.x,p.caretY=x.y,d._model=p,t&&h.custom&&h.custom.call(d,p),d},drawCaret:function(t,e){var l=this._chart.ctx,n=this._view,i=this.getCaretPosition(t,e,n);l.lineTo(i.x1,i.y1),l.lineTo(i.x2,i.y2),l.lineTo(i.x3,i.y3)},getCaretPosition:function(t,e,l){var n,i,a,r,o,s,c=l.caretSize,u=l.cornerRadius,d=l.xAlign,h=l.yAlign,f=t.x,p=t.y,g=e.width,m=e.height;if(\"center\"===h)o=p+m/2,\"left\"===d?(i=(n=f)-c,a=n,r=o+c,s=o-c):(i=(n=f+g)+c,a=n,r=o-c,s=o+c);else if(\"left\"===d?(n=(i=f+u+c)-c,a=i+c):\"right\"===d?(n=(i=f+g-u-c)-c,a=i+c):(i=l.caretX,n=i-c,a=i+c),\"top\"===h)o=(r=p)-c,s=r;else{o=(r=p+m)+c,s=r;var b=a;a=n,n=b}return{x1:n,x2:i,x3:a,y1:r,y2:o,y3:s}},drawTitle:function(t,e,l){var n=e.title;if(n.length){t.x=Ue(e,e._titleAlign),l.textAlign=e._titleAlign,l.textBaseline=\"top\";var i,a,r=e.titleFontSize,o=e.titleSpacing;for(l.fillStyle=e.titleFontColor,l.font=ut.fontString(r,e._titleFontStyle,e._titleFontFamily),i=0,a=n.length;i<a;++i)l.fillText(n[i],t.x,t.y),t.y+=r+o,i+1===n.length&&(t.y+=e.titleMarginBottom-o)}},drawBody:function(t,e,l){var n,i=e.bodyFontSize,a=e.bodySpacing,r=e._bodyAlign,o=e.body,s=e.displayColors,c=e.labelColors,u=0,d=s?Ue(e,\"left\"):0;l.textAlign=r,l.textBaseline=\"top\",l.font=ut.fontString(i,e._bodyFontStyle,e._bodyFontFamily),t.x=Ue(e,r);var h=function(e){l.fillText(e,t.x+u,t.y),t.y+=i+a};l.fillStyle=e.bodyFontColor,ut.each(e.beforeBody,h),u=s&&\"right\"!==r?\"center\"===r?i/2+1:i+2:0,ut.each(o,function(a,r){n=e.labelTextColors[r],l.fillStyle=n,ut.each(a.before,h),ut.each(a.lines,function(a){s&&(l.fillStyle=e.legendColorBackground,l.fillRect(d,t.y,i,i),l.lineWidth=1,l.strokeStyle=c[r].borderColor,l.strokeRect(d,t.y,i,i),l.fillStyle=c[r].backgroundColor,l.fillRect(d+1,t.y+1,i-2,i-2),l.fillStyle=n),h(a)}),ut.each(a.after,h)}),u=0,ut.each(e.afterBody,h),t.y-=a},drawFooter:function(t,e,l){var n=e.footer;n.length&&(t.x=Ue(e,e._footerAlign),t.y+=e.footerMarginTop,l.textAlign=e._footerAlign,l.textBaseline=\"top\",l.fillStyle=e.footerFontColor,l.font=ut.fontString(e.footerFontSize,e._footerFontStyle,e._footerFontFamily),ut.each(n,function(n){l.fillText(n,t.x,t.y),t.y+=e.footerFontSize+e.footerSpacing}))},drawBackground:function(t,e,l,n){l.fillStyle=e.backgroundColor,l.strokeStyle=e.borderColor,l.lineWidth=e.borderWidth;var i=e.xAlign,a=e.yAlign,r=t.x,o=t.y,s=n.width,c=n.height,u=e.cornerRadius;l.beginPath(),l.moveTo(r+u,o),\"top\"===a&&this.drawCaret(t,n),l.lineTo(r+s-u,o),l.quadraticCurveTo(r+s,o,r+s,o+u),\"center\"===a&&\"right\"===i&&this.drawCaret(t,n),l.lineTo(r+s,o+c-u),l.quadraticCurveTo(r+s,o+c,r+s-u,o+c),\"bottom\"===a&&this.drawCaret(t,n),l.lineTo(r+u,o+c),l.quadraticCurveTo(r,o+c,r,o+c-u),\"center\"===a&&\"left\"===i&&this.drawCaret(t,n),l.lineTo(r,o+u),l.quadraticCurveTo(r,o,r+u,o),l.closePath(),l.fill(),e.borderWidth>0&&l.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var l={width:e.width,height:e.height},n={x:e.x,y:e.y},i=Math.abs(e.opacity<.001)?0:e.opacity,a=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,e,t,l),n.y+=e.yPadding,this.drawTitle(n,e,t),this.drawBody(n,e,t),this.drawFooter(n,e,t),t.restore())}},handleEvent:function(t){var e=this,l=e._options,n=!1;return e._lastActive=e._lastActive||[],\"mouseout\"===t.type?e._active=[]:e._active=e._chart.getElementsAtEventForMode(t,l.mode,l),(n=!ut.arrayEquals(e._active,e._lastActive))&&(e._lastActive=e._active,(l.enabled||l.custom)&&(e._eventPosition={x:t.x,y:t.y},e.update(!0),e.pivot())),n}}),Ke=$e,Qe=Xe;Qe.positioners=Ke;var Je=ut.valueOrDefault;function tl(){return ut.merge({},[].slice.call(arguments),{merger:function(t,e,l,n){if(\"xAxes\"===t||\"yAxes\"===t){var i,a,r,o=l[t].length;for(e[t]||(e[t]=[]),i=0;i<o;++i)r=l[t][i],a=Je(r.type,\"xAxes\"===t?\"category\":\"linear\"),i>=e[t].length&&e[t].push({}),!e[t][i].type||r.type&&r.type!==e[t][i].type?ut.merge(e[t][i],[Ze.getScaleDefaults(a),r]):ut.merge(e[t][i],r)}else ut._merger(t,e,l,n)}})}function el(){return ut.merge({},[].slice.call(arguments),{merger:function(t,e,l,n){var i=e[t]||{},a=l[t];\"scales\"===t?e[t]=tl(i,a):\"scale\"===t?e[t]=ut.merge(i,[Ze.getScaleDefaults(a.type),a]):ut._merger(t,e,l,n)}})}function ll(t){return\"top\"===t||\"bottom\"===t}ot._set(\"global\",{elements:{},events:[\"mousemove\",\"mouseout\",\"click\",\"touchstart\",\"touchmove\"],hover:{onHover:null,mode:\"nearest\",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var nl=function(t,e){return this.construct(t,e),this};ut.extend(nl.prototype,{construct:function(t,e){var l=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=el(ot.global,ot[t.type],t.options||{}),t}(e);var n=He.acquireContext(t,e),i=n&&n.canvas,a=i&&i.height,r=i&&i.width;l.id=ut.uid(),l.ctx=n,l.canvas=i,l.config=e,l.width=r,l.height=a,l.aspectRatio=a?r/a:null,l.options=e.options,l._bufferedRender=!1,l.chart=l,l.controller=l,nl.instances[l.id]=l,Object.defineProperty(l,\"data\",{get:function(){return l.config.data},set:function(t){l.config.data=t}}),n&&i?(l.initialize(),l.update()):console.error(\"Failed to create chart: can't acquire context from the given item\")},initialize:function(){var t=this;return qe.notify(t,\"beforeInit\"),ut.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.initToolTip(),qe.notify(t,\"afterInit\"),t},clear:function(){return ut.canvas.clear(this),this},stop:function(){return vt.cancelAnimation(this),this},resize:function(t){var e=this,l=e.options,n=e.canvas,i=l.maintainAspectRatio&&e.aspectRatio||null,a=Math.max(0,Math.floor(ut.getMaximumWidth(n))),r=Math.max(0,Math.floor(i?a/i:ut.getMaximumHeight(n)));if((e.width!==a||e.height!==r)&&(n.width=e.width=a,n.height=e.height=r,n.style.width=a+\"px\",n.style.height=r+\"px\",ut.retinaScale(e,l.devicePixelRatio),!t)){var o={width:a,height:r};qe.notify(e,\"resize\",[o]),l.onResize&&l.onResize(e,o),e.stop(),e.update({duration:l.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},l=t.scale;ut.each(e.xAxes,function(t,e){t.id=t.id||\"x-axis-\"+e}),ut.each(e.yAxes,function(t,e){t.id=t.id||\"y-axis-\"+e}),l&&(l.id=l.id||\"scale\")},buildOrUpdateScales:function(){var t=this,e=t.options,l=t.scales||{},n=[],i=Object.keys(l).reduce(function(t,e){return t[e]=!1,t},{});e.scales&&(n=n.concat((e.scales.xAxes||[]).map(function(t){return{options:t,dtype:\"category\",dposition:\"bottom\"}}),(e.scales.yAxes||[]).map(function(t){return{options:t,dtype:\"linear\",dposition:\"left\"}}))),e.scale&&n.push({options:e.scale,dtype:\"radialLinear\",isDefault:!0,dposition:\"chartArea\"}),ut.each(n,function(e){var n=e.options,a=n.id,r=Je(n.type,e.dtype);ll(n.position)!==ll(e.dposition)&&(n.position=e.dposition),i[a]=!0;var o=null;if(a in l&&l[a].type===r)(o=l[a]).options=n,o.ctx=t.ctx,o.chart=t;else{var s=Ze.getScaleConstructor(r);if(!s)return;o=new s({id:a,type:r,options:n,ctx:t.ctx,chart:t}),l[o.id]=o}o.mergeTicksOptions(),e.isDefault&&(t.scale=o)}),ut.each(i,function(t,e){t||delete l[e]}),t.scales=l,Ze.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t=this,e=[];return ut.each(t.data.datasets,function(l,n){var i=t.getDatasetMeta(n),a=l.type||t.config.type;if(i.type&&i.type!==a&&(t.destroyDatasetMeta(n),i=t.getDatasetMeta(n)),i.type=a,i.controller)i.controller.updateIndex(n),i.controller.linkScales();else{var r=ue[i.type];if(void 0===r)throw new Error('\"'+i.type+'\" is not a chart type.');i.controller=new r(t,n),e.push(i.controller)}},t),e},resetElements:function(){var t=this;ut.each(t.data.datasets,function(e,l){t.getDatasetMeta(l).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e,l,n=this;if(t&&\"object\"==typeof t||(t={duration:t,lazy:arguments[1]}),l=(e=n).options,ut.each(e.scales,function(t){we.removeBox(e,t)}),l=el(ot.global,ot[e.config.type],l),e.options=e.config.options=l,e.ensureScalesHaveIDs(),e.buildOrUpdateScales(),e.tooltip._options=l.tooltips,e.tooltip.initialize(),qe._invalidate(n),!1!==qe.notify(n,\"beforeUpdate\")){n.tooltip._data=n.data;var i=n.buildOrUpdateControllers();ut.each(n.data.datasets,function(t,e){n.getDatasetMeta(e).controller.buildOrUpdateElements()},n),n.updateLayout(),n.options.animation&&n.options.animation.duration&&ut.each(i,function(t){t.reset()}),n.updateDatasets(),n.tooltip.initialize(),n.lastActive=[],qe.notify(n,\"afterUpdate\"),n._bufferedRender?n._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:n.render(t)}},updateLayout:function(){!1!==qe.notify(this,\"beforeLayout\")&&(we.update(this,this.width,this.height),qe.notify(this,\"afterScaleUpdate\"),qe.notify(this,\"afterLayout\"))},updateDatasets:function(){if(!1!==qe.notify(this,\"beforeDatasetsUpdate\")){for(var t=0,e=this.data.datasets.length;t<e;++t)this.updateDataset(t);qe.notify(this,\"afterDatasetsUpdate\")}},updateDataset:function(t){var e=this.getDatasetMeta(t),l={meta:e,index:t};!1!==qe.notify(this,\"beforeDatasetUpdate\",[l])&&(e.controller.update(),qe.notify(this,\"afterDatasetUpdate\",[l]))},render:function(t){var e=this;t&&\"object\"==typeof t||(t={duration:t,lazy:arguments[1]});var l=e.options.animation,n=Je(t.duration,l&&l.duration),i=t.lazy;if(!1!==qe.notify(e,\"beforeRender\")){var a=function(t){qe.notify(e,\"afterRender\"),ut.callback(l&&l.onComplete,[t],e)};if(l&&n){var r=new bt({numSteps:n/16.66,easing:t.easing||l.easing,render:function(t,e){var l=ut.easing.effects[e.easing],n=e.currentStep,i=n/e.numSteps;t.draw(l(i),i,n)},onAnimationProgress:l.onProgress,onAnimationComplete:a});vt.addAnimation(e,r,n,i)}else e.draw(),a(new bt({numSteps:0,chart:e}));return e}},draw:function(t){var e=this;e.clear(),ut.isNullOrUndef(t)&&(t=1),e.transition(t),e.width<=0||e.height<=0||!1!==qe.notify(e,\"beforeDraw\",[t])&&(ut.each(e.boxes,function(t){t.draw(e.chartArea)},e),e.drawDatasets(t),e._drawTooltip(t),qe.notify(e,\"afterDraw\",[t]))},transition:function(t){for(var e=0,l=(this.data.datasets||[]).length;e<l;++e)this.isDatasetVisible(e)&&this.getDatasetMeta(e).controller.transition(t);this.tooltip.transition(t)},drawDatasets:function(t){var e=this;if(!1!==qe.notify(e,\"beforeDatasetsDraw\",[t])){for(var l=(e.data.datasets||[]).length-1;l>=0;--l)e.isDatasetVisible(l)&&e.drawDataset(l,t);qe.notify(e,\"afterDatasetsDraw\",[t])}},drawDataset:function(t,e){var l=this.getDatasetMeta(t),n={meta:l,index:t,easingValue:e};!1!==qe.notify(this,\"beforeDatasetDraw\",[n])&&(l.controller.draw(e),qe.notify(this,\"afterDatasetDraw\",[n]))},_drawTooltip:function(t){var e=this.tooltip,l={tooltip:e,easingValue:t};!1!==qe.notify(this,\"beforeTooltipDraw\",[l])&&(e.draw(),qe.notify(this,\"afterTooltipDraw\",[l]))},getElementAtEvent:function(t){return be.modes.single(this,t)},getElementsAtEvent:function(t){return be.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return be.modes[\"x-axis\"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,l){var n=be.modes[e];return\"function\"==typeof n?n(this,t,l):[]},getDatasetAtEvent:function(t){return be.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var l=e._meta[this.id];return l||(l=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),l},getVisibleDatasetCount:function(){for(var t=0,e=0,l=this.data.datasets.length;e<l;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return\"boolean\"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,l=this.data.datasets[t],n=l._meta&&l._meta[e];n&&(n.controller.destroy(),delete l._meta[e])},destroy:function(){var t,e,l=this,n=l.canvas;for(l.stop(),t=0,e=l.data.datasets.length;t<e;++t)l.destroyDatasetMeta(t);n&&(l.unbindEvents(),ut.canvas.clear(l),He.releaseContext(l.ctx),l.canvas=null,l.ctx=null),qe.notify(l,\"destroy\"),delete nl.instances[l.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var t=this;t.tooltip=new Qe({_chart:t,_chartInstance:t,_data:t.data,_options:t.options.tooltips},t)},bindEvents:function(){var t=this,e=t._listeners={},l=function(){t.eventHandler.apply(t,arguments)};ut.each(t.options.events,function(n){He.addEventListener(t,n,l),e[n]=l}),t.options.responsive&&(l=function(){t.resize()},He.addEventListener(t,\"resize\",l),e.resize=l)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,ut.each(e,function(e,l){He.removeEventListener(t,l,e)}))},updateHoverStyle:function(t,e,l){var n,i,a,r=l?\"setHoverStyle\":\"removeHoverStyle\";for(i=0,a=t.length;i<a;++i)(n=t[i])&&this.getDatasetMeta(n._datasetIndex).controller[r](n)},eventHandler:function(t){var e=this,l=e.tooltip;if(!1!==qe.notify(e,\"beforeEvent\",[t])){e._bufferedRender=!0,e._bufferedRequest=null;var n=e.handleEvent(t);l&&(n=l._start?l.handleEvent(t):n|l.handleEvent(t)),qe.notify(e,\"afterEvent\",[t]);var i=e._bufferedRequest;return i?e.render(i):n&&!e.animating&&(e.stop(),e.render({duration:e.options.hover.animationDuration,lazy:!0})),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e=this,l=e.options||{},n=l.hover,i=!1;return e.lastActive=e.lastActive||[],\"mouseout\"===t.type?e.active=[]:e.active=e.getElementsAtEventForMode(t,n.mode,n),ut.callback(l.onHover||l.hover.onHover,[t.native,e.active],e),\"mouseup\"!==t.type&&\"click\"!==t.type||l.onClick&&l.onClick.call(e,t.native,e.active),e.lastActive.length&&e.updateHoverStyle(e.lastActive,n.mode,!1),e.active.length&&n.mode&&e.updateHoverStyle(e.active,n.mode,!0),i=!ut.arrayEquals(e.active,e.lastActive),e.lastActive=e.active,i}}),nl.instances={};var il=nl;function al(){throw new Error(\"This method is not implemented: either no adapter can be found or an incomplete integration was provided.\")}function rl(t){this.options=t||{}}nl.Controller=nl,nl.types={},ut.configMerge=el,ut.scaleMerge=tl,ut.extend(rl.prototype,{formats:al,parse:al,format:al,add:al,diff:al,startOf:al,endOf:al,_create:function(t){return t}}),rl.override=function(t){ut.extend(rl.prototype,t)};var ol={_date:rl},sl={formatters:{values:function(t){return ut.isArray(t)?t:\"\"+t},linear:function(t,e,l){var n=l.length>3?l[2]-l[1]:l[1]-l[0];Math.abs(n)>1&&t!==Math.floor(t)&&(n=t-Math.floor(t));var i=ut.log10(Math.abs(n)),a=\"\";if(0!==t){var r=Math.max(Math.abs(l[0]),Math.abs(l[l.length-1]));if(r<1e-4){var o=ut.log10(Math.abs(t));a=t.toExponential(Math.floor(o)-Math.floor(i))}else{var s=-1*Math.floor(i);s=Math.max(Math.min(s,20),0),a=t.toFixed(s)}}else a=\"0\";return a},logarithmic:function(t,e,l){var n=t/Math.pow(10,Math.floor(ut.log10(t)));return 0===t?\"0\":1===n||2===n||5===n||0===e||e===l.length-1?t.toExponential():\"\"}}},cl=ut.valueOrDefault,ul=ut.valueAtIndexOrDefault;function dl(t){var e,l,n=[];for(e=0,l=t.length;e<l;++e)n.push(t[e].label);return n}function hl(t,e,l){return ut.isArray(e)?ut.longestText(t,l,e):t.measureText(e).width}ot._set(\"scale\",{display:!0,position:\"left\",offset:!1,gridLines:{display:!0,color:\"rgba(0, 0, 0, 0.1)\",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:\"rgba(0,0,0,0.25)\",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:\"\",padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:sl.formatters.values,minor:{},major:{}}});var fl=gt.extend({getPadding:function(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var t=this.options.ticks;for(var e in!1===t.minor&&(t.minor={display:!1}),!1===t.major&&(t.major={display:!1}),t)\"major\"!==e&&\"minor\"!==e&&(void 0===t.minor[e]&&(t.minor[e]=t[e]),void 0===t.major[e]&&(t.major[e]=t[e]))},beforeUpdate:function(){ut.callback(this.options.beforeUpdate,[this])},update:function(t,e,l){var n,i,a,r,o,s,c=this;for(c.beforeUpdate(),c.maxWidth=t,c.maxHeight=e,c.margins=ut.extend({left:0,right:0,top:0,bottom:0},l),c._maxLabelLines=0,c.longestLabelWidth=0,c.longestTextCache=c.longestTextCache||{},c.beforeSetDimensions(),c.setDimensions(),c.afterSetDimensions(),c.beforeDataLimits(),c.determineDataLimits(),c.afterDataLimits(),c.beforeBuildTicks(),o=c.buildTicks()||[],o=c.afterBuildTicks(o)||o,c.beforeTickToLabelConversion(),a=c.convertTicksToLabels(o)||c.ticks,c.afterTickToLabelConversion(),c.ticks=a,n=0,i=a.length;n<i;++n)r=a[n],(s=o[n])?s.label=r:o.push(s={label:r,major:!1});return c._ticks=o,c.beforeCalculateTickRotation(),c.calculateTickRotation(),c.afterCalculateTickRotation(),c.beforeFit(),c.fit(),c.afterFit(),c.afterUpdate(),c.minSize},afterUpdate:function(){ut.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){ut.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){ut.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){ut.callback(this.options.beforeDataLimits,[this])},determineDataLimits:ut.noop,afterDataLimits:function(){ut.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){ut.callback(this.options.beforeBuildTicks,[this])},buildTicks:ut.noop,afterBuildTicks:function(t){var e=this;return ut.isArray(t)&&t.length?ut.callback(e.options.afterBuildTicks,[e,t]):(e.ticks=ut.callback(e.options.afterBuildTicks,[e,e.ticks])||e.ticks,t)},beforeTickToLabelConversion:function(){ut.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this.options.ticks;this.ticks=this.ticks.map(t.userCallback||t.callback,this)},afterTickToLabelConversion:function(){ut.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){ut.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t=this,e=t.ctx,l=t.options.ticks,n=dl(t._ticks),i=ut.options._parseFont(l);e.font=i.string;var a=l.minRotation||0;if(n.length&&t.options.display&&t.isHorizontal())for(var r,o=ut.longestText(e,i.string,n,t.longestTextCache),s=o,c=t.getPixelForTick(1)-t.getPixelForTick(0)-6;s>c&&a<l.maxRotation;){var u=ut.toRadians(a);if(r=Math.cos(u),Math.sin(u)*o>t.maxHeight){a--;break}a++,s=r*o}t.labelRotation=a},afterCalculateTickRotation:function(){ut.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){ut.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},l=dl(t._ticks),n=t.options,i=n.ticks,a=n.scaleLabel,r=n.gridLines,o=t._isVisible(),s=n.position,c=t.isHorizontal(),u=ut.options._parseFont,d=u(i),h=n.gridLines.tickMarkLength;if(e.width=c?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:o&&r.drawTicks?h:0,e.height=c?o&&r.drawTicks?h:0:t.maxHeight,a.display&&o){var f=u(a),p=ut.options.toPadding(a.padding),g=f.lineHeight+p.height;c?e.height+=g:e.width+=g}if(i.display&&o){var m=ut.longestText(t.ctx,d.string,l,t.longestTextCache),b=ut.numberOfLabelLines(l),v=.5*d.size,y=t.options.ticks.padding;if(t._maxLabelLines=b,t.longestLabelWidth=m,c){var x=ut.toRadians(t.labelRotation),_=Math.cos(x),w=Math.sin(x),S=w*m+d.lineHeight*b+v;e.height=Math.min(t.maxHeight,e.height+S+y),t.ctx.font=d.string;var k,C,T=hl(t.ctx,l[0],d.string),D=hl(t.ctx,l[l.length-1],d.string),M=t.getPixelForTick(0)-t.left,A=t.right-t.getPixelForTick(l.length-1);0!==t.labelRotation?(k=\"bottom\"===s?_*T:_*v,C=\"bottom\"===s?_*v:_*D):(k=T/2,C=D/2),t.paddingLeft=Math.max(k-M,0)+3,t.paddingRight=Math.max(C-A,0)+3}else i.mirror?m=0:m+=y+v,e.width=Math.min(t.maxWidth,e.width+m),t.paddingTop=d.size/2,t.paddingBottom=d.size/2}t.handleMargins(),t.width=e.width,t.height=e.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){ut.callback(this.options.afterFit,[this])},isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(ut.isNullOrUndef(t))return NaN;if((\"number\"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:ut.noop,getPixelForValue:ut.noop,getValueForPixel:ut.noop,getPixelForTick:function(t){var e=this,l=e.options.offset;if(e.isHorizontal()){var n=e.width-(e.paddingLeft+e.paddingRight),i=n/Math.max(e._ticks.length-(l?0:1),1),a=i*t+e.paddingLeft;l&&(a+=i/2);var r=e.left+a;return r+=e.isFullWidth()?e.margins.left:0}var o=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(o/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var l=e.width-(e.paddingLeft+e.paddingRight),n=l*t+e.paddingLeft,i=e.left+n;return i+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,l,n=this,i=n.isHorizontal(),a=n.options.ticks.minor,r=t.length,o=!1,s=a.maxTicksLimit,c=n._tickSize()*(r-1),u=i?n.width-(n.paddingLeft+n.paddingRight):n.height-(n.paddingTop+n.PaddingBottom),d=[];for(c>u&&(o=1+Math.floor(c/u)),r>s&&(o=Math.max(o,1+Math.floor(r/s))),e=0;e<r;e++)l=t[e],o>1&&e%o>0&&delete l.label,d.push(l);return d},_tickSize:function(){var t=this,e=t.isHorizontal(),l=t.options.ticks.minor,n=ut.toRadians(t.labelRotation),i=Math.abs(Math.cos(n)),a=Math.abs(Math.sin(n)),r=l.autoSkipPadding||0,o=t.longestLabelWidth+r||0,s=ut.options._parseFont(l),c=t._maxLabelLines*s.lineHeight+r||0;return e?c*i>o*a?o/i:c/a:c*a<o*i?c/i:o/a},_isVisible:function(){var t,e,l,n=this.chart,i=this.options.display;if(\"auto\"!==i)return!!i;for(t=0,e=n.data.datasets.length;t<e;++t)if(n.isDatasetVisible(t)&&((l=n.getDatasetMeta(t)).xAxisID===this.id||l.yAxisID===this.id))return!0;return!1},draw:function(t){var e=this,l=e.options;if(e._isVisible()){var n,i,a,r=e.chart,o=e.ctx,s=ot.global,c=s.defaultFontColor,u=l.ticks.minor,d=l.ticks.major||u,h=l.gridLines,f=l.scaleLabel,p=l.position,g=0!==e.labelRotation,m=u.mirror,b=e.isHorizontal(),v=ut.options._parseFont,y=u.display&&u.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),x=cl(u.fontColor,c),_=v(u),w=_.lineHeight,S=cl(d.fontColor,c),k=v(d),C=u.padding,T=u.labelOffset,D=h.drawTicks?h.tickMarkLength:0,M=cl(f.fontColor,c),A=v(f),E=ut.options.toPadding(f.padding),j=ut.toRadians(e.labelRotation),I=[],P=h.drawBorder?ul(h.lineWidth,0,0):0,O=ut._alignPixel;if(\"top\"===p?(n=O(r,e.bottom,P),i=e.bottom-D,a=n-P/2):\"bottom\"===p?(n=O(r,e.top,P),i=n+P/2,a=e.top+D):\"left\"===p?(n=O(r,e.right,P),i=e.right-D,a=n-P/2):(n=O(r,e.left,P),i=n+P/2,a=e.left+D),ut.each(y,function(n,o){if(!ut.isNullOrUndef(n.label)){var s,c,u,d,f,v,y,x,_,S,k,M,A,E,L,R,N=n.label;o===e.zeroLineIndex&&l.offset===h.offsetGridLines?(s=h.zeroLineWidth,c=h.zeroLineColor,u=h.zeroLineBorderDash||[],d=h.zeroLineBorderDashOffset||0):(s=ul(h.lineWidth,o),c=ul(h.color,o),u=h.borderDash||[],d=h.borderDashOffset||0);var F=ut.isArray(N)?N.length:1,B=function(t,e,l){var n=t.getPixelForTick(e);return l&&(1===t.getTicks().length?n-=t.isHorizontal()?Math.max(n-t.left,t.right-n):Math.max(n-t.top,t.bottom-n):n-=0===e?(t.getPixelForTick(1)-n)/2:(n-t.getPixelForTick(e-1))/2),n}(e,o,h.offsetGridLines);if(b){var H=D+C;B<e.left-1e-7&&(c=\"rgba(0,0,0,0)\"),f=y=_=k=O(r,B,s),v=i,x=a,A=e.getPixelForTick(o)+T,\"top\"===p?(S=O(r,t.top,P)+P/2,M=t.bottom,L=((g?1:.5)-F)*w,R=g?\"left\":\"center\",E=e.bottom-H):(S=t.top,M=O(r,t.bottom,P)-P/2,L=(g?0:.5)*w,R=g?\"right\":\"center\",E=e.top+H)}else{var q=(m?0:D)+C;B<e.top-1e-7&&(c=\"rgba(0,0,0,0)\"),f=i,y=a,v=x=S=M=O(r,B,s),E=e.getPixelForTick(o)+T,L=(1-F)*w/2,\"left\"===p?(_=O(r,t.left,P)+P/2,k=t.right,R=m?\"left\":\"right\",A=e.right-q):(_=t.left,k=O(r,t.right,P)-P/2,R=m?\"right\":\"left\",A=e.left+q)}I.push({tx1:f,ty1:v,tx2:y,ty2:x,x1:_,y1:S,x2:k,y2:M,labelX:A,labelY:E,glWidth:s,glColor:c,glBorderDash:u,glBorderDashOffset:d,rotation:-1*j,label:N,major:n.major,textOffset:L,textAlign:R})}}),ut.each(I,function(t){var e=t.glWidth,l=t.glColor;if(h.display&&e&&l&&(o.save(),o.lineWidth=e,o.strokeStyle=l,o.setLineDash&&(o.setLineDash(t.glBorderDash),o.lineDashOffset=t.glBorderDashOffset),o.beginPath(),h.drawTicks&&(o.moveTo(t.tx1,t.ty1),o.lineTo(t.tx2,t.ty2)),h.drawOnChartArea&&(o.moveTo(t.x1,t.y1),o.lineTo(t.x2,t.y2)),o.stroke(),o.restore()),u.display){o.save(),o.translate(t.labelX,t.labelY),o.rotate(t.rotation),o.font=t.major?k.string:_.string,o.fillStyle=t.major?S:x,o.textBaseline=\"middle\",o.textAlign=t.textAlign;var n=t.label,i=t.textOffset;if(ut.isArray(n))for(var a=0;a<n.length;++a)o.fillText(\"\"+n[a],0,i),i+=w;else o.fillText(n,0,i);o.restore()}}),f.display){var L,R,N=0,F=A.lineHeight/2;if(b)L=e.left+(e.right-e.left)/2,R=\"bottom\"===p?e.bottom-F-E.bottom:e.top+F+E.top;else{var B=\"left\"===p;L=B?e.left+F+E.top:e.right-F-E.top,R=e.top+(e.bottom-e.top)/2,N=B?-.5*Math.PI:.5*Math.PI}o.save(),o.translate(L,R),o.rotate(N),o.textAlign=\"center\",o.textBaseline=\"middle\",o.fillStyle=M,o.font=A.string,o.fillText(f.labelString,0,0),o.restore()}if(P){var H,q,Z,z,$=P,Y=ul(h.lineWidth,y.length-1,0);b?(H=O(r,e.left,$)-$/2,q=O(r,e.right,Y)+Y/2,Z=z=n):(Z=O(r,e.top,$)-$/2,z=O(r,e.bottom,Y)+Y/2,H=q=n),o.lineWidth=P,o.strokeStyle=ul(h.color,0),o.beginPath(),o.moveTo(H,Z),o.lineTo(q,z),o.stroke()}}}}),pl=fl.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t,e=this,l=e.getLabels();e.minIndex=0,e.maxIndex=l.length-1,void 0!==e.options.ticks.min&&(t=l.indexOf(e.options.ticks.min),e.minIndex=-1!==t?t:e.minIndex),void 0!==e.options.ticks.max&&(t=l.indexOf(e.options.ticks.max),e.maxIndex=-1!==t?t:e.maxIndex),e.min=l[e.minIndex],e.max=l[e.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var l=this,n=l.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===l.id?l.getRightValue(n.data.datasets[e].data[t]):l.ticks[t-l.minIndex]},getPixelForValue:function(t,e){var l,n=this,i=n.options.offset,a=Math.max(n.maxIndex+1-n.minIndex-(i?0:1),1);if(null!=t&&(l=n.isHorizontal()?t.x:t.y),void 0!==l||void 0!==t&&isNaN(e)){var r=n.getLabels();t=l||t;var o=r.indexOf(t);e=-1!==o?o:e}if(n.isHorizontal()){var s=n.width/a,c=s*(e-n.minIndex);return i&&(c+=s/2),n.left+c}var u=n.height/a,d=u*(e-n.minIndex);return i&&(d+=u/2),n.top+d},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,l=e.options.offset,n=Math.max(e._ticks.length-(l?0:1),1),i=e.isHorizontal(),a=(i?e.width:e.height)/n;return t-=i?e.left:e.top,l&&(t-=a/2),(t<=0?0:Math.round(t/a))+e.minIndex},getBasePixel:function(){return this.bottom}}),gl={position:\"bottom\"};pl._defaults=gl;var ml=ut.noop,bl=ut.isNullOrUndef,vl=fl.extend({getRightValue:function(t){return\"string\"==typeof t?+t:fl.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options,l=e.ticks;if(l.beginAtZero){var n=ut.sign(t.min),i=ut.sign(t.max);n<0&&i<0?t.max=0:n>0&&i>0&&(t.min=0)}var a=void 0!==l.min||void 0!==l.suggestedMin,r=void 0!==l.max||void 0!==l.suggestedMax;void 0!==l.min?t.min=l.min:void 0!==l.suggestedMin&&(null===t.min?t.min=l.suggestedMin:t.min=Math.min(t.min,l.suggestedMin)),void 0!==l.max?t.max=l.max:void 0!==l.suggestedMax&&(null===t.max?t.max=l.suggestedMax:t.max=Math.max(t.max,l.suggestedMax)),a!==r&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,l.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,l=e.stepSize,n=e.maxTicksLimit;return l?t=Math.ceil(this.max/l)-Math.floor(this.min/l)+1:(t=this._computeTickLimit(),n=n||11),n&&(t=Math.min(n,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:ml,buildTicks:function(){var t=this,e=t.options,l=e.ticks,n=t.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:l.min,max:l.max,precision:l.precision,stepSize:ut.valueOrDefault(l.fixedStepSize,l.stepSize)},a=t.ticks=function(t,e){var l,n,i,a,r=[],o=t.stepSize,s=o||1,c=t.maxTicks-1,u=t.min,d=t.max,h=t.precision,f=e.min,p=e.max,g=ut.niceNum((p-f)/c/s)*s;if(g<1e-14&&bl(u)&&bl(d))return[f,p];(a=Math.ceil(p/g)-Math.floor(f/g))>c&&(g=ut.niceNum(a*g/c/s)*s),o||bl(h)?l=Math.pow(10,ut._decimalPlaces(g)):(l=Math.pow(10,h),g=Math.ceil(g*l)/l),n=Math.floor(f/g)*g,i=Math.ceil(p/g)*g,o&&(!bl(u)&&ut.almostWhole(u/g,g/1e3)&&(n=u),!bl(d)&&ut.almostWhole(d/g,g/1e3)&&(i=d)),a=(i-n)/g,a=ut.almostEquals(a,Math.round(a),g/1e3)?Math.round(a):Math.ceil(a),n=Math.round(n*l)/l,i=Math.round(i*l)/l,r.push(bl(u)?n:u);for(var m=1;m<a;++m)r.push(Math.round((n+m*g)*l)/l);return r.push(bl(d)?i:d),r}(i,t);t.handleDirectionalChanges(),t.max=ut.max(a),t.min=ut.min(a),l.reverse?(a.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var t=this;t.ticksAsNumbers=t.ticks.slice(),t.zeroLineIndex=t.ticks.indexOf(0),fl.prototype.convertTicksToLabels.call(t)}}),yl={position:\"left\",ticks:{callback:sl.formatters.linear}},xl=vl.extend({determineDataLimits:function(){var t=this,e=t.options,l=t.chart,n=l.data,i=n.datasets,a=t.isHorizontal();function r(e){return a?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null;var o=e.stacked;if(void 0===o&&ut.each(i,function(t,e){if(!o){var n=l.getDatasetMeta(e);l.isDatasetVisible(e)&&r(n)&&void 0!==n.stack&&(o=!0)}}),e.stacked||o){var s={};ut.each(i,function(n,i){var a=l.getDatasetMeta(i),o=[a.type,void 0===e.stacked&&void 0===a.stack?i:\"\",a.stack].join(\".\");void 0===s[o]&&(s[o]={positiveValues:[],negativeValues:[]});var c=s[o].positiveValues,u=s[o].negativeValues;l.isDatasetVisible(i)&&r(a)&&ut.each(n.data,function(l,n){var i=+t.getRightValue(l);isNaN(i)||a.data[n].hidden||(c[n]=c[n]||0,u[n]=u[n]||0,e.relativePoints?c[n]=100:i<0?u[n]+=i:c[n]+=i)})}),ut.each(s,function(e){var l=e.positiveValues.concat(e.negativeValues),n=ut.min(l),i=ut.max(l);t.min=null===t.min?n:Math.min(t.min,n),t.max=null===t.max?i:Math.max(t.max,i)})}else ut.each(i,function(e,n){var i=l.getDatasetMeta(n);l.isDatasetVisible(n)&&r(i)&&ut.each(e.data,function(e,l){var n=+t.getRightValue(e);isNaN(n)||i.data[l].hidden||(null===t.min?t.min=n:n<t.min&&(t.min=n),null===t.max?t.max=n:n>t.max&&(t.max=n))})});t.min=isFinite(t.min)&&!isNaN(t.min)?t.min:0,t.max=isFinite(t.max)&&!isNaN(t.max)?t.max:1,this.handleTickRangeOptions()},_computeTickLimit:function(){var t;return this.isHorizontal()?Math.ceil(this.width/40):(t=ut.options._parseFont(this.options.ticks),Math.ceil(this.height/t.lineHeight))},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e=this,l=e.start,n=+e.getRightValue(t),i=e.end-l;return e.isHorizontal()?e.left+e.width/i*(n-l):e.bottom-e.height/i*(n-l)},getValueForPixel:function(t){var e=this,l=e.isHorizontal(),n=l?e.width:e.height,i=(l?t-e.left:e.bottom-t)/n;return e.start+(e.end-e.start)*i},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}}),_l=yl;xl._defaults=_l;var wl=ut.valueOrDefault,Sl={position:\"left\",ticks:{callback:sl.formatters.logarithmic}};function kl(t,e){return ut.isFinite(t)&&t>=0?t:e}var Cl=fl.extend({determineDataLimits:function(){var t=this,e=t.options,l=t.chart,n=l.data,i=n.datasets,a=t.isHorizontal();function r(e){return a?e.xAxisID===t.id:e.yAxisID===t.id}t.min=null,t.max=null,t.minNotZero=null;var o=e.stacked;if(void 0===o&&ut.each(i,function(t,e){if(!o){var n=l.getDatasetMeta(e);l.isDatasetVisible(e)&&r(n)&&void 0!==n.stack&&(o=!0)}}),e.stacked||o){var s={};ut.each(i,function(n,i){var a=l.getDatasetMeta(i),o=[a.type,void 0===e.stacked&&void 0===a.stack?i:\"\",a.stack].join(\".\");l.isDatasetVisible(i)&&r(a)&&(void 0===s[o]&&(s[o]=[]),ut.each(n.data,function(e,l){var n=s[o],i=+t.getRightValue(e);isNaN(i)||a.data[l].hidden||i<0||(n[l]=n[l]||0,n[l]+=i)}))}),ut.each(s,function(e){if(e.length>0){var l=ut.min(e),n=ut.max(e);t.min=null===t.min?l:Math.min(t.min,l),t.max=null===t.max?n:Math.max(t.max,n)}})}else ut.each(i,function(e,n){var i=l.getDatasetMeta(n);l.isDatasetVisible(n)&&r(i)&&ut.each(e.data,function(e,l){var n=+t.getRightValue(e);isNaN(n)||i.data[l].hidden||n<0||(null===t.min?t.min=n:n<t.min&&(t.min=n),null===t.max?t.max=n:n>t.max&&(t.max=n),0!==n&&(null===t.minNotZero||n<t.minNotZero)&&(t.minNotZero=n))})});this.handleTickRangeOptions()},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;t.min=kl(e.min,t.min),t.max=kl(e.max,t.max),t.min===t.max&&(0!==t.min&&null!==t.min?(t.min=Math.pow(10,Math.floor(ut.log10(t.min))-1),t.max=Math.pow(10,Math.floor(ut.log10(t.max))+1)):(t.min=1,t.max=10)),null===t.min&&(t.min=Math.pow(10,Math.floor(ut.log10(t.max))-1)),null===t.max&&(t.max=0!==t.min?Math.pow(10,Math.floor(ut.log10(t.min))+1):10),null===t.minNotZero&&(t.min>0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(ut.log10(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,l=!t.isHorizontal(),n={min:kl(e.min),max:kl(e.max)},i=t.ticks=function(t,e){var l,n,i=[],a=wl(t.min,Math.pow(10,Math.floor(ut.log10(e.min)))),r=Math.floor(ut.log10(e.max)),o=Math.ceil(e.max/Math.pow(10,r));0===a?(l=Math.floor(ut.log10(e.minNotZero)),n=Math.floor(e.minNotZero/Math.pow(10,l)),i.push(a),a=n*Math.pow(10,l)):(l=Math.floor(ut.log10(a)),n=Math.floor(a/Math.pow(10,l)));var s=l<0?Math.pow(10,Math.abs(l)):1;do{i.push(a),10==++n&&(n=1,s=++l>=0?1:s),a=Math.round(n*Math.pow(10,l)*s)/s}while(l<r||l===r&&n<o);var c=wl(t.max,a);return i.push(c),i}(n,t);t.max=ut.max(i),t.min=ut.min(i),e.reverse?(l=!l,t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max),l&&i.reverse()},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),fl.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){return this.getPixelForValue(this.tickValues[t])},_getFirstTickValue:function(t){var e=Math.floor(ut.log10(t)),l=Math.floor(t/Math.pow(10,e));return l*Math.pow(10,e)},getPixelForValue:function(t){var e,l,n,i,a,r=this,o=r.options.ticks,s=o.reverse,c=ut.log10,u=r._getFirstTickValue(r.minNotZero),d=0;return t=+r.getRightValue(t),s?(n=r.end,i=r.start,a=-1):(n=r.start,i=r.end,a=1),r.isHorizontal()?(e=r.width,l=s?r.right:r.left):(e=r.height,a*=-1,l=s?r.top:r.bottom),t!==n&&(0===n&&(d=wl(o.fontSize,ot.global.defaultFontSize),e-=d,n=u),0!==t&&(d+=e/(c(i)-c(n))*(c(t)-c(n))),l+=a*d),l},getValueForPixel:function(t){var e,l,n,i,a=this,r=a.options.ticks,o=r.reverse,s=ut.log10,c=a._getFirstTickValue(a.minNotZero);if(o?(l=a.end,n=a.start):(l=a.start,n=a.end),a.isHorizontal()?(e=a.width,i=o?a.right-t:t-a.left):(e=a.height,i=o?t-a.top:a.bottom-t),i!==l){if(0===l){var u=wl(r.fontSize,ot.global.defaultFontSize);i-=u,e-=u,l=c}i*=s(n)-s(l),i/=e,i=Math.pow(10,s(l)+i)}return i}}),Tl=Sl;Cl._defaults=Tl;var Dl=ut.valueOrDefault,Ml=ut.valueAtIndexOrDefault,Al=ut.options.resolve,El={display:!0,animate:!0,position:\"chartArea\",angleLines:{display:!0,color:\"rgba(0, 0, 0, 0.1)\",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:\"rgba(255,255,255,0.75)\",backdropPaddingY:2,backdropPaddingX:2,callback:sl.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function jl(t){var e=t.options;return e.angleLines.display||e.pointLabels.display?t.chart.data.labels.length:0}function Il(t){var e=t.ticks;return e.display&&t.display?Dl(e.fontSize,ot.global.defaultFontSize)+2*e.backdropPaddingY:0}function Pl(t,e,l,n,i){return t===n||t===i?{start:e-l/2,end:e+l/2}:t<n||t>i?{start:e-l,end:e}:{start:e,end:e+l}}function Ol(t){return 0===t||180===t?\"center\":t<180?\"left\":\"right\"}function Ll(t,e,l,n){var i,a,r=l.y+n/2;if(ut.isArray(e))for(i=0,a=e.length;i<a;++i)t.fillText(e[i],l.x,r),r+=n;else t.fillText(e,l.x,r)}function Rl(t,e,l){90===t||270===t?l.y-=e.h/2:(t>270||t<90)&&(l.y-=e.h)}function Nl(t){return ut.isNumber(t)?t:0}var Fl=vl.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Il(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,l=Number.POSITIVE_INFINITY,n=Number.NEGATIVE_INFINITY;ut.each(e.data.datasets,function(i,a){if(e.isDatasetVisible(a)){var r=e.getDatasetMeta(a);ut.each(i.data,function(e,i){var a=+t.getRightValue(e);isNaN(a)||r.data[i].hidden||(l=Math.min(a,l),n=Math.max(a,n))})}}),t.min=l===Number.POSITIVE_INFINITY?0:l,t.max=n===Number.NEGATIVE_INFINITY?0:n,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Il(this.options))},convertTicksToLabels:function(){var t=this;vl.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map(t.options.pointLabels.callback,t)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,l,n,i=ut.options._parseFont(t.options.pointLabels),a={l:0,r:t.width,t:0,b:t.height-t.paddingTop},r={};t.ctx.font=i.string,t._pointLabelSizes=[];var o,s,c,u=jl(t);for(e=0;e<u;e++){n=t.getPointPosition(e,t.drawingArea+5),o=t.ctx,s=i.lineHeight,c=t.pointLabels[e]||\"\",l=ut.isArray(c)?{w:ut.longestText(o,o.font,c),h:c.length*s}:{w:o.measureText(c).width,h:s},t._pointLabelSizes[e]=l;var d=t.getIndexAngle(e),h=ut.toDegrees(d)%360,f=Pl(h,n.x,l.w,0,180),p=Pl(h,n.y,l.h,90,270);f.start<a.l&&(a.l=f.start,r.l=d),f.end>a.r&&(a.r=f.end,r.r=d),p.start<a.t&&(a.t=p.start,r.t=d),p.end>a.b&&(a.b=p.end,r.b=d)}t.setReductions(t.drawingArea,a,r)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,l){var n=this,i=e.l/Math.sin(l.l),a=Math.max(e.r-n.width,0)/Math.sin(l.r),r=-e.t/Math.cos(l.t),o=-Math.max(e.b-(n.height-n.paddingTop),0)/Math.cos(l.b);i=Nl(i),a=Nl(a),r=Nl(r),o=Nl(o),n.drawingArea=Math.min(Math.floor(t-(i+a)/2),Math.floor(t-(r+o)/2)),n.setCenterPoint(i,a,r,o)},setCenterPoint:function(t,e,l,n){var i=this,a=i.width-e-i.drawingArea,r=t+i.drawingArea,o=l+i.drawingArea,s=i.height-i.paddingTop-n-i.drawingArea;i.xCenter=Math.floor((r+a)/2+i.left),i.yCenter=Math.floor((o+s)/2+i.top+i.paddingTop)},getIndexAngle:function(t){var e=2*Math.PI/jl(this),l=this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0,n=l*Math.PI*2/360;return t*e+n},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var l=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*l:(t-e.min)*l},getPointPosition:function(t,e){var l=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(l)*e+this.xCenter,y:Math.sin(l)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this.min,e=this.max;return this.getPointPositionForValue(0,this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0)},draw:function(){var t=this,e=t.options,l=e.gridLines,n=e.ticks;if(e.display){var i=t.ctx,a=this.getIndexAngle(0),r=ut.options._parseFont(n);(e.angleLines.display||e.pointLabels.display)&&function(t){var e=t.ctx,l=t.options,n=l.angleLines,i=l.gridLines,a=l.pointLabels,r=Dl(n.lineWidth,i.lineWidth),o=Dl(n.color,i.color),s=Il(l);e.save(),e.lineWidth=r,e.strokeStyle=o,e.setLineDash&&(e.setLineDash(Al([n.borderDash,i.borderDash,[]])),e.lineDashOffset=Al([n.borderDashOffset,i.borderDashOffset,0]));var c=t.getDistanceFromCenterForValue(l.ticks.reverse?t.min:t.max),u=ut.options._parseFont(a);e.font=u.string,e.textBaseline=\"middle\";for(var d=jl(t)-1;d>=0;d--){if(n.display&&r&&o){var h=t.getPointPosition(d,c);e.beginPath(),e.moveTo(t.xCenter,t.yCenter),e.lineTo(h.x,h.y),e.stroke()}if(a.display){var f=0===d?s/2:0,p=t.getPointPosition(d,c+f+5),g=Ml(a.fontColor,d,ot.global.defaultFontColor);e.fillStyle=g;var m=t.getIndexAngle(d),b=ut.toDegrees(m);e.textAlign=Ol(b),Rl(b,t._pointLabelSizes[d],p),Ll(e,t.pointLabels[d]||\"\",p,u.lineHeight)}}e.restore()}(t),ut.each(t.ticks,function(e,o){if(o>0||n.reverse){var s=t.getDistanceFromCenterForValue(t.ticksAsNumbers[o]);if(l.display&&0!==o&&function(t,e,l,n){var i,a=t.ctx,r=e.circular,o=jl(t),s=Ml(e.color,n-1),c=Ml(e.lineWidth,n-1);if((r||o)&&s&&c){if(a.save(),a.strokeStyle=s,a.lineWidth=c,a.setLineDash&&(a.setLineDash(e.borderDash||[]),a.lineDashOffset=e.borderDashOffset||0),a.beginPath(),r)a.arc(t.xCenter,t.yCenter,l,0,2*Math.PI);else{i=t.getPointPosition(0,l),a.moveTo(i.x,i.y);for(var u=1;u<o;u++)i=t.getPointPosition(u,l),a.lineTo(i.x,i.y)}a.closePath(),a.stroke(),a.restore()}}(t,l,s,o),n.display){var c=Dl(n.fontColor,ot.global.defaultFontColor);if(i.font=r.string,i.save(),i.translate(t.xCenter,t.yCenter),i.rotate(a),n.showLabelBackdrop){var u=i.measureText(e).width;i.fillStyle=n.backdropColor,i.fillRect(-u/2-n.backdropPaddingX,-s-r.size/2-n.backdropPaddingY,u+2*n.backdropPaddingX,r.size+2*n.backdropPaddingY)}i.textAlign=\"center\",i.textBaseline=\"middle\",i.fillStyle=c,i.fillText(e,0,-s),i.restore()}}})}}}),Bl=El;Fl._defaults=Bl;var Hl=ut.valueOrDefault,ql=Number.MIN_SAFE_INTEGER||-9007199254740991,Zl=Number.MAX_SAFE_INTEGER||9007199254740991,zl={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,15,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,15,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},$l=Object.keys(zl);function Yl(t,e){return t-e}function Wl(t){var e,l,n,i={},a=[];for(e=0,l=t.length;e<l;++e)n=t[e],i[n]||(i[n]=!0,a.push(n));return a}function Vl(t,e,l,n){var i=function(t,e,l){for(var n,i,a,r=0,o=t.length-1;r>=0&&r<=o;){if(i=t[(n=r+o>>1)-1]||null,a=t[n],!i)return{lo:null,hi:a};if(a[e]<l)r=n+1;else{if(!(i[e]>l))return{lo:i,hi:a};o=n-1}}return{lo:a,hi:null}}(t,e,l),a=i.lo?i.hi?i.lo:t[t.length-2]:t[0],r=i.lo?i.hi?i.hi:t[t.length-1]:t[1],o=r[e]-a[e],s=o?(l-a[e])/o:0,c=(r[n]-a[n])*s;return a[n]+c}function Ul(t,e){var l=t._adapter,n=t.options.time,i=n.parser,a=i||n.format,r=e;return\"function\"==typeof i&&(r=i(r)),ut.isFinite(r)||(r=\"string\"==typeof a?l.parse(r,a):l.parse(r)),null!==r?+r:(i||\"function\"!=typeof a||(r=a(e),ut.isFinite(r)||(r=l.parse(r))),r)}function Gl(t,e){if(ut.isNullOrUndef(e))return null;var l=t.options.time,n=Ul(t,t.getRightValue(e));return null===n?n:(l.round&&(n=+t._adapter.startOf(n,l.round)),n)}function Xl(t){for(var e=$l.indexOf(t)+1,l=$l.length;e<l;++e)if(zl[$l[e]].common)return $l[e]}function Kl(t,e,l,n){var i,a=t._adapter,r=t.options,o=r.time,s=o.unit||function(t,e,l,n){var i,a,r,o=$l.length;for(i=$l.indexOf(t);i<o-1;++i)if(a=zl[$l[i]],r=a.steps?a.steps[a.steps.length-1]:Zl,a.common&&Math.ceil((l-e)/(r*a.size))<=n)return $l[i];return $l[o-1]}(o.minUnit,e,l,n),c=Xl(s),u=Hl(o.stepSize,o.unitStepSize),d=\"week\"===s&&o.isoWeekday,h=r.ticks.major.enabled,f=zl[s],p=e,g=l,m=[];for(u||(u=function(t,e,l,n){var i,a,r,o=e-t,s=zl[l],c=s.size,u=s.steps;if(!u)return Math.ceil(o/(n*c));for(i=0,a=u.length;i<a&&(r=u[i],!(Math.ceil(o/(c*r))<=n));++i);return r}(e,l,s,n)),d&&(p=+a.startOf(p,\"isoWeek\",d),g=+a.startOf(g,\"isoWeek\",d)),p=+a.startOf(p,d?\"day\":s),(g=+a.startOf(g,d?\"day\":s))<l&&(g=+a.add(g,1,s)),i=p,h&&c&&!d&&!o.round&&(i=+a.startOf(i,c),i=+a.add(i,~~((p-i)/(f.size*u))*u,s));i<g;i=+a.add(i,u,s))m.push(+i);return m.push(+i),m}var Ql=fl.extend({initialize:function(){this.mergeTicksOptions(),fl.prototype.initialize.call(this)},update:function(){var t=this.options,e=t.time||(t.time={}),l=this._adapter=new ol._date(t.adapters.date);return e.format&&console.warn(\"options.time.format is deprecated and replaced by options.time.parser.\"),ut.mergeIf(e.displayFormats,l.formats()),fl.prototype.update.apply(this,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),fl.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,l,n,i,a,r=this,o=r.chart,s=r._adapter,c=r.options.time,u=c.unit||\"day\",d=Zl,h=ql,f=[],p=[],g=[],m=o.data.labels||[];for(t=0,l=m.length;t<l;++t)g.push(Gl(r,m[t]));for(t=0,l=(o.data.datasets||[]).length;t<l;++t)if(o.isDatasetVisible(t))if(i=o.data.datasets[t].data,ut.isObject(i[0]))for(p[t]=[],e=0,n=i.length;e<n;++e)a=Gl(r,i[e]),f.push(a),p[t][e]=a;else{for(e=0,n=g.length;e<n;++e)f.push(g[e]);p[t]=g.slice(0)}else p[t]=[];g.length&&(g=Wl(g).sort(Yl),d=Math.min(d,g[0]),h=Math.max(h,g[g.length-1])),f.length&&(f=Wl(f).sort(Yl),d=Math.min(d,f[0]),h=Math.max(h,f[f.length-1])),d=Gl(r,c.min)||d,h=Gl(r,c.max)||h,d=d===Zl?+s.startOf(Date.now(),u):d,h=h===ql?+s.endOf(Date.now(),u)+1:h,r.min=Math.min(d,h),r.max=Math.max(d+1,h),r._horizontal=r.isHorizontal(),r._table=[],r._timestamps={data:f,datasets:p,labels:g}},buildTicks:function(){var t,e,l,n=this,i=n.min,a=n.max,r=n.options,o=r.time,s=[],c=[];switch(r.ticks.source){case\"data\":s=n._timestamps.data;break;case\"labels\":s=n._timestamps.labels;break;case\"auto\":default:s=Kl(n,i,a,n.getLabelCapacity(i))}for(\"ticks\"===r.bounds&&s.length&&(i=s[0],a=s[s.length-1]),i=Gl(n,o.min)||i,a=Gl(n,o.max)||a,t=0,e=s.length;t<e;++t)(l=s[t])>=i&&l<=a&&c.push(l);return n.min=i,n.max=a,n._unit=o.unit||function(t,e,l,n,i){var a,r,o=$l.length;for(a=o-1;a>=$l.indexOf(l);a--)if(r=$l[a],zl[r].common&&t._adapter.diff(i,n,r)>=e.length)return r;return $l[l?$l.indexOf(l):0]}(n,c,o.minUnit,n.min,n.max),n._majorUnit=Xl(n._unit),n._table=function(t,e,l,n){if(\"linear\"===n||!t.length)return[{time:e,pos:0},{time:l,pos:1}];var i,a,r,o,s,c=[],u=[e];for(i=0,a=t.length;i<a;++i)(o=t[i])>e&&o<l&&u.push(o);for(u.push(l),i=0,a=u.length;i<a;++i)s=u[i+1],r=u[i-1],o=u[i],void 0!==r&&void 0!==s&&Math.round((s+r)/2)===o||c.push({time:o,pos:i/(a-1)});return c}(n._timestamps.data,i,a,r.distribution),n._offsets=function(t,e,l,n,i){var a,r,o=0,s=0;return i.offset&&e.length&&(i.time.min||(a=Vl(t,\"time\",e[0],\"pos\"),o=1===e.length?1-a:(Vl(t,\"time\",e[1],\"pos\")-a)/2),i.time.max||(r=Vl(t,\"time\",e[e.length-1],\"pos\"),s=1===e.length?r:(r-Vl(t,\"time\",e[e.length-2],\"pos\"))/2)),{start:o,end:s}}(n._table,c,0,0,r),r.ticks.reverse&&c.reverse(),function(t,e,l){var n,i,a,r,o=[];for(n=0,i=e.length;n<i;++n)a=e[n],r=!!l&&a===+t._adapter.startOf(a,l),o.push({value:a,major:r});return o}(n,c,n._majorUnit)},getLabelForIndex:function(t,e){var l=this,n=l._adapter,i=l.chart.data,a=l.options.time,r=i.labels&&t<i.labels.length?i.labels[t]:\"\",o=i.datasets[e].data[t];return ut.isObject(o)&&(r=l.getRightValue(o)),a.tooltipFormat?n.format(Ul(l,r),a.tooltipFormat):\"string\"==typeof r?r:n.format(Ul(l,r),a.displayFormats.datetime)},tickFormatFunction:function(t,e,l,n){var i=this._adapter,a=this.options,r=a.time.displayFormats,o=r[this._unit],s=this._majorUnit,c=r[s],u=+i.startOf(t,s),d=a.ticks.major,h=d.enabled&&s&&c&&t===u,f=i.format(t,n||(h?c:o)),p=h?d:a.ticks.minor,g=Hl(p.callback,p.userCallback);return g?g(f,e,l):f},convertTicksToLabels:function(t){var e,l,n=[];for(e=0,l=t.length;e<l;++e)n.push(this.tickFormatFunction(t[e].value,e,t));return n},getPixelForOffset:function(t){var e=this,l=e.options.ticks.reverse,n=e._horizontal?e.width:e.height,i=e._horizontal?l?e.right:e.left:l?e.bottom:e.top,a=Vl(e._table,\"time\",t,\"pos\"),r=n*(e._offsets.start+a)/(e._offsets.start+1+e._offsets.end);return l?i-r:i+r},getPixelForValue:function(t,e,l){var n=null;if(void 0!==e&&void 0!==l&&(n=this._timestamps.datasets[l][e]),null===n&&(n=Gl(this,t)),null!==n)return this.getPixelForOffset(n)},getPixelForTick:function(t){var e=this.getTicks();return t>=0&&t<e.length?this.getPixelForOffset(e[t].value):null},getValueForPixel:function(t){var e=this,l=e._horizontal?e.width:e.height,n=e._horizontal?e.left:e.top,i=(l?(t-n)/l:0)*(e._offsets.start+1+e._offsets.start)-e._offsets.end,a=Vl(e._table,\"pos\",i,\"time\");return e._adapter._create(a)},getLabelWidth:function(t){var e=this.options.ticks,l=this.ctx.measureText(t).width,n=ut.toRadians(e.maxRotation),i=Math.cos(n),a=Math.sin(n),r=Hl(e.fontSize,ot.global.defaultFontSize);return l*i+r*a},getLabelCapacity:function(t){var e=this,l=e.options.time.displayFormats.millisecond,n=e.tickFormatFunction(t,0,[],l),i=e.getLabelWidth(n),a=e.isHorizontal()?e.width:e.height,r=Math.floor(a/i);return r>0?r:1}}),Jl={position:\"bottom\",distribution:\"linear\",bounds:\"data\",adapters:{},time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:\"millisecond\",displayFormats:{}},ticks:{autoSkip:!1,source:\"auto\",major:{enabled:!1}}};Ql._defaults=Jl;var tn={category:pl,linear:xl,logarithmic:Cl,radialLinear:Fl,time:Ql},en={datetime:\"MMM D, YYYY, h:mm:ss a\",millisecond:\"h:mm:ss.SSS a\",second:\"h:mm:ss a\",minute:\"h:mm a\",hour:\"hA\",day:\"MMM D\",week:\"ll\",month:\"MMM YYYY\",quarter:\"[Q]Q - YYYY\",year:\"YYYY\"};ol._date.override(\"function\"==typeof t?{_id:\"moment\",formats:function(){return en},parse:function(e,l){return\"string\"==typeof e&&\"string\"==typeof l?e=t(e,l):e instanceof t||(e=t(e)),e.isValid()?e.valueOf():null},format:function(e,l){return t(e).format(l)},add:function(e,l,n){return t(e).add(l,n).valueOf()},diff:function(e,l,n){return t.duration(t(e).diff(t(l))).as(n)},startOf:function(e,l,n){return e=t(e),\"isoWeek\"===l?e.isoWeekday(n).valueOf():e.startOf(l).valueOf()},endOf:function(e,l){return t(e).endOf(l).valueOf()},_create:function(e){return t(e)}}:{}),ot._set(\"global\",{plugins:{filler:{propagate:!0}}});var ln={dataset:function(t){var e=t.fill,l=t.chart,n=l.getDatasetMeta(e),i=n&&l.isDatasetVisible(e),a=i&&n.dataset._children||[],r=a.length||0;return r?function(t,e){return e<r&&a[e]._view||null}:null},boundary:function(t){var e=t.boundary,l=e?e.x:null,n=e?e.y:null;return function(t){return{x:null===l?t.x:l,y:null===n?t.y:n}}}};function nn(t,e,l){var n,i=t._model||{},a=i.fill;if(void 0===a&&(a=!!i.backgroundColor),!1===a||null===a)return!1;if(!0===a)return\"origin\";if(n=parseFloat(a,10),isFinite(n)&&Math.floor(n)===n)return\"-\"!==a[0]&&\"+\"!==a[0]||(n=e+n),!(n===e||n<0||n>=l)&&n;switch(a){case\"bottom\":return\"start\";case\"top\":return\"end\";case\"zero\":return\"origin\";case\"origin\":case\"start\":case\"end\":return a;default:return!1}}function an(t){var e,l=t.el._model||{},n=t.el._scale||{},i=t.fill,a=null;if(isFinite(i))return null;if(\"start\"===i?a=void 0===l.scaleBottom?n.bottom:l.scaleBottom:\"end\"===i?a=void 0===l.scaleTop?n.top:l.scaleTop:void 0!==l.scaleZero?a=l.scaleZero:n.getBasePosition?a=n.getBasePosition():n.getBasePixel&&(a=n.getBasePixel()),null!=a){if(void 0!==a.x&&void 0!==a.y)return a;if(ut.isFinite(a))return{x:(e=n.isHorizontal())?a:null,y:e?null:a}}return null}function rn(t,e,l){var n,i=t[e],a=i.fill,r=[e];if(!l)return a;for(;!1!==a&&-1===r.indexOf(a);){if(!isFinite(a))return a;if(!(n=t[a]))return!1;if(n.visible)return a;r.push(a),a=n.fill}return!1}function on(t){var e=t.fill,l=\"dataset\";return!1===e?null:(isFinite(e)||(l=\"boundary\"),ln[l](t))}function sn(t){return t&&!t.skip}function cn(t,e,l,n,i){var a;if(n&&i){for(t.moveTo(e[0].x,e[0].y),a=1;a<n;++a)ut.canvas.lineTo(t,e[a-1],e[a]);for(t.lineTo(l[i-1].x,l[i-1].y),a=i-1;a>0;--a)ut.canvas.lineTo(t,l[a],l[a-1],!0)}}var un={id:\"filler\",afterDatasetsUpdate:function(t,e){var l,n,i,a,r=(t.data.datasets||[]).length,o=e.propagate,s=[];for(n=0;n<r;++n)l=t.getDatasetMeta(n),i=l.dataset,a=null,i&&i._model&&i instanceof Bt.Line&&(a={visible:t.isDatasetVisible(n),fill:nn(i,n,r),chart:t,el:i}),l.$filler=a,s.push(a);for(n=0;n<r;++n)(a=s[n])&&(a.fill=rn(s,n,o),a.boundary=an(a),a.mapper=on(a))},beforeDatasetDraw:function(t,e){var l=e.meta.$filler;if(l){var n=t.ctx,i=l.el,a=i._view,r=i._children||[],o=l.mapper,s=a.backgroundColor||ot.global.defaultColor;o&&s&&r.length&&(ut.canvas.clipArea(n,t.chartArea),function(t,e,l,n,i,a){var r,o,s,c,u,d,h,f=e.length,p=n.spanGaps,g=[],m=[],b=0,v=0;for(t.beginPath(),r=0,o=f+!!a;r<o;++r)c=e[s=r%f]._view,u=l(c,s,n),d=sn(c),h=sn(u),d&&h?(b=g.push(c),v=m.push(u)):b&&v&&(p?(d&&g.push(c),h&&m.push(u)):(cn(t,g,m,b,v),b=v=0,g=[],m=[]));cn(t,g,m,b,v),t.closePath(),t.fillStyle=i,t.fill()}(n,r,o,a,s,i._loop),ut.canvas.unclipArea(n))}}},dn=ut.noop,hn=ut.valueOrDefault;function fn(t,e){return t.usePointStyle&&t.boxWidth>e?e:t.boxWidth}ot._set(\"global\",{legend:{display:!0,position:\"top\",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var l=e.datasetIndex,n=this.chart,i=n.getDatasetMeta(l);i.hidden=null===i.hidden?!n.data.datasets[l].hidden:null,n.update()},onHover:null,onLeave:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return ut.isArray(e.datasets)?e.datasets.map(function(e,l){return{text:e.label,fillStyle:ut.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(l),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:l}},this):[]}}},legendCallback:function(t){var e=[];e.push('<ul class=\"'+t.id+'-legend\">');for(var l=0;l<t.data.datasets.length;l++)e.push('<li><span style=\"background-color:'+t.data.datasets[l].backgroundColor+'\"></span>'),t.data.datasets[l].label&&e.push(t.data.datasets[l].label),e.push(\"</li>\");return e.push(\"</ul>\"),e.join(\"\")}});var pn=gt.extend({initialize:function(t){ut.extend(this,t),this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1},beforeUpdate:dn,update:function(t,e,l){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=l,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:dn,beforeSetDimensions:dn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:dn,beforeBuildLabels:dn,buildLabels:function(){var t=this,e=t.options.labels||{},l=ut.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(l=l.filter(function(l){return e.filter(l,t.chart.data)})),t.options.reverse&&l.reverse(),t.legendItems=l},afterBuildLabels:dn,beforeFit:dn,fit:function(){var t=this,e=t.options,l=e.labels,n=e.display,i=t.ctx,a=ut.options._parseFont(l),r=a.size,o=t.legendHitBoxes=[],s=t.minSize,c=t.isHorizontal();if(c?(s.width=t.maxWidth,s.height=n?10:0):(s.width=n?10:0,s.height=t.maxHeight),n)if(i.font=a.string,c){var u=t.lineWidths=[0],d=0;i.textAlign=\"left\",i.textBaseline=\"top\",ut.each(t.legendItems,function(t,e){var n=fn(l,r),a=n+r/2+i.measureText(t.text).width;(0===e||u[u.length-1]+a+l.padding>s.width)&&(d+=r+l.padding,u[u.length-(e>0?0:1)]=l.padding),o[e]={left:0,top:0,width:a,height:r},u[u.length-1]+=a+l.padding}),s.height+=d}else{var h=l.padding,f=t.columnWidths=[],p=l.padding,g=0,m=0,b=r+h;ut.each(t.legendItems,function(t,e){var n=fn(l,r),a=n+r/2+i.measureText(t.text).width;e>0&&m+b>s.height-h&&(p+=g+l.padding,f.push(g),g=0,m=0),g=Math.max(g,a),m+=b,o[e]={left:0,top:0,width:a,height:r}}),p+=g,f.push(g),s.width+=p}t.width=s.width,t.height=s.height},afterFit:dn,isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},draw:function(){var t=this,e=t.options,l=e.labels,n=ot.global,i=n.defaultColor,a=n.elements.line,r=t.width,o=t.lineWidths;if(e.display){var s,c=t.ctx,u=hn(l.fontColor,n.defaultFontColor),d=ut.options._parseFont(l),h=d.size;c.textAlign=\"left\",c.textBaseline=\"middle\",c.lineWidth=.5,c.strokeStyle=u,c.fillStyle=u,c.font=d.string;var f=fn(l,h),p=t.legendHitBoxes,g=t.isHorizontal();s=g?{x:t.left+(r-o[0])/2+l.padding,y:t.top+l.padding,line:0}:{x:t.left+l.padding,y:t.top+l.padding,line:0};var m=h+l.padding;ut.each(t.legendItems,function(n,u){var d=c.measureText(n.text).width,b=f+h/2+d,v=s.x,y=s.y;g?u>0&&v+b+l.padding>t.left+t.minSize.width&&(y=s.y+=m,s.line++,v=s.x=t.left+(r-o[s.line])/2+l.padding):u>0&&y+m>t.top+t.minSize.height&&(v=s.x=v+t.columnWidths[s.line]+l.padding,y=s.y=t.top+l.padding,s.line++),function(t,l,n){if(!(isNaN(f)||f<=0)){c.save();var r=hn(n.lineWidth,a.borderWidth);if(c.fillStyle=hn(n.fillStyle,i),c.lineCap=hn(n.lineCap,a.borderCapStyle),c.lineDashOffset=hn(n.lineDashOffset,a.borderDashOffset),c.lineJoin=hn(n.lineJoin,a.borderJoinStyle),c.lineWidth=r,c.strokeStyle=hn(n.strokeStyle,i),c.setLineDash&&c.setLineDash(hn(n.lineDash,a.borderDash)),e.labels&&e.labels.usePointStyle){var o=f*Math.SQRT2/2,s=t+f/2,u=l+h/2;ut.canvas.drawPoint(c,n.pointStyle,o,s,u)}else 0!==r&&c.strokeRect(t,l,f,h),c.fillRect(t,l,f,h);c.restore()}}(v,y,n),p[u].left=v,p[u].top=y,function(t,e,l,n){var i=h/2,a=f+i+t,r=e+i;c.fillText(l.text,a,r),l.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(a,r),c.lineTo(a+n,r),c.stroke())}(v,y,n,d),g?s.x+=b+l.padding:s.y+=m})}},_getLegendItemAt:function(t,e){var l,n,i,a=this;if(t>=a.left&&t<=a.right&&e>=a.top&&e<=a.bottom)for(i=a.legendHitBoxes,l=0;l<i.length;++l)if(n=i[l],t>=n.left&&t<=n.left+n.width&&e>=n.top&&e<=n.top+n.height)return a.legendItems[l];return null},handleEvent:function(t){var e,l=this,n=l.options,i=\"mouseup\"===t.type?\"click\":t.type;if(\"mousemove\"===i){if(!n.onHover&&!n.onLeave)return}else{if(\"click\"!==i)return;if(!n.onClick)return}e=l._getLegendItemAt(t.x,t.y),\"click\"===i?e&&n.onClick&&n.onClick.call(l,t.native,e):(n.onLeave&&e!==l._hoveredItem&&(l._hoveredItem&&n.onLeave.call(l,t.native,l._hoveredItem),l._hoveredItem=e),n.onHover&&e&&n.onHover.call(l,t.native,e))}});function gn(t,e){var l=new pn({ctx:t.ctx,options:e,chart:t});we.configure(t,l,e),we.addBox(t,l),t.legend=l}var mn={id:\"legend\",_element:pn,beforeInit:function(t){var e=t.options.legend;e&&gn(t,e)},beforeUpdate:function(t){var e=t.options.legend,l=t.legend;e?(ut.mergeIf(e,ot.global.legend),l?(we.configure(t,l,e),l.options=e):gn(t,e)):l&&(we.removeBox(t,l),delete t.legend)},afterEvent:function(t,e){var l=t.legend;l&&l.handleEvent(e)}},bn=ut.noop;ot._set(\"global\",{title:{display:!1,fontStyle:\"bold\",fullWidth:!0,padding:10,position:\"top\",text:\"\",weight:2e3}});var vn=gt.extend({initialize:function(t){ut.extend(this,t),this.legendHitBoxes=[]},beforeUpdate:bn,update:function(t,e,l){var n=this;return n.beforeUpdate(),n.maxWidth=t,n.maxHeight=e,n.margins=l,n.beforeSetDimensions(),n.setDimensions(),n.afterSetDimensions(),n.beforeBuildLabels(),n.buildLabels(),n.afterBuildLabels(),n.beforeFit(),n.fit(),n.afterFit(),n.afterUpdate(),n.minSize},afterUpdate:bn,beforeSetDimensions:bn,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:bn,beforeBuildLabels:bn,buildLabels:bn,afterBuildLabels:bn,beforeFit:bn,fit:function(){var t=this,e=t.options,l=e.display,n=t.minSize,i=ut.isArray(e.text)?e.text.length:1,a=ut.options._parseFont(e),r=l?i*a.lineHeight+2*e.padding:0;t.isHorizontal()?(n.width=t.maxWidth,n.height=r):(n.width=r,n.height=t.maxHeight),t.width=n.width,t.height=n.height},afterFit:bn,isHorizontal:function(){var t=this.options.position;return\"top\"===t||\"bottom\"===t},draw:function(){var t=this,e=t.ctx,l=t.options;if(l.display){var n,i,a,r=ut.options._parseFont(l),o=r.lineHeight,s=o/2+l.padding,c=0,u=t.top,d=t.left,h=t.bottom,f=t.right;e.fillStyle=ut.valueOrDefault(l.fontColor,ot.global.defaultFontColor),e.font=r.string,t.isHorizontal()?(i=d+(f-d)/2,a=u+s,n=f-d):(i=\"left\"===l.position?d+s:f-s,a=u+(h-u)/2,n=h-u,c=Math.PI*(\"left\"===l.position?-.5:.5)),e.save(),e.translate(i,a),e.rotate(c),e.textAlign=\"center\",e.textBaseline=\"middle\";var p=l.text;if(ut.isArray(p))for(var g=0,m=0;m<p.length;++m)e.fillText(p[m],0,g,n),g+=o;else e.fillText(p,0,0,n);e.restore()}}});function yn(t,e){var l=new vn({ctx:t.ctx,options:e,chart:t});we.configure(t,l,e),we.addBox(t,l),t.titleBlock=l}var xn={},_n=un,wn=mn,Sn={id:\"title\",_element:vn,beforeInit:function(t){var e=t.options.title;e&&yn(t,e)},beforeUpdate:function(t){var e=t.options.title,l=t.titleBlock;e?(ut.mergeIf(e,ot.global.title),l?(we.configure(t,l,e),l.options=e):yn(t,e)):l&&(we.removeBox(t,l),delete t.titleBlock)}};for(var kn in xn.filler=_n,xn.legend=wn,xn.title=Sn,il.helpers=ut,function(){function t(t,e,l){var n;return\"string\"==typeof t?(n=parseInt(t,10),-1!==t.indexOf(\"%\")&&(n=n/100*e.parentNode[l])):n=t,n}function e(t){return null!=t&&\"none\"!==t}function l(l,n,i){var a=document.defaultView,r=ut._getParentNode(l),o=a.getComputedStyle(l)[n],s=a.getComputedStyle(r)[n],c=e(o),u=e(s),d=Number.POSITIVE_INFINITY;return c||u?Math.min(c?t(o,l,i):d,u?t(s,r,i):d):\"none\"}ut.where=function(t,e){if(ut.isArray(t)&&Array.prototype.filter)return t.filter(e);var l=[];return ut.each(t,function(t){e(t)&&l.push(t)}),l},ut.findIndex=Array.prototype.findIndex?function(t,e,l){return t.findIndex(e,l)}:function(t,e,l){l=void 0===l?t:l;for(var n=0,i=t.length;n<i;++n)if(e.call(l,t[n],n,t))return n;return-1},ut.findNextWhere=function(t,e,l){ut.isNullOrUndef(l)&&(l=-1);for(var n=l+1;n<t.length;n++){var i=t[n];if(e(i))return i}},ut.findPreviousWhere=function(t,e,l){ut.isNullOrUndef(l)&&(l=t.length);for(var n=l-1;n>=0;n--){var i=t[n];if(e(i))return i}},ut.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},ut.almostEquals=function(t,e,l){return Math.abs(t-e)<l},ut.almostWhole=function(t,e){var l=Math.round(t);return l-e<t&&l+e>t},ut.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},ut.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},ut.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},ut.log10=Math.log10?function(t){return Math.log10(t)}:function(t){var e=Math.log(t)*Math.LOG10E,l=Math.round(e),n=t===Math.pow(10,l);return n?l:e},ut.toRadians=function(t){return t*(Math.PI/180)},ut.toDegrees=function(t){return t*(180/Math.PI)},ut._decimalPlaces=function(t){if(ut.isFinite(t)){for(var e=1,l=0;Math.round(t*e)/e!==t;)e*=10,l++;return l}},ut.getAngleFromPoint=function(t,e){var l=e.x-t.x,n=e.y-t.y,i=Math.sqrt(l*l+n*n),a=Math.atan2(n,l);return a<-.5*Math.PI&&(a+=2*Math.PI),{angle:a,distance:i}},ut.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},ut.aliasPixel=function(t){return t%2==0?0:.5},ut._alignPixel=function(t,e,l){var n=t.currentDevicePixelRatio,i=l/2;return Math.round((e-i)*n)/n+i},ut.splineCurve=function(t,e,l,n){var i=t.skip?e:t,a=e,r=l.skip?e:l,o=Math.sqrt(Math.pow(a.x-i.x,2)+Math.pow(a.y-i.y,2)),s=Math.sqrt(Math.pow(r.x-a.x,2)+Math.pow(r.y-a.y,2)),c=o/(o+s),u=s/(o+s);c=isNaN(c)?0:c,u=isNaN(u)?0:u;var d=n*c,h=n*u;return{previous:{x:a.x-d*(r.x-i.x),y:a.y-d*(r.y-i.y)},next:{x:a.x+h*(r.x-i.x),y:a.y+h*(r.y-i.y)}}},ut.EPSILON=Number.EPSILON||1e-14,ut.splineCurveMonotone=function(t){var e,l,n,i,a,r,o,s,c,u=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),d=u.length;for(e=0;e<d;++e)if(!(n=u[e]).model.skip){if(l=e>0?u[e-1]:null,(i=e<d-1?u[e+1]:null)&&!i.model.skip){var h=i.model.x-n.model.x;n.deltaK=0!==h?(i.model.y-n.model.y)/h:0}!l||l.model.skip?n.mK=n.deltaK:!i||i.model.skip?n.mK=l.deltaK:this.sign(l.deltaK)!==this.sign(n.deltaK)?n.mK=0:n.mK=(l.deltaK+n.deltaK)/2}for(e=0;e<d-1;++e)n=u[e],i=u[e+1],n.model.skip||i.model.skip||(ut.almostEquals(n.deltaK,0,this.EPSILON)?n.mK=i.mK=0:(a=n.mK/n.deltaK,r=i.mK/n.deltaK,(s=Math.pow(a,2)+Math.pow(r,2))<=9||(o=3/Math.sqrt(s),n.mK=a*o*n.deltaK,i.mK=r*o*n.deltaK)));for(e=0;e<d;++e)(n=u[e]).model.skip||(l=e>0?u[e-1]:null,i=e<d-1?u[e+1]:null,l&&!l.model.skip&&(c=(n.model.x-l.model.x)/3,n.model.controlPointPreviousX=n.model.x-c,n.model.controlPointPreviousY=n.model.y-c*n.mK),i&&!i.model.skip&&(c=(i.model.x-n.model.x)/3,n.model.controlPointNextX=n.model.x+c,n.model.controlPointNextY=n.model.y+c*n.mK))},ut.nextItem=function(t,e,l){return l?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},ut.previousItem=function(t,e,l){return l?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},ut.niceNum=function(t,e){var l=Math.floor(ut.log10(t)),n=t/Math.pow(10,l);return(e?n<1.5?1:n<3?2:n<7?5:10:n<=1?1:n<=2?2:n<=5?5:10)*Math.pow(10,l)},ut.requestAnimFrame=\"undefined\"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},ut.getRelativePosition=function(t,e){var l,n,i=t.originalEvent||t,a=t.target||t.srcElement,r=a.getBoundingClientRect(),o=i.touches;o&&o.length>0?(l=o[0].clientX,n=o[0].clientY):(l=i.clientX,n=i.clientY);var s=parseFloat(ut.getStyle(a,\"padding-left\")),c=parseFloat(ut.getStyle(a,\"padding-top\")),u=parseFloat(ut.getStyle(a,\"padding-right\")),d=parseFloat(ut.getStyle(a,\"padding-bottom\")),h=r.right-r.left-s-u,f=r.bottom-r.top-c-d;return l=Math.round((l-r.left-s)/h*a.width/e.currentDevicePixelRatio),n=Math.round((n-r.top-c)/f*a.height/e.currentDevicePixelRatio),{x:l,y:n}},ut.getConstraintWidth=function(t){return l(t,\"max-width\",\"clientWidth\")},ut.getConstraintHeight=function(t){return l(t,\"max-height\",\"clientHeight\")},ut._calculatePadding=function(t,e,l){return(e=ut.getStyle(t,e)).indexOf(\"%\")>-1?l*parseInt(e,10)/100:parseInt(e,10)},ut._getParentNode=function(t){var e=t.parentNode;return e&&\"[object ShadowRoot]\"===e.toString()&&(e=e.host),e},ut.getMaximumWidth=function(t){var e=ut._getParentNode(t);if(!e)return t.clientWidth;var l=e.clientWidth,n=ut._calculatePadding(e,\"padding-left\",l),i=ut._calculatePadding(e,\"padding-right\",l),a=l-n-i,r=ut.getConstraintWidth(t);return isNaN(r)?a:Math.min(a,r)},ut.getMaximumHeight=function(t){var e=ut._getParentNode(t);if(!e)return t.clientHeight;var l=e.clientHeight,n=ut._calculatePadding(e,\"padding-top\",l),i=ut._calculatePadding(e,\"padding-bottom\",l),a=l-n-i,r=ut.getConstraintHeight(t);return isNaN(r)?a:Math.min(a,r)},ut.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},ut.retinaScale=function(t,e){var l=t.currentDevicePixelRatio=e||\"undefined\"!=typeof window&&window.devicePixelRatio||1;if(1!==l){var n=t.canvas,i=t.height,a=t.width;n.height=i*l,n.width=a*l,t.ctx.scale(l,l),n.style.height||n.style.width||(n.style.height=i+\"px\",n.style.width=a+\"px\")}},ut.fontString=function(t,e,l){return e+\" \"+t+\"px \"+l},ut.longestText=function(t,e,l,n){var i=(n=n||{}).data=n.data||{},a=n.garbageCollect=n.garbageCollect||[];n.font!==e&&(i=n.data={},a=n.garbageCollect=[],n.font=e),t.font=e;var r=0;ut.each(l,function(e){null!=e&&!0!==ut.isArray(e)?r=ut.measureText(t,i,a,r,e):ut.isArray(e)&&ut.each(e,function(e){null==e||ut.isArray(e)||(r=ut.measureText(t,i,a,r,e))})});var o=a.length/2;if(o>l.length){for(var s=0;s<o;s++)delete i[a[s]];a.splice(0,o)}return r},ut.measureText=function(t,e,l,n,i){var a=e[i];return a||(a=e[i]=t.measureText(i).width,l.push(i)),a>n&&(n=a),n},ut.numberOfLabelLines=function(t){var e=1;return ut.each(t,function(t){ut.isArray(t)&&t.length>e&&(e=t.length)}),e},ut.color=V?function(t){return t instanceof CanvasGradient&&(t=ot.global.defaultColor),V(t)}:function(t){return console.error(\"Color.js not found!\"),t},ut.getHoverColor=function(t){return t instanceof CanvasPattern||t instanceof CanvasGradient?t:ut.color(t).saturate(.5).darken(.1).rgbString()}}(),il._adapters=ol,il.Animation=bt,il.animationService=vt,il.controllers=ue,il.DatasetController=St,il.defaults=ot,il.Element=gt,il.elements=Bt,il.Interaction=be,il.layouts=we,il.platform=He,il.plugins=qe,il.Scale=fl,il.scaleService=Ze,il.Ticks=sl,il.Tooltip=Qe,il.helpers.each(tn,function(t,e){il.scaleService.registerScaleType(e,t,t._defaults)}),xn)xn.hasOwnProperty(kn)&&il.plugins.register(xn[kn]);il.platform.initialize();var Cn=il;return\"undefined\"!=typeof window&&(window.Chart=il),il.Chart=il,il.Legend=xn.legend._element,il.Title=xn.title._element,il.pluginService=il.plugins,il.PluginBase=il.Element.extend({}),il.canvasHelpers=il.helpers.canvas,il.layoutService=il.layouts,il.LinearScaleBase=vl,il.helpers.each([\"Bar\",\"Bubble\",\"Doughnut\",\"Line\",\"PolarArea\",\"Radar\",\"Scatter\"],function(t){il[t]=function(e,l){return new il(e,il.helpers.merge(l||{},{type:t.charAt(0).toLowerCase()+t.slice(1)}))}}),Cn}(function(){try{return l(23)}catch(t){}}())},function(t,e,l){t.exports=function(t){var e={};function l(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,l),i.l=!0,i.exports}return l.m=t,l.c=e,l.i=function(t){return t},l.d=function(t,e,n){l.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,\"a\",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p=\"\",l(l.s=168)}([function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t},i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=s(l(1)),r=s(l(7)),o=s(l(26));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return i(t,[{key:\"drawLine\",value:function(t,e,l,n){var i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",a=5<arguments.length&&void 0!==arguments[5]?arguments[5]:0,r=6<arguments.length&&void 0!==arguments[6]?arguments[6]:null;return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:l,y2:n,stroke:i,\"stroke-dasharray\":a,\"stroke-width\":r})}},{key:\"drawRect\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:0,l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:0,i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,a=5<arguments.length&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",r=6<arguments.length&&void 0!==arguments[6]?arguments[6]:1,o=7<arguments.length&&void 0!==arguments[7]?arguments[7]:null,s=8<arguments.length&&void 0!==arguments[8]?arguments[8]:null,c=9<arguments.length&&void 0!==arguments[9]?arguments[9]:0,u=this.w.globals.dom.Paper.rect();return u.attr({x:t,y:e,width:0<l?l:0,height:0<n?n:0,rx:i,ry:i,fill:a,opacity:r,\"stroke-width\":null!==o?o:0,stroke:null!==s?s:\"none\",\"stroke-dasharray\":c}),u}},{key:\"drawCircle\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,l=this.w.globals.dom.Paper.circle(2*t);return null!==e&&l.attr(e),l}},{key:\"drawPath\",value:function(t){var e=t.d,l=void 0===e?\"\":e,n=t.stroke,i=void 0===n?\"#a8a8a8\":n,a=t.strokeWidth,r=t.fill,o=t.fillOpacity,s=void 0===o?1:o,c=t.strokeOpacity,u=void 0===c?1:c,d=t.classes,h=t.strokeLinecap,f=void 0===h?null:h,p=t.strokeDashArray,g=void 0===p?0:p,m=this.w;return null===f&&(f=m.config.stroke.lineCap),(-1<l.indexOf(\"undefined\")||-1<l.indexOf(\"NaN\"))&&(l=\"M 0 \"+m.globals.gridHeight),m.globals.dom.Paper.path(l).attr({fill:r,\"fill-opacity\":s,stroke:i,\"stroke-opacity\":u,\"stroke-linecap\":f,\"stroke-width\":a,\"stroke-dasharray\":g,class:d})}},{key:\"group\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:\"move\",value:function(t,e){var l=[\"M\",t,e].join(\" \");return l}},{key:\"line\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=null;return null===l?n=[\"L\",t,e].join(\" \"):\"H\"===l?n=[\"H\",t].join(\" \"):\"V\"===l&&(n=[\"V\",e].join(\" \")),n}},{key:\"curve\",value:function(t,e,l,n,i,a){var r=[\"C\",t,e,l,n,i,a].join(\" \");return r}},{key:\"quadraticCurve\",value:function(t,e,l,n){return[\"Q\",t,e,l,n].join(\" \")}},{key:\"arc\",value:function(t,e,l,n,i,a,r){var o=\"A\";7<arguments.length&&void 0!==arguments[7]&&arguments[7]&&(o=\"a\");var s=[o,t,e,l,n,i,a,r].join(\" \");return s}},{key:\"renderPaths\",value:function(t){var e=t.i,l=t.j,i=t.realIndex,a=t.pathFrom,s=t.pathTo,c=t.stroke,u=t.strokeWidth,d=t.strokeLinecap,h=t.fill,f=t.animationDelay,p=t.initialSpeed,g=t.dataChangeSpeed,m=(t.hideStrokesInChange,t.className),b=t.id,v=this.w,y=new r.default(this.ctx),x=new o.default(this.ctx),_=this.w.config.chart.animations.enabled,w=_&&this.w.config.chart.animations.dynamicAnimation.enabled,S=void 0,k=!!(_&&!v.globals.resized||w&&v.globals.dataChanged&&v.globals.shouldAnimate);S=k?a:s;var C=v.config.stroke.dashArray,T=0;T=Array.isArray(C)?C[i]:v.config.stroke.dashArray;var D=this.drawPath({d:S,stroke:c,strokeWidth:u,fill:h,fillOpacity:1,classes:m,strokeLinecap:d,strokeDashArray:T});if(D.attr(\"id\",b+\"-\"+e),D.attr(\"index\",i),D.attr({\"clip-path\":\"url(#gridRectMask\"+v.globals.cuid+\")\"}),\"none\"!==v.config.states.normal.filter.type)y.getDefaultFilter(D,v.config.states.normal.filter.type,v.config.states.normal.filter.value);else if(v.config.chart.dropShadow.enabled&&(!v.config.chart.dropShadow.enabledSeries||v.config.chart.dropShadow.enabledSeries&&-1!==v.config.chart.dropShadow.enabledSeries.indexOf(i))){var M=v.config.chart.dropShadow;y.dropShadow(D,M)}D.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,D)),D.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,D)),D.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,D)),D.attr({pathTo:s,pathFrom:a});var A={el:D,j:l,pathFrom:a,pathTo:s,strokeWidth:u};return!_||v.globals.resized||v.globals.dataChanged?!v.globals.resized&&v.globals.dataChanged||x.showDelayedElements():x.animatePathsGradually(n({},A,{speed:p,delay:f})),v.globals.dataChanged&&w&&k&&x.animatePathsGradually(n({},A,{speed:g})),D}},{key:\"drawPattern\",value:function(t,e,l){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0;return 5<arguments.length&&void 0!==arguments[5]&&arguments[5],this.w.globals.dom.Paper.pattern(e,l,function(a){\"horizontalLines\"===t?a.line(0,0,l,0).stroke({color:n,width:i+1}):\"verticalLines\"===t?a.line(0,0,0,e).stroke({color:n,width:i+1}):\"slantedLines\"===t?a.line(0,0,e,l).stroke({color:n,width:i}):\"squares\"===t?a.rect(e,l).fill(\"none\").stroke({color:n,width:i}):\"circles\"===t&&a.circle(e).fill(\"none\").stroke({color:n,width:i})})}},{key:\"drawGradient\",value:function(t,e,l,n,i){var r=5<arguments.length&&void 0!==arguments[5]?arguments[5]:null,o=6<arguments.length&&void 0!==arguments[6]?arguments[6]:null,s=this.w;e=a.default.hexToRgba(e,n),l=a.default.hexToRgba(l,i);var c=0,u=1,d=1,h=null;null!==o&&(c=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,d=void 0!==o[2]?o[2]/100:1,h=void 0!==o[3]?o[3]/100:null);var f=!(\"donut\"!==s.config.chart.type&&\"pie\"!==s.config.chart.type&&\"bubble\"!==s.config.chart.type),p=s.globals.dom.Paper.gradient(f?\"radial\":\"linear\",function(t){t.at(c,e,n),t.at(u,l,i),t.at(d,l,i),null!==h&&t.at(h,e,n)});if(f){var g=s.globals.gridWidth/2,m=s.globals.gridHeight/2;\"bubble\"!==s.config.chart.type?p.attr({gradientUnits:\"userSpaceOnUse\",cx:g,cy:m,r:r}):p.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?p.from(0,0).to(0,1):\"diagonal\"===t?p.from(0,0).to(1,1):\"horizontal\"===t?p.from(0,1).to(1,1):\"diagonal2\"===t&&p.from(0,1).to(2,2);return p}},{key:\"drawText\",value:function(t){var e=this.w,l=t.x,n=t.y,i=t.text,a=t.textAnchor,r=t.fontSize,o=t.fontFamily,s=t.foreColor,c=t.opacity;a||(a=\"start\"),s||(s=e.config.chart.foreColor),o=o||e.config.chart.fontFamily;var u=void 0;return(u=Array.isArray(i)?e.globals.dom.Paper.text(function(t){for(var e=0;e<i.length;e++)t.tspan(i[e])}):e.globals.dom.Paper.plain(i)).attr({x:l,y:n,\"text-anchor\":a,\"dominate-baseline\":\"central\",\"font-size\":r,\"font-family\":o,fill:s,class:t.cssClass}),u.node.style.fontFamily=o,u.node.style.opacity=c,u}},{key:\"addTspan\",value:function(t,e,l){var n=t.tspan(e);l||(l=this.w.config.chart.fontFamily),n.node.style.fontFamily=l}},{key:\"drawMarker\",value:function(t,e,l){t=t||0;var n=l.pSize||0,i=null;if(\"square\"===l.shape){var r=void 0===l.pRadius?n/2:l.pRadius;null===e&&(r=n=0);var o=1.2*n+r,s=this.drawRect(o,o,o,o,r);s.attr({x:t-o/2,y:e-o/2,cx:t,cy:e,class:l.class?l.class:\"\",fill:l.pointFillColor,\"fill-opacity\":l.pointFillOpacity?l.pointFillOpacity:1,stroke:l.pointStrokeColor,\"stroke-width\":l.pWidth?l.pWidth:0,\"stroke-opacity\":l.pointStrokeOpacity?l.pointStrokeOpacity:1}),i=s}else\"circle\"===l.shape&&(a.default.isNumber(e)||(e=n=0),i=this.drawCircle(n,{cx:t,cy:e,class:l.class?l.class:\"\",stroke:l.pointStrokeColor,fill:l.pointFillColor,\"fill-opacity\":l.pointFillOpacity?l.pointFillOpacity:1,\"stroke-width\":l.pWidth?l.pWidth:0,\"stroke-opacity\":l.pointStrokeOpacity?l.pointStrokeOpacity:1}));return i}},{key:\"pathMouseEnter\",value:function(t,e){var l=this.w,n=new r.default(this.ctx),i=parseInt(t.node.getAttribute(\"index\")),a=parseInt(t.node.getAttribute(\"j\"));if(\"function\"==typeof l.config.chart.events.dataPointMouseEnter&&l.config.chart.events.dataPointMouseEnter(e,this.ctx,{seriesIndex:i,dataPointIndex:a,w:l}),this.ctx.fireEvent(\"dataPointMouseEnter\",[e,this.ctx,{seriesIndex:i,dataPointIndex:a,w:l}]),(\"none\"===l.config.states.active.filter.type||\"true\"!==t.node.getAttribute(\"selected\"))&&\"none\"!==l.config.states.hover.filter.type&&\"none\"!==l.config.states.active.filter.type&&!l.globals.isTouchDevice){var o=l.config.states.hover.filter;n.applyFilter(t,o.type,o.value)}}},{key:\"pathMouseLeave\",value:function(t,e){var l=this.w,n=new r.default(this.ctx),i=parseInt(t.node.getAttribute(\"index\")),a=parseInt(t.node.getAttribute(\"j\"));\"function\"==typeof l.config.chart.events.dataPointMouseLeave&&l.config.chart.events.dataPointMouseLeave(e,this.ctx,{seriesIndex:i,dataPointIndex:a,w:l}),this.ctx.fireEvent(\"dataPointMouseLeave\",[e,this.ctx,{seriesIndex:i,dataPointIndex:a,w:l}]),\"none\"!==l.config.states.active.filter.type&&\"true\"===t.node.getAttribute(\"selected\")||\"none\"!==l.config.states.hover.filter.type&&n.getDefaultFilter(t)}},{key:\"pathMouseDown\",value:function(t,e){var l=this.w,n=new r.default(this.ctx),i=parseInt(t.node.getAttribute(\"index\")),a=parseInt(t.node.getAttribute(\"j\")),o=\"false\";if(\"true\"===t.node.getAttribute(\"selected\")){if(t.node.setAttribute(\"selected\",\"false\"),-1<l.globals.selectedDataPoints[i].indexOf(a)){var s=l.globals.selectedDataPoints[i].indexOf(a);l.globals.selectedDataPoints[i].splice(s,1)}}else{if(!l.config.states.active.allowMultipleDataPointsSelection&&0<l.globals.selectedDataPoints.length){l.globals.selectedDataPoints=[];var c=l.globals.dom.Paper.select(\".apexcharts-series path\").members,u=l.globals.dom.Paper.select(\".apexcharts-series circle\").members,d=!0,h=!1,f=void 0;try{for(var p,g=c[Symbol.iterator]();!(d=(p=g.next()).done);d=!0){var m=p.value;m.node.setAttribute(\"selected\",\"false\"),n.getDefaultFilter(m)}}catch(t){h=!0,f=t}finally{try{!d&&g.return&&g.return()}finally{if(h)throw f}}var b=!0,v=!1,y=void 0;try{for(var x,_=u[Symbol.iterator]();!(b=(x=_.next()).done);b=!0){var w=x.value;w.node.setAttribute(\"selected\",\"false\"),n.getDefaultFilter(w)}}catch(t){v=!0,y=t}finally{try{!b&&_.return&&_.return()}finally{if(v)throw y}}}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===l.globals.selectedDataPoints[i]&&(l.globals.selectedDataPoints[i]=[]),l.globals.selectedDataPoints[i].push(a)}if(\"true\"===o){var S=l.config.states.active.filter;\"none\"!==S&&n.applyFilter(t,S.type,S.value)}else\"none\"!==l.config.states.active.filter.type&&n.getDefaultFilter(t);\"function\"==typeof l.config.chart.events.dataPointSelection&&l.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:l.globals.selectedDataPoints,seriesIndex:i,dataPointIndex:a,w:l}),this.ctx.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:l.globals.selectedDataPoints,seriesIndex:i,dataPointIndex:a,w:l}])}},{key:\"rotateAroundCenter\",value:function(t){var e=t.getBBox();return{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,l,n){var i=!(4<arguments.length&&void 0!==arguments[4])||arguments[4],a=this.w,r=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:l,foreColor:\"#fff\",opacity:0});n&&r.attr(\"transform\",n),a.globals.dom.Paper.add(r);var o=r.bbox();return i||(o=r.node.getBoundingClientRect()),r.remove(),{width:o.width,height:o.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,l){if(0<(t.textContent=e).length&&t.getSubStringLength(0,e.length)>=l){for(var n=e.length-3;0<n;n-=3)if(t.getSubStringLength(0,n)<=l)return void(t.textContent=e.substring(0,n)+\"...\");t.textContent=\"...\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var l in e)e.hasOwnProperty(l)&&t.setAttribute(l,e[l])}}]),t}();e.default=c},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return i(t,[{key:\"shadeColor\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0;if(\"#\"===e[0]&&\"r\"===e[0]||(e=this.getHexColorFromName(e)),\"number\"!=typeof t||t<-1||1<t||\"string\"!=typeof e||\"r\"!==e[0]&&\"#\"!==e[0]||\"string\"!=typeof l&&void 0!==l)return null;parseInt;var n=Math.round,i=9<e.length,a=(i=\"string\"==typeof l?9<l.length||\"c\"===l&&!i:i,t<0),r=(t=a?-1*t:t,l=l&&\"c\"!==l?l:a?\"#000000\":\"#FFFFFF\",this.sbcRip(e)),o=this.sbcRip(l);return r&&o?i?\"rgb(\"+n((o[0]-r[0])*t+r[0])+\",\"+n((o[1]-r[1])*t+r[1])+\",\"+n((o[2]-r[2])*t+r[2])+(r[3]<0&&o[3]<0?\")\":\",\"+(-1<r[3]&&-1<o[3]?n(1e4*((o[3]-r[3])*t+r[3]))/1e4:o[3]<0?r[3]:o[3])+\")\"):\"#\"+(4294967296+16777216*(-1<r[3]&&-1<o[3]?n(255*((o[3]-r[3])*t+r[3])):-1<o[3]?n(255*o[3]):-1<r[3]?n(255*r[3]):255)+65536*n((o[0]-r[0])*t+r[0])+256*n((o[1]-r[1])*t+r[1])+n((o[2]-r[2])*t+r[2])).toString(16).slice(-1<r[3]||-1<o[3]?1:3):null}},{key:\"sbcRip\",value:function(t){var e=t.length,l=new Object,n=parseInt,i=Math.round;if(9<e){if((t=t.split(\",\")).length<3||4<t.length)return null;l[0]=n(t[0].slice(4)),l[1]=n(t[1]),l[2]=n(t[2]),l[3]=t[3]?parseFloat(t[3]):-1}else{if(8===e||6===e||e<4)return null;e<6&&(t=\"#\"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+(4<e?t[4]+\"\"+t[4]:\"\")),t=n(t.slice(1),16),l[0]=t>>16&255,l[1]=t>>8&255,l[2]=255&t,l[3]=9===e||5===e?i((t>>24&255)/255*1e4)/1e4:-1}return l}},{key:\"getHexColorFromName\",value:function(t){var e=document.createElement(\"div\");e.style.color=t;var l=window.getComputedStyle(document.body.appendChild(e)).color.match(/\\d+/g).map(function(t){return parseInt(t,10)});return document.body.removeChild(e),3<=l.length&&\"#\"+((1<<24)+(l[0]<<16)+(l[1]<<8)+l[2]).toString(16).substr(1)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===(void 0===t?\"undefined\":n(t))&&!Array.isArray(t)&&null!=t}},{key:\"extend\",value:function(t,e){var l=this;\"function\"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),l=1;l<arguments.length;l++){var n=arguments[l];if(null!=n)for(var i in n)n.hasOwnProperty(i)&&(e[i]=n[i])}return e});var n=Object.assign({},t);return this.isObject(t)&&this.isObject(e)&&Object.keys(e).forEach(function(i){l.isObject(e[i])&&i in t?n[i]=l.extend(t[i],e[i]):Object.assign(n,function(t,e,l){return e in t?Object.defineProperty(t,e,{value:l,enumerable:!0,configurable:!0,writable:!0}):t[e]=l,t}({},i,e[i]))}),n}},{key:\"extendArray\",value:function(e,l){var n=[];return e.map(function(e){n.push(t.extend(l,e))}),e=n}},{key:\"addProps\",value:function(t,e,l){\"string\"==typeof e&&(e=e.split(\".\")),t[e[0]]=t[e[0]]||{};var n=t[e[0]];return 1<e.length?(e.shift(),this.addProps(n,e,l)):t[e[0]]=l,t}},{key:\"clone\",value:function(t){if(\"[object Array]\"===Object.prototype.toString.call(t)){for(var e=[],l=0;l<t.length;l++)e[l]=this.clone(t[l]);return e}if(\"object\"!==(void 0===t?\"undefined\":n(t)))return t;var i={};for(var a in t)t.hasOwnProperty(a)&&(i[a]=this.clone(t[a]));return i}},{key:\"log10\",value:function(t){return Math.log(t)/Math.LN10}},{key:\"roundToBase10\",value:function(t){return Math.pow(10,Math.floor(Math.log10(t)))}},{key:\"roundToBase\",value:function(t,e){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}},{key:\"getDimensions\",value:function(t){var e=getComputedStyle(t),l=[],n=t.clientHeight,i=t.clientWidth;return n-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),i-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),l.push(i),l.push(n),l}},{key:\"getBoundingClientRect\",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height,x:e.x,y:e.y}}},{key:\"hexToRgba\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var l=t.replace(\"#\",\"\");l=l.match(new RegExp(\"(.{\"+l.length/3+\"})\",\"g\"));for(var n=0;n<l.length;n++)l[n]=parseInt(1===l[n].length?l[n]+l[n]:l[n],16);return void 0!==e&&l.push(e),\"rgba(\"+l.join(\",\")+\")\"}},{key:\"getOpacityFromRGBA\",value:function(t){return(t=t.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i))[3]}},{key:\"rgb2hex\",value:function(t){return(t=t.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i))&&4===t.length?\"#\"+(\"0\"+parseInt(t[1],10).toString(16)).slice(-2)+(\"0\"+parseInt(t[2],10).toString(16)).slice(-2)+(\"0\"+parseInt(t[3],10).toString(16)).slice(-2):\"\"}},{key:\"polarToCartesian\",value:function(t,e,l,n){var i=(n-90)*Math.PI/180;return{x:t+l*Math.cos(i),y:e+l*Math.sin(i)}}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"randomString\",value:function(t){for(var e=\"\",l=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\",n=0;n<t;n++)e+=l.charAt(Math.floor(Math.random()*l.length));return e}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var l in e)e.hasOwnProperty(l)&&(t.style.key=e[l])}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return-1<navigator.userAgent.toLowerCase().indexOf(\"firefox\")}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||-1<window.navigator.appVersion.indexOf(\"Trident/\"))return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(0<e)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(0<t.indexOf(\"Trident/\")){var l=t.indexOf(\"rv:\");return parseInt(t.substring(l+3,t.indexOf(\".\",l)),10)}var n=t.indexOf(\"Edge/\");return 0<n&&parseInt(t.substring(n+5,t.indexOf(\".\",n)),10)}}]),t}();e.default=a},function(t,e,l){\"use strict\";var n=l(42)(\"wks\"),i=l(25),a=l(3).Symbol,r=\"function\"==typeof a;(t.exports=function(t){return n[t]||(n[t]=r&&a[t]||(r?a:i)(\"Symbol.\"+t))}).store=n},function(t,e,l){\"use strict\";var n=t.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(t,e,l){\"use strict\";var n=t.exports={version:\"2.5.7\"};\"number\"==typeof __e&&(__e=n)},function(t,e,l){\"use strict\";var n=l(3),i=l(4),a=l(13),r=l(16),o=l(15),s=\"prototype\",c=function t(e,l,c){var u,d,h,f,p=e&t.F,g=e&t.G,m=e&t.P,b=e&t.B,v=g?n:e&t.S?n[l]||(n[l]={}):(n[l]||{})[s],y=g?i:i[l]||(i[l]={}),x=y[s]||(y[s]={});for(u in g&&(c=l),c)h=((d=!p&&v&&void 0!==v[u])?v:c)[u],f=b&&d?o(h,n):m&&\"function\"==typeof h?o(Function.call,h):h,v&&r(v,u,h,e&t.U),y[u]!=h&&a(y,u,f),m&&x[u]!=h&&(x[u]=h)};n.core=i,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,t.exports=c},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return n(t,[{key:\"checkComboSeries\",value:function(){var t=this.w;t.config.series.length&&void 0!==t.config.series[0].type&&(t.globals.comboCharts=!0,t.config.series.forEach(function(e){\"bar\"!==e.type&&\"column\"!==e.type||(t.globals.comboChartsHasBars=!0)}))}},{key:\"getStackedSeriesTotals\",value:function(){for(var t=this.w,e=[],l=0;l<t.globals.series[t.globals.maxValsInArrayIndex].length;l++){for(var n=0,i=0;i<t.globals.series.length;i++)n+=t.globals.series[i][l];e.push(n)}return t.globals.stackedSeriesTotals=e}},{key:\"getSeriesTotalByIndex\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce(function(t,e){return t+e},0):this.w.config.series[t].data.reduce(function(t,e){return t+e},0)}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every(function(t,e,l){return t===l[0]})}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map(function(t){return t.length}).indexOf(Math.max.apply(Math,t.globals.series.map(function(t){return t.length})))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach(function(t){e=Math.max(e,t)}),t.globals.markers.largestSize=e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map(function(t,e){var l=0;if(Array.isArray(t))for(var n=0;n<t.length;n++)l+=t[n];else l+=t;return l})}},{key:\"getSeriesTotalsXRange\",value:function(t,e){var l=this.w;return l.globals.series.map(function(n,i){for(var a=0,r=0;r<n.length;r++)l.globals.seriesX[i][r]>t&&l.globals.seriesX[i][r]<e&&(a+=n[r]);return a})}},{key:\"getPercentSeries\",value:function(){var t=this.w;t.globals.seriesPercent=t.globals.series.map(function(e,l){var n=[];if(Array.isArray(e))for(var i=0;i<e.length;i++){var a=t.globals.stackedSeriesTotals[i],r=100*e[i]/a;n.push(r)}else{var o=100*e/t.globals.seriesTotals.reduce(function(t,e){return t+e},0);n.push(o)}return n})}},{key:\"getCalculatedRatios\",value:function(){var t,e,l,n,i,a=this.w.globals,r=[],o=[],s=.1,c=0;if(a.yRange=[],a.isMultipleYAxis)for(var u=0;u<a.minYArr.length;u++)a.yRange.push(Math.abs(a.minYArr[u]-a.maxYArr[u])),o.push(0);else a.yRange.push(Math.abs(a.minY-a.maxY));a.xRange=Math.abs(a.maxX-a.minX),a.zRange=Math.abs(a.maxZ-a.minZ);for(var d=0;d<a.yRange.length;d++)r.push(a.yRange[d]/a.gridHeight);if(e=a.xRange/a.gridWidth,l=Math.abs(a.initialmaxX-a.initialminX)/a.gridWidth,t=a.yRange/a.gridWidth,n=a.xRange/a.gridHeight,i=a.zRange/a.gridHeight*16,a.minY!==Number.MIN_VALUE&&0!==Math.abs(a.minY)){if(a.hasNegs=!0,o=[],a.isMultipleYAxis)for(var h=0;h<r.length;h++)o.push(-a.minYArr[h]/r[h]);else o.push(-a.minY/r[0]);s=-a.minY/t,c=a.minX/e}else o.push(0);return{yRatio:r,invertedYRatio:t,zRatio:i,xRatio:e,initialXRatio:l,invertedXRatio:n,baseLineInvertedY:s,baseLineY:o,baseLineX:c}}},{key:\"getLogSeries\",value:function(t){var e=this.w;return e.globals.seriesLog=t.map(function(t,l){return e.config.yaxis[l]&&e.config.yaxis[l].logarithmic?t.map(function(t){return null===t?null:(Math.log(t)-Math.log(e.globals.minYArr[l]))/(Math.log(e.globals.maxYArr[l])-Math.log(e.globals.minYArr[l]))}):t}),e.globals.seriesLog}},{key:\"getLogYRatios\",value:function(t){var e=this,l=this.w,n=this.w.globals;return n.yLogRatio=t.slice(),n.logYRange=n.yRange.map(function(t,i){if(l.config.yaxis[i]&&e.w.config.yaxis[i].logarithmic){var a,r=Number.MIN_SAFE_INTEGER,o=Number.MAX_SAFE_INTEGER;return n.seriesLog.forEach(function(t,e){t.forEach(function(t){l.config.yaxis[e]&&l.config.yaxis[e].logarithmic&&(r=Math.max(t,r),o=Math.min(t,o))})}),a=Math.pow(n.yRange[i],Math.abs(o-r)/n.yRange[i]),n.yLogRatio[i]=a/n.gridHeight,a}}),n.yLogRatio}}],[{key:\"extendArrayProps\",value:function(t,e){return e.yaxis&&(e=t.extendYAxis(e)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}();e.default=i},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return i(t,[{key:\"getDefaultFilter\",value:function(t){var e=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==e.config.states.normal.filter?this.applyFilter(t,e.config.states.normal.filter.type,e.config.states.normal.filter.value):e.config.chart.dropShadow.enabled&&this.dropShadow(t,e.config.chart.dropShadow)}},{key:\"addNormalFilter\",value:function(t){var e=this.w;e.config.chart.dropShadow.enabled&&this.dropShadow(t,e.config.chart.dropShadow)}},{key:\"addDesaturateFilter\",value:function(t){var e=this,l=this.w;t.unfilter(!0);var n=new window.SVG.Filter;n.size(\"120%\",\"180%\",\"-5%\",\"-40%\"),t.filter(function(t){var i=l.config.chart.dropShadow;(n=i.enabled?e.addShadow(t,i):t).colorMatrix(\"matrix\",[0,0,0,0,.5,0,0,0,0,.5,0,0,0,0,.5,0,0,0,1,0]).colorMatrix(\"saturate\",0)}),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\")}},{key:\"addLightenFilter\",value:function(t,e){var l=this,n=this.w,i=e.intensity;if(!r.default.isFirefox()){t.unfilter(!0);var a=new window.SVG.Filter;a.size(\"120%\",\"180%\",\"-5%\",\"-40%\"),t.filter(function(t){var e=n.config.chart.dropShadow;(a=e.enabled?l.addShadow(t,e):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:i}})}),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\")}}},{key:\"addDarkenFilter\",value:function(t,e){var l=this,n=this.w,i=e.intensity;if(!r.default.isFirefox()){t.unfilter(!0);var a=new window.SVG.Filter;a.size(\"120%\",\"180%\",\"-5%\",\"-40%\"),t.filter(function(t){var e=n.config.chart.dropShadow;(a=e.enabled?l.addShadow(t,e):t).componentTransfer({rgb:{type:\"linear\",slope:i}})}),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\")}}},{key:\"applyFilter\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:.5;switch(e){case\"none\":this.addNormalFilter(t);break;case\"lighten\":this.addLightenFilter(t,{intensity:l});break;case\"darken\":this.addDarkenFilter(t,{intensity:l});break;case\"desaturate\":this.addDesaturateFilter(t)}}},{key:\"addShadow\",value:function(t,e){var l=e.blur,n=e.top,i=e.left,a=e.opacity,r=t.flood(\"black\",a).composite(t.sourceAlpha,\"in\").offset(i,n).gaussianBlur(l).merge(t.source);return t.blend(t.source,r)}},{key:\"dropShadow\",value:function(t,e){var l=e.top,n=e.left,i=e.blur,a=e.opacity;return t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),t.filter(function(t){var e=null;e=r.default.isSafari()||r.default.isFirefox()||r.default.isIE()?t.flood(\"black\",a).composite(t.sourceAlpha,\"in\").offset(n,l).gaussianBlur(i):t.flood(\"black\",a).composite(t.sourceAlpha,\"in\").offset(n,l).gaussianBlur(i).merge(t.source),t.blend(t.source,e)}),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),t}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n=l(9);t.exports=function(t){if(!n(t))throw TypeError(t+\" is not an object!\");return t}},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};t.exports=function(t){return\"object\"===(void 0===t?\"undefined\":n(t))?null!==t:\"function\"==typeof t}},function(t,e,l){\"use strict\";var n=l(8),i=l(56),a=l(44),r=Object.defineProperty;e.f=l(11)?Object.defineProperty:function(t,e,l){if(n(t),e=a(e,!0),n(l),i)try{return r(t,e,l)}catch(t){}if(\"get\"in l||\"set\"in l)throw TypeError(\"Accessors not supported!\");return\"value\"in l&&(t[e]=l.value),t}},function(t,e,l){\"use strict\";t.exports=!l(20)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(t,e,l){\"use strict\";var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,l){\"use strict\";var n=l(10),i=l(23);t.exports=l(11)?function(t,e,l){return n.f(t,e,i(1,l))}:function(t,e,l){return t[e]=l,t}},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(0)),a=r(l(1));function r(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return n(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,l=e.config,n=parseInt(e.globals.gridWidth),a=parseInt(e.globals.gridHeight),r=a<n?n:a,o=t.image,s=0,c=0;c=void 0===t.width&&void 0===t.height?void 0!==l.fill.image.width&&void 0!==l.fill.image.height?(s=l.fill.image.width+1,l.fill.image.height):(s=r+1,r):(s=t.width,t.height);var u=document.createElementNS(e.globals.svgNS,\"pattern\");i.default.setAttrs(u,{id:t.patternID,patternUnits:\"userSpaceOnUse\",width:s+\"px\",height:c+\"px\"});var d=document.createElementNS(e.globals.svgNS,\"image\");u.appendChild(d),d.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",o),i.default.setAttrs(d,{x:0,y:0,preserveAspectRatio:\"none\",width:s+\"px\",height:c+\"px\"}),d.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(u)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w;return\"bar\"===e.config.chart.type&&e.config.plotOptions.bar.distributed||\"heatmap\"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t,e){var l=this.w;this.opts=e;var n=this.w.config,i=void 0,r=void 0,o=void 0;this.seriesIndex=this.getSeriesIndex(e);var s=this.getFillColors(),c=s[this.seriesIndex],u=Array.isArray(n.fill.opacity)?n.fill.opacity[this.seriesIndex]:n.fill.opacity,d=c;return e.color&&(c=e.color),-1===c.indexOf(\"rgb\")?d=a.default.hexToRgba(c,u):-1<c.indexOf(\"rgba\")&&(u=\"0.\"+a.default.getOpacityFromRGBA(s[this.seriesIndex])),\"pattern\"===n.fill.type&&(r=this.handlePatternFill(r,c,u,d)),\"gradient\"===n.fill.type&&(o=this.handleGradientFill(o,c,u,this.seriesIndex)),i=0<n.fill.image.src.length&&\"image\"===n.fill.type?e.seriesNumber<n.fill.image.src.length?(this.clippedImgArea({opacity:u,image:n.fill.image.src[e.seriesNumber],patternID:\"pattern\"+l.globals.cuid+(e.seriesNumber+1)}),\"url(#pattern\"+l.globals.cuid+(e.seriesNumber+1)+\")\"):d:\"gradient\"===n.fill.type?o:\"pattern\"===n.fill.type?r:d,e.solid&&(i=d),i}},{key:\"getFillColors\",value:function(){var t=this.w,e=t.config,l=this.opts,n=[];return t.globals.comboCharts?\"line\"===t.config.series[this.seriesIndex].type?t.globals.stroke.colors instanceof Array?n=t.globals.stroke.colors:n.push(t.globals.stroke.colors):t.globals.fill.colors instanceof Array?n=t.globals.fill.colors:n.push(t.globals.fill.colors):\"line\"===e.chart.type?t.globals.stroke.colors instanceof Array?n=t.globals.stroke.colors:n.push(t.globals.stroke.colors):t.globals.fill.colors instanceof Array?n=t.globals.fill.colors:n.push(t.globals.fill.colors),void 0!==l.fillColors&&(n=[],l.fillColors instanceof Array?n=l.fillColors.slice():n.push(l.fillColors)),n}},{key:\"handlePatternFill\",value:function(t,e,l,n){var a=this.w.config,r=this.opts,o=new i.default(this.ctx),s=void 0===a.fill.pattern.strokeWidth?Array.isArray(a.stroke.width)?a.stroke.width[this.seriesIndex]:a.stroke.width:Array.isArray(a.fill.pattern.strokeWidth)?a.fill.pattern.strokeWidth[this.seriesIndex]:a.fill.pattern.strokeWidth,c=e;return a.fill.pattern.style instanceof Array?void 0!==a.fill.pattern.style[r.seriesNumber]?o.drawPattern(a.fill.pattern.style[r.seriesNumber],a.fill.pattern.width,a.fill.pattern.height,c,s,l):n:o.drawPattern(a.fill.pattern.style,a.fill.pattern.width,a.fill.pattern.height,c,s,l)}},{key:\"handleGradientFill\",value:function(t,e,l,n){var r=this.w.config,o=this.opts,s=new i.default(this.ctx),c=new a.default,u=r.fill.gradient.type,d=void 0,h=void 0,f=void 0===r.fill.gradient.opacityFrom?l:Array.isArray(r.fill.gradient.opacityFrom)?r.fill.gradient.opacityFrom[n]:r.fill.gradient.opacityFrom,p=void 0===r.fill.gradient.opacityTo?l:Array.isArray(r.fill.gradient.opacityTo)?r.fill.gradient.opacityTo[n]:r.fill.gradient.opacityTo;if(d=e,h=void 0===r.fill.gradient.gradientToColors||0===r.fill.gradient.gradientToColors.length?\"dark\"===r.fill.gradient.shade?c.shadeColor(-1*parseFloat(r.fill.gradient.shadeIntensity),e):c.shadeColor(parseFloat(r.fill.gradient.shadeIntensity),e):r.fill.gradient.gradientToColors[o.seriesNumber],r.fill.gradient.inverseColors){var g=d;d=h,h=g}return s.drawGradient(u,d,h,f,p,o.size,r.fill.gradient.stops)}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n=l(18);t.exports=function(t,e,l){if(n(t),void 0===e)return t;switch(l){case 1:return function(l){return t.call(e,l)};case 2:return function(l,n){return t.call(e,l,n)};case 3:return function(l,n,i){return t.call(e,l,n,i)}}return function(){return t.apply(e,arguments)}}},function(t,e,l){\"use strict\";var n=l(3),i=l(13),a=l(12),r=l(25)(\"src\"),o=\"toString\",s=Function[o],c=(\"\"+s).split(o);l(4).inspectSource=function(t){return s.call(t)},(t.exports=function(t,e,l,o){var s=\"function\"==typeof l;s&&(a(l,\"name\")||i(l,\"name\",e)),t[e]!==l&&(s&&(a(l,r)||i(l,r,t[e]?\"\"+t[e]:c.join(String(e)))),t===n?t[e]=l:o?t[e]?t[e]=l:i(t,e,l):(delete t[e],i(t,e,l)))})(Function.prototype,o,function(){return\"function\"==typeof this&&this[r]||s.call(this)})},function(t,e,l){\"use strict\";var n=l(38),i=l(35);t.exports=function(t){return n(i(t))}},function(t,e,l){\"use strict\";t.exports=function(t){if(\"function\"!=typeof t)throw TypeError(t+\" is not a function!\");return t}},function(t,e,l){\"use strict\";var n={}.toString;t.exports=function(t){return n.call(t).slice(8,-1)}},function(t,e,l){\"use strict\";t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e,l){\"use strict\";t.exports={}},function(t,e,l){\"use strict\";t.exports=!1},function(t,e,l){\"use strict\";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e,l){\"use strict\";var n=l(43),i=Math.min;t.exports=function(t){return 0<t?i(n(t),9007199254740991):0}},function(t,e,l){\"use strict\";var n=0,i=Math.random();t.exports=function(t){return\"Symbol(\".concat(void 0===t?\"\":t,\")_\",(++n+i).toString(36))}},function(t,e,l){\"use strict\";var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return i(t,[{key:\"setEasingFunctions\",value:function(){var t=void 0;switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":t=\"<>\";break;case\"swing\":t=function(t){return(t-=1)*t*(2.70158*t+1.70158)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1};break;default:t=\"<>\"}this.w.globals.easing=t}},{key:\"animateLine\",value:function(t,e,l,n){t.attr(e).animate(n).attr(l)}},{key:\"animateCircleRadius\",value:function(t,e,l,n,i){e||(e=0),t.attr({r:e}).animate(n,i).attr({r:l})}},{key:\"animateCircle\",value:function(t,e,l,n,i){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(n,i).attr({r:l.r,cx:l.cx,cy:l.cy})}},{key:\"animateRect\",value:function(t,e,l,n){t.attr(e).animate(n).attr(l)}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,l=t.j,n=t.pathFrom,i=t.pathTo,a=t.speed,r=t.delay,o=t.strokeWidth,s=this.w,c=0;s.config.chart.animations.animateGradually.enabled&&(c=s.config.chart.animations.animateGradually.delay),s.config.chart.animations.dynamicAnimation.enabled&&s.globals.dataChanged&&(c=0),this.morphSVG(e,l,n,i,a,o,r*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach(function(t){t.el.classList.remove(\"hidden\")})}},{key:\"morphSVG\",value:function(t,e,l,n,i,a,o){var s=this,c=this.w;l||(l=t.attr(\"pathFrom\")),n||(n=t.attr(\"pathTo\")),(-1<l.indexOf(\"undefined\")||-1<l.indexOf(\"NaN\"))&&(l=\"M 0 \"+c.globals.gridHeight,i=1),(-1<n.indexOf(\"undefined\")||-1<n.indexOf(\"NaN\"))&&(n=\"M 0 \"+c.globals.gridHeight,i=1),c.globals.shouldAnimate||(i=1),t.plot(l).animate(1,c.globals.easing,o).plot(l).animate(i,c.globals.easing,o).plot(n).afterAll(function(){r.default.isNumber(e)?e===c.globals.series[c.globals.maxValsInArrayIndex].length-2&&c.globals.shouldAnimate&&(c.globals.animationEnded=!0):c.globals.shouldAnimate&&(c.globals.animationEnded=!0,\"function\"==typeof c.config.chart.events.animationEnd&&c.config.chart.events.animationEnd(s.ctx,c)),s.showDelayedElements()})}}]),t}();t.exports=o},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=void 0;var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(0),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return i(t,[{key:\"getAllSeriesEls\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\")}},{key:\"getSeriesByName\",value:function(t){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-series.\"+t.toString().replace(/ /g,\"-\"))}},{key:\"addCollapsedClassToSeries\",value:function(t,e){for(var l=this.w,n=0;n<l.globals.collapsedSeries.length;n++)l.globals.collapsedSeries[n].index===e&&t.node.classList.add(\"apexcharts-series-collapsed\")}},{key:\"toggleSeriesOnHover\",value:function(t,e){var l=this.w,n=l.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");if(\"mousemove\"===t.type){var i=parseInt(e.getAttribute(\"rel\"))-1,a=null;a=l.globals.axisCharts||\"radialBar\"===l.config.chart.type?l.globals.axisCharts?l.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\"+i+\"']\"):l.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\"+(i+1)+\"']\"):l.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\"+(i+1)+\"'] path\");for(var r=0;r<n.length;r++)n[r].classList.add(\"legend-mouseover-inactive\");null!==a&&(l.globals.axisCharts||a.parentNode.classList.remove(\"legend-mouseover-inactive\"),a.classList.remove(\"legend-mouseover-inactive\"))}else if(\"mouseout\"===t.type)for(var o=0;o<n.length;o++)n[o].classList.remove(\"legend-mouseover-inactive\")}},{key:\"highlightRangeInSeries\",value:function(t,e){var l=this.w,n=l.globals.dom.baseEl.querySelectorAll(\".apexcharts-heatmap-rect\"),i=function(){for(var t=0;t<n.length;t++)n[t].classList.remove(\"legend-mouseover-inactive\")};if(\"mousemove\"===t.type){var a=parseInt(e.getAttribute(\"rel\"))-1;i(),function(){for(var t=0;t<n.length;t++)n[t].classList.add(\"legend-mouseover-inactive\")}(),function(t){for(var e=0;e<n.length;e++){var l=parseInt(n[e].getAttribute(\"val\"));l>=t.from&&l<=t.to&&n[e].classList.remove(\"legend-mouseover-inactive\")}}(l.config.plotOptions.heatmap.colorScale.ranges[a])}else\"mouseout\"===t.type&&i()}},{key:\"getActiveSeriesIndex\",value:function(){var t=this.w,e=0;if(1<t.globals.series.length)for(var l=t.globals.series.map(function(e,l){return 0<e.length&&\"bar\"!==t.config.series[l].type&&\"column\"!==t.config.series[l].type?l:-1}),n=0;n<l.length;n++)if(-1!==l[n]){e=l[n];break}return e}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=this.w,e=0;if(1<t.config.series.length)for(var l=t.config.series.map(function(t,e){return t.data&&0<t.data.length?e:-1}),n=0;n<l.length;n++)if(-1!==l[n]){e=l[n];break}return e}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,l,n){for(var i=e[l].childNodes,a={type:n,paths:[],realIndex:e[l].getAttribute(\"data:realIndex\")},r=0;r<i.length;r++)if(i[r].hasAttribute(\"pathTo\")){var o=i[r].getAttribute(\"pathTo\");\"area\"===n?(i[r].classList.contains(\"apexcharts-line\")||i[r].classList.contains(\"apexcharts-area\"))&&a.paths.push({d:o}):a.paths.push({d:o})}t.globals.previousPaths.push(a)}t.globals.previousPaths=[];var l=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-line-series .apexcharts-series\");if(0<l.length)for(var n=l.length-1;0<=n;n--)e(l,n,\"line\");var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-area-series .apexcharts-series\");if(0<i.length)for(var a=i.length-1;0<=a;a--)e(i,a,\"area\");var r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series .apexcharts-series\");if(0<r.length)for(var o=0;o<r.length;o++)e(r,o,\"bar\");var s=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-candlestick-series .apexcharts-series\");if(0<s.length)for(var c=0;c<s.length;c++)e(s,c,\"candlestick\");var u=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-bubble-series .apexcharts-series\");if(0<u.length)for(var d=0;d<u.length;d++){for(var h=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-bubble-series .apexcharts-series[data\\\\:realIndex='\"+d+\"'] circle\"),f=[],p=0;p<h.length;p++)f.push({x:h[p].getAttribute(\"cx\"),y:h[p].getAttribute(\"cy\"),r:h[p].getAttribute(\"r\")});t.globals.previousPaths.push(f)}var g=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-scatter-series .apexcharts-series\");if(0<g.length)for(var m=0;m<g.length;m++){for(var b=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-scatter-series .apexcharts-series[data\\\\:realIndex='\"+m+\"'] circle\"),v=[],y=0;y<b.length;y++)v.push({x:b[y].getAttribute(\"cx\"),y:b[y].getAttribute(\"cy\"),r:b[y].getAttribute(\"r\")});t.globals.previousPaths.push(v)}var x=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-heatmap .apexcharts-series\");if(0<x.length)for(var _=0;_<x.length;_++){for(var w=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-heatmap .apexcharts-series[data\\\\:realIndex='\"+_+\"'] rect\"),S=[],k=0;k<w.length;k++)S.push({color:w[k].getAttribute(\"color\")});t.globals.previousPaths.push(S)}t.globals.axisCharts||(t.globals.previousPaths=t.globals.series)}},{key:\"handleNoData\",value:function(){var t=this.w,e=t.config.noData,l=new r.default(this.ctx),n=t.globals.svgWidth/2,i=t.globals.svgHeight/2,a=\"middle\";if(t.globals.noData=!0,\"left\"===e.align?(n=10,a=\"start\"):\"right\"===e.align&&(n=t.globals.svgWidth-10,a=\"end\"),\"top\"===e.verticalAlign?i=50:\"bottom\"===e.verticalAlign&&(i=t.globals.svgHeight-50),n+=e.offsetX,i=i+parseInt(e.style.fontSize)+2,void 0!==e.text&&\"\"!==e.text){var o=l.drawText({x:n,y:i,text:e.text,textAnchor:a,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,foreColor:e.style.color,opacity:1,class:\"apexcharts-text-nodata\"});o.node.setAttribute(\"class\",\"apexcharts-title-text\"),t.globals.dom.Paper.add(o)}}},{key:\"setNullSeriesToZeroValues\",value:function(t){for(var e=this.w,l=0;l<t.length;l++)if(0===t[l].length)for(var n=0;n<t[e.globals.maxValsInArrayIndex].length;n++)t[l].push(0);return t}},{key:\"hasAllSeriesEqualX\",value:function(){for(var t=!0,e=this.w,l=this.filteredSeriesX(),n=0;n<l.length-1;n++)if(l[n][0]!==l[n+1][0]){t=!1;break}return e.globals.allSeriesHasEqualX=t}},{key:\"filteredSeriesX\",value:function(){var t=this.w.globals.seriesX.map(function(t,e){return 0<t.length?t:[]});return t}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n=l(65),i=l(37);t.exports=Object.keys||function(t){return n(t,i)}},function(t,e,l){\"use strict\";var n=l(10).f,i=l(12),a=l(2)(\"toStringTag\");t.exports=function(t,e,l){t&&!i(t=l?t:t.prototype,a)&&n(t,a,{configurable:!0,value:e})}},function(t,e,l){\"use strict\";var n=l(35);t.exports=function(t){return Object(n(t))}},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(53)),a=r(l(1));function r(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat=\"dd MMM\"}return n(t,[{key:\"xLabelFormat\",value:function(t,e){var l=this.w;return\"datetime\"===l.config.xaxis.type&&void 0===l.config.tooltip.x.formatter?new i.default(this.ctx).formatDate(new Date(e),l.config.tooltip.x.format,!0,!0):t(e)}},{key:\"setLabelFormatters\",value:function(){var t=this.w;return t.globals.xLabelFormatter=function(t){return t},t.globals.xaxisTooltipFormatter=function(t){return t},t.globals.ttKeyFormatter=function(t){return t},t.globals.ttZFormatter=function(t){return t},t.globals.legendFormatter=function(t){return t},\"function\"==typeof t.config.tooltip.x.formatter&&(t.globals.ttKeyFormatter=t.config.tooltip.x.formatter),\"function\"==typeof t.config.xaxis.tooltip.formatter&&(t.globals.xaxisTooltipFormatter=t.config.xaxis.tooltip.formatter),Array.isArray(t.config.tooltip.y)?t.globals.ttVal=t.config.tooltip.y:void 0!==t.config.tooltip.y.formatter&&(t.globals.ttVal=t.config.tooltip.y),void 0!==t.config.tooltip.z.formatter&&(t.globals.ttZFormatter=t.config.tooltip.z.formatter),void 0!==t.config.legend.formatter&&(t.globals.legendFormatter=t.config.legend.formatter),void 0!==t.config.xaxis.labels.formatter?t.globals.xLabelFormatter=t.config.xaxis.labels.formatter:t.globals.xLabelFormatter=function(e){return a.default.isNumber(e)?\"numeric\"===t.config.xaxis.type&&t.globals.dataPoints<50?e.toFixed(1):e.toFixed(0):e},t.config.yaxis.forEach(function(e,l){void 0!==e.labels.formatter?t.globals.yLabelFormatters[l]=e.labels.formatter:t.globals.yLabelFormatters[l]=function(l){return a.default.isNumber(l)?0!==t.globals.yValueDecimal?l.toFixed(e.decimalsInFloat):l.toFixed(0):l}}),t.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce(function(t,e){return t.length>e.length?t:e},0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=o(l(7)),a=o(l(0)),r=o(l(1));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e,l){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return n(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],0<t.globals.markers.size.length){if(t.globals.markers.size.length<t.globals.series.length+1)for(var e=0;e<=t.globals.series.length;e++)void 0===t.globals.markers.size[e]&&t.globals.markers.size.push(t.globals.markers.size[0])}else t.globals.markers.size=t.config.series.map(function(e){return t.config.markers.size})}},{key:\"plotChartMarkers\",value:function(t,e,l){var n=this,i=this.w,o=t,s=null,c=new a.default(this.ctx),u=void 0;if(0<i.globals.markers.size[e]&&(s=c.group({class:\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\"+i.globals.cuid+\")\"),o.x instanceof Array)for(var d=function(t){var a=l,d=\"apexcharts-marker\";if(\"line\"!==i.config.chart.type&&\"area\"!==i.config.chart.type||i.globals.comboCharts||i.config.tooltip.intersect||(d+=\" no-pointer-events\"),Array.isArray(i.config.markers.size)?0<i.globals.markers.size[e]:0<i.config.markers.size){r.default.isNumber(o.y[t])?d+=\" w\"+(Math.random()+1).toString(36).substring(4):d=\"apexcharts-nullpoint\";var h=n.getMarkerConfig(d,e);i.config.markers.discrete.map(function(t){t.seriesIndex===e&&t.dataPointIndex===a&&(h.pointStrokeColor=t.strokeColor,h.pointFillColor=t.fillColor,h.pSize=t.size)}),u=c.drawMarker(o.x[t],o.y[t],h),1===l&&0===t&&(a=0),1===l&&1===t&&(a=1),u.attr(\"rel\",a),u.attr(\"j\",a),u.attr(\"index\",e),u.node.setAttribute(\"default-marker-size\",h.pSize),n.setSelectedPointFilter(u,e,a),n.addEvents(u),s&&s.add(u)}else void 0===i.globals.pointsArray[e]&&(i.globals.pointsArray[e]=[]),i.globals.pointsArray[e].push([o.x[t],o.y[t]])},h=0;h<o.x.length;h++)d(h);return s}},{key:\"getMarkerConfig\",value:function(t,e){var l=this.w,n=this.getMarkerStyle(e);return{pSize:l.globals.markers.size[e],pRadius:l.config.markers.radius,pWidth:l.config.markers.strokeWidth,pointStrokeColor:n.pointStrokeColor,pointFillColor:n.pointFillColor,shape:l.config.markers.shape instanceof Array?l.config.markers.shape[e]:l.config.markers.shape,class:t,pointStrokeOpacity:l.config.markers.strokeOpacity,pointFillOpacity:l.config.markers.fillOpacity,seriesIndex:e}}},{key:\"addEvents\",value:function(t){var e=new a.default(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"touchstart\",e.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"setSelectedPointFilter\",value:function(t,e,l){var n=this.w;if(void 0!==n.globals.selectedDataPoints[e]&&-1<n.globals.selectedDataPoints[e].indexOf(l)){t.node.setAttribute(\"selected\",!0);var a=n.config.states.active.filter;\"none\"!==a&&new i.default(this.ctx).applyFilter(t,a.type,a.value)}}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,l=e.globals.markers.colors;return{pointStrokeColor:e.config.markers.strokeColor,pointFillColor:l instanceof Array?l[t]:l}}}]),t}();t.exports=s},function(t,e,l){\"use strict\";var n=l(2)(\"unscopables\"),i=Array.prototype;null==i[n]&&l(13)(i,n,{}),t.exports=function(t){i[n][t]=!0}},function(t,e,l){\"use strict\";var n=l(19),i=l(2)(\"toStringTag\"),a=\"Arguments\"==n(function(){return arguments}());t.exports=function(t){var e,l,r;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(l=function(t,e){try{return t[e]}catch(t){}}(e=Object(t),i))?l:a?n(e):\"Object\"==(r=n(e))&&\"function\"==typeof e.callee?\"Arguments\":r}},function(t,e,l){\"use strict\";t.exports=function(t){if(null==t)throw TypeError(\"Can't call method on  \"+t);return t}},function(t,e,l){\"use strict\";var n=l(9),i=l(3).document,a=n(i)&&n(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,e,l){\"use strict\";t.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},function(t,e,l){\"use strict\";var n=l(19);t.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(t){return\"String\"==n(t)?t.split(\"\"):Object(t)}},function(t,e,l){\"use strict\";var n=l(18);function i(t){var e,l;this.promise=new t(function(t,n){if(void 0!==e||void 0!==l)throw TypeError(\"Bad Promise constructor\");e=t,l=n}),this.resolve=n(e),this.reject=n(l)}t.exports.f=function(t){return new i(t)}},function(t,e,l){\"use strict\";e.f={}.propertyIsEnumerable},function(t,e,l){\"use strict\";var n=l(42)(\"keys\"),i=l(25);t.exports=function(t){return n[t]||(n[t]=i(t))}},function(t,e,l){\"use strict\";var n=l(4),i=l(3),a=\"__core-js_shared__\",r=i[a]||(i[a]={});(t.exports=function(t,e){return r[t]||(r[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:n.version,mode:l(22)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(t,e,l){\"use strict\";var n=Math.ceil,i=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(0<t?i:n)(t)}},function(t,e,l){\"use strict\";var n=l(9);t.exports=function(t,e){if(!n(t))return t;var l,i;if(e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;if(\"function\"==typeof(l=t.valueOf)&&!n(i=l.call(t)))return i;if(!e&&\"function\"==typeof(l=t.toString)&&!n(i=l.call(t)))return i;throw TypeError(\"Can't convert object to primitive value\")}},function(t,e,l){\"use strict\";var n=l(3),i=l(4),a=l(22),r=l(70),o=l(10).f;t.exports=function(t){var e=i.Symbol||(i.Symbol=a?{}:n.Symbol||{});\"_\"==t.charAt(0)||t in e||o(e,t,{value:r.f(t)})}},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=c(l(6)),a=c(l(14)),r=c(l(7)),o=c(l(0)),s=c(l(47));function c(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(e,l){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w;var n=this.w;this.barOptions=n.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=n.config.stroke.width,this.isNullValue=!1,this.xyRatios=l,null!==this.xyRatios&&(this.xRatio=l.xRatio,this.yRatio=l.yRatio,this.invertedXRatio=l.invertedXRatio,this.invertedYRatio=l.invertedYRatio,this.baseLineY=l.baseLineY,this.baseLineInvertedY=l.baseLineInvertedY),this.minXDiff=Number.MAX_SAFE_INTEGER,this.yaxisIndex=0,this.seriesLen=0}return n(t,[{key:\"draw\",value:function(t,e){var l=this,n=this.w,r=new o.default(this.ctx),s=new a.default(this.ctx),c=new i.default(this.ctx,n);this.series=c.getLogSeries(t),t=this.series,this.yRatio=c.getLogYRatios(this.yRatio),this.initVariables(t);var u=r.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});u.attr(\"clip-path\",\"url(#gridRectMask\"+n.globals.cuid+\")\");for(var d=function(i,a){var o,c,d,h,f=void 0,p=void 0,g=void 0,m=void 0,b=[],v=[],y=n.globals.comboCharts?e[i]:i,x=r.group({class:\"apexcharts-series \"+n.globals.seriesNames[y].toString().replace(/ /g,\"-\"),rel:i+1,\"data:realIndex\":y});l.ctx.series.addCollapsedClassToSeries(x,y),0<t[i].length&&(l.visibleI=l.visibleI+1);var _,w,S=0;1<l.yRatio.length&&(l.yaxisIndex=y);var k=l.initialPositions();m=k.y,_=k.barHeight,c=k.yDivision,h=k.zeroW,g=k.x,w=k.barWidth,o=k.xDivision,d=k.zeroH,l.horizontal||v.push(g+w/2);for(var C=r.group({class:\"apexcharts-datalabels\"}),T=function(e,r){void 0===l.series[i][e]||null===t[i][e]?l.isNullValue=!0:l.isNullValue=!1,n.config.stroke.show&&(S=l.isNullValue?0:Array.isArray(l.strokeWidth)?l.strokeWidth[y]:l.strokeWidth);var u=null;u=l.isHorizontal?l.drawBarPaths({indexes:{i:i,j:e,realIndex:y,bc:a},barHeight:_,strokeWidth:S,pathTo:f,pathFrom:p,zeroW:h,x:g,y:m,yDivision:c,elSeries:x}):l.drawColumnPaths({indexes:{i:i,j:e,realIndex:y,bc:a},x:g,y:m,xDivision:o,pathTo:f,pathFrom:p,barWidth:w,zeroH:d,strokeWidth:S,elSeries:x}),f=u.pathTo,p=u.pathFrom,m=u.y,g=u.x,0<e&&v.push(g+w/2),b.push(m);var k=l.barOptions.distributed?e:i,T=null;0<l.barOptions.colors.ranges.length&&l.barOptions.colors.ranges.map(function(l){t[i][e]>=l.from&&t[i][e]<=l.to&&(T=l.color)});var D=s.fillPath(x,{seriesNumber:l.barOptions.distributed?k:y,color:T});x=l.renderSeries({realIndex:y,pathFill:D,j:e,i:i,pathFrom:p,pathTo:f,strokeWidth:S,elSeries:x,x:g,y:m,series:t,barHeight:_,barWidth:w,elDataLabelsWrap:C,visibleSeries:l.visibleI,type:\"bar\"})},D=0,M=n.globals.dataPoints;D<n.globals.dataPoints;D++,M--)T(D);n.globals.seriesXvalues[y]=v,n.globals.seriesYvalues[y]=b,u.add(x)},h=0,f=0;h<t.length;h++,f++)d(h,f);return u}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,l=t.pathFill,n=t.lineFill,i=t.j,a=t.i,r=t.pathFrom,s=t.pathTo,c=t.strokeWidth,u=t.elSeries,d=t.x,h=t.y,f=t.series,p=t.barHeight,g=t.barWidth,m=t.elDataLabelsWrap,b=t.visibleSeries,v=t.type,y=this.w,x=new o.default(this.ctx);n||(n=y.globals.stroke.colors[e]),this.isNullValue&&(l=\"none\");var _=i/y.config.chart.animations.animateGradually.delay*(y.config.chart.animations.speed/y.globals.dataPoints)/2.4,w=x.renderPaths({i:a,j:i,realIndex:e,pathFrom:r,pathTo:s,stroke:n,strokeWidth:c,strokeLineCap:y.config.stroke.lineCap,fill:l,animationDelay:_,initialSpeed:y.config.chart.animations.speed,dataChangeSpeed:y.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\"+v+\"-area\",id:\"apexcharts-\"+v+\"-area\"});this.setSelectedBarFilter(w,e,i),u.add(w);var S=this.calculateDataLabelsPos({x:d,y:h,i:a,j:i,series:f,realIndex:e,barHeight:p,barWidth:g,renderedPath:w,visibleSeries:b});return null!==S&&m.add(S),u.add(m),u}},{key:\"initVariables\",value:function(t){var e=this,l=this.w;this.series=t,this.totalItems=0,this.seriesLen=0,this.visibleI=-1,this.visibleItems=1;for(var n=0;n<t.length;n++)if(0<t[n].length&&(this.seriesLen=this.seriesLen+1,this.totalItems+=t[n].length),l.globals.isXNumeric){l.globals.seriesX.forEach(function(t,n){t.forEach(function(t,i){if(0<i){var a=t-l.globals.seriesX[n][i-1];e.minXDiff=Math.min(a,e.minXDiff)}})});for(var i=0;i<t[n].length;i++)l.globals.seriesX[n][i]>l.globals.minX&&l.globals.seriesX[n][i]<l.globals.maxX&&this.visibleItems++}else this.visibleItems=l.globals.dataPoints;0===this.seriesLen&&(this.seriesLen=1)}},{key:\"initialPositions\",value:function(){var t=this.w,e=void 0,l=void 0,n=void 0,i=void 0,a=void 0,r=void 0,o=void 0,s=void 0;return this.isHorizontal?(a=(n=t.globals.gridHeight/t.globals.dataPoints)/this.seriesLen,t.globals.isXNumeric&&(a=(n=t.globals.gridHeight/this.totalItems)/this.seriesLen),a=a*parseInt(this.barOptions.barHeight)/100,s=this.baseLineInvertedY+t.globals.padHorizontal,l=(n-a*this.seriesLen)/2):(r=(i=t.globals.gridWidth/this.visibleItems)/this.seriesLen*parseInt(this.barOptions.columnWidth)/100,t.globals.isXNumeric&&(r=(i=this.minXDiff/this.xRatio)/this.seriesLen*parseInt(this.barOptions.columnWidth)/100),o=t.globals.gridHeight-this.baseLineY[this.yaxisIndex],e=t.globals.padHorizontal+(i-r*this.seriesLen)/2),{x:e,y:l,yDivision:n,xDivision:i,barHeight:a,barWidth:r,zeroH:o,zeroW:s}}},{key:\"drawBarPaths\",value:function(t){var e=t.indexes,l=t.barHeight,n=t.strokeWidth,i=t.pathTo,a=t.pathFrom,r=t.zeroW,s=t.x,c=t.y,u=t.yDivision,d=t.elSeries,h=this.w,f=new o.default(this.ctx),p=e.i,g=e.j,m=e.realIndex,b=e.bc;h.globals.isXNumeric&&(c=(h.globals.seriesX[p][g]-h.globals.minX)/this.invertedXRatio-l);var v=c+l*this.visibleI;i=f.move(r,v),a=f.move(r,v),0<h.globals.previousPaths.length&&(a=this.getPathFrom(m,g,!0));var y={barHeight:l,strokeWidth:n,barYPosition:v,x:s=void 0===this.series[p][g]||null===this.series[p][g]?r:r+this.series[p][g]/this.invertedYRatio,zeroW:r},x=this.barEndingShape(h,y,this.series,p,g);if(i=i+f.line(x.newX,v)+x.path+f.line(r,v+l-n)+f.line(r,v),a=a+f.line(r,v)+x.ending_p_from+f.line(r,v+l-n)+f.line(r,v+l-n)+f.line(r,v),h.globals.isXNumeric||(c+=u),0<this.barOptions.colors.backgroundBarColors.length&&0===p){b>=this.barOptions.colors.backgroundBarColors.length&&(b=0);var _=this.barOptions.colors.backgroundBarColors[b],w=f.drawRect(0,v-l*this.visibleI,h.globals.gridWidth,l*this.seriesLen,0,_,this.barOptions.colors.backgroundBarOpacity);d.add(w),w.node.classList.add(\"apexcharts-backgroundBar\")}return{pathTo:i,pathFrom:a,x:s,y:c,barYPosition:v}}},{key:\"drawColumnPaths\",value:function(t){var e=t.indexes,l=t.x,n=t.y,i=t.xDivision,a=t.pathTo,r=t.pathFrom,s=t.barWidth,c=t.zeroH,u=t.strokeWidth,d=t.elSeries,h=this.w,f=new o.default(this.ctx),p=e.i,g=e.j,m=e.realIndex,b=e.bc;h.globals.isXNumeric&&(l=(h.globals.seriesX[p][g]-h.globals.minX)/this.xRatio-s/2);var v=l+s*this.visibleI;a=f.move(v,c),r=f.move(v,c),0<h.globals.previousPaths.length&&(r=this.getPathFrom(m,g,!0));var y={barWidth:s,strokeWidth:u,barXPosition:v,y:n=void 0===this.series[p][g]||null===this.series[p][g]?c:c-this.series[p][g]/this.yRatio[this.yaxisIndex],zeroH:c},x=this.barEndingShape(h,y,this.series,p,g);if(a=a+f.line(v,x.newY)+x.path+f.line(v+s-u,c)+f.line(v,c),r=r+f.line(v,c)+x.ending_p_from+f.line(v+s-u,c)+f.line(v+s-u,c)+f.line(v,c),h.globals.isXNumeric||(l+=i),0<this.barOptions.colors.backgroundBarColors.length&&0===p){b>=this.barOptions.colors.backgroundBarColors.length&&(b=0);var _=this.barOptions.colors.backgroundBarColors[b],w=f.drawRect(v-s*this.visibleI,0,s*this.seriesLen,h.globals.gridHeight,0,_,this.barOptions.colors.backgroundBarOpacity);d.add(w),w.node.classList.add(\"apexcharts-backgroundBar\")}return{pathTo:a,pathFrom:r,x:l,y:n,barXPosition:v}}},{key:\"getPathFrom\",value:function(t,e){2<arguments.length&&void 0!==arguments[2]&&arguments[2];for(var l=this.w,n=void 0,i=0;i<l.globals.previousPaths.length;i++){var a=l.globals.previousPaths[i];0<a.paths.length&&parseInt(a.realIndex)===parseInt(t)&&void 0!==l.globals.previousPaths[i].paths[e]&&(n=l.globals.previousPaths[i].paths[e].d)}return n}},{key:\"calculateDataLabelsPos\",value:function(t){var e=t.x,l=t.y,n=t.i,i=t.j,a=t.realIndex,r=t.series,s=t.barHeight,c=t.barWidth,u=t.visibleSeries,d=t.renderedPath,h=this.w,f=new o.default(this.ctx),p=Array.isArray(this.strokeWidth)?this.strokeWidth[a]:this.strokeWidth,g=e+parseFloat(c*u),m=l+parseFloat(s*u);h.globals.isXNumeric&&(g=e+parseFloat(c*(u+1))-p,m=l+parseFloat(s*(u+1))-p);var b=e,v=l,y={},x=h.config.dataLabels,_=this.barOptions.dataLabels,w=x.offsetX,S=x.offsetY,k=f.getTextRects(h.globals.yLabelFormatters[0](h.globals.maxY),parseInt(x.style.fontSize));return y=this.isHorizontal?this.calculateBarsDataLabelsPosition({x:e,y:l,i:n,j:i,bcy:m,barHeight:s,textRects:k,strokeWidth:p,dataLabelsX:b,dataLabelsY:v,barDataLabelsConfig:_,offX:w,offY:S}):this.calculateColumnsDataLabelsPosition({x:e,y:l,i:n,j:i,realIndex:a,bcx:g,bcy:m,barHeight:s,barWidth:c,textRects:k,strokeWidth:p,dataLabelsY:v,barDataLabelsConfig:_,offX:w,offY:S}),d.attr({cy:y.bcy,cx:y.bcx,j:i,val:r[n][i],barHeight:s,barWidth:c}),this.drawCalculatedDataLabels({x:y.dataLabelsX,y:y.dataLabelsY,val:r[n][i],i:a,j:i,dataLabelsConfig:x})}},{key:\"calculateColumnsDataLabelsPosition\",value:function(t){var e=this.w,l=t.i,n=t.j,i=t.realIndex,a=t.y,r=t.bcx,o=t.barWidth,s=t.textRects,c=t.dataLabelsY,u=t.barDataLabelsConfig,d=t.strokeWidth,h=t.offX,f=t.offY,p=void 0,g=this.series[l][n]/this.yRatio[this.yaxisIndex],m=e.globals.gridWidth/e.globals.dataPoints;r-=d/2,p=e.globals.isXNumeric?r-o/2+h:r-m+o/2+h;var b=!!(e.globals.gridHeight-this.baseLineY[this.yaxisIndex]<a&&0!==Math.abs(this.baseLineY[this.yaxisIndex])),v=0!==Math.abs(e.globals.minYArr[i]);switch(u.position){case\"center\":c=a+g/2+s.height/2-f,v&&(c=b?a+g/2+s.height/2+f:a+g/2+s.height/2-f);break;case\"bottom\":c=v?b?a+g+s.height+d+f:a+g-s.height/2+d-f:e.globals.gridHeight-s.height/2-f;break;case\"top\":c=v&&b?a-s.height/2-f:a+s.height+f}return{bcx:r,bcy:a,dataLabelsX:p,dataLabelsY:c}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,l=t.x,n=t.i,i=t.j,a=t.bcy,r=t.barHeight,o=t.textRects,s=t.dataLabelsX,c=t.strokeWidth,u=t.barDataLabelsConfig,d=t.offX,h=t.offY,f=a-e.globals.gridHeight/e.globals.dataPoints+r/2+o.height/2+h-3,p=this.series[n][i]/this.invertedYRatio,g=this.series[n][i]<=0,m=0!==Math.abs(e.globals.minY);switch(u.position){case\"center\":s=l-p/2+d,m&&(s=g?l-p/2-d:l-p/2+d);break;case\"bottom\":s=m&&g?l-p-c-Math.round(o.width/2)-d:l-p+c+Math.round(o.width/2)+d;break;case\"top\":s=m?g?l-c+Math.round(o.width/2)-d:l-c-Math.round(o.width/2)+d:l+c-Math.round(o.width/2)+d}return s<0?s=o.width+c:s+o.width/2>e.globals.gridWidth&&(s=s-o.width-c),{bcx:l,bcy:a,dataLabelsX:s,dataLabelsY:f}}},{key:\"drawCalculatedDataLabels\",value:function(t){var e=t.x,l=t.y,n=t.val,i=t.i,a=t.j,r=t.dataLabelsConfig,c=this.w,u=new s.default(this.ctx),d=new o.default(this.ctx),h=r.formatter,f=null,p=-1<c.globals.collapsedSeriesIndices.indexOf(i);if(r.enabled&&!p){f=d.group({class:\"apexcharts-data-labels\"});var g=\"\";null!=n&&(g=h(n,{seriesIndex:i,dataPointIndex:a,w:c})),u.plotDataLabelsText(e,l,g,i,a,f,r,!0)}return f}},{key:\"barEndingShape\",value:function(t,e,l,n,i){var a=new o.default(this.ctx);if(this.isHorizontal){var r=null,s=\"\",c=e.x;if(void 0!==l[n][i]||null!==l[n][i]){var u=l[n][i]<0,d=e.barHeight/2-e.strokeWidth;switch(u&&(d=-e.barHeight/2-e.strokeWidth),t.config.chart.stacked||(\"arrow\"===this.barOptions.endingShape?c=e.x-d:\"rounded\"===this.barOptions.endingShape&&(c=e.x-d/2)),this.barOptions.endingShape){case\"flat\":r=a.line(c,e.barYPosition+e.barHeight-e.strokeWidth);break;case\"arrow\":r=a.line(c+d,e.barYPosition+(e.barHeight-e.strokeWidth)/2)+a.line(c,e.barYPosition+e.barHeight-e.strokeWidth),s=a.line(e.zeroW,e.barYPosition+e.barHeight-e.strokeWidth);break;case\"rounded\":r=a.quadraticCurve(c+d,e.barYPosition+(e.barHeight-e.strokeWidth)/2,c,e.barYPosition+e.barHeight-e.strokeWidth)}}return{path:r,ending_p_from:s,newX:c}}var h=null,f=\"\",p=e.y;if(void 0!==l[n][i]||null!==l[n][i]){var g=l[n][i]<0,m=e.barWidth/2-e.strokeWidth;switch(g&&(m=-e.barWidth/2-e.strokeWidth),t.config.chart.stacked||(\"arrow\"===this.barOptions.endingShape?p+=m:\"rounded\"===this.barOptions.endingShape&&(p+=m/2)),this.barOptions.endingShape){case\"flat\":h=a.line(e.barXPosition+e.barWidth-e.strokeWidth,p);break;case\"arrow\":h=a.line(e.barXPosition+(e.barWidth-e.strokeWidth)/2,p-m)+a.line(e.barXPosition+e.barWidth-e.strokeWidth,p),f=a.line(e.barXPosition+e.barWidth-e.strokeWidth,e.zeroH);break;case\"rounded\":h=a.quadraticCurve(e.barXPosition+(e.barWidth-e.strokeWidth)/2,p-m,e.barXPosition+e.barWidth-e.strokeWidth,p)}}return{path:h,ending_p_from:f,newY:p}}},{key:\"setSelectedBarFilter\",value:function(t,e,l){var n=this.w;if(void 0!==n.globals.selectedDataPoints[e]&&-1<n.globals.selectedDataPoints[e].indexOf(l)){t.node.setAttribute(\"selected\",!0);var i=n.config.states.active.filter;\"none\"!==i&&new r.default(this.ctx).applyFilter(t,i.type,i.value)}}}]),t}();e.default=u},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=o(l(75)),a=o(l(0)),r=o(l(7));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return n(t,[{key:\"dataLabelsCorrection\",value:function(t,e,l,n,i,r,o){var s=this.w,c=!1,u=new a.default(this.ctx).getTextRects(l,o),d=u.width,h=u.height;void 0===s.globals.dataLabelsRects[n]&&(s.globals.dataLabelsRects[n]=[]),s.globals.dataLabelsRects[n].push({x:t,y:e,width:d,height:h});var f=s.globals.dataLabelsRects[n].length-2,p=void 0!==s.globals.lastDrawnDataLabelsIndexes[n]?s.globals.lastDrawnDataLabelsIndexes[n][s.globals.lastDrawnDataLabelsIndexes[n].length-1]:0;if(void 0!==s.globals.dataLabelsRects[n][f]){var g=s.globals.dataLabelsRects[n][p];(t>g.x+g.width+2||e>g.y+g.height+2||t+d<g.x)&&(c=!0)}return(0===i||r)&&(c=!0),{x:t,y:e,drawnextLabel:c}}},{key:\"drawDataLabel\",value:function(t,e,l){3<arguments.length&&void 0!==arguments[3]&&arguments[3];var n=this.w,r=new a.default(this.ctx),o=n.config.dataLabels,s=0,c=0,u=l,d=null;if(!o.enabled||t.x instanceof Array!=1)return d;d=r.group({class:\"apexcharts-data-labels\"});for(var h=0;h<t.x.length;h++)if(s=t.x[h]+o.offsetX,c=t.y[h]+o.offsetY-n.globals.markers.size[e]-5,!isNaN(s)){1===l&&0===h&&(u=0),1===l&&1===h&&(u=1);var f=n.globals.series[e][u],p=\"\";\"bubble\"===n.config.chart.type?(p=n.globals.seriesZ[e][u],c=t.y[h]+n.config.dataLabels.offsetY,c=new i.default(this.ctx).centerTextInBubble(c,e,u).y):void 0!==f&&(p=n.config.dataLabels.formatter(f,{seriesIndex:e,dataPointIndex:u,w:n})),this.plotDataLabelsText(s,c,p,e,u,d,n.config.dataLabels)}return d}},{key:\"plotDataLabelsText\",value:function(t,e,l,n,i,o,s){var c=7<arguments.length&&void 0!==arguments[7]&&arguments[7],u=this.w,d=new a.default(this.ctx),h=this.dataLabelsCorrection(t,e,l,n,i,c,parseInt(s.style.fontSize));if(u.globals.zoomed||(t=h.x,e=h.y),h.drawnextLabel){var f=d.drawText({width:100,height:parseInt(s.style.fontSize),x:t,y:e,foreColor:u.globals.dataLabels.style.colors[n],textAnchor:s.textAnchor,text:l,fontSize:s.style.fontSize,fontFamily:s.style.fontFamily});if(f.attr({class:\"apexcharts-datalabel\",cx:t,cy:e,\"clip-path\":\"url(#gridRectMask\"+u.globals.cuid+\")\"}),s.dropShadow.enabled){var p=s.dropShadow;new r.default(this.ctx).dropShadow(f,p)}o.add(f),void 0===u.globals.lastDrawnDataLabelsIndexes[n]&&(u.globals.lastDrawnDataLabelsIndexes[n]=[]),u.globals.lastDrawnDataLabelsIndexes[n].push(i)}}}]),t}();e.default=s},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=s(l(0)),a=s(l(31)),r=s(l(1)),o=s(l(50));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.isBarHorizontal=!(\"bar\"!==this.w.config.chart.type||!this.w.config.plotOptions.bar.horizontal)}return n(t,[{key:\"plotCoords\",value:function(){var t=this.w,e=t.globals,l=this.getLegendsRect();e.axisCharts?this.setGridCoordsForAxisCharts(l):this.setGridCoordsForNonAxisCharts(l),this.titleSubtitleOffset(),e.gridHeight=e.gridHeight-t.config.grid.padding.top-t.config.grid.padding.bottom,e.gridWidth=e.gridWidth-t.config.grid.padding.left-t.config.grid.padding.right,e.translateX=e.translateX+t.config.grid.padding.left,e.translateY=e.translateY+t.config.grid.padding.top}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e){var l=this.w;this.xAxisHeight=(t.height+e.height)*l.globals.lineHeightRatio+15,this.xAxisWidth=t.width,this.xAxisHeight-e.height>l.config.xaxis.labels.maxHeight&&(this.xAxisHeight=l.config.xaxis.labels.maxHeight),l.config.xaxis.labels.minHeight&&this.xAxisHeight<l.config.xaxis.labels.minHeight&&(this.xAxisHeight=l.config.xaxis.labels.minHeight),l.config.xaxis.floating&&(this.xAxisHeight=0),this.isBarHorizontal?this.yAxisWidth=l.globals.yLabelsCoords[0].width+l.globals.yTitleCoords[0].width+15:this.yAxisWidth=this.getTotalYAxisWidth(),l.globals.isMultipleYAxis||(this.yAxisWidth<l.config.yaxis[0].labels.minWidth&&(this.yAxisWidth=l.config.yaxis[0].labels.minWidth),this.yAxisWidth>l.config.yaxis[0].labels.maxWidth&&(this.yAxisWidth=l.config.yaxis[0].labels.maxWidth))}},{key:\"setGridCoordsForAxisCharts\",value:function(t){var e=this.w,l=e.globals,n=this.getyAxisLabelsCoords(),i=this.getxAxisLabelsCoords(),a=this.getyAxisTitleCoords(),r=this.getxAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map(function(t,l){e.globals.yLabelsCoords.push({width:n[l].width,index:l}),e.globals.yTitleCoords.push({width:a[l].width,index:l})}),this.conditionalChecksForAxisCoords(i,r),l.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,l.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,this.isBarHorizontal&&(l.rotateXLabels=!1,l.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize)/1.5*-1),l.translateXAxisY=l.translateXAxisY+e.config.xaxis.labels.offsetY,l.translateXAxisX=l.translateXAxisX+e.config.xaxis.labels.offsetX;var s=this.yAxisWidth,c=this.xAxisHeight;l.xAxisLabelsHeight=this.xAxisHeight,l.xAxisHeight=this.xAxisHeight;var u=10;switch(e.config.grid.show||(s=0,c=35),this.isSparkline&&(t={height:0,width:0},u=s=c=0),e.config.legend.position){case\"bottom\":l.translateY=u,l.translateX=s,l.gridHeight=l.svgHeight-t.height-c-(this.isSparkline?0:e.globals.rotateXLabels?10:15),l.gridWidth=l.svgWidth-s;break;case\"top\":l.translateY=t.height+u,l.translateX=s,l.gridHeight=l.svgHeight-t.height-c-(this.isSparkline?0:e.globals.rotateXLabels?10:15),l.gridWidth=l.svgWidth-s;break;case\"left\":l.translateY=u,l.translateX=t.width+s,l.gridHeight=l.svgHeight-c-12,l.gridWidth=l.svgWidth-t.width-s;break;case\"right\":l.translateY=u,l.translateX=s,l.gridHeight=l.svgHeight-c-12,l.gridWidth=l.svgWidth-t.width-s-5;break;default:throw new Error(\"Legend position not supported\")}this.isBarHorizontal||this.setGridXPosForDualYAxis(a,n),new o.default(this.ctx).setYAxisXPosition(n,a)}},{key:\"setGridCoordsForNonAxisCharts\",value:function(t){var e=this.w,l=e.globals,n=0;e.config.legend.show&&!e.config.legend.floating&&(n=20);var i=10,a=0;if(\"pie\"===e.config.chart.type||\"donut\"===e.config.chart.type?(i+=e.config.plotOptions.pie.offsetY,a+=e.config.plotOptions.pie.offsetX):\"radialBar\"===e.config.chart.type&&(i+=e.config.plotOptions.radialBar.offsetY,a+=e.config.plotOptions.radialBar.offsetX),!e.config.legend.show)return l.gridHeight=l.svgHeight-35,l.gridWidth=l.gridHeight,l.translateY=i-10,void(l.translateX=a+(l.svgWidth-l.gridWidth)/2);switch(e.config.legend.position){case\"bottom\":l.gridHeight=l.svgHeight-t.height-35,l.gridWidth=l.gridHeight,l.translateY=i-20,l.translateX=a+(l.svgWidth-l.gridWidth)/2;break;case\"top\":l.gridHeight=l.svgHeight-t.height-35,l.gridWidth=l.gridHeight,l.translateY=t.height+i,l.translateX=a+(l.svgWidth-l.gridWidth)/2;break;case\"left\":l.gridWidth=l.svgWidth-t.width-n,l.gridHeight=l.gridWidth,l.translateY=i,l.translateX=a+t.width+n;break;case\"right\":l.gridWidth=l.svgWidth-t.width-n-5,l.gridHeight=l.gridWidth,l.translateY=i,l.translateX=a+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var l=this.w;l.config.yaxis.map(function(n,i){-1===l.globals.ignoreYAxisIndexes.indexOf(i)&&!l.config.yaxis[i].floating&&l.config.yaxis[i].show&&n.opposite&&(l.globals.translateX=l.globals.translateX-(e[i].width+t[i].width)-parseInt(l.config.yaxis[i].labels.style.fontSize)/1.2-12)})}},{key:\"titleSubtitleOffset\",value:function(){var t=this.w,e=t.globals,l=this.isSparkline?0:10;void 0!==t.config.title.text?l+=t.config.title.margin:l+=this.isSparkline?0:5,void 0!==t.config.subtitle.text?l+=t.config.subtitle.margin:l+=this.isSparkline?0:5,t.config.legend.show&&\"bottom\"===t.config.legend.position&&!t.config.legend.floating&&1<t.config.series.length&&(l+=10);var n=this.getTitleSubtitleCoords(\"title\"),i=this.getTitleSubtitleCoords(\"subtitle\");e.gridHeight=e.gridHeight-n.height-i.height-l,e.translateY=e.translateY+n.height+i.height+l}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,l=10,n=function(e){return-1<t.globals.ignoreYAxisIndexes.indexOf(e)};return t.globals.yLabelsCoords.map(function(i,a){var r=t.config.yaxis[a].floating;0<i.width&&!r?(e=e+i.width+l,n(a)&&(e=e-i.width-l)):e+=r||!t.config.yaxis[a].show?0:5}),t.globals.yTitleCoords.map(function(i,a){var r=t.config.yaxis[a].floating;l=parseInt(t.config.yaxis[a].title.style.fontSize),0<i.width&&!r?(e=e+i.width+l,n(a)&&(e=e-i.width-l)):e+=r||!t.config.yaxis[a].show?0:5}),e}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w,l=e.globals.timelineLabels.slice().map(function(t){return t.value}),n=l.reduce(function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e},0);return 1.05*(t=new i.default(this.ctx).getTextRects(n,e.config.xaxis.labels.style.fontSize)).width*l.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"getxAxisLabelsCoords\",value:function(){var t=this.w,e=t.globals.labels.slice(),l={width:0,height:0};if(0<t.globals.timelineLabels.length){var n=this.getxAxisTimeScaleLabelsCoords();l={width:n.width,height:n.height}}else{var r=\"left\"!==t.config.legend.position||\"right\"!==t.config.legend.position||t.config.legend.floating?0:this.lgRect.width,o=e.reduce(function(t,e){return t.length>e.length?t:e},0),s=t.globals.xLabelFormatter;o=new a.default(this.ctx).xLabelFormat(s,o);var c=new i.default(this.ctx),u=c.getTextRects(o,t.config.xaxis.labels.style.fontSize);(l={width:u.width,height:u.height}).width*e.length>t.globals.svgWidth-r-this.yAxisWidth&&0!==t.config.xaxis.labels.rotate?this.isBarHorizontal||(t.globals.rotateXLabels=!0,u=c.getTextRects(o,t.config.xaxis.labels.style.fontSize,t.config.xaxis.labels.style.fontFamily,\"rotate(\"+t.config.xaxis.labels.rotate+\" 0 0)\",!1),l.height=u.height/1.66):t.globals.rotateXLabels=!1}return t.config.xaxis.labels.show||(l={width:0,height:0}),{width:l.width,height:l.height}}},{key:\"getyAxisLabelsCoords\",value:function(){var t=this,e=this.w,l=[],n=10;return e.config.yaxis.map(function(a,r){if(a.show&&a.labels.show&&e.globals.yAxisScale[r].result.length){var o=e.globals.yLabelFormatters[r],s=o(e.globals.yAxisScale[r].niceMax,-1);void 0!==s&&0!==s.length||(s=e.globals.yAxisScale[r].niceMax),t.isBarHorizontal&&(n=0,s=o(s=e.globals.labels.slice().reduce(function(t,e){return t.length>e.length?t:e},0),-1));var c=new i.default(t.ctx).getTextRects(s,a.labels.style.fontSize);l.push({width:c.width+n,height:c.height})}else l.push({width:0,height:0})}),l}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,l=0;if(void 0!==t.config.xaxis.title.text){var n=new i.default(this.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=n.width,l=n.height}return{width:e,height:l}}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,l=[];return e.config.yaxis.map(function(e,n){if(e.show&&void 0!==e.title.text){var a=new i.default(t.ctx).getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,\"rotate(-90 0 0)\",!1);l.push({width:a.width,height:a.height})}else l.push({width:0,height:0})}),l}},{key:\"getTitleSubtitleCoords\",value:function(t){var e=this.w,l=0,n=0,i=\"title\"===t?e.config.title.floating:e.config.subtitle.floating,a=e.globals.dom.baseEl.querySelector(\".apexcharts-\"+t+\"-text\");if(null!==a&&!i){var r=a.getBoundingClientRect();l=r.width,n=e.globals.axisCharts?r.height+5:r.height}return{width:l,height:n}}},{key:\"getLegendsRect\",value:function(){var t=this.w,e=t.globals.dom.baseEl.querySelector(\".apexcharts-legend\"),l=Object.assign({},r.default.getBoundingClientRect(e));return null!==e&&!t.config.legend.floating&&t.config.legend.show?this.lgRect={x:l.x,y:l.y,height:l.height,width:0===l.height?0:l.width}:this.lgRect={x:0,y:0,height:0,width:0},this.lgRect}}]),t}();t.exports=c},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=o(l(0)),a=o(l(50)),r=o(l(31));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w;var l=this.w;this.xaxisLabels=l.globals.labels.slice(),0<l.globals.timelineLabels.length&&(this.xaxisLabels=l.globals.timelineLabels.slice()),this.drawnLabels=[],\"top\"===l.config.xaxis.position?this.offY=0:this.offY=l.globals.gridHeight+1,this.offY=this.offY+l.config.xaxis.axisBorder.offsetY,this.xaxisFontSize=l.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=l.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=l.config.xaxis.labels.style.colors,this.xaxisBorderWidth=l.config.xaxis.axisBorder.width,-1<this.xaxisBorderWidth.indexOf(\"%\")?this.xaxisBorderWidth=l.globals.gridWidth*parseInt(this.xaxisBorderWidth)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth),this.xaxisBorderHeight=l.config.xaxis.axisBorder.height,this.yaxis=l.config.yaxis[0]}return n(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new i.default(this.ctx),l=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\"+t.config.xaxis.offsetX+\", \"+t.config.xaxis.offsetY+\")\"}),n=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\"+t.globals.translateXAxisX+\", \"+t.globals.translateXAxisY+\")\"});l.add(n);for(var a=void 0,o=t.globals.padHorizontal,s=[],c=0;c<this.xaxisLabels.length;c++)s.push(this.xaxisLabels[c]);o=\"line\"===t.config.chart.type||\"area\"===t.config.chart.type?t.globals.isXNumeric?o+(a=t.globals.gridWidth/(s.length-1))/2+t.config.xaxis.labels.offsetX:o+(a=t.globals.noLabelsProvided?t.globals.gridWidth/this.xaxisLabels.length:t.globals.gridWidth/s.length)+t.config.xaxis.labels.offsetX:t.globals.isXNumeric?\"bar\"!==t.config.chart.type?o+(a=t.globals.gridWidth/(this.xaxisLabels.length-1))/2+t.config.xaxis.labels.offsetX:o+(a=t.globals.gridWidth/t.globals.labels.length)/2+t.config.xaxis.labels.offsetX:t.globals.noLabelsProvided&&\"bar\"!==t.config.chart.type?o+(a=t.globals.gridWidth/this.xaxisLabels.length)/2+t.config.xaxis.labels.offsetX:o+(a=t.globals.gridWidth/s.length)+t.config.xaxis.labels.offsetX;var u=t.globals.xLabelFormatter,d=t.config.xaxis.labels.formatter,h=s.length;if(t.config.xaxis.labels.show)for(var f=0;f<=h-1;f++){var p=void 0===s[f]?\"\":s[f],g=void 0;g=new r.default(this.ctx).xLabelFormat(u,p),void 0!==d&&(g=d(p,this.xaxisLabels[f],f));var m=o-a/2+t.config.xaxis.labels.offsetX;0<t.globals.timelineLabels.length&&(m=t.globals.timelineLabels[f].position,g=t.globals.timelineLabels[f].value),(0===(g=g.toString()).indexOf(\"NaN\")||\"undefined\"===g||0===g.toLowerCase().indexOf(\"invalid\")||0<=g.toLowerCase().indexOf(\"infinity\")||0<=this.drawnLabels.indexOf(g)&&!t.config.xaxis.labels.showDuplicates)&&(g=\"\"),this.drawnLabels.push(g);var b=28;t.globals.rotateXLabels&&(b=22);var v=e.drawText({x:m,y:this.offY+t.config.xaxis.labels.offsetY+b,text:\"\",textAnchor:\"middle\",fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[f]:this.xaxisForeColors,cssClass:\"apexcharts-xaxis-label \"+t.config.xaxis.labels.style.cssClass});n.add(v),e.addTspan(v,g,this.xaxisFontFamily);var y=document.createElementNS(t.globals.svgNS,\"title\");y.textContent=g,v.node.appendChild(y),o+=a}if(void 0!==t.config.xaxis.title.text){var x=e.group({class:\"apexcharts-xaxis-title\"}),_=e.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.offY-parseInt(this.xaxisFontSize)+t.globals.xAxisLabelsHeight+t.config.xaxis.title.offsetY,text:t.config.xaxis.title.text,textAnchor:\"middle\",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,foreColor:t.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+t.config.xaxis.title.style.cssClass});x.add(_),l.add(x)}if(t.config.xaxis.axisBorder.show){var w=0;\"bar\"===t.config.chart.type&&t.globals.isXNumeric&&(w-=15);var S=e.drawLine(t.globals.padHorizontal+w+t.config.xaxis.axisBorder.offsetX,this.offY,this.xaxisBorderWidth,this.offY,t.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);l.add(S)}return l}},{key:\"drawXaxisInversed\",value:function(t){var e=this.w,l=new i.default(this.ctx),n=l.group({class:\"apexcharts-yaxis apexcharts-xaxis-inversed\",rel:t}),r=l.group({class:\"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g\"});n.add(r);for(var o,s=void 0,c=[],u=0;u<this.xaxisLabels.length;u++)c.push(this.xaxisLabels[u]);s=-(o=e.globals.gridHeight/c.length)/2.2;var d=e.globals.yLabelFormatters[0],h=e.config.yaxis[0].labels;if(h.show)for(var f=0;f<=c.length-1;f++){var p=void 0===c[f]?\"\":c[f];p=d(p);var g=l.drawText({x:h.offsetX-15,y:s+o+h.offsetY,text:p,textAnchor:\"end\",foreColor:h.style.color?h.style.color:h.style.colors[f],fontSize:h.style.fontSize,fontFamily:h.style.fontFamily,cssClass:\"apexcharts-yaxis-label \"+h.style.cssClass});r.add(g),s+=o}if(void 0!==e.config.yaxis[0].title.text){var m=l.group({class:\"apexcharts-yaxis-title apexcharts-xaxis-title-inversed\"}),b=l.drawText({x:0,y:e.globals.gridHeight/2,text:e.config.yaxis[0].title.text,textAnchor:\"middle\",foreColor:e.config.yaxis[0].title.style.color,fontSize:e.config.yaxis[0].title.style.fontSize,fontFamily:e.config.yaxis[0].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+e.config.yaxis[0].title.style.cssClass});m.add(b),n.add(m)}if(e.config.xaxis.axisBorder.show){var v=l.drawLine(e.globals.padHorizontal+e.config.xaxis.axisBorder.offsetX,this.offY,this.xaxisBorderWidth,this.offY,this.yaxis.axisBorder.color,0,this.xaxisBorderHeight);n.add(v),new a.default(this.ctx).drawAxisTicks(0,c.length,e.config.yaxis[0].axisBorder,e.config.yaxis[0].axisTicks,0,o,n)}return n}},{key:\"drawXaxisTicks\",value:function(t,e){var l=this.w,n=t;if(!(t<0||t>l.globals.gridWidth)){var a=this.offY+l.config.xaxis.axisTicks.offsetY,r=a+l.config.xaxis.axisTicks.height;if(l.config.xaxis.axisTicks.show){var o=new i.default(this.ctx).drawLine(t+l.config.xaxis.axisTicks.offsetX,a+l.config.xaxis.offsetY,n+l.config.xaxis.axisTicks.offsetX,r+l.config.xaxis.offsetY,l.config.xaxis.axisTicks.color);e.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],l=this.xaxisLabels.length,n=t.globals.padHorizontal;if(0<t.globals.timelineLabels.length)for(var i=0;i<l;i++)n=this.xaxisLabels[i].position,e.push(n);else for(var a=l,r=0;r<a;r++){var o=a;t.globals.isXNumeric&&\"bar\"!==t.config.chart.type&&(o-=1),n+=t.globals.gridWidth/o,e.push(n)}return e}},{key:\"xAxisLabelCorrections\",value:function(){var t=this.w,e=new i.default(this.ctx),l=t.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g\"),n=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-xaxis-texts-g text\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-inversed text\"),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-xaxis-inversed-texts-g text\");if(t.globals.rotateXLabels||t.config.xaxis.labels.rotateAlways)for(var o=0;o<n.length;o++){var s=e.rotateAroundCenter(n[o]);s.y=s.y-1,s.x=s.x+1,n[o].setAttribute(\"transform\",\"rotate(\"+t.config.xaxis.labels.rotate+\" \"+s.x+\" \"+s.y+\")\"),n[o].setAttribute(\"text-anchor\",\"end\"),l.setAttribute(\"transform\",\"translate(0, -10)\");var c=n[o].childNodes;t.config.xaxis.labels.trim&&e.placeTextWithEllipsis(c[0],c[0].textContent,t.config.xaxis.labels.maxHeight-40)}else for(var u=t.globals.gridWidth/t.globals.labels.length,d=0;d<n.length;d++){var h=n[d].childNodes;t.config.xaxis.labels.trim&&\"bar\"!==t.config.chart.type&&t.config.plotOptions.bar.horizontal&&e.placeTextWithEllipsis(h[0],h[0].textContent,u)}if(0<a.length){var f=a[a.length-1].getBBox(),p=a[0].getBBox();f.x<-20&&a[a.length-1].parentNode.removeChild(a[a.length-1]),p.x+p.width>t.globals.gridWidth&&a[0].parentNode.removeChild(a[0]);for(var g=0;g<r.length;g++)e.placeTextWithEllipsis(r[g],r[g].textContent,t.config.yaxis[0].labels.maxWidth-2*parseInt(t.config.yaxis[0].title.style.fontSize)-20)}}}]),t}();t.exports=s},function(t,e,l){\"use strict\";var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(0),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.xaxisFontSize=this.w.config.xaxis.labels.style.fontSize,this.axisFontFamily=this.w.config.xaxis.labels.style.fontFamily,this.isBarHorizontal=!(\"bar\"!==this.w.config.chart.type||!this.w.config.plotOptions.bar.horizontal),this.xaxisForeColors=this.w.config.xaxis.labels.style.colors,this.xAxisoffX=0,\"bottom\"===this.w.config.xaxis.position&&(this.xAxisoffX=this.w.globals.gridHeight)}return i(t,[{key:\"drawYaxis\",value:function(t,e){var l=this.w,n=new r.default(this.ctx),i=l.config.yaxis[e].labels.style.fontSize,a=l.config.yaxis[e].labels.style.fontFamily,o=n.group({class:\"apexcharts-yaxis\",rel:e,transform:\"translate(\"+l.globals.translateYAxisX[e]+\", 0)\"});if(!l.config.yaxis[e].show)return o;var s=n.group({class:\"apexcharts-yaxis-texts-g\"});o.add(s);var c=l.globals.yAxisScale[e].result.length-1,u=l.globals.gridHeight/c+.1,d=l.globals.translateY,h=l.globals.yLabelFormatters[e];if(l.config.yaxis[e].labels.show)for(var f=c;0<=f;f--){var p=l.globals.yAxisScale[e].result[f];p=h(p,f);var g=20;l.config.yaxis[e].opposite&&(g*=-1),0===l.config.yaxis.length&&(g=20);var m=n.drawText({x:g,y:d+c/10+l.config.yaxis[e].labels.offsetY+1,text:p,textAnchor:l.config.yaxis[e].opposite?\"start\":\"end\",fontSize:i,fontFamily:a,foreColor:l.config.yaxis[e].labels.style.color,cssClass:\"apexcharts-yaxis-label \"+l.config.yaxis[e].labels.style.cssClass});s.add(m),d+=u}if(void 0!==l.config.yaxis[e].title.text){var b=n.group({class:\"apexcharts-yaxis-title\"}),v=0;l.config.yaxis[e].opposite&&(v=l.globals.translateYAxisX[e]);var y=n.drawText({x:v,y:l.globals.gridHeight/2+l.globals.translateY,text:l.config.yaxis[e].title.text,textAnchor:\"end\",foreColor:l.config.yaxis[e].title.style.color,fontSize:l.config.yaxis[e].title.style.fontSize,fontFamily:l.config.yaxis[e].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+l.config.yaxis[e].title.style.cssClass});b.add(y),o.add(b)}var x=l.config.yaxis[e].axisBorder;if(x.show){var _=31+x.offsetX;l.config.yaxis[e].opposite&&(_=-31-x.offsetX);var w=n.drawLine(_,l.globals.translateY+x.offsetY-2,_,l.globals.gridHeight+l.globals.translateY+x.offsetY+2,x.color);o.add(w),this.drawAxisTicks(_,c,x,l.config.yaxis[e].axisTicks,e,u,o)}return o}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,l=new r.default(this.ctx),n=l.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),i=l.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\"+e.globals.translateXAxisX+\", \"+e.globals.translateXAxisY+\")\"});n.add(i);var a=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/a+.1,s=o+e.config.xaxis.labels.offsetX,c=e.globals.xLabelFormatter;if(e.config.xaxis.labels.show)for(var u=a;0<=u;u--){var d=e.globals.yAxisScale[t].result[u];d=c(d,u);var h=l.drawText({x:e.globals.gridWidth+e.globals.padHorizontal-(s-o+e.config.xaxis.labels.offsetX),y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30,text:\"\",textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});i.add(h),h.tspan(d);var f=document.createElementNS(e.globals.svgNS,\"title\");f.textContent=d,h.node.appendChild(f),s+=o}if(void 0!==e.config.xaxis.title.text){var p=l.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),g=l.drawText({x:e.globals.gridWidth/2,y:this.xAxisoffX+parseInt(this.xaxisFontSize)+parseInt(e.config.xaxis.title.style.fontSize)+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});p.add(g),n.add(p)}var m=e.config.yaxis[t].axisBorder;if(m.show){var b=l.drawLine(e.globals.padHorizontal+m.offsetX,1+m.offsetY,e.globals.padHorizontal+m.offsetX,e.globals.gridHeight+m.offsetY,m.color);n.add(b)}return n}},{key:\"drawAxisTicks\",value:function(t,e,l,n,i,a,o){var s=this.w,c=new r.default(this.ctx),u=s.globals.translateY;if(n.show){!0===s.config.yaxis[i].opposite&&(t+=n.width);for(var d=e;0<=d;d--){var h=u+e/10+s.config.yaxis[i].labels.offsetY-1;this.isBarHorizontal&&(h=a*d);var f=c.drawLine(t+l.offsetX-n.width+n.offsetX,h+n.offsetY,t+l.offsetX+n.offsetX,h+n.offsetY,l.color);o.add(f),u+=a}}}},{key:\"yAxisTitleRotate\",value:function(t,e){var l=this.w,n=new r.default(this.ctx),i={width:0,height:0},a={width:0,height:0},o=l.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\"+t+\"'] .apexcharts-yaxis-texts-g\");null!==o&&(i=o.getBoundingClientRect());var s=l.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\"+t+\"'] .apexcharts-yaxis-title text\");if(null!==s&&(a=s.getBoundingClientRect()),null!==s){var c=this.xPaddingForYAxisTitle(t,i,a,e);s.setAttribute(\"x\",c.xPos-(e?10:0))}if(null!==s){var u=n.rotateAroundCenter(s);e?s.setAttribute(\"transform\",\"rotate(90 \"+u.x+\" \"+u.y+\")\"):s.setAttribute(\"transform\",\"rotate(-90 \"+u.x+\" \"+u.y+\")\")}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,l,n){var i=this.w,a=0,r=0,o=20;return n?(r=e.width+i.config.yaxis[t].title.offsetX+o+l.width/2-15,0===(a+=1)&&(r-=15)):(r=-1*e.width+i.config.yaxis[t].title.offsetX+o+l.width/2-15,this.isBarHorizontal&&(o=25,r=-1*e.width-i.config.yaxis[t].title.offsetX-o)),{xPos:r,padd:o}}},{key:\"setYAxisXPosition\",value:function(t,e){var l=this,n=this.w,i=0,a=0,r=0,o=1;this.multipleYs=!1,1<n.config.yaxis.length&&(this.multipleYs=!0),n.config.yaxis.map(function(s,c){var u=t[c].width+e[c].width,d=l.multipleYs&&0<e[c].width?20:8,h=l.xPaddingForYAxisTitle(c,{width:t[c].width},{width:e[c].width},s.opposite);if(1<n.config.yaxis.length?u+=Math.abs(h.padd):void 0===s.title.text?u=u+Math.abs(h.padd)+15:u+=Math.abs(h.padd),s.opposite)a=n.globals.gridWidth+n.globals.translateX+o+30+(n.globals.series.length-n.globals.collapsedSeries.length),n.globals.collapsedSeries.forEach(function(t){t.index===c&&(o-=u)}),o+=u,n.globals.translateYAxisX[c]=a-s.labels.offsetX;else{var f=u+5;-1<n.globals.ignoreYAxisIndexes.indexOf(c)&&(f=0),i=l.multipleYs?n.globals.translateX-u-r+d+parseInt(n.config.yaxis[c].labels.style.fontSize)+s.labels.offsetX:n.globals.translateX-u+t[c].width+s.labels.offsetX,r+=f,n.globals.translateYAxisX[c]=i}})}}]),t}();t.exports=o},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=s(l(142)),r=s(l(1)),o=s(l(52));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.opts=e}return i(t,[{key:\"init\",value:function(){var t=this.opts,e=new o.default,l=new a.default(t);this.chartType=t.chart.type,\"histogram\"===this.chartType&&(t.chart.type=\"bar\",t=r.default.extend({plotOptions:{bar:{columnWidth:\"99.99%\"}}},t)),t.series=this.checkEmptySeries(t.series),t=this.extendYAxis(t),t=this.extendAnnotations(t);var i=e.init(),s={};if(t&&\"object\"===(void 0===t?\"undefined\":n(t))){var c={};switch(this.chartType){case\"line\":c=l.line();break;case\"area\":c=l.area();break;case\"bar\":c=l.bar();break;case\"candlestick\":c=l.candlestick();break;case\"histogram\":c=l.bar();break;case\"bubble\":c=l.bubble();break;case\"scatter\":c=l.scatter();break;case\"heatmap\":c=l.heatmap();break;case\"pie\":c=l.pie();break;case\"donut\":c=l.donut();break;case\"radialBar\":c=l.radialBar();break;default:c=l.line()}t.chart.brush&&t.chart.brush.enabled&&(c=l.brush(c)),t.chart.stacked&&\"100%\"===t.chart.stackType&&l.stacked100(),(t.chart.sparkline&&t.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(c=l.sparkline(c)),s=r.default.extend(i,c)}var u=r.default.extend(s,window.Apex);return i=r.default.extend(u,t),i=this.handleUserInputErrors(i)}},{key:\"extendYAxis\",value:function(t){var e=new o.default;return void 0===t.yaxis&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=r.default.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[r.default.extend(e.yAxis,t.yaxis)]:t.yaxis=r.default.extendArray(t.yaxis,e.yAxis),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new o.default;return t.annotations.yaxis=r.default.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new o.default;return t.annotations.xaxis=r.default.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new o.default;return t.annotations.points=r.default.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkEmptySeries\",value:function(t){return 0===t.length?[{data:[]}]:t}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false\");if(e.chart.scroller&&console.warn(\"Scroller has been deprecated since v2.0.0. Please remove the configuration for chart.scroller\"),\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(\"datetime\"===e.xaxis.type)throw new Error(\"Timelines on bars are not supported yet. Switch to column chart by setting plotOptions.bar.horizontal=false\");if(1<e.yaxis.length)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"===e.chart.type&&e.tooltip.shared&&(\"barWidth\"===e.xaxis.crosshairs.width&&1<e.series.length&&(console.warn('crosshairs.width = \"barWidth\" is only supported in single series, not in a multi-series barChart'),e.xaxis.crosshairs.width=\"tickWidth\"),e.plotOptions.bar.horizontal&&(e.states.hover.type=\"none\"),e.tooltip.followCursor||(console.warn(\"followCursor option in shared columns cannot be turned off\"),e.tooltip.followCursor=!0)),Array.isArray(e.stroke.width)&&\"line\"!==e.chart.type&&\"area\"!==e.chart.type&&(console.warn(\"stroke.width option accepts array only for line and area charts. Reverted back to Number\"),e.stroke.width=e.stroke.width[0]),e}}]),t}();t.exports=c},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=l(83),a=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.yAxis={show:!0,opposite:!1,logarithmic:!1,logBase:10,tickAmount:void 0,max:void 0,min:void 0,decimalsInFloat:2,floating:!1,seriesName:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,style:{colors:[],fontSize:\"11px\",fontFamily:void 0,cssClass:\"apexcharts-yaxis-label\"},formatter:void 0},axisBorder:{show:!1,color:\"#78909C\",offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#78909C\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontFamily:void 0,cssClass:\"apexcharts-yaxis-title\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.xAxisAnnotation={x:0,strokeDashArray:4,borderColor:\"#c2c2c2\",offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,cssClass:\"apexcharts-xaxis-annotation-label\",padding:{left:5,right:5,top:2,bottom:2}}}},this.yAxisAnnotation={y:0,strokeDashArray:4,borderColor:\"#c2c2c2\",offsetX:0,offsetY:0,yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,cssClass:\"apexcharts-yaxis-annotation-label\",padding:{left:5,right:5,top:0,bottom:2}}}},this.pointAnnotation={x:0,y:null,yAxisIndex:0,seriesIndex:0,marker:{size:0,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,radius:2},label:{borderColor:\"#c2c2c2\",borderWidth:1,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:-15,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,cssClass:\"apexcharts-point-annotation-label\",padding:{left:5,right:5,top:0,bottom:2}}}}}return n(t,[{key:\"init\",value:function(){return{annotations:{position:\"front\",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"transparent\",locales:[i],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledSeries:void 0,top:2,left:2,blur:4,opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,legendClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,zoomed:void 0,scrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",id:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,target:void 0},stacked:!1,stackType:\"normal\",toolbar:{show:!0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0},autoSelected:\"zoom\"},type:\"line\",updateOnElementResize:!1,width:\"100%\",zoom:{enabled:!0,type:\"x\",zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{bar:{horizontal:!1,endingShape:\"flat\",columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1},dataLabels:{position:\"top\"}},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,distributed:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{size:void 0,inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,color:void 0,offsetY:0},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",color:\"#373d3f\",formatter:function(t){return t.globals.seriesTotals.reduce(function(t,e){return t+e},0)/t.globals.series.length+\"%\"}}}},pie:{size:void 0,customScale:1,offsetX:0,offsetY:0,expandOnClick:!0,dataLabels:{offset:0},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,color:void 0,offsetY:-10},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,label:\"Total\",color:\"#373d3f\",formatter:function(t){return t.globals.seriesTotals.reduce(function(t,e){return t+e},0)}}}}}},colors:void 0,dataLabels:{enabled:!0,formatter:function(t){return t},textAnchor:\"middle\",offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,colors:void 0},dropShadow:{enabled:!1,top:1,left:1,blur:1,opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"sqaures\",width:6,height:6,strokeWidth:2}},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1,animate:!1}},yaxis:{lines:{show:!0,animate:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:10}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",fontSize:\"12px\",fontFamily:void 0,width:void 0,height:void 0,formatter:void 0,offsetX:-20,offsetY:0,labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,strokeColor:\"#fff\",radius:12,customHTML:void 0,offsetX:0,offsetY:0},itemMargin:{horizontal:0,vertical:5},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColor:\"#fff\",strokeWidth:2,strokeOpacity:.9,fillOpacity:1,shape:\"circle\",radius:2,offsetX:0,offsetY:0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.15}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.35}}},title:{text:void 0,align:\"left\",margin:10,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:10,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0},tooltip:{enabled:!0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],offsetX:0,offsetY:0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!0,minHeight:void 0,maxHeight:120,showDuplicates:!1,style:{colors:[],fontSize:\"12px\",fontFamily:void 0,cssClass:\"apexcharts-xaxis-label\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\"}},axisBorder:{show:!0,color:\"#78909C\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#78909C\",height:6,offsetX:0,offsetY:0},tickAmount:void 0,min:void 0,max:void 0,range:void 0,floating:!1,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontFamily:void 0,cssClass:\"apexcharts-xaxis-title\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:0,dashArray:0},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0}},yaxis:this.yAxis,theme:{palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}();e.default=a},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(79),r=(n=a)&&n.__esModule?n:{default:n};function o(t){if(Array.isArray(t)){for(var e=0,l=Array(t.length);e<t.length;e++)l[e]=t[e];return l}return Array.from(t)}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return i(t,[{key:\"isValidDate\",value:function(t){return!isNaN(this.parseDate(t))}},{key:\"getUTCTimeStamp\",value:function(t){return new Date(new Date(t).toUTCString().substr(0,25)).getTime()}},{key:\"parseDate\",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getUTCTimeStamp(t);var l=Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"));return l=this.getUTCTimeStamp(l)}},{key:\"treatAsUtc\",value:function(t){var e=new Date(t);return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e}},{key:\"formatDate\",value:function(t,e){var l=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],n=!(3<arguments.length&&void 0!==arguments[3])||arguments[3],i=this.w.globals.locale,a=[\"\\0\"].concat(o(i.months)),r=[\"\u0001\"].concat(o(i.shortMonths)),s=[\"\u0002\"].concat(o(i.days)),c=[\"\u0003\"].concat(o(i.shortDays));function u(t,e){var l=t+\"\";for(e=e||2;l.length<e;)l=\"0\"+l;return l}n&&(t=this.treatAsUtc(t));var d=l?t.getUTCFullYear():t.getFullYear();e=(e=(e=e.replace(/(^|[^\\\\])yyyy+/g,\"$1\"+d)).replace(/(^|[^\\\\])yy/g,\"$1\"+d.toString().substr(2,2))).replace(/(^|[^\\\\])y/g,\"$1\"+d);var h=(l?t.getUTCMonth():t.getMonth())+1;e=(e=(e=(e=e.replace(/(^|[^\\\\])MMMM+/g,\"$1\"+a[0])).replace(/(^|[^\\\\])MMM/g,\"$1\"+r[0])).replace(/(^|[^\\\\])MM/g,\"$1\"+u(h))).replace(/(^|[^\\\\])M/g,\"$1\"+h);var f=l?t.getUTCDate():t.getDate();e=(e=(e=(e=e.replace(/(^|[^\\\\])dddd+/g,\"$1\"+s[0])).replace(/(^|[^\\\\])ddd/g,\"$1\"+c[0])).replace(/(^|[^\\\\])dd/g,\"$1\"+u(f))).replace(/(^|[^\\\\])d/g,\"$1\"+f);var p=l?t.getUTCHours():t.getHours(),g=12<p?p-12:0===p?12:p;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+u(p))).replace(/(^|[^\\\\])H/g,\"$1\"+p)).replace(/(^|[^\\\\])hh+/g,\"$1\"+u(g))).replace(/(^|[^\\\\])h/g,\"$1\"+g);var m=l?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+u(m))).replace(/(^|[^\\\\])m/g,\"$1\"+m);var b=l?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+u(b))).replace(/(^|[^\\\\])s/g,\"$1\"+b);var v=l?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+u(v,3)),v=Math.round(v/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+u(v)),v=Math.round(v/10);var y=p<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+v)).replace(/(^|[^\\\\])TT+/g,\"$1\"+y)).replace(/(^|[^\\\\])T/g,\"$1\"+y.charAt(0));var x=y.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+x)).replace(/(^|[^\\\\])t/g,\"$1\"+x.charAt(0));var _=-t.getTimezoneOffset(),w=l||!_?\"Z\":0<_?\"+\":\"-\";if(!l){var S=(_=Math.abs(_))%60;w+=u(Math.floor(_/60))+\":\"+u(S)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var k=(l?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(s[0],\"g\"),s[k])).replace(new RegExp(c[0],\"g\"),c[k])).replace(new RegExp(a[0],\"g\"),a[h])).replace(new RegExp(r[0],\"g\"),r[h])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e){var l=this.w;void 0!==l.config.xaxis.min&&(t=l.config.xaxis.min),void 0!==l.config.xaxis.max&&(e=l.config.xaxis.max);var n=new Date(t).getFullYear(),i=new Date(e).getFullYear(),a=new Date(t).getMonth(),r=new Date(e).getMonth(),o=new Date(t).getDate(),s=new Date(e).getDate(),c=new Date(t).getHours(),u=new Date(e).getHours();return{minMinute:new Date(t).getMinutes(),maxMinute:new Date(e).getMinutes(),minHour:c,maxHour:u,minDate:o,maxDate:s,minMonth:a,maxMonth:r,minYear:n,maxYear:i}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,l){return this.determineDaysOfMonths(t,e)-l}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,l){var n=this.daysCntOfYear[e]+l;return 1<e&&this.isLeapYear()&&n++,n}},{key:\"determineDaysOfMonths\",value:function(t,e){var l=30;switch(t=new r.default(this.ctx).monthMod(t),!0){case this.months30.includes(t):2===t&&(l=this.isLeapYear(e)?29:28);break;case this.months31.includes(t):default:l=31}return l}}]),t}();e.default=s},function(t,e,l){\"use strict\";var n=l(17),i=l(24),a=l(112);t.exports=function(t){return function(e,l,r){var o,s=n(e),c=i(s.length),u=a(r,c);if(t&&l!=l){for(;u<c;)if((o=s[u++])!=o)return!0}else for(;u<c;u++)if((t||u in s)&&s[u]===l)return t||u||0;return!t&&-1}}},function(t,e,l){\"use strict\";var n=l(3).document;t.exports=n&&n.documentElement},function(t,e,l){\"use strict\";t.exports=!l(11)&&!l(20)(function(){return 7!=Object.defineProperty(l(36)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(t,e,l){\"use strict\";var n=l(21),i=l(2)(\"iterator\"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(n.Array===t||a[i]===t)}},function(t,e,l){\"use strict\";var n=l(19);t.exports=Array.isArray||function(t){return\"Array\"==n(t)}},function(t,e,l){\"use strict\";var n=l(8);t.exports=function(t,e,l,i){try{return i?e(n(l)[0],l[1]):e(l)}catch(e){var a=t.return;throw void 0!==a&&n(a.call(t)),e}}},function(t,e,l){\"use strict\";var n=l(22),i=l(5),a=l(16),r=l(13),o=l(21),s=l(100),c=l(29),u=l(107),d=l(2)(\"iterator\"),h=!([].keys&&\"next\"in[].keys()),f=\"values\",p=function(){return this};t.exports=function(t,e,l,g,m,b,v){s(l,e,g);var y,x,_,w=function(t){if(!h&&t in T)return T[t];switch(t){case\"keys\":case f:return function(){return new l(this,t)}}return function(){return new l(this,t)}},S=e+\" Iterator\",k=m==f,C=!1,T=t.prototype,D=T[d]||T[\"@@iterator\"]||m&&T[m],M=D||w(m),A=m?k?w(\"entries\"):M:void 0,E=\"Array\"==e&&T.entries||D;if(E&&(_=u(E.call(new t)))!==Object.prototype&&_.next&&(c(_,S,!0),n||\"function\"==typeof _[d]||r(_,d,p)),k&&D&&D.name!==f&&(C=!0,M=function(){return D.call(this)}),n&&!v||!h&&!C&&T[d]||r(T,d,M),o[e]=M,o[S]=p,m)if(y={values:k?M:w(f),keys:b?M:w(\"keys\"),entries:A},v)for(x in y)x in T||a(T,x,y[x]);else i(i.P+i.F*(h||C),e,y);return y}},function(t,e,l){\"use strict\";var n=l(2)(\"iterator\"),i=!1;try{var a=[7][n]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!i)return!1;var l=!1;try{var a=[7],r=a[n]();r.next=function(){return{done:l=!0}},a[n]=function(){return r},t(a)}catch(t){}return l}},function(t,e,l){\"use strict\";var n=l(8),i=l(104),a=l(37),r=l(41)(\"IE_PROTO\"),o=function(){},s=\"prototype\",c=function(){var t,e=l(36)(\"iframe\"),n=a.length;for(e.style.display=\"none\",l(55).appendChild(e),e.src=\"javascript:\",(t=e.contentWindow.document).open(),t.write(\"<script>document.F=Object<\\/script>\"),t.close(),c=t.F;n--;)delete c[s][a[n]];return c()};t.exports=Object.create||function(t,e){var l;return null!==t?(o[s]=n(t),l=new o,o[s]=null,l[r]=t):l=c(),void 0===e?l:i(l,e)}},function(t,e,l){\"use strict\";var n=l(65),i=l(37).concat(\"length\",\"prototype\");e.f=Object.getOwnPropertyNames||function(t){return n(t,i)}},function(t,e,l){\"use strict\";e.f=Object.getOwnPropertySymbols},function(t,e,l){\"use strict\";var n=l(12),i=l(17),a=l(54)(!1),r=l(41)(\"IE_PROTO\");t.exports=function(t,e){var l,o=i(t),s=0,c=[];for(l in o)l!=r&&n(o,l)&&c.push(l);for(;e.length>s;)n(o,l=e[s++])&&(~a(c,l)||c.push(l));return c}},function(t,e,l){\"use strict\";t.exports=function(t){try{return{e:!1,v:t()}}catch(t){return{e:!0,v:t}}}},function(t,e,l){\"use strict\";var n=l(8),i=l(9),a=l(39);t.exports=function(t,e){if(n(t),i(e)&&e.constructor===t)return e;var l=a.f(t);return(0,l.resolve)(e),l.promise}},function(t,e,l){\"use strict\";var n=l(8),i=l(18),a=l(2)(\"species\");t.exports=function(t,e){var l,r=n(t).constructor;return void 0===r||null==(l=n(r)[a])?e:i(l)}},function(t,e,l){\"use strict\";var n,i,a,r=l(15),o=l(99),s=l(55),c=l(36),u=l(3),d=u.process,h=u.setImmediate,f=u.clearImmediate,p=u.MessageChannel,g=u.Dispatch,m=0,b={},v=\"onreadystatechange\",y=function(){var t=+this;if(b.hasOwnProperty(t)){var e=b[t];delete b[t],e()}},x=function(t){y.call(t.data)};h&&f||(h=function(t){for(var e=[],l=1;arguments.length>l;)e.push(arguments[l++]);return b[++m]=function(){o(\"function\"==typeof t?t:Function(t),e)},n(m),m},f=function(t){delete b[t]},\"process\"==l(19)(d)?n=function(t){d.nextTick(r(y,t,1))}:g&&g.now?n=function(t){g.now(r(y,t,1))}:p?(a=(i=new p).port2,i.port1.onmessage=x,n=r(a.postMessage,a,1)):u.addEventListener&&\"function\"==typeof postMessage&&!u.importScripts?(n=function(t){u.postMessage(t+\"\",\"*\")},u.addEventListener(\"message\",x,!1)):n=v in c(\"script\")?function(t){s.appendChild(c(\"script\"))[v]=function(){s.removeChild(this),y.call(t)}}:function(t){setTimeout(r(y,t,1),0)}),t.exports={set:h,clear:f}},function(t,e,l){\"use strict\";e.f=l(2)},function(t,e,l){\"use strict\";var n=l(34),i=l(2)(\"iterator\"),a=l(21);t.exports=l(4).getIteratorMethod=function(t){if(null!=t)return t[i]||t[\"@@iterator\"]||a[n(t)]}},function(t,e,l){\"use strict\";var n=l(34),i={};i[l(2)(\"toStringTag\")]=\"z\",i+\"\"!=\"[object z]\"&&l(16)(Object.prototype,\"toString\",function(){return\"[object \"+n(this)+\"]\"},!0)},function(t,e,l){\"use strict\";var n=l(111)(!0);l(60)(String,\"String\",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,l=this._i;return l>=e.length?{value:void 0,done:!0}:(t=n(e,l),this._i+=t.length,{value:t,done:!1})})},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=s(l(14)),a=s(l(1)),r=s(l(0)),o=s(l(7));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels;var l=this.w;this.lineColorArr=void 0!==l.globals.stroke.colors?l.globals.stroke.colors:l.globals.colors,this.defaultSize=l.globals.svgHeight<l.globals.svgWidth?l.globals.svgHeight-35:l.globals.gridWidth,this.centerY=this.defaultSize/2,this.centerX=l.globals.gridWidth/2,this.fullAngle=360,this.size=0,this.donutSize=0,this.sliceLabels=[],this.prevSectorAngleArr=[]}return n(t,[{key:\"draw\",value:function(t){for(var e=this.w,l=new r.default(this.ctx),n=l.group({class:\"apexcharts-pie\"}),i=0,o=0;o<t.length;o++)i+=a.default.negToZero(t[o]);var s=[],c=l.group();0===i&&(i=1e-5);for(var u=0;u<t.length;u++){var d=this.fullAngle*a.default.negToZero(t[u])/i;s.push(d)}if(e.globals.dataChanged){for(var h=0,f=0;f<e.globals.previousPaths.length;f++)h+=a.default.negToZero(e.globals.previousPaths[f]);for(var p=void 0,g=0;g<e.globals.previousPaths.length;g++)p=this.fullAngle*a.default.negToZero(e.globals.previousPaths[g])/h,this.prevSectorAngleArr.push(p)}this.size=this.defaultSize/2.05-e.config.stroke.width-e.config.chart.dropShadow.blur,void 0!==e.config.plotOptions.pie.size&&(this.size=e.config.plotOptions.pie.size),this.donutSize=this.size*parseInt(e.config.plotOptions.pie.donut.size)/100;var m=e.config.plotOptions.pie.customScale,b=e.globals.gridWidth/2,v=e.globals.gridHeight/2,y=b-e.globals.gridWidth/2*m,x=v-e.globals.gridHeight/2*m;if(this.donutDataLabels.show){var _=this.renderInnerDataLabels(this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show,translateX:y,translateY:x-25});n.add(_)}if(\"donut\"===e.config.chart.type){var w=l.drawCircle(this.donutSize);w.attr({cx:this.centerX,cy:this.centerY,fill:e.config.plotOptions.pie.donut.background}),c.add(w)}var S=this.drawArcs(s,t);return this.sliceLabels.forEach(function(t){S.add(t)}),c.attr({transform:\"translate(\"+y+\", \"+(x-5)+\") scale(\"+m+\")\"}),n.attr({\"data:innerTranslateX\":y,\"data:innerTranslateY\":x-25}),c.add(S),n.add(c),n}},{key:\"drawArcs\",value:function(t,e){var l=this.w,n=new o.default(this.ctx),s=new r.default(this.ctx),c=new i.default(this.ctx),u=s.group(),d=0,h=0,f=0,p=0;this.strokeWidth=l.config.stroke.show?l.config.stroke.width:0;for(var g=0;g<t.length;g++){var m=s.group({class:\"apexcharts-series apexcharts-pie-series \"+l.globals.seriesNames[g].toString().replace(/ /g,\"-\"),id:\"apexcharts-series-\"+g,rel:g+1});u.add(m),h=p,f=(d=f)+t[g],p=h+this.prevSectorAngleArr[g];var b=f-d,v=c.fillPath(m,{seriesNumber:g,size:this.size}),y=this.getChangedPath(h,p),x=s.drawPath({d:y,stroke:this.lineColorArr instanceof Array?this.lineColorArr[g]:this.lineColorArr,strokeWidth:this.strokeWidth,fill:v,fillOpacity:l.config.fill.opacity,classes:\"apexcharts-pie-area\"});if(x.attr({id:\"apexcharts-pieSlice-\"+g,index:0,j:g}),l.config.chart.dropShadow.enabled){var _=l.config.chart.dropShadow;n.dropShadow(x,_)}this.addListeners(x,this.donutDataLabels),r.default.setAttrs(x.node,{\"data:angle\":b,\"data:startAngle\":d,\"data:strokeWidth\":this.strokeWidth,\"data:value\":e[g]});var w=void 0;\"pie\"===l.config.chart.type?w=a.default.polarToCartesian(this.centerX,this.centerY,this.size/1.25+l.config.plotOptions.pie.dataLabels.offset,d+(f-d)/2):\"donut\"===l.config.chart.type&&(w=a.default.polarToCartesian(this.centerX,this.centerY,(this.size+this.donutSize)/2+l.config.plotOptions.pie.dataLabels.offset,d+(f-d)/2)),m.add(x);var S=0;if(!this.initialAnim||l.globals.resized||l.globals.dataChanged?this.animBeginArr.push(0):(S=(f-d)/this.fullAngle*l.config.chart.animations.speed,this.animDur=S+this.animDur,this.animBeginArr.push(this.animDur)),this.dynamicAnim&&l.globals.dataChanged?this.animatePaths(x,{endAngle:f,startAngle:d,prevStartAngle:h,prevEndAngle:p,animateStartingPos:!0,i:g,animBeginArr:this.animBeginArr,dur:l.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(x,{endAngle:f,startAngle:d,i:g,totalItems:t.length-1,animBeginArr:this.animBeginArr,dur:S}),l.config.plotOptions.pie.expandOnClick&&x.click(this.pieClicked.bind(this,g)),l.config.dataLabels.enabled){var k=w.x,C=w.y,T=100*(f-d)/360+\"%\";if(0!==b){var D=l.config.dataLabels.formatter;void 0!==D&&(T=D(l.globals.seriesPercent[g][0],{seriesIndex:g,w:l}));var M=l.globals.dataLabels.style.colors[g],A=s.drawText({x:k,y:C,text:T,textAnchor:\"middle\",fontSize:l.config.dataLabels.style.fontSize,fontFamily:l.config.dataLabels.style.fontFamily,foreColor:M});if(l.config.dataLabels.dropShadow.enabled){var E=l.config.dataLabels.dropShadow;new o.default(this.ctx).dropShadow(A,E)}A.node.classList.add(\"apexcharts-pie-label\"),l.config.chart.animations.animate&&!1===l.globals.resized&&(A.node.classList.add(\"apexcharts-pie-label-delay\"),A.node.style.animationDelay=l.config.chart.animations.speed/940+\"s\"),this.sliceLabels.push(A)}}}return u}},{key:\"addListeners\",value:function(t,e){var l=new r.default(this.ctx);t.node.addEventListener(\"mouseenter\",l.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseenter\",this.dataLabelsMouseIn.bind(this,t.node,e)),t.node.addEventListener(\"mouseleave\",l.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mouseleave\",this.dataLabelsMouseout.bind(this,t.node,e)),t.node.addEventListener(\"mousedown\",l.pathMouseDown.bind(this,t))}},{key:\"animatePaths\",value:function(t,e){var l=this.w,n=e.endAngle-e.startAngle,i=n,a=e.startAngle,r=e.startAngle;void 0!==e.prevStartAngle&&void 0!==e.prevEndAngle&&(a=e.prevEndAngle,i=e.prevEndAngle-e.prevStartAngle),e.i===l.config.series.length-1&&(n+r>this.fullAngle?e.endAngle=e.endAngle-(n+r):n+r<this.fullAngle&&(e.endAngle=e.endAngle+(this.fullAngle-(n+r)))),n===this.fullAngle&&(n=this.fullAngle-.01),this.animateArc(t,a,r,n,i,e)}},{key:\"animateArc\",value:function(t,e,l,n,i,a){var r=this,o=this.w,s=r.size;s||(s=a.size);var c=void 0,u=a;(isNaN(e)||isNaN(i))&&(e=l,i=n,u.dur=0);var d=n,h=l,f=e-l;o.globals.dataChanged&&a.shouldSetPrevPaths&&(c=r.getPiePath({me:r,startAngle:h,angle:i,size:s}),t.attr({d:c})),0!==u.dur?t.animate(u.dur,o.globals.easing,u.animBeginArr[u.i]).afterAll(function(){\"pie\"!==o.config.chart.type&&\"donut\"!==o.config.chart.type||this.animate(300).attr({\"stroke-width\":o.config.stroke.width})}).during(function(o){d=f+(n-f)*o,a.animateStartingPos&&(d=i+(n-i)*o,h=e-i+(l-(e-i))*o),c=r.getPiePath({me:r,startAngle:h,angle:d,size:s}),t.node.setAttribute(\"data:pathOrig\",c),t.attr({d:c})}):(c=r.getPiePath({me:r,startAngle:h,angle:n,size:s}),t.node.setAttribute(\"data:pathOrig\",c),t.attr({d:c}))}},{key:\"pieClicked\",value:function(t){var e,l=this.w,n=this.size+5,i=l.globals.dom.Paper.select(\"#apexcharts-pieSlice-\"+t).members[0],a=i.attr(\"d\");if(\"true\"!==i.attr(\"data:pieClicked\")){var r=l.globals.dom.baseEl.querySelectorAll(\".apexcharts-pie-area\");Array.prototype.forEach.call(r,function(t){t.setAttribute(\"data:pieClicked\",\"false\");var e=t.getAttribute(\"data:pathOrig\");t.setAttribute(\"d\",e)}),i.attr(\"data:pieClicked\",\"true\");var o=parseInt(i.attr(\"data:startAngle\")),s=parseInt(i.attr(\"data:angle\"));e=this.getPiePath({me:this,startAngle:o,angle:s,size:n}),360!==s&&i.plot(e).animate(1).plot(a).animate(100).plot(e)}else{i.attr({\"data:pieClicked\":\"false\"});var c=i.attr(\"data:pathOrig\");i.attr({d:c})}}},{key:\"getChangedPath\",value:function(t,e){var l=\"\";return this.dynamicAnim&&this.w.globals.dataChanged&&(l=this.getPiePath({me:this,startAngle:t,angle:e-t,size:this.size})),l}},{key:\"getPiePath\",value:function(t){var e=t.me,l=t.startAngle,n=t.angle,i=t.size,r=this.w,o=l,s=Math.PI*(o-90)/180,c=n+l;360<c&&(c=360);var u=Math.PI*(c-90)/180,d=e.centerX+i*Math.cos(s),h=e.centerY+i*Math.sin(s),f=e.centerX+i*Math.cos(u),p=e.centerY+i*Math.sin(u),g=a.default.polarToCartesian(e.centerX,e.centerY,e.donutSize,c),m=a.default.polarToCartesian(e.centerX,e.centerY,e.donutSize,o),b=180<n?1:0;return\"donut\"===r.config.chart.type?[\"M\",d,h,\"A\",i,i,0,b,1,f,p,\"L\",g.x,g.y,\"A\",e.donutSize,e.donutSize,0,b,0,m.x,m.y,\"L\",d,h,\"z\"].join(\" \"):\"pie\"===r.config.chart.type?[\"M\",d,h,\"A\",i,i,0,b,1,f,p,\"L\",e.centerX,e.centerY,\"L\",d,h].join(\" \"):[\"M\",d,h,\"A\",i,i,0,b,1,f,p].join(\" \")}},{key:\"renderInnerDataLabels\",value:function(t,e){var l=this.w,n=new r.default(this.ctx),i=n.group({class:\"apexcharts-datalabels-group\",transform:\"translate(\"+(e.translateX?e.translateX:0)+\", \"+(e.translateY?e.translateY:0)+\")\"}),a=t.total.show;i.node.style.opacity=e.opacity;var o=e.centerX,s=e.centerY,c=void 0,u=void 0;c=void 0===t.name.color?l.globals.colors[0]:t.name.color,u=void 0===t.value.color?l.config.chart.foreColor:t.value.color;var d=t.value.formatter,h=\"\",f=\"\";if(a?(c=t.total.color,f=t.total.label,h=t.total.formatter(l)):1===l.globals.series.length&&(h=d(l.globals.series[0],l),f=l.globals.seriesNames[0]),t.name.show){var p=n.drawText({x:o,y:s+parseInt(t.name.offsetY),text:f,textAnchor:\"middle\",foreColor:c,fontSize:t.name.fontSize,fontFamily:t.name.fontFamily});p.node.classList.add(\"apexcharts-datalabel-label\"),i.add(p)}if(t.value.show){var g=t.name.show?parseInt(t.value.offsetY)+16:t.value.offsetY,m=n.drawText({x:o,y:s+g,text:h,textAnchor:\"middle\",foreColor:u,fontSize:t.value.fontSize,fontFamily:t.value.fontFamily});m.node.classList.add(\"apexcharts-datalabel-value\"),i.add(m)}return i}},{key:\"printInnerLabels\",value:function(t,e,l,n){var i=this.w,a=void 0;n?a=void 0===t.name.color?i.globals.colors[parseInt(n.parentNode.getAttribute(\"rel\"))-1]:t.name.color:1<i.globals.series.length&&t.total.show&&(a=t.total.color);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");l=(0,t.value.formatter)(l,i),n||\"function\"!=typeof t.total.formatter||(l=t.total.formatter(i)),null!==r&&(r.textContent=e),null!==o&&(o.textContent=l),null!==r&&(r.style.fill=a)}},{key:\"dataLabelsMouseIn\",value:function(t,e){var l=this.w,n=t.getAttribute(\"data:value\"),i=l.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"))-1];1<l.globals.series.length&&this.printInnerLabels(e,i,n,t);var a=l.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==a&&(a.style.opacity=1)}},{key:\"dataLabelsMouseout\",value:function(e,l){var n=this.w,i=n.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");l.total.show&&1<n.globals.series.length?new t(this.ctx).printInnerLabels(l,l.total.label,l.total.formatter(n)):null!==i&&1<n.globals.series.length&&(i.style.opacity=0)}}]),t}();e.default=c},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=c(l(26)),a=c(l(14)),r=c(l(7)),o=c(l(0)),s=c(l(32));function c(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.radiusSizes=[]}return n(t,[{key:\"draw\",value:function(t,e,l){var n=this.w,c=new i.default(this.ctx),u=new o.default(this.ctx),d=new r.default(this.ctx),h=new a.default(this.ctx),f=l.realIndex,p=l.pointsPos,g=l.zRatio,m=l.elParent,b=h.fillPath(t,{seriesNumber:f}),v=u.group({class:\"apexcharts-series-markers apexcharts-series-\"+n.config.chart.type});if(v.attr(\"clip-path\",\"url(#gridRectMarkerMask\"+n.globals.cuid+\")\"),p.x instanceof Array)for(var y=0;y<p.x.length;y++){var x=e+1;0===e&&0===y&&(x=0),0===e&&1===y&&(x=1);var _=0,w=n.globals.markers.size[f];g!==1/0&&(w=n.globals.seriesZ[f][x]/g,void 0===this.radiusSizes[f]&&this.radiusSizes.push([]),this.radiusSizes[f].push(w)),n.config.chart.animations.enabled||(_=w);var S=p.x[y],k=p.y[y];if(k=k||0,_=_||0,0===(S=S||0)&&0===k||void 0===n.globals.series[f][x])return;var C=u.drawCircle(_);if(C.attr({cx:S,cy:k,fill:b}),n.config.chart.dropShadow.enabled&&d.dropShadow(C,{top:n.config.chart.dropShadow.top,left:n.config.chart.dropShadow.left,blur:n.config.chart.dropShadow.blur}),this.initialAnim&&!n.globals.dataChanged){var T=1;n.globals.resized||(T=n.config.chart.animations.speed),c.animateCircleRadius(C,0,w,T,n.globals.easing)}if(n.globals.dataChanged)if(this.dynamicAnim){var D,M=n.config.chart.animations.dynamicAnimation.speed,A=void 0,E=void 0,j=void 0;null!=(D=n.globals.previousPaths[f]&&n.globals.previousPaths[f][e])&&(A=D.x,E=D.y,j=void 0!==D.r?D.r:w);for(var I=0;I<n.globals.collapsedSeries.length;I++)n.globals.collapsedSeries[I].index===f&&(M=1,w=0);0===S&&0===k&&(w=0),c.animateCircle(C,{cx:A,cy:E,r:j},{cx:S,cy:k,r:w},M,n.globals.easing)}else C.attr({r:w});C.attr({rel:x,j:x,index:f,\"default-marker-size\":w});var P=new s.default(this.ctx);P.setSelectedPointFilter(C,f,x),P.addEvents(C),C.node.classList.add(\"apexcharts-marker\"),v.add(C),m.add(v)}}},{key:\"centerTextInBubble\",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize)/4}}}]),t}();t.exports=u},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(0)),a=r(l(7));function r(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return n(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new i.default(this.ctx),l=new a.default(this.ctx),n=t.config.xaxis.crosshairs.fill.gradient,r=t.config.xaxis.crosshairs.dropShadow,o=t.config.xaxis.crosshairs.fill.type,s=n.colorFrom,c=n.colorTo,u=n.opacityFrom,d=n.opacityTo,h=n.stops,f=r.enabled,p=r.left,g=r.top,m=r.blur,b=r.opacity,v=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===o&&(v=e.drawGradient(\"vertical\",s,c,u,d,null,h));var y=e.drawRect();y.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,width:0,height:t.globals.gridHeight,fill:v,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),f&&(y=l.dropShadow(y,{left:p,top:g,blur:m,opacity:b})),t.globals.dom.elGraphical.add(y)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new i.default(this.ctx),l=t.config.yaxis[0].crosshairs;if(t.config.yaxis[0].crosshairs.show){var n=e.drawLine(0,0,t.globals.gridWidth,0,l.stroke.color,l.stroke.dashArray,l.stroke.width);n.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(n)}var a=e.drawLine(0,0,t.globals.gridWidth,0,l.stroke.color,0,0);a.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(a)}}]),t}();e.default=o},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return n(t,[{key:\"getSvgString\",value:function(){return this.w.globals.dom.Paper.svg()}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\"),l=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\");e&&e.setAttribute(\"x\",-500),l&&(l.setAttribute(\"y1\",-100),l.setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),\".svg\")}},{key:\"exportToPng\",value:function(){var t=this,e=this.w;this.cleanup();var l=document.createElement(\"canvas\");l.width=e.globals.svgWidth,l.height=e.globals.svgHeight;var n=\"transparent\"===e.config.chart.background?\"#fff\":e.config.chart.background,i=l.getContext(\"2d\");i.fillStyle=n,i.fillRect(0,0,l.width,l.height);var a=window.URL||window.webkitURL||window,r=new Image;r.crossOrigin=\"anonymous\";var o=this.getSvgString(),s=\"data:image/svg+xml,\"+encodeURIComponent(o);r.onload=function(){i.drawImage(r,0,0),a.revokeObjectURL(s);var e=l.toDataURL(\"image/png\").replace(\"image/png\",\"image/octet-stream\");t.triggerDownload(e,\".png\")},r.src=s}},{key:\"triggerDownload\",value:function(t,e){var l=document.createElement(\"a\");l.href=t,l.download=this.w.globals.chartID+e,document.body.appendChild(l),l.click(),document.body.removeChild(l)}}]),t}();e.default=i},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(1)),a=r(l(137));function r(t){return t&&t.__esModule?t:{default:t}}function o(t){if(Array.isArray(t)){for(var e=0,l=Array(t.length);e<t.length;e++)l[e]=t[e];return l}return Array.from(t)}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.scales=new a.default(e)}return n(t,[{key:\"init\",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:\"getMinYMaxY\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:Number.MIN_SAFE_INTEGER,n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,a=this.w.globals,r=-Number.MAX_VALUE,s=Number.MIN_VALUE;null===n&&(n=t+1);var c=a.series,u=c,d=c;\"candlestick\"===this.w.config.chart.type&&(u=a.seriesCandleL,d=a.seriesCandleH);for(var h=t;h<n;h++){a.dataPoints=Math.max(a.dataPoints,c[h].length),i.default.isIE11()&&(s=Math.min.apply(Math,o(u[h]).concat([0])));for(var f=0;f<a.series[h].length;f++)null!==c[h][f]&&i.default.isNumber(c[h][f])?(r=Math.max(r,d[h][f]),e=Math.min(e,u[h][f]),l=Math.max(l,u[h][f]),i.default.isFloat(c[h][f])&&(a.yValueDecimal=Math.max(a.yValueDecimal,c[h][f].toString().split(\".\")[1].length)),s>u[h][f]&&u[h][f]<0&&(s=u[h][f])):a.hasNullValues=!0}return{minY:s,maxY:r,lowestY:e,highestY:l}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var l=e.yaxis,n=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a<t.series.length;a++){var r=this.getMinYMaxY(a,n,null,a+1);t.minYArr.push(r.minY),t.maxYArr.push(r.maxY),n=r.lowestY}var o=this.getMinYMaxY(0,n,null,t.series.length);if(t.minY=o.minY,t.maxY=o.maxY,n=o.lowestY,e.chart.stacked){for(var s=[],c=[],u=0;u<t.series[t.maxValsInArrayIndex].length;u++)for(var d=0,h=0,f=0;f<t.series.length;f++)null!==t.series[f][u]&&i.default.isNumber(t.series[f][u])&&(0<t.series[f][u]?d=d+parseInt(t.series[f][u])+1e-4:h+=parseInt(t.series[f][u])),f===t.series.length-1&&(s.push(d),c.push(h));for(var p=0;p<s.length;p++)t.maxY=Math.max(t.maxY,s[p]),t.minY=Math.min(t.minY,c[p])}if((\"line\"===e.chart.type||\"area\"===e.chart.type||\"candlestick\"===e.chart.type)&&t.minY===Number.MIN_VALUE&&n!==Number.MAX_SAFE_INTEGER){var g=t.maxY-n;0<=n&&n<=10&&(g=0),t.minY=n-5*g/100,(0<n&&t.maxY<50||0<n&&t.minY<0)&&(t.minY=0),10<t.maxY&&(t.maxY=t.maxY+5*g/100+.6)}e.yaxis.map(function(e,n){void 0!==e.max&&\"number\"==typeof e.max&&(t.maxYArr[n]=e.max,t.maxY=l[0].max),void 0!==e.min&&\"number\"==typeof e.min&&(t.minYArr[n]=e.min,t.minY=l[0].min)}),t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.yAxisScale.forEach(function(e,l){t.minYArr[l]=e.niceMin,t.maxYArr[l]=e.niceMax})):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax)}},{key:\"setXRange\",value:function(){var t=this.w.globals,e=this.w.config;if(t.isXNumeric)for(var l=0;l<t.series.length;l++)if(t.labels[l])for(var n=0;n<t.labels[l].length;n++)null!==t.labels[l][n]&&i.default.isNumber(t.labels[l][n])&&(t.maxX=Math.max(t.maxX,t.labels[l][n]),t.initialmaxX=Math.max(t.maxX,t.labels[l][n]),t.minX=Math.min(t.minX,t.labels[l][n]),t.initialminX=Math.min(t.minX,t.labels[l][n]));if(t.noLabelsProvided&&0===e.xaxis.categories.length&&(t.maxX=t.labels[t.labels.length-1],t.initialmaxX=t.labels[t.labels.length-1],t.minX=1,t.initialminX=1),(t.comboChartsHasBars||\"bar\"===e.chart.type&&\"category\"!==e.xaxis.type)&&\"category\"!==e.xaxis.type){var a=t.minX-t.svgWidth/t.dataPoints*(Math.abs(t.maxX-t.minX)/t.svgWidth)/3;t.minX=a,t.initialminX=a;var r=t.maxX+t.svgWidth/t.dataPoints*(Math.abs(t.maxX-t.minX)/t.svgWidth)/3;t.maxX=r,t.initialmaxX=r}if(t.isXNumeric||t.noLabelsProvided){var o=void 0;void 0===e.xaxis.tickAmount?(o=Math.round(t.svgWidth/150),\"numeric\"===e.xaxis.type&&t.dataPoints<20&&(o=t.dataPoints-1),o>t.dataPoints&&0!==t.dataPoints&&(o=t.dataPoints-1)):o=\"dataPoints\"===e.xaxis.tickAmount?t.series[t.maxValsInArrayIndex].length-1:e.xaxis.tickAmount,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE?t.xAxisScale=this.scales.linearScale(t.minX,t.maxX,o):(t.xAxisScale=this.scales.linearScale(1,o,o),t.noLabelsProvided&&0<t.labels.length&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,o-1),t.seriesX=t.labels.slice())),(\"numeric\"===e.xaxis.type||\"datetime\"===e.xaxis.type||\"category\"===e.xaxis.type&&!t.noLabelsProvided)&&(t.labels=t.xAxisScale.result.slice())}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e<t.series.length;e++)if(void 0!==t.seriesZ[e])for(var l=0;l<t.seriesZ[e].length;l++)null!==t.seriesZ[e][l]&&i.default.isNumber(t.seriesZ[e][l])&&(t.maxZ=Math.max(t.maxZ,t.seriesZ[e][l]),t.minZ=Math.min(t.minZ,t.seriesZ[e][l]))}}]),t}();e.default=s},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t},i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=s(l(53)),r=s(l(48)),o=s(l(0));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[]}return i(t,[{key:\"calculateTimeScaleTicks\",value:function(t,e){var l=this,i=this.w;if(i.globals.allSeriesCollapsed)return i.globals.labels=[],i.globals.timelineLabels=[],[];var r=new a.default(this.ctx),o=(e-t)/864e5;this.determineInterval(o),i.globals.disableZoomIn=!1,i.globals.disableZoomOut=!1,o<.005?i.globals.disableZoomIn=!0:5e4<o&&(i.globals.disableZoomOut=!0);var s=r.getTimeUnitsfromTimestamp(t,e),c=i.globals.gridWidth/o,u=c/24,d=u/60,h=Math.floor(24*o),f=Math.floor(24*o*60),p=Math.floor(o),g=Math.floor(o/30),m=Math.floor(o/365),b={minMinute:s.minMinute,minHour:s.minHour,minDate:s.minDate,minMonth:s.minMonth,minYear:s.minYear},v={firstVal:b,currentMinute:b.minMinute,currentHour:b.minHour,currentMonthDate:b.minDate,currentDate:b.minDate,currentMonth:b.minMonth,currentYear:b.minYear,daysWidthOnXAxis:c,hoursWidthOnXAxis:u,minutesWidthOnXAxis:d,numberOfMinutes:f,numberOfHours:h,numberOfDays:p,numberOfMonths:g,numberOfYears:m};switch(this.tickInterval){case\"years\":this.generateYearScale(v);break;case\"months\":case\"half_year\":this.generateMonthScale(v);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(v);break;case\"hours\":this.generateHourScale(v);break;case\"minutes\":this.generateMinuteScale(v)}var y=this.timeScaleArray.map(function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?n({},e,{value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?n({},e,{value:t.value}):\"minute\"===t.unit?n({},e,{value:t.value,minute:t.value}):t});return y.filter(function(t){var e=1,n=Math.ceil(i.globals.gridWidth/120),a=t.value;void 0!==i.config.xaxis.tickAmount&&(n=i.config.xaxis.tickAmount),y.length>n&&(e=Math.floor(y.length/n));var r=!1,o=!1;switch(l.tickInterval){case\"half_year\":e=7,\"year\"===t.unit&&(r=!0);break;case\"months\":e=1,\"year\"===t.unit&&(r=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(r=!0),30===a&&(o=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(r=!0),30===a&&(o=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(r=!0);break;case\"days\":e=1,\"month\"===t.unit&&(r=!0);break;case\"hours\":\"day\"===t.unit&&(r=!0);break;case\"minutes\":a%5!=0&&(o=!0)}if(\"minutes\"===l.tickInterval||\"hours\"===l.tickInterval){if(!o)return!0}else if((a%e==0||r)&&!o)return!0})}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t){var e=this.w,l=this.formatDates(t),n=this.removeOverlappingTS(l);e.globals.timelineLabels=n.slice(),new r.default(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){switch(!0){case 1825<t:this.tickInterval=\"years\";break;case 800<t&&t<=1825:this.tickInterval=\"half_year\";break;case 180<t&&t<=800:this.tickInterval=\"months\";break;case 90<t&&t<=180:this.tickInterval=\"months_fortnight\";break;case 60<t&&t<=90:this.tickInterval=\"months_days\";break;case 30<t&&t<=60:this.tickInterval=\"week_days\";break;case 2<t&&t<=30:this.tickInterval=\"days\";break;case.1<t&&t<=2:this.tickInterval=\"hours\";break;case t<.1:this.tickInterval=\"minutes\";break;default:this.tickInterval=\"days\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,l=t.currentMonth,n=t.currentYear,i=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,s=0,c=new a.default(this.ctx),u=\"year\";if(1<e.minDate&&0<e.minMonth){var d=c.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);s=(c.determineDaysOfYear(e.minYear)-d+1)*i,o=e.minYear+1,this.timeScaleArray.push({position:s,value:o,unit:u,year:o,month:this.monthMod(l+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:s,value:o,unit:u,year:n,month:this.monthMod(l+1)});for(var h=o,f=s,p=0;p<r;p++)h++,f=c.determineDaysOfYear(h-1)*i+f,this.timeScaleArray.push({position:f,value:h,unit:u,year:h,month:1})}},{key:\"generateMonthScale\",value:function(t){var e=t.firstVal,l=t.currentMonthDate,n=t.currentMonth,i=t.currentYear,r=t.daysWidthOnXAxis,o=t.numberOfMonths,s=n,c=0,u=new a.default(this.ctx),d=\"month\",h=0;if(1<e.minDate){c=(u.determineDaysOfMonths(n+1,e.minYear)-l+1)*r,s=this.monthMod(n+1);var f=i+h,p=this.monthMod(s),g=s;0===s&&(d=\"year\",g=f,f+=h+=p=1),this.timeScaleArray.push({position:c,value:g,unit:d,year:f,month:p})}else this.timeScaleArray.push({position:c,value:s,unit:d,year:i,month:this.monthMod(n)});for(var m=s+1,b=c,v=0,y=1;v<o;v++,y++){0===(m=this.monthMod(m))?(d=\"year\",h+=1):d=\"month\";var x=i+Math.floor(m/12)+h;b=u.determineDaysOfMonths(m,x)*r+b;var _=0===m?x:m;this.timeScaleArray.push({position:b,value:_,unit:d,year:x,month:0===m?1:m}),m++}}},{key:\"generateDayScale\",value:function(t){var e=t.firstVal,l=t.currentMonth,n=t.currentYear,i=t.hoursWidthOnXAxis,r=t.numberOfDays,o=new a.default(this.ctx),s=\"day\",c=(24-e.minHour)*i,u=e.minDate+1,d=u,h=function(t,e,l){return o.determineDaysOfMonths(e+1,l)<t?(s=\"month\",d=e+=f=1):e},f=u,p=h(f,l,n);this.timeScaleArray.push({position:c,value:d,unit:s,year:n,month:this.monthMod(p),day:f});for(var g=c,m=0;m<r;m++){s=\"day\",p=h(f+=1,p,n+Math.floor(p/12)+0);var b=n+Math.floor(p/12)+0;g=24*i+g;var v=1===f?this.monthMod(p):f;this.timeScaleArray.push({position:g,value:v,unit:s,year:b,month:this.monthMod(p),day:v})}}},{key:\"generateHourScale\",value:function(t){var e=t.firstVal,l=t.currentDate,n=t.currentMonth,i=t.currentYear,r=t.minutesWidthOnXAxis,o=t.numberOfHours,s=new a.default(this.ctx),c=\"hour\",u=function(t,e){return s.determineDaysOfMonths(e+1,i)<t?e+=1:e},d=60-e.minMinute,h=d*r,f=e.minHour+1,p=f+1;60===d&&(h=0,p=(f=e.minHour)+1);var g=l,m=u(g,n);this.timeScaleArray.push({position:h,value:f,unit:c,day:g,hour:p,year:i,month:this.monthMod(m)});for(var b,v,y=h,x=0;x<o;x++){if(c=\"hour\",24<=p){p=0,c=\"day\";var _=(b=g+=1,v=m,s.determineDaysOfMonths(v+1,i)<b&&(v+=g=1),{month:v,date:g});m=u(g,m=_.month)}var w=i+Math.floor(m/12)+0;y=0===p&&0===x?d*r:60*r+y;var S=0===p?g:p;this.timeScaleArray.push({position:y,value:S,unit:c,hour:p,day:g,year:w,month:this.monthMod(m)}),p++}}},{key:\"generateMinuteScale\",value:function(t){var e=t.firstVal,l=t.currentMinute,n=t.currentHour,i=t.currentDate,a=t.currentMonth,r=t.currentYear,o=t.minutesWidthOnXAxis,s=t.numberOfMinutes,c=o-(l-e.minMinute),u=e.minMinute+1,d=u+1,h=i,f=a,p=r,g=n;this.timeScaleArray.push({position:c,value:u,unit:\"minute\",day:h,hour:g,minute:d,year:p,month:this.monthMod(f)});for(var m=c,b=0;b<s;b++){60<=d&&(d=0,24===(g+=1)&&(g=0));var v=r+Math.floor(f/12)+0;m=o+m;var y=d;this.timeScaleArray.push({position:m,value:y,unit:\"minute\",hour:g,minute:d,day:h,year:v,month:this.monthMod(f)}),d++}}},{key:\"createRawDateString\",value:function(t,e){var l=t.year;return l+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?l+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":l+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?l+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":l+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),l+=\"minute\"===t.unit?\":\"+(\"0\"+e).slice(-2)+\":00.000Z\":\":00:00.000Z\"}},{key:\"formatDates\",value:function(t){var e=this,l=this.w;return t.map(function(t){var n=t.value.toString(),i=new a.default(e.ctx),r=e.createRawDateString(t,n),o=new Date(Date.parse(r));if(void 0===l.config.xaxis.labels.format){var s=\"dd MMM\",c=l.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(s=c.year),\"month\"===t.unit&&(s=c.month),\"day\"===t.unit&&(s=c.day),\"hour\"===t.unit&&(s=c.hour),\"minute\"===t.unit&&(s=c.minute),n=i.formatDate(o,s,!0,!1)}else n=i.formatDate(o,l.config.xaxis.labels.format);return{dateString:r,position:t.position,value:n,unit:t.unit,year:t.year,month:t.month}})}},{key:\"removeOverlappingTS\",value:function(t){var e=this,l=new o.default(this.ctx),n=0,i=t.map(function(i,a){if(0<a&&e.w.config.xaxis.labels.hideOverlappingLabels){var r=l.getTextRects(t[n].value).width;return t[n].position+r+10<i.position?(n=a,i):null}return i});return i=i.filter(function(t){return null!==t})}},{key:\"monthMod\",value:function(t){return t%12}}]),t}();e.default=c},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=f(l(0)),a=f(l(77)),r=f(l(164)),o=f(l(167)),s=f(l(161)),c=f(l(165)),u=f(l(163)),d=f(l(166)),h=f(l(162));function f(t){return t&&t.__esModule?t:{default:t}}var p=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.ev=this.w.config.chart.events,this.localeValues=this.w.globals.locale.toolbar}return n(t,[{key:\"createToolbar\",value:function(){var t=this.w,e=document.createElement(\"div\");e.setAttribute(\"class\",\"apexcharts-toolbar\"),t.globals.dom.elWrap.appendChild(e),this.elZoom=document.createElement(\"div\"),this.elZoomIn=document.createElement(\"div\"),this.elZoomOut=document.createElement(\"div\"),this.elPan=document.createElement(\"div\"),this.elSelection=document.createElement(\"div\"),this.elZoomReset=document.createElement(\"div\"),this.elMenuIcon=document.createElement(\"div\"),this.elMenu=document.createElement(\"div\"),this.elMenuItems=[];var l=[];t.config.chart.toolbar.tools.selection&&t.config.chart.selection.enabled&&l.push({el:this.elSelection,icon:d.default,title:this.localeValues.selection,class:\"apexcharts-selection-icon\"}),t.config.chart.toolbar.tools.zoomin&&t.config.chart.zoom.enabled&&l.push({el:this.elZoomIn,icon:c.default,title:this.localeValues.zoomIn,class:\"apexcharts-zoom-in-icon\"}),t.config.chart.toolbar.tools.zoomout&&t.config.chart.zoom.enabled&&l.push({el:this.elZoomOut,icon:u.default,title:this.localeValues.zoomOut,class:\"apexcharts-zoom-out-icon\"}),t.config.chart.toolbar.tools.zoom&&t.config.chart.zoom.enabled&&l.push({el:this.elZoom,icon:o.default,title:this.localeValues.selectionZoom,class:\"apexcharts-zoom-icon\"}),t.config.chart.toolbar.tools.pan&&t.config.chart.zoom.enabled&&l.push({el:this.elPan,icon:r.default,title:this.localeValues.pan,class:\"apexcharts-pan-icon\"}),t.config.chart.toolbar.tools.reset&&l.push({el:this.elZoomReset,icon:s.default,title:this.localeValues.reset,class:\"apexcharts-reset-zoom-icon\"}),t.config.chart.toolbar.tools.download&&l.push({el:this.elMenuIcon,icon:h.default,title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var n=0;n<l.length;n++)i.default.setAttrs(l[n].el,{class:l[n].class,title:l[n].title}),l[n].el.innerHTML=l[n].icon,e.appendChild(l[n].el);e.appendChild(this.elMenu),i.default.setAttrs(this.elMenu,{class:\"apexcharts-menu\"});for(var a=[{name:\"exportSVG\",title:this.localeValues.exportToSVG},{name:\"exportPNG\",title:this.localeValues.exportToPNG}],f=0;f<a.length;f++)this.elMenuItems.push(document.createElement(\"div\")),this.elMenuItems[f].innerHTML=a[f].title,i.default.setAttrs(this.elMenuItems[f],{class:\"apexcharts-menu-item \"+a[f].name,title:a[f].title}),this.elMenu.appendChild(this.elMenuItems[f]);t.globals.zoomEnabled?this.elZoom.classList.add(\"selected\"):t.globals.panEnabled?this.elPan.classList.add(\"selected\"):t.globals.selectionEnabled&&this.elSelection.classList.add(\"selected\"),this.addToolbarEventListeners()}},{key:\"addToolbarEventListeners\",value:function(){var t=this;this.elZoomReset.addEventListener(\"click\",this.handleZoomReset.bind(this)),this.elSelection.addEventListener(\"click\",this.toggleSelection.bind(this)),this.elZoom.addEventListener(\"click\",this.toggleZooming.bind(this)),this.elZoomIn.addEventListener(\"click\",this.handleZoomIn.bind(this)),this.elZoomOut.addEventListener(\"click\",this.handleZoomOut.bind(this)),this.elPan.addEventListener(\"click\",this.togglePanning.bind(this)),this.elMenuIcon.addEventListener(\"click\",this.toggleMenu.bind(this)),this.elMenuItems.forEach(function(e){e.classList.contains(\"exportSVG\")?e.addEventListener(\"click\",t.downloadSVG.bind(t)):e.classList.contains(\"exportPNG\")&&e.addEventListener(\"click\",t.downloadPNG.bind(t))})}},{key:\"toggleSelection\",value:function(){this.toggleOtherControls(),this.w.globals.selectionEnabled=!this.w.globals.selectionEnabled,this.elSelection.classList.contains(\"selected\")?this.elSelection.classList.remove(\"selected\"):this.elSelection.classList.add(\"selected\")}},{key:\"toggleZooming\",value:function(){this.toggleOtherControls(),this.w.globals.zoomEnabled=!this.w.globals.zoomEnabled,this.elZoom.classList.contains(\"selected\")?this.elZoom.classList.remove(\"selected\"):this.elZoom.classList.add(\"selected\")}},{key:\"getToolbarIconsReference\",value:function(){var t=this.w;this.elZoom||(this.elZoom=t.globals.dom.baseEl.querySelector(\".apexcharts-zoom-icon\")),this.elPan||(this.elPan=t.globals.dom.baseEl.querySelector(\".apexcharts-pan-icon\")),this.elSelection||(this.elSelection=t.globals.dom.baseEl.querySelector(\".apexcharts-selection-icon\"))}},{key:\"enableZooming\",value:function(){this.toggleOtherControls(),this.w.globals.zoomEnabled=!0,this.elZoom&&this.elZoom.classList.add(\"selected\"),this.elPan&&this.elPan.classList.remove(\"selected\")}},{key:\"enablePanning\",value:function(){this.toggleOtherControls(),this.w.globals.panEnabled=!0,this.elPan&&this.elPan.classList.add(\"selected\"),this.elZoom&&this.elZoom.classList.remove(\"selected\")}},{key:\"togglePanning\",value:function(){this.toggleOtherControls(),this.w.globals.panEnabled=!this.w.globals.panEnabled,this.elPan.classList.contains(\"selected\")?this.elPan.classList.remove(\"selected\"):this.elPan.classList.add(\"selected\")}},{key:\"toggleOtherControls\",value:function(){var t=this.w;t.globals.panEnabled=!1,t.globals.zoomEnabled=!1,t.globals.selectionEnabled=!1,this.getToolbarIconsReference(),this.elPan&&this.elPan.classList.remove(\"selected\"),this.elSelection&&this.elSelection.classList.remove(\"selected\"),this.elZoom&&this.elZoom.classList.remove(\"selected\")}},{key:\"handleZoomIn\",value:function(){var t=this.w,e=(t.globals.minX+t.globals.maxX)/2,l=(t.globals.minX+e)/2,n=(t.globals.maxX+e)/2;t.globals.disableZoomIn||this.zoomUpdateOptions(l,n)}},{key:\"handleZoomOut\",value:function(){var t=this.w;if(!(\"datetime\"===t.config.xaxis.type&&new Date(t.globals.minX).getUTCFullYear()<1e3)){var e=(t.globals.minX+t.globals.maxX)/2,l=t.globals.minX-(e-t.globals.minX),n=t.globals.maxX-(e-t.globals.maxX);t.globals.disableZoomOut||this.zoomUpdateOptions(l,n)}}},{key:\"zoomUpdateOptions\",value:function(t,e){var l={min:t,max:e},n=this.getBeforeZoomRange(l);n&&(l=n.xaxis),this.w.globals.zoomed=!0,this.ctx._updateOptions({xaxis:l},!1,this.w.config.chart.animations.dynamicAnimation.enabled),this.zoomCallback({min:t,max:e})}},{key:\"zoomCallback\",value:function(t,e){\"function\"==typeof this.ev.zoomed&&this.ev.zoomed(this.ctx,{xaxis:t,yaxis:e})}},{key:\"getBeforeZoomRange\",value:function(t,e){var l=null;return\"function\"==typeof this.ev.beforeZoom&&(l=this.ev.beforeZoom(this,{xaxis:t,yaxis:e})),l}},{key:\"toggleMenu\",value:function(){this.elMenu.classList.contains(\"open\")?this.elMenu.classList.remove(\"open\"):this.elMenu.classList.add(\"open\")}},{key:\"downloadPNG\",value:function(){var t=new a.default(this.ctx);t.exportToPng(this.ctx),this.toggleMenu()}},{key:\"downloadSVG\",value:function(){var t=new a.default(this.ctx);t.exportToSVG(),this.toggleMenu()}},{key:\"handleZoomReset\",value:function(t){var e=this;this.ctx.getSyncedCharts().forEach(function(t){var l=t.w;l.globals.minX!==l.globals.initialminX&&l.globals.maxX!==l.globals.initialmaxX&&(t.revertDefaultAxisMinMax(),\"function\"==typeof l.config.chart.events.zoomed&&e.zoomCallback({min:l.config.xaxis.min,max:l.config.xaxis.max}),l.globals.zoomed=!1,t._updateSeries(l.globals.initialSeries,l.config.chart.animations.dynamicAnimation.enabled))})}},{key:\"destroy\",value:function(){this.elZoomReset&&(this.elZoomReset.removeEventListener(\"click\",this.handleZoomReset.bind(this)),this.elSelection.removeEventListener(\"click\",this.toggleSelection.bind(this)),this.elZoom.removeEventListener(\"click\",this.toggleZooming.bind(this)),this.elZoomIn.removeEventListener(\"click\",this.handleZoomIn.bind(this)),this.elZoomOut.removeEventListener(\"click\",this.handleZoomOut.bind(this)),this.elPan.removeEventListener(\"click\",this.togglePanning.bind(this)),this.elMenuIcon.removeEventListener(\"click\",this.toggleMenu.bind(this))),this.elZoom=null,this.elZoomIn=null,this.elZoomOut=null,this.elPan=null,this.elSelection=null,this.elZoomReset=null,this.elMenuIcon=null}}]),t}();t.exports=p},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(0)),a=r(l(27));function r(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return n(t,[{key:\"moveXCrosshairs\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,l=this.ttCtx,n=this.w,i=l.getElXCrosshairs(),a=t-l.xcrosshairsWidth/2,r=n.globals.labels.slice().length;if(null!==e&&(a=n.globals.gridWidth/r*e),\"tickWidth\"===n.config.xaxis.crosshairs.width||\"barWidth\"===n.config.xaxis.crosshairs.width?a+l.xcrosshairsWidth>n.globals.gridWidth&&(a=n.globals.gridWidth-l.xcrosshairsWidth):null!==e&&(a+=n.globals.gridWidth/r/2),a<0&&(a=0),a>n.globals.gridWidth&&(a=n.globals.gridWidth),null!==i&&(i.setAttribute(\"x\",a),i.classList.add(\"active\")),l.blxaxisTooltip){var o=a;\"tickWidth\"!==n.config.xaxis.crosshairs.width&&\"barWidth\"!==n.config.xaxis.crosshairs.width||(o=a+l.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&(i.default.setAttrs(e.ycrosshairs,{y1:t,y2:t}),i.default.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t}))}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,l=this.ttCtx;if(null!==l.xaxisTooltip){l.xaxisTooltip.classList.add(\"active\");var n,a=l.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;t-=l.xaxisTooltip.getBoundingClientRect().width/2,isNaN(t)||(t+=e.globals.translateX,n=new i.default(this.ctx).getTextRects(l.xaxisTooltipText.innerHTML),l.xaxisTooltipText.style.minWidth=n.width+\"px\",l.xaxisTooltip.style.left=t+\"px\",l.xaxisTooltip.style.top=a+\"px\")}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,l=this.ttCtx;null===l.yaxisTTEls&&(l.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var n=parseInt(l.ycrosshairsHidden.getAttribute(\"y1\")),i=e.globals.translateY+n,a=l.yaxisTTEls[t].getBoundingClientRect().height,r=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(r-=26),i-=a/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(l.yaxisTTEls[t].classList.add(\"active\"),l.yaxisTTEls[t].style.top=i+\"px\",l.yaxisTTEls[t].style.left=r+e.config.yaxis[t].tooltip.offsetX+\"px\"):l.yaxisTTEls[t].classList.remove(\"active\")}},{key:\"moveTooltip\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,n=this.w,i=this.ttCtx,a=i.getElTooltip(),r=i.tooltipRect,o=null!==l?parseInt(l):1,s=parseInt(t)+o+5,c=parseInt(e)+o/2;if(s>n.globals.gridWidth/2&&(s=s-r.ttWidth-o-15),s>n.globals.gridWidth-r.ttWidth-10&&(s=n.globals.gridWidth-r.ttWidth),s<-20&&(s=-20),n.config.tooltip.followCursor){var u=i.getElGrid().getBoundingClientRect();c=i.e.clientY-u.top-r.ttHeight/2}var d=this.positionChecks(r,s,c);s=d.x,c=d.y,isNaN(s)||(s+=n.globals.translateX,a.style.left=s+\"px\",a.style.top=c+\"px\")}},{key:\"positionChecks\",value:function(t,e,l){var n=this.w;return t.ttHeight+l>n.globals.gridHeight&&(l=n.globals.gridHeight-t.ttHeight+n.globals.translateY),l<0&&(l=0),{x:e,y:l}}},{key:\"moveMarkers\",value:function(t,e){var l=this.w,n=this.ttCtx;if(0<l.globals.markers.size[t])for(var i=l.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\"+t+\"'] .apexcharts-marker\"),a=0;a<i.length;a++)parseInt(i[a].getAttribute(\"rel\"))===e&&(n.marker.resetPointsSize(),n.marker.enlargeCurrentPoint(e,i[a]));else n.marker.resetPointsSize(),this.moveDynamicPointOnHover(e,t)}},{key:\"moveDynamicPointOnHover\",value:function(t,e){var l,n,i=this.w,a=this.ttCtx,r=i.globals.pointsArray,o=i.config.markers.hover.size;void 0===o&&(o=i.globals.markers.size[e]+i.config.markers.hover.sizeOffset),l=r[e][t][0],n=r[e][t][1]?r[e][t][1]:0;var s=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\"+e+\"'] .apexcharts-series-markers circle\");s.setAttribute(\"r\",o),s.setAttribute(\"cx\",l),s.setAttribute(\"cy\",n),this.moveXCrosshairs(l),a.fixedTooltip||this.moveTooltip(l,n,o)}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,l=this.ttCtx,n=l.w,i=0,r=0,o=n.globals.pointsArray;e=new a.default(this.ctx).getActiveSeriesIndex();var s=n.config.markers.hover.size;void 0===s&&(s=n.globals.markers.size[e]+n.config.markers.hover.sizeOffset),o[e]&&(i=o[e][t][0],r=o[e][t][1]);var c=null,u=l.getAllMarkers();if(null!==(c=null!==u?u:n.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers circle\")))for(var d=0;d<c.length;d++){var h=o[d];if(h&&h.length){var f=o[d][t][1];c[d].setAttribute(\"cx\",i);var p=parseInt(c[d].parentNode.parentNode.parentNode.getAttribute(\"data:realIndex\"));null!==f?(c[p]&&c[p].setAttribute(\"r\",s),c[p]&&c[p].setAttribute(\"cy\",f)):c[p]&&c[p].setAttribute(\"r\",0)}}if(this.moveXCrosshairs(i),!l.fixedTooltip){var g=r||n.globals.gridHeight;this.moveTooltip(i,g,s)}}},{key:\"moveStickyTooltipOverBars\",value:function(t){var e,l=this.w,n=this.ttCtx,i=l.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='1'] path[j='\"+t+\"'], .apexcharts-candlestick-series .apexcharts-series[rel='1'] path[j='\"+t+\"']\"),a=i?parseFloat(i.getAttribute(\"cx\")):0,r=i?parseFloat(i.getAttribute(\"barWidth\")):0;l.globals.isXNumeric?a-=r/2:(a=n.xAxisTicksPositions[t-1]+n.dataPointsDividedWidth/2,isNaN(a)&&(a=n.xAxisTicksPositions[t]-n.dataPointsDividedWidth/2));var o=n.getElGrid().getBoundingClientRect();if(e=n.e.clientY-o.top-n.tooltipRect.ttHeight/2,this.moveXCrosshairs(a),!n.fixedTooltip){var s=e||l.globals.gridHeight;this.moveTooltip(a,s)}}}]),t}();t.exports=o},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return n(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,l=t.elGrid,n=t.clientX,i=t.clientY,a=t.hasBars,r=this.w,o=r.globals.gridWidth,s=o/(r.globals.dataPoints-1),c=l.getBoundingClientRect();(a&&r.globals.comboCharts||a)&&(s=o/r.globals.dataPoints);var u=n-c.left,d=i-c.top;u<0||d<0||u>r.globals.gridWidth||d>r.globals.gridHeight?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var h=Math.round(u/s);a&&(h=Math.ceil(u/s),h-=1);for(var f,p=null,g=null,m=[],b=0;b<r.globals.seriesXvalues.length;b++)m.push([r.globals.seriesXvalues[b][0]-1e-6].concat(r.globals.seriesXvalues[b]));return m=m.map(function(t){return t.filter(function(t){return t})}),f=r.globals.seriesYvalues.map(function(t){return t.filter(function(t){return t})}),r.globals.isXNumeric&&(p=(g=this.closestInMultiArray(u,d,m,f)).index,h=g.j,null!==p&&(m=r.globals.seriesXvalues[p],h=(g=this.closestInArray(u,m)).index)),(!h||h<1)&&(h=0),{capturedSeries:p,j:h,hoverX:u,hoverY:d}}},{key:\"closestInMultiArray\",value:function(t,e,l,n){var i=this.w,a=0,r=null,o=-1;1<i.globals.series.length?a=this.getFirstActiveXArray(l):r=0;var s=n[a][0],c=l[a][0],u=Math.abs(t-c),d=Math.abs(e-s),h=d+u;return n.map(function(i,a){i.map(function(i,s){var c=Math.abs(e-n[a][s]),f=Math.abs(t-l[a][s]),p=f+c;p<h&&(h=p,u=f,d=c,r=a,o=s)})}),{index:r,j:o}}},{key:\"getFirstActiveXArray\",value:function(t){for(var e=0,l=t.map(function(t,e){return 0<t.length?e:-1}),n=0;n<l.length;n++)if(-1!==l[n]){e=l[n];break}return e}},{key:\"closestInArray\",value:function(t,e){for(var l=e[0],n=null,i=Math.abs(t-l),a=0;a<e.length;a++){var r=Math.abs(t-e[a]);r<i&&(i=r,l=e[a],n=a)}return{index:n}}},{key:\"isXoverlap\",value:function(t){var e=[],l=this.w.globals.seriesX.filter(function(t){return void 0!==t[0]});if(0<l.length)for(var n=0;n<l.length-1;n++)void 0!==l[n][t]&&void 0!==l[n+1][t]&&l[n][t]!==l[n+1][t]&&e.push(\"unEqual\");return 0===e.length}},{key:\"isinitialSeriesSameLen\",value:function(){for(var t=!0,e=this.w.globals.initialSeries,l=0;l<e.length-1;l++)if(e[l].data.length!==e[l+1].data.length){t=!1;break}return t}},{key:\"getBarsHeight\",value:function(t){return[].concat(function(t){if(Array.isArray(t)){for(var e=0,l=Array(t.length);e<t.length;e++)l[e]=t[e];return l}return Array.from(t)}(t)).reduce(function(t,e){return t+e.getBBox().height},0)}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,l=this.ttCtx;0===l.allTooltipSeriesGroups.length&&(l.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var n=l.allTooltipSeriesGroups,i=0;i<n.length;i++)n[i].style.display=\"enable\"===t?(n[i].classList.add(\"active\"),e.config.tooltip.items.display):(n[i].classList.remove(\"active\"),\"none\")}}]),t}();t.exports=i},function(t,e){t.exports={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}}},function(t,e,l){\"use strict\";l(114),t.exports=l(4).Array.find},function(t,e,l){\"use strict\";l(73),l(115),t.exports=l(4).Array.from},function(t,e,l){\"use strict\";l(120),t.exports=l(4).Array.includes},function(t,e,l){\"use strict\";l(117),t.exports=l(4).Array.reduce},function(t,e,l){\"use strict\";l(72),l(73),l(125),l(118),l(121),l(122),t.exports=l(4).Promise},function(t,e,l){\"use strict\";l(119),l(72),l(123),l(124),t.exports=l(4).Symbol},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t},a=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),r=A(l(132)),o=A(l(26)),s=A(l(133)),c=A(l(51)),u=A(l(134)),d=A(l(6)),h=A(l(76)),f=A(l(48)),p=A(l(31)),g=A(l(77)),m=A(l(141)),b=A(l(135)),v=A(l(32)),y=A(l(78)),x=A(l(136)),_=A(l(27)),w=A(l(138)),S=A(l(148)),k=A(l(1)),C=A(l(140)),T=A(l(139)),D=A(l(80)),M=A(l(52));function A(t){return t&&t.__esModule?t:{default:t}}l(155),l(151),l(152),l(150),l(154),l(153),l(159),l(156),l(157);var E=l(83);window.Apex={};var j=function(){function t(e,l){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.opts=l,(this.ctx=this).w=new s.default(l).init(),this.el=e,this.w.globals.cuid=(Math.random()+1).toString(36).substring(4),this.w.globals.chartID=this.w.config.chart.id?this.w.config.chart.id:this.w.globals.cuid,this.initModules(),this.create=k.default.bind(this.create,this),this.windowResizeHandler=this.windowResize.bind(this)}return a(t,[{key:\"render\",value:function(){var t=this;return new Promise(function(e,l){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var n=t.w.config.chart.events.beforeMount;\"function\"==typeof n&&n(t,t.w),t.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),window.addResizeListener(t.el.parentNode,t.parentResizeCallback.bind(t));var i=t.create(t.w.config.series);if(!i)return e(t);t.mount(i).then(function(){e(i),\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.fireEvent(\"mounted\",[t,t.w])}).catch(function(t){l(t)})}else l(new Error(\"Element not found\"))})}},{key:\"initModules\",value:function(){this.animations=new o.default(this.ctx),this.annotations=new r.default(this.ctx),this.core=new u.default(this.el,this),this.grid=new m.default(this),this.coreUtils=new d.default(this),this.config=new c.default({}),this.crosshairs=new h.default(this.ctx),this.options=new M.default,this.responsive=new x.default(this.ctx),this.series=new _.default(this.ctx),this.theme=new w.default(this.ctx),this.formatters=new p.default(this.ctx),this.titleSubtitle=new T.default(this.ctx),this.legend=new b.default(this.ctx),this.toolbar=new D.default(this.ctx),this.dimensions=new f.default(this.ctx),this.zoomPanSelection=new C.default(this.ctx),this.w.globals.tooltip=new S.default(this.ctx)}},{key:\"addEventListener\",value:function(t,e){var l=this.w;l.globals.events.hasOwnProperty(t)?l.globals.events[t].push(e):l.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var l=this.w;if(l.globals.events.hasOwnProperty(t)){var n=l.globals.events[t].indexOf(e);-1!==n&&l.globals.events[t].splice(n,1)}}},{key:\"fireEvent\",value:function(t,e){var l=this.w;if(l.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var n=l.globals.events[t],i=n.length,a=0;a<i;a++)n[a].apply(null,e)}}},{key:\"create\",value:function(t,e){var l=this.w;this.initModules();var n=this.w.globals;if(n.noData=!1,n.animationEnded=!1,this.responsive.checkResponsiveConfig(e),null===this.el)return n.animationEnded=!0,null;if(this.core.setupElements(),0===n.svgWidth)return n.animationEnded=!0,null;this.coreUtils.checkComboSeries(),(0===t.length||1===t.length&&t[0].data&&0===t[0].data.length)&&this.series.handleNoData(),this.setupEventHandlers(),this.core.parseData(t),this.theme.init(),new v.default(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),this.legend.init(),this.series.hasAllSeriesEqualX(),n.axisCharts&&(this.core.coreCalculations(),\"category\"!==l.config.xaxis.type&&this.formatters.setLabelFormatters()),this.formatters.heatmapLabelFormatters(),this.dimensions.plotCoords();var i=this.core.xySettings();this.grid.createGridMask();var a=this.core.plotChartType(t,i);this.core.shiftGraphPosition();var r={plot:{left:l.globals.translateX,top:l.globals.translateY,width:l.globals.gridWidth,height:l.globals.gridHeight}};return{elGraph:a,xyRatios:i,elInner:l.globals.dom.elGraphical,dimensions:r}}},{key:\"mount\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=this,l=e.w;return new Promise(function(n,i){if(null===e.el)return i(new Error(\"Not enough data to display or target element not found\"));if((null===t||l.globals.allSeriesCollapsed)&&e.series.handleNoData(),e.core.drawAxis(l.config.chart.type,t.xyRatios),e.grid=new m.default(e),\"back\"===l.config.grid.position&&e.grid.drawGrid(),\"back\"===l.config.annotations.position&&e.annotations.drawAnnotations(),t.elGraph instanceof Array)for(var a=0;a<t.elGraph.length;a++)l.globals.dom.elGraphical.add(t.elGraph[a]);else l.globals.dom.elGraphical.add(t.elGraph);if(\"front\"===l.config.grid.position&&e.grid.drawGrid(),\"front\"===l.config.xaxis.crosshairs.position&&e.crosshairs.drawXCrosshairs(),\"front\"===l.config.yaxis[0].crosshairs.position&&e.crosshairs.drawYCrosshairs(),\"front\"===l.config.annotations.position&&e.annotations.drawAnnotations(),!l.globals.noData){if(l.config.tooltip.enabled&&!l.globals.noData&&e.w.globals.tooltip.drawTooltip(t.xyRatios),l.globals.axisCharts&&l.globals.isXNumeric)(l.config.chart.zoom.enabled||l.config.chart.selection&&l.config.chart.selection.enabled||l.config.chart.pan&&l.config.chart.pan.enabled)&&e.zoomPanSelection.init({xyRatios:t.xyRatios});else{var r=l.config.chart.toolbar.tools;r.zoom=!1,r.zoomin=!1,r.zoomout=!1,r.selection=!1,r.pan=!1,r.reset=!1}l.config.chart.toolbar.show&&!l.globals.allSeriesCollapsed&&e.toolbar.createToolbar()}if(0<l.globals.memory.methodsToExec.length){var o=!0,s=!1,c=void 0;try{for(var u,d=l.globals.memory.methodsToExec[Symbol.iterator]();!(o=(u=d.next()).done);o=!0){var h=u.value;h.method(h.params,!1,h.context)}}catch(n){s=!0,c=n}finally{try{!o&&d.return&&d.return()}finally{if(s)throw c}}}n(e)})}},{key:\"clearPreviousPaths\",value:function(){var t=this.w;t.globals.previousPaths=[],t.globals.allSeriesCollapsed=!1,t.globals.collapsedSeries=[],t.globals.collapsedSeriesIndices=[]}},{key:\"updateOptions\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],l=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],n=!(3<arguments.length&&void 0!==arguments[3])||arguments[3],a=this.w;return t.series&&(t.series[0].data&&(t.series=t.series.map(function(t,e){return i({},a.config.series[e],{name:t.name?t.name:a.config.series[e].name,data:t.data})})),this.revertDefaultAxisMinMax()),t.xaxis&&(t.xaxis.min||t.xaxis.max)&&this.forceXAxisUpdate(t),0<a.globals.collapsedSeriesIndices.length&&this.clearPreviousPaths(),this._updateOptions(t,e,l,n)}},{key:\"_updateOptions\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]&&arguments[1],l=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],i=3<arguments.length&&void 0!==arguments[3]&&arguments[3];this.getSyncedCharts().forEach(function(a){var r=a.w;return r.globals.shouldAnimate=l,e||(r.globals.resized=!0,r.globals.dataChanged=!0,l&&a.series.getPreviousPaths()),t&&\"object\"===(void 0===t?\"undefined\":n(t))&&(a.config=new c.default(t),t=d.default.extendArrayProps(a.config,t),r.config=k.default.extend(r.config,t),i&&(r.globals.lastXAxis=[],r.globals.lastYAxis=[],r.globals.initialConfig=k.default.extend({},r.config),r.globals.initialSeries=JSON.parse(JSON.stringify(r.config.series)))),a.update(t)})}},{key:\"updateSeries\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[],e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],l=!(2<arguments.length&&void 0!==arguments[2])||arguments[2];return this.revertDefaultAxisMinMax(),this._updateSeries(t,e,l)}},{key:\"_updateSeries\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]&&arguments[2],n=this.w;this.w.globals.shouldAnimate=e,n.globals.dataChanged=!0,n.globals.allSeriesCollapsed&&(n.globals.allSeriesCollapsed=!1),e&&this.series.getPreviousPaths();var a=void 0;return t[0].data?(a=t.map(function(t,e){return i({},n.config.series[e],{name:t.name?t.name:n.config.series[e].name,data:t.data})}),n.config.series=a):n.config.series=t.slice(),l&&(n.globals.initialConfig.series=JSON.parse(JSON.stringify(n.config.series)),n.globals.initialSeries=JSON.parse(JSON.stringify(n.config.series))),this.update()}},{key:\"getSyncedCharts\",value:function(){var t=this.getGroupedCharts(),e=[this];return t.length&&(e=[],t.forEach(function(t){e.push(t)})),e}},{key:\"getGroupedCharts\",value:function(){var t=this;return Apex._chartInstances.filter(function(t){if(t.group)return!0}).map(function(e){return t.w.config.chart.group===e.group?e.chart:null})}},{key:\"appendData\",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1];this.w.globals.dataChanged=!0,this.series.getPreviousPaths();for(var l=this.w.config.series.slice(),n=0;n<l.length;n++)if(void 0!==t[n])for(var i=0;i<t[n].data.length;i++)l[n].data.push(t[n].data[i]);return this.w.config.series=l,e&&(this.w.globals.initialSeries=JSON.parse(JSON.stringify(this.w.config.series))),this.update()}},{key:\"update\",value:function(t){var e=this;return new Promise(function(l,n){e.clear();var i=e.create(e.w.config.series,t);if(!i)return l(e);e.mount(i).then(function(){\"function\"==typeof e.w.config.chart.events.updated&&e.w.config.chart.events.updated(e,e.w),e.fireEvent(\"updated\",[e,e.w]),e.w.globals.isDirty=!0,l(e)}).catch(function(t){n(t)})})}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;void 0!==t.xaxis.min&&(e.config.xaxis.min=t.xaxis.min,e.globals.lastXAxis.min=t.xaxis.min),void 0!==t.xaxis.max&&(e.config.xaxis.max=t.xaxis.max,e.globals.lastXAxis.max=t.xaxis.max)}},{key:\"revertDefaultAxisMinMax\",value:function(){var t=this.w;t.config.xaxis.min=t.globals.lastXAxis.min,t.config.xaxis.max=t.globals.lastXAxis.max,t.config.yaxis.map(function(e,l){t.globals.zoomed&&void 0!==t.globals.lastYAxis[l]&&(e.min=t.globals.lastYAxis[l].min,e.max=t.globals.lastYAxis[l].max)})}},{key:\"clear\",value:function(){this.zoomPanSelection&&this.zoomPanSelection.destroy(),this.toolbar&&this.toolbar.destroy(),this.animations=null,this.annotations=null,this.core=null,this.grid=null,this.series=null,this.responsive=null,this.theme=null,this.formatters=null,this.titleSubtitle=null,this.legend=null,this.dimensions=null,this.options=null,this.crosshairs=null,this.zoomPanSelection=null,this.toolbar=null,this.w.globals.tooltip=null,this.clearDomElements()}},{key:\"killSVG\",value:function(t){return new Promise(function(e,l){t.each(function(t,e){this.removeClass(\"*\"),this.off(),this.stop()},!0),t.ungroup(),t.clear(),e(\"done\")})}},{key:\"clearDomElements\",value:function(){var t=this.w.globals.dom;if(null!==this.el)for(;this.el.firstChild;)this.el.removeChild(this.el.firstChild);this.killSVG(t.Paper),t.Paper.remove(),t.elWrap=null,t.elGraphical=null,t.elLegendWrap=null,t.baseEl=null,t.elGridRect=null,t.elGridRectMask=null,t.elGridRectMarkerMask=null,t.elDefs=null}},{key:\"destroy\",value:function(){this.clear();var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach(function(e,l){e.id===t&&Apex._chartInstances.splice(l,1)}),window.removeEventListener(\"resize\",this.windowResizeHandler),window.removeResizeListener(this.el.parentNode,this.parentResizeCallback.bind(this))}},{key:\"toggleSeries\",value:function(t){var e=this.series.getSeriesByName(t),l=parseInt(e.getAttribute(\"data:realIndex\")),n=e.classList.contains(\"apexcharts-series-collapsed\");this.legend.toggleDataSeries(l,n)}},{key:\"resetToggleSeries\",value:function(){this.legend.resetToggleDataSeries()}},{key:\"setupEventHandlers\",value:function(){var t=this.w,e=this,l=t.globals.dom.baseEl.querySelector(t.globals.chartClass),n=!0,i=!1,a=void 0;try{for(var r,o=[\"mousedown\",\"mousemove\",\"touchstart\",\"touchmove\",\"mouseup\",\"touchend\"][Symbol.iterator]();!(n=(r=o.next()).done);n=!0){var s=r.value;l.addEventListener(s,function(l){\"mousedown\"===l.type&&1===l.which||(\"mouseup\"===l.type&&1===l.which||\"touchend\"===l.type)&&(\"function\"==typeof t.config.chart.events.click&&t.config.chart.events.click(l,e,t),e.fireEvent(\"click\",[l,e,t]))},{capture:!1,passive:!0})}}catch(l){i=!0,a=l}finally{try{!n&&o.return&&o.return()}finally{if(i)throw a}}this.core.setupBrushHandler()}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,n=this;l&&(n=l),n.annotations.addXaxisAnnotationExternal(t,e,n)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,n=this;l&&(n=l),n.annotations.addYaxisAnnotationExternal(t,e,n)}},{key:\"addPointAnnotation\",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,n=this;l&&(n=l),n.annotations.addPointAnnotationExternal(t,e,n)}},{key:\"clearAnnotations\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"addText\",value:function(t){var e=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:void 0,n=this;l&&(n=l),n.annotations.addText(t,e,n)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return new y.default(this.ctx).getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;return new y.default(this.ctx).getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"setLocale\",value:function(t){this.setCurrentLocaleValues(t)}},{key:\"setCurrentLocaleValues\",value:function(t){var e=this.w.config.chart.locales;window.Apex.chart&&window.Apex.chart.locales&&0<window.Apex.chart.locales.length&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var l=e.find(function(e){return e.name===t});if(!l)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var n=k.default.extend(E,l);this.w.globals.locale=n.options}},{key:\"svgUrl\",value:function(){return new g.default(this.ctx).svgUrl()}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.windowResize()}},{key:\"windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout(function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.update()},150)}}],[{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),l=0;l<e.length;l++)new t(e[l],JSON.parse(e[l].getAttribute(\"data-options\"))).render()}},{key:\"exec\",value:function(t,e){var l=this.getChartByID(t);if(l){for(var n=arguments.length,i=Array(2<n?n-2:0),a=2;a<n;a++)i[a-2]=arguments[a];switch(e){case\"updateOptions\":return l.updateOptions.apply(l,i);case\"updateSeries\":return l.updateSeries.apply(l,i);case\"appendData\":return l.appendData.apply(l,i);case\"addXaxisAnnotation\":return l.addXaxisAnnotation.apply(l,i);case\"addYaxisAnnotation\":return l.addYaxisAnnotation.apply(l,i);case\"addPointAnnotation\":return l.addPointAnnotation.apply(l,i);case\"clearAnnotations\":return l.clearAnnotations.apply(l,i);case\"destroy\":return l.destroy()}}}},{key:\"merge\",value:function(t,e){return k.default.extend(t,e)}},{key:\"getChartByID\",value:function(t){return Apex._chartInstances.find(function(e){return e.id===t}).chart}}]),t}();t.exports=j},function(t,e,l){\"use strict\";t.exports=function(t,e,l,n){if(!(t instanceof e)||void 0!==n&&n in t)throw TypeError(l+\": incorrect invocation!\");return t}},function(t,e,l){\"use strict\";var n=l(15),i=l(38),a=l(30),r=l(24),o=l(95);t.exports=function(t,e){var l=1==t,s=2==t,c=3==t,u=4==t,d=6==t,h=5==t||d,f=e||o;return function(e,o,p){for(var g,m,b=a(e),v=i(b),y=n(o,p,3),x=r(v.length),_=0,w=l?f(e,x):s?f(e,0):void 0;_<x;_++)if((h||_ in v)&&(m=y(g=v[_],_,b),t))if(l)w[_]=m;else if(m)switch(t){case 3:return!0;case 5:return g;case 6:return _;case 2:w.push(g)}else if(u)return!1;return d?-1:c||u?u:w}}},function(t,e,l){\"use strict\";var n=l(18),i=l(30),a=l(38),r=l(24);t.exports=function(t,e,l,o,s){n(e);var c=i(t),u=a(c),d=r(c.length),h=s?d-1:0,f=s?-1:1;if(l<2)for(;;){if(h in u){o=u[h],h+=f;break}if(h+=f,s?h<0:d<=h)throw TypeError(\"Reduce of empty array with no initial value\")}for(;s?0<=h:h<d;h+=f)h in u&&(o=e(o,u[h],h,c));return o}},function(t,e,l){\"use strict\";var n=l(9),i=l(58),a=l(2)(\"species\");t.exports=function(t){var e;return i(t)&&(\"function\"!=typeof(e=t.constructor)||e!==Array&&!i(e.prototype)||(e=void 0),n(e)&&null===(e=e[a])&&(e=void 0)),void 0===e?Array:e}},function(t,e,l){\"use strict\";var n=l(94);t.exports=function(t,e){return new(n(t))(e)}},function(t,e,l){\"use strict\";var n=l(10),i=l(23);t.exports=function(t,e,l){e in t?n.f(t,e,i(0,l)):t[e]=l}},function(t,e,l){\"use strict\";var n=l(28),i=l(64),a=l(40);t.exports=function(t){var e=n(t),l=i.f;if(l)for(var r,o=l(t),s=a.f,c=0;o.length>c;)s.call(t,r=o[c++])&&e.push(r);return e}},function(t,e,l){\"use strict\";var n=l(15),i=l(59),a=l(57),r=l(8),o=l(24),s=l(71),c={},u={},d=t.exports=function(t,e,l,d,h){var f,p,g,m,b=h?function(){return t}:s(t),v=n(l,d,e?2:1),y=0;if(\"function\"!=typeof b)throw TypeError(t+\" is not iterable!\");if(a(b)){for(f=o(t.length);y<f;y++)if((m=e?v(r(p=t[y])[0],p[1]):v(t[y]))===c||m===u)return m}else for(g=b.call(t);!(p=g.next()).done;)if((m=i(g,v,p.value,e))===c||m===u)return m};d.BREAK=c,d.RETURN=u},function(t,e,l){\"use strict\";t.exports=function(t,e,l){var n=void 0===l;switch(e.length){case 0:return n?t():t.call(l);case 1:return n?t(e[0]):t.call(l,e[0]);case 2:return n?t(e[0],e[1]):t.call(l,e[0],e[1]);case 3:return n?t(e[0],e[1],e[2]):t.call(l,e[0],e[1],e[2]);case 4:return n?t(e[0],e[1],e[2],e[3]):t.call(l,e[0],e[1],e[2],e[3])}return t.apply(l,e)}},function(t,e,l){\"use strict\";var n=l(62),i=l(23),a=l(29),r={};l(13)(r,l(2)(\"iterator\"),function(){return this}),t.exports=function(t,e,l){t.prototype=n(r,{next:i(1,l)}),a(t,e+\" Iterator\")}},function(t,e,l){\"use strict\";t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=l(25)(\"meta\"),a=l(9),r=l(12),o=l(10).f,s=0,c=Object.isExtensible||function(){return!0},u=!l(20)(function(){return c(Object.preventExtensions({}))}),d=function(t){o(t,i,{value:{i:\"O\"+ ++s,w:{}}})},h=t.exports={KEY:i,NEED:!1,fastKey:function(t,e){if(!a(t))return\"symbol\"==(void 0===t?\"undefined\":n(t))?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!r(t,i)){if(!c(t))return\"F\";if(!e)return\"E\";d(t)}return t[i].i},getWeak:function(t,e){if(!r(t,i)){if(!c(t))return!0;if(!e)return!1;d(t)}return t[i].w},onFreeze:function(t){return u&&h.NEED&&c(t)&&!r(t,i)&&d(t),t}}},function(t,e,l){\"use strict\";var n=l(3),i=l(69).set,a=n.MutationObserver||n.WebKitMutationObserver,r=n.process,o=n.Promise,s=\"process\"==l(19)(r);t.exports=function(){var t,e,l,c=function(){var n,i;for(s&&(n=r.domain)&&n.exit();t;){i=t.fn,t=t.next;try{i()}catch(n){throw t?l():e=void 0,n}}e=void 0,n&&n.enter()};if(s)l=function(){r.nextTick(c)};else if(!a||n.navigator&&n.navigator.standalone)if(o&&o.resolve){var u=o.resolve(void 0);l=function(){u.then(c)}}else l=function(){i.call(n,c)};else{var d=!0,h=document.createTextNode(\"\");new a(c).observe(h,{characterData:!0}),l=function(){h.data=d=!d}}return function(n){var i={fn:n,next:void 0};e&&(e.next=i),t||(t=i,l()),e=i}}},function(t,e,l){\"use strict\";var n=l(10),i=l(8),a=l(28);t.exports=l(11)?Object.defineProperties:function(t,e){i(t);for(var l,r=a(e),o=r.length,s=0;s<o;)n.f(t,l=r[s++],e[l]);return t}},function(t,e,l){\"use strict\";var n=l(40),i=l(23),a=l(17),r=l(44),o=l(12),s=l(56),c=Object.getOwnPropertyDescriptor;e.f=l(11)?c:function(t,e){if(t=a(t),e=r(e,!0),s)try{return c(t,e)}catch(t){}if(o(t,e))return i(!n.f.call(t,e),t[e])}},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=l(17),a=l(63).f,r={}.toString,o=\"object\"==(\"undefined\"==typeof window?\"undefined\":n(window))&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return o&&\"[object Window]\"==r.call(t)?function(t){try{return a(t)}catch(t){return o.slice()}}(t):a(i(t))}},function(t,e,l){\"use strict\";var n=l(12),i=l(30),a=l(41)(\"IE_PROTO\"),r=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),n(t,a)?t[a]:\"function\"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?r:null}},function(t,e,l){\"use strict\";var n=l(16);t.exports=function(t,e,l){for(var i in e)n(t,i,e[i],l);return t}},function(t,e,l){\"use strict\";var n=l(3),i=l(10),a=l(11),r=l(2)(\"species\");t.exports=function(t){var e=n[t];a&&e&&!e[r]&&i.f(e,r,{configurable:!0,get:function(){return this}})}},function(t,e,l){\"use strict\";var n=l(20);t.exports=function(t,e){return!!t&&n(function(){e?t.call(null,function(){},1):t.call(null)})}},function(t,e,l){\"use strict\";var n=l(43),i=l(35);t.exports=function(t){return function(e,l){var a,r,o=String(i(e)),s=n(l),c=o.length;return s<0||c<=s?t?\"\":void 0:(a=o.charCodeAt(s))<55296||56319<a||s+1===c||(r=o.charCodeAt(s+1))<56320||57343<r?t?o.charAt(s):a:t?o.slice(s,s+2):r-56320+(a-55296<<10)+65536}}},function(t,e,l){\"use strict\";var n=l(43),i=Math.max,a=Math.min;t.exports=function(t,e){return(t=n(t))<0?i(t+e,0):a(t,e)}},function(t,e,l){\"use strict\";var n=l(3).navigator;t.exports=n&&n.userAgent||\"\"},function(t,e,l){\"use strict\";var n=l(5),i=l(92)(5),a=!0;\"find\"in[]&&Array(1).find(function(){a=!1}),n(n.P+n.F*a,\"Array\",{find:function(t){return i(this,t,1<arguments.length?arguments[1]:void 0)}}),l(33)(\"find\")},function(t,e,l){\"use strict\";var n=l(15),i=l(5),a=l(30),r=l(59),o=l(57),s=l(24),c=l(96),u=l(71);i(i.S+i.F*!l(61)(function(t){Array.from(t)}),\"Array\",{from:function(t){var e,l,i,d,h=a(t),f=\"function\"==typeof this?this:Array,p=arguments.length,g=1<p?arguments[1]:void 0,m=void 0!==g,b=0,v=u(h);if(m&&(g=n(g,2<p?arguments[2]:void 0,2)),null==v||f==Array&&o(v))for(l=new f(e=s(h.length));b<e;b++)c(l,b,m?g(h[b],b):h[b]);else for(d=v.call(h),l=new f;!(i=d.next()).done;b++)c(l,b,m?r(d,g,[i.value,b],!0):i.value);return l.length=b,l}})},function(t,e,l){\"use strict\";var n=l(33),i=l(101),a=l(21),r=l(17);t.exports=l(60)(Array,\"Array\",function(t,e){this._t=r(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,l=this._i++;return!t||l>=t.length?(this._t=void 0,i(1)):i(0,\"keys\"==e?l:\"values\"==e?t[l]:[l,t[l]])},\"values\"),a.Arguments=a.Array,n(\"keys\"),n(\"values\"),n(\"entries\")},function(t,e,l){\"use strict\";var n=l(5),i=l(93);n(n.P+n.F*!l(110)([].reduce,!0),\"Array\",{reduce:function(t){return i(this,t,arguments.length,arguments[1],!1)}})},function(t,e,l){\"use strict\";var n,i,a,r,o=l(22),s=l(3),c=l(15),u=l(34),d=l(5),h=l(9),f=l(18),p=l(91),g=l(98),m=l(68),b=l(69).set,v=l(103)(),y=l(39),x=l(66),_=l(113),w=l(67),S=\"Promise\",k=s.TypeError,C=s.process,T=C&&C.versions,D=T&&T.v8||\"\",M=s[S],A=\"process\"==u(C),E=function(){},j=i=y.f,I=!!function(){try{var t=M.resolve(1),e=(t.constructor={})[l(2)(\"species\")]=function(t){t(E,E)};return(A||\"function\"==typeof PromiseRejectionEvent)&&t.then(E)instanceof e&&0!==D.indexOf(\"6.6\")&&-1===_.indexOf(\"Chrome/66\")}catch(t){}}(),P=function(t){var e;return!(!h(t)||\"function\"!=typeof(e=t.then))&&e},O=function(t,e){if(!t._n){t._n=!0;var l=t._c;v(function(){for(var n=t._v,i=1==t._s,a=0,r=function(e){var l,a,r,o=i?e.ok:e.fail,s=e.resolve,c=e.reject,u=e.domain;try{o?(i||(2==t._h&&N(t),t._h=1),!0===o?l=n:(u&&u.enter(),l=o(n),u&&(u.exit(),r=!0)),l===e.promise?c(k(\"Promise-chain cycle\")):(a=P(l))?a.call(l,s,c):s(l)):c(n)}catch(e){u&&!r&&u.exit(),c(e)}};l.length>a;)r(l[a++]);t._c=[],t._n=!1,e&&!t._h&&L(t)})}},L=function(t){b.call(s,function(){var e,l,n,i=t._v,a=R(t);if(a&&(e=x(function(){A?C.emit(\"unhandledRejection\",i,t):(l=s.onunhandledrejection)?l({promise:t,reason:i}):(n=s.console)&&n.error&&n.error(\"Unhandled promise rejection\",i)}),t._h=A||R(t)?2:1),t._a=void 0,a&&e.e)throw e.v})},R=function(t){return 1!==t._h&&0===(t._a||t._c).length},N=function(t){b.call(s,function(){var e;A?C.emit(\"rejectionHandled\",t):(e=s.onrejectionhandled)&&e({promise:t,reason:t._v})})},F=function(t){var e=this;e._d||(e._d=!0,(e=e._w||e)._v=t,e._s=2,e._a||(e._a=e._c.slice()),O(e,!0))},B=function t(e){var l,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw k(\"Promise can't be resolved itself\");(l=P(e))?v(function(){var i={_w:n,_d:!1};try{l.call(e,c(t,i,1),c(F,i,1))}catch(t){F.call(i,t)}}):(n._v=e,n._s=1,O(n,!1))}catch(t){F.call({_w:n,_d:!1},t)}}};I||(M=function(t){p(this,M,S,\"_h\"),f(t),n.call(this);try{t(c(B,this,1),c(F,this,1))}catch(t){F.call(this,t)}},(n=function(t){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=l(108)(M.prototype,{then:function(t,e){var l=j(m(this,M));return l.ok=\"function\"!=typeof t||t,l.fail=\"function\"==typeof e&&e,l.domain=A?C.domain:void 0,this._c.push(l),this._a&&this._a.push(l),this._s&&O(this,!1),l.promise},catch:function(t){return this.then(void 0,t)}}),a=function(){var t=new n;this.promise=t,this.resolve=c(B,t,1),this.reject=c(F,t,1)},y.f=j=function(t){return t===M||t===r?new a(t):i(t)}),d(d.G+d.W+d.F*!I,{Promise:M}),l(29)(M,S),l(109)(S),r=l(4)[S],d(d.S+d.F*!I,S,{reject:function(t){var e=j(this);return(0,e.reject)(t),e.promise}}),d(d.S+d.F*(o||!I),S,{resolve:function(t){return w(o&&this===r?M:this,t)}}),d(d.S+d.F*!(I&&l(61)(function(t){M.all(t).catch(E)})),S,{all:function(t){var e=this,l=j(e),n=l.resolve,i=l.reject,a=x(function(){var l=[],a=0,r=1;g(t,!1,function(t){var o=a++,s=!1;l.push(void 0),r++,e.resolve(t).then(function(t){s||(s=!0,l[o]=t,--r||n(l))},i)}),--r||n(l)});return a.e&&i(a.v),l.promise},race:function(t){var e=this,l=j(e),n=l.reject,i=x(function(){g(t,!1,function(t){e.resolve(t).then(l.resolve,n)})});return i.e&&n(i.v),l.promise}})},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},i=l(3),a=l(12),r=l(11),o=l(5),s=l(16),c=l(102).KEY,u=l(20),d=l(42),h=l(29),f=l(25),p=l(2),g=l(70),m=l(45),b=l(97),v=l(58),y=l(8),x=l(9),_=l(17),w=l(44),S=l(23),k=l(62),C=l(106),T=l(105),D=l(10),M=l(28),A=T.f,E=D.f,j=C.f,I=i.Symbol,P=i.JSON,O=P&&P.stringify,L=\"prototype\",R=p(\"_hidden\"),N=p(\"toPrimitive\"),F={}.propertyIsEnumerable,B=d(\"symbol-registry\"),H=d(\"symbols\"),q=d(\"op-symbols\"),Z=Object[L],z=\"function\"==typeof I,$=i.QObject,Y=!$||!$[L]||!$[L].findChild,W=r&&u(function(){return 7!=k(E({},\"a\",{get:function(){return E(this,\"a\",{value:7}).a}})).a})?function(t,e,l){var n=A(Z,e);n&&delete Z[e],E(t,e,l),n&&t!==Z&&E(Z,e,n)}:E,V=function(t){var e=H[t]=k(I[L]);return e._k=t,e},U=z&&\"symbol\"==n(I.iterator)?function(t){return\"symbol\"==(void 0===t?\"undefined\":n(t))}:function(t){return t instanceof I},G=function(t,e,l){return t===Z&&G(q,e,l),y(t),e=w(e,!0),y(l),a(H,e)?(l.enumerable?(a(t,R)&&t[R][e]&&(t[R][e]=!1),l=k(l,{enumerable:S(0,!1)})):(a(t,R)||E(t,R,S(1,{})),t[R][e]=!0),W(t,e,l)):E(t,e,l)},X=function(t,e){y(t);for(var l,n=b(e=_(e)),i=0,a=n.length;i<a;)G(t,l=n[i++],e[l]);return t},K=function(t){var e=F.call(this,t=w(t,!0));return!(this===Z&&a(H,t)&&!a(q,t))&&(!(e||!a(this,t)||!a(H,t)||a(this,R)&&this[R][t])||e)},Q=function(t,e){if(t=_(t),e=w(e,!0),t!==Z||!a(H,e)||a(q,e)){var l=A(t,e);return!l||!a(H,e)||a(t,R)&&t[R][e]||(l.enumerable=!0),l}},J=function(t){for(var e,l=j(_(t)),n=[],i=0;l.length>i;)a(H,e=l[i++])||e==R||e==c||n.push(e);return n},tt=function(t){for(var e,l=t===Z,n=j(l?q:_(t)),i=[],r=0;n.length>r;)!a(H,e=n[r++])||l&&!a(Z,e)||i.push(H[e]);return i};z||(s((I=function(){if(this instanceof I)throw TypeError(\"Symbol is not a constructor!\");var t=f(0<arguments.length?arguments[0]:void 0);return r&&Y&&W(Z,t,{configurable:!0,set:function e(l){this===Z&&e.call(q,l),a(this,R)&&a(this[R],t)&&(this[R][t]=!1),W(this,t,S(1,l))}}),V(t)})[L],\"toString\",function(){return this._k}),T.f=Q,D.f=G,l(63).f=C.f=J,l(40).f=K,l(64).f=tt,r&&!l(22)&&s(Z,\"propertyIsEnumerable\",K,!0),g.f=function(t){return V(p(t))}),o(o.G+o.W+o.F*!z,{Symbol:I});for(var et=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),lt=0;et.length>lt;)p(et[lt++]);for(var nt=M(p.store),it=0;nt.length>it;)m(nt[it++]);o(o.S+o.F*!z,\"Symbol\",{for:function(t){return a(B,t+=\"\")?B[t]:B[t]=I(t)},keyFor:function(t){if(!U(t))throw TypeError(t+\" is not a symbol!\");for(var e in B)if(B[e]===t)return e},useSetter:function(){Y=!0},useSimple:function(){Y=!1}}),o(o.S+o.F*!z,\"Object\",{create:function(t,e){return void 0===e?k(t):X(k(t),e)},defineProperty:G,defineProperties:X,getOwnPropertyDescriptor:Q,getOwnPropertyNames:J,getOwnPropertySymbols:tt}),P&&o(o.S+o.F*(!z||u(function(){var t=I();return\"[null]\"!=O([t])||\"{}\"!=O({a:t})||\"{}\"!=O(Object(t))})),\"JSON\",{stringify:function(t){for(var e,l,n=[t],i=1;arguments.length>i;)n.push(arguments[i++]);if(l=e=n[1],(x(e)||void 0!==t)&&!U(t))return v(e)||(e=function(t,e){if(\"function\"==typeof l&&(e=l.call(this,t,e)),!U(e))return e}),n[1]=e,O.apply(P,n)}}),I[L][N]||l(13)(I[L],N,I[L].valueOf),h(I,\"Symbol\"),h(Math,\"Math\",!0),h(i.JSON,\"JSON\",!0)},function(t,e,l){\"use strict\";var n=l(5),i=l(54)(!0);n(n.P,\"Array\",{includes:function(t){return i(this,t,1<arguments.length?arguments[1]:void 0)}}),l(33)(\"includes\")},function(t,e,l){\"use strict\";var n=l(5),i=l(4),a=l(3),r=l(68),o=l(67);n(n.P+n.R,\"Promise\",{finally:function(t){var e=r(this,i.Promise||a.Promise),l=\"function\"==typeof t;return this.then(l?function(l){return o(e,t()).then(function(){return l})}:t,l?function(l){return o(e,t()).then(function(){throw l})}:t)}})},function(t,e,l){\"use strict\";var n=l(5),i=l(39),a=l(66);n(n.S,\"Promise\",{try:function(t){var e=i.f(this),l=a(t);return(l.e?e.reject:e.resolve)(l.v),e.promise}})},function(t,e,l){\"use strict\";l(45)(\"asyncIterator\")},function(t,e,l){\"use strict\";l(45)(\"observable\")},function(t,e,l){\"use strict\";for(var n=l(116),i=l(28),a=l(16),r=l(3),o=l(13),s=l(21),c=l(2),u=c(\"iterator\"),d=c(\"toStringTag\"),h=s.Array,f={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},p=i(f),g=0;g<p.length;g++){var m,b=p[g],v=f[b],y=r[b],x=y&&y.prototype;if(x&&(x[u]||o(x,u,h),x[d]||o(x,d,b),s[b]=h,v))for(m in n)x[m]||a(x,m,n[m],!0)}},function(t,e,l){\"use strict\";t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var l=function(t,e){var l,n=t[1]||\"\",i=t[3];if(!i)return n;if(e&&\"function\"==typeof btoa){var a=(l=i,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(l))))+\" */\"),r=i.sources.map(function(t){return\"/*# sourceURL=\"+i.sourceRoot+t+\" */\"});return[n].concat(r).concat([a]).join(\"\\n\")}return[n].join(\"\\n\")}(e,t);return e[2]?\"@media \"+e[2]+\"{\"+l+\"}\":l}).join(\"\")},e.i=function(t,l){\"string\"==typeof t&&(t=[[null,t,\"\"]]);for(var n={},i=0;i<this.length;i++){var a=this[i][0];\"number\"==typeof a&&(n[a]=!0)}for(i=0;i<t.length;i++){var r=t[i];\"number\"==typeof r[0]&&n[r[0]]||(l&&!r[2]?r[2]=l:l&&(r[2]=\"(\"+r[2]+\") and (\"+l+\")\"),e.push(r))}},e}},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=s(l(6)),a=s(l(46)),r=s(l(14)),o=s(l(0));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,e),function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,a.default),n(e,[{key:\"draw\",value:function(t,e){var l=this,n=this.w;this.graphics=new o.default(this.ctx),this.fill=new r.default(this.ctx),this.bar=new a.default(this.ctx,this.xyRatios);var s=new i.default(this.ctx,n);this.series=s.getLogSeries(t),t=this.series,this.yRatio=s.getLogYRatios(this.yRatio),this.series=t,this.initVariables(t),\"100%\"===n.config.chart.stackType&&(this.series=n.globals.seriesPercent.slice(),t=this.series),this.totalItems=0,this.prevY=[],this.prevX=[],this.prevYF=[],this.prevXF=[],this.prevYVal=[],this.prevXVal=[],this.xArrj=[],this.xArrjF=[],this.xArrjVal=[],this.yArrj=[],this.yArrjF=[],this.yArrjVal=[];for(var c=0;c<t.length;c++)0<t[c].length&&(this.totalItems+=t[c].length);this.zeroSerieses=[],this.endingShapeOnSeriesNumber=t.length-1,this.checkZeroSeries({series:t});var u=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});u.attr(\"clip-path\",\"url(#gridRectMask\"+n.globals.cuid+\")\");for(var d=0,h=0,f=function(i,a){var r=void 0,o=void 0,s=void 0,c=void 0,f=void 0,p=void 0,g=[],m=[],b=n.globals.comboCharts?e[i]:i;1<l.yRatio.length&&(l.yaxisIndex=b);var v,y,x=l.graphics.group({class:\"apexcharts-series \"+n.globals.seriesNames[b].toString().replace(/ /g,\"-\"),rel:i+1,\"data:realIndex\":b}),_=l.graphics.group({class:\"apexcharts-datalabels\"}),w=0,S=l.initialPositions(d,h,s,c,f,p);h=S.y,v=S.barHeight,c=S.yDivision,p=S.zeroW,d=S.x,y=S.barWidth,s=S.xDivision,f=S.zeroH,l.yArrj=[],l.yArrjF=[],l.yArrjVal=[],l.xArrj=[],l.xArrjF=[],l.xArrjVal=[];for(var k=function(e){n.config.stroke.show&&(w=l.isNullValue?0:Array.isArray(l.strokeWidth)?l.strokeWidth[b]:l.strokeWidth);var u=null;u=l.isHorizontal?l.drawBarPaths({indexes:{i:i,j:e,realIndex:b,bc:a},barHeight:v,strokeWidth:w,pathTo:r,pathFrom:o,zeroW:p,x:d,y:h,yDivision:c,elSeries:x}):l.drawColumnPaths({indexes:{i:i,j:e,realIndex:b,bc:a},x:d,y:h,xDivision:s,pathTo:r,pathFrom:o,barWidth:y,zeroH:f,strokeWidth:w,elSeries:x}),r=u.pathTo,o=u.pathFrom,h=u.y,d=u.x,g.push(d),m.push(h);var S=n.config.plotOptions.bar.distributed?e:i,k=n.globals.colors[b];0<l.barOptions.colors.ranges.length&&l.barOptions.colors.ranges.map(function(l,n){t[i][e]>=l.from&&t[i][e]<=l.to&&(k=l.color)});var C=l.fill.fillPath(x,{seriesNumber:S,color:k});x=l.renderSeries({realIndex:b,pathFill:C,j:e,i:i,pathFrom:o,pathTo:r,strokeWidth:w,elSeries:x,x:d,y:h,series:t,barHeight:v,barWidth:y,elDataLabelsWrap:_,type:\"bar\",visibleSeries:0})},C=0;C<n.globals.dataPoints;C++)k(C);n.globals.seriesXvalues[b]=g,n.globals.seriesYvalues[b]=m,l.prevY.push(l.yArrj),l.prevYF.push(l.yArrjF),l.prevYVal.push(l.yArrjVal),l.prevX.push(l.xArrj),l.prevXF.push(l.xArrjF),l.prevXVal.push(l.xArrjVal),u.add(x)},p=0,g=0;p<t.length;p++,g++)f(p,g);return u}},{key:\"initialPositions\",value:function(t,e,l,n,i,a){var r=this.w,o=void 0,s=void 0;return this.isHorizontal?(o=(o=n=r.globals.gridHeight/r.globals.dataPoints)*parseInt(r.config.plotOptions.bar.barHeight)/100,a=this.baseLineInvertedY+r.globals.padHorizontal,e=(n-o)/2):(s=l=r.globals.gridWidth/r.globals.dataPoints,s=r.globals.isXNumeric?(l=this.minXDiff/this.xRatio)/this.seriesLen*parseInt(this.barOptions.columnWidth)/100:s*parseInt(r.config.plotOptions.bar.columnWidth)/100,i=this.baseLineY[this.yaxisIndex]+1,t=r.globals.padHorizontal+(l-s)/2),{x:t,y:e,yDivision:n,xDivision:l,barHeight:o,barWidth:s,zeroH:i,zeroW:a}}},{key:\"drawBarPaths\",value:function(t){for(var e=t.indexes,l=t.barHeight,n=t.strokeWidth,i=t.pathTo,a=t.pathFrom,r=t.zeroW,o=t.x,s=t.y,c=t.yDivision,u=t.elSeries,d=this.w,h=s,f=void 0,p=e.i,g=e.j,m=e.realIndex,b=e.bc,v=0,y=0;y<this.prevXF.length;y++)v+=this.prevXF[y][g];if(0<p){var x=r;this.prevXVal[p-1][g]<0?x=0<=this.series[p][g]?this.prevX[p-1][g]+v:this.prevX[p-1][g]:0<=this.prevXVal[p-1][g]&&(x=0<=this.series[p][g]?this.prevX[p-1][g]:this.prevX[p-1][g]-v),f=x}else f=r;o=null===this.series[p][g]?f:f+this.series[p][g]/this.invertedYRatio;var _={barHeight:l,strokeWidth:n,invertedYRatio:this.invertedYRatio,barYPosition:h,x:o},w=this.bar.barEndingShape(d,_,this.series,p,g);if(1<this.series.length&&p!==this.endingShapeOnSeriesNumber&&(w.path=this.graphics.line(w.newX,h+l-n)),this.xArrj.push(w.newX),this.xArrjF.push(Math.abs(f-w.newX)),this.xArrjVal.push(this.series[p][g]),i=this.graphics.move(f,h),a=this.graphics.move(f,h),0<d.globals.previousPaths.length&&(a=this.bar.getPathFrom(m,g,!1)),i=i+this.graphics.line(w.newX,h)+w.path+this.graphics.line(f,h+l-n)+this.graphics.line(f,h),a=a+this.graphics.line(f,h)+this.graphics.line(f,h+l-n)+this.graphics.line(f,h+l-n)+this.graphics.line(f,h+l-n)+this.graphics.line(f,h),0<d.config.plotOptions.bar.colors.backgroundBarColors.length&&0===p){b>=d.config.plotOptions.bar.colors.backgroundBarColors.length&&(b=0);var S=d.config.plotOptions.bar.colors.backgroundBarColors[b],k=this.graphics.drawRect(0,h,d.globals.gridWidth,l,0,S,d.config.plotOptions.bar.colors.backgroundBarOpacity);u.add(k),k.node.classList.add(\"apexcharts-backgroundBar\")}return{pathTo:i,pathFrom:a,x:o,y:s+=c}}},{key:\"drawColumnPaths\",value:function(t){var e=t.indexes,l=t.x,n=t.y,i=t.xDivision,a=t.pathTo,r=t.pathFrom,o=t.barWidth,s=t.zeroH,c=t.strokeWidth,u=t.elSeries,d=this.w,h=e.i,f=e.j,p=e.realIndex,g=e.bc;if(d.globals.isXNumeric){var m=d.globals.seriesX[h][f];m||(m=0),l=(m-d.globals.minX)/this.xRatio-o/2}for(var b=l,v=void 0,y=0,x=0;x<this.prevYF.length;x++)y+=this.prevYF[x][f];if(0<h&&!d.globals.isXNumeric||0<h&&d.globals.isXNumeric&&d.globals.seriesX[h-1][f]===d.globals.seriesX[h][f]){var _=this.prevY[h-1][f];v=this.prevYVal[h-1][f]<0?0<=this.series[h][f]?_-y:_:0<=this.series[h][f]?_:_+y}else v=d.globals.gridHeight-s;this.series[h][f],n=v-this.series[h][f]/this.yRatio[this.yaxisIndex];var w={barWidth:o,strokeWidth:c,yRatio:this.yRatio[this.yaxisIndex],barXPosition:b,y:n},S=this.bar.barEndingShape(d,w,this.series,h,f);if(1<this.series.length&&h!==this.endingShapeOnSeriesNumber&&(S.path=this.graphics.line(b+o-c,S.newY)),this.yArrj.push(S.newY),this.yArrjF.push(Math.abs(v-S.newY)),this.yArrjVal.push(this.series[h][f]),a=this.graphics.move(b,v),r=this.graphics.move(b,v),0<d.globals.previousPaths.length&&(r=this.bar.getPathFrom(p,f,!1)),a=a+this.graphics.line(b,S.newY)+S.path+this.graphics.line(b+o-c,v)+this.graphics.line(b,v),r=r+this.graphics.line(b,v)+this.graphics.line(b+o-c,v)+this.graphics.line(b+o-c,v)+this.graphics.line(b+o-c,v)+this.graphics.line(b,v),0<d.config.plotOptions.bar.colors.backgroundBarColors.length&&0===h){g>=d.config.plotOptions.bar.colors.backgroundBarColors.length&&(g=0);var k=d.config.plotOptions.bar.colors.backgroundBarColors[g],C=this.graphics.drawRect(b,0,o,d.globals.gridHeight,0,k,d.config.plotOptions.bar.colors.backgroundBarOpacity);u.add(C),C.node.classList.add(\"apexcharts-backgroundBar\")}return l+=i,{pathTo:a,pathFrom:r,x:d.globals.isXNumeric?l-i:l,y:n}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,l=this.w,n=0;n<e.length;n++){for(var i=0,a=0;a<e[l.globals.maxValsInArrayIndex].length;a++)i+=e[n][a];0===i&&this.zeroSerieses.push(n)}for(var r=e.length-1;0<=r;r--)-1<this.zeroSerieses.indexOf(r)&&r===this.endingShapeOnSeriesNumber&&(this.endingShapeOnSeriesNumber-=1)}}]),e}();e.default=c},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=s(l(6)),a=s(l(46)),r=s(l(14)),o=s(l(0));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(t){function e(){return function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,e),function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,a.default),n(e,[{key:\"draw\",value:function(t,e){var l=this.w,n=new o.default(this.ctx),a=new r.default(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick;var s=new i.default(this.ctx,l);this.series=s.getLogSeries(t),t=this.series,this.yRatio=s.getLogYRatios(this.yRatio),this.initVariables(t);var c=n.group({class:\"apexcharts-candlestick-series apexcharts-plot-series\"});c.attr(\"clip-path\",\"url(#gridRectMask\"+l.globals.cuid+\")\");for(var u=0,d=0;u<t.length;u++,d++){var h,f,p=void 0,g=void 0,m=void 0,b=void 0,v=[],y=[],x=l.globals.comboCharts?e[u]:u,_=n.group({class:\"apexcharts-series \"+l.globals.seriesNames[x].toString().replace(/ /g,\"-\"),rel:u+1,\"data:realIndex\":x});0<t[u].length&&(this.visibleI=this.visibleI+1);var w,S,k=0;1<this.yRatio.length&&(this.yaxisIndex=x);var C=this.initialPositions();b=C.y,w=C.barHeight,m=C.x,S=C.barWidth,h=C.xDivision,f=C.zeroH,y.push(m+S/2);for(var T=n.group({class:\"apexcharts-datalabels\"}),D=0,M=l.globals.dataPoints;D<l.globals.dataPoints;D++,M--){void 0===this.series[u][D]||null===t[u][D]?this.isNullValue=!0:this.isNullValue=!1,l.config.stroke.show&&(k=this.isNullValue?0:Array.isArray(this.strokeWidth)?this.strokeWidth[x]:this.strokeWidth);var A,E=this.drawCandleStickPaths({indexes:{i:u,j:D,realIndex:x,bc:d},x:m,y:b,xDivision:h,pathTo:p,pathFrom:g,barWidth:S,zeroH:f,strokeWidth:k,elSeries:_});p=E.pathTo,g=E.pathFrom,b=E.y,m=E.x,A=E.color,0<D&&y.push(m+S/2),v.push(b);var j=a.fillPath(_,{seriesNumber:x,color:A}),I=this.candlestickOptions.wick.useFillColor?A:void 0;_=this.renderSeries({realIndex:x,pathFill:j,lineFill:I,j:D,i:u,pathFrom:g,pathTo:p,strokeWidth:k,elSeries:_,x:m,y:b,series:t,barHeight:w,barWidth:S,elDataLabelsWrap:T,visibleSeries:this.visibleI,type:\"candlestick\"})}l.globals.seriesXvalues[x]=y,l.globals.seriesYvalues[x]=v,c.add(_)}return c}},{key:\"drawCandleStickPaths\",value:function(t){var e=t.indexes,l=t.x,n=(t.y,t.xDivision),i=t.pathTo,a=t.pathFrom,r=t.barWidth,s=t.zeroH,c=t.strokeWidth,u=this.w,d=new o.default(this.ctx),h=e.i,f=e.j,p=!0,g=u.config.plotOptions.candlestick.colors.upward,m=u.config.plotOptions.candlestick.colors.downward,b=this.yRatio[this.yaxisIndex],v=e.realIndex,y=this.getOHLCValue(v,f),x=s,_=s;y.o>y.c&&(p=!1);var w=Math.min(y.o,y.c),S=Math.max(y.o,y.c);u.globals.isXNumeric&&(l=(u.globals.seriesX[h][f]-u.globals.minX)/this.xRatio-r/2);var k=l+r*this.visibleI;return d.move(k,s),a=d.move(k,s),0<u.globals.previousPaths.length&&(a=this.getPathFrom(v,f,!0)),void 0===this.series[h][f]||null===this.series[h][f]?w=s:(w=s-w/b,S=s-S/b,x=s-y.h/b,_=s-y.l/b),i=d.move(k,S)+d.line(k+r/2,S)+d.line(k+r/2,x)+d.line(k+r/2,S)+d.line(k+r,S)+d.line(k+r,w)+d.line(k+r/2,w)+d.line(k+r/2,_)+d.line(k+r/2,w)+d.line(k,w)+d.line(k,S-c/2),u.globals.isXNumeric||(l+=n),{pathTo:i,pathFrom:a,x:l,y:S,barXPosition:k,color:p?g:m}}},{key:\"getOHLCValue\",value:function(t,e){var l=this.w;return{o:l.globals.seriesCandleO[t][e],h:l.globals.seriesCandleH[t][e],l:l.globals.seriesCandleL[t][e],c:l.globals.seriesCandleC[t][e]}}}]),e}();e.default=c},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=c(l(47)),a=c(l(26)),r=c(l(0)),o=c(l(1)),s=c(l(7));function c(t){return t&&t.__esModule?t:{default:t}}function u(t){if(Array.isArray(t)){for(var e=0,l=Array(t.length);e<t.length;e++)l[e]=t[e];return l}return Array.from(t)}var d=function(){function t(e,l){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.xRatio=l.xRatio,this.yRatio=l.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.width}return n(t,[{key:\"draw\",value:function(t){var e=this.w,l=new r.default(this.ctx),n=l.group({class:\"apexcharts-heatmap\"});n.attr(\"clip-path\",\"url(#gridRectMask\"+e.globals.cuid+\")\");for(var i=e.globals.gridWidth/e.globals.dataPoints,a=e.globals.gridHeight/e.globals.series.length,c=0,u=t.length-1;0<=u;u--){var d=l.group({class:\"apexcharts-series apexcharts-heatmap-series \"+e.globals.seriesNames[u].toString().replace(/ /g,\"-\"),rel:u+1,\"data:realIndex\":u});if(e.config.chart.dropShadow.enabled){var h=e.config.chart.dropShadow;new s.default(this.ctx).dropShadow(d,h)}for(var f=0,p=0;p<t[u].length;p++){var g=1,m=this.determineHeatColor(u,p);if(e.globals.hasNegs){var b=e.config.plotOptions.heatmap.shadeIntensity;g=m.percent<0?1-(1+m.percent/100)*b:(1-m.percent/100)*b}else g=1-m.percent/100;var v=m.color;if(e.config.plotOptions.heatmap.enableShades){var y=new o.default;v=o.default.hexToRgba(y.shadeColor(g,m.color),e.config.fill.opacity)}var x=this.rectRadius,_=l.drawRect(f,c,i,a,x);if(_.attr({cx:f,cy:c}),_.node.classList.add(\"apexcharts-heatmap-rect\"),d.add(_),_.attr({fill:v,i:u,j:p,val:t[u][p],\"stroke-width\":this.strokeWidth,stroke:e.globals.stroke.colors[0],color:v}),e.config.chart.animations.enabled&&!e.globals.dataChanged){var w=1;e.globals.resized||(w=e.config.chart.animations.speed),this.animateHeatMap(_,f,c,i,a,w)}if(e.globals.dataChanged){var S=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){S=this.dynamicAnim.speed;var k=e.globals.previousPaths[u]&&e.globals.previousPaths[u][p]&&e.globals.previousPaths[u][p].color;k||(k=\"rgba(255, 255, 255, 1)\"),this.animateHeatColor(_,o.default.rgb2hex(k),o.default.rgb2hex(v),S)}}var C=this.calculateHeatmapDataLabels({x:f,y:c,i:u,j:p,series:t,rectHeight:a,rectWidth:i});null!==C&&d.add(C),f+=i}c+=a,n.add(d)}e.globals.yAxisScale[0].result.push(\"\");var T=e.globals.gridHeight/e.globals.series.length;return e.config.yaxis[0].labels.offsetY=-T/2,n}},{key:\"determineHeatColor\",value:function(t,e){var l=this.w,n=l.globals.series[t][e],i=l.config.plotOptions.heatmap,a=i.colorScale.inverse?e:t,r=l.globals.colors[a],o=Math.min.apply(Math,u(l.globals.series[t])),s=Math.max.apply(Math,u(l.globals.series[t]));i.distributed||(o=l.globals.minY,s=l.globals.maxY),void 0!==i.colorScale.min&&(o=i.colorScale.min<l.globals.minY?i.colorScale.min:l.globals.minY,s=i.colorScale.max>l.globals.maxY?i.colorScale.max:l.globals.maxY);var c=Math.abs(s)+Math.abs(o),d=100*n/(0===c?c-1e-6:c);return 0<i.colorScale.ranges.length&&i.colorScale.ranges.map(function(t,e){n>=t.from&&n<=t.to&&(r=t.color,o=t.from,s=t.to,c=Math.abs(s)+Math.abs(o),d=100*n/c)}),{color:r,percent:d}}},{key:\"calculateHeatmapDataLabels\",value:function(t){var e=t.x,l=t.y,n=t.i,a=t.j,o=(t.series,t.rectHeight),s=t.rectWidth,c=this.w,u=c.config.dataLabels,d=new r.default(this.ctx),h=new i.default(this.ctx),f=u.formatter,p=null;if(u.enabled){p=d.group({class:\"apexcharts-data-labels\"});var g=u.offsetX,m=u.offsetY,b=e+s/2+g,v=l+o/2+parseInt(u.style.fontSize)/3+m,y=f(c.globals.series[n][a],{seriesIndex:n,dataPointIndex:a,w:c});h.plotDataLabelsText(b,v,y,n,a,p,u)}return p}},{key:\"animateHeatMap\",value:function(t,e,l,n,i,r){new a.default(this.ctx).animateRect(t,{x:e+n/2,y:l+i/2,width:0,height:0},{x:e,y:l,width:n,height:i},r)}},{key:\"animateHeatColor\",value:function(t,e,l,n){t.attr({fill:e}).animate(n).attr({fill:l})}}]),t}();t.exports=d},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t},i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=h(l(6)),r=h(l(0)),o=h(l(14)),s=h(l(47)),c=h(l(32)),u=h(l(75)),d=h(l(1));function h(t){return t&&t.__esModule?t:{default:t}}var f=function(){function t(e,l,n){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.xyRatios=l,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||n,this.pointsChart&&(this.scatter=new u.default(this.ctx)),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.yaxisIndex=0}return i(t,[{key:\"draw\",value:function(t,e,l){var i=this.w,u=new r.default(this.ctx),h=new o.default(this.ctx),f=i.globals.comboCharts?e:i.config.chart.type,p=u.group({class:\"apexcharts-\"+f+\"-series apexcharts-plot-series\"}),g=new a.default(this.ctx,i);t=g.getLogSeries(t);var m=this.xyRatios.yRatio;m=g.getLogYRatios(m);for(var b=this.xyRatios.zRatio,v=this.xyRatios.xRatio,y=this.xyRatios.baseLineY,x=[],_=[],w=0,S=0;S<t.length;S++){var k=i.globals.gridWidth/i.globals.dataPoints,C=i.globals.comboCharts?l[S]:S;1<m.length&&(this.yaxisIndex=C);var T=[],D=[],M=i.globals.gridHeight-y[this.yaxisIndex],A=M;M>i.globals.gridHeight&&(A=i.globals.gridHeight),w=k/2;var E=i.globals.padHorizontal+w,j=1;i.globals.isXNumeric&&(E=(i.globals.seriesX[C][0]-i.globals.minX)/v),D.push(E);var I=void 0,P=void 0,O=void 0,L=void 0,R=[],N=[],F=u.group({class:\"apexcharts-series \"+i.globals.seriesNames[C].toString().replace(/ /g,\"-\")}),B=u.group({class:\"apexcharts-series-markers-wrap\"}),H=u.group({class:\"apexcharts-datalabels\"});this.ctx.series.addCollapsedClassToSeries(F,C);var q=t[S].length===i.globals.dataPoints;F.attr({\"data:longestSeries\":q,rel:S+1,\"data:realIndex\":C}),this.appendPathFrom=!0;var Z=E,z=void 0,$=Z,Y=M,W=0;if(Y=this.determineFirstPrevY({i:S,series:t,yRatio:m[this.yaxisIndex],zeroY:M,prevY:Y,prevSeriesY:_,lineYPosition:W}).prevY,T.push(Y),z=Y,null===t[S][0]){for(var V=0;V<t[S].length;V++)if(null!==t[S][V]){$=k*V,Y=M-t[S][V]/m[this.yaxisIndex],I=u.move($,Y),P=u.move($,A);break}}else I=u.move($,Y),P=u.move($,A)+u.line($,Y);if(O=u.move(-1,M)+u.line(-1,M),L=u.move(-1,M)+u.line(-1,M),0<i.globals.previousPaths.length){var U=this.checkPreviousPaths({pathFromLine:O,pathFromArea:L,realIndex:C});O=U.pathFromLine,L=U.pathFromArea}for(var G=1<i.globals.dataPoints?i.globals.dataPoints-1:i.globals.dataPoints,X=0;X<G;X++){i.globals.isXNumeric?E=(i.globals.seriesX[C][X+1]-i.globals.minX)/v:E+=k;var K=d.default.isNumber(i.globals.minYArr[C])?i.globals.minYArr[C]:i.globals.minY;j=i.config.chart.stacked?(W=0<S&&i.globals.collapsedSeries.length<i.config.series.length-1?_[S-1][X+1]:M,void 0===t[S][X+1]||null===t[S][X+1]?W-K/m[this.yaxisIndex]:W-t[S][X+1]/m[this.yaxisIndex]):void 0===t[S][X+1]||null===t[S][X+1]?M-K/m[this.yaxisIndex]:M-t[S][X+1]/m[this.yaxisIndex],D.push(E),T.push(j);var Q=this.createPaths({series:t,i:S,j:X,x:E,y:j,xDivision:k,pX:Z,pY:z,areaBottomY:A,linePath:I,areaPath:P,linePaths:R,areaPaths:N});N=Q.areaPaths,R=Q.linePaths,Z=Q.pX,z=Q.pY,P=Q.areaPath,I=Q.linePath,this.appendPathFrom&&(O+=u.line(E,M),L+=u.line(E,M));var J=this.calculatePoints({series:t,x:E,y:j,realIndex:C,i:S,j:X,prevY:Y,categoryAxisCorrection:w,xRatio:v});if(this.pointsChart)this.scatter.draw(F,X,{realIndex:C,pointsPos:J,zRatio:b,elParent:B});else{var tt=new c.default(this.ctx);1<i.globals.dataPoints&&B.node.classList.add(\"hidden\");var et=tt.plotChartMarkers(J,C,X+1);null!==et&&B.add(et)}var lt=new s.default(this.ctx).drawDataLabel(J,C,X+1);null!==lt&&H.add(lt)}_.push(T),i.globals.seriesXvalues[C]=D,i.globals.seriesYvalues[C]=T,this.pointsChart||i.globals.delayedElements.push({el:B.node,index:C});var nt={i:S,realIndex:C,animationDelay:S,initialSpeed:i.config.chart.animations.speed,dataChangeSpeed:i.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\"+f,id:\"apexcharts-\"+f};if(i.config.stroke.show&&!this.pointsChart){var it=null;it=\"line\"===f?h.fillPath(F,{seriesNumber:C,i:S}):i.globals.stroke.colors[C];for(var at=0;at<R.length;at++){var rt=u.renderPaths(n({},nt,{pathFrom:O,pathTo:R[at],stroke:it,strokeWidth:Array.isArray(i.config.stroke.width)?i.config.stroke.width[C]:i.config.stroke.width,strokeLineCap:i.config.stroke.lineCap,fill:\"none\"}));F.add(rt)}}if(\"area\"===f)for(var ot=h.fillPath(F,{seriesNumber:C}),st=0;st<N.length;st++){var ct=u.renderPaths(n({},nt,{pathFrom:L,pathTo:N[st],stroke:\"none\",strokeWidth:0,strokeLineCap:null,fill:ot}));F.add(ct)}F.add(B),F.add(H),x.push(F)}for(var ut=x.length;0<ut;ut--)p.add(x[ut-1]);return p}},{key:\"createPaths\",value:function(t){var e=t.series,l=t.i,n=t.j,i=t.x,a=t.y,o=t.pX,s=t.pY,c=t.xDivision,u=t.areaBottomY,d=t.linePath,h=t.areaPath,f=t.linePaths,p=t.areaPaths,g=this.w,m=new r.default(this.ctx),b=Array.isArray(g.config.stroke.curve)?g.config.stroke.curve[l]:g.config.stroke.curve;if(\"smooth\"===b){var v=.35*(i-o);g.globals.hasNullValues?(null!==e[l][n]&&(h=null!==e[l][n+1]?(d=m.move(o,s)+m.curve(o+v,s,i-v,a,i+1,a),m.move(o+1,s)+m.curve(o+v,s,i-v,a,i+1,a)+m.line(i,u)+m.line(o,u)+\"z\"):(d=m.move(o,s),m.move(o,s)+\"z\")),f.push(d),p.push(h)):(d+=m.curve(o+v,s,i-v,a,i,a),h+=m.curve(o+v,s,i-v,a,i,a)),o=i,s=a,n===e[l].length-2&&(h=h+m.curve(o,s,i,a,i,u)+m.move(i,a)+\"z\",g.globals.hasNullValues||(f.push(d),p.push(h)))}else null===e[l][n+1]&&(d+=m.move(i,a),h=h+m.line(i-c,u)+m.move(i,a)),null===e[l][n]&&(d+=m.move(i,a),h+=m.move(i,u)),\"stepline\"===b?(d=d+m.line(i,null,\"H\")+m.line(null,a,\"V\"),h=h+m.line(i,null,\"H\")+m.line(null,a,\"V\")):\"straight\"===b&&(d+=m.line(i,a),h+=m.line(i,a)),n===e[l].length-2&&(h=h+m.line(i,u)+m.move(i,a)+\"z\",f.push(d),p.push(h));return{linePaths:f,areaPaths:p,pX:o,pY:s,linePath:d,areaPath:h}}},{key:\"calculatePoints\",value:function(t){var e=t.series,l=t.realIndex,n=t.x,i=t.y,a=t.i,r=t.j,o=t.prevY,s=t.categoryAxisCorrection,c=t.xRatio,u=this.w,h=[],f=[];if(0===r){var p=s+u.config.markers.offsetX;u.globals.isXNumeric&&(p=(u.globals.seriesX[l][0]-u.globals.minX)/c+u.config.markers.offsetX),h.push(p),f.push(d.default.isNumber(e[a][0])?o+u.config.markers.offsetY:null),h.push(n+u.config.markers.offsetX),f.push(d.default.isNumber(e[a][r+1])?i+u.config.markers.offsetY:null)}else h.push(n+u.config.markers.offsetX),f.push(d.default.isNumber(e[a][r+1])?i+u.config.markers.offsetY:null);return{x:h,y:f}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,l=t.pathFromArea,n=t.realIndex,i=this.w,a=0;a<i.globals.previousPaths.length;a++){var r=i.globals.previousPaths[a];(\"line\"===r.type||\"area\"===r.type)&&0<r.paths.length&&parseInt(r.realIndex)===parseInt(n)&&(\"line\"===r.type?(this.appendPathFrom=!1,e=i.globals.previousPaths[a].paths[0].d):\"area\"===r.type&&(this.appendPathFrom=!1,e=i.globals.previousPaths[a].paths[0].d,l=i.globals.previousPaths[a].paths[1].d))}return{pathFromLine:e,pathFromArea:l}}},{key:\"determineFirstPrevY\",value:function(t){var e=t.i,l=t.series,n=t.yRatio,i=t.zeroY,a=t.prevY,r=t.prevSeriesY,o=t.lineYPosition,s=this.w;if(void 0!==l[e][0])a=s.config.chart.stacked?(o=0<e?r[e-1][0]:i)-l[e][0]/n:i-l[e][0]/n;else if(s.config.chart.stacked&&0<e&&void 0===l[e][0])for(var c=e-1;0<=c;c--)if(null!==l[c][0]&&void 0!==l[c][0]){a=o=r[c][0];break}return{prevY:a,lineYPosition:o}}}]),t}();e.default=f},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=c(l(74)),a=c(l(1)),r=c(l(14)),o=c(l(0)),s=c(l(7));function c(t){return t&&t.__esModule?t:{default:t}}var u=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));l.ctx=t,l.w=t.w,l.animBeginArr=[0],l.animDur=0;var n=l.w;return l.startAngle=n.config.plotOptions.radialBar.startAngle,l.endAngle=n.config.plotOptions.radialBar.endAngle,l.trackStartAngle=n.config.plotOptions.radialBar.track.startAngle,l.trackEndAngle=n.config.plotOptions.radialBar.track.endAngle,l.radialDataLabels=n.config.plotOptions.radialBar.dataLabels,l.trackStartAngle||(l.trackStartAngle=l.startAngle),l.trackEndAngle||(l.trackEndAngle=l.endAngle),360===l.endAngle&&(l.endAngle=359.99),l.fullAngle=360-n.config.plotOptions.radialBar.endAngle-n.config.plotOptions.radialBar.startAngle,l.margin=parseInt(n.config.plotOptions.radialBar.track.margin),l}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,i.default),n(e,[{key:\"draw\",value:function(t){var e=this.w,l=new o.default(this.ctx),n=l.group({class:\"apexcharts-radialbar\"}),i=l.group(),a=this.defaultSize/2,r=e.globals.gridWidth/2,s=this.defaultSize/2.05-e.config.stroke.width-e.config.chart.dropShadow.blur;void 0!==e.config.plotOptions.radialBar.size&&(s=e.config.plotOptions.radialBar.size);var c=e.globals.fill.colors;if(e.config.plotOptions.radialBar.track.show){var u=this.drawTracks({size:s,centerX:r,centerY:a,colorArr:c,series:t});i.add(u)}var d=this.drawArcs({size:s,centerX:r,centerY:a,colorArr:c,series:t});return i.add(d.g),\"front\"===e.config.plotOptions.radialBar.hollow.position&&(d.g.add(d.elHollow),d.dataLabels&&d.g.add(d.dataLabels)),n.add(i),n}},{key:\"drawTracks\",value:function(t){var e=this.w,l=new o.default(this.ctx),n=l.group(),a=new s.default(this.ctx),c=new r.default(this.ctx),u=this.getStrokeWidth(t);t.size=t.size-u/2;for(var d=0;d<t.series.length;d++){var h=l.group({class:\"apexcharts-radialbar-track apexcharts-track\"});n.add(h),h.attr({id:\"apexcharts-track-\"+d,rel:d+1}),t.size=t.size-u-this.margin;var f=e.config.plotOptions.radialBar.track,p=c.fillPath(h,{seriesNumber:0,size:t.size,fillColors:Array.isArray(f.background)?f.background[d]:f.background,solid:!0}),g=this.trackStartAngle,m=this.trackEndAngle;360<=Math.abs(m)+Math.abs(g)&&(m=360-Math.abs(this.startAngle)-.1);var b=l.drawPath({d:\"\",stroke:p,strokeWidth:u*parseInt(f.strokeWidth)/100,fill:\"none\",strokeOpacity:f.opacity,classes:\"apexcharts-radialbar-area\"});if(f.dropShadow.enabled){var v=f.dropShadow;a.dropShadow(b,v)}h.add(b),b.attr(\"id\",\"apexcharts-radialbarTrack-\"+d),new i.default(this.ctx).animatePaths(b,{centerX:t.centerX,centerY:t.centerY,endAngle:m,startAngle:g,size:t.size,i:d,totalItems:2,animBeginArr:0,dur:0,easing:e.globals.easing})}return n}},{key:\"drawArcs\",value:function(t){var e=this.w,l=new o.default(this.ctx),n=new r.default(this.ctx),c=new s.default(this.ctx),u=l.group(),d=this.getStrokeWidth(t);t.size=t.size-d/2;var h=e.config.plotOptions.radialBar.hollow.background,f=t.size-d*t.series.length-this.margin*t.series.length-d*parseInt(e.config.plotOptions.radialBar.track.strokeWidth)/100/2,p=f-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(h=this.drawHollowImage(t,u,f,h));var g=this.drawHollow({size:p,centerX:t.centerX,centerY:t.centerY,fill:h});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var m=e.config.plotOptions.radialBar.hollow.dropShadow;c.dropShadow(g,m)}var b=1;!this.radialDataLabels.total.show&&1<e.globals.series.length&&(b=0);var v=new i.default(this.ctx),y=null;this.radialDataLabels.show&&(y=v.renderInnerDataLabels(this.radialDataLabels,{hollowSize:f,centerX:t.centerX,centerY:t.centerY,opacity:b})),\"back\"===e.config.plotOptions.radialBar.hollow.position&&(u.add(g),y&&u.add(y));var x=!1;e.config.plotOptions.radialBar.inverseOrder&&(x=!0);for(var _=x?t.series.length-1:0;x?0<=_:_<t.series.length;x?_--:_++){var w=l.group({class:\"apexcharts-series apexcharts-radial-series \"+e.globals.seriesNames[_].toString().replace(/ /g,\"-\")});u.add(w),w.attr({id:\"apexcharts-series-\"+_,rel:_+1}),this.ctx.series.addCollapsedClassToSeries(w,_),t.size=t.size-d-this.margin;var S=n.fillPath(w,{seriesNumber:_,size:t.size}),k=this.startAngle,C=void 0,T=Math.abs(e.config.plotOptions.radialBar.endAngle-e.config.plotOptions.radialBar.startAngle),D=Math.round(T*a.default.negToZero(t.series[_])/100)+this.startAngle,M=void 0;e.globals.dataChanged&&(C=this.startAngle,M=Math.round(T*a.default.negToZero(e.globals.previousPaths[_])/100)+C),360<=Math.abs(D)+Math.abs(k)&&(D-=.01),360<=Math.abs(M)+Math.abs(C)&&(M-=.01);var A=D-k,E=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[_]:e.config.stroke.dashArray,j=l.drawPath({d:\"\",stroke:S,strokeWidth:d,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area\",strokeDashArray:E});if(o.default.setAttrs(j.node,{\"data:angle\":A,\"data:value\":t.series[_]}),e.config.chart.dropShadow.enabled){var I=e.config.chart.dropShadow;c.dropShadow(j,I)}this.addListeners(j,this.radialDataLabels);var P=new i.default(this.ctx);j.node.addEventListener(\"mouseenter\",P.dataLabelsMouseIn.bind(this,j.node,this.radialDataLabels)),j.node.addEventListener(\"mouseleave\",P.dataLabelsMouseout.bind(this,j.node,this.radialDataLabels)),w.add(j),j.attr(\"id\",\"apexcharts-radialArc-\"+_);var O=0;!P.initialAnim||e.globals.resized||e.globals.dataChanged||(O=(D-k)/360*e.config.chart.animations.speed,this.animDur=O/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur)),e.globals.dataChanged&&(O=(D-k)/360*e.config.chart.animations.dynamicAnimation.speed,this.animDur=O/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur)),P.animatePaths(j,{centerX:t.centerX,centerY:t.centerY,endAngle:D,startAngle:k,prevEndAngle:M,prevStartAngle:C,size:t.size,i:_,totalItems:2,animBeginArr:this.animBeginArr,dur:O,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:u,elHollow:g,dataLabels:y}}},{key:\"drawHollow\",value:function(t){var e=new o.default(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,l,n){var i=this.w,a=new r.default(this.ctx),o=(Math.random()+1).toString(36).substring(4),s=i.config.plotOptions.radialBar.hollow.image;if(i.config.plotOptions.radialBar.hollow.imageClipped)a.clippedImgArea({width:l,height:l,image:s,patternID:\"pattern\"+i.globals.cuid+o}),n=\"url(#pattern\"+i.globals.cuid+o+\")\";else{var c=i.config.plotOptions.radialBar.hollow.imageWidth,u=i.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===c&&void 0===u){var d=i.globals.dom.Paper.image(s).loaded(function(e){this.move(t.centerX-e.width/2+i.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+i.config.plotOptions.radialBar.hollow.imageOffsetY)});e.add(d)}else{var h=i.globals.dom.Paper.image(s).loaded(function(e){this.move(t.centerX-c/2+i.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-u/2+i.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(c,u)});e.add(h)}}return n}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size))/100/(t.series.length+1)-this.margin}}]),e}();e.default=u},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=o(l(0)),a=o(l(52)),r=o(l(1));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.graphics=new i.default(this.ctx),\"bar\"===this.w.config.chart.type&&this.w.config.plotOptions.bar.horizontal&&(this.invertAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return n(t,[{key:\"drawAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.drawYAxisAnnotations(),l=this.drawXAxisAnnotations(),n=this.drawPointAnnotations(),i=t.config.chart.animations.enabled,a=[e,l,n],r=[l.node,e.node,n.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(a[o]),!i||t.globals.resized||t.globals.dataChanged||r[o].classList.add(\"hidden\"),t.globals.delayedElements.push({el:r[o],index:0});this.setOrientations(t.config.annotations.xaxis),this.annotationsBackground()}}},{key:\"addXaxisAnnotation\",value:function(t,e,l){var n=this.w,i=this.invertAxis?n.globals.minY:n.globals.minX,a=this.invertAxis?n.globals.yRange[0]:n.globals.xRange,r=t.strokeDashArray,o=(t.x-i)/(a/n.globals.gridWidth);if(!(o<0||o>n.globals.gridWidth)){var s=this.graphics.drawLine(o+t.offsetX,0+t.offsetY,o+t.offsetX,n.globals.gridHeight+t.offsetY,t.borderColor,r);e.appendChild(s.node);var c=\"top\"===t.label.position?-3:n.globals.gridHeight,u=t.label.text?t.label.text:\"\",d=this.graphics.drawText({x:o+t.label.offsetX,y:c+t.label.offsetY,text:u,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,foreColor:t.label.style.color,cssClass:\"apexcharts-xaxis-annotation-label \"+t.label.style.cssClass});d.attr({rel:l}),e.appendChild(d.node)}}},{key:\"drawXAxisAnnotations\",value:function(){var t=this,e=this.w,l=this.graphics.group({class:\"apexcharts-xaxis-annotations\"});return e.config.annotations.xaxis.map(function(e,n){t.addXaxisAnnotation(e,l.node,n)}),l}},{key:\"addYaxisAnnotation\",value:function(t,e,l){var n=this.w,i=t.strokeDashArray,a=void 0;if(this.invertAxis){var r=n.globals.labels.indexOf(t.y),o=n.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(r+1)+\")\");a=parseInt(o.getAttribute(\"y\"))}else a=n.globals.gridHeight-(t.y-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight);var s=t.label.text?t.label.text:\"\",c=this.graphics.drawLine(0+t.offsetX,a+t.offsetY,n.globals.gridWidth+t.offsetX,a+t.offsetY,t.borderColor,i);e.appendChild(c.node);var u=\"right\"===t.label.position?n.globals.gridWidth:0,d=this.graphics.drawText({x:u+t.label.offsetX,y:a+t.label.offsetY-3,text:s,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \"+t.label.style.cssClass});d.attr({rel:l}),e.appendChild(d.node)}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,l=this.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.map(function(e,n){t.addYaxisAnnotation(e,l.node,n)}),l}},{key:\"clearAnnotations\",value:function(t){t.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\").forEach(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)})}},{key:\"addPointAnnotation\",value:function(t,e,l){var n=this.w,i=0,a=0,r=0;if(this.invertAxis&&console.warn(\"Point annotation is not supported in horizontal bar charts.\"),\"string\"==typeof t.x){var o=n.globals.labels.indexOf(t.x),s=n.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(o+1)+\")\");i=parseInt(s.getAttribute(\"x\"));var c=t.y;null===t.y&&(c=n.globals.series[t.seriesIndex][o]),a=n.globals.gridHeight-(c-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight)-parseInt(t.label.style.fontSize)-t.marker.size,r=n.globals.gridHeight-(c-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight)}else i=(t.x-n.globals.minX)/(n.globals.xRange/n.globals.gridWidth),a=n.globals.gridHeight-(parseInt(t.y)-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight)-parseInt(t.label.style.fontSize)-t.marker.size,r=n.globals.gridHeight-(t.y-n.globals.minYArr[t.yAxisIndex])/(n.globals.yRange[t.yAxisIndex]/n.globals.gridHeight);if(!(i<0||i>n.globals.gridWidth)){var u={pSize:t.marker.size,pWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,radius:t.marker.radius},d=this.graphics.drawMarker(i+t.marker.offsetX,r+t.marker.offsetY,u);e.appendChild(d.node);var h=t.label.text?t.label.text:\"\",f=this.graphics.drawText({x:i+t.label.offsetX,y:a+t.label.offsetY,text:h,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \"+t.label.style.cssClass});f.attr({rel:l}),e.appendChild(f.node)}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,l=this.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map(function(e,n){t.addPointAnnotation(e,l.node,n)}),l}},{key:\"setOrientations\",value:function(t){var e=this,l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=this.w;t.map(function(t,i){if(\"vertical\"===t.label.orientation){var a=null!==l?l:i,r=n.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\"+a+\"']\");if(null!==r){var o=r.getBoundingClientRect();r.setAttribute(\"x\",parseInt(r.getAttribute(\"x\"))-o.height+4),\"top\"===t.label.position?r.setAttribute(\"y\",parseInt(r.getAttribute(\"y\"))+o.width):r.setAttribute(\"y\",parseInt(r.getAttribute(\"y\"))-o.width);var s=e.graphics.rotateAroundCenter(r),c=s.x,u=s.y;r.setAttribute(\"transform\",\"rotate(-90 \"+c+\" \"+u+\")\")}}})}},{key:\"addBackgroundToAnno\",value:function(t,e){var l=this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),n=t.getBoundingClientRect(),i=e.label.style.padding.left,a=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(r=e.label.style.padding.left,o=e.label.style.padding.right,i=e.label.style.padding.top,a=e.label.style.padding.bottom);var s=n.left-l.left-i,c=n.top-l.top-r;return this.graphics.drawRect(s,c,n.width+i+a,n.height+r+o,0,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0)}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,l=function(l,n,i){var a=e.globals.dom.baseEl.querySelector(\".apexcharts-\"+i+\"-annotations .apexcharts-\"+i+\"-annotation-label[rel='\"+n+\"']\");if(a){var r=a.parentNode,o=t.addBackgroundToAnno(a,l);r.insertBefore(o.node,a)}};e.config.annotations.xaxis.map(function(t,e){l(t,e,\"xaxis\")}),e.config.annotations.yaxis.map(function(t,e){l(t,e,\"yaxis\")}),e.config.annotations.points.map(function(t,e){l(t,e,\"point\")})}},{key:\"addText\",value:function(t,e,l){var n=t.x,i=t.y,a=t.text,r=t.textAnchor,o=t.appendTo,s=void 0===o?\".apexcharts-inner\":o,c=t.foreColor,u=t.fontSize,d=t.fontFamily,h=t.cssClass,f=t.backgroundColor,p=t.borderWidth,g=t.strokeDashArray,m=t.radius,b=t.borderColor,v=t.paddingLeft,y=void 0===v?4:v,x=t.paddingRight,_=void 0===x?4:x,w=t.paddingBottom,S=void 0===w?2:w,k=t.paddingTop,C=void 0===k?2:k,T=l,D=T.w,M=D.globals.dom.baseEl.querySelector(s),A=this.graphics.drawText({x:n,y:i,text:a,textAnchor:r||\"start\",fontSize:u||\"12px\",fontFamily:d||D.config.chart.fontFamily,foreColor:c||D.config.chart.foreColor,cssClass:h});M.appendChild(A.node);var E=A.bbox(),j=this.graphics.drawRect(E.x-y,E.y-C,E.width+y+_,E.height+S+C,m,f,1,p,b,g);return A.before(j),e&&D.globals.memory.methodsToExec.push({context:T,method:T.addText,params:{x:n,y:i,text:a,textAnchor:r,appendTo:s,foreColor:c,fontSize:u,cssClass:h,backgroundColor:f,borderWidth:p,strokeDashArray:g,radius:m,borderColor:b,paddingLeft:y,paddingRight:_,paddingBottom:S,paddingTop:C}}),l}},{key:\"addPointAnnotationExternal\",value:function(t,e,l){return this.addAnnotationExternal({params:t,pushToMemory:e,context:l,type:\"point\",contextMethod:l.addPointAnnotation}),l}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,l){return this.addAnnotationExternal({params:t,pushToMemory:e,context:l,type:\"yaxis\",contextMethod:l.addYaxisAnnotation}),l}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,l){return this.addAnnotationExternal({params:t,pushToMemory:e,context:l,type:\"xaxis\",contextMethod:l.addXaxisAnnotation}),l}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,l=t.pushToMemory,n=t.context,i=t.type,o=t.contextMethod,s=n,c=s.w,u=c.globals.dom.baseEl.querySelector(\".apexcharts-\"+i+\"-annotations\"),d=u.childNodes.length+1,h=new a.default,f=Object.assign({},\"xaxis\"===i?h.xAxisAnnotation:\"yaxis\"===i?h.yAxisAnnotation:h.pointAnnotation),p=r.default.extend(f,e);switch(i){case\"xaxis\":this.addXaxisAnnotation(p,u,d);break;case\"yaxis\":this.addYaxisAnnotation(p,u,d);break;case\"point\":this.addPointAnnotation(p,u,d)}var g=c.globals.dom.baseEl.querySelector(\".apexcharts-\"+i+\"-annotations .apexcharts-\"+i+\"-annotation-label[rel='\"+d+\"']\"),m=this.addBackgroundToAnno(g,p);return u.insertBefore(m.node,g),l&&c.globals.memory.methodsToExec.push({context:s,method:o,params:e}),n}}]),t}();t.exports=s},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(51)),a=r(l(143));function r(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.opts=e}return n(t,[{key:\"init\",value:function(){var t=new i.default(this.opts).init();return{config:t,globals:(new a.default).init(t)}}}]),t}();t.exports=o},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=_(l(46)),a=_(l(127)),r=_(l(128)),o=_(l(6)),s=_(l(76)),c=_(l(53)),u=_(l(129)),d=_(l(74)),h=_(l(131)),f=_(l(130)),p=_(l(0)),g=_(l(49)),m=_(l(50)),b=_(l(78)),v=_(l(1)),y=_(l(27)),x=_(l(79));function _(t){return t&&t.__esModule?t:{default:t}}var w=function(){function t(e,l){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=l,this.w=l.w,this.el=e,this.coreUtils=new o.default(this.ctx),this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[]}return n(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,l=e.chart.type;t.axisCharts=-1<[\"line\",\"area\",\"bar\",\"candlestick\",\"scatter\",\"bubble\",\"heatmap\"].indexOf(l),t.xyCharts=-1<[\"line\",\"area\",\"bar\",\"candlestick\",\"scatter\",\"bubble\"].indexOf(l),t.chartClass=\".apexcharts\"+t.cuid,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),p.default.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\"+e.chart.offsetX+\", \"+e.chart.offsetY+\")\"}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var l=this.w,n=l.config,o=l.globals,s={series:[],i:[]},c={series:[],i:[]},p={series:[],i:[]},g={series:[],i:[]},m={series:[],i:[]};o.series.map(function(e,n){if(void 0!==t[n].type){if(\"column\"===t[n].type||\"bar\"===t[n].type)l.config.plotOptions.bar.horizontal=!1,g.series.push(e),g.i.push(n);else if(\"area\"===t[n].type)c.series.push(e),c.i.push(n);else if(\"line\"===t[n].type)s.series.push(e),s.i.push(n);else if(\"scatter\"===t[n].type)p.series.push(e),p.i.push(n);else{if(\"candlestick\"!==t[n].type)throw new Error(\"You have specified an unrecognized chart type. Available types for this propery are line/area/column/bar\");m.series.push(e),m.i.push(n)}o.comboCharts=!0}else s.series.push(e),s.i.push(n)});var b=new f.default(this.ctx,e),v=new r.default(this.ctx,e),y=new d.default(this.ctx),x=new h.default(this.ctx),_=[];if(o.comboCharts){if(0<c.series.length&&_.push(b.draw(c.series,\"area\",c.i)),0<g.series.length)if(l.config.chart.stacked){var w=new a.default(this.ctx,e);_.push(w.draw(g.series,g.i))}else{var S=new i.default(this.ctx,e);_.push(S.draw(g.series,g.i))}if(0<s.series.length&&_.push(b.draw(s.series,\"line\",s.i)),0<m.series.length&&_.push(v.draw(m.series,m.i)),0<p.series.length){var k=new f.default(this.ctx,e,!0);_.push(k.draw(p.series,\"scatter\",p.i))}}else switch(n.chart.type){case\"line\":_=b.draw(o.series,\"line\");break;case\"area\":_=b.draw(o.series,\"area\");break;case\"bar\":_=n.chart.stacked?new a.default(this.ctx,e).draw(o.series):new i.default(this.ctx,e).draw(o.series);break;case\"candlestick\":_=new r.default(this.ctx,e).draw(o.series);break;case\"heatmap\":_=new u.default(this.ctx,e).draw(o.series);break;case\"pie\":case\"donut\":_=y.draw(o.series);break;case\"radialBar\":_=x.draw(o.series);break;default:_=b.draw(o.series)}return _}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var l=v.default.getDimensions(this.el),n=e.chart.width.toString().split(/[0-9]+/g).pop();if(\"%\"===n?v.default.isNumber(l[0])&&(0===l[0].width&&(l=v.default.getDimensions(this.el.parentNode)),t.svgWidth=l[0]*parseInt(e.chart.width)/100):\"px\"!==n&&\"\"!==n||(t.svgWidth=parseInt(e.chart.width)),\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===e.chart.height.toString().split(/[0-9]+/g).pop()){var i=v.default.getDimensions(this.el.parentNode);t.svgHeight=i[1]*parseInt(e.chart.height)/100}else t.svgHeight=parseInt(e.chart.height);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth;p.default.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight});var a=e.chart.sparkline.enabled?0:t.axisCharts?14:5;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+a+\"px\",t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,l={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};p.default.setAttrs(t.dom.elGraphical.node,l)}},{key:\"coreCalculations\",value:function(){new b.default(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this.w.globals;t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesPercent=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.stackedSeriesTotals=[],t.labels=[],t.timelineLabels=[],t.noLabelsProvided=!1,t.timescaleTicks=[],t.resizeTimer=null,t.selectionResizeTimer=null,t.seriesXvalues=this.w.config.series.map(function(t){return[]}),t.seriesYvalues=this.w.config.series.map(function(t){return[]}),t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.isDataXYZ=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialmaxX=-Number.MAX_VALUE,t.initialminX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&1<this.w.config.yaxis.length)return this.w.config.chart.stacked=!1,this.w.globals.isMultipleYAxis=!0}},{key:\"excludeCollapsedSeriesInYAxis\",value:function(){var t=this,e=this.w;e.globals.ignoreYAxisIndexes=e.globals.collapsedSeries.map(function(e,l){if(t.w.globals.isMultipleYAxis)return e.index})}},{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new y.default(this.ctx).getActiveConfigSeriesIndex();if(void 0!==t[e].data&&0<t[e].data.length&&null!==t[e].data[0]&&void 0!==t[e].data[0].x&&null!==t[e].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new y.default(this.ctx).getActiveConfigSeriesIndex();if(void 0!==t[e].data&&0<t[e].data.length&&void 0!==t[e].data[0]&&null!==t[e].data[0]&&t[e].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var l=this.w.config,n=this.w.globals,i=0;i<t[e].data.length;i++)if(void 0!==t[e].data[i][1]&&(Array.isArray(t[e].data[i][1])&&4===t[e].data[i][1].length?this.twoDSeries.push(t[e].data[i][1][3]):this.twoDSeries.push(t[e].data[i][1])),\"datetime\"===l.xaxis.type){var a=new Date(t[e].data[i][0]);a=new Date(a).getTime(),this.twoDSeriesX.push(a)}else this.twoDSeriesX.push(t[e].data[i][0]);for(var r=0;r<t[e].data.length;r++)void 0!==t[e].data[r][2]&&(this.threeDSeries.push(t[e].data[r][2]),n.isDataXYZ=!0)}},{key:\"handleFormatXY\",value:function(t,e){for(var l=this.w.config,n=this.w.globals,i=this.w.config.series.slice(),a=new c.default(this.ctx),r=0;r<t[e].data.length;r++){void 0!==t[e].data[r].y&&(Array.isArray(t[e].data[r].y)&&4===t[e].data[r].y.length?this.twoDSeries.push(t[e].data[r].y[3]):this.twoDSeries.push(t[e].data[r].y));var o=\"string\"==typeof t[e].data[r].x,s=!!a.isValidDate(t[e].data[r].x.toString());o||s?o?\"datetime\"===l.xaxis.type?this.twoDSeriesX.push(a.parseDate(t[e].data[r].x)):(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[e].data[r].x)):\"datetime\"===l.xaxis.type?this.twoDSeriesX.push(a.parseDate(t[e].data[r].x.toString())):this.twoDSeriesX.push(parseFloat(t[e].data[r].x)):this.twoDSeriesX.push(t[e].data[r].x)}if(i[e].data[0]&&void 0!==i[e].data[0].z){for(var u=0;u<i[e].data.length;u++)this.threeDSeries.push(i[e].data[u].z);n.isDataXYZ=!0}}},{key:\"handleCandleStickData\",value:function(t,e){var l=this.w.globals,n={};return this.isFormat2DArray()?n=this.handleCandleStickDataFormat(\"array\",t,e):this.isFormatXY()&&(n=this.handleCandleStickDataFormat(\"xy\",t,e)),l.seriesCandleO.push(n.o),l.seriesCandleH.push(n.h),l.seriesCandleL.push(n.l),l.seriesCandleC.push(n.c),n}},{key:\"handleCandleStickDataFormat\",value:function(t,e,l){var n=[],i=[],a=[],r=[],o=\"Please provide [Open, High, Low and Close] values in valid format. Read more https://apexcharts.com/docs/series/#candlestick\";if(\"array\"===t){if(4!==e[l].data[0][1].length)throw new Error(o);for(var s=0;s<e[l].data.length;s++)n.push(e[l].data[s][1][0]),i.push(e[l].data[s][1][1]),a.push(e[l].data[s][1][2]),r.push(e[l].data[s][1][3])}else if(\"xy\"===t){if(4!==e[l].data[0].y.length)throw new Error(o);for(var c=0;c<e[l].data.length;c++)n.push(e[l].data[c].y[0]),i.push(e[l].data[c].y[1]),a.push(e[l].data[c].y[2]),r.push(e[l].data[c].y[3])}return{o:n,h:i,l:a,c:r}}},{key:\"parseDataAxisCharts\",value:function(t,e){for(var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:this.ctx,n=this.w.config,i=this.w.globals,a=new c.default(l),r=0;r<e.length;r++){if(this.twoDSeries=[],this.twoDSeriesX=[],this.threeDSeries=[],void 0===e[r].data)return void console.error(\"It is a possibility that you may have not included 'data' property in series.\");if(this.isMultiFormat())this.isFormat2DArray()?this.handleFormat2DArray(t,r):this.isFormatXY()&&this.handleFormatXY(t,r),\"candlestick\"!==n.chart.type&&\"candlestick\"!==t[r].type||this.handleCandleStickData(t,r),i.series.push(this.twoDSeries),i.labels.push(this.twoDSeriesX),i.seriesX.push(this.twoDSeriesX),this.fallbackToCategory||(i.isXNumeric=!0);else{if(\"datetime\"===n.xaxis.type){i.isXNumeric=!0;for(var o=0<n.labels.length?n.labels.slice():n.xaxis.categories.slice(),s=0;s<o.length;s++)if(\"string\"==typeof o[s]){if(!a.isValidDate(o[s]))throw new Error(\"You have provided invalid Date format. Please provide a valid JavaScript Date\");this.twoDSeriesX.push(a.parseDate(o[s]))}i.seriesX.push(this.twoDSeriesX)}else if(\"numeric\"===n.xaxis.type){i.isXNumeric=!0;var u=0<n.labels.length?n.labels.slice():n.xaxis.categories.slice();0<u.length&&(this.twoDSeriesX=u,i.seriesX.push(this.twoDSeriesX))}i.labels.push(this.twoDSeriesX),i.series.push(t[r].data)}i.seriesZ.push(this.threeDSeries),void 0!==t[r].name?i.seriesNames.push(t[r].name):i.seriesNames.push(\"series-\"+parseInt(r+1))}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,l=this.w.config;e.series=t.slice(),e.seriesNames=l.labels.slice();for(var n=0;n<e.series.length;n++)void 0===e.seriesNames[n]&&e.seriesNames.push(\"series-\"+(n+1));return this.w}},{key:\"handleExternalLabelsData\",value:function(t){var e=this.w.config,l=this.w.globals;if(0<e.xaxis.categories.length)l.labels=e.xaxis.categories;else if(0<e.labels.length)l.labels=e.labels.slice();else if(this.fallbackToCategory)l.labels=l.labels[0];else{var n=[];if(l.axisCharts){for(var i=0;i<l.series[l.maxValsInArrayIndex].length;i++)n.push(i+1);for(var a=0;a<t.length;a++)l.seriesX.push(n);l.isXNumeric=!0}if(0===n.length){n=[0,10];for(var r=0;r<t.length;r++)l.seriesX.push(n)}l.labels=n,l.noLabelsProvided=!0,\"category\"===e.xaxis.type&&(l.isXNumeric=!1)}}},{key:\"parseData\",value:function(t){var e=this.w,l=e.config,n=e.globals;this.excludeCollapsedSeriesInYAxis();var i=l.series.slice();if(this.fallbackToCategory=!1,this.resetGlobals(),this.isMultipleY(),n.axisCharts?this.parseDataAxisCharts(t,i):this.parseDataNonAxisCharts(t),this.coreUtils.getLargestSeries(),\"bar\"===l.chart.type&&l.chart.stacked){var a=new y.default(this.ctx);n.series=a.setNullSeriesToZeroValues(n.series)}this.coreUtils.getSeriesTotals(),n.axisCharts&&this.coreUtils.getStackedSeriesTotals(),this.coreUtils.getPercentSeries(),(!n.isXNumeric||\"numeric\"===l.xaxis.type&&0===l.labels.length&&0===l.xaxis.categories.length)&&this.handleExternalLabelsData(t)}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts&&(\"back\"===e.config.xaxis.crosshairs.position&&new s.default(this.ctx).drawXCrosshairs(),\"back\"===e.config.yaxis[0].crosshairs.position&&new s.default(this.ctx).drawYCrosshairs(),t=this.coreUtils.getCalculatedRatios(),\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter&&isFinite(e.globals.minX)&&isFinite(e.globals.maxX))){var l=new x.default(this.ctx),n=l.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX);l.recalcDimensionsBasedOnFormat(n)}return t}},{key:\"drawAxis\",value:function(t,e){var l=this.w.globals,n=this.w.config,i=new g.default(this.ctx),a=new m.default(this.ctx);if(l.axisCharts){var r=void 0,o=void 0;\"bar\"===t&&n.plotOptions.bar.horizontal?(o=a.drawYaxisInversed(0),r=i.drawXaxisInversed(0),l.dom.elGraphical.add(r),l.dom.elGraphical.add(o)):(r=i.drawXaxis(),l.dom.elGraphical.add(r),n.yaxis.map(function(t,n){-1===l.ignoreYAxisIndexes.indexOf(n)&&(o=a.drawYaxis(e,n),l.dom.Paper.add(o))}))}n.yaxis.map(function(t,e){-1===l.ignoreYAxisIndexes.indexOf(e)&&a.yAxisTitleRotate(e,t.opposite)})}},{key:\"setupBrushHandler\",value:function(){var t=this,e=this.w;if(e.config.chart.brush.enabled&&\"function\"!=typeof e.config.chart.events.selection){var l=ApexCharts.getChartByID(e.config.chart.brush.target);l.w.globals.brushSource=this.ctx;var n=function(){t.ctx._updateOptions({chart:{selection:{xaxis:{min:l.w.globals.minX,max:l.w.globals.maxX}}}},!1,!1)};\"function\"!=typeof l.w.config.chart.events.zoomed&&(l.w.config.chart.events.zoomed=function(){n()}),\"function\"!=typeof l.w.config.chart.events.scrolled&&(l.w.config.chart.events.scrolled=function(){n()}),e.config.chart.events.selection=function(t,e){l._updateOptions({xaxis:{min:e.xaxis.min,max:e.xaxis.max}},!1,!1)}}}}]),t}();t.exports=w},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=c(l(6)),a=c(l(48)),r=c(l(0)),o=c(l(27)),s=c(l(1));function c(t){return t&&t.__esModule?t:{default:t}}var u=function(){function t(e,l){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this)}return n(t,[{key:\"init\",value:function(){var t=this.w,e=t.globals,l=t.config;if((l.legend.showForSingleSeries&&1===e.series.length||1<e.series.length||!e.axisCharts)&&l.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),s.default.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.getLegendStyles()):this.appendToForeignObject(),\"bottom\"===l.legend.position||\"top\"===l.legend.position?this.legendAlignHorizontal():\"right\"!==l.legend.position&&\"left\"!==l.legend.position||this.legendAlignVertical()}}},{key:\"appendToForeignObject\",value:function(){var t=this.w.globals,e=document.createElementNS(t.svgNS,\"foreignObject\");e.setAttribute(\"x\",0),e.setAttribute(\"y\",0),e.setAttribute(\"width\",t.svgWidth),e.setAttribute(\"height\",t.svgHeight),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:\"drawLegends\",value:function(){var t=this.w,e=t.config.legend.fontFamily,l=t.globals.seriesNames,n=t.globals.colors.slice();if(\"heatmap\"===t.config.chart.type){var a=t.config.plotOptions.heatmap.colorScale.ranges;l=a.map(function(t){return t.name?t.name:t.from+\" - \"+t.to}),n=a.map(function(t){return t.color})}for(var o=t.globals.legendFormatter,s=0;s<=l.length-1;s++){var c=o(l[s],{seriesIndex:s,w:t}),u=!1;if(0<t.globals.collapsedSeries.length)for(var d=0;d<t.globals.collapsedSeries.length;d++)t.globals.collapsedSeries[d].index===s&&(u=!0);var h=document.createElement(\"span\");h.classList.add(\"apexcharts-legend-marker\");var f=t.config.legend.markers.offsetX,p=t.config.legend.markers.offsetY,g=t.config.legend.markers.height,m=t.config.legend.markers.width,b=t.config.legend.markers.strokeWidth,v=t.config.legend.markers.strokeColor,y=t.config.legend.markers.radius,x=h.style;x.background=n[s],x.color=n[s],x.height=Array.isArray(g)?parseFloat(g[s])+\"px\":parseFloat(g)+\"px\",x.width=Array.isArray(m)?parseFloat(m[s])+\"px\":parseFloat(m)+\"px\",x.left=Array.isArray(f)?f[s]:f,x.top=Array.isArray(p)?p[s]:p,x.borderWidth=Array.isArray(b)?b[s]:b,x.borderColor=Array.isArray(v)?v[s]:v,x.borderRadius=Array.isArray(y)?parseFloat(y[s])+\"px\":parseFloat(y)+\"px\",t.config.legend.markers.customHTML&&(Array.isArray(t.config.legend.markers.customHTML)?h.innerHTML=t.config.legend.markers.customHTML[s]():h.innerHTML=t.config.legend.markers.customHTML()),r.default.setAttrs(h,{rel:s+1,\"data:collapsed\":u}),u&&h.classList.add(\"inactive-legend\");var _=document.createElement(\"div\"),w=document.createElement(\"span\");w.classList.add(\"apexcharts-legend-text\"),w.innerHTML=c;var S=t.config.legend.labels.useSeriesColors?t.globals.colors[s]:t.config.legend.labels.colors;if(S||(S=t.config.chart.foreColor),w.style.color=S,w.style.fontSize=parseFloat(t.config.legend.labels.fontSize)+\"px\",w.style.fontFamily=e||t.config.chart.fontFamily,r.default.setAttrs(w,{rel:s+1,\"data:collapsed\":u}),_.appendChild(h),_.appendChild(w),!t.config.legend.showForZeroSeries){var k=new i.default(this.ctx);0===k.getSeriesTotalByIndex(s)&&k.seriesHaveSameValues(s)&&-1===t.globals.collapsedSeriesIndices.indexOf(s)&&_.classList.add(\"apexcharts-hidden-zero-series\")}t.globals.dom.elLegendWrap.appendChild(_),t.globals.dom.elLegendWrap.classList.add(t.config.legend.horizontalAlign),t.globals.dom.elLegendWrap.classList.add(\"position-\"+t.config.legend.position),_.classList.add(\"apexcharts-legend-series\"),_.style.margin=t.config.legend.itemMargin.horizontal+\"px \"+t.config.legend.itemMargin.vertical+\"px\",t.globals.dom.elLegendWrap.style.width=t.config.legend.width?t.config.legend.width+\"px\":\"\",t.globals.dom.elLegendWrap.style.height=t.config.legend.height?t.config.legend.height+\"px\":\"\",r.default.setAttrs(_,{rel:s+1,\"data:collapsed\":u}),u&&_.classList.add(\"inactiv`e-legend\"),t.config.legend.onItemClick.toggleDataSeries||_.classList.add(\"no-click\")}\"heatmap\"!==t.config.chart.type&&t.config.legend.onItemClick.toggleDataSeries&&t.globals.dom.elWrap.addEventListener(\"click\",this.onLegendClick,!0),t.config.legend.onItemHover.highlightDataSeries&&(t.globals.dom.elWrap.addEventListener(\"mousemove\",this.onLegendHovered,!0),t.globals.dom.elWrap.addEventListener(\"mouseout\",this.onLegendHovered,!0))}},{key:\"getLegendBBox\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"setLegendWrapXY\",value:function(t,e){var l=this.w,n=l.globals.dom.baseEl.querySelector(\".apexcharts-legend\"),i=n.getBoundingClientRect(),r=0,o=0;if(\"bottom\"===l.config.legend.position)o+=l.globals.svgHeight-i.height/2;else if(\"top\"===l.config.legend.position){var s=new a.default(this.ctx),c=s.getTitleSubtitleCoords(\"title\").height,u=s.getTitleSubtitleCoords(\"subtitle\").height;o=o+(0<c?c-10:0)+(0<u?u-10:0)}n.style.position=\"absolute\",r=r+t+l.config.legend.offsetX,o=o+e+l.config.legend.offsetY,n.style.left=r+\"px\",n.style.top=o+\"px\",\"bottom\"===l.config.legend.position?(n.style.top=\"auto\",n.style.bottom=10+l.config.legend.offsetY+\"px\"):\"right\"===l.config.legend.position&&(n.style.left=\"auto\",n.style.right=25+l.config.legend.offsetX+\"px\"),n.style.width&&(n.style.width=parseInt(l.config.legend.width)+\"px\"),n.style.height&&(n.style.height=parseInt(l.config.legend.height)+\"px\")}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(\".apexcharts-legend\").style.right=0;var e=this.getLegendBBox(),l=new a.default(this.ctx),n=l.getTitleSubtitleCoords(\"title\"),i=l.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=n.height+i.height+t.config.title.margin+t.config.subtitle.margin-15),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.getLegendBBox(),l=0;\"left\"===t.config.legend.position&&(l=20),\"right\"===t.config.legend.position&&(l=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(l,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,l=t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"!==e.config.chart.type)!t.target.classList.contains(\"inactive-legend\")&&l&&new o.default(this.ctx).toggleSeriesOnHover(t,t.target);else if(l){var n=parseInt(t.target.getAttribute(\"rel\"))-1;this.ctx.fireEvent(\"legendHover\",[this.ctx,n,this.w]),new o.default(this.ctx).highlightRangeInSeries(t,t.target)}}},{key:\"onLegendClick\",value:function(t){if(t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\")){var e=parseInt(t.target.getAttribute(\"rel\"))-1,l=\"true\"===t.target.getAttribute(\"data:collapsed\"),n=this.w.config.chart.events.legendClick;\"function\"==typeof n&&n(this.ctx,e,this.w),this.ctx.fireEvent(\"legendClick\",[this.ctx,e,this.w]),this.toggleDataSeries(e,l)}}},{key:\"getLegendStyles\",value:function(){var t=document.createElement(\"style\");t.setAttribute(\"type\",\"text/css\");var e=document.createTextNode(\"\\n    \\n      .apexcharts-legend {\\n        display: flex;\\n        overflow: auto;\\n        padding: 0 10px;\\n      }\\n\\n      .apexcharts-legend.position-bottom, .apexcharts-legend.position-top {\\n        flex-wrap: wrap\\n      }\\n      .apexcharts-legend.position-right, .apexcharts-legend.position-left {\\n        flex-direction: column;\\n        bottom: 0;\\n      }\\n\\n      .apexcharts-legend.position-bottom.left, .apexcharts-legend.position-top.left, .apexcharts-legend.position-right, .apexcharts-legend.position-left {\\n        justify-content: flex-start;\\n      }\\n\\n      .apexcharts-legend.position-bottom.center, .apexcharts-legend.position-top.center {\\n        justify-content: center;  \\n      }\\n\\n      .apexcharts-legend.position-bottom.right, .apexcharts-legend.position-top.right {\\n        justify-content: flex-end;\\n      }\\n\\n      .apexcharts-legend-series {\\n        cursor: pointer;\\n      }\\n\\n      .apexcharts-legend.position-bottom .apexcharts-legend-series, .apexcharts-legend.position-top .apexcharts-legend-series{\\n        display: flex;\\n        align-items: center;\\n      }\\n\\n      .apexcharts-legend-text {\\n        position: relative;\\n        font-size: 14px;\\n      }\\n\\n      .apexcharts-legend-marker {\\n        position: relative;\\n        display: inline-block;\\n        cursor: pointer;\\n        margin-right: 3px;\\n      }\\n      \\n      .apexcharts-legend.right .apexcharts-legend-series, .apexcharts-legend.left .apexcharts-legend-series{\\n        display: inline-block;\\n      }\\n\\n      .apexcharts-legend-series.no-click {\\n        cursor: auto;\\n      }\\n\\n      .apexcharts-legend .apexcharts-hidden-zero-series {\\n        display: none !important;\\n      }\\n\\n      .inactive-legend {\\n        opacity: 0.45;\\n      }\");return t.appendChild(e),t}},{key:\"resetToggleDataSeries\",value:function(){var t=this.w,e=[];if(t.globals.axisCharts?t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series[data\\\\:realIndex]\").forEach(function(t){e.push(parseInt(t.getAttribute(\"data:realIndex\")))}):t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series[rel]\").forEach(function(t){e.push(parseInt(t.getAttribute(\"rel\"))-1)}),e.sort(),0<t.globals.collapsedSeries.length){for(var l=t.globals.risingSeries.slice(),n=t.config.series.slice(),i=0;i<t.globals.collapsedSeries.length;i++){var a=e.indexOf(t.globals.collapsedSeries[i].index);-1!==a&&(t.globals.axisCharts?n[a].data=t.globals.collapsedSeries.slice()[i].data.slice():n[a]=t.globals.collapsedSeries.slice()[i].data,l.push(a))}t.globals.collapsedSeries=[],t.globals.collapsedSeriesIndices=[],t.globals.risingSeries=l,t.config.series=n,this.ctx._updateSeries(t.config.series,t.config.chart.animations.dynamicAnimation.enabled)}}},{key:\"toggleDataSeries\",value:function(t,e){var l=this.w;if(l.globals.axisCharts||\"radialBar\"===l.config.chart.type){l.globals.resized=!0;var n=null,i=null;if(l.globals.risingSeries=[],i=l.globals.axisCharts?(n=l.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\"+t+\"']\"),parseInt(n.getAttribute(\"data:realIndex\"))):(n=l.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\"+(t+1)+\"']\"),parseInt(n.getAttribute(\"rel\"))-1),e){if(0<l.globals.collapsedSeries.length)for(var a=0;a<l.globals.collapsedSeries.length;a++)l.globals.collapsedSeries[a].index===i&&(l.globals.axisCharts?l.config.series[i].data=l.globals.collapsedSeries[a].data.slice():l.config.series[i]=l.globals.collapsedSeries[a].data,l.globals.collapsedSeries.splice(a,1),l.globals.collapsedSeriesIndices.splice(a,1),l.globals.risingSeries.push(i),this.ctx._updateSeries(l.config.series,l.config.chart.animations.dynamicAnimation.enabled))}else{if(l.globals.axisCharts){l.globals.collapsedSeries.push({index:i,data:l.config.series[i].data.slice(),type:n.parentNode.className.baseVal.split(\"-\")[1]}),l.globals.collapsedSeriesIndices.push(i);var r=l.globals.risingSeries.indexOf(i);l.globals.risingSeries.splice(r,1),l.config.series[i].data=[]}else l.globals.collapsedSeries.push({index:i,data:l.config.series[i]}),l.globals.collapsedSeriesIndices.push(i),l.config.series[i]=0;for(var o=n.childNodes,s=0;s<o.length;s++)o[s].classList.contains(\"apexcharts-series-markers-wrap\")&&(o[s].classList.contains(\"apexcharts-hide\")?o[s].classList.remove(\"apexcharts-hide\"):o[s].classList.add(\"apexcharts-hide\"));l.globals.allSeriesCollapsed=l.globals.collapsedSeries.length===l.globals.series.length,this.ctx._updateSeries(l.config.series,l.config.chart.animations.dynamicAnimation.enabled)}}else l.globals.dom.Paper.select(\" .apexcharts-series[rel='\"+(t+1)+\"'] path\").fire(\"click\")}}]),t}();e.default=u},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=o(l(51)),a=o(l(1)),r=o(l(6));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return n(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,l=this.w,n=l.config;if(0!==n.responsive.length){var o={},s=new i.default(o),c=function(){for(var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},i=0;i<n.responsive.length;i++){if((0<window.innerWidth?window.innerWidth:screen.width)<n.responsive[i].breakpoint){o=a.default.extend(s,t),o=r.default.extendArrayProps(o,n.responsive[i].options),o=a.default.extend(l.config,o),e.overrideResponsiveOptions(o);break}var c=r.default.extendArrayProps(s,l.globals.initialConfig);o=a.default.extend(l.config,c),e.overrideResponsiveOptions(o)}return o};if(t){var u=r.default.extendArrayProps(s,t);u=a.default.extend(l.config,u),u=c(u=a.default.extend(u,t)),this.overrideResponsiveOptions(u)}else c({})}}},{key:\"overrideResponsiveOptions\",value:function(t){var e=new i.default(t).init();this.w.config=e}}]),t}();t.exports=s},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=void 0;var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return i(t,[{key:\"niceScale\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:10;if(t===Number.MIN_VALUE&&0===e||!r.default.isNumber(t)&&!r.default.isNumber(e))return t=0,l=e=1,this.linearScale(t,e,l);e<t?(console.warn(\"yaxis.min cannot be greater than yaxis.max\"),e=t+.1):t===e&&(t=0===t?0:t-.1,e=0===e?2:e+.1);var n=[],i=l+1;i<2?i=2:2<i&&(i-=2);for(var a=(e-t)/i,o=Math.floor(r.default.log10(a)),s=Math.pow(10,o),c=parseInt(a/s)*s,u=c*Math.floor(t/c),d=c*Math.ceil(e/c),h=u;n.push(h),!(d<(h+=c)););if(void 0===this.w.config.yaxis[0].max&&void 0===this.w.config.yaxis[0].min)return{result:n,niceMin:n[0],niceMax:n[n.length-1]};var f=t;(n=[]).push(f);for(var p=Math.abs(e-t)/l,g=0;g<=l-1;g++)f+=p,n.push(f);return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:\"linearScale\",value:function(t,e){var l=2<arguments.length&&void 0!==arguments[2]?arguments[2]:10,n=Math.abs(e-t)/l;l===Number.MAX_VALUE&&(l=10,n=1);for(var i=[],a=t;0<=l;)i.push(a),a+=n,l-=1;return{result:i,niceMin:i[0],niceMax:i[i.length-1]}}},{key:\"logarithmicScale\",value:function(t,e,l,n){var i=this.w;(e<0||e===Number.MIN_VALUE)&&(e=.01);for(var a=i.config.yaxis[t].logBase,o=Math.log(e)/Math.log(a),s=Math.log(l)/Math.log(a),c=Math.abs(l-e)/n,u=[],d=e;0<=n;)u.push(d),d+=c,n-=1;var h=u.map(function(t,n){t<=0&&(t=.01);var i=(s-o)/(l-e),c=Math.pow(a,o+i*(t-o));return Math.round(c/r.default.roundToBase(c,a))*r.default.roundToBase(c,a)});return 0===h[0]&&(h[0]=1),{result:h,niceMin:h[0],niceMax:h[h.length-1]}}},{key:\"setYScaleForIndex\",value:function(t,e,l){var n=this.w.globals,i=this.w.config,a=i.yaxis[t];void 0===n.yAxisScale[t]&&(n.yAxisScale[t]=[]),i.yaxis[t].logarithmic?(n.allSeriesCollapsed=!1,n.yAxisScale[t]=this.logarithmicScale(t,e,l,a.tickAmount?a.tickAmount:Math.floor(Math.log10(l)))):l!==-Number.MAX_VALUE&&r.default.isNumber(l)?(n.allSeriesCollapsed=!1,n.yAxisScale[t]=this.niceScale(e,l,a.tickAmount?a.tickAmount:6)):n.yAxisScale[t]=this.linearScale(0,5,5)}},{key:\"setMultipleYScales\",value:function(){var t=this,e=this.w.globals,l=this.w.config,n=e.minYArr.concat([]),i=e.maxYArr.concat([]),a=[];l.yaxis.forEach(function(r,o){var s=o;l.series.forEach(function(t,l){t.name===r.seriesName&&-1===e.collapsedSeriesIndices.indexOf(l)&&(o!==(s=l)?a.push({index:l,similarIndex:o,alreadyExists:!0}):a.push({index:l}))});var c=n[s],u=i[s];t.setYScaleForIndex(o,c,u)}),this.sameScaleInMultipleAxes(n,i,a)}},{key:\"sameScaleInMultipleAxes\",value:function(t,e,l){var n=this,i=this.w.config,a=[];l.forEach(function(t){t.alreadyExists&&(void 0===a[t.index]&&(a[t.index]=[]),a[t.index].push(t.index),a[t.index].push(t.similarIndex))}),a.forEach(function(t,e){a.forEach(function(l,n){var i,r;e!==n&&0<(i=t,r=l,i.filter(function(t){return-1!==r.indexOf(t)})).length&&(a[e]=a[e].concat(a[n]))})});var r=a.map(function(t){return t.filter(function(e,l){return t.indexOf(e)===l})}).map(function(t){return t.sort()});a=a.filter(function(t){return!!t});var o=r.slice(),s=o.map(function(t){return JSON.stringify(t)});o=o.filter(function(t,e){return s.indexOf(JSON.stringify(t))===e});var c=[],u=[];t.forEach(function(t,l){o.forEach(function(n,i){n.includes(l)&&(void 0===c[i]&&(c[i]=[],u[i]=[]),c[i].push({key:l,value:t}),u[i].push({key:l,value:e[l]}))})});var d=Array(o.length).fill().map(function(t,e){return Number.MAX_SAFE_INTEGER}),h=Array(o.length).fill().map(function(t,e){return Number.MIN_SAFE_INTEGER});c.forEach(function(t,e){t.forEach(function(t,l){d[e]=Math.min(t.value,d[e])})}),u.forEach(function(t,e){t.forEach(function(t,l){h[e]=Math.max(t.value,h[e])})}),t.forEach(function(t,e){u.forEach(function(t,l){var a=d[l],r=h[l];t.forEach(function(l,o){t[o].key===e&&(void 0!==i.yaxis[e].min&&(a=i.yaxis[e].min),void 0!==i.yaxis[e].max&&(r=i.yaxis[e].max),n.setYScaleForIndex(e,a,r))})})})}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w,this.colors=[]}return i(t,[{key:\"init\",value:function(){this.setDefaultColors()}},{key:\"setDefaultColors\",value:function(){var t=this.w,e=new r.default;if(void 0===t.config.colors?t.globals.colors=this.predefined():t.globals.colors=t.config.colors,t.config.theme.monochrome.enabled){var l=[],n=t.globals.series.length;t.config.plotOptions.bar.distributed&&\"bar\"===t.config.chart.type&&(n=t.globals.series[0].length*t.globals.series.length);for(var i=t.config.theme.monochrome.color,a=1/(n/t.config.theme.monochrome.shadeIntensity),o=t.config.theme.monochrome.shadeTo,s=0,c=0;c<n;c++){var u=void 0;u=\"dark\"===o?e.shadeColor(-1*s,i):e.shadeColor(s,i),s+=a,l.push(u)}t.globals.colors=l.slice()}var d=t.globals.colors.slice();this.pushExtraColors(t.globals.colors),void 0===t.config.stroke.colors?t.globals.stroke.colors=d:t.globals.stroke.colors=t.config.stroke.colors,this.pushExtraColors(t.globals.stroke.colors),void 0===t.config.fill.colors?t.globals.fill.colors=d:t.globals.fill.colors=t.config.fill.colors,this.pushExtraColors(t.globals.fill.colors),void 0===t.config.dataLabels.style.colors?t.globals.dataLabels.style.colors=d:t.globals.dataLabels.style.colors=t.config.dataLabels.style.colors,this.pushExtraColors(t.globals.dataLabels.style.colors),void 0===t.config.markers.colors?t.globals.markers.colors=d:t.globals.markers.colors=t.config.markers.colors,this.pushExtraColors(t.globals.markers.colors)}},{key:\"pushExtraColors\",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,l=this.w,n=l.globals.series.length;if((e=null===e&&(\"bar\"===l.config.chart.type&&l.config.plotOptions.bar.distributed||\"heatmap\"===l.config.chart.type&&l.config.plotOptions.heatmap.colorScale.inverse))&&(n=l.globals.series[0].length*l.globals.series.length),t.length<n)for(var i=n-t.length,a=0;a<i;a++)t.push(t[a])}},{key:\"predefined\",value:function(){switch(this.w.config.theme.palette){case\"palette1\":this.colors=[\"#008FFB\",\"#00E396\",\"#FEB019\",\"#FF4560\",\"#775DD0\"];break;case\"palette2\":this.colors=[\"#3f51b5\",\"#03a9f4\",\"#4caf50\",\"#f9ce1d\",\"#FF9800\"];break;case\"palette3\":this.colors=[\"#33b2df\",\"#546E7A\",\"#d4526e\",\"#13d8aa\",\"#A5978B\"];break;case\"palette4\":this.colors=[\"#546E7A\",\"#4ecdc4\",\"#c7f464\",\"#81D4FA\",\"#fd6a6a\"];break;case\"palette5\":this.colors=[\"#2b908f\",\"#f9a3a4\",\"#90ee7e\",\"#fa4443\",\"#69d2e7\"];break;case\"palette6\":this.colors=[\"#449DD1\",\"#F86624\",\"#EA3546\",\"#662E9B\",\"#C5D86D\"];break;case\"palette7\":this.colors=[\"#D7263D\",\"#1B998B\",\"#2E294E\",\"#F46036\",\"#E2C044\"];break;case\"palette8\":this.colors=[\"#662E9B\",\"#F86624\",\"#F9C80E\",\"#EA3546\",\"#43BCCD\"];break;case\"palette9\":this.colors=[\"#5C4742\",\"#A5978B\",\"#8D5B4C\",\"#5A2A27\",\"#C4BBAF\"];break;case\"palette10\":this.colors=[\"#A300D6\",\"#7D02EB\",\"#5653FE\",\"#2983FF\",\"#00B1F2\"];break;default:this.colors=[\"#008FFB\",\"#00E396\",\"#FEB019\",\"#FF4560\",\"#775DD0\"]}return this.colors}}]),t}();t.exports=o},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=void 0;var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(0),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w}return i(t,[{key:\"draw\",value:function(){this.drawTitleSubtitle(\"title\"),this.drawTitleSubtitle(\"subtitle\")}},{key:\"drawTitleSubtitle\",value:function(t){var e=this.w,l=\"title\"===t?e.config.title:e.config.subtitle,n=e.globals.svgWidth/2,i=l.offsetY,a=\"middle\";if(\"left\"===l.align?(n=10,a=\"start\"):\"right\"===l.align&&(n=e.globals.svgWidth-10,a=\"end\"),n+=l.offsetX,i=i+parseInt(l.style.fontSize)+2,void 0!==l.text){var o=new r.default(this.ctx).drawText({x:n,y:i,text:l.text,textAnchor:a,fontSize:l.style.fontSize,fontFamily:l.style.fontFamily,foreColor:l.style.color,opacity:1});o.node.setAttribute(\"class\",\"apexcharts-\"+t+\"-text\"),e.globals.dom.Paper.add(o)}}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=o(l(0)),a=o(l(1)),r=o(l(80));function o(t){return t&&t.__esModule?t:{default:t}}var s=function(t){function e(t){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,e);var l=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t));return l.ctx=t,l.w=t.w,l.dragged=!1,l.graphics=new i.default(l.ctx),l.eventList=[\"mousedown\",\"mousemove\",\"touchstart\",\"touchmove\",\"mouseup\",\"touchend\"],l.clientX=0,l.clientY=0,l.startX=0,l.endX=0,l.dragX=0,l.startY=0,l.endY=0,l.dragY=0,l}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(e,r.default),n(e,[{key:\"init\",value:function(t){var e=t.xyRatios,l=this.w;this.xyRatios=e,this.zoomRect=this.graphics.drawRect(0,0,0,0),this.selectionRect=this.graphics.drawRect(0,0,0,0),this.gridRect=l.globals.dom.baseEl.querySelector(\".apexcharts-grid\"),this.zoomRect.node.classList.add(\"apexcharts-zoom-rect\"),this.selectionRect.node.classList.add(\"apexcharts-selection-rect\"),l.globals.dom.elGraphical.add(this.zoomRect),l.globals.dom.elGraphical.add(this.selectionRect),\"x\"===l.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,minY:0,maxX:l.globals.gridWidth,maxY:l.globals.gridHeight}).on(\"dragmove\",this.selectionDragging.bind(this,\"dragging\")):\"y\"===l.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,maxX:l.globals.gridWidth}).on(\"dragmove\",this.selectionDragging.bind(this,\"dragging\")):this.slDraggableRect=this.selectionRect.draggable().on(\"dragmove\",this.selectionDragging.bind(this,\"dragging\")),this.preselectedSelection(),this.hoverArea=l.globals.dom.baseEl.querySelector(l.globals.chartClass),this.hoverArea.classList.add(\"zoomable\");var n=!0,i=!1,a=void 0;try{for(var r,o=this.eventList[Symbol.iterator]();!(n=(r=o.next()).done);n=!0){var s=r.value;this.hoverArea.addEventListener(s,this.svgMouseEvents.bind(this,e),{capture:!1,passive:!0})}}catch(t){i=!0,a=t}finally{try{!n&&o.return&&o.return()}finally{if(i)throw a}}}},{key:\"destroy\",value:function(){var t=!0,e=!1,l=void 0;try{for(var n,i=this.eventList[Symbol.iterator]();!(t=(n=i.next()).done);t=!0){var a=n.value;this.hoverArea&&this.hoverArea.removeEventListener(a,this.svgMouseEvents.bind(this,this.xyRatios),{capture:!1,passive:!0})}}catch(t){e=!0,l=t}finally{try{!t&&i.return&&i.return()}finally{if(e)throw l}}this.slDraggableRect&&(this.slDraggableRect.draggable(!1),this.slDraggableRect.off(),this.selectionRect.off()),this.selectionRect=null,this.zoomRect=null,this.gridRect=null}},{key:\"svgMouseEvents\",value:function(t,e){var l=this.w,n=this,i=this.ctx.toolbar,a=l.globals.zoomEnabled?l.config.chart.zoom.type:l.config.chart.selection.type;if(e.shiftKey?(this.shiftWasPressed=!0,i.enablePanning()):this.shiftWasPressed&&(i.enableZooming(),this.shiftWasPressed=!1),!e.target.classList.contains(\"apexcharts-selection-rect\")&&!e.target.parentNode.classList.contains(\"apexcharts-toolbar\")){if(n.clientX=\"touchmove\"===e.type||\"touchstart\"===e.type?e.touches[0].clientX:\"touchend\"===e.type?e.changedTouches[0].clientX:e.clientX,n.clientY=\"touchmove\"===e.type||\"touchstart\"===e.type?e.touches[0].clientY:\"touchend\"===e.type?e.changedTouches[0].clientY:e.clientY,\"mousedown\"===e.type&&1===e.which){var r=n.gridRect.getBoundingClientRect();n.startX=n.clientX-r.left,n.startY=n.clientY-r.top,n.dragged=!1,n.w.globals.mousedown=!0}if((\"mousemove\"===e.type&&1===e.which||\"touchmove\"===e.type)&&(n.dragged=!0,l.globals.panEnabled?(l.globals.selection=null,n.w.globals.mousedown&&n.panDragging({context:n,zoomtype:a,xyRatios:t})):(n.w.globals.mousedown&&l.globals.zoomEnabled||n.w.globals.mousedown&&l.globals.selectionEnabled)&&(n.selection=n.selectionDrawing({context:n,zoomtype:a}))),\"mouseup\"===e.type||\"touchend\"===e.type){var o=n.gridRect.getBoundingClientRect();n.w.globals.mousedown&&(n.endX=n.clientX-o.left,n.endY=n.clientY-o.top,n.dragX=Math.abs(n.endX-n.startX),n.dragY=Math.abs(n.endY-n.startY),(l.globals.zoomEnabled||l.globals.selectionEnabled)&&n.selectionDrawn({context:n,zoomtype:a})),l.globals.zoomEnabled&&n.hideSelectionRect(this.selectionRect),n.dragged=!1,n.w.globals.mousedown=!1}this.makeSelectionRectDraggable()}}},{key:\"makeSelectionRectDraggable\",value:function(){var t=this.w;if(this.selectionRect){var e=this.selectionRect.node.getBoundingClientRect();0<e.width&&0<e.height&&this.slDraggableRect.selectize().resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var l=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,n={x:l,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-l,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(n),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,l=t.y,n=t.width,a=t.height,r=t.translateX,o=t.translateY,s=this.w,c=this.zoomRect,u=this.selectionRect;if(this.dragged||null!==s.globals.selection){var d={transform:\"translate(\"+r+\", \"+o+\")\"};s.globals.zoomEnabled&&this.dragged&&(c.attr({x:e,y:l,width:n,height:a,fill:s.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":s.config.chart.zoom.zoomedArea.fill.opacity,stroke:s.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":s.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":s.config.chart.zoom.zoomedArea.stroke.opacity}),i.default.setAttrs(c.node,d)),s.globals.selectionEnabled&&(u.attr({x:e,y:l,width:0<n?n:0,height:0<a?a:0,fill:s.config.chart.selection.fill.color,\"fill-opacity\":s.config.chart.selection.fill.opacity,stroke:s.config.chart.selection.stroke.color,\"stroke-width\":s.config.chart.selection.stroke.width,\"stroke-dasharray\":s.config.chart.selection.stroke.dashArray,\"stroke-opacity\":s.config.chart.selection.stroke.opacity}),i.default.setAttrs(u.node,d))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,l=t.zoomtype,n=this.w,i=e,a=this.gridRect.getBoundingClientRect(),r=i.startX-1,o=i.startY,s=i.clientX-a.left-r,c=i.clientY-a.top-o,u=0,d=0,h={};return(Math.abs(s+r)>n.globals.gridWidth||i.clientX-a.left<0)&&(i.hideSelectionRect(this.zoomRect),i.dragged=!1,i.w.globals.mousedown=!1),r>i.clientX-a.left&&(u=-(s=Math.abs(s))),o>i.clientY-a.top&&(d=-(c=Math.abs(c))),h=\"x\"===l?{x:r,y:0,width:s,height:n.globals.gridHeight,translateX:u,translateY:0}:\"y\"===l?{x:0,y:o,width:n.globals.gridWidth,height:c,translateX:0,translateY:d}:{x:r,y:o,width:s,height:c,translateX:u,translateY:d},i.drawSelectionRect(h),h}},{key:\"selectionDragging\",value:function(t,e){var l=this,n=this.w,i=this.xyRatios,a=this.selectionRect,r=0;\"resizing\"===t&&(r=30),\"function\"==typeof n.config.chart.events.selection&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout(function(){var t=l.gridRect.getBoundingClientRect(),e=a.node.getBoundingClientRect(),r=n.globals.xAxisScale.niceMin+(e.left-t.left)*i.xRatio,o=n.globals.xAxisScale.niceMin+(e.right-t.left)*i.xRatio,s=n.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*i.yRatio[0],c=n.globals.yAxisScale[0].niceMax-(e.top-t.top)*i.yRatio[0];n.config.chart.events.selection(l.ctx,{xaxis:{min:r,max:o},yaxis:{min:s,max:c}})},r))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,l=t.zoomtype,n=this.w,i=e,r=this.xyRatios,o=this.ctx.toolbar;if(i.startX>i.endX){var s=i.startX;i.startX=i.endX,i.endX=s}if(i.startY>i.endY){var c=i.startY;i.startY=i.endY,i.endY=c}var u=n.globals.xAxisScale.niceMin+i.startX*r.xRatio,d=n.globals.xAxisScale.niceMin+i.endX*r.xRatio,h=[],f=[];if(n.config.yaxis.forEach(function(t,e){h.push(Math.floor(n.globals.yAxisScale[e].niceMax-r.yRatio[e]*i.startY)),f.push(Math.floor(n.globals.yAxisScale[e].niceMax-r.yRatio[e]*i.endY))}),i.dragged&&(10<i.dragX||10<i.dragY)&&u!==d)if(n.globals.zoomEnabled){var p=a.default.clone(n.config.yaxis);n.globals.zoomed||(n.globals.lastXAxis=a.default.clone(n.config.xaxis),n.globals.lastYAxis=a.default.clone(n.config.yaxis));var g={min:u,max:d};if(\"xy\"!==l&&\"y\"!==l||p.forEach(function(t,e){p[e].min=f[e],p[e].max=h[e]}),o){var m=o.getBeforeZoomRange(g,p);m&&(g=m.xaxis?m.xaxis:g,p=m.yaxis?m.yaxe:p)}\"x\"===l?i.ctx._updateOptions({xaxis:g},!1,i.w.config.chart.animations.dynamicAnimation.enabled):\"y\"===l?i.ctx._updateOptions({yaxis:p},!1,i.w.config.chart.animations.dynamicAnimation.enabled):i.ctx._updateOptions({xaxis:g,yaxis:p},!1,i.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof n.config.chart.events.zoomed&&o.zoomCallback(g,p),n.globals.zoomed=!0}else if(n.globals.selectionEnabled){var b,v=null;b={min:u,max:d},\"xy\"!==l&&\"y\"!==l||(v=a.default.clone(n.config.yaxis)).forEach(function(t,e){v[e].min=f[e],v[e].max=h[e]}),n.globals.selection=i.selection,\"function\"==typeof n.config.chart.events.selection&&n.config.chart.events.selection(i.ctx,{xaxis:b,yaxis:v})}}},{key:\"panDragging\",value:function(t){var e=t.context,l=(t.zoomtype,this.w),n=e,i=void 0;if(void 0!==l.globals.lastClientPosition.x){var a=l.globals.lastClientPosition.x-n.clientX,r=l.globals.lastClientPosition.y-n.clientY;Math.abs(a)>Math.abs(r)&&0<a?i=\"left\":Math.abs(a)>Math.abs(r)&&a<0?i=\"right\":Math.abs(r)>Math.abs(a)&&0<r?i=\"up\":Math.abs(r)>Math.abs(a)&&r<0&&(i=\"down\")}l.globals.lastClientPosition={x:n.clientX,y:n.clientY};var o=l.globals.minX,s=l.globals.maxX;this.panScrolled(i,o,s)}},{key:\"panScrolled\",value:function(t,e,l){var n=this.w,i=this.xyRatios;\"left\"===t?(e=n.globals.minX+n.globals.gridWidth/15*i.xRatio,l=n.globals.maxX+n.globals.gridWidth/15*i.xRatio):\"right\"===t&&(e=n.globals.minX-n.globals.gridWidth/15*i.xRatio,l=n.globals.maxX-n.globals.gridWidth/15*i.xRatio),(e<n.globals.initialminX||l>n.globals.initialmaxX)&&(e=n.globals.minX,l=n.globals.maxX),this.ctx._updateOptions({xaxis:{min:e,max:l}},!1,!1),\"function\"==typeof n.config.chart.events.scrolled&&n.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:l}})}}]),e}();t.exports=s},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=s(l(26)),a=s(l(6)),r=s(l(0)),o=s(l(49));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w;var l=this.w;this.anim=new i.default(this.ctx),this.xaxisLabels=l.globals.labels.slice(),this.animX=l.config.grid.xaxis.lines.animate&&l.config.chart.animations.enabled,this.animY=l.config.grid.yaxis.lines.animate&&l.config.chart.animations.enabled,0<l.globals.timelineLabels.length&&(this.xaxisLabels=l.globals.timelineLabels.slice())}return n(t,[{key:\"drawGridArea\",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=this.w,l=new r.default(this.ctx);null===t&&(t=l.group({class:\"apexcharts-grid\"}));var n=l.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),i=l.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(i),t.add(n),t}},{key:\"drawGrid\",value:function(){var t=this.w,e=new o.default(this.ctx),l=this.w.globals,n=null;if(l.axisCharts){if(t.config.grid.show)n=this.renderGrid(),l.dom.elGraphical.add(n.el),this.drawGridArea(n.el);else{var i=this.drawGridArea();l.dom.elGraphical.add(i)}null!==n&&e.xAxisLabelCorrections(n.xAxisTickWidth)}}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,l=new r.default(this.ctx),n=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var i=0;t.config.stroke.width.forEach(function(t){i=Math.max(i,t)}),n=i}e.dom.elGridRectMask=document.createElementNS(e.svgNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\"+e.cuid),e.dom.elGridRectMarkerMask=document.createElementNS(e.svgNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\"+e.cuid),e.dom.elGridRect=l.drawRect(-n/2,-n/2,e.gridWidth+n,e.gridHeight+n,0,\"#fff\"),new a.default(this).getLargestMarkerSize();var o=t.globals.markers.largestSize+t.config.markers.hover.sizeOffset+1;e.dom.elGridRectMarker=l.drawRect(-o,-o,e.gridWidth+2*o,e.gridHeight+2*o,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var s=e.dom.baseEl.querySelector(\"defs\");s.appendChild(e.dom.elGridRectMask),s.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"renderGrid\",value:function(){for(var t=this.w,e=new r.default(this.ctx),l=t.config.grid.strokeDashArray,n=e.group({class:\"apexcharts-grid\"}),i=8,a=0;a<t.globals.series.length&&(void 0!==t.globals.yAxisScale[a]&&(i=t.globals.yAxisScale[a].result.length-1),!(2<i));a++);var s=void 0;if(t.config.plotOptions.bar.horizontal&&\"bar\"===t.config.chart.type){if(s=i,t.config.grid.xaxis.lines.show||t.config.xaxis.axisTicks.show)for(var c=t.globals.padHorizontal,u=void 0,d=t.globals.gridHeight,h=0;h<s+1&&(u=c=c+t.globals.gridWidth/s+.3,h!==s-1);h++){if(t.config.grid.xaxis.lines.show){var f=e.drawLine(c,0,u,d,t.config.grid.borderColor,l);f.node.classList.add(\"apexcharts-gridline\"),n.add(f),this.animX&&this.animateLine(f,{x1:0,x2:0},{x1:c,x2:u})}new o.default(this.ctx).drawXaxisTicks(c,n)}if(t.config.grid.yaxis.lines.show)for(var p=0,g=0,m=t.globals.gridWidth,b=0;b<t.globals.dataPoints+1;b++){var v=e.drawLine(0,p,m,g,t.config.grid.borderColor,l);n.add(v),v.node.classList.add(\"apexcharts-gridline\"),this.animY&&this.animateLine(v,{y1:p+20,y2:g+20},{y1:p,y2:g}),g=p+=t.globals.gridHeight/t.globals.dataPoints}}else{if(s=this.xaxisLabels.length,t.config.grid.xaxis.lines.show||t.config.xaxis.axisTicks.show){var y=t.globals.padHorizontal,x=void 0,_=t.globals.gridHeight;if(0<t.globals.timelineLabels.length)for(var w=0;w<s;w++){if(y=this.xaxisLabels[w].position,x=this.xaxisLabels[w].position,t.config.grid.xaxis.lines.show&&0<y&&y<t.globals.gridWidth){var S=e.drawLine(y,0,x,_,t.config.grid.borderColor,l);S.node.classList.add(\"apexcharts-gridline\"),n.add(S),this.animX&&this.animateLine(S,{x1:0,x2:0},{x1:y,x2:x})}new o.default(this.ctx).drawXaxisTicks(y,n)}else for(var k=s,C=0;C<k;C++){var T=k;if(t.globals.isXNumeric&&\"bar\"!==t.config.chart.type&&(T-=1),x=y+=t.globals.gridWidth/T,C===T-1)break;if(t.config.grid.xaxis.lines.show){var D=e.drawLine(y,0,x,_,t.config.grid.borderColor,l);D.node.classList.add(\"apexcharts-gridline\"),n.add(D),this.animX&&this.animateLine(D,{x1:0,x2:0},{x1:y,x2:x})}new o.default(this.ctx).drawXaxisTicks(y,n)}}if(t.config.grid.yaxis.lines.show)for(var M=0,A=0,E=t.globals.gridWidth,j=0;j<i+1;j++){var I=e.drawLine(0,M,E,A,t.config.grid.borderColor,l);n.add(I),I.node.classList.add(\"apexcharts-gridline\"),this.animY&&this.animateLine(I,{y1:M+20,y2:A+20},{y1:M,y2:A}),A=M+=t.globals.gridHeight/i}}return this.drawGridBands(n,s,i),{el:n,xAxisTickWidth:t.globals.gridWidth/s}}},{key:\"drawGridBands\",value:function(t,e,l){var n=this.w,i=new r.default(this.ctx);if(void 0!==n.config.grid.row.colors&&0<n.config.grid.row.colors.length)for(var a=0,o=n.globals.gridHeight/l,s=n.globals.gridWidth,c=0,u=0;c<l;c++,u++){u>=n.config.grid.row.colors.length&&(u=0);var d=n.config.grid.row.colors[u],h=i.drawRect(0,a,s,o,0,d,n.config.grid.row.opacity);t.add(h),h.node.classList.add(\"apexcharts-gridRow\"),a+=n.globals.gridHeight/l}if(void 0!==n.config.grid.column.colors&&0<n.config.grid.column.colors.length)for(var f=n.globals.padHorizontal,p=n.globals.padHorizontal+n.globals.gridWidth/e,g=n.globals.gridHeight,m=0,b=0;m<e;m++,b++){b>=n.config.grid.column.colors.length&&(b=0);var v=n.config.grid.column.colors[b],y=i.drawRect(f,0,p,g,0,v,n.config.grid.column.opacity);y.node.classList.add(\"apexcharts-gridColumn\"),t.add(y),f+=n.globals.gridWidth/e}}},{key:\"animateLine\",value:function(t,e,l){var n=this.w,i=n.config.chart.animations;if(i&&!n.globals.resized&&!n.globals.dataChanged){var a=i.speed;this.anim.animateLine(t,e,l,a)}}}]),t}();e.default=c},function(t,e,l){\"use strict\";var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.opts=e}return i(t,[{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:5},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){return this.opts.yaxis[0].labels.show=!1,this.opts.yaxis[0].floating=!0,r.default.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{width:0},fill:{opacity:.85},legend:{markers:{shape:\"square\",radius:2,size:8}},tooltip:{shared:!1},xaxis:{tooltip:{enabled:!1},crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1}}}}}},{key:\"candlestick\",value:function(){return{stroke:{width:1,colors:[\"#333\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(t){var e=t.seriesIndex,l=t.dataPointIndex,n=t.w;return'<div class=\"apexcharts-tooltip-candlestick\"><div>Open: <span class=\"value\">'+n.globals.seriesCandleO[e][l]+'</span></div><div>High: <span class=\"value\">'+n.globals.seriesCandleH[e][l]+'</span></div><div>Low: <span class=\"value\">'+n.globals.seriesCandleL[e][l]+'</span></div><div>Close: <span class=\"value\">'+n.globals.seriesCandleC[e][l]+\"</span></div></div>\"}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"area\",value:function(){return{stroke:{width:4},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"brush\",value:function(t){return r.default.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(){var t=this;this.opts.dataLabels=this.opts.dataLabels||{},this.opts.dataLabels.formatter=this.opts.dataLabels.formatter||void 0;var e=this.opts.dataLabels.formatter;this.opts.yaxis.forEach(function(e,l){t.opts.yaxis[l].min=0,t.opts.yaxis[l].max=100}),\"bar\"===this.opts.chart.type&&(this.opts.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t})}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:2,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1,zoom:{enabled:!1}},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"dark\",shadeIntensity:.35,inverseColors:!1,stops:[0,100,100]}},padding:{right:0,left:0},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"vertical\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},padding:{right:0,left:0},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},padding:{right:0,left:0},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}}]),t}();t.exports=o},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default=void 0;var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t)}return i(t,[{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,initialConfig:null,lastXAxis:[],lastYAxis:[],series:[],seriesPercent:[],seriesTotals:[],stackedSeriesTotals:[],seriesX:[],seriesZ:[],labels:[],timelineLabels:[],seriesNames:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],risingSeries:[],selectedDataPoints:[],ignoreYAxisIndexes:[],padHorizontal:0,maxValsInArrayIndex:0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,minY:Number.MIN_VALUE,maxY:-Number.MAX_VALUE,minYArr:[],maxYArr:[],maxX:-Number.MAX_VALUE,initialmaxX:-Number.MAX_VALUE,minX:Number.MAX_VALUE,initialminX:Number.MAX_VALUE,minZ:Number.MAX_VALUE,maxZ:-Number.MAX_VALUE,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yRange:[],zRange:0,xRange:0,yValueDecimal:0,total:0,svgNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,delayedElements:[],axisCharts:!0,isXNumeric:!1,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,comboChartsHasBars:!1,dataChanged:!1,previousPaths:[],seriesXvalues:[],seriesYvalues:[],seriesCandleO:[],seriesCandleH:[],seriesCandleL:[],seriesCandleC:[],allSeriesHasEqualX:!0,dataPoints:0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,yAxisScale:[],xAxisScale:null,xAxisTicksPositions:[],timescaleTicks:[],rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,lineHeightRatio:1.618,xAxisLabelsHeight:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yLabelsCoords:[],yTitleCoords:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,tooltipOpts:null}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return e.initialConfig=r.default.extend({},t),e.initialSeries=JSON.parse(JSON.stringify(e.initialConfig.series)),e.lastXAxis=JSON.parse(JSON.stringify(e.initialConfig.xaxis)),e.lastYAxis=JSON.parse(JSON.stringify(e.initialConfig.yaxis)),e}}]),t}();e.default=o},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.w=e.w,this.ttCtx=e}return n(t,[{key:\"drawXaxisTooltip\",value:function(){var t=this.w,e=this.ttCtx,l=\"bottom\"===t.config.xaxis.position;e.xaxisOffY=l?t.globals.gridHeight+1:1;var n=l?\"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom\":\"apexcharts-xaxistooltip apexcharts-xaxistooltip-top\",i=t.globals.dom.elWrap;e.blxaxisTooltip&&null===t.globals.dom.baseEl.querySelector(\".apexcharts-xaxistooltip\")&&(e.xaxisTooltip=document.createElement(\"div\"),e.xaxisTooltip.setAttribute(\"class\",n),i.appendChild(e.xaxisTooltip),e.xaxisTooltipText=document.createElement(\"div\"),e.xaxisTooltipText.classList.add(\"apexcharts-xaxistooltip-text\"),e.xaxisTooltip.appendChild(e.xaxisTooltipText))}},{key:\"drawYaxisTooltip\",value:function(){for(var t=this.w,e=this.ttCtx,l=0;l<t.config.yaxis.length;l++){var n=t.config.yaxis[l].opposite||t.config.yaxis[l].crosshairs.opposite;e.yaxisOffX=n?t.globals.gridWidth+1:1;var i=n?\"apexcharts-yaxistooltip apexcharts-yaxistooltip-\"+l+\" apexcharts-yaxistooltip-right\":\"apexcharts-yaxistooltip apexcharts-yaxistooltip-\"+l+\" apexcharts-yaxistooltip-left\",a=t.globals.dom.elWrap;e.blyaxisTooltip&&null===t.globals.dom.baseEl.querySelector(\".apexcharts-yaxistooltip apexcharts-yaxistooltip-\"+l)&&(e.yaxisTooltip=document.createElement(\"div\"),e.yaxisTooltip.setAttribute(\"class\",i),a.appendChild(e.yaxisTooltip),0===l&&(e.yaxisTooltipText=[]),e.yaxisTooltipText.push(document.createElement(\"div\")),e.yaxisTooltipText[l].classList.add(\"apexcharts-yaxistooltip-text\"),e.yaxisTooltip.appendChild(e.yaxisTooltipText[l]))}}},{key:\"setXCrosshairWidth\",value:function(){var t=this.w,e=this.ttCtx,l=e.getElXCrosshairs();if(e.xcrosshairsWidth=parseInt(t.config.xaxis.crosshairs.width),t.globals.comboCharts){var n=t.globals.dom.baseEl.querySelector(\".apexcharts-bar-area\");if(null!==n&&\"barWidth\"===t.config.xaxis.crosshairs.width){var i=parseFloat(n.getAttribute(\"barWidth\"));e.xcrosshairsWidth=i}else if(\"tickWidth\"===t.config.xaxis.crosshairs.width){var a=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/a}}else if(\"tickWidth\"===t.config.xaxis.crosshairs.width){var r=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/r}else if(\"barWidth\"===t.config.xaxis.crosshairs.width){var o=t.globals.dom.baseEl.querySelector(\".apexcharts-bar-area\");if(null!==o){var s=parseFloat(o.getAttribute(\"barWidth\"));e.xcrosshairsWidth=s}else e.xcrosshairsWidth=1}\"bar\"===t.config.chart.type&&t.config.plotOptions.bar.horizontal&&(e.xcrosshairsWidth=0),null!==l&&0<e.xcrosshairsWidth&&l.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,l){var n=this.ttCtx,i=this.w,a=i.globals.yLabelFormatters[t];if(n.blyaxisTooltip){var r=n.getElGrid().getBoundingClientRect(),o=(e-r.top)*l.yRatio[t],s=i.globals.maxYArr[t]-i.globals.minYArr[t],c=i.globals.minYArr[t]+(s-o);n.tooltipPosition.moveYCrosshairs(e-r.top),n.yaxisTooltipText[t].innerHTML=a(c),n.tooltipPosition.moveYAxisTooltip(t)}}}]),t}();e.default=i},function(t,e,l){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var n,i=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),a=l(1),r=(n=a)&&n.__esModule?n:{default:n},o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.getAttr=function(t,e){return parseFloat(t.target.getAttribute(e))},this.w=e.w,this.ttCtx=e}return i(t,[{key:\"handleHeatTooltip\",value:function(t){var e=t.e,l=t.opt,n=t.x,i=t.y,a=this.ttCtx,r=this.w;if(e.target.classList.contains(\"apexcharts-heatmap-rect\")){var o=this.getAttr(e,\"i\"),s=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),u=this.getAttr(e,\"cy\"),d=this.getAttr(e,\"width\"),h=this.getAttr(e,\"height\");if(a.tooltipLabels.drawSeriesTexts({ttItems:l.ttItems,i:o,j:s,shared:!1}),n=c+a.tooltipRect.ttWidth/2+d,i=u+a.tooltipRect.ttHeight/2-h/2,a.tooltipPosition.moveXCrosshairs(c+d/2),n>r.globals.gridWidth/2&&(n=c-a.tooltipRect.ttWidth/2+d),a.w.config.tooltip.followCursor){var f=a.getElGrid().getBoundingClientRect();i=a.e.clientY-f.top+r.globals.translateY/2-10}}return{x:n,y:i}}},{key:\"handleMarkerTooltip\",value:function(t){var e=t.e,l=t.opt,n=t.x,i=t.y,a=this.w,o=this.ttCtx,s=void 0,c=void 0;if(e.target.classList.contains(\"apexcharts-marker\")){var u=parseInt(l.paths.getAttribute(\"cx\")),d=parseInt(l.paths.getAttribute(\"cy\")),h=parseFloat(l.paths.getAttribute(\"val\"));if(c=parseInt(l.paths.getAttribute(\"rel\")),s=parseInt(l.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"))-1,o.intersect){var f=r.default.findAncestor(l.paths,\"apexcharts-series\");f&&(s=parseInt(f.getAttribute(\"data:realIndex\")))}if(o.tooltipLabels.drawSeriesTexts({ttItems:l.ttItems,i:s,j:c,shared:!o.intersect&&a.config.tooltip.shared}),o.marker.enlargeCurrentPoint(c,l.paths),n=u,i=d-1.4*o.tooltipRect.ttHeight,o.w.config.tooltip.followCursor){var p=o.getElGrid().getBoundingClientRect();i=o.e.clientY-p.top}h<0&&(i=d)}return{x:n,y:i}}},{key:\"handleBarTooltip\",value:function(t){var e=t.e,l=t.opt,n=this.w,i=this.ttCtx,a=i.getElTooltip(),r=0,o=0,s=0,c=0,u=void 0;if(i.isBarHorizontal&&i.hasBars()||!n.config.tooltip.shared){var d=this.getBarTooltipXY({e:e,opt:l});o=d.x,s=d.y,c=d.i,u=Array.isArray(n.config.stroke.width)?n.config.stroke.width[c]:n.config.stroke.width,r=o}else n.globals.comboCharts||n.config.tooltip.shared||(r/=2);if(isNaN(s)&&(s=n.globals.svgHeight-i.tooltipRect.ttHeight),o+i.tooltipRect.ttWidth>n.globals.gridWidth?o-=i.tooltipRect.ttWidth:o<0&&(o+=i.tooltipRect.ttWidth),i.w.config.tooltip.followCursor){var h=i.getElGrid().getBoundingClientRect();s=i.e.clientY-h.top}null===i.tooltip&&(i.tooltip=n.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),n.config.tooltip.shared||(n.globals.comboChartsHasBars?i.tooltipPosition.moveXCrosshairs(r+u/2):i.tooltipPosition.moveXCrosshairs(r)),!i.fixedTooltip&&(!n.config.tooltip.shared||i.isBarHorizontal&&i.hasBars())&&(a.style.left=o+n.globals.translateX+\"px\",i.tooltipRect.ttHeight+s>n.globals.gridHeight?(s=n.globals.gridHeight-i.tooltipRect.ttHeight+n.globals.translateY,a.style.top=s+\"px\"):a.style.top=s+n.globals.translateY-i.tooltipRect.ttHeight/2+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=t.e,l=t.opt,n=this.w,i=null,a=this.ttCtx,r=0,o=0,s=0,c=0,u=e.target.classList;if(u.contains(\"apexcharts-bar-area\")||u.contains(\"apexcharts-candlestick-area\")){var d=e.target,h=d.getBoundingClientRect(),f=l.elGrid.getBoundingClientRect(),p=h.height,g=h.width,m=parseInt(d.getAttribute(\"cx\")),b=parseInt(d.getAttribute(\"cy\"));c=parseFloat(d.getAttribute(\"barWidth\"));var v=\"touchmove\"===e.type?e.touches[0].clientX:e.clientX;i=parseInt(d.getAttribute(\"j\")),r=parseInt(d.parentNode.getAttribute(\"rel\"))-1,n.globals.comboCharts&&(r=parseInt(d.parentNode.getAttribute(\"data:realIndex\"))),a.tooltipLabels.drawSeriesTexts({ttItems:l.ttItems,i:r,j:i,shared:!a.showOnIntersect&&n.config.tooltip.shared}),s=n.config.tooltip.followCursor?n.config.plotOptions.bar.horizontal?(o=v-f.left+15,b-a.dataPointsDividedHeight+p/2-a.tooltipRect.ttHeight/2):(o=n.globals.isXNumeric?m-g/2:m-a.dataPointsDividedWidth+g/2,e.clientY-f.top-a.tooltipRect.ttHeight/2-15):n.config.plotOptions.bar.horizontal?((o=m)<a.xyRatios.baseLineInvertedY&&(o=m-a.tooltipRect.ttWidth),b-a.dataPointsDividedHeight+p/2-a.tooltipRect.ttHeight/2):(o=n.globals.isXNumeric?m-g/2:m-a.dataPointsDividedWidth+g/2,b)}return{x:o,y:s,barWidth:c,i:r,j:i}}}]),t}();e.default=o},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=r(l(31)),a=r(l(82));function r(t){return t&&t.__esModule?t:{default:t}}var o=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.w=e.w,this.ctx=e.ctx,this.ttCtx=e,this.tooltipUtil=new a.default(e)}return n(t,[{key:\"drawSeriesTexts\",value:function(t){var e=t.shared,l=void 0===e||e,n=t.ttItems,i=t.i,a=void 0===i?0:i,r=t.j,o=void 0===r?null:r;void 0!==this.w.config.tooltip.custom?this.handleCustomTooltip({i:a,j:o}):this.toggleActiveInactiveSeries(l);var s=this.getValuesToPrint({i:a,j:o});this.printLabels({i:a,j:o,values:s,ttItems:n,shared:l})}},{key:\"printLabels\",value:function(t){var e=t.i,l=t.j,n=t.values,i=t.ttItems,a=t.shared,r=this.w,o=void 0,s=n.xVal,c=n.zVal,u=n.xAxisTTVal,d=\"\",h=r.globals.colors[e];null!==l&&r.config.plotOptions.bar.distributed&&(h=r.globals.colors[l]);for(var f=0,p=r.globals.series.length-1;f<r.globals.series.length;f++,p--){var g=this.getFormatters(e);if(d=this.getSeriesName({fn:g.yLbTitleFormatter,index:e,seriesIndex:e,j:l}),a){var m=r.config.tooltip.inverseOrder?p:f;g=this.getFormatters(m),d=this.getSeriesName({fn:g.yLbTitleFormatter,index:m,seriesIndex:e,j:l}),h=r.globals.colors[m],o=g.yLbFormatter(r.globals.series[m][l],{series:r.globals.series,seriesIndex:e,dataPointIndex:l,w:r}),(this.ttCtx.hasBars()&&r.config.chart.stacked&&0===r.globals.series[m][l]||void 0===r.globals.series[m][l])&&(o=void 0)}else o=g.yLbFormatter(r.globals.series[e][l],r);null===l&&(o=g.yLbFormatter(r.globals.series[e],r)),this.DOMHandling({t:f,ttItems:i,values:{val:o,xVal:s,xAxisTTVal:u,zVal:c},seriesName:d,shared:a,pColor:h})}}},{key:\"getFormatters\",value:function(t){var e=this.w,l=e.globals.yLabelFormatters[t],n=void 0;return void 0!==e.globals.ttVal?Array.isArray(e.globals.ttVal)?(l=e.globals.ttVal[t]&&e.globals.ttVal[t].formatter,n=e.globals.ttVal[t]&&e.globals.ttVal[t].title&&e.globals.ttVal[t].title.formatter):(l=e.globals.ttVal.formatter,\"function\"==typeof e.globals.ttVal.title.formatter&&(n=e.globals.ttVal.title.formatter)):n=e.config.tooltip.y.title.formatter,\"function\"!=typeof l&&(l=e.globals.yLabelFormatters[0]?e.globals.yLabelFormatters[0]:function(t){return t}),\"function\"!=typeof n&&(n=function(t){return t}),{yLbFormatter:l,yLbTitleFormatter:n}}},{key:\"getSeriesName\",value:function(t){var e=t.fn,l=t.index,n=t.seriesIndex,i=t.j,a=this.w;return e(String(a.globals.seriesNames[l]),{series:a.globals.series,seriesIndex:n,dataPointIndex:i,w:a})}},{key:\"DOMHandling\",value:function(t){var e=t.t,l=t.ttItems,n=t.values,i=t.seriesName,a=t.shared,r=t.pColor,o=this.w,s=this.ttCtx,c=n.val,u=n.xVal,d=n.xAxisTTVal,h=n.zVal,f=null;f=l[e].children,o.config.tooltip.fillSeriesColor&&(l[e].style.backgroundColor=r,f[0].style.display=\"none\"),s.showTooltipTitle&&(null===s.tooltipTitle&&(s.tooltipTitle=o.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-title\")),s.tooltipTitle.innerHTML=u),s.blxaxisTooltip&&(s.xaxisTooltipText.innerHTML=\"\"!==d?d:u);var p=l[e].querySelector(\".apexcharts-tooltip-text-label\");p&&(p.innerHTML=i?i+\": \":\"\");var g=l[e].querySelector(\".apexcharts-tooltip-text-value\");g&&(g.innerHTML=c),f[0]&&f[0].classList.contains(\"apexcharts-tooltip-marker\")&&(f[0].style.backgroundColor=r),o.config.tooltip.marker.show||(f[0].style.display=\"none\"),null!==h&&(l[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=o.config.tooltip.z.title,l[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=h),a&&f[0]&&(f[0].parentNode.style.display=null==c?\"none\":o.config.tooltip.items.display)}},{key:\"toggleActiveInactiveSeries\",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var l=e.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group\");l&&(l.classList.add(\"active\"),l.style.display=e.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,l=t.j,n=this.w,a=this.ctx.series.filteredSeriesX(),r=\"\",o=null,s=null,c={series:n.globals.series,seriesIndex:e,dataPointIndex:l,w:n},u=n.globals.ttZFormatter;null===l?s=n.globals.series[e]:n.globals.isXNumeric?(r=a[e][l],0===a[e].length&&(r=a[this.tooltipUtil.getFirstActiveXArray(a)][l])):r=void 0!==n.globals.labels[l]?n.globals.labels[l]:\"\";var d=r;return r=n.globals.isXNumeric&&\"datetime\"===n.config.xaxis.type?new i.default(this.ctx).xLabelFormat(n.globals.ttKeyFormatter,d):n.globals.xLabelFormatter(d,c),void 0!==n.config.tooltip.x.formatter&&(r=n.globals.ttKeyFormatter(d,c)),0<n.globals.seriesZ.length&&0<n.globals.seriesZ[0].length&&(o=u(n.globals.seriesZ[e][l],n)),{val:s,xVal:r,xAxisTTVal:\"function\"==typeof n.config.xaxis.tooltip.formatter?n.globals.xaxisTooltipFormatter(d,c):r,zVal:o}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,l=t.j,n=this.w;this.ttCtx.getElTooltip().innerHTML=n.config.tooltip.custom({series:n.globals.series,seriesIndex:e,dataPointIndex:l,w:n})}}]),t}();t.exports=o},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=s(l(0)),a=s(l(81)),r=s(l(32)),o=s(l(1));function s(t){return t&&t.__esModule?t:{default:t}}var c=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new a.default(e)}return n(t,[{key:\"drawDynamicPoints\",value:function(){for(var t=this.w,e=new i.default(this.ctx),l=new r.default(this.ctx),n=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\"),a=0;a<n.length;a++){var o=parseInt(n[a].getAttribute(\"data:realIndex\")),s=t.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\"+o+\"'] .apexcharts-series-markers-wrap\");if(null!==s){var c=void 0,u=\"apexcharts-marker w\"+(Math.random()+1).toString(36).substring(4);\"line\"!==t.config.chart.type&&\"area\"!==t.config.chart.type||t.globals.comboCharts||t.config.tooltip.intersect||(u+=\" no-pointer-events\");var d=l.getMarkerConfig(u,o);(c=e.drawMarker(0,0,d)).node.setAttribute(\"default-marker-size\",0);var h=document.createElementNS(t.globals.svgNS,\"g\");h.classList.add(\"apexcharts-series-markers\"),h.appendChild(c.node),s.appendChild(h)}}}},{key:\"enlargeCurrentPoint\",value:function(t,e){var l=this.w;\"bubble\"!==l.config.chart.type&&this.newPointSize(t,e);var n=e.getAttribute(\"cx\"),i=e.getAttribute(\"cy\");this.tooltipPosition.moveXCrosshairs(n),this.fixedTooltip||this.tooltipPosition.moveTooltip(n,i,l.config.markers.hover.size)}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,l=this.ttCtx,n=t,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),a=e.config.markers.hover.size,r=0;r<i.length;r++){var o=i[r].getAttribute(\"rel\"),s=i[r].getAttribute(\"index\");if(void 0===a&&(a=e.globals.markers.size[s]+e.config.markers.hover.sizeOffset),n===parseInt(o)){this.newPointSize(n,i[r]);var c=i[r].getAttribute(\"cx\"),u=i[r].getAttribute(\"cy\");this.tooltipPosition.moveXCrosshairs(c),l.fixedTooltip||this.tooltipPosition.moveTooltip(c,u,a)}else this.oldPointSize(i[r])}}},{key:\"newPointSize\",value:function(t,e){var l=this.w,n=l.config.markers.hover.size,i=null;i=0===t?e.parentNode.firstChild:e.parentNode.lastChild;var a=parseInt(i.getAttribute(\"index\"));void 0===n&&(n=l.globals.markers.size[a]+l.config.markers.hover.sizeOffset),i.setAttribute(\"r\",n)}},{key:\"oldPointSize\",value:function(t){var e=parseInt(t.getAttribute(\"default-marker-size\"));t.setAttribute(\"r\",e)}},{key:\"resetPointsSize\",value:function(){for(var t=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),e=0;e<t.length;e++){var l=parseInt(t[e].getAttribute(\"default-marker-size\"));o.default.isNumber(l)?t[e].setAttribute(\"r\",l):t[e].setAttribute(\"r\",0)}}}]),t}();t.exports=c},function(t,e,l){\"use strict\";var n=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),i=f(l(146)),a=f(l(81)),r=f(l(147)),o=f(l(145)),s=f(l(144)),c=f(l(0)),u=f(l(27)),d=f(l(49)),h=f(l(82));function f(t){return t&&t.__esModule?t:{default:t}}var p=function(){function t(e){!function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}(this,t),this.ctx=e,this.w=e.w;var l=this.w;this.tooltipUtil=new h.default(this),this.tooltipLabels=new i.default(this),this.tooltipPosition=new a.default(this),this.marker=new r.default(this),this.intersect=new o.default(this),this.axesTooltip=new s.default(this),this.showOnIntersect=l.config.tooltip.intersect,this.showTooltipTitle=l.config.tooltip.x.show,this.fixedTooltip=l.config.tooltip.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarHorizontal=l.config.plotOptions.bar.horizontal,this.isBarShared=!l.config.plotOptions.bar.horizontal&&l.config.tooltip.shared}return n(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.blxaxisTooltip=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.blyaxisTooltip=e.config.yaxis[0].tooltip.enabled&&e.globals.axisCharts,this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var l=document.createElement(\"div\");if(l.classList.add(\"apexcharts-tooltip\"),l.classList.add(e.config.tooltip.theme),e.globals.dom.elWrap.appendChild(l),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var n=new d.default(this.ctx);this.xAxisTicksPositions=n.getXAxisTicksPositions()}if((e.globals.comboCharts&&!e.config.tooltip.shared||e.config.tooltip.intersect&&!e.config.tooltip.shared||\"bar\"===e.config.chart.type&&!e.config.tooltip.shared)&&(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),l.appendChild(this.tooltipTitle));var i=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&e.config.tooltip.shared&&(i=this.showOnIntersect?1:e.globals.series.length),this.ttItems=this.createTTElements(i),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this.w,l=[],n=this.getElTooltip(),i=0;i<t;i++){var a=document.createElement(\"div\");a.classList.add(\"apexcharts-tooltip-series-group\");var r=document.createElement(\"span\");r.classList.add(\"apexcharts-tooltip-marker\"),r.style.backgroundColor=e.globals.colors[i],a.appendChild(r);var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-text\");var s=document.createElement(\"div\");s.classList.add(\"apexcharts-tooltip-y-group\");var c=document.createElement(\"span\");c.classList.add(\"apexcharts-tooltip-text-label\"),s.appendChild(c);var u=document.createElement(\"span\");u.classList.add(\"apexcharts-tooltip-text-value\"),s.appendChild(u);var d=document.createElement(\"div\");d.classList.add(\"apexcharts-tooltip-z-group\");var h=document.createElement(\"span\");h.classList.add(\"apexcharts-tooltip-text-z-label\"),d.appendChild(h);var f=document.createElement(\"span\");f.classList.add(\"apexcharts-tooltip-text-z-value\"),d.appendChild(f),o.appendChild(s),o.appendChild(d),a.appendChild(o),n.appendChild(a),l.push(a)}return l}},{key:\"addSVGEvents\",value:function(){var t=this.w,e=t.config.chart.type,l=this.getElTooltip(),n=!(\"bar\"!==e&&\"candlestick\"!==e),i=t.globals.dom.Paper.node,a=this.getElGrid();a&&(this.seriesBound=a.getBoundingClientRect());var r=[],o=[],s={hoverArea:i,elGrid:a,tooltipEl:l,tooltipY:r,tooltipX:o,ttItems:this.ttItems},c=void 0;if(t.globals.axisCharts&&(\"area\"===e||\"line\"===e||\"scatter\"===e||\"bubble\"===e?c=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series[data\\\\:longestSeries='true'] .apexcharts-marker\"):n?c=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series .apexcharts-bar-area\",\".apexcharts-series .apexcharts-candlestick-area\"):\"heatmap\"===e&&(c=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series .apexcharts-heatmap\")),c&&c.length))for(var u=0;u<c.length;u++)r.push(c[u].getAttribute(\"cy\")),o.push(c[u].getAttribute(\"cx\"));if(t.globals.xyCharts&&!this.showOnIntersect||t.globals.comboCharts&&!this.showOnIntersect||n&&this.hasBars()&&t.config.tooltip.shared)this.addPathsEventListeners([i],s);else if(n&&!t.globals.comboCharts)this.addBarsEventListeners(s);else if(\"bubble\"===e||\"scatter\"===e||this.showOnIntersect&&(\"area\"===e||\"line\"===e))this.addPointsEventsListeners(s);else if(!t.globals.axisCharts||\"heatmap\"===e){var d=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");this.addPathsEventListeners(d,s)}if(this.showOnIntersect){var h=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-line-series .apexcharts-marker\");0<h.length&&this.addPathsEventListeners(h,s);var f=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-area-series .apexcharts-marker\");0<f.length&&this.addPathsEventListeners(f,s),this.hasBars()&&!t.config.tooltip.shared&&this.addBarsEventListeners(s)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),l=e.getBoundingClientRect(),n=l.width+10,i=l.height+10,a=t.config.tooltip.fixed.offsetX,r=t.config.tooltip.fixed.offsetY;return-1<t.config.tooltip.fixed.position.toLowerCase().indexOf(\"right\")&&(a=a+t.globals.svgWidth-n+10),-1<t.config.tooltip.fixed.position.toLowerCase().indexOf(\"bottom\")&&(r=r+t.globals.svgHeight-i-10),e.style.left=a+\"px\",e.style.top=r+\"px\",{x:a,y:r,ttWidth:n,ttHeight:i}}},{key:\"addPointsEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker\");this.addPathsEventListeners(e,t)}},{key:\"addBarsEventListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-area, .apexcharts-candlestick-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var l=this,n=this,i=function(i){var a={paths:t[i],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};l.w.globals.tooltipOpts=a,[\"mousemove\",\"touchmove\",\"mouseout\",\"touchend\"].map(function(e){return t[i].addEventListener(e,n.seriesHover.bind(n,a),{capture:!1,passive:!0})})},a=0;a<t.length;a++)i(a)}},{key:\"seriesHover\",value:function(t,e){var l=this,n=[];this.w.config.chart.group&&(n=this.ctx.getGroupedCharts()),n.length?n.forEach(function(n){var i=l.getElTooltip(n),a={paths:t.paths,tooltipEl:i,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:n.w.globals.tooltip.ttItems};n.w.globals.minX===l.w.globals.minX&&n.w.globals.maxX===l.w.globals.maxX&&n.w.globals.tooltip.seriesHoverByContext({chartCtx:n,ttCtx:n.w.globals.tooltip,opt:a,e:e})}):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e})}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,l=t.ttCtx,n=t.opt,i=t.e,a=e.w,r=this.getElTooltip();l.tooltipRect={x:0,y:0,ttWidth:r.getBoundingClientRect().width,ttHeight:r.getBoundingClientRect().height},l.e=i,!l.hasBars()||a.globals.comboCharts||l.isBarShared||a.config.tooltip.onDatasetHover.highlightDataSeries&&new u.default(e).toggleSeriesOnHover(i,i.target.parentNode),l.fixedTooltip&&l.drawFixedTooltipRect(),a.globals.axisCharts?l.axisChartsTooltips({e:i,opt:n,tooltipRect:l.tooltipRect}):l.nonAxisChartsTooltips({e:i,opt:n,tooltipRect:l.tooltipRect})}},{key:\"axisChartsTooltips\",value:function(t){var e=t.e,l=t.opt,n=this.w,i=void 0,a=void 0,r=void 0,o=this,s=null,c=this.getElTooltip(),u=this.getElXCrosshairs(),d=\"touchmove\"===e.type?e.touches[0].clientX:e.clientX,h=\"touchmove\"===e.type?e.touches[0].clientY:e.clientY;this.clientY=h,this.clientX=d;var f=n.globals.xyCharts||\"bar\"===n.config.chart.type&&!this.isBarHorizontal&&this.hasBars()&&n.config.tooltip.shared||n.globals.comboCharts&&this.hasBars;if(\"bar\"===n.config.chart.type&&this.isBarHorizontal&&this.hasBars()&&(f=!1),\"mousemove\"===e.type||\"touchmove\"===e.type){if(null!==u&&u.classList.add(\"active\"),null!==o.ycrosshairs&&o.blyaxisTooltip&&o.ycrosshairs.classList.add(\"active\"),f&&!o.showOnIntersect){i=(s=o.tooltipUtil.getNearestValues({context:o,hoverArea:l.hoverArea,elGrid:l.elGrid,clientX:d,clientY:h,hasBars:o.hasBars})).j;var p=s.capturedSeries;if(s.hoverX<0||s.hoverX>n.globals.gridWidth)return void o.handleMouseOut(l);if(null!==p){if(null===n.globals.series[p][i])return void l.tooltipEl.classList.remove(\"active\");void 0!==n.globals.series[p][i]?n.config.tooltip.shared&&this.tooltipUtil.isXoverlap(i)&&this.tooltipUtil.isinitialSeriesSameLen()?this.create(o,p,i,l.ttItems):this.create(o,p,i,l.ttItems,!1):this.tooltipUtil.isXoverlap(i)&&o.create(o,0,i,l.ttItems)}else this.tooltipUtil.isXoverlap(i)&&o.create(o,0,i,l.ttItems)}else if(\"heatmap\"===n.config.chart.type){var g=this.intersect.handleHeatTooltip({e:e,opt:l,x:a,y:r});a=g.x,r=g.y,c.style.left=a+\"px\",c.style.top=r+\"px\"}else this.hasBars&&this.intersect.handleBarTooltip({e:e,opt:l}),this.hasMarkers&&this.intersect.handleMarkerTooltip({e:e,opt:l,x:a,y:r});if(this.blyaxisTooltip)for(var m=0;m<n.config.yaxis.length;m++)o.axesTooltip.drawYaxisTooltipText(m,h,o.xyRatios);l.tooltipEl.classList.add(\"active\")}else\"mouseout\"!==e.type&&\"touchend\"!==e.type||this.handleMouseOut(l)}},{key:\"nonAxisChartsTooltips\",value:function(t){var e=t.e,l=t.opt,n=t.tooltipRect,i=this.w,a=l.paths.getAttribute(\"rel\"),r=this.getElTooltip(),o=0,s=0,c=null,u=\"touchmove\"===e.type?e.touches[0].clientX:e.clientX;\"radialBar\"===i.config.chart.type?c=i.globals.dom.baseEl.querySelector(\".apexcharts-radialbar\"):(c=i.globals.dom.baseEl.querySelector(\".apexcharts-pie\"),o=parseInt(c.getAttribute(\"data:innerTranslateX\")),s=parseInt(c.getAttribute(\"data:innerTranslateY\")));var d=c.getBoundingClientRect();if(\"mousemove\"===e.type||\"touchmove\"===e.type){r.classList.add(\"active\"),this.tooltipLabels.drawSeriesTexts({ttItems:l.ttItems,i:parseInt(a)-1,shared:!1});var h=u-d.left-n.ttWidth/2.2+o,f=e.clientY-d.top-n.ttHeight/2-15+s;h<0?h=0:h+n.ttWidth>i.globals.gridWidth&&(h=u-d.left-n.ttWidth+o),f<0&&(f=n.ttHeight+20),r.style.left=h+i.globals.translateX+\"px\",r.style.top=f+\"px\"}else\"mouseout\"!==e.type&&\"touchend\"!==e.type||r.classList.remove(\"active\")}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new c.default(this.ctx),l=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),n=0;n<l.length;n++)e.pathMouseLeave(l[n])}},{key:\"handleMouseOut\",value:function(t){var e=this.w,l=this.getElXCrosshairs();if(t.tooltipEl.classList.remove(\"active\"),this.deactivateHoverFilter(),\"bubble\"!==e.config.chart.type&&this.marker.resetPointsSize(),null!==l&&l.classList.remove(\"active\"),null!==this.ycrosshairs&&this.ycrosshairs.classList.remove(\"active\"),this.blxaxisTooltip&&this.xaxisTooltip.classList.remove(\"active\"),this.blyaxisTooltip){null===this.yaxisTTEls&&(this.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));for(var n=0;n<this.yaxisTTEls.length;n++)this.yaxisTTEls[n].classList.remove(\"active\")}}},{key:\"getElMarkers\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series-markers\")}},{key:\"getAllMarkers\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker\")}},{key:\"hasMarkers\",value:function(){return 0<this.getElMarkers().length}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series,  .apexcharts-candlestick-series\")}},{key:\"hasBars\",value:function(){return 0<this.getElBars().length}},{key:\"create\",value:function(t,e,l,n){var i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:null,a=this.w,r=t;null===i&&(i=a.config.tooltip.shared);var o=this.hasMarkers(),s=this.getElBars();if(i){if(r.tooltipLabels.drawSeriesTexts({ttItems:n,i:e,j:l,shared:!this.showOnIntersect&&a.config.tooltip.shared}),o&&(0<a.globals.markers.largestSize?r.marker.enlargePoints(l):r.tooltipPosition.moveDynamicPointsOnHover(l)),this.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(s),0<this.barSeriesHeight)){var u=new c.default(this.ctx),d=a.globals.dom.Paper.select(\".apexcharts-bar-area[j='\"+l+\"']\");this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(l);for(var h=0;h<d.length;h++)u.pathMouseEnter(d[h])}}else r.tooltipLabels.drawSeriesTexts({shared:!1,ttItems:n,i:e,j:l}),this.hasBars()&&r.tooltipPosition.moveStickyTooltipOverBars(l),o&&r.tooltipPosition.moveMarkers(e,l)}}]),t}();t.exports=p},function(t,e,l){\"use strict\";t.exports=function(t){var e=\"undefined\"!=typeof window&&window.location;if(!e)throw new Error(\"fixUrls requires window.location\");if(!t||\"string\"!=typeof t)return t;var l=e.protocol+\"//\"+e.host,n=l+e.pathname.replace(/\\/[^\\/]*$/,\"/\");return t.replace(/url\\s*\\(((?:[^)(]|\\((?:[^)(]+|\\([^)(]*\\))*\\))*)\\)/gi,function(t,e){var i,a=e.trim().replace(/^\"(.*)\"$/,function(t,e){return e}).replace(/^'(.*)'$/,function(t,e){return e});return/^(#|data:|http:\\/\\/|https:\\/\\/|file:\\/\\/\\/|\\s*$)/i.test(a)?t:(i=0===a.indexOf(\"//\")?a:0===a.indexOf(\"/\")?l+a:n+a.replace(/^\\.\\//,\"\"),\"url(\"+JSON.stringify(i)+\")\")})}},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};(function(){function t(t){t.remember(\"_draggable\",this),this.el=t}t.prototype.init=function(t,e){var l=this;this.constraint=t,this.value=e,this.el.on(\"mousedown.drag\",function(t){l.start(t)}),this.el.on(\"touchstart.drag\",function(t){l.start(t)})},t.prototype.transformPoint=function(t,e){var l=(t=t||window.event).changedTouches&&t.changedTouches[0]||t;return this.p.x=l.pageX-(e||0),this.p.y=l.pageY,this.p.matrixTransform(this.m)},t.prototype.getBBox=function(){var t=this.el.bbox();return this.el instanceof SVG.Nested&&(t=this.el.rbox()),(this.el instanceof SVG.G||this.el instanceof SVG.Use||this.el instanceof SVG.Nested)&&(t.x=this.el.x(),t.y=this.el.y()),t},t.prototype.start=function(t){if(\"click\"!=t.type&&\"mousedown\"!=t.type&&\"mousemove\"!=t.type||1==(t.which||t.buttons)){var e=this;this.el.fire(\"beforedrag\",{event:t,handler:this}),this.parent=this.parent||this.el.parent(SVG.Nested)||this.el.parent(SVG.Doc),this.p=this.parent.node.createSVGPoint(),this.m=this.el.node.getScreenCTM().inverse();var l,n=this.getBBox();if(this.el instanceof SVG.Text)switch(l=this.el.node.getComputedTextLength(),this.el.attr(\"text-anchor\")){case\"middle\":l/=2;break;case\"start\":l=0}this.startPoints={point:this.transformPoint(t,l),box:n,transform:this.el.transform()},SVG.on(window,\"mousemove.drag\",function(t){e.drag(t)}),SVG.on(window,\"touchmove.drag\",function(t){e.drag(t)}),SVG.on(window,\"mouseup.drag\",function(t){e.end(t)}),SVG.on(window,\"touchend.drag\",function(t){e.end(t)}),this.el.fire(\"dragstart\",{event:t,p:this.startPoints.point,m:this.m,handler:this}),t.preventDefault(),t.stopPropagation()}},t.prototype.drag=function(t){var e=this.getBBox(),l=this.transformPoint(t),i=this.startPoints.box.x+l.x-this.startPoints.point.x,a=this.startPoints.box.y+l.y-this.startPoints.point.y,r=this.constraint,o=l.x-this.startPoints.point.x,s=l.y-this.startPoints.point.y,c=new CustomEvent(\"dragmove\",{detail:{event:t,p:l,m:this.m,handler:this},cancelable:!0});if(this.el.fire(c),c.defaultPrevented)return l;if(\"function\"==typeof r){var u=r.call(this.el,i,a,this.m);\"boolean\"==typeof u&&(u={x:u,y:u}),!0===u.x?this.el.x(i):!1!==u.x&&this.el.x(u.x),!0===u.y?this.el.y(a):!1!==u.y&&this.el.y(u.y)}else\"object\"==(void 0===r?\"undefined\":n(r))&&(null!=r.minX&&i<r.minX?i=r.minX:null!=r.maxX&&i>r.maxX-e.width&&(i=r.maxX-e.width),null!=r.minY&&a<r.minY?a=r.minY:null!=r.maxY&&a>r.maxY-e.height&&(a=r.maxY-e.height),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:s},!0):this.el.move(i,a));return l},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,l){\"function\"!=typeof e&&\"object\"!=(void 0===e?\"undefined\":n(e))||(l=e,e=!0);var i=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?i.init(l||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}).call(void 0)},function(t,e,l){\"use strict\";(function(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,l){return this.put(new SVG.BlendEffect(t,e,l))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,l){return this.put(new SVG.CompositeEffect(t,e,l))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,l){return this.put(new SVG.DiffuseLightingEffect(t,e,l))},displacementMap:function(t,e,l,n,i){return this.put(new SVG.DisplacementMapEffect(t,e,l,n,i))},specularLighting:function(t,e,l,n){return this.put(new SVG.SpecularLightingEffect(t,e,l,n))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,l,n,i){return this.put(new SVG.TurbulenceEffect(t,e,l,n,i))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,l){return this.parent()&&this.parent().diffuseLighting(t,e,l).in(this)},displacementMap:function(t,e,l,n){return this.parent()&&this.parent().displacementMap(this,t,e,l,n)},specularLighting:function(t,e,l,n){return this.parent()&&this.parent().specularLighting(t,e,l,n).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,l,n,i){return this.parent()&&this.parent().turbulence(t,e,l,n,i).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,l){this.attr({in:t,in2:e,mode:l||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=i(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=i(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,l){this.attr({in:t,in2:e,operator:l})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,l,n,i){this.attr({in:t,in2:e,scale:l,xChannelSelector:n,yChannelSelector:i})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",function(t){if(!Array.isArray(t))return t;for(var e=0,l=t.length,n=[];e<l;e++)n.push(t[e]);return n.join(\" \")}(Array.prototype.slice.call(arguments))):this.attr(\"stdDeviation\",\"0 0\")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,l,n,i){this.attr({numOctaves:e,seed:l,stitchTiles:n,baseFrequency:t,type:i})}},l={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each(function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))})}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var l=0;l<t.length;l++)t[l]instanceof SVG.MergeNode?this.put(t[l]):this.put(new SVG.MergeNode(t[l]))}},componentTransfer:function(t){if(this.rgb=new SVG.Set,[\"r\",\"g\",\"b\",\"a\"].forEach(function(t){this[t]=new(SVG[\"Func\"+t.toUpperCase()])(\"identity\"),this.rgb.add(this[t]),this.node.appendChild(this[t].node)}.bind(this)),t)for(var e in t.rgb&&([\"r\",\"g\",\"b\"].forEach(function(e){this[e].attr(t.rgb)}.bind(this)),delete t.rgb),t)this[e].attr(t[e])},diffuseLighting:function(t,e,l){this.attr({surfaceScale:t,diffuseConstant:e,kernelUnitLength:l})},specularLighting:function(t,e,l,n){this.attr({surfaceScale:t,diffuseConstant:e,specularExponent:l,kernelUnitLength:n})}},n={distantLight:function(t,e){this.attr({azimuth:t,elevation:e})},pointLight:function(t,e,l){this.attr({x:t,y:e,z:l})},spotLight:function(t,e,l,n,i,a){this.attr({x:t,y:e,z:l,pointsAtX:n,pointsAtY:i,pointsAtZ:a})},mergeNode:function(t){this.attr(\"in\",t)}};function i(t){return Array.isArray(t)&&(t=new SVG.Array(t)),t.toString().replace(/^\\s+/,\"\").replace(/\\s+$/,\"\").replace(/\\s+/g,\" \")}function a(){var t=function(){};for(var e in\"function\"==typeof arguments[arguments.length-1]&&(t=arguments[arguments.length-1],Array.prototype.splice.call(arguments,arguments.length-1,1)),arguments)for(var l in arguments[e])t(arguments[e][l],l,arguments[e])}[\"r\",\"g\",\"b\",\"a\"].forEach(function(t){n[\"Func\"+t.toUpperCase()]=function(t){switch(this.attr(\"type\",t),t){case\"table\":this.attr(\"tableValues\",arguments[1]);break;case\"linear\":this.attr(\"slope\",arguments[1]),this.attr(\"intercept\",arguments[2]);break;case\"gamma\":this.attr(\"amplitude\",arguments[1]),this.attr(\"exponent\",arguments[2]),this.attr(\"offset\",arguments[2])}}}),a(e,function(t,e){var l=e.charAt(0).toUpperCase()+e.slice(1);SVG[l+\"Effect\"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create(\"fe\"+l)),t.apply(this,arguments),this.result(this.attr(\"id\")+\"Out\")},inherit:SVG.Effect,extend:{}})}),a(l,function(t,e){var l=e.charAt(0).toUpperCase()+e.slice(1);SVG[l+\"Effect\"]=SVG.invent({create:function(){this.constructor.call(this,SVG.create(\"fe\"+l)),t.apply(this,arguments),this.result(this.attr(\"id\")+\"Out\")},inherit:SVG.ParentEffect,extend:{}})}),a(n,function(t,e){var l=e.charAt(0).toUpperCase()+e.slice(1);SVG[l]=SVG.invent({create:function(){this.constructor.call(this,SVG.create(\"fe\"+l)),t.apply(this,arguments)},inherit:SVG.ChildEffect,extend:{}})}),SVG.extend(SVG.MergeEffect,{in:function(t){return t instanceof SVG.MergeNode?this.add(t,0):this.add(new SVG.MergeNode(t),0),this}}),SVG.extend(SVG.CompositeEffect,SVG.BlendEffect,SVG.DisplacementMapEffect,{in2:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in2\")+'\"]').get(0)||this.attr(\"in2\"):this.attr(\"in2\",t)}}),SVG.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]}}).call(void 0)},function(t,e,l){\"use strict\";!function(){function t(t,i,a,r,o,s,c){for(var u=t.slice(i,a||c),d=r.slice(o,s||c),h=0,f={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};u[h]=e.call(f,u[h]),d[h]=e.call(p,d[h]),u[h][0]!=d[h][0]||\"M\"==u[h][0]||\"A\"==u[h][0]&&(u[h][4]!=d[h][4]||u[h][5]!=d[h][5])?(Array.prototype.splice.apply(u,[h,1].concat(n.call(f,u[h]))),Array.prototype.splice.apply(d,[h,1].concat(n.call(p,d[h])))):(u[h]=l.call(f,u[h]),d[h]=l.call(p,d[h])),++h!=u.length||h!=d.length;)h==u.length&&u.push([\"C\",f.pos[0],f.pos[1],f.pos[0],f.pos[1],f.pos[0],f.pos[1]]),h==d.length&&d.push([\"C\",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]]);return{start:u,dest:d}}function e(t){switch(t[0]){case\"z\":case\"Z\":t[0]=\"L\",t[1]=this.start[0],t[2]=this.start[1];break;case\"H\":t[0]=\"L\",t[2]=this.pos[1];break;case\"V\":t[0]=\"L\",t[2]=t[1],t[1]=this.pos[0];break;case\"T\":t[0]=\"Q\",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case\"S\":t[0]=\"C\",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function l(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!=\"SCQT\".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function n(t){var e=[t];switch(t[0]){case\"M\":return this.pos=this.start=[t[1],t[2]],e;case\"L\":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case\"Q\":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case\"A\":t=(e=function(t,e){var l,n,i,a,r,o,s,c,u,d,h,f,p,g,m,b,v,y,x,_,w,S,k,C,T,D,M=Math.abs(e[1]),A=Math.abs(e[2]),E=e[3]%360,j=e[4],I=e[5],P=e[6],O=e[7],L=new SVG.Point(t),R=new SVG.Point(P,O),N=[];if(0===M||0===A||L.x===R.x&&L.y===R.y)return[[\"C\",L.x,L.y,R.x,R.y,R.x,R.y]];for(l=new SVG.Point((L.x-R.x)/2,(L.y-R.y)/2).transform((new SVG.Matrix).rotate(E)),1<(n=l.x*l.x/(M*M)+l.y*l.y/(A*A))&&(n=Math.sqrt(n),M*=n,A*=n),i=(new SVG.Matrix).rotate(E).scale(1/M,1/A).rotate(-E),L=L.transform(i),R=R.transform(i),a=[R.x-L.x,R.y-L.y],o=a[0]*a[0]+a[1]*a[1],r=Math.sqrt(o),a[0]/=r,a[1]/=r,s=o<4?Math.sqrt(1-o/4):0,j===I&&(s*=-1),c=new SVG.Point((R.x+L.x)/2+s*-a[1],(R.y+L.y)/2+s*a[0]),u=new SVG.Point(L.x-c.x,L.y-c.y),d=new SVG.Point(R.x-c.x,R.y-c.y),h=Math.acos(u.x/Math.sqrt(u.x*u.x+u.y*u.y)),u.y<0&&(h*=-1),f=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(f*=-1),I&&f<h&&(f+=2*Math.PI),!I&&h<f&&(f-=2*Math.PI),g=Math.ceil(2*Math.abs(h-f)/Math.PI),b=[],p=(f-(v=h))/g,m=4*Math.tan(p/4)/3,w=0;w<=g;w++)x=Math.cos(v),y=Math.sin(v),_=new SVG.Point(c.x+x,c.y+y),b[w]=[new SVG.Point(_.x+m*y,_.y-m*x),_,new SVG.Point(_.x-m*y,_.y+m*x)],v+=p;for(b[0][0]=b[0][1].clone(),b[b.length-1][2]=b[b.length-1][1].clone(),i=(new SVG.Matrix).rotate(E).scale(M,A).rotate(-E),w=0,S=b.length;w<S;w++)b[w][0]=b[w][0].transform(i),b[w][1]=b[w][1].transform(i),b[w][2]=b[w][2].transform(i);for(w=1,S=b.length;w<S;w++)_=b[w-1][2],k=_.x,C=_.y,_=b[w][0],T=_.x,D=_.y,_=b[w][1],P=_.x,O=_.y,N.push([\"C\",k,C,T,D,P,O]);return N}(this.pos,t))[0]}return t[0]=\"C\",this.pos=[t[5],t[6]],this.reflection=[2*t[5]-t[3],2*t[6]-t[4]],e}function i(t,e){if(!1===e)return!1;for(var l=e,n=t.length;l<n;++l)if(\"M\"==t[l][0])return l;return!1}SVG.extend(SVG.PathArray,{morph:function(e){for(var l=this.value,n=this.parse(e),a=0,r=0,o=!1,s=!1;!1!==a||!1!==r;){var c;o=i(l,!1!==a&&a+1),s=i(n,!1!==r&&r+1),!1===a&&(a=0==(c=new SVG.PathArray(u.start).bbox()).height||0==c.width?l.push(l[0])-1:l.push([\"M\",c.x+c.width/2,c.y+c.height/2])-1),!1===r&&(r=0==(c=new SVG.PathArray(u.dest).bbox()).height||0==c.width?n.push(n[0])-1:n.push([\"M\",c.x+c.width/2,c.y+c.height/2])-1);var u=t(l,a,o,n,r,s);l=l.slice(0,a).concat(u.start,!1===o?[]:l.slice(o)),n=n.slice(0,r).concat(u.dest,!1===s?[]:n.slice(s)),a=!1!==o&&a+u.start.length,r=!1!==s&&r+u.dest.length}return this.value=l,this.destination=new SVG.PathArray,this.destination.value=n,this}})}()},function(t,e,l){\"use strict\";!function(){(function(){function t(t){t.remember(\"_resizeHandler\",this),this.el=t,this.parameters={},this.lastUpdateCall=null,this.p=t.doc().node.createSVGPoint()}t.prototype.transformPoint=function(t,e,l){return this.p.x=t-(this.offset.x-window.pageXOffset),this.p.y=e-(this.offset.y-window.pageYOffset),this.p.matrixTransform(l||this.m)},t.prototype._extractPosition=function(t){return{x:null!=t.clientX?t.clientX:t.touches[0].clientX,y:null!=t.clientY?t.clientY:t.touches[0].clientY}},t.prototype.init=function(t){var e=this;if(this.stop(),\"stop\"!==t){for(var l in this.options={},this.el.resize.defaults)this.options[l]=this.el.resize.defaults[l],void 0!==t[l]&&(this.options[l]=t[l]);this.el.on(\"lt.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"rt.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"rb.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"lb.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"t.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"r.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"b.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"l.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"rot.resize\",function(t){e.resize(t||window.event)}),this.el.on(\"point.resize\",function(t){e.resize(t||window.event)}),this.update()}},t.prototype.stop=function(){return this.el.off(\"lt.resize\"),this.el.off(\"rt.resize\"),this.el.off(\"rb.resize\"),this.el.off(\"lb.resize\"),this.el.off(\"t.resize\"),this.el.off(\"r.resize\"),this.el.off(\"b.resize\"),this.el.off(\"l.resize\"),this.el.off(\"rot.resize\"),this.el.off(\"point.resize\"),this},t.prototype.resize=function(t){var e=this;this.m=this.el.node.getScreenCTM().inverse(),this.offset={x:window.pageXOffset,y:window.pageYOffset};var l=this._extractPosition(t.detail.event);if(this.parameters={type:this.el.type,p:this.transformPoint(l.x,l.y),x:t.detail.x,y:t.detail.y,box:this.el.bbox(),rotation:this.el.transform().rotation},\"text\"===this.el.type&&(this.parameters.fontSize=this.el.attr()[\"font-size\"]),void 0!==t.detail.i){var n=this.el.array().valueOf();this.parameters.i=t.detail.i,this.parameters.pointCoords=[n[t.detail.i][0],n[t.detail.i][1]]}switch(t.type){case\"lt\":this.calc=function(t,e){var l=this.snapToGrid(t,e);if(0<this.parameters.box.width-l[0]&&0<this.parameters.box.height-l[1]){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+l[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-l[0]);l=this.checkAspectRatio(l),this.el.move(this.parameters.box.x+l[0],this.parameters.box.y+l[1]).size(this.parameters.box.width-l[0],this.parameters.box.height-l[1])}};break;case\"rt\":this.calc=function(t,e){var l=this.snapToGrid(t,e,2);if(0<this.parameters.box.width+l[0]&&0<this.parameters.box.height-l[1]){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-l[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+l[0]);l=this.checkAspectRatio(l),this.el.move(this.parameters.box.x,this.parameters.box.y+l[1]).size(this.parameters.box.width+l[0],this.parameters.box.height-l[1])}};break;case\"rb\":this.calc=function(t,e){var l=this.snapToGrid(t,e,0);if(0<this.parameters.box.width+l[0]&&0<this.parameters.box.height+l[1]){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-l[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+l[0]);l=this.checkAspectRatio(l),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+l[0],this.parameters.box.height+l[1])}};break;case\"lb\":this.calc=function(t,e){var l=this.snapToGrid(t,e,1);if(0<this.parameters.box.width-l[0]&&0<this.parameters.box.height+l[1]){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+l[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-l[0]);l=this.checkAspectRatio(l),this.el.move(this.parameters.box.x+l[0],this.parameters.box.y).size(this.parameters.box.width-l[0],this.parameters.box.height+l[1])}};break;case\"t\":this.calc=function(t,e){var l=this.snapToGrid(t,e,2);if(0<this.parameters.box.height-l[1]){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+l[1]).height(this.parameters.box.height-l[1])}};break;case\"r\":this.calc=function(t,e){var l=this.snapToGrid(t,e,0);if(0<this.parameters.box.width+l[0]){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+l[0])}};break;case\"b\":this.calc=function(t,e){var l=this.snapToGrid(t,e,0);if(0<this.parameters.box.height+l[1]){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+l[1])}};break;case\"l\":this.calc=function(t,e){var l=this.snapToGrid(t,e,1);if(0<this.parameters.box.width-l[0]){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+l[0],this.parameters.box.y).width(this.parameters.box.width-l[0])}};break;case\"rot\":this.calc=function(t,e){var l=t+this.parameters.p.x,n=e+this.parameters.p.y,i=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),a=180*(Math.atan2(n-this.parameters.box.y-this.parameters.box.height/2,l-this.parameters.box.x-this.parameters.box.width/2)-i)/Math.PI;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(this.parameters.rotation+a-a%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var l=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),n=this.el.array().valueOf();n[this.parameters.i][0]=this.parameters.pointCoords[0]+l[0],n[this.parameters.i][1]=this.parameters.pointCoords[1]+l[1],this.el.plot(n)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",function(t){e.update(t||window.event)}),SVG.on(window,\"touchend.resize\",function(){e.done()}),SVG.on(window,\"mousemove.resize\",function(t){e.update(t||window.event)}),SVG.on(window,\"mouseup.resize\",function(){e.done()})},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),l=this.transformPoint(e.x,e.y),n=l.x-this.parameters.p.x,i=l.y-this.parameters.p.y;this.lastUpdateCall=[n,i],this.calc(n,i),this.el.fire(\"resizing\",{dx:n,dy:i,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,l,n){var i;return i=void 0!==n?[(l+t)%this.options.snapToGrid,(n+e)%this.options.snapToGrid]:(l=null==l?3:l,[(this.parameters.box.x+t+(1&l?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&l?0:this.parameters.box.height))%this.options.snapToGrid]),t-=Math.abs(i[0])<this.options.snapToGrid/2?i[0]:i[0]-(t<0?-this.options.snapToGrid:this.options.snapToGrid),e-=Math.abs(i[1])<this.options.snapToGrid/2?i[1]:i[1]-(e<0?-this.options.snapToGrid:this.options.snapToGrid),this.constraintToBox(t,e,l,n)},t.prototype.constraintToBox=function(t,e,l,n){var i,a,r=this.options.constraint||{};return a=void 0!==n?(i=l,n):(i=this.parameters.box.x+(1&l?0:this.parameters.box.width),this.parameters.box.y+(2&l?0:this.parameters.box.height)),void 0!==r.minX&&i+t<r.minX&&(t=r.minX-i),void 0!==r.maxX&&i+t>r.maxX&&(t=r.maxX-i),void 0!==r.minY&&a+e<r.minY&&(e=r.minY-a),void 0!==r.maxY&&a+e>r.maxY&&(e=r.maxY-a),[t,e]},t.prototype.checkAspectRatio=function(t){if(!this.options.saveAspectRatio)return t;var e=t.slice(),l=this.parameters.box.width/this.parameters.box.height,n=this.parameters.box.width+t[0],i=this.parameters.box.height-t[1],a=n/i;return a<l?e[1]=n/l-this.parameters.box.height:l<a&&(e[0]=this.parameters.box.width-i*l),e},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}()},function(t,e,l){\"use strict\";var n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};!function(){function t(t){(this.el=t).remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1}}t.prototype.init=function(t,e){var l=this.el.bbox();for(var n in this.options={},this.el.selectize.defaults)this.options[n]=this.el.selectize.defaults[n],void 0!==e[n]&&(this.options[n]=e[n]);this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(l.x,l.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawCircles()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map(function(e){return[e[0]-t.x,e[1]-t.y]})},t.prototype.drawCircles=function(){for(var t=this,e=this.getPointArray(),l=0,n=e.length;l<n;++l){var i=function(e){return function(l){(l=l||window.event).preventDefault?l.preventDefault():l.returnValue=!1,l.stopPropagation();var n=l.pageX||l.touches[0].pageX,i=l.pageY||l.touches[0].pageY;t.el.fire(\"point\",{x:n,y:i,i:e,event:l})}}(l);this.pointSelection.set.add(this.nested.circle(this.options.radius).center(e[l][0],e[l][1]).addClass(this.options.classPoints).addClass(this.options.classPoints+\"_point\").on(\"touchstart\",i).on(\"mousedown\",i))}},t.prototype.updatePointSelection=function(){var t=this.getPointArray();this.pointSelection.set.each(function(e){this.cx()===t[e][0]&&this.cy()===t[e][1]||this.center(t[e][0],t[e][1])})},t.prototype.updateRectSelection=function(){var t=this.el.bbox();this.rectSelection.set.get(0).attr({width:t.width,height:t.height}),this.options.points&&(this.rectSelection.set.get(2).center(t.width,0),this.rectSelection.set.get(3).center(t.width,t.height),this.rectSelection.set.get(4).center(0,t.height),this.rectSelection.set.get(5).center(t.width/2,0),this.rectSelection.set.get(6).center(t.width,t.height/2),this.rectSelection.set.get(7).center(t.width/2,t.height),this.rectSelection.set.get(8).center(0,t.height/2)),this.options.rotationPoint&&(this.options.points?this.rectSelection.set.get(9).center(t.width/2,20):this.rectSelection.set.get(1).center(t.width/2,20))},t.prototype.selectRect=function(t){var e=this,l=this.el.bbox();function n(t){return function(l){(l=l||window.event).preventDefault?l.preventDefault():l.returnValue=!1,l.stopPropagation();var n=l.pageX||l.touches[0].pageX,i=l.pageY||l.touches[0].pageY;e.el.fire(t,{x:n,y:i,event:l})}}if(this.rectSelection.isSelected=t,this.rectSelection.set=this.rectSelection.set||this.parent.set(),this.rectSelection.set.get(0)||this.rectSelection.set.add(this.nested.rect(l.width,l.height).addClass(this.options.classRect)),this.options.points&&!this.rectSelection.set.get(1)){var i=\"touchstart\",a=\"mousedown\";this.rectSelection.set.add(this.nested.circle(this.options.radius).center(0,0).attr(\"class\",this.options.classPoints+\"_lt\").on(a,n(\"lt\")).on(i,n(\"lt\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(l.width,0).attr(\"class\",this.options.classPoints+\"_rt\").on(a,n(\"rt\")).on(i,n(\"rt\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(l.width,l.height).attr(\"class\",this.options.classPoints+\"_rb\").on(a,n(\"rb\")).on(i,n(\"rb\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(0,l.height).attr(\"class\",this.options.classPoints+\"_lb\").on(a,n(\"lb\")).on(i,n(\"lb\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(l.width/2,0).attr(\"class\",this.options.classPoints+\"_t\").on(a,n(\"t\")).on(i,n(\"t\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(l.width,l.height/2).attr(\"class\",this.options.classPoints+\"_r\").on(a,n(\"r\")).on(i,n(\"r\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(l.width/2,l.height).attr(\"class\",this.options.classPoints+\"_b\").on(a,n(\"b\")).on(i,n(\"b\"))),this.rectSelection.set.add(this.nested.circle(this.options.radius).center(0,l.height/2).attr(\"class\",this.options.classPoints+\"_l\").on(a,n(\"l\")).on(i,n(\"l\"))),this.rectSelection.set.each(function(){this.addClass(e.options.classPoints)})}if(this.options.rotationPoint&&(this.options.points&&!this.rectSelection.set.get(9)||!this.options.points&&!this.rectSelection.set.get(1))){var r=function(t){(t=t||window.event).preventDefault?t.preventDefault():t.returnValue=!1,t.stopPropagation();var l=t.pageX||t.touches[0].pageX,n=t.pageY||t.touches[0].pageY;e.el.fire(\"rot\",{x:l,y:n,event:t})};this.rectSelection.set.add(this.nested.circle(this.options.radius).center(l.width/2,20).attr(\"class\",this.options.classPoints+\"_rot\").on(\"touchstart\",r).on(\"mousedown\",r))}},t.prototype.handler=function(){var t=this.el.bbox();this.nested.matrix(new SVG.Matrix(this.el).translate(t.x,t.y)),this.rectSelection.isSelected&&this.updateRectSelection(),this.pointSelection.isSelected&&this.updatePointSelection()},t.prototype.observe=function(){var t=this;if(MutationObserver)if(this.rectSelection.isSelected||this.pointSelection.isSelected)this.observerInst=this.observerInst||new MutationObserver(function(){t.handler()}),this.observerInst.observe(this.el.node,{attributes:!0});else try{this.observerInst.disconnect(),delete this.observerInst}catch(t){}else this.el.off(\"DOMAttrModified.select\"),(this.rectSelection.isSelected||this.pointSelection.isSelected)&&this.el.on(\"DOMAttrModified.select\",function(){t.handler()})},t.prototype.cleanup=function(){!this.rectSelection.isSelected&&this.rectSelection.set&&(this.rectSelection.set.each(function(){this.remove()}),this.rectSelection.set.clear(),delete this.rectSelection.set),!this.pointSelection.isSelected&&this.pointSelection.set&&(this.pointSelection.set.each(function(){this.remove()}),this.pointSelection.set.clear(),delete this.pointSelection.set),this.pointSelection.isSelected||this.rectSelection.isSelected||(this.nested.remove(),delete this.nested)},SVG.extend(SVG.Element,{selectize:function(e,l){return\"object\"===(void 0===e?\"undefined\":n(e))&&(l=e,e=!0),(this.remember(\"_selectHandler\")||new t(this)).init(void 0===e||e,l||{}),this}}),SVG.Element.prototype.selectize.defaults={points:!0,classRect:\"svg_select_boundingRect\",classPoints:\"svg_select_points\",radius:7,rotationPoint:!0,deepSelect:!1}}()},function(t,e,l){\"use strict\";var n,i,a,r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t};i=\"undefined\"!=typeof window?window:void 0,a=function(t,e){var l=(void 0!==this?this:t).SVG=function(t){if(l.supported)return t=new l.Doc(t),l.parser.draw||l.prepare(),t};if(l.ns=\"http://www.w3.org/2000/svg\",l.xmlns=\"http://www.w3.org/2000/xmlns/\",l.xlink=\"http://www.w3.org/1999/xlink\",l.svgjs=\"http://svgjs.com/svgjs\",l.supported=!0,!l.supported)return!1;l.did=1e3,l.eid=function(t){return\"Svgjs\"+d(t)+l.did++},l.create=function(t){var l=e.createElementNS(this.ns,t);return l.setAttribute(\"id\",this.eid(t)),l},l.extend=function(){var t,e,n,i;for(e=(t=[].slice.call(arguments)).pop(),i=t.length-1;0<=i;i--)if(t[i])for(n in e)t[i].prototype[n]=e[n];l.Set&&l.Set.inherit&&l.Set.inherit()},l.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,l.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&l.extend(e,t.extend),t.construct&&l.extend(t.parent||l.Container,t.construct),e},l.adopt=function(e){return e?e.instance?e.instance:((n=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new l.Nested:new l.Doc:\"linearGradient\"==e.nodeName?new l.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new l.Gradient(\"radial\"):l[d(e.nodeName)]?new(l[d(e.nodeName)]):new l.Element(e)).type=e.nodeName,((n.node=e).instance=n)instanceof l.Doc&&n.namespace().defs(),n.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),n):null;var n},l.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],n=(t?new l.Doc(t):l.adopt(e.documentElement).nested()).size(2,0);l.parser={body:t||e.documentElement,draw:n.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:n.polyline().node,path:n.path().node,native:l.create(\"svg\")}},l.parser={native:l.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",function(){l.parser.draw||l.prepare()},!1),l.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},l.utils={map:function(t,e){var l,n=t.length,i=[];for(l=0;l<n;l++)i.push(e(t[l]));return i},filter:function(t,e){var l,n=t.length,i=[];for(l=0;l<n;l++)e(t[l])&&i.push(t[l]);return i},radians:function(t){return t%360*Math.PI/180},degrees:function(t){return 180*t/Math.PI%360},filterSVGElements:function(e){return this.filter(e,function(e){return e instanceof t.SVGElement})}},l.defaults={attrs:{\"fill-opacity\":1,\"stroke-opacity\":1,\"stroke-width\":0,\"stroke-linejoin\":\"miter\",\"stroke-linecap\":\"butt\",fill:\"#000000\",stroke:\"#000000\",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,\"stop-opacity\":1,\"stop-color\":\"#000000\",\"font-size\":16,\"font-family\":\"Helvetica, Arial, sans-serif\",\"text-anchor\":\"start\"}},l.Color=function(t){var e,n;this.r=0,this.g=0,this.b=0,t&&(\"string\"==typeof t?l.regex.isRgb.test(t)?(e=l.regex.rgb.exec(t.replace(l.regex.whitespace,\"\")),this.r=parseInt(e[1]),this.g=parseInt(e[2]),this.b=parseInt(e[3])):l.regex.isHex.test(t)&&(e=l.regex.hex.exec(4==(n=t).length?[\"#\",n.substring(1,2),n.substring(1,2),n.substring(2,3),n.substring(2,3),n.substring(3,4),n.substring(3,4)].join(\"\"):n),this.r=parseInt(e[1],16),this.g=parseInt(e[2],16),this.b=parseInt(e[3],16)):\"object\"===(void 0===t?\"undefined\":r(t))&&(this.r=t.r,this.g=t.g,this.b=t.b))},l.extend(l.Color,{toString:function(){return this.toHex()},toHex:function(){return\"#\"+h(this.r)+h(this.g)+h(this.b)},toRgb:function(){return\"rgb(\"+[this.r,this.g,this.b].join()+\")\"},brightness:function(){return this.r/255*.3+this.g/255*.59+this.b/255*.11},morph:function(t){return this.destination=new l.Color(t),this},at:function(t){return this.destination?(t=t<0?0:1<t?1:t,new l.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),l.Color.test=function(t){return t+=\"\",l.regex.isHex.test(t)||l.regex.isRgb.test(t)},l.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},l.Color.isColor=function(t){return l.Color.isRgb(t)||l.Color.test(t)},l.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},l.extend(l.Array,{morph:function(t){if(this.destination=this.parse(t),this.value.length!=this.destination.length){for(var e=this.value[this.value.length-1],l=this.destination[this.destination.length-1];this.value.length>this.destination.length;)this.destination.push(l);for(;this.value.length<this.destination.length;)this.value.push(e)}return this},settle:function(){for(var t=0,e=this.value.length,l=[];t<e;t++)-1==l.indexOf(this.value[t])&&l.push(this.value[t]);return this.value=l},at:function(t){if(!this.destination)return this;for(var e=0,n=this.value.length,i=[];e<n;e++)i.push(this.value[e]+(this.destination[e]-this.value[e])*t);return new l.Array(i)},toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)},split:function(t){return t.trim().split(l.regex.delimiter).map(parseFloat)},reverse:function(){return this.value.reverse(),this},clone:function(){var t=new this.constructor;return t.value=function t(e){for(var l=e.slice(0),n=l.length;n--;)Array.isArray(l[n])&&(l[n]=t(l[n]));return l}(this.value),t}}),l.PointArray=function(t,e){l.Array.call(this,t,e||[[0,0]])},l.PointArray.prototype=new l.Array,l.PointArray.prototype.constructor=l.PointArray,l.extend(l.PointArray,{toString:function(){for(var t=0,e=this.value.length,l=[];t<e;t++)l.push(this.value[t].join(\",\"));return l.join(\" \")},toLine:function(){return{x1:this.value[0][0],y1:this.value[0][1],x2:this.value[1][0],y2:this.value[1][1]}},at:function(t){if(!this.destination)return this;for(var e=0,n=this.value.length,i=[];e<n;e++)i.push([this.value[e][0]+(this.destination[e][0]-this.value[e][0])*t,this.value[e][1]+(this.destination[e][1]-this.value[e][1])*t]);return new l.PointArray(i)},parse:function(t){var e=[];if(t=t.valueOf(),Array.isArray(t)){if(Array.isArray(t[0]))return t.map(function(t){return t.slice()});if(null!=t[0].x)return t.map(function(t){return[t.x,t.y]})}else t=t.trim().split(l.regex.delimiter).map(parseFloat);t.length%2!=0&&t.pop();for(var n=0,i=t.length;n<i;n+=2)e.push([t[n],t[n+1]]);return e},move:function(t,e){var l=this.bbox();if(t-=l.x,e-=l.y,!isNaN(t)&&!isNaN(e))for(var n=this.value.length-1;0<=n;n--)this.value[n]=[this.value[n][0]+t,this.value[n][1]+e];return this},size:function(t,e){var l,n=this.bbox();for(l=this.value.length-1;0<=l;l--)n.width&&(this.value[l][0]=(this.value[l][0]-n.x)*t/n.width+n.x),n.height&&(this.value[l][1]=(this.value[l][1]-n.y)*e/n.height+n.y);return this},bbox:function(){return l.parser.draw||l.prepare(),l.parser.poly.setAttribute(\"points\",this.toString()),l.parser.poly.getBBox()}});for(var n={M:function(t,e,l){return e.x=l.x=t[0],e.y=l.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],[\"S\",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],[\"T\",t[0],t[1]]},Z:function(t,e,l){return e.x=l.x,e.y=l.y,[\"Z\"]},A:function(t,e){return e.x=t[5],e.y=t[6],[\"A\",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},i=\"mlhvqtcsaz\".split(\"\"),a=0,o=i.length;a<o;++a)n[i[a]]=function(t){return function(e,l,i){if(\"H\"==t)e[0]=e[0]+l.x;else if(\"V\"==t)e[0]=e[0]+l.y;else if(\"A\"==t)e[5]=e[5]+l.x,e[6]=e[6]+l.y;else for(var a=0,r=e.length;a<r;++a)e[a]=e[a]+(a%2?l.y:l.x);return n[t](e,l,i)}}(i[a].toUpperCase());l.PathArray=function(t,e){l.Array.call(this,t,e||[[\"M\",0,0]])},l.PathArray.prototype=new l.Array,l.PathArray.prototype.constructor=l.PathArray,l.extend(l.PathArray,{toString:function(){return function(t){for(var e=0,l=t.length,n=\"\";e<l;e++)n+=t[e][0],null!=t[e][1]&&(n+=t[e][1],null!=t[e][2]&&(n+=\" \",n+=t[e][2],null!=t[e][3]&&(n+=\" \",n+=t[e][3],n+=\" \",n+=t[e][4],null!=t[e][5]&&(n+=\" \",n+=t[e][5],n+=\" \",n+=t[e][6],null!=t[e][7]&&(n+=\" \",n+=t[e][7])))));return n+\" \"}(this.value)},move:function(t,e){var l=this.bbox();if(t-=l.x,e-=l.y,!isNaN(t)&&!isNaN(e))for(var n,i=this.value.length-1;0<=i;i--)\"M\"==(n=this.value[i][0])||\"L\"==n||\"T\"==n?(this.value[i][1]+=t,this.value[i][2]+=e):\"H\"==n?this.value[i][1]+=t:\"V\"==n?this.value[i][1]+=e:\"C\"==n||\"S\"==n||\"Q\"==n?(this.value[i][1]+=t,this.value[i][2]+=e,this.value[i][3]+=t,this.value[i][4]+=e,\"C\"==n&&(this.value[i][5]+=t,this.value[i][6]+=e)):\"A\"==n&&(this.value[i][6]+=t,this.value[i][7]+=e);return this},size:function(t,e){var l,n,i=this.bbox();for(l=this.value.length-1;0<=l;l--)\"M\"==(n=this.value[l][0])||\"L\"==n||\"T\"==n?(this.value[l][1]=(this.value[l][1]-i.x)*t/i.width+i.x,this.value[l][2]=(this.value[l][2]-i.y)*e/i.height+i.y):\"H\"==n?this.value[l][1]=(this.value[l][1]-i.x)*t/i.width+i.x:\"V\"==n?this.value[l][1]=(this.value[l][1]-i.y)*e/i.height+i.y:\"C\"==n||\"S\"==n||\"Q\"==n?(this.value[l][1]=(this.value[l][1]-i.x)*t/i.width+i.x,this.value[l][2]=(this.value[l][2]-i.y)*e/i.height+i.y,this.value[l][3]=(this.value[l][3]-i.x)*t/i.width+i.x,this.value[l][4]=(this.value[l][4]-i.y)*e/i.height+i.y,\"C\"==n&&(this.value[l][5]=(this.value[l][5]-i.x)*t/i.width+i.x,this.value[l][6]=(this.value[l][6]-i.y)*e/i.height+i.y)):\"A\"==n&&(this.value[l][1]=this.value[l][1]*t/i.width,this.value[l][2]=this.value[l][2]*e/i.height,this.value[l][6]=(this.value[l][6]-i.x)*t/i.width+i.x,this.value[l][7]=(this.value[l][7]-i.y)*e/i.height+i.y);return this},equalCommands:function(t){var e,n,i;for(t=new l.PathArray(t),i=this.value.length===t.value.length,e=0,n=this.value.length;i&&e<n;e++)i=this.value[e][0]===t.value[e][0];return i},morph:function(t){return t=new l.PathArray(t),this.equalCommands(t)?this.destination=t:this.destination=null,this},at:function(t){if(!this.destination)return this;var e,n,i,a,r=this.value,o=this.destination.value,s=[],c=new l.PathArray;for(e=0,n=r.length;e<n;e++){for(s[e]=[r[e][0]],i=1,a=r[e].length;i<a;i++)s[e][i]=r[e][i]+(o[e][i]-r[e][i])*t;\"A\"===s[e][0]&&(s[e][4]=+(0!=s[e][4]),s[e][5]=+(0!=s[e][5]))}return c.value=s,c},parse:function(t){if(t instanceof l.PathArray)return t.valueOf();var e,i={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0};t=\"string\"==typeof t?t.replace(l.regex.numbersWithDots,c).replace(l.regex.pathLetters,\" $& \").replace(l.regex.hyphen,\"$1 -\").trim().split(l.regex.delimiter):t.reduce(function(t,e){return[].concat.call(t,e)},[]);for(var a=[],r=new l.Point,o=new l.Point,s=0,u=t.length;l.regex.isPathLetter.test(t[s])?(e=t[s],++s):\"M\"==e?e=\"L\":\"m\"==e&&(e=\"l\"),a.push(n[e].call(null,t.slice(s,s+=i[e.toUpperCase()]).map(parseFloat),r,o)),s<u;);return a},bbox:function(){return l.parser.draw||l.prepare(),l.parser.path.setAttribute(\"d\",this.toString()),l.parser.path.getBBox()}}),l.Number=l.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-3.4e38:3.4e38:\"string\"==typeof t?(e=t.match(l.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof l.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new l.Number(t),new l.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new l.Number(t),new l.Number(this-t,this.unit||t.unit)},times:function(t){return t=new l.Number(t),new l.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new l.Number(t),new l.Number(this/t,this.unit||t.unit)},to:function(t){var e=new l.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new l.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new l.Number(this.destination).minus(this).times(t).plus(this):this}}}),l.Element=l.invent({create:function(t){this._stroke=l.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,(this.node.instance=this)._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var n=f(this,t,e);return this.width(new l.Number(n.width)).height(new l.Number(n.height))},clone:function(t){this.writeDataToDom();var e=b(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},inside:function(t,e){var l=this.bbox();return t>l.x&&e>l.y&&t<l.x+l.width&&e<l.y+l.height},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(l.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter(function(e){return e!=t}).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return l.get(this.attr(t))},parent:function(e){var n=this;if(!n.node.parentNode)return null;if(n=l.adopt(n.node.parentNode),!e)return n;for(;n&&n.node instanceof t.SVGElement;){if(\"string\"==typeof e?n.matches(e):n instanceof e)return n;if(!n.node.parentNode||\"#document\"==n.node.parentNode.nodeName)return null;n=l.adopt(n.node.parentNode)}},doc:function(){return this instanceof l.Doc?this:this.parent(l.Doc)},parents:function(t){var e=[],l=this;do{if(!(l=l.parent(t))||!l.node)break;e.push(l)}while(l.parent);return e},matches:function(t){return e=this.node,l=t,(e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector).call(e,l);var e,l},native:function(){return this.node},svg:function(t){var n=e.createElement(\"svg\");if(!(t&&this instanceof l.Parent))return n.appendChild(t=e.createElement(\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),n.innerHTML.replace(/^<svg>/,\"\").replace(/<\\/svg>$/,\"\");n.innerHTML=\"<svg>\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2></$1>\")+\"</svg>\";for(var i=0,a=n.firstChild.childNodes.length;i<a;i++)this.node.appendChild(n.firstChild.firstChild);return this},writeDataToDom:function(){return(this.each||this.lines)&&(this.each?this:this.lines()).each(function(){this.writeDataToDom()}),this.node.removeAttribute(\"svgjs:data\"),Object.keys(this.dom).length&&this.node.setAttribute(\"svgjs:data\",JSON.stringify(this.dom)),this},setData:function(t){return this.dom=t,this},is:function(t){return this instanceof t}}}),l.easing={\"-\":function(t){return t},\"<>\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},l.morph=function(t){return function(e,n){return new l.MorphObj(e,n).at(t)}},l.Situation=l.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new l.Number(t.duration).valueOf(),this.delay=new l.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),l.FX=l.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,n){\"object\"===(void 0===t?\"undefined\":r(t))&&(e=t.ease,n=t.delay,t=t.duration);var i=new l.Situation({duration:t||1e3,delay:n||0,ease:l.easing[e||\"-\"]||e});return this.queue(i),this},delay:function(t){var e=new l.Situation({duration:t,delay:0,ease:l.easing[\"-\"]});return this.queue(e)},target:function(t){return t&&t instanceof l.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof l.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof l.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e,n,i=this.situation;if(i.init)return this;for(t in i.animations)for(n=this.target()[t](),Array.isArray(n)||(n=[n]),Array.isArray(i.animations[t])||(i.animations[t]=[i.animations[t]]),e=n.length;e--;)i.animations[t][e]instanceof l.Number&&(n[e]=new l.Number(n[e])),i.animations[t][e]=n[e].morph(i.animations[t][e]);for(t in i.attrs)i.attrs[t]=new l.MorphObj(this.target().attr(t),i.attrs[t]);for(t in i.styles)i.styles[t]=new l.MorphObj(this.target().style(t),i.styles[t]);return i.initialTransformation=this.target().matrixify(),i.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var l=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!l&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},reset:function(){if(this.situation){var t=this.situation;this.stop(),this.situation=t,this.atStart()}return this},finish:function(){for(this.stop(!0,!1);this.dequeue().situation&&this.stop(!0,!1););return this.clearQueue().clearCurrent(),this},atStart:function(){return this.at(0,!0)},atEnd:function(){return!0===this.situation.loops&&(this.situation.loops=this.situation.loop+1),\"number\"==typeof this.situation.loops?this.at(this.situation.loops,!0):this.at(1,!0)},at:function(t,e){var l=this.situation.duration/this._speed;return this.absPos=t,e||(this.situation.reversed&&(this.absPos=1-this.absPos),this.absPos+=this.situation.loop),this.situation.start=+new Date-this.absPos*l,this.situation.finish=this.situation.start+l,this.step(!0)},speed:function(t){return 0===t?this.pause():t?(this._speed=t,this.at(this.absPos,!0)):this._speed},loop:function(t,e){var l=this.last();return l.loops=null==t||t,l.loop=0,e&&(l.reversing=!0),this},pause:function(){return this.paused=!0,this.stopAnimFrame(),this},play:function(){return this.paused?(this.paused=!1,this.at(this.absPos,!0)):this},reverse:function(t){var e=this.last();return e.reversed=void 0===t?!e.reversed:t,this},progress:function(t){return t?this.situation.ease(this.pos):this.pos},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",function l(n){n.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",l))}),this._callStart()},during:function(t){var e=this.last(),n=function(n){n.detail.situation==e&&t.call(this,n.detail.pos,l.morph(n.detail.pos),n.detail.eased,e)};return this.target().off(\"during.fx\",n).on(\"during.fx\",n),this.after(function(){this.off(\"during.fx\",n)}),this._callStart()},afterAll:function(t){var e=function e(l){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},duringAll:function(t){var e=function(e){t.call(this,e.detail.pos,l.morph(e.detail.pos),e.detail.eased,e.detail.situation)};return this.target().off(\"during.fx\",e).on(\"during.fx\",e),this.afterAll(function(){this.off(\"during.fx\",e)}),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,l){return this.last()[l||\"animations\"][t]=e,this._callStart()},step:function(t){var e,l,n;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),l=Math.floor(e),!0===this.situation.loops||l<this.situation.loops?(this.pos=e-l,n=this.situation.loop,this.situation.loop=l):(this.absPos=this.situation.loops,this.pos=1,n=this.situation.loop-1,this.situation.loop=this.situation.loops),this.situation.reversing&&(this.situation.reversed=this.situation.reversed!=Boolean((this.situation.loop-n)%2))):(this.absPos=Math.min(this.absPos,1),this.pos=this.absPos),this.pos<0&&(this.pos=0),this.situation.reversed&&(this.pos=1-this.pos);var i=this.situation.ease(this.pos);for(var a in this.situation.once)a>this.lastPos&&a<=i&&(this.situation.once[a].call(this.target(),this.pos,i),delete this.situation.once[a]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:i,fx:this,situation:this.situation}),this.situation&&(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=i),this},eachAt:function(){var t,e,n,i=this,a=this.target(),r=this.situation;for(t in r.animations)n=[].concat(r.animations[t]).map(function(t){return\"string\"!=typeof t&&t.at?t.at(r.ease(i.pos),i.pos):t}),a[t].apply(a,n);for(t in r.attrs)n=[t].concat(r.attrs[t]).map(function(t){return\"string\"!=typeof t&&t.at?t.at(r.ease(i.pos),i.pos):t}),a.attr.apply(a,n);for(t in r.styles)n=[t].concat(r.styles[t]).map(function(t){return\"string\"!=typeof t&&t.at?t.at(r.ease(i.pos),i.pos):t}),a.style.apply(a,n);if(r.transforms.length){for(n=r.initialTransformation,t=0,e=r.transforms.length;t<e;t++){var o=r.transforms[t];o instanceof l.Matrix?n=o.relative?n.multiply((new l.Matrix).morph(o).at(r.ease(this.pos))):n.morph(o).at(r.ease(this.pos)):(o.relative||o.undo(n.extract()),n=n.multiply(o.at(r.ease(this.pos))))}a.matrix(n)}return this},once:function(t,e,l){var n=this.last();return l||(t=n.ease(t)),n.once[t]=e,this},_callStart:function(){return setTimeout(function(){this.start()}.bind(this),0),this}},parent:l.Element,construct:{animate:function(t,e,n){return(this.fx||(this.fx=new l.FX(this))).animate(t,e,n)},delay:function(t){return(this.fx||(this.fx=new l.FX(this))).delay(t)},stop:function(t,e){return this.fx&&this.fx.stop(t,e),this},finish:function(){return this.fx&&this.fx.finish(),this},pause:function(){return this.fx&&this.fx.pause(),this},play:function(){return this.fx&&this.fx.play(),this},speed:function(t){if(this.fx){if(null==t)return this.fx.speed();this.fx.speed(t)}return this}}}),l.MorphObj=l.invent({create:function(t,e){return l.Color.isColor(e)?new l.Color(t).morph(e):l.regex.delimiter.test(t)?l.regex.pathLetters.test(t)?new l.PathArray(t).morph(e):new l.Array(t).morph(e):l.regex.numberAndUnit.test(e)?new l.Number(t).morph(e):(this.value=t,void(this.destination=e))},extend:{at:function(t,e){return e<1?this.value:this.destination},valueOf:function(){return this.value}}}),l.extend(l.FX,{attr:function(t,e,l){if(\"object\"===(void 0===t?\"undefined\":r(t)))for(var n in t)this.attr(n,t[n]);else this.add(t,e,\"attrs\");return this},style:function(t,e){if(\"object\"===(void 0===t?\"undefined\":r(t)))for(var l in t)this.style(l,t[l]);else this.add(t,e,\"styles\");return this},x:function(t,e){if(this.target()instanceof l.G)return this.transform({x:t},e),this;var n=new l.Number(t);return n.relative=e,this.add(\"x\",n)},y:function(t,e){if(this.target()instanceof l.G)return this.transform({y:t},e),this;var n=new l.Number(t);return n.relative=e,this.add(\"y\",n)},cx:function(t){return this.add(\"cx\",new l.Number(t))},cy:function(t){return this.add(\"cy\",new l.Number(t))},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},size:function(t,e){var n;return this.target()instanceof l.Text?this.attr(\"font-size\",t):(t&&e||(n=this.target().bbox()),t||(t=n.width/n.height*e),e||(e=n.height/n.width*t),this.add(\"width\",new l.Number(t)).add(\"height\",new l.Number(e))),this},width:function(t){return this.add(\"width\",new l.Number(t))},height:function(t){return this.add(\"height\",new l.Number(t))},plot:function(t,e,l,n){return 4==arguments.length?this.plot([t,e,l,n]):this.add(\"plot\",new(this.target().morphArray)(t))},leading:function(t){return this.target().leading?this.add(\"leading\",new l.Number(t)):this},viewbox:function(t,e,n,i){return this.target()instanceof l.Container&&this.add(\"viewbox\",new l.ViewBox(t,e,n,i)),this},update:function(t){if(this.target()instanceof l.Stop){if(\"number\"==typeof t||t instanceof l.Number)return this.update({offset:t,color:arguments[1],opacity:arguments[2]});null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",t.offset)}return this}}),l.Box=l.invent({create:function(t,e,n,i){if(!(\"object\"!==(void 0===t?\"undefined\":r(t))||t instanceof l.Element))return l.Box.call(this,null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height);4==arguments.length&&(this.x=t,this.y=e,this.width=n,this.height=i),v(this)},extend:{merge:function(t){var e=new this.constructor;return e.x=Math.min(this.x,t.x),e.y=Math.min(this.y,t.y),e.width=Math.max(this.x+this.width,t.x+t.width)-e.x,e.height=Math.max(this.y+this.height,t.y+t.height)-e.y,v(e)},transform:function(t){var e,n=1/0,i=-1/0,a=1/0,r=-1/0;return[new l.Point(this.x,this.y),new l.Point(this.x2,this.y),new l.Point(this.x,this.y2),new l.Point(this.x2,this.y2)].forEach(function(e){e=e.transform(t),n=Math.min(n,e.x),i=Math.max(i,e.x),a=Math.min(a,e.y),r=Math.max(r,e.y)}),(e=new this.constructor).x=n,e.width=i-n,e.y=a,e.height=r-a,v(e),e}}}),l.BBox=l.invent({create:function(t){if(l.Box.apply(this,[].slice.call(arguments)),t instanceof l.Element){var n;try{if(!e.documentElement.contains){for(var i=t.node;i.parentNode;)i=i.parentNode;if(i!=e)throw new Error(\"Element not in the dom\")}n=t.node.getBBox()}catch(i){if(t instanceof l.Shape){l.parser.draw||l.prepare();var a=t.clone(l.parser.draw.instance).show();n=a.node.getBBox(),a.remove()}else n={x:t.node.clientLeft,y:t.node.clientTop,width:t.node.clientWidth,height:t.node.clientHeight}}l.Box.call(this,n)}},inherit:l.Box,parent:l.Element,construct:{bbox:function(){return new l.BBox(this)}}}),l.BBox.prototype.constructor=l.BBox,l.extend(l.Element,{tbox:function(){return console.warn(\"Use of TBox is deprecated and mapped to RBox. Use .rbox() instead.\"),this.rbox(this.doc())}}),l.RBox=l.invent({create:function(t){l.Box.apply(this,[].slice.call(arguments)),t instanceof l.Element&&l.Box.call(this,t.node.getBoundingClientRect())},inherit:l.Box,parent:l.Element,extend:{addOffset:function(){return this.x+=t.pageXOffset,this.y+=t.pageYOffset,this}},construct:{rbox:function(t){return t?new l.RBox(this).transform(t.screenCTM().inverse()):new l.RBox(this).addOffset()}}}),l.RBox.prototype.constructor=l.RBox,l.Matrix=l.invent({create:function(t){var e,n=g([1,0,0,1,0,0]);for(t=t instanceof l.Element?t.matrixify():\"string\"==typeof t?g(t.split(l.regex.delimiter).map(parseFloat)):6==arguments.length?g([].slice.call(arguments)):Array.isArray(t)?g(t):\"object\"===(void 0===t?\"undefined\":r(t))?t:n,e=x.length-1;0<=e;--e)this[x[e]]=null!=t[x[e]]?t[x[e]]:n[x[e]]},extend:{extract:function(){var t=p(this,0,1),e=p(this,1,0),n=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(n*Math.PI/180)+this.f*Math.sin(n*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(n*Math.PI/180)+this.e*Math.sin(-n*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),skewX:-n,skewY:180/Math.PI*Math.atan2(e.y,e.x),scaleX:Math.sqrt(this.a*this.a+this.b*this.b),scaleY:Math.sqrt(this.c*this.c+this.d*this.d),rotation:n,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new l.Matrix(this)}},clone:function(){return new l.Matrix(this)},morph:function(t){return this.destination=new l.Matrix(t),this},at:function(t){return this.destination?new l.Matrix({a:this.a+(this.destination.a-this.a)*t,b:this.b+(this.destination.b-this.b)*t,c:this.c+(this.destination.c-this.c)*t,d:this.d+(this.destination.d-this.d)*t,e:this.e+(this.destination.e-this.e)*t,f:this.f+(this.destination.f-this.f)*t}):this},multiply:function(t){return new l.Matrix(this.native().multiply(function(t){return t instanceof l.Matrix||(t=new l.Matrix(t)),t}(t).native()))},inverse:function(){return new l.Matrix(this.native().inverse())},translate:function(t,e){return new l.Matrix(this.native().translate(t||0,e||0))},scale:function(t,e,n,i){return 1==arguments.length?e=t:3==arguments.length&&(i=n,n=e,e=t),this.around(n,i,new l.Matrix(t,0,0,e,0,0))},rotate:function(t,e,n){return t=l.utils.radians(t),this.around(e,n,new l.Matrix(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0))},flip:function(t,e){return\"x\"==t?this.scale(-1,1,e,0):\"y\"==t?this.scale(1,-1,0,e):this.scale(-1,-1,t,null!=e?e:t)},skew:function(t,e,n,i){return 1==arguments.length?e=t:3==arguments.length&&(i=n,n=e,e=t),t=l.utils.radians(t),e=l.utils.radians(e),this.around(n,i,new l.Matrix(1,Math.tan(e),Math.tan(t),1,0,0))},skewX:function(t,e,l){return this.skew(t,0,e,l)},skewY:function(t,e,l){return this.skew(0,t,e,l)},around:function(t,e,n){return this.multiply(new l.Matrix(1,0,0,1,t||0,e||0)).multiply(n).multiply(new l.Matrix(1,0,0,1,-t||0,-e||0))},native:function(){for(var t=l.parser.native.createSVGMatrix(),e=x.length-1;0<=e;e--)t[x[e]]=this[x[e]];return t},toString:function(){return\"matrix(\"+y(this.a)+\",\"+y(this.b)+\",\"+y(this.c)+\",\"+y(this.d)+\",\"+y(this.e)+\",\"+y(this.f)+\")\"}},parent:l.Element,construct:{ctm:function(){return new l.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof l.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new l.Matrix(e)}return new l.Matrix(this.node.getScreenCTM())}}}),l.Point=l.invent({create:function(t,e){var l;l=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===(void 0===t?\"undefined\":r(t))?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=l.x,this.y=l.y},extend:{clone:function(){return new l.Point(this)},morph:function(t,e){return this.destination=new l.Point(t,e),this},at:function(t){return this.destination?new l.Point({x:this.x+(this.destination.x-this.x)*t,y:this.y+(this.destination.y-this.y)*t}):this},native:function(){var t=l.parser.native.createSVGPoint();return t.x=this.x,t.y=this.y,t},transform:function(t){return new l.Point(this.native().matrixTransform(t.native()))}}}),l.extend(l.Element,{point:function(t,e){return new l.Point(t,e).transform(this.screenCTM().inverse())}}),l.extend(l.Element,{attr:function(t,e,n){if(null==t){for(t={},n=(e=this.node.attributes).length-1;0<=n;n--)t[e[n].nodeName]=l.regex.isNumber.test(e[n].nodeValue)?parseFloat(e[n].nodeValue):e[n].nodeValue;return t}if(\"object\"===(void 0===t?\"undefined\":r(t)))for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?l.defaults.attrs[t]:l.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",0<parseFloat(e)?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(l.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof l.Image&&(e=this.doc().defs().pattern(0,0,function(){this.add(e)}))),\"number\"==typeof e?e=new l.Number(e):l.Color.isColor(e)?e=new l.Color(e):Array.isArray(e)&&(e=new l.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof n?this.node.setAttributeNS(n,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),l.extend(l.Element,{transform:function(t,e){var n,i;if(\"object\"!==(void 0===t?\"undefined\":r(t)))return n=new l.Matrix(this).extract(),\"string\"==typeof t?n[t]:n;if(n=new l.Matrix(this),e=!!e||!!t.relative,null!=t.a)n=e?n.multiply(new l.Matrix(t)):new l.Matrix(t);else if(null!=t.rotation)m(t,this),n=e?n.rotate(t.rotation,t.cx,t.cy):n.rotate(t.rotation-n.extract().rotation,t.cx,t.cy);else if(null!=t.scale||null!=t.scaleX||null!=t.scaleY){if(m(t,this),t.scaleX=null!=t.scale?t.scale:null!=t.scaleX?t.scaleX:1,t.scaleY=null!=t.scale?t.scale:null!=t.scaleY?t.scaleY:1,!e){var a=n.extract();t.scaleX=1*t.scaleX/a.scaleX,t.scaleY=1*t.scaleY/a.scaleY}n=n.scale(t.scaleX,t.scaleY,t.cx,t.cy)}else null!=t.skew||null!=t.skewX||null!=t.skewY?(m(t,this),t.skewX=null!=t.skew?t.skew:null!=t.skewX?t.skewX:0,t.skewY=null!=t.skew?t.skew:null!=t.skewY?t.skewY:0,e||(a=n.extract(),n=n.multiply((new l.Matrix).skew(a.skewX,a.skewY,t.cx,t.cy).inverse())),n=n.skew(t.skewX,t.skewY,t.cx,t.cy)):t.flip?(\"x\"==t.flip||\"y\"==t.flip?t.offset=null==t.offset?this.bbox()[\"c\"+t.flip]:t.offset:null==t.offset?(i=this.bbox(),t.flip=i.cx,t.offset=i.cy):t.flip=t.offset,n=(new l.Matrix).flip(t.flip,t.offset)):null==t.x&&null==t.y||(e?n=n.translate(t.x,t.y):(null!=t.x&&(n.e=t.x),null!=t.y&&(n.f=t.y)));return this.attr(\"transform\",n)}}),l.extend(l.FX,{transform:function(t,e){var n,i,a=this.target();return\"object\"!==(void 0===t?\"undefined\":r(t))?(n=new l.Matrix(a).extract(),\"string\"==typeof t?n[t]:n):(e=!!e||!!t.relative,null!=t.a?n=new l.Matrix(t):null!=t.rotation?(m(t,a),n=new l.Rotate(t.rotation,t.cx,t.cy)):null!=t.scale||null!=t.scaleX||null!=t.scaleY?(m(t,a),t.scaleX=null!=t.scale?t.scale:null!=t.scaleX?t.scaleX:1,t.scaleY=null!=t.scale?t.scale:null!=t.scaleY?t.scaleY:1,n=new l.Scale(t.scaleX,t.scaleY,t.cx,t.cy)):null!=t.skewX||null!=t.skewY?(m(t,a),t.skewX=null!=t.skewX?t.skewX:0,t.skewY=null!=t.skewY?t.skewY:0,n=new l.Skew(t.skewX,t.skewY,t.cx,t.cy)):t.flip?(\"x\"==t.flip||\"y\"==t.flip?t.offset=null==t.offset?a.bbox()[\"c\"+t.flip]:t.offset:null==t.offset?(i=a.bbox(),t.flip=i.cx,t.offset=i.cy):t.flip=t.offset,n=(new l.Matrix).flip(t.flip,t.offset)):null==t.x&&null==t.y||(n=new l.Translate(t.x,t.y)),n?(n.relative=e,this.last().transforms.push(n),this._callStart()):this)}}),l.extend(l.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(l.regex.transforms).slice(0,-1).map(function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(l.regex.delimiter).map(function(t){return parseFloat(t)})]}).reduce(function(t,e){return\"matrix\"==e[0]?t.multiply(g(e[1])):t[e[0]].apply(t,e[1])},new l.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),l=t.screenCTM().inverse();return this.addTo(t).untransform().transform(l.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),l.Transformation=l.invent({create:function(t,e){if(1<arguments.length&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var l=0,n=this.arguments.length;l<n;++l)this[this.arguments[l]]=t[l];else if(\"object\"===(void 0===t?\"undefined\":r(t)))for(l=0,n=this.arguments.length;l<n;++l)this[this.arguments[l]]=t[this.arguments[l]];!(this.inversed=!1)===e&&(this.inversed=!0)},extend:{arguments:[],method:\"\",at:function(t){for(var e=[],n=0,i=this.arguments.length;n<i;++n)e.push(this[this.arguments[n]]);var a=this._undo||new l.Matrix;return a=(new l.Matrix).morph(l.Matrix.prototype[this.method].apply(a,e)).at(t),this.inversed?a.inverse():a},undo:function(t){for(var e=0,n=this.arguments.length;e<n;++e)t[this.arguments[e]]=void 0===this[this.arguments[e]]?0:t[this.arguments[e]];return t.cx=this.cx,t.cy=this.cy,this._undo=new(l[d(this.method)])(t,!0).at(1),this}}}),l.Translate=l.invent({parent:l.Matrix,inherit:l.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:[\"transformedX\",\"transformedY\"],method:\"translate\"}}),l.Rotate=l.invent({parent:l.Matrix,inherit:l.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:[\"rotation\",\"cx\",\"cy\"],method:\"rotate\",at:function(t){var e=(new l.Matrix).rotate((new l.Number).morph(this.rotation-(this._undo?this._undo.rotation:0)).at(t),this.cx,this.cy);return this.inversed?e.inverse():e},undo:function(t){return this._undo=t,this}}}),l.Scale=l.invent({parent:l.Matrix,inherit:l.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:[\"scaleX\",\"scaleY\",\"cx\",\"cy\"],method:\"scale\"}}),l.Skew=l.invent({parent:l.Matrix,inherit:l.Transformation,create:function(t,e){this.constructor.apply(this,[].slice.call(arguments))},extend:{arguments:[\"skewX\",\"skewY\",\"cx\",\"cy\"],method:\"skew\"}}),l.extend(l.Element,{style:function(t,e){if(0==arguments.length)return this.node.style.cssText||\"\";if(arguments.length<2)if(\"object\"===(void 0===t?\"undefined\":r(t)))for(e in t)this.style(e,t[e]);else{if(!l.regex.isCss.test(t))return this.node.style[u(t)];for(t=t.split(/\\s*;\\s*/).filter(function(t){return!!t}).map(function(t){return t.split(/\\s*:\\s*/)});e=t.pop();)this.style(e[0],e[1])}else this.node.style[u(t)]=null===e||l.regex.isBlank.test(e)?\"\":e;return this}}),l.Parent=l.invent({create:function(t){this.constructor.call(this,t)},inherit:l.Element,extend:{children:function(){return l.utils.map(l.utils.filterSVGElements(this.node.childNodes),function(t){return l.adopt(t)})},add:function(t,e){return null==e?this.node.appendChild(t.node):t.node!=this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this},put:function(t,e){return this.add(t,e),t},has:function(t){return 0<=this.index(t)},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return l.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){var n,i,a=this.children();for(n=0,i=a.length;n<i;n++)a[n]instanceof l.Element&&t.apply(a[n],[n,a]),e&&a[n]instanceof l.Container&&a[n].each(t,e);return this},removeElement:function(t){return this.node.removeChild(t.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,this},defs:function(){return this.doc().defs()}}}),l.extend(l.Parent,{ungroup:function(t,e){return 0===e||this instanceof l.Defs||this.node==l.parser.draw||(t=t||(this instanceof l.Doc?this:this.parent(l.Parent)),e=e||1/0,this.each(function(){return this instanceof l.Defs?this:this instanceof l.Parent?this.ungroup(t,e-1):this.toParent(t)}),this.node.firstChild||this.remove()),this},flatten:function(t,e){return this.ungroup(t,e)}}),l.Container=l.invent({create:function(t){this.constructor.call(this,t)},inherit:l.Parent}),l.ViewBox=l.invent({create:function(t){var e,n,i,a,o,s,c,u=1,d=1,h=/[+-]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?/gi;if(t instanceof l.Element){for(o=((c=s=t).attr(\"viewBox\")||\"\").match(h),t.bbox,i=new l.Number(t.width()),a=new l.Number(t.height());\"%\"==i.unit;)u*=i.value,i=new l.Number(s instanceof l.Doc?s.parent().offsetWidth:s.parent().width()),s=s.parent();for(;\"%\"==a.unit;)d*=a.value,a=new l.Number(c instanceof l.Doc?c.parent().offsetHeight:c.parent().height()),c=c.parent();this.x=0,this.y=0,this.width=i*u,this.height=a*d,this.zoom=1,o&&(e=parseFloat(o[0]),n=parseFloat(o[1]),i=parseFloat(o[2]),a=parseFloat(o[3]),this.zoom=this.width/this.height>i/a?this.height/a:this.width/i,this.x=e,this.y=n,this.width=i,this.height=a)}else t=\"string\"==typeof t?t.match(h).map(function(t){return parseFloat(t)}):Array.isArray(t)?t:\"object\"===(void 0===t?\"undefined\":r(t))?[t.x,t.y,t.width,t.height]:4==arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3]},extend:{toString:function(){return this.x+\" \"+this.y+\" \"+this.width+\" \"+this.height},morph:function(t,e,n,i){return this.destination=new l.ViewBox(t,e,n,i),this},at:function(t){return this.destination?new l.ViewBox([this.x+(this.destination.x-this.x)*t,this.y+(this.destination.y-this.y)*t,this.width+(this.destination.width-this.width)*t,this.height+(this.destination.height-this.height)*t]):this}},parent:l.Container,construct:{viewbox:function(t,e,n,i){return 0==arguments.length?new l.ViewBox(this):this.attr(\"viewBox\",new l.ViewBox(t,e,n,i))}}}),[\"click\",\"dblclick\",\"mousedown\",\"mouseup\",\"mouseover\",\"mouseout\",\"mousemove\",\"touchstart\",\"touchmove\",\"touchleave\",\"touchend\",\"touchcancel\"].forEach(function(t){l.Element.prototype[t]=function(e){return l.on(this.node,t,e),this}}),l.listeners=[],l.handlerMap=[],l.listenerId=0,l.on=function(t,e,n,i,a){var r=n.bind(i||t.instance||t),o=(l.handlerMap.indexOf(t)+1||l.handlerMap.push(t))-1,s=e.split(\".\")[0],c=e.split(\".\")[1]||\"*\";l.listeners[o]=l.listeners[o]||{},l.listeners[o][s]=l.listeners[o][s]||{},l.listeners[o][s][c]=l.listeners[o][s][c]||{},n._svgjsListenerId||(n._svgjsListenerId=++l.listenerId),l.listeners[o][s][c][n._svgjsListenerId]=r,t.addEventListener(s,r,a||!1)},l.off=function(t,e,n){var i=l.handlerMap.indexOf(t),a=e&&e.split(\".\")[0],r=e&&e.split(\".\")[1],o=\"\";if(-1!=i)if(n){if(\"function\"==typeof n&&(n=n._svgjsListenerId),!n)return;l.listeners[i][a]&&l.listeners[i][a][r||\"*\"]&&(t.removeEventListener(a,l.listeners[i][a][r||\"*\"][n],!1),delete l.listeners[i][a][r||\"*\"][n])}else if(r&&a){if(l.listeners[i][a]&&l.listeners[i][a][r]){for(n in l.listeners[i][a][r])l.off(t,[a,r].join(\".\"),n);delete l.listeners[i][a][r]}}else if(r)for(e in l.listeners[i])for(o in l.listeners[i][e])r===o&&l.off(t,[e,r].join(\".\"));else if(a){if(l.listeners[i][a]){for(o in l.listeners[i][a])l.off(t,[a,o].join(\".\"));delete l.listeners[i][a]}}else{for(e in l.listeners[i])l.off(t,e);delete l.listeners[i],delete l.handlerMap[i]}},l.extend(l.Element,{on:function(t,e,n,i){return l.on(this.node,t,e,n,i),this},off:function(t,e){return l.off(this.node,t,e),this},fire:function(e,n){return e instanceof t.Event?this.node.dispatchEvent(e):this.node.dispatchEvent(e=new l.CustomEvent(e,{detail:n,cancelable:!0})),this._event=e,this},event:function(){return this._event}}),l.Defs=l.invent({create:\"defs\",inherit:l.Container}),l.G=l.invent({create:\"g\",inherit:l.Container,extend:{x:function(t){return null==t?this.transform(\"x\"):this.transform({x:t-this.x()},!0)},y:function(t){return null==t?this.transform(\"y\"):this.transform({y:t-this.y()},!0)},cx:function(t){return null==t?this.gbox().cx:this.x(t-this.gbox().width/2)},cy:function(t){return null==t?this.gbox().cy:this.y(t-this.gbox().height/2)},gbox:function(){var t=this.bbox(),e=this.transform();return t.x+=e.x,t.x2+=e.x,t.cx+=e.x,t.y+=e.y,t.y2+=e.y,t.cy+=e.y,t}},construct:{group:function(){return this.put(new l.G)}}}),l.Doc=l.invent({create:function(t){t&&(\"svg\"==(t=\"string\"==typeof t?e.getElementById(t):t).nodeName?this.constructor.call(this,t):(this.constructor.call(this,l.create(\"svg\")),t.appendChild(this.node),this.size(\"100%\",\"100%\")),this.namespace().defs())},inherit:l.Container,extend:{namespace:function(){return this.attr({xmlns:l.ns,version:\"1.1\"}).attr(\"xmlns:xlink\",l.xlink,l.xmlns).attr(\"xmlns:svgjs\",l.svgjs,l.xmlns)},defs:function(){var t;return this._defs||((t=this.node.getElementsByTagName(\"defs\")[0])?this._defs=l.adopt(t):this._defs=new l.Defs,this.node.appendChild(this._defs.node)),this._defs},parent:function(){return this.node.parentNode&&\"#document\"!=this.node.parentNode.nodeName?this.node.parentNode:null},spof:function(){var t=this.node.getScreenCTM();return t&&this.style(\"left\",-t.e%1+\"px\").style(\"top\",-t.f%1+\"px\"),this},remove:function(){return this.parent()&&this.parent().removeChild(this.node),this},clear:function(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return delete this._defs,l.parser.draw&&!l.parser.draw.parentNode&&this.node.appendChild(l.parser.draw),this},clone:function(t){this.writeDataToDom();var e=this.node,l=b(e.cloneNode(!0));return t?(t.node||t).appendChild(l.node):e.parentNode.insertBefore(l.node,e.nextSibling),l}}}),l.extend(l.Element,{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},previous:function(){return this.siblings()[this.position()-1]},forward:function(){var t=this.position()+1,e=this.parent();return e.removeElement(this).add(this,t),e instanceof l.Doc&&e.node.appendChild(e.defs().node),this},backward:function(){var t=this.position();return 0<t&&this.parent().removeElement(this).add(this,t-1),this},front:function(){var t=this.parent();return t.node.appendChild(this.node),t instanceof l.Doc&&t.node.appendChild(t.defs().node),this},back:function(){return 0<this.position()&&this.parent().removeElement(this).add(this,0),this},before:function(t){t.remove();var e=this.position();return this.parent().add(t,e),this},after:function(t){t.remove();var e=this.position();return this.parent().add(t,e+1),this}}),l.Mask=l.invent({create:function(){this.constructor.call(this,l.create(\"mask\")),this.targets=[]},inherit:l.Container,extend:{remove:function(){for(var t=this.targets.length-1;0<=t;t--)this.targets[t]&&this.targets[t].unmask();return this.targets=[],l.Element.prototype.remove.call(this),this}},construct:{mask:function(){return this.defs().put(new l.Mask)}}}),l.extend(l.Element,{maskWith:function(t){return this.masker=t instanceof l.Mask?t:this.parent().mask().add(t),this.masker.targets.push(this),this.attr(\"mask\",'url(\"#'+this.masker.attr(\"id\")+'\")')},unmask:function(){return delete this.masker,this.attr(\"mask\",null)}}),l.ClipPath=l.invent({create:function(){this.constructor.call(this,l.create(\"clipPath\")),this.targets=[]},inherit:l.Container,extend:{remove:function(){for(var t=this.targets.length-1;0<=t;t--)this.targets[t]&&this.targets[t].unclip();return this.targets=[],this.parent().removeElement(this),this}},construct:{clip:function(){return this.defs().put(new l.ClipPath)}}}),l.extend(l.Element,{clipWith:function(t){return this.clipper=t instanceof l.ClipPath?t:this.parent().clip().add(t),this.clipper.targets.push(this),this.attr(\"clip-path\",'url(\"#'+this.clipper.attr(\"id\")+'\")')},unclip:function(){return delete this.clipper,this.attr(\"clip-path\",null)}}),l.Gradient=l.invent({create:function(t){this.constructor.call(this,l.create(t+\"Gradient\")),this.type=t},inherit:l.Container,extend:{at:function(t,e,n){return this.put(new l.Stop).update(t,e,n)},update:function(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this},fill:function(){return\"url(#\"+this.id()+\")\"},toString:function(){return this.fill()},attr:function(t,e,n){return\"transform\"==t&&(t=\"gradientTransform\"),l.Container.prototype.attr.call(this,t,e,n)}},construct:{gradient:function(t,e){return this.defs().gradient(t,e)}}}),l.extend(l.Gradient,l.FX,{from:function(t,e){return\"radial\"==(this._target||this).type?this.attr({fx:new l.Number(t),fy:new l.Number(e)}):this.attr({x1:new l.Number(t),y1:new l.Number(e)})},to:function(t,e){return\"radial\"==(this._target||this).type?this.attr({cx:new l.Number(t),cy:new l.Number(e)}):this.attr({x2:new l.Number(t),y2:new l.Number(e)})}}),l.extend(l.Defs,{gradient:function(t,e){return this.put(new l.Gradient(t)).update(e)}}),l.Stop=l.invent({create:\"stop\",inherit:l.Element,extend:{update:function(t){return(\"number\"==typeof t||t instanceof l.Number)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr(\"stop-opacity\",t.opacity),null!=t.color&&this.attr(\"stop-color\",t.color),null!=t.offset&&this.attr(\"offset\",new l.Number(t.offset)),this}}}),l.Pattern=l.invent({create:\"pattern\",inherit:l.Container,extend:{fill:function(){return\"url(#\"+this.id()+\")\"},update:function(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this},toString:function(){return this.fill()},attr:function(t,e,n){return\"transform\"==t&&(t=\"patternTransform\"),l.Container.prototype.attr.call(this,t,e,n)}},construct:{pattern:function(t,e,l){return this.defs().pattern(t,e,l)}}}),l.extend(l.Defs,{pattern:function(t,e,n){return this.put(new l.Pattern).update(n).attr({x:0,y:0,width:t,height:e,patternUnits:\"userSpaceOnUse\"})}}),l.Shape=l.invent({create:function(t){this.constructor.call(this,t)},inherit:l.Element}),l.Bare=l.invent({create:function(t,e){if(this.constructor.call(this,l.create(t)),e)for(var n in e.prototype)\"function\"==typeof e.prototype[n]&&(this[n]=e.prototype[n])},inherit:l.Element,extend:{words:function(t){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this.node.appendChild(e.createTextNode(t)),this}}}),l.extend(l.Parent,{element:function(t,e){return this.put(new l.Bare(t,e))}}),l.Symbol=l.invent({create:\"symbol\",inherit:l.Container,construct:{symbol:function(){return this.put(new l.Symbol)}}}),l.Use=l.invent({create:\"use\",inherit:l.Shape,extend:{element:function(t,e){return this.attr(\"href\",(e||\"\")+\"#\"+t,l.xlink)}},construct:{use:function(t,e){return this.put(new l.Use).element(t,e)}}}),l.Rect=l.invent({create:\"rect\",inherit:l.Shape,construct:{rect:function(t,e){return this.put(new l.Rect).size(t,e)}}}),l.Circle=l.invent({create:\"circle\",inherit:l.Shape,construct:{circle:function(t){return this.put(new l.Circle).rx(new l.Number(t).divide(2)).move(0,0)}}}),l.extend(l.Circle,l.FX,{rx:function(t){return this.attr(\"r\",t)},ry:function(t){return this.rx(t)}}),l.Ellipse=l.invent({create:\"ellipse\",inherit:l.Shape,construct:{ellipse:function(t,e){return this.put(new l.Ellipse).size(t,e).move(0,0)}}}),l.extend(l.Ellipse,l.Rect,l.FX,{rx:function(t){return this.attr(\"rx\",t)},ry:function(t){return this.attr(\"ry\",t)}}),l.extend(l.Circle,l.Ellipse,{x:function(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())},y:function(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())},cx:function(t){return null==t?this.attr(\"cx\"):this.attr(\"cx\",t)},cy:function(t){return null==t?this.attr(\"cy\"):this.attr(\"cy\",t)},width:function(t){return null==t?2*this.rx():this.rx(new l.Number(t).divide(2))},height:function(t){return null==t?2*this.ry():this.ry(new l.Number(t).divide(2))},size:function(t,e){var n=f(this,t,e);return this.rx(new l.Number(n.width).divide(2)).ry(new l.Number(n.height).divide(2))}}),l.Line=l.invent({create:\"line\",inherit:l.Shape,extend:{array:function(){return new l.PointArray([[this.attr(\"x1\"),this.attr(\"y1\")],[this.attr(\"x2\"),this.attr(\"y2\")]])},plot:function(t,e,n,i){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:n,y2:i}:new l.PointArray(t).toLine(),this.attr(t))},move:function(t,e){return this.attr(this.array().move(t,e).toLine())},size:function(t,e){var l=f(this,t,e);return this.attr(this.array().size(l.width,l.height).toLine())}},construct:{line:function(t,e,n,i){return l.Line.prototype.plot.apply(this.put(new l.Line),null!=t?[t,e,n,i]:[0,0,0,0])}}}),l.Polyline=l.invent({create:\"polyline\",inherit:l.Shape,construct:{polyline:function(t){return this.put(new l.Polyline).plot(t||new l.PointArray)}}}),l.Polygon=l.invent({create:\"polygon\",inherit:l.Shape,construct:{polygon:function(t){return this.put(new l.Polygon).plot(t||new l.PointArray)}}}),l.extend(l.Polyline,l.Polygon,{array:function(){return this._array||(this._array=new l.PointArray(this.attr(\"points\")))},plot:function(t){return null==t?this.array():this.clear().attr(\"points\",\"string\"==typeof t?t:this._array=new l.PointArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr(\"points\",this.array().move(t,e))},size:function(t,e){var l=f(this,t,e);return this.attr(\"points\",this.array().size(l.width,l.height))}}),l.extend(l.Line,l.Polyline,l.Polygon,{morphArray:l.PointArray,x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},width:function(t){var e=this.bbox();return null==t?e.width:this.size(t,e.height)},height:function(t){var e=this.bbox();return null==t?e.height:this.size(e.width,t)}}),l.Path=l.invent({create:\"path\",inherit:l.Shape,extend:{morphArray:l.PathArray,array:function(){return this._array||(this._array=new l.PathArray(this.attr(\"d\")))},plot:function(t){return null==t?this.array():this.clear().attr(\"d\",\"string\"==typeof t?t:this._array=new l.PathArray(t))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr(\"d\",this.array().move(t,e))},x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)},size:function(t,e){var l=f(this,t,e);return this.attr(\"d\",this.array().size(l.width,l.height))},width:function(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)},height:function(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}},construct:{path:function(t){return this.put(new l.Path).plot(t||new l.PathArray)}}}),l.Image=l.invent({create:\"image\",inherit:l.Shape,extend:{load:function(e){if(!e)return this;var n=this,i=new t.Image;return l.on(i,\"load\",function(){l.off(i);var t=n.parent(l.Pattern);null!==t&&(0==n.width()&&0==n.height()&&n.size(i.width,i.height),t&&0==t.width()&&0==t.height()&&t.size(n.width(),n.height()),\"function\"==typeof n._loaded&&n._loaded.call(n,{width:i.width,height:i.height,ratio:i.width/i.height,url:e}))}),l.on(i,\"error\",function(t){l.off(i),\"function\"==typeof n._error&&n._error.call(n,t)}),this.attr(\"href\",i.src=this.src=e,l.xlink)},loaded:function(t){return this._loaded=t,this},error:function(t){return this._error=t,this}},construct:{image:function(t,e,n){return this.put(new l.Image).load(t).size(e||0,n||e||0)}}}),l.Text=l.invent({create:function(){this.constructor.call(this,l.create(\"text\")),this.dom.leading=new l.Number(1.3),this._rebuild=!0,this._build=!1,this.attr(\"font-family\",l.defaults.attrs[\"font-family\"])},inherit:l.Shape,extend:{x:function(t){return null==t?this.attr(\"x\"):this.attr(\"x\",t)},y:function(t){var e=this.attr(\"y\"),l=\"number\"==typeof e?e-this.bbox().y:0;return null==t?\"number\"==typeof e?e-l:e:this.attr(\"y\",\"number\"==typeof t.valueOf()?t+l:t)},cx:function(t){return null==t?this.bbox().cx:this.x(t-this.bbox().width/2)},cy:function(t){return null==t?this.bbox().cy:this.y(t-this.bbox().height/2)},text:function(t){if(void 0===t){t=\"\";for(var e=this.node.childNodes,n=0,i=e.length;n<i;++n)0!=n&&3!=e[n].nodeType&&1==l.adopt(e[n]).dom.newLined&&(t+=\"\\n\"),t+=e[n].textContent;return t}if(this.clear().build(!0),\"function\"==typeof t)t.call(this,this);else{t=t.split(\"\\n\"),n=0;for(var a=t.length;n<a;n++)this.tspan(t[n]).newLine()}return this.build(!1).rebuild()},size:function(t){return this.attr(\"font-size\",t).rebuild()},leading:function(t){return null==t?this.dom.leading:(this.dom.leading=new l.Number(t),this.rebuild())},lines:function(){var t=(this.textPath&&this.textPath()||this).node,e=l.utils.map(l.utils.filterSVGElements(t.childNodes),function(t){return l.adopt(t)});return new l.Set(e)},rebuild:function(t){if(\"boolean\"==typeof t&&(this._rebuild=t),this._rebuild){var e=this,n=0,i=this.dom.leading*new l.Number(this.attr(\"font-size\"));this.lines().each(function(){this.dom.newLined&&(e.textPath()||this.attr(\"x\",e.attr(\"x\")),\"\\n\"==this.text()?n+=i:(this.attr(\"dy\",i+n),n=0))}),this.fire(\"rebuild\")}return this},build:function(t){return this._build=!!t,this},setData:function(t){return this.dom=t,this.dom.leading=new l.Number(t.leading||1.3),this}},construct:{text:function(t){return this.put(new l.Text).text(t)},plain:function(t){return this.put(new l.Text).plain(t)}}}),l.Tspan=l.invent({create:\"tspan\",inherit:l.Shape,extend:{text:function(t){return null==t?this.node.textContent+(this.dom.newLined?\"\\n\":\"\"):(\"function\"==typeof t?t.call(this,this):this.plain(t),this)},dx:function(t){return this.attr(\"dx\",t)},dy:function(t){return this.attr(\"dy\",t)},newLine:function(){var t=this.parent(l.Text);return this.dom.newLined=!0,this.dy(t.dom.leading*t.attr(\"font-size\")).attr(\"x\",t.x())}}}),l.extend(l.Text,l.Tspan,{plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(e.createTextNode(t)),this},tspan:function(t){var e=(this.textPath&&this.textPath()||this).node,n=new l.Tspan;return!1===this._build&&this.clear(),e.appendChild(n.node),n.text(t)},clear:function(){for(var t=(this.textPath&&this.textPath()||this).node;t.hasChildNodes();)t.removeChild(t.lastChild);return this},length:function(){return this.node.getComputedTextLength()}}),l.TextPath=l.invent({create:\"textPath\",inherit:l.Parent,parent:l.Text,construct:{morphArray:l.PathArray,path:function(t){for(var e=new l.TextPath,n=this.doc().defs().path(t);this.node.hasChildNodes();)e.node.appendChild(this.node.firstChild);return this.node.appendChild(e.node),e.attr(\"href\",\"#\"+n,l.xlink),this},array:function(){var t=this.track();return t?t.array():null},plot:function(t){var e=this.track(),l=null;return e&&(l=e.plot(t)),null==t?l:this},track:function(){var t=this.textPath();if(t)return t.reference(\"href\")},textPath:function(){if(this.node.firstChild&&\"textPath\"==this.node.firstChild.nodeName)return l.adopt(this.node.firstChild)}}}),l.Nested=l.invent({create:function(){this.constructor.call(this,l.create(\"svg\")),this.style(\"overflow\",\"visible\")},inherit:l.Container,construct:{nested:function(){return this.put(new l.Nested)}}}),l.A=l.invent({create:\"a\",inherit:l.Container,extend:{to:function(t){return this.attr(\"href\",t,l.xlink)},show:function(t){return this.attr(\"show\",t,l.xlink)},target:function(t){return this.attr(\"target\",t)}},construct:{link:function(t){return this.put(new l.A).to(t)}}}),l.extend(l.Element,{linkTo:function(t){var e=new l.A;return\"function\"==typeof t?t.call(e,e):e.to(t),this.parent().put(e).put(this)}}),l.Marker=l.invent({create:\"marker\",inherit:l.Container,extend:{width:function(t){return this.attr(\"markerWidth\",t)},height:function(t){return this.attr(\"markerHeight\",t)},ref:function(t,e){return this.attr(\"refX\",t).attr(\"refY\",e)},update:function(t){return this.clear(),\"function\"==typeof t&&t.call(this,this),this},toString:function(){return\"url(#\"+this.id()+\")\"}},construct:{marker:function(t,e,l){return this.defs().marker(t,e,l)}}}),l.extend(l.Defs,{marker:function(t,e,n){return this.put(new l.Marker).size(t,e).ref(t/2,e/2).viewbox(0,0,t,e).attr(\"orient\",\"auto\").update(n)}}),l.extend(l.Line,l.Polyline,l.Polygon,l.Path,{marker:function(t,e,n,i){var a=[\"marker\"];return\"all\"!=t&&a.push(t),a=a.join(\"-\"),t=e instanceof l.Marker?e:this.doc().marker(e,n,i),this.attr(a,t)}});var s={stroke:[\"color\",\"width\",\"opacity\",\"linecap\",\"linejoin\",\"miterlimit\",\"dasharray\",\"dashoffset\"],fill:[\"color\",\"opacity\",\"rule\"],prefix:function(t,e){return\"color\"==e?t:t+\"-\"+e}};function c(t,e,n,i){return n+i.replace(l.regex.dots,\" .\")}function u(t){return t.toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()})}function d(t){return t.charAt(0).toUpperCase()+t.slice(1)}function h(t){var e=t.toString(16);return 1==e.length?\"0\"+e:e}function f(t,e,l){if(null==e||null==l){var n=t.bbox();null==e?e=n.width/n.height*l:null==l&&(l=n.height/n.width*e)}return{width:e,height:l}}function p(t,e,l){return{x:e*t.a+l*t.c+0,y:e*t.b+l*t.d+0}}function g(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}function m(t,e){t.cx=null==t.cx?e.bbox().cx:t.cx,t.cy=null==t.cy?e.bbox().cy:t.cy}function b(e){for(var n=e.childNodes.length-1;0<=n;n--)e.childNodes[n]instanceof t.SVGElement&&b(e.childNodes[n]);return l.adopt(e).id(l.eid(e.nodeName))}function v(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function y(t){return 1e-37<Math.abs(t)?t:0}[\"fill\",\"stroke\"].forEach(function(t){var e,n={};n[t]=function(n){if(void 0===n)return this;if(\"string\"==typeof n||l.Color.isRgb(n)||n&&\"function\"==typeof n.fill)this.attr(t,n);else for(e=s[t].length-1;0<=e;e--)null!=n[s[t][e]]&&this.attr(s.prefix(t,s[t][e]),n[s[t][e]]);return this},l.extend(l.Element,l.FX,n)}),l.extend(l.Element,l.FX,{rotate:function(t,e,l){return this.transform({rotation:t,cx:e,cy:l})},skew:function(t,e,l,n){return 1==arguments.length||3==arguments.length?this.transform({skew:t,cx:e,cy:l}):this.transform({skewX:t,skewY:e,cx:l,cy:n})},scale:function(t,e,l,n){return 1==arguments.length||3==arguments.length?this.transform({scale:t,cx:e,cy:l}):this.transform({scaleX:t,scaleY:e,cx:l,cy:n})},translate:function(t,e){return this.transform({x:t,y:e})},flip:function(t,e){return e=\"number\"==typeof t?t:e,this.transform({flip:t||\"both\",offset:e})},matrix:function(t){return this.attr(\"transform\",new l.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new l.Number(t).plus(this instanceof l.FX?0:this.x()),!0)},dy:function(t){return this.y(new l.Number(t).plus(this instanceof l.FX?0:this.y()),!0)},dmove:function(t,e){return this.dx(t).dy(e)}}),l.extend(l.Rect,l.Ellipse,l.Circle,l.Gradient,l.FX,{radius:function(t,e){var n=(this._target||this).type;return\"radial\"==n||\"circle\"==n?this.attr(\"r\",new l.Number(t)):this.rx(t).ry(null==e?t:e)}}),l.extend(l.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),l.extend(l.Parent,l.Text,l.Tspan,l.FX,{font:function(t,e){if(\"object\"===(void 0===t?\"undefined\":r(t)))for(e in t)this.font(e,t[e]);return\"leading\"==t?this.leading(e):\"anchor\"==t?this.attr(\"text-anchor\",e):\"size\"==t||\"family\"==t||\"weight\"==t||\"stretch\"==t||\"variant\"==t||\"style\"==t?this.attr(\"font-\"+t,e):this.attr(t,e)}}),l.Set=l.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){var t,e,l=[].slice.call(arguments);for(t=0,e=l.length;t<e;t++)this.members.push(l[t]);return this},remove:function(t){var e=this.index(t);return-1<e&&this.members.splice(e,1),this},each:function(t){for(var e=0,l=this.members.length;e<l;e++)t.apply(this.members[e],[e,this.members]);return this},clear:function(){return this.members=[],this},length:function(){return this.members.length},has:function(t){return 0<=this.index(t)},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members},bbox:function(){if(0==this.members.length)return new l.RBox;var t=this.members[0].rbox(this.members[0].doc());return this.each(function(){t=t.merge(this.rbox(this.doc()))}),t}},construct:{set:function(t){return new l.Set(t)}}}),l.FX.Set=l.invent({create:function(t){this.set=t}}),l.Set.inherit=function(){var t=[];for(var e in l.Shape.prototype)\"function\"==typeof l.Shape.prototype[e]&&\"function\"!=typeof l.Set.prototype[e]&&t.push(e);for(var e in t.forEach(function(t){l.Set.prototype[t]=function(){for(var e=0,n=this.members.length;e<n;e++)this.members[e]&&\"function\"==typeof this.members[e][t]&&this.members[e][t].apply(this.members[e],arguments);return\"animate\"==t?this.fx||(this.fx=new l.FX.Set(this)):this}}),t=[],l.FX.prototype)\"function\"==typeof l.FX.prototype[e]&&\"function\"!=typeof l.FX.Set.prototype[e]&&t.push(e);t.forEach(function(t){l.FX.Set.prototype[t]=function(){for(var e=0,l=this.set.members.length;e<l;e++)this.set.members[e].fx[t].apply(this.set.members[e].fx,arguments);return this}})},l.extend(l.Element,{data:function(t,e,l){if(\"object\"===(void 0===t?\"undefined\":r(t)))for(e in t)this.data(e,t[e]);else if(arguments.length<2)try{return JSON.parse(this.attr(\"data-\"+t))}catch(e){return this.attr(\"data-\"+t)}else this.attr(\"data-\"+t,null===e?null:!0===l||\"string\"==typeof e||\"number\"==typeof e?e:JSON.stringify(e));return this}}),l.extend(l.Element,{remember:function(t,e){if(\"object\"===r(t))for(var e in t)this.remember(e,t[e]);else{if(1==arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0==arguments.length)this._memory={};else for(var t=arguments.length-1;0<=t;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),l.get=function(t){var n=e.getElementById(function(t){var e=(t||\"\").toString().match(l.regex.reference);if(e)return e[1]}(t)||t);return l.adopt(n)},l.select=function(t,n){return new l.Set(l.utils.map((n||e).querySelectorAll(t),function(t){return l.adopt(t)}))},l.extend(l.Parent,{select:function(t){return l.select(t,this.node)}});var x=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var _=function(t,l){l=l||{bubbles:!1,cancelable:!1,detail:void 0};var n=e.createEvent(\"CustomEvent\");return n.initCustomEvent(t,l.bubbles,l.cancelable,l.detail),n};_.prototype=t.Event.prototype,l.CustomEvent=_}else l.CustomEvent=t.CustomEvent;return function(e){for(var l=0,n=[\"moz\",\"webkit\"],i=0;i<n.length&&!t.requestAnimationFrame;++i)e.requestAnimationFrame=e[n[i]+\"RequestAnimationFrame\"],e.cancelAnimationFrame=e[n[i]+\"CancelAnimationFrame\"]||e[n[i]+\"CancelRequestAnimationFrame\"];e.requestAnimationFrame=e.requestAnimationFrame||function(t){var n=(new Date).getTime(),i=Math.max(0,16-(n-l)),a=e.setTimeout(function(){t(n+i)},i);return l=n+i,a},e.cancelAnimationFrame=e.cancelAnimationFrame||e.clearTimeout}(t),l},void 0===(n=function(){return a(i,i.document)}.call(e,l,e,t))||(t.exports=n)},function(t,e,l){\"use strict\";\"document\"in self&&(\"classList\"in document.createElement(\"_\")&&(!document.createElementNS||\"classList\"in document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\"))||function(t){if(\"Element\"in t){var e=\"classList\",l=\"prototype\",n=t.Element[l],i=Object,a=String[l].trim||function(){return this.replace(/^\\s+|\\s+$/g,\"\")},r=Array[l].indexOf||function(t){for(var e=0,l=this.length;e<l;e++)if(e in this&&this[e]===t)return e;return-1},o=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},s=function(t,e){if(\"\"===e)throw new o(\"SYNTAX_ERR\",\"The token must not be empty.\");if(/\\s/.test(e))throw new o(\"INVALID_CHARACTER_ERR\",\"The token must not contain space characters.\");return r.call(t,e)},c=function(t){for(var e=a.call(t.getAttribute(\"class\")||\"\"),l=e?e.split(/\\s+/):[],n=0,i=l.length;n<i;n++)this.push(l[n]);this._updateClassName=function(){t.setAttribute(\"class\",this.toString())}},u=c[l]=[],d=function(){return new c(this)};if(o[l]=Error[l],u.item=function(t){return this[t]||null},u.contains=function(t){return~s(this,t+\"\")},u.add=function(){for(var t,e=arguments,l=0,n=e.length,i=!1;t=e[l]+\"\",~s(this,t)||(this.push(t),i=!0),++l<n;);i&&this._updateClassName()},u.remove=function(){var t,e,l=arguments,n=0,i=l.length,a=!1;do{for(t=l[n]+\"\",e=s(this,t);~e;)this.splice(e,1),a=!0,e=s(this,t)}while(++n<i);a&&this._updateClassName()},u.toggle=function(t,e){var l=this.contains(t),n=l?!0!==e&&\"remove\":!1!==e&&\"add\";return n&&this[n](t),!0===e||!1===e?e:!l},u.replace=function(t,e){var l=s(t+\"\");~l&&(this.splice(l,1,e),this._updateClassName())},u.toString=function(){return this.join(\" \")},i.defineProperty){var h={get:d,enumerable:!0,configurable:!0};try{i.defineProperty(n,e,h)}catch(t){void 0!==t.number&&-2146823252!==t.number||(h.enumerable=!1,i.defineProperty(n,e,h))}}else i[l].__defineGetter__&&n.__defineGetter__(e,d)}}(self),function(){var t=document.createElement(\"_\");if(t.classList.add(\"c1\",\"c2\"),!t.classList.contains(\"c2\")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var l,n=arguments.length;for(l=0;l<n;l++)t=arguments[l],e.call(this,t)}};e(\"add\"),e(\"remove\")}if(t.classList.toggle(\"c3\",!1),t.classList.contains(\"c3\")){var l=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:l.call(this,t)}}\"replace\"in document.createElement(\"_\").classList||(DOMTokenList.prototype.replace=function(t,e){var l=this.toString().split(\" \"),n=l.indexOf(t+\"\");~n&&(l=l.slice(n),this.remove.apply(this,l),this.add(e),this.add.apply(this,l.slice(1)))}),t=null}())},function(t,e,l){\"use strict\";!function(){var t=!1;function e(t){var e=t.__resizeTriggers__,l=e.firstElementChild,n=e.lastElementChild,i=l.firstElementChild;n.scrollLeft=n.scrollWidth,n.scrollTop=n.scrollHeight,i.style.width=l.offsetWidth+1+\"px\",i.style.height=l.offsetHeight+1+\"px\",l.scrollLeft=l.scrollWidth,l.scrollTop=l.scrollHeight}function l(t){var l=this;e(this),this.__resizeRAF__&&r(this.__resizeRAF__),this.__resizeRAF__=a(function(){var e;((e=l).offsetWidth!=e.__resizeLast__.width||e.offsetHeight!=e.__resizeLast__.height)&&(l.__resizeLast__.width=l.offsetWidth,l.__resizeLast__.height=l.offsetHeight,l.__resizeListeners__.forEach(function(e){e.call(t)}))})}var n,i,a=(n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){return window.setTimeout(t,20)},function(t){return n(t)}),r=(i=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout,function(t){return i(t)}),o=!1,s=\"\",c=\"animationstart\",u=\"Webkit Moz O ms\".split(\" \"),d=\"webkitAnimationStart animationstart oAnimationStart MSAnimationStart\".split(\" \"),h=document.createElement(\"fakeelement\");if(void 0!==h.style.animationName&&(o=!0),!1===o)for(var f=0;f<u.length;f++)if(void 0!==h.style[u[f]+\"AnimationName\"]){s=\"-\"+u[f].toLowerCase()+\"-\",c=d[f];break}var p=\"resizeanim\",g=\"@\"+s+\"keyframes \"+p+\" { from { opacity: 0; } to { opacity: 0; } } \",m=s+\"animation: 1ms \"+p+\"; \";window.addResizeListener=function(n,i){n.__resizeTriggers__||(\"static\"==getComputedStyle(n).position&&(n.style.position=\"relative\"),function(){if(!t){var e=(g||\"\")+\".resize-triggers { \"+(m||\"\")+'visibility: hidden; opacity: 0; } .resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',l=document.head||document.getElementsByTagName(\"head\")[0],n=document.createElement(\"style\");n.type=\"text/css\",n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e)),l.appendChild(n),t=!0}}(),n.__resizeLast__={},n.__resizeListeners__=[],(n.__resizeTriggers__=document.createElement(\"div\")).className=\"resize-triggers\",n.__resizeTriggers__.innerHTML='<div class=\"expand-trigger\"><div></div></div><div class=\"contract-trigger\"></div>',n.appendChild(n.__resizeTriggers__),e(n),n.addEventListener(\"scroll\",l,!0),c&&n.__resizeTriggers__.addEventListener(c,function(t){t.animationName==p&&e(n)})),n.__resizeListeners__.push(i)},window.removeResizeListener=function(t,e){t.__resizeListeners__.splice(t.__resizeListeners__.indexOf(e),1),t.__resizeListeners__.length||(t.removeEventListener(\"scroll\",l),t.__resizeTriggers__=!t.removeChild(t.__resizeTriggers__))}}()},function(t,e,l){(t.exports=l(126)(!1)).push([t.i,'.apexcharts-canvas {\\n  position: relative;\\n  user-select: none;\\n  /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\\n}\\n\\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\\n.apexcharts-canvas ::-webkit-scrollbar {\\n  -webkit-appearance: none;\\n  width: 6px;\\n}\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n  border-radius: 4px;\\n  background-color: rgba(0,0,0,.5);\\n  box-shadow: 0 0 1px rgba(255,255,255,.5);\\n  -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);\\n}\\n\\n.apexcharts-inner {\\n  position: relative;\\n}\\n\\n.legend-mouseover-inactive {\\n  transition: 0.15s ease all;\\n  opacity: 0.20;\\n}\\n\\n.apexcharts-series-collapsed {\\n  opacity: 0;\\n}\\n\\n.apexcharts-gridline, .apexcharts-text {\\n  pointer-events: none;\\n}\\n\\n.apexcharts-tooltip {\\n  border-radius: 5px;\\n  box-shadow: 2px 2px 6px -4px #999;\\n  cursor: default;\\n  font-size: 14px;\\n  left: 62px;\\n  opacity: 0;\\n  pointer-events: none;\\n  position: absolute;\\n  top: 20px;\\n  overflow: hidden;\\n  white-space: nowrap;\\n  z-index: 12;\\n  transition: 0.15s ease all;\\n}\\n.apexcharts-tooltip.light {\\n  border: 1px solid #e3e3e3;\\n  background: rgba(255, 255, 255, 0.96);\\n}\\n.apexcharts-tooltip.dark {\\n  color: #fff;\\n  background: rgba(30,30,30, 0.8);\\n}\\n\\n.apexcharts-tooltip .apexcharts-marker,\\n.apexcharts-area-series .apexcharts-area,\\n.apexcharts-line {\\n  pointer-events: none;\\n}\\n\\n.apexcharts-tooltip.active {\\n  opacity: 1;\\n  transition: 0.15s ease all;\\n}\\n\\n.apexcharts-tooltip-title {\\n  padding: 6px;\\n  font-size: 15px;\\n  margin-bottom: 4px;\\n}\\n.apexcharts-tooltip.light .apexcharts-tooltip-title {\\n  background: #ECEFF1;\\n  border-bottom: 1px solid #ddd;\\n}\\n.apexcharts-tooltip.dark .apexcharts-tooltip-title {\\n  background: rgba(0, 0, 0, 0.7);\\n  border-bottom: 1px solid #222;\\n}\\n\\n.apexcharts-tooltip-text-value,\\n.apexcharts-tooltip-text-z-value {\\n  display: inline-block;\\n  font-weight: 600;\\n  margin-left: 5px;\\n}\\n\\n.apexcharts-tooltip-text-z-label:empty,\\n.apexcharts-tooltip-text-z-value:empty {\\n  display: none;\\n}\\n\\n.apexcharts-tooltip-text-value, \\n.apexcharts-tooltip-text-z-value {\\n  font-weight: 600;\\n}\\n\\n.apexcharts-tooltip-marker {\\n  width: 12px;\\n  height: 12px;\\n  position: relative;\\n  top: 1px;\\n  margin-right: 10px;\\n  border-radius: 50%;\\n}\\n\\n.apexcharts-tooltip-series-group {\\n  padding: 0 10px;\\n  display: none;\\n  text-align: left;\\n  justify-content: left;\\n  align-items: center;\\n}\\n\\n.apexcharts-tooltip-series-group.active .apexcharts-tooltip-marker {\\n  opacity: 1;\\n}\\n.apexcharts-tooltip-series-group.active, .apexcharts-tooltip-series-group:last-child {\\n  padding-bottom: 4px;\\n}\\n.apexcharts-tooltip-y-group {\\n  padding: 6px 0 5px;\\n}\\n.apexcharts-tooltip-candlestick {\\n  padding: 4px 8px;\\n}\\n.apexcharts-tooltip-candlestick > div {\\n  margin: 4px 0;\\n}\\n.apexcharts-tooltip-candlestick span.value {\\n  font-weight: bold;\\n}\\n\\n.apexcharts-xaxistooltip {\\n  opacity: 0;\\n  padding: 9px 10px;\\n  pointer-events: none;\\n  color: #373d3f;\\n  font-size: 13px;\\n  text-align: center;\\n  border-radius: 2px;\\n  position: absolute;\\n  z-index: 10;\\n\\tbackground: #ECEFF1;\\n  border: 1px solid #90A4AE;\\n  transition: 0.15s ease all;\\n}\\n\\n.apexcharts-xaxistooltip:after, .apexcharts-xaxistooltip:before {\\n\\tleft: 50%;\\n\\tborder: solid transparent;\\n\\tcontent: \" \";\\n\\theight: 0;\\n\\twidth: 0;\\n\\tposition: absolute;\\n\\tpointer-events: none;\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n\\tborder-color: rgba(236, 239, 241, 0);\\n\\tborder-width: 6px;\\n\\tmargin-left: -6px;\\n}\\n.apexcharts-xaxistooltip:before {\\n\\tborder-color: rgba(144, 164, 174, 0);\\n\\tborder-width: 7px;\\n\\tmargin-left: -7px;\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after, .apexcharts-xaxistooltip-bottom:before {\\n  bottom: 100%;\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n  border-bottom-color: #ECEFF1;\\n}\\n.apexcharts-xaxistooltip-bottom:before {\\n  border-bottom-color: #90A4AE;\\n}\\n\\n.apexcharts-xaxistooltip-top:after, .apexcharts-xaxistooltip-top:before {\\n  top: 100%;\\n}\\n.apexcharts-xaxistooltip-top:after {\\n  border-top-color: #ECEFF1;\\n}\\n.apexcharts-xaxistooltip-top:before {\\n  border-top-color: #90A4AE;\\n}\\n\\n.apexcharts-xaxistooltip.active {\\n  opacity: 1;\\n  transition: 0.15s ease all;\\n}\\n\\n.apexcharts-yaxistooltip {\\n  opacity: 0;\\n  padding: 4px 10px;\\n  pointer-events: none;\\n  color: #373d3f;\\n  font-size: 13px;\\n  text-align: center;\\n  border-radius: 2px;\\n  position: absolute;\\n  z-index: 10;\\n\\tbackground: #ECEFF1;\\n  border: 1px solid #90A4AE;\\n}\\n\\n.apexcharts-yaxistooltip:after, .apexcharts-yaxistooltip:before {\\n\\ttop: 50%;\\n\\tborder: solid transparent;\\n\\tcontent: \" \";\\n\\theight: 0;\\n\\twidth: 0;\\n\\tposition: absolute;\\n\\tpointer-events: none;\\n}\\n.apexcharts-yaxistooltip:after {\\n\\tborder-color: rgba(236, 239, 241, 0);\\n\\tborder-width: 6px;\\n\\tmargin-top: -6px;\\n}\\n.apexcharts-yaxistooltip:before {\\n\\tborder-color: rgba(144, 164, 174, 0);\\n\\tborder-width: 7px;\\n\\tmargin-top: -7px;\\n}\\n\\n.apexcharts-yaxistooltip-left:after, .apexcharts-yaxistooltip-left:before {\\n  left: 100%;\\n}\\n.apexcharts-yaxistooltip-left:after {\\n  border-left-color: #ECEFF1;\\n}\\n.apexcharts-yaxistooltip-left:before {\\n  border-left-color: #90A4AE;\\n}\\n\\n.apexcharts-yaxistooltip-right:after, .apexcharts-yaxistooltip-right:before {\\n  right: 100%;\\n}\\n.apexcharts-yaxistooltip-right:after {\\n  border-right-color: #ECEFF1;\\n}\\n.apexcharts-yaxistooltip-right:before {\\n  border-right-color: #90A4AE;\\n}\\n\\n.apexcharts-yaxistooltip.active {\\n  opacity: 1;\\n}\\n\\n.apexcharts-xcrosshairs, .apexcharts-ycrosshairs {\\n  pointer-events: none;\\n  opacity: 0;\\n  transition: 0.15s ease all;\\n}\\n\\n.apexcharts-xcrosshairs.active, .apexcharts-ycrosshairs.active {\\n  opacity: 1;\\n  transition: 0.15s ease all;\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n  opacity: 0;\\n}\\n\\n.apexcharts-zoom-rect {\\n  pointer-events: none;\\n}\\n.apexcharts-selection-rect {\\n  cursor: move;\\n}\\n\\n.svg_select_points, .svg_select_points_rot {\\n  opacity: 0;\\n  visibility: hidden;\\n}\\n.svg_select_points_l, .svg_select_points_r {\\n  cursor: ew-resize;\\n  opacity: 1;\\n  visibility: visible;\\n  fill: #888;\\n}\\n.apexcharts-canvas.zoomable .hovering-zoom {\\n  cursor: crosshair\\n}\\n.apexcharts-canvas.zoomable .hovering-pan {\\n  cursor: move\\n}\\n\\n.apexcharts-xaxis,\\n.apexcharts-yaxis {\\n  pointer-events: none;\\n}\\n\\n.apexcharts-zoom-icon, \\n.apexcharts-zoom-in-icon,\\n.apexcharts-zoom-out-icon,\\n.apexcharts-reset-zoom-icon, \\n.apexcharts-pan-icon, \\n.apexcharts-selection-icon,\\n.apexcharts-menu-icon {\\n  cursor: pointer;\\n  width: 20px;\\n  height: 20px;\\n  text-align: center;\\n}\\n\\n\\n.apexcharts-zoom-icon svg, \\n.apexcharts-zoom-in-icon svg,\\n.apexcharts-zoom-out-icon svg,\\n.apexcharts-reset-zoom-icon svg,\\n.apexcharts-menu-icon svg {\\n  fill: #6E8192;\\n}\\n.apexcharts-selection-icon svg {\\n  fill: #444;\\n  transform: scale(0.86)\\n}\\n.apexcharts-zoom-icon.selected svg, \\n.apexcharts-selection-icon.selected svg, \\n.apexcharts-reset-zoom-icon.selected svg {\\n  fill: #008FFB;\\n}\\n.apexcharts-selection-icon:not(.selected):hover svg,\\n.apexcharts-zoom-icon:not(.selected):hover svg, \\n.apexcharts-zoom-in-icon:hover svg, \\n.apexcharts-zoom-out-icon:hover svg, \\n.apexcharts-reset-zoom-icon:hover svg, \\n.apexcharts-menu-icon:hover svg {\\n  fill: #333;\\n}\\n\\n.apexcharts-selection-icon, .apexcharts-menu-icon {\\n  margin-right: 3px;\\n  margin-left: 5px;\\n  position: relative;\\n  top: 1px;\\n}\\n.apexcharts-reset-zoom-icon {\\n  margin-left: 7px;\\n}\\n.apexcharts-zoom-icon {\\n  transform: scale(1);\\n}\\n\\n.apexcharts-zoom-in-icon, .apexcharts-zoom-out-icon {\\n  transform: scale(0.8)\\n}\\n\\n.apexcharts-zoom-out-icon {\\n  margin-right: 3px;\\n}\\n\\n.apexcharts-pan-icon {\\n  transform: scale(0.72);\\n  position: relative;\\n  left: 1px;\\n  top: 0px;\\n}\\n.apexcharts-pan-icon svg {\\n  fill: #fff;\\n  stroke: #6E8192;\\n  stroke-width: 2;\\n}\\n.apexcharts-pan-icon.selected svg {\\n  stroke: #008FFB;\\n}\\n.apexcharts-pan-icon:not(.selected):hover svg {\\n  stroke: #333;\\n}\\n\\n.apexcharts-toolbar {\\n  position: absolute;\\n  z-index: 11;\\n  top: 0px;\\n  right: 3px;\\n  max-width: 176px;\\n  text-align: right;\\n  border-radius: 3px;\\n  padding: 5px 6px 2px 6px;\\n  display: flex;\\n  justify-content: space-between;\\n  align-items: center; \\n}\\n\\n.apexcharts-toolbar svg {\\n  pointer-events: none;\\n}\\n\\n.apexcharts-menu {\\n  background: #fff;\\n  position: absolute;\\n  top: 100%;\\n  border: 1px solid #ddd;\\n  border-radius: 3px;\\n  padding: 3px;\\n  right: 10px;\\n  opacity: 0;\\n  min-width: 110px;\\n  transition: 0.15s ease all;\\n  pointer-events: none;\\n}\\n\\n.apexcharts-menu.open {\\n  opacity: 1;\\n  pointer-events: all;\\n  transition: 0.15s ease all;\\n}\\n\\n.apexcharts-menu-item {\\n  padding: 6px 7px;\\n  font-size: 12px;\\n  cursor: pointer;\\n}\\n.apexcharts-menu-item:hover {\\n  background: #eee;\\n}\\n\\n@media screen and (min-width: 768px) {\\n  .apexcharts-toolbar {\\n    /*opacity: 0;*/\\n  }\\n\\n  .apexcharts-canvas:hover .apexcharts-toolbar {\\n    opacity: 1;\\n  } \\n}\\n\\n.apexcharts-datalabel.hidden {\\n  opacity: 0;\\n}\\n\\n.apexcharts-pie-label,\\n.apexcharts-datalabel, .apexcharts-datalabel-label, .apexcharts-datalabel-value {\\n  cursor: default;\\n  pointer-events: none;\\n}\\n\\n.apexcharts-pie-label-delay {\\n  opacity: 0;\\n  animation-name: opaque;\\n  animation-duration: 0.3s;\\n  animation-fill-mode: forwards;\\n  animation-timing-function: ease;\\n}\\n\\n.apexcharts-canvas .hidden {\\n  opacity: 0;\\n}\\n\\n.apexcharts-hide .apexcharts-series-points {\\n  opacity: 0;\\n}\\n\\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events {\\n  pointer-events: none;\\n}\\n\\n\\n/* markers */\\n\\n.apexcharts-marker {\\n  transition: 0.15s ease all;\\n}\\n\\n@keyframes opaque {\\n  0% {\\n    opacity: 0;\\n  }\\n  100% {\\n    opacity: 1;\\n  }\\n}',\"\"])},function(t,e,l){var n=l(158);\"string\"==typeof n&&(n=[[t.i,n,\"\"]]),l(160)(n,{hmr:!0,transform:void 0,insertInto:void 0}),n.locals&&(t.exports=n.locals)},function(t,e,l){var n,i,a,r={},o=(n=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===i&&(i=n.apply(this,arguments)),i}),s=(a={},function(t){if(\"function\"==typeof t)return t();if(void 0===a[t]){var e=function(t){return document.querySelector(t)}.call(this,t);if(window.HTMLIFrameElement&&e instanceof window.HTMLIFrameElement)try{e=e.contentDocument.head}catch(t){e=null}a[t]=e}return a[t]}),c=null,u=0,d=[],h=l(149);function f(t,e){for(var l=0;l<t.length;l++){var n=t[l],i=r[n.id];if(i){i.refs++;for(var a=0;a<i.parts.length;a++)i.parts[a](n.parts[a]);for(;a<n.parts.length;a++)i.parts.push(y(n.parts[a],e))}else{var o=[];for(a=0;a<n.parts.length;a++)o.push(y(n.parts[a],e));r[n.id]={id:n.id,refs:1,parts:o}}}}function p(t,e){for(var l=[],n={},i=0;i<t.length;i++){var a=t[i],r=e.base?a[0]+e.base:a[0],o={css:a[1],media:a[2],sourceMap:a[3]};n[r]?n[r].parts.push(o):l.push(n[r]={id:r,parts:[o]})}return l}function g(t,e){var l=s(t.insertInto);if(!l)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.\");var n=d[d.length-1];if(\"top\"===t.insertAt)n?n.nextSibling?l.insertBefore(e,n.nextSibling):l.appendChild(e):l.insertBefore(e,l.firstChild),d.push(e);else if(\"bottom\"===t.insertAt)l.appendChild(e);else{if(\"object\"!=typeof t.insertAt||!t.insertAt.before)throw new Error(\"[Style Loader]\\n\\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\\n Must be 'top', 'bottom', or Object.\\n (https://github.com/webpack-contrib/style-loader#insertat)\\n\");var i=s(t.insertInto+\" \"+t.insertAt.before);l.insertBefore(e,i)}}function m(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t);var e=d.indexOf(t);0<=e&&d.splice(e,1)}function b(t){var e=document.createElement(\"style\");return t.attrs.type=\"text/css\",v(e,t.attrs),g(t,e),e}function v(t,e){Object.keys(e).forEach(function(l){t.setAttribute(l,e[l])})}function y(t,e){var l,n,i,a,r,o;if(e.transform&&t.css){if(!(a=e.transform(t.css)))return function(){};t.css=a}if(e.singleton){var s=u++;l=c||(c=b(e)),n=w.bind(null,l,s,!1),i=w.bind(null,l,s,!0)}else i=t.sourceMap&&\"function\"==typeof URL&&\"function\"==typeof URL.createObjectURL&&\"function\"==typeof URL.revokeObjectURL&&\"function\"==typeof Blob&&\"function\"==typeof btoa?(r=e,o=document.createElement(\"link\"),r.attrs.type=\"text/css\",r.attrs.rel=\"stylesheet\",v(o,r.attrs),g(r,o),n=function(t,e,l){var n=l.css,i=l.sourceMap,a=void 0===e.convertToAbsoluteUrls&&i;(e.convertToAbsoluteUrls||a)&&(n=h(n)),i&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(i))))+\" */\");var r=new Blob([n],{type:\"text/css\"}),o=t.href;t.href=URL.createObjectURL(r),o&&URL.revokeObjectURL(o)}.bind(null,l=o,e),function(){m(l),l.href&&URL.revokeObjectURL(l.href)}):(l=b(e),n=function(t,e){var l=e.css,n=e.media;if(n&&t.setAttribute(\"media\",n),t.styleSheet)t.styleSheet.cssText=l;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(l))}}.bind(null,l),function(){m(l)});return n(t),function(e){if(e){if(e.css===t.css&&e.media===t.media&&e.sourceMap===t.sourceMap)return;n(t=e)}else i()}}t.exports=function(t,e){if(\"undefined\"!=typeof DEBUG&&DEBUG&&\"object\"!=typeof document)throw new Error(\"The style-loader cannot be used in a non-browser environment\");(e=e||{}).attrs=\"object\"==typeof e.attrs?e.attrs:{},e.singleton||\"boolean\"==typeof e.singleton||(e.singleton=o()),e.insertInto||(e.insertInto=\"head\"),e.insertAt||(e.insertAt=\"bottom\");var l=p(t,e);return f(l,e),function(t){for(var n=[],i=0;i<l.length;i++){var a=l[i];(o=r[a.id]).refs--,n.push(o)}for(t&&f(p(t,e),e),i=0;i<n.length;i++){var o;if(0===(o=n[i]).refs){for(var s=0;s<o.parts.length;s++)o.parts[s]();delete r[o.id]}}}};var x,_=(x=[],function(t,e){return x[t]=e,x.filter(Boolean).join(\"\\n\")});function w(t,e,l,n){var i=l?\"\":n.css;if(t.styleSheet)t.styleSheet.cssText=_(e,i);else{var a=document.createTextNode(i),r=t.childNodes;r[e]&&t.removeChild(r[e]),r.length?t.insertBefore(a,r[e]):t.appendChild(a)}}},function(t,e){t.exports='<svg fill=\"#000000\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z\"></path><path d=\"M0 0h24v24H0z\" fill=\"none\"></path></svg>'},function(t,e){t.exports='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path fill=\"none\" d=\"M0 0h24v24H0V0z\"></path><path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\"></path></svg>'},function(t,e){t.exports='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"></path></svg>'},function(t,e){t.exports='<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" fill=\"#000000\" viewBox=\"0 0 24 24\"><defs><path d=\"M0 0h24v24H0z\" id=\"a\"></path></defs><clipPath id=\"b\"><use overflow=\"visible\" xlink:href=\"#a\"></use></clipPath><path clip-path=\"url(#b)\" d=\"M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08 0-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z\"></path></svg>'},function(t,e){t.exports='<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z\"></path></svg>'},function(t,e){t.exports='<svg fill=\"#6E8192\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M0 0h24v24H0z\" fill=\"none\"></path><path d=\"M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z\"></path></svg>'},function(t,e){t.exports='<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"#000000\" viewBox=\"0 0 24 24\"><path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\"></path><path d=\"M0 0h24v24H0V0z\" fill=\"none\"></path><path d=\"M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z\"></path></svg>'},function(t,e,l){l(88),l(86),l(87),l(85),l(84),l(89),t.exports=l(90)}])},function(t,e,l){e.markdown=l(77),e.parse=e.markdown.toHTML},function(t,e,l){\"use strict\";(function(t){l(55);t('[data-toggle=\"popover\"]').popover(),t('[data-toggle=\"tooltip\"]').tooltip()}).call(this,l(1))},function(t,e,l){\n/*!\n  * Bootstrap v4.3.1 (https://getbootstrap.com/)\n  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n  */\n!function(t,e,l){\"use strict\";function n(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function i(t,e,l){return e&&n(t.prototype,e),l&&n(t,l),t}function a(t,e,l){return e in t?Object.defineProperty(t,e,{value:l,enumerable:!0,configurable:!0,writable:!0}):t[e]=l,t}function r(t){for(var e=1;e<arguments.length;e++){var l=null!=arguments[e]?arguments[e]:{},n=Object.keys(l);\"function\"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(l).filter(function(t){return Object.getOwnPropertyDescriptor(l,t).enumerable}))),n.forEach(function(e){a(t,e,l[e])})}return t}e=e&&e.hasOwnProperty(\"default\")?e.default:e,l=l&&l.hasOwnProperty(\"default\")?l.default:l;var o=\"transitionend\";function s(t){var l=this,n=!1;return e(this).one(c.TRANSITION_END,function(){n=!0}),setTimeout(function(){n||c.triggerTransitionEnd(l)},t),this}var c={TRANSITION_END:\"bsTransitionEnd\",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(t){var e=t.getAttribute(\"data-target\");if(!e||\"#\"===e){var l=t.getAttribute(\"href\");e=l&&\"#\"!==l?l.trim():\"\"}try{return document.querySelector(e)?e:null}catch(t){return null}},getTransitionDurationFromElement:function(t){if(!t)return 0;var l=e(t).css(\"transition-duration\"),n=e(t).css(\"transition-delay\"),i=parseFloat(l),a=parseFloat(n);return i||a?(l=l.split(\",\")[0],n=n.split(\",\")[0],1e3*(parseFloat(l)+parseFloat(n))):0},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(t){e(t).trigger(o)},supportsTransitionEnd:function(){return Boolean(o)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,l){for(var n in l)if(Object.prototype.hasOwnProperty.call(l,n)){var i=l[n],a=e[n],r=a&&c.isElement(a)?\"element\":(o=a,{}.toString.call(o).match(/\\s([a-z]+)/i)[1].toLowerCase());if(!new RegExp(i).test(r))throw new Error(t.toUpperCase()+': Option \"'+n+'\" provided type \"'+r+'\" but expected type \"'+i+'\".')}var o},findShadowRoot:function(t){if(!document.documentElement.attachShadow)return null;if(\"function\"==typeof t.getRootNode){var e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c.findShadowRoot(t.parentNode):null}};e.fn.emulateTransitionEnd=s,e.event.special[c.TRANSITION_END]={bindType:o,delegateType:o,handle:function(t){if(e(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var u=e.fn.alert,d={CLOSE:\"close.bs.alert\",CLOSED:\"closed.bs.alert\",CLICK_DATA_API:\"click.bs.alert.data-api\"},h={ALERT:\"alert\",FADE:\"fade\",SHOW:\"show\"},f=function(){function t(t){this._element=t}var l=t.prototype;return l.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var l=this._triggerCloseEvent(e);l.isDefaultPrevented()||this._removeElement(e)},l.dispose=function(){e.removeData(this._element,\"bs.alert\"),this._element=null},l._getRootElement=function(t){var l=c.getSelectorFromElement(t),n=!1;return l&&(n=document.querySelector(l)),n||(n=e(t).closest(\".\"+h.ALERT)[0]),n},l._triggerCloseEvent=function(t){var l=e.Event(d.CLOSE);return e(t).trigger(l),l},l._removeElement=function(t){var l=this;if(e(t).removeClass(h.SHOW),e(t).hasClass(h.FADE)){var n=c.getTransitionDurationFromElement(t);e(t).one(c.TRANSITION_END,function(e){return l._destroyElement(t,e)}).emulateTransitionEnd(n)}else this._destroyElement(t)},l._destroyElement=function(t){e(t).detach().trigger(d.CLOSED).remove()},t._jQueryInterface=function(l){return this.each(function(){var n=e(this),i=n.data(\"bs.alert\");i||(i=new t(this),n.data(\"bs.alert\",i)),\"close\"===l&&i[l](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}}]),t}();e(document).on(d.CLICK_DATA_API,'[data-dismiss=\"alert\"]',f._handleDismiss(new f)),e.fn.alert=f._jQueryInterface,e.fn.alert.Constructor=f,e.fn.alert.noConflict=function(){return e.fn.alert=u,f._jQueryInterface};var p=e.fn.button,g={ACTIVE:\"active\",BUTTON:\"btn\",FOCUS:\"focus\"},m={DATA_TOGGLE_CARROT:'[data-toggle^=\"button\"]',DATA_TOGGLE:'[data-toggle=\"buttons\"]',INPUT:'input:not([type=\"hidden\"])',ACTIVE:\".active\",BUTTON:\".btn\"},b={CLICK_DATA_API:\"click.bs.button.data-api\",FOCUS_BLUR_DATA_API:\"focus.bs.button.data-api blur.bs.button.data-api\"},v=function(){function t(t){this._element=t}var l=t.prototype;return l.toggle=function(){var t=!0,l=!0,n=e(this._element).closest(m.DATA_TOGGLE)[0];if(n){var i=this._element.querySelector(m.INPUT);if(i){if(\"radio\"===i.type)if(i.checked&&this._element.classList.contains(g.ACTIVE))t=!1;else{var a=n.querySelector(m.ACTIVE);a&&e(a).removeClass(g.ACTIVE)}if(t){if(i.hasAttribute(\"disabled\")||n.hasAttribute(\"disabled\")||i.classList.contains(\"disabled\")||n.classList.contains(\"disabled\"))return;i.checked=!this._element.classList.contains(g.ACTIVE),e(i).trigger(\"change\")}i.focus(),l=!1}}l&&this._element.setAttribute(\"aria-pressed\",!this._element.classList.contains(g.ACTIVE)),t&&e(this._element).toggleClass(g.ACTIVE)},l.dispose=function(){e.removeData(this._element,\"bs.button\"),this._element=null},t._jQueryInterface=function(l){return this.each(function(){var n=e(this).data(\"bs.button\");n||(n=new t(this),e(this).data(\"bs.button\",n)),\"toggle\"===l&&n[l]()})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}}]),t}();e(document).on(b.CLICK_DATA_API,m.DATA_TOGGLE_CARROT,function(t){t.preventDefault();var l=t.target;e(l).hasClass(g.BUTTON)||(l=e(l).closest(m.BUTTON)),v._jQueryInterface.call(e(l),\"toggle\")}).on(b.FOCUS_BLUR_DATA_API,m.DATA_TOGGLE_CARROT,function(t){var l=e(t.target).closest(m.BUTTON)[0];e(l).toggleClass(g.FOCUS,/^focus(in)?$/.test(t.type))}),e.fn.button=v._jQueryInterface,e.fn.button.Constructor=v,e.fn.button.noConflict=function(){return e.fn.button=p,v._jQueryInterface};var y=\"carousel\",x=\".bs.carousel\",_=e.fn[y],w={interval:5e3,keyboard:!0,slide:!1,pause:\"hover\",wrap:!0,touch:!0},S={interval:\"(number|boolean)\",keyboard:\"boolean\",slide:\"(boolean|string)\",pause:\"(string|boolean)\",wrap:\"boolean\",touch:\"boolean\"},k={NEXT:\"next\",PREV:\"prev\",LEFT:\"left\",RIGHT:\"right\"},C={SLIDE:\"slide.bs.carousel\",SLID:\"slid.bs.carousel\",KEYDOWN:\"keydown.bs.carousel\",MOUSEENTER:\"mouseenter.bs.carousel\",MOUSELEAVE:\"mouseleave.bs.carousel\",TOUCHSTART:\"touchstart.bs.carousel\",TOUCHMOVE:\"touchmove.bs.carousel\",TOUCHEND:\"touchend.bs.carousel\",POINTERDOWN:\"pointerdown.bs.carousel\",POINTERUP:\"pointerup.bs.carousel\",DRAG_START:\"dragstart.bs.carousel\",LOAD_DATA_API:\"load.bs.carousel.data-api\",CLICK_DATA_API:\"click.bs.carousel.data-api\"},T={CAROUSEL:\"carousel\",ACTIVE:\"active\",SLIDE:\"slide\",RIGHT:\"carousel-item-right\",LEFT:\"carousel-item-left\",NEXT:\"carousel-item-next\",PREV:\"carousel-item-prev\",ITEM:\"carousel-item\",POINTER_EVENT:\"pointer-event\"},D={ACTIVE:\".active\",ACTIVE_ITEM:\".active.carousel-item\",ITEM:\".carousel-item\",ITEM_IMG:\".carousel-item img\",NEXT_PREV:\".carousel-item-next, .carousel-item-prev\",INDICATORS:\".carousel-indicators\",DATA_SLIDE:\"[data-slide], [data-slide-to]\",DATA_RIDE:'[data-ride=\"carousel\"]'},M={TOUCH:\"touch\",PEN:\"pen\"},A=function(){function t(t,e){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._element=t,this._indicatorsElement=this._element.querySelector(D.INDICATORS),this._touchSupported=\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var l=t.prototype;return l.next=function(){this._isSliding||this._slide(k.NEXT)},l.nextWhenVisible=function(){!document.hidden&&e(this._element).is(\":visible\")&&\"hidden\"!==e(this._element).css(\"visibility\")&&this.next()},l.prev=function(){this._isSliding||this._slide(k.PREV)},l.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(D.NEXT_PREV)&&(c.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},l.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},l.to=function(t){var l=this;this._activeElement=this._element.querySelector(D.ACTIVE_ITEM);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)e(this._element).one(C.SLID,function(){return l.to(t)});else{if(n===t)return this.pause(),void this.cycle();var i=t>n?k.NEXT:k.PREV;this._slide(i,this._items[t])}},l.dispose=function(){e(this._element).off(x),e.removeData(this._element,\"bs.carousel\"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},l._getConfig=function(t){return t=r({},w,t),c.typeCheckConfig(y,t,S),t},l._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;e>0&&this.prev(),e<0&&this.next()}},l._addEventListeners=function(){var t=this;this._config.keyboard&&e(this._element).on(C.KEYDOWN,function(e){return t._keydown(e)}),\"hover\"===this._config.pause&&e(this._element).on(C.MOUSEENTER,function(e){return t.pause(e)}).on(C.MOUSELEAVE,function(e){return t.cycle(e)}),this._config.touch&&this._addTouchEventListeners()},l._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var l=function(e){t._pointerEvent&&M[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&M[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),\"hover\"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout(function(e){return t.cycle(e)},500+t._config.interval))};e(this._element.querySelectorAll(D.ITEM_IMG)).on(C.DRAG_START,function(t){return t.preventDefault()}),this._pointerEvent?(e(this._element).on(C.POINTERDOWN,function(t){return l(t)}),e(this._element).on(C.POINTERUP,function(t){return n(t)}),this._element.classList.add(T.POINTER_EVENT)):(e(this._element).on(C.TOUCHSTART,function(t){return l(t)}),e(this._element).on(C.TOUCHMOVE,function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)}),e(this._element).on(C.TOUCHEND,function(t){return n(t)}))}},l._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},l._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(D.ITEM)):[],this._items.indexOf(t)},l._getItemByDirection=function(t,e){var l=t===k.NEXT,n=t===k.PREV,i=this._getItemIndex(e),a=this._items.length-1,r=n&&0===i||l&&i===a;if(r&&!this._config.wrap)return e;var o=t===k.PREV?-1:1,s=(i+o)%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},l._triggerSlideEvent=function(t,l){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(D.ACTIVE_ITEM)),a=e.Event(C.SLIDE,{relatedTarget:t,direction:l,from:i,to:n});return e(this._element).trigger(a),a},l._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var l=[].slice.call(this._indicatorsElement.querySelectorAll(D.ACTIVE));e(l).removeClass(T.ACTIVE);var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&e(n).addClass(T.ACTIVE)}},l._slide=function(t,l){var n,i,a,r=this,o=this._element.querySelector(D.ACTIVE_ITEM),s=this._getItemIndex(o),u=l||o&&this._getItemByDirection(t,o),d=this._getItemIndex(u),h=Boolean(this._interval);if(t===k.NEXT?(n=T.LEFT,i=T.NEXT,a=k.LEFT):(n=T.RIGHT,i=T.PREV,a=k.RIGHT),u&&e(u).hasClass(T.ACTIVE))this._isSliding=!1;else{var f=this._triggerSlideEvent(u,a);if(!f.isDefaultPrevented()&&o&&u){this._isSliding=!0,h&&this.pause(),this._setActiveIndicatorElement(u);var p=e.Event(C.SLID,{relatedTarget:u,direction:a,from:s,to:d});if(e(this._element).hasClass(T.SLIDE)){e(u).addClass(i),c.reflow(u),e(o).addClass(n),e(u).addClass(n);var g=parseInt(u.getAttribute(\"data-interval\"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=c.getTransitionDurationFromElement(o);e(o).one(c.TRANSITION_END,function(){e(u).removeClass(n+\" \"+i).addClass(T.ACTIVE),e(o).removeClass(T.ACTIVE+\" \"+i+\" \"+n),r._isSliding=!1,setTimeout(function(){return e(r._element).trigger(p)},0)}).emulateTransitionEnd(m)}else e(o).removeClass(T.ACTIVE),e(u).addClass(T.ACTIVE),this._isSliding=!1,e(this._element).trigger(p);h&&this.cycle()}}},t._jQueryInterface=function(l){return this.each(function(){var n=e(this).data(\"bs.carousel\"),i=r({},w,e(this).data());\"object\"==typeof l&&(i=r({},i,l));var a=\"string\"==typeof l?l:i.slide;if(n||(n=new t(this,i),e(this).data(\"bs.carousel\",n)),\"number\"==typeof l)n.to(l);else if(\"string\"==typeof a){if(void 0===n[a])throw new TypeError('No method named \"'+a+'\"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())})},t._dataApiClickHandler=function(l){var n=c.getSelectorFromElement(this);if(n){var i=e(n)[0];if(i&&e(i).hasClass(T.CAROUSEL)){var a=r({},e(i).data(),e(this).data()),o=this.getAttribute(\"data-slide-to\");o&&(a.interval=!1),t._jQueryInterface.call(e(i),a),o&&e(i).data(\"bs.carousel\").to(o),l.preventDefault()}}},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return w}}]),t}();e(document).on(C.CLICK_DATA_API,D.DATA_SLIDE,A._dataApiClickHandler),e(window).on(C.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(D.DATA_RIDE)),l=0,n=t.length;l<n;l++){var i=e(t[l]);A._jQueryInterface.call(i,i.data())}}),e.fn[y]=A._jQueryInterface,e.fn[y].Constructor=A,e.fn[y].noConflict=function(){return e.fn[y]=_,A._jQueryInterface};var E=\"collapse\",j=e.fn[E],I={toggle:!0,parent:\"\"},P={toggle:\"boolean\",parent:\"(string|element)\"},O={SHOW:\"show.bs.collapse\",SHOWN:\"shown.bs.collapse\",HIDE:\"hide.bs.collapse\",HIDDEN:\"hidden.bs.collapse\",CLICK_DATA_API:\"click.bs.collapse.data-api\"},L={SHOW:\"show\",COLLAPSE:\"collapse\",COLLAPSING:\"collapsing\",COLLAPSED:\"collapsed\"},R={WIDTH:\"width\",HEIGHT:\"height\"},N={ACTIVES:\".show, .collapsing\",DATA_TOGGLE:'[data-toggle=\"collapse\"]'},F=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=[].slice.call(document.querySelectorAll('[data-toggle=\"collapse\"][href=\"#'+t.id+'\"],[data-toggle=\"collapse\"][data-target=\"#'+t.id+'\"]'));for(var l=[].slice.call(document.querySelectorAll(N.DATA_TOGGLE)),n=0,i=l.length;n<i;n++){var a=l[n],r=c.getSelectorFromElement(a),o=[].slice.call(document.querySelectorAll(r)).filter(function(e){return e===t});null!==r&&o.length>0&&(this._selector=r,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var l=t.prototype;return l.toggle=function(){e(this._element).hasClass(L.SHOW)?this.hide():this.show()},l.show=function(){var l,n,i=this;if(!(this._isTransitioning||e(this._element).hasClass(L.SHOW)||(this._parent&&0===(l=[].slice.call(this._parent.querySelectorAll(N.ACTIVES)).filter(function(t){return\"string\"==typeof i._config.parent?t.getAttribute(\"data-parent\")===i._config.parent:t.classList.contains(L.COLLAPSE)})).length&&(l=null),l&&(n=e(l).not(this._selector).data(\"bs.collapse\"))&&n._isTransitioning))){var a=e.Event(O.SHOW);if(e(this._element).trigger(a),!a.isDefaultPrevented()){l&&(t._jQueryInterface.call(e(l).not(this._selector),\"hide\"),n||e(l).data(\"bs.collapse\",null));var r=this._getDimension();e(this._element).removeClass(L.COLLAPSE).addClass(L.COLLAPSING),this._element.style[r]=0,this._triggerArray.length&&e(this._triggerArray).removeClass(L.COLLAPSED).attr(\"aria-expanded\",!0),this.setTransitioning(!0);var o=r[0].toUpperCase()+r.slice(1),s=\"scroll\"+o,u=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,function(){e(i._element).removeClass(L.COLLAPSING).addClass(L.COLLAPSE).addClass(L.SHOW),i._element.style[r]=\"\",i.setTransitioning(!1),e(i._element).trigger(O.SHOWN)}).emulateTransitionEnd(u),this._element.style[r]=this._element[s]+\"px\"}}},l.hide=function(){var t=this;if(!this._isTransitioning&&e(this._element).hasClass(L.SHOW)){var l=e.Event(O.HIDE);if(e(this._element).trigger(l),!l.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+\"px\",c.reflow(this._element),e(this._element).addClass(L.COLLAPSING).removeClass(L.COLLAPSE).removeClass(L.SHOW);var i=this._triggerArray.length;if(i>0)for(var a=0;a<i;a++){var r=this._triggerArray[a],o=c.getSelectorFromElement(r);if(null!==o){var s=e([].slice.call(document.querySelectorAll(o)));s.hasClass(L.SHOW)||e(r).addClass(L.COLLAPSED).attr(\"aria-expanded\",!1)}}this.setTransitioning(!0),this._element.style[n]=\"\";var u=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,function(){t.setTransitioning(!1),e(t._element).removeClass(L.COLLAPSING).addClass(L.COLLAPSE).trigger(O.HIDDEN)}).emulateTransitionEnd(u)}}},l.setTransitioning=function(t){this._isTransitioning=t},l.dispose=function(){e.removeData(this._element,\"bs.collapse\"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},l._getConfig=function(t){return(t=r({},I,t)).toggle=Boolean(t.toggle),c.typeCheckConfig(E,t,P),t},l._getDimension=function(){var t=e(this._element).hasClass(R.WIDTH);return t?R.WIDTH:R.HEIGHT},l._getParent=function(){var l,n=this;c.isElement(this._config.parent)?(l=this._config.parent,void 0!==this._config.parent.jquery&&(l=this._config.parent[0])):l=document.querySelector(this._config.parent);var i='[data-toggle=\"collapse\"][data-parent=\"'+this._config.parent+'\"]',a=[].slice.call(l.querySelectorAll(i));return e(a).each(function(e,l){n._addAriaAndCollapsedClass(t._getTargetFromElement(l),[l])}),l},l._addAriaAndCollapsedClass=function(t,l){var n=e(t).hasClass(L.SHOW);l.length&&e(l).toggleClass(L.COLLAPSED,!n).attr(\"aria-expanded\",n)},t._getTargetFromElement=function(t){var e=c.getSelectorFromElement(t);return e?document.querySelector(e):null},t._jQueryInterface=function(l){return this.each(function(){var n=e(this),i=n.data(\"bs.collapse\"),a=r({},I,n.data(),\"object\"==typeof l&&l?l:{});if(!i&&a.toggle&&/show|hide/.test(l)&&(a.toggle=!1),i||(i=new t(this,a),n.data(\"bs.collapse\",i)),\"string\"==typeof l){if(void 0===i[l])throw new TypeError('No method named \"'+l+'\"');i[l]()}})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return I}}]),t}();e(document).on(O.CLICK_DATA_API,N.DATA_TOGGLE,function(t){\"A\"===t.currentTarget.tagName&&t.preventDefault();var l=e(this),n=c.getSelectorFromElement(this),i=[].slice.call(document.querySelectorAll(n));e(i).each(function(){var t=e(this),n=t.data(\"bs.collapse\"),i=n?\"toggle\":l.data();F._jQueryInterface.call(t,i)})}),e.fn[E]=F._jQueryInterface,e.fn[E].Constructor=F,e.fn[E].noConflict=function(){return e.fn[E]=j,F._jQueryInterface};var B=\"dropdown\",H=e.fn[B],q=new RegExp(\"38|40|27\"),Z={HIDE:\"hide.bs.dropdown\",HIDDEN:\"hidden.bs.dropdown\",SHOW:\"show.bs.dropdown\",SHOWN:\"shown.bs.dropdown\",CLICK:\"click.bs.dropdown\",CLICK_DATA_API:\"click.bs.dropdown.data-api\",KEYDOWN_DATA_API:\"keydown.bs.dropdown.data-api\",KEYUP_DATA_API:\"keyup.bs.dropdown.data-api\"},z={DISABLED:\"disabled\",SHOW:\"show\",DROPUP:\"dropup\",DROPRIGHT:\"dropright\",DROPLEFT:\"dropleft\",MENURIGHT:\"dropdown-menu-right\",MENULEFT:\"dropdown-menu-left\",POSITION_STATIC:\"position-static\"},$={DATA_TOGGLE:'[data-toggle=\"dropdown\"]',FORM_CHILD:\".dropdown form\",MENU:\".dropdown-menu\",NAVBAR_NAV:\".navbar-nav\",VISIBLE_ITEMS:\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\"},Y={TOP:\"top-start\",TOPEND:\"top-end\",BOTTOM:\"bottom-start\",BOTTOMEND:\"bottom-end\",RIGHT:\"right-start\",RIGHTEND:\"right-end\",LEFT:\"left-start\",LEFTEND:\"left-end\"},W={offset:0,flip:!0,boundary:\"scrollParent\",reference:\"toggle\",display:\"dynamic\"},V={offset:\"(number|string|function)\",flip:\"boolean\",boundary:\"(string|element)\",reference:\"(string|element)\",display:\"string\"},U=function(){function t(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!e(this._element).hasClass(z.DISABLED)){var n=t._getParentFromElement(this._element),i=e(this._menu).hasClass(z.SHOW);if(t._clearMenus(),!i){var a={relatedTarget:this._element},r=e.Event(Z.SHOW,a);if(e(n).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if(void 0===l)throw new TypeError(\"Bootstrap's dropdowns require Popper.js (https://popper.js.org/)\");var o=this._element;\"parent\"===this._config.reference?o=n:c.isElement(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),\"scrollParent\"!==this._config.boundary&&e(n).addClass(z.POSITION_STATIC),this._popper=new l(o,this._menu,this._getPopperConfig())}\"ontouchstart\"in document.documentElement&&0===e(n).closest($.NAVBAR_NAV).length&&e(document.body).children().on(\"mouseover\",null,e.noop),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),e(this._menu).toggleClass(z.SHOW),e(n).toggleClass(z.SHOW).trigger(e.Event(Z.SHOWN,a))}}}},n.show=function(){if(!(this._element.disabled||e(this._element).hasClass(z.DISABLED)||e(this._menu).hasClass(z.SHOW))){var l={relatedTarget:this._element},n=e.Event(Z.SHOW,l),i=t._getParentFromElement(this._element);e(i).trigger(n),n.isDefaultPrevented()||(e(this._menu).toggleClass(z.SHOW),e(i).toggleClass(z.SHOW).trigger(e.Event(Z.SHOWN,l)))}},n.hide=function(){if(!this._element.disabled&&!e(this._element).hasClass(z.DISABLED)&&e(this._menu).hasClass(z.SHOW)){var l={relatedTarget:this._element},n=e.Event(Z.HIDE,l),i=t._getParentFromElement(this._element);e(i).trigger(n),n.isDefaultPrevented()||(e(this._menu).toggleClass(z.SHOW),e(i).toggleClass(z.SHOW).trigger(e.Event(Z.HIDDEN,l)))}},n.dispose=function(){e.removeData(this._element,\"bs.dropdown\"),e(this._element).off(\".bs.dropdown\"),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;e(this._element).on(Z.CLICK,function(e){e.preventDefault(),e.stopPropagation(),t.toggle()})},n._getConfig=function(t){return t=r({},this.constructor.Default,e(this._element).data(),t),c.typeCheckConfig(B,t,this.constructor.DefaultType),t},n._getMenuElement=function(){if(!this._menu){var e=t._getParentFromElement(this._element);e&&(this._menu=e.querySelector($.MENU))}return this._menu},n._getPlacement=function(){var t=e(this._element.parentNode),l=Y.BOTTOM;return t.hasClass(z.DROPUP)?(l=Y.TOP,e(this._menu).hasClass(z.MENURIGHT)&&(l=Y.TOPEND)):t.hasClass(z.DROPRIGHT)?l=Y.RIGHT:t.hasClass(z.DROPLEFT)?l=Y.LEFT:e(this._menu).hasClass(z.MENURIGHT)&&(l=Y.BOTTOMEND),l},n._detectNavbar=function(){return e(this._element).closest(\".navbar\").length>0},n._getOffset=function(){var t=this,e={};return\"function\"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return\"static\"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),t},t._jQueryInterface=function(l){return this.each(function(){var n=e(this).data(\"bs.dropdown\"),i=\"object\"==typeof l?l:null;if(n||(n=new t(this,i),e(this).data(\"bs.dropdown\",n)),\"string\"==typeof l){if(void 0===n[l])throw new TypeError('No method named \"'+l+'\"');n[l]()}})},t._clearMenus=function(l){if(!l||3!==l.which&&(\"keyup\"!==l.type||9===l.which))for(var n=[].slice.call(document.querySelectorAll($.DATA_TOGGLE)),i=0,a=n.length;i<a;i++){var r=t._getParentFromElement(n[i]),o=e(n[i]).data(\"bs.dropdown\"),s={relatedTarget:n[i]};if(l&&\"click\"===l.type&&(s.clickEvent=l),o){var c=o._menu;if(e(r).hasClass(z.SHOW)&&!(l&&(\"click\"===l.type&&/input|textarea/i.test(l.target.tagName)||\"keyup\"===l.type&&9===l.which)&&e.contains(r,l.target))){var u=e.Event(Z.HIDE,s);e(r).trigger(u),u.isDefaultPrevented()||(\"ontouchstart\"in document.documentElement&&e(document.body).children().off(\"mouseover\",null,e.noop),n[i].setAttribute(\"aria-expanded\",\"false\"),e(c).removeClass(z.SHOW),e(r).removeClass(z.SHOW).trigger(e.Event(Z.HIDDEN,s)))}}}},t._getParentFromElement=function(t){var e,l=c.getSelectorFromElement(t);return l&&(e=document.querySelector(l)),e||t.parentNode},t._dataApiKeydownHandler=function(l){if((/input|textarea/i.test(l.target.tagName)?!(32===l.which||27!==l.which&&(40!==l.which&&38!==l.which||e(l.target).closest($.MENU).length)):q.test(l.which))&&(l.preventDefault(),l.stopPropagation(),!this.disabled&&!e(this).hasClass(z.DISABLED))){var n=t._getParentFromElement(this),i=e(n).hasClass(z.SHOW);if(i&&(!i||27!==l.which&&32!==l.which)){var a=[].slice.call(n.querySelectorAll($.VISIBLE_ITEMS));if(0!==a.length){var r=a.indexOf(l.target);38===l.which&&r>0&&r--,40===l.which&&r<a.length-1&&r++,r<0&&(r=0),a[r].focus()}}else{if(27===l.which){var o=n.querySelector($.DATA_TOGGLE);e(o).trigger(\"focus\")}e(this).trigger(\"click\")}}},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return W}},{key:\"DefaultType\",get:function(){return V}}]),t}();e(document).on(Z.KEYDOWN_DATA_API,$.DATA_TOGGLE,U._dataApiKeydownHandler).on(Z.KEYDOWN_DATA_API,$.MENU,U._dataApiKeydownHandler).on(Z.CLICK_DATA_API+\" \"+Z.KEYUP_DATA_API,U._clearMenus).on(Z.CLICK_DATA_API,$.DATA_TOGGLE,function(t){t.preventDefault(),t.stopPropagation(),U._jQueryInterface.call(e(this),\"toggle\")}).on(Z.CLICK_DATA_API,$.FORM_CHILD,function(t){t.stopPropagation()}),e.fn[B]=U._jQueryInterface,e.fn[B].Constructor=U,e.fn[B].noConflict=function(){return e.fn[B]=H,U._jQueryInterface};var G=e.fn.modal,X={backdrop:!0,keyboard:!0,focus:!0,show:!0},K={backdrop:\"(boolean|string)\",keyboard:\"boolean\",focus:\"boolean\",show:\"boolean\"},Q={HIDE:\"hide.bs.modal\",HIDDEN:\"hidden.bs.modal\",SHOW:\"show.bs.modal\",SHOWN:\"shown.bs.modal\",FOCUSIN:\"focusin.bs.modal\",RESIZE:\"resize.bs.modal\",CLICK_DISMISS:\"click.dismiss.bs.modal\",KEYDOWN_DISMISS:\"keydown.dismiss.bs.modal\",MOUSEUP_DISMISS:\"mouseup.dismiss.bs.modal\",MOUSEDOWN_DISMISS:\"mousedown.dismiss.bs.modal\",CLICK_DATA_API:\"click.bs.modal.data-api\"},J={SCROLLABLE:\"modal-dialog-scrollable\",SCROLLBAR_MEASURER:\"modal-scrollbar-measure\",BACKDROP:\"modal-backdrop\",OPEN:\"modal-open\",FADE:\"fade\",SHOW:\"show\"},tt={DIALOG:\".modal-dialog\",MODAL_BODY:\".modal-body\",DATA_TOGGLE:'[data-toggle=\"modal\"]',DATA_DISMISS:'[data-dismiss=\"modal\"]',FIXED_CONTENT:\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",STICKY_CONTENT:\".sticky-top\"},et=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=t.querySelector(tt.DIALOG),this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollbarWidth=0}var l=t.prototype;return l.toggle=function(t){return this._isShown?this.hide():this.show(t)},l.show=function(t){var l=this;if(!this._isShown&&!this._isTransitioning){e(this._element).hasClass(J.FADE)&&(this._isTransitioning=!0);var n=e.Event(Q.SHOW,{relatedTarget:t});e(this._element).trigger(n),this._isShown||n.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),e(this._element).on(Q.CLICK_DISMISS,tt.DATA_DISMISS,function(t){return l.hide(t)}),e(this._dialog).on(Q.MOUSEDOWN_DISMISS,function(){e(l._element).one(Q.MOUSEUP_DISMISS,function(t){e(t.target).is(l._element)&&(l._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return l._showElement(t)}))}},l.hide=function(t){var l=this;if(t&&t.preventDefault(),this._isShown&&!this._isTransitioning){var n=e.Event(Q.HIDE);if(e(this._element).trigger(n),this._isShown&&!n.isDefaultPrevented()){this._isShown=!1;var i=e(this._element).hasClass(J.FADE);if(i&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),e(document).off(Q.FOCUSIN),e(this._element).removeClass(J.SHOW),e(this._element).off(Q.CLICK_DISMISS),e(this._dialog).off(Q.MOUSEDOWN_DISMISS),i){var a=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,function(t){return l._hideModal(t)}).emulateTransitionEnd(a)}else this._hideModal()}}},l.dispose=function(){[window,this._element,this._dialog].forEach(function(t){return e(t).off(\".bs.modal\")}),e(document).off(Q.FOCUSIN),e.removeData(this._element,\"bs.modal\"),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._isTransitioning=null,this._scrollbarWidth=null},l.handleUpdate=function(){this._adjustDialog()},l._getConfig=function(t){return t=r({},X,t),c.typeCheckConfig(\"modal\",t,K),t},l._showElement=function(t){var l=this,n=e(this._element).hasClass(J.FADE);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display=\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),e(this._dialog).hasClass(J.SCROLLABLE)?this._dialog.querySelector(tt.MODAL_BODY).scrollTop=0:this._element.scrollTop=0,n&&c.reflow(this._element),e(this._element).addClass(J.SHOW),this._config.focus&&this._enforceFocus();var i=e.Event(Q.SHOWN,{relatedTarget:t}),a=function(){l._config.focus&&l._element.focus(),l._isTransitioning=!1,e(l._element).trigger(i)};if(n){var r=c.getTransitionDurationFromElement(this._dialog);e(this._dialog).one(c.TRANSITION_END,a).emulateTransitionEnd(r)}else a()},l._enforceFocus=function(){var t=this;e(document).off(Q.FOCUSIN).on(Q.FOCUSIN,function(l){document!==l.target&&t._element!==l.target&&0===e(t._element).has(l.target).length&&t._element.focus()})},l._setEscapeEvent=function(){var t=this;this._isShown&&this._config.keyboard?e(this._element).on(Q.KEYDOWN_DISMISS,function(e){27===e.which&&(e.preventDefault(),t.hide())}):this._isShown||e(this._element).off(Q.KEYDOWN_DISMISS)},l._setResizeEvent=function(){var t=this;this._isShown?e(window).on(Q.RESIZE,function(e){return t.handleUpdate(e)}):e(window).off(Q.RESIZE)},l._hideModal=function(){var t=this;this._element.style.display=\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._isTransitioning=!1,this._showBackdrop(function(){e(document.body).removeClass(J.OPEN),t._resetAdjustments(),t._resetScrollbar(),e(t._element).trigger(Q.HIDDEN)})},l._removeBackdrop=function(){this._backdrop&&(e(this._backdrop).remove(),this._backdrop=null)},l._showBackdrop=function(t){var l=this,n=e(this._element).hasClass(J.FADE)?J.FADE:\"\";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement(\"div\"),this._backdrop.className=J.BACKDROP,n&&this._backdrop.classList.add(n),e(this._backdrop).appendTo(document.body),e(this._element).on(Q.CLICK_DISMISS,function(t){l._ignoreBackdropClick?l._ignoreBackdropClick=!1:t.target===t.currentTarget&&(\"static\"===l._config.backdrop?l._element.focus():l.hide())}),n&&c.reflow(this._backdrop),e(this._backdrop).addClass(J.SHOW),!t)return;if(!n)return void t();var i=c.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(c.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){e(this._backdrop).removeClass(J.SHOW);var a=function(){l._removeBackdrop(),t&&t()};if(e(this._element).hasClass(J.FADE)){var r=c.getTransitionDurationFromElement(this._backdrop);e(this._backdrop).one(c.TRANSITION_END,a).emulateTransitionEnd(r)}else a()}else t&&t()},l._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+\"px\"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+\"px\")},l._resetAdjustments=function(){this._element.style.paddingLeft=\"\",this._element.style.paddingRight=\"\"},l._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},l._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){var l=[].slice.call(document.querySelectorAll(tt.FIXED_CONTENT)),n=[].slice.call(document.querySelectorAll(tt.STICKY_CONTENT));e(l).each(function(l,n){var i=n.style.paddingRight,a=e(n).css(\"padding-right\");e(n).data(\"padding-right\",i).css(\"padding-right\",parseFloat(a)+t._scrollbarWidth+\"px\")}),e(n).each(function(l,n){var i=n.style.marginRight,a=e(n).css(\"margin-right\");e(n).data(\"margin-right\",i).css(\"margin-right\",parseFloat(a)-t._scrollbarWidth+\"px\")});var i=document.body.style.paddingRight,a=e(document.body).css(\"padding-right\");e(document.body).data(\"padding-right\",i).css(\"padding-right\",parseFloat(a)+this._scrollbarWidth+\"px\")}e(document.body).addClass(J.OPEN)},l._resetScrollbar=function(){var t=[].slice.call(document.querySelectorAll(tt.FIXED_CONTENT));e(t).each(function(t,l){var n=e(l).data(\"padding-right\");e(l).removeData(\"padding-right\"),l.style.paddingRight=n||\"\"});var l=[].slice.call(document.querySelectorAll(\"\"+tt.STICKY_CONTENT));e(l).each(function(t,l){var n=e(l).data(\"margin-right\");void 0!==n&&e(l).css(\"margin-right\",n).removeData(\"margin-right\")});var n=e(document.body).data(\"padding-right\");e(document.body).removeData(\"padding-right\"),document.body.style.paddingRight=n||\"\"},l._getScrollbarWidth=function(){var t=document.createElement(\"div\");t.className=J.SCROLLBAR_MEASURER,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},t._jQueryInterface=function(l,n){return this.each(function(){var i=e(this).data(\"bs.modal\"),a=r({},X,e(this).data(),\"object\"==typeof l&&l?l:{});if(i||(i=new t(this,a),e(this).data(\"bs.modal\",i)),\"string\"==typeof l){if(void 0===i[l])throw new TypeError('No method named \"'+l+'\"');i[l](n)}else a.show&&i.show(n)})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return X}}]),t}();e(document).on(Q.CLICK_DATA_API,tt.DATA_TOGGLE,function(t){var l,n=this,i=c.getSelectorFromElement(this);i&&(l=document.querySelector(i));var a=e(l).data(\"bs.modal\")?\"toggle\":r({},e(l).data(),e(this).data());\"A\"!==this.tagName&&\"AREA\"!==this.tagName||t.preventDefault();var o=e(l).one(Q.SHOW,function(t){t.isDefaultPrevented()||o.one(Q.HIDDEN,function(){e(n).is(\":visible\")&&n.focus()})});et._jQueryInterface.call(e(l),a,this)}),e.fn.modal=et._jQueryInterface,e.fn.modal.Constructor=et,e.fn.modal.noConflict=function(){return e.fn.modal=G,et._jQueryInterface};var lt=[\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"],nt={\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},it=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\\/?#]*(?:[\\/?#]|$))/gi,at=/^data:(?:image\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\/(?:mpeg|mp4|ogg|webm)|audio\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\\/]+=*$/i;function rt(t,e,l){if(0===t.length)return t;if(l&&\"function\"==typeof l)return l(t);for(var n=new window.DOMParser,i=n.parseFromString(t,\"text/html\"),a=Object.keys(e),r=[].slice.call(i.body.querySelectorAll(\"*\")),o=function(t,l){var n=r[t],i=n.nodeName.toLowerCase();if(-1===a.indexOf(n.nodeName.toLowerCase()))return n.parentNode.removeChild(n),\"continue\";var o=[].slice.call(n.attributes),s=[].concat(e[\"*\"]||[],e[i]||[]);o.forEach(function(t){(function(t,e){var l=t.nodeName.toLowerCase();if(-1!==e.indexOf(l))return-1===lt.indexOf(l)||Boolean(t.nodeValue.match(it)||t.nodeValue.match(at));for(var n=e.filter(function(t){return t instanceof RegExp}),i=0,a=n.length;i<a;i++)if(l.match(n[i]))return!0;return!1})(t,s)||n.removeAttribute(t.nodeName)})},s=0,c=r.length;s<c;s++)o(s);return i.body.innerHTML}var ot=\"tooltip\",st=e.fn.tooltip,ct=new RegExp(\"(^|\\\\s)bs-tooltip\\\\S+\",\"g\"),ut=[\"sanitize\",\"whiteList\",\"sanitizeFn\"],dt={animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(number|string|function)\",container:\"(string|element|boolean)\",fallbackPlacement:\"(string|array)\",boundary:\"(string|element)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",whiteList:\"object\"},ht={AUTO:\"auto\",TOP:\"top\",RIGHT:\"right\",BOTTOM:\"bottom\",LEFT:\"left\"},ft={animation:!0,template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:0,container:!1,fallbackPlacement:\"flip\",boundary:\"scrollParent\",sanitize:!0,sanitizeFn:null,whiteList:nt},pt={SHOW:\"show\",OUT:\"out\"},gt={HIDE:\"hide.bs.tooltip\",HIDDEN:\"hidden.bs.tooltip\",SHOW:\"show.bs.tooltip\",SHOWN:\"shown.bs.tooltip\",INSERTED:\"inserted.bs.tooltip\",CLICK:\"click.bs.tooltip\",FOCUSIN:\"focusin.bs.tooltip\",FOCUSOUT:\"focusout.bs.tooltip\",MOUSEENTER:\"mouseenter.bs.tooltip\",MOUSELEAVE:\"mouseleave.bs.tooltip\"},mt={FADE:\"fade\",SHOW:\"show\"},bt={TOOLTIP:\".tooltip\",TOOLTIP_INNER:\".tooltip-inner\",ARROW:\".arrow\"},vt={HOVER:\"hover\",FOCUS:\"focus\",CLICK:\"click\",MANUAL:\"manual\"},yt=function(){function t(t,e){if(void 0===l)throw new TypeError(\"Bootstrap's tooltips require Popper.js (https://popper.js.org/)\");this._isEnabled=!0,this._timeout=0,this._hoverState=\"\",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var l=this.constructor.DATA_KEY,n=e(t.currentTarget).data(l);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(l,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(e(this.getTipElement()).hasClass(mt.SHOW))return void this._leave(null,this);this._enter(null,this)}},n.dispose=function(){clearTimeout(this._timeout),e.removeData(this.element,this.constructor.DATA_KEY),e(this.element).off(this.constructor.EVENT_KEY),e(this.element).closest(\".modal\").off(\"hide.bs.modal\"),this.tip&&e(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},n.show=function(){var t=this;if(\"none\"===e(this.element).css(\"display\"))throw new Error(\"Please use show on visible elements\");var n=e.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){e(this.element).trigger(n);var i=c.findShadowRoot(this.element),a=e.contains(null!==i?i:this.element.ownerDocument.documentElement,this.element);if(n.isDefaultPrevented()||!a)return;var r=this.getTipElement(),o=c.getUID(this.constructor.NAME);r.setAttribute(\"id\",o),this.element.setAttribute(\"aria-describedby\",o),this.setContent(),this.config.animation&&e(r).addClass(mt.FADE);var s=\"function\"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,u=this._getAttachment(s);this.addAttachmentClass(u);var d=this._getContainer();e(r).data(this.constructor.DATA_KEY,this),e.contains(this.element.ownerDocument.documentElement,this.tip)||e(r).appendTo(d),e(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new l(this.element,r,{placement:u,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:bt.ARROW},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(e){e.originalPlacement!==e.placement&&t._handlePopperPlacementChange(e)},onUpdate:function(e){return t._handlePopperPlacementChange(e)}}),e(r).addClass(mt.SHOW),\"ontouchstart\"in document.documentElement&&e(document.body).children().on(\"mouseover\",null,e.noop);var h=function(){t.config.animation&&t._fixTransition();var l=t._hoverState;t._hoverState=null,e(t.element).trigger(t.constructor.Event.SHOWN),l===pt.OUT&&t._leave(null,t)};if(e(this.tip).hasClass(mt.FADE)){var f=c.getTransitionDurationFromElement(this.tip);e(this.tip).one(c.TRANSITION_END,h).emulateTransitionEnd(f)}else h()}},n.hide=function(t){var l=this,n=this.getTipElement(),i=e.Event(this.constructor.Event.HIDE),a=function(){l._hoverState!==pt.SHOW&&n.parentNode&&n.parentNode.removeChild(n),l._cleanTipClass(),l.element.removeAttribute(\"aria-describedby\"),e(l.element).trigger(l.constructor.Event.HIDDEN),null!==l._popper&&l._popper.destroy(),t&&t()};if(e(this.element).trigger(i),!i.isDefaultPrevented()){if(e(n).removeClass(mt.SHOW),\"ontouchstart\"in document.documentElement&&e(document.body).children().off(\"mouseover\",null,e.noop),this._activeTrigger[vt.CLICK]=!1,this._activeTrigger[vt.FOCUS]=!1,this._activeTrigger[vt.HOVER]=!1,e(this.tip).hasClass(mt.FADE)){var r=c.getTransitionDurationFromElement(n);e(n).one(c.TRANSITION_END,a).emulateTransitionEnd(r)}else a();this._hoverState=\"\"}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.addAttachmentClass=function(t){e(this.getTipElement()).addClass(\"bs-tooltip-\"+t)},n.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},n.setContent=function(){var t=this.getTipElement();this.setElementContent(e(t.querySelectorAll(bt.TOOLTIP_INNER)),this.getTitle()),e(t).removeClass(mt.FADE+\" \"+mt.SHOW)},n.setElementContent=function(t,l){\"object\"!=typeof l||!l.nodeType&&!l.jquery?this.config.html?(this.config.sanitize&&(l=rt(l,this.config.whiteList,this.config.sanitizeFn)),t.html(l)):t.text(l):this.config.html?e(l).parent().is(t)||t.empty().append(l):t.text(e(l).text())},n.getTitle=function(){var t=this.element.getAttribute(\"data-original-title\");return t||(t=\"function\"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},n._getOffset=function(){var t=this,e={};return\"function\"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:c.isElement(this.config.container)?e(this.config.container):e(document).find(this.config.container)},n._getAttachment=function(t){return ht[t.toUpperCase()]},n._setListeners=function(){var t=this,l=this.config.trigger.split(\" \");l.forEach(function(l){if(\"click\"===l)e(t.element).on(t.constructor.Event.CLICK,t.config.selector,function(e){return t.toggle(e)});else if(l!==vt.MANUAL){var n=l===vt.HOVER?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i=l===vt.HOVER?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;e(t.element).on(n,t.config.selector,function(e){return t._enter(e)}).on(i,t.config.selector,function(e){return t._leave(e)})}}),e(this.element).closest(\".modal\").on(\"hide.bs.modal\",function(){t.element&&t.hide()}),this.config.selector?this.config=r({},this.config,{trigger:\"manual\",selector:\"\"}):this._fixTitle()},n._fixTitle=function(){var t=typeof this.element.getAttribute(\"data-original-title\");(this.element.getAttribute(\"title\")||\"string\"!==t)&&(this.element.setAttribute(\"data-original-title\",this.element.getAttribute(\"title\")||\"\"),this.element.setAttribute(\"title\",\"\"))},n._enter=function(t,l){var n=this.constructor.DATA_KEY;(l=l||e(t.currentTarget).data(n))||(l=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,l)),t&&(l._activeTrigger[\"focusin\"===t.type?vt.FOCUS:vt.HOVER]=!0),e(l.getTipElement()).hasClass(mt.SHOW)||l._hoverState===pt.SHOW?l._hoverState=pt.SHOW:(clearTimeout(l._timeout),l._hoverState=pt.SHOW,l.config.delay&&l.config.delay.show?l._timeout=setTimeout(function(){l._hoverState===pt.SHOW&&l.show()},l.config.delay.show):l.show())},n._leave=function(t,l){var n=this.constructor.DATA_KEY;(l=l||e(t.currentTarget).data(n))||(l=new this.constructor(t.currentTarget,this._getDelegateConfig()),e(t.currentTarget).data(n,l)),t&&(l._activeTrigger[\"focusout\"===t.type?vt.FOCUS:vt.HOVER]=!1),l._isWithActiveTrigger()||(clearTimeout(l._timeout),l._hoverState=pt.OUT,l.config.delay&&l.config.delay.hide?l._timeout=setTimeout(function(){l._hoverState===pt.OUT&&l.hide()},l.config.delay.hide):l.hide())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var l=e(this.element).data();return Object.keys(l).forEach(function(t){-1!==ut.indexOf(t)&&delete l[t]}),\"number\"==typeof(t=r({},this.constructor.Default,l,\"object\"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),\"number\"==typeof t.title&&(t.title=t.title.toString()),\"number\"==typeof t.content&&(t.content=t.content.toString()),c.typeCheckConfig(ot,t,this.constructor.DefaultType),t.sanitize&&(t.template=rt(t.template,t.whiteList,t.sanitizeFn)),t},n._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},n._cleanTipClass=function(){var t=e(this.getTipElement()),l=t.attr(\"class\").match(ct);null!==l&&l.length&&t.removeClass(l.join(\"\"))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},n._fixTransition=function(){var t=this.getTipElement(),l=this.config.animation;null===t.getAttribute(\"x-placement\")&&(e(t).removeClass(mt.FADE),this.config.animation=!1,this.hide(),this.show(),this.config.animation=l)},t._jQueryInterface=function(l){return this.each(function(){var n=e(this).data(\"bs.tooltip\"),i=\"object\"==typeof l&&l;if((n||!/dispose|hide/.test(l))&&(n||(n=new t(this,i),e(this).data(\"bs.tooltip\",n)),\"string\"==typeof l)){if(void 0===n[l])throw new TypeError('No method named \"'+l+'\"');n[l]()}})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return ft}},{key:\"NAME\",get:function(){return ot}},{key:\"DATA_KEY\",get:function(){return\"bs.tooltip\"}},{key:\"Event\",get:function(){return gt}},{key:\"EVENT_KEY\",get:function(){return\".bs.tooltip\"}},{key:\"DefaultType\",get:function(){return dt}}]),t}();e.fn.tooltip=yt._jQueryInterface,e.fn.tooltip.Constructor=yt,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=st,yt._jQueryInterface};var xt=\"popover\",_t=e.fn.popover,wt=new RegExp(\"(^|\\\\s)bs-popover\\\\S+\",\"g\"),St=r({},yt.Default,{placement:\"right\",trigger:\"click\",content:\"\",template:'<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-header\"></h3><div class=\"popover-body\"></div></div>'}),kt=r({},yt.DefaultType,{content:\"(string|element|function)\"}),Ct={FADE:\"fade\",SHOW:\"show\"},Tt={TITLE:\".popover-header\",CONTENT:\".popover-body\"},Dt={HIDE:\"hide.bs.popover\",HIDDEN:\"hidden.bs.popover\",SHOW:\"show.bs.popover\",SHOWN:\"shown.bs.popover\",INSERTED:\"inserted.bs.popover\",CLICK:\"click.bs.popover\",FOCUSIN:\"focusin.bs.popover\",FOCUSOUT:\"focusout.bs.popover\",MOUSEENTER:\"mouseenter.bs.popover\",MOUSELEAVE:\"mouseleave.bs.popover\"},Mt=function(t){var l,n;function a(){return t.apply(this,arguments)||this}n=t,(l=a).prototype=Object.create(n.prototype),l.prototype.constructor=l,l.__proto__=n;var r=a.prototype;return r.isWithContent=function(){return this.getTitle()||this._getContent()},r.addAttachmentClass=function(t){e(this.getTipElement()).addClass(\"bs-popover-\"+t)},r.getTipElement=function(){return this.tip=this.tip||e(this.config.template)[0],this.tip},r.setContent=function(){var t=e(this.getTipElement());this.setElementContent(t.find(Tt.TITLE),this.getTitle());var l=this._getContent();\"function\"==typeof l&&(l=l.call(this.element)),this.setElementContent(t.find(Tt.CONTENT),l),t.removeClass(Ct.FADE+\" \"+Ct.SHOW)},r._getContent=function(){return this.element.getAttribute(\"data-content\")||this.config.content},r._cleanTipClass=function(){var t=e(this.getTipElement()),l=t.attr(\"class\").match(wt);null!==l&&l.length>0&&t.removeClass(l.join(\"\"))},a._jQueryInterface=function(t){return this.each(function(){var l=e(this).data(\"bs.popover\"),n=\"object\"==typeof t?t:null;if((l||!/dispose|hide/.test(t))&&(l||(l=new a(this,n),e(this).data(\"bs.popover\",l)),\"string\"==typeof t)){if(void 0===l[t])throw new TypeError('No method named \"'+t+'\"');l[t]()}})},i(a,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return St}},{key:\"NAME\",get:function(){return xt}},{key:\"DATA_KEY\",get:function(){return\"bs.popover\"}},{key:\"Event\",get:function(){return Dt}},{key:\"EVENT_KEY\",get:function(){return\".bs.popover\"}},{key:\"DefaultType\",get:function(){return kt}}]),a}(yt);e.fn.popover=Mt._jQueryInterface,e.fn.popover.Constructor=Mt,e.fn.popover.noConflict=function(){return e.fn.popover=_t,Mt._jQueryInterface};var At=\"scrollspy\",Et=e.fn[At],jt={offset:10,method:\"auto\",target:\"\"},It={offset:\"number\",method:\"string\",target:\"(string|element)\"},Pt={ACTIVATE:\"activate.bs.scrollspy\",SCROLL:\"scroll.bs.scrollspy\",LOAD_DATA_API:\"load.bs.scrollspy.data-api\"},Ot={DROPDOWN_ITEM:\"dropdown-item\",DROPDOWN_MENU:\"dropdown-menu\",ACTIVE:\"active\"},Lt={DATA_SPY:'[data-spy=\"scroll\"]',ACTIVE:\".active\",NAV_LIST_GROUP:\".nav, .list-group\",NAV_LINKS:\".nav-link\",NAV_ITEMS:\".nav-item\",LIST_ITEMS:\".list-group-item\",DROPDOWN:\".dropdown\",DROPDOWN_ITEMS:\".dropdown-item\",DROPDOWN_TOGGLE:\".dropdown-toggle\"},Rt={OFFSET:\"offset\",POSITION:\"position\"},Nt=function(){function t(t,l){var n=this;this._element=t,this._scrollElement=\"BODY\"===t.tagName?window:t,this._config=this._getConfig(l),this._selector=this._config.target+\" \"+Lt.NAV_LINKS+\",\"+this._config.target+\" \"+Lt.LIST_ITEMS+\",\"+this._config.target+\" \"+Lt.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,e(this._scrollElement).on(Pt.SCROLL,function(t){return n._process(t)}),this.refresh(),this._process()}var l=t.prototype;return l.refresh=function(){var t=this,l=this._scrollElement===this._scrollElement.window?Rt.OFFSET:Rt.POSITION,n=\"auto\"===this._config.method?l:this._config.method,i=n===Rt.POSITION?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight();var a=[].slice.call(document.querySelectorAll(this._selector));a.map(function(t){var l,a=c.getSelectorFromElement(t);if(a&&(l=document.querySelector(a)),l){var r=l.getBoundingClientRect();if(r.width||r.height)return[e(l)[n]().top+i,a]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(e){t._offsets.push(e[0]),t._targets.push(e[1])})},l.dispose=function(){e.removeData(this._element,\"bs.scrollspy\"),e(this._scrollElement).off(\".bs.scrollspy\"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},l._getConfig=function(t){if(\"string\"!=typeof(t=r({},jt,\"object\"==typeof t&&t?t:{})).target){var l=e(t.target).attr(\"id\");l||(l=c.getUID(At),e(t.target).attr(\"id\",l)),t.target=\"#\"+l}return c.typeCheckConfig(At,t,It),t},l._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},l._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},l._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},l._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),l=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=l){var n=this._targets[this._targets.length-1];this._activeTarget!==n&&this._activate(n)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var i=this._offsets.length,a=i;a--;){var r=this._activeTarget!==this._targets[a]&&t>=this._offsets[a]&&(void 0===this._offsets[a+1]||t<this._offsets[a+1]);r&&this._activate(this._targets[a])}}},l._activate=function(t){this._activeTarget=t,this._clear();var l=this._selector.split(\",\").map(function(e){return e+'[data-target=\"'+t+'\"],'+e+'[href=\"'+t+'\"]'}),n=e([].slice.call(document.querySelectorAll(l.join(\",\"))));n.hasClass(Ot.DROPDOWN_ITEM)?(n.closest(Lt.DROPDOWN).find(Lt.DROPDOWN_TOGGLE).addClass(Ot.ACTIVE),n.addClass(Ot.ACTIVE)):(n.addClass(Ot.ACTIVE),n.parents(Lt.NAV_LIST_GROUP).prev(Lt.NAV_LINKS+\", \"+Lt.LIST_ITEMS).addClass(Ot.ACTIVE),n.parents(Lt.NAV_LIST_GROUP).prev(Lt.NAV_ITEMS).children(Lt.NAV_LINKS).addClass(Ot.ACTIVE)),e(this._scrollElement).trigger(Pt.ACTIVATE,{relatedTarget:t})},l._clear=function(){[].slice.call(document.querySelectorAll(this._selector)).filter(function(t){return t.classList.contains(Ot.ACTIVE)}).forEach(function(t){return t.classList.remove(Ot.ACTIVE)})},t._jQueryInterface=function(l){return this.each(function(){var n=e(this).data(\"bs.scrollspy\"),i=\"object\"==typeof l&&l;if(n||(n=new t(this,i),e(this).data(\"bs.scrollspy\",n)),\"string\"==typeof l){if(void 0===n[l])throw new TypeError('No method named \"'+l+'\"');n[l]()}})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"Default\",get:function(){return jt}}]),t}();e(window).on(Pt.LOAD_DATA_API,function(){for(var t=[].slice.call(document.querySelectorAll(Lt.DATA_SPY)),l=t.length,n=l;n--;){var i=e(t[n]);Nt._jQueryInterface.call(i,i.data())}}),e.fn[At]=Nt._jQueryInterface,e.fn[At].Constructor=Nt,e.fn[At].noConflict=function(){return e.fn[At]=Et,Nt._jQueryInterface};var Ft=e.fn.tab,Bt={HIDE:\"hide.bs.tab\",HIDDEN:\"hidden.bs.tab\",SHOW:\"show.bs.tab\",SHOWN:\"shown.bs.tab\",CLICK_DATA_API:\"click.bs.tab.data-api\"},Ht={DROPDOWN_MENU:\"dropdown-menu\",ACTIVE:\"active\",DISABLED:\"disabled\",FADE:\"fade\",SHOW:\"show\"},qt={DROPDOWN:\".dropdown\",NAV_LIST_GROUP:\".nav, .list-group\",ACTIVE:\".active\",ACTIVE_UL:\"> li > .active\",DATA_TOGGLE:'[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',DROPDOWN_TOGGLE:\".dropdown-toggle\",DROPDOWN_ACTIVE_CHILD:\"> .dropdown-menu .active\"},Zt=function(){function t(t){this._element=t}var l=t.prototype;return l.show=function(){var t=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&e(this._element).hasClass(Ht.ACTIVE)||e(this._element).hasClass(Ht.DISABLED))){var l,n,i=e(this._element).closest(qt.NAV_LIST_GROUP)[0],a=c.getSelectorFromElement(this._element);if(i){var r=\"UL\"===i.nodeName||\"OL\"===i.nodeName?qt.ACTIVE_UL:qt.ACTIVE;n=(n=e.makeArray(e(i).find(r)))[n.length-1]}var o=e.Event(Bt.HIDE,{relatedTarget:this._element}),s=e.Event(Bt.SHOW,{relatedTarget:n});if(n&&e(n).trigger(o),e(this._element).trigger(s),!s.isDefaultPrevented()&&!o.isDefaultPrevented()){a&&(l=document.querySelector(a)),this._activate(this._element,i);var u=function(){var l=e.Event(Bt.HIDDEN,{relatedTarget:t._element}),i=e.Event(Bt.SHOWN,{relatedTarget:n});e(n).trigger(l),e(t._element).trigger(i)};l?this._activate(l,l.parentNode,u):u()}}},l.dispose=function(){e.removeData(this._element,\"bs.tab\"),this._element=null},l._activate=function(t,l,n){var i=this,a=!l||\"UL\"!==l.nodeName&&\"OL\"!==l.nodeName?e(l).children(qt.ACTIVE):e(l).find(qt.ACTIVE_UL),r=a[0],o=n&&r&&e(r).hasClass(Ht.FADE),s=function(){return i._transitionComplete(t,r,n)};if(r&&o){var u=c.getTransitionDurationFromElement(r);e(r).removeClass(Ht.SHOW).one(c.TRANSITION_END,s).emulateTransitionEnd(u)}else s()},l._transitionComplete=function(t,l,n){if(l){e(l).removeClass(Ht.ACTIVE);var i=e(l.parentNode).find(qt.DROPDOWN_ACTIVE_CHILD)[0];i&&e(i).removeClass(Ht.ACTIVE),\"tab\"===l.getAttribute(\"role\")&&l.setAttribute(\"aria-selected\",!1)}if(e(t).addClass(Ht.ACTIVE),\"tab\"===t.getAttribute(\"role\")&&t.setAttribute(\"aria-selected\",!0),c.reflow(t),t.classList.contains(Ht.FADE)&&t.classList.add(Ht.SHOW),t.parentNode&&e(t.parentNode).hasClass(Ht.DROPDOWN_MENU)){var a=e(t).closest(qt.DROPDOWN)[0];if(a){var r=[].slice.call(a.querySelectorAll(qt.DROPDOWN_TOGGLE));e(r).addClass(Ht.ACTIVE)}t.setAttribute(\"aria-expanded\",!0)}n&&n()},t._jQueryInterface=function(l){return this.each(function(){var n=e(this),i=n.data(\"bs.tab\");if(i||(i=new t(this),n.data(\"bs.tab\",i)),\"string\"==typeof l){if(void 0===i[l])throw new TypeError('No method named \"'+l+'\"');i[l]()}})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}}]),t}();e(document).on(Bt.CLICK_DATA_API,qt.DATA_TOGGLE,function(t){t.preventDefault(),Zt._jQueryInterface.call(e(this),\"show\")}),e.fn.tab=Zt._jQueryInterface,e.fn.tab.Constructor=Zt,e.fn.tab.noConflict=function(){return e.fn.tab=Ft,Zt._jQueryInterface};var zt=e.fn.toast,$t={CLICK_DISMISS:\"click.dismiss.bs.toast\",HIDE:\"hide.bs.toast\",HIDDEN:\"hidden.bs.toast\",SHOW:\"show.bs.toast\",SHOWN:\"shown.bs.toast\"},Yt={FADE:\"fade\",HIDE:\"hide\",SHOW:\"show\",SHOWING:\"showing\"},Wt={animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},Vt={animation:!0,autohide:!0,delay:500},Ut={DATA_DISMISS:'[data-dismiss=\"toast\"]'},Gt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var l=t.prototype;return l.show=function(){var t=this;e(this._element).trigger($t.SHOW),this._config.animation&&this._element.classList.add(Yt.FADE);var l=function(){t._element.classList.remove(Yt.SHOWING),t._element.classList.add(Yt.SHOW),e(t._element).trigger($t.SHOWN),t._config.autohide&&t.hide()};if(this._element.classList.remove(Yt.HIDE),this._element.classList.add(Yt.SHOWING),this._config.animation){var n=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,l).emulateTransitionEnd(n)}else l()},l.hide=function(t){var l=this;this._element.classList.contains(Yt.SHOW)&&(e(this._element).trigger($t.HIDE),t?this._close():this._timeout=setTimeout(function(){l._close()},this._config.delay))},l.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains(Yt.SHOW)&&this._element.classList.remove(Yt.SHOW),e(this._element).off($t.CLICK_DISMISS),e.removeData(this._element,\"bs.toast\"),this._element=null,this._config=null},l._getConfig=function(t){return t=r({},Vt,e(this._element).data(),\"object\"==typeof t&&t?t:{}),c.typeCheckConfig(\"toast\",t,this.constructor.DefaultType),t},l._setListeners=function(){var t=this;e(this._element).on($t.CLICK_DISMISS,Ut.DATA_DISMISS,function(){return t.hide(!0)})},l._close=function(){var t=this,l=function(){t._element.classList.add(Yt.HIDE),e(t._element).trigger($t.HIDDEN)};if(this._element.classList.remove(Yt.SHOW),this._config.animation){var n=c.getTransitionDurationFromElement(this._element);e(this._element).one(c.TRANSITION_END,l).emulateTransitionEnd(n)}else l()},t._jQueryInterface=function(l){return this.each(function(){var n=e(this),i=n.data(\"bs.toast\"),a=\"object\"==typeof l&&l;if(i||(i=new t(this,a),n.data(\"bs.toast\",i)),\"string\"==typeof l){if(void 0===i[l])throw new TypeError('No method named \"'+l+'\"');i[l](this)}})},i(t,null,[{key:\"VERSION\",get:function(){return\"4.3.1\"}},{key:\"DefaultType\",get:function(){return Wt}},{key:\"Default\",get:function(){return Vt}}]),t}();e.fn.toast=Gt._jQueryInterface,e.fn.toast.Constructor=Gt,e.fn.toast.noConflict=function(){return e.fn.toast=zt,Gt._jQueryInterface},function(){if(void 0===e)throw new TypeError(\"Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.\");var t=e.fn.jquery.split(\" \")[0].split(\".\");if(t[0]<2&&t[1]<9||1===t[0]&&9===t[1]&&t[2]<1||t[0]>=4)throw new Error(\"Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\")}(),t.Util=c,t.Alert=f,t.Button=v,t.Carousel=A,t.Collapse=F,t.Dropdown=U,t.Modal=et,t.Popover=Mt,t.Scrollspy=Nt,t.Tab=Zt,t.Toast=Gt,t.Tooltip=yt,Object.defineProperty(t,\"__esModule\",{value:!0})}(e,l(1),l(56))},function(t,e,l){\"use strict\";l.r(e),function(t){for(\n/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.14.7\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nvar l=\"undefined\"!=typeof window&&\"undefined\"!=typeof document,n=[\"Edge\",\"Trident\",\"Firefox\"],i=0,a=0;a<n.length;a+=1)if(l&&navigator.userAgent.indexOf(n[a])>=0){i=1;break}var r=l&&window.Promise?function(t){var e=!1;return function(){e||(e=!0,window.Promise.resolve().then(function(){e=!1,t()}))}}:function(t){var e=!1;return function(){e||(e=!0,setTimeout(function(){e=!1,t()},i))}};function o(t){return t&&\"[object Function]\"==={}.toString.call(t)}function s(t,e){if(1!==t.nodeType)return[];var l=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?l[e]:l}function c(t){return\"HTML\"===t.nodeName?t:t.parentNode||t.host}function u(t){if(!t)return document.body;switch(t.nodeName){case\"HTML\":case\"BODY\":return t.ownerDocument.body;case\"#document\":return t.body}var e=s(t),l=e.overflow,n=e.overflowX,i=e.overflowY;return/(auto|scroll|overlay)/.test(l+i+n)?t:u(c(t))}var d=l&&!(!window.MSInputMethodContext||!document.documentMode),h=l&&/MSIE 10/.test(navigator.userAgent);function f(t){return 11===t?d:10===t?h:d||h}function p(t){if(!t)return document.documentElement;for(var e=f(10)?document.body:null,l=t.offsetParent||null;l===e&&t.nextElementSibling;)l=(t=t.nextElementSibling).offsetParent;var n=l&&l.nodeName;return n&&\"BODY\"!==n&&\"HTML\"!==n?-1!==[\"TH\",\"TD\",\"TABLE\"].indexOf(l.nodeName)&&\"static\"===s(l,\"position\")?p(l):l:t?t.ownerDocument.documentElement:document.documentElement}function g(t){return null!==t.parentNode?g(t.parentNode):t}function m(t,e){if(!(t&&t.nodeType&&e&&e.nodeType))return document.documentElement;var l=t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING,n=l?t:e,i=l?e:t,a=document.createRange();a.setStart(n,0),a.setEnd(i,0);var r,o,s=a.commonAncestorContainer;if(t!==s&&e!==s||n.contains(i))return\"BODY\"===(o=(r=s).nodeName)||\"HTML\"!==o&&p(r.firstElementChild)!==r?p(s):s;var c=g(t);return c.host?m(c.host,e):m(t,g(e).host)}function b(t){var e=\"top\"===(arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"top\")?\"scrollTop\":\"scrollLeft\",l=t.nodeName;if(\"BODY\"===l||\"HTML\"===l){var n=t.ownerDocument.documentElement;return(t.ownerDocument.scrollingElement||n)[e]}return t[e]}function v(t,e){var l=\"x\"===e?\"Left\":\"Top\",n=\"Left\"===l?\"Right\":\"Bottom\";return parseFloat(t[\"border\"+l+\"Width\"],10)+parseFloat(t[\"border\"+n+\"Width\"],10)}function y(t,e,l,n){return Math.max(e[\"offset\"+t],e[\"scroll\"+t],l[\"client\"+t],l[\"offset\"+t],l[\"scroll\"+t],f(10)?parseInt(l[\"offset\"+t])+parseInt(n[\"margin\"+(\"Height\"===t?\"Top\":\"Left\")])+parseInt(n[\"margin\"+(\"Height\"===t?\"Bottom\":\"Right\")]):0)}function x(t){var e=t.body,l=t.documentElement,n=f(10)&&getComputedStyle(l);return{height:y(\"Height\",e,l,n),width:y(\"Width\",e,l,n)}}var _=function(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")},w=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}(),S=function(t,e,l){return e in t?Object.defineProperty(t,e,{value:l,enumerable:!0,configurable:!0,writable:!0}):t[e]=l,t},k=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var l=arguments[e];for(var n in l)Object.prototype.hasOwnProperty.call(l,n)&&(t[n]=l[n])}return t};function C(t){return k({},t,{right:t.left+t.width,bottom:t.top+t.height})}function T(t){var e={};try{if(f(10)){e=t.getBoundingClientRect();var l=b(t,\"top\"),n=b(t,\"left\");e.top+=l,e.left+=n,e.bottom+=l,e.right+=n}else e=t.getBoundingClientRect()}catch(t){}var i={left:e.left,top:e.top,width:e.right-e.left,height:e.bottom-e.top},a=\"HTML\"===t.nodeName?x(t.ownerDocument):{},r=a.width||t.clientWidth||i.right-i.left,o=a.height||t.clientHeight||i.bottom-i.top,c=t.offsetWidth-r,u=t.offsetHeight-o;if(c||u){var d=s(t);c-=v(d,\"x\"),u-=v(d,\"y\"),i.width-=c,i.height-=u}return C(i)}function D(t,e){var l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=f(10),i=\"HTML\"===e.nodeName,a=T(t),r=T(e),o=u(t),c=s(e),d=parseFloat(c.borderTopWidth,10),h=parseFloat(c.borderLeftWidth,10);l&&i&&(r.top=Math.max(r.top,0),r.left=Math.max(r.left,0));var p=C({top:a.top-r.top-d,left:a.left-r.left-h,width:a.width,height:a.height});if(p.marginTop=0,p.marginLeft=0,!n&&i){var g=parseFloat(c.marginTop,10),m=parseFloat(c.marginLeft,10);p.top-=d-g,p.bottom-=d-g,p.left-=h-m,p.right-=h-m,p.marginTop=g,p.marginLeft=m}return(n&&!l?e.contains(o):e===o&&\"BODY\"!==o.nodeName)&&(p=function(t,e){var l=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=b(e,\"top\"),i=b(e,\"left\"),a=l?-1:1;return t.top+=n*a,t.bottom+=n*a,t.left+=i*a,t.right+=i*a,t}(p,e)),p}function M(t){if(!t||!t.parentElement||f())return document.documentElement;for(var e=t.parentElement;e&&\"none\"===s(e,\"transform\");)e=e.parentElement;return e||document.documentElement}function A(t,e,l,n){var i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],a={top:0,left:0},r=i?M(t):m(t,e);if(\"viewport\"===n)a=function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=t.ownerDocument.documentElement,n=D(t,l),i=Math.max(l.clientWidth,window.innerWidth||0),a=Math.max(l.clientHeight,window.innerHeight||0),r=e?0:b(l),o=e?0:b(l,\"left\");return C({top:r-n.top+n.marginTop,left:o-n.left+n.marginLeft,width:i,height:a})}(r,i);else{var o=void 0;\"scrollParent\"===n?\"BODY\"===(o=u(c(e))).nodeName&&(o=t.ownerDocument.documentElement):o=\"window\"===n?t.ownerDocument.documentElement:n;var d=D(o,r,i);if(\"HTML\"!==o.nodeName||function t(e){var l=e.nodeName;if(\"BODY\"===l||\"HTML\"===l)return!1;if(\"fixed\"===s(e,\"position\"))return!0;var n=c(e);return!!n&&t(n)}(r))a=d;else{var h=x(t.ownerDocument),f=h.height,p=h.width;a.top+=d.top-d.marginTop,a.bottom=f+d.top,a.left+=d.left-d.marginLeft,a.right=p+d.left}}var g=\"number\"==typeof(l=l||0);return a.left+=g?l:l.left||0,a.top+=g?l:l.top||0,a.right-=g?l:l.right||0,a.bottom-=g?l:l.bottom||0,a}function E(t,e,l,n,i){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===t.indexOf(\"auto\"))return t;var r=A(l,n,a,i),o={top:{width:r.width,height:e.top-r.top},right:{width:r.right-e.right,height:r.height},bottom:{width:r.width,height:r.bottom-e.bottom},left:{width:e.left-r.left,height:r.height}},s=Object.keys(o).map(function(t){return k({key:t},o[t],{area:(e=o[t],e.width*e.height)});var e}).sort(function(t,e){return e.area-t.area}),c=s.filter(function(t){var e=t.width,n=t.height;return e>=l.clientWidth&&n>=l.clientHeight}),u=c.length>0?c[0].key:s[0].key,d=t.split(\"-\")[1];return u+(d?\"-\"+d:\"\")}function j(t,e,l){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;return D(l,n?M(e):m(e,l),n)}function I(t){var e=t.ownerDocument.defaultView.getComputedStyle(t),l=parseFloat(e.marginTop||0)+parseFloat(e.marginBottom||0),n=parseFloat(e.marginLeft||0)+parseFloat(e.marginRight||0);return{width:t.offsetWidth+n,height:t.offsetHeight+l}}function P(t){var e={left:\"right\",right:\"left\",bottom:\"top\",top:\"bottom\"};return t.replace(/left|right|bottom|top/g,function(t){return e[t]})}function O(t,e,l){l=l.split(\"-\")[0];var n=I(t),i={width:n.width,height:n.height},a=-1!==[\"right\",\"left\"].indexOf(l),r=a?\"top\":\"left\",o=a?\"left\":\"top\",s=a?\"height\":\"width\",c=a?\"width\":\"height\";return i[r]=e[r]+e[s]/2-n[s]/2,i[o]=l===o?e[o]-n[c]:e[P(o)],i}function L(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function R(t,e,l){return(void 0===l?t:t.slice(0,function(t,e,l){if(Array.prototype.findIndex)return t.findIndex(function(t){return t[e]===l});var n=L(t,function(t){return t[e]===l});return t.indexOf(n)}(t,\"name\",l))).forEach(function(t){t.function&&console.warn(\"`modifier.function` is deprecated, use `modifier.fn`!\");var l=t.function||t.fn;t.enabled&&o(l)&&(e.offsets.popper=C(e.offsets.popper),e.offsets.reference=C(e.offsets.reference),e=l(e,t))}),e}function N(t,e){return t.some(function(t){var l=t.name;return t.enabled&&l===e})}function F(t){for(var e=[!1,\"ms\",\"Webkit\",\"Moz\",\"O\"],l=t.charAt(0).toUpperCase()+t.slice(1),n=0;n<e.length;n++){var i=e[n],a=i?\"\"+i+l:t;if(void 0!==document.body.style[a])return a}return null}function B(t){var e=t.ownerDocument;return e?e.defaultView:window}function H(t,e,l,n){l.updateBound=n,B(t).addEventListener(\"resize\",l.updateBound,{passive:!0});var i=u(t);return function t(e,l,n,i){var a=\"BODY\"===e.nodeName,r=a?e.ownerDocument.defaultView:e;r.addEventListener(l,n,{passive:!0}),a||t(u(r.parentNode),l,n,i),i.push(r)}(i,\"scroll\",l.updateBound,l.scrollParents),l.scrollElement=i,l.eventsEnabled=!0,l}function q(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,B(t).removeEventListener(\"resize\",e.updateBound),e.scrollParents.forEach(function(t){t.removeEventListener(\"scroll\",e.updateBound)}),e.updateBound=null,e.scrollParents=[],e.scrollElement=null,e.eventsEnabled=!1,e))}function Z(t){return\"\"!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function z(t,e){Object.keys(e).forEach(function(l){var n=\"\";-1!==[\"width\",\"height\",\"top\",\"right\",\"bottom\",\"left\"].indexOf(l)&&Z(e[l])&&(n=\"px\"),t.style[l]=e[l]+n})}var $=l&&/Firefox/i.test(navigator.userAgent);function Y(t,e,l){var n=L(t,function(t){return t.name===e}),i=!!n&&t.some(function(t){return t.name===l&&t.enabled&&t.order<n.order});if(!i){var a=\"`\"+e+\"`\",r=\"`\"+l+\"`\";console.warn(r+\" modifier is required by \"+a+\" modifier in order to work, be sure to include it before \"+a+\"!\")}return i}var W=[\"auto-start\",\"auto\",\"auto-end\",\"top-start\",\"top\",\"top-end\",\"right-start\",\"right\",\"right-end\",\"bottom-end\",\"bottom\",\"bottom-start\",\"left-end\",\"left\",\"left-start\"],V=W.slice(3);function U(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],l=V.indexOf(t),n=V.slice(l+1).concat(V.slice(0,l));return e?n.reverse():n}var G={FLIP:\"flip\",CLOCKWISE:\"clockwise\",COUNTERCLOCKWISE:\"counterclockwise\"};function X(t,e,l,n){var i=[0,0],a=-1!==[\"right\",\"left\"].indexOf(n),r=t.split(/(\\+|\\-)/).map(function(t){return t.trim()}),o=r.indexOf(L(r,function(t){return-1!==t.search(/,|\\s/)}));r[o]&&-1===r[o].indexOf(\",\")&&console.warn(\"Offsets separated by white space(s) are deprecated, use a comma (,) instead.\");var s=/\\s*,\\s*|\\s+/,c=-1!==o?[r.slice(0,o).concat([r[o].split(s)[0]]),[r[o].split(s)[1]].concat(r.slice(o+1))]:[r];return(c=c.map(function(t,n){var i=(1===n?!a:a)?\"height\":\"width\",r=!1;return t.reduce(function(t,e){return\"\"===t[t.length-1]&&-1!==[\"+\",\"-\"].indexOf(e)?(t[t.length-1]=e,r=!0,t):r?(t[t.length-1]+=e,r=!1,t):t.concat(e)},[]).map(function(t){return function(t,e,l,n){var i=t.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/),a=+i[1],r=i[2];if(!a)return t;if(0===r.indexOf(\"%\")){var o=void 0;switch(r){case\"%p\":o=l;break;case\"%\":case\"%r\":default:o=n}return C(o)[e]/100*a}if(\"vh\"===r||\"vw\"===r)return(\"vh\"===r?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*a;return a}(t,i,e,l)})})).forEach(function(t,e){t.forEach(function(l,n){Z(l)&&(i[e]+=l*(\"-\"===t[n-1]?-1:1))})}),i}var K={placement:\"bottom\",positionFixed:!1,eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(t){var e=t.placement,l=e.split(\"-\")[0],n=e.split(\"-\")[1];if(n){var i=t.offsets,a=i.reference,r=i.popper,o=-1!==[\"bottom\",\"top\"].indexOf(l),s=o?\"left\":\"top\",c=o?\"width\":\"height\",u={start:S({},s,a[s]),end:S({},s,a[s]+a[c]-r[c])};t.offsets.popper=k({},r,u[n])}return t}},offset:{order:200,enabled:!0,fn:function(t,e){var l=e.offset,n=t.placement,i=t.offsets,a=i.popper,r=i.reference,o=n.split(\"-\")[0],s=void 0;return s=Z(+l)?[+l,0]:X(l,a,r,o),\"left\"===o?(a.top+=s[0],a.left-=s[1]):\"right\"===o?(a.top+=s[0],a.left+=s[1]):\"top\"===o?(a.left+=s[0],a.top-=s[1]):\"bottom\"===o&&(a.left+=s[0],a.top+=s[1]),t.popper=a,t},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(t,e){var l=e.boundariesElement||p(t.instance.popper);t.instance.reference===l&&(l=p(l));var n=F(\"transform\"),i=t.instance.popper.style,a=i.top,r=i.left,o=i[n];i.top=\"\",i.left=\"\",i[n]=\"\";var s=A(t.instance.popper,t.instance.reference,e.padding,l,t.positionFixed);i.top=a,i.left=r,i[n]=o,e.boundaries=s;var c=e.priority,u=t.offsets.popper,d={primary:function(t){var l=u[t];return u[t]<s[t]&&!e.escapeWithReference&&(l=Math.max(u[t],s[t])),S({},t,l)},secondary:function(t){var l=\"right\"===t?\"left\":\"top\",n=u[l];return u[t]>s[t]&&!e.escapeWithReference&&(n=Math.min(u[l],s[t]-(\"right\"===t?u.width:u.height))),S({},l,n)}};return c.forEach(function(t){var e=-1!==[\"left\",\"top\"].indexOf(t)?\"primary\":\"secondary\";u=k({},u,d[e](t))}),t.offsets.popper=u,t},priority:[\"left\",\"right\",\"top\",\"bottom\"],padding:5,boundariesElement:\"scrollParent\"},keepTogether:{order:400,enabled:!0,fn:function(t){var e=t.offsets,l=e.popper,n=e.reference,i=t.placement.split(\"-\")[0],a=Math.floor,r=-1!==[\"top\",\"bottom\"].indexOf(i),o=r?\"right\":\"bottom\",s=r?\"left\":\"top\",c=r?\"width\":\"height\";return l[o]<a(n[s])&&(t.offsets.popper[s]=a(n[s])-l[c]),l[s]>a(n[o])&&(t.offsets.popper[s]=a(n[o])),t}},arrow:{order:500,enabled:!0,fn:function(t,e){var l;if(!Y(t.instance.modifiers,\"arrow\",\"keepTogether\"))return t;var n=e.element;if(\"string\"==typeof n){if(!(n=t.instance.popper.querySelector(n)))return t}else if(!t.instance.popper.contains(n))return console.warn(\"WARNING: `arrow.element` must be child of its popper element!\"),t;var i=t.placement.split(\"-\")[0],a=t.offsets,r=a.popper,o=a.reference,c=-1!==[\"left\",\"right\"].indexOf(i),u=c?\"height\":\"width\",d=c?\"Top\":\"Left\",h=d.toLowerCase(),f=c?\"left\":\"top\",p=c?\"bottom\":\"right\",g=I(n)[u];o[p]-g<r[h]&&(t.offsets.popper[h]-=r[h]-(o[p]-g)),o[h]+g>r[p]&&(t.offsets.popper[h]+=o[h]+g-r[p]),t.offsets.popper=C(t.offsets.popper);var m=o[h]+o[u]/2-g/2,b=s(t.instance.popper),v=parseFloat(b[\"margin\"+d],10),y=parseFloat(b[\"border\"+d+\"Width\"],10),x=m-t.offsets.popper[h]-v-y;return x=Math.max(Math.min(r[u]-g,x),0),t.arrowElement=n,t.offsets.arrow=(S(l={},h,Math.round(x)),S(l,f,\"\"),l),t},element:\"[x-arrow]\"},flip:{order:600,enabled:!0,fn:function(t,e){if(N(t.instance.modifiers,\"inner\"))return t;if(t.flipped&&t.placement===t.originalPlacement)return t;var l=A(t.instance.popper,t.instance.reference,e.padding,e.boundariesElement,t.positionFixed),n=t.placement.split(\"-\")[0],i=P(n),a=t.placement.split(\"-\")[1]||\"\",r=[];switch(e.behavior){case G.FLIP:r=[n,i];break;case G.CLOCKWISE:r=U(n);break;case G.COUNTERCLOCKWISE:r=U(n,!0);break;default:r=e.behavior}return r.forEach(function(o,s){if(n!==o||r.length===s+1)return t;n=t.placement.split(\"-\")[0],i=P(n);var c=t.offsets.popper,u=t.offsets.reference,d=Math.floor,h=\"left\"===n&&d(c.right)>d(u.left)||\"right\"===n&&d(c.left)<d(u.right)||\"top\"===n&&d(c.bottom)>d(u.top)||\"bottom\"===n&&d(c.top)<d(u.bottom),f=d(c.left)<d(l.left),p=d(c.right)>d(l.right),g=d(c.top)<d(l.top),m=d(c.bottom)>d(l.bottom),b=\"left\"===n&&f||\"right\"===n&&p||\"top\"===n&&g||\"bottom\"===n&&m,v=-1!==[\"top\",\"bottom\"].indexOf(n),y=!!e.flipVariations&&(v&&\"start\"===a&&f||v&&\"end\"===a&&p||!v&&\"start\"===a&&g||!v&&\"end\"===a&&m);(h||b||y)&&(t.flipped=!0,(h||b)&&(n=r[s+1]),y&&(a=function(t){return\"end\"===t?\"start\":\"start\"===t?\"end\":t}(a)),t.placement=n+(a?\"-\"+a:\"\"),t.offsets.popper=k({},t.offsets.popper,O(t.instance.popper,t.offsets.reference,t.placement)),t=R(t.instance.modifiers,t,\"flip\"))}),t},behavior:\"flip\",padding:5,boundariesElement:\"viewport\"},inner:{order:700,enabled:!1,fn:function(t){var e=t.placement,l=e.split(\"-\")[0],n=t.offsets,i=n.popper,a=n.reference,r=-1!==[\"left\",\"right\"].indexOf(l),o=-1===[\"top\",\"left\"].indexOf(l);return i[r?\"left\":\"top\"]=a[l]-(o?i[r?\"width\":\"height\"]:0),t.placement=P(e),t.offsets.popper=C(i),t}},hide:{order:800,enabled:!0,fn:function(t){if(!Y(t.instance.modifiers,\"hide\",\"preventOverflow\"))return t;var e=t.offsets.reference,l=L(t.instance.modifiers,function(t){return\"preventOverflow\"===t.name}).boundaries;if(e.bottom<l.top||e.left>l.right||e.top>l.bottom||e.right<l.left){if(!0===t.hide)return t;t.hide=!0,t.attributes[\"x-out-of-boundaries\"]=\"\"}else{if(!1===t.hide)return t;t.hide=!1,t.attributes[\"x-out-of-boundaries\"]=!1}return t}},computeStyle:{order:850,enabled:!0,fn:function(t,e){var l=e.x,n=e.y,i=t.offsets.popper,a=L(t.instance.modifiers,function(t){return\"applyStyle\"===t.name}).gpuAcceleration;void 0!==a&&console.warn(\"WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!\");var r=void 0!==a?a:e.gpuAcceleration,o=p(t.instance.popper),s=T(o),c={position:i.position},u=function(t,e){var l=t.offsets,n=l.popper,i=l.reference,a=Math.round,r=Math.floor,o=function(t){return t},s=a(i.width),c=a(n.width),u=-1!==[\"left\",\"right\"].indexOf(t.placement),d=-1!==t.placement.indexOf(\"-\"),h=e?u||d||s%2==c%2?a:r:o,f=e?a:o;return{left:h(s%2==1&&c%2==1&&!d&&e?n.left-1:n.left),top:f(n.top),bottom:f(n.bottom),right:h(n.right)}}(t,window.devicePixelRatio<2||!$),d=\"bottom\"===l?\"top\":\"bottom\",h=\"right\"===n?\"left\":\"right\",f=F(\"transform\"),g=void 0,m=void 0;if(m=\"bottom\"===d?\"HTML\"===o.nodeName?-o.clientHeight+u.bottom:-s.height+u.bottom:u.top,g=\"right\"===h?\"HTML\"===o.nodeName?-o.clientWidth+u.right:-s.width+u.right:u.left,r&&f)c[f]=\"translate3d(\"+g+\"px, \"+m+\"px, 0)\",c[d]=0,c[h]=0,c.willChange=\"transform\";else{var b=\"bottom\"===d?-1:1,v=\"right\"===h?-1:1;c[d]=m*b,c[h]=g*v,c.willChange=d+\", \"+h}var y={\"x-placement\":t.placement};return t.attributes=k({},y,t.attributes),t.styles=k({},c,t.styles),t.arrowStyles=k({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:\"bottom\",y:\"right\"},applyStyle:{order:900,enabled:!0,fn:function(t){var e,l;return z(t.instance.popper,t.styles),e=t.instance.popper,l=t.attributes,Object.keys(l).forEach(function(t){!1!==l[t]?e.setAttribute(t,l[t]):e.removeAttribute(t)}),t.arrowElement&&Object.keys(t.arrowStyles).length&&z(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,l,n,i){var a=j(i,e,t,l.positionFixed),r=E(l.placement,a,e,t,l.modifiers.flip.boundariesElement,l.modifiers.flip.padding);return e.setAttribute(\"x-placement\",r),z(e,{position:l.positionFixed?\"fixed\":\"absolute\"}),l},gpuAcceleration:void 0}}},Q=function(){function t(e,l){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};_(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(n.update)},this.update=r(this.update.bind(this)),this.options=k({},t.Defaults,i),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=e&&e.jquery?e[0]:e,this.popper=l&&l.jquery?l[0]:l,this.options.modifiers={},Object.keys(k({},t.Defaults.modifiers,i.modifiers)).forEach(function(e){n.options.modifiers[e]=k({},t.Defaults.modifiers[e]||{},i.modifiers?i.modifiers[e]:{})}),this.modifiers=Object.keys(this.options.modifiers).map(function(t){return k({name:t},n.options.modifiers[t])}).sort(function(t,e){return t.order-e.order}),this.modifiers.forEach(function(t){t.enabled&&o(t.onLoad)&&t.onLoad(n.reference,n.popper,n.options,t,n.state)}),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return w(t,[{key:\"update\",value:function(){return function(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=j(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=E(this.options.placement,t.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),t.originalPlacement=t.placement,t.positionFixed=this.options.positionFixed,t.offsets.popper=O(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?\"fixed\":\"absolute\",t=R(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}.call(this)}},{key:\"destroy\",value:function(){return function(){return this.state.isDestroyed=!0,N(this.modifiers,\"applyStyle\")&&(this.popper.removeAttribute(\"x-placement\"),this.popper.style.position=\"\",this.popper.style.top=\"\",this.popper.style.left=\"\",this.popper.style.right=\"\",this.popper.style.bottom=\"\",this.popper.style.willChange=\"\",this.popper.style[F(\"transform\")]=\"\"),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}.call(this)}},{key:\"enableEventListeners\",value:function(){return function(){this.state.eventsEnabled||(this.state=H(this.reference,this.options,this.state,this.scheduleUpdate))}.call(this)}},{key:\"disableEventListeners\",value:function(){return q.call(this)}}]),t}();Q.Utils=(\"undefined\"!=typeof window?window:t).PopperUtils,Q.placements=W,Q.Defaults=K,e.default=Q}.call(this,l(2))},function(t,e,l){\"use strict\";(function(t){l(27);var e={primary:\"#47BAC1\",secondary:\"#a180da\",tertiary:\"#5fc27e\",success:\"#5fc27e\",info:\"#5b7dff\",warning:\"#fcc100\",danger:\"#f44455\"};t(\"link[href]\").each(function(){switch(t(this).attr(\"href\").split(\"/\").pop()){case\"corporate.css\":e={primary:\"#3086FF\",secondary:\"#495057\",tertiary:\"#0069fc\",success:\"#4BBF73\",info:\"#1F9BCF\",warning:\"#f0ad4e\",danger:\"#d9534f\"};break;case\"modern.css\":e={primary:\"#2c7be5\",secondary:\"#9D7BD8\",tertiary:\"#5997eb\",success:\"#4CAF50\",info:\"#47BAC1\",warning:\"#ff9800\",danger:\"#e51c23\"}}}),window.theme=e}).call(this,l(1))},function(t,e,l){\"use strict\";var n=l(59),i=l(60);t.exports=function(t,e){var l=e||{},a={};return void 0===t&&(t={}),t.on=function(e,l){return a[e]?a[e].push(l):a[e]=[l],t},t.once=function(e,l){return l._once=!0,t.on(e,l),t},t.off=function(e,l){var n=arguments.length;if(1===n)delete a[e];else if(0===n)a={};else{var i=a[e];if(!i)return t;i.splice(i.indexOf(l),1)}return t},t.emit=function(){var e=n(arguments);return t.emitterSnapshot(e.shift()).apply(this,e)},t.emitterSnapshot=function(e){var r=(a[e]||[]).slice(0);return function(){var a=n(arguments),o=this||t;if(\"error\"===e&&!1!==l.throws&&!r.length)throw 1===a.length?a[0]:a;return r.forEach(function(n){l.async?i(n,a,o):n.apply(o,a),n._once&&t.off(e,n)}),t}},t}},function(t,e){t.exports=function(t,e){return Array.prototype.slice.call(t,e)}},function(t,e,l){\"use strict\";var n=l(61);t.exports=function(t,e,l){t&&n(function(){t.apply(l||null,e||[])})}},function(t,e,l){(function(e){var l;l=\"function\"==typeof e?function(t){e(t)}:function(t){setTimeout(t,0)},t.exports=l}).call(this,l(62).setImmediate)},function(t,e,l){(function(t){var n=void 0!==t&&t||\"undefined\"!=typeof self&&self||window,i=Function.prototype.apply;function a(t,e){this._id=t,this._clearFn=e}e.setTimeout=function(){return new a(i.call(setTimeout,n,arguments),clearTimeout)},e.setInterval=function(){return new a(i.call(setInterval,n,arguments),clearInterval)},e.clearTimeout=e.clearInterval=function(t){t&&t.close()},a.prototype.unref=a.prototype.ref=function(){},a.prototype.close=function(){this._clearFn.call(n,this._id)},e.enroll=function(t,e){clearTimeout(t._idleTimeoutId),t._idleTimeout=e},e.unenroll=function(t){clearTimeout(t._idleTimeoutId),t._idleTimeout=-1},e._unrefActive=e.active=function(t){clearTimeout(t._idleTimeoutId);var e=t._idleTimeout;e>=0&&(t._idleTimeoutId=setTimeout(function(){t._onTimeout&&t._onTimeout()},e))},l(63),e.setImmediate=\"undefined\"!=typeof self&&self.setImmediate||void 0!==t&&t.setImmediate||this&&this.setImmediate,e.clearImmediate=\"undefined\"!=typeof self&&self.clearImmediate||void 0!==t&&t.clearImmediate||this&&this.clearImmediate}).call(this,l(2))},function(t,e,l){(function(t,e){!function(t,l){\"use strict\";if(!t.setImmediate){var n,i,a,r,o,s=1,c={},u=!1,d=t.document,h=Object.getPrototypeOf&&Object.getPrototypeOf(t);h=h&&h.setTimeout?h:t,\"[object process]\"==={}.toString.call(t.process)?n=function(t){e.nextTick(function(){p(t)})}:!function(){if(t.postMessage&&!t.importScripts){var e=!0,l=t.onmessage;return t.onmessage=function(){e=!1},t.postMessage(\"\",\"*\"),t.onmessage=l,e}}()?t.MessageChannel?((a=new MessageChannel).port1.onmessage=function(t){p(t.data)},n=function(t){a.port2.postMessage(t)}):d&&\"onreadystatechange\"in d.createElement(\"script\")?(i=d.documentElement,n=function(t){var e=d.createElement(\"script\");e.onreadystatechange=function(){p(t),e.onreadystatechange=null,i.removeChild(e),e=null},i.appendChild(e)}):n=function(t){setTimeout(p,0,t)}:(r=\"setImmediate$\"+Math.random()+\"$\",o=function(e){e.source===t&&\"string\"==typeof e.data&&0===e.data.indexOf(r)&&p(+e.data.slice(r.length))},t.addEventListener?t.addEventListener(\"message\",o,!1):t.attachEvent(\"onmessage\",o),n=function(e){t.postMessage(r+e,\"*\")}),h.setImmediate=function(t){\"function\"!=typeof t&&(t=new Function(\"\"+t));for(var e=new Array(arguments.length-1),l=0;l<e.length;l++)e[l]=arguments[l+1];var i={callback:t,args:e};return c[s]=i,n(s),s++},h.clearImmediate=f}function f(t){delete c[t]}function p(t){if(u)setTimeout(p,0,t);else{var e=c[t];if(e){u=!0;try{!function(t){var e=t.callback,n=t.args;switch(n.length){case 0:e();break;case 1:e(n[0]);break;case 2:e(n[0],n[1]);break;case 3:e(n[0],n[1],n[2]);break;default:e.apply(l,n)}}(e)}finally{f(t),u=!1}}}}}(\"undefined\"==typeof self?void 0===t?this:t:self)}).call(this,l(2),l(46))},function(t,e,l){\"use strict\";(function(e){var n=l(65),i=l(66),a=e.document,r=function(t,e,l,n){return t.addEventListener(e,l,n)},o=function(t,e,l,n){return t.removeEventListener(e,l,n)},s=[];function c(t,e,l){var n=function(t,e,l){var n,i;for(n=0;n<s.length;n++)if((i=s[n]).element===t&&i.type===e&&i.fn===l)return n}(t,e,l);if(n){var i=s[n].wrapper;return s.splice(n,1),i}}e.addEventListener||(r=function(t,l,n){return t.attachEvent(\"on\"+l,function(t,l,n){var i=c(t,l,n)||function(t,l,n){return function(l){var i=l||e.event;i.target=i.target||i.srcElement,i.preventDefault=i.preventDefault||function(){i.returnValue=!1},i.stopPropagation=i.stopPropagation||function(){i.cancelBubble=!0},i.which=i.which||i.keyCode,n.call(t,i)}}(t,0,n);return s.push({wrapper:i,element:t,type:l,fn:n}),i}(t,l,n))},o=function(t,e,l){var n=c(t,e,l);if(n)return t.detachEvent(\"on\"+e,n)}),t.exports={add:r,remove:o,fabricate:function(t,e,l){var r=-1===i.indexOf(e)?new n(e,{detail:l}):function(){var t;a.createEvent?(t=a.createEvent(\"Event\")).initEvent(e,!0,!0):a.createEventObject&&(t=a.createEventObject());return t}();t.dispatchEvent?t.dispatchEvent(r):t.fireEvent(\"on\"+e,r)}}}).call(this,l(2))},function(t,e,l){(function(e){var l=e.CustomEvent;t.exports=function(){try{var t=new l(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?l:\"function\"==typeof document.createEvent?function(t,e){var l=document.createEvent(\"CustomEvent\");return e?l.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):l.initCustomEvent(t,!1,!1,void 0),l}:function(t,e){var l=document.createEventObject();return l.type=t,e?(l.bubbles=Boolean(e.bubbles),l.cancelable=Boolean(e.cancelable),l.detail=e.detail):(l.bubbles=!1,l.cancelable=!1,l.detail=void 0),l}}).call(this,l(2))},function(t,e,l){\"use strict\";(function(e){var l=[],n=\"\",i=/^on/;for(n in e)i.test(n)&&l.push(n.slice(2));t.exports=l}).call(this,l(2))},function(t,e,l){\"use strict\";var n={},i=\"(?:^|\\\\s)\",a=\"(?:\\\\s|$)\";function r(t){var e=n[t];return e?e.lastIndex=0:n[t]=e=new RegExp(i+t+a,\"g\"),e}t.exports={add:function(t,e){var l=t.className;l.length?r(e).test(l)||(t.className+=\" \"+e):t.className=e},rm:function(t,e){t.className=t.className.replace(r(e),\" \").trim()}}},function(t,e){t.exports=function(t){return t.webpackPolyfill||(t.deprecate=function(){},t.paths=[],t.children||(t.children=[]),Object.defineProperty(t,\"loaded\",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,\"id\",{enumerable:!0,get:function(){return t.i}}),t.webpackPolyfill=1),t}},function(t,e,l){\"use strict\";(function(t){var e=l(49),n=l.n(e);t(function(){document.getElementsByClassName(\"js-simplebar\").length>0&&new n.a(document.getElementsByClassName(\"js-simplebar\")[0]);t(\".sidebar-toggle\").on(\"click\",function(){t(\".sidebar\").toggleClass(\"toggled\").one(\"transitionend\",function(){setTimeout(function(){window.dispatchEvent(new Event(\"resize\"))},100)})});var e=t(\".sidebar .active\");if(e.length&&e.parent(\".collapse\").length){var l=e.parent(\".collapse\");l.prev(\"a\").attr(\"aria-expanded\",!0),l.addClass(\"show\")}})}).call(this,l(1))},function(t,e){t.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(t,e){document.documentElement.setAttribute(\"data-useragent\",navigator.userAgent)},function(t,e,l){\"use strict\";(function(t){var e=l(52),n=l.n(e);window.ApexCharts=n.a,t(function(){window.Apex={colors:[window.theme.primary,window.theme.success,window.theme.warning,window.theme.danger,window.theme.info]}})}).call(this,l(1))},function(t,e,l){var n,i;\n/**\n* @version: 3.0.3\n* @author: Dan Grossman http://www.dangrossman.info/\n* @copyright: Copyright (c) 2012-2018 Dan Grossman. All rights reserved.\n* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php\n* @website: http://www.daterangepicker.com/\n*/n=[l(23),l(1)],void 0===(i=function(t,e){return e.fn||(e.fn={}),function(t,e){var l=function(l,n,i){if(this.parentEl=\"body\",this.element=e(l),this.startDate=t().startOf(\"day\"),this.endDate=t().endOf(\"day\"),this.minDate=!1,this.maxDate=!1,this.maxSpan=!1,this.autoApply=!1,this.singleDatePicker=!1,this.showDropdowns=!1,this.minYear=t().subtract(100,\"year\").format(\"YYYY\"),this.maxYear=t().add(100,\"year\").format(\"YYYY\"),this.showWeekNumbers=!1,this.showISOWeekNumbers=!1,this.showCustomRangeLabel=!0,this.timePicker=!1,this.timePicker24Hour=!1,this.timePickerIncrement=1,this.timePickerSeconds=!1,this.linkedCalendars=!0,this.autoUpdateInput=!0,this.alwaysShowCalendars=!1,this.ranges={},this.opens=\"right\",this.element.hasClass(\"pull-right\")&&(this.opens=\"left\"),this.drops=\"down\",this.element.hasClass(\"dropup\")&&(this.drops=\"up\"),this.buttonClasses=\"btn btn-sm\",this.applyButtonClasses=\"btn-primary\",this.cancelButtonClasses=\"btn-default\",this.locale={direction:\"ltr\",format:t.localeData().longDateFormat(\"L\"),separator:\" - \",applyLabel:\"Apply\",cancelLabel:\"Cancel\",weekLabel:\"W\",customRangeLabel:\"Custom Range\",daysOfWeek:t.weekdaysMin(),monthNames:t.monthsShort(),firstDay:t.localeData().firstDayOfWeek()},this.callback=function(){},this.isShowing=!1,this.leftCalendar={},this.rightCalendar={},\"object\"==typeof n&&null!==n||(n={}),\"string\"==typeof(n=e.extend(this.element.data(),n)).template||n.template instanceof e||(n.template='<div class=\"daterangepicker\"><div class=\"ranges\"></div><div class=\"drp-calendar left\"><div class=\"calendar-table\"></div><div class=\"calendar-time\"></div></div><div class=\"drp-calendar right\"><div class=\"calendar-table\"></div><div class=\"calendar-time\"></div></div><div class=\"drp-buttons\"><span class=\"drp-selected\"></span><button class=\"cancelBtn\" type=\"button\"></button><button class=\"applyBtn\" disabled=\"disabled\" type=\"button\"></button> </div></div>'),this.parentEl=n.parentEl&&e(n.parentEl).length?e(n.parentEl):e(this.parentEl),this.container=e(n.template).appendTo(this.parentEl),\"object\"==typeof n.locale&&(\"string\"==typeof n.locale.direction&&(this.locale.direction=n.locale.direction),\"string\"==typeof n.locale.format&&(this.locale.format=n.locale.format),\"string\"==typeof n.locale.separator&&(this.locale.separator=n.locale.separator),\"object\"==typeof n.locale.daysOfWeek&&(this.locale.daysOfWeek=n.locale.daysOfWeek.slice()),\"object\"==typeof n.locale.monthNames&&(this.locale.monthNames=n.locale.monthNames.slice()),\"number\"==typeof n.locale.firstDay&&(this.locale.firstDay=n.locale.firstDay),\"string\"==typeof n.locale.applyLabel&&(this.locale.applyLabel=n.locale.applyLabel),\"string\"==typeof n.locale.cancelLabel&&(this.locale.cancelLabel=n.locale.cancelLabel),\"string\"==typeof n.locale.weekLabel&&(this.locale.weekLabel=n.locale.weekLabel),\"string\"==typeof n.locale.customRangeLabel)){var a=document.createElement(\"textarea\");a.innerHTML=n.locale.customRangeLabel;var r=a.value;this.locale.customRangeLabel=r}if(this.container.addClass(this.locale.direction),\"string\"==typeof n.startDate&&(this.startDate=t(n.startDate,this.locale.format)),\"string\"==typeof n.endDate&&(this.endDate=t(n.endDate,this.locale.format)),\"string\"==typeof n.minDate&&(this.minDate=t(n.minDate,this.locale.format)),\"string\"==typeof n.maxDate&&(this.maxDate=t(n.maxDate,this.locale.format)),\"object\"==typeof n.startDate&&(this.startDate=t(n.startDate)),\"object\"==typeof n.endDate&&(this.endDate=t(n.endDate)),\"object\"==typeof n.minDate&&(this.minDate=t(n.minDate)),\"object\"==typeof n.maxDate&&(this.maxDate=t(n.maxDate)),this.minDate&&this.startDate.isBefore(this.minDate)&&(this.startDate=this.minDate.clone()),this.maxDate&&this.endDate.isAfter(this.maxDate)&&(this.endDate=this.maxDate.clone()),\"string\"==typeof n.applyButtonClasses&&(this.applyButtonClasses=n.applyButtonClasses),\"string\"==typeof n.applyClass&&(this.applyButtonClasses=n.applyClass),\"string\"==typeof n.cancelButtonClasses&&(this.cancelButtonClasses=n.cancelButtonClasses),\"string\"==typeof n.cancelClass&&(this.cancelButtonClasses=n.cancelClass),\"object\"==typeof n.maxSpan&&(this.maxSpan=n.maxSpan),\"object\"==typeof n.dateLimit&&(this.maxSpan=n.dateLimit),\"string\"==typeof n.opens&&(this.opens=n.opens),\"string\"==typeof n.drops&&(this.drops=n.drops),\"boolean\"==typeof n.showWeekNumbers&&(this.showWeekNumbers=n.showWeekNumbers),\"boolean\"==typeof n.showISOWeekNumbers&&(this.showISOWeekNumbers=n.showISOWeekNumbers),\"string\"==typeof n.buttonClasses&&(this.buttonClasses=n.buttonClasses),\"object\"==typeof n.buttonClasses&&(this.buttonClasses=n.buttonClasses.join(\" \")),\"boolean\"==typeof n.showDropdowns&&(this.showDropdowns=n.showDropdowns),\"number\"==typeof n.minYear&&(this.minYear=n.minYear),\"number\"==typeof n.maxYear&&(this.maxYear=n.maxYear),\"boolean\"==typeof n.showCustomRangeLabel&&(this.showCustomRangeLabel=n.showCustomRangeLabel),\"boolean\"==typeof n.singleDatePicker&&(this.singleDatePicker=n.singleDatePicker,this.singleDatePicker&&(this.endDate=this.startDate.clone())),\"boolean\"==typeof n.timePicker&&(this.timePicker=n.timePicker),\"boolean\"==typeof n.timePickerSeconds&&(this.timePickerSeconds=n.timePickerSeconds),\"number\"==typeof n.timePickerIncrement&&(this.timePickerIncrement=n.timePickerIncrement),\"boolean\"==typeof n.timePicker24Hour&&(this.timePicker24Hour=n.timePicker24Hour),\"boolean\"==typeof n.autoApply&&(this.autoApply=n.autoApply),\"boolean\"==typeof n.autoUpdateInput&&(this.autoUpdateInput=n.autoUpdateInput),\"boolean\"==typeof n.linkedCalendars&&(this.linkedCalendars=n.linkedCalendars),\"function\"==typeof n.isInvalidDate&&(this.isInvalidDate=n.isInvalidDate),\"function\"==typeof n.isCustomDate&&(this.isCustomDate=n.isCustomDate),\"boolean\"==typeof n.alwaysShowCalendars&&(this.alwaysShowCalendars=n.alwaysShowCalendars),0!=this.locale.firstDay)for(var o=this.locale.firstDay;o>0;)this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()),o--;var s,c,u;if(void 0===n.startDate&&void 0===n.endDate&&e(this.element).is(\":text\")){var d=e(this.element).val(),h=d.split(this.locale.separator);s=c=null,2==h.length?(s=t(h[0],this.locale.format),c=t(h[1],this.locale.format)):this.singleDatePicker&&\"\"!==d&&(s=t(d,this.locale.format),c=t(d,this.locale.format)),null!==s&&null!==c&&(this.setStartDate(s),this.setEndDate(c))}if(\"object\"==typeof n.ranges){for(u in n.ranges){s=\"string\"==typeof n.ranges[u][0]?t(n.ranges[u][0],this.locale.format):t(n.ranges[u][0]),c=\"string\"==typeof n.ranges[u][1]?t(n.ranges[u][1],this.locale.format):t(n.ranges[u][1]),this.minDate&&s.isBefore(this.minDate)&&(s=this.minDate.clone());var f=this.maxDate;if(this.maxSpan&&f&&s.clone().add(this.maxSpan).isAfter(f)&&(f=s.clone().add(this.maxSpan)),f&&c.isAfter(f)&&(c=f.clone()),!(this.minDate&&c.isBefore(this.minDate,this.timepicker?\"minute\":\"day\")||f&&s.isAfter(f,this.timepicker?\"minute\":\"day\"))){var a=document.createElement(\"textarea\");a.innerHTML=u;var r=a.value;this.ranges[r]=[s,c]}}var p=\"<ul>\";for(u in this.ranges)p+='<li data-range-key=\"'+u+'\">'+u+\"</li>\";this.showCustomRangeLabel&&(p+='<li data-range-key=\"'+this.locale.customRangeLabel+'\">'+this.locale.customRangeLabel+\"</li>\"),p+=\"</ul>\",this.container.find(\".ranges\").prepend(p)}\"function\"==typeof i&&(this.callback=i),this.timePicker||(this.startDate=this.startDate.startOf(\"day\"),this.endDate=this.endDate.endOf(\"day\"),this.container.find(\".calendar-time\").hide()),this.timePicker&&this.autoApply&&(this.autoApply=!1),this.autoApply&&this.container.addClass(\"auto-apply\"),\"object\"==typeof n.ranges&&this.container.addClass(\"show-ranges\"),this.singleDatePicker&&(this.container.addClass(\"single\"),this.container.find(\".drp-calendar.left\").addClass(\"single\"),this.container.find(\".drp-calendar.left\").show(),this.container.find(\".drp-calendar.right\").hide(),this.timePicker||this.container.addClass(\"auto-apply\")),(void 0===n.ranges&&!this.singleDatePicker||this.alwaysShowCalendars)&&this.container.addClass(\"show-calendar\"),this.container.addClass(\"opens\"+this.opens),this.container.find(\".applyBtn, .cancelBtn\").addClass(this.buttonClasses),this.applyButtonClasses.length&&this.container.find(\".applyBtn\").addClass(this.applyButtonClasses),this.cancelButtonClasses.length&&this.container.find(\".cancelBtn\").addClass(this.cancelButtonClasses),this.container.find(\".applyBtn\").html(this.locale.applyLabel),this.container.find(\".cancelBtn\").html(this.locale.cancelLabel),this.container.find(\".drp-calendar\").on(\"click.daterangepicker\",\".prev\",e.proxy(this.clickPrev,this)).on(\"click.daterangepicker\",\".next\",e.proxy(this.clickNext,this)).on(\"mousedown.daterangepicker\",\"td.available\",e.proxy(this.clickDate,this)).on(\"mouseenter.daterangepicker\",\"td.available\",e.proxy(this.hoverDate,this)).on(\"change.daterangepicker\",\"select.yearselect\",e.proxy(this.monthOrYearChanged,this)).on(\"change.daterangepicker\",\"select.monthselect\",e.proxy(this.monthOrYearChanged,this)).on(\"change.daterangepicker\",\"select.hourselect,select.minuteselect,select.secondselect,select.ampmselect\",e.proxy(this.timeChanged,this)),this.container.find(\".ranges\").on(\"click.daterangepicker\",\"li\",e.proxy(this.clickRange,this)),this.container.find(\".drp-buttons\").on(\"click.daterangepicker\",\"button.applyBtn\",e.proxy(this.clickApply,this)).on(\"click.daterangepicker\",\"button.cancelBtn\",e.proxy(this.clickCancel,this)),this.element.is(\"input\")||this.element.is(\"button\")?this.element.on({\"click.daterangepicker\":e.proxy(this.show,this),\"focus.daterangepicker\":e.proxy(this.show,this),\"keyup.daterangepicker\":e.proxy(this.elementChanged,this),\"keydown.daterangepicker\":e.proxy(this.keydown,this)}):(this.element.on(\"click.daterangepicker\",e.proxy(this.toggle,this)),this.element.on(\"keydown.daterangepicker\",e.proxy(this.toggle,this))),this.updateElement()};return l.prototype={constructor:l,setStartDate:function(e){\"string\"==typeof e&&(this.startDate=t(e,this.locale.format)),\"object\"==typeof e&&(this.startDate=t(e)),this.timePicker||(this.startDate=this.startDate.startOf(\"day\")),this.timePicker&&this.timePickerIncrement&&this.startDate.minute(Math.round(this.startDate.minute()/this.timePickerIncrement)*this.timePickerIncrement),this.minDate&&this.startDate.isBefore(this.minDate)&&(this.startDate=this.minDate.clone(),this.timePicker&&this.timePickerIncrement&&this.startDate.minute(Math.round(this.startDate.minute()/this.timePickerIncrement)*this.timePickerIncrement)),this.maxDate&&this.startDate.isAfter(this.maxDate)&&(this.startDate=this.maxDate.clone(),this.timePicker&&this.timePickerIncrement&&this.startDate.minute(Math.floor(this.startDate.minute()/this.timePickerIncrement)*this.timePickerIncrement)),this.isShowing||this.updateElement(),this.updateMonthsInView()},setEndDate:function(e){\"string\"==typeof e&&(this.endDate=t(e,this.locale.format)),\"object\"==typeof e&&(this.endDate=t(e)),this.timePicker||(this.endDate=this.endDate.add(1,\"d\").startOf(\"day\").subtract(1,\"second\")),this.timePicker&&this.timePickerIncrement&&this.endDate.minute(Math.round(this.endDate.minute()/this.timePickerIncrement)*this.timePickerIncrement),this.endDate.isBefore(this.startDate)&&(this.endDate=this.startDate.clone()),this.maxDate&&this.endDate.isAfter(this.maxDate)&&(this.endDate=this.maxDate.clone()),this.maxSpan&&this.startDate.clone().add(this.maxSpan).isBefore(this.endDate)&&(this.endDate=this.startDate.clone().add(this.maxSpan)),this.previousRightTime=this.endDate.clone(),this.container.find(\".drp-selected\").html(this.startDate.format(this.locale.format)+this.locale.separator+this.endDate.format(this.locale.format)),this.isShowing||this.updateElement(),this.updateMonthsInView()},isInvalidDate:function(){return!1},isCustomDate:function(){return!1},updateView:function(){this.timePicker&&(this.renderTimePicker(\"left\"),this.renderTimePicker(\"right\"),this.endDate?this.container.find(\".right .calendar-time select\").removeAttr(\"disabled\").removeClass(\"disabled\"):this.container.find(\".right .calendar-time select\").attr(\"disabled\",\"disabled\").addClass(\"disabled\")),this.endDate&&this.container.find(\".drp-selected\").html(this.startDate.format(this.locale.format)+this.locale.separator+this.endDate.format(this.locale.format)),this.updateMonthsInView(),this.updateCalendars(),this.updateFormInputs()},updateMonthsInView:function(){if(this.endDate){if(!this.singleDatePicker&&this.leftCalendar.month&&this.rightCalendar.month&&(this.startDate.format(\"YYYY-MM\")==this.leftCalendar.month.format(\"YYYY-MM\")||this.startDate.format(\"YYYY-MM\")==this.rightCalendar.month.format(\"YYYY-MM\"))&&(this.endDate.format(\"YYYY-MM\")==this.leftCalendar.month.format(\"YYYY-MM\")||this.endDate.format(\"YYYY-MM\")==this.rightCalendar.month.format(\"YYYY-MM\")))return;this.leftCalendar.month=this.startDate.clone().date(2),this.linkedCalendars||this.endDate.month()==this.startDate.month()&&this.endDate.year()==this.startDate.year()?this.rightCalendar.month=this.startDate.clone().date(2).add(1,\"month\"):this.rightCalendar.month=this.endDate.clone().date(2)}else this.leftCalendar.month.format(\"YYYY-MM\")!=this.startDate.format(\"YYYY-MM\")&&this.rightCalendar.month.format(\"YYYY-MM\")!=this.startDate.format(\"YYYY-MM\")&&(this.leftCalendar.month=this.startDate.clone().date(2),this.rightCalendar.month=this.startDate.clone().date(2).add(1,\"month\"));this.maxDate&&this.linkedCalendars&&!this.singleDatePicker&&this.rightCalendar.month>this.maxDate&&(this.rightCalendar.month=this.maxDate.clone().date(2),this.leftCalendar.month=this.maxDate.clone().date(2).subtract(1,\"month\"))},updateCalendars:function(){var t,e,l,n;this.timePicker&&(this.endDate?(t=parseInt(this.container.find(\".left .hourselect\").val(),10),e=parseInt(this.container.find(\".left .minuteselect\").val(),10),l=this.timePickerSeconds?parseInt(this.container.find(\".left .secondselect\").val(),10):0,this.timePicker24Hour||(\"PM\"===(n=this.container.find(\".left .ampmselect\").val())&&t<12&&(t+=12),\"AM\"===n&&12===t&&(t=0))):(t=parseInt(this.container.find(\".right .hourselect\").val(),10),e=parseInt(this.container.find(\".right .minuteselect\").val(),10),l=this.timePickerSeconds?parseInt(this.container.find(\".right .secondselect\").val(),10):0,this.timePicker24Hour||(\"PM\"===(n=this.container.find(\".right .ampmselect\").val())&&t<12&&(t+=12),\"AM\"===n&&12===t&&(t=0))),this.leftCalendar.month.hour(t).minute(e).second(l),this.rightCalendar.month.hour(t).minute(e).second(l)),this.renderCalendar(\"left\"),this.renderCalendar(\"right\"),this.container.find(\".ranges li\").removeClass(\"active\"),null!=this.endDate&&this.calculateChosenLabel()},renderCalendar:function(l){var n,i=(n=\"left\"==l?this.leftCalendar:this.rightCalendar).month.month(),a=n.month.year(),r=n.month.hour(),o=n.month.minute(),s=n.month.second(),c=t([a,i]).daysInMonth(),u=t([a,i,1]),d=t([a,i,c]),h=t(u).subtract(1,\"month\").month(),f=t(u).subtract(1,\"month\").year(),p=t([f,h]).daysInMonth(),g=u.day();(n=[]).firstDay=u,n.lastDay=d;for(var m=0;m<6;m++)n[m]=[];var b=p-g+this.locale.firstDay+1;b>p&&(b-=7),g==this.locale.firstDay&&(b=p-6);for(var v=t([f,h,b,12,o,s]),y=(m=0,0),x=0;m<42;m++,y++,v=t(v).add(24,\"hour\"))m>0&&y%7==0&&(y=0,x++),n[x][y]=v.clone().hour(r).minute(o).second(s),v.hour(12),this.minDate&&n[x][y].format(\"YYYY-MM-DD\")==this.minDate.format(\"YYYY-MM-DD\")&&n[x][y].isBefore(this.minDate)&&\"left\"==l&&(n[x][y]=this.minDate.clone()),this.maxDate&&n[x][y].format(\"YYYY-MM-DD\")==this.maxDate.format(\"YYYY-MM-DD\")&&n[x][y].isAfter(this.maxDate)&&\"right\"==l&&(n[x][y]=this.maxDate.clone());\"left\"==l?this.leftCalendar.calendar=n:this.rightCalendar.calendar=n;var _=\"left\"==l?this.minDate:this.startDate,w=this.maxDate,S=(\"left\"==l?this.startDate:this.endDate,this.locale.direction,'<table class=\"table-condensed\">');S+=\"<thead>\",S+=\"<tr>\",(this.showWeekNumbers||this.showISOWeekNumbers)&&(S+=\"<th></th>\"),_&&!_.isBefore(n.firstDay)||this.linkedCalendars&&\"left\"!=l?S+=\"<th></th>\":S+='<th class=\"prev available\"><span></span></th>';var k=this.locale.monthNames[n[1][1].month()]+n[1][1].format(\" YYYY\");if(this.showDropdowns){for(var C=n[1][1].month(),T=n[1][1].year(),D=w&&w.year()||this.maxYear,M=_&&_.year()||this.minYear,A=T==M,E=T==D,j='<select class=\"monthselect\">',I=0;I<12;I++)(!A||I>=_.month())&&(!E||I<=w.month())?j+=\"<option value='\"+I+\"'\"+(I===C?\" selected='selected'\":\"\")+\">\"+this.locale.monthNames[I]+\"</option>\":j+=\"<option value='\"+I+\"'\"+(I===C?\" selected='selected'\":\"\")+\" disabled='disabled'>\"+this.locale.monthNames[I]+\"</option>\";j+=\"</select>\";for(var P='<select class=\"yearselect\">',O=M;O<=D;O++)P+='<option value=\"'+O+'\"'+(O===T?' selected=\"selected\"':\"\")+\">\"+O+\"</option>\";k=j+(P+=\"</select>\")}if(S+='<th colspan=\"5\" class=\"month\">'+k+\"</th>\",w&&!w.isAfter(n.lastDay)||this.linkedCalendars&&\"right\"!=l&&!this.singleDatePicker?S+=\"<th></th>\":S+='<th class=\"next available\"><span></span></th>',S+=\"</tr>\",S+=\"<tr>\",(this.showWeekNumbers||this.showISOWeekNumbers)&&(S+='<th class=\"week\">'+this.locale.weekLabel+\"</th>\"),e.each(this.locale.daysOfWeek,function(t,e){S+=\"<th>\"+e+\"</th>\"}),S+=\"</tr>\",S+=\"</thead>\",S+=\"<tbody>\",null==this.endDate&&this.maxSpan){var L=this.startDate.clone().add(this.maxSpan).endOf(\"day\");w&&!L.isBefore(w)||(w=L)}for(x=0;x<6;x++){for(S+=\"<tr>\",this.showWeekNumbers?S+='<td class=\"week\">'+n[x][0].week()+\"</td>\":this.showISOWeekNumbers&&(S+='<td class=\"week\">'+n[x][0].isoWeek()+\"</td>\"),y=0;y<7;y++){var R=[];n[x][y].isSame(new Date,\"day\")&&R.push(\"today\"),n[x][y].isoWeekday()>5&&R.push(\"weekend\"),n[x][y].month()!=n[1][1].month()&&R.push(\"off\"),this.minDate&&n[x][y].isBefore(this.minDate,\"day\")&&R.push(\"off\",\"disabled\"),w&&n[x][y].isAfter(w,\"day\")&&R.push(\"off\",\"disabled\"),this.isInvalidDate(n[x][y])&&R.push(\"off\",\"disabled\"),n[x][y].format(\"YYYY-MM-DD\")==this.startDate.format(\"YYYY-MM-DD\")&&R.push(\"active\",\"start-date\"),null!=this.endDate&&n[x][y].format(\"YYYY-MM-DD\")==this.endDate.format(\"YYYY-MM-DD\")&&R.push(\"active\",\"end-date\"),null!=this.endDate&&n[x][y]>this.startDate&&n[x][y]<this.endDate&&R.push(\"in-range\");var N=this.isCustomDate(n[x][y]);!1!==N&&(\"string\"==typeof N?R.push(N):Array.prototype.push.apply(R,N));var F=\"\",B=!1;for(m=0;m<R.length;m++)F+=R[m]+\" \",\"disabled\"==R[m]&&(B=!0);B||(F+=\"available\"),S+='<td class=\"'+F.replace(/^\\s+|\\s+$/g,\"\")+'\" data-title=\"r'+x+\"c\"+y+'\">'+n[x][y].date()+\"</td>\"}S+=\"</tr>\"}S+=\"</tbody>\",S+=\"</table>\",this.container.find(\".drp-calendar.\"+l+\" .calendar-table\").html(S)},renderTimePicker:function(t){if(\"right\"!=t||this.endDate){var e,l,n,i=this.maxDate;if(!this.maxSpan||this.maxDate&&!this.startDate.clone().add(this.maxSpan).isAfter(this.maxDate)||(i=this.startDate.clone().add(this.maxSpan)),\"left\"==t)l=this.startDate.clone(),n=this.minDate;else if(\"right\"==t){l=this.endDate.clone(),n=this.startDate;var a=this.container.find(\".drp-calendar.right .calendar-time\");if(\"\"!=a.html()&&(l.hour(l.hour()||a.find(\".hourselect option:selected\").val()),l.minute(l.minute()||a.find(\".minuteselect option:selected\").val()),l.second(l.second()||a.find(\".secondselect option:selected\").val()),!this.timePicker24Hour)){var r=a.find(\".ampmselect option:selected\").val();\"PM\"===r&&l.hour()<12&&l.hour(l.hour()+12),\"AM\"===r&&12===l.hour()&&l.hour(0)}l.isBefore(this.startDate)&&(l=this.startDate.clone()),i&&l.isAfter(i)&&(l=i.clone())}e='<select class=\"hourselect\">';for(var o=this.timePicker24Hour?0:1,s=this.timePicker24Hour?23:12,c=o;c<=s;c++){var u=c;this.timePicker24Hour||(u=l.hour()>=12?12==c?12:c+12:12==c?0:c);var d=l.clone().hour(u),h=!1;n&&d.minute(59).isBefore(n)&&(h=!0),i&&d.minute(0).isAfter(i)&&(h=!0),u!=l.hour()||h?e+=h?'<option value=\"'+c+'\" disabled=\"disabled\" class=\"disabled\">'+c+\"</option>\":'<option value=\"'+c+'\">'+c+\"</option>\":e+='<option value=\"'+c+'\" selected=\"selected\">'+c+\"</option>\"}for(e+=\"</select> \",e+=': <select class=\"minuteselect\">',c=0;c<60;c+=this.timePickerIncrement){var f=c<10?\"0\"+c:c;d=l.clone().minute(c),h=!1,n&&d.second(59).isBefore(n)&&(h=!0),i&&d.second(0).isAfter(i)&&(h=!0),l.minute()!=c||h?e+=h?'<option value=\"'+c+'\" disabled=\"disabled\" class=\"disabled\">'+f+\"</option>\":'<option value=\"'+c+'\">'+f+\"</option>\":e+='<option value=\"'+c+'\" selected=\"selected\">'+f+\"</option>\"}if(e+=\"</select> \",this.timePickerSeconds){for(e+=': <select class=\"secondselect\">',c=0;c<60;c++)f=c<10?\"0\"+c:c,d=l.clone().second(c),h=!1,n&&d.isBefore(n)&&(h=!0),i&&d.isAfter(i)&&(h=!0),l.second()!=c||h?e+=h?'<option value=\"'+c+'\" disabled=\"disabled\" class=\"disabled\">'+f+\"</option>\":'<option value=\"'+c+'\">'+f+\"</option>\":e+='<option value=\"'+c+'\" selected=\"selected\">'+f+\"</option>\";e+=\"</select> \"}if(!this.timePicker24Hour){e+='<select class=\"ampmselect\">';var p=\"\",g=\"\";n&&l.clone().hour(12).minute(0).second(0).isBefore(n)&&(p=' disabled=\"disabled\" class=\"disabled\"'),i&&l.clone().hour(0).minute(0).second(0).isAfter(i)&&(g=' disabled=\"disabled\" class=\"disabled\"'),l.hour()>=12?e+='<option value=\"AM\"'+p+'>AM</option><option value=\"PM\" selected=\"selected\"'+g+\">PM</option>\":e+='<option value=\"AM\" selected=\"selected\"'+p+'>AM</option><option value=\"PM\"'+g+\">PM</option>\",e+=\"</select>\"}this.container.find(\".drp-calendar.\"+t+\" .calendar-time\").html(e)}},updateFormInputs:function(){this.singleDatePicker||this.endDate&&(this.startDate.isBefore(this.endDate)||this.startDate.isSame(this.endDate))?this.container.find(\"button.applyBtn\").removeAttr(\"disabled\"):this.container.find(\"button.applyBtn\").attr(\"disabled\",\"disabled\")},move:function(){var t,l={top:0,left:0},n=e(window).width();this.parentEl.is(\"body\")||(l={top:this.parentEl.offset().top-this.parentEl.scrollTop(),left:this.parentEl.offset().left-this.parentEl.scrollLeft()},n=this.parentEl[0].clientWidth+this.parentEl.offset().left),t=\"up\"==this.drops?this.element.offset().top-this.container.outerHeight()-l.top:this.element.offset().top+this.element.outerHeight()-l.top,this.container[\"up\"==this.drops?\"addClass\":\"removeClass\"](\"drop-up\"),\"left\"==this.opens?(this.container.css({top:t,right:n-this.element.offset().left-this.element.outerWidth(),left:\"auto\"}),this.container.offset().left<0&&this.container.css({right:\"auto\",left:9})):\"center\"==this.opens?(this.container.css({top:t,left:this.element.offset().left-l.left+this.element.outerWidth()/2-this.container.outerWidth()/2,right:\"auto\"}),this.container.offset().left<0&&this.container.css({right:\"auto\",left:9})):(this.container.css({top:t,left:this.element.offset().left-l.left,right:\"auto\"}),this.container.offset().left+this.container.outerWidth()>e(window).width()&&this.container.css({left:\"auto\",right:0}))},show:function(t){this.isShowing||(this._outsideClickProxy=e.proxy(function(t){this.outsideClick(t)},this),e(document).on(\"mousedown.daterangepicker\",this._outsideClickProxy).on(\"touchend.daterangepicker\",this._outsideClickProxy).on(\"click.daterangepicker\",\"[data-toggle=dropdown]\",this._outsideClickProxy).on(\"focusin.daterangepicker\",this._outsideClickProxy),e(window).on(\"resize.daterangepicker\",e.proxy(function(t){this.move(t)},this)),this.oldStartDate=this.startDate.clone(),this.oldEndDate=this.endDate.clone(),this.previousRightTime=this.endDate.clone(),this.updateView(),this.container.show(),this.move(),this.element.trigger(\"show.daterangepicker\",this),this.isShowing=!0)},hide:function(t){this.isShowing&&(this.endDate||(this.startDate=this.oldStartDate.clone(),this.endDate=this.oldEndDate.clone()),this.startDate.isSame(this.oldStartDate)&&this.endDate.isSame(this.oldEndDate)||this.callback(this.startDate.clone(),this.endDate.clone(),this.chosenLabel),this.updateElement(),e(document).off(\".daterangepicker\"),e(window).off(\".daterangepicker\"),this.container.hide(),this.element.trigger(\"hide.daterangepicker\",this),this.isShowing=!1)},toggle:function(t){this.isShowing?this.hide():this.show()},outsideClick:function(t){var l=e(t.target);\"focusin\"==t.type||l.closest(this.element).length||l.closest(this.container).length||l.closest(\".calendar-table\").length||(this.hide(),this.element.trigger(\"outsideClick.daterangepicker\",this))},showCalendars:function(){this.container.addClass(\"show-calendar\"),this.move(),this.element.trigger(\"showCalendar.daterangepicker\",this)},hideCalendars:function(){this.container.removeClass(\"show-calendar\"),this.element.trigger(\"hideCalendar.daterangepicker\",this)},clickRange:function(t){var e=t.target.getAttribute(\"data-range-key\");if(this.chosenLabel=e,e==this.locale.customRangeLabel)this.showCalendars();else{var l=this.ranges[e];this.startDate=l[0],this.endDate=l[1],this.timePicker||(this.startDate.startOf(\"day\"),this.endDate.endOf(\"day\")),this.alwaysShowCalendars||this.hideCalendars(),this.clickApply()}},clickPrev:function(t){e(t.target).parents(\".drp-calendar\").hasClass(\"left\")?(this.leftCalendar.month.subtract(1,\"month\"),this.linkedCalendars&&this.rightCalendar.month.subtract(1,\"month\")):this.rightCalendar.month.subtract(1,\"month\"),this.updateCalendars()},clickNext:function(t){e(t.target).parents(\".drp-calendar\").hasClass(\"left\")?this.leftCalendar.month.add(1,\"month\"):(this.rightCalendar.month.add(1,\"month\"),this.linkedCalendars&&this.leftCalendar.month.add(1,\"month\")),this.updateCalendars()},hoverDate:function(t){if(e(t.target).hasClass(\"available\")){var l=e(t.target).attr(\"data-title\"),n=l.substr(1,1),i=l.substr(3,1),a=e(t.target).parents(\".drp-calendar\").hasClass(\"left\")?this.leftCalendar.calendar[n][i]:this.rightCalendar.calendar[n][i],r=this.leftCalendar,o=this.rightCalendar,s=this.startDate;this.endDate||this.container.find(\".drp-calendar tbody td\").each(function(t,l){if(!e(l).hasClass(\"week\")){var n=e(l).attr(\"data-title\"),i=n.substr(1,1),c=n.substr(3,1),u=e(l).parents(\".drp-calendar\").hasClass(\"left\")?r.calendar[i][c]:o.calendar[i][c];u.isAfter(s)&&u.isBefore(a)||u.isSame(a,\"day\")?e(l).addClass(\"in-range\"):e(l).removeClass(\"in-range\")}})}},clickDate:function(t){if(e(t.target).hasClass(\"available\")){var l=e(t.target).attr(\"data-title\"),n=l.substr(1,1),i=l.substr(3,1),a=e(t.target).parents(\".drp-calendar\").hasClass(\"left\")?this.leftCalendar.calendar[n][i]:this.rightCalendar.calendar[n][i];if(this.endDate||a.isBefore(this.startDate,\"day\")){if(this.timePicker){var r=parseInt(this.container.find(\".left .hourselect\").val(),10);this.timePicker24Hour||(\"PM\"===(c=this.container.find(\".left .ampmselect\").val())&&r<12&&(r+=12),\"AM\"===c&&12===r&&(r=0));var o=parseInt(this.container.find(\".left .minuteselect\").val(),10),s=this.timePickerSeconds?parseInt(this.container.find(\".left .secondselect\").val(),10):0;a=a.clone().hour(r).minute(o).second(s)}this.endDate=null,this.setStartDate(a.clone())}else if(!this.endDate&&a.isBefore(this.startDate))this.setEndDate(this.startDate.clone());else{var c;this.timePicker&&(r=parseInt(this.container.find(\".right .hourselect\").val(),10),this.timePicker24Hour||(\"PM\"===(c=this.container.find(\".right .ampmselect\").val())&&r<12&&(r+=12),\"AM\"===c&&12===r&&(r=0)),o=parseInt(this.container.find(\".right .minuteselect\").val(),10),s=this.timePickerSeconds?parseInt(this.container.find(\".right .secondselect\").val(),10):0,a=a.clone().hour(r).minute(o).second(s)),this.setEndDate(a.clone()),this.autoApply&&(this.calculateChosenLabel(),this.clickApply())}this.singleDatePicker&&(this.setEndDate(this.startDate),this.timePicker||this.clickApply()),this.updateView(),t.stopPropagation()}},calculateChosenLabel:function(){var t=!0,e=0;for(var l in this.ranges){if(this.timePicker){var n=this.timePickerSeconds?\"YYYY-MM-DD hh:mm:ss\":\"YYYY-MM-DD hh:mm\";if(this.startDate.format(n)==this.ranges[l][0].format(n)&&this.endDate.format(n)==this.ranges[l][1].format(n)){t=!1,this.chosenLabel=this.container.find(\".ranges li:eq(\"+e+\")\").addClass(\"active\").attr(\"data-range-key\");break}}else if(this.startDate.format(\"YYYY-MM-DD\")==this.ranges[l][0].format(\"YYYY-MM-DD\")&&this.endDate.format(\"YYYY-MM-DD\")==this.ranges[l][1].format(\"YYYY-MM-DD\")){t=!1,this.chosenLabel=this.container.find(\".ranges li:eq(\"+e+\")\").addClass(\"active\").attr(\"data-range-key\");break}e++}t&&(this.showCustomRangeLabel?this.chosenLabel=this.container.find(\".ranges li:last\").addClass(\"active\").attr(\"data-range-key\"):this.chosenLabel=null,this.showCalendars())},clickApply:function(t){this.hide(),this.element.trigger(\"apply.daterangepicker\",this)},clickCancel:function(t){this.startDate=this.oldStartDate,this.endDate=this.oldEndDate,this.hide(),this.element.trigger(\"cancel.daterangepicker\",this)},monthOrYearChanged:function(t){var l=e(t.target).closest(\".drp-calendar\").hasClass(\"left\"),n=l?\"left\":\"right\",i=this.container.find(\".drp-calendar.\"+n),a=parseInt(i.find(\".monthselect\").val(),10),r=i.find(\".yearselect\").val();l||(r<this.startDate.year()||r==this.startDate.year()&&a<this.startDate.month())&&(a=this.startDate.month(),r=this.startDate.year()),this.minDate&&(r<this.minDate.year()||r==this.minDate.year()&&a<this.minDate.month())&&(a=this.minDate.month(),r=this.minDate.year()),this.maxDate&&(r>this.maxDate.year()||r==this.maxDate.year()&&a>this.maxDate.month())&&(a=this.maxDate.month(),r=this.maxDate.year()),l?(this.leftCalendar.month.month(a).year(r),this.linkedCalendars&&(this.rightCalendar.month=this.leftCalendar.month.clone().add(1,\"month\"))):(this.rightCalendar.month.month(a).year(r),this.linkedCalendars&&(this.leftCalendar.month=this.rightCalendar.month.clone().subtract(1,\"month\"))),this.updateCalendars()},timeChanged:function(t){var l=e(t.target).closest(\".drp-calendar\"),n=l.hasClass(\"left\"),i=parseInt(l.find(\".hourselect\").val(),10),a=parseInt(l.find(\".minuteselect\").val(),10),r=this.timePickerSeconds?parseInt(l.find(\".secondselect\").val(),10):0;if(!this.timePicker24Hour){var o=l.find(\".ampmselect\").val();\"PM\"===o&&i<12&&(i+=12),\"AM\"===o&&12===i&&(i=0)}if(n){var s=this.startDate.clone();s.hour(i),s.minute(a),s.second(r),this.setStartDate(s),this.singleDatePicker?this.endDate=this.startDate.clone():this.endDate&&this.endDate.format(\"YYYY-MM-DD\")==s.format(\"YYYY-MM-DD\")&&this.endDate.isBefore(s)&&this.setEndDate(s.clone())}else if(this.endDate){var c=this.endDate.clone();c.hour(i),c.minute(a),c.second(r),this.setEndDate(c)}this.updateCalendars(),this.updateFormInputs(),this.renderTimePicker(\"left\"),this.renderTimePicker(\"right\")},elementChanged:function(){if(this.element.is(\"input\")&&this.element.val().length){var e=this.element.val().split(this.locale.separator),l=null,n=null;2===e.length&&(l=t(e[0],this.locale.format),n=t(e[1],this.locale.format)),(this.singleDatePicker||null===l||null===n)&&(n=l=t(this.element.val(),this.locale.format)),l.isValid()&&n.isValid()&&(this.setStartDate(l),this.setEndDate(n),this.updateView())}},keydown:function(t){9!==t.keyCode&&13!==t.keyCode||this.hide(),27===t.keyCode&&(t.preventDefault(),t.stopPropagation(),this.hide())},updateElement:function(){if(this.element.is(\"input\")&&this.autoUpdateInput){var t=this.startDate.format(this.locale.format);this.singleDatePicker||(t+=this.locale.separator+this.endDate.format(this.locale.format)),t!==this.element.val()&&this.element.val(t).trigger(\"change\")}},remove:function(){this.container.remove(),this.element.off(\".daterangepicker\"),this.element.removeData()}},e.fn.daterangepicker=function(t,n){var i=e.extend(!0,{},e.fn.daterangepicker.defaultOptions,t);return this.each(function(){var t=e(this);t.data(\"daterangepicker\")&&t.data(\"daterangepicker\").remove(),t.data(\"daterangepicker\",new l(t,i,n))}),this},l}(t,e)}.apply(e,n))||(t.exports=i)},function(t,e,l){\"use strict\";(function(t){l(75);t.fn.datetimepicker.Constructor.Default=t.extend({},t.fn.datetimepicker.Constructor.Default,{icons:{time:\"far fa-clock\",date:\"far fa-calendar\",up:\"fas fa-arrow-up\",down:\"fas fa-arrow-down\",previous:\"fas fa-chevron-left\",next:\"fas fa-chevron-right\",today:\"far fa-calendar-check-o\",clear:\"fas fa-trash\",close:\"fas fa-times\"}})}).call(this,l(1))},function(t,e,l){(function(t){\n/*@preserve\n * Tempus Dominus Bootstrap4 v5.1.2 (https://tempusdominus.github.io/bootstrap-4/)\n * Copyright 2016-2018 Jonathan Peterson\n * Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)\n */\nif(void 0===t)throw new Error(\"Tempus Dominus Bootstrap4's requires jQuery. jQuery must be included before Tempus Dominus Bootstrap4's JavaScript.\");if(function(e){var l=t.fn.jquery.split(\" \")[0].split(\".\");if(l[0]<2&&l[1]<9||1===l[0]&&9===l[1]&&l[2]<1||l[0]>=4)throw new Error(\"Tempus Dominus Bootstrap4's requires at least jQuery v3.0.0 but less than v4.0.0\")}(),\"undefined\"==typeof moment)throw new Error(\"Tempus Dominus Bootstrap4's requires moment.js. Moment.js must be included before Tempus Dominus Bootstrap4's JavaScript.\");var e=moment.version.split(\".\");if(e[0]<=2&&e[1]<17||e[0]>=3)throw new Error(\"Tempus Dominus Bootstrap4's requires at least moment.js v2.17.0 but less than v3.0.0\");!function(){var e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},l=function(){function t(t,e){for(var l=0;l<e.length;l++){var n=e[l];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(e,l,n){return l&&t(e.prototype,l),n&&t(e,n),e}}();function n(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var i=function(t,e){var i=\"datetimepicker\",a=\".datetimepicker\",r={DATA_TOGGLE:'[data-toggle=\"datetimepicker\"]'},o={INPUT:i+\"-input\"},s={CHANGE:\"change\"+a,BLUR:\"blur\"+a,KEYUP:\"keyup\"+a,KEYDOWN:\"keydown\"+a,FOCUS:\"focus\"+a,CLICK_DATA_API:\"click\"+a+\".data-api\",UPDATE:\"update\"+a,ERROR:\"error\"+a,HIDE:\"hide\"+a,SHOW:\"show\"+a},c=[{CLASS_NAME:\"days\",NAV_FUNCTION:\"M\",NAV_STEP:1},{CLASS_NAME:\"months\",NAV_FUNCTION:\"y\",NAV_STEP:1},{CLASS_NAME:\"years\",NAV_FUNCTION:\"y\",NAV_STEP:10},{CLASS_NAME:\"decades\",NAV_FUNCTION:\"y\",NAV_STEP:100}],u={up:38,38:\"up\",down:40,40:\"down\",left:37,37:\"left\",right:39,39:\"right\",tab:9,9:\"tab\",escape:27,27:\"escape\",enter:13,13:\"enter\",pageUp:33,33:\"pageUp\",pageDown:34,34:\"pageDown\",shift:16,16:\"shift\",control:17,17:\"control\",space:32,32:\"space\",t:84,84:\"t\",delete:46,46:\"delete\"},d=[\"times\",\"days\",\"months\",\"years\",\"decades\"],h={},f={},p={timeZone:\"\",format:!1,dayViewHeaderFormat:\"MMMM YYYY\",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:e.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:\"fa fa-clock-o\",date:\"fa fa-calendar\",up:\"fa fa-arrow-up\",down:\"fa fa-arrow-down\",previous:\"fa fa-chevron-left\",next:\"fa fa-chevron-right\",today:\"fa fa-calendar-check-o\",clear:\"fa fa-delete\",close:\"fa fa-times\"},tooltips:{today:\"Go to today\",clear:\"Clear selection\",close:\"Close the picker\",selectMonth:\"Select Month\",prevMonth:\"Previous Month\",nextMonth:\"Next Month\",selectYear:\"Select Year\",prevYear:\"Previous Year\",nextYear:\"Next Year\",selectDecade:\"Select Decade\",prevDecade:\"Previous Decade\",nextDecade:\"Next Decade\",prevCentury:\"Previous Century\",nextCentury:\"Next Century\",pickHour:\"Pick Hour\",incrementHour:\"Increment Hour\",decrementHour:\"Decrement Hour\",pickMinute:\"Pick Minute\",incrementMinute:\"Increment Minute\",decrementMinute:\"Decrement Minute\",pickSecond:\"Pick Second\",incrementSecond:\"Increment Second\",decrementSecond:\"Decrement Second\",togglePeriod:\"Toggle Period\",selectTime:\"Select Time\",selectDate:\"Select Date\"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:\"days\",toolbarPlacement:\"default\",buttons:{showToday:!1,showClear:!1,showClose:!1},widgetPositioning:{horizontal:\"auto\",vertical:\"auto\"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,keyBinds:{up:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")?this.date(t.clone().subtract(7,\"d\")):this.date(t.clone().add(this.stepping(),\"m\")),!0},down:function(){if(!this.widget)return this.show(),!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")?this.date(t.clone().add(7,\"d\")):this.date(t.clone().subtract(this.stepping(),\"m\")),!0},\"control up\":function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")?this.date(t.clone().subtract(1,\"y\")):this.date(t.clone().add(1,\"h\")),!0},\"control down\":function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")?this.date(t.clone().add(1,\"y\")):this.date(t.clone().subtract(1,\"h\")),!0},left:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")&&this.date(t.clone().subtract(1,\"d\")),!0},right:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")&&this.date(t.clone().add(1,\"d\")),!0},pageUp:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")&&this.date(t.clone().subtract(1,\"M\")),!0},pageDown:function(){if(!this.widget)return!1;var t=this._dates[0]||this.getMoment();return this.widget.find(\".datepicker\").is(\":visible\")&&this.date(t.clone().add(1,\"M\")),!0},enter:function(){return!!this.widget&&(this.hide(),!0)},escape:function(){return!!this.widget&&(this.hide(),!0)},\"control space\":function(){return!!this.widget&&(this.widget.find(\".timepicker\").is(\":visible\")&&this.widget.find('.btn[data-action=\"togglePeriod\"]').click(),!0)},t:function(){return!!this.widget&&(this.date(this.getMoment()),!0)},delete:function(){return!!this.widget&&(this.clear(),!0)}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1,allowMultidate:!1,multidateSeparator:\",\"};return function(){function g(t,e){n(this,g),this._options=this._getOptions(e),this._element=t,this._dates=[],this._datesFormatted=[],this._viewDate=null,this.unset=!0,this.component=!1,this.widget=!1,this.use24Hours=null,this.actualFormat=null,this.parseFormats=null,this.currentViewMode=null,this.MinViewModeNumber=0,this._int()}return g.prototype._int=function(){var e=this._element.data(\"target-input\");this._element.is(\"input\")?this.input=this._element:void 0!==e&&(this.input=\"nearest\"===e?this._element.find(\"input\"):t(e)),this._dates=[],this._dates[0]=this.getMoment(),this._viewDate=this.getMoment().clone(),t.extend(!0,this._options,this._dataToOptions()),this.options(this._options),this._initFormatting(),void 0!==this.input&&this.input.is(\"input\")&&0!==this.input.val().trim().length?this._setValue(this._parseInputDate(this.input.val().trim()),0):this._options.defaultDate&&void 0!==this.input&&void 0===this.input.attr(\"placeholder\")&&this._setValue(this._options.defaultDate,0),this._options.inline&&this.show()},g.prototype._update=function(){this.widget&&(this._fillDate(),this._fillTime())},g.prototype._setValue=function(t,e){var l=this.unset?null:this._dates[e],n=\"\";if(!t)return this._options.allowMultidate&&1!==this._dates.length?(n=(n=this._element.data(\"date\")+\",\").replace(l.format(this.actualFormat)+\",\",\"\").replace(\",,\",\"\").replace(/,\\s*$/,\"\"),this._dates.splice(e,1),this._datesFormatted.splice(e,1)):(this.unset=!0,this._dates=[],this._datesFormatted=[]),void 0!==this.input&&(this.input.val(n),this.input.trigger(\"input\")),this._element.data(\"date\",n),this._notifyEvent({type:g.Event.CHANGE,date:!1,oldDate:l}),void this._update();if(t=t.clone().locale(this._options.locale),this._hasTimeZone()&&t.tz(this._options.timeZone),1!==this._options.stepping&&t.minutes(Math.round(t.minutes()/this._options.stepping)*this._options.stepping).seconds(0),this._isValid(t)){if(this._dates[e]=t,this._datesFormatted[e]=t.format(\"YYYY-MM-DD\"),this._viewDate=t.clone(),this._options.allowMultidate&&this._dates.length>1){for(var i=0;i<this._dates.length;i++)n+=\"\"+this._dates[i].format(this.actualFormat)+this._options.multidateSeparator;n=n.replace(/,\\s*$/,\"\")}else n=this._dates[e].format(this.actualFormat);void 0!==this.input&&(this.input.val(n),this.input.trigger(\"input\")),this._element.data(\"date\",n),this.unset=!1,this._update(),this._notifyEvent({type:g.Event.CHANGE,date:this._dates[e].clone(),oldDate:l})}else this._options.keepInvalid?this._notifyEvent({type:g.Event.CHANGE,date:t,oldDate:l}):void 0!==this.input&&(this.input.val(\"\"+(this.unset?\"\":this._dates[e].format(this.actualFormat))),this.input.trigger(\"input\")),this._notifyEvent({type:g.Event.ERROR,date:t,oldDate:l})},g.prototype._change=function(e){var l=t(e.target).val().trim(),n=l?this._parseInputDate(l):null;return this._setValue(n),e.stopImmediatePropagation(),!1},g.prototype._getOptions=function(e){return e=t.extend(!0,{},p,e)},g.prototype._hasTimeZone=function(){return void 0!==e.tz&&void 0!==this._options.timeZone&&null!==this._options.timeZone&&\"\"!==this._options.timeZone},g.prototype._isEnabled=function(t){if(\"string\"!=typeof t||t.length>1)throw new TypeError(\"isEnabled expects a single character string parameter\");switch(t){case\"y\":return-1!==this.actualFormat.indexOf(\"Y\");case\"M\":return-1!==this.actualFormat.indexOf(\"M\");case\"d\":return-1!==this.actualFormat.toLowerCase().indexOf(\"d\");case\"h\":case\"H\":return-1!==this.actualFormat.toLowerCase().indexOf(\"h\");case\"m\":return-1!==this.actualFormat.indexOf(\"m\");case\"s\":return-1!==this.actualFormat.indexOf(\"s\");case\"a\":case\"A\":return-1!==this.actualFormat.toLowerCase().indexOf(\"a\");default:return!1}},g.prototype._hasTime=function(){return this._isEnabled(\"h\")||this._isEnabled(\"m\")||this._isEnabled(\"s\")},g.prototype._hasDate=function(){return this._isEnabled(\"y\")||this._isEnabled(\"M\")||this._isEnabled(\"d\")},g.prototype._dataToOptions=function(){var e=this._element.data(),l={};return e.dateOptions&&e.dateOptions instanceof Object&&(l=t.extend(!0,l,e.dateOptions)),t.each(this._options,function(t){var n=\"date\"+t.charAt(0).toUpperCase()+t.slice(1);void 0!==e[n]?l[t]=e[n]:delete l[t]}),l},g.prototype._notifyEvent=function(t){t.type===g.Event.CHANGE&&t.date&&t.date.isSame(t.oldDate)||!t.date&&!t.oldDate||this._element.trigger(t)},g.prototype._viewUpdate=function(t){\"y\"===t&&(t=\"YYYY\"),this._notifyEvent({type:g.Event.UPDATE,change:t,viewDate:this._viewDate.clone()})},g.prototype._showMode=function(t){this.widget&&(t&&(this.currentViewMode=Math.max(this.MinViewModeNumber,Math.min(3,this.currentViewMode+t))),this.widget.find(\".datepicker > div\").hide().filter(\".datepicker-\"+c[this.currentViewMode].CLASS_NAME).show())},g.prototype._isInDisabledDates=function(t){return!0===this._options.disabledDates[t.format(\"YYYY-MM-DD\")]},g.prototype._isInEnabledDates=function(t){return!0===this._options.enabledDates[t.format(\"YYYY-MM-DD\")]},g.prototype._isInDisabledHours=function(t){return!0===this._options.disabledHours[t.format(\"H\")]},g.prototype._isInEnabledHours=function(t){return!0===this._options.enabledHours[t.format(\"H\")]},g.prototype._isValid=function(e,l){if(!e.isValid())return!1;if(this._options.disabledDates&&\"d\"===l&&this._isInDisabledDates(e))return!1;if(this._options.enabledDates&&\"d\"===l&&!this._isInEnabledDates(e))return!1;if(this._options.minDate&&e.isBefore(this._options.minDate,l))return!1;if(this._options.maxDate&&e.isAfter(this._options.maxDate,l))return!1;if(this._options.daysOfWeekDisabled&&\"d\"===l&&-1!==this._options.daysOfWeekDisabled.indexOf(e.day()))return!1;if(this._options.disabledHours&&(\"h\"===l||\"m\"===l||\"s\"===l)&&this._isInDisabledHours(e))return!1;if(this._options.enabledHours&&(\"h\"===l||\"m\"===l||\"s\"===l)&&!this._isInEnabledHours(e))return!1;if(this._options.disabledTimeIntervals&&(\"h\"===l||\"m\"===l||\"s\"===l)){var n=!1;if(t.each(this._options.disabledTimeIntervals,function(){if(e.isBetween(this[0],this[1]))return n=!0,!1}),n)return!1}return!0},g.prototype._parseInputDate=function(t){return void 0===this._options.parseInputDate?e.isMoment(t)||(t=this.getMoment(t)):t=this._options.parseInputDate(t),t},g.prototype._keydown=function(t){var e=null,l=void 0,n=void 0,i=void 0,a=void 0,r=[],o={},s=t.which;for(l in h[s]=\"p\",h)h.hasOwnProperty(l)&&\"p\"===h[l]&&(r.push(l),parseInt(l,10)!==s&&(o[l]=!0));for(l in this._options.keyBinds)if(this._options.keyBinds.hasOwnProperty(l)&&\"function\"==typeof this._options.keyBinds[l]&&(i=l.split(\" \")).length===r.length&&u[s]===i[i.length-1]){for(a=!0,n=i.length-2;n>=0;n--)if(!(u[i[n]]in o)){a=!1;break}if(a){e=this._options.keyBinds[l];break}}e&&e.call(this)&&(t.stopPropagation(),t.preventDefault())},g.prototype._keyup=function(t){h[t.which]=\"r\",f[t.which]&&(f[t.which]=!1,t.stopPropagation(),t.preventDefault())},g.prototype._indexGivenDates=function(e){var l={},n=this;return t.each(e,function(){var t=n._parseInputDate(this);t.isValid()&&(l[t.format(\"YYYY-MM-DD\")]=!0)}),!!Object.keys(l).length&&l},g.prototype._indexGivenHours=function(e){var l={};return t.each(e,function(){l[this]=!0}),!!Object.keys(l).length&&l},g.prototype._initFormatting=function(){var t=this._options.format||\"L LT\",e=this;this.actualFormat=t.replace(/(\\[[^\\[]*])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(t){return e._dates[0].localeData().longDateFormat(t)||t}),this.parseFormats=this._options.extraFormats?this._options.extraFormats.slice():[],this.parseFormats.indexOf(t)<0&&this.parseFormats.indexOf(this.actualFormat)<0&&this.parseFormats.push(this.actualFormat),this.use24Hours=this.actualFormat.toLowerCase().indexOf(\"a\")<1&&this.actualFormat.replace(/\\[.*?]/g,\"\").indexOf(\"h\")<1,this._isEnabled(\"y\")&&(this.MinViewModeNumber=2),this._isEnabled(\"M\")&&(this.MinViewModeNumber=1),this._isEnabled(\"d\")&&(this.MinViewModeNumber=0),this.currentViewMode=Math.max(this.MinViewModeNumber,this.currentViewMode),this.unset||this._setValue(this._dates[0],0)},g.prototype._getLastPickedDate=function(){return this._dates[this._getLastPickedDateIndex()]},g.prototype._getLastPickedDateIndex=function(){return this._dates.length-1},g.prototype.getMoment=function(t){var l=void 0;return l=null==t?e():this._hasTimeZone()?e.tz(t,this.parseFormats,this._options.locale,this._options.useStrict,this._options.timeZone):e(t,this.parseFormats,this._options.locale,this._options.useStrict),this._hasTimeZone()&&l.tz(this._options.timeZone),l},g.prototype.toggle=function(){return this.widget?this.hide():this.show()},g.prototype.ignoreReadonly=function(t){if(0===arguments.length)return this._options.ignoreReadonly;if(\"boolean\"!=typeof t)throw new TypeError(\"ignoreReadonly () expects a boolean parameter\");this._options.ignoreReadonly=t},g.prototype.options=function(e){if(0===arguments.length)return t.extend(!0,{},this._options);if(!(e instanceof Object))throw new TypeError(\"options() this.options parameter should be an object\");t.extend(!0,this._options,e);var l=this;t.each(this._options,function(t,e){void 0!==l[t]&&l[t](e)})},g.prototype.date=function(t,l){if(l=l||0,0===arguments.length)return this.unset?null:this._options.allowMultidate?this._dates.join(this._options.multidateSeparator):this._dates[l].clone();if(!(null===t||\"string\"==typeof t||e.isMoment(t)||t instanceof Date))throw new TypeError(\"date() parameter must be one of [null, string, moment or Date]\");this._setValue(null===t?null:this._parseInputDate(t),l)},g.prototype.format=function(t){if(0===arguments.length)return this._options.format;if(\"string\"!=typeof t&&(\"boolean\"!=typeof t||!1!==t))throw new TypeError(\"format() expects a string or boolean:false parameter \"+t);this._options.format=t,this.actualFormat&&this._initFormatting()},g.prototype.timeZone=function(t){if(0===arguments.length)return this._options.timeZone;if(\"string\"!=typeof t)throw new TypeError(\"newZone() expects a string parameter\");this._options.timeZone=t},g.prototype.dayViewHeaderFormat=function(t){if(0===arguments.length)return this._options.dayViewHeaderFormat;if(\"string\"!=typeof t)throw new TypeError(\"dayViewHeaderFormat() expects a string parameter\");this._options.dayViewHeaderFormat=t},g.prototype.extraFormats=function(t){if(0===arguments.length)return this._options.extraFormats;if(!1!==t&&!(t instanceof Array))throw new TypeError(\"extraFormats() expects an array or false parameter\");this._options.extraFormats=t,this.parseFormats&&this._initFormatting()},g.prototype.disabledDates=function(e){if(0===arguments.length)return this._options.disabledDates?t.extend({},this._options.disabledDates):this._options.disabledDates;if(!e)return this._options.disabledDates=!1,this._update(),!0;if(!(e instanceof Array))throw new TypeError(\"disabledDates() expects an array parameter\");this._options.disabledDates=this._indexGivenDates(e),this._options.enabledDates=!1,this._update()},g.prototype.enabledDates=function(e){if(0===arguments.length)return this._options.enabledDates?t.extend({},this._options.enabledDates):this._options.enabledDates;if(!e)return this._options.enabledDates=!1,this._update(),!0;if(!(e instanceof Array))throw new TypeError(\"enabledDates() expects an array parameter\");this._options.enabledDates=this._indexGivenDates(e),this._options.disabledDates=!1,this._update()},g.prototype.daysOfWeekDisabled=function(t){if(0===arguments.length)return this._options.daysOfWeekDisabled.splice(0);if(\"boolean\"==typeof t&&!t)return this._options.daysOfWeekDisabled=!1,this._update(),!0;if(!(t instanceof Array))throw new TypeError(\"daysOfWeekDisabled() expects an array parameter\");if(this._options.daysOfWeekDisabled=t.reduce(function(t,e){return(e=parseInt(e,10))>6||e<0||isNaN(e)?t:(-1===t.indexOf(e)&&t.push(e),t)},[]).sort(),this._options.useCurrent&&!this._options.keepInvalid)for(var e=0;e<this._dates.length;e++){for(var l=0;!this._isValid(this._dates[e],\"d\");){if(this._dates[e].add(1,\"d\"),31===l)throw\"Tried 31 times to find a valid date\";l++}this._setValue(this._dates[e],e)}this._update()},g.prototype.maxDate=function(t){if(0===arguments.length)return this._options.maxDate?this._options.maxDate.clone():this._options.maxDate;if(\"boolean\"==typeof t&&!1===t)return this._options.maxDate=!1,this._update(),!0;\"string\"==typeof t&&(\"now\"!==t&&\"moment\"!==t||(t=this.getMoment()));var e=this._parseInputDate(t);if(!e.isValid())throw new TypeError(\"maxDate() Could not parse date parameter: \"+t);if(this._options.minDate&&e.isBefore(this._options.minDate))throw new TypeError(\"maxDate() date parameter is before this.options.minDate: \"+e.format(this.actualFormat));this._options.maxDate=e;for(var l=0;l<this._dates.length;l++)this._options.useCurrent&&!this._options.keepInvalid&&this._dates[l].isAfter(t)&&this._setValue(this._options.maxDate,l);this._viewDate.isAfter(e)&&(this._viewDate=e.clone().subtract(this._options.stepping,\"m\")),this._update()},g.prototype.minDate=function(t){if(0===arguments.length)return this._options.minDate?this._options.minDate.clone():this._options.minDate;if(\"boolean\"==typeof t&&!1===t)return this._options.minDate=!1,this._update(),!0;\"string\"==typeof t&&(\"now\"!==t&&\"moment\"!==t||(t=this.getMoment()));var e=this._parseInputDate(t);if(!e.isValid())throw new TypeError(\"minDate() Could not parse date parameter: \"+t);if(this._options.maxDate&&e.isAfter(this._options.maxDate))throw new TypeError(\"minDate() date parameter is after this.options.maxDate: \"+e.format(this.actualFormat));this._options.minDate=e;for(var l=0;l<this._dates.length;l++)this._options.useCurrent&&!this._options.keepInvalid&&this._dates[l].isBefore(t)&&this._setValue(this._options.minDate,l);this._viewDate.isBefore(e)&&(this._viewDate=e.clone().add(this._options.stepping,\"m\")),this._update()},g.prototype.defaultDate=function(t){if(0===arguments.length)return this._options.defaultDate?this._options.defaultDate.clone():this._options.defaultDate;if(!t)return this._options.defaultDate=!1,!0;\"string\"==typeof t&&(t=\"now\"===t||\"moment\"===t?this.getMoment():this.getMoment(t));var e=this._parseInputDate(t);if(!e.isValid())throw new TypeError(\"defaultDate() Could not parse date parameter: \"+t);if(!this._isValid(e))throw new TypeError(\"defaultDate() date passed is invalid according to component setup validations\");this._options.defaultDate=e,(this._options.defaultDate&&this._options.inline||void 0!==this.input&&\"\"===this.input.val().trim())&&this._setValue(this._options.defaultDate,0)},g.prototype.locale=function(t){if(0===arguments.length)return this._options.locale;if(!e.localeData(t))throw new TypeError(\"locale() locale \"+t+\" is not loaded from moment locales!\");this._options.locale=t;for(var l=0;l<this._dates.length;l++)this._dates[l].locale(this._options.locale);this._viewDate.locale(this._options.locale),this.actualFormat&&this._initFormatting(),this.widget&&(this.hide(),this.show())},g.prototype.stepping=function(t){if(0===arguments.length)return this._options.stepping;t=parseInt(t,10),(isNaN(t)||t<1)&&(t=1),this._options.stepping=t},g.prototype.useCurrent=function(t){var e=[\"year\",\"month\",\"day\",\"hour\",\"minute\"];if(0===arguments.length)return this._options.useCurrent;if(\"boolean\"!=typeof t&&\"string\"!=typeof t)throw new TypeError(\"useCurrent() expects a boolean or string parameter\");if(\"string\"==typeof t&&-1===e.indexOf(t.toLowerCase()))throw new TypeError(\"useCurrent() expects a string parameter of \"+e.join(\", \"));this._options.useCurrent=t},g.prototype.collapse=function(t){if(0===arguments.length)return this._options.collapse;if(\"boolean\"!=typeof t)throw new TypeError(\"collapse() expects a boolean parameter\");if(this._options.collapse===t)return!0;this._options.collapse=t,this.widget&&(this.hide(),this.show())},g.prototype.icons=function(e){if(0===arguments.length)return t.extend({},this._options.icons);if(!(e instanceof Object))throw new TypeError(\"icons() expects parameter to be an Object\");t.extend(this._options.icons,e),this.widget&&(this.hide(),this.show())},g.prototype.tooltips=function(e){if(0===arguments.length)return t.extend({},this._options.tooltips);if(!(e instanceof Object))throw new TypeError(\"tooltips() expects parameter to be an Object\");t.extend(this._options.tooltips,e),this.widget&&(this.hide(),this.show())},g.prototype.useStrict=function(t){if(0===arguments.length)return this._options.useStrict;if(\"boolean\"!=typeof t)throw new TypeError(\"useStrict() expects a boolean parameter\");this._options.useStrict=t},g.prototype.sideBySide=function(t){if(0===arguments.length)return this._options.sideBySide;if(\"boolean\"!=typeof t)throw new TypeError(\"sideBySide() expects a boolean parameter\");this._options.sideBySide=t,this.widget&&(this.hide(),this.show())},g.prototype.viewMode=function(t){if(0===arguments.length)return this._options.viewMode;if(\"string\"!=typeof t)throw new TypeError(\"viewMode() expects a string parameter\");if(-1===g.ViewModes.indexOf(t))throw new TypeError(\"viewMode() parameter must be one of (\"+g.ViewModes.join(\", \")+\") value\");this._options.viewMode=t,this.currentViewMode=Math.max(g.ViewModes.indexOf(t)-1,this.MinViewModeNumber),this._showMode()},g.prototype.calendarWeeks=function(t){if(0===arguments.length)return this._options.calendarWeeks;if(\"boolean\"!=typeof t)throw new TypeError(\"calendarWeeks() expects parameter to be a boolean value\");this._options.calendarWeeks=t,this._update()},g.prototype.buttons=function(e){if(0===arguments.length)return t.extend({},this._options.buttons);if(!(e instanceof Object))throw new TypeError(\"buttons() expects parameter to be an Object\");if(t.extend(this._options.buttons,e),\"boolean\"!=typeof this._options.buttons.showToday)throw new TypeError(\"buttons.showToday expects a boolean parameter\");if(\"boolean\"!=typeof this._options.buttons.showClear)throw new TypeError(\"buttons.showClear expects a boolean parameter\");if(\"boolean\"!=typeof this._options.buttons.showClose)throw new TypeError(\"buttons.showClose expects a boolean parameter\");this.widget&&(this.hide(),this.show())},g.prototype.keepOpen=function(t){if(0===arguments.length)return this._options.keepOpen;if(\"boolean\"!=typeof t)throw new TypeError(\"keepOpen() expects a boolean parameter\");this._options.keepOpen=t},g.prototype.focusOnShow=function(t){if(0===arguments.length)return this._options.focusOnShow;if(\"boolean\"!=typeof t)throw new TypeError(\"focusOnShow() expects a boolean parameter\");this._options.focusOnShow=t},g.prototype.inline=function(t){if(0===arguments.length)return this._options.inline;if(\"boolean\"!=typeof t)throw new TypeError(\"inline() expects a boolean parameter\");this._options.inline=t},g.prototype.clear=function(){this._setValue(null)},g.prototype.keyBinds=function(t){if(0===arguments.length)return this._options.keyBinds;this._options.keyBinds=t},g.prototype.debug=function(t){if(\"boolean\"!=typeof t)throw new TypeError(\"debug() expects a boolean parameter\");this._options.debug=t},g.prototype.allowInputToggle=function(t){if(0===arguments.length)return this._options.allowInputToggle;if(\"boolean\"!=typeof t)throw new TypeError(\"allowInputToggle() expects a boolean parameter\");this._options.allowInputToggle=t},g.prototype.keepInvalid=function(t){if(0===arguments.length)return this._options.keepInvalid;if(\"boolean\"!=typeof t)throw new TypeError(\"keepInvalid() expects a boolean parameter\");this._options.keepInvalid=t},g.prototype.datepickerInput=function(t){if(0===arguments.length)return this._options.datepickerInput;if(\"string\"!=typeof t)throw new TypeError(\"datepickerInput() expects a string parameter\");this._options.datepickerInput=t},g.prototype.parseInputDate=function(t){if(0===arguments.length)return this._options.parseInputDate;if(\"function\"!=typeof t)throw new TypeError(\"parseInputDate() should be as function\");this._options.parseInputDate=t},g.prototype.disabledTimeIntervals=function(e){if(0===arguments.length)return this._options.disabledTimeIntervals?t.extend({},this._options.disabledTimeIntervals):this._options.disabledTimeIntervals;if(!e)return this._options.disabledTimeIntervals=!1,this._update(),!0;if(!(e instanceof Array))throw new TypeError(\"disabledTimeIntervals() expects an array parameter\");this._options.disabledTimeIntervals=e,this._update()},g.prototype.disabledHours=function(e){if(0===arguments.length)return this._options.disabledHours?t.extend({},this._options.disabledHours):this._options.disabledHours;if(!e)return this._options.disabledHours=!1,this._update(),!0;if(!(e instanceof Array))throw new TypeError(\"disabledHours() expects an array parameter\");if(this._options.disabledHours=this._indexGivenHours(e),this._options.enabledHours=!1,this._options.useCurrent&&!this._options.keepInvalid)for(var l=0;l<this._dates.length;l++){for(var n=0;!this._isValid(this._dates[l],\"h\");){if(this._dates[l].add(1,\"h\"),24===n)throw\"Tried 24 times to find a valid date\";n++}this._setValue(this._dates[l],l)}this._update()},g.prototype.enabledHours=function(e){if(0===arguments.length)return this._options.enabledHours?t.extend({},this._options.enabledHours):this._options.enabledHours;if(!e)return this._options.enabledHours=!1,this._update(),!0;if(!(e instanceof Array))throw new TypeError(\"enabledHours() expects an array parameter\");if(this._options.enabledHours=this._indexGivenHours(e),this._options.disabledHours=!1,this._options.useCurrent&&!this._options.keepInvalid)for(var l=0;l<this._dates.length;l++){for(var n=0;!this._isValid(this._dates[l],\"h\");){if(this._dates[l].add(1,\"h\"),24===n)throw\"Tried 24 times to find a valid date\";n++}this._setValue(this._dates[l],l)}this._update()},g.prototype.viewDate=function(t){if(0===arguments.length)return this._viewDate.clone();if(!t)return this._viewDate=(this._dates[0]||this.getMoment()).clone(),!0;if(!(\"string\"==typeof t||e.isMoment(t)||t instanceof Date))throw new TypeError(\"viewDate() parameter must be one of [string, moment or Date]\");this._viewDate=this._parseInputDate(t),this._viewUpdate()},g.prototype.allowMultidate=function(t){if(\"boolean\"!=typeof t)throw new TypeError(\"allowMultidate() expects a boolean parameter\");this._options.allowMultidate=t},g.prototype.multidateSeparator=function(t){if(0===arguments.length)return this._options.multidateSeparator;if(\"string\"!=typeof t||t.length>1)throw new TypeError(\"multidateSeparator expects a single character string parameter\");this._options.multidateSeparator=t},l(g,null,[{key:\"NAME\",get:function(){return i}},{key:\"DATA_KEY\",get:function(){return\"datetimepicker\"}},{key:\"EVENT_KEY\",get:function(){return a}},{key:\"DATA_API_KEY\",get:function(){return\".data-api\"}},{key:\"DatePickerModes\",get:function(){return c}},{key:\"ViewModes\",get:function(){return d}},{key:\"Event\",get:function(){return s}},{key:\"Selector\",get:function(){return r}},{key:\"Default\",get:function(){return p},set:function(t){p=t}},{key:\"ClassName\",get:function(){return o}}]),g}()}(t,moment);!function(t){var l=t.fn[i.NAME],a=[\"top\",\"bottom\",\"auto\"],r=[\"left\",\"right\",\"auto\"],o=[\"default\",\"top\",\"bottom\"],s=function(e){var l=e.data(\"target\"),n=void 0;return l||(l=e.attr(\"href\")||\"\",l=/^#[a-z]/i.test(l)?l:null),0===(n=t(l)).length?n:(n.data(i.DATA_KEY)||t.extend({},n.data(),t(this).data()),n)},c=function(l){function s(t,e){n(this,s);var i=function(t,e){if(!t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!e||\"object\"!=typeof e&&\"function\"!=typeof e?t:e}(this,l.call(this,t,e));return i._init(),i}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}(s,l),s.prototype._init=function(){if(this._element.hasClass(\"input-group\")){var t=this._element.find(\".datepickerbutton\");0===t.length?this.component=this._element.find('[data-toggle=\"datetimepicker\"]'):this.component=t}},s.prototype._getDatePickerTemplate=function(){var e=t(\"<thead>\").append(t(\"<tr>\").append(t(\"<th>\").addClass(\"prev\").attr(\"data-action\",\"previous\").append(t(\"<span>\").addClass(this._options.icons.previous))).append(t(\"<th>\").addClass(\"picker-switch\").attr(\"data-action\",\"pickerSwitch\").attr(\"colspan\",this._options.calendarWeeks?\"6\":\"5\")).append(t(\"<th>\").addClass(\"next\").attr(\"data-action\",\"next\").append(t(\"<span>\").addClass(this._options.icons.next)))),l=t(\"<tbody>\").append(t(\"<tr>\").append(t(\"<td>\").attr(\"colspan\",this._options.calendarWeeks?\"8\":\"7\")));return[t(\"<div>\").addClass(\"datepicker-days\").append(t(\"<table>\").addClass(\"table table-sm\").append(e).append(t(\"<tbody>\"))),t(\"<div>\").addClass(\"datepicker-months\").append(t(\"<table>\").addClass(\"table-condensed\").append(e.clone()).append(l.clone())),t(\"<div>\").addClass(\"datepicker-years\").append(t(\"<table>\").addClass(\"table-condensed\").append(e.clone()).append(l.clone())),t(\"<div>\").addClass(\"datepicker-decades\").append(t(\"<table>\").addClass(\"table-condensed\").append(e.clone()).append(l.clone()))]},s.prototype._getTimePickerMainTemplate=function(){var e=t(\"<tr>\"),l=t(\"<tr>\"),n=t(\"<tr>\");return this._isEnabled(\"h\")&&(e.append(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",title:this._options.tooltips.incrementHour}).addClass(\"btn\").attr(\"data-action\",\"incrementHours\").append(t(\"<span>\").addClass(this._options.icons.up)))),l.append(t(\"<td>\").append(t(\"<span>\").addClass(\"timepicker-hour\").attr({\"data-time-component\":\"hours\",title:this._options.tooltips.pickHour}).attr(\"data-action\",\"showHours\"))),n.append(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",title:this._options.tooltips.decrementHour}).addClass(\"btn\").attr(\"data-action\",\"decrementHours\").append(t(\"<span>\").addClass(this._options.icons.down))))),this._isEnabled(\"m\")&&(this._isEnabled(\"h\")&&(e.append(t(\"<td>\").addClass(\"separator\")),l.append(t(\"<td>\").addClass(\"separator\").html(\":\")),n.append(t(\"<td>\").addClass(\"separator\"))),e.append(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",title:this._options.tooltips.incrementMinute}).addClass(\"btn\").attr(\"data-action\",\"incrementMinutes\").append(t(\"<span>\").addClass(this._options.icons.up)))),l.append(t(\"<td>\").append(t(\"<span>\").addClass(\"timepicker-minute\").attr({\"data-time-component\":\"minutes\",title:this._options.tooltips.pickMinute}).attr(\"data-action\",\"showMinutes\"))),n.append(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",title:this._options.tooltips.decrementMinute}).addClass(\"btn\").attr(\"data-action\",\"decrementMinutes\").append(t(\"<span>\").addClass(this._options.icons.down))))),this._isEnabled(\"s\")&&(this._isEnabled(\"m\")&&(e.append(t(\"<td>\").addClass(\"separator\")),l.append(t(\"<td>\").addClass(\"separator\").html(\":\")),n.append(t(\"<td>\").addClass(\"separator\"))),e.append(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",title:this._options.tooltips.incrementSecond}).addClass(\"btn\").attr(\"data-action\",\"incrementSeconds\").append(t(\"<span>\").addClass(this._options.icons.up)))),l.append(t(\"<td>\").append(t(\"<span>\").addClass(\"timepicker-second\").attr({\"data-time-component\":\"seconds\",title:this._options.tooltips.pickSecond}).attr(\"data-action\",\"showSeconds\"))),n.append(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",title:this._options.tooltips.decrementSecond}).addClass(\"btn\").attr(\"data-action\",\"decrementSeconds\").append(t(\"<span>\").addClass(this._options.icons.down))))),this.use24Hours||(e.append(t(\"<td>\").addClass(\"separator\")),l.append(t(\"<td>\").append(t(\"<button>\").addClass(\"btn btn-primary\").attr({\"data-action\":\"togglePeriod\",tabindex:\"-1\",title:this._options.tooltips.togglePeriod}))),n.append(t(\"<td>\").addClass(\"separator\"))),t(\"<div>\").addClass(\"timepicker-picker\").append(t(\"<table>\").addClass(\"table-condensed\").append([e,l,n]))},s.prototype._getTimePickerTemplate=function(){var e=t(\"<div>\").addClass(\"timepicker-hours\").append(t(\"<table>\").addClass(\"table-condensed\")),l=t(\"<div>\").addClass(\"timepicker-minutes\").append(t(\"<table>\").addClass(\"table-condensed\")),n=t(\"<div>\").addClass(\"timepicker-seconds\").append(t(\"<table>\").addClass(\"table-condensed\")),i=[this._getTimePickerMainTemplate()];return this._isEnabled(\"h\")&&i.push(e),this._isEnabled(\"m\")&&i.push(l),this._isEnabled(\"s\")&&i.push(n),i},s.prototype._getToolbar=function(){var e=[];if(this._options.buttons.showToday&&e.push(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",\"data-action\":\"today\",title:this._options.tooltips.today}).append(t(\"<span>\").addClass(this._options.icons.today)))),!this._options.sideBySide&&this._hasDate()&&this._hasTime()){var l=void 0,n=void 0;\"times\"===this._options.viewMode?(l=this._options.tooltips.selectDate,n=this._options.icons.date):(l=this._options.tooltips.selectTime,n=this._options.icons.time),e.push(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",\"data-action\":\"togglePicker\",title:l}).append(t(\"<span>\").addClass(n))))}return this._options.buttons.showClear&&e.push(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",\"data-action\":\"clear\",title:this._options.tooltips.clear}).append(t(\"<span>\").addClass(this._options.icons.clear)))),this._options.buttons.showClose&&e.push(t(\"<td>\").append(t(\"<a>\").attr({href:\"#\",tabindex:\"-1\",\"data-action\":\"close\",title:this._options.tooltips.close}).append(t(\"<span>\").addClass(this._options.icons.close)))),0===e.length?\"\":t(\"<table>\").addClass(\"table-condensed\").append(t(\"<tbody>\").append(t(\"<tr>\").append(e)))},s.prototype._getTemplate=function(){var e=t(\"<div>\").addClass(\"bootstrap-datetimepicker-widget dropdown-menu\"),l=t(\"<div>\").addClass(\"datepicker\").append(this._getDatePickerTemplate()),n=t(\"<div>\").addClass(\"timepicker\").append(this._getTimePickerTemplate()),i=t(\"<ul>\").addClass(\"list-unstyled\"),a=t(\"<li>\").addClass(\"picker-switch\"+(this._options.collapse?\" accordion-toggle\":\"\")).append(this._getToolbar());return this._options.inline&&e.removeClass(\"dropdown-menu\"),this.use24Hours&&e.addClass(\"usetwentyfour\"),this._isEnabled(\"s\")&&!this.use24Hours&&e.addClass(\"wider\"),this._options.sideBySide&&this._hasDate()&&this._hasTime()?(e.addClass(\"timepicker-sbs\"),\"top\"===this._options.toolbarPlacement&&e.append(a),e.append(t(\"<div>\").addClass(\"row\").append(l.addClass(\"col-md-6\")).append(n.addClass(\"col-md-6\"))),\"bottom\"!==this._options.toolbarPlacement&&\"default\"!==this._options.toolbarPlacement||e.append(a),e):(\"top\"===this._options.toolbarPlacement&&i.append(a),this._hasDate()&&i.append(t(\"<li>\").addClass(this._options.collapse&&this._hasTime()?\"collapse\":\"\").addClass(this._options.collapse&&this._hasTime()&&\"times\"===this._options.viewMode?\"\":\"show\").append(l)),\"default\"===this._options.toolbarPlacement&&i.append(a),this._hasTime()&&i.append(t(\"<li>\").addClass(this._options.collapse&&this._hasDate()?\"collapse\":\"\").addClass(this._options.collapse&&this._hasDate()&&\"times\"===this._options.viewMode?\"show\":\"\").append(n)),\"bottom\"===this._options.toolbarPlacement&&i.append(a),e.append(i))},s.prototype._place=function(e){var l=e&&e.data&&e.data.picker||this,n=l._options.widgetPositioning.vertical,i=l._options.widgetPositioning.horizontal,a=void 0,r=(l.component&&l.component.length?l.component:l._element).position(),o=(l.component&&l.component.length?l.component:l._element).offset();if(l._options.widgetParent)a=l._options.widgetParent.append(l.widget);else if(l._element.is(\"input\"))a=l._element.after(l.widget).parent();else{if(l._options.inline)return void(a=l._element.append(l.widget));a=l._element,l._element.children().first().after(l.widget)}if(\"auto\"===n&&(n=o.top+1.5*l.widget.height()>=t(window).height()+t(window).scrollTop()&&l.widget.height()+l._element.outerHeight()<o.top?\"top\":\"bottom\"),\"auto\"===i&&(i=a.width()<o.left+l.widget.outerWidth()/2&&o.left+l.widget.outerWidth()>t(window).width()?\"right\":\"left\"),\"top\"===n?l.widget.addClass(\"top\").removeClass(\"bottom\"):l.widget.addClass(\"bottom\").removeClass(\"top\"),\"right\"===i?l.widget.addClass(\"float-right\"):l.widget.removeClass(\"float-right\"),\"relative\"!==a.css(\"position\")&&(a=a.parents().filter(function(){return\"relative\"===t(this).css(\"position\")}).first()),0===a.length)throw new Error(\"datetimepicker component should be placed within a relative positioned container\");l.widget.css({top:\"top\"===n?\"auto\":r.top+l._element.outerHeight()+\"px\",bottom:\"top\"===n?a.outerHeight()-(a===l._element?0:r.top)+\"px\":\"auto\",left:\"left\"===i?(a===l._element?0:r.left)+\"px\":\"auto\",right:\"left\"===i?\"auto\":a.outerWidth()-l._element.outerWidth()-(a===l._element?0:r.left)+\"px\"})},s.prototype._fillDow=function(){var e=t(\"<tr>\"),l=this._viewDate.clone().startOf(\"w\").startOf(\"d\");for(!0===this._options.calendarWeeks&&e.append(t(\"<th>\").addClass(\"cw\").text(\"#\"));l.isBefore(this._viewDate.clone().endOf(\"w\"));)e.append(t(\"<th>\").addClass(\"dow\").text(l.format(\"dd\"))),l.add(1,\"d\");this.widget.find(\".datepicker-days thead\").append(e)},s.prototype._fillMonths=function(){for(var e=[],l=this._viewDate.clone().startOf(\"y\").startOf(\"d\");l.isSame(this._viewDate,\"y\");)e.push(t(\"<span>\").attr(\"data-action\",\"selectMonth\").addClass(\"month\").text(l.format(\"MMM\"))),l.add(1,\"M\");this.widget.find(\".datepicker-months td\").empty().append(e)},s.prototype._updateMonths=function(){var e=this.widget.find(\".datepicker-months\"),l=e.find(\"th\"),n=e.find(\"tbody\").find(\"span\"),i=this;l.eq(0).find(\"span\").attr(\"title\",this._options.tooltips.prevYear),l.eq(1).attr(\"title\",this._options.tooltips.selectYear),l.eq(2).find(\"span\").attr(\"title\",this._options.tooltips.nextYear),e.find(\".disabled\").removeClass(\"disabled\"),this._isValid(this._viewDate.clone().subtract(1,\"y\"),\"y\")||l.eq(0).addClass(\"disabled\"),l.eq(1).text(this._viewDate.year()),this._isValid(this._viewDate.clone().add(1,\"y\"),\"y\")||l.eq(2).addClass(\"disabled\"),n.removeClass(\"active\"),this._getLastPickedDate().isSame(this._viewDate,\"y\")&&!this.unset&&n.eq(this._getLastPickedDate().month()).addClass(\"active\"),n.each(function(e){i._isValid(i._viewDate.clone().month(e),\"M\")||t(this).addClass(\"disabled\")})},s.prototype._getStartEndYear=function(t,e){var l=t/10,n=Math.floor(e/t)*t;return[n,n+9*l,Math.floor(e/l)*l]},s.prototype._updateYears=function(){var t=this.widget.find(\".datepicker-years\"),e=t.find(\"th\"),l=this._getStartEndYear(10,this._viewDate.year()),n=this._viewDate.clone().year(l[0]),i=this._viewDate.clone().year(l[1]),a=\"\";for(e.eq(0).find(\"span\").attr(\"title\",this._options.tooltips.prevDecade),e.eq(1).attr(\"title\",this._options.tooltips.selectDecade),e.eq(2).find(\"span\").attr(\"title\",this._options.tooltips.nextDecade),t.find(\".disabled\").removeClass(\"disabled\"),this._options.minDate&&this._options.minDate.isAfter(n,\"y\")&&e.eq(0).addClass(\"disabled\"),e.eq(1).text(n.year()+\"-\"+i.year()),this._options.maxDate&&this._options.maxDate.isBefore(i,\"y\")&&e.eq(2).addClass(\"disabled\"),a+='<span data-action=\"selectYear\" class=\"year old'+(this._isValid(n,\"y\")?\"\":\" disabled\")+'\">'+(n.year()-1)+\"</span>\";!n.isAfter(i,\"y\");)a+='<span data-action=\"selectYear\" class=\"year'+(n.isSame(this._getLastPickedDate(),\"y\")&&!this.unset?\" active\":\"\")+(this._isValid(n,\"y\")?\"\":\" disabled\")+'\">'+n.year()+\"</span>\",n.add(1,\"y\");a+='<span data-action=\"selectYear\" class=\"year old'+(this._isValid(n,\"y\")?\"\":\" disabled\")+'\">'+n.year()+\"</span>\",t.find(\"td\").html(a)},s.prototype._updateDecades=function(){var t=this.widget.find(\".datepicker-decades\"),e=t.find(\"th\"),l=this._getStartEndYear(100,this._viewDate.year()),n=this._viewDate.clone().year(l[0]),i=this._viewDate.clone().year(l[1]),a=!1,r=!1,o=void 0,s=\"\";for(e.eq(0).find(\"span\").attr(\"title\",this._options.tooltips.prevCentury),e.eq(2).find(\"span\").attr(\"title\",this._options.tooltips.nextCentury),t.find(\".disabled\").removeClass(\"disabled\"),(0===n.year()||this._options.minDate&&this._options.minDate.isAfter(n,\"y\"))&&e.eq(0).addClass(\"disabled\"),e.eq(1).text(n.year()+\"-\"+i.year()),this._options.maxDate&&this._options.maxDate.isBefore(i,\"y\")&&e.eq(2).addClass(\"disabled\"),n.year()-10<0?s+=\"<span>&nbsp;</span>\":s+='<span data-action=\"selectDecade\" class=\"decade old\" data-selection=\"'+(n.year()+6)+'\">'+(n.year()-10)+\"</span>\";!n.isAfter(i,\"y\");)o=n.year()+11,a=this._options.minDate&&this._options.minDate.isAfter(n,\"y\")&&this._options.minDate.year()<=o,r=this._options.maxDate&&this._options.maxDate.isAfter(n,\"y\")&&this._options.maxDate.year()<=o,s+='<span data-action=\"selectDecade\" class=\"decade'+(this._getLastPickedDate().isAfter(n)&&this._getLastPickedDate().year()<=o?\" active\":\"\")+(this._isValid(n,\"y\")||a||r?\"\":\" disabled\")+'\" data-selection=\"'+(n.year()+6)+'\">'+n.year()+\"</span>\",n.add(10,\"y\");s+='<span data-action=\"selectDecade\" class=\"decade old\" data-selection=\"'+(n.year()+6)+'\">'+n.year()+\"</span>\",t.find(\"td\").html(s)},s.prototype._fillDate=function(){var e=this.widget.find(\".datepicker-days\"),l=e.find(\"th\"),n=[],i=void 0,a=void 0,r=void 0,o=void 0;if(this._hasDate()){for(l.eq(0).find(\"span\").attr(\"title\",this._options.tooltips.prevMonth),l.eq(1).attr(\"title\",this._options.tooltips.selectMonth),l.eq(2).find(\"span\").attr(\"title\",this._options.tooltips.nextMonth),e.find(\".disabled\").removeClass(\"disabled\"),l.eq(1).text(this._viewDate.format(this._options.dayViewHeaderFormat)),this._isValid(this._viewDate.clone().subtract(1,\"M\"),\"M\")||l.eq(0).addClass(\"disabled\"),this._isValid(this._viewDate.clone().add(1,\"M\"),\"M\")||l.eq(2).addClass(\"disabled\"),i=this._viewDate.clone().startOf(\"M\").startOf(\"w\").startOf(\"d\"),o=0;o<42;o++){if(0===i.weekday()&&(a=t(\"<tr>\"),this._options.calendarWeeks&&a.append('<td class=\"cw\">'+i.week()+\"</td>\"),n.push(a)),r=\"\",i.isBefore(this._viewDate,\"M\")&&(r+=\" old\"),i.isAfter(this._viewDate,\"M\")&&(r+=\" new\"),this._options.allowMultidate){var s=this._datesFormatted.indexOf(i.format(\"YYYY-MM-DD\"));-1!==s&&i.isSame(this._datesFormatted[s],\"d\")&&!this.unset&&(r+=\" active\")}else i.isSame(this._getLastPickedDate(),\"d\")&&!this.unset&&(r+=\" active\");this._isValid(i,\"d\")||(r+=\" disabled\"),i.isSame(this.getMoment(),\"d\")&&(r+=\" today\"),0!==i.day()&&6!==i.day()||(r+=\" weekend\"),a.append('<td data-action=\"selectDay\" data-day=\"'+i.format(\"L\")+'\" class=\"day'+r+'\">'+i.date()+\"</td>\"),i.add(1,\"d\")}e.find(\"tbody\").empty().append(n),this._updateMonths(),this._updateYears(),this._updateDecades()}},s.prototype._fillHours=function(){var e=this.widget.find(\".timepicker-hours table\"),l=this._viewDate.clone().startOf(\"d\"),n=[],i=t(\"<tr>\");for(this._viewDate.hour()>11&&!this.use24Hours&&l.hour(12);l.isSame(this._viewDate,\"d\")&&(this.use24Hours||this._viewDate.hour()<12&&l.hour()<12||this._viewDate.hour()>11);)l.hour()%4==0&&(i=t(\"<tr>\"),n.push(i)),i.append('<td data-action=\"selectHour\" class=\"hour'+(this._isValid(l,\"h\")?\"\":\" disabled\")+'\">'+l.format(this.use24Hours?\"HH\":\"hh\")+\"</td>\"),l.add(1,\"h\");e.empty().append(n)},s.prototype._fillMinutes=function(){for(var e=this.widget.find(\".timepicker-minutes table\"),l=this._viewDate.clone().startOf(\"h\"),n=[],i=1===this._options.stepping?5:this._options.stepping,a=t(\"<tr>\");this._viewDate.isSame(l,\"h\");)l.minute()%(4*i)==0&&(a=t(\"<tr>\"),n.push(a)),a.append('<td data-action=\"selectMinute\" class=\"minute'+(this._isValid(l,\"m\")?\"\":\" disabled\")+'\">'+l.format(\"mm\")+\"</td>\"),l.add(i,\"m\");e.empty().append(n)},s.prototype._fillSeconds=function(){for(var e=this.widget.find(\".timepicker-seconds table\"),l=this._viewDate.clone().startOf(\"m\"),n=[],i=t(\"<tr>\");this._viewDate.isSame(l,\"m\");)l.second()%20==0&&(i=t(\"<tr>\"),n.push(i)),i.append('<td data-action=\"selectSecond\" class=\"second'+(this._isValid(l,\"s\")?\"\":\" disabled\")+'\">'+l.format(\"ss\")+\"</td>\"),l.add(5,\"s\");e.empty().append(n)},s.prototype._fillTime=function(){var t=void 0,e=void 0,l=this.widget.find(\".timepicker span[data-time-component]\");this.use24Hours||(t=this.widget.find(\".timepicker [data-action=togglePeriod]\"),e=this._getLastPickedDate().clone().add(this._getLastPickedDate().hours()>=12?-12:12,\"h\"),t.text(this._getLastPickedDate().format(\"A\")),this._isValid(e,\"h\")?t.removeClass(\"disabled\"):t.addClass(\"disabled\")),l.filter(\"[data-time-component=hours]\").text(this._getLastPickedDate().format(this.use24Hours?\"HH\":\"hh\")),l.filter(\"[data-time-component=minutes]\").text(this._getLastPickedDate().format(\"mm\")),l.filter(\"[data-time-component=seconds]\").text(this._getLastPickedDate().format(\"ss\")),this._fillHours(),this._fillMinutes(),this._fillSeconds()},s.prototype._doAction=function(e,l){var n=this._getLastPickedDate();if(t(e.currentTarget).is(\".disabled\"))return!1;switch(l=l||t(e.currentTarget).data(\"action\")){case\"next\":var a=i.DatePickerModes[this.currentViewMode].NAV_FUNCTION;this._viewDate.add(i.DatePickerModes[this.currentViewMode].NAV_STEP,a),this._fillDate(),this._viewUpdate(a);break;case\"previous\":var r=i.DatePickerModes[this.currentViewMode].NAV_FUNCTION;this._viewDate.subtract(i.DatePickerModes[this.currentViewMode].NAV_STEP,r),this._fillDate(),this._viewUpdate(r);break;case\"pickerSwitch\":this._showMode(1);break;case\"selectMonth\":var o=t(e.target).closest(\"tbody\").find(\"span\").index(t(e.target));this._viewDate.month(o),this.currentViewMode===this.MinViewModeNumber?(this._setValue(n.clone().year(this._viewDate.year()).month(this._viewDate.month()),this._getLastPickedDateIndex()),this._options.inline||this.hide()):(this._showMode(-1),this._fillDate()),this._viewUpdate(\"M\");break;case\"selectYear\":var s=parseInt(t(e.target).text(),10)||0;this._viewDate.year(s),this.currentViewMode===this.MinViewModeNumber?(this._setValue(n.clone().year(this._viewDate.year()),this._getLastPickedDateIndex()),this._options.inline||this.hide()):(this._showMode(-1),this._fillDate()),this._viewUpdate(\"YYYY\");break;case\"selectDecade\":var c=parseInt(t(e.target).data(\"selection\"),10)||0;this._viewDate.year(c),this.currentViewMode===this.MinViewModeNumber?(this._setValue(n.clone().year(this._viewDate.year()),this._getLastPickedDateIndex()),this._options.inline||this.hide()):(this._showMode(-1),this._fillDate()),this._viewUpdate(\"YYYY\");break;case\"selectDay\":var u=this._viewDate.clone();t(e.target).is(\".old\")&&u.subtract(1,\"M\"),t(e.target).is(\".new\")&&u.add(1,\"M\");var d=u.date(parseInt(t(e.target).text(),10)),h=0;this._options.allowMultidate?-1!==(h=this._datesFormatted.indexOf(d.format(\"YYYY-MM-DD\")))?this._setValue(null,h):this._setValue(d,this._getLastPickedDateIndex()+1):this._setValue(d,this._getLastPickedDateIndex()),this._hasTime()||this._options.keepOpen||this._options.inline||this._options.allowMultidate||this.hide();break;case\"incrementHours\":var f=n.clone().add(1,\"h\");this._isValid(f,\"h\")&&this._setValue(f,this._getLastPickedDateIndex());break;case\"incrementMinutes\":var p=n.clone().add(this._options.stepping,\"m\");this._isValid(p,\"m\")&&this._setValue(p,this._getLastPickedDateIndex());break;case\"incrementSeconds\":var g=n.clone().add(1,\"s\");this._isValid(g,\"s\")&&this._setValue(g,this._getLastPickedDateIndex());break;case\"decrementHours\":var m=n.clone().subtract(1,\"h\");this._isValid(m,\"h\")&&this._setValue(m,this._getLastPickedDateIndex());break;case\"decrementMinutes\":var b=n.clone().subtract(this._options.stepping,\"m\");this._isValid(b,\"m\")&&this._setValue(b,this._getLastPickedDateIndex());break;case\"decrementSeconds\":var v=n.clone().subtract(1,\"s\");this._isValid(v,\"s\")&&this._setValue(v,this._getLastPickedDateIndex());break;case\"togglePeriod\":this._setValue(n.clone().add(n.hours()>=12?-12:12,\"h\"),this._getLastPickedDateIndex());break;case\"togglePicker\":var y=t(e.target),x=y.closest(\"a\"),_=y.closest(\"ul\"),w=_.find(\".show\"),S=_.find(\".collapse:not(.show)\"),k=y.is(\"span\")?y:y.find(\"span\"),C=void 0;if(w&&w.length){if((C=w.data(\"collapse\"))&&C.transitioning)return!0;w.collapse?(w.collapse(\"hide\"),S.collapse(\"show\")):(w.removeClass(\"show\"),S.addClass(\"show\")),k.toggleClass(this._options.icons.time+\" \"+this._options.icons.date),k.hasClass(this._options.icons.date)?x.attr(\"title\",this._options.tooltips.selectDate):x.attr(\"title\",this._options.tooltips.selectTime)}break;case\"showPicker\":this.widget.find(\".timepicker > div:not(.timepicker-picker)\").hide(),this.widget.find(\".timepicker .timepicker-picker\").show();break;case\"showHours\":this.widget.find(\".timepicker .timepicker-picker\").hide(),this.widget.find(\".timepicker .timepicker-hours\").show();break;case\"showMinutes\":this.widget.find(\".timepicker .timepicker-picker\").hide(),this.widget.find(\".timepicker .timepicker-minutes\").show();break;case\"showSeconds\":this.widget.find(\".timepicker .timepicker-picker\").hide(),this.widget.find(\".timepicker .timepicker-seconds\").show();break;case\"selectHour\":var T=parseInt(t(e.target).text(),10);this.use24Hours||(n.hours()>=12?12!==T&&(T+=12):12===T&&(T=0)),this._setValue(n.clone().hours(T),this._getLastPickedDateIndex()),this._isEnabled(\"a\")||this._isEnabled(\"m\")||this._options.keepOpen||this._options.inline?this._doAction(e,\"showPicker\"):this.hide();break;case\"selectMinute\":this._setValue(n.clone().minutes(parseInt(t(e.target).text(),10)),this._getLastPickedDateIndex()),this._isEnabled(\"a\")||this._isEnabled(\"s\")||this._options.keepOpen||this._options.inline?this._doAction(e,\"showPicker\"):this.hide();break;case\"selectSecond\":this._setValue(n.clone().seconds(parseInt(t(e.target).text(),10)),this._getLastPickedDateIndex()),this._isEnabled(\"a\")||this._options.keepOpen||this._options.inline?this._doAction(e,\"showPicker\"):this.hide();break;case\"clear\":this.clear();break;case\"close\":this.hide();break;case\"today\":var D=this.getMoment();this._isValid(D,\"d\")&&this._setValue(D,this._getLastPickedDateIndex())}return!1},s.prototype.hide=function(){var e=!1;this.widget&&(this.widget.find(\".collapse\").each(function(){var l=t(this).data(\"collapse\");return!l||!l.transitioning||(e=!0,!1)}),e||(this.component&&this.component.hasClass(\"btn\")&&this.component.toggleClass(\"active\"),this.widget.hide(),t(window).off(\"resize\",this._place()),this.widget.off(\"click\",\"[data-action]\"),this.widget.off(\"mousedown\",!1),this.widget.remove(),this.widget=!1,this._notifyEvent({type:i.Event.HIDE,date:this._getLastPickedDate().clone()}),void 0!==this.input&&this.input.blur(),this._viewDate=this._getLastPickedDate().clone()))},s.prototype.show=function(){var e=void 0,l={year:function(t){return t.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(t){return t.date(1).hours(0).seconds(0).minutes(0)},day:function(t){return t.hours(0).seconds(0).minutes(0)},hour:function(t){return t.seconds(0).minutes(0)},minute:function(t){return t.seconds(0)}};if(void 0!==this.input){if(this.input.prop(\"disabled\")||!this._options.ignoreReadonly&&this.input.prop(\"readonly\")||this.widget)return;void 0!==this.input.val()&&0!==this.input.val().trim().length?this._setValue(this._parseInputDate(this.input.val().trim()),0):this.unset&&this._options.useCurrent&&(e=this.getMoment(),\"string\"==typeof this._options.useCurrent&&(e=l[this._options.useCurrent](e)),this._setValue(e,0))}else this.unset&&this._options.useCurrent&&(e=this.getMoment(),\"string\"==typeof this._options.useCurrent&&(e=l[this._options.useCurrent](e)),this._setValue(e,0));this.widget=this._getTemplate(),this._fillDow(),this._fillMonths(),this.widget.find(\".timepicker-hours\").hide(),this.widget.find(\".timepicker-minutes\").hide(),this.widget.find(\".timepicker-seconds\").hide(),this._update(),this._showMode(),t(window).on(\"resize\",{picker:this},this._place),this.widget.on(\"click\",\"[data-action]\",t.proxy(this._doAction,this)),this.widget.on(\"mousedown\",!1),this.component&&this.component.hasClass(\"btn\")&&this.component.toggleClass(\"active\"),this._place(),this.widget.show(),void 0!==this.input&&this._options.focusOnShow&&!this.input.is(\":focus\")&&this.input.focus(),this._notifyEvent({type:i.Event.SHOW})},s.prototype.destroy=function(){this.hide(),this._element.removeData(i.DATA_KEY),this._element.removeData(\"date\")},s.prototype.disable=function(){this.hide(),this.component&&this.component.hasClass(\"btn\")&&this.component.addClass(\"disabled\"),void 0!==this.input&&this.input.prop(\"disabled\",!0)},s.prototype.enable=function(){this.component&&this.component.hasClass(\"btn\")&&this.component.removeClass(\"disabled\"),void 0!==this.input&&this.input.prop(\"disabled\",!1)},s.prototype.toolbarPlacement=function(t){if(0===arguments.length)return this._options.toolbarPlacement;if(\"string\"!=typeof t)throw new TypeError(\"toolbarPlacement() expects a string parameter\");if(-1===o.indexOf(t))throw new TypeError(\"toolbarPlacement() parameter must be one of (\"+o.join(\", \")+\") value\");this._options.toolbarPlacement=t,this.widget&&(this.hide(),this.show())},s.prototype.widgetPositioning=function(e){if(0===arguments.length)return t.extend({},this._options.widgetPositioning);if(\"[object Object]\"!=={}.toString.call(e))throw new TypeError(\"widgetPositioning() expects an object variable\");if(e.horizontal){if(\"string\"!=typeof e.horizontal)throw new TypeError(\"widgetPositioning() horizontal variable must be a string\");if(e.horizontal=e.horizontal.toLowerCase(),-1===r.indexOf(e.horizontal))throw new TypeError(\"widgetPositioning() expects horizontal parameter to be one of (\"+r.join(\", \")+\")\");this._options.widgetPositioning.horizontal=e.horizontal}if(e.vertical){if(\"string\"!=typeof e.vertical)throw new TypeError(\"widgetPositioning() vertical variable must be a string\");if(e.vertical=e.vertical.toLowerCase(),-1===a.indexOf(e.vertical))throw new TypeError(\"widgetPositioning() expects vertical parameter to be one of (\"+a.join(\", \")+\")\");this._options.widgetPositioning.vertical=e.vertical}this._update()},s.prototype.widgetParent=function(e){if(0===arguments.length)return this._options.widgetParent;if(\"string\"==typeof e&&(e=t(e)),null!==e&&\"string\"!=typeof e&&!(e instanceof t))throw new TypeError(\"widgetParent() expects a string or a jQuery object parameter\");this._options.widgetParent=e,this.widget&&(this.hide(),this.show())},s._jQueryHandleThis=function(l,n,a){var r=t(l).data(i.DATA_KEY);if(\"object\"===(void 0===n?\"undefined\":e(n))&&t.extend({},i.Default,n),r||(r=new s(t(l),n),t(l).data(i.DATA_KEY,r)),\"string\"==typeof n){if(void 0===r[n])throw new Error('No method named \"'+n+'\"');return void 0===a?r[n]():r[n](a)}},s._jQueryInterface=function(t,e){return 1===this.length?s._jQueryHandleThis(this[0],t,e):this.each(function(){s._jQueryHandleThis(this,t,e)})},s}(i);t(document).on(i.Event.CLICK_DATA_API,i.Selector.DATA_TOGGLE,function(){var e=s(t(this));0!==e.length&&c._jQueryInterface.call(e,\"toggle\")}).on(i.Event.CHANGE,\".\"+i.ClassName.INPUT,function(e){var l=s(t(this));0!==l.length&&c._jQueryInterface.call(l,\"_change\",e)}).on(i.Event.BLUR,\".\"+i.ClassName.INPUT,function(e){var l=s(t(this)),n=l.data(i.DATA_KEY);0!==l.length&&(n._options.debug||window.debug||c._jQueryInterface.call(l,\"hide\",e))}).on(i.Event.KEYDOWN,\".\"+i.ClassName.INPUT,function(e){var l=s(t(this));0!==l.length&&c._jQueryInterface.call(l,\"_keydown\",e)}).on(i.Event.KEYUP,\".\"+i.ClassName.INPUT,function(e){var l=s(t(this));0!==l.length&&c._jQueryInterface.call(l,\"_keyup\",e)}).on(i.Event.FOCUS,\".\"+i.ClassName.INPUT,function(e){var l=s(t(this)),n=l.data(i.DATA_KEY);0!==l.length&&n._options.allowInputToggle&&c._jQueryInterface.call(l,\"show\",e)}),t.fn[i.NAME]=c._jQueryInterface,t.fn[i.NAME].Constructor=c,t.fn[i.NAME].noConflict=function(){return t.fn[i.NAME]=l,c._jQueryInterface}}(t)}()}).call(this,l(1))},function(t,e,l){\n/*!\n * FullCalendar v3.10.0\n * Docs & License: https://fullcalendar.io/\n * (c) 2018 Adam Shaw\n */\nvar n;\"undefined\"!=typeof self&&self,n=function(t,e){return function(t){var e={};function l(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,l),i.l=!0,i.exports}return l.m=t,l.c=e,l.d=function(t,e,n){l.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},l.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return l.d(e,\"a\",e),e},l.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},l.p=\"\",l(l.s=256)}([function(e,l){e.exports=t},,function(t,e){var l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var l in e)e.hasOwnProperty(l)&&(t[l]=e[l])};e.__extends=function(t,e){function n(){this.constructor=t}l(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}},function(t,l){t.exports=e},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(0),i=l(3);function a(t){t.height(\"\")}function r(t){var e,l=t[0].offsetWidth-t[0].clientWidth,n=t[0].offsetHeight-t[0].clientHeight;return l=o(l),e={left:0,right:0,top:0,bottom:n=o(n)},!function(){null===s&&(t=i(\"<div><div/></div>\").css({position:\"absolute\",top:-1e3,left:0,border:0,padding:0,overflow:\"scroll\",direction:\"rtl\"}).appendTo(\"body\"),e=t.children().offset().left>t.offset().left,t.remove(),s=e);var t,e;return s}()||\"rtl\"!==t.css(\"direction\")?e.right=l:e.left=l,e}function o(t){return t=Math.max(0,t),t=Math.round(t)}e.compensateScroll=function(t,e){e.left&&t.css({\"border-left-width\":1,\"margin-left\":e.left-1}),e.right&&t.css({\"border-right-width\":1,\"margin-right\":e.right-1})},e.uncompensateScroll=function(t){t.css({\"margin-left\":\"\",\"margin-right\":\"\",\"border-left-width\":\"\",\"border-right-width\":\"\"})},e.disableCursor=function(){i(\"body\").addClass(\"fc-not-allowed\")},e.enableCursor=function(){i(\"body\").removeClass(\"fc-not-allowed\")},e.distributeHeight=function(t,e,l){var n=Math.floor(e/t.length),r=Math.floor(e-n*(t.length-1)),o=[],s=[],c=[],u=0;a(t),t.each(function(e,l){var a=e===t.length-1?r:n,d=i(l).outerHeight(!0);d<a?(o.push(l),s.push(d),c.push(i(l).height())):u+=d}),l&&(e-=u,n=Math.floor(e/o.length),r=Math.floor(e-n*(o.length-1))),i(o).each(function(t,e){var l=t===o.length-1?r:n,a=s[t],u=l-(a-c[t]);a<l&&i(e).height(u)})},e.undistributeHeight=a,e.matchCellWidths=function(t){var e=0;return t.find(\"> *\").each(function(t,l){var n=i(l).outerWidth();n>e&&(e=n)}),e++,t.width(e),e},e.subtractInnerElHeight=function(t,e){var l,n=t.add(e);return n.css({position:\"relative\",left:-1}),l=t.outerHeight()-e.outerHeight(),n.css({position:\"\",left:\"\"}),l},e.getScrollParent=function(t){var e=t.css(\"position\"),l=t.parents().filter(function(){var t=i(this);return/(auto|scroll)/.test(t.css(\"overflow\")+t.css(\"overflow-y\")+t.css(\"overflow-x\"))}).eq(0);return\"fixed\"!==e&&l.length?l:i(t[0].ownerDocument||document)},e.getOuterRect=function(t,e){var l=t.offset(),n=l.left-(e?e.left:0),i=l.top-(e?e.top:0);return{left:n,right:n+t.outerWidth(),top:i,bottom:i+t.outerHeight()}},e.getClientRect=function(t,e){var l=t.offset(),n=r(t),i=l.left+c(t,\"border-left-width\")+n.left-(e?e.left:0),a=l.top+c(t,\"border-top-width\")+n.top-(e?e.top:0);return{left:i,right:i+t[0].clientWidth,top:a,bottom:a+t[0].clientHeight}},e.getContentRect=function(t,e){var l=t.offset(),n=l.left+c(t,\"border-left-width\")+c(t,\"padding-left\")-(e?e.left:0),i=l.top+c(t,\"border-top-width\")+c(t,\"padding-top\")-(e?e.top:0);return{left:n,right:n+t.width(),top:i,bottom:i+t.height()}},e.getScrollbarWidths=r;var s=null;function c(t,e){return parseFloat(t.css(e))||0}function u(t){t.preventDefault()}function d(t,e,l,n,i){if(l.func)return l.func(t,e);var a=t[l.field],r=e[l.field];return null==a&&n&&(a=n[l.field]),null==r&&i&&(r=i[l.field]),h(a,r)*(l.order||1)}function h(t,e){return t||e?null==e?-1:null==t?1:\"string\"===i.type(t)||\"string\"===i.type(e)?String(t).localeCompare(String(e)):t-e:0}function f(t,l){var n,i,a;for(n=0;n<e.unitsDesc.length&&!((a=p(i=e.unitsDesc[n],t,l))>=1&&x(a));n++);return i}function p(t,e,l){return null!=l?l.diff(e,t,!0):n.isDuration(e)?e.as(t):e.end.diff(e.start,t,!0)}function g(t){return Boolean(t.hours()||t.minutes()||t.seconds()||t.milliseconds())}function m(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var l=window.console;if(l&&l.log)return l.log.apply(l,t)}e.isPrimaryMouseButton=function(t){return 1===t.which&&!t.ctrlKey},e.getEvX=function(t){var e=t.originalEvent.touches;return e&&e.length?e[0].pageX:t.pageX},e.getEvY=function(t){var e=t.originalEvent.touches;return e&&e.length?e[0].pageY:t.pageY},e.getEvIsTouch=function(t){return/^touch/.test(t.type)},e.preventSelection=function(t){t.addClass(\"fc-unselectable\").on(\"selectstart\",u)},e.allowSelection=function(t){t.removeClass(\"fc-unselectable\").off(\"selectstart\",u)},e.preventDefault=u,e.intersectRects=function(t,e){var l={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)};return l.left<l.right&&l.top<l.bottom&&l},e.constrainPoint=function(t,e){return{left:Math.min(Math.max(t.left,e.left),e.right),top:Math.min(Math.max(t.top,e.top),e.bottom)}},e.getRectCenter=function(t){return{left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}},e.diffPoints=function(t,e){return{left:t.left-e.left,top:t.top-e.top}},e.parseFieldSpecs=function(t){var e,l,n=[],a=[];for(\"string\"==typeof t?a=t.split(/\\s*,\\s*/):\"function\"==typeof t?a=[t]:i.isArray(t)&&(a=t),e=0;e<a.length;e++)\"string\"==typeof(l=a[e])?n.push(\"-\"===l.charAt(0)?{field:l.substring(1),order:-1}:{field:l,order:1}):\"function\"==typeof l&&n.push({func:l});return n},e.compareByFieldSpecs=function(t,e,l,n,i){var a,r;for(a=0;a<l.length;a++)if(r=d(t,e,l[a],n,i))return r;return 0},e.compareByFieldSpec=d,e.flexibleCompare=h,e.dayIDs=[\"sun\",\"mon\",\"tue\",\"wed\",\"thu\",\"fri\",\"sat\"],e.unitsDesc=[\"year\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"],e.diffDayTime=function(t,e){return n.duration({days:t.clone().stripTime().diff(e.clone().stripTime(),\"days\"),ms:t.time()-e.time()})},e.diffDay=function(t,e){return n.duration({days:t.clone().stripTime().diff(e.clone().stripTime(),\"days\")})},e.diffByUnit=function(t,e,l){return n.duration(Math.round(t.diff(e,l,!0)),l)},e.computeGreatestUnit=f,e.computeDurationGreatestUnit=function(t,e){var l=f(t);return\"week\"===l&&\"object\"==typeof e&&e.days&&(l=\"day\"),l},e.divideRangeByDuration=function(t,e,l){var n;return g(l)?(e-t)/l:(n=l.asMonths(),Math.abs(n)>=1&&x(n)?e.diff(t,\"months\",!0)/n:e.diff(t,\"days\",!0)/l.asDays())},e.divideDurationByDuration=function(t,e){var l,n;return g(t)||g(e)?t/e:(l=t.asMonths(),n=e.asMonths(),Math.abs(l)>=1&&x(l)&&Math.abs(n)>=1&&x(n)?l/n:t.asDays()/e.asDays())},e.multiplyDuration=function(t,e){var l;return g(t)?n.duration(t*e):(l=t.asMonths(),Math.abs(l)>=1&&x(l)?n.duration({months:l*e}):n.duration({days:t.asDays()*e}))},e.durationHasTime=g,e.isNativeDate=function(t){return\"[object Date]\"===Object.prototype.toString.call(t)||t instanceof Date},e.isTimeString=function(t){return\"string\"==typeof t&&/^\\d+\\:\\d+(?:\\:\\d+\\.?(?:\\d{3})?)?$/.test(t)},e.log=m,e.warn=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var l=window.console;return l&&l.warn?l.warn.apply(l,t):m.apply(null,t)};var b={}.hasOwnProperty;function v(t,e){return b.call(t,e)}function y(t){return(t+\"\").replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/'/g,\"&#039;\").replace(/\"/g,\"&quot;\").replace(/\\n/g,\"<br />\")}function x(t){return t%1==0}e.mergeProps=function t(e,l){var n,i,a,r,o,s,c={};if(l)for(n=0;n<l.length;n++){for(i=l[n],a=[],r=e.length-1;r>=0;r--)if(\"object\"==typeof(o=e[r][i]))a.unshift(o);else if(void 0!==o){c[i]=o;break}a.length&&(c[i]=t(a))}for(n=e.length-1;n>=0;n--)for(i in s=e[n])i in c||(c[i]=s[i]);return c},e.copyOwnProps=function(t,e){for(var l in t)v(t,l)&&(e[l]=t[l])},e.hasOwnProp=v,e.applyAll=function(t,e,l){if(i.isFunction(t)&&(t=[t]),t){var n=void 0,a=void 0;for(n=0;n<t.length;n++)a=t[n].apply(e,l)||a;return a}},e.removeMatching=function(t,e){for(var l=0,n=0;n<t.length;)e(t[n])?(t.splice(n,1),l++):n++;return l},e.removeExact=function(t,e){for(var l=0,n=0;n<t.length;)t[n]===e?(t.splice(n,1),l++):n++;return l},e.isArraysEqual=function(t,e){var l,n=t.length;if(null==n||n!==e.length)return!1;for(l=0;l<n;l++)if(t[l]!==e[l])return!1;return!0},e.firstDefined=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];for(var l=0;l<t.length;l++)if(void 0!==t[l])return t[l]},e.htmlEscape=y,e.stripHtmlEntities=function(t){return t.replace(/&.*?;/g,\"\")},e.cssToStr=function(t){var e=[];return i.each(t,function(t,l){null!=l&&e.push(t+\":\"+l)}),e.join(\";\")},e.attrsToStr=function(t){var e=[];return i.each(t,function(t,l){null!=l&&e.push(t+'=\"'+y(l)+'\"')}),e.join(\" \")},e.capitaliseFirstLetter=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},e.compareNumbers=function(t,e){return t-e},e.isInt=x,e.proxy=function(t,e){var l=t[e];return function(){return l.apply(t,arguments)}},e.debounce=function(t,e,l){var n,i,a,r,o;void 0===l&&(l=!1);var s=function(){var c=+new Date-r;c<e?n=setTimeout(s,e-c):(n=null,l||(o=t.apply(a,i),a=i=null))};return function(){a=this,i=arguments,r=+new Date;var c=l&&!n;return n||(n=setTimeout(s,e)),c&&(o=t.apply(a,i),a=i=null),o}}},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(0),i=l(11),a=function(){function t(t,e){this.isStart=!0,this.isEnd=!0,n.isMoment(t)&&(t=t.clone().stripZone()),n.isMoment(e)&&(e=e.clone().stripZone()),t&&(this.startMs=t.valueOf()),e&&(this.endMs=e.valueOf())}return t.invertRanges=function(e,l){var n,i,a=[],o=l.startMs;for(e.sort(r),n=0;n<e.length;n++)(i=e[n]).startMs>o&&a.push(new t(o,i.startMs)),i.endMs>o&&(o=i.endMs);return o<l.endMs&&a.push(new t(o,l.endMs)),a},t.prototype.intersect=function(e){var l=this.startMs,n=this.endMs,i=null;return null!=e.startMs&&(l=null==l?e.startMs:Math.max(l,e.startMs)),null!=e.endMs&&(n=null==n?e.endMs:Math.min(n,e.endMs)),(null==l||null==n||l<n)&&((i=new t(l,n)).isStart=this.isStart&&l===this.startMs,i.isEnd=this.isEnd&&n===this.endMs),i},t.prototype.intersectsWith=function(t){return(null==this.endMs||null==t.startMs||this.endMs>t.startMs)&&(null==this.startMs||null==t.endMs||this.startMs<t.endMs)},t.prototype.containsRange=function(t){return(null==this.startMs||null!=t.startMs&&t.startMs>=this.startMs)&&(null==this.endMs||null!=t.endMs&&t.endMs<=this.endMs)},t.prototype.containsDate=function(t){var e=t.valueOf();return(null==this.startMs||e>=this.startMs)&&(null==this.endMs||e<this.endMs)},t.prototype.constrainDate=function(t){var e=t.valueOf();return null!=this.startMs&&e<this.startMs&&(e=this.startMs),null!=this.endMs&&e>=this.endMs&&(e=this.endMs-1),e},t.prototype.equals=function(t){return this.startMs===t.startMs&&this.endMs===t.endMs},t.prototype.clone=function(){var e=new t(this.startMs,this.endMs);return e.isStart=this.isStart,e.isEnd=this.isEnd,e},t.prototype.getStart=function(){return null!=this.startMs?i.default.utc(this.startMs).stripZone():null},t.prototype.getEnd=function(){return null!=this.endMs?i.default.utc(this.endMs).stripZone():null},t.prototype.as=function(t){return n.utc(this.endMs).diff(n.utc(this.startMs),t,!0)},t}();function r(t,e){return t.startMs-e.startMs}e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(52),r=l(35),o=l(36),s=function(t){function e(l){var n=t.call(this)||this;return n.calendar=l,n.className=[],n.uid=String(e.uuid++),n}return n.__extends(e,t),e.parse=function(t,e){var l=new this(e);return!(\"object\"!=typeof t||!l.applyProps(t))&&l},e.normalizeId=function(t){return t?String(t):null},e.prototype.fetch=function(t,e,l){},e.prototype.removeEventDefsById=function(t){},e.prototype.removeAllEventDefs=function(){},e.prototype.getPrimitive=function(t){},e.prototype.parseEventDefs=function(t){var e,l,n=[];for(e=0;e<t.length;e++)(l=this.parseEventDef(t[e]))&&n.push(l);return n},e.prototype.parseEventDef=function(t){var e=this.calendar.opt(\"eventDataTransform\"),l=this.eventDataTransform;return e&&(t=e(t,this.calendar)),l&&(t=l(t,this.calendar)),o.default.parse(t,this)},e.prototype.applyManualStandardProps=function(t){return null!=t.id&&(this.id=e.normalizeId(t.id)),i.isArray(t.className)?this.className=t.className:\"string\"==typeof t.className&&(this.className=t.className.split(/\\s+/)),!0},e.uuid=0,e.defineStandardProps=a.default.defineStandardProps,e.copyVerbatimStandardProps=a.default.copyVerbatimStandardProps,e}(r.default);e.default=s,a.default.mixInto(s),s.defineStandardProps({id:!1,className:!1,color:!0,backgroundColor:!0,borderColor:!0,textColor:!0,editable:!0,startEditable:!0,durationEditable:!0,rendering:!0,overlap:!0,constraint:!0,allDayDefault:!0,eventDataTransform:!0})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(15),r=0,o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.listenTo=function(t,e,l){if(\"object\"==typeof e)for(var n in e)e.hasOwnProperty(n)&&this.listenTo(t,n,e[n]);else\"string\"==typeof e&&t.on(e+\".\"+this.getListenerNamespace(),i.proxy(l,this))},e.prototype.stopListeningTo=function(t,e){t.off((e||\"\")+\".\"+this.getListenerNamespace())},e.prototype.getListenerNamespace=function(){return null==this.listenerId&&(this.listenerId=r++),\"_listener\"+this.listenerId},e}(a.default);e.default=o},,function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(37),a=l(53),r=l(16),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.buildInstances=function(){return[this.buildInstance()]},e.prototype.buildInstance=function(){return new a.default(this,this.dateProfile)},e.prototype.isAllDay=function(){return this.dateProfile.isAllDay()},e.prototype.clone=function(){var e=t.prototype.clone.call(this);return e.dateProfile=this.dateProfile,e},e.prototype.rezone=function(){var t=this.source.calendar,e=this.dateProfile;this.dateProfile=new r.default(t.moment(e.start),e.end?t.moment(e.end):null,t)},e.prototype.applyManualStandardProps=function(e){var l=t.prototype.applyManualStandardProps.call(this,e),n=r.default.parse(e,this.source);return!!n&&(this.dateProfile=n,null!=e.date&&(this.miscProps.date=e.date),l)},e}(i.default);e.default=o,o.defineStandardProps({start:!1,date:!1,end:!1,allDay:!1})},,function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(0),i=l(3),a=l(4),r=/^\\s*\\d{4}-\\d\\d$/,o=/^\\s*\\d{4}-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?)?$/,s=n.fn;e.newMomentProto=s;var c=i.extend({},s);e.oldMomentProto=c;var u=n.momentProperties;u.push(\"_fullCalendar\"),u.push(\"_ambigTime\"),u.push(\"_ambigZone\"),e.oldMomentFormat=function(t,e){return c.format.call(t,e)};var d=function(){return h(arguments)};function h(t,e,l){void 0===e&&(e=!1),void 0===l&&(l=!1);var s,c,u,d,h=t[0],f=1===t.length&&\"string\"==typeof h;return n.isMoment(h)||a.isNativeDate(h)||void 0===h?d=n.apply(null,t):(s=!1,c=!1,f?r.test(h)?(t=[h+=\"-01\"],s=!0,c=!0):(u=o.exec(h))&&(s=!u[5],c=!0):i.isArray(h)&&(c=!0),d=e||s?n.utc.apply(n,t):n.apply(null,t),s?(d._ambigTime=!0,d._ambigZone=!0):l&&(c?d._ambigZone=!0:f&&d.utcOffset(h))),d._fullCalendar=!0,d}e.default=d,d.utc=function(){var t=h(arguments,!0);return t.hasTime()&&t.utc(),t},d.parseZone=function(){return h(arguments,!0,!0)},s.week=s.weeks=function(t){var e=this._locale._fullCalendar_weekCalc;return null==t&&\"function\"==typeof e?e(this):\"ISO\"===e?c.isoWeek.apply(this,arguments):c.week.apply(this,arguments)},s.time=function(t){if(!this._fullCalendar)return c.time.apply(this,arguments);if(null==t)return n.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,n.isDuration(t)||n.isMoment(t)||(t=n.duration(t));var e=0;return n.isDuration(t)&&(e=24*Math.floor(t.asDays())),this.hours(e+t.hours()).minutes(t.minutes()).seconds(t.seconds()).milliseconds(t.milliseconds())},s.stripTime=function(){return this._ambigTime||(this.utc(!0),this.set({hours:0,minutes:0,seconds:0,ms:0}),this._ambigTime=!0,this._ambigZone=!0),this},s.hasTime=function(){return!this._ambigTime},s.stripZone=function(){var t;return this._ambigZone||(t=this._ambigTime,this.utc(!0),this._ambigTime=t||!1,this._ambigZone=!0),this},s.hasZone=function(){return!this._ambigZone},s.local=function(t){return c.local.call(this,this._ambigZone||t),this._ambigTime=!1,this._ambigZone=!1,this},s.utc=function(t){return c.utc.call(this,t),this._ambigTime=!1,this._ambigZone=!1,this},s.utcOffset=function(t){return null!=t&&(this._ambigTime=!1,this._ambigZone=!1),c.utcOffset.apply(this,arguments)}},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){this.isAllDay=!1,this.unzonedRange=t,this.isAllDay=e}return t.prototype.toLegacy=function(t){return{start:t.msToMoment(this.unzonedRange.startMs,this.isAllDay),end:t.msToMoment(this.unzonedRange.endMs,this.isAllDay)}},t}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.on=function(t,e){return i(this).on(t,this._prepareIntercept(e)),this},e.prototype.one=function(t,e){return i(this).one(t,this._prepareIntercept(e)),this},e.prototype._prepareIntercept=function(t){var e=function(e,l){return t.apply(l.context||this,l.args||[])};return t.guid||(t.guid=i.guid++),e.guid=t.guid,e},e.prototype.off=function(t,e){return i(this).off(t,e),this},e.prototype.trigger=function(t){for(var e=[],l=1;l<arguments.length;l++)e[l-1]=arguments[l];return i(this).triggerHandler(t,{args:e}),this},e.prototype.triggerWith=function(t,e,l){return i(this).triggerHandler(t,{context:e,args:l}),this},e.prototype.hasHandlers=function(t){var e=i._data(this,\"events\");return e&&e[t]&&e[t].length>0},e}(l(15).default);e.default=a},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t){this.view=t._getView(),this.component=t}return t.prototype.opt=function(t){return this.view.opt(t)},t.prototype.end=function(){},t}();e.default=l},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(){}return t.mixInto=function(t){var e=this;Object.getOwnPropertyNames(this.prototype).forEach(function(l){t.prototype[l]||(t.prototype[l]=e.prototype[l])})},t.mixOver=function(t){var e=this;Object.getOwnPropertyNames(this.prototype).forEach(function(l){t.prototype[l]=e.prototype[l]})},t}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(5),i=function(){function t(t,e,l){this.start=t,this.end=e||null,this.unzonedRange=this.buildUnzonedRange(l)}return t.parse=function(e,l){var n=e.start||e.date,i=e.end;if(!n)return!1;var a=l.calendar,r=a.moment(n),o=i?a.moment(i):null,s=e.allDay,c=a.opt(\"forceEventDuration\");return!!r.isValid()&&(null==s&&null==(s=l.allDayDefault)&&(s=a.opt(\"allDayDefault\")),!0===s?(r.stripTime(),o&&o.stripTime()):!1===s&&(r.hasTime()||r.time(0),o&&!o.hasTime()&&o.time(0)),!o||o.isValid()&&o.isAfter(r)||(o=null),!o&&c&&(o=a.getDefaultEventEnd(!r.hasTime(),r)),new t(r,o,a))},t.isStandardProp=function(t){return\"start\"===t||\"date\"===t||\"end\"===t||\"allDay\"===t},t.prototype.isAllDay=function(){return!(this.start.hasTime()||this.end&&this.end.hasTime())},t.prototype.buildUnzonedRange=function(t){var e=this.start.clone().stripZone().valueOf(),l=this.getEnd(t).stripZone().valueOf();return new n.default(e,l)},t.prototype.getEnd=function(t){return this.end?this.end.clone():t.getDefaultEventEnd(this.isAllDay(),this.start)},t}();e.default=i},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=function(t){function e(e,l){var n=t.call(this,l)||this;return n.component=e,n}return n.__extends(e,t),e.prototype.handleInteractionStart=function(e){var l,n,a,r=this.subjectEl;this.component.hitsNeeded(),this.computeScrollBounds(),e?(a=n={left:i.getEvX(e),top:i.getEvY(e)},r&&(l=i.getOuterRect(r),a=i.constrainPoint(a,l)),this.origHit=this.queryHit(a.left,a.top),r&&this.options.subjectCenter&&(this.origHit&&(l=i.intersectRects(this.origHit,l)||l),a=i.getRectCenter(l)),this.coordAdjust=i.diffPoints(a,n)):(this.origHit=null,this.coordAdjust=null),t.prototype.handleInteractionStart.call(this,e)},e.prototype.handleDragStart=function(e){var l;t.prototype.handleDragStart.call(this,e),(l=this.queryHit(i.getEvX(e),i.getEvY(e)))&&this.handleHitOver(l)},e.prototype.handleDrag=function(e,l,n){var a;t.prototype.handleDrag.call(this,e,l,n),r(a=this.queryHit(i.getEvX(n),i.getEvY(n)),this.hit)||(this.hit&&this.handleHitOut(),a&&this.handleHitOver(a))},e.prototype.handleDragEnd=function(e){this.handleHitDone(),t.prototype.handleDragEnd.call(this,e)},e.prototype.handleHitOver=function(t){var e=r(t,this.origHit);this.hit=t,this.trigger(\"hitOver\",this.hit,e,this.origHit)},e.prototype.handleHitOut=function(){this.hit&&(this.trigger(\"hitOut\",this.hit),this.handleHitDone(),this.hit=null)},e.prototype.handleHitDone=function(){this.hit&&this.trigger(\"hitDone\",this.hit)},e.prototype.handleInteractionEnd=function(e,l){t.prototype.handleInteractionEnd.call(this,e,l),this.origHit=null,this.hit=null,this.component.hitsNotNeeded()},e.prototype.handleScrollEnd=function(){t.prototype.handleScrollEnd.call(this),this.isDragging&&(this.component.releaseHits(),this.component.prepareHits())},e.prototype.queryHit=function(t,e){return this.coordAdjust&&(t+=this.coordAdjust.left,e+=this.coordAdjust.top),this.component.queryHit(t,e)},e}(l(59).default);function r(t,e){return!t&&!e||!(!t||!e)&&(t.component===e.component&&o(t,e)&&o(e,t))}function o(t,e){for(var l in t)if(!/^(component|left|right|top|bottom)$/.test(l)&&t[l]!==e[l])return!1;return!0}e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0}),e.version=\"3.10.0\",e.internalApiVersion=12;var n=l(4);e.applyAll=n.applyAll,e.debounce=n.debounce,e.isInt=n.isInt,e.htmlEscape=n.htmlEscape,e.cssToStr=n.cssToStr,e.proxy=n.proxy,e.capitaliseFirstLetter=n.capitaliseFirstLetter,e.getOuterRect=n.getOuterRect,e.getClientRect=n.getClientRect,e.getContentRect=n.getContentRect,e.getScrollbarWidths=n.getScrollbarWidths,e.preventDefault=n.preventDefault,e.parseFieldSpecs=n.parseFieldSpecs,e.compareByFieldSpecs=n.compareByFieldSpecs,e.compareByFieldSpec=n.compareByFieldSpec,e.flexibleCompare=n.flexibleCompare,e.computeGreatestUnit=n.computeGreatestUnit,e.divideRangeByDuration=n.divideRangeByDuration,e.divideDurationByDuration=n.divideDurationByDuration,e.multiplyDuration=n.multiplyDuration,e.durationHasTime=n.durationHasTime,e.log=n.log,e.warn=n.warn,e.removeExact=n.removeExact,e.intersectRects=n.intersectRects,e.allowSelection=n.allowSelection,e.attrsToStr=n.attrsToStr,e.compareNumbers=n.compareNumbers,e.compensateScroll=n.compensateScroll,e.computeDurationGreatestUnit=n.computeDurationGreatestUnit,e.constrainPoint=n.constrainPoint,e.copyOwnProps=n.copyOwnProps,e.diffByUnit=n.diffByUnit,e.diffDay=n.diffDay,e.diffDayTime=n.diffDayTime,e.diffPoints=n.diffPoints,e.disableCursor=n.disableCursor,e.distributeHeight=n.distributeHeight,e.enableCursor=n.enableCursor,e.firstDefined=n.firstDefined,e.getEvIsTouch=n.getEvIsTouch,e.getEvX=n.getEvX,e.getEvY=n.getEvY,e.getRectCenter=n.getRectCenter,e.getScrollParent=n.getScrollParent,e.hasOwnProp=n.hasOwnProp,e.isArraysEqual=n.isArraysEqual,e.isNativeDate=n.isNativeDate,e.isPrimaryMouseButton=n.isPrimaryMouseButton,e.isTimeString=n.isTimeString,e.matchCellWidths=n.matchCellWidths,e.mergeProps=n.mergeProps,e.preventSelection=n.preventSelection,e.removeMatching=n.removeMatching,e.stripHtmlEntities=n.stripHtmlEntities,e.subtractInnerElHeight=n.subtractInnerElHeight,e.uncompensateScroll=n.uncompensateScroll,e.undistributeHeight=n.undistributeHeight,e.dayIDs=n.dayIDs,e.unitsDesc=n.unitsDesc;var i=l(49);e.formatDate=i.formatDate,e.formatRange=i.formatRange,e.queryMostGranularFormatUnit=i.queryMostGranularFormatUnit;var a=l(32);e.datepickerLocale=a.datepickerLocale,e.locale=a.locale,e.getMomentLocaleData=a.getMomentLocaleData,e.populateInstanceComputableOptions=a.populateInstanceComputableOptions;var r=l(19);e.eventDefsToEventInstances=r.eventDefsToEventInstances,e.eventFootprintToComponentFootprint=r.eventFootprintToComponentFootprint,e.eventInstanceToEventRange=r.eventInstanceToEventRange,e.eventInstanceToUnzonedRange=r.eventInstanceToUnzonedRange,e.eventRangeToEventFootprint=r.eventRangeToEventFootprint;var o=l(11);e.moment=o.default;var s=l(13);e.EmitterMixin=s.default;var c=l(7);e.ListenerMixin=c.default;var u=l(51);e.Model=u.default;var d=l(217);e.Constraints=d.default;var h=l(55);e.DateProfileGenerator=h.default;var f=l(5);e.UnzonedRange=f.default;var p=l(12);e.ComponentFootprint=p.default;var g=l(218);e.BusinessHourGenerator=g.default;var m=l(219);e.EventPeriod=m.default;var b=l(220);e.EventManager=b.default;var v=l(37);e.EventDef=v.default;var y=l(39);e.EventDefMutation=y.default;var x=l(36);e.EventDefParser=x.default;var _=l(53);e.EventInstance=_.default;var w=l(50);e.EventRange=w.default;var S=l(54);e.RecurringEventDef=S.default;var k=l(9);e.SingleEventDef=k.default;var C=l(40);e.EventDefDateMutation=C.default;var T=l(16);e.EventDateProfile=T.default;var D=l(38);e.EventSourceParser=D.default;var M=l(6);e.EventSource=M.default;var A=l(57);e.defineThemeSystem=A.defineThemeSystem,e.getThemeSystemClass=A.getThemeSystemClass;var E=l(20);e.EventInstanceGroup=E.default;var j=l(56);e.ArrayEventSource=j.default;var I=l(223);e.FuncEventSource=I.default;var P=l(224);e.JsonFeedEventSource=P.default;var O=l(34);e.EventFootprint=O.default;var L=l(35);e.Class=L.default;var R=l(15);e.Mixin=R.default;var N=l(58);e.CoordCache=N.default;var F=l(225);e.Iterator=F.default;var B=l(59);e.DragListener=B.default;var H=l(17);e.HitDragListener=H.default;var q=l(226);e.MouseFollower=q.default;var Z=l(52);e.ParsableModelMixin=Z.default;var z=l(227);e.Popover=z.default;var $=l(21);e.Promise=$.default;var Y=l(228);e.TaskQueue=Y.default;var W=l(229);e.RenderQueue=W.default;var V=l(41);e.Scroller=V.default;var U=l(22);e.Theme=U.default;var G=l(230);e.Component=G.default;var X=l(231);e.DateComponent=X.default;var K=l(42);e.InteractiveDateComponent=K.default;var Q=l(232);e.Calendar=Q.default;var J=l(43);e.View=J.default;var tt=l(24);e.defineView=tt.defineView,e.getViewConfig=tt.getViewConfig;var et=l(60);e.DayTableMixin=et.default;var lt=l(61);e.BusinessHourRenderer=lt.default;var nt=l(44);e.EventRenderer=nt.default;var it=l(62);e.FillRenderer=it.default;var at=l(63);e.HelperRenderer=at.default;var rt=l(233);e.ExternalDropping=rt.default;var ot=l(234);e.EventResizing=ot.default;var st=l(64);e.EventPointing=st.default;var ct=l(235);e.EventDragging=ct.default;var ut=l(236);e.DateSelecting=ut.default;var dt=l(237);e.DateClicking=dt.default;var ht=l(14);e.Interaction=ht.default;var ft=l(65);e.StandardInteractionsMixin=ft.default;var pt=l(238);e.AgendaView=pt.default;var gt=l(239);e.TimeGrid=gt.default;var mt=l(240);e.TimeGridEventRenderer=mt.default;var bt=l(242);e.TimeGridFillRenderer=bt.default;var vt=l(241);e.TimeGridHelperRenderer=vt.default;var yt=l(66);e.DayGrid=yt.default;var xt=l(243);e.DayGridEventRenderer=xt.default;var _t=l(245);e.DayGridFillRenderer=_t.default;var wt=l(244);e.DayGridHelperRenderer=wt.default;var St=l(67);e.BasicView=St.default;var kt=l(68);e.BasicViewDateProfileGenerator=kt.default;var Ct=l(246);e.MonthView=Ct.default;var Tt=l(247);e.MonthViewDateProfileGenerator=Tt.default;var Dt=l(248);e.ListView=Dt.default;var Mt=l(250);e.ListEventPointing=Mt.default;var At=l(249);e.ListEventRenderer=At.default},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(50),i=l(34),a=l(12);e.eventDefsToEventInstances=function(t,e){var l,n=[];for(l=0;l<t.length;l++)n.push.apply(n,t[l].buildInstances(e));return n},e.eventInstanceToEventRange=function(t){return new n.default(t.dateProfile.unzonedRange,t.def,t)},e.eventRangeToEventFootprint=function(t){return new i.default(new a.default(t.unzonedRange,t.eventDef.isAllDay()),t.eventDef,t.eventInstance)},e.eventInstanceToUnzonedRange=function(t){return t.dateProfile.unzonedRange},e.eventFootprintToComponentFootprint=function(t){return t.componentFootprint}},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(5),i=l(19),a=l(50),r=function(){function t(t){this.eventInstances=t||[]}return t.prototype.getAllEventRanges=function(t){return t?this.sliceNormalRenderRanges(t):this.eventInstances.map(i.eventInstanceToEventRange)},t.prototype.sliceRenderRanges=function(t){return this.isInverse()?this.sliceInverseRenderRanges(t):this.sliceNormalRenderRanges(t)},t.prototype.sliceNormalRenderRanges=function(t){var e,l,n,i=this.eventInstances,r=[];for(e=0;e<i.length;e++)(n=(l=i[e]).dateProfile.unzonedRange.intersect(t))&&r.push(new a.default(n,l.def,l));return r},t.prototype.sliceInverseRenderRanges=function(t){var e=this.eventInstances.map(i.eventInstanceToUnzonedRange),l=this.getEventDef();return(e=n.default.invertRanges(e,t)).map(function(t){return new a.default(t,l)})},t.prototype.isInverse=function(){return this.getEventDef().hasInverseRendering()},t.prototype.getEventDef=function(){return this.explicitEventDef||this.eventInstances[0].def},t}();e.default=r},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i={construct:function(t){var e=n.Deferred(),l=e.promise();return\"function\"==typeof t&&t(function(t){e.resolve(t),a(l,t)},function(){e.reject(),r(l)}),l},resolve:function(t){var e=n.Deferred().resolve(t).promise();return a(e,t),e},reject:function(){var t=n.Deferred().reject().promise();return r(t),t}};function a(t,e){t.then=function(l){return\"function\"==typeof l?i.resolve(l(e)):t}}function r(t){t.then=function(e,l){return\"function\"==typeof l&&l(),t}}e.default=i},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=function(){function t(t){this.optionsManager=t,this.processIconOverride()}return t.prototype.processIconOverride=function(){this.iconOverrideOption&&this.setIconOverride(this.optionsManager.get(this.iconOverrideOption))},t.prototype.setIconOverride=function(t){var e,l;if(n.isPlainObject(t)){for(l in e=n.extend({},this.iconClasses),t)e[l]=this.applyIconOverridePrefix(t[l]);this.iconClasses=e}else!1===t&&(this.iconClasses={})},t.prototype.applyIconOverridePrefix=function(t){var e=this.iconOverridePrefix;return e&&0!==t.indexOf(e)&&(t=e+t),t},t.prototype.getClass=function(t){return this.classes[t]||\"\"},t.prototype.getIconClass=function(t){var e=this.iconClasses[t];return e?this.baseIconClass+\" \"+e:\"\"},t.prototype.getCustomButtonIconClass=function(t){var e;return this.iconOverrideCustomButtonOption&&(e=t[this.iconOverrideCustomButtonOption])?this.baseIconClass+\" \"+this.applyIconOverridePrefix(e):\"\"},t}();e.default=i,i.prototype.classes={},i.prototype.iconClasses={},i.prototype.baseIconClass=\"\",i.prototype.iconOverridePrefix=\"\"},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(18),a=l(13),r=l(7);i.touchMouseIgnoreWait=500;var o=null,s=0,c=function(){function t(){this.isTouching=!1,this.mouseIgnoreDepth=0}return t.get=function(){return o||(o=new t).bind(),o},t.needed=function(){t.get(),s++},t.unneeded=function(){--s||(o.unbind(),o=null)},t.prototype.bind=function(){var t=this;this.listenTo(n(document),{touchstart:this.handleTouchStart,touchcancel:this.handleTouchCancel,touchend:this.handleTouchEnd,mousedown:this.handleMouseDown,mousemove:this.handleMouseMove,mouseup:this.handleMouseUp,click:this.handleClick,selectstart:this.handleSelectStart,contextmenu:this.handleContextMenu}),window.addEventListener(\"touchmove\",this.handleTouchMoveProxy=function(e){t.handleTouchMove(n.Event(e))},{passive:!1}),window.addEventListener(\"scroll\",this.handleScrollProxy=function(e){t.handleScroll(n.Event(e))},!0)},t.prototype.unbind=function(){this.stopListeningTo(n(document)),window.removeEventListener(\"touchmove\",this.handleTouchMoveProxy,{passive:!1}),window.removeEventListener(\"scroll\",this.handleScrollProxy,!0)},t.prototype.handleTouchStart=function(t){this.stopTouch(t,!0),this.isTouching=!0,this.trigger(\"touchstart\",t)},t.prototype.handleTouchMove=function(t){this.isTouching&&this.trigger(\"touchmove\",t)},t.prototype.handleTouchCancel=function(t){this.isTouching&&(this.trigger(\"touchcancel\",t),this.stopTouch(t))},t.prototype.handleTouchEnd=function(t){this.stopTouch(t)},t.prototype.handleMouseDown=function(t){this.shouldIgnoreMouse()||this.trigger(\"mousedown\",t)},t.prototype.handleMouseMove=function(t){this.shouldIgnoreMouse()||this.trigger(\"mousemove\",t)},t.prototype.handleMouseUp=function(t){this.shouldIgnoreMouse()||this.trigger(\"mouseup\",t)},t.prototype.handleClick=function(t){this.shouldIgnoreMouse()||this.trigger(\"click\",t)},t.prototype.handleSelectStart=function(t){this.trigger(\"selectstart\",t)},t.prototype.handleContextMenu=function(t){this.trigger(\"contextmenu\",t)},t.prototype.handleScroll=function(t){this.trigger(\"scroll\",t)},t.prototype.stopTouch=function(t,e){void 0===e&&(e=!1),this.isTouching&&(this.isTouching=!1,this.trigger(\"touchend\",t),e||this.startTouchMouseIgnore())},t.prototype.startTouchMouseIgnore=function(){var t=this,e=i.touchMouseIgnoreWait;e&&(this.mouseIgnoreDepth++,setTimeout(function(){t.mouseIgnoreDepth--},e))},t.prototype.shouldIgnoreMouse=function(){return this.isTouching||Boolean(this.mouseIgnoreDepth)},t}();e.default=c,r.default.mixInto(c),a.default.mixInto(c)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(18);e.viewHash={},n.views=e.viewHash,e.defineView=function(t,l){e.viewHash[t]=l},e.getViewConfig=function(t){return e.viewHash[t]}},,,,,,,,function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(0),a=l(18),r=l(33),o=l(4);e.localeOptionHash={},a.locales=e.localeOptionHash;var s={buttonText:function(t){return{prev:o.stripHtmlEntities(t.prevText),next:o.stripHtmlEntities(t.nextText),today:o.stripHtmlEntities(t.currentText)}},monthYearFormat:function(t){return t.showMonthAfterYear?\"YYYY[\"+t.yearSuffix+\"] MMMM\":\"MMMM YYYY[\"+t.yearSuffix+\"]\"}},c={dayOfMonthFormat:function(t,e){var l=t.longDateFormat(\"l\");return l=l.replace(/^Y+[^\\w\\s]*|[^\\w\\s]*Y+$/g,\"\"),e.isRTL?l+=\" ddd\":l=\"ddd \"+l,l},mediumTimeFormat:function(t){return t.longDateFormat(\"LT\").replace(/\\s*a$/i,\"a\")},smallTimeFormat:function(t){return t.longDateFormat(\"LT\").replace(\":mm\",\"(:mm)\").replace(/(\\Wmm)$/,\"($1)\").replace(/\\s*a$/i,\"a\")},extraSmallTimeFormat:function(t){return t.longDateFormat(\"LT\").replace(\":mm\",\"(:mm)\").replace(/(\\Wmm)$/,\"($1)\").replace(/\\s*a$/i,\"t\")},hourFormat:function(t){return t.longDateFormat(\"LT\").replace(\":mm\",\"\").replace(/(\\Wmm)$/,\"\").replace(/\\s*a$/i,\"a\")},noMeridiemTimeFormat:function(t){return t.longDateFormat(\"LT\").replace(/\\s*a$/i,\"\")}},u={smallDayDateFormat:function(t){return t.isRTL?\"D dd\":\"dd D\"},weekFormat:function(t){return t.isRTL?\"w[ \"+t.weekNumberTitle+\"]\":\"[\"+t.weekNumberTitle+\" ]w\"},smallWeekFormat:function(t){return t.isRTL?\"w[\"+t.weekNumberTitle+\"]\":\"[\"+t.weekNumberTitle+\"]w\"}};function d(t,l){var i,a;i=e.localeOptionHash[t]||(e.localeOptionHash[t]={}),l&&(i=e.localeOptionHash[t]=r.mergeOptions([i,l])),a=h(t),n.each(c,function(t,e){null==i[t]&&(i[t]=e(a,i))}),r.globalDefaults.locale=t}function h(t){return i.localeData(t)||i.localeData(\"en\")}e.populateInstanceComputableOptions=function(t){n.each(u,function(e,l){null==t[e]&&(t[e]=l(t))})},e.datepickerLocale=function(t,l,i){var a=e.localeOptionHash[t]||(e.localeOptionHash[t]={});a.isRTL=i.isRTL,a.weekNumberTitle=i.weekHeader,n.each(s,function(t,e){a[t]=e(i)});var r=n.datepicker;r&&(r.regional[l]=r.regional[t]=i,r.regional.en=r.regional[\"\"],r.setDefaults(i))},e.locale=d,e.getMomentLocaleData=h,d(\"en\",r.englishDefaults)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(4);e.globalDefaults={titleRangeSeparator:\" – \",monthYearFormat:\"MMMM YYYY\",defaultTimedEventDuration:\"02:00:00\",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:\"09:00:00\",columnHeader:!0,defaultView:\"month\",aspectRatio:1.35,header:{left:\"title\",center:\"\",right:\"today prev,next\"},weekends:!0,weekNumbers:!1,weekNumberTitle:\"W\",weekNumberCalculation:\"local\",scrollTime:\"06:00:00\",minTime:\"00:00:00\",maxTime:\"24:00:00\",showNonCurrentDates:!0,lazyFetching:!0,startParam:\"start\",endParam:\"end\",timezoneParam:\"timezone\",timezone:!1,locale:null,isRTL:!1,buttonText:{prev:\"prev\",next:\"next\",prevYear:\"prev year\",nextYear:\"next year\",year:\"year\",today:\"today\",month:\"month\",week:\"week\",day:\"day\"},allDayText:\"all-day\",agendaEventMinHeight:0,theme:!1,dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:\"*\",eventOrder:\"title\",eventLimit:!1,eventLimitText:\"more\",eventLimitClick:\"popover\",dayPopoverFormat:\"LL\",handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3},e.englishDefaults={dayPopoverFormat:\"dddd, MMMM D\"},e.rtlDefaults={header:{left:\"next,prev today\",center:\"\",right:\"title\"},buttonIcons:{prev:\"right-single-arrow\",next:\"left-single-arrow\",prevYear:\"right-double-arrow\",nextYear:\"left-double-arrow\"},themeButtonIcons:{prev:\"circle-triangle-e\",next:\"circle-triangle-w\",nextYear:\"seek-prev\",prevYear:\"seek-next\"}};var i=[\"header\",\"footer\",\"buttonText\",\"buttonIcons\",\"themeButtonIcons\"];e.mergeOptions=function(t){return n.mergeProps(t,i)}},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e,l){this.componentFootprint=t,this.eventDef=e,l&&(this.eventInstance=l)}return t.prototype.getEventLegacy=function(){return(this.eventInstance||this.eventDef).toLegacy()},t}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=function(){function t(){}return t.extend=function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(this);return i.copyOwnProps(t,e.prototype),e},t.mixin=function(t){i.copyOwnProps(t,this.prototype)},t}();e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(0),i=l(4),a=l(9),r=l(54);e.default={parse:function(t,e){return i.isTimeString(t.start)||n.isDuration(t.start)||i.isTimeString(t.end)||n.isDuration(t.end)?r.default.parse(t,e):a.default.parse(t,e)}}},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(52),a=function(){function t(t){this.source=t,this.className=[],this.miscProps={}}return t.parse=function(t,e){var l=new this(e);return!!l.applyProps(t)&&l},t.normalizeId=function(t){return String(t)},t.generateId=function(){return\"_fc\"+t.uuid++},t.prototype.clone=function(){var e=new this.constructor(this.source);return e.id=this.id,e.rawId=this.rawId,e.uid=this.uid,t.copyVerbatimStandardProps(this,e),e.className=this.className.slice(),e.miscProps=n.extend({},this.miscProps),e},t.prototype.hasInverseRendering=function(){return\"inverse-background\"===this.getRendering()},t.prototype.hasBgRendering=function(){var t=this.getRendering();return\"inverse-background\"===t||\"background\"===t},t.prototype.getRendering=function(){return null!=this.rendering?this.rendering:this.source.rendering},t.prototype.getConstraint=function(){return null!=this.constraint?this.constraint:null!=this.source.constraint?this.source.constraint:this.source.calendar.opt(\"eventConstraint\")},t.prototype.getOverlap=function(){return null!=this.overlap?this.overlap:null!=this.source.overlap?this.source.overlap:this.source.calendar.opt(\"eventOverlap\")},t.prototype.isStartExplicitlyEditable=function(){return null!=this.startEditable?this.startEditable:this.source.startEditable},t.prototype.isDurationExplicitlyEditable=function(){return null!=this.durationEditable?this.durationEditable:this.source.durationEditable},t.prototype.isExplicitlyEditable=function(){return null!=this.editable?this.editable:this.source.editable},t.prototype.toLegacy=function(){var e=n.extend({},this.miscProps);return e._id=this.uid,e.source=this.source,e.className=this.className.slice(),e.allDay=this.isAllDay(),null!=this.rawId&&(e.id=this.rawId),t.copyVerbatimStandardProps(this,e),e},t.prototype.applyManualStandardProps=function(e){return null!=e.id?this.id=t.normalizeId(this.rawId=e.id):this.id=t.generateId(),null!=e._id?this.uid=String(e._id):this.uid=t.generateId(),n.isArray(e.className)&&(this.className=e.className),\"string\"==typeof e.className&&(this.className=e.className.split(/\\s+/)),!0},t.prototype.applyMiscProps=function(t){n.extend(this.miscProps,t)},t.uuid=0,t.defineStandardProps=i.default.defineStandardProps,t.copyVerbatimStandardProps=i.default.copyVerbatimStandardProps,t}();e.default=a,i.default.mixInto(a),a.defineStandardProps({_id:!1,id:!1,className:!1,source:!1,title:!0,url:!0,rendering:!0,constraint:!0,overlap:!0,editable:!0,startEditable:!0,durationEditable:!0,color:!0,backgroundColor:!0,borderColor:!0,textColor:!0})},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={sourceClasses:[],registerClass:function(t){this.sourceClasses.unshift(t)},parse:function(t,e){var l,n,i=this.sourceClasses;for(l=0;l<i.length;l++)if(n=i[l].parse(t,e))return n}}},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(4),i=l(16),a=l(37),r=l(40),o=l(9),s=function(){function t(){}return t.createFromRawProps=function(e,l,o){var s,c,u,d,h=e.def,f={},p={},g={},m={},b=null,v=null;for(s in l)i.default.isStandardProp(s)?f[s]=l[s]:h.isStandardProp(s)?p[s]=l[s]:h.miscProps[s]!==l[s]&&(g[s]=l[s]);return(c=i.default.parse(f,h.source))&&(u=r.default.createFromDiff(e.dateProfile,c,o)),p.id!==h.id&&(b=p.id),n.isArraysEqual(p.className,h.className)||(v=p.className),a.default.copyVerbatimStandardProps(p,m),(d=new t).eventDefId=b,d.className=v,d.verbatimStandardProps=m,d.miscProps=g,u&&(d.dateMutation=u),d},t.prototype.mutateSingle=function(t){var e;return this.dateMutation&&(e=t.dateProfile,t.dateProfile=this.dateMutation.buildNewDateProfile(e,t.source.calendar)),null!=this.eventDefId&&(t.id=a.default.normalizeId(t.rawId=this.eventDefId)),this.className&&(t.className=this.className),this.verbatimStandardProps&&o.default.copyVerbatimStandardProps(this.verbatimStandardProps,t),this.miscProps&&t.applyMiscProps(this.miscProps),e?function(){t.dateProfile=e}:function(){}},t.prototype.setDateMutation=function(t){t&&!t.isEmpty()?this.dateMutation=t:this.dateMutation=null},t.prototype.isEmpty=function(){return!this.dateMutation},t}();e.default=s},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(4),i=l(16),a=function(){function t(){this.clearEnd=!1,this.forceTimed=!1,this.forceAllDay=!1}return t.createFromDiff=function(e,l,i){var a,r,o,s=e.end&&!l.end,c=e.isAllDay()&&!l.isAllDay(),u=!e.isAllDay()&&l.isAllDay();function d(t,e){return i?n.diffByUnit(t,e,i):l.isAllDay()?n.diffDay(t,e):n.diffDayTime(t,e)}return a=d(l.start,e.start),l.end&&(r=d(l.unzonedRange.getEnd(),e.unzonedRange.getEnd()).subtract(a)),(o=new t).clearEnd=s,o.forceTimed=c,o.forceAllDay=u,o.setDateDelta(a),o.setEndDelta(r),o},t.prototype.buildNewDateProfile=function(t,e){var l=t.start.clone(),n=null,a=!1;return t.end&&!this.clearEnd?n=t.end.clone():this.endDelta&&!n&&(n=e.getDefaultEventEnd(t.isAllDay(),l)),this.forceTimed?(a=!0,l.hasTime()||l.time(0),n&&!n.hasTime()&&n.time(0)):this.forceAllDay&&(l.hasTime()&&l.stripTime(),n&&n.hasTime()&&n.stripTime()),this.dateDelta&&(a=!0,l.add(this.dateDelta),n&&n.add(this.dateDelta)),this.endDelta&&(a=!0,n.add(this.endDelta)),this.startDelta&&(a=!0,l.add(this.startDelta)),a&&(l=e.applyTimezone(l),n&&(n=e.applyTimezone(n))),!n&&e.opt(\"forceEventDuration\")&&(n=e.getDefaultEventEnd(t.isAllDay(),l)),new i.default(l,n,e)},t.prototype.setDateDelta=function(t){t&&t.valueOf()?this.dateDelta=t:this.dateDelta=null},t.prototype.setStartDelta=function(t){t&&t.valueOf()?this.startDelta=t:this.startDelta=null},t.prototype.setEndDelta=function(t){t&&t.valueOf()?this.endDelta=t:this.endDelta=null},t.prototype.isEmpty=function(){return!(this.clearEnd||this.forceTimed||this.forceAllDay||this.dateDelta||this.startDelta||this.endDelta)},t}();e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=function(t){function e(e){var l=t.call(this)||this;return e=e||{},l.overflowX=e.overflowX||e.overflow||\"auto\",l.overflowY=e.overflowY||e.overflow||\"auto\",l}return n.__extends(e,t),e.prototype.render=function(){this.el=this.renderEl(),this.applyOverflow()},e.prototype.renderEl=function(){return this.scrollEl=i('<div class=\"fc-scroller\"></div>')},e.prototype.clear=function(){this.setHeight(\"auto\"),this.applyOverflow()},e.prototype.destroy=function(){this.el.remove()},e.prototype.applyOverflow=function(){this.scrollEl.css({\"overflow-x\":this.overflowX,\"overflow-y\":this.overflowY})},e.prototype.lockOverflow=function(t){var e=this.overflowX,l=this.overflowY;t=t||this.getScrollbarWidths(),\"auto\"===e&&(e=t.top||t.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?\"scroll\":\"hidden\"),\"auto\"===l&&(l=t.left||t.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?\"scroll\":\"hidden\"),this.scrollEl.css({\"overflow-x\":e,\"overflow-y\":l})},e.prototype.setHeight=function(t){this.scrollEl.height(t)},e.prototype.getScrollTop=function(){return this.scrollEl.scrollTop()},e.prototype.setScrollTop=function(t){this.scrollEl.scrollTop(t)},e.prototype.getClientWidth=function(){return this.scrollEl[0].clientWidth},e.prototype.getClientHeight=function(){return this.scrollEl[0].clientHeight},e.prototype.getScrollbarWidths=function(){return a.getScrollbarWidths(this.scrollEl)},e}(l(35).default);e.default=r},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(231),o=l(23),s=function(t){function e(e,l){var n=t.call(this,e,l)||this;return n.segSelector=\".fc-event-container > *\",n.dateSelectingClass&&(n.dateClicking=new n.dateClickingClass(n)),n.dateSelectingClass&&(n.dateSelecting=new n.dateSelectingClass(n)),n.eventPointingClass&&(n.eventPointing=new n.eventPointingClass(n)),n.eventDraggingClass&&n.eventPointing&&(n.eventDragging=new n.eventDraggingClass(n,n.eventPointing)),n.eventResizingClass&&n.eventPointing&&(n.eventResizing=new n.eventResizingClass(n,n.eventPointing)),n.externalDroppingClass&&(n.externalDropping=new n.externalDroppingClass(n)),n}return n.__extends(e,t),e.prototype.setElement=function(e){t.prototype.setElement.call(this,e),this.dateClicking&&this.dateClicking.bindToEl(e),this.dateSelecting&&this.dateSelecting.bindToEl(e),this.bindAllSegHandlersToEl(e)},e.prototype.removeElement=function(){this.endInteractions(),t.prototype.removeElement.call(this)},e.prototype.executeEventUnrender=function(){this.endInteractions(),t.prototype.executeEventUnrender.call(this)},e.prototype.bindGlobalHandlers=function(){t.prototype.bindGlobalHandlers.call(this),this.externalDropping&&this.externalDropping.bindToDocument()},e.prototype.unbindGlobalHandlers=function(){t.prototype.unbindGlobalHandlers.call(this),this.externalDropping&&this.externalDropping.unbindFromDocument()},e.prototype.bindDateHandlerToEl=function(t,e,l){var n=this;this.el.on(e,function(t){if(!i(t.target).is(n.segSelector+\":not(.fc-helper),\"+n.segSelector+\":not(.fc-helper) *,.fc-more,a[data-goto]\"))return l.call(n,t)})},e.prototype.bindAllSegHandlersToEl=function(t){[this.eventPointing,this.eventDragging,this.eventResizing].forEach(function(e){e&&e.bindToEl(t)})},e.prototype.bindSegHandlerToEl=function(t,e,l){var n=this;t.on(e,this.segSelector,function(t){var e=i(t.currentTarget);if(!e.is(\".fc-helper\")){var a=e.data(\"fc-seg\");if(a&&!n.shouldIgnoreEventPointing())return l.call(n,a,t)}})},e.prototype.shouldIgnoreMouse=function(){return o.default.get().shouldIgnoreMouse()},e.prototype.shouldIgnoreTouch=function(){var t=this._getView();return t.isSelected||t.selectedEvent},e.prototype.shouldIgnoreEventPointing=function(){return this.eventDragging&&this.eventDragging.isDragging||this.eventResizing&&this.eventResizing.isResizing},e.prototype.canStartSelection=function(t,e){return a.getEvIsTouch(e)&&!this.canStartResize(t,e)&&(this.isEventDefDraggable(t.footprint.eventDef)||this.isEventDefResizable(t.footprint.eventDef))},e.prototype.canStartDrag=function(t,e){return!this.canStartResize(t,e)&&this.isEventDefDraggable(t.footprint.eventDef)},e.prototype.canStartResize=function(t,e){var l=this._getView(),n=t.footprint.eventDef;return(!a.getEvIsTouch(e)||l.isEventDefSelected(n))&&this.isEventDefResizable(n)&&i(e.target).is(\".fc-resizer\")},e.prototype.endInteractions=function(){[this.dateClicking,this.dateSelecting,this.eventPointing,this.eventDragging,this.eventResizing].forEach(function(t){t&&t.end()})},e.prototype.isEventDefDraggable=function(t){return this.isEventDefStartEditable(t)},e.prototype.isEventDefStartEditable=function(t){var e=t.isStartExplicitlyEditable();return null==e&&null==(e=this.opt(\"eventStartEditable\"))&&(e=this.isEventDefGenerallyEditable(t)),e},e.prototype.isEventDefGenerallyEditable=function(t){var e=t.isExplicitlyEditable();return null==e&&(e=this.opt(\"editable\")),e},e.prototype.isEventDefResizableFromStart=function(t){return this.opt(\"eventResizableFromStart\")&&this.isEventDefResizable(t)},e.prototype.isEventDefResizableFromEnd=function(t){return this.isEventDefResizable(t)},e.prototype.isEventDefResizable=function(t){var e=t.isDurationExplicitlyEditable();return null==e&&null==(e=this.opt(\"eventDurationEditable\"))&&(e=this.isEventDefGenerallyEditable(t)),e},e.prototype.diffDates=function(t,e){return this.largeUnit?a.diffByUnit(t,e,this.largeUnit):a.diffDayTime(t,e)},e.prototype.isEventInstanceGroupAllowed=function(t){var e,l=this._getView(),n=this.dateProfile,i=this.eventRangesToEventFootprints(t.getAllEventRanges());for(e=0;e<i.length;e++)if(!n.validUnzonedRange.containsRange(i[e].componentFootprint.unzonedRange))return!1;return l.calendar.constraints.isEventInstanceGroupAllowed(t)},e.prototype.isExternalInstanceGroupAllowed=function(t){var e,l=this._getView(),n=this.dateProfile,i=this.eventRangesToEventFootprints(t.getAllEventRanges());for(e=0;e<i.length;e++)if(!n.validUnzonedRange.containsRange(i[e].componentFootprint.unzonedRange))return!1;for(e=0;e<i.length;e++)if(!l.calendar.constraints.isSelectionFootprintAllowed(i[e].componentFootprint))return!1;return!0},e}(r.default);e.default=s},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(0),r=l(4),o=l(229),s=l(55),c=l(42),u=l(23),d=l(5),h=function(t){function e(e,l){var n=t.call(this,null,l.options)||this;return n.batchRenderDepth=0,n.isSelected=!1,n.calendar=e,n.viewSpec=l,n.type=l.type,n.name=n.type,n.initRenderQueue(),n.initHiddenDays(),n.dateProfileGenerator=new n.dateProfileGeneratorClass(n),n.bindBaseRenderHandlers(),n.eventOrderSpecs=r.parseFieldSpecs(n.opt(\"eventOrder\")),n.initialize&&n.initialize(),n}return n.__extends(e,t),e.prototype._getView=function(){return this},e.prototype.opt=function(t){return this.options[t]},e.prototype.initRenderQueue=function(){this.renderQueue=new o.default({event:this.opt(\"eventRenderWait\")}),this.renderQueue.on(\"start\",this.onRenderQueueStart.bind(this)),this.renderQueue.on(\"stop\",this.onRenderQueueStop.bind(this)),this.on(\"before:change\",this.startBatchRender),this.on(\"change\",this.stopBatchRender)},e.prototype.onRenderQueueStart=function(){this.calendar.freezeContentHeight(),this.addScroll(this.queryScroll())},e.prototype.onRenderQueueStop=function(){this.calendar.updateViewSize()&&this.popScroll(),this.calendar.thawContentHeight()},e.prototype.startBatchRender=function(){this.batchRenderDepth++||this.renderQueue.pause()},e.prototype.stopBatchRender=function(){--this.batchRenderDepth||this.renderQueue.resume()},e.prototype.requestRender=function(t,e,l){this.renderQueue.queue(t,e,l)},e.prototype.whenSizeUpdated=function(t){this.renderQueue.isRunning?this.renderQueue.one(\"stop\",t.bind(this)):t.call(this)},e.prototype.computeTitle=function(t){var e;return e=/^(year|month)$/.test(t.currentRangeUnit)?t.currentUnzonedRange:t.activeUnzonedRange,this.formatRange({start:this.calendar.msToMoment(e.startMs,t.isRangeAllDay),end:this.calendar.msToMoment(e.endMs,t.isRangeAllDay)},t.isRangeAllDay,this.opt(\"titleFormat\")||this.computeTitleFormat(t),this.opt(\"titleRangeSeparator\"))},e.prototype.computeTitleFormat=function(t){var e=t.currentRangeUnit;return\"year\"===e?\"YYYY\":\"month\"===e?this.opt(\"monthYearFormat\"):t.currentUnzonedRange.as(\"days\")>1?\"ll\":\"LL\"},e.prototype.setDate=function(t){var e=this.get(\"dateProfile\"),l=this.dateProfileGenerator.build(t,void 0,!0);e&&e.activeUnzonedRange.equals(l.activeUnzonedRange)||this.set(\"dateProfile\",l)},e.prototype.unsetDate=function(){this.unset(\"dateProfile\")},e.prototype.fetchInitialEvents=function(t){var e=this.calendar,l=t.isRangeAllDay&&!this.usesMinMaxTime;return e.requestEvents(e.msToMoment(t.activeUnzonedRange.startMs,l),e.msToMoment(t.activeUnzonedRange.endMs,l))},e.prototype.bindEventChanges=function(){this.listenTo(this.calendar,\"eventsReset\",this.resetEvents)},e.prototype.unbindEventChanges=function(){this.stopListeningTo(this.calendar,\"eventsReset\")},e.prototype.setEvents=function(t){this.set(\"currentEvents\",t),this.set(\"hasEvents\",!0)},e.prototype.unsetEvents=function(){this.unset(\"currentEvents\"),this.unset(\"hasEvents\")},e.prototype.resetEvents=function(t){this.startBatchRender(),this.unsetEvents(),this.setEvents(t),this.stopBatchRender()},e.prototype.requestDateRender=function(t){var e=this;this.requestRender(function(){e.executeDateRender(t)},\"date\",\"init\")},e.prototype.requestDateUnrender=function(){var t=this;this.requestRender(function(){t.executeDateUnrender()},\"date\",\"destroy\")},e.prototype.executeDateRender=function(e){t.prototype.executeDateRender.call(this,e),this.render&&this.render(),this.trigger(\"datesRendered\"),this.addScroll({isDateInit:!0}),this.startNowIndicator()},e.prototype.executeDateUnrender=function(){this.unselect(),this.stopNowIndicator(),this.trigger(\"before:datesUnrendered\"),this.destroy&&this.destroy(),t.prototype.executeDateUnrender.call(this)},e.prototype.bindBaseRenderHandlers=function(){var t=this;this.on(\"datesRendered\",function(){t.whenSizeUpdated(t.triggerViewRender)}),this.on(\"before:datesUnrendered\",function(){t.triggerViewDestroy()})},e.prototype.triggerViewRender=function(){this.publiclyTrigger(\"viewRender\",{context:this,args:[this,this.el]})},e.prototype.triggerViewDestroy=function(){this.publiclyTrigger(\"viewDestroy\",{context:this,args:[this,this.el]})},e.prototype.requestEventsRender=function(t){var e=this;this.requestRender(function(){e.executeEventRender(t),e.whenSizeUpdated(e.triggerAfterEventsRendered)},\"event\",\"init\")},e.prototype.requestEventsUnrender=function(){var t=this;this.requestRender(function(){t.triggerBeforeEventsDestroyed(),t.executeEventUnrender()},\"event\",\"destroy\")},e.prototype.requestBusinessHoursRender=function(t){var e=this;this.requestRender(function(){e.renderBusinessHours(t)},\"businessHours\",\"init\")},e.prototype.requestBusinessHoursUnrender=function(){var t=this;this.requestRender(function(){t.unrenderBusinessHours()},\"businessHours\",\"destroy\")},e.prototype.bindGlobalHandlers=function(){t.prototype.bindGlobalHandlers.call(this),this.listenTo(u.default.get(),{touchstart:this.processUnselect,mousedown:this.handleDocumentMousedown})},e.prototype.unbindGlobalHandlers=function(){t.prototype.unbindGlobalHandlers.call(this),this.stopListeningTo(u.default.get())},e.prototype.startNowIndicator=function(){var t,e,l,n=this;this.opt(\"nowIndicator\")&&(t=this.getNowIndicatorUnit())&&(e=r.proxy(this,\"updateNowIndicator\"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=(new Date).valueOf(),l=this.initialNowDate.clone().startOf(t).add(1,t).valueOf()-this.initialNowDate.valueOf(),this.nowIndicatorTimeoutID=setTimeout(function(){n.nowIndicatorTimeoutID=null,e(),l=+a.duration(1,t),l=Math.max(100,l),n.nowIndicatorIntervalID=setInterval(e,l)},l))},e.prototype.updateNowIndicator=function(){this.isDatesRendered&&this.initialNowDate&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add((new Date).valueOf()-this.initialNowQueriedMs)),this.isNowIndicatorRendered=!0)},e.prototype.stopNowIndicator=function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearInterval(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},e.prototype.updateSize=function(e,l,n){this.setHeight?this.setHeight(e,l):t.prototype.updateSize.call(this,e,l,n),this.updateNowIndicator()},e.prototype.addScroll=function(t){var e=this.queuedScroll||(this.queuedScroll={});i.extend(e,t)},e.prototype.popScroll=function(){this.applyQueuedScroll(),this.queuedScroll=null},e.prototype.applyQueuedScroll=function(){this.queuedScroll&&this.applyScroll(this.queuedScroll)},e.prototype.queryScroll=function(){var t={};return this.isDatesRendered&&i.extend(t,this.queryDateScroll()),t},e.prototype.applyScroll=function(t){t.isDateInit&&this.isDatesRendered&&i.extend(t,this.computeInitialDateScroll()),this.isDatesRendered&&this.applyDateScroll(t)},e.prototype.computeInitialDateScroll=function(){return{}},e.prototype.queryDateScroll=function(){return{}},e.prototype.applyDateScroll=function(t){},e.prototype.reportEventDrop=function(t,e,l,n){var i=this.calendar.eventManager.mutateEventsWithId(t.def.id,e),r=e.dateMutation;r&&(t.dateProfile=r.buildNewDateProfile(t.dateProfile,this.calendar)),this.triggerEventDrop(t,r&&r.dateDelta||a.duration(),i,l,n)},e.prototype.triggerEventDrop=function(t,e,l,n,i){this.publiclyTrigger(\"eventDrop\",{context:n[0],args:[t.toLegacy(),e,l,i,{},this]})},e.prototype.reportExternalDrop=function(t,e,l,n,i,a){e&&this.calendar.eventManager.addEventDef(t,l),this.triggerExternalDrop(t,e,n,i,a)},e.prototype.triggerExternalDrop=function(t,e,l,n,i){this.publiclyTrigger(\"drop\",{context:l[0],args:[t.dateProfile.start.clone(),n,i,this]}),e&&this.publiclyTrigger(\"eventReceive\",{context:this,args:[t.buildInstance().toLegacy(),this]})},e.prototype.reportEventResize=function(t,e,l,n){var i=this.calendar.eventManager.mutateEventsWithId(t.def.id,e);t.dateProfile=e.dateMutation.buildNewDateProfile(t.dateProfile,this.calendar);var a=e.dateMutation.endDelta||e.dateMutation.startDelta;this.triggerEventResize(t,a,i,l,n)},e.prototype.triggerEventResize=function(t,e,l,n,i){this.publiclyTrigger(\"eventResize\",{context:n[0],args:[t.toLegacy(),e,l,i,{},this]})},e.prototype.select=function(t,e){this.unselect(e),this.renderSelectionFootprint(t),this.reportSelection(t,e)},e.prototype.renderSelectionFootprint=function(e){this.renderSelection?this.renderSelection(e.toLegacy(this.calendar)):t.prototype.renderSelectionFootprint.call(this,e)},e.prototype.reportSelection=function(t,e){this.isSelected=!0,this.triggerSelect(t,e)},e.prototype.triggerSelect=function(t,e){var l=this.calendar.footprintToDateProfile(t);this.publiclyTrigger(\"select\",{context:this,args:[l.start,l.end,e,this]})},e.prototype.unselect=function(t){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.publiclyTrigger(\"unselect\",{context:this,args:[t,this]}))},e.prototype.selectEventInstance=function(t){this.selectedEventInstance&&this.selectedEventInstance===t||(this.unselectEventInstance(),this.getEventSegs().forEach(function(e){e.footprint.eventInstance===t&&e.el&&e.el.addClass(\"fc-selected\")}),this.selectedEventInstance=t)},e.prototype.unselectEventInstance=function(){this.selectedEventInstance&&(this.getEventSegs().forEach(function(t){t.el&&t.el.removeClass(\"fc-selected\")}),this.selectedEventInstance=null)},e.prototype.isEventDefSelected=function(t){return this.selectedEventInstance&&this.selectedEventInstance.def.id===t.id},e.prototype.handleDocumentMousedown=function(t){r.isPrimaryMouseButton(t)&&this.processUnselect(t)},e.prototype.processUnselect=function(t){this.processRangeUnselect(t),this.processEventUnselect(t)},e.prototype.processRangeUnselect=function(t){var e;this.isSelected&&this.opt(\"unselectAuto\")&&((e=this.opt(\"unselectCancel\"))&&i(t.target).closest(e).length||this.unselect(t))},e.prototype.processEventUnselect=function(t){this.selectedEventInstance&&(i(t.target).closest(\".fc-selected\").length||this.unselectEventInstance())},e.prototype.triggerBaseRendered=function(){this.publiclyTrigger(\"viewRender\",{context:this,args:[this,this.el]})},e.prototype.triggerBaseUnrendered=function(){this.publiclyTrigger(\"viewDestroy\",{context:this,args:[this,this.el]})},e.prototype.triggerDayClick=function(t,e,l){var n=this.calendar.footprintToDateProfile(t);this.publiclyTrigger(\"dayClick\",{context:e,args:[n.start,l,this]})},e.prototype.isDateInOtherMonth=function(t,e){return!1},e.prototype.getUnzonedRangeOption=function(t){var e=this.opt(t);if(\"function\"==typeof e&&(e=e.apply(null,Array.prototype.slice.call(arguments,1))),e)return this.calendar.parseUnzonedRange(e)},e.prototype.initHiddenDays=function(){var t,e=this.opt(\"hiddenDays\")||[],l=[],n=0;for(!1===this.opt(\"weekends\")&&e.push(0,6),t=0;t<7;t++)(l[t]=-1!==i.inArray(t,e))||n++;if(!n)throw new Error(\"invalid hiddenDays\");this.isHiddenDayHash=l},e.prototype.trimHiddenDays=function(t){var e=t.getStart(),l=t.getEnd();return e&&(e=this.skipHiddenDays(e)),l&&(l=this.skipHiddenDays(l,-1,!0)),null===e||null===l||e<l?new d.default(e,l):null},e.prototype.isHiddenDay=function(t){return a.isMoment(t)&&(t=t.day()),this.isHiddenDayHash[t]},e.prototype.skipHiddenDays=function(t,e,l){void 0===e&&(e=1),void 0===l&&(l=!1);for(var n=t.clone();this.isHiddenDayHash[(n.day()+(l?e:0)+7)%7];)n.add(e,\"days\");return n},e}(c.default);e.default=h,h.prototype.usesMinMaxTime=!1,h.prototype.dateProfileGeneratorClass=s.default,h.watch(\"displayingDates\",[\"isInDom\",\"dateProfile\"],function(t){this.requestDateRender(t.dateProfile)},function(){this.requestDateUnrender()}),h.watch(\"displayingBusinessHours\",[\"displayingDates\",\"businessHourGenerator\"],function(t){this.requestBusinessHoursRender(t.businessHourGenerator)},function(){this.requestBusinessHoursUnrender()}),h.watch(\"initialEvents\",[\"dateProfile\"],function(t){return this.fetchInitialEvents(t.dateProfile)}),h.watch(\"bindingEvents\",[\"initialEvents\"],function(t){this.setEvents(t.initialEvents),this.bindEventChanges()},function(){this.unbindEventChanges(),this.unsetEvents()}),h.watch(\"displayingEvents\",[\"displayingDates\",\"hasEvents\"],function(){this.requestEventsRender(this.get(\"currentEvents\"))},function(){this.requestEventsUnrender()}),h.watch(\"title\",[\"dateProfile\"],function(t){return this.title=this.computeTitle(t.dateProfile)}),h.watch(\"legacyDateProps\",[\"dateProfile\"],function(t){var e=this.calendar,l=t.dateProfile;this.start=e.msToMoment(l.activeUnzonedRange.startMs,l.isRangeAllDay),this.end=e.msToMoment(l.activeUnzonedRange.endMs,l.isRangeAllDay),this.intervalStart=e.msToMoment(l.currentUnzonedRange.startMs,l.isRangeAllDay),this.intervalEnd=e.msToMoment(l.currentUnzonedRange.endMs,l.isRangeAllDay)})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=function(){function t(t,e){this.view=t._getView(),this.component=t,this.fillRenderer=e}return t.prototype.opt=function(t){return this.view.opt(t)},t.prototype.rangeUpdated=function(){var t,e;this.eventTimeFormat=this.opt(\"eventTimeFormat\")||this.opt(\"timeFormat\")||this.computeEventTimeFormat(),null==(t=this.opt(\"displayEventTime\"))&&(t=this.computeDisplayEventTime()),null==(e=this.opt(\"displayEventEnd\"))&&(e=this.computeDisplayEventEnd()),this.displayEventTime=t,this.displayEventEnd=e},t.prototype.render=function(t){var e,l,n,i=this.component._getDateProfile(),a=[],r=[];for(e in t)n=(l=t[e]).sliceRenderRanges(i.activeUnzonedRange),l.getEventDef().hasBgRendering()?a.push.apply(a,n):r.push.apply(r,n);this.renderBgRanges(a),this.renderFgRanges(r)},t.prototype.unrender=function(){this.unrenderBgRanges(),this.unrenderFgRanges()},t.prototype.renderFgRanges=function(t){var e=this.component.eventRangesToEventFootprints(t),l=this.component.eventFootprintsToSegs(e);l=this.renderFgSegEls(l),!1!==this.renderFgSegs(l)&&(this.fgSegs=l)},t.prototype.unrenderFgRanges=function(){this.unrenderFgSegs(this.fgSegs||[]),this.fgSegs=null},t.prototype.renderBgRanges=function(t){var e=this.component.eventRangesToEventFootprints(t),l=this.component.eventFootprintsToSegs(e);!1!==this.renderBgSegs(l)&&(this.bgSegs=l)},t.prototype.unrenderBgRanges=function(){this.unrenderBgSegs(),this.bgSegs=null},t.prototype.getSegs=function(){return(this.bgSegs||[]).concat(this.fgSegs||[])},t.prototype.renderFgSegs=function(t){return!1},t.prototype.unrenderFgSegs=function(t){},t.prototype.renderBgSegs=function(t){var e=this;if(!this.fillRenderer)return!1;this.fillRenderer.renderSegs(\"bgEvent\",t,{getClasses:function(t){return e.getBgClasses(t.footprint.eventDef)},getCss:function(t){return{\"background-color\":e.getBgColor(t.footprint.eventDef)}},filterEl:function(t,l){return e.filterEventRenderEl(t.footprint,l)}})},t.prototype.unrenderBgSegs=function(){this.fillRenderer&&this.fillRenderer.unrender(\"bgEvent\")},t.prototype.renderFgSegEls=function(t,e){var l=this;void 0===e&&(e=!1);var i,a=this.view.hasPublicHandlers(\"eventRender\"),r=\"\",o=[];if(t.length){for(i=0;i<t.length;i++)this.beforeFgSegHtml(t[i]),r+=this.fgSegHtml(t[i],e);n(r).each(function(e,i){var r=t[e],s=n(i);a&&(s=l.filterEventRenderEl(r.footprint,s)),s&&(s.data(\"fc-seg\",r),r.el=s,o.push(r))})}return o},t.prototype.beforeFgSegHtml=function(t){},t.prototype.fgSegHtml=function(t,e){},t.prototype.getSegClasses=function(t,e,l){var n=[\"fc-event\",t.isStart?\"fc-start\":\"fc-not-start\",t.isEnd?\"fc-end\":\"fc-not-end\"].concat(this.getClasses(t.footprint.eventDef));return e&&n.push(\"fc-draggable\"),l&&n.push(\"fc-resizable\"),this.view.isEventDefSelected(t.footprint.eventDef)&&n.push(\"fc-selected\"),n},t.prototype.filterEventRenderEl=function(t,e){var l=t.getEventLegacy(),i=this.view.publiclyTrigger(\"eventRender\",{context:l,args:[l,e,this.view]});return!1===i?e=null:i&&!0!==i&&(e=n(i)),e},t.prototype.getTimeText=function(t,e,l){return this._getTimeText(t.eventInstance.dateProfile.start,t.eventInstance.dateProfile.end,t.componentFootprint.isAllDay,e,l)},t.prototype._getTimeText=function(t,e,l,n,i){return null==n&&(n=this.eventTimeFormat),null==i&&(i=this.displayEventEnd),this.displayEventTime&&!l?i&&e?this.view.formatRange({start:t,end:e},!1,n):t.format(n):\"\"},t.prototype.computeEventTimeFormat=function(){return this.opt(\"smallTimeFormat\")},t.prototype.computeDisplayEventTime=function(){return!0},t.prototype.computeDisplayEventEnd=function(){return!0},t.prototype.getBgClasses=function(t){var e=this.getClasses(t);return e.push(\"fc-bgevent\"),e},t.prototype.getClasses=function(t){var e,l=this.getStylingObjs(t),n=[];for(e=0;e<l.length;e++)n.push.apply(n,l[e].eventClassName||l[e].className||[]);return n},t.prototype.getSkinCss=function(t){return{\"background-color\":this.getBgColor(t),\"border-color\":this.getBorderColor(t),color:this.getTextColor(t)}},t.prototype.getBgColor=function(t){var e,l,n=this.getStylingObjs(t);for(e=0;e<n.length&&!l;e++)l=n[e].eventBackgroundColor||n[e].eventColor||n[e].backgroundColor||n[e].color;return l||(l=this.opt(\"eventBackgroundColor\")||this.opt(\"eventColor\")),l},t.prototype.getBorderColor=function(t){var e,l,n=this.getStylingObjs(t);for(e=0;e<n.length&&!l;e++)l=n[e].eventBorderColor||n[e].eventColor||n[e].borderColor||n[e].color;return l||(l=this.opt(\"eventBorderColor\")||this.opt(\"eventColor\")),l},t.prototype.getTextColor=function(t){var e,l,n=this.getStylingObjs(t);for(e=0;e<n.length&&!l;e++)l=n[e].eventTextColor||n[e].textColor;return l||(l=this.opt(\"eventTextColor\")),l},t.prototype.getStylingObjs=function(t){var e=this.getFallbackStylingObjs(t);return e.unshift(t),e},t.prototype.getFallbackStylingObjs=function(t){return[t.source]},t.prototype.sortEventSegs=function(t){t.sort(i.proxy(this,\"compareEventSegs\"))},t.prototype.compareEventSegs=function(t,e){var l=t.footprint,n=e.footprint,a=l.componentFootprint,r=n.componentFootprint,o=a.unzonedRange,s=r.unzonedRange;return o.startMs-s.startMs||s.endMs-s.startMs-(o.endMs-o.startMs)||r.isAllDay-a.isAllDay||i.compareByFieldSpecs(l.eventDef,n.eventDef,this.view.eventOrderSpecs,l.eventDef.miscProps,n.eventDef.miscProps)},t}();e.default=a},,,,,function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(11);function i(t){return\"en\"!==t.locale()?t.clone().locale(\"en\"):t}n.newMomentProto.format=function(){return this._fullCalendar&&arguments[0]?d(this,arguments[0]):this._ambigTime?n.oldMomentFormat(i(this),\"YYYY-MM-DD\"):this._ambigZone?n.oldMomentFormat(i(this),\"YYYY-MM-DD[T]HH:mm:ss\"):this._fullCalendar?n.oldMomentFormat(i(this)):n.oldMomentProto.format.apply(this,arguments)},n.newMomentProto.toISOString=function(){return this._ambigTime?n.oldMomentFormat(i(this),\"YYYY-MM-DD\"):this._ambigZone?n.oldMomentFormat(i(this),\"YYYY-MM-DD[T]HH:mm:ss\"):this._fullCalendar?n.oldMomentProto.toISOString.apply(i(this),arguments):n.oldMomentProto.toISOString.apply(this,arguments)};var a=\"\\v\",r=\"\u001f\",o=\"\u001e\",s=new RegExp(o+\"([^\"+o+\"]*)\"+o,\"g\"),c={t:function(t){return n.oldMomentFormat(t,\"a\").charAt(0)},T:function(t){return n.oldMomentFormat(t,\"A\").charAt(0)}},u={Y:{value:1,unit:\"year\"},M:{value:2,unit:\"month\"},W:{value:3,unit:\"week\"},w:{value:3,unit:\"week\"},D:{value:4,unit:\"day\"},d:{value:4,unit:\"day\"}};function d(t,e){return function(t,e){return y(v(t,e).join(\"\"))}(f(e).fakeFormatString,t)}e.formatDate=d,e.formatRange=function(t,e,l,i,a){return t=n.default.parseZone(t),e=n.default.parseZone(e),function(t,e,l,n,i){var a,r,o,s=t.sameUnits,c=e.clone().stripZone(),u=l.clone().stripZone(),d=v(t.fakeFormatString,e),h=v(t.fakeFormatString,l),f=\"\",p=\"\",g=\"\",m=\"\",b=\"\";for(a=0;a<s.length&&(!s[a]||c.isSame(u,s[a]));a++)f+=d[a];for(r=s.length-1;r>a&&(!s[r]||c.isSame(u,s[r]))&&(r-1!==a||\".\"!==d[r]);r--)p=d[r]+p;for(o=a;o<=r;o++)g+=d[o],m+=h[o];return(g||m)&&(b=i?m+n+g:g+n+m),y(f+b+p)}(f(l=t.localeData().longDateFormat(l)||l),t,e,i||\" - \",a)};var h={};function f(t){return h[t]||(h[t]=function(t){var e=p(t);return{fakeFormatString:m(e),sameUnits:b(e)}}(t))}function p(t){for(var e,l=[],n=/\\[([^\\]]*)\\]|\\(([^\\)]*)\\)|(LTS|LT|(\\w)\\4*o?)|([^\\w\\[\\(]+)/g;e=n.exec(t);)e[1]?l.push.apply(l,g(e[1])):e[2]?l.push({maybe:p(e[2])}):e[3]?l.push({token:e[3]}):e[5]&&l.push.apply(l,g(e[5]));return l}function g(t){return\". \"===t?[\".\",\" \"]:[t]}function m(t){var e,l,n=[];for(e=0;e<t.length;e++)\"string\"==typeof(l=t[e])?n.push(\"[\"+l+\"]\"):l.token?l.token in c?n.push(r+\"[\"+l.token+\"]\"):n.push(l.token):l.maybe&&n.push(o+m(l.maybe)+o);return n.join(a)}function b(t){var e,l,n,i=[];for(e=0;e<t.length;e++)(l=t[e]).token?(n=u[l.token.charAt(0)],i.push(n?n.unit:\"second\")):l.maybe?i.push.apply(i,b(l.maybe)):i.push(null);return i}function v(t,e){var l,i,o=[],s=n.oldMomentFormat(e,t).split(a);for(l=0;l<s.length;l++)(i=s[l]).charAt(0)===r?o.push(c[i.substring(1)](e)):o.push(i);return o}function y(t){return t.replace(s,function(t,e){return e.match(/[1-9]/)?e:\"\"})}e.queryMostGranularFormatUnit=function(t){var e,l,n,i,a=p(t);for(e=0;e<a.length;e++)(l=a[e]).token&&(n=u[l.token.charAt(0)])&&(!i||n.value>i.value)&&(i=n);return i?i.unit:null}},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){return function(t,e,l){this.unzonedRange=t,this.eventDef=e,l&&(this.eventInstance=l)}}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(35),a=l(13),r=l(7),o=function(t){function e(){var e=t.call(this)||this;return e._watchers={},e._props={},e.applyGlobalWatchers(),e.constructed(),e}return n.__extends(e,t),e.watch=function(t){for(var e=[],l=1;l<arguments.length;l++)e[l-1]=arguments[l];this.prototype.hasOwnProperty(\"_globalWatchArgs\")||(this.prototype._globalWatchArgs=Object.create(this.prototype._globalWatchArgs)),this.prototype._globalWatchArgs[t]=e},e.prototype.constructed=function(){},e.prototype.applyGlobalWatchers=function(){var t,e=this._globalWatchArgs;for(t in e)this.watch.apply(this,[t].concat(e[t]))},e.prototype.has=function(t){return t in this._props},e.prototype.get=function(t){return void 0===t?this._props:this._props[t]},e.prototype.set=function(t,e){var l;\"string\"==typeof t?(l={})[t]=void 0===e?null:e:l=t,this.setProps(l)},e.prototype.reset=function(t){var e,l=this._props,n={};for(e in l)n[e]=void 0;for(e in t)n[e]=t[e];this.setProps(n)},e.prototype.unset=function(t){var e,l,n={};for(e=\"string\"==typeof t?[t]:t,l=0;l<e.length;l++)n[e[l]]=void 0;this.setProps(n)},e.prototype.setProps=function(t){var e,l,n={},i=0;for(e in t)\"object\"!=typeof(l=t[e])&&l===this._props[e]||(n[e]=l,i++);if(i){for(e in this.trigger(\"before:batchChange\",n),n)l=n[e],this.trigger(\"before:change\",e,l),this.trigger(\"before:change:\"+e,l);for(e in n)void 0===(l=n[e])?delete this._props[e]:this._props[e]=l,this.trigger(\"change:\"+e,l),this.trigger(\"change\",e,l);this.trigger(\"batchChange\",n)}},e.prototype.watch=function(t,e,l,n){var i=this;this.unwatch(t),this._watchers[t]=this._watchDeps(e,function(e){var n=l.call(i,e);n&&n.then?(i.unset(t),n.then(function(e){i.set(t,e)})):i.set(t,n)},function(e){i.unset(t),n&&n.call(i,e)})},e.prototype.unwatch=function(t){var e=this._watchers[t];e&&(delete this._watchers[t],e.teardown())},e.prototype._watchDeps=function(t,e,l){var n=this,i=0,a=t.length,r=0,o={},s=[],c=!1,u=function(t,e){n.on(t,e),s.push([t,e])};return t.forEach(function(t){var n=!1;\"?\"===t.charAt(0)&&(t=t.substring(1),n=!0),u(\"before:change:\"+t,function(t){1==++i&&r===a&&(c=!0,l(o),c=!1)}),u(\"change:\"+t,function(l){!function(t,l,n){void 0===l?(n||void 0===o[t]||r--,delete o[t]):(n||void 0!==o[t]||r++,o[t]=l),--i||r===a&&(c||e(o))}(t,l,n)})}),t.forEach(function(t){var e=!1;\"?\"===t.charAt(0)&&(t=t.substring(1),e=!0),n.has(t)?(o[t]=n.get(t),r++):e&&r++}),r===a&&e(o),{teardown:function(){for(var t=0;t<s.length;t++)n.off(s[t][0],s[t][1]);s=null,r===a&&l()},flash:function(){r===a&&(l(),e(o))}}},e.prototype.flash=function(t){var e=this._watchers[t];e&&e.flash()},e}(i.default);e.default=o,o.prototype._globalWatchArgs={},a.default.mixInto(o),r.default.mixInto(o)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.defineStandardProps=function(t){var e=this.prototype;e.hasOwnProperty(\"standardPropMap\")||(e.standardPropMap=Object.create(e.standardPropMap)),i.copyOwnProps(t,e.standardPropMap)},e.copyVerbatimStandardProps=function(t,e){var l,n=this.prototype.standardPropMap;for(l in n)null!=t[l]&&!0===n[l]&&(e[l]=t[l])},e.prototype.applyProps=function(t){var e,l=this.standardPropMap,n={},i={};for(e in t)!0===l[e]?this[e]=t[e]:!1===l[e]?n[e]=t[e]:i[e]=t[e];return this.applyMiscProps(i),this.applyManualStandardProps(n)},e.prototype.applyManualStandardProps=function(t){return!0},e.prototype.applyMiscProps=function(t){},e.prototype.isStandardProp=function(t){return t in this.standardPropMap},e}(l(15).default);e.default=a,a.prototype.standardPropMap={}},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){this.def=t,this.dateProfile=e}return t.prototype.toLegacy=function(){var t=this.dateProfile,e=this.def.toLegacy();return e.start=t.start.clone(),e.end=t.end?t.end.clone():null,e},t}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(0),r=l(37),o=l(53),s=l(16),c=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.isAllDay=function(){return!this.startTime&&!this.endTime},e.prototype.buildInstances=function(t){for(var e,l,n,i=this.source.calendar,a=t.getStart(),r=t.getEnd(),c=[];a.isBefore(r);)this.dowHash&&!this.dowHash[a.day()]||(l=(e=i.applyTimezone(a)).clone(),n=null,this.startTime?l.time(this.startTime):l.stripTime(),this.endTime&&(n=e.clone().time(this.endTime)),c.push(new o.default(this,new s.default(l,n,i)))),a.add(1,\"days\");return c},e.prototype.setDow=function(t){this.dowHash||(this.dowHash={});for(var e=0;e<t.length;e++)this.dowHash[t[e]]=!0},e.prototype.clone=function(){var e=t.prototype.clone.call(this);return e.startTime&&(e.startTime=a.duration(this.startTime)),e.endTime&&(e.endTime=a.duration(this.endTime)),this.dowHash&&(e.dowHash=i.extend({},this.dowHash)),e},e}(r.default);e.default=c,c.prototype.applyProps=function(t){var e=r.default.prototype.applyProps.call(this,t);return t.start&&(this.startTime=a.duration(t.start)),t.end&&(this.endTime=a.duration(t.end)),t.dow&&this.setDow(t.dow),e},c.defineStandardProps({start:!1,end:!1,dow:!1})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(0),i=l(4),a=l(5),r=function(){function t(t){this._view=t}return t.prototype.opt=function(t){return this._view.opt(t)},t.prototype.trimHiddenDays=function(t){return this._view.trimHiddenDays(t)},t.prototype.msToUtcMoment=function(t,e){return this._view.calendar.msToUtcMoment(t,e)},t.prototype.buildPrev=function(t){var e=t.date.clone().startOf(t.currentRangeUnit).subtract(t.dateIncrement);return this.build(e,-1)},t.prototype.buildNext=function(t){var e=t.date.clone().startOf(t.currentRangeUnit).add(t.dateIncrement);return this.build(e,1)},t.prototype.build=function(t,e,l){void 0===l&&(l=!1);var i,a,r,o,s,c,u,d,h=!t.hasTime();return i=this.buildValidRange(),i=this.trimHiddenDays(i),l&&(t=this.msToUtcMoment(i.constrainDate(t),h)),o=this.buildCurrentRangeInfo(t,e),s=/^(year|month|week|day)$/.test(o.unit),c=this.buildRenderRange(this.trimHiddenDays(o.unzonedRange),o.unit,s),u=(c=this.trimHiddenDays(c)).clone(),this.opt(\"showNonCurrentDates\")||(u=u.intersect(o.unzonedRange)),a=n.duration(this.opt(\"minTime\")),r=n.duration(this.opt(\"maxTime\")),(u=(u=this.adjustActiveRange(u,a,r)).intersect(i))&&(t=this.msToUtcMoment(u.constrainDate(t),h)),d=o.unzonedRange.intersectsWith(i),{validUnzonedRange:i,currentUnzonedRange:o.unzonedRange,currentRangeUnit:o.unit,isRangeAllDay:s,activeUnzonedRange:u,renderUnzonedRange:c,minTime:a,maxTime:r,isValid:d,date:t,dateIncrement:this.buildDateIncrement(o.duration)}},t.prototype.buildValidRange=function(){return this._view.getUnzonedRangeOption(\"validRange\",this._view.calendar.getNow())||new a.default},t.prototype.buildCurrentRangeInfo=function(t,e){var l,n=this._view.viewSpec,a=null,r=null,o=null;return n.duration?(a=n.duration,r=n.durationUnit,o=this.buildRangeFromDuration(t,e,a,r)):(l=this.opt(\"dayCount\"))?(r=\"day\",o=this.buildRangeFromDayCount(t,e,l)):(o=this.buildCustomVisibleRange(t))?r=i.computeGreatestUnit(o.getStart(),o.getEnd()):(a=this.getFallbackDuration(),r=i.computeGreatestUnit(a),o=this.buildRangeFromDuration(t,e,a,r)),{duration:a,unit:r,unzonedRange:o}},t.prototype.getFallbackDuration=function(){return n.duration({days:1})},t.prototype.adjustActiveRange=function(t,e,l){var n=t.getStart(),i=t.getEnd();return this._view.usesMinMaxTime&&(e<0&&n.time(0).add(e),l>864e5&&i.time(l-864e5)),new a.default(n,i)},t.prototype.buildRangeFromDuration=function(t,e,l,r){var o,s,c,u,d,h=this.opt(\"dateAlignment\");function f(){c=t.clone().startOf(h),u=c.clone().add(l),d=new a.default(c,u)}return h||((o=this.opt(\"dateIncrement\"))?(s=n.duration(o),h=s<l?i.computeDurationGreatestUnit(s,o):r):h=r),l.as(\"days\")<=1&&this._view.isHiddenDay(c)&&(c=this._view.skipHiddenDays(c,e)).startOf(\"day\"),f(),this.trimHiddenDays(d)||(t=this._view.skipHiddenDays(t,e),f()),d},t.prototype.buildRangeFromDayCount=function(t,e,l){var n,i,r=this.opt(\"dateAlignment\"),o=0;if(r||-1!==e){n=t.clone(),r&&n.startOf(r),n.startOf(\"day\"),i=(n=this._view.skipHiddenDays(n)).clone();do{i.add(1,\"day\"),this._view.isHiddenDay(i)||o++}while(o<l)}else{i=t.clone().startOf(\"day\").add(1,\"day\"),n=(i=this._view.skipHiddenDays(i,-1,!0)).clone();do{n.add(-1,\"day\"),this._view.isHiddenDay(n)||o++}while(o<l)}return new a.default(n,i)},t.prototype.buildCustomVisibleRange=function(t){var e=this._view.getUnzonedRangeOption(\"visibleRange\",this._view.calendar.applyTimezone(t));return!e||null!=e.startMs&&null!=e.endMs?e:null},t.prototype.buildRenderRange=function(t,e,l){return t.clone()},t.prototype.buildDateIncrement=function(t){var e,l=this.opt(\"dateIncrement\");return l?n.duration(l):(e=this.opt(\"dateAlignment\"))?n.duration(1,e):t||n.duration({days:1})},t}();e.default=r},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(21),o=l(6),s=l(9),c=function(t){function e(e){var l=t.call(this,e)||this;return l.eventDefs=[],l}return n.__extends(e,t),e.parse=function(t,e){var l;return i.isArray(t.events)?l=t:i.isArray(t)&&(l={events:t}),!!l&&o.default.parse.call(this,l,e)},e.prototype.setRawEventDefs=function(t){this.rawEventDefs=t,this.eventDefs=this.parseEventDefs(t)},e.prototype.fetch=function(t,e,l){var n,i=this.eventDefs;if(null!=this.currentTimezone&&this.currentTimezone!==l)for(n=0;n<i.length;n++)i[n]instanceof s.default&&i[n].rezone();return this.currentTimezone=l,r.default.resolve(i)},e.prototype.addEventDef=function(t){this.eventDefs.push(t)},e.prototype.removeEventDefsById=function(t){return a.removeMatching(this.eventDefs,function(e){return e.id===t})},e.prototype.removeAllEventDefs=function(){this.eventDefs=[]},e.prototype.getPrimitive=function(){return this.rawEventDefs},e.prototype.applyManualStandardProps=function(e){var l=t.prototype.applyManualStandardProps.call(this,e);return this.setRawEventDefs(e.events),l},e}(o.default);e.default=c,c.defineStandardProps({events:!1})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(221),i=l(222),a={};e.defineThemeSystem=function(t,e){a[t]=e},e.getThemeSystemClass=function(t){return t?!0===t?i.default:a[t]:n.default}},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=function(){function t(t){this.isHorizontal=!1,this.isVertical=!1,this.els=n(t.els),this.isHorizontal=t.isHorizontal,this.isVertical=t.isVertical,this.forcedOffsetParentEl=t.offsetParent?n(t.offsetParent):null}return t.prototype.build=function(){var t=this.forcedOffsetParentEl;!t&&this.els.length>0&&(t=this.els.eq(0).offsetParent()),this.origin=t?t.offset():null,this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},t.prototype.clear=function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},t.prototype.ensureBuilt=function(){this.origin||this.build()},t.prototype.buildElHorizontals=function(){var t=[],e=[];this.els.each(function(l,i){var a=n(i),r=a.offset().left,o=a.outerWidth();t.push(r),e.push(r+o)}),this.lefts=t,this.rights=e},t.prototype.buildElVerticals=function(){var t=[],e=[];this.els.each(function(l,i){var a=n(i),r=a.offset().top,o=a.outerHeight();t.push(r),e.push(r+o)}),this.tops=t,this.bottoms=e},t.prototype.getHorizontalIndex=function(t){this.ensureBuilt();var e,l=this.lefts,n=this.rights,i=l.length;for(e=0;e<i;e++)if(t>=l[e]&&t<n[e])return e},t.prototype.getVerticalIndex=function(t){this.ensureBuilt();var e,l=this.tops,n=this.bottoms,i=l.length;for(e=0;e<i;e++)if(t>=l[e]&&t<n[e])return e},t.prototype.getLeftOffset=function(t){return this.ensureBuilt(),this.lefts[t]},t.prototype.getLeftPosition=function(t){return this.ensureBuilt(),this.lefts[t]-this.origin.left},t.prototype.getRightOffset=function(t){return this.ensureBuilt(),this.rights[t]},t.prototype.getRightPosition=function(t){return this.ensureBuilt(),this.rights[t]-this.origin.left},t.prototype.getWidth=function(t){return this.ensureBuilt(),this.rights[t]-this.lefts[t]},t.prototype.getTopOffset=function(t){return this.ensureBuilt(),this.tops[t]},t.prototype.getTopPosition=function(t){return this.ensureBuilt(),this.tops[t]-this.origin.top},t.prototype.getBottomOffset=function(t){return this.ensureBuilt(),this.bottoms[t]},t.prototype.getBottomPosition=function(t){return this.ensureBuilt(),this.bottoms[t]-this.origin.top},t.prototype.getHeight=function(t){return this.ensureBuilt(),this.bottoms[t]-this.tops[t]},t.prototype.queryBoundingRect=function(){var t;return this.els.length>0&&!(t=i.getScrollParent(this.els.eq(0))).is(document)&&!t.is(\"html,body\")?i.getClientRect(t):null},t.prototype.isPointInBounds=function(t,e){return this.isLeftInBounds(t)&&this.isTopInBounds(e)},t.prototype.isLeftInBounds=function(t){return!this.boundingRect||t>=this.boundingRect.left&&t<this.boundingRect.right},t.prototype.isTopInBounds=function(t){return!this.boundingRect||t>=this.boundingRect.top&&t<this.boundingRect.bottom},t}();e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=l(7),r=l(23),o=function(){function t(t){this.isInteracting=!1,this.isDistanceSurpassed=!1,this.isDelayEnded=!1,this.isDragging=!1,this.isTouch=!1,this.isGeneric=!1,this.shouldCancelTouchScroll=!0,this.scrollAlwaysKills=!1,this.isAutoScroll=!1,this.scrollSensitivity=30,this.scrollSpeed=200,this.scrollIntervalMs=50,this.options=t||{}}return t.prototype.startInteraction=function(t,e){if(void 0===e&&(e={}),\"mousedown\"===t.type){if(r.default.get().shouldIgnoreMouse())return;if(!i.isPrimaryMouseButton(t))return;t.preventDefault()}this.isInteracting||(this.delay=i.firstDefined(e.delay,this.options.delay,0),this.minDistance=i.firstDefined(e.distance,this.options.distance,0),this.subjectEl=this.options.subjectEl,i.preventSelection(n(\"body\")),this.isInteracting=!0,this.isTouch=i.getEvIsTouch(t),this.isGeneric=\"dragstart\"===t.type,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.originX=i.getEvX(t),this.originY=i.getEvY(t),this.scrollEl=i.getScrollParent(n(t.target)),this.bindHandlers(),this.initAutoScroll(),this.handleInteractionStart(t),this.startDelay(t),this.minDistance||this.handleDistanceSurpassed(t))},t.prototype.handleInteractionStart=function(t){this.trigger(\"interactionStart\",t)},t.prototype.endInteraction=function(t,e){this.isInteracting&&(this.endDrag(t),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null),this.destroyAutoScroll(),this.unbindHandlers(),this.isInteracting=!1,this.handleInteractionEnd(t,e),i.allowSelection(n(\"body\")))},t.prototype.handleInteractionEnd=function(t,e){this.trigger(\"interactionEnd\",t,e||!1)},t.prototype.bindHandlers=function(){var t=r.default.get();this.isGeneric?this.listenTo(n(document),{drag:this.handleMove,dragstop:this.endInteraction}):this.isTouch?this.listenTo(t,{touchmove:this.handleTouchMove,touchend:this.endInteraction,scroll:this.handleTouchScroll}):this.listenTo(t,{mousemove:this.handleMouseMove,mouseup:this.endInteraction}),this.listenTo(t,{selectstart:i.preventDefault,contextmenu:i.preventDefault})},t.prototype.unbindHandlers=function(){this.stopListeningTo(r.default.get()),this.stopListeningTo(n(document))},t.prototype.startDrag=function(t,e){this.startInteraction(t,e),this.isDragging||(this.isDragging=!0,this.handleDragStart(t))},t.prototype.handleDragStart=function(t){this.trigger(\"dragStart\",t)},t.prototype.handleMove=function(t){var e=i.getEvX(t)-this.originX,l=i.getEvY(t)-this.originY,n=this.minDistance;this.isDistanceSurpassed||e*e+l*l>=n*n&&this.handleDistanceSurpassed(t),this.isDragging&&this.handleDrag(e,l,t)},t.prototype.handleDrag=function(t,e,l){this.trigger(\"drag\",t,e,l),this.updateAutoScroll(l)},t.prototype.endDrag=function(t){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(t))},t.prototype.handleDragEnd=function(t){this.trigger(\"dragEnd\",t)},t.prototype.startDelay=function(t){var e=this;this.delay?this.delayTimeoutId=setTimeout(function(){e.handleDelayEnd(t)},this.delay):this.handleDelayEnd(t)},t.prototype.handleDelayEnd=function(t){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(t)},t.prototype.handleDistanceSurpassed=function(t){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(t)},t.prototype.handleTouchMove=function(t){this.isDragging&&this.shouldCancelTouchScroll&&t.preventDefault(),this.handleMove(t)},t.prototype.handleMouseMove=function(t){this.handleMove(t)},t.prototype.handleTouchScroll=function(t){this.isDragging&&!this.scrollAlwaysKills||this.endInteraction(t,!0)},t.prototype.trigger=function(t){for(var e=[],l=1;l<arguments.length;l++)e[l-1]=arguments[l];this.options[t]&&this.options[t].apply(this,e),this[\"_\"+t]&&this[\"_\"+t].apply(this,e)},t.prototype.initAutoScroll=function(){var t=this.scrollEl;this.isAutoScroll=this.options.scroll&&t&&!t.is(window)&&!t.is(document),this.isAutoScroll&&this.listenTo(t,\"scroll\",i.debounce(this.handleDebouncedScroll,100))},t.prototype.destroyAutoScroll=function(){this.endAutoScroll(),this.isAutoScroll&&this.stopListeningTo(this.scrollEl,\"scroll\")},t.prototype.computeScrollBounds=function(){this.isAutoScroll&&(this.scrollBounds=i.getOuterRect(this.scrollEl))},t.prototype.updateAutoScroll=function(t){var e,l,n,a,r=this.scrollSensitivity,o=this.scrollBounds,s=0,c=0;o&&(e=(r-(i.getEvY(t)-o.top))/r,l=(r-(o.bottom-i.getEvY(t)))/r,n=(r-(i.getEvX(t)-o.left))/r,a=(r-(o.right-i.getEvX(t)))/r,e>=0&&e<=1?s=e*this.scrollSpeed*-1:l>=0&&l<=1&&(s=l*this.scrollSpeed),n>=0&&n<=1?c=n*this.scrollSpeed*-1:a>=0&&a<=1&&(c=a*this.scrollSpeed)),this.setScrollVel(s,c)},t.prototype.setScrollVel=function(t,e){this.scrollTopVel=t,this.scrollLeftVel=e,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(i.proxy(this,\"scrollIntervalFunc\"),this.scrollIntervalMs))},t.prototype.constrainScrollVel=function(){var t=this.scrollEl;this.scrollTopVel<0?t.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&t.scrollTop()+t[0].clientHeight>=t[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?t.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&t.scrollLeft()+t[0].clientWidth>=t[0].scrollWidth&&(this.scrollLeftVel=0)},t.prototype.scrollIntervalFunc=function(){var t=this.scrollEl,e=this.scrollIntervalMs/1e3;this.scrollTopVel&&t.scrollTop(t.scrollTop()+this.scrollTopVel*e),this.scrollLeftVel&&t.scrollLeft(t.scrollLeft()+this.scrollLeftVel*e),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},t.prototype.endAutoScroll=function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},t.prototype.handleDebouncedScroll=function(){this.scrollIntervalId||this.handleScrollEnd()},t.prototype.handleScrollEnd=function(){},t}();e.default=o,a.default.mixInto(o)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.updateDayTable=function(){for(var t,e,l,n=this,i=n.view,a=i.calendar,r=a.msToUtcMoment(n.dateProfile.renderUnzonedRange.startMs,!0),o=a.msToUtcMoment(n.dateProfile.renderUnzonedRange.endMs,!0),s=-1,c=[],u=[];r.isBefore(o);)i.isHiddenDay(r)?c.push(s+.5):(s++,c.push(s),u.push(r.clone())),r.add(1,\"days\");if(this.breakOnWeeks){for(e=u[0].day(),t=1;t<u.length&&u[t].day()!==e;t++);l=Math.ceil(u.length/t)}else l=1,t=u.length;this.dayDates=u,this.dayIndices=c,this.daysPerRow=t,this.rowCnt=l,this.updateDayTableCols()},e.prototype.updateDayTableCols=function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.opt(\"columnHeaderFormat\")||this.opt(\"columnFormat\")||this.computeColHeadFormat()},e.prototype.computeColCnt=function(){return this.daysPerRow},e.prototype.getCellDate=function(t,e){return this.dayDates[this.getCellDayIndex(t,e)].clone()},e.prototype.getCellRange=function(t,e){var l=this.getCellDate(t,e),n=l.clone().add(1,\"days\");return{start:l,end:n}},e.prototype.getCellDayIndex=function(t,e){return t*this.daysPerRow+this.getColDayIndex(e)},e.prototype.getColDayIndex=function(t){return this.isRTL?this.colCnt-1-t:t},e.prototype.getDateDayIndex=function(t){var e=this.dayIndices,l=t.diff(this.dayDates[0],\"days\");return l<0?e[0]-1:l>=e.length?e[e.length-1]+1:e[l]},e.prototype.computeColHeadFormat=function(){return this.rowCnt>1||this.colCnt>10?\"ddd\":this.colCnt>1?this.opt(\"dayOfMonthFormat\"):\"dddd\"},e.prototype.sliceRangeByRow=function(t){var e,l,n,i,a,r=this.daysPerRow,o=this.view.computeDayRange(t),s=this.getDateDayIndex(o.start),c=this.getDateDayIndex(o.end.clone().subtract(1,\"days\")),u=[];for(e=0;e<this.rowCnt;e++)n=(l=e*r)+r-1,i=Math.max(s,l),a=Math.min(c,n),(i=Math.ceil(i))<=(a=Math.floor(a))&&u.push({row:e,firstRowDayIndex:i-l,lastRowDayIndex:a-l,isStart:i===s,isEnd:a===c});return u},e.prototype.sliceRangeByDay=function(t){var e,l,n,i,a,r,o=this.daysPerRow,s=this.view.computeDayRange(t),c=this.getDateDayIndex(s.start),u=this.getDateDayIndex(s.end.clone().subtract(1,\"days\")),d=[];for(e=0;e<this.rowCnt;e++)for(n=(l=e*o)+o-1,i=l;i<=n;i++)a=Math.max(c,i),r=Math.min(u,i),(a=Math.ceil(a))<=(r=Math.floor(r))&&d.push({row:e,firstRowDayIndex:a-l,lastRowDayIndex:r-l,isStart:a===c,isEnd:r===u});return d},e.prototype.renderHeadHtml=function(){var t=this.view.calendar.theme;return'<div class=\"fc-row '+t.getClass(\"headerRow\")+'\"><table class=\"'+t.getClass(\"tableGrid\")+'\"><thead>'+this.renderHeadTrHtml()+\"</thead></table></div>\"},e.prototype.renderHeadIntroHtml=function(){return this.renderIntroHtml()},e.prototype.renderHeadTrHtml=function(){return\"<tr>\"+(this.isRTL?\"\":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():\"\")+\"</tr>\"},e.prototype.renderHeadDateCellsHtml=function(){var t,e,l=[];for(t=0;t<this.colCnt;t++)e=this.getCellDate(0,t),l.push(this.renderHeadDateCellHtml(e));return l.join(\"\")},e.prototype.renderHeadDateCellHtml=function(t,e,l){var n,a=this,r=a.view,o=a.dateProfile.activeUnzonedRange.containsDate(t),s=[\"fc-day-header\",r.calendar.theme.getClass(\"widgetHeader\")];return n=\"function\"==typeof a.opt(\"columnHeaderHtml\")?a.opt(\"columnHeaderHtml\")(t):\"function\"==typeof a.opt(\"columnHeaderText\")?i.htmlEscape(a.opt(\"columnHeaderText\")(t)):i.htmlEscape(t.format(a.colHeadFormat)),1===a.rowCnt?s=s.concat(a.getDayClasses(t,!0)):s.push(\"fc-\"+i.dayIDs[t.day()]),'<th class=\"'+s.join(\" \")+'\"'+(1===(o&&a.rowCnt)?' data-date=\"'+t.format(\"YYYY-MM-DD\")+'\"':\"\")+(e>1?' colspan=\"'+e+'\"':\"\")+(l?\" \"+l:\"\")+\">\"+(o?r.buildGotoAnchorHtml({date:t,forceOff:a.rowCnt>1||1===a.colCnt},n):n)+\"</th>\"},e.prototype.renderBgTrHtml=function(t){return\"<tr>\"+(this.isRTL?\"\":this.renderBgIntroHtml(t))+this.renderBgCellsHtml(t)+(this.isRTL?this.renderBgIntroHtml(t):\"\")+\"</tr>\"},e.prototype.renderBgIntroHtml=function(t){return this.renderIntroHtml()},e.prototype.renderBgCellsHtml=function(t){var e,l,n=[];for(e=0;e<this.colCnt;e++)l=this.getCellDate(t,e),n.push(this.renderBgCellHtml(l));return n.join(\"\")},e.prototype.renderBgCellHtml=function(t,e){var l=this,n=l.view,i=l.dateProfile.activeUnzonedRange.containsDate(t),a=l.getDayClasses(t);return a.unshift(\"fc-day\",n.calendar.theme.getClass(\"widgetContent\")),'<td class=\"'+a.join(\" \")+'\"'+(i?' data-date=\"'+t.format(\"YYYY-MM-DD\")+'\"':\"\")+(e?\" \"+e:\"\")+\"></td>\"},e.prototype.renderIntroHtml=function(){},e.prototype.bookendCells=function(t){var e=this.renderIntroHtml();e&&(this.isRTL?t.append(e):t.prepend(e))},e}(l(15).default);e.default=a},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t,e){this.component=t,this.fillRenderer=e}return t.prototype.render=function(t){var e=this.component,l=e._getDateProfile().activeUnzonedRange,n=t.buildEventInstanceGroup(e.hasAllDayBusinessHours,l),i=n?e.eventRangesToEventFootprints(n.sliceRenderRanges(l)):[];this.renderEventFootprints(i)},t.prototype.renderEventFootprints=function(t){var e=this.component.eventFootprintsToSegs(t);this.renderSegs(e),this.segs=e},t.prototype.renderSegs=function(t){this.fillRenderer&&this.fillRenderer.renderSegs(\"businessHours\",t,{getClasses:function(t){return[\"fc-nonbusiness\",\"fc-bgevent\"]}})},t.prototype.unrender=function(){this.fillRenderer&&this.fillRenderer.unrender(\"businessHours\"),this.segs=null},t.prototype.getSegs=function(){return this.segs||[]},t}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=function(){function t(t){this.fillSegTag=\"div\",this.component=t,this.elsByFill={}}return t.prototype.renderFootprint=function(t,e,l){this.renderSegs(t,this.component.componentFootprintToSegs(e),l)},t.prototype.renderSegs=function(t,e,l){var n;return e=this.buildSegEls(t,e,l),(n=this.attachSegEls(t,e))&&this.reportEls(t,n),e},t.prototype.unrender=function(t){var e=this.elsByFill[t];e&&(e.remove(),delete this.elsByFill[t])},t.prototype.buildSegEls=function(t,e,l){var i,a=this,r=\"\",o=[];if(e.length){for(i=0;i<e.length;i++)r+=this.buildSegHtml(t,e[i],l);n(r).each(function(t,i){var r=e[t],s=n(i);l.filterEl&&(s=l.filterEl(r,s)),s&&(s=n(s)).is(a.fillSegTag)&&(r.el=s,o.push(r))})}return o},t.prototype.buildSegHtml=function(t,e,l){var n=l.getClasses?l.getClasses(e):[],a=i.cssToStr(l.getCss?l.getCss(e):{});return\"<\"+this.fillSegTag+(n.length?' class=\"'+n.join(\" \")+'\"':\"\")+(a?' style=\"'+a+'\"':\"\")+\" />\"},t.prototype.attachSegEls=function(t,e){},t.prototype.reportEls=function(t,e){this.elsByFill[t]?this.elsByFill[t]=this.elsByFill[t].add(e):this.elsByFill[t]=n(e)},t}();e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(9),i=l(34),a=l(6),r=function(){function t(t,e){this.view=t._getView(),this.component=t,this.eventRenderer=e}return t.prototype.renderComponentFootprint=function(t){this.renderEventFootprints([this.fabricateEventFootprint(t)])},t.prototype.renderEventDraggingFootprints=function(t,e,l){this.renderEventFootprints(t,e,\"fc-dragging\",l?null:this.view.opt(\"dragOpacity\"))},t.prototype.renderEventResizingFootprints=function(t,e,l){this.renderEventFootprints(t,e,\"fc-resizing\")},t.prototype.renderEventFootprints=function(t,e,l,n){var i,a=this.component.eventFootprintsToSegs(t),r=\"fc-helper \"+(l||\"\");for(a=this.eventRenderer.renderFgSegEls(a),i=0;i<a.length;i++)a[i].el.addClass(r);if(null!=n)for(i=0;i<a.length;i++)a[i].el.css(\"opacity\",n);this.helperEls=this.renderSegs(a,e)},t.prototype.renderSegs=function(t,e){},t.prototype.unrender=function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},t.prototype.fabricateEventFootprint=function(t){var e,l=this.view.calendar,r=l.footprintToDateProfile(t),o=new n.default(new a.default(l));return o.dateProfile=r,e=o.buildInstance(),new i.default(t,o,e)},t}();e.default=r},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(23),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.bindToEl=function(t){var e=this.component;e.bindSegHandlerToEl(t,\"click\",this.handleClick.bind(this)),e.bindSegHandlerToEl(t,\"mouseenter\",this.handleMouseover.bind(this)),e.bindSegHandlerToEl(t,\"mouseleave\",this.handleMouseout.bind(this))},e.prototype.handleClick=function(t,e){!1===this.component.publiclyTrigger(\"eventClick\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,this.view]})&&e.preventDefault()},e.prototype.handleMouseover=function(t,e){i.default.get().shouldIgnoreMouse()||this.mousedOverSeg||(this.mousedOverSeg=t,this.view.isEventDefResizable(t.footprint.eventDef)&&t.el.addClass(\"fc-allow-mouse-resize\"),this.component.publiclyTrigger(\"eventMouseover\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,this.view]}))},e.prototype.handleMouseout=function(t,e){this.mousedOverSeg&&(this.mousedOverSeg=null,this.view.isEventDefResizable(t.footprint.eventDef)&&t.el.removeClass(\"fc-allow-mouse-resize\"),this.component.publiclyTrigger(\"eventMouseout\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e||{},this.view]}))},e.prototype.end=function(){this.mousedOverSeg&&this.handleMouseout(this.mousedOverSeg)},e}(l(14).default);e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(15),a=l(237),r=l(236),o=l(64),s=l(235),c=l(234),u=l(233),d=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(i.default);e.default=d,d.prototype.dateClickingClass=a.default,d.prototype.dateSelectingClass=r.default,d.prototype.eventPointingClass=o.default,d.prototype.eventDraggingClass=s.default,d.prototype.eventResizingClass=c.default,d.prototype.externalDroppingClass=u.default},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(58),o=l(227),s=l(5),c=l(12),u=l(34),d=l(61),h=l(65),f=l(42),p=l(60),g=l(243),m=l(244),b=l(245),v=function(t){function e(e){var l=t.call(this,e)||this;return l.cellWeekNumbersVisible=!1,l.bottomCoordPadding=0,l.isRigid=!1,l.hasAllDayBusinessHours=!0,l}return n.__extends(e,t),e.prototype.componentFootprintToSegs=function(t){var e,l,n=this.sliceRangeByRow(t.unzonedRange);for(e=0;e<n.length;e++)l=n[e],this.isRTL?(l.leftCol=this.daysPerRow-1-l.lastRowDayIndex,l.rightCol=this.daysPerRow-1-l.firstRowDayIndex):(l.leftCol=l.firstRowDayIndex,l.rightCol=l.lastRowDayIndex);return n},e.prototype.renderDates=function(t){this.dateProfile=t,this.updateDayTable(),this.renderGrid()},e.prototype.unrenderDates=function(){this.removeSegPopover()},e.prototype.renderGrid=function(){var t,e,l=this.view,n=this.rowCnt,i=this.colCnt,a=\"\";for(this.headContainerEl&&this.headContainerEl.html(this.renderHeadHtml()),t=0;t<n;t++)a+=this.renderDayRowHtml(t,this.isRigid);for(this.el.html(a),this.rowEls=this.el.find(\".fc-row\"),this.cellEls=this.el.find(\".fc-day, .fc-disabled-day\"),this.rowCoordCache=new r.default({els:this.rowEls,isVertical:!0}),this.colCoordCache=new r.default({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),t=0;t<n;t++)for(e=0;e<i;e++)this.publiclyTrigger(\"dayRender\",{context:l,args:[this.getCellDate(t,e),this.getCellEl(t,e),l]})},e.prototype.renderDayRowHtml=function(t,e){var l=this.view.calendar.theme,n=[\"fc-row\",\"fc-week\",l.getClass(\"dayRow\")];return e&&n.push(\"fc-rigid\"),'<div class=\"'+n.join(\" \")+'\"><div class=\"fc-bg\"><table class=\"'+l.getClass(\"tableGrid\")+'\">'+this.renderBgTrHtml(t)+'</table></div><div class=\"fc-content-skeleton\"><table>'+(this.getIsNumbersVisible()?\"<thead>\"+this.renderNumberTrHtml(t)+\"</thead>\":\"\")+\"</table></div></div>\"},e.prototype.getIsNumbersVisible=function(){return this.getIsDayNumbersVisible()||this.cellWeekNumbersVisible},e.prototype.getIsDayNumbersVisible=function(){return this.rowCnt>1},e.prototype.renderNumberTrHtml=function(t){return\"<tr>\"+(this.isRTL?\"\":this.renderNumberIntroHtml(t))+this.renderNumberCellsHtml(t)+(this.isRTL?this.renderNumberIntroHtml(t):\"\")+\"</tr>\"},e.prototype.renderNumberIntroHtml=function(t){return this.renderIntroHtml()},e.prototype.renderNumberCellsHtml=function(t){var e,l,n=[];for(e=0;e<this.colCnt;e++)l=this.getCellDate(t,e),n.push(this.renderNumberCellHtml(l));return n.join(\"\")},e.prototype.renderNumberCellHtml=function(t){var e,l,n=this.view,i=\"\",a=this.dateProfile.activeUnzonedRange.containsDate(t),r=this.getIsDayNumbersVisible()&&a;return r||this.cellWeekNumbersVisible?((e=this.getDayClasses(t)).unshift(\"fc-day-top\"),this.cellWeekNumbersVisible&&(l=\"ISO\"===t._locale._fullCalendar_weekCalc?1:t._locale.firstDayOfWeek()),i+='<td class=\"'+e.join(\" \")+'\"'+(a?' data-date=\"'+t.format()+'\"':\"\")+\">\",this.cellWeekNumbersVisible&&t.day()===l&&(i+=n.buildGotoAnchorHtml({date:t,type:\"week\"},{class:\"fc-week-number\"},t.format(\"w\"))),r&&(i+=n.buildGotoAnchorHtml(t,{class:\"fc-day-number\"},t.format(\"D\"))),i+=\"</td>\"):\"<td/>\"},e.prototype.prepareHits=function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},e.prototype.releaseHits=function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},e.prototype.queryHit=function(t,e){if(this.colCoordCache.isLeftInBounds(t)&&this.rowCoordCache.isTopInBounds(e)){var l=this.colCoordCache.getHorizontalIndex(t),n=this.rowCoordCache.getVerticalIndex(e);if(null!=n&&null!=l)return this.getCellHit(n,l)}},e.prototype.getHitFootprint=function(t){var e=this.getCellRange(t.row,t.col);return new c.default(new s.default(e.start,e.end),!0)},e.prototype.getHitEl=function(t){return this.getCellEl(t.row,t.col)},e.prototype.getCellHit=function(t,e){return{row:t,col:e,component:this,left:this.colCoordCache.getLeftOffset(e),right:this.colCoordCache.getRightOffset(e),top:this.rowCoordCache.getTopOffset(t),bottom:this.rowCoordCache.getBottomOffset(t)}},e.prototype.getCellEl=function(t,e){return this.cellEls.eq(t*this.colCnt+e)},e.prototype.executeEventUnrender=function(){this.removeSegPopover(),t.prototype.executeEventUnrender.call(this)},e.prototype.getOwnEventSegs=function(){return t.prototype.getOwnEventSegs.call(this).concat(this.popoverSegs||[])},e.prototype.renderDrag=function(t,e,l){var n;for(n=0;n<t.length;n++)this.renderHighlight(t[n].componentFootprint);if(t.length&&e&&e.component!==this)return this.helperRenderer.renderEventDraggingFootprints(t,e,l),!0},e.prototype.unrenderDrag=function(){this.unrenderHighlight(),this.helperRenderer.unrender()},e.prototype.renderEventResize=function(t,e,l){var n;for(n=0;n<t.length;n++)this.renderHighlight(t[n].componentFootprint);this.helperRenderer.renderEventResizingFootprints(t,e,l)},e.prototype.unrenderEventResize=function(){this.unrenderHighlight(),this.helperRenderer.unrender()},e.prototype.removeSegPopover=function(){this.segPopover&&this.segPopover.hide()},e.prototype.limitRows=function(t){var e,l,n=this.eventRenderer.rowStructs||[];for(e=0;e<n.length;e++)this.unlimitRow(e),!1!==(l=!!t&&(\"number\"==typeof t?t:this.computeRowLevelLimit(e)))&&this.limitRow(e,l)},e.prototype.computeRowLevelLimit=function(t){var e,l,n,a=this.rowEls.eq(t).height(),r=this.eventRenderer.rowStructs[t].tbodyEl.children();function o(t,e){n=Math.max(n,i(e).outerHeight())}for(e=0;e<r.length;e++)if(l=r.eq(e).removeClass(\"fc-limited\"),n=0,l.find(\"> td > :first-child\").each(o),l.position().top+n>a)return e;return!1},e.prototype.limitRow=function(t,e){var l,n,a,r,o,s,c,u,d,h,f,p,g,m,b,v=this,y=this.eventRenderer.rowStructs[t],x=[],_=0,w=function(l){for(;_<l;)(s=v.getCellSegs(t,_,e)).length&&(d=n[e-1][_],b=v.renderMoreLink(t,_,s),m=i(\"<div/>\").append(b),d.append(m),x.push(m[0])),_++};if(e&&e<y.segLevels.length){for(l=y.segLevels[e-1],n=y.cellMatrix,a=y.tbodyEl.children().slice(e).addClass(\"fc-limited\").get(),r=0;r<l.length;r++){for(w((o=l[r]).leftCol),u=[],c=0;_<=o.rightCol;)s=this.getCellSegs(t,_,e),u.push(s),c+=s.length,_++;if(c){for(h=(d=n[e-1][o.leftCol]).attr(\"rowspan\")||1,f=[],p=0;p<u.length;p++)g=i('<td class=\"fc-more-cell\"/>').attr(\"rowspan\",h),s=u[p],b=this.renderMoreLink(t,o.leftCol+p,[o].concat(s)),m=i(\"<div/>\").append(b),g.append(m),f.push(g[0]),x.push(g[0]);d.addClass(\"fc-limited\").after(i(f)),a.push(d[0])}}w(this.colCnt),y.moreEls=i(x),y.limitedEls=i(a)}},e.prototype.unlimitRow=function(t){var e=this.eventRenderer.rowStructs[t];e.moreEls&&(e.moreEls.remove(),e.moreEls=null),e.limitedEls&&(e.limitedEls.removeClass(\"fc-limited\"),e.limitedEls=null)},e.prototype.renderMoreLink=function(t,e,l){var n=this,a=this.view;return i('<a class=\"fc-more\"/>').text(this.getMoreLinkText(l.length)).on(\"click\",function(r){var o=n.opt(\"eventLimitClick\"),s=n.getCellDate(t,e),c=i(r.currentTarget),u=n.getCellEl(t,e),d=n.getCellSegs(t,e),h=n.resliceDaySegs(d,s),f=n.resliceDaySegs(l,s);\"function\"==typeof o&&(o=n.publiclyTrigger(\"eventLimitClick\",{context:a,args:[{date:s.clone(),dayEl:u,moreEl:c,segs:h,hiddenSegs:f},r,a]})),\"popover\"===o?n.showSegPopover(t,e,c,h):\"string\"==typeof o&&a.calendar.zoomTo(s,o)})},e.prototype.showSegPopover=function(t,e,l,n){var i,a,r=this,s=this.view,c=l.parent();i=1===this.rowCnt?s.el:this.rowEls.eq(t),a={className:\"fc-more-popover \"+s.calendar.theme.getClass(\"popover\"),content:this.renderSegPopoverContent(t,e,n),parentEl:s.el,top:i.offset().top,autoHide:!0,viewportConstrain:this.opt(\"popoverViewportConstrain\"),hide:function(){r.popoverSegs&&r.triggerBeforeEventSegsDestroyed(r.popoverSegs),r.segPopover.removeElement(),r.segPopover=null,r.popoverSegs=null}},this.isRTL?a.right=c.offset().left+c.outerWidth()+1:a.left=c.offset().left-1,this.segPopover=new o.default(a),this.segPopover.show(),this.bindAllSegHandlersToEl(this.segPopover.el),this.triggerAfterEventSegsRendered(n)},e.prototype.renderSegPopoverContent=function(t,e,l){var n,r=this.view.calendar.theme,o=this.getCellDate(t,e).format(this.opt(\"dayPopoverFormat\")),s=i('<div class=\"fc-header '+r.getClass(\"popoverHeader\")+'\"><span class=\"fc-close '+r.getIconClass(\"close\")+'\"></span><span class=\"fc-title\">'+a.htmlEscape(o)+'</span><div class=\"fc-clear\"/></div><div class=\"fc-body '+r.getClass(\"popoverContent\")+'\"><div class=\"fc-event-container\"></div></div>'),c=s.find(\".fc-event-container\");for(l=this.eventRenderer.renderFgSegEls(l,!0),this.popoverSegs=l,n=0;n<l.length;n++)this.hitsNeeded(),l[n].hit=this.getCellHit(t,e),this.hitsNotNeeded(),c.append(l[n].el);return s},e.prototype.resliceDaySegs=function(t,e){var l,n,a,r=e.clone(),o=r.clone().add(1,\"days\"),d=new s.default(r,o),h=[];for(l=0;l<t.length;l++)(a=(n=t[l]).footprint.componentFootprint.unzonedRange.intersect(d))&&h.push(i.extend({},n,{footprint:new u.default(new c.default(a,n.footprint.componentFootprint.isAllDay),n.footprint.eventDef,n.footprint.eventInstance),isStart:n.isStart&&a.isStart,isEnd:n.isEnd&&a.isEnd}));return this.eventRenderer.sortEventSegs(h),h},e.prototype.getMoreLinkText=function(t){var e=this.opt(\"eventLimitText\");return\"function\"==typeof e?e(t):\"+\"+t+\" \"+e},e.prototype.getCellSegs=function(t,e,l){for(var n,i=this.eventRenderer.rowStructs[t].segMatrix,a=l||0,r=[];a<i.length;)(n=i[a][e])&&r.push(n),a++;return r},e}(f.default);e.default=v,v.prototype.eventRendererClass=g.default,v.prototype.businessHourRendererClass=d.default,v.prototype.helperRendererClass=m.default,v.prototype.fillRendererClass=b.default,h.default.mixInto(v),p.default.mixInto(v)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(41),o=l(43),s=l(68),c=l(66),u=function(t){function e(e,l){var n=t.call(this,e,l)||this;return n.dayGrid=n.instantiateDayGrid(),n.dayGrid.isRigid=n.hasRigidRows(),n.opt(\"weekNumbers\")&&(n.opt(\"weekNumbersWithinDays\")?(n.dayGrid.cellWeekNumbersVisible=!0,n.dayGrid.colWeekNumbersVisible=!1):(n.dayGrid.cellWeekNumbersVisible=!1,n.dayGrid.colWeekNumbersVisible=!0)),n.addChild(n.dayGrid),n.scroller=new r.default({overflowX:\"hidden\",overflowY:\"auto\"}),n}return n.__extends(e,t),e.prototype.instantiateDayGrid=function(){return new(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.colWeekNumbersVisible=!1,e}return n.__extends(e,t),e.prototype.renderHeadIntroHtml=function(){var t=this.view;return this.colWeekNumbersVisible?'<th class=\"fc-week-number '+t.calendar.theme.getClass(\"widgetHeader\")+'\" '+t.weekNumberStyleAttr()+\"><span>\"+a.htmlEscape(this.opt(\"weekNumberTitle\"))+\"</span></th>\":\"\"},e.prototype.renderNumberIntroHtml=function(t){var e=this.view,l=this.getCellDate(t,0);return this.colWeekNumbersVisible?'<td class=\"fc-week-number\" '+e.weekNumberStyleAttr()+\">\"+e.buildGotoAnchorHtml({date:l,type:\"week\",forceOff:1===this.colCnt},l.format(\"w\"))+\"</td>\":\"\"},e.prototype.renderBgIntroHtml=function(){var t=this.view;return this.colWeekNumbersVisible?'<td class=\"fc-week-number '+t.calendar.theme.getClass(\"widgetContent\")+'\" '+t.weekNumberStyleAttr()+\"></td>\":\"\"},e.prototype.renderIntroHtml=function(){var t=this.view;return this.colWeekNumbersVisible?'<td class=\"fc-week-number\" '+t.weekNumberStyleAttr()+\"></td>\":\"\"},e.prototype.getIsNumbersVisible=function(){return c.default.prototype.getIsNumbersVisible.apply(this,arguments)||this.colWeekNumbersVisible},e}(this.dayGridClass))(this)},e.prototype.executeDateRender=function(e){this.dayGrid.breakOnWeeks=/year|month|week/.test(e.currentRangeUnit),t.prototype.executeDateRender.call(this,e)},e.prototype.renderSkeleton=function(){var t,e;this.el.addClass(\"fc-basic-view\").html(this.renderSkeletonHtml()),this.scroller.render(),t=this.scroller.el.addClass(\"fc-day-grid-container\"),e=i('<div class=\"fc-day-grid\" />').appendTo(t),this.el.find(\".fc-body > tr > td\").append(t),this.dayGrid.headContainerEl=this.el.find(\".fc-head-container\"),this.dayGrid.setElement(e)},e.prototype.unrenderSkeleton=function(){this.dayGrid.removeElement(),this.scroller.destroy()},e.prototype.renderSkeletonHtml=function(){var t=this.calendar.theme;return'<table class=\"'+t.getClass(\"tableGrid\")+'\">'+(this.opt(\"columnHeader\")?'<thead class=\"fc-head\"><tr><td class=\"fc-head-container '+t.getClass(\"widgetHeader\")+'\">&nbsp;</td></tr></thead>':\"\")+'<tbody class=\"fc-body\"><tr><td class=\"'+t.getClass(\"widgetContent\")+'\"></td></tr></tbody></table>'},e.prototype.weekNumberStyleAttr=function(){return null!=this.weekNumberWidth?'style=\"width:'+this.weekNumberWidth+'px\"':\"\"},e.prototype.hasRigidRows=function(){var t=this.opt(\"eventLimit\");return t&&\"number\"!=typeof t},e.prototype.updateSize=function(e,l,n){var i,r,o=this.opt(\"eventLimit\"),s=this.dayGrid.headContainerEl.find(\".fc-row\");this.dayGrid.rowEls?(t.prototype.updateSize.call(this,e,l,n),this.dayGrid.colWeekNumbersVisible&&(this.weekNumberWidth=a.matchCellWidths(this.el.find(\".fc-week-number\"))),this.scroller.clear(),a.uncompensateScroll(s),this.dayGrid.removeSegPopover(),o&&\"number\"==typeof o&&this.dayGrid.limitRows(o),i=this.computeScrollerHeight(e),this.setGridHeight(i,l),o&&\"number\"!=typeof o&&this.dayGrid.limitRows(o),l||(this.scroller.setHeight(i),((r=this.scroller.getScrollbarWidths()).left||r.right)&&(a.compensateScroll(s,r),i=this.computeScrollerHeight(e),this.scroller.setHeight(i)),this.scroller.lockOverflow(r))):l||(i=this.computeScrollerHeight(e),this.scroller.setHeight(i))},e.prototype.computeScrollerHeight=function(t){return t-a.subtractInnerElHeight(this.el,this.scroller.el)},e.prototype.setGridHeight=function(t,e){e?a.undistributeHeight(this.dayGrid.rowEls):a.distributeHeight(this.dayGrid.rowEls,t,!0)},e.prototype.computeInitialDateScroll=function(){return{top:0}},e.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},e.prototype.applyDateScroll=function(t){void 0!==t.top&&this.scroller.setScrollTop(t.top)},e}(o.default);e.default=u,u.prototype.dateProfileGeneratorClass=s.default,u.prototype.dayGridClass=c.default},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(5),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.buildRenderRange=function(e,l,n){var a=t.prototype.buildRenderRange.call(this,e,l,n),r=this.msToUtcMoment(a.startMs,n),o=this.msToUtcMoment(a.endMs,n);return/^(year|month)$/.test(l)&&(r.startOf(\"week\"),o.weekday()&&o.add(1,\"week\").startOf(\"week\")),new i.default(r,o)},e}(l(55).default);e.default=a},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(5),i=l(12),a=l(36),r=l(6),o=l(19),s=function(){function t(t,e){this.eventManager=t,this._calendar=e}return t.prototype.opt=function(t){return this._calendar.opt(t)},t.prototype.isEventInstanceGroupAllowed=function(t){var e,l=t.getEventDef(),n=this.eventRangesToEventFootprints(t.getAllEventRanges()),i=this.getPeerEventInstances(l).map(o.eventInstanceToEventRange),a=this.eventRangesToEventFootprints(i),r=l.getConstraint(),s=l.getOverlap(),c=this.opt(\"eventAllow\");for(e=0;e<n.length;e++)if(!this.isFootprintAllowed(n[e].componentFootprint,a,r,s,n[e].eventInstance))return!1;if(c)for(e=0;e<n.length;e++)if(!1===c(n[e].componentFootprint.toLegacy(this._calendar),n[e].getEventLegacy()))return!1;return!0},t.prototype.getPeerEventInstances=function(t){return this.eventManager.getEventInstancesWithoutId(t.id)},t.prototype.isSelectionFootprintAllowed=function(t){var e,l=this.eventManager.getEventInstances().map(o.eventInstanceToEventRange),n=this.eventRangesToEventFootprints(l);return!!this.isFootprintAllowed(t,n,this.opt(\"selectConstraint\"),this.opt(\"selectOverlap\"))&&(!(e=this.opt(\"selectAllow\"))||!1!==e(t.toLegacy(this._calendar)))},t.prototype.isFootprintAllowed=function(t,e,l,n,i){var a,r;if(null!=l&&(a=this.constraintValToFootprints(l,t.isAllDay),!this.isFootprintWithinConstraints(t,a)))return!1;if(r=this.collectOverlapEventFootprints(e,t),!1===n){if(r.length)return!1}else if(\"function\"==typeof n&&!function(t,e,l){var n;for(n=0;n<t.length;n++)if(!e(t[n].eventInstance.toLegacy(),l?l.toLegacy():null))return!1;return!0}(r,n,i))return!1;return!(i&&!function(t,e){var l,n,i,a,r=e.toLegacy();for(l=0;l<t.length;l++){if(n=t[l].eventInstance,i=n.def,!1===(a=i.getOverlap()))return!1;if(\"function\"==typeof a&&!a(n.toLegacy(),r))return!1}return!0}(r,i))},t.prototype.isFootprintWithinConstraints=function(t,e){var l;for(l=0;l<e.length;l++)if(this.footprintContainsFootprint(e[l],t))return!0;return!1},t.prototype.constraintValToFootprints=function(t,e){var l;return\"businessHours\"===t?this.buildCurrentBusinessFootprints(e):\"object\"==typeof t?(l=this.parseEventDefToInstances(t))?this.eventInstancesToFootprints(l):this.parseFootprints(t):null!=t?(l=this.eventManager.getEventInstancesWithId(t),this.eventInstancesToFootprints(l)):void 0},t.prototype.buildCurrentBusinessFootprints=function(t){var e=this._calendar.view,l=e.get(\"businessHourGenerator\"),n=e.dateProfile.activeUnzonedRange,i=l.buildEventInstanceGroup(t,n);return i?this.eventInstancesToFootprints(i.eventInstances):[]},t.prototype.eventInstancesToFootprints=function(t){var e=t.map(o.eventInstanceToEventRange);return this.eventRangesToEventFootprints(e).map(o.eventFootprintToComponentFootprint)},t.prototype.collectOverlapEventFootprints=function(t,e){var l,n=[];for(l=0;l<t.length;l++)this.footprintsIntersect(e,t[l].componentFootprint)&&n.push(t[l]);return n},t.prototype.parseEventDefToInstances=function(t){var e=this.eventManager,l=a.default.parse(t,new r.default(this._calendar));return!!l&&l.buildInstances(e.currentPeriod.unzonedRange)},t.prototype.eventRangesToEventFootprints=function(t){var e,l=[];for(e=0;e<t.length;e++)l.push.apply(l,this.eventRangeToEventFootprints(t[e]));return l},t.prototype.eventRangeToEventFootprints=function(t){return[o.eventRangeToEventFootprint(t)]},t.prototype.parseFootprints=function(t){var e,l;return t.start&&((e=this._calendar.moment(t.start)).isValid()||(e=null)),t.end&&((l=this._calendar.moment(t.end)).isValid()||(l=null)),[new i.default(new n.default(e,l),e&&!e.hasTime()||l&&!l.hasTime())]},t.prototype.footprintContainsFootprint=function(t,e){return t.unzonedRange.containsRange(e.unzonedRange)},t.prototype.footprintsIntersect=function(t,e){return t.unzonedRange.intersectsWith(e.unzonedRange)},t}();e.default=s},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(19),a=l(20),r=l(54),o=l(6),s={start:\"09:00\",end:\"17:00\",dow:[1,2,3,4,5],rendering:\"inverse-background\"},c=function(){function t(t,e){this.rawComplexDef=t,this.calendar=e}return t.prototype.buildEventInstanceGroup=function(t,e){var l,n=this.buildEventDefs(t);if(n.length)return(l=new a.default(i.eventDefsToEventInstances(n,e))).explicitEventDef=n[0],l},t.prototype.buildEventDefs=function(t){var e,l=this.rawComplexDef,i=[],a=!1,r=[];for(!0===l?i=[{}]:n.isPlainObject(l)?i=[l]:n.isArray(l)&&(i=l,a=!0),e=0;e<i.length;e++)a&&!i[e].dow||r.push(this.buildEventDef(t,i[e]));return r},t.prototype.buildEventDef=function(t,e){var l=n.extend({},s,e);return t&&(l.start=null,l.end=null),r.default.parse(l,new o.default(this.calendar))},t}();e.default=c},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=l(21),r=l(13),o=l(5),s=l(20),c=function(){function t(t,e,l){this.pendingCnt=0,this.freezeDepth=0,this.stuntedReleaseCnt=0,this.releaseCnt=0,this.start=t,this.end=e,this.timezone=l,this.unzonedRange=new o.default(t.clone().stripZone(),e.clone().stripZone()),this.requestsByUid={},this.eventDefsByUid={},this.eventDefsById={},this.eventInstanceGroupsById={}}return t.prototype.isWithinRange=function(t,e){return!t.isBefore(this.start)&&!e.isAfter(this.end)},t.prototype.requestSources=function(t){this.freeze();for(var e=0;e<t.length;e++)this.requestSource(t[e]);this.thaw()},t.prototype.requestSource=function(t){var e=this,l={source:t,status:\"pending\",eventDefs:null};this.requestsByUid[t.uid]=l,this.pendingCnt+=1,t.fetch(this.start,this.end,this.timezone).then(function(t){\"cancelled\"!==l.status&&(l.status=\"completed\",l.eventDefs=t,e.addEventDefs(t),e.pendingCnt--,e.tryRelease())},function(){\"cancelled\"!==l.status&&(l.status=\"failed\",e.pendingCnt--,e.tryRelease())})},t.prototype.purgeSource=function(t){var e=this.requestsByUid[t.uid];e&&(delete this.requestsByUid[t.uid],\"pending\"===e.status?(e.status=\"cancelled\",this.pendingCnt--,this.tryRelease()):\"completed\"===e.status&&e.eventDefs.forEach(this.removeEventDef.bind(this)))},t.prototype.purgeAllSources=function(){var t,e,l=this.requestsByUid,n=0;for(t in l)\"pending\"===(e=l[t]).status?e.status=\"cancelled\":\"completed\"===e.status&&n++;this.requestsByUid={},this.pendingCnt=0,n&&this.removeAllEventDefs()},t.prototype.getEventDefByUid=function(t){return this.eventDefsByUid[t]},t.prototype.getEventDefsById=function(t){var e=this.eventDefsById[t];return e?e.slice():[]},t.prototype.addEventDefs=function(t){for(var e=0;e<t.length;e++)this.addEventDef(t[e])},t.prototype.addEventDef=function(t){var e,l=this.eventDefsById,n=t.id,i=l[n]||(l[n]=[]),a=t.buildInstances(this.unzonedRange);for(i.push(t),this.eventDefsByUid[t.uid]=t,e=0;e<a.length;e++)this.addEventInstance(a[e],n)},t.prototype.removeEventDefsById=function(t){var e=this;this.getEventDefsById(t).forEach(function(t){e.removeEventDef(t)})},t.prototype.removeAllEventDefs=function(){var t=n.isEmptyObject(this.eventDefsByUid);this.eventDefsByUid={},this.eventDefsById={},this.eventInstanceGroupsById={},t||this.tryRelease()},t.prototype.removeEventDef=function(t){var e=this.eventDefsById,l=e[t.id];delete this.eventDefsByUid[t.uid],l&&(i.removeExact(l,t),l.length||delete e[t.id],this.removeEventInstancesForDef(t))},t.prototype.getEventInstances=function(){var t,e=this.eventInstanceGroupsById,l=[];for(t in e)l.push.apply(l,e[t].eventInstances);return l},t.prototype.getEventInstancesWithId=function(t){var e=this.eventInstanceGroupsById[t];return e?e.eventInstances.slice():[]},t.prototype.getEventInstancesWithoutId=function(t){var e,l=this.eventInstanceGroupsById,n=[];for(e in l)e!==t&&n.push.apply(n,l[e].eventInstances);return n},t.prototype.addEventInstance=function(t,e){var l=this.eventInstanceGroupsById;(l[e]||(l[e]=new s.default)).eventInstances.push(t),this.tryRelease()},t.prototype.removeEventInstancesForDef=function(t){var e,l=this.eventInstanceGroupsById,n=l[t.id];n&&(e=i.removeMatching(n.eventInstances,function(e){return e.def===t}),n.eventInstances.length||delete l[t.id],e&&this.tryRelease())},t.prototype.tryRelease=function(){this.pendingCnt||(this.freezeDepth?this.stuntedReleaseCnt++:this.release())},t.prototype.release=function(){this.releaseCnt++,this.trigger(\"release\",this.eventInstanceGroupsById)},t.prototype.whenReleased=function(){var t=this;return this.releaseCnt?a.default.resolve(this.eventInstanceGroupsById):a.default.construct(function(e){t.one(\"release\",e)})},t.prototype.freeze=function(){this.freezeDepth++||(this.stuntedReleaseCnt=0)},t.prototype.thaw=function(){--this.freezeDepth||!this.stuntedReleaseCnt||this.pendingCnt||this.release()},t}();e.default=c,r.default.mixInto(c)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=l(219),r=l(56),o=l(6),s=l(38),c=l(9),u=l(20),d=l(13),h=l(7),f=function(){function t(t){this.calendar=t,this.stickySource=new r.default(t),this.otherSources=[]}return t.prototype.requestEvents=function(t,e,l,n){return!n&&this.currentPeriod&&this.currentPeriod.isWithinRange(t,e)&&l===this.currentPeriod.timezone||this.setPeriod(new a.default(t,e,l)),this.currentPeriod.whenReleased()},t.prototype.addSource=function(t){this.otherSources.push(t),this.currentPeriod&&this.currentPeriod.requestSource(t)},t.prototype.removeSource=function(t){i.removeExact(this.otherSources,t),this.currentPeriod&&this.currentPeriod.purgeSource(t)},t.prototype.removeAllSources=function(){this.otherSources=[],this.currentPeriod&&this.currentPeriod.purgeAllSources()},t.prototype.refetchSource=function(t){var e=this.currentPeriod;e&&(e.freeze(),e.purgeSource(t),e.requestSource(t),e.thaw())},t.prototype.refetchAllSources=function(){var t=this.currentPeriod;t&&(t.freeze(),t.purgeAllSources(),t.requestSources(this.getSources()),t.thaw())},t.prototype.getSources=function(){return[this.stickySource].concat(this.otherSources)},t.prototype.multiQuerySources=function(t){t?n.isArray(t)||(t=[t]):t=[];var e,l=[];for(e=0;e<t.length;e++)l.push.apply(l,this.querySources(t[e]));return l},t.prototype.querySources=function(t){var e,l,i=this.otherSources;for(e=0;e<i.length;e++)if((l=i[e])===t)return[l];return(l=this.getSourceById(o.default.normalizeId(t)))?[l]:(t=s.default.parse(t,this.calendar))?n.grep(i,function(e){return l=e,t.getPrimitive()===l.getPrimitive();var l}):void 0},t.prototype.getSourceById=function(t){return n.grep(this.otherSources,function(e){return e.id&&e.id===t})[0]},t.prototype.setPeriod=function(t){this.currentPeriod&&(this.unbindPeriod(this.currentPeriod),this.currentPeriod=null),this.currentPeriod=t,this.bindPeriod(t),t.requestSources(this.getSources())},t.prototype.bindPeriod=function(t){this.listenTo(t,\"release\",function(t){this.trigger(\"release\",t)})},t.prototype.unbindPeriod=function(t){this.stopListeningTo(t)},t.prototype.getEventDefByUid=function(t){if(this.currentPeriod)return this.currentPeriod.getEventDefByUid(t)},t.prototype.addEventDef=function(t,e){e&&this.stickySource.addEventDef(t),this.currentPeriod&&this.currentPeriod.addEventDef(t)},t.prototype.removeEventDefsById=function(t){this.getSources().forEach(function(e){e.removeEventDefsById(t)}),this.currentPeriod&&this.currentPeriod.removeEventDefsById(t)},t.prototype.removeAllEventDefs=function(){this.getSources().forEach(function(t){t.removeAllEventDefs()}),this.currentPeriod&&this.currentPeriod.removeAllEventDefs()},t.prototype.mutateEventsWithId=function(t,e){var l,n=this.currentPeriod,i=[];return n?(n.freeze(),(l=n.getEventDefsById(t)).forEach(function(t){n.removeEventDef(t),i.push(e.mutateSingle(t)),n.addEventDef(t)}),n.thaw(),function(){n.freeze();for(var t=0;t<l.length;t++)n.removeEventDef(l[t]),i[t](),n.addEventDef(l[t]);n.thaw()}):function(){}},t.prototype.buildMutatedEventInstanceGroup=function(t,e){var l,n,i=this.getEventDefsById(t),a=[];for(l=0;l<i.length;l++)(n=i[l].clone())instanceof c.default&&(e.mutateSingle(n),a.push.apply(a,n.buildInstances()));return new u.default(a)},t.prototype.freeze=function(){this.currentPeriod&&this.currentPeriod.freeze()},t.prototype.thaw=function(){this.currentPeriod&&this.currentPeriod.thaw()},t.prototype.getEventDefsById=function(t){return this.currentPeriod.getEventDefsById(t)},t.prototype.getEventInstances=function(){return this.currentPeriod.getEventInstances()},t.prototype.getEventInstancesWithId=function(t){return this.currentPeriod.getEventInstancesWithId(t)},t.prototype.getEventInstancesWithoutId=function(t){return this.currentPeriod.getEventInstancesWithoutId(t)},t}();e.default=f,d.default.mixInto(f),h.default.mixInto(f)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(l(22).default);e.default=i,i.prototype.classes={widget:\"fc-unthemed\",widgetHeader:\"fc-widget-header\",widgetContent:\"fc-widget-content\",buttonGroup:\"fc-button-group\",button:\"fc-button\",cornerLeft:\"fc-corner-left\",cornerRight:\"fc-corner-right\",stateDefault:\"fc-state-default\",stateActive:\"fc-state-active\",stateDisabled:\"fc-state-disabled\",stateHover:\"fc-state-hover\",stateDown:\"fc-state-down\",popoverHeader:\"fc-widget-header\",popoverContent:\"fc-widget-content\",headerRow:\"fc-widget-header\",dayRow:\"fc-widget-content\",listView:\"fc-widget-content\"},i.prototype.baseIconClass=\"fc-icon\",i.prototype.iconClasses={close:\"fc-icon-x\",prev:\"fc-icon-left-single-arrow\",next:\"fc-icon-right-single-arrow\",prevYear:\"fc-icon-left-double-arrow\",nextYear:\"fc-icon-right-double-arrow\"},i.prototype.iconOverrideOption=\"buttonIcons\",i.prototype.iconOverrideCustomButtonOption=\"icon\",i.prototype.iconOverridePrefix=\"fc-icon-\"},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(l(22).default);e.default=i,i.prototype.classes={widget:\"ui-widget\",widgetHeader:\"ui-widget-header\",widgetContent:\"ui-widget-content\",buttonGroup:\"fc-button-group\",button:\"ui-button\",cornerLeft:\"ui-corner-left\",cornerRight:\"ui-corner-right\",stateDefault:\"ui-state-default\",stateActive:\"ui-state-active\",stateDisabled:\"ui-state-disabled\",stateHover:\"ui-state-hover\",stateDown:\"ui-state-down\",today:\"ui-state-highlight\",popoverHeader:\"ui-widget-header\",popoverContent:\"ui-widget-content\",headerRow:\"ui-widget-header\",dayRow:\"ui-widget-content\",listView:\"ui-widget-content\"},i.prototype.baseIconClass=\"ui-icon\",i.prototype.iconClasses={close:\"ui-icon-closethick\",prev:\"ui-icon-circle-triangle-w\",next:\"ui-icon-circle-triangle-e\",prevYear:\"ui-icon-seek-prev\",nextYear:\"ui-icon-seek-next\"},i.prototype.iconOverrideOption=\"themeButtonIcons\",i.prototype.iconOverrideCustomButtonOption=\"themeIcon\",i.prototype.iconOverridePrefix=\"ui-icon-\"},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(21),r=l(6),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.parse=function(t,e){var l;return i.isFunction(t.events)?l=t:i.isFunction(t)&&(l={events:t}),!!l&&r.default.parse.call(this,l,e)},e.prototype.fetch=function(t,e,l){var n=this;return this.calendar.pushLoading(),a.default.construct(function(i){n.func.call(n.calendar,t.clone(),e.clone(),l,function(t){n.calendar.popLoading(),i(n.parseEventDefs(t))})})},e.prototype.getPrimitive=function(){return this.func},e.prototype.applyManualStandardProps=function(e){var l=t.prototype.applyManualStandardProps.call(this,e);return this.func=e.events,l},e}(r.default);e.default=o,o.defineStandardProps({events:!1})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(21),o=l(6),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.parse=function(t,e){var l;return\"string\"==typeof t.url?l=t:\"string\"==typeof t&&(l={url:t}),!!l&&o.default.parse.call(this,l,e)},e.prototype.fetch=function(t,l,n){var o=this,s=this.ajaxSettings,c=s.success,u=s.error,d=this.buildRequestParams(t,l,n);return this.calendar.pushLoading(),r.default.construct(function(t,l){i.ajax(i.extend({},e.AJAX_DEFAULTS,s,{url:o.url,data:d,success:function(e,n,r){var s;o.calendar.popLoading(),e?(s=a.applyAll(c,o,[e,n,r]),i.isArray(s)&&(e=s),t(o.parseEventDefs(e))):l()},error:function(t,e,n){o.calendar.popLoading(),a.applyAll(u,o,[t,e,n]),l()}}))})},e.prototype.buildRequestParams=function(t,e,l){var n,a,r,o,s=this.calendar,c=this.ajaxSettings,u={};return null==(n=this.startParam)&&(n=s.opt(\"startParam\")),null==(a=this.endParam)&&(a=s.opt(\"endParam\")),null==(r=this.timezoneParam)&&(r=s.opt(\"timezoneParam\")),o=i.isFunction(c.data)?c.data():c.data||{},i.extend(u,o),u[n]=t.format(),u[a]=e.format(),l&&\"local\"!==l&&(u[r]=l),u},e.prototype.getPrimitive=function(){return this.url},e.prototype.applyMiscProps=function(t){this.ajaxSettings=t},e.AJAX_DEFAULTS={dataType:\"json\",cache:!1},e}(o.default);e.default=s,s.defineStandardProps({url:!0,startParam:!0,endParam:!0,timezoneParam:!0})},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0});var l=function(){function t(t){this.items=t||[]}return t.prototype.proxyCall=function(t){for(var e=[],l=1;l<arguments.length;l++)e[l-1]=arguments[l];var n=[];return this.items.forEach(function(l){n.push(l[t].apply(l,e))}),n},t}();e.default=l},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=l(7),r=function(){function t(t,e){this.isFollowing=!1,this.isHidden=!1,this.isAnimating=!1,this.options=e=e||{},this.sourceEl=t,this.parentEl=e.parentEl?n(e.parentEl):t.parent()}return t.prototype.start=function(t){this.isFollowing||(this.isFollowing=!0,this.y0=i.getEvY(t),this.x0=i.getEvX(t),this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),i.getEvIsTouch(t)?this.listenTo(n(document),\"touchmove\",this.handleMove):this.listenTo(n(document),\"mousemove\",this.handleMove))},t.prototype.stop=function(t,e){var l=this,i=this.options.revertDuration,a=function(){l.isAnimating=!1,l.removeElement(),l.top0=l.left0=null,e&&e()};this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,this.stopListeningTo(n(document)),t&&i&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:i,complete:a})):a())},t.prototype.getEl=function(){var t=this.el;return t||((t=this.el=this.sourceEl.clone().addClass(this.options.additionalClass||\"\").css({position:\"absolute\",visibility:\"\",display:this.isHidden?\"none\":\"\",margin:0,right:\"auto\",bottom:\"auto\",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||\"\",zIndex:this.options.zIndex})).addClass(\"fc-unselectable\"),t.appendTo(this.parentEl)),t},t.prototype.removeElement=function(){this.el&&(this.el.remove(),this.el=null)},t.prototype.updatePosition=function(){var t,e;this.getEl(),null==this.top0&&(t=this.sourceEl.offset(),e=this.el.offsetParent().offset(),this.top0=t.top-e.top,this.left0=t.left-e.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},t.prototype.handleMove=function(t){this.topDelta=i.getEvY(t)-this.y0,this.leftDelta=i.getEvX(t)-this.x0,this.isHidden||this.updatePosition()},t.prototype.hide=function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},t.prototype.show=function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())},t}();e.default=r,a.default.mixInto(r)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=l(7),r=function(){function t(t){this.isHidden=!0,this.margin=10,this.options=t||{}}return t.prototype.show=function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger(\"show\"))},t.prototype.hide=function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger(\"hide\"))},t.prototype.render=function(){var t=this,e=this.options;this.el=n('<div class=\"fc-popover\"/>').addClass(e.className||\"\").css({top:0,left:0}).append(e.content).appendTo(e.parentEl),this.el.on(\"click\",\".fc-close\",function(){t.hide()}),e.autoHide&&this.listenTo(n(document),\"mousedown\",this.documentMousedown)},t.prototype.documentMousedown=function(t){this.el&&!n(t.target).closest(this.el).length&&this.hide()},t.prototype.removeElement=function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(n(document),\"mousedown\")},t.prototype.position=function(){var t,e,l,a,r,o=this.options,s=this.el.offsetParent().offset(),c=this.el.outerWidth(),u=this.el.outerHeight(),d=n(window),h=i.getScrollParent(this.el);a=o.top||0,r=void 0!==o.left?o.left:void 0!==o.right?o.right-c:0,h.is(window)||h.is(document)?(h=d,t=0,e=0):(t=(l=h.offset()).top,e=l.left),t+=d.scrollTop(),e+=d.scrollLeft(),!1!==o.viewportConstrain&&(a=Math.min(a,t+h.outerHeight()-u-this.margin),a=Math.max(a,t+this.margin),r=Math.min(r,e+h.outerWidth()-c-this.margin),r=Math.max(r,e+this.margin)),this.el.css({top:a-s.top,left:r-s.left})},t.prototype.trigger=function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1))},t}();e.default=r,a.default.mixInto(r)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(13),i=function(){function t(){this.q=[],this.isPaused=!1,this.isRunning=!1}return t.prototype.queue=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];this.q.push.apply(this.q,t),this.tryStart()},t.prototype.pause=function(){this.isPaused=!0},t.prototype.resume=function(){this.isPaused=!1,this.tryStart()},t.prototype.getIsIdle=function(){return!this.isRunning&&!this.isPaused},t.prototype.tryStart=function(){!this.isRunning&&this.canRunNext()&&(this.isRunning=!0,this.trigger(\"start\"),this.runRemaining())},t.prototype.canRunNext=function(){return!this.isPaused&&this.q.length},t.prototype.runRemaining=function(){var t,e,l=this;do{if(t=this.q.shift(),(e=this.runTask(t))&&e.then)return void e.then(function(){l.canRunNext()&&l.runRemaining()})}while(this.canRunNext());this.trigger(\"stop\"),this.isRunning=!1,this.tryStart()},t.prototype.runTask=function(t){return t()},t}();e.default=i,n.default.mixInto(i)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(e){var l=t.call(this)||this;return l.waitsByNamespace=e||{},l}return n.__extends(e,t),e.prototype.queue=function(t,e,l){var n,i={func:t,namespace:e,type:l};e&&(n=this.waitsByNamespace[e]),this.waitNamespace&&(e===this.waitNamespace&&null!=n?this.delayWait(n):(this.clearWait(),this.tryStart())),this.compoundTask(i)&&(this.waitNamespace||null==n?this.tryStart():this.startWait(e,n))},e.prototype.startWait=function(t,e){this.waitNamespace=t,this.spawnWait(e)},e.prototype.delayWait=function(t){clearTimeout(this.waitId),this.spawnWait(t)},e.prototype.spawnWait=function(t){var e=this;this.waitId=setTimeout(function(){e.waitNamespace=null,e.tryStart()},t)},e.prototype.clearWait=function(){this.waitNamespace&&(clearTimeout(this.waitId),this.waitId=null,this.waitNamespace=null)},e.prototype.canRunNext=function(){if(!t.prototype.canRunNext.call(this))return!1;if(this.waitNamespace){for(var e=this.q,l=0;l<e.length;l++)if(e[l].namespace!==this.waitNamespace)return!0;return!1}return!0},e.prototype.runTask=function(t){t.func()},e.prototype.compoundTask=function(t){var e,l,n=this.q,i=!0;if(t.namespace&&\"destroy\"===t.type)for(e=n.length-1;e>=0;e--)if((l=n[e]).namespace===t.namespace)switch(l.type){case\"init\":i=!1;case\"add\":case\"remove\":n.splice(e,1)}return i&&n.push(t),i},e}(l(228).default);e.default=i},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.setElement=function(t){this.el=t,this.bindGlobalHandlers(),this.renderSkeleton(),this.set(\"isInDom\",!0)},e.prototype.removeElement=function(){this.unset(\"isInDom\"),this.unrenderSkeleton(),this.unbindGlobalHandlers(),this.el.remove()},e.prototype.bindGlobalHandlers=function(){},e.prototype.unbindGlobalHandlers=function(){},e.prototype.renderSkeleton=function(){},e.prototype.unrenderSkeleton=function(){},e}(l(51).default);e.default=i},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(0),r=l(4),o=l(11),s=l(49),c=l(230),u=l(19),d=function(t){function e(l,n){var i=t.call(this)||this;return i.isRTL=!1,i.hitsNeededDepth=0,i.hasAllDayBusinessHours=!1,i.isDatesRendered=!1,l&&(i.view=l),n&&(i.options=n),i.uid=String(e.guid++),i.childrenByUid={},i.nextDayThreshold=a.duration(i.opt(\"nextDayThreshold\")),i.isRTL=i.opt(\"isRTL\"),i.fillRendererClass&&(i.fillRenderer=new i.fillRendererClass(i)),i.eventRendererClass&&(i.eventRenderer=new i.eventRendererClass(i,i.fillRenderer)),i.helperRendererClass&&i.eventRenderer&&(i.helperRenderer=new i.helperRendererClass(i,i.eventRenderer)),i.businessHourRendererClass&&i.fillRenderer&&(i.businessHourRenderer=new i.businessHourRendererClass(i,i.fillRenderer)),i}return n.__extends(e,t),e.prototype.addChild=function(t){return!this.childrenByUid[t.uid]&&(this.childrenByUid[t.uid]=t,!0)},e.prototype.removeChild=function(t){return!!this.childrenByUid[t.uid]&&(delete this.childrenByUid[t.uid],!0)},e.prototype.updateSize=function(t,e,l){this.callChildren(\"updateSize\",arguments)},e.prototype.opt=function(t){return this._getView().opt(t)},e.prototype.publiclyTrigger=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var l=this._getCalendar();return l.publiclyTrigger.apply(l,t)},e.prototype.hasPublicHandlers=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var l=this._getCalendar();return l.hasPublicHandlers.apply(l,t)},e.prototype.executeDateRender=function(t){this.dateProfile=t,this.renderDates(t),this.isDatesRendered=!0,this.callChildren(\"executeDateRender\",arguments)},e.prototype.executeDateUnrender=function(){this.callChildren(\"executeDateUnrender\",arguments),this.dateProfile=null,this.unrenderDates(),this.isDatesRendered=!1},e.prototype.renderDates=function(t){},e.prototype.unrenderDates=function(){},e.prototype.getNowIndicatorUnit=function(){},e.prototype.renderNowIndicator=function(t){this.callChildren(\"renderNowIndicator\",arguments)},e.prototype.unrenderNowIndicator=function(){this.callChildren(\"unrenderNowIndicator\",arguments)},e.prototype.renderBusinessHours=function(t){this.businessHourRenderer&&this.businessHourRenderer.render(t),this.callChildren(\"renderBusinessHours\",arguments)},e.prototype.unrenderBusinessHours=function(){this.callChildren(\"unrenderBusinessHours\",arguments),this.businessHourRenderer&&this.businessHourRenderer.unrender()},e.prototype.executeEventRender=function(t){this.eventRenderer?(this.eventRenderer.rangeUpdated(),this.eventRenderer.render(t)):this.renderEvents&&this.renderEvents(function(t){var e,l,n,i=[];for(e in t)for(l=t[e].eventInstances,n=0;n<l.length;n++)i.push(l[n].toLegacy());return i}(t)),this.callChildren(\"executeEventRender\",arguments)},e.prototype.executeEventUnrender=function(){this.callChildren(\"executeEventUnrender\",arguments),this.eventRenderer?this.eventRenderer.unrender():this.destroyEvents&&this.destroyEvents()},e.prototype.getBusinessHourSegs=function(){var t=this.getOwnBusinessHourSegs();return this.iterChildren(function(e){t.push.apply(t,e.getBusinessHourSegs())}),t},e.prototype.getOwnBusinessHourSegs=function(){return this.businessHourRenderer?this.businessHourRenderer.getSegs():[]},e.prototype.getEventSegs=function(){var t=this.getOwnEventSegs();return this.iterChildren(function(e){t.push.apply(t,e.getEventSegs())}),t},e.prototype.getOwnEventSegs=function(){return this.eventRenderer?this.eventRenderer.getSegs():[]},e.prototype.triggerAfterEventsRendered=function(){this.triggerAfterEventSegsRendered(this.getEventSegs()),this.publiclyTrigger(\"eventAfterAllRender\",{context:this,args:[this]})},e.prototype.triggerAfterEventSegsRendered=function(t){var e=this;this.hasPublicHandlers(\"eventAfterRender\")&&t.forEach(function(t){var l;t.el&&(l=t.footprint.getEventLegacy(),e.publiclyTrigger(\"eventAfterRender\",{context:l,args:[l,t.el,e]}))})},e.prototype.triggerBeforeEventsDestroyed=function(){this.triggerBeforeEventSegsDestroyed(this.getEventSegs())},e.prototype.triggerBeforeEventSegsDestroyed=function(t){var e=this;this.hasPublicHandlers(\"eventDestroy\")&&t.forEach(function(t){var l;t.el&&(l=t.footprint.getEventLegacy(),e.publiclyTrigger(\"eventDestroy\",{context:l,args:[l,t.el,e]}))})},e.prototype.showEventsWithId=function(t){this.getEventSegs().forEach(function(e){e.footprint.eventDef.id===t&&e.el&&e.el.css(\"visibility\",\"\")}),this.callChildren(\"showEventsWithId\",arguments)},e.prototype.hideEventsWithId=function(t){this.getEventSegs().forEach(function(e){e.footprint.eventDef.id===t&&e.el&&e.el.css(\"visibility\",\"hidden\")}),this.callChildren(\"hideEventsWithId\",arguments)},e.prototype.renderDrag=function(t,e,l){var n=!1;return this.iterChildren(function(i){i.renderDrag(t,e,l)&&(n=!0)}),n},e.prototype.unrenderDrag=function(){this.callChildren(\"unrenderDrag\",arguments)},e.prototype.renderEventResize=function(t,e,l){this.callChildren(\"renderEventResize\",arguments)},e.prototype.unrenderEventResize=function(){this.callChildren(\"unrenderEventResize\",arguments)},e.prototype.renderSelectionFootprint=function(t){this.renderHighlight(t),this.callChildren(\"renderSelectionFootprint\",arguments)},e.prototype.unrenderSelection=function(){this.unrenderHighlight(),this.callChildren(\"unrenderSelection\",arguments)},e.prototype.renderHighlight=function(t){this.fillRenderer&&this.fillRenderer.renderFootprint(\"highlight\",t,{getClasses:function(){return[\"fc-highlight\"]}}),this.callChildren(\"renderHighlight\",arguments)},e.prototype.unrenderHighlight=function(){this.fillRenderer&&this.fillRenderer.unrender(\"highlight\"),this.callChildren(\"unrenderHighlight\",arguments)},e.prototype.hitsNeeded=function(){this.hitsNeededDepth++||this.prepareHits(),this.callChildren(\"hitsNeeded\",arguments)},e.prototype.hitsNotNeeded=function(){this.hitsNeededDepth&&!--this.hitsNeededDepth&&this.releaseHits(),this.callChildren(\"hitsNotNeeded\",arguments)},e.prototype.prepareHits=function(){},e.prototype.releaseHits=function(){},e.prototype.queryHit=function(t,e){var l,n,i=this.childrenByUid;for(l in i)if(n=i[l].queryHit(t,e))break;return n},e.prototype.getSafeHitFootprint=function(t){var e=this.getHitFootprint(t);return this.dateProfile.activeUnzonedRange.containsRange(e.unzonedRange)?e:null},e.prototype.getHitFootprint=function(t){},e.prototype.getHitEl=function(t){},e.prototype.eventRangesToEventFootprints=function(t){var e,l=[];for(e=0;e<t.length;e++)l.push.apply(l,this.eventRangeToEventFootprints(t[e]));return l},e.prototype.eventRangeToEventFootprints=function(t){return[u.eventRangeToEventFootprint(t)]},e.prototype.eventFootprintsToSegs=function(t){var e,l=[];for(e=0;e<t.length;e++)l.push.apply(l,this.eventFootprintToSegs(t[e]));return l},e.prototype.eventFootprintToSegs=function(t){var e,l,n,i=t.componentFootprint.unzonedRange;for(e=this.componentFootprintToSegs(t.componentFootprint),l=0;l<e.length;l++)n=e[l],i.isStart||(n.isStart=!1),i.isEnd||(n.isEnd=!1),n.footprint=t;return e},e.prototype.componentFootprintToSegs=function(t){return[]},e.prototype.callChildren=function(t,e){this.iterChildren(function(l){l[t].apply(l,e)})},e.prototype.iterChildren=function(t){var e,l=this.childrenByUid;for(e in l)t(l[e])},e.prototype._getCalendar=function(){return this.calendar||this.view.calendar},e.prototype._getView=function(){return this.view},e.prototype._getDateProfile=function(){return this._getView().get(\"dateProfile\")},e.prototype.buildGotoAnchorHtml=function(t,e,l){var n,a,s,c;return i.isPlainObject(t)?(n=t.date,a=t.type,s=t.forceOff):n=t,c={date:(n=o.default(n)).format(\"YYYY-MM-DD\"),type:a||\"day\"},\"string\"==typeof e&&(l=e,e=null),e=e?\" \"+r.attrsToStr(e):\"\",l=l||\"\",!s&&this.opt(\"navLinks\")?\"<a\"+e+' data-goto=\"'+r.htmlEscape(JSON.stringify(c))+'\">'+l+\"</a>\":\"<span\"+e+\">\"+l+\"</span>\"},e.prototype.getAllDayHtml=function(){return this.opt(\"allDayHtml\")||r.htmlEscape(this.opt(\"allDayText\"))},e.prototype.getDayClasses=function(t,e){var l,n=this._getView(),i=[];return this.dateProfile.activeUnzonedRange.containsDate(t)?(i.push(\"fc-\"+r.dayIDs[t.day()]),n.isDateInOtherMonth(t,this.dateProfile)&&i.push(\"fc-other-month\"),l=n.calendar.getNow(),t.isSame(l,\"day\")?(i.push(\"fc-today\"),!0!==e&&i.push(n.calendar.theme.getClass(\"today\"))):t<l?i.push(\"fc-past\"):i.push(\"fc-future\")):i.push(\"fc-disabled-day\"),i},e.prototype.formatRange=function(t,e,l,n){var i=t.end;return e&&(i=i.clone().subtract(1)),s.formatRange(t.start,i,l,n,this.isRTL)},e.prototype.currentRangeAs=function(t){return this._getDateProfile().currentUnzonedRange.as(t)},e.prototype.computeDayRange=function(t){var e=this._getCalendar(),l=e.msToUtcMoment(t.startMs,!0),n=e.msToUtcMoment(t.endMs),i=+n.time(),a=n.clone().stripTime();return i&&i>=this.nextDayThreshold&&a.add(1,\"days\"),a<=l&&(a=l.clone().add(1,\"days\")),{start:l,end:a}},e.prototype.isMultiDayRange=function(t){var e=this.computeDayRange(t);return e.end.diff(e.start,\"days\")>1},e.guid=0,e}(c.default);e.default=d},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(0),a=l(4),r=l(33),o=l(225),s=l(23),c=l(13),u=l(7),d=l(257),h=l(258),f=l(259),p=l(217),g=l(32),m=l(11),b=l(5),v=l(12),y=l(16),x=l(220),_=l(218),w=l(38),S=l(36),k=l(9),C=l(39),T=l(6),D=l(57),M=function(){function t(t,e){this.loadingLevel=0,this.ignoreUpdateViewSize=0,this.freezeContentHeightDepth=0,s.default.needed(),this.el=t,this.viewsByType={},this.optionsManager=new h.default(this,e),this.viewSpecManager=new f.default(this.optionsManager,this),this.initMomentInternals(),this.initCurrentDate(),this.initEventManager(),this.constraints=new p.default(this.eventManager,this),this.constructed()}return t.prototype.constructed=function(){},t.prototype.getView=function(){return this.view},t.prototype.publiclyTrigger=function(t,e){var l,i,a=this.opt(t);if(n.isPlainObject(e)?(l=e.context,i=e.args):n.isArray(e)&&(i=e),null==l&&(l=this.el[0]),i||(i=[]),this.triggerWith(t,l,i),a)return a.apply(l,i)},t.prototype.hasPublicHandlers=function(t){return this.hasHandlers(t)||this.opt(t)},t.prototype.option=function(t,e){var l;if(\"string\"==typeof t){if(void 0===e)return this.optionsManager.get(t);(l={})[t]=e,this.optionsManager.add(l)}else\"object\"==typeof t&&this.optionsManager.add(t)},t.prototype.opt=function(t){return this.optionsManager.get(t)},t.prototype.instantiateView=function(t){var e=this.viewSpecManager.getViewSpec(t);if(!e)throw new Error('View type \"'+t+'\" is not valid');return new e.class(this,e)},t.prototype.isValidViewType=function(t){return Boolean(this.viewSpecManager.getViewSpec(t))},t.prototype.changeView=function(t,e){e&&(e.start&&e.end?this.optionsManager.recordOverrides({visibleRange:e}):this.currentDate=this.moment(e).stripZone()),this.renderView(t)},t.prototype.zoomTo=function(t,e){var l;e=e||\"day\",l=this.viewSpecManager.getViewSpec(e)||this.viewSpecManager.getUnitViewSpec(e),this.currentDate=t.clone(),this.renderView(l?l.type:null)},t.prototype.initCurrentDate=function(){var t=this.opt(\"defaultDate\");this.currentDate=null!=t?this.moment(t).stripZone():this.getNow()},t.prototype.prev=function(){var t=this.view,e=t.dateProfileGenerator.buildPrev(t.get(\"dateProfile\"));e.isValid&&(this.currentDate=e.date,this.renderView())},t.prototype.next=function(){var t=this.view,e=t.dateProfileGenerator.buildNext(t.get(\"dateProfile\"));e.isValid&&(this.currentDate=e.date,this.renderView())},t.prototype.prevYear=function(){this.currentDate.add(-1,\"years\"),this.renderView()},t.prototype.nextYear=function(){this.currentDate.add(1,\"years\"),this.renderView()},t.prototype.today=function(){this.currentDate=this.getNow(),this.renderView()},t.prototype.gotoDate=function(t){this.currentDate=this.moment(t).stripZone(),this.renderView()},t.prototype.incrementDate=function(t){this.currentDate.add(i.duration(t)),this.renderView()},t.prototype.getDate=function(){return this.applyTimezone(this.currentDate)},t.prototype.pushLoading=function(){this.loadingLevel++||this.publiclyTrigger(\"loading\",[!0,this.view])},t.prototype.popLoading=function(){--this.loadingLevel||this.publiclyTrigger(\"loading\",[!1,this.view])},t.prototype.render=function(){this.contentEl?this.elementVisible()&&(this.calcSize(),this.updateViewSize()):this.initialRender()},t.prototype.initialRender=function(){var t=this,e=this.el;e.addClass(\"fc\"),e.on(\"click.fc\",\"a[data-goto]\",function(e){var l=n(e.currentTarget).data(\"goto\"),i=t.moment(l.date),r=l.type,o=t.view.opt(\"navLink\"+a.capitaliseFirstLetter(r)+\"Click\");\"function\"==typeof o?o(i,e):(\"string\"==typeof o&&(r=o),t.zoomTo(i,r))}),this.optionsManager.watch(\"settingTheme\",[\"?theme\",\"?themeSystem\"],function(l){var n=new(D.getThemeSystemClass(l.themeSystem||l.theme))(t.optionsManager),i=n.getClass(\"widget\");t.theme=n,i&&e.addClass(i)},function(){var l=t.theme.getClass(\"widget\");t.theme=null,l&&e.removeClass(l)}),this.optionsManager.watch(\"settingBusinessHourGenerator\",[\"?businessHours\"],function(e){t.businessHourGenerator=new _.default(e.businessHours,t),t.view&&t.view.set(\"businessHourGenerator\",t.businessHourGenerator)},function(){t.businessHourGenerator=null}),this.optionsManager.watch(\"applyingDirClasses\",[\"?isRTL\",\"?locale\"],function(t){e.toggleClass(\"fc-ltr\",!t.isRTL),e.toggleClass(\"fc-rtl\",t.isRTL)}),this.contentEl=n(\"<div class='fc-view-container'/>\").prependTo(e),this.initToolbars(),this.renderHeader(),this.renderFooter(),this.renderView(this.opt(\"defaultView\")),this.opt(\"handleWindowResize\")&&n(window).resize(this.windowResizeProxy=a.debounce(this.windowResize.bind(this),this.opt(\"windowResizeDelay\")))},t.prototype.destroy=function(){this.view&&this.clearView(),this.toolbarsManager.proxyCall(\"removeElement\"),this.contentEl.remove(),this.el.removeClass(\"fc fc-ltr fc-rtl\"),this.optionsManager.unwatch(\"settingTheme\"),this.optionsManager.unwatch(\"settingBusinessHourGenerator\"),this.el.off(\".fc\"),this.windowResizeProxy&&(n(window).unbind(\"resize\",this.windowResizeProxy),this.windowResizeProxy=null),s.default.unneeded()},t.prototype.elementVisible=function(){return this.el.is(\":visible\")},t.prototype.bindViewHandlers=function(t){var e=this;t.watch(\"titleForCalendar\",[\"title\"],function(l){t===e.view&&e.setToolbarsTitle(l.title)}),t.watch(\"dateProfileForCalendar\",[\"dateProfile\"],function(l){t===e.view&&(e.currentDate=l.dateProfile.date,e.updateToolbarButtons(l.dateProfile))})},t.prototype.unbindViewHandlers=function(t){t.unwatch(\"titleForCalendar\"),t.unwatch(\"dateProfileForCalendar\")},t.prototype.renderView=function(t){var e,l=this.view;this.freezeContentHeight(),l&&t&&l.type!==t&&this.clearView(),!this.view&&t&&(e=this.view=this.viewsByType[t]||(this.viewsByType[t]=this.instantiateView(t)),this.bindViewHandlers(e),e.startBatchRender(),e.setElement(n(\"<div class='fc-view fc-\"+t+\"-view' />\").appendTo(this.contentEl)),this.toolbarsManager.proxyCall(\"activateButton\",t)),this.view&&(this.view.get(\"businessHourGenerator\")!==this.businessHourGenerator&&this.view.set(\"businessHourGenerator\",this.businessHourGenerator),this.view.setDate(this.currentDate),e&&e.stopBatchRender()),this.thawContentHeight()},t.prototype.clearView=function(){var t=this.view;this.toolbarsManager.proxyCall(\"deactivateButton\",t.type),this.unbindViewHandlers(t),t.removeElement(),t.unsetDate(),this.view=null},t.prototype.reinitView=function(){var t=this.view,e=t.queryScroll();this.freezeContentHeight(),this.clearView(),this.calcSize(),this.renderView(t.type),this.view.applyScroll(e),this.thawContentHeight()},t.prototype.getSuggestedViewHeight=function(){return null==this.suggestedViewHeight&&this.calcSize(),this.suggestedViewHeight},t.prototype.isHeightAuto=function(){return\"auto\"===this.opt(\"contentHeight\")||\"auto\"===this.opt(\"height\")},t.prototype.updateViewSize=function(t){void 0===t&&(t=!1);var e,l=this.view;if(!this.ignoreUpdateViewSize&&l)return t&&(this.calcSize(),e=l.queryScroll()),this.ignoreUpdateViewSize++,l.updateSize(this.getSuggestedViewHeight(),this.isHeightAuto(),t),this.ignoreUpdateViewSize--,t&&l.applyScroll(e),!0},t.prototype.calcSize=function(){this.elementVisible()&&this._calcSize()},t.prototype._calcSize=function(){var t=this.opt(\"contentHeight\"),e=this.opt(\"height\");this.suggestedViewHeight=\"number\"==typeof t?t:\"function\"==typeof t?t():\"number\"==typeof e?e-this.queryToolbarsHeight():\"function\"==typeof e?e()-this.queryToolbarsHeight():\"parent\"===e?this.el.parent().height()-this.queryToolbarsHeight():Math.round(this.contentEl.width()/Math.max(this.opt(\"aspectRatio\"),.5))},t.prototype.windowResize=function(t){t.target===window&&this.view&&this.view.isDatesRendered&&this.updateViewSize(!0)&&this.publiclyTrigger(\"windowResize\",[this.view])},t.prototype.freezeContentHeight=function(){this.freezeContentHeightDepth++||this.forceFreezeContentHeight()},t.prototype.forceFreezeContentHeight=function(){this.contentEl.css({width:\"100%\",height:this.contentEl.height(),overflow:\"hidden\"})},t.prototype.thawContentHeight=function(){this.freezeContentHeightDepth--,this.contentEl.css({width:\"\",height:\"\",overflow:\"\"}),this.freezeContentHeightDepth&&this.forceFreezeContentHeight()},t.prototype.initToolbars=function(){this.header=new d.default(this,this.computeHeaderOptions()),this.footer=new d.default(this,this.computeFooterOptions()),this.toolbarsManager=new o.default([this.header,this.footer])},t.prototype.computeHeaderOptions=function(){return{extraClasses:\"fc-header-toolbar\",layout:this.opt(\"header\")}},t.prototype.computeFooterOptions=function(){return{extraClasses:\"fc-footer-toolbar\",layout:this.opt(\"footer\")}},t.prototype.renderHeader=function(){var t=this.header;t.setToolbarOptions(this.computeHeaderOptions()),t.render(),t.el&&this.el.prepend(t.el)},t.prototype.renderFooter=function(){var t=this.footer;t.setToolbarOptions(this.computeFooterOptions()),t.render(),t.el&&this.el.append(t.el)},t.prototype.setToolbarsTitle=function(t){this.toolbarsManager.proxyCall(\"updateTitle\",t)},t.prototype.updateToolbarButtons=function(t){var e=this.getNow(),l=this.view,n=l.dateProfileGenerator.build(e),i=l.dateProfileGenerator.buildPrev(l.get(\"dateProfile\")),a=l.dateProfileGenerator.buildNext(l.get(\"dateProfile\"));this.toolbarsManager.proxyCall(n.isValid&&!t.currentUnzonedRange.containsDate(e)?\"enableButton\":\"disableButton\",\"today\"),this.toolbarsManager.proxyCall(i.isValid?\"enableButton\":\"disableButton\",\"prev\"),this.toolbarsManager.proxyCall(a.isValid?\"enableButton\":\"disableButton\",\"next\")},t.prototype.queryToolbarsHeight=function(){return this.toolbarsManager.items.reduce(function(t,e){return t+(e.el?e.el.outerHeight(!0):0)},0)},t.prototype.select=function(t,e){this.view.select(this.buildSelectFootprint.apply(this,arguments))},t.prototype.unselect=function(){this.view&&this.view.unselect()},t.prototype.buildSelectFootprint=function(t,e){var l,n=this.moment(t).stripZone();return l=e?this.moment(e).stripZone():n.hasTime()?n.clone().add(this.defaultTimedEventDuration):n.clone().add(this.defaultAllDayEventDuration),new v.default(new b.default(n,l),!n.hasTime())},t.prototype.initMomentInternals=function(){var t=this;this.defaultAllDayEventDuration=i.duration(this.opt(\"defaultAllDayEventDuration\")),this.defaultTimedEventDuration=i.duration(this.opt(\"defaultTimedEventDuration\")),this.optionsManager.watch(\"buildingMomentLocale\",[\"?locale\",\"?monthNames\",\"?monthNamesShort\",\"?dayNames\",\"?dayNamesShort\",\"?firstDay\",\"?weekNumberCalculation\"],function(e){var l,n=e.weekNumberCalculation,i=e.firstDay;\"iso\"===n&&(n=\"ISO\");var a=Object.create(g.getMomentLocaleData(e.locale));e.monthNames&&(a._months=e.monthNames),e.monthNamesShort&&(a._monthsShort=e.monthNamesShort),e.dayNames&&(a._weekdays=e.dayNames),e.dayNamesShort&&(a._weekdaysShort=e.dayNamesShort),null==i&&\"ISO\"===n&&(i=1),null!=i&&((l=Object.create(a._week)).dow=i,a._week=l),\"ISO\"!==n&&\"local\"!==n&&\"function\"!=typeof n||(a._fullCalendar_weekCalc=n),t.localeData=a,t.currentDate&&t.localizeMoment(t.currentDate)})},t.prototype.moment=function(){for(var t,e=[],l=0;l<arguments.length;l++)e[l]=arguments[l];return\"local\"===this.opt(\"timezone\")?(t=m.default.apply(null,e)).hasTime()&&t.local():t=\"UTC\"===this.opt(\"timezone\")?m.default.utc.apply(null,e):m.default.parseZone.apply(null,e),this.localizeMoment(t),t},t.prototype.msToMoment=function(t,e){var l=m.default.utc(t);return e?l.stripTime():l=this.applyTimezone(l),this.localizeMoment(l),l},t.prototype.msToUtcMoment=function(t,e){var l=m.default.utc(t);return e&&l.stripTime(),this.localizeMoment(l),l},t.prototype.localizeMoment=function(t){t._locale=this.localeData},t.prototype.getIsAmbigTimezone=function(){return\"local\"!==this.opt(\"timezone\")&&\"UTC\"!==this.opt(\"timezone\")},t.prototype.applyTimezone=function(t){if(!t.hasTime())return t.clone();var e,l=this.moment(t.toArray()),n=t.time().asMilliseconds()-l.time().asMilliseconds();return n&&(e=l.clone().add(n),t.time().asMilliseconds()-e.time().asMilliseconds()==0&&(l=e)),l},t.prototype.footprintToDateProfile=function(t,e){void 0===e&&(e=!1);var l,n=m.default.utc(t.unzonedRange.startMs);return e||(l=m.default.utc(t.unzonedRange.endMs)),t.isAllDay?(n.stripTime(),l&&l.stripTime()):(n=this.applyTimezone(n),l&&(l=this.applyTimezone(l))),this.localizeMoment(n),l&&this.localizeMoment(l),new y.default(n,l,this)},t.prototype.getNow=function(){var t=this.opt(\"now\");return\"function\"==typeof t&&(t=t()),this.moment(t).stripZone()},t.prototype.humanizeDuration=function(t){return t.locale(this.opt(\"locale\")).humanize()},t.prototype.parseUnzonedRange=function(t){var e=null,l=null;return t.start&&(e=this.moment(t.start).stripZone()),t.end&&(l=this.moment(t.end).stripZone()),e||l?e&&l&&l.isBefore(e)?null:new b.default(e,l):null},t.prototype.initEventManager=function(){var t=this,e=new x.default(this),l=this.opt(\"eventSources\")||[],n=this.opt(\"events\");this.eventManager=e,n&&l.unshift(n),e.on(\"release\",function(e){t.trigger(\"eventsReset\",e)}),e.freeze(),l.forEach(function(l){var n=w.default.parse(l,t);n&&e.addSource(n)}),e.thaw()},t.prototype.requestEvents=function(t,e){return this.eventManager.requestEvents(t,e,this.opt(\"timezone\"),!this.opt(\"lazyFetching\"))},t.prototype.getEventEnd=function(t){return t.end?t.end.clone():this.getDefaultEventEnd(t.allDay,t.start)},t.prototype.getDefaultEventEnd=function(t,e){var l=e.clone();return t?l.stripTime().add(this.defaultAllDayEventDuration):l.add(this.defaultTimedEventDuration),this.getIsAmbigTimezone()&&l.stripZone(),l},t.prototype.rerenderEvents=function(){this.view.flash(\"displayingEvents\")},t.prototype.refetchEvents=function(){this.eventManager.refetchAllSources()},t.prototype.renderEvents=function(t,e){this.eventManager.freeze();for(var l=0;l<t.length;l++)this.renderEvent(t[l],e);this.eventManager.thaw()},t.prototype.renderEvent=function(t,e){void 0===e&&(e=!1);var l=this.eventManager,n=S.default.parse(t,t.source||l.stickySource);n&&l.addEventDef(n,e)},t.prototype.removeEvents=function(t){var e,l=this.eventManager,n=[],i={};if(null==t)l.removeAllEventDefs();else{for(l.getEventInstances().forEach(function(t){n.push(t.toLegacy())}),n=A(n,t),e=0;e<n.length;e++)i[this.eventManager.getEventDefByUid(n[e]._id).id]=!0;for(e in l.freeze(),i)l.removeEventDefsById(e);l.thaw()}},t.prototype.clientEvents=function(t){var e=[];return this.eventManager.getEventInstances().forEach(function(t){e.push(t.toLegacy())}),A(e,t)},t.prototype.updateEvents=function(t){this.eventManager.freeze();for(var e=0;e<t.length;e++)this.updateEvent(t[e]);this.eventManager.thaw()},t.prototype.updateEvent=function(t){var e,l,n=this.eventManager.getEventDefByUid(t._id);n instanceof k.default&&(e=n.buildInstance(),l=C.default.createFromRawProps(e,t,null),this.eventManager.mutateEventsWithId(n.id,l))},t.prototype.getEventSources=function(){return this.eventManager.otherSources.slice()},t.prototype.getEventSourceById=function(t){return this.eventManager.getSourceById(T.default.normalizeId(t))},t.prototype.addEventSource=function(t){var e=w.default.parse(t,this);e&&this.eventManager.addSource(e)},t.prototype.removeEventSources=function(t){var e,l,n=this.eventManager;if(null==t)this.eventManager.removeAllSources();else{for(e=n.multiQuerySources(t),n.freeze(),l=0;l<e.length;l++)n.removeSource(e[l]);n.thaw()}},t.prototype.removeEventSource=function(t){var e,l=this.eventManager,n=l.querySources(t);for(l.freeze(),e=0;e<n.length;e++)l.removeSource(n[e]);l.thaw()},t.prototype.refetchEventSources=function(t){var e,l=this.eventManager,n=l.multiQuerySources(t);for(l.freeze(),e=0;e<n.length;e++)l.refetchSource(n[e]);l.thaw()},t.defaults=r.globalDefaults,t.englishDefaults=r.englishDefaults,t.rtlDefaults=r.rtlDefaults,t}();function A(t,e){return null==e?t:n.isFunction(e)?t.filter(e):(e+=\"\",t.filter(function(t){return t.id==e||t._id===e}))}e.default=M,c.default.mixInto(M),u.default.mixInto(M)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(0),r=l(18),o=l(4),s=l(11),c=l(7),u=l(17),d=l(9),h=l(20),f=l(6),p=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.isDragging=!1,e}return n.__extends(e,t),e.prototype.end=function(){this.dragListener&&this.dragListener.endInteraction()},e.prototype.bindToDocument=function(){this.listenTo(i(document),{dragstart:this.handleDragStart,sortstart:this.handleDragStart})},e.prototype.unbindFromDocument=function(){this.stopListeningTo(i(document))},e.prototype.handleDragStart=function(t,e){var l,n;this.opt(\"droppable\")&&(l=i((e?e.item:null)||t.target),n=this.opt(\"dropAccept\"),(i.isFunction(n)?n.call(l[0],l):l.is(n))&&(this.isDragging||this.listenToExternalDrag(l,t,e)))},e.prototype.listenToExternalDrag=function(t,e,l){var n,s=this,c=this.component,d=this.view,f=function(t){var e,l,n,o,s=r.dataAttrPrefix;s&&(s+=\"-\");(e=t.data(s+\"event\")||null)&&(e=\"object\"==typeof e?i.extend({},e):{},null==(l=e.start)&&(l=e.time),n=e.duration,o=e.stick,delete e.start,delete e.time,delete e.duration,delete e.stick);null==l&&(l=t.data(s+\"start\"));null==l&&(l=t.data(s+\"time\"));null==n&&(n=t.data(s+\"duration\"));null==o&&(o=t.data(s+\"stick\"));return l=null!=l?a.duration(l):null,n=null!=n?a.duration(n):null,o=Boolean(o),{eventProps:e,startTime:l,duration:n,stick:o}}(t);(this.dragListener=new u.default(c,{interactionStart:function(){s.isDragging=!0},hitOver:function(t){var e,l=!0,i=t.component.getSafeHitFootprint(t);i&&(n=s.computeExternalDrop(i,f))?(e=new h.default(n.buildInstances()),l=f.eventProps?c.isEventInstanceGroupAllowed(e):c.isExternalInstanceGroupAllowed(e)):l=!1,l||(n=null,o.disableCursor()),n&&c.renderDrag(c.eventRangesToEventFootprints(e.sliceRenderRanges(c.dateProfile.renderUnzonedRange,d.calendar)))},hitOut:function(){n=null},hitDone:function(){o.enableCursor(),c.unrenderDrag()},interactionEnd:function(e){n&&d.reportExternalDrop(n,Boolean(f.eventProps),Boolean(f.stick),t,e,l),s.isDragging=!1,s.dragListener=null}})).startDrag(e)},e.prototype.computeExternalDrop=function(t,e){var l,n=this.view.calendar,a=s.default.utc(t.unzonedRange.startMs).stripZone();return t.isAllDay&&(e.startTime?a.time(e.startTime):a.stripTime()),e.duration&&(l=a.clone().add(e.duration)),a=n.applyTimezone(a),l&&(l=n.applyTimezone(l)),d.default.parse(i.extend({},e.eventProps,{start:a,end:l}),new f.default(n))},e}(l(14).default);e.default=p,c.default.mixInto(p),r.dataAttrPrefix=\"\"},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(39),o=l(40),s=l(17),c=function(t){function e(e,l){var n=t.call(this,e)||this;return n.isResizing=!1,n.eventPointing=l,n}return n.__extends(e,t),e.prototype.end=function(){this.dragListener&&this.dragListener.endInteraction()},e.prototype.bindToEl=function(t){var e=this.component;e.bindSegHandlerToEl(t,\"mousedown\",this.handleMouseDown.bind(this)),e.bindSegHandlerToEl(t,\"touchstart\",this.handleTouchStart.bind(this))},e.prototype.handleMouseDown=function(t,e){this.component.canStartResize(t,e)&&this.buildDragListener(t,i(e.target).is(\".fc-start-resizer\")).startInteraction(e,{distance:5})},e.prototype.handleTouchStart=function(t,e){this.component.canStartResize(t,e)&&this.buildDragListener(t,i(e.target).is(\".fc-start-resizer\")).startInteraction(e)},e.prototype.buildDragListener=function(t,e){var l,n,i=this,r=this.component,o=this.view,c=o.calendar,u=c.eventManager,d=t.el,h=t.footprint.eventDef,f=t.footprint.eventInstance;return this.dragListener=new s.default(r,{scroll:this.opt(\"dragScroll\"),subjectEl:d,interactionStart:function(){l=!1},dragStart:function(e){l=!0,i.eventPointing.handleMouseout(t,e),i.segResizeStart(t,e)},hitOver:function(l,s,d){var f,p=!0,g=r.getSafeHitFootprint(d),m=r.getSafeHitFootprint(l);g&&m&&(n=e?i.computeEventStartResizeMutation(g,m,t.footprint):i.computeEventEndResizeMutation(g,m,t.footprint))?(f=u.buildMutatedEventInstanceGroup(h.id,n),p=r.isEventInstanceGroupAllowed(f)):p=!1,p?n.isEmpty()&&(n=null):(n=null,a.disableCursor()),n&&(o.hideEventsWithId(t.footprint.eventDef.id),o.renderEventResize(r.eventRangesToEventFootprints(f.sliceRenderRanges(r.dateProfile.renderUnzonedRange,c)),t))},hitOut:function(){n=null},hitDone:function(){o.unrenderEventResize(t),o.showEventsWithId(t.footprint.eventDef.id),a.enableCursor()},interactionEnd:function(e){l&&i.segResizeStop(t,e),n&&o.reportEventResize(f,n,d,e),i.dragListener=null}})},e.prototype.segResizeStart=function(t,e){this.isResizing=!0,this.component.publiclyTrigger(\"eventResizeStart\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},e.prototype.segResizeStop=function(t,e){this.isResizing=!1,this.component.publiclyTrigger(\"eventResizeStop\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},e.prototype.computeEventStartResizeMutation=function(t,e,l){var n,i,a=l.componentFootprint.unzonedRange,s=this.component.diffDates(e.unzonedRange.getStart(),t.unzonedRange.getStart());return a.getStart().add(s)<a.getEnd()&&((n=new o.default).setStartDelta(s),(i=new r.default).setDateMutation(n),i)},e.prototype.computeEventEndResizeMutation=function(t,e,l){var n,i,a=l.componentFootprint.unzonedRange,s=this.component.diffDates(e.unzonedRange.getEnd(),t.unzonedRange.getEnd());return a.getEnd().add(s)>a.getStart()&&((n=new o.default).setEndDelta(s),(i=new r.default).setDateMutation(n),i)},e}(l(14).default);e.default=c},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=l(39),r=l(40),o=l(59),s=l(17),c=l(226),u=function(t){function e(e,l){var n=t.call(this,e)||this;return n.isDragging=!1,n.eventPointing=l,n}return n.__extends(e,t),e.prototype.end=function(){this.dragListener&&this.dragListener.endInteraction()},e.prototype.getSelectionDelay=function(){var t=this.opt(\"eventLongPressDelay\");return null==t&&(t=this.opt(\"longPressDelay\")),t},e.prototype.bindToEl=function(t){var e=this.component;e.bindSegHandlerToEl(t,\"mousedown\",this.handleMousedown.bind(this)),e.bindSegHandlerToEl(t,\"touchstart\",this.handleTouchStart.bind(this))},e.prototype.handleMousedown=function(t,e){!this.component.shouldIgnoreMouse()&&this.component.canStartDrag(t,e)&&this.buildDragListener(t).startInteraction(e,{distance:5})},e.prototype.handleTouchStart=function(t,e){var l=this.component,n={delay:this.view.isEventDefSelected(t.footprint.eventDef)?0:this.getSelectionDelay()};l.canStartDrag(t,e)?this.buildDragListener(t).startInteraction(e,n):l.canStartSelection(t,e)&&this.buildSelectListener(t).startInteraction(e,n)},e.prototype.buildSelectListener=function(t){var e=this,l=this.view,n=t.footprint.eventDef,i=t.footprint.eventInstance;if(this.dragListener)return this.dragListener;var a=this.dragListener=new o.default({dragStart:function(t){a.isTouch&&!l.isEventDefSelected(n)&&i&&l.selectEventInstance(i)},interactionEnd:function(t){e.dragListener=null}});return a},e.prototype.buildDragListener=function(t){var e,l,n,a=this,r=this.component,o=this.view,u=o.calendar,d=u.eventManager,h=t.el,f=t.footprint.eventDef,p=t.footprint.eventInstance;if(this.dragListener)return this.dragListener;var g=this.dragListener=new s.default(o,{scroll:this.opt(\"dragScroll\"),subjectEl:h,subjectCenter:!0,interactionStart:function(n){t.component=r,e=!1,(l=new c.default(t.el,{additionalClass:\"fc-dragging\",parentEl:o.el,opacity:g.isTouch?null:a.opt(\"dragOpacity\"),revertDuration:a.opt(\"dragRevertDuration\"),zIndex:2})).hide(),l.start(n)},dragStart:function(l){g.isTouch&&!o.isEventDefSelected(f)&&p&&o.selectEventInstance(p),e=!0,a.eventPointing.handleMouseout(t,l),a.segDragStart(t,l),o.hideEventsWithId(t.footprint.eventDef.id)},hitOver:function(e,s,c){var h,p,m,b=!0;t.hit&&(c=t.hit),h=c.component.getSafeHitFootprint(c),p=e.component.getSafeHitFootprint(e),h&&p&&(n=a.computeEventDropMutation(h,p,f))?(m=d.buildMutatedEventInstanceGroup(f.id,n),b=r.isEventInstanceGroupAllowed(m)):b=!1,b||(n=null,i.disableCursor()),n&&o.renderDrag(r.eventRangesToEventFootprints(m.sliceRenderRanges(r.dateProfile.renderUnzonedRange,u)),t,g.isTouch)?l.hide():l.show(),s&&(n=null)},hitOut:function(){o.unrenderDrag(t),l.show(),n=null},hitDone:function(){i.enableCursor()},interactionEnd:function(i){delete t.component,l.stop(!n,function(){e&&(o.unrenderDrag(t),a.segDragStop(t,i)),o.showEventsWithId(t.footprint.eventDef.id),n&&o.reportEventDrop(p,n,h,i)}),a.dragListener=null}});return g},e.prototype.segDragStart=function(t,e){this.isDragging=!0,this.component.publiclyTrigger(\"eventDragStart\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},e.prototype.segDragStop=function(t,e){this.isDragging=!1,this.component.publiclyTrigger(\"eventDragStop\",{context:t.el[0],args:[t.footprint.getEventLegacy(),e,{},this.view]})},e.prototype.computeEventDropMutation=function(t,e,l){var n=new a.default;return n.setDateMutation(this.computeEventDateMutation(t,e)),n},e.prototype.computeEventDateMutation=function(t,e){var l,n,i=t.unzonedRange.getStart(),a=e.unzonedRange.getStart(),o=!1,s=!1,c=!1;return t.isAllDay!==e.isAllDay&&(o=!0,e.isAllDay?(c=!0,i.stripTime()):s=!0),l=this.component.diffDates(a,i),(n=new r.default).clearEnd=o,n.forceTimed=s,n.forceAllDay=c,n.setDateDelta(l),n},e}(l(14).default);e.default=u},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=l(17),r=l(12),o=l(5),s=function(t){function e(e){var l=t.call(this,e)||this;return l.dragListener=l.buildDragListener(),l}return n.__extends(e,t),e.prototype.end=function(){this.dragListener.endInteraction()},e.prototype.getDelay=function(){var t=this.opt(\"selectLongPressDelay\");return null==t&&(t=this.opt(\"longPressDelay\")),t},e.prototype.bindToEl=function(t){var e=this,l=this.component,n=this.dragListener;l.bindDateHandlerToEl(t,\"mousedown\",function(t){e.opt(\"selectable\")&&!l.shouldIgnoreMouse()&&n.startInteraction(t,{distance:e.opt(\"selectMinDistance\")})}),l.bindDateHandlerToEl(t,\"touchstart\",function(t){e.opt(\"selectable\")&&!l.shouldIgnoreTouch()&&n.startInteraction(t,{delay:e.getDelay()})}),i.preventSelection(t)},e.prototype.buildDragListener=function(){var t,e=this,l=this.component;return new a.default(l,{scroll:this.opt(\"dragScroll\"),interactionStart:function(){t=null},dragStart:function(t){e.view.unselect(t)},hitOver:function(n,a,r){var o,s;r&&(o=l.getSafeHitFootprint(r),s=l.getSafeHitFootprint(n),(t=o&&s?e.computeSelection(o,s):null)?l.renderSelectionFootprint(t):!1===t&&i.disableCursor())},hitOut:function(){t=null,l.unrenderSelection()},hitDone:function(){i.enableCursor()},interactionEnd:function(l,n){!n&&t&&e.view.reportSelection(t,l)}})},e.prototype.computeSelection=function(t,e){var l=this.computeSelectionFootprint(t,e);return!(l&&!this.isSelectionFootprintAllowed(l))&&l},e.prototype.computeSelectionFootprint=function(t,e){var l=[t.unzonedRange.startMs,t.unzonedRange.endMs,e.unzonedRange.startMs,e.unzonedRange.endMs];return l.sort(i.compareNumbers),new r.default(new o.default(l[0],l[3]),t.isAllDay)},e.prototype.isSelectionFootprintAllowed=function(t){return this.component.dateProfile.validUnzonedRange.containsRange(t.unzonedRange)&&this.view.calendar.constraints.isSelectionFootprintAllowed(t)},e}(l(14).default);e.default=s},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(17),a=function(t){function e(e){var l=t.call(this,e)||this;return l.dragListener=l.buildDragListener(),l}return n.__extends(e,t),e.prototype.end=function(){this.dragListener.endInteraction()},e.prototype.bindToEl=function(t){var e=this.component,l=this.dragListener;e.bindDateHandlerToEl(t,\"mousedown\",function(t){e.shouldIgnoreMouse()||l.startInteraction(t)}),e.bindDateHandlerToEl(t,\"touchstart\",function(t){e.shouldIgnoreTouch()||l.startInteraction(t)})},e.prototype.buildDragListener=function(){var t,e=this,l=this.component,n=new i.default(l,{scroll:this.opt(\"dragScroll\"),interactionStart:function(){t=n.origHit},hitOver:function(e,l,n){l||(t=null)},hitOut:function(){t=null},interactionEnd:function(n,i){var a;!i&&t&&(a=l.getSafeHitFootprint(t))&&e.view.triggerDayClick(a,l.getHitEl(t),n)}});return n.shouldCancelTouchScroll=!1,n.scrollAlwaysKills=!0,n},e}(l(14).default);e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n,i,a=l(2),r=l(0),o=l(3),s=l(4),c=l(41),u=l(43),d=l(239),h=l(66),f=function(t){function e(e,l){var n=t.call(this,e,l)||this;return n.usesMinMaxTime=!0,n.timeGrid=n.instantiateTimeGrid(),n.addChild(n.timeGrid),n.opt(\"allDaySlot\")&&(n.dayGrid=n.instantiateDayGrid(),n.addChild(n.dayGrid)),n.scroller=new c.default({overflowX:\"hidden\",overflowY:\"auto\"}),n}return a.__extends(e,t),e.prototype.instantiateTimeGrid=function(){var t=new this.timeGridClass(this);return s.copyOwnProps(n,t),t},e.prototype.instantiateDayGrid=function(){var t=new this.dayGridClass(this);return s.copyOwnProps(i,t),t},e.prototype.renderSkeleton=function(){var t,e;this.el.addClass(\"fc-agenda-view\").html(this.renderSkeletonHtml()),this.scroller.render(),t=this.scroller.el.addClass(\"fc-time-grid-container\"),e=o('<div class=\"fc-time-grid\" />').appendTo(t),this.el.find(\".fc-body > tr > td\").append(t),this.timeGrid.headContainerEl=this.el.find(\".fc-head-container\"),this.timeGrid.setElement(e),this.dayGrid&&(this.dayGrid.setElement(this.el.find(\".fc-day-grid\")),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next(\"hr\").outerHeight())},e.prototype.unrenderSkeleton=function(){this.timeGrid.removeElement(),this.dayGrid&&this.dayGrid.removeElement(),this.scroller.destroy()},e.prototype.renderSkeletonHtml=function(){var t=this.calendar.theme;return'<table class=\"'+t.getClass(\"tableGrid\")+'\">'+(this.opt(\"columnHeader\")?'<thead class=\"fc-head\"><tr><td class=\"fc-head-container '+t.getClass(\"widgetHeader\")+'\">&nbsp;</td></tr></thead>':\"\")+'<tbody class=\"fc-body\"><tr><td class=\"'+t.getClass(\"widgetContent\")+'\">'+(this.dayGrid?'<div class=\"fc-day-grid\"/><hr class=\"fc-divider '+t.getClass(\"widgetHeader\")+'\"/>':\"\")+\"</td></tr></tbody></table>\"},e.prototype.axisStyleAttr=function(){return null!=this.axisWidth?'style=\"width:'+this.axisWidth+'px\"':\"\"},e.prototype.getNowIndicatorUnit=function(){return this.timeGrid.getNowIndicatorUnit()},e.prototype.updateSize=function(e,l,n){var i,a,r;if(t.prototype.updateSize.call(this,e,l,n),this.axisWidth=s.matchCellWidths(this.el.find(\".fc-axis\")),this.timeGrid.colEls){var o=this.el.find(\".fc-row:not(.fc-scroller *)\");this.timeGrid.bottomRuleEl.hide(),this.scroller.clear(),s.uncompensateScroll(o),this.dayGrid&&(this.dayGrid.removeSegPopover(),(i=this.opt(\"eventLimit\"))&&\"number\"!=typeof i&&(i=5),i&&this.dayGrid.limitRows(i)),l||(a=this.computeScrollerHeight(e),this.scroller.setHeight(a),((r=this.scroller.getScrollbarWidths()).left||r.right)&&(s.compensateScroll(o,r),a=this.computeScrollerHeight(e),this.scroller.setHeight(a)),this.scroller.lockOverflow(r),this.timeGrid.getTotalSlatHeight()<a&&this.timeGrid.bottomRuleEl.show())}else l||(a=this.computeScrollerHeight(e),this.scroller.setHeight(a))},e.prototype.computeScrollerHeight=function(t){return t-s.subtractInnerElHeight(this.el,this.scroller.el)},e.prototype.computeInitialDateScroll=function(){var t=r.duration(this.opt(\"scrollTime\")),e=this.timeGrid.computeTimeTop(t);return(e=Math.ceil(e))&&e++,{top:e}},e.prototype.queryDateScroll=function(){return{top:this.scroller.getScrollTop()}},e.prototype.applyDateScroll=function(t){void 0!==t.top&&this.scroller.setScrollTop(t.top)},e.prototype.getHitFootprint=function(t){return t.component.getHitFootprint(t)},e.prototype.getHitEl=function(t){return t.component.getHitEl(t)},e.prototype.executeEventRender=function(t){var e,l,n={},i={};for(e in t)(l=t[e]).getEventDef().isAllDay()?n[e]=l:i[e]=l;this.timeGrid.executeEventRender(i),this.dayGrid&&this.dayGrid.executeEventRender(n)},e.prototype.renderDrag=function(t,e,l){var n=p(t),i=!1;return i=this.timeGrid.renderDrag(n.timed,e,l),this.dayGrid&&(i=this.dayGrid.renderDrag(n.allDay,e,l)||i),i},e.prototype.renderEventResize=function(t,e,l){var n=p(t);this.timeGrid.renderEventResize(n.timed,e,l),this.dayGrid&&this.dayGrid.renderEventResize(n.allDay,e,l)},e.prototype.renderSelectionFootprint=function(t){t.isAllDay?this.dayGrid&&this.dayGrid.renderSelectionFootprint(t):this.timeGrid.renderSelectionFootprint(t)},e}(u.default);function p(t){var e,l=[],n=[];for(e=0;e<t.length;e++)t[e].componentFootprint.isAllDay?l.push(t[e]):n.push(t[e]);return{allDay:l,timed:n}}e.default=f,f.prototype.timeGridClass=d.default,f.prototype.dayGridClass=h.default,n={renderHeadIntroHtml:function(){var t,e=this.view,l=e.calendar,n=l.msToUtcMoment(this.dateProfile.renderUnzonedRange.startMs,!0);return this.opt(\"weekNumbers\")?(t=n.format(this.opt(\"smallWeekFormat\")),'<th class=\"fc-axis fc-week-number '+l.theme.getClass(\"widgetHeader\")+'\" '+e.axisStyleAttr()+\">\"+e.buildGotoAnchorHtml({date:n,type:\"week\",forceOff:this.colCnt>1},s.htmlEscape(t))+\"</th>\"):'<th class=\"fc-axis '+l.theme.getClass(\"widgetHeader\")+'\" '+e.axisStyleAttr()+\"></th>\"},renderBgIntroHtml:function(){var t=this.view;return'<td class=\"fc-axis '+t.calendar.theme.getClass(\"widgetContent\")+'\" '+t.axisStyleAttr()+\"></td>\"},renderIntroHtml:function(){return'<td class=\"fc-axis\" '+this.view.axisStyleAttr()+\"></td>\"}},i={renderBgIntroHtml:function(){var t=this.view;return'<td class=\"fc-axis '+t.calendar.theme.getClass(\"widgetContent\")+'\" '+t.axisStyleAttr()+\"><span>\"+t.getAllDayHtml()+\"</span></td>\"},renderIntroHtml:function(){return'<td class=\"fc-axis\" '+this.view.axisStyleAttr()+\"></td>\"}}},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(0),r=l(4),o=l(42),s=l(61),c=l(65),u=l(60),d=l(58),h=l(5),f=l(12),p=l(240),g=l(241),m=l(242),b=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}],v=function(t){function e(e){var l=t.call(this,e)||this;return l.processOptions(),l}return n.__extends(e,t),e.prototype.componentFootprintToSegs=function(t){var e,l=this.sliceRangeByTimes(t.unzonedRange);for(e=0;e<l.length;e++)this.isRTL?l[e].col=this.daysPerRow-1-l[e].dayIndex:l[e].col=l[e].dayIndex;return l},e.prototype.sliceRangeByTimes=function(t){var e,l,n=[];for(l=0;l<this.daysPerRow;l++)(e=t.intersect(this.dayRanges[l]))&&n.push({startMs:e.startMs,endMs:e.endMs,isStart:e.isStart,isEnd:e.isEnd,dayIndex:l});return n},e.prototype.processOptions=function(){var t,e=this.opt(\"slotDuration\"),l=this.opt(\"snapDuration\");e=a.duration(e),l=l?a.duration(l):e,this.slotDuration=e,this.snapDuration=l,this.snapsPerSlot=e/l,t=this.opt(\"slotLabelFormat\"),i.isArray(t)&&(t=t[t.length-1]),this.labelFormat=t||this.opt(\"smallTimeFormat\"),t=this.opt(\"slotLabelInterval\"),this.labelInterval=t?a.duration(t):this.computeLabelInterval(e)},e.prototype.computeLabelInterval=function(t){var e,l,n;for(e=b.length-1;e>=0;e--)if(l=a.duration(b[e]),n=r.divideDurationByDuration(l,t),r.isInt(n)&&n>1)return l;return a.duration(t)},e.prototype.renderDates=function(t){this.dateProfile=t,this.updateDayTable(),this.renderSlats(),this.renderColumns()},e.prototype.unrenderDates=function(){this.unrenderColumns()},e.prototype.renderSkeleton=function(){var t=this.view.calendar.theme;this.el.html('<div class=\"fc-bg\"></div><div class=\"fc-slats\"></div><hr class=\"fc-divider '+t.getClass(\"widgetHeader\")+'\" style=\"display:none\" />'),this.bottomRuleEl=this.el.find(\"hr\")},e.prototype.renderSlats=function(){var t=this.view.calendar.theme;this.slatContainerEl=this.el.find(\"> .fc-slats\").html('<table class=\"'+t.getClass(\"tableGrid\")+'\">'+this.renderSlatRowHtml()+\"</table>\"),this.slatEls=this.slatContainerEl.find(\"tr\"),this.slatCoordCache=new d.default({els:this.slatEls,isVertical:!0})},e.prototype.renderSlatRowHtml=function(){for(var t,e,l,n=this.view,i=n.calendar,o=i.theme,s=this.isRTL,c=this.dateProfile,u=\"\",d=a.duration(+c.minTime),h=a.duration(0);d<c.maxTime;)t=i.msToUtcMoment(c.renderUnzonedRange.startMs).time(d),e=r.isInt(r.divideDurationByDuration(h,this.labelInterval)),l='<td class=\"fc-axis fc-time '+o.getClass(\"widgetContent\")+'\" '+n.axisStyleAttr()+\">\"+(e?\"<span>\"+r.htmlEscape(t.format(this.labelFormat))+\"</span>\":\"\")+\"</td>\",u+='<tr data-time=\"'+t.format(\"HH:mm:ss\")+'\"'+(e?\"\":' class=\"fc-minor\"')+\">\"+(s?\"\":l)+'<td class=\"'+o.getClass(\"widgetContent\")+'\"/>'+(s?l:\"\")+\"</tr>\",d.add(this.slotDuration),h.add(this.slotDuration);return u},e.prototype.renderColumns=function(){var t=this.dateProfile,e=this.view.calendar.theme;this.dayRanges=this.dayDates.map(function(e){return new h.default(e.clone().add(t.minTime),e.clone().add(t.maxTime))}),this.headContainerEl&&this.headContainerEl.html(this.renderHeadHtml()),this.el.find(\"> .fc-bg\").html('<table class=\"'+e.getClass(\"tableGrid\")+'\">'+this.renderBgTrHtml(0)+\"</table>\"),this.colEls=this.el.find(\".fc-day, .fc-disabled-day\"),this.colCoordCache=new d.default({els:this.colEls,isHorizontal:!0}),this.renderContentSkeleton()},e.prototype.unrenderColumns=function(){this.unrenderContentSkeleton()},e.prototype.renderContentSkeleton=function(){var t,e,l=\"\";for(t=0;t<this.colCnt;t++)l+='<td><div class=\"fc-content-col\"><div class=\"fc-event-container fc-helper-container\"></div><div class=\"fc-event-container\"></div><div class=\"fc-highlight-container\"></div><div class=\"fc-bgevent-container\"></div><div class=\"fc-business-container\"></div></div></td>';e=this.contentSkeletonEl=i('<div class=\"fc-content-skeleton\"><table><tr>'+l+\"</tr></table></div>\"),this.colContainerEls=e.find(\".fc-content-col\"),this.helperContainerEls=e.find(\".fc-helper-container\"),this.fgContainerEls=e.find(\".fc-event-container:not(.fc-helper-container)\"),this.bgContainerEls=e.find(\".fc-bgevent-container\"),this.highlightContainerEls=e.find(\".fc-highlight-container\"),this.businessContainerEls=e.find(\".fc-business-container\"),this.bookendCells(e.find(\"tr\")),this.el.append(e)},e.prototype.unrenderContentSkeleton=function(){this.contentSkeletonEl&&(this.contentSkeletonEl.remove(),this.contentSkeletonEl=null,this.colContainerEls=null,this.helperContainerEls=null,this.fgContainerEls=null,this.bgContainerEls=null,this.highlightContainerEls=null,this.businessContainerEls=null)},e.prototype.groupSegsByCol=function(t){var e,l=[];for(e=0;e<this.colCnt;e++)l.push([]);for(e=0;e<t.length;e++)l[t[e].col].push(t[e]);return l},e.prototype.attachSegsByCol=function(t,e){var l,n,i;for(l=0;l<this.colCnt;l++)for(n=t[l],i=0;i<n.length;i++)e.eq(l).append(n[i].el)},e.prototype.getNowIndicatorUnit=function(){return\"minute\"},e.prototype.renderNowIndicator=function(t){if(this.colContainerEls){var e,l=this.componentFootprintToSegs(new f.default(new h.default(t,t.valueOf()+1),!1)),n=this.computeDateTop(t,t),a=[];for(e=0;e<l.length;e++)a.push(i('<div class=\"fc-now-indicator fc-now-indicator-line\"></div>').css(\"top\",n).appendTo(this.colContainerEls.eq(l[e].col))[0]);l.length>0&&a.push(i('<div class=\"fc-now-indicator fc-now-indicator-arrow\"></div>').css(\"top\",n).appendTo(this.el.find(\".fc-content-skeleton\"))[0]),this.nowIndicatorEls=i(a)}},e.prototype.unrenderNowIndicator=function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},e.prototype.updateSize=function(e,l,n){t.prototype.updateSize.call(this,e,l,n),this.slatCoordCache.build(),n&&this.updateSegVerticals([].concat(this.eventRenderer.getSegs(),this.businessSegs||[]))},e.prototype.getTotalSlatHeight=function(){return this.slatContainerEl.outerHeight()},e.prototype.computeDateTop=function(t,e){return this.computeTimeTop(a.duration(t-e.clone().stripTime()))},e.prototype.computeTimeTop=function(t){var e,l,n=this.slatEls.length,i=(t-this.dateProfile.minTime)/this.slotDuration;return i=Math.max(0,i),i=Math.min(n,i),e=Math.floor(i),l=i-(e=Math.min(e,n-1)),this.slatCoordCache.getTopPosition(e)+this.slatCoordCache.getHeight(e)*l},e.prototype.updateSegVerticals=function(t){this.computeSegVerticals(t),this.assignSegVerticals(t)},e.prototype.computeSegVerticals=function(t){var e,l,n,i=this.opt(\"agendaEventMinHeight\");for(e=0;e<t.length;e++)l=t[e],n=this.dayDates[l.dayIndex],l.top=this.computeDateTop(l.startMs,n),l.bottom=Math.max(l.top+i,this.computeDateTop(l.endMs,n))},e.prototype.assignSegVerticals=function(t){var e,l;for(e=0;e<t.length;e++)(l=t[e]).el.css(this.generateSegVerticalCss(l))},e.prototype.generateSegVerticalCss=function(t){return{top:t.top,bottom:-t.bottom}},e.prototype.prepareHits=function(){this.colCoordCache.build(),this.slatCoordCache.build()},e.prototype.releaseHits=function(){this.colCoordCache.clear()},e.prototype.queryHit=function(t,e){var l=this.snapsPerSlot,n=this.colCoordCache,i=this.slatCoordCache;if(n.isLeftInBounds(t)&&i.isTopInBounds(e)){var a=n.getHorizontalIndex(t),r=i.getVerticalIndex(e);if(null!=a&&null!=r){var o=i.getTopOffset(r),s=i.getHeight(r),c=(e-o)/s,u=Math.floor(c*l),d=o+u/l*s,h=o+(u+1)/l*s;return{col:a,snap:r*l+u,component:this,left:n.getLeftOffset(a),right:n.getRightOffset(a),top:d,bottom:h}}}},e.prototype.getHitFootprint=function(t){var e,l=this.getCellDate(0,t.col),n=this.computeSnapTime(t.snap);return l.time(n),e=l.clone().add(this.snapDuration),new f.default(new h.default(l,e),!1)},e.prototype.computeSnapTime=function(t){return a.duration(this.dateProfile.minTime+this.snapDuration*t)},e.prototype.getHitEl=function(t){return this.colEls.eq(t.col)},e.prototype.renderDrag=function(t,e,l){var n;if(e){if(t.length)return this.helperRenderer.renderEventDraggingFootprints(t,e,l),!0}else for(n=0;n<t.length;n++)this.renderHighlight(t[n].componentFootprint)},e.prototype.unrenderDrag=function(){this.unrenderHighlight(),this.helperRenderer.unrender()},e.prototype.renderEventResize=function(t,e,l){this.helperRenderer.renderEventResizingFootprints(t,e,l)},e.prototype.unrenderEventResize=function(){this.helperRenderer.unrender()},e.prototype.renderSelectionFootprint=function(t){this.opt(\"selectHelper\")?this.helperRenderer.renderComponentFootprint(t):this.renderHighlight(t)},e.prototype.unrenderSelection=function(){this.helperRenderer.unrender(),this.unrenderHighlight()},e}(o.default);e.default=v,v.prototype.eventRendererClass=p.default,v.prototype.businessHourRendererClass=s.default,v.prototype.helperRendererClass=g.default,v.prototype.fillRendererClass=m.default,c.default.mixInto(v),u.default.mixInto(v)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=function(t){function e(e,l){var n=t.call(this,e,l)||this;return n.timeGrid=e,n}return n.__extends(e,t),e.prototype.renderFgSegs=function(t){this.renderFgSegsIntoContainers(t,this.timeGrid.fgContainerEls)},e.prototype.renderFgSegsIntoContainers=function(t,e){var l,n;for(l=this.timeGrid.groupSegsByCol(t),n=0;n<this.timeGrid.colCnt;n++)this.updateFgSegCoords(l[n]);this.timeGrid.attachSegsByCol(l,e)},e.prototype.unrenderFgSegs=function(){this.fgSegs&&this.fgSegs.forEach(function(t){t.el.remove()})},e.prototype.computeEventTimeFormat=function(){return this.opt(\"noMeridiemTimeFormat\")},e.prototype.computeDisplayEventEnd=function(){return!0},e.prototype.fgSegHtml=function(t,e){var l,n,a,r=this.view,o=r.calendar,s=t.footprint.componentFootprint,c=s.isAllDay,u=t.footprint.eventDef,d=r.isEventDefDraggable(u),h=!e&&t.isStart&&r.isEventDefResizableFromStart(u),f=!e&&t.isEnd&&r.isEventDefResizableFromEnd(u),p=this.getSegClasses(t,d,h||f),g=i.cssToStr(this.getSkinCss(u));if(p.unshift(\"fc-time-grid-event\",\"fc-v-event\"),r.isMultiDayRange(s.unzonedRange)){if(t.isStart||t.isEnd){var m=o.msToMoment(t.startMs),b=o.msToMoment(t.endMs);l=this._getTimeText(m,b,c),n=this._getTimeText(m,b,c,\"LT\"),a=this._getTimeText(m,b,c,null,!1)}}else l=this.getTimeText(t.footprint),n=this.getTimeText(t.footprint,\"LT\"),a=this.getTimeText(t.footprint,null,!1);return'<a class=\"'+p.join(\" \")+'\"'+(u.url?' href=\"'+i.htmlEscape(u.url)+'\"':\"\")+(g?' style=\"'+g+'\"':\"\")+'><div class=\"fc-content\">'+(l?'<div class=\"fc-time\" data-start=\"'+i.htmlEscape(a)+'\" data-full=\"'+i.htmlEscape(n)+'\"><span>'+i.htmlEscape(l)+\"</span></div>\":\"\")+(u.title?'<div class=\"fc-title\">'+i.htmlEscape(u.title)+\"</div>\":\"\")+'</div><div class=\"fc-bg\"/>'+(f?'<div class=\"fc-resizer fc-end-resizer\" />':\"\")+\"</a>\"},e.prototype.updateFgSegCoords=function(t){this.timeGrid.computeSegVerticals(t),this.computeFgSegHorizontals(t),this.timeGrid.assignSegVerticals(t),this.assignFgSegHorizontals(t)},e.prototype.computeFgSegHorizontals=function(t){var e,l,n;if(this.sortEventSegs(t),function(t){var e,l,n,i,a;for(e=0;e<t.length;e++)for(l=t[e],n=0;n<l.length;n++)for((i=l[n]).forwardSegs=[],a=e+1;a<t.length;a++)o(i,t[a],i.forwardSegs)}(e=function(t){var e,l,n,i=[];for(e=0;e<t.length;e++){for(l=t[e],n=0;n<i.length&&o(l,i[n]).length;n++);l.level=n,(i[n]||(i[n]=[])).push(l)}return i}(t)),l=e[0]){for(n=0;n<l.length;n++)r(l[n]);for(n=0;n<l.length;n++)this.computeFgSegForwardBack(l[n],0,0)}},e.prototype.computeFgSegForwardBack=function(t,e,l){var n,i=t.forwardSegs;if(void 0===t.forwardCoord)for(i.length?(this.sortForwardSegs(i),this.computeFgSegForwardBack(i[0],e+1,l),t.forwardCoord=i[0].backwardCoord):t.forwardCoord=1,t.backwardCoord=t.forwardCoord-(t.forwardCoord-l)/(e+1),n=0;n<i.length;n++)this.computeFgSegForwardBack(i[n],0,t.forwardCoord)},e.prototype.sortForwardSegs=function(t){t.sort(i.proxy(this,\"compareForwardSegs\"))},e.prototype.compareForwardSegs=function(t,e){return e.forwardPressure-t.forwardPressure||(t.backwardCoord||0)-(e.backwardCoord||0)||this.compareEventSegs(t,e)},e.prototype.assignFgSegHorizontals=function(t){var e,l;for(e=0;e<t.length;e++)(l=t[e]).el.css(this.generateFgSegHorizontalCss(l)),l.footprint.eventDef.title&&l.bottom-l.top<30&&l.el.addClass(\"fc-short\")},e.prototype.generateFgSegHorizontalCss=function(t){var e,l,n=this.opt(\"slotEventOverlap\"),i=t.backwardCoord,a=t.forwardCoord,r=this.timeGrid.generateSegVerticalCss(t),o=this.timeGrid.isRTL;return n&&(a=Math.min(1,i+2*(a-i))),o?(e=1-a,l=i):(e=i,l=1-a),r.zIndex=t.level+1,r.left=100*e+\"%\",r.right=100*l+\"%\",n&&t.forwardPressure&&(r[o?\"marginLeft\":\"marginRight\"]=20),r},e}(l(44).default);function r(t){var e,l,n=t.forwardSegs,i=0;if(void 0===t.forwardPressure){for(e=0;e<n.length;e++)r(l=n[e]),i=Math.max(i,1+l.forwardPressure);t.forwardPressure=i}}function o(t,e,l){void 0===l&&(l=[]);for(var n=0;n<e.length;n++)i=t,a=e[n],i.bottom>a.top&&i.top<a.bottom&&l.push(e[n]);var i,a;return l}e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.renderSegs=function(t,e){var l,n,a,r=[];for(this.eventRenderer.renderFgSegsIntoContainers(t,this.component.helperContainerEls),l=0;l<t.length;l++)n=t[l],e&&e.col===n.col&&(a=e.el,n.el.css({left:a.css(\"left\"),right:a.css(\"right\"),\"margin-left\":a.css(\"margin-left\"),\"margin-right\":a.css(\"margin-right\")})),r.push(n.el[0]);return i(r)},e}(l(63).default);e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.attachSegEls=function(t,e){var l,n=this.component;return\"bgEvent\"===t?l=n.bgContainerEls:\"businessHours\"===t?l=n.businessContainerEls:\"highlight\"===t&&(l=n.highlightContainerEls),n.updateSegVerticals(e),n.attachSegsByCol(n.groupSegsByCol(e),l),e.map(function(t){return t.el[0]})},e}(l(62).default);e.default=i},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=function(t){function e(e,l){var n=t.call(this,e,l)||this;return n.dayGrid=e,n}return n.__extends(e,t),e.prototype.renderBgRanges=function(e){e=i.grep(e,function(t){return t.eventDef.isAllDay()}),t.prototype.renderBgRanges.call(this,e)},e.prototype.renderFgSegs=function(t){var e=this.rowStructs=this.renderSegRows(t);this.dayGrid.rowEls.each(function(t,l){i(l).find(\".fc-content-skeleton > table\").append(e[t].tbodyEl)})},e.prototype.unrenderFgSegs=function(){for(var t,e=this.rowStructs||[];t=e.pop();)t.tbodyEl.remove();this.rowStructs=null},e.prototype.renderSegRows=function(t){var e,l,n=[];for(e=this.groupSegRows(t),l=0;l<e.length;l++)n.push(this.renderSegRow(l,e[l]));return n},e.prototype.renderSegRow=function(t,e){var l,n,a,r,o,s,c,u=this.dayGrid.colCnt,d=this.buildSegLevels(e),h=Math.max(1,d.length),f=i(\"<tbody/>\"),p=[],g=[],m=[];function b(t){for(;a<t;)(c=(m[l-1]||[])[a])?c.attr(\"rowspan\",parseInt(c.attr(\"rowspan\")||1,10)+1):(c=i(\"<td/>\"),r.append(c)),g[l][a]=c,m[l][a]=c,a++}for(l=0;l<h;l++){if(n=d[l],a=0,r=i(\"<tr/>\"),p.push([]),g.push([]),m.push([]),n)for(o=0;o<n.length;o++){for(b((s=n[o]).leftCol),c=i('<td class=\"fc-event-container\"/>').append(s.el),s.leftCol!==s.rightCol?c.attr(\"colspan\",s.rightCol-s.leftCol+1):m[l][a]=c;a<=s.rightCol;)g[l][a]=c,p[l][a]=s,a++;r.append(c)}b(u),this.dayGrid.bookendCells(r),f.append(r)}return{row:t,tbodyEl:f,cellMatrix:g,segMatrix:p,segLevels:d,segs:e}},e.prototype.buildSegLevels=function(t){var e,l,n,i=[];for(this.sortEventSegs(t),e=0;e<t.length;e++){for(l=t[e],n=0;n<i.length&&o(l,i[n]);n++);l.level=n,(i[n]||(i[n]=[])).push(l)}for(n=0;n<i.length;n++)i[n].sort(s);return i},e.prototype.groupSegRows=function(t){var e,l=[];for(e=0;e<this.dayGrid.rowCnt;e++)l.push([]);for(e=0;e<t.length;e++)l[t[e].row].push(t[e]);return l},e.prototype.computeEventTimeFormat=function(){return this.opt(\"extraSmallTimeFormat\")},e.prototype.computeDisplayEventEnd=function(){return 1===this.dayGrid.colCnt},e.prototype.fgSegHtml=function(t,e){var l,n,i=this.view,r=t.footprint.eventDef,o=t.footprint.componentFootprint.isAllDay,s=i.isEventDefDraggable(r),c=!e&&o&&t.isStart&&i.isEventDefResizableFromStart(r),u=!e&&o&&t.isEnd&&i.isEventDefResizableFromEnd(r),d=this.getSegClasses(t,s,c||u),h=a.cssToStr(this.getSkinCss(r)),f=\"\";return d.unshift(\"fc-day-grid-event\",\"fc-h-event\"),t.isStart&&(l=this.getTimeText(t.footprint))&&(f='<span class=\"fc-time\">'+a.htmlEscape(l)+\"</span>\"),n='<span class=\"fc-title\">'+(a.htmlEscape(r.title||\"\")||\"&nbsp;\")+\"</span>\",'<a class=\"'+d.join(\" \")+'\"'+(r.url?' href=\"'+a.htmlEscape(r.url)+'\"':\"\")+(h?' style=\"'+h+'\"':\"\")+'><div class=\"fc-content\">'+(this.dayGrid.isRTL?n+\" \"+f:f+\" \"+n)+\"</div>\"+(c?'<div class=\"fc-resizer fc-start-resizer\" />':\"\")+(u?'<div class=\"fc-resizer fc-end-resizer\" />':\"\")+\"</a>\"},e}(l(44).default);function o(t,e){var l,n;for(l=0;l<e.length;l++)if((n=e[l]).leftCol<=t.rightCol&&n.rightCol>=t.leftCol)return!0;return!1}function s(t,e){return t.leftCol-e.leftCol}e.default=r},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.renderSegs=function(t,e){var l,n=[];return l=this.eventRenderer.renderSegRows(t),this.component.rowEls.each(function(t,a){var r,o,s=i(a),c=i('<div class=\"fc-helper-skeleton\"><table/></div>');e&&e.row===t?o=e.el.position().top:((r=s.find(\".fc-content-skeleton tbody\")).length||(r=s.find(\".fc-content-skeleton table\")),o=r.position().top),c.css(\"top\",o).find(\"table\").append(l[t].tbodyEl),s.append(c),n.push(c[0])}),i(n)},e}(l(63).default);e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.fillSegTag=\"td\",e}return n.__extends(e,t),e.prototype.attachSegEls=function(t,e){var l,n,i,a=[];for(l=0;l<e.length;l++)n=e[l],i=this.renderFillRow(t,n),this.component.rowEls.eq(n.row).append(i),a.push(i[0]);return a},e.prototype.renderFillRow=function(t,e){var l,n,a,r=this.component.colCnt,o=e.leftCol,s=e.rightCol+1;return l=\"businessHours\"===t?\"bgevent\":t.toLowerCase(),a=(n=i('<div class=\"fc-'+l+'-skeleton\"><table><tr/></table></div>')).find(\"tr\"),o>0&&a.append(new Array(o+1).join(\"<td/>\")),a.append(e.el.attr(\"colspan\",s-o)),s<r&&a.append(new Array(r-s+1).join(\"<td/>\")),this.component.bookendCells(a),n},e}(l(62).default);e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(0),a=l(4),r=l(67),o=l(247),s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.setGridHeight=function(t,e){e&&(t*=this.dayGrid.rowCnt/6),a.distributeHeight(this.dayGrid.rowEls,t,!e)},e.prototype.isDateInOtherMonth=function(t,e){return t.month()!==i.utc(e.currentUnzonedRange.startMs).month()},e}(r.default);e.default=s,s.prototype.dateProfileGeneratorClass=o.default},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(68),a=l(5),r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.buildRenderRange=function(e,l,n){var i,r=t.prototype.buildRenderRange.call(this,e,l,n),o=this.msToUtcMoment(r.startMs,n),s=this.msToUtcMoment(r.endMs,n);return this.opt(\"fixedWeekCount\")&&(i=Math.ceil(s.diff(o,\"weeks\",!0)),s.add(6-i,\"weeks\")),new a.default(o,s)},e}(i.default);e.default=r},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(5),o=l(43),s=l(41),c=l(249),u=l(250),d=function(t){function e(e,l){var n=t.call(this,e,l)||this;return n.segSelector=\".fc-list-item\",n.scroller=new s.default({overflowX:\"hidden\",overflowY:\"auto\"}),n}return n.__extends(e,t),e.prototype.renderSkeleton=function(){this.el.addClass(\"fc-list-view \"+this.calendar.theme.getClass(\"listView\")),this.scroller.render(),this.scroller.el.appendTo(this.el),this.contentEl=this.scroller.scrollEl},e.prototype.unrenderSkeleton=function(){this.scroller.destroy()},e.prototype.updateSize=function(e,l,n){t.prototype.updateSize.call(this,e,l,n),this.scroller.clear(),l||this.scroller.setHeight(this.computeScrollerHeight(e))},e.prototype.computeScrollerHeight=function(t){return t-a.subtractInnerElHeight(this.el,this.scroller.el)},e.prototype.renderDates=function(t){for(var e=this.calendar,l=e.msToUtcMoment(t.renderUnzonedRange.startMs,!0),n=e.msToUtcMoment(t.renderUnzonedRange.endMs,!0),i=[],a=[];l<n;)i.push(l.clone()),a.push(new r.default(l,l.clone().add(1,\"day\"))),l.add(1,\"day\");this.dayDates=i,this.dayRanges=a},e.prototype.componentFootprintToSegs=function(t){var e,l,n,i=this.dayRanges,a=[];for(e=0;e<i.length;e++)if((l=t.unzonedRange.intersect(i[e]))&&(n={startMs:l.startMs,endMs:l.endMs,isStart:l.isStart,isEnd:l.isEnd,dayIndex:e},a.push(n),!n.isEnd&&!t.isAllDay&&e+1<i.length&&t.unzonedRange.endMs<i[e+1].startMs+this.nextDayThreshold)){n.endMs=t.unzonedRange.endMs,n.isEnd=!0;break}return a},e.prototype.renderEmptyMessage=function(){this.contentEl.html('<div class=\"fc-list-empty-wrap2\"><div class=\"fc-list-empty-wrap1\"><div class=\"fc-list-empty\">'+a.htmlEscape(this.opt(\"noEventsMessage\"))+\"</div></div></div>\")},e.prototype.renderSegList=function(t){var e,l,n,a=this.groupSegsByDay(t),r=i('<table class=\"fc-list-table '+this.calendar.theme.getClass(\"tableList\")+'\"><tbody/></table>'),o=r.find(\"tbody\");for(e=0;e<a.length;e++)if(l=a[e])for(o.append(this.dayHeaderHtml(this.dayDates[e])),this.eventRenderer.sortEventSegs(l),n=0;n<l.length;n++)o.append(l[n].el);this.contentEl.empty().append(r)},e.prototype.groupSegsByDay=function(t){var e,l,n=[];for(e=0;e<t.length;e++)(n[(l=t[e]).dayIndex]||(n[l.dayIndex]=[])).push(l);return n},e.prototype.dayHeaderHtml=function(t){var e=this.opt(\"listDayFormat\"),l=this.opt(\"listDayAltFormat\");return'<tr class=\"fc-list-heading\" data-date=\"'+t.format(\"YYYY-MM-DD\")+'\"><td class=\"'+(this.calendar.theme.getClass(\"tableListHeading\")||this.calendar.theme.getClass(\"widgetHeader\"))+'\" colspan=\"3\">'+(e?this.buildGotoAnchorHtml(t,{class:\"fc-list-heading-main\"},a.htmlEscape(t.format(e))):\"\")+(l?this.buildGotoAnchorHtml(t,{class:\"fc-list-heading-alt\"},a.htmlEscape(t.format(l))):\"\")+\"</td></tr>\"},e}(o.default);e.default=d,d.prototype.eventRendererClass=c.default,d.prototype.eventPointingClass=u.default},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(4),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.renderFgSegs=function(t){t.length?this.component.renderSegList(t):this.component.renderEmptyMessage()},e.prototype.fgSegHtml=function(t){var e,l=this.view,n=l.calendar,a=n.theme,r=t.footprint,o=r.eventDef,s=r.componentFootprint,c=o.url,u=[\"fc-list-item\"].concat(this.getClasses(o)),d=this.getBgColor(o);return e=s.isAllDay?l.getAllDayHtml():l.isMultiDayRange(s.unzonedRange)?t.isStart||t.isEnd?i.htmlEscape(this._getTimeText(n.msToMoment(t.startMs),n.msToMoment(t.endMs),s.isAllDay)):l.getAllDayHtml():i.htmlEscape(this.getTimeText(r)),c&&u.push(\"fc-has-url\"),'<tr class=\"'+u.join(\" \")+'\">'+(this.displayEventTime?'<td class=\"fc-list-item-time '+a.getClass(\"widgetContent\")+'\">'+(e||\"\")+\"</td>\":\"\")+'<td class=\"fc-list-item-marker '+a.getClass(\"widgetContent\")+'\"><span class=\"fc-event-dot\"'+(d?' style=\"background-color:'+d+'\"':\"\")+'></span></td><td class=\"fc-list-item-title '+a.getClass(\"widgetContent\")+'\"><a'+(c?' href=\"'+i.htmlEscape(c)+'\"':\"\")+\">\"+i.htmlEscape(o.title||\"\")+\"</a></td></tr>\"},e.prototype.computeEventTimeFormat=function(){return this.opt(\"mediumTimeFormat\")},e}(l(44).default);e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e.prototype.handleClick=function(e,l){var n;t.prototype.handleClick.call(this,e,l),i(l.target).closest(\"a[href]\").length||(n=e.footprint.eventDef.url)&&!l.isDefaultPrevented()&&(window.location.href=n)},e}(l(64).default);e.default=a},,,,,,function(t,e,l){var n=l(3),i=l(18),a=l(4),r=l(232);l(11),l(49),l(260),l(261),l(264),l(265),l(266),l(267),n.fullCalendar=i,n.fn.fullCalendar=function(t){var e=Array.prototype.slice.call(arguments,1),l=this;return this.each(function(i,o){var s,c=n(o),u=c.data(\"fullCalendar\");\"string\"==typeof t?\"getCalendar\"===t?i||(l=u):\"destroy\"===t?u&&(u.destroy(),c.removeData(\"fullCalendar\")):u?n.isFunction(u[t])?(s=u[t].apply(u,e),i||(l=s),\"destroy\"===t&&c.removeData(\"fullCalendar\")):a.warn(\"'\"+t+\"' is an unknown FullCalendar method.\"):a.warn(\"Attempting to call a FullCalendar method on an element with no calendar.\"):u||(u=new r.default(c,t),c.data(\"fullCalendar\",u),u.render())}),l},t.exports=i},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(3),i=l(4),a=function(){function t(t,e){this.el=null,this.viewsWithButtons=[],this.calendar=t,this.toolbarOptions=e}return t.prototype.setToolbarOptions=function(t){this.toolbarOptions=t},t.prototype.render=function(){var t=this.toolbarOptions.layout,e=this.el;t?(e?e.empty():e=this.el=n(\"<div class='fc-toolbar \"+this.toolbarOptions.extraClasses+\"'/>\"),e.append(this.renderSection(\"left\")).append(this.renderSection(\"right\")).append(this.renderSection(\"center\")).append('<div class=\"fc-clear\"/>')):this.removeElement()},t.prototype.removeElement=function(){this.el&&(this.el.remove(),this.el=null)},t.prototype.renderSection=function(t){var e=this,l=this.calendar,a=l.theme,r=l.optionsManager,o=l.viewSpecManager,s=n('<div class=\"fc-'+t+'\"/>'),c=this.toolbarOptions.layout[t],u=r.get(\"customButtons\")||{},d=r.overrides.buttonText||{},h=r.get(\"buttonText\")||{};return c&&n.each(c.split(\" \"),function(t,r){var c,f=n(),p=!0;n.each(r.split(\",\"),function(t,r){var s,c,g,m,b,v,y,x,_;\"title\"===r?(f=f.add(n(\"<h2>&nbsp;</h2>\")),p=!1):((s=u[r])?(g=function(t){s.click&&s.click.call(x[0],t)},(m=a.getCustomButtonIconClass(s))||(m=a.getIconClass(r))||(b=s.text)):(c=o.getViewSpec(r))?(e.viewsWithButtons.push(r),g=function(){l.changeView(r)},(b=c.buttonTextOverride)||(m=a.getIconClass(r))||(b=c.buttonTextDefault)):l[r]&&(g=function(){l[r]()},(b=d[r])||(m=a.getIconClass(r))||(b=h[r])),g&&(y=[\"fc-\"+r+\"-button\",a.getClass(\"button\"),a.getClass(\"stateDefault\")],b?(v=i.htmlEscape(b),_=\"\"):m&&(v=\"<span class='\"+m+\"'></span>\",_=' aria-label=\"'+r+'\"'),x=n('<button type=\"button\" class=\"'+y.join(\" \")+'\"'+_+\">\"+v+\"</button>\").click(function(t){x.hasClass(a.getClass(\"stateDisabled\"))||(g(t),(x.hasClass(a.getClass(\"stateActive\"))||x.hasClass(a.getClass(\"stateDisabled\")))&&x.removeClass(a.getClass(\"stateHover\")))}).mousedown(function(){x.not(\".\"+a.getClass(\"stateActive\")).not(\".\"+a.getClass(\"stateDisabled\")).addClass(a.getClass(\"stateDown\"))}).mouseup(function(){x.removeClass(a.getClass(\"stateDown\"))}).hover(function(){x.not(\".\"+a.getClass(\"stateActive\")).not(\".\"+a.getClass(\"stateDisabled\")).addClass(a.getClass(\"stateHover\"))},function(){x.removeClass(a.getClass(\"stateHover\")).removeClass(a.getClass(\"stateDown\"))}),f=f.add(x)))}),p&&f.first().addClass(a.getClass(\"cornerLeft\")).end().last().addClass(a.getClass(\"cornerRight\")).end(),f.length>1?(c=n(\"<div/>\"),p&&c.addClass(a.getClass(\"buttonGroup\")),c.append(f),s.append(c)):s.append(f)}),s},t.prototype.updateTitle=function(t){this.el&&this.el.find(\"h2\").text(t)},t.prototype.activateButton=function(t){this.el&&this.el.find(\".fc-\"+t+\"-button\").addClass(this.calendar.theme.getClass(\"stateActive\"))},t.prototype.deactivateButton=function(t){this.el&&this.el.find(\".fc-\"+t+\"-button\").removeClass(this.calendar.theme.getClass(\"stateActive\"))},t.prototype.disableButton=function(t){this.el&&this.el.find(\".fc-\"+t+\"-button\").prop(\"disabled\",!0).addClass(this.calendar.theme.getClass(\"stateDisabled\"))},t.prototype.enableButton=function(t){this.el&&this.el.find(\".fc-\"+t+\"-button\").prop(\"disabled\",!1).removeClass(this.calendar.theme.getClass(\"stateDisabled\"))},t.prototype.getViewsWithButtons=function(){return this.viewsWithButtons},t}();e.default=a},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=l(3),a=l(4),r=l(33),o=l(32),s=function(t){function e(e,l){var n=t.call(this)||this;return n._calendar=e,n.overrides=i.extend({},l),n.dynamicOverrides={},n.compute(),n}return n.__extends(e,t),e.prototype.add=function(t){var e,l=0;for(e in this.recordOverrides(t),t)l++;if(1===l){if(\"height\"===e||\"contentHeight\"===e||\"aspectRatio\"===e)return void this._calendar.updateViewSize(!0);if(\"defaultDate\"===e)return;if(\"businessHours\"===e)return;if(/^(event|select)(Overlap|Constraint|Allow)$/.test(e))return;if(\"timezone\"===e)return void this._calendar.view.flash(\"initialEvents\")}this._calendar.renderHeader(),this._calendar.renderFooter(),this._calendar.viewsByType={},this._calendar.reinitView()},e.prototype.compute=function(){var t,e,l,n;t=a.firstDefined(this.dynamicOverrides.locale,this.overrides.locale),(e=o.localeOptionHash[t])||(t=r.globalDefaults.locale,e=o.localeOptionHash[t]||{}),l=a.firstDefined(this.dynamicOverrides.isRTL,this.overrides.isRTL,e.isRTL,r.globalDefaults.isRTL)?r.rtlDefaults:{},this.dirDefaults=l,this.localeDefaults=e,n=r.mergeOptions([r.globalDefaults,l,e,this.overrides,this.dynamicOverrides]),o.populateInstanceComputableOptions(n),this.reset(n)},e.prototype.recordOverrides=function(t){var e;for(e in t)this.dynamicOverrides[e]=t[e];this._calendar.viewSpecManager.clearCache(),this.compute()},e}(l(51).default);e.default=s},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(0),i=l(3),a=l(24),r=l(4),o=l(33),s=l(32),c=function(){function t(t,e){this.optionsManager=t,this._calendar=e,this.clearCache()}return t.prototype.clearCache=function(){this.viewSpecCache={}},t.prototype.getViewSpec=function(t){var e=this.viewSpecCache;return e[t]||(e[t]=this.buildViewSpec(t))},t.prototype.getUnitViewSpec=function(t){var e,l,n;if(-1!==i.inArray(t,r.unitsDesc))for(e=this._calendar.header.getViewsWithButtons(),i.each(a.viewHash,function(t){e.push(t)}),l=0;l<e.length;l++)if((n=this.getViewSpec(e[l]))&&n.singleUnit===t)return n},t.prototype.buildViewSpec=function(t){for(var e,l,i,s,c,u=this.optionsManager.overrides.views||{},d=[],h=[],f=[],p=t;p;)e=a.viewHash[p],l=u[p],p=null,\"function\"==typeof e&&(e={class:e}),e&&(d.unshift(e),h.unshift(e.defaults||{}),i=i||e.duration,p=p||e.type),l&&(f.unshift(l),i=i||l.duration,p=p||l.type);return(e=r.mergeProps(d)).type=t,!!e.class&&((i=i||this.optionsManager.dynamicOverrides.duration||this.optionsManager.overrides.duration)&&(s=n.duration(i)).valueOf()&&(c=r.computeDurationGreatestUnit(s,i),e.duration=s,e.durationUnit=c,1===s.as(c)&&(e.singleUnit=c,f.unshift(u[c]||{}))),e.defaults=o.mergeOptions(h),e.overrides=o.mergeOptions(f),this.buildViewSpecOptions(e),this.buildViewSpecButtonText(e,t),e)},t.prototype.buildViewSpecOptions=function(t){var e=this.optionsManager;t.options=o.mergeOptions([o.globalDefaults,t.defaults,e.dirDefaults,e.localeDefaults,e.overrides,t.overrides,e.dynamicOverrides]),s.populateInstanceComputableOptions(t.options)},t.prototype.buildViewSpecButtonText=function(t,e){var l=this.optionsManager;function n(l){var n=l.buttonText||{};return n[e]||(t.buttonTextKey?n[t.buttonTextKey]:null)||(t.singleUnit?n[t.singleUnit]:null)}t.buttonTextOverride=n(l.dynamicOverrides)||n(l.overrides)||t.overrides.buttonText,t.buttonTextDefault=n(l.localeDefaults)||n(l.dirDefaults)||t.defaults.buttonText||n(o.globalDefaults)||(t.duration?this._calendar.humanizeDuration(t.duration):null)||e},t}();e.default=c},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(38),i=l(56),a=l(223),r=l(224);n.default.registerClass(i.default),n.default.registerClass(a.default),n.default.registerClass(r.default)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(57),i=l(221),a=l(222),r=l(262),o=l(263);n.defineThemeSystem(\"standard\",i.default),n.defineThemeSystem(\"jquery-ui\",a.default),n.defineThemeSystem(\"bootstrap3\",r.default),n.defineThemeSystem(\"bootstrap4\",o.default)},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(l(22).default);e.default=i,i.prototype.classes={widget:\"fc-bootstrap3\",tableGrid:\"table-bordered\",tableList:\"table\",tableListHeading:\"active\",buttonGroup:\"btn-group\",button:\"btn btn-default\",stateActive:\"active\",stateDisabled:\"disabled\",today:\"alert alert-info\",popover:\"panel panel-default\",popoverHeader:\"panel-heading\",popoverContent:\"panel-body\",headerRow:\"panel-default\",dayRow:\"panel-default\",listView:\"panel panel-default\"},i.prototype.baseIconClass=\"glyphicon\",i.prototype.iconClasses={close:\"glyphicon-remove\",prev:\"glyphicon-chevron-left\",next:\"glyphicon-chevron-right\",prevYear:\"glyphicon-backward\",nextYear:\"glyphicon-forward\"},i.prototype.iconOverrideOption=\"bootstrapGlyphicons\",i.prototype.iconOverrideCustomButtonOption=\"bootstrapGlyphicon\",i.prototype.iconOverridePrefix=\"glyphicon-\"},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(2),i=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n.__extends(e,t),e}(l(22).default);e.default=i,i.prototype.classes={widget:\"fc-bootstrap4\",tableGrid:\"table-bordered\",tableList:\"table\",tableListHeading:\"table-active\",buttonGroup:\"btn-group\",button:\"btn btn-primary\",stateActive:\"active\",stateDisabled:\"disabled\",today:\"alert alert-info\",popover:\"card card-primary\",popoverHeader:\"card-header\",popoverContent:\"card-body\",headerRow:\"table-bordered\",dayRow:\"table-bordered\",listView:\"card card-primary\"},i.prototype.baseIconClass=\"fa\",i.prototype.iconClasses={close:\"fa-times\",prev:\"fa-chevron-left\",next:\"fa-chevron-right\",prevYear:\"fa-angle-double-left\",nextYear:\"fa-angle-double-right\"},i.prototype.iconOverrideOption=\"bootstrapFontAwesome\",i.prototype.iconOverrideCustomButtonOption=\"bootstrapFontAwesome\",i.prototype.iconOverridePrefix=\"fa-\"},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(24),i=l(67),a=l(246);n.defineView(\"basic\",{class:i.default}),n.defineView(\"basicDay\",{type:\"basic\",duration:{days:1}}),n.defineView(\"basicWeek\",{type:\"basic\",duration:{weeks:1}}),n.defineView(\"month\",{class:a.default,duration:{months:1},defaults:{fixedWeekCount:!0}})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(24),i=l(238);n.defineView(\"agenda\",{class:i.default,defaults:{allDaySlot:!0,slotDuration:\"00:30:00\",slotEventOverlap:!0}}),n.defineView(\"agendaDay\",{type:\"agenda\",duration:{days:1}}),n.defineView(\"agendaWeek\",{type:\"agenda\",duration:{weeks:1}})},function(t,e,l){Object.defineProperty(e,\"__esModule\",{value:!0});var n=l(24),i=l(248);n.defineView(\"list\",{class:i.default,buttonTextKey:\"list\",defaults:{buttonText:\"list\",listDayFormat:\"LL\",noEventsMessage:\"No events to display\"}}),n.defineView(\"listDay\",{type:\"list\",duration:{days:1},defaults:{listDayFormat:\"dddd\"}}),n.defineView(\"listWeek\",{type:\"list\",duration:{weeks:1},defaults:{listDayFormat:\"dddd\",listDayAltFormat:\"LL\"}}),n.defineView(\"listMonth\",{type:\"list\",duration:{month:1},defaults:{listDayAltFormat:\"dddd\"}}),n.defineView(\"listYear\",{type:\"list\",duration:{year:1},defaults:{listDayAltFormat:\"dddd\"}})},function(t,e){Object.defineProperty(e,\"__esModule\",{value:!0})}])},t.exports=n(l(23),l(1))},function(t,e,l){!function(t){var e=t.Markdown=function(t){switch(typeof t){case\"undefined\":this.dialect=e.dialects.Gruber;break;case\"object\":this.dialect=t;break;default:if(!(t in e.dialects))throw new Error(\"Unknown Markdown dialect '\"+String(t)+\"'\");this.dialect=e.dialects[t]}this.em_state=[],this.strong_state=[],this.debug_indent=\"\"};function n(){return\"Markdown.mk_block( \"+uneval(this.toString())+\", \"+uneval(this.trailing)+\", \"+uneval(this.lineNumber)+\" )\"}function i(){var t=l(78);return\"Markdown.mk_block( \"+t.inspect(this.toString())+\", \"+t.inspect(this.trailing)+\", \"+t.inspect(this.lineNumber)+\" )\"}t.parse=function(t,l){return new e(l).toTree(t)},t.toHTML=function(e,l,n){var i=t.toHTMLTree(e,l,n);return t.renderJsonML(i)},t.toHTMLTree=function(t,e,l){\"string\"==typeof t&&(t=this.parse(t,e));var n=h(t),i={};n&&n.references&&(i=n.references);var a=function t(e,l,n){var i;n=n||{};var a=e.slice(0);\"function\"==typeof n.preprocessTreeNode&&(a=n.preprocessTreeNode(a,l));var r=h(a);if(r){for(i in a[1]={},r)a[1][i]=r[i];r=a[1]}if(\"string\"==typeof a)return a;switch(a[0]){case\"header\":a[0]=\"h\"+a[1].level,delete a[1].level;break;case\"bulletlist\":a[0]=\"ul\";break;case\"numberlist\":a[0]=\"ol\";break;case\"listitem\":a[0]=\"li\";break;case\"para\":a[0]=\"p\";break;case\"markdown\":a[0]=\"html\",r&&delete r.references;break;case\"code_block\":a[0]=\"pre\",i=r?2:1;var o=[\"code\"];o.push.apply(o,a.splice(i,a.length-i)),a[i]=o;break;case\"inlinecode\":a[0]=\"code\";break;case\"img\":a[1].src=a[1].href,delete a[1].href;break;case\"linebreak\":a[0]=\"br\";break;case\"link\":a[0]=\"a\";break;case\"link_ref\":a[0]=\"a\";var s=l[r.ref];if(!s)return r.original;delete r.ref,r.href=s.href,s.title&&(r.title=s.title),delete r.original;break;case\"img_ref\":a[0]=\"img\";var s=l[r.ref];if(!s)return r.original;delete r.ref,r.src=s.href,s.title&&(r.title=s.title),delete r.original}i=1;if(r){for(var c in a[1]){i=2;break}1===i&&a.splice(i,1)}for(;i<a.length;++i)a[i]=t(a[i],l,n);return a}(t,i,l);return function t(e){var l=h(e)?2:1;for(;l<e.length;)\"string\"==typeof e[l]?l+1<e.length&&\"string\"==typeof e[l+1]?e[l]+=e.splice(l+1,1)[0]:++l:(t(e[l]),++l)}(a),a};var r=e.mk_block=function(t,e,l){1==arguments.length&&(e=\"\\n\\n\");var a=new String(t);return a.trailing=e,a.inspect=i,a.toSource=n,null!=l&&(a.lineNumber=l),a};function o(t){for(var e=0,l=-1;-1!==(l=t.indexOf(\"\\n\",l+1));)e++;return e}function s(t,e){var l=t+\"_state\",n=\"strong\"==t?\"em_state\":\"strong_state\";function i(t){this.len_after=t,this.name=\"close_\"+e}return function(a,r){if(this[l][0]==e)return this[l].shift(),[a.length,new i(a.length-e.length)];var o=this[n].slice(),s=this[l].slice();this[l].unshift(e);var c=this.processInline(a.substr(e.length)),u=c[c.length-1];this[l].shift();return u instanceof i?(c.pop(),[a.length-u.len_after,[t].concat(c)]):(this[n]=o,this[l]=s,[e.length,e])}}e.prototype.split_blocks=function(t,e){t=t.replace(/(\\r\\n|\\n|\\r)/g,\"\\n\");var l,n=/([\\s\\S]+?)($|\\n#|\\n(?:\\s*\\n|$)+)/g,i=[],a=1;for(null!=(l=/^(\\s*\\n)/.exec(t))&&(a+=o(l[0]),n.lastIndex=l[0].length);null!==(l=n.exec(t));)\"\\n#\"==l[2]&&(l[2]=\"\\n\",n.lastIndex--),i.push(r(l[1],l[2],a)),a+=o(l[0]);return i},e.prototype.processBlock=function(t,e){var l=this.dialect.block,n=l.__order__;if(\"__call__\"in l)return l.__call__.call(this,t,e);for(var i=0;i<n.length;i++){var a=l[n[i]].call(this,t,e);if(a)return(!u(a)||a.length>0&&!u(a[0]))&&this.debug(n[i],\"didn't return a proper array\"),a}return[]},e.prototype.processInline=function(t){return this.dialect.inline.__call__.call(this,String(t))},e.prototype.toTree=function(t,e){var l=t instanceof Array?t:this.split_blocks(t),n=this.tree;try{for(this.tree=e||this.tree||[\"markdown\"];l.length;){var i=this.processBlock(l.shift(),l);i.length&&this.tree.push.apply(this.tree,i)}return this.tree}finally{e&&(this.tree=n)}},e.prototype.debug=function(){var t=Array.prototype.slice.call(arguments);t.unshift(this.debug_indent),\"undefined\"!=typeof print&&print.apply(print,t),\"undefined\"!=typeof console&&void 0!==console.log&&console.log.apply(null,t)},e.prototype.loop_re_over_block=function(t,e,l){for(var n,i=e.valueOf();i.length&&null!=(n=t.exec(i));)i=i.substr(n[0].length),l.call(this,n);return i},e.dialects={},e.dialects.Gruber={block:{atxHeader:function(t,e){var l=t.match(/^(#{1,6})\\s*(.*?)\\s*#*\\s*(?:\\n|$)/);if(l){var n=[\"header\",{level:l[1].length}];return Array.prototype.push.apply(n,this.processInline(l[2])),l[0].length<t.length&&e.unshift(r(t.substr(l[0].length),t.trailing,t.lineNumber+2)),[n]}},setextHeader:function(t,e){var l=t.match(/^(.*)\\n([-=])\\2\\2+(?:\\n|$)/);if(l){var n=[\"header\",{level:\"=\"===l[2]?1:2},l[1]];return l[0].length<t.length&&e.unshift(r(t.substr(l[0].length),t.trailing,t.lineNumber+2)),[n]}},code:function(t,e){var l=[],n=/^(?: {0,3}\\t| {4})(.*)\\n?/;if(t.match(n)){t:for(;;){var i=this.loop_re_over_block(n,t.valueOf(),function(t){l.push(t[1])});if(i.length){e.unshift(r(i,t.trailing));break t}if(!e.length)break t;if(!e[0].match(n))break t;l.push(t.trailing.replace(/[^\\n]/g,\"\").substring(2)),t=e.shift()}return[[\"code_block\",l.join(\"\\n\")]]}},horizRule:function(t,e){var l=t.match(/^(?:([\\s\\S]*?)\\n)?[ \\t]*([-_*])(?:[ \\t]*\\2){2,}[ \\t]*(?:\\n([\\s\\S]*))?$/);if(l){var n=[[\"hr\"]];return l[1]&&n.unshift.apply(n,this.processBlock(l[1],[])),l[3]&&e.unshift(r(l[3])),n}},lists:function(){var t=\"[*+-]|\\\\d+\\\\.\",e=/[*+-]/,l=new RegExp(\"^( {0,3})(\"+t+\")[ \\t]+\"),n=\"(?: {0,3}\\\\t| {4})\";function i(t,e,l,n){if(e)t.push([\"para\"].concat(l));else{var i=t[t.length-1]instanceof Array&&\"para\"==t[t.length-1][0]?t[t.length-1]:t;n&&t.length>1&&l.unshift(n);for(var a=0;a<l.length;a++){var r=l[a];\"string\"==typeof r&&i.length>1&&\"string\"==typeof i[i.length-1]?i[i.length-1]+=r:i.push(r)}}}function a(t,e){for(var l=new RegExp(\"^(\"+n+\"{\"+t+\"}.*?\\\\n?)*$\"),i=new RegExp(\"^\"+n+\"{\"+t+\"}\",\"gm\"),a=[];e.length>0&&l.exec(e[0]);){var o=e.shift(),s=o.replace(i,\"\");a.push(r(s,o.trailing,o.lineNumber))}return a}function o(t,e,l){var n=t.list,i=n[n.length-1];if(!(i[1]instanceof Array&&\"para\"==i[1][0]))if(e+1==l.length)i.push([\"para\"].concat(i.splice(1,i.length-1)));else{var a=i.pop();i.push([\"para\"].concat(i.splice(1,i.length-1)),a)}}return function(r,s){var u=r.match(l);if(u){for(var d,h,f,p=[],g=A(u),m=!1,b=[p[0].list];;){for(var v=r.split(/(?=\\n)/),y=\"\",x=0;x<v.length;x++){var _=\"\",w=v[x].replace(/^\\n/,function(t){return _=t,\"\"}),S=(f=p.length,new RegExp(\"(?:^(\"+n+\"{0,\"+f+\"} {0,3})(\"+t+\")\\\\s+)|(^\"+n+\"{0,\"+(f-1)+\"}[ ]{0,4})\"));if(void 0!==(u=w.match(S))[1]){y.length&&(i(d,m,this.processInline(y),_),m=!1,y=\"\"),u[1]=u[1].replace(/ {0,3}\\t/g,\"    \");var k=Math.floor(u[1].length/4)+1;if(k>p.length)g=A(u),d.push(g),d=g[1]=[\"listitem\"];else{var C=!1;for(h=0;h<p.length;h++)if(p[h].indent==u[1]){g=p[h].list,p.splice(h+1,p.length-(h+1)),C=!0;break}C||(++k<=p.length?(p.splice(k,p.length-k),g=p[k-1].list):(g=A(u),d.push(g))),d=[\"listitem\"],g.push(d)}_=\"\"}w.length>u[0].length&&(y+=_+w.substr(u[0].length))}y.length&&(i(d,m,this.processInline(y),_),m=!1,y=\"\");var T=a(p.length,s);T.length>0&&(c(p,o,this),d.push.apply(d,this.toTree(T,[])));var D=s[0]&&s[0].valueOf()||\"\";if(!D.match(l)&&!D.match(/^ /))break;r=s.shift();var M=this.dialect.block.horizRule(r,s);if(M){b.push.apply(b,M);break}c(p,o,this),m=!0}return b}function A(t){var l=e.exec(t[2])?[\"bulletlist\"]:[\"numberlist\"];return p.push({list:l,indent:t[1]}),l}}}(),blockquote:function(t,e){if(t.match(/^>/m)){var l=[];if(\">\"!=t[0]){for(var n=t.split(/\\n/),i=[],a=t.lineNumber;n.length&&\">\"!=n[0][0];)i.push(n.shift()),a++;var o=r(i.join(\"\\n\"),\"\\n\",t.lineNumber);l.push.apply(l,this.processBlock(o,[])),t=r(n.join(\"\\n\"),t.trailing,a)}for(;e.length&&\">\"==e[0][0];){var s=e.shift();t=r(t+t.trailing+s,s.trailing,t.lineNumber)}var c=t.replace(/^> ?/gm,\"\"),u=(this.tree,this.toTree(c,[\"blockquote\"])),f=h(u);return f&&f.references&&(delete f.references,d(f)&&u.splice(1,1)),l.push(u),l}},referenceDefn:function(t,e){var l=/^\\s*\\[(.*?)\\]:\\s*(\\S+)(?:\\s+(?:(['\"])(.*?)\\3|\\((.*?)\\)))?\\n?/;if(t.match(l)){h(this.tree)||this.tree.splice(1,0,{});var n=h(this.tree);void 0===n.references&&(n.references={});var i=this.loop_re_over_block(l,t,function(t){t[2]&&\"<\"==t[2][0]&&\">\"==t[2][t[2].length-1]&&(t[2]=t[2].substring(1,t[2].length-1));var e=n.references[t[1].toLowerCase()]={href:t[2]};void 0!==t[4]?e.title=t[4]:void 0!==t[5]&&(e.title=t[5])});return i.length&&e.unshift(r(i,t.trailing)),[]}},para:function(t,e){return[[\"para\"].concat(this.processInline(t))]}}},e.dialects.Gruber.inline={__oneElement__:function(t,e,l){var n,i;return e=e||this.dialect.inline.__patterns__,(n=new RegExp(\"([\\\\s\\\\S]*?)(\"+(e.source||e)+\")\").exec(t))?n[1]?[n[1].length,n[1]]:(n[2]in this.dialect.inline&&(i=this.dialect.inline[n[2]].call(this,t.substr(n.index),n,l||[])),i=i||[n[2].length,n[2]]):[t.length,t]},__call__:function(t,e){var l,n=[];function i(t){\"string\"==typeof t&&\"string\"==typeof n[n.length-1]?n[n.length-1]+=t:n.push(t)}for(;t.length>0;)l=this.dialect.inline.__oneElement__.call(this,t,e,n),t=t.substr(l.shift()),c(l,i);return n},\"]\":function(){},\"}\":function(){},__escape__:/^\\\\[\\\\`\\*_{}\\[\\]()#\\+.!\\-]/,\"\\\\\":function(t){return this.dialect.inline.__escape__.exec(t)?[2,t.charAt(1)]:[1,\"\\\\\"]},\"![\":function(t){var e=t.match(/^!\\[(.*?)\\][ \\t]*\\([ \\t]*([^\")]*?)(?:[ \\t]+([\"'])(.*?)\\3)?[ \\t]*\\)/);if(e){e[2]&&\"<\"==e[2][0]&&\">\"==e[2][e[2].length-1]&&(e[2]=e[2].substring(1,e[2].length-1)),e[2]=this.dialect.inline.__call__.call(this,e[2],/\\\\/)[0];var l={alt:e[1],href:e[2]||\"\"};return void 0!==e[4]&&(l.title=e[4]),[e[0].length,[\"img\",l]]}return(e=t.match(/^!\\[(.*?)\\][ \\t]*\\[(.*?)\\]/))?[e[0].length,[\"img_ref\",{alt:e[1],ref:e[2].toLowerCase(),original:e[0]}]]:[2,\"![\"]},\"[\":function(t){var l=String(t),n=e.DialectHelpers.inline_until_char.call(this,t.substr(1),\"]\");if(!n)return[1,\"[\"];var i,a,r=1+n[0],o=n[1],s=(t=t.substr(r)).match(/^\\s*\\([ \\t]*([^\"']*)(?:[ \\t]+([\"'])(.*?)\\2)?[ \\t]*\\)/);if(s){var c=s[1];if(r+=s[0].length,c&&\"<\"==c[0]&&\">\"==c[c.length-1]&&(c=c.substring(1,c.length-1)),!s[3])for(var u=1,d=0;d<c.length;d++)switch(c[d]){case\"(\":u++;break;case\")\":0==--u&&(r-=c.length-d,c=c.substring(0,d))}return a={href:(c=this.dialect.inline.__call__.call(this,c,/\\\\/)[0])||\"\"},void 0!==s[3]&&(a.title=s[3]),i=[\"link\",a].concat(o),[r,i]}return(s=t.match(/^\\s*\\[(.*?)\\]/))?(r+=s[0].length,i=[\"link_ref\",a={ref:(s[1]||String(o)).toLowerCase(),original:l.substr(0,r)}].concat(o),[r,i]):1==o.length&&\"string\"==typeof o[0]?(i=[\"link_ref\",a={ref:o[0].toLowerCase(),original:l.substr(0,r)},o[0]],[r,i]):[1,\"[\"]},\"<\":function(t){var e;return null!=(e=t.match(/^<(?:((https?|ftp|mailto):[^>]+)|(.*?@.*?\\.[a-zA-Z]+))>/))?e[3]?[e[0].length,[\"link\",{href:\"mailto:\"+e[3]},e[3]]]:\"mailto\"==e[2]?[e[0].length,[\"link\",{href:e[1]},e[1].substr(\"mailto:\".length)]]:[e[0].length,[\"link\",{href:e[1]},e[1]]]:[1,\"<\"]},\"`\":function(t){var e=t.match(/(`+)(([\\s\\S]*?)\\1)/);return e&&e[2]?[e[1].length+e[2].length,[\"inlinecode\",e[3]]]:[1,\"`\"]},\"  \\n\":function(t){return[3,[\"linebreak\"]]}},e.dialects.Gruber.inline[\"**\"]=s(\"strong\",\"**\"),e.dialects.Gruber.inline.__=s(\"strong\",\"__\"),e.dialects.Gruber.inline[\"*\"]=s(\"em\",\"*\"),e.dialects.Gruber.inline._=s(\"em\",\"_\"),e.buildBlockOrder=function(t){var e=[];for(var l in t)\"__order__\"!=l&&\"__call__\"!=l&&e.push(l);t.__order__=e},e.buildInlinePatterns=function(t){var e=[];for(var l in t)if(!l.match(/^__.*__$/)){var n=l.replace(/([\\\\.*+?|()\\[\\]{}])/g,\"\\\\$1\").replace(/\\n/,\"\\\\n\");e.push(1==l.length?n:\"(?:\"+n+\")\")}e=e.join(\"|\"),t.__patterns__=e;var i=t.__call__;t.__call__=function(t,l){return null!=l?i.call(this,t,l):i.call(this,t,e)}},e.DialectHelpers={},e.DialectHelpers.inline_until_char=function(t,e){for(var l=0,n=[];;){if(t.charAt(l)==e)return[++l,n];if(l>=t.length)return null;var i=this.dialect.inline.__oneElement__.call(this,t.substr(l));l+=i[0],n.push.apply(n,i.slice(1))}},e.subclassDialect=function(t){function e(){}function l(){}return e.prototype=t.block,l.prototype=t.inline,{block:new e,inline:new l}},e.buildBlockOrder(e.dialects.Gruber.block),e.buildInlinePatterns(e.dialects.Gruber.inline),e.dialects.Maruku=e.subclassDialect(e.dialects.Gruber),e.dialects.Maruku.processMetaHash=function(t){for(var e=function(t){var e=t.split(\"\"),l=[\"\"],n=!1;for(;e.length;){var i=e.shift();switch(i){case\" \":n?l[l.length-1]+=i:l.push(\"\");break;case\"'\":case'\"':n=!n;break;case\"\\\\\":i=e.shift();default:l[l.length-1]+=i}}return l}(t),l={},n=0;n<e.length;++n)if(/^#/.test(e[n]))l.id=e[n].substring(1);else if(/^\\./.test(e[n]))l.class?l.class=l.class+e[n].replace(/./,\" \"):l.class=e[n].substring(1);else if(/\\=/.test(e[n])){var i=e[n].split(/\\=/);l[i[0]]=i[1]}return l},e.dialects.Maruku.block.document_meta=function(t,e){if(!(t.lineNumber>1)&&t.match(/^(?:\\w+:.*\\n)*\\w+:.*$/)){h(this.tree)||this.tree.splice(1,0,{});var l=t.split(/\\n/);for(p in l){var n=l[p].match(/(\\w+):\\s*(.*)$/),i=n[1].toLowerCase(),a=n[2];this.tree[1][i]=a}return[]}},e.dialects.Maruku.block.block_meta=function(t,e){var l=t.match(/(^|\\n) {0,3}\\{:\\s*((?:\\\\\\}|[^\\}])*)\\s*\\}$/);if(l){var n,i=this.dialect.processMetaHash(l[2]);if(\"\"===l[1]){var r=this.tree[this.tree.length-1];if(n=h(r),\"string\"==typeof r)return;for(a in n||(n={},r.splice(1,0,n)),i)n[a]=i[a];return[]}var o=t.replace(/\\n.*$/,\"\"),s=this.processBlock(o,[]);for(a in(n=h(s[0]))||(n={},s[0].splice(1,0,n)),i)n[a]=i[a];return s}},e.dialects.Maruku.block.definition_list=function(t,e){var l,n=/^((?:[^\\s:].*\\n)+):\\s+([\\s\\S]+)$/,i=[\"dl\"];if(o=t.match(n)){for(var a=[t];e.length&&n.exec(e[0]);)a.push(e.shift());for(var r=0;r<a.length;++r){var o,s=(o=a[r].match(n))[1].replace(/\\n$/,\"\").split(/\\n/),c=o[2].split(/\\n:\\s+/);for(l=0;l<s.length;++l)i.push([\"dt\",s[l]]);for(l=0;l<c.length;++l)i.push([\"dd\"].concat(this.processInline(c[l].replace(/(\\n)\\s+/,\"$1\"))))}return[i]}},e.dialects.Maruku.block.table=function(t,e){var l,n,i=function(t,e){(e=e||\"\\\\s\").match(/^[\\\\|\\[\\]{}?*.+^$]$/)&&(e=\"\\\\\"+e);for(var l,n=[],i=new RegExp(\"^((?:\\\\\\\\.|[^\\\\\\\\\"+e+\"])*)\"+e+\"(.*)\");l=t.match(i);)n.push(l[1]),t=l[2];return n.push(t),n};if(n=t.match(/^ {0,3}\\|(.+)\\n {0,3}\\|\\s*([\\-:]+[\\-| :]*)\\n((?:\\s*\\|.*(?:\\n|$))*)(?=\\n|$)/))n[3]=n[3].replace(/^\\s*\\|/gm,\"\");else if(!(n=t.match(/^ {0,3}(\\S(?:\\\\.|[^\\\\|])*\\|.*)\\n {0,3}([\\-:]+\\s*\\|[\\-| :]*)\\n((?:(?:\\\\.|[^\\\\|])*\\|.*(?:\\n|$))*)(?=\\n|$)/)))return;var a=[\"table\",[\"thead\",[\"tr\"]],[\"tbody\"]];n[2]=n[2].replace(/\\|\\s*$/,\"\").split(\"|\");var r=[];for(c(n[2],function(t){t.match(/^\\s*-+:\\s*$/)?r.push({align:\"right\"}):t.match(/^\\s*:-+\\s*$/)?r.push({align:\"left\"}):t.match(/^\\s*:-+:\\s*$/)?r.push({align:\"center\"}):r.push({})}),n[1]=i(n[1].replace(/\\|\\s*$/,\"\"),\"|\"),l=0;l<n[1].length;l++)a[1][1].push([\"th\",r[l]||{}].concat(this.processInline(n[1][l].trim())));return c(n[3].replace(/\\|\\s*$/gm,\"\").split(\"\\n\"),function(t){var e=[\"tr\"];for(t=i(t,\"|\"),l=0;l<t.length;l++)e.push([\"td\",r[l]||{}].concat(this.processInline(t[l].trim())));a[2].push(e)},this),[a]},e.dialects.Maruku.inline[\"{:\"]=function(t,e,l){if(!l.length)return[2,\"{:\"];var n=l[l.length-1];if(\"string\"==typeof n)return[2,\"{:\"];var i=t.match(/^\\{:\\s*((?:\\\\\\}|[^\\}])*)\\s*\\}/);if(!i)return[2,\"{:\"];var a=this.dialect.processMetaHash(i[1]),r=h(n);for(var o in r||(r={},n.splice(1,0,r)),a)r[o]=a[o];return[i[0].length,\"\"]},e.dialects.Maruku.inline.__escape__=/^\\\\[\\\\`\\*_{}\\[\\]()#\\+.!\\-|:]/,e.buildBlockOrder(e.dialects.Maruku.block),e.buildInlinePatterns(e.dialects.Maruku.inline);var c,u=Array.isArray||function(t){return\"[object Array]\"==Object.prototype.toString.call(t)};c=Array.prototype.forEach?function(t,e,l){return t.forEach(e,l)}:function(t,e,l){for(var n=0;n<t.length;n++)e.call(l||t,t[n],n,t)};var d=function(t){for(var e in t)if(hasOwnProperty.call(t,e))return!1;return!0};function h(t){return u(t)&&t.length>1&&\"object\"==typeof t[1]&&!u(t[1])?t[1]:void 0}function f(t){return t.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\")}function g(t){if(\"string\"==typeof t)return f(t);var e=t.shift(),l={},n=[];for(!t.length||\"object\"!=typeof t[0]||t[0]instanceof Array||(l=t.shift());t.length;)n.push(g(t.shift()));var i=\"\";for(var a in l)i+=\" \"+a+'=\"'+f(l[a])+'\"';return\"img\"==e||\"br\"==e||\"hr\"==e?\"<\"+e+i+\"/>\":\"<\"+e+i+\">\"+n.join(\"\")+\"</\"+e+\">\"}t.renderJsonML=function(t,e){(e=e||{}).root=e.root||!1;var l=[];if(e.root)l.push(g(t));else for(t.shift(),!t.length||\"object\"!=typeof t[0]||t[0]instanceof Array||t.shift();t.length;)l.push(g(t.shift()));return l.join(\"\\n\\n\")}}(e)},function(t,e,l){(function(t){var n=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),l={},n=0;n<e.length;n++)l[e[n]]=Object.getOwnPropertyDescriptor(t,e[n]);return l},i=/%[sdj%]/g;e.format=function(t){if(!b(t)){for(var e=[],l=0;l<arguments.length;l++)e.push(o(arguments[l]));return e.join(\" \")}l=1;for(var n=arguments,a=n.length,r=String(t).replace(i,function(t){if(\"%%\"===t)return\"%\";if(l>=a)return t;switch(t){case\"%s\":return String(n[l++]);case\"%d\":return Number(n[l++]);case\"%j\":try{return JSON.stringify(n[l++])}catch(t){return\"[Circular]\"}default:return t}}),s=n[l];l<a;s=n[++l])g(s)||!x(s)?r+=\" \"+s:r+=\" \"+o(s);return r},e.deprecate=function(l,n){if(void 0!==t&&!0===t.noDeprecation)return l;if(void 0===t)return function(){return e.deprecate(l,n).apply(this,arguments)};var i=!1;return function(){if(!i){if(t.throwDeprecation)throw new Error(n);t.traceDeprecation?console.trace(n):console.error(n),i=!0}return l.apply(this,arguments)}};var a,r={};function o(t,l){var n={seen:[],stylize:c};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),p(l)?n.showHidden=l:l&&e._extend(n,l),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=s),u(n,t,n.depth)}function s(t,e){var l=o.styles[e];return l?\"\u001b[\"+o.colors[l][0]+\"m\"+t+\"\u001b[\"+o.colors[l][1]+\"m\":t}function c(t,e){return t}function u(t,l,n){if(t.customInspect&&l&&S(l.inspect)&&l.inspect!==e.inspect&&(!l.constructor||l.constructor.prototype!==l)){var i=l.inspect(n,t);return b(i)||(i=u(t,i,n)),i}var a=function(t,e){if(v(e))return t.stylize(\"undefined\",\"undefined\");if(b(e)){var l=\"'\"+JSON.stringify(e).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return t.stylize(l,\"string\")}if(m(e))return t.stylize(\"\"+e,\"number\");if(p(e))return t.stylize(\"\"+e,\"boolean\");if(g(e))return t.stylize(\"null\",\"null\")}(t,l);if(a)return a;var r=Object.keys(l),o=function(t){var e={};return t.forEach(function(t,l){e[t]=!0}),e}(r);if(t.showHidden&&(r=Object.getOwnPropertyNames(l)),w(l)&&(r.indexOf(\"message\")>=0||r.indexOf(\"description\")>=0))return d(l);if(0===r.length){if(S(l)){var s=l.name?\": \"+l.name:\"\";return t.stylize(\"[Function\"+s+\"]\",\"special\")}if(y(l))return t.stylize(RegExp.prototype.toString.call(l),\"regexp\");if(_(l))return t.stylize(Date.prototype.toString.call(l),\"date\");if(w(l))return d(l)}var c,x=\"\",k=!1,C=[\"{\",\"}\"];(f(l)&&(k=!0,C=[\"[\",\"]\"]),S(l))&&(x=\" [Function\"+(l.name?\": \"+l.name:\"\")+\"]\");return y(l)&&(x=\" \"+RegExp.prototype.toString.call(l)),_(l)&&(x=\" \"+Date.prototype.toUTCString.call(l)),w(l)&&(x=\" \"+d(l)),0!==r.length||k&&0!=l.length?n<0?y(l)?t.stylize(RegExp.prototype.toString.call(l),\"regexp\"):t.stylize(\"[Object]\",\"special\"):(t.seen.push(l),c=k?function(t,e,l,n,i){for(var a=[],r=0,o=e.length;r<o;++r)D(e,String(r))?a.push(h(t,e,l,n,String(r),!0)):a.push(\"\");return i.forEach(function(i){i.match(/^\\d+$/)||a.push(h(t,e,l,n,i,!0))}),a}(t,l,n,o,r):r.map(function(e){return h(t,l,n,o,e,k)}),t.seen.pop(),function(t,e,l){if(t.reduce(function(t,e){return 0,e.indexOf(\"\\n\")>=0&&0,t+e.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0)>60)return l[0]+(\"\"===e?\"\":e+\"\\n \")+\" \"+t.join(\",\\n  \")+\" \"+l[1];return l[0]+e+\" \"+t.join(\", \")+\" \"+l[1]}(c,x,C)):C[0]+x+C[1]}function d(t){return\"[\"+Error.prototype.toString.call(t)+\"]\"}function h(t,e,l,n,i,a){var r,o,s;if((s=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?o=s.set?t.stylize(\"[Getter/Setter]\",\"special\"):t.stylize(\"[Getter]\",\"special\"):s.set&&(o=t.stylize(\"[Setter]\",\"special\")),D(n,i)||(r=\"[\"+i+\"]\"),o||(t.seen.indexOf(s.value)<0?(o=g(l)?u(t,s.value,null):u(t,s.value,l-1)).indexOf(\"\\n\")>-1&&(o=a?o.split(\"\\n\").map(function(t){return\"  \"+t}).join(\"\\n\").substr(2):\"\\n\"+o.split(\"\\n\").map(function(t){return\"   \"+t}).join(\"\\n\")):o=t.stylize(\"[Circular]\",\"special\")),v(r)){if(a&&i.match(/^\\d+$/))return o;(r=JSON.stringify(\"\"+i)).match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(r=r.substr(1,r.length-2),r=t.stylize(r,\"name\")):(r=r.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),r=t.stylize(r,\"string\"))}return r+\": \"+o}function f(t){return Array.isArray(t)}function p(t){return\"boolean\"==typeof t}function g(t){return null===t}function m(t){return\"number\"==typeof t}function b(t){return\"string\"==typeof t}function v(t){return void 0===t}function y(t){return x(t)&&\"[object RegExp]\"===k(t)}function x(t){return\"object\"==typeof t&&null!==t}function _(t){return x(t)&&\"[object Date]\"===k(t)}function w(t){return x(t)&&(\"[object Error]\"===k(t)||t instanceof Error)}function S(t){return\"function\"==typeof t}function k(t){return Object.prototype.toString.call(t)}function C(t){return t<10?\"0\"+t.toString(10):t.toString(10)}e.debuglog=function(l){if(v(a)&&(a=t.env.NODE_DEBUG||\"\"),l=l.toUpperCase(),!r[l])if(new RegExp(\"\\\\b\"+l+\"\\\\b\",\"i\").test(a)){var n=t.pid;r[l]=function(){var t=e.format.apply(e,arguments);console.error(\"%s %d: %s\",l,n,t)}}else r[l]=function(){};return r[l]},e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},e.isArray=f,e.isBoolean=p,e.isNull=g,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=b,e.isSymbol=function(t){return\"symbol\"==typeof t},e.isUndefined=v,e.isRegExp=y,e.isObject=x,e.isDate=_,e.isError=w,e.isFunction=S,e.isPrimitive=function(t){return null===t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||\"symbol\"==typeof t||void 0===t},e.isBuffer=l(79);var T=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];function D(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,l;console.log(\"%s - %s\",(t=new Date,l=[C(t.getHours()),C(t.getMinutes()),C(t.getSeconds())].join(\":\"),[t.getDate(),T[t.getMonth()],l].join(\" \")),e.format.apply(e,arguments))},e.inherits=l(80),e._extend=function(t,e){if(!e||!x(e))return t;for(var l=Object.keys(e),n=l.length;n--;)t[l[n]]=e[l[n]];return t};var M=\"undefined\"!=typeof Symbol?Symbol(\"util.promisify.custom\"):void 0;function A(t,e){if(!t){var l=new Error(\"Promise was rejected with a falsy value\");l.reason=t,t=l}return e(t)}e.promisify=function(t){if(\"function\"!=typeof t)throw new TypeError('The \"original\" argument must be of type Function');if(M&&t[M]){var e;if(\"function\"!=typeof(e=t[M]))throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');return Object.defineProperty(e,M,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,l,n=new Promise(function(t,n){e=t,l=n}),i=[],a=0;a<arguments.length;a++)i.push(arguments[a]);i.push(function(t,n){t?l(t):e(n)});try{t.apply(this,i)}catch(t){l(t)}return n}return Object.setPrototypeOf(e,Object.getPrototypeOf(t)),M&&Object.defineProperty(e,M,{value:e,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(e,n(t))},e.promisify.custom=M,e.callbackify=function(e){if(\"function\"!=typeof e)throw new TypeError('The \"original\" argument must be of type Function');function l(){for(var l=[],n=0;n<arguments.length;n++)l.push(arguments[n]);var i=l.pop();if(\"function\"!=typeof i)throw new TypeError(\"The last argument must be of type Function\");var a=this,r=function(){return i.apply(a,arguments)};e.apply(this,l).then(function(e){t.nextTick(r,null,e)},function(e){t.nextTick(A,e,r)})}return Object.setPrototypeOf(l,Object.getPrototypeOf(e)),Object.defineProperties(l,n(e)),l}}).call(this,l(46))},function(t,e){t.exports=function(t){return t&&\"object\"==typeof t&&\"function\"==typeof t.copy&&\"function\"==typeof t.fill&&\"function\"==typeof t.readUInt8}},function(t,e){\"function\"==typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var l=function(){};l.prototype=e.prototype,t.prototype=new l,t.prototype.constructor=t}},function(t,e,l){(function(n){var i,a,r;a=[l(1)],void 0===(r=\"function\"==typeof(i=function(t){\"use strict\";var e=function(e,l){t.each([\"autofocus\",\"savable\",\"hideable\",\"width\",\"height\",\"resize\",\"iconlibrary\",\"language\",\"footer\",\"fullscreen\",\"hiddenButtons\",\"disabledButtons\"],function(n,i){void 0!==t(e).data(i)&&((l=\"object\"==typeof l?l:{})[i]=t(e).data(i))}),this.$ns=\"bootstrap-markdown\",this.$element=t(e),this.$editable={el:null,type:null,attrKeys:[],attrValues:[],content:null},this.$options=t.extend(!0,{},t.fn.markdown.defaults,l,this.$element.data(\"options\")),this.$oldContent=null,this.$isPreview=!1,this.$isFullscreen=!1,this.$editor=null,this.$textarea=null,this.$handler=[],this.$callback=[],this.$nextTab=[],this.showEditor()};e.prototype={constructor:e,__alterButtons:function(e,l){var n=this.$handler,i=\"all\"==e,a=this;t.each(n,function(t,n){!1==(!i&&n.indexOf(e)<0)&&l(a.$editor.find('button[data-handler=\"'+n+'\"]'))})},__buildButtons:function(e,l){var i,a=this.$ns,r=this.$handler,o=this.$callback;for(i=0;i<e.length;i++){var s,c=e[i];for(s=0;s<c.length;s++){var u,d=c[s].data,h=t(\"<div/>\",{class:\"btn-group\"});for(u=0;u<d.length;u++){var f,p,g=d[u],m=a+\"-\"+g.name,b=this.__getIcon(g.icon),v=g.btnText?g.btnText:\"\",y=g.btnClass?g.btnClass:\"btn\",x=g.tabIndex?g.tabIndex:\"-1\",_=void 0!==g.hotkey?g.hotkey:\"\",w=void 0!==n.hotkeys&&\"\"!==_?\" (\"+_+\")\":\"\";(f=t(\"<button></button>\")).text(\" \"+this.__localize(v)).addClass(\"btn-default btn-sm\").addClass(y),y.match(/btn\\-(primary|success|info|warning|danger|link)/)&&f.removeClass(\"btn-default\"),f.attr({type:\"button\",title:this.__localize(g.title)+w,tabindex:x,\"data-provider\":a,\"data-handler\":m,\"data-hotkey\":_}),!0===g.toggle&&f.attr(\"data-toggle\",\"button\"),(p=t(\"<span/>\")).addClass(b),p.prependTo(f),h.append(f),r.push(m),o.push(g.callback)}l.append(h)}}return l},__setListener:function(){var e=void 0!==this.$textarea.attr(\"rows\"),l=this.$textarea.val().split(\"\\n\").length>5?this.$textarea.val().split(\"\\n\").length:\"5\",n=e?this.$textarea.attr(\"rows\"):l;this.$textarea.attr(\"rows\",n),this.$options.resize&&this.$textarea.css(\"resize\",this.$options.resize),this.$textarea.on({focus:t.proxy(this.focus,this),keyup:t.proxy(this.keyup,this),change:t.proxy(this.change,this),select:t.proxy(this.select,this)}),this.eventSupported(\"keydown\")&&this.$textarea.on(\"keydown\",t.proxy(this.keydown,this)),this.eventSupported(\"keypress\")&&this.$textarea.on(\"keypress\",t.proxy(this.keypress,this)),this.$textarea.data(\"markdown\",this)},__handle:function(e){var l=t(e.currentTarget),n=this.$handler,i=this.$callback,a=l.attr(\"data-handler\"),r=n.indexOf(a),o=i[r];t(e.currentTarget).focus(),o(this),this.change(this),a.indexOf(\"cmdSave\")<0&&this.$textarea.focus(),e.preventDefault()},__localize:function(e){var l=t.fn.markdown.messages,n=this.$options.language;return void 0!==l&&void 0!==l[n]&&void 0!==l[n][e]?l[n][e]:e},__getIcon:function(t){return\"object\"==typeof t?t[this.$options.iconlibrary]:t},setFullscreen:function(e){var l=this.$editor,n=this.$textarea;!0===e?(l.addClass(\"md-fullscreen-mode\"),t(\"body\").addClass(\"md-nooverflow\"),this.$options.onFullscreen(this)):(l.removeClass(\"md-fullscreen-mode\"),t(\"body\").removeClass(\"md-nooverflow\"),1==this.$isPreview&&this.hidePreview().showPreview()),this.$isFullscreen=e,n.focus()},showEditor:function(){var e,l=this,i=this.$ns,a=this.$element,r=(a.css(\"height\"),a.css(\"width\"),this.$editable),o=this.$handler,s=this.$callback,c=this.$options,u=t(\"<div/>\",{class:\"md-editor\",click:function(){l.focus()}});if(null===this.$editor){var d=t(\"<div/>\",{class:\"md-header btn-toolbar\"}),h=[];if(c.buttons.length>0&&(h=h.concat(c.buttons[0])),c.additionalButtons.length>0&&t.each(c.additionalButtons[0],function(e,l){var n=t.grep(h,function(t,e){return t.name===l.name});n.length>0?n[0].data=n[0].data.concat(l.data):h.push(c.additionalButtons[0][e])}),c.reorderButtonGroups.length>0&&(h=h.filter(function(t){return c.reorderButtonGroups.indexOf(t.name)>-1}).sort(function(t,e){return c.reorderButtonGroups.indexOf(t.name)<c.reorderButtonGroups.indexOf(e.name)?-1:c.reorderButtonGroups.indexOf(t.name)>c.reorderButtonGroups.indexOf(e.name)?1:0})),h.length>0&&(d=this.__buildButtons([h],d)),c.fullscreen.enable&&d.append('<div class=\"md-controls\"><a class=\"md-control md-control-fullscreen\" href=\"#\"><span class=\"'+this.__getIcon(c.fullscreen.icons.fullscreenOn)+'\"></span></a></div>').on(\"click\",\".md-control-fullscreen\",function(t){t.preventDefault(),l.setFullscreen(!0)}),u.append(d),a.is(\"textarea\"))a.before(u),(e=a).addClass(\"md-input\"),u.append(e);else{var f=\"function\"==typeof toMarkdown?toMarkdown(a.html()):a.html(),p=t.trim(f);e=t(\"<textarea/>\",{class:\"md-input\",val:p}),u.append(e),r.el=a,r.type=a.prop(\"tagName\").toLowerCase(),r.content=a.html(),t(a[0].attributes).each(function(){r.attrKeys.push(this.nodeName),r.attrValues.push(this.nodeValue)}),a.replaceWith(u)}var g=t(\"<div/>\",{class:\"md-footer\"}),m=!1,b=\"\";if(c.savable&&(m=!0,o.push(\"cmdSave\"),s.push(c.onSave),g.append('<button class=\"btn btn-success\" data-provider=\"'+i+'\" data-handler=\"cmdSave\"><i class=\"icon icon-white icon-ok\"></i> '+this.__localize(\"Save\")+\"</button>\")),b=\"function\"==typeof c.footer?c.footer(this):c.footer,\"\"!==t.trim(b)&&(m=!0,g.append(b)),m&&u.append(g),c.width&&\"inherit\"!==c.width&&(n.isNumeric(c.width)?(u.css(\"display\",\"table\"),e.css(\"width\",c.width+\"px\")):u.addClass(c.width)),c.height&&\"inherit\"!==c.height)if(n.isNumeric(c.height)){var v=c.height;d&&(v=Math.max(0,v-d.outerHeight())),g&&(v=Math.max(0,v-g.outerHeight())),e.css(\"height\",v+\"px\")}else u.addClass(c.height);this.$editor=u,this.$textarea=e,this.$editable=r,this.$oldContent=this.getContent(),this.__setListener(),this.$editor.attr(\"id\",(new Date).getTime()),this.$editor.on(\"click\",'[data-provider=\"bootstrap-markdown\"]',t.proxy(this.__handle,this)),(this.$element.is(\":disabled\")||this.$element.is(\"[readonly]\"))&&(this.$editor.addClass(\"md-editor-disabled\"),this.disableButtons(\"all\")),this.eventSupported(\"keydown\")&&\"object\"==typeof n.hotkeys&&d.find('[data-provider=\"bootstrap-markdown\"]').each(function(){var l=t(this),n=l.attr(\"data-hotkey\");\"\"!==n.toLowerCase()&&e.bind(\"keydown\",n,function(){return l.trigger(\"click\"),!1})}),\"preview\"===c.initialstate?this.showPreview():\"fullscreen\"===c.initialstate&&c.fullscreen.enable&&this.setFullscreen(!0)}else this.$editor.show();return c.autofocus&&(this.$textarea.focus(),this.$editor.addClass(\"active\")),c.fullscreen.enable&&!1!==c.fullscreen&&(this.$editor.append('<div class=\"md-fullscreen-controls\"><a href=\"#\" class=\"exit-fullscreen\" title=\"Exit fullscreen\"><span class=\"'+this.__getIcon(c.fullscreen.icons.fullscreenOff)+'\"></span></a></div>'),this.$editor.on(\"click\",\".exit-fullscreen\",function(t){t.preventDefault(),l.setFullscreen(!1)})),this.hideButtons(c.hiddenButtons),this.disableButtons(c.disabledButtons),c.onShow(this),this},parseContent:function(t){var t=t||this.$textarea.val();return this.$options.parser?this.$options.parser(t):\"object\"==typeof markdown?markdown.toHTML(t):\"function\"==typeof marked?marked(t):t},showPreview:function(){var e,l,n=this.$options,i=this.$textarea,a=i.next(),r=t(\"<div/>\",{class:\"md-preview\",\"data-provider\":\"markdown-preview\"});return 1==this.$isPreview?this:(this.$isPreview=!0,this.disableButtons(\"all\").enableButtons(\"cmdPreview\"),l=n.onPreview(this),e=\"string\"==typeof l?l:this.parseContent(),r.html(e),a&&\"md-footer\"==a.attr(\"class\")?r.insertBefore(a):i.parent().append(r),r.css({width:i.outerWidth()+\"px\",height:i.outerHeight()+\"px\"}),this.$options.resize&&r.css(\"resize\",this.$options.resize),i.hide(),r.data(\"markdown\",this),(this.$element.is(\":disabled\")||this.$element.is(\"[readonly]\"))&&(this.$editor.addClass(\"md-editor-disabled\"),this.disableButtons(\"all\")),this)},hidePreview:function(){this.$isPreview=!1;var t=this.$editor.find('div[data-provider=\"markdown-preview\"]');return t.remove(),this.enableButtons(\"all\"),this.disableButtons(this.$options.disabledButtons),this.$textarea.show(),this.__setListener(),this},isDirty:function(){return this.$oldContent!=this.getContent()},getContent:function(){return this.$textarea.val()},setContent:function(t){return this.$textarea.val(t),this},findSelection:function(t){var e,l=this.getContent();if((e=l.indexOf(t))>=0&&t.length>0){var n,i=this.getSelection();return this.setSelection(e,e+t.length),n=this.getSelection(),this.setSelection(i.start,i.end),n}return null},getSelection:function(){var t=this.$textarea[0];return(\"selectionStart\"in t&&function(){var e=t.selectionEnd-t.selectionStart;return{start:t.selectionStart,end:t.selectionEnd,length:e,text:t.value.substr(t.selectionStart,e)}}||function(){return null})()},setSelection:function(t,e){var l=this.$textarea[0];return(\"selectionStart\"in l&&function(){l.selectionStart=t,l.selectionEnd=e}||function(){return null})()},replaceSelection:function(t){var e=this.$textarea[0];return(\"selectionStart\"in e&&function(){return e.value=e.value.substr(0,e.selectionStart)+t+e.value.substr(e.selectionEnd,e.value.length),e.selectionStart=e.value.length,this}||function(){return e.value+=t,n(e)})()},getNextTab:function(){if(0===this.$nextTab.length)return null;var t,e=this.$nextTab.shift();return\"function\"==typeof e?t=e():\"object\"==typeof e&&e.length>0&&(t=e),t},setNextTab:function(t,e){if(\"string\"==typeof t){var l=this;this.$nextTab.push(function(){return l.findSelection(t)})}else if(\"number\"==typeof t&&\"number\"==typeof e){var n=this.getSelection();this.setSelection(t,e),this.$nextTab.push(this.getSelection()),this.setSelection(n.start,n.end)}},__parseButtonNameParam:function(t){return\"string\"==typeof t?t.split(\" \"):t},enableButtons:function(e){var l=this.__parseButtonNameParam(e),n=this;return t.each(l,function(t,e){n.__alterButtons(l[t],function(t){t.removeAttr(\"disabled\")})}),this},disableButtons:function(e){var l=this.__parseButtonNameParam(e),n=this;return t.each(l,function(t,e){n.__alterButtons(l[t],function(t){t.attr(\"disabled\",\"disabled\")})}),this},hideButtons:function(e){var l=this.__parseButtonNameParam(e),n=this;return t.each(l,function(t,e){n.__alterButtons(l[t],function(t){t.addClass(\"hidden\")})}),this},showButtons:function(e){var l=this.__parseButtonNameParam(e),n=this;return t.each(l,function(t,e){n.__alterButtons(l[t],function(t){t.removeClass(\"hidden\")})}),this},eventSupported:function(t){var e=t in this.$element;return e||(this.$element.setAttribute(t,\"return;\"),e=\"function\"==typeof this.$element[t]),e},keyup:function(t){var e=!1;switch(t.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:var l;if(null!==(l=this.getNextTab())){var n=this;setTimeout(function(){n.setSelection(l.start,l.end)},500),e=!0}else{var i=this.getSelection();i.start==i.end&&i.end==this.getContent().length?e=!1:(this.setSelection(this.getContent().length,this.getContent().length),e=!0)}break;case 13:e=!1;break;case 27:this.$isFullscreen&&this.setFullscreen(!1),e=!1;break;default:e=!1}e&&(t.stopPropagation(),t.preventDefault()),this.$options.onChange(this)},change:function(t){return this.$options.onChange(this),this},select:function(t){return this.$options.onSelect(this),this},focus:function(e){var l=this.$options,n=(l.hideable,this.$editor);return n.addClass(\"active\"),t(document).find(\".md-editor\").each(function(){var e;t(this).attr(\"id\")!==n.attr(\"id\")&&(null===(e=t(this).find(\"textarea\").data(\"markdown\"))&&(e=t(this).find('div[data-provider=\"markdown-preview\"]').data(\"markdown\")),e&&e.blur())}),l.onFocus(this),this},blur:function(e){var l=this.$options,n=l.hideable,i=this.$editor,a=this.$editable;if(i.hasClass(\"active\")||0===this.$element.parent().length){if(i.removeClass(\"active\"),n)if(null!==a.el){var r=t(\"<\"+a.type+\"/>\"),o=this.getContent(),s=this.parseContent(o);t(a.attrKeys).each(function(t,e){r.attr(a.attrKeys[t],a.attrValues[t])}),r.html(s),i.replaceWith(r)}else i.hide();l.onBlur(this)}return this}};var l=t.fn.markdown;t.fn.markdown=function(l){return this.each(function(){var n=t(this),i=n.data(\"markdown\"),a=\"object\"==typeof l&&l;i||n.data(\"markdown\",i=new e(this,a))})},t.fn.markdown.messages={},t.fn.markdown.defaults={autofocus:!1,hideable:!1,savable:!1,width:\"inherit\",height:\"inherit\",resize:\"none\",iconlibrary:\"glyph\",language:\"en\",initialstate:\"editor\",parser:null,buttons:[[{name:\"groupFont\",data:[{name:\"cmdBold\",hotkey:\"Ctrl+B\",title:\"Bold\",icon:{glyph:\"glyphicon glyphicon-bold\",fa:\"fa fa-bold\",\"fa-3\":\"icon-bold\"},callback:function(t){var e,l,n=t.getSelection(),i=t.getContent();e=0===n.length?t.__localize(\"strong text\"):n.text,\"**\"===i.substr(n.start-2,2)&&\"**\"===i.substr(n.end,2)?(t.setSelection(n.start-2,n.end+2),t.replaceSelection(e),l=n.start-2):(t.replaceSelection(\"**\"+e+\"**\"),l=n.start+2),t.setSelection(l,l+e.length)}},{name:\"cmdItalic\",title:\"Italic\",hotkey:\"Ctrl+I\",icon:{glyph:\"glyphicon glyphicon-italic\",fa:\"fa fa-italic\",\"fa-3\":\"icon-italic\"},callback:function(t){var e,l,n=t.getSelection(),i=t.getContent();e=0===n.length?t.__localize(\"emphasized text\"):n.text,\"_\"===i.substr(n.start-1,1)&&\"_\"===i.substr(n.end,1)?(t.setSelection(n.start-1,n.end+1),t.replaceSelection(e),l=n.start-1):(t.replaceSelection(\"_\"+e+\"_\"),l=n.start+1),t.setSelection(l,l+e.length)}},{name:\"cmdHeading\",title:\"Heading\",hotkey:\"Ctrl+H\",icon:{glyph:\"glyphicon glyphicon-header\",fa:\"fa fa-header\",\"fa-3\":\"icon-font\"},callback:function(t){var e,l,n,i,a=t.getSelection(),r=t.getContent();e=0===a.length?t.__localize(\"heading text\"):a.text+\"\\n\",n=4,\"### \"===r.substr(a.start-n,n)||(n=3,\"###\"===r.substr(a.start-n,n))?(t.setSelection(a.start-n,a.end),t.replaceSelection(e),l=a.start-n):a.start>0&&(i=r.substr(a.start-1,1))&&\"\\n\"!=i?(t.replaceSelection(\"\\n\\n### \"+e),l=a.start+6):(t.replaceSelection(\"### \"+e),l=a.start+4),t.setSelection(l,l+e.length)}}]},{name:\"groupLink\",data:[{name:\"cmdUrl\",title:\"URL/Link\",hotkey:\"Ctrl+L\",icon:{glyph:\"glyphicon glyphicon-link\",fa:\"fa fa-link\",\"fa-3\":\"icon-link\"},callback:function(e){var l,n,i,a=e.getSelection();e.getContent(),l=0===a.length?e.__localize(\"enter link description here\"):a.text,i=prompt(e.__localize(\"Insert Hyperlink\"),\"http://\");var r=new RegExp(\"^((http|https)://|(mailto:)|(//))[a-z0-9]\",\"i\");if(null!==i&&\"\"!==i&&\"http://\"!==i&&r.test(i)){var o=t(\"<div>\"+i+\"</div>\").text();e.replaceSelection(\"[\"+l+\"](\"+o+\")\"),n=a.start+1,e.setSelection(n,n+l.length)}}},{name:\"cmdImage\",title:\"Image\",hotkey:\"Ctrl+G\",icon:{glyph:\"glyphicon glyphicon-picture\",fa:\"fa fa-picture-o\",\"fa-3\":\"icon-picture\"},callback:function(e){var l,n,i,a=e.getSelection();e.getContent(),l=0===a.length?e.__localize(\"enter image description here\"):a.text,i=prompt(e.__localize(\"Insert Image Hyperlink\"),\"http://\");var r=new RegExp(\"^((http|https)://|(//))[a-z0-9]\",\"i\");if(null!==i&&\"\"!==i&&\"http://\"!==i&&r.test(i)){var o=t(\"<div>\"+i+\"</div>\").text();e.replaceSelection(\"![\"+l+\"](\"+o+' \"'+e.__localize(\"enter image title here\")+'\")'),n=a.start+2,e.setNextTab(e.__localize(\"enter image title here\")),e.setSelection(n,n+l.length)}}}]},{name:\"groupMisc\",data:[{name:\"cmdList\",hotkey:\"Ctrl+U\",title:\"Unordered List\",icon:{glyph:\"glyphicon glyphicon-list\",fa:\"fa fa-list\",\"fa-3\":\"icon-list-ul\"},callback:function(e){var l,n,i=e.getSelection();if(e.getContent(),0===i.length)l=e.__localize(\"list text here\"),e.replaceSelection(\"- \"+l),n=i.start+2;else if(i.text.indexOf(\"\\n\")<0)l=i.text,e.replaceSelection(\"- \"+l),n=i.start+2;else{var a=[];a=i.text.split(\"\\n\"),l=a[0],t.each(a,function(t,e){a[t]=\"- \"+e}),e.replaceSelection(\"\\n\\n\"+a.join(\"\\n\")),n=i.start+4}e.setSelection(n,n+l.length)}},{name:\"cmdListO\",hotkey:\"Ctrl+O\",title:\"Ordered List\",icon:{glyph:\"glyphicon glyphicon-th-list\",fa:\"fa fa-list-ol\",\"fa-3\":\"icon-list-ol\"},callback:function(e){var l,n,i=e.getSelection();if(e.getContent(),0===i.length)l=e.__localize(\"list text here\"),e.replaceSelection(\"1. \"+l),n=i.start+3;else if(i.text.indexOf(\"\\n\")<0)l=i.text,e.replaceSelection(\"1. \"+l),n=i.start+3;else{var a=[];a=i.text.split(\"\\n\"),l=a[0],t.each(a,function(t,e){a[t]=\"1. \"+e}),e.replaceSelection(\"\\n\\n\"+a.join(\"\\n\")),n=i.start+5}e.setSelection(n,n+l.length)}},{name:\"cmdCode\",hotkey:\"Ctrl+K\",title:\"Code\",icon:{glyph:\"glyphicon glyphicon-asterisk\",fa:\"fa fa-code\",\"fa-3\":\"icon-code\"},callback:function(t){var e,l,n=t.getSelection(),i=t.getContent();e=0===n.length?t.__localize(\"code text here\"):n.text,\"```\\n\"===i.substr(n.start-4,4)&&\"\\n```\"===i.substr(n.end,4)?(t.setSelection(n.start-4,n.end+4),t.replaceSelection(e),l=n.start-4):\"`\"===i.substr(n.start-1,1)&&\"`\"===i.substr(n.end,1)?(t.setSelection(n.start-1,n.end+1),t.replaceSelection(e),l=n.start-1):i.indexOf(\"\\n\")>-1?(t.replaceSelection(\"```\\n\"+e+\"\\n```\"),l=n.start+4):(t.replaceSelection(\"`\"+e+\"`\"),l=n.start+1),t.setSelection(l,l+e.length)}},{name:\"cmdQuote\",hotkey:\"Ctrl+Q\",title:\"Quote\",icon:{glyph:\"glyphicon glyphicon-comment\",fa:\"fa fa-quote-left\",\"fa-3\":\"icon-quote-left\"},callback:function(e){var l,n,i=e.getSelection();if(e.getContent(),0===i.length)l=e.__localize(\"quote here\"),e.replaceSelection(\"> \"+l),n=i.start+2;else if(i.text.indexOf(\"\\n\")<0)l=i.text,e.replaceSelection(\"> \"+l),n=i.start+2;else{var a=[];a=i.text.split(\"\\n\"),l=a[0],t.each(a,function(t,e){a[t]=\"> \"+e}),e.replaceSelection(\"\\n\\n\"+a.join(\"\\n\")),n=i.start+4}e.setSelection(n,n+l.length)}}]},{name:\"groupUtil\",data:[{name:\"cmdPreview\",toggle:!0,hotkey:\"Ctrl+P\",title:\"Preview\",btnText:\"Preview\",btnClass:\"btn btn-primary btn-sm\",icon:{glyph:\"glyphicon glyphicon-search\",fa:\"fa fa-search\",\"fa-3\":\"icon-search\"},callback:function(t){var e=t.$isPreview;!1===e?t.showPreview():t.hidePreview()}}]}]],additionalButtons:[],reorderButtonGroups:[],hiddenButtons:[],disabledButtons:[],footer:\"\",fullscreen:{enable:!0,icons:{fullscreenOn:{fa:\"fa fa-expand\",glyph:\"glyphicon glyphicon-fullscreen\",\"fa-3\":\"icon-resize-full\"},fullscreenOff:{fa:\"fa fa-compress\",glyph:\"glyphicon glyphicon-fullscreen\",\"fa-3\":\"icon-resize-small\"}}},onShow:function(t){},onPreview:function(t){},onSave:function(t){},onBlur:function(t){},onFocus:function(t){},onChange:function(t){},onFullscreen:function(t){},onSelect:function(t){}},t.fn.markdown.Constructor=e,t.fn.markdown.noConflict=function(){return t.fn.markdown=l,this};var i=function(t){var e=t;e.data(\"markdown\")?e.data(\"markdown\").showEditor():e.markdown()};t(document).on(\"click.markdown.data-api\",'[data-provide=\"markdown-editable\"]',function(e){i(t(this)),e.preventDefault()}).on(\"click focusin\",function(e){var l;l=t(document.activeElement),t(document).find(\".md-editor\").each(function(){var e=t(this),n=l.closest(\".md-editor\")[0]===this,i=e.find(\"textarea\").data(\"markdown\")||e.find('div[data-provider=\"markdown-preview\"]').data(\"markdown\");i&&!n&&i.blur()})}).ready(function(){t('textarea[data-provide=\"markdown\"]').each(function(){i(t(this))})})})?i.apply(e,a):i)||(t.exports=r)}).call(this,l(1))},function(t,e,l){(function(n,i){var a,r,o,s={scope:{},findInternal:function(t,e,l){t instanceof String&&(t=String(t));for(var n=t.length,i=0;i<n;i++){var a=t[i];if(e.call(l,a,i,t))return{i:i,v:a}}return{i:-1,v:void 0}}};s.defineProperty=\"function\"==typeof Object.defineProperties?Object.defineProperty:function(t,e,l){if(l.get||l.set)throw new TypeError(\"ES3 does not support getters and setters.\");t!=Array.prototype&&t!=Object.prototype&&(t[e]=l.value)},s.getGlobal=function(t){return\"undefined\"!=typeof window&&window===t?t:void 0!==n&&null!=n?n:t},s.global=s.getGlobal(this),s.polyfill=function(t,e,l,n){if(e){for(l=s.global,t=t.split(\".\"),n=0;n<t.length-1;n++){var i=t[n];i in l||(l[i]={}),l=l[i]}(e=e(n=l[t=t[t.length-1]]))!=n&&null!=e&&s.defineProperty(l,t,{configurable:!0,writable:!0,value:e})}},s.polyfill(\"Array.prototype.find\",function(t){return t||function(t,e){return s.findInternal(this,t,e).v}},\"es6-impl\",\"es3\"),window.Zepto,r=[l(1)],void 0===(o=\"function\"==typeof(a=function(t){var e=function(e,l,n){var i={invalid:[],getCaret:function(){try{var t,l=0,n=e.get(0),a=document.selection,r=n.selectionStart;return a&&-1===navigator.appVersion.indexOf(\"MSIE 10\")?((t=a.createRange()).moveStart(\"character\",-i.val().length),l=t.text.length):(r||\"0\"===r)&&(l=r),l}catch(t){}},setCaret:function(t){try{if(e.is(\":focus\")){var l,n=e.get(0);n.setSelectionRange?n.setSelectionRange(t,t):((l=n.createTextRange()).collapse(!0),l.moveEnd(\"character\",t),l.moveStart(\"character\",t),l.select())}}catch(t){}},events:function(){e.on(\"keydown.mask\",function(t){e.data(\"mask-keycode\",t.keyCode||t.which),e.data(\"mask-previus-value\",e.val()),e.data(\"mask-previus-caret-pos\",i.getCaret()),i.maskDigitPosMapOld=i.maskDigitPosMap}).on(t.jMaskGlobals.useInput?\"input.mask\":\"keyup.mask\",i.behaviour).on(\"paste.mask drop.mask\",function(){setTimeout(function(){e.keydown().keyup()},100)}).on(\"change.mask\",function(){e.data(\"changed\",!0)}).on(\"blur.mask\",function(){o===i.val()||e.data(\"changed\")||e.trigger(\"change\"),e.data(\"changed\",!1)}).on(\"blur.mask\",function(){o=i.val()}).on(\"focus.mask\",function(e){!0===n.selectOnFocus&&t(e.target).select()}).on(\"focusout.mask\",function(){n.clearIfNotMatch&&!a.test(i.val())&&i.val(\"\")})},getRegexMask:function(){for(var t,e,n,i,a=[],o=0;o<l.length;o++)(t=r.translation[l.charAt(o)])?(e=t.pattern.toString().replace(/.{1}$|^.{1}/g,\"\"),n=t.optional,(t=t.recursive)?(a.push(l.charAt(o)),i={digit:l.charAt(o),pattern:e}):a.push(n||t?e+\"?\":e)):a.push(l.charAt(o).replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\"));return a=a.join(\"\"),i&&(a=a.replace(new RegExp(\"(\"+i.digit+\"(.*\"+i.digit+\")?)\"),\"($1)?\").replace(new RegExp(i.digit,\"g\"),i.pattern)),new RegExp(a)},destroyEvents:function(){e.off(\"input keydown keyup paste drop blur focusout \".split(\" \").join(\".mask \"))},val:function(t){var l=e.is(\"input\")?\"val\":\"text\";return 0<arguments.length?(e[l]()!==t&&e[l](t),l=e):l=e[l](),l},calculateCaretPosition:function(){var t=e.data(\"mask-previus-value\")||\"\",l=i.getMasked(),n=i.getCaret();if(t!==l){var a,r=e.data(\"mask-previus-caret-pos\")||0,l=l.length,o=t.length,s=t=0,c=0,u=0;for(a=n;a<l&&i.maskDigitPosMap[a];a++)s++;for(a=n-1;0<=a&&i.maskDigitPosMap[a];a--)t++;for(a=n-1;0<=a;a--)i.maskDigitPosMap[a]&&c++;for(a=r-1;0<=a;a--)i.maskDigitPosMapOld[a]&&u++;n>o?n=10*l:r>=n&&r!==o?i.maskDigitPosMapOld[n]||(r=n,n=n-(u-c)-t,i.maskDigitPosMap[n]&&(n=r)):n>r&&(n=n+(c-u)+s)}return n},behaviour:function(l){l=l||window.event,i.invalid=[];var n=e.data(\"mask-keycode\");if(-1===t.inArray(n,r.byPassKeys)){var n=i.getMasked(),a=i.getCaret();return setTimeout(function(){i.setCaret(i.calculateCaretPosition())},t.jMaskGlobals.keyStrokeCompensation),i.val(n),i.setCaret(a),i.callbacks(l)}},getMasked:function(t,e){var a,o,s,c=[],u=void 0===e?i.val():e+\"\",d=0,h=l.length,f=0,p=u.length,g=1,m=\"push\",b=-1,v=0,y=[];for(n.reverse?(m=\"unshift\",g=-1,a=0,d=h-1,f=p-1,o=function(){return-1<d&&-1<f}):(a=h-1,o=function(){return d<h&&f<p});o();){var x=l.charAt(d),_=u.charAt(f),w=r.translation[x];w?(_.match(w.pattern)?(c[m](_),w.recursive&&(-1===b?b=d:d===a&&d!==b&&(d=b-g),a===b&&(d-=g)),d+=g):_===s?(v--,s=void 0):w.optional?(d+=g,f-=g):w.fallback?(c[m](w.fallback),d+=g,f-=g):i.invalid.push({p:f,v:_,e:w.pattern}),f+=g):(t||c[m](x),_===x?(y.push(f),f+=g):(s=x,y.push(f+v),v++),d+=g)}return u=l.charAt(a),h!==p+1||r.translation[u]||c.push(u),c=c.join(\"\"),i.mapMaskdigitPositions(c,y,p),c},mapMaskdigitPositions:function(t,e,l){for(t=n.reverse?t.length-l:0,i.maskDigitPosMap={},l=0;l<e.length;l++)i.maskDigitPosMap[e[l]+t]=1},callbacks:function(t){var a=i.val(),r=a!==o,s=[a,t,e,n],c=function(t,e,l){\"function\"==typeof n[t]&&e&&n[t].apply(this,l)};c(\"onChange\",!0===r,s),c(\"onKeyPress\",!0===r,s),c(\"onComplete\",a.length===l.length,s),c(\"onInvalid\",0<i.invalid.length,[a,t,e,i.invalid,n])}};e=t(e);var a,r=this,o=i.val();l=\"function\"==typeof l?l(i.val(),void 0,e,n):l,r.mask=l,r.options=n,r.remove=function(){var t=i.getCaret();return r.options.placeholder&&e.removeAttr(\"placeholder\"),e.data(\"mask-maxlength\")&&e.removeAttr(\"maxlength\"),i.destroyEvents(),i.val(r.getCleanVal()),i.setCaret(t),e},r.getCleanVal=function(){return i.getMasked(!0)},r.getMaskedVal=function(t){return i.getMasked(!1,t)},r.init=function(o){if(o=o||!1,n=n||{},r.clearIfNotMatch=t.jMaskGlobals.clearIfNotMatch,r.byPassKeys=t.jMaskGlobals.byPassKeys,r.translation=t.extend({},t.jMaskGlobals.translation,n.translation),r=t.extend(!0,{},r,n),a=i.getRegexMask(),o)i.events(),i.val(i.getMasked());else{n.placeholder&&e.attr(\"placeholder\",n.placeholder),e.data(\"mask\")&&e.attr(\"autocomplete\",\"off\"),o=0;for(var s=!0;o<l.length;o++){var c=r.translation[l.charAt(o)];if(c&&c.recursive){s=!1;break}}s&&e.attr(\"maxlength\",l.length).data(\"mask-maxlength\",!0),i.destroyEvents(),i.events(),o=i.getCaret(),i.val(i.getMasked()),i.setCaret(o)}},r.init(!e.is(\"input\"))};t.maskWatchers={};var l=function(){var l=t(this),i={},a=l.attr(\"data-mask\");if(l.attr(\"data-mask-reverse\")&&(i.reverse=!0),l.attr(\"data-mask-clearifnotmatch\")&&(i.clearIfNotMatch=!0),\"true\"===l.attr(\"data-mask-selectonfocus\")&&(i.selectOnFocus=!0),n(l,a,i))return l.data(\"mask\",new e(this,a,i))},n=function(e,l,n){n=n||{};var i=t(e).data(\"mask\"),a=JSON.stringify;e=t(e).val()||t(e).text();try{return\"function\"==typeof l&&(l=l(e)),\"object\"!=typeof i||a(i.options)!==a(n)||i.mask!==l}catch(t){}},i=function(t){var e,l=document.createElement(\"div\");return(e=(t=\"on\"+t)in l)||(l.setAttribute(t,\"return;\"),e=\"function\"==typeof l[t]),e};t.fn.mask=function(l,i){i=i||{};var a=this.selector,r=t.jMaskGlobals,o=r.watchInterval,r=i.watchInputs||r.watchInputs,s=function(){if(n(this,l,i))return t(this).data(\"mask\",new e(this,l,i))};return t(this).each(s),a&&\"\"!==a&&r&&(clearInterval(t.maskWatchers[a]),t.maskWatchers[a]=setInterval(function(){t(document).find(a).each(s)},o)),this},t.fn.masked=function(t){return this.data(\"mask\").getMaskedVal(t)},t.fn.unmask=function(){return clearInterval(t.maskWatchers[this.selector]),delete t.maskWatchers[this.selector],this.each(function(){var e=t(this).data(\"mask\");e&&e.remove().removeData(\"mask\")})},t.fn.cleanVal=function(){return this.data(\"mask\").getCleanVal()},t.applyDataMask=function(e){((e=e||t.jMaskGlobals.maskElements)instanceof t?e:t(e)).filter(t.jMaskGlobals.dataMaskAttr).each(l)},i={maskElements:\"input,td,span,div\",dataMaskAttr:\"*[data-mask]\",dataMask:!0,watchInterval:300,watchInputs:!0,keyStrokeCompensation:10,useInput:!/Chrome\\/[2-4][0-9]|SamsungBrowser/.test(window.navigator.userAgent)&&i(\"input\"),watchDataMask:!1,byPassKeys:[9,16,17,18,36,37,38,39,40,91],translation:{0:{pattern:/\\d/},9:{pattern:/\\d/,optional:!0},\"#\":{pattern:/\\d/,recursive:!0},A:{pattern:/[a-zA-Z0-9]/},S:{pattern:/[a-zA-Z]/}}},t.jMaskGlobals=t.jMaskGlobals||{},(i=t.jMaskGlobals=t.extend(!0,{},i,t.jMaskGlobals)).dataMask&&t.applyDataMask(),setInterval(function(){t.jMaskGlobals.watchDataMask&&t.applyDataMask()},i.watchInterval)})?a.apply(e,r):a)||(t.exports=o)}).call(this,l(2),l(1))},function(t,e,l){l(0)(l(84))},function(t,e){t.exports=\"/*!\\n * Quill Editor v1.3.6\\n * https://quilljs.com/\\n * Copyright (c) 2014, Jason Chen\\n * Copyright (c) 2013, salesforce.com\\n */\\n(function webpackUniversalModuleDefinition(root, factory) {\\n\\tif(typeof exports === 'object' && typeof module === 'object')\\n\\t\\tmodule.exports = factory();\\n\\telse if(typeof define === 'function' && define.amd)\\n\\t\\tdefine([], factory);\\n\\telse if(typeof exports === 'object')\\n\\t\\texports[\\\"Quill\\\"] = factory();\\n\\telse\\n\\t\\troot[\\\"Quill\\\"] = factory();\\n})(typeof self !== 'undefined' ? self : this, function() {\\nreturn /******/ (function(modules) { // webpackBootstrap\\n/******/ \\t// The module cache\\n/******/ \\tvar installedModules = {};\\n/******/\\n/******/ \\t// The require function\\n/******/ \\tfunction __webpack_require__(moduleId) {\\n/******/\\n/******/ \\t\\t// Check if module is in cache\\n/******/ \\t\\tif(installedModules[moduleId]) {\\n/******/ \\t\\t\\treturn installedModules[moduleId].exports;\\n/******/ \\t\\t}\\n/******/ \\t\\t// Create a new module (and put it into the cache)\\n/******/ \\t\\tvar module = installedModules[moduleId] = {\\n/******/ \\t\\t\\ti: moduleId,\\n/******/ \\t\\t\\tl: false,\\n/******/ \\t\\t\\texports: {}\\n/******/ \\t\\t};\\n/******/\\n/******/ \\t\\t// Execute the module function\\n/******/ \\t\\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\\n/******/\\n/******/ \\t\\t// Flag the module as loaded\\n/******/ \\t\\tmodule.l = true;\\n/******/\\n/******/ \\t\\t// Return the exports of the module\\n/******/ \\t\\treturn module.exports;\\n/******/ \\t}\\n/******/\\n/******/\\n/******/ \\t// expose the modules object (__webpack_modules__)\\n/******/ \\t__webpack_require__.m = modules;\\n/******/\\n/******/ \\t// expose the module cache\\n/******/ \\t__webpack_require__.c = installedModules;\\n/******/\\n/******/ \\t// define getter function for harmony exports\\n/******/ \\t__webpack_require__.d = function(exports, name, getter) {\\n/******/ \\t\\tif(!__webpack_require__.o(exports, name)) {\\n/******/ \\t\\t\\tObject.defineProperty(exports, name, {\\n/******/ \\t\\t\\t\\tconfigurable: false,\\n/******/ \\t\\t\\t\\tenumerable: true,\\n/******/ \\t\\t\\t\\tget: getter\\n/******/ \\t\\t\\t});\\n/******/ \\t\\t}\\n/******/ \\t};\\n/******/\\n/******/ \\t// getDefaultExport function for compatibility with non-harmony modules\\n/******/ \\t__webpack_require__.n = function(module) {\\n/******/ \\t\\tvar getter = module && module.__esModule ?\\n/******/ \\t\\t\\tfunction getDefault() { return module['default']; } :\\n/******/ \\t\\t\\tfunction getModuleExports() { return module; };\\n/******/ \\t\\t__webpack_require__.d(getter, 'a', getter);\\n/******/ \\t\\treturn getter;\\n/******/ \\t};\\n/******/\\n/******/ \\t// Object.prototype.hasOwnProperty.call\\n/******/ \\t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\\n/******/\\n/******/ \\t// __webpack_public_path__\\n/******/ \\t__webpack_require__.p = \\\"\\\";\\n/******/\\n/******/ \\t// Load entry module and return exports\\n/******/ \\treturn __webpack_require__(__webpack_require__.s = 109);\\n/******/ })\\n/************************************************************************/\\n/******/ ([\\n/* 0 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar container_1 = __webpack_require__(17);\\nvar format_1 = __webpack_require__(18);\\nvar leaf_1 = __webpack_require__(19);\\nvar scroll_1 = __webpack_require__(45);\\nvar inline_1 = __webpack_require__(46);\\nvar block_1 = __webpack_require__(47);\\nvar embed_1 = __webpack_require__(48);\\nvar text_1 = __webpack_require__(49);\\nvar attributor_1 = __webpack_require__(12);\\nvar class_1 = __webpack_require__(32);\\nvar style_1 = __webpack_require__(33);\\nvar store_1 = __webpack_require__(31);\\nvar Registry = __webpack_require__(1);\\nvar Parchment = {\\n    Scope: Registry.Scope,\\n    create: Registry.create,\\n    find: Registry.find,\\n    query: Registry.query,\\n    register: Registry.register,\\n    Container: container_1.default,\\n    Format: format_1.default,\\n    Leaf: leaf_1.default,\\n    Embed: embed_1.default,\\n    Scroll: scroll_1.default,\\n    Block: block_1.default,\\n    Inline: inline_1.default,\\n    Text: text_1.default,\\n    Attributor: {\\n        Attribute: attributor_1.default,\\n        Class: class_1.default,\\n        Style: style_1.default,\\n        Store: store_1.default,\\n    },\\n};\\nexports.default = Parchment;\\n\\n\\n/***/ }),\\n/* 1 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar ParchmentError = /** @class */ (function (_super) {\\n    __extends(ParchmentError, _super);\\n    function ParchmentError(message) {\\n        var _this = this;\\n        message = '[Parchment] ' + message;\\n        _this = _super.call(this, message) || this;\\n        _this.message = message;\\n        _this.name = _this.constructor.name;\\n        return _this;\\n    }\\n    return ParchmentError;\\n}(Error));\\nexports.ParchmentError = ParchmentError;\\nvar attributes = {};\\nvar classes = {};\\nvar tags = {};\\nvar types = {};\\nexports.DATA_KEY = '__blot';\\nvar Scope;\\n(function (Scope) {\\n    Scope[Scope[\\\"TYPE\\\"] = 3] = \\\"TYPE\\\";\\n    Scope[Scope[\\\"LEVEL\\\"] = 12] = \\\"LEVEL\\\";\\n    Scope[Scope[\\\"ATTRIBUTE\\\"] = 13] = \\\"ATTRIBUTE\\\";\\n    Scope[Scope[\\\"BLOT\\\"] = 14] = \\\"BLOT\\\";\\n    Scope[Scope[\\\"INLINE\\\"] = 7] = \\\"INLINE\\\";\\n    Scope[Scope[\\\"BLOCK\\\"] = 11] = \\\"BLOCK\\\";\\n    Scope[Scope[\\\"BLOCK_BLOT\\\"] = 10] = \\\"BLOCK_BLOT\\\";\\n    Scope[Scope[\\\"INLINE_BLOT\\\"] = 6] = \\\"INLINE_BLOT\\\";\\n    Scope[Scope[\\\"BLOCK_ATTRIBUTE\\\"] = 9] = \\\"BLOCK_ATTRIBUTE\\\";\\n    Scope[Scope[\\\"INLINE_ATTRIBUTE\\\"] = 5] = \\\"INLINE_ATTRIBUTE\\\";\\n    Scope[Scope[\\\"ANY\\\"] = 15] = \\\"ANY\\\";\\n})(Scope = exports.Scope || (exports.Scope = {}));\\nfunction create(input, value) {\\n    var match = query(input);\\n    if (match == null) {\\n        throw new ParchmentError(\\\"Unable to create \\\" + input + \\\" blot\\\");\\n    }\\n    var BlotClass = match;\\n    var node = \\n    // @ts-ignore\\n    input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\\n    return new BlotClass(node, value);\\n}\\nexports.create = create;\\nfunction find(node, bubble) {\\n    if (bubble === void 0) { bubble = false; }\\n    if (node == null)\\n        return null;\\n    // @ts-ignore\\n    if (node[exports.DATA_KEY] != null)\\n        return node[exports.DATA_KEY].blot;\\n    if (bubble)\\n        return find(node.parentNode, bubble);\\n    return null;\\n}\\nexports.find = find;\\nfunction query(query, scope) {\\n    if (scope === void 0) { scope = Scope.ANY; }\\n    var match;\\n    if (typeof query === 'string') {\\n        match = types[query] || attributes[query];\\n        // @ts-ignore\\n    }\\n    else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\\n        match = types['text'];\\n    }\\n    else if (typeof query === 'number') {\\n        if (query & Scope.LEVEL & Scope.BLOCK) {\\n            match = types['block'];\\n        }\\n        else if (query & Scope.LEVEL & Scope.INLINE) {\\n            match = types['inline'];\\n        }\\n    }\\n    else if (query instanceof HTMLElement) {\\n        var names = (query.getAttribute('class') || '').split(/\\\\s+/);\\n        for (var i in names) {\\n            match = classes[names[i]];\\n            if (match)\\n                break;\\n        }\\n        match = match || tags[query.tagName];\\n    }\\n    if (match == null)\\n        return null;\\n    // @ts-ignore\\n    if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\\n        return match;\\n    return null;\\n}\\nexports.query = query;\\nfunction register() {\\n    var Definitions = [];\\n    for (var _i = 0; _i < arguments.length; _i++) {\\n        Definitions[_i] = arguments[_i];\\n    }\\n    if (Definitions.length > 1) {\\n        return Definitions.map(function (d) {\\n            return register(d);\\n        });\\n    }\\n    var Definition = Definitions[0];\\n    if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\\n        throw new ParchmentError('Invalid definition');\\n    }\\n    else if (Definition.blotName === 'abstract') {\\n        throw new ParchmentError('Cannot register abstract class');\\n    }\\n    types[Definition.blotName || Definition.attrName] = Definition;\\n    if (typeof Definition.keyName === 'string') {\\n        attributes[Definition.keyName] = Definition;\\n    }\\n    else {\\n        if (Definition.className != null) {\\n            classes[Definition.className] = Definition;\\n        }\\n        if (Definition.tagName != null) {\\n            if (Array.isArray(Definition.tagName)) {\\n                Definition.tagName = Definition.tagName.map(function (tagName) {\\n                    return tagName.toUpperCase();\\n                });\\n            }\\n            else {\\n                Definition.tagName = Definition.tagName.toUpperCase();\\n            }\\n            var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\\n            tagNames.forEach(function (tag) {\\n                if (tags[tag] == null || Definition.className == null) {\\n                    tags[tag] = Definition;\\n                }\\n            });\\n        }\\n    }\\n    return Definition;\\n}\\nexports.register = register;\\n\\n\\n/***/ }),\\n/* 2 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar diff = __webpack_require__(51);\\nvar equal = __webpack_require__(11);\\nvar extend = __webpack_require__(3);\\nvar op = __webpack_require__(20);\\n\\n\\nvar NULL_CHARACTER = String.fromCharCode(0);  // Placeholder char for embed in diff()\\n\\n\\nvar Delta = function (ops) {\\n  // Assume we are given a well formed ops\\n  if (Array.isArray(ops)) {\\n    this.ops = ops;\\n  } else if (ops != null && Array.isArray(ops.ops)) {\\n    this.ops = ops.ops;\\n  } else {\\n    this.ops = [];\\n  }\\n};\\n\\n\\nDelta.prototype.insert = function (text, attributes) {\\n  var newOp = {};\\n  if (text.length === 0) return this;\\n  newOp.insert = text;\\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\\n    newOp.attributes = attributes;\\n  }\\n  return this.push(newOp);\\n};\\n\\nDelta.prototype['delete'] = function (length) {\\n  if (length <= 0) return this;\\n  return this.push({ 'delete': length });\\n};\\n\\nDelta.prototype.retain = function (length, attributes) {\\n  if (length <= 0) return this;\\n  var newOp = { retain: length };\\n  if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\\n    newOp.attributes = attributes;\\n  }\\n  return this.push(newOp);\\n};\\n\\nDelta.prototype.push = function (newOp) {\\n  var index = this.ops.length;\\n  var lastOp = this.ops[index - 1];\\n  newOp = extend(true, {}, newOp);\\n  if (typeof lastOp === 'object') {\\n    if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\\n      this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\\n      return this;\\n    }\\n    // Since it does not matter if we insert before or after deleting at the same index,\\n    // always prefer to insert first\\n    if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\\n      index -= 1;\\n      lastOp = this.ops[index - 1];\\n      if (typeof lastOp !== 'object') {\\n        this.ops.unshift(newOp);\\n        return this;\\n      }\\n    }\\n    if (equal(newOp.attributes, lastOp.attributes)) {\\n      if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\\n        this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\\n        return this;\\n      } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\\n        this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\\n        if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\\n        return this;\\n      }\\n    }\\n  }\\n  if (index === this.ops.length) {\\n    this.ops.push(newOp);\\n  } else {\\n    this.ops.splice(index, 0, newOp);\\n  }\\n  return this;\\n};\\n\\nDelta.prototype.chop = function () {\\n  var lastOp = this.ops[this.ops.length - 1];\\n  if (lastOp && lastOp.retain && !lastOp.attributes) {\\n    this.ops.pop();\\n  }\\n  return this;\\n};\\n\\nDelta.prototype.filter = function (predicate) {\\n  return this.ops.filter(predicate);\\n};\\n\\nDelta.prototype.forEach = function (predicate) {\\n  this.ops.forEach(predicate);\\n};\\n\\nDelta.prototype.map = function (predicate) {\\n  return this.ops.map(predicate);\\n};\\n\\nDelta.prototype.partition = function (predicate) {\\n  var passed = [], failed = [];\\n  this.forEach(function(op) {\\n    var target = predicate(op) ? passed : failed;\\n    target.push(op);\\n  });\\n  return [passed, failed];\\n};\\n\\nDelta.prototype.reduce = function (predicate, initial) {\\n  return this.ops.reduce(predicate, initial);\\n};\\n\\nDelta.prototype.changeLength = function () {\\n  return this.reduce(function (length, elem) {\\n    if (elem.insert) {\\n      return length + op.length(elem);\\n    } else if (elem.delete) {\\n      return length - elem.delete;\\n    }\\n    return length;\\n  }, 0);\\n};\\n\\nDelta.prototype.length = function () {\\n  return this.reduce(function (length, elem) {\\n    return length + op.length(elem);\\n  }, 0);\\n};\\n\\nDelta.prototype.slice = function (start, end) {\\n  start = start || 0;\\n  if (typeof end !== 'number') end = Infinity;\\n  var ops = [];\\n  var iter = op.iterator(this.ops);\\n  var index = 0;\\n  while (index < end && iter.hasNext()) {\\n    var nextOp;\\n    if (index < start) {\\n      nextOp = iter.next(start - index);\\n    } else {\\n      nextOp = iter.next(end - index);\\n      ops.push(nextOp);\\n    }\\n    index += op.length(nextOp);\\n  }\\n  return new Delta(ops);\\n};\\n\\n\\nDelta.prototype.compose = function (other) {\\n  var thisIter = op.iterator(this.ops);\\n  var otherIter = op.iterator(other.ops);\\n  var delta = new Delta();\\n  while (thisIter.hasNext() || otherIter.hasNext()) {\\n    if (otherIter.peekType() === 'insert') {\\n      delta.push(otherIter.next());\\n    } else if (thisIter.peekType() === 'delete') {\\n      delta.push(thisIter.next());\\n    } else {\\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\\n      var thisOp = thisIter.next(length);\\n      var otherOp = otherIter.next(length);\\n      if (typeof otherOp.retain === 'number') {\\n        var newOp = {};\\n        if (typeof thisOp.retain === 'number') {\\n          newOp.retain = length;\\n        } else {\\n          newOp.insert = thisOp.insert;\\n        }\\n        // Preserve null when composing with a retain, otherwise remove it for inserts\\n        var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\\n        if (attributes) newOp.attributes = attributes;\\n        delta.push(newOp);\\n      // Other op should be delete, we could be an insert or retain\\n      // Insert + delete cancels out\\n      } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\\n        delta.push(otherOp);\\n      }\\n    }\\n  }\\n  return delta.chop();\\n};\\n\\nDelta.prototype.concat = function (other) {\\n  var delta = new Delta(this.ops.slice());\\n  if (other.ops.length > 0) {\\n    delta.push(other.ops[0]);\\n    delta.ops = delta.ops.concat(other.ops.slice(1));\\n  }\\n  return delta;\\n};\\n\\nDelta.prototype.diff = function (other, index) {\\n  if (this.ops === other.ops) {\\n    return new Delta();\\n  }\\n  var strings = [this, other].map(function (delta) {\\n    return delta.map(function (op) {\\n      if (op.insert != null) {\\n        return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\\n      }\\n      var prep = (delta === other) ? 'on' : 'with';\\n      throw new Error('diff() called ' + prep + ' non-document');\\n    }).join('');\\n  });\\n  var delta = new Delta();\\n  var diffResult = diff(strings[0], strings[1], index);\\n  var thisIter = op.iterator(this.ops);\\n  var otherIter = op.iterator(other.ops);\\n  diffResult.forEach(function (component) {\\n    var length = component[1].length;\\n    while (length > 0) {\\n      var opLength = 0;\\n      switch (component[0]) {\\n        case diff.INSERT:\\n          opLength = Math.min(otherIter.peekLength(), length);\\n          delta.push(otherIter.next(opLength));\\n          break;\\n        case diff.DELETE:\\n          opLength = Math.min(length, thisIter.peekLength());\\n          thisIter.next(opLength);\\n          delta['delete'](opLength);\\n          break;\\n        case diff.EQUAL:\\n          opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\\n          var thisOp = thisIter.next(opLength);\\n          var otherOp = otherIter.next(opLength);\\n          if (equal(thisOp.insert, otherOp.insert)) {\\n            delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\\n          } else {\\n            delta.push(otherOp)['delete'](opLength);\\n          }\\n          break;\\n      }\\n      length -= opLength;\\n    }\\n  });\\n  return delta.chop();\\n};\\n\\nDelta.prototype.eachLine = function (predicate, newline) {\\n  newline = newline || '\\\\n';\\n  var iter = op.iterator(this.ops);\\n  var line = new Delta();\\n  var i = 0;\\n  while (iter.hasNext()) {\\n    if (iter.peekType() !== 'insert') return;\\n    var thisOp = iter.peek();\\n    var start = op.length(thisOp) - iter.peekLength();\\n    var index = typeof thisOp.insert === 'string' ?\\n      thisOp.insert.indexOf(newline, start) - start : -1;\\n    if (index < 0) {\\n      line.push(iter.next());\\n    } else if (index > 0) {\\n      line.push(iter.next(index));\\n    } else {\\n      if (predicate(line, iter.next(1).attributes || {}, i) === false) {\\n        return;\\n      }\\n      i += 1;\\n      line = new Delta();\\n    }\\n  }\\n  if (line.length() > 0) {\\n    predicate(line, {}, i);\\n  }\\n};\\n\\nDelta.prototype.transform = function (other, priority) {\\n  priority = !!priority;\\n  if (typeof other === 'number') {\\n    return this.transformPosition(other, priority);\\n  }\\n  var thisIter = op.iterator(this.ops);\\n  var otherIter = op.iterator(other.ops);\\n  var delta = new Delta();\\n  while (thisIter.hasNext() || otherIter.hasNext()) {\\n    if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\\n      delta.retain(op.length(thisIter.next()));\\n    } else if (otherIter.peekType() === 'insert') {\\n      delta.push(otherIter.next());\\n    } else {\\n      var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\\n      var thisOp = thisIter.next(length);\\n      var otherOp = otherIter.next(length);\\n      if (thisOp['delete']) {\\n        // Our delete either makes their delete redundant or removes their retain\\n        continue;\\n      } else if (otherOp['delete']) {\\n        delta.push(otherOp);\\n      } else {\\n        // We retain either their retain or insert\\n        delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\\n      }\\n    }\\n  }\\n  return delta.chop();\\n};\\n\\nDelta.prototype.transformPosition = function (index, priority) {\\n  priority = !!priority;\\n  var thisIter = op.iterator(this.ops);\\n  var offset = 0;\\n  while (thisIter.hasNext() && offset <= index) {\\n    var length = thisIter.peekLength();\\n    var nextType = thisIter.peekType();\\n    thisIter.next();\\n    if (nextType === 'delete') {\\n      index -= Math.min(length, index - offset);\\n      continue;\\n    } else if (nextType === 'insert' && (offset < index || !priority)) {\\n      index += length;\\n    }\\n    offset += length;\\n  }\\n  return index;\\n};\\n\\n\\nmodule.exports = Delta;\\n\\n\\n/***/ }),\\n/* 3 */\\n/***/ (function(module, exports) {\\n\\n'use strict';\\n\\nvar hasOwn = Object.prototype.hasOwnProperty;\\nvar toStr = Object.prototype.toString;\\n\\nvar isArray = function isArray(arr) {\\n\\tif (typeof Array.isArray === 'function') {\\n\\t\\treturn Array.isArray(arr);\\n\\t}\\n\\n\\treturn toStr.call(arr) === '[object Array]';\\n};\\n\\nvar isPlainObject = function isPlainObject(obj) {\\n\\tif (!obj || toStr.call(obj) !== '[object Object]') {\\n\\t\\treturn false;\\n\\t}\\n\\n\\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\\n\\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\\n\\t// Not own constructor property must be Object\\n\\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\t// Own properties are enumerated firstly, so to speed up,\\n\\t// if last one is own, then all properties are own.\\n\\tvar key;\\n\\tfor (key in obj) { /**/ }\\n\\n\\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\\n};\\n\\nmodule.exports = function extend() {\\n\\tvar options, name, src, copy, copyIsArray, clone;\\n\\tvar target = arguments[0];\\n\\tvar i = 1;\\n\\tvar length = arguments.length;\\n\\tvar deep = false;\\n\\n\\t// Handle a deep copy situation\\n\\tif (typeof target === 'boolean') {\\n\\t\\tdeep = target;\\n\\t\\ttarget = arguments[1] || {};\\n\\t\\t// skip the boolean and the target\\n\\t\\ti = 2;\\n\\t}\\n\\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\\n\\t\\ttarget = {};\\n\\t}\\n\\n\\tfor (; i < length; ++i) {\\n\\t\\toptions = arguments[i];\\n\\t\\t// Only deal with non-null/undefined values\\n\\t\\tif (options != null) {\\n\\t\\t\\t// Extend the base object\\n\\t\\t\\tfor (name in options) {\\n\\t\\t\\t\\tsrc = target[name];\\n\\t\\t\\t\\tcopy = options[name];\\n\\n\\t\\t\\t\\t// Prevent never-ending loop\\n\\t\\t\\t\\tif (target !== copy) {\\n\\t\\t\\t\\t\\t// Recurse if we're merging plain objects or arrays\\n\\t\\t\\t\\t\\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\\n\\t\\t\\t\\t\\t\\tif (copyIsArray) {\\n\\t\\t\\t\\t\\t\\t\\tcopyIsArray = false;\\n\\t\\t\\t\\t\\t\\t\\tclone = src && isArray(src) ? src : [];\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\tclone = src && isPlainObject(src) ? src : {};\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// Never move original objects, clone them\\n\\t\\t\\t\\t\\t\\ttarget[name] = extend(deep, clone, copy);\\n\\n\\t\\t\\t\\t\\t// Don't bring in undefined values\\n\\t\\t\\t\\t\\t} else if (typeof copy !== 'undefined') {\\n\\t\\t\\t\\t\\t\\ttarget[name] = copy;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Return the modified object\\n\\treturn target;\\n};\\n\\n\\n/***/ }),\\n/* 4 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _break = __webpack_require__(16);\\n\\nvar _break2 = _interopRequireDefault(_break);\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nvar _text = __webpack_require__(7);\\n\\nvar _text2 = _interopRequireDefault(_text);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar NEWLINE_LENGTH = 1;\\n\\nvar BlockEmbed = function (_Parchment$Embed) {\\n  _inherits(BlockEmbed, _Parchment$Embed);\\n\\n  function BlockEmbed() {\\n    _classCallCheck(this, BlockEmbed);\\n\\n    return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\\n  }\\n\\n  _createClass(BlockEmbed, [{\\n    key: 'attach',\\n    value: function attach() {\\n      _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\\n      this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\\n    }\\n  }, {\\n    key: 'delta',\\n    value: function delta() {\\n      return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\\n    }\\n  }, {\\n    key: 'format',\\n    value: function format(name, value) {\\n      var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\\n      if (attribute != null) {\\n        this.attributes.attribute(attribute, value);\\n      }\\n    }\\n  }, {\\n    key: 'formatAt',\\n    value: function formatAt(index, length, name, value) {\\n      this.format(name, value);\\n    }\\n  }, {\\n    key: 'insertAt',\\n    value: function insertAt(index, value, def) {\\n      if (typeof value === 'string' && value.endsWith('\\\\n')) {\\n        var block = _parchment2.default.create(Block.blotName);\\n        this.parent.insertBefore(block, index === 0 ? this : this.next);\\n        block.insertAt(0, value.slice(0, -1));\\n      } else {\\n        _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\\n      }\\n    }\\n  }]);\\n\\n  return BlockEmbed;\\n}(_parchment2.default.Embed);\\n\\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\\n\\n\\nvar Block = function (_Parchment$Block) {\\n  _inherits(Block, _Parchment$Block);\\n\\n  function Block(domNode) {\\n    _classCallCheck(this, Block);\\n\\n    var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\\n\\n    _this2.cache = {};\\n    return _this2;\\n  }\\n\\n  _createClass(Block, [{\\n    key: 'delta',\\n    value: function delta() {\\n      if (this.cache.delta == null) {\\n        this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\\n          if (leaf.length() === 0) {\\n            return delta;\\n          } else {\\n            return delta.insert(leaf.value(), bubbleFormats(leaf));\\n          }\\n        }, new _quillDelta2.default()).insert('\\\\n', bubbleFormats(this));\\n      }\\n      return this.cache.delta;\\n    }\\n  }, {\\n    key: 'deleteAt',\\n    value: function deleteAt(index, length) {\\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\\n      this.cache = {};\\n    }\\n  }, {\\n    key: 'formatAt',\\n    value: function formatAt(index, length, name, value) {\\n      if (length <= 0) return;\\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\\n        if (index + length === this.length()) {\\n          this.format(name, value);\\n        }\\n      } else {\\n        _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\\n      }\\n      this.cache = {};\\n    }\\n  }, {\\n    key: 'insertAt',\\n    value: function insertAt(index, value, def) {\\n      if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\\n      if (value.length === 0) return;\\n      var lines = value.split('\\\\n');\\n      var text = lines.shift();\\n      if (text.length > 0) {\\n        if (index < this.length() - 1 || this.children.tail == null) {\\n          _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\\n        } else {\\n          this.children.tail.insertAt(this.children.tail.length(), text);\\n        }\\n        this.cache = {};\\n      }\\n      var block = this;\\n      lines.reduce(function (index, line) {\\n        block = block.split(index, true);\\n        block.insertAt(0, line);\\n        return line.length;\\n      }, index + text.length);\\n    }\\n  }, {\\n    key: 'insertBefore',\\n    value: function insertBefore(blot, ref) {\\n      var head = this.children.head;\\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\\n      if (head instanceof _break2.default) {\\n        head.remove();\\n      }\\n      this.cache = {};\\n    }\\n  }, {\\n    key: 'length',\\n    value: function length() {\\n      if (this.cache.length == null) {\\n        this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\\n      }\\n      return this.cache.length;\\n    }\\n  }, {\\n    key: 'moveChildren',\\n    value: function moveChildren(target, ref) {\\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\\n      this.cache = {};\\n    }\\n  }, {\\n    key: 'optimize',\\n    value: function optimize(context) {\\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\\n      this.cache = {};\\n    }\\n  }, {\\n    key: 'path',\\n    value: function path(index) {\\n      return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\\n    }\\n  }, {\\n    key: 'removeChild',\\n    value: function removeChild(child) {\\n      _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\\n      this.cache = {};\\n    }\\n  }, {\\n    key: 'split',\\n    value: function split(index) {\\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\\n\\n      if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\\n        var clone = this.clone();\\n        if (index === 0) {\\n          this.parent.insertBefore(clone, this);\\n          return this;\\n        } else {\\n          this.parent.insertBefore(clone, this.next);\\n          return clone;\\n        }\\n      } else {\\n        var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\\n        this.cache = {};\\n        return next;\\n      }\\n    }\\n  }]);\\n\\n  return Block;\\n}(_parchment2.default.Block);\\n\\nBlock.blotName = 'block';\\nBlock.tagName = 'P';\\nBlock.defaultChild = 'break';\\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\\n\\nfunction bubbleFormats(blot) {\\n  var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n\\n  if (blot == null) return formats;\\n  if (typeof blot.formats === 'function') {\\n    formats = (0, _extend2.default)(formats, blot.formats());\\n  }\\n  if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\\n    return formats;\\n  }\\n  return bubbleFormats(blot.parent, formats);\\n}\\n\\nexports.bubbleFormats = bubbleFormats;\\nexports.BlockEmbed = BlockEmbed;\\nexports.default = Block;\\n\\n/***/ }),\\n/* 5 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.overload = exports.expandConfig = undefined;\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\n__webpack_require__(50);\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _editor = __webpack_require__(14);\\n\\nvar _editor2 = _interopRequireDefault(_editor);\\n\\nvar _emitter3 = __webpack_require__(8);\\n\\nvar _emitter4 = _interopRequireDefault(_emitter3);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _selection = __webpack_require__(15);\\n\\nvar _selection2 = _interopRequireDefault(_selection);\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nvar _logger = __webpack_require__(10);\\n\\nvar _logger2 = _interopRequireDefault(_logger);\\n\\nvar _theme = __webpack_require__(34);\\n\\nvar _theme2 = _interopRequireDefault(_theme);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar debug = (0, _logger2.default)('quill');\\n\\nvar Quill = function () {\\n  _createClass(Quill, null, [{\\n    key: 'debug',\\n    value: function debug(limit) {\\n      if (limit === true) {\\n        limit = 'log';\\n      }\\n      _logger2.default.level(limit);\\n    }\\n  }, {\\n    key: 'find',\\n    value: function find(node) {\\n      return node.__quill || _parchment2.default.find(node);\\n    }\\n  }, {\\n    key: 'import',\\n    value: function _import(name) {\\n      if (this.imports[name] == null) {\\n        debug.error('Cannot import ' + name + '. Are you sure it was registered?');\\n      }\\n      return this.imports[name];\\n    }\\n  }, {\\n    key: 'register',\\n    value: function register(path, target) {\\n      var _this = this;\\n\\n      var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\\n\\n      if (typeof path !== 'string') {\\n        var name = path.attrName || path.blotName;\\n        if (typeof name === 'string') {\\n          // register(Blot | Attributor, overwrite)\\n          this.register('formats/' + name, path, target);\\n        } else {\\n          Object.keys(path).forEach(function (key) {\\n            _this.register(key, path[key], target);\\n          });\\n        }\\n      } else {\\n        if (this.imports[path] != null && !overwrite) {\\n          debug.warn('Overwriting ' + path + ' with', target);\\n        }\\n        this.imports[path] = target;\\n        if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\\n          _parchment2.default.register(target);\\n        } else if (path.startsWith('modules') && typeof target.register === 'function') {\\n          target.register();\\n        }\\n      }\\n    }\\n  }]);\\n\\n  function Quill(container) {\\n    var _this2 = this;\\n\\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n\\n    _classCallCheck(this, Quill);\\n\\n    this.options = expandConfig(container, options);\\n    this.container = this.options.container;\\n    if (this.container == null) {\\n      return debug.error('Invalid Quill container', container);\\n    }\\n    if (this.options.debug) {\\n      Quill.debug(this.options.debug);\\n    }\\n    var html = this.container.innerHTML.trim();\\n    this.container.classList.add('ql-container');\\n    this.container.innerHTML = '';\\n    this.container.__quill = this;\\n    this.root = this.addContainer('ql-editor');\\n    this.root.classList.add('ql-blank');\\n    this.root.setAttribute('data-gramm', false);\\n    this.scrollingContainer = this.options.scrollingContainer || this.root;\\n    this.emitter = new _emitter4.default();\\n    this.scroll = _parchment2.default.create(this.root, {\\n      emitter: this.emitter,\\n      whitelist: this.options.formats\\n    });\\n    this.editor = new _editor2.default(this.scroll);\\n    this.selection = new _selection2.default(this.scroll, this.emitter);\\n    this.theme = new this.options.theme(this, this.options);\\n    this.keyboard = this.theme.addModule('keyboard');\\n    this.clipboard = this.theme.addModule('clipboard');\\n    this.history = this.theme.addModule('history');\\n    this.theme.init();\\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\\n      if (type === _emitter4.default.events.TEXT_CHANGE) {\\n        _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\\n      }\\n    });\\n    this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\\n      var range = _this2.selection.lastRange;\\n      var index = range && range.length === 0 ? range.index : undefined;\\n      modify.call(_this2, function () {\\n        return _this2.editor.update(null, mutations, index);\\n      }, source);\\n    });\\n    var contents = this.clipboard.convert('<div class=\\\\'ql-editor\\\\' style=\\\"white-space: normal;\\\">' + html + '<p><br></p></div>');\\n    this.setContents(contents);\\n    this.history.clear();\\n    if (this.options.placeholder) {\\n      this.root.setAttribute('data-placeholder', this.options.placeholder);\\n    }\\n    if (this.options.readOnly) {\\n      this.disable();\\n    }\\n  }\\n\\n  _createClass(Quill, [{\\n    key: 'addContainer',\\n    value: function addContainer(container) {\\n      var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\\n\\n      if (typeof container === 'string') {\\n        var className = container;\\n        container = document.createElement('div');\\n        container.classList.add(className);\\n      }\\n      this.container.insertBefore(container, refNode);\\n      return container;\\n    }\\n  }, {\\n    key: 'blur',\\n    value: function blur() {\\n      this.selection.setRange(null);\\n    }\\n  }, {\\n    key: 'deleteText',\\n    value: function deleteText(index, length, source) {\\n      var _this3 = this;\\n\\n      var _overload = overload(index, length, source);\\n\\n      var _overload2 = _slicedToArray(_overload, 4);\\n\\n      index = _overload2[0];\\n      length = _overload2[1];\\n      source = _overload2[3];\\n\\n      return modify.call(this, function () {\\n        return _this3.editor.deleteText(index, length);\\n      }, source, index, -1 * length);\\n    }\\n  }, {\\n    key: 'disable',\\n    value: function disable() {\\n      this.enable(false);\\n    }\\n  }, {\\n    key: 'enable',\\n    value: function enable() {\\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\\n\\n      this.scroll.enable(enabled);\\n      this.container.classList.toggle('ql-disabled', !enabled);\\n    }\\n  }, {\\n    key: 'focus',\\n    value: function focus() {\\n      var scrollTop = this.scrollingContainer.scrollTop;\\n      this.selection.focus();\\n      this.scrollingContainer.scrollTop = scrollTop;\\n      this.scrollIntoView();\\n    }\\n  }, {\\n    key: 'format',\\n    value: function format(name, value) {\\n      var _this4 = this;\\n\\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\\n\\n      return modify.call(this, function () {\\n        var range = _this4.getSelection(true);\\n        var change = new _quillDelta2.default();\\n        if (range == null) {\\n          return change;\\n        } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\\n          change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\\n        } else if (range.length === 0) {\\n          _this4.selection.format(name, value);\\n          return change;\\n        } else {\\n          change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\\n        }\\n        _this4.setSelection(range, _emitter4.default.sources.SILENT);\\n        return change;\\n      }, source);\\n    }\\n  }, {\\n    key: 'formatLine',\\n    value: function formatLine(index, length, name, value, source) {\\n      var _this5 = this;\\n\\n      var formats = void 0;\\n\\n      var _overload3 = overload(index, length, name, value, source);\\n\\n      var _overload4 = _slicedToArray(_overload3, 4);\\n\\n      index = _overload4[0];\\n      length = _overload4[1];\\n      formats = _overload4[2];\\n      source = _overload4[3];\\n\\n      return modify.call(this, function () {\\n        return _this5.editor.formatLine(index, length, formats);\\n      }, source, index, 0);\\n    }\\n  }, {\\n    key: 'formatText',\\n    value: function formatText(index, length, name, value, source) {\\n      var _this6 = this;\\n\\n      var formats = void 0;\\n\\n      var _overload5 = overload(index, length, name, value, source);\\n\\n      var _overload6 = _slicedToArray(_overload5, 4);\\n\\n      index = _overload6[0];\\n      length = _overload6[1];\\n      formats = _overload6[2];\\n      source = _overload6[3];\\n\\n      return modify.call(this, function () {\\n        return _this6.editor.formatText(index, length, formats);\\n      }, source, index, 0);\\n    }\\n  }, {\\n    key: 'getBounds',\\n    value: function getBounds(index) {\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\\n\\n      var bounds = void 0;\\n      if (typeof index === 'number') {\\n        bounds = this.selection.getBounds(index, length);\\n      } else {\\n        bounds = this.selection.getBounds(index.index, index.length);\\n      }\\n      var containerBounds = this.container.getBoundingClientRect();\\n      return {\\n        bottom: bounds.bottom - containerBounds.top,\\n        height: bounds.height,\\n        left: bounds.left - containerBounds.left,\\n        right: bounds.right - containerBounds.left,\\n        top: bounds.top - containerBounds.top,\\n        width: bounds.width\\n      };\\n    }\\n  }, {\\n    key: 'getContents',\\n    value: function getContents() {\\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\\n\\n      var _overload7 = overload(index, length);\\n\\n      var _overload8 = _slicedToArray(_overload7, 2);\\n\\n      index = _overload8[0];\\n      length = _overload8[1];\\n\\n      return this.editor.getContents(index, length);\\n    }\\n  }, {\\n    key: 'getFormat',\\n    value: function getFormat() {\\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\\n\\n      if (typeof index === 'number') {\\n        return this.editor.getFormat(index, length);\\n      } else {\\n        return this.editor.getFormat(index.index, index.length);\\n      }\\n    }\\n  }, {\\n    key: 'getIndex',\\n    value: function getIndex(blot) {\\n      return blot.offset(this.scroll);\\n    }\\n  }, {\\n    key: 'getLength',\\n    value: function getLength() {\\n      return this.scroll.length();\\n    }\\n  }, {\\n    key: 'getLeaf',\\n    value: function getLeaf(index) {\\n      return this.scroll.leaf(index);\\n    }\\n  }, {\\n    key: 'getLine',\\n    value: function getLine(index) {\\n      return this.scroll.line(index);\\n    }\\n  }, {\\n    key: 'getLines',\\n    value: function getLines() {\\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\\n\\n      if (typeof index !== 'number') {\\n        return this.scroll.lines(index.index, index.length);\\n      } else {\\n        return this.scroll.lines(index, length);\\n      }\\n    }\\n  }, {\\n    key: 'getModule',\\n    value: function getModule(name) {\\n      return this.theme.modules[name];\\n    }\\n  }, {\\n    key: 'getSelection',\\n    value: function getSelection() {\\n      var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\\n\\n      if (focus) this.focus();\\n      this.update(); // Make sure we access getRange with editor in consistent state\\n      return this.selection.getRange()[0];\\n    }\\n  }, {\\n    key: 'getText',\\n    value: function getText() {\\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\\n\\n      var _overload9 = overload(index, length);\\n\\n      var _overload10 = _slicedToArray(_overload9, 2);\\n\\n      index = _overload10[0];\\n      length = _overload10[1];\\n\\n      return this.editor.getText(index, length);\\n    }\\n  }, {\\n    key: 'hasFocus',\\n    value: function hasFocus() {\\n      return this.selection.hasFocus();\\n    }\\n  }, {\\n    key: 'insertEmbed',\\n    value: function insertEmbed(index, embed, value) {\\n      var _this7 = this;\\n\\n      var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\\n\\n      return modify.call(this, function () {\\n        return _this7.editor.insertEmbed(index, embed, value);\\n      }, source, index);\\n    }\\n  }, {\\n    key: 'insertText',\\n    value: function insertText(index, text, name, value, source) {\\n      var _this8 = this;\\n\\n      var formats = void 0;\\n\\n      var _overload11 = overload(index, 0, name, value, source);\\n\\n      var _overload12 = _slicedToArray(_overload11, 4);\\n\\n      index = _overload12[0];\\n      formats = _overload12[2];\\n      source = _overload12[3];\\n\\n      return modify.call(this, function () {\\n        return _this8.editor.insertText(index, text, formats);\\n      }, source, index, text.length);\\n    }\\n  }, {\\n    key: 'isEnabled',\\n    value: function isEnabled() {\\n      return !this.container.classList.contains('ql-disabled');\\n    }\\n  }, {\\n    key: 'off',\\n    value: function off() {\\n      return this.emitter.off.apply(this.emitter, arguments);\\n    }\\n  }, {\\n    key: 'on',\\n    value: function on() {\\n      return this.emitter.on.apply(this.emitter, arguments);\\n    }\\n  }, {\\n    key: 'once',\\n    value: function once() {\\n      return this.emitter.once.apply(this.emitter, arguments);\\n    }\\n  }, {\\n    key: 'pasteHTML',\\n    value: function pasteHTML(index, html, source) {\\n      this.clipboard.dangerouslyPasteHTML(index, html, source);\\n    }\\n  }, {\\n    key: 'removeFormat',\\n    value: function removeFormat(index, length, source) {\\n      var _this9 = this;\\n\\n      var _overload13 = overload(index, length, source);\\n\\n      var _overload14 = _slicedToArray(_overload13, 4);\\n\\n      index = _overload14[0];\\n      length = _overload14[1];\\n      source = _overload14[3];\\n\\n      return modify.call(this, function () {\\n        return _this9.editor.removeFormat(index, length);\\n      }, source, index);\\n    }\\n  }, {\\n    key: 'scrollIntoView',\\n    value: function scrollIntoView() {\\n      this.selection.scrollIntoView(this.scrollingContainer);\\n    }\\n  }, {\\n    key: 'setContents',\\n    value: function setContents(delta) {\\n      var _this10 = this;\\n\\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\\n\\n      return modify.call(this, function () {\\n        delta = new _quillDelta2.default(delta);\\n        var length = _this10.getLength();\\n        var deleted = _this10.editor.deleteText(0, length);\\n        var applied = _this10.editor.applyDelta(delta);\\n        var lastOp = applied.ops[applied.ops.length - 1];\\n        if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\\\n') {\\n          _this10.editor.deleteText(_this10.getLength() - 1, 1);\\n          applied.delete(1);\\n        }\\n        var ret = deleted.compose(applied);\\n        return ret;\\n      }, source);\\n    }\\n  }, {\\n    key: 'setSelection',\\n    value: function setSelection(index, length, source) {\\n      if (index == null) {\\n        this.selection.setRange(null, length || Quill.sources.API);\\n      } else {\\n        var _overload15 = overload(index, length, source);\\n\\n        var _overload16 = _slicedToArray(_overload15, 4);\\n\\n        index = _overload16[0];\\n        length = _overload16[1];\\n        source = _overload16[3];\\n\\n        this.selection.setRange(new _selection.Range(index, length), source);\\n        if (source !== _emitter4.default.sources.SILENT) {\\n          this.selection.scrollIntoView(this.scrollingContainer);\\n        }\\n      }\\n    }\\n  }, {\\n    key: 'setText',\\n    value: function setText(text) {\\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\\n\\n      var delta = new _quillDelta2.default().insert(text);\\n      return this.setContents(delta, source);\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update() {\\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\\n\\n      var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\\n      this.selection.update(source);\\n      return change;\\n    }\\n  }, {\\n    key: 'updateContents',\\n    value: function updateContents(delta) {\\n      var _this11 = this;\\n\\n      var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\\n\\n      return modify.call(this, function () {\\n        delta = new _quillDelta2.default(delta);\\n        return _this11.editor.applyDelta(delta, source);\\n      }, source, true);\\n    }\\n  }]);\\n\\n  return Quill;\\n}();\\n\\nQuill.DEFAULTS = {\\n  bounds: null,\\n  formats: null,\\n  modules: {},\\n  placeholder: '',\\n  readOnly: false,\\n  scrollingContainer: null,\\n  strict: true,\\n  theme: 'default'\\n};\\nQuill.events = _emitter4.default.events;\\nQuill.sources = _emitter4.default.sources;\\n// eslint-disable-next-line no-undef\\nQuill.version =  false ? 'dev' : \\\"1.3.6\\\";\\n\\nQuill.imports = {\\n  'delta': _quillDelta2.default,\\n  'parchment': _parchment2.default,\\n  'core/module': _module2.default,\\n  'core/theme': _theme2.default\\n};\\n\\nfunction expandConfig(container, userConfig) {\\n  userConfig = (0, _extend2.default)(true, {\\n    container: container,\\n    modules: {\\n      clipboard: true,\\n      keyboard: true,\\n      history: true\\n    }\\n  }, userConfig);\\n  if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\\n    userConfig.theme = _theme2.default;\\n  } else {\\n    userConfig.theme = Quill.import('themes/' + userConfig.theme);\\n    if (userConfig.theme == null) {\\n      throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\\n    }\\n  }\\n  var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\\n  [themeConfig, userConfig].forEach(function (config) {\\n    config.modules = config.modules || {};\\n    Object.keys(config.modules).forEach(function (module) {\\n      if (config.modules[module] === true) {\\n        config.modules[module] = {};\\n      }\\n    });\\n  });\\n  var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\\n  var moduleConfig = moduleNames.reduce(function (config, name) {\\n    var moduleClass = Quill.import('modules/' + name);\\n    if (moduleClass == null) {\\n      debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\\n    } else {\\n      config[name] = moduleClass.DEFAULTS || {};\\n    }\\n    return config;\\n  }, {});\\n  // Special case toolbar shorthand\\n  if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\\n    userConfig.modules.toolbar = {\\n      container: userConfig.modules.toolbar\\n    };\\n  }\\n  userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\\n  ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\\n    if (typeof userConfig[key] === 'string') {\\n      userConfig[key] = document.querySelector(userConfig[key]);\\n    }\\n  });\\n  userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\\n    if (userConfig.modules[name]) {\\n      config[name] = userConfig.modules[name];\\n    }\\n    return config;\\n  }, {});\\n  return userConfig;\\n}\\n\\n// Handle selection preservation and TEXT_CHANGE emission\\n// common to modification APIs\\nfunction modify(modifier, source, index, shift) {\\n  if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\\n    return new _quillDelta2.default();\\n  }\\n  var range = index == null ? null : this.getSelection();\\n  var oldDelta = this.editor.delta;\\n  var change = modifier();\\n  if (range != null) {\\n    if (index === true) index = range.index;\\n    if (shift == null) {\\n      range = shiftRange(range, change, source);\\n    } else if (shift !== 0) {\\n      range = shiftRange(range, index, shift, source);\\n    }\\n    this.setSelection(range, _emitter4.default.sources.SILENT);\\n  }\\n  if (change.length() > 0) {\\n    var _emitter;\\n\\n    var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\\n    (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\\n    if (source !== _emitter4.default.sources.SILENT) {\\n      var _emitter2;\\n\\n      (_emitter2 = this.emitter).emit.apply(_emitter2, args);\\n    }\\n  }\\n  return change;\\n}\\n\\nfunction overload(index, length, name, value, source) {\\n  var formats = {};\\n  if (typeof index.index === 'number' && typeof index.length === 'number') {\\n    // Allow for throwaway end (used by insertText/insertEmbed)\\n    if (typeof length !== 'number') {\\n      source = value, value = name, name = length, length = index.length, index = index.index;\\n    } else {\\n      length = index.length, index = index.index;\\n    }\\n  } else if (typeof length !== 'number') {\\n    source = value, value = name, name = length, length = 0;\\n  }\\n  // Handle format being object, two format name/value strings or excluded\\n  if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\\n    formats = name;\\n    source = value;\\n  } else if (typeof name === 'string') {\\n    if (value != null) {\\n      formats[name] = value;\\n    } else {\\n      source = name;\\n    }\\n  }\\n  // Handle optional source\\n  source = source || _emitter4.default.sources.API;\\n  return [index, length, formats, source];\\n}\\n\\nfunction shiftRange(range, index, length, source) {\\n  if (range == null) return null;\\n  var start = void 0,\\n      end = void 0;\\n  if (index instanceof _quillDelta2.default) {\\n    var _map = [range.index, range.index + range.length].map(function (pos) {\\n      return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\\n    });\\n\\n    var _map2 = _slicedToArray(_map, 2);\\n\\n    start = _map2[0];\\n    end = _map2[1];\\n  } else {\\n    var _map3 = [range.index, range.index + range.length].map(function (pos) {\\n      if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\\n      if (length >= 0) {\\n        return pos + length;\\n      } else {\\n        return Math.max(index, pos + length);\\n      }\\n    });\\n\\n    var _map4 = _slicedToArray(_map3, 2);\\n\\n    start = _map4[0];\\n    end = _map4[1];\\n  }\\n  return new _selection.Range(start, end - start);\\n}\\n\\nexports.expandConfig = expandConfig;\\nexports.overload = overload;\\nexports.default = Quill;\\n\\n/***/ }),\\n/* 6 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _text = __webpack_require__(7);\\n\\nvar _text2 = _interopRequireDefault(_text);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Inline = function (_Parchment$Inline) {\\n  _inherits(Inline, _Parchment$Inline);\\n\\n  function Inline() {\\n    _classCallCheck(this, Inline);\\n\\n    return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\\n  }\\n\\n  _createClass(Inline, [{\\n    key: 'formatAt',\\n    value: function formatAt(index, length, name, value) {\\n      if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\\n        var blot = this.isolate(index, length);\\n        if (value) {\\n          blot.wrap(name, value);\\n        }\\n      } else {\\n        _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\\n      }\\n    }\\n  }, {\\n    key: 'optimize',\\n    value: function optimize(context) {\\n      _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\\n      if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\\n        var parent = this.parent.isolate(this.offset(), this.length());\\n        this.moveChildren(parent);\\n        parent.wrap(this);\\n      }\\n    }\\n  }], [{\\n    key: 'compare',\\n    value: function compare(self, other) {\\n      var selfIndex = Inline.order.indexOf(self);\\n      var otherIndex = Inline.order.indexOf(other);\\n      if (selfIndex >= 0 || otherIndex >= 0) {\\n        return selfIndex - otherIndex;\\n      } else if (self === other) {\\n        return 0;\\n      } else if (self < other) {\\n        return -1;\\n      } else {\\n        return 1;\\n      }\\n    }\\n  }]);\\n\\n  return Inline;\\n}(_parchment2.default.Inline);\\n\\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\\nInline.order = ['cursor', 'inline', // Must be lower\\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\\n];\\n\\nexports.default = Inline;\\n\\n/***/ }),\\n/* 7 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar TextBlot = function (_Parchment$Text) {\\n  _inherits(TextBlot, _Parchment$Text);\\n\\n  function TextBlot() {\\n    _classCallCheck(this, TextBlot);\\n\\n    return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\\n  }\\n\\n  return TextBlot;\\n}(_parchment2.default.Text);\\n\\nexports.default = TextBlot;\\n\\n/***/ }),\\n/* 8 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _eventemitter = __webpack_require__(54);\\n\\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\\n\\nvar _logger = __webpack_require__(10);\\n\\nvar _logger2 = _interopRequireDefault(_logger);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar debug = (0, _logger2.default)('quill:events');\\n\\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\\n\\nEVENTS.forEach(function (eventName) {\\n  document.addEventListener(eventName, function () {\\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\\n      args[_key] = arguments[_key];\\n    }\\n\\n    [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\\n      // TODO use WeakMap\\n      if (node.__quill && node.__quill.emitter) {\\n        var _node$__quill$emitter;\\n\\n        (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\\n      }\\n    });\\n  });\\n});\\n\\nvar Emitter = function (_EventEmitter) {\\n  _inherits(Emitter, _EventEmitter);\\n\\n  function Emitter() {\\n    _classCallCheck(this, Emitter);\\n\\n    var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\\n\\n    _this.listeners = {};\\n    _this.on('error', debug.error);\\n    return _this;\\n  }\\n\\n  _createClass(Emitter, [{\\n    key: 'emit',\\n    value: function emit() {\\n      debug.log.apply(debug, arguments);\\n      _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\\n    }\\n  }, {\\n    key: 'handleDOM',\\n    value: function handleDOM(event) {\\n      for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\\n        args[_key2 - 1] = arguments[_key2];\\n      }\\n\\n      (this.listeners[event.type] || []).forEach(function (_ref) {\\n        var node = _ref.node,\\n            handler = _ref.handler;\\n\\n        if (event.target === node || node.contains(event.target)) {\\n          handler.apply(undefined, [event].concat(args));\\n        }\\n      });\\n    }\\n  }, {\\n    key: 'listenDOM',\\n    value: function listenDOM(eventName, node, handler) {\\n      if (!this.listeners[eventName]) {\\n        this.listeners[eventName] = [];\\n      }\\n      this.listeners[eventName].push({ node: node, handler: handler });\\n    }\\n  }]);\\n\\n  return Emitter;\\n}(_eventemitter2.default);\\n\\nEmitter.events = {\\n  EDITOR_CHANGE: 'editor-change',\\n  SCROLL_BEFORE_UPDATE: 'scroll-before-update',\\n  SCROLL_OPTIMIZE: 'scroll-optimize',\\n  SCROLL_UPDATE: 'scroll-update',\\n  SELECTION_CHANGE: 'selection-change',\\n  TEXT_CHANGE: 'text-change'\\n};\\nEmitter.sources = {\\n  API: 'api',\\n  SILENT: 'silent',\\n  USER: 'user'\\n};\\n\\nexports.default = Emitter;\\n\\n/***/ }),\\n/* 9 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar Module = function Module(quill) {\\n  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n\\n  _classCallCheck(this, Module);\\n\\n  this.quill = quill;\\n  this.options = options;\\n};\\n\\nModule.DEFAULTS = {};\\n\\nexports.default = Module;\\n\\n/***/ }),\\n/* 10 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nvar levels = ['error', 'warn', 'log', 'info'];\\nvar level = 'warn';\\n\\nfunction debug(method) {\\n  if (levels.indexOf(method) <= levels.indexOf(level)) {\\n    var _console;\\n\\n    for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\\n      args[_key - 1] = arguments[_key];\\n    }\\n\\n    (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\\n  }\\n}\\n\\nfunction namespace(ns) {\\n  return levels.reduce(function (logger, method) {\\n    logger[method] = debug.bind(console, method, ns);\\n    return logger;\\n  }, {});\\n}\\n\\ndebug.level = namespace.level = function (newLevel) {\\n  level = newLevel;\\n};\\n\\nexports.default = namespace;\\n\\n/***/ }),\\n/* 11 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar pSlice = Array.prototype.slice;\\nvar objectKeys = __webpack_require__(52);\\nvar isArguments = __webpack_require__(53);\\n\\nvar deepEqual = module.exports = function (actual, expected, opts) {\\n  if (!opts) opts = {};\\n  // 7.1. All identical values are equivalent, as determined by ===.\\n  if (actual === expected) {\\n    return true;\\n\\n  } else if (actual instanceof Date && expected instanceof Date) {\\n    return actual.getTime() === expected.getTime();\\n\\n  // 7.3. Other pairs that do not both pass typeof value == 'object',\\n  // equivalence is determined by ==.\\n  } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\\n    return opts.strict ? actual === expected : actual == expected;\\n\\n  // 7.4. For all other Object pairs, including Array objects, equivalence is\\n  // determined by having the same number of owned properties (as verified\\n  // with Object.prototype.hasOwnProperty.call), the same set of keys\\n  // (although not necessarily the same order), equivalent values for every\\n  // corresponding key, and an identical 'prototype' property. Note: this\\n  // accounts for both named and indexed properties on Arrays.\\n  } else {\\n    return objEquiv(actual, expected, opts);\\n  }\\n}\\n\\nfunction isUndefinedOrNull(value) {\\n  return value === null || value === undefined;\\n}\\n\\nfunction isBuffer (x) {\\n  if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\\n  if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\\n    return false;\\n  }\\n  if (x.length > 0 && typeof x[0] !== 'number') return false;\\n  return true;\\n}\\n\\nfunction objEquiv(a, b, opts) {\\n  var i, key;\\n  if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\\n    return false;\\n  // an identical 'prototype' property.\\n  if (a.prototype !== b.prototype) return false;\\n  //~~~I've managed to break Object.keys through screwy arguments passing.\\n  //   Converting to array solves the problem.\\n  if (isArguments(a)) {\\n    if (!isArguments(b)) {\\n      return false;\\n    }\\n    a = pSlice.call(a);\\n    b = pSlice.call(b);\\n    return deepEqual(a, b, opts);\\n  }\\n  if (isBuffer(a)) {\\n    if (!isBuffer(b)) {\\n      return false;\\n    }\\n    if (a.length !== b.length) return false;\\n    for (i = 0; i < a.length; i++) {\\n      if (a[i] !== b[i]) return false;\\n    }\\n    return true;\\n  }\\n  try {\\n    var ka = objectKeys(a),\\n        kb = objectKeys(b);\\n  } catch (e) {//happens when one is a string literal and the other isn't\\n    return false;\\n  }\\n  // having the same number of owned properties (keys incorporates\\n  // hasOwnProperty)\\n  if (ka.length != kb.length)\\n    return false;\\n  //the same set of keys (although not necessarily the same order),\\n  ka.sort();\\n  kb.sort();\\n  //~~~cheap key test\\n  for (i = ka.length - 1; i >= 0; i--) {\\n    if (ka[i] != kb[i])\\n      return false;\\n  }\\n  //equivalent values for every corresponding key, and\\n  //~~~possibly expensive deep test\\n  for (i = ka.length - 1; i >= 0; i--) {\\n    key = ka[i];\\n    if (!deepEqual(a[key], b[key], opts)) return false;\\n  }\\n  return typeof a === typeof b;\\n}\\n\\n\\n/***/ }),\\n/* 12 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar Registry = __webpack_require__(1);\\nvar Attributor = /** @class */ (function () {\\n    function Attributor(attrName, keyName, options) {\\n        if (options === void 0) { options = {}; }\\n        this.attrName = attrName;\\n        this.keyName = keyName;\\n        var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\\n        if (options.scope != null) {\\n            // Ignore type bits, force attribute bit\\n            this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\\n        }\\n        else {\\n            this.scope = Registry.Scope.ATTRIBUTE;\\n        }\\n        if (options.whitelist != null)\\n            this.whitelist = options.whitelist;\\n    }\\n    Attributor.keys = function (node) {\\n        return [].map.call(node.attributes, function (item) {\\n            return item.name;\\n        });\\n    };\\n    Attributor.prototype.add = function (node, value) {\\n        if (!this.canAdd(node, value))\\n            return false;\\n        node.setAttribute(this.keyName, value);\\n        return true;\\n    };\\n    Attributor.prototype.canAdd = function (node, value) {\\n        var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\\n        if (match == null)\\n            return false;\\n        if (this.whitelist == null)\\n            return true;\\n        if (typeof value === 'string') {\\n            return this.whitelist.indexOf(value.replace(/[\\\"']/g, '')) > -1;\\n        }\\n        else {\\n            return this.whitelist.indexOf(value) > -1;\\n        }\\n    };\\n    Attributor.prototype.remove = function (node) {\\n        node.removeAttribute(this.keyName);\\n    };\\n    Attributor.prototype.value = function (node) {\\n        var value = node.getAttribute(this.keyName);\\n        if (this.canAdd(node, value) && value) {\\n            return value;\\n        }\\n        return '';\\n    };\\n    return Attributor;\\n}());\\nexports.default = Attributor;\\n\\n\\n/***/ }),\\n/* 13 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.Code = undefined;\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nvar _text = __webpack_require__(7);\\n\\nvar _text2 = _interopRequireDefault(_text);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Code = function (_Inline) {\\n  _inherits(Code, _Inline);\\n\\n  function Code() {\\n    _classCallCheck(this, Code);\\n\\n    return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\\n  }\\n\\n  return Code;\\n}(_inline2.default);\\n\\nCode.blotName = 'code';\\nCode.tagName = 'CODE';\\n\\nvar CodeBlock = function (_Block) {\\n  _inherits(CodeBlock, _Block);\\n\\n  function CodeBlock() {\\n    _classCallCheck(this, CodeBlock);\\n\\n    return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\\n  }\\n\\n  _createClass(CodeBlock, [{\\n    key: 'delta',\\n    value: function delta() {\\n      var _this3 = this;\\n\\n      var text = this.domNode.textContent;\\n      if (text.endsWith('\\\\n')) {\\n        // Should always be true\\n        text = text.slice(0, -1);\\n      }\\n      return text.split('\\\\n').reduce(function (delta, frag) {\\n        return delta.insert(frag).insert('\\\\n', _this3.formats());\\n      }, new _quillDelta2.default());\\n    }\\n  }, {\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (name === this.statics.blotName && value) return;\\n\\n      var _descendant = this.descendant(_text2.default, this.length() - 1),\\n          _descendant2 = _slicedToArray(_descendant, 1),\\n          text = _descendant2[0];\\n\\n      if (text != null) {\\n        text.deleteAt(text.length() - 1, 1);\\n      }\\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\\n    }\\n  }, {\\n    key: 'formatAt',\\n    value: function formatAt(index, length, name, value) {\\n      if (length === 0) return;\\n      if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\\n        return;\\n      }\\n      var nextNewline = this.newlineIndex(index);\\n      if (nextNewline < 0 || nextNewline >= index + length) return;\\n      var prevNewline = this.newlineIndex(index, true) + 1;\\n      var isolateLength = nextNewline - prevNewline + 1;\\n      var blot = this.isolate(prevNewline, isolateLength);\\n      var next = blot.next;\\n      blot.format(name, value);\\n      if (next instanceof CodeBlock) {\\n        next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\\n      }\\n    }\\n  }, {\\n    key: 'insertAt',\\n    value: function insertAt(index, value, def) {\\n      if (def != null) return;\\n\\n      var _descendant3 = this.descendant(_text2.default, index),\\n          _descendant4 = _slicedToArray(_descendant3, 2),\\n          text = _descendant4[0],\\n          offset = _descendant4[1];\\n\\n      text.insertAt(offset, value);\\n    }\\n  }, {\\n    key: 'length',\\n    value: function length() {\\n      var length = this.domNode.textContent.length;\\n      if (!this.domNode.textContent.endsWith('\\\\n')) {\\n        return length + 1;\\n      }\\n      return length;\\n    }\\n  }, {\\n    key: 'newlineIndex',\\n    value: function newlineIndex(searchIndex) {\\n      var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\\n\\n      if (!reverse) {\\n        var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\\\n');\\n        return offset > -1 ? searchIndex + offset : -1;\\n      } else {\\n        return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\\\n');\\n      }\\n    }\\n  }, {\\n    key: 'optimize',\\n    value: function optimize(context) {\\n      if (!this.domNode.textContent.endsWith('\\\\n')) {\\n        this.appendChild(_parchment2.default.create('text', '\\\\n'));\\n      }\\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\\n      var next = this.next;\\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\\n        next.optimize(context);\\n        next.moveChildren(this);\\n        next.remove();\\n      }\\n    }\\n  }, {\\n    key: 'replace',\\n    value: function replace(target) {\\n      _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\\n      [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\\n        var blot = _parchment2.default.find(node);\\n        if (blot == null) {\\n          node.parentNode.removeChild(node);\\n        } else if (blot instanceof _parchment2.default.Embed) {\\n          blot.remove();\\n        } else {\\n          blot.unwrap();\\n        }\\n      });\\n    }\\n  }], [{\\n    key: 'create',\\n    value: function create(value) {\\n      var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\\n      domNode.setAttribute('spellcheck', false);\\n      return domNode;\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats() {\\n      return true;\\n    }\\n  }]);\\n\\n  return CodeBlock;\\n}(_block2.default);\\n\\nCodeBlock.blotName = 'code-block';\\nCodeBlock.tagName = 'PRE';\\nCodeBlock.TAB = '  ';\\n\\nexports.Code = Code;\\nexports.default = CodeBlock;\\n\\n/***/ }),\\n/* 14 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _op = __webpack_require__(20);\\n\\nvar _op2 = _interopRequireDefault(_op);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _code = __webpack_require__(13);\\n\\nvar _code2 = _interopRequireDefault(_code);\\n\\nvar _cursor = __webpack_require__(24);\\n\\nvar _cursor2 = _interopRequireDefault(_cursor);\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nvar _break = __webpack_require__(16);\\n\\nvar _break2 = _interopRequireDefault(_break);\\n\\nvar _clone = __webpack_require__(21);\\n\\nvar _clone2 = _interopRequireDefault(_clone);\\n\\nvar _deepEqual = __webpack_require__(11);\\n\\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar ASCII = /^[ -~]*$/;\\n\\nvar Editor = function () {\\n  function Editor(scroll) {\\n    _classCallCheck(this, Editor);\\n\\n    this.scroll = scroll;\\n    this.delta = this.getDelta();\\n  }\\n\\n  _createClass(Editor, [{\\n    key: 'applyDelta',\\n    value: function applyDelta(delta) {\\n      var _this = this;\\n\\n      var consumeNextNewline = false;\\n      this.scroll.update();\\n      var scrollLength = this.scroll.length();\\n      this.scroll.batchStart();\\n      delta = normalizeDelta(delta);\\n      delta.reduce(function (index, op) {\\n        var length = op.retain || op.delete || op.insert.length || 1;\\n        var attributes = op.attributes || {};\\n        if (op.insert != null) {\\n          if (typeof op.insert === 'string') {\\n            var text = op.insert;\\n            if (text.endsWith('\\\\n') && consumeNextNewline) {\\n              consumeNextNewline = false;\\n              text = text.slice(0, -1);\\n            }\\n            if (index >= scrollLength && !text.endsWith('\\\\n')) {\\n              consumeNextNewline = true;\\n            }\\n            _this.scroll.insertAt(index, text);\\n\\n            var _scroll$line = _this.scroll.line(index),\\n                _scroll$line2 = _slicedToArray(_scroll$line, 2),\\n                line = _scroll$line2[0],\\n                offset = _scroll$line2[1];\\n\\n            var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\\n            if (line instanceof _block2.default) {\\n              var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\\n                  _line$descendant2 = _slicedToArray(_line$descendant, 1),\\n                  leaf = _line$descendant2[0];\\n\\n              formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\\n            }\\n            attributes = _op2.default.attributes.diff(formats, attributes) || {};\\n          } else if (_typeof(op.insert) === 'object') {\\n            var key = Object.keys(op.insert)[0]; // There should only be one key\\n            if (key == null) return index;\\n            _this.scroll.insertAt(index, key, op.insert[key]);\\n          }\\n          scrollLength += length;\\n        }\\n        Object.keys(attributes).forEach(function (name) {\\n          _this.scroll.formatAt(index, length, name, attributes[name]);\\n        });\\n        return index + length;\\n      }, 0);\\n      delta.reduce(function (index, op) {\\n        if (typeof op.delete === 'number') {\\n          _this.scroll.deleteAt(index, op.delete);\\n          return index;\\n        }\\n        return index + (op.retain || op.insert.length || 1);\\n      }, 0);\\n      this.scroll.batchEnd();\\n      return this.update(delta);\\n    }\\n  }, {\\n    key: 'deleteText',\\n    value: function deleteText(index, length) {\\n      this.scroll.deleteAt(index, length);\\n      return this.update(new _quillDelta2.default().retain(index).delete(length));\\n    }\\n  }, {\\n    key: 'formatLine',\\n    value: function formatLine(index, length) {\\n      var _this2 = this;\\n\\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\\n\\n      this.scroll.update();\\n      Object.keys(formats).forEach(function (format) {\\n        if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\\n        var lines = _this2.scroll.lines(index, Math.max(length, 1));\\n        var lengthRemaining = length;\\n        lines.forEach(function (line) {\\n          var lineLength = line.length();\\n          if (!(line instanceof _code2.default)) {\\n            line.format(format, formats[format]);\\n          } else {\\n            var codeIndex = index - line.offset(_this2.scroll);\\n            var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\\n            line.formatAt(codeIndex, codeLength, format, formats[format]);\\n          }\\n          lengthRemaining -= lineLength;\\n        });\\n      });\\n      this.scroll.optimize();\\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\\n    }\\n  }, {\\n    key: 'formatText',\\n    value: function formatText(index, length) {\\n      var _this3 = this;\\n\\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\\n\\n      Object.keys(formats).forEach(function (format) {\\n        _this3.scroll.formatAt(index, length, format, formats[format]);\\n      });\\n      return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\\n    }\\n  }, {\\n    key: 'getContents',\\n    value: function getContents(index, length) {\\n      return this.delta.slice(index, index + length);\\n    }\\n  }, {\\n    key: 'getDelta',\\n    value: function getDelta() {\\n      return this.scroll.lines().reduce(function (delta, line) {\\n        return delta.concat(line.delta());\\n      }, new _quillDelta2.default());\\n    }\\n  }, {\\n    key: 'getFormat',\\n    value: function getFormat(index) {\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\\n\\n      var lines = [],\\n          leaves = [];\\n      if (length === 0) {\\n        this.scroll.path(index).forEach(function (path) {\\n          var _path = _slicedToArray(path, 1),\\n              blot = _path[0];\\n\\n          if (blot instanceof _block2.default) {\\n            lines.push(blot);\\n          } else if (blot instanceof _parchment2.default.Leaf) {\\n            leaves.push(blot);\\n          }\\n        });\\n      } else {\\n        lines = this.scroll.lines(index, length);\\n        leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\\n      }\\n      var formatsArr = [lines, leaves].map(function (blots) {\\n        if (blots.length === 0) return {};\\n        var formats = (0, _block.bubbleFormats)(blots.shift());\\n        while (Object.keys(formats).length > 0) {\\n          var blot = blots.shift();\\n          if (blot == null) return formats;\\n          formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\\n        }\\n        return formats;\\n      });\\n      return _extend2.default.apply(_extend2.default, formatsArr);\\n    }\\n  }, {\\n    key: 'getText',\\n    value: function getText(index, length) {\\n      return this.getContents(index, length).filter(function (op) {\\n        return typeof op.insert === 'string';\\n      }).map(function (op) {\\n        return op.insert;\\n      }).join('');\\n    }\\n  }, {\\n    key: 'insertEmbed',\\n    value: function insertEmbed(index, embed, value) {\\n      this.scroll.insertAt(index, embed, value);\\n      return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\\n    }\\n  }, {\\n    key: 'insertText',\\n    value: function insertText(index, text) {\\n      var _this4 = this;\\n\\n      var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\\n\\n      text = text.replace(/\\\\r\\\\n/g, '\\\\n').replace(/\\\\r/g, '\\\\n');\\n      this.scroll.insertAt(index, text);\\n      Object.keys(formats).forEach(function (format) {\\n        _this4.scroll.formatAt(index, text.length, format, formats[format]);\\n      });\\n      return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\\n    }\\n  }, {\\n    key: 'isBlank',\\n    value: function isBlank() {\\n      if (this.scroll.children.length == 0) return true;\\n      if (this.scroll.children.length > 1) return false;\\n      var block = this.scroll.children.head;\\n      if (block.statics.blotName !== _block2.default.blotName) return false;\\n      if (block.children.length > 1) return false;\\n      return block.children.head instanceof _break2.default;\\n    }\\n  }, {\\n    key: 'removeFormat',\\n    value: function removeFormat(index, length) {\\n      var text = this.getText(index, length);\\n\\n      var _scroll$line3 = this.scroll.line(index + length),\\n          _scroll$line4 = _slicedToArray(_scroll$line3, 2),\\n          line = _scroll$line4[0],\\n          offset = _scroll$line4[1];\\n\\n      var suffixLength = 0,\\n          suffix = new _quillDelta2.default();\\n      if (line != null) {\\n        if (!(line instanceof _code2.default)) {\\n          suffixLength = line.length() - offset;\\n        } else {\\n          suffixLength = line.newlineIndex(offset) - offset + 1;\\n        }\\n        suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\\\n');\\n      }\\n      var contents = this.getContents(index, length + suffixLength);\\n      var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\\n      var delta = new _quillDelta2.default().retain(index).concat(diff);\\n      return this.applyDelta(delta);\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update(change) {\\n      var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\\n      var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\\n\\n      var oldDelta = this.delta;\\n      if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\\n        // Optimization for character changes\\n        var textBlot = _parchment2.default.find(mutations[0].target);\\n        var formats = (0, _block.bubbleFormats)(textBlot);\\n        var index = textBlot.offset(this.scroll);\\n        var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\\n        var oldText = new _quillDelta2.default().insert(oldValue);\\n        var newText = new _quillDelta2.default().insert(textBlot.value());\\n        var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\\n        change = diffDelta.reduce(function (delta, op) {\\n          if (op.insert) {\\n            return delta.insert(op.insert, formats);\\n          } else {\\n            return delta.push(op);\\n          }\\n        }, new _quillDelta2.default());\\n        this.delta = oldDelta.compose(change);\\n      } else {\\n        this.delta = this.getDelta();\\n        if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\\n          change = oldDelta.diff(this.delta, cursorIndex);\\n        }\\n      }\\n      return change;\\n    }\\n  }]);\\n\\n  return Editor;\\n}();\\n\\nfunction combineFormats(formats, combined) {\\n  return Object.keys(combined).reduce(function (merged, name) {\\n    if (formats[name] == null) return merged;\\n    if (combined[name] === formats[name]) {\\n      merged[name] = combined[name];\\n    } else if (Array.isArray(combined[name])) {\\n      if (combined[name].indexOf(formats[name]) < 0) {\\n        merged[name] = combined[name].concat([formats[name]]);\\n      }\\n    } else {\\n      merged[name] = [combined[name], formats[name]];\\n    }\\n    return merged;\\n  }, {});\\n}\\n\\nfunction normalizeDelta(delta) {\\n  return delta.reduce(function (delta, op) {\\n    if (op.insert === 1) {\\n      var attributes = (0, _clone2.default)(op.attributes);\\n      delete attributes['image'];\\n      return delta.insert({ image: op.attributes.image }, attributes);\\n    }\\n    if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\\n      op = (0, _clone2.default)(op);\\n      if (op.attributes.list) {\\n        op.attributes.list = 'ordered';\\n      } else {\\n        op.attributes.list = 'bullet';\\n        delete op.attributes.bullet;\\n      }\\n    }\\n    if (typeof op.insert === 'string') {\\n      var text = op.insert.replace(/\\\\r\\\\n/g, '\\\\n').replace(/\\\\r/g, '\\\\n');\\n      return delta.insert(text, op.attributes);\\n    }\\n    return delta.push(op);\\n  }, new _quillDelta2.default());\\n}\\n\\nexports.default = Editor;\\n\\n/***/ }),\\n/* 15 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.Range = undefined;\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _clone = __webpack_require__(21);\\n\\nvar _clone2 = _interopRequireDefault(_clone);\\n\\nvar _deepEqual = __webpack_require__(11);\\n\\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\\n\\nvar _emitter3 = __webpack_require__(8);\\n\\nvar _emitter4 = _interopRequireDefault(_emitter3);\\n\\nvar _logger = __webpack_require__(10);\\n\\nvar _logger2 = _interopRequireDefault(_logger);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar debug = (0, _logger2.default)('quill:selection');\\n\\nvar Range = function Range(index) {\\n  var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\\n\\n  _classCallCheck(this, Range);\\n\\n  this.index = index;\\n  this.length = length;\\n};\\n\\nvar Selection = function () {\\n  function Selection(scroll, emitter) {\\n    var _this = this;\\n\\n    _classCallCheck(this, Selection);\\n\\n    this.emitter = emitter;\\n    this.scroll = scroll;\\n    this.composing = false;\\n    this.mouseDown = false;\\n    this.root = this.scroll.domNode;\\n    this.cursor = _parchment2.default.create('cursor', this);\\n    // savedRange is last non-null range\\n    this.lastRange = this.savedRange = new Range(0, 0);\\n    this.handleComposition();\\n    this.handleDragging();\\n    this.emitter.listenDOM('selectionchange', document, function () {\\n      if (!_this.mouseDown) {\\n        setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\\n      }\\n    });\\n    this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\\n      if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\\n        _this.update(_emitter4.default.sources.SILENT);\\n      }\\n    });\\n    this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\\n      if (!_this.hasFocus()) return;\\n      var native = _this.getNativeRange();\\n      if (native == null) return;\\n      if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\\n      // TODO unclear if this has negative side effects\\n      _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\\n        try {\\n          _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\\n        } catch (ignored) {}\\n      });\\n    });\\n    this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\\n      if (context.range) {\\n        var _context$range = context.range,\\n            startNode = _context$range.startNode,\\n            startOffset = _context$range.startOffset,\\n            endNode = _context$range.endNode,\\n            endOffset = _context$range.endOffset;\\n\\n        _this.setNativeRange(startNode, startOffset, endNode, endOffset);\\n      }\\n    });\\n    this.update(_emitter4.default.sources.SILENT);\\n  }\\n\\n  _createClass(Selection, [{\\n    key: 'handleComposition',\\n    value: function handleComposition() {\\n      var _this2 = this;\\n\\n      this.root.addEventListener('compositionstart', function () {\\n        _this2.composing = true;\\n      });\\n      this.root.addEventListener('compositionend', function () {\\n        _this2.composing = false;\\n        if (_this2.cursor.parent) {\\n          var range = _this2.cursor.restore();\\n          if (!range) return;\\n          setTimeout(function () {\\n            _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\\n          }, 1);\\n        }\\n      });\\n    }\\n  }, {\\n    key: 'handleDragging',\\n    value: function handleDragging() {\\n      var _this3 = this;\\n\\n      this.emitter.listenDOM('mousedown', document.body, function () {\\n        _this3.mouseDown = true;\\n      });\\n      this.emitter.listenDOM('mouseup', document.body, function () {\\n        _this3.mouseDown = false;\\n        _this3.update(_emitter4.default.sources.USER);\\n      });\\n    }\\n  }, {\\n    key: 'focus',\\n    value: function focus() {\\n      if (this.hasFocus()) return;\\n      this.root.focus();\\n      this.setRange(this.savedRange);\\n    }\\n  }, {\\n    key: 'format',\\n    value: function format(_format, value) {\\n      if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\\n      this.scroll.update();\\n      var nativeRange = this.getNativeRange();\\n      if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\\n      if (nativeRange.start.node !== this.cursor.textNode) {\\n        var blot = _parchment2.default.find(nativeRange.start.node, false);\\n        if (blot == null) return;\\n        // TODO Give blot ability to not split\\n        if (blot instanceof _parchment2.default.Leaf) {\\n          var after = blot.split(nativeRange.start.offset);\\n          blot.parent.insertBefore(this.cursor, after);\\n        } else {\\n          blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\\n        }\\n        this.cursor.attach();\\n      }\\n      this.cursor.format(_format, value);\\n      this.scroll.optimize();\\n      this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\\n      this.update();\\n    }\\n  }, {\\n    key: 'getBounds',\\n    value: function getBounds(index) {\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\\n\\n      var scrollLength = this.scroll.length();\\n      index = Math.min(index, scrollLength - 1);\\n      length = Math.min(index + length, scrollLength - 1) - index;\\n      var node = void 0,\\n          _scroll$leaf = this.scroll.leaf(index),\\n          _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\\n          leaf = _scroll$leaf2[0],\\n          offset = _scroll$leaf2[1];\\n      if (leaf == null) return null;\\n\\n      var _leaf$position = leaf.position(offset, true);\\n\\n      var _leaf$position2 = _slicedToArray(_leaf$position, 2);\\n\\n      node = _leaf$position2[0];\\n      offset = _leaf$position2[1];\\n\\n      var range = document.createRange();\\n      if (length > 0) {\\n        range.setStart(node, offset);\\n\\n        var _scroll$leaf3 = this.scroll.leaf(index + length);\\n\\n        var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\\n\\n        leaf = _scroll$leaf4[0];\\n        offset = _scroll$leaf4[1];\\n\\n        if (leaf == null) return null;\\n\\n        var _leaf$position3 = leaf.position(offset, true);\\n\\n        var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\\n\\n        node = _leaf$position4[0];\\n        offset = _leaf$position4[1];\\n\\n        range.setEnd(node, offset);\\n        return range.getBoundingClientRect();\\n      } else {\\n        var side = 'left';\\n        var rect = void 0;\\n        if (node instanceof Text) {\\n          if (offset < node.data.length) {\\n            range.setStart(node, offset);\\n            range.setEnd(node, offset + 1);\\n          } else {\\n            range.setStart(node, offset - 1);\\n            range.setEnd(node, offset);\\n            side = 'right';\\n          }\\n          rect = range.getBoundingClientRect();\\n        } else {\\n          rect = leaf.domNode.getBoundingClientRect();\\n          if (offset > 0) side = 'right';\\n        }\\n        return {\\n          bottom: rect.top + rect.height,\\n          height: rect.height,\\n          left: rect[side],\\n          right: rect[side],\\n          top: rect.top,\\n          width: 0\\n        };\\n      }\\n    }\\n  }, {\\n    key: 'getNativeRange',\\n    value: function getNativeRange() {\\n      var selection = document.getSelection();\\n      if (selection == null || selection.rangeCount <= 0) return null;\\n      var nativeRange = selection.getRangeAt(0);\\n      if (nativeRange == null) return null;\\n      var range = this.normalizeNative(nativeRange);\\n      debug.info('getNativeRange', range);\\n      return range;\\n    }\\n  }, {\\n    key: 'getRange',\\n    value: function getRange() {\\n      var normalized = this.getNativeRange();\\n      if (normalized == null) return [null, null];\\n      var range = this.normalizedToRange(normalized);\\n      return [range, normalized];\\n    }\\n  }, {\\n    key: 'hasFocus',\\n    value: function hasFocus() {\\n      return document.activeElement === this.root;\\n    }\\n  }, {\\n    key: 'normalizedToRange',\\n    value: function normalizedToRange(range) {\\n      var _this4 = this;\\n\\n      var positions = [[range.start.node, range.start.offset]];\\n      if (!range.native.collapsed) {\\n        positions.push([range.end.node, range.end.offset]);\\n      }\\n      var indexes = positions.map(function (position) {\\n        var _position = _slicedToArray(position, 2),\\n            node = _position[0],\\n            offset = _position[1];\\n\\n        var blot = _parchment2.default.find(node, true);\\n        var index = blot.offset(_this4.scroll);\\n        if (offset === 0) {\\n          return index;\\n        } else if (blot instanceof _parchment2.default.Container) {\\n          return index + blot.length();\\n        } else {\\n          return index + blot.index(node, offset);\\n        }\\n      });\\n      var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\\n      var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\\n      return new Range(start, end - start);\\n    }\\n  }, {\\n    key: 'normalizeNative',\\n    value: function normalizeNative(nativeRange) {\\n      if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\\n        return null;\\n      }\\n      var range = {\\n        start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\\n        end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\\n        native: nativeRange\\n      };\\n      [range.start, range.end].forEach(function (position) {\\n        var node = position.node,\\n            offset = position.offset;\\n        while (!(node instanceof Text) && node.childNodes.length > 0) {\\n          if (node.childNodes.length > offset) {\\n            node = node.childNodes[offset];\\n            offset = 0;\\n          } else if (node.childNodes.length === offset) {\\n            node = node.lastChild;\\n            offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\\n          } else {\\n            break;\\n          }\\n        }\\n        position.node = node, position.offset = offset;\\n      });\\n      return range;\\n    }\\n  }, {\\n    key: 'rangeToNative',\\n    value: function rangeToNative(range) {\\n      var _this5 = this;\\n\\n      var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\\n      var args = [];\\n      var scrollLength = this.scroll.length();\\n      indexes.forEach(function (index, i) {\\n        index = Math.min(scrollLength - 1, index);\\n        var node = void 0,\\n            _scroll$leaf5 = _this5.scroll.leaf(index),\\n            _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\\n            leaf = _scroll$leaf6[0],\\n            offset = _scroll$leaf6[1];\\n        var _leaf$position5 = leaf.position(offset, i !== 0);\\n\\n        var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\\n\\n        node = _leaf$position6[0];\\n        offset = _leaf$position6[1];\\n\\n        args.push(node, offset);\\n      });\\n      if (args.length < 2) {\\n        args = args.concat(args);\\n      }\\n      return args;\\n    }\\n  }, {\\n    key: 'scrollIntoView',\\n    value: function scrollIntoView(scrollingContainer) {\\n      var range = this.lastRange;\\n      if (range == null) return;\\n      var bounds = this.getBounds(range.index, range.length);\\n      if (bounds == null) return;\\n      var limit = this.scroll.length() - 1;\\n\\n      var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\\n          _scroll$line2 = _slicedToArray(_scroll$line, 1),\\n          first = _scroll$line2[0];\\n\\n      var last = first;\\n      if (range.length > 0) {\\n        var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\\n\\n        var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\\n\\n        last = _scroll$line4[0];\\n      }\\n      if (first == null || last == null) return;\\n      var scrollBounds = scrollingContainer.getBoundingClientRect();\\n      if (bounds.top < scrollBounds.top) {\\n        scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\\n      } else if (bounds.bottom > scrollBounds.bottom) {\\n        scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\\n      }\\n    }\\n  }, {\\n    key: 'setNativeRange',\\n    value: function setNativeRange(startNode, startOffset) {\\n      var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\\n      var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\\n      var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\\n\\n      debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\\n      if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\\n        return;\\n      }\\n      var selection = document.getSelection();\\n      if (selection == null) return;\\n      if (startNode != null) {\\n        if (!this.hasFocus()) this.root.focus();\\n        var native = (this.getNativeRange() || {}).native;\\n        if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\\n\\n          if (startNode.tagName == \\\"BR\\\") {\\n            startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\\n            startNode = startNode.parentNode;\\n          }\\n          if (endNode.tagName == \\\"BR\\\") {\\n            endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\\n            endNode = endNode.parentNode;\\n          }\\n          var range = document.createRange();\\n          range.setStart(startNode, startOffset);\\n          range.setEnd(endNode, endOffset);\\n          selection.removeAllRanges();\\n          selection.addRange(range);\\n        }\\n      } else {\\n        selection.removeAllRanges();\\n        this.root.blur();\\n        document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\\n      }\\n    }\\n  }, {\\n    key: 'setRange',\\n    value: function setRange(range) {\\n      var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\\n\\n      if (typeof force === 'string') {\\n        source = force;\\n        force = false;\\n      }\\n      debug.info('setRange', range);\\n      if (range != null) {\\n        var args = this.rangeToNative(range);\\n        this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\\n      } else {\\n        this.setNativeRange(null);\\n      }\\n      this.update(source);\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update() {\\n      var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\\n\\n      var oldRange = this.lastRange;\\n\\n      var _getRange = this.getRange(),\\n          _getRange2 = _slicedToArray(_getRange, 2),\\n          lastRange = _getRange2[0],\\n          nativeRange = _getRange2[1];\\n\\n      this.lastRange = lastRange;\\n      if (this.lastRange != null) {\\n        this.savedRange = this.lastRange;\\n      }\\n      if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\\n        var _emitter;\\n\\n        if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\\n          this.cursor.restore();\\n        }\\n        var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\\n        (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\\n        if (source !== _emitter4.default.sources.SILENT) {\\n          var _emitter2;\\n\\n          (_emitter2 = this.emitter).emit.apply(_emitter2, args);\\n        }\\n      }\\n    }\\n  }]);\\n\\n  return Selection;\\n}();\\n\\nfunction contains(parent, descendant) {\\n  try {\\n    // Firefox inserts inaccessible nodes around video elements\\n    descendant.parentNode;\\n  } catch (e) {\\n    return false;\\n  }\\n  // IE11 has bug with Text nodes\\n  // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\\n  if (descendant instanceof Text) {\\n    descendant = descendant.parentNode;\\n  }\\n  return parent.contains(descendant);\\n}\\n\\nexports.Range = Range;\\nexports.default = Selection;\\n\\n/***/ }),\\n/* 16 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Break = function (_Parchment$Embed) {\\n  _inherits(Break, _Parchment$Embed);\\n\\n  function Break() {\\n    _classCallCheck(this, Break);\\n\\n    return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\\n  }\\n\\n  _createClass(Break, [{\\n    key: 'insertInto',\\n    value: function insertInto(parent, ref) {\\n      if (parent.children.length === 0) {\\n        _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\\n      } else {\\n        this.remove();\\n      }\\n    }\\n  }, {\\n    key: 'length',\\n    value: function length() {\\n      return 0;\\n    }\\n  }, {\\n    key: 'value',\\n    value: function value() {\\n      return '';\\n    }\\n  }], [{\\n    key: 'value',\\n    value: function value() {\\n      return undefined;\\n    }\\n  }]);\\n\\n  return Break;\\n}(_parchment2.default.Embed);\\n\\nBreak.blotName = 'break';\\nBreak.tagName = 'BR';\\n\\nexports.default = Break;\\n\\n/***/ }),\\n/* 17 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar linked_list_1 = __webpack_require__(44);\\nvar shadow_1 = __webpack_require__(30);\\nvar Registry = __webpack_require__(1);\\nvar ContainerBlot = /** @class */ (function (_super) {\\n    __extends(ContainerBlot, _super);\\n    function ContainerBlot(domNode) {\\n        var _this = _super.call(this, domNode) || this;\\n        _this.build();\\n        return _this;\\n    }\\n    ContainerBlot.prototype.appendChild = function (other) {\\n        this.insertBefore(other);\\n    };\\n    ContainerBlot.prototype.attach = function () {\\n        _super.prototype.attach.call(this);\\n        this.children.forEach(function (child) {\\n            child.attach();\\n        });\\n    };\\n    ContainerBlot.prototype.build = function () {\\n        var _this = this;\\n        this.children = new linked_list_1.default();\\n        // Need to be reversed for if DOM nodes already in order\\n        [].slice\\n            .call(this.domNode.childNodes)\\n            .reverse()\\n            .forEach(function (node) {\\n            try {\\n                var child = makeBlot(node);\\n                _this.insertBefore(child, _this.children.head || undefined);\\n            }\\n            catch (err) {\\n                if (err instanceof Registry.ParchmentError)\\n                    return;\\n                else\\n                    throw err;\\n            }\\n        });\\n    };\\n    ContainerBlot.prototype.deleteAt = function (index, length) {\\n        if (index === 0 && length === this.length()) {\\n            return this.remove();\\n        }\\n        this.children.forEachAt(index, length, function (child, offset, length) {\\n            child.deleteAt(offset, length);\\n        });\\n    };\\n    ContainerBlot.prototype.descendant = function (criteria, index) {\\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\\n        if ((criteria.blotName == null && criteria(child)) ||\\n            (criteria.blotName != null && child instanceof criteria)) {\\n            return [child, offset];\\n        }\\n        else if (child instanceof ContainerBlot) {\\n            return child.descendant(criteria, offset);\\n        }\\n        else {\\n            return [null, -1];\\n        }\\n    };\\n    ContainerBlot.prototype.descendants = function (criteria, index, length) {\\n        if (index === void 0) { index = 0; }\\n        if (length === void 0) { length = Number.MAX_VALUE; }\\n        var descendants = [];\\n        var lengthLeft = length;\\n        this.children.forEachAt(index, length, function (child, index, length) {\\n            if ((criteria.blotName == null && criteria(child)) ||\\n                (criteria.blotName != null && child instanceof criteria)) {\\n                descendants.push(child);\\n            }\\n            if (child instanceof ContainerBlot) {\\n                descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\\n            }\\n            lengthLeft -= length;\\n        });\\n        return descendants;\\n    };\\n    ContainerBlot.prototype.detach = function () {\\n        this.children.forEach(function (child) {\\n            child.detach();\\n        });\\n        _super.prototype.detach.call(this);\\n    };\\n    ContainerBlot.prototype.formatAt = function (index, length, name, value) {\\n        this.children.forEachAt(index, length, function (child, offset, length) {\\n            child.formatAt(offset, length, name, value);\\n        });\\n    };\\n    ContainerBlot.prototype.insertAt = function (index, value, def) {\\n        var _a = this.children.find(index), child = _a[0], offset = _a[1];\\n        if (child) {\\n            child.insertAt(offset, value, def);\\n        }\\n        else {\\n            var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\\n            this.appendChild(blot);\\n        }\\n    };\\n    ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\\n        if (this.statics.allowedChildren != null &&\\n            !this.statics.allowedChildren.some(function (child) {\\n                return childBlot instanceof child;\\n            })) {\\n            throw new Registry.ParchmentError(\\\"Cannot insert \\\" + childBlot.statics.blotName + \\\" into \\\" + this.statics.blotName);\\n        }\\n        childBlot.insertInto(this, refBlot);\\n    };\\n    ContainerBlot.prototype.length = function () {\\n        return this.children.reduce(function (memo, child) {\\n            return memo + child.length();\\n        }, 0);\\n    };\\n    ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\\n        this.children.forEach(function (child) {\\n            targetParent.insertBefore(child, refNode);\\n        });\\n    };\\n    ContainerBlot.prototype.optimize = function (context) {\\n        _super.prototype.optimize.call(this, context);\\n        if (this.children.length === 0) {\\n            if (this.statics.defaultChild != null) {\\n                var child = Registry.create(this.statics.defaultChild);\\n                this.appendChild(child);\\n                child.optimize(context);\\n            }\\n            else {\\n                this.remove();\\n            }\\n        }\\n    };\\n    ContainerBlot.prototype.path = function (index, inclusive) {\\n        if (inclusive === void 0) { inclusive = false; }\\n        var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\\n        var position = [[this, index]];\\n        if (child instanceof ContainerBlot) {\\n            return position.concat(child.path(offset, inclusive));\\n        }\\n        else if (child != null) {\\n            position.push([child, offset]);\\n        }\\n        return position;\\n    };\\n    ContainerBlot.prototype.removeChild = function (child) {\\n        this.children.remove(child);\\n    };\\n    ContainerBlot.prototype.replace = function (target) {\\n        if (target instanceof ContainerBlot) {\\n            target.moveChildren(this);\\n        }\\n        _super.prototype.replace.call(this, target);\\n    };\\n    ContainerBlot.prototype.split = function (index, force) {\\n        if (force === void 0) { force = false; }\\n        if (!force) {\\n            if (index === 0)\\n                return this;\\n            if (index === this.length())\\n                return this.next;\\n        }\\n        var after = this.clone();\\n        this.parent.insertBefore(after, this.next);\\n        this.children.forEachAt(index, this.length(), function (child, offset, length) {\\n            child = child.split(offset, force);\\n            after.appendChild(child);\\n        });\\n        return after;\\n    };\\n    ContainerBlot.prototype.unwrap = function () {\\n        this.moveChildren(this.parent, this.next);\\n        this.remove();\\n    };\\n    ContainerBlot.prototype.update = function (mutations, context) {\\n        var _this = this;\\n        var addedNodes = [];\\n        var removedNodes = [];\\n        mutations.forEach(function (mutation) {\\n            if (mutation.target === _this.domNode && mutation.type === 'childList') {\\n                addedNodes.push.apply(addedNodes, mutation.addedNodes);\\n                removedNodes.push.apply(removedNodes, mutation.removedNodes);\\n            }\\n        });\\n        removedNodes.forEach(function (node) {\\n            // Check node has actually been removed\\n            // One exception is Chrome does not immediately remove IFRAMEs\\n            // from DOM but MutationRecord is correct in its reported removal\\n            if (node.parentNode != null &&\\n                // @ts-ignore\\n                node.tagName !== 'IFRAME' &&\\n                document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\\n                return;\\n            }\\n            var blot = Registry.find(node);\\n            if (blot == null)\\n                return;\\n            if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\\n                blot.detach();\\n            }\\n        });\\n        addedNodes\\n            .filter(function (node) {\\n            return node.parentNode == _this.domNode;\\n        })\\n            .sort(function (a, b) {\\n            if (a === b)\\n                return 0;\\n            if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\\n                return 1;\\n            }\\n            return -1;\\n        })\\n            .forEach(function (node) {\\n            var refBlot = null;\\n            if (node.nextSibling != null) {\\n                refBlot = Registry.find(node.nextSibling);\\n            }\\n            var blot = makeBlot(node);\\n            if (blot.next != refBlot || blot.next == null) {\\n                if (blot.parent != null) {\\n                    blot.parent.removeChild(_this);\\n                }\\n                _this.insertBefore(blot, refBlot || undefined);\\n            }\\n        });\\n    };\\n    return ContainerBlot;\\n}(shadow_1.default));\\nfunction makeBlot(node) {\\n    var blot = Registry.find(node);\\n    if (blot == null) {\\n        try {\\n            blot = Registry.create(node);\\n        }\\n        catch (e) {\\n            blot = Registry.create(Registry.Scope.INLINE);\\n            [].slice.call(node.childNodes).forEach(function (child) {\\n                // @ts-ignore\\n                blot.domNode.appendChild(child);\\n            });\\n            if (node.parentNode) {\\n                node.parentNode.replaceChild(blot.domNode, node);\\n            }\\n            blot.attach();\\n        }\\n    }\\n    return blot;\\n}\\nexports.default = ContainerBlot;\\n\\n\\n/***/ }),\\n/* 18 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar attributor_1 = __webpack_require__(12);\\nvar store_1 = __webpack_require__(31);\\nvar container_1 = __webpack_require__(17);\\nvar Registry = __webpack_require__(1);\\nvar FormatBlot = /** @class */ (function (_super) {\\n    __extends(FormatBlot, _super);\\n    function FormatBlot(domNode) {\\n        var _this = _super.call(this, domNode) || this;\\n        _this.attributes = new store_1.default(_this.domNode);\\n        return _this;\\n    }\\n    FormatBlot.formats = function (domNode) {\\n        if (typeof this.tagName === 'string') {\\n            return true;\\n        }\\n        else if (Array.isArray(this.tagName)) {\\n            return domNode.tagName.toLowerCase();\\n        }\\n        return undefined;\\n    };\\n    FormatBlot.prototype.format = function (name, value) {\\n        var format = Registry.query(name);\\n        if (format instanceof attributor_1.default) {\\n            this.attributes.attribute(format, value);\\n        }\\n        else if (value) {\\n            if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\\n                this.replaceWith(name, value);\\n            }\\n        }\\n    };\\n    FormatBlot.prototype.formats = function () {\\n        var formats = this.attributes.values();\\n        var format = this.statics.formats(this.domNode);\\n        if (format != null) {\\n            formats[this.statics.blotName] = format;\\n        }\\n        return formats;\\n    };\\n    FormatBlot.prototype.replaceWith = function (name, value) {\\n        var replacement = _super.prototype.replaceWith.call(this, name, value);\\n        this.attributes.copy(replacement);\\n        return replacement;\\n    };\\n    FormatBlot.prototype.update = function (mutations, context) {\\n        var _this = this;\\n        _super.prototype.update.call(this, mutations, context);\\n        if (mutations.some(function (mutation) {\\n            return mutation.target === _this.domNode && mutation.type === 'attributes';\\n        })) {\\n            this.attributes.build();\\n        }\\n    };\\n    FormatBlot.prototype.wrap = function (name, value) {\\n        var wrapper = _super.prototype.wrap.call(this, name, value);\\n        if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\\n            this.attributes.move(wrapper);\\n        }\\n        return wrapper;\\n    };\\n    return FormatBlot;\\n}(container_1.default));\\nexports.default = FormatBlot;\\n\\n\\n/***/ }),\\n/* 19 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar shadow_1 = __webpack_require__(30);\\nvar Registry = __webpack_require__(1);\\nvar LeafBlot = /** @class */ (function (_super) {\\n    __extends(LeafBlot, _super);\\n    function LeafBlot() {\\n        return _super !== null && _super.apply(this, arguments) || this;\\n    }\\n    LeafBlot.value = function (domNode) {\\n        return true;\\n    };\\n    LeafBlot.prototype.index = function (node, offset) {\\n        if (this.domNode === node ||\\n            this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\\n            return Math.min(offset, 1);\\n        }\\n        return -1;\\n    };\\n    LeafBlot.prototype.position = function (index, inclusive) {\\n        var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\\n        if (index > 0)\\n            offset += 1;\\n        return [this.parent.domNode, offset];\\n    };\\n    LeafBlot.prototype.value = function () {\\n        return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\\n        var _a;\\n    };\\n    LeafBlot.scope = Registry.Scope.INLINE_BLOT;\\n    return LeafBlot;\\n}(shadow_1.default));\\nexports.default = LeafBlot;\\n\\n\\n/***/ }),\\n/* 20 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nvar equal = __webpack_require__(11);\\nvar extend = __webpack_require__(3);\\n\\n\\nvar lib = {\\n  attributes: {\\n    compose: function (a, b, keepNull) {\\n      if (typeof a !== 'object') a = {};\\n      if (typeof b !== 'object') b = {};\\n      var attributes = extend(true, {}, b);\\n      if (!keepNull) {\\n        attributes = Object.keys(attributes).reduce(function (copy, key) {\\n          if (attributes[key] != null) {\\n            copy[key] = attributes[key];\\n          }\\n          return copy;\\n        }, {});\\n      }\\n      for (var key in a) {\\n        if (a[key] !== undefined && b[key] === undefined) {\\n          attributes[key] = a[key];\\n        }\\n      }\\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\\n    },\\n\\n    diff: function(a, b) {\\n      if (typeof a !== 'object') a = {};\\n      if (typeof b !== 'object') b = {};\\n      var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\\n        if (!equal(a[key], b[key])) {\\n          attributes[key] = b[key] === undefined ? null : b[key];\\n        }\\n        return attributes;\\n      }, {});\\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\\n    },\\n\\n    transform: function (a, b, priority) {\\n      if (typeof a !== 'object') return b;\\n      if (typeof b !== 'object') return undefined;\\n      if (!priority) return b;  // b simply overwrites us without priority\\n      var attributes = Object.keys(b).reduce(function (attributes, key) {\\n        if (a[key] === undefined) attributes[key] = b[key];  // null is a valid value\\n        return attributes;\\n      }, {});\\n      return Object.keys(attributes).length > 0 ? attributes : undefined;\\n    }\\n  },\\n\\n  iterator: function (ops) {\\n    return new Iterator(ops);\\n  },\\n\\n  length: function (op) {\\n    if (typeof op['delete'] === 'number') {\\n      return op['delete'];\\n    } else if (typeof op.retain === 'number') {\\n      return op.retain;\\n    } else {\\n      return typeof op.insert === 'string' ? op.insert.length : 1;\\n    }\\n  }\\n};\\n\\n\\nfunction Iterator(ops) {\\n  this.ops = ops;\\n  this.index = 0;\\n  this.offset = 0;\\n};\\n\\nIterator.prototype.hasNext = function () {\\n  return this.peekLength() < Infinity;\\n};\\n\\nIterator.prototype.next = function (length) {\\n  if (!length) length = Infinity;\\n  var nextOp = this.ops[this.index];\\n  if (nextOp) {\\n    var offset = this.offset;\\n    var opLength = lib.length(nextOp)\\n    if (length >= opLength - offset) {\\n      length = opLength - offset;\\n      this.index += 1;\\n      this.offset = 0;\\n    } else {\\n      this.offset += length;\\n    }\\n    if (typeof nextOp['delete'] === 'number') {\\n      return { 'delete': length };\\n    } else {\\n      var retOp = {};\\n      if (nextOp.attributes) {\\n        retOp.attributes = nextOp.attributes;\\n      }\\n      if (typeof nextOp.retain === 'number') {\\n        retOp.retain = length;\\n      } else if (typeof nextOp.insert === 'string') {\\n        retOp.insert = nextOp.insert.substr(offset, length);\\n      } else {\\n        // offset should === 0, length should === 1\\n        retOp.insert = nextOp.insert;\\n      }\\n      return retOp;\\n    }\\n  } else {\\n    return { retain: Infinity };\\n  }\\n};\\n\\nIterator.prototype.peek = function () {\\n  return this.ops[this.index];\\n};\\n\\nIterator.prototype.peekLength = function () {\\n  if (this.ops[this.index]) {\\n    // Should never return 0 if our index is being managed correctly\\n    return lib.length(this.ops[this.index]) - this.offset;\\n  } else {\\n    return Infinity;\\n  }\\n};\\n\\nIterator.prototype.peekType = function () {\\n  if (this.ops[this.index]) {\\n    if (typeof this.ops[this.index]['delete'] === 'number') {\\n      return 'delete';\\n    } else if (typeof this.ops[this.index].retain === 'number') {\\n      return 'retain';\\n    } else {\\n      return 'insert';\\n    }\\n  }\\n  return 'retain';\\n};\\n\\n\\nmodule.exports = lib;\\n\\n\\n/***/ }),\\n/* 21 */\\n/***/ (function(module, exports) {\\n\\nvar clone = (function() {\\n'use strict';\\n\\nfunction _instanceof(obj, type) {\\n  return type != null && obj instanceof type;\\n}\\n\\nvar nativeMap;\\ntry {\\n  nativeMap = Map;\\n} catch(_) {\\n  // maybe a reference error because no `Map`. Give it a dummy value that no\\n  // value will ever be an instanceof.\\n  nativeMap = function() {};\\n}\\n\\nvar nativeSet;\\ntry {\\n  nativeSet = Set;\\n} catch(_) {\\n  nativeSet = function() {};\\n}\\n\\nvar nativePromise;\\ntry {\\n  nativePromise = Promise;\\n} catch(_) {\\n  nativePromise = function() {};\\n}\\n\\n/**\\n * Clones (copies) an Object using deep copying.\\n *\\n * This function supports circular references by default, but if you are certain\\n * there are no circular references in your object, you can save some CPU time\\n * by calling clone(obj, false).\\n *\\n * Caution: if `circular` is false and `parent` contains circular references,\\n * your program may enter an infinite loop and crash.\\n *\\n * @param `parent` - the object to be cloned\\n * @param `circular` - set to true if the object to be cloned may contain\\n *    circular references. (optional - true by default)\\n * @param `depth` - set to a number if the object is only to be cloned to\\n *    a particular depth. (optional - defaults to Infinity)\\n * @param `prototype` - sets the prototype to be used when cloning an object.\\n *    (optional - defaults to parent prototype).\\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\\n *    should be cloned as well. Non-enumerable properties on the prototype\\n *    chain will be ignored. (optional - false by default)\\n*/\\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\\n  if (typeof circular === 'object') {\\n    depth = circular.depth;\\n    prototype = circular.prototype;\\n    includeNonEnumerable = circular.includeNonEnumerable;\\n    circular = circular.circular;\\n  }\\n  // maintain two arrays for circular references, where corresponding parents\\n  // and children have the same index\\n  var allParents = [];\\n  var allChildren = [];\\n\\n  var useBuffer = typeof Buffer != 'undefined';\\n\\n  if (typeof circular == 'undefined')\\n    circular = true;\\n\\n  if (typeof depth == 'undefined')\\n    depth = Infinity;\\n\\n  // recurse this function so we don't reset allParents and allChildren\\n  function _clone(parent, depth) {\\n    // cloning null always returns null\\n    if (parent === null)\\n      return null;\\n\\n    if (depth === 0)\\n      return parent;\\n\\n    var child;\\n    var proto;\\n    if (typeof parent != 'object') {\\n      return parent;\\n    }\\n\\n    if (_instanceof(parent, nativeMap)) {\\n      child = new nativeMap();\\n    } else if (_instanceof(parent, nativeSet)) {\\n      child = new nativeSet();\\n    } else if (_instanceof(parent, nativePromise)) {\\n      child = new nativePromise(function (resolve, reject) {\\n        parent.then(function(value) {\\n          resolve(_clone(value, depth - 1));\\n        }, function(err) {\\n          reject(_clone(err, depth - 1));\\n        });\\n      });\\n    } else if (clone.__isArray(parent)) {\\n      child = [];\\n    } else if (clone.__isRegExp(parent)) {\\n      child = new RegExp(parent.source, __getRegExpFlags(parent));\\n      if (parent.lastIndex) child.lastIndex = parent.lastIndex;\\n    } else if (clone.__isDate(parent)) {\\n      child = new Date(parent.getTime());\\n    } else if (useBuffer && Buffer.isBuffer(parent)) {\\n      child = new Buffer(parent.length);\\n      parent.copy(child);\\n      return child;\\n    } else if (_instanceof(parent, Error)) {\\n      child = Object.create(parent);\\n    } else {\\n      if (typeof prototype == 'undefined') {\\n        proto = Object.getPrototypeOf(parent);\\n        child = Object.create(proto);\\n      }\\n      else {\\n        child = Object.create(prototype);\\n        proto = prototype;\\n      }\\n    }\\n\\n    if (circular) {\\n      var index = allParents.indexOf(parent);\\n\\n      if (index != -1) {\\n        return allChildren[index];\\n      }\\n      allParents.push(parent);\\n      allChildren.push(child);\\n    }\\n\\n    if (_instanceof(parent, nativeMap)) {\\n      parent.forEach(function(value, key) {\\n        var keyChild = _clone(key, depth - 1);\\n        var valueChild = _clone(value, depth - 1);\\n        child.set(keyChild, valueChild);\\n      });\\n    }\\n    if (_instanceof(parent, nativeSet)) {\\n      parent.forEach(function(value) {\\n        var entryChild = _clone(value, depth - 1);\\n        child.add(entryChild);\\n      });\\n    }\\n\\n    for (var i in parent) {\\n      var attrs;\\n      if (proto) {\\n        attrs = Object.getOwnPropertyDescriptor(proto, i);\\n      }\\n\\n      if (attrs && attrs.set == null) {\\n        continue;\\n      }\\n      child[i] = _clone(parent[i], depth - 1);\\n    }\\n\\n    if (Object.getOwnPropertySymbols) {\\n      var symbols = Object.getOwnPropertySymbols(parent);\\n      for (var i = 0; i < symbols.length; i++) {\\n        // Don't need to worry about cloning a symbol because it is a primitive,\\n        // like a number or string.\\n        var symbol = symbols[i];\\n        var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\\n        if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\\n          continue;\\n        }\\n        child[symbol] = _clone(parent[symbol], depth - 1);\\n        if (!descriptor.enumerable) {\\n          Object.defineProperty(child, symbol, {\\n            enumerable: false\\n          });\\n        }\\n      }\\n    }\\n\\n    if (includeNonEnumerable) {\\n      var allPropertyNames = Object.getOwnPropertyNames(parent);\\n      for (var i = 0; i < allPropertyNames.length; i++) {\\n        var propertyName = allPropertyNames[i];\\n        var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\\n        if (descriptor && descriptor.enumerable) {\\n          continue;\\n        }\\n        child[propertyName] = _clone(parent[propertyName], depth - 1);\\n        Object.defineProperty(child, propertyName, {\\n          enumerable: false\\n        });\\n      }\\n    }\\n\\n    return child;\\n  }\\n\\n  return _clone(parent, depth);\\n}\\n\\n/**\\n * Simple flat clone using prototype, accepts only objects, usefull for property\\n * override on FLAT configuration object (no nested props).\\n *\\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\\n * works.\\n */\\nclone.clonePrototype = function clonePrototype(parent) {\\n  if (parent === null)\\n    return null;\\n\\n  var c = function () {};\\n  c.prototype = parent;\\n  return new c();\\n};\\n\\n// private utility functions\\n\\nfunction __objToStr(o) {\\n  return Object.prototype.toString.call(o);\\n}\\nclone.__objToStr = __objToStr;\\n\\nfunction __isDate(o) {\\n  return typeof o === 'object' && __objToStr(o) === '[object Date]';\\n}\\nclone.__isDate = __isDate;\\n\\nfunction __isArray(o) {\\n  return typeof o === 'object' && __objToStr(o) === '[object Array]';\\n}\\nclone.__isArray = __isArray;\\n\\nfunction __isRegExp(o) {\\n  return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\\n}\\nclone.__isRegExp = __isRegExp;\\n\\nfunction __getRegExpFlags(re) {\\n  var flags = '';\\n  if (re.global) flags += 'g';\\n  if (re.ignoreCase) flags += 'i';\\n  if (re.multiline) flags += 'm';\\n  return flags;\\n}\\nclone.__getRegExpFlags = __getRegExpFlags;\\n\\nreturn clone;\\n})();\\n\\nif (typeof module === 'object' && module.exports) {\\n  module.exports = clone;\\n}\\n\\n\\n/***/ }),\\n/* 22 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _emitter = __webpack_require__(8);\\n\\nvar _emitter2 = _interopRequireDefault(_emitter);\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nvar _break = __webpack_require__(16);\\n\\nvar _break2 = _interopRequireDefault(_break);\\n\\nvar _code = __webpack_require__(13);\\n\\nvar _code2 = _interopRequireDefault(_code);\\n\\nvar _container = __webpack_require__(25);\\n\\nvar _container2 = _interopRequireDefault(_container);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nfunction isLine(blot) {\\n  return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\\n}\\n\\nvar Scroll = function (_Parchment$Scroll) {\\n  _inherits(Scroll, _Parchment$Scroll);\\n\\n  function Scroll(domNode, config) {\\n    _classCallCheck(this, Scroll);\\n\\n    var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\\n\\n    _this.emitter = config.emitter;\\n    if (Array.isArray(config.whitelist)) {\\n      _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\\n        whitelist[format] = true;\\n        return whitelist;\\n      }, {});\\n    }\\n    // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\\n    _this.domNode.addEventListener('DOMNodeInserted', function () {});\\n    _this.optimize();\\n    _this.enable();\\n    return _this;\\n  }\\n\\n  _createClass(Scroll, [{\\n    key: 'batchStart',\\n    value: function batchStart() {\\n      this.batch = true;\\n    }\\n  }, {\\n    key: 'batchEnd',\\n    value: function batchEnd() {\\n      this.batch = false;\\n      this.optimize();\\n    }\\n  }, {\\n    key: 'deleteAt',\\n    value: function deleteAt(index, length) {\\n      var _line = this.line(index),\\n          _line2 = _slicedToArray(_line, 2),\\n          first = _line2[0],\\n          offset = _line2[1];\\n\\n      var _line3 = this.line(index + length),\\n          _line4 = _slicedToArray(_line3, 1),\\n          last = _line4[0];\\n\\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\\n      if (last != null && first !== last && offset > 0) {\\n        if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\\n          this.optimize();\\n          return;\\n        }\\n        if (first instanceof _code2.default) {\\n          var newlineIndex = first.newlineIndex(first.length(), true);\\n          if (newlineIndex > -1) {\\n            first = first.split(newlineIndex + 1);\\n            if (first === last) {\\n              this.optimize();\\n              return;\\n            }\\n          }\\n        } else if (last instanceof _code2.default) {\\n          var _newlineIndex = last.newlineIndex(0);\\n          if (_newlineIndex > -1) {\\n            last.split(_newlineIndex + 1);\\n          }\\n        }\\n        var ref = last.children.head instanceof _break2.default ? null : last.children.head;\\n        first.moveChildren(last, ref);\\n        first.remove();\\n      }\\n      this.optimize();\\n    }\\n  }, {\\n    key: 'enable',\\n    value: function enable() {\\n      var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\\n\\n      this.domNode.setAttribute('contenteditable', enabled);\\n    }\\n  }, {\\n    key: 'formatAt',\\n    value: function formatAt(index, length, format, value) {\\n      if (this.whitelist != null && !this.whitelist[format]) return;\\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\\n      this.optimize();\\n    }\\n  }, {\\n    key: 'insertAt',\\n    value: function insertAt(index, value, def) {\\n      if (def != null && this.whitelist != null && !this.whitelist[value]) return;\\n      if (index >= this.length()) {\\n        if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\\n          var blot = _parchment2.default.create(this.statics.defaultChild);\\n          this.appendChild(blot);\\n          if (def == null && value.endsWith('\\\\n')) {\\n            value = value.slice(0, -1);\\n          }\\n          blot.insertAt(0, value, def);\\n        } else {\\n          var embed = _parchment2.default.create(value, def);\\n          this.appendChild(embed);\\n        }\\n      } else {\\n        _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\\n      }\\n      this.optimize();\\n    }\\n  }, {\\n    key: 'insertBefore',\\n    value: function insertBefore(blot, ref) {\\n      if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\\n        var wrapper = _parchment2.default.create(this.statics.defaultChild);\\n        wrapper.appendChild(blot);\\n        blot = wrapper;\\n      }\\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\\n    }\\n  }, {\\n    key: 'leaf',\\n    value: function leaf(index) {\\n      return this.path(index).pop() || [null, -1];\\n    }\\n  }, {\\n    key: 'line',\\n    value: function line(index) {\\n      if (index === this.length()) {\\n        return this.line(index - 1);\\n      }\\n      return this.descendant(isLine, index);\\n    }\\n  }, {\\n    key: 'lines',\\n    value: function lines() {\\n      var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\\n      var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\\n\\n      var getLines = function getLines(blot, index, length) {\\n        var lines = [],\\n            lengthLeft = length;\\n        blot.children.forEachAt(index, length, function (child, index, length) {\\n          if (isLine(child)) {\\n            lines.push(child);\\n          } else if (child instanceof _parchment2.default.Container) {\\n            lines = lines.concat(getLines(child, index, lengthLeft));\\n          }\\n          lengthLeft -= length;\\n        });\\n        return lines;\\n      };\\n      return getLines(this, index, length);\\n    }\\n  }, {\\n    key: 'optimize',\\n    value: function optimize() {\\n      var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n\\n      if (this.batch === true) return;\\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\\n      if (mutations.length > 0) {\\n        this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\\n      }\\n    }\\n  }, {\\n    key: 'path',\\n    value: function path(index) {\\n      return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update(mutations) {\\n      if (this.batch === true) return;\\n      var source = _emitter2.default.sources.USER;\\n      if (typeof mutations === 'string') {\\n        source = mutations;\\n      }\\n      if (!Array.isArray(mutations)) {\\n        mutations = this.observer.takeRecords();\\n      }\\n      if (mutations.length > 0) {\\n        this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\\n      }\\n      _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\\n      if (mutations.length > 0) {\\n        this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\\n      }\\n    }\\n  }]);\\n\\n  return Scroll;\\n}(_parchment2.default.Scroll);\\n\\nScroll.blotName = 'scroll';\\nScroll.className = 'ql-editor';\\nScroll.tagName = 'DIV';\\nScroll.defaultChild = 'block';\\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\\n\\nexports.default = Scroll;\\n\\n/***/ }),\\n/* 23 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.SHORTKEY = exports.default = undefined;\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _clone = __webpack_require__(21);\\n\\nvar _clone2 = _interopRequireDefault(_clone);\\n\\nvar _deepEqual = __webpack_require__(11);\\n\\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _op = __webpack_require__(20);\\n\\nvar _op2 = _interopRequireDefault(_op);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _logger = __webpack_require__(10);\\n\\nvar _logger2 = _interopRequireDefault(_logger);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar debug = (0, _logger2.default)('quill:keyboard');\\n\\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\\n\\nvar Keyboard = function (_Module) {\\n  _inherits(Keyboard, _Module);\\n\\n  _createClass(Keyboard, null, [{\\n    key: 'match',\\n    value: function match(evt, binding) {\\n      binding = normalize(binding);\\n      if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\\n        return !!binding[key] !== evt[key] && binding[key] !== null;\\n      })) {\\n        return false;\\n      }\\n      return binding.key === (evt.which || evt.keyCode);\\n    }\\n  }]);\\n\\n  function Keyboard(quill, options) {\\n    _classCallCheck(this, Keyboard);\\n\\n    var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\\n\\n    _this.bindings = {};\\n    Object.keys(_this.options.bindings).forEach(function (name) {\\n      if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\\n        return;\\n      }\\n      if (_this.options.bindings[name]) {\\n        _this.addBinding(_this.options.bindings[name]);\\n      }\\n    });\\n    _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\\n    _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\\n    if (/Firefox/i.test(navigator.userAgent)) {\\n      // Need to handle delete and backspace for Firefox in the general case #1171\\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\\n    } else {\\n      _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\\n      _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\\n    }\\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\\n    _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\\n    _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\\n    _this.listen();\\n    return _this;\\n  }\\n\\n  _createClass(Keyboard, [{\\n    key: 'addBinding',\\n    value: function addBinding(key) {\\n      var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\\n      var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\\n\\n      var binding = normalize(key);\\n      if (binding == null || binding.key == null) {\\n        return debug.warn('Attempted to add invalid keyboard binding', binding);\\n      }\\n      if (typeof context === 'function') {\\n        context = { handler: context };\\n      }\\n      if (typeof handler === 'function') {\\n        handler = { handler: handler };\\n      }\\n      binding = (0, _extend2.default)(binding, context, handler);\\n      this.bindings[binding.key] = this.bindings[binding.key] || [];\\n      this.bindings[binding.key].push(binding);\\n    }\\n  }, {\\n    key: 'listen',\\n    value: function listen() {\\n      var _this2 = this;\\n\\n      this.quill.root.addEventListener('keydown', function (evt) {\\n        if (evt.defaultPrevented) return;\\n        var which = evt.which || evt.keyCode;\\n        var bindings = (_this2.bindings[which] || []).filter(function (binding) {\\n          return Keyboard.match(evt, binding);\\n        });\\n        if (bindings.length === 0) return;\\n        var range = _this2.quill.getSelection();\\n        if (range == null || !_this2.quill.hasFocus()) return;\\n\\n        var _quill$getLine = _this2.quill.getLine(range.index),\\n            _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\\n            line = _quill$getLine2[0],\\n            offset = _quill$getLine2[1];\\n\\n        var _quill$getLeaf = _this2.quill.getLeaf(range.index),\\n            _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\\n            leafStart = _quill$getLeaf2[0],\\n            offsetStart = _quill$getLeaf2[1];\\n\\n        var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\\n            _ref2 = _slicedToArray(_ref, 2),\\n            leafEnd = _ref2[0],\\n            offsetEnd = _ref2[1];\\n\\n        var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\\n        var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\\n        var curContext = {\\n          collapsed: range.length === 0,\\n          empty: range.length === 0 && line.length() <= 1,\\n          format: _this2.quill.getFormat(range),\\n          offset: offset,\\n          prefix: prefixText,\\n          suffix: suffixText\\n        };\\n        var prevented = bindings.some(function (binding) {\\n          if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\\n          if (binding.empty != null && binding.empty !== curContext.empty) return false;\\n          if (binding.offset != null && binding.offset !== curContext.offset) return false;\\n          if (Array.isArray(binding.format)) {\\n            // any format is present\\n            if (binding.format.every(function (name) {\\n              return curContext.format[name] == null;\\n            })) {\\n              return false;\\n            }\\n          } else if (_typeof(binding.format) === 'object') {\\n            // all formats must match\\n            if (!Object.keys(binding.format).every(function (name) {\\n              if (binding.format[name] === true) return curContext.format[name] != null;\\n              if (binding.format[name] === false) return curContext.format[name] == null;\\n              return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\\n            })) {\\n              return false;\\n            }\\n          }\\n          if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\\n          if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\\n          return binding.handler.call(_this2, range, curContext) !== true;\\n        });\\n        if (prevented) {\\n          evt.preventDefault();\\n        }\\n      });\\n    }\\n  }]);\\n\\n  return Keyboard;\\n}(_module2.default);\\n\\nKeyboard.keys = {\\n  BACKSPACE: 8,\\n  TAB: 9,\\n  ENTER: 13,\\n  ESCAPE: 27,\\n  LEFT: 37,\\n  UP: 38,\\n  RIGHT: 39,\\n  DOWN: 40,\\n  DELETE: 46\\n};\\n\\nKeyboard.DEFAULTS = {\\n  bindings: {\\n    'bold': makeFormatHandler('bold'),\\n    'italic': makeFormatHandler('italic'),\\n    'underline': makeFormatHandler('underline'),\\n    'indent': {\\n      // highlight tab or tab at beginning of list, indent or blockquote\\n      key: Keyboard.keys.TAB,\\n      format: ['blockquote', 'indent', 'list'],\\n      handler: function handler(range, context) {\\n        if (context.collapsed && context.offset !== 0) return true;\\n        this.quill.format('indent', '+1', _quill2.default.sources.USER);\\n      }\\n    },\\n    'outdent': {\\n      key: Keyboard.keys.TAB,\\n      shiftKey: true,\\n      format: ['blockquote', 'indent', 'list'],\\n      // highlight tab or tab at beginning of list, indent or blockquote\\n      handler: function handler(range, context) {\\n        if (context.collapsed && context.offset !== 0) return true;\\n        this.quill.format('indent', '-1', _quill2.default.sources.USER);\\n      }\\n    },\\n    'outdent backspace': {\\n      key: Keyboard.keys.BACKSPACE,\\n      collapsed: true,\\n      shiftKey: null,\\n      metaKey: null,\\n      ctrlKey: null,\\n      altKey: null,\\n      format: ['indent', 'list'],\\n      offset: 0,\\n      handler: function handler(range, context) {\\n        if (context.format.indent != null) {\\n          this.quill.format('indent', '-1', _quill2.default.sources.USER);\\n        } else if (context.format.list != null) {\\n          this.quill.format('list', false, _quill2.default.sources.USER);\\n        }\\n      }\\n    },\\n    'indent code-block': makeCodeBlockHandler(true),\\n    'outdent code-block': makeCodeBlockHandler(false),\\n    'remove tab': {\\n      key: Keyboard.keys.TAB,\\n      shiftKey: true,\\n      collapsed: true,\\n      prefix: /\\\\t$/,\\n      handler: function handler(range) {\\n        this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\\n      }\\n    },\\n    'tab': {\\n      key: Keyboard.keys.TAB,\\n      handler: function handler(range) {\\n        this.quill.history.cutoff();\\n        var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\\\t');\\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\\n        this.quill.history.cutoff();\\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\\n      }\\n    },\\n    'list empty enter': {\\n      key: Keyboard.keys.ENTER,\\n      collapsed: true,\\n      format: ['list'],\\n      empty: true,\\n      handler: function handler(range, context) {\\n        this.quill.format('list', false, _quill2.default.sources.USER);\\n        if (context.format.indent) {\\n          this.quill.format('indent', false, _quill2.default.sources.USER);\\n        }\\n      }\\n    },\\n    'checklist enter': {\\n      key: Keyboard.keys.ENTER,\\n      collapsed: true,\\n      format: { list: 'checked' },\\n      handler: function handler(range) {\\n        var _quill$getLine3 = this.quill.getLine(range.index),\\n            _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\\n            line = _quill$getLine4[0],\\n            offset = _quill$getLine4[1];\\n\\n        var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\\n        this.quill.scrollIntoView();\\n      }\\n    },\\n    'header enter': {\\n      key: Keyboard.keys.ENTER,\\n      collapsed: true,\\n      format: ['header'],\\n      suffix: /^$/,\\n      handler: function handler(range, context) {\\n        var _quill$getLine5 = this.quill.getLine(range.index),\\n            _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\\n            line = _quill$getLine6[0],\\n            offset = _quill$getLine6[1];\\n\\n        var delta = new _quillDelta2.default().retain(range.index).insert('\\\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\\n        this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\\n        this.quill.scrollIntoView();\\n      }\\n    },\\n    'list autofill': {\\n      key: ' ',\\n      collapsed: true,\\n      format: { list: false },\\n      prefix: /^\\\\s*?(\\\\d+\\\\.|-|\\\\*|\\\\[ ?\\\\]|\\\\[x\\\\])$/,\\n      handler: function handler(range, context) {\\n        var length = context.prefix.length;\\n\\n        var _quill$getLine7 = this.quill.getLine(range.index),\\n            _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\\n            line = _quill$getLine8[0],\\n            offset = _quill$getLine8[1];\\n\\n        if (offset > length) return true;\\n        var value = void 0;\\n        switch (context.prefix.trim()) {\\n          case '[]':case '[ ]':\\n            value = 'unchecked';\\n            break;\\n          case '[x]':\\n            value = 'checked';\\n            break;\\n          case '-':case '*':\\n            value = 'bullet';\\n            break;\\n          default:\\n            value = 'ordered';\\n        }\\n        this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\\n        this.quill.history.cutoff();\\n        var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\\n        this.quill.history.cutoff();\\n        this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\\n      }\\n    },\\n    'code exit': {\\n      key: Keyboard.keys.ENTER,\\n      collapsed: true,\\n      format: ['code-block'],\\n      prefix: /\\\\n\\\\n$/,\\n      suffix: /^\\\\s+$/,\\n      handler: function handler(range) {\\n        var _quill$getLine9 = this.quill.getLine(range.index),\\n            _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\\n            line = _quill$getLine10[0],\\n            offset = _quill$getLine10[1];\\n\\n        var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\\n        this.quill.updateContents(delta, _quill2.default.sources.USER);\\n      }\\n    },\\n    'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\\n    'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\\n    'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\\n    'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\\n  }\\n};\\n\\nfunction makeEmbedArrowHandler(key, shiftKey) {\\n  var _ref3;\\n\\n  var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\\n  return _ref3 = {\\n    key: key,\\n    shiftKey: shiftKey,\\n    altKey: null\\n  }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\\n    var index = range.index;\\n    if (key === Keyboard.keys.RIGHT) {\\n      index += range.length + 1;\\n    }\\n\\n    var _quill$getLeaf3 = this.quill.getLeaf(index),\\n        _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\\n        leaf = _quill$getLeaf4[0];\\n\\n    if (!(leaf instanceof _parchment2.default.Embed)) return true;\\n    if (key === Keyboard.keys.LEFT) {\\n      if (shiftKey) {\\n        this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\\n      } else {\\n        this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\\n      }\\n    } else {\\n      if (shiftKey) {\\n        this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\\n      } else {\\n        this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\\n      }\\n    }\\n    return false;\\n  }), _ref3;\\n}\\n\\nfunction handleBackspace(range, context) {\\n  if (range.index === 0 || this.quill.getLength() <= 1) return;\\n\\n  var _quill$getLine11 = this.quill.getLine(range.index),\\n      _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\\n      line = _quill$getLine12[0];\\n\\n  var formats = {};\\n  if (context.offset === 0) {\\n    var _quill$getLine13 = this.quill.getLine(range.index - 1),\\n        _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\\n        prev = _quill$getLine14[0];\\n\\n    if (prev != null && prev.length() > 1) {\\n      var curFormats = line.formats();\\n      var prevFormats = this.quill.getFormat(range.index - 1, 1);\\n      formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\\n    }\\n  }\\n  // Check for astral symbols\\n  var length = /[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]$/.test(context.prefix) ? 2 : 1;\\n  this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\\n  if (Object.keys(formats).length > 0) {\\n    this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\\n  }\\n  this.quill.focus();\\n}\\n\\nfunction handleDelete(range, context) {\\n  // Check for astral symbols\\n  var length = /^[\\\\uD800-\\\\uDBFF][\\\\uDC00-\\\\uDFFF]/.test(context.suffix) ? 2 : 1;\\n  if (range.index >= this.quill.getLength() - length) return;\\n  var formats = {},\\n      nextLength = 0;\\n\\n  var _quill$getLine15 = this.quill.getLine(range.index),\\n      _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\\n      line = _quill$getLine16[0];\\n\\n  if (context.offset >= line.length() - 1) {\\n    var _quill$getLine17 = this.quill.getLine(range.index + 1),\\n        _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\\n        next = _quill$getLine18[0];\\n\\n    if (next) {\\n      var curFormats = line.formats();\\n      var nextFormats = this.quill.getFormat(range.index, 1);\\n      formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\\n      nextLength = next.length();\\n    }\\n  }\\n  this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\\n  if (Object.keys(formats).length > 0) {\\n    this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\\n  }\\n}\\n\\nfunction handleDeleteRange(range) {\\n  var lines = this.quill.getLines(range);\\n  var formats = {};\\n  if (lines.length > 1) {\\n    var firstFormats = lines[0].formats();\\n    var lastFormats = lines[lines.length - 1].formats();\\n    formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\\n  }\\n  this.quill.deleteText(range, _quill2.default.sources.USER);\\n  if (Object.keys(formats).length > 0) {\\n    this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\\n  }\\n  this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\\n  this.quill.focus();\\n}\\n\\nfunction handleEnter(range, context) {\\n  var _this3 = this;\\n\\n  if (range.length > 0) {\\n    this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\\n  }\\n  var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\\n    if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\\n      lineFormats[format] = context.format[format];\\n    }\\n    return lineFormats;\\n  }, {});\\n  this.quill.insertText(range.index, '\\\\n', lineFormats, _quill2.default.sources.USER);\\n  // Earlier scroll.deleteAt might have messed up our selection,\\n  // so insertText's built in selection preservation is not reliable\\n  this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\\n  this.quill.focus();\\n  Object.keys(context.format).forEach(function (name) {\\n    if (lineFormats[name] != null) return;\\n    if (Array.isArray(context.format[name])) return;\\n    if (name === 'link') return;\\n    _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\\n  });\\n}\\n\\nfunction makeCodeBlockHandler(indent) {\\n  return {\\n    key: Keyboard.keys.TAB,\\n    shiftKey: !indent,\\n    format: { 'code-block': true },\\n    handler: function handler(range) {\\n      var CodeBlock = _parchment2.default.query('code-block');\\n      var index = range.index,\\n          length = range.length;\\n\\n      var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\\n          _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\\n          block = _quill$scroll$descend2[0],\\n          offset = _quill$scroll$descend2[1];\\n\\n      if (block == null) return;\\n      var scrollIndex = this.quill.getIndex(block);\\n      var start = block.newlineIndex(offset, true) + 1;\\n      var end = block.newlineIndex(scrollIndex + offset + length);\\n      var lines = block.domNode.textContent.slice(start, end).split('\\\\n');\\n      offset = 0;\\n      lines.forEach(function (line, i) {\\n        if (indent) {\\n          block.insertAt(start + offset, CodeBlock.TAB);\\n          offset += CodeBlock.TAB.length;\\n          if (i === 0) {\\n            index += CodeBlock.TAB.length;\\n          } else {\\n            length += CodeBlock.TAB.length;\\n          }\\n        } else if (line.startsWith(CodeBlock.TAB)) {\\n          block.deleteAt(start + offset, CodeBlock.TAB.length);\\n          offset -= CodeBlock.TAB.length;\\n          if (i === 0) {\\n            index -= CodeBlock.TAB.length;\\n          } else {\\n            length -= CodeBlock.TAB.length;\\n          }\\n        }\\n        offset += line.length + 1;\\n      });\\n      this.quill.update(_quill2.default.sources.USER);\\n      this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\\n    }\\n  };\\n}\\n\\nfunction makeFormatHandler(format) {\\n  return {\\n    key: format[0].toUpperCase(),\\n    shortKey: true,\\n    handler: function handler(range, context) {\\n      this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\\n    }\\n  };\\n}\\n\\nfunction normalize(binding) {\\n  if (typeof binding === 'string' || typeof binding === 'number') {\\n    return normalize({ key: binding });\\n  }\\n  if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\\n    binding = (0, _clone2.default)(binding, false);\\n  }\\n  if (typeof binding.key === 'string') {\\n    if (Keyboard.keys[binding.key.toUpperCase()] != null) {\\n      binding.key = Keyboard.keys[binding.key.toUpperCase()];\\n    } else if (binding.key.length === 1) {\\n      binding.key = binding.key.toUpperCase().charCodeAt(0);\\n    } else {\\n      return null;\\n    }\\n  }\\n  if (binding.shortKey) {\\n    binding[SHORTKEY] = binding.shortKey;\\n    delete binding.shortKey;\\n  }\\n  return binding;\\n}\\n\\nexports.default = Keyboard;\\nexports.SHORTKEY = SHORTKEY;\\n\\n/***/ }),\\n/* 24 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _text = __webpack_require__(7);\\n\\nvar _text2 = _interopRequireDefault(_text);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Cursor = function (_Parchment$Embed) {\\n  _inherits(Cursor, _Parchment$Embed);\\n\\n  _createClass(Cursor, null, [{\\n    key: 'value',\\n    value: function value() {\\n      return undefined;\\n    }\\n  }]);\\n\\n  function Cursor(domNode, selection) {\\n    _classCallCheck(this, Cursor);\\n\\n    var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\\n\\n    _this.selection = selection;\\n    _this.textNode = document.createTextNode(Cursor.CONTENTS);\\n    _this.domNode.appendChild(_this.textNode);\\n    _this._length = 0;\\n    return _this;\\n  }\\n\\n  _createClass(Cursor, [{\\n    key: 'detach',\\n    value: function detach() {\\n      // super.detach() will also clear domNode.__blot\\n      if (this.parent != null) this.parent.removeChild(this);\\n    }\\n  }, {\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (this._length !== 0) {\\n        return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\\n      }\\n      var target = this,\\n          index = 0;\\n      while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\\n        index += target.offset(target.parent);\\n        target = target.parent;\\n      }\\n      if (target != null) {\\n        this._length = Cursor.CONTENTS.length;\\n        target.optimize();\\n        target.formatAt(index, Cursor.CONTENTS.length, name, value);\\n        this._length = 0;\\n      }\\n    }\\n  }, {\\n    key: 'index',\\n    value: function index(node, offset) {\\n      if (node === this.textNode) return 0;\\n      return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\\n    }\\n  }, {\\n    key: 'length',\\n    value: function length() {\\n      return this._length;\\n    }\\n  }, {\\n    key: 'position',\\n    value: function position() {\\n      return [this.textNode, this.textNode.data.length];\\n    }\\n  }, {\\n    key: 'remove',\\n    value: function remove() {\\n      _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\\n      this.parent = null;\\n    }\\n  }, {\\n    key: 'restore',\\n    value: function restore() {\\n      if (this.selection.composing || this.parent == null) return;\\n      var textNode = this.textNode;\\n      var range = this.selection.getNativeRange();\\n      var restoreText = void 0,\\n          start = void 0,\\n          end = void 0;\\n      if (range != null && range.start.node === textNode && range.end.node === textNode) {\\n        var _ref = [textNode, range.start.offset, range.end.offset];\\n        restoreText = _ref[0];\\n        start = _ref[1];\\n        end = _ref[2];\\n      }\\n      // Link format will insert text outside of anchor tag\\n      while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\\n        this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\\n      }\\n      if (this.textNode.data !== Cursor.CONTENTS) {\\n        var text = this.textNode.data.split(Cursor.CONTENTS).join('');\\n        if (this.next instanceof _text2.default) {\\n          restoreText = this.next.domNode;\\n          this.next.insertAt(0, text);\\n          this.textNode.data = Cursor.CONTENTS;\\n        } else {\\n          this.textNode.data = text;\\n          this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\\n          this.textNode = document.createTextNode(Cursor.CONTENTS);\\n          this.domNode.appendChild(this.textNode);\\n        }\\n      }\\n      this.remove();\\n      if (start != null) {\\n        var _map = [start, end].map(function (offset) {\\n          return Math.max(0, Math.min(restoreText.data.length, offset - 1));\\n        });\\n\\n        var _map2 = _slicedToArray(_map, 2);\\n\\n        start = _map2[0];\\n        end = _map2[1];\\n\\n        return {\\n          startNode: restoreText,\\n          startOffset: start,\\n          endNode: restoreText,\\n          endOffset: end\\n        };\\n      }\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update(mutations, context) {\\n      var _this2 = this;\\n\\n      if (mutations.some(function (mutation) {\\n        return mutation.type === 'characterData' && mutation.target === _this2.textNode;\\n      })) {\\n        var range = this.restore();\\n        if (range) context.range = range;\\n      }\\n    }\\n  }, {\\n    key: 'value',\\n    value: function value() {\\n      return '';\\n    }\\n  }]);\\n\\n  return Cursor;\\n}(_parchment2.default.Embed);\\n\\nCursor.blotName = 'cursor';\\nCursor.className = 'ql-cursor';\\nCursor.tagName = 'span';\\nCursor.CONTENTS = '\\\\uFEFF'; // Zero width no break space\\n\\n\\nexports.default = Cursor;\\n\\n/***/ }),\\n/* 25 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Container = function (_Parchment$Container) {\\n  _inherits(Container, _Parchment$Container);\\n\\n  function Container() {\\n    _classCallCheck(this, Container);\\n\\n    return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\\n  }\\n\\n  return Container;\\n}(_parchment2.default.Container);\\n\\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\\n\\nexports.default = Container;\\n\\n/***/ }),\\n/* 26 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar ColorAttributor = function (_Parchment$Attributor) {\\n  _inherits(ColorAttributor, _Parchment$Attributor);\\n\\n  function ColorAttributor() {\\n    _classCallCheck(this, ColorAttributor);\\n\\n    return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\\n  }\\n\\n  _createClass(ColorAttributor, [{\\n    key: 'value',\\n    value: function value(domNode) {\\n      var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\\n      if (!value.startsWith('rgb(')) return value;\\n      value = value.replace(/^[^\\\\d]+/, '').replace(/[^\\\\d]+$/, '');\\n      return '#' + value.split(',').map(function (component) {\\n        return ('00' + parseInt(component).toString(16)).slice(-2);\\n      }).join('');\\n    }\\n  }]);\\n\\n  return ColorAttributor;\\n}(_parchment2.default.Attributor.Style);\\n\\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\\n  scope: _parchment2.default.Scope.INLINE\\n});\\nvar ColorStyle = new ColorAttributor('color', 'color', {\\n  scope: _parchment2.default.Scope.INLINE\\n});\\n\\nexports.ColorAttributor = ColorAttributor;\\nexports.ColorClass = ColorClass;\\nexports.ColorStyle = ColorStyle;\\n\\n/***/ }),\\n/* 27 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.sanitize = exports.default = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Link = function (_Inline) {\\n  _inherits(Link, _Inline);\\n\\n  function Link() {\\n    _classCallCheck(this, Link);\\n\\n    return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\\n  }\\n\\n  _createClass(Link, [{\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\\n      value = this.constructor.sanitize(value);\\n      this.domNode.setAttribute('href', value);\\n    }\\n  }], [{\\n    key: 'create',\\n    value: function create(value) {\\n      var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\\n      value = this.sanitize(value);\\n      node.setAttribute('href', value);\\n      node.setAttribute('target', '_blank');\\n      return node;\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      return domNode.getAttribute('href');\\n    }\\n  }, {\\n    key: 'sanitize',\\n    value: function sanitize(url) {\\n      return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\\n    }\\n  }]);\\n\\n  return Link;\\n}(_inline2.default);\\n\\nLink.blotName = 'link';\\nLink.tagName = 'A';\\nLink.SANITIZED_URL = 'about:blank';\\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\\n\\nfunction _sanitize(url, protocols) {\\n  var anchor = document.createElement('a');\\n  anchor.href = url;\\n  var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\\n  return protocols.indexOf(protocol) > -1;\\n}\\n\\nexports.default = Link;\\nexports.sanitize = _sanitize;\\n\\n/***/ }),\\n/* 28 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _keyboard = __webpack_require__(23);\\n\\nvar _keyboard2 = _interopRequireDefault(_keyboard);\\n\\nvar _dropdown = __webpack_require__(107);\\n\\nvar _dropdown2 = _interopRequireDefault(_dropdown);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar optionsCounter = 0;\\n\\nfunction toggleAriaAttribute(element, attribute) {\\n  element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\\n}\\n\\nvar Picker = function () {\\n  function Picker(select) {\\n    var _this = this;\\n\\n    _classCallCheck(this, Picker);\\n\\n    this.select = select;\\n    this.container = document.createElement('span');\\n    this.buildPicker();\\n    this.select.style.display = 'none';\\n    this.select.parentNode.insertBefore(this.container, this.select);\\n\\n    this.label.addEventListener('mousedown', function () {\\n      _this.togglePicker();\\n    });\\n    this.label.addEventListener('keydown', function (event) {\\n      switch (event.keyCode) {\\n        // Allows the \\\"Enter\\\" key to open the picker\\n        case _keyboard2.default.keys.ENTER:\\n          _this.togglePicker();\\n          break;\\n\\n        // Allows the \\\"Escape\\\" key to close the picker\\n        case _keyboard2.default.keys.ESCAPE:\\n          _this.escape();\\n          event.preventDefault();\\n          break;\\n        default:\\n      }\\n    });\\n    this.select.addEventListener('change', this.update.bind(this));\\n  }\\n\\n  _createClass(Picker, [{\\n    key: 'togglePicker',\\n    value: function togglePicker() {\\n      this.container.classList.toggle('ql-expanded');\\n      // Toggle aria-expanded and aria-hidden to make the picker accessible\\n      toggleAriaAttribute(this.label, 'aria-expanded');\\n      toggleAriaAttribute(this.options, 'aria-hidden');\\n    }\\n  }, {\\n    key: 'buildItem',\\n    value: function buildItem(option) {\\n      var _this2 = this;\\n\\n      var item = document.createElement('span');\\n      item.tabIndex = '0';\\n      item.setAttribute('role', 'button');\\n\\n      item.classList.add('ql-picker-item');\\n      if (option.hasAttribute('value')) {\\n        item.setAttribute('data-value', option.getAttribute('value'));\\n      }\\n      if (option.textContent) {\\n        item.setAttribute('data-label', option.textContent);\\n      }\\n      item.addEventListener('click', function () {\\n        _this2.selectItem(item, true);\\n      });\\n      item.addEventListener('keydown', function (event) {\\n        switch (event.keyCode) {\\n          // Allows the \\\"Enter\\\" key to select an item\\n          case _keyboard2.default.keys.ENTER:\\n            _this2.selectItem(item, true);\\n            event.preventDefault();\\n            break;\\n\\n          // Allows the \\\"Escape\\\" key to close the picker\\n          case _keyboard2.default.keys.ESCAPE:\\n            _this2.escape();\\n            event.preventDefault();\\n            break;\\n          default:\\n        }\\n      });\\n\\n      return item;\\n    }\\n  }, {\\n    key: 'buildLabel',\\n    value: function buildLabel() {\\n      var label = document.createElement('span');\\n      label.classList.add('ql-picker-label');\\n      label.innerHTML = _dropdown2.default;\\n      label.tabIndex = '0';\\n      label.setAttribute('role', 'button');\\n      label.setAttribute('aria-expanded', 'false');\\n      this.container.appendChild(label);\\n      return label;\\n    }\\n  }, {\\n    key: 'buildOptions',\\n    value: function buildOptions() {\\n      var _this3 = this;\\n\\n      var options = document.createElement('span');\\n      options.classList.add('ql-picker-options');\\n\\n      // Don't want screen readers to read this until options are visible\\n      options.setAttribute('aria-hidden', 'true');\\n      options.tabIndex = '-1';\\n\\n      // Need a unique id for aria-controls\\n      options.id = 'ql-picker-options-' + optionsCounter;\\n      optionsCounter += 1;\\n      this.label.setAttribute('aria-controls', options.id);\\n\\n      this.options = options;\\n\\n      [].slice.call(this.select.options).forEach(function (option) {\\n        var item = _this3.buildItem(option);\\n        options.appendChild(item);\\n        if (option.selected === true) {\\n          _this3.selectItem(item);\\n        }\\n      });\\n      this.container.appendChild(options);\\n    }\\n  }, {\\n    key: 'buildPicker',\\n    value: function buildPicker() {\\n      var _this4 = this;\\n\\n      [].slice.call(this.select.attributes).forEach(function (item) {\\n        _this4.container.setAttribute(item.name, item.value);\\n      });\\n      this.container.classList.add('ql-picker');\\n      this.label = this.buildLabel();\\n      this.buildOptions();\\n    }\\n  }, {\\n    key: 'escape',\\n    value: function escape() {\\n      var _this5 = this;\\n\\n      // Close menu and return focus to trigger label\\n      this.close();\\n      // Need setTimeout for accessibility to ensure that the browser executes\\n      // focus on the next process thread and after any DOM content changes\\n      setTimeout(function () {\\n        return _this5.label.focus();\\n      }, 1);\\n    }\\n  }, {\\n    key: 'close',\\n    value: function close() {\\n      this.container.classList.remove('ql-expanded');\\n      this.label.setAttribute('aria-expanded', 'false');\\n      this.options.setAttribute('aria-hidden', 'true');\\n    }\\n  }, {\\n    key: 'selectItem',\\n    value: function selectItem(item) {\\n      var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\\n\\n      var selected = this.container.querySelector('.ql-selected');\\n      if (item === selected) return;\\n      if (selected != null) {\\n        selected.classList.remove('ql-selected');\\n      }\\n      if (item == null) return;\\n      item.classList.add('ql-selected');\\n      this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\\n      if (item.hasAttribute('data-value')) {\\n        this.label.setAttribute('data-value', item.getAttribute('data-value'));\\n      } else {\\n        this.label.removeAttribute('data-value');\\n      }\\n      if (item.hasAttribute('data-label')) {\\n        this.label.setAttribute('data-label', item.getAttribute('data-label'));\\n      } else {\\n        this.label.removeAttribute('data-label');\\n      }\\n      if (trigger) {\\n        if (typeof Event === 'function') {\\n          this.select.dispatchEvent(new Event('change'));\\n        } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\\n          // IE11\\n          var event = document.createEvent('Event');\\n          event.initEvent('change', true, true);\\n          this.select.dispatchEvent(event);\\n        }\\n        this.close();\\n      }\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update() {\\n      var option = void 0;\\n      if (this.select.selectedIndex > -1) {\\n        var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\\n        option = this.select.options[this.select.selectedIndex];\\n        this.selectItem(item);\\n      } else {\\n        this.selectItem(null);\\n      }\\n      var isActive = option != null && option !== this.select.querySelector('option[selected]');\\n      this.label.classList.toggle('ql-active', isActive);\\n    }\\n  }]);\\n\\n  return Picker;\\n}();\\n\\nexports.default = Picker;\\n\\n/***/ }),\\n/* 29 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nvar _break = __webpack_require__(16);\\n\\nvar _break2 = _interopRequireDefault(_break);\\n\\nvar _container = __webpack_require__(25);\\n\\nvar _container2 = _interopRequireDefault(_container);\\n\\nvar _cursor = __webpack_require__(24);\\n\\nvar _cursor2 = _interopRequireDefault(_cursor);\\n\\nvar _embed = __webpack_require__(35);\\n\\nvar _embed2 = _interopRequireDefault(_embed);\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nvar _scroll = __webpack_require__(22);\\n\\nvar _scroll2 = _interopRequireDefault(_scroll);\\n\\nvar _text = __webpack_require__(7);\\n\\nvar _text2 = _interopRequireDefault(_text);\\n\\nvar _clipboard = __webpack_require__(55);\\n\\nvar _clipboard2 = _interopRequireDefault(_clipboard);\\n\\nvar _history = __webpack_require__(42);\\n\\nvar _history2 = _interopRequireDefault(_history);\\n\\nvar _keyboard = __webpack_require__(23);\\n\\nvar _keyboard2 = _interopRequireDefault(_keyboard);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\n_quill2.default.register({\\n  'blots/block': _block2.default,\\n  'blots/block/embed': _block.BlockEmbed,\\n  'blots/break': _break2.default,\\n  'blots/container': _container2.default,\\n  'blots/cursor': _cursor2.default,\\n  'blots/embed': _embed2.default,\\n  'blots/inline': _inline2.default,\\n  'blots/scroll': _scroll2.default,\\n  'blots/text': _text2.default,\\n\\n  'modules/clipboard': _clipboard2.default,\\n  'modules/history': _history2.default,\\n  'modules/keyboard': _keyboard2.default\\n});\\n\\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\\n\\nexports.default = _quill2.default;\\n\\n/***/ }),\\n/* 30 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar Registry = __webpack_require__(1);\\nvar ShadowBlot = /** @class */ (function () {\\n    function ShadowBlot(domNode) {\\n        this.domNode = domNode;\\n        // @ts-ignore\\n        this.domNode[Registry.DATA_KEY] = { blot: this };\\n    }\\n    Object.defineProperty(ShadowBlot.prototype, \\\"statics\\\", {\\n        // Hack for accessing inherited static methods\\n        get: function () {\\n            return this.constructor;\\n        },\\n        enumerable: true,\\n        configurable: true\\n    });\\n    ShadowBlot.create = function (value) {\\n        if (this.tagName == null) {\\n            throw new Registry.ParchmentError('Blot definition missing tagName');\\n        }\\n        var node;\\n        if (Array.isArray(this.tagName)) {\\n            if (typeof value === 'string') {\\n                value = value.toUpperCase();\\n                if (parseInt(value).toString() === value) {\\n                    value = parseInt(value);\\n                }\\n            }\\n            if (typeof value === 'number') {\\n                node = document.createElement(this.tagName[value - 1]);\\n            }\\n            else if (this.tagName.indexOf(value) > -1) {\\n                node = document.createElement(value);\\n            }\\n            else {\\n                node = document.createElement(this.tagName[0]);\\n            }\\n        }\\n        else {\\n            node = document.createElement(this.tagName);\\n        }\\n        if (this.className) {\\n            node.classList.add(this.className);\\n        }\\n        return node;\\n    };\\n    ShadowBlot.prototype.attach = function () {\\n        if (this.parent != null) {\\n            this.scroll = this.parent.scroll;\\n        }\\n    };\\n    ShadowBlot.prototype.clone = function () {\\n        var domNode = this.domNode.cloneNode(false);\\n        return Registry.create(domNode);\\n    };\\n    ShadowBlot.prototype.detach = function () {\\n        if (this.parent != null)\\n            this.parent.removeChild(this);\\n        // @ts-ignore\\n        delete this.domNode[Registry.DATA_KEY];\\n    };\\n    ShadowBlot.prototype.deleteAt = function (index, length) {\\n        var blot = this.isolate(index, length);\\n        blot.remove();\\n    };\\n    ShadowBlot.prototype.formatAt = function (index, length, name, value) {\\n        var blot = this.isolate(index, length);\\n        if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\\n            blot.wrap(name, value);\\n        }\\n        else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\\n            var parent = Registry.create(this.statics.scope);\\n            blot.wrap(parent);\\n            parent.format(name, value);\\n        }\\n    };\\n    ShadowBlot.prototype.insertAt = function (index, value, def) {\\n        var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\\n        var ref = this.split(index);\\n        this.parent.insertBefore(blot, ref);\\n    };\\n    ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\\n        if (refBlot === void 0) { refBlot = null; }\\n        if (this.parent != null) {\\n            this.parent.children.remove(this);\\n        }\\n        var refDomNode = null;\\n        parentBlot.children.insertBefore(this, refBlot);\\n        if (refBlot != null) {\\n            refDomNode = refBlot.domNode;\\n        }\\n        if (this.domNode.parentNode != parentBlot.domNode ||\\n            this.domNode.nextSibling != refDomNode) {\\n            parentBlot.domNode.insertBefore(this.domNode, refDomNode);\\n        }\\n        this.parent = parentBlot;\\n        this.attach();\\n    };\\n    ShadowBlot.prototype.isolate = function (index, length) {\\n        var target = this.split(index);\\n        target.split(length);\\n        return target;\\n    };\\n    ShadowBlot.prototype.length = function () {\\n        return 1;\\n    };\\n    ShadowBlot.prototype.offset = function (root) {\\n        if (root === void 0) { root = this.parent; }\\n        if (this.parent == null || this == root)\\n            return 0;\\n        return this.parent.children.offset(this) + this.parent.offset(root);\\n    };\\n    ShadowBlot.prototype.optimize = function (context) {\\n        // TODO clean up once we use WeakMap\\n        // @ts-ignore\\n        if (this.domNode[Registry.DATA_KEY] != null) {\\n            // @ts-ignore\\n            delete this.domNode[Registry.DATA_KEY].mutations;\\n        }\\n    };\\n    ShadowBlot.prototype.remove = function () {\\n        if (this.domNode.parentNode != null) {\\n            this.domNode.parentNode.removeChild(this.domNode);\\n        }\\n        this.detach();\\n    };\\n    ShadowBlot.prototype.replace = function (target) {\\n        if (target.parent == null)\\n            return;\\n        target.parent.insertBefore(this, target.next);\\n        target.remove();\\n    };\\n    ShadowBlot.prototype.replaceWith = function (name, value) {\\n        var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\\n        replacement.replace(this);\\n        return replacement;\\n    };\\n    ShadowBlot.prototype.split = function (index, force) {\\n        return index === 0 ? this : this.next;\\n    };\\n    ShadowBlot.prototype.update = function (mutations, context) {\\n        // Nothing to do by default\\n    };\\n    ShadowBlot.prototype.wrap = function (name, value) {\\n        var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\\n        if (this.parent != null) {\\n            this.parent.insertBefore(wrapper, this.next);\\n        }\\n        wrapper.appendChild(this);\\n        return wrapper;\\n    };\\n    ShadowBlot.blotName = 'abstract';\\n    return ShadowBlot;\\n}());\\nexports.default = ShadowBlot;\\n\\n\\n/***/ }),\\n/* 31 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar attributor_1 = __webpack_require__(12);\\nvar class_1 = __webpack_require__(32);\\nvar style_1 = __webpack_require__(33);\\nvar Registry = __webpack_require__(1);\\nvar AttributorStore = /** @class */ (function () {\\n    function AttributorStore(domNode) {\\n        this.attributes = {};\\n        this.domNode = domNode;\\n        this.build();\\n    }\\n    AttributorStore.prototype.attribute = function (attribute, value) {\\n        // verb\\n        if (value) {\\n            if (attribute.add(this.domNode, value)) {\\n                if (attribute.value(this.domNode) != null) {\\n                    this.attributes[attribute.attrName] = attribute;\\n                }\\n                else {\\n                    delete this.attributes[attribute.attrName];\\n                }\\n            }\\n        }\\n        else {\\n            attribute.remove(this.domNode);\\n            delete this.attributes[attribute.attrName];\\n        }\\n    };\\n    AttributorStore.prototype.build = function () {\\n        var _this = this;\\n        this.attributes = {};\\n        var attributes = attributor_1.default.keys(this.domNode);\\n        var classes = class_1.default.keys(this.domNode);\\n        var styles = style_1.default.keys(this.domNode);\\n        attributes\\n            .concat(classes)\\n            .concat(styles)\\n            .forEach(function (name) {\\n            var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\\n            if (attr instanceof attributor_1.default) {\\n                _this.attributes[attr.attrName] = attr;\\n            }\\n        });\\n    };\\n    AttributorStore.prototype.copy = function (target) {\\n        var _this = this;\\n        Object.keys(this.attributes).forEach(function (key) {\\n            var value = _this.attributes[key].value(_this.domNode);\\n            target.format(key, value);\\n        });\\n    };\\n    AttributorStore.prototype.move = function (target) {\\n        var _this = this;\\n        this.copy(target);\\n        Object.keys(this.attributes).forEach(function (key) {\\n            _this.attributes[key].remove(_this.domNode);\\n        });\\n        this.attributes = {};\\n    };\\n    AttributorStore.prototype.values = function () {\\n        var _this = this;\\n        return Object.keys(this.attributes).reduce(function (attributes, name) {\\n            attributes[name] = _this.attributes[name].value(_this.domNode);\\n            return attributes;\\n        }, {});\\n    };\\n    return AttributorStore;\\n}());\\nexports.default = AttributorStore;\\n\\n\\n/***/ }),\\n/* 32 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar attributor_1 = __webpack_require__(12);\\nfunction match(node, prefix) {\\n    var className = node.getAttribute('class') || '';\\n    return className.split(/\\\\s+/).filter(function (name) {\\n        return name.indexOf(prefix + \\\"-\\\") === 0;\\n    });\\n}\\nvar ClassAttributor = /** @class */ (function (_super) {\\n    __extends(ClassAttributor, _super);\\n    function ClassAttributor() {\\n        return _super !== null && _super.apply(this, arguments) || this;\\n    }\\n    ClassAttributor.keys = function (node) {\\n        return (node.getAttribute('class') || '').split(/\\\\s+/).map(function (name) {\\n            return name\\n                .split('-')\\n                .slice(0, -1)\\n                .join('-');\\n        });\\n    };\\n    ClassAttributor.prototype.add = function (node, value) {\\n        if (!this.canAdd(node, value))\\n            return false;\\n        this.remove(node);\\n        node.classList.add(this.keyName + \\\"-\\\" + value);\\n        return true;\\n    };\\n    ClassAttributor.prototype.remove = function (node) {\\n        var matches = match(node, this.keyName);\\n        matches.forEach(function (name) {\\n            node.classList.remove(name);\\n        });\\n        if (node.classList.length === 0) {\\n            node.removeAttribute('class');\\n        }\\n    };\\n    ClassAttributor.prototype.value = function (node) {\\n        var result = match(node, this.keyName)[0] || '';\\n        var value = result.slice(this.keyName.length + 1); // +1 for hyphen\\n        return this.canAdd(node, value) ? value : '';\\n    };\\n    return ClassAttributor;\\n}(attributor_1.default));\\nexports.default = ClassAttributor;\\n\\n\\n/***/ }),\\n/* 33 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar attributor_1 = __webpack_require__(12);\\nfunction camelize(name) {\\n    var parts = name.split('-');\\n    var rest = parts\\n        .slice(1)\\n        .map(function (part) {\\n        return part[0].toUpperCase() + part.slice(1);\\n    })\\n        .join('');\\n    return parts[0] + rest;\\n}\\nvar StyleAttributor = /** @class */ (function (_super) {\\n    __extends(StyleAttributor, _super);\\n    function StyleAttributor() {\\n        return _super !== null && _super.apply(this, arguments) || this;\\n    }\\n    StyleAttributor.keys = function (node) {\\n        return (node.getAttribute('style') || '').split(';').map(function (value) {\\n            var arr = value.split(':');\\n            return arr[0].trim();\\n        });\\n    };\\n    StyleAttributor.prototype.add = function (node, value) {\\n        if (!this.canAdd(node, value))\\n            return false;\\n        // @ts-ignore\\n        node.style[camelize(this.keyName)] = value;\\n        return true;\\n    };\\n    StyleAttributor.prototype.remove = function (node) {\\n        // @ts-ignore\\n        node.style[camelize(this.keyName)] = '';\\n        if (!node.getAttribute('style')) {\\n            node.removeAttribute('style');\\n        }\\n    };\\n    StyleAttributor.prototype.value = function (node) {\\n        // @ts-ignore\\n        var value = node.style[camelize(this.keyName)];\\n        return this.canAdd(node, value) ? value : '';\\n    };\\n    return StyleAttributor;\\n}(attributor_1.default));\\nexports.default = StyleAttributor;\\n\\n\\n/***/ }),\\n/* 34 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar Theme = function () {\\n  function Theme(quill, options) {\\n    _classCallCheck(this, Theme);\\n\\n    this.quill = quill;\\n    this.options = options;\\n    this.modules = {};\\n  }\\n\\n  _createClass(Theme, [{\\n    key: 'init',\\n    value: function init() {\\n      var _this = this;\\n\\n      Object.keys(this.options.modules).forEach(function (name) {\\n        if (_this.modules[name] == null) {\\n          _this.addModule(name);\\n        }\\n      });\\n    }\\n  }, {\\n    key: 'addModule',\\n    value: function addModule(name) {\\n      var moduleClass = this.quill.constructor.import('modules/' + name);\\n      this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\\n      return this.modules[name];\\n    }\\n  }]);\\n\\n  return Theme;\\n}();\\n\\nTheme.DEFAULTS = {\\n  modules: {}\\n};\\nTheme.themes = {\\n  'default': Theme\\n};\\n\\nexports.default = Theme;\\n\\n/***/ }),\\n/* 35 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _text = __webpack_require__(7);\\n\\nvar _text2 = _interopRequireDefault(_text);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar GUARD_TEXT = '\\\\uFEFF';\\n\\nvar Embed = function (_Parchment$Embed) {\\n  _inherits(Embed, _Parchment$Embed);\\n\\n  function Embed(node) {\\n    _classCallCheck(this, Embed);\\n\\n    var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\\n\\n    _this.contentNode = document.createElement('span');\\n    _this.contentNode.setAttribute('contenteditable', false);\\n    [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\\n      _this.contentNode.appendChild(childNode);\\n    });\\n    _this.leftGuard = document.createTextNode(GUARD_TEXT);\\n    _this.rightGuard = document.createTextNode(GUARD_TEXT);\\n    _this.domNode.appendChild(_this.leftGuard);\\n    _this.domNode.appendChild(_this.contentNode);\\n    _this.domNode.appendChild(_this.rightGuard);\\n    return _this;\\n  }\\n\\n  _createClass(Embed, [{\\n    key: 'index',\\n    value: function index(node, offset) {\\n      if (node === this.leftGuard) return 0;\\n      if (node === this.rightGuard) return 1;\\n      return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\\n    }\\n  }, {\\n    key: 'restore',\\n    value: function restore(node) {\\n      var range = void 0,\\n          textNode = void 0;\\n      var text = node.data.split(GUARD_TEXT).join('');\\n      if (node === this.leftGuard) {\\n        if (this.prev instanceof _text2.default) {\\n          var prevLength = this.prev.length();\\n          this.prev.insertAt(prevLength, text);\\n          range = {\\n            startNode: this.prev.domNode,\\n            startOffset: prevLength + text.length\\n          };\\n        } else {\\n          textNode = document.createTextNode(text);\\n          this.parent.insertBefore(_parchment2.default.create(textNode), this);\\n          range = {\\n            startNode: textNode,\\n            startOffset: text.length\\n          };\\n        }\\n      } else if (node === this.rightGuard) {\\n        if (this.next instanceof _text2.default) {\\n          this.next.insertAt(0, text);\\n          range = {\\n            startNode: this.next.domNode,\\n            startOffset: text.length\\n          };\\n        } else {\\n          textNode = document.createTextNode(text);\\n          this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\\n          range = {\\n            startNode: textNode,\\n            startOffset: text.length\\n          };\\n        }\\n      }\\n      node.data = GUARD_TEXT;\\n      return range;\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update(mutations, context) {\\n      var _this2 = this;\\n\\n      mutations.forEach(function (mutation) {\\n        if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\\n          var range = _this2.restore(mutation.target);\\n          if (range) context.range = range;\\n        }\\n      });\\n    }\\n  }]);\\n\\n  return Embed;\\n}(_parchment2.default.Embed);\\n\\nexports.default = Embed;\\n\\n/***/ }),\\n/* 36 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nvar config = {\\n  scope: _parchment2.default.Scope.BLOCK,\\n  whitelist: ['right', 'center', 'justify']\\n};\\n\\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\\n\\nexports.AlignAttribute = AlignAttribute;\\nexports.AlignClass = AlignClass;\\nexports.AlignStyle = AlignStyle;\\n\\n/***/ }),\\n/* 37 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _color = __webpack_require__(26);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\\n  scope: _parchment2.default.Scope.INLINE\\n});\\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\\n  scope: _parchment2.default.Scope.INLINE\\n});\\n\\nexports.BackgroundClass = BackgroundClass;\\nexports.BackgroundStyle = BackgroundStyle;\\n\\n/***/ }),\\n/* 38 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nvar config = {\\n  scope: _parchment2.default.Scope.BLOCK,\\n  whitelist: ['rtl']\\n};\\n\\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\\n\\nexports.DirectionAttribute = DirectionAttribute;\\nexports.DirectionClass = DirectionClass;\\nexports.DirectionStyle = DirectionStyle;\\n\\n/***/ }),\\n/* 39 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.FontClass = exports.FontStyle = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar config = {\\n  scope: _parchment2.default.Scope.INLINE,\\n  whitelist: ['serif', 'monospace']\\n};\\n\\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\\n\\nvar FontStyleAttributor = function (_Parchment$Attributor) {\\n  _inherits(FontStyleAttributor, _Parchment$Attributor);\\n\\n  function FontStyleAttributor() {\\n    _classCallCheck(this, FontStyleAttributor);\\n\\n    return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\\n  }\\n\\n  _createClass(FontStyleAttributor, [{\\n    key: 'value',\\n    value: function value(node) {\\n      return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\\\"']/g, '');\\n    }\\n  }]);\\n\\n  return FontStyleAttributor;\\n}(_parchment2.default.Attributor.Style);\\n\\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\\n\\nexports.FontStyle = FontStyle;\\nexports.FontClass = FontClass;\\n\\n/***/ }),\\n/* 40 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.SizeStyle = exports.SizeClass = undefined;\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\\n  scope: _parchment2.default.Scope.INLINE,\\n  whitelist: ['small', 'large', 'huge']\\n});\\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\\n  scope: _parchment2.default.Scope.INLINE,\\n  whitelist: ['10px', '18px', '32px']\\n});\\n\\nexports.SizeClass = SizeClass;\\nexports.SizeStyle = SizeStyle;\\n\\n/***/ }),\\n/* 41 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nmodule.exports = {\\n  'align': {\\n    '': __webpack_require__(76),\\n    'center': __webpack_require__(77),\\n    'right': __webpack_require__(78),\\n    'justify': __webpack_require__(79)\\n  },\\n  'background': __webpack_require__(80),\\n  'blockquote': __webpack_require__(81),\\n  'bold': __webpack_require__(82),\\n  'clean': __webpack_require__(83),\\n  'code': __webpack_require__(58),\\n  'code-block': __webpack_require__(58),\\n  'color': __webpack_require__(84),\\n  'direction': {\\n    '': __webpack_require__(85),\\n    'rtl': __webpack_require__(86)\\n  },\\n  'float': {\\n    'center': __webpack_require__(87),\\n    'full': __webpack_require__(88),\\n    'left': __webpack_require__(89),\\n    'right': __webpack_require__(90)\\n  },\\n  'formula': __webpack_require__(91),\\n  'header': {\\n    '1': __webpack_require__(92),\\n    '2': __webpack_require__(93)\\n  },\\n  'italic': __webpack_require__(94),\\n  'image': __webpack_require__(95),\\n  'indent': {\\n    '+1': __webpack_require__(96),\\n    '-1': __webpack_require__(97)\\n  },\\n  'link': __webpack_require__(98),\\n  'list': {\\n    'ordered': __webpack_require__(99),\\n    'bullet': __webpack_require__(100),\\n    'check': __webpack_require__(101)\\n  },\\n  'script': {\\n    'sub': __webpack_require__(102),\\n    'super': __webpack_require__(103)\\n  },\\n  'strike': __webpack_require__(104),\\n  'underline': __webpack_require__(105),\\n  'video': __webpack_require__(106)\\n};\\n\\n/***/ }),\\n/* 42 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.getLastChangeIndex = exports.default = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar History = function (_Module) {\\n  _inherits(History, _Module);\\n\\n  function History(quill, options) {\\n    _classCallCheck(this, History);\\n\\n    var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\\n\\n    _this.lastRecorded = 0;\\n    _this.ignoreChange = false;\\n    _this.clear();\\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\\n      if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\\n      if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\\n        _this.record(delta, oldDelta);\\n      } else {\\n        _this.transform(delta);\\n      }\\n    });\\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\\n    _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\\n    if (/Win/i.test(navigator.platform)) {\\n      _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\\n    }\\n    return _this;\\n  }\\n\\n  _createClass(History, [{\\n    key: 'change',\\n    value: function change(source, dest) {\\n      if (this.stack[source].length === 0) return;\\n      var delta = this.stack[source].pop();\\n      this.stack[dest].push(delta);\\n      this.lastRecorded = 0;\\n      this.ignoreChange = true;\\n      this.quill.updateContents(delta[source], _quill2.default.sources.USER);\\n      this.ignoreChange = false;\\n      var index = getLastChangeIndex(delta[source]);\\n      this.quill.setSelection(index);\\n    }\\n  }, {\\n    key: 'clear',\\n    value: function clear() {\\n      this.stack = { undo: [], redo: [] };\\n    }\\n  }, {\\n    key: 'cutoff',\\n    value: function cutoff() {\\n      this.lastRecorded = 0;\\n    }\\n  }, {\\n    key: 'record',\\n    value: function record(changeDelta, oldDelta) {\\n      if (changeDelta.ops.length === 0) return;\\n      this.stack.redo = [];\\n      var undoDelta = this.quill.getContents().diff(oldDelta);\\n      var timestamp = Date.now();\\n      if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\\n        var delta = this.stack.undo.pop();\\n        undoDelta = undoDelta.compose(delta.undo);\\n        changeDelta = delta.redo.compose(changeDelta);\\n      } else {\\n        this.lastRecorded = timestamp;\\n      }\\n      this.stack.undo.push({\\n        redo: changeDelta,\\n        undo: undoDelta\\n      });\\n      if (this.stack.undo.length > this.options.maxStack) {\\n        this.stack.undo.shift();\\n      }\\n    }\\n  }, {\\n    key: 'redo',\\n    value: function redo() {\\n      this.change('redo', 'undo');\\n    }\\n  }, {\\n    key: 'transform',\\n    value: function transform(delta) {\\n      this.stack.undo.forEach(function (change) {\\n        change.undo = delta.transform(change.undo, true);\\n        change.redo = delta.transform(change.redo, true);\\n      });\\n      this.stack.redo.forEach(function (change) {\\n        change.undo = delta.transform(change.undo, true);\\n        change.redo = delta.transform(change.redo, true);\\n      });\\n    }\\n  }, {\\n    key: 'undo',\\n    value: function undo() {\\n      this.change('undo', 'redo');\\n    }\\n  }]);\\n\\n  return History;\\n}(_module2.default);\\n\\nHistory.DEFAULTS = {\\n  delay: 1000,\\n  maxStack: 100,\\n  userOnly: false\\n};\\n\\nfunction endsWithNewlineChange(delta) {\\n  var lastOp = delta.ops[delta.ops.length - 1];\\n  if (lastOp == null) return false;\\n  if (lastOp.insert != null) {\\n    return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\\\n');\\n  }\\n  if (lastOp.attributes != null) {\\n    return Object.keys(lastOp.attributes).some(function (attr) {\\n      return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\\n    });\\n  }\\n  return false;\\n}\\n\\nfunction getLastChangeIndex(delta) {\\n  var deleteLength = delta.reduce(function (length, op) {\\n    length += op.delete || 0;\\n    return length;\\n  }, 0);\\n  var changeIndex = delta.length() - deleteLength;\\n  if (endsWithNewlineChange(delta)) {\\n    changeIndex -= 1;\\n  }\\n  return changeIndex;\\n}\\n\\nexports.default = History;\\nexports.getLastChangeIndex = getLastChangeIndex;\\n\\n/***/ }),\\n/* 43 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.BaseTooltip = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _emitter = __webpack_require__(8);\\n\\nvar _emitter2 = _interopRequireDefault(_emitter);\\n\\nvar _keyboard = __webpack_require__(23);\\n\\nvar _keyboard2 = _interopRequireDefault(_keyboard);\\n\\nvar _theme = __webpack_require__(34);\\n\\nvar _theme2 = _interopRequireDefault(_theme);\\n\\nvar _colorPicker = __webpack_require__(59);\\n\\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\\n\\nvar _iconPicker = __webpack_require__(60);\\n\\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\\n\\nvar _picker = __webpack_require__(28);\\n\\nvar _picker2 = _interopRequireDefault(_picker);\\n\\nvar _tooltip = __webpack_require__(61);\\n\\nvar _tooltip2 = _interopRequireDefault(_tooltip);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar ALIGNS = [false, 'center', 'right', 'justify'];\\n\\nvar COLORS = [\\\"#000000\\\", \\\"#e60000\\\", \\\"#ff9900\\\", \\\"#ffff00\\\", \\\"#008a00\\\", \\\"#0066cc\\\", \\\"#9933ff\\\", \\\"#ffffff\\\", \\\"#facccc\\\", \\\"#ffebcc\\\", \\\"#ffffcc\\\", \\\"#cce8cc\\\", \\\"#cce0f5\\\", \\\"#ebd6ff\\\", \\\"#bbbbbb\\\", \\\"#f06666\\\", \\\"#ffc266\\\", \\\"#ffff66\\\", \\\"#66b966\\\", \\\"#66a3e0\\\", \\\"#c285ff\\\", \\\"#888888\\\", \\\"#a10000\\\", \\\"#b26b00\\\", \\\"#b2b200\\\", \\\"#006100\\\", \\\"#0047b2\\\", \\\"#6b24b2\\\", \\\"#444444\\\", \\\"#5c0000\\\", \\\"#663d00\\\", \\\"#666600\\\", \\\"#003700\\\", \\\"#002966\\\", \\\"#3d1466\\\"];\\n\\nvar FONTS = [false, 'serif', 'monospace'];\\n\\nvar HEADERS = ['1', '2', '3', false];\\n\\nvar SIZES = ['small', false, 'large', 'huge'];\\n\\nvar BaseTheme = function (_Theme) {\\n  _inherits(BaseTheme, _Theme);\\n\\n  function BaseTheme(quill, options) {\\n    _classCallCheck(this, BaseTheme);\\n\\n    var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\\n\\n    var listener = function listener(e) {\\n      if (!document.body.contains(quill.root)) {\\n        return document.body.removeEventListener('click', listener);\\n      }\\n      if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\\n        _this.tooltip.hide();\\n      }\\n      if (_this.pickers != null) {\\n        _this.pickers.forEach(function (picker) {\\n          if (!picker.container.contains(e.target)) {\\n            picker.close();\\n          }\\n        });\\n      }\\n    };\\n    quill.emitter.listenDOM('click', document.body, listener);\\n    return _this;\\n  }\\n\\n  _createClass(BaseTheme, [{\\n    key: 'addModule',\\n    value: function addModule(name) {\\n      var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\\n      if (name === 'toolbar') {\\n        this.extendToolbar(module);\\n      }\\n      return module;\\n    }\\n  }, {\\n    key: 'buildButtons',\\n    value: function buildButtons(buttons, icons) {\\n      buttons.forEach(function (button) {\\n        var className = button.getAttribute('class') || '';\\n        className.split(/\\\\s+/).forEach(function (name) {\\n          if (!name.startsWith('ql-')) return;\\n          name = name.slice('ql-'.length);\\n          if (icons[name] == null) return;\\n          if (name === 'direction') {\\n            button.innerHTML = icons[name][''] + icons[name]['rtl'];\\n          } else if (typeof icons[name] === 'string') {\\n            button.innerHTML = icons[name];\\n          } else {\\n            var value = button.value || '';\\n            if (value != null && icons[name][value]) {\\n              button.innerHTML = icons[name][value];\\n            }\\n          }\\n        });\\n      });\\n    }\\n  }, {\\n    key: 'buildPickers',\\n    value: function buildPickers(selects, icons) {\\n      var _this2 = this;\\n\\n      this.pickers = selects.map(function (select) {\\n        if (select.classList.contains('ql-align')) {\\n          if (select.querySelector('option') == null) {\\n            fillSelect(select, ALIGNS);\\n          }\\n          return new _iconPicker2.default(select, icons.align);\\n        } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\\n          var format = select.classList.contains('ql-background') ? 'background' : 'color';\\n          if (select.querySelector('option') == null) {\\n            fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\\n          }\\n          return new _colorPicker2.default(select, icons[format]);\\n        } else {\\n          if (select.querySelector('option') == null) {\\n            if (select.classList.contains('ql-font')) {\\n              fillSelect(select, FONTS);\\n            } else if (select.classList.contains('ql-header')) {\\n              fillSelect(select, HEADERS);\\n            } else if (select.classList.contains('ql-size')) {\\n              fillSelect(select, SIZES);\\n            }\\n          }\\n          return new _picker2.default(select);\\n        }\\n      });\\n      var update = function update() {\\n        _this2.pickers.forEach(function (picker) {\\n          picker.update();\\n        });\\n      };\\n      this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\\n    }\\n  }]);\\n\\n  return BaseTheme;\\n}(_theme2.default);\\n\\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\\n  modules: {\\n    toolbar: {\\n      handlers: {\\n        formula: function formula() {\\n          this.quill.theme.tooltip.edit('formula');\\n        },\\n        image: function image() {\\n          var _this3 = this;\\n\\n          var fileInput = this.container.querySelector('input.ql-image[type=file]');\\n          if (fileInput == null) {\\n            fileInput = document.createElement('input');\\n            fileInput.setAttribute('type', 'file');\\n            fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\\n            fileInput.classList.add('ql-image');\\n            fileInput.addEventListener('change', function () {\\n              if (fileInput.files != null && fileInput.files[0] != null) {\\n                var reader = new FileReader();\\n                reader.onload = function (e) {\\n                  var range = _this3.quill.getSelection(true);\\n                  _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\\n                  _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\\n                  fileInput.value = \\\"\\\";\\n                };\\n                reader.readAsDataURL(fileInput.files[0]);\\n              }\\n            });\\n            this.container.appendChild(fileInput);\\n          }\\n          fileInput.click();\\n        },\\n        video: function video() {\\n          this.quill.theme.tooltip.edit('video');\\n        }\\n      }\\n    }\\n  }\\n});\\n\\nvar BaseTooltip = function (_Tooltip) {\\n  _inherits(BaseTooltip, _Tooltip);\\n\\n  function BaseTooltip(quill, boundsContainer) {\\n    _classCallCheck(this, BaseTooltip);\\n\\n    var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\\n\\n    _this4.textbox = _this4.root.querySelector('input[type=\\\"text\\\"]');\\n    _this4.listen();\\n    return _this4;\\n  }\\n\\n  _createClass(BaseTooltip, [{\\n    key: 'listen',\\n    value: function listen() {\\n      var _this5 = this;\\n\\n      this.textbox.addEventListener('keydown', function (event) {\\n        if (_keyboard2.default.match(event, 'enter')) {\\n          _this5.save();\\n          event.preventDefault();\\n        } else if (_keyboard2.default.match(event, 'escape')) {\\n          _this5.cancel();\\n          event.preventDefault();\\n        }\\n      });\\n    }\\n  }, {\\n    key: 'cancel',\\n    value: function cancel() {\\n      this.hide();\\n    }\\n  }, {\\n    key: 'edit',\\n    value: function edit() {\\n      var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\\n      var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\\n\\n      this.root.classList.remove('ql-hidden');\\n      this.root.classList.add('ql-editing');\\n      if (preview != null) {\\n        this.textbox.value = preview;\\n      } else if (mode !== this.root.getAttribute('data-mode')) {\\n        this.textbox.value = '';\\n      }\\n      this.position(this.quill.getBounds(this.quill.selection.savedRange));\\n      this.textbox.select();\\n      this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\\n      this.root.setAttribute('data-mode', mode);\\n    }\\n  }, {\\n    key: 'restoreFocus',\\n    value: function restoreFocus() {\\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\\n      this.quill.focus();\\n      this.quill.scrollingContainer.scrollTop = scrollTop;\\n    }\\n  }, {\\n    key: 'save',\\n    value: function save() {\\n      var value = this.textbox.value;\\n      switch (this.root.getAttribute('data-mode')) {\\n        case 'link':\\n          {\\n            var scrollTop = this.quill.root.scrollTop;\\n            if (this.linkRange) {\\n              this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\\n              delete this.linkRange;\\n            } else {\\n              this.restoreFocus();\\n              this.quill.format('link', value, _emitter2.default.sources.USER);\\n            }\\n            this.quill.root.scrollTop = scrollTop;\\n            break;\\n          }\\n        case 'video':\\n          {\\n            value = extractVideoUrl(value);\\n          } // eslint-disable-next-line no-fallthrough\\n        case 'formula':\\n          {\\n            if (!value) break;\\n            var range = this.quill.getSelection(true);\\n            if (range != null) {\\n              var index = range.index + range.length;\\n              this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\\n              if (this.root.getAttribute('data-mode') === 'formula') {\\n                this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\\n              }\\n              this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\\n            }\\n            break;\\n          }\\n        default:\\n      }\\n      this.textbox.value = '';\\n      this.hide();\\n    }\\n  }]);\\n\\n  return BaseTooltip;\\n}(_tooltip2.default);\\n\\nfunction extractVideoUrl(url) {\\n  var match = url.match(/^(?:(https?):\\\\/\\\\/)?(?:(?:www|m)\\\\.)?youtube\\\\.com\\\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\\\/\\\\/)?(?:(?:www|m)\\\\.)?youtu\\\\.be\\\\/([a-zA-Z0-9_-]+)/);\\n  if (match) {\\n    return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\\n  }\\n  if (match = url.match(/^(?:(https?):\\\\/\\\\/)?(?:www\\\\.)?vimeo\\\\.com\\\\/(\\\\d+)/)) {\\n    // eslint-disable-line no-cond-assign\\n    return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\\n  }\\n  return url;\\n}\\n\\nfunction fillSelect(select, values) {\\n  var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\\n\\n  values.forEach(function (value) {\\n    var option = document.createElement('option');\\n    if (value === defaultValue) {\\n      option.setAttribute('selected', 'selected');\\n    } else {\\n      option.setAttribute('value', value);\\n    }\\n    select.appendChild(option);\\n  });\\n}\\n\\nexports.BaseTooltip = BaseTooltip;\\nexports.default = BaseTheme;\\n\\n/***/ }),\\n/* 44 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar LinkedList = /** @class */ (function () {\\n    function LinkedList() {\\n        this.head = this.tail = null;\\n        this.length = 0;\\n    }\\n    LinkedList.prototype.append = function () {\\n        var nodes = [];\\n        for (var _i = 0; _i < arguments.length; _i++) {\\n            nodes[_i] = arguments[_i];\\n        }\\n        this.insertBefore(nodes[0], null);\\n        if (nodes.length > 1) {\\n            this.append.apply(this, nodes.slice(1));\\n        }\\n    };\\n    LinkedList.prototype.contains = function (node) {\\n        var cur, next = this.iterator();\\n        while ((cur = next())) {\\n            if (cur === node)\\n                return true;\\n        }\\n        return false;\\n    };\\n    LinkedList.prototype.insertBefore = function (node, refNode) {\\n        if (!node)\\n            return;\\n        node.next = refNode;\\n        if (refNode != null) {\\n            node.prev = refNode.prev;\\n            if (refNode.prev != null) {\\n                refNode.prev.next = node;\\n            }\\n            refNode.prev = node;\\n            if (refNode === this.head) {\\n                this.head = node;\\n            }\\n        }\\n        else if (this.tail != null) {\\n            this.tail.next = node;\\n            node.prev = this.tail;\\n            this.tail = node;\\n        }\\n        else {\\n            node.prev = null;\\n            this.head = this.tail = node;\\n        }\\n        this.length += 1;\\n    };\\n    LinkedList.prototype.offset = function (target) {\\n        var index = 0, cur = this.head;\\n        while (cur != null) {\\n            if (cur === target)\\n                return index;\\n            index += cur.length();\\n            cur = cur.next;\\n        }\\n        return -1;\\n    };\\n    LinkedList.prototype.remove = function (node) {\\n        if (!this.contains(node))\\n            return;\\n        if (node.prev != null)\\n            node.prev.next = node.next;\\n        if (node.next != null)\\n            node.next.prev = node.prev;\\n        if (node === this.head)\\n            this.head = node.next;\\n        if (node === this.tail)\\n            this.tail = node.prev;\\n        this.length -= 1;\\n    };\\n    LinkedList.prototype.iterator = function (curNode) {\\n        if (curNode === void 0) { curNode = this.head; }\\n        // TODO use yield when we can\\n        return function () {\\n            var ret = curNode;\\n            if (curNode != null)\\n                curNode = curNode.next;\\n            return ret;\\n        };\\n    };\\n    LinkedList.prototype.find = function (index, inclusive) {\\n        if (inclusive === void 0) { inclusive = false; }\\n        var cur, next = this.iterator();\\n        while ((cur = next())) {\\n            var length = cur.length();\\n            if (index < length ||\\n                (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\\n                return [cur, index];\\n            }\\n            index -= length;\\n        }\\n        return [null, 0];\\n    };\\n    LinkedList.prototype.forEach = function (callback) {\\n        var cur, next = this.iterator();\\n        while ((cur = next())) {\\n            callback(cur);\\n        }\\n    };\\n    LinkedList.prototype.forEachAt = function (index, length, callback) {\\n        if (length <= 0)\\n            return;\\n        var _a = this.find(index), startNode = _a[0], offset = _a[1];\\n        var cur, curIndex = index - offset, next = this.iterator(startNode);\\n        while ((cur = next()) && curIndex < index + length) {\\n            var curLength = cur.length();\\n            if (index > curIndex) {\\n                callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\\n            }\\n            else {\\n                callback(cur, 0, Math.min(curLength, index + length - curIndex));\\n            }\\n            curIndex += curLength;\\n        }\\n    };\\n    LinkedList.prototype.map = function (callback) {\\n        return this.reduce(function (memo, cur) {\\n            memo.push(callback(cur));\\n            return memo;\\n        }, []);\\n    };\\n    LinkedList.prototype.reduce = function (callback, memo) {\\n        var cur, next = this.iterator();\\n        while ((cur = next())) {\\n            memo = callback(memo, cur);\\n        }\\n        return memo;\\n    };\\n    return LinkedList;\\n}());\\nexports.default = LinkedList;\\n\\n\\n/***/ }),\\n/* 45 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar container_1 = __webpack_require__(17);\\nvar Registry = __webpack_require__(1);\\nvar OBSERVER_CONFIG = {\\n    attributes: true,\\n    characterData: true,\\n    characterDataOldValue: true,\\n    childList: true,\\n    subtree: true,\\n};\\nvar MAX_OPTIMIZE_ITERATIONS = 100;\\nvar ScrollBlot = /** @class */ (function (_super) {\\n    __extends(ScrollBlot, _super);\\n    function ScrollBlot(node) {\\n        var _this = _super.call(this, node) || this;\\n        _this.scroll = _this;\\n        _this.observer = new MutationObserver(function (mutations) {\\n            _this.update(mutations);\\n        });\\n        _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\\n        _this.attach();\\n        return _this;\\n    }\\n    ScrollBlot.prototype.detach = function () {\\n        _super.prototype.detach.call(this);\\n        this.observer.disconnect();\\n    };\\n    ScrollBlot.prototype.deleteAt = function (index, length) {\\n        this.update();\\n        if (index === 0 && length === this.length()) {\\n            this.children.forEach(function (child) {\\n                child.remove();\\n            });\\n        }\\n        else {\\n            _super.prototype.deleteAt.call(this, index, length);\\n        }\\n    };\\n    ScrollBlot.prototype.formatAt = function (index, length, name, value) {\\n        this.update();\\n        _super.prototype.formatAt.call(this, index, length, name, value);\\n    };\\n    ScrollBlot.prototype.insertAt = function (index, value, def) {\\n        this.update();\\n        _super.prototype.insertAt.call(this, index, value, def);\\n    };\\n    ScrollBlot.prototype.optimize = function (mutations, context) {\\n        var _this = this;\\n        if (mutations === void 0) { mutations = []; }\\n        if (context === void 0) { context = {}; }\\n        _super.prototype.optimize.call(this, context);\\n        // We must modify mutations directly, cannot make copy and then modify\\n        var records = [].slice.call(this.observer.takeRecords());\\n        // Array.push currently seems to be implemented by a non-tail recursive function\\n        // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\\n        while (records.length > 0)\\n            mutations.push(records.pop());\\n        // TODO use WeakMap\\n        var mark = function (blot, markParent) {\\n            if (markParent === void 0) { markParent = true; }\\n            if (blot == null || blot === _this)\\n                return;\\n            if (blot.domNode.parentNode == null)\\n                return;\\n            // @ts-ignore\\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\\n                // @ts-ignore\\n                blot.domNode[Registry.DATA_KEY].mutations = [];\\n            }\\n            if (markParent)\\n                mark(blot.parent);\\n        };\\n        var optimize = function (blot) {\\n            // Post-order traversal\\n            if (\\n            // @ts-ignore\\n            blot.domNode[Registry.DATA_KEY] == null ||\\n                // @ts-ignore\\n                blot.domNode[Registry.DATA_KEY].mutations == null) {\\n                return;\\n            }\\n            if (blot instanceof container_1.default) {\\n                blot.children.forEach(optimize);\\n            }\\n            blot.optimize(context);\\n        };\\n        var remaining = mutations;\\n        for (var i = 0; remaining.length > 0; i += 1) {\\n            if (i >= MAX_OPTIMIZE_ITERATIONS) {\\n                throw new Error('[Parchment] Maximum optimize iterations reached');\\n            }\\n            remaining.forEach(function (mutation) {\\n                var blot = Registry.find(mutation.target, true);\\n                if (blot == null)\\n                    return;\\n                if (blot.domNode === mutation.target) {\\n                    if (mutation.type === 'childList') {\\n                        mark(Registry.find(mutation.previousSibling, false));\\n                        [].forEach.call(mutation.addedNodes, function (node) {\\n                            var child = Registry.find(node, false);\\n                            mark(child, false);\\n                            if (child instanceof container_1.default) {\\n                                child.children.forEach(function (grandChild) {\\n                                    mark(grandChild, false);\\n                                });\\n                            }\\n                        });\\n                    }\\n                    else if (mutation.type === 'attributes') {\\n                        mark(blot.prev);\\n                    }\\n                }\\n                mark(blot);\\n            });\\n            this.children.forEach(optimize);\\n            remaining = [].slice.call(this.observer.takeRecords());\\n            records = remaining.slice();\\n            while (records.length > 0)\\n                mutations.push(records.pop());\\n        }\\n    };\\n    ScrollBlot.prototype.update = function (mutations, context) {\\n        var _this = this;\\n        if (context === void 0) { context = {}; }\\n        mutations = mutations || this.observer.takeRecords();\\n        // TODO use WeakMap\\n        mutations\\n            .map(function (mutation) {\\n            var blot = Registry.find(mutation.target, true);\\n            if (blot == null)\\n                return null;\\n            // @ts-ignore\\n            if (blot.domNode[Registry.DATA_KEY].mutations == null) {\\n                // @ts-ignore\\n                blot.domNode[Registry.DATA_KEY].mutations = [mutation];\\n                return blot;\\n            }\\n            else {\\n                // @ts-ignore\\n                blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\\n                return null;\\n            }\\n        })\\n            .forEach(function (blot) {\\n            if (blot == null ||\\n                blot === _this ||\\n                //@ts-ignore\\n                blot.domNode[Registry.DATA_KEY] == null)\\n                return;\\n            // @ts-ignore\\n            blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\\n        });\\n        // @ts-ignore\\n        if (this.domNode[Registry.DATA_KEY].mutations != null) {\\n            // @ts-ignore\\n            _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\\n        }\\n        this.optimize(mutations, context);\\n    };\\n    ScrollBlot.blotName = 'scroll';\\n    ScrollBlot.defaultChild = 'block';\\n    ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\\n    ScrollBlot.tagName = 'DIV';\\n    return ScrollBlot;\\n}(container_1.default));\\nexports.default = ScrollBlot;\\n\\n\\n/***/ }),\\n/* 46 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar format_1 = __webpack_require__(18);\\nvar Registry = __webpack_require__(1);\\n// Shallow object comparison\\nfunction isEqual(obj1, obj2) {\\n    if (Object.keys(obj1).length !== Object.keys(obj2).length)\\n        return false;\\n    // @ts-ignore\\n    for (var prop in obj1) {\\n        // @ts-ignore\\n        if (obj1[prop] !== obj2[prop])\\n            return false;\\n    }\\n    return true;\\n}\\nvar InlineBlot = /** @class */ (function (_super) {\\n    __extends(InlineBlot, _super);\\n    function InlineBlot() {\\n        return _super !== null && _super.apply(this, arguments) || this;\\n    }\\n    InlineBlot.formats = function (domNode) {\\n        if (domNode.tagName === InlineBlot.tagName)\\n            return undefined;\\n        return _super.formats.call(this, domNode);\\n    };\\n    InlineBlot.prototype.format = function (name, value) {\\n        var _this = this;\\n        if (name === this.statics.blotName && !value) {\\n            this.children.forEach(function (child) {\\n                if (!(child instanceof format_1.default)) {\\n                    child = child.wrap(InlineBlot.blotName, true);\\n                }\\n                _this.attributes.copy(child);\\n            });\\n            this.unwrap();\\n        }\\n        else {\\n            _super.prototype.format.call(this, name, value);\\n        }\\n    };\\n    InlineBlot.prototype.formatAt = function (index, length, name, value) {\\n        if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\\n            var blot = this.isolate(index, length);\\n            blot.format(name, value);\\n        }\\n        else {\\n            _super.prototype.formatAt.call(this, index, length, name, value);\\n        }\\n    };\\n    InlineBlot.prototype.optimize = function (context) {\\n        _super.prototype.optimize.call(this, context);\\n        var formats = this.formats();\\n        if (Object.keys(formats).length === 0) {\\n            return this.unwrap(); // unformatted span\\n        }\\n        var next = this.next;\\n        if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\\n            next.moveChildren(this);\\n            next.remove();\\n        }\\n    };\\n    InlineBlot.blotName = 'inline';\\n    InlineBlot.scope = Registry.Scope.INLINE_BLOT;\\n    InlineBlot.tagName = 'SPAN';\\n    return InlineBlot;\\n}(format_1.default));\\nexports.default = InlineBlot;\\n\\n\\n/***/ }),\\n/* 47 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar format_1 = __webpack_require__(18);\\nvar Registry = __webpack_require__(1);\\nvar BlockBlot = /** @class */ (function (_super) {\\n    __extends(BlockBlot, _super);\\n    function BlockBlot() {\\n        return _super !== null && _super.apply(this, arguments) || this;\\n    }\\n    BlockBlot.formats = function (domNode) {\\n        var tagName = Registry.query(BlockBlot.blotName).tagName;\\n        if (domNode.tagName === tagName)\\n            return undefined;\\n        return _super.formats.call(this, domNode);\\n    };\\n    BlockBlot.prototype.format = function (name, value) {\\n        if (Registry.query(name, Registry.Scope.BLOCK) == null) {\\n            return;\\n        }\\n        else if (name === this.statics.blotName && !value) {\\n            this.replaceWith(BlockBlot.blotName);\\n        }\\n        else {\\n            _super.prototype.format.call(this, name, value);\\n        }\\n    };\\n    BlockBlot.prototype.formatAt = function (index, length, name, value) {\\n        if (Registry.query(name, Registry.Scope.BLOCK) != null) {\\n            this.format(name, value);\\n        }\\n        else {\\n            _super.prototype.formatAt.call(this, index, length, name, value);\\n        }\\n    };\\n    BlockBlot.prototype.insertAt = function (index, value, def) {\\n        if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\\n            // Insert text or inline\\n            _super.prototype.insertAt.call(this, index, value, def);\\n        }\\n        else {\\n            var after = this.split(index);\\n            var blot = Registry.create(value, def);\\n            after.parent.insertBefore(blot, after);\\n        }\\n    };\\n    BlockBlot.prototype.update = function (mutations, context) {\\n        if (navigator.userAgent.match(/Trident/)) {\\n            this.build();\\n        }\\n        else {\\n            _super.prototype.update.call(this, mutations, context);\\n        }\\n    };\\n    BlockBlot.blotName = 'block';\\n    BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\\n    BlockBlot.tagName = 'P';\\n    return BlockBlot;\\n}(format_1.default));\\nexports.default = BlockBlot;\\n\\n\\n/***/ }),\\n/* 48 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar leaf_1 = __webpack_require__(19);\\nvar EmbedBlot = /** @class */ (function (_super) {\\n    __extends(EmbedBlot, _super);\\n    function EmbedBlot() {\\n        return _super !== null && _super.apply(this, arguments) || this;\\n    }\\n    EmbedBlot.formats = function (domNode) {\\n        return undefined;\\n    };\\n    EmbedBlot.prototype.format = function (name, value) {\\n        // super.formatAt wraps, which is what we want in general,\\n        // but this allows subclasses to overwrite for formats\\n        // that just apply to particular embeds\\n        _super.prototype.formatAt.call(this, 0, this.length(), name, value);\\n    };\\n    EmbedBlot.prototype.formatAt = function (index, length, name, value) {\\n        if (index === 0 && length === this.length()) {\\n            this.format(name, value);\\n        }\\n        else {\\n            _super.prototype.formatAt.call(this, index, length, name, value);\\n        }\\n    };\\n    EmbedBlot.prototype.formats = function () {\\n        return this.statics.formats(this.domNode);\\n    };\\n    return EmbedBlot;\\n}(leaf_1.default));\\nexports.default = EmbedBlot;\\n\\n\\n/***/ }),\\n/* 49 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\nvar __extends = (this && this.__extends) || (function () {\\n    var extendStatics = Object.setPrototypeOf ||\\n        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\\n        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\\n    return function (d, b) {\\n        extendStatics(d, b);\\n        function __() { this.constructor = d; }\\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\\n    };\\n})();\\nObject.defineProperty(exports, \\\"__esModule\\\", { value: true });\\nvar leaf_1 = __webpack_require__(19);\\nvar Registry = __webpack_require__(1);\\nvar TextBlot = /** @class */ (function (_super) {\\n    __extends(TextBlot, _super);\\n    function TextBlot(node) {\\n        var _this = _super.call(this, node) || this;\\n        _this.text = _this.statics.value(_this.domNode);\\n        return _this;\\n    }\\n    TextBlot.create = function (value) {\\n        return document.createTextNode(value);\\n    };\\n    TextBlot.value = function (domNode) {\\n        var text = domNode.data;\\n        // @ts-ignore\\n        if (text['normalize'])\\n            text = text['normalize']();\\n        return text;\\n    };\\n    TextBlot.prototype.deleteAt = function (index, length) {\\n        this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\\n    };\\n    TextBlot.prototype.index = function (node, offset) {\\n        if (this.domNode === node) {\\n            return offset;\\n        }\\n        return -1;\\n    };\\n    TextBlot.prototype.insertAt = function (index, value, def) {\\n        if (def == null) {\\n            this.text = this.text.slice(0, index) + value + this.text.slice(index);\\n            this.domNode.data = this.text;\\n        }\\n        else {\\n            _super.prototype.insertAt.call(this, index, value, def);\\n        }\\n    };\\n    TextBlot.prototype.length = function () {\\n        return this.text.length;\\n    };\\n    TextBlot.prototype.optimize = function (context) {\\n        _super.prototype.optimize.call(this, context);\\n        this.text = this.statics.value(this.domNode);\\n        if (this.text.length === 0) {\\n            this.remove();\\n        }\\n        else if (this.next instanceof TextBlot && this.next.prev === this) {\\n            this.insertAt(this.length(), this.next.value());\\n            this.next.remove();\\n        }\\n    };\\n    TextBlot.prototype.position = function (index, inclusive) {\\n        if (inclusive === void 0) { inclusive = false; }\\n        return [this.domNode, index];\\n    };\\n    TextBlot.prototype.split = function (index, force) {\\n        if (force === void 0) { force = false; }\\n        if (!force) {\\n            if (index === 0)\\n                return this;\\n            if (index === this.length())\\n                return this.next;\\n        }\\n        var after = Registry.create(this.domNode.splitText(index));\\n        this.parent.insertBefore(after, this.next);\\n        this.text = this.statics.value(this.domNode);\\n        return after;\\n    };\\n    TextBlot.prototype.update = function (mutations, context) {\\n        var _this = this;\\n        if (mutations.some(function (mutation) {\\n            return mutation.type === 'characterData' && mutation.target === _this.domNode;\\n        })) {\\n            this.text = this.statics.value(this.domNode);\\n        }\\n    };\\n    TextBlot.prototype.value = function () {\\n        return this.text;\\n    };\\n    TextBlot.blotName = 'text';\\n    TextBlot.scope = Registry.Scope.INLINE_BLOT;\\n    return TextBlot;\\n}(leaf_1.default));\\nexports.default = TextBlot;\\n\\n\\n/***/ }),\\n/* 50 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nvar elem = document.createElement('div');\\nelem.classList.toggle('test-class', false);\\nif (elem.classList.contains('test-class')) {\\n  var _toggle = DOMTokenList.prototype.toggle;\\n  DOMTokenList.prototype.toggle = function (token, force) {\\n    if (arguments.length > 1 && !this.contains(token) === !force) {\\n      return force;\\n    } else {\\n      return _toggle.call(this, token);\\n    }\\n  };\\n}\\n\\nif (!String.prototype.startsWith) {\\n  String.prototype.startsWith = function (searchString, position) {\\n    position = position || 0;\\n    return this.substr(position, searchString.length) === searchString;\\n  };\\n}\\n\\nif (!String.prototype.endsWith) {\\n  String.prototype.endsWith = function (searchString, position) {\\n    var subjectString = this.toString();\\n    if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\\n      position = subjectString.length;\\n    }\\n    position -= searchString.length;\\n    var lastIndex = subjectString.indexOf(searchString, position);\\n    return lastIndex !== -1 && lastIndex === position;\\n  };\\n}\\n\\nif (!Array.prototype.find) {\\n  Object.defineProperty(Array.prototype, \\\"find\\\", {\\n    value: function value(predicate) {\\n      if (this === null) {\\n        throw new TypeError('Array.prototype.find called on null or undefined');\\n      }\\n      if (typeof predicate !== 'function') {\\n        throw new TypeError('predicate must be a function');\\n      }\\n      var list = Object(this);\\n      var length = list.length >>> 0;\\n      var thisArg = arguments[1];\\n      var value;\\n\\n      for (var i = 0; i < length; i++) {\\n        value = list[i];\\n        if (predicate.call(thisArg, value, i, list)) {\\n          return value;\\n        }\\n      }\\n      return undefined;\\n    }\\n  });\\n}\\n\\ndocument.addEventListener(\\\"DOMContentLoaded\\\", function () {\\n  // Disable resizing in Firefox\\n  document.execCommand(\\\"enableObjectResizing\\\", false, false);\\n  // Disable automatic linkifying in IE11\\n  document.execCommand(\\\"autoUrlDetect\\\", false, false);\\n});\\n\\n/***/ }),\\n/* 51 */\\n/***/ (function(module, exports) {\\n\\n/**\\n * This library modifies the diff-patch-match library by Neil Fraser\\n * by removing the patch and match functionality and certain advanced\\n * options in the diff function. The original license is as follows:\\n *\\n * ===\\n *\\n * Diff Match and Patch\\n *\\n * Copyright 2006 Google Inc.\\n * http://code.google.com/p/google-diff-match-patch/\\n *\\n * Licensed under the Apache License, Version 2.0 (the \\\"License\\\");\\n * you may not use this file except in compliance with the License.\\n * You may obtain a copy of the License at\\n *\\n *   http://www.apache.org/licenses/LICENSE-2.0\\n *\\n * Unless required by applicable law or agreed to in writing, software\\n * distributed under the License is distributed on an \\\"AS IS\\\" BASIS,\\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\n * See the License for the specific language governing permissions and\\n * limitations under the License.\\n */\\n\\n\\n/**\\n * The data structure representing a diff is an array of tuples:\\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\\n */\\nvar DIFF_DELETE = -1;\\nvar DIFF_INSERT = 1;\\nvar DIFF_EQUAL = 0;\\n\\n\\n/**\\n * Find the differences between two texts.  Simplifies the problem by stripping\\n * any common prefix or suffix off the texts before diffing.\\n * @param {string} text1 Old string to be diffed.\\n * @param {string} text2 New string to be diffed.\\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\\n * @return {Array} Array of diff tuples.\\n */\\nfunction diff_main(text1, text2, cursor_pos) {\\n  // Check for equality (speedup).\\n  if (text1 == text2) {\\n    if (text1) {\\n      return [[DIFF_EQUAL, text1]];\\n    }\\n    return [];\\n  }\\n\\n  // Check cursor_pos within bounds\\n  if (cursor_pos < 0 || text1.length < cursor_pos) {\\n    cursor_pos = null;\\n  }\\n\\n  // Trim off common prefix (speedup).\\n  var commonlength = diff_commonPrefix(text1, text2);\\n  var commonprefix = text1.substring(0, commonlength);\\n  text1 = text1.substring(commonlength);\\n  text2 = text2.substring(commonlength);\\n\\n  // Trim off common suffix (speedup).\\n  commonlength = diff_commonSuffix(text1, text2);\\n  var commonsuffix = text1.substring(text1.length - commonlength);\\n  text1 = text1.substring(0, text1.length - commonlength);\\n  text2 = text2.substring(0, text2.length - commonlength);\\n\\n  // Compute the diff on the middle block.\\n  var diffs = diff_compute_(text1, text2);\\n\\n  // Restore the prefix and suffix.\\n  if (commonprefix) {\\n    diffs.unshift([DIFF_EQUAL, commonprefix]);\\n  }\\n  if (commonsuffix) {\\n    diffs.push([DIFF_EQUAL, commonsuffix]);\\n  }\\n  diff_cleanupMerge(diffs);\\n  if (cursor_pos != null) {\\n    diffs = fix_cursor(diffs, cursor_pos);\\n  }\\n  diffs = fix_emoji(diffs);\\n  return diffs;\\n};\\n\\n\\n/**\\n * Find the differences between two texts.  Assumes that the texts do not\\n * have any common prefix or suffix.\\n * @param {string} text1 Old string to be diffed.\\n * @param {string} text2 New string to be diffed.\\n * @return {Array} Array of diff tuples.\\n */\\nfunction diff_compute_(text1, text2) {\\n  var diffs;\\n\\n  if (!text1) {\\n    // Just add some text (speedup).\\n    return [[DIFF_INSERT, text2]];\\n  }\\n\\n  if (!text2) {\\n    // Just delete some text (speedup).\\n    return [[DIFF_DELETE, text1]];\\n  }\\n\\n  var longtext = text1.length > text2.length ? text1 : text2;\\n  var shorttext = text1.length > text2.length ? text2 : text1;\\n  var i = longtext.indexOf(shorttext);\\n  if (i != -1) {\\n    // Shorter text is inside the longer text (speedup).\\n    diffs = [[DIFF_INSERT, longtext.substring(0, i)],\\n             [DIFF_EQUAL, shorttext],\\n             [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\\n    // Swap insertions for deletions if diff is reversed.\\n    if (text1.length > text2.length) {\\n      diffs[0][0] = diffs[2][0] = DIFF_DELETE;\\n    }\\n    return diffs;\\n  }\\n\\n  if (shorttext.length == 1) {\\n    // Single character string.\\n    // After the previous speedup, the character can't be an equality.\\n    return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\\n  }\\n\\n  // Check to see if the problem can be split in two.\\n  var hm = diff_halfMatch_(text1, text2);\\n  if (hm) {\\n    // A half-match was found, sort out the return data.\\n    var text1_a = hm[0];\\n    var text1_b = hm[1];\\n    var text2_a = hm[2];\\n    var text2_b = hm[3];\\n    var mid_common = hm[4];\\n    // Send both pairs off for separate processing.\\n    var diffs_a = diff_main(text1_a, text2_a);\\n    var diffs_b = diff_main(text1_b, text2_b);\\n    // Merge the results.\\n    return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\\n  }\\n\\n  return diff_bisect_(text1, text2);\\n};\\n\\n\\n/**\\n * Find the 'middle snake' of a diff, split the problem in two\\n * and return the recursively constructed diff.\\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\\n * @param {string} text1 Old string to be diffed.\\n * @param {string} text2 New string to be diffed.\\n * @return {Array} Array of diff tuples.\\n * @private\\n */\\nfunction diff_bisect_(text1, text2) {\\n  // Cache the text lengths to prevent multiple calls.\\n  var text1_length = text1.length;\\n  var text2_length = text2.length;\\n  var max_d = Math.ceil((text1_length + text2_length) / 2);\\n  var v_offset = max_d;\\n  var v_length = 2 * max_d;\\n  var v1 = new Array(v_length);\\n  var v2 = new Array(v_length);\\n  // Setting all elements to -1 is faster in Chrome & Firefox than mixing\\n  // integers and undefined.\\n  for (var x = 0; x < v_length; x++) {\\n    v1[x] = -1;\\n    v2[x] = -1;\\n  }\\n  v1[v_offset + 1] = 0;\\n  v2[v_offset + 1] = 0;\\n  var delta = text1_length - text2_length;\\n  // If the total number of characters is odd, then the front path will collide\\n  // with the reverse path.\\n  var front = (delta % 2 != 0);\\n  // Offsets for start and end of k loop.\\n  // Prevents mapping of space beyond the grid.\\n  var k1start = 0;\\n  var k1end = 0;\\n  var k2start = 0;\\n  var k2end = 0;\\n  for (var d = 0; d < max_d; d++) {\\n    // Walk the front path one step.\\n    for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\\n      var k1_offset = v_offset + k1;\\n      var x1;\\n      if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\\n        x1 = v1[k1_offset + 1];\\n      } else {\\n        x1 = v1[k1_offset - 1] + 1;\\n      }\\n      var y1 = x1 - k1;\\n      while (x1 < text1_length && y1 < text2_length &&\\n             text1.charAt(x1) == text2.charAt(y1)) {\\n        x1++;\\n        y1++;\\n      }\\n      v1[k1_offset] = x1;\\n      if (x1 > text1_length) {\\n        // Ran off the right of the graph.\\n        k1end += 2;\\n      } else if (y1 > text2_length) {\\n        // Ran off the bottom of the graph.\\n        k1start += 2;\\n      } else if (front) {\\n        var k2_offset = v_offset + delta - k1;\\n        if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\\n          // Mirror x2 onto top-left coordinate system.\\n          var x2 = text1_length - v2[k2_offset];\\n          if (x1 >= x2) {\\n            // Overlap detected.\\n            return diff_bisectSplit_(text1, text2, x1, y1);\\n          }\\n        }\\n      }\\n    }\\n\\n    // Walk the reverse path one step.\\n    for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\\n      var k2_offset = v_offset + k2;\\n      var x2;\\n      if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\\n        x2 = v2[k2_offset + 1];\\n      } else {\\n        x2 = v2[k2_offset - 1] + 1;\\n      }\\n      var y2 = x2 - k2;\\n      while (x2 < text1_length && y2 < text2_length &&\\n             text1.charAt(text1_length - x2 - 1) ==\\n             text2.charAt(text2_length - y2 - 1)) {\\n        x2++;\\n        y2++;\\n      }\\n      v2[k2_offset] = x2;\\n      if (x2 > text1_length) {\\n        // Ran off the left of the graph.\\n        k2end += 2;\\n      } else if (y2 > text2_length) {\\n        // Ran off the top of the graph.\\n        k2start += 2;\\n      } else if (!front) {\\n        var k1_offset = v_offset + delta - k2;\\n        if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\\n          var x1 = v1[k1_offset];\\n          var y1 = v_offset + x1 - k1_offset;\\n          // Mirror x2 onto top-left coordinate system.\\n          x2 = text1_length - x2;\\n          if (x1 >= x2) {\\n            // Overlap detected.\\n            return diff_bisectSplit_(text1, text2, x1, y1);\\n          }\\n        }\\n      }\\n    }\\n  }\\n  // Diff took too long and hit the deadline or\\n  // number of diffs equals number of characters, no commonality at all.\\n  return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\\n};\\n\\n\\n/**\\n * Given the location of the 'middle snake', split the diff in two parts\\n * and recurse.\\n * @param {string} text1 Old string to be diffed.\\n * @param {string} text2 New string to be diffed.\\n * @param {number} x Index of split point in text1.\\n * @param {number} y Index of split point in text2.\\n * @return {Array} Array of diff tuples.\\n */\\nfunction diff_bisectSplit_(text1, text2, x, y) {\\n  var text1a = text1.substring(0, x);\\n  var text2a = text2.substring(0, y);\\n  var text1b = text1.substring(x);\\n  var text2b = text2.substring(y);\\n\\n  // Compute both diffs serially.\\n  var diffs = diff_main(text1a, text2a);\\n  var diffsb = diff_main(text1b, text2b);\\n\\n  return diffs.concat(diffsb);\\n};\\n\\n\\n/**\\n * Determine the common prefix of two strings.\\n * @param {string} text1 First string.\\n * @param {string} text2 Second string.\\n * @return {number} The number of characters common to the start of each\\n *     string.\\n */\\nfunction diff_commonPrefix(text1, text2) {\\n  // Quick check for common null cases.\\n  if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\\n    return 0;\\n  }\\n  // Binary search.\\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\\n  var pointermin = 0;\\n  var pointermax = Math.min(text1.length, text2.length);\\n  var pointermid = pointermax;\\n  var pointerstart = 0;\\n  while (pointermin < pointermid) {\\n    if (text1.substring(pointerstart, pointermid) ==\\n        text2.substring(pointerstart, pointermid)) {\\n      pointermin = pointermid;\\n      pointerstart = pointermin;\\n    } else {\\n      pointermax = pointermid;\\n    }\\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\\n  }\\n  return pointermid;\\n};\\n\\n\\n/**\\n * Determine the common suffix of two strings.\\n * @param {string} text1 First string.\\n * @param {string} text2 Second string.\\n * @return {number} The number of characters common to the end of each string.\\n */\\nfunction diff_commonSuffix(text1, text2) {\\n  // Quick check for common null cases.\\n  if (!text1 || !text2 ||\\n      text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\\n    return 0;\\n  }\\n  // Binary search.\\n  // Performance analysis: http://neil.fraser.name/news/2007/10/09/\\n  var pointermin = 0;\\n  var pointermax = Math.min(text1.length, text2.length);\\n  var pointermid = pointermax;\\n  var pointerend = 0;\\n  while (pointermin < pointermid) {\\n    if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\\n        text2.substring(text2.length - pointermid, text2.length - pointerend)) {\\n      pointermin = pointermid;\\n      pointerend = pointermin;\\n    } else {\\n      pointermax = pointermid;\\n    }\\n    pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\\n  }\\n  return pointermid;\\n};\\n\\n\\n/**\\n * Do the two texts share a substring which is at least half the length of the\\n * longer text?\\n * This speedup can produce non-minimal diffs.\\n * @param {string} text1 First string.\\n * @param {string} text2 Second string.\\n * @return {Array.<string>} Five element Array, containing the prefix of\\n *     text1, the suffix of text1, the prefix of text2, the suffix of\\n *     text2 and the common middle.  Or null if there was no match.\\n */\\nfunction diff_halfMatch_(text1, text2) {\\n  var longtext = text1.length > text2.length ? text1 : text2;\\n  var shorttext = text1.length > text2.length ? text2 : text1;\\n  if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\\n    return null;  // Pointless.\\n  }\\n\\n  /**\\n   * Does a substring of shorttext exist within longtext such that the substring\\n   * is at least half the length of longtext?\\n   * Closure, but does not reference any external variables.\\n   * @param {string} longtext Longer string.\\n   * @param {string} shorttext Shorter string.\\n   * @param {number} i Start index of quarter length substring within longtext.\\n   * @return {Array.<string>} Five element Array, containing the prefix of\\n   *     longtext, the suffix of longtext, the prefix of shorttext, the suffix\\n   *     of shorttext and the common middle.  Or null if there was no match.\\n   * @private\\n   */\\n  function diff_halfMatchI_(longtext, shorttext, i) {\\n    // Start with a 1/4 length substring at position i as a seed.\\n    var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\\n    var j = -1;\\n    var best_common = '';\\n    var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\\n    while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\\n      var prefixLength = diff_commonPrefix(longtext.substring(i),\\n                                           shorttext.substring(j));\\n      var suffixLength = diff_commonSuffix(longtext.substring(0, i),\\n                                           shorttext.substring(0, j));\\n      if (best_common.length < suffixLength + prefixLength) {\\n        best_common = shorttext.substring(j - suffixLength, j) +\\n            shorttext.substring(j, j + prefixLength);\\n        best_longtext_a = longtext.substring(0, i - suffixLength);\\n        best_longtext_b = longtext.substring(i + prefixLength);\\n        best_shorttext_a = shorttext.substring(0, j - suffixLength);\\n        best_shorttext_b = shorttext.substring(j + prefixLength);\\n      }\\n    }\\n    if (best_common.length * 2 >= longtext.length) {\\n      return [best_longtext_a, best_longtext_b,\\n              best_shorttext_a, best_shorttext_b, best_common];\\n    } else {\\n      return null;\\n    }\\n  }\\n\\n  // First check if the second quarter is the seed for a half-match.\\n  var hm1 = diff_halfMatchI_(longtext, shorttext,\\n                             Math.ceil(longtext.length / 4));\\n  // Check again based on the third quarter.\\n  var hm2 = diff_halfMatchI_(longtext, shorttext,\\n                             Math.ceil(longtext.length / 2));\\n  var hm;\\n  if (!hm1 && !hm2) {\\n    return null;\\n  } else if (!hm2) {\\n    hm = hm1;\\n  } else if (!hm1) {\\n    hm = hm2;\\n  } else {\\n    // Both matched.  Select the longest.\\n    hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\\n  }\\n\\n  // A half-match was found, sort out the return data.\\n  var text1_a, text1_b, text2_a, text2_b;\\n  if (text1.length > text2.length) {\\n    text1_a = hm[0];\\n    text1_b = hm[1];\\n    text2_a = hm[2];\\n    text2_b = hm[3];\\n  } else {\\n    text2_a = hm[0];\\n    text2_b = hm[1];\\n    text1_a = hm[2];\\n    text1_b = hm[3];\\n  }\\n  var mid_common = hm[4];\\n  return [text1_a, text1_b, text2_a, text2_b, mid_common];\\n};\\n\\n\\n/**\\n * Reorder and merge like edit sections.  Merge equalities.\\n * Any edit section can move as long as it doesn't cross an equality.\\n * @param {Array} diffs Array of diff tuples.\\n */\\nfunction diff_cleanupMerge(diffs) {\\n  diffs.push([DIFF_EQUAL, '']);  // Add a dummy entry at the end.\\n  var pointer = 0;\\n  var count_delete = 0;\\n  var count_insert = 0;\\n  var text_delete = '';\\n  var text_insert = '';\\n  var commonlength;\\n  while (pointer < diffs.length) {\\n    switch (diffs[pointer][0]) {\\n      case DIFF_INSERT:\\n        count_insert++;\\n        text_insert += diffs[pointer][1];\\n        pointer++;\\n        break;\\n      case DIFF_DELETE:\\n        count_delete++;\\n        text_delete += diffs[pointer][1];\\n        pointer++;\\n        break;\\n      case DIFF_EQUAL:\\n        // Upon reaching an equality, check for prior redundancies.\\n        if (count_delete + count_insert > 1) {\\n          if (count_delete !== 0 && count_insert !== 0) {\\n            // Factor out any common prefixies.\\n            commonlength = diff_commonPrefix(text_insert, text_delete);\\n            if (commonlength !== 0) {\\n              if ((pointer - count_delete - count_insert) > 0 &&\\n                  diffs[pointer - count_delete - count_insert - 1][0] ==\\n                  DIFF_EQUAL) {\\n                diffs[pointer - count_delete - count_insert - 1][1] +=\\n                    text_insert.substring(0, commonlength);\\n              } else {\\n                diffs.splice(0, 0, [DIFF_EQUAL,\\n                                    text_insert.substring(0, commonlength)]);\\n                pointer++;\\n              }\\n              text_insert = text_insert.substring(commonlength);\\n              text_delete = text_delete.substring(commonlength);\\n            }\\n            // Factor out any common suffixies.\\n            commonlength = diff_commonSuffix(text_insert, text_delete);\\n            if (commonlength !== 0) {\\n              diffs[pointer][1] = text_insert.substring(text_insert.length -\\n                  commonlength) + diffs[pointer][1];\\n              text_insert = text_insert.substring(0, text_insert.length -\\n                  commonlength);\\n              text_delete = text_delete.substring(0, text_delete.length -\\n                  commonlength);\\n            }\\n          }\\n          // Delete the offending records and add the merged ones.\\n          if (count_delete === 0) {\\n            diffs.splice(pointer - count_insert,\\n                count_delete + count_insert, [DIFF_INSERT, text_insert]);\\n          } else if (count_insert === 0) {\\n            diffs.splice(pointer - count_delete,\\n                count_delete + count_insert, [DIFF_DELETE, text_delete]);\\n          } else {\\n            diffs.splice(pointer - count_delete - count_insert,\\n                count_delete + count_insert, [DIFF_DELETE, text_delete],\\n                [DIFF_INSERT, text_insert]);\\n          }\\n          pointer = pointer - count_delete - count_insert +\\n                    (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\\n        } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\\n          // Merge this equality with the previous one.\\n          diffs[pointer - 1][1] += diffs[pointer][1];\\n          diffs.splice(pointer, 1);\\n        } else {\\n          pointer++;\\n        }\\n        count_insert = 0;\\n        count_delete = 0;\\n        text_delete = '';\\n        text_insert = '';\\n        break;\\n    }\\n  }\\n  if (diffs[diffs.length - 1][1] === '') {\\n    diffs.pop();  // Remove the dummy entry at the end.\\n  }\\n\\n  // Second pass: look for single edits surrounded on both sides by equalities\\n  // which can be shifted sideways to eliminate an equality.\\n  // e.g: A<ins>BA</ins>C -> <ins>AB</ins>AC\\n  var changes = false;\\n  pointer = 1;\\n  // Intentionally ignore the first and last element (don't need checking).\\n  while (pointer < diffs.length - 1) {\\n    if (diffs[pointer - 1][0] == DIFF_EQUAL &&\\n        diffs[pointer + 1][0] == DIFF_EQUAL) {\\n      // This is a single edit surrounded by equalities.\\n      if (diffs[pointer][1].substring(diffs[pointer][1].length -\\n          diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\\n        // Shift the edit over the previous equality.\\n        diffs[pointer][1] = diffs[pointer - 1][1] +\\n            diffs[pointer][1].substring(0, diffs[pointer][1].length -\\n                                        diffs[pointer - 1][1].length);\\n        diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\\n        diffs.splice(pointer - 1, 1);\\n        changes = true;\\n      } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\\n          diffs[pointer + 1][1]) {\\n        // Shift the edit over the next equality.\\n        diffs[pointer - 1][1] += diffs[pointer + 1][1];\\n        diffs[pointer][1] =\\n            diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\\n            diffs[pointer + 1][1];\\n        diffs.splice(pointer + 1, 1);\\n        changes = true;\\n      }\\n    }\\n    pointer++;\\n  }\\n  // If shifts were made, the diff needs reordering and another shift sweep.\\n  if (changes) {\\n    diff_cleanupMerge(diffs);\\n  }\\n};\\n\\n\\nvar diff = diff_main;\\ndiff.INSERT = DIFF_INSERT;\\ndiff.DELETE = DIFF_DELETE;\\ndiff.EQUAL = DIFF_EQUAL;\\n\\nmodule.exports = diff;\\n\\n/*\\n * Modify a diff such that the cursor position points to the start of a change:\\n * E.g.\\n *   cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\\n *     => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\\n *   cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\\n *     => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\\n *\\n * @param {Array} diffs Array of diff tuples\\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\\n */\\nfunction cursor_normalize_diff (diffs, cursor_pos) {\\n  if (cursor_pos === 0) {\\n    return [DIFF_EQUAL, diffs];\\n  }\\n  for (var current_pos = 0, i = 0; i < diffs.length; i++) {\\n    var d = diffs[i];\\n    if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\\n      var next_pos = current_pos + d[1].length;\\n      if (cursor_pos === next_pos) {\\n        return [i + 1, diffs];\\n      } else if (cursor_pos < next_pos) {\\n        // copy to prevent side effects\\n        diffs = diffs.slice();\\n        // split d into two diff changes\\n        var split_pos = cursor_pos - current_pos;\\n        var d_left = [d[0], d[1].slice(0, split_pos)];\\n        var d_right = [d[0], d[1].slice(split_pos)];\\n        diffs.splice(i, 1, d_left, d_right);\\n        return [i + 1, diffs];\\n      } else {\\n        current_pos = next_pos;\\n      }\\n    }\\n  }\\n  throw new Error('cursor_pos is out of bounds!')\\n}\\n\\n/*\\n * Modify a diff such that the edit position is \\\"shifted\\\" to the proposed edit location (cursor_position).\\n *\\n * Case 1)\\n *   Check if a naive shift is possible:\\n *     [0, X], [ 1, Y] -> [ 1, Y], [0, X]    (if X + Y === Y + X)\\n *     [0, X], [-1, Y] -> [-1, Y], [0, X]    (if X + Y === Y + X) - holds same result\\n * Case 2)\\n *   Check if the following shifts are possible:\\n *     [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\\n *     [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\\n *         ^            ^\\n *         d          d_next\\n *\\n * @param {Array} diffs Array of diff tuples\\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\\n * @return {Array} Array of diff tuples\\n */\\nfunction fix_cursor (diffs, cursor_pos) {\\n  var norm = cursor_normalize_diff(diffs, cursor_pos);\\n  var ndiffs = norm[1];\\n  var cursor_pointer = norm[0];\\n  var d = ndiffs[cursor_pointer];\\n  var d_next = ndiffs[cursor_pointer + 1];\\n\\n  if (d == null) {\\n    // Text was deleted from end of original string,\\n    // cursor is now out of bounds in new string\\n    return diffs;\\n  } else if (d[0] !== DIFF_EQUAL) {\\n    // A modification happened at the cursor location.\\n    // This is the expected outcome, so we can return the original diff.\\n    return diffs;\\n  } else {\\n    if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\\n      // Case 1)\\n      // It is possible to perform a naive shift\\n      ndiffs.splice(cursor_pointer, 2, d_next, d)\\n      return merge_tuples(ndiffs, cursor_pointer, 2)\\n    } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\\n      // Case 2)\\n      // d[1] is a prefix of d_next[1]\\n      // We can assume that d_next[0] !== 0, since d[0] === 0\\n      // Shift edit locations..\\n      ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\\n      var suffix = d_next[1].slice(d[1].length);\\n      if (suffix.length > 0) {\\n        ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\\n      }\\n      return merge_tuples(ndiffs, cursor_pointer, 3)\\n    } else {\\n      // Not possible to perform any modification\\n      return diffs;\\n    }\\n  }\\n}\\n\\n/*\\n * Check diff did not split surrogate pairs.\\n * Ex. [0, '\\\\uD83D'], [-1, '\\\\uDC36'], [1, '\\\\uDC2F'] -> [-1, '\\\\uD83D\\\\uDC36'], [1, '\\\\uD83D\\\\uDC2F']\\n *     '\\\\uD83D\\\\uDC36' === '🐶', '\\\\uD83D\\\\uDC2F' === '🐯'\\n *\\n * @param {Array} diffs Array of diff tuples\\n * @return {Array} Array of diff tuples\\n */\\nfunction fix_emoji (diffs) {\\n  var compact = false;\\n  var starts_with_pair_end = function(str) {\\n    return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\\n  }\\n  var ends_with_pair_start = function(str) {\\n    return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\\n  }\\n  for (var i = 2; i < diffs.length; i += 1) {\\n    if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\\n        diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\\n        diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\\n      compact = true;\\n\\n      diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\\n      diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\\n\\n      diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\\n    }\\n  }\\n  if (!compact) {\\n    return diffs;\\n  }\\n  var fixed_diffs = [];\\n  for (var i = 0; i < diffs.length; i += 1) {\\n    if (diffs[i][1].length > 0) {\\n      fixed_diffs.push(diffs[i]);\\n    }\\n  }\\n  return fixed_diffs;\\n}\\n\\n/*\\n * Try to merge tuples with their neigbors in a given range.\\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\\n *\\n * @param {Array} diffs Array of diff tuples.\\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\\n * @param {Int} length Number of consecutive elements to check.\\n * @return {Array} Array of merged diff tuples.\\n */\\nfunction merge_tuples (diffs, start, length) {\\n  // Check from (start-1) to (start+length).\\n  for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\\n    if (i + 1 < diffs.length) {\\n      var left_d = diffs[i];\\n      var right_d = diffs[i+1];\\n      if (left_d[0] === right_d[1]) {\\n        diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\\n      }\\n    }\\n  }\\n  return diffs;\\n}\\n\\n\\n/***/ }),\\n/* 52 */\\n/***/ (function(module, exports) {\\n\\nexports = module.exports = typeof Object.keys === 'function'\\n  ? Object.keys : shim;\\n\\nexports.shim = shim;\\nfunction shim (obj) {\\n  var keys = [];\\n  for (var key in obj) keys.push(key);\\n  return keys;\\n}\\n\\n\\n/***/ }),\\n/* 53 */\\n/***/ (function(module, exports) {\\n\\nvar supportsArgumentsClass = (function(){\\n  return Object.prototype.toString.call(arguments)\\n})() == '[object Arguments]';\\n\\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\\n\\nexports.supported = supported;\\nfunction supported(object) {\\n  return Object.prototype.toString.call(object) == '[object Arguments]';\\n};\\n\\nexports.unsupported = unsupported;\\nfunction unsupported(object){\\n  return object &&\\n    typeof object == 'object' &&\\n    typeof object.length == 'number' &&\\n    Object.prototype.hasOwnProperty.call(object, 'callee') &&\\n    !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\\n    false;\\n};\\n\\n\\n/***/ }),\\n/* 54 */\\n/***/ (function(module, exports) {\\n\\n'use strict';\\n\\nvar has = Object.prototype.hasOwnProperty\\n  , prefix = '~';\\n\\n/**\\n * Constructor to create a storage for our `EE` objects.\\n * An `Events` instance is a plain object whose properties are event names.\\n *\\n * @constructor\\n * @api private\\n */\\nfunction Events() {}\\n\\n//\\n// We try to not inherit from `Object.prototype`. In some engines creating an\\n// instance in this way is faster than calling `Object.create(null)` directly.\\n// If `Object.create(null)` is not supported we prefix the event names with a\\n// character to make sure that the built-in object properties are not\\n// overridden or used as an attack vector.\\n//\\nif (Object.create) {\\n  Events.prototype = Object.create(null);\\n\\n  //\\n  // This hack is needed because the `__proto__` property is still inherited in\\n  // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\\n  //\\n  if (!new Events().__proto__) prefix = false;\\n}\\n\\n/**\\n * Representation of a single event listener.\\n *\\n * @param {Function} fn The listener function.\\n * @param {Mixed} context The context to invoke the listener with.\\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\\n * @constructor\\n * @api private\\n */\\nfunction EE(fn, context, once) {\\n  this.fn = fn;\\n  this.context = context;\\n  this.once = once || false;\\n}\\n\\n/**\\n * Minimal `EventEmitter` interface that is molded against the Node.js\\n * `EventEmitter` interface.\\n *\\n * @constructor\\n * @api public\\n */\\nfunction EventEmitter() {\\n  this._events = new Events();\\n  this._eventsCount = 0;\\n}\\n\\n/**\\n * Return an array listing the events for which the emitter has registered\\n * listeners.\\n *\\n * @returns {Array}\\n * @api public\\n */\\nEventEmitter.prototype.eventNames = function eventNames() {\\n  var names = []\\n    , events\\n    , name;\\n\\n  if (this._eventsCount === 0) return names;\\n\\n  for (name in (events = this._events)) {\\n    if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\\n  }\\n\\n  if (Object.getOwnPropertySymbols) {\\n    return names.concat(Object.getOwnPropertySymbols(events));\\n  }\\n\\n  return names;\\n};\\n\\n/**\\n * Return the listeners registered for a given event.\\n *\\n * @param {String|Symbol} event The event name.\\n * @param {Boolean} exists Only check if there are listeners.\\n * @returns {Array|Boolean}\\n * @api public\\n */\\nEventEmitter.prototype.listeners = function listeners(event, exists) {\\n  var evt = prefix ? prefix + event : event\\n    , available = this._events[evt];\\n\\n  if (exists) return !!available;\\n  if (!available) return [];\\n  if (available.fn) return [available.fn];\\n\\n  for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\\n    ee[i] = available[i].fn;\\n  }\\n\\n  return ee;\\n};\\n\\n/**\\n * Calls each of the listeners registered for a given event.\\n *\\n * @param {String|Symbol} event The event name.\\n * @returns {Boolean} `true` if the event had listeners, else `false`.\\n * @api public\\n */\\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\\n  var evt = prefix ? prefix + event : event;\\n\\n  if (!this._events[evt]) return false;\\n\\n  var listeners = this._events[evt]\\n    , len = arguments.length\\n    , args\\n    , i;\\n\\n  if (listeners.fn) {\\n    if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\\n\\n    switch (len) {\\n      case 1: return listeners.fn.call(listeners.context), true;\\n      case 2: return listeners.fn.call(listeners.context, a1), true;\\n      case 3: return listeners.fn.call(listeners.context, a1, a2), true;\\n      case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\\n      case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\\n      case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\\n    }\\n\\n    for (i = 1, args = new Array(len -1); i < len; i++) {\\n      args[i - 1] = arguments[i];\\n    }\\n\\n    listeners.fn.apply(listeners.context, args);\\n  } else {\\n    var length = listeners.length\\n      , j;\\n\\n    for (i = 0; i < length; i++) {\\n      if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\\n\\n      switch (len) {\\n        case 1: listeners[i].fn.call(listeners[i].context); break;\\n        case 2: listeners[i].fn.call(listeners[i].context, a1); break;\\n        case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\\n        case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\\n        default:\\n          if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\\n            args[j - 1] = arguments[j];\\n          }\\n\\n          listeners[i].fn.apply(listeners[i].context, args);\\n      }\\n    }\\n  }\\n\\n  return true;\\n};\\n\\n/**\\n * Add a listener for a given event.\\n *\\n * @param {String|Symbol} event The event name.\\n * @param {Function} fn The listener function.\\n * @param {Mixed} [context=this] The context to invoke the listener with.\\n * @returns {EventEmitter} `this`.\\n * @api public\\n */\\nEventEmitter.prototype.on = function on(event, fn, context) {\\n  var listener = new EE(fn, context || this)\\n    , evt = prefix ? prefix + event : event;\\n\\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\\n  else this._events[evt] = [this._events[evt], listener];\\n\\n  return this;\\n};\\n\\n/**\\n * Add a one-time listener for a given event.\\n *\\n * @param {String|Symbol} event The event name.\\n * @param {Function} fn The listener function.\\n * @param {Mixed} [context=this] The context to invoke the listener with.\\n * @returns {EventEmitter} `this`.\\n * @api public\\n */\\nEventEmitter.prototype.once = function once(event, fn, context) {\\n  var listener = new EE(fn, context || this, true)\\n    , evt = prefix ? prefix + event : event;\\n\\n  if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\\n  else if (!this._events[evt].fn) this._events[evt].push(listener);\\n  else this._events[evt] = [this._events[evt], listener];\\n\\n  return this;\\n};\\n\\n/**\\n * Remove the listeners of a given event.\\n *\\n * @param {String|Symbol} event The event name.\\n * @param {Function} fn Only remove the listeners that match this function.\\n * @param {Mixed} context Only remove the listeners that have this context.\\n * @param {Boolean} once Only remove one-time listeners.\\n * @returns {EventEmitter} `this`.\\n * @api public\\n */\\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\\n  var evt = prefix ? prefix + event : event;\\n\\n  if (!this._events[evt]) return this;\\n  if (!fn) {\\n    if (--this._eventsCount === 0) this._events = new Events();\\n    else delete this._events[evt];\\n    return this;\\n  }\\n\\n  var listeners = this._events[evt];\\n\\n  if (listeners.fn) {\\n    if (\\n         listeners.fn === fn\\n      && (!once || listeners.once)\\n      && (!context || listeners.context === context)\\n    ) {\\n      if (--this._eventsCount === 0) this._events = new Events();\\n      else delete this._events[evt];\\n    }\\n  } else {\\n    for (var i = 0, events = [], length = listeners.length; i < length; i++) {\\n      if (\\n           listeners[i].fn !== fn\\n        || (once && !listeners[i].once)\\n        || (context && listeners[i].context !== context)\\n      ) {\\n        events.push(listeners[i]);\\n      }\\n    }\\n\\n    //\\n    // Reset the array, or remove it completely if we have no more listeners.\\n    //\\n    if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\\n    else if (--this._eventsCount === 0) this._events = new Events();\\n    else delete this._events[evt];\\n  }\\n\\n  return this;\\n};\\n\\n/**\\n * Remove all listeners, or those of the specified event.\\n *\\n * @param {String|Symbol} [event] The event name.\\n * @returns {EventEmitter} `this`.\\n * @api public\\n */\\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\\n  var evt;\\n\\n  if (event) {\\n    evt = prefix ? prefix + event : event;\\n    if (this._events[evt]) {\\n      if (--this._eventsCount === 0) this._events = new Events();\\n      else delete this._events[evt];\\n    }\\n  } else {\\n    this._events = new Events();\\n    this._eventsCount = 0;\\n  }\\n\\n  return this;\\n};\\n\\n//\\n// Alias methods names because people roll like that.\\n//\\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\\n\\n//\\n// This function doesn't apply anymore.\\n//\\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\\n  return this;\\n};\\n\\n//\\n// Expose the prefix.\\n//\\nEventEmitter.prefixed = prefix;\\n\\n//\\n// Allow `EventEmitter` to be imported as module namespace.\\n//\\nEventEmitter.EventEmitter = EventEmitter;\\n\\n//\\n// Expose the module.\\n//\\nif ('undefined' !== typeof module) {\\n  module.exports = EventEmitter;\\n}\\n\\n\\n/***/ }),\\n/* 55 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\\n\\nvar _typeof = typeof Symbol === \\\"function\\\" && typeof Symbol.iterator === \\\"symbol\\\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \\\"function\\\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \\\"symbol\\\" : typeof obj; };\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _extend2 = __webpack_require__(3);\\n\\nvar _extend3 = _interopRequireDefault(_extend2);\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _logger = __webpack_require__(10);\\n\\nvar _logger2 = _interopRequireDefault(_logger);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nvar _align = __webpack_require__(36);\\n\\nvar _background = __webpack_require__(37);\\n\\nvar _code = __webpack_require__(13);\\n\\nvar _code2 = _interopRequireDefault(_code);\\n\\nvar _color = __webpack_require__(26);\\n\\nvar _direction = __webpack_require__(38);\\n\\nvar _font = __webpack_require__(39);\\n\\nvar _size = __webpack_require__(40);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar debug = (0, _logger2.default)('quill:clipboard');\\n\\nvar DOM_KEY = '__ql-matcher';\\n\\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\\n\\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\\n  memo[attr.keyName] = attr;\\n  return memo;\\n}, {});\\n\\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\\n  memo[attr.keyName] = attr;\\n  return memo;\\n}, {});\\n\\nvar Clipboard = function (_Module) {\\n  _inherits(Clipboard, _Module);\\n\\n  function Clipboard(quill, options) {\\n    _classCallCheck(this, Clipboard);\\n\\n    var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\\n\\n    _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\\n    _this.container = _this.quill.addContainer('ql-clipboard');\\n    _this.container.setAttribute('contenteditable', true);\\n    _this.container.setAttribute('tabindex', -1);\\n    _this.matchers = [];\\n    CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\\n      var _ref2 = _slicedToArray(_ref, 2),\\n          selector = _ref2[0],\\n          matcher = _ref2[1];\\n\\n      if (!options.matchVisual && matcher === matchSpacing) return;\\n      _this.addMatcher(selector, matcher);\\n    });\\n    return _this;\\n  }\\n\\n  _createClass(Clipboard, [{\\n    key: 'addMatcher',\\n    value: function addMatcher(selector, matcher) {\\n      this.matchers.push([selector, matcher]);\\n    }\\n  }, {\\n    key: 'convert',\\n    value: function convert(html) {\\n      if (typeof html === 'string') {\\n        this.container.innerHTML = html.replace(/\\\\>\\\\r?\\\\n +\\\\</g, '><'); // Remove spaces between tags\\n        return this.convert();\\n      }\\n      var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\\n      if (formats[_code2.default.blotName]) {\\n        var text = this.container.innerText;\\n        this.container.innerHTML = '';\\n        return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\\n      }\\n\\n      var _prepareMatching = this.prepareMatching(),\\n          _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\\n          elementMatchers = _prepareMatching2[0],\\n          textMatchers = _prepareMatching2[1];\\n\\n      var delta = traverse(this.container, elementMatchers, textMatchers);\\n      // Remove trailing newline\\n      if (deltaEndsWith(delta, '\\\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\\n        delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\\n      }\\n      debug.log('convert', this.container.innerHTML, delta);\\n      this.container.innerHTML = '';\\n      return delta;\\n    }\\n  }, {\\n    key: 'dangerouslyPasteHTML',\\n    value: function dangerouslyPasteHTML(index, html) {\\n      var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\\n\\n      if (typeof index === 'string') {\\n        this.quill.setContents(this.convert(index), html);\\n        this.quill.setSelection(0, _quill2.default.sources.SILENT);\\n      } else {\\n        var paste = this.convert(html);\\n        this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\\n        this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\\n      }\\n    }\\n  }, {\\n    key: 'onPaste',\\n    value: function onPaste(e) {\\n      var _this2 = this;\\n\\n      if (e.defaultPrevented || !this.quill.isEnabled()) return;\\n      var range = this.quill.getSelection();\\n      var delta = new _quillDelta2.default().retain(range.index);\\n      var scrollTop = this.quill.scrollingContainer.scrollTop;\\n      this.container.focus();\\n      this.quill.selection.update(_quill2.default.sources.SILENT);\\n      setTimeout(function () {\\n        delta = delta.concat(_this2.convert()).delete(range.length);\\n        _this2.quill.updateContents(delta, _quill2.default.sources.USER);\\n        // range.length contributes to delta.length()\\n        _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\\n        _this2.quill.scrollingContainer.scrollTop = scrollTop;\\n        _this2.quill.focus();\\n      }, 1);\\n    }\\n  }, {\\n    key: 'prepareMatching',\\n    value: function prepareMatching() {\\n      var _this3 = this;\\n\\n      var elementMatchers = [],\\n          textMatchers = [];\\n      this.matchers.forEach(function (pair) {\\n        var _pair = _slicedToArray(pair, 2),\\n            selector = _pair[0],\\n            matcher = _pair[1];\\n\\n        switch (selector) {\\n          case Node.TEXT_NODE:\\n            textMatchers.push(matcher);\\n            break;\\n          case Node.ELEMENT_NODE:\\n            elementMatchers.push(matcher);\\n            break;\\n          default:\\n            [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\\n              // TODO use weakmap\\n              node[DOM_KEY] = node[DOM_KEY] || [];\\n              node[DOM_KEY].push(matcher);\\n            });\\n            break;\\n        }\\n      });\\n      return [elementMatchers, textMatchers];\\n    }\\n  }]);\\n\\n  return Clipboard;\\n}(_module2.default);\\n\\nClipboard.DEFAULTS = {\\n  matchers: [],\\n  matchVisual: true\\n};\\n\\nfunction applyFormat(delta, format, value) {\\n  if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\\n    return Object.keys(format).reduce(function (delta, key) {\\n      return applyFormat(delta, key, format[key]);\\n    }, delta);\\n  } else {\\n    return delta.reduce(function (delta, op) {\\n      if (op.attributes && op.attributes[format]) {\\n        return delta.push(op);\\n      } else {\\n        return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\\n      }\\n    }, new _quillDelta2.default());\\n  }\\n}\\n\\nfunction computeStyle(node) {\\n  if (node.nodeType !== Node.ELEMENT_NODE) return {};\\n  var DOM_KEY = '__ql-computed-style';\\n  return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\\n}\\n\\nfunction deltaEndsWith(delta, text) {\\n  var endText = \\\"\\\";\\n  for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\\n    var op = delta.ops[i];\\n    if (typeof op.insert !== 'string') break;\\n    endText = op.insert + endText;\\n  }\\n  return endText.slice(-1 * text.length) === text;\\n}\\n\\nfunction isLine(node) {\\n  if (node.childNodes.length === 0) return false; // Exclude embed blocks\\n  var style = computeStyle(node);\\n  return ['block', 'list-item'].indexOf(style.display) > -1;\\n}\\n\\nfunction traverse(node, elementMatchers, textMatchers) {\\n  // Post-order\\n  if (node.nodeType === node.TEXT_NODE) {\\n    return textMatchers.reduce(function (delta, matcher) {\\n      return matcher(node, delta);\\n    }, new _quillDelta2.default());\\n  } else if (node.nodeType === node.ELEMENT_NODE) {\\n    return [].reduce.call(node.childNodes || [], function (delta, childNode) {\\n      var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\\n      if (childNode.nodeType === node.ELEMENT_NODE) {\\n        childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\\n          return matcher(childNode, childrenDelta);\\n        }, childrenDelta);\\n        childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\\n          return matcher(childNode, childrenDelta);\\n        }, childrenDelta);\\n      }\\n      return delta.concat(childrenDelta);\\n    }, new _quillDelta2.default());\\n  } else {\\n    return new _quillDelta2.default();\\n  }\\n}\\n\\nfunction matchAlias(format, node, delta) {\\n  return applyFormat(delta, format, true);\\n}\\n\\nfunction matchAttributor(node, delta) {\\n  var attributes = _parchment2.default.Attributor.Attribute.keys(node);\\n  var classes = _parchment2.default.Attributor.Class.keys(node);\\n  var styles = _parchment2.default.Attributor.Style.keys(node);\\n  var formats = {};\\n  attributes.concat(classes).concat(styles).forEach(function (name) {\\n    var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\\n    if (attr != null) {\\n      formats[attr.attrName] = attr.value(node);\\n      if (formats[attr.attrName]) return;\\n    }\\n    attr = ATTRIBUTE_ATTRIBUTORS[name];\\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\\n      formats[attr.attrName] = attr.value(node) || undefined;\\n    }\\n    attr = STYLE_ATTRIBUTORS[name];\\n    if (attr != null && (attr.attrName === name || attr.keyName === name)) {\\n      attr = STYLE_ATTRIBUTORS[name];\\n      formats[attr.attrName] = attr.value(node) || undefined;\\n    }\\n  });\\n  if (Object.keys(formats).length > 0) {\\n    delta = applyFormat(delta, formats);\\n  }\\n  return delta;\\n}\\n\\nfunction matchBlot(node, delta) {\\n  var match = _parchment2.default.query(node);\\n  if (match == null) return delta;\\n  if (match.prototype instanceof _parchment2.default.Embed) {\\n    var embed = {};\\n    var value = match.value(node);\\n    if (value != null) {\\n      embed[match.blotName] = value;\\n      delta = new _quillDelta2.default().insert(embed, match.formats(node));\\n    }\\n  } else if (typeof match.formats === 'function') {\\n    delta = applyFormat(delta, match.blotName, match.formats(node));\\n  }\\n  return delta;\\n}\\n\\nfunction matchBreak(node, delta) {\\n  if (!deltaEndsWith(delta, '\\\\n')) {\\n    delta.insert('\\\\n');\\n  }\\n  return delta;\\n}\\n\\nfunction matchIgnore() {\\n  return new _quillDelta2.default();\\n}\\n\\nfunction matchIndent(node, delta) {\\n  var match = _parchment2.default.query(node);\\n  if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\\\n')) {\\n    return delta;\\n  }\\n  var indent = -1,\\n      parent = node.parentNode;\\n  while (!parent.classList.contains('ql-clipboard')) {\\n    if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\\n      indent += 1;\\n    }\\n    parent = parent.parentNode;\\n  }\\n  if (indent <= 0) return delta;\\n  return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\\n}\\n\\nfunction matchNewline(node, delta) {\\n  if (!deltaEndsWith(delta, '\\\\n')) {\\n    if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\\n      delta.insert('\\\\n');\\n    }\\n  }\\n  return delta;\\n}\\n\\nfunction matchSpacing(node, delta) {\\n  if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\\\n\\\\n')) {\\n    var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\\n    if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\\n      delta.insert('\\\\n');\\n    }\\n  }\\n  return delta;\\n}\\n\\nfunction matchStyles(node, delta) {\\n  var formats = {};\\n  var style = node.style || {};\\n  if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\\n    formats.italic = true;\\n  }\\n  if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\\n    formats.bold = true;\\n  }\\n  if (Object.keys(formats).length > 0) {\\n    delta = applyFormat(delta, formats);\\n  }\\n  if (parseFloat(style.textIndent || 0) > 0) {\\n    // Could be 0.5in\\n    delta = new _quillDelta2.default().insert('\\\\t').concat(delta);\\n  }\\n  return delta;\\n}\\n\\nfunction matchText(node, delta) {\\n  var text = node.data;\\n  // Word represents empty line with <o:p>&nbsp;</o:p>\\n  if (node.parentNode.tagName === 'O:P') {\\n    return delta.insert(text.trim());\\n  }\\n  if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\\n    return delta;\\n  }\\n  if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\\n    // eslint-disable-next-line func-style\\n    var replacer = function replacer(collapse, match) {\\n      match = match.replace(/[^\\\\u00a0]/g, ''); // \\\\u00a0 is nbsp;\\n      return match.length < 1 && collapse ? ' ' : match;\\n    };\\n    text = text.replace(/\\\\r\\\\n/g, ' ').replace(/\\\\n/g, ' ');\\n    text = text.replace(/\\\\s\\\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\\n    if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\\n      text = text.replace(/^\\\\s+/, replacer.bind(replacer, false));\\n    }\\n    if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\\n      text = text.replace(/\\\\s+$/, replacer.bind(replacer, false));\\n    }\\n  }\\n  return delta.insert(text);\\n}\\n\\nexports.default = Clipboard;\\nexports.matchAttributor = matchAttributor;\\nexports.matchBlot = matchBlot;\\nexports.matchNewline = matchNewline;\\nexports.matchSpacing = matchSpacing;\\nexports.matchText = matchText;\\n\\n/***/ }),\\n/* 56 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Bold = function (_Inline) {\\n  _inherits(Bold, _Inline);\\n\\n  function Bold() {\\n    _classCallCheck(this, Bold);\\n\\n    return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\\n  }\\n\\n  _createClass(Bold, [{\\n    key: 'optimize',\\n    value: function optimize(context) {\\n      _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\\n      if (this.domNode.tagName !== this.statics.tagName[0]) {\\n        this.replaceWith(this.statics.blotName);\\n      }\\n    }\\n  }], [{\\n    key: 'create',\\n    value: function create() {\\n      return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats() {\\n      return true;\\n    }\\n  }]);\\n\\n  return Bold;\\n}(_inline2.default);\\n\\nBold.blotName = 'bold';\\nBold.tagName = ['STRONG', 'B'];\\n\\nexports.default = Bold;\\n\\n/***/ }),\\n/* 57 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.addControls = exports.default = undefined;\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _quillDelta = __webpack_require__(2);\\n\\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _logger = __webpack_require__(10);\\n\\nvar _logger2 = _interopRequireDefault(_logger);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar debug = (0, _logger2.default)('quill:toolbar');\\n\\nvar Toolbar = function (_Module) {\\n  _inherits(Toolbar, _Module);\\n\\n  function Toolbar(quill, options) {\\n    _classCallCheck(this, Toolbar);\\n\\n    var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\\n\\n    if (Array.isArray(_this.options.container)) {\\n      var container = document.createElement('div');\\n      addControls(container, _this.options.container);\\n      quill.container.parentNode.insertBefore(container, quill.container);\\n      _this.container = container;\\n    } else if (typeof _this.options.container === 'string') {\\n      _this.container = document.querySelector(_this.options.container);\\n    } else {\\n      _this.container = _this.options.container;\\n    }\\n    if (!(_this.container instanceof HTMLElement)) {\\n      var _ret;\\n\\n      return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\\n    }\\n    _this.container.classList.add('ql-toolbar');\\n    _this.controls = [];\\n    _this.handlers = {};\\n    Object.keys(_this.options.handlers).forEach(function (format) {\\n      _this.addHandler(format, _this.options.handlers[format]);\\n    });\\n    [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\\n      _this.attach(input);\\n    });\\n    _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\\n      if (type === _quill2.default.events.SELECTION_CHANGE) {\\n        _this.update(range);\\n      }\\n    });\\n    _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\\n      var _this$quill$selection = _this.quill.selection.getRange(),\\n          _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\\n          range = _this$quill$selection2[0]; // quill.getSelection triggers update\\n\\n\\n      _this.update(range);\\n    });\\n    return _this;\\n  }\\n\\n  _createClass(Toolbar, [{\\n    key: 'addHandler',\\n    value: function addHandler(format, handler) {\\n      this.handlers[format] = handler;\\n    }\\n  }, {\\n    key: 'attach',\\n    value: function attach(input) {\\n      var _this2 = this;\\n\\n      var format = [].find.call(input.classList, function (className) {\\n        return className.indexOf('ql-') === 0;\\n      });\\n      if (!format) return;\\n      format = format.slice('ql-'.length);\\n      if (input.tagName === 'BUTTON') {\\n        input.setAttribute('type', 'button');\\n      }\\n      if (this.handlers[format] == null) {\\n        if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\\n          debug.warn('ignoring attaching to disabled format', format, input);\\n          return;\\n        }\\n        if (_parchment2.default.query(format) == null) {\\n          debug.warn('ignoring attaching to nonexistent format', format, input);\\n          return;\\n        }\\n      }\\n      var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\\n      input.addEventListener(eventName, function (e) {\\n        var value = void 0;\\n        if (input.tagName === 'SELECT') {\\n          if (input.selectedIndex < 0) return;\\n          var selected = input.options[input.selectedIndex];\\n          if (selected.hasAttribute('selected')) {\\n            value = false;\\n          } else {\\n            value = selected.value || false;\\n          }\\n        } else {\\n          if (input.classList.contains('ql-active')) {\\n            value = false;\\n          } else {\\n            value = input.value || !input.hasAttribute('value');\\n          }\\n          e.preventDefault();\\n        }\\n        _this2.quill.focus();\\n\\n        var _quill$selection$getR = _this2.quill.selection.getRange(),\\n            _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\\n            range = _quill$selection$getR2[0];\\n\\n        if (_this2.handlers[format] != null) {\\n          _this2.handlers[format].call(_this2, value);\\n        } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\\n          value = prompt('Enter ' + format);\\n          if (!value) return;\\n          _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\\n        } else {\\n          _this2.quill.format(format, value, _quill2.default.sources.USER);\\n        }\\n        _this2.update(range);\\n      });\\n      // TODO use weakmap\\n      this.controls.push([format, input]);\\n    }\\n  }, {\\n    key: 'update',\\n    value: function update(range) {\\n      var formats = range == null ? {} : this.quill.getFormat(range);\\n      this.controls.forEach(function (pair) {\\n        var _pair = _slicedToArray(pair, 2),\\n            format = _pair[0],\\n            input = _pair[1];\\n\\n        if (input.tagName === 'SELECT') {\\n          var option = void 0;\\n          if (range == null) {\\n            option = null;\\n          } else if (formats[format] == null) {\\n            option = input.querySelector('option[selected]');\\n          } else if (!Array.isArray(formats[format])) {\\n            var value = formats[format];\\n            if (typeof value === 'string') {\\n              value = value.replace(/\\\\\\\"/g, '\\\\\\\\\\\"');\\n            }\\n            option = input.querySelector('option[value=\\\"' + value + '\\\"]');\\n          }\\n          if (option == null) {\\n            input.value = ''; // TODO make configurable?\\n            input.selectedIndex = -1;\\n          } else {\\n            option.selected = true;\\n          }\\n        } else {\\n          if (range == null) {\\n            input.classList.remove('ql-active');\\n          } else if (input.hasAttribute('value')) {\\n            // both being null should match (default values)\\n            // '1' should match with 1 (headers)\\n            var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\\n            input.classList.toggle('ql-active', isActive);\\n          } else {\\n            input.classList.toggle('ql-active', formats[format] != null);\\n          }\\n        }\\n      });\\n    }\\n  }]);\\n\\n  return Toolbar;\\n}(_module2.default);\\n\\nToolbar.DEFAULTS = {};\\n\\nfunction addButton(container, format, value) {\\n  var input = document.createElement('button');\\n  input.setAttribute('type', 'button');\\n  input.classList.add('ql-' + format);\\n  if (value != null) {\\n    input.value = value;\\n  }\\n  container.appendChild(input);\\n}\\n\\nfunction addControls(container, groups) {\\n  if (!Array.isArray(groups[0])) {\\n    groups = [groups];\\n  }\\n  groups.forEach(function (controls) {\\n    var group = document.createElement('span');\\n    group.classList.add('ql-formats');\\n    controls.forEach(function (control) {\\n      if (typeof control === 'string') {\\n        addButton(group, control);\\n      } else {\\n        var format = Object.keys(control)[0];\\n        var value = control[format];\\n        if (Array.isArray(value)) {\\n          addSelect(group, format, value);\\n        } else {\\n          addButton(group, format, value);\\n        }\\n      }\\n    });\\n    container.appendChild(group);\\n  });\\n}\\n\\nfunction addSelect(container, format, values) {\\n  var input = document.createElement('select');\\n  input.classList.add('ql-' + format);\\n  values.forEach(function (value) {\\n    var option = document.createElement('option');\\n    if (value !== false) {\\n      option.setAttribute('value', value);\\n    } else {\\n      option.setAttribute('selected', 'selected');\\n    }\\n    input.appendChild(option);\\n  });\\n  container.appendChild(input);\\n}\\n\\nToolbar.DEFAULTS = {\\n  container: null,\\n  handlers: {\\n    clean: function clean() {\\n      var _this3 = this;\\n\\n      var range = this.quill.getSelection();\\n      if (range == null) return;\\n      if (range.length == 0) {\\n        var formats = this.quill.getFormat();\\n        Object.keys(formats).forEach(function (name) {\\n          // Clean functionality in existing apps only clean inline formats\\n          if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\\n            _this3.quill.format(name, false);\\n          }\\n        });\\n      } else {\\n        this.quill.removeFormat(range, _quill2.default.sources.USER);\\n      }\\n    },\\n    direction: function direction(value) {\\n      var align = this.quill.getFormat()['align'];\\n      if (value === 'rtl' && align == null) {\\n        this.quill.format('align', 'right', _quill2.default.sources.USER);\\n      } else if (!value && align === 'right') {\\n        this.quill.format('align', false, _quill2.default.sources.USER);\\n      }\\n      this.quill.format('direction', value, _quill2.default.sources.USER);\\n    },\\n    indent: function indent(value) {\\n      var range = this.quill.getSelection();\\n      var formats = this.quill.getFormat(range);\\n      var indent = parseInt(formats.indent || 0);\\n      if (value === '+1' || value === '-1') {\\n        var modifier = value === '+1' ? 1 : -1;\\n        if (formats.direction === 'rtl') modifier *= -1;\\n        this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\\n      }\\n    },\\n    link: function link(value) {\\n      if (value === true) {\\n        value = prompt('Enter link URL:');\\n      }\\n      this.quill.format('link', value, _quill2.default.sources.USER);\\n    },\\n    list: function list(value) {\\n      var range = this.quill.getSelection();\\n      var formats = this.quill.getFormat(range);\\n      if (value === 'check') {\\n        if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\\n          this.quill.format('list', false, _quill2.default.sources.USER);\\n        } else {\\n          this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\\n        }\\n      } else {\\n        this.quill.format('list', value, _quill2.default.sources.USER);\\n      }\\n    }\\n  }\\n};\\n\\nexports.default = Toolbar;\\nexports.addControls = addControls;\\n\\n/***/ }),\\n/* 58 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <polyline class=\\\\\\\"ql-even ql-stroke\\\\\\\" points=\\\\\\\"5 7 3 9 5 11\\\\\\\"></polyline> <polyline class=\\\\\\\"ql-even ql-stroke\\\\\\\" points=\\\\\\\"13 7 15 9 13 11\\\\\\\"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>\\\";\\n\\n/***/ }),\\n/* 59 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _picker = __webpack_require__(28);\\n\\nvar _picker2 = _interopRequireDefault(_picker);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar ColorPicker = function (_Picker) {\\n  _inherits(ColorPicker, _Picker);\\n\\n  function ColorPicker(select, label) {\\n    _classCallCheck(this, ColorPicker);\\n\\n    var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\\n\\n    _this.label.innerHTML = label;\\n    _this.container.classList.add('ql-color-picker');\\n    [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\\n      item.classList.add('ql-primary');\\n    });\\n    return _this;\\n  }\\n\\n  _createClass(ColorPicker, [{\\n    key: 'buildItem',\\n    value: function buildItem(option) {\\n      var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\\n      item.style.backgroundColor = option.getAttribute('value') || '';\\n      return item;\\n    }\\n  }, {\\n    key: 'selectItem',\\n    value: function selectItem(item, trigger) {\\n      _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\\n      var colorLabel = this.label.querySelector('.ql-color-label');\\n      var value = item ? item.getAttribute('data-value') || '' : '';\\n      if (colorLabel) {\\n        if (colorLabel.tagName === 'line') {\\n          colorLabel.style.stroke = value;\\n        } else {\\n          colorLabel.style.fill = value;\\n        }\\n      }\\n    }\\n  }]);\\n\\n  return ColorPicker;\\n}(_picker2.default);\\n\\nexports.default = ColorPicker;\\n\\n/***/ }),\\n/* 60 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _picker = __webpack_require__(28);\\n\\nvar _picker2 = _interopRequireDefault(_picker);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar IconPicker = function (_Picker) {\\n  _inherits(IconPicker, _Picker);\\n\\n  function IconPicker(select, icons) {\\n    _classCallCheck(this, IconPicker);\\n\\n    var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\\n\\n    _this.container.classList.add('ql-icon-picker');\\n    [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\\n      item.innerHTML = icons[item.getAttribute('data-value') || ''];\\n    });\\n    _this.defaultItem = _this.container.querySelector('.ql-selected');\\n    _this.selectItem(_this.defaultItem);\\n    return _this;\\n  }\\n\\n  _createClass(IconPicker, [{\\n    key: 'selectItem',\\n    value: function selectItem(item, trigger) {\\n      _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\\n      item = item || this.defaultItem;\\n      this.label.innerHTML = item.innerHTML;\\n    }\\n  }]);\\n\\n  return IconPicker;\\n}(_picker2.default);\\n\\nexports.default = IconPicker;\\n\\n/***/ }),\\n/* 61 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nvar Tooltip = function () {\\n  function Tooltip(quill, boundsContainer) {\\n    var _this = this;\\n\\n    _classCallCheck(this, Tooltip);\\n\\n    this.quill = quill;\\n    this.boundsContainer = boundsContainer || document.body;\\n    this.root = quill.addContainer('ql-tooltip');\\n    this.root.innerHTML = this.constructor.TEMPLATE;\\n    if (this.quill.root === this.quill.scrollingContainer) {\\n      this.quill.root.addEventListener('scroll', function () {\\n        _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\\n      });\\n    }\\n    this.hide();\\n  }\\n\\n  _createClass(Tooltip, [{\\n    key: 'hide',\\n    value: function hide() {\\n      this.root.classList.add('ql-hidden');\\n    }\\n  }, {\\n    key: 'position',\\n    value: function position(reference) {\\n      var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\\n      // root.scrollTop should be 0 if scrollContainer !== root\\n      var top = reference.bottom + this.quill.root.scrollTop;\\n      this.root.style.left = left + 'px';\\n      this.root.style.top = top + 'px';\\n      this.root.classList.remove('ql-flip');\\n      var containerBounds = this.boundsContainer.getBoundingClientRect();\\n      var rootBounds = this.root.getBoundingClientRect();\\n      var shift = 0;\\n      if (rootBounds.right > containerBounds.right) {\\n        shift = containerBounds.right - rootBounds.right;\\n        this.root.style.left = left + shift + 'px';\\n      }\\n      if (rootBounds.left < containerBounds.left) {\\n        shift = containerBounds.left - rootBounds.left;\\n        this.root.style.left = left + shift + 'px';\\n      }\\n      if (rootBounds.bottom > containerBounds.bottom) {\\n        var height = rootBounds.bottom - rootBounds.top;\\n        var verticalShift = reference.bottom - reference.top + height;\\n        this.root.style.top = top - verticalShift + 'px';\\n        this.root.classList.add('ql-flip');\\n      }\\n      return shift;\\n    }\\n  }, {\\n    key: 'show',\\n    value: function show() {\\n      this.root.classList.remove('ql-editing');\\n      this.root.classList.remove('ql-hidden');\\n    }\\n  }]);\\n\\n  return Tooltip;\\n}();\\n\\nexports.default = Tooltip;\\n\\n/***/ }),\\n/* 62 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\\\"return\\\"]) _i[\\\"return\\\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\\\"Invalid attempt to destructure non-iterable instance\\\"); } }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nvar _emitter = __webpack_require__(8);\\n\\nvar _emitter2 = _interopRequireDefault(_emitter);\\n\\nvar _base = __webpack_require__(43);\\n\\nvar _base2 = _interopRequireDefault(_base);\\n\\nvar _link = __webpack_require__(27);\\n\\nvar _link2 = _interopRequireDefault(_link);\\n\\nvar _selection = __webpack_require__(15);\\n\\nvar _icons = __webpack_require__(41);\\n\\nvar _icons2 = _interopRequireDefault(_icons);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\\n\\nvar SnowTheme = function (_BaseTheme) {\\n  _inherits(SnowTheme, _BaseTheme);\\n\\n  function SnowTheme(quill, options) {\\n    _classCallCheck(this, SnowTheme);\\n\\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\\n    }\\n\\n    var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\\n\\n    _this.quill.container.classList.add('ql-snow');\\n    return _this;\\n  }\\n\\n  _createClass(SnowTheme, [{\\n    key: 'extendToolbar',\\n    value: function extendToolbar(toolbar) {\\n      toolbar.container.classList.add('ql-snow');\\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\\n      this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\\n      if (toolbar.container.querySelector('.ql-link')) {\\n        this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\\n          toolbar.handlers['link'].call(toolbar, !context.format.link);\\n        });\\n      }\\n    }\\n  }]);\\n\\n  return SnowTheme;\\n}(_base2.default);\\n\\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\\n  modules: {\\n    toolbar: {\\n      handlers: {\\n        link: function link(value) {\\n          if (value) {\\n            var range = this.quill.getSelection();\\n            if (range == null || range.length == 0) return;\\n            var preview = this.quill.getText(range);\\n            if (/^\\\\S+@\\\\S+\\\\.\\\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\\n              preview = 'mailto:' + preview;\\n            }\\n            var tooltip = this.quill.theme.tooltip;\\n            tooltip.edit('link', preview);\\n          } else {\\n            this.quill.format('link', false);\\n          }\\n        }\\n      }\\n    }\\n  }\\n});\\n\\nvar SnowTooltip = function (_BaseTooltip) {\\n  _inherits(SnowTooltip, _BaseTooltip);\\n\\n  function SnowTooltip(quill, bounds) {\\n    _classCallCheck(this, SnowTooltip);\\n\\n    var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\\n\\n    _this2.preview = _this2.root.querySelector('a.ql-preview');\\n    return _this2;\\n  }\\n\\n  _createClass(SnowTooltip, [{\\n    key: 'listen',\\n    value: function listen() {\\n      var _this3 = this;\\n\\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\\n      this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\\n        if (_this3.root.classList.contains('ql-editing')) {\\n          _this3.save();\\n        } else {\\n          _this3.edit('link', _this3.preview.textContent);\\n        }\\n        event.preventDefault();\\n      });\\n      this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\\n        if (_this3.linkRange != null) {\\n          var range = _this3.linkRange;\\n          _this3.restoreFocus();\\n          _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\\n          delete _this3.linkRange;\\n        }\\n        event.preventDefault();\\n        _this3.hide();\\n      });\\n      this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\\n        if (range == null) return;\\n        if (range.length === 0 && source === _emitter2.default.sources.USER) {\\n          var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\\n              _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\\n              link = _quill$scroll$descend2[0],\\n              offset = _quill$scroll$descend2[1];\\n\\n          if (link != null) {\\n            _this3.linkRange = new _selection.Range(range.index - offset, link.length());\\n            var preview = _link2.default.formats(link.domNode);\\n            _this3.preview.textContent = preview;\\n            _this3.preview.setAttribute('href', preview);\\n            _this3.show();\\n            _this3.position(_this3.quill.getBounds(_this3.linkRange));\\n            return;\\n          }\\n        } else {\\n          delete _this3.linkRange;\\n        }\\n        _this3.hide();\\n      });\\n    }\\n  }, {\\n    key: 'show',\\n    value: function show() {\\n      _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\\n      this.root.removeAttribute('data-mode');\\n    }\\n  }]);\\n\\n  return SnowTooltip;\\n}(_base.BaseTooltip);\\n\\nSnowTooltip.TEMPLATE = ['<a class=\\\"ql-preview\\\" target=\\\"_blank\\\" href=\\\"about:blank\\\"></a>', '<input type=\\\"text\\\" data-formula=\\\"e=mc^2\\\" data-link=\\\"https://quilljs.com\\\" data-video=\\\"Embed URL\\\">', '<a class=\\\"ql-action\\\"></a>', '<a class=\\\"ql-remove\\\"></a>'].join('');\\n\\nexports.default = SnowTheme;\\n\\n/***/ }),\\n/* 63 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _core = __webpack_require__(29);\\n\\nvar _core2 = _interopRequireDefault(_core);\\n\\nvar _align = __webpack_require__(36);\\n\\nvar _direction = __webpack_require__(38);\\n\\nvar _indent = __webpack_require__(64);\\n\\nvar _blockquote = __webpack_require__(65);\\n\\nvar _blockquote2 = _interopRequireDefault(_blockquote);\\n\\nvar _header = __webpack_require__(66);\\n\\nvar _header2 = _interopRequireDefault(_header);\\n\\nvar _list = __webpack_require__(67);\\n\\nvar _list2 = _interopRequireDefault(_list);\\n\\nvar _background = __webpack_require__(37);\\n\\nvar _color = __webpack_require__(26);\\n\\nvar _font = __webpack_require__(39);\\n\\nvar _size = __webpack_require__(40);\\n\\nvar _bold = __webpack_require__(56);\\n\\nvar _bold2 = _interopRequireDefault(_bold);\\n\\nvar _italic = __webpack_require__(68);\\n\\nvar _italic2 = _interopRequireDefault(_italic);\\n\\nvar _link = __webpack_require__(27);\\n\\nvar _link2 = _interopRequireDefault(_link);\\n\\nvar _script = __webpack_require__(69);\\n\\nvar _script2 = _interopRequireDefault(_script);\\n\\nvar _strike = __webpack_require__(70);\\n\\nvar _strike2 = _interopRequireDefault(_strike);\\n\\nvar _underline = __webpack_require__(71);\\n\\nvar _underline2 = _interopRequireDefault(_underline);\\n\\nvar _image = __webpack_require__(72);\\n\\nvar _image2 = _interopRequireDefault(_image);\\n\\nvar _video = __webpack_require__(73);\\n\\nvar _video2 = _interopRequireDefault(_video);\\n\\nvar _code = __webpack_require__(13);\\n\\nvar _code2 = _interopRequireDefault(_code);\\n\\nvar _formula = __webpack_require__(74);\\n\\nvar _formula2 = _interopRequireDefault(_formula);\\n\\nvar _syntax = __webpack_require__(75);\\n\\nvar _syntax2 = _interopRequireDefault(_syntax);\\n\\nvar _toolbar = __webpack_require__(57);\\n\\nvar _toolbar2 = _interopRequireDefault(_toolbar);\\n\\nvar _icons = __webpack_require__(41);\\n\\nvar _icons2 = _interopRequireDefault(_icons);\\n\\nvar _picker = __webpack_require__(28);\\n\\nvar _picker2 = _interopRequireDefault(_picker);\\n\\nvar _colorPicker = __webpack_require__(59);\\n\\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\\n\\nvar _iconPicker = __webpack_require__(60);\\n\\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\\n\\nvar _tooltip = __webpack_require__(61);\\n\\nvar _tooltip2 = _interopRequireDefault(_tooltip);\\n\\nvar _bubble = __webpack_require__(108);\\n\\nvar _bubble2 = _interopRequireDefault(_bubble);\\n\\nvar _snow = __webpack_require__(62);\\n\\nvar _snow2 = _interopRequireDefault(_snow);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\n_core2.default.register({\\n  'attributors/attribute/direction': _direction.DirectionAttribute,\\n\\n  'attributors/class/align': _align.AlignClass,\\n  'attributors/class/background': _background.BackgroundClass,\\n  'attributors/class/color': _color.ColorClass,\\n  'attributors/class/direction': _direction.DirectionClass,\\n  'attributors/class/font': _font.FontClass,\\n  'attributors/class/size': _size.SizeClass,\\n\\n  'attributors/style/align': _align.AlignStyle,\\n  'attributors/style/background': _background.BackgroundStyle,\\n  'attributors/style/color': _color.ColorStyle,\\n  'attributors/style/direction': _direction.DirectionStyle,\\n  'attributors/style/font': _font.FontStyle,\\n  'attributors/style/size': _size.SizeStyle\\n}, true);\\n\\n_core2.default.register({\\n  'formats/align': _align.AlignClass,\\n  'formats/direction': _direction.DirectionClass,\\n  'formats/indent': _indent.IndentClass,\\n\\n  'formats/background': _background.BackgroundStyle,\\n  'formats/color': _color.ColorStyle,\\n  'formats/font': _font.FontClass,\\n  'formats/size': _size.SizeClass,\\n\\n  'formats/blockquote': _blockquote2.default,\\n  'formats/code-block': _code2.default,\\n  'formats/header': _header2.default,\\n  'formats/list': _list2.default,\\n\\n  'formats/bold': _bold2.default,\\n  'formats/code': _code.Code,\\n  'formats/italic': _italic2.default,\\n  'formats/link': _link2.default,\\n  'formats/script': _script2.default,\\n  'formats/strike': _strike2.default,\\n  'formats/underline': _underline2.default,\\n\\n  'formats/image': _image2.default,\\n  'formats/video': _video2.default,\\n\\n  'formats/list/item': _list.ListItem,\\n\\n  'modules/formula': _formula2.default,\\n  'modules/syntax': _syntax2.default,\\n  'modules/toolbar': _toolbar2.default,\\n\\n  'themes/bubble': _bubble2.default,\\n  'themes/snow': _snow2.default,\\n\\n  'ui/icons': _icons2.default,\\n  'ui/picker': _picker2.default,\\n  'ui/icon-picker': _iconPicker2.default,\\n  'ui/color-picker': _colorPicker2.default,\\n  'ui/tooltip': _tooltip2.default\\n}, true);\\n\\nexports.default = _core2.default;\\n\\n/***/ }),\\n/* 64 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.IndentClass = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar IdentAttributor = function (_Parchment$Attributor) {\\n  _inherits(IdentAttributor, _Parchment$Attributor);\\n\\n  function IdentAttributor() {\\n    _classCallCheck(this, IdentAttributor);\\n\\n    return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\\n  }\\n\\n  _createClass(IdentAttributor, [{\\n    key: 'add',\\n    value: function add(node, value) {\\n      if (value === '+1' || value === '-1') {\\n        var indent = this.value(node) || 0;\\n        value = value === '+1' ? indent + 1 : indent - 1;\\n      }\\n      if (value === 0) {\\n        this.remove(node);\\n        return true;\\n      } else {\\n        return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\\n      }\\n    }\\n  }, {\\n    key: 'canAdd',\\n    value: function canAdd(node, value) {\\n      return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\\n    }\\n  }, {\\n    key: 'value',\\n    value: function value(node) {\\n      return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\\n    }\\n  }]);\\n\\n  return IdentAttributor;\\n}(_parchment2.default.Attributor.Class);\\n\\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\\n  scope: _parchment2.default.Scope.BLOCK,\\n  whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\\n});\\n\\nexports.IndentClass = IndentClass;\\n\\n/***/ }),\\n/* 65 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Blockquote = function (_Block) {\\n  _inherits(Blockquote, _Block);\\n\\n  function Blockquote() {\\n    _classCallCheck(this, Blockquote);\\n\\n    return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\\n  }\\n\\n  return Blockquote;\\n}(_block2.default);\\n\\nBlockquote.blotName = 'blockquote';\\nBlockquote.tagName = 'blockquote';\\n\\nexports.default = Blockquote;\\n\\n/***/ }),\\n/* 66 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Header = function (_Block) {\\n  _inherits(Header, _Block);\\n\\n  function Header() {\\n    _classCallCheck(this, Header);\\n\\n    return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\\n  }\\n\\n  _createClass(Header, null, [{\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      return this.tagName.indexOf(domNode.tagName) + 1;\\n    }\\n  }]);\\n\\n  return Header;\\n}(_block2.default);\\n\\nHeader.blotName = 'header';\\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\\n\\nexports.default = Header;\\n\\n/***/ }),\\n/* 67 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.ListItem = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _block2 = _interopRequireDefault(_block);\\n\\nvar _container = __webpack_require__(25);\\n\\nvar _container2 = _interopRequireDefault(_container);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar ListItem = function (_Block) {\\n  _inherits(ListItem, _Block);\\n\\n  function ListItem() {\\n    _classCallCheck(this, ListItem);\\n\\n    return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\\n  }\\n\\n  _createClass(ListItem, [{\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (name === List.blotName && !value) {\\n        this.replaceWith(_parchment2.default.create(this.statics.scope));\\n      } else {\\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\\n      }\\n    }\\n  }, {\\n    key: 'remove',\\n    value: function remove() {\\n      if (this.prev == null && this.next == null) {\\n        this.parent.remove();\\n      } else {\\n        _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\\n      }\\n    }\\n  }, {\\n    key: 'replaceWith',\\n    value: function replaceWith(name, value) {\\n      this.parent.isolate(this.offset(this.parent), this.length());\\n      if (name === this.parent.statics.blotName) {\\n        this.parent.replaceWith(name, value);\\n        return this;\\n      } else {\\n        this.parent.unwrap();\\n        return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\\n      }\\n    }\\n  }], [{\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\\n    }\\n  }]);\\n\\n  return ListItem;\\n}(_block2.default);\\n\\nListItem.blotName = 'list-item';\\nListItem.tagName = 'LI';\\n\\nvar List = function (_Container) {\\n  _inherits(List, _Container);\\n\\n  _createClass(List, null, [{\\n    key: 'create',\\n    value: function create(value) {\\n      var tagName = value === 'ordered' ? 'OL' : 'UL';\\n      var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\\n      if (value === 'checked' || value === 'unchecked') {\\n        node.setAttribute('data-checked', value === 'checked');\\n      }\\n      return node;\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      if (domNode.tagName === 'OL') return 'ordered';\\n      if (domNode.tagName === 'UL') {\\n        if (domNode.hasAttribute('data-checked')) {\\n          return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\\n        } else {\\n          return 'bullet';\\n        }\\n      }\\n      return undefined;\\n    }\\n  }]);\\n\\n  function List(domNode) {\\n    _classCallCheck(this, List);\\n\\n    var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\\n\\n    var listEventHandler = function listEventHandler(e) {\\n      if (e.target.parentNode !== domNode) return;\\n      var format = _this2.statics.formats(domNode);\\n      var blot = _parchment2.default.find(e.target);\\n      if (format === 'checked') {\\n        blot.format('list', 'unchecked');\\n      } else if (format === 'unchecked') {\\n        blot.format('list', 'checked');\\n      }\\n    };\\n\\n    domNode.addEventListener('touchstart', listEventHandler);\\n    domNode.addEventListener('mousedown', listEventHandler);\\n    return _this2;\\n  }\\n\\n  _createClass(List, [{\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (this.children.length > 0) {\\n        this.children.tail.format(name, value);\\n      }\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats() {\\n      // We don't inherit from FormatBlot\\n      return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\\n    }\\n  }, {\\n    key: 'insertBefore',\\n    value: function insertBefore(blot, ref) {\\n      if (blot instanceof ListItem) {\\n        _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\\n      } else {\\n        var index = ref == null ? this.length() : ref.offset(this);\\n        var after = this.split(index);\\n        after.parent.insertBefore(blot, after);\\n      }\\n    }\\n  }, {\\n    key: 'optimize',\\n    value: function optimize(context) {\\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\\n      var next = this.next;\\n      if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\\n        next.moveChildren(this);\\n        next.remove();\\n      }\\n    }\\n  }, {\\n    key: 'replace',\\n    value: function replace(target) {\\n      if (target.statics.blotName !== this.statics.blotName) {\\n        var item = _parchment2.default.create(this.statics.defaultChild);\\n        target.moveChildren(item);\\n        this.appendChild(item);\\n      }\\n      _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\\n    }\\n  }]);\\n\\n  return List;\\n}(_container2.default);\\n\\nList.blotName = 'list';\\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\\nList.tagName = ['OL', 'UL'];\\nList.defaultChild = 'list-item';\\nList.allowedChildren = [ListItem];\\n\\nexports.ListItem = ListItem;\\nexports.default = List;\\n\\n/***/ }),\\n/* 68 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _bold = __webpack_require__(56);\\n\\nvar _bold2 = _interopRequireDefault(_bold);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Italic = function (_Bold) {\\n  _inherits(Italic, _Bold);\\n\\n  function Italic() {\\n    _classCallCheck(this, Italic);\\n\\n    return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\\n  }\\n\\n  return Italic;\\n}(_bold2.default);\\n\\nItalic.blotName = 'italic';\\nItalic.tagName = ['EM', 'I'];\\n\\nexports.default = Italic;\\n\\n/***/ }),\\n/* 69 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Script = function (_Inline) {\\n  _inherits(Script, _Inline);\\n\\n  function Script() {\\n    _classCallCheck(this, Script);\\n\\n    return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\\n  }\\n\\n  _createClass(Script, null, [{\\n    key: 'create',\\n    value: function create(value) {\\n      if (value === 'super') {\\n        return document.createElement('sup');\\n      } else if (value === 'sub') {\\n        return document.createElement('sub');\\n      } else {\\n        return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\\n      }\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      if (domNode.tagName === 'SUB') return 'sub';\\n      if (domNode.tagName === 'SUP') return 'super';\\n      return undefined;\\n    }\\n  }]);\\n\\n  return Script;\\n}(_inline2.default);\\n\\nScript.blotName = 'script';\\nScript.tagName = ['SUB', 'SUP'];\\n\\nexports.default = Script;\\n\\n/***/ }),\\n/* 70 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Strike = function (_Inline) {\\n  _inherits(Strike, _Inline);\\n\\n  function Strike() {\\n    _classCallCheck(this, Strike);\\n\\n    return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\\n  }\\n\\n  return Strike;\\n}(_inline2.default);\\n\\nStrike.blotName = 'strike';\\nStrike.tagName = 'S';\\n\\nexports.default = Strike;\\n\\n/***/ }),\\n/* 71 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _inline = __webpack_require__(6);\\n\\nvar _inline2 = _interopRequireDefault(_inline);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar Underline = function (_Inline) {\\n  _inherits(Underline, _Inline);\\n\\n  function Underline() {\\n    _classCallCheck(this, Underline);\\n\\n    return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\\n  }\\n\\n  return Underline;\\n}(_inline2.default);\\n\\nUnderline.blotName = 'underline';\\nUnderline.tagName = 'U';\\n\\nexports.default = Underline;\\n\\n/***/ }),\\n/* 72 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _link = __webpack_require__(27);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar ATTRIBUTES = ['alt', 'height', 'width'];\\n\\nvar Image = function (_Parchment$Embed) {\\n  _inherits(Image, _Parchment$Embed);\\n\\n  function Image() {\\n    _classCallCheck(this, Image);\\n\\n    return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\\n  }\\n\\n  _createClass(Image, [{\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (ATTRIBUTES.indexOf(name) > -1) {\\n        if (value) {\\n          this.domNode.setAttribute(name, value);\\n        } else {\\n          this.domNode.removeAttribute(name);\\n        }\\n      } else {\\n        _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\\n      }\\n    }\\n  }], [{\\n    key: 'create',\\n    value: function create(value) {\\n      var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\\n      if (typeof value === 'string') {\\n        node.setAttribute('src', this.sanitize(value));\\n      }\\n      return node;\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      return ATTRIBUTES.reduce(function (formats, attribute) {\\n        if (domNode.hasAttribute(attribute)) {\\n          formats[attribute] = domNode.getAttribute(attribute);\\n        }\\n        return formats;\\n      }, {});\\n    }\\n  }, {\\n    key: 'match',\\n    value: function match(url) {\\n      return (/\\\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\\\/.+;base64/.test(url)\\n      );\\n    }\\n  }, {\\n    key: 'sanitize',\\n    value: function sanitize(url) {\\n      return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\\n    }\\n  }, {\\n    key: 'value',\\n    value: function value(domNode) {\\n      return domNode.getAttribute('src');\\n    }\\n  }]);\\n\\n  return Image;\\n}(_parchment2.default.Embed);\\n\\nImage.blotName = 'image';\\nImage.tagName = 'IMG';\\n\\nexports.default = Image;\\n\\n/***/ }),\\n/* 73 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _block = __webpack_require__(4);\\n\\nvar _link = __webpack_require__(27);\\n\\nvar _link2 = _interopRequireDefault(_link);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar ATTRIBUTES = ['height', 'width'];\\n\\nvar Video = function (_BlockEmbed) {\\n  _inherits(Video, _BlockEmbed);\\n\\n  function Video() {\\n    _classCallCheck(this, Video);\\n\\n    return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\\n  }\\n\\n  _createClass(Video, [{\\n    key: 'format',\\n    value: function format(name, value) {\\n      if (ATTRIBUTES.indexOf(name) > -1) {\\n        if (value) {\\n          this.domNode.setAttribute(name, value);\\n        } else {\\n          this.domNode.removeAttribute(name);\\n        }\\n      } else {\\n        _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\\n      }\\n    }\\n  }], [{\\n    key: 'create',\\n    value: function create(value) {\\n      var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\\n      node.setAttribute('frameborder', '0');\\n      node.setAttribute('allowfullscreen', true);\\n      node.setAttribute('src', this.sanitize(value));\\n      return node;\\n    }\\n  }, {\\n    key: 'formats',\\n    value: function formats(domNode) {\\n      return ATTRIBUTES.reduce(function (formats, attribute) {\\n        if (domNode.hasAttribute(attribute)) {\\n          formats[attribute] = domNode.getAttribute(attribute);\\n        }\\n        return formats;\\n      }, {});\\n    }\\n  }, {\\n    key: 'sanitize',\\n    value: function sanitize(url) {\\n      return _link2.default.sanitize(url);\\n    }\\n  }, {\\n    key: 'value',\\n    value: function value(domNode) {\\n      return domNode.getAttribute('src');\\n    }\\n  }]);\\n\\n  return Video;\\n}(_block.BlockEmbed);\\n\\nVideo.blotName = 'video';\\nVideo.className = 'ql-video';\\nVideo.tagName = 'IFRAME';\\n\\nexports.default = Video;\\n\\n/***/ }),\\n/* 74 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.FormulaBlot = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _embed = __webpack_require__(35);\\n\\nvar _embed2 = _interopRequireDefault(_embed);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar FormulaBlot = function (_Embed) {\\n  _inherits(FormulaBlot, _Embed);\\n\\n  function FormulaBlot() {\\n    _classCallCheck(this, FormulaBlot);\\n\\n    return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\\n  }\\n\\n  _createClass(FormulaBlot, null, [{\\n    key: 'create',\\n    value: function create(value) {\\n      var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\\n      if (typeof value === 'string') {\\n        window.katex.render(value, node, {\\n          throwOnError: false,\\n          errorColor: '#f00'\\n        });\\n        node.setAttribute('data-value', value);\\n      }\\n      return node;\\n    }\\n  }, {\\n    key: 'value',\\n    value: function value(domNode) {\\n      return domNode.getAttribute('data-value');\\n    }\\n  }]);\\n\\n  return FormulaBlot;\\n}(_embed2.default);\\n\\nFormulaBlot.blotName = 'formula';\\nFormulaBlot.className = 'ql-formula';\\nFormulaBlot.tagName = 'SPAN';\\n\\nvar Formula = function (_Module) {\\n  _inherits(Formula, _Module);\\n\\n  _createClass(Formula, null, [{\\n    key: 'register',\\n    value: function register() {\\n      _quill2.default.register(FormulaBlot, true);\\n    }\\n  }]);\\n\\n  function Formula() {\\n    _classCallCheck(this, Formula);\\n\\n    var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\\n\\n    if (window.katex == null) {\\n      throw new Error('Formula module requires KaTeX.');\\n    }\\n    return _this2;\\n  }\\n\\n  return Formula;\\n}(_module2.default);\\n\\nexports.FormulaBlot = FormulaBlot;\\nexports.default = Formula;\\n\\n/***/ }),\\n/* 75 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _parchment = __webpack_require__(0);\\n\\nvar _parchment2 = _interopRequireDefault(_parchment);\\n\\nvar _quill = __webpack_require__(5);\\n\\nvar _quill2 = _interopRequireDefault(_quill);\\n\\nvar _module = __webpack_require__(9);\\n\\nvar _module2 = _interopRequireDefault(_module);\\n\\nvar _code = __webpack_require__(13);\\n\\nvar _code2 = _interopRequireDefault(_code);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar SyntaxCodeBlock = function (_CodeBlock) {\\n  _inherits(SyntaxCodeBlock, _CodeBlock);\\n\\n  function SyntaxCodeBlock() {\\n    _classCallCheck(this, SyntaxCodeBlock);\\n\\n    return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\\n  }\\n\\n  _createClass(SyntaxCodeBlock, [{\\n    key: 'replaceWith',\\n    value: function replaceWith(block) {\\n      this.domNode.textContent = this.domNode.textContent;\\n      this.attach();\\n      _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\\n    }\\n  }, {\\n    key: 'highlight',\\n    value: function highlight(_highlight) {\\n      var text = this.domNode.textContent;\\n      if (this.cachedText !== text) {\\n        if (text.trim().length > 0 || this.cachedText == null) {\\n          this.domNode.innerHTML = _highlight(text);\\n          this.domNode.normalize();\\n          this.attach();\\n        }\\n        this.cachedText = text;\\n      }\\n    }\\n  }]);\\n\\n  return SyntaxCodeBlock;\\n}(_code2.default);\\n\\nSyntaxCodeBlock.className = 'ql-syntax';\\n\\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\\n  scope: _parchment2.default.Scope.INLINE\\n});\\n\\nvar Syntax = function (_Module) {\\n  _inherits(Syntax, _Module);\\n\\n  _createClass(Syntax, null, [{\\n    key: 'register',\\n    value: function register() {\\n      _quill2.default.register(CodeToken, true);\\n      _quill2.default.register(SyntaxCodeBlock, true);\\n    }\\n  }]);\\n\\n  function Syntax(quill, options) {\\n    _classCallCheck(this, Syntax);\\n\\n    var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\\n\\n    if (typeof _this2.options.highlight !== 'function') {\\n      throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\\n    }\\n    var timer = null;\\n    _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\\n      clearTimeout(timer);\\n      timer = setTimeout(function () {\\n        _this2.highlight();\\n        timer = null;\\n      }, _this2.options.interval);\\n    });\\n    _this2.highlight();\\n    return _this2;\\n  }\\n\\n  _createClass(Syntax, [{\\n    key: 'highlight',\\n    value: function highlight() {\\n      var _this3 = this;\\n\\n      if (this.quill.selection.composing) return;\\n      this.quill.update(_quill2.default.sources.USER);\\n      var range = this.quill.getSelection();\\n      this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\\n        code.highlight(_this3.options.highlight);\\n      });\\n      this.quill.update(_quill2.default.sources.SILENT);\\n      if (range != null) {\\n        this.quill.setSelection(range, _quill2.default.sources.SILENT);\\n      }\\n    }\\n  }]);\\n\\n  return Syntax;\\n}(_module2.default);\\n\\nSyntax.DEFAULTS = {\\n  highlight: function () {\\n    if (window.hljs == null) return null;\\n    return function (text) {\\n      var result = window.hljs.highlightAuto(text);\\n      return result.value;\\n    };\\n  }(),\\n  interval: 1000\\n};\\n\\nexports.CodeBlock = SyntaxCodeBlock;\\nexports.CodeToken = CodeToken;\\nexports.default = Syntax;\\n\\n/***/ }),\\n/* 76 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>\\\";\\n\\n/***/ }),\\n/* 77 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>\\\";\\n\\n/***/ }),\\n/* 78 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>\\\";\\n\\n/***/ }),\\n/* 79 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>\\\";\\n\\n/***/ }),\\n/* 80 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <g class=\\\\\\\"ql-fill ql-color-label\\\\\\\"> <polygon points=\\\\\\\"6 6.868 6 6 5 6 5 7 5.942 7 6 6.868\\\\\\\"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points=\\\\\\\"6.817 5 6 5 6 6 6.38 6 6.817 5\\\\\\\"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points=\\\\\\\"4 11.439 4 11 3 11 3 12 3.755 12 4 11.439\\\\\\\"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points=\\\\\\\"4.63 10 4 10 4 11 4.192 11 4.63 10\\\\\\\"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <polygon points=\\\\\\\"13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174\\\\\\\"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points=\\\\\\\"12 6.868 12 6 11.62 6 12 6.868\\\\\\\"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points=\\\\\\\"12.933 9 13 9 13 8 12.495 8 12.933 9\\\\\\\"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points=\\\\\\\"5.5 13 9 5 12.5 13\\\\\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>\\\";\\n\\n/***/ }),\\n/* 81 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <rect class=\\\\\\\"ql-fill ql-stroke\\\\\\\" height=3 width=3 x=4 y=5></rect> <rect class=\\\\\\\"ql-fill ql-stroke\\\\\\\" height=3 width=3 x=11 y=5></rect> <path class=\\\\\\\"ql-even ql-fill ql-stroke\\\\\\\" d=M7,8c0,4.031-3,5-3,5></path> <path class=\\\\\\\"ql-even ql-fill ql-stroke\\\\\\\" d=M14,8c0,4.031-3,5-3,5></path> </svg>\\\";\\n\\n/***/ }),\\n/* 82 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-stroke d=M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z></path> <path class=ql-stroke d=M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z></path> </svg>\\\";\\n\\n/***/ }),\\n/* 83 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg class=\\\\\\\"\\\\\\\" viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line> <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>\\\";\\n\\n/***/ }),\\n/* 84 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=\\\\\\\"ql-color-label ql-stroke ql-transparent\\\\\\\" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points=\\\\\\\"5.5 11 9 3 12.5 11\\\\\\\"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>\\\";\\n\\n/***/ }),\\n/* 85 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <polygon class=\\\\\\\"ql-stroke ql-fill\\\\\\\" points=\\\\\\\"3 11 5 9 3 7 3 11\\\\\\\"></polygon> <line class=\\\\\\\"ql-stroke ql-fill\\\\\\\" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>\\\";\\n\\n/***/ }),\\n/* 86 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <polygon class=\\\\\\\"ql-stroke ql-fill\\\\\\\" points=\\\\\\\"15 12 13 10 15 8 15 12\\\\\\\"></polygon> <line class=\\\\\\\"ql-stroke ql-fill\\\\\\\" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>\\\";\\n\\n/***/ }),\\n/* 87 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>\\\";\\n\\n/***/ }),\\n/* 88 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>\\\";\\n\\n/***/ }),\\n/* 89 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>\\\";\\n\\n/***/ }),\\n/* 90 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform=\\\\\\\"translate(24 18) rotate(-180)\\\\\\\"/> </svg>\\\";\\n\\n/***/ }),\\n/* 91 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <path class=ql-fill d=M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z></path> </svg>\\\";\\n\\n/***/ }),\\n/* 92 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewBox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z /> </svg>\\\";\\n\\n/***/ }),\\n/* 93 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewBox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z /> </svg>\\\";\\n\\n/***/ }),\\n/* 94 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>\\\";\\n\\n/***/ }),\\n/* 95 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class=\\\\\\\"ql-even ql-fill\\\\\\\" points=\\\\\\\"5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12\\\\\\\"></polyline> </svg>\\\";\\n\\n/***/ }),\\n/* 96 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=\\\\\\\"ql-fill ql-stroke\\\\\\\" points=\\\\\\\"3 7 3 11 5 9 3 7\\\\\\\"></polyline> </svg>\\\";\\n\\n/***/ }),\\n/* 97 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\\\\\"5 7 5 11 3 9 5 7\\\\\\\"></polyline> </svg>\\\";\\n\\n/***/ }),\\n/* 98 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <path class=\\\\\\\"ql-even ql-stroke\\\\\\\" d=M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z></path> <path class=\\\\\\\"ql-even ql-stroke\\\\\\\" d=M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z></path> </svg>\\\";\\n\\n/***/ }),\\n/* 99 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class=\\\\\\\"ql-stroke ql-thin\\\\\\\" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <path class=ql-fill d=M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z></path> <path class=\\\\\\\"ql-stroke ql-thin\\\\\\\" d=M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156></path> <path class=\\\\\\\"ql-stroke ql-thin\\\\\\\" d=M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109></path> </svg>\\\";\\n\\n/***/ }),\\n/* 100 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>\\\";\\n\\n/***/ }),\\n/* 101 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg class=\\\\\\\"\\\\\\\" viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points=\\\\\\\"3 4 4 5 6 3\\\\\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points=\\\\\\\"3 14 4 15 6 13\\\\\\\"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points=\\\\\\\"3 9 4 10 6 8\\\\\\\"></polyline> </svg>\\\";\\n\\n/***/ }),\\n/* 102 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z /> <path class=ql-fill d=M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z /> </svg>\\\";\\n\\n/***/ }),\\n/* 103 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-fill d=M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z /> <path class=ql-fill d=M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z /> </svg>\\\";\\n\\n/***/ }),\\n/* 104 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <line class=\\\\\\\"ql-stroke ql-thin\\\\\\\" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <path class=ql-fill d=M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z></path> <path class=ql-fill d=M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z></path> </svg>\\\";\\n\\n/***/ }),\\n/* 105 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <path class=ql-stroke d=M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>\\\";\\n\\n/***/ }),\\n/* 106 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>\\\";\\n\\n/***/ }),\\n/* 107 */\\n/***/ (function(module, exports) {\\n\\nmodule.exports = \\\"<svg viewbox=\\\\\\\"0 0 18 18\\\\\\\"> <polygon class=ql-stroke points=\\\\\\\"7 11 9 13 11 11 7 11\\\\\\\"></polygon> <polygon class=ql-stroke points=\\\\\\\"7 7 9 5 11 7 7 7\\\\\\\"></polygon> </svg>\\\";\\n\\n/***/ }),\\n/* 108 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\n\\\"use strict\\\";\\n\\n\\nObject.defineProperty(exports, \\\"__esModule\\\", {\\n  value: true\\n});\\nexports.default = exports.BubbleTooltip = undefined;\\n\\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\\\"value\\\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\\n\\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\\\"value\\\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\\n\\nvar _extend = __webpack_require__(3);\\n\\nvar _extend2 = _interopRequireDefault(_extend);\\n\\nvar _emitter = __webpack_require__(8);\\n\\nvar _emitter2 = _interopRequireDefault(_emitter);\\n\\nvar _base = __webpack_require__(43);\\n\\nvar _base2 = _interopRequireDefault(_base);\\n\\nvar _selection = __webpack_require__(15);\\n\\nvar _icons = __webpack_require__(41);\\n\\nvar _icons2 = _interopRequireDefault(_icons);\\n\\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\\n\\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\\\"Cannot call a class as a function\\\"); } }\\n\\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\\\"this hasn't been initialised - super() hasn't been called\\\"); } return call && (typeof call === \\\"object\\\" || typeof call === \\\"function\\\") ? call : self; }\\n\\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \\\"function\\\" && superClass !== null) { throw new TypeError(\\\"Super expression must either be null or a function, not \\\" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\\n\\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\\n\\nvar BubbleTheme = function (_BaseTheme) {\\n  _inherits(BubbleTheme, _BaseTheme);\\n\\n  function BubbleTheme(quill, options) {\\n    _classCallCheck(this, BubbleTheme);\\n\\n    if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\\n      options.modules.toolbar.container = TOOLBAR_CONFIG;\\n    }\\n\\n    var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\\n\\n    _this.quill.container.classList.add('ql-bubble');\\n    return _this;\\n  }\\n\\n  _createClass(BubbleTheme, [{\\n    key: 'extendToolbar',\\n    value: function extendToolbar(toolbar) {\\n      this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\\n      this.tooltip.root.appendChild(toolbar.container);\\n      this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\\n      this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\\n    }\\n  }]);\\n\\n  return BubbleTheme;\\n}(_base2.default);\\n\\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\\n  modules: {\\n    toolbar: {\\n      handlers: {\\n        link: function link(value) {\\n          if (!value) {\\n            this.quill.format('link', false);\\n          } else {\\n            this.quill.theme.tooltip.edit();\\n          }\\n        }\\n      }\\n    }\\n  }\\n});\\n\\nvar BubbleTooltip = function (_BaseTooltip) {\\n  _inherits(BubbleTooltip, _BaseTooltip);\\n\\n  function BubbleTooltip(quill, bounds) {\\n    _classCallCheck(this, BubbleTooltip);\\n\\n    var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\\n\\n    _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\\n      if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\\n      if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\\n        _this2.show();\\n        // Lock our width so we will expand beyond our offsetParent boundaries\\n        _this2.root.style.left = '0px';\\n        _this2.root.style.width = '';\\n        _this2.root.style.width = _this2.root.offsetWidth + 'px';\\n        var lines = _this2.quill.getLines(range.index, range.length);\\n        if (lines.length === 1) {\\n          _this2.position(_this2.quill.getBounds(range));\\n        } else {\\n          var lastLine = lines[lines.length - 1];\\n          var index = _this2.quill.getIndex(lastLine);\\n          var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\\n          var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\\n          _this2.position(_bounds);\\n        }\\n      } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\\n        _this2.hide();\\n      }\\n    });\\n    return _this2;\\n  }\\n\\n  _createClass(BubbleTooltip, [{\\n    key: 'listen',\\n    value: function listen() {\\n      var _this3 = this;\\n\\n      _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\\n      this.root.querySelector('.ql-close').addEventListener('click', function () {\\n        _this3.root.classList.remove('ql-editing');\\n      });\\n      this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\\n        // Let selection be restored by toolbar handlers before repositioning\\n        setTimeout(function () {\\n          if (_this3.root.classList.contains('ql-hidden')) return;\\n          var range = _this3.quill.getSelection();\\n          if (range != null) {\\n            _this3.position(_this3.quill.getBounds(range));\\n          }\\n        }, 1);\\n      });\\n    }\\n  }, {\\n    key: 'cancel',\\n    value: function cancel() {\\n      this.show();\\n    }\\n  }, {\\n    key: 'position',\\n    value: function position(reference) {\\n      var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\\n      var arrow = this.root.querySelector('.ql-tooltip-arrow');\\n      arrow.style.marginLeft = '';\\n      if (shift === 0) return shift;\\n      arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\\n    }\\n  }]);\\n\\n  return BubbleTooltip;\\n}(_base.BaseTooltip);\\n\\nBubbleTooltip.TEMPLATE = ['<span class=\\\"ql-tooltip-arrow\\\"></span>', '<div class=\\\"ql-tooltip-editor\\\">', '<input type=\\\"text\\\" data-formula=\\\"e=mc^2\\\" data-link=\\\"https://quilljs.com\\\" data-video=\\\"Embed URL\\\">', '<a class=\\\"ql-close\\\"></a>', '</div>'].join('');\\n\\nexports.BubbleTooltip = BubbleTooltip;\\nexports.default = BubbleTheme;\\n\\n/***/ }),\\n/* 109 */\\n/***/ (function(module, exports, __webpack_require__) {\\n\\nmodule.exports = __webpack_require__(63);\\n\\n\\n/***/ })\\n/******/ ])[\\\"default\\\"];\\n});\"},function(t,e,l){\"use strict\";(function(t){l(86);t.fn.select2.defaults.set(\"theme\",\"bootstrap4\")}).call(this,l(1))},function(t,e,l){(function(n){var i,a,r;/*! Select2 4.0.6-rc.1 | https://github.com/select2/select2/blob/master/LICENSE.md */a=[l(1)],void 0===(r=\"function\"==typeof(i=function(t){var e=function(){if(t&&t.fn&&t.fn.select2&&t.fn.select2.amd)var e=t.fn.select2.amd;return function(){var t,l,n;e&&e.requirejs||(e?l=e:e={},function(e){function i(t,e){return x.call(t,e)}function a(t,e){var l,n,i,a,r,o,s,c,u,d,h,f,p=e&&e.split(\"/\"),g=v.map,m=g&&g[\"*\"]||{};if(t){for(t=t.split(\"/\"),r=t.length-1,v.nodeIdCompat&&w.test(t[r])&&(t[r]=t[r].replace(w,\"\")),\".\"===t[0].charAt(0)&&p&&(f=p.slice(0,p.length-1),t=f.concat(t)),u=0;u<t.length;u++)if(\".\"===(h=t[u]))t.splice(u,1),u-=1;else if(\"..\"===h){if(0===u||1===u&&\"..\"===t[2]||\"..\"===t[u-1])continue;u>0&&(t.splice(u-1,2),u-=2)}t=t.join(\"/\")}if((p||m)&&g){for(l=t.split(\"/\"),u=l.length;u>0;u-=1){if(n=l.slice(0,u).join(\"/\"),p)for(d=p.length;d>0;d-=1)if((i=g[p.slice(0,d).join(\"/\")])&&(i=i[n])){a=i,o=u;break}if(a)break;!s&&m&&m[n]&&(s=m[n],c=u)}!a&&s&&(a=s,o=c),a&&(l.splice(0,o,a),t=l.join(\"/\"))}return t}function r(t,l){return function(){var n=_.call(arguments,0);return\"string\"!=typeof n[0]&&1===n.length&&n.push(null),f.apply(e,n.concat([t,l]))}}function o(t){return function(e){m[t]=e}}function s(t){if(i(b,t)){var l=b[t];delete b[t],y[t]=!0,h.apply(e,l)}if(!i(m,t)&&!i(y,t))throw new Error(\"No \"+t);return m[t]}function c(t){var e,l=t?t.indexOf(\"!\"):-1;return l>-1&&(e=t.substring(0,l),t=t.substring(l+1,t.length)),[e,t]}function u(t){return t?c(t):[]}function d(t){return function(){return v&&v.config&&v.config[t]||{}}}var h,f,p,g,m={},b={},v={},y={},x=Object.prototype.hasOwnProperty,_=[].slice,w=/\\.js$/;p=function(t,e){var l,n=c(t),i=n[0],r=e[1];return t=n[1],i&&(i=a(i,r),l=s(i)),i?t=l&&l.normalize?l.normalize(t,function(t){return function(e){return a(e,t)}}(r)):a(t,r):(t=a(t,r),n=c(t),i=n[0],t=n[1],i&&(l=s(i))),{f:i?i+\"!\"+t:t,n:t,pr:i,p:l}},g={require:function(t){return r(t)},exports:function(t){var e=m[t];return void 0!==e?e:m[t]={}},module:function(t){return{id:t,uri:\"\",exports:m[t],config:d(t)}}},h=function(t,l,n,a){var c,d,h,f,v,x,_,w=[],S=typeof n;if(x=u(a=a||t),\"undefined\"===S||\"function\"===S){for(l=!l.length&&n.length?[\"require\",\"exports\",\"module\"]:l,v=0;v<l.length;v+=1)if(f=p(l[v],x),\"require\"===(d=f.f))w[v]=g.require(t);else if(\"exports\"===d)w[v]=g.exports(t),_=!0;else if(\"module\"===d)c=w[v]=g.module(t);else if(i(m,d)||i(b,d)||i(y,d))w[v]=s(d);else{if(!f.p)throw new Error(t+\" missing \"+d);f.p.load(f.n,r(a,!0),o(d),{}),w[v]=m[d]}h=n?n.apply(m[t],w):void 0,t&&(c&&c.exports!==e&&c.exports!==m[t]?m[t]=c.exports:h===e&&_||(m[t]=h))}else t&&(m[t]=n)},t=l=f=function(t,l,n,i,a){if(\"string\"==typeof t)return g[t]?g[t](l):s(p(t,u(l)).f);if(!t.splice){if((v=t).deps&&f(v.deps,v.callback),!l)return;l.splice?(t=l,l=n,n=null):t=e}return l=l||function(){},\"function\"==typeof n&&(n=i,i=a),i?h(e,t,l,n):setTimeout(function(){h(e,t,l,n)},4),f},f.config=function(t){return f(t)},t._defined=m,(n=function(t,e,l){if(\"string\"!=typeof t)throw new Error(\"See almond README: incorrect module build, no module name\");e.splice||(l=e,e=[]),i(m,t)||i(b,t)||(b[t]=[t,e,l])}).amd={jQuery:!0}}(),e.requirejs=t,e.require=l,e.define=n)}(),e.define(\"almond\",function(){}),e.define(\"jquery\",[],function(){var e=t||n;return null==e&&console&&console.error&&console.error(\"Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page.\"),e}),e.define(\"select2/utils\",[\"jquery\"],function(t){function e(t){var e=t.prototype,l=[];for(var n in e)\"function\"==typeof e[n]&&\"constructor\"!==n&&l.push(n);return l}var l={Extend:function(t,e){function l(){this.constructor=t}var n={}.hasOwnProperty;for(var i in e)n.call(e,i)&&(t[i]=e[i]);return l.prototype=e.prototype,t.prototype=new l,t.__super__=e.prototype,t},Decorate:function(t,l){function n(){var e=Array.prototype.unshift,n=l.prototype.constructor.length,i=t.prototype.constructor;n>0&&(e.call(arguments,t.prototype.constructor),i=l.prototype.constructor),i.apply(this,arguments)}var i=e(l),a=e(t);l.displayName=t.displayName,n.prototype=new function(){this.constructor=n};for(var r=0;r<a.length;r++){var o=a[r];n.prototype[o]=t.prototype[o]}for(var s=function(t){var e=function(){};t in n.prototype&&(e=n.prototype[t]);var i=l.prototype[t];return function(){return Array.prototype.unshift.call(arguments,e),i.apply(this,arguments)}},c=0;c<i.length;c++){var u=i[c];n.prototype[u]=s(u)}return n}},n=function(){this.listeners={}};n.prototype.on=function(t,e){this.listeners=this.listeners||{},t in this.listeners?this.listeners[t].push(e):this.listeners[t]=[e]},n.prototype.trigger=function(t){var e=Array.prototype.slice,l=e.call(arguments,1);this.listeners=this.listeners||{},null==l&&(l=[]),0===l.length&&l.push({}),l[0]._type=t,t in this.listeners&&this.invoke(this.listeners[t],e.call(arguments,1)),\"*\"in this.listeners&&this.invoke(this.listeners[\"*\"],arguments)},n.prototype.invoke=function(t,e){for(var l=0,n=t.length;l<n;l++)t[l].apply(this,e)},l.Observable=n,l.generateChars=function(t){for(var e=\"\",l=0;l<t;l++)e+=Math.floor(36*Math.random()).toString(36);return e},l.bind=function(t,e){return function(){t.apply(e,arguments)}},l._convertData=function(t){for(var e in t){var l=e.split(\"-\"),n=t;if(1!==l.length){for(var i=0;i<l.length;i++){var a=l[i];(a=a.substring(0,1).toLowerCase()+a.substring(1))in n||(n[a]={}),i==l.length-1&&(n[a]=t[e]),n=n[a]}delete t[e]}}return t},l.hasScroll=function(e,l){var n=t(l),i=l.style.overflowX,a=l.style.overflowY;return(i!==a||\"hidden\"!==a&&\"visible\"!==a)&&(\"scroll\"===i||\"scroll\"===a||n.innerHeight()<l.scrollHeight||n.innerWidth()<l.scrollWidth)},l.escapeMarkup=function(t){var e={\"\\\\\":\"&#92;\",\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"/\":\"&#47;\"};return\"string\"!=typeof t?t:String(t).replace(/[&<>\"'\\/\\\\]/g,function(t){return e[t]})},l.appendMany=function(e,l){if(\"1.7\"===t.fn.jquery.substr(0,3)){var n=t();t.map(l,function(t){n=n.add(t)}),l=n}e.append(l)},l.__cache={};var i=0;return l.GetUniqueElementId=function(t){var e=t.getAttribute(\"data-select2-id\");return null==e&&(t.id?(e=t.id,t.setAttribute(\"data-select2-id\",e)):(t.setAttribute(\"data-select2-id\",++i),e=i.toString())),e},l.StoreData=function(t,e,n){var i=l.GetUniqueElementId(t);l.__cache[i]||(l.__cache[i]={}),l.__cache[i][e]=n},l.GetData=function(e,n){var i=l.GetUniqueElementId(e);return n?l.__cache[i]&&null!=l.__cache[i][n]?l.__cache[i][n]:t(e).data(n):l.__cache[i]},l.RemoveData=function(t){var e=l.GetUniqueElementId(t);null!=l.__cache[e]&&delete l.__cache[e]},l}),e.define(\"select2/results\",[\"jquery\",\"./utils\"],function(t,e){function l(t,e,n){this.$element=t,this.data=n,this.options=e,l.__super__.constructor.call(this)}return e.Extend(l,e.Observable),l.prototype.render=function(){var e=t('<ul class=\"select2-results__options\" role=\"tree\"></ul>');return this.options.get(\"multiple\")&&e.attr(\"aria-multiselectable\",\"true\"),this.$results=e,e},l.prototype.clear=function(){this.$results.empty()},l.prototype.displayMessage=function(e){var l=this.options.get(\"escapeMarkup\");this.clear(),this.hideLoading();var n=t('<li role=\"treeitem\" aria-live=\"assertive\" class=\"select2-results__option\"></li>'),i=this.options.get(\"translations\").get(e.message);n.append(l(i(e.args))),n[0].className+=\" select2-results__message\",this.$results.append(n)},l.prototype.hideMessages=function(){this.$results.find(\".select2-results__message\").remove()},l.prototype.append=function(t){this.hideLoading();var e=[];if(null!=t.results&&0!==t.results.length){t.results=this.sort(t.results);for(var l=0;l<t.results.length;l++){var n=t.results[l],i=this.option(n);e.push(i)}this.$results.append(e)}else 0===this.$results.children().length&&this.trigger(\"results:message\",{message:\"noResults\"})},l.prototype.position=function(t,e){e.find(\".select2-results\").append(t)},l.prototype.sort=function(t){return this.options.get(\"sorter\")(t)},l.prototype.highlightFirstItem=function(){var t=this.$results.find(\".select2-results__option[aria-selected]\"),e=t.filter(\"[aria-selected=true]\");e.length>0?e.first().trigger(\"mouseenter\"):t.first().trigger(\"mouseenter\"),this.ensureHighlightVisible()},l.prototype.setClasses=function(){var l=this;this.data.current(function(n){var i=t.map(n,function(t){return t.id.toString()});l.$results.find(\".select2-results__option[aria-selected]\").each(function(){var l=t(this),n=e.GetData(this,\"data\"),a=\"\"+n.id;null!=n.element&&n.element.selected||null==n.element&&t.inArray(a,i)>-1?l.attr(\"aria-selected\",\"true\"):l.attr(\"aria-selected\",\"false\")})})},l.prototype.showLoading=function(t){this.hideLoading();var e=this.options.get(\"translations\").get(\"searching\"),l={disabled:!0,loading:!0,text:e(t)},n=this.option(l);n.className+=\" loading-results\",this.$results.prepend(n)},l.prototype.hideLoading=function(){this.$results.find(\".loading-results\").remove()},l.prototype.option=function(l){var n=document.createElement(\"li\");n.className=\"select2-results__option\";var i={role:\"treeitem\",\"aria-selected\":\"false\"};for(var a in l.disabled&&(delete i[\"aria-selected\"],i[\"aria-disabled\"]=\"true\"),null==l.id&&delete i[\"aria-selected\"],null!=l._resultId&&(n.id=l._resultId),l.title&&(n.title=l.title),l.children&&(i.role=\"group\",i[\"aria-label\"]=l.text,delete i[\"aria-selected\"]),i){var r=i[a];n.setAttribute(a,r)}if(l.children){var o=t(n),s=document.createElement(\"strong\");s.className=\"select2-results__group\",t(s),this.template(l,s);for(var c=[],u=0;u<l.children.length;u++){var d=l.children[u],h=this.option(d);c.push(h)}var f=t(\"<ul></ul>\",{class:\"select2-results__options select2-results__options--nested\"});f.append(c),o.append(s),o.append(f)}else this.template(l,n);return e.StoreData(n,\"data\",l),n},l.prototype.bind=function(l,n){var i=this,a=l.id+\"-results\";this.$results.attr(\"id\",a),l.on(\"results:all\",function(t){i.clear(),i.append(t.data),l.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),l.on(\"results:append\",function(t){i.append(t.data),l.isOpen()&&i.setClasses()}),l.on(\"query\",function(t){i.hideMessages(),i.showLoading(t)}),l.on(\"select\",function(){l.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),l.on(\"unselect\",function(){l.isOpen()&&(i.setClasses(),i.highlightFirstItem())}),l.on(\"open\",function(){i.$results.attr(\"aria-expanded\",\"true\"),i.$results.attr(\"aria-hidden\",\"false\"),i.setClasses(),i.ensureHighlightVisible()}),l.on(\"close\",function(){i.$results.attr(\"aria-expanded\",\"false\"),i.$results.attr(\"aria-hidden\",\"true\"),i.$results.removeAttr(\"aria-activedescendant\")}),l.on(\"results:toggle\",function(){var t=i.getHighlightedResults();0!==t.length&&t.trigger(\"mouseup\")}),l.on(\"results:select\",function(){var t=i.getHighlightedResults();if(0!==t.length){var l=e.GetData(t[0],\"data\");\"true\"==t.attr(\"aria-selected\")?i.trigger(\"close\",{}):i.trigger(\"select\",{data:l})}}),l.on(\"results:previous\",function(){var t=i.getHighlightedResults(),e=i.$results.find(\"[aria-selected]\"),l=e.index(t);if(!(l<=0)){var n=l-1;0===t.length&&(n=0);var a=e.eq(n);a.trigger(\"mouseenter\");var r=i.$results.offset().top,o=a.offset().top,s=i.$results.scrollTop()+(o-r);0===n?i.$results.scrollTop(0):o-r<0&&i.$results.scrollTop(s)}}),l.on(\"results:next\",function(){var t=i.getHighlightedResults(),e=i.$results.find(\"[aria-selected]\"),l=e.index(t),n=l+1;if(!(n>=e.length)){var a=e.eq(n);a.trigger(\"mouseenter\");var r=i.$results.offset().top+i.$results.outerHeight(!1),o=a.offset().top+a.outerHeight(!1),s=i.$results.scrollTop()+o-r;0===n?i.$results.scrollTop(0):o>r&&i.$results.scrollTop(s)}}),l.on(\"results:focus\",function(t){t.element.addClass(\"select2-results__option--highlighted\")}),l.on(\"results:message\",function(t){i.displayMessage(t)}),t.fn.mousewheel&&this.$results.on(\"mousewheel\",function(t){var e=i.$results.scrollTop(),l=i.$results.get(0).scrollHeight-e+t.deltaY,n=t.deltaY>0&&e-t.deltaY<=0,a=t.deltaY<0&&l<=i.$results.height();n?(i.$results.scrollTop(0),t.preventDefault(),t.stopPropagation()):a&&(i.$results.scrollTop(i.$results.get(0).scrollHeight-i.$results.height()),t.preventDefault(),t.stopPropagation())}),this.$results.on(\"mouseup\",\".select2-results__option[aria-selected]\",function(l){var n=t(this),a=e.GetData(this,\"data\");\"true\"!==n.attr(\"aria-selected\")?i.trigger(\"select\",{originalEvent:l,data:a}):i.options.get(\"multiple\")?i.trigger(\"unselect\",{originalEvent:l,data:a}):i.trigger(\"close\",{})}),this.$results.on(\"mouseenter\",\".select2-results__option[aria-selected]\",function(l){var n=e.GetData(this,\"data\");i.getHighlightedResults().removeClass(\"select2-results__option--highlighted\"),i.trigger(\"results:focus\",{data:n,element:t(this)})})},l.prototype.getHighlightedResults=function(){return this.$results.find(\".select2-results__option--highlighted\")},l.prototype.destroy=function(){this.$results.remove()},l.prototype.ensureHighlightVisible=function(){var t=this.getHighlightedResults();if(0!==t.length){var e=this.$results.find(\"[aria-selected]\"),l=e.index(t),n=this.$results.offset().top,i=t.offset().top,a=this.$results.scrollTop()+(i-n),r=i-n;a-=2*t.outerHeight(!1),l<=2?this.$results.scrollTop(0):(r>this.$results.outerHeight()||r<0)&&this.$results.scrollTop(a)}},l.prototype.template=function(e,l){var n=this.options.get(\"templateResult\"),i=this.options.get(\"escapeMarkup\"),a=n(e,l);null==a?l.style.display=\"none\":\"string\"==typeof a?l.innerHTML=i(a):t(l).append(a)},l}),e.define(\"select2/keys\",[],function(){return{BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46}}),e.define(\"select2/selection/base\",[\"jquery\",\"../utils\",\"../keys\"],function(t,e,l){function n(t,e){this.$element=t,this.options=e,n.__super__.constructor.call(this)}return e.Extend(n,e.Observable),n.prototype.render=function(){var l=t('<span class=\"select2-selection\" role=\"combobox\"  aria-haspopup=\"true\" aria-expanded=\"false\"></span>');return this._tabindex=0,null!=e.GetData(this.$element[0],\"old-tabindex\")?this._tabindex=e.GetData(this.$element[0],\"old-tabindex\"):null!=this.$element.attr(\"tabindex\")&&(this._tabindex=this.$element.attr(\"tabindex\")),l.attr(\"title\",this.$element.attr(\"title\")),l.attr(\"tabindex\",this._tabindex),this.$selection=l,l},n.prototype.bind=function(t,e){var n=this,i=(t.id,t.id+\"-results\");this.container=t,this.$selection.on(\"focus\",function(t){n.trigger(\"focus\",t)}),this.$selection.on(\"blur\",function(t){n._handleBlur(t)}),this.$selection.on(\"keydown\",function(t){n.trigger(\"keypress\",t),t.which===l.SPACE&&t.preventDefault()}),t.on(\"results:focus\",function(t){n.$selection.attr(\"aria-activedescendant\",t.data._resultId)}),t.on(\"selection:update\",function(t){n.update(t.data)}),t.on(\"open\",function(){n.$selection.attr(\"aria-expanded\",\"true\"),n.$selection.attr(\"aria-owns\",i),n._attachCloseHandler(t)}),t.on(\"close\",function(){n.$selection.attr(\"aria-expanded\",\"false\"),n.$selection.removeAttr(\"aria-activedescendant\"),n.$selection.removeAttr(\"aria-owns\"),n.$selection.focus(),window.setTimeout(function(){n.$selection.focus()},0),n._detachCloseHandler(t)}),t.on(\"enable\",function(){n.$selection.attr(\"tabindex\",n._tabindex)}),t.on(\"disable\",function(){n.$selection.attr(\"tabindex\",\"-1\")})},n.prototype._handleBlur=function(e){var l=this;window.setTimeout(function(){document.activeElement==l.$selection[0]||t.contains(l.$selection[0],document.activeElement)||l.trigger(\"blur\",e)},1)},n.prototype._attachCloseHandler=function(l){t(document.body).on(\"mousedown.select2.\"+l.id,function(l){var n=t(l.target),i=n.closest(\".select2\");t(\".select2.select2-container--open\").each(function(){t(this),this!=i[0]&&e.GetData(this,\"element\").select2(\"close\")})})},n.prototype._detachCloseHandler=function(e){t(document.body).off(\"mousedown.select2.\"+e.id)},n.prototype.position=function(t,e){e.find(\".selection\").append(t)},n.prototype.destroy=function(){this._detachCloseHandler(this.container)},n.prototype.update=function(t){throw new Error(\"The `update` method must be defined in child classes.\")},n}),e.define(\"select2/selection/single\",[\"jquery\",\"./base\",\"../utils\",\"../keys\"],function(t,e,l,n){function i(){i.__super__.constructor.apply(this,arguments)}return l.Extend(i,e),i.prototype.render=function(){var t=i.__super__.render.call(this);return t.addClass(\"select2-selection--single\"),t.html('<span class=\"select2-selection__rendered\"></span><span class=\"select2-selection__arrow\" role=\"presentation\"><b role=\"presentation\"></b></span>'),t},i.prototype.bind=function(t,e){var l=this;i.__super__.bind.apply(this,arguments);var n=t.id+\"-container\";this.$selection.find(\".select2-selection__rendered\").attr(\"id\",n).attr(\"role\",\"textbox\").attr(\"aria-readonly\",\"true\"),this.$selection.attr(\"aria-labelledby\",n),this.$selection.on(\"mousedown\",function(t){1===t.which&&l.trigger(\"toggle\",{originalEvent:t})}),this.$selection.on(\"focus\",function(t){}),this.$selection.on(\"blur\",function(t){}),t.on(\"focus\",function(e){t.isOpen()||l.$selection.focus()})},i.prototype.clear=function(){var t=this.$selection.find(\".select2-selection__rendered\");t.empty(),t.removeAttr(\"title\")},i.prototype.display=function(t,e){var l=this.options.get(\"templateSelection\");return this.options.get(\"escapeMarkup\")(l(t,e))},i.prototype.selectionContainer=function(){return t(\"<span></span>\")},i.prototype.update=function(t){if(0!==t.length){var e=t[0],l=this.$selection.find(\".select2-selection__rendered\"),n=this.display(e,l);l.empty().append(n),l.attr(\"title\",e.title||e.text)}else this.clear()},i}),e.define(\"select2/selection/multiple\",[\"jquery\",\"./base\",\"../utils\"],function(t,e,l){function n(t,e){n.__super__.constructor.apply(this,arguments)}return l.Extend(n,e),n.prototype.render=function(){var t=n.__super__.render.call(this);return t.addClass(\"select2-selection--multiple\"),t.html('<ul class=\"select2-selection__rendered\"></ul>'),t},n.prototype.bind=function(e,i){var a=this;n.__super__.bind.apply(this,arguments),this.$selection.on(\"click\",function(t){a.trigger(\"toggle\",{originalEvent:t})}),this.$selection.on(\"click\",\".select2-selection__choice__remove\",function(e){if(!a.options.get(\"disabled\")){var n=t(this),i=n.parent(),r=l.GetData(i[0],\"data\");a.trigger(\"unselect\",{originalEvent:e,data:r})}})},n.prototype.clear=function(){var t=this.$selection.find(\".select2-selection__rendered\");t.empty(),t.removeAttr(\"title\")},n.prototype.display=function(t,e){var l=this.options.get(\"templateSelection\");return this.options.get(\"escapeMarkup\")(l(t,e))},n.prototype.selectionContainer=function(){return t('<li class=\"select2-selection__choice\"><span class=\"select2-selection__choice__remove\" role=\"presentation\">&times;</span></li>')},n.prototype.update=function(t){if(this.clear(),0!==t.length){for(var e=[],n=0;n<t.length;n++){var i=t[n],a=this.selectionContainer(),r=this.display(i,a);a.append(r),a.attr(\"title\",i.title||i.text),l.StoreData(a[0],\"data\",i),e.push(a)}var o=this.$selection.find(\".select2-selection__rendered\");l.appendMany(o,e)}},n}),e.define(\"select2/selection/placeholder\",[\"../utils\"],function(t){function e(t,e,l){this.placeholder=this.normalizePlaceholder(l.get(\"placeholder\")),t.call(this,e,l)}return e.prototype.normalizePlaceholder=function(t,e){return\"string\"==typeof e&&(e={id:\"\",text:e}),e},e.prototype.createPlaceholder=function(t,e){var l=this.selectionContainer();return l.html(this.display(e)),l.addClass(\"select2-selection__placeholder\").removeClass(\"select2-selection__choice\"),l},e.prototype.update=function(t,e){var l=1==e.length&&e[0].id!=this.placeholder.id;if(e.length>1||l)return t.call(this,e);this.clear();var n=this.createPlaceholder(this.placeholder);this.$selection.find(\".select2-selection__rendered\").append(n)},e}),e.define(\"select2/selection/allowClear\",[\"jquery\",\"../keys\",\"../utils\"],function(t,e,l){function n(){}return n.prototype.bind=function(t,e,l){var n=this;t.call(this,e,l),null==this.placeholder&&this.options.get(\"debug\")&&window.console&&console.error&&console.error(\"Select2: The `allowClear` option should be used in combination with the `placeholder` option.\"),this.$selection.on(\"mousedown\",\".select2-selection__clear\",function(t){n._handleClear(t)}),e.on(\"keypress\",function(t){n._handleKeyboardClear(t,e)})},n.prototype._handleClear=function(t,e){if(!this.options.get(\"disabled\")){var n=this.$selection.find(\".select2-selection__clear\");if(0!==n.length){e.stopPropagation();var i=l.GetData(n[0],\"data\"),a=this.$element.val();this.$element.val(this.placeholder.id);var r={data:i};if(this.trigger(\"clear\",r),r.prevented)return void this.$element.val(a);for(var o=0;o<i.length;o++)if(r={data:i[o]},this.trigger(\"unselect\",r),r.prevented)return void this.$element.val(a);this.$element.trigger(\"change\"),this.trigger(\"toggle\",{})}}},n.prototype._handleKeyboardClear=function(t,l,n){n.isOpen()||l.which!=e.DELETE&&l.which!=e.BACKSPACE||this._handleClear(l)},n.prototype.update=function(e,n){if(e.call(this,n),!(this.$selection.find(\".select2-selection__placeholder\").length>0||0===n.length)){var i=t('<span class=\"select2-selection__clear\">&times;</span>');l.StoreData(i[0],\"data\",n),this.$selection.find(\".select2-selection__rendered\").prepend(i)}},n}),e.define(\"select2/selection/search\",[\"jquery\",\"../utils\",\"../keys\"],function(t,e,l){function n(t,e,l){t.call(this,e,l)}return n.prototype.render=function(e){var l=t('<li class=\"select2-search select2-search--inline\"><input class=\"select2-search__field\" type=\"search\" tabindex=\"-1\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"none\" spellcheck=\"false\" role=\"textbox\" aria-autocomplete=\"list\" /></li>');this.$searchContainer=l,this.$search=l.find(\"input\");var n=e.call(this);return this._transferTabIndex(),n},n.prototype.bind=function(t,n,i){var a=this;t.call(this,n,i),n.on(\"open\",function(){a.$search.trigger(\"focus\")}),n.on(\"close\",function(){a.$search.val(\"\"),a.$search.removeAttr(\"aria-activedescendant\"),a.$search.trigger(\"focus\")}),n.on(\"enable\",function(){a.$search.prop(\"disabled\",!1),a._transferTabIndex()}),n.on(\"disable\",function(){a.$search.prop(\"disabled\",!0)}),n.on(\"focus\",function(t){a.$search.trigger(\"focus\")}),n.on(\"results:focus\",function(t){a.$search.attr(\"aria-activedescendant\",t.id)}),this.$selection.on(\"focusin\",\".select2-search--inline\",function(t){a.trigger(\"focus\",t)}),this.$selection.on(\"focusout\",\".select2-search--inline\",function(t){a._handleBlur(t)}),this.$selection.on(\"keydown\",\".select2-search--inline\",function(t){if(t.stopPropagation(),a.trigger(\"keypress\",t),a._keyUpPrevented=t.isDefaultPrevented(),t.which===l.BACKSPACE&&\"\"===a.$search.val()){var n=a.$searchContainer.prev(\".select2-selection__choice\");if(n.length>0){var i=e.GetData(n[0],\"data\");a.searchRemoveChoice(i),t.preventDefault()}}});var r=document.documentMode,o=r&&r<=11;this.$selection.on(\"input.searchcheck\",\".select2-search--inline\",function(t){o?a.$selection.off(\"input.search input.searchcheck\"):a.$selection.off(\"keyup.search\")}),this.$selection.on(\"keyup.search input.search\",\".select2-search--inline\",function(t){if(o&&\"input\"===t.type)a.$selection.off(\"input.search input.searchcheck\");else{var e=t.which;e!=l.SHIFT&&e!=l.CTRL&&e!=l.ALT&&e!=l.TAB&&a.handleSearch(t)}})},n.prototype._transferTabIndex=function(t){this.$search.attr(\"tabindex\",this.$selection.attr(\"tabindex\")),this.$selection.attr(\"tabindex\",\"-1\")},n.prototype.createPlaceholder=function(t,e){this.$search.attr(\"placeholder\",e.text)},n.prototype.update=function(t,e){var l=this.$search[0]==document.activeElement;this.$search.attr(\"placeholder\",\"\"),t.call(this,e),this.$selection.find(\".select2-selection__rendered\").append(this.$searchContainer),this.resizeSearch(),l&&(this.$element.find(\"[data-select2-tag]\").length?this.$element.focus():this.$search.focus())},n.prototype.handleSearch=function(){if(this.resizeSearch(),!this._keyUpPrevented){var t=this.$search.val();this.trigger(\"query\",{term:t})}this._keyUpPrevented=!1},n.prototype.searchRemoveChoice=function(t,e){this.trigger(\"unselect\",{data:e}),this.$search.val(e.text),this.handleSearch()},n.prototype.resizeSearch=function(){this.$search.css(\"width\",\"25px\");var t=\"\";t=\"\"!==this.$search.attr(\"placeholder\")?this.$selection.find(\".select2-selection__rendered\").innerWidth():.75*(this.$search.val().length+1)+\"em\",this.$search.css(\"width\",t)},n}),e.define(\"select2/selection/eventRelay\",[\"jquery\"],function(t){function e(){}return e.prototype.bind=function(e,l,n){var i=this,a=[\"open\",\"opening\",\"close\",\"closing\",\"select\",\"selecting\",\"unselect\",\"unselecting\",\"clear\",\"clearing\"],r=[\"opening\",\"closing\",\"selecting\",\"unselecting\",\"clearing\"];e.call(this,l,n),l.on(\"*\",function(e,l){if(-1!==t.inArray(e,a)){l=l||{};var n=t.Event(\"select2:\"+e,{params:l});i.$element.trigger(n),-1!==t.inArray(e,r)&&(l.prevented=n.isDefaultPrevented())}})},e}),e.define(\"select2/translation\",[\"jquery\",\"require\"],function(t,e){function l(t){this.dict=t||{}}return l.prototype.all=function(){return this.dict},l.prototype.get=function(t){return this.dict[t]},l.prototype.extend=function(e){this.dict=t.extend({},e.all(),this.dict)},l._cache={},l.loadPath=function(t){if(!(t in l._cache)){var n=e(t);l._cache[t]=n}return new l(l._cache[t])},l}),e.define(\"select2/diacritics\",[],function(){return{\"Ⓐ\":\"A\",\"Ａ\":\"A\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ầ\":\"A\",\"Ấ\":\"A\",\"Ẫ\":\"A\",\"Ẩ\":\"A\",\"Ã\":\"A\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ằ\":\"A\",\"Ắ\":\"A\",\"Ẵ\":\"A\",\"Ẳ\":\"A\",\"Ȧ\":\"A\",\"Ǡ\":\"A\",\"Ä\":\"A\",\"Ǟ\":\"A\",\"Ả\":\"A\",\"Å\":\"A\",\"Ǻ\":\"A\",\"Ǎ\":\"A\",\"Ȁ\":\"A\",\"Ȃ\":\"A\",\"Ạ\":\"A\",\"Ậ\":\"A\",\"Ặ\":\"A\",\"Ḁ\":\"A\",\"Ą\":\"A\",\"Ⱥ\":\"A\",\"Ɐ\":\"A\",\"Ꜳ\":\"AA\",\"Æ\":\"AE\",\"Ǽ\":\"AE\",\"Ǣ\":\"AE\",\"Ꜵ\":\"AO\",\"Ꜷ\":\"AU\",\"Ꜹ\":\"AV\",\"Ꜻ\":\"AV\",\"Ꜽ\":\"AY\",\"Ⓑ\":\"B\",\"Ｂ\":\"B\",\"Ḃ\":\"B\",\"Ḅ\":\"B\",\"Ḇ\":\"B\",\"Ƀ\":\"B\",\"Ƃ\":\"B\",\"Ɓ\":\"B\",\"Ⓒ\":\"C\",\"Ｃ\":\"C\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"Ç\":\"C\",\"Ḉ\":\"C\",\"Ƈ\":\"C\",\"Ȼ\":\"C\",\"Ꜿ\":\"C\",\"Ⓓ\":\"D\",\"Ｄ\":\"D\",\"Ḋ\":\"D\",\"Ď\":\"D\",\"Ḍ\":\"D\",\"Ḑ\":\"D\",\"Ḓ\":\"D\",\"Ḏ\":\"D\",\"Đ\":\"D\",\"Ƌ\":\"D\",\"Ɗ\":\"D\",\"Ɖ\":\"D\",\"Ꝺ\":\"D\",\"Ǳ\":\"DZ\",\"Ǆ\":\"DZ\",\"ǲ\":\"Dz\",\"ǅ\":\"Dz\",\"Ⓔ\":\"E\",\"Ｅ\":\"E\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ề\":\"E\",\"Ế\":\"E\",\"Ễ\":\"E\",\"Ể\":\"E\",\"Ẽ\":\"E\",\"Ē\":\"E\",\"Ḕ\":\"E\",\"Ḗ\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ë\":\"E\",\"Ẻ\":\"E\",\"Ě\":\"E\",\"Ȅ\":\"E\",\"Ȇ\":\"E\",\"Ẹ\":\"E\",\"Ệ\":\"E\",\"Ȩ\":\"E\",\"Ḝ\":\"E\",\"Ę\":\"E\",\"Ḙ\":\"E\",\"Ḛ\":\"E\",\"Ɛ\":\"E\",\"Ǝ\":\"E\",\"Ⓕ\":\"F\",\"Ｆ\":\"F\",\"Ḟ\":\"F\",\"Ƒ\":\"F\",\"Ꝼ\":\"F\",\"Ⓖ\":\"G\",\"Ｇ\":\"G\",\"Ǵ\":\"G\",\"Ĝ\":\"G\",\"Ḡ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ǧ\":\"G\",\"Ģ\":\"G\",\"Ǥ\":\"G\",\"Ɠ\":\"G\",\"Ꞡ\":\"G\",\"Ᵹ\":\"G\",\"Ꝿ\":\"G\",\"Ⓗ\":\"H\",\"Ｈ\":\"H\",\"Ĥ\":\"H\",\"Ḣ\":\"H\",\"Ḧ\":\"H\",\"Ȟ\":\"H\",\"Ḥ\":\"H\",\"Ḩ\":\"H\",\"Ḫ\":\"H\",\"Ħ\":\"H\",\"Ⱨ\":\"H\",\"Ⱶ\":\"H\",\"Ɥ\":\"H\",\"Ⓘ\":\"I\",\"Ｉ\":\"I\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"İ\":\"I\",\"Ï\":\"I\",\"Ḯ\":\"I\",\"Ỉ\":\"I\",\"Ǐ\":\"I\",\"Ȉ\":\"I\",\"Ȋ\":\"I\",\"Ị\":\"I\",\"Į\":\"I\",\"Ḭ\":\"I\",\"Ɨ\":\"I\",\"Ⓙ\":\"J\",\"Ｊ\":\"J\",\"Ĵ\":\"J\",\"Ɉ\":\"J\",\"Ⓚ\":\"K\",\"Ｋ\":\"K\",\"Ḱ\":\"K\",\"Ǩ\":\"K\",\"Ḳ\":\"K\",\"Ķ\":\"K\",\"Ḵ\":\"K\",\"Ƙ\":\"K\",\"Ⱪ\":\"K\",\"Ꝁ\":\"K\",\"Ꝃ\":\"K\",\"Ꝅ\":\"K\",\"Ꞣ\":\"K\",\"Ⓛ\":\"L\",\"Ｌ\":\"L\",\"Ŀ\":\"L\",\"Ĺ\":\"L\",\"Ľ\":\"L\",\"Ḷ\":\"L\",\"Ḹ\":\"L\",\"Ļ\":\"L\",\"Ḽ\":\"L\",\"Ḻ\":\"L\",\"Ł\":\"L\",\"Ƚ\":\"L\",\"Ɫ\":\"L\",\"Ⱡ\":\"L\",\"Ꝉ\":\"L\",\"Ꝇ\":\"L\",\"Ꞁ\":\"L\",\"Ǉ\":\"LJ\",\"ǈ\":\"Lj\",\"Ⓜ\":\"M\",\"Ｍ\":\"M\",\"Ḿ\":\"M\",\"Ṁ\":\"M\",\"Ṃ\":\"M\",\"Ɱ\":\"M\",\"Ɯ\":\"M\",\"Ⓝ\":\"N\",\"Ｎ\":\"N\",\"Ǹ\":\"N\",\"Ń\":\"N\",\"Ñ\":\"N\",\"Ṅ\":\"N\",\"Ň\":\"N\",\"Ṇ\":\"N\",\"Ņ\":\"N\",\"Ṋ\":\"N\",\"Ṉ\":\"N\",\"Ƞ\":\"N\",\"Ɲ\":\"N\",\"Ꞑ\":\"N\",\"Ꞥ\":\"N\",\"Ǌ\":\"NJ\",\"ǋ\":\"Nj\",\"Ⓞ\":\"O\",\"Ｏ\":\"O\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Ồ\":\"O\",\"Ố\":\"O\",\"Ỗ\":\"O\",\"Ổ\":\"O\",\"Õ\":\"O\",\"Ṍ\":\"O\",\"Ȭ\":\"O\",\"Ṏ\":\"O\",\"Ō\":\"O\",\"Ṑ\":\"O\",\"Ṓ\":\"O\",\"Ŏ\":\"O\",\"Ȯ\":\"O\",\"Ȱ\":\"O\",\"Ö\":\"O\",\"Ȫ\":\"O\",\"Ỏ\":\"O\",\"Ő\":\"O\",\"Ǒ\":\"O\",\"Ȍ\":\"O\",\"Ȏ\":\"O\",\"Ơ\":\"O\",\"Ờ\":\"O\",\"Ớ\":\"O\",\"Ỡ\":\"O\",\"Ở\":\"O\",\"Ợ\":\"O\",\"Ọ\":\"O\",\"Ộ\":\"O\",\"Ǫ\":\"O\",\"Ǭ\":\"O\",\"Ø\":\"O\",\"Ǿ\":\"O\",\"Ɔ\":\"O\",\"Ɵ\":\"O\",\"Ꝋ\":\"O\",\"Ꝍ\":\"O\",\"Ƣ\":\"OI\",\"Ꝏ\":\"OO\",\"Ȣ\":\"OU\",\"Ⓟ\":\"P\",\"Ｐ\":\"P\",\"Ṕ\":\"P\",\"Ṗ\":\"P\",\"Ƥ\":\"P\",\"Ᵽ\":\"P\",\"Ꝑ\":\"P\",\"Ꝓ\":\"P\",\"Ꝕ\":\"P\",\"Ⓠ\":\"Q\",\"Ｑ\":\"Q\",\"Ꝗ\":\"Q\",\"Ꝙ\":\"Q\",\"Ɋ\":\"Q\",\"Ⓡ\":\"R\",\"Ｒ\":\"R\",\"Ŕ\":\"R\",\"Ṙ\":\"R\",\"Ř\":\"R\",\"Ȑ\":\"R\",\"Ȓ\":\"R\",\"Ṛ\":\"R\",\"Ṝ\":\"R\",\"Ŗ\":\"R\",\"Ṟ\":\"R\",\"Ɍ\":\"R\",\"Ɽ\":\"R\",\"Ꝛ\":\"R\",\"Ꞧ\":\"R\",\"Ꞃ\":\"R\",\"Ⓢ\":\"S\",\"Ｓ\":\"S\",\"ẞ\":\"S\",\"Ś\":\"S\",\"Ṥ\":\"S\",\"Ŝ\":\"S\",\"Ṡ\":\"S\",\"Š\":\"S\",\"Ṧ\":\"S\",\"Ṣ\":\"S\",\"Ṩ\":\"S\",\"Ș\":\"S\",\"Ş\":\"S\",\"Ȿ\":\"S\",\"Ꞩ\":\"S\",\"Ꞅ\":\"S\",\"Ⓣ\":\"T\",\"Ｔ\":\"T\",\"Ṫ\":\"T\",\"Ť\":\"T\",\"Ṭ\":\"T\",\"Ț\":\"T\",\"Ţ\":\"T\",\"Ṱ\":\"T\",\"Ṯ\":\"T\",\"Ŧ\":\"T\",\"Ƭ\":\"T\",\"Ʈ\":\"T\",\"Ⱦ\":\"T\",\"Ꞇ\":\"T\",\"Ꜩ\":\"TZ\",\"Ⓤ\":\"U\",\"Ｕ\":\"U\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ũ\":\"U\",\"Ṹ\":\"U\",\"Ū\":\"U\",\"Ṻ\":\"U\",\"Ŭ\":\"U\",\"Ü\":\"U\",\"Ǜ\":\"U\",\"Ǘ\":\"U\",\"Ǖ\":\"U\",\"Ǚ\":\"U\",\"Ủ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ǔ\":\"U\",\"Ȕ\":\"U\",\"Ȗ\":\"U\",\"Ư\":\"U\",\"Ừ\":\"U\",\"Ứ\":\"U\",\"Ữ\":\"U\",\"Ử\":\"U\",\"Ự\":\"U\",\"Ụ\":\"U\",\"Ṳ\":\"U\",\"Ų\":\"U\",\"Ṷ\":\"U\",\"Ṵ\":\"U\",\"Ʉ\":\"U\",\"Ⓥ\":\"V\",\"Ｖ\":\"V\",\"Ṽ\":\"V\",\"Ṿ\":\"V\",\"Ʋ\":\"V\",\"Ꝟ\":\"V\",\"Ʌ\":\"V\",\"Ꝡ\":\"VY\",\"Ⓦ\":\"W\",\"Ｗ\":\"W\",\"Ẁ\":\"W\",\"Ẃ\":\"W\",\"Ŵ\":\"W\",\"Ẇ\":\"W\",\"Ẅ\":\"W\",\"Ẉ\":\"W\",\"Ⱳ\":\"W\",\"Ⓧ\":\"X\",\"Ｘ\":\"X\",\"Ẋ\":\"X\",\"Ẍ\":\"X\",\"Ⓨ\":\"Y\",\"Ｙ\":\"Y\",\"Ỳ\":\"Y\",\"Ý\":\"Y\",\"Ŷ\":\"Y\",\"Ỹ\":\"Y\",\"Ȳ\":\"Y\",\"Ẏ\":\"Y\",\"Ÿ\":\"Y\",\"Ỷ\":\"Y\",\"Ỵ\":\"Y\",\"Ƴ\":\"Y\",\"Ɏ\":\"Y\",\"Ỿ\":\"Y\",\"Ⓩ\":\"Z\",\"Ｚ\":\"Z\",\"Ź\":\"Z\",\"Ẑ\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"Ẓ\":\"Z\",\"Ẕ\":\"Z\",\"Ƶ\":\"Z\",\"Ȥ\":\"Z\",\"Ɀ\":\"Z\",\"Ⱬ\":\"Z\",\"Ꝣ\":\"Z\",\"ⓐ\":\"a\",\"ａ\":\"a\",\"ẚ\":\"a\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ầ\":\"a\",\"ấ\":\"a\",\"ẫ\":\"a\",\"ẩ\":\"a\",\"ã\":\"a\",\"ā\":\"a\",\"ă\":\"a\",\"ằ\":\"a\",\"ắ\":\"a\",\"ẵ\":\"a\",\"ẳ\":\"a\",\"ȧ\":\"a\",\"ǡ\":\"a\",\"ä\":\"a\",\"ǟ\":\"a\",\"ả\":\"a\",\"å\":\"a\",\"ǻ\":\"a\",\"ǎ\":\"a\",\"ȁ\":\"a\",\"ȃ\":\"a\",\"ạ\":\"a\",\"ậ\":\"a\",\"ặ\":\"a\",\"ḁ\":\"a\",\"ą\":\"a\",\"ⱥ\":\"a\",\"ɐ\":\"a\",\"ꜳ\":\"aa\",\"æ\":\"ae\",\"ǽ\":\"ae\",\"ǣ\":\"ae\",\"ꜵ\":\"ao\",\"ꜷ\":\"au\",\"ꜹ\":\"av\",\"ꜻ\":\"av\",\"ꜽ\":\"ay\",\"ⓑ\":\"b\",\"ｂ\":\"b\",\"ḃ\":\"b\",\"ḅ\":\"b\",\"ḇ\":\"b\",\"ƀ\":\"b\",\"ƃ\":\"b\",\"ɓ\":\"b\",\"ⓒ\":\"c\",\"ｃ\":\"c\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"ç\":\"c\",\"ḉ\":\"c\",\"ƈ\":\"c\",\"ȼ\":\"c\",\"ꜿ\":\"c\",\"ↄ\":\"c\",\"ⓓ\":\"d\",\"ｄ\":\"d\",\"ḋ\":\"d\",\"ď\":\"d\",\"ḍ\":\"d\",\"ḑ\":\"d\",\"ḓ\":\"d\",\"ḏ\":\"d\",\"đ\":\"d\",\"ƌ\":\"d\",\"ɖ\":\"d\",\"ɗ\":\"d\",\"ꝺ\":\"d\",\"ǳ\":\"dz\",\"ǆ\":\"dz\",\"ⓔ\":\"e\",\"ｅ\":\"e\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ề\":\"e\",\"ế\":\"e\",\"ễ\":\"e\",\"ể\":\"e\",\"ẽ\":\"e\",\"ē\":\"e\",\"ḕ\":\"e\",\"ḗ\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ë\":\"e\",\"ẻ\":\"e\",\"ě\":\"e\",\"ȅ\":\"e\",\"ȇ\":\"e\",\"ẹ\":\"e\",\"ệ\":\"e\",\"ȩ\":\"e\",\"ḝ\":\"e\",\"ę\":\"e\",\"ḙ\":\"e\",\"ḛ\":\"e\",\"ɇ\":\"e\",\"ɛ\":\"e\",\"ǝ\":\"e\",\"ⓕ\":\"f\",\"ｆ\":\"f\",\"ḟ\":\"f\",\"ƒ\":\"f\",\"ꝼ\":\"f\",\"ⓖ\":\"g\",\"ｇ\":\"g\",\"ǵ\":\"g\",\"ĝ\":\"g\",\"ḡ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ǧ\":\"g\",\"ģ\":\"g\",\"ǥ\":\"g\",\"ɠ\":\"g\",\"ꞡ\":\"g\",\"ᵹ\":\"g\",\"ꝿ\":\"g\",\"ⓗ\":\"h\",\"ｈ\":\"h\",\"ĥ\":\"h\",\"ḣ\":\"h\",\"ḧ\":\"h\",\"ȟ\":\"h\",\"ḥ\":\"h\",\"ḩ\":\"h\",\"ḫ\":\"h\",\"ẖ\":\"h\",\"ħ\":\"h\",\"ⱨ\":\"h\",\"ⱶ\":\"h\",\"ɥ\":\"h\",\"ƕ\":\"hv\",\"ⓘ\":\"i\",\"ｉ\":\"i\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"ï\":\"i\",\"ḯ\":\"i\",\"ỉ\":\"i\",\"ǐ\":\"i\",\"ȉ\":\"i\",\"ȋ\":\"i\",\"ị\":\"i\",\"į\":\"i\",\"ḭ\":\"i\",\"ɨ\":\"i\",\"ı\":\"i\",\"ⓙ\":\"j\",\"ｊ\":\"j\",\"ĵ\":\"j\",\"ǰ\":\"j\",\"ɉ\":\"j\",\"ⓚ\":\"k\",\"ｋ\":\"k\",\"ḱ\":\"k\",\"ǩ\":\"k\",\"ḳ\":\"k\",\"ķ\":\"k\",\"ḵ\":\"k\",\"ƙ\":\"k\",\"ⱪ\":\"k\",\"ꝁ\":\"k\",\"ꝃ\":\"k\",\"ꝅ\":\"k\",\"ꞣ\":\"k\",\"ⓛ\":\"l\",\"ｌ\":\"l\",\"ŀ\":\"l\",\"ĺ\":\"l\",\"ľ\":\"l\",\"ḷ\":\"l\",\"ḹ\":\"l\",\"ļ\":\"l\",\"ḽ\":\"l\",\"ḻ\":\"l\",\"ſ\":\"l\",\"ł\":\"l\",\"ƚ\":\"l\",\"ɫ\":\"l\",\"ⱡ\":\"l\",\"ꝉ\":\"l\",\"ꞁ\":\"l\",\"ꝇ\":\"l\",\"ǉ\":\"lj\",\"ⓜ\":\"m\",\"ｍ\":\"m\",\"ḿ\":\"m\",\"ṁ\":\"m\",\"ṃ\":\"m\",\"ɱ\":\"m\",\"ɯ\":\"m\",\"ⓝ\":\"n\",\"ｎ\":\"n\",\"ǹ\":\"n\",\"ń\":\"n\",\"ñ\":\"n\",\"ṅ\":\"n\",\"ň\":\"n\",\"ṇ\":\"n\",\"ņ\":\"n\",\"ṋ\":\"n\",\"ṉ\":\"n\",\"ƞ\":\"n\",\"ɲ\":\"n\",\"ŉ\":\"n\",\"ꞑ\":\"n\",\"ꞥ\":\"n\",\"ǌ\":\"nj\",\"ⓞ\":\"o\",\"ｏ\":\"o\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"ồ\":\"o\",\"ố\":\"o\",\"ỗ\":\"o\",\"ổ\":\"o\",\"õ\":\"o\",\"ṍ\":\"o\",\"ȭ\":\"o\",\"ṏ\":\"o\",\"ō\":\"o\",\"ṑ\":\"o\",\"ṓ\":\"o\",\"ŏ\":\"o\",\"ȯ\":\"o\",\"ȱ\":\"o\",\"ö\":\"o\",\"ȫ\":\"o\",\"ỏ\":\"o\",\"ő\":\"o\",\"ǒ\":\"o\",\"ȍ\":\"o\",\"ȏ\":\"o\",\"ơ\":\"o\",\"ờ\":\"o\",\"ớ\":\"o\",\"ỡ\":\"o\",\"ở\":\"o\",\"ợ\":\"o\",\"ọ\":\"o\",\"ộ\":\"o\",\"ǫ\":\"o\",\"ǭ\":\"o\",\"ø\":\"o\",\"ǿ\":\"o\",\"ɔ\":\"o\",\"ꝋ\":\"o\",\"ꝍ\":\"o\",\"ɵ\":\"o\",\"ƣ\":\"oi\",\"ȣ\":\"ou\",\"ꝏ\":\"oo\",\"ⓟ\":\"p\",\"ｐ\":\"p\",\"ṕ\":\"p\",\"ṗ\":\"p\",\"ƥ\":\"p\",\"ᵽ\":\"p\",\"ꝑ\":\"p\",\"ꝓ\":\"p\",\"ꝕ\":\"p\",\"ⓠ\":\"q\",\"ｑ\":\"q\",\"ɋ\":\"q\",\"ꝗ\":\"q\",\"ꝙ\":\"q\",\"ⓡ\":\"r\",\"ｒ\":\"r\",\"ŕ\":\"r\",\"ṙ\":\"r\",\"ř\":\"r\",\"ȑ\":\"r\",\"ȓ\":\"r\",\"ṛ\":\"r\",\"ṝ\":\"r\",\"ŗ\":\"r\",\"ṟ\":\"r\",\"ɍ\":\"r\",\"ɽ\":\"r\",\"ꝛ\":\"r\",\"ꞧ\":\"r\",\"ꞃ\":\"r\",\"ⓢ\":\"s\",\"ｓ\":\"s\",\"ß\":\"s\",\"ś\":\"s\",\"ṥ\":\"s\",\"ŝ\":\"s\",\"ṡ\":\"s\",\"š\":\"s\",\"ṧ\":\"s\",\"ṣ\":\"s\",\"ṩ\":\"s\",\"ș\":\"s\",\"ş\":\"s\",\"ȿ\":\"s\",\"ꞩ\":\"s\",\"ꞅ\":\"s\",\"ẛ\":\"s\",\"ⓣ\":\"t\",\"ｔ\":\"t\",\"ṫ\":\"t\",\"ẗ\":\"t\",\"ť\":\"t\",\"ṭ\":\"t\",\"ț\":\"t\",\"ţ\":\"t\",\"ṱ\":\"t\",\"ṯ\":\"t\",\"ŧ\":\"t\",\"ƭ\":\"t\",\"ʈ\":\"t\",\"ⱦ\":\"t\",\"ꞇ\":\"t\",\"ꜩ\":\"tz\",\"ⓤ\":\"u\",\"ｕ\":\"u\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ũ\":\"u\",\"ṹ\":\"u\",\"ū\":\"u\",\"ṻ\":\"u\",\"ŭ\":\"u\",\"ü\":\"u\",\"ǜ\":\"u\",\"ǘ\":\"u\",\"ǖ\":\"u\",\"ǚ\":\"u\",\"ủ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ǔ\":\"u\",\"ȕ\":\"u\",\"ȗ\":\"u\",\"ư\":\"u\",\"ừ\":\"u\",\"ứ\":\"u\",\"ữ\":\"u\",\"ử\":\"u\",\"ự\":\"u\",\"ụ\":\"u\",\"ṳ\":\"u\",\"ų\":\"u\",\"ṷ\":\"u\",\"ṵ\":\"u\",\"ʉ\":\"u\",\"ⓥ\":\"v\",\"ｖ\":\"v\",\"ṽ\":\"v\",\"ṿ\":\"v\",\"ʋ\":\"v\",\"ꝟ\":\"v\",\"ʌ\":\"v\",\"ꝡ\":\"vy\",\"ⓦ\":\"w\",\"ｗ\":\"w\",\"ẁ\":\"w\",\"ẃ\":\"w\",\"ŵ\":\"w\",\"ẇ\":\"w\",\"ẅ\":\"w\",\"ẘ\":\"w\",\"ẉ\":\"w\",\"ⱳ\":\"w\",\"ⓧ\":\"x\",\"ｘ\":\"x\",\"ẋ\":\"x\",\"ẍ\":\"x\",\"ⓨ\":\"y\",\"ｙ\":\"y\",\"ỳ\":\"y\",\"ý\":\"y\",\"ŷ\":\"y\",\"ỹ\":\"y\",\"ȳ\":\"y\",\"ẏ\":\"y\",\"ÿ\":\"y\",\"ỷ\":\"y\",\"ẙ\":\"y\",\"ỵ\":\"y\",\"ƴ\":\"y\",\"ɏ\":\"y\",\"ỿ\":\"y\",\"ⓩ\":\"z\",\"ｚ\":\"z\",\"ź\":\"z\",\"ẑ\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"ẓ\":\"z\",\"ẕ\":\"z\",\"ƶ\":\"z\",\"ȥ\":\"z\",\"ɀ\":\"z\",\"ⱬ\":\"z\",\"ꝣ\":\"z\",\"Ά\":\"Α\",\"Έ\":\"Ε\",\"Ή\":\"Η\",\"Ί\":\"Ι\",\"Ϊ\":\"Ι\",\"Ό\":\"Ο\",\"Ύ\":\"Υ\",\"Ϋ\":\"Υ\",\"Ώ\":\"Ω\",\"ά\":\"α\",\"έ\":\"ε\",\"ή\":\"η\",\"ί\":\"ι\",\"ϊ\":\"ι\",\"ΐ\":\"ι\",\"ό\":\"ο\",\"ύ\":\"υ\",\"ϋ\":\"υ\",\"ΰ\":\"υ\",\"ω\":\"ω\",\"ς\":\"σ\"}}),e.define(\"select2/data/base\",[\"../utils\"],function(t){function e(t,l){e.__super__.constructor.call(this)}return t.Extend(e,t.Observable),e.prototype.current=function(t){throw new Error(\"The `current` method must be defined in child classes.\")},e.prototype.query=function(t,e){throw new Error(\"The `query` method must be defined in child classes.\")},e.prototype.bind=function(t,e){},e.prototype.destroy=function(){},e.prototype.generateResultId=function(e,l){var n=e.id+\"-result-\";return n+=t.generateChars(4),null!=l.id?n+=\"-\"+l.id.toString():n+=\"-\"+t.generateChars(4),n},e}),e.define(\"select2/data/select\",[\"./base\",\"../utils\",\"jquery\"],function(t,e,l){function n(t,e){this.$element=t,this.options=e,n.__super__.constructor.call(this)}return e.Extend(n,t),n.prototype.current=function(t){var e=[],n=this;this.$element.find(\":selected\").each(function(){var t=l(this),i=n.item(t);e.push(i)}),t(e)},n.prototype.select=function(t){var e=this;if(t.selected=!0,l(t.element).is(\"option\"))return t.element.selected=!0,void this.$element.trigger(\"change\");if(this.$element.prop(\"multiple\"))this.current(function(n){var i=[];(t=[t]).push.apply(t,n);for(var a=0;a<t.length;a++){var r=t[a].id;-1===l.inArray(r,i)&&i.push(r)}e.$element.val(i),e.$element.trigger(\"change\")});else{var n=t.id;this.$element.val(n),this.$element.trigger(\"change\")}},n.prototype.unselect=function(t){var e=this;if(this.$element.prop(\"multiple\")){if(t.selected=!1,l(t.element).is(\"option\"))return t.element.selected=!1,void this.$element.trigger(\"change\");this.current(function(n){for(var i=[],a=0;a<n.length;a++){var r=n[a].id;r!==t.id&&-1===l.inArray(r,i)&&i.push(r)}e.$element.val(i),e.$element.trigger(\"change\")})}},n.prototype.bind=function(t,e){var l=this;this.container=t,t.on(\"select\",function(t){l.select(t.data)}),t.on(\"unselect\",function(t){l.unselect(t.data)})},n.prototype.destroy=function(){this.$element.find(\"*\").each(function(){e.RemoveData(this)})},n.prototype.query=function(t,e){var n=[],i=this;this.$element.children().each(function(){var e=l(this);if(e.is(\"option\")||e.is(\"optgroup\")){var a=i.item(e),r=i.matches(t,a);null!==r&&n.push(r)}}),e({results:n})},n.prototype.addOptions=function(t){e.appendMany(this.$element,t)},n.prototype.option=function(t){var n;t.children?(n=document.createElement(\"optgroup\")).label=t.text:void 0!==(n=document.createElement(\"option\")).textContent?n.textContent=t.text:n.innerText=t.text,void 0!==t.id&&(n.value=t.id),t.disabled&&(n.disabled=!0),t.selected&&(n.selected=!0),t.title&&(n.title=t.title);var i=l(n),a=this._normalizeItem(t);return a.element=n,e.StoreData(n,\"data\",a),i},n.prototype.item=function(t){var n={};if(null!=(n=e.GetData(t[0],\"data\")))return n;if(t.is(\"option\"))n={id:t.val(),text:t.text(),disabled:t.prop(\"disabled\"),selected:t.prop(\"selected\"),title:t.prop(\"title\")};else if(t.is(\"optgroup\")){n={text:t.prop(\"label\"),children:[],title:t.prop(\"title\")};for(var i=t.children(\"option\"),a=[],r=0;r<i.length;r++){var o=l(i[r]),s=this.item(o);a.push(s)}n.children=a}return(n=this._normalizeItem(n)).element=t[0],e.StoreData(t[0],\"data\",n),n},n.prototype._normalizeItem=function(t){return t!==Object(t)&&(t={id:t,text:t}),null!=(t=l.extend({},{text:\"\"},t)).id&&(t.id=t.id.toString()),null!=t.text&&(t.text=t.text.toString()),null==t._resultId&&t.id&&null!=this.container&&(t._resultId=this.generateResultId(this.container,t)),l.extend({},{selected:!1,disabled:!1},t)},n.prototype.matches=function(t,e){return this.options.get(\"matcher\")(t,e)},n}),e.define(\"select2/data/array\",[\"./select\",\"../utils\",\"jquery\"],function(t,e,l){function n(t,e){var l=e.get(\"data\")||[];n.__super__.constructor.call(this,t,e),this.addOptions(this.convertToOptions(l))}return e.Extend(n,t),n.prototype.select=function(t){var e=this.$element.find(\"option\").filter(function(e,l){return l.value==t.id.toString()});0===e.length&&(e=this.option(t),this.addOptions(e)),n.__super__.select.call(this,t)},n.prototype.convertToOptions=function(t){function n(t){return function(){return l(this).val()==t.id}}for(var i=this,a=this.$element.find(\"option\"),r=a.map(function(){return i.item(l(this)).id}).get(),o=[],s=0;s<t.length;s++){var c=this._normalizeItem(t[s]);if(l.inArray(c.id,r)>=0){var u=a.filter(n(c)),d=this.item(u),h=l.extend(!0,{},c,d),f=this.option(h);u.replaceWith(f)}else{var p=this.option(c);if(c.children){var g=this.convertToOptions(c.children);e.appendMany(p,g)}o.push(p)}}return o},n}),e.define(\"select2/data/ajax\",[\"./array\",\"../utils\",\"jquery\"],function(t,e,l){function n(t,e){this.ajaxOptions=this._applyDefaults(e.get(\"ajax\")),null!=this.ajaxOptions.processResults&&(this.processResults=this.ajaxOptions.processResults),n.__super__.constructor.call(this,t,e)}return e.Extend(n,t),n.prototype._applyDefaults=function(t){var e={data:function(t){return l.extend({},t,{q:t.term})},transport:function(t,e,n){var i=l.ajax(t);return i.then(e),i.fail(n),i}};return l.extend({},e,t,!0)},n.prototype.processResults=function(t){return t},n.prototype.query=function(t,e){function n(){var n=a.transport(a,function(n){var a=i.processResults(n,t);i.options.get(\"debug\")&&window.console&&console.error&&(a&&a.results&&l.isArray(a.results)||console.error(\"Select2: The AJAX results did not return an array in the `results` key of the response.\")),e(a)},function(){\"status\"in n&&(0===n.status||\"0\"===n.status)||i.trigger(\"results:message\",{message:\"errorLoading\"})});i._request=n}var i=this;null!=this._request&&(l.isFunction(this._request.abort)&&this._request.abort(),this._request=null);var a=l.extend({type:\"GET\"},this.ajaxOptions);\"function\"==typeof a.url&&(a.url=a.url.call(this.$element,t)),\"function\"==typeof a.data&&(a.data=a.data.call(this.$element,t)),this.ajaxOptions.delay&&null!=t.term?(this._queryTimeout&&window.clearTimeout(this._queryTimeout),this._queryTimeout=window.setTimeout(n,this.ajaxOptions.delay)):n()},n}),e.define(\"select2/data/tags\",[\"jquery\"],function(t){function e(e,l,n){var i=n.get(\"tags\"),a=n.get(\"createTag\");void 0!==a&&(this.createTag=a);var r=n.get(\"insertTag\");if(void 0!==r&&(this.insertTag=r),e.call(this,l,n),t.isArray(i))for(var o=0;o<i.length;o++){var s=i[o],c=this._normalizeItem(s),u=this.option(c);this.$element.append(u)}}return e.prototype.query=function(t,e,l){var n=this;this._removeOldTags(),null!=e.term&&null==e.page?t.call(this,e,function t(i,a){for(var r=i.results,o=0;o<r.length;o++){var s=r[o],c=null!=s.children&&!t({results:s.children},!0);if((s.text||\"\").toUpperCase()===(e.term||\"\").toUpperCase()||c)return!a&&(i.data=r,void l(i))}if(a)return!0;var u=n.createTag(e);if(null!=u){var d=n.option(u);d.attr(\"data-select2-tag\",!0),n.addOptions([d]),n.insertTag(r,u)}i.results=r,l(i)}):t.call(this,e,l)},e.prototype.createTag=function(e,l){var n=t.trim(l.term);return\"\"===n?null:{id:n,text:n}},e.prototype.insertTag=function(t,e,l){e.unshift(l)},e.prototype._removeOldTags=function(e){this._lastTag,this.$element.find(\"option[data-select2-tag]\").each(function(){this.selected||t(this).remove()})},e}),e.define(\"select2/data/tokenizer\",[\"jquery\"],function(t){function e(t,e,l){var n=l.get(\"tokenizer\");void 0!==n&&(this.tokenizer=n),t.call(this,e,l)}return e.prototype.bind=function(t,e,l){t.call(this,e,l),this.$search=e.dropdown.$search||e.selection.$search||l.find(\".select2-search__field\")},e.prototype.query=function(e,l,n){var i=this;l.term=l.term||\"\";var a=this.tokenizer(l,this.options,function(e){var l=i._normalizeItem(e);if(!i.$element.find(\"option\").filter(function(){return t(this).val()===l.id}).length){var n=i.option(l);n.attr(\"data-select2-tag\",!0),i._removeOldTags(),i.addOptions([n])}!function(t){i.trigger(\"select\",{data:t})}(l)});a.term!==l.term&&(this.$search.length&&(this.$search.val(a.term),this.$search.focus()),l.term=a.term),e.call(this,l,n)},e.prototype.tokenizer=function(e,l,n,i){for(var a=n.get(\"tokenSeparators\")||[],r=l.term,o=0,s=this.createTag||function(t){return{id:t.term,text:t.term}};o<r.length;){var c=r[o];if(-1!==t.inArray(c,a)){var u=r.substr(0,o),d=t.extend({},l,{term:u}),h=s(d);null!=h?(i(h),r=r.substr(o+1)||\"\",o=0):o++}else o++}return{term:r}},e}),e.define(\"select2/data/minimumInputLength\",[],function(){function t(t,e,l){this.minimumInputLength=l.get(\"minimumInputLength\"),t.call(this,e,l)}return t.prototype.query=function(t,e,l){e.term=e.term||\"\",e.term.length<this.minimumInputLength?this.trigger(\"results:message\",{message:\"inputTooShort\",args:{minimum:this.minimumInputLength,input:e.term,params:e}}):t.call(this,e,l)},t}),e.define(\"select2/data/maximumInputLength\",[],function(){function t(t,e,l){this.maximumInputLength=l.get(\"maximumInputLength\"),t.call(this,e,l)}return t.prototype.query=function(t,e,l){e.term=e.term||\"\",this.maximumInputLength>0&&e.term.length>this.maximumInputLength?this.trigger(\"results:message\",{message:\"inputTooLong\",args:{maximum:this.maximumInputLength,input:e.term,params:e}}):t.call(this,e,l)},t}),e.define(\"select2/data/maximumSelectionLength\",[],function(){function t(t,e,l){this.maximumSelectionLength=l.get(\"maximumSelectionLength\"),t.call(this,e,l)}return t.prototype.query=function(t,e,l){var n=this;this.current(function(i){var a=null!=i?i.length:0;n.maximumSelectionLength>0&&a>=n.maximumSelectionLength?n.trigger(\"results:message\",{message:\"maximumSelected\",args:{maximum:n.maximumSelectionLength}}):t.call(n,e,l)})},t}),e.define(\"select2/dropdown\",[\"jquery\",\"./utils\"],function(t,e){function l(t,e){this.$element=t,this.options=e,l.__super__.constructor.call(this)}return e.Extend(l,e.Observable),l.prototype.render=function(){var e=t('<span class=\"select2-dropdown\"><span class=\"select2-results\"></span></span>');return e.attr(\"dir\",this.options.get(\"dir\")),this.$dropdown=e,e},l.prototype.bind=function(){},l.prototype.position=function(t,e){},l.prototype.destroy=function(){this.$dropdown.remove()},l}),e.define(\"select2/dropdown/search\",[\"jquery\",\"../utils\"],function(t,e){function l(){}return l.prototype.render=function(e){var l=e.call(this),n=t('<span class=\"select2-search select2-search--dropdown\"><input class=\"select2-search__field\" type=\"search\" tabindex=\"-1\" autocomplete=\"off\" autocorrect=\"off\" autocapitalize=\"none\" spellcheck=\"false\" role=\"textbox\" /></span>');return this.$searchContainer=n,this.$search=n.find(\"input\"),l.prepend(n),l},l.prototype.bind=function(e,l,n){var i=this;e.call(this,l,n),this.$search.on(\"keydown\",function(t){i.trigger(\"keypress\",t),i._keyUpPrevented=t.isDefaultPrevented()}),this.$search.on(\"input\",function(e){t(this).off(\"keyup\")}),this.$search.on(\"keyup input\",function(t){i.handleSearch(t)}),l.on(\"open\",function(){i.$search.attr(\"tabindex\",0),i.$search.focus(),window.setTimeout(function(){i.$search.focus()},0)}),l.on(\"close\",function(){i.$search.attr(\"tabindex\",-1),i.$search.val(\"\"),i.$search.blur()}),l.on(\"focus\",function(){l.isOpen()||i.$search.focus()}),l.on(\"results:all\",function(t){null!=t.query.term&&\"\"!==t.query.term||(i.showSearch(t)?i.$searchContainer.removeClass(\"select2-search--hide\"):i.$searchContainer.addClass(\"select2-search--hide\"))})},l.prototype.handleSearch=function(t){if(!this._keyUpPrevented){var e=this.$search.val();this.trigger(\"query\",{term:e})}this._keyUpPrevented=!1},l.prototype.showSearch=function(t,e){return!0},l}),e.define(\"select2/dropdown/hidePlaceholder\",[],function(){function t(t,e,l,n){this.placeholder=this.normalizePlaceholder(l.get(\"placeholder\")),t.call(this,e,l,n)}return t.prototype.append=function(t,e){e.results=this.removePlaceholder(e.results),t.call(this,e)},t.prototype.normalizePlaceholder=function(t,e){return\"string\"==typeof e&&(e={id:\"\",text:e}),e},t.prototype.removePlaceholder=function(t,e){for(var l=e.slice(0),n=e.length-1;n>=0;n--){var i=e[n];this.placeholder.id===i.id&&l.splice(n,1)}return l},t}),e.define(\"select2/dropdown/infiniteScroll\",[\"jquery\"],function(t){function e(t,e,l,n){this.lastParams={},t.call(this,e,l,n),this.$loadingMore=this.createLoadingMore(),this.loading=!1}return e.prototype.append=function(t,e){this.$loadingMore.remove(),this.loading=!1,t.call(this,e),this.showLoadingMore(e)&&this.$results.append(this.$loadingMore)},e.prototype.bind=function(e,l,n){var i=this;e.call(this,l,n),l.on(\"query\",function(t){i.lastParams=t,i.loading=!0}),l.on(\"query:append\",function(t){i.lastParams=t,i.loading=!0}),this.$results.on(\"scroll\",function(){var e=t.contains(document.documentElement,i.$loadingMore[0]);!i.loading&&e&&i.$results.offset().top+i.$results.outerHeight(!1)+50>=i.$loadingMore.offset().top+i.$loadingMore.outerHeight(!1)&&i.loadMore()})},e.prototype.loadMore=function(){this.loading=!0;var e=t.extend({},{page:1},this.lastParams);e.page++,this.trigger(\"query:append\",e)},e.prototype.showLoadingMore=function(t,e){return e.pagination&&e.pagination.more},e.prototype.createLoadingMore=function(){var e=t('<li class=\"select2-results__option select2-results__option--load-more\"role=\"treeitem\" aria-disabled=\"true\"></li>'),l=this.options.get(\"translations\").get(\"loadingMore\");return e.html(l(this.lastParams)),e},e}),e.define(\"select2/dropdown/attachBody\",[\"jquery\",\"../utils\"],function(t,e){function l(e,l,n){this.$dropdownParent=n.get(\"dropdownParent\")||t(document.body),e.call(this,l,n)}return l.prototype.bind=function(t,e,l){var n=this,i=!1;t.call(this,e,l),e.on(\"open\",function(){n._showDropdown(),n._attachPositioningHandler(e),i||(i=!0,e.on(\"results:all\",function(){n._positionDropdown(),n._resizeDropdown()}),e.on(\"results:append\",function(){n._positionDropdown(),n._resizeDropdown()}))}),e.on(\"close\",function(){n._hideDropdown(),n._detachPositioningHandler(e)}),this.$dropdownContainer.on(\"mousedown\",function(t){t.stopPropagation()})},l.prototype.destroy=function(t){t.call(this),this.$dropdownContainer.remove()},l.prototype.position=function(t,e,l){e.attr(\"class\",l.attr(\"class\")),e.removeClass(\"select2\"),e.addClass(\"select2-container--open\"),e.css({position:\"absolute\",top:-999999}),this.$container=l},l.prototype.render=function(e){var l=t(\"<span></span>\"),n=e.call(this);return l.append(n),this.$dropdownContainer=l,l},l.prototype._hideDropdown=function(t){this.$dropdownContainer.detach()},l.prototype._attachPositioningHandler=function(l,n){var i=this,a=\"scroll.select2.\"+n.id,r=\"resize.select2.\"+n.id,o=\"orientationchange.select2.\"+n.id,s=this.$container.parents().filter(e.hasScroll);s.each(function(){e.StoreData(this,\"select2-scroll-position\",{x:t(this).scrollLeft(),y:t(this).scrollTop()})}),s.on(a,function(l){var n=e.GetData(this,\"select2-scroll-position\");t(this).scrollTop(n.y)}),t(window).on(a+\" \"+r+\" \"+o,function(t){i._positionDropdown(),i._resizeDropdown()})},l.prototype._detachPositioningHandler=function(l,n){var i=\"scroll.select2.\"+n.id,a=\"resize.select2.\"+n.id,r=\"orientationchange.select2.\"+n.id;this.$container.parents().filter(e.hasScroll).off(i),t(window).off(i+\" \"+a+\" \"+r)},l.prototype._positionDropdown=function(){var e=t(window),l=this.$dropdown.hasClass(\"select2-dropdown--above\"),n=this.$dropdown.hasClass(\"select2-dropdown--below\"),i=null,a=this.$container.offset();a.bottom=a.top+this.$container.outerHeight(!1);var r={height:this.$container.outerHeight(!1)};r.top=a.top,r.bottom=a.top+r.height;var o={height:this.$dropdown.outerHeight(!1)},s={top:e.scrollTop(),bottom:e.scrollTop()+e.height()},c=s.top<a.top-o.height,u=s.bottom>a.bottom+o.height,d={left:a.left,top:r.bottom},h=this.$dropdownParent;\"static\"===h.css(\"position\")&&(h=h.offsetParent());var f=h.offset();d.top-=f.top,d.left-=f.left,l||n||(i=\"below\"),u||!c||l?!c&&u&&l&&(i=\"below\"):i=\"above\",(\"above\"==i||l&&\"below\"!==i)&&(d.top=r.top-f.top-o.height),null!=i&&(this.$dropdown.removeClass(\"select2-dropdown--below select2-dropdown--above\").addClass(\"select2-dropdown--\"+i),this.$container.removeClass(\"select2-container--below select2-container--above\").addClass(\"select2-container--\"+i)),this.$dropdownContainer.css(d)},l.prototype._resizeDropdown=function(){var t={width:this.$container.outerWidth(!1)+\"px\"};this.options.get(\"dropdownAutoWidth\")&&(t.minWidth=t.width,t.position=\"relative\",t.width=\"auto\"),this.$dropdown.css(t)},l.prototype._showDropdown=function(t){this.$dropdownContainer.appendTo(this.$dropdownParent),this._positionDropdown(),this._resizeDropdown()},l}),e.define(\"select2/dropdown/minimumResultsForSearch\",[],function(){function t(t,e,l,n){this.minimumResultsForSearch=l.get(\"minimumResultsForSearch\"),this.minimumResultsForSearch<0&&(this.minimumResultsForSearch=1/0),t.call(this,e,l,n)}return t.prototype.showSearch=function(t,e){return!(function t(e){for(var l=0,n=0;n<e.length;n++){var i=e[n];i.children?l+=t(i.children):l++}return l}(e.data.results)<this.minimumResultsForSearch)&&t.call(this,e)},t}),e.define(\"select2/dropdown/selectOnClose\",[\"../utils\"],function(t){function e(){}return e.prototype.bind=function(t,e,l){var n=this;t.call(this,e,l),e.on(\"close\",function(t){n._handleSelectOnClose(t)})},e.prototype._handleSelectOnClose=function(e,l){if(l&&null!=l.originalSelect2Event){var n=l.originalSelect2Event;if(\"select\"===n._type||\"unselect\"===n._type)return}var i=this.getHighlightedResults();if(!(i.length<1)){var a=t.GetData(i[0],\"data\");null!=a.element&&a.element.selected||null==a.element&&a.selected||this.trigger(\"select\",{data:a})}},e}),e.define(\"select2/dropdown/closeOnSelect\",[],function(){function t(){}return t.prototype.bind=function(t,e,l){var n=this;t.call(this,e,l),e.on(\"select\",function(t){n._selectTriggered(t)}),e.on(\"unselect\",function(t){n._selectTriggered(t)})},t.prototype._selectTriggered=function(t,e){var l=e.originalEvent;l&&l.ctrlKey||this.trigger(\"close\",{originalEvent:l,originalSelect2Event:e})},t}),e.define(\"select2/i18n/en\",[],function(){return{errorLoading:function(){return\"The results could not be loaded.\"},inputTooLong:function(t){var e=t.input.length-t.maximum,l=\"Please delete \"+e+\" character\";return 1!=e&&(l+=\"s\"),l},inputTooShort:function(t){return\"Please enter \"+(t.minimum-t.input.length)+\" or more characters\"},loadingMore:function(){return\"Loading more results…\"},maximumSelected:function(t){var e=\"You can only select \"+t.maximum+\" item\";return 1!=t.maximum&&(e+=\"s\"),e},noResults:function(){return\"No results found\"},searching:function(){return\"Searching…\"}}}),e.define(\"select2/defaults\",[\"jquery\",\"require\",\"./results\",\"./selection/single\",\"./selection/multiple\",\"./selection/placeholder\",\"./selection/allowClear\",\"./selection/search\",\"./selection/eventRelay\",\"./utils\",\"./translation\",\"./diacritics\",\"./data/select\",\"./data/array\",\"./data/ajax\",\"./data/tags\",\"./data/tokenizer\",\"./data/minimumInputLength\",\"./data/maximumInputLength\",\"./data/maximumSelectionLength\",\"./dropdown\",\"./dropdown/search\",\"./dropdown/hidePlaceholder\",\"./dropdown/infiniteScroll\",\"./dropdown/attachBody\",\"./dropdown/minimumResultsForSearch\",\"./dropdown/selectOnClose\",\"./dropdown/closeOnSelect\",\"./i18n/en\"],function(t,e,l,n,i,a,r,o,s,c,u,d,h,f,p,g,m,b,v,y,x,_,w,S,k,C,T,D,M){function A(){this.reset()}return A.prototype.apply=function(d){if(null==(d=t.extend(!0,{},this.defaults,d)).dataAdapter){if(null!=d.ajax?d.dataAdapter=p:null!=d.data?d.dataAdapter=f:d.dataAdapter=h,d.minimumInputLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,b)),d.maximumInputLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,v)),d.maximumSelectionLength>0&&(d.dataAdapter=c.Decorate(d.dataAdapter,y)),d.tags&&(d.dataAdapter=c.Decorate(d.dataAdapter,g)),null==d.tokenSeparators&&null==d.tokenizer||(d.dataAdapter=c.Decorate(d.dataAdapter,m)),null!=d.query){var M=e(d.amdBase+\"compat/query\");d.dataAdapter=c.Decorate(d.dataAdapter,M)}if(null!=d.initSelection){var A=e(d.amdBase+\"compat/initSelection\");d.dataAdapter=c.Decorate(d.dataAdapter,A)}}if(null==d.resultsAdapter&&(d.resultsAdapter=l,null!=d.ajax&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,S)),null!=d.placeholder&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,w)),d.selectOnClose&&(d.resultsAdapter=c.Decorate(d.resultsAdapter,T))),null==d.dropdownAdapter){if(d.multiple)d.dropdownAdapter=x;else{var E=c.Decorate(x,_);d.dropdownAdapter=E}if(0!==d.minimumResultsForSearch&&(d.dropdownAdapter=c.Decorate(d.dropdownAdapter,C)),d.closeOnSelect&&(d.dropdownAdapter=c.Decorate(d.dropdownAdapter,D)),null!=d.dropdownCssClass||null!=d.dropdownCss||null!=d.adaptDropdownCssClass){var j=e(d.amdBase+\"compat/dropdownCss\");d.dropdownAdapter=c.Decorate(d.dropdownAdapter,j)}d.dropdownAdapter=c.Decorate(d.dropdownAdapter,k)}if(null==d.selectionAdapter){if(d.multiple?d.selectionAdapter=i:d.selectionAdapter=n,null!=d.placeholder&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,a)),d.allowClear&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,r)),d.multiple&&(d.selectionAdapter=c.Decorate(d.selectionAdapter,o)),null!=d.containerCssClass||null!=d.containerCss||null!=d.adaptContainerCssClass){var I=e(d.amdBase+\"compat/containerCss\");d.selectionAdapter=c.Decorate(d.selectionAdapter,I)}d.selectionAdapter=c.Decorate(d.selectionAdapter,s)}if(\"string\"==typeof d.language)if(d.language.indexOf(\"-\")>0){var P=d.language.split(\"-\"),O=P[0];d.language=[d.language,O]}else d.language=[d.language];if(t.isArray(d.language)){var L=new u;d.language.push(\"en\");for(var R=d.language,N=0;N<R.length;N++){var F=R[N],B={};try{B=u.loadPath(F)}catch(t){try{F=this.defaults.amdLanguageBase+F,B=u.loadPath(F)}catch(t){d.debug&&window.console&&console.warn&&console.warn('Select2: The language file for \"'+F+'\" could not be automatically loaded. A fallback will be used instead.');continue}}L.extend(B)}d.translations=L}else{var H=u.loadPath(this.defaults.amdLanguageBase+\"en\"),q=new u(d.language);q.extend(H),d.translations=q}return d},A.prototype.reset=function(){function e(t){return t.replace(/[^\\u0000-\\u007E]/g,function(t){return d[t]||t})}this.defaults={amdBase:\"./\",amdLanguageBase:\"./i18n/\",closeOnSelect:!0,debug:!1,dropdownAutoWidth:!1,escapeMarkup:c.escapeMarkup,language:M,matcher:function l(n,i){if(\"\"===t.trim(n.term))return i;if(i.children&&i.children.length>0){for(var a=t.extend(!0,{},i),r=i.children.length-1;r>=0;r--)null==l(n,i.children[r])&&a.children.splice(r,1);return a.children.length>0?a:l(n,a)}var o=e(i.text).toUpperCase(),s=e(n.term).toUpperCase();return o.indexOf(s)>-1?i:null},minimumInputLength:0,maximumInputLength:0,maximumSelectionLength:0,minimumResultsForSearch:0,selectOnClose:!1,sorter:function(t){return t},templateResult:function(t){return t.text},templateSelection:function(t){return t.text},theme:\"default\",width:\"resolve\"}},A.prototype.set=function(e,l){var n=t.camelCase(e),i={};i[n]=l;var a=c._convertData(i);t.extend(!0,this.defaults,a)},new A}),e.define(\"select2/options\",[\"require\",\"jquery\",\"./defaults\",\"./utils\"],function(t,e,l,n){function i(e,i){if(this.options=e,null!=i&&this.fromElement(i),this.options=l.apply(this.options),i&&i.is(\"input\")){var a=t(this.get(\"amdBase\")+\"compat/inputData\");this.options.dataAdapter=n.Decorate(this.options.dataAdapter,a)}}return i.prototype.fromElement=function(t){var l=[\"select2\"];null==this.options.multiple&&(this.options.multiple=t.prop(\"multiple\")),null==this.options.disabled&&(this.options.disabled=t.prop(\"disabled\")),null==this.options.language&&(t.prop(\"lang\")?this.options.language=t.prop(\"lang\").toLowerCase():t.closest(\"[lang]\").prop(\"lang\")&&(this.options.language=t.closest(\"[lang]\").prop(\"lang\"))),null==this.options.dir&&(t.prop(\"dir\")?this.options.dir=t.prop(\"dir\"):t.closest(\"[dir]\").prop(\"dir\")?this.options.dir=t.closest(\"[dir]\").prop(\"dir\"):this.options.dir=\"ltr\"),t.prop(\"disabled\",this.options.disabled),t.prop(\"multiple\",this.options.multiple),n.GetData(t[0],\"select2Tags\")&&(this.options.debug&&window.console&&console.warn&&console.warn('Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags=\"true\"` attributes and will be removed in future versions of Select2.'),n.StoreData(t[0],\"data\",n.GetData(t[0],\"select2Tags\")),n.StoreData(t[0],\"tags\",!0)),n.GetData(t[0],\"ajaxUrl\")&&(this.options.debug&&window.console&&console.warn&&console.warn(\"Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2.\"),t.attr(\"ajax--url\",n.GetData(t[0],\"ajaxUrl\")),n.StoreData(t[0],\"ajax-Url\",n.GetData(t[0],\"ajaxUrl\")));var i={};i=e.fn.jquery&&\"1.\"==e.fn.jquery.substr(0,2)&&t[0].dataset?e.extend(!0,{},t[0].dataset,n.GetData(t[0])):n.GetData(t[0]);var a=e.extend(!0,{},i);for(var r in a=n._convertData(a))e.inArray(r,l)>-1||(e.isPlainObject(this.options[r])?e.extend(this.options[r],a[r]):this.options[r]=a[r]);return this},i.prototype.get=function(t){return this.options[t]},i.prototype.set=function(t,e){this.options[t]=e},i}),e.define(\"select2/core\",[\"jquery\",\"./options\",\"./utils\",\"./keys\"],function(t,e,l,n){var i=function(t,n){null!=l.GetData(t[0],\"select2\")&&l.GetData(t[0],\"select2\").destroy(),this.$element=t,this.id=this._generateId(t),n=n||{},this.options=new e(n,t),i.__super__.constructor.call(this);var a=t.attr(\"tabindex\")||0;l.StoreData(t[0],\"old-tabindex\",a),t.attr(\"tabindex\",\"-1\");var r=this.options.get(\"dataAdapter\");this.dataAdapter=new r(t,this.options);var o=this.render();this._placeContainer(o);var s=this.options.get(\"selectionAdapter\");this.selection=new s(t,this.options),this.$selection=this.selection.render(),this.selection.position(this.$selection,o);var c=this.options.get(\"dropdownAdapter\");this.dropdown=new c(t,this.options),this.$dropdown=this.dropdown.render(),this.dropdown.position(this.$dropdown,o);var u=this.options.get(\"resultsAdapter\");this.results=new u(t,this.options,this.dataAdapter),this.$results=this.results.render(),this.results.position(this.$results,this.$dropdown);var d=this;this._bindAdapters(),this._registerDomEvents(),this._registerDataEvents(),this._registerSelectionEvents(),this._registerDropdownEvents(),this._registerResultsEvents(),this._registerEvents(),this.dataAdapter.current(function(t){d.trigger(\"selection:update\",{data:t})}),t.addClass(\"select2-hidden-accessible\"),t.attr(\"aria-hidden\",\"true\"),this._syncAttributes(),l.StoreData(t[0],\"select2\",this),t.data(\"select2\",this)};return l.Extend(i,l.Observable),i.prototype._generateId=function(t){return\"select2-\"+(null!=t.attr(\"id\")?t.attr(\"id\"):null!=t.attr(\"name\")?t.attr(\"name\")+\"-\"+l.generateChars(2):l.generateChars(4)).replace(/(:|\\.|\\[|\\]|,)/g,\"\")},i.prototype._placeContainer=function(t){t.insertAfter(this.$element);var e=this._resolveWidth(this.$element,this.options.get(\"width\"));null!=e&&t.css(\"width\",e)},i.prototype._resolveWidth=function(t,e){var l=/^width:(([-+]?([0-9]*\\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i;if(\"resolve\"==e){var n=this._resolveWidth(t,\"style\");return null!=n?n:this._resolveWidth(t,\"element\")}if(\"element\"==e){var i=t.outerWidth(!1);return i<=0?\"auto\":i+\"px\"}if(\"style\"==e){var a=t.attr(\"style\");if(\"string\"!=typeof a)return null;for(var r=a.split(\";\"),o=0,s=r.length;o<s;o+=1){var c=r[o].replace(/\\s/g,\"\"),u=c.match(l);if(null!==u&&u.length>=1)return u[1]}return null}return e},i.prototype._bindAdapters=function(){this.dataAdapter.bind(this,this.$container),this.selection.bind(this,this.$container),this.dropdown.bind(this,this.$container),this.results.bind(this,this.$container)},i.prototype._registerDomEvents=function(){var e=this;this.$element.on(\"change.select2\",function(){e.dataAdapter.current(function(t){e.trigger(\"selection:update\",{data:t})})}),this.$element.on(\"focus.select2\",function(t){e.trigger(\"focus\",t)}),this._syncA=l.bind(this._syncAttributes,this),this._syncS=l.bind(this._syncSubtree,this),this.$element[0].attachEvent&&this.$element[0].attachEvent(\"onpropertychange\",this._syncA);var n=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;null!=n?(this._observer=new n(function(l){t.each(l,e._syncA),t.each(l,e._syncS)}),this._observer.observe(this.$element[0],{attributes:!0,childList:!0,subtree:!1})):this.$element[0].addEventListener&&(this.$element[0].addEventListener(\"DOMAttrModified\",e._syncA,!1),this.$element[0].addEventListener(\"DOMNodeInserted\",e._syncS,!1),this.$element[0].addEventListener(\"DOMNodeRemoved\",e._syncS,!1))},i.prototype._registerDataEvents=function(){var t=this;this.dataAdapter.on(\"*\",function(e,l){t.trigger(e,l)})},i.prototype._registerSelectionEvents=function(){var e=this,l=[\"toggle\",\"focus\"];this.selection.on(\"toggle\",function(){e.toggleDropdown()}),this.selection.on(\"focus\",function(t){e.focus(t)}),this.selection.on(\"*\",function(n,i){-1===t.inArray(n,l)&&e.trigger(n,i)})},i.prototype._registerDropdownEvents=function(){var t=this;this.dropdown.on(\"*\",function(e,l){t.trigger(e,l)})},i.prototype._registerResultsEvents=function(){var t=this;this.results.on(\"*\",function(e,l){t.trigger(e,l)})},i.prototype._registerEvents=function(){var t=this;this.on(\"open\",function(){t.$container.addClass(\"select2-container--open\")}),this.on(\"close\",function(){t.$container.removeClass(\"select2-container--open\")}),this.on(\"enable\",function(){t.$container.removeClass(\"select2-container--disabled\")}),this.on(\"disable\",function(){t.$container.addClass(\"select2-container--disabled\")}),this.on(\"blur\",function(){t.$container.removeClass(\"select2-container--focus\")}),this.on(\"query\",function(e){t.isOpen()||t.trigger(\"open\",{}),this.dataAdapter.query(e,function(l){t.trigger(\"results:all\",{data:l,query:e})})}),this.on(\"query:append\",function(e){this.dataAdapter.query(e,function(l){t.trigger(\"results:append\",{data:l,query:e})})}),this.on(\"keypress\",function(e){var l=e.which;t.isOpen()?l===n.ESC||l===n.TAB||l===n.UP&&e.altKey?(t.close(),e.preventDefault()):l===n.ENTER?(t.trigger(\"results:select\",{}),e.preventDefault()):l===n.SPACE&&e.ctrlKey?(t.trigger(\"results:toggle\",{}),e.preventDefault()):l===n.UP?(t.trigger(\"results:previous\",{}),e.preventDefault()):l===n.DOWN&&(t.trigger(\"results:next\",{}),e.preventDefault()):(l===n.ENTER||l===n.SPACE||l===n.DOWN&&e.altKey)&&(t.open(),e.preventDefault())})},i.prototype._syncAttributes=function(){this.options.set(\"disabled\",this.$element.prop(\"disabled\")),this.options.get(\"disabled\")?(this.isOpen()&&this.close(),this.trigger(\"disable\",{})):this.trigger(\"enable\",{})},i.prototype._syncSubtree=function(t,e){var l=!1,n=this;if(!t||!t.target||\"OPTION\"===t.target.nodeName||\"OPTGROUP\"===t.target.nodeName){if(e)if(e.addedNodes&&e.addedNodes.length>0)for(var i=0;i<e.addedNodes.length;i++){var a=e.addedNodes[i];a.selected&&(l=!0)}else e.removedNodes&&e.removedNodes.length>0&&(l=!0);else l=!0;l&&this.dataAdapter.current(function(t){n.trigger(\"selection:update\",{data:t})})}},i.prototype.trigger=function(t,e){var l=i.__super__.trigger,n={open:\"opening\",close:\"closing\",select:\"selecting\",unselect:\"unselecting\",clear:\"clearing\"};if(void 0===e&&(e={}),t in n){var a=n[t],r={prevented:!1,name:t,args:e};if(l.call(this,a,r),r.prevented)return void(e.prevented=!0)}l.call(this,t,e)},i.prototype.toggleDropdown=function(){this.options.get(\"disabled\")||(this.isOpen()?this.close():this.open())},i.prototype.open=function(){this.isOpen()||this.trigger(\"query\",{})},i.prototype.close=function(){this.isOpen()&&this.trigger(\"close\",{})},i.prototype.isOpen=function(){return this.$container.hasClass(\"select2-container--open\")},i.prototype.hasFocus=function(){return this.$container.hasClass(\"select2-container--focus\")},i.prototype.focus=function(t){this.hasFocus()||(this.$container.addClass(\"select2-container--focus\"),this.trigger(\"focus\",{}))},i.prototype.enable=function(t){this.options.get(\"debug\")&&window.console&&console.warn&&console.warn('Select2: The `select2(\"enable\")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop(\"disabled\") instead.'),null!=t&&0!==t.length||(t=[!0]);var e=!t[0];this.$element.prop(\"disabled\",e)},i.prototype.data=function(){this.options.get(\"debug\")&&arguments.length>0&&window.console&&console.warn&&console.warn('Select2: Data can no longer be set using `select2(\"data\")`. You should consider setting the value instead using `$element.val()`.');var t=[];return this.dataAdapter.current(function(e){t=e}),t},i.prototype.val=function(e){if(this.options.get(\"debug\")&&window.console&&console.warn&&console.warn('Select2: The `select2(\"val\")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'),null==e||0===e.length)return this.$element.val();var l=e[0];t.isArray(l)&&(l=t.map(l,function(t){return t.toString()})),this.$element.val(l).trigger(\"change\")},i.prototype.destroy=function(){this.$container.remove(),this.$element[0].detachEvent&&this.$element[0].detachEvent(\"onpropertychange\",this._syncA),null!=this._observer?(this._observer.disconnect(),this._observer=null):this.$element[0].removeEventListener&&(this.$element[0].removeEventListener(\"DOMAttrModified\",this._syncA,!1),this.$element[0].removeEventListener(\"DOMNodeInserted\",this._syncS,!1),this.$element[0].removeEventListener(\"DOMNodeRemoved\",this._syncS,!1)),this._syncA=null,this._syncS=null,this.$element.off(\".select2\"),this.$element.attr(\"tabindex\",l.GetData(this.$element[0],\"old-tabindex\")),this.$element.removeClass(\"select2-hidden-accessible\"),this.$element.attr(\"aria-hidden\",\"false\"),l.RemoveData(this.$element[0]),this.$element.removeData(\"select2\"),this.dataAdapter.destroy(),this.selection.destroy(),this.dropdown.destroy(),this.results.destroy(),this.dataAdapter=null,this.selection=null,this.dropdown=null,this.results=null},i.prototype.render=function(){var e=t('<span class=\"select2 select2-container\"><span class=\"selection\"></span><span class=\"dropdown-wrapper\" aria-hidden=\"true\"></span></span>');return e.attr(\"dir\",this.options.get(\"dir\")),this.$container=e,this.$container.addClass(\"select2-container--\"+this.options.get(\"theme\")),l.StoreData(e[0],\"element\",this.$element),e},i}),e.define(\"jquery-mousewheel\",[\"jquery\"],function(t){return t}),e.define(\"jquery.select2\",[\"jquery\",\"jquery-mousewheel\",\"./select2/core\",\"./select2/defaults\",\"./select2/utils\"],function(t,e,l,n,i){if(null==t.fn.select2){var a=[\"open\",\"close\",\"destroy\"];t.fn.select2=function(e){if(\"object\"==typeof(e=e||{}))return this.each(function(){var n=t.extend(!0,{},e);new l(t(this),n)}),this;if(\"string\"==typeof e){var n,r=Array.prototype.slice.call(arguments,1);return this.each(function(){var t=i.GetData(this,\"select2\");null==t&&window.console&&console.error&&console.error(\"The select2('\"+e+\"') method was called on an element that is not using Select2.\"),n=t[e].apply(t,r)}),t.inArray(e,a)>-1?this:n}throw new Error(\"Invalid arguments for Select2: \"+e)}}return null==t.fn.select2.defaults&&(t.fn.select2.defaults=n),l}),{define:e.define,require:e.require}}(),l=e.require(\"jquery.select2\");return t.fn.select2.amd=e,l})?i.apply(e,a):i)||(t.exports=r)}).call(this,l(1))},function(t,e,l){var n,i,a;\n/*!\n * jQuery Validation Plugin v1.19.0\n *\n * https://jqueryvalidation.org/\n *\n * Copyright (c) 2018 Jörn Zaefferer\n * Released under the MIT license\n */i=[l(1),l(47)],void 0===(a=\"function\"==typeof(n=function(t){return function(){function e(t){return t.replace(/<.[^<>]*?>/g,\" \").replace(/&nbsp;|&#160;/gi,\" \").replace(/[.(),;:!?%#$'\\\"_+=\\/\\-“”’]*/g,\"\")}t.validator.addMethod(\"maxWords\",function(t,l,n){return this.optional(l)||e(t).match(/\\b\\w+\\b/g).length<=n},t.validator.format(\"Please enter {0} words or less.\")),t.validator.addMethod(\"minWords\",function(t,l,n){return this.optional(l)||e(t).match(/\\b\\w+\\b/g).length>=n},t.validator.format(\"Please enter at least {0} words.\")),t.validator.addMethod(\"rangeWords\",function(t,l,n){var i=e(t),a=/\\b\\w+\\b/g;return this.optional(l)||i.match(a).length>=n[0]&&i.match(a).length<=n[1]},t.validator.format(\"Please enter between {0} and {1} words.\"))}(),t.validator.addMethod(\"abaRoutingNumber\",function(t){var e=0,l=t.split(\"\"),n=l.length;if(9!==n)return!1;for(var i=0;i<n;i+=3)e+=3*parseInt(l[i],10)+7*parseInt(l[i+1],10)+parseInt(l[i+2],10);return 0!==e&&e%10==0},\"Please enter a valid routing number.\"),t.validator.addMethod(\"accept\",function(e,l,n){var i,a,r=\"string\"==typeof n?n.replace(/\\s/g,\"\"):\"image/*\",o=this.optional(l);if(o)return o;if(\"file\"===t(l).attr(\"type\")&&(r=r.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\").replace(/,/g,\"|\").replace(/\\/\\*/g,\"/.*\"),l.files&&l.files.length))for(a=new RegExp(\".?(\"+r+\")$\",\"i\"),i=0;i<l.files.length;i++)if(!l.files[i].type.match(a))return!1;return!0},t.validator.format(\"Please enter a value with a valid mimetype.\")),t.validator.addMethod(\"alphanumeric\",function(t,e){return this.optional(e)||/^\\w+$/i.test(t)},\"Letters, numbers, and underscores only please\"),t.validator.addMethod(\"bankaccountNL\",function(t,e){if(this.optional(e))return!0;if(!/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(t))return!1;var l,n=t.replace(/ /g,\"\"),i=0,a=n.length;for(l=0;l<a;l++)i+=(a-l)*n.substring(l,l+1);return i%11==0},\"Please specify a valid bank account number\"),t.validator.addMethod(\"bankorgiroaccountNL\",function(e,l){return this.optional(l)||t.validator.methods.bankaccountNL.call(this,e,l)||t.validator.methods.giroaccountNL.call(this,e,l)},\"Please specify a valid bank or giro account number\"),t.validator.addMethod(\"bic\",function(t,e){return this.optional(e)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-9])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(t.toUpperCase())},\"Please specify a valid BIC code\"),t.validator.addMethod(\"cifES\",function(t,e){\"use strict\";if(this.optional(e))return!0;var l,n,i,a,r=new RegExp(/^([ABCDEFGHJKLMNPQRSUVW])(\\d{7})([0-9A-J])$/gi),o=t.substring(0,1),s=t.substring(1,8),c=t.substring(8,9),u=0,d=0;function h(t){return t%2==0}if(9!==t.length||!r.test(t))return!1;for(l=0;l<s.length;l++)n=parseInt(s[l],10),h(l)?d+=(n*=2)<10?n:n-9:u+=n;return i=(10-(u+d).toString().substr(-1)).toString(),i=parseInt(i,10)>9?\"0\":i,a=\"JABCDEFGHI\".substr(i,1).toString(),o.match(/[ABEH]/)?c===i:o.match(/[KPQS]/)?c===a:c===i||c===a},\"Please specify a valid CIF number.\"),t.validator.addMethod(\"cnhBR\",function(t){if(11!==(t=t.replace(/([~!@#$%^&*()_+=`{}\\[\\]\\-|\\\\:;'<>,.\\/? ])+/g,\"\")).length)return!1;var e,l,n,i,a,r=0,o=0;if(e=t.charAt(0),new Array(12).join(e)===t)return!1;for(i=0,a=9;i<9;++i,--a)r+=+t.charAt(i)*a;for((l=r%11)>=10&&(l=0,o=2),r=0,i=0,a=1;i<9;++i,++a)r+=+t.charAt(i)*a;return(n=r%11)>=10?n=0:n-=o,String(l).concat(n)===t.substr(-2)},\"Please specify a valid CNH number\"),t.validator.addMethod(\"cnpjBR\",function(t,e){\"use strict\";if(this.optional(e))return!0;if(14!==(t=t.replace(/[^\\d]+/g,\"\")).length)return!1;if(\"00000000000000\"===t||\"11111111111111\"===t||\"22222222222222\"===t||\"33333333333333\"===t||\"44444444444444\"===t||\"55555555555555\"===t||\"66666666666666\"===t||\"77777777777777\"===t||\"88888888888888\"===t||\"99999999999999\"===t)return!1;for(var l=t.length-2,n=t.substring(0,l),i=t.substring(l),a=0,r=l-7,o=l;o>=1;o--)a+=n.charAt(l-o)*r--,r<2&&(r=9);var s=a%11<2?0:11-a%11;if(s!==parseInt(i.charAt(0),10))return!1;l+=1,n=t.substring(0,l),a=0,r=l-7;for(var c=l;c>=1;c--)a+=n.charAt(l-c)*r--,r<2&&(r=9);return(s=a%11<2?0:11-a%11)===parseInt(i.charAt(1),10)},\"Please specify a CNPJ value number\"),t.validator.addMethod(\"cpfBR\",function(t,e){\"use strict\";if(this.optional(e))return!0;if(11!==(t=t.replace(/([~!@#$%^&*()_+=`{}\\[\\]\\-|\\\\:;'<>,.\\/? ])+/g,\"\")).length)return!1;var l,n,i,a,r=0;if(l=parseInt(t.substring(9,10),10),n=parseInt(t.substring(10,11),10),i=function(t,e){var l=10*t%11;return 10!==l&&11!==l||(l=0),l===e},\"\"===t||\"00000000000\"===t||\"11111111111\"===t||\"22222222222\"===t||\"33333333333\"===t||\"44444444444\"===t||\"55555555555\"===t||\"66666666666\"===t||\"77777777777\"===t||\"88888888888\"===t||\"99999999999\"===t)return!1;for(a=1;a<=9;a++)r+=parseInt(t.substring(a-1,a),10)*(11-a);if(i(r,l)){for(r=0,a=1;a<=10;a++)r+=parseInt(t.substring(a-1,a),10)*(12-a);return i(r,n)}return!1},\"Please specify a valid CPF number\"),t.validator.addMethod(\"creditcard\",function(t,e){if(this.optional(e))return\"dependency-mismatch\";if(/[^0-9 \\-]+/.test(t))return!1;var l,n,i=0,a=0,r=!1;if((t=t.replace(/\\D/g,\"\")).length<13||t.length>19)return!1;for(l=t.length-1;l>=0;l--)n=t.charAt(l),a=parseInt(n,10),r&&(a*=2)>9&&(a-=9),i+=a,r=!r;return i%10==0},\"Please enter a valid credit card number.\"),t.validator.addMethod(\"creditcardtypes\",function(t,e,l){if(/[^0-9\\-]+/.test(t))return!1;t=t.replace(/\\D/g,\"\");var n=0;return l.mastercard&&(n|=1),l.visa&&(n|=2),l.amex&&(n|=4),l.dinersclub&&(n|=8),l.enroute&&(n|=16),l.discover&&(n|=32),l.jcb&&(n|=64),l.unknown&&(n|=128),l.all&&(n=255),1&n&&(/^(5[12345])/.test(t)||/^(2[234567])/.test(t))?16===t.length:2&n&&/^(4)/.test(t)?16===t.length:4&n&&/^(3[47])/.test(t)?15===t.length:8&n&&/^(3(0[012345]|[68]))/.test(t)?14===t.length:16&n&&/^(2(014|149))/.test(t)?15===t.length:32&n&&/^(6011)/.test(t)?16===t.length:64&n&&/^(3)/.test(t)?16===t.length:64&n&&/^(2131|1800)/.test(t)?15===t.length:!!(128&n)},\"Please enter a valid credit card number.\"),t.validator.addMethod(\"currency\",function(t,e,l){var n,i=\"string\"==typeof l,a=i?l:l[0],r=!!i||l[1];return a=a.replace(/,/g,\"\"),n=\"^[\"+(a=r?a+\"]\":a+\"]?\")+\"([1-9]{1}[0-9]{0,2}(\\\\,[0-9]{3})*(\\\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\\\.[0-9]{0,2})?|0(\\\\.[0-9]{0,2})?|(\\\\.[0-9]{1,2})?)$\",n=new RegExp(n),this.optional(e)||n.test(t)},\"Please specify a valid currency\"),t.validator.addMethod(\"dateFA\",function(t,e){return this.optional(e)||/^[1-4]\\d{3}\\/((0?[1-6]\\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(t)},t.validator.messages.date),t.validator.addMethod(\"dateITA\",function(t,e){var l,n,i,a,r,o=!1;return/^\\d{1,2}\\/\\d{1,2}\\/\\d{4}$/.test(t)?(l=t.split(\"/\"),n=parseInt(l[0],10),i=parseInt(l[1],10),a=parseInt(l[2],10),o=(r=new Date(Date.UTC(a,i-1,n,12,0,0,0))).getUTCFullYear()===a&&r.getUTCMonth()===i-1&&r.getUTCDate()===n):o=!1,this.optional(e)||o},t.validator.messages.date),t.validator.addMethod(\"dateNL\",function(t,e){return this.optional(e)||/^(0?[1-9]|[12]\\d|3[01])[\\.\\/\\-](0?[1-9]|1[012])[\\.\\/\\-]([12]\\d)?(\\d\\d)$/.test(t)},t.validator.messages.date),t.validator.addMethod(\"extension\",function(t,e,l){return l=\"string\"==typeof l?l.replace(/,/g,\"|\"):\"png|jpe?g|gif\",this.optional(e)||t.match(new RegExp(\"\\\\.(\"+l+\")$\",\"i\"))},t.validator.format(\"Please enter a value with a valid extension.\")),t.validator.addMethod(\"giroaccountNL\",function(t,e){return this.optional(e)||/^[0-9]{1,7}$/.test(t)},\"Please specify a valid giro account number\"),t.validator.addMethod(\"greaterThan\",function(e,l,n){var i=t(n);return this.settings.onfocusout&&i.not(\".validate-greaterThan-blur\").length&&i.addClass(\"validate-greaterThan-blur\").on(\"blur.validate-greaterThan\",function(){t(l).valid()}),e>i.val()},\"Please enter a greater value.\"),t.validator.addMethod(\"greaterThanEqual\",function(e,l,n){var i=t(n);return this.settings.onfocusout&&i.not(\".validate-greaterThanEqual-blur\").length&&i.addClass(\"validate-greaterThanEqual-blur\").on(\"blur.validate-greaterThanEqual\",function(){t(l).valid()}),e>=i.val()},\"Please enter a greater value.\"),t.validator.addMethod(\"iban\",function(t,e){if(this.optional(e))return!0;var l,n,i,a,r,o=t.replace(/ /g,\"\").toUpperCase(),s=\"\",c=!0,u=\"\";if(o.length<5)return!1;if(void 0!==(i={AL:\"\\\\d{8}[\\\\dA-Z]{16}\",AD:\"\\\\d{8}[\\\\dA-Z]{12}\",AT:\"\\\\d{16}\",AZ:\"[\\\\dA-Z]{4}\\\\d{20}\",BE:\"\\\\d{12}\",BH:\"[A-Z]{4}[\\\\dA-Z]{14}\",BA:\"\\\\d{16}\",BR:\"\\\\d{23}[A-Z][\\\\dA-Z]\",BG:\"[A-Z]{4}\\\\d{6}[\\\\dA-Z]{8}\",CR:\"\\\\d{17}\",HR:\"\\\\d{17}\",CY:\"\\\\d{8}[\\\\dA-Z]{16}\",CZ:\"\\\\d{20}\",DK:\"\\\\d{14}\",DO:\"[A-Z]{4}\\\\d{20}\",EE:\"\\\\d{16}\",FO:\"\\\\d{14}\",FI:\"\\\\d{14}\",FR:\"\\\\d{10}[\\\\dA-Z]{11}\\\\d{2}\",GE:\"[\\\\dA-Z]{2}\\\\d{16}\",DE:\"\\\\d{18}\",GI:\"[A-Z]{4}[\\\\dA-Z]{15}\",GR:\"\\\\d{7}[\\\\dA-Z]{16}\",GL:\"\\\\d{14}\",GT:\"[\\\\dA-Z]{4}[\\\\dA-Z]{20}\",HU:\"\\\\d{24}\",IS:\"\\\\d{22}\",IE:\"[\\\\dA-Z]{4}\\\\d{14}\",IL:\"\\\\d{19}\",IT:\"[A-Z]\\\\d{10}[\\\\dA-Z]{12}\",KZ:\"\\\\d{3}[\\\\dA-Z]{13}\",KW:\"[A-Z]{4}[\\\\dA-Z]{22}\",LV:\"[A-Z]{4}[\\\\dA-Z]{13}\",LB:\"\\\\d{4}[\\\\dA-Z]{20}\",LI:\"\\\\d{5}[\\\\dA-Z]{12}\",LT:\"\\\\d{16}\",LU:\"\\\\d{3}[\\\\dA-Z]{13}\",MK:\"\\\\d{3}[\\\\dA-Z]{10}\\\\d{2}\",MT:\"[A-Z]{4}\\\\d{5}[\\\\dA-Z]{18}\",MR:\"\\\\d{23}\",MU:\"[A-Z]{4}\\\\d{19}[A-Z]{3}\",MC:\"\\\\d{10}[\\\\dA-Z]{11}\\\\d{2}\",MD:\"[\\\\dA-Z]{2}\\\\d{18}\",ME:\"\\\\d{18}\",NL:\"[A-Z]{4}\\\\d{10}\",NO:\"\\\\d{11}\",PK:\"[\\\\dA-Z]{4}\\\\d{16}\",PS:\"[\\\\dA-Z]{4}\\\\d{21}\",PL:\"\\\\d{24}\",PT:\"\\\\d{21}\",RO:\"[A-Z]{4}[\\\\dA-Z]{16}\",SM:\"[A-Z]\\\\d{10}[\\\\dA-Z]{12}\",SA:\"\\\\d{2}[\\\\dA-Z]{18}\",RS:\"\\\\d{18}\",SK:\"\\\\d{20}\",SI:\"\\\\d{15}\",ES:\"\\\\d{20}\",SE:\"\\\\d{20}\",CH:\"\\\\d{5}[\\\\dA-Z]{12}\",TN:\"\\\\d{20}\",TR:\"\\\\d{5}[\\\\dA-Z]{17}\",AE:\"\\\\d{3}\\\\d{16}\",GB:\"[A-Z]{4}\\\\d{14}\",VG:\"[\\\\dA-Z]{4}\\\\d{16}\"}[o.substring(0,2)])&&!new RegExp(\"^[A-Z]{2}\\\\d{2}\"+i+\"$\",\"\").test(o))return!1;for(l=o.substring(4,o.length)+o.substring(0,4),a=0;a<l.length;a++)\"0\"!==(n=l.charAt(a))&&(c=!1),c||(s+=\"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\".indexOf(n));for(r=0;r<s.length;r++)u=(\"\"+u+s.charAt(r))%97;return 1===u},\"Please specify a valid IBAN\"),t.validator.addMethod(\"integer\",function(t,e){return this.optional(e)||/^-?\\d+$/.test(t)},\"A positive or negative non-decimal number please\"),t.validator.addMethod(\"ipv4\",function(t,e){return this.optional(e)||/^(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.(25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/i.test(t)},\"Please enter a valid IP v4 address.\"),t.validator.addMethod(\"ipv6\",function(t,e){return this.optional(e)||/^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(t)},\"Please enter a valid IP v6 address.\"),t.validator.addMethod(\"lessThan\",function(e,l,n){var i=t(n);return this.settings.onfocusout&&i.not(\".validate-lessThan-blur\").length&&i.addClass(\"validate-lessThan-blur\").on(\"blur.validate-lessThan\",function(){t(l).valid()}),e<i.val()},\"Please enter a lesser value.\"),t.validator.addMethod(\"lessThanEqual\",function(e,l,n){var i=t(n);return this.settings.onfocusout&&i.not(\".validate-lessThanEqual-blur\").length&&i.addClass(\"validate-lessThanEqual-blur\").on(\"blur.validate-lessThanEqual\",function(){t(l).valid()}),e<=i.val()},\"Please enter a lesser value.\"),t.validator.addMethod(\"lettersonly\",function(t,e){return this.optional(e)||/^[a-z]+$/i.test(t)},\"Letters only please\"),t.validator.addMethod(\"letterswithbasicpunc\",function(t,e){return this.optional(e)||/^[a-z\\-.,()'\"\\s]+$/i.test(t)},\"Letters or punctuation only please\"),t.validator.addMethod(\"maxfiles\",function(e,l,n){return!!this.optional(l)||!(\"file\"===t(l).attr(\"type\")&&l.files&&l.files.length>n)},t.validator.format(\"Please select no more than {0} files.\")),t.validator.addMethod(\"maxsize\",function(e,l,n){if(this.optional(l))return!0;if(\"file\"===t(l).attr(\"type\")&&l.files&&l.files.length)for(var i=0;i<l.files.length;i++)if(l.files[i].size>n)return!1;return!0},t.validator.format(\"File size must not exceed {0} bytes each.\")),t.validator.addMethod(\"maxsizetotal\",function(e,l,n){if(this.optional(l))return!0;if(\"file\"===t(l).attr(\"type\")&&l.files&&l.files.length)for(var i=0,a=0;a<l.files.length;a++)if((i+=l.files[a].size)>n)return!1;return!0},t.validator.format(\"Total size of all files must not exceed {0} bytes.\")),t.validator.addMethod(\"mobileNL\",function(t,e){return this.optional(e)||/^((\\+|00(\\s|\\s?\\-\\s?)?)31(\\s|\\s?\\-\\s?)?(\\(0\\)[\\-\\s]?)?|0)6((\\s|\\s?\\-\\s?)?[0-9]){8}$/.test(t)},\"Please specify a valid mobile number\"),t.validator.addMethod(\"mobileRU\",function(t,e){var l=t.replace(/\\(|\\)|\\s+|-/g,\"\");return this.optional(e)||l.length>9&&/^((\\+7|7|8)+([0-9]){10})$/.test(l)},\"Please specify a valid mobile number\"),t.validator.addMethod(\"mobileUK\",function(t,e){return t=t.replace(/\\(|\\)|\\s+|-/g,\"\"),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\\s?|\\+)44\\s?|0)7(?:[1345789]\\d{2}|624)\\s?\\d{3}\\s?\\d{3})$/)},\"Please specify a valid mobile number\"),t.validator.addMethod(\"netmask\",function(t,e){return this.optional(e)||/^(254|252|248|240|224|192|128)\\.0\\.0\\.0|255\\.(254|252|248|240|224|192|128|0)\\.0\\.0|255\\.255\\.(254|252|248|240|224|192|128|0)\\.0|255\\.255\\.255\\.(254|252|248|240|224|192|128|0)/i.test(t)},\"Please enter a valid netmask.\"),t.validator.addMethod(\"nieES\",function(t,e){\"use strict\";if(this.optional(e))return!0;var l,n=new RegExp(/^[MXYZ]{1}[0-9]{7,8}[TRWAGMYFPDXBNJZSQVHLCKET]{1}$/gi),i=t.substr(t.length-1).toUpperCase();return!((t=t.toString().toUpperCase()).length>10||t.length<9||!n.test(t))&&(l=9===(t=t.replace(/^[X]/,\"0\").replace(/^[Y]/,\"1\").replace(/^[Z]/,\"2\")).length?t.substr(0,8):t.substr(0,9),\"TRWAGMYFPDXBNJZSQVHLCKET\".charAt(parseInt(l,10)%23)===i)},\"Please specify a valid NIE number.\"),t.validator.addMethod(\"nifES\",function(t,e){\"use strict\";return!!this.optional(e)||!!(t=t.toUpperCase()).match(\"((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)\")&&(/^[0-9]{8}[A-Z]{1}$/.test(t)?\"TRWAGMYFPDXBNJZSQVHLCKE\".charAt(t.substring(8,0)%23)===t.charAt(8):!!/^[KLM]{1}/.test(t)&&t[8]===\"TRWAGMYFPDXBNJZSQVHLCKE\".charAt(t.substring(8,1)%23))},\"Please specify a valid NIF number.\"),t.validator.addMethod(\"nipPL\",function(t){\"use strict\";if(10!==(t=t.replace(/[^0-9]/g,\"\")).length)return!1;for(var e=[6,5,7,2,3,4,5,6,7],l=0,n=0;n<9;n++)l+=e[n]*t[n];var i=l%11;return(10===i?0:i)===parseInt(t[9],10)},\"Please specify a valid NIP number.\"),t.validator.addMethod(\"nisBR\",function(t){var e,l,n,i,a,r=0;if(11!==(t=t.replace(/([~!@#$%^&*()_+=`{}\\[\\]\\-|\\\\:;'<>,.\\/? ])+/g,\"\")).length)return!1;for(l=parseInt(t.substring(10,11),10),e=parseInt(t.substring(0,10),10),i=2;i<12;i++)a=i,10===i&&(a=2),11===i&&(a=3),r+=e%10*a,e=parseInt(e/10,10);return l===(n=(n=r%11)>1?11-n:0)},\"Please specify a valid NIS/PIS number\"),t.validator.addMethod(\"notEqualTo\",function(e,l,n){return this.optional(l)||!t.validator.methods.equalTo.call(this,e,l,n)},\"Please enter a different value, values must not be the same.\"),t.validator.addMethod(\"nowhitespace\",function(t,e){return this.optional(e)||/^\\S+$/i.test(t)},\"No white space please\"),t.validator.addMethod(\"pattern\",function(t,e,l){return!!this.optional(e)||(\"string\"==typeof l&&(l=new RegExp(\"^(?:\"+l+\")$\")),l.test(t))},\"Invalid format.\"),t.validator.addMethod(\"phoneNL\",function(t,e){return this.optional(e)||/^((\\+|00(\\s|\\s?\\-\\s?)?)31(\\s|\\s?\\-\\s?)?(\\(0\\)[\\-\\s]?)?|0)[1-9]((\\s|\\s?\\-\\s?)?[0-9]){8}$/.test(t)},\"Please specify a valid phone number.\"),t.validator.addMethod(\"phonePL\",function(t,e){return t=t.replace(/\\s+/g,\"\"),this.optional(e)||/^(?:(?:(?:\\+|00)?48)|(?:\\(\\+?48\\)))?(?:1[2-8]|2[2-69]|3[2-49]|4[1-68]|5[0-9]|6[0-35-9]|[7-8][1-9]|9[145])\\d{7}$/.test(t)},\"Please specify a valid phone number\"),t.validator.addMethod(\"phonesUK\",function(t,e){return t=t.replace(/\\(|\\)|\\s+|-/g,\"\"),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\\s?|\\+)44\\s?|0)(?:1\\d{8,9}|[23]\\d{9}|7(?:[1345789]\\d{8}|624\\d{6})))$/)},\"Please specify a valid uk phone number\"),t.validator.addMethod(\"phoneUK\",function(t,e){return t=t.replace(/\\(|\\)|\\s+|-/g,\"\"),this.optional(e)||t.length>9&&t.match(/^(?:(?:(?:00\\s?|\\+)44\\s?)|(?:\\(?0))(?:\\d{2}\\)?\\s?\\d{4}\\s?\\d{4}|\\d{3}\\)?\\s?\\d{3}\\s?\\d{3,4}|\\d{4}\\)?\\s?(?:\\d{5}|\\d{3}\\s?\\d{3})|\\d{5}\\)?\\s?\\d{4,5})$/)},\"Please specify a valid phone number\"),t.validator.addMethod(\"phoneUS\",function(t,e){return t=t.replace(/\\s+/g,\"\"),this.optional(e)||t.length>9&&t.match(/^(\\+?1-?)?(\\([2-9]([02-9]\\d|1[02-9])\\)|[2-9]([02-9]\\d|1[02-9]))-?[2-9]\\d{2}-?\\d{4}$/)},\"Please specify a valid phone number\"),t.validator.addMethod(\"postalcodeBR\",function(t,e){return this.optional(e)||/^\\d{2}.\\d{3}-\\d{3}?$|^\\d{5}-?\\d{3}?$/.test(t)},\"Informe um CEP válido.\"),t.validator.addMethod(\"postalCodeCA\",function(t,e){return this.optional(e)||/^[ABCEGHJKLMNPRSTVXY]\\d[ABCEGHJKLMNPRSTVWXYZ] *\\d[ABCEGHJKLMNPRSTVWXYZ]\\d$/i.test(t)},\"Please specify a valid postal code\"),t.validator.addMethod(\"postalcodeIT\",function(t,e){return this.optional(e)||/^\\d{5}$/.test(t)},\"Please specify a valid postal code\"),t.validator.addMethod(\"postalcodeNL\",function(t,e){return this.optional(e)||/^[1-9][0-9]{3}\\s?[a-zA-Z]{2}$/.test(t)},\"Please specify a valid postal code\"),t.validator.addMethod(\"postcodeUK\",function(t,e){return this.optional(e)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\\s?(0AA))$/i.test(t)},\"Please specify a valid UK postcode\"),t.validator.addMethod(\"require_from_group\",function(e,l,n){var i=t(n[1],l.form),a=i.eq(0),r=a.data(\"valid_req_grp\")?a.data(\"valid_req_grp\"):t.extend({},this),o=i.filter(function(){return r.elementValue(this)}).length>=n[0];return a.data(\"valid_req_grp\",r),t(l).data(\"being_validated\")||(i.data(\"being_validated\",!0),i.each(function(){r.element(this)}),i.data(\"being_validated\",!1)),o},t.validator.format(\"Please fill at least {0} of these fields.\")),t.validator.addMethod(\"skip_or_fill_minimum\",function(e,l,n){var i=t(n[1],l.form),a=i.eq(0),r=a.data(\"valid_skip\")?a.data(\"valid_skip\"):t.extend({},this),o=i.filter(function(){return r.elementValue(this)}).length,s=0===o||o>=n[0];return a.data(\"valid_skip\",r),t(l).data(\"being_validated\")||(i.data(\"being_validated\",!0),i.each(function(){r.element(this)}),i.data(\"being_validated\",!1)),s},t.validator.format(\"Please either skip these fields or fill at least {0} of them.\")),t.validator.addMethod(\"stateUS\",function(t,e,l){var n,i=void 0===l,a=!i&&void 0!==l.caseSensitive&&l.caseSensitive,r=!i&&void 0!==l.includeTerritories&&l.includeTerritories,o=!i&&void 0!==l.includeMilitary&&l.includeMilitary;return n=r||o?r&&o?\"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$\":r?\"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$\":\"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$\":\"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$\",n=a?new RegExp(n):new RegExp(n,\"i\"),this.optional(e)||n.test(t)},\"Please specify a valid state\"),t.validator.addMethod(\"strippedminlength\",function(e,l,n){return t(e).text().length>=n},t.validator.format(\"Please enter at least {0} characters\")),t.validator.addMethod(\"time\",function(t,e){return this.optional(e)||/^([01]\\d|2[0-3]|[0-9])(:[0-5]\\d){1,2}$/.test(t)},\"Please enter a valid time, between 00:00 and 23:59\"),t.validator.addMethod(\"time12h\",function(t,e){return this.optional(e)||/^((0?[1-9]|1[012])(:[0-5]\\d){1,2}(\\ ?[AP]M))$/i.test(t)},\"Please enter a valid time in 12-hour am/pm format\"),t.validator.addMethod(\"url2\",function(t,e){return this.optional(e)||/^(https?|ftp):\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?(((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|((([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|\\d|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.)*(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])*([a-z]|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])))\\.?)(:\\d*)?)(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)?(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i.test(t)},t.validator.messages.url),t.validator.addMethod(\"vinUS\",function(t){if(17!==t.length)return!1;var e,l,n,i,a,r,o=[\"A\",\"B\",\"C\",\"D\",\"E\",\"F\",\"G\",\"H\",\"J\",\"K\",\"L\",\"M\",\"N\",\"P\",\"R\",\"S\",\"T\",\"U\",\"V\",\"W\",\"X\",\"Y\",\"Z\"],s=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],c=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],u=0;for(e=0;e<17;e++){if(i=c[e],n=t.slice(e,e+1),8===e&&(r=n),isNaN(n)){for(l=0;l<o.length;l++)if(n.toUpperCase()===o[l]){n=s[l],n*=i,isNaN(r)&&8===l&&(r=o[l]);break}}else n*=i;u+=n}return 10==(a=u%11)&&(a=\"X\"),a===r},\"The specified vehicle identification number (VIN) is invalid.\"),t.validator.addMethod(\"zipcodeUS\",function(t,e){return this.optional(e)||/^\\d{5}(-\\d{4})?$/.test(t)},\"The specified US ZIP Code is invalid\"),t.validator.addMethod(\"ziprange\",function(t,e){return this.optional(e)||/^90[2-5]\\d\\{2\\}-\\d{4}$/.test(t)},\"Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx\"),t})?n.apply(e,i):n)||(t.exports=a)},function(t,e,l){l(0)(l(89))},function(t,e){t.exports='/*!\\n * SmartWizard v4.3.1\\n * The awesome jQuery step wizard plugin with Bootstrap support\\n * http://www.techlaboratory.net/smartwizard\\n *\\n * Created by Dipu Raj\\n * http://dipuraj.me\\n *\\n * Licensed under the terms of the MIT License\\n * https://github.com/techlab/SmartWizard/blob/master/LICENSE\\n */\\n!function(t,s,e,n){\"use strict\";function i(s,e){this.options=t.extend(!0,{},o,e),this.main=t(s),this.nav=this.main.children(\"ul\"),this.steps=t(\"li > a\",this.nav),this.container=this.main.children(\"div\"),this.pages=this.container.children(\"div\"),this.current_index=null,this.options.toolbarSettings.toolbarButtonPosition=\"right\"===this.options.toolbarSettings.toolbarButtonPosition?\"end\":this.options.toolbarSettings.toolbarButtonPosition,this.options.toolbarSettings.toolbarButtonPosition=\"left\"===this.options.toolbarSettings.toolbarButtonPosition?\"start\":this.options.toolbarSettings.toolbarButtonPosition,this.options.theme=null===this.options.theme||\"\"===this.options.theme?\"default\":this.options.theme,this.init()}var o={selected:0,keyNavigation:!0,autoAdjustHeight:!0,cycleSteps:!1,backButtonSupport:!0,useURLhash:!0,showStepURLhash:!0,lang:{next:\"Next\",previous:\"Previous\"},toolbarSettings:{toolbarPosition:\"bottom\",toolbarButtonPosition:\"end\",showNextButton:!0,showPreviousButton:!0,toolbarExtraButtons:[]},anchorSettings:{anchorClickable:!0,enableAllAnchors:!1,markDoneStep:!0,markAllPreviousStepsAsDone:!0,removeDoneStepOnNavigateBack:!1,enableAnchorOnDoneStep:!0},contentURL:null,contentCache:!0,ajaxSettings:{},disabledSteps:[],errorSteps:[],hiddenSteps:[],theme:\"default\",transitionEffect:\"none\",transitionSpeed:\"400\"};t.extend(i.prototype,{init:function(){this._setElements(),this._setToolbar(),this._setEvents();var e=this.options.selected;if(this.options.useURLhash){var n=s.location.hash;if(n&&n.length>0){var i=t(\"a[href*=\\'\"+n+\"\\']\",this.nav);if(i.length>0){var o=this.steps.index(i);e=o>=0?o:e}}}e>0&&this.options.anchorSettings.markDoneStep&&this.options.anchorSettings.markAllPreviousStepsAsDone&&this.steps.eq(e).parent(\"li\").prevAll().addClass(\"done\"),this._showStep(e)},_setElements:function(){this.main.addClass(\"sw-main sw-theme-\"+this.options.theme),this.nav.addClass(\"nav nav-tabs step-anchor\").children(\"li\").addClass(\"nav-item\").children(\"a\").addClass(\"nav-link\"),this.options.anchorSettings.enableAllAnchors!==!1&&this.options.anchorSettings.anchorClickable!==!1&&this.steps.parent(\"li\").addClass(\"clickable\"),this.container.addClass(\"sw-container tab-content\"),this.pages.addClass(\"tab-pane step-content\");var s=this;return this.options.disabledSteps&&this.options.disabledSteps.length>0&&t.each(this.options.disabledSteps,function(t,e){s.steps.eq(e).parent(\"li\").addClass(\"disabled\")}),this.options.errorSteps&&this.options.errorSteps.length>0&&t.each(this.options.errorSteps,function(t,e){s.steps.eq(e).parent(\"li\").addClass(\"danger\")}),this.options.hiddenSteps&&this.options.hiddenSteps.length>0&&t.each(this.options.hiddenSteps,function(t,e){s.steps.eq(e).parent(\"li\").addClass(\"hidden\")}),!0},_setToolbar:function(){if(\"none\"===this.options.toolbarSettings.toolbarPosition)return!0;var s=this.options.toolbarSettings.showNextButton!==!1?t(\"<button></button>\").text(this.options.lang.next).addClass(\"btn btn-secondary sw-btn-next\").attr(\"type\",\"button\"):null,e=this.options.toolbarSettings.showPreviousButton!==!1?t(\"<button></button>\").text(this.options.lang.previous).addClass(\"btn btn-secondary sw-btn-prev\").attr(\"type\",\"button\"):null,n=t(\"<div></div>\").addClass(\"btn-group mr-2 sw-btn-group\").attr(\"role\",\"group\").append(e,s),i=null;this.options.toolbarSettings.toolbarExtraButtons&&this.options.toolbarSettings.toolbarExtraButtons.length>0&&(i=t(\"<div></div>\").addClass(\"btn-group mr-2 sw-btn-group-extra\").attr(\"role\",\"group\"),t.each(this.options.toolbarSettings.toolbarExtraButtons,function(t,s){i.append(s.clone(!0))}));var o,a;switch(this.options.toolbarSettings.toolbarPosition){case\"top\":o=t(\"<div></div>\").addClass(\"btn-toolbar sw-toolbar sw-toolbar-top justify-content-\"+this.options.toolbarSettings.toolbarButtonPosition),o.append(n),\"start\"===this.options.toolbarSettings.toolbarButtonPosition?o.prepend(i):o.append(i),this.container.before(o);break;case\"bottom\":a=t(\"<div></div>\").addClass(\"btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-\"+this.options.toolbarSettings.toolbarButtonPosition),a.append(n),\"start\"===this.options.toolbarSettings.toolbarButtonPosition?a.prepend(i):a.append(i),this.container.after(a);break;case\"both\":o=t(\"<div></div>\").addClass(\"btn-toolbar sw-toolbar sw-toolbar-top justify-content-\"+this.options.toolbarSettings.toolbarButtonPosition),o.append(n),\"start\"===this.options.toolbarSettings.toolbarButtonPosition?o.prepend(i):o.append(i),this.container.before(o),a=t(\"<div></div>\").addClass(\"btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-\"+this.options.toolbarSettings.toolbarButtonPosition),a.append(n.clone(!0)),null!==i&&(\"start\"===this.options.toolbarSettings.toolbarButtonPosition?a.prepend(i.clone(!0)):a.append(i.clone(!0))),this.container.after(a);break;default:a=t(\"<div></div>\").addClass(\"btn-toolbar sw-toolbar sw-toolbar-bottom justify-content-\"+this.options.toolbarSettings.toolbarButtonPosition),a.append(n),this.options.toolbarSettings.toolbarButtonPosition,a.append(i),this.container.after(a)}return!0},_setEvents:function(){var n=this;return t(this.steps).on(\"click\",function(t){if(t.preventDefault(),n.options.anchorSettings.anchorClickable===!1)return!0;var s=n.steps.index(this);if(n.options.anchorSettings.enableAnchorOnDoneStep===!1&&n.steps.eq(s).parent(\"li\").hasClass(\"done\"))return!0;s!==n.current_index&&(n.options.anchorSettings.enableAllAnchors!==!1&&n.options.anchorSettings.anchorClickable!==!1?n._showStep(s):n.steps.eq(s).parent(\"li\").hasClass(\"done\")&&n._showStep(s))}),t(\".sw-btn-next\",this.main).on(\"click\",function(t){t.preventDefault(),n._showNext()}),t(\".sw-btn-prev\",this.main).on(\"click\",function(t){t.preventDefault(),n._showPrevious()}),this.options.keyNavigation&&t(e).keyup(function(t){n._keyNav(t)}),this.options.backButtonSupport&&t(s).on(\"hashchange\",function(e){if(!n.options.useURLhash)return!0;if(s.location.hash){var i=t(\"a[href*=\\'\"+s.location.hash+\"\\']\",n.nav);i&&i.length>0&&(e.preventDefault(),n._showStep(n.steps.index(i)))}}),!0},_showNext:function(){for(var t=this.current_index+1,s=t;s<this.steps.length;s++)if(!this.steps.eq(s).parent(\"li\").hasClass(\"disabled\")&&!this.steps.eq(s).parent(\"li\").hasClass(\"hidden\")){t=s;break}if(this.steps.length<=t){if(!this.options.cycleSteps)return!1;t=0}return this._showStep(t),!0},_showPrevious:function(){for(var t=this.current_index-1,s=t;s>=0;s--)if(!this.steps.eq(s).parent(\"li\").hasClass(\"disabled\")&&!this.steps.eq(s).parent(\"li\").hasClass(\"hidden\")){t=s;break}if(0>t){if(!this.options.cycleSteps)return!1;t=this.steps.length-1}return this._showStep(t),!0},_showStep:function(t){return!!this.steps.eq(t)&&(t!=this.current_index&&(!this.steps.eq(t).parent(\"li\").hasClass(\"disabled\")&&!this.steps.eq(t).parent(\"li\").hasClass(\"hidden\")&&(this._loadStepContent(t),!0)))},_loadStepContent:function(s){var e=this,n=this.steps.eq(this.current_index),i=\"\",o=this.steps.eq(s),a=o.data(\"content-url\")&&o.data(\"content-url\").length>0?o.data(\"content-url\"):this.options.contentURL;if(null!==this.current_index&&this.current_index!==s&&(i=this.current_index<s?\"forward\":\"backward\"),null!==this.current_index&&this._triggerEvent(\"leaveStep\",[n,this.current_index,i])===!1)return!1;if(!(a&&a.length>0)||o.data(\"has-content\")&&this.options.contentCache)this._transitPage(s);else{var r=o.length>0?t(o.attr(\"href\"),this.main):null,h=t.extend(!0,{},{url:a,type:\"POST\",data:{step_number:s},dataType:\"text\",beforeSend:function(){e._loader(\"show\")},error:function(s,n,i){e._loader(\"hide\"),t.error(i)},success:function(t){t&&t.length>0&&(o.data(\"has-content\",!0),r.html(t)),e._loader(\"hide\"),e._transitPage(s)}},this.options.ajaxSettings);t.ajax(h)}return!0},_transitPage:function(s){var e=this,n=this.steps.eq(this.current_index),i=n.length>0?t(n.attr(\"href\"),this.main):null,o=this.steps.eq(s),a=o.length>0?t(o.attr(\"href\"),this.main):null,r=\"\";null!==this.current_index&&this.current_index!==s&&(r=this.current_index<s?\"forward\":\"backward\");var h=\"middle\";return 0===s?h=\"first\":s===this.steps.length-1&&(h=\"final\"),this.options.transitionEffect=this.options.transitionEffect.toLowerCase(),this.pages.finish(),\"slide\"===this.options.transitionEffect?i&&i.length>0?i.slideUp(\"fast\",this.options.transitionEasing,function(){a.slideDown(e.options.transitionSpeed,e.options.transitionEasing)}):a.slideDown(this.options.transitionSpeed,this.options.transitionEasing):\"fade\"===this.options.transitionEffect?i&&i.length>0?i.fadeOut(\"fast\",this.options.transitionEasing,function(){a.fadeIn(\"fast\",e.options.transitionEasing,function(){t(this).show()})}):a.fadeIn(this.options.transitionSpeed,this.options.transitionEasing,function(){t(this).show()}):(i&&i.length>0&&i.hide(),a.show()),this._setURLHash(o.attr(\"href\")),this._setAnchor(s),this._setButtons(s),this._fixHeight(s),this.current_index=s,this._triggerEvent(\"showStep\",[o,this.current_index,r,h]),!0},_setAnchor:function(t){return this.steps.eq(this.current_index).parent(\"li\").removeClass(\"active\"),this.options.anchorSettings.markDoneStep!==!1&&null!==this.current_index&&(this.steps.eq(this.current_index).parent(\"li\").addClass(\"done\"),this.options.anchorSettings.removeDoneStepOnNavigateBack!==!1&&this.steps.eq(t).parent(\"li\").nextAll().removeClass(\"done\")),this.steps.eq(t).parent(\"li\").removeClass(\"done\").addClass(\"active\"),!0},_setButtons:function(s){return this.options.cycleSteps||(0>=s?t(\".sw-btn-prev\",this.main).addClass(\"disabled\"):t(\".sw-btn-prev\",this.main).removeClass(\"disabled\"),this.steps.length-1<=s?t(\".sw-btn-next\",this.main).addClass(\"disabled\"):t(\".sw-btn-next\",this.main).removeClass(\"disabled\")),!0},_keyNav:function(t){var s=this;switch(t.which){case 37:s._showPrevious(),t.preventDefault();break;case 39:s._showNext(),t.preventDefault();break;default:return}},_fixHeight:function(s){if(this.options.autoAdjustHeight){var e=this.steps.eq(s).length>0?t(this.steps.eq(s).attr(\"href\"),this.main):null;this.container.finish().animate({minHeight:e.outerHeight()},this.options.transitionSpeed,function(){})}return!0},_triggerEvent:function(s,e){var n=t.Event(s);return this.main.trigger(n,e),!n.isDefaultPrevented()&&n.result},_setURLHash:function(t){this.options.showStepURLhash&&s.location.hash!==t&&(s.location.hash=t)},_loader:function(t){switch(t){case\"show\":this.main.addClass(\"sw-loading\");break;case\"hide\":this.main.removeClass(\"sw-loading\");break;default:this.main.toggleClass(\"sw-loading\")}},theme:function(t){if(this.options.theme===t)return!1;this.main.removeClass(\"sw-theme-\"+this.options.theme),this.options.theme=t,this.main.addClass(\"sw-theme-\"+this.options.theme),this._triggerEvent(\"themeChanged\",[this.options.theme])},next:function(){this._showNext()},prev:function(){this._showPrevious()},reset:function(){if(this._triggerEvent(\"beginReset\")===!1)return!1;this.container.stop(!0),this.pages.stop(!0),this.pages.hide(),this.current_index=null,this._setURLHash(this.steps.eq(this.options.selected).attr(\"href\")),t(\".sw-toolbar\",this.main).remove(),this.steps.removeClass(),this.steps.parents(\"li\").removeClass(),this.steps.data(\"has-content\",!1),this.init(),this._triggerEvent(\"endReset\")},stepState:function(s,e){s=t.isArray(s)?s:[s];var n=t.grep(this.steps,function(e,n){return t.inArray(n,s)!==-1});if(n&&n.length>0)switch(e){case\"disable\":t(n).parents(\"li\").addClass(\"disabled\");break;case\"enable\":t(n).parents(\"li\").removeClass(\"disabled\");break;case\"hide\":t(n).parents(\"li\").addClass(\"hidden\");break;case\"show\":t(n).parents(\"li\").removeClass(\"hidden\");break;case\"error-on\":t(n).parents(\"li\").addClass(\"danger\");break;case\"error-off\":t(n).parents(\"li\").removeClass(\"danger\")}}}),t.fn.smartWizard=function(s){var e,n=arguments;return void 0===s||\"object\"==typeof s?this.each(function(){t.data(this,\"smartWizard\")||t.data(this,\"smartWizard\",new i(this,s))}):\"string\"==typeof s&&\"_\"!==s[0]&&\"init\"!==s?(e=t.data(this[0],\"smartWizard\"),\"destroy\"===s&&t.data(this,\"smartWizard\",null),e instanceof i&&\"function\"==typeof e[s]?e[s].apply(e,Array.prototype.slice.call(n,1)):this):void 0}}(jQuery,window,document);'},function(t,e,l){l(0)(l(91))},function(t,e){t.exports='!function($){var apiParams={set:{colors:1,values:1,backgroundColor:1,scaleColors:1,normalizeFunction:1,focus:1},get:{selectedRegions:1,selectedMarkers:1,mapObject:1,regionName:1}};$.fn.vectorMap=function(options){var map,methodName,map=this.children(\".jvectormap-container\").data(\"mapObject\");if(\"addMap\"===options)jvm.Map.maps[arguments[1]]=arguments[2];else{if((\"set\"===options||\"get\"===options)&&apiParams[options][arguments[1]])return methodName=arguments[1].charAt(0).toUpperCase()+arguments[1].substr(1),map[options+methodName].apply(map,Array.prototype.slice.call(arguments,2));options=options||{},options.container=this,map=new jvm.Map(options)}return this}}(jQuery),function(factory){\"function\"==typeof define&&define.amd?define([\"jquery\"],factory):\"object\"==typeof exports?module.exports=factory:factory(jQuery)}(function($){function handler(event){var orgEvent=event||window.event,args=slice.call(arguments,1),delta=0,deltaX=0,deltaY=0,absDelta=0;if(event=$.event.fix(orgEvent),event.type=\"mousewheel\",\"detail\"in orgEvent&&(deltaY=-1*orgEvent.detail),\"wheelDelta\"in orgEvent&&(deltaY=orgEvent.wheelDelta),\"wheelDeltaY\"in orgEvent&&(deltaY=orgEvent.wheelDeltaY),\"wheelDeltaX\"in orgEvent&&(deltaX=-1*orgEvent.wheelDeltaX),\"axis\"in orgEvent&&orgEvent.axis===orgEvent.HORIZONTAL_AXIS&&(deltaX=-1*deltaY,deltaY=0),delta=0===deltaY?deltaX:deltaY,\"deltaY\"in orgEvent&&(deltaY=-1*orgEvent.deltaY,delta=deltaY),\"deltaX\"in orgEvent&&(deltaX=orgEvent.deltaX,0===deltaY&&(delta=-1*deltaX)),0!==deltaY||0!==deltaX){if(1===orgEvent.deltaMode){var lineHeight=$.data(this,\"mousewheel-line-height\");delta*=lineHeight,deltaY*=lineHeight,deltaX*=lineHeight}else if(2===orgEvent.deltaMode){var pageHeight=$.data(this,\"mousewheel-page-height\");delta*=pageHeight,deltaY*=pageHeight,deltaX*=pageHeight}return absDelta=Math.max(Math.abs(deltaY),Math.abs(deltaX)),(!lowestDelta||lowestDelta>absDelta)&&(lowestDelta=absDelta,shouldAdjustOldDeltas(orgEvent,absDelta)&&(lowestDelta/=40)),shouldAdjustOldDeltas(orgEvent,absDelta)&&(delta/=40,deltaX/=40,deltaY/=40),delta=Math[delta>=1?\"floor\":\"ceil\"](delta/lowestDelta),deltaX=Math[deltaX>=1?\"floor\":\"ceil\"](deltaX/lowestDelta),deltaY=Math[deltaY>=1?\"floor\":\"ceil\"](deltaY/lowestDelta),event.deltaX=deltaX,event.deltaY=deltaY,event.deltaFactor=lowestDelta,event.deltaMode=0,args.unshift(event,delta,deltaX,deltaY),nullLowestDeltaTimeout&&clearTimeout(nullLowestDeltaTimeout),nullLowestDeltaTimeout=setTimeout(nullLowestDelta,200),($.event.dispatch||$.event.handle).apply(this,args)}}function nullLowestDelta(){lowestDelta=null}function shouldAdjustOldDeltas(orgEvent,absDelta){return special.settings.adjustOldDeltas&&\"mousewheel\"===orgEvent.type&&absDelta%120===0}var nullLowestDeltaTimeout,lowestDelta,toFix=[\"wheel\",\"mousewheel\",\"DOMMouseScroll\",\"MozMousePixelScroll\"],toBind=\"onwheel\"in document||document.documentMode>=9?[\"wheel\"]:[\"mousewheel\",\"DomMouseScroll\",\"MozMousePixelScroll\"],slice=Array.prototype.slice;if($.event.fixHooks)for(var i=toFix.length;i;)$.event.fixHooks[toFix[--i]]=$.event.mouseHooks;var special=$.event.special.mousewheel={version:\"3.1.9\",setup:function(){if(this.addEventListener)for(var i=toBind.length;i;)this.addEventListener(toBind[--i],handler,!1);else this.onmousewheel=handler;$.data(this,\"mousewheel-line-height\",special.getLineHeight(this)),$.data(this,\"mousewheel-page-height\",special.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var i=toBind.length;i;)this.removeEventListener(toBind[--i],handler,!1);else this.onmousewheel=null},getLineHeight:function(elem){return parseInt($(elem)[\"offsetParent\"in $.fn?\"offsetParent\":\"parent\"]().css(\"fontSize\"),10)},getPageHeight:function(elem){return $(elem).height()},settings:{adjustOldDeltas:!0}};$.fn.extend({mousewheel:function(fn){return fn?this.bind(\"mousewheel\",fn):this.trigger(\"mousewheel\")},unmousewheel:function(fn){return this.unbind(\"mousewheel\",fn)}})});var jvm={inherits:function(child,parent){function temp(){}temp.prototype=parent.prototype,child.prototype=new temp,child.prototype.constructor=child,child.parentClass=parent},mixin:function(target,source){var prop;for(prop in source.prototype)source.prototype.hasOwnProperty(prop)&&(target.prototype[prop]=source.prototype[prop])},min:function(values){var i,min=Number.MAX_VALUE;if(values instanceof Array)for(i=0;i<values.length;i++)values[i]<min&&(min=values[i]);else for(i in values)values[i]<min&&(min=values[i]);return min},max:function(values){var i,max=Number.MIN_VALUE;if(values instanceof Array)for(i=0;i<values.length;i++)values[i]>max&&(max=values[i]);else for(i in values)values[i]>max&&(max=values[i]);return max},keys:function(object){var key,keys=[];for(key in object)keys.push(key);return keys},values:function(object){var key,i,values=[];for(i=0;i<arguments.length;i++){object=arguments[i];for(key in object)values.push(object[key])}return values},whenImageLoaded:function(url){var deferred=new jvm.$.Deferred,img=jvm.$(\"<img/>\");return img.error(function(){deferred.reject()}).load(function(){deferred.resolve(img)}),img.attr(\"src\",url),deferred},isImageUrl:function(s){return/\\\\.\\\\w{3,4}$/.test(s)}};jvm.$=jQuery,Array.prototype.indexOf||(Array.prototype.indexOf=function(searchElement,fromIndex){var k;if(null==this)throw new TypeError(\\'\"this\" is null or not defined\\');var O=Object(this),len=O.length>>>0;if(0===len)return-1;var n=+fromIndex||0;if(Math.abs(n)===1/0&&(n=0),n>=len)return-1;for(k=Math.max(n>=0?n:len-Math.abs(n),0);len>k;){if(k in O&&O[k]===searchElement)return k;k++}return-1}),jvm.AbstractElement=function(name,config){this.node=this.createElement(name),this.name=name,this.properties={},config&&this.set(config)},jvm.AbstractElement.prototype.set=function(property,value){var key;if(\"object\"==typeof property)for(key in property)this.properties[key]=property[key],this.applyAttr(key,property[key]);else this.properties[property]=value,this.applyAttr(property,value)},jvm.AbstractElement.prototype.get=function(property){return this.properties[property]},jvm.AbstractElement.prototype.applyAttr=function(property,value){this.node.setAttribute(property,value)},jvm.AbstractElement.prototype.remove=function(){jvm.$(this.node).remove()},jvm.AbstractCanvasElement=function(container,width,height){this.container=container,this.setSize(width,height),this.rootElement=new jvm[this.classPrefix+\"GroupElement\"],this.node.appendChild(this.rootElement.node),this.container.appendChild(this.node)},jvm.AbstractCanvasElement.prototype.add=function(element,group){group=group||this.rootElement,group.add(element),element.canvas=this},jvm.AbstractCanvasElement.prototype.addPath=function(config,style,group){var el=new jvm[this.classPrefix+\"PathElement\"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addCircle=function(config,style,group){var el=new jvm[this.classPrefix+\"CircleElement\"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addImage=function(config,style,group){var el=new jvm[this.classPrefix+\"ImageElement\"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addText=function(config,style,group){var el=new jvm[this.classPrefix+\"TextElement\"](config,style);return this.add(el,group),el},jvm.AbstractCanvasElement.prototype.addGroup=function(parentGroup){var el=new jvm[this.classPrefix+\"GroupElement\"];return parentGroup?parentGroup.node.appendChild(el.node):this.node.appendChild(el.node),el.canvas=this,el},jvm.AbstractShapeElement=function(name,config,style){this.style=style||{},this.style.current=this.style.current||{},this.isHovered=!1,this.isSelected=!1,this.updateStyle()},jvm.AbstractShapeElement.prototype.setStyle=function(property,value){var styles={};\"object\"==typeof property?styles=property:styles[property]=value,jvm.$.extend(this.style.current,styles),this.updateStyle()},jvm.AbstractShapeElement.prototype.updateStyle=function(){var attrs={};jvm.AbstractShapeElement.mergeStyles(attrs,this.style.initial),jvm.AbstractShapeElement.mergeStyles(attrs,this.style.current),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(attrs,this.style.hover),this.isSelected&&(jvm.AbstractShapeElement.mergeStyles(attrs,this.style.selected),this.isHovered&&jvm.AbstractShapeElement.mergeStyles(attrs,this.style.selectedHover)),this.set(attrs)},jvm.AbstractShapeElement.mergeStyles=function(styles,newStyles){var key;newStyles=newStyles||{};for(key in newStyles)null===newStyles[key]?delete styles[key]:styles[key]=newStyles[key]},jvm.SVGElement=function(){jvm.SVGElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.SVGElement,jvm.AbstractElement),jvm.SVGElement.svgns=\"http://www.w3.org/2000/svg\",jvm.SVGElement.prototype.createElement=function(tagName){return document.createElementNS(jvm.SVGElement.svgns,tagName)},jvm.SVGElement.prototype.addClass=function(className){this.node.setAttribute(\"class\",className)},jvm.SVGElement.prototype.getElementCtr=function(ctr){return jvm[\"SVG\"+ctr]},jvm.SVGElement.prototype.getBBox=function(){return this.node.getBBox()},jvm.SVGGroupElement=function(){jvm.SVGGroupElement.parentClass.call(this,\"g\")},jvm.inherits(jvm.SVGGroupElement,jvm.SVGElement),jvm.SVGGroupElement.prototype.add=function(element){this.node.appendChild(element.node)},jvm.SVGCanvasElement=function(){this.classPrefix=\"SVG\",jvm.SVGCanvasElement.parentClass.call(this,\"svg\"),this.defsElement=new jvm.SVGElement(\"defs\"),this.node.appendChild(this.defsElement.node),jvm.AbstractCanvasElement.apply(this,arguments)},jvm.inherits(jvm.SVGCanvasElement,jvm.SVGElement),jvm.mixin(jvm.SVGCanvasElement,jvm.AbstractCanvasElement),jvm.SVGCanvasElement.prototype.setSize=function(width,height){this.width=width,this.height=height,this.node.setAttribute(\"width\",width),this.node.setAttribute(\"height\",height)},jvm.SVGCanvasElement.prototype.applyTransformParams=function(scale,transX,transY){this.scale=scale,this.transX=transX,this.transY=transY,this.rootElement.node.setAttribute(\"transform\",\"scale(\"+scale+\") translate(\"+transX+\", \"+transY+\")\")},jvm.SVGShapeElement=function(name,config){jvm.SVGShapeElement.parentClass.call(this,name,config),jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.SVGShapeElement,jvm.SVGElement),jvm.mixin(jvm.SVGShapeElement,jvm.AbstractShapeElement),jvm.SVGShapeElement.prototype.applyAttr=function(attr,value){var patternEl,imageEl,that=this;\"fill\"===attr&&jvm.isImageUrl(value)?jvm.SVGShapeElement.images[value]?this.applyAttr(\"fill\",\"url(#image\"+jvm.SVGShapeElement.images[value]+\")\"):jvm.whenImageLoaded(value).then(function(img){imageEl=new jvm.SVGElement(\"image\"),imageEl.node.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",value),imageEl.applyAttr(\"x\",\"0\"),imageEl.applyAttr(\"y\",\"0\"),imageEl.applyAttr(\"width\",img[0].width),imageEl.applyAttr(\"height\",img[0].height),patternEl=new jvm.SVGElement(\"pattern\"),patternEl.applyAttr(\"id\",\"image\"+jvm.SVGShapeElement.imageCounter),patternEl.applyAttr(\"x\",0),patternEl.applyAttr(\"y\",0),patternEl.applyAttr(\"width\",img[0].width/2),patternEl.applyAttr(\"height\",img[0].height/2),patternEl.applyAttr(\"viewBox\",\"0 0 \"+img[0].width+\" \"+img[0].height),patternEl.applyAttr(\"patternUnits\",\"userSpaceOnUse\"),patternEl.node.appendChild(imageEl.node),that.canvas.defsElement.node.appendChild(patternEl.node),jvm.SVGShapeElement.images[value]=jvm.SVGShapeElement.imageCounter++,that.applyAttr(\"fill\",\"url(#image\"+jvm.SVGShapeElement.images[value]+\")\")}):jvm.SVGShapeElement.parentClass.prototype.applyAttr.apply(this,arguments)},jvm.SVGShapeElement.imageCounter=1,jvm.SVGShapeElement.images={},jvm.SVGPathElement=function(config,style){jvm.SVGPathElement.parentClass.call(this,\"path\",config,style),this.node.setAttribute(\"fill-rule\",\"evenodd\")},jvm.inherits(jvm.SVGPathElement,jvm.SVGShapeElement),jvm.SVGCircleElement=function(config,style){jvm.SVGCircleElement.parentClass.call(this,\"circle\",config,style)},jvm.inherits(jvm.SVGCircleElement,jvm.SVGShapeElement),jvm.SVGImageElement=function(config,style){jvm.SVGImageElement.parentClass.call(this,\"image\",config,style)},jvm.inherits(jvm.SVGImageElement,jvm.SVGShapeElement),jvm.SVGImageElement.prototype.applyAttr=function(attr,value){var that=this;\"image\"==attr?jvm.whenImageLoaded(value).then(function(img){that.node.setAttributeNS(\"http://www.w3.org/1999/xlink\",\"href\",value),that.width=img[0].width,that.height=img[0].height,that.applyAttr(\"width\",that.width),that.applyAttr(\"height\",that.height),that.applyAttr(\"x\",that.cx-that.width/2),that.applyAttr(\"y\",that.cy-that.height/2),jvm.$(that.node).trigger(\"imageloaded\",[img])}):\"cx\"==attr?(this.cx=value,this.width&&this.applyAttr(\"x\",value-this.width/2)):\"cy\"==attr?(this.cy=value,this.height&&this.applyAttr(\"y\",value-this.height/2)):jvm.SVGImageElement.parentClass.prototype.applyAttr.apply(this,arguments)},jvm.SVGTextElement=function(config,style){jvm.SVGTextElement.parentClass.call(this,\"text\",config,style)},jvm.inherits(jvm.SVGTextElement,jvm.SVGShapeElement),jvm.SVGTextElement.prototype.applyAttr=function(attr,value){\"text\"===attr?this.node.textContent=value:jvm.SVGTextElement.parentClass.prototype.applyAttr.apply(this,arguments)},jvm.VMLElement=function(){jvm.VMLElement.VMLInitialized||jvm.VMLElement.initializeVML(),jvm.VMLElement.parentClass.apply(this,arguments)},jvm.inherits(jvm.VMLElement,jvm.AbstractElement),jvm.VMLElement.VMLInitialized=!1,jvm.VMLElement.initializeVML=function(){try{document.namespaces.rvml||document.namespaces.add(\"rvml\",\"urn:schemas-microsoft-com:vml\"),jvm.VMLElement.prototype.createElement=function(tagName){return document.createElement(\"<rvml:\"+tagName+\\' class=\"rvml\">\\')}}catch(e){jvm.VMLElement.prototype.createElement=function(tagName){return document.createElement(\"<\"+tagName+\\' xmlns=\"urn:schemas-microsoft.com:vml\" class=\"rvml\">\\')}}document.createStyleSheet().addRule(\".rvml\",\"behavior:url(#default#VML)\"),jvm.VMLElement.VMLInitialized=!0},jvm.VMLElement.prototype.getElementCtr=function(ctr){return jvm[\"VML\"+ctr]},jvm.VMLElement.prototype.addClass=function(className){jvm.$(this.node).addClass(className)},jvm.VMLElement.prototype.applyAttr=function(attr,value){this.node[attr]=value},jvm.VMLElement.prototype.getBBox=function(){var node=jvm.$(this.node);return{x:node.position().left/this.canvas.scale,y:node.position().top/this.canvas.scale,width:node.width()/this.canvas.scale,height:node.height()/this.canvas.scale}},jvm.VMLGroupElement=function(){jvm.VMLGroupElement.parentClass.call(this,\"group\"),this.node.style.left=\"0px\",this.node.style.top=\"0px\",this.node.coordorigin=\"0 0\"},jvm.inherits(jvm.VMLGroupElement,jvm.VMLElement),jvm.VMLGroupElement.prototype.add=function(element){this.node.appendChild(element.node)},jvm.VMLCanvasElement=function(){this.classPrefix=\"VML\",jvm.VMLCanvasElement.parentClass.call(this,\"group\"),jvm.AbstractCanvasElement.apply(this,arguments),this.node.style.position=\"absolute\"},jvm.inherits(jvm.VMLCanvasElement,jvm.VMLElement),jvm.mixin(jvm.VMLCanvasElement,jvm.AbstractCanvasElement),jvm.VMLCanvasElement.prototype.setSize=function(width,height){var paths,groups,i,l;if(this.width=width,this.height=height,this.node.style.width=width+\"px\",this.node.style.height=height+\"px\",this.node.coordsize=width+\" \"+height,this.node.coordorigin=\"0 0\",this.rootElement){for(paths=this.rootElement.node.getElementsByTagName(\"shape\"),i=0,l=paths.length;l>i;i++)paths[i].coordsize=width+\" \"+height,paths[i].style.width=width+\"px\",paths[i].style.height=height+\"px\";for(groups=this.node.getElementsByTagName(\"group\"),i=0,l=groups.length;l>i;i++)groups[i].coordsize=width+\" \"+height,groups[i].style.width=width+\"px\",groups[i].style.height=height+\"px\"}},jvm.VMLCanvasElement.prototype.applyTransformParams=function(scale,transX,transY){this.scale=scale,this.transX=transX,this.transY=transY,this.rootElement.node.coordorigin=this.width-transX-this.width/100+\",\"+(this.height-transY-this.height/100),this.rootElement.node.coordsize=this.width/scale+\",\"+this.height/scale},jvm.VMLShapeElement=function(name,config){jvm.VMLShapeElement.parentClass.call(this,name,config),this.fillElement=new jvm.VMLElement(\"fill\"),this.strokeElement=new jvm.VMLElement(\"stroke\"),this.node.appendChild(this.fillElement.node),this.node.appendChild(this.strokeElement.node),this.node.stroked=!1,jvm.AbstractShapeElement.apply(this,arguments)},jvm.inherits(jvm.VMLShapeElement,jvm.VMLElement),jvm.mixin(jvm.VMLShapeElement,jvm.AbstractShapeElement),jvm.VMLShapeElement.prototype.applyAttr=function(attr,value){switch(attr){case\"fill\":this.node.fillcolor=value;break;case\"fill-opacity\":this.fillElement.node.opacity=Math.round(100*value)+\"%\";break;case\"stroke\":this.node.stroked=\"none\"===value?!1:!0,this.node.strokecolor=value;break;case\"stroke-opacity\":this.strokeElement.node.opacity=Math.round(100*value)+\"%\";break;case\"stroke-width\":this.node.stroked=0===parseInt(value,10)?!1:!0,this.node.strokeweight=value;break;case\"d\":this.node.path=jvm.VMLPathElement.pathSvgToVml(value);break;default:jvm.VMLShapeElement.parentClass.prototype.applyAttr.apply(this,arguments)}},jvm.VMLPathElement=function(config,style){var scale=new jvm.VMLElement(\"skew\");jvm.VMLPathElement.parentClass.call(this,\"shape\",config,style),this.node.coordorigin=\"0 0\",scale.node.on=!0,scale.node.matrix=\"0.01,0,0,0.01,0,0\",scale.node.offset=\"0,0\",this.node.appendChild(scale.node)},jvm.inherits(jvm.VMLPathElement,jvm.VMLShapeElement),jvm.VMLPathElement.prototype.applyAttr=function(attr,value){\"d\"===attr?this.node.path=jvm.VMLPathElement.pathSvgToVml(value):jvm.VMLShapeElement.prototype.applyAttr.call(this,attr,value)},jvm.VMLPathElement.pathSvgToVml=function(path){var ctrlx,ctrly,cx=0,cy=0;return path=path.replace(/(-?\\\\d+)e(-?\\\\d+)/g,\"0\"),path.replace(/([MmLlHhVvCcSs])\\\\s*((?:-?\\\\d*(?:\\\\.\\\\d+)?\\\\s*,?\\\\s*)+)/g,function(segment,letter,coords){coords=coords.replace(/(\\\\d)-/g,\"$1,-\").replace(/^\\\\s+/g,\"\").replace(/\\\\s+$/g,\"\").replace(/\\\\s+/g,\",\").split(\",\"),coords[0]||coords.shift();for(var i=0,l=coords.length;l>i;i++)coords[i]=Math.round(100*coords[i]);switch(letter){case\"m\":return cx+=coords[0],cy+=coords[1],\"t\"+coords.join(\",\");case\"M\":return cx=coords[0],cy=coords[1],\"m\"+coords.join(\",\");case\"l\":return cx+=coords[0],cy+=coords[1],\"r\"+coords.join(\",\");case\"L\":return cx=coords[0],cy=coords[1],\"l\"+coords.join(\",\");case\"h\":return cx+=coords[0],\"r\"+coords[0]+\",0\";case\"H\":return cx=coords[0],\"l\"+cx+\",\"+cy;case\"v\":return cy+=coords[0],\"r0,\"+coords[0];case\"V\":return cy=coords[0],\"l\"+cx+\",\"+cy;case\"c\":return ctrlx=cx+coords[coords.length-4],ctrly=cy+coords[coords.length-3],cx+=coords[coords.length-2],cy+=coords[coords.length-1],\"v\"+coords.join(\",\");case\"C\":return ctrlx=coords[coords.length-4],ctrly=coords[coords.length-3],cx=coords[coords.length-2],cy=coords[coords.length-1],\"c\"+coords.join(\",\");case\"s\":return coords.unshift(cy-ctrly),coords.unshift(cx-ctrlx),ctrlx=cx+coords[coords.length-4],ctrly=cy+coords[coords.length-3],cx+=coords[coords.length-2],cy+=coords[coords.length-1],\"v\"+coords.join(\",\");case\"S\":return coords.unshift(cy+cy-ctrly),coords.unshift(cx+cx-ctrlx),ctrlx=coords[coords.length-4],ctrly=coords[coords.length-3],cx=coords[coords.length-2],cy=coords[coords.length-1],\"c\"+coords.join(\",\")}return\"\"}).replace(/z/g,\"e\")},jvm.VMLCircleElement=function(config,style){jvm.VMLCircleElement.parentClass.call(this,\"oval\",config,style)},jvm.inherits(jvm.VMLCircleElement,jvm.VMLShapeElement),jvm.VMLCircleElement.prototype.applyAttr=function(attr,value){switch(attr){case\"r\":this.node.style.width=2*value+\"px\",this.node.style.height=2*value+\"px\",this.applyAttr(\"cx\",this.get(\"cx\")||0),this.applyAttr(\"cy\",this.get(\"cy\")||0);break;case\"cx\":if(!value)return;this.node.style.left=value-(this.get(\"r\")||0)+\"px\";break;case\"cy\":if(!value)return;this.node.style.top=value-(this.get(\"r\")||0)+\"px\";break;default:jvm.VMLCircleElement.parentClass.prototype.applyAttr.call(this,attr,value)}},jvm.VectorCanvas=function(container,width,height){return this.mode=window.SVGAngle?\"svg\":\"vml\",this.impl=\"svg\"==this.mode?new jvm.SVGCanvasElement(container,width,height):new jvm.VMLCanvasElement(container,width,height),this.impl.mode=this.mode,this.impl},jvm.SimpleScale=function(scale){this.scale=scale},jvm.SimpleScale.prototype.getValue=function(value){return value},jvm.OrdinalScale=function(scale){this.scale=scale},jvm.OrdinalScale.prototype.getValue=function(value){return this.scale[value]},jvm.OrdinalScale.prototype.getTicks=function(){var key,ticks=[];for(key in this.scale)ticks.push({label:key,value:this.scale[key]});return ticks},jvm.NumericScale=function(scale,normalizeFunction,minValue,maxValue){this.scale=[],normalizeFunction=normalizeFunction||\"linear\",scale&&this.setScale(scale),normalizeFunction&&this.setNormalizeFunction(normalizeFunction),\"undefined\"!=typeof minValue&&this.setMin(minValue),\"undefined\"!=typeof maxValue&&this.setMax(maxValue)},jvm.NumericScale.prototype={setMin:function(min){this.clearMinValue=min,this.minValue=\"function\"==typeof this.normalize?this.normalize(min):min},setMax:function(max){this.clearMaxValue=max,this.maxValue=\"function\"==typeof this.normalize?this.normalize(max):max},setScale:function(scale){var i;for(this.scale=[],i=0;i<scale.length;i++)this.scale[i]=[scale[i]]},setNormalizeFunction:function(f){\"polynomial\"===f?this.normalize=function(value){return Math.pow(value,.2)}:\"linear\"===f?delete this.normalize:this.normalize=f,this.setMin(this.clearMinValue),this.setMax(this.clearMaxValue)},getValue:function(value){var l,c,lengthes=[],fullLength=0,i=0;for(\"function\"==typeof this.normalize&&(value=this.normalize(value)),i=0;i<this.scale.length-1;i++)l=this.vectorLength(this.vectorSubtract(this.scale[i+1],this.scale[i])),lengthes.push(l),fullLength+=l;for(c=(this.maxValue-this.minValue)/fullLength,i=0;i<lengthes.length;i++)lengthes[i]*=c;for(i=0,value-=this.minValue;value-lengthes[i]>=0;)value-=lengthes[i],i++;return value=this.vectorToNum(i==this.scale.length-1?this.scale[i]:this.vectorAdd(this.scale[i],this.vectorMult(this.vectorSubtract(this.scale[i+1],this.scale[i]),value/lengthes[i])))},vectorToNum:function(vector){var i,num=0;for(i=0;i<vector.length;i++)num+=Math.round(vector[i])*Math.pow(256,vector.length-i-1);return num},vectorSubtract:function(vector1,vector2){var i,vector=[];for(i=0;i<vector1.length;i++)vector[i]=vector1[i]-vector2[i];return vector},vectorAdd:function(vector1,vector2){var i,vector=[];for(i=0;i<vector1.length;i++)vector[i]=vector1[i]+vector2[i];return vector},vectorMult:function(vector,num){var i,result=[];for(i=0;i<vector.length;i++)result[i]=vector[i]*num;return result},vectorLength:function(vector){var i,result=0;for(i=0;i<vector.length;i++)result+=vector[i]*vector[i];return Math.sqrt(result)},getTicks:function(){var tick,v,m=5,extent=[this.clearMinValue,this.clearMaxValue],span=extent[1]-extent[0],step=Math.pow(10,Math.floor(Math.log(span/m)/Math.LN10)),err=m/span*step,ticks=[];for(.15>=err?step*=10:.35>=err?step*=5:.75>=err&&(step*=2),extent[0]=Math.floor(extent[0]/step)*step,extent[1]=Math.ceil(extent[1]/step)*step,tick=extent[0];tick<=extent[1];)v=tick==extent[0]?this.clearMinValue:tick==extent[1]?this.clearMaxValue:tick,ticks.push({label:tick,value:this.getValue(v)}),tick+=step;return ticks}},jvm.ColorScale=function(){jvm.ColorScale.parentClass.apply(this,arguments)},jvm.inherits(jvm.ColorScale,jvm.NumericScale),jvm.ColorScale.prototype.setScale=function(scale){var i;for(i=0;i<scale.length;i++)this.scale[i]=jvm.ColorScale.rgbToArray(scale[i])},jvm.ColorScale.prototype.getValue=function(value){return jvm.ColorScale.numToRgb(jvm.ColorScale.parentClass.prototype.getValue.call(this,value))},jvm.ColorScale.arrayToRgb=function(ar){var d,i,rgb=\"#\";for(i=0;i<ar.length;i++)d=ar[i].toString(16),rgb+=1==d.length?\"0\"+d:d;return rgb},jvm.ColorScale.numToRgb=function(num){for(num=num.toString(16);num.length<6;)num=\"0\"+num;return\"#\"+num},jvm.ColorScale.rgbToArray=function(rgb){return rgb=rgb.substr(1),[parseInt(rgb.substr(0,2),16),parseInt(rgb.substr(2,2),16),parseInt(rgb.substr(4,2),16)]},jvm.Legend=function(params){this.params=params||{},this.map=this.params.map,this.series=this.params.series,this.body=jvm.$(\"<div/>\"),this.body.addClass(\"jvectormap-legend\"),this.params.cssClass&&this.body.addClass(this.params.cssClass),params.vertical?this.map.legendCntVertical.append(this.body):this.map.legendCntHorizontal.append(this.body),this.render()},jvm.Legend.prototype.render=function(){var i,tick,sample,label,ticks=this.series.scale.getTicks(),inner=jvm.$(\"<div/>\").addClass(\"jvectormap-legend-inner\");for(this.body.html(\"\"),this.params.title&&this.body.append(jvm.$(\"<div/>\").addClass(\"jvectormap-legend-title\").html(this.params.title)),this.body.append(inner),i=0;i<ticks.length;i++){switch(tick=jvm.$(\"<div/>\").addClass(\"jvectormap-legend-tick\"),sample=jvm.$(\"<div/>\").addClass(\"jvectormap-legend-tick-sample\"),this.series.params.attribute){case\"fill\":jvm.isImageUrl(ticks[i].value)?sample.css(\"background\",\"url(\"+ticks[i].value+\")\"):sample.css(\"background\",ticks[i].value);break;case\"stroke\":sample.css(\"background\",ticks[i].value);break;case\"image\":sample.css(\"background\",\"url(\"+ticks[i].value+\") no-repeat center center\");break;case\"r\":jvm.$(\"<div/>\").css({\"border-radius\":ticks[i].value,border:this.map.params.markerStyle.initial[\"stroke-width\"]+\"px \"+this.map.params.markerStyle.initial.stroke+\" solid\",width:2*ticks[i].value+\"px\",height:2*ticks[i].value+\"px\",background:this.map.params.markerStyle.initial.fill}).appendTo(sample)}tick.append(sample),label=ticks[i].label,this.params.labelRender&&(label=this.params.labelRender(label)),tick.append(jvm.$(\"<div>\"+label+\" </div>\").addClass(\"jvectormap-legend-tick-text\")),inner.append(tick)}inner.append(jvm.$(\"<div/>\").css(\"clear\",\"both\"))},jvm.DataSeries=function(params,elements,map){var scaleConstructor;params=params||{},params.attribute=params.attribute||\"fill\",this.elements=elements,this.params=params,this.map=map,params.attributes&&this.setAttributes(params.attributes),jvm.$.isArray(params.scale)?(scaleConstructor=\"fill\"===params.attribute||\"stroke\"===params.attribute?jvm.ColorScale:jvm.NumericScale,this.scale=new scaleConstructor(params.scale,params.normalizeFunction,params.min,params.max)):this.scale=params.scale?new jvm.OrdinalScale(params.scale):new jvm.SimpleScale(params.scale),this.values=params.values||{},this.setValues(this.values),this.params.legend&&(this.legend=new jvm.Legend($.extend({map:this.map,series:this},this.params.legend)))},jvm.DataSeries.prototype={setAttributes:function(key,attr){var code,attrs=key;if(\"string\"==typeof key)this.elements[key]&&this.elements[key].setStyle(this.params.attribute,attr);else for(code in attrs)this.elements[code]&&this.elements[code].element.setStyle(this.params.attribute,attrs[code])},setValues:function(values){var val,cc,max=-Number.MAX_VALUE,min=Number.MAX_VALUE,attrs={};if(this.scale instanceof jvm.OrdinalScale||this.scale instanceof jvm.SimpleScale)for(cc in values)attrs[cc]=values[cc]?this.scale.getValue(values[cc]):this.elements[cc].element.style.initial[this.params.attribute];else{if(\"undefined\"==typeof this.params.min||\"undefined\"==typeof this.params.max)for(cc in values)val=parseFloat(values[cc]),val>max&&(max=val),min>val&&(min=val);\"undefined\"==typeof this.params.min?(this.scale.setMin(min),this.params.min=min):this.scale.setMin(this.params.min),\"undefined\"==typeof this.params.max?(this.scale.setMax(max),this.params.max=max):this.scale.setMax(this.params.max);for(cc in values)\"indexOf\"!=cc&&(val=parseFloat(values[cc]),attrs[cc]=isNaN(val)?this.elements[cc].element.style.initial[this.params.attribute]:this.scale.getValue(val))}this.setAttributes(attrs),jvm.$.extend(this.values,values)},clear:function(){var key,attrs={};for(key in this.values)this.elements[key]&&(attrs[key]=this.elements[key].element.shape.style.initial[this.params.attribute]);this.setAttributes(attrs),this.values={}},setScale:function(scale){this.scale.setScale(scale),this.values&&this.setValues(this.values)},setNormalizeFunction:function(f){this.scale.setNormalizeFunction(f),this.values&&this.setValues(this.values)}},jvm.Proj={degRad:180/Math.PI,radDeg:Math.PI/180,radius:6381372,sgn:function(n){return n>0?1:0>n?-1:n},mill:function(lat,lng,c){return{x:this.radius*(lng-c)*this.radDeg,y:-this.radius*Math.log(Math.tan((45+.4*lat)*this.radDeg))/.8}},mill_inv:function(x,y,c){return{lat:(2.5*Math.atan(Math.exp(.8*y/this.radius))-5*Math.PI/8)*this.degRad,lng:(c*this.radDeg+x/this.radius)*this.degRad}},merc:function(lat,lng,c){return{x:this.radius*(lng-c)*this.radDeg,y:-this.radius*Math.log(Math.tan(Math.PI/4+lat*Math.PI/360))}},merc_inv:function(x,y,c){return{lat:(2*Math.atan(Math.exp(y/this.radius))-Math.PI/2)*this.degRad,lng:(c*this.radDeg+x/this.radius)*this.degRad}},aea:function(lat,lng,c){var fi0=0,lambda0=c*this.radDeg,fi1=29.5*this.radDeg,fi2=45.5*this.radDeg,fi=lat*this.radDeg,lambda=lng*this.radDeg,n=(Math.sin(fi1)+Math.sin(fi2))/2,C=Math.cos(fi1)*Math.cos(fi1)+2*n*Math.sin(fi1),theta=n*(lambda-lambda0),ro=Math.sqrt(C-2*n*Math.sin(fi))/n,ro0=Math.sqrt(C-2*n*Math.sin(fi0))/n;return{x:ro*Math.sin(theta)*this.radius,y:-(ro0-ro*Math.cos(theta))*this.radius}},aea_inv:function(xCoord,yCoord,c){var x=xCoord/this.radius,y=yCoord/this.radius,fi0=0,lambda0=c*this.radDeg,fi1=29.5*this.radDeg,fi2=45.5*this.radDeg,n=(Math.sin(fi1)+Math.sin(fi2))/2,C=Math.cos(fi1)*Math.cos(fi1)+2*n*Math.sin(fi1),ro0=Math.sqrt(C-2*n*Math.sin(fi0))/n,ro=Math.sqrt(x*x+(ro0-y)*(ro0-y)),theta=Math.atan(x/(ro0-y));return{lat:Math.asin((C-ro*ro*n*n)/(2*n))*this.degRad,lng:(lambda0+theta/n)*this.degRad}},lcc:function(lat,lng,c){var fi0=0,lambda0=c*this.radDeg,lambda=lng*this.radDeg,fi1=33*this.radDeg,fi2=45*this.radDeg,fi=lat*this.radDeg,n=Math.log(Math.cos(fi1)*(1/Math.cos(fi2)))/Math.log(Math.tan(Math.PI/4+fi2/2)*(1/Math.tan(Math.PI/4+fi1/2))),F=Math.cos(fi1)*Math.pow(Math.tan(Math.PI/4+fi1/2),n)/n,ro=F*Math.pow(1/Math.tan(Math.PI/4+fi/2),n),ro0=F*Math.pow(1/Math.tan(Math.PI/4+fi0/2),n);return{x:ro*Math.sin(n*(lambda-lambda0))*this.radius,y:-(ro0-ro*Math.cos(n*(lambda-lambda0)))*this.radius}},lcc_inv:function(xCoord,yCoord,c){var x=xCoord/this.radius,y=yCoord/this.radius,fi0=0,lambda0=c*this.radDeg,fi1=33*this.radDeg,fi2=45*this.radDeg,n=Math.log(Math.cos(fi1)*(1/Math.cos(fi2)))/Math.log(Math.tan(Math.PI/4+fi2/2)*(1/Math.tan(Math.PI/4+fi1/2))),F=Math.cos(fi1)*Math.pow(Math.tan(Math.PI/4+fi1/2),n)/n,ro0=F*Math.pow(1/Math.tan(Math.PI/4+fi0/2),n),ro=this.sgn(n)*Math.sqrt(x*x+(ro0-y)*(ro0-y)),theta=Math.atan(x/(ro0-y));return{lat:(2*Math.atan(Math.pow(F/ro,1/n))-Math.PI/2)*this.degRad,lng:(lambda0+theta/n)*this.degRad}}},jvm.MapObject=function(){},jvm.MapObject.prototype.getLabelText=function(key){var text;return text=this.config.label?\"function\"==typeof this.config.label.render?this.config.label.render(key):key:null},jvm.MapObject.prototype.getLabelOffsets=function(key){var offsets;return this.config.label&&(\"function\"==typeof this.config.label.offsets?offsets=this.config.label.offsets(key):\"object\"==typeof this.config.label.offsets&&(offsets=this.config.label.offsets[key])),offsets||[0,0]},jvm.MapObject.prototype.setHovered=function(isHovered){this.isHovered!==isHovered&&(this.isHovered=isHovered,this.shape.isHovered=isHovered,this.shape.updateStyle(),this.label&&(this.label.isHovered=isHovered,this.label.updateStyle()))},jvm.MapObject.prototype.setSelected=function(isSelected){this.isSelected!==isSelected&&(this.isSelected=isSelected,this.shape.isSelected=isSelected,this.shape.updateStyle(),this.label&&(this.label.isSelected=isSelected,this.label.updateStyle()),jvm.$(this.shape).trigger(\"selected\",[isSelected]))},jvm.MapObject.prototype.setStyle=function(){this.shape.setStyle.apply(this.shape,arguments)},jvm.MapObject.prototype.remove=function(){this.shape.remove(),this.label&&this.label.remove()},jvm.Region=function(config){var bbox,text,offsets,wrapper;this.config=config,this.map=this.config.map,wrapper=config.canvas.addGroup(config.canvas.rootElement),this.shape=config.canvas.addPath({d:config.path},config.style,wrapper);var invisibleShape=config.canvas.addPath({d:config.path,\"data-code\":config.code},{initial:{fill:\"transparent\",\\nstroke:\"transparent\",\"stroke-width\":config.margin}},wrapper);invisibleShape.addClass(\"jvectormap-region jvectormap-element\"),bbox=this.shape.getBBox(),text=this.getLabelText(config.code),this.config.label&&text&&(offsets=this.getLabelOffsets(config.code),this.labelX=bbox.x+bbox.width/2+offsets[0],this.labelY=bbox.y+bbox.height/2+offsets[1],this.label=config.canvas.addText({text:text,\"text-anchor\":\"middle\",\"alignment-baseline\":\"central\",x:this.labelX,y:this.labelY,\"data-code\":config.code},config.labelStyle,config.labelsGroup),this.label.addClass(\"jvectormap-region jvectormap-element\"))},jvm.inherits(jvm.Region,jvm.MapObject),jvm.Region.prototype.updateLabelPosition=function(){this.label&&this.label.set({x:this.labelX*this.map.scale+this.map.transX*this.map.scale,y:this.labelY*this.map.scale+this.map.transY*this.map.scale})},jvm.Marker=function(config){var text;this.config=config,this.map=this.config.map,this.isImage=!!this.config.style.initial.image,this.createShape(),text=this.getLabelText(config.index),this.config.label&&text&&(this.offsets=this.getLabelOffsets(config.index),this.labelX=config.cx/this.map.scale-this.map.transX,this.labelY=config.cy/this.map.scale-this.map.transY,this.label=config.canvas.addText({text:text,\"data-index\":config.index,dy:\"0.6ex\",x:this.labelX,y:this.labelY},config.labelStyle,config.labelsGroup),this.label.addClass(\"jvectormap-marker jvectormap-element\"))},jvm.inherits(jvm.Marker,jvm.MapObject),jvm.Marker.prototype.createShape=function(){var that=this;this.shape&&this.shape.remove(),this.shape=this.config.canvas[this.isImage?\"addImage\":\"addCircle\"]({\"data-index\":this.config.index,cx:this.config.cx,cy:this.config.cy},this.config.style,this.config.group),this.shape.addClass(\"jvectormap-marker jvectormap-element\"),this.isImage&&jvm.$(this.shape.node).on(\"imageloaded\",function(){that.updateLabelPosition()})},jvm.Marker.prototype.updateLabelPosition=function(){this.label&&this.label.set({x:this.labelX*this.map.scale+this.offsets[0]+this.map.transX*this.map.scale+5+(this.isImage?(this.shape.width||0)/2:this.shape.properties.r),y:this.labelY*this.map.scale+this.map.transY*this.map.scale+this.offsets[1]})},jvm.Marker.prototype.setStyle=function(property){var isImage;jvm.Marker.parentClass.prototype.setStyle.apply(this,arguments),\"r\"===property&&this.updateLabelPosition(),isImage=!!this.shape.get(\"image\"),isImage!=this.isImage&&(this.isImage=isImage,this.config.style=jvm.$.extend(!0,{},this.shape.style),this.createShape())},jvm.Map=function(params){var e,map=this;if(this.params=jvm.$.extend(!0,{},jvm.Map.defaultParams,params),!jvm.Map.maps[this.params.map])throw new Error(\"Attempt to use map which was not loaded: \"+this.params.map);this.mapData=jvm.Map.maps[this.params.map],this.markers={},this.regions={},this.regionsColors={},this.regionsData={},this.container=jvm.$(\"<div>\").addClass(\"jvectormap-container\"),this.params.container&&this.params.container.append(this.container),this.container.data(\"mapObject\",this),this.defaultWidth=this.mapData.width,this.defaultHeight=this.mapData.height,this.setBackgroundColor(this.params.backgroundColor),this.onResize=function(){map.updateSize()},jvm.$(window).resize(this.onResize);for(e in jvm.Map.apiEvents)this.params[e]&&this.container.bind(jvm.Map.apiEvents[e]+\".jvectormap\",this.params[e]);this.canvas=new jvm.VectorCanvas(this.container[0],this.width,this.height),this.params.bindTouchEvents&&(\"ontouchstart\"in window||window.DocumentTouch&&document instanceof DocumentTouch?this.bindContainerTouchEvents():window.MSGesture&&this.bindContainerPointerEvents()),this.bindContainerEvents(),this.bindElementEvents(),this.createTip(),this.params.zoomButtons&&this.bindZoomButtons(),this.createRegions(),this.createMarkers(this.params.markers||{}),this.updateSize(),this.params.focusOn&&(\"string\"==typeof this.params.focusOn?this.params.focusOn={region:this.params.focusOn}:jvm.$.isArray(this.params.focusOn)&&(this.params.focusOn={regions:this.params.focusOn}),this.setFocus(this.params.focusOn)),this.params.selectedRegions&&this.setSelectedRegions(this.params.selectedRegions),this.params.selectedMarkers&&this.setSelectedMarkers(this.params.selectedMarkers),this.legendCntHorizontal=jvm.$(\"<div/>\").addClass(\"jvectormap-legend-cnt jvectormap-legend-cnt-h\"),this.legendCntVertical=jvm.$(\"<div/>\").addClass(\"jvectormap-legend-cnt jvectormap-legend-cnt-v\"),this.container.append(this.legendCntHorizontal),this.container.append(this.legendCntVertical),this.params.series&&this.createSeries()},jvm.Map.prototype={transX:0,transY:0,scale:1,baseTransX:0,baseTransY:0,baseScale:1,width:0,height:0,setBackgroundColor:function(backgroundColor){this.container.css(\"background-color\",backgroundColor)},resize:function(){var curBaseScale=this.baseScale;this.width/this.height>this.defaultWidth/this.defaultHeight?(this.baseScale=this.height/this.defaultHeight,this.baseTransX=Math.abs(this.width-this.defaultWidth*this.baseScale)/(2*this.baseScale)):(this.baseScale=this.width/this.defaultWidth,this.baseTransY=Math.abs(this.height-this.defaultHeight*this.baseScale)/(2*this.baseScale)),this.scale*=this.baseScale/curBaseScale,this.transX*=this.baseScale/curBaseScale,this.transY*=this.baseScale/curBaseScale},updateSize:function(){this.width=this.container.width(),this.height=this.container.height(),this.resize(),this.canvas.setSize(this.width,this.height),this.applyTransform()},reset:function(){var key,i;for(key in this.series)for(i=0;i<this.series[key].length;i++)this.series[key][i].clear();this.scale=this.baseScale,this.transX=this.baseTransX,this.transY=this.baseTransY,this.applyTransform()},applyTransform:function(){var maxTransX,maxTransY,minTransX,minTransY;this.defaultWidth*this.scale<=this.width?(maxTransX=(this.width-this.defaultWidth*this.scale)/(2*this.scale),minTransX=(this.width-this.defaultWidth*this.scale)/(2*this.scale)):(maxTransX=0,minTransX=(this.width-this.defaultWidth*this.scale)/this.scale),this.defaultHeight*this.scale<=this.height?(maxTransY=(this.height-this.defaultHeight*this.scale)/(2*this.scale),minTransY=(this.height-this.defaultHeight*this.scale)/(2*this.scale)):(maxTransY=0,minTransY=(this.height-this.defaultHeight*this.scale)/this.scale),this.transY>maxTransY?this.transY=maxTransY:this.transY<minTransY&&(this.transY=minTransY),this.transX>maxTransX?this.transX=maxTransX:this.transX<minTransX&&(this.transX=minTransX),this.canvas.applyTransformParams(this.scale,this.transX,this.transY),this.markers&&this.repositionMarkers(),this.repositionLabels(),this.container.trigger(\"viewportChange\",[this.scale/this.baseScale,this.transX,this.transY])},bindContainerEvents:function(){var oldPageX,oldPageY,mouseDown=!1,map=this;this.params.panOnDrag&&(this.container.mousemove(function(e){return mouseDown&&(map.transX-=(oldPageX-e.pageX)/map.scale,map.transY-=(oldPageY-e.pageY)/map.scale,map.applyTransform(),oldPageX=e.pageX,oldPageY=e.pageY),!1}).mousedown(function(e){return mouseDown=!0,oldPageX=e.pageX,oldPageY=e.pageY,!1}),this.onContainerMouseUp=function(){mouseDown=!1},jvm.$(\"body\").mouseup(this.onContainerMouseUp)),this.params.zoomOnScroll&&this.container.mousewheel(function(event){var offset=jvm.$(map.container).offset(),centerX=event.pageX-offset.left,centerY=event.pageY-offset.top,zoomStep=Math.pow(1+map.params.zoomOnScrollSpeed/1e3,event.deltaFactor*event.deltaY);map.tip.hide(),map.setScale(map.scale*zoomStep,centerX,centerY),event.preventDefault()})},bindContainerTouchEvents:function(){var touchStartScale,touchStartDistance,touchX,touchY,centerTouchX,centerTouchY,lastTouchesLength,map=this,handleTouchEvent=function(e){var offset,scale,transXOld,transYOld,touches=e.originalEvent.touches;\"touchstart\"==e.type&&(lastTouchesLength=0),1==touches.length?(1==lastTouchesLength&&(transXOld=map.transX,transYOld=map.transY,map.transX-=(touchX-touches[0].pageX)/map.scale,map.transY-=(touchY-touches[0].pageY)/map.scale,map.applyTransform(),map.tip.hide(),(transXOld!=map.transX||transYOld!=map.transY)&&e.preventDefault()),touchX=touches[0].pageX,touchY=touches[0].pageY):2==touches.length&&(2==lastTouchesLength?(scale=Math.sqrt(Math.pow(touches[0].pageX-touches[1].pageX,2)+Math.pow(touches[0].pageY-touches[1].pageY,2))/touchStartDistance,map.setScale(touchStartScale*scale,centerTouchX,centerTouchY),map.tip.hide(),e.preventDefault()):(offset=jvm.$(map.container).offset(),centerTouchX=touches[0].pageX>touches[1].pageX?touches[1].pageX+(touches[0].pageX-touches[1].pageX)/2:touches[0].pageX+(touches[1].pageX-touches[0].pageX)/2,centerTouchY=touches[0].pageY>touches[1].pageY?touches[1].pageY+(touches[0].pageY-touches[1].pageY)/2:touches[0].pageY+(touches[1].pageY-touches[0].pageY)/2,centerTouchX-=offset.left,centerTouchY-=offset.top,touchStartScale=map.scale,touchStartDistance=Math.sqrt(Math.pow(touches[0].pageX-touches[1].pageX,2)+Math.pow(touches[0].pageY-touches[1].pageY,2)))),lastTouchesLength=touches.length};jvm.$(this.container).bind(\"touchstart\",handleTouchEvent),jvm.$(this.container).bind(\"touchmove\",handleTouchEvent)},bindContainerPointerEvents:function(){var map=this,gesture=new MSGesture,element=this.container[0],handlePointerDownEvent=function(e){gesture.addPointer(e.pointerId)},handleGestureEvent=function(e){var transXOld,transYOld;(0!=e.translationX||0!=e.translationY)&&(transXOld=map.transX,transYOld=map.transY,map.transX+=e.translationX/map.scale,map.transY+=e.translationY/map.scale,map.applyTransform(),map.tip.hide(),(transXOld!=map.transX||transYOld!=map.transY)&&e.preventDefault()),1!=e.scale&&(map.setScale(map.scale*e.scale,e.offsetX,e.offsetY),map.tip.hide(),e.preventDefault())};gesture.target=element,element.addEventListener(\"MSGestureChange\",handleGestureEvent,!1),element.addEventListener(\"pointerdown\",handlePointerDownEvent,!1)},bindElementEvents:function(){var pageX,pageY,mouseMoved,map=this;this.container.mousemove(function(e){Math.abs(pageX-e.pageX)+Math.abs(pageY-e.pageY)>2&&(mouseMoved=!0)}),this.container.delegate(\"[class~=\\'jvectormap-element\\']\",\"mouseover mouseout\",function(e){var baseVal=jvm.$(this).attr(\"class\").baseVal||jvm.$(this).attr(\"class\"),type=-1===baseVal.indexOf(\"jvectormap-region\")?\"marker\":\"region\",code=jvm.$(this).attr(\"region\"==type?\"data-code\":\"data-index\"),element=\"region\"==type?map.regions[code].element:map.markers[code].element,tipText=\"region\"==type?map.mapData.paths[code].name:map.markers[code].config.name||\"\",tipShowEvent=jvm.$.Event(type+\"TipShow.jvectormap\"),overEvent=jvm.$.Event(type+\"Over.jvectormap\");\"mouseover\"==e.type?(map.container.trigger(overEvent,[code]),overEvent.isDefaultPrevented()||element.setHovered(!0),map.tip.text(tipText),map.container.trigger(tipShowEvent,[map.tip,code]),tipShowEvent.isDefaultPrevented()||(map.tip.show(),map.tipWidth=map.tip.width(),map.tipHeight=map.tip.height())):(element.setHovered(!1),map.tip.hide(),map.container.trigger(type+\"Out.jvectormap\",[code]))}),this.container.delegate(\"[class~=\\'jvectormap-element\\']\",\"mousedown\",function(e){pageX=e.pageX,pageY=e.pageY,mouseMoved=!1}),this.container.delegate(\"[class~=\\'jvectormap-element\\']\",\"mouseup\",function(){var baseVal=jvm.$(this).attr(\"class\").baseVal?jvm.$(this).attr(\"class\").baseVal:jvm.$(this).attr(\"class\"),type=-1===baseVal.indexOf(\"jvectormap-region\")?\"marker\":\"region\",code=jvm.$(this).attr(\"region\"==type?\"data-code\":\"data-index\"),clickEvent=jvm.$.Event(type+\"Click.jvectormap\"),element=\"region\"==type?map.regions[code].element:map.markers[code].element;mouseMoved||(map.container.trigger(clickEvent,[code]),(\"region\"===type&&map.params.regionsSelectable||\"marker\"===type&&map.params.markersSelectable)&&(clickEvent.isDefaultPrevented()||(map.params[type+\"sSelectableOne\"]&&map.clearSelected(type+\"s\"),element.setSelected(!element.isSelected))))})},bindZoomButtons:function(){var map=this;jvm.$(\"<div/>\").addClass(\"jvectormap-zoomin\").text(\"+\").appendTo(this.container),jvm.$(\"<div/>\").addClass(\"jvectormap-zoomout\").html(\"&#x2212;\").appendTo(this.container),this.container.find(\".jvectormap-zoomin\").click(function(){map.setScale(map.scale*map.params.zoomStep,map.width/2,map.height/2,!1,map.params.zoomAnimate)}),this.container.find(\".jvectormap-zoomout\").click(function(){map.setScale(map.scale/map.params.zoomStep,map.width/2,map.height/2,!1,map.params.zoomAnimate)})},createTip:function(){var map=this;this.tip=jvm.$(\"<div/>\").addClass(\"jvectormap-tip\").appendTo(jvm.$(\"body\")),this.container.mousemove(function(e){var left=e.pageX-15-map.tipWidth,top=e.pageY-15-map.tipHeight;5>left&&(left=e.pageX+15),5>top&&(top=e.pageY+15),map.tip.css({left:left,top:top})})},setScale:function(scale,anchorX,anchorY,isCentered,animate){var interval,scaleStart,scaleDiff,transXStart,transXDiff,transYStart,transYDiff,transX,transY,viewportChangeEvent=jvm.$.Event(\"zoom.jvectormap\"),that=this,i=0,count=Math.abs(Math.round(60*(scale-this.scale)/Math.max(scale,this.scale))),deferred=new jvm.$.Deferred;return scale>this.params.zoomMax*this.baseScale?scale=this.params.zoomMax*this.baseScale:scale<this.params.zoomMin*this.baseScale&&(scale=this.params.zoomMin*this.baseScale),\"undefined\"!=typeof anchorX&&\"undefined\"!=typeof anchorY&&(zoomStep=scale/this.scale,isCentered?(transX=anchorX+this.defaultWidth*(this.width/(this.defaultWidth*scale))/2,transY=anchorY+this.defaultHeight*(this.height/(this.defaultHeight*scale))/2):(transX=this.transX-(zoomStep-1)/scale*anchorX,transY=this.transY-(zoomStep-1)/scale*anchorY)),animate&&count>0?(scaleStart=this.scale,scaleDiff=(scale-scaleStart)/count,transXStart=this.transX*this.scale,transYStart=this.transY*this.scale,transXDiff=(transX*scale-transXStart)/count,transYDiff=(transY*scale-transYStart)/count,interval=setInterval(function(){i+=1,that.scale=scaleStart+scaleDiff*i,that.transX=(transXStart+transXDiff*i)/that.scale,that.transY=(transYStart+transYDiff*i)/that.scale,that.applyTransform(),i==count&&(clearInterval(interval),that.container.trigger(viewportChangeEvent,[scale/that.baseScale]),deferred.resolve())},10)):(this.transX=transX,this.transY=transY,this.scale=scale,this.applyTransform(),this.container.trigger(viewportChangeEvent,[scale/this.baseScale]),deferred.resolve()),deferred},setFocus:function(config){var bbox,itemBbox,newBbox,codes,i,point;if(config=config||{},config.region?codes=[config.region]:config.regions&&(codes=config.regions),codes){for(i=0;i<codes.length;i++)this.regions[codes[i]]&&(itemBbox=this.regions[codes[i]].element.shape.getBBox(),itemBbox&&(\"undefined\"==typeof bbox?bbox=itemBbox:(newBbox={x:Math.min(bbox.x,itemBbox.x),y:Math.min(bbox.y,itemBbox.y),width:Math.max(bbox.x+bbox.width,itemBbox.x+itemBbox.width)-Math.min(bbox.x,itemBbox.x),height:Math.max(bbox.y+bbox.height,itemBbox.y+itemBbox.height)-Math.min(bbox.y,itemBbox.y)},bbox=newBbox)));return this.setScale(Math.min(this.width/bbox.width,this.height/bbox.height),-(bbox.x+bbox.width/2),-(bbox.y+bbox.height/2),!0,config.animate)}return config.lat&&config.lng?(point=this.latLngToPoint(config.lat,config.lng),config.x=this.transX-point.x/this.scale,config.y=this.transY-point.y/this.scale):config.x&&config.y&&(config.x*=-this.defaultWidth,config.y*=-this.defaultHeight),this.setScale(config.scale*this.baseScale,config.x,config.y,!0,config.animate)},getSelected:function(type){var key,selected=[];for(key in this[type])this[type][key].element.isSelected&&selected.push(key);return selected},getSelectedRegions:function(){return this.getSelected(\"regions\")},getSelectedMarkers:function(){return this.getSelected(\"markers\")},setSelected:function(type,keys){var i;if(\"object\"!=typeof keys&&(keys=[keys]),jvm.$.isArray(keys))for(i=0;i<keys.length;i++)this[type][keys[i]].element.setSelected(!0);else for(i in keys)this[type][i].element.setSelected(!!keys[i])},setSelectedRegions:function(keys){this.setSelected(\"regions\",keys)},setSelectedMarkers:function(keys){this.setSelected(\"markers\",keys)},clearSelected:function(type){var i,select={},selected=this.getSelected(type);for(i=0;i<selected.length;i++)select[selected[i]]=!1;this.setSelected(type,select)},clearSelectedRegions:function(){this.clearSelected(\"regions\")},clearSelectedMarkers:function(){this.clearSelected(\"markers\")},getMapObject:function(){return this},getRegionName:function(code){return this.mapData.paths[code].name},createRegions:function(){var key,region,map=this;this.regionLabelsGroup=this.regionLabelsGroup||this.canvas.addGroup();for(key in this.mapData.paths)region=new jvm.Region({map:this,path:this.mapData.paths[key].path,code:key,style:jvm.$.extend(!0,{},this.params.regionStyle),margin:this.params.regionMargin,labelStyle:jvm.$.extend(!0,{},this.params.regionLabelStyle),canvas:this.canvas,labelsGroup:this.regionLabelsGroup,label:\"vml\"!=this.canvas.mode?this.params.labels&&this.params.labels.regions:null}),jvm.$(region.shape).bind(\"selected\",function(e,isSelected){map.container.trigger(\"regionSelected.jvectormap\",[jvm.$(this.node).attr(\"data-code\"),isSelected,map.getSelectedRegions()])}),this.regions[key]={element:region,config:this.mapData.paths[key]}},createMarkers:function(markers){var i,marker,point,markerConfig,markersArray,map=this;if(this.markersGroup=this.markersGroup||this.canvas.addGroup(),this.markerLabelsGroup=this.markerLabelsGroup||this.canvas.addGroup(),jvm.$.isArray(markers))for(markersArray=markers.slice(),markers={},i=0;i<markersArray.length;i++)markers[i]=markersArray[i];for(i in markers)markerConfig=markers[i]instanceof Array?{latLng:markers[i]}:markers[i],point=this.getMarkerPosition(markerConfig),point!==!1&&(marker=new jvm.Marker({map:this,style:jvm.$.extend(!0,{},this.params.markerStyle,{initial:markerConfig.style||{}}),labelStyle:jvm.$.extend(!0,{},this.params.markerLabelStyle),index:i,cx:point.x,cy:point.y,group:this.markersGroup,canvas:this.canvas,labelsGroup:this.markerLabelsGroup,label:\"vml\"!=this.canvas.mode?this.params.labels&&this.params.labels.markers:null}),jvm.$(marker.shape).bind(\"selected\",function(e,isSelected){map.container.trigger(\"markerSelected.jvectormap\",[jvm.$(this.node).attr(\"data-index\"),isSelected,map.getSelectedMarkers()])}),this.markers[i]&&this.removeMarkers([i]),this.markers[i]={element:marker,config:markerConfig})},repositionMarkers:function(){var i,point;for(i in this.markers)point=this.getMarkerPosition(this.markers[i].config),point!==!1&&this.markers[i].element.setStyle({cx:point.x,cy:point.y})},repositionLabels:function(){var key;for(key in this.regions)this.regions[key].element.updateLabelPosition();for(key in this.markers)this.markers[key].element.updateLabelPosition()},getMarkerPosition:function(markerConfig){return jvm.Map.maps[this.params.map].projection?this.latLngToPoint.apply(this,markerConfig.latLng||[0,0]):{x:markerConfig.coords[0]*this.scale+this.transX*this.scale,y:markerConfig.coords[1]*this.scale+this.transY*this.scale}},addMarker:function(key,marker,seriesData){var values,i,markers={},data=[],seriesData=seriesData||[];for(markers[key]=marker,i=0;i<seriesData.length;i++)values={},\"undefined\"!=typeof seriesData[i]&&(values[key]=seriesData[i]),data.push(values);this.addMarkers(markers,data)},addMarkers:function(markers,seriesData){var i;for(seriesData=seriesData||[],this.createMarkers(markers),i=0;i<seriesData.length;i++)this.series.markers[i].setValues(seriesData[i]||{})},removeMarkers:function(markers){var i;for(i=0;i<markers.length;i++)this.markers[markers[i]].element.remove(),delete this.markers[markers[i]]},removeAllMarkers:function(){var i,markers=[];for(i in this.markers)markers.push(i);this.removeMarkers(markers)},latLngToPoint:function(lat,lng){var point,inset,bbox,proj=jvm.Map.maps[this.params.map].projection,centralMeridian=proj.centralMeridian;return-180+centralMeridian>lng&&(lng+=360),point=jvm.Proj[proj.type](lat,lng,centralMeridian),inset=this.getInsetForPoint(point.x,point.y),inset?(bbox=inset.bbox,point.x=(point.x-bbox[0].x)/(bbox[1].x-bbox[0].x)*inset.width*this.scale,point.y=(point.y-bbox[0].y)/(bbox[1].y-bbox[0].y)*inset.height*this.scale,{x:point.x+this.transX*this.scale+inset.left*this.scale,y:point.y+this.transY*this.scale+inset.top*this.scale}):!1},pointToLatLng:function(x,y){var i,inset,bbox,nx,ny,proj=jvm.Map.maps[this.params.map].projection,centralMeridian=proj.centralMeridian,insets=jvm.Map.maps[this.params.map].insets;for(i=0;i<insets.length;i++)if(inset=insets[i],bbox=inset.bbox,nx=x-(this.transX*this.scale+inset.left*this.scale),ny=y-(this.transY*this.scale+inset.top*this.scale),nx=nx/(inset.width*this.scale)*(bbox[1].x-bbox[0].x)+bbox[0].x,ny=ny/(inset.height*this.scale)*(bbox[1].y-bbox[0].y)+bbox[0].y,nx>bbox[0].x&&nx<bbox[1].x&&ny>bbox[0].y&&ny<bbox[1].y)return jvm.Proj[proj.type+\"_inv\"](nx,-ny,centralMeridian);return!1},getInsetForPoint:function(x,y){var i,bbox,insets=jvm.Map.maps[this.params.map].insets;for(i=0;i<insets.length;i++)if(bbox=insets[i].bbox,x>bbox[0].x&&x<bbox[1].x&&y>bbox[0].y&&y<bbox[1].y)return insets[i]},createSeries:function(){var i,key;this.series={markers:[],regions:[]};for(key in this.params.series)for(i=0;i<this.params.series[key].length;i++)this.series[key][i]=new jvm.DataSeries(this.params.series[key][i],this[key],this)},remove:function(){this.tip.remove(),this.container.remove(),jvm.$(window).unbind(\"resize\",this.onResize),jvm.$(\"body\").unbind(\"mouseup\",this.onContainerMouseUp)}},jvm.Map.maps={},jvm.Map.defaultParams={map:\"world_mill_en\",backgroundColor:\"#505050\",zoomButtons:!0,zoomOnScroll:!0,zoomOnScrollSpeed:3,panOnDrag:!0,zoomMax:8,zoomMin:1,zoomStep:1.6,zoomAnimate:!0,regionsSelectable:!1,markersSelectable:!1,bindTouchEvents:!0,regionStyle:{initial:{fill:\"white\",\"fill-opacity\":1,stroke:\"none\",\"stroke-width\":0,\"stroke-opacity\":1},hover:{\"fill-opacity\":.8,cursor:\"pointer\"},selected:{fill:\"yellow\"},selectedHover:{}},regionMargin:0,regionLabelStyle:{initial:{\"font-family\":\"Verdana\",\"font-size\":\"12\",\"font-weight\":\"bold\",cursor:\"default\",fill:\"black\"},hover:{cursor:\"pointer\"}},markerStyle:{initial:{fill:\"grey\",stroke:\"#505050\",\"fill-opacity\":1,\"stroke-width\":1,\"stroke-opacity\":1,r:5},hover:{stroke:\"black\",\"stroke-width\":2,cursor:\"pointer\"},selected:{fill:\"blue\"},selectedHover:{}},markerLabelStyle:{initial:{\"font-family\":\"Verdana\",\"font-size\":\"12\",\"font-weight\":\"bold\",cursor:\"default\",fill:\"black\"},hover:{cursor:\"pointer\"}}},jvm.Map.apiEvents={onRegionTipShow:\"regionTipShow\",onRegionOver:\"regionOver\",onRegionOut:\"regionOut\",onRegionClick:\"regionClick\",onRegionSelected:\"regionSelected\",onMarkerTipShow:\"markerTipShow\",onMarkerOver:\"markerOver\",onMarkerOut:\"markerOut\",onMarkerClick:\"markerClick\",onMarkerSelected:\"markerSelected\",onViewportChange:\"viewportChange\"},jvm.MultiMap=function(params){var that=this;this.maps={},this.params=jvm.$.extend(!0,{},jvm.MultiMap.defaultParams,params),this.params.maxLevel=this.params.maxLevel||Number.MAX_VALUE,this.params.main=this.params.main||{},this.params.main.multiMapLevel=0,this.history=[this.addMap(this.params.main.map,this.params.main)],this.defaultProjection=this.history[0].mapData.projection.type,this.mapsLoaded={},this.params.container.css({position:\"relative\"}),this.backButton=jvm.$(\"<div/>\").addClass(\"jvectormap-goback\").text(\"Back\").appendTo(this.params.container),this.backButton.hide(),this.backButton.click(function(){that.goBack()}),this.spinner=jvm.$(\"<div/>\").addClass(\"jvectormap-spinner\").appendTo(this.params.container),this.spinner.hide()},jvm.MultiMap.prototype={addMap:function(name,config){var cnt=jvm.$(\"<div/>\").css({width:\"100%\",height:\"100%\"});return this.params.container.append(cnt),this.maps[name]=new jvm.Map(jvm.$.extend(config,{container:cnt})),this.params.maxLevel>config.multiMapLevel&&this.maps[name].container.on(\"regionClick.jvectormap\",{scope:this},function(e,code){var multimap=e.data.scope,mapName=multimap.params.mapNameByCode(code,multimap);multimap.drillDownPromise&&\"pending\"===multimap.drillDownPromise.state()||multimap.drillDown(mapName,code)}),this.maps[name]},downloadMap:function(code){var that=this,deferred=jvm.$.Deferred();return this.mapsLoaded[code]?deferred.resolve():jvm.$.get(this.params.mapUrlByCode(code,this)).then(function(){that.mapsLoaded[code]=!0,deferred.resolve()},function(){deferred.reject()}),deferred},drillDown:function(name,code){var currentMap=this.history[this.history.length-1],that=this,focusPromise=currentMap.setFocus({region:code,animate:!0}),downloadPromise=this.downloadMap(code);focusPromise.then(function(){\"pending\"===downloadPromise.state()&&that.spinner.show()}),downloadPromise.always(function(){that.spinner.hide()}),this.drillDownPromise=jvm.$.when(downloadPromise,focusPromise),this.drillDownPromise.then(function(){currentMap.params.container.hide(),that.maps[name]?that.maps[name].params.container.show():that.addMap(name,{map:name,multiMapLevel:currentMap.params.multiMapLevel+1}),that.history.push(that.maps[name]),that.backButton.show()})},goBack:function(){var currentMap=this.history.pop(),prevMap=this.history[this.history.length-1],that=this;currentMap.setFocus({scale:1,x:.5,y:.5,animate:!0}).then(function(){currentMap.params.container.hide(),prevMap.params.container.show(),prevMap.updateSize(),1===that.history.length&&that.backButton.hide(),prevMap.setFocus({scale:1,x:.5,y:.5,animate:!0})})}},jvm.MultiMap.defaultParams={mapNameByCode:function(code,multiMap){return code.toLowerCase()+\"_\"+multiMap.defaultProjection+\"_en\"},mapUrlByCode:function(code,multiMap){return\"jquery-jvectormap-data-\"+code.toLowerCase()+\"-\"+multiMap.defaultProjection+\"-en.js\"}};'},function(t,e,l){l(0)(l(93))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'africa_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 1054.4456598737515,\\n    \"bbox\": [{\\n      \"y\": -4361143.781154416,\\n      \"x\": -2822439.5658800667\\n    }, {\\n      \"y\": 5651492.432223669,\\n      \"x\": 5723636.287018039\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"BF\": {\\n      \"path\": \"M264.1,336.73l-0.38,0.6l0.64,1.4l-0.24,0.6l0.45,4.56l-0.35,0.78l0.96,2.95l-0.52,0.38l-1.13,-1.12l-1.14,-1.92l-3.05,-2.52l-6.67,-0.25l-5.65,2.08l-0.81,1.11l-1.3,-0.33l-0.81,-0.58l-1.06,0.11l-0.97,-0.44l-2.77,-1.95l-0.31,-1.37l-1.35,-2.42l-2.01,-0.98l-1.43,0.04l-1.31,-1.03l0.73,-3.93l-0.35,-3.1l1.58,-1.01l1.2,-3.07l0.23,-1.91l-0.71,-1.89l0.01,-1.44l1.9,-1.47l3.57,-0.76l1.28,-0.57l1.37,-0.98l1.89,-2.21l0.18,-3.18l-0.55,-0.89l2.84,-1.62l-0.0,-1.17l-1.15,-2.62l1.92,-2.04l1.07,-0.83l1.03,-0.2l4.85,2.6l2.89,-1.19l0.65,-1.69l0.16,-2.87l2.6,0.33l0.84,-0.24l0.52,-0.67l-0.09,-1.24l0.56,-1.81l1.04,-1.38l2.19,-1.78l1.28,-0.48l4.22,1.21l0.87,-0.55l0.92,-2.93l3.12,-0.59l2.38,-1.42l5.16,-2.3l3.42,-2.74l2.42,-0.33l1.68,0.77l1.87,-0.53l4.84,1.61l-0.54,4.66l2.53,3.13l-0.28,1.32l0.93,2.11l2.22,3.21l3.45,1.25l0.77,0.57l0.62,1.12l1.49,0.83l-1.54,-0.34l-0.49,0.28l-0.2,2.42l0.31,1.85l1.36,0.54l5.62,4.39l2.81,0.25l2.58,-1.21l0.76,0.11l0.56,0.66l0.68,2.06l-1.55,0.4l-0.37,0.74l0.45,1.07l3.34,4.38l-1.06,2.14l-3.38,3.04l-1.4,-0.26l-2.79,0.47l-0.58,-0.54l-1.85,0.09l-1.35,1.84l-1.84,0.43l-1.01,2.24l-1.1,0.01l-0.52,0.8l-4.55,0.45l-0.36,-0.43l-9.2,-2.08l-0.8,0.93l-1.17,0.12l-0.64,0.9l-1.44,0.83l-0.73,-0.69l-3.99,-0.25l-21.0,0.14l-0.48,0.5l-0.82,3.01l-0.1,1.69l0.51,1.27l0.95,0.91Z\",\\n      \"name\": \"Burkina Faso\"\\n    },\\n    \"DJ\": {\\n      \"path\": \"M800.21,310.86l2.49,-0.89l2.06,2.6l1.22,3.04l-0.29,1.0l-1.15,1.3l-2.56,1.63l-2.88,1.05l-1.89,2.09l-1.18,-0.12l-0.43,0.5l0.21,0.81l0.84,0.38l3.96,-1.06l2.72,0.22l0.63,0.5l-3.48,5.46l-1.25,-0.1l-1.52,-0.81l-1.29,-0.06l-7.07,1.65l-1.47,-0.35l-0.35,-6.88l0.5,-1.41l2.1,-2.23l4.78,-6.87l0.41,-0.18l2.18,1.59l0.67,0.03l1.08,-0.76l0.97,-2.11Z\",\\n      \"name\": \"Djibouti\"\\n    },\\n    \"BI\": {\\n      \"path\": \"M645.42,511.17l-3.4,-6.8l-0.35,-5.31l-0.5,-0.69l-0.91,-0.23l0.15,-3.04l-2.45,-3.14l0.12,-1.27l0.29,-0.52l1.17,0.22l1.0,0.53l0.56,1.26l0.68,0.41l3.89,-0.15l2.23,-1.13l0.73,-4.21l1.87,0.92l1.43,-0.81l1.84,-0.36l1.16,0.82l-1.21,2.39l0.44,0.94l-0.49,1.29l0.1,0.79l1.2,0.8l3.01,0.8l0.04,2.71l-1.83,0.84l-0.27,0.31l0.11,0.7l-2.25,1.87l-0.64,1.8l-1.27,1.37l-1.42,2.74l-2.26,2.52l-2.81,1.65Z\",\\n      \"name\": \"Burundi\"\\n    },\\n    \"BJ\": {\\n      \"path\": \"M308.12,330.21l0.86,-0.9l0.64,0.14l0.6,-0.3l0.86,-2.1l1.82,-0.46l1.23,-1.76l1.22,-0.03l0.73,0.59l2.95,-0.5l1.71,0.19l3.64,-3.28l0.95,-1.86l0.61,-1.99l-0.56,-2.46l3.11,-0.81l1.69,-0.98l0.63,0.14l3.09,2.89l1.79,2.3l1.82,0.94l1.42,1.5l-1.11,2.16l-0.07,1.39l2.7,3.89l0.46,3.62l0.9,1.82l-0.57,1.92l-0.76,-0.15l-0.67,0.27l-0.97,1.57l0.01,0.66l0.72,1.13l-0.93,2.67l-2.37,1.13l-0.44,0.68l0.04,1.14l-2.2,2.49l0.07,1.73l-1.05,2.47l-2.97,0.39l-0.35,0.34l-0.49,3.14l-0.55,10.76l0.42,3.23l0.74,1.58l-0.4,0.87l0.07,3.84l-0.41,1.09l0.59,3.12l-0.76,3.68l-10.19,1.27l-0.39,-1.8l-1.68,-2.19l-0.17,-0.62l0.25,-0.77l-0.62,-2.49l0.9,-0.43l-0.29,-24.23l-0.51,-1.3l-2.01,-2.49l-0.45,-2.39l-0.22,-5.16l-6.61,-4.58l0.26,-3.59l1.26,-3.12Z\",\\n      \"name\": \"Benin\"\\n    },\\n    \"ZA\": {\\n      \"path\": \"M740.97,1053.87l-0.3,0.16l-2.08,-0.34l0.77,-0.88l0.95,0.15l0.83,0.6l-0.17,0.3ZM513.38,877.36l-0.7,-2.43l0.21,-1.52l1.33,-0.97l-0.39,-2.31l-2.04,-3.95l-1.28,-0.93l-0.91,-1.89l-0.98,-0.79l-0.44,-1.41l-0.87,-1.03l-0.28,-1.52l0.86,-1.1l1.02,0.73l1.17,-0.42l1.58,-1.41l0.87,-1.92l-0.14,-5.2l-1.18,-4.99l-6.3,-9.48l-3.86,-7.37l-1.84,-4.4l-2.82,-8.97l-2.49,-5.08l-3.19,-4.84l1.71,-1.23l1.58,-0.5l1.51,-4.23l0.55,-0.6l1.17,-0.4l0.86,0.51l0.67,1.49l1.71,0.81l0.27,0.89l-0.5,1.25l0.06,0.63l1.46,2.85l2.93,0.89l3.23,0.54l1.6,0.79l8.58,-0.04l2.15,0.73l1.89,0.12l1.15,-0.62l0.66,-2.0l1.14,-0.28l0.89,-0.67l0.72,-1.13l1.41,-0.82l2.31,-0.66l1.14,0.02l0.41,-0.4l0.0,-45.51l3.59,2.68l0.95,1.39l4.2,9.51l0.27,2.9l-2.22,3.62l0.17,3.82l0.55,1.14l1.12,0.53l1.45,-0.47l2.34,0.53l4.45,-0.24l2.39,0.25l1.22,-0.68l1.03,-1.55l2.03,-0.52l1.07,-0.76l1.54,-2.45l4.44,-3.21l0.59,-0.91l2.77,-7.63l0.78,-1.0l1.09,-0.64l2.32,-0.54l1.33,0.28l3.19,1.73l2.71,2.14l0.99,0.34l2.51,0.09l1.71,1.37l4.87,0.93l1.67,-0.08l1.44,-0.71l2.47,0.03l2.89,-0.6l1.77,-1.52l3.74,-10.56l5.64,-1.65l0.77,-0.5l1.88,-2.25l2.53,-1.91l1.9,-6.79l1.09,-1.48l2.61,-1.84l2.17,-0.7l0.76,-0.54l0.84,-1.24l1.42,-0.32l0.29,-0.74l1.83,-1.35l0.14,-0.7l3.09,-3.46l1.9,-1.17l3.64,-0.71l1.74,-0.69l1.35,-1.12l0.83,-1.45l1.19,-0.7l6.13,-0.81l2.7,0.45l3.43,1.33l3.27,0.47l5.28,-0.47l1.78,0.2l2.22,1.0l2.84,10.65l0.18,2.57l3.01,5.17l2.14,6.91l-0.02,14.51l-0.75,1.88l0.25,2.05l-0.38,0.1l-5.35,-2.92l-1.09,0.12l-1.7,1.23l-1.4,1.72l-0.68,1.53l-2.73,4.04l-0.07,4.73l0.46,0.47l0.66,0.07l2.05,3.86l2.6,1.72l2.49,0.78l3.2,0.18l2.56,-0.05l0.39,-0.43l-0.14,-1.63l0.52,-4.16l3.87,0.62l5.77,-0.15l-0.36,2.4l-2.25,6.66l-1.43,7.49l-1.84,3.72l-1.01,1.51l-2.97,2.73l-1.48,0.86l-1.49,0.43l-5.23,5.67l-1.94,2.72l-1.74,4.0l-1.71,2.2l-4.74,8.26l-2.14,3.28l-3.68,4.5l-2.75,1.91l-2.96,2.65l-7.38,8.08l-4.73,4.27l-2.78,1.91l-4.1,3.69l-5.83,4.03l-3.32,2.09l-7.45,3.08l-5.07,-0.62l-2.27,0.34l-1.99,1.57l-0.29,2.16l-0.44,0.19l-4.58,-0.97l-2.09,0.16l-1.39,1.25l-0.86,1.33l-2.44,0.07l-4.83,-1.48l-5.72,-0.91l-1.5,-0.07l-3.6,1.24l-3.92,-0.23l-2.3,-0.7l-2.13,-0.0l-3.86,0.86l-5.25,3.93l-2.63,0.0l-2.42,0.46l-4.2,-0.54l-1.32,0.26l-1.31,0.71l-2.94,0.34l-5.89,4.21l-4.29,-0.41l-2.76,-1.89l-0.65,-0.02l0.02,-1.4l-1.07,-1.12l-1.17,-0.04l-0.78,-0.87l-2.78,0.16l-0.24,-3.04l-0.95,-0.65l-2.91,0.11l-0.94,1.2l-0.06,1.39ZM623.55,807.58l-1.33,0.56l-5.08,7.29l-2.34,1.04l-0.45,0.34l-0.22,0.76l0.97,2.51l2.58,4.01l-0.03,1.17l0.48,0.94l1.3,0.73l3.08,3.04l3.47,0.6l1.11,-0.88l0.57,-1.81l2.77,-3.68l3.97,-0.58l2.01,-0.85l2.35,-1.56l0.64,-2.92l1.77,-1.76l1.17,-3.92l-1.08,-2.49l-4.17,-2.79l-3.9,-3.86l-2.17,0.4l-2.81,1.09l-3.25,2.21l-1.44,0.43Z\",\\n      \"name\": \"South Africa\"\\n    },\\n    \"BW\": {\\n      \"path\": \"M592.94,670.5l-0.23,1.26l0.71,1.59l1.23,1.28l2.04,3.62l2.35,2.48l0.65,1.85l1.45,1.67l0.11,1.69l2.56,5.57l6.11,4.47l5.85,2.54l0.78,1.38l0.27,2.94l0.41,0.38l4.41,0.23l0.15,2.87l-0.36,3.84l2.09,2.49l2.0,3.59l0.63,0.38l5.67,0.95l5.59,1.71l-0.22,1.52l0.42,1.17l0.85,0.66l1.53,0.2l0.68,0.71l-1.78,0.15l-1.53,0.86l-0.91,1.53l-1.14,0.97l-1.61,0.64l-3.77,0.75l-2.01,1.24l-2.24,2.32l-1.09,1.4l-0.12,0.65l-1.8,1.31l-0.2,0.62l-1.22,0.19l-1.62,1.81l-2.2,0.71l-2.77,1.97l-1.27,1.76l-1.75,6.53l-2.49,1.88l-2.45,2.61l-3.1,0.72l-2.77,1.1l-3.86,10.72l-1.49,1.23l-2.54,0.49l-2.51,-0.03l-1.61,0.75l-1.29,0.04l-4.76,-0.92l-1.79,-1.39l-3.3,-0.35l-2.6,-2.07l-3.36,-1.81l-1.52,-0.33l-1.57,0.28l-1.61,0.5l-1.77,1.76l-3.29,8.45l-4.38,3.15l-1.55,2.46l-0.82,0.61l-1.99,0.51l-0.68,0.47l-1.05,1.61l-7.08,0.09l-2.33,-0.53l-1.57,0.47l-0.8,-1.03l-0.17,-3.51l2.21,-3.57l-0.28,-3.35l-4.29,-9.69l-1.09,-1.56l-4.12,-3.05l-0.04,-33.77l11.25,0.0l0.39,-0.32l0.05,-44.66l11.82,-1.44l14.08,-2.4l0.71,0.26l1.82,2.37l1.36,2.58l0.7,0.36l1.27,-0.46l2.42,-2.43l3.94,-2.42l1.22,-0.5l2.22,0.81l3.02,-2.24l1.27,-0.49l3.45,-0.39Z\",\\n      \"name\": \"Botswana\"\\n    },\\n    \"DZ\": {\\n      \"path\": \"M221.33,99.35l5.55,-0.16l6.56,-1.62l1.94,-1.36l1.39,-1.43l2.48,-3.82l2.1,-1.06l5.33,-1.88l3.96,-2.76l3.8,-0.7l0.66,-0.8l-0.08,-1.13l-2.32,-1.51l0.5,-2.08l-0.68,-3.22l0.65,-0.61l3.77,-0.18l5.04,-1.7l0.6,-0.79l0.62,-2.04l0.54,-0.29l4.79,-0.71l13.74,0.53l0.74,-0.27l0.25,-0.37l-0.41,-2.14l0.19,-0.64l1.95,-1.62l0.11,-0.49l-0.64,-1.23l-3.91,-2.98l-0.64,-1.1l-0.52,-2.63l-1.44,-3.04l0.54,-3.16l-0.97,-2.93l0.25,-2.74l-0.17,-2.45l-0.95,-2.48l0.64,-1.41l-1.32,-1.83l0.6,-1.91l-4.07,-3.16l-0.72,-1.01l3.05,0.07l2.93,-1.21l4.11,-2.52l2.84,-2.79l7.62,-3.71l2.73,0.57l1.86,-0.27l1.23,-1.02l1.17,-2.1l1.79,-1.26l7.68,-3.75l3.27,-0.99l12.68,-1.21l2.9,0.13l4.55,-2.47l6.35,-0.14l3.11,-1.36l11.33,-0.0l2.63,1.13l2.44,1.81l1.39,0.39l1.59,-0.39l3.49,-1.65l4.02,-0.89l2.16,-1.0l1.01,-1.47l1.48,-0.43l1.07,1.05l4.12,1.13l3.87,-0.66l0.27,-0.48l-0.26,-1.08l2.04,0.34l1.97,0.77l2.11,1.58l1.54,0.39l2.7,-0.72l4.92,-0.34l0.15,0.75l-1.6,0.85l-1.01,1.82l-1.55,1.12l-0.44,0.7l0.24,0.66l1.01,0.49l0.39,0.87l-1.18,7.58l0.84,2.07l-0.03,3.22l0.88,2.63l-0.87,1.43l-0.46,1.49l-0.37,3.25l-1.33,2.08l-3.26,1.97l-1.16,2.14l-2.75,2.31l-0.25,3.53l2.8,7.65l0.48,0.56l4.0,2.24l1.11,1.61l1.56,5.14l8.2,5.98l5.48,23.47l-2.2,1.33l-0.13,0.55l3.85,6.11l1.91,5.8l0.42,2.6l-0.31,5.2l0.5,6.57l0.66,3.21l-1.96,5.8l0.58,3.71l0.49,1.63l0.65,0.87l-0.12,2.54l-0.23,0.81l-4.32,2.79l-0.68,1.25l-0.17,1.41l0.36,1.12l6.44,9.15l0.31,3.47l1.07,3.25l1.71,2.65l1.86,1.42l0.67,0.05l2.78,-0.85l9.44,2.89l5.07,9.39l-52.31,32.38l-19.32,17.03l-0.94,0.5l-28.22,5.41l-2.21,-1.53l1.57,-2.44l0.16,-0.76l-0.64,-1.89l0.02,-2.73l-1.0,-1.05l-3.24,-1.37l-5.26,-1.26l-1.41,-1.71l-0.82,-0.54l-3.55,-0.36l-1.93,-0.67l-0.68,-0.49l-0.88,-2.15l-3.87,-2.03l-1.27,-1.07l0.08,-1.93l-0.49,-1.74l-66.42,-45.76l-11.74,-7.74l-36.95,-23.29l0.16,-17.66l11.35,-8.01l2.34,-0.55l3.78,-2.8l5.93,0.6l0.75,-0.22l0.97,-1.1l0.25,-1.88Z\",\\n      \"name\": \"Algeria\"\\n    },\\n    \"ET\": {\\n      \"path\": \"M725.94,291.31l1.59,-0.58l1.43,-0.08l2.7,0.48l0.61,-0.32l0.82,-1.39l1.01,-0.41l0.96,0.83l1.77,2.54l1.16,0.25l3.75,-8.2l1.03,1.12l2.48,0.99l1.79,2.1l0.92,0.64l4.56,-0.65l2.86,-1.74l1.54,1.78l0.99,0.1l2.98,-0.77l2.55,0.43l1.76,0.7l2.77,-0.18l0.84,0.26l3.51,2.43l2.92,1.0l1.85,1.82l2.18,2.98l2.82,2.82l4.68,3.74l2.17,3.56l2.21,1.42l2.63,3.35l-4.31,6.33l-2.45,2.83l-0.34,3.34l0.4,5.17l0.27,0.35l2.11,0.47l7.0,-1.64l0.99,0.03l1.51,0.81l1.06,0.14l-1.56,1.9l-1.21,1.96l-0.07,0.61l1.49,2.73l0.69,2.0l2.69,3.32l1.34,0.64l1.39,3.09l2.16,2.79l1.75,0.62l4.76,4.15l34.61,11.66l10.92,0.04l-17.54,17.0l-17.34,18.6l-10.93,-0.52l-4.87,1.14l-5.48,2.53l-1.37,1.04l-1.78,2.71l-7.25,1.39l-2.4,0.75l-1.75,1.86l-6.41,0.41l-1.94,-0.21l-3.04,-2.61l-1.65,-1.03l-10.87,4.97l-2.27,3.29l-1.66,1.29l-6.08,-0.75l-4.27,-0.94l-5.97,-0.55l-13.9,-8.97l-10.28,-0.64l-2.84,-3.78l-0.07,-1.51l0.51,-2.54l-0.17,-1.57l-0.77,-0.92l-3.24,-0.88l-1.76,0.59l-0.34,-0.26l-0.05,-1.06l-2.16,-2.09l-1.1,-2.08l-0.32,-2.25l-3.0,-7.36l-1.7,-1.38l-1.03,-1.48l-2.35,-1.2l-2.43,-2.53l-0.51,-1.66l-1.49,-1.78l-2.88,-1.96l-5.15,-1.06l-2.36,-1.3l3.05,-5.92l7.75,-0.06l1.97,-1.84l-0.12,-11.17l0.91,-3.93l1.79,-4.02l-0.39,-4.04l1.71,-2.87l1.37,-0.92l2.44,1.52l0.66,-0.22l1.4,-1.3l0.53,-3.71l-0.08,-1.4l1.71,-6.24l1.65,-1.69l4.82,-7.84l1.58,-0.64l3.63,-0.69l0.37,-1.06l0.29,-3.43l0.59,-2.06l2.1,-4.28l0.66,-2.58l-0.02,-1.8l0.85,-2.9Z\",\\n      \"name\": \"Ethiopia\"\\n    },\\n    \"RW\": {\\n      \"path\": \"M636.22,488.26l1.26,-0.91l1.11,-0.31l3.12,-3.45l0.23,-0.83l-1.49,-3.68l1.28,-1.64l2.53,-1.49l2.72,-0.58l0.72,1.41l1.45,-0.17l1.44,-1.01l2.6,-3.03l0.8,-0.44l0.3,0.02l0.44,1.46l1.5,1.94l1.0,0.44l0.5,0.61l0.54,1.12l0.07,4.67l0.54,0.99l0.12,1.02l-0.7,2.22l-2.66,0.4l-1.82,-1.01l-2.16,0.44l-1.14,0.76l-1.49,-0.87l-0.74,-0.03l-0.38,0.37l-0.64,4.17l-1.74,0.8l-3.47,0.17l-0.99,-1.54l-2.37,-0.94l-0.91,0.27l-0.5,1.03l-0.74,-0.57l-0.32,-1.82Z\",\\n      \"name\": \"Rwanda\"\\n    },\\n    \"TZ\": {\\n      \"path\": \"M644.97,516.58l0.34,-4.61l0.73,-0.07l2.75,-1.8l2.34,-2.61l1.44,-2.77l1.32,-1.45l0.54,-1.65l2.32,-1.91l0.01,-0.89l1.73,-0.74l0.51,-1.14l-0.4,-2.83l-3.35,-0.98l-0.71,-0.33l-0.07,-0.35l0.54,-1.4l-0.47,-0.77l1.15,-2.31l2.85,-0.57l0.51,-0.36l0.71,-2.54l-0.14,-1.28l-0.54,-0.98l-0.11,-4.79l-1.25,-2.03l-0.99,-0.42l-1.36,-1.75l-0.34,-0.99l2.03,-0.25l1.49,-0.64l11.95,0.24l-0.4,3.55l-0.73,1.55l-1.17,5.25l0.13,4.05l1.26,2.01l-0.54,1.03l0.18,0.62l0.62,0.55l-0.27,0.69l0.26,1.29l0.42,0.3l0.53,-0.25l0.27,-0.85l0.41,-0.17l0.39,0.57l0.66,0.23l0.44,-0.51l-0.24,-2.1l1.79,-0.16l0.18,-0.44l-0.51,-1.29l1.57,-1.06l0.72,1.22l1.06,0.65l0.89,0.12l0.26,0.53l0.53,0.05l0.89,-0.65l0.47,0.59l1.22,0.21l-0.07,1.31l0.5,1.15l-0.97,0.97l-0.19,1.62l0.62,0.4l1.52,-1.4l0.71,-0.13l0.28,-0.57l-0.87,-2.06l0.09,-1.95l0.42,-0.49l1.11,-0.09l1.72,0.93l2.65,0.47l0.49,-0.38l0.02,-0.58l4.25,-3.12l-0.1,-1.24l-0.74,-0.36l-2.13,0.64l-3.59,-0.58l1.78,-0.61l1.16,-0.01l0.39,-0.48l-0.77,-1.09l-1.56,-0.14l0.58,-0.45l1.09,0.08l1.33,-0.78l0.22,-0.91l0.88,-0.93l-0.29,-0.75l0.22,-0.55l2.55,0.33l0.33,-0.73l-1.08,-0.91l0.08,-0.38l1.28,-0.24l0.04,-0.69l-0.44,-0.51l1.47,-1.96l41.71,23.3l0.4,2.07l-0.91,2.38l0.09,0.83l1.23,0.54l1.04,1.59l16.48,11.86l-2.76,9.33l-0.79,1.29l-1.08,2.96l-0.19,2.37l0.91,3.37l1.26,1.46l1.69,1.19l1.16,1.46l0.67,1.48l2.25,0.91l0.72,1.43l-0.25,0.93l-0.99,0.98l-0.94,1.58l-0.81,2.28l-0.02,3.18l0.68,0.29l0.28,-0.26l0.72,0.49l0.13,2.05l-1.16,2.69l-0.42,2.58l0.86,3.27l1.26,1.67l-0.33,1.1l2.14,2.83l-0.14,2.6l1.73,5.01l0.08,0.71l-0.6,0.9l0.27,0.62l1.51,0.24l1.23,1.45l1.38,0.17l3.45,2.23l0.64,0.9l-5.28,4.01l-1.96,1.06l-2.98,0.79l-2.85,1.71l-1.64,0.49l-2.22,0.02l-2.26,0.73l-3.44,2.1l-1.86,-1.09l-1.74,-0.43l-3.31,0.24l-0.55,0.43l-0.66,1.93l-1.1,1.05l-2.05,1.07l-1.85,0.39l-1.7,-0.27l-2.93,-1.43l-1.38,0.08l-2.36,1.34l-1.68,0.35l-2.4,-0.11l-1.08,-0.34l-0.27,-0.73l-1.09,-0.86l-2.25,-1.07l-1.76,0.1l-0.92,0.92l-1.46,0.75l-6.7,-0.3l-0.8,-2.01l-0.72,-0.67l-0.78,-0.14l-1.78,-2.85l0.71,-3.19l-0.06,-1.07l-0.9,-2.23l-0.18,-3.36l-0.59,-2.65l-2.47,-3.64l-2.72,-2.29l-1.18,-0.56l-0.46,0.09l-0.62,0.96l0.06,0.99l-2.57,-0.86l-3.12,0.15l-1.19,-1.08l-2.29,-0.28l-1.74,-1.13l-0.85,0.04l-4.84,-2.19l-0.8,-0.73l-2.44,-0.36l-1.17,-0.63l-1.97,-0.2l-0.31,-1.29l-1.28,-0.52l-1.64,0.09l-1.18,-1.05l-0.39,-1.22l-1.0,-0.7l-1.39,-0.63l-1.67,0.03l-0.42,-1.69l-2.07,-2.49l-0.06,-1.31l-2.75,-5.02l-1.4,-1.85l-0.05,-1.9l-0.96,-2.74l0.48,-0.66l0.06,-1.01l-0.46,-1.02l-0.91,-0.88l-1.81,-2.8l-1.67,-1.67l-1.13,-0.35l-1.39,0.42l-2.51,-2.66l0.27,-2.19l1.84,-0.96l0.58,-1.21l-1.05,-2.93l-1.22,-1.91l0.69,-3.57l-0.3,-1.39l-0.66,-0.88l-1.43,-0.88ZM762.78,552.69l-0.45,-0.03l2.18,-1.95l-0.46,1.08l-0.77,0.24l-0.51,0.66ZM764.47,517.47l-0.18,3.41l-0.94,1.84l-0.66,-0.51l0.6,-2.83l-0.24,-1.79l1.42,-0.13ZM760.15,532.01l0.83,2.31l-0.43,0.34l-0.52,-0.95l-0.74,-0.16l-0.92,-0.93l-0.6,-0.04l-0.52,-0.88l0.25,-1.03l-0.15,-1.61l1.05,-1.58l0.23,1.82l0.76,1.93l0.77,0.77ZM683.58,482.55l0.38,0.28l1.24,-0.06l0.79,1.43l-3.05,-1.0l-0.14,-1.03l0.6,-0.17l0.18,0.55ZM670.5,485.68l0.64,0.7l1.71,-0.3l-0.03,0.36l-1.27,0.27l-0.41,0.62l-0.7,-0.98l0.06,-0.68Z\",\\n      \"name\": \"Tanzania\"\\n    },\\n    \"GQ\": {\\n      \"path\": \"M410.07,446.64l-1.07,-0.77l-1.18,-0.22l1.11,-3.0l1.66,-1.63l0.99,-2.55l1.02,-1.6l-0.11,-3.49l1.8,0.85l15.42,0.0l0.07,12.9l-14.92,-0.05l-1.36,0.5l-1.02,-0.39l-0.73,-0.94l-1.1,0.01l-0.59,0.36ZM399.74,415.59l1.81,-0.01l0.26,0.34l-0.04,0.66l-1.74,2.58l-0.37,1.17l-0.56,0.76l-0.36,0.05l-1.91,-0.51l-0.27,-0.45l0.22,-1.02l1.41,-0.56l0.73,-2.22l0.81,-0.78Z\",\\n      \"name\": \"Eq. Guinea\"\\n    },\\n    \"NA\": {\\n      \"path\": \"M466.74,733.07l0.38,0.14l0.53,-0.3l0.29,-1.49l0.06,-1.38l-0.78,-3.22l-1.69,-3.26l-4.06,-5.17l-1.58,-3.62l-4.54,-6.79l-3.29,-8.89l-1.52,-2.0l-6.83,-13.38l-1.6,-2.24l-3.3,-3.31l-1.06,-2.44l-2.01,-3.19l-0.48,-2.93l0.08,-5.67l1.56,-0.23l1.36,-0.7l0.99,-0.04l1.23,0.54l3.93,0.03l6.56,-2.95l4.09,0.79l1.02,1.22l1.56,1.11l2.97,1.93l0.99,0.26l4.73,-0.25l46.65,0.14l0.82,0.42l2.79,3.2l2.87,1.25l5.01,0.28l3.11,0.53l6.52,-0.06l2.21,0.27l2.71,1.31l1.59,0.3l4.32,-0.77l1.91,0.08l1.68,0.45l33.47,-6.28l7.59,0.74l1.71,1.01l1.22,1.2l-3.15,0.36l-1.47,0.55l-2.98,2.19l-1.88,-0.83l-1.58,0.57l-2.92,1.63l-3.54,3.27l-0.86,0.33l-1.39,-2.56l-1.91,-2.5l-1.28,-0.49l-14.2,2.41l-9.11,1.31l-3.01,0.14l-0.38,0.4l0.04,44.55l-11.33,0.0l-0.4,0.4l0.04,80.24l-3.33,0.69l-1.64,0.94l-0.77,1.18l-0.76,0.57l-1.24,0.35l-0.49,0.57l0.02,1.07l-0.29,0.46l-0.78,0.38l-1.43,-0.12l-2.25,-0.75l-2.8,-0.18l-3.43,0.39l-2.32,-0.18l-1.49,-0.76l-6.0,-1.39l-1.09,-2.32l0.46,-1.7l-0.33,-1.21l-0.66,-0.69l-1.17,-0.31l-0.68,-1.49l-1.21,-0.76l-1.78,0.45l-0.85,0.85l-1.42,4.13l-1.43,0.38l-1.94,1.43l-6.19,-5.65l-1.96,-2.31l-5.01,-8.64l-1.8,-6.11l-0.09,-1.33l0.45,-1.04l-0.28,-1.16l-0.62,-1.24l-1.39,-1.25l-0.41,-4.36l-1.0,-2.93l0.21,-2.32l-0.53,-3.62l0.2,-2.77l-0.81,-3.06l-1.66,-3.05l-1.46,-4.23l-0.32,-11.33l-0.81,-3.84l0.15,-0.39Z\",\\n      \"name\": \"Namibia\"\\n    },\\n    \"NE\": {\\n      \"path\": \"M321.81,313.66l1.53,-0.4l0.4,-0.89l-0.22,-1.1l-1.45,-2.12l-1.95,-0.1l-1.94,1.11l-2.45,-0.24l-5.39,-4.29l-1.15,-0.38l-0.09,-3.16l1.82,0.33l0.68,-0.44l-0.04,-0.61l-2.08,-1.29l-0.5,-1.0l-1.0,-0.75l-3.25,-1.11l-2.12,-3.07l-0.8,-1.8l0.24,-1.49l-2.48,-2.91l0.68,-5.15l5.45,0.19l2.78,-0.35l4.15,-3.46l19.81,-0.82l0.66,-1.03l5.16,0.84l0.46,-0.35l0.17,-1.37l2.04,-1.75l1.66,-0.81l1.31,-3.09l0.79,-2.94l1.26,-2.04l0.73,-2.79l0.23,-4.44l0.38,-0.57l-0.08,-25.67l17.51,-3.48l1.14,-0.59l19.35,-17.05l52.45,-32.47l17.54,4.13l1.29,0.7l7.35,6.23l0.48,-0.02l8.29,-4.41l2.16,12.67l0.17,5.07l1.36,1.45l3.48,5.3l-0.67,1.12l0.55,1.73l4.36,4.66l-2.64,5.31l-3.05,36.2l-12.92,13.89l-6.58,9.41l-1.95,4.04l-2.24,2.94l1.66,7.95l-2.93,0.41l-1.59,1.19l-3.77,1.49l-2.64,1.53l-1.7,1.58l-0.55,1.13l-3.62,0.02l-1.52,-1.2l-3.53,-1.28l-3.33,-0.67l-5.41,-0.22l-5.67,0.49l-3.48,0.73l-1.75,0.81l-1.44,0.91l-3.55,3.74l-4.66,-0.12l-5.18,-1.01l-3.4,-1.78l-4.22,-2.75l-3.26,-0.65l-0.74,0.08l-4.95,2.7l-2.18,0.27l-1.39,1.02l-1.14,-0.09l-1.38,-1.06l-2.54,-3.62l-3.47,-3.04l-1.54,-0.13l-8.22,-2.48l-1.61,0.45l-1.39,0.93l-4.84,-0.04l-3.14,0.7l-1.76,0.72l-2.05,1.71l-1.11,0.52l-0.9,5.04l-0.54,1.37l-1.02,1.82l-3.62,3.17l-0.08,6.6l-0.33,1.1l0.59,1.46l-0.27,0.23l-1.57,-1.62l-1.7,-0.84l-1.78,-2.28l-3.39,-3.09l-1.09,-0.17l-1.79,1.01l-3.36,0.92l-0.28,0.74l0.48,2.67l-3.22,-4.6Z\",\\n      \"name\": \"Niger\"\\n    },\\n    \"NG\": {\\n      \"path\": \"M338.89,383.6l2.54,-1.3l-0.03,-0.73l-0.68,-0.18l-3.28,0.84l-1.28,1.51l-6.76,0.28l0.76,-3.44l-0.58,-3.21l0.4,-1.07l-0.07,-3.83l0.41,-1.05l-0.77,-1.74l-0.38,-3.03l0.54,-10.63l0.44,-2.81l3.16,-0.57l0.81,-1.34l0.44,-1.57l-0.11,-1.56l2.13,-2.36l0.08,-1.47l2.54,-1.34l0.66,-1.31l0.54,-1.9l-0.79,-1.5l0.27,-0.67l0.61,-0.69l0.99,0.13l0.54,-0.54l0.61,-2.19l-0.92,-2.01l-0.46,-3.61l-2.67,-3.8l0.03,-1.02l0.7,-1.48l1.32,-1.61l-0.59,-1.61l0.33,-1.04l0.07,-6.43l3.4,-2.82l1.15,-2.01l0.62,-1.58l0.68,-4.61l1.0,-0.46l2.05,-1.71l4.52,-1.29l4.94,0.02l1.55,-1.0l1.31,-0.37l8.03,2.47l1.3,0.04l3.27,2.88l2.53,3.62l1.77,1.29l1.51,0.1l1.52,-1.06l2.17,-0.26l5.34,-2.74l2.96,0.57l4.18,2.72l3.58,1.86l5.33,1.04l4.91,0.13l3.94,-3.96l1.29,-0.81l1.58,-0.74l3.34,-0.7l5.62,-0.49l5.27,0.21l3.23,0.65l3.39,1.23l1.67,1.25l2.36,0.2l1.78,-0.24l0.83,-1.36l1.6,-1.49l2.51,-1.44l3.83,-1.51l1.47,-1.12l2.92,-0.36l5.2,7.23l1.55,8.19l1.14,0.62l1.71,0.16l1.06,0.48l1.05,1.56l-0.27,3.59l-0.42,1.35l0.04,2.5l-4.04,2.55l-2.67,0.72l-1.12,0.93l-2.27,3.19l-1.98,3.29l-1.38,5.02l-1.73,1.72l-0.81,5.49l-1.97,0.77l-1.19,0.9l-0.66,1.55l-0.81,4.89l-0.8,1.5l-1.58,1.31l-2.31,0.53l-1.99,3.69l-0.93,4.05l-1.56,2.65l-0.11,1.52l-2.86,3.7l0.97,1.91l-3.18,2.63l-0.57,2.7l-2.25,1.88l-1.77,0.5l-0.54,-0.53l-0.86,-2.8l-3.25,-3.02l-1.62,-0.94l-0.8,0.12l-0.77,1.58l-0.93,0.43l-2.2,-0.14l-0.59,-1.08l-0.57,-0.11l-4.23,2.76l-1.51,2.76l-3.3,2.46l-3.76,3.74l-1.53,2.82l-1.56,6.81l-2.8,5.0l-0.32,0.25l-0.57,-0.15l-0.36,-0.64l-0.74,-0.3l-0.96,-1.07l-0.78,0.16l-0.11,0.44l1.05,2.82l-0.27,0.76l-7.24,0.38l-0.69,-0.32l-0.35,-0.95l-0.61,-0.18l-0.74,1.1l-1.77,0.08l-1.48,-1.46l-0.92,-0.48l-0.55,0.49l0.99,1.21l-0.08,0.83l-1.43,1.19l-0.76,0.06l-0.45,-0.41l-0.92,-3.27l-0.6,-0.23l-0.39,0.5l0.29,2.91l0.54,0.89l-1.76,0.21l-0.6,-1.48l-0.67,0.21l-0.25,1.31l-2.68,0.38l0.1,-1.13l-0.65,-0.28l-0.8,0.82l-0.08,0.87l-1.03,-0.1l-3.13,-1.87l-2.38,-2.16l-1.09,-2.2l-1.1,-2.87l0.83,-0.4l-0.21,-0.65l-0.94,-0.26l-0.02,-1.24l1.51,-0.54l0.61,-1.2l-0.54,-0.51l-1.74,0.77l-1.75,-1.15l2.03,-0.1l0.74,-0.44l-0.08,-0.72l-1.21,-0.16l-0.03,-0.57l-0.61,-0.36l-0.67,0.8l-0.89,0.33l-0.37,-0.24l-0.23,-1.38l-2.79,-3.17l-5.14,-3.88l-3.8,-0.8l-6.74,0.03ZM382.56,407.1l-0.87,0.28l-0.02,-0.0l0.45,-0.68l0.44,0.41Z\",\\n      \"name\": \"Nigeria\"\\n    },\\n    \"TN\": {\\n      \"path\": \"M393.95,11.16l1.69,-1.28l0.94,-1.75l1.74,-0.94l0.03,-1.47l2.63,-0.77l3.65,-2.61l6.28,-1.93l1.22,0.27l-0.47,1.25l0.54,1.03l0.6,0.12l0.78,-0.63l-0.06,-0.91l1.95,0.05l0.97,0.47l-0.08,2.06l1.65,2.34l-0.39,0.92l0.2,0.52l1.4,0.67l1.63,-0.83l0.68,-1.19l2.26,-0.71l2.09,-1.67l0.72,-0.11l0.65,2.05l-1.66,1.69l-1.96,3.31l-1.73,0.93l-1.45,1.35l-0.7,2.23l0.38,2.14l1.07,2.04l1.15,1.17l1.21,0.45l2.36,1.69l0.47,3.82l0.81,1.23l-4.84,7.19l-1.78,1.72l-4.9,3.52l-1.05,2.18l0.14,1.24l1.29,2.72l1.8,1.72l2.07,0.97l2.54,-0.29l0.17,1.91l0.41,0.33l2.13,-0.26l0.76,-1.06l1.0,0.56l0.72,2.39l1.13,0.83l-0.39,0.32l0.07,0.66l3.32,0.78l-0.51,3.44l-0.06,3.37l0.96,2.13l-0.26,0.57l-7.85,4.28l-0.71,0.81l-1.87,1.17l-1.54,2.48l-1.86,0.38l-0.61,0.42l-1.38,1.86l-0.56,1.34l1.5,5.57l0.14,1.99l-0.42,0.94l-3.67,4.98l-3.88,1.77l-5.51,-23.48l-8.3,-6.14l-0.33,-1.91l-1.09,-3.01l-1.2,-1.77l-4.43,-2.74l-2.68,-7.3l0.14,-3.04l2.61,-2.15l1.12,-2.09l3.28,-2.0l0.93,-1.22l0.67,-1.32l0.75,-4.52l0.94,-1.54l-0.85,-2.92l0.01,-3.35l-0.83,-1.99l1.18,-7.61l-0.6,-1.31l-1.0,-0.53ZM429.08,34.41l0.05,-0.04l-0.0,0.02l-0.05,0.02ZM425.59,47.89l-0.94,0.42l-1.23,-0.47l0.15,-1.38l1.64,-0.05l1.05,0.9l-0.66,0.58Z\",\\n      \"name\": \"Tunisia\"\\n    },\\n    \"LR\": {\\n      \"path\": \"M182.44,359.46l0.23,0.58l0.47,0.24l0.48,-0.27l1.56,1.32l0.86,5.09l0.9,2.38l-0.16,1.38l-0.9,1.59l0.14,0.72l2.35,0.46l1.98,1.95l1.88,-0.62l0.71,0.07l2.06,-2.86l0.41,-1.94l0.86,-0.18l0.23,0.6l1.41,1.2l1.6,5.06l-0.4,3.01l-3.07,3.32l-0.02,0.55l0.88,0.56l1.08,0.13l1.92,1.64l1.09,0.35l2.5,0.04l0.9,0.5l1.14,3.08l0.99,0.75l2.94,0.87l0.57,3.05l-0.33,0.87l-0.01,1.69l-0.59,0.94l-0.16,1.24l-0.89,0.8l-0.26,3.02l0.23,5.05l-7.51,-2.68l-10.18,-5.43l-2.8,-2.16l-10.57,-9.84l-1.72,-1.1l-2.19,-0.56l-2.02,-1.05l-0.86,-1.9l-5.16,-2.62l-2.18,-2.21l2.51,-3.59l2.12,-1.94l2.46,-1.67l2.6,-2.53l1.07,-3.83l2.4,-1.31l0.98,-3.42l1.53,-0.28l0.28,0.68l0.51,0.25l3.12,-1.1Z\",\\n      \"name\": \"Liberia\"\\n    },\\n    \"LS\": {\\n      \"path\": \"M634.16,822.85l-4.19,0.68l-2.99,3.91l-0.2,1.11l-0.69,1.14l-3.16,-0.43l-2.91,-2.91l-1.25,-0.68l-0.33,-0.65l-0.02,-1.31l-2.6,-4.03l-0.85,-2.36l2.71,-1.31l5.14,-7.34l2.48,-0.8l3.26,-2.21l4.38,-1.45l3.67,3.7l4.02,2.67l0.94,2.02l-1.08,3.55l-1.82,1.85l-0.49,2.65l-2.12,1.4l-1.88,0.8Z\",\\n      \"name\": \"Lesotho\"\\n    },\\n    \"ZW\": {\\n      \"path\": \"M619.52,667.32l1.52,-1.13l1.42,-2.83l1.6,-0.75l1.18,-1.13l0.85,0.25l0.79,-0.39l0.36,-0.77l-0.19,-0.61l0.53,-0.97l2.1,-0.57l1.33,0.92l0.84,-1.35l1.5,-0.62l0.21,0.77l0.48,0.37l0.76,0.08l0.76,-0.44l0.55,-1.03l0.84,-0.17l0.52,-0.76l-0.02,-0.65l-0.48,-0.38l-1.81,-0.41l0.65,-1.04l0.29,-3.44l0.54,-1.6l4.29,-2.48l2.29,-0.94l2.77,-0.61l7.38,-0.02l0.15,3.65l0.52,0.52l9.44,0.4l2.95,1.85l2.3,0.42l2.88,2.51l3.74,0.33l4.47,1.65l1.34,1.1l2.08,0.36l-0.79,1.76l0.12,1.98l0.97,2.52l-0.17,9.97l0.44,3.27l-1.23,4.36l-1.91,1.23l-0.31,1.56l0.43,1.1l1.33,0.98l-0.83,3.48l0.65,2.13l2.02,3.74l-0.14,1.15l-3.67,6.34l-1.62,1.14l-0.59,0.8l-0.2,3.53l-1.38,2.2l0.74,2.07l-11.51,12.13l-1.41,1.08l-2.38,-1.05l-1.92,-0.23l-5.39,0.47l-3.06,-0.45l-3.34,-1.3l-2.89,-0.49l-3.45,0.57l-1.32,-1.27l-1.7,-0.28l-0.55,-0.43l-0.24,-0.74l0.24,-1.52l-0.36,-0.6l-5.85,-1.81l-5.67,-0.96l-0.62,-0.64l-1.54,-3.01l-1.98,-2.29l0.4,-3.6l-0.05,-2.82l-0.31,-0.6l-0.94,-0.41l-3.68,-0.07l-0.29,-2.75l-1.0,-1.73l-5.96,-2.62l-5.89,-4.28l-2.44,-5.32l-0.17,-1.82l-1.52,-1.78l-0.65,-1.86l-2.36,-2.5l-2.0,-3.57l-1.22,-1.26l-0.6,-1.32l0.24,-0.97l2.0,0.54l2.22,-0.23l1.01,0.35l1.57,1.18l1.76,0.19l1.59,-0.67l2.12,0.2l2.81,1.11l2.65,0.23l3.66,-1.15l2.42,-3.38l0.75,-0.83l1.22,-0.47l-0.01,-0.38Z\",\\n      \"name\": \"Zimbabwe\"\\n    },\\n    \"TG\": {\\n      \"path\": \"M297.58,329.02l5.02,1.16l0.41,0.5l4.27,-0.43l-1.21,2.91l-0.23,4.07l6.74,4.89l0.05,4.61l0.5,2.61l0.52,1.0l1.61,1.69l0.34,0.89l0.29,23.77l-0.72,0.04l-0.35,0.56l0.57,1.3l0.2,3.15l1.71,2.23l0.29,1.1l-1.57,0.41l-0.26,0.49l-4.23,1.18l-0.32,-0.43l-1.07,-0.3l-1.32,-1.77l-0.76,-0.09l-1.87,-1.33l-0.36,-1.41l-2.02,-3.08l0.05,-1.2l0.71,-0.89l0.49,-3.74l-1.49,-1.17l-0.09,-1.04l1.24,-2.27l-0.25,-4.87l0.14,-0.58l0.99,-1.08l0.07,-0.86l-0.87,-1.65l-1.64,-1.23l-1.12,-1.56l1.31,-1.36l-0.27,-3.1l0.74,-2.97l-0.15,-0.72l-1.1,-1.08l-1.07,-0.07l-0.96,0.6l0.16,-0.87l0.84,-0.48l-0.21,-0.65l-0.32,-0.08l0.41,-0.48l0.67,-7.15l-5.49,-4.69l0.85,-2.38l0.12,-2.09Z\",\\n      \"name\": \"Togo\"\\n    },\\n    \"TD\": {\\n      \"path\": \"M578.03,273.18l-3.93,-0.49l-1.78,0.39l-4.06,0.13l-1.4,1.01l-0.94,1.17l0.33,2.92l-0.38,1.56l-2.0,2.01l-0.95,1.7l-0.15,1.58l-2.18,0.91l-1.13,1.08l0.69,3.53l1.01,1.3l-4.1,2.79l-0.9,1.48l0.01,1.14l1.31,3.02l0.08,1.52l-0.7,1.15l-2.02,1.29l-1.81,3.11l-0.18,1.11l0.84,1.32l1.56,0.36l2.71,-0.44l1.16,0.49l0.58,1.09l-0.24,1.06l0.95,4.57l0.28,0.53l0.98,0.47l-0.28,3.72l0.43,1.24l2.34,2.15l0.9,0.19l0.67,0.54l0.13,1.52l-0.79,2.84l-4.16,-0.83l-3.05,1.22l-0.89,0.77l-1.27,0.05l-1.09,1.08l-2.3,1.14l-0.9,1.11l0.23,2.36l-0.43,0.77l-0.48,0.5l-1.29,0.43l-1.57,2.45l-1.53,0.31l-2.98,3.09l-0.36,0.99l-2.37,2.61l-4.93,3.21l-3.03,-0.07l-1.54,0.71l-3.23,0.62l-6.19,0.07l-1.27,0.3l-1.1,0.68l-0.91,0.7l-0.08,0.78l2.5,2.18l-2.17,2.71l-3.17,2.77l-0.67,1.34l-10.77,0.76l-4.72,2.01l-1.56,1.33l-2.55,0.76l-1.02,0.93l-2.07,-2.05l-0.46,-1.29l-0.49,-0.32l-1.81,1.18l-0.37,1.04l-3.88,1.25l-0.93,0.78l-1.16,0.33l-3.54,-0.51l0.55,-1.29l-0.04,-1.55l-1.31,-0.92l-2.2,-5.47l-1.62,-2.83l-3.08,-2.96l-1.52,-0.81l-4.63,-3.94l-3.79,-4.5l-0.24,-0.91l1.76,-2.31l1.06,-0.81l6.79,0.46l3.55,-0.49l2.16,0.34l2.59,-0.07l1.48,-0.59l0.07,-0.7l-1.41,-0.93l-2.93,-3.11l-1.64,-3.35l-0.73,-2.36l-0.44,-3.05l0.29,-2.9l0.77,-2.02l-0.48,-1.41l0.03,-2.37l-2.37,-5.15l-0.43,-2.84l-1.01,-1.83l-1.71,-1.01l-0.8,-0.94l-0.32,-1.79l-0.79,-0.75l-2.69,-0.74l-2.02,-0.03l-5.2,-7.24l-1.79,-7.81l2.17,-2.87l1.95,-4.05l6.54,-9.36l13.06,-14.17l3.05,-36.28l2.66,-5.37l-0.48,-1.05l-3.96,-4.05l-0.45,-1.41l0.67,-1.28l-3.68,-5.61l-1.25,-1.27l-0.11,-4.85l-2.21,-12.95l11.33,-5.34l93.4,48.28l-0.08,45.21Z\",\\n      \"name\": \"Chad\"\\n    },\\n    \"ER\": {\\n      \"path\": \"M725.98,290.45l-1.08,-9.87l1.07,-1.39l1.84,-5.7l1.57,-3.22l1.19,-3.67l-0.27,-4.02l1.01,-2.0l0.29,-2.92l1.67,0.22l3.06,-0.38l1.52,-3.09l2.72,-1.6l2.69,-0.91l1.01,0.09l1.86,-0.73l1.52,-1.7l0.59,-1.3l1.73,-1.8l3.31,6.53l1.43,4.09l1.26,4.26l0.93,6.42l0.91,3.33l1.48,1.71l0.96,2.98l1.01,0.37l0.48,0.66l1.03,2.81l0.81,1.16l0.69,-0.07l0.4,-0.92l-0.29,-1.59l0.51,-1.27l1.63,1.29l0.51,2.14l1.63,1.88l4.01,0.97l3.0,2.29l4.31,1.43l5.66,7.61l6.8,4.67l1.12,2.14l0.61,2.17l0.41,0.29l1.27,-0.09l2.29,2.23l0.94,1.99l2.03,0.67l0.51,-0.26l0.16,-0.49l0.44,0.4l0.27,0.93l-2.78,1.01l-1.16,2.36l-0.56,0.38l-2.39,-1.59l-0.67,-0.04l-0.58,0.41l-2.59,-3.3l-2.15,-1.36l-2.21,-3.6l-4.73,-3.78l-2.78,-2.78l-3.55,-4.5l-3.59,-1.45l-3.5,-2.43l-1.06,-0.36l-2.94,0.16l-1.53,-0.66l-2.68,-0.47l-3.79,0.7l-0.72,-1.17l-0.72,-0.56l-0.84,-0.08l-2.63,1.77l-4.17,0.63l-2.39,-2.59l-2.53,-1.03l-1.42,-1.39l-0.6,0.17l-3.59,8.22l-2.01,-2.62l-1.44,-1.07l-0.85,0.09l-0.82,0.56l-1.09,1.51l-2.45,-0.51l-1.56,0.09l-1.44,0.51ZM766.22,272.78l0.48,-0.41l0.03,-0.47l0.53,0.36l0.91,2.23l-1.05,-0.03l0.45,-0.33l-0.04,-0.49l-0.64,-0.68l-0.67,-0.19ZM769.17,274.55l0.38,-0.41l1.15,0.55l-0.68,0.02l-0.84,-0.16ZM767.02,269.46l0.02,0.06l-0.07,-0.03l0.04,-0.04Z\",\\n      \"name\": \"Eritrea\"\\n    },\\n    \"LY\": {\\n      \"path\": \"M432.51,55.96l1.38,0.62l1.77,0.32l5.52,3.09l5.6,0.76l6.2,-1.47l2.92,1.16l3.54,0.43l3.69,1.05l4.24,2.61l7.66,1.54l0.93,0.91l1.01,1.84l0.07,2.47l1.57,4.11l2.63,3.18l4.95,2.13l7.8,0.67l6.6,1.71l5.58,1.96l1.45,1.0l2.76,0.94l5.64,4.66l3.13,1.61l2.32,0.35l2.19,-0.32l5.0,-2.61l3.6,-4.1l1.2,-2.18l0.49,-1.56l-0.1,-1.66l-2.12,-4.73l-0.39,-3.28l0.53,-2.25l1.66,-2.73l2.87,-2.72l2.89,-1.92l5.07,-2.5l4.24,-0.32l2.53,-1.81l2.26,0.38l4.02,-0.12l10.29,3.8l0.39,1.92l-0.1,1.87l2.3,1.61l5.95,0.71l3.97,1.95l4.11,0.17l2.4,-0.25l2.18,0.39l1.51,1.16l1.29,2.64l-3.38,4.27l0.29,3.57l1.12,3.66l-0.13,1.16l-0.95,2.74l-2.09,3.53l3.25,13.05l-0.01,114.09l-11.32,-0.01l-0.4,0.4l0.0,5.43l-93.2,-48.18l-12.16,5.56l-8.69,4.61l-7.05,-6.08l-1.45,-0.8l-17.67,-4.18l-4.98,-9.44l-0.57,-0.48l-9.64,-2.95l-3.37,0.82l-1.45,-1.16l-1.58,-2.44l-1.03,-3.13l-0.39,-3.67l-6.44,-9.16l-0.26,-0.86l0.7,-2.02l4.25,-2.71l0.44,-1.21l0.15,-2.82l-0.71,-1.06l-0.46,-1.54l-0.55,-3.46l1.96,-5.89l-0.67,-3.24l-0.5,-6.52l0.31,-5.16l-0.45,-2.79l-1.96,-5.95l-3.69,-5.86l6.61,-3.36l3.84,-5.21l0.47,-1.05l0.04,-1.2l-1.64,-6.67l1.74,-2.63l2.37,-0.68l0.85,-0.94l0.76,-1.6l1.76,-1.09l0.71,-0.81l8.06,-4.48l0.38,-1.64l-0.94,-1.63l0.06,-3.19l0.47,-3.16Z\",\\n      \"name\": \"Libya\"\\n    },\\n    \"GW\": {\\n      \"path\": \"M102.75,314.04l2.01,-0.15l3.14,-1.06l3.53,0.23l3.21,-0.63l4.46,-2.25l16.69,0.07l0.02,0.75l0.64,1.26l-0.54,1.98l-1.27,0.14l-1.39,0.92l0.14,0.78l2.35,1.93l0.04,2.71l-2.28,0.75l-3.76,0.09l-2.18,1.22l-2.78,0.61l-1.26,1.37l-2.71,5.05l-0.18,-0.26l0.4,-1.37l-0.4,-0.51l-0.79,0.17l-0.73,0.93l0.04,-0.85l-0.36,-0.42l-1.1,0.02l-0.63,-0.55l-0.0,-1.0l0.43,-0.41l0.03,-0.63l-1.26,-0.26l0.29,-0.52l1.89,-0.81l2.09,-0.29l0.24,-0.64l-0.81,-0.9l-1.27,-0.3l-1.19,0.21l-0.88,0.6l-0.81,-1.0l0.31,-0.99l0.41,-0.23l2.3,0.01l1.58,-0.65l0.36,-1.03l-0.76,-0.31l-1.01,0.5l-2.93,-0.17l-1.03,0.37l-1.56,1.14l-1.82,0.6l-0.9,-0.17l0.34,-1.16l-0.84,-0.93l-2.27,0.43l-1.37,-0.62l-0.48,-0.67l0.08,-0.8l0.87,-1.17l-0.35,-0.52l-0.95,-0.05l-1.3,0.41l-1.74,-0.97ZM112.9,326.69l0.12,-0.11l0.02,0.0l-0.05,0.06l-0.09,0.04ZM110.3,324.02l-0.59,-0.08l0.44,-0.86l0.04,0.01l0.1,0.93ZM108.31,319.69l0.84,-0.06l-0.27,0.64l-0.57,-0.57ZM107.34,328.61l0.47,-0.15l0.65,-0.58l-0.03,0.58l-1.09,0.15Z\",\\n      \"name\": \"Guinea-Bissau\"\\n    },\\n    \"ZM\": {\\n      \"path\": \"M578.83,587.79l0.57,0.09l0.9,1.63l1.94,0.49l0.41,0.52l0.31,1.3l-0.6,1.66l0.66,0.65l1.04,0.36l0.81,-0.09l1.84,-1.04l6.98,-1.64l-0.32,1.99l0.92,2.81l1.87,1.51l1.5,0.02l4.75,1.72l6.71,0.98l2.85,-0.1l1.64,-0.9l1.15,-3.33l0.93,-0.3l0.75,2.3l2.11,1.86l1.24,2.89l0.6,0.54l1.03,0.56l2.46,0.22l6.31,2.67l1.54,3.66l1.6,0.52l0.56,0.64l2.18,3.35l0.35,1.25l0.84,0.74l2.45,0.45l4.15,-1.77l0.53,0.36l0.42,1.55l1.15,0.51l0.87,-0.41l0.27,-0.68l-0.0,-14.77l-0.48,-0.39l-3.47,0.9l-0.38,0.66l0.12,1.47l-0.48,0.23l-4.08,-0.94l-2.45,-2.65l-4.23,-3.58l-1.39,-3.69l2.15,-7.93l1.13,-1.72l0.08,-1.41l-0.44,-1.86l0.26,-6.68l-0.31,-1.88l-2.38,-5.09l3.16,-2.4l2.27,-2.77l0.64,-1.18l0.2,-1.3l-0.31,-1.03l18.7,-2.93l-1.02,0.9l-0.41,1.25l0.48,1.04l0.86,0.1l-0.31,0.61l0.36,0.26l1.56,-0.81l1.29,0.58l2.05,2.1l1.03,0.63l1.28,-0.7l0.67,-0.01l0.32,-1.43l1.31,-0.02l1.89,1.09l0.32,1.13l1.42,1.26l1.88,0.0l0.84,0.3l0.08,0.89l0.53,0.6l2.13,0.23l1.15,0.62l2.33,0.33l0.66,0.66l4.88,2.21l0.68,1.21l0.2,1.17l1.25,0.47l0.59,-0.42l0.56,0.16l0.61,1.47l1.12,1.15l-0.33,2.25l2.45,2.21l0.31,1.85l1.23,1.86l-2.11,2.29l-1.44,0.39l-1.06,1.03l1.27,3.42l-1.16,2.57l-0.53,0.46l-0.03,1.61l0.71,0.92l0.15,0.78l-0.03,2.25l-0.54,2.88l1.16,2.49l0.58,0.33l1.12,0.01l-1.01,1.15l-4.53,1.8l-0.94,2.18l0.61,1.37l-0.34,3.58l-1.32,2.73l-2.19,1.84l0.25,0.57l1.27,0.75l-0.34,0.47l0.11,0.55l1.17,0.66l1.59,2.48l-17.08,5.92l-10.13,2.9l-5.19,2.06l-0.33,0.44l0.01,0.94l0.35,1.48l1.14,1.98l0.46,2.96l-7.37,0.02l-2.93,0.64l-2.44,1.0l-4.42,2.56l-0.62,0.85l-0.49,4.58l-0.64,0.98l-1.53,-0.37l-2.6,1.01l-1.11,-0.43l-0.51,0.83l-1.06,0.52l-0.31,0.78l-1.33,1.19l-1.56,-0.61l-1.27,0.61l-0.34,0.5l0.37,0.69l-1.24,0.36l-0.34,1.46l-0.84,0.2l-2.09,2.74l-1.07,2.03l0.28,0.56l-2.25,2.1l-1.87,3.23l-2.45,0.87l-2.23,-0.22l-2.92,-1.13l-2.27,-0.21l-1.78,0.69l-1.34,-0.19l-1.34,-1.07l-1.31,-0.48l-2.27,0.23l-2.12,-0.58l-3.08,-2.74l-3.24,-0.64l-5.5,-0.44l-10.3,1.89l-4.83,-4.16l-5.83,-5.69l-3.54,-2.57l-1.25,-3.88l-0.7,-3.64l-0.01,-34.94l21.47,0.0l1.47,-0.15l0.34,-0.33l0.02,-0.63l-0.95,-1.78l0.29,-1.74l0.97,-2.63l-0.38,-3.68l0.15,-5.67l0.87,-2.84l-0.85,-5.77ZM685.33,624.73l0.57,-0.41l0.12,0.17l-0.69,0.24Z\",\\n      \"name\": \"Zambia\"\\n    },\\n    \"CI\": {\\n      \"path\": \"M196.93,382.8l2.89,-3.19l0.43,-2.32l0.05,-1.25l-1.95,-5.59l2.65,0.26l1.4,-2.46l-0.07,-1.4l1.32,-2.37l-0.2,-1.26l-2.64,-1.14l0.19,-2.03l1.8,-0.25l2.48,0.33l1.19,1.09l0.5,-0.0l0.54,-0.65l-0.08,-1.98l-0.43,-1.18l-0.92,-1.03l-1.72,-0.69l0.14,-1.82l1.69,-1.03l0.15,-0.57l-1.54,-1.29l0.22,-2.44l-0.47,-0.41l-1.42,0.2l-0.94,-0.89l-0.2,-5.46l1.75,-1.9l1.13,-0.28l0.94,-0.66l1.71,-2.17l1.57,-0.14l1.2,1.15l0.49,0.96l2.9,0.63l0.7,0.63l0.7,0.09l0.8,-0.68l-0.24,-1.02l0.28,-0.64l3.14,-0.28l0.32,-0.77l-0.12,-2.48l0.84,0.63l1.75,0.34l0.59,-0.68l-0.25,-0.8l1.38,-0.4l0.08,1.59l0.56,1.82l-0.55,1.65l1.67,1.02l1.39,-0.0l2.13,-2.23l3.13,-0.56l1.92,1.43l1.56,-0.01l1.64,0.79l1.18,2.2l0.43,1.55l4.1,2.6l1.18,-0.07l1.4,0.85l1.01,0.06l1.05,-1.24l5.38,-1.98l6.5,0.29l1.39,1.61l1.16,0.7l2.0,3.06l0.9,0.17l0.48,-0.23l-0.11,1.32l0.27,0.37l-0.75,1.69l-0.05,0.95l1.17,1.19l0.56,1.83l1.07,6.74l-1.2,0.72l0.04,1.01l-2.14,1.56l-1.25,2.9l-0.74,2.72l-0.32,2.93l-2.9,4.63l-0.14,2.06l0.52,3.62l2.38,7.52l0.74,1.08l1.69,0.35l0.4,1.76l-0.53,2.87l-1.4,0.37l-2.08,-0.82l0.17,-1.41l-0.35,-0.44l-0.57,-0.07l-0.86,0.46l-1.04,2.14l-5.87,-1.01l-1.43,-0.87l-1.66,-0.2l-5.1,0.35l-0.86,0.6l-0.13,0.46l0.24,0.16l-3.28,0.45l-0.63,-0.08l-0.81,-0.68l-3.17,-0.06l-0.81,0.35l-0.38,0.48l0.21,0.38l-2.29,0.19l-4.15,0.94l-10.94,4.0l-2.52,1.5l-2.05,0.7l-2.23,1.26l-1.09,0.23l-0.31,-5.08l0.26,-2.79l0.84,-0.77l0.14,-1.18l0.66,-1.17l0.01,-1.71l0.32,-0.84l-0.63,-3.6l-0.32,-0.39l-0.7,0.03l-1.32,-0.71l-1.13,-0.16l-0.56,-0.47l-1.27,-3.21l-1.23,-0.65l-2.59,-0.06l-0.89,-0.3l-1.79,-1.61l-1.47,-0.29Z\",\\n      \"name\": \"C\\\\xF4te d\\'Ivoire\"\\n    },\\n    \"EH\": {\\n      \"path\": \"M98.08,205.07l0.08,-0.53l4.61,-0.68l7.72,-0.24l5.41,0.61l5.74,0.12l1.56,-0.12l1.34,-0.77l1.0,-1.33l0.7,-1.83l-0.17,-1.39l3.6,-3.91l1.16,-1.68l0.59,-5.54l0.82,-4.2l0.93,-3.8l1.48,-3.37l1.25,-1.1l5.4,-2.37l3.07,-5.33l0.75,-0.79l4.19,-2.59l2.47,-2.01l1.44,-3.57l1.65,-6.62l1.03,-2.84l-0.07,29.53l-3.82,1.71l-3.02,0.64l-4.82,3.35l-1.56,2.38l-0.19,1.07l0.84,3.16l0.89,13.84l-46.06,0.2ZM157.4,147.05l2.57,-0.61l1.1,-2.54l1.47,-2.19l2.08,-2.13l0.27,-1.55l-0.77,-1.45l5.06,-1.49l1.86,-0.12l2.33,0.36l3.62,1.65l2.5,-0.62l1.43,0.71l1.21,0.04l1.17,-0.23l3.65,-2.79l4.69,-0.01l2.5,-0.39l0.81,-0.78l-0.51,-2.08l0.27,-1.89l-0.47,-2.03l0.74,0.0l0.01,20.13l-37.6,0.0Z\",\\n      \"name\": \"W. Sahara\"\\n    },\\n    \"CM\": {\\n      \"path\": \"M398.03,403.42l2.82,-5.07l1.56,-6.82l0.7,-1.54l4.33,-4.63l3.33,-2.48l1.48,-2.73l3.85,-2.5l0.77,1.06l3.39,0.0l0.65,-0.58l0.66,-1.41l1.37,0.78l3.12,2.89l1.1,3.23l0.74,0.41l1.2,-0.12l1.18,-0.46l1.88,-1.4l0.92,-1.25l0.3,-2.19l3.23,-2.63l0.05,-0.68l-0.95,-1.47l2.76,-3.48l0.19,-1.76l1.53,-2.56l0.92,-4.0l1.86,-3.45l2.06,-0.36l0.87,-0.57l1.58,-1.83l1.16,-5.86l0.56,-1.3l0.91,-0.64l1.78,-0.59l0.53,-0.56l0.81,-5.49l1.72,-1.7l1.41,-5.1l1.89,-3.12l2.21,-3.11l0.96,-0.78l2.6,-0.68l4.35,-2.85l0.28,-1.28l-0.22,-1.64l0.65,-3.05l0.02,-2.08l-1.41,-2.05l-1.21,-0.55l-2.37,-0.41l-1.43,-7.58l1.58,0.01l2.42,0.63l0.45,0.36l0.4,1.94l1.03,1.17l1.52,0.83l0.92,1.66l0.43,2.83l2.31,4.93l-0.04,2.29l0.48,1.26l-0.74,1.97l-0.31,3.08l0.46,3.19l0.77,2.5l1.76,3.56l3.9,3.8l-3.05,0.31l-2.23,-0.34l-3.5,0.49l-6.96,-0.45l-1.52,1.09l-1.89,2.46l0.35,1.76l3.85,4.57l4.71,4.0l1.55,0.84l2.88,2.74l1.56,2.71l2.23,5.53l1.32,1.21l-0.26,1.38l-1.73,2.8l-1.5,1.07l-0.56,0.78l-2.02,4.94l-2.03,2.73l-1.17,2.86l-0.59,0.61l-2.27,1.1l-0.87,0.92l-0.17,1.0l0.88,1.5l0.99,0.19l0.27,0.34l0.0,4.08l-0.63,2.62l0.93,1.38l0.8,6.0l0.8,1.4l2.94,2.34l0.41,0.75l0.84,2.49l-0.87,0.14l-0.29,0.54l0.34,0.86l0.83,1.49l7.59,8.23l1.64,0.47l1.66,2.0l-0.07,1.5l0.47,1.61l0.09,1.92l0.88,2.36l-0.05,0.45l-1.1,1.19l-0.17,1.15l0.77,3.32l-0.42,0.3l-3.71,-2.71l-1.74,-0.43l-2.99,0.05l-2.09,-1.04l-0.92,0.38l-1.87,-0.13l-0.45,-0.73l-1.33,-0.01l-2.52,-1.41l-1.03,0.48l-13.6,-0.08l-0.34,-0.67l-0.79,-0.44l-4.15,0.11l-5.9,-0.58l-9.45,-0.07l-2.47,0.03l-0.39,0.45l-0.17,1.1l-15.4,-0.0l-1.15,-0.48l-0.6,-1.01l0.96,-6.81l0.72,-1.86l-0.37,-2.11l-2.68,-3.39l0.9,-1.2l-0.4,-0.23l-1.12,0.11l-0.72,-1.57l0.47,-0.59l1.05,0.16l0.46,-0.45l-0.17,-0.57l-0.95,-0.85l0.42,-1.2l-0.75,-0.29l-1.01,0.5l-0.86,-0.44l-0.46,0.49l0.16,0.59l-0.55,0.59l-0.95,-0.14l-0.84,-0.7l-2.75,-1.02l-0.24,-1.42l-0.75,-1.51l-0.12,-2.56l-1.84,-0.35l-1.21,-1.05l-0.58,0.45l0.29,1.2l-0.69,0.03l-0.29,-0.55l0.31,-1.81Z\",\\n      \"name\": \"Cameroon\"\\n    },\\n    \"EG\": {\\n      \"path\": \"M655.53,78.07l-0.21,0.35l0.36,0.35l1.61,0.17l3.64,-0.77l0.94,-1.8l1.14,0.18l3.97,1.69l1.1,0.01l3.14,-1.05l-1.65,2.54l0.15,0.61l2.72,0.93l0.97,1.48l0.46,0.19l1.43,-0.47l0.88,-1.06l-0.14,-0.7l2.53,2.05l1.11,0.5l5.96,-1.22l1.05,1.0l2.1,-0.59l3.42,-0.0l2.85,-0.68l3.12,-1.55l3.69,10.84l1.5,3.26l2.79,8.89l-1.89,2.68l-1.39,6.51l-1.99,5.07l-0.55,4.32l-1.88,2.86l-1.71,-0.68l-3.26,-2.7l-1.92,-2.6l-2.13,-1.76l-1.9,-2.18l-1.38,-5.22l-0.69,-1.29l-2.37,-2.68l-1.71,-2.94l-0.86,-3.49l-0.98,-2.31l-0.57,-0.19l-1.09,0.62l-0.04,1.2l-0.9,1.26l-0.58,1.8l0.54,1.4l1.92,1.84l0.35,0.72l0.43,1.69l-0.04,2.52l0.38,0.93l1.44,1.76l1.33,2.8l3.63,4.62l2.0,2.0l1.43,0.97l0.51,0.81l0.08,3.75l1.71,3.32l1.28,1.04l0.5,0.94l1.26,6.66l1.12,1.4l3.28,6.61l2.75,4.15l7.37,15.17l3.35,4.03l2.71,1.97l-1.8,0.35l-0.67,2.14l0.22,4.24l0.51,2.18l1.57,4.02l2.67,2.73l3.69,1.38l2.18,2.88l4.79,3.59l0.28,0.58l-62.68,0.01l0.41,-1.64l-0.55,-0.76l-0.75,-0.13l-0.92,0.38l-1.05,2.11l-0.37,0.06l-72.63,-0.01l0.0,-89.62l-3.24,-13.0l2.01,-3.21l1.01,-2.95l0.14,-1.41l-1.12,-3.66l-0.28,-3.32l2.97,-3.67l0.94,1.36l1.84,0.27l6.06,-1.39l15.73,3.12l3.47,2.15l1.06,0.29l2.32,-0.04l1.71,1.26l6.36,0.6l6.65,2.85l2.52,-0.49l1.84,-0.82l5.87,-3.87l1.26,-0.44l2.0,0.08l2.21,-2.6l1.58,-0.15Z\",\\n      \"name\": \"Egypt\"\\n    },\\n    \"SL\": {\\n      \"path\": \"M165.73,342.66l1.63,1.75l4.17,5.64l-0.74,2.31l0.41,0.45l1.16,0.27l0.13,2.11l1.18,2.05l-1.46,1.62l-0.99,2.31l0.19,0.48l2.24,0.2l1.92,-1.94l0.63,-0.04l-0.81,2.95l-1.78,0.68l-0.74,0.82l-0.86,3.51l-2.61,2.56l-2.42,1.64l-2.15,1.96l-2.54,3.61l-2.43,-1.92l-2.36,-1.16l-6.28,-2.31l0.53,-1.8l-0.81,-1.26l0.29,-0.85l-0.38,-0.53l-1.19,0.6l-1.19,-0.14l-1.72,-1.16l-1.23,-3.82l-0.97,-0.75l-1.27,-0.14l-1.3,-2.27l2.07,0.42l1.94,-1.79l0.37,-1.04l-0.12,-0.31l-0.63,-0.17l-0.45,0.38l-1.42,-0.11l-0.88,0.52l-0.4,-1.02l0.17,-1.3l1.31,-0.13l0.46,-0.52l-0.29,-0.56l-1.01,-0.18l-1.29,-1.17l1.56,0.14l0.69,-0.3l1.03,-1.02l0.45,-1.28l1.3,-0.4l1.04,-0.94l2.42,-4.06l0.62,-1.73l0.66,-0.33l1.59,-0.34l1.71,0.62l2.58,-0.56l0.39,-0.82l7.08,-0.04l0.57,0.16l0.21,0.45ZM150.0,371.51l-0.53,-0.45l-3.08,-0.87l2.81,-0.26l0.92,0.47l-0.12,1.11Z\",\\n      \"name\": \"Sierra Leone\"\\n    },\\n    \"CG\": {\\n      \"path\": \"M433.42,487.21l1.46,0.55l2.4,-0.56l1.54,0.77l4.48,-0.97l0.31,-0.36l0.38,-2.57l-0.54,-1.98l1.55,-0.98l1.97,1.09l2.51,4.59l4.34,1.09l1.37,-0.11l2.01,-1.45l1.27,-1.44l1.17,1.9l-0.19,0.83l0.33,0.82l1.68,0.45l1.3,-0.4l1.29,-1.29l0.14,-0.92l-0.44,-0.81l0.43,-0.47l0.59,-2.07l1.57,-1.38l0.46,-2.09l-0.23,-1.35l0.52,-0.89l0.1,-1.31l-0.52,-5.19l0.74,-4.75l-1.44,-1.48l-1.88,-0.53l-1.61,-1.82l-2.25,-0.59l0.27,-4.43l0.69,-1.73l1.47,-2.0l1.73,-0.23l1.13,-0.89l1.42,-2.45l-0.06,-1.17l-1.53,-2.72l-0.71,-2.27l-0.98,-0.83l-4.06,-0.56l-6.96,2.03l0.37,-1.14l-0.98,-3.22l0.1,-1.55l1.4,-4.04l13.58,0.08l1.08,-0.46l2.22,1.39l1.15,-0.05l0.48,0.79l2.32,0.12l0.75,-0.36l2.1,1.03l2.95,-0.06l1.54,0.39l4.07,2.79l1.13,-0.93l-0.78,-3.49l0.11,-0.86l1.14,-1.24l0.07,-0.69l3.31,-6.52l0.14,-4.02l1.05,-3.37l0.36,-0.37l7.04,-1.03l2.53,-1.01l4.94,1.51l2.66,0.03l0.86,0.63l1.92,-0.97l1.69,-0.38l0.59,1.03l0.63,0.42l0.12,1.75l-1.5,4.35l-3.29,6.01l-1.64,4.71l-0.18,5.65l-1.83,4.96l-0.19,3.14l0.46,3.7l-0.43,3.46l-1.32,3.31l-0.59,2.7l0.31,3.13l-2.32,2.5l-3.03,2.57l-3.56,1.65l-1.18,1.06l-4.04,7.27l-3.8,3.94l-0.37,1.47l0.3,8.77l-0.81,4.99l-3.1,5.33l-3.04,1.07l-1.0,0.74l-0.6,1.05l-2.47,1.56l-5.69,6.29l-0.7,0.35l-2.98,-0.39l-0.49,-2.66l0.94,-1.72l-1.13,-1.89l-0.38,-0.18l-3.82,1.45l-1.14,0.73l-1.66,-0.57l-1.04,0.27l-0.55,2.93l-2.86,1.5l-1.96,-1.42l-0.96,-1.18l-1.17,0.06l-1.93,-2.01l-1.33,-0.17l-1.86,1.19l-2.92,1.0l-0.99,1.73l-1.36,0.32l-1.79,2.28l-2.02,-2.53l-0.43,-0.88l-0.13,-1.42l-7.43,-7.49l1.06,-2.28l2.93,-1.84l1.95,1.87l1.98,0.18l0.8,-0.71l-0.06,-0.81l-0.48,-0.73l1.17,-2.53l-0.16,-0.38l-2.49,-1.6l-0.19,-0.36l0.72,-1.02l0.09,-0.67l-1.56,-1.76l-0.94,-0.23l0.66,-2.47l-0.31,-2.57Z\",\\n      \"name\": \"Congo\"\\n    },\\n    \"CF\": {\\n      \"path\": \"M474.14,412.46l0.6,-0.07l0.43,-0.47l-0.9,-3.12l-0.56,-0.97l-2.96,-2.34l-0.6,-1.05l-0.8,-6.02l-0.9,-1.17l0.63,-2.48l0.0,-4.35l-0.53,-0.82l-0.99,-0.17l-0.64,-1.1l0.78,-1.08l2.75,-1.48l1.46,-3.29l2.04,-2.73l2.02,-4.95l2.0,-1.76l1.06,-1.74l4.03,0.55l1.47,-0.39l0.95,-0.79l4.0,-1.29l0.53,-1.2l1.01,-0.76l1.43,2.22l1.74,1.32l0.61,-0.19l0.77,-0.82l2.62,-0.8l1.56,-1.33l4.57,-1.94l3.36,-0.03l7.48,-0.76l0.5,-0.38l0.46,-1.18l1.28,-0.85l1.86,-1.9l2.4,-3.0l-0.52,-1.18l-2.03,-1.58l1.67,-1.11l1.03,-0.22l6.16,-0.06l3.37,-0.65l1.4,-0.67l3.29,0.0l5.12,-3.35l2.49,-2.75l0.34,-0.96l2.79,-2.9l0.85,0.05l0.78,-0.46l1.51,-2.4l1.15,-0.35l0.74,-0.71l0.62,-1.18l-0.05,-2.6l2.63,-1.43l0.97,-1.01l1.33,-0.08l0.94,-0.8l2.84,-1.14l4.0,0.86l1.16,1.87l4.08,4.31l2.7,4.2l1.15,2.37l-0.28,5.52l-0.27,0.81l-1.54,1.91l-0.03,0.99l0.99,1.2l-0.05,1.65l0.7,0.7l1.13,0.39l5.92,0.9l-0.29,2.04l0.44,1.26l0.97,0.92l2.11,0.71l3.26,0.56l1.24,0.58l1.8,2.02l2.21,1.8l0.45,0.8l-0.75,1.98l0.2,0.63l1.04,1.08l1.28,1.18l5.95,3.16l1.64,1.23l1.56,2.04l2.1,1.6l-0.55,1.87l0.19,0.91l1.15,1.54l1.11,2.41l1.06,0.74l1.62,0.27l4.76,3.13l0.89,1.67l0.33,3.21l0.86,1.25l-2.75,-0.64l-2.83,1.59l-15.36,-2.89l-1.64,0.82l-1.65,2.58l-1.96,0.61l-1.09,-0.16l-2.4,0.6l-3.76,-0.92l-1.52,0.18l-10.6,3.89l-1.07,-0.0l-2.37,-0.86l-3.03,0.16l-2.04,1.7l-2.44,4.54l-0.73,0.65l-8.48,-1.69l-1.78,0.41l-2.16,-0.76l-1.52,0.07l-1.03,-0.3l-2.05,-0.97l-4.52,-0.54l-1.89,-2.58l-1.96,-1.69l-2.69,-1.4l-2.21,-1.63l-1.69,-0.5l-2.31,-0.05l-2.19,0.72l-2.99,2.11l-2.86,4.41l-1.45,1.56l-1.4,0.66l-0.3,1.3l0.6,1.61l0.15,1.81l-0.43,3.19l0.1,1.59l-0.6,-0.98l-0.64,-0.29l-1.9,0.52l-1.53,0.88l-0.63,-0.56l-2.75,-0.06l-4.63,-1.55l-3.2,1.05l-6.39,0.73l-1.02,0.47l-0.57,0.66l-1.08,3.45l-0.14,4.01l-2.93,5.77l-0.5,-1.57l-0.59,-5.29l-1.63,-2.02l-1.84,-0.65l-3.64,-3.79l-3.83,-4.31l-0.87,-1.68Z\",\\n      \"name\": \"Central African Rep.\"\\n    },\\n    \"AO\": {\\n      \"path\": \"M441.82,531.2l5.51,-1.02l3.33,-1.64l1.19,-0.09l1.33,0.29l8.0,-0.28l4.95,0.42l22.42,-0.32l1.26,0.37l1.14,0.71l1.79,2.25l0.1,3.42l0.4,1.79l2.1,3.81l0.49,1.37l-0.13,1.2l0.44,1.3l1.98,2.39l4.47,7.24l0.9,0.45l3.78,-0.36l1.27,0.46l2.2,-1.0l4.3,-1.02l4.37,0.77l2.35,0.0l2.39,-0.42l0.33,-0.35l0.36,-3.62l1.27,-2.22l0.05,-2.25l0.46,-1.41l1.39,-1.13l2.4,-0.57l7.93,-0.79l-0.65,2.71l0.29,0.87l0.73,0.59l13.96,0.54l0.34,0.88l-0.09,2.02l-0.63,3.19l0.24,2.91l1.12,2.76l0.11,4.05l-0.88,5.58l-0.2,3.59l0.58,1.73l2.74,3.2l1.23,2.03l0.88,2.52l0.36,5.0l-0.24,0.86l-0.77,0.46l-0.47,0.94l0.61,3.11l0.62,0.86l0.7,0.22l3.01,-1.69l6.04,0.37l4.49,-1.4l4.32,0.52l0.97,-0.4l0.33,-0.83l0.12,0.75l0.66,4.66l-0.87,2.86l-0.15,5.66l0.44,2.8l-1.33,5.29l0.97,1.94l-22.89,0.1l-0.4,0.4l0.01,35.38l0.73,3.82l1.44,4.23l3.58,2.59l3.09,3.14l7.11,6.3l-22.18,4.19l-1.47,-0.46l-2.05,-0.09l-4.31,0.77l-2.64,-0.77l-1.47,-0.82l-2.4,-0.29l-6.44,0.06l-3.08,-0.52l-4.9,-0.26l-2.61,-1.13l-2.74,-3.16l-1.29,-0.6l-46.71,-0.14l-4.64,0.25l-0.75,-0.2l-2.84,-1.86l-1.5,-1.07l-1.11,-1.29l-0.96,-0.42l-3.59,-0.49l-6.59,2.95l-3.74,-0.03l-1.09,-0.51l-1.36,0.01l-1.42,0.71l-1.3,0.19l0.84,-6.11l-0.26,-8.66l-0.49,-1.66l1.62,-1.29l0.85,-1.13l0.57,-1.45l0.68,-3.23l2.42,-7.3l1.16,-7.18l1.47,-3.45l0.53,-3.68l4.0,-4.81l1.03,-3.01l4.94,-2.94l2.29,-2.96l1.06,-2.0l1.17,-3.7l0.01,-3.95l0.74,-5.12l-0.16,-1.58l-1.12,-2.13l-0.27,-1.57l-2.1,-2.5l-0.54,-1.94l-1.88,-3.01l-0.51,-1.98l-0.91,-1.49l-0.63,-3.68l-1.83,-4.02l0.0,-0.28l0.54,0.15l3.67,-3.94l0.21,-4.04l-3.37,-6.95l-2.66,-6.41l-0.54,-3.41l-3.52,-4.26l-2.62,-5.27ZM440.92,526.36l-0.23,0.06l-0.46,-1.04l0.57,-1.98l-0.34,-1.69l-1.72,-3.63l1.89,-2.34l1.27,-0.25l0.93,-1.67l2.84,-0.99l0.98,-0.75l1.21,-0.42l2.01,1.99l-2.43,0.95l-2.71,2.81l-1.66,1.07l-0.15,0.59l0.81,0.81l-0.21,6.12l-2.58,0.35Z\",\\n      \"name\": \"Angola\"\\n    },\\n    \"CD\": {\\n      \"path\": \"M441.08,527.14l2.62,-0.32l0.5,-0.41l0.31,-6.68l-0.67,-0.81l1.41,-0.9l2.69,-2.79l2.59,-0.98l0.6,-0.53l2.73,2.56l0.9,0.14l3.0,-1.47l0.38,-0.55l0.36,-2.58l2.25,0.5l4.69,-2.15l0.85,1.26l-0.93,1.82l0.66,3.06l0.65,0.43l3.26,0.2l0.95,-0.51l5.66,-6.27l1.52,-0.76l2.34,-2.46l3.17,-1.13l1.55,-2.11l1.91,-3.71l0.83,-5.09l-0.29,-8.85l0.24,-1.04l3.8,-3.95l3.94,-7.14l2.54,-1.79l2.1,-0.82l3.1,-2.63l2.5,-2.68l-0.23,-3.43l0.55,-2.55l1.36,-3.43l0.44,-3.56l-0.46,-3.81l0.19,-2.97l1.83,-4.94l0.17,-5.58l1.6,-4.62l3.26,-5.95l1.57,-4.52l-0.28,-4.52l0.43,-3.28l-0.16,-1.91l-0.59,-1.64l0.22,-0.72l1.21,-0.47l1.55,-1.65l2.78,-4.32l2.88,-2.03l1.96,-0.63l3.32,0.4l2.3,1.68l2.61,1.35l1.88,1.62l2.12,2.74l4.65,0.58l2.01,0.95l1.22,0.35l1.43,-0.1l2.16,0.77l1.91,-0.4l2.5,0.31l6.01,1.39l1.36,-0.97l2.45,-4.55l1.62,-1.41l2.72,-0.14l2.23,0.83l1.38,0.04l10.7,-3.9l1.25,-0.17l3.78,0.92l2.61,-0.6l1.12,0.16l2.34,-0.79l1.75,-2.67l1.24,-0.56l15.09,2.92l0.87,-0.23l1.71,-1.24l0.86,-0.12l3.17,0.98l0.98,1.57l2.08,1.49l1.47,2.37l2.25,1.33l1.15,1.25l1.59,0.98l2.81,0.3l3.57,-2.11l2.31,0.2l2.36,1.11l1.09,0.02l2.08,-1.32l1.01,-1.32l0.71,-0.21l1.26,0.5l1.11,1.15l1.11,1.86l3.78,4.03l3.69,1.75l0.49,1.88l0.43,0.58l2.05,0.06l0.84,1.41l0.67,0.41l-1.38,3.1l-0.32,1.5l1.12,1.86l-0.93,2.39l-0.49,2.71l1.4,1.0l1.6,0.02l1.31,1.27l1.03,0.18l0.8,1.0l-4.36,3.23l-4.04,3.9l-1.68,2.79l0.19,0.89l-0.92,0.36l-0.95,0.97l-0.71,1.55l-2.86,1.9l-0.14,3.81l-1.76,3.74l-0.71,0.84l-0.39,2.38l-2.23,0.93l-2.0,4.12l0.1,0.9l0.81,0.94l1.86,-0.41l0.81,-0.64l-0.85,4.62l0.2,4.56l-2.58,1.52l-1.19,1.5l-1.68,-0.6l-0.86,0.61l-0.61,2.37l-0.9,1.96l0.03,0.96l-0.5,1.34l0.48,1.07l-0.59,0.83l-0.15,1.1l0.89,2.99l1.03,0.51l0.14,0.94l2.33,2.84l-0.15,2.87l-0.81,1.14l0.06,2.46l-0.51,1.94l-0.21,3.61l0.14,1.38l-0.47,1.01l0.32,0.67l0.82,0.31l0.51,-0.15l0.23,-0.44l-0.2,1.74l-0.54,0.38l-0.37,0.91l-0.26,5.62l0.68,2.24l2.36,4.2l-0.32,0.51l-0.0,1.49l-1.69,1.55l0.07,1.66l1.42,1.9l1.32,3.51l0.63,0.46l-0.02,1.12l0.72,1.53l2.59,2.91l3.08,1.78l1.45,1.67l0.68,1.96l-0.04,1.33l0.92,3.24l3.01,2.58l0.46,1.23l-19.43,3.1l-0.27,0.52l0.39,1.15l-0.17,1.13l-0.52,0.92l-2.15,2.63l-3.41,2.77l0.05,0.8l1.63,2.75l0.72,1.93l0.29,1.73l-0.26,6.63l0.44,1.9l-0.07,1.24l-1.11,1.64l-2.18,8.02l0.3,1.25l1.24,3.06l4.33,3.69l2.73,2.83l4.21,0.97l0.89,-0.14l0.54,-0.79l-0.05,-1.58l1.86,-0.25l0.8,-0.42l-0.13,14.47l-0.78,-0.2l-0.33,-1.4l-1.09,-0.72l-4.33,1.77l-1.91,-0.31l-0.68,-0.59l-0.27,-1.11l-2.28,-3.49l-0.67,-0.76l-1.44,-0.37l-0.83,-2.38l-0.86,-1.41l-6.59,-2.81l-2.52,-0.23l-0.73,-0.42l-1.62,-3.2l-2.18,-1.96l-0.46,-2.0l-0.6,-0.54l-1.07,0.11l-0.86,0.5l-1.11,3.3l-1.21,0.61l-2.55,0.07l-6.62,-0.96l-4.76,-1.73l-1.22,0.08l-1.73,-1.38l-0.71,-2.37l0.41,-1.85l-0.74,-0.81l-7.38,1.68l-1.8,1.02l-1.28,-0.22l-0.2,-0.22l0.58,-1.46l-0.43,-1.64l-0.73,-0.83l-1.97,-0.54l-0.92,-1.61l-1.3,-0.23l-0.71,0.27l-0.5,1.17l-0.51,0.23l-4.31,-0.52l-4.53,1.4l-6.0,-0.38l-3.1,1.67l-0.45,-0.63l-0.53,-2.57l1.16,-1.19l0.31,-1.1l-0.28,-2.86l0.24,-0.82l-0.33,-1.63l-0.95,-2.72l-1.27,-2.11l-2.71,-3.15l-0.47,-1.36l0.19,-3.45l0.89,-5.67l-0.11,-4.16l-1.12,-2.79l-0.23,-2.79l0.72,-5.25l-0.44,-1.25l-0.46,-0.37l-13.84,-0.49l-0.57,-0.79l0.72,-2.73l-0.47,-0.7l-8.49,0.79l-2.52,0.6l-1.84,1.53l-0.51,1.59l-0.05,2.25l-1.28,2.29l-0.33,3.35l-4.27,0.35l-4.49,-0.77l-4.42,1.04l-2.03,0.97l-1.18,-0.46l-3.83,0.36l-4.74,-7.36l-1.95,-2.34l-0.33,-1.03l0.13,-1.22l-0.54,-1.51l-2.07,-3.71l-0.38,-1.66l0.1,-2.59l-0.25,-1.07l-1.95,-2.48l-1.44,-0.9l-1.48,-0.42l-22.47,0.32l-7.45,-0.44l-5.46,0.3l-3.52,-0.52l-2.56,0.51l-1.35,0.99l-1.81,0.47l-0.95,-0.16l-1.94,-2.08Z\",\\n      \"name\": \"Dem. Rep. Congo\"\\n    },\\n    \"GA\": {\\n      \"path\": \"M400.47,467.86l1.76,-0.1l0.68,-0.62l1.11,-0.24l2.58,-3.26l0.57,-3.7l-0.33,-3.99l0.42,1.18l0.79,0.61l1.38,0.19l2.48,1.16l0.62,-0.25l0.14,-0.73l2.0,-0.74l0.26,-0.36l-0.91,-0.67l-2.07,0.27l-2.54,-1.14l-2.4,-2.83l1.62,-0.75l1.0,1.07l0.8,-0.39l0.1,-2.43l-0.51,-2.64l1.44,-0.44l0.67,0.9l1.36,0.46l1.38,-0.51l15.3,0.05l0.4,-0.4l-0.08,-13.67l0.28,-1.19l11.42,0.05l5.92,0.58l4.03,-0.12l0.58,0.78l-0.05,0.66l-1.36,3.55l-0.13,1.73l0.98,3.32l-0.48,0.7l-0.08,0.59l0.31,0.36l1.09,0.21l6.7,-2.07l3.65,0.53l0.52,0.42l0.71,2.25l1.48,2.57l0.06,0.78l-1.25,2.13l-0.89,0.7l-1.58,0.16l-0.5,0.37l-0.52,1.07l-0.91,0.92l-0.8,2.11l-0.18,4.88l0.67,0.58l1.92,0.31l1.46,1.73l1.95,0.58l1.15,1.38l-0.81,4.08l0.52,5.26l-0.09,1.18l-0.53,0.93l0.22,1.4l-0.42,1.89l-1.5,1.25l-0.61,2.11l-0.51,0.67l0.43,1.42l-1.14,1.14l-0.88,0.22l-1.01,-0.24l-0.02,-1.48l-1.06,-1.88l-0.78,-0.48l-0.53,0.16l-1.27,1.54l-1.68,1.28l-1.09,0.1l-4.03,-1.0l-2.35,-4.46l-1.01,-0.78l-1.59,-0.54l-1.71,0.94l-0.58,0.65l0.14,1.47l0.4,0.75l-0.35,2.16l-4.06,0.88l-1.43,-0.77l-2.53,0.56l-1.69,-0.52l-0.5,0.52l0.3,2.78l-0.75,2.72l0.31,0.5l1.08,0.2l1.21,1.31l-0.83,1.39l0.34,0.89l2.49,1.66l-1.15,2.37l0.58,1.2l-0.15,0.27l-1.56,-0.11l-1.67,-1.76l-0.87,-0.13l-3.24,2.06l-1.11,2.25l-0.67,-0.61l-1.03,-1.96l-3.56,-3.08l-0.67,-1.42l-2.79,-3.11l-6.22,-5.17l2.01,0.83l0.83,-0.53l-0.07,-0.64l-2.39,-1.27l-2.18,-0.36l-0.43,-0.4l-1.06,-2.36l-1.88,-2.18l0.78,0.38l0.54,-0.19l0.02,-1.08l-1.87,-1.01l-0.79,-0.07l-0.01,-0.96l-0.87,-1.72l1.17,1.19l1.11,0.03l1.47,-0.44l0.24,-0.57l-0.26,-0.51l-0.71,-0.66l-1.75,0.09l0.66,-1.79l-0.47,-0.54l-1.49,0.64l-1.42,-0.86l-3.38,-6.36Z\",\\n      \"name\": \"Gabon\"\\n    },\\n    \"GN\": {\\n      \"path\": \"M141.71,352.29l0.24,-1.06l-1.47,-1.71l-0.56,-1.34l-1.55,-1.46l-1.15,-0.05l0.22,-2.42l-0.48,-0.96l0.11,-0.77l-0.48,-0.45l-0.82,0.62l-0.47,-0.12l-1.47,-0.9l-0.67,-0.8l-0.31,-1.14l-1.73,-0.05l-2.82,-1.33l-2.03,-3.39l0.19,-2.52l-0.67,-0.22l-0.51,0.48l-1.17,-2.5l-1.69,-0.42l-0.61,0.48l-0.49,1.4l-0.2,-0.14l0.07,-0.91l1.13,-1.55l1.92,-3.92l0.92,-1.04l2.68,-0.58l2.16,-1.21l3.61,-0.06l2.68,-0.87l0.27,-0.36l-0.07,-3.33l-2.46,-2.14l0.84,-0.42l1.18,-0.05l0.78,-0.82l0.42,-2.05l-0.67,-1.95l7.04,0.45l-0.17,0.92l0.49,0.79l0.87,0.11l0.82,-0.57l1.42,0.91l3.08,0.91l0.88,-0.02l0.75,0.45l1.44,0.12l2.83,-0.81l2.77,0.12l2.7,-0.46l1.39,0.12l-0.92,2.0l0.08,0.69l2.33,2.0l0.68,0.21l0.85,-0.26l1.8,-1.8l1.12,-0.32l2.17,3.28l0.63,0.37l1.27,-0.57l1.83,-2.36l1.99,-0.78l5.18,1.97l1.51,0.01l0.83,-1.29l3.56,-1.41l0.37,-1.11l-0.67,-1.38l1.56,-0.04l1.84,0.87l0.44,0.57l2.07,4.93l0.15,3.21l1.17,0.55l0.65,1.31l2.95,1.51l-1.34,1.23l-1.7,2.4l0.03,0.83l1.07,0.37l1.51,-0.69l1.26,0.55l0.25,0.81l-0.2,1.83l0.74,3.29l0.55,0.69l2.51,1.32l0.17,0.36l-0.05,1.08l-1.58,1.5l-0.35,0.75l0.19,5.81l0.64,0.99l0.8,0.5l1.36,-0.08l-0.23,2.15l1.47,1.18l-1.59,1.07l-0.26,2.57l2.11,1.1l0.65,0.78l0.4,2.48l-1.27,-1.01l-2.66,-0.33l-2.16,0.26l-0.43,0.55l-0.09,2.74l1.44,0.91l1.14,0.2l0.16,0.6l-1.33,2.39l0.09,1.33l-1.0,1.89l-2.23,-0.32l-0.72,0.4l-0.94,-1.27l-1.3,-0.1l-0.73,0.54l-0.38,1.88l-1.6,2.52l-0.9,-0.0l-1.32,0.53l-1.81,-1.85l-1.08,-0.37l-0.95,0.1l0.87,-1.56l0.17,-1.75l-0.89,-2.34l-0.07,-1.39l-0.7,-1.96l-0.08,-1.77l-1.91,-1.88l-0.85,-0.04l-0.63,-0.76l-3.15,1.15l-0.29,-0.57l-0.83,-0.36l-1.2,0.36l-1.56,-0.05l-2.28,2.08l-1.1,-0.15l0.74,-1.76l1.41,-1.48l0.14,-0.56l-1.23,-2.26l-0.12,-2.22l-0.32,-0.34l-1.24,-0.26l0.71,-1.67l-0.05,-0.82l-6.32,-8.12l-0.91,-0.24l-7.48,0.04l-0.49,0.9l-2.19,0.48l-1.71,-0.62l-1.86,0.41l-1.07,0.67l-0.62,1.76l-2.29,3.88l-0.78,0.75l-1.41,0.43l-0.71,1.58l-0.76,0.74l-1.95,0.03Z\",\\n      \"name\": \"Guinea\"\\n    },\\n    \"GM\": {\\n      \"path\": \"M100.95,304.31l-0.62,-2.32l1.36,-1.21l1.03,1.81l2.06,0.55l2.56,-0.15l0.45,-0.42l0.18,-0.82l6.11,-0.87l1.77,0.01l0.51,-0.12l0.24,-0.62l-0.4,-0.34l-1.65,-0.2l-6.6,0.61l-2.59,1.24l-0.77,-0.09l-0.89,-1.06l-0.24,-0.98l11.84,0.03l1.25,-1.76l1.67,-0.67l1.8,-0.26l1.84,0.29l1.93,1.34l2.32,0.66l2.07,1.38l1.09,0.18l2.1,-0.56l1.82,-0.08l1.23,0.65l0.21,0.58l-0.15,0.52l-4.38,1.11l-2.13,-0.37l-6.84,-2.9l-1.81,-0.49l-0.66,0.46l-0.9,1.43l-6.12,0.84l-0.31,0.35l-0.19,1.66l-9.2,0.03l-1.0,0.59Z\",\\n      \"name\": \"Gambia\"\\n    },\\n    \"XS\": {\\n      \"path\": \"M870.84,327.12l-0.01,20.86l-11.07,16.91l-11.42,0.0l-34.59,-11.65l-4.62,-4.08l-1.65,-0.54l-0.96,-1.1l-1.04,-1.49l-1.39,-3.12l-1.43,-0.74l-2.61,-3.2l-0.65,-1.9l-1.44,-2.61l6.6,-10.04l1.89,1.5l2.19,3.63l2.7,3.09l5.03,3.72l1.48,0.56l6.71,-0.13l4.61,-2.52l5.45,-2.16l7.45,1.19l1.36,-0.13l4.91,-2.16l3.04,-2.08l1.94,-0.83l3.56,0.74l3.6,-0.32l6.5,-2.15l1.09,-0.02l2.75,0.8Z\",\\n      \"name\": \"Somaliland\"\\n    },\\n    \"CV\": {\\n      \"path\": \"M28.84,267.68l1.39,0.08l0.47,0.44l-0.15,1.03l-1.06,0.56l-1.06,-0.44l0.41,-1.67ZM28.19,260.4l0.01,0.82l0.07,0.36l-0.26,-1.07l0.19,-0.11ZM25.22,280.01l-0.28,-0.24l0.06,-0.77l0.23,-0.43l0.34,0.03l0.14,1.18l-0.48,0.22ZM19.01,279.11l1.9,1.57l0.86,1.27l-0.44,0.68l-1.23,-0.07l-0.64,-0.36l-0.81,-1.2l0.35,-1.89ZM11.49,262.35l0.91,0.29l-0.49,0.6l-0.43,-0.74l0.02,-0.15ZM11.76,283.5l-1.0,0.16l-0.47,-0.36l-0.06,-0.74l0.96,-0.54l0.38,0.12l0.2,1.37ZM3.48,259.84l1.06,-0.47l0.31,0.54l-0.53,0.16l-0.84,-0.23ZM0.42,257.15l2.3,-1.09l0.63,0.14l0.4,0.61l-1.9,1.44l-0.97,0.21l-0.46,-1.31Z\",\\n      \"name\": \"Cape Verde\"\\n    },\\n    \"GH\": {\\n      \"path\": \"M262.02,399.49l0.83,0.05l1.7,-0.53l0.77,-3.59l-0.62,-2.21l-1.9,-0.53l-0.37,-0.63l-2.62,-8.49l-0.12,-4.16l2.86,-4.55l0.36,-3.07l0.72,-2.66l1.23,-2.82l1.87,-1.22l0.36,-0.65l-0.17,-0.62l0.83,-0.31l0.47,-0.77l-1.1,-6.96l-0.63,-2.01l-0.48,-0.81l-0.61,-0.32l0.84,-2.44l-0.33,-0.54l0.19,-1.39l-0.24,-1.21l-0.85,-2.35l0.34,-0.69l-0.45,-4.6l0.24,-0.72l-0.63,-1.09l0.35,-1.17l-1.07,-1.04l-0.37,-0.87l0.08,-1.47l0.78,-2.87l20.69,-0.14l3.81,0.23l0.51,0.61l0.57,0.13l1.74,-0.99l0.75,-0.93l1.08,-0.1l0.55,-0.75l2.23,0.5l0.7,0.8l-1.13,3.45l0.09,0.86l3.6,3.42l1.74,1.15l-0.58,6.67l-0.65,0.37l0.23,0.93l-0.64,1.71l0.76,0.7l1.38,-0.72l0.53,0.04l0.76,1.06l-0.73,2.89l-0.07,1.67l0.35,1.29l-1.2,0.93l-0.1,0.83l1.32,1.93l1.55,1.14l0.73,1.31l-1.2,2.26l0.24,4.93l-1.23,2.23l0.19,1.57l1.36,0.89l-0.47,3.5l-0.79,1.08l0.04,1.34l2.13,3.32l0.47,1.52l2.08,1.48l0.77,0.13l0.8,1.32l1.46,0.78l-1.48,1.1l-1.15,2.09l-2.15,0.54l-5.86,0.07l-4.5,2.21l-2.58,0.78l-1.69,1.29l-2.11,0.87l-1.51,1.07l-3.1,0.52l-5.16,1.71l-5.81,3.21l-0.82,-0.02l-3.64,-1.93l-7.18,-1.54Z\",\\n      \"name\": \"Ghana\"\\n    },\\n    \"SZ\": {\\n      \"path\": \"M658.82,780.66l0.07,-4.13l2.66,-3.92l0.66,-1.48l1.33,-1.64l1.4,-1.03l0.63,-0.09l5.29,2.91l1.03,-0.19l0.99,0.55l-0.24,3.09l0.76,3.04l0.07,3.34l-0.71,-0.14l-0.66,0.4l-0.57,4.53l0.11,1.32l-5.23,-0.14l-2.19,-0.69l-2.35,-1.51l-2.04,-3.9l-1.02,-0.31Z\",\\n      \"name\": \"Swaziland\"\\n    },\\n    \"MG\": {\\n      \"path\": \"M853.67,633.45l0.24,0.85l-0.77,2.09l0.28,0.45l0.83,0.15l0.76,-0.4l1.68,-2.95l1.01,-1.09l2.0,0.4l0.46,-0.19l-0.09,-0.49l-1.69,-1.44l-0.39,-1.81l2.54,-4.79l-0.06,-0.45l-1.05,-1.16l-0.03,-1.17l0.86,-1.19l0.4,-0.13l1.7,1.27l1.16,0.04l1.77,-2.17l2.52,-1.33l2.05,-1.89l1.44,-4.12l0.13,-1.24l-0.32,-1.57l-1.15,-2.76l0.76,0.15l0.76,-0.37l3.13,-4.13l0.3,0.0l1.01,1.69l2.02,2.3l1.19,2.47l3.46,5.1l0.34,2.28l1.26,3.72l1.17,5.47l0.72,8.28l0.97,2.6l1.46,2.49l0.46,2.67l-0.88,2.8l-2.08,3.7l-0.91,-0.61l-0.8,-1.07l-1.68,-4.3l-0.67,-0.26l-1.29,0.12l-1.28,1.14l-0.18,0.72l0.73,6.08l1.39,2.24l0.09,2.65l-0.29,1.27l-0.94,1.41l0.32,1.27l-1.9,1.26l-1.76,3.88l-0.14,1.39l0.66,3.86l-0.18,2.69l-1.34,5.26l-5.21,14.49l-5.28,16.74l-1.38,5.51l-2.04,6.04l-3.14,7.68l-1.23,6.53l-2.34,7.91l-0.54,2.98l-2.17,4.27l-1.17,4.31l-1.1,2.72l-1.61,2.3l-3.44,2.03l-3.98,0.28l-2.67,0.72l-6.59,3.76l-1.02,0.39l-3.41,0.09l-0.93,-0.3l-3.61,-2.63l-5.34,-1.29l-1.12,-1.39l-2.45,-1.42l-1.45,-4.36l-2.77,-4.12l-0.28,-6.85l0.2,-1.27l0.68,-1.46l-1.81,-5.63l-2.04,-2.46l-0.44,-1.1l-1.07,-4.95l0.29,-5.37l0.61,-1.75l1.12,-1.81l0.72,-3.43l0.79,-0.65l1.47,-0.5l1.23,-1.05l0.68,-1.34l0.63,-2.51l3.85,-5.95l1.29,-2.91l0.68,-2.79l0.52,-6.07l-2.48,-4.42l-0.06,-3.97l-1.49,-3.0l-0.78,-2.52l-0.31,-5.85l-0.8,-2.68l0.38,-2.1l5.14,-8.25l0.12,-5.12l0.35,-0.57l5.08,-0.53l3.57,-2.63l1.47,0.99l1.63,-0.59l1.18,0.08l0.41,-0.2l0.98,-1.95l3.49,-0.38l1.74,-0.51l1.69,1.96l1.37,0.19l0.49,-0.35l0.03,-0.63l-1.21,-1.29l0.62,-1.73l5.66,-4.31l0.79,0.06l0.36,2.17l0.34,0.46l1.09,-0.27l0.6,-1.2l-0.47,-2.39l2.11,-2.4l0.83,-2.09l0.73,-0.54ZM863.67,615.59l0.19,1.33l-0.78,-0.09l-0.12,-0.76l0.72,-0.48Z\",\\n      \"name\": \"Madagascar\"\\n    },\\n    \"MA\": {\\n      \"path\": \"M111.55,174.08l0.87,-0.82l2.29,-1.53l4.61,-5.0l1.83,-0.96l1.58,-2.13l0.64,-2.12l0.15,-4.31l0.54,-2.21l3.21,-6.6l0.6,-2.92l0.57,-0.97l1.17,-0.55l1.63,-1.44l2.55,-0.94l4.55,-3.25l0.97,-1.81l1.0,-3.42l1.79,-3.61l0.93,-2.75l1.51,-1.38l1.09,-1.81l1.65,-0.74l3.81,-0.4l5.66,-1.52l5.19,-2.35l1.53,-0.99l4.03,-4.16l6.97,-4.48l3.42,-4.1l5.39,-7.44l0.96,-2.1l0.51,-3.13l-0.35,-1.39l-1.47,-2.13l-0.93,-0.57l-0.18,-0.67l0.49,-1.68l0.27,-7.37l1.52,-3.6l3.87,-4.95l0.73,-2.09l0.48,-4.21l4.69,-4.44l3.76,-4.32l2.43,-1.56l8.66,-3.5l4.9,-2.5l2.99,-1.94l1.74,-2.22l4.72,-8.51l4.99,-13.29l3.36,-0.55l2.57,-1.29l0.51,0.13l-0.27,0.42l0.05,1.69l1.04,1.81l1.78,2.01l3.24,2.54l2.53,1.02l3.5,0.6l4.2,-1.08l2.23,-0.02l1.08,-0.42l1.19,0.64l2.3,0.22l2.32,-0.37l2.46,-1.79l1.42,3.08l2.75,0.4l4.57,0.08l1.03,1.67l3.86,2.86l-0.6,1.9l1.29,1.6l-0.64,1.51l0.97,2.48l-0.08,5.17l0.95,2.82l-0.52,3.35l1.5,3.22l0.46,2.49l0.75,1.34l4.0,3.09l0.35,0.73l-1.93,1.71l-0.25,1.1l0.41,1.75l-13.96,-0.43l-4.91,0.72l-1.1,0.68l-0.9,2.5l-4.79,1.63l-3.95,0.23l-0.87,0.56l-0.27,0.68l0.67,3.3l-0.5,2.12l0.31,0.69l2.13,1.25l-0.34,0.84l-3.71,0.64l-3.92,2.74l-5.29,1.87l-2.27,1.14l-2.62,3.95l-3.02,2.58l-6.39,1.58l-5.73,0.19l-0.43,0.39l-0.23,1.86l-0.99,0.91l-6.07,-0.61l-4.01,2.89l-2.44,0.61l-6.8,4.71l-4.58,3.31l-0.43,0.7l-0.06,12.74l-1.18,-0.0l-0.4,0.43l0.5,2.41l-0.32,1.33l0.57,2.17l-0.25,0.45l-2.28,0.36l-4.87,0.03l-3.88,2.88l-0.82,0.12l-0.84,0.0l-1.68,-0.76l-2.46,0.63l-3.43,-1.6l-2.64,-0.4l-2.01,0.14l-5.47,1.59l-0.29,0.51l0.87,1.77l-0.18,1.02l-2.02,2.05l-2.06,3.28l-0.38,1.28l-3.45,0.81l-0.57,0.65l-2.99,11.13l-1.34,3.36l-2.26,1.8l-4.28,2.67l-0.88,0.94l-2.85,5.11l-5.33,2.33l-1.55,1.39l-1.55,3.53l-0.95,3.88l-0.83,4.25l-0.57,5.45l-4.71,5.41l0.11,1.58l-0.65,1.71l-0.85,1.11l-0.91,0.53l-1.42,0.11l-5.7,-0.12l-6.83,-0.61l-8.12,0.37l-2.68,0.51l0.76,-5.27l1.56,-3.09l1.18,-1.3l2.11,-0.87l1.83,-3.22l0.66,-2.98l1.13,-1.29l0.45,-1.2l-0.38,-0.93l4.64,-7.95l0.06,-1.38l-0.73,-0.14Z\",\\n      \"name\": \"Morocco\"\\n    },\\n    \"KE\": {\\n      \"path\": \"M696.13,456.91l1.2,-1.94l0.9,-2.52l1.23,-0.89l1.69,-2.18l0.87,-2.1l1.3,-1.23l2.39,-1.11l-0.06,-1.76l2.06,-2.98l0.2,-1.72l-0.17,-3.41l-0.94,-4.11l0.23,-0.9l-0.46,-1.29l-0.65,-0.47l-0.86,-2.33l-1.78,-1.27l-0.73,-2.16l-0.9,-0.64l-0.52,-2.66l0.44,-2.85l-0.65,-0.74l-1.55,-0.55l-0.89,-0.7l0.13,-0.45l-0.73,-0.65l-1.64,-3.48l14.24,-14.05l0.92,0.87l1.84,-0.59l3.03,0.82l0.38,0.54l0.09,1.28l-0.5,2.4l0.08,1.75l3.18,4.28l0.95,0.31l9.51,0.42l13.93,8.98l6.14,0.58l7.22,1.42l3.36,0.26l0.68,-0.24l1.44,-1.33l2.14,-3.16l10.47,-4.79l4.37,3.57l2.19,0.25l5.87,-0.41l-5.9,8.46l-4.23,4.19l-0.29,0.61l0.17,43.23l6.42,8.43l0.09,1.09l-1.59,1.87l-1.29,0.85l-1.74,0.4l-1.14,-0.34l-0.49,0.17l-0.43,0.9l-0.24,-0.17l-0.63,0.38l0.36,1.94l-0.21,0.67l-0.83,0.7l-0.2,0.76l-1.77,1.54l-2.85,0.23l-2.23,1.63l-0.61,1.84l0.17,2.25l-0.89,2.57l-1.42,1.19l-1.49,2.6l-0.57,2.6l-1.01,2.38l-2.81,5.67l-1.16,1.5l-1.16,-0.05l-0.72,0.71l-16.23,-11.7l-0.96,-1.51l-1.12,-0.47l0.93,-2.7l-0.34,-2.17l-0.38,-0.57l-41.77,-23.33l0.6,-0.4l0.53,-1.22l-1.1,-2.04l-0.08,-0.78l1.21,-1.79l0.85,-0.2l2.27,0.58l0.47,-0.54l-0.1,-1.15l3.66,-0.65l0.42,-0.81l-1.12,-2.16l-0.47,-0.2l-3.55,1.24l-0.7,0.63l-0.5,1.16l-1.84,-2.03l-0.07,-1.02l-0.85,-0.13l-0.41,-0.45l-0.29,-2.46ZM779.14,483.65l0.05,-0.04l0.01,0.0l-0.07,0.03Z\",\\n      \"name\": \"Kenya\"\\n    },\\n    \"SS\": {\\n      \"path\": \"M581.04,357.13l1.37,-1.12l2.93,-1.06l0.24,-1.49l1.15,-2.04l0.29,-2.42l1.3,-1.74l0.04,-2.89l2.49,-3.21l0.28,-2.18l0.39,-0.53l8.3,-1.41l0.43,0.1l0.2,0.45l0.08,1.69l0.41,0.58l2.98,2.46l4.44,5.17l1.42,0.61l1.53,-0.19l3.52,-1.32l9.24,0.18l1.18,2.38l0.97,0.82l9.33,0.03l0.39,-0.49l-0.07,-1.29l1.52,-1.48l2.94,-1.39l2.87,-0.69l1.6,-1.89l0.08,-1.72l4.26,-2.24l5.29,3.38l3.41,3.0l4.95,-0.48l0.96,-0.42l5.07,-5.03l2.36,-3.09l0.89,-2.12l5.78,-5.15l0.05,-0.67l-0.97,-2.24l-0.02,-4.76l-2.62,-3.02l6.91,-0.03l0.4,-0.37l-0.19,-2.16l4.79,0.06l-0.71,2.77l-0.16,2.99l-0.58,1.11l1.15,8.97l-0.49,1.2l0.39,0.52l2.63,0.98l0.99,1.18l5.16,4.28l0.53,1.37l0.07,2.18l-0.79,1.64l-0.28,2.62l0.47,0.85l1.95,0.04l0.29,8.87l-0.26,1.32l-1.23,1.06l-8.0,0.16l-0.65,0.61l-2.58,5.22l-0.17,1.0l1.09,1.04l1.77,0.78l5.15,1.06l2.69,1.85l1.26,1.5l0.61,1.81l2.52,2.63l2.42,1.26l0.95,1.41l1.64,1.33l2.86,7.13l0.33,2.27l1.2,2.25l1.92,1.85l-20.42,20.03l-3.67,-0.22l-2.17,-1.21l-1.83,0.94l-5.96,1.12l-1.69,1.2l-0.49,0.91l-1.94,-0.92l-1.73,-2.29l-0.45,-0.03l-2.79,1.41l-3.63,-1.25l-0.95,-0.02l-2.86,1.86l-0.8,1.15l-0.84,-1.09l-0.88,-0.25l-1.11,0.2l-0.72,-2.26l-3.78,-1.85l-3.73,-3.98l-1.03,-1.76l-1.27,-1.32l-1.6,-0.67l-1.23,0.27l-1.16,1.42l-1.73,1.15l-0.63,0.03l-2.46,-1.13l-2.59,-0.23l-2.61,1.61l-1.59,0.57l-1.98,-0.36l-2.41,-2.09l-1.61,-0.77l-1.98,-2.82l-2.06,-1.47l-2.65,-3.66l-0.32,-3.16l-1.07,-2.03l-4.97,-3.31l-1.65,-0.29l-0.78,-0.51l-1.11,-2.4l-1.04,-1.31l-0.15,-0.54l0.59,-2.01l-0.13,-0.42l-2.24,-1.72l-1.59,-2.06l-1.73,-1.29l-5.96,-3.17l-1.15,-1.07l-1.0,-1.17l0.59,-0.94l0.16,-1.06l-0.6,-1.22l-2.34,-1.95l-1.78,-2.01l-1.6,-0.77l-5.07,-1.13l-0.84,-0.79l-0.27,-0.87l0.45,-1.63l-0.67,-1.05Z\",\\n      \"name\": \"S. Sudan\"\\n    },\\n    \"ML\": {\\n      \"path\": \"M158.55,301.7l-0.54,-1.32l-1.75,-2.1l0.09,-0.89l0.69,-0.68l0.3,-1.15l-0.68,-1.35l-0.07,-2.89l-2.36,-2.87l0.46,-2.09l-0.6,-1.27l1.44,0.3l1.94,-1.71l0.9,-1.49l0.52,-3.0l0.75,-2.02l2.76,-2.33l6.42,5.8l0.97,-0.19l2.15,-3.09l3.15,-0.17l5.53,0.77l2.29,-0.34l3.6,-0.68l0.33,-0.35l0.0,-1.39l0.39,-0.65l0.32,1.53l2.03,0.41l43.0,-0.0l0.39,-0.33l1.79,-9.46l-3.16,-3.69l-11.26,-102.64l20.21,-0.01l69.78,48.0l0.27,3.49l1.54,1.35l3.72,1.92l0.77,2.02l0.93,0.73l2.19,0.78l3.38,0.31l2.16,2.22l5.44,1.34l2.99,1.24l0.68,0.58l-0.02,2.61l0.63,2.09l-0.65,0.69l-1.08,2.33l0.35,0.81l1.56,1.07l1.96,0.38l9.28,-1.79l0.08,25.36l-0.37,0.53l-0.24,4.56l-0.69,2.6l-1.27,2.05l-1.6,5.2l-0.56,0.78l-1.29,0.44l-2.22,1.9l-0.27,1.36l-4.9,-0.79l-0.82,0.33l-0.19,0.72l-19.62,0.81l-4.18,3.48l-2.63,0.33l-5.06,-0.3l-0.79,0.21l-0.32,0.48l-4.9,-1.63l-2.05,0.51l-0.55,-0.52l-0.96,-0.22l-1.71,0.1l-1.25,0.34l-3.34,2.7l-5.19,2.31l-2.34,1.4l-3.22,0.61l-1.21,3.23l-0.36,0.17l-3.89,-1.22l-1.82,0.58l-2.32,1.88l-1.18,1.54l-0.67,2.08l-0.11,1.41l-2.82,-0.31l-0.86,0.46l-0.57,4.31l-2.32,1.06l-3.6,-2.2l-1.4,-0.4l-1.39,0.31l-3.31,3.19l0.13,1.16l0.98,2.02l-0.01,0.7l-2.75,1.34l-0.18,0.54l0.65,1.04l-0.07,2.61l-1.78,2.08l-1.19,0.84l-4.76,1.29l-1.52,0.95l-0.84,0.99l-0.03,1.86l0.71,1.88l-0.23,1.63l-1.03,2.7l-1.62,1.02l-0.16,0.4l0.38,3.12l-0.64,3.57l-1.85,0.07l-1.86,0.57l-2.16,2.23l-1.82,-0.57l0.52,-1.59l-0.54,-1.75l-0.14,-1.95l-0.64,-0.39l-2.03,0.66l-0.25,0.5l0.18,0.76l-1.15,-0.27l-0.99,-0.78l-0.54,0.04l-0.49,1.17l0.1,2.31l-3.13,0.29l-0.54,1.2l0.3,0.79l-0.28,0.19l-0.85,-0.69l-2.82,-0.62l-0.19,-0.71l-1.74,-1.48l-2.16,0.26l-1.82,2.27l-1.24,0.67l-0.36,-1.58l-3.03,-1.94l-0.64,-2.98l0.13,-2.4l-0.34,-0.64l-1.85,-0.87l-1.94,0.69l1.58,-2.24l1.16,-0.87l0.35,-1.13l-0.32,-0.44l-2.85,-1.43l-0.59,-1.25l-1.17,-0.59l-0.0,-2.92l-2.1,-5.0l-0.68,-0.86l-2.2,-1.02l-1.09,-0.08l-1.23,0.34l-0.2,0.66l0.64,1.04l-0.06,0.77l-1.45,0.34l-2.04,1.03l-0.95,1.28l-6.22,-2.14l-2.42,1.0l-1.78,2.32l-0.64,0.39l-1.8,-2.9l-0.67,-0.63l-1.1,-0.14l-0.94,0.49l-1.69,1.73l-0.72,0.09l-2.06,-1.77l1.29,-2.46l0.08,-0.89l-0.8,-0.97l0.61,-4.85l-1.78,-2.61l-0.38,-1.41l-0.67,-1.04l-1.72,-0.47l-0.82,0.85Z\",\\n      \"name\": \"Mali\"\\n    },\\n    \"KM\": {\\n      \"path\": \"M817.5,603.11l0.61,-0.24l0.5,-0.86l0.49,1.37l-0.0,1.05l-1.59,-1.3ZM809.46,604.09l0.26,0.03l0.6,0.37l-0.69,-0.09l-0.17,-0.31ZM806.8,599.18l-1.42,-0.7l-0.71,-0.87l0.32,-3.55l0.29,-0.43l0.51,0.21l-0.15,2.23l1.15,3.1Z\",\\n      \"name\": \"Comoros\"\\n    },\\n    \"ST\": {\\n      \"path\": \"M383.99,440.62l-0.33,-0.08l0.53,-0.7l0.05,0.23l-0.25,0.55ZM375.07,457.57l-1.05,0.63l-0.5,-1.61l0.52,-1.0l1.46,-0.64l0.52,0.65l0.0,0.69l-0.94,1.28Z\",\\n      \"name\": \"S\\\\xE3o Tom\\\\xE9 and Principe\"\\n    },\\n    \"MW\": {\\n      \"path\": \"M681.13,619.76l1.74,-1.46l1.44,-2.96l0.38,-3.9l-0.61,-1.2l0.73,-1.72l4.31,-1.64l1.54,-1.88l-0.35,-0.69l-1.7,-0.22l-0.93,-2.11l0.55,-2.61l0.03,-2.37l-0.19,-1.02l-0.71,-0.92l0.05,-1.02l0.39,-0.27l1.32,-2.96l-1.29,-3.24l0.68,-0.62l1.52,-0.44l2.28,-2.28l0.14,-0.7l-1.31,-2.14l-0.33,-1.91l-2.41,-2.19l0.32,-2.22l-1.17,-1.21l-0.79,-1.69l-1.23,-0.32l-0.55,0.4l-0.41,-0.09l-0.68,-1.96l1.71,1.11l2.38,0.31l1.15,1.07l3.32,-0.1l2.2,0.84l-0.11,1.28l1.3,3.56l2.72,3.57l-0.7,2.02l0.63,6.18l-0.24,0.8l1.15,5.72l-3.03,4.51l-0.36,2.15l0.6,1.96l1.16,0.77l0.18,2.55l0.83,1.15l0.72,2.39l0.16,2.45l-0.26,2.73l1.16,2.0l1.6,0.84l0.58,0.7l0.15,0.79l-0.96,2.74l0.39,1.72l1.87,2.05l0.5,0.06l1.31,-0.89l0.42,-2.09l0.51,1.42l1.09,0.39l2.18,2.65l0.8,0.07l0.45,-0.87l-2.17,-6.4l8.0,10.32l0.46,2.59l-0.56,1.56l-0.41,2.77l0.29,1.92l-0.12,3.09l-0.7,4.33l-1.57,0.66l-3.01,0.52l-0.86,1.14l-1.49,3.84l0.75,1.26l0.57,1.91l0.08,3.32l-1.41,0.08l-0.46,-0.39l-0.14,-0.42l0.52,-0.56l0.21,-0.91l-0.41,-1.04l-1.81,-1.01l-4.7,-5.26l-1.29,-0.85l-0.14,-1.96l-1.78,-2.3l0.32,-0.97l0.94,-0.93l0.91,-2.74l1.26,-2.27l0.2,-3.44l-0.69,-5.22l-1.53,-2.08l-0.87,-0.35l-2.75,0.5l-0.65,0.42l-4.09,0.54l-0.52,0.37l-2.66,-3.09l-1.7,-2.92l-1.14,-1.26l-0.48,-0.13l-1.48,0.93l-1.35,-2.28l-0.96,-0.53l0.3,-0.65l-0.16,-0.35l-1.1,-0.81ZM707.94,620.9l-1.35,-0.14l-0.08,-1.18l1.13,0.99l0.3,0.33ZM704.22,601.65l0.03,-0.32l0.11,-0.2l0.13,0.19l-0.28,0.32ZM703.11,600.89l-0.08,0.18l-0.2,-0.25l0.11,-0.06l0.17,0.12Z\",\\n      \"name\": \"Malawi\"\\n    },\\n    \"SO\": {\\n      \"path\": \"M784.81,478.05l-6.52,-8.7l-0.07,-43.18l4.26,-4.23l6.72,-9.72l1.17,-1.15l2.26,-0.71l6.71,-1.1l1.31,-0.88l1.43,-2.38l1.21,-0.9l5.27,-2.43l4.69,-1.11l10.76,0.6l0.66,-0.27l17.38,-18.64l18.24,-17.68l11.31,-17.26l0.07,-21.27l4.96,-0.97l3.0,-1.29l5.57,-0.97l4.18,-2.36l2.01,-2.56l1.6,-0.41l4.95,1.72l-0.32,1.61l-1.57,3.84l0.43,3.23l0.12,5.56l-0.39,1.09l-0.71,0.59l0.19,0.58l-1.22,0.58l-0.57,1.2l-0.8,6.56l-0.09,3.22l-1.57,2.11l-0.59,1.6l-2.45,3.14l-1.7,3.98l-2.09,3.57l-3.01,2.94l-1.06,3.55l-1.04,2.2l-3.75,5.6l-1.38,2.6l-1.67,4.35l-0.52,2.76l-4.65,7.91l-4.85,6.35l-3.04,5.37l-12.82,14.18l-9.68,9.49l-2.59,1.91l-10.64,5.88l-6.89,4.92l-10.19,9.06l-10.64,11.06l-4.03,4.91l-2.84,2.8l-2.92,5.38l-1.57,2.2ZM897.88,336.12l0.13,-0.45l1.54,0.9l-0.87,-0.13l-0.8,-0.32Z\",\\n      \"name\": \"Somalia\"\\n    },\\n    \"SN\": {\\n      \"path\": \"M92.84,285.0l-0.36,0.43l-0.22,-0.26l0.58,-0.18ZM93.02,284.95l3.4,-1.72l3.59,-4.5l3.2,-5.29l0.83,-2.25l0.67,-3.33l0.45,-0.33l1.82,-3.52l0.62,-0.14l2.37,0.65l2.36,0.09l4.53,-1.16l3.09,-0.27l0.35,-0.55l0.8,0.03l0.52,-0.36l0.48,0.3l1.66,0.09l2.93,-0.12l2.61,0.87l3.62,3.07l0.54,1.33l0.83,0.74l0.88,0.21l0.96,-0.38l0.52,0.52l0.72,0.1l1.12,-0.25l1.15,0.85l0.67,0.94l1.01,3.19l0.65,1.11l0.91,0.33l0.76,1.11l1.05,0.13l0.55,0.46l0.73,1.24l0.27,1.4l2.27,1.89l1.38,0.54l0.87,0.69l0.68,1.09l1.46,0.95l0.95,1.66l-0.4,2.43l2.4,2.94l-0.02,2.6l0.68,1.29l-0.2,0.74l-0.77,0.84l-0.04,1.49l1.78,2.16l0.23,0.95l0.62,0.7l0.78,-0.04l0.6,-0.73l0.96,0.19l0.53,0.8l0.41,1.47l1.75,2.61l-0.67,4.5l0.76,1.32l-1.77,-0.18l-2.77,0.46l-2.77,-0.12l-2.95,0.83l-5.72,-1.44l-1.63,-0.97l-1.35,0.55l0.12,-1.1l-0.62,-0.67l-7.61,-0.48l-17.22,-0.07l-4.58,2.28l-3.0,0.6l-3.6,-0.23l-4.38,1.29l-2.05,-0.11l-0.58,-0.98l0.14,-0.31l2.13,-0.82l1.2,0.26l0.48,-0.65l-0.22,-0.52l-1.7,-1.1l-0.53,-0.05l-0.94,1.15l-0.44,0.05l0.09,-4.89l1.05,-0.83l9.43,-0.03l0.4,-0.35l0.2,-1.73l5.87,-0.78l0.8,-0.6l0.79,-1.29l8.18,3.38l2.32,0.41l4.84,-1.19l0.53,-1.39l-0.5,-1.06l-1.46,-0.77l-2.19,0.04l-2.08,0.56l-0.8,-0.15l-1.96,-1.35l-2.24,-0.62l-1.93,-1.35l-1.24,-0.32l-2.96,0.2l-1.94,0.77l-1.05,1.65l-11.81,-0.02l-0.29,-1.04l-1.99,-2.29l1.65,-1.45l-0.38,-0.61l-1.62,0.42l-0.12,-0.88l-2.03,-3.65l-1.29,-1.05l-1.0,-1.81l-1.31,-0.91l-1.89,-0.3Z\",\\n      \"name\": \"Senegal\"\\n    },\\n    \"MR\": {\\n      \"path\": \"M98.1,207.95l0.48,-2.23l45.99,-0.06l0.4,-0.43l-0.92,-14.29l-0.73,-2.46l0.03,-1.39l1.33,-2.06l4.72,-3.28l2.88,-0.57l3.44,-1.47l0.9,-0.72l0.08,-31.14l38.71,-0.0l0.4,-0.4l-0.01,-15.52l43.54,27.63l-19.44,0.01l-0.4,0.44l11.32,103.21l3.12,3.52l-1.69,8.94l-42.64,0.0l-1.49,-0.2l-0.16,-1.61l-0.51,-0.35l-1.15,0.88l-0.23,1.79l-5.46,0.96l-5.49,-0.77l-3.39,0.19l-0.7,0.5l-2.02,2.76l-5.86,-5.58l-0.75,-0.24l-1.45,0.84l-1.96,1.81l-0.9,2.33l-0.51,2.96l-0.74,1.2l-1.69,1.48l-2.04,-0.76l-1.13,-0.78l-0.65,-1.06l-3.18,-1.85l-1.35,-1.32l-0.05,-0.99l-0.93,-1.58l-0.74,-0.62l-0.99,-0.08l-0.3,-0.72l-1.2,-0.59l-1.54,-4.08l-0.86,-1.2l-1.31,-0.99l-1.93,0.12l-1.04,-0.58l-1.17,0.32l-0.96,-1.08l-0.18,-0.79l-1.34,-1.33l-2.52,-1.94l-2.86,-0.98l-3.09,0.1l-2.42,-0.37l-0.53,0.38l-0.81,-0.1l-0.5,0.66l-2.77,0.2l-4.5,1.16l-2.18,-0.08l-2.44,-0.66l-0.97,0.2l-0.97,1.11l-2.02,4.02l-0.0,-1.73l0.84,-3.76l4.5,-11.36l0.59,-4.22l-0.64,-7.78l-1.51,-5.89l-1.14,-1.95l-2.02,-1.65l-0.27,-0.56l1.52,-0.5l0.77,-1.25l-0.02,-0.45l-0.43,-0.14l-0.76,0.22l1.52,-3.1l0.84,-5.34l-2.7,-5.63l-1.28,-0.76l-0.55,0.34l-0.15,0.78l-0.25,-0.13l-2.9,-5.41l-0.77,-0.52l-0.79,0.35ZM104.46,225.57l-0.06,-0.38l0.55,-0.92l-0.13,0.74l-0.35,0.56Z\",\\n      \"name\": \"Mauritania\"\\n    },\\n    \"UG\": {\\n      \"path\": \"M644.58,475.13l-0.21,-4.33l0.98,-5.43l2.6,-2.48l0.22,-1.53l-0.22,-0.42l-1.22,-0.6l-0.84,-0.05l0.28,-2.03l0.69,-0.8l1.8,-3.83l0.06,-3.66l1.17,-0.51l1.59,-1.29l0.76,-1.6l0.83,-0.85l1.38,-0.47l0.26,2.06l0.79,0.38l0.73,-0.26l3.63,-4.87l0.83,-0.85l2.25,-0.89l1.27,-1.01l1.68,-2.63l-0.16,-4.31l1.05,-1.66l-0.5,-0.47l-0.7,0.27l-1.73,2.27l-0.78,-0.98l-1.15,-0.25l-1.29,-1.26l-1.7,-0.06l-0.88,-0.48l1.43,-4.87l-0.39,-1.09l-0.71,-0.78l0.79,-2.54l0.91,-1.47l-0.08,-0.92l-0.5,-0.42l0.8,-1.23l2.43,-1.66l4.5,1.27l2.93,-1.38l1.56,2.17l2.34,1.05l0.49,-0.11l0.65,-1.06l1.46,-1.03l5.84,-1.07l1.74,-0.88l1.82,1.17l3.98,0.23l1.21,-0.78l4.38,-4.39l1.59,3.37l0.5,0.31l-0.0,0.73l1.2,0.94l1.86,0.85l-0.46,2.66l0.57,2.95l0.94,0.7l0.9,2.36l1.65,1.11l0.83,2.28l0.67,0.53l0.35,0.97l-0.24,0.79l0.95,4.18l0.14,3.91l-0.34,1.21l-1.85,2.57l0.13,1.65l-2.14,0.88l-1.5,1.41l-0.88,2.11l-1.6,2.07l-1.35,1.04l-0.96,2.65l-1.04,1.69l-1.19,0.34l-1.1,-0.21l-0.21,-0.9l-0.68,-0.4l-0.89,0.33l-0.62,0.82l-0.73,0.02l0.25,-0.52l-0.15,-0.55l-1.55,-0.47l0.27,-1.15l-0.54,-0.3l-1.08,0.11l-1.0,0.4l-0.72,2.09l-0.52,0.11l-0.37,0.73l-1.1,0.83l-1.07,-0.75l-1.5,0.72l-0.04,-0.81l-0.53,-0.67l-0.55,-0.16l-0.84,0.83l-0.52,1.32l-0.47,0.13l-0.78,-0.41l-0.88,0.85l-1.74,0.2l-2.94,1.58l-0.4,0.78l0.76,1.1l-0.05,0.53l-1.46,1.84l-1.71,3.66l0.56,2.24l-10.98,-0.08l-2.43,0.87l-2.24,-0.06l-0.8,0.24l-2.48,2.91l-1.77,1.39l-0.71,0.2l-0.54,-1.28l-0.59,-0.26l-2.39,0.57ZM687.18,457.18l0.12,-0.82l1.06,-0.02l-0.55,0.44l-0.16,0.59l-0.47,-0.19ZM673.83,462.4l0.46,0.01l-0.02,0.46l-0.21,-0.11l-0.24,-0.35ZM675.29,463.38l0.55,-0.04l-0.4,1.17l-0.61,0.23l0.55,-0.77l-0.09,-0.59Z\",\\n      \"name\": \"Uganda\"\\n    },\\n    \"SD\": {\\n      \"path\": \"M636.92,346.14l-1.71,1.58l-0.17,1.46l-8.66,-0.03l-1.72,-2.99l-0.48,-0.24l-9.48,-0.14l-4.74,1.51l-1.07,-0.42l-4.41,-5.13l-2.98,-2.46l-0.61,-2.66l-1.15,-0.4l-5.95,1.19l-2.18,0.09l-0.69,0.37l-0.58,0.87l-0.22,2.05l-2.53,3.29l-0.06,2.98l-1.28,1.68l-0.28,2.41l-1.15,2.04l-0.13,1.24l-3.63,1.38l-0.82,1.09l-6.16,-1.05l-0.35,-0.38l0.06,-1.63l-0.94,-1.06l0.04,-0.55l1.41,-1.64l0.39,-1.07l0.41,-4.45l-0.15,-1.56l-1.21,-2.49l-2.74,-4.26l-4.11,-4.35l-1.09,-1.77l0.88,-3.16l-0.19,-1.94l-1.0,-0.91l-0.83,-0.15l-2.09,-1.83l-0.35,-0.93l0.26,-3.9l-0.51,-0.76l-0.73,-0.14l-0.95,-4.58l0.22,-1.18l-0.73,-1.36l-1.8,-0.79l-3.43,0.38l-0.89,-0.97l0.9,-2.28l0.9,-1.24l2.0,-1.26l0.88,-1.46l-0.06,-1.96l-1.32,-3.07l-0.01,-0.67l0.67,-1.12l4.31,-3.03l-0.04,-0.84l-0.94,-1.07l-0.7,-2.9l0.77,-0.75l2.42,-1.1l0.24,-1.72l0.92,-1.67l2.02,-2.04l0.46,-1.89l-0.39,-2.6l1.72,-1.74l4.03,-0.14l1.72,-0.38l3.9,0.5l0.75,-0.53l0.12,-51.43l11.17,0.01l0.55,-0.49l0.01,-24.02l72.66,0.01l0.96,-0.31l1.31,-2.23l0.55,0.29l-0.56,1.71l0.38,0.53l63.39,-0.01l0.12,2.49l0.56,2.35l1.81,3.2l1.93,2.41l-0.62,-0.25l-0.55,0.34l-0.11,1.49l0.37,3.13l0.63,2.12l-0.45,1.97l0.06,3.35l0.81,4.03l-0.15,2.62l1.33,5.96l1.31,3.36l0.89,1.02l2.35,0.74l2.16,1.61l3.24,3.67l1.17,-0.15l0.46,0.59l2.73,1.71l0.22,0.43l-1.99,2.04l-0.62,1.36l-1.37,1.52l-5.34,1.43l-2.9,1.71l-0.54,0.6l-0.97,2.46l-2.64,0.23l-1.9,-0.2l-0.36,0.27l-0.38,3.16l-1.06,2.25l0.3,3.86l-1.16,3.57l-1.58,3.23l-1.82,5.63l-1.16,1.66l1.14,10.41l-0.92,3.13l0.02,1.82l-0.64,2.5l-2.08,4.21l-0.63,2.17l-0.4,3.98l-4.35,0.9l-0.91,0.57l-0.91,1.08l-4.01,6.87l-1.69,1.76l-1.79,6.45l-0.37,4.87l-1.41,1.11l-1.86,-1.32l-0.74,-0.18l-1.68,1.12l-1.12,1.63l-0.86,1.83l0.42,3.87l-1.77,3.95l-0.96,4.36l-1.64,-0.19l0.26,-2.3l0.82,-1.84l-0.09,-2.39l-0.66,-1.65l-5.28,-4.41l-1.07,-1.24l-2.59,-0.99l0.4,-1.09l-1.16,-8.77l0.56,-1.07l0.17,-3.01l0.68,-2.33l0.07,-0.98l-0.39,-0.43l-5.6,-0.07l-0.44,0.42l0.22,2.12l-7.41,0.03l-0.3,0.67l3.05,3.42l-0.01,4.63l0.97,2.46l-5.6,4.89l-1.71,3.36l-6.56,6.83l-5.16,0.74l-3.2,-2.87l-5.53,-3.54l-0.42,-0.0l-4.7,2.54l-0.17,1.9l-1.33,1.56l-4.06,1.1l-1.75,1.06Z\",\\n      \"name\": \"Sudan\"\\n    },\\n    \"MZ\": {\\n      \"path\": \"M682.61,781.45l-5.86,0.15l-2.46,-0.31l-0.07,-3.6l-0.75,-2.96l0.22,-3.37l-1.36,-0.96l-0.28,-2.0l0.75,-1.85l0.01,-14.7l-2.2,-7.12l-2.99,-5.12l-0.14,-2.42l-2.83,-10.56l1.53,-1.18l11.71,-12.29l0.1,-0.46l-0.8,-1.77l1.38,-2.29l0.16,-3.4l2.08,-1.71l3.82,-6.63l0.14,-1.59l-2.06,-3.84l-0.57,-1.9l0.6,-1.72l0.19,-1.93l-0.43,-0.72l-1.15,-0.63l-0.14,-0.51l0.15,-1.01l1.44,-0.73l0.55,-0.64l1.3,-4.59l-0.44,-3.4l0.16,-10.06l-1.0,-2.64l-0.09,-1.68l0.83,-2.1l-0.32,-0.45l-2.3,-0.38l-1.29,-1.07l-4.63,-1.71l-3.52,-0.25l-2.86,-2.5l-2.47,-0.5l-3.08,-1.89l-9.33,-0.38l-0.14,-3.84l-0.54,-3.55l-1.17,-2.06l-0.33,-1.85l5.01,-1.99l10.13,-2.9l19.34,-6.68l1.96,3.1l2.92,3.37l5.14,-0.87l1.93,-0.74l1.62,-0.05l1.4,1.9l0.6,4.86l-0.19,3.24l-1.2,2.08l-0.89,2.71l-1.31,1.51l-0.04,0.93l1.8,2.36l-0.07,1.37l0.34,0.83l1.34,0.92l4.78,5.33l1.68,0.91l0.08,1.13l-0.61,0.86l0.32,0.88l0.99,0.73l1.83,-0.11l0.54,-0.67l-0.11,-3.49l-0.62,-2.13l-0.67,-0.93l1.38,-3.52l0.6,-0.83l4.04,-0.77l0.81,-0.7l0.44,-1.29l0.34,-3.37l0.12,-3.14l-0.29,-1.86l0.39,-2.67l0.61,-1.67l-0.59,-3.02l-7.04,-9.27l-2.76,-3.05l-1.69,-1.39l-0.18,-1.71l-0.42,-0.53l-0.11,-3.29l-0.35,-1.0l0.44,-2.32l-0.22,-1.58l-1.07,-2.47l0.09,-2.62l1.74,-1.65l0.42,-0.79l0.53,-1.44l0.29,-3.15l6.72,0.29l0.99,-0.31l1.75,-1.46l1.22,0.02l2.84,1.67l0.42,0.88l1.44,0.44l2.5,0.12l1.92,-0.39l1.26,-0.92l2.18,-0.46l2.72,1.39l2.04,0.3l2.08,-0.46l2.24,-1.19l1.23,-1.17l0.93,-2.13l2.82,-0.17l1.52,0.36l2.43,1.18l3.51,-2.16l2.16,-0.7l2.09,-0.0l1.88,-0.54l2.84,-1.71l3.04,-0.82l2.06,-1.12l5.19,-3.94l1.31,1.73l-1.13,0.91l0.03,0.67l0.9,0.54l-0.75,1.01l-0.12,0.82l0.41,0.85l-1.61,3.06l0.7,1.57l-0.34,2.52l1.12,4.02l-0.34,1.37l0.24,3.2l-0.39,1.08l0.76,0.81l0.32,1.07l-0.27,1.97l-1.26,1.04l-0.15,1.09l0.39,0.39l1.18,0.01l-0.21,3.2l0.32,1.05l-0.41,1.14l0.59,7.87l0.25,0.8l1.14,0.55l-0.88,1.76l0.07,1.85l0.3,0.34l0.43,-0.17l1.0,-1.23l0.27,0.3l0.32,2.9l-0.08,0.64l-1.51,1.6l-0.21,1.61l-0.78,0.64l0.32,1.89l-1.03,2.43l-5.24,6.03l-0.18,1.13l-1.22,1.74l-2.24,0.85l-0.16,0.48l0.5,1.34l-6.81,4.22l-1.83,2.13l-2.22,0.79l-2.44,0.1l-6.24,2.34l-1.25,0.99l-2.41,0.86l-3.86,2.16l-3.14,2.05l-3.64,3.12l-0.53,1.72l-4.19,4.69l-1.5,2.12l-0.14,0.86l-0.39,0.12l-0.58,-0.69l-0.7,0.19l-0.27,1.45l-1.13,-0.25l-3.22,1.86l-2.46,2.15l-3.33,3.99l-4.78,3.79l-0.8,0.08l-1.65,-1.35l-1.24,0.12l0.06,0.45l1.13,1.31l-0.58,7.87l3.29,4.23l1.55,4.65l0.16,2.57l1.6,3.06l0.72,4.68l-0.16,4.36l0.92,1.04l0.63,-0.13l0.29,-0.64l0.32,-3.09l0.36,1.14l0.13,1.44l-0.6,3.55l0.97,3.72l-0.92,2.66l-1.46,7.65l0.4,0.74l0.99,0.33l0.61,-0.67l-0.58,2.82l-2.69,4.42l-1.11,1.33l-1.85,1.31l-4.46,2.1l-9.03,3.07l-5.76,2.42l-4.59,2.9l-2.05,1.98l-0.89,2.3l-1.54,2.29l0.0,0.41l1.35,1.98l1.8,1.47l0.6,-0.22l0.28,-0.92l-0.58,7.72Z\",\\n      \"name\": \"Mozambique\"\\n    }\\n  },\\n  \"height\": 1054.4456598737515,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 0.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(95))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'asia_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 555.5409752358405,\\n    \"bbox\": [{\\n      \"y\": -6895749.143810256,\\n      \"x\": 2858903.2260101754\\n    }, {\\n      \"y\": 1365383.966806244,\\n      \"x\": 16242290.106516164\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"BD\": {\\n      \"path\": \"M468.23,273.61l0.71,0.28l0.58,-0.17l1.03,-2.27l3.07,-0.06l0.75,-0.99l-1.01,-0.97l-0.42,-1.03l-2.11,-0.48l-1.82,-1.98l-1.04,-0.37l0.36,-1.52l2.2,-2.38l-0.03,-0.74l-0.59,-0.55l1.28,0.98l0.67,1.23l1.03,0.3l1.31,0.04l0.39,-0.56l-0.29,-0.74l1.12,2.32l1.6,0.95l1.55,0.0l0.55,-0.72l0.06,-0.94l0.91,1.84l-0.18,4.52l0.45,0.95l4.71,1.15l12.05,-0.09l2.87,1.64l-1.68,-0.08l-1.11,3.94l-1.09,0.36l-0.53,1.16l-0.92,-0.13l-1.3,0.83l-1.65,0.27l-1.04,1.45l-0.55,2.17l1.25,4.63l0.87,0.36l0.23,-0.76l0.39,0.99l1.03,0.54l1.43,-0.82l0.06,-1.92l1.33,-1.61l-0.02,-1.25l1.1,-0.2l0.56,0.3l0.57,2.45l0.21,3.12l0.98,1.98l0.95,10.27l-1.52,-0.91l-0.91,0.13l-0.83,1.18l0.19,1.46l-0.37,-0.53l-0.38,-4.02l-1.31,-4.1l0.26,-0.9l-0.55,-0.43l-0.24,0.13l-1.76,-2.79l-0.59,-1.56l-2.33,1.96l-1.63,0.27l-1.96,-3.12l-0.37,-4.39l-0.56,-0.29l-0.45,0.36l-0.06,0.92l-1.76,-0.24l-0.44,0.23l0.12,0.48l0.92,0.7l1.01,0.22l0.34,0.42l0.02,0.68l-0.97,0.9l0.32,0.89l-0.51,0.67l-0.05,0.75l0.49,1.55l0.74,1.1l-0.04,1.05l-1.67,1.56l-1.04,1.67l-0.41,-0.63l0.95,-1.34l0.03,-0.48l-0.94,-0.02l-1.11,0.67l-0.25,-1.52l0.63,-1.15l-0.09,-0.5l-0.51,-0.01l-0.91,0.83l-0.49,3.08l-1.12,0.91l-0.6,-3.09l-0.39,-0.32l-0.5,0.81l0.23,2.33l-0.91,1.25l-0.47,0.01l-0.88,-0.99l-0.34,-3.13l-0.94,-2.74l-0.52,-3.11l0.52,-1.04l-0.11,-0.49l-1.5,-0.56l0.17,-1.34l-1.2,-1.65l0.96,-2.52l0.18,-2.32l-0.78,-0.65l-1.19,-0.22l-1.51,-1.02l-0.65,0.08l-0.78,-0.54l-0.29,-0.57l0.77,-1.7ZM492.82,292.48l0.02,0.04l-0.02,-0.03l0.0,-0.01ZM490.12,294.53l0.06,-0.71l0.06,0.24l-0.11,0.47ZM486.34,295.46l0.98,-1.76l-0.25,-1.76l-0.63,-0.69l-0.22,-1.31l1.7,2.68l-0.27,2.27l-0.25,0.35l-1.07,0.23Z\",\\n      \"name\": \"Bangladesh\"\\n    },\\n    \"MN\": {\\n      \"path\": \"M465.38,65.23l0.89,-0.91l-0.34,-1.28l0.62,-0.06l1.36,-0.89l0.63,-1.89l2.96,-0.29l1.6,0.36l0.59,-0.65l0.58,0.39l1.04,-0.28l0.59,-0.33l0.38,-0.81l1.04,0.09l2.05,-1.05l0.37,-0.57l-0.19,-1.38l2.27,-0.66l0.58,-1.07l4.59,-1.32l0.78,-0.78l1.87,-1.05l2.78,-0.49l3.01,-2.22l2.88,-0.07l1.04,-1.55l2.11,1.67l0.67,-0.01l0.8,-0.92l0.67,0.01l0.42,1.04l1.07,0.72l8.35,0.44l0.71,3.17l2.29,2.08l2.21,-0.2l1.29,1.02l2.11,-0.02l1.12,0.3l2.16,-0.99l1.09,0.49l0.76,-0.36l1.92,0.95l4.87,0.16l1.67,1.45l1.56,-0.13l1.37,-1.0l0.41,-0.68l1.71,-0.25l1.36,-0.75l0.85,-0.75l1.1,-2.2l0.25,-2.54l-1.91,-1.23l-0.53,-1.95l-0.94,-1.28l0.05,-0.46l0.57,-1.2l0.23,-1.64l0.63,-0.95l1.29,-0.51l0.99,-2.1l2.22,-0.91l1.25,-1.62l0.49,-1.34l0.6,0.61l2.94,1.23l2.31,0.52l1.62,1.19l4.13,0.3l6.74,2.7l1.5,-0.12l3.88,1.08l0.63,4.99l0.71,1.02l-0.09,1.5l0.6,0.53l0.85,0.15l1.69,1.38l3.6,0.96l1.12,0.89l2.42,0.6l1.42,-0.35l2.09,0.2l0.92,-0.22l2.0,-1.27l4.65,-0.82l2.11,-0.81l3.62,0.66l2.55,0.98l3.66,-0.08l3.83,3.12l5.14,0.45l-0.06,2.11l0.27,0.58l3.44,2.64l1.66,0.76l4.72,-0.1l7.17,1.59l1.72,-0.47l1.38,0.73l0.9,-0.0l4.66,-2.03l5.53,-0.68l3.09,-1.04l1.45,0.23l1.07,-0.2l1.83,-0.89l0.96,-1.85l2.96,-1.98l5.22,-2.55l3.2,0.36l1.84,0.88l2.02,1.84l1.38,0.6l2.35,0.12l3.03,-1.24l1.43,0.3l1.44,0.54l0.71,0.62l-4.84,9.93l-1.54,2.03l-0.25,2.98l-1.78,1.03l-0.19,0.39l0.24,1.78l0.55,0.9l2.15,1.83l1.08,-0.17l1.76,-1.38l1.99,0.18l1.85,-0.29l2.16,0.57l2.17,1.49l3.44,-3.22l2.57,-0.35l2.54,0.41l1.8,2.03l2.38,0.99l0.65,1.24l0.93,0.52l1.8,2.04l1.36,0.99l0.52,1.52l0.76,1.05l-0.01,1.06l-1.13,0.84l-2.67,-0.08l-3.79,-1.36l-0.93,0.6l-2.89,-0.2l-1.99,0.49l-1.2,0.45l-1.18,0.92l-1.41,-0.65l-1.01,0.08l-0.42,0.37l-0.4,1.72l-3.39,-0.28l-2.33,0.96l-2.4,3.23l-0.39,0.71l-0.06,1.29l-1.88,0.99l-1.87,1.53l-3.74,0.61l-1.74,0.11l-1.43,-0.38l-1.43,0.3l-1.21,1.84l-2.52,2.13l-3.44,1.97l-6.46,-1.24l-2.32,-1.64l-3.93,-0.05l-1.35,1.02l-0.99,1.34l-1.71,4.41l0.96,1.92l2.38,2.38l0.66,1.54l-1.14,0.39l-1.55,1.43l-4.17,1.53l-4.52,5.09l-7.72,2.96l-4.84,0.2l-3.84,-0.28l-10.6,1.44l-11.84,4.97l-1.46,1.22l-0.95,-0.4l-2.3,-0.1l0.0,-1.59l-0.48,-0.39l-5.77,1.1l-4.75,-2.26l-6.83,-1.36l-1.26,-0.48l-2.32,-2.54l-1.39,-0.42l-3.06,-0.12l-8.31,-1.14l-3.92,0.98l-16.87,-2.0l-6.05,0.61l-0.42,-1.63l-3.28,-3.13l-0.15,-1.01l-2.38,-5.24l-1.45,-0.72l0.29,-1.8l-0.2,-0.51l-2.52,0.02l-2.39,-0.79l-2.56,-1.53l-1.19,-1.11l-1.93,-0.36l-2.15,-2.01l-1.23,-0.49l-5.48,-0.85l-2.76,0.24l-2.97,-0.55l-3.26,-0.07l-1.18,-0.45l-0.88,0.06l-1.89,-0.9l-1.14,0.11l-1.48,-2.67l0.33,-1.69l2.14,-2.77l0.03,-0.89l-0.63,-1.57l0.87,-2.78l-0.36,-1.84l-0.87,-1.94l-1.26,-0.64l-1.54,-2.5l-0.52,-2.03l-0.88,-1.72l-1.6,-0.72l-0.81,-1.38l-0.52,-0.08l-1.29,0.57l-1.61,-1.67l-1.89,-0.23l-1.51,0.36l-3.73,-2.07l-0.11,-0.9l-0.63,-0.83l-3.77,-1.57l0.57,-0.74l-0.01,-0.67l-1.71,-0.88l-0.5,-0.67Z\",\\n      \"name\": \"Mongolia\"\\n    },\\n    \"BN\": {\\n      \"path\": \"M669.68,427.4l0.73,0.87l0.54,2.47l-0.75,-0.21l-0.52,-3.13ZM663.3,429.66l2.55,-1.0l3.15,-2.12l-2.11,1.53l0.21,2.24l0.34,0.55l-0.41,1.43l-0.75,0.81l-1.24,-1.48l-0.84,-0.24l-0.9,-1.73Z\",\\n      \"name\": \"Brunei\"\\n    },\\n    \"BH\": {\\n      \"path\": \"M186.05,263.08l0.03,-0.01l0.0,0.12l-0.03,-0.12ZM186.08,263.2l0.33,0.5l-0.01,1.54l-0.25,-0.46l-0.07,-1.59Z\",\\n      \"name\": \"Bahrain\"\\n    },\\n    \"BT\": {\\n      \"path\": \"M479.26,258.41l-0.68,-0.6l-1.59,-0.42l-1.49,0.21l-0.67,-0.33l-1.21,-0.69l-0.18,-0.78l-0.61,-0.7l0.98,-0.78l0.47,-1.27l1.11,-1.01l0.49,-1.02l2.35,-2.77l2.96,-1.79l1.35,-0.05l1.57,0.4l-0.19,0.88l0.51,0.52l2.68,0.07l2.39,0.83l1.8,-0.86l2.35,0.97l-0.39,2.29l0.21,0.81l1.39,1.06l1.61,-0.11l0.49,0.91l-0.62,1.49l0.57,1.2l-0.19,0.44l-2.46,0.43l-0.91,-0.03l-0.85,-0.49l-1.14,0.61l-4.0,0.16l-3.09,-0.93l-1.21,0.46l-0.53,0.64l-3.27,0.27Z\",\\n      \"name\": \"Bhutan\"\\n    },\\n    \"HK\": {\\n      \"path\": \"M661.58,292.96l0.56,-0.57l0.79,-0.15l0.37,0.12l0.23,0.69l-0.18,0.38l-1.77,-0.47Z\",\\n      \"name\": \"Hong Kong\"\\n    },\\n    \"JO\": {\\n      \"path\": \"M73.44,221.31l0.32,-1.94l0.71,-1.81l-0.18,-2.7l0.4,-4.54l0.81,-0.34l0.91,0.11l1.09,1.36l1.36,0.46l1.2,0.92l3.65,0.53l14.19,-8.55l1.88,6.47l-0.46,0.56l0.45,1.39l0.49,0.26l1.18,-0.3l0.12,0.32l-2.13,1.8l-14.99,4.17l-0.18,0.66l7.3,7.79l-2.14,1.24l-1.23,2.64l-5.25,1.04l-0.54,0.35l-1.77,2.81l-2.92,2.3l-7.72,-1.2l0.79,-4.67l0.53,-1.3l0.03,-2.42l2.2,-5.75l-0.11,-1.66Z\",\\n      \"name\": \"Jordan\"\\n    },\\n    \"PS\": {\\n      \"path\": \"M69.37,220.61l0.5,-1.44l1.93,-1.52l-0.75,-0.82l-0.89,-0.22l-0.2,-2.28l0.38,-1.39l0.34,-0.86l0.71,-0.46l1.04,0.19l1.21,0.91l0.0,4.78l-0.74,2.04l-2.36,0.96l-1.18,0.1ZM64.36,221.37l0.26,-0.24l-0.2,0.39l-0.05,-0.15Z\",\\n      \"name\": \"Palestine\"\\n    },\\n    \"LB\": {\\n      \"path\": \"M71.41,206.16l3.41,-7.3l0.31,-1.87l1.06,-1.44l1.32,-0.97l0.1,-0.56l2.44,-0.29l-0.58,1.07l1.36,0.72l0.51,1.51l-0.27,0.54l-1.73,1.43l-0.21,0.89l-1.1,0.06l-1.03,0.79l-0.41,0.85l0.43,0.87l-1.83,1.74l-1.46,0.66l-0.46,1.19l-0.37,0.22l-1.46,-0.12Z\",\\n      \"name\": \"Lebanon\"\\n    },\\n    \"LA\": {\\n      \"path\": \"M558.12,308.97l0.8,-2.48l0.9,-0.56l1.21,-0.03l0.58,-0.32l0.14,-0.59l-0.68,-0.32l0.06,-0.31l0.54,-0.46l0.92,-1.8l1.27,-0.46l1.32,-0.98l0.33,1.83l0.41,0.49l2.23,-0.25l1.45,0.64l0.79,-0.52l0.23,-0.51l-0.59,-0.81l0.09,-3.9l-1.05,-1.43l-0.46,-1.67l1.09,-1.67l0.5,0.65l1.96,-0.09l2.85,3.44l0.75,0.49l0.74,1.87l0.55,0.12l0.79,-0.61l0.59,0.27l-0.72,3.25l2.08,3.11l4.25,1.55l3.34,-1.92l3.23,2.09l-1.48,1.18l0.07,0.59l1.87,0.54l0.4,1.12l1.34,0.22l0.42,0.91l-1.29,1.97l-1.05,0.95l-2.28,-0.55l-2.03,0.27l-0.16,0.6l0.32,1.04l-1.08,0.87l-0.12,0.82l6.31,4.01l3.0,0.99l-0.42,1.03l0.28,0.95l1.72,1.75l0.92,0.28l0.85,1.15l0.86,2.02l2.37,2.5l1.98,1.54l1.67,1.97l0.28,2.13l0.96,1.49l0.83,0.4l0.66,-0.34l0.63,1.05l3.36,2.31l-1.56,1.09l-0.2,0.64l0.94,1.54l2.13,1.74l0.53,0.81l-1.24,1.92l0.26,2.05l-0.64,0.9l-0.88,-0.18l-1.3,1.28l-0.72,0.04l-0.59,0.63l-0.63,0.09l-2.18,-1.88l-0.59,0.03l-0.89,0.79l-0.78,-0.14l-0.68,0.79l-1.22,0.15l-0.43,0.59l1.04,2.11l-0.26,0.59l-0.82,-0.02l-1.24,-1.21l-1.56,-0.54l-1.34,0.34l-0.62,-0.55l-0.32,-0.6l1.56,-0.89l0.71,-1.11l0.39,-2.8l-0.42,-2.39l0.93,-1.73l0.17,-1.54l-0.28,-0.5l-1.57,-0.92l-0.05,-1.29l-2.57,-1.25l-0.75,-1.37l-0.96,-0.96l-0.46,-1.25l-0.05,-1.74l0.51,-3.38l-0.65,-1.35l-2.34,-1.84l-3.57,-4.78l-1.35,-0.09l-2.3,-0.79l-1.67,0.07l-0.48,0.38l-0.07,0.74l-1.19,1.15l-0.3,0.82l-1.62,0.51l-1.04,0.72l-0.47,-0.8l-1.53,-0.65l-1.54,-1.23l-0.79,-0.06l-1.18,1.01l-1.29,0.38l-0.67,1.12l-2.05,1.33l-1.8,1.65l-1.16,-0.32l1.6,-4.28l-0.05,-1.21l-0.67,-1.09l0.86,-1.3l0.92,-2.92l-0.66,-2.72l0.1,-1.75l-0.63,-0.53l-1.54,-0.29l-1.85,0.75l-0.71,0.09l-0.67,-0.33l-0.57,-0.57l-0.12,-0.62l1.05,-2.53l-0.19,-0.97l-1.62,-1.77l-0.72,-0.02l-0.52,0.36Z\",\\n      \"name\": \"Lao PDR\"\\n    },\\n    \"TW\": {\\n      \"path\": \"M709.3,291.82l-1.83,-4.59l0.51,-1.89l-0.08,-2.0l3.67,-6.43l3.03,-4.34l3.7,-1.83l2.14,1.56l0.09,0.35l-0.77,1.26l0.06,2.28l-1.59,3.77l-1.03,5.01l-0.91,2.74l-2.57,3.52l-0.85,1.94l-0.35,3.19l-0.44,-0.46l-0.11,-1.02l-0.74,-1.59l-1.92,-1.47Z\",\\n      \"name\": \"Taiwan\"\\n    },\\n    \"TR\": {\\n      \"path\": \"M7.99,161.66l1.03,0.22l1.78,-0.37l0.63,-0.86l-1.88,-0.41l-0.87,-1.59l0.93,-0.42l0.78,-0.97l-0.38,-0.84l-1.04,-0.26l0.22,-1.4l-1.11,-1.38l1.53,-1.64l-0.01,-0.66l-0.98,-0.39l-5.01,0.73l0.43,-1.17l0.14,-2.62l0.96,-0.37l3.02,-3.17l1.89,0.03l0.94,-0.5l0.88,-0.02l0.41,0.66l1.26,0.53l2.03,-0.11l0.96,-0.5l0.06,-0.48l0.2,0.52l0.44,0.12l2.4,-0.29l5.37,0.12l0.62,-0.4l-0.05,-0.64l-1.48,-0.65l0.7,-0.47l6.52,-0.93l0.35,-0.33l-0.36,-0.66l-4.21,-0.72l-1.38,-1.17l0.51,-1.42l5.55,0.63l3.22,-0.4l3.54,0.99l3.33,-0.2l1.01,-0.65l0.77,-1.35l4.6,-2.35l1.66,-1.26l7.24,-2.43l10.86,0.44l1.96,-0.93l0.54,0.16l-0.03,1.2l1.48,1.59l2.21,0.87l2.62,-0.69l0.67,0.19l0.96,2.25l1.79,1.43l0.93,0.16l1.2,-0.81l0.79,-0.08l1.41,0.69l0.74,0.89l5.19,0.94l1.14,0.69l3.53,0.69l7.87,-1.6l2.82,1.08l2.54,0.35l1.02,-0.16l6.24,-2.71l2.51,-1.47l0.64,-0.71l2.14,0.68l0.98,-0.56l3.85,0.49l1.25,-1.25l0.91,0.03l0.44,0.73l2.22,1.53l0.02,0.52l0.51,0.51l1.61,0.31l0.22,0.85l1.28,1.16l0.57,2.17l-1.04,1.78l0.93,2.48l-0.04,0.84l2.19,0.95l2.59,-0.14l2.28,1.66l-1.27,0.98l-0.54,2.14l-2.31,0.12l-0.46,0.66l0.51,1.54l0.64,0.58l-0.24,1.25l0.2,0.53l0.71,0.9l0.23,3.83l1.0,0.49l-1.64,3.72l0.43,0.51l0.73,0.06l1.56,1.01l-0.24,0.46l0.21,1.92l1.62,1.39l-0.23,0.51l-0.93,-0.02l-2.34,1.61l-0.2,-2.01l-0.87,-0.72l-0.84,-0.11l-1.42,0.77l-1.09,-0.03l-4.28,-1.2l-1.3,0.34l-1.32,-0.37l-2.72,2.18l-0.63,-1.23l-0.91,-0.31l-1.16,0.82l-3.93,0.97l-6.05,-0.08l-5.27,2.36l-4.83,1.22l-4.33,-0.1l-2.35,-1.43l-1.98,-0.36l-5.77,2.22l-2.57,-0.08l-0.96,-0.89l-2.18,-0.39l-0.64,0.48l-0.7,2.82l0.69,1.64l-1.76,0.56l-0.32,1.45l-0.99,0.56l-0.34,0.73l-1.01,-0.55l0.15,-0.53l-1.01,-2.49l2.77,-3.03l-0.16,-1.54l-1.04,-0.94l-0.43,-0.04l-2.94,1.62l-0.88,1.05l-0.89,0.15l-4.31,-1.91l-1.02,-0.13l-3.12,1.87l-2.57,2.64l-1.88,0.93l-5.61,0.72l-1.03,0.48l-1.75,-0.5l-1.08,-0.65l-2.65,-2.99l-5.1,-2.34l-5.46,-0.6l-0.89,0.96l-0.17,2.23l-0.71,2.0l-1.51,-0.37l-3.86,1.25l-3.28,-1.34l-0.48,-0.5l-0.77,-2.47l-0.76,-0.44l-1.22,0.32l-2.38,-1.06l-1.51,-0.11l-1.53,1.41l0.18,-0.25l-0.34,-0.64l-0.34,0.02l1.78,-1.56l0.13,-0.28l-0.36,-0.57l-7.0,0.23l0.11,-0.26l1.71,-0.35l0.29,-0.44l-0.31,-1.03l-2.07,-1.09l-0.87,-2.1l0.93,-0.51l0.06,-2.34l-2.86,-1.01l-1.45,-1.17l-1.04,0.34l-1.56,-0.72l0.81,-0.68l0.07,-0.85l-0.38,-1.15l0.83,0.48l0.08,1.22l0.49,0.71l0.25,0.15l0.66,-0.5ZM15.22,175.57l-0.41,0.2l-0.33,-0.03l0.31,-0.13l0.43,-0.04ZM16.6,143.61l0.01,-0.05l-0.46,-0.47l0.7,0.08l-0.24,0.44ZM3.34,140.98l2.15,-2.44l-0.15,-2.09l1.72,-0.87l0.46,-0.67l-0.31,-2.04l-1.93,-1.23l1.34,-0.44l0.56,-1.08l2.01,-0.26l1.03,-0.61l1.74,-0.22l1.82,1.43l3.3,-0.46l-0.1,0.85l0.47,1.13l1.24,1.74l1.18,0.83l5.0,2.06l-0.52,1.31l-1.07,0.25l-4.52,-0.94l-1.96,0.79l-1.34,-0.18l-1.86,0.36l-1.98,2.61l-3.22,1.51l0.3,-0.41l-0.33,-0.64l-4.89,0.12l-0.18,-0.41ZM7.44,143.02l-1.73,1.59l-1.03,1.2l0.09,-1.2l1.25,-0.99l1.41,-0.61ZM0.74,145.85l0.89,-0.3l0.19,0.13l-1.08,0.17Z\",\\n      \"name\": \"Turkey\"\\n    },\\n    \"LK\": {\\n      \"path\": \"M405.27,403.82l0.63,-0.48l0.31,-2.67l0.69,-2.19l-0.1,-1.45l1.26,-2.36l0.05,-2.28l1.32,0.61l0.71,-0.1l0.29,-0.53l1.52,1.26l1.62,2.89l0.68,0.41l1.3,1.94l0.18,1.09l1.12,0.66l0.37,2.11l1.82,2.76l1.26,2.7l0.27,0.91l-0.09,2.77l-1.05,2.78l-2.37,1.92l-4.81,1.92l-1.57,0.21l-1.55,-0.41l-1.15,-0.96l-1.7,-4.93l-1.0,-8.59ZM409.2,391.24l-1.76,-0.39l-0.41,-0.44l1.57,0.08l0.6,0.76Z\",\\n      \"name\": \"Sri Lanka\"\\n    },\\n    \"TL\": {\\n      \"path\": \"M743.75,531.36l1.77,-2.37l1.4,-0.5l3.12,-0.62l6.11,-0.25l2.56,-1.05l1.81,0.43l-2.38,1.79l-1.88,0.51l-1.38,1.0l-2.37,0.62l-1.6,0.93l-4.02,1.15l-2.18,1.48l-0.65,-1.32l0.98,-0.19l0.44,-1.35l-0.59,-0.65l-1.14,0.38ZM737.32,534.04l0.79,-0.42l1.17,-0.31l-0.74,0.83l-1.22,-0.09Z\",\\n      \"name\": \"Timor-Leste\"\\n    },\\n    \"TM\": {\\n      \"path\": \"M203.1,134.81l-0.97,-1.38l-0.75,-1.96l2.58,-2.29l1.35,-0.76l-1.16,0.96l-1.2,2.45l0.48,0.84l-0.32,2.14ZM206.04,128.16l3.88,-1.05l3.1,-0.34l5.29,3.23l2.91,4.49l1.91,1.78l0.68,0.13l2.88,-0.54l8.07,0.54l1.16,-1.25l-0.76,-0.98l-0.26,-2.09l0.85,0.12l1.5,1.43l2.63,-0.58l1.07,-0.61l0.51,-0.81l-0.12,-0.87l-1.1,-0.81l-0.57,-1.62l1.36,-0.37l1.43,-2.54l1.56,0.47l0.76,1.14l1.07,0.04l0.16,-0.96l-2.22,-2.29l2.06,-0.02l0.81,-0.77l1.85,1.68l2.07,0.43l0.74,1.24l0.76,0.47l3.79,0.28l0.85,0.67l-0.35,2.11l1.55,0.99l-0.65,0.67l0.44,1.43l-0.5,1.54l0.38,0.61l2.88,1.63l3.07,-0.24l2.91,0.53l0.65,-0.05l1.18,-0.72l1.0,0.29l1.8,1.21l1.39,3.57l2.06,3.05l0.85,3.23l7.75,5.38l1.95,1.91l3.03,1.84l1.19,-0.12l2.24,1.84l7.43,4.52l2.76,-0.01l3.1,1.66l1.36,0.35l0.19,0.22l-0.77,1.34l-0.06,3.42l-2.52,-0.56l-2.87,-1.32l-1.09,1.01l-0.59,1.71l-3.23,0.11l-2.21,0.96l-2.42,6.9l-1.05,0.9l-1.93,0.94l-0.56,0.81l-1.11,0.03l-4.14,1.3l-1.34,0.12l-0.43,0.76l0.37,0.94l-0.74,1.84l-2.56,1.51l-1.65,0.02l-1.01,0.51l-0.49,-0.76l-1.74,-1.33l-2.84,0.04l-1.86,-1.54l-0.71,-0.1l0.1,-1.7l-0.68,-1.07l0.38,-0.89l-0.32,-4.03l-0.44,-0.84l-6.02,-0.15l-1.99,-2.71l-4.53,-2.48l-0.55,-0.59l-0.67,-1.69l-3.71,-1.53l-1.3,0.25l-0.99,-0.27l-1.02,0.41l-0.75,-0.21l-2.17,-1.45l-4.57,-1.19l-0.25,-1.22l-1.0,-0.91l-5.86,-0.35l-1.13,0.6l-0.29,0.89l-5.02,-0.19l-1.6,0.44l-3.74,2.45l-1.46,2.63l-3.62,1.13l-1.71,-0.08l-0.61,-4.69l0.33,-8.95l-1.59,-2.61l-2.68,-1.14l-1.3,0.25l0.55,-1.59l1.9,0.43l0.79,-0.12l0.32,-0.51l-0.29,-0.73l-0.73,-0.5l0.06,-2.12l-0.93,-0.58l-3.08,-0.24l-0.51,0.58l-0.94,-2.3l-0.07,-1.47l1.32,-4.71l1.22,1.25l1.6,0.4l1.86,-0.34l0.99,1.22l1.24,0.3l2.26,-0.61l1.46,0.23l0.32,-0.57l-0.35,-0.92l1.37,0.24l1.14,-0.41l0.37,-0.43l0.06,-1.24l-0.39,-1.08l-0.65,-0.72l-2.36,-1.57l-1.3,-1.27l-1.97,-5.25l-1.88,-0.49l-3.37,0.39Z\",\\n      \"name\": \"Turkmenistan\"\\n    },\\n    \"TJ\": {\\n      \"path\": \"M312.6,153.86l0.49,-1.67l0.75,-0.73l1.15,-0.49l4.28,0.72l1.47,-0.06l0.98,-0.92l0.43,-1.72l0.68,-0.04l1.02,-0.65l0.05,-0.52l-0.48,-0.67l1.1,-0.28l0.2,-0.47l-0.55,-0.7l2.53,0.2l0.5,-1.43l-0.62,-2.01l0.6,-0.54l0.29,-1.15l0.59,0.04l1.33,0.95l0.68,0.04l4.34,-2.09l0.69,-1.18l1.41,1.4l0.16,0.81l0.48,0.2l-2.49,2.0l-0.24,0.95l0.31,0.46l1.01,0.36l0.69,1.04l0.79,0.09l-0.57,0.34l-0.55,1.08l-0.56,-0.81l-3.63,-1.35l-3.51,0.92l-0.7,0.87l0.01,0.65l-0.71,-0.36l-0.52,0.2l-0.23,0.5l-0.38,1.42l0.51,2.2l0.44,0.36l2.29,-0.43l2.59,0.18l1.71,-0.22l0.58,0.29l1.77,-0.37l0.57,0.13l0.89,1.24l0.85,0.31l1.54,-0.15l0.69,-0.8l2.64,-0.87l0.14,1.01l1.56,0.42l-0.06,0.72l0.58,0.64l0.59,0.04l1.42,-0.63l1.34,1.18l0.41,0.04l0.98,-1.13l1.43,-0.33l4.05,0.14l2.7,-0.86l0.79,0.04l-0.15,1.79l1.41,2.05l-0.78,0.93l0.93,2.59l1.55,0.72l0.72,-0.27l0.58,-0.82l0.9,0.0l3.72,1.57l-0.34,2.11l1.2,3.66l-0.24,1.67l1.57,1.55l-1.23,0.9l-1.56,-1.23l-3.22,-0.24l-0.9,0.78l-2.94,0.8l0.31,-0.94l-0.4,-0.66l-2.66,-0.38l-3.85,1.77l-1.04,0.82l-0.75,1.19l-2.16,0.4l-4.14,2.46l-0.73,-0.02l-0.79,-1.05l-0.7,-2.31l1.11,-6.72l-0.64,-0.61l-1.63,0.26l0.38,-1.82l-0.6,-1.47l-1.67,-1.13l-1.62,-0.38l-1.22,0.38l-0.9,0.77l-1.53,2.3l-1.6,1.44l0.26,2.26l-0.36,0.54l-0.71,0.2l-0.83,-0.46l-0.97,-0.08l-2.56,0.51l-0.8,0.87l-0.03,2.31l-0.63,0.6l-2.15,-1.75l-0.7,-0.14l-0.87,0.62l-0.93,0.03l-2.25,1.1l-0.9,0.97l-1.34,0.56l-0.57,-0.13l-1.25,-1.25l0.38,-2.72l3.53,-4.61l0.49,-1.81l-1.99,-2.39l-0.27,-1.51l0.72,-1.85l-0.39,-1.0l-0.72,-0.35l-2.42,-0.06l-0.36,-1.16l-2.04,-0.68Z\",\\n      \"name\": \"Tajikistan\"\\n    },\\n    \"TH\": {\\n      \"path\": \"M537.74,324.01l2.04,-0.59l0.45,-0.42l-0.28,-2.76l0.73,-1.57l0.08,-2.38l1.18,-1.35l0.27,-0.79l1.75,0.63l4.69,-0.67l0.85,-0.91l0.34,-1.57l0.78,-0.19l1.13,0.28l1.04,-0.35l0.57,-0.75l-0.14,-0.95l1.52,0.11l1.48,-0.7l0.99,0.61l0.38,0.69l0.44,-0.05l0.96,-0.98l1.39,1.65l-1.06,2.91l0.28,1.07l0.7,0.71l1.17,0.53l1.0,-0.15l1.15,-0.68l1.82,0.3l-0.13,1.56l0.65,2.57l-0.87,2.67l-0.9,1.41l0.67,1.48l0.03,0.9l-1.74,4.23l0.45,0.78l1.2,0.54l0.78,-0.12l4.07,-3.13l0.69,-1.12l1.14,-0.27l1.06,-0.94l1.58,1.2l1.52,0.65l0.32,0.84l0.8,0.31l1.15,-1.0l1.89,-0.68l0.79,-1.54l0.91,-0.51l0.04,-0.84l1.24,-0.05l2.26,0.78l1.17,0.08l2.58,3.67l3.09,2.7l0.49,1.06l-0.52,3.18l0.05,1.82l0.54,1.52l1.05,1.09l0.81,1.45l2.36,1.1l-0.1,0.63l0.34,0.79l1.66,1.09l-0.17,1.07l-0.78,1.05l-0.17,0.77l0.4,2.55l-0.48,2.9l-2.18,1.37l-0.64,0.74l-0.46,-1.02l-1.49,-0.49l-6.07,0.52l-2.88,-0.48l-3.04,0.68l-1.37,0.65l-1.02,0.96l-1.4,2.3l-1.3,1.31l-0.09,0.53l-1.54,0.29l-0.11,2.45l0.98,2.09l0.27,2.51l1.86,1.89l-0.26,1.54l-0.86,-0.06l-0.14,0.32l-1.06,-0.8l-0.59,-1.02l-0.56,0.06l-1.2,-1.2l-2.43,-1.27l-2.27,0.49l-2.58,-0.4l-1.21,0.26l0.58,-5.56l-0.62,-0.66l-2.72,-0.77l-0.4,0.33l-3.09,0.59l-1.02,0.94l-0.2,0.84l0.71,1.59l-0.91,2.64l0.19,3.93l-1.05,1.63l-0.35,1.5l-1.27,2.17l-1.08,4.38l-1.47,2.35l-0.92,2.27l-0.07,4.25l0.92,2.45l-0.22,1.06l0.22,0.41l1.15,0.42l2.57,-0.74l0.54,0.13l1.06,5.07l1.12,1.35l0.69,-0.03l1.1,4.65l-0.71,-0.32l-0.96,0.72l0.38,1.87l1.85,2.56l1.25,0.14l3.14,2.29l2.99,-0.24l1.37,0.96l1.45,2.16l1.99,1.54l-0.2,0.8l-1.73,2.19l-0.57,0.01l-0.62,-0.83l-0.58,-0.14l-2.26,0.9l-0.77,1.07l-0.71,-0.69l0.68,-1.21l-0.18,-2.32l-0.75,-0.38l-0.78,0.05l-0.54,-1.24l-0.66,-0.46l-0.85,0.18l-1.85,-0.67l-0.86,-1.07l-1.03,0.3l-0.26,1.05l-1.38,-1.7l-1.18,-0.89l0.16,-1.5l-1.21,-0.97l0.27,-0.83l-0.53,-0.49l-1.31,-0.03l-0.73,-1.83l-0.6,-0.75l-0.9,-0.15l-0.12,-1.17l-1.94,-1.31l-0.71,-1.5l-1.29,-0.72l-0.59,0.2l-0.76,0.98l-0.68,-1.48l0.03,-2.42l0.63,-1.55l0.33,-2.39l2.81,-8.01l0.09,-2.34l3.14,-3.22l3.28,-5.36l-1.16,-3.29l-0.48,-2.8l-1.36,-1.43l-0.7,-2.18l0.42,-1.38l-0.33,-3.85l-1.57,-2.62l-2.74,-2.39l-2.36,-3.38l-0.3,-1.14l-0.11,-1.46l2.77,-1.37l0.24,-5.08l1.99,-1.43l0.23,-1.3l-0.53,-0.67l-0.48,0.01l-0.77,0.61l-1.26,-2.81l-0.32,-1.92l-5.49,-6.4l0.28,-0.94l-0.82,-2.56l-0.24,-0.48l-0.82,-0.09l-0.57,-0.75ZM559.45,406.63l0.01,0.05l-0.04,-0.01l0.03,-0.04ZM556.62,392.44l0.03,-0.28l0.21,0.01l-0.06,0.19l-0.18,0.08ZM544.21,404.66l-0.1,-0.43l0.18,-0.99l0.21,0.06l-0.29,1.36Z\",\\n      \"name\": \"Thailand\"\\n    },\\n    \"XC\": {\\n      \"path\": \"M54.11,189.32l0.71,-1.69l3.58,0.38l4.65,-1.22l-1.47,1.07l-0.12,1.43l-1.57,0.62l-1.16,-0.11l-0.33,-0.76l-0.7,-0.35l-1.48,-0.08l-2.13,0.7Z\",\\n      \"name\": \"N. Cyprus\"\\n    },\\n    \"NP\": {\\n      \"path\": \"M410.28,243.11l-2.55,-1.76l0.5,-1.57l0.84,-0.96l0.17,-1.86l0.43,-1.13l1.67,-2.57l2.53,-2.12l0.36,0.0l0.71,0.97l1.05,0.04l0.69,-0.55l1.13,-1.86l1.45,-0.35l2.74,0.45l1.31,2.1l2.04,1.05l2.81,2.14l1.2,0.53l1.08,0.07l3.06,3.39l1.08,0.07l1.86,-0.7l0.91,0.36l1.07,2.57l4.26,2.86l2.43,-0.32l-0.44,1.39l0.29,0.76l0.99,0.39l3.39,0.13l2.33,2.94l1.09,-0.49l0.13,-1.05l0.41,0.62l1.7,0.81l1.0,-0.37l0.52,-1.03l3.86,2.13l3.7,0.19l1.83,-0.58l1.62,0.11l-1.18,5.52l0.99,1.89l0.33,1.4l-0.85,2.37l-1.11,-0.4l-1.63,0.3l-1.53,-0.18l-1.06,0.47l-1.13,-0.44l-0.63,-1.02l-2.53,0.89l-2.42,-1.08l-2.71,-0.61l-1.59,0.35l-0.56,-1.32l-0.61,-0.49l-0.81,-0.06l-2.2,0.7l-0.76,-0.85l-3.21,-1.41l-0.5,-1.97l-1.16,-0.57l-2.9,-1.14l-1.72,0.42l-0.54,0.41l-2.88,-0.65l-1.06,0.69l-3.82,-1.07l-0.63,-1.31l-1.72,-0.01l-3.45,-1.93l-1.06,0.34l-3.87,-2.4l-1.13,-1.33l-4.32,-2.53l-0.65,-0.19l-0.62,0.45Z\",\\n      \"name\": \"Nepal\"\\n    },\\n    \"PK\": {\\n      \"path\": \"M269.48,270.83l0.52,-4.2l0.67,-0.75l0.57,-2.85l2.01,-1.0l0.97,-0.08l0.52,-1.04l0.77,-0.46l2.52,-0.65l2.87,-0.06l0.36,-0.47l0.11,-1.17l0.45,-0.39l-0.03,-1.58l0.47,-0.86l-0.52,-0.74l-0.77,-0.41l-2.77,0.13l0.39,-1.76l-0.54,-4.07l0.04,-2.2l-1.6,-0.09l-1.51,-1.37l-3.47,-1.08l-1.91,-1.91l-2.05,-3.71l-0.19,-0.94l-2.65,-2.99l10.89,3.26l8.22,-0.72l3.87,0.84l2.43,-1.24l5.25,-0.12l8.22,-2.31l1.17,-1.25l-0.51,-1.27l0.49,-1.74l-0.13,-2.39l0.42,-1.5l0.32,-0.75l1.44,-0.87l1.7,-1.97l1.13,-0.25l0.74,0.48l1.28,0.21l1.43,-0.15l2.17,-0.92l0.23,-0.41l-0.28,-0.62l-0.84,-0.53l0.92,-0.14l2.08,-1.08l1.11,-1.01l1.85,0.42l1.11,-0.38l1.19,1.17l1.06,0.19l1.7,-0.92l1.54,-1.71l-0.18,-4.32l1.19,-1.99l0.71,-2.75l2.97,-0.66l2.75,-1.73l0.12,-0.99l-1.13,-2.12l-1.89,-2.23l0.09,-0.52l0.46,-0.22l2.4,0.73l2.52,0.08l1.59,-0.27l1.74,-0.77l0.34,-0.78l0.03,-2.08l-0.91,-1.17l2.28,-2.78l1.25,-0.9l1.26,-1.87l-0.52,-1.21l0.4,-0.97l-0.21,-1.16l-1.35,-2.98l-1.47,-1.22l2.92,-2.92l1.05,0.02l3.08,-2.38l3.32,-1.04l8.46,-0.5l2.11,0.54l4.23,-1.81l1.89,0.66l1.45,-0.23l1.96,0.57l0.66,1.53l1.84,-0.02l1.15,0.7l0.89,2.05l-0.04,1.63l-0.48,0.91l0.16,0.54l1.26,0.65l0.79,1.44l0.87,0.06l1.8,-0.54l0.21,0.8l1.45,0.92l1.99,4.42l-0.25,0.7l-1.59,0.77l-1.22,1.27l-1.07,-0.14l-2.06,0.72l-1.13,0.04l-2.35,1.35l-1.72,-0.27l-2.12,-0.88l-1.69,-0.06l-5.08,-0.99l-2.74,1.13l-1.28,2.39l0.11,0.68l1.22,0.82l-0.53,0.92l0.26,0.83l0.45,0.32l1.89,0.13l-1.7,1.09l-0.33,0.76l0.06,0.8l1.21,1.19l-0.19,0.79l-0.96,1.3l0.16,0.78l1.0,1.03l1.2,0.61l0.09,1.56l0.37,0.35l2.14,0.21l0.01,1.64l0.32,0.43l1.07,0.42l1.4,-0.03l1.71,0.69l0.54,0.53l-0.41,0.71l-3.79,1.57l-1.57,1.26l-0.36,1.18l0.6,1.91l-0.55,2.25l0.18,0.66l0.63,0.48l-2.05,1.08l-3.26,3.73l-0.26,0.91l0.35,1.04l-0.24,0.33l-0.5,0.49l-3.35,1.5l-1.12,3.11l-2.36,4.12l-4.24,2.31l-1.61,3.3l-1.4,1.47l-0.56,1.59l-2.17,0.66l-2.71,0.32l-2.75,0.97l-0.54,-0.33l-0.39,-1.18l-0.59,-0.61l-0.85,-0.41l-0.84,0.03l-2.03,1.49l-1.89,3.07l-2.77,2.99l-0.51,2.6l0.37,0.82l1.92,1.06l2.4,0.39l0.41,0.36l-0.14,2.08l-0.42,1.24l0.25,1.53l1.41,1.76l2.65,0.16l0.04,1.91l2.84,5.54l-0.51,1.0l0.38,1.32l-1.88,0.98l-0.72,-0.22l-0.2,-0.99l-0.83,-0.16l-3.03,1.01l-0.66,0.78l-1.39,0.17l-1.84,-0.86l-5.29,0.01l-0.66,-0.31l-0.65,0.61l-0.06,2.13l-3.01,0.31l-1.21,1.0l-0.25,-0.26l-0.77,0.04l-0.58,-0.5l-1.41,0.59l-0.05,-0.45l-0.57,-0.33l-0.36,0.17l-0.45,-0.88l-1.14,-1.08l-1.04,-4.6l-0.84,-0.57l-2.73,-0.5l-0.04,-2.81l-1.28,-2.11l-0.79,-0.73l-0.95,-0.3l-1.12,0.15l-0.56,0.45l-0.14,0.63l-3.17,0.73l-1.97,-0.15l-2.65,0.5l-2.1,0.03l-0.99,0.92l-3.43,-1.07l-0.78,-0.57l-1.09,0.44l-1.53,-0.33l-1.4,0.26l-0.65,0.55l-0.13,0.54l-5.86,-0.39l-2.45,0.99l-1.15,-0.64l-0.84,0.54l-1.21,0.17l-1.92,-0.28Z\",\\n      \"name\": \"Pakistan\"\\n    },\\n    \"PH\": {\\n      \"path\": \"M728.0,406.82l-0.36,-1.38l-0.85,-0.45l-0.93,0.16l-1.15,1.02l-2.46,5.15l-0.73,-0.16l-0.33,-0.59l0.11,-0.69l0.93,-1.32l0.61,-3.27l0.76,-0.92l0.9,-0.65l4.06,-0.9l0.64,-0.48l0.18,-1.27l0.58,-0.71l1.78,-0.64l0.67,-0.86l1.5,0.51l1.05,1.19l0.18,1.61l-0.78,0.77l0.18,0.69l0.35,0.07l3.3,-1.43l1.49,-2.74l1.27,0.56l1.14,-0.29l0.99,-3.03l1.85,0.74l0.43,-0.17l0.47,-1.0l1.03,0.24l0.92,-0.17l0.58,-1.41l-0.86,-3.85l0.23,-0.35l2.55,1.76l0.99,1.46l0.61,0.45l0.63,0.02l0.02,0.82l0.91,1.89l-1.33,1.93l0.36,0.57l1.35,0.53l0.09,1.0l0.58,1.01l-0.17,2.72l1.02,1.26l0.13,2.5l-1.03,2.12l-1.88,1.25l0.29,1.17l-0.14,1.8l-0.55,-2.81l-1.64,-3.69l-0.84,-0.17l-0.91,0.67l-0.34,1.13l-1.8,2.36l-0.19,0.91l0.45,0.91l1.14,1.03l0.58,1.69l-0.02,1.68l-1.46,2.17l-0.55,0.33l-0.44,-1.09l0.26,-1.7l-0.39,-0.57l-0.86,0.04l-1.06,1.35l-0.53,-0.03l-5.2,-2.61l-0.91,-1.16l-0.67,-4.15l1.48,-1.94l0.23,-0.75l-0.31,-1.0l-1.65,-1.77l-2.44,-1.24l-0.93,-0.12l-0.84,0.47l-0.61,2.56l-1.07,-0.63l-0.58,-1.24l-0.67,0.04l-0.67,0.99l-0.69,0.09ZM751.98,389.95l-0.18,-0.26l0.18,-0.69l0.14,0.94l-0.14,0.0ZM745.51,369.73l0.42,0.49l0.16,1.05l1.39,0.75l-0.5,1.78l0.06,1.37l0.32,1.81l0.73,1.51l-0.22,0.62l0.63,0.5l-2.56,-0.11l-0.47,-0.75l-0.93,-0.6l-0.74,-1.33l0.4,-0.56l0.14,-1.09l-0.98,-0.39l-1.49,-1.79l-1.73,-1.01l-0.94,-2.42l1.55,0.24l4.29,-0.34l0.49,0.25ZM748.54,386.17l-0.11,0.68l0.34,1.55l-0.61,-0.86l0.39,-1.37ZM739.46,377.82l1.66,1.21l0.85,-0.07l0.75,-0.56l0.45,0.12l0.62,1.05l-0.07,3.26l1.13,1.12l0.7,2.2l-0.69,0.15l-0.74,-0.82l-0.65,0.35l0.22,1.71l-0.96,-0.38l0.05,-1.08l-0.37,-0.87l0.42,-1.7l-0.12,-1.02l-0.99,-1.46l-0.64,-0.13l-0.92,0.39l-0.72,-3.46ZM741.83,394.7l0.21,0.21l0.02,0.05l-0.32,-0.14l0.09,-0.12ZM738.84,387.8l1.52,0.83l0.11,1.43l-0.73,0.19l-0.69,0.75l-1.65,0.22l-1.56,-0.43l-0.3,-0.72l0.22,-0.29l1.36,-0.84l0.84,-1.0l0.88,-0.14ZM740.7,376.89l-0.46,0.02l-0.5,-0.74l0.4,0.01l0.56,0.71ZM738.03,358.15l1.13,1.2l-0.08,1.14l-1.32,0.79l-0.56,-0.45l0.53,-0.81l0.29,-1.86ZM705.26,340.87l2.47,2.04l1.41,-0.15l0.67,-0.97l-0.6,-3.01l0.11,-1.65l0.63,-1.44l0.12,-1.17l0.03,-2.73l-0.49,-1.5l1.77,-6.46l1.32,-0.62l2.0,-0.1l3.6,1.82l2.76,0.73l1.03,-0.47l0.93,-1.16l0.42,0.95l-1.01,1.96l-0.19,3.22l0.71,1.92l0.97,0.75l0.23,1.08l0.76,0.5l-2.68,6.69l-2.48,0.82l-1.67,1.35l-0.26,0.82l0.33,1.21l-1.44,2.23l-0.12,1.02l2.1,3.92l-0.4,0.52l0.02,0.84l1.09,3.29l1.19,1.24l2.47,0.77l0.97,-1.01l-0.57,-0.9l1.81,-1.08l0.87,0.03l2.06,0.87l0.92,1.55l-0.08,1.24l0.44,0.57l1.57,-0.04l0.57,-0.88l-0.17,-1.26l0.65,0.61l2.8,0.96l-1.64,0.38l-0.5,0.9l1.98,2.8l-0.23,0.96l0.4,0.54l1.09,0.06l1.14,0.57l-0.03,1.33l-0.44,1.29l-0.68,-0.57l0.47,-1.43l-0.11,-0.49l-0.54,-0.26l-1.98,0.22l-2.2,-0.99l-0.07,-1.15l-1.0,-1.74l-2.27,-1.38l-2.18,-2.32l-0.91,-0.19l-0.54,0.57l0.27,1.97l1.2,2.03l-0.11,0.92l-1.4,-2.27l-2.36,-2.11l-2.3,-1.17l-1.29,0.2l-1.17,0.64l-0.51,1.04l-1.37,0.37l-1.88,-0.91l-0.84,-0.94l-1.27,0.09l-0.06,-1.93l2.25,-2.25l0.18,-1.37l-0.61,-0.85l-1.39,-0.49l-0.76,-0.67l-0.69,0.13l-0.29,1.08l0.3,1.96l-0.52,-0.01l-1.22,-2.35l-1.29,-0.55l-1.08,-4.3l-0.32,-3.15l-0.92,-1.36l0.09,-1.8ZM730.9,372.85l0.47,-2.32l-0.19,-0.94l1.67,0.72l2.65,2.11l0.94,1.95l-1.57,-0.81l-0.13,-0.48l-2.08,-1.69l-0.86,0.3l-0.91,1.16ZM731.8,392.09l0.51,-3.17l2.34,-3.7l1.75,-4.53l0.06,3.43l-0.31,1.27l-2.26,2.03l-1.54,4.05l-0.54,0.62ZM733.28,394.82l0.52,-0.32l0.02,0.02l0.03,0.32l-0.57,-0.03ZM729.86,395.26l-0.73,0.04l-0.95,-1.93l-2.17,-1.16l-1.04,-1.46l-0.07,-0.78l0.39,-0.76l1.78,-0.22l1.23,-0.96l0.09,-1.64l-0.32,-1.54l0.97,-1.36l0.18,-1.36l1.68,-0.66l1.65,0.46l0.3,0.71l-3.01,6.84l-0.11,2.09l1.29,2.24l-0.6,1.16l-0.53,0.31ZM721.54,384.46l0.08,-2.36l0.65,-1.73l0.41,-4.26l-0.36,-0.84l-1.14,-0.42l0.2,-0.25l2.11,0.9l2.44,1.59l1.7,-0.22l0.29,0.21l-0.12,0.52l0.57,0.41l1.39,-0.68l-0.56,1.97l-1.94,1.45l-0.31,1.24l-1.72,0.97l-2.45,0.54l-1.25,0.95ZM725.79,384.74l0.1,-0.57l0.69,-0.72l-0.33,1.11l-0.47,0.17ZM725.34,370.08l0.51,0.0l0.32,0.32l-0.09,0.37l-0.74,-0.68ZM720.66,414.08l1.28,-0.48l1.17,0.52l-0.4,0.68l-1.29,0.41l-0.76,-1.13ZM721.62,371.25l-0.28,-0.34l0.74,-1.88l-0.26,1.6l-0.2,0.62ZM720.72,362.06l1.2,0.4l0.06,0.49l-0.5,0.8l-0.89,-0.63l0.12,-1.06ZM720.92,351.28l-0.31,-0.65l0.56,-0.04l0.08,0.05l-0.33,0.63ZM709.61,362.34l0.4,-0.1l2.09,0.38l1.26,-0.21l1.33,0.83l0.82,-0.23l2.08,2.06l-0.43,1.29l0.47,2.2l-1.03,2.1l-0.97,0.66l-0.4,-0.1l-1.19,-1.44l-0.47,-1.51l-0.77,-0.79l-0.21,-1.61l-0.66,-1.28l-1.3,-1.01l-0.48,-1.08l-0.55,-0.15ZM714.98,418.53l0.26,0.35l-0.6,0.22l-1.1,-0.11l0.83,-0.57l0.6,0.1ZM716.05,419.0l0.09,-0.02l0.4,0.07l-0.27,0.16l-0.22,-0.21ZM705.98,371.66l1.18,0.87l0.96,-0.01l0.47,0.43l-1.79,0.03l-0.83,-1.33ZM705.87,425.31l0.15,-0.09l-0.05,0.07l-0.1,0.02ZM707.64,424.35l0.2,-0.16l0.09,0.18l-0.07,0.15l-0.22,-0.17ZM706.04,374.1l0.59,0.45l-0.2,0.86l-0.04,-0.42l-0.35,-0.89ZM705.7,384.54l-0.46,0.12l-0.04,-0.14l0.31,-0.32l0.42,0.15l-0.23,0.19ZM686.27,399.97l0.72,-1.41l1.79,-1.9l2.11,-1.98l0.99,-0.21l0.79,-0.65l6.81,-7.61l1.57,-1.03l0.72,-1.72l-0.35,-1.29l1.36,-3.0l-0.17,2.33l1.17,3.14l-0.52,0.53l-1.72,0.64l-0.72,0.68l-0.59,1.28l-3.03,1.1l-0.35,0.57l0.08,0.83l-2.38,3.62l-2.22,1.15l-1.14,1.74l-2.96,1.68l-0.61,0.88l-1.33,0.63ZM684.24,404.1l0.0,0.29l-0.02,-0.03l0.01,-0.26Z\",\\n      \"name\": \"Philippines\"\\n    },\\n    \"-99\": {\\n      \"path\": \"M383.52,185.67l4.19,1.15l0.92,0.04l-3.62,2.11l-1.48,-3.3Z\",\\n      \"name\": \"Siachen Glacier\"\\n    },\\n    \"AE\": {\\n      \"path\": \"M194.39,278.76l0.73,0.08l0.22,1.31l1.15,0.87l2.69,-0.08l2.96,-1.26l9.41,0.59l3.95,-1.73l2.56,-4.17l2.65,-1.86l3.18,-3.64l3.09,-2.34l1.07,-2.06l-0.1,2.81l0.48,0.5l1.07,0.36l0.03,1.78l-0.57,-0.2l-0.39,0.23l-0.21,0.84l0.56,0.47l0.63,-0.33l0.03,1.52l-1.79,1.71l-0.31,-0.4l0.09,-0.97l-0.49,-0.37l-1.04,0.15l-0.73,0.82l-0.26,3.17l0.28,1.09l-0.3,0.77l0.18,0.5l1.19,0.25l0.25,0.52l-2.94,0.49l-0.73,0.46l0.14,1.92l-2.3,5.42l-0.13,2.62l-0.3,0.38l-18.8,-2.42l-7.07,-8.89l-0.12,-0.91ZM210.56,279.01l0.06,-0.02l-0.04,0.02l-0.02,-0.0ZM210.81,278.92l0.07,-0.02l0.01,0.01l-0.07,0.02Z\",\\n      \"name\": \"United Arab Emirates\"\\n    },\\n    \"CN\": {\\n      \"path\": \"M365.41,172.16l1.93,-0.79l0.8,0.45l0.58,-0.03l1.6,-1.06l0.43,-0.78l-0.29,-0.77l-1.35,-1.08l0.27,-1.56l-1.1,-2.86l-0.11,-1.26l0.45,-1.34l-0.29,-0.65l-2.33,-1.28l-1.95,-0.56l-1.36,0.09l-0.9,1.0l-0.98,-0.49l-0.3,-0.68l-0.39,-1.26l0.69,-0.6l0.09,-0.46l-1.45,-2.26l0.19,-1.53l1.3,-0.4l0.68,-0.85l0.11,-0.56l-0.57,-1.51l1.04,-1.95l2.98,-0.74l2.05,-1.55l1.31,-0.33l-0.07,-1.23l1.05,0.36l1.84,-0.28l2.1,-1.29l0.52,2.3l0.55,0.54l1.46,0.02l2.76,-1.01l0.79,0.52l1.36,-1.01l1.34,-2.89l1.67,-2.04l4.86,0.3l1.85,-0.56l2.31,-0.19l1.9,-1.96l0.18,-0.83l2.68,-1.58l4.03,-1.95l3.58,-1.07l0.68,-0.91l2.92,-0.44l0.25,-0.55l-0.22,-0.96l0.32,-0.57l-0.71,-3.75l0.51,-0.97l2.29,-0.97l-0.24,-0.77l-0.99,-0.5l1.46,-0.67l1.2,0.13l0.41,-0.8l-0.89,-1.63l0.26,-0.97l-0.41,-1.27l-2.18,-4.85l-0.02,-3.97l0.89,-1.82l-0.41,-0.45l-1.46,-0.56l-2.01,0.06l-0.52,-0.32l1.06,-0.83l4.21,-1.09l1.68,-0.04l6.15,-1.96l0.53,1.0l1.26,0.66l2.52,-0.51l1.4,0.82l0.8,-0.08l0.85,-1.74l-0.07,-1.41l-2.19,-1.08l-0.03,-0.33l1.78,-5.22l3.14,-7.6l0.39,-1.94l4.63,1.67l2.32,0.49l2.47,-0.24l2.33,0.22l0.45,0.9l0.68,0.43l1.8,-0.78l1.62,-1.17l2.02,-0.37l1.39,-2.04l0.08,-0.98l-0.6,-1.42l-0.45,-3.93l1.19,-3.6l0.77,-0.73l3.25,-0.45l2.36,-0.85l1.29,-1.65l0.29,-3.02l0.79,-0.62l2.36,-0.13l1.58,0.27l2.52,-0.84l0.3,1.27l-0.63,0.38l-0.25,0.6l0.94,1.34l1.39,0.54l-0.65,1.04l0.38,0.7l2.38,0.77l1.49,0.83l0.5,1.57l3.63,2.12l1.18,0.22l2.09,-0.46l2.1,1.87l0.74,0.07l1.12,-0.53l0.57,1.23l1.53,0.67l1.28,3.58l1.64,2.65l1.19,0.55l0.79,1.76l0.33,1.76l-0.89,2.6l0.67,2.13l-2.13,2.76l-0.41,2.07l1.63,3.21l0.63,0.31l0.99,-0.22l1.89,0.9l1.02,-0.03l1.13,0.44l3.3,0.07l3.02,0.55l2.72,-0.24l5.34,0.82l0.96,0.37l2.24,2.07l1.85,0.32l1.15,1.07l2.73,1.63l2.56,0.85l1.99,-0.13l-0.13,2.0l1.51,0.81l2.29,5.05l0.18,1.08l3.31,3.2l0.69,1.92l6.41,-0.51l16.91,2.0l3.94,-0.98l8.21,1.13l3.03,0.12l1.08,0.31l2.26,2.49l1.52,0.61l6.88,1.38l4.74,2.27l5.67,-1.01l0.0,1.47l0.37,0.4l2.66,0.14l1.13,0.41l1.7,-1.31l11.66,-4.91l10.41,-1.41l3.86,0.28l4.94,-0.21l7.99,-3.04l4.65,-5.2l4.07,-1.44l1.61,-1.47l0.83,-0.18l0.58,-0.54l-0.07,-1.24l-0.79,-1.18l-2.28,-2.25l-0.82,-1.48l1.58,-3.99l1.88,-2.0l3.55,0.07l1.21,1.17l1.03,0.45l6.82,1.27l3.8,-2.14l2.62,-2.22l0.93,-1.63l1.11,-0.23l1.42,0.38l1.82,-0.11l4.12,-0.73l1.86,-1.53l2.09,-1.18l0.37,-0.81l-0.17,-0.73l0.97,-1.75l1.14,-1.01l0.39,-0.77l1.9,-0.8l3.64,0.23l0.44,-0.45l0.38,-1.65l2.28,0.62l2.45,-1.39l1.7,-0.45l3.01,0.22l0.98,-0.62l2.2,1.09l1.38,0.27l2.89,0.08l1.36,-0.66l0.42,-0.79l-0.01,-1.52l-0.83,-1.16l-0.58,-1.61l-1.47,-1.11l-1.85,-2.1l-0.88,-0.45l-0.64,-1.25l-2.39,-0.99l-1.95,-2.14l-2.92,-0.51l-2.87,0.4l-3.15,3.15l-1.88,-1.41l-2.46,-0.62l-1.86,0.29l-2.09,-0.18l-2.41,1.59l-1.87,-1.6l-0.37,-0.56l-0.2,-1.43l1.92,-1.29l0.24,-3.01l1.51,-1.96l4.75,-9.76l3.9,1.76l1.78,0.17l3.07,0.94l4.54,-3.28l2.18,-1.11l2.92,-0.5l1.09,-0.71l0.55,-1.02l0.15,-1.22l-0.37,-0.95l-0.7,-0.36l0.55,-1.35l1.21,-1.37l0.54,-1.66l1.7,-2.34l0.5,-1.58l1.13,-1.51l0.76,-1.79l4.55,-3.66l0.6,-1.37l-0.01,-1.26l-0.61,-1.07l0.23,-1.97l-0.32,-0.74l-1.34,-0.73l-2.61,0.11l-0.48,-0.19l-0.1,-0.51l4.76,-4.34l1.99,-1.08l3.13,-0.33l6.78,-1.67l1.46,0.26l1.76,-0.12l3.07,-0.78l3.35,0.02l3.91,1.85l0.58,-0.06l1.7,1.35l1.37,0.23l1.22,0.74l0.7,0.1l0.53,-0.55l0.9,-0.2l3.43,1.55l0.68,0.02l0.53,1.46l1.13,0.28l1.21,1.21l-0.23,1.29l1.31,0.91l1.03,1.41l1.33,4.47l1.4,2.18l0.09,1.43l0.69,0.57l0.23,1.91l0.73,2.23l2.84,3.84l0.26,1.27l-0.31,1.03l0.33,1.29l1.69,1.29l-0.63,2.16l0.49,1.84l1.34,1.43l2.23,1.04l1.9,0.12l3.44,-0.39l0.69,1.23l1.5,0.44l0.48,0.5l2.05,0.2l1.04,-0.33l0.28,0.55l1.11,0.51l2.6,2.84l1.28,0.86l2.66,0.35l0.27,0.48l-0.44,1.57l1.87,2.66l-0.63,1.79l0.12,1.26l0.95,1.05l0.8,2.01l0.48,0.35l2.6,-0.29l1.75,0.43l1.71,0.01l5.1,-0.34l0.97,-0.59l0.99,-1.59l1.3,-0.37l1.9,-1.17l2.51,0.05l2.79,-1.68l3.24,-0.92l1.8,0.44l0.68,0.74l-0.82,1.93l1.31,2.75l-1.38,1.91l-1.77,0.61l-1.07,1.16l0.13,1.79l-0.94,1.69l-0.37,2.24l-1.12,1.92l0.19,1.39l-0.26,1.0l-1.13,0.94l-0.42,1.75l-1.06,0.82l-0.49,2.38l-1.96,1.19l-0.56,1.69l-0.04,1.63l-0.95,0.67l-0.5,-0.19l-0.1,-0.71l-0.73,-0.85l-2.53,-0.96l-1.5,0.01l-1.59,0.8l-1.29,-0.76l-1.5,1.14l-1.57,2.05l-2.71,0.69l-0.86,0.69l-0.15,0.9l0.85,1.78l1.22,4.66l-0.58,3.36l0.06,1.87l0.53,0.57l0.03,0.49l-0.58,2.05l-0.7,1.11l-0.07,0.94l-4.14,1.05l-0.65,0.58l-0.03,0.7l-0.59,-0.73l-0.01,-1.18l-0.31,-0.41l-1.13,-0.73l-1.86,-0.14l-0.96,2.12l-0.46,2.74l-0.99,0.52l-0.82,-0.43l-1.06,0.26l-0.85,1.04l-0.2,0.87l-1.83,1.42l-4.49,0.11l-2.3,0.6l-0.07,1.14l1.87,2.53l-0.82,1.45l-0.79,-0.53l-2.49,0.07l-3.67,-0.8l-0.72,-1.27l-1.0,-0.87l-0.72,-0.04l-1.3,0.54l-1.1,0.89l-0.72,2.33l-3.69,4.02l-2.02,0.41l-2.24,1.77l-2.61,1.03l-0.65,0.71l-0.77,0.09l-3.8,3.18l-0.88,1.57l-1.07,0.65l-2.36,0.15l-0.71,-0.45l-0.52,0.08l-0.5,0.75l-1.65,0.2l-0.91,0.64l-1.3,0.1l-1.6,0.69l-3.78,2.06l-2.63,2.74l-0.86,0.47l-1.56,0.08l-0.33,0.43l0.11,0.72l-2.19,0.42l-0.92,0.53l-0.13,-0.29l-0.07,-0.57l4.01,-1.54l0.22,-0.52l-0.31,-0.79l1.22,-1.18l-0.06,-0.68l-0.47,-0.17l-3.25,0.2l-0.06,-0.93l1.74,-0.99l-0.29,-1.01l0.19,-0.48l2.16,-1.03l2.89,-3.56l0.71,-1.79l-1.18,-1.72l-1.96,-1.27l-0.15,-1.0l-0.5,-0.33l-0.86,1.13l-4.24,-0.41l-3.06,2.81l-2.15,3.11l-6.55,2.87l-1.62,1.4l-1.06,1.8l-0.29,1.35l-1.66,1.8l-2.61,0.05l-2.19,0.87l-0.95,-0.95l-1.18,-0.38l-1.31,0.31l-0.87,0.71l-1.75,3.93l0.04,0.86l0.74,1.75l0.99,1.17l1.99,1.17l3.96,0.77l1.87,-0.27l0.87,0.6l0.96,2.56l-0.66,0.56l-0.29,2.76l1.44,1.5l2.65,0.69l2.41,-0.26l1.17,-0.95l0.09,-0.91l3.1,-2.29l0.03,-0.55l2.97,-1.14l2.03,0.85l1.23,1.04l1.38,0.26l1.86,1.0l2.57,0.17l0.84,-0.7l0.59,0.59l1.26,0.44l1.79,-0.09l-0.29,0.5l0.08,0.95l-0.94,0.91l-0.01,0.5l0.48,0.56l-1.09,0.82l-1.15,-1.08l-1.81,-0.01l-6.7,3.02l-1.68,-0.21l-0.45,0.45l0.75,1.29l-0.79,-0.14l-0.62,0.55l-0.37,2.19l-1.61,0.56l-0.14,-1.17l-0.39,-0.27l-1.33,0.32l-0.74,0.8l0.02,0.46l0.97,1.03l-1.13,0.58l-0.68,1.11l-0.81,0.79l-1.15,0.53l-1.43,1.93l-0.66,0.44l-0.69,1.69l-1.07,1.0l-0.38,1.38l0.27,1.08l0.38,0.28l1.03,-0.01l1.65,1.37l2.88,1.15l2.1,1.34l1.78,5.33l2.69,5.12l0.01,3.15l1.12,0.84l2.52,1.12l0.31,0.31l0.11,1.46l0.69,0.76l1.93,1.05l0.68,1.25l0.04,0.49l-0.31,0.01l-3.09,-1.32l-2.66,-0.06l-1.4,-1.34l-2.11,-0.64l-3.93,1.47l0.15,0.72l1.17,0.25l2.43,-0.92l1.32,0.24l0.62,1.36l2.02,0.84l2.18,1.92l2.25,1.33l0.86,1.19l0.56,1.61l-3.15,0.91l-0.86,0.76l-2.29,1.14l-1.2,1.61l-2.92,-0.2l-1.6,0.91l-0.46,0.83l1.46,0.15l1.0,-0.36l1.22,1.3l2.19,-0.28l1.82,-1.1l1.07,0.13l2.4,2.39l2.18,0.81l-3.43,2.67l-0.11,0.47l0.43,0.23l1.38,-0.22l1.47,-0.89l-0.17,3.07l-1.0,-0.86l-1.54,0.12l-0.7,0.55l-0.3,0.5l0.27,0.6l1.37,0.93l-0.97,0.15l0.14,0.48l0.67,0.48l-1.27,1.36l0.88,2.44l-1.79,0.73l-0.3,-0.73l-1.02,-0.07l-0.61,0.52l-0.97,1.92l-1.31,0.12l-0.34,0.56l0.6,0.64l-1.69,2.36l0.04,1.5l-1.57,1.94l-0.86,0.57l-1.09,1.77l-0.4,1.67l-0.76,0.38l-0.45,-0.81l0.02,-0.72l-0.56,-0.43l-0.78,0.86l-0.61,-0.34l-0.62,0.35l0.39,1.4l1.15,0.72l0.58,1.26l-2.78,2.07l-2.21,-0.53l-0.42,0.18l0.03,0.46l1.09,1.3l1.33,0.19l1.18,-0.41l-0.7,2.87l0.55,1.27l-1.1,-0.57l-2.04,0.21l-0.33,0.69l0.86,1.11l-1.36,-0.12l-0.71,0.28l-0.47,0.66l0.03,1.46l-1.86,0.71l-0.31,0.44l0.55,0.71l-0.3,0.65l-2.35,0.26l-1.61,-0.4l-0.83,0.65l-0.15,0.55l-0.9,0.02l-0.35,0.45l0.13,0.53l0.5,0.44l0.87,0.1l0.09,0.53l-1.42,1.61l-0.81,0.11l-0.79,1.15l-1.32,0.28l-0.25,1.38l-0.67,-0.56l-1.52,1.02l-1.31,-0.48l-0.47,0.3l-0.34,1.39l-1.77,0.94l0.48,0.64l-1.03,0.52l-0.45,1.76l-1.73,-0.15l-0.55,0.62l-2.18,0.65l-1.7,-0.36l-0.59,0.23l-0.53,0.81l-2.2,-0.75l-2.07,1.04l-0.44,0.51l-0.39,-0.04l-0.21,-0.64l-0.71,-0.39l-0.84,0.55l-0.46,1.11l-1.09,-0.4l-0.68,0.36l-1.01,-0.14l-1.26,0.3l-2.13,-2.38l-0.23,-1.15l0.2,-0.62l-0.46,-0.57l-0.87,0.25l-0.56,0.37l-0.12,0.91l-0.62,0.17l-0.28,0.49l1.65,2.52l0.24,1.88l-0.75,0.82l-1.87,0.83l-0.33,-0.77l-0.67,-0.1l-0.7,0.91l-0.26,1.4l-1.03,-0.33l-1.55,1.19l-0.69,-0.45l-0.17,-0.81l-0.8,-0.23l-0.35,0.51l0.19,1.14l-0.28,0.19l-2.61,-0.83l-0.77,1.07l-0.81,0.08l-1.15,1.15l-1.48,0.18l-0.61,0.37l-2.15,-0.19l-0.49,0.72l-1.63,0.37l-1.41,1.26l-0.31,-0.01l-0.52,-0.93l-0.57,0.3l-0.23,1.14l-1.23,0.94l-0.45,1.17l0.53,0.96l1.17,0.14l-0.41,0.45l0.04,0.79l1.36,1.09l-0.39,0.78l-0.62,0.37l-1.52,0.22l-1.17,-0.21l0.5,-0.6l-0.12,-0.35l-0.9,-0.7l-0.38,-0.62l0.04,-0.8l-1.0,-1.46l0.15,-1.56l0.65,-1.38l1.11,-0.59l0.07,-0.82l-0.39,-0.44l-0.58,-0.02l-0.41,-0.47l-0.65,0.09l-0.66,-1.03l-0.75,-0.24l-0.42,0.45l0.13,0.95l-2.47,0.67l0.17,-0.72l-0.39,-0.5l-0.73,-0.33l-1.8,-0.04l-0.98,-0.95l0.02,-0.73l-0.49,-0.43l-0.85,-0.03l-0.41,0.4l0.28,1.81l-1.09,-0.56l-0.72,1.04l-1.76,0.38l-1.62,-1.11l-2.08,0.41l-0.94,-0.16l-0.4,-0.55l-1.64,-0.72l-0.67,-1.01l-2.21,-0.67l-0.05,-1.66l-0.85,-1.11l0.23,-1.03l0.85,-0.53l0.68,-1.22l-0.12,-0.55l-1.84,-1.05l-2.07,0.36l-0.61,-0.73l-1.03,-0.2l-1.55,0.41l-2.03,-1.1l-0.83,-1.24l-1.34,-0.95l-3.55,1.72l-0.4,0.52l-0.2,1.34l-0.59,0.51l-1.18,0.15l-1.14,0.75l-1.15,-0.81l-1.33,0.5l-0.71,1.62l-2.1,-1.83l-0.89,0.42l-0.34,0.84l-0.66,-0.95l-0.63,-0.28l-2.47,2.5l-0.96,-1.02l-2.81,-1.34l-0.72,0.28l-1.91,2.51l-0.8,-0.35l-1.25,0.29l-0.63,-0.68l-0.72,0.09l-1.52,2.27l0.6,2.11l0.99,1.28l-0.12,3.86l0.49,0.66l-0.21,0.19l-1.25,-0.61l-1.95,0.36l-0.72,-3.85l-0.68,-0.58l-2.1,0.82l-1.69,1.42l-1.7,-0.24l-1.38,0.2l-0.21,-1.14l-1.18,-0.84l0.08,-1.61l-0.3,-0.58l-2.69,-0.64l-2.81,-0.24l1.23,-2.56l0.32,-2.41l0.95,-1.33l-0.39,-0.85l-0.53,-0.32l-3.83,-0.86l0.06,-1.37l-0.58,-1.01l0.2,-0.92l-1.13,-2.02l1.18,-1.77l-0.43,-0.41l-1.68,0.35l-0.79,-0.3l-2.18,0.04l-1.61,0.4l-2.81,1.32l0.84,-1.22l0.22,-0.96l-0.41,-1.54l-0.9,-0.73l-0.01,-0.93l0.33,-0.93l1.19,-0.86l-0.14,-1.39l0.61,-1.38l0.71,0.03l0.73,-0.48l0.79,-1.13l0.31,-1.17l1.26,-0.02l1.09,-1.65l1.23,-0.37l0.32,-0.55l-0.67,-1.69l0.86,-0.76l0.43,-4.22l-0.66,-7.13l-1.8,-1.02l-0.57,0.17l-0.4,0.7l-1.44,-4.65l-1.61,-1.77l-0.96,-0.11l-0.91,-1.15l-1.37,0.09l-1.35,2.06l-1.61,-1.06l-0.9,0.21l-1.36,-0.21l-1.36,-0.76l-1.94,0.67l0.2,-0.69l1.76,-1.77l0.1,-0.45l-1.17,-2.46l-1.06,0.09l-1.05,0.71l-0.08,-0.57l1.44,-0.92l0.25,-0.5l-0.29,-0.57l-0.99,-0.04l-1.3,-1.5l-1.5,0.45l-2.8,1.52l-0.86,1.33l-4.2,-1.08l-0.75,-0.94l-0.89,-0.16l-2.52,1.41l-1.3,1.3l-0.57,0.11l-1.02,1.34l-1.01,0.57l-3.9,0.88l-1.06,1.91l-3.46,2.48l0.09,1.15l-1.65,0.89l-1.35,-0.09l-1.97,0.85l-2.08,-0.24l-0.06,-1.23l-2.85,-1.31l-0.73,0.08l-1.25,0.75l-2.26,-0.8l-2.52,-0.06l0.13,-0.91l-0.36,-0.43l-1.9,-0.49l-1.67,0.07l-3.31,1.99l-2.43,2.86l-0.47,0.99l-1.06,0.94l-0.36,0.83l-0.47,-0.95l0.7,-3.01l-0.46,-1.27l-1.45,-0.74l-3.94,1.17l-0.48,0.51l-1.46,-0.05l-1.76,0.57l-3.44,-0.17l-0.89,-0.71l-1.94,-0.74l-0.44,-0.54l-0.79,-0.17l-0.62,0.16l-0.51,1.14l-0.41,0.1l-1.18,-0.63l-0.68,-0.79l-0.42,-0.01l-0.64,0.58l-0.21,0.98l-0.87,-1.65l-1.27,-1.21l-4.14,-0.33l0.41,-1.76l-0.28,-0.52l-0.91,-0.15l-1.8,0.4l-4.06,-2.75l-1.11,-2.6l-1.55,-0.5l-2.33,0.75l-3.12,-3.41l-2.3,-0.61l-2.71,-2.08l-2.01,-1.02l-1.48,-2.22l-3.04,-0.5l-1.83,0.42l-1.42,2.12l-0.6,0.33l-0.93,-1.59l-2.82,-1.74l-2.92,-0.99l0.03,-1.27l-0.49,-0.51l-0.64,-0.03l-2.05,-1.46l-1.84,0.08l-1.16,-0.84l-2.21,-2.86l-0.78,-0.2l-0.62,0.71l-1.06,0.34l-0.1,-1.14l0.46,-0.91l-0.04,-0.48l-0.73,-0.9l0.3,-1.79l-1.83,-2.23l-0.67,-2.27l1.73,-0.24l0.39,0.91l1.42,1.02l1.21,-0.27l1.4,-1.33l-0.13,-3.73l-0.73,-0.85l0.2,-1.15l-2.48,-2.76l-0.55,-4.19l1.72,-1.52l0.09,-0.95l-0.44,-0.7l-1.95,-1.37l-2.81,-1.04l-1.98,-4.96l0.26,-1.64l-0.3,-0.58l-1.28,0.21l-0.77,-0.36l-2.5,0.16l-2.61,-0.64l-3.32,-1.46l-0.35,-0.26l-0.07,-0.79l-0.48,-0.35l-2.59,0.64l-0.62,-1.33l-1.12,-0.49l0.45,-0.83l0.03,-1.94l-0.34,-1.28l-0.81,-1.23l-1.46,-0.87l-1.58,0.1l-0.77,-1.56l-2.25,-0.65l-1.24,0.26l-1.4,-0.66l-1.17,0.05l-0.72,-0.59ZM784.71,123.62l0.4,0.07l0.21,0.23l-0.36,-0.13l-0.25,-0.17ZM723.42,232.07l-1.54,-0.41l-0.17,-0.27l0.52,0.01l1.19,0.67ZM716.28,217.72l0.89,0.27l0.35,0.57l1.35,0.76l-2.09,-1.02l-0.5,-0.58ZM715.46,247.46l0.02,-0.03l0.0,0.02l-0.02,0.01ZM704.67,268.77l-0.0,-0.09l0.08,-0.21l0.02,0.22l-0.1,0.07ZM704.8,268.19l-0.02,-0.24l-0.07,-0.11l0.19,0.14l-0.1,0.2ZM626.1,313.41l0.45,-0.31l1.5,-0.02l0.99,-0.61l1.85,0.16l1.43,-0.24l0.73,-0.47l0.93,0.1l0.73,0.49l0.25,-0.45l0.9,0.43l0.57,-0.36l0.13,-0.8l1.76,1.26l0.46,1.85l-1.34,0.72l-1.36,2.07l-0.57,1.05l-0.86,3.16l-2.89,1.77l-0.1,0.61l-1.5,0.17l-1.06,1.16l-1.01,0.2l-3.6,-1.12l-2.23,-1.17l-0.45,-2.39l0.16,-3.13l4.5,-3.46l0.1,-0.45l-0.47,-0.24Z\",\\n      \"name\": \"China\"\\n    },\\n    \"AF\": {\\n      \"path\": \"M263.13,194.66l1.33,-0.91l1.1,-1.84l0.56,-2.35l-0.33,-1.15l0.64,-0.51l0.68,-2.24l2.02,1.52l2.71,-0.08l1.58,1.21l0.79,1.07l1.38,-0.62l1.85,-0.09l2.97,-1.9l0.83,-2.18l-0.38,-0.98l1.1,-0.05l4.17,-1.31l1.19,-0.03l0.71,-0.9l1.92,-0.94l1.23,-1.03l2.34,-6.82l1.81,-0.8l3.41,-0.11l1.57,-2.69l2.48,1.27l2.72,0.6l2.73,-0.22l1.64,0.29l0.86,0.78l1.11,0.31l1.4,-0.46l1.44,0.32l0.85,1.3l0.93,0.79l0.99,0.28l1.84,-0.67l0.82,-0.97l2.16,-1.04l1.07,-0.09l0.54,-0.51l2.73,1.92l1.42,-1.18l-0.1,-1.72l0.51,-0.98l2.24,-0.43l2.22,0.57l0.76,-0.4l0.65,-1.03l-0.33,-2.03l1.5,-1.31l1.47,-2.23l0.78,-0.67l0.88,-0.24l1.13,0.29l1.38,0.87l0.46,0.95l-0.35,1.35l0.2,1.16l0.51,0.18l1.53,-0.27l-1.09,6.68l0.76,2.5l0.5,0.96l0.78,0.52l1.31,-0.02l4.09,-2.44l2.19,-0.39l1.93,-2.11l3.52,-1.63l2.11,0.32l-0.71,0.81l0.06,0.5l1.16,0.37l3.23,-0.85l0.78,-0.74l3.04,0.38l-2.53,1.09l-0.19,0.6l0.87,0.8l-3.12,1.43l-1.91,-0.55l-8.59,0.51l-3.63,1.14l-2.93,2.3l-1.2,0.04l-2.87,2.67l-0.48,0.82l0.3,0.78l1.32,1.02l1.26,2.8l0.16,0.92l-0.39,1.09l0.52,0.89l-1.08,1.56l-1.15,0.81l-2.41,2.82l-0.1,0.83l0.86,1.05l-0.03,1.85l-0.18,0.37l-2.73,0.74l-2.35,-0.07l-2.43,-0.75l-1.31,0.69l-0.06,1.27l1.94,2.25l1.04,1.99l-0.09,0.34l-2.33,1.35l-2.61,0.41l-0.64,0.44l-0.88,3.06l-1.19,2.0l0.24,4.16l-0.58,0.69l-0.74,0.79l-1.38,0.76l-1.78,-1.33l-1.45,0.33l-2.07,-0.39l-1.26,1.1l-3.3,1.43l0.0,0.89l0.73,0.66l-0.53,0.31l-2.14,0.46l-1.14,-0.18l-0.79,-0.49l-1.68,0.34l-1.85,2.08l-1.41,0.83l-0.55,1.09l-0.47,1.65l0.12,2.44l-0.5,1.81l0.43,1.28l-0.65,0.55l-7.99,2.23l-4.32,-0.04l-1.96,0.48l-1.27,0.86l-3.88,-0.8l-8.12,0.73l-11.54,-3.48l6.64,-7.54l0.32,-2.24l-0.46,-1.86l-1.04,-1.1l-5.98,-0.83l-0.21,-2.89l0.3,-3.19l-1.99,-7.16l2.65,-3.31l-0.38,-0.57l-2.37,-0.37l-0.45,-0.7l0.29,-1.15l-0.29,-1.99l0.97,-1.49l1.66,-0.09l0.29,-0.64l-0.98,-1.34Z\",\\n      \"name\": \"Afghanistan\"\\n    },\\n    \"IQ\": {\\n      \"path\": \"M125.37,172.77l1.95,-1.22l0.78,-0.94l1.16,0.37l1.24,-0.35l4.35,1.19l1.2,0.03l1.46,-0.77l0.5,0.07l0.44,0.53l0.09,1.72l0.79,0.56l2.58,-1.7l0.69,0.07l0.9,2.88l1.07,0.96l0.23,1.88l0.57,0.71l0.86,0.33l1.15,3.11l1.42,0.29l1.68,1.36l3.14,0.13l-1.41,0.56l-0.54,1.37l0.08,0.71l0.99,1.29l0.2,1.22l-1.54,0.83l-1.82,1.95l-0.25,1.77l-0.74,-0.06l-0.45,0.37l-0.45,1.3l0.76,1.82l-1.02,2.28l2.56,3.1l1.08,-0.0l-0.11,0.57l0.29,0.52l0.85,0.46l0.87,1.45l-0.48,1.1l0.35,1.36l2.11,0.33l5.49,3.81l1.79,0.29l1.01,2.18l2.3,2.86l-1.06,3.07l-0.02,3.42l0.38,0.4l2.1,0.09l0.03,3.94l1.72,1.49l0.78,0.29l0.81,2.06l-1.95,-0.76l-1.42,0.35l-2.08,-0.8l-2.62,0.13l-0.97,0.37l-0.93,0.76l-1.6,3.52l-2.66,3.43l-1.13,0.23l-12.17,-1.05l-19.68,-15.44l-12.8,-7.12l-8.45,-1.44l0.59,-0.87l-0.34,-0.89l-0.45,-0.25l-1.2,0.28l-0.2,-0.63l0.45,-0.55l-2.04,-7.04l14.03,-7.89l1.79,-0.45l0.56,-0.45l1.68,-3.13l0.16,-4.4l1.03,-3.03l-0.03,-1.6l-0.78,-2.18l0.35,-2.43l0.73,-0.93l2.85,-0.77l4.37,-4.38Z\",\\n      \"name\": \"Iraq\"\\n    },\\n    \"JP\": {\\n      \"path\": \"M869.1,98.66l1.75,-0.84l3.26,3.32l3.55,4.25l6.71,5.04l2.54,0.27l2.9,1.4l1.9,0.2l1.33,-0.56l3.0,-2.78l-1.69,3.31l-0.21,1.25l1.8,4.23l1.68,0.42l-1.41,0.23l-3.12,1.57l-2.16,0.49l-3.23,-0.24l-1.9,0.92l-2.95,2.59l-1.18,1.68l-1.26,3.56l-5.13,-2.24l-4.91,-2.89l-3.56,0.24l-3.12,1.79l-1.8,-1.77l-2.05,-0.12l-1.27,1.37l-0.29,0.99l0.17,0.69l1.58,1.52l1.6,0.19l2.73,2.36l-1.19,0.22l-2.17,-0.56l-1.32,1.32l-0.75,1.34l-1.78,0.69l-0.46,-0.91l0.82,-3.12l-0.47,-1.54l-1.58,-1.77l0.18,-2.51l0.16,-0.42l2.41,-1.29l1.69,-1.6l0.38,-1.25l-0.63,-1.01l-0.05,-0.81l0.91,0.01l1.81,0.98l2.53,0.25l1.29,-0.2l0.83,-0.99l0.3,-1.08l-0.11,-2.27l1.83,-3.39l0.14,-2.29l0.75,-2.08l0.15,-2.27l-0.5,-2.16l-0.97,-1.91l0.52,-1.84ZM797.15,199.72l-2.57,-1.61l-2.21,0.27l-1.69,0.57l-1.02,-0.53l-1.02,0.12l-0.16,-1.76l0.63,-0.77l2.7,-0.24l1.86,-1.68l1.91,-0.98l3.04,-2.52l2.67,-2.39l0.63,-0.98l1.51,-0.69l2.29,-0.37l1.09,0.82l1.69,-0.43l2.79,0.03l1.83,-0.29l1.79,-0.74l3.12,-0.29l2.19,-0.7l0.26,0.06l-0.18,1.1l0.85,0.68l2.74,0.22l1.11,-0.42l2.39,-1.97l-0.57,-2.1l0.4,-0.94l2.14,-2.04l2.55,-3.28l0.45,-1.95l-0.2,-2.13l0.78,-1.34l3.05,-1.07l-1.26,1.28l-1.65,0.92l-0.36,0.67l0.73,1.13l0.3,1.76l0.95,0.6l1.0,0.19l1.03,-0.3l1.18,-1.46l6.0,-2.29l1.79,-1.56l1.26,-1.52l1.25,-2.38l2.64,-1.4l1.29,-1.28l0.94,-3.21l2.1,-3.3l0.85,-3.08l0.92,-1.59l0.24,-1.99l-0.07,-1.16l-0.49,-1.08l-0.5,-0.42l-0.89,-0.06l0.74,-0.65l0.81,-2.26l-0.66,-2.93l0.62,-0.94l1.24,-0.36l0.75,-0.77l0.52,-1.54l-0.08,-1.59l1.48,0.12l0.32,2.43l0.68,0.84l0.91,-0.09l0.69,-0.8l1.64,0.42l0.94,-1.16l0.28,-1.02l-0.12,-1.08l-0.8,-0.68l-2.52,0.82l0.41,-1.91l0.27,-0.42l2.22,1.27l1.07,-0.21l-0.29,2.18l0.24,3.4l0.32,1.16l1.4,1.26l1.05,1.5l1.42,4.28l-0.1,3.09l-0.56,2.58l-1.66,1.14l-0.97,2.0l-0.54,2.99l-2.66,0.62l-1.2,1.82l-0.27,1.84l0.81,4.19l-0.25,2.97l-0.22,0.85l-1.25,1.25l-0.55,1.12l-0.77,1.97l-0.42,2.39l0.41,1.75l1.51,2.46l-1.28,0.42l-1.4,1.32l-0.76,2.79l-3.37,2.17l0.16,-2.7l1.76,-1.96l0.18,-0.57l-0.98,-1.12l-0.81,-0.07l-0.86,0.22l-0.46,0.57l-0.11,0.87l-0.77,0.64l0.28,2.04l-1.35,-1.19l-1.76,0.18l-0.84,0.66l-0.47,1.16l-0.21,2.14l-1.23,1.57l-0.41,-0.3l0.29,-2.03l0.55,-0.31l0.08,-0.64l-1.53,-0.93l-1.49,0.44l-2.44,3.02l-0.4,0.92l-2.16,-0.39l-4.01,0.1l0.08,-0.5l-0.5,-0.63l-1.57,0.08l-0.59,-0.56l-0.49,0.08l0.01,-1.77l-1.08,-0.14l-1.03,0.73l-1.2,2.64l0.69,1.14l1.89,1.24l-0.11,0.44l-2.17,0.49l-1.78,0.83l-3.03,5.07l-1.4,0.53l-1.55,-0.48l-2.28,-3.54l-0.16,-2.19l1.06,-0.6l0.93,-1.05l0.29,-0.62l-0.14,-0.95l-0.68,-0.38l-2.31,0.19l-2.27,-1.13l-3.88,0.47l-2.11,1.59l-3.9,0.79l-2.17,1.03l-0.97,-0.18l-2.53,0.68l-1.6,-0.83l-1.15,0.19l-0.84,1.15l-0.63,2.77ZM865.75,100.56l-0.16,0.02l-0.34,-0.3l0.21,-0.05l0.29,0.33ZM852.34,128.05l-0.01,-0.06l0.07,-0.12l-0.06,0.17ZM843.87,165.83l0.27,-1.03l-0.54,-0.64l0.99,-1.22l-0.26,1.06l0.73,0.5l-0.33,0.78l-0.86,0.54ZM817.81,195.39l0.11,0.97l-0.91,0.42l-0.18,-0.21l0.98,-1.19ZM799.43,203.31l2.14,-1.59l1.03,-2.45l0.92,-0.71l1.41,1.39l3.48,-0.79l0.56,-0.72l0.01,-1.08l2.1,-0.96l0.82,-0.08l3.06,1.19l0.79,-0.04l0.42,2.93l-2.28,1.59l-1.02,1.44l-0.37,1.1l-1.12,-1.23l-0.91,-0.46l-2.01,-0.15l-2.79,1.49l-1.02,2.25l-0.9,0.74l-0.38,1.27l-0.61,0.55l-0.91,-0.13l0.24,-0.55l-0.3,-0.55l-1.28,-0.14l-0.37,-0.85l0.5,-1.92l-0.78,-0.48l0.04,-0.61l-0.46,-0.44ZM806.3,180.01l-0.4,0.05l-0.11,-0.36l0.22,-0.13l0.29,0.44ZM779.3,207.59l0.61,0.97l1.43,0.4l0.37,-0.57l-0.55,-1.19l-2.44,-2.04l0.11,-0.44l1.3,0.29l0.51,-0.3l-0.03,-0.87l1.56,-0.56l0.61,-0.58l1.53,-0.34l1.02,-1.74l1.24,-0.61l1.69,0.3l0.71,1.52l1.14,0.82l1.52,0.28l1.66,-0.66l0.51,0.26l0.05,0.4l-1.27,1.89l0.29,0.6l2.08,0.18l-0.1,0.69l0.71,0.75l-0.05,0.84l0.5,0.31l-1.93,2.27l-0.62,1.2l-1.5,4.83l-0.01,1.79l-0.79,1.89l-1.25,-0.29l-0.84,0.25l-0.28,0.85l0.34,0.72l-1.19,0.96l-0.58,0.29l0.35,-1.29l-0.62,-2.27l0.59,-0.38l0.08,-0.63l-0.47,-0.69l-1.31,0.06l-0.77,1.34l-0.24,1.11l0.7,1.77l-2.46,-0.77l-0.16,-0.39l0.94,-0.5l0.22,-1.32l-0.96,-1.54l0.01,-2.43l0.83,-0.31l0.6,-0.67l1.88,-3.4l-0.33,-0.56l-0.48,-0.05l0.3,-0.59l-0.17,-0.81l-1.26,-2.24l-1.27,-0.93l-1.28,0.67l0.23,2.45l0.36,0.37l0.9,-0.08l-0.06,0.75l-1.61,-0.78l-1.42,0.81l-1.2,-2.07ZM788.9,226.85l0.01,-0.11l0.07,-0.14l-0.02,0.14l-0.05,0.1ZM785.8,229.65l-0.74,0.03l-0.25,-0.58l0.36,-0.28l0.79,0.45l-0.17,0.38ZM781.9,213.3l-0.19,-0.64l0.25,-1.01l0.49,-0.07l0.06,1.08l-0.6,0.64ZM776.05,246.41l0.46,-0.51l1.07,-0.27l-0.66,0.48l-0.27,0.75l-0.59,-0.45ZM776.4,195.67l0.0,0.07l-0.02,-0.02l0.02,-0.04ZM776.72,194.79l0.02,-0.76l0.3,-0.22l0.03,0.45l-0.35,0.53ZM775.75,197.51l0.11,-0.75l0.18,0.13l-0.28,0.62ZM774.64,207.53l0.05,-0.12l0.05,0.07l-0.1,0.05ZM773.52,250.21l0.09,0.15l-0.02,0.05l-0.05,-0.02l-0.03,-0.18ZM771.75,209.72l0.65,-0.12l0.16,0.27l-0.66,0.42l-0.16,-0.58ZM764.44,262.78l0.09,0.4l-0.31,0.21l0.02,-0.29l0.2,-0.32ZM764.79,261.99l0.01,-0.59l0.25,-0.07l0.06,0.35l-0.31,0.3ZM766.32,260.11l-0.04,-0.54l0.94,0.06l-0.09,0.16l-0.81,0.33ZM767.58,259.28l0.76,-0.83l0.14,-0.26l-0.37,0.82l-0.53,0.27ZM737.71,277.3l0.12,0.01l0.12,-0.02l-0.11,0.13l-0.12,-0.12ZM734.91,277.92l0.11,-0.19l0.44,0.15l-0.29,0.11l-0.26,-0.06Z\",\\n      \"name\": \"Japan\"\\n    },\\n    \"IR\": {\\n      \"path\": \"M137.98,152.91l1.82,0.03l0.6,-0.28l0.67,-2.32l0.59,-0.59l1.55,0.95l2.35,3.38l2.65,2.25l5.45,1.21l1.03,-0.36l1.99,-0.04l2.17,-2.07l1.11,-0.37l1.44,-1.36l4.32,-2.67l1.33,-0.27l2.06,2.03l-1.19,0.63l-0.3,0.88l0.19,0.73l1.15,0.75l0.06,0.33l-1.67,0.54l-0.47,0.49l0.0,0.74l2.41,2.2l0.82,0.23l1.45,1.6l1.81,-0.16l0.68,4.4l1.03,2.14l2.34,1.36l5.61,0.96l1.48,2.17l4.46,2.95l1.55,0.63l4.82,1.1l3.39,-0.06l10.69,-2.45l0.21,0.44l0.67,0.3l1.71,0.03l0.55,-0.35l0.21,-0.71l-0.72,-3.44l1.67,0.06l3.89,-1.22l0.54,-0.48l1.08,-2.26l3.46,-2.28l1.38,-0.39l4.89,0.22l0.66,-0.25l0.51,-1.1l2.06,-0.24l1.77,0.38l2.05,-0.02l0.63,0.56l0.52,1.51l4.7,1.24l2.54,1.59l3.86,-0.27l3.36,1.38l0.49,1.51l0.66,0.7l4.56,2.51l2.11,2.82l5.87,0.06l0.51,3.54l-0.43,1.67l0.74,1.14l-0.1,1.69l0.31,1.07l-0.64,1.6l-0.71,0.64l0.34,1.44l-0.5,1.97l-0.93,1.56l-1.67,1.22l0.81,1.48l-1.39,0.22l-1.2,1.82l0.15,4.16l1.31,0.92l1.52,0.1l-2.39,2.82l-0.07,0.91l2.0,6.8l-0.31,3.03l0.25,3.24l0.59,0.43l5.89,0.81l0.55,0.62l0.38,2.82l-0.16,0.53l-6.99,7.93l0.0,0.53l3.52,3.93l0.14,0.86l2.14,3.86l2.05,2.06l3.58,1.15l1.47,1.37l1.37,-0.01l-0.16,1.7l0.53,3.99l-0.38,2.1l0.61,0.45l0.9,0.12l1.9,-0.26l0.6,0.48l-0.4,0.47l0.03,1.5l-0.45,0.44l-0.12,1.22l-2.53,-0.02l-2.68,0.69l-1.06,0.62l-0.58,0.96l-0.53,-0.06l-2.39,1.21l-0.42,0.76l-0.4,2.49l-0.69,0.76l-0.48,4.16l-1.09,0.73l-5.32,-1.37l-0.4,-0.8l-0.83,-0.45l-1.11,0.94l-2.58,-0.53l-0.97,0.15l-2.07,-0.31l-1.4,-0.61l-2.88,0.49l-1.9,-1.09l-4.44,-0.29l-1.86,-0.74l-1.13,0.19l-0.55,-0.51l-2.79,-0.5l-0.83,-1.7l-0.06,-1.04l-0.7,-1.65l-0.54,-3.52l-1.01,-1.66l-1.57,-1.19l-2.93,-0.59l-1.84,0.47l-1.36,0.86l-2.28,0.55l-1.54,1.56l-1.04,-0.07l-3.01,1.85l-1.55,0.34l-3.03,-1.5l-1.33,-0.29l-2.66,0.07l-1.33,-0.91l-0.5,-0.81l-3.55,-1.61l-2.09,-1.4l-0.66,-1.36l-1.1,-1.09l-2.08,-0.8l-1.34,-0.91l-2.73,-0.17l-0.9,-0.43l-1.66,-1.66l-0.08,-0.75l-1.31,-2.27l-0.3,-1.86l-1.47,-1.22l-0.02,-1.62l-1.45,-0.7l-0.17,-2.14l-3.57,-4.08l-1.03,-2.45l-0.88,-0.06l-2.97,1.37l-3.63,-2.19l0.69,0.2l0.8,-0.36l0.15,-0.46l-0.39,-0.73l-1.84,-0.31l-0.29,0.69l-0.72,0.48l-0.21,0.77l0.19,1.5l-0.24,0.32l-1.22,0.16l-0.84,0.51l-0.58,-0.43l-0.21,-1.14l-0.59,-0.91l-2.27,-1.56l-0.03,-3.98l-0.38,-0.4l-2.1,-0.09l0.0,-2.84l1.05,-3.56l-2.38,-2.97l-1.03,-2.21l-0.83,-0.6l-1.27,0.02l-5.5,-3.8l-1.96,-0.28l0.44,-1.85l-1.0,-1.8l-0.91,-0.72l-0.27,-1.04l-1.1,-0.07l-2.2,-2.72l0.96,-1.89l-0.74,-1.81l0.4,-0.91l1.01,-0.19l0.31,-1.89l1.71,-1.83l1.74,-1.07l0.13,-0.86l-0.38,-1.15l-0.94,-1.18l0.13,-0.84l0.21,-0.37l1.58,-0.58l0.3,-0.49l-0.2,-0.48l-0.95,-0.45l-3.11,-0.08l-1.23,-1.19l-1.38,-0.31l-0.92,-2.84l-1.37,-0.93l-0.23,-1.89l-1.06,-0.97l-0.82,-2.74l0.21,-1.31l-1.65,-1.47l-0.19,-1.57l0.23,-0.78l-1.97,-1.48l-0.74,-0.13l1.74,-3.57l-0.44,-0.59l-0.74,-0.15l-0.16,-3.61l-0.8,-1.09l0.1,-1.67l-0.76,-0.8l-0.29,-1.01ZM225.11,258.62l0.64,-0.41l0.16,-0.69l0.73,0.1l1.56,-0.62l-1.41,1.46l-0.78,-0.16l-0.9,0.32Z\",\\n      \"name\": \"Iran\"\\n    },\\n    \"AM\": {\\n      \"path\": \"M133.7,137.72l5.31,-0.87l4.6,0.01l0.35,-0.5l0.62,-0.08l0.81,0.74l-1.29,0.59l0.3,0.87l0.61,0.07l0.36,-0.45l2.27,0.69l1.11,1.07l-1.31,0.9l-0.18,1.02l1.58,2.09l2.78,1.54l-0.52,1.31l-1.74,0.0l-0.63,0.66l4.82,3.73l1.1,-0.1l0.87,0.4l-0.9,0.95l0.15,0.5l1.2,1.02l-0.8,0.03l-0.28,0.45l0.61,0.92l0.05,1.15l-2.11,0.32l-1.07,-2.31l0.02,-0.85l-1.37,-0.97l0.06,-1.45l-0.44,-0.43l-0.76,-0.06l-1.65,0.57l-1.24,-0.74l-0.65,-0.01l-0.29,-0.86l-0.79,-0.69l-1.99,0.45l-1.49,-1.5l-2.11,-1.4l-2.29,0.19l-1.95,-0.72l-0.84,-2.96l0.94,-1.34l0.1,-0.93l-0.76,-2.01l-1.14,-1.0Z\",\\n      \"name\": \"Armenia\"\\n    },\\n    \"SY\": {\\n      \"path\": \"M76.3,209.24l0.78,-1.3l-0.28,-1.24l0.26,-0.62l-0.51,-1.46l0.2,-0.69l1.24,-1.34l-0.07,-0.47l-0.54,-0.44l0.11,-0.31l0.73,-0.65l2.14,-0.14l0.12,-0.49l-0.59,-0.51l1.79,-1.52l0.45,-1.13l-0.6,-1.78l-1.0,-0.69l0.39,-0.45l-0.39,-0.91l-0.84,-0.28l-0.58,0.38l-1.63,0.02l-0.56,-2.32l0.4,-2.21l-0.29,-1.85l-0.99,-1.32l0.72,-2.42l1.8,0.68l0.65,-1.04l1.15,-0.75l0.19,-1.28l1.65,-0.36l0.34,-0.34l-0.72,-2.03l0.63,-2.49l1.73,0.32l1.19,0.96l2.75,0.08l5.74,-2.21l1.65,0.3l2.47,1.47l4.61,0.11l4.99,-1.25l5.14,-2.33l4.7,0.24l4.18,-0.76l1.3,-0.43l0.93,-0.75l0.49,0.36l0.27,1.06l-1.9,1.93l-2.13,1.89l-2.86,0.78l-1.02,1.32l-0.39,2.74l0.81,2.35l0.01,1.26l-1.03,3.02l-0.16,4.36l-1.75,2.99l-1.84,0.48l-14.35,8.07l-14.53,8.74l-3.06,-0.53l-1.12,-0.87l-1.17,-0.34l-0.76,-1.06l-1.01,-0.56Z\",\\n      \"name\": \"Syria\"\\n    },\\n    \"VN\": {\\n      \"path\": \"M576.93,298.51l-0.51,-1.64l-0.78,-0.54l-2.47,-2.91l1.98,-2.57l2.48,1.12l1.27,1.17l1.55,-0.8l1.17,-1.62l1.09,1.31l0.65,-0.23l0.5,-1.12l1.92,1.68l0.6,0.06l0.44,-0.27l0.57,-1.49l0.49,-0.28l1.54,0.77l1.39,-0.82l1.27,-0.19l0.96,-0.95l0.37,-1.53l2.86,-1.51l1.3,1.08l0.6,0.99l2.08,1.11l2.44,-0.29l0.92,0.86l2.07,-0.36l1.29,0.73l-0.37,0.74l-0.94,0.61l-0.37,1.51l0.14,0.59l0.74,0.75l0.07,2.04l2.56,0.79l0.53,0.89l0.93,0.65l0.72,0.11l0.48,0.65l1.26,0.24l2.14,-0.43l0.58,0.42l-3.39,1.7l-0.6,1.9l-1.14,0.67l-0.66,-0.37l-1.43,0.37l-1.44,-0.38l-0.4,0.33l0.48,2.03l-1.38,1.48l0.04,1.26l-0.31,0.6l-2.5,2.19l-0.82,0.09l-0.73,0.54l-1.27,2.74l-0.21,2.38l-1.13,1.84l-0.08,0.98l2.05,3.67l4.39,4.08l-0.15,1.1l-0.77,0.02l0.12,0.62l1.13,0.7l1.67,2.29l2.79,2.32l0.58,1.32l2.52,1.78l2.47,2.7l1.33,-0.09l1.66,1.84l2.36,3.76l1.82,1.62l0.84,2.77l1.06,2.16l0.03,1.23l1.48,4.85l-0.3,0.38l0.19,4.34l1.14,2.62l-0.02,1.22l-0.47,-0.11l-0.95,0.87l0.34,1.63l-0.52,0.39l0.13,2.81l-0.5,1.52l0.29,0.85l-0.32,0.62l-0.86,0.38l-0.33,1.65l-1.2,0.23l-3.99,2.79l-1.28,0.28l-0.85,1.36l-1.1,0.17l-4.12,2.16l-1.15,-0.64l-0.46,-1.04l-0.71,-0.02l-0.4,1.85l-1.03,-0.97l-0.51,-0.09l-0.91,0.54l-0.19,0.4l0.3,0.33l0.82,0.08l0.14,0.43l-1.8,-0.07l-0.52,0.39l0.22,0.41l2.1,0.89l-0.78,0.82l-0.25,0.82l-3.09,-2.61l-0.52,-0.02l-0.09,0.51l0.35,0.6l2.45,2.47l0.4,0.99l-0.92,0.37l-3.22,-2.94l-0.84,-0.39l-0.48,0.13l0.02,0.49l2.41,3.01l0.28,0.55l-0.16,0.45l-4.87,2.23l-1.49,2.3l-1.45,1.2l-1.48,0.31l0.36,-0.57l-0.07,-0.58l-0.42,-0.3l0.2,-5.8l0.38,-1.4l1.47,-0.88l-0.07,-0.82l-0.63,-0.81l-1.13,-0.38l-0.44,-0.54l-1.28,0.05l-1.11,-1.3l0.48,-0.48l2.26,-0.26l1.53,-1.37l-0.09,-1.32l1.55,0.42l0.51,-0.11l0.48,-0.65l2.3,-0.3l0.84,0.96l0.69,-0.1l1.72,0.63l0.4,-0.5l-0.03,-1.85l-2.26,-1.96l-0.13,-2.15l0.54,-0.17l0.52,-0.66l2.19,0.55l0.8,-0.12l0.28,-1.97l1.77,-0.16l0.63,-0.58l1.29,-0.26l2.0,-1.65l0.57,-0.1l0.87,0.38l0.99,-0.95l0.4,-1.53l-0.59,-3.65l0.97,-3.21l-2.04,-5.21l0.23,-1.67l0.6,-0.64l0.66,-1.54l-0.36,-2.67l1.06,-1.4l0.15,-0.9l-0.78,-1.17l-2.07,-1.68l-0.7,-1.11l1.52,-0.9l0.14,-1.1l-3.61,-2.58l-0.66,-1.29l-1.33,0.28l-0.77,-1.14l-0.47,-2.49l-1.68,-1.97l-2.01,-1.57l-2.31,-2.43l-0.76,-1.89l-0.98,-1.33l-1.09,-0.41l-1.47,-1.51l0.18,-1.98l-3.34,-1.26l-4.49,-3.01l-1.41,-0.59l1.2,-1.11l-0.22,-1.32l1.3,-0.05l2.58,0.51l1.41,-1.22l1.32,-1.98l0.14,-0.79l-0.44,-0.98l-0.67,-0.44l-0.82,0.04l-0.47,-1.14l-1.38,-0.48l1.04,-0.77l0.02,-0.94l-1.79,-1.39l-1.94,-1.01l-1.95,0.68l-1.62,1.22l-3.75,-1.41l-1.74,-2.66l0.78,-2.71l-0.18,-0.78l-1.48,-1.06l-0.68,1.05ZM612.85,302.64l0.02,-0.06l0.03,0.02l-0.05,0.04ZM586.24,386.06l0.57,-0.22l-0.01,1.11l-0.18,-0.47l-0.38,-0.42Z\",\\n      \"name\": \"Vietnam\"\\n    },\\n    \"GE\": {\\n      \"path\": \"M119.33,133.54l1.55,-2.34l0.06,-1.52l-2.13,-6.46l-0.7,-0.85l-2.04,-0.77l-0.55,-0.94l-1.69,-1.2l-2.83,-0.77l-3.29,-2.29l0.5,-0.74l2.93,0.42l1.01,-0.17l3.16,1.41l2.05,0.38l1.79,1.06l3.52,0.26l2.68,-0.31l1.23,0.63l1.39,-0.12l1.41,0.57l0.93,1.03l5.02,2.11l-0.32,1.13l0.82,0.54l1.12,0.07l4.19,-1.65l1.05,0.25l0.55,0.78l0.68,-0.05l0.49,-0.97l1.9,0.63l1.55,1.34l2.19,0.09l0.23,0.11l-0.65,2.11l0.22,0.56l2.45,1.57l1.94,0.42l1.21,0.63l-0.59,0.69l-0.95,0.41l-0.11,1.25l1.02,1.29l2.55,1.75l-0.26,0.81l-0.91,0.61l-1.98,-1.08l-1.24,0.22l-1.58,-0.46l-0.45,-0.31l-0.17,-0.72l-3.31,-1.02l-2.5,1.54l-1.15,0.15l-0.35,0.43l-4.03,-0.02l-3.27,0.74l-2.21,0.14l-0.49,-0.52l-1.43,-0.2l-0.32,-0.87l-3.2,-2.55l-1.35,0.05l-0.97,1.16l-3.92,-0.47l-0.86,0.54l-1.57,-0.52Z\",\\n      \"name\": \"Georgia\"\\n    },\\n    \"IL\": {\\n      \"path\": \"M66.48,219.04l1.37,-2.38l3.17,-9.66l2.15,0.04l0.79,-0.61l0.24,-0.89l0.53,-0.01l1.02,-0.76l0.48,1.35l-0.25,0.5l0.28,1.14l-0.8,1.43l-1.61,0.91l-0.2,1.83l-0.83,-0.82l-1.7,-0.23l-1.12,0.8l-0.83,2.52l0.04,3.07l0.41,0.3l1.09,0.02l-1.48,1.09l-0.64,2.32l0.63,0.44l1.45,-0.12l2.1,-0.83l-0.28,1.47l0.26,0.89l-2.2,5.75l-0.02,2.36l-1.23,4.69l-4.6,-13.31l1.92,-2.46l-0.14,-0.82Z\",\\n      \"name\": \"Israel\"\\n    },\\n    \"IN\": {\\n      \"path\": \"M322.9,278.6l0.38,0.21l5.32,-0.07l1.27,0.8l1.68,0.01l0.94,-0.3l0.53,-0.69l2.75,-0.92l0.43,1.03l1.13,0.35l2.74,-1.35l0.18,-0.55l-0.52,-0.57l-0.04,-0.58l0.56,-1.05l-1.29,-3.03l-1.64,-2.78l-0.04,-1.94l-0.86,-0.61l-2.16,0.04l-1.11,-1.47l-0.14,-1.05l0.41,-1.17l0.1,-2.48l-0.84,-0.83l-2.48,-0.42l-1.61,-0.88l0.35,-2.6l2.65,-2.76l1.84,-3.01l1.72,-1.27l1.22,0.52l0.56,1.44l1.1,0.59l2.99,-1.0l2.67,-0.31l2.47,-0.76l0.79,-1.89l1.73,-2.0l1.14,-2.58l4.28,-2.34l2.48,-4.31l1.09,-3.03l3.16,-1.31l0.98,-1.11l-0.21,-1.77l3.1,-3.58l2.24,-1.23l-0.01,-1.1l-0.66,-0.51l0.54,-2.18l-0.6,-2.16l0.25,-0.62l1.24,-0.97l3.79,-1.56l0.7,-0.74l0.09,-1.02l-0.92,-0.91l-1.85,-0.75l-2.18,-0.23l-0.22,-2.22l-2.33,-0.13l-0.3,-1.78l-1.32,-0.69l-0.82,-0.85l0.89,-1.3l0.26,-1.1l-1.3,-1.79l0.56,-0.69l1.19,-0.57l0.31,-0.72l-0.28,-0.71l-2.31,-0.44l0.48,-0.63l0.03,-0.68l-1.31,-1.12l1.1,-2.01l2.31,-0.86l4.75,0.99l1.75,0.07l1.98,0.85l2.17,0.26l2.44,-1.38l1.0,-0.01l2.0,-0.7l1.22,0.1l0.88,-0.54l0.56,-0.86l1.6,-0.77l0.5,-1.08l5.25,-3.06l0.64,0.29l0.82,-0.26l-0.18,1.74l2.41,5.55l2.69,0.85l2.04,1.59l-0.17,0.52l-1.42,0.96l-0.24,0.93l0.64,4.48l2.39,2.53l-0.22,1.03l0.75,0.99l0.1,3.18l-0.99,0.98l-0.73,0.16l-0.9,-0.75l-0.54,-1.09l-0.42,-0.13l-2.1,0.32l-0.52,0.68l0.83,2.72l1.35,1.61l-0.09,0.54l0.34,0.47l-0.15,1.2l0.72,1.02l-0.45,1.05l0.16,1.56l0.34,0.35l0.83,0.02l1.28,-0.47l0.37,-0.43l1.67,2.36l1.26,1.02l0.84,0.43l1.54,-0.15l2.02,1.45l0.71,0.09l-0.05,1.4l0.35,0.35l3.03,0.96l2.35,1.5l-2.46,1.88l-1.66,1.96l-1.12,2.54l-0.17,1.84l-1.11,1.66l-0.1,1.64l2.76,1.95l0.62,0.12l0.69,-0.39l4.26,2.5l1.1,1.3l4.1,2.53l1.21,-0.31l3.26,1.89l1.59,-0.04l0.61,1.31l4.11,1.18l1.39,-0.72l2.72,0.69l2.05,-0.86l3.61,1.43l0.49,1.96l3.51,1.64l0.5,0.74l1.03,0.2l2.34,-0.71l0.48,1.29l0.77,0.54l1.62,-0.34l2.57,0.56l2.67,1.13l2.21,-0.87l0.46,0.84l1.56,0.62l1.12,-0.47l1.56,0.17l1.58,-0.3l1.31,0.4l0.67,-0.62l0.82,-2.52l-0.4,-1.75l-0.92,-1.53l0.29,-2.13l0.92,-2.77l0.03,-0.85l-0.34,-0.44l2.12,-0.51l1.16,-0.64l1.2,0.53l0.28,0.95l-0.73,2.81l0.22,0.95l0.65,0.67l-0.76,0.6l-0.14,0.72l1.05,1.87l2.18,1.17l1.5,-0.2l1.71,0.47l0.4,0.55l1.23,0.14l2.71,-0.43l0.77,-0.78l0.82,-0.28l1.5,0.71l1.43,0.22l4.09,-0.15l1.16,-0.6l0.6,0.46l1.15,0.04l2.62,-0.46l0.58,-0.34l0.23,-0.55l-0.59,-1.48l0.63,-1.69l-0.97,-1.51l-1.82,0.06l-0.5,-0.33l-0.44,-0.65l0.28,-0.8l2.3,0.24l1.06,-0.64l2.23,-0.13l1.16,-0.49l1.04,-0.73l0.18,-1.47l2.52,-1.5l0.73,-0.75l0.82,-1.63l3.81,-0.83l1.13,-0.65l0.98,-1.24l0.63,-0.2l1.29,-1.3l2.31,-1.27l0.96,1.07l4.73,1.13l1.16,-0.99l0.17,-0.56l3.46,-1.75l1.52,1.58l-1.24,1.01l0.31,1.59l0.61,0.08l1.68,-1.02l0.74,1.78l-1.74,1.79l-0.44,1.09l0.18,0.4l1.05,0.43l1.61,-0.73l1.24,0.74l1.5,0.23l0.76,-0.22l1.42,0.99l0.16,1.89l-2.66,1.8l-0.78,1.08l0.23,1.55l1.41,2.08l-0.95,-0.48l-0.57,-0.88l-0.78,-0.46l-4.19,0.57l-1.17,0.47l-1.14,1.34l-3.26,2.32l-2.65,1.43l-0.51,0.98l-0.11,1.18l0.58,2.4l-0.76,0.85l-0.54,1.73l-1.12,1.36l-0.94,0.54l-0.72,1.21l-0.19,1.18l1.11,1.09l-0.87,2.1l-2.18,3.55l-1.16,3.34l-2.89,-1.02l-1.55,0.22l-0.79,-0.68l-0.86,0.21l-0.16,0.59l0.79,2.67l-0.36,4.18l-0.29,0.55l-0.89,-0.06l-0.42,0.54l0.05,0.78l-0.61,1.6l0.57,3.58l-0.72,0.29l-0.7,1.4l-1.45,-1.11l-0.57,0.22l-0.23,0.52l-0.5,-4.73l-0.99,-2.06l-0.2,-3.04l-0.66,-2.83l-1.11,-0.62l-1.71,0.29l-0.35,0.4l0.05,1.35l-1.33,1.63l0.0,1.78l-0.68,0.4l-0.43,-0.23l-0.76,-1.47l-0.87,0.09l-0.91,-2.82l0.47,-2.4l0.92,-1.22l1.06,0.04l1.44,-0.89l1.27,0.01l0.59,-1.27l1.19,-0.51l1.03,-3.6l1.2,0.25l0.62,-0.44l-0.19,-1.02l-2.02,-1.36l-1.38,-0.52l-12.03,0.09l-4.39,-1.08l0.12,-4.95l-1.2,-2.28l-0.97,-0.04l-0.36,0.44l-0.14,1.2l-0.96,-0.05l-1.22,-0.71l-0.47,-0.63l-0.34,-1.43l-0.48,-0.42l-1.07,0.08l-0.22,0.73l0.2,0.33l-0.52,0.04l-0.76,-0.22l-0.54,-1.04l-0.89,-0.81l-1.01,-0.48l-0.67,0.31l-0.15,0.89l0.69,0.62l-2.11,2.2l-0.56,2.02l0.59,0.77l0.85,0.23l0.71,0.63l1.1,1.34l0.92,0.42l1.12,0.03l0.31,0.89l0.81,0.56l-1.06,0.32l-2.19,-0.15l-0.38,0.27l-0.89,2.16l-0.8,-0.29l-0.59,0.27l-0.98,2.39l1.18,1.58l1.15,0.1l0.7,0.65l2.25,0.79l-0.21,1.8l-0.98,2.86l1.24,1.83l-0.23,0.96l0.19,0.58l1.36,0.51l-0.45,1.06l0.55,3.31l0.94,2.74l-0.12,2.18l-0.58,0.61l0.67,1.68l-0.38,-0.01l-0.68,-0.76l-0.73,1.06l0.28,-2.83l-1.13,-1.2l-0.38,0.3l-0.56,2.28l0.19,1.14l-0.63,0.22l-1.33,-1.07l-0.47,1.03l-0.53,-0.06l-0.19,-0.18l0.97,-3.34l-2.42,-2.28l-0.28,0.45l0.15,0.94l1.34,1.05l-1.35,2.0l-1.85,1.23l-4.35,1.21l-1.97,2.2l-0.18,1.39l0.89,3.07l-1.45,1.96l-0.07,0.76l-1.77,1.04l-0.81,1.11l-0.9,-0.24l-0.28,0.68l0.35,0.38l-0.41,0.19l-4.39,1.43l-0.28,-1.19l-0.79,-0.25l-1.88,1.14l-0.76,1.19l0.01,0.43l0.52,0.37l-3.38,2.95l-0.65,1.3l-4.35,5.15l-3.35,1.73l-3.41,3.56l-4.46,2.54l-1.82,1.41l-0.7,1.18l0.53,1.54l-0.64,1.44l-3.49,1.65l-2.6,-0.26l-1.0,0.23l-0.64,0.82l-0.76,2.21l-1.11,1.39l-0.62,-0.14l-0.45,-0.67l-1.08,-0.23l-2.16,0.81l-0.81,0.71l-1.53,3.09l-0.39,2.01l0.93,4.64l-0.49,2.1l0.99,3.49l-0.57,-0.03l-0.71,0.82l-0.03,0.48l2.01,1.74l-0.82,4.92l-0.62,1.73l-2.16,3.59l-0.79,3.19l0.26,0.98l-0.61,0.79l-0.06,0.48l0.93,0.07l0.18,0.65l-0.07,6.26l-1.97,-0.13l-1.06,0.18l-0.82,0.53l-0.53,0.87l0.03,0.92l-2.37,3.6l-0.11,1.12l0.64,0.82l-4.13,1.22l-1.23,0.94l-0.76,0.97l-0.5,2.85l-0.41,0.79l-2.04,1.38l-1.79,0.76l-1.36,-0.42l-1.69,-1.23l-3.75,-4.35l-1.66,-4.01l0.77,-0.17l0.23,-0.48l-0.84,-2.92l-1.12,-1.22l-0.01,-0.98l-2.05,-4.35l-1.49,-4.39l-1.57,-2.72l-2.42,-2.65l-1.84,-3.76l-1.3,-3.86l-0.75,-4.53l-1.29,-2.91l-0.9,-3.48l-3.22,-4.41l-0.58,-1.89l0.38,-0.67l-0.96,-1.15l0.25,-0.36l-0.34,-0.63l-0.8,-0.21l-1.49,-2.59l-1.02,-3.05l-1.38,-9.0l-1.2,-3.62l-0.89,-4.27l0.97,-2.9l-0.6,-1.33l-0.85,1.12l-0.06,-0.21l-0.03,-1.21l0.96,0.12l0.44,-0.29l-0.22,-0.47l-1.36,-0.6l0.04,-1.22l-0.43,-0.36l-0.4,-1.77l1.68,-6.59l-0.61,-3.55l-0.95,-0.59l-0.4,-1.19l0.62,-0.56l0.12,-0.49l-0.26,-0.13l2.93,-1.55l0.16,-0.51l-0.5,-0.21l-1.93,0.47l-1.69,-0.06l0.22,-0.85l0.82,-1.06l-1.25,-0.23l0.14,-0.86l1.66,-0.45l0.29,-0.38l-0.29,-0.39l-1.7,-0.37l-1.07,0.22l-2.04,-0.16l-0.39,0.32l0.86,0.84l-0.16,0.52l-1.7,1.97l0.13,0.63l0.93,0.36l0.47,0.66l-0.02,0.8l-1.63,2.72l-7.28,3.2l-2.07,-0.01l-1.67,-0.74l-3.29,-2.58l-2.17,-2.59l-4.15,-3.8l-1.53,-2.11l0.29,-0.67l1.05,0.94l0.71,0.17l1.95,-0.92l0.69,0.03l0.69,-0.46l0.75,0.03l1.32,-0.72l1.25,-0.2l2.15,-3.21l0.45,-0.21l0.23,-0.4l-0.21,-0.79l-0.88,-0.15l-0.75,1.0l-1.63,0.03l-3.3,1.46l-3.07,-0.68l-3.05,-1.58l-1.24,-1.01l-1.52,-2.74l2.46,-1.91l0.13,-0.51l-0.49,-0.2l-1.04,0.36l-2.61,1.58l-0.36,-1.42l1.25,-0.53l2.48,-0.1l0.41,-0.39l0.03,-2.19ZM510.38,409.89l0.46,1.53l-0.26,0.91l-0.96,-1.53l0.07,-0.64l0.69,-0.26ZM502.0,376.41l-0.73,-2.04l0.46,-0.43l0.48,-1.76l0.55,-0.06l-0.74,1.46l0.36,0.73l-0.38,2.09ZM502.93,370.91l-0.34,-0.32l0.01,-1.24l0.16,-1.82l0.51,-0.85l0.37,0.44l0.17,2.11l-0.94,0.92l0.06,0.77ZM503.37,365.59l0.26,-2.41l0.75,-0.98l-0.3,1.27l0.32,0.54l-1.03,1.58ZM500.23,384.16l-0.24,-0.02l-0.13,-1.21l0.57,-0.59l0.25,0.86l-0.45,0.96Z\",\\n      \"name\": \"India\"\\n    },\\n    \"AZ\": {\\n      \"path\": \"M146.29,137.61l0.31,-0.42l-0.14,-0.46l-1.19,-0.85l1.66,-1.14l2.69,0.83l0.36,0.77l1.56,0.71l0.87,0.19l1.08,-0.25l2.09,1.1l0.96,-0.25l0.8,-0.8l0.28,-1.52l-2.74,-1.99l-0.84,-1.11l0.05,-0.36l0.72,-0.2l0.89,-1.05l0.62,0.68l1.35,-0.09l2.92,2.63l0.77,1.61l0.58,0.49l3.73,0.81l0.9,-0.29l1.4,-2.1l2.48,-1.29l1.21,-1.93l3.16,3.87l1.28,3.05l1.8,2.12l2.06,1.78l3.01,0.66l1.38,1.34l-2.81,-0.15l-3.0,1.27l-0.6,1.06l-1.13,4.18l0.28,2.16l-0.7,0.7l-0.48,1.73l-0.85,-0.64l-0.9,0.58l-0.89,2.3l0.09,3.19l-1.31,0.29l-1.44,-1.56l-0.89,-0.28l-0.7,-0.92l-1.38,-0.93l1.64,-0.6l0.54,-0.51l-0.11,-1.04l-1.24,-1.09l1.48,-1.09l0.08,-0.54l-2.77,-2.68l-1.81,0.33l-2.3,1.36l-2.2,1.41l-1.46,1.36l-1.09,0.35l-2.04,1.96l-0.32,-1.72l0.88,-0.3l0.06,-0.59l-1.44,-1.33l0.73,-0.52l0.03,-0.84l-1.43,-0.86l-0.97,0.13l-3.58,-2.86l1.32,-0.16l0.78,-1.51l0.01,-0.7l-3.09,-1.91l-0.78,-0.93l0.78,-0.43l-0.1,-0.73l-0.66,-0.19l0.95,-0.7l-0.04,-0.82l-1.37,-1.31l-1.8,-0.5ZM148.08,141.25l-0.07,0.14l0.0,-0.02l0.07,-0.12ZM143.77,150.11l1.2,-0.38l0.53,0.63l0.19,0.87l0.88,0.02l1.49,0.8l2.24,-0.57l-0.06,1.5l1.4,1.03l-0.08,0.63l0.93,1.93l-3.87,-0.93l-2.44,-2.08l-2.4,-3.44Z\",\\n      \"name\": \"Azerbaijan\"\\n    },\\n    \"ID\": {\\n      \"path\": \"M789.33,474.14l1.38,-1.54l0.5,-1.3l-0.0,-0.92l3.92,-1.03l2.44,-1.87l1.87,-0.69l3.25,0.45l4.58,2.3l3.81,0.16l0.65,0.47l-0.17,1.23l1.36,2.55l-1.13,2.76l0.68,4.46l2.0,3.96l0.4,0.23l0.59,-1.18l-0.04,-0.97l0.35,-0.17l0.49,2.77l0.33,0.3l0.81,0.01l0.32,1.91l1.81,1.2l2.12,0.2l1.17,-0.34l2.83,-2.66l1.11,-1.9l1.81,-1.25l0.97,-2.14l3.21,-0.53l1.82,-0.72l0.99,-0.93l-0.34,-1.22l4.78,-2.47l6.06,2.27l1.21,0.95l7.33,3.23l2.8,0.05l0.74,0.46l2.75,0.25l1.04,1.22l1.3,0.02l0.01,27.59l-0.84,2.98l0.84,1.43l0.01,15.75l-2.99,-3.29l-3.59,-3.15l0.9,-1.62l-0.14,-0.51l-0.53,0.08l-1.2,1.2l-3.92,0.65l-1.0,-1.54l-2.46,2.02l0.42,-1.96l0.52,-0.65l0.64,-1.89l-0.34,-0.77l-0.85,-0.46l-1.09,-1.32l1.83,0.12l0.86,-0.28l0.27,-0.48l-2.71,-0.68l-1.41,-1.08l1.45,-0.24l0.25,-0.65l-3.14,-3.8l-1.0,-2.81l0.55,-0.88l-1.13,-0.38l0.86,-0.89l-0.44,-0.28l-1.59,0.29l-0.05,-1.54l-2.46,-1.85l-3.26,-1.75l-0.15,-0.38l-0.61,-0.18l-0.32,0.21l-0.69,-0.41l-3.54,-0.8l-4.86,-2.18l-3.99,-0.66l-1.85,0.06l-3.13,-1.82l-0.43,-0.67l0.08,-0.46l1.09,-0.1l0.36,-0.39l-0.35,-0.4l-1.06,-0.12l-1.47,0.42l-1.05,-0.47l-1.01,0.18l-1.02,-1.07l-1.09,0.17l-1.99,-2.23l0.11,-1.47l1.05,-1.42l-0.28,-0.61l-0.83,-0.02l-0.83,0.78l-0.2,1.78l-0.6,0.13l-0.41,0.49l0.16,0.67l-0.93,1.58l-0.06,1.1l-0.99,1.07l-2.04,0.03l-1.03,-2.27l0.81,-1.34l-0.94,-2.03l-3.11,-2.49l-2.21,-0.48l-0.28,-0.36l1.45,-0.65l3.86,0.73l2.32,-2.25l0.92,-0.29l2.94,0.8l0.71,0.55l0.57,-0.31l0.3,-1.04l1.11,-0.47l0.09,-0.97l-0.4,-0.37l0.57,-1.11l-0.55,-0.38l-1.54,0.64l-3.61,0.19l-1.92,0.42l-3.32,-0.4l-1.43,0.17l-1.92,-1.74l-0.62,-2.99l-0.39,-0.38l-1.41,-0.13l-3.25,-1.1l-1.9,0.36ZM839.2,526.43l1.24,-2.99l1.27,-2.13l1.22,-1.0l2.52,-0.81l1.51,0.07l1.22,1.28l0.14,0.58l-1.4,2.52l-1.81,1.56l-1.64,0.91l-4.26,0.02ZM846.09,526.2l0.98,-0.72l0.56,0.91l-1.54,-0.19ZM825.18,476.4l2.6,0.11l1.48,0.5l2.3,0.09l-3.37,0.37l-3.0,-1.07ZM822.33,469.12l1.47,0.16l0.45,0.26l-0.52,0.3l-1.4,-0.73ZM824.31,469.56l1.05,-0.04l3.09,2.59l-1.2,0.32l-1.42,-0.3l-1.0,-2.39l-0.52,-0.18ZM818.29,471.77l-0.21,-0.04l-0.17,-0.42l0.16,-0.02l0.22,0.48ZM813.05,509.18l0.58,0.0l0.41,-0.43l0.29,-1.17l-0.44,-0.67l1.84,-2.07l0.83,1.72l-0.21,1.93l0.3,1.44l-0.27,0.81l-0.38,0.3l-1.15,-0.18l-1.79,-1.67ZM812.51,512.73l0.68,-0.38l-0.5,-0.69l-0.07,-1.13l2.32,1.74l-1.23,2.35l-0.79,0.47l-0.67,-0.65l0.27,-1.71ZM801.88,507.73l-0.08,-0.13l0.08,-0.65l0.16,0.53l-0.16,0.25ZM791.1,523.43l-0.89,-0.08l-0.19,-0.61l0.31,-1.04l0.85,-1.69l0.66,-0.35l1.27,-1.43l0.18,-0.61l0.39,-0.12l0.2,0.11l-0.55,0.73l0.32,1.17l-0.44,1.23l-1.78,1.74l-0.35,0.94ZM785.68,465.9l-0.54,-0.57l-1.3,-0.15l0.15,-0.41l1.73,-0.18l0.72,0.99l-0.75,0.32ZM787.02,466.29l0.59,0.08l0.14,0.13l-0.57,0.11l-0.15,-0.32ZM787.04,464.3l2.01,0.13l1.67,0.73l0.19,0.68l-0.29,0.25l-0.91,-0.29l-0.96,0.12l-1.72,-1.62ZM789.08,524.99l0.05,-0.05l0.02,0.01l-0.07,0.04ZM786.92,471.18l1.16,-0.36l0.96,0.27l-0.49,2.26l-0.95,-0.47l-0.68,-1.7ZM766.27,488.64l-0.3,-0.69l2.11,-2.36l5.81,-0.26l0.94,0.8l1.35,-0.39l1.07,-0.71l0.68,0.0l3.32,1.4l2.85,0.08l1.28,0.95l0.69,1.82l0.9,0.44l0.47,0.8l-0.29,1.53l-5.37,-2.63l-1.33,-1.11l-2.56,-0.1l-0.53,0.55l0.05,0.41l-3.38,-0.88l-0.29,-0.67l-0.42,-0.11l-1.12,0.34l-1.17,1.21l-0.72,0.09l-0.48,-0.16l-1.4,-1.59l-0.89,-0.41l-0.85,0.41l-0.42,1.23ZM780.17,477.84l3.58,-1.0l0.41,0.54l-0.24,0.82l-1.38,0.56l-2.37,-0.92ZM778.8,522.63l0.94,0.13l-0.18,0.93l-0.79,-0.7l0.03,-0.36ZM763.29,456.66l-0.79,-2.23l0.82,-1.51l0.7,-2.8l2.1,-2.2l-0.75,1.07l-0.18,0.98l0.94,1.15l0.0,2.49l-0.83,1.09l-1.69,1.08l-0.32,0.87ZM763.89,457.48l0.97,0.44l0.99,-0.17l0.68,-1.6l1.34,-0.77l0.14,-1.37l0.36,-0.47l1.41,-0.82l1.5,-0.35l0.03,2.9l-2.85,1.55l-0.49,0.89l0.2,0.84l2.85,1.59l0.21,0.87l-1.41,-0.63l-3.46,-0.6l-0.67,0.3l-0.37,0.77l-0.08,2.61l0.69,2.29l1.8,3.22l-0.66,-0.29l-1.13,-2.05l-1.42,-1.29l0.15,-3.72l-1.16,-1.71l-0.12,-0.79l0.52,-1.65ZM769.72,447.96l-0.89,0.1l-0.34,-1.46l0.71,-1.09l1.54,-0.83l0.41,0.59l-0.43,1.63l-0.48,0.8l-0.53,0.26ZM770.98,517.22l0.07,-0.02l-0.01,0.06l-0.06,-0.04ZM766.39,491.38l0.34,-0.3l0.21,-0.03l-0.29,0.14l-0.26,0.19ZM767.55,490.94l0.67,-0.35l-0.17,0.61l-0.49,-0.27ZM766.43,525.21l0.01,0.0l0.11,-0.0l-0.03,0.03l-0.08,-0.03ZM767.16,475.96l-3.99,0.3l-0.88,-0.4l0.4,-0.99l1.11,-0.75l3.36,1.84ZM761.78,466.79l0.31,0.27l0.62,-0.11l0.26,-0.47l0.61,0.79l-0.45,0.83l0.4,0.98l-0.85,0.24l0.16,-0.66l-1.25,-1.34l0.2,-0.52ZM764.02,469.29l0.79,0.03l0.27,0.36l-0.41,0.22l-0.64,-0.6ZM760.63,469.19l0.05,-0.12l0.05,0.15l-0.09,-0.02ZM760.49,467.14l-0.3,0.09l-0.05,-0.4l0.25,-0.77l0.11,1.08ZM757.75,487.23l1.12,0.53l1.5,1.99l-0.08,0.85l-1.95,0.95l-1.71,0.4l-0.93,-0.35l-2.61,-1.35l-0.99,-1.48l0.06,-1.37l0.81,0.26l2.66,-0.6l2.11,0.14ZM757.21,433.23l0.01,-0.01l-0.0,0.01l-0.01,0.0ZM757.81,431.67l-0.55,-0.64l0.14,-0.88l0.5,1.37l-0.1,0.14ZM750.41,523.01l1.0,-1.32l1.73,0.26l2.79,-0.97l0.69,0.53l-1.13,0.53l-0.7,0.9l-2.53,-0.45l-1.85,0.52ZM747.5,477.65l0.38,-0.04l1.32,0.09l-1.63,0.15l-0.07,-0.2ZM750.49,477.62l1.14,-0.09l0.2,0.02l-0.72,0.12l-0.62,-0.06ZM750.92,479.55l-0.08,-0.27l0.13,-0.24l-0.06,0.52ZM748.22,437.51l0.03,0.04l-0.03,-0.01l0.0,-0.03ZM743.62,476.88l0.82,0.28l0.59,-0.2l0.46,0.47l-1.5,0.42l-1.42,-0.31l-2.24,0.81l-0.5,-0.01l-0.45,-0.75l0.3,-0.99l0.47,-0.16l1.27,-0.06l2.21,0.5ZM745.7,477.42l0.14,-0.02l0.02,0.01l-0.16,0.01ZM704.86,464.54l0.67,-0.32l0.35,-0.64l-0.38,-1.56l0.7,-1.38l0.9,-0.91l0.22,-1.01l1.46,-1.75l0.61,0.71l0.88,0.3l0.92,-0.29l1.28,-1.46l0.85,-1.63l0.55,-0.33l0.65,-0.1l0.97,0.48l1.35,0.12l0.78,1.0l0.7,0.33l2.14,-0.14l4.23,0.52l2.94,1.27l1.84,-0.7l5.9,0.77l3.32,-1.42l1.09,-1.24l1.03,-0.48l0.49,-1.14l1.28,-0.5l1.4,-1.67l0.9,0.27l0.37,0.77l-0.72,0.71l-1.14,2.23l-2.02,1.93l-1.35,1.98l-0.59,0.59l-1.4,0.6l-5.09,0.6l-1.77,-0.16l-1.34,-1.15l-0.84,-0.13l-8.69,0.42l-2.46,-0.46l-3.77,0.42l-3.29,-0.64l-1.86,0.64l-1.29,1.45l-1.42,3.65l0.37,2.87l1.43,2.52l2.03,1.25l0.64,1.6l0.81,1.04l2.66,0.26l1.16,-0.55l1.08,-1.76l1.97,-1.99l1.09,0.7l1.85,0.06l2.35,-1.32l4.52,-0.01l0.37,-0.44l-0.16,-0.5l1.88,-0.43l1.27,0.47l0.28,0.68l-0.26,1.25l-0.33,0.19l-1.76,-1.11l-1.42,0.24l-0.83,0.58l-2.23,2.84l-1.83,1.48l-2.87,1.01l-1.54,1.51l-1.64,-0.44l-0.46,0.1l-0.39,0.56l0.2,0.92l1.67,1.53l1.36,0.61l2.3,3.75l1.54,1.18l0.08,0.97l0.62,0.86l-0.56,0.67l-0.39,2.87l2.47,2.01l0.76,1.42l0.7,0.29l0.61,-0.26l0.18,1.66l-0.74,-0.33l-0.61,0.56l-1.54,0.02l-2.74,0.91l-0.68,0.93l0.08,1.25l-0.69,0.09l-2.23,-0.59l-0.59,-1.03l0.39,-2.11l0.54,-1.02l-0.07,-0.81l-0.6,-0.58l-1.72,-0.75l-3.0,-2.79l1.22,-2.49l-0.1,-3.4l-0.7,-0.76l-0.83,-0.19l-1.98,0.21l-2.36,1.53l-0.78,0.9l-0.02,0.97l1.01,2.13l0.32,2.63l-0.55,2.79l0.43,4.03l-1.05,3.95l1.04,2.72l-3.1,0.14l-1.67,0.86l-1.69,-1.16l-0.56,-0.63l-0.09,-0.63l1.15,-3.15l0.0,-1.13l0.72,-2.42l0.09,-2.92l-1.08,-2.37l0.04,-1.47l-1.22,-0.88l-2.77,0.54l-0.33,-0.25l-0.58,-1.33l0.17,-2.69l-0.53,-1.3l2.28,-1.74l0.6,-2.56l1.14,-1.64l0.2,-0.97l-0.28,-2.97l1.44,-3.6l1.14,-1.35l0.69,1.01l0.45,0.18l0.3,-0.38l-0.89,-5.64ZM736.59,534.43l0.65,0.46l1.5,0.02l1.11,-0.94l0.32,-0.91l2.8,-1.45l0.68,0.57l1.03,-0.38l-0.17,0.55l-0.73,0.03l-0.51,0.53l0.75,2.11l-2.51,2.9l-2.0,1.7l-1.75,0.24l-2.44,1.21l-0.67,0.02l-0.7,-0.31l0.76,-1.13l-0.16,-0.53l-0.73,-0.47l0.54,-1.87l2.23,-2.34ZM739.69,526.62l0.3,-0.38l-0.09,-0.61l0.49,-0.44l0.74,0.46l1.0,-0.28l2.39,0.23l0.02,0.44l-4.84,0.58ZM738.25,526.06l-0.87,1.35l-0.81,-0.7l1.04,0.05l0.63,-0.7ZM731.61,527.45l1.11,-0.79l0.05,-0.48l0.71,0.19l1.02,-0.53l-0.5,0.72l-0.64,0.17l-0.4,0.77l-0.89,0.22l-0.47,-0.27ZM733.01,475.86l0.15,0.17l-0.02,0.09l-0.13,-0.02l0.01,-0.25ZM728.24,475.03l-0.26,-0.63l0.5,-1.4l1.79,-0.17l-2.03,2.2ZM730.66,474.31l0.09,0.01l-0.08,0.05l-0.01,-0.07ZM731.28,474.11l0.47,-0.63l0.45,-0.08l0.46,0.35l-0.47,0.81l-0.91,-0.45ZM728.06,545.35l0.04,-0.38l1.57,-0.49l1.76,-1.46l0.19,0.55l-1.26,1.05l-2.31,0.73ZM729.8,526.35l0.37,-0.31l0.87,0.03l-0.08,0.29l-1.15,-0.01ZM726.57,505.77l-0.28,-0.74l1.35,-2.24l0.65,-4.35l0.9,-1.29l0.76,0.85l0.09,0.81l-1.0,0.33l-0.65,3.17l0.07,0.35l0.84,0.13l0.74,0.68l-0.7,0.43l-0.85,0.03l-0.97,1.82l-0.95,-0.0ZM729.17,494.09l1.2,-0.03l0.04,0.33l-0.68,0.62l-0.57,-0.92ZM705.88,527.5l2.53,-1.18l2.61,-0.3l1.0,0.55l1.9,0.32l3.37,1.63l4.0,-0.89l1.97,1.18l0.65,0.09l1.14,-0.33l0.87,-1.23l2.69,-1.32l-1.25,1.05l0.03,0.87l-2.49,0.92l-0.98,0.08l-1.0,-0.06l-0.77,0.11l-3.09,1.08l-0.63,-0.51l-1.32,-0.05l-0.8,0.74l-0.94,-0.13l-1.11,0.29l-3.54,-1.0l-1.78,0.13l-1.63,-0.31l-1.31,0.48l-0.52,-0.79l0.4,-1.43ZM728.29,525.01l-0.42,-0.09l0.33,0.02l0.09,0.07ZM724.05,503.6l0.27,-1.16l0.54,-0.75l-0.3,-1.92l2.04,-0.94l0.18,1.77l-1.01,1.42l0.03,1.48l-0.38,0.24l-0.79,-0.36l-0.58,0.23ZM720.93,502.15l0.62,0.76l-0.12,1.31l-0.94,-1.15l0.45,-0.92ZM720.23,543.0l0.44,-0.43l0.34,-0.02l-0.55,0.41l-0.23,0.04ZM706.07,534.07l1.84,1.37l0.47,0.99l1.4,0.16l0.62,0.43l1.7,1.8l0.11,0.63l-0.67,0.63l-1.69,0.55l-1.31,-0.32l-1.32,-0.78l-0.92,-1.19l-2.54,-1.52l-3.9,-0.54l-0.69,-0.98l1.35,-0.7l3.1,-0.23l1.3,0.2l1.15,-0.51ZM702.37,528.21l0.22,-0.47l0.21,0.05l-0.06,0.15l-0.36,0.27ZM693.04,526.41l0.72,0.45l1.53,-0.65l0.67,0.05l0.64,0.92l0.65,-0.13l0.38,-0.6l0.71,-0.04l1.18,2.42l-1.95,-0.07l-0.56,0.18l-0.25,0.54l-1.8,0.36l-0.09,-0.98l-0.75,-0.28l-1.32,1.18l-2.33,0.64l-1.08,-0.05l-1.64,0.65l-2.17,0.19l-1.07,0.47l-1.71,-0.58l0.33,-2.98l2.29,-1.13l1.29,0.44l1.51,-0.01l1.57,1.98l1.43,0.27l2.25,-0.78l0.15,-0.9l-1.07,-0.93l-0.98,-0.17l-1.11,-0.8l-0.4,-0.87l0.92,-0.34l1.29,0.22l0.79,1.34ZM624.73,453.92l0.32,-1.2l1.4,-1.48l0.79,-1.6l0.57,-0.24l0.23,0.98l0.47,0.31l0.21,1.21l0.61,0.69l4.36,3.97l1.76,1.11l4.44,-1.41l2.81,0.41l2.57,-0.14l0.92,-0.77l1.34,-0.42l0.81,-2.15l1.88,-0.75l3.35,-0.06l0.1,0.67l0.44,0.33l4.78,1.45l2.12,-1.48l3.43,-0.44l1.13,0.3l1.1,-1.45l0.44,-1.58l0.82,-0.52l0.22,-0.91l-0.41,-1.57l2.94,-2.09l-0.01,-0.9l-0.63,-0.47l0.22,-1.45l0.71,-0.74l1.04,0.04l0.82,-0.43l0.87,-3.2l0.01,-3.59l0.74,-1.77l1.17,-1.05l0.92,0.4l1.13,-0.45l1.83,0.33l0.96,-0.41l4.28,0.22l1.22,0.26l1.37,0.81l-0.09,0.78l2.13,2.46l-0.52,0.13l-0.74,-0.59l-0.66,0.21l-0.19,0.44l-2.01,-0.06l-0.87,0.12l-0.34,0.39l2.26,1.73l-0.23,0.93l0.24,0.77l1.88,0.96l-0.32,0.83l0.66,0.44l0.04,0.65l0.97,0.48l0.77,1.52l1.29,1.56l-0.09,0.39l-1.72,1.31l-0.07,0.72l2.13,2.4l4.18,2.87l2.38,2.1l-1.34,0.78l-1.57,0.18l-2.4,-0.43l-1.29,-1.21l-0.78,-0.45l-0.48,0.07l0.3,1.69l-1.62,1.18l-1.71,3.82l-0.45,4.24l0.8,3.1l-2.33,1.11l-2.24,2.13l-0.51,-0.17l-0.74,-1.17l-0.38,0.3l0.13,2.03l-1.38,0.97l-0.34,0.98l-1.85,1.46l0.38,0.6l0.71,-0.03l0.17,0.7l-0.16,0.71l-0.71,0.57l0.12,0.69l1.44,0.48l0.05,1.1l-0.1,0.51l-0.99,-0.02l-0.65,0.55l-0.07,0.39l0.49,0.41l-0.28,1.72l-0.35,0.31l-0.29,-0.21l-0.62,0.23l-0.07,0.63l0.5,0.77l-1.21,1.63l-0.68,1.71l-9.18,4.19l-0.25,-3.08l-0.6,-2.47l-0.29,-0.35l-0.87,0.73l-0.51,-0.29l0.29,-0.99l-0.2,-0.48l-0.51,0.12l-0.63,0.76l-0.92,-0.59l-1.23,0.91l-1.59,0.4l-0.66,-1.92l-0.54,-0.16l-1.55,0.4l-2.09,-2.12l-0.67,0.19l-0.43,1.75l-1.45,0.92l-1.04,0.52l-2.45,-0.55l-1.19,0.45l-1.71,1.25l-0.04,-3.42l-1.1,-1.47l-0.52,0.04l-0.45,0.52l-1.8,-0.3l-3.15,1.01l-0.34,-0.21l0.41,-0.79l-0.48,-0.19l-1.4,0.72l-0.99,-0.86l-2.02,0.63l-1.1,-7.06l-0.99,-1.09l0.56,-2.28l-0.43,-2.1l-0.89,-1.4l-1.51,-1.24l-2.88,-0.7l-0.03,-0.39l0.77,-0.78l-1.83,-1.67l-0.05,-1.14l0.99,-2.44l-2.34,-2.49l-0.27,-3.07l0.36,-2.36l1.15,-0.76l0.16,-0.42l-0.77,-0.31ZM689.33,432.89l1.07,-0.1l0.09,0.26l-0.8,0.22l-0.36,-0.38ZM688.52,438.39l0.19,-0.01l-0.04,0.25l-0.08,-0.07l-0.06,-0.17ZM688.18,525.84l-0.09,-0.44l0.43,-0.1l-0.34,0.54ZM676.77,529.94l0.76,-0.55l-0.1,-2.16l1.02,-0.92l1.12,-0.58l2.02,0.78l-1.52,3.24l0.09,0.45l-0.76,0.16l-2.62,-0.43ZM677.43,493.41l0.1,-1.05l-0.41,-1.51l0.63,-1.84l0.39,-0.25l0.37,3.12l-0.14,0.7l-0.94,0.84ZM665.5,525.06l3.09,0.52l1.84,-0.9l2.51,0.99l0.95,1.06l-2.63,1.44l-0.74,1.27l-0.04,-0.59l-0.76,-1.07l-1.72,-1.15l-1.67,-0.38l-0.83,-1.18ZM671.74,515.64l-0.41,0.09l-0.2,-0.1l0.96,-0.2l-0.35,0.21ZM596.42,514.63l0.11,-0.17l0.13,-0.12l0.08,0.21l-0.32,0.08ZM598.18,514.76l1.14,-1.95l1.0,-0.35l0.73,-2.71l1.15,-1.24l5.69,1.33l1.0,-0.27l0.85,-1.03l1.75,0.39l0.99,1.02l1.54,0.76l3.59,0.62l1.25,-0.16l1.32,1.32l0.6,1.81l0.87,0.74l4.61,0.57l1.64,-0.38l2.33,0.65l2.82,-0.05l1.94,0.34l1.32,-1.19l1.09,-2.43l1.31,-0.19l1.72,1.9l1.29,0.09l1.34,-0.38l1.51,0.93l1.77,0.23l0.81,0.67l3.18,0.2l0.76,2.06l1.03,0.6l0.02,1.75l1.86,1.11l1.83,0.48l1.96,0.06l4.21,-0.69l2.22,0.99l0.26,1.37l-0.42,3.1l0.54,1.37l0.91,0.84l-1.69,-1.01l-2.59,-0.38l-5.27,-2.14l-4.31,0.92l-4.16,-0.64l-4.53,-0.14l-6.69,-1.16l-4.26,-1.95l-5.75,-1.42l-4.09,-0.29l-1.47,0.35l-0.85,0.62l-3.75,-0.53l-2.7,-1.34l-2.03,-0.56l-6.08,-0.73l-0.14,-0.52l0.74,-1.34l-0.22,-0.54l-4.35,-1.48l-3.17,-0.03ZM654.92,517.5l-2.42,-0.71l0.79,-0.92l1.33,-0.13l6.62,-0.05l0.29,0.26l-0.93,0.28l-0.47,0.51l-1.37,0.03l-1.21,0.72l-2.63,0.02ZM651.59,507.15l0.02,-0.02l-0.0,0.02l-0.01,-0.0ZM629.22,472.23l-1.34,0.69l-0.13,-0.04l0.21,-1.38l1.22,0.14l0.23,0.38l-0.19,0.23ZM618.17,435.89l0.02,-0.02l0.08,-0.01l-0.1,0.03ZM618.38,435.83l0.47,-0.55l-0.28,-0.49l-1.07,-0.29l-0.43,-0.7l1.13,-1.07l1.0,1.28l0.01,0.85l-0.47,0.88l-0.36,0.1ZM613.87,485.59l0.62,-2.31l0.83,-0.17l1.71,0.45l0.91,0.65l0.42,0.73l-0.67,1.89l-0.81,0.66l-1.12,-1.0l-1.46,0.78l-0.43,-1.68ZM601.61,476.32l0.87,1.51l0.39,2.48l1.18,2.07l2.78,0.8l-0.96,2.1l0.31,1.02l-2.53,-1.29l-1.77,-0.49l-0.5,-1.02l0.14,-1.35l-0.58,-0.6l-0.68,-1.84l-1.77,-0.78l-1.76,0.29l-1.15,-0.49l1.64,-1.12l0.11,-1.3l0.47,-0.44l0.59,-0.22l0.69,1.26l0.66,0.02l0.4,-0.54l-0.09,-0.9l0.29,-0.08l0.93,0.17l0.35,0.75ZM530.39,424.92l2.72,-0.33l2.48,0.49l2.53,-0.04l2.62,2.37l0.68,1.61l1.82,1.83l-0.03,1.66l0.5,0.76l2.69,1.32l0.98,1.31l2.78,1.33l4.3,2.95l5.9,7.42l1.3,0.61l1.52,1.27l0.6,-0.39l-0.48,-1.94l0.42,-0.2l0.65,0.22l1.77,1.7l0.75,1.83l0.64,0.64l2.38,0.59l1.69,1.29l0.93,1.25l0.63,2.04l1.23,1.23l0.72,0.54l3.47,0.81l0.66,0.9l-0.25,0.33l-3.29,1.42l-0.26,0.47l0.44,0.31l2.65,-0.48l3.25,-1.74l0.79,0.19l1.35,1.33l0.7,1.44l-2.59,1.79l-0.16,1.25l0.67,0.82l-0.37,0.32l-0.08,0.69l0.83,1.57l1.47,1.03l2.67,1.06l2.12,0.17l1.02,5.6l0.54,0.93l1.88,1.11l-0.1,0.7l-1.34,1.48l0.01,1.56l0.96,0.2l1.38,-1.36l0.89,-0.36l2.6,0.15l1.24,0.75l3.36,4.47l0.08,0.58l-1.14,1.39l-0.45,1.58l0.05,1.0l0.58,0.85l-0.73,2.28l0.4,3.06l0.0,3.37l-0.52,4.94l-0.35,0.75l-0.52,-0.09l-0.7,-0.92l-1.3,-0.93l-0.74,0.12l-1.53,1.25l-3.08,-1.61l-0.57,0.22l-0.16,0.5l0.41,2.14l-3.87,-3.78l-1.82,-2.35l-6.85,-4.58l-2.81,-2.35l-3.04,-4.11l-4.1,-3.23l-1.59,-2.69l-1.88,-1.68l-1.65,-2.44l-0.27,-2.38l-2.75,-4.74l-1.36,-3.58l-3.35,-3.83l-1.51,-2.78l-2.58,-1.27l-1.15,-0.94l-2.67,-8.45l-1.56,-2.88l-3.96,-2.61l-2.73,-1.1l-0.8,-3.58l-1.59,-1.11l-3.15,-4.48l-1.34,-1.07l-2.6,-0.77l-1.59,-1.89l-5.47,-5.13l-2.06,-3.75l0.28,-0.92l-0.16,-0.88l0.93,-0.33l2.34,0.34l2.94,2.12l2.82,0.53ZM599.87,441.75l-0.0,-0.09l-0.01,-0.06l0.07,0.03l-0.06,0.12ZM590.63,465.03l0.37,-0.91l0.85,0.78l-0.91,0.24l-0.31,-0.11ZM593.0,465.4l0.03,-0.01l0.04,0.04l-0.06,-0.03ZM588.93,455.69l0.63,-0.44l1.15,-0.05l0.48,0.5l-0.01,0.7l-0.48,0.59l-0.37,-1.29l-0.46,-0.23l-0.95,0.22ZM589.16,467.04l1.01,-0.3l0.43,0.45l-0.4,0.65l-0.62,-0.01l-0.43,-0.79ZM586.69,455.6l0.28,-0.16l0.2,0.1l-0.19,0.32l-0.3,-0.26ZM583.2,466.09l0.26,-0.26l0.73,0.22l-0.47,0.13l-0.51,-0.09ZM580.69,459.3l0.04,-0.25l0.07,-0.11l0.18,0.35l-0.29,0.01ZM577.43,455.57l0.12,-0.16l1.43,0.67l0.68,0.71l-1.09,-0.85l-1.14,-0.36ZM575.86,455.84l3.0,1.71l0.05,0.24l-3.31,-0.81l0.26,-1.13ZM572.44,452.08l1.35,0.36l-0.78,-0.08l-0.57,-0.28ZM573.94,452.48l0.99,0.27l0.07,0.32l-0.4,-0.32l-0.66,-0.27ZM573.82,453.77l0.81,0.9l-0.12,1.3l-0.51,-0.94l-0.18,-1.26ZM573.27,503.85l0.97,0.44l-0.04,0.13l-0.23,0.01l-0.7,-0.58ZM569.22,448.44l0.36,0.65l-0.35,0.99l-0.59,0.37l-0.51,-0.09l-0.49,-0.96l0.03,-0.67l1.55,-0.3ZM558.51,485.09l1.28,1.34l-0.14,0.64l-1.01,-1.14l-0.13,-0.84ZM556.91,483.15l0.93,0.83l-0.3,0.47l-0.45,-0.01l-0.18,-1.3ZM553.83,479.28l0.22,0.16l0.51,1.03l-0.84,-0.6l0.11,-0.59ZM550.38,476.64l-0.51,0.03l-1.55,-1.07l-1.64,-2.92l0.45,-1.36l1.25,-0.2l1.51,3.63l0.96,1.31l0.02,0.4l-0.48,0.18ZM544.85,467.45l-0.26,0.08l0.72,-1.91l-0.06,0.84l-0.4,0.99ZM537.07,452.74l3.73,3.74l-0.54,2.57l-0.49,-0.11l-0.75,-1.78l-1.43,-0.9l-0.76,-1.62l-1.06,-1.18l0.55,-0.07l0.75,-0.64ZM529.81,445.7l-2.67,-1.77l-1.57,-0.47l-0.46,-0.71l0.65,-0.33l3.82,2.73l0.22,0.54Z\",\\n      \"name\": \"Indonesia\"\\n    },\\n    \"OM\": {\\n      \"path\": \"M223.78,281.06l3.38,-0.67l0.29,-0.3l-0.45,-1.47l-1.1,-0.27l0.26,-4.83l0.69,-0.3l-0.25,0.67l1.14,1.14l2.12,-1.71l1.76,3.66l2.12,2.65l1.62,1.38l3.75,1.45l3.82,0.7l1.61,0.75l1.8,-0.16l1.27,0.87l1.96,3.07l2.97,3.68l1.01,0.78l1.88,0.47l-0.19,1.8l-3.17,5.6l-2.23,1.61l-1.3,1.38l-3.11,5.43l-1.27,0.02l0.2,-1.11l-0.45,-0.45l-0.63,0.09l-0.72,0.31l-1.78,2.51l-1.2,4.67l0.69,4.92l-4.45,0.72l-2.69,1.19l-1.36,1.35l-0.86,3.35l-1.11,1.22l-5.59,0.74l-1.26,0.47l-1.68,1.99l-0.21,0.8l0.41,1.01l-1.54,2.31l-1.94,0.51l-1.56,-0.49l-3.77,0.2l-3.53,1.9l-3.58,0.74l-1.98,-4.43l-0.59,-0.39l-5.4,-12.58l22.31,-7.89l4.97,-15.7l-3.38,-5.75l0.09,-2.41l2.31,-5.46l0.18,-0.91l-0.28,-0.81ZM247.35,309.88l0.0,-0.41l0.54,-0.61l-0.3,0.79l-0.24,0.24ZM248.53,308.01l0.2,-0.4l0.07,0.18l-0.27,0.22ZM228.41,263.74l0.31,-0.57l0.82,-0.1l0.38,-0.43l-0.33,3.33l-0.56,1.17l-0.36,-0.22l0.15,-2.76l-0.42,-0.43Z\",\\n      \"name\": \"Oman\"\\n    },\\n    \"KG\": {\\n      \"path\": \"M333.84,133.42l1.81,-1.22l1.29,-1.33l1.2,-0.39l0.51,-0.99l2.75,-1.2l0.24,-0.51l-0.33,-0.57l-1.37,-0.73l-0.83,-0.02l0.93,-1.66l1.6,-1.66l3.59,-0.75l3.76,0.58l3.43,1.04l0.93,0.74l3.01,0.46l1.0,0.76l0.75,0.15l0.44,-0.52l-0.5,-1.57l0.95,-3.48l2.24,-1.01l0.53,-0.54l1.34,-0.0l0.6,-0.3l4.25,2.23l4.21,1.31l2.21,0.17l1.38,-1.08l5.05,0.16l3.55,-0.49l1.82,0.55l5.94,0.5l3.66,-0.07l2.7,0.81l1.83,0.02l0.38,0.88l1.76,1.69l3.68,0.64l1.99,1.86l0.2,0.82l-2.73,0.34l-0.69,0.92l-3.46,1.02l-4.15,2.01l-2.87,1.7l-0.29,0.97l-1.48,1.63l-2.25,0.18l-1.64,0.53l-4.35,-0.4l-0.86,0.18l-0.77,0.51l-1.24,1.84l-0.61,1.77l-1.46,1.67l-0.76,-0.52l-2.82,1.09l-1.14,-0.02l-0.54,-2.38l-0.56,-0.45l-3.42,1.52l-1.94,-0.32l-0.64,0.57l0.07,0.85l-0.9,0.24l-1.97,1.51l-3.29,0.96l-1.18,2.16l0.52,1.92l-0.49,0.68l-2.52,0.22l-2.64,0.86l-4.11,-0.13l-1.78,0.47l-0.72,0.87l-1.36,-1.13l-1.83,0.66l-0.31,-1.25l-1.47,-0.33l-0.05,-0.87l-0.65,-0.43l-3.16,1.0l-0.52,0.7l-1.26,0.12l-1.35,-1.46l-0.85,-0.22l-1.88,0.33l-0.56,-0.29l-1.73,0.26l-2.68,-0.18l-1.89,0.39l-0.45,-1.69l0.33,-1.19l1.21,0.22l0.53,-1.61l3.03,-0.86l0.66,0.22l2.71,1.05l0.49,0.78l-0.25,0.76l0.56,0.68l0.65,0.16l0.89,-0.38l0.19,-0.59l-0.27,-0.32l-1.06,-0.21l0.68,-0.5l0.21,-0.75l1.71,-0.69l0.01,0.93l0.46,0.52l-0.18,0.53l0.29,0.52l1.63,0.02l0.33,-0.32l-0.17,-0.81l0.26,-0.43l-0.29,-0.61l-0.9,-0.2l-0.78,-0.86l2.17,-0.26l1.43,0.63l0.91,0.01l0.78,0.5l1.93,-0.92l1.38,-1.61l1.76,0.26l0.46,-0.69l-0.19,-0.66l1.48,0.32l1.4,-1.17l2.73,-1.47l-0.24,-0.8l-3.56,-0.38l-2.13,-1.51l-1.14,0.14l-0.4,-1.32l-1.91,-0.17l-0.64,-1.78l-0.65,-0.42l-0.48,-0.9l-0.93,0.42l-0.15,1.53l-0.73,-0.17l-0.58,0.33l-0.07,1.45l-1.73,-0.13l-1.82,-0.62l-0.41,-0.24l-0.38,-1.21l-0.54,-0.58l-1.68,0.27l-1.78,-0.81ZM345.71,147.85l0.12,-0.51l-0.43,-0.47l-1.23,0.66l0.09,0.46l0.8,0.44l0.65,-0.58Z\",\\n      \"name\": \"Kyrgyzstan\"\\n    },\\n    \"UZ\": {\\n      \"path\": \"M235.01,135.19l-0.38,0.4l-7.22,-0.5l-0.01,-32.71l18.68,-5.07l-1.24,2.18l-1.29,3.39l0.43,2.39l-0.39,1.23l0.7,1.14l0.78,0.02l1.18,-0.62l1.48,-2.22l0.55,-0.33l-0.18,-1.56l0.55,-1.23l-0.28,-0.48l-0.7,0.18l0.81,-1.1l-0.46,-0.93l-0.05,-1.12l4.44,2.62l-1.62,3.88l0.88,1.36l2.38,2.12l-0.8,1.35l0.51,0.69l2.08,-0.32l1.06,-0.65l0.04,-0.74l0.85,-0.92l-0.25,-2.44l0.36,-1.11l6.56,3.85l1.11,2.04l6.47,6.3l9.14,-1.24l9.21,0.7l3.4,-1.45l2.55,2.56l1.67,0.98l2.24,3.85l0.51,0.16l1.6,-0.74l-0.63,8.25l0.39,0.41l3.32,0.08l1.24,6.2l0.32,0.86l0.57,0.44l8.82,-0.28l1.03,1.2l-0.43,1.73l0.59,0.83l2.42,1.29l1.4,-0.01l0.52,-0.77l-0.32,-0.99l0.15,-0.68l1.09,-1.4l1.89,-1.48l0.64,-1.48l2.02,-0.94l2.24,-1.63l3.29,-1.36l2.33,-2.27l1.37,0.3l1.01,-1.21l2.11,-0.91l0.93,0.49l-2.53,1.07l-0.44,0.94l-1.23,0.44l-1.34,1.36l-2.01,1.35l-0.2,0.57l0.26,0.52l2.11,0.99l1.62,-0.31l0.55,1.44l0.77,0.57l2.02,0.69l2.03,0.24l0.65,-0.47l0.06,-1.22l1.11,-0.24l0.4,-1.1l0.62,0.37l0.89,2.05l1.85,0.11l0.32,1.36l1.44,-0.1l2.12,1.51l2.97,0.22l-2.11,1.0l-1.2,1.07l-1.66,-0.38l-0.4,0.63l0.2,0.8l-0.82,-0.42l-0.88,0.16l-1.5,1.67l-1.55,0.74l-0.4,-0.41l-0.89,0.03l-1.76,-0.69l-4.82,0.75l-0.78,-1.06l-0.95,-0.31l2.37,-2.04l0.47,-0.8l-0.25,-0.53l-0.5,-0.2l-0.31,-0.85l0.28,-0.59l-0.77,-0.87l-0.64,0.33l-0.71,-0.45l-0.47,0.06l-0.75,1.28l-4.15,1.99l-2.01,-1.2l-0.79,0.29l-0.44,0.45l-0.08,0.91l-0.78,0.89l0.66,1.91l-0.54,0.61l0.12,0.23l-1.83,-0.23l-2.24,0.35l-0.48,0.4l0.13,0.72l1.32,0.17l-0.28,0.55l0.25,0.62l-0.42,0.55l-0.95,0.33l-0.38,1.71l-0.49,0.52l-0.55,0.2l-5.24,-0.78l-1.43,0.63l-0.99,0.99l-0.57,1.96l0.25,0.69l2.09,0.69l0.1,0.82l0.46,0.48l2.06,0.03l0.94,0.36l-0.68,2.1l0.3,1.76l1.99,2.53l-0.76,1.55l-2.87,3.49l-0.41,0.88l-0.12,2.0l-1.76,-0.47l-1.47,0.47l-0.7,-0.17l-1.07,-0.89l-1.91,-0.32l-1.89,0.16l0.06,-3.23l0.78,-1.43l-0.54,-0.95l-1.52,-0.43l-3.17,-1.69l-0.85,-0.21l-1.77,0.28l-7.35,-4.47l-2.31,-1.91l-1.29,0.09l-2.83,-1.72l-1.93,-1.9l-7.31,-4.97l-0.51,-0.65l-0.49,-2.55l-0.61,-1.3l-0.87,-0.74l-0.64,-1.16l-1.1,-3.16l-1.28,-1.31l-2.48,-1.06l-1.9,0.77l-2.81,-0.53l-2.94,0.25l-2.59,-1.5l0.47,-1.53l-0.46,-1.25l0.64,-0.07l0.29,-0.56l-0.78,-1.1l-1.03,-0.46l0.27,-2.1l-1.15,-0.98l-3.9,-0.33l-1.34,-1.62l-2.16,-0.49l-2.12,-1.93l-0.62,0.13l-0.54,0.81l-1.74,-0.18l-0.89,0.6l-0.12,0.44l1.2,1.15l-1.99,-0.33l-0.69,0.68l-0.89,1.97l-1.02,0.19l-0.54,-0.82l-1.18,-0.67l-1.43,0.42l-1.4,3.21l-0.97,1.06l0.41,3.65l0.6,0.81ZM339.66,146.55l0.91,0.56l0.05,0.74l-0.49,-0.01l0.12,-0.53l-0.59,-0.76Z\",\\n      \"name\": \"Uzbekistan\"\\n    },\\n    \"MM\": {\\n      \"path\": \"M501.87,308.34l-2.26,-2.73l-1.05,-3.71l0.63,-0.77l1.51,1.13l0.9,0.03l0.33,-0.59l-0.38,-5.03l0.64,-0.95l0.86,0.88l1.08,0.06l0.8,-1.56l0.88,-0.54l0.09,-1.09l-0.62,-2.76l0.58,-1.39l-0.03,-0.73l0.87,-0.01l0.58,-0.69l0.33,-2.1l0.18,-2.73l-0.73,-2.47l0.78,0.52l1.48,-0.24l3.04,1.06l0.73,-0.28l1.24,-3.53l2.17,-3.53l0.94,-2.27l-0.28,-1.07l-0.85,-0.49l0.17,-0.6l0.54,-0.94l0.93,-0.53l1.22,-1.47l0.58,-1.77l0.83,-0.97l-0.54,-2.69l0.49,-1.72l2.44,-1.24l3.25,-2.3l1.21,-1.39l0.86,-0.31l3.81,-0.56l1.57,1.55l1.42,0.2l0.31,-0.38l-0.06,-0.62l-1.47,-2.17l-0.16,-0.97l0.5,-0.65l2.83,-1.98l-0.02,-2.36l1.48,-2.18l0.46,0.06l0.7,1.04l1.0,0.12l1.42,1.56l1.51,4.79l0.65,0.32l0.41,-0.14l0.5,-0.79l1.08,0.52l0.63,6.78l-0.41,4.04l-0.56,0.28l-0.34,0.65l0.68,1.61l-1.38,0.54l-0.91,1.5l-0.85,-0.14l-0.57,0.27l-1.0,2.23l-1.52,0.44l-0.83,1.9l0.14,1.26l-1.1,0.7l-0.4,1.14l-0.01,1.25l1.02,1.05l0.29,1.08l-0.09,0.56l-0.85,1.05l-0.12,0.85l0.97,0.6l2.95,-1.43l1.39,-0.34l2.03,-0.04l0.79,0.35l0.91,-0.25l-0.5,0.55l-0.18,1.14l1.11,1.71l-0.19,1.0l0.59,1.0l-0.14,1.34l0.27,0.45l3.62,0.77l0.88,0.49l-0.78,1.01l-0.41,1.19l-0.02,1.49l-1.22,2.41l0.2,0.88l5.52,0.9l0.07,1.97l0.5,0.62l0.65,0.23l0.22,1.16l0.92,0.49l1.14,-0.27l1.21,0.31l0.84,-0.13l1.79,-1.47l1.57,-0.69l0.12,0.86l-0.39,0.69l-2.43,1.24l-0.4,0.48l-0.39,1.03l-0.95,1.18l0.11,1.06l-1.42,0.17l-0.71,0.59l-0.99,2.9l-1.37,-0.61l-1.41,0.77l-2.17,-0.17l-0.16,0.52l0.31,1.19l-0.81,0.38l-1.0,-0.28l-1.17,0.21l-0.5,0.57l-0.59,1.91l-3.95,0.64l-0.85,-0.01l-1.03,-0.56l-0.98,0.16l-0.33,0.86l-1.35,1.68l-0.11,2.5l-0.72,1.6l0.34,2.47l-1.49,0.55l-0.93,-0.17l-0.39,0.51l0.69,1.42l0.55,0.49l0.63,0.07l0.73,1.76l0.01,2.02l5.42,6.28l0.27,1.82l1.46,3.22l0.73,0.21l0.84,-0.59l-0.39,0.92l-1.82,1.25l-0.22,5.02l-0.66,0.03l-2.01,1.22l-0.22,0.78l0.18,1.31l0.4,1.41l2.42,3.46l2.76,2.42l1.43,2.38l0.28,3.46l-0.48,0.95l0.1,0.8l0.73,2.25l1.35,1.44l0.46,2.72l1.12,3.05l-0.96,1.03l-2.14,3.82l-3.26,3.39l0.03,1.89l-0.44,1.56l-0.67,0.72l0.06,-1.69l-0.4,-2.26l1.49,-2.26l0.57,-2.2l-0.01,-2.49l0.82,-0.74l-0.02,-0.69l-0.92,-0.45l-0.71,0.36l0.44,-1.37l0.03,-1.9l-0.53,-0.52l0.37,-0.74l-0.31,-0.53l0.25,-1.66l-0.66,-3.84l-1.23,-2.64l-1.24,-1.8l-0.14,-1.67l-0.29,-0.35l-0.7,0.2l-0.05,0.34l0.04,-1.87l-0.73,-1.27l-0.52,-1.99l0.6,-0.05l0.02,-0.49l-1.47,-1.44l-0.76,-7.75l-0.91,-1.16l0.39,-1.7l-0.05,-1.47l0.64,-1.12l-0.47,-0.2l-2.21,0.33l-1.14,-2.55l-0.24,-1.78l-1.72,-1.71l-0.89,-0.65l-0.49,0.01l-0.12,0.47l0.32,0.63l-0.34,0.87l0.38,1.18l-0.96,2.24l-0.99,1.04l-1.18,0.38l-0.79,-0.51l-0.41,-1.44l-0.79,-0.04l-0.23,0.5l0.87,2.31l-1.72,0.47l-0.36,0.71l-1.73,0.6l-0.85,1.65l-1.91,1.73l-0.12,-0.68l0.43,-0.98l-0.13,-0.86l-0.39,-0.34l-1.43,2.06l-1.33,0.03l-0.25,-2.39l-0.34,-0.35l-0.43,0.25l-0.35,1.13l-0.66,0.53l0.47,-3.19l-0.13,-0.93l-0.38,-0.31l-0.4,0.29l-0.28,1.27l-1.6,1.76l-0.96,0.53l0.36,-3.3l0.61,-0.99l0.91,-3.82l0.66,-1.3l0.21,-2.27l-0.71,-2.01l-0.47,-2.85l-1.68,-3.76l0.29,-0.25l-0.15,-0.42l-1.16,-0.97l-0.18,-2.93l-0.62,-0.3l0.17,-1.18l-1.22,-0.77l-0.64,-1.12l-0.81,-0.55l0.51,-0.72l-0.32,-0.65l-0.8,0.02l-1.26,-0.97l-1.31,-0.28l-0.87,0.25l-0.16,0.86l-0.41,-0.72l0.51,-0.56l-0.36,-0.73l0.26,-0.99l-0.35,-0.61l-0.66,0.19l-0.12,0.44l-0.32,0.57l-0.2,-1.16l-1.2,-1.37l-0.61,0.47l0.15,0.71ZM511.54,317.64l-0.59,1.02l0.13,1.32l-1.21,-0.74l-1.27,-2.11l0.87,0.82l0.88,0.31l1.18,-0.61ZM503.54,309.93l-0.24,0.32l-0.03,-0.02l0.15,-0.21l0.13,-0.09ZM545.29,376.32l-0.21,-0.96l0.34,-0.03l-0.06,1.01l-0.07,-0.02ZM544.52,369.1l0.3,0.29l-0.24,0.63l0.04,-0.45l-0.1,-0.47ZM538.23,340.2l-0.05,-0.68l0.11,-0.08l0.04,0.12l-0.1,0.65ZM509.61,315.91l1.12,0.49l0.2,0.28l-0.64,0.23l-0.68,-1.0ZM509.32,321.7l-0.47,-0.39l-0.2,-0.27l0.82,0.06l-0.15,0.6Z\",\\n      \"name\": \"Myanmar\"\\n    },\\n    \"SG\": {\\n      \"path\": \"M585.95,453.53l-0.64,0.28l-0.67,-0.24l0.65,-0.28l0.66,0.24Z\",\\n      \"name\": \"Singapore\"\\n    },\\n    \"KH\": {\\n      \"path\": \"M574.51,361.92l1.66,-0.41l0.12,-0.61l3.37,-4.31l3.71,-1.2l3.21,0.46l5.93,-0.52l1.08,0.34l0.57,1.07l0.57,0.1l0.63,-0.48l1.18,1.3l1.61,-0.24l1.3,0.45l1.26,1.22l1.44,0.1l0.37,-0.24l0.45,-1.27l-0.97,-1.85l1.11,-0.15l0.48,-0.66l0.95,0.03l0.88,-0.67l2.44,1.8l2.36,-0.87l1.16,-1.19l0.89,0.17l-0.8,1.05l-0.24,1.95l2.04,5.15l-0.97,3.16l0.51,2.51l-0.03,1.91l-0.66,0.91l-0.49,-0.33l-1.01,0.13l-2.18,1.73l-1.13,0.17l-0.63,0.58l-2.02,0.22l-0.32,0.43l-0.03,1.57l-2.6,-0.56l-1.56,1.19l0.08,2.96l2.22,1.94l-0.12,1.13l-0.94,-0.53l-0.65,0.09l-0.64,-0.81l-0.81,-0.16l-2.31,0.37l-0.59,0.64l-2.19,-0.27l-0.28,0.53l0.26,1.06l-1.38,1.2l-1.93,0.08l-0.92,0.75l-1.07,-0.86l-2.44,-0.4l-0.61,-0.53l-1.67,1.04l-0.56,-0.58l1.05,-0.75l0.31,-1.0l-0.63,-1.7l-0.96,-0.7l-0.49,0.05l-1.25,1.62l-1.01,0.05l-0.36,-1.87l0.15,-2.16l-0.77,-0.87l-0.14,-1.03l-0.42,-0.48l-0.35,0.04l-1.16,-2.31l-0.2,-1.12l0.28,-1.55l-1.85,-1.81l-0.28,-2.48l-0.98,-2.09l-0.07,-1.62Z\",\\n      \"name\": \"Cambodia\"\\n    },\\n    \"CY\": {\\n      \"path\": \"M52.44,189.37l1.85,0.77l2.04,-0.71l1.37,0.09l0.52,1.29l1.4,-0.11l-1.77,1.53l-2.23,0.47l-0.92,0.87l-0.57,-0.55l-1.44,0.04l-1.81,-0.89l-0.72,-1.76l2.3,-1.04ZM61.14,190.36l0.36,-0.24l0.39,0.2l-0.02,0.0l-0.74,0.04Z\",\\n      \"name\": \"Cyprus\"\\n    },\\n    \"QA\": {\\n      \"path\": \"M191.62,275.3l-1.7,0.32l-0.94,-0.72l-0.29,-0.65l0.27,-0.89l-0.68,-3.97l1.8,-4.45l1.49,-1.1l1.85,1.74l0.16,0.7l-0.61,2.21l0.9,3.61l-1.28,2.84l-0.98,0.35Z\",\\n      \"name\": \"Qatar\"\\n    },\\n    \"KR\": {\\n      \"path\": \"M753.99,193.32l1.41,0.11l0.77,-1.18l-0.16,-0.67l-1.06,0.07l-0.87,-2.37l1.33,-2.74l0.95,-0.67l-0.16,-0.61l-0.43,-0.18l1.23,-0.79l0.46,-1.12l-0.69,-0.79l0.15,-0.9l-1.0,-1.05l0.03,-2.59l-0.46,-1.89l-0.52,-0.32l-0.69,0.31l-1.16,-0.29l-0.06,-0.26l0.32,-0.64l1.87,-1.06l1.8,0.49l0.69,1.02l0.63,-0.26l0.75,-0.88l-0.05,-0.43l-0.86,-0.41l-0.49,-0.88l-0.24,-0.71l0.21,-1.04l-0.97,-1.25l-0.02,-0.95l-0.61,-1.14l0.73,-0.78l0.02,-0.84l2.94,-3.01l7.06,-0.2l1.16,-0.57l1.11,-1.88l1.63,3.45l3.24,4.33l2.09,3.42l0.59,1.76l0.4,2.63l-0.59,3.62l0.08,2.32l0.41,0.65l0.8,-0.05l-1.07,3.98l-1.43,2.52l-1.54,0.6l-3.68,0.07l-0.8,0.84l0.15,1.0l-1.97,-0.42l-0.36,-0.62l-0.82,-0.17l-2.72,1.01l-0.15,0.64l0.66,0.86l-0.22,0.18l-0.9,-1.18l-1.06,0.16l-0.38,0.99l0.54,1.03l-0.65,0.91l-0.63,-0.39l0.57,-0.75l0.01,-0.74l-0.76,-0.42l-1.62,1.25l-0.93,1.29l-0.72,-0.54l-0.43,0.06l-1.2,1.11l-0.35,-0.97l-1.31,-1.11ZM771.49,190.93l0.08,1.06l-0.29,0.22l-0.66,-0.49l0.86,-0.78ZM765.7,192.18l0.1,-0.56l0.61,0.23l0.08,0.65l-0.79,-0.32ZM753.88,205.05l-0.4,0.13l-0.34,-0.44l1.03,-0.9l2.57,-0.72l1.17,0.22l-0.17,0.82l-1.1,0.52l-2.75,0.38ZM754.66,166.8l0.29,0.31l-0.02,0.58l-0.05,-0.07l-0.22,-0.82ZM752.75,195.37l0.75,-0.75l0.33,0.12l-0.79,0.68l-0.29,-0.06Z\",\\n      \"name\": \"Korea\"\\n    },\\n    \"KP\": {\\n      \"path\": \"M739.6,147.16l0.14,-0.66l3.53,-2.94l0.73,-0.05l0.7,-0.77l2.64,-1.04l1.79,-1.14l0.46,-0.63l2.08,-0.45l3.82,-4.13l0.8,-2.45l0.81,-0.6l1.35,-0.45l1.79,2.16l2.94,0.69l2.65,-0.05l1.43,0.64l0.6,-0.11l1.12,-1.65l0.03,-0.6l-1.93,-3.06l6.28,-0.39l2.31,-1.74l0.26,-0.98l0.6,-0.76l0.46,-0.12l0.94,0.46l1.56,-0.74l1.33,-4.79l1.16,0.23l0.9,0.63l0.05,1.25l0.9,1.09l1.06,0.61l1.01,1.58l0.03,0.25l-1.33,-0.07l-1.59,1.03l-0.54,0.84l-1.29,0.97l-1.02,1.7l-0.93,0.9l-0.57,1.22l-0.03,0.9l0.62,1.68l-0.39,1.55l0.05,2.17l-2.69,1.16l-1.75,2.08l-2.92,1.48l-1.5,1.69l-1.47,0.78l-2.52,0.37l-0.87,0.93l-2.36,1.18l-0.33,0.96l0.16,1.96l-0.92,0.66l-0.24,1.65l3.07,1.36l1.43,1.65l2.59,1.82l-0.83,1.83l-0.7,0.63l-7.56,0.36l-0.78,0.49l-2.53,2.77l-0.15,0.99l-1.95,-0.73l-1.25,0.43l-0.37,0.46l-0.62,-0.84l-0.69,-0.03l-1.57,-0.95l-0.56,0.2l-1.0,1.37l-0.98,0.69l-0.68,-1.04l-1.65,-0.42l1.24,-0.68l0.08,-0.69l-0.74,-0.38l-2.63,-0.13l0.57,-0.37l0.23,-1.18l1.23,-1.65l1.71,-0.89l1.78,-0.17l0.16,-0.72l-1.08,-0.59l-0.97,0.01l-0.74,-0.65l1.87,-3.69l-0.37,-2.17l-0.26,-0.33l-1.97,-0.58l-2.32,-1.41l-0.69,0.12l-0.28,0.95l-0.54,-1.23l-1.46,-0.96l0.07,-0.75Z\",\\n      \"name\": \"Dem. Rep. Korea\"\\n    },\\n    \"KW\": {\\n      \"path\": \"M167.69,235.06l-0.94,-0.06l-1.81,1.62l-0.16,0.46l0.3,0.43l2.23,0.19l0.93,2.92l1.65,3.04l-4.92,0.07l-1.91,-3.71l-5.99,-0.78l2.32,-3.08l1.56,-3.47l0.65,-0.51l3.13,-0.41l1.92,0.77l1.03,2.52ZM168.51,233.33l0.2,-0.32l0.75,1.05l-0.02,0.41l-0.58,0.53l-0.55,-1.16l0.2,-0.51Z\",\\n      \"name\": \"Kuwait\"\\n    },\\n    \"KZ\": {\\n      \"path\": \"M172.6,48.91l0.9,0.03l3.88,-2.48l1.29,-2.26l2.33,-0.47l3.78,-1.94l3.63,-3.95l2.37,0.74l0.63,0.42l0.18,0.79l0.68,0.55l2.22,-0.14l2.95,-1.86l1.41,-0.32l0.62,0.21l1.14,1.57l0.7,0.43l1.96,-0.09l1.71,0.31l2.14,-0.2l1.31,0.73l1.23,1.52l2.02,0.91l1.27,1.11l2.02,2.46l0.45,2.04l0.86,0.61l0.55,-0.18l0.52,-0.7l0.01,-2.02l-0.64,-1.53l0.32,-0.24l2.51,1.3l2.63,2.04l2.58,0.87l1.09,-0.23l1.92,-1.12l0.81,-1.36l2.35,-1.56l1.04,0.32l2.77,-0.8l1.08,0.25l2.19,1.49l1.71,-0.39l1.32,-1.6l3.67,0.24l1.29,0.84l2.53,2.74l4.39,0.81l0.18,0.98l0.58,0.27l2.31,-0.95l1.57,-2.53l1.48,1.33l1.19,0.33l1.74,0.16l2.36,-0.33l2.13,-0.78l1.45,-1.06l1.44,-3.61l-0.18,-1.24l-1.75,-1.46l-2.4,-0.46l-0.47,-0.47l-3.68,-1.1l-0.59,-1.19l-2.45,-1.29l2.68,-1.56l1.87,-0.28l2.52,-1.96l-0.1,-1.05l-1.45,-2.62l1.84,-2.62l2.4,-0.21l4.25,0.52l1.19,-0.76l0.08,-0.8l-0.76,-0.88l-2.56,-1.18l-3.42,-0.64l0.2,-0.91l1.93,-0.37l0.51,-0.66l-0.13,-0.57l-0.65,-0.52l-1.74,0.28l-1.53,-0.53l0.84,-0.91l0.25,-2.16l0.51,-0.45l0.58,-0.23l4.51,1.03l0.91,-0.57l3.3,-0.1l1.14,-0.59l3.19,-0.36l0.96,-0.67l3.77,-0.75l1.12,0.06l2.66,-1.15l1.79,-0.35l1.52,0.31l1.98,-0.42l1.43,0.51l0.73,-0.49l0.53,-1.42l1.64,-0.98l1.56,0.04l1.46,-0.68l0.42,0.25l2.01,-0.08l4.05,-0.74l7.0,-1.39l1.13,-0.75l2.4,-0.34l0.91,-0.99l-0.15,-1.07l1.96,-0.31l1.56,-1.14l1.81,-0.78l3.75,0.33l5.15,2.03l1.1,-0.26l1.4,-1.0l1.59,-0.2l1.09,1.6l2.0,5.33l-0.22,2.29l-0.68,0.98l0.51,1.11l1.97,0.57l4.11,-0.64l0.78,0.15l0.73,-0.32l0.6,-0.87l1.2,1.76l0.14,1.58l0.48,0.49l0.43,0.03l1.22,-0.77l-0.04,-1.15l1.95,0.25l1.45,1.23l1.06,0.33l1.3,-0.08l1.86,-1.02l-0.1,0.73l-1.95,1.12l-0.92,1.37l-0.1,1.36l0.6,1.33l0.56,0.4l0.83,-0.3l1.25,-1.06l1.43,-0.39l2.39,0.39l1.44,0.92l0.59,-0.38l0.33,-1.35l2.69,-1.72l1.54,0.01l1.42,-0.75l1.17,-0.78l0.38,-1.17l1.89,-0.27l4.3,-2.03l1.77,-0.27l1.82,-0.97l-0.98,2.17l-1.56,-0.06l-0.41,0.4l0.55,1.55l0.79,0.92l8.43,5.75l1.1,1.06l4.59,6.36l5.04,7.73l6.5,11.03l0.6,0.16l0.5,-0.35l0.09,-0.58l0.86,-0.62l1.5,-0.34l0.42,-0.72l-0.09,-1.71l1.85,-0.96l0.89,0.1l0.79,0.91l0.93,0.01l-0.46,1.28l0.16,0.85l0.65,0.27l1.62,-0.15l0.32,1.74l0.56,0.45l3.42,-0.26l1.35,0.54l3.1,-0.2l0.97,-0.49l0.98,-1.1l1.82,-0.04l1.15,-0.91l1.29,-0.05l2.57,1.01l1.58,1.03l1.67,2.39l0.61,2.25l0.59,0.64l2.26,0.45l1.67,1.05l0.97,0.21l0.07,1.51l1.98,2.96l5.14,0.63l0.59,0.53l1.47,0.0l3.64,-2.68l-0.67,0.96l0.01,0.79l1.47,0.91l1.45,1.98l2.0,1.07l-2.66,0.15l-1.2,0.9l-0.36,3.14l-1.13,1.45l-6.08,1.5l-0.96,1.82l-0.76,2.8l0.45,4.09l0.61,1.53l-0.07,0.57l-1.1,1.62l-1.93,0.31l-2.97,1.82l-0.39,-0.9l-0.63,-0.4l-2.48,-0.23l-2.39,0.24l-2.17,-0.46l-4.68,-1.78l-0.74,0.25l-0.61,2.3l-3.13,7.56l-1.83,5.41l0.31,1.09l1.95,0.76l0.03,0.93l-0.52,1.22l-1.62,-0.86l-2.46,0.52l-0.88,-0.45l-0.34,-0.87l-0.92,-0.39l-6.12,1.99l-1.69,0.04l-4.31,1.11l-1.6,1.24l0.06,0.82l0.97,0.62l2.04,-0.05l1.07,0.43l-0.38,0.34l-0.41,2.18l0.14,3.17l2.24,5.03l0.35,1.1l-0.24,1.1l0.87,1.41l-1.02,-0.13l-1.69,0.77l-0.34,0.96l0.72,0.7l-1.42,0.56l-0.57,0.78l-0.33,1.2l0.71,3.27l-2.01,-1.79l-3.53,-0.57l-2.33,-2.68l-1.92,-0.03l-2.75,-0.82l-3.74,0.06l-5.84,-0.49l-1.92,-0.56l-3.62,0.5l-5.04,-0.17l-0.64,0.18l-0.91,0.93l-1.89,-0.19l-4.02,-1.25l-4.54,-2.38l-0.73,0.39l-1.36,-0.01l-3.25,1.86l-1.12,3.91l0.33,1.19l-0.86,-0.69l-3.16,-0.51l-0.81,-0.69l-3.56,-1.08l-3.49,-0.6l-2.34,0.48l-0.84,-0.12l-1.24,0.45l-1.88,1.87l-1.05,1.86l0.09,0.95l-1.3,0.47l-0.89,1.12l-0.6,-0.38l-0.76,0.09l-2.43,2.34l-3.9,1.67l-1.56,1.26l-2.24,1.13l-0.61,1.47l-1.85,1.44l-1.2,1.53l-0.29,1.22l0.32,0.85l-0.38,0.14l-1.35,-0.38l-1.57,-1.14l0.45,-1.71l-1.39,-1.84l-9.18,0.12l-1.51,-7.1l-0.39,-0.35l-3.27,-0.08l0.67,-8.49l-0.57,-0.39l-1.9,0.88l-2.11,-3.62l-1.8,-1.1l-2.72,-2.7l-1.13,0.14l-2.67,1.26l-9.15,-0.69l-8.97,1.25l-6.08,-6.05l-1.18,-2.1l-7.01,-4.12l0.16,-4.09l-0.32,-2.03l-0.55,-0.81l-1.7,-0.05l0.79,-2.36l4.16,0.6l3.04,-2.59l2.71,-1.03l0.78,-1.31l0.09,-0.76l-0.31,-0.59l-3.08,-0.71l-0.31,-1.74l-0.64,-0.6l-0.91,-0.15l-0.5,0.03l-0.32,0.58l1.13,0.99l-0.33,0.23l-1.16,-0.19l-0.4,0.28l-0.45,-0.86l-0.82,-0.28l-1.65,0.88l-0.66,1.3l0.28,0.84l0.66,0.56l2.26,-0.05l1.37,0.79l1.08,-0.56l0.53,1.15l-0.81,0.93l-4.22,-0.5l-1.77,0.48l-0.37,-2.0l-2.18,-0.48l-0.35,0.74l1.13,1.75l0.17,0.88l-0.58,1.96l-0.93,0.41l-0.51,-0.21l-0.53,0.4l-0.13,-0.6l0.7,-1.38l-0.33,-0.61l-0.63,-0.13l-0.95,0.42l-1.25,-0.14l-2.13,1.31l-0.9,2.61l-19.46,5.2l-0.29,0.39l0.01,32.99l-2.83,0.53l-0.57,-0.2l-1.35,-1.41l-2.96,-4.54l-1.41,-1.09l-4.37,-2.37l-3.36,0.36l-4.75,1.36l-1.5,0.85l-2.33,2.04l-0.09,-2.01l1.15,-2.89l0.17,-1.24l-0.41,-2.16l-0.95,-0.67l-1.69,0.1l-0.71,-0.56l-1.98,0.04l-2.08,-2.59l-2.26,-0.17l0.03,-2.63l-1.79,-2.47l-1.73,-4.01l-1.3,-0.88l-2.65,-0.56l-0.35,-0.85l0.23,-0.83l0.64,-0.3l3.16,-0.04l2.45,1.17l3.15,-0.49l-0.43,-0.87l-1.43,-0.45l-2.03,-1.99l0.08,-0.75l1.54,-1.3l1.11,-2.04l0.9,0.09l1.37,-0.5l5.13,-0.05l3.59,0.79l2.3,-0.12l0.16,-0.7l-2.99,-1.97l1.93,-3.52l0.7,-2.09l-0.18,-2.25l-0.32,-0.62l0.75,-1.88l-0.81,-1.87l-1.25,-1.02l-3.38,-0.4l-2.67,1.51l-1.0,-0.67l-1.73,-0.26l-1.03,-0.92l-3.56,-0.77l-2.01,0.69l-2.49,1.47l-1.33,0.11l-3.84,2.59l-4.01,0.71l-0.31,0.81l-0.94,0.66l-4.0,-1.89l-0.55,-0.56l0.02,-0.42l0.32,-0.14l1.13,0.48l1.1,0.05l0.75,-0.51l0.02,-0.71l-3.06,-5.19l-2.97,-3.78l-0.64,-0.44l-4.69,-0.56l-1.42,0.55l-1.14,-1.56l0.18,-1.65l-0.51,-1.3l-0.62,-0.61l-2.35,-1.11l-0.32,-1.28l0.65,-2.06l1.91,-2.2l0.57,-1.21l-0.2,-0.85l-1.49,-1.44l0.62,-2.97l0.71,-1.41l2.29,-2.06l0.24,-2.1l1.15,-1.1l1.13,0.2l3.84,4.33l0.94,0.79l1.03,0.29l2.46,-0.98l0.83,-1.02l-1.33,-5.63ZM248.32,97.54l1.41,-1.65l0.64,-0.08l0.28,-0.6l1.51,1.9l0.45,2.98l-4.3,-2.54ZM201.9,97.61l0.06,0.13l-0.08,-0.1l0.02,-0.02Z\",\\n      \"name\": \"Kazakhstan\"\\n    },\\n    \"SA\": {\\n      \"path\": \"M67.56,247.08l1.06,-2.61l1.21,-6.57l8.14,1.18l3.22,-2.48l1.76,-2.79l5.69,-1.31l1.39,-2.79l2.37,-1.31l0.11,-0.62l-7.19,-7.71l14.36,-3.99l1.39,-1.04l8.92,1.5l12.67,7.05l19.68,15.46l12.58,1.15l1.36,-0.26l6.48,0.83l0.99,2.68l0.74,0.93l5.85,0.06l1.24,3.08l1.36,1.9l0.02,1.54l0.92,0.84l1.96,0.85l-0.09,0.58l1.74,2.09l1.07,0.33l1.25,1.48l2.47,1.51l-0.38,0.48l0.15,1.27l1.23,1.15l0.15,0.54l-0.3,1.16l-0.68,-0.02l-0.35,0.56l1.61,4.02l1.62,1.6l0.79,2.71l2.88,4.0l1.44,0.3l1.24,-0.31l0.58,0.29l-0.56,1.24l0.27,0.54l1.64,0.42l0.26,1.52l7.21,9.07l19.35,2.6l0.62,-0.35l3.01,4.88l-4.85,15.33l-22.24,7.7l-22.07,3.25l-6.65,3.39l-4.44,5.48l-1.05,2.59l-1.98,1.12l-0.97,-0.04l-2.04,-2.41l-3.15,0.26l-5.76,-0.54l-2.94,-0.97l-7.47,0.22l-1.72,0.54l-1.36,-0.25l-1.4,-1.05l-1.17,-0.12l-1.94,1.53l0.2,0.75l-0.46,0.41l-0.3,2.08l0.52,1.22l-0.09,0.47l-2.09,2.0l-0.74,-2.32l-2.34,-2.97l-0.72,-2.45l-4.07,-3.48l-1.74,-2.75l-0.63,-1.61l-1.43,-1.65l-0.88,-3.14l-2.67,-5.22l-1.18,-0.68l-1.03,-1.34l-3.01,-2.12l-1.56,-0.27l-1.05,-0.68l-3.32,-4.48l-1.26,-2.42l0.36,-1.64l-1.18,-2.86l0.78,-3.89l-0.25,-1.73l-0.41,-1.31l-0.77,-0.8l0.17,-0.38l-1.0,-1.2l-0.69,-2.03l-1.87,-3.31l-1.37,-1.63l-2.72,-2.14l-0.88,-0.15l-0.94,-0.69l-1.05,-0.1l-2.46,-3.84l0.54,-1.19l-0.93,-2.77l-1.71,-2.8l-1.2,-0.94l-0.59,-2.11l-1.27,-0.76l-1.95,-3.81l-3.0,-3.86l-0.72,-1.58l-1.32,-1.36l-1.19,-2.44l-1.82,-2.44l-1.05,-0.58l-2.95,-0.27ZM121.15,336.6l0.4,-0.33l0.04,0.83l-0.42,-0.42l-0.03,-0.07Z\",\\n      \"name\": \"Saudi Arabia\"\\n    },\\n    \"MY\": {\\n      \"path\": \"M641.05,446.05l0.71,0.36l0.8,-0.15l0.31,-0.63l-0.05,-1.52l1.13,-1.14l8.26,-1.87l2.45,-1.08l3.07,-4.07l3.61,-3.82l0.56,-2.37l1.04,0.65l0.74,1.61l0.77,0.18l1.45,1.69l0.83,-0.12l1.04,-1.16l0.49,-1.72l-0.65,-2.41l1.27,-0.83l0.6,3.28l1.34,0.6l0.79,-0.16l0.23,-0.69l-1.05,-3.38l1.72,-0.53l1.0,-0.99l0.28,-0.89l-0.2,-0.46l-0.76,-0.4l-0.24,-0.75l0.85,-0.95l1.6,0.28l0.86,-0.69l1.46,-2.15l0.59,-1.82l2.63,-2.91l1.82,-3.25l0.07,1.03l-0.4,1.27l0.42,0.49l1.23,-0.56l1.41,-2.12l0.39,0.11l0.49,1.95l2.54,1.44l0.3,1.12l-0.58,0.84l0.21,1.26l-1.06,1.1l0.45,0.27l2.37,-0.42l1.26,-0.69l0.4,0.75l-1.28,0.7l0.39,0.84l0.8,0.12l1.71,-0.81l0.54,0.09l1.09,0.52l0.73,1.09l2.73,1.23l1.7,0.01l0.25,0.23l-0.17,1.1l-2.14,0.94l-1.73,0.42l-2.17,-0.4l-1.23,0.45l-0.5,1.64l1.11,1.27l1.74,1.22l-0.31,0.37l-3.61,0.82l-2.24,-0.68l-0.65,0.38l-0.47,0.91l-1.98,-0.95l-1.4,-0.29l-4.28,-0.24l-0.9,0.41l-1.26,-0.36l-1.67,0.49l-0.93,-0.39l-0.65,0.17l-1.34,1.23l-0.86,2.06l-0.01,3.59l-0.75,2.89l-1.52,0.08l-1.28,1.48l-0.09,1.78l0.74,0.64l-2.9,2.03l-0.23,0.94l0.5,1.26l-0.87,0.78l-1.12,2.74l-1.0,-0.3l-3.61,0.49l-1.97,1.43l-0.64,-0.42l-3.69,-1.0l-0.07,-0.54l-0.57,-0.44l-3.66,0.03l-2.38,0.96l-0.86,2.2l-1.16,0.28l-0.79,0.7l-2.19,0.08l-3.0,-0.4l-4.31,1.39l-5.53,-4.81l-0.52,-0.59l-0.12,-1.09l-0.67,-0.63l0.15,-0.41l0.53,0.81l2.05,1.09l2.87,0.04l2.35,1.25l1.7,0.14l1.46,0.96l1.09,0.05l0.35,-0.32l-0.2,-0.43l-1.23,-0.89l0.83,-1.07l0.2,-1.39l0.73,-1.77l-0.46,-0.71l0.0,-1.02ZM684.91,409.61l0.41,-0.56l0.41,-0.05l-0.11,0.45l-0.71,0.16ZM560.8,415.59l1.25,-0.03l0.88,1.55l1.37,0.16l0.1,1.64l-0.72,1.49l1.08,1.33l0.76,0.04l0.91,-1.13l1.92,-0.77l0.73,0.88l1.24,0.0l0.78,-0.51l0.47,-1.13l0.82,-0.81l0.26,-0.92l1.31,0.38l1.47,2.32l4.16,3.36l2.32,4.07l0.27,1.27l0.11,2.01l-0.8,4.74l0.67,1.89l-0.05,4.51l0.79,1.27l2.02,1.44l3.01,6.32l0.41,2.01l-0.51,-0.09l-0.34,-0.92l-1.12,-0.76l-0.17,1.27l-1.91,0.01l-1.28,0.88l-0.97,-1.56l-4.68,-2.31l-1.38,-1.41l-2.98,-1.53l-2.64,-2.36l-2.02,-0.89l-1.43,-1.29l0.34,-0.91l-0.49,-2.0l-4.16,-5.01l0.43,-0.68l-1.32,-2.52l-0.02,-2.17l-1.05,-2.92l-0.88,-3.99l-0.08,-3.02l-1.65,-3.37l0.29,-1.42l0.84,0.97l1.64,0.62ZM558.59,423.72l0.04,-0.52l0.15,0.07l-0.19,0.45ZM554.87,416.01l0.61,-0.22l0.15,0.23l-0.64,0.21l-0.12,-0.22Z\",\\n      \"name\": \"Malaysia\"\\n    },\\n    \"YE\": {\\n      \"path\": \"M210.22,368.93l3.31,-0.15l1.6,0.56l-2.1,0.96l-2.93,0.3l-0.74,-0.15l-1.64,-1.15l1.07,-0.91l1.43,0.54ZM128.17,348.79l0.44,-0.21l0.08,-0.52l-0.6,-2.52l0.88,-2.78l-0.26,-2.55l2.7,-2.53l0.16,-1.06l-0.5,-1.03l0.13,-1.2l0.71,-1.07l-0.29,-0.74l0.95,-0.8l1.11,-0.07l1.35,1.04l1.75,0.31l1.77,-0.56l7.3,-0.22l2.88,0.97l5.8,0.55l2.98,-0.27l1.72,2.26l1.74,0.18l2.31,-1.32l1.14,-2.71l4.35,-5.36l7.46,-3.52l20.53,-2.86l5.51,12.84l0.6,0.39l1.9,4.24l-3.44,1.26l-1.95,1.39l-0.81,1.14l-0.47,1.65l0.32,2.18l-4.38,2.32l-4.33,1.48l-3.64,0.78l-2.72,1.43l-1.96,0.18l-4.21,1.47l-2.35,1.44l-0.94,1.48l-1.79,1.54l-2.77,0.39l-2.36,-0.34l-2.76,1.51l-1.63,1.45l-4.57,1.47l-6.42,0.52l-2.01,0.43l-2.12,2.11l-1.79,0.61l-0.9,1.3l-1.82,0.34l-1.28,-0.34l-2.53,1.26l-1.88,0.27l-2.61,-1.01l-0.88,0.19l-0.1,-0.73l-1.76,-3.14l0.35,-3.27l-0.45,-1.43l-0.97,-1.04l0.01,-1.45l-1.28,-4.7l0.07,-0.99l-0.57,-1.41l-0.93,-0.61Z\",\\n      \"name\": \"Yemen\"\\n    }\\n  },\\n  \"height\": 555.5409752358405,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 0.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(97))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'cn_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 639.9679963377529,\\n    \"bbox\": [{\\n      \"y\": -6615868.518578473,\\n      \"x\": 8197521.3798613455\\n    }, {\\n      \"y\": -1771379.775502434,\\n      \"x\": 15010424.35894619\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"CN-32\": {\\n      \"path\": \"M629.83,342.13l0.39,-0.46l0.15,-1.59l0.59,-0.86l2.21,-0.59l2.11,0.06l0.64,-0.33l1.76,1.5l0.24,1.05l1.14,1.33l1.15,2.36l0.24,1.5l0.59,0.62l1.13,-0.18l0.25,-1.34l1.03,-0.71l1.71,1.75l1.93,0.25l1.3,-1.1l1.67,0.06l0.43,-2.23l1.63,-0.26l1.94,0.5l0.19,1.07l0.79,0.48l-0.28,0.77l0.8,1.8l2.74,-0.31l0.89,-0.48l0.43,-0.65l0.71,-3.33l1.42,-0.35l1.59,0.41l1.17,-0.9l0.52,-1.85l0.97,-1.71l0.21,-1.47l3.01,-0.19l1.47,-0.93l0.42,-0.06l-0.4,0.32l-0.33,1.14l-0.06,4.42l0.23,0.62l0.68,0.03l0.31,-0.67l1.02,0.09l0.53,-0.28l1.17,0.39l0.25,0.24l-0.14,0.7l2.87,2.55l1.27,0.21l1.43,0.89l1.7,0.22l1.99,1.31l2.46,0.97l1.65,4.47l0.58,2.11l-0.11,0.73l1.48,2.05l-0.2,1.62l2.14,2.91l0.47,2.3l1.03,0.91l0.02,1.24l0.92,0.84l0.35,1.82l0.29,0.32l0.7,-0.03l0.17,3.07l-1.05,1.61l0.08,0.7l1.03,0.63l0.65,0.89l2.1,1.15l0.47,0.7l0.67,0.01l3.23,1.66l0.34,1.7l-0.73,0.36l1.18,2.33l3.26,1.0l2.06,1.47l1.76,3.59l-1.16,0.26l-2.04,-0.52l-5.74,-2.72l-2.7,1.5l-1.91,-0.29l-0.2,-1.0l-2.02,-2.27l-2.87,-1.0l-2.3,-0.04l-1.88,0.92l-1.41,1.26l-1.72,0.06l-1.83,-1.05l-1.1,-1.65l0.17,-1.37l-0.24,-0.38l-0.34,0.06l-0.71,-1.32l-3.72,-1.02l-0.33,0.32l0.2,0.42l0.8,0.62l-0.41,0.99l-0.51,0.28l0.07,0.71l0.6,0.13l0.83,-0.63l0.77,0.37l0.1,1.18l1.29,0.72l2.2,2.21l2.81,0.83l4.17,-1.3l0.25,-0.64l1.67,0.5l1.32,-0.09l0.67,0.24l0.91,1.95l-1.26,-0.71l-0.23,0.41l0.37,1.04l5.01,1.51l2.49,1.92l0.86,1.2l-0.84,0.11l-1.1,0.79l-0.6,1.2l-0.04,1.26l-1.05,0.47l0.1,1.67l-2.47,0.12l-0.49,0.29l-0.09,0.44l0.66,1.62l-1.48,-0.04l-1.49,0.39l-0.36,0.53l0.4,1.02l-1.46,0.37l-1.15,1.14l-0.7,-1.81l-0.88,0.11l-0.08,-0.51l-0.44,-0.3l-2.13,0.29l-1.1,-0.32l-2.35,-1.95l-0.34,-1.17l-0.77,-0.55l-1.51,0.13l-0.96,-0.28l-2.29,0.71l-2.89,-0.85l-0.05,-1.19l-0.63,-0.46l-1.22,0.4l-1.4,-0.41l-1.35,0.79l-3.67,0.2l-0.81,-1.29l1.25,-0.86l0.84,-2.12l-0.26,-1.95l-0.41,-0.34l-0.59,0.03l-0.51,-0.72l-0.56,0.11l-0.34,0.45l-0.48,-0.11l0.28,-0.58l-0.23,-0.4l-1.88,-0.53l-0.99,-0.68l0.11,-0.9l-0.37,-0.73l-1.4,-0.73l0.55,-0.65l-0.23,-0.93l1.63,-1.24l0.09,-0.88l1.38,-0.28l1.05,-0.83l-0.14,-0.83l0.42,-0.76l-0.27,-2.05l-0.31,-0.41l-0.76,-0.16l-0.1,-0.67l-0.5,-0.42l0.49,0.19l2.06,-0.48l1.81,0.29l1.22,1.18l0.77,0.17l0.84,1.06l0.44,-0.1l0.91,-0.92l0.31,-1.06l0.68,-0.71l-0.17,-2.22l-0.51,-0.86l-0.03,-0.91l-0.93,-0.38l-1.21,-1.11l-0.42,-0.96l-2.13,-0.2l-0.64,0.35l-0.59,1.53l-0.72,0.42l-0.23,1.64l-1.45,-0.22l-0.6,0.3l-2.68,-0.05l-1.07,-0.7l-0.05,-0.81l-0.71,-1.04l0.91,-0.94l-0.78,-0.93l-0.62,-3.03l-1.02,-0.47l-0.47,0.62l-0.87,0.37l-0.84,-0.19l-0.78,-0.92l0.65,-0.68l1.01,-2.87l0.63,0.09l0.35,-0.33l0.12,-2.17l0.82,-1.42l-0.3,-1.01l-1.15,-0.64l-3.48,0.68l-1.42,-0.01l0.03,-2.21l-0.31,-0.35l-0.63,0.06l-0.88,-1.96l-0.48,-0.18l-0.42,0.35l-1.14,-1.04l-1.45,0.41l-1.02,-0.83l-2.31,-0.14l-2.01,-1.12l-0.14,-1.28l-0.7,-0.6l0.18,-1.16l-0.58,-0.83l-0.65,-0.27l-1.42,0.16l-0.6,-0.95l-2.52,-0.71l-1.65,-1.71l-1.27,-0.81l-0.06,-0.61ZM678.92,382.39l0.45,-0.1l0.53,0.6l-0.72,-0.3l-0.26,-0.2ZM680.23,383.73l0.2,0.51l0.05,0.28l-0.48,-0.16l0.24,-0.63Z\",\\n      \"name\": \"Jiangsu\"\\n    },\\n    \"CN-52\": {\\n      \"path\": \"M441.71,465.82l1.34,-0.99l3.19,-3.75l0.6,-0.06l2.97,2.04l1.31,-0.59l0.16,-0.97l1.18,-1.14l1.05,1.41l1.09,0.51l4.21,-0.18l1.19,0.38l3.04,-1.64l1.62,0.29l0.45,-0.18l1.51,-5.04l0.87,-0.67l1.92,-0.23l2.04,1.6l1.68,-0.67l1.3,0.01l0.9,-0.54l1.96,-0.04l0.87,-0.49l1.89,0.3l1.0,-0.48l1.07,-0.98l-0.77,-2.86l-1.27,-0.94l-0.14,-0.92l-0.72,-0.69l-1.03,-0.37l-1.5,0.55l-1.46,-0.19l0.0,-1.17l-0.32,-0.44l-1.66,-0.8l-1.33,-0.21l0.04,-1.63l-0.46,-0.74l0.74,-1.21l2.96,-0.35l1.13,-2.18l2.72,2.45l1.52,0.67l0.15,0.95l0.72,0.35l1.18,-1.45l0.9,0.39l0.7,-0.38l-0.07,-1.02l0.57,-1.36l-0.76,-1.61l0.74,0.68l0.77,1.57l-1.05,2.19l0.27,0.29l1.2,-0.1l0.74,0.55l0.82,0.05l0.59,-0.53l0.06,-1.18l0.75,-0.11l0.48,-0.66l0.12,-2.28l0.65,-0.45l0.94,0.17l0.79,-1.38l1.29,-0.23l1.39,1.21l0.83,0.3l2.89,-1.43l0.88,-2.04l-1.21,-1.72l0.16,-1.12l0.54,-0.72l1.13,1.02l1.63,0.59l1.15,-0.11l0.08,1.5l1.11,1.15l0.68,-0.02l2.55,-1.25l3.04,-0.15l1.21,4.02l-0.76,0.75l0.13,1.13l1.39,0.73l1.93,0.25l0.38,0.42l-0.08,3.18l0.66,1.28l0.97,0.22l0.63,-0.39l-0.11,-1.46l-0.37,-0.6l0.55,-0.11l0.69,0.63l-0.81,2.87l0.44,0.78l0.85,-0.25l2.34,0.53l2.24,0.01l1.2,-4.05l0.6,-0.59l0.34,1.08l-0.1,1.31l1.37,1.07l-0.94,2.72l0.13,0.58l0.46,0.3l-0.36,0.85l0.28,2.66l0.51,0.87l0.74,0.4l0.48,1.05l-0.05,0.88l-1.65,1.23l-0.63,0.98l-0.9,-0.15l-1.24,0.65l-1.73,2.31l-0.69,0.21l-1.03,0.98l-0.17,0.94l-1.3,0.35l-0.29,0.63l1.97,1.62l0.99,-0.32l0.67,-0.93l1.1,-0.59l0.35,0.6l0.68,0.15l1.21,-1.05l0.59,0.19l0.78,-0.31l1.04,0.07l1.17,1.21l-0.01,1.17l-0.9,1.18l0.32,0.61l0.8,0.18l-1.71,1.18l-1.5,0.43l-0.28,0.47l0.32,0.76l1.02,0.44l0.52,0.8l-0.25,1.03l-1.08,1.37l-0.38,1.57l0.46,1.04l1.0,0.34l-0.08,0.53l0.94,2.68l-0.85,0.8l0.13,1.11l-0.62,0.6l-0.81,2.04l-0.43,-0.03l-0.85,-1.13l-0.64,0.07l-0.13,0.74l-0.26,-0.65l-0.59,-0.17l-2.05,0.51l-1.32,1.17l-0.2,0.98l0.5,0.54l2.05,-0.95l-0.17,1.46l0.26,0.64l-0.29,0.22l-0.86,-0.57l-2.06,0.4l-0.24,-1.16l-0.95,-0.19l-1.16,0.71l-0.29,1.15l-0.83,0.49l-0.33,0.81l-1.54,-1.51l-2.03,-0.52l-2.7,2.46l-0.32,2.4l-2.22,0.41l-1.12,0.87l-0.99,-0.02l-0.67,-1.22l-0.73,0.16l-0.48,-0.48l0.09,-0.57l-0.3,-0.42l-0.54,0.06l-0.41,0.61l-1.41,0.82l0.15,-0.73l-0.88,-0.53l-0.35,-1.27l-1.17,-0.49l0.2,-0.65l-0.37,-0.65l-0.99,-0.97l-0.56,-0.12l-0.95,0.53l-1.45,0.06l-0.83,0.48l-0.74,0.94l-0.07,0.87l0.56,0.89l-0.22,1.14l-1.12,0.03l-0.37,0.8l-3.09,0.34l-3.22,2.19l-2.09,0.81l-2.29,0.36l-0.2,0.58l0.58,1.75l-2.31,2.56l-1.35,-1.28l-0.89,-0.09l-0.77,0.4l-1.76,-1.21l-2.52,-0.48l-1.06,-1.76l-1.07,-0.44l-1.32,0.34l-1.31,-1.14l-1.74,1.0l-0.82,1.02l-0.39,1.35l-1.83,0.53l-0.69,1.07l-0.77,0.19l-0.65,0.59l-2.35,-1.58l0.05,-0.65l2.25,-2.82l-0.16,-1.54l0.43,-1.67l0.79,-0.23l0.23,-0.84l-1.77,-0.77l-1.51,-1.37l-0.43,-1.95l-1.49,0.05l-0.14,-1.08l-1.68,-1.11l-0.08,-1.15l0.72,0.07l0.47,-0.47l0.54,-1.54l-0.32,-1.24l0.81,-0.44l0.6,-0.86l0.33,-1.43l-0.18,-0.69l0.41,-0.58l0.14,-1.12l1.97,-1.87l-0.73,-1.97l-1.14,-1.62l-1.2,-0.2l-0.51,-1.57l-0.61,-0.43l-0.62,0.15l-0.8,1.24l-1.39,0.08l-1.12,-0.41l-0.63,0.18l-1.33,1.97l-1.59,-0.05l-0.99,-0.39l-0.86,-0.98l0.24,-1.71l-0.67,-0.4l-0.2,-0.82l0.88,-0.79l0.03,-1.52l-1.21,-1.71l-0.62,-0.07l-0.53,0.41l-0.29,-0.36Z\",\\n      \"name\": \"Guizhou\"\\n    },\\n    \"CN-53\": {\\n      \"path\": \"M352.21,506.89l0.36,-2.08l-0.06,-2.14l1.66,-1.18l1.28,0.03l0.55,-0.66l-0.94,-1.39l-0.09,-1.87l0.73,-0.75l0.69,-1.92l0.68,0.61l0.6,0.06l2.23,-1.75l0.48,-1.02l0.59,-0.42l-0.14,-1.67l0.48,-0.56l0.09,-0.85l1.56,0.84l1.07,-0.26l2.52,-4.2l1.53,0.54l1.4,-1.24l-0.07,-0.81l-1.1,-1.4l-0.48,-0.17l-0.45,-1.51l0.36,-0.15l0.14,0.44l0.8,0.11l1.01,-1.34l-0.41,-1.37l-0.43,-0.32l0.99,-1.76l0.13,-2.43l0.49,-1.27l-0.32,-1.59l0.26,-1.16l-0.51,-1.09l0.31,-0.64l-0.33,-1.48l0.33,-0.99l-0.76,-0.87l-0.18,-1.05l0.51,-2.5l-0.5,-0.96l0.08,-2.93l-0.66,-0.84l-1.08,0.25l-0.74,-0.95l-0.61,0.06l-1.15,-0.56l-0.66,0.47l-0.21,1.77l-0.65,0.18l-1.23,-2.86l-0.13,-1.53l-0.71,-0.58l0.44,-0.45l-0.05,-0.46l-0.89,-0.81l0.17,-2.51l1.71,-1.07l0.69,-1.87l1.1,1.37l0.73,0.42l0.95,-0.29l1.39,-1.23l1.08,-2.24l-0.83,-3.47l1.33,-1.35l-0.58,-2.2l0.05,-1.06l1.42,-0.37l1.17,2.87l0.85,0.02l0.85,-0.47l0.23,-0.76l-0.6,-1.01l1.47,-1.78l-0.49,-2.12l1.16,-0.29l0.19,3.68l-0.35,2.11l0.35,2.22l0.75,1.64l-0.14,2.43l1.79,2.86l1.49,1.4l0.12,0.76l0.63,0.31l0.25,-0.39l0.25,-1.95l-0.4,-1.41l0.11,-2.11l-0.35,-0.64l1.83,-0.83l0.61,-1.91l0.7,-0.68l0.35,-1.0l0.9,-0.36l0.19,1.27l1.42,1.17l0.3,1.15l1.46,0.7l0.79,1.62l2.12,1.92l0.23,1.1l-1.6,0.71l-0.44,0.58l0.74,2.27l1.99,2.39l1.19,0.5l0.45,2.04l0.93,-0.09l1.2,-1.56l1.51,0.48l1.19,-1.23l0.2,0.17l3.02,4.84l0.01,1.25l0.91,0.69l0.66,1.09l0.51,3.03l0.62,0.33l0.97,-0.44l0.76,0.04l-0.49,1.7l0.25,0.91l2.91,2.59l0.32,1.5l0.43,0.57l0.92,0.11l0.51,-0.81l-0.09,0.73l-1.24,2.34l0.71,0.88l1.36,0.55l1.28,1.87l-0.96,0.86l0.16,1.53l0.81,0.42l0.71,-0.41l1.25,0.8l0.16,1.23l1.25,1.06l0.74,-0.31l0.48,-0.68l2.77,0.22l2.29,-2.36l1.21,-0.33l0.91,-0.93l1.45,-0.4l0.84,-0.6l0.41,0.23l-0.23,1.2l0.23,0.39l1.26,0.64l0.68,-0.23l0.82,-1.01l1.44,-0.88l1.11,0.16l0.78,-0.5l0.23,-1.96l0.5,-0.25l0.34,-1.02l-1.23,-4.42l-1.1,-1.54l-0.0,-1.12l-0.3,-0.44l0.54,-1.65l-0.4,-2.33l0.64,-1.36l0.79,0.15l2.03,-0.65l1.26,-2.32l1.1,-0.3l0.27,-0.44l-0.14,-0.57l2.31,-1.93l0.76,-1.43l0.18,-1.41l0.74,-0.74l-0.16,-0.44l-0.79,-0.01l-0.16,-0.62l-0.76,-0.31l0.26,-0.87l1.06,-0.72l0.52,-0.92l0.82,-0.34l1.12,0.84l2.59,-1.85l-0.19,-1.66l-0.88,-1.92l0.55,-1.32l1.59,0.41l1.08,-0.31l0.69,0.32l2.4,-0.56l0.81,0.27l1.3,-0.19l-0.45,0.43l-0.56,-0.05l-1.45,0.7l0.09,3.29l0.35,0.66l1.46,0.65l0.49,0.57l-0.21,0.64l0.56,1.39l-1.55,0.61l-0.09,0.81l0.74,1.04l1.81,1.28l1.91,0.69l1.52,-0.6l0.98,0.17l1.72,-0.38l1.23,-0.96l0.19,-1.69l0.51,-0.36l1.96,0.35l0.41,0.91l0.98,0.02l-0.77,1.98l0.98,2.21l-1.42,4.72l-1.64,-0.24l-3.01,1.63l-0.95,-0.4l-4.0,0.22l-0.83,-0.35l-1.06,-1.46l-0.51,-0.22l-1.66,1.34l-0.31,1.13l-0.6,0.3l-2.7,-1.95l-0.96,-0.06l-0.73,0.34l-1.24,1.78l-3.12,2.86l-0.24,0.79l0.68,0.91l0.47,0.1l0.71,-0.46l0.82,1.24l-0.07,0.88l-0.6,0.3l-0.25,1.19l0.26,1.01l0.47,0.34l-0.04,1.64l1.11,1.26l1.33,0.53l1.89,0.05l1.54,-2.07l1.26,0.34l1.69,-0.1l0.61,-0.38l0.53,-0.95l0.58,1.67l1.37,0.36l1.22,2.2l0.18,0.54l-0.24,0.36l-1.56,1.37l-0.15,1.14l-0.45,0.68l0.17,0.8l-0.25,1.11l-0.56,0.76l-1.0,0.55l0.4,1.29l-0.45,1.46l-0.99,-0.12l-0.37,0.51l0.19,1.85l1.76,1.28l0.22,1.25l0.74,0.21l0.84,-0.21l0.4,1.89l1.6,1.4l1.02,0.38l-0.57,0.46l-0.45,1.69l0.21,1.49l-2.22,2.68l-0.19,1.35l-0.83,1.27l0.27,1.6l1.49,2.86l1.11,1.09l0.79,0.25l0.73,-0.55l-0.51,-1.24l0.33,-0.37l1.76,0.23l1.25,0.55l1.97,-0.18l0.32,0.88l0.67,0.59l-0.01,2.64l1.36,1.2l0.79,0.18l0.41,-0.49l1.91,1.09l1.01,-0.42l0.35,-0.98l0.81,-0.21l0.56,1.05l2.23,0.83l1.42,-0.1l0.42,-0.84l1.0,-0.14l2.07,1.51l-0.06,0.62l0.76,1.12l-0.92,0.58l0.27,1.25l-0.37,2.98l-0.83,0.62l-1.01,0.17l-1.28,-0.74l-0.88,0.06l-1.52,1.66l-0.71,0.23l-0.13,0.66l-0.84,0.08l-0.21,1.05l-1.4,1.47l-0.83,-1.29l-1.04,-0.34l-0.6,-1.05l-0.81,-0.13l-0.95,0.8l-0.35,0.89l-0.68,-0.18l-1.6,0.62l-1.57,1.08l-0.67,-0.25l-0.45,0.21l-0.23,0.76l-0.84,0.45l-0.14,0.39l0.43,2.16l-1.64,1.54l-1.5,0.04l-0.41,-0.34l-3.16,2.3l-1.22,-0.65l0.08,-0.93l-0.36,-0.55l-2.51,0.58l-1.08,1.32l-0.57,2.85l-1.58,-1.25l-2.54,-2.87l-0.67,-0.18l-0.99,0.63l-0.67,1.15l0.03,0.96l-0.39,0.57l-0.91,-1.21l-0.3,-1.14l-0.84,-0.7l-0.79,-0.12l-1.16,1.96l-1.6,1.09l-0.04,1.01l-1.25,0.66l-0.12,0.8l-1.49,-0.65l-1.11,-1.93l-3.54,-1.75l-0.74,0.12l-0.31,-0.58l-1.0,-0.44l-0.62,0.2l-0.55,1.14l-0.72,0.32l-0.09,0.45l0.33,0.46l-1.74,1.77l-0.38,1.14l-0.73,-0.16l-0.56,0.23l-1.87,-0.58l-1.61,0.3l-0.43,0.69l-1.19,-1.64l-1.42,0.22l-0.68,0.7l-0.7,2.44l-0.8,0.06l-0.58,0.81l0.69,1.17l-0.11,1.17l0.82,2.11l1.05,0.68l0.98,1.6l-0.31,1.37l0.42,1.17l0.68,0.46l-0.99,0.58l0.16,0.93l-0.47,2.94l0.45,0.75l1.14,0.65l-0.6,0.05l-0.2,0.93l-0.42,0.09l-0.6,-0.74l-0.85,-0.0l-0.27,-0.6l-1.09,-0.31l-3.79,0.89l-0.38,-0.66l0.31,-1.91l-0.93,-0.65l0.27,-1.36l-0.47,-1.03l0.17,-1.11l-1.03,-2.14l-0.95,-0.02l-1.18,0.81l-2.3,0.82l-2.0,2.21l-1.11,0.68l-2.18,0.18l-0.74,-0.91l-1.08,-0.23l-2.29,1.54l-1.05,-1.5l0.2,-0.74l0.64,-0.49l-0.06,-0.54l-0.56,-0.47l-2.24,-0.49l-0.45,-1.55l0.68,-1.94l-0.66,-1.77l-1.24,-0.19l-0.66,0.41l-1.29,-0.6l-0.75,0.34l-0.58,-0.56l-2.81,-0.59l-1.75,0.41l-2.08,-0.45l0.03,-0.64l1.23,-2.36l-0.06,-0.49l1.67,-1.7l-0.02,-1.93l-0.69,-1.91l0.61,-0.32l0.89,-1.36l0.05,-0.93l1.08,0.3l0.75,-0.73l-0.85,-2.32l-1.4,-0.22l-0.93,-0.89l-0.57,-0.01l-1.22,0.99l-0.24,-0.44l-2.04,-0.22l-0.62,-0.85l-2.09,-0.26l0.7,-1.28l-0.39,-0.89l0.13,-1.05l-0.5,-1.17l-0.92,-0.29l-0.16,-0.47l0.89,-0.6l0.19,-0.67l-0.81,-1.29l-0.26,-1.26l-1.65,-0.49l-0.09,-1.25l0.07,-0.98l2.71,-1.84l0.29,-0.75l-0.14,-0.58l-2.59,0.15l-1.93,0.66l-1.57,-0.76l-1.21,-0.0l-1.0,0.44l-2.22,-0.29l-4.34,1.51l-1.1,1.01l-2.49,1.39l-1.2,-0.79l2.6,-2.66l0.27,-0.86l-0.29,-0.65l0.22,-1.12l-0.92,-0.55l0.48,-0.82l-0.83,-1.38l-1.73,-0.03Z\",\\n      \"name\": \"Yunnan\"\\n    },\\n    \"CN-50\": {\\n      \"path\": \"M466.93,427.36l-0.32,-1.45l1.39,-1.6l0.76,0.02l0.55,-0.52l0.94,-0.13l0.34,-1.36l1.92,-0.72l0.38,-0.43l-0.06,-1.26l0.52,-0.84l-0.06,-0.57l-2.8,-2.06l1.36,-0.63l-0.11,-0.85l0.86,0.12l0.43,-0.28l0.03,-0.89l0.96,-1.49l1.12,0.62l3.19,0.87l1.82,2.01l0.66,-0.17l0.45,-0.51l1.47,-0.11l0.55,-0.86l0.76,0.17l0.51,-0.27l0.84,0.73l1.34,3.19l0.91,0.72l4.12,-0.23l0.63,-0.35l2.74,-2.85l2.08,-4.16l0.64,-0.42l0.9,-1.34l0.22,-0.95l-0.54,-1.26l0.3,-0.7l0.64,-0.6l1.69,-0.05l0.95,-0.67l0.74,1.15l0.9,0.19l1.68,-1.28l0.47,-0.95l-0.27,-0.64l1.06,-1.31l0.46,-2.99l1.95,-1.19l0.8,-2.8l1.76,-0.6l0.88,-0.88l0.6,-1.36l1.04,-1.01l-0.01,-1.19l-0.59,-0.89l-3.14,-2.04l1.12,-1.67l0.83,-0.1l0.34,-0.39l-0.06,-0.57l-0.61,-0.67l1.71,-0.19l2.02,1.34l1.25,0.44l0.62,0.66l3.89,1.7l1.64,1.3l1.16,1.84l0.85,0.64l4.48,-0.4l0.69,0.22l0.82,1.13l0.28,1.43l3.18,0.82l0.28,0.55l1.96,1.2l0.51,0.97l-0.08,1.31l0.48,0.76l-0.98,1.1l0.43,2.03l-0.14,1.48l-0.56,0.91l-0.94,0.05l-1.11,-1.03l-0.96,0.08l-2.13,1.1l-2.49,2.66l-0.78,0.0l-1.74,1.19l-1.6,-0.35l-1.64,0.64l-1.06,-0.6l-1.78,-0.12l-1.38,0.88l-1.97,0.52l-0.64,-0.76l-0.63,-0.09l-1.0,1.15l-2.38,0.31l-0.9,1.59l0.2,0.8l2.02,0.9l0.14,0.41l-0.23,1.84l0.33,2.54l-0.31,0.95l0.12,1.05l-1.91,0.52l-0.08,0.55l0.64,1.41l0.72,0.48l0.89,-0.04l0.58,-1.25l0.78,-0.82l0.81,2.37l2.79,1.15l-0.3,2.09l0.76,1.31l0.02,1.01l1.46,0.77l0.91,1.48l2.86,2.61l-0.59,2.43l0.11,1.64l0.44,0.83l-0.94,1.65l1.02,0.76l-0.31,0.82l-1.52,1.24l-0.49,2.12l-0.53,0.69l0.1,0.79l-4.52,-0.53l0.73,-2.72l-1.31,-1.33l-1.5,0.48l0.39,2.05l-0.35,-0.12l-0.25,-0.61l-0.09,-3.63l-0.65,-0.69l-0.98,0.01l-2.05,-0.75l0.01,-0.43l0.61,-0.44l0.16,-0.52l-1.44,-4.81l-3.82,0.19l-2.78,1.29l-0.61,-0.7l-0.03,-1.3l-0.36,-0.59l-1.57,-0.01l-1.73,-0.69l-0.68,-0.85l-0.64,-0.02l-0.79,0.75l-0.43,1.22l0.22,1.43l0.98,0.88l-0.66,1.54l-2.27,1.16l-1.99,-1.48l-1.99,0.33l-0.74,1.28l-0.76,-0.19l-1.11,0.79l-0.18,2.41l-1.08,0.47l-0.23,1.5l-0.29,0.05l-0.68,-0.54l-0.82,-0.06l0.76,-1.79l-0.9,-1.85l-1.16,-1.19l-0.73,-0.17l-0.41,0.45l0.11,0.87l0.76,1.47l-0.53,1.06l0.04,0.79l-0.93,-0.45l-1.11,-1.44l-0.55,-1.79l0.04,-1.21l-0.37,-0.53l-1.06,-0.53l-1.1,-0.09l-1.63,-0.88l-2.05,0.91l-0.77,-0.21l-0.69,-0.97l-0.55,-4.7l-0.61,-0.3l-0.64,0.5l-1.9,-0.3l-1.11,-0.61l-0.23,-1.53l-1.25,-0.58Z\",\\n      \"name\": \"Chongqing\"\\n    },\\n    \"CN-51\": {\\n      \"path\": \"M349.99,371.93l0.39,-0.62l1.18,-0.51l0.43,-0.53l0.07,-0.81l-0.4,-1.2l0.22,-0.85l1.73,-2.25l1.16,-0.39l0.73,-0.92l-0.46,-0.62l-2.89,-0.88l-0.56,-1.56l-1.24,-0.76l0.11,-1.87l-0.32,-1.85l3.33,-1.03l0.52,-1.14l0.67,0.53l0.16,1.49l0.42,0.39l2.02,-0.39l2.13,-1.26l2.59,0.32l0.88,1.42l2.25,-0.07l3.04,2.85l-0.29,0.95l1.59,2.09l0.55,3.24l1.58,2.33l4.81,2.33l1.41,2.18l3.44,0.92l2.66,1.44l0.73,-0.21l0.66,-1.79l0.01,-1.01l0.9,-0.43l0.39,-0.78l1.03,0.98l1.09,-0.03l1.49,1.62l0.12,1.1l-0.56,1.27l0.49,0.82l1.49,0.25l0.43,-0.44l0.25,-1.11l1.81,-0.36l1.05,1.01l0.93,1.72l-1.12,0.93l-0.2,0.91l1.07,1.09l0.55,-0.07l1.12,-0.9l1.15,-3.5l1.93,0.32l1.19,0.58l1.26,-0.28l0.98,-0.62l1.1,0.18l0.69,-0.46l1.05,-2.34l-0.25,-1.12l-1.37,-1.21l0.09,-1.33l0.61,-1.55l1.88,-0.73l0.82,0.36l0.83,-0.91l2.23,1.87l0.98,-0.17l1.38,-2.55l-0.2,-0.64l-0.75,-0.5l0.08,-0.7l1.36,-1.33l0.43,-1.87l0.65,0.61l-0.01,0.7l0.55,0.98l-0.49,1.52l-0.96,1.36l0.62,2.56l0.57,-0.05l1.77,-1.46l1.66,-0.15l0.74,-1.37l1.29,-0.36l0.78,-0.97l1.46,-0.43l1.15,-0.82l0.33,-0.63l-0.33,-0.61l0.32,-0.16l-0.09,-0.56l-2.13,-1.62l0.19,-1.33l-1.16,-1.23l-0.07,-0.58l-1.02,-1.47l1.08,-0.36l1.25,0.16l0.79,-0.53l0.66,-1.09l2.56,-0.31l0.31,-0.82l-0.78,-0.49l1.62,-0.81l0.83,-0.89l1.94,-0.47l1.24,1.47l1.79,0.83l0.07,3.5l0.67,0.78l-0.06,1.22l0.76,0.69l1.12,0.44l1.49,0.04l1.93,-0.85l-0.41,1.02l0.44,0.67l1.71,-0.11l1.76,0.68l2.28,-0.17l2.53,0.24l0.52,0.33l0.43,2.44l0.77,1.11l1.55,1.33l-0.78,0.61l0.09,1.37l0.62,1.33l1.22,1.43l-0.3,0.94l-0.8,0.11l-0.66,0.63l-0.18,1.45l0.69,0.69l1.35,0.34l2.62,2.17l1.86,0.49l1.8,0.07l1.1,0.53l2.13,-0.43l0.54,0.59l0.87,0.04l1.02,-1.05l1.13,0.31l2.46,-1.67l0.19,-0.93l-0.88,-1.14l0.39,-0.56l0.65,-0.25l1.15,3.14l0.87,0.45l1.8,-0.95l1.36,-0.03l0.92,-1.39l2.75,-0.43l-0.66,1.38l0.12,1.24l0.91,1.0l1.88,0.99l0.95,-0.09l1.32,-0.75l3.67,-0.62l1.45,-1.01l1.6,0.41l2.87,-0.02l0.53,0.54l-0.42,2.15l0.36,0.61l2.07,1.11l0.76,0.07l2.38,-1.49l0.46,2.05l2.85,0.29l1.76,1.35l1.04,1.38l2.02,1.24l0.72,-0.1l0.26,-0.95l0.49,-0.3l1.87,-0.09l0.76,-0.44l3.13,0.16l0.13,0.21l-1.87,0.5l-0.09,0.58l0.66,0.76l-0.91,0.31l-1.3,2.25l0.33,0.59l3.04,1.94l0.48,1.09l-1.0,0.98l-0.62,1.39l-0.73,0.71l-1.85,0.69l-0.76,2.76l-2.12,1.35l-0.47,3.15l-1.06,1.27l0.23,0.86l-0.23,0.42l-1.41,1.08l-0.91,-1.3l-0.61,-0.14l-0.99,0.77l-1.77,0.08l-0.98,0.84l-0.48,1.16l0.53,1.33l-0.12,0.55l-1.53,1.75l-2.08,4.15l-2.74,2.81l-4.05,0.17l-1.54,-3.42l-1.33,-1.32l-0.81,0.41l-0.95,-0.12l-0.6,0.88l-1.43,0.1l-0.63,0.58l-1.63,-1.83l-4.74,-1.6l-0.72,0.42l-0.93,1.51l-0.02,0.69l-1.31,0.1l-0.22,0.49l0.27,0.58l-1.31,0.74l0.32,1.05l2.5,1.66l-0.51,0.86l0.08,1.15l-1.93,0.74l-0.42,0.51l-0.1,0.89l-2.0,0.54l-1.24,1.22l-0.65,1.1l0.19,1.4l0.42,0.69l1.19,0.51l0.05,1.19l0.34,0.46l1.39,0.73l2.55,0.22l-0.01,0.84l0.44,0.8l0.15,2.52l0.93,1.25l1.36,0.37l1.87,-0.9l1.39,0.82l1.98,0.51l0.4,2.74l1.46,2.12l-0.41,0.85l-0.46,-0.99l-1.46,-0.62l-2.85,-2.58l-0.58,-0.1l-0.83,0.95l-0.5,1.43l-1.41,0.24l-0.83,-0.24l-0.96,0.58l-0.95,1.69l0.54,0.82l-0.05,1.74l0.77,0.67l1.1,0.08l1.43,0.67l-0.02,1.1l0.53,0.63l1.85,0.23l1.43,-0.54l0.71,0.34l0.49,1.32l1.25,0.91l0.62,2.29l-1.36,0.8l-2.0,-0.29l-0.88,0.5l-1.87,0.03l-1.04,0.58l-1.21,-0.03l-1.52,0.64l-0.5,-0.71l-1.87,-0.96l-1.89,0.36l-0.67,0.6l-0.13,-0.8l-0.67,-0.96l0.65,-1.05l0.03,-1.49l-1.28,-0.1l-0.4,-0.91l-1.97,-0.49l-1.49,0.63l-0.32,1.88l-0.79,0.58l-1.55,0.34l-1.07,-0.16l-1.52,0.56l-1.45,-0.63l-2.05,-1.82l1.58,-0.78l0.07,-0.66l-0.54,-1.21l0.27,-0.55l-0.82,-1.17l-1.54,-0.81l-0.2,-2.73l1.55,-0.31l1.0,-0.64l0.31,-0.39l-0.12,-0.56l-1.15,-0.48l-1.26,0.23l-0.68,-0.48l-2.42,0.77l-0.67,-0.32l-1.23,0.3l-1.54,-0.93l-0.43,0.34l-0.83,2.44l1.13,3.06l-1.91,1.36l-0.94,-0.75l-1.33,0.44l-0.65,1.03l-1.09,0.74l-0.5,1.2l0.08,0.7l0.78,0.37l0.41,0.89l-0.24,1.53l-0.74,1.35l-2.39,1.87l0.1,0.86l-1.13,0.36l-0.9,1.21l-0.39,1.13l-1.68,0.38l-0.23,-0.33l-0.68,-0.06l-1.02,2.15l0.36,2.64l-0.55,1.59l0.35,1.8l1.11,1.57l1.19,4.29l-0.89,0.87l-0.05,1.79l-1.62,0.0l-2.54,2.1l-0.67,-0.45l0.22,-1.05l-0.2,-0.44l-1.21,-0.49l-1.0,0.66l-1.6,0.48l-0.8,0.87l-1.26,0.35l-2.16,2.26l-2.62,-0.24l-0.86,0.89l-0.77,-0.58l-0.07,-1.03l-0.35,-0.46l-1.61,-0.94l-0.91,0.38l-0.04,-0.89l0.91,-0.66l0.07,-0.72l-1.58,-2.15l-1.79,-0.97l1.19,-1.92l0.04,-1.43l-0.97,-0.34l-0.65,0.85l-0.64,-1.97l-2.87,-2.55l0.4,-1.96l-0.2,-0.75l-1.34,-0.28l-0.97,0.43l-0.43,-2.89l-0.8,-1.28l-0.78,-0.51l0.01,-1.21l-3.11,-4.97l-1.01,-0.51l-1.15,1.25l-1.64,-0.45l-1.42,1.66l-0.27,-1.78l-1.33,-0.63l-1.86,-2.25l-0.58,-1.64l1.93,-1.02l-0.17,-1.81l-2.26,-2.14l-0.85,-1.68l-1.4,-0.64l-0.29,-1.14l-1.35,-1.07l-0.34,-1.71l-0.48,-0.1l-1.5,0.71l-0.46,1.13l-0.75,0.77l-0.41,1.66l-1.97,0.98l-0.15,0.66l0.39,0.69l-0.18,1.17l0.35,2.57l-1.18,-1.11l-1.64,-2.46l0.26,-0.93l-0.13,-1.54l-0.61,-1.15l-0.49,-2.64l0.35,-2.02l-0.18,-4.19l-0.68,-1.42l-0.3,-4.01l-0.81,-1.47l0.27,-2.58l0.73,-1.77l-0.32,-2.22l-0.69,-1.43l-0.38,-5.01l-0.43,-0.66l-0.38,-2.68l0.68,-0.51l0.12,-0.55l-0.22,-0.53l-2.39,-2.09l0.32,-1.05l-0.12,-0.76l-1.11,-1.1l-0.55,-1.12l-0.96,-0.65l-0.09,-1.15l0.27,-0.61l0.72,0.41l0.58,0.85l0.54,0.06l1.82,-2.1l-0.09,-0.57l-4.25,-3.93l-0.43,-1.19l-1.78,-2.18l-0.15,-0.81l0.4,-0.88l0.01,-1.0l-3.46,-4.5l-0.35,-1.84l-1.8,-0.83l-1.13,-1.01l-5.08,-1.54l-0.97,-1.04l-1.87,-0.84l-0.99,-1.27l-0.37,-2.07Z\",\\n      \"name\": \"Sichuan\"\\n    },\\n    \"CN-31\": {\\n      \"path\": \"M700.48,390.15l0.78,-0.49l1.64,0.44l4.06,2.59l3.72,1.18l0.73,0.5l0.01,0.48l-1.55,0.52l-2.35,-1.07l-1.57,-0.35l-3.69,-1.99l-0.49,-0.82l-1.3,-0.99ZM695.81,401.06l2.67,-0.28l0.32,-0.69l-0.17,-1.24l0.96,-0.26l0.18,-1.73l0.57,-1.03l1.9,-0.51l5.52,3.31l2.18,2.89l1.38,2.76l-0.68,0.54l-5.43,0.68l-1.94,0.79l-1.56,1.13l-0.76,-1.17l-1.33,-0.32l-0.73,-0.82l-1.28,0.38l-0.15,-2.75l-1.11,-0.45l-0.53,-1.25ZM709.58,397.23l0.33,0.11l-0.12,0.39l-0.09,-0.17l-0.12,-0.32Z\",\\n      \"name\": \"Shanghai\"\\n    },\\n    \"CN-54\": {\\n      \"path\": \"M70.73,377.97l3.34,-0.37l1.23,-0.9l-0.15,1.09l0.54,1.5l2.17,1.89l0.91,0.18l2.08,-0.52l0.73,-1.77l1.01,-0.31l0.78,0.26l0.68,-0.18l2.74,-2.56l0.46,-1.22l-0.07,-0.68l-0.8,-0.95l-0.53,-1.48l-1.11,-1.09l0.14,-1.59l0.56,-1.12l-0.27,-0.93l-1.79,-0.33l-1.67,-0.74l-0.76,0.05l-0.44,-0.81l-1.2,-0.5l-2.45,-2.9l-0.25,-0.85l0.08,-4.21l-0.96,-3.09l0.11,-1.12l2.44,-1.24l1.07,-0.98l0.31,-1.01l-0.29,-1.12l0.79,-0.58l2.38,-0.88l1.94,0.15l2.08,-0.67l1.64,0.2l1.92,0.8l1.28,-0.45l2.56,-4.65l-0.03,-1.0l-0.71,-1.03l-0.41,-1.53l2.26,-1.18l0.14,-0.89l-0.45,-0.8l2.34,-2.68l1.25,-2.81l0.02,-1.44l2.8,1.91l2.73,0.39l1.36,0.63l1.66,0.0l1.59,0.85l1.13,-0.27l0.26,-1.33l2.01,1.2l3.01,-0.16l1.97,1.31l0.91,0.18l1.64,-0.16l4.4,-1.29l0.64,-0.68l0.39,-1.3l3.26,-1.84l0.52,-1.59l1.2,-0.69l4.18,0.63l1.72,-0.7l1.62,0.44l0.16,2.69l2.42,1.65l1.67,-0.29l5.72,1.08l3.8,-0.26l2.19,-0.73l2.28,0.69l5.86,-3.09l3.17,-0.7l2.15,-1.48l3.2,-0.97l1.71,0.33l2.43,-0.38l1.04,0.53l0.39,0.83l0.64,0.26l0.85,-0.38l1.57,-1.49l3.26,0.04l2.16,-1.99l0.64,-1.79l0.87,-0.94l0.33,-1.3l2.77,-0.88l0.85,-0.8l2.69,0.07l1.94,-0.69l5.76,-0.68l2.46,-1.23l3.26,0.68l4.68,-0.6l1.6,-0.99l6.66,-0.35l0.84,0.55l2.84,0.79l1.86,-0.06l2.15,1.61l3.51,0.21l5.38,2.46l-1.46,0.48l-0.99,0.93l-0.07,0.73l0.57,1.4l1.83,1.11l2.84,0.09l-1.11,2.67l0.08,1.39l-0.47,0.82l0.22,0.63l0.53,0.33l-3.59,1.64l-0.2,1.53l-0.44,0.76l0.29,0.85l1.45,1.85l0.02,2.19l0.91,0.4l2.34,0.04l0.42,1.01l-1.59,2.08l0.7,1.15l0.41,1.71l0.07,2.42l0.72,0.67l-0.82,2.56l-0.63,0.63l-1.16,0.35l-0.46,1.33l1.63,2.88l2.11,1.56l0.03,0.83l0.91,0.74l0.43,1.53l2.65,1.07l0.55,0.88l0.09,1.69l1.69,1.97l1.77,0.13l3.43,2.15l1.86,0.31l1.17,-0.3l1.45,-1.34l1.27,0.07l1.52,-0.39l0.63,-1.27l2.45,-0.02l0.02,0.91l2.57,3.26l2.67,1.64l1.28,0.19l1.63,1.57l0.88,0.44l1.03,-0.07l0.98,-0.55l0.99,0.18l0.09,1.59l0.46,0.52l1.89,-0.07l0.54,-0.3l4.0,0.49l1.2,-0.31l1.79,0.5l1.97,-0.22l0.62,1.36l2.43,-0.13l2.33,1.56l1.1,0.05l0.94,0.89l1.75,-0.83l1.84,-0.11l0.77,0.2l0.93,0.98l1.16,-0.12l1.15,0.44l1.56,0.04l1.18,-0.75l2.06,-0.32l0.66,-1.02l0.66,0.22l2.72,-1.33l1.43,1.22l0.53,0.97l2.45,1.26l0.3,1.78l0.38,0.48l1.8,1.15l2.7,0.19l0.65,0.88l1.12,0.34l0.32,0.93l-0.2,0.97l-0.69,0.42l-0.17,0.84l0.81,2.46l1.25,1.14l0.58,0.19l1.68,-0.33l1.38,0.24l0.9,0.84l1.06,-0.29l3.22,0.05l1.12,2.42l0.65,0.44l0.64,-0.2l0.44,-0.57l-0.26,-0.8l0.25,-1.27l-0.34,-1.02l-0.97,-0.99l0.61,-0.86l1.02,-0.37l2.54,2.38l2.8,0.6l1.29,0.74l0.94,-0.26l0.4,-1.17l-0.68,-1.31l0.58,-1.27l-0.53,-0.73l3.31,-0.82l2.11,0.14l0.83,-0.87l0.98,-0.23l0.47,-0.85l-0.46,-0.69l0.4,-1.42l1.28,-0.09l0.44,-0.63l-0.19,-0.52l0.25,-1.24l-0.91,-0.57l0.39,-0.89l2.67,0.34l1.07,0.62l1.38,-1.51l3.94,1.16l1.06,1.0l1.63,0.68l0.22,1.67l1.28,1.97l2.08,2.32l-0.47,1.7l0.26,1.28l1.83,2.12l0.51,1.28l4.04,3.79l-1.07,1.36l-1.07,-1.11l-0.99,-0.03l-0.56,0.67l-0.18,1.79l0.11,0.6l1.18,0.63l0.48,1.03l1.08,1.09l-0.36,1.03l0.17,0.75l2.48,2.28l-0.69,0.47l-0.1,0.57l0.41,2.86l0.41,0.52l0.38,5.04l0.7,1.47l0.28,2.16l-0.68,1.44l-0.3,2.83l0.81,1.57l0.3,3.95l0.52,1.06l-1.35,0.28l-0.43,0.54l0.45,2.28l-1.06,0.81l-0.42,1.19l0.62,1.06l-0.74,0.33l-1.17,-3.01l-2.0,0.43l-0.52,0.4l-0.13,1.51l0.58,2.0l-1.3,1.25l0.07,1.55l0.73,2.11l-0.92,1.8l-1.58,1.2l-2.01,-1.91l-0.53,0.22l-0.71,2.05l-1.59,0.96l-1.49,-0.96l-0.09,-0.83l-1.52,-1.45l-0.89,-0.23l-0.98,0.3l-0.83,-1.95l-0.54,-0.54l-1.11,0.3l-0.76,-0.77l-0.87,0.34l-1.13,2.16l-0.04,1.46l-0.69,0.04l-0.92,0.93l-2.81,-2.24l-0.8,-0.12l-1.5,0.67l-0.63,-0.23l-0.25,-1.17l-2.95,-2.7l-1.26,-0.32l-1.09,0.43l-0.81,1.84l-0.39,-0.47l0.35,-0.43l-0.21,-0.86l2.23,-1.77l-0.33,-1.65l-1.96,-3.22l-1.17,-0.59l-0.18,-0.79l-0.51,-0.29l-1.92,0.87l-0.01,-0.82l1.79,-0.56l0.87,-1.69l-0.66,-0.71l-1.3,0.57l-0.55,-0.16l-1.18,-1.87l-2.81,0.15l-1.29,0.53l-0.83,-0.39l-0.99,0.17l-0.33,0.41l-0.23,1.5l-2.1,-0.39l-1.03,0.87l0.09,0.91l-0.9,-0.79l-0.63,0.78l-1.49,0.07l-0.48,0.38l-0.1,0.81l-0.62,-0.58l-3.54,-1.17l-0.52,0.32l-1.05,-0.37l-1.03,0.04l-0.01,-0.57l-1.05,-1.26l-1.17,-0.6l-0.63,0.02l-1.41,1.58l-1.72,0.22l-0.93,0.93l-0.88,0.26l-0.16,1.19l0.84,0.89l-1.04,1.08l-0.95,0.04l-2.99,1.51l-0.98,0.13l-0.76,0.89l-1.06,0.39l-1.02,0.86l-0.73,-0.07l-0.59,0.42l-2.74,0.06l-3.38,2.11l-0.95,0.75l-0.93,2.06l-2.81,1.89l-0.74,0.87l-0.97,-0.11l-1.57,1.06l-0.75,1.32l0.28,0.56l0.64,0.15l-0.16,0.75l-3.32,2.01l-0.55,-0.46l-1.48,0.85l-0.74,-0.99l-0.46,0.18l-0.19,0.73l-1.6,-0.02l-1.86,1.31l-1.46,-0.06l-1.31,-0.52l-1.8,0.05l0.32,-2.02l-0.38,-0.76l-3.31,-0.92l-1.07,-0.53l-0.62,-0.82l-2.0,0.19l-1.46,1.53l-0.43,0.1l-0.87,-0.24l-1.11,-0.86l-2.61,-0.44l-0.71,-0.42l-2.67,0.2l1.45,-1.23l0.25,-0.48l-0.39,-0.79l-3.09,-1.07l-0.48,0.0l-0.69,0.63l-0.44,-1.14l-0.53,-0.37l-1.23,0.49l-1.4,-0.33l-3.11,0.81l-1.68,1.82l-2.52,0.6l-1.83,1.59l-1.82,2.85l-1.57,0.93l-1.48,2.88l-1.08,0.29l-1.23,1.43l-0.42,1.59l0.41,1.36l-0.89,0.12l-1.4,-1.21l-0.41,-1.87l0.94,-1.73l0.71,-3.0l-0.07,-0.81l-0.56,-0.74l0.11,-0.99l-1.39,-1.26l-1.29,-0.27l-0.75,-0.6l-0.5,0.07l-1.19,1.12l-0.7,0.01l-1.17,0.78l-3.85,0.56l-0.55,1.03l-3.51,-0.43l-1.65,1.6l-1.16,-0.25l-0.83,0.29l-0.82,-0.5l-1.76,0.41l-0.56,-0.69l-1.25,0.58l-1.82,-0.12l-2.11,-1.95l-1.44,0.05l-0.95,-1.03l-1.42,-0.11l-0.16,-0.86l-1.0,-0.56l-0.99,0.38l-0.73,-0.39l-0.48,0.19l-0.68,2.46l-0.83,0.47l-3.03,-1.36l-0.31,-0.81l0.12,-1.16l-0.73,-0.59l-1.75,1.72l0.57,2.22l-0.39,0.32l-1.03,0.04l-0.06,-1.25l-0.83,-0.92l-0.5,-1.65l-1.98,-1.4l-0.41,-0.59l-0.11,-1.03l-0.67,-0.27l-1.06,1.19l-2.53,-0.63l-1.06,0.59l-0.73,-0.35l-1.13,0.19l-0.93,-0.53l-0.88,0.11l-0.04,-1.7l1.04,-1.33l0.26,-1.06l-0.38,-0.65l-1.76,-0.71l-0.52,0.17l-1.45,1.46l-1.42,-0.08l-0.75,-0.66l-0.9,-0.2l-0.11,-0.8l-1.03,-0.72l-2.37,-0.63l-0.37,-0.96l-0.88,-0.97l-1.9,-0.69l-0.27,-0.42l0.25,-1.54l-0.78,-0.51l-0.57,-1.09l0.38,-0.69l-0.1,-0.51l-0.74,-0.26l-0.59,-0.79l-0.68,0.12l-1.17,-0.62l-0.79,-0.01l-1.84,0.88l-1.45,0.15l-0.77,1.12l-1.37,-0.38l-0.23,-1.12l-1.61,-1.55l-0.63,-1.74l-0.76,-0.5l-0.64,0.13l-0.05,-1.06l-1.27,-1.18l-1.02,-0.1l-0.8,0.45l-1.07,-1.02l-1.22,-0.45l-0.94,0.35l-1.97,-1.73l-0.13,-0.83l-0.98,-0.15l-1.2,-1.39l-3.38,-1.79l-1.76,-0.53l-0.55,0.12l-0.2,-0.6l0.4,-0.92l-1.04,-1.01l0.12,-1.33l-0.5,-0.62l-1.55,0.09l-0.49,-0.4l-1.56,-0.28l-0.88,0.2l-2.5,-0.94l-1.29,0.67l-0.35,0.73l-0.93,-0.66l-0.83,-0.03l-0.52,1.22l0.08,1.39l-0.35,1.06l-1.1,0.39l-0.08,0.92l-0.52,0.27l-0.16,0.65l-1.34,-0.23l-1.77,-3.75l-2.84,-1.05l-0.82,-1.12l-1.92,-1.13l-1.33,-0.06l-2.73,-1.37l-1.57,-0.34l-0.28,-1.08l0.7,-0.89l-0.02,-0.42l-1.19,-1.21l-1.37,0.13l-0.5,-0.73l-1.84,-0.96l-1.19,-1.23l-1.58,-0.29l-2.24,0.64l-0.72,-0.33l-0.62,-0.84l-1.01,-0.17l-0.37,-0.97l-1.32,-0.72l-0.19,-1.09l-0.72,-0.49l-0.37,-1.57l-1.9,-1.7l-0.46,-0.14l-1.01,0.36l-0.39,1.29l-0.5,-0.33l-0.53,0.18l-0.57,0.8l-1.28,-0.12l0.32,-1.96l-0.91,-0.9l1.71,-1.63l-0.44,-0.85l-1.04,-0.64l-0.64,-1.42l1.01,-3.21l-1.48,-1.29l-1.97,-2.75l-0.72,-0.41l-0.35,-2.26l0.23,-0.62l-1.01,-1.76Z\",\\n      \"name\": \"Xizang\"\\n    },\\n    \"CN-33\": {\\n      \"path\": \"M712.07,417.09l1.37,0.04l2.68,1.27l0.26,0.35l-0.27,0.65l-2.51,-0.97l-0.93,0.12l-0.57,-0.56l-0.02,-0.92ZM713.83,414.36l1.02,-0.31l0.01,0.67l-0.62,-0.14l-0.41,-0.23ZM713.2,423.11l0.11,-0.14l0.15,-0.05l0.01,0.19l-0.27,-0.0ZM653.63,432.96l0.7,-1.13l0.09,-0.9l1.1,-0.36l0.73,-0.99l0.06,-0.72l1.66,-0.54l0.25,-0.4l0.59,0.33l0.41,-0.14l2.47,-2.71l1.36,-0.56l1.16,-1.22l0.13,-1.41l1.34,-1.04l1.07,-1.68l-0.34,-3.16l0.57,-0.99l-0.47,-1.26l0.73,-0.34l1.37,0.67l2.28,-0.02l0.45,0.24l1.47,-1.16l1.27,-0.21l0.01,-0.57l-0.49,-0.41l-0.52,-1.75l-1.16,-0.27l1.5,-1.84l0.62,0.71l0.87,-0.32l0.67,-1.88l0.54,-0.36l0.69,-1.19l0.77,-4.48l0.33,-0.3l3.22,-0.02l0.38,1.18l2.79,2.37l1.53,0.44l1.83,-0.24l0.36,0.68l0.88,-0.02l0.59,1.86l0.65,0.16l1.42,-1.43l1.8,-0.55l-0.11,-1.38l3.47,-0.54l0.18,2.92l1.07,0.36l0.62,-0.53l0.59,0.74l1.1,0.18l0.61,0.69l-1.92,1.64l-1.08,0.17l-1.1,0.68l-0.79,1.28l0.02,0.88l-0.33,0.07l-1.06,1.61l-0.35,0.03l-0.37,-0.87l-0.87,-0.66l-3.44,-0.15l-0.95,0.4l-0.68,1.73l-1.0,-0.44l-0.97,0.2l-1.41,1.48l-0.13,0.46l0.4,0.26l0.71,-0.13l1.21,-1.14l0.86,0.56l0.88,-0.16l1.06,-1.93l2.12,-0.01l1.09,1.93l-1.13,1.21l0.0,0.79l0.93,0.71l1.94,0.24l0.14,-0.45l-0.35,-0.62l-1.6,-0.24l1.08,-1.15l1.21,0.75l0.95,0.06l1.52,-0.68l2.3,-1.84l1.29,-0.3l1.66,0.34l0.67,0.45l3.31,4.36l1.32,1.08l0.85,-0.08l1.66,0.69l0.56,0.57l1.4,-0.02l-2.52,1.43l-0.31,0.86l-2.37,2.18l-2.0,0.49l-0.73,-0.29l-1.09,0.78l-0.01,1.75l1.12,0.79l0.86,-0.52l0.53,-0.87l1.76,-0.88l0.67,0.85l0.6,0.11l1.21,-1.3l-0.18,-0.42l-0.73,-0.38l1.49,-0.45l0.45,0.39l-0.89,1.01l0.75,1.13l-0.47,0.23l-0.05,1.71l-0.37,0.61l0.73,0.76l-0.15,0.38l-1.47,0.52l0.21,-1.7l0.52,-0.62l-1.21,-1.08l-0.63,0.35l0.13,1.85l-0.58,0.94l-0.6,-0.11l-0.02,-1.8l-0.53,-0.13l-0.34,0.29l-0.53,-0.29l-1.08,0.84l0.1,0.47l-0.38,0.57l-1.33,0.55l0.12,0.65l-0.23,0.24l0.28,0.68l1.4,0.03l0.54,-0.17l0.94,0.02l-1.23,0.23l-0.13,0.88l0.24,0.34l0.54,-0.0l0.27,-0.37l0.99,0.01l-0.22,0.63l0.21,0.43l-0.93,-0.53l-0.23,0.29l-0.66,-0.2l-0.45,0.13l-0.33,0.61l0.52,0.67l1.4,0.43l0.34,0.78l-0.41,1.13l-1.33,0.34l-2.12,-0.17l-1.45,-0.76l-0.36,-0.65l-1.06,-0.66l-0.68,0.32l0.45,0.86l1.85,1.24l-0.5,0.36l-0.04,0.48l2.68,-0.13l1.05,0.51l0.67,1.76l-0.66,0.38l0.37,0.64l0.7,-0.02l-0.02,0.6l0.84,1.48l-0.24,0.47l-1.4,-0.81l-1.68,0.5l-0.31,0.35l0.06,0.62l-0.61,0.69l0.12,0.78l-1.12,-1.23l-0.2,-1.2l0.49,-0.4l0.01,-0.45l-2.04,-0.35l-0.59,1.22l-1.38,-0.04l-0.18,0.6l0.21,0.31l1.23,0.24l-0.04,0.24l-0.46,0.89l-1.22,1.16l-0.49,1.62l-1.93,-0.07l-1.21,-0.72l-1.76,-0.09l-0.22,-0.93l-0.7,-0.21l-0.2,0.69l0.4,1.33l1.45,0.21l1.14,0.73l1.18,0.3l0.22,0.73l-0.71,0.51l-1.17,1.81l-0.9,-0.7l-0.61,0.37l0.57,1.0l-0.02,0.73l-1.09,1.46l0.47,1.03l0.73,0.27l-0.47,0.38l-0.16,0.67l-0.91,-0.27l-1.04,1.32l0.6,0.54l-0.51,1.33l-0.62,-0.32l-0.25,-1.17l-0.77,-1.12l-1.94,-0.73l-1.54,0.24l-1.25,0.9l-0.99,-0.3l-0.9,0.56l-1.98,0.18l-1.09,-1.44l-0.05,-1.48l-0.6,-1.24l-0.45,-0.26l0.04,-0.95l-0.47,-0.27l-1.24,0.07l-0.68,0.83l-0.52,1.51l-1.27,0.21l-1.66,1.34l-1.43,-0.18l-0.61,-0.57l-2.77,-0.22l0.44,-0.65l-0.61,-2.15l0.12,-0.72l-1.06,-3.09l-1.01,-0.91l0.03,-1.68l0.52,-0.75l-0.24,-0.81l0.47,-0.52l-0.11,-0.59l-0.88,-1.34l-0.63,-0.16l-0.69,0.46l-1.14,-0.13l-1.57,0.43l0.24,-0.6l-0.28,-3.04l-0.61,-1.33l0.16,-1.39l-0.82,-1.75l-1.06,-0.73l-0.27,-0.85l-0.95,-1.2l-2.33,-1.46l-0.84,-1.06ZM710.56,432.91l0.46,-0.01l-0.07,0.7l-0.01,-0.19l-0.38,-0.5ZM710.07,418.28l0.28,0.25l-0.22,0.5l-0.14,-0.05l0.08,-0.71ZM699.69,449.14l0.7,-0.44l0.49,-0.67l0.03,1.31l-0.89,0.63l-0.32,-0.83Z\",\\n      \"name\": \"Zhejiang\"\\n    },\\n    \"CN-15\": {\\n      \"path\": \"M347.72,203.74l32.89,3.89l8.0,-1.99l17.65,2.6l4.5,-0.13l1.56,0.37l1.31,0.88l2.23,3.25l1.29,1.24l1.08,0.52l15.25,3.18l9.15,4.34l11.56,-1.88l0.13,3.51l1.75,0.38l4.21,0.01l1.38,1.02l0.77,-0.27l2.67,-2.53l2.26,-0.73l7.51,-3.67l13.18,-5.16l20.65,-2.96l2.09,0.38l3.15,-0.04l3.89,0.65l2.5,-0.88l4.24,0.39l3.54,-0.45l2.69,-1.77l3.52,-1.38l2.23,-0.19l1.19,-0.79l3.9,-1.52l0.82,-1.36l2.28,-1.86l1.09,-2.05l4.22,-4.52l5.28,-2.15l0.98,-0.69l2.42,-0.47l2.81,-2.91l1.27,-0.03l1.52,-0.77l0.16,-1.87l-1.59,-2.83l-3.05,-2.35l-1.62,-2.11l-0.49,-1.79l-1.29,-1.0l0.36,-1.54l1.72,-2.55l0.17,-1.93l2.72,-4.9l1.4,-1.2l1.76,-0.82l1.94,0.36l4.34,0.01l1.47,1.21l1.0,1.33l2.46,1.1l5.36,1.31l5.37,0.43l0.83,0.45l1.3,0.11l4.3,-3.1l1.82,-0.33l1.15,-0.68l0.93,-1.29l3.99,-3.15l1.26,-1.91l0.29,-1.33l2.33,-0.72l3.39,0.97l5.92,-0.38l5.09,-1.17l4.9,-4.01l1.25,0.01l1.32,-0.74l1.25,-1.79l-0.54,-1.97l2.05,-3.51l2.47,-2.24l0.63,-1.15l2.1,-0.6l1.31,-1.04l1.99,0.37l5.71,0.16l0.48,-0.6l0.24,-1.77l0.65,-0.95l-0.09,-0.72l1.23,-0.03l0.67,-0.39l0.66,1.06l0.82,0.44l2.05,-0.04l1.66,-1.66l1.58,-0.38l1.27,-0.79l1.05,-0.12l1.41,-0.8l2.85,0.69l1.36,-0.01l0.72,-0.34l1.54,0.51l0.78,-0.3l1.15,-1.3l0.55,0.92l0.55,0.05l0.58,-0.47l1.01,1.24l4.28,1.08l2.67,-0.3l1.66,0.19l1.09,0.47l1.01,-0.45l0.61,-0.74l0.75,0.06l0.71,-0.54l0.56,-0.96l-0.33,-0.78l0.16,-2.8l-0.81,-0.44l-1.07,-1.37l-0.2,-1.78l-0.86,-1.35l-1.14,-1.15l-1.53,-0.67l-0.66,-1.01l-2.53,-1.95l0.29,-0.47l-0.29,-0.76l-2.53,-0.93l-0.42,-2.03l-0.37,-0.5l-4.65,-1.78l-3.23,-3.87l-1.15,-0.53l-2.94,-0.19l-1.5,-0.57l-3.09,0.57l-2.29,-0.13l-0.85,0.24l-1.39,0.85l-4.63,5.53l-3.93,-2.92l-3.85,-1.29l-4.77,0.75l-3.83,-0.48l-2.44,1.09l-2.32,2.21l-0.67,-0.3l-3.96,-3.7l-0.84,-3.79l3.52,-1.53l0.67,-0.62l-0.13,-5.09l3.46,-4.74l0.33,-0.79l-0.17,-1.19l9.27,-17.7l5.23,2.66l2.98,0.99l3.16,0.15l4.14,1.91l1.39,0.1l0.52,-0.08l0.98,-1.08l3.81,-2.19l0.71,-0.9l2.01,-1.11l0.26,-0.6l1.21,-0.32l0.73,-1.16l1.75,-1.12l0.89,0.14l3.08,-0.78l2.53,0.06l1.8,-0.58l1.69,-1.58l0.51,-1.19l-0.15,-2.56l0.45,-0.58l-0.12,-0.81l-0.33,-0.37l-1.53,0.02l-1.06,-0.55l0.45,-0.05l0.79,-0.82l0.65,-2.81l1.13,-0.83l0.23,-0.51l0.83,-0.35l0.87,-1.12l0.44,-3.34l3.15,-3.15l0.57,-1.83l-0.09,-0.71l0.65,-0.45l-0.01,-0.87l1.49,-1.41l-0.17,-0.69l0.68,-0.41l0.42,-0.83l-0.04,-0.93l1.07,-1.21l0.65,-2.04l0.84,-0.08l2.32,-2.14l2.07,-1.22l0.43,-0.68l1.09,-0.6l1.32,-0.23l0.98,-1.6l-0.17,-1.25l1.09,-1.18l0.19,-1.15l-0.47,-0.81l0.01,-0.93l-1.53,-1.25l-0.31,-0.69l0.89,-1.65l0.48,-2.02l-0.14,-0.51l-4.26,-1.98l-4.09,1.09l-1.21,-0.1l-0.47,-0.62l0.33,-1.08l-0.23,-1.2l3.42,-1.89l2.53,-2.86l2.41,-1.76l1.48,-1.77l1.51,-0.93l0.33,-0.76l2.86,-0.29l2.24,0.26l2.08,-0.94l0.78,0.13l3.06,1.65l0.73,1.81l1.18,0.67l0.51,1.27l-1.47,2.09l-2.74,2.62l-4.89,3.62l0.01,0.94l2.37,0.93l2.43,1.73l3.06,1.17l2.02,2.32l1.35,0.22l1.76,-0.58l2.45,-3.99l1.83,0.7l2.37,3.29l3.81,1.01l-0.19,0.61l-1.51,0.64l-0.38,0.68l1.89,5.83l-0.76,1.49l-0.01,0.77l1.9,2.93l0.09,1.29l0.65,1.09l1.16,1.31l2.01,1.47l1.32,-0.07l1.46,0.99l2.81,-0.09l1.35,1.21l1.04,0.24l2.5,-0.56l0.95,-1.68l2.29,0.19l2.25,-0.5l1.7,0.86l1.41,0.05l1.13,-0.54l0.34,-0.95l2.74,0.43l2.72,-0.72l0.55,-0.89l1.14,-0.67l0.24,-0.89l1.34,-0.51l0.36,-1.59l0.49,-0.2l2.92,0.62l2.13,1.39l1.14,2.08l1.21,1.1l0.81,1.49l1.5,1.17l0.54,0.04l0.37,1.08l1.18,0.89l0.39,-0.03l0.8,1.13l0.28,1.31l-0.47,0.83l-1.74,0.93l-0.03,0.64l-0.98,1.04l-0.57,-0.01l-0.53,0.41l-0.03,0.45l0.69,0.84l-0.28,0.65l0.36,1.38l-0.16,0.92l-1.03,0.43l-1.11,1.12l-1.1,0.43l-0.11,0.47l-0.52,0.34l-0.33,1.47l-0.97,1.11l-0.07,1.05l-0.68,0.19l-0.62,0.49l-0.05,0.59l-0.56,-0.06l-0.68,0.8l0.13,0.73l-0.3,0.12l-0.08,0.57l0.5,0.46l-1.42,1.26l0.74,1.3l-0.83,1.36l0.63,0.54l-0.06,2.1l-0.75,-0.22l-0.63,0.6l0.16,0.55l0.96,0.71l0.43,0.76l-0.16,0.4l0.68,1.7l-0.38,0.9l0.19,0.85l-0.42,0.98l-0.01,1.24l-1.27,1.37l-0.62,-0.03l-0.53,-0.52l-2.48,-0.24l-0.95,1.36l-0.06,1.14l-2.91,5.99l-0.21,1.94l-1.12,1.52l0.14,1.91l-0.32,1.75l0.56,1.16l0.04,1.37l-0.49,0.83l-0.05,0.84l-0.81,-0.76l-0.41,-1.58l-1.07,-1.57l-0.23,-2.64l-0.84,-0.97l-0.68,-0.02l-2.43,1.64l-5.16,4.85l-2.2,2.57l-4.26,2.11l-1.2,2.41l-9.46,5.32l-1.09,2.33l-1.31,1.46l2.53,4.17l1.23,0.93l1.97,0.81l3.01,3.66l1.22,0.91l2.06,0.66l1.04,-0.97l1.06,-0.3l0.76,-1.25l0.73,0.18l0.02,0.83l0.46,0.44l0.78,0.13l0.62,-0.31l0.27,0.36l-1.06,1.53l-2.15,1.76l-2.14,-0.06l-2.32,-0.57l-1.12,0.52l-0.41,3.98l2.4,3.34l-0.77,1.62l-4.08,0.32l-0.29,0.25l-0.04,3.49l-0.46,0.85l0.05,1.46l-0.77,0.98l-2.42,-1.72l-0.58,-1.58l-0.91,-0.97l-0.77,0.07l-0.44,0.93l-1.44,1.4l-3.3,-2.91l-1.94,-0.66l-1.39,-0.12l-0.51,0.12l-0.28,0.48l0.65,1.25l-0.22,0.97l-0.98,1.56l-1.23,1.06l0.37,0.72l1.32,0.8l2.13,-0.41l0.59,0.16l0.55,0.73l-0.32,1.12l0.31,0.96l0.74,0.9l1.49,0.49l1.08,1.63l0.4,1.37l-0.2,0.72l-0.89,0.72l-1.79,0.7l-0.51,1.25l0.47,2.87l-0.25,1.42l0.36,1.4l-0.05,1.39l0.76,1.72l2.73,3.16l-0.37,3.27l0.42,0.79l0.64,0.31l1.22,-0.18l3.28,-1.3l0.62,-0.58l1.36,-0.29l3.44,-2.01l1.69,-1.4l0.13,2.19l0.8,0.68l1.18,2.78l1.5,0.92l0.02,0.73l-0.54,0.61l-0.03,0.62l2.99,6.35l-0.22,1.18l-0.75,-0.38l-0.62,0.29l-0.02,0.64l-1.0,1.0l0.04,1.03l0.61,0.69l2.79,1.01l0.6,0.58l1.08,0.2l-1.07,4.14l-5.16,1.49l-1.26,1.05l-0.65,1.98l-0.97,0.68l-1.22,-0.01l-1.29,0.79l-1.71,0.19l-3.36,-1.78l-2.23,-0.35l-0.55,0.36l-0.18,0.63l1.03,2.04l-0.22,0.45l-1.49,0.36l-1.4,-0.86l-2.21,-0.63l-1.89,0.95l-0.8,2.35l-2.12,1.38l-1.09,0.05l-0.67,-1.11l-0.58,-0.32l-2.78,0.55l-5.33,4.49l-1.09,-0.82l-0.47,0.04l-2.67,1.25l-1.45,1.13l-2.04,0.33l-0.66,2.2l-1.8,1.08l-2.85,3.05l-0.48,1.43l-0.5,-0.05l0.09,-2.28l-0.79,-1.08l-0.11,-0.87l-1.29,-0.89l-0.13,-1.07l-1.08,-1.02l0.62,-0.6l-0.17,-0.75l-0.47,-0.34l-2.52,-0.45l-0.77,-1.98l-1.38,-0.88l-0.91,1.3l-1.96,0.69l-1.43,1.92l1.09,1.55l0.76,0.4l0.06,0.43l-0.78,1.59l0.11,1.8l-0.36,0.5l-0.11,1.14l0.24,2.16l0.61,0.94l0.47,2.91l-0.31,0.82l-1.15,1.07l-0.52,-0.32l-1.09,0.21l-4.08,-0.42l-0.92,-0.82l-1.57,0.7l-3.42,-0.21l-0.92,0.25l-0.45,0.46l-0.24,-1.85l-0.6,-0.58l0.22,-1.83l-0.43,-0.49l-0.86,-0.16l-1.05,-2.34l0.25,-0.45l1.22,0.79l0.73,-0.86l0.3,-1.51l-0.67,-0.95l0.3,-1.0l-0.31,-1.62l-0.51,-0.59l-0.68,-0.09l-1.01,1.11l-0.48,-2.54l-1.57,-0.8l0.78,-0.86l-0.31,-2.02l-3.23,-3.17l0.11,-0.64l-0.5,-0.41l-2.93,0.93l-0.72,-1.06l-0.44,-0.05l-1.43,1.46l-0.4,1.45l-2.24,-0.46l-2.25,0.13l-3.31,1.51l-1.03,1.84l0.86,1.96l-0.46,1.46l0.51,0.91l-1.14,1.01l-2.69,1.07l-0.96,-0.76l-1.02,0.32l-0.41,-0.83l-1.09,-0.2l-1.55,1.08l-1.01,1.15l-1.26,0.27l-0.74,1.18l-1.52,-2.2l-1.19,-0.15l-4.51,2.54l-3.54,1.26l-0.56,0.66l0.29,1.02l-0.68,0.05l-0.42,0.57l-1.9,-0.53l-2.85,0.09l0.12,-1.86l-0.29,-0.97l0.69,-0.38l0.22,-0.57l-0.17,-1.66l-1.07,-2.44l0.14,-0.78l-0.3,-0.72l-0.59,-0.53l-0.59,0.06l-0.51,0.52l-3.08,0.21l-1.15,1.08l-0.88,2.07l-1.39,0.75l-1.43,1.62l-0.58,4.23l-2.5,0.98l-1.39,1.98l-0.32,2.59l0.45,0.7l0.66,0.19l0.04,0.94l-1.03,-0.03l-0.55,1.18l-0.52,-0.08l-0.34,0.39l0.21,0.53l2.81,2.78l0.48,1.77l1.23,0.96l-1.1,0.76l-0.59,1.04l0.09,0.92l0.69,1.32l-2.43,0.46l-1.47,0.66l-1.76,0.05l-2.42,1.51l-1.05,0.28l-1.71,-0.0l-0.69,-1.19l-0.81,-0.52l-1.99,0.34l-2.15,1.01l-1.99,2.57l-1.11,0.45l-1.7,-1.12l-2.18,-0.83l-1.11,-0.01l-1.85,1.12l-1.69,2.96l-1.0,0.98l-2.16,3.9l-0.36,1.45l-1.08,1.04l-1.14,0.45l-1.1,-0.66l-3.45,-0.14l-0.66,0.68l-0.02,1.59l-1.1,1.29l-2.38,0.25l-0.9,0.61l-0.4,-0.24l1.11,-1.63l0.19,-1.13l-0.48,-0.33l-0.92,0.35l-0.83,-0.1l-2.67,1.85l-2.66,3.7l-1.85,-2.18l-1.64,0.33l-0.86,0.62l-0.86,-0.61l-0.96,-1.32l-1.0,-0.29l-0.81,0.21l-0.34,0.8l0.99,1.99l-2.97,1.63l-1.74,1.46l-0.37,0.72l-2.13,0.73l-0.71,1.98l-0.84,0.83l-0.39,0.99l-0.72,-0.11l-1.35,0.75l-0.48,1.04l-0.88,0.53l-0.08,0.82l-1.91,1.04l-1.98,2.33l-0.94,1.65l-0.51,2.21l1.23,2.21l-1.13,2.39l-1.09,-1.23l-0.71,0.2l-0.61,0.78l-0.39,4.4l-3.65,0.08l-2.42,0.6l-4.4,-0.02l-0.1,-1.11l-1.21,-1.41l-3.39,-0.83l-3.11,-1.23l-0.99,-0.05l-0.21,-1.09l-1.14,-1.54l-2.44,-1.28l-1.73,0.36l-3.24,-0.59l-4.74,-2.11l2.24,-2.56l0.96,-3.22l3.26,-4.71l0.8,-1.77l-0.1,-0.63l-1.4,-0.93l-0.49,-1.24l-0.57,-0.58l0.02,-1.87l-0.39,-1.05l-0.62,-0.32l-2.34,0.25l-1.72,1.25l-2.9,-0.05l-0.7,0.78l0.09,1.82l-0.6,0.27l-1.25,-0.09l-0.59,0.39l-0.74,2.37l-2.42,4.19l-0.84,2.89l-0.29,3.95l0.37,1.33l-1.01,0.98l-0.35,1.09l0.33,1.38l0.7,1.18l-0.35,2.93l-2.01,1.15l-1.92,0.17l-2.09,-0.5l-1.86,0.5l-2.78,1.35l-0.98,1.38l-0.64,0.31l-4.12,0.65l-1.26,-0.4l-1.59,0.18l-0.89,0.49l-0.89,1.47l-1.26,0.2l-2.01,-1.12l-6.35,-5.34l-3.58,-1.18l-0.5,-2.34l-0.02,-1.52l1.69,-0.44l0.41,-0.5l-0.62,-3.23l-0.69,-1.2l6.26,-3.8l1.61,-2.05l1.14,-2.28l1.46,-0.87l0.94,-1.67l0.01,-1.47l-2.43,-3.75l0.21,-1.49l-0.23,-0.51l-0.8,-0.31l-4.04,0.28l-4.28,1.18l-4.92,2.33l-2.33,1.76l-5.36,-0.99l-2.0,-1.02l-1.13,-0.0l-8.49,2.79l-0.08,0.83l2.89,2.95l-2.66,2.84l-2.53,-0.19l-0.92,0.22l-2.38,-1.02l-1.26,-0.09l0.36,-0.72l-1.16,-0.86l-0.78,-1.23l0.18,-0.96l-0.24,-0.54l-0.96,-0.29l-0.88,0.48l-0.6,-0.09l-2.39,-1.92l-0.41,-1.21l-0.03,-2.52l-0.63,-1.27l-4.49,-0.28l-0.49,-1.15l-2.23,-0.79l-0.39,-1.52l-1.12,-1.08l-4.38,-1.5l-2.47,-1.65l-4.32,-0.33l2.48,-2.58l4.31,-2.64l1.36,-3.08l2.75,-3.34l0.25,-1.15l-0.24,-1.42l-2.24,-3.18l-0.74,-0.33l-3.66,-0.24l-1.63,0.19l-2.36,0.98l-5.08,0.14l-4.98,1.97l-3.2,3.05l-4.81,0.37l1.3,-5.27l-0.09,-0.84l-5.6,-4.21l-4.14,-4.97l-0.02,-0.87l2.67,-2.28l0.11,-0.48l-9.35,-20.03ZM735.33,129.65l0.0,-0.0l0.01,-0.03l0.0,0.01l-0.01,0.02Z\",\\n      \"name\": \"Inner Mongol\"\\n    },\\n    \"CN-14\": {\\n      \"path\": \"M540.48,343.19l-0.86,-0.53l-0.2,-2.13l0.5,-1.26l-0.14,-1.12l1.07,-4.14l2.27,-3.24l0.78,-0.64l0.26,-1.35l0.62,-0.71l0.27,-0.92l-0.65,-1.96l-0.22,-2.23l-0.32,-0.72l-0.48,-0.27l-0.87,-3.96l0.38,-1.92l-0.2,-1.46l0.59,-3.02l-0.26,-1.28l-1.06,-1.25l0.44,-1.16l-0.58,-0.54l0.24,-0.81l-0.51,-1.04l0.46,-0.8l-0.09,-0.94l3.83,-4.91l0.3,-1.33l-0.82,-0.56l0.04,-0.27l1.42,-0.78l0.85,-1.9l-0.32,-1.07l0.34,-0.76l-0.86,-0.71l0.26,-0.35l-0.13,-0.7l-1.36,-0.9l-0.96,-1.82l-1.01,-0.68l-0.19,-3.3l0.9,-0.77l0.22,-1.09l1.04,-0.25l1.37,-1.27l0.41,-0.8l1.05,-0.45l0.78,-1.49l0.1,-0.98l-0.41,-0.62l1.53,-3.21l0.39,-1.66l-0.39,-1.21l2.04,-1.47l1.61,-4.0l-0.18,-0.68l-0.78,-0.87l-0.56,-0.17l2.53,-0.29l0.54,-0.33l1.31,-1.57l0.07,-1.37l0.3,-0.05l0.15,-0.51l2.69,0.25l1.23,0.67l1.73,-0.65l1.23,-1.23l0.4,-1.52l2.13,-3.84l0.98,-0.95l1.67,-2.92l1.58,-0.88l2.61,0.87l1.92,1.18l1.73,-0.66l1.93,-2.53l3.25,-1.23l0.56,0.21l0.62,1.15l0.69,0.44l2.68,-0.22l2.81,-1.67l1.64,-0.02l1.56,-0.68l2.66,-0.57l0.33,-1.1l-0.8,-1.56l1.02,-1.17l0.21,0.95l1.31,1.49l0.67,3.59l2.97,0.44l-5.68,1.93l-0.42,0.44l-0.22,1.12l-0.43,-0.44l-0.57,0.1l-0.98,1.34l-0.18,0.76l2.19,2.13l1.93,0.38l0.75,0.49l2.09,0.24l0.09,3.27l0.49,0.92l1.53,1.17l-1.15,3.14l-0.65,0.88l-0.13,1.77l-1.25,0.73l-0.67,0.89l-2.01,0.19l-1.4,-0.91l-2.79,1.01l-1.51,2.58l1.03,2.02l-0.94,1.15l-0.98,0.43l-0.15,0.74l-1.03,0.42l-1.16,2.02l0.12,1.66l-0.38,1.3l0.35,2.1l3.77,1.92l1.43,3.31l1.41,1.88l0.55,1.45l1.15,1.26l-0.75,2.7l-2.28,3.16l-0.56,1.71l-1.55,1.64l-0.13,1.28l0.37,1.2l0.02,1.57l-1.1,-0.14l-1.08,1.71l-2.28,0.58l-0.48,0.55l0.4,0.71l-0.14,0.89l1.27,1.49l-0.03,1.26l1.45,0.81l1.2,1.2l-0.71,2.07l0.18,2.97l-0.3,0.96l-0.55,0.56l-0.06,2.1l-0.5,0.72l-0.08,1.87l0.36,0.63l-1.9,1.92l-2.37,0.65l-0.38,0.75l-1.65,0.56l-0.67,0.66l-1.46,0.31l-1.73,1.46l-1.16,-0.03l-2.09,-1.17l-1.18,0.51l-0.41,0.76l-0.62,0.26l-6.87,-0.23l-0.34,0.4l-0.1,2.52l-1.03,-0.58l-1.96,0.21l-1.42,1.1l-0.9,0.24l-1.71,2.32l-2.36,0.65l-0.71,-0.32l-1.35,0.26l-0.45,0.39l-1.22,-0.27l-0.54,0.87l-1.79,0.79l-1.01,-0.22l-0.46,1.1l-1.76,0.1l-1.68,0.96l-1.58,0.26l-0.64,-0.46l-1.18,0.31l-1.1,-0.33Z\",\\n      \"name\": \"Shanxi\"\\n    },\\n    \"CN-\": {\\n      \"path\": \"M621.87,495.6l0.78,-0.51l1.15,-1.69l0.4,-2.63l0.65,-1.23l-0.25,-0.95l1.19,-1.75l0.75,-0.44l-0.39,-1.33l0.67,-0.6l1.15,-0.2l0.98,-0.63l1.09,-1.74l0.29,-1.08l-0.28,-2.4l1.37,-1.69l0.86,0.48l0.7,-0.63l0.34,-1.79l-1.14,-1.04l-0.53,-1.91l0.58,-2.66l1.56,-1.55l3.79,-0.62l1.8,-1.45l1.85,-3.0l-0.42,-1.21l-0.42,-0.21l0.38,-0.98l-0.23,-1.99l1.61,-2.4l1.0,-0.94l0.01,-1.14l0.76,-0.13l2.31,-1.64l1.12,1.76l2.3,0.77l0.78,-0.72l0.31,-1.23l1.82,-0.58l1.8,-0.12l1.05,-1.0l3.43,-0.85l0.42,-1.67l-0.43,-0.6l0.65,-0.53l0.35,-0.18l1.02,0.37l1.15,-0.58l0.59,0.23l1.3,-0.45l0.74,0.96l-0.5,0.6l0.29,0.77l-0.5,0.78l-0.04,1.91l1.11,1.2l0.98,2.9l-0.14,0.63l0.59,1.97l-0.56,0.69l0.54,0.74l3.03,0.38l1.19,0.66l1.2,0.01l1.82,-1.41l0.52,0.11l0.93,-0.45l1.14,-2.3l0.49,0.09l-0.09,0.84l0.58,0.39l0.49,1.02l0.05,1.48l1.33,1.81l2.72,-0.09l0.72,-0.53l1.11,0.27l1.14,-0.82l1.08,-0.31l1.75,0.52l0.61,0.88l0.16,0.64l-0.8,-0.2l0.1,-0.64l-0.87,-0.51l-1.61,0.62l-0.32,1.07l0.15,0.55l0.62,0.2l0.71,-0.56l1.16,0.44l-0.02,0.54l0.42,0.12l-0.07,0.49l-1.58,-0.51l-0.37,0.51l0.29,0.55l-0.71,0.74l0.4,0.51l-1.39,0.37l0.36,0.53l-0.56,0.11l-0.3,0.53l-0.84,-0.18l-0.39,0.31l0.06,1.42l-1.34,-0.01l-0.73,1.72l-0.66,-0.46l0.42,-0.48l0.25,-1.14l-0.4,-0.59l-0.92,0.26l-0.57,0.79l-0.55,-0.46l-0.45,0.05l-0.37,0.78l-0.62,-0.55l-0.7,0.23l-0.52,1.06l0.3,0.82l-0.39,0.33l0.18,0.97l1.04,0.96l1.12,-0.69l0.66,0.06l1.01,1.99l-0.24,0.21l-1.56,-1.17l-1.78,0.7l-0.08,0.46l0.39,0.52l0.88,-0.03l0.07,1.14l0.58,0.58l-0.82,0.51l0.14,0.62l-2.6,3.54l-4.9,-2.47l-0.72,0.32l0.82,1.01l0.77,0.19l0.67,1.66l0.45,0.41l1.43,0.37l1.02,-0.16l1.38,-0.82l0.26,-0.65l2.15,0.52l-0.41,0.83l-1.52,0.77l0.64,1.98l-0.29,0.64l-0.65,-0.21l-1.03,0.3l-0.44,0.5l0.53,1.8l0.74,0.53l0.49,-0.15l0.09,0.89l-0.37,0.21l-0.15,-0.43l-0.55,-0.02l-0.28,-0.48l-1.08,-0.2l0.25,-1.02l-1.29,-0.41l-0.88,0.85l-0.52,1.28l-1.86,0.87l-0.19,0.54l1.26,1.57l0.29,1.07l0.49,0.03l0.85,-0.85l0.31,0.42l-0.65,0.28l-0.02,0.53l-0.94,0.11l-0.77,-0.6l-0.63,0.31l-0.64,-0.41l0.1,-0.37l-0.35,-0.44l-0.81,-0.06l-1.7,0.67l-0.27,0.36l0.18,0.58l0.52,0.52l0.64,0.07l-0.17,0.61l-1.04,0.08l-0.43,0.77l0.55,0.8l1.13,0.64l-0.7,0.22l-0.13,0.83l-1.45,-0.0l-0.36,0.35l-0.65,-1.07l-1.03,-0.06l-0.41,0.61l0.14,0.49l-1.11,-0.07l1.03,2.26l1.08,-0.19l0.53,0.35l-0.64,0.65l-0.77,-0.11l-0.18,0.23l-0.21,1.03l0.38,0.52l-0.56,0.55l-0.13,-0.48l-1.83,-0.93l-0.06,-0.9l-0.64,-0.18l-0.44,0.42l0.04,1.04l-0.51,0.26l-0.84,-0.19l-0.94,0.56l0.17,-0.48l-0.91,-1.48l-0.69,0.24l-0.49,1.14l-0.65,-0.29l-1.48,1.12l-0.02,0.56l0.82,0.34l-0.45,0.48l-1.53,-0.52l-1.29,0.34l-0.33,0.39l0.15,0.42l1.23,1.0l0.79,0.27l1.46,-0.24l-0.29,0.63l0.23,0.49l0.92,-0.3l0.37,0.63l-0.56,0.12l-0.72,0.75l-0.41,0.16l-0.67,-0.3l-0.63,0.47l0.26,0.74l-0.59,1.54l-0.79,0.37l-0.76,-0.93l-0.53,0.55l-1.11,-0.36l-0.16,0.43l0.4,0.62l-0.05,0.86l-0.78,1.08l-0.68,-0.72l-2.1,-0.53l-0.43,0.17l-0.16,0.79l1.29,0.66l-0.38,0.93l-0.99,-0.19l-0.74,0.47l-0.91,-0.23l-0.28,1.53l-0.61,0.04l-0.26,0.87l-1.85,-1.54l-1.62,-5.17l0.56,-2.06l-1.19,-2.98l-0.73,-0.7l-0.27,-0.82l-0.97,-0.69l0.39,-1.58l-0.16,-0.57l-2.03,-0.2l-1.88,0.83l-2.06,-3.48l-1.47,0.43l-0.4,-0.48l-2.15,-0.09l-1.03,-0.72l-2.08,-0.36l0.2,-1.05l-0.66,-2.7ZM656.5,505.03l-0.03,0.12l-0.1,-0.07l0.06,-0.01l0.07,-0.04ZM676.95,491.96l0.08,0.14l0.0,0.09l-0.06,-0.17l-0.03,-0.06ZM679.29,477.66l0.05,-0.36l0.62,-0.75l0.31,0.62l-0.98,0.49ZM683.74,471.1l0.24,0.31l-0.17,0.84l-1.2,0.46l1.13,-1.61ZM681.39,473.34l-0.07,0.36l-0.54,0.39l0.11,-0.59l0.5,-0.17ZM678.82,490.95l0.22,0.01l0.41,-0.12l-0.74,0.75l0.11,-0.63ZM679.47,489.85l-0.5,-0.11l-0.09,-1.06l0.85,0.62l-0.26,0.55ZM676.67,481.19l0.06,-0.02l0.05,0.06l-0.11,-0.03ZM654.76,506.11l0.81,0.04l-0.41,0.81l-0.22,-0.03l0.25,-0.49l-0.42,-0.32ZM644.32,518.58l0.13,-0.44l0.82,0.28l-0.13,0.47l-0.49,0.15l-0.32,-0.47ZM644.25,520.17l0.03,0.08l-0.12,0.02l0.04,-0.04l0.05,-0.06Z\",\\n      \"name\": \"Fujian\"\\n    },\\n    \"CN-12\": {\\n      \"path\": \"M636.92,258.05l3.33,1.19l1.08,-0.32l0.57,-2.54l-0.23,-0.73l0.81,-0.29l0.31,-0.49l-0.34,-0.61l-1.0,-0.23l-0.35,-0.95l1.22,-2.1l1.18,-0.54l0.82,-1.33l0.05,-0.69l2.8,1.69l0.82,1.06l1.15,0.23l-0.04,0.57l0.51,0.47l-1.84,0.05l-1.48,-0.7l-0.66,0.32l-0.09,2.38l0.44,2.13l0.77,1.33l0.66,0.37l-0.16,1.15l0.3,0.44l1.49,0.83l0.53,-0.22l0.29,-0.6l1.66,0.3l-0.49,2.1l0.39,0.62l1.53,0.79l-0.01,1.67l-1.63,0.35l-2.65,1.91l0.81,1.76l-0.45,-0.18l-0.56,0.45l-1.68,2.86l-0.56,3.13l-3.85,0.98l-0.57,-0.61l-1.91,-0.36l-0.64,-1.49l-2.22,0.18l-0.48,-0.7l-1.43,-0.61l-0.51,-0.65l-0.4,-1.46l0.2,-1.19l2.76,-1.71l0.39,-0.6l-0.19,-0.89l-0.97,-0.62l0.35,-2.5l-0.91,-2.47l-0.0,-1.57l1.09,-1.34Z\",\\n      \"name\": \"Tianjin\"\\n    },\\n    \"CN-13\": {\\n      \"path\": \"M586.69,308.4l2.06,-0.5l0.89,-0.81l0.29,-0.94l0.87,0.21l0.59,-0.41l-0.25,-4.13l1.49,-1.54l0.56,-1.72l2.29,-3.19l0.85,-3.05l-0.23,-0.85l-1.01,-0.83l-0.58,-1.47l-1.42,-1.91l-1.43,-3.36l-1.88,-1.24l-1.86,-0.59l-0.26,-1.73l0.37,-1.19l-0.13,-1.57l0.98,-1.64l1.03,-0.39l0.2,-0.78l0.86,-0.34l1.15,-1.42l-0.01,-0.73l-0.95,-1.59l0.74,-0.72l0.61,-1.42l2.13,-0.68l1.21,0.88l2.02,-0.05l2.58,-1.82l0.4,-0.86l0.06,-1.49l0.59,-0.71l1.21,-3.4l-0.45,-0.9l-1.32,-0.92l-0.31,-0.63l0.09,-2.78l-0.35,-0.74l-5.01,-1.27l-0.57,-0.88l-1.15,-0.69l0.74,-1.01l0.59,0.53l0.62,-0.17l0.47,-1.8l5.1,-1.66l1.12,-0.9l-0.56,-0.8l-2.73,-0.24l-0.47,-3.14l-1.49,-1.9l-0.06,-1.42l-0.61,-0.83l-0.9,-0.55l-0.5,-1.8l-2.28,-2.31l0.46,-1.23l0.92,0.1l0.53,-0.64l-0.17,-1.55l-1.0,-0.58l0.23,-2.04l1.18,-1.74l1.69,-0.49l1.01,-0.72l0.35,-3.31l0.55,-1.46l2.4,-1.68l0.94,-2.14l0.64,-0.72l0.76,-0.26l2.34,0.01l0.73,-0.47l0.29,0.38l-0.1,0.99l1.07,2.45l0.13,1.44l-0.67,0.32l-0.23,0.49l0.28,1.11l-0.17,2.27l0.47,0.36l3.13,-0.1l2.13,0.53l0.66,-0.65l1.17,-0.06l0.13,-0.48l-0.5,-1.03l0.19,-0.19l3.49,-1.24l4.38,-2.49l0.46,0.01l1.41,2.14l0.71,0.23l0.68,-0.39l0.39,-0.91l1.19,-0.22l2.47,-2.19l0.34,0.09l0.52,0.94l1.28,-0.28l0.47,0.6l0.58,0.16l3.01,-1.14l1.21,-0.8l0.4,-0.84l-0.51,-1.04l0.46,-0.79l-0.01,-0.79l-0.85,-1.84l0.71,-1.16l3.0,-1.36l2.04,-0.12l2.47,0.44l0.53,-0.41l0.37,-1.41l0.87,-0.81l0.97,0.95l2.58,-0.88l0.2,0.64l3.1,2.98l0.23,1.64l-0.64,0.43l-0.11,0.69l0.41,0.52l1.24,0.51l0.47,2.62l0.55,0.28l0.74,-0.11l0.65,-1.01l0.2,0.13l0.27,1.43l-0.34,1.07l0.71,0.95l-0.26,1.14l-0.13,0.28l-0.65,-0.65l-0.78,-0.04l-0.41,0.3l-0.28,0.91l1.24,2.84l1.15,0.39l-0.28,1.79l0.67,0.64l0.32,2.01l1.04,0.43l0.59,-0.7l3.84,0.12l1.43,-0.67l0.89,0.77l4.2,0.43l0.89,-0.17l-0.96,1.85l-1.87,1.54l-1.54,0.59l-0.04,1.05l1.07,0.53l-1.41,0.11l-0.91,1.93l-0.03,0.79l3.24,3.28l1.16,-0.15l0.64,-0.53l0.01,1.13l0.75,1.08l1.03,0.65l3.76,-0.24l0.42,0.8l-0.26,2.03l0.82,1.57l-0.02,1.19l0.35,0.26l1.28,-0.06l-0.06,1.85l1.46,1.45l-4.31,1.53l-0.36,1.29l-1.22,0.37l-1.21,1.13l-0.9,2.23l-0.9,0.27l-0.43,0.62l1.34,2.14l-0.22,0.81l-1.38,0.5l-2.43,2.77l-1.39,0.1l-0.63,-0.55l-1.12,1.05l-3.77,0.02l-0.49,0.65l-2.37,1.39l-0.9,-0.2l-0.66,-0.43l-1.06,-1.73l-1.81,-0.89l0.07,-1.48l-0.4,-0.82l-1.56,-0.8l0.49,-1.84l-0.22,-0.71l-0.63,-0.41l-1.8,-0.2l-0.45,0.18l-0.2,0.52l-0.98,-0.53l0.04,-1.28l-0.75,-0.52l-0.62,-1.08l-0.42,-1.94l0.08,-1.76l1.38,0.63l2.33,-0.12l0.41,-0.68l-0.63,-0.84l0.03,-0.7l-1.62,-0.52l-0.65,-0.95l-2.29,-1.53l-1.76,-0.71l-1.12,-1.26l-0.05,-1.62l-0.81,-0.86l0.1,-0.31l1.06,-0.77l1.9,-0.21l0.52,-0.73l0.62,-0.21l0.22,-0.65l-0.33,-0.31l-2.69,-0.01l-1.94,-0.55l-1.47,0.34l-1.5,-0.72l-4.16,-3.9l-0.17,-1.34l-0.43,-0.52l-0.81,0.14l-0.38,0.91l-1.3,0.64l-0.58,0.83l-1.46,-0.42l-0.25,0.8l1.52,2.01l-1.15,-0.01l-0.72,0.45l-0.69,-0.46l-0.53,0.02l-1.62,2.0l-1.2,0.86l-2.15,-0.22l-2.63,1.24l0.06,0.66l2.97,3.74l0.12,0.57l-1.27,1.71l-4.37,1.34l-1.96,1.88l0.04,0.75l1.09,0.79l0.03,1.11l0.64,0.64l-0.97,-0.02l-0.6,0.48l0.34,2.5l0.42,0.56l1.15,0.44l1.47,0.01l0.37,0.76l1.14,0.78l2.82,-1.13l1.03,0.33l2.59,-0.38l0.6,1.09l1.08,0.86l1.58,0.44l1.16,-0.56l0.03,-0.66l-0.42,-0.43l1.34,-0.5l0.38,-0.61l2.72,-0.04l0.08,1.73l0.87,2.31l-0.39,2.32l0.29,0.68l0.93,0.68l-3.1,2.19l-0.27,1.56l0.5,1.82l0.68,0.86l1.35,0.56l0.7,0.85l0.81,0.16l1.42,-0.31l0.48,1.38l1.98,0.43l0.81,0.7l4.37,-0.96l2.17,3.92l1.37,1.54l-0.61,0.74l0.09,1.12l-1.02,1.21l-1.95,0.54l-2.12,3.39l-9.18,0.11l-0.76,0.61l-0.39,1.02l-1.12,0.8l-0.78,1.36l-2.27,2.06l-0.69,-2.02l-0.9,0.19l-1.69,2.58l0.03,0.7l0.47,0.53l-0.29,0.31l-1.12,-0.2l-1.34,0.22l-1.25,0.7l-0.21,1.21l-1.0,1.02l-0.62,2.24l-1.1,1.15l-0.13,0.86l-1.16,1.24l-0.39,0.88l-2.8,1.15l-1.97,2.54l-0.95,2.0l1.06,3.34l0.88,0.31l0.61,0.84l0.06,0.95l-1.45,1.16l-1.27,-1.49l-1.98,-0.32l-1.08,0.73l-0.78,1.23l-0.51,0.14l-0.57,-0.86l-0.96,-0.6l-2.01,-0.09l-2.1,0.33l-3.34,-1.87l-2.13,0.06l-1.43,-0.39l-1.46,-1.57l-1.32,0.21l-0.59,-0.35l-0.98,0.43l-0.96,-0.22l-1.34,-1.35l-1.29,-0.64l0.16,-1.11l-1.31,-1.51l0.22,-0.64l-0.27,-0.49ZM660.61,269.06l0.93,0.75l-0.77,0.59l-0.22,-0.51l0.06,-0.83ZM635.35,252.18l3.07,-0.16l2.93,-0.87l-1.06,1.93l0.31,1.16l0.8,0.65l-0.56,0.58l0.27,0.79l-0.42,2.17l-3.58,-1.17l0.74,-1.26l-0.19,-1.01l-1.99,-1.11l-0.51,-0.94l0.2,-0.77Z\",\\n      \"name\": \"Hebei\"\\n    },\\n    \"CN-11\": {\\n      \"path\": \"M615.9,256.47l1.62,-0.31l0.26,-0.62l-0.9,-0.84l-0.15,-1.37l-0.99,-0.65l1.99,-1.74l4.06,-1.19l1.52,-2.03l-0.18,-1.32l-2.9,-3.64l1.98,-0.79l2.31,0.17l1.43,-1.02l1.37,-1.84l0.89,0.49l0.89,-0.47l1.76,-0.04l0.22,-0.71l-1.24,-1.66l0.92,-0.1l0.57,-0.83l1.35,-0.66l0.33,-0.88l0.31,1.55l4.41,4.12l1.74,0.81l1.57,-0.33l1.81,0.53l1.71,-0.09l-0.24,0.48l-2.44,0.48l-1.05,1.3l0.09,0.64l0.75,0.74l0.18,1.93l1.56,1.47l0.15,0.71l-0.8,1.28l-3.4,0.67l-1.09,0.52l-2.87,0.06l-0.77,0.48l-0.29,1.32l0.6,1.27l2.11,1.4l-1.59,2.91l-2.68,-0.12l-0.84,0.28l-0.52,0.69l-1.61,0.7l-0.13,0.67l0.54,0.51l-0.68,0.09l-1.79,-0.98l-0.49,-0.99l-0.69,-0.39l-2.57,0.39l-1.2,-0.32l-2.03,0.58l-0.53,0.55l-1.27,-1.44l-1.46,-0.04l-1.14,-0.4l-0.47,-1.96Z\",\\n      \"name\": \"Beijing\"\\n    },\\n    \"CN-34\": {\\n      \"path\": \"M607.66,370.19l0.18,-1.07l0.61,-0.41l1.0,0.48l1.74,0.12l2.14,-0.87l0.53,-1.42l0.72,-0.86l-0.39,-2.03l0.37,-1.68l0.52,0.01l0.95,-0.91l2.68,-0.6l-0.62,-2.75l0.53,-0.42l0.11,-1.43l-1.0,-0.83l0.32,-1.18l0.95,-1.06l0.96,-0.16l1.34,0.95l1.66,0.06l0.02,1.43l1.06,0.98l1.22,1.9l0.77,0.44l4.13,-1.25l0.57,-1.1l1.76,-0.81l0.94,-0.11l0.17,-1.15l-1.43,-2.74l0.47,-0.91l-0.12,-1.87l-0.65,-0.27l-2.27,0.19l-3.16,-2.67l0.06,-1.57l1.02,0.15l1.97,-1.16l0.38,-0.04l0.78,0.63l1.75,1.78l2.54,0.73l0.64,0.98l1.9,-0.01l0.32,0.43l-0.16,1.22l0.74,0.73l-0.03,0.97l0.47,0.59l2.22,1.21l2.22,0.11l1.19,0.88l1.47,-0.4l0.86,0.96l0.93,-0.07l0.59,1.63l0.79,0.31l0.01,1.46l-0.3,0.65l0.28,0.36l2.27,0.04l3.62,-0.65l0.46,0.75l-0.79,1.28l-0.16,1.81l-0.82,0.34l-1.05,2.94l-0.78,1.26l1.52,1.57l0.98,0.2l1.66,-0.86l0.15,1.78l0.88,1.65l-0.61,0.51l-0.06,0.79l0.75,1.04l0.19,1.03l1.45,0.96l2.93,0.06l0.6,-0.3l1.55,0.22l0.69,-0.54l0.12,-1.5l0.69,-0.36l0.59,-1.52l0.69,0.24l0.82,-0.17l0.45,0.89l1.33,1.18l0.62,0.17l0.03,0.74l0.48,0.74l0.17,1.79l-1.31,2.04l-0.69,-0.76l-0.72,-0.13l-1.2,-1.33l-0.91,0.1l-1.39,-0.4l-3.16,0.58l-0.14,0.77l0.58,0.6l0.1,0.68l1.0,0.42l0.23,1.74l-0.49,0.87l0.23,0.48l-2.29,0.84l-0.14,0.99l-1.17,0.68l-0.51,0.68l0.07,0.92l-0.59,1.03l0.6,0.71l1.16,0.53l0.34,1.69l1.18,0.8l1.45,0.33l-0.17,0.52l0.34,0.55l1.08,0.28l0.58,-0.33l0.41,0.53l0.65,-0.09l0.19,1.28l-0.75,1.93l-1.07,0.56l-0.29,0.62l0.31,1.09l0.8,0.98l4.26,-0.09l1.41,-0.8l1.15,0.41l1.2,-0.13l0.01,0.84l0.34,0.44l3.59,0.99l-0.7,3.97l-1.16,1.36l-0.64,1.82l-0.45,-0.66l-0.77,0.07l-0.7,0.95l-0.74,0.36l-0.48,0.95l0.27,0.89l1.03,0.22l0.47,1.55l-1.54,1.07l-2.56,-0.1l-1.52,-0.69l-1.33,0.58l-0.22,0.74l0.45,1.19l-0.76,0.86l0.57,2.94l-0.62,0.58l-0.27,0.79l-1.38,1.08l-0.16,1.45l-1.01,1.05l-1.44,0.63l-2.32,2.53l-0.93,-0.51l-0.47,0.39l-0.04,0.48l-1.5,0.43l-0.48,-0.32l-0.32,-1.47l-1.65,-0.74l-1.7,0.3l-1.26,-0.33l-1.44,0.23l-0.95,-0.88l-1.47,-0.05l-1.75,-2.26l-0.14,-1.22l-1.43,-0.23l-0.96,0.18l-0.09,-0.92l-0.86,-0.59l-1.24,0.33l-0.98,1.25l-0.06,0.53l0.59,0.62l-0.21,0.8l-1.75,0.82l-1.22,1.76l-1.23,-0.39l-0.58,0.31l-0.93,-0.92l0.33,-0.97l0.41,0.06l0.51,-0.61l0.84,-0.18l1.04,-1.66l0.36,-1.25l-0.28,-0.68l-1.24,-1.25l-1.46,-0.65l-1.1,0.12l-0.85,0.66l-1.2,1.88l-1.79,0.28l-1.79,1.38l-1.28,0.01l-0.28,-1.8l-0.73,-1.01l0.14,-1.04l-0.61,-2.87l-1.31,-1.42l-0.74,-0.34l-0.35,-0.74l1.01,-0.9l-0.09,-1.21l-1.0,-1.35l-0.69,-0.31l-0.84,-1.3l0.13,-0.82l0.77,-0.0l0.44,-0.36l0.0,-1.3l2.35,-1.68l0.26,-1.27l-0.71,-0.5l-0.82,0.04l-0.94,-1.4l-1.33,-0.04l-2.03,-1.52l-0.75,0.03l-0.53,0.87l-1.79,-2.47l-0.84,-0.48l0.23,-2.27l1.89,-3.27l2.15,-0.87l2.8,0.05l0.68,-0.43l0.41,-3.87l-0.2,-3.68l-0.39,-2.38l-0.4,-0.69l0.08,-1.29l0.78,-1.01l-0.42,-0.31l-0.74,0.13l-1.25,1.29l-1.17,-0.05l-0.53,0.29l-0.44,0.99l-1.13,0.1l-1.17,-1.48l-1.32,-0.91l-2.36,-0.59l0.08,-0.84l-0.42,-0.74l0.23,-1.5l-0.26,-1.23l-4.45,-2.16Z\",\\n      \"name\": \"Anhui\"\\n    },\\n    \"CN-36\": {\\n      \"path\": \"M588.88,461.01l-0.6,-3.22l0.73,-1.75l1.43,-2.17l0.13,-1.99l2.71,-0.76l1.17,-0.86l0.46,-0.59l0.13,-1.19l0.7,-0.48l0.23,-0.68l1.39,-0.63l0.78,-1.33l-0.12,-1.02l-0.74,-0.48l0.04,-1.04l-1.45,-0.79l0.65,-1.14l0.33,-2.29l-0.2,-0.85l-1.46,-0.89l-0.44,-0.68l-1.45,-0.61l-0.06,-0.3l0.07,-1.04l1.26,-1.42l0.89,-0.56l2.7,-0.65l0.17,-1.32l0.36,-0.47l0.63,0.47l1.19,-0.08l0.66,0.27l3.56,-1.13l0.49,0.42l0.7,-0.12l0.79,-0.54l0.91,-1.62l0.79,-0.11l0.33,-0.79l1.24,0.06l0.63,0.76l0.5,-0.17l0.43,-1.58l-0.31,-0.55l1.93,0.6l1.38,-0.6l1.05,-1.18l0.84,-2.15l2.94,-0.03l0.45,0.77l2.27,1.3l1.83,-0.21l1.6,-0.67l1.88,0.07l2.29,-1.53l1.85,-0.31l1.32,-1.96l0.66,-0.53l0.59,-0.05l1.08,0.44l1.26,1.36l-1.16,2.27l-0.57,-0.04l-0.47,0.56l-0.67,0.12l-0.62,1.5l0.11,0.6l1.4,1.35l0.84,-0.29l0.67,0.35l0.88,-0.12l1.39,-1.87l1.8,-0.86l0.45,-1.43l-0.43,-0.85l0.58,-0.86l0.58,-0.15l0.29,0.19l-0.02,0.81l0.44,0.41l2.12,0.13l0.01,0.65l0.56,0.99l1.58,1.76l1.57,0.1l1.15,0.93l1.46,-0.23l1.46,0.32l1.31,-0.34l1.37,0.58l0.14,1.23l0.84,0.68l-0.6,1.18l-1.11,0.32l-0.21,1.16l-0.76,1.42l1.19,1.73l0.91,0.4l1.23,0.93l0.12,0.51l0.55,0.19l0.49,1.2l1.03,0.68l0.77,1.58l-0.18,1.31l0.54,1.28l-0.18,0.49l0.37,0.46l0.16,2.0l-1.8,1.64l-0.05,0.49l0.44,0.5l-0.15,0.92l-3.13,0.73l-1.07,1.0l-1.69,0.11l-2.04,0.66l-0.5,0.54l-0.41,1.32l-1.65,-0.64l-0.91,-1.58l-0.63,-0.32l-2.77,1.76l-0.92,0.09l-0.25,0.46l0.09,1.05l-0.89,0.79l-1.79,2.75l0.24,2.09l-0.34,1.41l0.81,0.89l-1.12,1.38l-0.53,1.21l-1.49,1.24l-3.73,0.54l-1.93,1.84l-0.79,3.28l0.6,2.19l1.02,1.09l-0.24,1.1l-0.61,-0.4l-0.61,0.1l-1.65,2.0l0.21,2.41l-0.28,1.22l-0.97,1.53l-1.84,0.61l-0.97,0.84l0.05,1.48l-1.68,2.17l0.17,1.2l-0.63,1.17l-0.36,2.52l-0.98,1.43l-0.97,0.79l0.65,3.16l-0.48,0.63l0.54,0.89l-1.33,0.26l-0.68,0.94l-0.08,1.3l0.48,0.84l0.17,1.57l-0.93,0.23l-4.08,-3.72l-1.49,0.45l-1.01,-0.04l-1.59,1.14l-1.54,-0.33l-1.81,0.7l-0.82,1.14l-0.51,-0.51l-1.22,-0.14l-0.56,0.41l-0.19,0.83l-0.89,-0.53l-1.05,0.52l-1.19,-0.02l-0.9,0.82l-0.64,-0.95l-1.1,-0.5l-0.57,-0.74l-0.76,-0.18l1.81,-1.29l1.04,-1.75l0.33,-1.36l2.04,-1.22l2.62,-0.98l0.17,-0.53l-0.67,-0.55l0.44,-1.71l-0.47,-0.71l-1.49,-0.71l-0.28,-0.9l-0.61,-0.28l-0.95,0.52l-0.93,-0.04l-0.78,0.87l-1.23,0.59l-2.32,-0.29l-1.34,0.66l0.26,-0.6l-0.16,-1.7l-1.24,-0.39l0.75,-1.92l-1.0,-1.37l-0.16,-0.93l1.62,-2.72l0.14,-2.02l2.44,-1.55l0.4,-0.81l-0.26,-0.56l-1.01,-0.41l-1.65,0.8l-0.64,-0.27l-0.52,0.25l0.81,-1.05l0.34,-1.87l0.83,-1.11l0.22,-1.91l-0.38,-0.43l-0.91,-0.1l-2.02,-0.93l-0.45,-2.43l0.48,-0.6l0.41,-1.69l-1.53,-2.13l-0.52,-0.16l1.37,-2.45l0.07,-1.35l-1.35,-0.72l-1.57,0.66l-0.77,-0.34Z\",\\n      \"name\": \"Jiangxi\"\\n    },\\n    \"CN-37\": {\\n      \"path\": \"M607.21,336.72l0.28,-1.61l-0.19,-0.71l1.25,-0.61l1.78,-2.6l1.17,-0.55l1.4,-0.15l1.35,-1.01l0.28,-0.41l-0.17,-0.72l0.71,-0.25l0.26,-1.17l1.21,-0.72l0.33,-0.63l2.12,-0.55l1.43,-1.63l1.81,-0.39l0.28,-0.55l-0.33,-0.53l0.85,-0.68l1.62,-0.02l0.86,-1.73l-0.24,-0.96l-0.56,-0.12l-2.06,1.29l-1.44,-0.15l-2.41,1.48l-3.02,0.54l-0.48,0.4l-0.41,1.2l-0.73,0.59l0.23,-2.08l1.25,-0.9l0.65,-2.22l-0.23,-2.43l-0.79,-0.97l-0.69,-0.16l-0.98,-2.57l0.94,-1.99l1.87,-2.37l2.67,-1.02l1.7,-2.3l0.12,-0.84l1.17,-1.29l0.61,-2.19l1.0,-1.01l0.12,-1.01l0.79,-0.47l1.17,-0.2l1.04,0.26l0.62,-0.27l0.55,-0.79l-0.54,-1.08l1.45,-2.22l0.27,1.44l0.48,0.67l0.6,0.07l2.6,-2.49l0.82,-1.4l1.09,-0.76l0.86,-1.41l9.27,-0.16l2.26,-3.49l1.7,-0.38l1.06,-1.01l0.5,-0.87l-0.15,-0.99l0.64,-0.41l2.8,1.48l0.44,0.64l2.25,-0.02l3.37,0.62l1.27,0.63l0.79,-0.17l1.19,-1.11l2.5,-0.1l1.17,0.69l-0.03,0.87l0.91,1.47l1.41,0.88l0.44,1.09l1.35,0.89l0.61,1.19l-0.02,0.27l-1.6,-1.08l-1.0,0.01l-0.62,0.48l-0.91,1.93l-0.29,1.4l-0.2,2.65l0.26,1.53l2.84,2.19l2.29,0.8l2.27,0.28l4.98,-0.54l2.05,-1.75l-0.04,-1.0l-0.49,-0.89l4.8,-2.57l1.69,-1.55l0.37,-0.59l-0.15,-0.78l5.99,-2.45l1.34,0.29l1.05,-0.13l0.25,0.74l1.4,1.12l1.43,0.13l-0.1,1.21l0.42,0.78l0.85,0.25l2.37,-0.3l1.46,1.93l1.62,0.84l1.68,-0.17l0.17,-0.48l3.34,0.06l0.37,0.64l0.7,0.01l0.4,-0.27l-0.11,-0.85l0.48,-0.69l1.15,-0.4l-0.24,0.96l0.91,1.28l0.55,-0.04l0.52,-0.56l0.71,0.67l4.32,0.29l-0.87,1.14l0.75,1.73l-0.46,0.5l-1.6,0.19l-0.35,1.19l0.17,0.5l-0.62,0.63l0.38,0.83l0.54,-0.02l0.3,-0.37l0.68,0.16l-0.1,0.65l-1.56,0.26l-0.28,0.55l0.18,0.44l-0.67,0.59l-1.96,-0.25l1.22,-0.43l-0.15,-0.45l-1.26,-0.67l0.16,-0.81l-0.37,-0.49l-0.68,0.14l-0.21,0.88l-0.78,0.27l0.09,-0.56l-0.31,-0.25l-1.86,-0.2l-0.55,0.69l0.29,0.53l-2.03,0.57l-0.76,0.89l-1.42,0.12l-0.62,-0.3l-1.03,0.53l-0.78,-0.24l-0.45,0.44l0.09,0.84l-0.81,0.14l-0.4,0.59l-2.98,0.71l-1.13,0.95l-0.74,-0.19l-0.27,0.57l-0.62,-0.03l-0.29,-0.48l-1.22,-0.52l-1.98,0.83l0.01,1.58l1.02,0.15l0.77,-0.94l0.99,1.07l-0.03,0.6l-0.58,0.45l-0.01,0.57l-0.44,-0.99l-0.52,-0.17l-0.91,0.09l-0.79,0.7l-0.41,0.7l0.07,0.67l-0.72,0.46l0.78,2.89l-1.83,0.39l-0.36,0.39l-0.85,0.03l-1.61,0.72l-0.22,-0.48l0.67,-1.77l-0.82,-1.4l-0.85,0.03l-0.37,1.18l-0.46,-0.53l-1.1,0.22l-0.91,-0.2l-0.3,0.5l0.3,0.52l-0.25,1.28l0.35,0.55l0.83,0.4l0.09,1.07l0.36,0.37l-2.12,1.52l-0.62,2.02l-0.87,-0.49l-0.71,0.53l0.28,0.77l-0.35,0.53l0.06,0.55l-0.22,0.11l-0.5,-0.77l-0.95,0.84l-0.73,-0.23l-1.36,0.82l-1.38,3.34l-0.57,0.7l-0.98,0.13l-0.36,0.34l-0.9,3.49l-0.57,0.14l-0.66,-0.44l-0.93,-0.0l-1.78,1.0l-2.63,0.08l-0.69,0.3l-0.41,1.82l-0.95,1.64l-0.41,1.65l-0.7,0.61l-1.75,-0.42l-1.63,0.55l-0.7,1.72l-0.15,1.77l-0.76,0.78l-2.08,0.3l-0.52,-1.08l0.22,-1.1l-0.87,-0.49l-0.25,-1.15l-2.52,-0.79l-2.07,0.34l-0.36,0.42l-0.23,1.77l-1.41,-0.04l-1.26,1.08l-1.26,-0.17l-1.99,-1.89l-1.37,0.54l-0.57,0.72l-0.02,1.0l-0.24,0.06l-0.46,-1.72l-1.21,-2.47l-1.1,-1.26l-0.26,-1.09l-2.36,-1.99l-0.85,0.43l-2.08,-0.07l-2.54,0.7l-0.9,1.21l-0.61,3.19l-1.76,1.05l-0.56,-0.27l-0.73,0.26l-0.78,-0.77l-0.69,0.23l-0.76,-0.35l-0.63,0.49l-2.1,0.34l-1.71,-0.49l-0.78,0.54l-1.39,-0.14l-1.18,-1.16l-0.26,-2.08l-1.89,-1.2l-1.09,-0.01l-0.01,-0.68l-0.72,-0.84l-2.84,-1.19l-1.93,0.04ZM685.46,321.13l0.31,-0.07l0.03,0.03l-0.17,0.15l-0.17,-0.11ZM706.13,306.98l-0.0,0.29l-0.29,-0.07l0.16,-0.18l0.13,-0.04ZM713.07,304.39l-0.08,0.29l0.02,-0.25l0.06,-0.05Z\",\\n      \"name\": \"Shandong\"\\n    },\\n    \"CN-41\": {\\n      \"path\": \"M540.9,343.97l0.74,0.46l0.93,-0.44l0.79,0.53l1.82,-0.33l1.69,-0.96l1.85,-0.13l0.58,-0.33l0.15,-0.62l0.52,0.13l2.11,-0.92l0.49,-0.78l1.03,0.35l1.6,-0.7l0.74,0.32l2.69,-0.74l1.96,-2.42l0.67,-0.14l1.38,-1.08l1.61,-0.14l1.03,0.72l0.6,-0.16l0.36,-1.12l-0.02,-1.79l6.48,0.24l1.04,-0.42l0.44,-0.78l0.67,-0.32l1.82,1.13l1.61,0.05l1.09,-0.6l0.79,-0.92l1.42,-0.3l0.73,-0.69l1.71,-0.6l0.44,-0.62l2.31,-0.78l2.26,-2.44l-0.36,-0.91l0.09,-1.71l0.61,-0.57l-0.1,-2.02l0.49,-0.45l0.39,-1.21l0.13,-1.57l-0.25,-0.45l0.25,-0.55l-0.3,-0.49l0.67,-1.73l0.88,0.17l0.88,-0.39l0.64,0.31l1.11,-0.23l1.13,1.42l1.85,0.54l2.09,-0.03l3.32,1.82l4.09,-0.25l0.89,0.7l-0.02,0.49l0.47,0.36l1.33,-0.32l1.49,-1.82l1.52,0.18l0.8,1.3l0.53,0.29l0.81,-0.13l1.03,-0.91l-0.51,1.85l-1.36,1.15l-0.25,2.52l0.47,0.61l1.48,-0.75l0.79,-1.58l2.98,-0.53l2.38,-1.47l1.26,0.19l-1.28,1.04l0.09,0.9l-1.47,0.23l-1.57,1.72l-2.38,0.62l-0.1,0.58l-1.36,0.9l-0.19,1.01l-0.88,0.61l0.11,0.69l-0.97,0.82l-1.5,0.24l-1.43,0.71l-1.86,2.68l-1.32,0.68l-0.28,2.73l0.15,0.64l0.72,0.28l1.68,-0.14l2.56,1.04l0.49,0.58l0.08,1.2l1.46,-0.13l1.53,0.92l0.2,1.96l1.48,1.53l1.91,0.23l0.82,-0.52l1.56,0.49l2.41,-0.4l0.42,-0.38l0.66,0.28l0.56,-0.18l0.76,0.93l-0.08,1.51l0.82,0.94l2.76,2.13l2.49,-0.11l0.07,1.24l-0.47,1.12l1.41,3.13l-0.48,-0.08l-2.0,0.96l-0.5,1.06l-3.42,1.17l-0.53,-0.2l-1.16,-1.83l-1.03,-0.93l0.19,-0.93l-0.43,-0.73l-1.38,-0.35l-0.5,0.16l-1.46,-0.95l-1.51,0.28l-1.2,1.32l-0.43,1.51l0.2,0.93l0.8,0.19l-0.05,0.67l-0.51,0.15l-0.25,0.58l0.86,2.49l-2.12,0.3l-1.06,0.82l-0.46,-0.24l-0.45,0.25l-0.57,2.62l0.5,1.72l-0.65,0.7l-0.29,1.15l-2.22,0.75l-2.11,-0.65l-1.35,0.72l-0.18,0.38l-0.15,1.38l0.48,0.67l4.16,1.88l-0.16,2.3l0.61,2.18l2.5,0.56l2.78,2.51l1.7,-0.17l0.63,-1.13l1.49,-0.0l0.37,-0.65l-0.09,1.09l0.42,0.75l0.38,2.29l0.19,3.61l-0.34,3.49l-2.88,-0.03l-2.35,0.87l-2.25,3.67l-0.27,1.62l-0.29,0.12l-0.7,0.1l-0.73,-0.79l0.07,-1.38l-1.15,-1.21l-0.74,0.24l-1.23,1.7l-3.41,0.01l-0.61,-0.49l-0.7,-0.05l-0.8,-0.78l-1.22,-0.05l-0.13,-0.83l0.48,-1.2l-0.71,-0.9l-0.87,-0.2l-1.71,0.41l-1.4,-1.24l-1.82,-0.65l-1.58,1.43l-0.93,0.23l-0.08,-1.4l-0.54,-0.35l-0.74,0.17l-0.22,-0.95l-0.82,-0.96l-0.55,-2.37l0.42,-0.84l-0.2,-1.65l0.24,-1.18l-0.95,-1.33l-1.68,0.2l-1.6,1.71l-1.29,0.13l-1.21,-0.35l-1.82,-1.6l-0.75,-0.08l-0.86,0.51l-1.08,-0.71l-4.26,1.23l-3.27,-0.43l-3.39,0.52l-1.04,-0.7l-1.13,-0.07l-1.34,-1.0l-0.76,0.23l-0.67,-0.57l-2.54,-0.69l-0.75,-1.12l-1.12,-0.59l-0.81,-0.07l-0.82,0.49l-0.59,-1.48l-1.34,-1.13l-0.96,-1.4l-1.87,-1.31l0.02,-0.99l-0.77,-0.88l-0.85,-1.83l-1.58,-1.03l-0.22,-0.59l0.57,-1.69l-0.36,-1.11l0.31,-1.0l-0.67,-1.86l-2.54,-1.7l-0.09,-0.82l-0.66,-0.93l-2.17,-1.12l0.74,-1.36l-0.75,-1.42l0.36,-1.85l-2.7,-1.65l0.69,-1.33l-0.42,-0.79l-1.71,-0.91l0.03,-2.39ZM622.93,320.45l0.54,-0.24l0.96,-0.65l-0.36,0.96l-1.14,-0.07Z\",\\n      \"name\": \"Henan\"\\n    },\\n    \"CN-43\": {\\n      \"path\": \"M518.53,465.66l0.95,-0.51l0.19,-0.95l0.84,-0.81l0.82,-0.32l1.74,-2.3l0.79,-0.44l1.2,0.05l0.74,-1.06l1.58,-1.07l0.36,-0.69l-0.07,-1.44l-0.64,-1.25l-0.95,-0.69l-0.3,-1.38l0.43,-0.77l-0.42,-0.51l0.82,-1.22l-0.37,-0.54l-0.67,0.02l0.91,-2.7l-0.28,-0.6l-1.14,-0.69l0.16,-0.95l-0.36,-1.23l0.54,-1.79l-0.84,-0.76l0.78,-1.45l-0.51,-1.11l-0.09,-1.48l0.62,-2.56l-0.82,-0.92l0.41,-1.88l1.22,-1.09l-0.15,-0.98l0.7,-0.54l0.0,-0.73l1.21,-1.88l1.72,-0.83l0.71,0.38l0.76,-0.17l0.35,-1.04l0.99,-1.05l4.69,-0.77l1.21,0.5l1.17,1.14l1.39,0.51l0.88,-0.45l0.3,-0.68l0.88,0.09l1.08,-0.59l0.43,-0.42l0.03,-0.71l-1.68,-1.89l0.46,-0.9l-0.29,-0.82l0.7,-0.12l2.2,0.47l0.59,-0.36l0.26,-0.81l6.94,1.05l2.36,1.74l1.14,-0.24l1.6,0.57l1.45,0.09l1.0,-0.41l2.37,1.06l2.92,2.35l0.61,0.91l0.73,0.03l0.75,0.71l0.03,0.81l0.39,0.35l1.42,-0.63l1.19,-1.11l3.19,0.18l0.58,-0.75l0.79,-0.25l0.54,-0.76l1.09,-0.7l0.58,1.34l-0.54,1.2l0.32,1.93l0.64,0.51l1.08,-0.66l0.04,0.81l0.6,0.41l0.57,-0.46l0.96,-0.18l3.9,-4.62l1.63,-1.31l-0.42,1.0l-0.07,1.39l0.46,0.32l1.27,-0.04l0.37,0.94l-0.07,1.28l0.78,1.24l-0.96,0.68l-0.92,1.24l-0.25,1.35l0.91,0.54l0.16,1.47l0.8,0.99l0.43,0.09l0.9,-0.83l1.46,0.82l0.23,1.81l1.49,0.64l0.49,0.71l1.25,0.67l-0.22,2.56l-0.8,1.06l0.06,0.65l1.59,0.92l-0.1,0.74l0.86,0.66l0.01,0.44l-0.55,0.92l-1.38,0.59l-0.28,0.76l-0.72,0.49l-0.48,1.68l-1.0,0.75l-2.46,0.55l-0.56,0.46l-0.29,0.66l0.06,1.52l-1.39,2.07l-0.84,2.21l0.84,3.72l1.24,0.57l1.49,-0.65l0.75,0.27l-0.36,1.36l-1.04,1.38l-0.07,0.9l0.16,0.51l0.63,0.2l1.23,1.67l-0.86,1.92l0.5,2.79l0.67,0.64l2.58,0.87l-0.16,1.28l-0.87,1.26l-0.25,1.62l-1.08,1.81l0.21,0.43l0.56,0.18l0.72,-0.35l0.89,0.16l1.21,-0.74l0.66,0.24l-2.18,1.23l-0.65,0.82l-0.1,1.97l-1.66,2.88l0.26,1.44l0.9,1.13l-0.75,1.72l-0.65,0.29l-0.7,1.14l-0.61,0.17l-1.18,-0.34l-1.52,0.51l-0.86,-0.87l-1.44,0.05l-1.49,-1.15l-0.28,-0.81l-0.34,-0.15l-1.45,0.31l-2.04,1.64l-2.09,1.05l-0.51,-0.28l-0.52,0.23l-0.18,0.71l0.56,1.27l0.46,0.22l1.35,-0.16l-0.68,0.8l-0.12,2.01l0.34,0.96l-2.16,0.22l-1.11,-0.76l-0.42,-1.38l-1.05,-0.82l-1.33,0.01l-1.16,-0.48l-2.95,-0.19l-0.99,-0.39l-0.51,0.45l-0.96,3.66l0.12,0.57l0.54,0.43l-0.26,1.03l-1.01,0.22l-0.63,0.72l-1.07,-0.42l-2.04,0.22l-2.08,-0.28l-0.66,0.47l-0.25,0.68l-0.6,0.11l-0.64,0.79l-0.77,-0.4l0.61,-1.67l-0.46,-0.82l-0.2,-1.45l0.46,-1.2l-0.64,-0.66l0.15,-0.59l-0.29,-0.54l-0.79,-0.3l-0.82,0.33l-0.59,-0.49l-0.45,0.06l-2.2,1.68l-1.02,1.81l-0.78,-1.31l0.53,-1.75l0.83,-0.26l0.68,-0.66l0.99,-2.4l1.15,-0.38l0.6,-0.66l0.6,-1.53l0.07,-1.3l-0.31,-0.75l0.2,-0.94l0.62,-0.27l0.68,-1.04l0.14,-0.8l0.81,-0.66l-0.39,-1.03l-2.44,0.23l-0.47,0.69l-0.71,-0.84l1.13,-4.72l-0.46,-0.87l-2.04,-0.51l-2.62,-1.33l-0.64,0.31l-0.56,1.48l-2.18,0.01l-0.01,-0.52l-0.43,-0.38l-2.06,-0.22l-0.43,0.47l-0.17,1.6l-0.62,0.7l-1.07,0.12l-0.95,0.66l-1.38,2.21l-1.06,-1.05l-1.72,0.17l0.53,-1.1l-0.08,-0.55l-2.27,-0.89l-0.62,0.49l-0.85,1.87l-1.13,0.71l0.1,1.51l-1.13,0.26l0.29,-0.8l-0.23,-0.75l-0.98,-0.95l-2.21,0.02l-0.84,-2.42l0.25,-0.83l-1.35,-0.42l-0.27,-0.54l0.36,-1.3l1.22,-1.62l0.14,-0.86l-0.57,-1.32l-1.25,-0.68l1.44,-0.41l1.92,-1.44l-0.01,-0.82l-0.75,-0.51l0.66,-1.04l-0.16,-1.6l-1.33,-1.41l-1.41,-0.24l-1.0,0.31l-0.79,-0.27l-1.03,1.16l-0.07,-0.8l-0.77,-0.08l-1.41,0.7l-0.84,1.06l-0.55,0.2l-0.76,-0.75Z\",\\n      \"name\": \"Hunan\"\\n    },\\n    \"CN-42\": {\\n      \"path\": \"M512.09,412.72l0.53,-1.11l2.29,-0.28l0.88,-1.0l0.38,0.57l0.77,0.19l2.27,-0.61l1.1,-0.8l1.51,0.11l1.17,0.62l1.84,-0.65l0.7,0.36l1.16,-0.07l1.7,-1.21l0.82,0.0l2.59,-2.75l1.95,-0.99l0.53,-0.01l0.56,0.77l1.03,0.33l1.07,-0.29l0.72,-0.98l0.28,-2.14l-0.48,-1.61l1.04,-1.44l-0.51,-0.94l0.04,-1.42l-0.65,-1.2l-1.98,-1.26l-0.19,-0.53l-3.26,-0.83l-0.5,-1.83l-0.77,-0.82l-0.94,-0.33l0.51,-0.89l-0.06,-1.92l0.92,-2.31l-0.67,-0.96l-0.26,-1.34l-1.14,-0.66l-0.69,-1.49l1.09,-0.86l0.2,-1.99l0.55,-0.26l0.26,-0.62l0.77,0.23l0.78,-0.22l0.78,0.46l0.88,-0.35l2.22,0.67l0.86,-0.59l0.12,-0.47l0.94,0.13l0.47,-0.37l-0.1,-2.16l-0.63,-1.57l-0.62,-0.61l-2.83,-1.13l-1.33,0.34l-0.54,-0.26l0.47,-1.81l-0.62,-1.01l-1.61,-0.52l-1.16,0.03l-1.4,-0.62l0.8,-0.78l1.01,0.15l0.77,-0.45l1.31,0.36l1.84,-0.04l1.28,0.48l2.14,0.03l0.97,0.72l0.96,0.19l3.06,-0.31l1.38,-1.17l0.77,1.49l0.89,0.12l1.39,0.86l0.49,-0.43l-0.13,-0.38l0.99,-0.94l1.26,-0.14l0.53,-0.75l0.43,0.75l1.41,0.83l0.77,1.73l0.73,0.8l0.08,1.18l1.97,1.38l0.9,1.33l1.4,1.2l0.77,1.59l1.68,-0.41l0.9,0.46l0.86,1.21l2.69,0.76l0.93,0.67l0.58,-0.3l1.21,0.94l1.2,0.1l1.23,0.74l3.47,-0.52l3.37,0.42l4.03,-1.22l1.05,0.72l1.46,-0.49l1.64,1.52l1.73,0.49l1.63,-0.23l1.42,-1.6l1.11,-0.17l0.52,0.62l-0.25,1.02l0.2,1.58l-0.43,0.87l0.58,2.66l0.88,1.11l0.4,1.22l1.19,0.06l0.16,1.6l1.64,-0.12l1.49,-1.43l1.34,0.53l1.51,1.29l2.57,-0.22l0.2,0.27l-0.5,1.23l0.25,1.12l0.53,0.35l1.02,-0.03l0.74,0.74l1.63,0.66l3.78,-0.05l0.67,-0.48l0.9,-1.41l0.54,0.73l0.02,1.54l1.03,1.03l1.27,-0.06l0.12,0.61l0.91,0.54l0.28,0.72l0.9,0.66l0.78,1.27l0.91,0.07l0.53,-0.92l1.91,1.47l1.24,-0.02l0.93,1.53l1.26,0.02l-0.18,0.5l-2.29,1.61l-0.09,1.42l-1.1,0.22l-0.33,1.44l1.06,1.86l0.73,0.28l0.8,1.07l0.09,0.61l-0.87,0.63l-0.18,0.75l0.57,1.14l1.86,1.45l0.56,2.67l-0.12,1.13l0.77,1.13l0.17,1.51l-1.7,0.69l-1.51,0.18l-1.89,-1.13l-0.64,-0.89l-3.28,-0.08l-0.48,0.17l-0.72,1.21l-0.3,1.24l-0.95,1.01l-0.81,0.35l-1.31,-0.55l-1.63,-0.09l-0.25,0.67l0.52,0.39l0.13,0.78l-1.88,-0.31l-0.84,0.8l-0.68,-0.17l-1.1,2.21l-0.63,0.36l-0.69,-0.46l-3.6,1.16l-2.83,-0.57l-0.72,0.84l-0.04,1.04l-2.48,0.59l-1.07,0.7l-1.21,1.37l-1.73,-0.88l-1.0,0.58l-0.45,-0.43l-0.16,-1.46l-0.84,-0.51l0.33,-0.8l0.62,-0.82l0.81,-0.41l0.42,-0.87l-0.83,-1.49l0.11,-1.1l-0.52,-1.33l-0.68,-0.37l-0.97,0.09l0.85,-2.41l-0.14,-0.68l-0.47,-0.05l-1.04,0.62l-1.62,1.32l-3.91,4.61l-1.44,-0.8l-1.16,0.59l-0.2,-1.88l1.49,-1.42l0.08,-0.97l-0.37,-0.38l-1.15,0.89l-0.16,-0.64l-0.84,-0.54l-1.54,0.92l-0.51,0.74l-0.76,0.21l-0.49,0.72l-3.02,-0.24l-2.06,1.52l-1.06,-1.86l-0.78,0.12l-3.53,-3.11l-2.59,-1.17l-1.22,0.38l-1.34,-0.08l-1.55,-0.56l-1.16,0.23l-2.29,-1.72l-7.52,-1.04l-0.44,0.36l-0.17,0.78l-2.27,-0.47l-0.87,0.22l-0.62,0.59l0.36,0.72l-0.32,0.62l0.08,0.85l1.64,1.84l-1.01,0.65l-1.15,-0.08l-0.7,1.08l-0.99,-0.39l-1.19,-1.15l-1.76,-0.6l-4.86,0.86l-1.33,1.37l-0.16,0.8l-1.11,-0.35l-2.18,0.99l-0.84,1.11l-0.55,1.74l-0.66,0.6l0.06,1.09l-1.17,1.03l-0.26,1.59l-1.68,-1.55l-0.93,-1.49l-1.37,-0.68l0.12,-0.72l-0.75,-1.24l0.37,-1.5l-0.18,-0.87l-2.91,-1.3l-0.83,-2.39l-0.88,-0.18l-1.07,1.11l-0.32,1.02l-0.54,-0.17l-0.42,-1.08l1.33,-0.17l0.54,-0.62l0.11,-6.62l-0.42,-0.96l-1.98,-0.86Z\",\\n      \"name\": \"Hubei\"\\n    },\\n    \"CN-45\": {\\n      \"path\": \"M455.35,502.86l1.1,0.98l1.8,0.67l0.69,-0.69l0.97,-0.32l0.59,-0.99l1.92,-0.6l0.59,-1.6l1.82,-1.54l0.96,1.04l1.72,-0.27l0.57,0.29l0.28,0.93l0.84,0.87l2.64,0.57l1.78,1.18l1.64,-0.33l1.29,1.26l0.69,0.03l2.39,-2.33l0.38,-0.92l-0.34,-1.66l0.38,-0.3l1.28,-0.03l2.2,-0.85l2.04,-1.14l1.09,-1.02l3.12,-0.35l0.59,-0.91l1.11,0.06l0.54,-1.92l-0.63,-1.25l1.3,-1.18l1.19,0.02l0.97,-0.5l0.21,0.18l0.71,0.81l-0.06,0.99l1.25,0.58l0.14,0.92l0.86,0.77l-0.09,0.63l0.34,0.42l0.85,0.07l1.48,-0.87l0.67,1.02l0.99,-0.26l0.48,1.1l1.66,0.1l1.19,-0.9l1.65,-0.12l0.81,-0.45l0.42,-0.73l0.03,-1.79l2.27,-2.04l1.35,0.29l1.12,0.98l1.52,2.13l0.63,-0.27l0.08,-0.55l-0.54,-1.53l1.17,-0.72l-0.09,-0.87l0.57,-0.59l0.54,-0.11l-0.08,0.88l0.35,0.49l2.46,-0.4l0.66,0.53l0.64,-0.02l0.74,-0.74l-0.26,-1.1l0.21,-1.94l-0.7,-0.17l-1.85,0.83l1.08,-0.97l1.7,-0.4l0.65,0.84l0.89,-0.45l0.76,0.73l1.0,-0.1l1.09,-2.32l0.69,-0.74l-0.18,-0.99l1.03,-0.83l1.01,0.19l0.71,-0.21l0.7,0.74l-0.28,0.99l0.37,0.68l1.69,-0.11l0.68,-0.73l-0.2,-1.23l1.05,-0.59l0.95,-2.0l0.28,-0.05l1.18,0.5l-0.54,1.19l0.23,0.68l2.1,-0.05l0.78,0.97l0.59,0.13l0.92,-0.61l0.9,-1.85l0.67,-0.49l1.24,-0.19l0.81,-0.89l0.33,-1.83l1.36,0.23l0.06,0.57l0.48,0.36l2.51,0.02l0.71,-0.42l0.38,-1.29l2.33,1.19l2.0,0.55l-1.17,4.4l0.15,0.77l0.67,0.92l0.97,0.4l0.58,-0.7l1.29,-0.06l-1.0,1.97l-0.8,0.41l-0.26,1.43l0.33,0.78l-0.08,1.12l-0.48,1.18l-1.61,0.88l-0.37,1.11l-0.56,0.43l-0.14,0.96l-1.55,0.96l-0.65,1.74l0.08,0.9l0.87,1.42l0.81,0.24l0.81,-0.59l0.59,-1.43l1.9,-1.47l0.71,0.49l1.17,-0.24l-0.18,0.72l0.68,0.64l-0.46,0.88l0.18,1.74l0.48,0.7l-0.68,1.6l0.13,0.6l1.53,0.7l1.05,-0.97l0.73,-0.16l0.51,-0.99l1.86,0.29l2.23,-0.15l-0.6,0.53l-0.14,1.54l1.12,1.16l-0.2,1.12l0.93,1.59l-0.95,0.99l-0.5,0.04l-1.23,0.91l0.46,3.71l-1.2,1.02l-0.38,1.23l-1.02,-0.24l-0.91,0.22l-0.73,1.46l0.18,1.15l-2.28,1.09l-0.02,0.87l-1.13,1.92l-0.4,1.36l0.28,2.53l-0.23,0.96l0.63,1.04l-0.76,1.33l-0.1,0.85l-2.16,2.26l-2.13,0.31l-0.13,0.43l0.39,0.4l-0.55,0.58l-0.99,-0.24l-0.54,0.66l-1.84,0.65l-0.74,-0.07l-0.49,1.48l-0.72,0.14l0.33,1.09l-0.09,0.96l1.09,1.09l-1.24,-0.04l-0.9,1.67l-0.9,-0.3l-0.78,0.54l-1.16,-0.89l-1.42,0.41l0.28,1.3l-0.17,1.93l0.47,1.18l-1.93,0.24l-1.66,-0.36l-2.29,0.59l-0.88,2.97l-1.04,0.49l-0.96,-0.35l-0.46,0.35l0.14,2.45l-0.66,-0.37l0.24,-1.52l-0.57,-0.31l-0.41,0.22l-0.08,-0.59l-0.61,-0.19l0.46,-0.98l-1.05,-0.51l-1.66,1.78l1.49,1.28l-0.37,1.05l-0.87,-0.1l-0.5,0.63l-1.14,-0.24l-0.73,0.12l-0.22,0.33l-0.45,-0.7l-0.63,0.32l-0.22,0.7l-1.03,0.03l-0.63,-0.25l1.28,-0.59l-0.04,-1.7l-1.56,-0.95l-1.03,0.51l-0.64,-0.04l-0.74,-1.35l0.82,-0.49l-1.36,-1.29l-1.19,-0.0l-0.34,0.34l0.59,0.58l-0.58,0.95l0.37,0.43l-0.51,-0.23l0.12,-0.61l-0.95,-0.4l0.24,-0.58l-0.39,-0.48l-0.57,-0.04l0.36,-0.72l-0.93,-0.66l-0.39,-0.69l-0.37,0.01l-0.69,0.77l-0.1,-0.59l-0.46,-0.01l-0.39,0.43l-0.19,1.27l0.43,0.9l0.36,0.14l-0.6,0.77l0.35,0.38l-0.14,0.16l-0.35,-0.32l-0.52,0.38l-0.52,-0.74l-0.47,0.03l-0.41,0.42l-0.32,1.61l-0.2,-0.7l-0.86,-0.14l-0.55,1.06l-1.48,0.18l-0.14,0.29l-0.95,-0.12l-0.19,0.61l-1.95,-1.94l-0.91,-0.29l-0.68,-0.0l-1.84,0.77l-1.19,-0.04l-0.45,0.39l-0.45,-0.81l-0.52,-0.24l-1.18,0.7l-0.89,-1.61l-1.57,-0.03l-1.55,-1.22l-0.92,-0.23l0.45,-0.93l-0.4,-0.89l-0.72,-0.17l-0.69,0.27l-0.79,-0.76l-1.19,-0.1l-0.77,-0.51l-0.85,0.49l0.29,-1.43l-0.45,-1.4l0.3,-0.72l-0.55,-1.52l-1.26,-0.46l-0.17,-1.17l0.67,-2.23l0.69,0.55l0.87,-0.44l0.94,-2.44l0.78,-0.66l-0.15,-0.61l-0.95,-0.19l-1.09,-1.07l-0.74,0.23l-0.62,-0.74l-1.26,-0.38l-0.7,0.57l-2.71,0.52l-0.69,-1.39l-1.2,-0.49l-2.03,-0.01l-0.7,0.7l-1.47,0.25l-1.13,-1.3l-1.01,-0.65l-2.06,-0.32l-0.15,-1.63l1.27,-1.23l0.19,-0.84l0.84,-0.07l0.23,-0.71l1.94,-1.88l2.17,0.8l0.99,-0.29l1.05,-0.8l0.53,-3.41l-0.29,-1.07l0.72,-0.21l0.25,-0.43l-0.81,-1.57l0.11,-0.7l-2.08,-1.35l0.15,-0.48l-0.52,-0.51l-1.83,0.59l-0.47,0.77l-0.98,0.08l-1.78,-0.69l-0.36,-0.88l-0.55,-0.31l-1.43,0.36l-0.51,1.13l-0.42,0.11l-2.09,-1.4l-0.59,0.2l-0.07,0.46l-0.91,-0.74l-0.0,-2.66l-1.47,-1.9l-2.12,0.15l-1.31,-0.57l-2.01,-0.19l-0.91,0.74l0.03,0.72l0.49,0.66l-0.2,-0.04l-1.4,-1.52l-0.99,-2.09l-0.25,-1.15l0.6,-0.88ZM517.55,549.83l0.44,0.29l-0.04,0.06l-0.4,0.04l0.0,-0.4ZM515.05,548.09l-0.01,-0.01l0.03,-0.01l-0.02,0.03ZM513.4,550.45l-0.18,0.19l-0.13,0.01l0.22,-0.26l0.09,0.06ZM512.99,550.66l-0.09,0.13l-0.05,-0.06l0.01,-0.02l0.14,-0.05ZM512.77,549.78l-0.01,0.0l-0.01,-0.02l0.02,0.02Z\",\\n      \"name\": \"Guangxi\"\\n    },\\n    \"CN-44\": {\\n      \"path\": \"M531.13,558.5l0.21,-0.36l0.4,0.19l0.79,-0.98l0.05,-1.58l0.4,-0.38l1.44,-0.09l0.37,-0.4l-0.2,-0.49l0.56,-0.81l-0.26,-0.31l0.2,-0.4l-0.46,-0.4l-0.98,0.16l-0.69,-0.25l0.01,-0.46l-0.82,-0.99l0.88,0.1l1.44,-0.72l0.76,-2.85l1.88,-0.45l1.64,0.37l2.47,-0.36l0.27,-1.11l-0.52,-0.82l0.17,-1.89l-0.25,-0.66l0.55,-0.16l1.18,0.84l0.94,-0.54l0.76,0.31l0.7,-0.27l0.71,-1.57l0.96,0.18l0.6,-0.5l-0.2,-0.81l-0.93,-0.84l0.02,-1.09l0.7,-1.41l2.47,-0.76l0.37,-0.56l1.15,0.14l0.86,-0.89l0.09,-0.63l1.48,-0.21l2.41,-2.49l1.0,-2.64l-0.63,-1.13l0.24,-0.91l-0.29,-2.38l1.42,-2.94l0.08,-0.97l2.16,-0.94l0.21,-0.56l-0.25,-0.91l0.48,-1.02l1.33,0.21l0.66,-0.24l0.44,-1.32l0.89,-0.55l0.43,-0.77l-0.54,-3.51l1.42,-0.58l1.31,-1.44l-0.06,-0.71l-0.86,-1.38l0.18,-1.4l-1.1,-0.85l0.27,-0.52l-0.15,-0.52l1.14,-0.54l0.88,-0.92l0.55,0.37l0.51,-0.34l0.36,-2.01l-0.66,-0.72l0.91,-3.41l0.63,0.35l1.09,-0.07l3.0,0.74l1.38,0.02l0.53,0.53l0.48,1.43l1.37,0.94l0.99,0.14l2.35,-0.62l-0.41,-1.5l0.12,-1.88l0.9,-0.9l-0.42,-0.66l-1.86,0.04l-0.26,-0.55l0.59,0.04l2.26,-1.2l2.17,-1.67l0.61,-0.11l0.37,0.67l1.69,1.29l1.54,0.02l0.78,0.98l1.95,-0.61l0.97,0.34l0.85,-0.14l0.61,-0.41l0.56,-1.0l0.45,-0.12l0.84,0.4l0.18,0.93l-0.29,1.05l0.64,0.45l1.59,-0.67l2.5,0.25l1.44,-0.7l0.67,-0.79l0.83,0.06l0.67,-0.48l0.39,0.97l1.69,0.91l-0.45,1.58l0.22,0.6l-4.07,2.08l-1.51,3.27l-2.2,1.75l0.24,0.53l1.13,0.34l0.53,0.71l1.03,0.44l0.76,1.08l0.66,0.04l0.96,-0.84l1.12,0.04l0.83,-0.46l0.4,0.39l0.74,0.08l0.76,-1.26l1.67,0.68l1.05,-1.27l1.55,-0.55l0.64,0.3l1.02,-0.04l1.55,-1.13l1.01,0.19l1.14,-0.56l2.35,2.62l1.4,0.99l1.75,-0.13l0.48,-0.54l-0.27,-1.99l-0.47,-0.76l0.1,-1.11l0.52,-0.47l1.32,0.02l0.36,-0.69l1.3,0.31l1.13,0.75l1.93,0.04l0.54,0.6l1.31,-0.5l2.21,3.48l2.32,-0.82l1.22,-0.02l-0.35,1.83l1.16,0.98l0.18,0.71l0.72,0.69l1.09,2.78l-0.54,1.37l0.09,1.27l2.0,5.35l-1.24,0.55l-0.28,-0.61l-0.74,0.25l-0.61,0.84l0.15,0.75l-0.49,0.76l0.26,0.9l-1.18,1.35l-1.46,-0.08l-1.7,-1.02l-0.74,0.36l0.05,0.92l0.47,0.62l0.64,0.48l1.17,-0.08l-0.08,0.56l0.29,0.23l-0.36,0.39l-0.38,-0.64l-0.81,-0.13l-0.86,0.19l-0.34,0.4l0.13,0.56l0.7,0.28l-0.45,0.98l0.32,1.38l-0.66,0.92l-1.51,0.19l-1.44,-0.75l-0.98,-0.07l-0.48,0.23l0.09,0.69l0.27,0.11l-1.0,1.02l-0.13,-0.66l-1.12,-0.55l-0.61,0.33l0.5,0.79l-3.07,1.27l-0.38,-0.62l-1.36,-0.57l0.51,-0.63l-0.15,-0.58l-0.86,0.01l-0.71,0.59l-1.05,0.23l-1.6,-0.85l-1.1,0.24l0.37,0.93l0.77,0.02l-0.31,0.48l0.33,0.39l0.91,0.17l-0.41,1.06l0.5,0.68l-0.97,-0.4l-0.76,0.17l-0.46,-0.09l0.74,-0.25l0.25,-0.6l-0.65,-0.58l-0.63,0.25l-0.7,-0.28l0.5,-0.51l-0.09,-0.76l-0.63,-0.48l-1.04,1.09l-2.7,0.68l-0.94,1.42l-0.42,-0.84l-1.48,-0.17l0.02,1.14l1.04,0.53l-0.61,0.9l-1.68,-0.01l-0.03,-1.58l1.16,-0.92l-0.26,-0.62l-0.81,-0.29l-0.53,0.55l-0.61,-0.19l-2.0,0.93l-0.99,0.85l-0.21,1.07l0.51,0.23l-0.55,0.54l-1.29,-0.83l-1.3,0.24l-1.17,0.66l-0.84,-0.11l-1.77,0.77l-1.08,-0.32l-0.89,0.73l0.06,-0.39l-0.88,-0.78l-0.83,-1.55l-0.21,-1.13l-0.55,-0.39l-0.88,0.06l-0.82,-1.98l0.48,-1.79l-0.38,-0.54l-1.21,0.48l0.53,-0.69l1.59,-0.52l2.26,0.05l-0.1,-0.51l-2.05,-0.7l-2.97,1.48l-1.54,-0.45l-0.3,0.82l1.22,0.52l0.2,0.57l-0.26,0.65l-2.21,0.48l-1.33,-0.26l-0.48,0.51l1.43,0.8l0.99,-0.11l1.27,1.3l-1.19,-0.09l0.02,0.49l1.3,0.8l1.85,2.05l-0.76,2.04l0.2,0.98l0.56,0.36l-0.36,0.75l0.12,0.64l-0.66,0.34l-0.55,0.82l-1.38,-2.09l-1.18,-1.07l-1.68,-3.19l-0.68,0.25l-0.02,1.6l1.02,1.01l2.19,3.25l-1.09,0.01l-0.81,1.15l0.02,0.8l-1.02,0.22l-0.27,-0.62l-0.01,-1.86l-0.57,-0.37l-0.38,0.18l-0.32,1.13l-0.74,0.1l-0.08,2.89l-0.79,1.03l-0.59,0.07l-0.58,-1.3l-0.69,-0.2l-1.22,0.53l-0.3,0.59l-1.18,0.7l-0.31,0.93l-0.75,0.23l-1.64,-0.97l-0.14,-0.52l1.15,-0.92l-0.35,-0.59l-1.16,0.34l0.12,-1.39l-0.12,-0.44l-0.45,-0.05l-0.64,0.69l-0.17,1.02l0.69,2.63l-0.41,0.84l-0.99,0.33l-0.95,-0.44l0.02,-1.4l-2.64,0.49l0.45,-0.89l-0.39,-0.47l-0.86,0.75l-1.16,-1.33l-0.6,0.33l0.08,1.44l0.99,1.1l-0.68,0.44l-0.48,-0.25l-0.14,-0.61l-0.64,0.26l-2.17,-0.39l0.0,0.52l1.22,0.89l0.17,0.49l-1.17,0.81l-0.61,0.99l-0.49,-0.69l-0.63,0.3l0.01,0.52l-0.84,0.06l-0.59,-0.99l-0.73,-0.09l-0.36,0.75l-0.82,0.37l-0.15,0.65l-0.13,-0.34l-1.55,-0.52l-1.06,0.54l-1.22,-0.5l-0.71,0.11l-0.35,0.16l0.02,0.92l-1.64,1.03l-1.15,-0.26l-0.43,-0.64l-1.99,1.01l-0.52,0.91l0.24,1.28l-2.08,0.36l0.61,-0.46l0.12,-1.02l-0.81,-0.51l-0.31,-0.84l-0.49,-0.02l0.18,-0.42l-0.59,-0.35l-0.46,0.25l-0.18,0.5l0.48,1.06l-0.47,-0.16l-0.48,0.5l1.18,1.69l-0.12,0.65l-2.11,1.53l-0.23,-0.35l-0.59,0.3l-0.86,1.46l0.24,2.03l0.26,0.56l0.71,0.2l1.74,-0.3l-0.51,1.28l0.27,0.5l-0.37,0.76l0.4,0.78l0.97,0.18l0.34,0.54l1.14,0.38l0.54,0.98l-1.65,2.29l-0.45,-0.03l-1.18,0.7l-1.1,-0.22l-1.12,0.38l-1.3,-0.81l-1.24,0.34l-0.17,-0.72l0.39,0.38l0.55,-0.31l0.47,-1.21l-1.69,-1.61l-0.24,0.28l-0.77,-0.19l0.25,-0.98l-1.21,-0.94l1.07,-0.31l0.34,-0.62l-0.25,-0.42l-1.16,0.16l0.11,-1.41l-0.28,-0.75l-0.65,-0.34l-0.47,0.45l-0.19,-0.39l0.22,-1.55l0.46,-0.72l-0.54,-1.42ZM543.13,557.94l0.08,-0.04l0.34,0.53l-0.17,-0.05l-0.25,-0.44ZM601.93,536.96l0.4,-0.17l0.55,0.24l-1.0,0.52l0.05,-0.6ZM640.03,519.57l0.48,0.3l-0.39,0.54l-0.07,-0.25l-0.02,-0.59ZM633.56,524.9l0.14,-0.14l0.21,0.11l-0.24,-0.03l-0.1,0.06ZM634.48,525.04l0.11,-0.07l0.09,0.23l-0.2,-0.16ZM541.04,563.76l0.1,0.5l-0.03,0.09l-0.06,-0.1l-0.0,-0.49ZM534.58,570.19l-0.02,-0.02l0.01,0.01l0.0,0.01ZM534.45,570.04l-0.32,-0.15l0.01,-0.09l0.3,0.23ZM639.35,522.89l0.13,-0.2l0.69,0.07l-0.03,0.19l-0.8,-0.05ZM587.36,534.0l0.2,-0.02l0.08,0.21l-0.01,-0.01l-0.26,-0.18ZM588.56,535.04l0.1,0.1l0.01,0.03l-0.11,-0.13ZM586.1,531.4l0.39,0.11l0.1,0.08l-0.16,0.15l-0.33,-0.34ZM587.39,532.44l0.1,0.06l0.03,0.01l-0.04,-0.0l-0.09,-0.07ZM584.84,544.51l0.14,-0.19l0.18,-0.06l-0.09,0.26l-0.23,-0.01ZM583.98,543.53l0.08,-0.02l0.03,-0.01l-0.09,0.06l-0.02,-0.03ZM583.37,546.4l-0.01,-0.01l0.01,-0.03l0.0,0.01l-0.01,0.03ZM576.33,549.57l-0.05,-0.04l0.08,-0.06l-0.04,0.1ZM576.64,549.12l0.02,-0.08l0.05,-0.0l-0.0,0.0l-0.07,0.08ZM573.59,550.6l0.05,-0.29l0.32,-0.17l0.03,0.22l-0.4,0.24ZM563.03,551.12l0.02,-0.23l0.7,-0.19l0.15,0.11l-0.87,0.31ZM544.13,561.71l0.15,-0.17l0.08,0.02l-0.18,0.21l-0.05,-0.06ZM539.8,560.38l0.95,-0.69l0.29,-0.07l0.19,0.36l-1.43,0.4ZM542.04,559.99l1.02,-0.38l0.09,0.08l-0.22,0.74l-0.89,-0.44Z\",\\n      \"name\": \"Guangdong\"\\n    },\\n    \"CN-46\": {\\n      \"path\": \"M515.62,589.69l0.93,-0.9l-0.79,-1.88l0.72,-1.18l1.07,-0.26l2.09,-1.61l0.35,0.11l1.21,-1.69l2.16,-0.81l0.87,-1.07l1.09,0.23l0.35,-0.6l-0.35,-1.36l-0.82,0.05l-0.88,0.58l-0.01,-0.32l1.29,-1.27l2.32,0.53l0.42,0.5l1.68,-0.33l0.44,-0.49l-0.61,-0.47l0.23,-0.22l-0.18,-0.61l1.71,-0.53l0.47,0.77l0.54,-0.27l1.38,0.63l1.09,-0.84l0.28,0.31l-0.08,0.6l0.89,0.35l0.64,-0.92l1.44,-0.19l0.41,-0.5l0.05,-0.73l1.34,0.41l1.09,-0.4l0.74,1.81l0.38,0.27l0.5,-0.71l-0.51,-1.12l0.18,-0.13l2.03,1.0l0.36,0.81l0.46,0.14l0.51,-0.72l-0.79,-1.9l1.14,-0.5l0.29,0.71l1.16,1.01l2.05,0.17l1.06,4.75l-0.54,0.21l-1.28,1.4l-0.18,-0.3l0.5,-0.7l-0.51,-0.32l-0.88,0.27l-0.21,2.04l-0.57,0.78l-0.59,0.07l-0.57,0.59l-0.09,0.94l-0.5,0.35l-0.77,2.06l-0.66,0.13l-0.48,-0.28l-0.5,0.39l1.3,1.49l-0.72,1.08l-0.16,1.24l-1.06,1.22l-0.01,0.46l0.45,0.39l-0.46,0.83l-2.21,0.58l-2.75,2.45l-0.41,-0.12l-0.51,0.39l0.68,0.7l-3.15,0.78l-0.58,-0.25l-0.93,0.16l-0.51,1.58l-1.66,1.32l-0.06,-0.63l-0.8,0.12l-1.28,-0.79l-1.62,-0.24l-2.39,0.18l-0.6,-1.04l-1.92,-0.11l-2.82,-1.76l-1.44,-0.27l0.15,-2.96l-1.01,-1.93l0.46,-1.49l-0.53,-2.2Z\",\\n      \"name\": \"Hainan\"\\n    },\\n    \"CN-65\": {\\n      \"path\": \"M0.84,262.13l2.81,-0.47l0.64,-1.39l0.77,-0.66l-0.4,-2.47l-1.09,-1.19l0.89,-1.26l1.31,-2.94l2.63,-0.99l2.5,0.2l5.54,-4.16l2.18,0.13l0.3,-0.47l-0.12,-0.57l-0.95,-1.01l0.5,-1.18l2.16,1.13l1.04,0.06l0.99,-0.34l0.95,0.37l5.14,-3.33l0.63,2.14l0.72,0.79l-0.41,1.32l0.73,1.57l3.6,-0.02l1.07,-1.08l1.38,-0.52l1.34,0.36l1.29,-1.17l0.41,1.32l0.62,0.32l2.54,-1.7l1.2,-2.27l0.82,-0.61l0.59,-2.96l1.61,-1.34l0.12,-1.76l1.26,-1.09l1.95,-0.48l1.6,0.56l3.15,-0.15l2.52,0.69l2.3,-0.3l2.6,-1.14l3.65,0.39l1.64,-1.25l1.47,-2.17l1.15,-0.82l0.06,-1.75l2.11,-1.28l1.6,-0.42l0.64,-0.99l7.84,-3.43l1.28,-0.95l1.58,0.19l3.26,-1.68l2.11,-0.28l0.63,-0.59l0.7,-1.51l1.15,-0.33l3.64,0.04l1.06,-0.4l0.44,-1.14l-0.59,-1.63l0.56,-0.44l0.2,-0.72l-1.06,-3.47l0.21,-0.97l-0.73,-1.2l-0.27,-1.38l1.43,-2.86l1.12,0.06l2.89,-0.94l0.52,-0.44l0.05,-0.65l-0.34,-0.48l-1.97,-0.67l-0.46,-0.69l3.43,-1.76l1.2,0.51l0.9,-0.03l0.63,-0.53l0.16,-0.72l-0.74,-2.4l-1.36,-0.73l0.85,-1.56l0.04,-0.9l-3.48,-8.1l-0.79,-1.13l-0.3,-1.4l-0.89,-1.13l0.5,-1.95l-0.63,-3.99l0.77,-2.62l-0.4,-0.85l1.82,-0.71l0.17,-0.94l-3.98,-1.87l-3.64,0.41l-1.67,-0.93l-0.09,-0.41l3.37,-2.2l1.56,0.11l2.63,-0.36l0.91,-1.08l1.32,0.05l2.3,-0.76l2.37,0.29l10.1,-3.03l1.73,-0.96l0.84,0.15l0.24,0.34l0.57,2.2l2.36,0.96l4.52,-1.56l1.15,0.4l2.03,1.66l1.46,-0.27l1.17,-2.44l0.19,-3.34l-0.43,-0.51l-1.51,-0.55l-2.24,-0.3l-0.72,-0.65l1.13,-3.42l1.73,-3.1l1.16,-5.4l1.57,-2.5l2.42,-7.4l2.17,-3.93l0.43,-4.7l1.42,-0.06l5.57,2.71l5.6,1.73l2.6,0.19l1.35,-0.54l1.47,-0.12l2.2,0.12l1.5,0.44l2.05,-0.26l0.99,0.92l-0.51,1.54l0.3,0.53l0.51,0.15l2.75,-0.72l0.89,-0.95l1.04,-0.34l1.51,-1.11l1.03,-1.1l4.25,-0.41l0.81,-2.26l1.46,-0.49l0.41,-1.47l-0.01,-1.88l-1.38,-2.39l0.16,-2.43l-1.17,-5.49l1.03,-4.0l1.91,-4.01l0.75,-0.74l3.14,-0.4l2.89,0.18l1.73,-1.23l1.75,-0.03l2.08,-0.83l0.69,-1.27l2.19,-2.43l-0.14,-1.37l0.67,-1.36l-0.72,-0.8l-0.39,-1.15l1.94,-2.5l1.7,0.23l1.97,-0.68l4.2,1.1l1.22,-0.35l0.47,-0.58l4.06,-0.85l0.02,2.26l0.73,0.56l0.0,0.32l-1.63,0.87l-0.35,1.23l0.91,0.74l0.52,1.11l1.32,0.58l0.99,0.05l1.02,0.72l-1.72,1.98l0.7,1.07l1.33,0.28l1.48,0.9l1.07,0.03l0.93,0.42l1.65,1.41l1.23,0.02l0.8,0.81l-0.11,1.23l0.61,1.55l0.77,0.54l1.0,0.15l1.4,1.12l1.68,0.03l1.93,2.13l2.75,0.32l2.0,-1.15l0.93,0.31l1.68,-0.17l0.42,1.19l0.62,0.34l0.55,0.9l0.83,0.29l0.65,1.15l2.23,-0.01l0.66,-0.27l0.35,-0.89l0.99,0.14l-0.12,0.99l0.57,1.23l1.31,0.94l2.38,0.77l-0.18,0.64l0.84,1.66l0.81,0.76l0.1,1.58l0.58,0.56l-0.22,1.36l3.64,5.54l2.47,1.21l0.69,1.29l-0.14,1.03l1.19,1.43l-0.16,2.51l0.74,0.68l-2.21,4.8l0.79,2.55l0.69,1.02l0.08,1.45l-4.25,4.86l-0.92,4.86l1.52,1.53l0.64,2.33l1.0,0.67l0.14,1.29l0.84,0.24l1.15,-0.54l1.61,0.07l2.22,1.48l1.82,0.29l0.94,-0.58l1.55,1.36l1.9,0.21l5.5,-0.28l2.19,1.09l4.21,0.32l5.51,-0.75l1.4,0.6l3.17,-0.04l1.22,0.48l1.37,-0.06l1.13,0.53l1.57,0.09l2.59,1.28l3.15,3.66l2.16,0.5l1.69,-0.21l1.29,1.2l0.89,1.39l1.57,0.28l2.18,1.17l1.69,1.71l5.09,1.63l4.74,-0.53l-0.88,1.84l0.01,2.81l0.37,0.35l2.82,0.72l2.29,5.83l2.04,3.92l0.63,2.92l6.26,5.73l0.52,0.97l0.24,2.37l-3.67,2.19l-0.71,1.0l-0.56,7.26l0.39,2.19l-2.49,2.52l-1.12,0.37l-4.19,-0.45l-6.38,1.19l-7.13,3.62l-8.52,8.56l-6.34,8.97l-4.04,1.95l-3.66,-0.35l-0.8,0.06l-0.97,0.54l-0.39,6.58l-1.98,3.16l-0.25,0.93l0.15,1.08l2.61,6.31l-0.24,4.52l-8.1,1.55l-1.82,1.3l-1.77,0.8l-7.19,1.96l-2.43,0.24l-2.5,1.14l-4.1,0.79l-5.22,0.38l-0.42,0.31l-0.2,0.76l-3.6,2.24l-0.83,0.31l-1.64,-0.05l-0.97,0.6l-0.14,0.86l0.63,1.56l3.61,5.63l0.11,1.12l-0.64,1.56l0.33,0.92l6.17,3.18l1.58,1.38l2.03,0.7l1.1,3.0l2.27,3.17l0.06,0.76l-0.27,0.33l-1.44,0.22l-2.75,1.17l-1.51,-0.15l-1.13,0.3l-2.15,2.41l-0.13,1.78l0.44,1.31l1.51,1.39l2.79,0.78l1.85,5.96l-0.13,0.68l-3.13,1.11l-0.69,-0.05l-3.08,-1.7l-6.84,-0.34l-0.93,-1.41l-1.09,-0.75l-0.6,0.4l-0.82,2.66l-0.94,0.19l-2.69,-0.27l-6.62,-3.03l-3.59,-0.23l-2.09,-1.6l-1.97,0.02l-2.69,-0.75l-0.73,-0.53l-1.25,-0.18l-5.91,0.45l-1.7,1.01l-4.57,0.58l-3.33,-0.68l-2.47,1.23l-5.78,0.69l-1.83,0.67l-2.82,-0.05l-1.01,0.86l-1.99,0.46l-0.99,0.57l-0.49,1.52l-0.85,0.89l-0.58,1.71l-1.77,1.7l-3.28,-0.03l-2.18,1.82l-0.45,-0.89l-1.39,-0.7l-1.22,-0.05l-1.41,0.41l-1.88,-0.31l-3.33,1.01l-2.17,1.49l-3.15,0.69l-5.67,3.03l-2.34,-0.7l-2.14,0.74l-3.67,0.25l-5.66,-1.07l-1.53,0.31l-1.94,-1.28l0.14,-1.98l-0.42,-0.86l-0.83,-0.52l-1.36,-0.16l-1.78,0.69l-4.41,-0.57l-1.46,0.83l-0.51,1.59l-3.17,1.75l-0.98,1.97l-4.16,1.19l-1.51,0.14l-2.62,-1.47l-3.07,0.14l-2.15,-1.22l-0.73,0.4l-0.19,1.18l-0.33,0.04l-1.53,-0.84l-1.75,-0.02l-1.28,-0.62l-2.63,-0.35l-3.12,-2.06l-0.78,0.54l0.0,1.57l-1.33,2.91l-2.17,2.34l-0.12,0.59l0.41,1.17l-1.5,0.46l-0.81,0.84l-0.0,0.72l0.44,1.43l0.67,0.94l0.01,0.63l-2.36,4.25l-0.71,0.17l-1.65,-0.75l-2.0,-0.23l-2.04,0.66l-2.1,-0.11l-3.36,1.54l-2.16,-1.07l-2.13,-1.91l-4.24,-0.88l-1.02,-0.64l-1.19,-3.62l-0.9,-1.51l-0.32,-1.99l-1.83,-3.42l0.78,-2.9l-0.16,-0.86l-0.37,-0.3l-1.06,-0.0l-1.36,1.0l-1.53,-1.11l-1.73,0.67l-2.2,-0.33l-1.45,0.15l-1.89,-0.98l-2.01,0.05l-1.48,-0.99l-1.82,0.03l-1.02,-0.96l-1.21,-0.12l-1.16,-1.05l-1.49,-0.59l0.01,-1.72l-0.14,-0.54l-0.54,-0.36l-1.89,0.77l-0.38,0.44l-3.14,0.4l-0.93,-2.7l-2.14,-0.63l-0.61,-0.74l-0.02,-0.47l1.04,-0.73l0.04,-0.85l0.64,-0.67l-0.67,-1.24l0.1,-2.71l-2.0,-3.29l-3.13,-1.93l-1.37,-0.2l-1.7,0.73l-0.64,-2.68l-1.16,-0.78l-1.75,-0.35l-1.46,-0.78l-2.49,0.29l-0.82,0.58l-1.05,-1.16l-1.17,-0.1l-0.67,-0.59l-2.15,0.43l-0.59,-0.84l-1.39,-0.75l0.99,-0.22l0.56,-0.88l1.84,-0.01l1.36,-1.04l0.82,1.29l1.82,-0.27l0.84,-0.83l1.72,-0.53l0.49,-1.19l0.9,-0.31l0.1,-0.72l-3.85,-3.21l-0.08,-0.6l1.18,-2.16l-0.18,-0.53l-0.96,-0.58l0.38,-0.65l-0.32,-0.55l-0.18,-2.09l-1.31,-1.01l-0.27,-3.42l0.97,-1.43l-0.04,-1.52l-1.27,-1.33l-1.01,-0.12l-0.76,-0.63l-4.67,-1.83l-1.68,0.29l-1.67,-0.28l-0.65,0.96l-0.66,0.28l0.08,1.14l-1.27,-0.04l-1.58,-0.9l-1.05,-2.15l-0.05,-1.42l-0.73,-0.98l0.35,-0.49l1.42,-0.3l0.36,-1.1l-1.83,-1.75l-0.46,-1.24l-0.94,-1.06l0.54,-2.29l-0.16,-1.37Z\",\\n      \"name\": \"Xinjiang\"\\n    },\\n    \"CN-64\": {\\n      \"path\": \"M453.32,296.26l0.57,-0.91l1.08,-0.31l2.03,0.39l4.62,-0.77l0.76,-0.53l0.79,-1.19l2.56,-1.24l1.66,-0.46l2.0,0.5l2.11,-0.19l2.47,-1.4l0.54,-3.5l-1.04,-2.51l0.21,-0.66l0.81,-0.51l0.32,-0.78l-0.36,-2.31l0.27,-2.94l0.79,-2.76l2.4,-4.15l0.71,-2.31l1.68,-0.0l0.85,-0.66l-0.03,-2.05l2.98,-0.04l1.86,-1.28l1.99,-0.14l0.25,2.73l1.21,2.03l1.31,0.86l-0.69,1.5l-3.3,4.77l-0.95,3.19l-2.49,2.78l0.09,0.63l5.39,2.44l3.47,0.61l1.41,-0.41l2.2,1.13l0.96,1.32l0.47,1.4l3.39,0.95l-0.26,0.72l-2.01,0.24l-0.46,1.22l-2.36,2.01l0.13,0.95l-0.75,1.68l-0.48,2.16l0.76,0.98l0.54,1.57l-0.34,0.81l-2.16,-0.68l-2.98,0.27l-2.53,-1.64l-1.35,0.05l-0.64,0.57l-0.39,2.06l0.26,0.98l-0.93,1.43l1.12,2.04l-0.42,0.98l-0.8,-0.06l-0.98,0.65l-0.13,2.75l-0.9,0.7l0.94,1.3l0.12,1.26l-0.42,1.05l0.84,0.96l1.4,-0.26l1.96,1.16l1.16,-0.03l1.54,1.94l-0.13,1.47l-0.3,0.39l0.13,0.54l-1.15,0.59l0.9,1.72l-0.58,0.57l-1.18,0.42l-0.38,0.5l-0.54,-0.45l-2.06,-0.46l-1.43,0.12l-0.71,0.43l-0.14,0.71l0.63,1.71l-0.73,0.17l-0.15,0.51l0.41,0.86l0.81,0.35l-0.11,0.98l-0.39,1.15l-1.18,0.99l-2.08,-2.41l-1.88,-0.4l0.26,-0.5l-0.47,-0.55l-2.05,-0.64l-1.29,0.59l-1.89,-2.41l0.56,-0.79l-0.27,-0.46l-1.04,-0.15l-1.39,0.3l-1.84,-0.93l-1.47,-2.53l-0.08,-0.72l0.34,-1.08l1.4,-0.96l0.18,-2.79l-0.6,-1.95l-0.96,-1.01l-1.07,-2.09l-0.7,-2.42l1.3,-0.96l0.13,-0.82l-2.55,-3.46l-2.42,-0.94l-0.94,-0.75l-1.01,-2.08l-1.57,-0.65l-0.96,0.61l-0.72,-0.27l1.38,-1.1l-0.04,-0.58l-0.39,-0.36l0.41,-0.6l-0.33,-0.35l-3.56,-0.63l-1.0,0.55Z\",\\n      \"name\": \"Ningxia\"\\n    },\\n    \"CN-63\": {\\n      \"path\": \"M233.37,320.67l0.65,-0.59l1.34,-0.43l4.34,0.12l0.93,-0.27l0.61,-0.67l0.53,-2.17l1.64,1.97l6.95,0.38l3.43,1.79l3.92,-1.17l0.65,-0.79l-0.0,-0.82l-1.91,-6.14l-0.73,-0.55l-1.95,-0.36l-1.05,-0.71l-0.82,-0.94l-0.1,-1.83l1.82,-2.22l2.46,-0.09l2.79,-1.18l1.73,-0.35l0.54,-0.83l-0.14,-1.32l-2.28,-3.14l-0.65,-2.31l-0.63,-0.91l-2.16,-0.8l-1.59,-1.39l-5.92,-2.98l-0.14,-0.5l0.66,-1.71l-0.19,-1.18l-3.65,-5.7l-0.55,-1.31l0.12,-0.41l2.0,-0.11l1.04,-0.39l3.69,-2.3l0.37,-0.9l6.68,-0.68l2.63,-0.51l2.51,-1.14l6.07,-1.08l3.64,-1.14l1.85,-0.83l1.7,-1.25l7.87,-1.51l1.71,0.06l1.58,-0.87l2.18,0.15l2.11,-0.56l1.7,-1.01l1.59,0.0l1.34,-0.49l2.36,0.41l3.65,-0.68l4.82,0.11l2.18,0.38l1.35,1.0l2.84,0.69l1.37,0.8l3.23,-0.16l1.18,-0.36l2.1,2.25l1.67,0.62l1.85,2.15l1.3,0.39l1.53,1.35l1.84,0.63l0.58,1.18l2.42,0.8l1.28,0.03l2.83,1.39l-0.11,0.92l0.65,0.68l3.24,1.36l2.47,0.5l0.83,-0.26l0.29,-0.73l0.18,-3.28l-0.45,-1.28l0.4,-0.35l0.2,-1.22l-0.15,-2.08l0.3,-2.32l-0.43,-1.89l0.54,-1.06l1.58,-0.15l3.23,0.89l10.68,5.98l2.97,-2.31l0.73,-1.46l1.51,1.1l2.11,0.23l1.36,-0.49l0.86,-0.75l0.44,-0.88l1.97,0.56l1.0,1.0l1.57,0.12l0.16,1.25l5.92,5.04l0.91,1.48l3.63,2.6l4.05,1.46l1.22,1.25l0.61,-0.21l0.13,-0.64l-0.28,-1.36l-1.0,-1.4l0.19,-1.18l2.84,2.84l2.88,0.76l0.48,0.62l0.44,1.66l0.65,0.6l6.12,2.44l3.58,2.81l5.89,3.43l1.04,1.22l0.67,0.12l0.44,-0.27l0.29,-1.4l1.5,-1.82l0.33,1.62l1.02,1.0l-0.47,0.9l0.19,0.82l1.59,1.06l1.06,0.14l1.95,1.58l1.14,0.45l1.72,1.81l0.01,0.31l-0.87,0.71l-0.52,2.34l3.23,2.8l-0.01,0.42l-1.2,0.69l0.04,0.97l1.51,1.17l1.02,1.83l0.85,3.02l1.12,0.29l1.77,1.23l-1.43,2.43l0.12,0.54l0.91,0.83l-0.44,0.9l0.19,1.24l-2.47,-0.36l-0.69,0.48l-0.6,-0.14l-0.37,0.27l-0.32,1.58l0.61,2.29l-0.21,1.29l-2.28,-0.31l-0.77,0.48l-0.89,1.21l-1.49,0.09l-0.54,0.32l-0.02,1.23l-0.56,1.32l0.38,0.39l0.54,0.02l0.78,1.11l-0.78,0.64l-0.7,1.25l-1.05,0.32l-1.57,1.3l-1.08,0.24l-1.22,1.1l-0.43,0.78l0.04,1.27l-0.79,-0.14l-1.58,1.22l0.06,0.82l0.71,0.84l0.86,0.16l0.85,-0.6l0.13,0.89l0.54,0.74l2.71,0.95l0.89,1.9l-0.52,0.36l-0.23,0.65l-1.02,0.21l-1.89,2.27l-1.23,-0.17l-1.22,1.21l-1.6,-1.01l-0.61,-0.96l-0.62,-0.28l-3.61,-0.85l-1.04,-0.69l-2.88,-0.49l-1.85,-0.94l-0.95,0.41l-1.43,1.59l-0.41,1.33l0.18,1.03l2.39,3.87l1.05,0.89l1.6,0.41l0.61,3.24l0.49,0.12l0.56,-0.32l1.32,0.56l0.99,0.01l1.81,-1.07l0.73,0.98l0.72,2.15l2.09,-0.04l-1.48,1.72l-0.04,1.24l0.88,0.76l-1.18,2.05l-1.15,-1.21l-1.4,-0.73l-0.82,0.18l-0.29,0.61l-0.82,-0.21l-1.58,0.54l-0.87,0.66l-0.68,2.03l-0.02,1.26l0.39,0.86l1.11,0.69l0.11,0.64l-1.05,2.01l-1.22,-0.13l-2.01,0.87l-1.15,-0.59l-2.59,-0.31l-1.28,3.99l-0.75,0.43l-0.44,-0.62l1.0,-0.77l0.33,-0.77l-1.2,-2.2l-1.69,-1.3l-2.06,0.48l-0.44,0.45l-0.23,1.07l-0.76,-0.17l0.47,-1.57l-0.3,-1.46l-1.54,-1.68l-1.42,-0.15l-1.12,-1.33l-0.77,0.13l-0.27,1.12l-1.07,0.62l-0.59,2.67l-2.51,-1.37l-3.4,-0.91l-1.27,-2.09l-4.84,-2.34l-1.28,-1.97l-0.38,-2.86l-1.72,-2.46l0.35,-0.48l-0.09,-0.47l-3.19,-3.13l-0.92,-0.32l-1.48,0.29l-0.15,-0.72l-0.71,-0.71l-3.0,-0.45l-2.49,1.32l-1.41,0.34l-0.07,-1.19l-0.63,-0.99l-1.25,-0.15l-0.56,1.19l-3.26,0.98l-0.51,0.83l0.39,1.79l0.03,2.29l1.23,0.75l0.27,1.17l0.48,0.59l2.87,0.93l-1.48,0.65l-1.86,2.4l-0.35,1.34l0.38,1.67l-1.38,0.71l-0.67,1.15l0.34,2.21l0.69,1.3l2.65,1.52l1.37,1.26l-0.71,0.83l-0.91,-0.61l-3.17,-0.25l-0.79,1.81l0.31,0.44l0.71,0.22l-0.3,0.9l0.15,0.51l-1.0,-0.06l-0.54,0.42l-0.52,1.62l0.26,1.16l-0.85,0.07l-0.64,0.86l-2.0,-0.17l-4.19,1.08l0.01,0.71l0.7,0.64l-0.58,1.09l0.69,1.56l-0.25,0.51l-1.38,-0.74l-2.67,-0.55l-2.26,-2.34l-0.78,-0.1l-1.33,0.52l-0.96,1.63l0.24,0.65l1.06,1.05l-0.16,2.22l-0.88,-2.27l-0.9,-0.6l-3.31,-0.03l-0.83,0.3l-0.72,-0.76l-1.32,-0.28l-2.16,0.29l-1.09,-0.94l-0.72,-2.25l1.01,-0.74l-0.19,-0.67l0.24,-0.8l-0.49,-1.28l-1.29,-0.49l-0.78,-0.95l-2.82,-0.23l-1.52,-1.02l-0.55,-2.14l-2.6,-1.4l-0.36,-0.81l-1.82,-1.48l-0.66,0.01l-2.41,1.28l-0.45,-0.37l-0.5,0.05l-0.48,1.13l-2.12,0.36l-0.97,0.7l-1.41,-0.04l-1.23,-0.47l-0.91,0.18l-0.74,-0.9l-1.16,-0.32l-2.1,0.14l-1.4,0.81l-0.61,-0.75l-1.23,-0.12l-2.45,-1.6l-2.24,0.16l-0.73,-1.4l-2.19,0.2l-1.76,-0.51l-1.27,0.31l-3.98,-0.49l-2.16,0.45l-0.24,-0.83l0.23,-0.75l-0.33,-0.44l-1.62,-0.35l-1.69,0.64l-2.31,-1.92l-1.35,-0.23l-2.56,-1.57l-2.32,-2.98l0.32,-0.77l-0.65,-0.51l-3.13,0.03l-0.55,0.49l-0.19,0.82l-2.72,0.28l-1.55,1.4l-0.78,0.19l-2.62,-0.77l-2.33,-1.63l-1.95,-0.25l-1.11,-1.45l-0.04,-1.63l-0.68,-1.06l-1.05,-0.71l-1.65,-0.44l-0.32,-1.38l-0.86,-0.64l-0.16,-1.05l-2.12,-1.57l-1.42,-2.34l0.19,-0.79l0.99,-0.23l0.93,-0.93l0.92,-2.84l-0.16,-0.72l-0.58,-0.34l-0.05,-2.32l-0.43,-1.8l-0.66,-0.9l1.31,-1.24l0.28,-0.92l-0.25,-1.0l-0.51,-0.6l-3.11,-0.3l0.11,-1.98l-1.68,-2.32l0.42,-0.66l0.0,-1.15l1.8,-0.57l1.91,-1.22l0.07,-0.71l-0.7,-0.56l0.44,-0.73l-0.11,-1.28l0.96,-1.82l0.2,-1.26l-0.61,-0.66l-2.09,0.04l-1.64,-0.48l-0.6,-0.7l-0.3,-1.04Z\",\\n      \"name\": \"Qinghai\"\\n    },\\n    \"CN-62\": {\\n      \"path\": \"M284.85,266.52l0.23,-4.69l-2.74,-7.21l2.21,-3.95l0.32,-6.35l1.06,-0.2l3.79,0.34l4.41,-2.13l6.44,-9.08l8.32,-8.38l6.91,-3.53l6.27,-1.17l4.14,0.46l1.58,-0.54l2.78,-2.99l-0.38,-2.32l0.38,-6.35l0.54,-1.27l3.88,-2.31l11.82,-1.14l9.41,20.13l-2.56,2.22l-0.27,0.86l0.22,0.87l4.34,5.21l1.03,0.56l2.77,2.45l1.56,0.87l-1.29,5.84l0.24,0.71l5.68,-0.35l0.79,-0.42l2.57,-2.71l4.76,-1.87l4.99,-0.12l2.5,-1.02l1.4,-0.14l3.92,0.44l1.93,2.79l0.02,1.94l-2.7,3.25l-1.26,2.95l-4.23,2.57l-1.44,1.24l-1.55,2.21l0.36,0.56l4.69,0.29l2.4,1.61l4.33,1.47l0.91,0.94l0.42,1.52l2.31,0.87l0.62,1.23l4.44,0.25l0.34,1.31l-0.05,1.92l0.53,1.52l2.78,2.23l0.87,0.15l1.27,-0.44l-0.12,1.19l0.95,1.51l0.84,0.46l-0.29,0.59l0.38,0.66l1.44,0.18l2.54,1.06l3.98,-0.12l3.05,-3.4l-0.22,-0.68l-2.7,-2.72l2.45,-0.53l5.53,-2.01l0.67,-0.02l2.04,1.03l5.67,1.02l0.7,-0.22l1.93,-1.64l4.76,-2.26l4.14,-1.15l4.18,-0.19l-0.17,1.67l2.47,3.85l-0.03,0.84l-0.75,1.39l-1.52,0.94l-1.2,2.37l-1.48,1.89l-6.43,3.97l-0.08,0.51l0.72,1.28l0.59,2.8l-1.69,0.46l-0.38,0.45l-0.02,1.86l0.53,2.52l0.5,0.51l3.42,1.09l6.31,5.31l2.18,1.21l2.48,-0.09l1.03,-0.71l2.66,0.49l-0.03,0.5l0.51,0.49l-1.25,0.79l-0.2,0.6l0.34,0.54l1.08,0.48l1.16,-0.6l1.04,0.46l0.86,1.92l0.73,0.67l1.96,0.71l1.14,0.78l1.96,2.78l-1.24,0.75l-0.19,1.06l0.75,2.5l1.1,2.14l0.94,0.97l0.54,1.94l-0.15,2.08l-1.17,0.67l-0.47,0.77l-0.06,1.94l1.75,2.94l2.12,1.03l1.55,-0.25l0.23,1.22l2.03,2.45l0.81,0.08l0.88,-0.56l0.94,0.31l-1.81,0.39l-0.22,0.59l0.31,0.55l0.62,0.15l1.2,-0.4l2.45,0.26l1.88,2.27l0.57,0.35l0.74,-0.08l1.48,-1.34l0.44,-1.37l0.05,-1.44l-1.08,-0.75l1.12,-0.06l0.21,-0.56l-0.87,-0.89l-0.29,-1.25l1.91,-0.12l2.15,0.85l2.02,-1.03l0.97,-1.0l-0.01,-0.51l-0.78,-1.22l1.17,-0.59l-0.18,-0.67l0.32,-2.08l-0.4,-0.75l-1.61,-1.86l-1.2,0.04l-1.94,-1.16l-1.34,0.25l-0.45,-0.43l0.44,-0.73l-0.12,-1.47l-0.78,-1.02l0.73,-0.69l0.0,-2.49l1.58,-0.39l0.73,-1.41l-0.04,-0.86l-0.93,-1.36l0.78,-1.23l-0.22,-1.16l0.32,-1.8l0.33,-0.16l0.99,0.08l2.28,1.56l3.08,-0.25l1.59,0.41l0.34,0.28l0.24,2.85l3.31,0.42l0.12,0.54l0.5,0.29l2.25,0.3l2.68,1.11l0.82,1.25l1.06,0.3l-0.01,0.59l0.41,0.52l1.95,0.53l0.7,-0.45l0.48,0.41l1.4,0.33l1.2,1.4l2.66,0.6l1.14,0.99l-0.87,1.7l0.81,1.94l-0.32,2.08l-2.38,1.64l-0.36,0.57l0.47,1.45l-0.14,2.01l1.33,2.22l0.18,2.44l-1.38,1.6l-3.3,0.19l-1.19,-0.52l-3.13,1.16l-0.42,-0.58l-3.08,-0.98l-0.46,0.41l0.03,0.84l-0.72,0.22l-0.25,0.52l1.35,2.58l1.17,1.18l-1.4,0.35l-2.31,-0.2l-0.95,0.64l-2.84,-0.28l-1.34,0.8l-2.17,-2.33l-1.53,-0.41l-0.65,-0.5l-4.99,0.07l-1.47,0.95l-0.26,0.47l0.12,1.48l0.8,1.36l-0.09,0.38l-0.78,1.35l-1.03,0.66l-1.53,2.19l0.84,1.25l2.0,0.05l1.42,0.77l0.93,1.29l0.23,1.6l-1.59,-0.43l-1.0,0.28l-0.03,0.69l0.7,0.29l0.47,1.35l-0.87,0.21l-1.55,3.44l0.22,0.93l0.59,0.35l-0.34,0.54l0.19,1.66l1.28,1.37l-0.1,0.85l-0.56,0.17l-0.51,-0.87l-0.59,-0.29l-1.86,0.11l-1.72,0.79l-1.1,-0.87l-1.27,0.0l-0.83,0.99l-1.86,0.94l-0.62,1.46l-1.15,0.39l-0.19,0.96l0.66,1.29l1.43,0.84l0.93,0.13l-0.34,0.83l0.18,2.12l-0.23,0.61l-1.13,0.28l-1.89,1.13l-2.68,-0.57l-1.2,0.39l-0.74,1.32l0.92,1.4l-2.18,1.49l-1.12,-0.31l-1.14,1.08l-0.9,-0.7l-1.97,0.44l-1.24,-0.54l-2.64,-0.22l-1.16,-0.45l-2.23,-1.97l-1.54,-0.45l-0.02,-0.9l1.31,-0.57l0.54,-1.2l-0.17,-0.91l-1.58,-2.09l-0.21,-1.14l1.3,-0.29l0.22,-0.65l-0.41,-0.48l-1.07,-0.39l-1.64,-1.97l-0.0,-1.5l-0.5,-1.04l-1.01,-0.6l-2.62,-0.24l-2.19,0.18l-1.83,-0.68l-1.38,0.18l0.51,-1.26l-0.41,-0.6l-2.52,0.95l-2.13,-0.38l-0.44,-0.34l0.04,-1.26l-0.64,-0.76l0.15,-2.27l-0.26,-1.24l-0.53,-0.53l-1.49,-0.56l-0.94,-1.26l-0.64,-0.36l-2.51,0.59l-0.83,0.89l-1.93,1.05l-0.14,0.71l0.36,0.37l-1.93,0.25l-1.25,1.53l-1.3,-0.14l-1.78,0.81l0.01,0.53l1.15,1.55l-0.12,0.68l0.97,0.54l-0.27,0.3l0.18,0.61l0.34,0.07l-0.02,1.0l0.65,0.84l1.22,0.72l0.17,1.11l-0.97,0.71l-1.51,0.47l-0.69,0.91l-1.37,0.41l-0.76,1.38l-1.51,0.07l-1.35,1.13l-0.49,-1.28l0.9,-1.18l0.57,-1.68l-0.73,-2.39l-1.59,-1.08l-0.42,0.33l-0.11,0.92l-0.79,0.41l-0.99,-0.02l-0.7,-2.19l-1.08,-1.08l-2.1,1.07l-2.1,-0.57l-0.65,0.17l0.06,-1.53l-0.54,-1.37l-1.93,-0.67l-0.76,-0.68l-2.27,-3.68l0.24,-1.71l1.56,-1.5l1.71,0.9l2.89,0.5l0.96,0.66l3.6,0.84l1.0,1.11l2.12,1.23l1.58,-1.29l0.76,0.23l0.65,-0.19l0.26,-0.5l0.7,-0.34l0.09,-0.61l0.52,-0.23l0.28,-0.56l1.06,-0.24l1.02,-1.53l-1.06,-2.46l-1.29,-0.79l-1.56,-0.3l-0.81,-1.79l-0.56,-0.03l-0.93,0.64l-0.61,-0.75l1.12,-0.67l1.05,-0.12l0.36,-2.03l1.1,-0.99l1.08,-0.26l1.6,-1.32l1.19,-0.42l0.78,-1.34l0.86,-0.73l-0.06,-0.89l-0.96,-1.28l-0.5,-0.13l0.48,-0.97l-0.17,-0.68l1.7,-0.16l1.6,-1.67l2.1,0.36l0.63,-0.41l0.32,-1.23l-0.62,-2.8l0.17,-0.9l0.67,-0.03l0.5,-0.41l2.52,0.44l0.45,-0.21l-0.07,-1.83l0.44,-1.08l-1.03,-1.18l1.48,-2.19l0.03,-0.63l-2.25,-1.63l-0.98,-0.26l-0.61,-2.63l-1.08,-1.96l-1.47,-1.09l0.01,-0.36l1.07,-0.49l0.09,-1.21l-1.99,-1.98l-1.13,-0.64l0.45,-1.9l0.91,-0.86l-0.17,-0.93l-1.97,-2.05l-1.07,-0.4l-2.02,-1.63l-1.15,-0.19l-1.27,-0.81l0.37,-1.59l-1.01,-0.97l-0.58,-2.14l-0.88,0.09l-1.56,1.83l-0.55,1.62l-0.99,-1.19l-5.91,-3.44l-3.63,-2.84l-6.07,-2.41l-1.46,-2.81l-2.99,-0.84l-2.88,-2.88l-0.92,0.05l-0.45,1.47l0.03,0.64l1.02,1.86l-1.76,-1.1l-2.87,-0.84l-3.51,-2.52l-0.87,-1.44l-5.84,-4.95l0.07,-0.9l-0.35,-0.47l-1.74,-0.23l-0.99,-0.99l-1.92,-0.6l-0.86,0.06l-0.71,1.2l-1.21,0.81l-2.12,-0.16l-1.04,-0.97l-1.03,-0.12l-0.49,0.41l-0.55,1.27l-2.46,2.01l-10.29,-5.89l-3.47,-0.94l-1.97,0.22l-1.02,1.68l0.43,2.03l-0.3,2.27l0.15,2.04l-0.6,1.55l0.46,1.54l-0.18,3.03l-0.28,0.28l-2.26,-0.46l-3.14,-1.32l-0.29,-1.45l-3.15,-1.57l-1.42,-0.07l-2.11,-0.67l-0.51,-1.12l-1.97,-0.73l-1.74,-1.47l-0.99,-0.2l-1.84,-2.15l-1.69,-0.64l-2.34,-2.4l-4.53,0.52l-1.22,-0.76l-2.83,-0.69l-1.4,-1.02l-2.37,-0.41l-4.88,-0.11l-3.66,0.68l-2.29,-0.41l-1.54,0.51l-1.53,-0.01l-2.02,1.11l-2.03,0.49l-2.0,-0.17l-1.55,0.86l-0.8,-0.05Z\",\\n      \"name\": \"Gansu\"\\n    },\\n    \"CN-61\": {\\n      \"path\": \"M472.9,364.06l1.1,-0.33l0.56,-1.41l1.85,-0.94l0.49,-0.82l0.86,-0.03l0.41,0.61l0.77,0.28l2.11,-0.81l1.41,-0.11l1.06,1.14l0.62,0.06l0.9,-0.53l0.21,-1.49l-1.31,-1.41l-0.17,-1.3l0.4,-0.32l0.08,-0.64l-0.88,-0.53l-0.08,-0.37l1.06,-1.83l0.29,-1.15l0.59,-0.0l0.41,-0.38l-0.45,-2.04l1.51,0.21l0.51,-1.02l-0.38,-1.77l-1.13,-1.46l-1.74,-0.93l-1.77,0.04l-0.43,-0.61l0.77,-0.61l0.62,-1.07l0.96,-0.6l0.92,-1.58l0.12,-0.85l-0.78,-1.23l-0.1,-1.28l0.92,-0.75l4.79,-0.1l0.51,0.45l1.38,0.33l0.67,0.95l1.9,1.57l1.05,-0.36l0.46,-0.49l2.77,0.28l1.04,-0.65l2.32,0.19l1.61,-0.4l0.47,-0.7l-2.39,-3.68l0.68,-0.37l0.15,-0.86l2.33,0.82l0.7,0.71l2.8,-1.14l0.66,-0.04l0.96,0.52l1.22,-0.26l2.08,0.09l0.79,-0.41l1.37,-1.76l-0.15,-2.84l-1.31,-2.09l0.11,-2.07l-0.46,-1.25l2.68,-2.02l0.37,-2.47l-0.8,-1.81l0.73,-0.98l0.05,-1.17l-1.39,-1.25l-1.37,-0.55l-1.34,-0.07l-1.06,-1.33l-1.63,-0.46l-0.51,-0.5l-0.58,0.02l-0.42,0.45l-1.49,-0.4l-0.08,-0.9l-1.28,-0.42l-1.02,-1.39l-2.81,-1.18l-2.13,-0.25l-0.15,-0.51l-0.61,-0.36l-2.84,-0.26l-0.15,-1.94l0.7,-1.98l-0.62,-1.86l-0.67,-0.69l1.19,-3.52l-0.11,-0.97l2.16,-1.69l0.35,-1.12l1.9,-0.18l0.72,-1.05l3.3,0.79l0.91,1.08l0.05,1.23l0.81,0.36l4.43,-0.01l2.46,-0.6l2.19,0.1l1.78,-0.29l0.57,-1.87l0.09,-2.81l0.51,-0.6l0.75,1.11l0.85,0.04l0.97,-1.33l0.53,-1.54l-0.05,-0.79l-1.15,-1.65l0.48,-1.99l0.85,-1.45l1.39,-1.32l0.41,-0.81l2.03,-1.14l0.16,-0.96l0.76,-0.37l0.45,-1.0l0.72,-0.46l0.88,0.09l0.53,-0.33l0.42,-1.03l0.91,-0.95l0.56,-1.76l2.02,-0.65l0.45,-0.79l1.68,-1.41l3.13,-1.72l0.1,-0.85l-0.94,-1.81l0.98,0.12l0.78,1.19l1.27,0.82l0.74,-0.08l0.64,-0.59l1.01,-0.3l1.19,1.72l0.99,0.5l0.78,-0.47l0.67,-1.32l2.45,-2.82l1.65,-0.99l1.08,-0.01l-1.21,1.82l-0.03,0.51l2.66,1.97l-1.52,3.73l-1.69,0.99l-0.45,0.63l0.39,1.36l-0.33,1.44l-1.57,3.31l0.35,1.51l-0.58,1.2l-1.11,0.5l-1.53,1.87l-1.36,0.53l-0.26,1.16l-0.73,0.28l-0.28,0.8l0.22,3.8l1.15,0.74l1.0,1.87l1.27,0.79l-0.43,0.26l-0.03,0.68l0.99,0.56l-0.26,0.63l0.31,0.93l-0.63,1.46l-1.57,1.02l-0.06,0.83l0.75,0.57l-0.22,0.7l-2.97,3.92l-1.39,0.85l0.64,0.96l-0.65,1.37l0.64,1.15l-0.54,0.48l0.63,1.05l-0.41,0.3l-0.02,0.45l1.38,1.65l0.18,0.98l-0.59,2.92l0.21,1.42l-0.38,2.08l0.95,4.35l0.73,0.65l0.22,2.22l0.64,1.86l-0.84,1.27l-0.15,1.21l-0.76,0.59l-2.37,3.45l-1.11,4.21l0.14,1.2l-0.51,1.4l0.28,2.49l0.39,0.56l0.81,0.37l-0.15,2.05l0.22,0.74l0.67,0.73l1.32,0.55l-0.62,0.83l0.01,0.81l0.77,0.81l1.91,0.87l-0.38,1.77l0.74,1.16l-0.69,1.13l0.02,0.61l2.37,1.37l0.7,1.71l2.53,1.74l0.46,1.32l-0.3,0.95l0.37,1.02l-0.51,1.49l-0.83,0.9l-1.32,0.19l-1.36,1.29l-0.68,-0.51l-0.62,0.02l-0.51,-1.28l-0.72,-0.38l-0.7,0.23l-0.95,0.97l-2.87,0.28l-1.73,-0.89l-2.22,-0.05l-1.26,-0.47l-1.87,0.03l-1.42,-0.38l-0.86,0.47l-1.19,-0.1l-1.11,0.99l-0.34,0.65l0.46,0.7l4.2,0.97l0.23,0.7l-0.53,1.3l0.41,0.79l1.01,0.42l1.14,-0.36l2.78,1.14l0.71,1.57l-0.12,1.01l0.33,0.52l-1.21,-0.07l-0.68,1.03l-1.93,-0.69l-0.94,0.34l-0.58,-0.46l-1.01,0.22l-0.96,-0.21l-1.34,1.21l-0.24,2.11l-0.93,0.63l-0.22,0.6l0.87,1.96l1.07,0.56l0.23,1.29l0.59,0.71l-0.9,2.01l0.05,1.95l-0.51,1.16l-3.2,0.37l-0.91,-0.48l-0.95,-1.58l-1.14,-1.15l-6.68,-3.37l-2.1,-1.38l-0.9,-1.01l-3.36,-0.16l-0.92,0.46l-1.82,0.09l-0.85,0.47l-0.34,0.82l-1.62,-1.01l-1.01,-1.35l-1.91,-1.46l-2.71,-0.27l-0.19,-1.67l-0.39,-0.45l-1.18,0.15l-1.55,1.25l-0.7,-0.06l-1.74,-0.96l0.39,-2.28l-0.92,-1.07l-3.18,-0.06l-1.84,-0.4l-1.53,1.03l-3.66,0.62l-1.95,0.81l-2.16,-1.56l-0.05,-0.7l0.68,-1.75l-0.71,-0.62l-3.15,0.49l-1.11,1.47l-1.06,-0.09l-1.74,0.89l-0.89,-2.41l1.48,0.24l1.51,-0.39l1.01,-0.83l1.19,-0.24l0.64,-1.25l-0.18,-2.14l0.31,-1.36l-2.68,-1.22l-0.3,-1.08Z\",\\n      \"name\": \"Shaanxi\"\\n    },\\n    \"CN-23\": {\\n      \"path\": \"M700.34,19.63l4.7,-3.47l2.81,-2.7l1.65,-2.32l-0.53,-1.85l-1.3,-0.86l-0.63,-1.7l-2.71,-1.38l2.61,-1.27l3.54,-0.89l2.95,-0.01l1.24,-0.77l2.04,-0.52l1.3,0.89l1.07,-0.28l5.65,-0.18l2.16,-0.67l2.3,-0.14l1.42,-1.08l0.99,0.1l2.06,0.88l0.57,-0.23l0.39,0.31l0.65,-0.25l0.49,-0.67l1.24,1.01l2.21,0.31l1.62,0.74l0.68,0.95l1.56,1.1l1.97,-0.43l1.22,1.99l0.69,0.59l1.85,0.7l2.16,0.09l0.87,1.12l1.39,-0.01l0.94,0.9l0.7,-0.21l0.21,-0.43l-0.13,-0.95l2.33,-0.46l5.65,2.47l0.77,0.88l1.47,-0.33l0.35,0.65l1.03,0.72l-1.16,1.22l0.19,0.88l0.56,0.16l2.33,-0.55l0.09,0.83l1.74,1.85l1.45,-0.23l-0.59,0.42l0.26,0.99l-1.13,0.64l-0.07,1.12l0.78,1.08l1.15,-0.4l1.48,0.95l-0.16,1.05l0.33,0.4l0.97,0.06l0.87,1.25l-0.42,1.09l0.14,0.52l0.98,0.44l-1.03,0.63l-0.1,1.04l3.46,1.33l-0.53,1.29l-1.02,0.69l-0.11,0.65l3.11,5.13l1.05,0.53l-0.22,0.46l0.23,0.74l-0.69,1.33l0.5,0.54l1.67,0.75l-0.47,0.92l0.15,1.0l1.56,0.47l-1.14,0.69l-0.3,1.37l0.65,0.87l0.9,-0.05l-0.17,1.46l0.46,2.17l1.48,1.77l1.64,1.34l1.1,2.19l0.99,0.78l-0.02,1.31l1.14,1.83l-1.04,1.86l-0.01,0.52l0.94,0.85l-0.35,1.76l1.23,1.14l2.53,1.08l-0.25,1.18l-1.28,2.25l0.11,1.01l0.57,1.01l-0.37,1.86l0.52,0.84l1.67,0.56l0.82,1.99l2.44,1.54l1.05,0.07l0.62,-0.42l1.4,1.07l2.02,0.16l1.05,-0.35l1.18,0.17l0.6,-0.6l3.7,0.03l0.49,-0.52l1.48,0.55l-0.77,1.28l0.44,0.71l1.76,-0.16l1.67,0.71l0.88,1.4l0.96,0.38l1.54,-0.79l1.42,0.88l0.61,0.01l0.65,-0.74l0.02,-0.88l1.03,0.11l0.47,0.45l0.42,1.92l0.55,0.36l1.85,0.08l0.42,1.4l1.41,0.54l-0.05,0.81l1.09,0.72l0.24,1.12l0.85,0.33l3.3,2.48l0.99,0.41l2.69,-0.6l0.59,0.59l0.92,0.22l1.56,-0.42l-2.0,3.98l-0.05,0.71l0.32,0.51l0.98,0.49l-0.07,0.93l0.37,0.78l1.73,-0.25l-0.23,1.31l0.58,1.16l0.6,0.44l0.0,0.46l-0.69,0.82l-0.32,1.0l-1.15,1.06l-0.03,1.57l3.47,3.54l0.45,1.06l0.0,1.87l0.51,0.55l2.02,0.62l5.14,-1.24l2.48,1.49l1.41,-0.64l3.12,0.53l1.68,-0.56l1.99,0.14l2.53,-0.87l2.82,0.54l1.16,-0.96l-0.04,-0.9l1.37,-1.7l-0.03,-1.09l1.18,0.4l0.68,-0.09l0.94,-0.97l2.44,-1.31l0.78,-0.89l1.77,-0.34l1.15,0.46l3.45,0.08l0.65,-0.42l0.51,-0.96l1.12,-0.49l0.8,-1.03l3.36,-0.53l1.35,-0.92l4.66,-0.97l1.21,0.73l1.0,-0.15l0.91,1.09l1.13,0.48l-0.2,1.93l-1.63,1.67l-0.18,0.91l0.54,1.14l-0.08,0.53l1.03,0.75l0.27,1.14l1.3,1.52l0.0,0.37l-1.09,1.1l-0.15,1.08l-1.8,2.03l-0.89,0.7l-0.94,-0.18l-1.58,0.38l-2.13,1.96l-0.44,1.56l1.03,2.51l-1.3,0.52l-0.95,1.8l-0.13,1.46l-0.68,1.66l0.39,1.01l-0.42,1.82l-1.57,1.54l-0.91,2.05l0.14,0.75l1.11,0.87l-0.89,0.64l0.46,1.57l-0.66,0.72l-0.65,-0.09l-0.89,1.07l-0.8,0.33l-0.14,0.42l0.46,1.25l-0.79,2.05l-0.6,0.11l-0.41,0.84l-1.03,0.14l-0.65,1.18l0.15,0.95l-0.67,1.53l0.54,0.41l-0.28,0.61l-0.48,0.27l-0.22,0.59l-2.91,1.16l-0.54,0.5l-0.71,1.41l-0.48,2.47l0.27,2.84l-1.26,1.08l-1.16,0.5l-0.94,-0.45l-0.29,-1.51l-1.04,-1.64l-2.81,-1.47l-2.41,-0.58l-3.39,0.07l-1.41,0.52l-1.65,1.33l-0.7,-0.4l-0.68,-1.23l-0.58,-0.29l-1.22,0.72l-0.92,1.62l-1.42,0.35l-0.41,0.85l0.15,1.1l-2.5,2.24l-1.42,-0.13l-2.22,1.16l-0.9,-0.3l-0.95,0.21l-0.52,0.9l-1.5,0.64l0.02,0.59l1.95,2.52l2.86,11.11l-0.69,0.79l0.04,1.83l-0.69,2.33l0.31,3.46l-0.42,1.2l0.84,0.83l-0.93,0.4l-1.0,-1.07l-0.94,-0.28l-2.0,1.28l-0.69,-1.25l-2.71,-1.93l-3.05,-0.97l0.27,-1.04l-0.63,-0.93l-0.58,-2.37l0.15,-2.01l-0.55,-0.48l-0.56,0.32l-0.65,1.54l-1.44,0.71l-0.89,1.12l-0.63,-0.19l-0.49,-2.26l-1.64,-0.72l-1.77,1.08l-0.33,1.49l-4.24,0.31l-3.54,1.41l-0.63,1.03l0.27,2.19l-3.08,1.17l-1.5,-0.3l-1.59,-2.59l-0.25,-1.66l-1.73,-2.02l-1.59,-3.16l-1.1,-1.12l-0.08,-4.36l-0.33,-1.01l-0.89,-1.04l-1.04,0.1l-1.75,0.96l-1.0,1.75l-0.99,-0.42l-0.46,0.22l-0.07,4.39l-2.55,0.92l-0.88,-0.2l-0.33,-0.19l-0.51,-1.42l-1.42,-0.93l0.05,-1.06l-1.72,-2.22l0.35,-0.93l-0.15,-0.74l1.07,-0.45l-0.53,-1.18l-2.73,-1.34l-1.91,0.65l-0.54,-0.63l-0.67,-0.22l-0.73,0.21l-0.82,1.07l-0.14,-2.25l-0.79,-1.63l0.37,-0.65l0.88,-0.48l0.19,-0.91l-2.1,-4.0l-2.28,-0.2l-2.52,-1.55l-1.07,-0.31l-2.38,0.4l-2.52,1.3l-1.2,0.18l-3.34,-1.12l-1.31,-0.73l-1.15,-1.12l-0.32,-0.58l-0.1,-2.82l-0.39,-0.35l-1.29,0.09l-1.35,0.65l-1.18,-0.2l-0.46,0.32l-0.57,1.2l-0.87,-0.32l-2.98,0.38l-0.79,-1.73l-1.3,-0.06l-0.74,-0.7l-0.63,0.39l-0.27,1.24l-1.38,-0.48l-0.61,0.36l-2.17,-0.01l-0.31,0.67l-1.22,-0.86l-1.0,0.17l-0.32,-1.43l-1.22,-0.29l-0.9,-1.62l-0.69,0.14l-0.11,-0.62l-1.77,-1.67l0.38,-0.47l-0.19,-0.63l0.22,-0.89l-1.26,-1.31l0.97,-1.46l-1.19,-3.03l-0.19,-2.06l-0.47,-0.11l-0.52,0.3l-0.72,-0.24l-1.45,0.55l-5.87,0.45l-1.85,-0.56l-1.06,0.59l-2.15,-2.93l0.29,-3.3l0.8,-0.14l2.93,0.66l1.8,-0.26l2.11,-1.79l1.16,-1.65l0.3,-0.75l-0.52,-1.41l-0.83,-0.23l-0.79,1.07l-0.54,-1.27l-1.43,-0.28l-1.01,1.4l-0.93,0.21l-0.89,0.89l-0.7,-0.2l-1.76,-1.12l-3.09,-3.73l-3.13,-1.67l-2.3,-3.49l1.17,-1.19l0.97,-2.18l9.4,-5.27l1.22,-2.43l2.89,-1.2l1.36,-0.9l2.25,-2.61l5.13,-4.81l2.2,-1.49l0.52,0.64l0.18,2.53l1.11,1.65l0.43,1.62l0.7,0.52l0.17,0.66l0.64,0.2l0.56,-0.32l0.76,-2.35l-0.05,-1.57l-0.51,-1.08l0.34,-2.84l-0.21,-0.54l1.07,-1.41l0.25,-2.03l2.89,-5.94l0.05,-1.1l0.45,-0.89l1.99,0.26l0.68,0.52l1.18,-0.05l1.61,-1.89l0.03,-1.35l0.39,-0.92l-0.18,-0.95l0.39,-0.91l-0.65,-1.73l0.18,-0.67l-0.91,-1.25l0.69,-0.82l0.05,-2.29l-0.42,-0.62l0.37,-0.18l0.32,-1.1l-0.51,-1.04l1.09,-0.94l0.09,-0.78l0.47,-0.29l-0.08,-0.68l-0.72,-0.35l1.06,-0.32l0.23,-0.85l1.15,-0.57l0.44,-1.75l0.64,-0.47l0.36,-1.38l0.66,-0.33l-0.02,-0.55l0.89,-0.24l1.06,-1.09l1.3,-0.69l0.27,-0.7l-0.29,-2.13l0.25,-0.61l-0.56,-0.84l0.76,-0.2l1.66,-1.93l0.65,-0.02l0.96,-1.51l0.17,-0.99l-0.34,-1.19l-0.71,-0.7l-0.19,-0.74l-1.59,-0.76l-0.54,-1.26l-0.72,-0.13l-1.17,-0.92l-0.81,-1.49l-1.16,-1.04l-1.23,-2.19l-2.37,-1.56l-3.13,-0.68l-1.11,0.35l-0.46,1.72l-1.28,0.45l-0.33,0.99l-1.03,0.54l-0.5,0.82l-2.2,0.58l-3.02,-0.38l-0.47,0.38l-0.22,0.79l-0.7,0.3l-1.02,-0.04l-1.89,-0.9l-2.4,0.51l-2.32,-0.18l-0.86,0.56l-0.38,1.23l-2.05,0.44l-0.64,-0.12l-0.86,-1.0l-0.71,-0.3l-2.91,0.07l-1.31,-0.96l-1.23,0.12l-2.89,-2.55l-0.59,-1.07l-0.07,-1.18l-1.84,-2.77l0.74,-1.46l0.04,-0.72l-1.88,-5.65l1.86,-1.08l0.26,-0.96l-0.5,-0.73l-3.7,-0.9l-2.31,-3.24l-2.27,-0.88l-0.85,0.42l-2.17,3.75l-1.36,0.41l-1.03,-0.2l-1.81,-2.22l-3.13,-1.21l-2.43,-1.72l-2.01,-0.71ZM784.36,45.67l0.01,-0.74l0.56,-0.19l-0.11,0.32l-0.46,0.61Z\",\\n      \"name\": \"Heilongjiang\"\\n    },\\n    \"CN-22\": {\\n      \"path\": \"M707.39,150.05l1.2,-0.92l1.06,-1.91l0.07,-1.04l-0.56,-0.87l2.86,0.68l0.67,0.84l2.9,2.18l1.1,-0.51l1.39,-1.93l1.2,2.35l2.06,1.63l1.09,0.33l1.38,-1.55l-0.03,-1.53l0.47,-0.96l-0.04,-2.98l4.0,-0.39l1.05,-1.87l0.97,-0.9l1.83,0.56l5.97,-0.46l1.5,-0.54l0.34,0.36l0.61,-0.08l0.04,1.22l0.95,2.75l-0.65,0.95l-0.08,0.89l1.26,1.26l-0.13,1.08l-0.48,0.4l0.06,0.64l1.43,1.22l0.5,1.39l1.09,0.08l0.87,1.35l1.04,0.13l-0.07,0.65l0.6,0.95l1.26,-0.07l0.58,0.69l0.82,0.19l0.55,-0.13l0.28,-0.5l2.27,-0.25l1.57,0.34l0.53,-0.35l0.24,-0.97l0.47,0.39l0.96,-0.03l0.61,1.71l0.62,0.24l2.01,-0.43l2.0,0.28l0.73,-0.36l0.51,-1.19l1.08,0.22l1.27,-0.63l0.9,-0.01l0.05,2.44l0.43,0.85l1.28,1.29l1.57,0.89l3.53,1.19l1.46,-0.2l2.59,-1.33l2.12,-0.36l3.38,1.83l2.17,0.17l1.65,3.36l-0.06,0.33l-1.0,0.63l-0.39,0.95l0.81,1.84l0.27,2.54l1.01,0.29l1.19,-1.24l0.93,0.81l1.97,-0.64l2.44,1.18l-0.77,0.76l0.11,0.9l-0.35,1.2l1.8,2.42l-0.05,1.1l1.53,1.12l0.41,1.23l0.68,0.5l1.37,0.28l2.97,-1.14l0.35,-0.71l-0.14,-3.43l1.15,0.07l0.96,-1.71l2.05,-1.08l0.61,0.78l0.38,1.67l-0.01,3.6l1.14,1.19l0.43,1.29l1.21,1.94l1.66,1.93l0.22,1.6l1.98,2.97l1.99,0.36l3.36,-1.28l0.39,-0.56l-0.31,-2.16l0.31,-0.53l1.57,-0.4l1.7,-0.89l4.39,-0.37l0.49,-0.59l0.11,-1.11l1.31,-0.8l0.93,0.54l0.43,2.21l0.99,0.42l0.65,-0.1l0.98,-1.18l1.37,-0.65l0.39,-0.5l0.59,3.01l0.62,0.92l-0.28,0.91l0.27,0.6l3.18,1.04l2.57,1.83l0.97,1.41l1.12,-0.19l1.26,-1.07l1.54,1.32l2.03,-0.51l0.07,0.97l-0.48,0.69l-0.13,1.32l-1.03,1.28l0.26,1.28l-1.58,1.7l0.33,2.03l-0.98,0.15l-0.49,0.76l-3.07,-0.3l-0.61,0.7l-2.19,0.2l-2.69,1.49l-0.53,0.82l0.07,0.49l0.6,0.45l1.59,0.12l0.7,0.96l-0.11,0.43l-0.44,-1.02l-0.55,-0.09l-0.53,0.32l-0.61,-0.23l-1.77,-1.69l-0.23,-1.04l0.21,-1.48l-0.28,-0.84l-1.76,-0.34l0.23,-0.68l-0.3,-0.53l-2.02,0.26l-0.76,-0.75l-0.82,-0.03l-1.02,1.05l-1.33,3.85l-0.07,0.9l0.32,0.44l-0.5,0.66l-0.46,3.14l-1.37,-0.13l-0.86,1.13l-1.25,-0.93l-1.72,-0.15l-0.79,1.06l-0.88,0.27l-0.19,0.92l-0.59,0.4l0.32,0.48l-0.47,0.58l0.21,0.69l-1.01,0.93l-0.37,-0.12l-0.98,0.93l-1.04,0.38l-0.32,0.81l-2.89,-0.29l-0.45,0.35l-1.37,-0.02l-1.46,0.57l-3.46,-0.64l-3.69,0.84l-0.29,0.73l0.46,2.01l0.65,0.51l1.07,2.28l1.37,0.94l0.56,1.09l-1.99,3.15l-0.3,-0.35l-0.59,0.15l-0.8,-1.3l-1.8,-0.06l-0.83,0.59l-2.71,-0.26l-0.37,0.21l-1.52,-0.95l-3.17,-0.09l-0.23,-0.55l-1.21,-0.33l-0.92,0.27l0.5,-0.21l0.13,-0.68l-1.77,-1.02l0.34,-0.55l-0.46,-0.82l-2.15,-1.49l-2.11,1.64l-0.85,-0.58l-0.76,0.09l-0.21,0.56l0.35,0.43l-1.25,0.42l-0.8,1.09l0.17,0.79l-1.11,2.23l0.18,0.95l-0.92,0.38l-0.8,0.85l-1.72,2.64l-2.18,1.32l-0.02,0.62l-1.16,1.69l-0.84,0.36l-0.05,0.46l-0.4,0.18l-0.6,-0.31l-1.09,0.49l-0.95,-0.26l-0.53,0.39l-0.35,-0.48l-1.01,-0.13l1.25,-1.24l0.52,-1.96l0.64,-0.54l-0.31,-1.89l-1.43,-0.98l-0.24,-0.94l-1.06,-1.23l-1.43,-3.02l-0.3,-1.77l-1.91,0.01l0.21,-1.04l-0.61,-1.36l0.15,-2.0l0.8,-0.5l1.47,-2.08l0.38,-1.31l-1.6,-0.66l-0.8,0.2l-0.44,-0.9l-0.11,-1.35l-1.51,-0.56l0.45,-0.47l0.05,-0.65l-1.59,-1.66l-0.15,-1.54l-1.27,-1.38l-0.57,-0.19l0.25,-0.99l-0.4,-1.24l-1.27,-0.44l0.11,-5.14l-0.49,-0.38l-1.81,0.31l-1.15,1.04l-0.86,1.63l-1.86,1.67l-1.06,-0.44l0.74,-0.71l-0.97,-1.12l0.6,-0.94l0.07,-0.72l-1.76,-1.18l-0.12,-1.03l-0.45,-0.55l-1.64,-0.44l-1.03,-0.8l-1.11,-0.06l-3.52,-2.9l-0.92,0.08l-0.93,1.88l-4.06,-1.75l-0.1,-0.84l1.0,-0.97l1.02,0.01l0.37,-0.47l0.16,-1.59l-3.0,-6.39l0.57,-0.81l-0.06,-1.24l-1.67,-1.2l-1.06,-2.59l-0.8,-0.7l0.08,-1.72l-0.65,-0.89l-1.09,0.38l-1.32,1.2l-3.3,1.93l-1.34,0.28l-0.64,0.59l-3.12,1.25l-1.07,0.09l-0.19,-0.27l0.29,-3.55l-2.82,-3.33l-0.62,-1.42l0.06,-1.31l-0.36,-1.33l0.24,-1.43l-0.47,-2.85l0.28,-0.66l1.63,-0.59l1.3,-1.22l0.17,-1.0l-0.42,-1.51l-1.3,-1.99l-1.6,-0.58l-0.53,-0.69l0.15,-1.79l-0.82,-1.17l-1.17,-0.34l-1.68,0.48l-1.19,-0.69Z\",\\n      \"name\": \"Jilin\"\\n    },\\n    \"CN-21\": {\\n      \"path\": \"M666.84,235.87l0.83,0.14l0.63,-0.35l0.13,-0.99l-1.13,-0.64l1.29,-0.38l2.04,-1.67l1.05,-1.75l1.85,-1.71l0.4,-0.74l0.01,-2.16l-0.46,-1.81l-0.52,-0.72l-0.22,-1.96l0.47,-1.57l-0.14,-1.64l0.67,-1.02l0.1,-1.12l-0.25,-0.62l-1.63,-1.37l1.24,-1.43l1.82,-0.58l0.63,-1.06l0.56,0.51l-0.0,0.52l0.86,1.54l2.87,0.66l-0.6,0.58l-0.0,0.52l1.2,1.2l0.23,1.24l1.12,0.6l0.13,0.9l0.72,0.85l0.03,2.62l0.52,0.4l0.91,-0.02l0.52,-0.41l0.35,-1.28l1.74,-1.58l1.0,-1.37l1.92,-1.21l0.55,-1.16l-0.06,-0.86l1.84,-0.24l1.62,-1.21l2.49,-1.16l1.0,0.78l0.62,-0.03l5.36,-4.51l2.31,-0.49l1.01,1.35l1.71,-0.0l2.41,-1.55l0.83,-2.38l1.42,-0.71l3.37,1.48l1.93,-0.4l0.56,-0.46l0.18,-0.71l-0.89,-1.54l-0.09,-0.72l1.79,0.31l3.55,1.84l2.09,-0.23l1.13,-0.75l1.49,-0.08l1.21,-0.89l0.68,-2.03l1.03,-0.83l5.31,-1.59l1.29,-4.41l0.01,-1.52l0.53,-0.82l3.52,2.88l1.23,0.11l0.92,0.76l1.66,0.46l0.32,1.38l1.59,0.94l-0.7,1.17l0.21,0.89l0.49,0.39l-0.49,0.44l0.04,0.76l1.12,0.34l0.44,0.46l1.02,-0.37l1.68,-1.56l0.7,-0.86l0.24,-0.88l0.98,-0.86l1.18,-0.07l-0.38,4.27l0.39,0.98l1.2,0.42l0.19,0.78l-0.44,1.37l0.45,0.37l0.58,-0.08l1.09,1.17l0.21,1.63l1.46,1.44l-0.47,0.49l0.02,0.74l1.6,0.7l-0.03,1.1l0.65,1.32l2.13,0.16l-1.63,2.46l-1.07,0.81l-0.08,2.33l0.61,1.39l-0.31,1.18l0.95,0.57l1.22,-0.19l0.17,1.36l1.48,3.14l1.07,1.26l0.29,1.04l1.34,0.79l0.17,1.33l-0.47,0.41l-0.46,1.88l-1.68,1.59l0.25,0.81l1.43,0.13l-0.68,0.85l0.17,0.72l-1.17,-0.34l-0.44,1.04l-1.08,0.23l-0.94,1.22l-1.55,-0.15l-0.63,0.61l-3.32,1.38l-0.41,0.59l0.3,0.74l-1.99,-0.31l-1.31,1.47l-0.86,0.4l-0.49,1.07l-2.05,1.0l-3.15,2.86l-0.13,1.61l-0.83,1.07l-2.28,1.58l-0.73,-0.15l-1.22,0.56l-0.8,-0.44l-0.66,0.28l-1.17,-0.25l-0.58,0.3l-1.21,-0.55l-0.05,-0.66l-0.51,-0.49l-0.64,0.54l-0.49,1.88l-1.03,-0.3l-0.96,0.92l0.16,-0.94l-0.35,-0.47l-0.61,0.16l-0.17,0.48l-0.74,0.12l-1.18,-0.6l-0.45,0.51l0.18,0.53l-0.54,0.22l-0.12,0.42l0.66,0.6l-1.18,0.31l-0.72,-0.37l-1.18,0.11l-0.92,0.64l0.12,0.46l-1.88,0.08l-2.19,1.58l-0.8,-0.05l-0.57,0.81l-0.61,-0.1l-0.95,1.01l-1.33,0.23l-1.82,1.2l-0.78,1.16l-1.7,1.33l-0.33,1.0l0.2,0.26l-0.93,0.55l-0.18,0.51l-1.06,0.41l-1.67,0.02l-0.4,0.55l-0.92,-0.5l-1.68,0.68l-0.24,0.43l0.26,0.23l-0.86,0.33l0.02,0.61l1.55,0.55l-1.86,0.17l-1.01,0.81l-3.5,0.21l-0.67,0.56l0.16,0.28l-0.42,0.46l-0.57,-1.68l0.58,-0.83l-0.65,-0.55l1.27,0.12l1.74,-0.49l0.37,-0.35l-0.11,-0.78l0.32,-0.15l0.56,0.46l0.86,0.02l3.12,-1.29l0.42,-1.03l-0.7,-0.98l-0.56,-0.25l0.34,-0.76l1.24,-0.65l0.66,-1.14l1.33,-0.03l1.11,-0.49l0.28,-0.59l-0.62,-0.5l-1.21,0.51l-2.01,-0.15l-0.29,0.45l-2.19,0.11l-1.3,-2.46l-1.38,-0.28l-0.71,0.32l-0.37,-0.39l0.55,-0.48l2.01,-0.27l0.51,-0.49l0.86,0.3l0.39,-1.45l-1.12,-0.99l0.06,-0.91l0.69,-0.7l1.08,-0.22l1.05,-0.89l1.43,-0.05l1.52,-1.28l0.06,-0.83l0.85,-1.04l0.94,-0.56l0.12,-0.88l1.28,-0.87l0.27,-1.43l1.42,-1.12l0.05,-0.68l0.4,-0.1l0.88,-1.34l-0.36,-1.23l-1.87,-1.11l0.36,-0.54l-0.19,-1.08l-0.75,0.04l-0.98,-0.93l-2.78,-1.39l-0.28,-1.62l0.61,-0.72l-0.05,-0.48l-0.6,-0.18l-0.95,0.67l-0.94,1.84l-2.14,0.1l-3.05,-1.65l-1.22,0.67l-0.89,-0.48l-0.94,0.11l-1.51,1.09l-0.15,0.73l-0.76,-0.29l-0.72,0.37l-0.63,1.46l0.36,0.58l-1.77,0.41l-0.55,1.42l-1.69,1.29l-0.29,0.64l-0.77,0.32l-0.27,0.85l-0.76,0.47l0.04,0.77l-0.7,0.64l0.05,1.25l-0.35,0.42l-2.27,0.53l-0.73,0.57l-4.53,1.56l-1.12,1.08l-1.47,-1.46l-0.02,-2.05l-1.55,-0.29l0.04,-0.85l-0.79,-1.44l0.24,-2.16l-0.55,-1.07l-0.55,-0.29l-3.58,0.26l-0.72,-0.43l-0.62,-0.9l0.12,-1.13l-0.54,-0.57l-1.76,0.9l-2.81,-2.8l0.73,-1.82ZM709.56,269.63l0.5,0.25l0.03,0.04l-0.11,0.09l-0.42,-0.38ZM726.69,260.45l0.18,0.04l-0.17,0.03l-0.01,-0.06ZM703.25,261.71l0.04,-0.0l-0.03,0.03l-0.01,-0.02ZM703.3,262.35l0.06,0.35l-0.37,-0.0l0.26,-0.25l0.05,-0.1Z\",\\n      \"name\": \"Liaoning\"\\n    }\\n  },\\n  \"height\": 639.9679963377529,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 0.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(99))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'europe_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 790.3360148034734,\\n    \"bbox\": [{\\n      \"y\": -9690291.808548316,\\n      \"x\": -4159652.5301950974\\n    }, {\\n      \"y\": -3201145.6268246872,\\n      \"x\": 3229902.613642692\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"BE\": {\\n      \"path\": \"M400.73,433.08l-0.52,-2.25l-0.56,-0.57l-4.28,-0.9l-0.52,-2.3l-0.72,-1.23l-1.11,-0.96l-1.47,0.14l-2.34,0.95l-0.92,-0.59l-2.1,-2.13l0.06,-1.42l-0.94,-2.11l5.63,-2.88l4.83,-1.89l0.35,1.28l1.0,1.0l0.79,0.0l1.32,-0.72l1.22,0.17l1.92,1.09l1.13,0.14l2.05,-0.73l1.86,-1.11l0.78,-1.23l1.7,0.4l0.63,-0.24l0.21,-0.45l-0.2,-0.84l1.02,-0.55l1.09,0.83l0.82,0.06l1.67,-1.16l0.71,1.31l0.55,0.19l1.3,-0.08l1.17,-1.0l0.54,1.83l1.68,1.4l1.62,0.43l2.18,-0.42l1.56,1.44l2.54,0.82l0.16,0.74l-0.9,1.69l-0.1,0.88l-1.21,1.21l-0.17,0.9l0.73,1.23l0.43,0.19l1.64,-0.55l0.67,0.81l1.43,0.18l1.66,1.17l1.24,1.25l-0.57,0.57l0.11,0.94l0.57,0.56l1.13,0.22l0.42,0.41l0.27,2.03l-2.32,1.34l-0.73,1.47l-2.05,-0.25l-1.48,1.5l-1.78,3.11l-0.26,2.02l2.04,2.91l-0.89,1.46l-3.56,0.48l-3.15,-2.93l-1.99,-0.73l-1.61,-1.01l-1.76,-0.23l-0.27,-1.86l-0.65,-0.86l0.89,-2.91l-0.19,-0.47l-0.91,-0.33l-0.73,0.31l-1.0,0.88l-0.65,1.57l-1.29,0.64l-2.28,0.26l-2.49,-0.26l-0.25,-0.23l0.75,-1.69l-0.73,-1.1l0.42,-1.16l-0.09,-0.82l-1.77,-1.33l-1.44,-0.33l-2.31,-0.2l-1.24,0.59Z\",\\n      \"name\": \"Belgium\"\\n    },\\n    \"FR\": {\\n      \"path\": \"M467.41,568.7l0.77,-0.77l0.94,-1.92l1.23,-0.85l3.09,-0.88l1.24,-1.13l1.71,0.56l0.82,-0.34l0.45,-1.04l-0.08,-2.97l0.33,-0.92l0.66,0.38l0.24,2.71l-0.35,2.37l0.98,1.89l0.4,6.29l-2.07,3.66l-0.12,3.28l-1.87,4.27l-0.66,0.89l-3.62,-1.94l-0.93,-0.91l0.99,-1.66l-0.25,-0.45l-2.03,-0.85l0.51,-1.36l-0.22,-1.18l-0.41,-0.29l-1.25,-0.03l1.06,-1.23l0.08,-1.13l-1.58,-1.27l-0.2,-0.63l1.2,-0.8l0.16,-0.59l-0.67,-0.97l-0.55,-0.18ZM313.21,482.01l0.65,-0.84l-0.12,-0.59l-0.73,-0.41l-2.58,0.36l-1.17,-0.3l-1.49,-1.3l-1.38,0.14l-0.87,-0.45l-1.52,-0.0l-0.86,-0.67l-5.41,-1.47l-2.3,-0.18l-2.17,0.65l-0.93,-0.18l-1.64,-2.53l-2.86,-1.03l3.52,-0.98l0.83,-0.83l-0.09,-0.62l-1.43,-0.83l-1.1,-0.24l-0.48,-0.52l4.03,0.01l0.24,-0.69l-0.82,-0.75l-1.49,-0.46l-4.19,0.09l-0.42,-1.11l0.47,-1.3l2.39,-1.3l6.29,-1.5l2.69,0.22l2.0,-0.28l2.39,-0.99l1.02,-0.81l3.06,-0.46l2.9,0.82l2.77,3.22l1.41,1.17l0.45,0.04l3.24,-1.89l4.69,0.05l0.91,0.97l0.66,-0.11l1.04,-1.64l1.04,1.03l6.16,-0.4l0.3,-0.33l-0.2,-0.4l-1.32,-0.73l-1.04,-1.7l-0.24,-6.84l-3.16,-5.21l-0.74,-1.78l0.1,-1.05l3.43,0.27l2.91,-0.67l1.05,0.35l-0.06,1.26l0.44,1.82l1.68,2.19l2.38,-0.09l2.65,0.59l3.28,0.09l5.0,1.0l2.17,-0.63l1.94,-1.22l3.74,-0.81l0.55,-0.6l-0.36,-0.63l-2.1,0.17l-1.75,-0.69l-0.18,-0.57l0.93,-2.27l5.65,-2.74l4.18,-0.84l4.36,-1.56l2.29,-1.65l1.52,-2.13l0.98,-0.76l0.11,-0.58l-0.47,-0.63l0.37,-7.74l0.38,-1.32l0.77,-1.06l3.1,-1.8l7.88,-1.69l0.89,1.98l-0.23,0.88l0.24,0.64l2.37,2.44l1.4,0.75l3.42,-1.17l1.46,1.79l0.67,2.53l0.79,0.51l3.63,0.5l1.16,2.95l0.53,0.06l1.11,-0.65l2.15,0.19l1.16,0.24l1.51,1.13l-0.49,1.57l0.74,1.06l-0.73,1.84l0.74,0.77l2.77,0.32l2.61,-0.31l1.51,-0.75l0.83,-1.78l1.17,-0.81l-0.75,2.87l0.69,1.08l0.35,2.16l0.4,0.31l1.75,0.15l1.55,0.99l2.02,0.76l3.1,2.91l3.88,-0.4l0.56,0.58l2.56,1.05l1.01,-0.16l1.41,-0.77l0.66,0.06l1.34,0.7l1.53,0.18l0.9,0.74l0.57,1.33l2.4,2.92l0.83,0.07l1.34,-0.87l1.18,0.37l0.34,0.99l0.66,0.25l0.87,-0.21l1.22,0.23l3.14,-0.67l0.9,1.02l1.32,0.54l5.32,0.9l1.54,0.57l0.05,1.07l-4.07,4.38l-1.79,6.17l-1.23,2.2l-0.44,1.6l0.31,1.21l-0.19,1.55l-0.73,2.24l-0.14,1.82l0.62,1.44l-1.04,0.58l-0.92,1.45l-0.88,0.32l-1.65,0.02l-0.4,-0.65l-0.67,-0.35l-1.31,0.06l-1.26,0.7l-0.98,1.46l0.57,0.78l0.73,0.14l-4.42,4.94l-2.89,1.4l-0.65,3.28l-3.37,2.5l-1.41,3.23l0.82,1.07l-0.3,1.32l-1.75,1.33l0.3,1.45l1.86,0.05l1.53,-0.78l1.1,-1.08l0.06,-0.49l-0.55,-0.89l1.09,-0.96l1.33,-0.57l1.91,-0.11l2.26,0.34l0.17,1.45l0.39,0.63l-0.48,2.05l2.49,2.54l0.73,1.16l-2.84,1.86l-0.18,1.53l0.36,0.71l0.96,0.63l1.82,2.88l1.7,1.48l-0.9,2.31l-1.21,0.37l-1.75,1.24l-1.95,-0.12l-1.05,0.48l-0.22,0.4l0.1,0.84l0.84,0.96l0.72,1.77l0.97,0.7l2.2,0.58l0.6,1.76l-0.88,0.55l-1.6,2.79l0.62,1.54l-0.2,0.75l0.43,1.08l1.01,1.0l4.78,2.37l0.96,0.2l3.03,-0.67l0.61,0.99l-2.55,3.41l0.06,1.58l-1.05,-0.07l-0.48,0.65l-2.48,1.14l-4.33,3.66l-1.97,1.05l-0.96,1.97l-1.06,0.92l-3.53,0.96l-2.42,1.03l-1.16,-0.44l-2.87,0.05l-1.9,-1.3l-3.43,-0.8l-1.08,-1.78l-3.35,-0.43l-0.12,-1.01l-0.5,-0.38l-2.08,0.32l-0.81,0.45l-0.79,-0.06l-0.3,0.4l-0.61,0.05l-6.52,-1.74l-2.24,-1.83l-2.23,0.45l-1.85,1.74l-7.11,4.41l-2.95,4.72l-0.16,1.53l0.65,4.05l1.42,2.15l-2.56,-0.58l-1.25,0.17l-2.71,0.83l-0.83,1.03l-5.69,-1.28l-2.78,1.04l-0.81,-1.08l-2.69,-1.15l0.34,-0.96l-0.7,-0.84l-2.87,-0.64l-0.99,0.54l-0.97,-1.3l-1.99,-0.4l-6.05,-2.05l-1.12,-0.09l-0.58,0.37l-0.39,2.16l-4.75,-0.06l-0.9,-0.43l-3.17,0.48l-3.51,-2.22l-3.8,0.42l-2.47,-2.29l-2.3,-0.16l-4.56,-1.73l-0.58,-0.75l-1.12,1.09l-0.39,-0.03l-0.36,-0.23l0.9,-1.92l-0.24,-1.16l-0.96,-0.5l-3.17,-0.62l-0.85,-0.97l2.08,-0.55l2.09,-2.26l1.89,-7.6l1.35,-8.91l0.9,-1.51l1.14,-0.42l0.17,-0.63l-1.03,-1.24l-0.59,-0.03l-0.43,0.42l0.62,-6.75l1.3,-5.66l2.93,2.19l0.74,1.02l1.11,3.82l1.99,1.61l0.49,-0.04l0.08,-0.49l-1.25,-1.54l-1.22,-4.82l-0.82,-1.5l-1.35,-1.33l-4.12,-2.8l-0.07,-0.37l1.77,0.46l0.54,-0.47l-0.98,-3.09l-0.57,-6.56l-0.32,-0.32l-3.25,-0.63l-5.23,-2.74l-4.03,-5.76l0.93,-3.09l-0.86,-1.27l-1.37,-0.73l0.46,-0.73l0.44,-0.53l0.88,-0.15l3.8,0.98l0.44,-0.27l-0.2,-0.48l-3.38,-1.67l-5.06,0.54l-1.01,-0.19l-0.72,-0.28l-0.23,-0.74l1.26,-1.47l-0.06,-0.51l-0.75,-0.7l-1.25,-0.37l-2.76,0.2ZM332.31,508.2l1.88,1.81l-0.15,0.48l-1.62,-1.85l-0.11,-0.43Z\",\\n      \"name\": \"France\"\\n    },\\n    \"BG\": {\\n      \"path\": \"M662.06,585.15l0.29,-3.94l0.71,-1.75l-0.05,-0.72l-0.86,-0.68l-1.48,-3.54l-0.69,-0.61l-2.8,-1.24l-2.73,-2.84l0.66,-0.27l1.35,-1.8l0.2,-0.83l-1.28,-2.51l0.35,-1.29l-0.28,-1.38l0.24,-0.54l0.99,-0.47l2.26,-0.25l3.25,-3.58l0.5,-1.6l-1.7,-1.41l-1.32,-1.73l-2.83,-1.63l-0.65,-0.92l-1.73,-4.25l-0.05,-1.22l0.63,-2.11l2.3,-1.11l0.53,-2.08l0.71,-0.5l3.99,2.37l-2.14,1.89l-0.0,1.56l1.15,0.79l4.1,-0.65l4.13,0.33l5.62,1.1l3.78,0.39l2.81,-0.5l9.82,1.78l4.63,0.26l2.69,-0.69l1.88,-0.94l1.63,-1.76l3.74,-2.22l3.65,-1.25l7.88,-1.36l4.53,2.38l3.3,0.38l0.99,0.7l1.96,-0.44l2.27,2.66l4.46,1.3l2.5,0.06l-0.28,3.44l-1.08,1.52l-1.9,-0.54l-2.52,0.52l-1.56,2.22l-1.43,1.35l-0.55,2.99l-0.1,4.22l-1.73,0.67l-3.65,3.91l0.11,0.63l2.91,1.84l3.87,5.45l-1.3,-0.19l-1.15,0.47l-1.76,-0.06l-1.68,0.63l-3.01,-2.44l-0.84,-0.32l-3.33,0.55l-1.81,1.11l-3.72,0.47l-0.64,0.45l-0.8,1.79l-2.11,0.49l-0.68,1.13l-1.29,-0.3l-1.48,0.43l-0.64,1.22l1.04,2.44l-0.05,1.85l-2.58,1.05l-1.96,-0.27l-7.03,1.36l-1.54,-1.11l-1.96,-0.82l-1.99,-0.47l-1.13,0.51l-2.12,-1.23l-0.94,-1.63l-0.73,-0.26l-1.48,0.51l-4.43,-0.06l-0.74,1.11l-1.79,0.08l-3.22,1.09l-2.63,-0.19l-2.7,0.22l-1.27,1.01l-2.52,-0.16Z\",\\n      \"name\": \"Bulgaria\"\\n    },\\n    \"DK\": {\\n      \"path\": \"M554.98,347.03l-0.27,0.17l-2.03,-0.48l-2.42,-1.16l0.34,-2.19l0.45,-0.72l4.46,2.58l0.04,0.75l-0.57,1.04ZM521.14,336.77l-0.22,-0.59l0.73,-0.83l0.32,0.89l-0.83,0.53ZM520.72,332.89l0.03,1.74l-0.25,0.39l-3.02,1.28l-1.05,0.95l-0.5,1.54l0.9,1.36l1.45,0.59l0.29,1.42l-0.97,0.73l-3.08,0.91l-0.28,0.33l-0.5,6.78l-2.01,0.63l-1.43,-2.33l-0.04,-1.11l-1.16,-4.03l-2.77,-0.74l-2.34,0.21l-1.42,-2.13l0.24,-2.46l-0.86,-1.5l-0.07,-1.09l-0.84,-0.87l-0.75,-0.28l-0.25,-0.91l2.9,-0.04l1.44,-0.44l2.06,-2.53l0.15,-1.11l1.62,-0.2l0.65,0.66l-0.05,3.29l0.25,0.34l1.84,0.62l0.44,-0.26l0.83,-1.98l0.58,-0.6l0.15,-1.49l-0.66,-1.19l4.25,-2.53l1.27,-0.06l3.23,1.02l0.2,0.29l-1.04,2.06l0.58,2.72ZM517.34,347.25l1.62,0.28l1.26,0.71l-1.94,-0.19l-2.4,1.26l-0.36,-0.17l1.82,-1.88ZM504.49,350.08l2.48,1.22l1.72,-0.02l0.86,0.38l0.26,1.85l-0.8,0.33l-1.36,-0.13l-1.59,0.57l-5.33,-2.52l0.22,-2.53l2.27,-0.18l1.27,1.03ZM500.25,304.31l-0.34,0.28l-1.08,-0.37l0.33,-0.36l1.93,-0.37l-0.83,0.82ZM495.95,352.06l-0.81,-1.41l2.94,-3.53l-1.8,4.22l-0.33,0.72ZM468.61,349.15l-0.42,-2.39l-0.69,-1.33l0.85,-0.26l0.28,-0.41l-0.25,-3.27l-0.49,-1.78l-6.52,-3.55l0.92,-7.01l-1.09,-3.15l0.55,-8.59l1.14,-0.12l3.56,1.07l0.64,0.76l1.02,0.47l0.49,-0.15l0.69,-1.1l0.23,-1.47l1.93,-1.94l2.11,-1.0l1.52,1.58l0.43,0.13l0.28,-0.35l0.79,-5.97l-0.27,-0.44l-1.96,-0.62l-1.84,0.54l-1.79,2.66l-1.35,2.98l-2.07,0.26l-1.77,0.83l-2.33,-1.48l0.18,-1.51l1.88,-2.48l2.46,-2.33l2.46,0.02l2.01,-0.79l1.05,-0.09l3.53,0.17l2.07,-0.61l1.73,-1.22l3.52,-4.77l1.89,-1.89l4.04,-0.74l3.41,-2.12l-0.98,1.01l-0.52,1.77l1.23,2.37l-0.16,3.79l-1.14,1.36l-1.29,2.84l-0.65,0.68l-0.18,7.31l1.5,1.58l1.55,0.73l4.81,0.01l0.84,1.17l-0.84,2.52l-2.95,1.65l-0.87,0.03l-1.4,-1.34l-0.5,-0.05l-0.79,0.52l-0.85,0.91l-1.81,6.51l-1.88,-0.35l-1.7,0.66l-0.08,0.69l1.36,1.25l-1.46,0.7l-1.73,1.9l-1.54,1.01l-0.95,1.22l0.98,4.54l-0.31,0.95l-1.8,1.6l-0.79,1.57l0.37,0.57l1.54,-0.02l1.37,0.66l0.38,0.38l-0.27,0.76l0.33,1.37l-1.23,-0.49l-3.7,0.92l-0.99,-0.03l-0.97,-0.68l-3.84,-0.98l-2.88,-0.13ZM494.78,336.56l2.16,5.08l-0.38,0.82l0.26,1.43l-0.26,1.07l-1.97,1.37l-2.27,0.06l-5.9,-2.06l-1.67,-3.44l0.02,-2.6l5.4,-1.72l1.83,0.94l1.1,0.04l1.67,-1.0ZM494.14,332.71l-0.34,-0.12l0.24,-1.95l-0.31,-1.07l1.07,1.5l-0.65,1.64ZM490.96,349.9l0.79,0.15l0.49,0.27l-0.27,0.06l-1.01,-0.48ZM483.63,346.94l2.33,1.33l0.69,1.28l-0.87,0.16l-1.78,-0.57l-0.36,-2.2Z\",\\n      \"name\": \"Denmark\"\\n    },\\n    \"HR\": {\\n      \"path\": \"M540.52,517.06l1.22,0.46l4.0,-0.1l0.92,-0.53l1.59,-2.35l0.82,1.3l2.12,1.67l1.03,0.14l1.21,-0.48l2.01,0.79l1.9,0.18l1.48,-0.45l0.26,-0.49l-0.74,-1.79l0.98,-1.18l-0.98,-1.19l4.32,-1.54l0.65,-0.75l0.33,-2.14l-0.13,-1.17l-0.95,-1.16l0.13,-0.69l0.25,-0.33l4.9,-1.78l0.95,-1.14l2.19,-0.05l0.5,-0.65l-0.2,-1.45l0.85,-0.55l3.1,0.8l2.36,1.14l1.59,1.24l0.96,1.48l1.26,1.13l2.81,1.85l1.03,1.44l1.3,0.76l2.64,0.6l1.39,1.47l1.44,0.67l7.73,0.66l2.52,-0.79l1.72,-1.78l2.6,-0.25l-0.75,1.25l1.37,2.81l-0.3,1.16l0.68,0.87l0.9,0.34l-0.43,0.82l0.1,1.43l1.31,1.12l3.14,1.15l0.78,0.85l-2.14,0.07l-0.85,-0.44l-0.57,0.26l-0.1,0.53l-0.62,0.17l-0.29,0.46l0.49,2.66l-0.15,0.57l-0.99,0.12l-0.22,0.72l-0.35,0.03l-1.74,-0.65l-0.59,-1.84l-1.46,-1.06l-2.32,-0.14l-2.74,-0.81l-2.1,0.23l-1.83,-0.36l-1.83,1.07l-0.59,-0.01l-1.56,-1.26l-0.68,-0.17l-2.04,0.71l-2.45,-0.72l-2.59,-0.11l-2.75,-1.72l-0.46,0.02l-1.61,1.24l-3.67,-0.22l-3.04,3.34l-1.49,-0.9l-1.72,-1.94l-1.03,-0.46l-1.26,-0.1l-1.52,0.7l-0.82,5.66l0.14,1.89l1.92,1.38l2.27,2.38l0.73,0.32l1.41,4.88l1.26,1.68l3.93,3.5l1.7,2.26l5.03,4.33l2.43,1.02l0.02,1.54l0.34,0.88l1.53,1.81l2.97,2.53l0.33,0.71l-0.53,0.3l-3.22,-2.75l-2.74,-1.61l-3.2,-3.05l-4.08,-1.17l-2.77,-1.3l-3.78,0.58l-1.68,-0.17l-0.41,-0.57l-0.18,-1.66l-5.98,-4.16l-4.2,-4.32l-0.57,-0.94l1.66,-0.36l2.37,0.27l0.45,-0.22l-0.12,-0.48l-2.73,-1.86l-3.85,-3.6l-1.08,-1.61l0.16,-4.25l-0.73,-2.03l-4.37,-3.88l-2.23,-0.75l-1.46,0.24l-0.65,1.06l-0.42,1.98l-3.52,5.22l-0.94,-0.0l-3.02,-4.37l-1.43,-5.94l0.28,-0.2l0.5,0.51l3.57,0.82l1.03,-0.39l0.69,-0.9ZM587.09,559.57l2.86,1.2l-0.65,-0.13l-2.2,-1.07ZM591.3,561.05l-0.27,-0.82l0.24,-0.07l0.56,0.15l0.73,1.02l-1.27,-0.27ZM599.03,565.39l1.29,0.47l0.05,0.42l-0.83,-0.52l-0.5,-0.37ZM574.06,555.07l2.29,0.14l0.72,0.66l0.72,0.07l-0.88,-0.02l-1.68,-0.33l-1.18,-0.53ZM577.19,558.94l1.74,0.32l1.9,-0.2l1.59,0.28l-1.61,-0.19l-1.63,0.5l-1.35,-0.25l-0.64,-0.46ZM578.24,553.5l-2.04,0.04l-2.36,-0.62l0.18,-0.53l1.76,0.07l3.32,0.71l-0.86,0.32ZM552.42,532.01l1.48,1.22l2.64,2.63l-0.28,0.25l-3.01,-2.61l-0.83,-1.49ZM551.01,528.89l-1.01,-0.23l0.11,-0.55l0.35,0.02l0.55,0.76ZM547.01,523.61l0.87,-0.6l0.52,-0.96l2.47,3.21l-0.92,0.2l-1.06,-1.14l-1.25,-0.15l-0.64,-0.56ZM545.04,522.83l0.07,0.67l-0.21,-0.6l0.14,-0.08ZM545.55,524.84l0.91,0.95l-0.18,1.58l0.44,3.22l-1.56,-3.9l0.39,-1.86Z\",\\n      \"name\": \"Croatia\"\\n    },\\n    \"DE\": {\\n      \"path\": \"M430.54,420.84l0.92,-0.06l2.69,-2.09l-0.09,-0.78l-0.62,-0.26l-0.01,-0.35l1.2,-2.32l0.46,-1.8l-0.14,-0.96l-1.33,-1.91l-0.18,-0.88l-1.75,-2.06l0.0,-0.39l2.55,-1.2l2.73,0.97l0.9,-0.57l1.27,0.05l3.04,-1.03l1.09,-1.59l-1.19,-1.26l0.08,-0.38l3.33,-2.18l0.69,-1.23l0.26,-2.25l-0.57,-1.0l-0.78,-0.57l-1.72,0.03l-0.99,-0.34l-0.56,-0.77l0.32,-0.81l-0.14,-0.63l0.26,-0.15l3.48,0.01l0.58,-0.47l1.2,-4.4l0.87,-1.53l0.25,-5.88l-0.69,-1.09l-1.23,-0.85l0.66,-2.97l1.24,-1.67l0.91,-0.42l4.57,-0.29l4.95,0.12l1.86,2.37l-0.66,1.17l0.16,0.55l1.25,0.65l0.93,-0.22l1.1,-2.84l1.71,1.34l0.03,2.08l0.36,0.39l0.43,-0.32l0.59,-3.01l-0.42,-2.2l0.28,-1.9l0.99,-1.44l3.67,0.69l4.06,-0.37l1.41,0.7l3.63,3.98l1.33,0.69l1.5,0.2l0.44,-0.29l-0.24,-0.47l-1.99,-0.81l-4.4,-4.83l-1.43,-0.63l-1.94,-0.18l-1.77,-1.03l-0.25,-5.57l-0.75,-0.72l-1.14,-0.35l-1.62,0.32l-0.16,-0.68l0.18,-0.5l2.27,-0.51l1.72,-0.78l0.31,-1.67l-3.74,-4.94l-0.12,-1.54l2.65,0.11l3.74,0.96l1.1,0.72l1.31,0.02l3.51,-0.89l1.75,0.87l1.88,0.47l1.57,1.79l0.07,1.44l-2.01,1.88l-0.12,0.46l0.4,0.25l3.46,-0.28l0.85,1.3l0.43,0.15l1.87,-0.51l4.9,2.22l3.72,-1.12l0.53,1.41l-0.65,1.61l-2.59,1.91l-0.12,0.5l0.59,1.22l1.1,0.48l2.61,-0.23l4.21,1.16l0.93,-0.43l3.21,-2.73l1.19,-0.54l4.49,-0.58l0.73,-1.01l1.74,-1.1l3.62,-3.29l5.8,1.01l1.62,2.36l4.08,2.65l3.73,-0.15l1.18,2.22l0.71,3.25l2.21,1.63l3.05,0.68l0.48,2.97l1.56,5.02l-0.04,1.42l-0.54,1.61l-0.94,1.33l-1.28,0.77l-0.85,1.0l-0.23,1.2l1.81,2.09l3.53,2.51l1.27,1.91l-0.81,3.15l0.34,0.97l1.43,1.19l0.26,2.35l0.57,0.56l-0.95,2.89l-1.01,1.59l0.34,1.21l1.36,1.97l-0.22,1.81l0.22,0.65l2.57,1.24l1.33,3.49l-1.29,4.18l-1.87,3.2l-1.46,-0.48l0.11,-0.81l-1.26,-1.82l-3.37,-0.82l-0.7,0.29l-0.4,0.92l1.31,1.41l-5.96,2.33l-2.6,0.78l-2.07,0.25l-1.5,1.77l-0.94,-0.31l-2.04,0.96l-0.67,1.03l-2.06,0.33l-0.98,1.46l-2.31,-0.41l-3.18,0.72l-1.4,0.85l-2.01,2.57l-1.77,-1.93l-0.72,-0.08l-0.44,0.32l-0.04,1.02l1.14,1.65l0.52,1.47l1.03,1.06l2.35,1.46l0.63,0.91l-1.61,2.81l1.52,1.82l2.46,3.98l1.87,1.57l1.49,0.06l2.95,2.95l2.61,1.64l0.92,1.52l0.79,0.46l1.3,-0.06l3.29,3.0l-0.16,2.44l-0.83,1.09l-0.5,0.23l-2.76,-0.87l-0.49,0.51l-0.66,2.87l-0.38,0.46l-6.37,2.67l-1.17,0.77l-0.83,1.02l-0.01,1.03l2.54,3.11l0.01,1.18l-0.74,1.46l0.24,0.51l1.68,0.35l0.18,0.48l-0.4,2.61l-2.26,-1.03l-0.43,-1.57l-1.34,-0.68l-2.77,0.52l-1.62,-0.86l-2.11,-0.53l-0.57,0.25l-0.13,1.46l-6.22,0.61l-4.4,1.66l-1.31,1.07l-1.45,0.0l-1.91,0.52l-0.6,-0.06l-1.66,-2.12l-5.79,-0.52l-0.56,0.34l-0.83,3.01l-0.69,0.81l-1.08,0.46l0.2,-0.9l-0.26,-0.48l-1.5,-0.34l-0.22,-1.01l-1.29,-1.05l-3.11,-1.25l-0.84,0.49l-7.44,-4.01l-0.69,0.18l-0.13,0.52l0.63,1.16l-3.25,0.23l-0.69,-0.77l-0.81,-0.23l-0.59,0.27l-1.41,-1.07l-0.93,-0.24l-2.0,0.82l-0.58,0.89l0.1,0.75l0.97,0.47l-0.22,0.19l-3.28,-0.22l-1.51,0.54l-2.18,0.2l-3.02,-0.1l-1.57,-0.55l-0.38,-0.91l0.11,-1.58l0.74,-2.31l0.21,-1.68l-0.31,-1.12l0.4,-1.44l1.21,-2.16l1.76,-6.1l4.05,-4.32l0.04,-1.82l-0.29,-0.36l-1.85,-0.66l-5.27,-0.89l-1.02,-0.38l-1.24,-1.21l-3.4,0.67l-2.1,-0.1l-0.44,-1.02l-1.73,-0.51l-1.82,0.86l-2.04,-2.62l-0.66,-1.44l-1.19,-0.93l-1.22,-0.27l0.41,-1.96l1.46,-1.99l0.04,-1.7l-3.27,-1.56l-1.51,-1.71l-0.36,-1.88l0.82,-2.22l2.46,-1.42l0.19,-0.42l-0.31,-2.35l-0.75,-0.87l-1.5,-0.57l0.7,-0.84l-0.06,-0.62l-3.08,-2.45l0.64,-2.95l-0.69,-0.92l-1.76,-0.94ZM538.5,364.74l4.43,2.81l-0.02,0.85l-1.71,0.2l-1.36,-0.24l-0.07,-2.1l-1.21,-1.13l-0.06,-0.38ZM536.24,359.59l0.19,1.05l-1.4,-0.89l-1.53,0.01l-1.16,1.66l-0.34,0.03l-2.16,-1.36l-0.36,-1.05l0.29,-2.61l0.72,-0.83l0.1,-0.88l1.09,-0.91l0.75,-0.03l0.89,1.43l2.04,0.8l0.23,0.34l-1.13,1.59l0.47,0.93l1.31,0.71ZM503.18,358.26l-1.43,0.03l-1.18,-0.81l0.48,-0.55l1.69,0.5l0.45,0.83ZM463.5,350.42l0.29,-1.31l0.49,0.91l0.99,0.04l-1.77,0.36ZM466.66,353.0l-0.22,0.19l-1.35,-0.23l0.93,-0.31l0.63,0.36Z\",\\n      \"name\": \"Germany\"\\n    },\\n    \"BA\": {\\n      \"path\": \"M608.48,527.74l3.07,-0.74l1.2,0.42l-0.79,2.63l-1.93,2.88l-0.46,3.03l0.51,1.08l2.62,1.37l3.17,2.88l-0.23,0.39l-1.2,0.13l-2.07,-0.23l-0.97,0.56l0.15,0.91l3.04,3.85l0.08,0.83l-0.38,0.94l-1.06,-0.49l-0.81,0.03l-0.9,0.24l-0.68,0.71l-1.4,0.25l-1.35,-0.37l-0.66,0.34l-0.25,0.99l1.25,2.21l-0.08,0.64l-0.78,-0.82l-1.48,-0.05l-2.53,2.08l-0.73,1.8l0.01,1.34l-1.64,0.26l-0.76,0.89l0.27,3.36l1.07,2.1l-1.07,0.99l-1.63,-0.59l-2.39,-1.46l-3.77,-2.5l-0.73,-1.04l-2.18,-0.15l0.47,-0.54l-0.1,-0.84l-4.84,-4.93l-0.31,-2.37l-0.52,-0.52l-2.14,-0.74l-4.93,-4.25l-1.71,-2.26l-3.91,-3.48l-1.1,-1.42l-1.51,-5.08l-0.87,-0.45l-2.23,-2.34l-1.83,-1.33l0.67,-6.52l0.28,-0.24l0.73,-0.18l1.63,0.37l1.74,1.95l1.96,1.12l1.37,-0.9l2.12,-2.55l3.36,0.32l1.8,-1.25l2.69,1.66l1.16,0.26l1.55,-0.13l2.52,0.74l2.08,-0.71l2.1,1.42l1.04,-0.04l1.55,-1.0l1.73,0.34l2.04,-0.24l2.68,0.79l2.34,0.15l0.97,0.73l0.49,1.68l0.79,0.76l2.6,0.32Z\",\\n      \"name\": \"Bosnia and Herz.\"\\n    },\\n    \"HU\": {\\n      \"path\": \"M574.1,479.74l1.55,-0.97l2.58,1.22l3.97,-0.49l0.32,-0.51l-0.38,-2.54l0.54,-0.63l0.13,-0.94l0.82,-0.63l1.72,0.33l4.27,3.09l1.92,0.75l5.23,0.12l7.85,-0.41l1.05,-1.32l-0.32,-1.6l0.46,-0.86l1.48,-0.78l4.68,-0.38l2.8,-0.66l1.42,-1.79l0.61,-0.13l3.87,1.55l5.93,-2.86l2.25,-4.04l1.81,-0.35l2.94,0.07l2.8,0.69l5.06,-0.81l1.4,0.91l2.13,2.58l0.79,0.23l6.37,-1.27l1.33,2.56l2.34,0.93l0.97,1.3l1.37,0.54l1.12,-0.08l0.79,0.7l0.31,1.75l-3.23,2.7l-1.51,-0.12l-2.92,0.86l-2.41,2.67l-1.56,1.19l-0.16,1.98l-1.62,1.48l-1.18,2.9l-1.73,1.75l-0.13,1.34l-2.12,2.95l-0.24,0.62l0.18,0.84l-2.28,1.58l-0.95,2.12l0.13,1.13l-0.95,0.47l-0.52,1.42l-1.26,0.86l-2.62,-0.28l-1.17,0.24l-0.9,1.34l-0.99,0.54l-1.52,-0.54l-3.55,0.89l-1.03,-0.47l-3.08,-0.33l-1.29,0.26l-3.03,-0.39l-1.28,0.24l-1.63,1.6l-1.88,1.0l-1.5,0.24l-1.07,-0.47l-1.04,0.98l-1.05,0.42l-2.71,0.54l-0.7,-0.13l-2.05,1.92l-2.19,0.68l-7.36,-0.61l-2.08,-1.2l-0.59,-0.87l-1.18,-0.5l-1.58,-0.16l-1.15,-0.67l-0.95,-1.37l-4.05,-2.96l-0.99,-1.51l-1.75,-1.36l-3.01,-1.38l-1.73,-2.2l-0.02,-0.77l-0.66,-0.74l-0.73,-2.3l-1.88,-0.24l2.28,-1.61l1.33,0.05l0.62,-0.39l0.55,-2.05l-0.16,-0.54l-0.64,-0.29l-0.2,-0.91l0.58,-1.02l-0.33,-1.71l2.32,-0.86l0.87,-1.68l-0.74,-1.83l-2.35,-0.68Z\",\\n      \"name\": \"Hungary\"\\n    },\\n    \"JE\": {\\n      \"path\": \"M322.87,452.86l-0.06,0.38l-0.56,-0.27l-1.49,0.09l0.08,-0.64l2.02,0.44Z\",\\n      \"name\": \"Jersey\"\\n    },\\n    \"FI\": {\\n      \"path\": \"M642.77,218.25l1.12,-0.27l0.17,-0.8l-3.01,-6.76l-1.66,-1.51l1.26,-4.66l-0.13,-1.29l-0.44,-1.65l-2.0,-1.41l-0.81,-4.2l0.5,-2.29l0.65,-0.99l3.52,-3.35l0.3,-1.68l2.07,-0.11l0.31,-0.63l-1.08,-1.53l-0.27,-1.43l3.0,-0.62l1.43,0.56l3.05,-0.72l2.8,-1.45l0.17,-1.13l-0.91,-1.85l1.24,0.03l-0.36,-1.06l1.03,0.05l1.76,-1.91l0.16,-1.42l2.91,-0.77l3.47,-2.96l3.21,-1.64l3.23,-2.9l1.63,-0.39l0.7,-1.93l2.7,-2.58l0.99,-0.5l1.28,-2.37l3.5,-2.87l2.18,-3.57l1.19,-1.25l0.4,-1.27l1.07,-0.09l1.37,-1.04l2.49,-0.66l2.47,0.18l1.24,0.48l1.0,-0.15l0.34,-0.43l-0.1,-1.23l-0.59,-0.75l1.83,-1.31l-0.47,-2.07l-1.07,-0.98l1.19,-7.23l-1.66,-1.93l-5.46,-2.54l-2.15,-0.22l-1.08,-1.64l0.59,-2.18l-0.41,-0.44l-0.76,0.14l-0.76,0.77l-1.54,0.82l-2.1,-0.66l-0.96,0.1l-1.35,-3.86l-1.94,-3.6l-2.51,-1.5l-0.6,-3.55l0.1,-1.33l0.2,-0.66l0.88,-0.57l1.4,-1.77l0.39,-2.96l1.27,-2.55l-0.7,-1.67l-3.55,-4.29l-0.46,-1.32l-0.2,-2.19l1.99,-2.12l-0.54,-2.44l-1.32,-0.69l-2.46,-0.23l0.14,-1.03l1.05,-2.32l-0.56,-2.01l0.01,-3.87l1.64,-1.24l0.06,-1.15l-2.2,-1.44l-1.54,-1.59l-0.47,-0.92l-1.92,-0.34l-1.17,-2.76l-3.36,-2.61l-1.06,-0.59l-5.7,-1.72l-2.28,-0.33l-2.6,-0.97l-7.13,-3.97l-0.62,-0.81l-3.28,-2.49l-3.42,-1.76l-0.17,-1.37l-0.37,-0.48l-3.13,-1.15l2.86,-0.25l2.65,0.65l0.68,-0.47l0.33,-0.96l-0.97,-2.39l0.11,-0.4l2.45,-1.26l4.54,0.04l9.08,9.74l1.07,1.8l0.37,1.29l0.39,0.29l8.8,1.06l1.17,0.77l2.44,-0.15l5.27,-1.54l2.05,-2.15l1.69,0.15l4.54,2.05l4.94,1.36l1.47,1.13l2.14,0.27l2.15,-1.3l1.14,-2.92l0.96,-1.23l1.35,-0.9l3.04,-0.64l2.41,-2.51l0.36,-2.25l-0.26,-3.73l0.23,-1.11l1.13,-2.04l1.5,-5.3l0.64,-1.46l0.73,-0.83l3.2,-2.19l2.92,-3.19l2.69,-0.38l5.31,0.64l3.11,-1.34l3.28,-1.98l2.0,-0.52l1.71,0.07l2.06,2.1l4.99,3.64l5.33,2.23l4.51,1.41l2.41,4.42l-1.13,1.66l-2.89,2.52l-2.42,2.65l-0.24,1.85l1.38,1.94l-6.81,2.58l-0.22,0.62l0.84,0.92l3.36,0.16l0.61,0.39l0.04,0.39l-0.3,0.87l-3.67,5.48l-0.16,1.52l2.92,7.03l9.06,3.17l2.4,3.03l4.03,4.07l2.13,1.71l-0.59,2.59l-4.94,5.07l-4.47,5.24l-2.13,2.89l-0.36,2.03l0.45,1.23l2.7,3.48l2.31,3.68l2.8,5.79l3.13,4.14l2.47,6.75l0.12,1.92l-2.63,0.33l-2.15,0.65l-0.35,0.42l0.09,0.48l1.16,1.03l-1.13,2.01l-0.17,2.9l-1.24,1.49l-0.21,0.7l0.62,0.87l2.25,0.39l0.09,0.91l-0.16,0.59l-2.59,1.65l-0.27,1.72l1.38,2.88l1.19,1.01l3.95,0.91l0.37,0.52l0.12,1.59l-1.73,1.8l-0.07,1.16l1.84,3.66l3.8,1.8l1.2,0.91l0.47,1.84l-0.02,1.31l-0.27,1.1l-3.85,4.54l-2.72,1.17l-0.31,0.89l5.84,5.02l7.58,4.38l2.72,1.92l2.09,2.95l2.32,2.38l0.27,1.15l-3.32,6.63l-1.3,1.77l-3.37,3.29l-5.05,4.15l-11.85,12.11l-2.68,2.11l-3.26,3.24l-6.92,4.7l-1.08,1.18l-3.43,2.16l-8.21,7.34l-1.68,0.75l-1.87,0.16l-0.84,0.47l-3.55,-1.54l-1.89,0.43l-1.61,1.04l-3.07,0.33l-2.14,0.65l0.29,-1.94l0.65,-0.96l0.13,-0.85l-0.45,-0.43l-0.5,0.07l-1.28,1.66l-0.55,1.73l-0.89,0.73l-2.1,0.32l-2.16,-1.32l-1.3,-0.04l-0.33,0.63l1.05,2.05l-1.03,-0.03l-2.52,1.57l-0.89,-1.14l-0.5,-0.16l-2.71,1.45l-2.64,0.33l-1.46,1.06l-7.46,1.6l-1.27,1.45l-0.76,0.39l-1.42,-0.39l-8.4,1.55l-3.69,-0.35l-3.8,2.83l-1.98,0.53l2.58,-2.49l0.22,-1.21l-0.2,-0.4l-1.63,-0.55l-1.02,-0.91l-1.36,-2.4l-1.04,0.08l-0.67,2.35l-0.77,0.71l-1.25,0.53l-2.16,-0.02l-0.21,-0.77l0.41,-1.08l-0.13,-0.82l1.1,-0.12l0.67,-0.88l-0.37,-0.93l-0.65,-0.1l0.93,-1.94l-0.28,-0.49l-4.43,-0.42l-4.34,-2.0l-0.96,-0.12l-0.58,-1.58l-0.46,-0.25l-1.2,0.29l-1.32,0.91l-2.1,-1.16l-0.93,-7.31l0.22,-1.74l1.36,-2.29l0.49,-2.36l0.11,-2.75l-0.24,-1.14l0.43,0.0l0.38,-0.53l-0.76,-1.2ZM687.44,144.29l-1.79,0.65l-1.22,-0.34l-0.02,-0.9l0.76,-0.51l1.66,-0.25l1.7,0.47l-1.08,0.89ZM651.46,242.91l1.58,0.43l0.67,-0.11l0.37,0.48l-1.17,0.78l-0.1,0.84l0.63,0.93l-0.71,-0.0l-0.85,-1.35l-1.17,-0.85l0.4,-0.98l0.37,-0.17ZM646.99,242.06l0.23,-0.82l0.48,0.41l-0.15,0.7l0.64,0.51l-1.2,-0.79ZM646.46,246.89l-1.07,0.55l-0.05,-0.02l0.08,-0.67l0.56,-0.37l0.66,-0.03l-0.18,0.54ZM643.72,247.48l-0.79,0.13l-0.32,-0.25l1.18,-0.39l-0.07,0.51ZM641.16,239.43l-0.07,0.33l-1.37,0.07l-0.55,-0.69l-0.31,-1.48l2.3,1.77ZM638.04,182.53l0.17,0.59l0.43,0.26l0.96,-0.17l0.89,-0.6l0.27,0.45l-0.56,-0.04l-1.2,1.04l-1.18,-0.84l-0.53,-1.0l0.8,-0.0l-0.05,0.32Z\",\\n      \"name\": \"Finland\"\\n    },\\n    \"BY\": {\\n      \"path\": \"M670.47,410.28l-0.13,-0.27l0.06,-1.46l1.09,-1.97l-0.23,-1.17l0.56,-1.59l0.0,-1.53l-0.91,-1.32l-1.93,-1.22l-3.4,-1.52l-0.13,-0.47l3.0,-3.66l5.77,-2.64l0.89,-0.8l0.33,-2.39l-0.79,-5.49l-3.54,-9.02l-1.36,-5.56l2.79,0.28l1.97,-0.44l4.12,-0.26l1.99,1.03l4.06,-1.59l1.9,0.09l0.64,-0.62l0.52,-2.25l0.36,-0.3l2.44,0.18l1.03,-0.51l0.87,-1.04l1.25,-0.61l1.3,-0.06l0.98,-0.62l0.5,0.91l-0.32,0.99l0.36,0.45l1.01,0.4l2.51,-0.34l0.49,-0.81l-0.35,-1.77l-0.8,-0.73l-1.79,-0.35l0.92,-2.21l1.46,-2.06l-0.02,-2.89l0.75,-2.06l0.97,-1.47l2.97,-0.75l1.28,-0.84l1.11,-2.33l0.33,-0.17l4.09,0.17l1.26,-1.87l1.39,-0.94l0.08,-0.49l-0.47,-0.58l-3.74,-0.67l1.4,-3.61l0.38,-2.21l2.87,-0.65l1.83,-1.99l1.15,-0.29l3.4,0.5l3.99,-0.04l0.92,-2.18l3.35,-3.06l1.75,-1.04l1.25,-0.18l1.76,1.58l0.64,0.16l1.24,-0.67l2.07,-0.07l0.81,0.47l1.37,1.98l0.92,0.38l3.4,-1.49l3.19,1.0l1.29,0.81l-0.51,2.56l1.82,1.98l0.47,0.03l2.62,-1.56l1.96,-0.52l1.42,-0.92l3.92,-0.0l2.83,1.04l2.24,2.21l1.47,0.96l2.03,0.41l0.22,0.33l-0.08,3.01l-1.07,1.29l-0.11,1.14l1.99,2.8l0.22,1.35l-1.98,2.56l-0.54,2.11l0.11,0.59l4.8,3.05l-1.06,2.24l0.22,0.44l1.4,0.68l1.5,2.95l1.42,1.79l5.69,3.04l-0.04,1.47l-0.94,2.24l0.22,0.54l1.06,0.37l5.02,0.19l3.1,1.5l-0.32,1.27l0.64,1.39l3.16,2.26l0.01,1.08l-3.01,1.21l-0.7,1.17l-3.65,2.08l-3.72,-0.26l-1.43,-1.43l-1.18,-0.32l-3.43,0.09l-0.75,0.46l-1.71,3.0l0.04,0.52l4.03,4.54l-0.61,1.04l0.17,1.42l0.95,1.23l-0.33,4.38l1.6,1.88l0.82,1.53l-5.16,-0.05l-1.77,0.96l-1.99,-0.42l-1.46,0.63l-3.05,2.73l-1.29,1.6l-1.83,3.95l1.26,4.37l-0.98,1.32l-0.92,-0.12l-1.36,-0.8l-0.44,-1.39l-2.23,-1.49l-8.28,0.78l-2.69,0.89l-2.12,-3.38l-0.52,-0.66l-0.8,-0.34l-0.77,0.12l-1.1,0.93l-1.76,0.6l-0.87,0.66l-0.7,1.15l-0.62,-0.26l-0.83,-1.64l-5.66,-1.19l-2.43,0.84l-2.32,-0.52l-1.82,1.98l0.15,-1.24l-0.24,-0.41l-1.34,-0.56l-4.0,0.09l-2.18,-2.8l-5.0,-0.34l-4.26,-0.76l-0.91,-0.58l-8.26,-1.44l-9.81,-0.12l-2.74,0.57l-6.86,0.57l-0.74,0.64l-0.63,1.19l-2.0,1.92l-1.94,1.27l-1.28,-0.61l-2.2,-0.32l-1.06,0.29l-0.7,0.7Z\",\\n      \"name\": \"Belarus\"\\n    },\\n    \"GR\": {\\n      \"path\": \"M728.08,670.66l-0.79,0.26l-0.27,-0.39l0.51,-1.56l-0.52,-1.53l2.47,-2.52l3.7,-1.26l-1.12,2.79l-1.0,1.2l0.08,0.93l-1.45,0.33l-1.59,1.75ZM727.96,660.69l0.31,-0.19l-0.05,0.46l-0.26,-0.27ZM717.45,657.54l2.45,-1.2l0.79,0.06l-1.92,1.05l-1.31,0.09ZM718.65,675.52l0.9,2.17l-0.84,0.63l0.1,-1.01l-0.53,-1.15l0.37,-0.64ZM711.88,642.87l1.58,-0.77l0.98,-0.02l2.64,0.58l0.06,0.28l-2.41,0.93l-1.62,-0.93l-1.23,-0.07ZM716.41,654.11l0.54,0.48l-0.03,0.04l-0.63,0.1l0.12,-0.63ZM708.43,617.81l-0.05,1.13l1.83,1.52l0.65,1.19l-0.81,-0.3l-0.49,0.49l0.43,0.99l-0.37,0.12l-3.89,-0.79l-0.36,-0.44l1.99,-1.7l-0.34,-0.63l-1.6,0.18l-1.24,1.38l-1.92,-0.59l-0.59,-0.58l0.65,-1.02l1.36,0.04l0.99,-0.34l1.05,-0.45l0.25,-0.65l1.92,-0.12l0.56,0.56ZM623.87,612.82l0.81,0.1l0.84,-0.47l0.47,-0.56l0.3,-1.23l0.8,-0.02l0.42,-0.51l-0.08,-0.84l-0.89,-1.74l1.18,-1.04l2.5,-0.46l0.86,-0.63l2.04,-5.25l1.85,-0.75l0.87,-1.26l0.46,-1.74l-1.01,-1.95l0.07,-0.75l4.52,-0.26l1.17,-0.64l2.45,0.55l2.71,-1.28l2.13,-2.58l0.71,-0.31l2.57,-0.43l4.21,0.63l3.19,-0.98l0.81,-2.47l4.88,0.17l1.31,-1.02l5.3,-0.03l3.31,-1.11l1.87,-0.11l0.72,-1.05l4.19,0.07l1.53,-0.5l1.02,1.67l2.5,1.47l1.25,-0.53l1.82,0.43l3.69,1.98l7.19,-1.39l1.97,0.27l2.96,-1.23l0.46,-1.18l-0.61,-2.89l-0.57,-0.89l0.35,-0.54l1.04,-0.24l2.68,0.72l2.17,1.52l0.5,2.84l-0.19,0.48l-0.81,0.19l-2.79,1.69l-0.26,1.91l0.38,2.25l-3.16,3.73l-0.56,0.18l-0.34,-0.5l-2.25,-1.26l-4.82,-0.7l-2.28,-0.88l-1.1,0.12l-2.16,-0.96l-1.44,0.48l-2.75,1.7l-1.32,-0.16l-1.58,-1.02l-1.46,-0.22l-1.39,0.65l-1.98,1.99l-1.88,0.91l-1.8,-0.37l-2.49,0.01l-0.39,0.31l-0.22,1.44l1.67,1.98l-0.49,1.12l0.47,1.01l0.99,0.39l-1.39,-0.11l-1.3,0.61l-0.33,1.0l1.52,1.65l1.88,1.38l0.37,1.18l-0.35,0.48l-1.18,-0.71l-2.27,-3.16l-3.48,-0.8l-0.39,0.14l-0.6,1.06l0.63,1.71l0.62,0.86l2.45,1.61l-2.93,-0.93l-0.8,-1.4l-0.43,-2.26l-5.5,-2.86l-0.45,-1.08l0.86,-1.57l-0.43,-0.54l-1.68,0.27l-2.63,1.64l0.16,2.07l-0.97,3.91l0.31,1.49l3.35,3.9l1.1,2.68l0.87,1.13l1.73,1.2l1.71,2.07l0.7,1.04l0.44,1.49l-1.17,0.88l-0.56,0.03l0.43,-1.37l-0.31,-1.06l-2.29,-1.17l-1.38,0.42l-1.12,0.76l-0.14,0.5l1.36,2.35l0.34,1.2l0.45,0.29l-2.36,1.26l-2.76,0.18l-0.61,0.48l0.16,0.67l1.6,0.3l1.19,0.76l3.27,0.91l1.74,1.2l1.38,0.09l1.7,2.15l2.57,0.54l1.7,2.19l2.02,0.42l1.63,0.73l0.65,1.86l0.5,5.06l-0.07,1.48l-0.27,0.28l-0.29,0.01l-1.21,-1.49l-4.01,-3.64l-1.32,-0.49l-1.28,0.69l-3.11,0.54l-1.92,0.86l-0.41,0.62l0.17,0.49l1.31,1.11l0.04,1.25l0.68,1.51l1.09,0.59l1.64,0.17l1.16,1.61l-3.98,1.51l-0.47,-0.26l-0.24,-1.31l-2.13,-1.2l-1.23,-0.26l-0.96,-0.77l-0.53,0.03l-0.67,0.67l0.43,2.7l1.21,1.72l2.8,6.72l0.16,1.11l-0.37,2.26l1.29,2.3l-1.48,-1.02l-1.97,-2.38l-0.69,-1.5l-1.16,-0.35l-1.89,0.44l-1.62,3.29l-0.04,1.39l-0.21,-0.11l-0.53,-0.44l-0.06,-2.98l-1.96,-2.81l-0.93,-0.41l-1.11,-1.88l-0.41,-0.16l-1.04,0.23l-0.97,0.71l-0.56,3.35l-1.68,-1.57l-2.02,-3.26l-0.05,-1.6l1.53,-1.91l-0.24,-1.37l-1.56,-2.52l-2.1,-1.55l-1.1,-0.44l-0.63,-1.66l-2.03,-1.46l2.41,-2.02l1.21,-2.49l1.74,0.55l1.49,-0.17l2.34,-2.4l1.5,0.09l3.86,2.05l4.28,1.21l2.03,1.0l1.29,1.08l1.71,0.38l0.46,-0.42l-0.23,-1.23l2.57,-0.15l0.74,-0.53l0.42,-1.05l-0.47,-0.67l-1.03,-0.49l-1.47,-0.29l-0.73,0.18l-1.18,-0.46l-5.55,-3.19l-0.57,0.13l-0.44,0.74l-0.71,0.36l-1.11,0.06l-3.71,-0.92l-2.15,0.71l-4.25,0.68l-1.88,-2.53l-0.6,0.34l-0.26,1.46l-1.28,0.35l-0.68,-0.45l-1.66,-4.25l-1.61,-1.93l-1.24,-0.53l-0.08,-0.77l0.07,-0.5l1.17,-0.16l2.36,0.85l0.88,-0.23l0.71,-0.78l-0.49,-1.83l-2.98,-0.34l-1.94,0.42l-0.66,-0.31l-3.3,-3.44l-2.27,-1.18l-1.43,-3.35l-1.02,-1.26ZM675.16,600.88l1.34,-0.04l2.3,1.22l1.04,1.37l-1.41,-1.3l-3.27,-1.24ZM707.89,661.28l-0.16,0.18l-0.36,-0.27l0.41,0.1l0.11,-0.02ZM708.79,660.68l0.03,-0.08l0.05,0.06l-0.08,0.03ZM703.69,645.69l0.95,-0.85l2.01,-0.19l-0.72,0.46l-2.24,0.58ZM672.76,675.97l0.47,1.17l1.83,0.46l1.71,-0.13l0.86,-0.89l0.55,-0.01l0.13,0.28l-0.96,0.59l0.02,0.55l1.05,0.63l0.84,-0.04l0.27,0.97l0.84,0.59l1.91,-0.04l3.7,-0.9l3.66,0.22l1.49,0.98l2.58,0.12l2.39,0.5l3.4,-0.62l-0.05,2.83l0.84,0.58l0.89,-0.12l0.88,-0.75l1.68,-0.51l1.84,0.0l1.35,-1.09l-0.21,1.46l-0.45,1.56l-0.8,0.3l-4.51,-0.1l-13.88,1.39l-0.4,-0.13l-0.14,-1.43l-0.43,-0.64l-3.49,-1.22l-7.93,-1.34l-2.54,0.18l-1.23,-0.27l-0.31,-0.42l-0.17,-1.7l0.27,-1.65l0.87,0.49l0.43,-0.08l0.58,-0.56l0.16,-1.18ZM702.17,634.63l0.83,-0.47l0.56,-1.18l-0.51,-1.11l-1.37,-1.35l-0.04,-0.53l1.75,-0.34l1.57,0.89l0.07,3.17l-0.61,0.53l-0.14,0.76l-0.95,0.65l-1.15,-1.03ZM698.48,599.9l-0.88,0.24l-0.94,-0.74l0.76,-0.25l1.05,0.74ZM696.85,654.58l-0.82,0.4l-0.91,-1.59l1.84,-1.64l0.35,0.34l-0.04,1.56l-0.43,0.92ZM695.75,663.45l0.09,0.3l-0.33,0.43l0.19,-0.35l0.05,-0.37ZM695.08,647.43l-0.75,0.06l0.03,-0.54l1.08,0.27l-0.36,0.21ZM690.86,607.38l1.89,-0.07l0.57,0.64l0.49,0.09l1.51,-1.04l-0.9,1.57l-0.18,1.09l-0.59,-0.12l-0.12,-0.89l-0.43,-0.38l-0.69,0.27l-0.36,0.77l-1.05,-0.22l-0.14,-1.72ZM694.65,659.11l-0.68,-0.65l-0.17,-0.27l0.96,0.71l-0.11,0.21ZM693.06,653.23l-0.77,0.86l-0.66,-0.29l0.4,-0.81l0.94,-0.5l0.09,0.74ZM690.94,644.63l1.66,0.25l0.15,0.17l-0.25,0.51l-0.46,-0.08l-1.1,-0.84ZM689.21,642.46l-0.12,0.31l-1.78,-1.57l-1.08,-1.15l-0.1,-0.51l0.59,-0.25l0.74,1.01l1.24,0.26l0.52,1.9ZM686.25,596.85l-1.26,0.42l-1.41,-0.87l0.01,-0.29l1.17,-1.42l0.98,0.08l0.69,0.96l-0.17,1.13ZM685.69,654.47l0.32,0.59l-0.13,0.1l-0.14,-0.27l-0.05,-0.42ZM682.97,623.8l0.52,0.29l0.25,0.92l-0.86,-0.54l0.1,-0.68ZM684.19,625.48l0.31,0.27l-0.27,0.07l-0.04,-0.34ZM661.67,625.04l3.09,-1.8l1.96,-0.47l1.2,1.04l0.73,1.64l0.92,0.78l4.78,2.0l3.0,0.27l1.17,1.85l-0.19,1.13l1.22,3.9l1.43,1.15l2.67,0.25l-0.01,1.43l-0.63,0.53l-1.01,-0.67l-0.75,-0.06l-1.88,-1.44l-0.34,-1.37l-2.27,-3.04l-3.76,-0.18l-1.21,-0.55l-0.6,-1.8l-4.92,-3.91l-3.14,-1.2l-1.46,0.5ZM681.22,658.91l0.47,0.25l-0.55,0.09l0.08,-0.34ZM682.34,659.06l0.37,-0.41l0.36,-0.09l0.0,0.38l-0.73,0.12ZM682.94,652.14l-0.52,-0.06l0.36,-0.53l0.24,0.11l-0.07,0.48ZM681.96,648.45l-0.28,-0.62l0.24,-0.28l0.32,0.46l-0.27,0.44ZM680.69,645.1l-0.29,0.25l0.39,-1.2l0.31,-0.03l-0.41,0.98ZM672.52,621.17l-0.6,-0.11l-0.2,-0.37l0.8,0.47ZM668.93,639.82l0.26,-0.51l0.33,0.09l-0.09,0.46l-0.5,-0.04ZM661.94,664.62l1.47,1.53l-0.51,0.98l-0.83,-0.28l-0.27,-0.48l0.14,-1.75ZM633.7,642.06l0.48,0.52l-1.17,0.88l-1.26,-1.0l-0.97,-1.4l0.5,-0.6l0.61,0.8l1.24,0.33l0.56,0.47ZM627.1,635.32l0.7,-1.67l0.81,0.42l0.52,-0.22l0.62,-1.26l0.25,1.95l1.11,0.64l1.1,1.42l-0.07,0.54l-1.85,-0.68l-0.97,0.24l-0.29,-1.09l-0.71,-0.88l-0.52,0.0l-0.69,0.6ZM630.95,631.66l0.08,0.09l-0.0,0.18l-0.08,-0.27ZM629.87,628.81l0.45,-1.93l0.83,-0.95l0.06,2.57l-0.21,0.26l-1.14,0.06ZM620.81,615.4l-0.15,-0.1l-1.04,-1.97l-2.08,-2.4l2.14,-0.65l0.9,0.56l-1.09,1.26l0.72,1.12l0.59,2.18Z\",\\n      \"name\": \"Greece\"\\n    },\\n    \"RU\": {\\n      \"path\": \"M726.11,290.03l1.44,0.47l1.4,1.79l1.34,0.66l1.83,0.02l1.0,-1.42l-1.01,-2.65l-1.75,-1.83l-1.79,-0.93l-3.39,0.01l-0.29,-1.23l0.24,-0.8l2.94,-2.83l0.33,-0.93l-0.98,-8.52l-0.89,-1.42l0.98,-1.16l1.86,-4.42l1.6,-0.5l0.55,-0.74l1.26,-0.69l-0.24,-1.11l-1.43,-1.46l0.6,-1.35l-0.65,-3.35l0.42,-0.82l0.57,-0.06l1.12,1.2l2.03,0.6l1.21,-0.84l0.54,-1.72l0.56,-0.46l1.07,0.55l1.95,0.23l2.87,-0.46l2.72,-3.42l6.88,0.87l6.12,1.65l0.89,-0.77l0.29,-1.23l-0.19,-0.42l-2.61,-1.39l-1.44,-1.91l-2.05,-1.51l-2.27,-0.21l-2.75,0.52l-3.91,-0.3l-3.38,-2.77l-2.3,-0.91l-1.57,-2.17l0.85,0.47l0.58,-0.26l0.39,-2.49l-2.07,-1.74l-4.84,2.14l-3.82,0.53l7.28,-6.51l3.44,-2.16l1.07,-1.18l6.97,-4.75l3.26,-3.23l2.7,-2.13l11.86,-12.12l5.03,-4.13l3.4,-3.32l1.38,-1.87l3.45,-6.95l-0.01,-0.97l-0.42,-0.8l-2.34,-2.4l-2.18,-3.05l-2.83,-1.99l-7.52,-4.34l-5.48,-4.63l2.72,-1.22l4.0,-4.72l0.38,-1.46l-0.17,-2.73l-0.38,-0.9l-1.51,-1.2l-3.71,-1.77l-1.54,-3.23l-0.01,-0.49l1.82,-2.02l-0.21,-2.19l-0.75,-0.87l-3.83,-0.84l-0.98,-0.81l-1.23,-2.52l0.19,-1.23l2.4,-1.41l0.44,-1.18l-0.26,-1.49l-2.69,-0.77l1.34,-1.73l0.27,-3.17l1.19,-2.04l-0.08,-0.5l-1.02,-0.91l4.61,-0.92l0.39,-1.34l-0.21,-1.45l-2.56,-6.99l-3.15,-4.16l-2.8,-5.79l-2.34,-3.73l-2.68,-3.45l-0.31,-0.84l0.25,-1.57l2.07,-2.8l4.43,-5.2l5.01,-5.15l0.73,-3.16l-0.28,-0.7l-2.11,-1.5l-3.99,-4.03l-2.62,-3.21l-8.77,-2.94l-2.79,-6.73l0.1,-0.97l3.69,-5.53l0.3,-1.8l-1.15,-0.93l-3.46,-0.31l9.02,-3.32l0.82,-0.57l0.66,-0.76l2.29,-4.62l8.22,-2.29l1.33,-1.04l1.09,-1.73l0.48,-2.01l-0.34,-0.97l5.48,2.43l2.48,0.12l1.09,-0.25l0.77,-0.81l0.37,-1.19l-0.59,-3.81l1.82,0.26l5.43,1.91l1.55,-0.18l1.81,-0.72l1.58,-2.18l0.98,-0.31l1.48,0.49l0.45,-0.15l0.48,-1.01l-0.7,-2.17l5.05,1.88l2.44,1.53l5.02,1.3l0.69,0.55l-0.14,1.85l-0.82,0.45l-2.04,-0.09l-8.15,-1.55l-1.16,1.0l-0.01,0.6l1.05,0.94l2.14,0.95l0.58,1.64l0.41,0.27l3.46,-0.24l3.3,0.68l1.42,-0.18l-0.88,1.41l0.08,0.55l0.89,0.44l3.73,-1.44l1.6,-0.36l0.6,0.25l0.09,0.86l-0.58,1.41l-0.09,1.2l-1.07,2.55l-1.81,0.91l-0.74,1.6l0.43,0.15l2.61,-0.7l1.48,-0.8l2.69,-3.85l0.61,-0.4l7.25,-0.07l8.54,2.02l2.04,0.17l2.33,-0.23l1.51,-1.05l7.57,1.96l10.28,4.47l15.04,7.36l8.43,6.46l1.18,1.5l3.07,0.79l0.85,-0.48l1.46,0.4l10.12,5.95l3.45,0.31l0.41,-0.54l-0.6,-1.55l0.93,0.68l1.87,2.27l2.36,1.76l2.33,2.53l1.51,0.78l0.0,30.64l-5.15,3.01l-10.98,3.76l-8.56,1.41l-3.42,0.1l-6.69,-0.7l-3.63,-0.75l-4.48,-2.13l-4.29,-1.1l-2.98,-0.49l-5.35,-0.2l-11.6,-2.1l-1.97,-0.72l-7.29,-4.12l-3.2,1.13l-1.46,0.18l-0.78,-0.94l0.53,-0.72l-0.24,-0.58l-4.14,-1.18l-3.43,-0.09l-4.02,-1.75l-1.59,0.44l-4.38,-1.76l-1.93,-1.41l-1.89,-2.33l0.92,-1.16l-0.19,-0.68l-7.27,-1.52l-6.84,-0.2l-0.4,0.29l0.18,0.46l1.19,0.72l3.05,0.43l3.73,2.29l-0.44,1.73l0.17,0.43l5.18,3.73l0.29,0.74l4.18,0.93l0.44,1.29l-0.47,0.94l0.67,1.15l5.49,1.86l-0.52,0.8l-1.44,0.78l-1.53,0.38l-0.3,0.36l0.24,0.4l0.93,0.34l1.98,-0.12l7.3,2.13l3.81,2.13l3.89,3.9l1.2,1.84l-0.12,1.89l-2.15,5.68l-0.9,1.09l-1.83,1.32l-0.1,0.55l3.58,5.02l1.76,3.94l0.38,3.98l1.24,0.96l-0.89,1.1l0.25,3.45l2.37,2.71l3.37,1.69l2.28,0.38l2.79,-0.66l1.95,0.87l4.57,3.12l2.06,3.28l1.09,0.86l8.27,2.02l5.37,1.99l1.05,0.1l2.82,-1.76l4.45,-1.19l1.69,-2.08l-0.15,-1.55l-1.13,-2.46l-0.48,-2.68l-2.94,-1.7l-4.41,0.47l-1.79,-0.09l-1.31,-0.61l-1.88,-1.7l-3.66,-4.27l-1.98,-1.45l-0.57,-0.81l-0.62,-1.12l0.06,-1.49l1.44,-0.01l1.8,-1.14l1.41,-4.09l3.11,-0.43l5.13,1.86l6.59,5.08l1.56,0.56l3.82,-0.04l0.42,0.59l1.34,0.79l7.02,1.73l7.13,3.16l2.91,-0.34l1.23,-2.43l2.64,-1.63l1.82,-0.27l2.7,0.62l0.94,-0.91l0.0,400.07l-4.46,-0.79l-1.09,0.42l-1.26,1.88l-5.84,-4.82l-2.57,-2.84l-8.3,-6.49l-7.29,-2.21l-4.42,-4.6l-2.32,0.5l-2.63,-0.52l-1.78,-1.42l-0.9,-1.9l-1.27,-1.31l-3.61,-1.66l-3.84,-0.92l-0.2,-0.37l3.1,-1.0l1.03,-0.69l-0.05,-0.69l-2.45,-1.01l1.22,-0.52l3.01,1.98l1.61,0.58l1.01,-0.66l5.08,-1.09l0.64,-1.13l0.01,-1.14l-0.83,-0.39l0.02,-0.79l0.7,-1.38l2.37,-2.55l1.21,-3.3l0.78,-0.55l0.38,0.25l0.1,1.27l0.32,0.31l0.41,-0.18l1.33,-2.52l3.98,0.07l0.24,-0.67l-2.44,-2.61l-3.22,-2.59l-1.55,0.09l-0.65,-0.3l-1.32,-2.0l-0.39,-1.18l2.35,0.25l3.37,-1.37l3.64,0.63l0.44,-0.46l-0.69,-2.28l4.53,-1.44l4.37,-1.99l2.18,-0.55l0.33,-1.4l-0.68,-1.65l-1.0,-1.4l-2.33,-0.06l-1.52,1.69l-3.33,0.51l-0.55,-0.04l1.8,-0.89l0.38,-0.89l-0.41,-0.19l-2.5,0.39l-1.4,1.14l-3.14,1.23l-0.09,-0.82l0.81,-0.93l0.26,-0.87l-1.06,-0.72l0.72,-1.44l0.38,-2.47l0.91,-0.72l1.93,-0.23l1.85,-0.8l1.15,-0.93l1.32,-2.0l0.85,-0.25l6.6,0.37l4.71,-0.19l0.87,-0.89l0.05,-1.5l1.42,-3.4l0.99,-1.16l0.05,-0.83l-1.49,-0.71l0.56,-0.88l-0.75,-3.25l-1.15,-0.75l-1.32,-0.29l0.66,-2.07l0.97,-0.98l1.32,0.21l1.24,-0.24l0.55,-0.79l-0.46,-0.76l-3.06,-1.05l-0.67,-1.1l2.56,-0.9l2.44,-2.39l0.59,-0.98l0.29,-2.27l-0.93,-1.24l0.0,-0.89l0.48,-1.04l-0.19,-0.6l-1.1,-0.63l-2.1,0.51l-1.12,-0.07l-4.23,-2.7l-2.19,-0.27l-1.68,-1.96l-2.3,0.57l-1.31,-0.1l-3.56,-2.2l-2.76,-0.26l-2.75,-1.58l-0.96,0.15l-0.52,0.67l-0.27,1.26l-1.02,0.25l-4.44,-3.21l-1.26,-1.76l-0.43,-1.51l-2.37,-2.21l-1.25,-0.09l-2.83,1.16l-5.07,1.07l-1.8,1.39l-1.55,-1.19l-1.78,-0.29l-0.86,0.24l-2.57,-2.23l-3.28,-0.48l-2.83,1.54l-0.78,-0.28l-0.55,-1.12l-0.87,-0.5l-0.93,-1.27l-0.22,-1.05l0.59,-1.13l0.05,-1.01l-1.71,-4.09l0.2,-1.4l-0.59,-0.56l-1.82,-0.2l-1.28,-2.54l-1.35,-0.09l-3.1,0.57l-3.49,-1.19l-3.32,-0.13l0.6,-0.53l0.05,-0.87l-0.67,-0.61l-0.34,-3.22l-1.12,-1.88l3.23,-0.64l0.56,-0.61l0.0,-0.97l-3.92,-3.8l-1.29,-3.12l-1.31,-1.82l-1.47,-1.24l-1.22,-0.59l-3.98,0.16l-2.32,-0.36l-1.88,0.24l-3.42,1.53l-1.14,0.06l-3.97,-1.0l-1.1,0.01l-1.27,0.77l-1.12,2.88l-1.96,1.03l-1.84,0.07l-2.57,-0.95l-1.02,-2.05l-1.46,-1.55l0.1,-3.66l0.34,-0.73l-1.14,-1.49l-0.07,-0.9l0.58,-0.74l-0.03,-0.72l-3.97,-4.57l1.74,-2.87l3.23,-0.09l0.87,0.25l1.61,1.49l4.18,0.24l3.9,-2.22l0.67,-1.14l2.96,-1.12l0.33,-0.34l-0.01,-1.77l-0.42,-0.68l-2.85,-1.78l-0.46,-0.98l0.32,-0.71l-0.24,-1.09l-3.52,-1.68l-5.55,-0.36l0.81,-2.04l0.17,-1.22l-0.27,-0.89l-0.58,-0.55l-5.18,-2.56l-1.33,-1.67l-0.71,-1.81l-0.87,-1.24l-1.36,-0.72l0.98,-1.81l-0.1,-0.74l-4.73,-2.94l0.42,-2.01l2.06,-2.77l-0.33,-1.87l-1.9,-2.6l0.05,-0.61l1.13,-1.47l0.09,-3.31l-0.53,-0.83l-2.18,-0.5l-1.26,-0.82l-2.4,-2.34l-3.18,-1.14l-4.12,0.02l-2.58,1.41l-1.63,0.4l-1.8,1.14l-1.34,-1.49l0.57,-1.78l-0.08,-0.77l-0.47,-0.67l-4.06,-1.61l-2.03,0.38l-1.99,1.08l-0.45,-0.15l-1.32,-1.91l-1.12,-0.71l-2.42,0.01l-1.23,0.67l-1.72,-1.43l0.66,-2.19l-1.34,-5.49l-1.34,-1.21l-0.23,-0.86l-1.31,-1.81l-0.13,-1.47l-0.53,-0.78l-0.98,-0.41l-1.57,0.36l0.75,-1.97l0.11,-1.54l0.56,-1.41l0.95,-1.24l0.0,-2.13l-0.62,-0.75l-3.35,-2.1l-0.53,-1.63l-1.92,-0.42l0.57,-2.1l1.17,-1.07l0.68,-1.42l2.7,-0.77l0.62,-0.66l-0.15,-0.75l-1.29,-1.03l-0.25,-1.0ZM899.6,149.08l-0.91,-2.5l-1.31,-2.3l-1.94,-1.53l-3.3,-4.18l-1.3,-2.04l-0.62,-2.02l0.83,-3.04l6.79,-3.36l1.76,-1.43l0.0,22.4ZM836.18,140.74l0.44,1.89l-0.38,0.82l0.1,0.76l-0.3,0.19l-1.12,-1.49l-0.96,-0.18l-0.66,-0.6l-0.26,-0.83l0.79,0.0l1.49,-0.81l0.85,0.25ZM617.41,357.73l1.54,-1.2l1.41,-1.73l1.16,-2.18l0.41,-3.11l1.52,-0.56l4.03,0.06l1.68,-0.82l1.35,-1.25l-0.8,0.85l0.13,0.64l1.12,0.5l1.36,0.19l1.62,0.72l1.47,0.13l2.74,-0.62l0.3,-0.33l0.62,-5.87l1.57,-0.18l2.24,1.46l4.31,1.78l2.75,0.72l6.56,0.09l0.88,1.63l2.49,1.72l-1.93,5.57l-0.04,1.47l0.9,2.13l-41.39,-1.79Z\",\\n      \"name\": \"Russia\"\\n    },\\n    \"NL\": {\\n      \"path\": \"M408.11,413.92l-2.98,-1.02l-2.63,0.56l-1.62,-0.68l-1.47,-0.1l-1.43,-1.16l0.86,-0.49l2.54,-0.12l1.81,0.37l3.4,2.1l2.12,-0.24l0.2,-0.64l-0.47,-0.58l-2.47,-1.11l1.44,-0.16l0.27,-0.65l-0.68,-1.17l-2.31,-2.26l1.63,-2.96l1.7,-1.22l3.79,-4.66l1.1,-2.5l1.57,-6.68l1.04,-2.07l1.58,0.51l2.03,-0.83l0.61,2.01l1.68,1.87l-0.05,0.7l-2.4,1.06l0.04,3.13l-0.72,1.49l0.08,0.43l0.54,0.48l6.52,1.61l4.07,-3.2l1.17,-1.38l-0.04,-1.42l-0.47,-1.01l-2.62,-0.56l-0.29,-0.33l0.01,-1.58l0.57,-0.88l-0.05,-0.97l-0.42,-0.31l-1.44,0.1l-1.38,-0.36l-0.26,-2.87l-0.67,-0.7l1.23,-2.18l1.06,-0.92l4.54,-1.93l2.49,-0.57l10.02,-0.62l2.06,2.07l2.84,0.79l-0.08,4.83l-1.86,4.59l-0.24,1.67l-3.48,0.08l-0.9,0.62l0.09,0.93l-0.34,0.86l0.88,1.38l1.41,0.52l1.7,-0.01l0.65,0.86l-0.19,1.84l-0.5,0.96l-3.49,2.4l-0.14,0.98l1.13,1.12l-0.6,0.77l-2.87,0.97l-1.44,-0.0l-0.68,0.49l-2.7,-0.95l-2.28,0.91l-0.97,0.89l0.08,0.97l1.84,2.22l0.1,0.74l1.31,1.87l0.06,0.56l-0.41,1.55l-1.26,2.5l0.11,0.92l0.53,0.33l-2.24,1.64l-0.78,-0.07l-0.53,0.48l0.1,0.74l0.47,0.55l1.53,0.64l0.41,0.58l-0.61,2.28l-2.95,-0.15l-0.55,-0.2l-0.58,-0.97l1.24,-1.33l0.21,-1.07l0.9,-1.71l0.16,-0.82l-0.5,-0.82l-2.67,-0.92l-1.82,-1.56l-2.38,0.42l-1.15,-0.3l-1.39,-1.09l-0.5,-1.77l-0.54,-0.52l-0.49,0.01l-1.11,1.02l-1.05,0.07l-0.27,-0.74l-0.84,-0.78l-0.46,0.02l-1.54,1.17l-1.76,-0.94l-1.73,0.91l0.02,1.2l-1.77,-0.51ZM421.28,396.41l4.65,-3.0l1.5,-0.51l0.91,0.09l0.98,0.62l-0.3,0.84l-3.92,2.87l-0.85,0.06l-2.96,-0.97ZM416.5,383.47l-1.03,1.0l-0.51,-0.26l0.29,-0.71l1.25,-1.07l-0.0,1.03ZM407.31,414.89l-2.06,1.54l-1.75,0.66l-0.79,-0.07l-2.0,-1.12l-1.46,-0.21l-1.9,0.74l-0.5,-0.59l-0.29,-1.12l2.71,-0.27l3.99,0.8l1.77,-0.71l1.2,0.56l1.08,-0.22ZM401.26,408.39l0.8,-0.2l1.99,0.12l1.27,0.97l-1.02,0.24l-1.64,-1.11l-1.39,-0.02Z\",\\n      \"name\": \"Netherlands\"\\n    },\\n    \"PT\": {\\n      \"path\": \"M226.07,631.38l0.09,-1.3l-0.52,-1.53l1.89,-0.52l1.05,-0.88l0.66,-1.19l-0.29,-1.44l0.72,-1.29l1.9,-1.22l0.16,-0.48l-0.45,-0.25l-1.03,0.19l-1.33,0.85l-2.54,4.33l-2.69,0.63l-1.22,-0.39l0.0,-1.58l0.59,-1.75l0.23,-2.35l0.81,-2.11l-0.23,-1.47l1.55,-1.26l1.45,-1.94l4.21,-9.14l-0.16,-0.87l-0.43,-0.47l0.16,-1.05l1.34,-5.47l1.22,-2.52l0.34,-5.43l-1.08,-3.3l-0.9,-4.39l-0.06,-1.28l0.63,-0.63l-0.25,-0.68l-1.03,-0.09l-0.39,-0.67l0.1,-0.85l2.5,-2.7l1.86,-0.94l3.64,-1.08l0.35,0.03l0.97,1.44l-1.22,1.94l0.7,1.49l0.68,0.39l0.93,-0.07l2.18,-1.03l3.06,-0.14l2.4,0.83l1.69,0.04l2.74,-1.05l0.62,-1.31l1.58,0.47l2.24,0.09l0.56,-0.29l1.51,0.44l1.18,-0.08l0.55,0.78l-0.02,2.66l0.26,0.7l3.35,0.69l0.74,0.55l0.28,0.69l-2.34,2.39l-2.17,1.14l-1.76,1.49l-1.17,1.72l-1.44,0.74l-0.73,1.02l1.23,3.94l0.23,1.9l-0.45,3.46l0.52,1.45l-2.57,1.96l-0.37,0.82l0.17,0.84l1.64,1.7l-1.02,3.33l-0.78,1.27l-0.86,0.37l-4.59,0.03l-1.11,0.3l-0.24,0.59l1.23,2.01l1.47,1.18l0.41,1.96l1.81,3.22l1.87,0.6l0.43,0.57l-0.58,2.04l-3.14,2.99l-0.94,4.28l3.28,4.65l1.82,-0.01l-0.66,1.6l-2.21,0.66l-3.59,4.5l-0.83,2.42l1.24,5.98l-0.9,0.16l-4.53,2.49l-1.25,0.0l-2.72,-1.12l-6.2,-0.68l-2.07,0.72l-1.41,-0.02l-1.47,0.83l2.33,-5.99l-0.06,-2.49l0.35,-2.3l-0.42,-2.18l-0.73,-1.34l1.01,-3.52l-0.12,-1.83l-0.72,-1.81l2.21,0.27l0.41,-0.22l-0.07,-0.46l-0.89,-0.92l-1.23,-0.68l-1.65,0.12l-3.48,1.12ZM117.56,718.32l1.56,0.67l1.81,-0.33l2.3,1.05l-1.15,1.04l-2.21,-0.2l-2.57,-1.4l0.26,-0.82ZM10.64,654.82l-1.1,0.02l-0.19,-0.31l0.92,-0.12l0.37,0.41ZM2.49,641.55l1.09,0.17l5.02,-0.12l-0.06,0.57l-0.57,0.32l-2.41,0.29l-3.86,-0.72l-1.16,-0.85l-0.14,-0.53l0.41,-0.13l1.67,1.01Z\",\\n      \"name\": \"Portugal\"\\n    },\\n    \"NO\": {\\n      \"path\": \"M728.73,12.12l0.23,0.63l1.37,0.34l2.91,-0.91l0.43,0.5l-0.87,2.15l-0.5,5.32l0.03,1.92l0.75,1.21l0.37,-0.28l1.54,-4.63l1.79,-1.59l0.63,-2.84l1.64,-3.37l1.81,-1.92l0.96,-0.48l3.49,0.08l1.42,0.68l1.34,1.62l1.13,0.76l3.32,0.75l1.46,1.46l1.05,0.06l2.14,-1.24l1.18,-0.17l2.0,1.7l-0.39,1.45l0.53,0.75l2.78,-0.09l2.24,0.55l4.31,2.89l0.39,1.18l-0.18,1.34l-6.19,1.79l-2.83,1.78l-4.44,0.67l-15.48,-1.19l-0.42,0.49l0.6,1.58l10.68,2.78l0.42,0.55l-0.32,1.59l0.21,2.36l1.07,1.15l1.47,0.42l2.61,-0.21l1.62,0.37l1.06,-0.95l0.31,-2.12l0.45,-0.29l1.14,0.5l0.61,2.27l0.6,0.49l0.57,-0.18l0.65,-1.49l4.65,0.21l0.66,2.86l-0.33,1.93l-1.15,0.59l-2.23,-0.09l-3.11,-1.22l-2.04,-1.17l-1.03,-0.06l-0.46,0.65l0.46,1.08l-0.11,0.77l-1.24,2.44l-1.18,0.9l-2.11,0.74l-6.01,1.49l-0.74,0.88l-1.92,4.09l-1.08,0.98l-1.79,0.57l-1.49,-1.94l0.15,-1.12l2.32,-2.54l2.91,-2.55l1.33,-1.95l0.02,-0.42l-2.6,-4.77l-10.07,-3.82l-4.86,-3.54l-2.12,-2.17l-2.31,-0.18l-2.22,0.59l-3.29,1.99l-2.88,1.26l-2.52,-0.53l-2.63,-0.12l-3.06,0.46l-3.09,3.3l-3.22,2.21l-0.89,1.04l-0.68,1.54l-1.52,5.34l-1.15,2.08l-0.26,1.33l0.26,3.66l-0.25,1.89l-2.12,2.23l-2.9,0.58l-1.59,1.03l-1.19,1.51l-1.11,2.84l-1.73,0.96l-1.64,-0.27l-1.4,-1.1l-5.01,-1.38l-4.52,-2.05l-2.06,-0.21l-2.25,2.22l-5.05,1.49l-2.23,0.14l-1.05,-0.74l-8.72,-1.08l-1.51,-3.09l-9.21,-9.88l-5.12,-0.19l-1.9,0.71l-1.2,1.0l-0.17,0.91l0.95,2.35l-0.45,0.52l-2.35,-0.67l-2.89,0.05l-0.9,0.78l-6.7,0.37l-0.25,0.69l2.88,2.76l0.13,1.02l-0.37,2.12l-1.03,1.82l-1.19,1.48l-2.37,1.5l0.06,0.71l3.06,1.26l-3.0,2.32l-12.25,-3.18l-3.88,-0.18l-5.25,-1.45l-1.26,0.17l-2.17,0.96l-0.21,1.5l0.39,6.19l-0.64,1.44l-2.61,3.64l-7.75,-3.12l-7.69,4.89l-2.94,6.47l-1.5,1.49l-3.45,1.03l-1.17,2.04l0.05,0.43l3.13,3.96l0.93,2.08l-0.36,2.0l-2.18,1.74l-9.23,9.65l-1.79,1.39l-0.15,0.39l0.78,3.92l-1.25,1.03l-4.43,1.86l-6.68,0.85l-0.35,0.48l1.23,7.36l-1.15,3.32l-0.93,7.54l-4.89,7.78l-6.29,7.98l0.14,0.61l5.66,2.51l0.87,4.15l-0.09,1.74l-1.0,1.6l-1.2,1.56l-10.12,-1.3l-3.0,0.54l-2.79,1.15l-1.83,1.34l-4.9,5.82l-1.7,1.6l0.35,2.44l-2.78,4.15l1.85,4.71l0.95,1.67l-1.39,1.81l0.42,4.16l-0.34,2.72l2.56,6.56l-0.15,2.34l-1.85,9.33l2.03,1.82l4.12,2.33l3.65,3.7l-0.65,2.4l-1.65,3.3l-4.52,0.59l-1.11,0.86l0.31,2.38l3.23,7.09l0.44,1.8l-0.98,2.96l-0.38,3.87l-2.51,2.69l-1.57,1.04l-2.34,0.41l-0.95,0.63l-1.44,3.47l-2.02,2.05l-0.04,1.14l1.51,5.23l-1.14,5.29l-0.86,1.68l-1.08,0.53l-0.66,-0.22l-1.62,-3.96l-7.05,-1.56l-2.46,-3.92l-0.13,-4.22l-0.52,-3.2l-0.31,-0.36l-0.44,0.18l-0.83,1.39l0.39,2.25l-2.28,1.54l0.12,1.28l0.55,0.47l-0.21,2.89l-3.22,5.07l-1.36,-0.24l-1.59,1.15l-1.18,0.14l-0.57,-1.25l-2.24,-1.81l-1.35,0.01l-0.24,0.69l1.66,1.79l-0.34,0.49l-4.57,2.18l-0.1,0.66l0.87,0.76l-0.63,0.74l-1.2,0.24l-0.9,1.31l-3.32,2.06l-5.48,5.29l-2.79,1.48l-1.93,1.51l-1.6,-0.04l-2.35,1.35l-5.42,1.13l-3.62,-0.52l-2.54,0.44l-1.12,-0.74l0.13,-0.99l-0.23,-0.57l-0.48,-0.15l-1.42,0.03l-0.43,0.44l-0.3,1.11l-1.65,-0.49l-0.19,-0.21l0.48,-0.73l1.13,-0.9l0.02,-0.61l-0.66,-0.86l-3.61,-0.1l-4.41,-2.06l-1.12,-1.16l-3.59,-1.77l-1.55,-1.81l-0.87,-1.97l0.49,-4.68l0.5,-0.49l3.02,0.98l3.54,1.8l0.77,-0.24l0.99,-1.33l1.95,-1.08l-0.0,-0.7l-0.92,-0.33l-2.81,1.2l-2.49,-1.9l0.0,-0.39l0.79,-0.82l0.27,-1.01l-0.4,-1.12l0.16,-1.06l4.66,-4.01l1.45,-0.81l0.15,-0.54l-0.62,-0.47l-1.78,0.56l-5.83,3.61l-3.78,1.24l-1.46,1.82l-1.27,0.66l-2.2,0.07l-0.41,-0.93l0.7,-4.41l0.75,-2.16l0.75,-1.38l1.39,-0.37l0.82,-1.01l3.8,1.04l1.57,-1.49l1.65,-0.23l3.06,-1.49l0.15,-0.72l-0.45,-0.3l-5.05,0.73l-0.67,-0.19l-0.29,-0.73l4.44,-4.25l0.62,-1.06l0.39,-2.03l2.7,-2.33l1.96,-0.95l0.44,0.56l-0.61,2.9l0.01,1.23l0.32,0.39l0.45,-0.24l1.8,-4.31l0.74,-0.96l0.8,-0.65l2.32,-0.59l0.69,-1.14l-0.39,-0.22l-2.64,0.24l-6.23,1.67l-2.72,1.52l-3.5,4.09l-0.42,1.66l-0.85,0.74l-1.49,0.42l-1.92,2.07l-0.87,1.66l-3.08,2.3l-1.17,1.31l-0.32,-1.44l0.18,-1.94l0.87,-1.41l0.48,-1.55l-0.55,-1.47l0.23,-0.46l2.09,0.41l1.6,-0.06l2.77,-1.1l0.18,-0.59l-0.72,-0.8l-3.19,-0.01l-1.6,-0.94l-1.3,-1.95l-0.58,-2.58l0.3,-0.56l5.03,-2.8l1.46,-1.36l-0.21,-0.69l-1.12,-0.04l-1.87,1.53l-2.49,0.88l-1.51,-1.18l-0.83,-1.34l-0.5,-2.97l-0.01,-3.47l0.81,-0.47l2.52,0.47l3.01,-0.18l6.47,-1.26l4.11,0.74l1.79,-0.06l2.68,-1.09l2.11,-0.1l1.55,0.76l0.78,0.8l0.21,1.37l0.79,0.85l0.48,0.08l0.53,-0.28l0.19,-0.51l-0.46,-2.11l6.53,-1.69l0.97,-0.77l-0.22,-0.7l-2.49,-0.22l-0.59,-1.22l1.35,-2.63l-0.14,-0.32l-0.63,-0.15l-1.62,1.45l-0.74,1.82l0.08,1.93l-1.16,0.26l-3.03,0.11l-3.76,-0.93l-0.35,-0.26l0.16,-0.79l-0.54,-0.64l-0.52,0.09l-0.77,0.93l-0.68,1.78l-1.2,0.35l-4.09,-0.68l-5.91,0.41l-2.68,0.93l-1.55,-0.11l-2.82,-1.56l-1.03,-1.16l-0.28,-3.28l3.31,-0.44l1.09,-0.62l-0.04,-0.72l-2.18,-1.12l-0.87,-1.51l-1.48,-0.65l-0.81,-1.18l-0.22,-1.9l0.22,-1.2l0.47,-0.29l1.73,0.29l4.65,-0.24l7.55,2.28l6.23,-0.44l3.58,-1.3l0.06,-0.73l-0.93,-0.4l-3.85,0.74l-3.51,-0.03l-8.9,-1.94l-2.82,0.2l-1.23,-0.38l-0.7,-1.19l0.55,-2.45l0.89,-0.41l0.79,0.65l1.21,-0.11l1.76,-1.91l0.61,-1.39l2.32,-1.33l2.5,-0.75l0.72,0.14l1.38,1.17l2.02,-0.0l5.03,-1.15l1.71,-1.38l0.08,-0.46l-0.41,-0.22l-7.2,1.24l-0.09,-0.31l1.55,-1.5l0.43,-1.2l0.86,-0.45l5.24,-0.57l2.87,0.23l4.31,0.51l2.77,1.23l1.27,-0.08l1.2,-0.35l0.66,-0.54l-0.17,-0.69l-1.96,-0.46l0.08,-0.64l3.4,-0.97l3.9,-0.23l0.29,-0.65l-1.05,-0.98l-8.54,1.25l-2.16,-0.82l-1.92,-0.02l-1.28,0.51l-3.32,0.42l0.48,-1.11l2.15,-2.94l0.74,-0.46l5.1,-1.38l2.53,-1.63l3.76,-0.26l3.04,0.43l1.55,2.02l5.55,3.15l0.45,-0.02l-0.16,-1.34l-3.67,-3.44l-1.39,-0.85l-0.91,-1.47l0.3,-1.32l0.99,-0.9l4.06,-0.56l0.95,-0.71l0.22,-1.35l-0.74,-1.02l-2.79,-0.46l-0.24,-0.78l0.35,-0.54l2.3,-1.35l3.43,-0.91l3.72,1.05l-0.85,1.42l0.03,1.1l0.36,0.34l0.97,0.09l2.5,-2.4l2.53,-0.31l2.2,-0.78l1.72,2.01l1.34,0.96l0.53,1.63l0.88,0.37l1.1,-0.94l3.3,-0.73l3.35,0.47l2.32,-0.3l0.39,-0.56l-1.06,-1.99l0.54,-1.1l2.88,-1.45l2.34,-0.5l3.37,-1.82l0.2,-0.52l-0.89,-1.59l-1.46,-0.24l3.35,-1.94l0.12,-0.61l-0.57,-0.59l-1.9,-0.53l-3.2,1.34l-2.23,1.48l0.02,0.68l1.46,1.29l-1.23,1.3l-7.99,4.24l-3.74,1.22l-1.44,-0.16l-2.06,-3.63l-0.37,-0.22l-2.26,0.2l0.56,-1.66l1.17,-1.4l2.19,-1.22l1.06,-1.46l0.91,-2.09l3.05,-2.1l4.41,-5.13l3.56,-1.63l1.42,-1.85l2.14,-0.82l1.74,-1.35l1.46,-0.17l2.61,-1.28l1.59,-1.61l-0.25,-0.68l-0.97,-0.1l-3.2,1.24l0.63,-2.53l1.77,-1.44l8.82,-4.35l2.09,1.98l2.74,-0.3l3.33,-2.63l2.45,-2.81l0.03,-0.49l-0.47,-0.15l-1.3,0.48l-4.18,2.7l-1.12,0.22l-0.44,-0.12l-0.57,-1.09l-0.96,-0.34l-0.9,0.17l-0.6,-0.51l-0.14,-1.58l1.98,-4.43l4.76,-5.24l0.87,-2.16l1.51,-0.99l2.11,0.24l0.9,-0.37l0.18,-0.55l-0.77,-1.41l-2.49,-1.33l7.75,-1.75l3.85,0.06l1.35,-0.96l2.16,-0.63l1.61,-1.13l-0.02,-0.67l-1.14,-0.54l-6.37,1.52l-4.78,0.46l-0.62,-4.09l0.41,-2.05l0.84,0.04l0.41,-0.35l0.25,-2.21l1.17,-1.2l1.9,-0.35l2.23,-1.72l2.18,0.26l2.33,-0.27l0.24,-0.68l-0.58,-0.57l-2.9,-0.8l-0.45,-0.8l1.71,-0.96l1.18,-0.24l2.91,-3.35l1.39,0.1l1.69,-1.01l1.64,0.34l4.23,-1.18l8.65,-0.18l0.38,-0.3l0.26,-1.02l-0.34,-0.5l-8.31,-0.5l-4.78,0.14l4.07,-4.74l2.62,-1.62l1.91,0.39l2.4,1.68l1.53,0.19l0.6,0.42l1.45,2.41l0.56,0.07l0.45,-0.44l-0.23,-2.02l1.45,-1.66l0.01,-0.52l-0.82,-0.63l-2.24,0.61l-1.61,-0.6l-1.3,-1.22l-0.31,-0.94l1.52,-1.58l0.08,-0.57l-0.57,-0.72l-0.5,-0.1l-3.51,1.89l-2.88,0.28l0.42,-1.34l-0.25,-1.37l3.16,-3.18l0.98,-0.33l1.73,0.25l1.89,0.97l3.07,-0.68l0.26,-0.47l-0.56,-1.23l-3.25,-0.35l-0.56,-0.49l0.13,-0.32l2.23,-0.78l2.23,-1.39l2.56,-0.4l2.05,-1.03l0.41,0.39l0.79,4.05l1.9,3.28l0.98,0.31l0.45,-0.5l-0.68,-2.59l1.33,-1.19l0.41,-0.88l-0.28,-0.53l-0.85,-0.21l-0.68,-0.84l-1.07,-2.98l0.28,-0.58l2.33,-1.59l2.94,-0.37l3.25,1.17l1.3,0.04l8.52,-1.9l0.25,-0.5l-0.23,-0.56l-2.0,-0.82l-3.16,0.52l-8.21,-0.17l-0.57,-0.4l-0.1,-0.67l0.77,-1.23l0.88,-0.71l3.04,-1.36l3.48,-0.26l3.52,-2.5l1.5,-2.11l0.74,-2.81l2.0,-2.19l5.55,-1.56l0.2,-0.9l-0.53,-1.14l0.04,-2.02l1.39,-2.44l0.86,-0.79l1.14,0.66l1.52,1.87l2.21,1.03l3.04,0.21l1.02,-0.57l-0.05,-0.7l-2.21,-1.01l-1.53,-1.21l-0.1,-0.98l0.53,-0.47l2.73,-0.08l1.64,-0.97l0.77,-2.5l2.01,-1.97l6.3,-1.3l0.22,0.25l-0.34,3.86l-0.77,2.7l0.02,1.91l0.29,0.38l0.45,-0.16l1.34,-2.01l1.72,-5.22l1.26,-2.39l1.36,-1.31l3.1,-1.38l0.59,1.45l-0.72,4.51l0.06,1.44l-0.77,1.82l-3.14,4.28l0.08,0.89l0.5,0.28l2.12,-1.02l3.78,-3.96l3.22,0.49l0.46,-0.35l-0.06,-0.66l-2.39,-2.32l-0.35,-1.26l0.17,-3.66l0.84,-1.24l4.41,-0.04l0.96,0.67l1.78,-0.05l0.35,-0.24l1.13,-2.54l2.03,-0.2l2.09,1.77l2.52,1.2l2.02,1.73l0.51,0.0l0.58,-0.48l0.13,-0.41l-1.11,-4.11l-1.29,-1.65l-2.78,-0.9l-2.72,-1.79l-0.53,-0.8l2.15,-0.51l3.46,0.62l2.73,-1.45l0.94,0.35l2.03,-0.73l1.6,1.01l1.09,-0.57l0.42,-1.26l3.24,-0.82l2.1,0.78l1.07,0.76l1.38,4.8l1.87,1.95l1.31,0.98l1.7,0.08l0.63,-0.88l-0.06,-0.53l-1.14,-0.99l-0.26,-0.79l0.54,-2.31l0.62,-0.89l3.76,-3.66l3.08,-1.86l2.11,-0.31l3.32,-4.31l0.84,-0.7l0.78,-0.16l0.31,-0.47l-0.22,-1.07l-1.84,-0.88l-0.04,-0.83l2.28,-1.52l2.84,-2.62l1.15,-0.15l0.87,0.7l2.81,1.2l3.03,2.11l1.09,-0.1l1.51,-1.52l1.59,0.24l2.48,1.05l0.09,0.44l-1.4,0.88l-5.34,5.55l-0.92,1.62l-0.88,4.07l-2.09,2.72l-0.04,2.12l1.23,0.95l2.43,-0.75l2.81,-2.41l0.8,-2.66l6.95,-6.9l3.3,-3.87l3.66,-3.14l1.68,-0.53l0.78,1.68l-0.73,2.55l-1.53,1.7l0.07,0.6l0.98,0.67l-0.8,4.29l0.01,1.07l0.5,0.38l5.56,-2.51l2.31,-4.33l0.49,-1.52l1.51,-1.3l3.07,-0.01l0.39,-0.32l-0.08,-1.02l-3.77,-1.98l-0.27,-0.54l4.51,-3.24l1.64,0.23l1.19,0.54l4.36,0.4l3.1,1.53l-0.11,2.24l-0.67,0.96l-0.67,0.6l-4.3,1.96l-0.87,1.1ZM756.8,33.48l-2.19,0.6l-0.05,-0.09l1.06,-2.35l0.65,0.05l1.44,1.11l-0.91,0.68ZM694.5,3.24l3.24,-1.93l3.48,0.91l1.18,-0.0l1.68,1.66l0.73,0.04l-0.05,0.28l-1.54,0.43l-3.26,0.51l-2.15,-0.15l-1.48,-1.46l-1.85,-0.29ZM676.11,14.77l-2.24,0.85l-1.26,-0.71l-0.51,-0.7l-0.08,-1.73l0.28,-0.94l0.87,-0.43l3.59,2.07l-0.64,1.59ZM670.58,15.65l0.31,1.83l-1.11,1.19l-2.87,1.76l-0.12,0.61l-0.64,0.29l-1.35,0.3l-0.41,-0.17l0.09,-1.24l-0.29,-0.67l-0.54,-0.17l-0.94,0.5l-0.82,-0.53l0.24,-1.01l0.99,-0.93l1.66,-0.64l1.41,0.18l3.74,-2.54l0.64,1.25ZM668.13,9.06l-0.57,1.15l-4.23,3.85l-1.79,0.48l-1.29,0.76l-2.24,-0.41l-1.54,1.06l-2.45,0.03l-2.48,-1.12l-1.76,-1.58l2.44,-0.24l1.51,0.21l1.19,-1.09l1.94,0.11l3.8,-0.75l1.7,0.33l3.15,-2.48l1.07,0.02l1.3,-0.61l0.25,0.27ZM632.13,26.52l-1.42,0.6l-1.43,-0.54l-0.88,0.07l-0.57,-0.73l0.06,-0.58l0.93,-1.0l2.01,-0.61l1.59,0.25l-0.3,2.55ZM618.46,23.91l0.85,0.4l1.16,0.04l1.08,1.22l1.16,0.66l-0.83,0.46l-2.68,-0.01l-0.82,-1.9l-1.32,-1.37l-0.11,-0.62l0.52,-0.08l0.99,1.21ZM611.42,27.32l1.31,1.58l1.41,0.0l0.98,-0.71l1.05,0.5l-0.13,0.73l-2.0,1.5l-1.38,2.01l-1.62,0.43l-1.14,-0.16l-1.71,1.26l-2.75,2.91l-0.3,1.36l-6.62,1.0l-1.74,-0.48l-0.67,-0.77l1.82,-0.35l0.35,-0.37l0.05,-0.86l1.11,-0.95l0.41,-1.1l0.5,-0.21l1.67,0.18l1.11,-0.91l0.51,0.57l0.68,-0.15l0.32,-1.04l-0.18,-1.5l1.77,-1.6l0.83,-1.23l0.97,-0.66l0.97,0.11l0.43,-0.29l0.32,-1.16l-0.2,-1.95l0.85,-1.63l0.54,-0.04l0.39,1.32l0.08,2.68ZM588.18,39.31l1.24,1.04l2.37,-0.47l1.73,1.23l1.09,0.15l0.79,2.15l-0.6,0.87l-1.19,0.73l-0.29,1.48l0.32,1.44l-4.59,0.78l-0.96,-0.77l-0.48,-0.01l-2.23,1.59l-2.19,2.45l-0.49,0.13l-0.3,-0.65l-1.59,-0.54l-1.71,-0.05l2.13,-1.1l0.35,-1.26l-0.3,-2.33l0.35,-1.67l0.84,-0.67l3.6,0.4l0.4,-0.21l0.46,-0.84l-0.29,-0.91l-1.77,-0.93l1.26,-0.6l1.26,-0.07l0.78,-1.35ZM564.03,63.2l0.26,0.57l0.6,-0.03l1.78,-2.18l1.94,-0.67l1.19,-1.96l-0.08,-1.16l0.3,-0.74l1.54,-0.58l0.51,-0.13l1.1,0.7l1.51,2.7l-0.32,1.68l-2.27,1.42l-2.05,0.76l-1.97,1.76l-0.98,1.4l-0.62,0.23l-0.99,-0.45l-1.0,-0.0l-1.33,1.3l-3.11,0.95l-0.9,-0.2l-0.04,-0.94l-0.45,-0.38l-0.78,0.1l-1.44,1.55l-1.76,0.57l-1.75,-0.49l-3.97,2.48l-3.63,0.45l-0.87,-0.2l-0.0,-1.04l4.21,-3.17l6.82,-0.95l4.52,-4.21l1.14,-4.61l0.98,-1.56l-0.46,-1.31l-1.13,-0.33l-0.05,-0.99l0.54,-1.38l3.49,-3.01l2.0,-2.51l0.83,-0.49l0.9,0.0l0.78,0.48l-0.15,1.02l-1.58,2.35l-2.55,2.45l0.3,1.51l0.99,1.32l0.28,3.88l-1.79,2.64l-0.46,1.42ZM556.54,54.46l2.5,3.67l-0.58,2.34l-1.51,1.17l-4.24,0.12l-0.93,-0.51l-0.38,-0.83l-0.68,-0.21l-2.02,0.91l-1.06,0.11l-1.33,-0.6l-0.27,-0.72l2.17,-2.25l1.51,0.08l1.57,0.56l0.44,-0.22l0.64,-1.34l0.13,-1.3l1.99,0.41l0.48,-0.39l0.0,-2.2l0.64,-0.04l0.9,1.25ZM538.67,70.65l0.96,0.42l1.95,-0.11l-0.84,0.76l-1.83,0.42l-1.5,1.47l-2.63,0.27l-1.11,0.86l-0.71,-0.54l-0.6,0.13l-0.45,1.35l-1.52,0.4l-0.29,-1.54l1.17,-1.47l1.83,-0.2l1.4,-1.9l1.86,-0.52l2.31,0.17ZM526.33,79.08l-1.04,0.64l1.42,-3.36l1.2,-1.04l0.24,0.17l-0.26,1.89l-1.56,1.71ZM520.21,124.0l-0.58,0.03l0.0,-0.36l1.34,-1.14l2.38,-0.19l-3.14,1.65ZM519.02,120.83l-0.67,0.08l1.06,-1.26l0.6,-1.36l0.56,-0.36l0.86,0.5l0.02,0.92l-0.5,0.9l-1.93,0.59ZM512.64,130.29l-0.68,0.52l-1.32,-0.35l0.37,-0.91l0.78,-0.38l1.19,0.26l-0.35,0.85ZM502.61,147.16l-0.44,0.38l-1.54,-0.44l-3.0,0.37l-0.68,-0.32l0.6,-0.7l2.65,-1.15l1.27,0.05l1.27,1.24l-0.12,0.58ZM465.49,173.05l-1.51,-0.0l4.89,-1.52l0.48,-0.61l0.39,0.44l-0.14,0.94l-4.11,0.75ZM460.35,180.13l-2.56,-0.29l-0.84,-0.71l3.06,-1.01l0.58,0.58l0.05,1.08l-0.3,0.36ZM418.13,241.28l1.08,2.55l0.03,1.89l-0.6,-0.09l-0.57,-1.19l-0.17,-2.75l0.22,-0.42ZM417.53,227.52l-1.35,0.07l0.25,-1.42l0.69,-0.25l0.54,0.73l-0.13,0.88ZM229.04,8.0l-1.2,-0.01l1.39,-1.16l5.98,-2.82l2.44,-2.71l4.12,-0.83l0.21,1.05l-0.27,1.57l-3.83,1.4l-4.49,1.0l-4.36,2.51Z\",\\n      \"name\": \"Norway\"\\n    },\\n    \"LI\": {\\n      \"path\": \"M479.66,489.8l0.02,-1.42l0.15,-0.43l0.74,1.46l-0.19,0.45l-0.72,-0.06Z\",\\n      \"name\": \"Liechtenstein\"\\n    },\\n    \"LV\": {\\n      \"path\": \"M693.81,289.47l3.55,1.99l1.99,0.57l1.08,0.9l2.53,0.56l0.49,0.96l3.62,3.6l2.41,1.22l1.17,0.26l5.65,-1.51l2.97,1.36l4.19,0.48l0.5,1.6l3.78,2.51l0.01,1.64l-0.9,1.1l-0.62,1.56l-0.11,1.55l-0.95,2.51l0.51,0.58l2.08,-0.43l0.37,0.17l0.31,0.4l0.24,1.72l1.27,1.73l0.34,1.03l1.18,0.95l1.31,5.24l-0.59,1.84l-1.52,0.28l-1.91,1.15l-3.42,3.12l-0.81,2.06l-7.03,-0.58l-1.55,0.46l-1.71,1.91l-2.96,0.71l-2.36,-0.64l-1.52,-0.83l-2.67,-2.8l-5.8,-4.02l-1.15,-0.52l-6.83,-1.31l-1.59,-2.24l-0.54,-1.35l-1.1,-0.49l-2.14,0.57l-3.02,1.85l-4.67,0.37l-4.2,-1.24l-8.35,-0.73l-1.97,0.8l-1.07,-1.05l-1.26,-0.31l-1.54,0.36l-2.45,0.04l-6.91,-0.6l-5.95,1.81l-7.73,4.37l-0.35,-2.96l0.22,-7.21l0.51,-3.44l2.41,-2.01l1.33,-1.71l0.8,-2.32l0.72,-3.67l3.52,-4.67l2.8,-0.51l7.98,-2.39l1.23,2.38l6.53,5.21l2.21,4.68l4.89,2.3l4.09,-0.69l4.9,-3.24l1.55,-1.77l0.29,-1.57l-0.55,-6.25l-0.82,-2.71l0.2,-1.21l10.32,-3.79l1.64,1.26l0.73,-0.15l0.24,-0.81Z\",\\n      \"name\": \"Latvia\"\\n    },\\n    \"LT\": {\\n      \"path\": \"M639.02,342.33l-0.39,-1.13l0.47,-2.2l-2.37,-6.79l-0.19,-4.61l7.95,-4.51l5.74,-1.75l6.79,0.61l2.53,-0.04l1.39,-0.36l1.04,0.26l1.27,1.12l1.22,-0.19l0.91,-0.62l8.2,0.71l4.28,1.25l4.86,-0.4l3.12,-1.88l1.75,-0.52l0.54,0.16l0.53,1.3l1.95,2.56l6.96,1.34l0.97,0.45l5.67,3.93l2.72,2.84l1.7,0.92l2.31,0.66l-0.34,1.84l-1.48,3.87l0.12,0.41l0.75,0.57l3.29,0.4l-1.48,1.08l-0.6,1.26l-4.13,-0.12l-0.74,0.49l-0.95,2.16l-0.97,0.67l-1.73,0.29l-1.62,0.68l-1.11,1.7l-0.79,2.17l0.04,2.82l-1.39,1.93l-1.03,2.49l0.51,0.92l1.76,0.29l0.48,0.48l0.08,1.37l-2.03,0.25l-0.64,-0.28l0.32,-0.85l-0.29,-0.93l-0.72,-0.7l-0.47,-0.03l-1.13,0.71l-1.24,0.04l-1.41,0.69l-1.0,1.14l-0.71,0.33l-2.58,-0.13l-0.73,0.71l-0.6,2.36l-1.96,-0.05l-3.92,1.55l-1.77,-1.04l-4.31,0.27l-1.89,0.43l-3.01,-0.41l0.02,-2.29l-0.39,-1.31l-1.24,-1.24l-2.8,-1.58l-1.61,-0.43l-0.45,-0.8l-1.72,-0.82l-1.06,-0.13l-0.74,0.5l-0.85,-1.99l0.06,-1.19l1.96,-5.08l-0.06,-0.83l-1.32,-1.32l-1.45,-0.78l-1.11,-1.78l-6.66,-0.08l-2.63,-0.68l-4.3,-1.77l-2.12,-1.44l-2.03,0.1Z\",\\n      \"name\": \"Lithuania\"\\n    },\\n    \"LU\": {\\n      \"path\": \"M433.15,437.03l-0.02,1.54l0.46,1.19l0.9,1.05l1.71,1.44l2.06,0.7l-0.04,1.05l-1.43,1.94l-0.47,2.14l-1.81,-0.59l-2.33,0.93l-2.45,-1.16l1.0,-2.17l-2.04,-2.82l0.23,-1.64l1.61,-2.82l1.29,-1.3l1.16,0.19l0.17,0.33Z\",\\n      \"name\": \"Luxembourg\"\\n    },\\n    \"FO\": {\\n      \"path\": \"M263.24,203.53l-0.39,0.92l-0.69,-0.21l-0.02,-1.73l1.1,1.03ZM260.24,213.24l-2.12,-1.39l-0.34,-0.59l2.22,0.79l0.37,0.54l-0.11,0.65ZM259.07,209.25l-3.26,-2.64l-1.87,-3.49l2.24,-0.5l4.06,1.71l-0.25,2.13l-1.84,-0.94l-0.67,0.61l-0.01,0.73l1.6,2.38ZM257.22,217.52l1.57,0.48l0.55,2.18l-1.8,-1.85l-0.31,-0.8ZM252.95,206.27l1.28,0.96l-1.0,0.36l-0.92,-0.12l-1.48,-0.53l-0.27,-0.64l1.89,-0.23l0.51,0.19Z\",\\n      \"name\": \"Faeroe Is.\"\\n    },\\n    \"PL\": {\\n      \"path\": \"M543.65,368.02l2.24,0.2l4.48,-1.73l7.75,-2.26l8.26,-2.12l3.9,-0.68l5.16,-4.95l4.31,-0.78l5.16,-2.51l7.82,-1.63l3.25,-0.36l3.12,-0.04l2.21,1.0l-0.57,-0.04l-0.39,0.57l2.05,4.35l1.16,1.6l2.4,1.27l2.0,0.42l5.97,-0.69l2.69,-1.31l8.11,0.66l26.59,1.14l7.65,0.18l1.4,-0.84l1.75,0.49l1.01,1.2l3.12,1.15l2.17,1.68l0.33,1.05l-0.04,2.27l1.64,6.67l2.6,6.11l1.31,4.41l0.39,3.77l-0.18,1.9l-0.61,0.58l-4.89,2.03l-1.01,0.69l-2.89,3.33l-0.47,1.1l0.51,0.99l3.51,1.58l1.85,1.18l0.6,0.91l-0.02,1.06l-0.57,1.63l0.2,1.32l-1.03,1.7l-0.08,2.01l1.61,3.05l0.13,2.59l2.67,3.26l1.68,3.35l1.47,1.21l-1.11,0.52l-0.48,0.6l1.52,3.27l-0.05,1.28l-1.46,1.98l-3.57,0.67l-4.09,3.59l-5.08,4.9l-5.28,6.4l1.06,4.51l-0.36,2.22l1.95,1.75l-0.24,0.41l-2.87,-0.93l-1.5,-0.09l-5.93,-2.17l-0.67,-1.45l-1.17,-0.92l-3.61,-1.28l-3.95,-0.3l-3.67,0.18l-1.34,1.47l-1.49,0.35l-1.84,-0.96l-1.53,-0.38l-3.52,0.1l-3.01,1.33l-0.84,0.92l-0.53,1.22l-1.56,-0.57l-1.82,0.42l0.34,-0.9l-0.2,-1.86l-0.8,-0.59l-1.18,-0.23l-2.68,-3.4l-0.49,0.01l-2.67,1.6l-1.25,1.8l-1.91,0.05l-0.36,-1.5l-1.45,-0.45l-0.45,-1.77l-2.8,-2.47l-0.57,-2.25l-0.76,-0.46l-2.28,-0.49l-0.66,0.22l-3.69,-2.09l-0.89,0.68l-1.68,0.28l-1.96,-2.02l-0.78,-0.32l-0.18,-0.17l1.22,-0.48l0.56,-0.84l-0.17,-1.46l-0.42,-0.42l-2.29,0.71l-1.7,0.16l-3.57,-2.18l-3.74,-0.88l-0.39,0.17l-0.17,0.62l1.62,2.71l-1.84,0.82l-1.61,1.27l-0.79,0.19l-3.93,-4.52l-1.56,-0.77l0.71,-0.74l1.08,-0.38l0.91,-1.37l-0.16,-0.72l-1.84,-1.31l-3.84,0.66l-0.82,-0.97l-2.85,-1.21l-5.03,-1.25l-0.92,-1.11l-0.5,-1.57l-3.64,-1.01l-0.61,0.61l0.01,1.78l-1.35,0.36l1.83,-3.66l0.72,-3.12l-1.56,-3.9l-2.48,-1.15l0.28,-1.67l-1.8,-3.51l0.94,-1.3l1.05,-3.2l-0.68,-0.86l0.02,-1.7l-0.35,-0.77l-0.98,-0.65l-0.68,-1.21l0.8,-3.27l-1.53,-2.24l-3.5,-2.48l-1.54,-1.59l0.1,-0.7l0.63,-0.77l1.41,-0.89l1.02,-1.45l0.65,-1.93l0.03,-1.7l-1.56,-5.02l-0.4,-2.5l3.71,1.43l0.56,-0.46l-0.4,-1.21l0.07,-2.13l-0.31,-0.36l-4.44,-0.86l-0.11,-0.47ZM603.71,353.39l0.66,0.35l-0.21,-0.08l-0.46,-0.27Z\",\\n      \"name\": \"Poland\"\\n    },\\n    \"XK\": {\\n      \"path\": \"M623.28,565.63l0.23,-1.37l-0.65,-1.57l1.63,0.09l0.64,-0.79l3.48,-1.07l0.27,-0.76l-0.2,-0.76l1.93,-1.27l0.5,-0.84l0.09,-0.77l-0.53,-1.12l1.95,-0.93l0.57,1.38l2.88,1.35l2.09,2.07l0.37,0.86l2.01,1.19l-0.14,1.07l0.28,0.43l4.62,1.2l-1.88,4.12l-1.1,0.72l-0.15,0.66l0.36,0.88l-1.97,0.42l-0.92,0.69l-0.55,1.2l-1.4,-1.12l-1.41,-0.04l-3.96,1.67l-0.59,1.07l-0.11,1.91l-0.39,0.51l-1.14,-0.15l0.02,-2.13l-1.26,-3.53l-1.98,-1.52l-1.41,-0.49l-2.18,-3.23Z\",\\n      \"name\": \"Kosovo\"\\n    },\\n    \"CH\": {\\n      \"path\": \"M474.98,480.14l0.93,1.21l2.74,1.45l1.43,0.09l0.68,0.53l-1.86,4.76l-0.08,1.49l0.52,0.93l1.74,0.08l2.81,0.78l0.54,1.22l3.54,1.51l1.02,-0.27l2.12,-1.93l0.51,0.2l0.41,1.32l-0.75,3.44l0.56,0.97l-0.02,0.65l-1.65,-0.23l-1.29,-0.99l-1.55,0.38l-0.6,1.17l-0.22,1.86l0.55,0.63l0.74,2.52l-0.69,0.02l-1.59,-2.16l-0.91,-0.09l-3.3,1.21l-1.21,-0.13l-0.52,-0.58l-0.68,-2.14l-0.42,-0.32l-1.84,-0.17l-0.8,0.69l-0.12,3.09l-3.34,4.57l-0.07,0.81l0.58,1.67l-0.72,0.36l-0.75,-1.36l-1.21,-1.09l0.49,-0.82l-0.08,-0.63l-2.59,-0.79l-2.33,-2.15l-0.24,-3.0l-0.6,-0.57l-0.93,0.09l-1.91,1.79l-1.9,1.26l-0.23,0.68l0.55,1.27l-1.71,2.33l-2.51,1.44l-3.3,-0.92l-3.01,1.12l-2.56,0.51l-0.83,-0.33l-1.26,-1.8l-2.35,-2.36l0.54,-1.67l-0.64,-1.73l0.1,-0.55l-0.58,-0.62l-2.44,-0.37l-2.11,0.11l-1.59,0.66l-1.5,1.42l0.49,1.3l-0.73,0.74l-1.4,0.72l-1.06,0.03l-0.01,-0.52l1.69,-1.25l0.38,-1.74l-0.82,-1.03l1.23,-2.71l3.31,-2.41l0.66,-3.3l2.81,-1.32l3.99,-4.25l0.72,-1.16l-0.34,-0.8l-0.94,-0.37l0.69,-0.76l1.01,-0.54l0.9,-0.01l0.97,0.98l2.09,-0.03l1.04,-0.38l1.17,-1.66l1.37,-0.65l1.08,0.36l3.11,0.1l2.31,-0.21l1.45,-0.53l3.48,0.18l1.83,-0.89l0.01,-0.53l-0.38,-0.39l-1.8,-0.11l0.3,-0.51l1.54,-0.64l2.09,1.29l1.19,-0.13l0.95,0.88l3.86,-0.25Z\",\\n      \"name\": \"Switzerland\"\\n    },\\n    \"AD\": {\\n      \"path\": \"M373.44,566.17l-1.46,0.73l-1.49,0.29l-0.26,-1.45l0.13,-0.56l0.71,-0.55l2.52,0.57l0.23,0.31l-0.38,0.67Z\",\\n      \"name\": \"Andorra\"\\n    },\\n    \"EE\": {\\n      \"path\": \"M681.02,292.17l1.82,-4.13l0.34,-3.01l0.83,-0.92l-0.26,-1.25l-2.11,-0.9l-0.93,0.07l-1.54,1.86l-1.37,0.39l-1.34,-0.75l-3.16,-1.02l-0.72,-1.23l-0.33,-1.62l-1.67,-1.33l-0.63,-1.43l0.21,-0.83l1.41,-0.67l0.61,-0.79l-0.35,-0.63l-2.02,0.06l-0.86,-2.23l1.02,-1.49l-0.57,-0.94l0.62,-1.45l-0.25,-1.46l3.54,-1.43l4.03,-0.33l0.36,-0.5l-0.29,-1.14l1.37,-0.12l2.65,-1.86l2.78,0.31l3.93,-1.31l7.61,0.02l1.28,-0.85l-0.01,-1.46l3.45,0.02l9.0,1.62l2.2,0.01l2.99,1.6l1.75,0.46l4.98,0.02l7.53,0.73l1.76,-1.2l1.2,1.24l0.06,0.35l-0.81,0.25l-0.7,0.83l-0.89,0.08l-0.75,0.46l-2.01,4.63l-1.0,1.16l-1.86,-0.45l-3.15,0.26l-2.71,0.88l-1.96,1.68l-0.01,1.85l2.53,3.07l1.06,3.8l1.27,1.16l1.32,1.87l0.64,1.7l2.36,4.15l0.34,1.32l1.41,1.24l-3.15,1.13l-0.66,1.42l-1.29,1.24l-0.65,2.49l-1.76,-0.23l-3.1,-1.39l-1.03,0.03l-4.85,1.48l-0.81,-0.22l-2.13,-1.06l-3.53,-3.51l-0.79,-1.2l-2.57,-0.57l-0.91,-0.82l-2.12,-0.63l-3.1,-1.88l-0.9,-0.23l-0.43,0.19l-0.22,0.83l-1.92,-1.29l-2.69,1.15l-6.13,1.9l-1.25,0.77ZM666.97,278.74l-0.76,0.14l-2.16,-1.14l0.85,-0.76l1.89,0.49l0.18,1.27ZM647.68,284.33l1.21,-1.0l0.33,-0.88l-1.4,-2.14l1.14,-0.04l1.0,0.59l1.87,-0.79l0.73,0.23l0.47,-0.18l0.75,-1.3l2.77,-0.86l1.92,0.59l1.76,-0.47l1.78,0.29l4.32,2.36l-2.29,0.37l-1.11,1.14l-0.83,0.23l-3.35,2.53l-2.91,-0.1l-1.98,0.46l-1.39,1.11l-0.69,2.3l-0.93,1.54l-0.87,0.51l-0.69,0.06l-0.04,-0.64l2.71,-3.11l-0.23,-0.59l-1.05,-0.32l-2.99,-1.89ZM661.53,273.2l-1.11,0.89l-0.64,-0.61l-0.66,0.02l-1.35,2.09l-1.33,0.31l-0.56,-0.26l0.03,-0.74l-1.12,-2.39l-1.41,-0.64l-2.39,-0.33l4.37,-0.49l1.83,-2.15l0.62,-0.09l0.4,0.14l0.6,1.28l2.34,0.45l0.84,1.22l0.26,1.21l-0.72,0.09Z\",\\n      \"name\": \"Estonia\"\\n    },\\n    \"IS\": {\\n      \"path\": \"M31.07,119.93l0.78,-1.15l1.61,-0.28l4.07,2.06l0.46,0.86l-0.12,0.97l0.59,0.58l1.15,-0.26l1.6,0.23l1.28,-1.18l0.53,0.18l0.52,0.85l-0.08,2.47l0.67,0.18l0.77,-0.74l1.34,-0.06l0.57,-0.82l-0.3,-3.42l-5.08,-2.02l-1.59,-1.09l2.14,-0.53l3.31,0.02l0.54,-0.25l0.04,-0.67l-0.81,-0.56l-1.45,-0.29l-0.78,-0.84l-1.8,0.29l-3.49,-0.24l2.65,-1.57l2.25,0.17l2.17,-0.28l1.66,0.32l3.37,2.7l2.76,1.16l4.63,3.74l2.86,1.41l-1.29,0.67l-0.13,0.64l1.85,0.74l0.89,0.81l-0.88,3.03l-0.82,0.75l-2.59,-0.54l-0.41,0.17l0.0,0.45l0.8,1.08l1.88,0.98l0.21,1.15l1.01,-0.03l-0.8,1.9l0.1,0.7l1.67,0.26l0.95,0.72l1.35,3.36l0.72,-0.03l0.75,-2.67l0.28,-0.71l0.75,-0.57l0.78,-2.62l1.71,-1.48l1.4,-0.51l1.72,1.83l1.05,0.29l0.7,-0.3l1.38,-3.46l0.17,-2.52l-0.4,-2.63l0.22,-1.76l0.73,-0.96l0.91,-0.28l1.25,0.39l0.94,0.63l2.01,2.62l3.17,2.99l0.89,0.55l1.58,0.24l0.92,-0.75l-0.16,-4.45l0.82,-1.73l2.45,-0.49l2.78,-1.42l1.76,-0.48l1.69,0.98l3.36,3.79l2.41,1.8l1.51,3.25l0.57,0.25l0.7,-0.5l0.28,-0.64l0.06,-1.56l-2.91,-5.85l0.12,-0.95l4.9,0.32l1.06,0.59l2.5,2.56l1.27,0.86l2.2,-1.44l3.52,-3.91l0.88,0.12l1.88,1.21l1.36,0.43l1.36,-0.19l3.5,-1.42l1.05,-2.16l-1.46,-3.81l0.41,-0.5l3.14,-0.9l2.77,-0.07l4.05,3.55l0.28,1.79l2.4,1.38l1.69,0.07l2.54,-0.77l3.73,-2.29l1.42,-0.45l1.92,0.1l-1.26,0.29l-1.68,1.06l-2.97,3.92l0.2,0.85l1.53,0.97l1.58,0.53l1.58,-0.44l0.86,0.67l0.33,1.12l-0.24,1.28l-1.95,2.46l0.08,0.82l1.38,0.42l4.66,-0.73l0.73,2.3l-1.88,1.76l-0.05,0.52l0.51,0.13l2.27,-1.14l1.71,-0.31l3.01,0.56l1.14,0.59l0.7,1.09l0.47,0.16l1.26,-0.35l0.48,0.46l0.02,0.45l-0.66,1.81l-1.5,0.63l-0.34,0.8l1.16,1.48l1.0,0.19l-0.24,0.7l-1.16,0.7l0.08,0.68l2.27,1.05l0.19,0.64l-0.48,1.12l-0.53,0.32l-1.6,0.06l-1.19,0.49l-0.2,0.53l0.29,1.51l-0.28,1.02l-1.26,1.62l-1.18,0.86l-1.1,0.53l-2.03,-0.19l-1.14,-0.44l-0.54,0.41l0.11,1.26l-1.04,0.78l-0.14,0.44l0.6,1.18l-0.67,1.57l-0.9,0.98l-3.26,1.43l-1.83,1.28l-1.16,0.47l-3.2,-0.01l-3.29,0.86l-4.61,1.78l-3.14,1.45l-5.52,4.21l-2.25,1.06l-3.96,0.53l-11.96,2.76l-1.63,1.96l-0.06,0.36l0.49,0.61l-0.73,0.94l-1.63,0.77l-2.27,-0.71l-0.55,0.49l0.36,0.92l-5.26,1.22l-8.0,-0.75l-7.17,-2.03l-5.63,-0.41l-3.77,-2.65l0.22,-0.77l1.52,-0.44l-0.0,-0.49l-0.69,-0.87l-0.47,-0.12l-2.39,1.47l-0.55,-0.03l-0.77,-0.45l-0.38,-0.76l-1.96,-0.22l-3.31,-1.72l0.52,-0.39l0.0,-0.65l-0.33,-0.19l-2.03,0.09l-2.76,1.66l-16.08,0.58l-1.0,-3.65l0.36,-0.95l1.51,1.48l0.97,0.46l6.2,-1.75l2.75,-2.48l1.93,-3.05l1.4,-0.87l1.88,-0.27l0.34,-0.36l-0.28,-0.41l-1.27,-0.41l-1.34,-0.02l-4.72,1.83l1.48,-0.95l0.18,-0.44l-1.34,-0.54l-0.03,-0.6l0.62,-1.17l3.21,-1.73l1.31,-0.36l0.35,-0.36l-0.06,-0.61l-1.56,-0.48l-3.34,1.84l-2.33,0.61l-1.77,-0.77l-0.77,-0.91l1.13,-1.61l-0.17,-0.76l-3.1,-1.61l-3.64,0.07l-8.59,-0.77l-6.31,1.85l-1.28,-0.73l-1.11,-1.62l0.13,-0.38l1.65,-0.52l2.39,0.23l5.12,-0.99l1.5,-0.94l1.31,0.76l2.88,-0.83l1.42,-0.89l2.48,0.42l1.48,-0.31l8.37,-0.29l1.38,-1.45l0.5,-1.5l-0.27,-0.67l-0.47,-0.14l-3.45,1.35l-4.68,-0.73l-1.02,-0.57l2.26,-1.62l5.53,-2.4l0.77,-0.48l0.26,-0.86l-0.23,-0.42l-2.19,-1.02l-4.15,0.23l-1.15,-1.19l-3.44,-0.72l-2.3,0.42l-1.42,-0.69l-2.96,1.01l-6.52,1.47l-3.87,1.32l-4.32,-1.72l-3.0,-0.29l1.48,-1.5l1.08,-0.26l1.12,0.14l2.43,1.18l1.66,0.37l0.45,-0.21l-0.1,-0.48l-1.92,-1.6l-0.12,-1.55l-1.18,-1.48l2.13,0.26l4.18,1.93l1.95,-0.34l2.6,-1.25l0.09,-0.71l-0.41,-0.27l-3.61,-0.1l-1.73,-0.37l-1.39,-1.18l0.81,-0.36l2.86,0.1l0.39,-0.25l-0.11,-0.45l-3.27,-2.81l0.21,-0.7l3.27,0.93l1.13,-0.2l-0.78,-1.08l-1.26,-0.79Z\",\\n      \"name\": \"Iceland\"\\n    },\\n    \"AL\": {\\n      \"path\": \"M613.48,601.01l0.69,0.32l0.52,-0.18l0.25,-0.48l-0.24,-1.33l-1.36,-2.98l1.67,-4.38l-0.07,-2.75l0.32,-2.07l-0.52,-3.06l0.7,-2.05l1.07,-1.3l0.08,-2.58l-1.64,-1.44l-1.53,-0.24l0.23,-2.82l0.99,0.15l0.61,-0.73l-1.54,-3.11l4.15,-5.4l0.14,1.73l0.81,0.95l1.33,-0.11l2.5,-1.0l2.2,3.21l2.39,1.18l1.42,1.53l0.69,2.49l0.08,1.45l-1.02,3.38l0.14,2.01l-0.9,1.2l0.57,2.04l-0.01,2.05l1.13,2.44l1.16,1.07l0.79,2.19l0.74,0.47l2.32,-0.02l0.26,0.54l-0.07,1.35l0.98,2.21l-0.97,1.82l-2.03,0.9l-1.22,2.51l-0.81,2.73l-0.5,0.4l-2.66,0.53l-1.35,1.13l-0.18,0.98l0.92,1.95l-0.95,0.1l-0.49,1.55l-0.64,0.55l-2.31,-0.88l-0.5,-2.34l-1.56,-2.8l-5.09,-2.79l-1.09,-1.11l-0.61,-1.18Z\",\\n      \"name\": \"Albania\"\\n    },\\n    \"IT\": {\\n      \"path\": \"M460.72,503.99l1.78,-1.15l1.8,-1.71l0.38,-0.01l0.0,2.36l0.39,0.92l2.52,2.32l2.27,0.58l-0.51,0.85l0.07,0.5l1.37,1.23l0.36,1.05l1.03,0.61l0.95,-0.27l0.54,-0.68l-0.54,-2.47l3.32,-4.52l0.17,-3.17l0.27,-0.16l1.28,0.23l0.67,1.99l0.92,0.97l1.6,0.19l2.15,-0.87l1.7,-0.27l1.26,1.94l0.98,0.35l0.84,-0.3l0.31,-0.66l-0.49,-1.87l-0.93,-1.88l0.56,-1.7l1.03,-0.25l1.08,0.92l1.23,0.3l1.4,-0.33l0.12,-1.32l-0.53,-0.86l0.59,-2.76l2.77,0.16l0.85,0.81l1.18,0.42l2.32,-0.03l0.73,-0.56l1.38,-2.24l1.33,-0.6l3.78,-0.37l3.34,0.19l5.15,-1.58l-0.68,0.99l0.28,1.2l3.4,4.2l1.31,0.54l9.36,1.7l4.38,0.3l2.39,0.51l-0.11,0.38l-3.72,2.46l-0.42,1.14l0.72,1.28l1.07,-0.01l1.62,0.59l-1.85,1.75l-0.19,0.73l0.54,0.98l1.22,0.01l-0.54,1.93l0.36,0.78l-1.48,0.98l-3.63,-0.93l-2.36,2.24l-1.64,0.43l-2.0,1.15l-3.31,1.29l0.8,-1.08l-1.15,-0.24l-1.93,0.95l-1.23,1.0l-0.67,3.49l0.91,0.9l1.39,2.73l1.66,1.19l-0.66,1.62l-0.77,0.57l-0.89,-0.5l-0.92,0.33l-0.41,1.84l0.76,5.04l1.33,3.62l1.28,1.54l2.77,2.32l2.99,1.26l5.23,3.87l2.91,1.25l0.66,0.58l1.71,2.92l1.49,3.41l1.62,5.38l1.23,2.79l2.39,3.05l4.89,4.31l4.41,3.13l4.29,2.0l3.27,0.34l7.54,-0.42l2.4,0.6l0.24,0.98l-0.38,0.67l-3.18,2.21l-0.18,2.39l1.61,1.3l7.31,3.29l7.47,2.74l2.27,1.37l2.76,2.21l6.43,2.94l1.11,1.44l3.92,3.08l1.71,2.29l0.3,1.65l-1.72,4.11l-1.31,-0.39l-1.79,-1.26l-3.15,-5.62l-5.22,-0.55l-1.02,-0.38l-1.68,-0.84l-0.59,-1.34l-0.79,-0.46l-2.02,-0.17l-1.65,0.95l-3.66,5.33l-1.89,4.44l-0.14,1.92l1.31,2.14l3.02,0.95l2.29,1.49l1.42,1.46l0.11,3.72l0.65,2.1l-0.75,0.9l-1.95,-0.28l-2.66,0.79l-2.01,1.48l-0.94,1.69l0.2,3.43l-0.33,1.13l-3.55,2.53l-1.88,2.57l-1.09,2.11l-4.07,0.04l-0.87,-1.22l-0.03,-1.99l0.65,-1.15l1.75,-0.82l1.12,-2.85l-0.3,-2.11l0.54,-0.76l0.52,-0.55l2.91,-0.7l0.32,-0.37l0.18,-2.88l-1.43,-1.55l-1.14,-5.21l-2.28,-4.31l-1.22,-3.85l-0.99,-1.98l-1.82,-1.22l-3.79,-0.25l-4.54,-2.64l-0.17,-0.69l0.76,-1.36l-1.08,-2.88l-1.08,-1.38l-1.28,-0.67l-4.64,0.8l0.89,-1.13l-0.46,-1.01l-1.89,-0.99l-2.76,-0.23l-0.43,0.22l-0.03,-0.73l-2.55,-4.19l-1.92,-1.88l-1.09,-0.32l-1.46,0.34l-4.14,-0.9l-2.16,0.68l-0.35,-0.2l-0.31,-0.6l-2.37,-1.75l-2.99,-1.02l-5.69,-5.49l-1.76,-2.07l-3.66,-2.33l-2.37,-3.39l-1.97,-1.27l-2.74,-0.99l-2.14,0.48l0.88,-0.72l-0.33,-1.49l-3.12,-3.34l-1.85,-1.11l-1.41,-2.23l-2.37,-0.46l0.05,-3.7l-0.99,-2.76l-1.72,-2.37l-1.03,-5.63l-0.93,-1.74l-1.9,-1.2l-4.34,-1.38l-5.95,-3.6l-1.39,-0.12l-3.65,-1.41l-2.23,-0.24l-3.23,1.38l-3.52,3.49l-2.85,3.6l-0.94,0.63l-3.61,1.2l-2.78,0.5l-0.11,-1.05l2.2,-2.66l0.4,-0.9l-0.55,-1.68l-0.96,-0.28l-3.01,0.66l-0.58,-0.14l-4.66,-2.31l-0.81,-0.82l-0.26,-0.71l0.21,-0.75l-0.61,-1.26l1.42,-2.43l1.01,-0.77l-0.46,-2.18l-0.92,-0.77l-1.88,-0.41l-0.68,-0.51l-0.19,-0.83l-1.24,-2.01l0.54,-0.27l2.17,0.07l1.81,-1.29l1.33,-0.43l1.23,-2.96l-0.1,-0.39l-1.86,-1.65l-1.79,-2.85l-1.02,-0.7l-0.03,-1.21l2.63,-1.65l1.53,0.64l2.74,-0.55l2.8,-1.08l3.49,0.9l2.81,-1.61l1.89,-2.55l0.07,-0.89l-0.5,-0.93ZM518.47,542.68l-0.02,0.45l0.8,0.86l1.1,-0.35l0.42,-1.12l-0.15,-0.61l-0.45,-0.3l-1.11,0.28l-0.6,0.79ZM536.34,512.54l1.58,1.41l0.32,0.86l-0.4,0.08l0.05,-0.55l-1.56,-1.8ZM561.64,634.95l-1.42,2.54l-3.32,4.46l-1.83,5.11l0.22,2.17l1.35,1.24l-0.42,0.3l-0.08,0.57l1.5,1.71l0.07,0.48l-0.01,0.44l-2.03,1.93l-0.54,1.75l0.13,1.17l-2.54,-0.51l-1.61,0.18l-3.5,-1.28l-1.85,-2.71l-3.09,-2.07l-3.36,-0.01l-7.24,-3.82l-2.59,-2.04l-1.81,-0.46l-1.69,-1.03l-2.3,0.05l-1.38,-0.37l-1.44,-1.1l-1.12,-2.08l1.41,-3.4l1.55,-0.85l0.7,-0.8l1.23,1.47l1.07,0.59l2.12,-0.82l0.29,-0.86l1.15,-0.77l1.62,-0.02l0.59,0.12l0.56,0.87l1.47,0.38l2.51,1.57l1.64,0.37l3.58,-0.93l3.17,0.37l3.02,-0.45l1.89,-0.64l2.03,-1.27l4.49,0.21l0.95,-0.35l0.59,-0.62l1.54,-0.09l2.07,-1.12l1.04,0.08l-0.37,0.35ZM539.0,595.31l0.02,-0.06l0.31,0.09l-0.19,0.04l-0.15,-0.08ZM512.96,657.33l0.48,0.16l0.18,0.38l-0.64,-0.31l-0.02,-0.24ZM491.6,561.34l-0.16,0.88l-0.71,-0.33l-2.41,0.32l-0.12,-0.3l2.9,-0.24l0.5,-0.33ZM462.39,592.89l0.87,0.72l2.19,0.38l3.34,-1.01l1.8,-0.98l2.33,-2.52l1.52,-0.57l1.25,-1.67l0.83,0.82l0.84,0.09l1.28,0.67l1.77,2.0l-0.54,1.02l0.07,0.46l1.67,1.74l1.62,4.91l-2.19,3.79l0.86,3.95l-1.21,10.52l-0.69,2.78l-0.7,0.28l-2.83,-1.16l-1.72,0.25l-1.03,-0.57l-0.63,0.27l-0.45,3.03l-0.67,1.12l-0.99,0.69l-0.92,0.04l-1.96,-0.27l-0.55,-0.46l-2.33,-3.7l-0.25,-4.19l0.64,-1.31l0.09,-2.38l0.53,0.16l0.66,-0.55l0.1,-1.66l-0.78,-1.22l-1.15,-0.39l0.02,-1.42l0.64,-0.73l0.21,-0.85l0.02,-2.69l-0.87,-1.15l-0.82,-2.45l-2.13,-2.32l-0.11,-1.75l0.39,-1.75ZM464.42,621.63l0.71,0.35l-0.34,0.68l-0.36,-0.48l-0.02,-0.54ZM462.96,589.81l0.1,-0.19l0.15,-0.08l-0.06,0.11l-0.19,0.16Z\",\\n      \"name\": \"Italy\"\\n    },\\n    \"GG\": {\\n      \"path\": \"M315.47,448.51l0.52,-0.25l-0.15,0.36l-0.37,-0.12Z\",\\n      \"name\": \"Guernsey\"\\n    },\\n    \"CZ\": {\\n      \"path\": \"M515.02,433.92l1.19,1.02l0.6,1.08l0.65,0.07l2.33,-2.94l1.17,-0.7l2.89,-0.65l2.52,0.38l1.09,-1.49l2.02,-0.32l0.92,-1.17l1.6,-0.76l0.75,0.3l0.81,-0.32l1.06,-1.52l1.96,-0.22l2.67,-0.8l6.38,-2.46l0.37,-0.51l-0.15,-0.48l-1.0,-0.66l-0.25,-0.73l2.98,0.56l0.95,1.48l0.08,1.06l1.76,0.8l0.83,-0.18l0.54,-0.62l2.25,-0.51l0.25,-0.32l0.04,-1.87l2.95,0.83l0.28,1.28l1.19,1.4l5.17,1.32l2.81,1.22l0.78,0.97l3.93,-0.66l0.9,0.52l0.57,0.52l-0.42,0.79l-1.8,1.04l-0.5,1.04l0.46,0.7l1.33,0.49l2.02,2.0l1.45,2.2l0.85,0.53l0.79,0.04l4.42,-2.78l-0.02,-0.68l-1.44,-2.28l3.1,0.77l3.73,2.23l1.99,-0.18l1.8,-0.62l-0.09,1.16l-1.49,0.59l-0.24,0.49l0.61,0.9l0.8,0.34l2.0,2.05l0.71,0.26l1.73,-0.47l0.64,-0.55l0.67,0.66l2.73,1.37l0.83,-0.21l2.07,0.44l0.44,0.29l0.4,2.02l2.9,2.63l0.27,1.24l-2.96,0.35l-2.55,1.84l-0.7,0.94l-2.65,1.33l-0.88,1.57l-0.32,1.96l-2.18,1.02l-2.09,1.93l-1.71,0.77l-1.83,0.23l-3.9,-0.57l-0.98,0.38l-1.15,1.21l-1.28,2.46l-0.71,-1.3l-2.27,-0.52l-2.33,-1.09l-1.21,-0.03l-1.45,1.01l-3.92,-0.26l-3.07,-1.87l-1.85,0.01l-5.24,-1.97l-1.92,0.46l-1.3,-0.85l-1.15,-0.1l-0.71,0.65l-0.56,3.35l-1.36,0.07l-1.6,1.82l-0.23,1.07l-2.5,-0.4l-0.95,0.24l-0.75,0.61l-2.23,-0.04l-1.69,-0.37l-0.86,-1.54l-2.34,-1.31l-3.63,-3.34l-1.58,-0.02l-1.91,-2.37l-2.02,-1.08l-3.04,-3.02l-1.53,-0.08l-1.63,-1.37l-2.41,-3.91l-1.35,-1.5l1.34,-1.87l0.16,-1.15l-0.82,-1.15l-2.46,-1.54l-0.83,-0.87l-1.55,-3.17Z\",\\n      \"name\": \"Czech Rep.\"\\n    },\\n    \"IM\": {\\n      \"path\": \"M286.48,364.63l0.75,-2.12l1.13,-0.81l1.38,-1.97l1.16,-0.38l0.45,1.97l-0.91,1.44l-2.48,2.14l-1.47,-0.27Z\",\\n      \"name\": \"Isle of Man\"\\n    },\\n    \"GB\": {\\n      \"path\": \"M268.15,314.94l0.76,-0.51l2.22,-0.36l1.99,-1.42l-0.04,-0.68l-1.33,-0.72l1.39,-0.78l1.97,-2.75l0.47,-2.7l-1.51,-2.4l-1.71,-0.79l-0.08,-1.24l3.04,-1.75l-0.26,-0.39l-1.22,-0.45l-0.73,-1.5l0.65,-2.06l1.01,-1.76l3.3,0.06l0.77,-0.52l1.74,0.44l0.45,-0.58l-3.37,-3.5l0.78,-1.43l0.07,-1.57l4.32,-0.43l0.23,-0.54l-1.07,-2.23l0.29,-2.53l0.57,-0.77l0.99,-0.34l1.4,0.28l1.48,1.26l2.81,-1.1l1.07,1.04l3.29,-0.87l9.93,-1.18l2.64,-0.65l2.45,0.26l-0.8,1.82l-0.05,2.13l-1.24,1.58l-10.66,7.29l-0.65,2.2l0.34,0.47l1.91,0.38l-2.81,2.5l-0.76,1.94l0.39,0.55l3.69,-0.45l6.29,-2.1l1.36,-0.03l3.54,0.74l2.46,-0.39l8.29,0.22l2.29,-0.41l1.34,0.44l1.17,1.15l1.11,2.32l-3.2,4.12l-0.97,3.1l-2.28,4.57l-2.22,2.52l-2.23,3.23l-2.32,1.42l-3.73,0.67l-3.51,1.63l-0.28,0.45l0.41,0.33l1.52,-0.05l1.56,-0.45l2.59,-0.15l2.77,1.34l-0.19,0.79l-1.06,0.82l-2.98,0.24l-2.66,2.16l-2.31,0.93l-4.35,-0.66l-1.23,-0.59l-0.51,0.14l0.07,0.52l1.15,1.0l1.42,0.59l7.67,1.25l3.04,-1.42l3.05,-0.02l5.98,2.32l4.24,4.35l2.33,1.89l3.11,10.2l1.78,4.76l0.84,1.39l1.25,1.09l6.45,2.77l4.06,4.18l3.44,2.72l-0.61,0.48l-0.71,1.43l0.53,1.56l3.18,5.0l-1.41,-0.06l-2.86,-1.74l-2.54,0.37l-2.7,-0.14l-0.39,0.36l0.31,0.43l2.37,0.55l2.55,0.05l5.58,4.04l1.86,2.36l1.07,3.01l-0.66,1.22l-3.41,3.22l0.1,0.61l3.4,1.83l1.62,-0.4l2.3,-2.51l1.81,-0.17l4.73,0.34l4.27,1.16l3.61,2.48l0.73,1.26l0.39,3.6l-2.05,6.22l-2.29,2.13l-1.08,0.57l-1.18,-0.21l-0.37,0.34l0.56,2.13l-0.93,0.61l-1.03,0.28l-2.15,-0.35l-2.75,1.41l0.05,0.73l1.83,0.67l0.25,0.48l-0.38,1.04l-1.05,0.51l-3.94,0.66l-1.21,0.68l-0.17,0.49l0.47,0.24l1.3,-0.31l0.71,0.22l0.54,0.99l0.71,0.48l2.88,0.54l6.8,-0.18l-0.22,2.81l-0.29,0.32l-4.28,1.91l-1.27,2.12l-2.49,-0.05l-1.14,0.82l-6.33,2.15l-5.55,-0.91l-3.41,0.08l-4.48,0.79l-4.59,-1.4l-2.08,-0.24l-1.73,-0.69l-0.47,0.14l0.01,0.49l0.8,0.98l-1.99,1.06l-4.61,0.55l-2.19,-0.18l-0.41,0.53l0.75,1.52l-0.44,0.12l-4.2,-0.6l-0.74,0.12l-0.59,0.52l-1.26,-0.25l-3.19,-1.61l-1.68,-0.3l-1.51,0.11l-5.71,1.65l-1.16,1.64l-1.3,3.91l-1.15,1.29l-1.24,0.15l-5.49,-2.9l-1.51,0.61l-2.85,0.32l-3.11,0.94l-3.9,2.36l-1.47,2.12l-1.08,0.22l-1.33,-1.05l-1.51,-0.38l-2.58,0.83l-0.13,-0.77l0.97,-0.96l3.15,-0.92l2.75,-2.3l1.87,-2.16l1.57,-0.78l0.41,-0.8l3.82,-3.57l0.78,-3.42l3.09,-1.03l1.41,-2.79l4.41,-0.65l3.12,0.04l3.18,0.57l3.47,-0.2l1.38,-0.88l2.17,-2.81l3.94,-3.66l2.13,-2.39l0.01,-0.52l-0.51,-0.1l-1.44,0.82l-2.73,2.04l-3.23,0.78l-4.11,2.62l-3.45,-0.4l-2.63,-2.2l-1.94,-1.02l-3.92,0.43l1.54,-1.33l-0.33,-0.33l-2.46,-0.4l-1.59,-1.07l-3.01,0.07l-4.0,1.97l-3.22,-1.79l-0.02,-1.23l-0.45,-0.97l-0.54,-0.33l0.67,-0.79l1.19,-0.77l2.84,-0.84l6.68,-2.81l2.33,-1.5l1.06,-1.03l1.34,-2.7l0.92,-1.18l-0.2,-0.63l-0.75,-0.24l-0.29,-0.65l0.5,-1.83l-1.03,-2.09l0.21,-1.57l-0.4,-0.48l-3.51,0.34l-3.15,1.52l-0.81,0.1l0.49,-0.83l3.19,-2.29l1.77,-2.32l2.07,-1.33l4.53,-1.59l1.66,0.17l4.2,-0.9l3.0,1.55l0.45,-0.06l0.11,-0.44l-0.79,-2.12l0.75,-0.33l1.97,2.14l0.94,0.25l1.56,-0.33l0.31,-0.32l-0.78,-0.79l-1.62,-0.37l-0.67,-0.62l-1.2,-2.13l0.06,-1.14l1.75,-2.6l-0.2,-0.62l-1.2,-0.59l0.05,-1.98l1.75,-1.15l0.72,-3.51l-0.69,-1.04l-1.82,0.15l-2.04,0.77l-1.98,-1.77l-3.27,-4.34l-0.27,-1.6l1.65,-3.73l2.54,-2.39l3.05,-0.85l0.29,-0.39l-0.29,-0.39l-5.5,-0.22l-1.66,0.32l-1.58,1.06l-1.72,0.45l-2.24,1.6l-2.19,0.01l-1.01,-1.05l-0.84,-0.18l-3.47,1.62l-3.9,-1.59l-0.98,0.57l-0.72,2.0l-1.09,-0.89l-1.34,-1.73l-0.45,-2.0l0.37,-0.24l0.61,0.34l0.56,-0.2l1.22,-3.01l3.27,-5.08l0.68,-1.8l-0.1,-1.0l-0.6,-1.02l-2.21,-1.89l0.26,-3.02l0.63,-1.0l2.88,0.03l0.39,-0.31l-0.22,-0.45l-3.28,-1.99l0.55,-1.71l-0.12,-0.45l-0.46,-0.04l-1.82,2.56l-2.04,0.67l-0.55,0.96l-1.04,0.34l0.28,-2.25l0.57,-0.88l2.4,-2.19l0.05,-0.53l-0.52,-0.11l-1.23,0.72l-2.72,2.09l-1.84,1.98l-0.11,1.04l0.59,2.29l-0.16,0.98l-2.29,7.16l-0.67,0.9l-1.14,-0.06l-0.3,-0.73l1.15,-4.26l2.4,-3.66l-0.54,-0.36l-1.04,0.13l0.17,-4.38l0.74,-1.58l0.27,-2.18l1.9,-4.94l0.89,-0.94l0.21,-1.12l1.66,-2.66l-0.05,-0.45l-0.94,0.08l-5.74,4.13l-2.6,-0.52l-0.82,-0.71l-0.4,-1.51l-0.37,-0.3l-1.52,-0.14ZM339.59,233.48l-0.57,2.19l-0.53,-0.03l-0.06,-1.74l0.74,-0.02l0.42,-0.4ZM336.19,239.14l-0.93,-1.46l0.79,-1.92l0.63,0.04l0.08,0.26l-0.75,0.66l0.18,2.42ZM329.81,239.86l0.8,-0.37l1.06,-1.32l0.87,-0.15l0.23,2.57l0.58,0.28l0.4,-0.21l1.17,1.27l0.92,-0.16l-1.6,5.89l-0.26,2.06l-0.62,0.77l-0.43,1.4l-0.23,-0.2l1.02,-3.91l-0.25,-1.08l-0.77,-0.9l-1.96,0.22l-0.43,-1.0l-1.48,-0.05l-0.32,-0.39l2.04,-0.14l1.63,-0.82l0.19,-0.49l-1.02,-2.77l-1.52,-0.49ZM330.39,426.85l1.55,-0.47l0.95,-0.66l2.54,0.99l-0.75,0.49l-0.48,0.83l-0.59,0.15l-0.6,0.0l-2.6,-1.33ZM315.95,265.12l-0.68,0.01l0.29,-0.44l0.71,-0.23l0.87,0.07l-1.2,0.59ZM309.8,263.74l0.37,-0.11l1.34,1.02l-1.51,-0.67l-0.2,-0.25ZM312.26,265.65l1.03,0.29l-0.03,0.18l-0.75,0.32l-0.25,-0.79ZM308.85,269.28l-0.26,0.62l0.38,0.54l3.29,0.45l0.39,0.27l-0.24,0.56l-0.56,0.19l-1.93,-0.96l-2.24,0.39l-0.45,-0.22l-0.26,-1.19l-0.58,-0.1l-0.8,0.43l0.01,-1.32l0.41,-1.08l0.57,-0.18l1.09,0.13l1.3,0.68l0.27,0.34l-0.41,0.45ZM310.59,274.73l-0.03,-0.02l-0.47,-0.75l0.7,-0.11l-0.21,0.88ZM306.77,274.1l-0.45,-0.01l-1.04,-1.0l-0.33,-0.85l1.05,0.15l0.78,1.72ZM293.4,379.3l0.66,0.42l0.9,0.03l-3.55,2.22l-0.41,-0.54l-0.84,-0.13l-0.91,-1.28l-0.16,-1.93l1.09,-0.46l1.73,0.03l1.49,1.64ZM281.03,338.84l-1.32,0.01l-1.07,-0.49l-0.75,-2.35l0.78,-1.35l0.65,-0.11l0.96,0.74l0.71,1.66l0.05,1.88ZM243.78,353.56l2.07,-0.03l2.55,-1.09l1.48,-2.17l0.71,-2.43l2.02,-1.34l0.58,0.54l1.33,0.1l1.08,-0.74l1.04,-1.76l3.18,-0.18l3.04,-0.9l1.25,-0.01l3.21,0.46l1.09,1.18l0.71,2.2l1.58,2.14l2.0,1.81l0.06,0.77l-2.05,1.18l-0.22,1.17l0.55,0.37l1.78,-0.56l1.9,0.16l0.59,0.65l0.71,2.04l-0.07,0.41l-0.62,-0.99l-1.5,-0.75l-0.51,0.48l0.32,1.28l-0.13,1.73l0.21,0.38l0.95,0.23l-0.41,1.14l-3.01,0.79l-1.46,2.65l-0.91,0.58l-3.72,-0.8l-1.47,0.62l-2.99,0.05l0.16,-1.49l-0.39,-0.71l-1.84,-0.6l-0.68,-0.91l-0.33,-1.22l-2.04,-1.58l-0.85,0.07l-2.1,2.02l0.45,1.34l-2.25,1.86l-3.2,-0.35l-1.07,-0.82l-2.16,-0.48l-0.53,-1.29l-3.24,-2.77l1.07,-0.79l3.35,-1.09l0.67,-0.52l0.24,-0.59l-0.22,-0.47l-1.93,-1.02ZM261.43,298.81l2.77,-0.68l0.52,-1.27l0.92,0.27l0.98,1.15l0.26,1.42l-0.24,1.96l0.61,2.1l1.02,0.63l2.54,0.4l2.31,-0.1l0.21,0.31l-3.17,2.99l-0.73,0.23l-0.24,-2.65l-0.48,-0.35l-2.97,0.32l-0.61,-0.28l-1.79,-2.5l-3.04,-0.66l-0.76,-0.83l-0.17,-0.38l0.46,-0.56l0.82,0.18l0.99,-0.58l-0.19,-1.09ZM269.34,332.0l-0.57,-0.07l-0.12,-1.03l1.96,-1.32l-0.03,-0.72l-0.51,-0.21l0.28,-0.48l1.95,-1.22l-2.97,5.06ZM271.87,321.8l-5.06,1.0l-1.54,-0.08l1.84,-0.73l0.62,-2.57l-0.21,-0.45l-2.19,-1.11l0.09,-0.39l2.26,-0.75l1.96,2.01l2.42,0.81l-0.19,2.27ZM263.06,333.89l0.29,-1.39l0.53,-0.68l0.58,-0.27l0.79,0.24l1.95,-1.18l0.87,3.48l-0.29,0.85l-2.16,0.88l0.34,-0.95l-0.39,-0.99l0.18,-0.72l-0.36,-0.57l-0.93,0.13l-1.39,1.16ZM255.41,289.78l0.69,-0.49l-0.15,-0.72l-1.04,-0.51l-0.13,-0.82l0.1,-0.64l0.69,-0.72l1.74,0.87l2.02,-0.12l0.46,-0.5l-0.77,-1.87l6.87,-3.75l0.25,2.18l-1.59,3.18l-0.74,0.23l-0.54,0.78l-1.75,0.9l-0.21,0.45l0.38,0.31l1.48,0.02l-0.0,0.7l-1.99,1.51l-1.52,0.67l-1.42,1.52l-0.92,0.18l-1.21,1.34l-0.95,-0.76l2.62,-1.89l0.17,-0.55l-2.55,-1.49ZM265.16,309.88l-0.49,0.1l-0.68,-0.67l0.84,-0.36l0.47,0.45l-0.13,0.47ZM261.42,316.68l0.29,-0.28l0.09,-0.02l-0.03,0.04l-0.35,0.27ZM249.11,297.53l0.35,-0.38l1.04,0.14l2.36,-0.64l1.01,0.73l-0.88,1.33l-1.56,-0.01l-2.31,-1.17ZM251.9,306.91l-1.08,-0.23l-0.4,-1.03l0.09,-3.19l1.15,0.03l0.25,4.42ZM248.75,309.97l0.68,-0.43l0.37,0.2l-0.96,0.26l-0.09,-0.03Z\",\\n      \"name\": \"United Kingdom\"\\n    },\\n    \"AX\": {\\n      \"path\": \"M628.45,248.96l0.16,-0.05l0.84,0.08l0.31,0.32l-0.63,0.06l-0.68,-0.41ZM621.7,243.28l1.25,-0.06l2.02,1.49l-0.63,0.99l-0.8,-0.15l-1.25,0.46l-0.31,1.74l-2.69,0.2l-0.49,-0.23l-0.9,-2.45l0.11,-0.4l0.54,-0.21l0.06,1.05l0.47,0.37l0.85,-0.15l0.32,-0.29l0.34,-1.72l-1.05,-1.12l0.26,-0.39l0.48,-0.17l0.58,0.75l0.84,0.28ZM616.9,246.18l-0.55,0.17l-0.39,0.42l0.16,-1.31l0.49,-0.02l0.28,0.74Z\",\\n      \"name\": \"Aland\"\\n    },\\n    \"IE\": {\\n      \"path\": \"M245.03,355.16l-3.75,1.4l-1.46,1.19l0.42,1.3l3.09,2.41l0.65,1.39l2.3,0.51l1.07,0.82l3.69,0.38l2.79,-2.26l0.09,-0.46l-0.49,-0.95l1.71,-1.63l0.31,0.02l1.52,1.24l0.25,1.06l0.91,1.22l1.92,0.73l-0.18,1.51l0.56,0.74l3.32,-0.04l1.44,-0.63l0.91,0.09l0.42,0.48l-0.42,0.31l-1.28,-0.03l-0.65,0.73l-0.03,0.85l0.37,1.24l0.72,0.86l0.99,3.59l0.72,1.21l0.15,3.22l-0.29,0.63l1.44,5.06l0.23,2.86l-1.89,3.4l-0.67,3.58l-1.65,2.45l-1.46,0.94l-0.11,0.65l1.47,1.41l-0.98,0.51l-1.53,0.23l-1.77,-0.43l-1.27,0.04l-1.49,0.84l-1.01,-1.55l-0.81,1.63l-0.82,0.37l-1.8,-0.09l-4.31,0.86l-1.41,1.96l-3.3,1.03l-1.16,1.3l-1.31,0.67l-0.96,0.18l-1.89,-1.34l-1.79,-0.0l-0.38,0.32l0.85,0.97l-0.0,1.57l-1.61,0.5l-1.42,0.95l-1.89,0.26l-1.2,0.96l-6.42,1.53l-2.25,-0.55l-4.26,0.91l1.21,-1.55l2.33,-1.17l0.24,-0.3l-0.24,-0.64l-0.89,-0.15l-4.33,0.76l-2.09,0.72l3.76,-2.46l0.67,-0.74l1.97,-0.87l0.21,-0.5l-0.49,-0.25l-6.5,1.85l-1.48,-0.2l-0.69,-0.54l-1.03,0.19l-0.29,-0.71l1.78,-1.71l1.09,-0.77l2.7,-1.09l0.66,-0.93l-0.19,-0.58l-0.79,-0.28l-5.41,0.07l0.29,-0.66l1.82,-1.08l0.94,-0.17l2.67,0.8l2.24,-0.23l0.34,-0.28l-0.13,-0.43l-0.81,-0.65l-0.15,-1.37l-0.45,-0.48l1.55,-0.82l1.69,-1.42l7.69,-1.32l3.73,-1.08l0.29,-0.38l-0.28,-0.39l-1.82,-0.57l-0.85,-0.73l-0.56,0.03l-1.42,1.55l-0.93,0.54l-2.82,0.31l-2.45,-0.63l-2.94,1.35l4.74,-3.85l0.97,-1.34l0.03,-0.41l-0.67,-0.88l1.87,-2.34l0.63,-0.41l3.34,-0.71l1.03,-0.9l-0.13,-0.67l-2.92,-0.82l-5.04,0.23l-0.67,-0.44l-0.24,-0.84l-0.5,-0.44l-2.93,0.12l0.68,-0.6l-0.2,-0.69l-3.7,-0.25l0.42,-0.63l-0.05,-0.58l-0.65,-0.76l4.97,-0.87l0.35,-0.37l-0.29,-0.42l-2.29,-0.83l0.06,-0.78l1.91,-0.9l2.21,-0.43l0.31,-0.49l-0.01,-1.2l-0.35,-0.48l-2.29,-0.21l-1.8,0.38l0.68,-2.04l-0.0,-1.8l-0.53,-0.33l-0.58,0.2l-0.57,-1.73l-0.49,-0.19l-1.01,0.38l0.02,-0.42l0.33,-0.58l0.59,-0.24l2.28,0.12l1.54,-0.59l2.01,-0.15l3.2,0.18l2.21,1.59l1.01,-0.26l1.2,-1.12l5.49,1.04l0.81,-0.19l0.26,-0.48l-0.31,-1.17l-0.59,-0.71l1.72,-1.42l3.26,-1.22l1.45,-2.62l-0.38,-0.63l-4.29,0.58l-3.57,-1.16l1.07,-0.91l1.46,-0.4l0.38,-0.61l1.96,-1.47l-0.31,-1.75l0.19,-0.79l0.94,-0.8l0.56,-1.44l3.44,-0.89l2.64,-0.09l0.63,0.24l0.54,-0.43l-0.11,-0.78l0.78,-0.09l1.02,1.41l0.13,0.66l-0.89,1.03l-0.02,0.6l0.31,0.29l-0.67,0.73l-0.03,0.5l0.48,0.14l2.52,-1.47l0.1,-1.18l-0.63,-1.97l0.14,-0.76l0.61,-0.48l2.02,-0.31l0.26,-0.64l-0.46,-0.62l4.01,2.13l-5.21,3.62l-1.07,2.92l-1.25,1.91l-2.31,0.96l-1.79,-0.12l-0.73,0.44l-0.03,0.88l1.98,1.2ZM212.65,366.62l-0.13,-0.02l0.03,-0.02l0.09,0.04ZM213.87,366.77l1.05,0.02l0.27,0.15l0.07,0.94l-0.8,-0.9l-0.59,-0.21Z\",\\n      \"name\": \"Ireland\"\\n    },\\n    \"ES\": {\\n      \"path\": \"M408.55,609.24l-3.95,-1.75l-1.35,-0.22l-0.04,-0.91l2.43,-0.17l2.05,0.62l1.1,1.67l-0.24,0.75ZM392.9,610.25l0.24,0.47l1.3,0.53l1.55,-0.44l0.59,0.12l0.47,0.17l0.11,0.64l-2.84,4.76l-2.01,1.18l-3.51,-1.26l-0.53,-1.7l-0.91,-0.82l-1.18,-0.19l-1.55,1.01l-0.31,-0.47l-1.13,-0.56l0.01,-0.33l5.42,-3.73l1.57,-0.82l3.07,-0.89l-0.06,0.57l0.37,0.41l-0.66,1.32ZM246.2,546.17l1.24,0.54l1.33,-0.16l1.25,0.65l2.0,1.73l2.73,0.67l2.32,-0.51l11.05,-0.15l3.17,-0.81l2.44,1.01l4.71,0.48l2.86,0.85l7.97,1.43l2.93,0.01l5.69,-1.37l1.66,0.32l2.22,-0.66l0.92,0.12l1.48,0.98l5.05,1.32l1.62,-1.15l0.81,-0.2l3.51,0.67l3.75,1.41l1.98,0.1l2.79,-0.38l2.24,-0.92l0.61,1.08l0.69,0.42l3.9,1.0l-0.15,1.08l-0.77,1.27l0.05,0.44l0.81,0.66l1.09,0.03l0.6,-0.74l0.3,0.36l4.79,1.82l2.22,0.15l2.37,2.24l1.74,0.09l2.29,-0.44l3.47,2.21l3.37,-0.44l0.82,0.42l5.11,0.05l0.53,-0.55l0.4,-1.99l8.53,2.45l0.9,1.31l0.03,2.1l0.64,0.81l1.32,-0.09l2.19,-0.97l2.73,1.14l1.03,1.21l0.88,0.03l2.11,-1.03l6.05,1.3l0.84,-1.12l2.56,-0.78l0.93,-0.16l3.02,0.58l1.09,1.68l-1.81,0.71l-0.22,1.53l1.19,1.45l0.12,2.0l-3.11,2.7l-9.38,4.87l-3.07,2.88l-6.93,1.47l-7.25,2.16l-4.47,3.93l0.14,0.7l1.0,0.28l0.97,0.99l-1.94,1.07l-1.87,0.41l-3.14,4.73l-5.95,7.1l-3.44,5.71l-0.07,1.96l1.73,5.74l1.03,1.55l1.35,1.24l2.56,1.08l0.41,0.67l-3.16,2.45l-4.44,2.36l-1.99,1.94l-0.48,1.83l-1.34,0.98l-0.48,2.47l-1.8,3.57l-0.11,0.91l1.16,1.29l-0.27,0.21l-2.08,0.35l-5.27,0.16l-4.46,2.79l-2.28,2.59l-1.9,4.42l-2.24,2.53l-0.75,0.35l-1.61,-1.09l-2.0,-0.18l-2.05,0.39l-1.14,0.96l-1.39,0.45l-1.52,-0.42l-3.39,-0.24l-1.6,0.06l-2.23,0.71l-1.96,-0.48l-3.38,-0.25l-7.46,0.61l-1.12,0.41l-3.08,2.87l-3.54,0.09l-3.2,1.22l-1.0,0.94l-1.35,2.14l-0.35,1.21l-0.96,-0.07l-0.5,1.3l-1.83,0.61l-2.33,-0.91l-2.03,-1.42l-1.11,-0.16l-2.36,-3.47l-0.56,-2.6l-1.61,-0.81l-0.29,-1.07l1.02,-1.66l1.6,-1.37l-0.41,-0.31l-1.41,0.08l-0.96,0.94l-1.11,-1.59l-5.06,-3.56l0.19,-1.23l-0.7,-0.22l-1.27,1.12l-2.71,-0.15l-2.77,0.4l-1.23,-5.85l0.75,-2.07l2.03,-2.77l1.34,-1.45l2.36,-0.79l0.91,-2.31l-0.45,-0.59l-1.76,0.15l-2.97,-4.04l0.81,-3.79l3.11,-2.96l0.63,-1.46l0.03,-1.41l-0.83,-0.95l-1.59,-0.4l-1.69,-3.02l-0.39,-1.96l-1.57,-1.32l-0.92,-1.49l5.21,-0.2l1.22,-0.59l0.9,-1.43l0.9,-2.28l0.23,-1.44l-0.4,-0.92l-1.43,-1.44l0.17,-0.44l2.07,-1.45l0.76,-1.07l-0.54,-1.45l0.45,-3.48l-0.24,-1.99l-0.33,-1.74l-0.89,-1.96l1.97,-1.35l1.13,-1.68l1.61,-1.38l2.17,-1.14l1.61,-1.34l1.17,-1.66l-0.43,-1.19l-1.01,-0.82l-1.25,-0.44l-1.89,-0.09l-0.11,-3.06l-0.36,-0.8l-0.88,-0.56l-1.06,0.12l-1.76,-0.47l-0.61,0.3l-2.06,-0.08l-1.78,-0.47l-0.82,0.53l-0.24,0.98l-2.34,0.86l-1.37,-0.03l-2.55,-0.85l-3.24,0.12l-2.87,1.11l-0.62,-1.02l1.23,-2.07l-1.13,-1.88l-1.06,-0.33l-4.57,1.41l-2.58,1.82l-0.72,0.16l-0.18,-2.32l2.53,-2.61l-0.12,-0.66l-1.4,-0.22l1.06,-1.45l-0.13,-0.55l-0.92,-0.75l-0.01,-2.74l-0.53,-0.28l-2.47,0.81l-0.02,-0.67l1.45,-2.27l-0.32,-0.5l-1.46,-0.24l-1.05,-0.76l-1.33,-1.66l0.71,-2.85l2.0,-1.02l1.92,-1.48l2.78,0.27l1.74,-0.34l2.56,-1.02l1.67,-1.08l-0.05,-0.95l-0.41,-0.69l0.23,-0.35l3.27,-1.81l2.1,-0.23l1.93,-0.88ZM370.1,623.83l-0.59,0.91l-1.82,-0.41l0.26,-0.64l0.7,-0.46l0.03,-0.65l0.46,-0.58l2.6,-0.57l0.4,0.32l0.08,0.41l-1.53,1.47l-0.58,0.19ZM370.18,627.26l0.43,0.46l-0.55,0.0l0.12,-0.46ZM164.44,776.55l-0.91,0.89l-0.44,-0.15l0.76,-2.18l3.27,-1.23l0.83,-1.23l-0.52,2.64l-2.99,1.26ZM155.44,788.95l2.37,-1.46l2.87,-6.04l0.34,-1.27l0.46,-0.35l0.91,0.01l0.27,0.45l-0.01,1.42l-0.47,2.52l-0.8,2.08l-3.47,1.18l-1.83,1.61l-0.64,-0.14ZM141.28,788.62l0.11,1.32l-4.04,0.0l0.8,-1.44l3.13,0.12ZM128.81,784.44l-1.25,3.48l-1.5,1.58l-1.26,0.29l-1.66,-1.86l-1.25,-2.48l4.27,-0.62l3.26,-2.31l2.13,-0.21l-2.74,2.13ZM117.34,789.64l-0.75,-0.17l-0.52,-0.88l0.58,-0.83l1.31,0.57l0.26,0.48l-0.88,0.82ZM108.62,782.59l-1.69,-3.37l0.7,-0.91l1.39,-0.03l0.72,1.33l-0.36,2.16l-0.76,0.82Z\",\\n      \"name\": \"Spain\"\\n    },\\n    \"ME\": {\\n      \"path\": \"M601.12,565.85l1.19,-0.97l0.28,-0.68l-0.09,-0.72l-1.0,-1.62l-0.28,-2.93l0.34,-0.41l1.75,-0.24l0.34,-0.4l0.06,-1.92l0.56,-1.18l2.2,-1.75l0.74,0.07l0.92,0.94l0.98,-0.46l0.08,-1.33l-1.22,-2.13l0.14,-0.28l1.2,0.35l1.26,-0.26l0.56,1.35l2.58,1.71l2.74,2.82l2.42,1.12l2.14,0.45l5.15,2.95l0.06,0.52l-1.49,0.41l-0.45,0.68l-1.62,-0.06l-0.66,0.62l0.72,1.91l-0.2,0.93l-3.37,1.17l-0.38,-0.47l-0.16,-1.85l-0.88,-0.44l-0.81,0.44l-3.97,5.49l-0.67,0.29l-2.58,-0.2l-0.31,0.65l1.59,1.94l1.69,0.85l-0.04,2.92l-1.44,-0.88l-0.9,-1.83l-3.09,-3.08l-3.53,-2.11l0.23,-0.58l-0.34,-0.59l-1.53,0.19l-0.92,-1.43Z\",\\n      \"name\": \"Montenegro\"\\n    },\\n    \"MD\": {\\n      \"path\": \"M712.53,469.1l2.31,-1.33l5.14,0.23l1.53,-1.02l1.05,0.19l1.72,-0.95l3.49,0.95l0.98,0.89l2.03,0.79l0.72,1.12l1.09,0.35l1.68,-0.01l0.39,0.23l-0.18,0.59l0.23,0.62l1.14,0.03l0.57,0.96l0.6,-0.0l0.78,-0.88l2.88,0.47l1.16,1.99l0.96,0.93l0.99,0.32l1.65,-0.6l0.82,1.24l0.21,1.74l-0.32,1.87l-0.84,2.17l0.18,1.06l0.34,0.59l2.44,1.48l0.73,0.86l1.98,0.87l-0.38,2.89l0.67,0.88l0.19,1.52l2.11,1.48l2.08,0.9l0.74,1.53l-0.07,3.43l2.44,1.72l-0.33,0.32l-2.9,0.39l-1.0,-1.27l-0.81,-0.32l-1.41,0.82l-2.03,-0.92l-1.01,0.26l-0.87,-0.4l-0.6,0.12l-0.62,1.15l-0.1,-1.82l-0.5,-0.51l-0.54,-0.05l-2.77,1.21l-0.63,0.95l0.04,1.05l0.21,1.4l0.77,1.72l-0.71,1.95l-1.2,1.09l-1.45,0.68l-0.35,1.64l-3.15,3.06l0.03,2.49l-2.33,0.22l-1.08,0.59l-1.37,-1.89l0.96,-0.86l-0.81,-5.49l0.26,-2.73l1.68,-5.26l-0.27,-1.14l0.22,-2.18l-2.29,-5.93l-3.05,-2.49l-1.16,-1.93l-2.06,-1.92l-2.23,-3.64l-1.53,-1.5l-2.47,-5.46l-2.41,-3.5l-1.17,-1.03l-1.54,-0.78l-1.64,-0.15Z\",\\n      \"name\": \"Moldova\"\\n    },\\n    \"RO\": {\\n      \"path\": \"M631.66,512.33l-1.62,-2.15l-2.98,-1.78l-1.3,-1.89l3.0,-0.64l1.59,0.53l1.44,-0.77l0.67,-1.16l0.81,-0.18l2.69,0.29l1.42,-0.78l0.52,-0.55l0.45,-1.28l1.09,-0.68l-0.15,-1.22l0.78,-1.78l2.38,-1.66l0.06,-1.57l2.13,-2.96l0.14,-1.37l1.69,-1.68l1.11,-2.8l1.64,-1.49l0.18,-2.0l1.41,-1.04l2.32,-2.6l2.53,-0.74l1.81,0.04l3.7,-3.16l2.29,-0.96l1.16,-1.36l0.58,0.03l2.92,1.64l3.46,-0.04l4.49,0.97l0.86,-0.12l1.63,0.64l4.11,-0.7l1.11,0.24l4.5,3.72l2.52,-0.5l1.41,-1.38l3.87,-1.47l9.43,-1.41l1.84,-2.27l0.38,-1.46l5.19,-0.97l2.33,0.84l0.99,0.89l2.29,3.34l2.51,5.52l1.57,1.55l2.19,3.59l2.1,1.97l1.18,1.95l2.93,2.32l2.21,5.6l-0.22,2.16l0.27,1.0l-1.66,5.2l-0.28,2.9l0.8,5.36l-1.04,0.73l0.01,0.55l1.84,2.47l1.43,1.74l1.94,1.03l4.29,1.01l0.85,-0.41l-0.23,-0.86l1.39,0.33l1.88,-0.54l2.59,-1.35l2.28,-0.26l2.07,0.77l1.65,1.62l-0.91,4.49l-0.93,2.04l-5.84,1.21l-0.37,-2.16l0.52,-0.66l-0.24,-0.64l-1.85,-0.24l-1.32,1.35l0.37,1.96l-0.97,1.47l-0.08,1.37l-0.53,1.29l0.45,0.45l0.39,-0.06l-2.26,2.65l-0.78,1.52l0.18,5.12l-0.96,3.66l-2.42,-0.04l-4.24,-1.23l-2.16,-2.64l-0.42,-0.14l-1.86,0.48l-0.84,-0.66l-3.33,-0.39l-4.73,-2.44l-8.15,1.39l-3.76,1.29l-3.9,2.3l-1.6,1.74l-1.7,0.86l-2.46,0.65l-4.49,-0.25l-9.87,-1.78l-2.85,0.5l-3.67,-0.38l-5.67,-1.11l-4.2,-0.34l-4.08,0.63l-0.45,-0.32l0.03,-0.96l2.02,-1.54l0.02,-1.12l-4.47,-2.72l-0.15,-0.7l-1.44,-0.93l-0.99,-1.35l0.08,-0.66l0.56,-0.68l2.39,-0.47l0.2,-0.47l-0.33,-0.8l-3.36,-1.74l-1.99,0.5l-2.13,1.95l-1.09,0.23l-0.9,-1.21l-1.6,-0.77l-3.63,-0.72l-0.58,-0.76l-1.0,-0.58l-2.03,-0.57l1.83,-0.2l0.48,-0.55l-0.18,-0.85l-2.12,-0.97l0.62,-0.23l0.99,-1.51l0.07,-1.02l-0.99,-0.87l-2.71,-0.8l-1.0,-0.8l-1.74,-0.54l-3.06,-2.42l-0.11,-4.46l-0.37,-0.46l-0.8,0.27Z\",\\n      \"name\": \"Romania\"\\n    },\\n    \"RS\": {\\n      \"path\": \"M607.42,509.85l1.42,-0.57l0.68,-0.8l0.8,0.44l1.93,-0.29l2.06,-1.11l1.45,-1.49l0.91,-0.19l3.1,0.39l1.26,-0.26l3.53,0.55l2.01,2.55l2.91,1.72l1.76,2.28l0.78,-0.01l-0.05,3.73l0.4,0.78l3.18,2.52l1.76,0.56l1.1,0.84l2.71,0.8l0.59,0.54l-0.89,1.5l-0.59,0.16l-0.38,0.59l0.52,0.87l1.89,0.81l-2.09,0.34l-0.26,0.39l0.32,0.95l2.16,0.6l1.56,1.34l1.5,0.52l2.22,0.24l1.44,0.7l1.25,1.38l1.66,-0.41l1.95,-1.86l1.75,-0.44l2.73,1.51l-2.07,0.47l-0.95,1.17l-0.06,1.13l0.49,0.96l1.72,1.18l0.39,0.86l-0.82,0.68l-0.41,1.88l-2.37,1.2l-0.78,2.48l0.04,1.46l1.83,4.56l0.75,1.06l2.95,1.73l1.3,1.71l1.38,0.92l-0.36,1.07l-3.08,3.35l-1.91,0.1l-1.5,0.81l-0.37,0.83l0.32,0.93l-0.37,2.03l0.49,1.4l0.79,0.91l-1.33,2.11l-0.79,0.18l-1.6,-0.67l-2.39,0.83l-2.13,-0.25l-2.26,0.89l-1.99,0.33l-0.42,-0.94l1.19,-0.89l1.63,-3.37l0.31,-1.03l-0.21,-0.67l-4.66,-1.26l-0.05,-1.37l-2.13,-1.28l-0.24,-0.7l-2.28,-2.26l-2.83,-1.32l-0.6,-1.42l-1.02,-0.04l-2.04,1.13l-0.19,0.7l0.51,1.45l-0.26,0.47l-2.08,1.44l-0.22,0.83l0.25,0.57l-1.01,0.3l-0.25,-0.85l-0.97,-0.7l-4.43,-2.42l-2.27,-0.5l-2.24,-1.04l-2.64,-2.74l-2.6,-1.74l-0.26,-0.89l0.64,-0.67l1.1,-0.11l1.32,0.51l0.77,-0.71l0.28,-1.06l-0.17,-1.2l-3.14,-4.01l3.69,-0.06l0.68,-0.49l0.14,-0.84l-3.45,-3.32l-2.76,-1.62l0.3,-2.93l1.92,-2.86l0.89,-2.97l-0.3,-0.61l-1.61,-0.6l-1.79,0.3l0.22,-0.99l-0.44,-2.38l0.55,-0.15l0.3,-0.53l0.63,0.27l2.51,-0.09l0.48,-0.45l0.05,-0.62l-1.26,-1.31l-3.09,-1.11l-1.01,-0.88l0.03,-0.83l0.71,-1.15l-1.87,-1.28l0.32,-1.03l-1.29,-2.79l0.59,-0.56l0.11,-0.78Z\",\\n      \"name\": \"Serbia\"\\n    },\\n    \"MK\": {\\n      \"path\": \"M629.75,577.29l1.84,0.12l0.78,-0.95l0.41,-2.59l3.61,-1.54l0.89,-0.05l1.45,1.15l0.65,0.06l0.91,-1.54l0.63,-0.43l3.04,-0.35l3.84,-1.29l2.05,0.27l2.48,-0.84l1.15,0.64l3.21,3.37l3.37,1.74l1.43,3.5l0.79,0.71l-0.73,1.84l-0.29,3.95l-1.62,0.11l-0.61,0.4l-0.51,2.19l-2.82,0.86l-4.13,-0.64l-2.65,0.45l-1.15,0.53l-1.97,2.46l-2.56,1.2l-2.25,-0.57l-1.24,0.65l-4.44,0.26l-0.63,-0.83l-2.8,-0.25l-0.69,-2.05l-1.24,-1.16l-1.01,-2.21l0.03,-1.94l-0.54,-1.92l0.88,-0.94l-0.14,-2.11l0.57,-2.22Z\",\\n      \"name\": \"Macedonia\"\\n    },\\n    \"SK\": {\\n      \"path\": \"M655.85,455.69l-1.87,2.97l-1.26,3.23l-2.02,2.0l-0.31,2.96l-4.93,0.82l-2.05,-2.5l-1.8,-1.11l-5.19,0.8l-2.74,-0.69l-3.03,-0.07l-2.16,0.4l-2.33,4.11l-5.08,2.53l-0.54,0.2l-3.78,-1.56l-1.02,0.28l-1.32,1.71l-2.52,0.6l-4.73,0.38l-1.81,0.92l-0.78,1.39l0.31,1.5l-0.48,0.75l-7.63,0.4l-5.12,-0.11l-1.62,-0.65l-4.25,-3.08l-2.48,-0.39l-0.57,-0.4l-2.93,-5.87l-0.03,-0.76l1.03,-1.78l0.6,-2.25l1.91,-2.7l0.53,-0.25l3.99,0.56l2.05,-0.28l1.81,-0.81l2.23,-2.01l1.68,-0.56l0.66,-0.61l0.43,-2.19l0.57,-1.15l2.67,-1.34l0.77,-1.01l2.29,-1.67l3.09,-0.34l1.14,0.17l0.33,1.5l0.41,0.33l2.46,-0.07l1.61,-2.02l2.36,-1.35l2.4,3.23l1.74,0.5l0.15,1.45l-0.41,1.13l0.26,0.48l0.62,0.21l1.69,-0.45l1.76,0.65l0.5,-0.22l0.65,-1.5l0.65,-0.68l2.55,-1.15l3.34,-0.11l1.37,0.34l1.03,0.74l2.12,0.22l1.03,-0.56l0.94,-1.22l3.47,-0.19l3.82,0.29l3.33,1.18l0.92,0.68l0.88,1.68l6.68,2.35Z\",\\n      \"name\": \"Slovakia\"\\n    },\\n    \"MT\": {\\n      \"path\": \"M547.69,672.17l-1.11,0.1l-0.87,-0.6l-0.01,-0.92l0.72,0.18l1.27,1.23ZM543.86,669.2l0.21,-0.04l0.18,0.07l-0.23,0.07l-0.16,-0.09Z\",\\n      \"name\": \"Malta\"\\n    },\\n    \"SI\": {\\n      \"path\": \"M558.4,514.15l-0.58,0.36l-0.27,0.83l0.66,1.7l-0.87,0.29l-1.65,-0.15l-2.27,-0.83l-1.46,0.52l-0.51,-0.13l-1.82,-1.48l-0.69,-1.19l-0.57,-0.36l-0.96,0.41l-1.36,2.21l-0.59,0.31l-3.71,0.06l-1.44,-0.5l-1.47,1.32l-3.3,-0.75l1.3,-1.09l1.85,-0.21l0.49,-0.85l-0.67,-1.21l-1.48,-1.37l-1.87,-0.9l0.48,-2.4l-0.56,-0.5l-1.19,-0.12l1.78,-1.87l0.27,-0.99l-2.23,-1.02l-1.0,-0.0l-0.2,-0.4l0.21,-0.69l3.61,-2.34l0.41,-0.89l11.45,1.94l2.8,-1.69l1.79,-1.78l4.25,-0.61l3.12,0.21l2.65,-1.17l1.66,-0.2l2.52,0.56l0.72,-0.63l0.04,-1.7l0.63,-0.57l0.61,-0.26l2.29,0.09l0.53,2.01l0.65,0.71l0.07,0.9l1.15,1.33l-1.93,-0.14l-1.22,0.94l0.08,1.71l-2.19,0.06l-1.02,1.18l-0.8,0.41l-4.21,1.44l-0.67,1.31l0.16,0.75l0.85,0.93l-0.17,2.79l-4.89,2.01l-0.16,0.91l0.87,0.78Z\",\\n      \"name\": \"Slovenia\"\\n    },\\n    \"SM\": {\\n      \"path\": \"M519.71,543.1l-0.45,-0.16l0.66,-0.49l0.03,0.12l-0.25,0.53Z\",\\n      \"name\": \"San Marino\"\\n    },\\n    \"UA\": {\\n      \"path\": \"M653.07,467.62l-0.48,-1.02l-1.33,-0.03l0.12,-2.22l2.03,-2.04l1.29,-3.29l1.97,-3.29l3.27,0.94l0.74,-0.39l0.29,-0.58l-0.19,-0.78l-1.79,-1.47l0.38,-2.03l-1.1,-4.13l0.67,-1.03l4.45,-5.14l5.01,-4.84l4.05,-3.55l3.41,-0.56l1.93,-2.52l0.04,-1.69l-0.66,-1.89l-0.81,-1.03l1.48,-0.7l0.01,-0.92l-1.58,-1.38l-1.65,-3.31l-2.63,-3.21l0.21,-1.48l-0.93,-2.11l-0.01,-1.46l0.96,-0.36l1.05,0.07l2.34,0.93l2.54,-1.53l2.08,-1.99l1.03,-1.59l6.71,-0.55l2.72,-0.57l11.52,0.31l11.49,2.58l4.85,0.31l2.07,2.74l4.3,0.01l0.86,0.38l-0.14,1.19l0.77,0.66l0.82,-0.23l1.34,-1.79l2.04,0.55l0.94,-0.1l1.34,-0.76l5.35,1.07l0.77,1.59l1.26,0.46l1.86,-1.96l1.65,-0.54l1.52,-0.99l0.71,0.66l1.69,3.01l0.73,0.64l3.15,-0.84l8.03,-0.78l1.78,1.25l0.48,1.45l1.58,0.92l1.44,0.22l1.63,-2.14l-0.44,-2.15l-0.87,-2.05l0.63,-1.52l1.11,-2.22l1.14,-1.4l2.99,-2.68l1.16,-0.48l2.04,0.41l1.65,-0.95l2.97,-0.05l2.74,0.15l2.68,0.97l2.06,-0.07l2.35,-1.21l1.22,-3.0l0.71,-0.46l4.98,0.99l1.41,-0.1l3.32,-1.51l1.76,-0.22l2.24,0.36l3.78,-0.19l2.3,1.56l1.21,1.66l1.4,3.3l3.75,3.5l-0.11,0.61l-3.32,0.63l-0.34,0.35l-0.02,0.88l1.11,1.58l0.4,3.4l0.62,0.53l-0.82,1.11l0.12,0.5l0.5,0.29l3.42,0.12l3.05,1.17l4.64,-0.55l1.25,2.5l0.76,0.36l1.36,0.04l-0.19,1.29l0.94,2.76l0.76,1.25l-0.65,2.08l0.27,1.27l1.11,1.57l0.8,0.42l0.78,1.34l1.47,0.37l2.77,-1.54l2.87,0.47l2.51,2.23l1.11,-0.21l1.55,0.25l0.81,0.78l1.22,0.44l1.88,-1.45l4.96,-1.04l2.8,-1.15l0.83,0.08l2.01,1.97l0.34,1.37l1.43,1.96l4.69,3.37l1.87,-0.44l0.48,-1.59l0.62,-0.26l2.67,1.56l2.59,0.2l3.77,2.27l1.65,0.09l1.78,-0.6l1.55,1.86l2.32,0.35l4.21,2.69l1.5,0.14l2.03,-0.5l0.42,0.22l-0.38,2.28l0.93,1.25l0.02,0.88l-0.71,1.68l-2.33,2.28l-1.74,0.48l-0.99,0.5l-0.2,0.47l0.33,0.98l0.8,0.9l3.08,1.14l-2.66,0.06l-1.31,1.36l-0.82,2.61l0.3,0.5l2.33,0.73l0.65,2.74l-0.56,1.14l0.38,0.56l1.14,0.33l-0.98,1.32l-1.48,3.53l0.0,1.35l-0.38,0.48l-4.48,0.18l-6.63,-0.37l-1.19,0.33l-1.59,2.23l-0.97,0.76l-1.66,0.71l-2.07,0.29l-1.24,1.08l-0.43,2.63l-0.72,1.43l0.07,0.65l0.94,0.53l-1.01,1.32l0.1,1.34l-4.77,-0.22l-3.93,0.37l-2.89,2.7l-1.6,0.01l-2.4,0.74l-1.66,0.94l-1.64,1.67l-1.38,-0.75l-1.76,0.02l-1.92,0.57l-2.01,1.22l-1.01,0.2l-2.4,-0.34l-2.68,0.72l-5.92,4.2l-0.85,1.26l-0.06,-0.98l-0.84,-1.19l-0.64,-0.01l-2.18,2.85l-2.86,1.3l-0.28,2.37l0.9,3.43l1.61,3.06l3.22,4.28l1.58,1.61l1.23,0.7l1.53,0.14l2.77,-1.34l0.99,-0.18l2.36,0.49l1.18,-0.93l1.12,-0.43l1.51,-0.06l3.32,0.89l-1.49,2.39l-0.71,2.57l-1.95,0.58l-2.39,-0.07l-2.35,0.4l-2.62,-1.59l-1.47,-0.29l-1.5,0.36l-1.71,2.08l-2.67,1.33l-0.94,1.5l-2.45,-0.32l-2.42,0.27l-3.46,1.46l-2.67,3.13l-2.71,1.84l-2.1,0.57l-1.96,-0.18l-1.25,-0.53l-2.53,-1.83l1.01,-1.84l1.11,-3.8l-0.15,-1.47l-0.78,-2.16l-2.21,-1.51l-1.96,0.2l-0.87,-0.34l-3.79,-2.62l-2.11,-0.17l-2.05,0.49l-0.9,-0.76l8.2,-5.54l1.9,-0.29l2.58,-1.26l2.69,-1.85l0.16,-0.43l-0.38,-1.45l-0.61,-1.16l-0.44,-0.2l-2.12,0.61l-3.21,-1.95l-3.47,0.87l-2.0,-0.12l-4.23,0.79l-5.91,-2.98l-1.5,-0.45l-1.23,0.07l-0.17,-0.18l0.26,-0.11l2.25,-0.47l0.37,-0.66l-0.06,-0.73l-0.3,-0.35l-2.07,-0.55l-1.91,-0.16l-1.14,-0.62l9.74,1.35l2.9,-2.06l0.45,-0.95l-0.45,-0.17l-2.95,0.84l-2.9,-0.52l-1.01,-0.69l-0.86,-1.03l-0.34,-1.11l0.24,-1.25l-0.37,-2.3l-1.35,-2.95l-1.18,-1.12l-0.51,-0.02l-0.12,0.49l2.04,4.82l-0.14,3.34l-0.31,0.96l-0.98,0.24l-2.85,-0.46l0.34,-1.53l-0.17,-0.42l-0.46,0.01l-1.0,0.76l-1.19,1.74l-0.91,0.23l-2.56,-0.19l-4.62,1.24l-2.15,5.06l-1.92,2.66l-3.91,3.98l-4.21,1.88l-0.96,0.3l-1.74,-0.36l-1.2,0.75l-0.41,0.86l-0.01,1.39l0.97,1.2l0.63,3.62l-1.51,-1.33l-2.41,-0.85l-2.58,0.32l-2.62,1.37l-1.64,0.47l-1.56,-0.31l-0.55,0.61l0.02,0.59l-3.8,-0.88l-1.69,-0.86l-1.12,-1.36l0.85,-0.48l2.64,-0.36l0.43,-1.31l-0.26,-1.46l3.09,-2.98l0.2,-1.44l1.39,-0.67l1.45,-1.41l0.77,-2.41l-0.83,-1.85l-0.2,-2.07l0.28,-0.4l2.58,-1.04l0.09,2.09l0.34,0.39l0.96,-0.28l0.59,-0.99l0.99,0.29l0.82,-0.29l2.2,0.94l1.43,-0.79l1.79,1.6l3.15,-0.45l1.01,-0.9l-0.07,-0.59l-2.61,-1.84l0.21,-3.09l-0.93,-1.9l-4.09,-2.24l-0.11,-1.31l-0.67,-0.88l0.48,-2.47l-0.27,-0.75l-2.11,-0.98l-0.72,-0.85l-2.54,-1.77l-0.12,-0.51l0.82,-2.15l0.35,-2.11l-0.29,-2.08l-1.12,-1.57l-0.78,-0.17l-1.42,0.65l-1.15,-0.9l-1.49,-2.29l-3.33,-0.54l-0.94,0.81l-0.37,-0.7l-0.98,-0.21l-0.04,-0.93l-0.76,-0.44l-2.59,-0.27l-0.22,-0.69l-0.56,-0.44l-1.12,-0.28l-1.94,-1.43l-4.0,-1.06l-1.85,1.0l-1.09,-0.18l-1.37,0.99l-5.24,-0.22l-2.8,1.62l-0.38,0.61l-4.06,0.92l-0.67,1.8l-1.39,1.88l-9.41,1.42l-4.0,1.52l-1.37,1.36l-2.09,0.42l-4.14,-3.56l-1.48,-0.38l-4.17,0.7l-1.51,-0.63l-0.93,0.12l-4.48,-0.97l-3.48,0.03l-2.69,-1.58l-1.04,-0.1l-1.43,1.47l-2.08,0.85l0.02,-1.1l-1.22,-1.43l-1.5,-0.07l-1.1,-0.44l-0.93,-1.27l-2.27,-0.88l-0.94,-1.63Z\",\\n      \"name\": \"Ukraine\"\\n    },\\n    \"SE\": {\\n      \"path\": \"M520.76,323.75l2.31,0.87l1.42,-0.61l0.14,-0.52l-1.76,-2.91l2.49,-0.3l0.9,-1.54l-0.49,-1.97l-2.39,-1.12l-1.88,-2.97l-2.08,-1.66l-3.6,-6.12l-1.32,-4.24l-0.51,-0.26l-0.86,0.28l-0.98,-4.47l-1.97,-1.01l-0.41,-4.77l-0.3,-0.35l-1.93,-0.51l-1.22,-2.08l-0.43,-4.6l-1.38,-0.8l-0.89,0.07l0.29,-1.68l-0.86,-7.72l-0.81,-2.41l0.49,-1.42l0.99,-0.13l1.05,0.84l1.08,2.44l1.23,0.55l1.65,-0.68l1.12,-2.03l1.2,-5.71l-1.57,-5.83l2.04,-2.13l1.28,-3.25l0.59,-0.43l2.52,-0.49l1.73,-1.15l2.66,-2.86l0.5,-4.2l0.98,-2.97l-0.5,-2.21l-3.21,-7.03l-0.24,-1.94l1.98,-0.63l2.88,-0.11l0.56,-0.37l1.78,-3.52l0.73,-2.76l-1.76,-2.27l-2.22,-2.02l-1.56,-0.72l-4.24,-2.89l1.8,-9.09l0.16,-2.55l-2.56,-6.53l0.33,-2.72l-0.41,-4.04l1.37,-1.57l0.05,-0.47l-2.85,-5.97l2.76,-4.11l-0.39,-2.32l6.46,-7.29l1.66,-1.21l2.57,-1.06l2.85,-0.52l10.18,1.32l0.91,-0.69l0.88,-1.26l1.06,-1.69l0.15,-2.08l-0.38,-2.85l-0.59,-1.74l-5.55,-2.58l6.02,-7.64l5.01,-8.02l0.94,-7.63l1.16,-3.36l-1.16,-7.19l6.39,-0.83l4.58,-1.92l1.56,-1.27l-0.64,-4.3l1.68,-1.31l4.43,-4.91l7.14,-6.7l0.4,-2.56l-1.05,-2.31l-3.01,-3.81l0.7,-1.43l3.43,-1.05l1.77,-1.7l2.84,-6.35l5.14,-3.08l1.96,-1.6l7.81,3.15l0.47,-0.13l2.84,-3.95l0.73,-1.63l-0.2,-7.55l1.64,-0.55l0.91,-0.15l5.22,1.45l3.88,0.18l11.04,3.05l1.69,0.08l3.69,-2.87l-0.1,-0.68l-2.97,-1.22l1.87,-1.21l2.42,-3.65l0.39,-2.24l-0.15,-1.32l-2.42,-2.49l5.83,-0.32l3.49,1.28l0.41,1.76l3.54,1.83l3.19,2.43l0.7,0.87l7.17,3.99l2.75,1.04l2.32,0.34l5.63,1.69l0.91,0.52l3.19,2.48l1.11,2.74l1.96,0.38l2.08,2.53l2.08,1.38l-1.82,1.61l-0.02,4.22l0.55,1.9l-1.01,2.11l-0.15,1.45l0.57,0.6l3.27,0.52l0.47,1.84l-1.41,1.11l-0.54,0.92l0.17,2.66l0.56,1.56l3.57,4.32l0.53,1.22l-1.21,2.31l-0.38,2.92l-1.22,1.48l-0.86,0.53l-0.43,1.07l-0.12,1.6l0.36,2.86l0.77,1.59l2.15,1.04l1.83,3.4l1.28,3.66l-3.01,0.43l-2.89,-1.0l-1.28,0.49l-5.02,0.43l-1.55,1.09l-2.27,-1.04l-2.3,-1.86l-0.51,0.01l-1.64,1.38l-0.76,0.19l-1.06,-1.24l-1.24,-0.12l-1.65,2.67l-0.35,3.09l-1.94,-0.25l-0.44,0.48l0.14,0.6l0.53,0.47l-2.9,0.43l-0.18,0.93l0.46,0.62l-0.61,0.63l-4.41,0.46l-0.55,0.67l-0.09,0.87l0.3,0.61l0.77,0.46l0.08,0.6l-1.88,-1.4l-0.5,0.08l-0.3,0.57l1.85,2.46l0.35,1.44l-1.93,2.38l-3.11,2.99l-0.85,1.59l0.1,0.49l1.82,1.74l1.54,3.9l1.61,1.71l-0.59,1.44l-2.79,1.72l-3.32,2.76l-3.43,6.64l-1.04,0.81l-2.98,1.11l-1.22,1.15l-2.17,1.25l-4.05,1.19l-1.79,1.56l-0.81,1.54l-0.53,0.07l-2.04,-1.05l-0.54,0.31l-0.16,1.14l-1.25,-0.75l-0.51,0.08l-0.97,1.16l-0.67,1.65l-2.53,2.16l-2.77,-0.4l-0.7,0.56l0.41,0.72l-2.6,0.41l-0.39,0.27l-0.94,2.25l-2.29,0.6l-0.72,0.96l0.32,0.59l2.05,0.13l-0.3,1.29l-2.74,0.93l-1.07,1.24l-0.71,-0.02l0.17,-0.42l-0.38,-0.55l-1.69,0.04l-0.49,-0.91l-0.6,-0.13l-0.37,0.29l0.08,1.31l1.02,2.21l-0.79,1.02l-0.03,0.58l1.47,0.79l-0.87,0.37l-1.41,1.48l-1.42,0.04l-1.13,1.05l-0.71,-0.0l-2.16,-1.18l-0.52,0.21l-0.53,1.86l0.78,2.11l2.2,1.98l-1.12,1.3l-1.84,6.3l0.91,3.42l-2.8,-0.75l-0.53,0.45l0.23,1.26l-1.12,1.82l0.44,2.39l-0.34,1.5l0.79,1.46l-0.42,0.9l0.53,6.73l0.99,2.76l-0.36,2.22l1.62,1.58l3.13,0.25l0.85,1.75l0.4,0.25l1.24,-0.12l2.49,-0.95l0.7,1.43l2.09,2.15l1.35,1.02l1.94,0.48l1.89,1.5l-0.11,2.2l1.01,0.75l2.41,0.77l1.86,2.64l0.72,2.14l-0.21,1.13l-3.27,1.95l-1.93,1.86l-3.29,1.82l-0.78,0.74l-0.61,0.26l-0.88,-0.13l-2.7,1.43l-0.19,0.48l0.54,0.87l2.07,0.26l1.22,-0.32l0.88,-0.73l1.45,-0.01l1.59,-0.76l0.43,0.17l0.48,0.84l-2.58,0.83l-0.54,2.14l-1.03,1.23l-2.47,0.91l-3.56,2.1l-1.06,-0.11l-1.26,0.94l-2.84,1.13l-1.56,1.59l-3.24,1.35l-1.66,1.1l-8.84,-0.19l-1.55,0.56l-0.25,0.42l2.6,0.99l1.39,-0.17l4.0,0.51l1.35,1.35l-3.09,0.88l-0.3,0.52l1.51,4.14l-0.88,1.13l-0.06,4.42l-1.32,0.36l-0.56,1.98l0.4,1.19l0.25,3.77l0.62,1.3l-0.25,1.17l-2.12,3.38l0.05,1.51l0.64,2.28l-2.37,6.77l-1.76,2.26l-0.93,1.78l-2.08,5.31l-1.98,1.63l-2.71,-1.1l-1.67,0.06l-2.41,0.6l-3.73,-0.4l-3.83,0.25l-0.92,0.53l-0.18,0.46l0.43,1.51l-0.8,0.15l-1.56,-0.48l-2.19,1.42l-1.9,1.7l-0.71,1.14l-0.17,2.38l1.76,3.55l-2.0,2.18l-1.06,0.07l-3.83,-0.68l-6.49,1.54l-5.29,-1.1l0.53,-1.06l0.42,-5.2l-0.52,-1.24l-1.43,-1.42l-3.24,-4.83l-1.03,-2.15ZM610.35,291.1l-0.44,1.16l-0.16,-0.02l-0.35,-0.5l0.95,-1.01l0.99,0.04l-0.99,0.33ZM608.6,293.08l-0.69,0.4l-0.58,1.21l-1.9,1.01l-0.31,4.36l1.23,1.47l-1.23,0.69l-1.15,2.25l-2.03,0.82l-0.99,0.77l-1.3,1.61l-0.6,1.99l-1.6,0.85l1.52,-2.4l-0.04,-0.53l-0.96,-0.91l-1.29,-2.5l0.57,-1.33l-0.21,-4.03l3.53,-3.79l1.7,-1.37l2.27,-0.59l0.99,0.53l0.56,-0.21l0.42,-1.14l0.49,-0.18l1.6,1.03ZM602.8,260.19l0.1,-0.33l0.6,-0.21l-0.46,0.3l-0.23,0.24ZM600.15,269.23l0.11,-0.28l0.27,-0.3l-0.36,0.57l-0.02,0.01ZM574.47,322.99l-0.65,0.71l-0.32,-0.99l0.14,-4.77l2.86,-5.75l1.39,-0.63l3.64,-8.06l0.2,-0.26l0.38,0.11l-0.59,0.73l0.06,1.24l-2.27,4.27l-0.62,2.77l-0.83,0.77l-3.37,9.86Z\",\\n      \"name\": \"Sweden\"\\n    },\\n    \"AT\": {\\n      \"path\": \"M481.24,489.9l0.13,-0.58l-1.06,-2.68l1.05,-2.02l0.09,-1.67l1.32,-0.27l0.2,-0.84l3.5,1.6l0.51,1.42l1.54,0.43l-0.16,1.17l0.45,0.42l1.9,-0.64l0.89,-1.0l0.56,-1.07l0.32,-1.9l2.68,-0.0l2.56,0.45l1.56,1.96l1.23,0.23l3.45,-0.54l1.5,-1.13l4.2,-1.6l6.32,-0.62l0.56,-0.68l-0.02,-0.91l1.71,0.39l1.72,0.89l2.72,-0.54l0.93,0.41l0.03,1.0l0.54,0.69l2.21,1.18l0.81,-0.01l0.6,-0.84l0.29,-2.75l-0.54,-1.0l-1.45,-0.25l0.66,-1.25l-0.01,-1.43l-2.62,-3.34l0.61,-1.04l3.51,-1.91l3.25,-0.97l0.81,-0.58l0.62,-0.8l0.73,-2.89l2.33,0.93l1.08,-0.42l0.94,-0.96l0.25,-2.75l1.82,1.08l1.04,1.69l1.99,0.43l2.41,0.04l1.64,-0.85l2.7,0.45l0.45,-0.33l0.19,-1.16l1.34,-1.55l1.2,0.04l0.39,-0.27l0.74,-3.74l0.73,0.04l1.42,0.91l2.0,-0.47l5.16,1.96l1.7,-0.05l3.21,1.91l4.25,0.28l1.59,-1.06l5.12,1.61l0.79,1.59l-1.13,2.46l0.03,1.3l1.48,3.33l1.49,2.65l0.58,0.5l-0.55,0.63l-0.13,0.95l-0.66,1.21l0.38,2.0l-3.35,0.39l-2.64,-1.21l-0.78,0.17l-1.67,1.19l-0.17,0.52l0.4,0.53l2.63,0.76l0.36,0.9l-0.61,1.28l-2.51,1.02l0.22,2.14l-0.57,1.05l0.29,1.33l0.71,0.37l-0.38,1.52l-1.55,0.13l-1.08,0.52l-3.02,2.24l-0.95,1.05l-0.06,1.65l-2.43,-0.52l-1.83,0.22l-2.62,1.17l-3.01,-0.22l-4.42,0.64l-0.86,0.49l-1.18,1.41l-2.58,1.56l-9.66,-1.84l-4.61,-0.75l-4.38,-0.3l-9.29,-1.69l-1.1,-0.46l-3.08,-3.86l-0.22,-0.59l0.9,-1.44l-0.7,-0.65l-5.54,1.63l-3.29,-0.2l-4.01,0.41l-1.66,0.81l-1.47,2.36l-1.02,0.33l-2.05,-0.36l-1.13,-0.95l-2.83,-0.17l-0.56,-1.63l-1.1,-0.55l-3.07,2.23l-3.13,-1.32l-0.64,-1.3l-3.07,-0.87Z\",\\n      \"name\": \"Austria\"\\n    }\\n  },\\n  \"height\": 790.3360148034734,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 11.5\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(101))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'in_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 932.9661457393951,\\n    \"bbox\": [{\\n      \"y\": -4125883.782575976,\\n      \"x\": 7589536.343670783\\n    }, {\\n      \"y\": -752405.3962423172,\\n      \"x\": 10843813.641475728\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"IN-BR\": {\\n      \"path\": \"M484.32,277.67l0.73,-0.96l-0.3,-0.93l-0.88,-0.99l2.18,-0.33l2.83,0.22l2.64,-2.44l0.65,0.88l1.12,0.53l0.73,1.16l1.44,0.13l0.88,1.39l0.78,0.52l8.92,1.6l1.49,1.54l0.75,2.31l-0.09,2.43l-1.0,2.2l0.17,0.95l0.56,0.5l3.94,1.04l1.49,-0.43l1.1,0.93l2.15,0.84l0.79,1.78l1.96,0.85l0.04,0.75l0.36,0.35l0.96,0.04l2.23,-0.69l0.89,0.36l0.08,1.86l1.02,1.19l3.03,0.83l1.86,-0.39l1.41,-1.3l1.63,-0.0l2.51,-1.3l2.45,-0.81l2.64,1.62l0.21,0.97l-0.22,2.39l0.42,1.46l2.16,1.84l1.01,-0.0l0.22,0.89l0.54,0.28l1.3,-0.5l2.57,-2.01l1.7,-0.38l3.07,1.67l1.2,0.08l1.34,0.59l2.79,-0.96l0.36,0.09l0.11,0.57l0.46,0.36l1.14,-0.05l4.28,1.79l1.88,1.41l4.91,2.34l0.65,-0.32l0.42,-0.67l1.5,0.42l1.07,-0.27l0.84,-0.55l0.93,-1.39l2.89,-1.18l1.56,-1.41l0.73,3.4l1.29,2.14l1.24,0.5l2.44,-0.41l0.71,1.14l2.25,0.92l0.7,-0.4l0.94,-1.66l1.64,-0.68l1.77,0.1l2.15,1.18l1.43,0.3l2.71,-1.46l0.9,0.58l0.74,0.03l0.64,-0.42l0.39,-1.06l1.69,0.41l1.28,-0.84l0.78,0.58l1.04,1.56l1.36,0.93l1.28,-0.0l1.4,-1.3l0.98,-1.67l0.32,-2.54l1.11,0.19l1.81,-0.54l-0.25,1.26l2.57,2.21l-0.61,0.46l-0.14,0.71l1.31,0.93l0.18,0.65l-0.99,0.12l-1.4,1.13l-1.21,0.45l-3.14,3.08l-1.92,1.35l-1.46,0.45l-1.05,1.31l-3.05,2.6l-0.73,2.89l-0.66,0.33l-0.26,0.54l0.49,1.44l1.99,1.18l1.38,2.54l1.16,1.11l1.88,0.79l1.0,0.91l0.39,1.89l-0.42,2.19l0.68,1.39l-1.31,-0.23l-0.83,-0.82l-1.07,-0.2l-2.31,1.07l-0.91,0.98l-2.54,1.15l-0.86,1.17l-0.03,0.52l1.06,1.26l0.71,0.03l1.1,2.34l-1.16,1.61l-1.13,-0.8l-2.11,0.07l-2.4,-0.65l-0.85,-1.16l-1.55,-0.73l-2.09,1.48l-1.42,3.04l-1.75,-0.38l-1.94,0.54l-0.7,1.28l-0.53,2.54l-1.11,-0.28l-1.23,0.43l-1.15,1.08l-0.95,1.56l-0.02,4.14l-1.58,2.6l0.22,1.29l-0.25,2.5l-0.67,2.32l-3.65,-0.85l-1.11,1.73l-0.08,0.78l-1.8,-0.56l-1.86,-1.14l-0.7,0.13l-0.57,0.88l-0.58,0.3l-1.44,0.17l-1.24,-0.58l-1.1,0.08l-2.84,2.71l-0.35,2.31l-0.66,0.61l-0.34,1.45l-4.74,-2.95l0.93,-1.5l-0.46,-2.24l-2.49,-0.71l-1.39,0.5l-1.2,-0.75l-0.53,-2.93l-0.94,-1.11l-1.16,-0.27l0.25,-0.54l-0.25,-0.67l-1.15,0.06l-1.82,1.29l-1.16,0.12l-1.33,-1.63l-1.34,-0.72l-2.71,0.04l-1.03,0.64l-0.64,1.13l-0.35,1.75l-1.32,0.86l0.46,1.43l-0.08,1.26l-2.09,-0.13l-1.88,1.89l-1.05,-0.3l-2.8,-0.01l-3.56,0.74l-0.45,0.74l-3.09,1.2l-0.45,0.51l-0.04,0.72l-1.53,1.38l0.11,-1.07l-0.45,-0.39l-3.33,1.32l-1.97,-0.04l-0.37,-0.38l-0.39,-2.05l-0.44,-0.37l-0.85,0.15l-0.38,-1.56l-1.06,-0.48l-3.69,2.24l-0.86,1.72l-2.29,-0.51l-1.24,1.5l-0.27,0.79l-0.51,0.49l-0.76,0.1l-1.39,-1.35l-2.08,-1.34l-1.51,-1.71l0.38,-0.69l-0.02,-1.06l-0.71,-1.19l-0.78,-0.19l-0.66,0.49l-0.73,-0.27l-1.47,0.23l-0.36,0.39l-0.0,1.03l-0.3,-0.98l-0.78,-0.09l-0.53,1.26l-0.76,-0.87l-1.6,-3.93l-0.85,-0.67l-0.69,0.16l-0.72,1.49l-2.03,1.42l-2.05,0.28l-1.37,-0.23l-0.86,0.31l-0.55,0.68l-1.94,0.19l-4.92,-0.81l0.03,-2.88l-0.43,-1.19l0.61,-1.14l-0.28,-1.64l-0.55,-0.62l-2.0,-0.71l-2.6,-2.78l0.35,-1.72l-0.05,-2.24l-1.27,-2.58l0.34,-3.02l0.62,-1.14l1.7,-1.27l11.06,-6.27l0.86,-0.66l0.44,-0.81l2.19,-0.92l3.62,-3.02l1.7,-2.16l2.53,-1.98l0.88,-0.25l0.74,0.43l-0.04,1.29l0.37,0.92l0.82,0.61l1.2,0.16l1.16,-0.32l0.69,-0.62l0.03,-1.0l-0.41,-1.1l0.17,-0.52l1.25,-0.49l1.93,1.49l1.54,0.6l1.32,0.01l2.29,-1.37l0.73,-1.81l-0.34,-0.78l-2.28,-2.05l-2.42,-0.33l-1.18,-0.71l-0.5,-0.92l-0.82,-0.67l-3.49,0.28l-0.93,-0.9l-0.59,-1.69l-0.97,-0.39l-0.91,-1.45l-2.52,-1.19l-1.28,-2.57l-1.04,-0.81l0.41,-0.8l2.49,-0.34l0.91,-0.6l1.31,0.19l0.82,-0.39l0.25,-0.57l-0.78,-1.52l0.71,-1.33l0.02,-0.66l-0.45,-0.55l-2.83,-0.73l-2.18,-1.58l-1.33,0.6l-1.31,-0.25l0.0,-2.11l0.43,0.93l0.6,0.15l0.88,-1.02l1.95,-0.62l1.34,-2.77l8.58,0.29l0.57,-0.33l0.16,-0.55l-0.47,-0.95l-2.41,-2.3l-0.79,-0.41l-1.03,-0.04l0.16,-2.85l-0.51,-1.31l-1.39,-0.46l-1.37,0.64l-2.26,-1.46l-1.22,-2.32l-0.19,-2.14l-0.79,-0.77l-0.57,-1.24l-1.11,-1.03l0.06,-2.11l-0.66,-1.12l-1.11,-0.96l0.19,-1.5l-0.52,-0.38l-0.62,0.03Z\",\\n      \"name\": \"Bihar\"\\n    },\\n    \"IN-PY\": {\\n      \"path\": \"M432.94,621.28l0.12,-0.11l0.06,0.17l-0.03,-0.0l-0.16,-0.05ZM434.43,621.71l0.34,-0.0l0.03,0.12l-0.21,-0.03l-0.16,-0.08ZM355.48,770.41l0.24,-0.33l0.83,0.78l1.19,-0.08l-0.49,1.07l1.07,0.9l0.61,-0.12l1.09,-0.94l-0.97,2.81l-1.98,-0.18l-0.66,-0.53l0.23,-1.51l-1.16,-1.87ZM356.86,803.07l0.79,-0.26l-0.03,-0.93l0.92,0.32l0.8,-0.45l0.68,0.07l0.07,4.51l-0.78,-0.6l0.25,-0.69l-0.28,-0.5l-2.69,-0.99l0.29,-0.48ZM218.44,768.85l0.02,-2.05l1.16,0.12l1.63,-1.29l0.73,0.2l-0.37,0.3l-0.72,-0.09l-0.44,0.41l-0.27,1.66l-1.25,1.09l-0.5,-0.37Z\",\\n      \"name\": \"Puducherry\"\\n    },\\n    \"IN-DD\": {\\n      \"path\": \"M144.48,504.35l0.06,-0.81l0.49,-1.24l0.48,0.6l0.06,1.15l-1.09,0.3Z\",\\n      \"name\": \"Daman and Diu\"\\n    },\\n    \"IN-DN\": {\\n      \"path\": \"M146.62,508.98l1.49,0.02l0.64,-1.32l0.96,0.1l1.81,-1.3l0.0,1.2l1.42,0.47l-2.51,1.64l-0.2,0.71l0.26,1.36l0.63,0.79l1.15,0.12l0.71,-0.32l0.3,-1.06l1.1,0.26l-0.01,2.67l-0.38,1.21l-1.24,-0.9l-1.12,0.47l-0.96,-0.54l-0.98,0.61l-1.35,-2.56l-0.26,-1.86l-1.39,-1.3l-0.07,-0.48Z\",\\n      \"name\": \"Dadra and Nagar Haveli\"\\n    },\\n    \"IN-DL\": {\\n      \"path\": \"M269.18,237.92l-1.09,-1.45l1.02,-1.35l1.39,-0.53l0.24,-1.0l0.78,-0.87l-0.35,-3.41l0.21,-0.9l1.59,-0.79l1.2,-0.05l0.91,-0.88l2.3,0.67l1.4,-0.39l0.27,0.61l-0.2,0.97l0.58,1.16l2.51,2.23l0.25,0.66l0.62,2.22l-0.95,1.04l-0.26,0.81l0.7,1.44l-2.32,0.75l-0.66,0.79l0.48,1.01l-0.98,0.25l-2.63,-1.33l-0.89,-1.75l-2.19,-1.1l-0.66,0.01l-0.48,0.79l-2.76,0.39Z\",\\n      \"name\": \"Delhi\"\\n    },\\n    \"IN-NL\": {\\n      \"path\": \"M779.92,344.86l0.24,-2.48l-0.5,-1.53l-1.51,-1.38l-1.72,-2.41l5.61,-4.5l1.79,-2.48l3.84,-3.32l0.18,-0.6l-0.86,-1.43l1.99,-1.01l0.92,0.2l0.22,1.55l-1.05,1.7l0.18,0.61l0.39,0.2l3.95,-0.86l1.52,-1.07l1.37,-2.13l-0.58,-1.75l0.0,-0.99l1.01,-1.64l0.11,-3.4l2.88,-3.87l2.12,-1.95l0.79,-3.49l2.04,-2.58l0.89,2.11l0.8,0.16l0.76,-0.33l1.67,-1.57l0.74,-1.09l0.25,-1.63l1.49,-1.74l1.12,-0.19l0.86,-0.7l1.24,0.02l2.52,-1.07l3.03,-1.88l1.13,-0.97l1.92,-2.9l1.52,-1.46l1.31,0.78l1.78,-0.04l4.5,-2.81l1.45,1.13l0.13,1.9l-0.88,1.28l-0.18,0.95l0.32,0.93l0.81,0.73l-0.26,2.06l0.63,1.74l-1.12,0.02l-0.96,1.1l-1.61,0.79l-0.48,2.09l-2.17,2.74l0.78,2.22l-0.69,2.6l0.11,2.79l0.48,1.15l0.9,0.47l-0.42,0.83l0.3,2.22l0.56,0.6l1.14,0.39l0.23,0.64l-2.48,2.95l-2.14,1.25l-0.24,1.45l0.63,3.47l-0.08,1.03l-1.42,0.62l-3.3,4.31l-0.08,0.67l-0.92,0.26l-1.66,2.11l-2.18,0.49l-1.29,0.92l-0.79,-0.14l-2.19,-1.69l1.06,-3.49l0.1,-2.14l-0.72,-0.37l-2.49,2.12l-1.72,0.98l-1.48,1.73l-1.75,0.89l-3.83,0.5l-1.34,-0.81l-1.99,0.08l-1.96,-1.16l-6.95,0.35l-1.1,0.4l-0.54,1.41l0.25,0.38l1.19,0.4l0.13,0.77l-3.93,3.81l-0.97,2.24l-1.16,1.64l-1.08,-1.27l-1.34,-0.42l-1.8,-1.16Z\",\\n      \"name\": \"Nagaland\"\\n    },\\n    \"IN-WB\": {\\n      \"path\": \"M545.45,405.85l-0.5,-0.98l0.56,-0.42l5.08,-0.89l0.31,-0.72l-0.47,-1.55l0.74,-0.53l1.67,0.87l0.84,0.07l-0.32,2.17l0.35,0.57l1.81,0.66l1.35,0.95l1.69,-0.33l1.95,-1.65l0.58,-2.23l1.76,-1.44l7.16,-2.58l3.6,-0.58l1.37,-0.52l0.56,-0.8l0.21,-1.04l-0.38,-1.28l0.13,-0.59l1.64,-2.23l2.89,1.56l1.05,0.13l2.02,1.46l1.68,0.42l1.24,-0.23l0.42,-0.94l-0.98,-1.3l1.48,0.29l0.47,0.6l0.77,0.13l0.6,-0.83l0.08,-1.2l0.67,-0.26l0.38,-0.66l-0.04,-1.15l-1.61,-2.24l1.91,-0.48l0.42,1.44l0.56,0.34l1.97,-0.7l1.91,0.1l1.22,-1.17l-0.03,-2.65l0.4,-0.06l1.12,0.83l0.64,-0.01l0.71,-0.96l0.29,-1.21l1.52,0.03l0.69,-0.57l0.01,-0.7l-0.45,-0.74l-0.74,-0.19l-0.01,-0.67l2.93,-1.81l1.74,-3.39l0.04,-1.52l0.75,-1.33l-0.41,-1.07l0.04,-1.25l-0.42,-0.42l1.37,0.59l1.07,-0.12l0.94,-0.6l0.46,-0.93l-0.2,-0.47l-0.58,-0.24l0.58,-0.51l0.08,-0.51l-0.69,-2.04l-0.63,-1.08l-1.12,-0.31l-0.14,-0.29l0.68,0.28l0.62,-0.34l0.26,-2.07l0.61,-1.34l-0.14,-1.71l-1.05,-3.44l-2.07,-1.79l-0.21,-1.92l0.46,-1.62l0.97,-1.02l0.74,-1.55l-0.87,-2.23l-0.57,-0.72l-0.74,-0.08l-0.57,-0.84l0.56,-0.79l2.33,-1.03l0.96,-1.0l2.16,-0.97l1.4,1.03l1.9,0.33l0.47,-0.45l-0.11,-1.05l-0.63,-0.84l0.41,-2.35l-0.5,-2.1l-1.25,-1.16l-1.89,-0.81l-1.11,-1.14l-1.2,-2.32l-1.92,-1.09l-0.39,-1.0l0.85,-0.61l0.64,-2.73l2.92,-2.46l1.08,-1.34l1.42,-0.41l1.96,-1.39l2.66,-2.74l1.56,-0.7l1.28,-1.06l1.18,-0.21l0.32,-0.73l-0.46,-1.15l-1.07,-0.55l0.79,-0.66l-0.12,-0.71l-1.34,-1.38l-1.14,-0.68l0.23,-1.51l-0.57,-0.35l-2.11,0.6l-0.78,-0.16l2.21,-5.06l0.16,-2.07l-0.51,-3.36l-1.72,-3.31l-1.28,-1.98l-1.44,-0.95l-1.12,-1.75l0.87,-4.21l1.51,1.11l0.39,1.54l0.74,0.73l4.09,0.21l3.92,1.74l2.29,-0.56l2.85,-2.48l2.71,0.28l1.59,-0.16l0.79,0.57l1.28,0.26l2.69,1.54l0.46,1.37l0.19,3.46l0.29,0.34l1.63,-1.15l0.76,1.97l0.84,0.27l1.26,-0.33l0.64,0.28l1.07,0.92l0.7,1.54l0.63,0.6l3.73,0.29l1.04,-0.28l0.94,-0.75l1.87,-0.3l3.01,1.82l2.09,-0.18l2.3,0.6l0.6,0.46l-0.29,1.59l0.63,0.37l2.22,-0.41l1.68,0.7l2.49,0.24l0.75,-0.98l0.75,2.6l0.28,3.28l-0.9,2.05l-0.46,2.89l-0.88,0.81l0.31,0.9l-1.25,0.59l-0.72,1.5l-0.86,0.56l0.04,1.22l-1.55,0.49l-0.18,-0.8l-0.86,-0.37l-1.27,0.64l-0.02,1.22l-0.94,0.39l-0.42,1.08l0.57,0.68l-0.48,0.58l0.23,0.75l1.09,0.15l-1.54,1.52l-0.38,1.81l-1.38,-1.31l-2.29,0.18l-0.73,-0.75l-1.31,0.6l-0.84,-0.27l-1.33,-1.22l-1.01,-0.45l-0.8,-1.36l-2.47,-1.14l-0.46,-0.78l-0.28,-2.06l-1.01,-1.97l-0.01,-0.39l0.84,-0.04l0.09,-1.08l-1.36,-0.64l-0.24,-0.96l-1.33,-0.55l-1.96,-1.58l-0.57,-0.06l-0.99,0.67l-0.74,1.31l-0.01,0.73l0.75,0.92l1.61,0.68l0.49,1.17l0.62,0.23l0.34,0.57l0.65,0.14l-0.29,0.34l-1.18,0.29l-0.68,-0.22l-1.29,-1.25l-1.04,-0.25l-0.91,0.46l-0.72,1.18l-0.91,-1.51l-1.33,-0.61l-1.97,0.6l0.81,-0.62l0.24,-1.27l-1.29,-0.96l-0.66,-1.82l-1.2,-0.43l-0.74,-1.07l-1.95,-0.46l-2.01,-1.77l-1.53,-0.53l-0.33,-2.09l-0.46,-0.49l-0.9,0.45l-0.68,1.2l-1.21,3.24l0.06,0.87l0.87,0.76l0.58,-0.35l0.14,-0.78l2.98,0.87l0.96,2.56l-1.84,-0.15l-3.0,2.73l-0.3,2.13l-3.15,1.09l-1.89,1.47l-0.78,1.93l0.51,1.07l-0.12,0.57l-0.79,0.64l-1.63,3.72l0.4,2.48l1.35,2.12l1.02,0.06l2.3,-0.88l0.79,0.4l1.81,2.04l2.96,2.25l0.25,2.15l1.56,0.98l1.71,2.04l2.13,0.28l2.25,1.05l0.73,-0.2l0.76,-0.76l1.66,-0.37l1.12,1.2l-0.48,1.96l1.4,2.3l1.33,0.44l0.8,0.66l2.14,0.08l-0.15,0.49l-1.45,1.22l-0.04,1.1l-0.32,0.07l-0.24,0.62l-2.61,-0.88l-0.47,0.18l-0.58,0.98l-1.64,-0.16l-2.86,-0.85l-1.23,-0.01l-1.12,0.71l-2.46,-0.78l-1.5,0.37l-0.35,0.76l-0.17,3.89l-0.99,1.68l-0.5,1.66l-1.59,2.27l-1.78,-0.3l-0.37,-1.1l-1.21,-1.04l-1.33,0.16l-1.59,0.83l-0.21,0.5l0.78,2.11l-0.83,1.08l-0.67,0.34l-0.28,1.04l-0.9,0.53l-0.14,1.33l-0.83,2.23l0.28,0.45l0.9,0.3l0.73,1.05l0.07,1.91l1.05,1.48l0.84,0.18l8.01,4.07l2.42,1.81l5.01,0.7l1.0,-1.38l1.17,0.59l0.6,0.78l0.3,2.04l-0.42,0.68l-1.42,0.76l-0.3,0.7l-0.09,2.48l0.81,1.21l0.65,0.38l-0.58,0.9l0.35,2.32l-1.67,1.6l-1.68,0.07l-0.85,0.66l-0.02,1.23l-0.76,1.49l0.25,1.1l-0.6,3.39l0.72,0.51l-0.1,0.68l0.41,0.56l1.25,0.21l1.1,1.66l1.75,1.33l0.39,0.76l0.88,0.04l0.61,-0.71l-1.51,4.2l-1.03,1.81l-0.01,0.88l0.44,0.92l2.58,1.08l1.56,-0.51l3.8,1.0l-2.85,2.89l-0.46,0.98l-0.39,3.23l1.78,3.39l1.51,0.97l-0.23,1.76l-0.92,1.57l1.48,4.98l-0.13,0.51l-0.56,0.36l0.08,0.71l1.11,0.51l0.92,3.0l-0.39,1.34l0.91,2.85l-0.27,0.58l1.66,2.45l0.42,1.62l-1.03,0.69l-0.22,1.48l0.63,1.91l0.14,2.67l-1.18,0.15l-0.44,0.52l-1.34,-0.77l-0.36,-1.32l-0.38,-0.28l-0.81,0.22l-0.3,0.82l0.64,1.51l2.25,1.42l0.54,0.87l0.86,3.85l1.27,1.9l-0.01,1.43l-0.48,0.14l-0.33,-0.52l-0.69,-0.07l-0.64,0.78l-1.89,-1.22l-1.24,-0.27l-0.7,-3.49l-0.61,-0.28l-0.4,0.34l-0.62,2.07l0.63,2.03l-0.94,0.29l0.5,-1.05l-0.26,-0.97l-0.39,-0.27l-1.42,1.86l0.48,2.23l-0.61,0.28l-1.15,-0.41l0.33,-1.07l-1.1,-2.67l0.57,-3.6l-0.26,-0.99l0.59,-1.77l0.2,-2.12l1.06,-1.02l0.23,-0.74l-0.27,-0.9l-1.35,-1.0l1.61,-2.01l-1.14,-0.17l-1.44,1.2l-0.31,1.39l1.07,0.87l-0.15,0.5l-0.98,2.08l-1.2,-0.05l0.8,-2.06l-0.43,-2.86l1.34,-2.58l-0.1,-0.63l-0.99,-0.36l-1.64,3.33l0.18,2.1l-0.71,1.31l-0.13,2.49l-0.97,2.58l-0.07,2.69l0.46,0.46l1.46,-0.37l0.16,0.55l-0.31,1.14l-0.55,-0.13l-0.4,0.44l0.23,2.14l-0.66,0.46l-0.07,1.76l-0.47,-0.41l-0.69,0.01l-0.11,1.32l-0.51,-0.09l0.07,-1.06l0.6,-0.74l0.46,-2.03l-0.73,-2.54l0.85,-1.8l-0.11,-1.1l-0.98,-1.56l0.53,-1.9l-0.75,-0.79l-0.46,-0.03l-0.08,0.85l-0.75,1.52l0.64,2.32l-0.63,0.42l-0.66,1.98l0.48,3.04l-0.28,0.49l-1.35,0.68l-0.22,-1.85l0.28,-0.81l-0.46,-0.52l-1.07,0.39l-0.38,-0.84l-0.84,0.2l-0.44,-2.18l-0.57,-0.66l-0.63,-0.16l-0.42,0.44l0.08,0.75l1.01,3.85l-0.42,1.45l0.66,1.05l-0.95,0.35l-0.35,-1.27l-0.51,-0.52l-0.6,0.03l-0.58,-1.49l0.87,-2.47l-0.23,-0.94l0.2,-0.63l-1.67,-3.15l-0.24,-2.24l0.24,-0.83l2.02,-2.79l-0.71,-3.23l-3.61,-1.75l-0.09,-0.54l-0.61,-0.27l-0.84,0.43l-0.77,-0.39l-1.03,-1.26l-0.97,-4.14l-0.49,-0.54l-0.92,-0.13l-0.41,0.6l0.54,0.86l0.74,3.83l0.6,1.16l1.56,1.46l3.72,0.8l0.73,0.61l0.32,1.05l-0.22,0.69l-1.51,1.64l-2.08,0.56l0.04,1.33l-2.0,4.07l-2.48,1.79l-1.01,1.44l-4.96,3.02l-2.47,0.14l-4.13,1.11l-1.25,-2.09l0.04,-2.21l-0.26,-0.62l-0.76,-0.57l-4.7,-1.12l-0.64,-1.11l-0.35,-2.0l-0.83,-1.17l-2.44,-0.78l-2.21,2.36l-0.3,-0.07l-0.94,-1.35l0.28,-2.14l-0.68,-1.6l-1.45,-1.03l-1.64,-0.67l-1.74,-0.15l-2.08,-1.48l-1.77,-0.61l-0.33,-0.57l0.32,-0.22l0.61,-0.36l1.19,0.03l0.28,-1.32l2.26,-0.3l0.3,-0.79l-1.52,-1.54l-0.47,-2.23l-2.14,-1.64l-0.14,-0.58l0.98,0.03l0.45,-0.53l-0.69,-1.9l-1.33,-1.0l-2.63,-0.5l-0.79,-2.5l-1.98,-1.62l-0.94,-0.49l-1.31,-0.05l-1.46,-1.14l0.13,-2.51l0.41,-1.21l-0.13,-0.83l0.77,-0.68l1.92,-0.56l0.18,-0.83l-1.95,-0.64l-4.23,-0.15l-1.7,-0.37l-1.31,-0.0l-1.19,0.45l-5.28,-5.12l-1.99,-0.54l-1.51,0.49l-0.33,-1.19l-1.25,-1.57l0.38,-1.25l1.12,-1.59l0.49,-2.12l-0.57,-0.72l-1.16,-0.03ZM621.37,462.65l0.62,0.85l-0.48,1.24l-0.1,-0.46l-0.03,-1.63ZM639.28,467.29l-1.47,0.01l-0.03,-1.73l1.33,0.75l0.17,0.97ZM630.2,458.45l-0.18,-0.62l0.39,-0.95l1.22,-1.6l0.22,0.26l-0.7,3.21l-0.96,-0.3ZM615.62,464.13l-1.95,-0.31l-0.34,-0.61l1.43,-4.38l1.08,-1.59l0.53,2.85l-0.1,1.69l-0.79,0.55l-0.14,0.48l0.28,1.31ZM614.23,456.85l0.15,-1.15l0.64,-1.08l0.26,0.49l-0.18,0.81l-0.87,0.92Z\",\\n      \"name\": \"West Bengal\"\\n    },\\n    \"IN-HR\": {\\n      \"path\": \"M197.67,196.54l-1.92,0.66l-0.68,-0.19l-0.12,-0.33l0.58,-1.74l1.54,-0.71l0.56,-0.71l0.04,-0.87l-1.03,-1.19l0.03,-0.46l3.74,1.02l2.05,-1.87l3.05,-0.56l0.68,0.68l2.25,0.52l0.65,1.26l1.95,1.36l2.44,-0.58l0.57,-1.17l-0.41,1.39l0.24,1.61l1.61,1.38l0.49,-0.02l0.38,-1.05l0.49,-0.25l0.24,0.89l0.89,1.26l-0.77,0.21l-0.05,1.32l-0.89,0.47l-0.18,0.49l2.26,4.51l0.68,0.02l1.72,-0.75l-0.08,-1.9l0.4,-0.66l1.05,-0.42l0.07,-0.72l1.15,-1.12l1.84,-2.76l4.54,1.48l1.87,-0.35l1.18,0.2l0.81,-0.43l0.25,-1.03l1.84,-0.6l1.45,0.72l0.68,1.43l0.66,0.57l2.19,0.36l1.5,-0.6l1.29,-0.08l1.38,-1.54l2.31,-0.92l2.19,-1.64l-0.08,-0.61l-0.99,-0.75l-0.42,-1.25l0.77,-2.4l0.6,-0.91l-0.16,-0.9l0.93,-0.28l0.17,-0.47l-1.41,-0.86l0.04,-0.31l1.21,0.8l1.17,0.28l1.1,-0.22l0.28,-0.67l0.98,0.56l0.49,-0.29l0.43,-0.88l0.03,-1.16l0.63,1.85l0.67,0.93l1.52,0.62l1.31,-0.04l3.08,-2.2l0.45,-2.11l-1.11,-0.83l-0.74,-1.06l1.96,-0.97l2.75,-2.1l0.15,-0.69l-0.67,-0.42l0.18,-0.95l0.62,-0.28l0.94,0.26l1.29,-0.13l1.11,2.15l0.94,0.05l0.48,-0.5l0.29,-1.07l-0.34,-3.0l0.44,-1.02l-0.52,-1.05l0.23,-1.9l-0.5,-1.28l-0.77,-0.38l-0.31,-1.22l-0.78,-0.13l0.06,-1.77l-0.44,-1.16l0.68,-1.4l0.01,-0.71l-0.29,-0.49l-0.85,-0.37l-0.78,-1.44l0.75,-0.5l0.96,1.15l1.8,0.0l0.72,0.82l0.49,1.43l1.37,0.91l0.34,0.94l3.46,1.85l0.71,0.88l0.16,2.59l-0.5,1.22l0.09,0.78l2.08,1.94l0.25,0.78l0.44,0.23l0.93,-0.4l1.76,0.9l1.62,0.31l0.93,0.77l1.26,-0.33l0.59,0.71l2.07,-0.23l2.03,1.34l-0.49,3.0l-4.77,4.22l-0.4,1.32l-2.42,1.67l-0.2,0.66l-0.96,0.19l-0.26,0.72l-1.47,1.42l-0.66,1.71l-0.89,4.15l-0.47,0.9l-0.85,0.28l0.03,1.48l-0.81,0.56l-0.03,0.91l-0.63,0.62l-0.17,1.53l0.38,1.01l-0.82,0.38l-0.38,0.67l0.4,1.11l-0.1,1.06l0.71,0.51l0.71,-0.06l-1.49,1.77l0.33,0.56l2.21,0.16l-0.49,1.16l0.06,1.19l0.44,0.83l-0.56,1.13l0.32,4.99l-0.22,0.57l1.83,3.91l-0.49,0.52l-0.07,0.59l1.38,1.81l-0.48,0.8l-1.19,0.43l-2.62,-0.68l-1.12,0.96l-1.76,0.23l-1.23,0.79l-0.42,1.42l0.38,3.16l-0.71,0.77l-0.21,0.93l-1.26,0.39l-1.28,1.97l1.21,2.02l0.49,0.29l3.29,-0.53l0.51,-0.79l1.96,0.95l0.92,1.77l2.96,1.49l1.17,-0.15l0.67,-0.44l0.11,-0.6l-0.47,-0.68l0.36,-0.34l2.21,-0.63l1.36,1.03l-0.01,0.77l0.51,0.3l0.72,-0.35l0.65,1.19l0.96,-0.1l-0.04,0.82l0.65,0.59l-0.7,2.07l0.67,0.83l0.27,1.32l1.0,0.34l-0.17,0.55l-0.64,0.25l-0.17,0.47l0.74,0.72l-0.77,0.85l0.01,1.32l-0.24,-0.15l-0.61,0.36l0.19,1.33l-0.23,0.73l0.1,0.41l1.03,0.81l0.7,1.8l-0.54,0.3l-1.08,1.73l-1.24,-0.14l-1.14,1.02l-2.4,0.84l-0.96,0.82l-1.05,0.03l-0.37,0.47l-0.86,-0.73l-0.59,0.56l-0.3,-0.44l-0.52,-0.11l-0.85,0.76l-1.92,-0.54l-0.95,0.12l-0.53,1.25l0.42,0.62l0.78,0.36l-1.77,0.36l-1.03,1.64l-1.71,0.27l-0.23,-0.17l0.72,-0.3l0.15,-0.38l-0.57,-0.95l0.43,-2.47l0.88,-1.72l-0.19,-3.96l-0.52,-2.28l0.64,-2.88l-0.31,-0.93l-2.2,-2.22l-0.95,-0.48l-1.46,0.62l-1.38,1.94l-3.45,2.5l-0.25,0.95l0.49,1.35l-1.85,0.43l-0.89,0.93l-0.83,-2.12l-1.96,-0.59l0.71,-0.57l-0.55,-0.72l0.54,-0.08l0.22,-0.4l-0.98,-1.7l-0.96,-0.35l-1.98,0.38l-0.71,-1.02l-1.24,-0.44l-0.56,0.44l-0.0,0.81l1.23,1.18l-0.83,0.3l-0.23,0.52l0.19,0.51l1.05,0.65l-0.19,0.59l-0.5,0.06l-1.74,-1.05l-0.94,0.38l-1.54,-0.12l-0.66,0.79l-0.18,1.38l0.66,2.16l0.02,1.52l0.69,0.96l0.29,1.5l-0.62,0.44l-1.77,-1.38l-3.88,0.2l-0.48,-1.45l-1.14,-0.82l-0.09,-0.38l1.1,-0.25l0.59,-0.56l0.14,-0.71l-0.49,-0.68l0.63,-1.33l1.08,-1.16l0.14,-0.82l-0.76,-0.63l-0.7,0.22l-0.51,0.59l-0.74,-0.62l1.69,-0.98l0.71,-0.94l0.81,0.77l0.71,0.05l0.34,-1.01l-1.72,-2.96l-2.17,-2.79l-2.33,-2.11l-2.17,-0.91l-1.14,0.06l-0.05,-1.25l-2.28,-1.69l-3.18,-4.01l-3.25,-9.33l1.03,-1.13l-0.06,-1.08l-0.44,-0.58l-1.68,-0.7l-1.73,-2.58l0.02,-0.98l-0.52,-1.06l0.81,-0.33l0.22,-0.76l-0.73,-2.06l-0.71,-0.18l-1.11,0.73l0.1,-1.56l-0.26,-0.42l-0.65,-0.14l-1.3,0.6l-0.77,0.84l-0.86,0.08l-1.19,-0.66l-1.07,0.71l-1.9,0.54l-1.12,-1.64l-0.56,-0.19l-1.59,0.27l-1.1,-2.41l-0.82,-0.74l-2.52,-0.92l-0.97,0.26l-1.36,1.06l-1.48,-0.23l-1.78,0.2l-0.51,0.37l-0.23,0.76l-0.28,-0.03l-2.1,-3.33l0.28,-0.41l1.47,-0.13l0.47,-0.84l0.07,-1.62l-1.13,-1.94l0.92,-5.58l-0.73,-0.83l-1.02,0.44ZM259.41,180.33l-0.42,0.53l-0.13,0.09l0.07,-0.25l0.48,-0.37Z\",\\n      \"name\": \"Haryana\"\\n    },\\n    \"IN-HP\": {\\n      \"path\": \"M229.45,117.96l1.78,-1.92l0.71,-1.52l-0.42,-0.79l-1.07,0.13l-0.02,-1.36l3.39,-1.15l1.65,-1.71l4.23,-3.05l-0.07,-0.68l-1.73,-2.9l0.38,-1.22l1.73,-1.98l0.07,-1.31l-0.71,-1.74l0.32,-2.08l-1.4,-2.4l-1.75,-1.91l-0.13,-0.95l1.18,-0.43l1.48,0.51l0.94,0.92l0.79,-0.09l4.49,-3.83l4.22,-1.75l0.9,-0.95l0.55,-1.64l2.1,-1.4l1.27,-0.58l3.51,-0.66l0.95,-0.52l2.35,1.47l3.95,-0.18l5.58,5.42l4.66,2.96l1.53,0.84l6.68,2.06l0.97,-0.1l0.54,-0.69l2.55,-0.39l2.39,-0.78l1.97,-1.57l2.83,-1.51l4.08,4.65l1.07,2.36l1.06,1.32l0.31,2.34l2.3,3.1l1.48,0.01l1.99,-1.8l2.17,-0.84l2.03,-0.16l0.85,-0.83l1.36,-0.66l0.22,-1.01l0.92,0.01l0.38,1.9l-0.26,1.58l-2.3,2.04l-0.82,2.5l0.0,1.13l0.76,0.84l0.89,0.12l1.87,-1.75l1.92,3.19l-0.51,1.13l0.86,3.58l-0.14,1.8l1.83,1.02l4.14,5.78l2.59,1.76l0.19,0.99l-0.67,1.45l-0.59,2.7l-0.94,1.85l0.75,1.03l-0.01,1.01l0.96,1.57l1.22,0.41l1.58,1.69l-3.62,3.17l0.06,1.16l1.86,1.29l-0.72,3.51l0.1,0.8l0.49,0.69l1.22,0.56l2.79,-0.26l1.58,1.74l1.69,2.52l0.03,0.64l-1.52,0.33l-1.82,-0.11l-0.93,-0.71l-1.48,-2.18l-4.35,-0.29l-1.49,-0.5l-3.2,0.35l-2.0,-1.63l-0.97,-0.01l-1.04,-0.74l-1.82,-0.16l-1.0,0.16l-1.58,1.0l-1.51,0.46l-4.45,2.55l-3.03,-0.02l-4.59,4.61l0.1,1.68l-1.55,0.35l-0.07,0.87l1.2,1.32l0.08,0.92l-0.09,0.37l-0.57,-0.32l-0.55,0.2l-1.49,3.28l0.05,1.22l0.89,0.92l0.27,1.62l0.79,1.6l-0.76,0.85l-0.03,0.51l0.97,1.5l1.17,0.3l-0.02,0.5l-4.31,2.33l-2.78,0.6l-0.54,1.0l-1.24,-0.9l-1.78,0.25l0.35,-0.76l-0.47,-0.5l-2.06,0.86l-0.62,-0.66l-1.76,-0.37l-1.86,-0.95l-0.96,0.35l-0.19,-0.67l-1.61,-1.27l-0.4,-0.67l0.53,-1.47l0.06,-1.86l-0.36,-1.18l-0.9,-1.08l-3.39,-1.8l-0.27,-0.87l-1.32,-0.83l-0.45,-1.35l-0.95,-1.09l-1.97,-0.09l-1.17,-1.21l-1.44,0.74l-4.03,-3.4l-0.52,-1.32l0.49,-1.87l-0.67,-0.63l0.08,-1.55l0.76,-1.11l-0.03,-0.41l-0.37,-0.37l-0.92,-0.05l-0.01,-0.8l-0.54,-0.83l-0.54,-0.15l-0.51,0.57l-0.55,-0.83l-1.05,0.02l-0.81,-0.71l-0.55,0.31l-2.49,-4.37l-1.8,0.74l-0.04,1.86l-0.67,0.19l-0.54,1.21l-0.85,-0.29l-1.23,0.33l-0.44,-0.26l-0.89,-1.09l-2.37,-7.15l-4.5,-8.19l0.07,-0.38l1.15,-0.14l0.15,-0.7l-2.74,-4.52l-5.6,-2.94l-3.59,-0.7Z\",\\n      \"name\": \"Himachal Pradesh\"\\n    },\\n    \"IN-AS\": {\\n      \"path\": \"M663.07,316.48l0.01,-0.33l2.23,-0.81l0.27,-0.58l-0.2,-0.73l0.78,-0.56l0.58,-1.33l1.61,-0.9l-0.43,-0.98l0.82,-0.66l0.51,-3.03l0.94,-2.19l-0.3,-3.5l-0.71,-2.22l1.37,0.07l6.69,-1.16l1.04,-0.91l0.73,-1.87l0.84,-0.52l2.26,-0.19l1.89,-1.28l0.86,0.13l2.83,1.94l3.6,1.77l4.05,0.43l8.94,-0.5l1.75,-0.74l0.81,-0.01l3.25,0.08l2.45,0.93l1.24,-0.17l1.11,-0.58l1.4,-2.16l0.7,-0.32l1.42,0.14l0.88,1.73l0.8,0.57l2.17,-0.43l1.87,0.42l1.57,-0.18l3.68,-1.8l0.91,1.59l0.76,0.22l0.63,-0.55l-0.09,-1.07l0.42,-0.45l-0.02,-0.62l1.9,1.21l2.1,-0.24l1.36,-1.2l0.28,-0.99l3.65,0.29l3.76,-0.78l8.62,-2.47l2.73,-1.83l3.43,0.48l3.48,1.5l0.3,0.71l0.71,0.55l1.88,0.49l10.99,-1.18l1.14,0.32l1.27,0.98l0.87,0.01l1.48,-0.64l3.25,-0.5l1.99,-0.77l4.25,-3.13l0.32,-0.77l-0.24,-1.72l0.51,-0.89l4.15,-4.24l8.09,-6.65l0.47,-1.11l-1.32,-1.97l0.7,-0.82l1.01,1.03l2.02,0.77l3.03,-0.68l1.08,0.66l1.54,-0.32l4.22,-2.16l4.21,-1.1l4.59,-2.26l9.18,-3.21l1.71,-0.97l1.72,0.75l1.48,0.08l4.22,-1.06l4.0,-2.54l1.27,-0.38l7.37,-0.1l-2.08,3.62l-3.49,4.12l-0.39,1.22l0.72,3.03l2.67,2.25l0.25,1.82l-0.48,1.35l0.33,0.7l-0.05,1.3l0.79,0.26l1.3,-1.47l0.92,-0.12l0.74,0.97l-0.03,1.23l-1.02,0.66l-0.4,0.89l-1.02,0.43l-0.42,0.76l-0.96,-0.32l-2.26,0.04l-4.83,1.83l-2.47,-1.34l-1.74,0.34l-0.89,0.84l-0.76,2.13l-1.08,1.05l-2.06,0.87l-2.93,2.18l-2.33,0.23l-1.17,1.42l-3.92,2.33l-1.33,0.03l-1.25,-0.77l-0.62,0.03l-1.42,1.26l-2.28,3.32l-0.98,0.83l-2.89,1.8l-2.43,1.03l-1.31,-0.0l-0.86,0.71l-1.1,0.15l-1.9,2.12l-0.28,1.68l-0.66,0.97l-1.47,1.38l-0.68,0.17l-0.59,-1.92l-0.66,-0.39l-0.54,0.12l-2.29,2.96l-0.75,3.42l-2.08,1.89l-2.98,4.02l-0.17,3.6l-1.03,1.73l0.01,1.2l0.57,1.47l-1.16,1.72l-1.19,0.85l-3.43,0.81l1.09,-1.91l-0.08,-1.11l-0.43,-0.8l-1.57,-0.43l-2.36,1.15l-0.41,1.0l0.9,1.2l-3.78,3.26l-1.75,2.44l-5.74,4.65l0.02,1.06l1.74,2.27l1.43,1.25l0.42,1.24l-0.09,1.81l-1.83,2.72l-2.5,5.47l-0.88,0.27l-0.67,0.79l-0.14,1.08l0.51,1.11l-1.1,0.82l0.37,1.06l-1.35,2.11l-0.19,0.93l-1.4,-0.34l-0.76,0.41l-0.42,0.68l-0.98,3.15l0.15,0.92l0.37,0.32l-0.7,1.62l0.54,1.23l-1.03,0.63l-0.78,4.46l-0.49,0.04l-0.71,1.05l-1.92,-0.33l-2.5,0.78l-1.72,-3.21l-0.61,-0.53l-0.52,-0.02l-0.53,0.59l-1.18,3.26l-2.61,2.91l0.05,1.31l-0.98,0.5l-3.21,2.95l-0.74,-0.22l-0.53,-0.84l-0.23,-0.86l0.42,-1.1l-0.34,-0.48l-4.04,-0.06l-1.99,-0.48l0.99,-2.26l0.18,-1.77l-0.74,-1.72l-0.3,-1.98l-2.13,-1.46l0.78,-3.19l1.58,-4.31l0.04,-1.65l-0.52,-1.57l0.67,-0.52l0.99,0.32l2.9,1.82l3.14,-0.9l0.81,-1.3l-0.35,-1.35l-0.87,-0.64l-0.1,-0.43l-1.9,-1.24l3.56,-3.27l1.3,-0.42l0.35,-0.75l2.67,-0.27l0.89,-0.99l3.76,-1.27l0.46,-0.64l-0.78,-1.58l0.37,-1.38l-0.38,-1.05l-2.72,-2.53l-2.06,-0.78l-0.47,-0.7l-0.81,-0.43l1.34,-1.1l1.33,-1.73l0.23,-0.63l-0.27,-0.67l-1.06,-0.16l-1.61,0.87l-3.56,-3.68l-2.01,-1.75l-1.09,-0.46l-2.26,1.22l-2.7,0.45l-1.34,0.75l0.18,-1.73l-0.23,-1.9l1.48,-3.54l-0.29,-0.86l-0.88,-0.3l-0.05,-0.67l2.62,-2.44l0.29,-0.89l-0.27,-0.45l-3.49,-0.3l-3.33,1.02l-1.08,-0.05l-2.93,0.66l-0.79,-0.14l-2.03,-1.5l-0.88,0.03l-1.87,1.45l-1.06,2.67l-1.17,1.02l-0.79,-0.11l0.48,-1.79l-0.31,-1.05l-0.62,-0.43l-1.23,-0.02l-3.89,4.8l0.26,0.86l-1.79,0.13l-1.8,0.55l-1.04,0.78l-1.85,2.29l-1.11,0.57l-0.36,-0.65l-0.11,-3.58l-0.9,-0.34l-2.65,0.99l-0.98,-0.4l-0.72,0.37l0.17,-1.18l-0.25,-0.83l-1.14,-0.53l-0.7,-0.86l-3.36,-0.26l-1.72,0.28l-0.87,0.55l-0.12,-0.83l-0.79,-0.34l-3.3,0.94l-0.24,-0.8l-0.65,-0.4l-0.61,0.19l-1.3,1.31l0.29,-0.71l-0.11,-0.76l-1.17,-0.96l-1.09,-0.45l-2.78,-0.18l-0.9,0.14l-1.44,0.94l-5.77,0.82l-3.11,2.52l-1.92,2.43l-0.44,1.79l-0.72,1.25l0.16,2.24l1.61,1.92l-0.05,0.49l-0.77,0.48l-2.0,0.28l-0.42,0.72l-0.22,2.1l-1.52,0.65l0.59,-5.87l-1.02,-2.98l-0.55,-2.85l0.1,-0.67l1.34,-2.33l0.13,-0.78l-0.68,-0.66l0.5,-0.89l-0.56,-0.92l-0.84,0.15l-0.91,-1.29l-0.12,-1.51l-1.12,-2.31l-0.58,-0.37l-1.15,-0.04Z\",\\n      \"name\": \"Assam\"\\n    },\\n    \"IN-UT\": {\\n      \"path\": \"M290.95,175.24l-0.31,-0.45l0.16,-0.23l3.37,-0.85l3.64,-1.92l0.42,-0.6l-0.06,-1.2l-1.32,-0.46l-0.68,-1.08l0.48,-0.37l0.27,-0.91l-0.22,-0.97l-0.63,-0.85l-0.26,-1.61l-0.89,-0.91l-0.01,-0.76l1.22,-2.78l0.89,0.28l0.59,-1.05l-0.14,-1.41l-1.18,-1.28l0.81,0.08l0.67,-0.49l0.3,-0.73l-0.32,-1.05l3.9,-4.07l0.54,-0.28l2.79,0.1l4.5,-2.57l3.73,-1.55l1.69,0.15l0.85,0.68l1.03,0.03l1.2,1.2l0.94,0.46l2.61,-0.37l2.11,0.53l4.18,0.25l1.13,1.91l1.22,0.95l3.16,0.05l1.25,-0.6l0.0,-1.27l-1.82,-2.75l-1.58,-1.74l0.87,-1.39l0.96,0.85l1.0,-0.03l1.1,-3.41l1.16,-0.22l2.08,1.39l0.62,1.44l1.05,0.36l-0.03,1.25l0.74,0.86l0.04,1.22l1.46,0.85l0.54,2.52l0.53,0.57l2.26,0.97l1.08,2.47l2.17,0.27l1.63,2.04l1.6,0.58l1.91,-0.81l3.23,-0.54l3.15,0.76l1.58,2.12l3.25,1.54l1.81,2.14l1.15,0.36l1.78,-0.62l0.99,1.35l0.94,0.56l-0.58,1.06l-0.99,0.19l-0.34,0.48l0.09,0.66l0.95,1.13l0.08,0.47l-0.68,1.46l0.45,0.55l2.1,-0.18l2.17,0.6l5.67,2.86l2.65,0.07l3.78,2.21l1.84,2.43l5.1,1.78l0.86,0.44l0.68,1.13l-2.12,0.8l-0.8,-0.96l-0.55,-0.09l-0.49,0.35l-1.01,1.05l0.22,1.15l-0.44,0.64l-2.27,1.77l-1.2,1.7l-2.2,1.62l-2.18,0.57l-0.85,1.97l-2.18,2.84l-0.56,0.44l-1.9,0.52l-0.92,0.77l-0.45,0.93l-0.04,1.03l0.96,3.25l-1.75,1.83l-0.16,1.01l-1.64,1.45l-0.25,0.68l-1.2,0.53l-0.28,0.84l1.3,3.62l0.76,0.26l-0.56,2.85l-0.47,-0.21l-0.86,0.34l-0.15,0.75l0.5,1.37l-0.14,0.51l-1.7,0.08l-1.15,0.63l-0.63,1.38l-0.35,2.99l-1.44,0.97l-0.65,1.28l0.08,2.75l1.04,0.9l-1.16,1.58l-1.43,0.55l-0.87,-0.37l-0.04,-1.04l-0.44,-0.24l-0.79,0.2l0.08,-0.94l-0.38,-0.4l-1.62,0.37l0.3,-1.52l-1.13,-0.87l-2.18,-0.29l-0.6,0.22l-0.26,0.74l-0.54,0.19l-1.94,-0.41l-1.16,0.47l-0.67,-0.89l-1.55,-0.1l-2.32,0.86l-0.71,-2.13l-1.46,-1.68l-2.4,-0.13l-3.8,-2.61l-0.66,-0.74l-0.55,-1.37l-2.39,-1.3l-0.84,-0.11l-3.42,1.35l-0.4,-1.87l-1.03,-1.41l-4.38,-2.28l0.11,-0.62l0.69,-0.26l1.19,0.27l0.76,-1.03l0.69,0.21l0.69,-0.27l1.77,-1.76l0.03,-1.29l-3.55,-1.07l-4.97,-2.81l-1.61,-1.38l-2.29,-3.67l-1.11,-1.1l-3.59,-1.79l-2.29,-3.9l-2.23,-2.17l-1.68,0.04l-0.85,1.12l0.16,1.82l1.13,4.27l-0.23,1.21l-0.92,0.93l-1.27,0.59l-0.53,-0.16l-3.81,-2.16l-3.95,2.04l-1.26,-2.37l-1.0,-3.95l-0.15,-3.69l1.35,-2.08l1.34,-3.04l3.16,-2.75l0.2,-1.02l-0.65,-0.63l-5.42,-2.71l-2.87,-2.4l-1.41,-0.26l-0.93,0.49Z\",\\n      \"name\": \"Uttaranchal\"\\n    },\\n    \"IN-JH\": {\\n      \"path\": \"M485.62,401.35l-2.2,-0.83l-1.66,0.13l-0.64,-0.47l-0.92,-2.18l0.46,-1.96l-0.75,-2.15l-5.31,-5.13l-0.45,-1.24l-0.28,-2.67l-2.23,-1.57l-3.11,-0.55l0.74,-1.85l1.39,-1.87l0.17,-1.31l1.15,-1.83l-0.17,-0.87l-1.63,-2.76l0.11,-0.69l0.93,-0.61l2.97,-0.32l4.77,0.81l1.87,-0.08l1.71,-1.09l1.28,0.23l2.91,-0.51l1.72,-1.44l0.63,-1.37l1.28,2.2l0.99,2.58l0.91,0.66l0.71,-0.13l0.37,-0.54l0.48,0.46l0.71,-0.09l0.31,-0.39l0.0,-0.99l1.13,-0.14l0.85,0.26l0.77,-0.44l0.4,0.65l0.01,0.81l-0.37,0.6l0.15,0.73l1.64,1.83l3.74,2.84l1.49,-0.24l1.96,-2.6l1.54,0.48l0.78,-0.11l0.96,-1.83l3.19,-2.01l0.37,0.18l0.47,1.68l1.14,0.05l0.36,1.93l0.73,0.76l1.93,0.23l3.38,-1.36l-0.14,0.95l0.71,0.62l2.29,-1.85l0.34,-1.09l2.75,-1.0l0.7,-0.85l3.22,-0.65l2.72,-0.0l1.15,0.31l2.07,-1.87l1.74,0.23l0.61,-0.3l0.36,-0.71l0.0,-1.21l-0.39,-1.16l1.12,-0.67l0.91,-2.77l0.59,-0.38l2.49,-0.03l0.87,0.51l1.73,1.86l1.65,-0.22l1.97,-1.34l-0.19,1.0l1.95,0.69l0.56,2.96l0.66,1.0l1.38,0.68l1.57,-0.48l1.85,0.5l0.24,1.48l-0.96,1.25l0.15,0.88l5.46,3.3l0.78,-0.54l0.24,-1.39l0.74,-0.75l0.22,-2.08l2.61,-2.45l1.79,0.61l1.64,-0.17l0.97,-0.45l0.63,-0.86l1.69,1.09l2.36,0.74l0.49,-0.24l0.04,-1.06l0.79,-1.32l2.54,0.86l1.25,-0.22l0.91,-2.73l0.27,-2.7l-0.24,-0.98l1.59,-2.79l-0.02,-3.96l1.79,-2.25l0.83,-0.3l1.16,0.31l0.51,-0.24l1.12,-3.76l1.51,-0.38l1.41,0.51l0.77,-0.28l1.6,-3.24l1.37,-1.12l1.1,0.52l1.08,1.31l2.68,0.7l1.93,-0.1l0.67,0.49l0.1,0.59l-0.46,1.42l0.24,2.13l2.17,2.01l1.05,3.9l-0.72,3.72l-1.0,-0.18l-0.39,1.06l0.51,0.67l1.0,0.23l0.43,0.82l0.61,1.83l-0.66,0.58l-0.05,0.67l0.77,0.42l-1.14,0.75l-2.41,-0.72l-0.85,0.38l0.07,0.8l1.03,0.5l-0.1,1.01l0.4,0.96l-0.7,1.06l-0.04,1.52l-1.26,2.69l-3.44,2.56l0.02,1.36l0.28,0.36l0.67,-0.02l0.2,0.56l-1.83,0.11l-0.91,2.13l-1.27,-0.85l-1.16,0.28l-0.22,0.53l0.12,2.26l-0.83,0.87l-1.67,-0.16l-1.77,0.66l-0.38,-1.37l-0.75,-0.37l-2.33,0.63l-0.38,0.95l1.58,2.04l0.13,0.85l-0.99,0.74l-0.22,1.61l-0.67,-0.67l-1.24,-0.31l-1.18,0.26l-0.11,0.83l0.9,1.18l-0.74,0.16l-1.48,-0.36l-1.99,-1.45l-1.11,-0.15l-2.74,-1.55l-0.75,0.01l-2.05,2.64l-0.2,0.99l0.37,1.17l-0.54,1.3l-4.61,0.89l-7.31,2.64l-2.04,1.68l-0.42,2.01l-1.8,1.61l-1.1,0.29l-1.25,-0.91l-1.7,-0.6l0.37,-1.76l-0.17,-0.83l-3.17,-1.24l-0.91,0.23l-0.6,0.76l0.27,2.08l-4.66,0.65l-1.05,0.72l-0.09,0.97l0.72,1.07l1.45,0.25l-0.37,1.69l-1.12,1.59l-0.47,1.62l0.4,0.99l0.91,0.9l0.58,1.59l0.42,0.13l1.6,-0.54l1.56,0.43l4.28,4.41l1.21,0.8l2.64,-0.43l6.48,0.73l-1.12,0.37l-1.06,1.04l-0.38,5.19l1.78,1.49l1.55,0.14l2.47,1.85l0.25,1.52l0.66,1.08l0.97,0.46l1.88,0.17l1.02,0.78l0.5,1.15l-1.24,0.06l-0.21,0.5l0.21,1.04l2.24,1.83l0.38,2.09l1.43,1.35l-2.14,0.24l-0.34,0.37l-0.06,1.01l-0.83,-0.19l-1.36,0.84l-5.58,-3.66l-3.08,0.44l-0.93,-0.27l-2.33,-2.54l-5.72,-2.93l-1.38,-1.66l-0.96,-0.22l-0.63,0.3l-0.7,0.93l-1.56,0.42l-0.49,0.53l0.14,1.26l1.25,1.79l0.31,2.33l-0.08,0.94l-0.78,1.36l0.01,0.75l0.7,1.68l-0.43,2.63l-1.68,2.46l-1.06,0.74l-1.12,0.27l-1.32,-0.84l-0.04,-1.41l0.7,-1.51l-0.5,-0.78l-3.63,1.66l-3.84,-0.98l-3.16,-1.78l-1.39,-0.0l-2.85,1.24l-2.91,3.01l-0.82,-0.88l-2.85,-1.79l-1.6,-0.26l-1.46,0.46l1.5,-2.94l1.65,-2.4l0.39,-1.42l-0.54,-3.97l-0.68,-1.83l-0.62,-0.17l-2.32,1.61l-1.27,0.2l-0.95,0.73l-3.4,-0.9l-1.07,0.16l-1.02,0.58l-6.68,0.19l-0.58,0.37l-0.42,1.49l-2.34,1.14l-2.91,0.15l-2.41,-1.06l-1.51,-0.19l-0.86,-0.65l-2.56,-3.71l-2.65,-1.24l0.21,-0.7l2.1,-1.9l1.68,-0.16l2.55,-1.92l1.17,-2.68l0.95,-0.49l2.7,-2.47l0.21,-1.44l-0.78,-2.37l-1.27,-0.8l-2.38,0.04l-2.05,-0.95l-0.44,0.2l-0.1,0.88l-0.34,-0.13l-0.73,-2.68l-1.84,-1.99l-0.24,-1.17l0.56,-3.95l-0.52,-2.22l-1.03,-0.81l-1.27,0.92l-0.09,-0.36l0.24,-2.83l1.54,-1.82l0.43,-1.07l-0.96,-2.79l-0.87,-0.33l-1.62,0.72l-0.34,0.71l0.12,1.14Z\",\\n      \"name\": \"Jharkhand\"\\n    },\\n    \"IN-JK\": {\\n      \"path\": \"M176.08,35.04l2.37,-2.36l-0.15,-2.71l0.72,-0.56l5.27,-0.96l3.12,-1.98l1.87,-0.7l1.84,-0.15l1.87,0.3l7.81,2.66l10.87,2.04l5.97,-0.52l1.57,1.55l2.54,1.46l8.19,2.07l5.87,-0.33l2.57,-2.29l3.11,-1.82l1.42,-1.8l0.86,-0.17l1.84,0.74l1.27,-0.01l3.39,-0.84l5.27,-2.66l0.99,0.15l1.97,1.12l3.39,-0.56l3.4,-2.92l0.32,-0.85l0.08,-2.41l0.59,-0.43l1.96,-0.39l1.61,0.69l0.77,0.01l2.91,-2.36l0.56,-0.77l0.2,-1.26l-0.34,-1.59l0.44,-0.53l22.94,-13.34l0.94,1.29l1.66,0.81l1.15,-0.36l2.19,-1.83l1.4,0.07l0.25,0.97l-1.39,3.65l-0.24,2.94l1.11,2.66l2.85,4.79l0.56,3.9l0.5,1.32l1.45,1.99l1.9,6.57l0.74,1.28l1.29,1.15l1.47,0.62l7.06,1.14l1.68,0.66l2.57,1.86l1.66,2.01l3.68,1.47l0.79,0.71l0.72,1.3l0.34,1.43l-0.32,1.36l-2.12,1.93l-2.99,1.23l-2.52,1.81l-0.26,3.11l1.51,4.2l0.72,4.34l-0.37,6.71l0.6,2.02l0.76,1.24l2.91,2.63l1.83,2.73l2.61,1.09l0.44,1.63l0.42,0.49l2.17,-0.32l3.4,1.53l2.5,0.11l0.76,0.38l0.07,0.93l-1.15,2.16l-0.31,3.79l0.76,1.2l1.74,1.47l1.04,2.98l1.58,1.74l-0.13,2.04l-1.78,2.45l-2.99,2.26l-1.28,1.37l-2.29,-0.49l-2.63,0.8l-0.83,0.67l-1.0,3.25l-1.34,-0.22l-2.55,1.01l-0.76,-0.22l-4.17,-3.55l-0.99,-2.71l0.36,-2.45l-0.62,-0.72l-0.73,-0.26l-0.88,0.28l-1.95,1.75l-6.89,0.7l-0.72,0.37l-0.3,0.78l-1.91,1.79l-0.48,-0.21l-0.24,-0.53l0.84,-2.71l2.04,-1.64l0.41,-0.81l0.1,-2.61l-0.35,-1.18l-0.52,-0.44l-1.59,0.09l-0.31,0.35l-0.01,0.78l-1.28,0.59l-0.52,0.64l-1.76,0.13l-2.36,0.83l-1.87,1.76l-1.16,0.19l-1.94,-2.71l-0.28,-2.27l-1.13,-1.48l-1.11,-2.41l-4.43,-4.94l-0.7,-0.03l-1.02,0.5l-3.7,2.62l-4.93,1.16l-0.67,0.74l-0.48,-0.0l-6.46,-2.01l-1.4,-0.78l-4.53,-2.86l-5.76,-5.55l-4.11,0.12l-1.88,-1.36l-0.71,-0.13l-1.11,0.56l-3.58,0.69l-3.2,1.74l-0.74,0.87l-0.39,1.36l-0.68,0.71l-4.17,1.72l-4.44,3.8l-1.01,-0.85l-1.7,-0.58l-1.74,0.49l-0.44,0.98l0.29,1.07l3.0,3.83l-0.27,2.22l0.73,1.87l-0.04,0.89l-1.7,1.9l-0.05,0.61l-0.99,1.43l-2.76,1.28l-0.43,1.18l-0.85,0.7l-2.45,0.3l-1.37,0.77l-2.13,2.4l-1.29,-0.76l0.03,-0.69l-0.42,-0.49l-1.71,0.82l-2.67,0.07l-3.04,-2.13l-2.21,-0.52l-3.16,-1.86l-3.66,0.69l-2.22,-1.01l-3.41,0.48l-0.92,-0.3l-0.7,-0.79l-0.95,-2.82l0.8,-1.82l-0.19,-2.8l1.2,-2.89l-0.26,-1.2l-0.74,-0.4l-0.76,0.21l-0.63,0.65l-0.62,1.67l-1.02,0.49l-2.05,0.22l-2.05,-1.37l-2.17,0.76l-0.5,-0.09l-0.91,-1.05l0.73,-1.21l0.13,-0.85l-0.81,-4.48l-1.14,-0.74l-2.8,-0.45l-1.0,-0.55l-1.7,-2.2l-2.9,-2.45l-0.36,-0.9l0.31,-1.78l2.08,-1.05l0.87,-1.05l1.26,-3.13l0.67,-2.87l-0.65,-2.12l-5.01,-3.36l-0.4,-1.27l0.28,-1.74l1.77,-2.59l3.3,-0.55l2.28,-1.26l1.59,-1.84l0.35,-1.48l-0.54,-1.32l-1.2,-0.71l-3.32,0.36l-2.29,-0.58l-2.14,0.5l-0.78,-0.15l-1.4,-1.35l-0.24,-0.86l0.22,-0.85l3.05,-2.05l0.2,-1.12l-1.36,-3.16l-0.58,-0.7l-2.81,-0.24l-1.92,-1.19l-0.07,-1.35l1.86,-1.69l0.23,-1.76Z\",\\n      \"name\": \"Jammu and Kashmir\"\\n    },\\n    \"IN-UP\": {\\n      \"path\": \"M275.34,205.39l0.08,-0.87l-0.4,-0.81l0.98,-0.64l0.26,-0.62l-0.39,-1.02l0.09,-1.08l0.63,-0.63l-0.03,-0.78l0.85,-0.74l-0.12,-1.31l0.85,-0.26l0.57,-1.11l1.48,-5.73l1.43,-1.37l0.17,-0.58l0.94,-0.1l0.3,-0.86l2.37,-1.61l0.44,-1.41l4.79,-4.24l0.56,-1.76l0.08,-1.88l0.69,-0.43l1.01,0.2l2.73,2.32l5.75,3.03l-3.25,2.91l-1.42,3.18l-1.4,2.22l0.14,4.1l1.02,4.01l1.5,2.84l0.53,0.17l3.93,-2.12l4.27,2.33l1.87,-0.79l1.16,-1.27l0.27,-1.53l-1.31,-5.86l0.44,-0.6l0.93,-0.03l1.97,1.95l2.37,3.99l3.63,1.83l1.01,1.0l2.3,3.68l1.72,1.49l5.15,2.91l3.22,0.87l-0.29,0.67l-1.36,1.2l-1.25,-0.03l-0.74,1.01l-0.97,-0.35l-0.89,0.33l-0.75,1.13l0.36,0.82l4.44,2.28l0.82,1.11l0.45,2.3l0.61,0.28l1.07,-0.68l2.94,-0.83l2.2,1.17l0.37,1.16l0.83,0.95l3.93,2.71l1.56,0.36l0.81,-0.24l1.2,1.39l0.83,2.42l0.51,0.21l2.48,-0.94l0.99,-0.02l0.51,0.84l0.69,0.17l1.07,-0.46l2.12,0.39l0.81,-0.28l0.49,-0.86l1.92,0.26l0.58,0.43l-0.37,1.25l0.26,0.54l0.61,0.21l1.18,-0.4l0.11,1.23l0.97,0.05l0.34,0.98l1.38,0.56l1.93,-0.72l0.97,-1.03l0.5,-1.07l2.2,2.05l1.78,0.44l1.1,1.2l1.02,0.42l1.36,2.19l0.82,0.27l1.64,-0.21l2.4,2.1l0.56,-0.22l0.15,-0.44l-0.17,-2.69l0.63,-0.53l0.74,0.02l0.4,1.04l2.24,0.66l1.17,1.65l1.64,0.62l1.64,1.48l0.65,0.35l2.05,0.21l0.35,1.28l0.73,0.61l1.33,0.34l1.04,-0.11l0.72,1.29l5.03,1.12l0.53,0.65l1.04,2.88l2.01,2.4l-0.35,0.91l0.75,0.97l1.19,0.06l0.59,-0.34l0.52,-0.97l0.76,0.17l1.08,0.92l0.65,1.65l0.59,0.53l2.77,1.38l1.6,1.47l2.32,0.63l1.89,1.78l3.25,1.95l1.27,0.05l1.97,-1.88l0.73,-0.31l1.44,0.14l0.64,0.2l1.19,1.09l1.86,0.8l3.63,2.88l2.4,1.17l1.78,1.68l1.35,0.37l2.68,-0.3l3.76,-0.93l0.61,0.23l0.78,1.86l0.64,3.77l1.05,1.07l3.78,0.24l2.16,1.0l1.95,0.46l3.79,-0.02l1.0,0.38l1.46,1.18l1.22,1.83l0.87,0.34l1.01,-0.06l1.26,-0.95l0.95,-1.56l-0.43,-1.73l0.64,-0.32l6.11,0.45l7.74,3.44l-0.08,0.57l0.44,0.31l0.89,-0.1l-0.14,1.46l1.68,1.8l-0.02,2.27l2.55,3.19l0.12,2.0l1.36,2.56l2.76,1.74l1.3,-0.6l0.85,0.05l0.44,0.97l-0.19,2.57l0.25,0.77l1.93,0.52l2.54,2.63l-8.75,-0.21l-0.69,0.64l-0.89,2.26l-1.87,0.57l-0.58,0.71l-0.53,-0.86l-1.04,0.3l-0.27,2.29l0.45,0.95l1.56,0.43l1.39,-0.63l2.0,1.49l2.85,0.74l-0.75,1.75l0.72,1.59l-1.71,-0.01l-0.98,0.62l-2.56,0.37l-0.78,0.73l-0.02,1.17l1.57,1.59l0.8,1.89l2.75,1.4l0.66,1.24l1.01,0.41l0.56,1.63l1.2,1.16l0.84,0.22l2.77,-0.43l1.0,1.36l1.44,0.91l2.29,0.25l2.18,1.96l0.09,0.43l-0.43,1.02l-1.48,1.05l-1.13,0.16l-1.72,-0.61l-1.57,-1.34l-1.31,-0.02l-1.48,0.93l0.37,2.52l-1.19,0.43l-1.3,-0.47l-0.42,-2.32l-1.02,-0.59l-1.43,0.28l-2.76,2.12l-1.74,2.2l-3.5,2.93l-2.15,0.89l-1.31,1.48l-12.02,6.86l-1.28,1.31l-0.44,1.05l-0.35,3.14l0.15,0.85l1.12,1.85l-0.29,4.03l2.54,2.96l2.69,1.36l0.21,1.11l-0.62,1.25l0.43,1.32l-0.04,2.89l-2.45,0.3l-1.39,1.1l-0.01,1.49l1.65,3.07l-0.95,1.29l-0.26,1.5l-1.39,1.86l-1.72,4.05l-1.53,1.2l-0.32,1.67l-0.84,1.34l-3.39,1.26l-4.96,-0.24l-1.19,-0.65l-1.66,-1.53l-1.22,-0.35l-0.94,-1.34l-0.99,-0.75l0.07,-1.48l-1.86,-1.99l0.85,-0.12l0.85,-0.74l0.33,-2.2l0.73,-1.76l-0.05,-2.43l-0.94,-0.86l0.33,-2.55l-0.28,-1.36l0.21,-0.26l0.93,0.28l0.92,-0.26l0.51,-1.09l-1.52,-2.87l-1.63,-0.31l-0.22,-1.37l-0.98,-0.12l-2.9,1.04l-1.34,-0.13l-2.9,-0.97l-1.02,0.1l-0.38,0.54l0.07,1.74l-0.34,0.46l-2.48,0.03l0.46,-0.94l-0.09,-0.81l-0.63,-0.61l-1.13,-0.04l0.05,-2.17l-0.46,-0.58l-0.5,0.11l-0.69,1.01l-0.23,-0.11l0.34,-1.13l-0.43,-1.53l-0.75,-0.06l-2.07,1.15l-2.62,-1.65l-2.34,-0.36l-2.44,-1.83l0.1,-1.46l-1.19,-1.84l-1.25,-0.33l-1.65,0.49l-0.55,-0.18l-0.66,-1.21l-3.93,-0.58l0.12,-0.94l-1.36,-2.79l-0.44,-0.15l-3.52,1.18l-0.04,0.71l1.17,0.85l-1.17,0.38l-1.22,-0.17l0.17,-0.95l-0.6,-0.6l-1.6,-0.5l-2.36,0.14l-0.44,0.65l0.07,2.14l-1.89,2.61l0.26,1.6l-1.41,0.32l-0.94,1.06l-2.61,-1.77l-1.96,0.4l-1.39,-1.0l-2.12,0.47l-1.76,-0.18l0.84,-1.31l0.15,-0.88l0.88,-0.9l0.2,-1.29l0.88,-2.03l-0.08,-0.99l-0.92,-0.55l-1.39,0.37l-0.83,1.53l-3.3,0.4l-0.04,0.77l1.71,1.4l-2.08,0.3l-0.9,-0.82l-0.8,-1.5l-0.89,-0.3l-0.66,0.44l0.01,1.06l-2.31,-0.37l-0.6,0.3l0.4,1.75l1.24,0.71l-0.82,0.53l-0.4,0.04l-1.56,-1.55l-0.56,0.43l0.22,1.27l-1.38,-0.38l-1.63,0.37l-0.51,-0.7l-0.17,-0.93l1.06,-0.2l1.53,-1.78l2.0,-1.08l0.21,-0.73l-0.78,-2.05l-0.88,-0.18l-0.5,-0.7l-0.94,-0.49l-0.28,-2.59l-0.93,-1.59l-0.79,-0.28l-1.27,0.27l-0.88,-0.25l-2.49,2.19l-1.13,-0.36l-2.27,1.05l-3.01,2.29l-2.37,0.66l-0.35,0.48l0.02,0.73l1.03,1.63l-1.68,0.65l-0.98,-0.78l-3.65,0.23l-3.08,-0.97l-0.92,0.48l-1.43,1.94l-0.32,-0.02l-0.21,-0.76l-0.47,-0.4l-1.47,0.02l-0.45,0.65l0.08,1.56l-0.7,0.07l-0.49,-0.55l0.21,-1.36l0.89,-0.87l1.71,-2.67l0.6,-1.48l-0.19,-0.47l-0.47,-0.14l-1.16,0.86l-0.87,-0.19l-0.77,0.28l-0.81,0.96l-0.37,-0.96l1.04,-2.22l-0.64,-0.78l-0.75,0.11l-1.26,2.01l-0.04,1.23l0.78,3.19l-3.22,-0.57l-1.29,1.21l-0.23,-1.37l-0.3,-0.28l-0.87,-0.01l-1.75,0.66l-0.09,-0.73l1.1,-1.71l-0.97,-0.87l-0.86,-0.22l-0.71,0.35l-0.16,1.32l-1.22,0.43l-1.02,1.15l-0.59,0.21l-0.12,-0.99l0.32,-0.89l1.91,-1.82l-0.03,-1.44l0.63,-1.25l0.16,-1.42l-0.55,-0.91l-1.06,0.13l0.35,-1.08l-0.08,-1.1l-0.23,-0.57l-0.88,-0.52l-0.72,0.25l-0.62,0.73l-0.32,0.9l0.03,1.77l-0.3,0.25l-0.55,-0.02l-0.1,-2.28l-0.54,-0.97l-0.57,-0.09l-1.75,1.02l-0.19,1.54l0.75,0.94l-0.52,0.98l0.19,1.26l-2.07,-2.02l-1.41,-0.23l-1.13,0.35l-0.36,0.65l0.12,0.74l-1.48,1.74l-0.57,1.6l0.32,0.71l1.59,1.5l1.08,2.41l1.2,6.41l2.31,3.04l0.36,3.85l-0.65,1.88l0.4,1.02l1.03,0.66l2.06,-0.54l1.03,0.19l1.85,3.2l-0.17,1.52l0.39,0.4l1.51,0.37l-0.16,1.09l-0.47,0.87l-1.67,1.57l-1.07,2.4l-1.57,1.53l-0.99,-0.36l-0.45,-1.43l-2.96,-0.6l-3.64,-3.03l-1.66,-0.82l-1.14,0.44l-0.61,1.98l-0.56,0.69l-0.97,0.47l-0.88,-0.44l-0.41,-0.83l0.63,-1.22l-0.08,-0.85l-2.21,-1.45l-0.19,-0.65l-0.85,-0.52l-0.49,-0.89l1.35,-2.51l0.03,-0.97l-0.38,-0.52l0.07,-1.6l-0.96,-1.46l-0.21,-2.0l-0.83,-1.48l-0.83,-0.73l0.24,-0.53l2.34,-1.55l2.17,-2.14l0.53,-1.55l-0.31,-1.12l1.1,-3.45l-0.18,-1.0l-1.96,-3.91l-1.39,-2.03l2.35,-2.06l0.58,-0.87l0.55,-1.89l3.26,-0.78l2.42,0.06l1.81,-1.06l2.97,-0.59l1.28,-0.74l0.27,-0.98l-0.81,-2.2l0.14,-1.22l0.38,-0.7l1.92,-1.49l0.81,-2.07l1.37,-1.68l1.06,-2.84l1.2,-1.91l-0.03,-0.77l-0.96,-0.97l0.0,-0.62l1.1,-0.89l-0.56,-1.88l0.59,-0.57l1.79,-0.57l1.29,-1.72l0.13,-0.63l-0.6,-0.73l0.33,-1.15l-0.1,-1.04l-0.67,-1.92l-2.1,-3.28l-0.72,-3.17l-0.59,-0.68l-1.97,0.16l-2.0,-1.93l-0.9,-0.14l-0.36,-0.7l-0.99,0.05l-0.56,-0.52l-1.79,0.76l-1.18,-0.01l-0.74,0.63l-0.64,-0.02l-1.43,-0.82l-1.72,-0.3l-1.05,-1.0l-1.16,-0.1l-0.54,-0.83l-0.76,-0.27l-2.23,0.18l-0.93,1.15l-1.2,-0.18l-0.62,-0.89l0.78,-0.3l1.09,-1.02l0.27,-0.71l-0.74,-0.73l-1.94,-0.48l-2.22,0.1l-1.26,1.15l-1.17,0.12l-0.39,0.59l-0.88,-0.48l-2.81,-0.37l-1.09,0.33l-0.92,-0.47l-3.28,-0.47l-2.51,1.71l-3.97,1.63l-1.26,-0.07l-0.91,1.46l-0.86,0.49l0.13,-2.17l0.57,-0.69l6.23,-2.89l2.25,-0.54l0.72,-0.58l0.09,-0.67l-0.84,-0.74l-0.84,0.58l-0.62,-1.04l-0.47,-0.22l-0.8,0.55l-1.65,-0.21l-0.65,-1.0l-0.85,-0.27l0.11,-0.38l2.42,-0.72l0.53,-1.05l1.15,-0.65l0.56,-1.2l-1.43,-2.52l-0.3,-1.75l-1.54,-0.43l-3.64,-2.12l-0.61,-1.8l-2.26,-2.94l0.03,-1.53l-0.68,-0.68l0.5,-0.81l-0.04,-0.86l-0.47,-1.19l-0.72,-0.53l-0.37,-2.72l0.75,-0.66l2.6,-0.95l0.83,-0.85l0.99,0.2l0.51,-0.21l1.14,-1.79l0.79,-0.67l-0.81,-2.35l-1.02,-0.86l0.1,-1.29l0.34,0.21l0.6,-0.43l-0.26,-1.77l1.08,-0.7l0.18,-0.62l-0.76,-0.58l0.74,-1.51l-1.42,-0.68l-0.05,-0.97l-0.62,-0.65l0.87,-2.29l-0.41,-0.56l-0.44,0.04l-0.11,-1.16l-0.36,-0.26l-0.88,0.17l-0.49,-1.15l-0.94,0.01l-0.29,-0.67l-1.11,-0.66l-1.05,-1.92l1.12,-1.48l-0.06,-1.04l-0.85,-2.6l-2.48,-2.18l-0.53,-1.11l0.23,-0.83l-0.41,-0.93l0.54,-1.42l-1.35,-1.66l0.54,-1.2l-1.8,-3.7l-0.14,-5.52l0.56,-1.3l-0.47,-0.92l-0.03,-0.89l0.47,-1.5l-0.93,-0.73l-1.3,0.03l1.29,-1.31l-0.05,-0.56l-0.46,-0.39l-0.95,-0.01Z\",\\n      \"name\": \"Uttar Pradesh\"\\n    },\\n    \"IN-SK\": {\\n      \"path\": \"M624.09,256.17l1.74,-1.11l1.5,0.04l2.71,-2.5l1.43,1.15l2.65,0.52l2.31,1.81l-0.23,2.08l1.28,1.8l0.06,0.92l-1.46,6.18l-1.76,3.15l-0.24,1.13l0.49,0.78l-0.09,1.51l0.63,1.96l3.56,3.09l-0.14,0.55l-0.53,0.4l-1.78,0.44l-1.01,0.67l-1.42,2.94l-1.56,-0.85l-4.67,-0.11l-3.06,2.58l-1.78,0.44l-3.84,-1.72l-3.55,-0.05l-0.65,-0.3l-0.58,-1.87l-1.79,-1.32l0.79,-2.13l-0.61,-1.91l0.81,-1.92l-0.56,-1.88l2.65,-4.71l1.54,-4.54l-0.12,-1.42l0.29,-1.16l-0.51,-0.51l-1.07,-0.3l-0.48,-1.12l0.06,-0.62l0.47,-0.48l1.19,0.1l6.6,-1.18l0.74,-0.55Z\",\\n      \"name\": \"Sikkim\"\\n    },\\n    \"IN-MZ\": {\\n      \"path\": \"M743.96,392.77l0.71,0.19l0.37,-0.45l-0.14,-2.85l0.55,-1.85l-0.42,-1.43l0.33,-2.14l-0.11,-2.89l-0.65,-1.18l2.99,-0.03l-0.38,1.02l0.75,1.88l1.11,0.72l1.07,-0.2l3.08,-2.92l1.24,-0.79l-0.05,-1.35l2.53,-2.77l1.3,-3.49l2.32,3.71l1.02,0.04l1.89,-0.78l1.44,0.32l0.94,-0.24l0.11,0.82l0.68,0.79l-0.94,1.59l0.08,1.22l-0.6,3.47l-0.55,0.59l0.12,0.67l2.91,1.14l1.2,0.91l1.31,-0.55l0.72,0.69l0.62,0.01l1.32,-0.83l0.11,1.34l0.61,0.24l0.97,-0.45l0.25,1.53l1.46,2.27l0.56,5.39l1.62,1.71l0.15,1.2l-0.99,6.3l0.22,3.39l-0.91,1.69l-0.09,5.36l-1.22,2.4l-1.63,1.33l-0.58,0.03l-1.4,-1.49l-0.78,-0.25l-0.99,0.29l-0.58,0.74l0.04,2.05l0.88,1.94l0.12,0.97l-1.74,2.48l-1.23,1.16l-0.27,2.69l1.21,3.12l-0.33,2.8l0.6,1.65l1.1,1.18l0.34,1.19l0.24,3.97l-1.47,0.77l-0.09,0.62l0.38,0.78l-2.29,-0.79l-1.1,0.42l-0.08,2.78l-1.0,0.47l-0.71,1.34l0.31,2.1l-0.63,-0.79l-0.82,-0.32l-0.71,0.4l-0.47,1.47l-0.37,-1.67l-0.66,-0.91l-2.03,-1.9l-1.96,-1.42l-0.88,-0.27l-0.8,0.54l0.01,1.48l-0.37,0.18l-0.18,0.63l-0.08,1.63l-0.92,0.25l-0.78,0.79l-1.04,-4.15l0.88,-0.24l0.27,-1.25l-1.83,-11.1l-0.51,-1.55l-0.17,-4.45l-0.52,-1.11l-1.15,-1.14l-0.55,-3.59l-0.61,-0.67l-0.91,-0.36l-0.68,-1.66l0.02,-2.29l-0.78,-4.56l0.13,-1.61l0.79,-1.88l-0.27,-2.46l-0.7,-0.81l-0.08,-0.97l-0.71,-0.88l-1.55,-6.66l0.55,-2.59l-0.21,-1.75l0.23,-1.48l0.46,-0.67Z\",\\n      \"name\": \"Mizoram\"\\n    },\\n    \"IN-CT\": {\\n      \"path\": \"M376.2,561.12l-0.76,-1.04l-0.54,-2.04l-1.09,-0.57l-0.15,-0.57l0.27,-0.65l2.07,-1.28l0.36,-0.85l-0.24,-0.79l-1.82,-2.18l-0.32,-1.59l0.51,-1.14l2.36,-3.16l1.16,-4.17l1.21,-0.64l1.08,-1.84l1.03,-0.48l0.89,-1.14l0.61,-0.26l1.07,2.14l2.07,0.07l0.93,1.63l0.73,0.22l1.24,-1.17l2.22,-1.2l0.11,-0.81l-0.84,-1.42l2.23,-0.73l0.65,-1.58l-0.64,-1.49l-1.37,-1.28l-4.18,-1.73l-0.94,-2.81l-2.92,-1.34l-1.24,-2.7l-0.75,-0.22l-0.84,0.27l-0.46,0.55l-0.09,0.78l-1.61,-0.42l1.75,-0.9l0.59,-1.0l-0.24,-0.9l-1.6,-0.51l0.5,-0.9l1.91,0.56l0.81,-0.33l0.83,-4.19l-1.06,-3.19l-3.34,-0.41l0.3,-2.29l0.6,-0.47l2.53,-0.4l2.93,-1.99l0.18,-0.75l-0.42,-1.42l0.05,-2.41l0.61,-1.47l-0.41,-1.1l-0.13,-2.2l-1.6,-0.59l-2.16,0.82l0.34,-0.93l1.82,-1.1l0.25,-1.05l-0.49,-2.64l-0.19,-4.61l-0.89,-0.79l-1.73,0.09l-0.93,-1.74l0.73,-4.2l0.63,-0.84l4.35,-2.42l1.73,-2.04l0.06,-1.69l1.3,-3.97l-0.11,-3.65l0.64,-4.84l1.91,-0.95l0.61,-1.04l0.55,-1.62l-0.09,-3.28l2.01,-4.15l0.85,-0.2l1.2,1.46l0.55,-0.07l0.46,-0.5l0.09,-0.85l-0.42,-0.87l0.8,-0.52l0.42,-2.56l1.99,-1.5l0.72,-1.23l0.16,-3.55l1.21,-1.92l0.5,-0.43l0.46,0.94l1.05,0.27l3.57,-1.69l1.2,1.52l0.79,0.43l1.06,-0.45l2.76,-2.24l3.2,-1.03l0.92,-1.95l2.97,-1.77l-0.02,-1.86l0.73,-1.05l-0.19,-2.83l0.19,-0.37l2.32,-0.91l2.35,-2.12l0.23,-0.95l-0.31,-1.56l0.29,-0.66l3.67,-1.75l1.99,-0.03l0.88,-1.76l1.03,-4.6l-0.16,-1.02l-2.37,-2.04l-2.34,0.08l-0.36,-0.7l-0.98,-0.37l-2.06,-3.14l-0.79,-0.36l-1.44,-0.08l-3.16,-1.17l-0.65,0.1l-2.65,1.78l-0.44,0.01l-0.97,-2.0l0.65,-0.89l0.15,-1.17l1.07,-0.61l1.02,-1.6l-0.17,-1.22l-1.75,-3.33l0.06,-1.2l1.2,-0.2l1.84,1.89l1.03,0.75l1.08,0.3l1.09,-0.04l3.01,-1.44l1.96,0.13l2.28,1.14l3.87,0.03l1.87,0.48l8.34,0.33l1.27,-0.98l2.41,-1.15l0.77,-1.85l3.07,-1.14l0.59,-0.82l0.3,-1.29l0.83,0.21l1.66,1.52l1.43,0.77l5.35,0.26l3.78,-1.46l1.03,-1.62l0.25,-1.54l1.45,-1.09l0.74,-1.65l3.19,0.58l1.86,1.28l0.24,2.82l0.99,1.75l4.75,4.36l0.66,1.82l-0.44,2.11l1.35,2.8l1.06,0.48l1.68,-0.12l2.34,0.83l0.55,-0.55l-0.05,-1.51l1.36,-0.48l0.76,2.35l-1.89,2.51l-0.29,3.17l0.54,1.11l0.6,0.01l0.99,-0.91l0.48,0.7l0.3,1.5l-0.56,4.03l0.33,1.47l1.84,1.98l0.9,2.89l1.12,0.31l0.52,-0.4l0.04,-0.52l1.65,0.8l2.21,-0.09l0.9,0.49l0.71,2.65l-0.72,0.97l-2.99,2.18l-1.13,2.64l-2.36,1.79l-1.78,0.21l-2.14,1.78l-0.72,2.26l0.72,1.48l0.15,1.18l-1.13,1.76l-3.47,0.93l-3.65,3.0l-3.05,1.37l-2.17,2.82l-0.35,1.32l0.73,1.02l-1.48,0.97l-0.33,1.95l0.41,0.86l1.39,0.93l-0.35,1.31l0.13,0.75l-0.12,0.3l-0.98,0.13l-0.29,0.89l-1.06,-0.2l-0.46,0.37l-0.32,1.8l-3.28,5.47l-0.78,2.64l0.11,1.7l1.58,1.75l0.07,1.4l-2.14,-0.68l-0.99,0.11l-0.68,0.98l-0.1,1.33l-0.9,1.29l-0.91,2.51l-1.44,1.46l-2.01,0.14l-3.31,-2.01l-4.53,0.66l-0.98,0.41l-1.12,-0.49l-3.11,0.28l-0.56,0.45l-0.04,1.31l-2.46,4.73l-1.43,0.95l-1.59,2.2l-1.09,0.56l0.01,-0.76l-0.55,-0.52l-1.36,-0.25l-0.68,0.54l-0.09,4.18l0.72,2.52l-0.83,4.18l0.61,1.45l0.67,0.17l0.4,1.27l0.79,0.22l-0.29,3.71l0.48,1.12l0.27,3.76l-0.69,2.58l0.08,0.98l2.58,1.62l2.3,0.07l1.42,1.1l1.33,-0.5l1.05,0.06l-0.41,3.09l0.82,1.35l-3.43,2.25l0.01,-2.29l-1.81,-0.32l-1.56,-0.7l-3.66,-0.37l-0.86,0.54l-0.78,1.34l-2.46,-4.66l-0.59,-0.31l-1.08,0.07l-0.43,-0.79l-2.26,-1.77l-0.81,0.21l-0.92,1.26l-0.28,-0.91l-2.18,-2.08l-0.5,0.09l-1.32,1.38l-0.97,0.56l-1.53,2.64l-0.2,1.29l0.69,1.16l3.02,1.8l0.98,1.71l2.17,0.75l-0.29,2.12l0.41,1.88l-0.25,4.24l0.5,0.47l0.99,0.22l0.95,1.7l1.38,0.51l0.36,0.45l-0.98,1.25l0.11,0.61l0.97,0.86l-0.71,1.75l-0.07,1.21l0.69,1.82l-0.2,1.59l1.06,0.93l0.17,1.09l0.72,1.28l0.08,2.46l-1.85,1.77l-0.79,3.73l-0.61,-0.56l-0.52,-0.03l-0.99,1.69l-2.34,0.54l-1.59,1.62l-1.01,0.36l-0.27,0.97l1.23,1.04l0.02,0.59l-1.55,1.0l-3.02,2.84l-1.83,2.83l-1.7,0.58l-0.96,1.18l-3.23,1.04l-0.99,2.18l0.33,1.34l-0.54,2.23l-0.74,1.15l-0.25,2.85l-0.67,1.16l-0.18,1.23l-0.74,-0.38l-0.78,0.41l-0.23,2.18l-4.04,0.11l-2.81,-1.08l-3.48,1.96l-0.54,-0.18l-0.8,-1.55l-0.22,-3.95l-1.15,-2.66l-0.11,-1.07l0.7,-1.59l-0.22,-0.76l-1.09,-0.27l-1.63,0.55l-0.57,-2.01l-0.9,-0.47l-0.7,0.29l-0.43,1.22l-1.37,0.06l-0.16,-0.75l1.24,-0.83l0.07,-0.8l-2.14,-4.79l-2.4,-3.04l-2.13,-2.27l-1.92,-1.33l-1.32,-0.24l-1.74,0.54l-1.0,-0.81l-0.58,0.42Z\",\\n      \"name\": \"Chhattisgarh\"\\n    },\\n    \"IN-CH\": {\\n      \"path\": \"M266.15,165.51l-2.24,-2.23l-0.12,-0.55l1.16,-0.55l1.66,0.15l0.44,1.34l-0.16,1.56l-0.74,0.28Z\",\\n      \"name\": \"Chandigarh\"\\n    },\\n    \"IN-GA\": {\\n      \"path\": \"M171.13,653.34l0.82,-0.49l2.2,-0.25l0.84,-1.12l0.38,0.84l1.86,0.75l0.72,2.4l1.25,1.01l1.01,0.17l2.17,-0.81l2.03,0.13l1.31,-0.56l1.58,0.8l0.64,3.06l-0.59,1.24l0.03,0.83l0.59,0.86l0.06,1.41l1.19,1.5l0.15,1.34l-0.25,0.39l-1.24,0.3l-0.42,0.49l0.16,0.93l1.4,1.13l-1.01,2.75l0.15,2.34l-1.02,2.28l-0.76,0.39l-1.33,0.04l-1.82,1.18l-1.4,-0.88l0.06,-1.67l-0.32,-0.72l-0.99,-0.43l-1.0,-1.7l-1.34,-0.43l0.32,-0.82l0.93,-0.77l0.11,-0.61l-0.54,-0.55l-1.62,-5.41l-0.52,-0.65l-1.65,-0.3l-0.6,-0.51l2.08,0.23l0.62,-0.25l0.78,0.3l0.93,0.96l0.63,-0.35l-0.02,-0.58l-1.35,-1.45l-3.77,-1.12l0.45,-0.68l1.85,-0.72l-0.19,-0.91l-0.59,-0.35l-2.36,1.34l-0.55,-0.34l0.05,-0.87l-0.54,-1.54l0.59,-0.89l2.24,-0.65l0.3,-0.6l-0.39,-0.4l-1.74,0.07l-1.67,1.11l-0.87,-2.2Z\",\\n      \"name\": \"Goa\"\\n    },\\n    \"IN-GJ\": {\\n      \"path\": \"M0.5,399.96l0.7,-0.07l0.65,-0.85l1.21,0.35l1.42,-0.85l0.14,-0.66l-0.59,-0.43l-0.93,0.34l-0.77,-0.57l-0.51,-2.68l-0.67,0.36l0.47,-2.07l0.64,-0.96l1.64,-0.62l-0.08,-1.16l0.42,0.58l0.75,0.19l1.26,-1.22l0.45,0.24l0.9,-0.64l10.29,-0.14l0.4,-0.4l0.04,-10.49l0.51,-1.05l1.13,0.05l0.45,2.22l0.74,0.73l0.91,-0.37l1.29,-2.29l1.82,2.06l0.74,0.04l2.52,-1.05l3.13,1.14l3.52,-0.99l8.54,0.22l0.76,0.33l2.36,2.42l1.6,0.78l7.98,0.11l1.43,-0.3l1.28,-1.0l1.64,-3.28l4.06,-0.84l1.74,-1.07l2.27,-0.31l1.43,-0.97l4.1,-0.7l0.18,0.38l-0.74,0.64l-0.12,0.58l0.81,3.24l1.9,1.14l4.26,0.3l3.16,-1.22l0.2,-0.72l-0.41,-0.77l2.11,-1.57l2.5,0.12l0.86,-0.95l1.84,-0.89l-0.41,-1.47l-2.81,-0.83l0.18,-2.07l-0.72,-0.83l-0.07,-0.71l0.57,-1.53l2.65,-1.55l1.66,0.93l2.93,0.8l0.95,0.0l2.15,-0.83l2.27,0.43l1.81,-1.1l2.8,-0.18l1.22,0.17l1.61,0.83l3.68,-0.64l0.6,1.02l1.38,0.34l0.62,-0.37l0.1,-0.96l0.5,-0.3l0.41,0.01l0.74,0.75l1.17,0.13l1.71,-1.24l1.73,-0.39l1.37,1.61l2.36,0.79l1.19,0.15l3.43,-0.47l-2.31,0.59l-0.18,0.93l1.37,1.15l1.47,0.26l0.66,0.97l1.68,0.05l0.11,1.14l1.25,1.86l1.07,-0.16l0.95,-2.34l0.8,-0.05l1.64,0.97l1.95,0.54l0.81,1.65l0.86,0.74l5.67,1.0l1.08,-0.16l1.04,-0.81l0.65,-2.67l0.5,-0.68l2.52,-0.5l-0.24,2.59l0.32,0.65l2.29,0.98l1.23,-0.39l0.06,0.28l-0.47,0.73l-1.64,-0.01l-1.21,1.67l-0.94,2.61l0.78,2.06l0.54,0.75l2.28,1.54l0.5,1.22l1.44,1.4l0.56,-0.04l1.5,-1.02l1.08,-1.87l1.13,1.79l0.1,1.35l0.71,1.7l-1.66,1.34l-0.33,3.86l0.52,0.44l1.25,0.07l1.17,1.92l1.59,0.55l0.03,3.2l1.07,0.14l1.29,-1.03l1.02,0.87l0.0,2.34l0.46,1.2l-0.33,1.36l0.26,0.43l1.46,0.1l1.41,0.86l2.79,-0.78l2.48,3.21l1.08,0.17l1.17,-0.81l2.08,1.91l1.71,0.9l0.52,0.58l0.09,1.77l0.56,0.94l1.07,0.46l1.24,-0.62l0.32,0.13l0.75,0.47l1.19,2.04l1.06,0.7l1.04,2.54l0.7,3.74l0.67,0.28l0.99,-0.26l1.0,1.07l0.15,0.89l-2.47,4.86l-0.69,0.73l-2.4,0.5l-3.97,3.3l-2.47,-0.52l-1.06,0.61l-0.17,1.4l2.3,2.09l0.7,0.27l2.5,-0.14l1.17,0.57l-0.52,0.85l-1.21,0.63l-1.38,0.14l-0.87,-0.73l-0.66,-0.14l-0.64,0.34l-0.43,0.83l0.19,3.95l0.98,1.17l0.6,2.21l0.72,1.01l-0.37,1.38l-0.01,2.02l-1.86,0.34l-2.66,1.26l-0.98,0.85l-1.36,0.17l-2.94,1.25l-0.44,1.12l0.24,2.28l1.08,1.72l-0.69,1.24l-1.5,0.35l-0.49,0.63l0.39,1.13l1.62,2.41l0.55,0.29l5.43,-1.52l3.48,0.09l1.05,-0.57l1.48,0.8l2.63,-0.9l0.24,0.98l-1.57,1.06l-3.99,1.1l-1.51,-0.44l-0.73,0.2l-2.61,2.26l-1.23,3.23l-2.07,0.72l-0.67,-0.54l-0.58,-0.03l-0.41,0.34l-0.93,2.34l-2.01,1.14l-0.89,-0.22l-0.84,0.23l-2.12,-1.04l-0.82,0.35l0.24,1.02l1.22,1.18l1.38,0.77l2.01,-0.03l1.03,1.36l1.56,0.58l2.32,2.59l0.99,2.76l0.19,3.31l-0.49,0.92l-2.42,2.07l-0.13,1.4l-0.42,0.84l-2.66,1.32l-1.84,0.02l-1.33,-1.63l-3.25,-1.89l-1.11,-1.53l-0.78,0.14l-0.93,1.49l-1.29,0.62l-0.04,0.76l1.28,0.48l0.25,1.12l0.99,0.4l0.28,1.19l-2.99,5.31l0.78,1.33l0.23,1.97l-0.49,1.57l0.17,0.94l-3.44,-0.35l-0.69,0.66l-0.27,1.36l-1.1,0.52l-0.38,-0.06l-0.01,-1.51l-0.72,-0.56l-1.37,-0.12l-0.43,0.32l-0.21,0.95l-0.95,0.04l-0.36,-1.68l2.24,-1.3l0.45,-0.95l-0.35,-0.68l-1.23,-0.09l0.08,-1.11l-0.81,-0.47l-2.07,1.39l-1.14,-0.0l-0.65,1.29l-1.14,-0.15l-0.55,0.41l-0.11,0.95l1.46,1.36l0.23,1.61l-1.88,0.66l-1.35,-0.06l-0.65,0.32l-1.02,-0.24l-1.45,0.83l0.73,-2.93l0.57,-1.06l-0.41,-0.59l0.18,-1.49l0.99,-2.09l0.98,-0.77l1.51,-0.17l0.65,-0.65l-0.08,-1.64l-0.77,-1.03l0.99,-1.77l-0.03,-2.84l0.62,-1.11l-0.07,-2.45l1.33,-1.05l-0.21,-0.59l-0.63,-0.42l-0.03,-1.1l-0.67,-0.08l-0.38,0.46l-0.11,-0.45l0.53,-1.02l-0.21,-0.61l-1.26,0.33l0.35,-1.15l-0.63,-0.76l1.16,-0.71l0.28,-0.98l-0.44,-0.43l-1.52,0.3l-0.45,-0.77l-1.18,-0.59l1.25,0.19l0.67,-0.14l0.43,-0.53l-1.08,-2.77l-0.57,-0.44l-1.51,0.57l-0.74,-0.19l0.11,-0.83l-0.45,-0.52l-0.52,-0.03l1.22,-0.68l-0.09,-0.44l-1.49,-0.75l-1.09,-0.93l-0.03,-0.45l-0.63,-0.3l-0.58,0.41l-0.15,-0.32l-0.44,-1.87l1.42,-0.28l0.28,-0.74l-0.56,-0.42l-1.68,0.12l1.8,-0.54l2.67,-1.74l0.35,0.25l0.59,-0.15l0.08,-1.13l-0.83,-0.39l-2.31,0.85l-1.68,1.13l0.77,-1.49l2.09,-1.65l2.56,-1.29l1.44,-1.98l1.44,0.24l2.03,-0.72l0.96,-0.67l4.65,-1.88l0.51,-0.51l0.13,-0.73l-0.86,-0.4l-3.05,1.6l-2.75,0.95l-2.09,-0.31l-1.84,0.69l-1.99,-0.44l-1.81,0.3l-1.83,-0.23l-2.19,0.51l-0.03,-0.91l0.75,-1.97l0.26,-2.24l0.6,-0.39l1.0,-2.09l0.74,-0.36l1.38,-0.01l0.52,-0.51l0.26,-0.88l0.74,-0.47l-0.31,-0.63l-1.03,0.01l-0.6,0.71l-2.18,0.28l-2.07,1.63l-0.98,-1.7l1.19,-5.61l0.93,-1.11l0.97,-0.45l1.83,0.91l0.97,-0.07l1.05,0.62l0.56,-0.08l1.83,-2.13l0.87,-0.16l1.4,0.83l0.95,-0.34l0.39,-1.48l-0.64,-1.05l-0.97,0.51l-1.22,-0.43l-0.84,0.08l-1.89,0.94l-2.79,-0.93l-1.08,0.05l-1.68,-0.54l-0.77,0.2l-1.65,1.38l-0.67,0.2l0.15,-0.47l-0.39,-0.52l-1.99,0.41l-0.25,-1.46l0.75,-0.74l0.1,-0.66l-0.41,-0.73l-0.48,-0.12l-1.3,0.92l-0.97,2.53l-1.14,-0.05l-0.41,-1.1l-0.83,-0.23l-1.09,0.05l-0.53,0.76l-1.33,-0.02l-0.2,0.66l0.68,0.67l1.07,0.28l0.85,-0.5l0.31,0.91l0.9,0.39l1.02,-0.03l0.24,1.05l-0.28,3.28l-1.38,1.94l-1.79,0.18l-0.67,0.89l-0.99,-0.87l-1.35,-0.09l-0.31,0.32l0.18,0.41l0.66,0.43l-0.97,-0.27l-0.45,0.17l0.18,0.63l-1.59,0.61l0.15,0.67l1.89,0.64l1.44,-0.1l0.69,0.88l-0.18,0.92l-1.97,-1.61l-0.75,-0.2l-0.45,0.23l-0.2,1.02l1.11,0.46l0.3,0.48l-2.34,-0.84l-0.76,0.39l0.16,2.39l0.61,0.07l0.52,0.59l1.44,-0.43l1.41,0.38l1.26,-0.46l0.97,1.2l0.7,1.57l0.66,0.39l0.82,0.02l0.65,0.95l0.03,0.91l-0.66,0.75l-1.0,3.65l-2.24,2.74l-0.51,1.07l-1.35,1.36l-0.58,2.43l0.41,1.27l-3.25,1.99l-2.05,0.24l-4.99,3.12l-1.45,0.04l-2.41,1.15l-1.67,1.19l0.07,-0.5l-1.13,0.05l-1.81,1.46l-0.9,1.36l-4.4,1.16l-5.39,2.64l-1.52,0.13l-0.92,0.73l-2.44,0.05l-0.65,0.93l-3.65,0.22l-0.99,-0.18l-0.85,-0.59l-1.16,0.23l-1.21,-0.86l-4.8,-1.96l-2.71,-1.5l-1.64,-1.54l-1.94,-0.78l-8.52,-7.09l-3.03,-3.95l-3.49,-3.74l-0.87,-1.33l-0.17,-0.96l-1.73,-1.02l-3.88,-4.04l-1.94,-1.14l-2.67,-3.2l-1.63,-1.0l-0.84,-1.01l-0.18,-1.89l-0.66,-0.19l-0.63,0.59l-0.54,-0.17l-4.18,-3.73l-1.45,-1.96l-1.46,-1.14l-1.7,-2.63l-1.65,-1.48l-1.47,-2.81l0.88,-3.29l0.5,-0.76l1.32,-0.83l-0.26,0.75l1.01,1.24l0.67,0.08l1.02,-0.44l0.83,0.17l0.94,-0.69l0.25,0.21l-1.03,2.68l0.24,0.84l1.52,1.23l2.4,-0.38l1.52,-0.7l0.65,-0.71l2.26,-0.04l1.51,-0.42l1.45,-1.37l0.19,-0.7l-0.34,-1.28l0.36,-0.06l0.3,2.26l1.88,0.7l0.59,-0.29l0.11,-0.39l0.69,-0.13l0.66,-0.9l0.59,0.21l0.46,-0.2l0.83,-2.0l1.53,1.64l0.7,-0.0l0.95,-1.43l1.58,-0.33l2.54,-2.09l2.6,-0.59l2.59,0.34l1.25,-0.49l4.5,-7.15l0.16,-1.52l1.55,-2.48l2.22,-1.93l1.09,0.04l0.73,-0.69l0.69,-1.43l0.07,-0.9l-0.87,-2.13l-1.25,-0.94l-2.24,1.56l-0.43,0.78l0.33,1.53l-0.31,2.26l-1.2,0.23l-0.53,-0.37l-0.68,0.08l-0.97,-0.5l-1.1,-1.31l-0.65,0.29l-0.22,1.03l-1.45,0.21l-0.85,-0.55l-0.06,-0.82l-0.53,0.16l-0.65,1.13l0.61,0.91l-1.78,0.22l-2.05,0.8l-5.13,1.18l-2.35,1.7l-1.17,1.86l-1.81,-0.42l-2.04,-0.02l-0.85,-0.55l-1.78,-0.11l-5.03,-1.67l-4.08,-0.59l-4.99,-3.19l-5.31,-2.24l-6.42,-4.41l-0.28,-0.83l-0.74,-0.31l-0.42,-0.6l0.49,-0.71l0.1,-0.83l-0.57,-0.36l-1.75,0.26l-0.15,-0.25l0.45,-0.89l1.3,-0.27l0.19,-0.55l-1.43,-1.28l-1.29,-0.24l-0.08,-0.55l0.78,-0.72l-0.27,-0.47l-1.15,-0.11l-0.95,0.55l-0.06,-1.22l-1.08,0.26l1.83,-2.32l-0.14,-0.36l-0.86,-0.1l-0.56,-0.78l-0.49,-0.1l-0.21,0.45l0.29,1.18l-0.41,0.11l-0.0,-3.49l2.18,0.23l0.39,-0.38l0.04,-0.61l-0.48,-0.5l1.61,-0.59l1.53,-1.82l1.55,-0.78l1.08,-1.78l1.61,-0.09l3.07,-2.0l-0.09,-0.69l-0.8,-0.19l-1.32,0.28l-1.37,1.12l-2.52,0.25l-0.62,0.52l-0.65,1.24l-5.16,2.14l-2.79,3.05l0.2,0.67l-0.49,0.4l-4.27,-0.24l-0.75,-0.44ZM141.04,481.24l-0.02,0.35l-0.14,0.07l0.03,-0.2l0.13,-0.22ZM139.1,480.22l0.01,0.97l-0.7,0.34l-0.26,-0.5l0.95,-0.81ZM28.19,437.73l0.34,-0.24l-0.1,0.14l-0.23,0.1Z\",\\n      \"name\": \"Gujarat\"\\n    },\\n    \"IN-RJ\": {\\n      \"path\": \"M113.16,366.39l-0.79,-0.19l-0.82,-1.14l-3.88,0.61l-1.37,-0.78l-1.49,-0.21l-3.05,0.21l-1.75,1.08l-2.15,-0.45l-2.94,0.83l-2.75,-0.76l-1.27,-0.83l-0.91,-0.2l-1.55,-3.64l-2.68,-4.47l-2.06,-7.11l-3.54,-3.49l-0.79,-2.29l-1.64,-1.88l-0.21,-1.01l0.33,-6.6l-0.19,-1.6l-0.91,-1.04l-1.23,-0.24l-3.67,1.06l-3.52,0.09l-2.79,-0.74l-0.75,-0.92l-0.69,-1.91l-3.03,-3.12l-0.94,-1.52l-0.54,-1.56l0.29,-3.26l1.77,-3.12l0.63,-2.52l-0.28,-1.98l0.55,-1.87l-0.16,-5.57l-1.0,-1.17l-2.36,-0.91l-7.44,0.28l-1.19,-0.44l-3.46,-2.72l-4.77,-1.9l-0.82,-0.89l-0.21,-1.18l1.29,-7.93l0.8,-2.43l1.22,-2.0l8.35,-7.32l1.89,-2.92l2.65,-2.47l0.77,-1.08l2.56,-6.91l7.24,-6.53l3.37,-0.9l2.19,0.73l2.89,2.68l0.22,2.51l0.96,2.12l1.23,1.73l1.86,1.21l2.15,0.28l2.76,-0.58l7.27,-3.47l2.28,-0.75l5.18,-0.75l5.05,-0.01l9.45,-2.8l0.73,-1.01l0.37,-4.13l0.46,-1.13l2.41,-3.02l5.04,-4.28l1.5,-3.1l1.81,-6.71l0.69,-1.31l2.22,-2.6l16.76,-8.5l1.03,-0.96l1.04,-2.37l2.71,-3.73l5.61,-10.36l4.24,-13.14l5.55,-2.7l5.67,-1.24l1.25,-0.68l5.27,-4.38l0.01,1.53l-2.58,4.47l0.0,0.93l0.33,0.34l15.39,0.72l3.64,0.48l0.02,0.94l0.94,0.93l0.04,0.52l-2.13,1.4l-0.59,2.13l0.48,0.91l1.08,0.31l2.26,-0.71l0.48,-0.41l0.19,0.23l-0.67,2.55l-0.26,2.85l0.37,1.18l0.79,0.98l-0.07,1.22l-0.19,0.37l-1.73,0.3l-0.34,0.95l2.48,3.97l1.17,-0.0l0.51,-1.04l3.42,-0.01l1.87,-1.25l2.62,1.15l1.36,2.74l1.0,0.28l1.28,-0.27l0.65,1.25l0.71,0.48l2.28,-0.55l0.86,-0.67l1.03,0.64l1.26,-0.12l1.93,-1.4l-0.21,1.19l0.37,0.73l0.69,0.23l1.08,-0.74l0.54,1.48l-0.83,0.46l-0.2,0.49l0.54,1.33l0.0,1.06l1.94,2.91l1.92,0.98l-0.02,0.67l-0.77,0.56l-0.22,0.85l3.34,9.56l3.35,4.22l2.17,1.57l-0.14,0.74l0.33,0.67l1.41,0.08l2.09,0.88l2.08,1.93l2.08,2.67l1.58,2.67l-0.7,-0.71l-0.52,-0.07l-1.05,1.15l-1.53,0.73l-0.43,0.67l0.27,0.88l0.98,0.7l0.61,-0.02l0.86,-0.7l-1.13,1.37l-0.82,1.64l0.59,0.99l-0.48,0.39l-0.91,-0.04l-0.45,0.81l0.15,0.87l1.22,0.93l0.58,1.57l0.74,0.31l3.48,-0.31l1.76,1.41l1.39,-0.66l0.29,-1.0l-0.42,-1.48l-0.6,-0.68l-0.03,-1.56l-0.65,-2.07l0.15,-1.09l0.22,-0.27l1.06,0.2l1.09,-0.39l1.6,1.04l1.18,-0.25l0.39,-0.55l0.02,-0.94l-1.13,-0.83l0.85,-0.33l0.02,-0.98l0.68,0.29l2.29,-0.31l0.49,0.72l-0.59,-0.08l-0.38,0.31l0.06,0.73l0.66,0.56l-0.57,0.47l0.03,0.51l1.42,0.83l0.92,0.06l0.52,1.73l0.97,0.65l1.15,-1.04l2.04,-0.52l0.28,-0.58l-0.44,-1.85l3.39,-2.44l1.36,-1.92l1.01,-0.38l2.42,2.36l0.15,0.52l-0.65,2.79l0.52,2.35l0.19,3.84l-0.86,1.6l-0.46,2.44l0.4,1.04l-0.58,0.37l-0.03,0.84l0.72,0.56l2.1,-0.25l1.27,-1.76l2.05,-0.4l0.26,-0.81l-1.3,-0.89l0.24,-0.53l1.97,0.6l0.71,-0.1l0.6,-0.56l0.81,0.49l0.58,-0.41l0.82,0.59l0.81,-0.67l0.38,0.07l0.36,2.7l0.84,0.78l0.33,0.85l0.04,0.6l-0.52,1.02l0.73,0.91l0.01,1.61l2.3,3.01l0.95,2.22l1.87,0.74l1.89,1.31l1.14,0.19l0.15,1.49l0.75,1.73l0.61,0.61l-0.36,0.58l-1.2,0.7l-0.31,0.83l-2.57,0.82l-0.37,0.89l0.3,0.66l0.88,0.32l0.64,1.0l2.23,0.36l0.7,-0.5l0.87,1.25l-1.42,0.37l-6.42,3.0l-0.85,1.15l-0.02,2.84l0.73,0.32l0.77,-0.2l1.26,-1.79l1.15,0.07l4.09,-1.67l2.33,-1.65l2.98,0.47l0.85,0.51l1.05,-0.35l2.89,0.35l1.09,1.2l0.67,-0.29l0.09,-1.11l1.09,-0.08l1.28,-1.16l1.69,-0.04l2.02,0.57l-0.98,0.92l-1.12,0.42l-0.05,0.72l0.66,0.88l-0.85,0.24l-0.1,0.82l-1.0,-0.26l-0.95,0.2l-0.54,3.52l-0.93,0.02l-0.98,-0.46l-1.99,0.86l-1.51,0.22l-0.57,0.55l-0.21,0.79l-1.71,0.58l-0.26,0.53l0.27,0.69l-2.38,1.08l-0.92,1.0l-2.98,0.75l-3.21,2.22l-2.11,0.06l-0.56,0.59l-0.11,0.9l-2.76,0.32l-1.52,2.06l-2.32,1.81l-2.65,0.18l-0.91,0.72l-0.32,0.96l-1.97,0.47l-0.92,1.2l-1.56,1.0l-1.05,0.28l-0.68,1.19l-2.24,1.52l-0.52,1.68l-0.79,0.35l-0.93,1.01l-2.88,0.01l-0.79,1.22l-0.84,0.14l-1.36,1.03l-1.09,1.85l-0.12,1.68l-1.03,0.59l1.24,6.15l1.02,3.16l1.64,0.79l1.23,1.75l2.04,0.43l1.85,1.25l0.57,0.11l1.26,-0.41l1.39,0.2l1.84,1.04l0.77,-0.39l1.71,0.0l2.77,-1.21l2.19,0.5l1.34,-0.62l0.88,-1.95l0.69,-0.54l1.52,-0.36l0.69,0.22l0.38,0.55l-0.47,1.46l0.69,1.45l-0.15,1.82l1.16,1.77l-0.39,1.97l-1.43,1.01l-1.76,-0.7l-1.13,0.24l-1.06,-0.21l-3.5,1.17l-2.7,0.19l-4.12,1.59l-0.88,1.16l-0.03,0.67l0.99,2.1l0.11,1.21l-0.8,0.67l-1.8,0.4l-0.46,0.59l0.01,0.63l2.21,2.47l1.07,0.57l2.33,0.03l1.64,1.33l0.87,1.46l0.43,2.21l-0.59,0.95l-3.32,1.33l-0.31,-0.01l-0.09,-0.98l-0.76,-1.19l-1.72,-0.45l-0.99,0.55l0.19,7.02l0.56,1.52l1.87,2.64l-0.75,1.42l-2.66,0.44l-2.87,-1.98l-0.29,-0.38l0.59,-1.58l-0.65,-0.89l-1.49,0.26l-1.32,0.66l-0.62,0.81l-0.38,1.25l-0.93,0.27l-0.8,-1.35l-0.81,-0.46l-2.36,0.15l-2.37,-0.75l-2.62,0.03l-0.56,-0.65l-0.06,-1.39l-0.91,-0.21l-1.44,0.8l-0.41,0.77l-0.22,5.75l-0.91,1.03l-3.07,2.04l-0.18,0.86l0.58,0.69l-0.36,0.8l-2.54,1.42l-3.18,1.16l-1.39,-1.09l-0.78,0.05l-0.42,0.67l0.21,1.39l-0.75,1.99l-1.04,-0.67l-1.53,-0.23l-0.54,-1.73l-2.26,-1.43l-0.39,-0.57l-0.11,-1.38l0.73,-1.34l0.34,-0.08l2.56,1.5l0.99,-0.14l1.03,-0.78l1.53,0.76l2.78,-3.75l-0.19,-0.69l-1.38,-0.85l-0.38,-0.73l0.33,-1.04l1.14,-1.39l0.31,-1.44l-0.35,-1.02l-1.31,-0.83l-0.49,-2.5l0.29,-1.27l0.46,-0.6l2.12,0.79l0.87,-0.42l0.54,-0.87l-0.12,-3.35l-1.72,-2.18l-0.08,-1.9l-1.45,-1.82l-0.93,-0.39l-1.02,0.2l-2.12,1.19l-6.1,1.13l-1.71,-0.05l-2.46,-0.66l-2.71,0.12l-0.69,-0.28l-0.43,-0.95l1.0,-1.04l0.14,-0.7l-0.82,-1.9l1.39,1.33l1.73,0.45l2.43,-0.55l1.29,-1.43l-0.03,-0.57l-0.61,-0.38l-3.06,0.55l-1.27,-0.53l0.04,-0.32l1.57,0.36l0.71,-0.62l-0.09,-0.83l-0.78,-1.15l0.96,-1.84l-0.38,-0.68l-2.77,0.61l-2.39,-0.18l-0.87,0.22l-1.43,2.29l0.29,1.74l-0.19,0.81l-1.27,-0.2l-1.56,1.09l-2.66,-1.04l-1.24,-1.01l-1.28,-0.2l-0.46,0.24l-0.21,0.62l0.68,2.0l-0.19,1.6l0.21,0.59l3.12,0.55l1.1,-0.15l0.1,0.39l-0.55,2.44l-0.6,0.36l-1.68,0.1l-1.61,-1.83l-0.62,-1.83l-0.6,-0.15l-0.56,0.47l-0.19,2.47l0.42,1.11l-2.09,4.22l-0.12,0.98l0.53,0.75l3.35,1.05l0.25,0.61l-2.43,2.42l-0.39,1.79l-0.73,1.25l0.16,0.52l0.56,0.3l2.45,-0.12l1.2,0.69l0.89,3.8l2.05,2.4l-0.64,1.04l-1.18,3.43l-0.18,1.43l0.11,2.2l0.8,1.33l0.19,1.94l-2.53,4.99l-0.87,0.81l-5.89,2.59l-2.01,1.8l-1.52,2.59l0.02,1.08l0.6,0.72l2.45,0.79l1.39,0.05l1.5,1.36l-2.98,1.57l-1.93,0.47l-2.21,1.15l-2.7,-0.33l-1.68,0.98l-0.59,-0.97l-0.83,-0.47l-1.34,-2.19l-1.43,-0.75l-1.43,0.61l-0.48,-0.26l-0.72,-2.86l-2.18,-1.34l-2.15,-1.97l-0.91,-0.2l-0.73,0.85l-0.66,-0.04l-2.15,-2.97l-0.57,-0.34l-2.93,0.76l-1.14,-0.82l-1.17,0.04l0.32,-1.25l-0.46,-1.22l0.13,-1.76l-0.24,-0.9l-1.4,-1.24l-0.65,0.06l-1.41,1.07l0.32,-2.39l-0.31,-0.73l-1.75,-0.71l-1.19,-1.94l-1.47,-0.23l0.28,-3.15l1.47,-1.08l0.28,-0.53l-0.77,-1.97l-0.12,-1.42l-1.32,-2.1l-0.38,-0.24l-0.65,0.19l-1.13,1.93l-1.34,0.87l-0.98,-1.08l-0.62,-1.36l-2.63,-2.03l-0.7,-1.62l0.87,-2.35l0.88,-1.21l1.13,0.05l0.78,-0.31l0.62,-1.27l-0.18,-0.76l-0.43,-0.3l-1.27,0.38l-1.91,-0.74l0.23,-2.35l-0.43,-1.01l-1.21,-0.11l-2.26,0.63l-0.78,1.08l-0.46,2.35l-0.86,0.68l-0.6,0.06l-1.89,-0.53l-3.52,-0.4l-1.51,-2.29l-2.14,-0.65l-1.84,-1.02l-1.46,0.26l-0.78,2.15l-0.36,0.2l-0.92,-1.62l-0.24,-1.27l-1.85,-0.15l-0.62,-0.94l-1.53,-0.29l-0.97,-0.75l2.33,-0.44l0.22,-0.89l-0.68,-0.67l-4.54,0.35l-2.17,-0.71l-1.13,-1.44l-0.59,-0.29l-2.11,0.47l-1.51,1.18l-0.76,-0.09l-0.9,-0.81l-0.82,0.05l-0.91,0.64l-0.15,0.93ZM294.16,288.97l0.26,-0.35l0.11,-0.1l-0.05,0.3l-0.31,0.15ZM252.61,250.52l-0.88,-0.6l-0.15,-0.41l0.59,0.24l0.44,0.77Z\",\\n      \"name\": \"Rajasthan\"\\n    },\\n    \"IN-MP\": {\\n      \"path\": \"M191.91,423.84l-0.52,-3.36l-0.53,-1.39l0.74,-0.61l0.77,-0.34l2.88,0.29l2.23,-1.16l1.99,-0.5l3.36,-1.88l-0.0,-0.75l-1.53,-1.53l-4.03,-0.93l-0.42,-0.88l1.39,-2.39l1.85,-1.66l5.83,-2.55l1.04,-0.94l1.49,-3.12l1.15,-1.64l0.11,-1.95l-0.24,-1.12l-0.77,-1.25l-0.08,-1.88l0.16,-1.29l1.86,-4.79l-2.14,-2.67l-0.45,-2.8l-0.59,-1.21l-1.63,-0.91l-2.47,0.1l0.66,-1.0l0.32,-1.64l1.74,-1.48l0.81,-1.32l-0.17,-0.87l-0.45,-0.45l-3.45,-1.11l-0.08,-0.37l2.2,-4.61l-0.4,-1.42l0.1,-1.99l0.36,1.48l0.95,0.81l0.7,1.18l0.53,0.26l1.56,-0.03l1.01,-0.34l0.72,-0.72l0.5,-2.94l-0.75,-0.84l-1.19,0.14l-2.6,-0.34l0.17,-1.7l-0.66,-1.97l0.84,0.14l1.09,0.93l2.15,1.06l1.16,0.09l1.62,-1.1l1.02,0.31l0.63,-0.38l0.36,-1.3l-0.29,-1.62l1.1,-1.75l2.84,0.09l2.19,-0.57l-0.84,1.67l0.9,1.76l-1.84,-0.24l-0.48,0.64l0.06,0.81l0.84,0.71l1.12,0.24l2.91,-0.55l-1.3,1.1l-1.61,0.23l-1.34,-0.35l-1.47,-1.38l-0.77,0.01l-0.33,0.88l0.81,1.84l-0.85,0.94l-0.32,0.92l0.8,1.39l1.08,0.43l2.69,-0.13l2.41,0.65l1.95,0.06l6.25,-1.16l2.89,-1.35l0.81,0.55l0.9,1.26l0.02,1.76l1.69,2.09l0.14,2.99l-0.72,0.67l-1.35,-0.77l-1.15,0.13l-0.74,0.98l-0.34,1.56l0.56,2.82l1.31,0.91l0.28,0.62l-0.23,1.1l-1.45,2.03l-0.07,0.88l0.25,0.76l1.62,1.36l-2.15,2.93l-1.36,-0.75l-1.75,0.95l-3.0,-1.53l-0.78,0.44l-0.86,1.74l0.13,1.58l0.39,0.76l2.43,1.6l0.49,1.72l0.33,0.26l1.63,0.23l0.86,0.6l0.71,0.05l0.53,-0.62l0.69,-1.91l-0.18,-1.56l1.04,0.97l0.88,0.15l3.38,-1.22l2.74,-1.55l0.62,-1.43l-0.58,-1.02l2.89,-1.87l1.22,-1.46l0.23,-5.8l1.25,-0.97l0.03,1.13l0.96,1.07l0.65,0.22l2.18,-0.18l2.45,0.76l2.27,-0.16l0.37,0.22l0.5,1.22l0.8,0.37l1.54,-0.47l0.94,-2.01l2.1,-0.79l-0.46,2.16l2.85,2.18l0.96,0.53l3.22,-0.59l1.09,-2.16l-2.28,-3.57l-0.43,-4.0l0.27,-1.37l-0.24,-1.82l1.59,0.28l0.46,1.83l1.11,0.44l3.72,-1.46l0.82,-0.85l0.14,-0.79l-0.48,-2.47l-1.05,-1.74l-1.9,-1.51l-2.48,-0.08l-0.78,-0.44l-1.9,-2.1l0.23,-0.33l1.92,-0.41l0.89,-0.95l-0.08,-1.74l-0.97,-2.28l0.51,-0.72l3.91,-1.51l2.67,-0.19l3.37,-1.16l1.06,0.21l0.95,-0.26l1.95,0.71l1.88,-1.18l0.37,-0.58l0.33,-2.13l-1.25,-2.17l0.23,-1.44l-0.69,-1.42l0.48,-1.43l-0.97,-1.29l-1.87,-0.11l-1.6,0.8l-0.94,1.95l-0.61,0.55l-2.56,-0.43l-2.91,1.24l-1.6,-0.03l-0.73,0.39l-1.59,-1.02l-1.63,-0.22l-1.33,0.41l-1.98,-1.3l-1.68,-0.23l-1.39,-1.83l-1.51,-0.67l-0.88,-2.84l-1.3,-5.49l1.02,-0.67l0.31,-2.18l0.62,-1.04l1.1,-0.9l1.23,-0.38l0.55,-1.06l2.42,0.18l0.59,-0.28l0.95,-1.02l0.89,-0.44l0.58,-1.75l2.19,-1.47l0.56,-1.08l0.9,-0.2l1.61,-1.02l0.91,-1.21l2.0,-0.48l0.62,-1.26l0.58,-0.41l2.55,-0.13l2.61,-2.01l1.39,-1.95l2.46,-0.14l0.69,-0.61l0.16,-0.98l2.14,-0.08l3.22,-2.23l3.09,-0.81l0.88,-0.97l2.69,-1.32l-0.1,-1.03l1.58,-0.6l0.61,-1.23l1.4,-0.18l1.79,-0.82l1.11,0.48l1.32,-0.23l0.74,-2.26l-0.13,-1.3l1.54,0.32l0.58,-0.57l0.06,-0.52l1.15,-0.19l1.1,0.21l1.15,-1.25l2.21,0.06l0.6,0.87l1.21,0.11l1.07,1.0l1.77,0.32l1.5,0.84l1.12,-0.0l0.65,-0.6l1.15,0.01l1.42,-0.73l0.31,0.53l0.62,0.09l0.33,-0.27l0.47,0.74l0.85,0.09l2.08,1.98l1.97,-0.15l0.92,3.46l2.47,4.19l0.31,1.69l-0.36,1.13l0.63,0.93l-1.09,1.53l-1.67,0.49l-0.96,0.95l-0.03,1.06l0.54,0.96l-0.96,0.59l-0.16,1.24l1.03,1.32l-1.17,1.84l-1.04,2.8l-1.41,1.74l-0.79,2.01l-2.15,1.79l-0.42,1.83l0.82,2.19l-0.08,0.67l-0.87,0.47l-3.09,0.63l-2.0,1.1l-2.01,-0.16l-3.47,0.83l-0.72,0.75l-0.3,1.66l-0.43,0.6l-2.48,2.28l0.14,1.03l1.3,1.67l2.05,4.43l-1.1,3.43l0.3,1.25l-0.41,1.16l-1.97,1.91l-2.39,1.59l-0.5,1.2l1.73,2.46l0.18,1.91l0.95,1.42l-0.09,1.58l0.4,0.6l-0.05,0.55l-1.41,2.68l0.63,1.3l0.81,0.48l0.33,0.83l2.13,1.35l-0.66,2.0l1.03,1.4l1.2,0.28l1.31,-0.64l0.68,-0.76l0.44,-1.78l0.54,-0.38l1.29,0.66l3.7,3.07l1.13,0.44l1.71,0.11l0.29,1.21l0.51,0.5l1.39,0.24l2.0,-1.84l1.09,-2.43l1.6,-1.48l0.61,-1.1l0.21,-1.63l-0.77,-0.66l-1.18,-0.2l0.18,-1.5l-0.89,-1.24l-0.76,-1.86l-1.56,-0.8l-2.6,0.54l-0.4,-0.6l-0.1,-0.69l0.64,-1.42l-0.4,-4.14l-2.32,-3.07l-0.93,-5.45l-1.38,-3.44l-1.82,-1.91l0.46,-1.11l1.51,-1.78l-0.04,-0.98l0.34,-0.29l1.63,0.2l1.78,1.89l1.0,-0.11l0.24,-0.64l-0.22,-1.03l0.54,-1.16l-0.8,-1.21l0.38,-1.0l1.02,-0.28l0.21,2.56l0.28,0.42l0.67,0.24l1.06,-0.34l0.39,-0.55l0.01,-2.04l0.8,-1.02l0.43,0.73l-0.35,2.05l0.5,0.45l1.11,-0.0l-0.13,1.21l-0.65,1.35l0.06,1.31l-1.51,1.2l-0.74,1.59l0.05,1.24l0.86,0.77l1.08,-0.45l0.92,-1.08l1.46,-0.63l0.23,-1.37l0.95,0.5l-1.07,1.61l0.14,0.88l0.53,0.5l2.51,-0.66l0.27,1.38l0.64,0.34l0.66,-0.28l0.8,-0.96l3.2,0.58l0.73,-0.83l-0.57,-2.42l0.54,0.56l0.59,0.1l1.28,-1.19l1.03,0.15l0.67,-0.35l-1.84,2.96l-0.99,1.04l-0.22,2.1l0.69,0.76l1.57,0.06l0.34,-0.27l0.21,-2.05l0.73,0.13l0.64,1.13l0.95,-0.04l2.13,-2.35l2.82,0.98l3.59,-0.24l0.55,0.59l0.71,0.2l2.3,-1.07l-0.01,-0.76l-0.98,-1.46l0.31,-0.53l1.98,-0.41l3.08,-2.33l2.01,-0.92l1.31,0.28l1.46,-1.05l0.73,-1.06l0.9,0.24l1.34,-0.26l0.81,1.27l0.36,2.78l1.13,0.71l0.62,0.83l0.69,-0.02l0.56,1.65l-1.97,1.05l-1.44,1.71l-0.96,-0.01l-0.34,0.31l0.1,1.75l0.99,1.21l1.85,-0.32l1.64,0.37l0.55,-0.44l0.02,-0.69l0.89,0.96l1.03,-0.11l1.14,-0.73l0.14,-0.7l-1.44,-0.98l-0.23,-0.67l1.41,0.35l0.98,-0.14l0.49,-0.56l-0.02,-0.89l0.91,1.49l1.19,1.06l2.66,-0.26l0.57,-0.45l-0.02,-0.8l-1.53,-1.17l2.9,-0.26l0.82,-1.55l0.76,-0.22l0.37,0.5l-0.88,2.05l-0.17,1.21l-0.87,0.88l-0.27,1.12l-0.71,0.9l-0.01,0.88l0.65,0.49l1.01,0.13l2.85,-0.5l1.42,1.01l1.82,-0.42l2.77,1.85l0.48,-0.11l0.95,-1.14l1.13,-0.17l0.55,-0.44l-0.19,-1.79l1.86,-2.5l0.21,-1.01l-0.21,-1.35l1.88,-0.09l1.44,0.45l0.14,1.38l1.85,0.38l1.28,-0.26l0.5,-0.44l-0.0,-0.94l-0.92,-0.68l2.58,-0.76l1.08,2.35l-0.2,0.73l0.3,0.56l2.82,0.72l1.28,-0.01l0.48,1.09l0.94,0.37l1.83,-0.48l0.75,0.19l0.86,1.37l-0.24,1.06l0.26,0.65l2.72,2.08l2.45,0.41l2.82,1.69l0.96,-0.18l1.48,-1.0l-0.13,2.39l0.86,0.49l0.92,-0.62l0.09,1.92l0.52,0.37l0.8,-0.12l0.35,0.24l-0.59,1.47l0.13,0.65l3.0,0.17l0.76,-0.21l0.66,-0.93l-0.07,-1.74l4.89,1.07l3.33,-1.1l0.09,1.22l0.4,0.33l1.39,0.15l0.54,1.49l0.68,0.8l-0.36,0.47l-1.52,-0.19l-0.64,0.68l0.2,2.3l-0.31,2.05l0.32,0.63l0.66,0.4l0.01,2.03l-0.73,1.7l-0.24,1.96l-0.48,0.42l-0.99,0.18l-0.36,0.6l0.51,1.13l1.45,1.26l-0.08,1.5l1.94,2.08l-0.51,1.73l-3.3,1.36l-0.49,0.55l-0.31,1.33l-2.3,1.07l-1.01,0.87l-0.88,0.08l-7.25,-0.43l-1.86,-0.49l-3.75,-0.02l-2.21,-1.13l-2.21,-0.16l-3.22,1.48l-0.71,0.02l-1.74,-0.88l-1.97,-1.98l-1.49,-0.09l-0.93,0.68l0.04,1.82l1.74,3.3l0.13,0.87l-0.82,1.16l-1.16,0.74l-0.2,1.29l-0.68,0.92l1.15,2.78l0.98,0.35l3.34,-1.97l2.94,1.13l2.03,0.35l1.91,3.02l1.05,0.45l0.42,0.74l2.45,-0.02l2.02,1.71l-0.93,5.0l-0.6,1.3l-1.71,-0.05l-4.13,2.09l-0.4,0.98l0.22,2.14l-2.16,1.95l-2.51,1.09l-0.4,1.44l0.25,2.13l-0.72,1.02l0.15,1.54l-2.9,1.71l-0.81,1.84l-3.11,0.97l-3.42,2.57l-1.2,-1.63l-0.76,-0.29l-2.59,0.93l-1.23,0.78l-0.33,-0.11l-0.37,-0.87l-0.55,-0.26l-1.18,0.75l-1.36,2.21l-0.12,3.42l-0.63,1.08l-2.01,1.52l-0.47,2.63l-0.86,0.45l-0.09,0.55l0.46,1.25l-1.05,-1.17l-0.71,-0.26l-0.67,0.17l-1.14,1.39l-1.27,2.61l-0.33,1.02l0.08,3.35l-0.46,1.29l-0.84,1.13l-1.17,0.26l-0.81,1.51l-0.42,4.31l0.2,2.79l-0.79,3.1l-0.5,1.32l-1.2,0.7l-4.35,-2.38l-2.47,0.26l0.66,-1.14l-0.53,-1.51l-2.06,-1.52l-0.86,-1.78l-1.97,-0.57l-1.82,-1.32l-2.9,1.1l-0.95,1.06l-2.08,0.67l-1.29,-0.44l-1.59,0.81l-1.72,0.26l-1.05,-1.58l-1.84,-0.51l-3.21,0.31l-2.72,1.46l-0.66,-2.26l-1.15,-0.86l-0.48,-0.84l-1.97,-0.81l-2.96,-0.11l-2.32,-0.77l-0.87,0.22l-0.62,1.76l-4.01,1.3l-2.67,0.31l-2.03,0.7l-0.54,0.74l0.27,1.26l-0.51,0.33l-6.33,1.11l-4.0,-0.66l-1.57,-1.01l-0.97,-0.01l-1.3,0.64l-0.55,-3.04l-0.83,-0.67l-1.23,-0.09l-0.76,0.24l-0.93,1.06l-3.57,1.12l-1.56,1.75l-1.72,1.11l-5.31,1.96l-1.03,0.07l-2.53,-0.84l-2.73,1.48l-0.66,-0.51l-1.65,-0.17l-1.51,0.48l-1.41,-1.01l-0.7,0.0l-0.39,0.34l-1.68,-3.06l0.14,-0.72l3.36,0.16l0.93,-0.48l-0.89,-5.48l-1.4,-0.87l-0.32,-0.69l-0.8,-0.52l-4.42,-0.24l-0.78,0.24l-0.86,0.87l-1.11,0.34l-0.85,0.92l-1.1,-0.81l-2.12,0.08l-2.74,1.01l-3.44,2.43l-2.09,0.11l-1.09,0.46l-0.85,1.04l-0.3,2.63l-1.62,2.5l-2.88,2.12l-0.14,0.51l0.61,1.53l0.02,1.19l-0.72,1.14l-3.85,0.87l-1.98,2.37l-1.61,0.61l-2.78,0.38l-2.94,-0.34l-1.16,-0.59l-1.08,-1.5l0.86,-0.25l0.29,-0.6l-0.36,-2.94l-1.17,-2.7l-0.64,-0.52l-1.32,0.08l-2.71,-0.81l-2.23,-0.27l-2.14,0.52l-3.25,0.17l-2.54,-0.23l-3.15,0.44l-6.44,-0.32l-3.07,-0.67l-2.27,-1.01l-1.93,-3.14l-1.84,-1.33l-1.81,-0.18l-1.57,-0.99l-1.27,-0.25l-4.77,0.17l-1.46,-1.1l-2.02,-0.68l-2.12,-1.56l-0.9,-2.61l0.18,-3.47l-0.27,-1.11l-2.52,-2.68l-1.03,0.05l-1.18,1.1l-1.83,0.63l-0.3,0.75l-0.91,0.4l-1.79,0.03l-1.41,-0.68l0.36,-3.59l-0.75,-1.1l-0.65,-2.31l-0.92,-1.03l-0.2,-3.47l0.42,-0.63l1.49,0.91l2.06,-0.4l1.35,-0.99l0.42,-1.19l-0.17,-0.49l-0.87,-0.58l-3.69,-0.2l-2.05,-1.99l0.61,-0.64l1.89,0.55l1.15,-0.22l3.77,-3.23l1.72,-0.16l1.38,-0.98l2.78,-5.33l0.07,-0.76l-1.19,-1.96l-0.93,-0.37l-0.9,0.29ZM342.94,345.9l-0.07,-0.47l0.06,-0.58l0.99,-1.54l-0.98,2.59Z\",\\n      \"name\": \"Madhya Pradesh\"\\n    },\\n    \"IN-OR\": {\\n      \"path\": \"M408.6,584.62l0.87,0.38l0.7,-0.57l0.17,-1.23l0.78,-1.54l0.14,-2.48l0.72,-1.11l0.53,-2.11l-0.29,-1.58l0.84,-1.84l0.76,0.02l2.17,-0.82l1.07,-1.24l1.83,-0.69l1.82,-2.82l4.8,-4.17l-0.13,-1.22l-1.17,-0.95l0.98,-0.36l1.48,-1.56l2.18,-0.42l1.07,-1.66l0.73,0.55l0.81,-0.24l0.83,-3.98l0.54,-0.67l1.08,-0.58l0.29,-0.71l-0.1,-2.84l-0.74,-1.34l-0.25,-1.24l-0.98,-0.82l0.26,-1.36l-0.7,-1.85l0.8,-2.84l-0.22,-0.61l-0.86,-0.66l0.89,-0.73l0.05,-0.95l-0.72,-0.89l-1.26,-0.42l-0.99,-1.74l-1.27,-0.51l0.35,-3.73l-0.41,-1.94l0.27,-2.32l-0.75,-0.79l-1.7,-0.38l-0.94,-1.68l-2.97,-1.76l-0.47,-0.78l0.14,-0.74l1.38,-2.44l0.97,-0.56l1.15,-1.25l1.66,1.78l0.44,1.11l1.07,-0.03l0.97,-1.34l1.85,1.55l0.52,0.87l1.61,0.18l2.16,4.28l0.64,0.59l0.76,-0.22l1.26,-1.7l3.32,0.37l1.51,0.69l1.33,0.07l-0.14,2.05l0.48,0.54l0.74,-0.1l3.64,-2.46l0.2,-0.83l-0.84,-1.09l0.5,-2.36l-0.44,-1.37l-1.49,-0.16l-1.2,0.53l-1.26,-1.05l-2.25,-0.06l-2.22,-1.3l0.69,-3.13l-0.27,-3.86l-0.48,-1.12l0.27,-3.95l-0.1,-0.42l-0.55,-0.27l-0.35,0.21l-0.3,-1.32l-0.82,-0.26l-0.35,-0.87l0.85,-4.04l-0.72,-2.56l-0.04,-3.65l0.23,-0.22l0.93,0.25l0.06,0.91l0.5,0.38l1.85,-0.78l1.59,-2.19l1.54,-1.08l2.51,-4.8l0.2,-1.41l2.78,-0.21l1.21,0.48l1.08,-0.43l4.28,-0.65l3.13,1.97l2.46,-0.12l1.12,-0.71l0.83,-1.15l0.91,-2.52l0.94,-1.38l-0.0,-1.07l0.48,-0.85l2.25,0.71l0.98,-0.23l0.33,-0.74l-0.12,-1.25l-1.59,-1.85l-0.16,-1.47l0.71,-2.42l3.3,-5.53l0.24,-1.66l1.26,0.23l0.4,-1.1l0.9,-0.08l0.47,-0.83l0.2,-2.45l-1.77,-1.6l0.22,-1.51l1.57,-1.15l-0.05,-0.68l-0.65,-1.0l2.18,-3.06l2.99,-1.33l3.65,-3.0l2.69,-0.52l0.96,-0.56l1.06,-1.28l0.29,-0.96l-0.2,-1.52l-0.66,-1.22l2.36,1.1l2.44,3.59l1.03,0.81l1.71,0.29l2.63,1.1l3.55,-0.27l2.45,-1.4l0.45,-1.5l6.57,-0.18l2.05,-0.74l3.38,0.91l1.21,-0.78l1.34,-0.23l2.05,-1.36l0.86,2.95l0.13,1.93l-0.32,1.19l-1.6,2.32l-1.72,3.41l0.2,0.71l0.42,0.13l1.79,-0.54l1.28,0.22l4.01,2.74l3.34,-3.21l2.5,-1.08l0.99,-0.02l3.14,1.77l3.92,1.01l2.38,-0.82l1.13,-0.8l-0.69,1.35l0.07,1.78l0.31,0.54l1.81,0.87l1.44,-0.37l1.24,-0.87l1.91,-2.83l0.46,-2.86l-0.71,-2.31l0.76,-1.24l0.11,-1.23l-0.34,-2.49l-1.3,-1.91l-0.08,-0.67l1.7,-0.51l0.76,-0.96l0.5,-0.16l1.56,1.77l5.7,2.91l2.44,2.6l1.27,0.35l2.8,-0.49l5.68,3.71l0.66,0.99l1.88,0.67l2.06,1.47l1.92,0.22l2.3,1.14l0.67,0.67l0.2,0.8l-0.24,2.33l1.32,1.8l1.16,0.01l1.78,-2.16l0.87,0.07l1.39,0.85l0.72,2.92l0.74,1.0l5.27,1.5l0.12,2.57l1.25,2.13l-3.71,1.5l-4.33,0.33l-2.84,1.48l-1.58,1.12l-4.5,4.76l-1.65,2.44l-0.94,2.78l0.21,2.98l3.72,8.83l-0.15,0.33l-2.19,0.13l-0.26,0.6l0.52,0.68l0.66,0.26l2.2,0.07l0.33,0.76l-0.94,-0.18l-0.86,0.63l0.29,0.63l1.57,0.73l-2.3,1.0l-5.38,4.36l-0.87,1.94l-0.14,2.13l0.59,0.38l1.32,-0.93l0.32,0.19l-0.66,0.93l-2.07,1.29l-0.17,0.9l-1.96,1.18l-3.56,1.2l-0.62,0.5l-0.99,3.01l-2.18,2.22l0.07,0.88l-3.15,-2.37l-2.09,-0.05l-0.98,-0.98l-0.43,-1.27l-0.55,-0.22l-0.38,0.27l-0.24,0.91l0.53,1.5l1.8,1.31l2.24,0.53l0.58,1.03l1.33,0.59l-2.46,1.35l-5.48,2.09l-1.05,-0.38l-0.74,0.47l-5.64,1.45l-1.8,0.97l-1.66,0.07l-2.84,1.15l-0.84,-0.01l-2.11,1.23l-2.56,0.82l-0.12,-0.91l1.47,-0.48l0.08,0.59l0.46,0.02l1.85,-1.08l0.04,-4.51l-0.63,-0.57l-2.59,-0.65l-1.42,0.22l-3.64,3.22l-1.69,0.52l-2.08,2.43l0.02,0.78l-1.97,2.76l0.13,1.11l-0.98,0.61l-0.34,0.66l0.22,0.87l0.6,0.2l-0.13,0.36l0.47,0.55l0.96,-0.7l0.74,-0.13l-3.75,3.53l-6.09,4.87l-2.33,2.95l-0.87,-1.1l-2.14,-0.04l-0.56,0.34l0.14,1.16l-0.34,0.71l-0.9,-0.27l-2.35,1.12l-1.26,1.04l-1.69,0.08l-0.26,0.34l0.17,0.89l-0.33,0.72l0.05,0.87l-1.0,1.23l-1.18,0.2l-0.74,1.7l-1.32,1.09l-4.68,0.75l-2.81,-1.03l-5.13,0.38l-1.2,-1.49l-1.61,-4.45l-1.01,-0.54l-1.01,0.18l-0.5,0.86l0.2,1.32l-0.8,-2.26l-2.99,-3.94l-0.88,0.3l-0.51,1.45l-1.24,0.87l-0.57,1.24l-0.56,-1.57l-1.12,-0.44l-0.41,0.64l0.3,1.21l-0.52,0.7l0.12,0.82l-3.07,-1.25l-1.04,0.21l-0.61,0.54l-0.01,0.6l0.92,1.68l0.72,0.88l0.72,0.22l0.53,0.86l-1.83,0.9l-2.19,1.79l-1.56,0.69l-1.43,-0.77l-1.03,0.31l-3.19,3.91l-0.17,2.09l0.81,1.42l1.02,0.22l-1.53,2.04l0.32,1.52l-0.23,0.78l-0.89,0.07l-1.43,0.66l-1.31,0.07l-0.23,-0.16l0.01,-1.09l-0.37,-0.38l-2.06,-0.8l-0.93,0.12l-0.62,0.52l0.12,1.64l-0.33,0.6l-3.15,1.78l-0.71,1.76l-1.31,-0.43l0.47,-2.32l-0.48,-0.89l-2.17,-2.19l-0.29,-2.87l-2.46,-0.5l-2.38,3.46l-0.09,1.68l-0.5,1.42l0.29,1.04l-1.51,2.72l0.14,0.92l1.34,1.18l-0.86,0.75l0.1,2.0l-1.65,0.16l-0.93,1.4l-1.59,-0.19l-1.48,-1.2l-1.32,-0.39l-1.7,0.2l-1.56,1.08l-2.27,0.35l-3.0,1.96l-2.65,1.29l-1.11,1.17l-1.46,0.31l-2.23,1.63l-1.94,-0.89l-0.68,0.23l-0.52,1.0l-2.17,-0.55l0.13,-1.87ZM525.81,532.38l-0.05,-0.65l0.8,-0.25l0.04,-0.71l-0.49,-0.28l1.13,-1.12l-0.4,-0.64l0.3,-0.48l1.49,0.43l1.55,-1.12l1.08,-0.07l0.05,0.45l-1.37,1.35l-0.86,-0.66l-0.66,0.66l-0.63,0.11l0.75,1.39l-2.7,1.6Z\",\\n      \"name\": \"Orissa\"\\n    },\\n    \"IN-TN\": {\\n      \"path\": \"M249.84,785.28l-0.33,-0.95l0.1,-1.86l1.6,0.49l1.48,-0.2l1.11,-1.27l1.32,-0.6l0.3,-1.05l1.07,-0.88l1.68,0.16l0.34,0.48l0.05,1.28l0.84,0.64l5.71,-0.26l2.06,0.51l0.81,-0.69l0.4,-2.03l2.08,-2.99l2.57,-0.44l2.02,1.94l0.79,0.31l0.61,-0.27l0.51,-1.19l2.74,-0.17l1.14,-0.44l2.26,1.02l2.41,-0.26l1.0,-0.81l1.68,-3.48l0.65,-0.34l3.83,-0.43l1.03,-0.61l3.07,-4.27l0.07,-0.85l-1.01,-1.75l-1.33,-0.89l-1.06,-0.22l-5.49,-0.07l-0.44,-1.25l2.84,-2.25l1.44,-2.2l0.47,-2.63l-0.45,-0.65l-0.84,0.03l0.12,-0.69l-0.38,-1.02l1.14,-3.22l2.33,-0.11l2.46,-1.36l-0.16,-1.26l1.0,-1.73l0.33,-1.31l1.11,-0.38l1.66,-0.0l1.7,1.66l1.0,0.45l0.79,-0.3l0.66,-1.11l0.44,0.08l2.35,1.72l2.91,0.96l1.35,1.89l2.47,1.79l2.53,0.3l0.89,-0.42l1.33,-1.4l0.29,-1.48l0.98,0.03l1.45,-1.18l1.06,-2.6l1.03,-4.37l0.4,-0.53l1.29,-0.38l0.6,-0.96l3.87,-0.67l0.65,1.17l0.79,0.15l0.91,-0.67l0.3,-1.05l0.55,-0.02l0.97,0.23l0.51,0.92l2.1,0.65l2.72,-0.3l0.76,-0.54l2.09,-2.71l1.31,0.59l0.57,-0.08l2.15,-2.17l1.18,-0.62l0.42,-0.71l-0.07,-0.91l0.47,-1.75l0.53,-0.28l1.75,0.15l1.06,1.37l0.63,0.35l2.87,-0.38l0.18,1.3l1.04,0.76l2.31,-0.02l0.42,-0.96l-1.05,-0.98l-0.01,-0.36l1.61,0.07l4.38,-2.25l0.44,-0.72l0.05,-1.3l2.65,-1.83l-0.01,-0.75l-0.67,-0.64l1.64,0.69l-0.38,1.1l0.47,0.56l3.19,0.35l1.48,-0.39l1.4,1.36l0.73,-0.21l0.37,2.77l-0.32,2.03l-0.47,0.24l-0.18,1.0l0.58,0.53l-0.78,1.59l0.16,1.33l-0.83,1.23l-1.04,9.49l-2.92,8.93l-1.83,3.47l-1.09,0.85l-1.06,1.81l-2.53,1.85l0.16,0.59l0.84,0.04l-3.55,5.53l-0.05,1.49l-0.3,0.47l-1.72,1.18l-0.44,-0.37l0.52,-1.02l-0.5,-0.57l-1.34,0.11l-1.1,-0.87l-0.45,0.2l-0.56,0.93l0.7,1.08l0.11,0.84l0.4,0.31l-0.32,1.19l0.17,0.58l1.13,0.75l2.01,0.21l-0.67,1.5l-1.05,6.13l1.05,4.71l0.4,0.35l0.61,-0.29l0.1,0.95l-2.0,0.22l-2.44,2.58l0.36,0.58l0.4,-0.05l2.7,-2.02l1.33,0.48l0.06,2.28l0.62,3.2l-0.18,5.1l-0.92,-0.09l-0.81,0.43l-1.49,-0.42l-0.49,0.56l0.19,0.5l-0.54,-0.02l-0.42,0.61l0.15,1.36l1.28,0.83l1.44,0.41l0.03,0.97l1.52,1.03l0.49,13.03l-0.26,2.66l-1.42,0.34l-0.31,-0.79l-0.71,-0.39l-3.95,-0.65l-0.57,0.16l-0.15,-0.37l-0.92,-0.24l-1.62,0.14l-0.37,0.6l-1.79,0.33l-2.01,-0.48l-3.57,2.3l-0.57,0.81l-0.07,0.98l-0.83,0.53l-0.21,0.7l0.26,2.63l0.76,1.39l-2.05,1.82l-1.8,2.46l-1.51,2.81l-1.66,1.67l-1.79,2.49l-0.15,0.98l-1.21,1.73l-0.77,3.4l0.09,0.95l0.61,1.22l3.32,3.21l1.25,0.55l2.2,0.29l-1.72,0.32l-1.86,-0.59l-2.21,-0.03l-1.0,0.68l-2.02,0.14l-2.57,0.91l-1.52,0.99l-1.66,0.14l-1.25,1.21l-5.65,0.86l-2.39,1.3l-4.3,3.53l-1.8,2.81l-0.65,3.87l0.32,0.48l-1.12,2.25l-0.31,0.0l-0.34,0.62l0.79,1.81l-0.42,3.13l-1.41,1.59l-0.66,2.01l-1.71,0.61l-5.96,3.6l-1.22,1.49l-5.3,1.31l-1.05,0.76l-0.09,0.97l-1.21,0.15l-1.8,-0.34l-4.2,-1.29l-0.71,-0.71l-1.86,-0.93l-2.94,-2.68l1.1,-0.45l0.27,-1.46l1.29,-1.9l-0.16,-1.64l1.05,-0.34l1.18,-1.84l-0.4,-1.16l-2.42,-2.44l-0.23,-1.72l1.65,-2.45l0.62,-2.26l-0.4,-0.73l-1.24,-0.88l-1.07,-2.96l1.19,-0.85l0.75,-1.07l2.53,-7.34l0.84,-1.38l0.92,-2.56l1.1,-1.19l-0.19,-1.38l-1.73,-2.54l-1.26,-0.19l-1.8,0.71l-1.71,-0.93l1.56,-5.5l-0.33,-2.9l1.03,-2.56l-1.11,-3.46l1.54,-3.34l0.06,-1.34l-0.72,-0.72l-0.37,-1.59l-0.96,-1.63l-0.72,-0.66l-1.08,0.13l-2.94,1.32l-3.15,2.41l-1.14,-0.38l-2.36,-2.12l-0.06,-1.8l-0.9,-1.93l0.55,-3.53l-0.17,-2.56l1.09,-0.6l0.57,-0.74l0.43,-3.33l-0.23,-0.65l-0.94,-0.6l-0.87,-1.77l-3.86,-1.64l-0.66,-0.88l-0.13,-0.87l0.37,-1.13l1.9,0.19l0.65,-0.91l-0.74,-0.92l-0.83,-2.15l-0.87,-0.98l0.45,-1.93l-0.71,-0.36l-1.63,0.94l-2.99,0.25l-1.41,-0.46l-1.27,0.3l0.6,-1.1l2.2,-1.72l0.28,-0.77l-0.18,-0.49l-0.71,-0.39l-1.01,-1.28l-1.19,-0.47l-1.21,-0.95l-4.71,-1.32l-0.24,-0.32ZM341.41,854.52l0.89,-0.01l1.99,-1.02l0.32,0.12l-0.32,0.93l0.54,1.1l-1.22,-0.66l-2.2,-0.45ZM352.97,822.23l0.25,0.38l-0.78,-0.16l0.52,-0.21ZM353.99,822.77l0.71,0.09l0.49,0.17l-1.19,-0.25Z\",\\n      \"name\": \"Tamil Nadu\"\\n    },\\n    \"IN-AN\": {\\n      \"path\": \"M786.03,923.93l0.01,-2.47l0.71,-1.66l1.1,-0.13l0.59,-0.57l1.24,-0.26l1.04,-0.8l0.96,0.7l0.57,1.41l0.32,2.29l1.27,2.41l0.03,1.46l-1.11,2.56l-0.1,1.29l0.41,0.66l-1.31,0.13l-0.67,1.5l0.01,-1.41l-0.81,-0.89l0.05,-0.68l-0.44,-0.46l-0.29,-1.55l-0.7,-0.41l-0.89,-2.01l-1.06,-0.91l-0.92,-0.2ZM785.02,916.8l-0.54,-1.41l0.47,-1.37l1.32,-0.39l0.58,-0.69l0.93,0.88l-0.04,0.59l-2.72,2.39ZM782.63,894.17l0.29,0.95l-0.0,0.53l-1.15,-1.01l0.86,-0.47ZM780.5,891.72l-0.4,-0.52l-0.31,-1.96l1.06,-1.6l0.69,-0.13l0.06,0.48l-0.79,1.64l0.65,1.74l-0.29,-0.16l-0.66,0.5ZM781.79,892.53l-0.6,0.48l-0.41,0.67l-0.01,-0.52l1.02,-0.63ZM777.4,894.02l0.09,1.05l1.22,0.8l0.7,1.14l-0.03,0.45l-0.93,-0.4l-1.7,0.32l-0.12,-1.23l-1.17,-0.29l0.37,-1.49l1.57,-0.36ZM770.19,887.29l-1.18,-0.38l-0.98,-1.26l-0.11,-1.42l0.4,-0.73l0.16,2.27l0.42,0.72l1.29,0.81ZM768.4,766.2l-0.53,-0.93l0.37,-1.58l0.2,0.17l-0.27,1.01l0.23,1.33ZM751.49,774.12l0.88,-1.81l1.07,1.76l0.79,-0.06l0.11,-0.27l0.28,-2.36l-0.24,-1.3l0.63,-1.54l-0.05,-3.07l0.91,-2.0l0.45,0.12l0.42,-0.38l-0.13,0.98l0.73,0.48l1.83,-0.55l0.47,-0.81l-0.31,-1.49l-0.55,-0.41l0.77,-0.26l0.05,-0.92l-0.62,-0.6l-1.27,-0.21l-0.37,-1.1l0.12,-7.3l0.85,-1.29l0.61,-0.06l0.41,-0.65l-0.14,-0.45l-0.94,-0.64l-0.3,-3.47l0.61,-0.75l0.78,-0.04l0.52,-0.68l0.41,-1.58l0.01,-1.58l0.64,-1.33l-0.17,-0.58l-0.62,-0.37l0.62,-2.2l0.77,-1.37l-0.52,-0.97l0.18,-1.42l0.66,-0.54l-0.55,-3.24l1.34,-1.74l0.16,-1.78l1.42,-1.61l0.17,-1.04l1.5,0.01l0.36,-0.57l0.61,-0.13l0.39,0.69l-0.32,1.01l0.14,3.07l0.36,0.22l-0.97,1.23l-0.37,0.19l-0.32,-0.4l-0.65,-0.09l-0.59,0.8l0.51,1.08l1.25,0.22l1.33,1.3l-0.64,1.07l-0.13,2.9l-0.46,2.09l-0.32,0.53l-0.73,-0.2l-0.43,0.42l0.01,-1.38l-0.39,-0.32l-1.19,0.78l-0.29,1.52l0.64,1.07l-0.98,-0.16l-0.37,0.28l-0.91,2.21l0.36,0.65l0.53,0.22l0.74,-0.35l1.04,1.19l0.14,1.72l-0.24,0.98l0.95,1.63l-0.54,2.9l0.5,1.29l0.04,2.05l-1.01,1.21l0.24,0.65l-0.74,0.57l-0.86,-0.65l-0.46,0.06l-0.03,0.59l-1.15,-0.04l-0.43,0.4l0.65,1.8l1.06,0.71l0.12,0.47l-0.83,0.84l0.68,1.2l-0.59,0.69l0.3,1.14l-1.88,2.04l0.04,0.7l-0.77,0.79l-1.34,0.41l-0.13,0.54l0.54,0.76l-1.11,1.91l-0.1,3.33l0.4,0.4l0.63,-0.35l0.24,-1.5l0.24,-0.04l0.31,0.28l0.02,1.58l-1.11,4.78l-1.06,0.35l-1.07,1.13l-0.28,0.88l0.14,1.02l1.12,0.1l0.35,-0.4l0.06,-0.84l0.63,-0.36l0.09,-0.39l0.16,1.37l-0.54,0.66l-0.51,2.56l-1.5,-1.08l-0.07,-0.68l-0.92,-0.79l-0.1,-0.4l0.72,-0.38l0.02,-0.66l-0.9,-0.46l-0.4,-1.88l-0.33,-0.31l-0.95,-0.05l0.1,-3.11l-1.16,-0.79ZM766.4,766.0l0.11,0.62l0.39,0.73l-0.4,-0.42l-0.1,-0.93ZM766.14,717.57l0.26,-0.08l0.11,0.23l-0.14,-0.04l-0.24,-0.1ZM764.5,769.92l0.71,-0.98l0.67,-0.02l1.15,3.22l-0.42,-0.93l-2.11,-1.29ZM758.46,855.43l1.65,1.52l-0.05,1.49l-0.73,0.79l-1.73,-0.53l-0.46,-1.12l-0.04,-0.78l0.91,-0.49l0.44,-0.89ZM756.86,735.74l-0.0,-0.0l0.0,0.0l-0.0,0.0ZM756.0,743.21l0.29,-3.46l0.53,-0.59l0.3,0.45l-0.2,2.01l-0.92,1.58ZM754.65,789.3l-1.08,-0.41l0.1,-0.42l0.79,-0.21l0.37,-0.63l-0.25,-1.63l0.26,-0.56l1.0,1.26l-0.55,1.24l0.54,0.89l-1.17,0.46ZM746.83,808.06l1.1,-0.64l0.47,-1.64l1.46,-0.96l1.09,-0.24l0.89,1.13l0.95,5.03l-1.65,1.72l-0.03,1.18l0.75,0.47l-1.33,1.68l-0.74,-0.18l-1.27,-0.94l-0.69,-0.03l-0.86,0.53l0.62,-0.89l0.47,-1.76l-0.28,-0.78l-0.88,-0.81l-0.09,-2.85ZM751.89,783.09l0.03,-0.27l0.15,0.08l-0.18,0.2ZM742.26,782.71l0.82,0.26l-0.03,0.97l-0.62,-0.14l-0.17,-1.09Z\",\\n      \"name\": \"Andaman and Nicobar\"\\n    },\\n    \"IN-AP\": {\\n      \"path\": \"M264.69,675.87l0.59,-0.76l0.07,-1.39l0.36,-0.6l2.8,1.59l2.62,0.61l1.43,-0.37l0.97,0.82l0.73,-0.01l1.54,-1.37l1.31,-2.8l0.15,-1.56l-0.84,-4.18l-0.77,-0.9l-1.69,-0.61l-0.35,-2.03l-1.24,-2.4l0.68,0.17l0.39,-0.54l-0.25,-3.31l0.26,-0.71l0.58,-0.39l1.35,0.21l0.43,-0.69l-1.06,-2.44l-0.71,-0.66l0.22,-3.36l1.07,-1.31l2.59,-1.37l1.85,-0.28l2.42,0.6l4.32,0.13l1.56,-1.78l-0.11,-5.3l0.29,-2.68l1.74,-1.65l0.23,-0.94l-0.19,-0.53l-0.65,-0.77l-1.33,-0.57l-3.05,-0.09l-2.95,-0.77l-0.81,-0.99l3.28,-2.1l0.59,-1.33l1.2,-0.69l0.63,-1.85l-0.17,-0.57l-0.53,-0.26l0.62,-0.61l0.01,-0.5l-1.05,-1.21l0.15,-1.25l0.6,-1.07l0.04,-4.5l0.99,-2.39l-1.06,-2.3l-0.29,-1.52l-1.7,-0.89l0.14,-1.28l3.71,-4.76l0.84,-1.7l1.36,-0.46l0.8,-1.28l1.71,-0.45l1.19,-2.36l-0.1,-0.48l-0.75,-0.34l-2.14,0.93l-0.19,-0.69l-0.45,-0.3l-2.59,0.04l-2.16,-1.31l1.48,-2.39l1.78,-0.93l0.36,-0.49l-0.05,-1.04l-0.88,-1.04l0.17,-0.39l3.37,-2.8l0.33,-0.72l-0.5,-2.65l-1.6,-2.0l1.29,-0.9l-0.29,-2.04l-0.67,-1.77l0.45,-1.86l-0.92,-0.71l0.14,-0.69l-0.41,-0.76l-1.22,-0.85l1.13,-1.1l0.45,-2.51l1.0,-1.27l2.52,-0.58l0.7,-0.58l0.49,-1.38l0.0,-1.97l0.53,-0.34l1.61,-0.16l1.72,-3.28l2.15,-0.78l0.23,-0.36l-0.34,-1.09l-1.84,-1.47l-0.22,-1.32l-0.91,-0.24l-0.46,-1.07l-0.79,-0.01l-0.36,-1.59l2.55,-2.32l-0.08,-1.17l0.67,-2.12l1.1,-1.47l-0.09,-0.62l-0.52,-0.3l1.17,-0.67l1.93,0.21l0.99,1.37l0.94,0.51l3.82,0.06l0.7,-0.84l-0.2,-2.94l1.1,-2.01l0.66,-0.49l1.6,-0.35l0.53,-0.52l0.29,-3.48l0.9,-2.06l1.51,-1.08l0.48,-1.2l-0.25,-0.8l-1.04,-0.7l-1.01,-2.43l-0.11,-1.01l1.12,0.56l0.9,1.36l2.14,0.86l1.88,-0.79l1.03,0.35l1.4,-0.06l2.99,1.32l2.05,-0.07l1.73,1.25l1.07,2.89l1.36,0.62l0.25,0.68l1.79,1.04l1.99,-0.29l0.95,-1.2l1.14,-0.51l2.17,-0.33l0.97,0.36l0.92,1.25l3.18,0.53l1.67,1.34l4.21,0.15l0.63,0.59l0.8,0.23l0.8,-0.43l0.38,-1.24l0.6,-0.33l2.94,-1.04l1.61,0.26l2.07,2.63l1.96,0.76l0.99,1.71l-0.24,3.47l-0.86,1.68l0.37,2.75l-1.36,0.99l-1.06,2.07l0.34,1.38l2.14,0.09l0.69,3.21l-0.02,1.49l-0.09,0.45l-1.23,1.17l-0.02,0.58l2.7,1.38l1.76,1.5l0.97,1.3l2.69,0.3l2.3,-0.25l1.3,-0.53l0.65,2.12l1.01,1.62l0.57,0.07l0.54,-0.54l0.85,0.72l2.42,-0.54l2.78,1.95l3.43,4.07l2.24,4.82l0.1,0.39l-1.3,0.98l0.21,1.46l0.85,0.41l1.52,-0.16l0.8,-1.46l0.32,0.3l0.19,1.39l0.64,0.71l2.5,-0.43l-0.56,1.11l-0.13,1.27l1.26,3.31l0.2,3.88l0.99,1.96l0.73,0.43l0.68,-0.01l3.28,-1.92l2.72,1.08l4.53,-0.1l2.71,0.61l0.54,-0.36l0.41,-0.86l2.25,0.87l2.32,-1.68l1.53,-0.34l1.16,-1.21l2.62,-1.27l2.95,-1.92l2.16,-0.31l1.52,-1.07l1.35,-0.19l1.09,0.31l1.49,1.22l2.48,0.09l0.83,-1.36l1.55,-0.1l0.49,-0.61l-0.17,-1.85l0.74,-0.51l0.17,-0.52l-1.52,-1.91l1.52,-2.75l-0.28,-1.1l0.48,-1.33l0.06,-1.57l1.95,-3.0l1.51,0.29l0.18,2.62l2.61,2.97l-0.52,1.6l0.12,0.91l0.46,0.47l1.33,0.37l0.44,0.03l0.56,-0.48l0.51,-1.52l3.2,-1.82l0.51,-1.01l0.02,-1.54l0.74,0.0l1.56,0.66l0.07,1.24l0.76,0.46l1.63,-0.08l1.47,-0.67l0.98,-0.1l0.56,-0.58l0.14,-0.85l-0.35,-1.36l1.58,-2.2l-0.21,-0.73l-1.06,-0.17l-0.66,-1.2l0.16,-1.29l2.94,-3.66l0.7,-0.12l0.81,0.62l0.73,0.08l1.77,-0.8l2.21,-1.8l1.98,-1.03l0.06,-1.12l-0.63,-0.87l-0.79,-0.25l-1.37,-2.23l0.86,-0.26l3.12,1.32l0.82,-0.81l-0.07,-0.7l0.43,-0.9l-0.25,-0.94l0.63,1.68l0.95,0.15l0.99,-1.63l1.13,-0.74l0.49,-1.38l2.55,3.51l0.75,2.17l0.48,0.59l0.48,0.05l0.47,-0.47l-0.04,-1.94l0.98,0.08l1.57,4.35l1.49,1.81l3.28,0.09l2.2,-0.35l2.93,1.04l5.54,-1.07l1.09,-1.13l0.62,-1.56l0.98,-0.06l1.31,-1.51l0.42,-1.9l-0.15,-0.67l1.43,-0.02l1.38,-1.1l2.15,-1.02l0.56,0.31l0.53,-0.11l0.65,-0.92l-0.09,-1.22l0.85,-0.03l-0.54,1.48l0.68,1.11l0.49,0.03l-0.47,1.04l-2.23,3.0l-1.15,0.57l-2.77,4.48l-2.82,2.96l-0.73,1.38l-1.6,1.1l-1.15,1.5l-1.5,0.86l-1.27,0.17l-0.2,0.99l0.68,0.39l-3.6,3.35l-1.01,2.48l-0.96,0.74l-9.31,4.2l-5.02,3.04l-1.05,0.92l-0.79,1.44l-2.3,1.96l-0.27,-0.36l-0.72,0.17l0.02,1.59l-0.64,0.52l-0.41,1.5l-2.25,2.68l-1.09,0.75l-0.71,-0.8l-1.21,0.21l0.09,1.05l1.36,0.64l-1.18,0.69l-0.95,-0.02l-0.33,0.64l0.63,0.87l-4.38,1.88l-5.68,3.7l-0.6,-0.27l-1.36,0.9l-3.72,1.43l-7.5,4.53l-1.63,2.1l-1.66,1.0l-2.23,2.57l-1.51,3.41l0.08,1.5l0.46,0.72l1.58,0.79l1.39,-0.02l-0.85,4.85l-0.72,1.56l-0.34,-0.21l-0.64,0.36l0.4,1.35l-1.04,0.36l-1.68,1.64l-3.44,1.81l-1.69,0.26l-1.26,1.15l-1.04,0.04l-0.51,0.6l-2.47,0.43l-3.09,1.68l-1.37,0.3l-1.56,-0.75l-2.35,-0.2l-0.15,-0.58l-0.72,-0.39l-0.52,-0.02l-0.33,0.68l-1.09,-0.27l-1.67,0.39l-0.14,-0.58l-0.74,-0.5l-1.17,0.41l-1.79,0.07l-1.92,1.15l-0.53,0.79l0.21,1.29l-0.76,0.97l-2.28,6.46l-0.11,1.95l-3.74,2.84l-0.92,1.13l-0.06,0.8l0.57,1.13l-2.57,-2.06l0.0,-4.01l-0.39,-1.55l-0.36,-0.29l-0.5,0.52l-0.41,-0.01l-0.14,0.47l0.47,1.18l-0.03,2.41l-1.75,4.39l-0.16,-2.66l-0.88,-1.48l-0.76,-0.46l-2.81,-0.47l-0.67,0.59l-1.07,0.05l-1.2,0.52l-0.67,-0.32l-3.79,2.32l-1.37,0.39l-3.56,3.09l-2.52,5.95l0.09,0.92l-2.32,3.04l-1.15,2.69l-0.28,3.27l-0.91,3.59l0.05,2.53l1.66,9.47l0.36,0.68l1.24,1.01l0.53,1.67l-0.88,0.68l-0.09,0.67l0.52,0.29l0.92,-0.16l-0.53,2.8l-0.02,3.74l-1.28,2.53l-1.34,0.32l-1.03,0.97l-0.28,0.8l0.6,0.58l0.7,-0.18l1.35,-1.13l-0.31,1.02l0.08,1.41l0.74,3.85l3.06,7.11l-0.1,1.25l-0.75,1.85l0.88,2.52l-2.65,-3.71l-0.68,0.29l-0.0,1.53l-1.2,-0.83l-0.32,1.26l-1.21,1.55l0.16,0.9l1.44,1.97l-1.28,-0.67l-0.81,0.14l-0.23,0.82l0.76,0.9l-1.54,0.67l-0.98,0.96l-0.37,0.8l-0.0,1.1l-4.14,2.13l-1.51,-0.11l-0.43,0.24l-0.2,1.13l0.99,1.03l-1.6,-0.04l-0.56,-0.31l-0.13,-1.26l-0.58,-0.5l-2.98,0.35l-1.45,-1.63l-2.26,-0.23l-1.14,0.77l-0.55,3.0l-1.21,0.66l-1.92,2.04l-0.89,-0.53l-1.16,0.1l-2.64,3.15l-2.32,0.28l-1.86,-0.57l-0.43,-0.86l-1.41,-0.39l-1.2,0.29l-0.34,1.11l-0.43,0.35l-0.49,-0.96l-0.74,-0.38l-4.19,0.72l-0.84,1.11l-1.18,0.3l-0.67,0.81l-1.1,4.55l-0.94,2.36l-1.21,0.96l-0.58,-0.31l-0.63,0.22l-0.3,1.75l-1.22,1.28l-1.26,0.29l-1.25,-0.27l-2.28,-1.65l-1.18,-1.67l0.49,-1.04l-0.22,-1.64l1.12,0.41l1.29,-0.57l0.58,-0.55l0.25,-1.16l2.34,1.53l1.22,-0.06l0.18,-0.61l-0.23,-0.64l-0.55,-0.73l-0.93,-0.53l1.23,-1.78l0.45,-1.4l1.33,-1.04l0.36,-1.9l1.04,-1.54l0.39,-2.6l-0.23,-1.04l-0.44,-0.45l-1.33,0.66l-1.64,-1.13l-1.52,-0.39l-0.68,0.28l-0.85,-1.4l0.29,-1.11l0.25,-5.76l-2.41,-0.54l-1.07,0.43l-1.06,-0.1l-1.4,-0.36l-1.79,-1.79l-1.64,0.09l-0.25,-0.55l1.04,0.02l0.45,-0.71l-0.69,-1.44l0.46,-1.37l-0.59,-2.04l-2.02,-1.06l-0.89,0.52l-1.23,-0.07l-0.99,0.93l-0.07,-0.92l0.96,-1.22l-0.02,-1.23l-0.48,-0.53l-1.02,0.4l-0.82,1.05l-0.97,-0.53l-1.68,-0.25l-0.5,0.21l-0.53,0.99l0.57,1.25l-1.57,1.32l-1.31,0.57l-0.59,1.23l-0.75,-0.55l-1.23,0.19l-0.52,0.4l-0.14,0.76l-1.03,0.09l-1.67,1.05l-1.15,0.02l-0.52,-2.73l-1.41,-1.75l-2.98,-0.12l-1.04,-0.57l-1.02,-0.01l-0.97,-0.78l-0.94,0.37l-0.52,-0.92l-0.7,0.21l-0.38,1.14l-0.84,0.61l0.15,0.54l0.66,0.48l0.16,1.57l-1.79,-0.15l-0.65,0.76l-1.27,-1.08l-0.39,0.07l-0.3,0.59l-0.17,-1.78l1.47,-2.02l0.17,-0.7l-2.33,-3.22l0.13,-1.79l-2.1,-2.47l1.13,-0.73l1.21,0.58l0.81,3.14l2.72,1.07l0.99,0.93l2.32,-0.02l1.96,-0.48l1.11,0.29l1.12,2.0l0.1,1.09l2.11,0.75l0.59,-0.3l0.14,-0.59l-0.49,-1.0l0.03,-1.08l-0.98,-0.86l-0.78,-1.6l0.98,-1.6l-0.1,-0.47l-0.56,-0.36l0.9,-0.86l2.24,-0.25l0.65,-0.42l0.16,-0.69l-0.4,-1.48l0.3,-1.18l-0.34,-0.55l-1.16,-0.23l-0.64,-0.92l-1.06,-0.27l-0.62,0.36l-0.25,0.64l0.8,2.01l-1.15,-1.29l-1.73,-0.59l-0.11,-0.7l-0.49,-0.42l-2.21,0.23l-1.61,-0.55l-0.95,0.55l-0.84,1.16l-0.27,1.81l-4.51,-0.75l0.44,-1.18l-1.73,-1.24l-0.23,-1.08l0.27,-0.48l1.22,-0.27l0.76,-1.39l-0.09,-0.76l-0.92,-0.84l-1.56,-0.07l-0.81,0.33l-1.0,-1.83l-1.09,-0.58l-0.47,-1.96l0.82,-2.71l-0.07,-1.53l0.79,-0.32l0.34,-0.53l0.68,-4.44l-0.77,-0.97l-2.24,-0.88ZM433.84,620.88l0.17,-0.38l-0.47,-0.55l-1.43,0.9l-0.23,0.47l0.64,0.66l2.25,0.65l0.99,-0.27l0.73,-1.0l-0.06,-0.69l-0.49,-0.46l-0.91,0.66l-1.19,0.01ZM368.9,723.15l3.01,0.37l0.36,0.27l-3.63,-0.13l0.26,-0.51ZM392.61,649.39l1.24,0.72l1.36,1.23l-0.92,0.46l-0.54,-0.32l-1.33,-1.56l0.2,-0.53Z\",\\n      \"name\": \"Andhra Pradesh\"\\n    },\\n    \"IN-TR\": {\\n      \"path\": \"M717.67,412.64l-0.65,-0.93l-0.85,-0.54l-0.68,0.03l-0.65,0.63l-0.23,2.44l0.57,2.74l-0.06,0.54l-0.45,-0.12l-0.61,-0.81l-0.37,-1.24l-1.03,-5.9l0.59,-1.13l-0.93,-0.66l-0.88,-2.95l-1.06,-0.99l-1.73,-4.15l0.05,-0.4l0.82,-0.19l0.29,-0.86l-0.43,-0.72l-0.77,-0.33l-0.07,-0.39l0.16,-0.36l1.69,-0.62l0.97,-2.38l-0.28,-2.65l1.62,-2.42l1.36,0.06l0.65,-0.3l0.79,-3.37l4.46,0.5l2.13,-0.37l1.01,-1.0l0.52,-2.43l0.74,1.43l1.5,0.46l1.08,-0.84l-0.14,-2.07l1.8,0.37l0.24,1.14l1.12,1.01l0.62,0.15l0.7,-0.29l1.07,-3.6l-0.23,-2.31l1.73,0.78l0.54,-0.4l-0.61,-1.47l3.03,0.1l1.08,-0.51l0.67,-0.99l0.07,-3.38l0.92,-0.64l2.0,1.31l0.19,1.75l0.72,1.63l-0.16,1.4l-1.03,2.69l0.62,0.74l1.84,0.3l0.73,1.3l0.1,2.73l-0.33,2.19l0.42,1.35l-0.55,1.87l0.21,2.41l-0.73,0.03l-0.79,1.0l-0.32,1.9l0.2,1.67l-0.69,-0.15l-0.51,0.3l-0.6,1.69l-0.45,-1.43l-0.61,-0.91l-0.46,-0.16l-1.47,0.55l-1.5,1.91l-0.91,0.48l-2.28,-2.56l-1.1,0.12l-0.24,2.55l0.81,3.79l-0.04,1.12l-0.97,1.4l-2.69,1.48l-1.81,2.75l-0.6,1.79l1.57,5.86l-1.05,0.63l-0.6,1.26l-0.91,0.89l-1.59,0.51l-1.08,-0.01l-0.53,0.84l-0.37,-0.53l-1.18,-0.4l-0.36,-0.51l-0.1,-1.09l-0.43,-0.32l-1.19,-4.38l-0.54,-0.55l-0.07,-0.63l-0.43,-0.22Z\",\\n      \"name\": \"Tripura\"\\n    },\\n    \"IN-AR\": {\\n      \"path\": \"M727.36,274.74l-0.62,-1.27l-2.25,-0.75l-1.77,-2.04l-0.63,-2.3l0.17,-1.09l1.38,-1.87l0.22,-1.28l3.95,-0.13l2.71,1.1l3.56,0.14l1.39,-0.61l1.72,-1.71l1.01,-0.5l3.83,-0.02l0.37,-0.53l-0.09,-1.07l1.06,2.04l0.62,0.37l0.5,-0.13l0.54,-0.87l0.59,0.49l0.55,-0.04l0.85,-1.64l0.39,0.72l0.65,0.34l3.1,-1.35l1.28,-1.18l1.97,-0.69l1.9,-1.8l0.51,-2.58l-0.5,-0.64l-1.47,-0.43l1.15,-1.82l2.62,-1.84l1.03,0.45l1.55,-0.52l1.69,-1.95l1.76,-0.71l1.24,-1.28l2.81,-1.91l1.46,-2.07l0.6,-2.32l1.84,-1.44l6.87,-4.3l3.12,-0.23l2.29,0.22l1.58,-0.99l0.71,0.3l0.81,-0.14l2.24,-1.87l3.52,-1.53l0.33,-1.17l1.78,-0.1l1.59,-0.97l3.25,-1.09l1.23,-1.08l2.5,-0.23l2.96,-3.02l0.01,-0.58l-2.19,-2.29l0.36,-1.16l1.48,-0.19l1.11,-1.53l0.6,-0.3l2.38,-0.12l1.39,-0.42l2.54,-3.14l0.72,-0.07l2.06,1.06l1.8,2.16l-0.17,1.17l0.66,0.67l2.54,-0.06l4.07,1.52l0.43,-0.15l-0.23,-0.8l1.58,0.39l2.15,1.1l2.51,0.45l0.72,1.13l1.93,0.3l0.45,-0.44l-0.2,-1.79l0.72,-0.57l1.81,-0.09l1.12,0.28l0.48,-0.28l0.36,-1.24l0.67,1.6l2.25,-0.39l0.22,-1.1l-0.31,-1.27l1.15,-0.39l0.21,-0.82l0.66,-0.09l1.65,0.69l2.17,0.34l0.42,-0.22l0.93,-1.86l-0.03,-2.09l1.15,-0.32l2.24,0.9l2.73,-1.16l5.47,-0.31l0.94,2.55l1.97,1.67l1.4,-0.02l2.08,-1.11l0.36,0.57l-1.13,2.01l-3.49,1.07l-0.63,0.41l-0.65,1.26l0.64,2.74l0.61,0.25l2.59,-1.66l1.71,-0.53l0.58,1.89l2.46,1.23l0.08,0.91l1.18,0.7l0.56,2.05l2.02,2.58l0.6,2.92l-2.74,2.04l-2.04,1.1l-0.15,0.56l0.83,1.34l-1.06,1.29l0.04,0.55l1.03,0.95l0.99,2.16l0.53,0.2l0.76,-0.58l0.45,-3.4l0.84,-1.52l1.46,-0.72l2.38,0.61l2.09,2.27l2.2,1.38l1.28,1.55l0.59,2.63l2.37,0.85l3.42,-1.46l0.92,0.23l2.0,1.66l0.8,0.21l0.66,1.15l2.77,1.85l0.1,0.6l-0.87,1.91l-0.18,1.48l0.49,0.95l1.42,1.47l0.17,0.72l-0.79,1.9l0.03,1.18l-0.7,0.34l-0.46,-0.84l-0.74,-0.19l-1.48,0.51l-2.77,2.73l-2.06,1.44l-0.27,0.83l-2.08,0.81l-1.02,1.26l-2.24,1.7l-0.77,1.39l-0.0,0.98l0.8,2.32l-0.35,1.45l0.18,0.76l6.72,8.57l0.2,1.05l0.81,0.73l-0.34,0.96l-1.06,-0.38l-1.09,0.3l-0.98,-0.87l-4.19,-1.87l-0.52,-0.42l0.5,-1.38l-0.22,-0.64l-1.04,-0.87l-1.45,-1.95l-2.32,-1.06l-1.15,0.12l-0.8,0.69l-2.05,-0.49l-1.22,1.56l-0.94,0.38l-3.16,-0.19l-8.17,1.35l-2.27,0.98l-1.97,1.39l-2.32,3.7l-1.42,1.63l-3.49,1.13l-2.36,3.2l-2.21,0.47l-1.16,1.96l-1.65,0.03l-1.5,0.46l-2.38,3.54l-4.38,1.68l-0.65,-2.41l0.28,-2.02l-1.15,-1.62l0.08,-0.57l0.86,-1.12l0.18,-1.79l-0.4,-1.17l-1.3,-0.89l0.03,-0.74l2.24,-0.17l3.03,-2.24l2.08,-0.89l1.32,-1.31l0.89,-2.35l1.07,-0.6l3.2,1.39l4.93,-1.84l2.11,-0.03l1.11,0.35l0.89,-1.03l1.04,-0.45l0.4,-0.9l1.19,-0.94l0.02,-1.73l-1.11,-1.43l-1.54,0.04l-1.04,1.08l-0.29,-1.15l0.49,-1.32l-0.31,-2.08l-0.56,-0.76l-2.03,-1.4l-0.74,-3.0l4.9,-6.49l1.13,-2.28l-0.47,-0.76l-7.92,0.07l-1.46,0.45l-3.93,2.51l-4.03,1.0l-1.16,-0.06l-2.12,-0.75l-1.82,1.0l-9.17,3.2l-4.61,2.27l-4.21,1.1l-4.11,2.12l-1.45,0.25l-0.95,-0.65l-2.82,0.73l-1.84,-0.68l-0.97,-1.0l-0.65,-0.12l-0.98,0.82l-0.31,0.87l1.19,1.68l-0.16,0.82l-7.98,6.54l-4.22,4.3l-0.72,1.32l0.11,2.07l-3.97,2.93l-1.86,0.72l-3.28,0.5l-1.4,0.62l-0.37,0.04l-1.8,-1.22l-0.99,-0.14l-10.87,1.18l-1.55,-0.38l-0.87,-1.17l-3.78,-1.66l-3.69,-0.53l-0.9,0.25l-2.12,1.63l-8.52,2.44l-1.58,0.13l-1.99,0.63l-3.48,-0.28l-1.08,-3.29l-1.55,-1.52l-0.32,-0.92l0.42,-2.0l0.73,-0.89l0.31,-1.23l1.41,-1.35l0.22,-0.83l-2.85,-5.27l-1.16,-0.97l-1.6,0.88l-1.97,0.08l-3.01,0.86Z\",\\n      \"name\": \"Arunachal Pradesh\"\\n    },\\n    \"IN-KA\": {\\n      \"path\": \"M183.76,654.66l1.17,-1.76l1.58,-1.17l0.11,0.99l0.66,0.4l1.93,-0.14l1.67,-1.1l1.39,-2.47l-0.57,-1.14l2.3,-3.92l0.01,-1.78l-1.37,-0.64l0.65,-0.48l1.42,-0.09l0.56,-0.68l0.21,-3.0l-0.24,-1.26l-0.69,-0.68l-2.69,-1.26l-1.19,0.3l-0.47,-2.4l1.24,-0.28l0.35,-0.84l-1.1,-0.79l-0.36,-1.12l-1.04,-0.15l-0.39,-1.08l-0.95,0.09l0.31,-0.89l0.87,0.52l0.75,-0.34l0.34,-0.8l0.72,0.63l0.63,-0.14l1.85,-1.63l0.52,-1.51l2.28,0.61l0.64,1.97l0.55,0.41l0.87,-0.23l1.48,-1.21l1.3,-0.31l0.44,-0.89l-0.63,-0.9l0.68,-0.64l0.32,-1.0l0.9,-0.17l0.61,-0.68l1.67,-0.79l2.05,0.17l0.41,-0.88l-0.66,-2.45l2.16,-0.78l0.95,-0.97l0.35,-1.04l0.96,0.29l1.32,-0.24l0.43,0.85l1.57,1.28l1.74,0.56l2.56,-1.13l0.32,-1.76l2.11,-0.15l1.37,-0.65l1.59,-0.01l0.78,0.64l0.73,0.05l1.58,-0.66l0.84,-0.95l1.47,1.12l1.13,-0.06l0.56,-1.31l-0.58,-1.4l0.66,-0.66l0.08,-0.53l-1.28,-2.2l0.49,-2.65l-0.42,-1.11l-0.82,-0.58l-0.88,-2.78l0.83,-0.73l1.1,-1.81l0.67,0.2l0.76,1.43l1.88,0.29l1.02,1.25l0.74,0.0l1.18,-1.12l0.68,0.28l0.52,-0.31l0.52,1.7l1.37,1.03l2.4,-0.79l1.12,0.08l2.15,-1.02l1.3,0.35l1.64,-0.57l1.62,0.97l2.17,0.25l0.88,-0.29l0.98,-1.09l-0.17,-0.54l-0.94,-0.76l-0.84,-1.71l0.71,-1.31l-0.11,-1.65l-0.73,-1.08l2.27,-0.76l0.96,-1.31l1.3,-0.71l0.19,-1.02l0.84,-0.4l0.57,-0.91l0.9,0.33l1.1,-0.13l2.11,1.92l0.94,-0.21l0.83,-2.54l1.63,-1.28l-0.43,-2.03l2.59,0.52l1.11,-0.85l0.65,-1.76l0.44,-6.2l1.3,-0.6l1.67,0.06l2.75,-0.68l0.94,-1.82l3.43,-2.24l0.12,-2.6l0.97,-1.48l0.81,-0.16l0.82,0.6l0.26,2.57l2.49,1.24l0.14,0.8l0.46,0.46l1.07,-0.06l1.25,-0.96l1.87,0.57l-0.46,1.64l0.98,3.56l-0.97,0.35l-0.34,0.81l0.3,0.72l1.16,1.08l0.66,2.67l-1.93,2.03l-1.65,1.2l-0.31,0.97l0.86,1.02l0.13,0.63l-2.0,1.18l-1.66,3.11l0.54,0.74l2.14,1.1l2.63,0.05l0.62,0.92l2.4,-0.87l-0.85,1.7l-1.86,0.54l-0.68,1.22l-1.41,0.5l-0.93,1.81l-3.8,4.92l-0.3,1.05l0.18,0.89l1.75,0.99l0.21,1.34l1.01,2.06l-0.98,2.22l-0.04,4.51l-0.57,0.94l-0.19,1.47l0.2,0.87l0.84,0.59l-0.7,0.62l-0.29,0.74l0.33,0.43l0.72,-0.12l-0.46,1.4l-1.11,0.6l-0.57,1.31l-3.6,2.5l0.04,0.43l1.33,1.5l3.15,0.82l2.99,0.08l1.46,0.98l-0.05,0.65l-1.49,1.1l-0.35,0.85l-0.3,2.77l0.14,5.08l-0.92,1.2l-4.11,-0.1l-2.41,-0.6l-2.16,0.31l-2.83,1.49l-1.33,1.59l-0.27,3.92l0.26,0.61l0.54,0.3l0.92,1.92l-1.1,-0.21l-1.05,0.68l-0.44,1.23l0.31,2.89l-0.61,-0.36l-0.47,0.14l-0.26,0.54l1.49,3.11l0.45,2.23l2.35,1.26l0.79,5.01l-1.29,2.89l-1.27,1.08l-0.98,-0.83l-1.9,0.28l-2.26,-0.55l-2.7,-1.55l-0.83,0.05l-0.64,1.13l-0.05,1.31l-0.76,1.17l0.34,0.49l2.58,1.0l0.24,0.53l-0.67,3.87l-0.92,0.48l-0.24,0.51l0.09,1.46l-0.65,1.58l-0.11,1.87l0.53,1.82l1.15,0.65l1.13,1.95l2.75,-0.11l0.28,0.38l-0.58,1.33l-0.75,-0.03l-0.6,0.43l-0.33,1.18l0.67,1.5l1.34,0.7l-0.5,1.06l0.38,0.63l5.22,0.79l0.57,-0.66l0.04,-1.35l1.22,-1.48l1.49,0.54l2.05,-0.25l0.35,0.98l1.75,0.6l0.81,1.07l0.71,0.37l0.61,-0.09l0.42,-0.71l-0.87,-2.14l0.63,0.06l0.57,0.9l1.2,0.25l-0.29,1.29l0.4,1.46l-2.57,0.43l-1.69,1.64l0.17,0.52l0.77,0.22l-0.9,1.3l-0.01,0.61l0.89,1.82l0.88,0.68l-0.09,0.84l0.46,1.04l-1.36,-0.46l-0.12,-1.15l-1.33,-2.11l-1.58,-0.4l-2.02,0.49l-1.93,0.06l-0.86,-0.87l-2.53,-0.91l-0.68,-2.95l-0.45,-0.49l-1.65,-0.55l-1.55,0.95l-0.26,0.99l2.22,2.42l-0.16,1.73l2.27,3.02l-1.7,2.74l0.13,1.43l0.5,1.1l0.7,0.06l0.45,-0.65l1.18,0.94l0.5,-0.15l0.37,-0.63l1.31,0.24l0.78,-0.26l0.35,-1.0l-0.25,-1.5l-0.54,-0.55l0.64,-0.79l0.65,0.55l0.97,-0.55l0.77,0.74l1.09,0.02l1.04,0.57l2.88,0.1l1.0,1.31l0.76,3.18l1.76,0.02l1.87,-1.1l1.4,-0.17l0.29,-1.09l0.84,-0.13l0.54,0.58l0.75,-0.06l0.7,-1.41l1.23,-0.5l1.78,-1.55l0.13,-0.72l-0.57,-0.89l0.16,-0.39l1.51,0.14l1.31,0.55l0.69,-0.36l0.76,-1.03l-0.06,0.91l-0.96,1.22l0.45,1.84l0.61,0.04l1.08,-1.14l1.08,0.1l0.98,-0.51l1.13,0.68l0.47,1.62l-0.46,1.45l0.68,1.33l-0.98,-0.09l-0.43,0.33l-0.05,0.66l0.46,0.93l0.44,0.26l1.43,-0.19l1.73,1.76l1.63,0.44l1.35,0.11l0.84,-0.42l0.8,0.37l1.06,-0.13l-0.34,1.19l-0.06,3.99l-0.34,1.2l1.1,1.98l0.69,0.23l0.59,-0.29l1.3,0.36l1.75,1.15l1.21,-0.5l-0.05,2.1l-0.32,1.1l-0.91,1.18l-0.34,1.83l-1.24,0.9l-0.54,1.55l-1.32,2.03l0.1,0.59l1.12,0.65l0.48,0.78l-2.19,-1.45l-1.12,-0.16l-0.49,0.39l-0.35,1.35l-1.07,0.42l-1.03,-0.36l-0.62,0.37l0.11,2.05l-0.34,0.59l-2.6,-0.85l-2.48,-1.78l-0.99,-0.1l-1.2,1.37l-2.15,-1.97l-2.37,-0.1l-1.63,0.75l-0.34,1.39l-1.03,1.8l0.24,1.06l-2.02,1.05l-1.7,-0.11l-1.04,0.49l-1.29,3.66l0.38,1.14l-0.1,1.1l1.28,0.34l-0.45,2.16l-2.18,2.84l-1.81,1.11l-0.33,1.06l0.88,1.69l6.59,0.29l1.01,0.65l0.87,1.65l-3.17,4.34l-4.19,0.64l-1.02,0.5l-1.01,1.52l-0.85,2.18l-0.54,0.46l-2.0,0.25l-2.48,-1.04l-1.24,0.45l-2.9,0.22l-0.46,0.31l-0.39,1.08l-1.99,-1.91l-1.21,-0.41l-2.06,0.44l-0.92,0.51l-1.97,3.01l-0.52,2.22l-2.05,-0.47l-5.1,0.34l-0.7,-0.25l-0.01,-1.16l-0.76,-0.99l-1.01,-0.34l-1.28,0.14l-1.47,1.17l-0.23,-1.51l-0.53,-0.66l-2.29,-0.05l-1.56,-1.76l-1.37,-0.01l-1.51,-1.78l-0.98,-0.16l-1.05,0.26l-0.38,-0.58l0.08,-2.01l-0.53,-0.63l-0.84,-0.04l-2.77,1.07l-2.93,-0.54l-1.33,-0.58l-1.09,-1.2l-0.6,-1.99l-1.88,-0.3l-1.33,-0.81l-0.81,0.09l-0.76,-1.06l-2.07,-1.0l-3.42,-3.85l-1.12,-0.12l-0.54,-1.89l-0.87,-1.28l0.04,-0.64l0.75,-0.81l0.05,-0.7l-0.69,-0.48l-1.29,0.25l-1.68,-1.95l0.67,-1.64l-0.28,-0.5l-1.53,-0.38l-1.26,0.46l-0.83,-1.04l-1.18,0.1l-0.21,-1.49l-1.02,-0.68l-0.95,-0.16l-0.98,0.44l-0.22,-0.85l-1.23,-0.36l-0.55,-1.43l-0.97,-0.23l-1.59,0.31l-0.32,-0.91l0.99,-0.81l1.53,-0.55l0.39,-0.51l-0.4,-0.61l-3.41,0.56l-1.36,-5.58l0.26,-1.33l-0.35,-0.37l-0.6,-2.16l-1.04,-5.01l-0.74,-1.48l0.06,-0.6l0.43,-0.2l-0.18,-1.85l-0.72,-1.98l-0.17,-2.91l1.43,-0.43l0.51,-0.72l-0.79,-0.24l-0.74,-1.69l-0.59,-0.04l-0.59,0.82l-1.04,-4.59l-0.98,-2.21l-2.65,-3.83l0.0,-1.22l-0.63,-1.13l-0.24,-2.4l-1.15,-1.8l2.13,0.13l0.18,-0.69l-2.5,-1.07l-0.26,-0.37l-0.08,-1.26l-1.06,-3.28l0.48,0.02l0.27,-0.5l0.73,-0.16l-0.05,-0.45l-1.48,-1.63l-0.14,-0.62l-0.98,-0.84l-0.71,0.54l-0.06,1.03l-0.4,0.04l-0.22,-1.61l1.0,-0.33l0.35,-0.61l-0.72,-0.56l-1.25,0.35l-0.23,-0.18l0.24,-0.61l-0.84,-2.65l-1.14,-0.68l-0.83,0.38l-0.42,-0.63l-0.7,-0.13l-1.41,-0.99l0.54,-0.99l1.17,0.17l0.75,-0.99l1.08,0.02l0.47,-0.37l-0.08,-0.75l-1.37,-0.74l-2.36,1.62l-0.46,-0.72l1.61,-1.08l1.69,-0.19l1.18,-0.91l0.82,-2.53l-0.14,-2.48l0.94,-2.43l-0.25,-0.71l-1.34,-1.11l1.61,-0.57l0.34,-0.87l-0.21,-1.62l-1.2,-1.53l-0.04,-1.34l-0.58,-0.86l0.59,-1.77l-0.66,-3.34l-0.5,-0.59l-1.53,-0.72l-1.74,0.51l-0.43,-0.07l-0.12,-0.46Z\",\\n      \"name\": \"Karnataka\"\\n    },\\n    \"IN-PB\": {\\n      \"path\": \"M176.07,176.63l0.49,-0.66l0.91,-0.18l0.37,-0.76l0.93,-0.37l1.98,-2.76l1.11,-0.3l0.6,-0.54l0.35,-2.73l1.22,-1.08l1.65,-0.66l0.97,-1.89l2.26,-2.34l-0.1,-1.02l1.19,-0.74l0.5,-1.77l2.56,-0.03l1.17,-1.73l2.45,-0.6l1.36,-1.41l0.49,-1.31l2.35,-1.33l0.12,-0.61l-1.4,-1.16l-2.43,0.02l-0.78,-1.72l0.77,-4.21l2.63,-5.48l-0.15,-0.82l-0.89,-1.3l-0.91,-3.26l-1.88,-3.18l1.28,-1.9l0.42,-1.8l3.6,-2.55l0.85,-1.45l1.71,0.33l1.05,-0.31l1.2,-2.56l1.09,0.37l0.83,-0.6l2.02,-0.13l1.02,-1.1l1.11,-0.02l0.36,-0.49l-0.14,-0.56l1.94,0.66l1.17,-0.5l1.03,0.2l0.93,-1.49l3.2,-0.92l0.63,-2.0l1.01,-1.12l0.35,-0.94l-0.27,-0.94l-1.12,-1.22l1.94,0.13l1.25,-0.69l0.47,1.04l1.62,0.83l0.46,-0.14l2.1,-2.45l1.07,-0.64l2.7,-0.39l1.07,-0.89l0.4,-1.14l1.66,-0.59l1.42,-1.04l1.5,2.65l-3.97,2.7l-1.59,1.66l-3.57,1.31l-0.33,1.08l0.28,1.2l0.7,0.45l0.63,-0.16l-0.52,1.03l-1.81,1.94l-0.05,0.85l0.87,0.49l3.03,0.5l5.38,2.71l2.54,4.11l-1.07,0.21l-0.18,1.25l4.53,8.24l2.34,7.11l1.09,1.36l0.75,0.46l1.42,-0.32l1.34,0.16l0.65,-1.28l0.84,-0.38l-0.02,-1.78l0.92,-0.36l2.27,4.24l0.98,-0.15l0.78,0.72l0.73,-0.2l0.39,0.92l0.53,0.22l0.69,-0.62l0.06,1.28l0.34,0.31l0.96,-0.04l-0.73,1.33l-0.03,1.58l0.68,0.74l-0.51,1.25l0.31,1.59l1.02,1.2l3.79,3.11l1.0,1.7l0.95,0.53l-0.41,1.04l-2.24,-0.16l-1.46,0.74l-0.24,0.82l0.32,0.8l2.49,2.48l2.18,-0.11l0.28,1.06l0.84,0.47l0.29,0.86l-0.26,1.77l0.52,0.95l-0.43,1.01l0.34,3.05l-0.33,0.84l-1.25,-2.16l-2.78,-0.23l-1.08,0.49l-0.44,1.63l0.52,0.73l-2.37,1.72l-3.57,1.91l-0.22,0.62l0.44,0.79l0.82,-0.04l0.76,-0.82l0.42,0.84l0.87,0.45l-0.38,1.5l-2.73,1.89l-1.97,-0.49l-1.02,-2.47l-0.61,-0.47l-0.6,0.06l-0.49,0.47l0.18,1.05l-0.33,0.74l-0.93,-0.81l-0.57,0.13l-0.15,0.98l-0.26,0.08l-1.13,-0.23l-1.27,-0.87l-0.79,0.13l-0.49,1.0l0.9,0.83l-0.46,0.56l0.17,0.85l-0.56,0.83l-0.83,2.76l0.55,1.64l0.95,0.71l-2.16,1.34l-1.95,0.72l-1.28,1.49l-1.16,0.03l-1.39,0.58l-1.91,-0.35l-1.01,-1.8l-1.91,-0.93l-2.34,0.7l-0.72,1.35l-1.13,-0.2l-1.76,0.35l-4.86,-1.45l-3.42,4.21l-0.13,0.69l-0.95,0.4l-0.7,1.35l0.37,1.21l-1.34,0.48l-0.53,-1.63l-0.78,-0.89l0.03,-0.68l-0.47,-0.53l0.89,-0.62l-0.01,-1.11l0.84,-0.15l0.16,-0.58l-1.61,-2.94l-1.18,0.18l-0.57,0.76l-0.91,-0.57l-0.12,-1.21l0.35,-1.46l-0.53,-0.88l-0.81,0.2l-0.42,1.1l-1.94,0.49l-1.47,-1.09l-0.81,-1.4l-2.41,-0.6l-0.88,-0.73l-3.48,0.62l-1.31,0.92l-0.55,0.88l-3.88,-1.1l-4.07,-0.54l-15.05,-0.66l0.36,-1.18l2.21,-3.51l0.25,-1.48l-0.23,-0.77l-0.66,-0.4l-1.19,-3.33l-0.77,-1.0l-1.17,-0.6Z\",\\n      \"name\": \"Punjab\"\\n    },\\n    \"IN-ML\": {\\n      \"path\": \"M692.14,323.41l0.36,0.99l0.49,0.26l3.48,-1.0l0.19,0.86l0.64,0.35l1.2,-0.63l1.49,-0.23l3.08,0.24l0.52,0.77l0.96,0.42l-0.17,1.66l0.43,0.66l1.1,-0.39l0.55,0.36l0.64,-0.07l2.66,-0.96l0.05,3.31l0.27,0.81l0.85,0.45l1.66,-0.78l2.72,-2.95l3.5,-0.63l1.66,-0.86l0.37,-0.68l-0.38,-0.52l-1.21,0.62l3.21,-4.23l0.7,0.03l0.35,0.35l-0.47,2.0l0.21,0.69l1.52,0.36l1.37,-0.91l0.76,-1.27l0.44,-1.6l1.65,-1.4l0.96,0.24l1.41,1.21l1.05,0.19l3.13,-0.68l1.07,0.06l3.34,-1.03l2.77,0.13l-2.86,2.99l0.12,1.26l1.06,0.72l-1.5,3.63l0.24,1.32l-0.13,2.9l0.69,0.35l1.64,-0.98l2.82,-0.49l1.83,-1.14l2.64,2.02l3.7,3.79l0.62,0.07l1.88,-0.9l-1.34,1.9l-1.55,1.24l-0.1,0.59l1.68,1.57l2.05,0.77l2.62,2.44l0.18,0.48l-0.36,1.54l0.66,1.41l-3.66,1.24l-1.0,1.03l-2.75,0.23l-0.26,0.76l-1.33,0.48l-3.41,3.12l-1.72,-0.99l-0.78,-0.86l-2.26,-0.4l-1.74,-1.46l-1.79,-0.29l-0.79,-0.85l-1.94,-0.58l-2.44,0.38l-1.73,-0.24l-5.25,0.33l-0.64,0.7l-0.94,-0.21l-0.65,0.86l-0.55,0.08l-1.11,-0.13l-1.08,-1.05l-0.72,-0.01l-2.03,0.82l-1.34,-0.09l-4.49,-1.33l-1.65,-0.78l-12.73,1.95l-2.04,-0.82l-0.72,-0.02l-0.73,0.49l-2.6,-0.6l-1.28,0.3l-2.57,-0.21l-4.05,0.61l-2.4,-0.98l-4.8,-1.03l-6.8,-2.79l-2.64,0.4l-0.59,-2.56l0.35,-1.85l2.3,-0.94l0.38,-0.8l0.21,-2.01l1.81,-0.2l1.28,-1.0l0.04,-0.93l-1.52,-1.7l-0.34,-1.72l0.88,-1.75l0.26,-1.36l2.26,-2.72l2.31,-1.91l5.74,-0.81l1.82,-1.05l3.24,0.21l1.4,0.87l-0.56,1.9l0.39,0.49l1.72,-0.91l0.85,-1.0Z\",\\n      \"name\": \"Meghalaya\"\\n    },\\n    \"IN-MN\": {\\n      \"path\": \"M765.49,384.0l0.47,-0.68l0.61,-3.47l-0.09,-1.17l0.96,-1.67l-0.13,-0.68l-0.62,-0.57l-0.09,-1.32l0.56,-0.31l0.28,-0.98l0.55,-3.63l1.0,-0.49l0.14,-0.43l-0.57,-1.42l0.73,-1.43l-0.56,-1.21l0.91,-2.88l0.63,-0.62l0.88,0.47l0.98,-0.44l0.27,-1.08l1.36,-2.09l-0.23,-1.11l1.0,-0.91l-0.44,-2.02l1.51,-0.98l3.35,-6.82l0.5,-0.52l1.87,1.18l1.29,0.39l1.16,1.32l0.79,-0.03l1.42,-1.94l0.99,-2.22l3.94,-3.86l-0.04,-1.41l-1.34,-0.76l0.16,-0.53l4.57,-0.6l2.93,0.03l1.7,1.1l2.18,-0.03l1.33,0.81l4.11,-0.51l2.05,-1.03l1.5,-1.74l1.68,-0.96l1.91,-1.65l-0.05,1.34l-1.04,3.76l0.67,0.94l2.42,1.37l-0.87,1.31l-1.78,4.9l0.08,1.52l0.99,1.35l3.31,1.08l0.64,2.0l-0.15,1.25l-1.08,1.72l-0.56,2.75l-1.73,2.55l-0.49,2.59l-0.58,0.52l-1.44,0.34l-1.22,3.42l-1.79,1.31l-0.65,2.06l-1.03,1.02l-0.12,1.37l-1.01,1.13l0.08,0.9l-1.09,1.03l-0.39,2.16l-1.51,3.48l-1.33,5.32l-1.69,2.49l-0.11,2.01l-0.25,0.27l-1.49,-1.41l-1.93,-1.02l-3.52,-0.92l-2.47,0.28l-1.62,-1.76l-1.26,-0.49l-3.11,-0.12l-0.94,0.51l-0.51,0.86l-0.79,-0.43l-1.46,0.7l-0.87,-0.01l-0.47,-1.06l-2.13,-2.65l-0.75,-0.47l-1.33,0.4l-0.63,1.3l-0.8,0.38l-0.15,-0.87l-0.68,-0.58l-1.63,0.9l-1.15,-0.71l-1.16,0.57l-1.01,-0.83l-2.54,-0.88Z\",\\n      \"name\": \"Manipur\"\\n    },\\n    \"IN-MH\": {\\n      \"path\": \"M140.02,524.29l0.06,-1.24l-0.89,-1.35l0.45,-1.03l-0.02,-2.02l0.58,-0.43l0.77,-1.67l0.01,-1.67l1.8,-0.88l1.02,0.27l0.61,-0.35l2.1,-0.11l1.26,-0.53l1.63,2.69l1.38,-0.59l0.87,0.56l1.01,-0.49l0.85,0.82l0.58,0.11l0.82,-0.93l0.21,-1.81l0.82,-0.04l1.23,-0.66l0.57,-1.77l3.01,0.37l0.95,-0.4l-0.07,-1.27l0.49,-1.74l-0.34,-2.56l-0.66,-0.58l2.42,-3.82l0.56,-1.66l-0.48,-1.67l-0.94,-0.32l-0.37,-1.27l-0.99,-0.24l0.99,-0.38l0.9,-1.46l0.9,1.35l3.28,1.92l1.77,1.83l2.49,-0.21l2.88,-1.69l0.39,-0.98l-0.0,-1.07l2.33,-1.97l0.71,-1.34l-0.19,-3.58l-0.9,-2.69l-2.67,-3.15l-1.52,-0.55l-1.15,-1.45l-0.83,-0.24l-1.49,0.14l-2.13,-1.69l1.87,0.97l2.29,-0.02l2.26,-1.34l1.02,-2.45l1.02,0.6l2.51,-0.87l1.4,-3.41l2.42,-2.08l1.87,0.38l4.14,-1.13l1.72,-0.97l0.43,-1.02l-0.34,-1.17l-0.46,-0.42l-2.95,0.88l-1.44,-0.8l-1.14,0.58l-3.52,-0.08l-5.22,1.49l-1.82,-2.89l1.68,-0.47l0.65,-0.69l0.32,-1.01l-0.15,-0.9l-0.83,-0.77l-0.29,-2.57l0.27,-0.56l2.56,-0.97l1.38,-0.19l1.13,-0.92l2.52,-1.2l1.96,-0.35l2.37,0.85l2.05,-0.37l0.72,-0.45l0.19,-0.59l1.73,-0.61l1.41,-1.13l2.18,2.28l0.21,0.76l-0.17,3.62l0.77,2.62l3.13,2.41l1.63,0.45l1.6,1.13l4.83,-0.16l1.07,0.2l1.64,1.01l1.69,0.14l1.58,1.14l2.36,3.5l2.18,0.87l3.21,0.71l6.95,0.32l2.77,-0.44l2.5,0.23l3.35,-0.17l1.94,-0.51l2.2,0.26l2.69,0.81l1.26,-0.08l1.24,2.54l0.36,2.7l-1.11,0.57l0.15,0.97l1.09,1.49l0.87,0.53l3.81,0.66l4.02,-0.74l0.95,-0.46l1.82,-2.26l4.01,-0.99l0.96,-1.64l-0.02,-1.37l-0.56,-1.56l2.52,-1.7l1.81,-2.57l0.52,-3.12l0.5,-0.59l0.75,-0.35l2.31,-0.17l3.51,-2.47l2.54,-0.93l1.74,-0.08l0.77,0.73l0.74,0.08l1.15,-1.07l0.99,-0.26l1.28,-1.01l4.16,0.21l0.84,1.07l1.22,0.67l0.36,3.83l0.44,0.85l-3.7,-0.1l-0.72,0.76l0.04,1.29l1.97,3.68l0.53,0.02l0.58,-0.76l1.39,0.99l0.88,0.02l1.05,-0.43l1.38,0.13l0.82,0.55l2.93,-1.48l2.94,0.87l4.44,-1.33l3.05,-1.56l2.07,-2.14l3.51,-1.08l1.4,-1.22l1.25,0.34l0.42,2.93l0.32,0.47l0.78,0.04l1.24,-0.64l0.62,0.01l1.47,0.98l2.09,0.55l2.14,0.15l6.99,-1.28l0.7,-0.93l-0.15,-1.32l1.82,-0.62l2.66,-0.31l4.17,-1.36l0.59,-0.54l0.29,-1.34l1.77,0.62l3.23,0.14l1.66,0.54l0.8,1.02l0.92,0.57l0.58,2.17l0.81,0.57l1.25,-0.33l1.75,-1.17l2.95,-0.27l1.39,0.37l0.77,1.38l0.58,0.33l1.6,-0.12l2.05,-0.95l0.35,0.4l0.86,0.06l2.42,-0.77l0.92,-1.07l2.29,-0.91l1.67,1.15l1.92,0.55l0.2,1.01l0.5,0.63l2.02,1.48l0.35,0.91l-0.73,1.25l0.43,0.65l0.81,0.15l1.85,-0.32l4.3,2.41l1.39,-0.57l-0.01,0.89l-1.13,1.42l-2.68,1.41l-2.67,1.98l-0.97,4.16l0.16,1.64l0.77,1.33l1.09,0.52l1.28,-0.23l0.35,0.63l0.06,4.02l0.45,3.05l-1.84,1.2l-0.47,0.89l-0.02,0.79l0.38,0.48l0.66,0.16l1.78,-0.88l1.02,0.27l0.01,1.81l0.39,0.89l-0.58,1.41l-0.1,2.11l0.45,2.13l-1.09,0.47l-1.52,1.28l-2.81,0.5l-0.75,0.81l-0.36,2.4l0.18,0.72l3.49,0.54l0.73,2.48l-0.7,3.76l-2.02,-0.7l-1.12,1.16l-0.04,1.18l1.69,0.75l-0.51,0.69l-1.68,0.86l-0.09,0.89l0.85,0.59l1.62,0.25l0.63,-0.44l0.13,-0.95l0.77,-0.12l1.15,2.63l2.81,1.23l0.47,2.03l0.58,0.9l4.26,1.79l1.18,1.1l0.48,0.98l-0.64,1.2l-1.62,0.32l-0.53,0.42l-0.01,0.81l0.78,1.35l-1.97,0.98l-0.97,0.87l-1.04,-1.54l-2.0,-0.01l-0.88,-1.94l-0.71,-0.42l-0.85,0.24l-1.13,1.33l-1.18,0.61l-1.0,1.75l-1.36,0.8l-1.22,4.29l-2.27,3.01l-0.64,1.37l-0.01,1.37l2.24,3.09l-0.09,0.72l-2.24,1.45l-0.28,0.71l0.24,1.15l-0.3,0.22l-2.34,0.29l-2.31,-0.22l-0.58,-0.96l-2.01,-1.76l-2.23,-1.06l0.99,-0.99l0.21,-0.84l0.02,-1.59l-0.72,-3.35l-0.74,-0.8l-1.66,0.26l-0.06,-0.71l0.87,-1.58l1.42,-0.93l0.21,-0.5l-0.44,-2.8l0.57,-0.64l0.28,-0.94l0.23,-3.74l-1.23,-2.15l-1.96,-0.77l-2.06,-2.64l-2.29,-0.45l-3.08,1.08l-0.91,0.51l-0.3,1.12l-0.39,0.32l-1.26,-0.82l-4.24,-0.18l-1.47,-1.27l-3.01,-0.45l-0.87,-1.21l-1.35,-0.51l-2.56,0.37l-1.33,0.62l-0.81,1.12l-1.3,0.27l-1.56,-0.84l-0.34,-0.77l-1.28,-0.55l-0.99,-2.79l-2.09,-1.54l-2.16,0.04l-2.92,-1.29l-1.56,0.02l-1.1,-0.35l-1.07,0.25l-0.61,0.57l-1.9,-0.74l-1.36,-1.66l-1.24,-0.52l-0.54,0.27l-0.23,0.9l0.26,1.04l1.09,2.59l1.15,1.04l-0.25,0.64l-1.24,0.79l-0.61,0.83l-0.91,2.35l-0.06,2.8l-2.01,0.66l-0.77,0.68l-1.2,2.21l0.22,2.5l-0.2,0.74l-3.33,-0.06l-0.9,-0.6l-0.87,-1.24l-2.11,-0.28l-1.27,0.34l-0.99,0.93l0.11,0.69l0.53,0.26l-1.01,1.36l-0.7,2.23l0.12,1.03l-2.39,2.03l-0.22,0.63l0.57,2.11l1.03,0.18l0.28,0.94l0.86,0.22l0.16,1.21l2.03,1.81l-2.16,0.84l-1.71,3.25l-1.27,-0.02l-0.95,0.63l-0.33,0.77l0.19,1.51l-0.52,1.27l-2.57,0.53l-1.5,1.72l-0.5,2.61l-1.3,1.55l1.51,1.29l0.1,0.66l-1.31,-0.1l-1.69,1.02l-0.3,-1.06l-2.38,-1.06l-0.11,-2.21l-0.63,-0.91l-1.3,-0.5l-1.15,0.41l-1.16,1.82l-0.03,2.41l-1.43,0.66l-1.86,1.41l-0.68,0.82l-0.31,1.03l-1.26,0.02l-1.02,0.42l-1.68,-0.05l-1.83,0.93l-0.27,0.64l0.14,1.57l-0.48,2.32l0.04,2.02l-0.55,1.47l-0.5,0.44l-3.0,-0.44l-0.32,0.42l0.47,2.13l-1.5,1.02l-0.86,2.44l-2.06,-1.89l-2.52,-0.23l-0.88,1.08l-0.94,0.5l-0.2,1.02l-1.14,0.56l-0.95,1.3l-2.46,0.92l-0.17,0.5l0.77,1.23l0.09,1.48l-0.71,1.34l1.01,2.17l0.92,0.74l-0.6,0.51l-2.45,-0.08l-1.78,-0.99l-1.68,0.57l-1.38,-0.34l-2.26,1.05l-0.94,-0.14l-2.15,0.79l-0.87,-0.67l-0.28,-1.22l-0.68,-0.84l-0.88,0.28l-0.74,-0.28l-1.46,1.22l-0.85,-1.16l-1.9,-0.32l-0.65,-1.35l-0.88,-0.45l-0.63,0.12l-2.43,3.16l0.98,3.28l0.92,0.73l0.24,0.71l-0.5,2.6l1.28,2.16l-0.74,1.05l0.55,1.29l-0.2,0.88l-2.2,-1.25l-1.22,1.13l-1.28,0.53l-1.19,-0.68l-1.83,-0.01l-1.52,0.68l-2.02,0.12l-0.77,0.53l-0.02,1.43l-2.01,0.92l-1.23,-0.4l-1.49,-1.22l-0.67,-1.03l-1.68,0.2l-1.2,-0.27l-1.49,2.14l-2.45,1.04l0.56,3.05l-1.89,-0.24l-1.82,0.86l-0.57,0.65l-1.08,0.31l-0.5,1.26l-0.78,0.59l-0.04,0.6l0.64,0.85l-1.22,0.28l-1.77,1.34l-0.89,-2.23l-2.91,-0.76l-0.53,0.3l-0.53,1.56l-1.66,1.42l-0.93,-0.68l-0.61,0.31l-0.37,0.87l-0.8,-0.53l-0.65,0.1l-0.76,2.26l0.62,0.38l0.81,-0.38l0.26,0.87l1.12,0.26l0.23,0.93l0.78,0.55l-0.95,0.16l-0.48,0.69l0.62,2.98l0.63,0.32l0.91,-0.41l2.9,1.47l0.22,0.97l-0.19,2.82l-1.77,0.32l-0.86,0.93l0.13,0.7l1.32,0.54l0.03,0.51l-0.3,1.18l-2.16,3.44l0.6,1.18l-1.19,2.09l-1.32,0.88l-1.54,0.11l-0.16,-1.09l-1.05,-0.25l-2.28,1.88l-0.4,0.99l-0.63,0.47l0.15,0.72l-0.91,0.04l-2.08,0.78l-1.43,-0.79l-1.0,-2.75l-1.76,-0.62l-0.53,-1.11l-0.79,0.21l-0.89,1.14l-1.83,0.13l-0.71,0.34l-1.25,-0.26l0.03,-1.62l-1.31,-2.88l-3.48,-3.53l0.79,-0.83l-0.41,-0.4l-0.8,-0.07l-0.82,-0.82l0.33,-0.64l0.06,-2.16l0.71,-0.87l-0.01,-0.47l-0.44,-0.14l-0.95,0.42l-0.17,-1.06l-0.71,-0.29l-1.12,-4.25l-0.51,-0.32l0.58,-0.47l-0.03,-0.73l-1.12,-0.76l-0.68,-2.42l-0.45,-0.54l1.06,0.74l0.82,0.06l0.41,-0.32l-0.74,-0.71l0.5,-0.8l-1.26,-0.43l-0.4,-0.57l0.51,-0.22l0.18,0.36l0.66,0.09l0.32,-0.64l-0.15,-0.76l-0.57,-0.46l-0.98,0.18l0.18,-1.71l-0.97,-1.49l0.42,-2.29l-0.5,-0.3l-0.41,-0.93l-0.12,-0.62l0.28,-0.53l-0.31,-1.31l0.56,-1.5l-0.17,-0.55l-0.76,-0.39l0.59,-1.37l-0.03,-0.91l-0.58,-1.34l0.09,-1.05l-1.37,-3.59l0.76,-0.16l0.19,-0.63l-1.62,-2.66l-0.76,-0.65l-0.09,-0.38l0.56,-0.85l-0.28,-0.75l0.12,-0.77l-1.59,-2.24l2.03,-0.65l-0.02,-0.73l-1.83,-0.43l-0.38,-0.57l0.05,-1.09l-0.52,-0.83l0.53,-1.46l-0.55,-1.76l-0.81,-1.2l-0.45,-1.72l-1.42,-2.31l0.42,-0.88l-0.28,-0.67l-0.53,-0.26l0.98,-0.85l0.18,-0.85l-0.51,-0.41l-0.94,0.54l-0.34,-0.37l-0.61,-4.09l-0.38,-0.69l-0.67,-0.29l0.19,-0.69l0.62,0.73l1.75,0.17l0.54,0.38l-0.31,0.81l0.58,0.48l0.45,-0.14l0.51,-0.78l-0.02,-2.09l-0.62,-0.75l-1.94,-0.11l-0.55,-0.53l0.14,-0.36l-0.36,-0.54l-1.6,-0.94l-0.01,-1.02l-0.62,-1.29l0.45,-2.33l0.71,-0.18l1.81,2.51l0.68,-0.15l0.19,-0.62l-0.86,-1.02l-0.88,-2.03l-0.71,-0.34l-0.82,0.14l-1.64,-3.67l-0.09,-2.7l0.29,-0.7l1.18,0.09l0.55,-0.62l0.88,0.95l0.04,1.25l0.91,0.59l0.53,-0.48l-0.1,-1.31l0.64,-0.91l-0.12,-0.67l-0.88,-0.45l-0.18,-1.43l-0.6,-0.05l-0.65,0.44l-1.04,-0.76l0.14,-0.26l0.68,-0.01l0.31,-1.08l1.2,-0.1l0.34,-0.51l-0.2,-0.37l2.02,-0.66l0.31,-0.64l-0.31,-0.57l-0.52,-0.07l-1.35,0.42l0.13,-1.87l-0.65,-0.58l0.22,-2.19l-0.4,-0.44l-0.59,0.23l-1.02,1.69l-0.22,1.38l0.37,0.69l-0.13,0.31l-0.7,0.72l-0.08,-0.33l-0.66,-0.2l-0.49,0.46l-1.25,2.43l-0.6,-0.82l0.51,-1.73l0.36,-0.09l0.25,-0.76l-0.32,-0.73l0.29,-1.17l-0.39,-1.12l0.4,-0.71l-0.24,-0.49l-0.7,-0.1l1.07,-1.85l-0.27,-0.66l-0.46,-0.04l-0.91,0.92l0.19,-2.07l2.08,-0.09l0.63,0.65l1.46,0.32l1.18,-0.24l1.53,2.69l0.5,0.1l0.71,-0.39l-0.01,-0.7l-0.42,-0.22l-0.17,-1.08l-1.36,-1.37l-2.73,-0.21l-1.89,-1.29l-1.07,0.49l-1.01,-1.35l-0.33,-2.78l3.69,-1.53l0.25,-0.37l-0.25,-0.37l-0.94,-0.31l-1.71,0.45l-0.95,-1.4l-1.01,-0.32l-0.28,0.39l0.16,-0.89l-0.58,-2.49l0.85,-0.61l-0.33,-1.12l0.55,-0.55l-0.18,-1.26l-0.69,-0.14l-0.89,1.09Z\",\\n      \"name\": \"Maharashtra\"\\n    },\\n    \"IN-KL\": {\\n      \"path\": \"M207.32,745.98l1.92,-0.19l0.39,1.27l1.23,0.49l0.41,0.89l0.63,0.19l0.89,-0.52l0.47,0.08l0.64,0.37l-0.1,0.79l0.5,0.89l0.57,0.23l0.78,-0.21l0.85,1.04l0.65,0.11l0.96,-0.48l0.95,0.25l-0.62,1.55l0.94,1.35l1.25,1.27l1.53,-0.21l-0.72,0.78l-0.15,1.13l0.93,1.53l0.64,2.08l1.3,0.28l3.32,3.77l2.15,1.07l0.78,1.07l1.13,0.04l1.41,0.84l1.39,0.08l0.46,1.8l1.32,1.45l1.59,0.7l3.14,0.56l3.3,-1.08l0.01,2.3l0.65,0.82l2.2,-0.0l1.26,1.62l1.5,0.11l1.64,1.8l1.14,0.25l1.17,-0.18l0.27,1.6l0.54,0.81l-1.2,0.5l-1.02,1.21l-0.98,0.1l-1.84,-0.51l-0.38,0.17l-0.33,0.69l-0.03,2.0l0.9,1.74l4.83,1.38l1.12,0.9l1.17,0.45l1.49,1.54l-2.87,2.82l-0.17,0.89l0.34,0.48l0.86,0.17l0.99,-0.3l1.57,0.46l3.34,-0.37l0.94,-0.61l-0.36,1.61l0.94,1.09l0.8,2.1l0.59,0.57l-1.64,-0.24l-0.64,0.35l-0.59,1.61l0.2,1.28l0.98,1.23l3.74,1.55l0.74,1.63l1.03,0.92l-0.41,2.95l-1.35,0.7l-0.35,0.83l0.17,2.6l-0.55,3.61l0.93,2.08l0.11,1.93l2.58,2.4l1.39,0.59l1.1,-0.31l2.7,-2.22l3.3,-1.4l1.27,1.82l0.4,1.65l0.73,0.77l-1.69,4.21l1.1,3.48l-1.02,2.47l0.32,2.94l-1.56,5.71l0.29,0.53l1.83,1.05l2.88,-0.69l1.58,2.31l0.11,0.81l-1.01,1.01l-0.96,2.65l-0.84,1.39l-2.5,7.28l-1.99,1.95l1.13,3.67l1.53,1.25l-0.52,1.84l-1.71,2.58l0.21,2.15l0.35,0.76l1.72,1.46l0.73,1.15l-0.92,1.3l-0.26,0.16l-0.49,-0.36l-0.56,0.34l0.28,1.93l-1.34,2.06l-0.32,1.41l-1.22,0.16l-3.21,-2.34l-3.51,-4.66l-1.64,-1.53l-0.43,-1.0l-3.63,-4.29l-1.58,-2.45l-2.39,-2.02l1.57,-0.71l0.15,-0.44l-0.37,-0.28l-1.08,0.1l0.47,-0.7l1.68,0.13l0.44,-0.23l-0.2,-0.71l0.54,-0.49l-0.28,-0.62l-0.95,-0.03l-0.85,0.6l-1.25,-0.25l-1.31,0.82l-1.58,-3.84l0.32,-0.33l0.19,-1.64l-0.19,-0.41l-0.65,0.2l-0.86,-2.3l-0.74,-0.28l-0.21,0.22l-1.05,-2.39l-1.56,-5.16l-1.24,-10.4l0.63,-0.17l0.66,4.3l0.62,0.34l0.41,-0.52l0.65,0.91l-0.63,1.46l-0.6,2.77l0.13,0.65l0.86,0.47l2.79,0.53l0.73,-0.32l0.81,-0.97l-0.14,-0.62l-1.15,-0.68l-1.47,-0.14l0.28,-0.66l-0.17,-2.85l-0.66,-1.06l-0.37,-2.02l0.45,-1.0l-0.04,-0.85l-1.08,-2.32l-1.52,-1.72l-0.77,0.08l-0.45,-1.39l0.12,-0.52l-0.61,-0.7l-0.27,-1.52l-1.31,-1.45l-0.38,0.26l-0.25,0.92l0.66,1.82l-0.66,-1.68l-0.14,-1.7l1.71,-1.2l0.21,-1.28l-0.71,-0.22l-0.54,-0.77l-0.8,-0.12l0.31,1.86l-0.42,0.47l-0.54,-0.68l-1.44,-5.09l-1.12,-1.55l-0.55,-2.53l-1.35,-1.65l-0.27,-1.2l-2.36,-4.94l0.51,-0.56l-0.14,-0.64l-0.79,-0.34l-0.43,-1.07l-1.9,-7.73l-3.14,-7.29l0.34,-0.6l-0.24,-0.72l-0.61,-0.15l-1.63,-2.78l-1.62,-0.56l-2.42,-6.52l-0.81,-1.13l-3.92,-4.33l-0.84,-0.02l-1.08,-1.51l2.17,0.47l0.48,-0.39l-0.52,-0.81l0.19,-1.18l-0.45,-0.08l-1.02,0.74l-0.61,0.02l-1.17,-1.08l1.13,-0.11l0.25,-0.56l-0.73,-0.93l0.1,-1.21l0.73,-0.02l1.61,-0.9l0.41,-0.84l-0.76,-0.53l-0.97,0.34l-0.9,-0.22l-1.68,1.27l-0.82,-0.2l-0.83,0.31l-0.37,2.56l-1.86,-5.57l0.26,-1.27l-0.48,-0.39l-0.64,0.24l-0.68,-1.84l-3.92,-7.22l-2.86,-6.72ZM250.45,836.37l-0.0,-0.01l0.01,-0.0l-0.0,0.02ZM249.88,834.43l-0.08,-0.57l-0.05,-0.2l0.67,0.8l-0.54,-0.03Z\",\\n      \"name\": \"Kerala\"\\n    }\\n  },\\n  \"height\": 932.9661457393951,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 0.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(103))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'north_america_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 543.9752077221104,\\n    \"bbox\": [{\\n      \"y\": -12658749.920443352,\\n      \"x\": -19602744.043810368\\n    }, {\\n      \"y\": -805507.5274078546,\\n      \"x\": 8293.375346519799\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"PR\": {\\n      \"path\": \"M615.15,486.14l0.49,-0.54l4.41,0.24l0.53,0.27l0.25,-0.21l1.74,0.55l-1.52,1.25l-4.61,0.12l-1.07,-0.1l0.09,-0.95l-0.31,-0.64Z\",\\n      \"name\": \"Puerto Rico\"\\n    },\\n    \"DO\": {\\n      \"path\": \"M591.08,485.11l1.01,-0.94l0.06,-0.79l-0.32,-0.52l0.75,-0.93l-0.5,-0.96l0.16,-2.32l0.47,-0.33l1.59,0.25l1.43,-0.34l1.49,0.7l1.0,0.03l1.26,0.7l1.15,-0.16l0.52,1.4l1.08,0.56l-0.11,0.58l0.36,0.4l3.61,0.67l1.01,0.41l1.54,1.28l-1.42,1.56l-0.98,-0.9l-2.01,-0.22l-2.55,-0.02l-1.32,0.39l-0.84,0.63l-1.29,0.15l-0.9,-0.61l-2.07,0.34l-0.5,0.35l-0.18,0.93l-1.27,1.96l-0.79,-0.55l-0.56,-1.27l0.01,-1.51l-0.9,-0.91Z\",\\n      \"name\": \"Dominican Rep.\"\\n    },\\n    \"DM\": {\\n      \"path\": \"M644.58,500.93l0.23,0.18l0.09,0.55l-0.06,-0.22l-0.26,-0.5Z\",\\n      \"name\": \"Dominica\"\\n    },\\n    \"LC\": {\\n      \"path\": \"M646.75,509.74l-0.11,-0.11l0.12,-0.26l-0.02,0.37Z\",\\n      \"name\": \"Saint Lucia\"\\n    },\\n    \"NI\": {\\n      \"path\": \"M510.73,514.44l0.06,-0.06l0.48,0.45l-0.55,-0.39ZM511.29,514.84l2.51,-0.37l0.5,-0.47l0.25,-0.88l0.89,-0.25l-0.14,-2.33l1.96,-0.04l1.21,-1.35l1.24,0.92l0.61,-0.04l0.37,-0.69l2.63,-1.95l0.14,-1.0l0.59,-0.38l0.22,-0.7l0.41,-0.19l0.96,0.74l1.13,0.1l3.04,-0.79l2.07,-1.05l-0.18,0.72l0.59,0.49l0.48,1.81l-1.11,1.68l-0.43,1.39l-0.38,2.18l0.2,2.87l-1.09,1.22l0.44,1.35l-0.1,0.78l-0.47,0.37l-0.28,0.9l0.84,1.13l-1.07,1.87l0.22,1.13l0.74,1.26l-0.8,0.2l-1.1,-0.22l-0.86,-0.95l-1.68,-0.44l-1.48,0.48l-3.23,-1.18l-0.9,0.36l-3.52,-3.12l-1.96,-2.65l-3.47,-2.91Z\",\\n      \"name\": \"Nicaragua\"\\n    },\\n    \"PA\": {\\n      \"path\": \"M534.6,538.28l0.75,-0.82l-0.31,-1.31l0.78,-0.58l0.11,-0.46l-1.07,-0.96l0.0,-1.44l0.4,-0.43l0.54,0.28l0.65,-0.15l0.56,0.42l0.14,1.01l0.51,0.34l0.2,0.83l0.77,0.44l1.65,0.03l0.34,-0.32l0.89,0.92l1.09,0.25l2.75,-0.57l1.51,-1.01l2.12,-0.65l2.77,-1.97l2.26,0.3l0.98,0.56l2.07,0.1l3.27,1.65l2.03,1.89l-0.23,1.03l1.29,2.33l-0.63,0.53l-0.17,0.77l-0.68,0.51l-0.58,-0.69l-0.66,0.08l-0.06,1.09l-0.55,0.84l-1.99,-3.13l0.67,-0.54l-0.02,-0.64l0.32,-0.26l1.8,1.09l0.45,-0.2l-0.09,-0.48l-1.26,-0.97l-0.37,-0.76l-1.96,-0.04l-0.28,-0.79l-0.59,-0.47l-2.4,-1.47l-0.94,-0.16l-1.58,0.3l-1.08,0.76l-0.56,1.42l-3.31,1.77l-0.0,1.28l2.11,2.54l-1.18,0.19l-0.73,0.74l-1.04,0.23l-0.76,-0.04l-0.82,-3.08l-1.01,-0.08l-0.44,1.11l-0.93,-0.37l-1.33,-2.2l-2.25,-0.36l-0.53,-0.53l-2.23,-0.06l-1.12,0.36Z\",\\n      \"name\": \"Panama\"\\n    },\\n    \"CA\": {\\n      \"path\": \"M656.78,311.04l0.24,-0.16l0.13,0.16l-0.06,0.01l-0.31,0.0ZM658.78,310.96l1.32,-2.86l1.52,0.67l0.57,-0.05l-0.0,-0.7l-0.32,-0.25l0.55,-0.85l-0.37,-0.55l-0.78,-0.11l-0.01,-0.43l0.68,-0.71l0.52,0.35l0.69,-0.05l0.26,-0.5l-0.68,-1.17l2.47,-5.27l0.34,-0.49l1.01,-0.41l-0.52,-0.58l1.07,-0.85l0.3,-1.08l0.98,-0.87l0.58,-1.21l3.2,-1.5l1.41,0.61l-1.62,0.22l-0.31,0.33l0.09,1.0l0.56,0.37l0.56,-0.09l-0.02,0.65l-0.32,0.74l-1.15,0.94l-0.25,0.86l-1.47,1.64l-1.55,2.62l-0.63,1.68l0.3,1.48l0.79,-0.27l2.58,-2.87l-0.18,0.68l0.61,0.29l1.02,-0.45l1.08,0.35l-1.88,0.97l-0.63,0.66l-0.05,0.46l0.42,0.2l0.82,-0.39l-0.88,0.8l-0.11,0.47l0.42,0.23l1.26,-0.37l0.85,0.48l1.18,-0.25l0.13,0.51l0.46,0.11l-0.52,1.07l0.29,0.91l0.78,-0.34l0.4,-0.82l0.44,-0.27l0.43,0.17l2.09,-1.46l0.24,0.94l0.61,-0.04l0.38,-0.45l1.78,-0.12l1.47,0.69l0.15,0.68l-3.03,2.63l0.37,0.32l0.62,-0.03l0.27,0.54l0.87,0.13l-0.19,0.41l-1.53,0.81l0.06,0.7l2.53,-0.72l0.75,0.1l2.07,-0.91l-0.6,0.93l-0.76,0.12l-1.38,0.96l0.04,0.81l-1.32,0.41l-0.3,0.4l0.91,0.43l-0.87,0.95l-1.5,-0.7l-1.22,2.12l-1.09,0.78l-1.18,0.26l-2.01,2.83l-2.45,0.37l-0.43,-0.19l2.21,-0.99l1.54,-1.84l1.6,-0.78l0.59,-0.81l-0.53,-0.5l-0.67,0.25l-2.11,-0.25l-0.43,0.23l-0.29,0.96l-1.25,-0.11l-0.27,-0.14l0.07,-1.7l-0.58,-0.22l-1.36,0.21l-0.6,0.79l-2.63,0.59l-7.46,-0.68l-0.64,-0.33l-1.29,0.62l-2.78,0.2l-0.5,-1.6l3.64,-2.99l1.54,-0.89l-0.39,-0.58l-1.45,-0.08ZM683.12,317.23l0.46,0.3l1.12,-0.2l1.62,-2.14l0.85,-0.39l-0.85,1.7l0.07,1.94l0.68,0.3l0.34,-0.18l1.28,-1.47l0.07,1.34l-1.15,2.05l0.08,0.93l-0.93,1.78l-0.88,-0.43l-1.1,0.47l0.18,-2.74l-0.24,-0.4l-0.74,0.07l-1.14,1.28l-0.93,0.54l1.64,-3.37l-0.42,-1.38ZM673.85,292.06l0.2,-0.08l-0.12,0.07l-0.08,0.01ZM674.16,291.85l0.09,-0.48l0.22,-0.03l-0.24,0.43l-0.06,0.08ZM256.05,238.13l-0.69,-2.13l-5.23,-4.12l-0.56,-1.06l-2.14,-1.13l0.48,-1.39l0.0,-0.49l-0.42,-0.4l-3.05,0.12l-1.57,1.06l-2.25,-0.82l-0.7,0.54l-1.85,-0.48l0.0,-77.04l2.6,0.35l2.21,-0.17l3.93,0.93l2.45,1.75l4.29,2.06l5.91,1.83l3.08,0.07l4.41,1.76l0.43,-0.14l0.11,-0.58l-1.11,-1.39l-2.21,-0.71l1.21,-0.07l0.39,-0.4l-0.33,-0.56l-1.23,-0.44l0.75,-1.21l2.32,-0.3l0.47,-1.23l3.54,-0.11l0.18,-1.79l0.56,0.08l0.76,0.92l0.78,0.27l-1.35,1.86l0.49,0.7l2.46,-1.04l2.68,-0.58l1.62,-1.94l2.06,-0.0l0.47,-0.6l-0.18,-0.29l1.17,0.37l3.66,-1.92l1.51,0.1l1.25,-1.39l1.23,-0.64l3.52,0.35l1.28,-0.92l0.43,0.52l-0.42,0.53l-5.94,3.1l-5.64,1.06l-2.08,2.08l-1.86,0.46l-3.86,3.86l0.39,1.1l1.17,0.42l0.3,-0.06l0.08,-0.79l2.01,0.19l0.99,-0.42l0.31,-0.66l-1.07,-0.46l0.04,-0.94l3.95,-1.82l0.83,-0.85l0.03,-0.48l1.67,0.02l0.4,0.71l1.09,-0.84l0.27,1.88l0.34,0.34l2.66,-3.37l1.91,-1.28l4.38,-1.24l0.14,0.8l0.56,0.59l1.44,-0.45l2.44,-1.95l0.62,-1.38l2.98,-1.38l-0.18,-0.7l-1.35,-0.27l-0.12,-0.64l-0.69,-0.34l0.5,-0.82l3.64,2.43l1.47,2.07l1.28,2.66l2.25,2.14l1.83,1.2l2.05,0.64l1.02,-0.03l1.1,-0.71l0.15,-1.01l-0.88,-1.25l0.55,-0.55l0.12,-0.66l0.6,-0.11l1.52,-1.44l-0.12,-0.81l0.98,-0.67l0.39,3.18l1.31,0.85l-1.65,1.97l0.15,0.73l0.82,0.39l4.5,-0.29l1.65,-1.42l0.86,-2.34l4.68,-0.02l2.67,0.36l2.84,1.02l4.28,2.56l6.5,1.11l3.89,1.9l4.54,1.19l5.97,0.68l0.44,-0.47l-0.48,-0.7l1.35,-0.17l4.04,1.2l2.85,1.63l2.05,2.24l-0.32,0.55l-0.78,0.14l-2.46,-0.19l-0.74,0.73l-1.42,0.6l-0.41,0.59l0.05,0.56l-1.1,0.63l-0.23,0.45l0.26,0.46l1.6,0.75l6.39,0.99l7.16,0.22l1.38,-0.43l3.43,-0.24l1.7,-0.54l1.33,0.23l3.11,-1.4l1.32,-0.29l2.18,2.18l2.91,0.28l0.39,1.57l0.66,0.85l0.65,-0.14l0.62,-1.35l1.27,1.61l1.81,1.27l0.28,0.53l-0.22,0.24l-0.99,0.32l-1.34,-0.35l-0.34,0.65l5.23,5.2l1.33,0.89l0.44,-0.55l-2.32,-2.96l-0.13,-1.58l2.37,0.95l0.58,-0.6l-0.85,-1.22l0.17,-0.74l-1.4,-1.4l-0.46,-2.13l-1.51,-1.59l0.01,-0.65l0.99,-0.81l0.07,-0.92l4.4,-0.79l0.8,-0.75l1.29,0.12l0.33,-1.19l0.52,-0.43l1.15,-0.22l1.11,-0.72l0.47,-0.61l0.09,-0.93l-1.14,-0.54l-0.69,0.11l-2.28,0.98l-0.76,1.31l-1.19,-0.18l-2.15,0.78l-1.63,-0.3l-0.88,0.46l-0.02,0.94l-2.44,0.19l-1.81,-0.99l1.71,-2.3l4.42,-0.69l6.43,-2.05l1.7,0.45l0.83,0.62l1.24,3.34l1.45,1.05l2.14,0.56l0.26,0.98l1.54,0.77l2.48,0.01l2.08,-0.6l3.85,2.58l2.05,0.7l2.17,-0.09l1.68,0.45l5.8,-1.27l3.33,0.21l3.16,0.79l1.37,-0.02l2.63,-0.72l0.25,-0.43l-1.57,-1.85l3.48,3.12l2.53,0.84l1.91,-1.1l-0.03,-1.34l-2.23,-1.35l-1.14,-0.15l-2.0,0.53l-1.11,-1.1l0.26,-0.61l-1.12,-1.54l1.75,0.48l2.12,-0.6l0.18,-0.68l-0.54,-0.57l1.0,0.43l1.15,-0.12l2.05,2.05l2.0,0.12l-0.88,1.3l0.47,0.56l1.08,-0.24l0.56,-0.81l1.47,-0.6l-0.87,3.95l-0.83,1.32l-0.06,0.62l0.95,1.28l0.32,1.05l0.94,0.13l1.01,-0.29l-0.19,0.76l0.5,0.26l0.96,-0.24l0.41,0.33l-0.02,0.83l-1.39,0.18l-1.23,-0.44l-0.92,0.18l-0.94,-0.62l-0.58,0.27l-0.1,0.44l2.85,2.78l0.8,1.19l0.36,-0.26l0.21,-0.94l-1.43,-1.65l1.71,0.28l1.42,-0.42l0.8,-2.84l-0.69,-2.51l-1.27,-1.73l0.9,-2.3l1.37,-0.33l1.28,0.34l0.82,-0.28l4.22,-3.58l2.53,-1.36l-0.26,-0.68l-0.7,-0.04l-0.12,-2.04l-0.93,-1.24l-0.82,0.14l-0.79,1.74l-2.13,0.17l0.15,-0.74l2.48,-2.05l-0.38,-0.56l-0.54,-0.0l-0.03,-0.91l1.89,-0.48l-0.37,0.6l0.15,0.48l0.81,0.23l1.56,-1.19l0.19,-0.28l-0.67,-1.5l-0.9,-0.39l-1.4,0.56l-1.55,0.02l-1.86,-1.76l-0.66,0.01l-0.49,0.58l-3.72,-1.55l-1.9,-0.42l-2.51,-2.79l-0.26,-0.67l0.03,-0.82l1.19,-1.59l2.19,-0.44l-0.46,-0.75l0.38,-0.53l-0.2,-0.62l-1.88,0.48l-1.23,-1.3l0.55,-3.8l1.6,-1.31l1.58,0.79l1.07,-0.11l0.96,-1.59l-0.11,-0.57l-2.13,-0.39l3.16,-2.83l2.78,-0.75l0.45,1.21l0.87,0.79l2.71,0.1l0.12,1.13l2.55,1.65l1.11,1.14l0.66,2.24l-0.42,2.27l3.22,2.05l1.49,2.17l0.08,0.87l0.73,0.28l0.7,-0.47l0.71,0.99l-1.48,0.02l-1.34,-0.79l-0.76,0.11l-0.98,1.21l0.13,0.57l2.33,0.31l-4.26,2.97l-0.03,0.67l0.7,0.22l2.37,-0.2l0.47,0.61l1.73,0.68l1.12,-0.19l1.37,-0.78l-0.48,0.42l0.42,0.6l3.63,0.13l-0.89,1.34l-0.8,-0.38l-0.89,0.14l-0.43,0.33l0.12,0.56l2.43,1.56l1.21,1.84l-0.26,0.42l-0.12,3.3l2.08,2.08l0.54,-0.16l1.51,-2.05l0.11,-1.28l1.08,-3.4l1.81,-2.01l0.82,-0.07l2.04,1.79l2.1,1.27l1.2,1.65l0.76,3.06l-0.13,0.49l-0.37,0.07l-0.46,-0.06l-0.68,-0.78l-0.93,0.52l-0.21,0.66l0.25,2.77l0.67,1.73l3.55,3.57l0.8,1.62l0.95,-0.07l3.66,-2.63l0.88,-2.84l2.31,-2.45l1.14,-3.32l-0.01,-1.62l0.33,-0.44l0.63,-0.57l1.05,0.29l2.08,-0.29l0.35,-0.39l-0.25,-0.53l-0.93,-0.36l0.9,-0.63l0.22,-1.42l-2.63,-1.37l-0.12,-2.73l-0.41,-0.85l0.2,-1.35l1.84,0.36l1.94,-0.41l1.6,0.05l3.26,1.29l5.39,0.09l0.83,0.3l-0.33,0.38l-1.25,0.33l-0.07,0.73l2.21,0.76l0.25,1.19l0.43,0.32l1.43,-0.24l2.63,0.7l-1.12,1.01l-1.68,0.81l-0.27,0.54l0.38,0.46l2.78,0.26l0.44,0.61l-0.08,0.49l-1.13,0.81l-1.87,0.8l-1.52,-0.4l-1.76,0.34l-0.29,0.53l1.76,2.93l0.7,0.23l-0.15,0.92l0.28,0.77l3.89,3.71l-0.82,3.23l-0.71,0.5l-1.49,0.23l-1.75,2.04l-1.9,1.27l-1.67,0.38l-2.16,1.45l-0.54,-0.03l-2.12,-2.9l-1.55,-0.39l0.14,-0.56l-1.48,-1.23l-1.69,-0.52l-1.72,1.18l-0.09,0.44l0.74,0.5l1.04,-0.56l0.77,0.23l2.11,1.88l1.96,3.3l-2.07,-0.67l-0.75,0.35l-0.32,0.53l-0.49,-0.15l-2.31,-0.96l-1.67,-1.72l-1.01,-0.39l-2.48,0.39l-3.36,-0.02l-0.3,0.17l-0.2,1.0l0.36,0.83l3.64,1.76l-0.32,0.62l-5.29,4.88l-1.66,0.74l-2.5,-0.08l-3.43,-2.12l-0.51,-0.63l-1.7,-0.48l-3.46,-1.69l-1.19,0.02l-0.13,0.43l-5.19,-0.71l-2.41,0.2l0.02,0.69l2.02,1.02l0.5,-0.71l5.21,1.13l4.96,3.65l3.97,0.57l4.12,0.16l1.55,0.38l-0.0,0.68l-1.25,1.92l-3.07,3.48l-1.06,1.72l-3.4,1.48l-1.03,-0.28l-0.67,-0.6l-0.65,0.15l0.12,0.68l-0.61,-0.29l-1.07,0.08l-0.57,-0.39l-0.32,-0.75l-1.57,0.22l-0.28,0.14l0.02,0.71l0.71,0.65l-1.07,-0.19l-0.26,0.62l0.7,1.09l-0.59,0.76l-0.8,0.4l-1.21,-0.29l-1.09,0.65l-3.61,-1.16l-1.71,-0.23l-0.52,-0.55l-1.85,0.27l-5.48,-1.93l-1.31,-0.93l-0.5,0.03l-0.08,0.5l0.44,0.75l-0.23,0.99l0.72,0.74l1.61,0.22l0.34,-0.54l4.56,1.46l-1.17,0.81l0.4,0.59l1.07,-0.12l2.07,-1.02l2.44,1.47l1.85,0.53l1.11,0.86l0.1,1.45l-0.31,0.8l-1.57,0.34l-1.62,0.92l-2.98,-0.47l-1.69,0.35l-0.39,0.27l-0.04,0.59l0.94,0.99l-1.63,0.36l-1.31,1.88l-1.87,-0.48l-0.25,0.69l1.26,0.76l-0.68,0.6l0.09,0.44l-1.47,0.33l-0.01,0.6l-0.82,-0.08l-0.39,0.58l1.08,1.25l-1.64,0.94l-1.13,1.07l0.05,1.11l-0.84,0.17l-0.03,1.45l-2.23,4.08l-1.17,0.68l0.04,0.68l0.37,0.34l-0.7,3.5l-0.01,5.16l-0.3,1.07l-0.57,0.49l1.02,0.63l0.53,1.11l0.62,0.13l1.29,1.07l-0.25,2.83l0.31,0.39l0.76,-0.81l0.7,-2.56l4.24,0.09l0.33,1.62l3.37,8.51l-0.53,1.32l-1.14,1.18l-0.15,0.57l0.82,0.14l1.49,-0.76l0.08,0.44l0.41,0.02l6.25,-1.94l2.47,0.12l4.07,1.77l4.85,1.18l3.83,2.51l3.13,3.27l9.15,2.98l2.17,1.67l-0.75,1.54l0.23,0.54l1.78,-1.44l2.7,0.19l3.05,-0.4l3.54,0.71l1.2,-0.11l0.61,0.5l1.37,0.06l0.83,0.51l0.74,1.46l-1.04,4.04l0.98,1.59l0.46,1.45l-0.25,1.45l0.17,2.22l-0.69,1.78l0.29,0.77l3.29,3.54l-0.0,0.28l-1.05,0.64l0.01,0.64l1.82,0.13l2.56,1.59l1.5,1.37l1.01,2.14l-1.96,1.65l-0.07,0.46l0.86,0.1l1.98,-1.26l1.2,0.29l1.23,0.67l2.44,2.71l0.51,0.12l0.19,-0.49l-0.21,-0.57l-1.74,-2.01l0.2,-1.08l0.87,-1.35l0.49,-0.24l1.27,0.9l0.64,1.69l0.44,0.24l1.21,-2.46l-1.2,-1.65l0.61,-1.19l1.76,-1.94l0.1,-0.73l-0.45,-1.48l-0.89,-1.02l0.11,-1.38l-0.9,-1.3l-1.03,-4.24l0.24,-0.73l0.57,-0.34l-0.59,-0.76l0.3,-0.66l-0.8,-0.63l0.03,-0.54l-1.48,-1.22l-1.03,-2.08l6.63,-2.52l2.75,-1.62l2.33,-1.91l3.53,-4.05l0.69,-3.04l-0.23,-5.08l-1.67,-4.35l-1.46,-2.05l-2.07,-1.67l-2.34,-1.18l-2.38,-1.8l0.34,-1.38l3.43,-3.62l-0.34,-0.91l0.52,-0.69l-0.0,-0.5l1.1,0.73l0.62,0.0l0.12,-0.71l-0.48,-0.53l0.73,-0.78l-0.2,-0.92l0.37,-0.63l-0.14,-0.59l-0.79,-0.22l0.09,-0.54l-1.07,-1.89l0.66,-0.61l0.11,-0.65l-1.31,-0.5l0.71,-0.88l0.13,-0.69l-2.51,-0.14l1.87,-2.46l-0.03,-1.74l1.04,-0.86l-0.06,-0.65l-2.44,-2.01l-0.55,-2.03l0.01,-1.22l1.01,-0.91l2.5,-1.09l2.42,0.36l5.34,1.64l0.02,0.98l0.49,0.08l2.07,-0.99l1.55,0.36l1.89,1.12l0.46,-0.02l0.05,-0.79l4.4,-1.95l4.02,2.66l1.01,0.05l-0.03,0.81l-0.51,0.86l0.32,0.6l1.38,-0.62l1.18,0.61l0.73,0.85l-0.72,0.26l0.06,0.82l1.3,-0.12l0.69,-0.56l0.74,0.36l-1.03,1.04l0.6,0.65l0.07,0.56l1.7,1.44l3.75,0.87l2.24,-0.1l0.33,0.16l0.37,1.14l0.86,0.33l1.48,-0.45l0.66,-1.1l0.15,0.15l0.31,0.95l-1.13,1.09l-0.66,1.77l0.06,1.31l0.56,0.95l-0.11,0.65l-1.22,0.34l-3.47,-0.06l-0.39,0.59l0.48,0.52l4.32,0.42l0.64,1.5l-0.57,1.4l0.08,1.31l1.62,0.28l-0.46,0.71l0.13,0.78l-0.48,1.39l-0.17,0.13l-0.55,-0.84l-0.42,-0.04l-0.52,0.8l-1.31,0.42l-0.31,0.44l0.35,0.56l2.09,0.51l2.62,-1.45l2.77,-0.13l1.28,0.95l0.27,1.05l0.46,0.5l-0.39,2.0l-0.65,0.93l-2.88,1.11l-0.2,0.44l0.55,0.43l3.32,-1.18l1.62,-3.09l0.4,0.88l-0.81,1.02l-0.02,0.48l0.74,0.05l1.06,-1.18l0.08,2.11l0.79,0.03l0.47,-1.5l2.7,-1.56l1.58,-0.47l1.75,-2.18l1.1,1.16l0.11,1.17l0.41,0.37l0.42,-0.23l0.44,-1.26l-0.61,-1.55l0.95,-0.31l-0.12,-0.77l2.09,-0.44l0.43,-0.42l-0.22,-0.52l-1.22,-0.49l0.57,-0.79l0.75,-0.19l-0.26,-0.9l1.38,0.68l0.55,-0.04l-0.01,-0.81l-1.73,-0.99l-0.27,-0.46l0.18,-0.84l1.88,0.24l0.04,-0.77l-0.54,-0.57l1.18,-2.54l0.73,-0.46l0.9,0.45l0.21,0.29l-0.36,0.38l-1.22,0.63l0.02,0.67l0.54,0.14l1.95,-0.48l0.33,0.44l-0.04,1.96l0.96,-0.46l1.12,1.85l-0.73,0.43l-0.04,0.78l0.86,0.35l0.36,0.62l0.96,-0.45l0.39,0.65l-0.8,0.51l-1.66,0.19l-0.21,0.63l0.47,0.35l0.75,0.0l2.14,-0.4l0.42,1.6l1.14,-0.04l0.52,0.98l-2.36,1.42l-0.92,1.42l0.7,0.24l1.4,-1.0l0.38,0.4l2.2,-0.61l-0.85,1.46l-2.32,1.41l0.11,0.66l0.57,0.08l1.19,-0.66l2.15,-0.43l1.05,1.35l1.62,0.38l-0.28,0.54l0.17,1.08l-2.74,1.0l0.08,0.46l0.74,0.41l2.29,0.17l-0.36,1.21l0.76,0.45l1.11,0.09l1.27,1.06l-0.18,1.92l-3.04,-0.21l-1.02,-0.32l0.12,-0.37l-0.75,-0.31l-0.88,0.31l-0.07,0.62l0.68,0.62l2.26,1.04l-0.38,0.25l0.01,0.67l1.7,0.46l-0.37,0.79l0.32,0.42l1.53,0.09l0.12,0.57l-0.61,0.46l0.28,0.58l1.31,0.29l0.63,0.66l0.73,-0.04l0.69,-0.53l0.91,1.27l0.7,0.15l0.32,-0.31l-0.12,0.91l0.84,0.96l-0.69,0.62l-1.3,2.52l0.73,0.16l1.8,-1.21l2.09,-0.48l0.33,0.75l0.56,0.16l-1.39,1.57l0.03,0.96l0.49,-0.09l2.8,-2.58l0.86,0.21l1.34,2.32l2.01,0.47l1.95,-0.75l0.26,0.68l0.55,0.41l1.85,0.64l-1.09,0.97l-2.28,0.26l-1.71,1.02l-0.88,1.11l-1.35,0.1l-2.96,1.39l-1.64,0.0l-1.4,0.81l-0.33,0.82l-1.41,-0.26l0.04,0.76l1.13,0.68l-0.73,0.54l-0.18,1.19l0.47,0.2l1.05,-0.34l1.55,-1.32l2.63,-0.99l3.39,-2.32l3.51,-0.77l0.4,-0.32l-0.25,-0.51l2.26,0.29l1.26,2.19l-1.96,1.23l1.01,1.23l0.6,0.16l2.4,-1.83l1.49,-0.17l0.72,0.96l1.2,0.27l0.6,0.66l0.78,1.63l-0.44,1.24l0.27,2.43l-1.96,0.29l-0.47,0.35l0.26,0.65l1.4,0.05l1.33,0.34l-0.97,-0.15l-0.5,0.47l1.71,1.31l-1.59,1.48l-4.84,3.17l-2.37,-0.11l-1.65,0.32l-1.29,0.7l-2.55,0.22l-3.41,3.52l-2.25,1.91l-0.97,0.46l-0.48,0.73l-0.8,0.33l-3.77,0.05l-4.42,0.89l-1.11,-0.81l-4.08,-0.46l-2.14,0.05l-0.64,0.34l-3.0,-0.47l-1.69,0.29l-5.65,-0.32l-2.45,0.39l-0.91,-0.22l-1.05,0.58l-1.88,-0.04l-2.55,1.65l-2.07,4.12l-4.56,0.99l-0.13,0.55l-1.32,0.44l-0.71,0.8l-1.32,0.75l-2.3,2.93l-1.33,1.09l-3.44,-1.1l-3.24,-0.58l-0.45,0.28l0.22,0.48l1.04,0.61l1.7,0.09l3.09,1.13l0.23,0.25l-0.56,1.43l-2.75,2.62l-1.27,1.77l-2.82,2.17l-3.13,0.72l-1.57,0.78l-0.43,0.56l-2.01,1.18l-1.57,0.52l-2.55,2.99l-1.26,0.24l-1.49,1.23l-1.29,-0.17l-0.42,0.25l0.49,0.71l1.03,0.33l-3.3,2.06l-2.49,0.72l-4.4,3.31l-3.91,1.27l-0.96,-0.27l-1.58,0.17l-2.14,1.04l-6.38,0.99l-2.53,1.38l-1.68,2.1l0.01,0.6l0.45,0.44l1.11,0.28l1.08,0.06l0.91,-0.36l0.04,0.88l0.42,0.72l-3.34,0.06l-2.12,0.38l-1.07,0.45l-0.95,0.9l-2.64,-0.5l-1.98,0.21l-1.83,1.2l-0.6,0.82l-2.32,0.91l-1.0,0.92l-0.54,-0.22l-1.37,0.2l-0.61,-0.26l0.18,-0.8l2.53,-0.09l0.68,-0.39l0.13,-1.1l-0.79,-0.44l0.78,-2.45l1.55,-0.69l1.92,-1.75l0.1,-4.34l0.78,-1.67l1.41,-1.59l0.12,-1.23l0.36,0.43l0.8,-0.25l0.02,1.05l0.6,0.02l0.81,-0.51l1.0,0.84l2.05,0.6l0.55,-0.25l0.31,-0.62l0.03,-0.68l-0.45,-0.69l0.92,0.49l0.89,-0.02l0.21,-1.13l-1.71,-1.38l-0.3,-2.04l-1.42,-0.13l-0.26,-1.25l-0.29,-0.24l-0.28,0.2l-1.61,-2.21l-1.6,-0.04l-0.32,-0.43l-1.74,0.11l-0.13,-0.57l-0.61,-0.22l-0.47,0.28l-3.25,-0.75l-3.4,0.07l-2.15,-0.35l-3.0,-0.71l0.1,-0.66l-0.59,-0.67l-1.78,0.27l0.89,-2.17l-0.58,-0.52l-1.42,-0.24l0.86,-1.76l-0.23,-0.63l-1.85,-1.48l0.76,-2.22l-0.95,-0.36l-3.27,0.13l-1.34,-0.5l-0.87,-1.06l-0.89,-2.49l-0.68,-1.02l-1.66,-0.59l-2.78,0.19l-4.12,-1.47l-1.46,0.2l-0.04,1.04l-1.15,-0.12l-0.86,1.84l-0.5,-0.21l-2.39,1.05l-0.65,2.02l-1.0,0.71l-1.56,0.04l-1.03,-0.79l-3.19,0.08l-0.92,-0.67l-3.05,0.98l-2.47,-1.58l-1.0,-0.25l-0.98,0.29l-0.49,-0.89l-2.57,-1.17l-2.14,-0.05l-1.59,0.59l-1.69,-0.85l-2.84,-0.54l-0.73,-1.49l-0.37,-2.15l-1.76,-0.53l-0.45,0.39l-0.03,2.1l-140.63,-0.01l-0.67,-0.48l-0.6,-0.01l-0.59,-0.64l1.16,-0.19l0.43,-0.84l-0.17,-0.47l-0.9,0.44l-0.84,-0.16l0.25,-2.07l-0.58,-0.02l-0.81,0.86l-0.02,0.58l-0.68,0.29l-1.29,-0.43l1.19,-0.58l0.22,-0.64l-1.15,-0.05l-0.34,-0.33l-0.1,-1.34l0.61,-0.84l-0.65,-0.85l-0.73,-0.1l-0.15,0.61l0.3,0.38l-0.51,1.13l-0.66,0.48l-1.08,0.07l-1.61,-1.39l-1.33,-2.45l0.92,-1.44l-0.19,-2.02l-0.86,0.5l-0.14,1.13l-0.46,0.8l-1.75,0.06l-0.06,-0.67l-0.7,-0.23l-0.41,1.1l-0.46,-0.29l-1.61,0.07l-0.5,-0.12l1.52,-0.34l0.29,-0.63l-0.74,-0.35l-2.24,0.29l0.53,-0.54l-0.2,-0.57l-0.39,-0.11l-0.09,-1.1l-0.37,-0.3l-0.78,0.97l-1.94,0.31l-1.4,-0.48l-1.6,-1.25l0.33,-1.43l1.02,-1.15l3.36,-0.5l0.5,-0.51l-0.38,-0.35l-3.35,-0.03l-0.82,0.33l-0.86,1.11l-0.53,-0.9l-0.06,-0.81l0.63,-1.05l-0.55,-0.62l0.21,-0.7l1.66,-1.02l0.64,-0.17l0.45,0.48l0.74,0.14l1.48,1.57l0.56,-0.56l-1.16,-1.72l-1.26,-0.93l1.22,-1.51l-0.29,-1.21l-0.41,-0.21l-0.39,0.44l-0.11,0.97l-2.27,1.99l-1.47,0.56l-1.2,2.62l-0.8,-1.38l1.28,-0.86l0.08,-1.11l0.46,-0.49l0.08,-0.49l-0.48,-0.23l-1.0,0.62l0.86,-2.47l-0.35,-0.64l-1.64,0.41l-0.44,-1.87l-0.76,-0.8l-2.1,-0.85l-0.32,-0.81l0.75,-0.84l-0.19,0.51l0.3,0.54l1.84,0.96l1.12,-0.26l0.82,0.23l1.03,0.96l0.48,0.03l0.05,-0.83l-1.03,-1.04l-0.64,-0.31l-1.46,0.06l-0.64,-0.41l-0.38,-1.0l1.0,-0.53l0.02,-0.67l-1.11,-0.5l-1.6,0.67l-1.29,1.41l-0.32,1.64l-1.24,0.75l-1.65,-1.89l-1.61,-0.63l-0.17,-0.22l1.09,-1.44l0.21,-1.03l1.2,-0.23l0.84,-0.45l0.2,-0.44l-1.23,-0.35l-1.45,0.35l-1.39,-1.23l0.33,-1.48l0.66,-0.51l1.68,-3.09l1.64,-2.07l0.04,-0.46l-0.93,-0.05l-0.59,-0.84l-0.47,0.43l-0.13,1.4l-0.55,-1.98l0.36,-2.76l-0.45,-0.87l-1.65,-0.2l-0.52,-0.83l-0.76,-0.21l-0.59,-0.59l-1.71,-0.46l-2.46,-1.38l-1.1,-0.01l-0.44,-1.43l-0.87,-0.33l0.27,-0.88l-0.29,-0.5l-1.03,-0.25l0.25,-0.83l-5.99,-8.32l-0.05,-0.73l-2.12,-2.18l-2.41,-1.43l-0.86,-1.5l-2.47,-1.46l-0.53,-0.94l-0.07,-1.29l-2.58,-1.69l-2.31,0.98l-1.94,0.43l-0.24,0.62l0.24,0.43l-0.63,0.05l-0.42,0.4l-0.0,1.25l-0.4,0.68l-1.15,0.06l-2.87,1.59ZM487.59,210.08l0.47,0.08l0.0,0.0l-0.21,0.06l-0.27,-0.14ZM564.27,340.47l-1.87,-0.22l-0.02,-0.17l0.48,-0.17l0.59,0.26l0.41,-0.33l0.41,0.64ZM507.25,309.52l0.4,0.45l-0.55,0.63l0.24,-0.47l-0.09,-0.61ZM325.09,304.42l-0.29,-0.32l-0.04,-0.19l0.27,0.37l0.06,0.14ZM543.35,335.39l-0.36,-0.67l-0.03,-0.4l0.7,0.69l-0.31,0.37ZM542.65,333.85l-0.26,-0.09l-0.68,-0.9l0.67,0.03l0.27,0.96ZM645.85,327.78l0.37,0.89l-0.43,0.9l0.52,0.4l-1.01,0.11l-0.61,-0.67l-0.15,-1.92l3.02,-4.56l1.57,-1.23l0.49,1.27l-0.86,3.02l-2.9,1.79ZM646.83,329.86l1.35,-0.19l1.4,-1.28l0.15,-0.27l-0.66,-0.51l0.08,-0.49l0.84,-0.82l0.61,0.61l1.45,0.12l-0.28,0.33l0.09,0.64l-2.28,1.6l-1.36,0.38l-1.4,-0.1ZM578.3,333.68l3.21,-1.7l1.2,-0.29l0.55,-1.42l1.51,-2.31l2.14,-1.07l3.12,-2.31l4.24,-1.28l3.95,-1.86l2.29,-2.22l3.11,-3.86l3.21,-2.52l2.97,-1.72l8.34,-3.28l2.08,-0.56l3.3,-0.35l3.38,0.48l2.6,1.56l-0.83,-0.03l-0.4,0.31l1.35,1.26l-0.38,1.24l-1.45,0.45l-0.88,1.01l-2.17,1.12l-3.51,-1.04l-0.71,0.49l-1.93,-0.05l-1.31,0.63l-0.22,0.41l0.69,0.42l1.33,-0.33l2.57,0.96l1.21,1.55l0.9,-0.07l2.03,-0.95l0.15,0.27l1.09,0.15l-0.78,2.0l-1.95,1.61l0.01,0.65l0.74,0.38l1.49,-0.17l-0.14,1.41l0.34,0.8l0.48,0.31l0.54,2.07l0.72,0.8l2.8,0.42l-0.46,0.22l0.02,0.73l1.73,1.0l1.12,-0.04l1.26,0.79l2.45,-0.03l0.32,0.69l1.55,0.11l2.33,-1.33l0.83,1.1l1.74,0.01l0.56,0.78l-0.84,0.82l1.18,0.35l-10.3,3.71l-1.72,-0.13l0.09,1.16l-0.72,-0.13l-0.89,-0.83l-0.79,0.48l-1.03,0.07l-0.5,0.89l0.21,0.69l-2.83,2.82l-0.95,0.73l-0.87,0.09l-1.07,1.15l-0.84,-0.05l-0.86,-1.44l-0.69,-0.28l-0.49,0.19l-0.31,-1.51l0.43,-1.55l1.12,-1.2l-0.1,-0.27l1.32,-0.37l0.62,-0.48l0.04,-0.54l3.68,-2.1l1.43,-0.44l0.36,0.72l1.41,0.69l0.23,-1.23l1.62,-0.55l1.6,-0.12l0.66,-0.7l-0.33,-0.32l-3.78,-0.29l-2.54,0.0l-1.02,0.43l2.79,-2.54l-0.4,-0.59l-0.65,0.11l-0.63,-0.7l-0.68,0.19l0.13,0.86l-0.69,0.82l-5.53,2.61l-0.5,-0.27l0.14,-0.85l-0.48,-0.07l-0.8,0.52l0.01,0.77l-1.08,0.62l-0.55,-0.2l-1.52,0.43l-0.32,-0.46l-1.68,-0.35l-0.49,0.18l-0.33,-0.33l0.18,-0.5l-0.25,-0.66l0.32,-0.53l-0.35,-0.98l-0.89,0.02l-0.65,-0.52l-0.24,-8.63l-2.39,-1.79l-3.51,0.89l-0.33,-0.21l-0.29,-1.19l-0.99,-0.24l-0.41,0.15l-3.9,4.86l-0.37,1.79l-0.94,1.31l-0.23,2.12l-0.64,1.04l-1.36,1.13l-0.1,0.78l-0.68,0.6l-2.43,0.29l-0.93,1.64l-14.28,0.02ZM496.0,27.1l3.35,-1.66l0.31,-0.49l-0.37,-0.56l-4.18,-0.25l-3.36,1.02l-1.46,-0.71l3.39,-1.64l2.27,-0.6l5.68,-0.49l4.18,-1.79l2.5,-0.43l3.17,0.48l1.97,1.18l1.27,-0.9l0.94,-0.19l2.24,0.3l2.65,0.9l3.16,-0.35l0.35,-0.65l-0.85,-0.63l-6.44,-1.82l3.18,-0.74l2.72,-1.44l1.82,-0.52l2.56,0.92l3.91,0.58l2.93,2.27l2.03,0.85l1.5,0.16l0.55,-0.56l-0.19,-0.52l-1.84,-1.01l0.55,-0.15l4.81,1.56l7.31,1.77l3.91,1.53l0.19,-0.69l-1.15,-1.03l-2.61,-1.21l-6.82,-2.03l-2.67,-1.05l-2.04,-1.28l3.74,-1.06l-0.11,-0.68l-1.68,-0.72l1.97,-0.08l3.97,0.83l0.32,-0.81l-1.67,-1.59l0.42,-0.15l1.68,0.12l3.01,0.8l5.37,0.4l1.46,-0.06l0.36,-0.27l-0.51,-0.7l-4.3,-1.14l-1.87,-1.04l0.54,-0.14l3.53,0.07l3.32,0.53l2.91,-0.19l2.37,0.28l5.32,2.65l1.29,1.42l1.15,0.33l2.32,-0.94l0.12,-0.62l-7.44,-4.47l6.23,-0.44l6.73,0.43l1.02,0.28l2.48,1.72l2.24,1.04l3.22,0.66l0.45,-0.23l-0.13,-0.48l-2.97,-1.57l-0.86,-0.63l0.11,-0.46l2.8,-1.2l3.69,-0.31l5.68,2.59l0.48,-0.26l-0.15,-0.59l-1.92,-0.97l2.09,-0.67l4.54,-0.23l2.46,1.27l5.48,0.15l2.51,0.62l7.0,0.21l-1.54,0.77l-7.83,1.81l-0.78,0.73l0.37,0.32l5.55,-0.19l8.49,-2.2l2.16,0.53l1.18,-1.17l0.77,-0.12l2.14,1.56l2.67,-0.64l1.92,0.29l-0.53,0.59l0.08,0.48l2.72,1.77l-0.84,1.08l0.51,0.56l3.88,-0.86l3.89,0.38l1.02,0.24l1.1,1.25l-0.2,0.46l-4.48,2.84l-7.16,2.42l-4.93,1.36l-3.46,-0.09l-2.36,1.18l-4.67,0.35l-1.61,1.63l-9.01,2.31l-0.43,0.62l0.3,0.55l1.04,0.16l14.35,-2.99l4.25,-0.03l-3.19,1.81l-4.21,1.66l-2.15,1.28l-9.73,4.33l-4.68,3.48l-0.81,0.17l-1.92,-0.33l-2.54,-1.54l-0.82,-0.03l0.18,0.86l2.15,2.64l-5.97,1.0l-2.29,0.07l-1.02,0.52l0.21,0.65l2.39,0.43l3.84,-0.6l1.0,0.18l-0.61,0.51l-2.99,0.99l-0.27,0.42l1.14,0.6l-1.05,0.73l-2.88,0.69l-2.27,0.08l-5.2,-1.54l-3.52,-0.6l-1.39,0.06l-1.46,0.47l-0.27,0.37l0.94,0.63l5.35,0.66l1.06,1.12l-0.04,0.66l-0.83,0.46l-2.08,-0.07l-1.67,0.42l-6.62,0.57l-2.83,-0.67l-4.28,-0.45l-0.34,0.65l0.49,0.42l2.68,0.8l1.07,1.06l2.53,0.96l2.69,0.44l2.76,-0.31l-0.17,1.34l-3.18,0.09l-3.57,-0.93l-7.56,0.68l-6.05,-0.2l-0.34,0.58l0.43,0.45l3.38,1.26l7.04,-0.91l2.17,0.42l1.56,1.1l3.46,0.34l2.97,1.2l-0.4,0.83l-1.44,0.72l-7.92,0.41l-0.22,0.42l0.33,0.33l5.66,1.6l-1.51,1.01l-1.54,2.23l-0.36,0.13l-1.87,0.02l-3.17,0.7l-2.47,-0.22l-3.19,0.21l-0.42,1.31l0.06,3.42l-0.89,0.96l-0.99,0.44l-7.1,0.73l-3.31,-0.16l-5.54,-2.28l-0.47,0.72l1.48,1.45l-3.14,0.31l-0.43,0.41l0.13,0.44l1.2,0.78l1.8,0.05l2.11,-0.59l2.11,0.25l2.39,1.07l1.64,-0.5l2.02,-0.02l0.58,0.29l0.15,1.92l0.64,0.56l2.29,0.59l2.47,-1.02l1.24,1.14l0.06,0.77l-1.34,1.71l-6.19,2.73l-5.96,1.39l-1.06,-0.05l0.8,-1.99l-0.92,-1.01l-1.24,-0.51l-2.63,0.2l-1.61,-1.42l-1.35,-0.25l-1.14,-0.73l-0.48,0.09l-0.03,0.49l1.53,2.13l-7.97,0.13l-1.55,-2.18l-0.43,-0.17l-0.3,0.36l-0.24,3.06l-4.06,0.5l-2.63,-0.45l-2.16,-0.88l-1.79,-1.62l-0.99,0.87l-0.53,1.25l-2.93,-0.64l-0.61,-1.28l-0.45,-0.22l-0.32,0.38l-0.03,1.69l-3.89,-0.18l-0.42,-3.51l-0.32,-0.38l-0.44,0.22l-0.6,1.3l0.28,2.07l-4.37,-0.54l0.1,-1.41l0.2,-1.56l5.37,-2.86l5.22,-0.34l2.97,-0.57l-0.01,-0.7l-1.38,-1.26l-1.84,-0.54l-1.6,-1.42l-1.46,-2.24l0.22,-0.39l1.18,-0.5l3.6,-0.59l3.11,0.88l1.0,0.63l3.01,3.13l4.6,1.16l3.97,-0.33l1.98,-0.6l3.69,-3.23l1.32,-1.87l0.37,-1.18l-0.15,-0.42l-0.44,-0.02l-4.29,4.09l-1.7,0.92l-1.79,0.09l-1.82,-0.41l-1.82,0.65l-1.75,-0.49l-0.01,-1.99l-1.13,-1.69l4.32,-2.68l1.82,0.22l0.45,-0.29l-0.24,-0.48l-1.61,-0.81l-1.55,0.04l0.55,-2.69l-0.26,-0.46l-0.49,0.19l-1.2,2.35l-1.9,1.78l-0.74,0.32l-2.32,0.23l1.08,-2.27l-0.13,-0.48l-4.31,2.07l-3.09,0.19l-0.7,-0.32l0.24,-2.29l2.65,-2.66l0.7,-1.15l8.93,-1.51l8.82,1.59l1.6,-0.83l4.3,-0.24l1.99,-1.01l0.31,-0.44l-0.36,-0.59l-3.55,0.81l-8.63,-0.63l-1.2,-0.36l-0.52,-0.52l1.06,-0.17l2.23,0.72l1.66,-0.19l-0.53,-0.86l-2.77,-1.56l-5.5,-5.05l-4.02,-0.72l-1.73,-1.25l-0.35,-1.87l-0.57,-1.18l0.49,-1.3l0.76,-0.56l5.71,0.54l5.62,0.11l1.62,0.37l5.29,2.74l5.07,3.57l3.47,0.87l3.03,0.07l1.86,-0.76l0.21,-0.42l-1.17,-0.44l-3.62,-0.15l-4.24,-3.0l-2.43,-1.29l-3.08,-2.41l1.89,-0.48l7.98,-0.83l4.75,-0.99l2.3,-1.45l6.21,-1.59l7.78,-0.96l0.37,-0.4l-0.31,-0.54l-9.12,-0.71l0.29,-0.64l1.63,-1.39l3.78,-1.83l2.67,-0.83l0.74,-0.54l0.13,-0.49l-0.45,-0.23l-5.56,1.21l-3.99,2.21l-2.4,0.42l-1.15,1.07l-0.74,1.53l-0.97,0.69l-1.86,0.91l-4.42,1.28l-6.9,1.1l-1.79,-0.07l2.84,-1.74l0.1,-0.46l-0.4,-0.24l-6.14,0.72l-4.12,2.07l-4.64,0.19l-2.86,-0.69l-2.72,0.17l-1.51,-0.55l1.64,-1.37l5.04,-2.33l2.85,-0.64l6.78,-0.73l0.61,-0.74l-0.38,-0.6l-12.82,1.37l-2.39,1.05l-5.53,3.31l-1.82,0.15l-6.07,-1.76l-1.32,-0.81l3.82,-0.73l5.23,0.13l4.71,-0.57l7.2,-2.57l0.96,-0.95l-0.36,-0.3l-2.47,0.02l-2.47,0.55l-3.78,1.42l-3.27,0.49l-8.21,0.27l-2.62,0.4l-1.03,-0.08l-1.47,-0.87l1.76,-0.68l1.63,-0.19l0.5,-0.53l-0.29,-0.35l-1.77,-0.51l4.73,-1.76l5.06,-0.09l0.48,-0.42l-0.3,-0.57l-4.61,-0.48l-2.61,0.29l-6.71,1.69l-0.8,-0.14ZM501.93,137.7l3.09,0.16l4.35,0.94l3.48,-0.41l0.44,-0.35l-0.17,-0.65l-3.69,-1.82l-6.24,-0.77l-3.05,-1.24l-0.6,-0.47l-0.86,-3.8l0.37,-1.05l1.44,-1.22l-0.29,-0.64l-0.71,-0.42l-0.02,-1.35l2.55,-3.74l0.65,-2.9l1.17,-1.3l1.05,-0.56l0.38,-0.95l2.67,-1.85l2.22,-1.22l4.78,-1.08l4.09,-0.16l4.19,0.41l0.43,0.27l0.07,0.2l-3.53,2.24l-1.71,1.54l-3.23,4.34l-0.27,1.35l0.41,1.1l1.34,1.84l-0.09,3.18l0.71,2.35l2.45,2.51l3.44,2.33l-1.55,0.89l-2.75,0.6l-2.76,1.15l-0.59,0.3l-0.11,0.64l0.58,0.31l1.17,-0.26l3.43,-1.26l2.62,0.0l0.12,0.78l0.99,0.59l0.7,-0.34l0.27,-0.77l0.64,-4.92l-0.43,-0.63l-0.72,-0.26l-2.46,-0.32l-1.25,-1.54l-1.23,-0.95l1.4,-0.68l1.0,-1.19l1.39,0.13l3.42,1.58l0.35,0.08l0.49,-0.5l-0.44,-0.64l-2.25,-1.66l0.81,-0.36l-0.16,-0.8l-1.26,-0.3l-1.49,0.22l-0.99,-0.47l-1.09,-1.48l-0.09,-1.36l0.82,-1.22l0.71,-0.19l5.04,1.5l0.51,-0.47l-0.34,-0.67l-5.67,-2.19l1.93,-1.95l1.95,-0.5l1.04,-0.65l1.5,-0.03l1.52,0.4l0.52,-0.41l-0.56,-0.88l2.15,-0.83l3.77,-0.96l3.56,-0.0l1.65,0.32l1.14,0.81l1.03,2.85l0.65,0.68l2.07,1.12l0.1,1.93l1.46,1.5l-4.78,4.17l0.12,0.73l0.44,-0.01l2.48,-1.63l-1.43,1.64l-0.09,0.52l0.57,0.55l-0.63,0.78l0.25,1.67l1.07,-0.18l2.16,-2.12l0.94,-0.52l1.43,0.32l0.26,-0.66l-1.02,-1.19l1.01,-0.71l1.08,1.21l1.07,-0.19l0.5,-0.41l1.16,0.83l0.11,2.32l1.26,1.12l1.16,0.53l0.35,-0.73l-1.35,-1.84l0.19,-1.34l0.38,-0.51l1.21,0.61l1.54,0.0l2.07,0.96l1.07,0.02l0.4,-0.5l-0.4,-0.68l-3.73,-1.32l-0.8,-0.79l0.49,-0.83l2.92,-1.16l4.25,0.04l3.59,1.43l2.46,0.01l1.98,0.83l0.75,0.84l0.32,1.07l-1.6,1.63l-0.85,0.41l-1.93,2.71l0.21,0.68l0.86,-0.35l1.18,-1.67l2.16,-1.28l1.15,-0.33l1.84,0.13l1.02,0.29l0.23,0.42l-0.39,0.87l-2.78,1.05l-1.56,0.15l-0.33,0.55l0.36,0.4l1.87,0.2l-0.53,1.05l0.13,0.93l-0.93,1.54l0.33,0.69l0.47,-0.05l1.21,-1.13l0.88,-2.39l0.48,-0.5l1.57,-0.24l1.43,-0.84l0.25,0.05l-2.3,2.75l-0.04,0.48l1.14,-0.04l1.63,-1.32l0.91,0.71l0.52,1.05l1.52,0.88l0.16,-1.02l-0.51,-1.46l1.66,-1.15l1.4,0.58l3.67,0.46l2.01,0.87l0.96,0.88l0.17,0.67l-1.27,1.13l-2.28,0.12l-3.44,2.34l-0.27,0.61l0.37,0.25l1.88,-0.1l1.5,-1.64l1.14,-0.26l1.79,0.63l1.09,-0.0l1.67,-1.16l0.62,0.32l0.1,1.09l-0.52,0.81l-1.25,1.03l-2.92,1.03l-1.49,1.2l-0.02,0.7l1.05,0.39l1.45,-1.41l0.44,0.19l-0.77,3.17l0.41,0.51l0.44,-0.19l2.15,-4.12l0.58,-0.51l1.42,-0.84l2.96,-0.95l1.24,0.54l2.57,0.17l3.44,1.42l0.46,0.69l-1.99,1.23l-2.51,0.41l-2.13,0.84l-1.85,1.09l-0.18,0.63l0.33,0.37l1.51,-0.05l1.6,-1.04l3.34,-0.39l-1.32,1.39l0.14,0.64l1.7,0.32l1.26,-1.09l1.5,-0.59l-0.04,-0.73l-0.31,-0.17l0.85,-0.81l0.9,0.28l2.4,2.17l0.78,1.46l-0.03,0.73l-2.63,-0.5l-1.29,0.07l-1.77,1.13l-1.52,0.02l-2.41,0.66l-0.85,0.79l0.4,0.54l3.69,-0.58l3.08,1.05l3.4,-0.01l2.27,1.06l0.29,0.84l-4.27,-0.1l-1.89,-0.66l-1.22,0.38l-1.14,-0.24l-1.09,0.24l-2.23,1.0l-0.06,0.69l0.58,0.22l2.88,-0.81l1.33,0.33l1.63,0.7l-0.47,1.62l-2.02,-0.5l-2.05,0.3l-3.11,-0.58l-0.35,0.15l0.11,0.71l2.42,0.95l3.33,0.49l0.22,0.7l1.19,0.9l1.56,-0.19l1.03,0.46l2.34,0.29l-0.5,0.68l0.99,1.27l-0.44,1.06l0.3,0.51l0.86,-0.33l0.03,0.31l0.66,0.28l0.51,-0.87l-0.06,-0.86l1.2,-0.32l-0.21,1.5l-1.3,1.79l0.69,0.52l0.89,-0.22l1.29,-1.46l0.17,0.58l0.57,0.3l1.61,-0.48l-0.16,1.58l0.81,0.98l0.52,0.07l0.23,-0.52l-0.18,-1.38l1.97,-1.21l-0.93,1.33l0.32,0.71l1.28,0.18l1.01,-0.45l2.19,1.76l0.87,-0.12l0.25,0.23l-0.85,0.8l0.21,0.76l-3.03,-0.01l-0.36,0.31l0.2,0.44l1.53,0.44l0.42,0.42l2.65,-0.07l1.29,-0.93l2.11,0.83l-0.79,1.56l-2.15,1.63l-0.15,0.44l0.37,0.28l3.8,-1.08l2.91,0.36l1.48,-1.16l3.67,3.06l-0.64,0.26l-2.04,-1.0l-1.26,0.34l-0.09,0.67l2.37,1.19l0.27,0.54l-1.13,0.39l-1.26,-0.19l-1.15,-0.63l-1.19,0.04l-0.14,0.65l0.48,0.49l-0.44,0.58l0.19,0.55l2.13,1.06l-2.16,-0.19l-0.53,0.24l0.07,0.65l0.99,0.95l-1.02,0.89l-0.25,0.61l-2.12,-0.14l-1.37,-1.54l-0.7,0.18l0.23,0.97l-0.92,0.22l-0.3,0.4l0.29,0.48l1.23,0.31l-0.05,2.88l-0.91,2.0l-1.18,-1.28l-1.07,-0.17l-0.5,0.33l-0.54,-0.49l0.34,-1.64l-0.4,-0.52l-0.66,0.47l-0.95,1.65l-2.3,-2.46l-1.41,-2.39l0.9,-1.07l1.78,-0.73l0.94,-1.52l1.04,-0.94l-0.12,-0.73l-1.43,0.35l-1.73,1.73l-1.96,0.66l-1.89,-0.02l1.0,-1.08l-0.12,-0.65l-2.08,0.59l-1.99,-1.15l-1.6,-2.36l-1.4,-0.7l-0.26,0.8l-1.08,-0.28l-0.58,0.3l0.59,1.89l-2.91,-1.53l-0.6,0.42l1.03,2.14l2.39,1.76l-0.47,0.43l-2.13,-0.3l-3.17,-2.37l-1.83,0.38l-0.26,0.37l0.26,0.38l1.42,0.23l1.08,0.68l-0.25,0.95l0.42,0.77l1.48,0.81l-0.39,1.36l0.23,0.45l0.64,0.1l1.48,-0.62l0.65,0.36l0.88,1.06l-0.63,0.45l0.26,0.61l1.15,0.72l0.44,1.24l0.76,0.22l0.64,2.03l0.42,0.23l0.45,-0.38l0.04,-1.04l1.41,0.85l-0.29,0.67l0.55,0.58l0.69,-0.04l1.04,-1.19l0.6,0.18l1.3,1.2l0.53,-0.04l0.32,0.31l-1.08,0.88l0.44,0.57l1.82,0.1l-0.47,0.73l-1.8,-0.03l-0.24,0.71l1.3,0.66l0.83,0.92l0.06,0.72l1.01,0.25l1.27,-0.18l-0.33,0.21l0.02,0.69l1.02,0.09l0.54,1.06l-0.55,0.45l0.32,1.79l-0.13,1.31l-1.67,-3.08l-1.07,-1.02l-0.48,-0.05l-0.18,0.44l0.81,2.6l0.12,0.78l-0.29,0.73l1.74,2.49l-1.53,-0.51l-0.61,0.24l0.48,2.23l-2.05,-1.77l-0.89,-0.52l-0.62,0.05l-1.83,-1.44l-0.33,-0.08l-0.27,0.86l-0.35,-0.14l-1.16,-1.82l-0.43,-0.14l-0.29,0.85l-1.18,-1.16l-1.01,-0.04l-3.54,-3.39l-0.48,0.04l-0.1,0.47l0.65,1.65l-3.16,-2.1l-2.39,-0.09l-0.26,0.85l0.62,0.88l3.36,3.46l2.03,0.71l0.18,0.69l1.8,0.72l2.0,1.72l1.65,0.74l1.85,2.36l1.35,0.62l-0.7,0.77l0.38,1.15l-0.89,0.2l-5.64,-2.19l-5.62,-0.84l-2.88,-1.26l-2.49,-2.77l-1.26,-0.24l-2.09,0.22l-3.89,-1.71l0.53,-0.93l-0.38,-0.23l-1.57,0.59l-1.02,-0.56l-1.72,-1.75l1.13,-0.15l1.36,-1.37l-2.05,-1.47l-2.51,-0.05l0.55,-0.9l-0.22,-0.54l-1.66,0.53l-0.82,-1.46l-3.72,-3.06l0.74,-1.05l-0.4,-0.66l-3.33,0.05l-0.47,1.13l-0.39,-1.36l-1.65,-0.29l-0.76,-1.36l-0.66,-0.22l-1.51,0.68l1.27,2.12l-1.63,0.27l-2.21,-0.69l-1.16,0.14l-0.55,1.14l-1.55,0.08l-3.64,1.12l-4.63,-1.01l-1.79,-1.88l-0.06,-0.8l0.63,-1.8l0.77,-0.63l2.67,-1.06l0.16,-0.56l-0.47,-0.93l0.45,-0.62l4.02,0.71l3.25,1.16l1.42,1.27l-0.39,1.07l0.9,0.85l0.6,-0.17l0.44,-1.74l-0.53,-0.86l-1.32,-1.06l2.51,0.21l1.0,-0.82l2.45,0.08l1.46,-0.98l1.09,-0.23l2.21,0.27l0.39,-0.44l-0.05,-0.48l-0.99,-2.03l-1.58,-1.06l-1.84,-1.95l4.12,-2.74l1.54,-1.43l1.36,-0.55l1.21,-2.54l2.06,-0.83l0.89,-1.17l-0.01,-0.6l-0.65,-0.61l-1.9,-4.07l-1.79,-2.67l-1.25,-1.3l0.09,-0.94l-0.53,-0.15l-1.49,0.61l-0.65,-0.44l-0.21,-0.51l0.47,-1.62l-0.67,-1.02l-1.63,0.04l-0.13,0.58l0.55,0.77l-1.54,-0.25l-1.08,-1.06l-0.25,-0.86l-0.46,-0.14l0.29,-0.49l-0.51,-0.62l0.52,-0.35l-0.12,-0.68l-1.08,-0.13l-1.61,1.28l-1.66,-0.33l-0.66,0.63l-3.05,1.4l-1.4,0.24l0.21,-2.1l0.63,-0.26l2.34,0.13l1.56,-1.22l0.21,-0.68l-0.94,-1.4l-3.33,-1.26l-0.18,-0.65l1.18,-0.37l0.29,-0.46l-0.32,-0.39l-1.54,-0.21l-1.18,0.96l-1.08,-0.33l0.86,-0.72l-0.08,-0.65l-1.0,-0.64l-2.72,-0.05l-0.84,-3.39l-0.63,-0.31l-2.15,0.2l-1.7,-1.14l-2.32,-2.32l-1.41,0.72l-0.89,1.47l0.59,0.7l1.94,0.63l0.53,0.9l0.03,1.14l-1.23,0.66l-2.01,0.32l-5.81,-1.49l-4.62,-0.55l-0.63,0.17l-0.1,0.71l2.32,1.02l1.57,1.46l-3.02,-1.77l-3.89,0.91l-4.36,-1.56l-3.67,0.42l-8.0,-1.35l-1.86,0.66l-2.49,-0.88l-0.77,-1.54l0.43,-1.34l-0.5,-0.11l-1.44,0.65l-2.24,-0.16l-0.46,0.63l0.13,0.26l-2.08,-0.06l-1.24,0.63l-2.52,-1.72l-2.21,-0.69l-1.79,-2.13l-0.83,-2.2ZM642.14,249.05l0.51,0.1l0.23,0.22l-0.22,-0.01l-0.52,-0.3ZM629.46,302.55l1.09,-0.1l5.26,1.11l5.31,2.54l1.43,1.16l-2.13,0.12l-4.1,-0.94l-2.56,-1.1l-0.55,-0.87l-1.11,-0.85l-2.62,-1.06ZM629.68,323.28l1.26,-1.52l-0.45,0.81l0.07,0.5l0.91,0.84l0.15,0.83l-0.5,-0.02l-0.05,-0.79l-0.34,-0.4l-1.05,-0.26ZM632.84,325.02l0.28,-0.41l3.0,0.84l-1.39,0.87l-1.41,-0.37l-0.44,-0.4l-0.03,-0.52ZM636.6,325.42l1.51,-0.21l2.49,-0.17l-2.13,1.22l-0.14,1.26l-0.98,-0.07l-0.74,-2.04ZM627.42,226.93l0.4,-0.02l0.8,0.7l-0.91,-0.39l-0.29,-0.29ZM627.36,210.92l1.2,0.03l0.12,0.12l-0.74,0.41l-0.77,-0.15l0.2,-0.41ZM624.41,217.96l2.61,-0.02l0.37,0.33l-0.08,0.66l-0.49,0.5l-2.42,-1.47ZM625.39,215.77l0.41,0.44l0.34,0.21l-0.55,-0.23l-0.2,-0.42ZM610.36,150.7l0.61,-0.25l0.5,0.01l-0.41,0.46l-0.69,-0.21ZM609.36,228.23l1.11,-1.87l0.81,0.55l-0.29,0.6l-1.62,0.71ZM596.07,208.6l2.01,0.81l0.63,0.78l-1.77,-0.33l-0.86,-1.26ZM582.09,330.79l-0.0,0.03l-0.03,0.01l0.03,-0.03ZM576.77,164.83l1.43,-0.2l4.02,0.68l0.45,0.16l0.16,1.01l-5.0,-0.11l-0.8,-0.72l-0.26,-0.83ZM575.49,161.59l-2.1,-1.37l0.39,-0.89l1.05,0.26l0.79,1.27l-0.13,0.72ZM571.51,162.6l2.53,0.74l0.23,0.33l-0.27,1.64l0.19,2.88l-0.49,1.32l-0.88,0.7l-1.86,0.69l-4.58,0.4l-1.32,-0.19l-0.67,-1.07l-0.72,-2.37l0.36,-1.14l1.4,-2.03l1.61,-1.53l1.08,-0.32l3.4,-0.05ZM545.75,114.47l0.28,-0.67l-0.52,-0.86l0.04,-1.09l0.8,-0.19l6.33,1.24l6.63,-0.07l4.23,1.41l0.99,1.37l1.3,0.5l0.97,1.47l1.23,0.59l-0.0,0.89l0.87,0.84l-1.04,0.25l-7.34,-0.74l-2.5,0.15l-4.2,1.07l-1.71,0.14l-2.03,-0.94l-1.4,-3.6l-2.22,-0.46l-0.62,-0.47l-0.11,-0.84ZM566.12,203.45l-0.75,-0.12l-1.69,-1.08l0.5,-0.32l1.63,0.76l0.38,0.37l-0.06,0.39ZM563.44,152.77l0.74,-0.14l1.9,0.36l-1.12,1.34l-0.77,0.25l-0.67,-0.36l-0.09,-1.46ZM557.5,203.63l2.67,-0.08l0.89,0.36l0.66,1.02l-1.65,0.71l-2.57,-2.0ZM556.46,151.27l0.48,-0.47l1.58,-0.39l0.29,-0.5l0.61,0.36l-2.24,1.01l-0.71,-0.01ZM552.97,156.94l0.69,-0.92l1.53,-0.62l0.73,-1.08l0.76,-0.31l-0.03,-0.68l1.33,-0.17l-0.02,0.37l-1.26,1.06l-1.54,1.99l-1.95,0.64l-0.25,-0.26ZM555.85,258.16l0.06,-0.43l0.03,-0.1l0.01,0.14l-0.1,0.38ZM550.22,260.33l0.64,-0.78l0.31,-0.3l-0.84,0.99l-0.11,0.09ZM552.29,259.02l0.63,-0.68l0.7,-1.76l0.83,0.74l0.12,0.7l-0.35,0.61l-0.25,-0.31l-0.61,0.02l-1.6,2.29l0.71,-1.15l-0.17,-0.45ZM554.51,162.98l-0.4,-0.19l0.05,-0.34l0.56,-0.09l0.25,0.23l-0.46,0.39ZM553.88,89.25l0.02,0.22l-1.19,0.39l-1.16,-0.11l3.25,-2.3l-0.89,1.18l-0.03,0.62ZM552.35,288.12l0.2,-0.08l-0.07,0.07l-0.13,0.01ZM551.71,212.06l1.1,1.37l-0.24,1.16l-2.01,3.11l-2.04,-1.54l0.04,-2.0l1.51,-1.99l1.65,-0.11ZM547.12,149.9l0.49,-0.51l0.69,-0.03l0.65,0.55l2.62,-0.65l0.67,0.46l-0.59,0.38l-1.51,0.18l-0.77,-0.21l-0.46,0.58l0.24,0.44l-2.02,-1.19ZM464.85,80.8l0.83,-0.21l0.24,-0.83l-1.88,-0.98l0.13,-0.29l5.34,-0.89l6.87,1.62l2.42,-0.02l2.64,1.35l0.21,0.7l-1.44,1.87l-0.19,0.94l1.04,-0.2l2.11,-1.5l3.49,0.03l3.81,-0.73l2.04,0.23l2.59,1.28l-3.88,-0.44l-0.6,0.64l0.43,0.72l2.91,0.21l7.84,1.4l-0.51,0.43l-4.51,0.32l-4.91,-0.75l-0.75,0.1l-0.22,0.68l0.87,0.74l2.92,0.88l2.26,0.23l2.18,1.24l0.63,0.83l1.03,0.02l1.02,0.55l0.19,0.18l-0.62,0.72l-1.57,0.98l0.37,0.59l1.69,-0.02l1.99,1.17l0.8,-0.34l0.2,-0.65l-0.27,-0.95l0.4,-0.19l2.33,1.44l2.58,-0.55l0.86,0.86l0.5,-0.1l1.12,-1.17l2.19,1.25l2.92,0.87l1.54,0.13l0.63,-0.71l-0.44,-0.73l1.77,-0.47l1.17,0.04l1.92,-0.73l2.03,-0.12l3.42,-1.67l3.43,0.7l5.47,-0.84l4.45,0.77l0.25,0.73l0.49,0.29l4.06,0.3l0.62,0.37l-0.53,0.34l-0.04,0.64l0.33,0.2l2.86,0.25l0.64,1.45l-4.39,2.26l0.14,0.58l0.72,0.36l3.05,-0.18l0.87,0.56l-2.17,0.53l-2.18,-0.68l-0.27,0.6l0.83,0.81l-0.36,1.85l-4.7,0.15l-3.54,0.94l-4.89,-0.89l-0.74,-1.01l0.05,-1.28l-2.42,-1.14l-0.48,0.17l-0.11,0.45l0.99,1.16l-0.8,1.48l-4.32,0.71l-1.86,-0.31l-1.35,-0.68l-0.44,0.33l-0.09,0.57l-1.47,-0.84l-0.68,0.7l-1.24,0.33l-1.52,-0.41l-1.16,0.25l-1.96,-0.42l-0.27,0.79l-8.31,-0.15l-0.36,-0.24l0.07,-0.38l1.0,-1.77l-0.22,-0.53l-1.1,-0.5l-0.95,0.33l-0.57,0.85l-0.62,-0.75l-1.54,0.56l-0.12,1.18l-1.53,0.64l-1.38,0.06l-3.51,-0.65l-1.71,-0.94l0.31,-0.78l-0.62,-0.3l-1.28,0.83l-0.33,0.76l-1.38,0.04l-1.99,-1.26l-0.99,-2.38l0.34,-0.19l0.1,-0.71l-1.68,-1.74l-0.04,-0.87l1.77,-2.67l-0.61,-2.22l-4.68,-5.41l-1.48,-0.22l-1.99,0.92l-4.51,-0.26l-3.31,0.35l-0.97,-1.04l-2.55,-0.9l1.38,-0.5l0.38,-0.75l-1.9,-0.05l-3.1,-1.29ZM513.14,201.88l1.19,-1.91l2.54,-1.17l0.97,-0.79l-0.53,-3.73l0.94,-3.63l0.58,-4.35l1.23,-2.33l1.03,-0.58l1.6,1.24l0.28,0.77l-0.66,1.04l1.02,0.84l0.81,1.55l0.9,-0.04l1.32,-1.56l1.08,0.69l1.05,1.31l3.01,0.71l1.42,1.39l2.8,1.52l3.03,1.05l1.25,1.67l0.54,1.66l-1.01,1.08l-0.01,0.66l1.23,0.14l1.92,-0.43l1.68,0.35l0.75,-0.5l0.92,0.78l-0.33,0.36l0.29,0.41l1.56,0.55l-3.34,2.23l-4.6,-1.62l-2.03,-0.34l-0.49,-1.77l-2.7,-0.72l-0.0,-0.83l-0.55,-0.39l-1.29,0.13l-1.59,0.77l-0.8,2.04l-1.44,1.19l-1.52,0.66l-1.6,2.17l-1.6,0.86l-2.04,0.58l-0.52,-0.92l-0.75,-3.11l-0.56,-0.64l-4.22,0.29l-1.52,0.72l-1.23,-0.06ZM539.59,280.92l0.58,-0.54l3.34,-0.15l1.73,1.79l0.23,0.65l-5.87,-1.75ZM534.48,328.45l0.17,-0.1l0.15,0.24l-0.13,-0.01l-0.19,-0.13ZM536.92,329.16l0.04,-0.58l0.39,-0.25l1.17,0.66l0.88,-0.68l0.46,1.16l-0.8,0.6l-2.13,-0.91ZM530.86,213.12l-0.96,-1.73l2.58,-3.32l1.87,0.3l1.38,-0.56l2.4,-0.27l0.97,0.19l-0.7,1.72l-4.49,3.43l-1.65,-0.25l-1.4,0.48ZM527.23,181.66l2.67,1.22l0.3,0.27l-0.26,0.56l-1.12,0.19l-0.25,-1.22l-1.35,-1.02ZM532.16,184.95l0.17,0.02l-0.06,0.03l-0.11,-0.04ZM529.08,326.21l0.37,0.1l0.17,0.1l-0.27,0.23l-0.26,-0.42ZM525.38,185.5l-1.58,-1.37l-0.33,-1.63l0.57,0.05l0.81,1.14l0.72,1.54l-0.19,0.27ZM466.13,40.6l1.5,-0.38l2.39,0.19l0.28,-0.68l-0.33,-0.35l-2.62,-1.77l0.07,-1.15l0.74,-0.25l3.41,0.41l0.86,0.39l0.95,0.97l4.92,0.14l0.38,-0.29l-0.69,-0.77l-2.89,-0.67l-1.08,-1.33l-3.31,-0.95l0.98,-1.32l1.28,-0.51l2.38,0.21l3.5,-0.88l2.63,0.18l0.75,-0.86l-0.46,-0.95l-0.81,-0.41l-3.5,-0.18l-0.33,-0.61l4.19,-0.28l1.45,0.21l3.13,0.81l1.99,1.05l3.69,4.01l3.0,1.95l0.35,1.19l4.01,1.14l1.85,-0.46l1.23,0.26l0.33,0.39l-0.31,0.61l0.25,0.43l-0.22,1.29l1.96,1.38l3.38,0.65l0.54,-0.33l-1.03,-1.64l-1.18,-0.41l-0.1,-0.96l0.41,-0.25l1.85,-0.11l2.06,0.6l0.17,1.58l-1.22,0.67l-0.27,0.42l0.19,0.59l3.61,0.65l0.92,1.39l-0.77,2.43l-0.75,0.94l0.19,0.59l2.13,-0.11l1.4,-0.62l1.44,0.12l0.59,0.23l0.81,1.34l0.46,0.21l1.57,-1.47l2.82,3.16l-0.97,0.65l-4.09,1.23l-3.13,1.38l-1.3,0.04l-0.75,1.3l-2.55,2.0l-1.11,-0.55l-0.18,-1.44l0.68,-1.45l-0.08,-0.51l-0.46,-0.17l-1.16,0.6l-0.82,0.97l-0.02,2.17l-0.38,1.06l1.3,0.68l0.04,0.48l-0.47,0.39l-0.5,-0.16l-1.74,-1.22l-1.04,0.29l-0.13,0.44l0.66,1.98l-0.82,1.94l-1.06,-0.2l-4.91,-4.48l-0.51,0.26l-0.15,0.98l2.59,3.35l-2.4,-1.3l-1.79,-0.23l-1.29,0.37l0.11,0.65l1.34,0.86l-4.97,-0.29l-4.72,-1.36l-2.07,-1.13l4.43,-0.67l0.35,-0.31l-0.53,-0.64l-6.89,-0.57l-1.38,-1.1l1.91,-0.01l0.29,-0.36l-0.25,-0.39l-3.79,-1.09l-1.09,-0.74l4.15,-1.52l2.37,-0.21l0.99,-0.49l0.6,-0.94l5.99,-0.88l0.53,-0.64l-0.4,-0.28l-4.71,-0.0l-1.27,-0.75l-1.79,-0.13l-5.73,1.82l-0.24,-0.02l0.47,-0.32l0.08,-0.61l-1.17,-0.31l-1.61,0.14l-3.36,1.12l-1.1,-0.71l-1.65,-0.39l0.12,-0.93l5.62,-1.5l0.83,-0.97l-0.39,-0.61l-4.55,0.96l-2.69,-0.22l-2.96,-1.93l-0.54,-0.67l-0.6,-1.87l4.31,0.69l5.83,0.21l0.57,-0.38l0.02,-0.77l1.4,-0.48l0.36,-0.59l-0.36,-0.28l-1.67,-0.08l-4.03,0.78l-1.12,-1.02l-2.12,0.01l-1.53,-0.73ZM514.35,164.16l1.01,-1.37l0.82,0.5l0.29,2.36l-0.8,1.31l-1.04,-0.66l0.24,-1.2l-0.52,-0.94ZM512.66,146.44l0.56,-0.22l2.28,0.31l0.23,0.29l-0.66,0.13l-2.4,-0.5ZM495.93,80.57l1.8,-0.54l0.8,0.01l0.78,0.51l0.24,0.27l-0.65,1.02l0.18,1.0l-1.3,-0.2l-1.84,-2.07ZM499.04,74.64l-1.76,0.55l-3.79,-1.23l-0.73,-0.77l0.09,-1.68l1.23,-0.33l3.25,0.62l2.11,1.5l0.05,1.02l-0.45,0.31ZM496.34,152.96l0.42,-0.22l0.29,0.15l-0.33,0.55l-0.38,-0.47ZM482.1,107.73l2.92,0.77l1.84,1.09l3.2,-0.52l2.7,0.18l2.28,0.56l1.07,0.6l-0.92,1.4l-1.88,1.57l-1.59,2.17l-1.42,0.58l-0.04,0.74l0.3,0.34l-1.63,2.17l-1.6,1.49l-1.17,0.28l-4.87,-0.81l-4.5,0.44l-0.34,0.3l0.16,0.42l2.24,0.86l0.92,0.96l0.08,0.86l-1.56,1.57l-1.16,2.27l-1.77,-0.39l-3.12,0.21l-0.34,-4.29l-1.79,-3.69l-0.19,-7.7l0.86,-0.39l3.57,0.9l0.39,-0.32l-0.26,-0.55l-0.9,-0.37l-1.09,-1.47l-0.04,-0.52l0.38,-0.42l2.67,-0.83l3.66,-0.08l1.77,-0.57l1.15,0.17ZM494.98,153.24l0.12,-0.01l0.22,0.31l-0.07,-0.09l-0.27,-0.21ZM470.31,69.69l1.39,0.41l8.36,-0.18l1.67,0.6l-0.76,0.35l-0.86,1.57l-1.37,0.15l-10.84,-0.34l-1.16,-1.0l0.41,-0.74l3.16,-0.81ZM465.05,98.52l0.92,-1.47l1.18,-0.48l0.34,-1.24l2.08,-1.55l3.08,-0.94l1.91,-0.01l1.85,0.76l2.48,1.93l1.17,1.94l-0.23,0.95l0.44,1.88l-0.43,1.6l-5.4,0.21l-2.89,-1.49l-2.98,-0.4l-1.19,-1.03l-0.97,-0.05l-0.72,-0.66l-0.64,0.07ZM473.82,89.36l1.34,-0.39l0.77,1.62l-1.59,-0.03l-0.51,-1.2ZM456.17,58.61l1.09,-0.2l3.31,0.24l4.51,1.28l0.95,0.7l0.54,0.84l1.33,0.3l2.01,-0.12l2.56,0.91l0.48,0.39l-1.65,0.76l-0.48,0.55l0.16,0.61l1.78,1.15l-1.03,0.93l-1.29,0.07l-2.84,0.83l-2.35,0.17l-2.45,0.71l-0.05,-1.03l-2.77,-1.34l2.62,-0.3l0.65,-0.56l-0.3,-0.57l-4.23,-0.84l-1.11,-0.93l-0.22,-0.75l-1.13,-0.82l1.06,-0.42l0.21,-0.58l-1.35,-1.98ZM449.92,155.81l0.31,-0.43l2.78,-0.35l2.15,-1.3l0.43,-0.67l-0.39,-0.8l0.38,-0.28l-0.13,-0.41l1.09,0.76l1.1,-0.09l-1.3,-2.22l0.34,-0.7l1.82,-0.52l1.54,0.91l-0.17,0.69l0.41,0.43l0.96,-0.33l1.77,1.43l2.9,1.47l1.73,2.82l1.12,1.22l0.85,0.56l1.34,-0.3l-1.87,0.53l-2.94,2.0l-1.44,0.36l-2.02,-0.66l-2.36,-0.05l-3.83,-1.71l-0.39,-0.87l-2.4,0.18l-0.84,-1.07l-1.72,0.62l-0.75,-0.39l-0.48,-0.8ZM469.24,103.1l0.86,-0.16l0.76,0.56l-0.22,-0.03l-1.4,-0.37ZM468.22,152.22l-0.06,-0.28l0.14,-0.43l0.05,0.18l-0.12,0.52ZM469.52,151.1l0.96,0.7l-0.2,0.73l-0.46,0.24l-0.29,-1.66ZM465.94,92.56l1.34,0.58l-0.53,0.4l-1.48,-0.18l-1.4,1.18l-0.77,-0.16l-0.11,-0.49l2.22,-0.71l0.73,-0.63ZM439.92,114.01l0.73,-0.44l1.56,-0.25l2.2,1.43l0.57,-0.2l-0.46,-1.59l-1.56,-0.91l-0.29,-0.75l2.12,-0.39l2.51,0.47l0.74,-0.67l-0.06,-0.43l3.71,1.72l5.09,-0.85l1.65,-0.61l1.17,-0.08l1.68,0.4l0.92,1.24l-0.57,0.53l-2.0,0.52l-0.59,0.57l0.35,0.8l1.55,0.18l-2.66,1.01l-3.2,2.6l-0.18,0.94l0.63,0.59l1.78,-0.85l1.93,-0.07l1.3,0.71l-0.25,0.39l0.25,0.48l1.27,0.81l-0.39,0.85l0.27,0.56l2.96,-0.68l0.41,1.18l-0.11,0.9l-1.69,1.37l1.04,1.05l-0.86,1.59l0.72,0.79l0.04,0.8l-1.53,0.39l-1.34,1.08l-1.66,0.38l-2.94,-0.3l-0.28,-0.28l-0.08,-1.13l-0.3,-0.36l-0.43,0.04l-0.83,1.2l1.34,2.78l-2.02,1.12l-1.51,-0.6l-0.95,-0.0l-2.7,-3.53l-4.51,-3.87l-2.02,-0.59l-1.23,-1.03l-1.58,0.34l-0.93,-0.29l-1.31,-1.65l-2.14,-1.02l-1.41,-1.45l0.74,-1.7l1.47,-0.8l1.23,0.16l0.73,0.99l1.13,0.65l0.91,1.23l0.71,0.43l1.03,0.08l3.12,-0.58l0.49,-0.55l0.18,-1.08l0.61,0.47l0.82,-0.35l0.2,-0.78l-0.78,-1.47l-1.49,-0.62l0.63,-0.41l1.83,0.61l0.86,-0.12l0.33,-0.37l-0.29,-0.41l-2.74,-1.42l-2.71,0.8l-2.9,-1.7ZM447.4,110.0l-0.39,0.1l-0.35,-0.0l0.55,-0.19l0.19,0.09ZM463.64,119.03l-0.62,0.07l-0.5,-0.45l0.22,-1.04l0.52,-0.2l0.98,0.81l-0.26,0.69l-0.35,0.12ZM438.14,87.59l1.51,-1.04l0.12,-0.58l-0.47,-0.36l-1.76,0.02l-0.72,-0.31l1.14,-1.09l0.69,-0.08l1.58,0.39l0.92,0.62l0.53,1.12l4.86,3.0l2.02,0.36l0.61,-0.39l-0.14,-0.68l-1.78,-1.12l2.4,-0.08l0.36,-0.39l-0.34,-0.4l-3.46,-0.62l1.25,-0.22l0.3,-0.43l-0.19,-0.42l-1.07,-0.53l-2.45,-0.4l-0.88,-0.47l0.12,-0.2l2.07,-0.87l2.82,-0.19l0.63,0.07l2.43,1.72l1.73,-0.03l0.32,-0.59l-0.56,-1.24l1.16,-0.57l2.27,1.22l2.41,0.74l-0.11,1.6l0.87,1.21l0.17,0.84l-0.61,1.42l0.23,1.28l-1.23,0.73l-0.18,0.57l0.38,0.41l2.02,0.52l0.12,1.54l-1.23,-0.37l-1.15,0.95l-0.01,1.95l0.88,1.0l-1.64,-0.8l-0.44,0.75l0.59,0.87l-3.31,0.35l-2.31,-0.1l-0.95,-0.34l-1.58,0.66l-2.89,-0.23l-0.93,-1.41l1.26,-0.14l0.37,-0.39l-0.23,-0.49l-2.64,-0.97l2.03,-0.55l2.76,-1.79l2.51,-0.3l0.44,-0.61l-0.41,-0.49l-3.68,0.18l-6.59,0.94l-1.36,-0.17l-5.49,0.97l-0.52,-0.23l-0.15,-0.34l1.63,-0.79l0.81,-0.68l0.47,-0.94l0.81,-0.07l3.41,1.29l1.77,-0.44l0.22,-0.41l-0.31,-0.34l-1.49,0.13l-0.55,-0.51l-0.37,-0.58l0.3,-0.43l-0.27,-0.64l-1.37,-0.16l-0.49,-0.43ZM459.54,103.72l0.63,-0.49l0.46,-0.03l-0.1,0.13l-1.0,0.4ZM451.16,109.99l2.23,-0.87l5.4,-0.9l-2.77,1.63l-2.01,0.11l-1.45,0.43l-1.4,-0.42ZM453.05,44.6l0.11,1.44l-0.45,1.08l-1.49,-0.53l-0.33,-0.75l-0.93,-0.55l-2.56,-0.01l-0.36,-0.99l0.21,-0.72l1.41,-0.52l3.51,0.36l0.49,0.27l0.4,0.93ZM422.32,57.55l1.07,-1.41l0.01,-0.7l-1.22,-0.61l-2.97,0.21l-0.02,-1.02l0.7,-1.49l2.64,0.13l5.74,-0.47l2.55,0.63l1.3,0.67l1.24,1.43l-0.33,0.94l0.7,1.43l0.58,0.21l0.42,-0.24l0.69,-1.28l1.9,-0.7l1.14,0.01l3.13,1.37l-0.54,0.97l0.39,0.8l1.22,0.21l2.34,-0.4l1.97,0.95l1.86,1.54l-1.08,1.14l0.46,1.95l1.13,0.43l2.1,1.71l0.54,0.92l-0.64,1.31l-3.81,0.65l-3.01,-1.01l-0.75,-0.82l-0.33,-1.17l-1.61,-1.4l-4.99,-0.95l-2.86,0.33l-0.49,-0.41l0.18,-0.34l-0.39,-0.6l-4.83,0.57l-1.41,0.65l-2.67,-0.35l-1.2,-0.59l-1.0,-1.36l0.95,-0.44l4.88,0.66l1.12,-0.24l0.68,-0.76l-0.11,-0.58l-0.64,-0.36l1.18,-0.54l0.09,-0.65l-1.03,-0.47l-2.7,0.0l1.12,-0.78l0.15,-0.45l-1.7,-1.25l-1.45,0.39l-1.85,1.52l-0.52,0.11ZM446.42,155.7l0.23,-0.19l0.22,0.6l-0.3,-0.13l-0.15,-0.28ZM444.47,157.69l0.11,-1.39l0.44,0.02l0.91,0.82l-0.21,0.74l-0.41,0.29l-0.36,-0.46l-0.47,-0.01ZM440.82,81.98l0.4,-0.09l-0.29,0.09l-0.11,0.0ZM441.49,81.81l1.02,-0.71l1.67,-0.16l-0.86,0.32l-1.83,0.55ZM444.23,141.37l1.03,0.39l-0.04,0.35l-0.88,-0.33l-0.11,-0.41ZM353.8,138.14l2.52,-1.34l9.81,-2.1l0.21,-0.65l-0.22,-0.22l2.1,0.09l1.11,-0.38l-0.2,-0.73l-1.6,-0.43l-10.9,1.46l-2.02,-0.34l1.59,-0.62l0.7,-0.93l-0.31,-0.64l-4.24,0.1l-1.32,-0.32l-0.42,-0.5l0.14,-1.73l1.71,-1.64l1.15,-0.39l0.96,-0.83l-0.06,-0.54l-1.27,-1.15l0.4,-0.69l5.58,-3.6l13.25,-4.44l1.91,0.62l0.67,1.98l-0.25,1.81l-2.0,2.32l0.11,0.84l1.12,0.04l3.16,-0.77l0.77,0.17l0.7,-0.7l0.2,-1.5l0.74,-0.77l0.89,-0.35l1.53,0.08l3.56,0.94l3.75,1.58l-0.41,0.86l-1.22,1.23l-1.45,0.77l0.12,0.71l0.99,0.47l0.48,0.01l1.36,-1.16l0.42,0.62l0.86,-0.03l1.93,-1.67l2.79,-1.17l0.31,-0.42l-0.11,-1.23l-1.82,-1.0l-0.49,-0.67l2.9,0.18l4.44,2.46l0.53,0.44l0.14,0.82l1.12,0.36l2.83,7.8l1.63,1.04l0.89,0.08l0.68,-0.9l1.81,-1.08l0.15,-1.2l-1.92,-2.33l-0.62,-2.67l-0.54,-0.77l-1.57,-5.69l0.06,-0.39l1.25,-0.28l0.04,-0.71l-0.49,-0.52l1.3,0.16l3.02,1.31l0.47,-0.02l0.63,-0.74l0.42,0.07l5.08,2.45l0.89,0.75l0.96,1.21l0.95,3.63l2.17,4.91l2.14,3.05l0.15,1.63l-1.09,2.64l0.36,0.66l1.81,1.32l1.19,1.6l1.93,1.24l2.55,1.14l0.77,-0.19l0.18,-0.53l4.66,2.77l1.57,0.06l0.44,1.2l2.5,0.08l0.43,0.76l0.33,1.83l-0.23,0.88l-0.84,-0.05l-0.7,-0.45l-0.48,-0.98l-0.6,0.02l-0.66,1.21l-2.92,-1.29l-2.08,1.24l0.02,1.4l-1.29,-0.11l-2.22,-1.08l-0.84,0.3l-0.14,0.7l0.24,0.3l1.85,1.28l-0.42,2.09l0.56,0.42l1.78,-1.57l1.65,-0.86l1.3,-0.09l0.48,0.25l-0.38,0.67l0.14,0.91l1.28,0.63l-0.27,1.03l-5.03,1.68l-2.87,0.13l-2.98,-0.5l-1.41,-0.54l-1.35,0.46l-2.44,-0.39l0.65,-0.84l-0.38,-0.63l-5.65,-0.71l-0.79,-0.42l-0.06,-1.26l-0.41,-0.49l-1.52,-0.35l-1.28,0.96l-0.9,1.47l-1.94,1.52l-4.71,0.6l-2.99,1.57l-2.62,0.72l-6.93,0.86l-1.47,-0.08l-1.01,0.42l-8.59,0.53l-0.87,-0.39l-1.57,-1.97l-0.23,-2.24l-0.72,-1.76l-3.27,-0.68l-6.63,-0.13l-4.44,-1.24l-2.86,-3.29l-0.4,-2.0l2.94,-0.79l9.97,-1.26l9.99,0.8l2.36,-0.46l1.98,0.02l0.98,-0.38l0.06,-0.65l-0.48,-0.4l-2.13,-0.95l-8.49,-2.27l-11.43,0.97l-1.68,-0.34l-3.45,0.18l-2.9,-0.23l-3.71,-2.81ZM435.02,68.68l3.8,-0.1l2.6,0.95l-4.73,0.45l-1.36,-0.35l-0.31,-0.94ZM441.45,151.89l-0.06,-0.26l0.16,0.18l-0.1,0.08ZM436.25,158.94l0.9,-0.75l0.91,0.47l-0.44,0.76l-1.37,-0.48ZM431.04,90.56l0.96,-0.93l-0.1,-0.64l-1.09,-0.45l-2.78,0.66l-0.45,-0.18l0.57,-0.66l-0.26,-0.66l-2.16,-0.11l-0.5,-0.38l0.11,-0.3l6.14,-1.3l2.26,0.22l0.42,1.75l2.04,1.41l-1.49,0.52l-0.78,0.9l-2.88,0.16ZM431.02,65.13l0.56,-0.51l0.9,-0.15l-0.76,0.55l-0.71,0.11ZM424.16,82.36l2.23,-0.5l0.22,0.87l1.51,-0.17l0.7,0.63l2.33,0.78l-1.68,0.66l-4.25,-0.02l-1.05,-2.25ZM422.82,97.28l0.97,-1.75l1.3,-0.71l1.26,0.05l0.97,0.47l0.92,1.69l-0.64,0.63l-2.33,0.46l-1.55,-0.29l-0.9,-0.55ZM422.07,160.33l1.5,0.12l0.58,0.52l-0.77,0.01l-1.31,-0.65ZM416.93,70.17l1.65,0.11l1.4,0.95l1.31,1.32l0.31,1.01l1.15,0.25l1.01,0.71l0.34,0.74l-0.14,0.62l-0.76,0.25l-2.4,-0.59l-1.6,-1.71l-2.27,-3.67ZM412.25,113.78l1.36,-1.43l6.44,-0.69l3.2,1.42l0.35,1.14l-0.14,1.01l-0.98,1.68l-1.41,1.63l-1.03,0.68l-3.46,-2.58l-0.69,-1.15l-1.83,-1.11l-1.81,-0.6ZM360.07,92.18l0.64,-0.68l0.77,-0.24l6.75,-0.72l2.54,-0.59l0.27,-0.44l-0.4,-0.34l-7.32,0.07l-0.68,-0.25l0.37,-0.47l-0.2,-0.8l2.36,-0.95l6.58,0.3l0.36,-0.33l-0.75,-0.67l-4.6,-0.6l-0.0,-0.32l1.03,-0.9l2.86,-0.61l2.26,-0.04l1.55,0.46l0.6,1.49l1.37,1.13l3.49,-0.5l2.25,0.55l3.87,2.52l-0.83,0.57l0.13,0.67l2.75,0.24l1.22,2.03l1.31,0.8l10.7,0.37l0.78,-1.07l-0.21,-1.42l-4.52,-2.02l1.9,-0.92l0.26,-0.7l-0.15,-0.69l-1.53,-1.18l-2.51,-0.82l-0.38,-0.56l2.11,-1.23l2.7,-2.53l1.08,-0.49l1.21,-0.09l1.5,0.67l-0.77,1.0l-0.0,0.48l0.65,1.72l1.63,1.17l0.25,0.71l-1.24,1.17l-0.01,0.84l0.82,0.32l2.14,-0.02l0.39,0.39l-1.45,1.63l0.23,0.62l0.76,0.02l1.87,-1.02l1.49,0.1l0.61,0.32l1.0,1.9l0.44,-0.33l0.06,-0.83l1.07,-0.59l-0.84,-1.28l0.72,-0.62l1.21,-0.33l2.41,0.51l1.26,0.6l0.63,1.83l-1.9,5.46l-1.0,0.89l-5.22,1.62l-3.49,-0.74l-3.24,0.54l-0.6,-0.13l0.02,-0.52l-0.34,-0.28l-1.17,-0.21l-3.34,1.81l-4.55,0.72l-2.83,1.78l-3.99,1.37l-3.98,0.85l-2.48,0.15l-3.22,-0.49l-2.51,-1.19l-0.73,-0.65l0.91,-0.59l4.12,-1.11l2.46,-1.01l5.99,-0.46l3.11,-1.85l0.27,-0.93l-1.0,-0.46l-2.35,0.95l-2.98,0.36l-2.05,-0.8l-1.78,1.06l-3.77,0.39l-0.38,-0.28l-0.02,-1.1l1.72,-1.31l0.25,-0.64l-1.01,-0.18l-1.38,0.34l-0.68,-0.56l-0.66,0.41l-0.47,1.54l-1.3,-0.42l-0.44,0.16l-0.12,0.62l0.74,0.93l-0.32,0.37l-2.66,1.06l-1.05,-1.15l-1.09,-0.23l-0.76,0.42l-0.71,1.05l-1.94,-0.69l-1.65,-1.29l-2.9,0.08l-2.4,-0.46l-0.28,-0.44l1.47,-1.45l6.03,-0.35l4.27,-1.53l0.7,-0.54l0.17,-0.6l-0.48,-0.31l-6.59,1.24l-3.23,-0.23ZM406.58,174.16l0.29,-0.0l-0.11,0.21l-0.19,-0.21ZM406.05,169.16l0.47,0.8l-0.03,0.24l-0.49,-0.34l0.05,-0.7ZM379.81,63.23l2.96,-1.41l4.78,-0.84l3.27,-1.5l2.22,-0.53l0.95,0.01l4.5,1.91l0.66,1.56l-0.16,0.52l-1.34,0.27l-5.27,-0.07l-2.08,-0.83l-1.94,1.22l-1.08,-0.08l-2.05,-0.93l-4.46,0.82l-0.94,-0.12ZM380.01,68.35l9.99,-1.93l3.8,-0.17l3.78,0.24l-0.48,0.6l-5.55,1.35l-0.18,0.64l0.9,0.67l2.76,0.1l0.1,1.22l-0.3,0.81l-2.3,0.78l-2.78,0.19l-3.66,0.9l-1.95,-0.19l-1.33,-0.83l-2.59,-0.93l0.3,-0.97l-0.75,-1.56l0.2,-0.94ZM372.18,80.09l1.45,-0.48l2.61,-0.2l1.65,0.7l-0.76,0.46l-4.94,-0.48ZM373.77,66.63l0.46,0.72l2.52,1.09l0.43,0.48l-2.05,0.75l-0.81,-0.01l-1.51,-0.48l-1.77,-1.5l2.74,-1.04ZM315.79,128.42l0.18,-1.02l0.7,-0.33l-0.04,-0.76l1.18,-1.63l1.99,-1.57l0.16,-2.54l2.1,-1.04l-0.13,-0.98l-0.94,-0.36l-0.16,-0.4l1.05,-1.14l0.85,-1.68l1.5,-1.01l0.55,-1.27l1.24,-1.45l-0.49,-0.85l-1.62,-0.74l-2.25,-3.88l15.66,-1.9l4.76,1.92l4.33,1.14l-0.39,0.55l0.11,0.66l0.52,0.05l1.22,-0.86l1.07,0.02l0.18,1.52l0.54,0.31l2.57,-2.19l2.03,-0.31l2.43,0.14l3.73,1.46l5.05,3.5l1.68,0.83l0.99,1.02l-0.01,0.45l-0.38,0.28l-4.9,1.61l-13.33,6.01l-2.22,3.25l-1.17,0.51l-1.68,0.16l-0.73,0.5l-1.34,5.47l-0.73,0.94l-4.09,1.04l-0.79,-0.54l-0.78,0.04l-2.18,1.72l-1.94,0.66l-1.48,0.89l-1.08,0.02l-0.94,-0.6l-1.82,-2.98l-1.85,-1.89l-6.58,-2.81l-2.33,0.07ZM331.11,86.43l1.94,-1.77l4.18,-0.58l2.4,-2.24l3.08,-1.37l0.96,-1.22l6.17,-4.28l5.38,-0.8l2.99,0.69l0.93,-0.01l0.58,-0.41l1.56,0.16l0.84,-0.5l-0.03,-0.66l-1.41,-0.51l0.64,-0.38l1.55,-0.19l1.36,0.31l3.43,1.78l-3.41,1.14l-0.71,0.51l-0.11,0.52l0.34,0.51l2.04,1.34l-1.44,-0.03l-0.58,0.64l1.46,1.88l-1.08,0.72l-3.89,0.82l-0.32,0.3l-0.21,1.61l-0.71,0.74l-1.14,0.08l-2.29,-1.24l0.18,-1.43l0.95,-2.26l-0.28,-0.58l-0.61,-0.14l-2.34,0.77l-0.73,0.97l-0.25,1.09l-1.7,0.48l-0.05,0.87l0.85,0.85l-1.03,0.88l-0.7,1.15l-0.77,-0.12l-1.37,-1.87l-0.92,0.17l-0.42,0.71l0.06,1.11l-0.49,0.76l1.06,0.86l-1.7,1.31l-2.17,0.33l-0.66,-1.68l-1.56,-2.01l-0.76,0.24l-0.67,1.51l-0.79,0.3l-3.54,-0.53l-2.47,0.93l-0.73,-0.32l0.43,-0.73l-0.25,-0.93l-0.41,-0.33l-0.65,0.07ZM348.7,92.43l3.57,-2.6l2.53,-0.94l1.85,-1.17l0.69,0.04l-1.82,2.53l-2.11,2.24l-1.34,0.61l-3.36,-0.71ZM304.86,299.15l1.07,-0.29l1.02,0.45l0.21,-0.39l-0.18,-1.54l-1.55,-0.18l-0.41,0.63l-1.09,0.1l-1.17,-1.05l0.33,-0.4l1.43,-0.18l6.14,2.3l5.93,1.15l2.89,3.93l0.54,1.34l1.13,0.82l3.21,1.31l0.8,0.81l1.63,3.26l0.75,0.03l0.21,0.5l-0.6,0.03l-0.45,0.51l-1.58,-0.33l-5.53,-2.1l-0.37,-0.22l1.39,-1.34l0.22,-1.44l-0.66,-0.25l-0.51,1.23l-2.02,0.09l-0.73,0.36l-0.78,-0.59l0.33,-0.33l-0.02,-0.57l-1.48,-0.65l0.11,-0.46l-0.58,-0.39l-2.6,-0.28l-0.03,-0.3l1.98,-0.46l-0.22,-0.8l-1.0,0.07l-0.87,-0.39l-0.7,-0.99l-1.15,-0.46l-1.1,0.41l-0.47,-1.57l-0.6,-0.11l-0.28,0.36l-0.63,-0.58l-1.48,0.18l-0.12,-0.94l-0.42,-0.25ZM318.16,299.33l0.52,0.81l-0.22,0.34l-0.39,-0.94l0.09,-0.21ZM310.07,303.42l0.08,-0.47l0.61,0.92l-0.33,-0.16l-0.36,-0.29ZM303.82,290.72l0.36,0.38l0.0,0.31l-0.15,-0.13l-0.21,-0.56ZM302.31,283.9l-0.01,-0.41l0.12,-0.19l-0.12,0.6ZM299.11,279.79l1.47,0.95l0.36,1.05l0.21,2.68l-0.35,0.56l-0.06,-2.08l-0.63,-0.36l-0.43,0.52l-1.17,-1.77l0.6,-1.55ZM298.52,283.66l0.24,0.22l0.04,0.06l-0.23,-0.2l-0.05,-0.08ZM297.76,280.11l-0.0,-0.01l0.01,-0.02l0.0,0.03l-0.01,-0.0ZM291.81,277.37l2.12,1.18l0.77,1.05l-0.22,0.1l-2.66,-2.33ZM291.2,274.44l0.56,-0.34l0.49,0.5l-0.31,0.35l-0.74,-0.51ZM282.34,280.67l1.98,-0.59l0.39,0.17l0.49,1.27l-1.3,0.07l-0.28,0.2l0.13,0.71l1.99,0.98l-0.32,0.6l0.26,0.58l-2.53,-2.18l-0.31,-0.48l0.53,-0.71l-1.03,-0.62ZM286.48,285.6l0.38,0.11l-0.07,0.33l-0.24,-0.3l-0.07,-0.14ZM287.53,286.56l0.18,0.0l-0.07,0.06l-0.11,-0.06ZM278.62,273.61l1.57,0.19l0.72,0.41l1.03,-0.24l0.31,0.34l0.22,0.84l-2.06,1.23l0.02,0.44l0.54,0.32l2.12,-0.45l0.42,-1.38l-0.08,-0.87l1.48,-0.4l-1.02,2.12l-0.47,2.92l-1.55,0.48l-1.38,-0.43l1.02,0.21l0.39,-0.53l-2.4,-1.57l-0.93,-1.88l0.04,-1.75ZM247.18,150.81l0.14,-0.08l0.06,0.0l-0.14,0.11l-0.06,-0.03Z\",\\n      \"name\": \"Canada\"\\n    },\\n    \"SV\": {\\n      \"path\": \"M498.24,510.01l2.69,-2.02l0.04,-0.83l0.4,-0.08l1.42,0.34l1.29,1.21l1.56,0.72l0.45,0.73l1.73,-0.66l0.63,0.49l1.16,0.09l-0.53,2.53l-0.3,0.29l-1.07,0.07l-2.13,-0.61l-1.27,0.01l-2.07,-1.0l-2.7,-0.44l-1.31,-0.83Z\",\\n      \"name\": \"El Salvador\"\\n    },\\n    \"HT\": {\\n      \"path\": \"M580.72,487.14l-0.81,-0.67l-1.65,-0.68l0.21,-0.8l7.95,1.07l0.97,-0.61l1.22,-0.15l0.35,-0.43l-0.14,-0.81l-2.01,-1.72l0.36,-1.85l-0.18,-0.49l-1.81,-0.91l-1.63,-0.4l2.36,-0.52l3.23,0.95l2.16,0.25l-0.0,1.87l0.48,0.56l-0.78,1.07l0.39,0.84l-0.45,0.62l-0.82,0.19l-0.05,0.51l1.21,1.38l-0.07,0.46l-1.12,-0.52l-4.14,0.4l-2.65,-0.52l-1.45,0.14l-1.12,0.76Z\",\\n      \"name\": \"Haiti\"\\n    },\\n    \"TT\": {\\n      \"path\": \"M643.52,528.92l0.93,-0.6l0.17,-1.53l-0.28,-0.7l1.93,-0.33l-0.23,0.49l0.15,2.42l-2.67,0.25Z\",\\n      \"name\": \"Trinidad and Tobago\"\\n    },\\n    \"JM\": {\\n      \"path\": \"M563.41,485.93l1.71,0.33l1.05,0.69l1.72,0.54l0.44,0.7l-1.0,0.07l-1.76,-0.57l-0.62,0.65l-0.64,-0.23l-0.7,0.66l-1.05,-0.44l-1.41,-0.09l-1.43,-1.54l-1.29,-0.34l0.31,-0.37l1.7,-0.38l2.99,0.33Z\",\\n      \"name\": \"Jamaica\"\\n    },\\n    \"GT\": {\\n      \"path\": \"M487.5,505.99l0.25,-2.03l0.38,-0.47l-0.62,-1.16l2.22,-3.83l6.37,-0.01l0.39,-0.45l0.03,-1.91l-0.98,-0.53l-0.55,-1.15l-1.38,-0.86l-1.27,-1.3l0.96,0.01l0.4,-0.4l0.02,-2.57l8.53,0.01l-0.29,9.94l1.99,0.17l1.41,0.63l0.77,-0.52l0.62,0.38l-4.44,3.3l-0.33,1.31l0.26,0.98l-0.81,0.76l-1.08,0.27l-0.12,0.92l-1.83,1.18l-0.93,1.04l-2.11,-0.78l-2.79,0.01l-1.09,-0.31l-3.99,-2.61Z\",\\n      \"name\": \"Guatemala\"\\n    },\\n    \"HN\": {\\n      \"path\": \"M502.26,506.51l0.75,-0.7l-0.22,-1.4l0.22,-0.76l0.93,-0.43l3.59,-2.89l0.67,0.01l1.18,-0.86l0.79,-0.15l0.82,0.55l1.25,-0.15l2.04,0.36l2.93,-0.16l2.22,-1.15l2.06,0.59l2.56,-0.46l2.09,0.97l1.4,-0.13l1.06,0.86l-0.51,0.53l0.45,0.84l0.71,0.01l1.02,0.94l0.74,-0.23l0.64,0.22l0.13,-0.28l0.44,0.62l-0.9,0.17l-1.73,0.96l-1.9,0.25l-1.12,0.53l-0.66,-0.08l-1.15,-0.79l-0.91,0.32l-1.1,1.41l-0.19,0.93l-2.71,2.24l-1.32,-0.93l-0.76,0.41l-0.87,1.1l-2.16,0.14l-0.23,0.62l0.25,1.74l-0.89,0.4l-0.51,1.1l-0.93,0.04l-1.08,-1.91l-0.97,-0.13l-0.21,-0.55l0.26,-1.52l-0.56,-0.53l-1.13,-0.04l-1.02,-0.52l-1.26,0.55l-0.33,-0.51l-0.89,-0.23l-2.12,-1.76l-0.83,-0.15Z\",\\n      \"name\": \"Honduras\"\\n    },\\n    \"BZ\": {\\n      \"path\": \"M502.69,498.61l0.37,-10.07l1.09,0.23l0.57,-0.32l1.77,-2.64l0.22,0.62l0.94,0.05l0.11,0.31l-0.92,3.07l0.26,0.66l-0.37,1.02l-0.11,3.45l-1.14,1.6l-0.74,0.32l-1.16,1.71l-0.88,-0.02Z\",\\n      \"name\": \"Belize\"\\n    },\\n    \"BS\": {\\n      \"path\": \"M582.19,471.96l0.6,-0.57l1.63,0.08l-0.22,0.3l-2.01,0.18ZM564.14,442.52l0.07,0.5l-0.12,0.1l-0.02,-0.38l0.08,-0.22ZM560.35,454.98l0.39,-0.1l0.0,0.48l0.37,0.24l0.5,-0.1l0.02,1.4l-0.36,-0.03l-0.92,-1.9ZM558.49,452.88l0.34,-0.69l-0.2,-0.32l0.53,-0.85l0.04,-1.03l1.41,2.26l0.04,0.9l-1.0,0.58l-0.29,-0.54l-0.87,-0.31ZM556.78,441.65l0.13,-0.32l0.39,0.16l-0.34,0.1l-0.18,0.07Z\",\\n      \"name\": \"Bahamas\"\\n    },\\n    \"CR\": {\\n      \"path\": \"M520.07,525.02l0.84,-1.08l3.35,1.21l1.27,-0.52l1.6,0.38l1.02,1.02l1.33,0.23l1.32,-0.39l1.24,2.39l2.84,3.21l-0.83,1.04l-0.0,2.02l0.93,0.65l-0.76,0.8l0.32,1.39l-0.64,0.41l-0.37,-1.17l-1.44,-0.72l-0.4,0.06l-0.3,0.59l0.63,0.83l-0.72,-0.17l-0.38,-0.4l0.46,-0.81l-0.0,-1.05l-0.7,-1.14l-2.53,-1.66l-1.86,-0.57l-0.68,-1.7l-2.7,-1.79l-0.72,0.35l0.14,0.77l0.47,0.65l1.25,0.66l-0.38,0.41l-0.37,0.3l-0.87,-0.94l-1.49,-0.44l-0.95,-1.69l0.89,-1.55l0.03,-0.73l-0.85,-0.82Z\",\\n      \"name\": \"Costa Rica\"\\n    },\\n    \"US\": {\\n      \"path\": \"M321.51,312.91l3.17,1.24l3.48,0.32l0.75,-0.21l0.58,0.45l1.06,-0.08l0.45,0.94l-0.72,0.39l-1.17,1.57l-0.52,1.54l0.45,0.4l0.64,-0.1l-0.43,0.79l0.26,0.67l1.68,0.18l0.71,-0.37l0.44,-0.83l1.04,-0.86l-0.23,-2.77l0.76,-1.59l-1.0,-1.26l0.19,-0.48l-0.73,-0.93l0.28,-0.43l-0.26,-1.75l-0.77,-0.33l-0.29,-0.68l140.63,0.01l0.4,-0.39l0.03,-2.05l0.58,0.07l1.0,3.41l0.67,0.6l2.89,0.55l1.75,0.87l0.97,-0.07l1.0,-0.52l1.68,0.04l2.33,1.07l0.74,1.14l0.81,-0.36l1.09,0.16l2.69,1.63l0.8,-0.02l2.28,-0.96l0.91,0.68l3.16,-0.07l1.02,0.77l-3.65,1.26l-1.88,1.09l-5.91,4.78l-0.02,0.76l0.69,0.46l2.78,-0.39l3.13,-1.26l-0.7,1.57l0.14,0.63l1.36,-0.29l1.13,0.51l0.83,-0.11l2.57,-1.26l2.59,-0.58l2.09,-1.04l1.08,-0.99l0.82,1.06l0.15,1.4l0.54,0.07l1.08,-0.9l1.98,0.39l0.58,0.32l1.68,2.04l1.72,-0.09l0.47,0.34l1.54,0.21l2.57,-1.47l3.57,-0.16l1.77,-0.47l-0.21,1.21l0.42,0.55l2.58,0.45l0.83,-0.41l0.48,1.05l-0.12,0.72l0.94,0.3l0.18,0.5l-2.01,-0.13l-0.7,-0.37l-0.64,0.33l-0.26,0.71l-1.43,-0.98l-2.06,-0.41l-1.26,0.77l-2.63,0.21l-1.2,1.11l-0.53,-0.65l-1.14,0.22l-0.57,0.76l0.03,-0.97l-0.68,-0.11l-0.66,1.39l-2.54,3.44l-0.15,0.83l-1.04,0.6l-0.86,1.58l-0.15,1.01l0.74,0.45l1.13,-0.74l0.82,-1.12l0.5,-0.14l0.26,0.25l-0.93,2.31l0.0,1.2l-0.88,1.36l-0.01,1.59l-1.04,3.06l0.08,1.53l0.52,1.33l-0.03,3.71l1.28,2.82l1.31,0.91l1.6,-0.18l2.06,-1.18l1.85,-2.94l0.65,-2.21l0.06,-1.63l-1.62,-4.6l0.51,-1.02l-0.37,-1.57l1.05,-1.53l0.25,-2.31l0.6,-0.28l0.29,-0.9l1.01,-0.36l0.59,-0.61l0.01,1.5l1.03,0.24l0.87,-1.74l0.03,-1.45l2.16,-0.77l0.11,-0.55l-0.79,-0.68l0.66,-0.98l0.67,-0.11l2.45,0.87l0.87,0.85l3.02,1.07l0.59,0.99l-0.47,0.25l-0.18,0.57l0.78,1.4l-0.16,2.39l-0.89,0.6l-0.43,1.17l-1.46,0.8l-0.33,1.56l0.64,0.78l1.29,0.3l1.2,-0.84l0.93,-1.39l1.36,-0.51l0.89,0.62l1.44,5.57l-0.32,1.53l-0.1,0.24l-0.61,-0.26l-0.79,0.4l-0.58,1.63l-1.04,0.7l-0.46,1.52l-0.85,0.97l-0.47,1.25l2.1,1.0l0.32,0.94l2.04,-0.01l0.77,0.36l2.0,-0.57l2.15,-0.15l2.51,-1.58l4.58,-1.66l4.22,-2.16l2.03,-1.39l1.41,-1.42l-0.18,-1.92l-0.77,-0.34l0.02,-0.49l4.11,-0.6l3.26,0.79l3.09,0.0l1.33,-0.54l1.21,-0.98l1.17,-0.25l0.47,-0.54l-0.21,-1.52l0.78,-0.89l-0.82,-1.14l2.0,-1.3l0.39,-0.78l1.78,-1.55l1.97,-1.19l17.64,-0.21l1.11,-1.73l0.86,0.11l0.68,-0.41l0.8,0.35l0.43,-0.86l0.64,-0.25l0.03,-0.88l1.31,-1.05l0.69,-1.13l0.3,-2.3l0.95,-1.3l0.29,-1.62l3.69,-4.59l0.38,0.09l0.16,0.96l0.77,0.52l0.79,0.03l2.53,-0.94l2.15,1.54l0.17,7.28l-0.35,1.42l1.9,1.06l0.04,1.81l0.98,0.94l0.74,-0.17l0.1,1.55l0.37,0.37l-0.54,0.49l-1.79,0.22l-0.49,0.51l-0.99,-0.07l-0.9,0.94l-0.85,-0.56l-1.66,0.31l-0.39,0.98l-0.32,-0.11l-0.12,-1.11l-0.63,-0.34l-0.98,0.84l-0.74,2.29l-0.51,0.44l-1.21,0.3l-1.16,-0.2l-0.88,1.04l-0.53,-0.28l-1.31,0.69l-0.46,0.59l0.1,0.56l-1.35,1.42l-1.19,1.91l-0.48,1.49l0.56,1.36l-1.58,1.56l0.05,0.59l1.52,0.6l1.05,2.4l0.85,0.62l-0.79,0.4l-0.05,-0.56l-0.51,-0.39l-2.2,1.14l0.22,-0.77l-0.39,-0.56l-0.51,0.21l-0.57,-0.49l-0.52,0.47l-0.5,2.09l-7.21,0.62l-3.28,1.55l-1.05,0.89l0.01,-1.67l-0.51,-0.54l-0.49,-0.02l0.07,2.24l-1.71,2.32l0.42,0.98l1.07,0.15l-0.34,1.93l-1.07,2.38l-0.83,0.71l-0.12,0.72l-0.79,0.46l-0.88,1.57l-0.11,-0.76l-1.29,-0.44l-1.72,-1.43l0.41,-1.38l1.16,-0.37l0.49,-0.53l0.05,-0.87l-2.07,0.88l-1.07,1.23l0.02,1.47l0.78,1.11l0.14,1.17l1.52,1.94l-0.49,1.01l0.74,0.44l-1.58,2.35l-1.26,2.95l-0.97,0.67l1.4,-2.64l-0.26,-0.53l-0.5,-0.13l-0.39,-0.9l0.13,-0.87l-0.47,-0.52l-0.93,0.36l-0.78,-0.8l0.09,-0.29l0.99,0.09l0.34,-0.6l-1.07,-0.91l0.45,-1.98l-0.51,-0.35l0.55,-0.74l0.92,-0.05l0.35,-0.34l-0.41,-1.27l-0.56,-0.42l-0.73,0.32l-0.2,0.75l-1.12,0.13l-0.44,0.81l-0.87,0.18l0.42,0.9l-0.32,0.59l0.25,0.51l-0.08,1.95l-0.53,-0.33l-0.29,0.43l0.19,1.0l0.91,0.92l-0.93,-0.24l-0.42,-0.62l-0.58,0.01l-0.46,-0.52l-0.79,0.22l1.1,-1.65l-0.03,-0.86l-0.39,-0.36l-0.6,1.12l-0.96,0.89l-0.2,1.56l0.61,0.47l0.84,-0.12l0.33,0.44l-0.8,0.22l0.12,0.44l4.21,3.97l-0.74,0.48l-1.12,-1.13l-0.45,-0.09l-0.19,0.7l0.75,0.95l-1.53,-0.55l-1.37,-0.09l-0.39,0.24l0.09,0.45l2.92,0.99l1.22,1.66l1.32,-0.3l0.96,0.18l0.27,0.87l-0.37,1.44l0.56,1.01l-0.77,-0.33l-2.22,1.47l-0.99,-1.23l-0.38,0.38l0.04,1.57l0.34,0.43l0.59,0.08l2.45,-0.21l-0.1,1.26l0.41,0.43l0.66,-0.27l0.52,-1.24l0.04,1.15l-1.73,1.51l-1.34,-0.29l-0.24,-0.53l-0.47,-0.2l-0.8,0.57l-1.36,-0.51l-0.49,0.12l0.34,0.9l2.11,0.88l-0.35,0.83l-0.53,0.33l-1.16,-0.84l-0.52,0.01l-0.07,0.52l0.49,0.75l1.43,0.66l1.34,-0.09l-1.45,0.66l-2.06,0.08l-0.56,0.49l-0.26,-0.54l-0.45,-0.16l-0.28,0.38l0.04,1.03l-2.19,1.99l-0.25,-0.18l-0.37,0.36l-0.16,1.11l-1.75,-0.03l-1.1,0.32l-1.41,0.9l-1.53,1.82l-0.52,0.1l-0.28,0.51l0.1,0.93l-1.44,0.68l-1.06,1.17l-0.5,-0.1l-0.4,0.91l-1.91,0.82l-1.5,-0.02l-0.25,0.37l0.24,0.34l-0.83,-0.36l-0.24,0.88l0.43,0.81l-0.63,0.37l-0.33,0.87l-0.88,0.33l-0.08,0.71l-0.46,0.37l-0.37,1.03l0.17,0.38l-0.82,0.89l0.35,0.47l-0.66,0.25l-0.1,0.41l-0.29,1.98l1.37,5.68l2.47,5.28l-0.38,0.46l0.46,2.11l3.22,7.28l0.34,1.36l-0.37,4.82l-0.85,1.44l-0.34,1.55l-0.41,0.38l-1.84,0.31l-0.23,-0.6l-0.69,-0.34l-1.2,-2.31l-1.88,-1.04l-0.41,-0.75l-0.27,-1.52l-0.34,-0.36l0.45,-1.21l-0.47,-0.11l-0.65,0.47l0.2,-1.38l-0.32,-0.63l-0.99,0.16l-0.22,0.38l-0.63,-0.87l-1.06,-2.1l1.14,-1.46l0.15,-0.73l-0.3,-0.42l-1.44,-0.52l-0.37,0.66l0.29,0.7l-0.38,-0.3l0.45,-2.01l0.46,-1.47l-0.02,-2.46l-0.68,-1.0l-2.63,-2.2l-2.16,-2.72l-2.05,-1.04l-1.55,0.31l-0.46,0.77l-1.88,0.76l-2.12,0.41l-0.27,-0.77l-1.32,-1.1l0.02,-0.78l-0.37,-0.62l-0.98,0.5l-1.5,-0.63l0.24,-0.27l-0.18,-0.37l-0.92,-0.39l-3.24,0.63l-0.14,-0.83l-0.55,-0.2l-0.71,0.14l-0.84,1.18l-0.74,-0.33l-1.24,0.74l-0.63,-0.84l-0.22,-1.09l-0.85,-0.45l-0.7,1.78l-2.49,0.05l-1.18,-0.33l-2.09,0.39l-1.41,0.98l-3.19,-1.17l-0.94,0.78l-0.41,0.77l0.14,0.53l0.74,0.46l0.77,0.22l1.47,-0.52l0.36,0.94l0.78,0.28l0.43,-0.07l0.44,-0.71l0.22,0.59l-1.41,0.71l-0.38,0.86l1.28,1.3l1.63,0.5l0.47,0.51l-0.24,0.22l-0.63,0.04l-0.48,-0.71l-1.66,-0.76l-0.56,-0.7l-1.57,-0.51l-0.52,0.36l0.54,0.81l-0.29,1.12l-0.39,-0.7l-0.57,-0.27l-1.21,0.16l-0.71,0.74l-1.16,-0.31l-0.62,-0.23l0.04,-0.51l-0.82,-1.35l-1.12,0.09l-0.69,-0.93l-1.58,-0.65l-1.06,0.47l-0.36,0.42l0.03,0.56l-0.38,0.09l-1.99,-0.21l-2.62,-1.02l-2.87,0.08l0.09,-0.92l-0.64,-0.28l-0.9,1.12l0.09,0.55l-2.58,0.9l-0.77,-0.22l-0.06,-0.74l-0.38,-0.33l-1.55,0.28l-0.29,0.45l0.59,1.7l-1.05,0.91l-0.69,1.13l-3.33,1.9l-2.03,-0.28l-0.36,0.27l-0.59,-0.59l-0.6,0.07l-0.18,0.53l0.69,1.3l-0.41,0.13l-0.34,-0.3l-0.66,0.22l-0.19,1.02l-1.47,0.21l-0.3,0.4l0.41,0.73l-0.32,0.38l-1.36,0.28l-0.05,0.55l0.59,0.75l-0.58,1.47l-1.66,-0.69l-0.13,0.47l0.39,0.94l1.07,0.44l-0.37,1.32l0.58,2.54l1.3,2.5l-0.7,0.35l-1.96,-0.86l-2.36,-0.36l-4.13,-1.76l-0.57,-1.63l-1.11,-1.55l-0.36,-2.86l-1.3,-1.03l-2.68,-3.2l-0.18,-0.96l-2.19,-3.83l-3.3,-3.22l-1.04,-0.43l-2.25,0.07l-1.89,-0.39l-1.64,0.74l-0.61,0.61l-0.81,2.36l-1.49,1.11l-3.68,-1.77l-2.02,-1.36l-1.01,-1.41l-0.3,-1.55l-1.27,-2.62l-6.36,-4.95l-1.58,-1.82l-9.2,-0.1l-0.4,0.4l-0.01,2.15l-13.99,0.03l-18.83,-6.51l0.31,-0.83l-0.42,-0.54l-11.88,1.0l-0.14,-0.52l-0.49,-0.26l-0.33,-2.13l-0.81,-1.22l-3.32,-2.59l-1.39,-0.06l-0.02,-0.56l-0.83,-1.09l-1.7,-0.05l-1.47,-0.47l-0.59,-0.81l-1.77,-0.95l-4.19,-0.28l-0.84,-0.52l-0.16,-3.08l-1.06,-0.64l-0.18,-1.14l-2.0,-1.55l-2.99,-3.75l-0.16,-1.06l0.6,-0.89l-0.05,-0.97l-0.68,-0.82l-1.32,-0.28l-1.0,-1.08l-0.52,-1.9l-0.0,-0.28l1.75,1.15l0.39,-0.59l-1.42,-2.56l3.89,-0.26l0.36,-0.35l-0.79,-0.59l-2.16,-0.25l-0.74,0.33l-1.08,-0.45l-0.93,0.58l-0.05,1.01l-1.32,-0.83l-0.02,-0.82l-1.1,-1.53l-2.94,-2.75l-0.58,-2.59l0.17,-1.5l-0.3,-1.11l-2.51,-2.91l-0.2,-1.18l0.86,-1.55l0.66,-4.41l-0.83,-2.11l0.12,-1.1l-0.77,-1.03l-0.25,-2.78l-0.63,-1.33l0.91,-2.99l0.68,-0.45l-0.16,-0.7l0.55,-1.26l1.12,-11.92l-0.09,-3.42l1.79,-0.24l1.06,0.48l0.86,-0.38l-0.2,-0.43l-1.45,-0.8l-2.57,-0.17l0.0,-0.28l0.5,-0.08l0.3,-1.51l-1.06,-1.14l1.07,-0.5l0.23,-0.41l-1.68,-0.81l-1.09,-3.83l-1.44,-1.99l-0.08,-1.99ZM600.53,354.34l0.0,-0.0l0.0,0.0l-0.0,0.0ZM565.54,376.21l1.34,0.45l1.32,1.05l-0.23,0.72l-0.34,-0.01l-2.09,-2.21ZM567.19,381.69l0.47,0.2l0.38,0.46l-0.19,-0.03l-0.65,-0.63ZM546.58,409.31l0.07,0.07l-0.02,0.1l-0.05,-0.17ZM330.49,318.83l-0.57,-0.55l1.23,-1.11l0.38,1.87l-1.04,-0.21ZM609.34,337.99l0.0,-0.0l0.0,0.0l-0.0,-0.0ZM580.89,360.6l2.41,-0.95l3.91,-0.3l0.1,0.27l-3.11,0.99l-2.68,0.36l-0.62,-0.36ZM530.89,327.73l0.08,-0.11l0.08,0.12l-0.17,-0.0ZM512.06,334.57l0.33,-0.38l-0.28,0.55l-0.04,-0.17ZM512.71,333.56l0.11,-0.21l0.12,-0.04l0.02,0.06l-0.24,0.19ZM505.9,320.05l0.92,-0.89l1.35,-0.49l0.06,0.31l-1.31,1.22l-0.1,-0.29l-0.92,0.14ZM99.81,185.08l0.47,0.25l1.71,-0.65l0.93,-0.84l1.72,-0.19l1.69,-1.48l1.69,-0.75l3.92,0.11l0.54,-0.43l-0.14,-0.62l-1.01,-0.61l1.53,-0.71l2.02,-0.26l2.97,-1.25l2.51,-0.2l0.47,0.44l-0.54,0.96l-0.02,0.78l-0.59,0.53l0.07,0.62l1.94,1.18l4.1,-0.12l1.54,0.4l4.04,-0.03l1.78,-1.88l2.33,0.69l0.21,-0.44l-0.51,-1.4l-1.87,-0.62l1.31,-0.11l2.59,1.04l2.27,-0.4l0.33,-0.38l0.0,-0.89l-0.84,-1.09l-1.59,-0.01l-1.28,-0.55l-2.69,0.98l-1.95,-1.09l-0.07,-0.52l1.16,-1.31l-0.03,-0.63l-0.65,-0.42l-1.38,-0.25l-1.83,0.22l0.01,-0.28l-0.66,-0.32l-0.75,0.62l-1.99,-0.05l-2.56,-0.61l-0.84,-0.7l-1.07,-2.33l-1.1,-1.32l-6.44,-3.84l-2.95,-0.99l-1.36,-1.04l-1.1,-0.35l0.99,-1.81l0.48,-2.5l5.5,0.0l4.72,-0.74l3.2,-1.91l1.87,-1.93l0.55,-2.25l0.66,-1.22l3.87,-3.74l0.79,0.16l5.1,-1.28l4.49,-2.62l-0.32,0.43l0.3,0.69l-0.3,0.69l0.36,0.56l0.7,0.01l0.53,0.48l0.34,-0.34l0.12,-1.58l2.04,-0.35l0.29,-0.43l-0.38,-0.35l-1.69,-0.05l-0.88,-0.77l1.26,-0.86l1.3,-0.59l0.1,0.79l0.7,0.2l1.33,-0.48l1.79,0.02l0.91,-0.39l2.84,-0.19l3.11,-1.74l3.35,-2.92l0.66,0.62l4.09,1.02l-0.02,0.48l-2.7,1.5l1.23,1.21l0.67,0.06l1.59,-0.59l1.99,-1.85l0.95,0.13l1.0,0.62l-0.36,0.47l0.12,0.64l3.05,0.88l1.67,-0.7l3.39,-0.49l2.19,0.5l1.51,-0.04l0.73,0.24l-0.76,0.65l-0.04,1.13l1.27,0.87l1.75,0.1l-0.33,0.28l0.23,0.7l3.68,0.31l2.9,-0.82l2.05,0.68l2.09,-0.69l1.53,-0.03l4.26,0.88l1.21,0.92l1.61,-0.35l1.3,0.46l1.01,0.81l3.28,0.43l1.7,-0.19l4.6,0.29l3.26,1.38l2.96,0.24l1.18,-0.53l3.37,-0.57l2.71,-0.1l2.39,0.69l2.15,1.51l3.01,0.89l1.58,1.09l1.74,-0.04l0.0,77.5l0.3,0.39l2.44,0.63l0.65,-0.52l2.14,0.78l1.79,-1.09l2.51,-0.1l-0.42,1.87l0.85,0.77l1.57,0.64l0.43,0.94l5.21,4.11l0.63,2.49l0.75,0.02l1.65,-1.05l-0.13,1.32l1.03,-0.02l1.22,0.49l0.72,0.66l0.18,0.83l1.07,0.06l0.68,1.12l-1.71,0.19l-0.72,0.59l-0.28,-0.1l-4.18,-2.27l-2.54,-2.74l-2.4,-1.35l-0.26,-0.41l-1.8,-0.51l-4.02,-1.92l1.05,-1.13l-0.23,-1.64l0.44,0.5l0.15,1.81l0.71,0.17l0.34,-1.56l0.94,0.01l0.33,-0.36l-2.46,-1.73l-0.88,-0.02l-1.98,1.58l-2.41,0.68l-2.05,-0.27l-2.34,-0.89l0.32,-0.8l-0.29,-0.75l-0.54,-0.36l-0.5,0.16l-0.09,0.63l-0.9,0.3l-4.41,-0.87l-2.08,-0.09l-5.47,0.66l-0.73,-1.04l-2.26,-0.55l-1.12,-0.6l0.97,-2.69l-0.72,-0.06l-2.25,1.91l-0.78,0.14l-1.79,-0.61l0.57,-0.89l-0.37,-0.53l-2.13,-0.06l-0.36,-0.56l-0.97,-0.05l-0.1,-0.54l-0.97,-0.43l0.1,-0.73l1.42,-0.41l0.29,-0.37l-0.27,-0.39l-1.68,-0.14l-1.98,1.13l-1.16,-0.11l-0.8,0.59l-1.34,-0.47l-0.39,0.6l-0.82,0.12l-0.23,-0.41l1.1,-1.52l-0.36,-0.63l-1.6,1.06l-1.08,0.01l-0.79,0.42l-0.22,0.32l0.19,0.56l0.4,0.04l-0.22,0.56l-0.82,0.07l-0.34,0.38l0.17,0.53l1.32,0.72l-0.11,0.34l-0.85,0.05l-0.66,0.45l-0.22,0.26l0.2,0.64l2.85,-0.62l0.28,0.24l-1.03,0.56l-0.16,1.68l-0.51,0.28l-0.51,0.95l-1.78,0.26l-1.63,-0.61l-0.54,0.2l-0.39,-0.59l-0.49,-0.15l-0.97,1.8l-0.8,-0.26l-0.54,1.05l-0.94,-0.04l0.06,0.82l-0.87,0.69l-0.62,-0.1l-0.79,0.34l-0.58,-0.2l-0.62,1.15l-1.26,1.17l-0.93,-0.32l-0.47,0.19l-0.02,0.32l-0.63,-0.1l-1.3,0.43l-1.19,-0.5l1.03,-0.8l1.61,-0.47l1.89,-2.03l0.0,-0.46l-0.42,-0.28l-2.04,1.04l-1.57,-0.61l0.52,-1.35l1.77,-2.29l0.44,-1.6l-0.22,-1.78l4.36,-2.11l1.6,0.7l2.38,-0.15l2.88,0.59l0.41,-0.29l-0.67,-0.96l-2.2,-0.42l-1.81,-0.93l1.15,-1.25l2.01,-1.01l0.23,-0.44l-0.37,-0.32l-1.58,0.09l-1.19,0.63l-0.71,0.99l-2.22,0.13l-0.95,-0.31l-3.49,2.03l-1.69,0.54l-1.07,1.06l0.01,0.75l-2.43,1.7l-0.32,0.76l0.14,0.44l-1.11,0.76l-0.74,0.18l-1.02,-0.43l-0.87,0.16l0.12,0.62l1.37,0.82l0.48,0.64l-0.5,0.66l-2.34,0.63l0.15,0.69l0.52,0.28l-0.79,0.27l-0.29,-0.46l-0.87,0.08l-1.09,0.74l0.07,0.42l-0.51,0.53l-1.62,1.04l-0.64,1.79l0.33,0.66l2.56,0.71l1.42,0.82l-1.29,1.35l-1.23,0.49l-0.87,0.75l-0.34,0.93l-0.93,0.41l-0.2,0.53l0.21,0.6l-1.39,0.23l-0.36,0.5l-1.82,0.25l-0.91,1.08l-2.22,1.07l-1.03,1.24l-1.1,0.17l-0.38,0.57l-0.72,0.07l-1.12,0.71l-0.39,0.64l0.4,0.72l-1.01,1.11l-0.62,0.07l-1.92,1.33l-1.56,0.28l-0.72,1.12l-1.44,-0.08l-0.94,0.48l-0.18,0.51l-1.65,0.52l-0.92,1.1l0.2,0.53l1.01,0.25l-0.39,0.46l-0.63,-0.54l-1.25,1.47l-3.18,1.01l-0.73,0.51l-0.6,-0.51l-0.61,0.07l-3.02,1.5l-0.53,0.61l-0.61,-0.1l-0.67,0.44l-0.79,-0.14l-1.34,0.85l-1.05,0.09l0.28,-0.5l0.66,0.09l0.42,-0.59l-0.19,-0.25l-0.86,-0.43l-1.07,-0.02l-0.88,0.55l-0.44,1.22l-1.17,1.32l-1.58,0.92l-0.72,-1.22l-0.68,-0.15l2.61,-2.67l2.26,-1.29l1.98,-0.66l0.41,0.35l0.58,-0.02l1.27,1.41l0.7,-0.12l0.14,-0.68l2.0,0.47l0.41,-0.39l-0.04,-0.46l-1.27,-0.97l1.09,-1.96l2.54,-1.72l2.52,-0.91l1.46,-1.2l1.62,0.43l0.34,-0.55l0.0,-1.45l1.62,-1.75l2.32,-1.63l1.37,0.35l0.61,-0.2l0.17,-0.59l-1.12,-1.08l0.43,-2.63l0.19,-0.45l1.59,-0.31l0.35,-0.35l-0.25,-0.42l-1.32,-0.39l-0.11,-0.83l1.34,-1.41l1.26,-0.69l-0.06,-0.7l1.08,-2.48l-0.16,-0.51l-0.53,0.11l-1.59,1.82l-5.12,1.91l-1.2,-1.43l0.09,-0.44l0.41,-0.27l1.22,0.23l0.4,-0.28l-0.17,-0.46l-1.82,-0.88l-0.72,0.12l-0.82,1.01l-0.82,-0.2l-0.42,2.15l0.44,1.6l-0.44,0.39l-3.5,-3.66l-0.75,0.06l-0.73,0.51l-2.47,-1.68l-2.3,1.32l-2.09,0.54l-0.87,1.03l-2.03,0.33l0.75,-0.62l-0.19,-1.8l0.71,-1.03l-1.72,-0.31l-0.15,-0.75l0.72,-1.08l0.21,-1.49l-2.11,-4.47l-0.79,-0.77l1.23,-2.15l0.89,-0.49l0.01,-0.71l-1.5,0.1l-2.66,3.1l0.02,0.73l0.58,0.29l-0.09,1.06l-0.82,0.06l-2.35,1.06l-3.31,0.29l-0.91,-0.52l-0.12,-0.84l-1.69,-1.15l-0.94,-1.14l-1.91,-0.77l-0.1,-0.86l-0.93,-0.22l1.68,-1.95l2.42,0.74l-0.3,1.35l0.45,0.12l1.89,-1.29l0.95,1.18l0.51,0.1l1.15,-0.68l0.55,-0.72l-0.09,-0.57l-0.88,-0.47l0.04,-0.65l-0.88,-0.55l-1.56,0.77l-5.11,-0.44l0.91,-0.52l0.24,-0.48l-0.37,-0.47l-0.98,0.1l0.03,-0.29l-0.76,-0.3l-0.26,-0.76l-0.75,0.22l-0.31,1.14l-0.32,-0.0l-0.5,-1.28l-0.96,-0.49l0.35,-0.64l-0.23,-0.83l-0.84,-0.28l-0.68,0.24l1.67,-0.7l-0.14,-0.66l-0.83,-0.32l1.78,-0.28l0.19,-0.68l-0.47,-0.54l0.07,-0.81l2.52,-2.85l0.74,-0.36l0.94,0.36l0.59,-0.22l-0.19,-0.67l0.56,-0.24l0.58,-0.97l-0.57,-0.43l-0.62,0.34l0.11,-1.53l0.42,-0.57l1.71,-0.37l-0.1,-0.6l-0.47,-0.36l0.24,-0.25l2.09,-0.24l1.3,0.7l-0.5,0.39l0.01,0.55l0.59,0.14l0.98,-0.6l1.18,0.43l1.82,-0.58l1.67,-1.22l1.8,-2.13l1.35,0.66l3.67,-0.36l1.05,-0.59l1.42,-1.41l0.33,-1.13l-1.16,-3.68l-1.93,-1.54l1.41,-0.11l0.73,-0.42l0.64,-1.0l-0.1,-0.97l-1.13,-1.33l-0.94,-0.3l-1.55,1.07l-1.66,-0.05l-0.49,0.53l-1.54,0.54l-2.74,2.39l-0.42,-1.06l-1.67,-1.12l-0.97,0.39l0.07,0.74l-1.82,-0.66l-3.13,0.02l-1.91,0.59l-0.61,-0.1l-0.93,0.59l-5.84,-1.05l-1.43,-0.96l0.37,-0.68l-0.31,-1.19l-1.56,-0.99l0.91,-0.13l0.62,-0.82l1.77,-0.27l-0.28,-0.71l-6.51,-1.21l-2.87,-1.18l-0.17,-0.49ZM131.96,178.57l-0.62,0.13l-0.11,-0.08l0.08,-0.39l0.65,0.34ZM129.77,176.2l-1.57,-0.58l-0.42,-0.77l1.02,-0.09l1.03,1.14l-0.05,0.31ZM126.91,265.27l-0.23,1.67l-0.56,0.25l-0.57,-0.56l-0.83,-0.24l-0.47,0.31l0.07,0.71l-0.19,0.28l-0.01,-1.02l0.71,-0.43l1.02,-0.0l1.07,-0.98ZM258.69,237.55l1.95,-0.47l0.57,-0.96l0.06,-1.14l0.94,-0.43l0.07,-0.83l3.61,-1.24l1.88,1.41l-0.11,1.0l0.77,1.29l2.52,1.51l0.74,1.4l2.46,1.48l1.96,2.02l0.03,0.67l5.91,8.15l-0.41,0.66l0.24,0.6l1.16,0.29l-0.25,0.84l0.24,0.49l0.88,0.34l0.3,1.26l0.42,0.37l1.16,-0.06l2.42,1.35l1.71,0.46l1.29,0.78l0.51,0.83l1.56,0.18l0.15,0.98l-0.63,1.85l0.56,2.42l-0.92,1.9l-1.5,1.44l-1.05,-0.13l-0.86,-2.16l1.22,-0.56l0.29,-0.5l-0.57,-0.48l-0.34,-2.73l-1.04,-1.57l0.41,-1.02l-0.46,-0.11l-3.87,1.54l-0.91,2.35l-0.45,-0.22l-0.26,-0.66l1.76,-2.77l1.38,-0.36l0.27,-0.42l-0.35,-0.35l-1.53,-0.19l-0.6,-0.9l-0.87,-0.36l-0.83,-1.4l-0.56,-0.22l-0.33,-0.97l-1.39,-0.79l-0.08,-1.11l-3.2,-0.96l0.09,-1.05l-0.84,-2.02l1.77,0.89l0.53,-0.09l0.02,-0.66l-1.94,-1.57l1.5,-0.03l-0.1,-0.76l-1.96,-0.36l-0.67,0.6l-1.39,-1.53l-0.03,-1.27l0.84,-1.67l-0.42,-0.55l-0.61,0.3l-1.1,1.75l-2.52,-1.43l-1.05,-2.29l-0.72,-0.55l-1.28,-4.45l-0.65,0.14l-0.67,2.01l0.55,0.8l1.62,5.81l-0.62,-0.11l-1.42,-1.16l-1.42,0.07l0.15,-1.09l-0.85,-1.46l0.84,-0.44l0.21,-0.43l-0.36,-0.32l-0.87,0.06l-0.57,-1.11l-0.64,0.29l0.06,1.73l-1.69,-1.29l-1.76,-0.53ZM285.0,265.19l-0.1,-0.78l1.01,-1.3l0.1,-1.53l1.43,-0.7l1.16,1.68l-0.52,2.55l-0.36,0.23l-0.75,-0.38l-0.07,-0.78l-0.72,-0.03l-1.18,1.04ZM286.27,266.56l0.09,-0.38l-0.06,-0.26l0.39,0.85l-0.41,-0.22ZM286.98,267.33l0.17,0.3l-0.22,-0.01l0.05,-0.29ZM275.68,261.7l0.04,-0.0l0.35,0.19l-0.18,0.01l-0.22,-0.2ZM276.58,261.93l0.6,-0.38l0.57,-0.95l-0.52,-1.01l-1.4,0.11l0.43,-0.76l-0.32,-0.84l1.45,0.1l0.56,1.63l1.67,0.66l1.03,0.99l0.59,1.2l-0.35,-0.01l-0.67,0.92l0.14,0.69l1.1,-0.03l1.02,0.83l-0.19,0.77l1.11,0.22l-0.11,2.84l-1.09,-1.3l-1.09,-0.39l-0.45,-1.29l-0.56,-0.04l-0.31,0.43l-1.08,-1.32l0.47,-0.38l-0.58,-1.05l0.03,-0.85l-1.31,-0.12l-0.73,-0.65ZM280.54,258.81l1.39,-1.79l1.0,1.39l-0.27,1.62l-0.68,0.12l-0.09,-0.57l-1.27,-0.38l-0.08,-0.39ZM276.74,265.42l0.24,-0.06l0.29,0.23l-0.23,-0.04l-0.31,-0.12ZM277.71,265.94l0.52,0.7l0.14,0.61l-0.46,-0.77l-0.2,-0.55ZM278.46,267.38l0.07,0.09l0.3,0.55l-0.25,-0.35l-0.13,-0.28ZM279.22,268.42l0.87,-0.18l-0.08,0.6l-0.23,0.13l-0.56,-0.54ZM278.87,257.49l0.32,-0.26l0.85,0.03l-0.07,0.49l-0.35,0.18l-0.74,-0.44ZM279.27,256.0l0.38,-0.91l0.64,0.64l-0.67,0.28l-0.35,-0.01ZM274.16,252.77l3.87,0.62l0.4,0.45l-0.02,1.22l-1.3,-1.33l-0.59,0.26l0.9,2.33l-1.72,0.04l-0.26,-2.27l-1.29,-1.32ZM275.48,263.85l0.19,0.04l0.47,0.03l-0.41,0.53l-0.26,-0.6ZM272.76,258.99l0.09,-1.62l0.4,-0.22l0.12,-0.6l-0.91,-0.82l-0.56,-1.06l0.06,-0.47l0.73,-0.44l0.85,0.95l0.62,0.16l0.23,0.49l-0.55,0.46l-0.45,3.0l-0.62,0.17ZM269.79,244.57l1.99,0.27l-0.26,0.42l0.22,1.2l1.68,2.24l0.04,1.38l-0.81,0.33l-0.78,1.07l-0.96,0.62l-0.18,-0.56l0.67,-2.22l-0.91,-1.32l-0.7,-3.43ZM264.84,252.18l-0.27,-1.27l0.91,-0.4l0.71,-1.18l2.01,1.19l1.65,4.18l-0.02,3.29l-0.97,-1.71l0.47,-1.25l-0.94,-0.11l-0.41,-0.29l-0.1,-0.68l-0.86,-0.09l0.68,-1.38l-0.73,-0.48l-0.23,-0.8l-0.41,-0.45l-0.6,-0.08l-0.9,1.52ZM261.72,244.6l0.54,0.46l0.66,-0.3l0.05,-0.34l1.32,-0.49l0.66,0.62l-0.48,0.84l0.58,0.51l1.53,-0.93l1.54,0.47l0.06,1.07l-1.21,-0.0l-0.55,0.35l0.01,0.68l1.83,0.37l0.2,0.92l-2.95,-1.28l-0.66,0.45l-0.19,1.33l-0.73,-0.13l-0.84,-1.63l-2.31,-1.95l0.18,-0.54l0.74,-0.49ZM208.99,227.43l0.32,-0.25l0.78,0.33l-0.85,0.37l-0.26,-0.45ZM203.17,231.47l1.01,-1.0l0.66,-0.42l-0.7,0.99l-0.96,0.43ZM205.79,229.04l0.61,-0.95l0.34,0.18l-0.95,0.77ZM202.92,228.29l0.13,-0.2l0.12,-0.48l0.06,0.13l-0.25,0.63l-0.06,-0.08ZM201.4,229.75l0.03,-0.01l-0.02,0.01l-0.02,-0.0ZM175.19,244.72l1.4,-1.03l0.98,0.13l0.36,-0.39l-0.12,-0.81l0.25,-0.08l1.16,0.65l0.72,-0.26l1.17,0.65l-0.23,0.26l-0.76,-0.62l-0.64,0.44l-0.11,0.49l-1.08,-0.25l-0.58,0.81l-1.04,0.42l-1.49,-0.41ZM168.94,251.96l-0.92,-1.76l0.72,-1.11l1.22,-0.55l0.86,0.01l1.15,1.97l0.71,0.46l0.48,-0.12l-0.58,-2.33l0.63,-0.59l-1.03,-0.91l0.19,-0.23l1.49,1.08l0.69,-0.53l1.05,-0.17l0.28,-0.98l0.61,0.15l0.02,0.9l0.49,0.35l1.84,-0.56l-0.15,0.92l1.11,0.69l-0.48,0.48l-2.71,-0.34l-0.49,0.32l0.12,0.7l1.22,0.29l-2.7,0.75l-2.55,1.63l-0.78,-0.33l-0.48,-0.66l-1.46,0.02l-0.58,0.47ZM168.99,252.11l0.34,0.43l0.53,0.07l-0.11,0.45l-0.68,-0.68l-0.08,-0.26ZM172.59,252.88l0.13,0.05l-0.15,0.19l0.01,-0.24ZM172.34,253.43l-0.11,0.14l-0.15,0.08l0.26,-0.23ZM174.9,252.33l0.03,-0.27l0.32,-0.15l-0.35,0.42ZM162.0,476.41l2.89,1.32l0.52,1.03l1.24,1.17l-0.94,0.68l-1.37,0.36l-1.15,0.8l-0.4,0.68l-0.86,-0.52l0.05,-1.42l-0.72,-1.78l1.03,-1.21l-0.28,-1.11ZM157.93,472.28l0.09,0.07l0.31,0.38l-0.45,-0.35l0.05,-0.1ZM158.79,472.87l0.75,-0.17l1.0,0.67l-1.39,0.38l-0.37,-0.88ZM156.39,472.94l0.0,0.0l-0.0,0.0l-0.0,-0.01ZM149.99,469.25l0.86,-0.5l0.49,0.96l0.64,0.47l-1.17,-0.55l-0.3,0.32l-0.52,-0.7ZM142.16,466.42l0.69,-0.53l0.91,0.11l-0.44,0.89l-1.16,-0.47ZM140.51,266.38l0.09,-0.12l0.02,-0.0l-0.09,0.11l-0.03,0.01ZM136.74,264.95l0.58,0.44l0.16,0.32l-0.75,-0.07l0.01,-0.69ZM135.34,240.76l0.42,-0.41l0.25,-0.09l-0.38,0.6l-0.29,-0.1ZM122.47,267.59l0.61,1.3l-0.73,0.57l-2.68,0.09l-2.03,1.38l-1.56,-0.05l-0.13,-0.58l0.85,-0.57l1.05,-1.44l1.1,0.01l2.23,-1.0l0.91,-0.01l0.38,0.3ZM103.3,229.09l2.32,0.09l0.71,-0.79l2.59,-0.58l0.74,0.47l1.36,0.05l-0.03,1.53l0.56,0.91l-1.51,0.13l-1.13,0.7l-4.64,-1.6l-0.98,-0.92ZM109.88,273.55l0.27,-0.32l0.5,0.19l-0.23,0.11l-0.54,0.01ZM101.42,279.05l0.19,-0.06l0.45,-0.04l-0.56,0.13l-0.08,-0.03ZM104.34,277.95l0.65,-1.12l0.97,0.33l0.38,-0.49l0.04,-0.66l-1.68,-0.5l-0.03,-0.27l1.68,-0.54l0.32,0.88l0.38,0.09l-0.33,0.71l0.34,0.32l-1.32,0.95l-1.4,0.31ZM95.96,281.16l0.47,-1.15l1.1,-0.14l-0.62,0.74l-0.96,0.54ZM98.16,279.26l-0.1,-0.69l0.39,-0.43l0.93,-0.34l0.8,0.21l-2.02,1.25ZM81.67,202.06l0.43,0.35l2.12,0.24l3.04,-0.91l1.29,0.53l0.72,1.13l1.92,0.48l0.43,0.47l3.9,0.43l-0.31,0.41l-2.74,0.09l-1.06,0.96l-0.18,0.59l-0.64,-1.17l-1.93,-0.65l-1.21,-1.2l-2.21,-0.79l-1.25,-0.03l-1.8,0.87l-0.91,-0.07l-0.63,-0.45l-0.02,-0.94l0.35,-0.83l0.67,0.5ZM74.39,226.48l-0.16,-0.06l0.01,-0.05l0.08,-0.04l0.06,0.15ZM66.52,287.35l1.04,-0.28l0.21,-0.15l0.01,0.11l-1.27,0.32ZM67.96,286.34l-0.26,-0.44l0.8,0.03l-0.05,0.21l-0.49,0.2ZM54.59,290.07l0.81,-0.77l0.42,0.4l-0.89,0.5l-0.34,-0.13ZM55.41,288.96l-0.0,-0.03l0.02,-0.05l-0.02,0.08ZM55.43,288.86l0.07,-0.19l0.04,0.0l-0.11,0.19ZM48.47,289.12l0.89,0.46l-0.35,0.6l0.03,-0.51l-0.57,-0.54ZM36.26,288.51l0.19,-0.11l0.18,0.1l-0.13,0.05l-0.24,-0.05ZM5.93,285.16l0.05,-0.02l-0.01,0.05l-0.04,-0.02ZM1.03,281.63l2.02,0.1l0.77,0.4l-1.6,0.43l-1.19,-0.92Z\",\\n      \"name\": \"United States\"\\n    },\\n    \"GL\": {\\n      \"path\": \"M598.7,69.97l1.63,-0.74l0.09,-0.71l-1.9,-0.19l-1.15,0.49l-1.8,0.08l-5.77,-1.76l-3.11,-2.09l1.12,-1.04l-0.56,-1.19l1.29,-1.04l3.77,-1.32l3.78,-0.16l4.75,-1.56l5.05,-0.91l0.6,-0.42l-0.3,-0.74l2.82,-0.87l5.16,-0.96l6.51,0.06l1.49,-0.7l2.14,-1.96l0.73,-1.18l2.47,-6.42l2.94,-1.06l0.21,-0.66l-1.67,-0.63l-2.76,0.69l-2.12,0.06l-2.11,0.62l-3.18,-0.65l-2.01,0.04l-0.89,-0.44l-0.59,-0.94l0.69,-1.6l3.31,-2.23l3.77,-1.23l5.68,-3.71l3.89,-0.67l1.26,0.46l1.93,1.51l0.52,0.02l0.23,-0.58l-0.99,-2.17l0.07,-0.44l0.93,-0.64l3.31,0.18l3.37,0.94l1.28,-0.24l1.56,-1.92l0.38,-1.53l-0.56,-4.14l1.67,-1.2l2.01,-0.77l1.62,-0.2l4.06,0.65l4.29,2.36l4.71,1.83l3.29,1.91l1.42,0.28l0.37,-0.6l-1.4,-1.33l-5.09,-2.47l-4.9,-3.16l-1.73,-0.58l2.14,-0.82l5.07,-0.93l5.72,-0.73l5.34,-0.23l1.11,-0.68l3.92,-0.63l2.72,0.84l1.47,1.31l0.4,1.12l-0.04,4.69l0.24,0.49l0.56,0.12l2.13,-1.82l0.66,-1.07l0.6,-2.09l-0.89,-1.25l-0.04,-1.4l0.29,-0.57l0.91,0.0l5.13,2.98l2.08,0.67l2.29,1.58l5.5,0.1l1.81,-0.34l0.09,-0.67l-0.78,-0.67l-3.61,-1.87l-1.55,-1.38l-1.22,-2.22l4.34,-0.06l5.94,0.83l7.64,2.88l3.79,0.96l6.74,3.3l3.0,0.64l0.89,-0.47l0.57,-0.76l-0.53,-3.14l0.41,-1.71l1.08,-0.67l0.53,-1.07l-0.6,-1.5l-1.34,-0.93l-4.4,-2.03l1.74,-0.26l12.31,0.55l4.03,0.77l2.65,-0.31l0.35,-0.44l-0.17,-0.8l-0.6,-0.49l-17.03,-1.33l-6.91,0.32l-1.23,-0.83l1.08,-0.98l3.89,0.54l1.46,-0.76l2.3,-0.63l2.38,-0.24l5.1,-1.38l4.61,0.3l2.21,1.07l2.67,0.61l3.44,-2.28l1.54,-0.67l2.25,0.4l2.85,1.2l1.98,0.38l3.27,2.21l0.85,0.07l0.93,-0.77l0.49,-1.98l-0.46,-0.42l-2.74,-0.92l-0.85,-0.75l0.3,-0.37l2.85,-0.11l1.76,-1.1l4.75,0.4l0.59,-0.18l0.41,-0.72l5.83,-0.02l3.96,-0.42l2.67,0.54l1.61,-0.01l4.38,-0.91l11.61,0.08l3.8,0.37l4.86,0.77l2.56,0.89l7.47,0.77l5.3,1.07l-20.87,0.96l-9.71,0.92l-0.39,0.34l-0.2,1.3l0.37,0.46l1.07,0.07l9.55,-1.69l9.21,0.6l5.95,-0.04l9.4,-1.15l3.23,3.47l2.88,-0.0l1.23,0.83l1.6,-0.11l4.43,0.51l4.11,1.3l0.61,0.73l-2.1,1.33l-2.39,0.96l-3.25,0.74l-3.77,0.47l-29.21,1.57l-1.11,0.4l-0.79,1.11l0.35,1.56l1.69,0.47l8.79,-1.34l13.62,0.59l2.69,1.38l1.85,2.32l3.36,-0.5l0.85,-0.43l1.99,-2.93l2.63,-0.48l6.03,-0.2l0.71,0.86l0.21,1.23l-0.14,2.04l-0.39,1.05l-2.41,2.95l-6.98,5.17l-0.63,0.95l-0.1,0.89l0.72,0.54l1.12,-0.74l0.71,-0.91l3.71,-1.27l3.28,-1.91l2.9,-1.21l4.47,-3.5l1.85,-0.86l1.66,-0.0l0.29,1.25l0.35,0.31l3.57,0.18l5.27,1.2l1.28,-0.45l4.85,-3.92l3.97,-0.98l8.88,0.58l6.46,1.3l4.69,2.28l-3.7,1.5l-1.25,0.96l-4.94,2.29l-5.1,0.54l-0.43,0.38l0.07,0.57l1.16,1.03l-1.09,0.77l-3.48,0.49l-1.82,0.85l-4.02,0.03l-2.26,0.91l-0.11,0.68l0.88,0.74l3.04,0.95l-2.44,1.43l-2.5,0.69l-5.4,0.22l-5.75,-1.04l-1.23,0.04l-2.48,1.42l-1.51,1.63l-0.23,2.05l0.7,1.23l1.39,0.42l2.23,-0.0l0.26,0.43l-0.57,2.09l-0.08,1.72l0.32,0.33l1.17,0.2l0.71,1.1l-3.65,1.23l-0.91,1.82l-0.66,0.63l-2.82,0.42l-2.76,1.68l-0.22,0.44l0.2,0.44l0.75,0.5l-1.21,1.96l-1.01,3.34l-1.79,3.12l0.05,1.12l0.92,0.9l0.43,0.05l1.16,-0.62l1.21,-1.57l1.18,-0.61l2.59,0.52l4.13,1.53l0.77,0.82l-0.59,0.07l-3.48,-1.3l-2.71,0.79l-0.2,0.58l1.11,1.87l1.46,1.05l2.13,0.38l2.56,1.18l2.26,-0.6l2.06,0.18l0.57,1.06l-0.21,2.11l-1.04,1.41l-6.33,-1.61l-3.29,-0.07l-2.33,0.36l-0.38,0.6l-3.08,1.52l-2.67,-1.1l-0.92,-0.03l-1.33,0.75l-0.47,0.63l0.18,0.55l0.91,0.64l2.74,0.51l0.62,1.76l1.49,1.45l1.76,0.09l1.45,-0.35l1.66,0.65l2.24,0.2l0.93,0.78l-0.33,1.41l2.24,2.42l0.71,3.71l-0.04,0.81l-0.6,0.95l-0.98,0.19l-2.02,-1.51l-1.66,-0.13l-2.32,1.63l-1.67,0.24l-2.01,1.11l-2.79,-0.94l-0.5,0.16l0.1,0.52l2.48,1.6l1.08,-0.0l2.41,-1.0l0.65,0.05l0.63,1.44l-0.04,0.68l-1.25,1.67l0.32,0.39l0.9,0.18l1.6,-1.01l1.06,-2.53l0.74,-0.32l0.91,0.35l2.19,3.44l1.31,0.85l0.16,1.15l-0.45,0.88l-1.23,0.22l-3.12,-0.25l-0.4,0.47l0.07,0.44l-1.79,0.56l-2.33,0.25l-3.68,-1.13l0.81,-2.1l-0.12,-0.41l-1.36,-0.96l-0.42,0.49l0.14,1.41l-1.86,1.02l0.6,1.12l-0.69,1.38l1.22,1.12l5.8,0.53l3.14,0.87l-0.79,2.9l-5.04,0.49l-3.27,1.58l-0.68,0.01l-4.41,-1.23l-2.62,-1.39l-1.98,-2.14l-0.57,-0.01l-1.42,1.28l-0.91,0.21l-4.2,-2.44l-0.54,0.25l0.08,0.52l3.35,2.7l-2.16,0.71l-1.83,1.36l-1.83,0.33l-6.03,-1.77l-0.47,0.14l0.02,0.49l0.52,0.61l2.9,1.0l-0.46,0.34l-2.63,-0.06l-1.67,0.41l-0.18,0.57l0.22,0.35l1.22,0.54l0.96,-0.64l2.2,0.1l6.9,-1.51l0.81,-0.89l0.92,-0.29l2.33,-0.25l3.35,0.23l3.3,1.97l1.26,0.24l0.78,0.85l3.95,1.49l0.14,2.5l-0.31,2.02l-0.86,0.43l-0.22,0.43l0.06,1.57l-8.56,-3.46l-1.38,-1.7l-1.7,-3.6l-2.02,0.26l-0.91,0.32l-0.53,0.57l-4.75,1.23l-2.31,0.77l-0.27,0.37l0.25,0.38l1.59,0.44l7.81,-2.18l0.59,2.64l-0.16,0.47l-2.47,1.05l-0.07,0.62l0.44,0.44l2.87,-0.63l0.85,0.71l4.2,1.98l5.47,2.12l0.83,1.44l1.5,0.21l-2.37,1.69l0.04,1.46l0.32,1.27l0.38,0.3l0.39,-0.28l0.53,-1.55l1.46,-0.58l0.69,0.18l0.35,2.24l-0.01,3.23l0.7,3.0l-1.62,0.44l-1.9,-0.19l-0.27,-3.28l-0.69,-0.26l-0.56,0.73l-0.62,3.04l-2.98,-0.1l-2.25,-0.91l-0.83,-0.78l-1.24,-2.4l-0.24,-1.25l-0.67,-1.05l-1.0,-0.76l-6.82,-3.3l-4.19,-0.13l-1.73,-0.44l-0.94,0.32l-0.16,0.5l0.59,0.89l6.35,0.48l0.52,0.79l0.13,0.79l-0.27,0.55l-1.98,1.16l-2.75,0.9l-3.05,-0.02l-2.87,-0.46l-2.72,0.1l-0.13,0.71l1.95,0.87l-0.37,1.32l-1.61,1.03l-3.11,1.01l-0.44,0.68l0.39,0.26l2.65,-0.3l2.75,0.69l6.49,-0.68l0.62,0.23l-3.16,1.04l-1.87,1.23l-0.49,1.06l0.27,0.53l1.25,0.33l0.91,-0.49l1.22,-1.45l1.24,-0.33l1.65,0.18l1.44,-0.23l3.13,-0.98l3.91,0.52l5.57,1.44l6.94,0.13l-0.77,0.51l-3.1,0.8l-0.28,0.16l-0.02,0.77l-3.84,0.52l-0.13,0.72l0.58,0.69l-0.74,0.19l-1.88,-0.24l-0.14,1.37l-2.8,1.28l-1.69,0.31l-0.16,0.64l0.36,0.4l-2.19,1.0l-0.71,1.32l-3.85,1.84l-9.64,2.05l-4.52,1.3l-3.17,-0.11l-1.74,0.99l-2.42,-0.46l-0.49,0.46l0.52,0.82l-1.45,0.37l-2.1,-0.55l-4.63,-2.72l-0.57,0.42l0.67,1.38l-0.82,0.34l0.99,1.99l-0.83,0.75l-3.9,2.06l-1.23,1.87l-0.88,0.72l-0.11,1.0l-2.89,4.51l-0.58,0.64l-1.04,0.15l-1.02,1.61l-2.61,1.46l-1.03,-0.08l-2.18,-1.45l-0.63,0.37l0.03,0.3l1.09,2.07l-0.68,0.51l-2.33,1.58l-0.17,-0.75l-0.71,-0.41l-0.6,0.38l-0.49,1.37l-0.66,0.18l-1.44,-0.74l-1.44,0.95l-0.34,0.85l-1.57,0.42l-0.74,-0.45l0.92,-1.12l0.06,-1.04l2.62,-3.11l-0.38,-0.42l-2.63,-0.52l-1.93,-0.01l-0.31,0.32l0.18,0.41l1.52,0.83l-0.73,0.77l-0.65,1.62l-1.65,-0.75l-0.44,0.11l-0.05,0.45l0.54,0.9l1.03,0.63l0.0,0.51l-1.89,0.63l-7.78,0.57l-0.38,0.28l0.12,0.77l2.69,1.26l-1.87,1.53l-0.99,0.38l-2.0,-0.47l-2.16,0.06l-0.46,0.38l-0.02,0.54l0.65,1.52l0.42,0.28l1.43,-0.32l0.88,1.67l1.2,1.34l-1.19,0.85l-1.04,0.11l-0.5,0.87l-1.88,-0.47l-2.06,-0.14l-0.41,0.3l0.21,0.46l2.77,1.43l1.89,-0.12l-0.12,1.49l0.46,1.34l-0.92,0.66l-0.18,0.78l-0.98,0.06l-0.43,0.38l-0.52,1.46l0.14,0.44l-1.08,1.33l-2.06,-0.03l-1.7,-1.09l-0.52,0.51l0.58,0.95l2.07,1.04l-1.12,1.27l-0.67,0.32l-3.97,-0.25l-0.81,0.34l0.7,0.84l3.2,0.81l-0.72,2.84l0.87,1.41l0.14,0.93l-0.41,0.39l-1.35,0.14l-0.5,0.42l0.21,0.67l0.92,0.24l-1.53,4.34l-0.36,2.25l-1.49,1.67l-1.27,0.02l-2.35,-0.58l-1.04,0.25l0.07,0.7l0.55,0.35l3.06,0.93l0.35,2.12l-0.75,0.76l-1.22,-0.05l-1.72,-0.66l-0.51,0.52l0.96,0.9l-0.39,0.15l-0.51,-0.06l-0.3,-0.76l-1.38,0.18l-0.12,-0.39l1.33,-1.63l-0.32,-0.72l-0.52,-0.01l-1.73,1.86l-3.48,-1.27l0.04,-0.68l1.24,-0.35l1.24,-0.94l0.64,-1.04l-0.14,-0.56l-0.52,-0.04l-1.63,1.18l-1.22,0.41l-3.2,-1.21l-0.36,-0.92l1.45,-3.05l-0.12,-0.52l-0.48,-0.25l-0.59,0.25l-0.27,0.75l-2.89,1.04l-1.43,1.06l-1.68,0.25l-1.74,-0.48l-1.12,0.14l-0.41,0.47l0.08,0.34l-1.46,-0.32l2.11,-1.05l-0.08,-0.73l-2.85,-0.1l-0.37,-1.3l-1.07,-0.56l-1.42,-0.2l-0.57,-1.72l-0.97,-0.4l0.25,-0.57l-0.9,-1.63l2.5,-1.22l0.29,-0.39l-0.3,-0.38l-1.68,-0.26l-1.22,0.81l-1.1,0.07l-0.01,-0.61l0.51,-0.56l-0.12,-0.63l-2.0,-0.73l-1.57,-1.0l0.07,-1.79l2.35,-2.28l0.1,-0.51l-0.48,-0.18l-1.53,0.54l-1.2,1.09l-0.55,-0.8l-1.44,-1.08l-3.63,-5.13l0.39,-1.05l-0.26,-0.72l3.83,-1.03l1.75,-0.16l0.66,-0.46l0.1,-0.47l-0.99,-0.16l0.11,-0.38l-0.5,-0.49l-1.49,0.75l-4.06,0.99l-0.36,-0.37l1.4,-1.96l0.74,-0.68l1.77,0.03l0.46,-0.49l-0.08,-0.32l1.44,-0.29l0.49,0.06l0.87,1.41l0.95,0.52l0.57,-0.39l-0.72,-2.4l-0.98,-0.67l-1.14,0.04l-1.88,-3.34l-0.47,-0.25l-0.46,0.5l1.02,3.39l-1.31,0.68l0.16,-0.62l-0.53,-0.47l-0.59,0.23l-0.67,0.53l-2.35,3.81l-0.59,-0.71l-0.12,-2.7l-0.87,-3.91l-1.01,-0.64l-0.32,-0.63l1.57,-0.73l2.79,-2.22l2.57,-0.3l0.37,-0.62l-0.7,-0.47l-3.04,0.54l-3.19,2.19l-0.77,-0.0l-1.31,-1.08l-1.79,0.14l-0.14,-1.21l0.62,-1.65l-0.37,-0.54l-0.79,-0.21l6.36,-3.55l0.92,-1.04l1.86,-0.89l1.62,-1.43l-0.25,-0.56l-0.58,-0.05l-8.95,5.88l-2.44,0.46l-0.05,-1.84l1.02,-1.79l1.41,-0.81l0.45,-0.61l2.97,-0.28l0.37,-0.26l-0.03,-0.65l-1.04,-0.3l-4.55,-0.15l-1.01,-0.43l-0.84,-1.07l0.39,-2.11l4.03,-2.23l2.16,-0.6l3.03,0.85l3.64,0.22l2.39,1.09l0.77,-0.15l0.22,-0.56l-0.33,-0.46l-2.03,-0.88l0.78,-0.35l0.01,-0.72l-0.42,-0.2l-4.21,0.56l-3.06,-0.86l-3.3,0.71l-2.31,1.62l-0.85,0.27l0.58,-1.99l1.15,-1.19l0.97,-1.92l5.25,1.2l2.4,0.18l1.02,-0.67l1.55,-2.51l-0.61,-0.84l-1.47,0.31l-0.86,1.02l-2.72,0.43l-2.37,-0.34l-0.58,-0.45l-2.31,0.1l1.3,-2.09l1.96,-0.75l1.39,0.06l2.59,1.32l0.93,0.16l2.66,-0.57l1.12,-0.84l0.79,-1.02l0.04,-0.54l-0.57,-0.3l-1.56,0.63l0.55,-2.64l3.34,-0.1l0.85,-0.72l-0.32,-0.5l-1.37,-0.57l-2.22,0.35l0.87,-1.37l0.45,-2.19l2.33,-1.31l-0.64,-1.3l0.79,-0.43l-0.01,-0.64l-0.9,-0.3l-1.89,0.32l-1.65,-0.48l-1.91,0.64l-3.81,-0.64l-3.93,-2.23l-5.01,-1.09l-2.31,-2.03l0.65,-0.64l0.78,-0.25l6.85,0.64l1.93,0.56l4.61,2.32l3.01,0.7l1.46,-0.32l0.34,-0.39l-0.16,-0.53l-1.45,-0.37l-1.74,-1.08l0.35,-2.16l-0.17,-0.4l-1.34,-0.69l2.38,0.16l0.32,-0.37l-0.19,-0.51l-1.98,-1.14l-3.48,-0.03l-2.4,-0.73l-2.21,0.22l-0.4,-0.89l1.01,-1.06l4.52,-1.24l1.14,-0.75l0.14,-0.49l-0.49,-0.34l-2.05,0.49l-2.46,-0.38l-2.6,1.27l-1.02,-0.3l1.54,-1.28l0.07,-0.61l-0.47,-0.36l-0.62,0.11l-0.35,-1.69l-1.42,-1.59l-0.49,-1.05l0.65,-0.42l0.06,-0.46l-0.41,-0.21l-1.27,0.2l-0.41,0.4l0.02,0.45l0.64,1.67l1.45,1.56l0.17,0.8l-1.19,0.88l-0.33,0.7l-0.86,0.06l-0.38,0.59l0.48,1.04l-0.15,0.36l-1.59,0.59l-1.8,0.15l-3.16,-0.54l-1.14,-1.05l-0.31,-0.98l0.6,-0.71l1.13,-3.12l2.23,-2.04l0.27,-0.79l-0.51,-0.5l-0.44,0.05l-2.08,1.79l-1.02,0.15l-0.06,-0.5l0.93,0.06l0.73,-0.53l-0.01,-0.58l-0.9,-0.74l1.78,-0.07l1.71,-1.39l0.37,-0.81l-0.02,-1.87l-0.74,-1.05l-1.18,-0.55l-1.19,0.75l-1.66,-0.54l-0.08,-0.57l1.08,-0.41l0.89,-1.1l-0.15,-1.64l-0.67,-0.77l-0.49,-0.08l-1.01,0.57l-0.71,-0.94l-1.06,-0.52l0.56,-1.25l0.51,-0.08l0.29,-0.48l-0.49,-1.43l-1.98,-2.8l-0.74,-0.28l-1.24,0.18l0.36,-0.85l-0.27,-1.35l1.6,-0.37l0.48,-0.37l-0.02,-0.65l-3.09,-1.67l-1.64,-2.02l-3.24,-1.54l-2.2,-2.41l-1.41,-0.69l1.2,-0.65l0.33,-0.55l-0.7,-1.47l-0.89,-0.96l-2.86,-0.78l-1.87,-0.98l-8.98,-3.16l-4.7,-0.9l-3.31,-0.11l-1.28,-0.69l-1.62,-0.35l-0.91,0.2l-1.97,1.23l-0.38,0.05l-1.31,-0.96l-0.68,-0.14l-3.09,1.52l-2.33,0.42l-0.79,-0.12l-1.65,-1.01l-1.45,0.21l-1.63,0.82l-1.88,-0.78l-0.94,0.04l-0.44,0.19l-0.1,0.92l1.27,1.37l-6.39,-0.97l-3.06,-1.23l-3.36,-1.79l2.81,-1.44l3.68,-0.8l0.29,-0.24l-0.09,-0.65l-0.76,-0.33l-5.18,-0.09l-2.09,-0.51l-0.81,-0.7l0.85,-1.27l-0.01,-0.67l-0.46,-0.06l-3.68,1.89l-0.72,-0.13l-0.62,-0.29l0.04,-0.84l-1.88,-1.04l1.19,-0.85l1.25,-0.19l4.79,-0.38l3.43,0.36l2.14,-1.61l2.24,-0.39l6.02,0.16l2.72,0.89l0.6,-0.39l-0.37,-1.08l0.89,-1.26l-0.18,-0.88l-2.14,-1.48l-0.84,-0.11l-4.51,1.78l-2.17,-0.07l-2.46,-0.77l-2.07,1.22l-1.68,0.24l-3.11,-0.85l-0.49,-0.26l-0.22,-0.69l-1.47,-0.66ZM868.11,46.03l-2.0,1.23l-3.02,-0.1l-1.69,-0.55l-0.33,-0.57l0.5,-0.71l2.15,-0.77l2.79,-0.5l2.31,0.27l0.2,0.58l-0.9,1.11ZM866.15,95.15l0.55,1.88l0.94,0.75l1.08,-0.07l0.26,0.56l-0.54,0.24l-5.36,-0.09l-0.83,-0.53l0.15,-2.09l0.75,-0.48l1.1,0.53l1.91,-0.7ZM866.52,70.52l-0.75,-0.01l1.35,-1.66l0.58,0.02l-0.21,1.06l-0.96,0.59ZM862.98,87.68l-1.73,-3.8l0.1,-2.36l0.41,-0.04l0.52,0.45l0.7,5.76ZM862.47,22.09l-1.21,-0.05l-1.63,-1.05l-1.0,-0.79l-0.05,-0.69l0.98,-0.33l2.36,1.99l0.54,0.91ZM860.98,67.01l-0.81,-2.13l-0.08,-1.53l1.1,-0.81l-0.06,2.1l0.34,1.07l-0.49,1.29ZM815.5,142.48l0.34,-0.68l0.76,-0.35l0.47,-0.66l0.17,-1.68l1.92,0.41l3.19,-0.08l4.15,-1.56l1.5,0.87l0.18,0.5l-0.22,1.0l0.35,0.51l-2.53,0.72l-1.49,1.05l-0.43,-0.49l-1.5,-0.4l-6.88,0.84ZM768.9,185.81l-0.3,0.0l-0.09,-0.66l0.57,0.07l-0.18,0.58ZM728.75,18.92l-0.63,0.13l-2.09,-1.26l-6.4,-2.19l-2.68,-2.19l-0.15,-0.55l0.22,-0.39l4.2,-0.42l4.93,1.41l2.42,1.17l0.7,0.81l-0.51,3.48ZM720.41,224.31l0.99,-0.49l0.23,-0.06l-0.48,1.13l-0.74,-0.57ZM696.91,151.06l-0.52,-1.51l0.01,-0.96l0.83,-0.37l1.45,0.44l-0.9,0.55l-0.34,1.59l-0.54,0.26ZM692.3,138.73l0.41,-0.21l0.83,0.34l-1.25,-0.13ZM682.11,152.65l2.11,-0.27l0.15,-0.72l-1.13,-0.75l-4.46,-0.62l-0.66,-0.63l0.5,-1.73l1.82,0.27l0.55,-0.24l-0.11,-0.69l-1.65,-0.62l-0.69,-0.8l0.44,-0.73l1.55,-0.51l5.28,0.98l2.9,2.39l3.43,1.24l0.1,0.97l0.42,0.43l-0.83,0.78l-7.33,2.05l-0.91,-0.05l-1.48,-0.77ZM684.63,137.12l-0.3,0.04l-1.3,-0.54l1.33,-1.07l0.5,0.74l-0.23,0.83ZM671.71,121.68l0.62,-0.36l2.38,0.02l1.89,-0.49l-2.17,1.77l-1.42,-0.89l-1.29,-0.05ZM592.02,73.97l-1.72,0.09l-2.03,-0.62l1.64,-0.21l2.49,0.62l-0.39,0.12Z\",\\n      \"name\": \"Greenland\"\\n    },\\n    \"MX\": {\\n      \"path\": \"M362.47,413.39l0.23,-0.35l-0.15,-0.86l-1.05,-0.75l-1.25,-2.44l11.15,-0.93l-0.28,0.47l0.19,0.62l19.52,6.73l14.45,-0.03l0.4,-0.4l0.01,-2.14l8.47,0.05l1.4,1.69l6.24,4.83l1.14,2.37l0.33,1.63l1.21,1.69l2.2,1.48l3.77,1.81l0.83,-0.01l1.55,-1.36l0.32,-1.33l0.93,-1.49l1.51,-0.63l1.42,0.41l2.78,0.12l3.32,3.19l2.01,3.53l0.31,1.19l2.78,3.32l1.2,0.93l0.27,2.72l0.8,0.97l1.13,2.52l4.35,1.88l2.45,0.39l2.13,0.92l0.85,-0.4l-0.33,1.42l-1.45,3.13l-0.83,3.43l-0.51,5.92l0.1,1.96l-0.56,1.64l0.08,0.81l1.05,4.87l0.67,0.83l1.68,4.01l3.71,4.48l0.82,2.69l1.64,1.74l0.42,1.29l1.6,0.73l2.25,-0.04l0.9,0.68l0.96,0.26l1.22,1.69l0.72,0.2l1.56,-0.17l3.2,-1.22l3.41,-0.21l1.09,-0.8l1.16,-0.28l2.2,-0.2l0.25,0.93l0.71,0.35l1.48,0.07l1.66,-1.3l-0.33,-1.4l1.84,-1.09l1.22,-1.3l0.23,-1.91l1.04,-1.24l0.04,-3.26l0.61,-2.19l2.48,-1.28l4.82,-0.75l2.05,-0.82l2.23,-0.19l3.89,0.84l0.71,-0.35l0.11,-0.51l1.02,0.85l0.23,1.26l-0.68,1.65l-2.53,2.96l-0.31,0.92l0.16,1.07l-1.21,1.17l0.27,0.96l0.81,-0.0l-1.01,0.79l0.01,0.5l0.55,0.4l-1.21,4.05l-0.57,-0.63l0.1,-1.68l-0.65,-0.3l-0.83,0.69l-0.49,1.19l-1.3,0.43l-1.51,2.51l-0.95,-0.38l-0.66,0.38l-0.18,0.57l-8.94,-0.01l-0.4,0.4l-0.02,2.57l-1.73,-0.01l-0.31,0.66l3.58,2.89l0.45,1.08l0.94,0.48l-0.2,1.11l-6.48,0.2l-2.42,4.23l0.53,1.19l-0.3,0.44l-0.12,1.68l-2.56,-2.75l-5.66,-4.79l-2.58,-1.32l-0.84,0.49l-0.13,-0.69l-0.88,0.03l-0.89,-0.52l-0.86,0.68l-0.09,0.54l-2.07,1.14l-3.76,1.45l-1.43,0.2l-3.39,-1.33l-2.82,-0.29l-1.88,-1.2l-1.96,-0.54l-1.41,-1.25l-4.63,-0.95l-1.73,-1.06l-4.17,-1.46l-3.77,-2.35l-1.67,-1.63l-4.08,-0.58l-3.66,-1.34l-2.42,-2.65l-5.2,-2.53l-1.74,-2.06l-0.95,-1.36l-0.82,-1.99l1.21,-0.31l0.78,-0.6l-0.04,-0.84l-0.87,-0.65l1.04,-1.46l0.14,-1.94l-0.19,-0.43l-1.03,-0.62l-1.02,-1.82l-0.02,-1.86l-0.75,-1.62l-3.18,-3.15l-2.76,-3.73l-2.83,-2.2l0.1,-0.57l-0.33,-0.59l-2.13,-0.62l-0.89,-1.5l0.54,-0.65l-0.22,-0.33l-3.45,-1.85l-0.15,-0.5l-0.73,-0.29l0.24,-0.68l-0.67,-0.27l-1.29,0.65l-0.6,-0.48l-0.18,-1.41l0.68,-0.98l0.43,0.08l0.41,-0.58l-0.79,-1.49l-1.16,-1.13l-1.48,-0.05l-1.04,-2.07l-2.06,-0.76l-0.97,-1.51l0.27,-1.45l-0.24,-0.61l-2.9,-0.53l-1.67,-2.18l-1.13,-0.58l-2.37,-2.92l-0.28,-1.27l-0.83,-0.66l-0.15,-0.87l-1.65,-2.52l-0.45,-1.76l-1.21,-2.02l-0.22,-0.66l0.34,-1.63l-0.16,-0.81l-2.82,-0.91l-0.5,-1.02l-1.38,-0.67l-1.11,0.65l-2.24,-1.39l-1.66,-0.78l-0.49,0.08l0.6,1.67l-0.44,2.77l1.26,3.75l0.07,2.09l1.48,1.99l3.04,2.49l0.99,1.37l0.25,0.97l0.79,0.19l0.14,0.48l0.63,0.2l0.66,1.62l0.99,0.44l0.7,3.15l2.1,1.8l0.7,1.79l0.88,0.58l0.87,2.3l0.89,0.73l0.47,-0.15l0.09,-0.55l-0.36,-0.52l0.32,0.27l1.18,3.07l0.27,1.95l0.73,1.19l0.57,0.32l0.7,1.95l1.04,1.47l-0.25,1.37l0.48,1.63l1.56,1.37l0.75,-0.23l0.22,-0.77l1.77,1.77l0.88,1.66l1.07,0.75l-0.28,1.3l-1.95,1.36l-1.88,-3.72l-1.43,-0.79l-2.04,-1.95l-3.29,-2.43l-0.63,-0.13l-1.34,-1.41l-0.21,-0.83l0.29,-2.97l-0.55,-1.92l-1.08,-1.73l-1.58,-0.71l-1.75,-1.38l-0.91,-2.11l-0.84,0.84l-1.45,0.33l-0.98,-1.14l-3.09,-1.42l-0.46,-1.12l-2.11,-1.59l1.67,0.27l0.99,-0.26l1.21,0.88l0.7,-0.3l-0.69,-1.7l0.78,-2.75l-0.6,-1.12l-3.99,-4.09l-1.3,-0.54l-2.44,-1.72l-0.58,-1.13l-0.15,-1.91l-0.9,-0.68l-0.3,-2.0l-1.21,-1.06l-0.24,-1.32l-1.61,-1.95l-0.03,-0.59ZM384.21,429.35l-0.58,-0.3l0.26,-1.28l0.34,-0.13l0.24,0.83l-0.26,0.88ZM378.19,425.87l0.19,0.17l0.13,0.37l-0.28,-0.39l-0.04,-0.15ZM379.15,427.07l0.28,0.07l0.03,0.24l-0.31,-0.31Z\",\\n      \"name\": \"Mexico\"\\n    },\\n    \"CU\": {\\n      \"path\": \"M526.78,466.91l0.86,-0.32l-0.06,-1.77l1.1,-1.14l4.28,-1.81l3.02,-0.41l2.78,-0.77l2.61,0.39l1.41,-0.12l0.81,0.45l2.49,-0.25l1.42,0.83l1.49,0.02l1.02,0.39l3.0,2.45l3.16,0.29l5.23,2.99l0.75,0.14l0.33,-0.24l0.44,0.38l-0.33,0.18l0.11,0.47l0.79,0.78l0.89,-0.4l1.25,1.2l0.48,-0.14l0.46,0.4l1.89,0.29l1.05,0.52l1.73,0.12l0.28,0.17l-0.18,0.61l-0.57,0.69l0.33,0.57l4.07,0.3l2.21,1.51l1.66,0.49l-0.35,0.37l-1.87,0.12l-2.05,0.73l-0.14,-0.26l-0.71,0.01l-0.44,0.39l-4.36,-0.51l-7.17,0.69l2.68,-2.28l0.03,-0.82l-0.67,-0.9l-4.65,-0.75l-1.75,-1.39l-0.46,-1.95l-1.01,-1.15l-2.83,0.15l-3.2,-0.95l-1.56,-0.66l-1.23,-1.29l-2.67,0.26l-0.42,-0.16l-0.45,-0.82l-0.72,0.15l-0.33,0.55l-0.57,-0.41l-1.92,-0.11l-0.6,-0.4l1.1,-0.27l0.53,-0.82l-0.42,-0.69l-0.72,-0.33l-4.86,-0.02l-3.27,2.49l-2.67,0.3l-0.65,1.17l-1.77,0.65l-0.14,-0.35ZM534.15,467.72l0.23,-0.31l0.93,0.15l0.65,1.21l-1.53,0.5l0.22,-0.59l-0.5,-0.96Z\",\\n      \"name\": \"Cuba\"\\n    }\\n  },\\n  \"height\": 543.9752077221104,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": -11.5\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(105))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'oceania_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 606.4292604642054,\\n    \"bbox\": [{\\n      \"y\": -2119119.6569834785,\\n      \"x\": -7472412.761398178\\n    }, {\\n      \"y\": 6796504.590523286,\\n      \"x\": 5759240.699079444\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"GU\": {\\n      \"path\": \"M240.87,42.61l-0.01,-0.59l0.19,-0.14l-0.18,0.73Z\",\\n      \"name\": \"Guam\"\\n    },\\n    \"PW\": {\\n      \"path\": \"M164.06,87.32l0.02,-0.17l0.14,-0.24l-0.03,0.17l-0.13,0.24Z\",\\n      \"name\": \"Palau\"\\n    },\\n    \"KI\": {\\n      \"path\": \"M679.59,130.26l0.02,-0.03l0.02,0.04l-0.04,-0.01Z\",\\n      \"name\": \"Kiribati\"\\n    },\\n    \"NC\": {\\n      \"path\": \"M416.93,308.88l0.36,0.45l0.68,0.17l-0.06,0.61l-0.58,0.13l-0.49,-0.35l-0.29,-0.93l0.39,-0.08ZM411.15,303.46l0.49,0.13l-0.03,1.1l1.04,1.41l-0.11,0.35l-1.92,-1.24l0.92,-0.97l-0.39,-0.79ZM387.8,299.51l0.1,0.08l-0.08,-0.04l-0.02,-0.04ZM388.42,299.97l0.82,0.48l1.04,-0.13l3.92,3.03l1.69,0.74l1.34,1.25l0.46,1.08l1.66,1.52l4.92,2.99l2.91,2.49l1.84,1.04l0.25,1.28l-1.16,0.29l-2.23,-0.94l-2.05,-1.21l-0.77,-1.13l-1.95,-0.76l-0.68,-0.65l-3.72,-1.95l-2.37,-1.87l-3.56,-3.62l-2.07,-2.66l-0.28,-1.29Z\",\\n      \"name\": \"New Caledonia\"\\n    },\\n    \"NU\": {\\n      \"path\": \"M585.07,289.99l0.09,0.19l-0.28,0.16l0.14,-0.33l0.05,-0.02Z\",\\n      \"name\": \"Niue\"\\n    },\\n    \"NZ\": {\\n      \"path\": \"M534.0,498.67l0.36,-0.21l0.11,0.44l-0.47,-0.23ZM534.78,500.22l0.77,0.62l-1.2,0.49l-0.15,-0.45l0.58,-0.66ZM456.17,419.08l-1.68,-1.97l-0.75,-0.96l1.06,-0.1l-0.2,0.67l1.56,2.36ZM456.68,419.85l0.23,0.29l0.07,0.25l-0.31,-0.53ZM457.03,420.47l0.58,0.21l0.67,-0.58l2.79,1.38l0.58,-0.3l1.64,0.84l0.08,0.94l0.47,0.51l0.77,-0.01l0.46,-0.36l1.44,2.46l-0.19,0.87l0.24,0.45l-0.71,-0.11l-0.42,0.67l3.03,4.43l-0.3,1.67l0.39,0.8l-0.65,2.1l0.33,0.36l0.55,0.1l0.25,0.12l0.26,0.27l0.74,-0.29l2.34,1.04l0.32,1.34l0.57,0.62l1.33,-0.05l0.51,-0.81l-0.73,-4.4l0.88,1.11l0.65,0.11l0.53,0.95l1.09,4.81l0.62,0.67l-0.26,0.77l0.68,0.6l1.46,0.35l3.68,1.86l3.95,0.93l1.46,-0.34l0.89,-0.57l1.35,-1.73l1.94,-1.2l1.76,0.09l1.67,0.89l-1.01,2.1l-0.91,5.05l-2.25,1.62l-0.51,2.71l0.29,1.27l-0.75,-0.82l-2.11,-0.34l-1.82,0.4l-1.83,1.05l-0.96,1.34l-0.2,1.33l0.27,1.17l0.92,0.6l-1.84,3.95l-3.46,4.58l-3.0,4.84l-4.81,3.42l-0.34,-0.17l-0.64,-1.52l-0.85,-0.24l-1.06,0.28l0.13,-1.04l-0.38,-0.71l-0.59,0.01l-0.34,0.74l-0.57,0.11l2.75,-3.69l1.16,-2.15l0.7,-3.0l-0.78,-1.83l-1.27,-1.61l-1.48,-0.82l-1.86,-0.43l-1.67,-1.52l-3.13,-1.19l-0.8,-0.64l-0.28,-0.74l0.44,-1.22l1.64,-0.91l2.56,-0.65l1.64,-1.73l0.9,-4.94l0.95,-1.82l-0.24,-1.18l0.67,-0.5l0.2,-0.58l-1.32,-2.57l0.14,-1.16l-0.75,-0.92l0.51,-0.24l0.33,-0.63l0.78,-0.17l0.26,-0.67l-1.11,-1.23l-1.67,0.22l-0.64,-0.25l-1.09,-2.38l0.54,-0.07l0.47,-1.07l-0.13,-0.71l-0.63,-0.64l0.32,-0.68l-0.15,-0.57l-0.85,-0.69l-0.81,0.36l-1.0,-0.67l-0.86,-1.73l-0.43,-0.24l-0.34,0.35l-0.0,0.82l-2.91,-3.94l1.5,-1.78l-0.31,-0.53l-0.58,-0.02l-1.4,1.37l-0.4,-0.98l-1.02,-0.98l0.42,-0.68l-0.04,-1.11ZM463.41,431.7l0.14,0.17l0.06,0.19l-0.06,-0.05l-0.14,-0.3ZM473.83,433.91l-0.09,-0.09l0.01,-0.04l0.05,0.08l0.02,0.05ZM473.39,430.83l0.04,-0.47l0.56,0.82l-0.04,-0.04l-0.56,-0.32ZM406.28,517.99l3.24,-0.57l0.56,-0.45l-0.24,-0.69l-1.17,-0.17l1.23,-0.78l0.19,-0.49l-0.45,-0.26l-1.43,0.13l0.15,-0.49l0.83,-0.01l0.28,-0.63l1.38,0.63l0.44,-0.13l-0.23,-0.9l0.87,-0.42l-0.21,-0.42l-1.32,-0.54l-0.02,-0.48l0.38,-0.34l1.08,0.15l0.16,-0.71l-0.45,-0.48l1.16,-0.93l0.64,0.96l0.37,-0.31l0.02,-1.52l2.05,-1.51l1.08,0.55l0.21,-0.42l-0.38,-1.33l3.71,-3.73l1.92,-0.91l1.22,0.16l1.86,-1.13l0.75,0.38l0.51,-0.52l-0.16,-0.82l2.48,-1.34l2.28,-0.78l0.34,-0.7l0.51,-0.26l-0.06,-0.35l2.54,-2.19l1.15,0.17l0.15,-0.47l-0.3,-0.58l0.42,-0.18l0.95,0.42l0.52,-0.13l-0.43,-0.81l0.36,-0.15l0.84,0.54l0.24,-1.09l1.31,-1.43l0.21,1.19l0.65,-0.3l0.05,-1.7l1.1,-1.61l0.68,-0.24l0.32,-0.57l-0.35,-0.49l1.65,-5.17l1.76,-0.59l1.7,-1.7l1.18,-3.2l0.35,-2.27l0.93,-1.57l1.42,-1.17l1.31,-0.91l0.05,1.65l0.47,0.66l1.58,0.66l0.53,2.86l0.7,1.09l1.15,-0.05l4.31,-2.8l0.11,0.54l-0.71,1.61l0.02,0.47l0.46,0.12l0.95,-0.46l0.96,-1.91l0.78,-0.14l0.31,0.23l-1.71,1.71l1.15,0.38l-0.89,1.09l0.03,0.71l0.52,0.71l-0.43,0.72l0.42,0.6l0.69,-0.01l0.28,0.32l-0.18,0.4l-2.57,2.75l-0.44,1.35l-2.23,2.26l-2.43,4.17l-2.39,1.27l-1.31,1.23l-0.61,0.11l-0.31,0.68l0.71,0.52l-1.35,0.68l-0.08,0.46l0.42,0.22l1.19,-0.12l0.75,1.55l1.92,0.5l0.03,0.99l-0.93,0.23l-1.38,-0.72l-0.98,0.11l0.01,-0.4l-0.89,-0.49l-0.81,0.3l-0.62,0.96l-1.84,-1.44l-0.47,0.01l-0.01,0.81l0.81,1.17l-3.5,1.79l-1.66,0.19l-0.67,1.11l-1.15,0.41l0.49,0.53l-0.81,4.15l-0.3,1.02l-0.81,-0.01l-0.32,0.64l0.82,0.76l-1.29,1.64l-0.42,1.57l-1.45,3.04l0.68,1.41l-2.5,0.63l-0.79,0.55l-1.17,1.63l-2.05,1.67l-1.65,1.96l-2.48,0.62l-1.76,0.09l-2.45,-0.6l-1.6,0.39l-1.29,-0.07l-0.22,-1.23l-1.12,-0.97l-2.65,-0.03l-1.13,-1.52l-1.23,-0.52l-0.58,0.04l-0.93,0.82l-1.95,0.07l-2.47,-0.39l1.36,-1.7l0.03,-0.51l-0.5,-0.12l-0.89,0.52l-0.06,-0.93l-0.63,-0.19l-1.14,0.59l0.02,-0.63ZM464.16,475.77l0.52,-0.33l-0.28,0.26l-0.25,0.06ZM461.7,471.81l0.05,-0.2l0.28,-0.24l-0.17,0.35l-0.16,0.08ZM425.9,583.44l0.01,-0.0l0.04,0.01l-0.02,0.01l-0.03,-0.02ZM414.34,530.94l1.81,-2.66l-0.07,-1.86l0.78,-0.03l0.94,1.05l-0.52,0.4l0.02,0.43l1.57,1.04l-1.43,0.31l-0.89,0.58l-0.91,-0.01l-1.28,0.74ZM407.01,516.29l0.33,-0.1l0.09,0.24l-0.23,-0.03l-0.19,-0.11ZM402.53,565.46l0.62,-0.57l0.23,-1.11l0.23,-0.02l-0.42,1.57l0.35,0.71l-1.02,-0.58Z\",\\n      \"name\": \"New Zealand\"\\n    },\\n    \"AU\": {\\n      \"path\": \"M3.12,347.94l0.52,-0.43l1.06,2.65l-1.15,-1.41l-0.44,-0.81ZM4.9,350.4l1.59,0.34l0.85,-0.84l0.22,-1.59l-1.05,-1.13l0.68,-0.45l0.33,1.19l1.2,1.17l1.13,-0.44l0.47,-0.75l-0.08,-3.75l-4.08,-7.01l-0.76,-2.25l-1.13,-2.04l0.03,-2.27l0.5,-2.04l2.04,-3.72l0.29,-4.05l-0.82,-2.23l2.0,-5.31l0.64,-0.5l-0.35,2.13l0.52,1.26l-0.15,1.15l0.56,0.42l1.19,-0.44l0.74,-0.79l2.47,-4.07l5.57,-2.58l4.25,-3.68l5.17,-2.92l3.08,-0.08l1.06,0.52l1.15,0.09l2.17,-0.64l3.84,-2.09l4.16,-0.89l2.71,-2.08l3.47,0.33l1.53,-0.64l3.25,-0.39l6.19,-2.46l2.67,-2.33l1.21,-1.73l2.47,-4.79l1.32,-0.68l2.69,-2.42l-0.03,-0.98l-0.83,-0.51l-0.64,-3.04l0.08,-1.65l0.7,-1.28l3.49,-2.73l1.31,-2.45l1.18,2.99l1.88,3.44l1.4,1.82l0.67,-0.22l0.33,-2.33l-0.14,-1.24l0.99,0.77l0.53,0.0l0.63,-2.09l-2.7,-2.97l0.82,-0.71l-0.08,-1.51l1.13,1.36l0.46,0.16l1.29,-0.88l1.94,0.95l3.47,0.1l0.44,-0.57l-0.32,-0.42l-2.45,-0.43l0.07,-0.85l0.88,0.03l0.38,-0.37l0.54,-1.93l-0.0,-0.5l-0.56,-0.37l-0.84,0.81l-0.61,-0.92l0.34,-1.61l0.89,-0.02l1.08,-1.51l1.76,1.22l0.87,-0.06l0.29,-1.43l-0.48,-0.36l-0.91,0.03l-0.23,-0.66l1.2,-0.7l2.06,0.67l0.44,-0.18l0.27,-0.97l-1.07,-0.85l-0.47,-1.05l0.73,-1.22l1.06,-0.18l1.09,-0.66l0.65,0.5l0.52,-0.54l0.45,1.05l0.84,0.0l1.04,-1.16l-0.03,-0.89l0.71,-1.98l-0.35,-0.79l0.73,1.32l0.57,0.13l0.83,-0.97l1.02,0.91l0.5,0.04l1.7,-1.68l0.01,-1.23l0.61,-0.21l3.96,2.12l1.59,1.24l1.65,2.26l2.14,1.69l-0.83,2.64l-0.08,1.87l0.55,0.39l0.68,-0.63l0.28,0.3l0.69,-0.24l-0.61,-1.85l1.75,-1.57l0.9,-0.26l3.45,0.81l0.63,0.62l0.06,0.84l0.41,0.58l0.69,-0.16l0.15,-1.89l1.06,0.36l1.32,1.58l0.63,-0.2l0.12,-0.41l-0.19,-1.55l1.38,-0.16l0.16,-0.71l-1.53,-1.02l0.55,-0.78l-2.34,-1.36l0.47,-1.07l1.95,-1.97l0.89,-2.93l2.11,-0.87l1.1,-1.25l-0.01,-0.48l-0.84,-1.08l0.18,-1.06l1.15,-0.69l0.57,-1.37l1.48,-0.23l0.24,-1.76l1.27,1.03l0.53,-0.06l0.33,-0.61l-0.14,-0.81l1.1,-0.46l0.01,-0.83l1.1,-0.08l0.44,-0.35l0.23,0.52l0.96,0.59l2.18,0.01l1.21,-0.33l1.28,0.34l1.54,-0.67l0.84,0.62l0.72,-0.13l0.54,-0.97l1.43,-0.06l0.22,-0.66l-0.51,-0.55l0.17,-3.13l-1.71,-1.29l-2.87,-0.07l-1.51,-1.18l0.5,-0.31l1.47,0.96l0.63,-0.29l0.23,-0.48l0.26,0.07l1.6,1.04l0.92,1.02l0.5,0.08l1.22,-0.8l0.53,0.08l1.8,2.31l1.25,0.17l1.46,0.68l2.69,0.11l2.4,1.28l1.57,0.42l1.09,0.03l1.23,-0.5l2.28,1.54l1.71,0.15l4.14,-2.33l0.11,0.19l-1.09,0.98l0.04,1.05l0.67,0.32l1.31,-0.64l1.09,2.04l1.76,-0.13l0.54,-1.3l-0.44,-1.04l1.38,-1.13l0.55,1.27l0.83,0.71l1.31,0.14l0.2,0.43l-3.01,3.27l-0.1,0.75l0.48,1.02l-0.82,1.38l-1.19,-0.65l-2.8,1.29l-0.21,0.36l0.01,2.45l0.44,1.46l-0.74,2.43l-3.6,4.67l0.41,1.78l5.69,3.73l0.76,1.36l2.24,1.07l0.65,-0.14l-0.01,0.86l0.81,0.69l1.78,-0.03l2.18,1.4l2.99,1.27l1.56,1.85l2.58,1.93l2.07,0.6l0.95,-0.07l2.76,0.9l1.92,3.37l1.39,0.39l4.48,2.5l1.62,0.05l2.39,-0.67l2.45,-1.66l1.16,-3.27l1.88,-2.82l0.59,-1.5l0.92,-3.07l-0.11,-1.4l0.43,-2.24l1.33,-4.39l-0.76,-4.49l0.5,-2.62l-0.84,-1.71l-0.05,-0.84l1.29,-4.06l-0.2,-2.4l1.04,-1.03l0.66,0.14l0.59,-0.29l0.07,-0.49l-0.66,-1.54l-1.22,-0.66l0.06,-0.76l1.06,-2.33l0.38,0.28l0.64,-0.29l-0.06,-1.22l1.39,-4.7l0.21,-2.33l1.11,-0.48l0.94,-1.23l0.3,0.0l-0.07,1.19l1.23,0.99l0.79,2.11l0.26,3.9l1.04,1.03l1.21,0.23l-0.49,1.33l0.04,1.13l1.16,0.94l1.04,1.72l1.4,6.11l-0.26,2.37l1.57,4.67l0.72,0.67l1.4,0.47l1.89,-1.23l1.68,-0.45l1.22,1.88l4.65,3.33l-0.24,1.11l0.3,1.69l-0.14,1.29l1.39,4.45l-0.2,2.82l2.53,3.74l1.09,0.41l-0.02,1.01l1.65,4.27l-0.7,5.0l1.53,2.06l0.7,0.34l-0.22,1.98l0.71,1.31l1.68,1.41l1.9,0.79l1.28,0.17l1.14,1.09l2.1,-0.06l1.07,1.76l1.18,1.16l0.89,0.27l0.6,0.62l1.22,0.23l2.05,1.42l1.78,0.47l1.14,1.08l0.61,0.89l-0.91,0.1l-0.31,1.25l0.86,1.3l3.06,2.98l0.92,2.69l0.94,0.9l0.54,3.46l0.54,1.86l0.85,1.52l0.44,0.21l0.75,-0.25l0.94,1.02l0.56,-0.0l0.34,-0.63l-0.45,-1.59l0.39,-0.73l1.1,1.49l2.4,1.56l0.55,0.04l0.36,-0.48l-0.09,-0.86l0.7,1.22l0.15,4.76l0.58,2.47l2.43,2.67l2.57,1.8l1.56,0.28l0.93,0.59l2.19,3.73l2.47,1.67l0.33,1.24l1.17,1.95l1.08,0.67l0.82,1.11l0.09,2.11l0.86,1.54l0.92,0.63l-0.57,2.68l0.58,5.46l-0.32,1.88l2.04,4.7l0.55,2.35l0.86,1.48l-0.05,2.29l0.36,1.21l-0.08,1.31l-1.92,3.57l-0.59,5.03l-1.84,5.67l0.13,2.88l-0.77,4.3l-1.16,2.85l-1.68,2.13l-0.7,3.33l-2.59,2.21l0.13,0.44l-2.52,1.26l-2.53,3.86l-0.36,1.31l-0.93,0.47l-0.27,3.16l-1.04,0.48l0.32,0.72l-1.61,1.81l-0.74,1.82l-0.71,3.43l0.14,0.76l-0.75,0.47l0.03,0.92l-1.01,0.55l-2.85,5.41l-1.0,6.19l-0.78,2.59l0.18,3.67l-0.31,2.02l-0.87,0.21l-2.38,1.89l-9.12,0.5l-3.09,0.96l-3.7,2.54l-4.01,3.85l-4.82,0.58l-0.25,0.85l1.0,1.25l0.59,0.04l0.35,-0.33l0.09,1.47l-0.28,0.35l-1.63,-2.39l-0.67,-0.28l-0.99,0.43l-0.94,-1.74l-1.61,-0.29l-1.22,-0.83l0.99,-1.18l-0.82,-1.62l-1.54,-0.05l-0.99,1.39l-1.44,0.85l-0.72,-0.5l0.61,-0.12l0.82,-0.75l0.86,-1.62l-0.61,-1.13l-1.27,-1.04l-4.17,2.07l0.09,0.73l1.49,0.24l-3.81,1.9l-2.24,2.12l-1.83,0.97l-2.19,-0.64l-1.01,-0.79l-1.91,-0.63l-3.03,-1.75l-2.03,0.09l-1.87,-0.95l-1.67,-0.15l-1.18,1.01l-0.92,-0.15l-1.52,-1.61l-1.64,-0.91l-2.95,-0.46l-1.64,-1.06l-1.36,-2.23l-3.17,-3.37l-0.3,-1.39l0.9,-3.46l-1.02,-2.77l-2.03,-3.18l-3.34,-2.93l0.68,-0.54l0.92,0.67l0.5,-0.38l0.23,-1.42l-0.36,-0.85l-1.18,-0.37l-2.44,1.6l-1.03,0.14l-1.54,0.77l-1.87,-0.16l1.43,-2.04l0.84,-2.59l-0.14,-2.39l-3.1,-5.26l-0.69,0.02l-1.27,2.41l-0.4,2.44l-1.27,3.28l-1.59,-0.1l-2.37,0.89l-1.35,0.13l0.73,-2.06l2.6,-0.05l0.35,-0.26l0.79,-2.76l-0.25,-1.93l0.25,-1.77l1.14,-2.47l2.18,-2.64l-0.57,-2.93l1.03,-1.21l-0.63,-2.82l-1.03,-1.7l-0.44,-0.14l-0.28,0.38l0.05,1.97l-2.54,2.99l-1.56,3.69l-4.43,2.18l-1.7,1.27l-4.02,5.31l-0.05,0.91l0.65,1.55l-0.82,-0.72l-1.29,0.41l-1.9,-1.96l0.45,-0.11l0.26,-0.59l-1.75,-5.29l-2.51,-2.9l-0.81,-2.61l-1.47,-1.24l-2.3,-0.26l-0.83,-1.36l-0.43,-1.51l0.85,-0.32l0.18,-0.76l-0.33,-1.24l-2.24,-1.12l-1.04,-1.15l-1.12,-0.64l-3.42,-0.21l-3.53,-1.91l-3.99,0.44l-3.71,-2.58l-2.56,-1.27l-1.92,-0.45l-2.85,0.9l-4.94,-0.2l-9.01,1.04l-6.7,3.07l-5.64,1.65l-3.99,0.38l-4.84,-0.45l-1.78,0.34l-2.78,1.81l-2.28,0.91l-3.8,2.24l-3.92,1.13l-1.08,1.16l-1.92,3.89l-1.59,1.96l-0.92,0.57l-1.18,-0.03l-0.97,0.57l-0.85,-0.6l-1.1,-0.22l-5.89,0.88l-0.8,-0.95l-5.07,-0.41l-4.52,0.38l-2.98,0.76l-1.58,-0.22l-2.69,0.33l-1.84,1.15l-1.45,2.3l-1.35,0.66l-2.82,0.28l-5.68,4.28l-4.04,0.92l-7.93,-0.92l-3.9,-1.61l-1.9,-2.22l-1.3,-0.92l-2.23,-1.07l-1.27,0.2l-0.55,-0.45l-0.26,-1.61l0.11,-3.76l1.07,0.75l1.58,-0.11l1.3,-1.06l1.29,-2.9l-0.45,-4.53l0.66,-0.86l0.22,-5.83l-0.35,-1.75l-3.94,-7.4l-0.72,-1.99l-0.81,-4.24l-0.07,-5.04l-0.79,-2.48l-1.75,-2.31l-0.72,-2.74l-2.79,-3.76l-0.47,-4.23l-0.59,-1.78l-2.41,-4.07l-1.52,-1.87ZM5.49,346.12l-1.4,-2.96l0.13,-0.37l1.47,1.56l-0.2,1.77ZM307.15,358.08l0.01,-0.18l0.17,-0.41l-0.17,0.59ZM304.06,342.63l-0.11,-0.67l0.63,-1.96l-0.13,-0.79l1.06,-0.95l0.38,-0.95l0.09,0.6l-1.92,4.72ZM305.51,336.0l-0.11,-0.12l0.09,-0.06l0.01,0.18ZM289.28,325.66l0.66,0.31l0.41,1.19l-0.1,-0.07l-0.97,-1.43ZM266.67,467.87l1.59,-0.39l0.64,0.6l-0.17,0.16l-0.57,-0.46l-1.49,0.09ZM243.31,471.7l1.77,-0.15l4.12,2.28l3.94,1.28l1.95,-0.19l1.08,-0.5l1.13,0.69l0.22,-1.1l0.75,-0.44l2.34,-0.32l1.38,0.29l1.11,-1.28l1.78,0.23l0.91,-0.83l1.42,0.59l0.45,0.64l0.17,8.76l-1.01,0.49l-0.84,1.56l-0.47,2.5l-0.64,1.27l-0.07,2.29l0.48,2.95l-0.95,0.22l-0.68,-1.2l0.97,-0.2l-0.08,-1.09l-1.83,-0.81l-0.68,0.4l-0.09,1.11l-0.29,-0.96l-0.83,-0.94l-0.45,-0.1l-0.25,0.4l0.34,1.49l-0.6,0.9l-0.12,1.26l-1.28,-0.65l-0.61,0.22l-0.09,0.72l0.52,0.57l-1.23,2.68l-0.91,-0.12l-1.34,-0.88l-3.5,0.25l-0.25,-0.76l1.35,-0.11l0.38,-0.54l-0.14,-0.36l-0.42,-0.34l-2.38,-0.16l-1.79,-2.52l-0.91,-0.65l-1.62,-3.41l-0.37,-1.83l1.49,1.9l0.83,-1.19l-0.06,-0.58l-1.24,-1.29l-0.16,-0.56l-0.55,-0.23l-0.23,-1.11l-2.41,-3.36l-1.08,-2.17l-0.9,-3.6l0.5,-2.13l1.97,0.74ZM264.9,463.05l0.55,-0.7l1.44,1.63l0.8,0.35l-0.22,0.56l0.25,0.75l-1.02,0.51l-1.23,-1.81l-0.17,-1.04l-0.38,-0.24ZM259.93,495.5l0.38,-0.53l0.12,-0.34l-0.07,0.94l-0.43,-0.07ZM252.24,284.34l0.26,-0.08l0.33,0.97l-0.33,-0.6l-0.26,-0.29ZM245.66,449.75l0.13,-0.01l-0.11,0.06l-0.02,-0.05ZM235.03,464.86l-0.28,-1.49l0.15,-1.37l0.61,-1.0l0.36,0.27l0.32,2.59l-1.15,1.0ZM221.75,225.27l0.17,0.16l-0.1,0.07l-0.03,-0.02l-0.04,-0.22ZM199.24,271.61l0.83,-1.24l1.97,-0.48l0.13,0.16l-2.07,1.39l-0.86,0.17ZM186.63,426.84l0.35,0.43l1.81,0.2l0.78,-0.28l0.92,0.61l-1.74,-0.21l-1.25,0.26l-0.85,1.2l-0.66,0.25l-1.8,-0.72l-0.71,0.45l-2.69,-0.01l-1.3,-0.93l0.49,-0.77l5.11,-1.31l1.66,0.19l-0.12,0.63ZM178.36,252.29l0.17,-2.22l1.29,-1.17l0.24,0.75l0.61,0.43l-0.47,1.73l1.01,0.85l-2.87,-0.38ZM176.38,249.17l0.08,-0.08l0.09,-0.12l0.03,0.15l-0.2,0.04ZM148.87,228.94l0.1,0.2l-0.04,0.14l-0.12,-0.23l0.05,-0.11ZM132.92,230.01l0.94,0.93l1.29,0.21l1.25,-0.54l0.89,0.15l1.79,-0.92l1.49,1.32l-1.58,1.79l-2.31,1.48l-3.0,-2.14l-0.61,-1.2l-0.15,-1.09ZM130.25,233.73l0.95,-0.55l-0.08,-1.67l0.68,-0.72l0.78,2.33l1.01,0.62l-1.81,-0.41l-1.52,0.39ZM0.69,343.22l0.25,0.69l-0.14,-0.24l-0.11,-0.45Z\",\\n      \"name\": \"Australia\"\\n    },\\n    \"PG\": {\\n      \"path\": \"M317.31,186.15l1.37,0.38l0.59,0.49l0.78,1.57l1.32,1.12l0.8,1.37l1.32,0.59l1.29,1.13l0.73,1.28l0.13,1.04l-1.43,0.68l-0.6,-0.04l-1.86,-0.92l-0.88,-1.24l0.16,-0.94l-0.24,-0.79l-1.55,-0.91l-1.82,-2.0l-0.34,-1.24l0.24,-1.57ZM316.23,184.69l-0.36,-1.75l0.21,-0.24l0.31,1.07l-0.16,0.92ZM306.38,231.17l1.21,0.64l1.04,0.34l-1.74,-0.38l-0.52,-0.59ZM287.63,164.8l0.1,-0.36l0.53,0.36l-0.63,-0.0ZM291.46,166.57l1.34,0.67l1.75,1.32l1.64,0.57l0.93,1.02l-1.67,-0.58l-3.99,-3.0ZM299.57,172.25l3.99,3.29l0.72,0.98l-0.75,2.84l-0.56,0.78l-1.26,-1.99l-0.13,-2.87l-2.0,-3.03ZM301.3,212.7l0.78,-0.03l1.13,0.78l-0.49,0.34l-0.8,-0.34l-0.63,-0.75ZM281.23,184.76l0.26,0.8l0.85,0.87l0.88,0.09l1.63,-0.56l0.93,0.45l0.82,-0.08l1.38,-0.51l0.57,-0.32l1.36,-2.3l1.34,-1.08l1.86,-0.18l0.95,-0.74l-0.05,-1.94l-0.86,-2.27l0.13,-0.59l1.32,0.1l1.16,0.75l1.25,-0.66l1.72,0.78l-0.21,0.9l0.27,1.65l-0.31,0.59l-0.64,0.92l-1.6,0.28l-0.57,0.78l0.14,0.98l0.96,1.31l-0.32,0.49l-1.36,0.69l-2.91,0.05l-0.71,1.48l-1.38,1.24l-3.11,1.11l-2.56,1.46l-5.93,0.18l-2.0,-1.59l-2.1,0.31l-2.9,-1.9l-2.34,-0.76l-0.34,-0.51l0.04,-0.64l0.37,-0.31l0.91,0.23l3.25,-0.17l2.72,0.75l2.15,-0.5l1.47,0.05l1.2,-0.63l0.31,-1.04ZM281.64,182.69l0.03,-0.1l0.06,-0.03l0.02,0.02l-0.1,0.11ZM288.07,219.52l0.46,0.33l-0.02,0.09l-0.11,-0.17l-0.33,-0.26ZM288.62,220.3l0.88,0.4l0.83,-0.66l-0.26,0.96l-1.44,-0.45l-0.02,-0.25ZM284.67,215.58l1.19,0.54l0.89,-0.08l0.52,0.55l0.06,0.55l-2.19,-0.22l0.04,-0.55l-0.5,-0.79ZM213.01,164.32l1.09,0.12l4.9,2.29l5.42,2.07l2.74,0.89l4.48,0.81l4.24,2.84l3.1,0.15l1.01,1.19l1.68,0.86l1.83,1.86l1.97,0.37l3.1,3.14l-0.03,4.53l0.96,0.58l4.09,1.08l4.82,2.31l2.65,0.26l1.23,0.7l1.73,1.94l0.26,2.21l-3.31,0.37l-1.76,-0.16l-1.51,0.92l-0.11,1.15l1.81,3.58l4.09,3.84l3.0,1.71l0.85,3.28l1.58,1.19l1.19,2.87l1.75,0.32l2.88,-0.48l0.28,0.73l-0.45,1.73l0.52,0.96l1.82,0.85l3.58,0.5l-1.41,0.41l-0.27,0.39l0.11,0.73l0.81,1.06l3.91,1.51l1.36,0.14l0.3,0.12l-1.18,-0.04l-0.3,0.81l1.51,1.15l-0.81,0.48l-1.06,0.11l-2.05,-0.52l-0.55,-0.72l-1.65,-1.07l-6.19,-0.75l-2.14,-0.75l-1.75,0.25l-1.16,-0.48l-3.73,-0.44l-1.44,-1.08l-1.16,-1.86l-2.93,-2.16l-0.59,-0.91l0.13,-1.64l-0.97,0.13l-1.46,-0.88l-3.39,-5.37l-1.22,-1.38l-2.44,-1.02l-2.0,-0.18l-3.71,-0.96l-1.01,-1.32l-2.54,-0.48l-0.73,0.27l-0.27,0.55l-1.79,0.62l-1.71,-0.58l-1.87,-1.63l-0.51,0.11l0.03,0.52l0.62,0.64l1.2,2.37l-0.43,0.64l-2.31,-0.17l-0.13,0.62l0.5,0.98l-3.46,0.73l-2.94,-0.29l-1.39,0.37l-1.32,-1.17l-1.15,0.23l-0.27,0.44l0.39,0.34l0.69,0.01l1.12,1.24l2.58,-0.12l2.26,0.94l1.87,2.04l-0.04,1.05l-5.2,2.66l-3.01,-1.17l-4.64,0.31l-1.74,-0.46l-1.9,0.52l-0.9,-0.59l-0.01,-16.66l-0.85,-1.35l0.84,-2.91l-0.01,-27.96ZM281.58,162.9l1.08,-0.28l1.29,0.55l0.03,0.76l-1.54,-0.0l-0.85,-1.03ZM283.27,215.97l-1.0,-0.85l0.34,-0.57l0.5,0.26l0.16,1.16ZM278.62,155.65l-0.66,-0.55l0.06,-0.28l0.55,0.39l0.04,0.43ZM264.59,186.19l1.37,0.79l-0.08,0.81l-0.73,-0.38l-0.56,-0.73l0.01,-0.49ZM255.56,160.21l0.22,-0.71l1.45,-0.19l3.04,0.38l-0.56,0.54l-4.15,-0.02ZM259.41,184.95l-0.68,-0.65l0.49,-0.31l0.23,0.19l-0.04,0.78ZM250.53,179.67l-0.3,-0.16l0.37,-0.5l0.09,0.28l-0.15,0.38Z\",\\n      \"name\": \"Papua New Guinea\"\\n    },\\n    \"SB\": {\\n      \"path\": \"M401.2,226.2l0.44,-0.5l0.72,-0.08l0.27,0.05l-0.74,0.06l-0.7,0.48ZM366.91,222.26l0.24,-0.14l0.84,0.36l-0.52,-0.17l-0.56,-0.04ZM368.23,222.63l2.3,1.29l2.05,0.15l1.1,1.91l-2.39,-0.37l-2.49,-1.35l-0.58,-1.62ZM367.84,217.48l0.01,-0.37l0.01,-0.13l0.24,0.52l-0.26,-0.02ZM361.82,207.84l0.44,-0.16l1.63,1.97l-0.3,0.51l0.01,1.05l1.59,1.22l0.69,1.68l0.08,1.03l-2.27,-1.71l-1.47,-3.77l0.27,-0.91l-0.67,-0.9ZM354.72,214.98l1.57,1.16l3.02,-0.01l1.88,1.18l1.3,1.62l-0.83,0.27l-2.47,-0.81l-3.42,-0.21l-1.5,-1.73l-0.09,-1.16l0.54,-0.3ZM360.03,233.55l0.05,0.04l-0.05,-0.03l-0.01,-0.01ZM346.24,202.07l0.73,0.16l2.81,2.24l2.45,0.96l2.8,2.04l-0.16,0.49l-0.67,-0.62l-5.23,-2.49l-2.51,-2.06l-0.22,-0.72ZM350.09,212.96l0.09,-0.06l0.14,0.09l-0.14,-0.03l-0.09,-0.01ZM341.2,209.54l0.67,-0.31l0.12,0.68l-0.63,0.23l-0.17,-0.61ZM339.58,207.08l0.82,1.76l-1.56,-0.79l-0.5,-1.51l-1.69,0.03l-0.56,0.29l1.65,-1.83l0.45,0.17l0.45,1.56l0.94,0.31ZM330.29,194.75l3.73,2.02l0.42,0.38l0.41,1.25l1.22,1.1l-1.12,-0.16l-1.38,-1.01l-1.54,-2.01l-1.74,-1.59ZM337.16,200.01l0.15,0.02l-0.03,0.02l-0.13,-0.04ZM336.24,209.27l-0.13,-0.17l0.54,-0.43l-0.06,0.17l-0.36,0.43ZM335.04,205.4l-0.51,-0.03l-0.43,-0.53l0.3,-0.6l0.65,0.34l-0.01,0.82ZM331.51,203.67l-0.81,-1.21l0.1,-0.34l1.25,0.9l-0.54,0.65ZM324.56,197.56l0.23,0.13l-0.29,0.05l0.06,-0.18Z\",\\n      \"name\": \"Solomon Is.\"\\n    },\\n    \"PF\": {\\n      \"path\": \"M818.2,218.52l0.51,-0.27l0.21,0.07l-0.66,0.22l-0.06,-0.02ZM809.81,211.26l0.74,0.09l-0.0,0.04l-0.63,0.19l-0.11,-0.33ZM740.27,279.5l-1.27,0.03l-0.3,-0.86l1.3,-0.09l0.27,0.91ZM741.11,280.1l0.34,0.11l0.08,0.22l-0.31,-0.13l-0.11,-0.2Z\",\\n      \"name\": \"Fr. Polynesia\"\\n    },\\n    \"FJ\": {\\n      \"path\": \"M508.66,272.92l-0.0,-0.25l0.48,-0.39l-0.19,0.44l-0.29,0.21ZM497.43,272.16l0.3,-0.39l1.49,-0.09l1.33,-1.19l2.96,-0.78l1.51,-1.03l1.76,-0.2l-0.73,1.08l-1.04,0.74l-0.42,0.85l-0.01,1.03l-0.66,0.07l-0.66,-0.67l-1.06,-0.06l-1.33,0.86l-0.38,0.62l-0.94,-0.03l-0.92,0.55l-0.61,-1.13l-0.59,-0.21ZM506.04,271.76l0.18,-0.16l0.91,-0.62l-0.06,0.73l-1.03,0.05ZM494.84,277.19l0.18,0.54l2.2,1.7l-0.12,0.68l0.59,2.25l-2.1,0.26l-1.39,0.9l-1.42,0.11l-4.48,-1.33l-0.39,-1.1l1.18,-1.05l-0.08,-0.9l0.62,-0.57l2.18,-1.09l0.98,0.03l1.79,-0.6l0.27,0.17Z\",\\n      \"name\": \"Fiji\"\\n    },\\n    \"FM\": {\\n      \"path\": \"M343.07,91.63l0.52,0.12l-0.04,0.44l-0.24,-0.01l-0.23,-0.55Z\",\\n      \"name\": \"Micronesia\"\\n    },\\n    \"WS\": {\\n      \"path\": \"M569.03,249.95l0.88,-0.15l1.69,0.49l0.54,0.55l-2.46,-0.35l-0.65,-0.54ZM563.84,247.6l2.37,-0.43l0.64,0.55l0.25,0.72l-0.18,0.45l-1.9,0.02l-1.19,-1.3Z\",\\n      \"name\": \"Samoa\"\\n    },\\n    \"VU\": {\\n      \"path\": \"M427.15,292.8l0.11,0.66l0.88,0.72l-0.11,0.23l-1.03,-0.95l0.15,-0.66ZM426.24,288.06l-0.02,0.44l0.75,0.77l-1.67,-0.73l0.05,-1.24l0.36,-0.08l0.52,0.83ZM419.3,279.22l0.36,-0.42l0.88,-0.01l0.69,0.96l-0.13,0.23l-1.13,-0.03l-0.17,-0.53l-0.5,-0.21ZM418.76,271.53l0.32,0.34l0.39,0.28l-0.55,0.09l-0.16,-0.71ZM417.42,268.27l1.12,-0.64l0.52,1.0l-1.39,-0.19l-0.26,-0.18ZM415.67,261.93l0.56,-0.52l0.37,-0.06l-0.54,0.6l-0.39,-0.01ZM411.57,267.12l-0.21,-0.24l0.28,-1.05l0.37,0.19l0.41,0.98l-0.85,0.12ZM412.83,267.52l2.5,1.78l0.24,0.51l-1.11,0.03l-0.96,0.5l-0.67,-2.83ZM413.26,252.79l0.07,-0.27l0.53,0.01l-0.14,0.32l-0.47,-0.07ZM413.39,249.66l-0.21,-0.43l0.16,-0.09l0.23,0.34l-0.18,0.19ZM406.71,256.46l0.77,1.0l0.47,2.45l0.4,0.33l0.73,-0.04l0.82,-0.96l0.52,0.72l0.47,2.25l-0.56,0.51l-1.03,-0.02l-0.95,0.43l-0.96,-1.46l0.1,-1.54l-0.89,-2.74l0.12,-0.93Z\",\\n      \"name\": \"Vanuatu\"\\n    }\\n  },\\n  \"height\": 606.4292604642054,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 180.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(107))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'south_america_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 905.8723093907364,\\n    \"bbox\": [{\\n      \"y\": -1391900.644539083,\\n      \"x\": -12188330.527048683\\n    }, {\\n      \"y\": 6974170.643481547,\\n      \"x\": -3876492.223609794\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"PY\": {\\n      \"path\": \"M617.96,397.13l0.51,1.91l1.38,1.97l0.3,2.45l1.0,1.01l-0.05,1.74l0.83,1.52l0.04,1.56l-0.79,2.14l0.2,0.71l-0.84,1.85l0.34,2.51l-0.39,1.88l0.17,0.76l-0.61,1.7l0.39,1.02l1.95,0.65l1.21,-0.52l1.83,1.03l2.79,0.41l1.23,-0.23l3.66,0.95l3.93,-0.58l1.27,-1.62l0.68,-0.25l2.31,2.35l4.74,0.56l0.93,1.05l0.07,1.18l0.56,1.17l0.98,0.9l-0.38,2.67l0.61,2.74l0.48,0.79l0.07,1.93l0.43,1.23l-0.23,2.16l0.98,1.51l0.19,2.21l0.44,1.29l0.79,0.59l2.22,0.34l2.64,-0.58l4.14,-2.0l1.99,1.02l1.98,1.6l-0.65,0.98l0.44,2.31l-0.37,2.72l-1.7,6.89l0.19,0.79l-2.08,4.0l-0.26,7.36l-0.54,3.86l-0.91,2.83l-0.75,1.36l-1.31,0.69l-0.41,0.81l-1.98,1.6l-0.15,0.58l-3.31,0.93l-0.92,1.42l-0.93,0.58l-0.44,0.95l0.04,0.94l-1.19,1.34l-0.63,0.01l-2.02,-1.17l-1.4,-0.23l-1.29,0.18l-1.17,0.72l-1.52,2.14l-0.42,0.11l-0.91,-0.8l-1.12,-0.26l-1.47,0.32l-0.9,-0.1l-0.93,-0.59l-1.23,-0.06l-1.71,0.44l-3.26,-0.5l-5.11,-1.49l-4.29,-0.56l-5.03,0.5l-0.32,-1.1l0.2,-0.59l0.84,-0.63l1.26,-2.01l1.43,-0.89l0.0,-0.67l0.66,-0.53l0.44,-1.29l0.59,-0.7l-0.14,-3.19l1.09,-2.51l2.55,-2.09l1.75,-4.11l2.13,-2.02l0.17,-1.15l-1.03,-1.97l-2.17,-2.5l-1.74,-1.19l-2.27,-0.98l-1.4,-0.3l-0.78,0.28l-0.42,-0.16l-0.74,-0.85l-1.17,-0.66l-2.51,-0.75l-5.54,-2.85l-8.55,-6.02l-2.63,-1.08l-1.95,0.03l-2.86,-0.63l-3.98,-1.33l-2.19,-1.23l-0.67,-1.28l-1.49,-1.27l-2.41,-1.31l-1.98,-1.74l-2.72,-1.73l-1.52,-1.52l-1.64,-2.37l-1.82,-3.31l-1.91,-2.2l-2.96,-1.82l-0.24,-0.59l4.43,-14.56l0.02,-6.33l4.27,-6.28l1.89,-5.0l20.85,-4.31l10.9,-0.14l10.79,6.54l0.38,1.99l-0.23,2.03Z\",\\n      \"name\": \"Paraguay\"\\n    },\\n    \"CO\": {\\n      \"path\": \"M382.29,58.03l1.56,1.88l0.98,-0.25l2.33,-1.73l0.19,-1.72l1.79,-1.65l-1.04,-2.95l-0.78,-1.05l-0.8,-1.99l-0.67,-0.67l0.8,-1.35l0.99,1.69l1.67,1.23l1.6,1.76l0.66,1.21l0.85,0.55l-0.61,0.55l-0.15,0.73l0.42,0.74l0.73,0.4l1.24,-0.35l0.59,-1.11l-0.36,-3.74l-0.58,-1.95l-1.11,-1.22l2.52,-1.13l4.97,-3.58l1.8,-3.44l1.22,-1.13l1.32,-0.71l1.84,0.16l1.66,-0.66l0.45,-1.32l-0.86,-2.26l0.99,-3.06l-0.02,-1.6l0.61,-0.86l-0.23,-0.83l-0.47,-0.08l0.57,-0.7l0.72,-2.4l0.5,-0.9l1.92,-1.37l0.46,-0.73l3.88,-3.31l0.74,-0.51l4.13,1.29l-0.32,0.28l-0.23,1.24l0.86,1.06l1.13,0.18l0.71,-0.74l1.56,-3.51l0.25,-1.96l0.51,-0.5l0.81,-0.19l3.06,0.77l1.53,0.07l4.63,-0.37l7.08,-5.05l3.26,-1.08l2.13,-1.09l1.48,-2.23l0.37,-1.53l0.73,-0.46l1.16,-0.09l0.7,-0.9l2.26,-1.24l2.45,-0.14l2.61,1.11l1.18,1.92l0.17,1.15l-2.04,2.08l-0.88,0.44l-6.86,2.03l-3.47,5.68l-2.36,1.01l-2.99,3.45l-2.24,4.36l-1.65,8.53l-4.17,6.75l-0.05,0.91l0.7,0.41l1.73,-0.32l1.57,-0.75l1.08,1.47l1.73,0.21l1.53,5.67l3.03,3.09l0.28,1.03l0.37,2.2l-1.05,1.57l-0.28,5.55l0.35,0.84l0.7,0.64l2.22,0.57l1.42,3.15l1.16,0.98l1.59,0.53l3.22,-0.51l5.94,0.56l1.52,-0.12l3.19,-1.13l0.89,0.08l3.23,1.33l3.11,0.24l8.1,9.77l0.58,0.26l0.74,-0.25l1.13,0.56l1.03,-0.25l1.18,-0.78l1.68,-0.15l2.44,0.5l3.24,-0.0l4.0,-0.5l2.46,-0.54l0.98,-0.57l3.23,0.55l0.85,0.61l0.46,1.64l-0.34,0.94l-1.24,1.23l-0.71,1.63l-0.13,1.75l-0.56,1.19l-1.19,1.0l-0.44,1.27l0.23,1.82l-0.61,7.54l0.53,0.81l0.35,2.99l1.52,4.17l0.71,1.15l1.29,1.0l2.13,3.14l-0.36,0.75l-5.79,5.18l-0.45,0.76l0.03,0.74l0.56,0.35l0.98,-0.42l1.57,0.43l0.66,1.25l4.09,3.45l-0.07,1.32l1.17,2.57l-0.12,0.84l1.66,3.72l0.07,0.9l1.15,2.95l0.01,1.28l-1.7,0.4l0.02,-4.85l-0.37,-1.18l-2.84,-4.69l-0.9,-0.57l-0.84,-0.04l-1.3,0.64l-3.15,3.42l-1.23,0.42l-0.83,-0.34l-1.13,-1.95l-0.94,-0.54l-0.78,0.46l-0.53,1.5l0.58,1.21l-13.01,0.01l-2.73,-0.63l-3.63,0.78l-0.43,0.4l-0.04,7.83l0.53,0.38l0.58,-0.2l4.28,0.47l1.36,-0.17l0.52,0.34l1.04,1.68l0.07,2.24l-1.95,-0.23l-1.53,-0.92l-4.05,1.48l-2.91,0.34l-0.36,0.39l-0.16,8.83l0.4,0.81l1.46,1.46l3.45,2.29l0.41,1.31l-0.22,1.57l0.91,2.04l1.07,0.93l-0.03,0.91l0.57,1.24l-6.52,35.85l-2.02,-1.67l-0.8,-1.87l-1.34,-1.01l-2.43,0.56l-1.95,-0.86l7.71,-12.05l0.15,-0.77l-0.67,-0.91l-1.66,-0.57l-2.19,-1.44l-2.71,-1.02l-0.69,-0.74l-3.29,-1.68l-1.92,0.47l-1.09,0.84l-2.1,0.23l-1.96,-1.3l-2.57,-0.87l-0.78,0.26l-2.04,1.82l-0.94,0.05l-1.83,0.85l-2.05,0.32l-2.9,-0.91l-1.1,0.49l-2.39,0.05l-0.67,-0.68l-1.79,-0.66l-0.14,-0.55l0.53,-1.63l-0.9,-3.15l-0.53,-0.68l-1.58,-0.08l-1.53,-0.94l-0.23,-0.43l0.32,-1.31l-0.33,-1.05l-1.79,-2.55l-1.0,-0.53l-1.48,-0.19l-2.25,-1.97l-2.36,-0.75l-0.88,-1.2l-1.1,-3.4l-2.43,-2.59l-1.65,-0.86l-0.51,-1.08l-1.95,-0.35l-2.39,-1.67l-1.12,-0.11l-0.83,0.71l-1.87,-0.71l-1.81,-1.2l-2.0,-0.37l-1.13,-0.68l-2.27,-2.35l-2.6,-1.21l-0.77,-0.07l-1.02,0.6l-0.42,0.57l-0.11,1.15l-0.53,0.2l-2.73,-0.44l-0.54,0.36l-0.64,-0.06l-3.31,-1.25l-2.26,-0.1l-1.1,-0.36l-0.8,-2.85l-2.15,-1.04l-0.63,-1.31l-1.83,-0.07l-2.4,-0.85l-3.25,-1.74l-2.39,-1.83l-2.03,-1.02l-2.09,-2.02l-0.43,-0.89l-1.37,-1.0l0.6,-1.14l1.73,-1.01l2.43,0.84l0.53,-0.31l0.32,-1.81l-0.93,-1.77l0.38,-3.3l0.62,-0.73l1.16,-0.61l0.77,0.24l0.83,-0.56l1.92,0.24l0.84,-0.28l1.77,-1.55l0.54,-1.01l0.53,0.08l0.45,-0.32l1.74,-2.05l-0.35,-1.59l1.65,-0.61l1.61,-3.0l0.86,-0.36l0.37,-1.45l2.97,-5.29l-0.41,-0.58l-1.18,0.59l-0.58,-0.19l0.15,-1.51l-0.55,-0.6l-0.53,0.11l-0.61,0.87l-0.47,-0.79l0.23,-2.17l-0.57,-0.33l1.22,-1.33l0.81,-4.16l-0.63,-1.42l-0.41,-5.85l-0.46,-1.29l-1.22,-1.12l2.21,-1.49l0.95,-1.66l-1.15,-2.6l-1.47,-2.16l-0.02,-0.62l0.88,-0.37l0.46,-2.78l-0.16,-1.13l-0.85,-1.39l-1.15,-0.22l-3.27,-5.22l-1.04,-1.0l0.75,-2.21l0.65,-0.42l0.41,-0.84l-0.26,-1.77ZM377.29,119.74l-0.18,-0.14l-0.03,-0.35l0.19,0.19l0.03,0.3Z\",\\n      \"name\": \"Colombia\"\\n    },\\n    \"VE\": {\\n      \"path\": \"M451.67,10.36l0.06,2.29l1.39,2.81l1.8,1.73l-0.62,0.51l0.49,1.94l1.11,1.39l0.04,0.63l-0.8,2.44l-3.51,4.12l-1.87,3.97l1.4,2.05l0.27,1.17l2.47,2.5l-0.19,1.07l0.57,1.54l0.81,0.86l0.95,0.32l1.12,-0.02l2.97,-0.98l0.82,-0.56l1.93,-2.47l0.4,-4.32l-0.36,-1.69l-2.29,-3.98l-1.44,-1.4l-1.54,-4.23l-0.28,-1.64l0.97,-0.9l-0.08,-1.21l2.22,-0.4l5.31,-2.53l3.32,-0.65l3.78,-1.36l2.02,-1.88l2.17,1.0l1.19,-0.57l0.4,-1.09l1.36,1.25l4.73,-0.46l2.15,0.69l2.65,0.35l5.0,3.19l1.34,3.16l-0.53,0.96l0.38,1.55l0.85,1.59l1.36,1.02l3.34,0.25l8.88,-1.19l1.76,-0.49l8.81,-0.26l1.44,0.59l0.26,1.24l2.88,2.62l2.52,0.45l2.03,0.84l4.45,1.1l3.53,-0.39l7.89,-4.33l4.17,0.11l1.46,-0.74l-0.07,-0.7l-1.58,-0.67l-3.12,-0.25l2.84,-0.27l4.51,0.25l3.78,-0.81l2.95,0.02l2.89,-0.51l5.49,0.61l3.11,-0.35l-2.98,0.35l-1.85,1.06l-3.74,-0.19l-2.65,0.38l-0.34,0.36l0.85,0.62l0.19,1.15l0.8,0.28l0.93,1.07l0.25,0.96l-0.89,1.93l0.42,0.22l1.28,-0.28l0.61,-0.56l0.15,-0.95l2.61,4.93l0.92,0.06l0.67,-0.75l0.66,0.39l0.49,-0.5l0.07,-1.45l0.36,0.08l1.86,1.18l0.76,0.95l0.16,0.71l1.52,1.36l0.32,-0.37l0.05,-0.87l-0.36,-0.99l1.26,-0.02l0.61,-0.77l3.03,2.97l3.58,0.95l2.35,2.07l-0.4,0.8l-1.42,0.53l-0.85,0.93l-1.22,3.83l-1.36,2.68l-4.25,0.03l-0.38,0.3l0.19,0.45l3.76,2.25l0.46,0.0l1.23,-0.87l1.95,-0.11l2.67,-1.15l3.78,0.54l1.8,-0.98l1.94,0.13l1.65,0.75l2.11,2.79l-1.52,0.97l-0.82,1.63l-1.68,0.71l-2.36,1.95l-1.73,0.27l-0.6,0.63l-0.63,1.46l-1.23,1.27l-0.07,0.98l1.25,1.92l-0.32,0.81l0.14,0.8l0.82,0.79l2.76,0.04l-0.25,1.24l-0.42,0.56l-3.74,2.04l-1.78,-0.2l-0.95,0.67l-2.64,0.61l-0.76,1.63l0.62,1.69l0.25,2.62l-3.06,3.2l0.19,0.9l7.65,8.53l0.82,0.46l0.73,1.86l-0.23,0.96l-1.25,1.3l-1.96,1.05l-1.21,1.85l-1.0,0.3l-2.38,-0.03l-0.98,0.94l-1.48,0.51l-0.83,1.27l-6.99,2.2l-3.19,-0.67l-2.41,1.37l-1.28,0.33l-0.57,1.26l-0.28,3.07l-0.88,0.76l-1.01,-0.0l-4.47,-4.19l-2.45,0.55l-1.55,-0.55l-4.26,0.14l-1.07,-1.54l-1.06,-0.83l-4.62,-0.17l-1.63,-1.56l-1.35,0.09l-0.33,1.0l1.81,2.68l5.29,4.98l0.04,4.53l2.2,4.98l0.32,1.43l-0.47,1.81l0.15,0.53l1.72,0.71l6.15,0.46l-0.11,1.78l-0.6,0.8l-1.36,0.24l-3.19,1.68l-2.09,0.6l-0.5,0.57l-0.92,3.32l-1.0,0.99l-1.08,0.81l-2.24,0.07l-2.88,2.35l-1.09,-0.01l-3.51,1.83l-1.96,2.15l-1.26,0.87l-1.23,1.95l-0.42,0.02l0.4,-1.64l-0.52,-1.0l-1.81,-0.9l-1.67,0.59l-2.95,1.81l-3.18,0.24l-6.2,-5.36l-0.09,-1.58l-1.14,-2.89l-0.1,-0.97l-1.66,-3.77l0.15,-0.68l-1.18,-2.59l0.18,-0.77l-0.28,-0.89l-4.27,-3.63l-0.63,-1.21l-1.95,-0.59l-0.86,0.26l6.02,-5.53l0.6,-1.29l-2.32,-3.65l-1.29,-1.0l-0.64,-1.04l-1.45,-3.99l-0.37,-3.08l-0.48,-0.67l0.62,-7.4l-0.24,-1.65l0.37,-1.06l1.15,-0.95l0.67,-1.49l0.13,-1.75l0.62,-1.36l1.27,-1.27l0.42,-1.16l-0.66,-2.33l-1.17,-0.81l-1.92,-0.52l-1.68,-0.07l-1.13,0.6l-2.38,0.52l-3.92,0.49l-3.13,-0.0l-2.5,-0.5l-1.84,0.17l-2.0,0.99l-1.1,-0.54l-0.83,0.22l-7.84,-9.65l-0.56,-0.3l-3.16,-0.25l-3.21,-1.33l-1.09,-0.11l-3.46,1.16l-1.32,0.09l-5.9,-0.56l-3.26,0.5l-1.21,-0.45l-0.82,-0.68l-1.44,-3.22l-2.44,-0.76l-0.72,-1.05l0.31,-5.13l1.07,-1.65l-0.4,-2.46l-0.43,-1.36l-2.93,-2.91l-1.55,-5.75l-0.89,-0.58l-1.19,0.02l-0.51,-1.1l-0.81,-0.44l-3.41,1.04l4.24,-6.94l1.67,-8.58l2.13,-4.13l2.81,-3.27l2.52,-1.15l2.87,-4.97ZM545.6,22.4l-0.48,0.2l-0.11,-0.2l0.47,0.01l0.12,-0.01ZM477.95,9.05l-1.38,-0.12l-3.1,0.53l-0.93,-2.76l0.89,-2.29l2.03,-0.82l0.87,0.63l0.89,1.27l0.73,3.57ZM451.82,10.18l0.36,-0.43l0.42,-0.11l-0.29,0.15l-0.5,0.39ZM457.21,8.44l0.52,-0.19l-0.25,0.13l-0.26,0.06ZM583.99,43.13l-0.26,0.09l-0.05,-0.57l1.3,-1.07l0.44,0.72l-1.43,0.84ZM543.68,17.62l0.28,-0.37l1.2,-0.33l1.08,0.82l-2.55,-0.13ZM546.28,17.77l1.28,0.14l0.62,-0.99l1.03,-0.91l0.16,0.14l0.33,1.34l-0.97,1.02l-1.39,0.03l-1.06,-0.78ZM531.54,18.25l0.57,0.0l0.46,0.27l-0.95,-0.22l-0.07,-0.05Z\",\\n      \"name\": \"Venezuela\"\\n    },\\n    \"CL\": {\\n      \"path\": \"M517.81,894.4l-0.79,0.6l-0.46,-0.09l0.86,-0.87l0.51,0.17l-0.13,0.19ZM421.18,761.07l-2.03,-0.3l-1.45,-0.97l-2.2,-0.83l-0.44,-1.36l0.76,-1.63l-0.34,-0.57l-0.7,0.08l-1.47,1.3l-3.87,0.91l-1.03,0.73l-0.3,0.45l0.13,0.56l1.37,0.37l0.57,1.35l-0.32,0.68l-0.48,0.05l-1.49,-1.05l-0.77,-1.17l0.02,-0.86l0.53,-1.27l4.9,-3.62l2.05,-2.01l1.78,-1.11l0.08,-0.61l-1.69,-2.18l0.07,-1.51l3.28,-0.69l3.63,0.25l3.78,-1.12l0.91,-0.86l0.27,-0.74l-0.46,-2.78l0.79,-0.87l0.81,-0.17l1.1,0.44l-1.54,5.48l-1.13,1.55l0.35,1.85l-0.57,0.88l-3.56,1.23l-0.28,0.59l0.62,0.64l1.97,-0.11l1.65,-0.32l1.47,-1.03l1.2,-4.69l1.18,-0.37l0.27,0.4l-0.15,3.02l-1.2,4.5l-1.44,1.8l-0.25,0.78l0.06,0.58l0.43,0.36l1.46,-0.22l0.97,-1.09l1.32,-3.1l0.41,-4.74l0.46,-1.41l-0.17,-2.14l-1.88,-1.11l-0.21,-0.82l0.49,-1.81l2.11,-0.03l2.03,-1.48l1.21,-0.49l3.23,1.51l0.71,0.07l0.41,-0.46l-0.63,-1.13l-3.04,-2.07l-2.39,-0.3l0.38,-1.57l0.44,-1.61l3.33,-0.88l4.09,-2.77l0.88,-2.38l0.2,-2.34l-0.28,-0.42l-1.91,-0.59l-5.02,-3.18l0.42,-3.5l1.89,-0.74l0.87,-3.39l-1.23,-2.75l0.26,-1.68l1.55,-1.55l0.75,-2.29l1.19,-0.1l0.36,-0.38l-0.1,-1.98l-0.95,-1.54l-0.03,-1.83l0.76,-2.02l1.31,0.11l0.47,-0.71l-1.0,-1.42l-0.67,-1.77l1.28,-0.63l0.77,0.62l1.39,2.52l0.73,-0.07l0.22,-0.66l-1.03,-6.09l-0.51,-0.33l-1.42,0.4l-1.16,-0.19l-0.76,-0.9l0.79,-1.26l0.88,-0.73l1.98,-0.28l1.69,-1.12l0.67,-2.4l-0.55,-0.46l-0.5,0.21l-0.97,1.97l-1.14,0.53l-1.24,-0.38l-1.71,-1.69l-1.92,-0.46l-1.1,0.6l-1.87,2.85l-0.66,0.4l-3.21,0.22l-1.16,-0.32l-0.99,-0.33l0.39,-0.93l0.87,-0.68l0.01,-0.44l-0.36,-0.41l-0.95,-0.1l-1.04,-0.7l-1.79,-5.56l-0.2,-1.9l0.74,-1.44l1.64,-5.77l0.51,-2.94l0.87,-2.54l0.01,-1.61l2.1,-1.43l1.02,-1.12l1.94,-5.2l0.31,-2.9l-3.54,-10.18l-0.14,-1.9l0.81,-4.57l-0.68,-2.04l-1.7,-2.87l-0.03,-1.31l0.71,-1.78l-0.67,-1.8l0.56,-1.65l2.57,0.44l1.43,-0.32l0.79,-0.74l0.54,-1.66l0.63,-4.83l1.36,-0.77l1.6,-3.54l1.14,-5.58l2.26,-2.95l-0.34,-2.53l1.38,-1.84l1.38,-2.73l2.04,-2.14l0.49,-2.37l1.54,-4.22l0.77,-4.4l-0.12,-1.7l2.02,-4.56l2.04,-2.38l0.34,-1.8l-0.71,-1.4l-0.02,-1.86l-0.51,-2.37l1.7,-1.62l1.73,-4.25l-0.08,-1.75l0.47,-1.97l-1.1,-2.58l-0.16,-5.34l-1.63,-8.46l0.09,-2.38l-0.66,-4.75l0.45,-3.75l3.26,-2.6l1.03,-6.55l-0.14,-2.86l-0.39,-1.37l-1.53,-1.91l-0.38,-3.37l0.24,-0.73l1.31,-1.02l0.93,-1.39l0.53,-2.24l0.99,-1.8l0.38,-4.07l0.81,-3.21l0.38,-1.04l1.57,-1.94l0.33,-5.2l3.01,-11.05l-0.16,-1.5l0.32,-2.95l-0.93,-2.7l0.92,-2.9l1.7,-2.14l0.53,-1.81l0.07,-1.15l-1.54,-6.68l0.8,-6.51l0.0,-3.12l1.39,-4.07l-0.39,-0.78l-1.16,-0.66l-0.8,-1.28l-0.06,-1.27l0.35,-2.24l1.28,-0.35l0.8,-0.92l0.72,-1.61l0.87,-3.71l0.38,-4.64l1.7,-8.88l-0.01,-3.08l-1.31,-6.65l0.6,-6.19l-0.12,-6.61l-1.43,-5.53l-0.71,-5.45l-0.02,-2.92l-0.58,-2.84l2.15,-0.1l1.58,-0.56l1.71,-1.07l1.05,-1.4l0.53,-1.52l-0.57,-3.4l1.84,-0.52l1.55,-1.29l0.18,0.86l1.59,1.82l0.67,2.27l2.42,1.24l-0.54,1.06l0.63,1.71l1.55,8.66l1.39,1.64l4.58,3.84l-2.7,3.49l0.06,0.76l1.37,1.39l0.16,1.07l-0.35,0.72l-1.34,0.27l-0.66,0.6l0.3,1.93l0.44,0.84l-0.64,0.6l-0.13,0.91l0.33,0.72l2.88,1.88l-0.85,1.02l0.06,2.43l0.59,0.58l1.03,0.27l2.73,4.21l0.13,3.93l0.9,1.79l0.43,2.87l1.1,1.08l0.45,3.44l0.8,1.96l0.03,4.19l1.15,0.93l1.31,0.22l1.61,0.03l4.44,-0.85l1.92,1.96l-4.06,12.75l-10.62,4.51l-3.31,3.25l-0.66,1.51l0.01,1.51l0.42,0.79l0.74,0.43l0.43,1.46l0.45,0.51l-1.25,0.6l-0.58,1.04l-0.63,2.41l-0.08,1.02l1.07,3.27l1.13,5.09l-1.87,2.49l-0.24,1.73l1.34,2.79l1.95,2.61l0.0,1.02l-0.22,0.48l-2.13,0.68l-0.74,0.72l-1.3,-0.48l-1.76,0.68l-1.3,3.38l-0.74,0.69l-2.09,6.08l-0.88,0.62l-2.14,2.75l-0.79,0.32l-0.43,1.04l-1.62,1.82l-0.36,1.88l-0.59,1.15l-0.1,1.83l-0.98,4.01l-1.97,1.91l-0.45,1.09l1.17,6.05l-0.38,3.95l1.33,1.24l-1.15,2.19l-1.43,0.32l-0.48,-0.28l-0.54,0.14l-0.17,1.2l-2.21,6.04l0.43,1.59l-0.8,1.11l-1.02,-0.06l-0.7,0.73l-0.79,5.6l1.77,3.99l0.68,0.56l0.88,0.06l0.6,0.64l-0.27,0.6l-0.89,0.43l-0.1,0.69l0.53,2.48l0.78,0.71l0.31,1.47l0.71,0.66l-0.06,2.0l0.73,2.44l1.08,1.06l-0.81,1.74l0.11,2.49l1.11,1.24l0.84,0.08l0.71,-0.31l0.57,0.27l0.21,1.22l-0.99,2.68l-0.16,1.85l0.49,6.59l-1.6,0.48l-0.79,0.6l-0.56,1.68l-2.27,4.09l-1.25,5.6l-1.9,1.34l0.2,1.23l0.82,0.44l0.16,0.41l-0.05,1.17l0.45,0.88l0.42,3.31l-0.41,1.53l0.13,2.36l-0.47,0.73l-1.36,0.31l-1.85,1.82l-0.42,1.55l-1.61,0.26l-1.93,1.48l-0.41,0.99l0.05,0.89l-1.48,2.77l0.86,3.83l-0.95,2.47l0.74,2.23l-0.59,2.43l0.22,1.99l1.68,3.94l0.73,5.66l1.42,1.4l-0.51,1.61l-0.53,0.65l-1.61,0.29l-2.37,1.23l-1.52,1.36l-0.39,1.01l0.07,4.14l-1.39,4.21l-1.17,-0.16l-0.98,0.72l0.5,3.12l0.39,0.76l-0.23,1.72l-0.39,0.77l-0.74,0.1l-0.46,0.43l-0.32,1.12l0.35,1.18l1.1,1.06l-1.27,1.28l-1.51,3.54l-0.16,1.56l0.82,1.61l-0.22,7.08l0.24,2.36l-0.44,1.53l1.9,5.57l-0.09,0.53l-0.99,0.56l-0.76,0.21l-0.43,-0.35l-0.83,0.15l-1.13,1.62l-0.22,1.14l0.52,0.81l0.25,1.4l-1.06,1.69l0.36,2.84l-0.39,3.07l0.57,1.33l0.81,0.74l3.12,0.91l0.26,0.72l-0.11,0.56l-1.74,1.02l0.07,1.58l1.83,2.19l0.13,1.3l-0.59,0.61l-0.05,0.49l1.28,2.37l-1.55,2.63l-0.27,3.3l0.19,0.89l0.35,0.31l7.17,0.83l0.53,0.55l-0.08,0.69l-0.75,1.1l-0.42,1.74l-0.81,0.23l-1.26,-0.5l-5.97,0.61l-1.22,-0.28l-0.48,0.33l-0.09,0.89l0.7,1.53l5.17,1.06l1.78,2.71l1.01,0.89l0.04,1.16l-1.57,1.46l-0.28,1.06l-1.95,0.29l-0.97,1.0l-0.32,2.18l0.27,1.84l0.94,0.81l0.45,0.86l-0.5,1.04l-2.29,1.8l-0.03,0.5l1.31,2.28l0.74,4.81l-0.33,0.68l-2.57,2.1l-0.28,2.9l0.11,1.09l0.61,1.37l-1.46,0.58l-0.87,1.63l-2.88,2.26l-0.08,1.42l-2.1,4.61l0.08,1.66l1.34,0.93l0.86,1.31l0.38,1.65l-0.65,1.84l-1.67,0.79l-1.02,0.9l-0.41,0.82l0.23,2.39l-0.31,1.85l-1.23,1.43l-2.97,1.21l-0.76,0.67l-1.48,2.83l0.09,1.55l-3.52,0.18l-0.37,0.32l-0.25,1.21l-0.87,1.16l-0.27,1.86l1.25,3.35l-0.68,1.9l0.33,3.34l1.44,1.86l0.87,1.99l0.74,3.14l1.17,2.79l1.46,0.59l2.56,-1.67l2.76,-0.05l1.43,-0.63l1.1,0.34l0.52,0.62l0.73,3.43l-0.33,1.73l-0.64,0.52l-0.23,0.77l0.21,1.2l0.68,0.92l-0.01,1.01l-1.19,4.16l1.67,2.41l1.69,0.95l2.02,1.99l-0.0,1.56l0.85,0.47l23.55,0.3l5.63,2.04l3.47,0.02l5.87,1.91l2.84,0.53l0.04,0.2l-6.15,-1.37l-1.64,-0.85l-1.48,-0.07l-2.68,1.21l-1.96,3.01l-1.59,0.61l-1.8,0.15l-5.78,2.37l-2.14,0.23l-2.86,1.58l-0.7,2.2l0.19,1.27l-1.54,4.21l-0.41,2.48l0.43,3.31l-0.54,3.2l-0.87,0.63l-2.4,0.89l-4.63,-1.27l-2.09,-1.29l-3.6,-1.46l-2.34,-2.54l-0.37,-1.67l1.08,-1.33l4.07,-0.27l0.81,0.64l0.25,1.57l-0.81,1.43l0.08,0.8l0.57,0.24l1.21,-0.64l0.79,-4.22l3.92,-1.96l1.43,-1.26l1.42,-2.0l0.33,-1.31l-0.18,-0.39l-0.94,-0.61l-2.3,-0.72l-6.12,3.85l-2.82,1.04l-1.86,1.16l-2.23,2.07l-0.46,0.69l-0.63,2.4l-1.65,-0.51l-3.18,-2.06l-0.43,-0.51l1.56,-1.94l0.29,-3.92l1.77,-1.6l0.58,0.04l0.46,0.9l2.09,-0.05l4.17,-2.68l1.49,-0.06l2.3,0.59l2.63,-0.41l1.06,-0.99l-0.16,-0.63l-3.69,-1.13l-5.05,-0.27l-1.38,0.4l-1.23,1.19l-0.65,-0.93l-1.69,-0.5l-0.98,0.09l-0.99,0.78l-0.37,2.24l-1.58,1.18l-1.07,1.8l-0.07,2.14l-0.9,0.62l-2.33,-0.28l-2.01,-2.42l-1.0,-0.65l4.2,-1.87l2.13,-2.89l-0.0,-0.5l-0.61,-0.76l-1.03,-0.15l-0.4,0.42l0.06,1.06l-0.53,0.67l-1.72,-0.36l-2.31,1.39l-1.52,-0.36l-2.3,0.41l-0.94,-0.62l-0.19,-0.73l0.4,-1.18l-0.45,-1.78l-0.85,-0.67l-0.62,-0.01l-1.49,-3.58l5.13,2.0l1.66,-0.6l0.44,-1.81l1.49,1.11l3.29,0.07l1.62,-0.5l2.34,-1.34l1.61,-1.5l0.79,0.35l0.07,0.98l1.27,1.62l0.16,0.7l-0.11,0.66l-1.55,1.66l0.06,0.48l0.87,0.54l1.41,-0.88l0.68,-1.48l0.0,-1.51l-1.1,-2.27l-0.11,-1.11l1.06,-0.78l0.47,-0.84l0.03,-1.75l-0.72,-1.01l-2.64,-2.13l-4.82,-2.19l-0.99,0.71l0.07,0.59l4.91,2.19l2.28,1.79l-0.1,0.52l-3.84,0.97l-5.31,3.29l-1.32,-0.38l-1.5,-2.81l-1.35,-1.12l-0.91,-0.0l-1.21,-0.65l-0.77,0.35l-2.13,-1.26l1.06,-1.13l1.44,0.54l0.54,-0.34l0.41,-4.59l-0.57,-1.26l-2.37,-1.31l-2.61,-0.04l-5.69,-2.07l-2.77,-4.22l-0.32,-1.11l2.64,-0.04l2.1,-0.45l0.47,-1.08l-1.39,-2.21l1.16,-1.24l2.95,1.81l2.09,4.52l0.63,0.67l3.67,2.08l0.71,0.02l0.38,-0.45l-0.2,-1.52l0.92,-2.01l1.15,-0.58l0.45,-0.71l-0.88,-1.08l0.37,-0.98l-0.32,-0.54l-0.63,0.06l-0.94,0.92l-1.66,3.75l-0.65,0.44l-2.31,-3.05l0.1,-1.37l2.41,0.34l0.43,-0.25l-0.15,-0.48l-5.71,-2.55l-2.08,-2.13l3.1,-3.01l3.56,0.71l1.02,-0.49l0.14,-0.55l-0.63,-1.04l-1.07,0.08l-0.96,-0.53l-1.68,-1.78l0.35,-2.4l1.9,-0.61l2.68,1.03l0.67,-0.22l0.23,-0.56l-0.87,-1.53l-2.17,-1.28l0.83,-2.65l0.12,-2.34l0.92,-0.78l0.04,-0.39l-0.43,-0.43l-1.47,0.36l-0.56,2.48l-0.79,1.02l-0.84,3.42l-1.1,-1.04l-0.2,-9.35l0.47,-2.9l1.67,-1.35l1.39,0.12l0.82,-0.53l-0.1,-0.69l-1.96,-0.74l-2.28,0.95l-1.17,-0.33l-0.32,-1.48l-0.88,-1.27l-0.09,-3.66l3.65,0.67l4.67,-0.04l4.11,2.4l1.73,-0.32l0.32,-0.46l-0.31,-0.78l-1.21,-0.55l-1.24,-1.65l-1.24,-5.08l-0.47,-0.28l-0.68,0.36l-1.14,3.03l-0.99,0.83l-1.62,0.36l-1.62,0.21l-1.22,-0.31l-0.37,-1.75l-0.78,-0.53l-1.98,-0.56l-0.36,-0.55l1.14,-1.62l1.18,0.4l1.13,1.08l0.96,0.19l1.41,-0.88l0.35,-0.73l-0.19,-0.5l-2.26,-0.9l-1.6,-1.29l0.74,-1.21l2.85,-2.14l0.17,-0.49l-0.54,-1.37l0.6,-1.84l-0.75,-1.44l-1.48,-1.6l-2.08,-0.19l-0.46,0.65l0.09,1.01ZM510.37,893.33l-0.97,1.27l-1.7,0.73l-0.49,-0.23l-0.73,-1.45l-0.62,-0.23l-1.31,0.26l-2.05,1.11l-3.5,-0.62l-0.57,-0.61l-0.56,-1.81l-1.09,-1.08l1.69,-0.62l2.71,0.0l7.45,0.79l1.47,1.28l0.27,1.2ZM505.41,902.73l1.67,-1.52l1.07,2.27l-0.22,0.12l-2.52,-0.88ZM502.27,905.06l0.32,-0.07l2.45,0.16l-0.62,0.32l-2.15,-0.4ZM476.34,893.09l0.57,-1.17l0.37,-2.55l11.47,2.16l3.11,-1.0l2.05,0.03l0.42,0.83l-2.07,1.26l-0.27,1.07l0.59,0.5l2.35,0.22l0.85,0.75l-0.38,1.45l2.88,2.49l0.31,0.55l0.12,1.69l-1.5,-0.69l-0.72,-1.27l-0.71,-0.43l-3.28,-0.98l-3.12,-0.05l-0.53,-0.99l0.51,-1.73l-0.35,-0.75l-1.46,0.22l-2.11,-1.36l-1.37,-0.13l-0.4,0.25l-0.78,2.38l1.71,2.55l-1.78,-0.47l-1.18,-1.23l-1.47,-0.72l-0.27,-1.64l-0.55,-0.22l-1.56,0.27l-0.57,-0.89l-0.89,-0.4ZM485.33,852.61l1.5,0.19l3.38,-1.53l1.48,0.98l-0.27,35.73l-1.42,0.0l-0.65,0.41l-2.7,0.52l-4.73,-0.83l-2.72,-2.35l-0.53,-0.04l-3.54,1.65l-1.12,0.05l-1.72,-1.11l-2.71,0.93l-5.05,-1.55l-3.67,-0.34l-2.67,-1.25l-4.61,0.11l-0.59,-0.29l-0.11,-1.18l0.84,-0.28l0.4,-0.61l2.12,1.01l2.96,-1.68l2.26,0.88l1.14,-0.08l1.65,-0.58l0.68,-1.21l1.0,-0.14l0.85,0.26l-0.06,1.91l0.32,0.45l3.43,0.29l1.22,0.42l0.52,-0.29l0.04,-1.1l-2.99,-3.08l-1.27,-0.73l-1.32,-0.31l-1.1,-1.92l-0.04,-3.37l2.41,-0.91l0.23,-0.52l-0.53,-1.36l1.25,-1.16l0.95,3.93l0.59,1.21l-2.45,0.15l-0.35,0.59l1.14,2.16l2.0,0.89l1.44,1.43l0.23,1.34l1.09,0.58l2.22,0.03l1.49,-0.23l1.38,-0.98l1.29,0.86l3.01,1.16l0.56,2.06l0.51,0.28l0.89,-0.36l1.4,-1.56l1.03,-0.51l0.18,-0.67l-0.23,-0.37l-11.3,-4.9l-1.08,-1.49l-0.74,-1.91l0.02,-1.85l0.53,-0.49l8.91,-3.99l0.13,-1.39l-0.52,-0.9l-1.74,-0.7l-2.98,-0.08l-1.57,0.25l-2.52,1.07l-1.31,-0.06l-1.25,-0.53l-0.93,-1.07l-0.49,-1.48l0.18,-1.75l0.53,-0.81l2.31,-0.59l0.93,-1.2l-0.47,-0.86l-1.19,-0.72l-1.09,-1.31l1.56,-0.15l2.22,1.5l1.14,0.02l2.18,-1.55l3.08,-3.78l0.68,-0.06l2.85,2.82ZM458.81,889.3l0.04,-0.8l1.28,0.06l-0.34,0.09l-0.98,0.65ZM460.72,888.6l0.33,0.03l1.27,0.37l1.04,0.02l0.74,1.15l1.65,0.51l4.58,-0.94l1.4,2.27l-0.11,0.49l-1.77,0.89l-0.4,-0.13l-0.16,-0.7l-0.67,-0.66l-1.7,0.31l-2.48,-0.71l-0.56,-1.12l-3.17,-1.79ZM458.58,875.06l2.71,1.34l1.54,0.03l0.2,1.77l-1.23,1.74l-4.09,-2.32l-0.93,0.22l-2.48,-0.25l-0.87,0.82l-1.04,0.27l-0.32,-1.34l-2.67,-2.48l0.58,-1.36l1.6,-0.8l5.07,1.12l1.93,1.24ZM438.65,864.65l1.03,0.56l0.79,2.23l2.68,-0.15l2.32,0.47l2.9,3.18l-0.97,0.77l-0.8,1.95l-2.08,1.35l-1.35,0.09l-2.16,0.77l-0.61,-0.39l0.72,-0.36l1.21,-1.44l0.31,-1.69l-0.31,-0.45l-3.75,-0.34l-0.6,1.48l0.13,1.14l-1.08,-0.26l-0.95,-0.58l0.16,-2.27l-0.37,-1.33l-0.41,-0.2l-1.6,0.2l-1.15,-1.14l-0.69,-1.35l-1.99,-0.49l1.28,-1.3l2.55,-0.24l1.05,0.96l3.21,0.69l0.48,-0.46l-0.18,-0.99l0.25,-0.42ZM439.33,729.48l-2.73,1.11l-1.19,-0.32l-0.46,-0.71l-0.5,-1.71l1.87,-2.12l0.27,-1.98l2.3,0.57l2.16,1.05l0.67,0.63l0.08,0.3l-1.49,2.26l-0.98,0.92ZM419.21,853.86l2.7,1.87l0.72,1.21l3.81,0.62l3.46,1.49l1.44,0.21l1.26,0.9l1.17,0.32l3.01,2.72l-4.07,-0.81l-0.51,-1.2l-2.13,-1.78l-0.98,-0.45l-1.61,-0.37l-3.31,0.05l-3.27,-2.45l-0.7,-1.33l-0.99,-1.0ZM427.21,686.6l3.24,1.04l2.21,0.26l0.85,3.61l0.35,0.46l-0.13,0.83l-1.17,0.84l0.1,1.13l0.46,0.84l-2.58,1.0l-0.9,0.6l-0.13,0.52l1.47,1.82l1.25,0.84l1.43,2.3l-1.07,1.68l-2.38,1.18l-0.25,0.4l0.13,1.82l-0.3,0.56l-1.44,0.31l-2.32,-0.2l-2.93,-1.55l1.12,-2.0l0.98,-3.0l0.64,-4.2l-0.5,-1.69l0.34,-3.03l1.17,-2.29l0.64,-3.09l-0.28,-0.96ZM431.41,730.15l-1.49,-2.32l0.34,-0.97l0.45,-0.15l0.56,0.72l0.14,2.72ZM428.94,737.79l-2.39,-0.13l-0.1,-1.99l-1.2,-0.71l-1.78,-3.35l-2.95,-3.65l1.21,-0.69l0.2,-0.41l-0.21,-1.38l1.98,-0.93l1.14,0.42l0.96,-0.16l0.63,-0.49l0.26,-3.05l0.84,-0.54l0.79,-0.05l0.9,1.31l1.3,0.6l-0.33,1.3l-0.44,0.47l-2.38,0.87l-0.37,0.96l-0.07,0.79l1.53,2.24l0.99,3.12l0.08,1.32l0.72,1.35l-0.26,1.83l-0.65,0.11l-0.38,0.86ZM427.8,716.68l-1.72,-0.45l-0.06,-0.22l1.71,-0.05l1.27,-0.44l0.33,0.61l-0.8,-0.1l-0.73,0.66ZM422.28,837.67l0.49,0.19l2.74,2.06l-0.3,0.24l-1.75,-0.62l-0.88,-0.73l-0.3,-1.14ZM423.33,743.11l-0.65,0.64l-0.93,0.26l-1.03,-0.46l-1.22,0.14l-0.08,-0.6l2.3,-3.45l-0.04,-2.1l0.85,-1.09l0.75,-0.25l0.2,1.05l-0.35,2.73l1.02,2.25l-0.82,0.88ZM421.18,796.33l0.11,2.25l-0.66,5.2l0.08,0.57l0.67,0.5l-0.41,2.43l-0.99,2.09l-1.58,0.1l-0.47,-1.05l-0.16,-1.88l-0.67,-1.3l0.2,-1.1l0.62,-0.66l0.08,-1.29l1.01,-1.22l-0.39,-0.76l-0.5,0.04l-2.74,1.88l-0.41,1.25l-0.04,2.29l-0.6,1.25l-2.57,-0.07l-1.74,-1.16l-1.09,0.16l-0.15,-0.91l0.42,-0.83l1.96,0.09l0.41,-0.33l0.38,-2.1l-1.86,-2.16l1.36,-1.04l1.27,0.38l1.58,-0.35l0.31,-0.42l-0.09,-1.32l-1.31,-0.78l0.16,-0.5l2.77,-1.9l0.18,-1.38l-0.4,-1.13l0.82,-0.97l1.46,-0.33l1.08,0.6l1.11,0.15l0.8,5.73ZM417.08,836.08l0.53,2.87l0.6,0.57l1.09,0.2l1.17,1.4l-1.52,2.77l-0.33,1.71l-1.29,-0.09l-1.89,-3.53l-0.98,-3.74l0.82,-0.73l0.92,0.19l0.48,-0.37l0.05,-1.14l0.34,-0.1ZM420.19,829.96l-0.02,1.13l-0.3,0.28l-1.31,-0.42l-1.6,1.06l-2.12,-0.54l-0.48,0.17l-1.18,1.99l-1.08,1.09l1.53,-4.25l1.28,0.47l1.92,-0.62l1.74,-1.13l1.2,-0.01l0.43,0.77ZM420.06,787.59l-1.35,-0.18l-2.34,0.36l-0.88,-1.15l-0.46,-2.14l-1.95,-3.9l-0.34,-1.58l0.38,-0.52l2.56,-0.76l1.01,-1.22l0.23,0.05l-0.15,2.5l1.55,1.86l0.62,2.36l0.62,0.76l-0.08,1.15l0.58,2.42ZM418.79,712.15l-1.08,0.16l-0.14,-0.16l0.73,-0.31l0.49,0.3ZM414.38,813.99l-2.1,1.13l-0.73,-0.45l-1.15,0.0l1.18,-4.31l4.87,1.37l0.26,0.81l-1.27,0.55l-1.07,0.9ZM413.76,775.65l-0.43,0.1l-0.62,-0.81l1.54,-0.76l1.55,0.37l-2.04,1.1ZM414.42,731.21l-0.29,-0.22l-0.04,-0.55l0.22,0.22l0.1,0.54ZM413.58,791.47l-0.09,1.08l-1.69,2.26l-2.78,2.39l-0.89,-0.2l1.64,-1.82l-0.42,-1.3l-1.33,-0.92l0.13,-0.52l0.69,-0.51l0.61,0.14l2.33,-0.62l0.77,-0.49l0.94,-0.06l0.08,0.58ZM411.23,820.33l-0.25,1.09l-0.47,-0.06l-0.54,-1.41l0.6,-2.3l2.67,0.23l-1.89,1.17l-0.11,1.29ZM408.98,789.92l-0.87,0.01l-0.28,-2.31l1.59,-4.01l0.11,-1.51l-0.74,-2.09l1.62,-0.71l2.58,5.86l-0.03,2.8l-0.61,0.58l-2.43,0.75l-0.93,0.64ZM368.15,572.05l0.38,-0.32l0.5,0.2l-0.87,0.12ZM1.37,485.84l-0.92,0.2l0.24,-0.38l0.68,0.18Z\",\\n      \"name\": \"Chile\"\\n    },\\n    \"SR\": {\\n      \"path\": \"M630.17,84.15l0.35,-0.04l1.45,-4.82l0.82,-0.52l5.91,0.65l2.74,0.63l3.38,1.03l0.43,0.99l0.44,0.23l0.32,-0.38l-0.12,-2.19l0.73,-0.62l2.0,-0.27l3.19,0.4l2.87,-0.49l3.73,0.06l5.71,0.94l3.37,1.1l0.06,2.07l-0.39,1.21l-0.86,1.63l-2.1,2.06l-1.49,2.14l-0.32,1.39l0.03,2.07l0.54,1.95l-0.27,1.27l0.61,3.33l0.66,0.91l-0.03,1.12l1.19,1.9l1.7,1.59l1.37,1.96l-0.2,1.55l-2.31,3.72l0.36,1.9l-0.28,1.97l-2.39,4.14l-0.91,0.49l-0.63,0.83l-1.15,0.19l-0.77,-1.36l-1.74,-0.06l-1.53,-1.83l-1.2,0.61l-1.43,0.03l-1.78,0.68l-0.62,0.59l-3.9,0.38l-2.9,-1.35l-0.63,0.39l-0.4,1.35l-1.23,1.03l-0.21,0.69l2.66,2.86l-0.36,1.71l-0.5,0.13l-5.12,-1.07l-1.35,-0.88l-1.53,-0.33l-2.61,-4.14l-2.1,-4.49l-1.17,-1.15l-0.33,-2.82l-0.58,-0.87l-0.35,-2.56l-1.82,-0.18l-1.43,0.27l-0.9,-0.38l-0.08,-1.49l-2.15,-1.87l-0.91,-2.15l-1.48,-1.73l-0.24,-1.06l-0.0,-0.68l1.22,-2.08l1.28,-3.91l-0.81,-1.91l0.64,-0.92l1.59,-0.82l4.71,-0.47l0.36,-1.17l1.19,-1.16l-0.16,-0.71l-0.8,-0.35l-0.28,-0.65l1.21,-2.21Z\",\\n      \"name\": \"Suriname\"\\n    },\\n    \"BO\": {\\n      \"path\": \"M481.86,363.93l-0.21,-1.65l-1.26,-1.21l0.02,-0.65l2.3,-1.5l2.8,-3.83l2.14,-1.55l0.02,-0.91l1.11,0.37l0.77,-0.25l0.19,-0.99l-0.51,-0.9l1.73,-0.47l0.58,-0.69l1.21,-0.3l0.26,-0.47l-0.32,-1.04l-2.78,-0.6l-0.49,-0.84l1.01,-1.29l-0.11,-0.53l-0.63,-0.37l-1.83,-0.26l-0.33,-1.39l-3.24,-2.34l-0.58,-1.06l2.22,-3.47l-2.41,-3.34l0.15,-1.72l1.02,-0.74l0.47,-1.71l2.61,-2.67l0.2,-1.48l1.26,-0.63l0.35,-0.61l-2.38,-6.1l1.04,-2.26l0.06,-7.46l1.18,-1.34l1.33,-0.85l0.11,-1.16l0.88,-1.61l-10.45,-18.37l3.51,0.07l4.51,0.67l1.37,1.31l1.63,-0.14l3.87,-1.71l2.83,-3.26l0.83,-0.3l3.51,-0.07l1.61,-2.08l1.92,-1.36l3.68,-1.48l4.62,-3.59l1.77,-0.87l3.72,-0.89l4.04,-0.49l2.49,-0.2l0.99,0.48l0.95,-0.14l0.97,-0.85l0.72,-0.19l0.84,1.57l-0.16,1.89l0.31,1.46l-0.15,1.15l-1.43,2.29l-0.19,0.88l0.1,1.14l1.27,3.72l0.11,1.43l-0.82,1.92l0.03,0.89l0.63,1.05l0.24,1.47l1.7,2.39l-0.1,1.25l0.44,0.48l0.86,-0.25l1.28,2.87l1.94,0.67l2.56,2.08l1.11,0.55l1.33,2.4l5.84,1.11l1.96,-0.72l1.04,0.09l4.11,2.47l1.17,0.34l1.1,-0.52l0.89,-0.03l0.72,1.68l3.03,2.37l1.08,0.03l4.06,1.69l2.55,0.23l0.32,0.99l1.84,2.04l1.92,1.5l3.64,0.25l5.13,-0.61l6.65,3.58l1.09,2.5l-0.82,2.12l0.27,1.16l0.71,0.79l0.67,2.82l0.47,0.65l0.28,5.26l-3.33,0.11l-0.36,0.27l4.1,5.0l0.79,9.64l0.38,0.37l19.75,0.73l1.97,-0.5l-0.1,1.98l-1.37,1.87l-0.16,0.81l0.99,6.73l0.78,0.89l4.27,2.85l1.18,0.31l0.8,-0.18l0.43,1.68l2.34,5.61l0.68,1.01l-0.54,0.67l-2.52,7.93l0.63,0.53l0.1,0.87l-0.91,0.62l-3.99,8.31l0.09,0.47l3.01,2.72l-1.73,0.63l-0.82,1.1l-0.15,-3.41l-0.43,-0.75l-11.19,-6.72l-11.14,0.15l-21.08,4.35l-2.23,5.36l-4.3,6.32l-0.08,6.51l-4.26,14.13l-0.68,-0.53l-1.41,-2.18l-10.12,0.08l-0.61,0.29l-1.77,-0.23l-1.61,1.02l-3.5,6.73l-0.46,2.17l-1.91,-5.07l-1.19,-2.03l-4.8,-1.55l-9.25,-0.11l-3.98,-3.34l-1.59,-0.44l-0.74,0.64l-1.29,3.36l-4.25,1.41l-1.05,2.39l-2.8,1.82l-0.35,1.35l-1.55,1.99l-4.43,0.85l-1.48,-0.03l-0.91,-0.11l-0.84,-0.59l0.02,-3.95l-0.82,-2.06l-0.48,-3.53l-1.09,-1.06l-0.4,-2.73l-0.9,-1.77l-0.19,-4.12l-2.87,-4.43l-1.45,-0.57l-0.05,-1.9l0.83,-0.91l0.04,-0.69l-3.11,-2.12l-0.12,-0.34l0.82,-1.46l-0.77,-2.37l1.56,-0.39l0.8,-1.36l-0.24,-1.54l-1.39,-1.46l2.68,-3.41l0.02,-0.7l-4.8,-4.15l-1.19,-1.38l-1.5,-8.5l-0.6,-1.61l0.58,-1.29l-2.69,-1.51l-0.59,-2.16l-1.57,-1.8l-0.17,-1.28ZM486.75,346.77l0.46,0.22l0.77,0.76l-1.43,-0.14l0.2,-0.84Z\",\\n      \"name\": \"Bolivia\"\\n    },\\n    \"EC\": {\\n      \"path\": \"M351.85,191.66l1.45,-0.54l2.45,-2.11l2.84,-7.02l-0.16,-1.37l-0.93,-1.61l-0.24,-3.45l-0.73,-0.13l-0.62,0.94l0.09,3.51l-0.46,1.28l-0.51,0.17l0.25,-2.18l-0.2,-0.4l-0.44,0.04l-0.66,0.57l-0.86,1.59l-1.41,1.18l-0.32,0.73l-1.61,-0.8l-2.8,-2.73l-1.94,-0.65l-1.01,-0.87l-0.22,-0.49l2.26,-1.55l0.12,-1.71l-0.06,-1.52l-0.83,-2.2l0.39,-3.03l-1.17,-3.56l0.56,-0.96l2.49,-0.87l0.95,-0.67l1.14,-2.98l1.0,0.37l0.92,-0.06l0.37,-0.34l-0.26,-0.43l-1.09,-0.39l-1.02,-2.17l1.78,-2.24l2.28,-1.95l1.12,-2.03l0.3,-3.34l-0.73,-4.29l0.4,-0.38l1.61,-0.33l1.92,-1.38l1.59,0.04l1.72,-1.04l6.8,-1.76l1.07,-1.21l-0.1,-1.21l1.36,1.47l2.02,1.0l4.03,2.8l4.28,1.74l1.43,-0.1l0.65,1.28l2.05,0.92l0.52,2.44l0.59,0.67l1.33,0.42l2.12,0.08l3.42,1.27l0.96,0.06l0.59,-0.33l2.57,0.42l1.22,-0.63l0.33,-1.5l1.04,-0.35l2.36,1.09l2.19,2.28l1.32,0.81l1.98,0.36l3.17,1.71l-1.28,0.15l-1.85,-0.4l-0.39,0.33l0.12,0.83l1.57,1.0l0.77,1.85l1.95,1.98l-0.28,1.41l0.37,2.77l-0.61,-0.0l-0.67,-0.46l-0.58,0.22l-1.94,7.25l-6.17,7.17l-7.02,5.12l-14.19,5.04l-1.12,0.92l-2.95,3.66l-0.2,0.76l0.39,0.66l-0.22,0.09l-0.77,-1.05l-1.0,-0.0l-0.87,2.64l-0.28,2.18l-1.56,2.57l-1.54,4.05l-0.1,0.81l0.37,0.91l-0.32,1.01l-2.62,1.84l-0.31,0.83l0.1,0.87l-0.66,0.3l-0.63,1.05l-3.05,-0.51l-1.42,-1.84l-0.86,-2.87l-1.45,-1.0l-2.06,0.17l-4.33,-2.15l-0.89,0.3l-1.11,1.23l-0.93,0.48l-0.72,-0.26l1.5,-2.18l-0.31,-0.63l-1.26,-0.29l-0.07,-1.44l0.36,-0.21l1.55,0.28l1.86,-1.75l-0.53,-1.83l0.08,-1.57l-0.86,-2.63ZM367.75,135.25l-0.11,-0.03l0.13,-0.1l-0.01,0.13ZM353.01,186.43l-0.93,0.17l0.51,-2.41l1.47,-0.87l1.33,0.35l-0.78,0.7l-0.97,0.33l-0.64,1.74ZM239.56,161.54l2.01,-1.78l1.29,-0.3l-1.73,1.91l-1.15,0.4l-0.42,-0.23ZM230.19,159.62l-1.94,-0.96l0.08,-0.76l0.56,-0.58l2.12,-0.35l0.7,0.5l-0.07,1.02l-0.66,0.81l-0.8,0.31ZM229.08,166.48l-0.46,-0.21l0.18,-0.33l0.5,0.31l-0.21,0.23ZM227.12,154.48l-0.32,0.21l-2.0,-0.37l-0.4,-0.39l0.64,-0.84l1.09,0.28l1.08,0.84l-0.1,0.27ZM215.69,150.78l0.98,-0.97l1.2,-0.19l1.54,1.76l0.5,2.31l2.33,2.26l0.2,2.12l1.8,1.75l-1.07,1.91l-2.51,0.88l-2.75,-0.03l-1.06,-0.9l-0.09,-0.51l0.33,-0.54l1.4,-1.05l2.24,-0.99l0.5,-1.0l-0.96,-1.14l-0.73,-1.56l-1.32,-0.95l-0.69,-3.03l-0.75,-0.45l-1.09,0.32ZM214.83,154.5l1.78,-0.28l0.48,0.53l-0.01,0.91l-1.08,0.4l-0.8,-0.32l-0.38,-1.24Z\",\\n      \"name\": \"Ecuador\"\\n    },\\n    \"AR\": {\\n      \"path\": \"M473.96,528.95l0.46,0.15l2.01,-0.59l1.39,-2.75l-0.23,-0.72l-1.1,-0.6l0.35,-3.93l-1.18,-5.81l0.31,-0.8l2.07,-2.06l1.02,-4.17l0.11,-1.86l0.57,-1.07l0.35,-1.83l1.49,-1.59l0.45,-1.02l0.64,-0.19l2.22,-2.83l1.05,-0.85l2.06,-6.05l0.72,-0.66l1.12,-3.14l1.2,-0.48l0.86,0.54l0.72,-0.11l0.82,-0.75l2.23,-0.72l0.55,-0.92l-0.04,-1.64l-2.0,-2.68l-1.22,-2.41l0.17,-1.34l1.97,-2.76l-1.17,-5.37l-1.06,-3.23l0.09,-0.73l1.02,-3.03l1.2,-0.52l0.28,-0.62l-0.98,-2.35l-1.14,-1.13l0.0,-0.97l0.57,-1.31l3.05,-3.0l10.9,-4.77l4.19,-13.16l-2.11,-2.45l1.48,-1.86l0.32,-1.31l2.81,-1.83l0.94,-2.25l4.28,-1.44l1.58,-3.75l1.06,0.33l4.14,3.41l9.37,0.13l4.45,1.42l3.34,7.52l0.68,-0.05l0.74,-2.9l3.44,-6.6l0.54,-0.46l0.95,-0.24l1.32,0.27l0.61,-0.3l9.74,-0.09l1.03,1.86l1.02,0.82l0.51,0.95l3.04,1.88l1.84,2.11l3.5,5.73l3.04,2.7l1.89,1.08l0.22,0.5l3.58,2.1l1.4,1.19l0.75,1.36l2.4,1.34l4.03,1.35l2.97,0.65l1.85,-0.05l2.51,1.03l8.51,6.0l5.59,2.87l2.49,0.74l1.88,1.5l2.78,0.24l3.65,1.96l2.73,3.33l0.17,1.32l-2.12,1.99l-1.73,4.07l-2.27,1.67l-1.21,2.2l-0.31,1.14l0.16,3.0l-0.54,0.62l-0.12,0.78l-0.83,0.78l-0.17,0.89l-1.2,0.66l-1.34,2.09l-0.95,0.79l-0.28,1.07l0.45,1.54l0.42,0.29l5.22,-0.53l4.22,0.55l5.05,1.47l3.42,0.53l1.77,-0.44l1.05,0.05l0.9,0.58l1.08,0.12l1.4,-0.32l0.92,0.21l1.19,0.88l1.05,-0.4l0.7,-1.25l1.58,-1.38l2.31,0.06l2.07,1.19l1.14,-0.1l1.1,-0.88l0.76,-2.58l0.82,-0.47l0.87,-1.35l3.35,-0.94l0.3,-0.78l1.92,-1.53l0.38,-0.77l1.34,-0.71l0.88,-1.61l0.95,-2.96l0.56,-3.95l0.18,-5.15l1.57,0.61l3.51,-1.28l0.68,0.52l0.92,0.15l0.59,0.76l0.76,0.34l0.79,3.64l1.78,3.33l0.02,0.61l-0.51,0.9l-0.51,5.12l0.42,1.72l-1.35,2.85l-3.01,1.84l-0.78,-0.14l-1.97,2.14l-2.74,0.4l-1.41,0.97l-1.88,0.28l-0.78,0.84l-0.43,1.4l-1.48,0.69l-0.64,1.2l-1.73,0.44l-1.24,0.74l-1.56,1.73l-3.02,1.52l-0.41,0.87l0.8,1.42l-1.74,-0.39l-0.79,0.44l-0.2,0.99l-0.87,0.46l-0.66,1.28l-2.26,1.99l-1.22,1.59l-0.83,1.85l-0.91,1.14l-1.07,0.56l-0.89,0.94l-0.49,1.19l-3.15,3.95l-1.76,1.55l-1.69,0.93l-0.92,0.98l-0.28,1.19l-0.96,1.13l-1.88,1.37l-1.05,1.21l-0.15,1.03l-2.07,2.5l-0.58,1.4l0.63,1.84l0.09,1.8l-1.04,1.5l0.33,0.94l-0.26,1.96l-1.64,2.86l-0.3,1.17l0.77,1.71l-0.6,1.84l-1.37,1.24l-0.42,0.89l0.32,1.06l-0.05,2.63l0.53,0.9l-1.2,4.04l0.57,5.32l-0.77,1.29l-1.56,0.0l-0.71,0.77l-1.48,7.43l0.2,1.36l1.47,4.18l0.18,1.62l-0.36,0.56l-1.07,0.61l-0.14,0.44l0.75,2.26l2.24,3.13l6.39,2.98l2.56,1.67l2.88,2.27l1.51,2.24l0.12,1.7l-2.34,3.03l-0.26,2.47l0.5,1.89l0.96,1.8l2.38,2.17l1.86,0.81l2.04,-0.08l0.44,0.8l0.35,4.18l-0.04,1.5l-0.62,1.38l-4.32,6.74l-3.74,4.2l-1.34,2.3l-0.5,2.47l-1.07,1.05l-6.36,3.69l-9.93,3.32l-9.89,2.31l-15.4,2.17l-3.23,-0.17l-2.65,0.25l-5.41,-1.08l-1.39,-1.41l-2.0,-0.3l-0.86,0.93l0.78,2.17l-0.37,2.39l0.52,1.31l2.39,1.35l-0.65,0.04l-0.29,0.65l1.14,1.1l-0.61,4.69l-1.86,1.06l-1.43,4.43l-0.29,2.43l0.44,1.56l1.69,2.93l-0.58,1.74l-1.0,0.98l-6.7,3.09l-2.98,0.6l-4.88,0.1l-1.73,-0.13l-7.32,-3.25l-5.0,-1.43l-0.08,-0.95l-0.88,-0.32l-0.82,-0.01l-1.84,1.06l-0.9,1.19l-0.33,3.53l1.65,6.64l0.13,2.48l-0.62,3.2l0.91,2.16l1.29,1.08l3.25,1.4l1.05,-0.01l-0.58,0.82l-0.04,1.13l0.34,0.38l1.82,0.26l3.99,-0.57l0.71,-0.75l0.1,-1.51l-0.36,-0.4l-1.24,-0.12l4.3,-1.27l1.11,0.91l0.61,1.26l0.39,1.71l-0.25,4.05l-0.77,1.36l-3.88,1.04l-0.91,-0.23l-0.94,-1.35l-0.41,-1.69l-0.92,-1.08l-2.33,-0.99l-1.96,0.26l-2.07,1.51l-2.09,0.67l-0.68,1.35l0.19,0.54l4.86,2.21l3.18,0.66l-0.89,0.79l-3.35,1.1l-1.64,0.86l-1.82,1.6l-3.26,4.16l-0.41,0.97l-0.25,2.32l0.77,3.84l-0.81,1.79l0.49,1.69l-1.06,2.66l-3.52,2.87l-0.61,2.0l1.17,1.45l-0.33,1.41l-6.58,-0.59l-1.94,1.05l-2.77,2.17l-3.52,0.65l-0.85,0.5l-3.91,4.88l-4.18,7.24l-0.14,1.85l0.28,1.65l1.05,2.81l1.48,1.71l7.35,6.86l1.76,0.71l7.78,0.73l1.59,0.87l0.93,1.39l0.33,1.21l-0.43,3.28l-0.42,0.96l-2.56,2.08l-2.17,0.65l-0.12,0.7l0.91,0.55l2.79,-0.45l0.6,0.29l0.41,0.85l-0.86,0.38l-1.39,1.74l-4.48,3.93l-7.74,4.44l-5.32,5.15l-2.69,4.75l-0.11,0.89l0.36,0.73l-1.43,7.88l-0.45,0.84l-0.98,0.95l-2.69,1.62l-1.13,0.18l-1.61,-0.88l-0.93,-0.94l-2.16,-3.52l-0.43,-0.17l-0.36,0.99l0.39,1.16l-0.19,0.77l-2.77,0.48l-0.96,0.6l-0.15,0.47l0.41,0.27l2.68,-0.24l1.75,0.32l0.66,0.35l1.1,1.56l-3.63,1.63l-2.35,1.64l-1.41,2.02l-0.57,1.39l-0.78,4.41l-2.45,2.86l0.68,0.51l1.37,-0.7l1.48,4.57l0.36,2.8l-0.19,0.64l-3.33,0.16l-1.39,0.42l-0.09,0.72l0.94,0.47l1.02,-0.13l1.48,0.91l1.89,-0.33l0.64,0.52l3.27,5.36l2.93,3.8l-2.82,-0.52l-5.89,-1.92l-3.46,-0.02l-5.75,-2.06l-23.82,-0.5l0.07,-1.42l-2.24,-2.22l-1.59,-0.86l-1.49,-2.15l1.2,-3.82l0.02,-1.21l-0.72,-1.02l-0.18,-0.99l0.82,-0.95l0.37,-1.96l-0.78,-3.81l-0.86,-1.01l-1.53,-0.46l-1.45,0.63l-2.26,-0.13l-3.28,1.88l-0.47,-0.19l-1.15,-2.68l-0.74,-3.15l-0.9,-2.07l-1.36,-1.66l-0.32,-3.17l0.68,-1.98l-1.25,-3.28l0.23,-1.63l0.78,-0.95l0.29,-1.18l3.63,-0.19l0.38,-0.44l-0.15,-1.65l1.3,-2.52l0.52,-0.49l3.11,-1.3l1.45,-1.7l0.4,-2.2l-0.26,-2.18l1.14,-1.3l1.89,-1.0l0.74,-2.11l-0.47,-2.19l-0.96,-1.45l-1.17,-0.68l-0.08,-1.18l2.08,-4.55l-0.0,-1.23l2.75,-2.14l0.81,-1.58l1.74,-0.87l0.05,-0.87l-0.66,-1.04l-0.09,-0.95l0.25,-2.56l2.39,-1.85l0.54,-1.11l0.05,-1.2l-0.82,-3.96l-1.24,-2.26l2.0,-1.48l0.79,-1.5l-0.59,-1.49l-0.84,-0.64l-0.23,-1.49l0.29,-2.0l0.45,-0.47l2.1,-0.31l0.33,-0.32l0.19,-0.99l1.61,-1.49l0.07,-1.82l-1.18,-1.19l-2.03,-2.93l-5.17,-1.09l-0.24,-1.12l1.0,0.2l5.95,-0.6l1.34,0.5l1.17,-0.33l0.74,-2.18l0.77,-1.17l-0.0,-1.3l-0.96,-0.9l-7.07,-0.84l0.17,-3.57l1.56,-2.91l-1.25,-2.39l0.59,-0.74l-0.17,-1.81l-1.85,-2.23l0.0,-0.95l1.51,-0.72l0.33,-1.32l-0.66,-1.29l-3.17,-0.91l-0.9,-1.35l0.38,-3.09l-0.34,-2.79l1.06,-1.66l-0.3,-1.67l-0.52,-0.87l1.04,-1.82l0.81,0.36l1.09,-0.32l1.2,-0.67l0.33,-1.08l-1.15,-4.16l-0.76,-1.67l0.46,-1.3l-0.25,-2.38l0.23,-7.15l-0.81,-1.6l0.09,-1.19l1.5,-3.54l1.18,-0.92l0.16,-0.66l-0.38,-0.82l-0.91,-0.79l-0.16,-0.74l0.4,-0.78l0.92,-0.21l0.58,-1.19l0.26,-1.88l-0.94,-3.56l0.36,-0.25l1.46,0.09l0.31,-0.32l1.44,-4.49l-0.06,-4.24l0.23,-0.56l1.26,-1.13l2.32,-1.2l1.81,-0.4l0.72,-0.9l0.62,-2.06l-1.48,-1.62l-0.72,-5.62l-1.66,-3.84l-0.21,-1.7l0.61,-2.54l-0.75,-2.08l0.96,-2.64l-0.86,-3.73l1.39,-2.5l0.17,-1.65l1.68,-1.34l1.87,-0.39l0.51,-1.65l1.76,-1.73l1.41,-0.35l0.63,-0.98l-0.06,-2.7l0.41,-1.58l-0.42,-3.32l-0.49,-1.07l-0.2,-1.79l-0.8,-0.42l-0.14,-0.43l1.89,-1.38l1.26,-5.65l2.24,-4.03l0.58,-1.68l1.82,-0.5l0.63,-0.84l-0.5,-6.64l0.14,-1.69l1.02,-2.88l-0.26,-1.54l-1.15,-0.74l-1.45,0.27l-0.63,-0.75l-0.08,-2.03l0.62,-0.91l0.24,-1.06l-1.17,-1.35l-0.68,-2.27l0.09,-2.0l-0.76,-0.8l-0.31,-1.47l-0.79,-0.73l-0.48,-2.22l0.84,-0.54l0.42,-1.35l-1.02,-1.13l-0.87,-0.06l-0.48,-0.39l-1.55,-3.48l0.76,-5.32l1.29,-0.18l1.15,-1.42l0.08,-0.71l-0.42,-1.13l2.2,-6.0l-0.02,-0.61ZM571.67,647.98l1.23,0.43l0.29,0.6l-1.36,-0.77l-0.16,-0.25ZM541.48,886.55l1.2,0.32l3.93,-0.29l0.99,0.34l2.02,-0.31l-1.35,0.62l-0.7,-0.27l-3.55,0.07l-2.46,0.8l-1.34,0.91l-0.82,-0.48l-0.13,-0.25l0.51,-0.54l0.82,-0.08l0.87,-0.83ZM492.22,887.65l0.26,-34.63l2.78,3.31l0.75,1.5l-0.52,-0.13l-1.18,0.58l-0.75,1.11l-0.56,1.25l0.45,1.58l1.47,0.75l2.65,0.18l1.72,4.11l8.65,8.05l5.23,2.91l4.86,3.63l2.79,1.57l5.91,2.01l4.67,-0.34l1.27,0.09l0.53,0.4l-1.76,2.89l-1.36,0.55l-5.76,0.07l-1.38,0.64l-2.74,0.36l-2.57,0.87l-4.9,-1.76l-2.46,-0.38l-8.05,-0.59l-5.18,-0.86l-4.82,0.28Z\",\\n      \"name\": \"Argentina\"\\n    },\\n    \"GY\": {\\n      \"path\": \"M598.52,50.1l0.76,0.22l0.42,-0.4l0.34,0.08l5.53,3.44l4.64,4.08l3.57,4.02l0.35,0.75l-0.04,3.3l-1.23,2.39l-0.37,4.09l-0.67,1.27l0.1,0.49l0.5,0.01l0.95,-0.74l0.44,-2.3l1.71,-2.5l1.14,-0.28l3.62,1.06l4.43,3.98l0.78,1.37l2.53,0.88l1.27,1.03l0.38,0.84l0.27,2.46l-0.41,4.02l-1.38,2.79l0.47,1.07l0.8,0.3l-1.11,0.99l-0.16,0.92l-4.43,0.32l-2.29,1.47l-0.51,1.1l0.82,1.74l-1.2,3.69l-1.22,2.07l-0.06,1.16l0.35,1.38l1.48,1.73l0.85,2.07l2.18,1.95l-0.05,1.1l0.3,0.58l1.37,0.55l2.73,-0.29l0.14,2.2l0.56,0.74l0.44,3.14l1.17,1.17l2.07,4.42l2.75,4.35l2.21,0.78l-3.46,0.45l-1.99,-0.46l-1.32,-1.11l-2.68,0.63l-1.31,0.8l-1.51,2.09l-2.8,0.25l-2.26,0.62l-0.77,1.56l-0.96,0.03l-0.44,-0.37l-2.19,-0.49l-0.91,1.33l-1.28,0.56l-0.05,1.78l-1.84,0.03l-1.69,0.96l-1.63,-1.23l-3.07,-0.84l-3.57,-3.8l-1.47,-0.57l-0.22,-1.23l-0.86,-0.46l0.0,-4.44l-1.67,-1.27l-1.21,-3.79l0.26,-3.48l1.71,-4.39l-0.24,-2.7l1.89,-1.21l1.72,-3.26l-2.23,-3.51l0.45,-1.51l-0.18,-0.59l-1.8,-1.24l-3.38,-0.49l1.36,-2.28l0.33,-4.49l-0.98,-0.69l-0.77,-1.12l-1.39,-0.36l-1.34,0.67l-4.68,-0.05l-7.5,-8.41l3.02,-3.15l-0.19,-3.05l-0.61,-1.7l0.53,-0.98l2.28,-0.39l0.88,-0.66l1.99,0.14l3.81,-2.09l0.73,-0.93l0.38,-1.24l-0.19,-0.78l-1.05,-0.46l-2.1,0.14l-0.42,-0.47l0.3,-1.31l-1.33,-2.28l1.23,-1.3l1.02,-1.86l1.67,-0.24l2.39,-1.98l1.71,-0.7l0.91,-1.72l1.48,-0.8l0.2,-1.14Z\",\\n      \"name\": \"Guyana\"\\n    },\\n    \"BR\": {\\n      \"path\": \"M468.22,283.24l0.06,-13.55l0.81,-1.43l-0.35,-1.23l0.59,-2.44l-0.45,-0.11l-1.19,0.51l-7.26,5.93l-4.28,0.45l-6.49,-0.01l-0.05,-1.87l-0.91,-0.74l-0.72,-2.6l-0.86,-0.74l-5.41,-1.29l-3.99,-0.01l2.34,-2.87l-0.05,-2.06l-2.76,-3.32l-1.21,-0.82l-0.54,-0.87l-0.26,-1.32l-2.07,-1.47l-1.19,-3.29l-1.52,-1.65l0.7,-1.0l-0.23,-1.04l-1.22,-0.54l-1.87,-1.82l0.4,-0.6l-0.07,-1.31l2.23,-0.42l0.71,-0.74l-1.0,-2.74l0.51,-1.93l2.98,-2.61l2.01,-1.21l1.1,-0.18l1.36,-1.31l0.09,-1.76l-1.17,-2.94l3.04,-5.5l1.02,-5.98l2.2,-0.64l4.18,-3.39l6.02,-3.36l3.84,-0.41l3.49,-0.98l3.15,-0.46l2.19,-2.16l4.48,-0.24l1.87,1.73l1.49,-0.08l1.03,0.53l0.8,-0.16l0.53,-0.59l6.88,-37.63l-0.57,-1.26l-0.0,-1.07l-1.18,-1.12l-0.82,-1.85l0.26,-1.39l-0.54,-1.66l-3.58,-2.44l-1.64,-1.93l0.19,-8.2l2.73,-0.33l3.83,-1.42l0.87,0.7l1.46,0.51l1.49,-0.13l0.5,-0.59l-0.22,-2.81l-1.11,-1.78l-0.75,-0.54l-6.33,-0.34l0.04,-6.84l3.26,-0.81l2.7,0.62l13.8,0.02l0.34,-0.62l-0.86,-1.35l0.42,-1.15l1.58,2.21l0.74,0.52l0.75,0.04l1.7,-0.65l3.03,-3.33l1.52,-0.47l0.42,0.27l2.74,4.5l0.32,0.96l-0.04,4.81l0.38,0.68l2.53,-0.39l5.23,4.7l1.68,0.92l3.18,-0.41l4.38,-2.35l1.13,0.57l0.38,0.73l-0.41,0.98l0.05,0.92l0.41,0.36l1.0,-0.04l1.64,-2.26l1.15,-0.76l1.93,-2.12l3.24,-1.69l1.19,-0.02l2.83,-2.34l2.14,-0.04l1.4,-0.97l1.23,-1.28l1.16,-3.58l1.88,-0.49l3.29,-1.72l1.35,-0.23l1.03,-1.32l0.23,-1.57l-0.52,-1.18l-6.42,-0.49l-1.17,-0.4l0.46,-1.94l-0.38,-1.66l-2.14,-4.77l-0.1,-4.77l-0.73,-0.99l-3.5,-2.84l-1.15,-1.28l-1.57,-2.57l0.98,0.35l1.19,1.25l4.64,0.17l1.34,1.77l0.9,0.65l4.37,-0.13l1.72,0.54l2.05,-0.58l4.24,4.08l1.65,0.15l1.51,-1.32l0.55,-3.91l1.13,-0.25l2.2,-1.31l3.0,0.68l4.2,-1.2l3.24,-1.1l1.03,-1.42l1.37,-0.43l0.92,-0.88l1.99,0.13l1.39,-0.41l1.29,-1.9l1.94,-1.04l1.49,-1.58l0.31,-1.39l-0.91,-2.28l2.24,0.35l1.73,-0.2l0.97,-0.61l0.95,0.19l0.73,1.07l0.86,0.61l-0.47,3.84l-1.41,2.53l0.64,0.69l3.42,0.47l1.33,0.96l-0.4,1.85l2.18,3.3l-1.48,2.63l-1.97,1.26l-0.18,0.4l0.28,2.69l-1.37,3.17l-0.62,3.96l0.04,1.08l1.26,3.94l1.62,1.19l0.03,4.46l1.02,0.73l0.25,1.3l1.5,0.54l3.61,3.84l3.24,0.94l1.47,1.26l1.01,-0.07l1.28,-0.86l2.3,-0.24l0.34,-0.87l-0.18,-1.04l0.97,-0.28l0.82,-1.3l2.14,0.88l1.36,-0.04l0.59,-0.46l0.33,-1.1l2.0,-0.61l2.5,-0.08l0.71,-0.35l2.07,-2.51l2.82,-0.81l1.09,1.04l2.18,0.52l2.72,-0.48l0.86,0.13l0.79,-0.35l5.5,1.17l0.87,-0.18l0.7,-0.72l0.08,-2.13l-1.88,-2.35l-0.64,-0.31l1.25,-1.09l0.47,-1.39l2.79,1.36l4.13,-0.41l0.68,-0.61l1.78,-0.68l1.39,-0.01l0.72,-0.46l1.26,1.55l1.84,0.14l0.32,0.95l1.78,0.82l0.52,0.62l2.7,1.11l1.95,0.39l4.41,-2.72l0.4,0.47l2.78,0.68l2.1,-0.96l1.38,1.54l3.31,0.22l3.22,-2.19l0.71,-0.87l1.15,-1.82l0.1,-0.99l1.63,-3.07l1.04,-3.24l1.98,-2.21l2.12,-4.08l1.85,-1.94l0.77,-1.5l1.44,-0.93l1.27,-2.82l0.57,-0.02l1.46,0.97l1.21,1.48l1.69,4.98l0.3,4.74l2.71,7.6l0.46,2.11l1.33,3.2l-0.34,0.58l0.29,0.66l0.96,0.24l0.38,1.2l1.44,2.08l3.49,0.67l2.54,1.38l0.84,2.68l-0.21,2.92l-4.61,3.78l-0.66,1.08l-1.48,1.43l-1.41,2.58l-2.04,2.33l-0.62,0.51l-1.84,0.54l-1.67,1.95l-2.35,0.93l-0.19,1.07l-1.22,2.49l-1.81,1.87l-1.78,2.57l-0.29,3.15l-2.23,1.78l-0.33,1.85l-0.44,0.45l-0.32,0.25l-2.58,-0.38l-5.2,2.27l-0.27,0.44l0.39,0.34l4.14,0.09l1.59,0.97l3.0,-0.64l3.73,-2.35l4.23,-2.07l4.56,-3.3l0.37,0.57l-0.91,1.23l0.88,1.37l0.69,3.11l1.29,1.88l-0.04,1.56l3.48,3.09l0.49,0.04l1.67,-1.09l2.94,-1.05l3.57,1.09l4.03,-1.91l-2.02,5.74l-0.54,2.81l-0.98,1.63l0.06,0.45l0.45,0.1l1.42,-0.76l0.9,-1.21l2.96,-7.06l2.64,-1.06l3.27,-3.98l0.96,0.01l1.6,1.44l0.62,-0.26l0.17,-0.91l0.95,-0.38l0.02,-0.74l-1.2,-0.8l-0.09,-0.64l0.74,-1.01l-0.31,-1.12l1.46,-1.08l0.05,-1.17l1.21,-1.38l0.81,-0.36l0.35,-0.79l0.54,-0.22l0.71,0.64l0.55,-0.01l1.57,-1.14l1.52,0.7l1.44,-0.57l1.61,1.05l0.51,-0.5l-0.41,-0.91l0.34,-0.24l1.37,0.2l1.81,1.22l2.11,-0.01l0.73,0.43l0.79,-0.0l2.44,2.29l2.42,0.73l2.1,0.05l0.33,0.78l1.99,0.08l0.91,0.97l2.27,0.74l1.57,1.13l2.2,0.12l1.16,2.33l0.28,1.75l0.56,0.3l0.74,-0.4l1.17,-2.19l0.89,-0.34l3.58,3.06l-0.25,0.67l1.09,0.13l0.67,-0.4l0.99,1.95l0.09,1.08l-1.32,1.88l-1.09,0.44l-0.1,0.64l1.09,1.25l0.67,-0.03l0.96,-1.65l1.2,-0.56l0.45,1.62l-1.35,0.39l-0.29,1.14l-0.82,1.19l-1.6,6.86l-0.03,0.83l0.62,0.34l1.28,-0.86l2.23,-2.34l1.61,-4.97l0.76,-0.61l0.96,0.17l-0.07,0.78l-1.34,1.87l0.39,1.07l0.62,0.09l2.96,-2.6l0.92,0.07l1.56,-0.89l3.2,-0.19l0.99,-1.51l1.64,0.11l3.44,0.93l3.1,1.48l1.06,0.89l4.15,1.58l3.13,0.2l1.53,-0.68l1.64,0.66l1.1,0.88l1.98,0.47l1.95,0.24l1.63,-0.61l3.83,-0.2l4.79,-0.88l5.98,0.77l11.37,6.33l3.96,3.18l2.53,0.79l5.16,6.0l3.02,2.25l2.17,2.35l3.79,1.42l1.75,2.48l2.61,0.29l1.03,0.33l1.44,1.04l1.89,0.57l5.27,-0.03l2.22,-0.47l5.05,0.88l0.71,0.39l0.99,0.94l1.85,3.72l1.67,7.41l1.3,2.58l0.7,4.67l0.6,1.52l0.04,1.08l0.53,0.5l0.32,2.94l-0.88,5.53l0.53,2.67l-3.86,11.56l-2.17,3.59l-4.98,5.61l-1.61,-0.11l0.35,1.33l-0.35,0.71l-2.0,2.72l-2.07,1.87l-2.04,3.06l-4.4,2.27l-2.1,1.85l-1.92,2.9l-1.17,0.43l0.02,1.32l-0.93,1.32l0.03,-0.87l-0.68,-0.27l-0.45,0.46l-1.02,1.81l0.25,1.44l-0.64,1.78l-2.62,5.41l-3.97,5.99l-2.6,3.03l-1.82,1.39l-0.67,-0.05l-0.4,-2.34l-2.08,-1.75l-0.57,0.19l-0.6,1.43l-1.02,0.36l-0.2,0.71l0.88,1.08l-0.76,1.39l-0.07,1.43l-2.28,2.6l-0.78,2.9l1.18,0.47l-0.6,1.7l-0.07,3.41l0.54,1.02l0.53,-0.05l-1.21,6.7l0.76,7.39l1.38,7.47l-2.18,7.84l-1.69,8.41l-0.15,1.8l0.7,4.67l-1.32,1.59l-1.55,0.84l-0.98,0.94l-2.09,3.47l-1.08,4.92l0.48,7.96l-0.36,2.11l-0.59,1.39l-0.67,0.87l-1.96,1.26l-1.69,2.84l-0.75,2.98l-1.2,1.24l-0.23,1.61l-0.88,1.7l-2.33,2.6l-1.51,0.75l-0.86,0.83l-0.56,1.7l-1.53,2.64l-1.12,3.38l0.58,6.14l-1.29,0.95l-5.5,2.0l-1.63,0.93l-3.42,3.61l-0.08,2.12l0.43,0.62l-0.95,1.59l-6.26,-0.06l-4.45,0.34l-1.24,-0.69l0.23,-1.57l-0.25,-0.6l-1.2,-0.22l-1.28,0.58l-0.16,0.76l0.55,1.71l-0.19,0.34l-5.02,0.85l0.16,-0.43l-0.53,-0.72l-2.18,-0.72l-2.19,0.43l-1.25,0.83l-2.61,-0.07l-3.25,0.64l-0.76,0.8l0.0,1.55l1.06,0.82l-0.7,0.4l-3.56,0.66l-3.11,2.42l-1.42,0.38l-1.18,1.09l-0.44,1.4l-2.19,-0.49l-2.15,-0.01l-1.66,0.42l-10.89,5.67l-3.31,3.32l-5.47,3.68l-3.37,2.71l-1.36,0.52l-0.11,0.63l0.78,0.52l-0.14,0.69l-2.38,2.24l-0.33,-0.59l-2.52,-0.47l-1.02,0.56l0.15,1.38l-0.28,0.25l-1.7,-0.07l-0.97,-0.8l-0.48,-0.02l-0.16,0.45l0.79,1.86l2.19,0.38l0.92,0.58l-1.53,2.47l-1.57,0.57l-0.16,0.4l0.37,0.55l0.56,-0.0l0.26,0.45l-0.47,2.86l-1.5,1.12l-0.03,0.44l1.11,1.72l-0.31,3.7l0.76,2.36l0.72,3.97l-0.47,1.03l0.26,1.31l-0.83,2.49l0.44,3.44l-0.18,3.2l-0.83,2.92l-1.23,1.69l-0.1,1.74l-5.53,3.79l-2.83,2.75l-3.0,3.82l-3.47,5.76l-3.23,8.28l-5.37,8.46l-4.82,5.43l-5.34,4.0l2.3,-2.36l2.19,-1.18l1.24,-1.96l0.17,-2.82l0.38,-0.28l1.76,-0.05l0.48,-2.47l1.91,-1.11l1.11,-1.57l-0.22,-3.55l0.57,0.38l0.83,-0.23l0.61,-1.85l-0.2,-1.03l-1.3,-0.52l-3.62,1.8l-0.68,-0.05l-0.14,-1.1l-1.79,-0.92l-0.93,-2.02l-0.58,-0.33l-0.6,0.36l0.2,2.8l1.4,1.6l-0.96,1.19l-0.49,2.72l-0.25,-0.18l-0.63,0.29l-0.2,2.13l-0.88,0.77l-0.43,1.02l0.2,1.05l-2.83,2.28l-2.5,1.25l-0.67,0.69l-0.73,2.95l-1.14,1.34l-0.89,2.55l0.01,1.3l0.69,2.51l-1.61,1.95l-0.84,1.61l-2.03,5.88l-1.7,3.48l-3.17,3.48l-5.27,4.47l-1.37,-0.72l-0.13,-0.48l0.03,-0.51l0.97,-0.6l0.2,-0.8l-0.17,-1.74l0.49,-2.41l0.56,-0.71l1.62,-0.69l1.14,-2.74l0.59,-0.39l0.68,0.11l1.17,1.27l1.4,-0.15l2.4,-3.78l0.3,-2.0l-1.17,-2.14l-0.02,-1.47l-0.4,-0.71l-0.61,0.0l-0.79,0.94l-0.41,1.7l-1.6,0.91l-0.96,1.78l-1.4,0.79l-2.15,-1.05l-2.73,-2.26l-2.11,-4.77l-1.92,-1.4l-3.56,-1.27l-1.72,-1.41l-2.78,-3.56l-3.64,-1.23l-1.63,-1.44l-0.97,0.31l-0.75,-0.34l-0.87,-0.64l-1.36,-2.39l-2.39,-2.33l-0.55,-0.33l-0.63,0.06l-0.65,0.99l-1.65,1.44l-1.86,0.49l0.2,-2.78l-0.65,-1.1l-1.63,-2.02l-7.93,-6.91l-2.7,-0.05l-1.18,0.49l-1.1,1.8l-3.72,-0.27l-0.4,-0.57l2.25,-1.8l1.06,-1.25l0.27,-1.16l0.79,-0.85l1.65,-0.89l1.86,-1.64l2.03,-2.36l1.67,-2.84l1.9,-1.42l1.0,-1.25l0.89,-1.94l1.11,-1.43l2.32,-2.07l0.52,-1.12l1.06,-0.69l0.16,-0.92l1.65,0.33l0.86,-0.32l0.18,-0.78l-0.79,-1.12l0.11,-0.29l2.93,-1.46l1.59,-1.75l1.12,-0.67l1.83,-0.49l0.69,-1.23l1.62,-0.83l0.21,-0.92l0.73,-1.09l1.87,-0.28l1.27,-0.91l2.9,-0.47l0.93,-0.68l0.94,-1.38l0.64,0.16l0.89,-0.4l2.63,-1.77l1.47,-3.13l-0.4,-1.95l0.49,-4.94l0.46,-0.74l0.03,-1.04l-1.85,-3.55l-0.82,-3.73l-0.9,-0.49l-0.62,-0.8l-2.09,-0.86l-3.5,1.27l-1.6,-0.59l0.05,-1.33l2.08,-3.99l-0.18,-0.87l1.68,-6.76l0.4,-2.89l-0.44,-2.19l0.77,-0.85l-0.03,-0.65l-2.4,-1.86l-2.28,-1.16l-5.75,2.34l-1.28,0.24l-1.89,-0.31l-0.42,-0.36l-0.47,-3.21l-0.96,-1.38l0.24,-2.08l-0.42,-1.26l-0.09,-2.06l-0.51,-0.87l-0.57,-2.57l0.35,-2.84l-1.08,-1.1l-0.42,-0.82l-0.16,-1.44l-0.59,-0.75l-0.88,-0.7l-4.55,-0.49l-1.2,-1.01l-0.47,-0.99l-0.87,-0.42l-1.36,0.47l-1.16,1.51l-3.46,0.47l-3.59,-0.95l-1.19,0.23l-2.73,-0.4l-1.84,-1.03l-1.97,0.44l-0.72,-0.26l-0.24,-0.53l0.58,-1.48l-0.15,-0.96l0.38,-1.8l-0.33,-2.62l0.82,-1.63l-0.18,-0.88l0.79,-2.1l-0.04,-1.71l-0.82,-1.54l0.05,-1.76l-0.29,-0.72l-0.78,-0.47l-0.28,-2.38l-1.47,-2.18l-0.29,-1.14l0.63,-0.26l0.76,-1.06l1.5,-0.41l0.55,-0.68l-0.07,-0.51l-3.04,-2.75l3.85,-8.01l1.06,-0.72l-0.17,-1.54l-0.5,-0.39l2.35,-7.38l0.94,-0.81l-1.1,-1.49l-2.3,-5.53l-0.17,-1.36l-0.53,-0.76l-2.07,-0.13l-4.68,-3.27l-0.97,-6.42l1.54,-2.61l0.06,-2.59l-0.75,-0.37l-1.97,0.55l-19.38,-0.72l-0.78,-9.41l-3.51,-4.3l2.75,-0.09l0.39,-0.42l-0.31,-5.79l-0.5,-0.75l-0.69,-2.85l-0.78,-0.94l-0.14,-0.77l0.82,-2.12l-0.24,-1.09l-1.19,-2.0l-6.9,-3.69l-5.38,0.59l-3.26,-0.18l-1.7,-1.35l-1.73,-1.93l-0.47,-1.18l-0.91,-0.35l-1.98,-0.01l-3.97,-1.67l-1.0,-0.0l-2.8,-2.21l-0.81,-1.79l-0.82,-0.23l-1.57,0.65l-0.94,-0.28l-2.83,-1.94l-1.42,-0.56l-1.39,-0.08l-1.7,0.69l-5.5,-1.03l-1.22,-2.33l-1.15,-0.56l-2.63,-2.12l-1.82,-0.62l-1.2,-2.78l-0.55,-0.26l-0.58,0.22l0.12,-1.08l-1.74,-2.48l-0.26,-1.53l-0.56,-0.8l0.2,-1.42l0.6,-1.23l-0.15,-1.72l-1.33,-4.54l1.56,-2.91l0.23,-1.44l-0.31,-1.56l0.16,-1.96l-0.4,-1.11l-1.0,-1.11l-1.32,0.26l-0.85,0.8l-0.68,0.1l-0.95,-0.48l-2.64,0.21l-4.09,0.49l-3.89,0.94l-1.93,0.96l-4.58,3.55l-0.85,0.46l-1.22,0.15l-1.63,0.87l-2.06,1.47l-1.61,2.04l-1.17,-0.26l-2.96,0.51l-2.98,3.37l-3.62,1.57l-1.1,0.13l-0.57,-0.88l-0.92,-0.45l-4.62,-0.68l-8.83,-0.31l-3.27,1.46l-1.32,0.21l-1.09,-0.43l-0.96,-0.92l-1.19,0.28ZM790.43,433.84l-0.02,0.0l-0.01,-0.01l0.03,0.0ZM696.21,547.6l-2.86,2.1l-1.1,1.28l0.26,-1.22l-0.22,-1.57l1.88,0.51l1.04,-0.9l1.0,-0.2ZM853.5,308.31l0.11,-0.19l0.08,-0.48l0.14,0.42l-0.34,0.25ZM849.97,314.42l-0.36,-0.63l0.15,-0.14l0.39,0.01l-0.18,0.75ZM786.3,434.46l0.48,0.39l-1.39,0.38l0.65,-0.45l0.26,-0.33ZM782.69,186.02l-0.18,-0.98l0.33,-0.72l0.05,0.32l-0.21,1.37ZM777.56,166.79l0.08,-0.36l0.35,0.04l-0.43,0.32ZM773.52,444.28l-1.38,0.1l1.31,-1.56l0.35,0.64l-0.29,0.83ZM734.68,493.07l0.06,-1.19l1.05,-1.79l-0.22,1.43l-0.89,1.54ZM721.16,153.87l2.85,-0.17l1.13,-0.57l2.22,-0.04l6.36,0.82l1.64,0.46l0.51,0.55l-1.36,3.62l-0.86,0.53l0.31,1.32l-0.32,0.92l-1.57,2.51l-1.61,1.42l0.28,1.49l-1.28,1.53l-1.1,0.32l-1.33,-1.09l-0.69,0.22l-0.54,1.9l-1.01,-0.04l-1.91,-0.98l-0.56,0.3l-0.21,1.33l-0.62,0.82l-2.43,0.84l-3.04,-1.01l-0.73,0.54l-2.6,0.09l-1.3,0.52l-0.54,-0.11l-0.97,-0.93l-1.85,-5.31l0.25,-0.95l1.68,0.09l0.21,-0.98l-0.56,-0.58l-1.24,0.05l-0.66,-0.6l-0.13,-1.07l0.27,-2.96l0.63,-0.81l0.31,-2.62l0.5,-0.96l2.06,-1.29l2.43,-0.47l7.4,1.35ZM733.71,476.03l-0.38,-0.82l1.01,-1.02l-0.24,1.09l-0.39,0.75ZM723.29,151.69l-2.97,0.35l-0.92,-0.38l1.02,-0.78l2.31,-0.76l0.97,0.25l0.2,0.4l-0.62,0.92ZM719.68,147.83l0.23,0.29l-1.47,2.18l-0.77,0.3l-0.85,0.06l-1.44,-0.74l-2.34,-0.03l-0.04,-0.67l0.66,-0.89l1.67,0.04l2.89,-0.91l1.46,0.38ZM714.69,145.63l-0.92,0.26l0.24,-1.86l1.84,-0.51l0.03,0.75l-1.2,1.37ZM712.79,127.06l-1.24,0.28l-0.51,-1.16l0.16,-0.87l1.1,-0.17l0.5,1.91ZM711.3,148.79l-0.24,1.48l-1.41,-0.49l0.11,-1.28l0.93,-0.49l1.0,-1.14l0.44,-2.79l0.2,3.38l-1.03,1.32ZM708.5,152.08l-2.92,2.09l-0.9,-0.75l0.37,-1.12l1.64,-0.59l1.72,0.06l0.09,0.32ZM694.54,167.62l-0.4,0.07l1.22,-2.23l1.43,-1.36l0.14,-2.96l1.49,-2.31l1.32,-0.91l1.73,-0.25l0.86,1.15l-1.25,3.83l-2.26,2.38l-2.01,1.52l-2.26,1.07Z\",\\n      \"name\": \"Brazil\"\\n    },\\n    \"PE\": {\\n      \"path\": \"M375.3,192.04l0.75,1.03l0.88,0.05l0.64,-0.63l-0.35,-1.15l3.74,-4.3l14.18,-5.04l7.27,-5.3l6.25,-7.25l1.89,-6.98l1.43,0.29l0.66,-0.63l-0.4,-2.91l0.24,-1.86l-2.01,-1.96l-0.9,-2.03l-0.91,-0.63l0.92,0.25l1.6,-0.18l1.55,-1.21l0.69,0.08l2.31,1.64l1.68,0.22l0.6,1.11l1.65,0.85l1.75,1.71l0.52,0.69l1.02,3.28l1.1,1.49l2.41,0.8l2.37,2.04l2.28,0.58l1.63,2.33l0.26,0.83l-0.31,1.42l0.35,0.65l1.94,1.26l1.14,-0.09l0.51,0.46l0.8,2.82l-0.52,1.48l0.22,1.04l2.15,0.98l0.71,0.7l1.72,0.15l2.17,-0.63l2.66,0.89l2.35,-0.33l2.01,-0.9l0.96,-0.06l2.54,-2.0l2.14,0.79l2.16,1.38l2.5,-0.26l1.1,-0.84l1.59,-0.42l2.9,1.53l0.88,0.85l2.65,0.99l4.05,2.32l-8.02,12.69l0.24,0.6l2.55,1.04l2.21,-0.61l0.98,0.67l0.86,1.96l1.86,1.42l0.51,0.73l-0.04,0.48l-0.51,0.18l-1.08,-0.54l-1.13,0.16l-2.17,-1.81l-4.78,0.28l-2.22,2.17l-3.12,0.46l-3.39,0.96l-3.98,0.45l-6.23,3.48l-4.04,3.3l-2.31,0.7l-0.41,0.58l-0.91,5.83l-3.08,5.61l1.19,3.22l-0.02,1.21l-1.0,0.96l-1.1,0.17l-2.15,1.3l-3.17,2.79l-0.65,2.46l1.0,2.53l-2.66,0.63l-0.27,0.38l0.09,1.39l-0.47,0.99l2.2,2.25l1.16,0.51l-0.69,1.6l1.63,1.89l1.26,3.43l2.17,1.57l0.05,1.01l0.65,1.06l1.27,0.88l2.64,3.18l0.04,1.25l-2.79,3.43l0.32,0.65l4.71,-0.01l5.12,1.19l0.58,0.44l0.78,2.71l0.88,0.71l-0.09,1.76l0.38,0.41l6.96,0.03l4.52,-0.5l7.47,-6.04l-0.26,1.41l0.35,1.05l-0.81,1.46l-0.07,14.46l0.64,0.32l1.0,-0.61l1.58,1.23l0.83,0.15l1.61,-0.26l3.06,-1.4l4.29,0.27l10.53,18.52l-0.79,1.08l-0.04,1.03l-1.19,0.74l-1.45,1.8l-0.05,7.48l-1.05,2.18l1.17,3.89l1.22,2.28l-1.47,0.89l-0.22,1.5l-2.52,2.55l-0.6,1.9l-1.06,0.81l-0.14,2.32l2.33,3.1l-2.03,2.92l-3.75,-2.91l-1.85,0.58l-1.43,1.2l-0.1,0.39l1.31,2.69l-0.54,-0.27l-0.74,0.13l-0.77,0.93l-0.27,0.96l0.25,1.04l1.74,1.12l0.78,0.04l0.26,-0.33l-0.11,-0.58l2.01,1.5l2.04,0.73l-0.54,1.41l0.4,0.58l2.6,0.85l2.57,-0.4l-0.3,1.9l-0.53,1.18l0.69,0.68l0.16,0.94l-1.99,1.4l-2.93,3.94l-0.73,0.23l-1.58,1.34l-0.25,0.91l1.48,1.75l0.11,1.12l-1.86,1.58l-1.35,0.17l-0.77,0.58l0.46,3.8l-0.41,1.16l-0.96,1.29l-1.5,0.9l-1.4,0.48l-2.65,0.2l-4.66,-3.51l-1.47,-1.48l-4.73,-3.08l-0.74,-3.19l-1.7,-1.69l-3.0,-1.23l-2.33,-1.68l-1.69,-0.74l-4.29,-3.64l-3.99,-1.19l-7.35,-3.85l-3.92,-1.26l-4.97,-3.52l-2.77,-1.01l-2.2,-1.66l-6.57,-3.51l-1.96,-2.76l-1.53,-1.13l-1.61,-2.34l-4.84,-3.31l-2.85,-4.9l-1.35,-1.19l-0.09,-2.09l-0.76,-0.98l1.21,-0.7l0.91,-3.53l-0.48,-1.97l-3.38,-4.81l-0.63,-1.93l-2.47,-3.69l-0.88,-2.16l-2.05,-1.73l-0.92,-1.44l-0.88,-0.46l-0.06,-1.52l-0.81,-3.31l-1.17,-1.69l-3.75,-2.88l-0.37,-3.1l-0.89,-2.35l-5.42,-9.12l-3.13,-8.71l-2.65,-4.89l-1.06,-2.74l-0.17,-1.66l-1.94,-2.54l-1.1,-2.43l-4.35,-4.48l-2.52,-4.98l-0.39,-1.57l-4.6,-6.45l-1.49,-1.52l-8.45,-4.44l-3.84,-2.61l-0.39,-1.17l0.14,-0.58l0.58,-0.5l1.27,0.49l0.96,-0.42l0.63,-1.19l0.01,-1.5l-0.81,-2.17l-2.6,-3.58l0.62,-1.8l-2.68,-4.2l0.61,-3.99l0.55,-0.96l4.07,-4.22l1.13,-1.81l1.74,-1.12l1.77,-1.69l1.9,-1.15l0.24,0.18l0.63,2.19l-0.09,1.48l0.55,1.57l-1.27,1.15l-1.61,-0.26l-0.81,0.6l-0.24,0.97l0.34,1.3l0.42,0.48l0.76,0.15l-1.19,1.62l0.24,1.03l1.53,0.41l2.73,-1.96l3.94,2.09l2.03,-0.17l1.2,0.83l0.15,1.4l0.59,1.29l1.55,2.03l0.9,0.48l2.66,0.4l2.11,-1.91l0.1,-1.58l2.71,-1.94l0.4,-1.46l-0.31,-1.41l1.52,-3.97l1.54,-2.52l0.96,-4.49Z\",\\n      \"name\": \"Peru\"\\n    },\\n    \"UY\": {\\n      \"path\": \"M649.15,535.28l2.55,2.37l1.33,2.36l1.09,0.85l1.06,0.5l0.8,-0.32l1.59,1.36l3.62,1.22l2.54,3.37l1.86,1.53l3.64,1.33l1.83,1.36l1.97,4.62l2.94,2.44l1.94,0.89l-1.36,1.08l-0.54,2.05l-1.42,0.45l-1.55,1.63l-0.37,0.89l1.1,7.23l0.32,0.56l1.21,0.7l-0.81,1.17l-0.73,2.21l-2.47,3.09l-0.54,1.78l-2.59,1.78l-1.85,2.02l-1.33,0.04l-1.08,0.86l-6.31,2.66l-2.2,-0.49l-1.68,-0.0l-1.69,-1.2l-3.65,-0.44l-2.49,0.51l-3.0,1.29l-1.43,-0.08l-1.51,-0.5l-1.04,-1.21l-4.65,-1.32l-3.99,-3.09l-4.5,-0.06l-3.34,0.38l-1.44,-2.2l-2.95,-2.67l-2.24,-2.57l-0.43,-2.45l1.01,-6.11l-0.09,-0.94l1.58,-0.63l1.66,-2.4l0.11,-1.16l-1.38,-5.53l0.87,-1.86l0.08,-1.13l-0.56,-1.02l0.07,-2.53l-0.31,-0.82l1.66,-1.82l0.72,-2.13l-0.01,-0.86l-0.72,-1.04l1.88,-3.77l0.31,-1.31l-0.33,-1.74l0.73,-0.6l0.28,-0.78l-0.07,-2.1l-0.62,-1.59l0.41,-1.05l1.42,-1.47l0.75,-1.18l0.14,-0.98l0.66,0.72l4.12,0.3l0.7,-0.47l0.74,-1.46l0.87,-0.37l2.16,-0.04l7.77,6.78l1.56,1.95l0.45,0.65l-0.22,1.96l0.21,1.32l0.98,0.24l1.15,-0.2l2.52,-1.93l0.51,-0.88Z\",\\n      \"name\": \"Uruguay\"\\n    },\\n    \"FK\": {\\n      \"path\": \"M609.94,830.2l1.99,0.93l2.23,-0.32l0.75,0.2l0.23,0.72l-1.24,0.15l-0.28,0.43l0.12,0.96l0.66,0.72l2.54,1.08l0.45,0.06l0.45,-0.47l-0.63,-1.8l0.21,-0.38l3.07,-0.45l1.39,1.46l-0.92,0.3l-0.54,0.79l0.21,0.61l1.59,0.61l-0.34,0.71l-3.51,0.83l-0.97,0.98l-1.32,0.62l-4.16,1.16l-0.25,0.57l0.46,0.88l-0.06,1.06l-5.34,-1.36l-0.96,0.15l-0.26,0.6l1.29,2.11l-2.79,0.17l-0.77,1.58l-1.18,-0.83l-1.28,-1.5l-0.0,-0.64l1.27,-1.61l-0.2,-0.86l3.45,-2.81l2.42,-0.84l0.17,-0.38l-0.48,-1.56l0.03,-1.31l2.39,-2.02l-0.11,-1.3l0.21,-0.01ZM614.6,841.93l0.03,0.54l-0.38,-0.4l0.35,-0.14ZM590.03,837.03l2.86,-0.67l0.53,-0.32l0.11,-0.57l-0.69,-0.94l-1.46,-0.67l-1.0,-0.87l-0.3,-1.2l2.45,1.44l1.86,0.34l2.79,-1.46l1.59,0.91l3.43,-0.77l0.68,0.11l0.74,-0.64l0.91,0.7l-7.63,8.27l-2.3,0.34l-1.44,-0.11l-1.53,2.58l-1.79,0.78l-1.86,-0.09l-1.4,-0.61l-1.36,-1.1l1.87,-1.4l2.17,0.0l3.16,-1.86l1.26,-1.35l-0.19,-0.96l-0.69,-0.33l-2.78,0.48ZM599.15,844.3l0.46,0.33l-0.3,0.48l-0.15,-0.36l-0.01,-0.44ZM594.57,831.41l-1.18,0.0l-0.14,-1.08l0.79,-0.07l0.85,0.38l-0.31,0.77ZM584.01,838.51l1.03,0.14l-0.56,1.58l-0.59,-0.04l-0.95,-1.06l1.07,-0.62Z\",\\n      \"name\": \"Falkland Is.\"\\n    }\\n  },\\n  \"height\": 905.8723093907364,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 0.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(109))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'uk_countries_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 1321.8358675166648,\\n    \"bbox\": [{\\n      \"y\": -7779509.309284119,\\n      \"x\": -960172.2795569702\\n    }, {\\n      \"y\": -6079572.623565425,\\n      \"x\": 197265.68588508634\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"NIR\": {\\n      \"path\": \"M39.51,798.88l1.4,-0.62l4.56,-1.09l2.28,-1.08l1.05,-0.8l3.25,-4.34l1.66,-1.49l6.37,1.21l3.6,0.1l3.44,-1.11l8.56,-6.56l3.51,-0.94l0.29,-0.42l-0.23,-2.41l-0.32,-0.35l-1.21,-0.15l-2.61,1.28l-1.15,-0.36l-3.98,-2.57l-2.73,0.93l-1.52,-2.07l-3.56,-1.41l-0.56,-0.98l0.6,-1.63l-0.21,-0.5l-1.27,-0.74l3.59,-1.44l2.95,-2.36l0.92,0.04l2.45,1.71l3.04,1.25l3.08,-0.21l2.97,-1.37l3.06,-2.41l1.38,-0.65l2.84,0.63l2.65,-0.61l1.65,0.7l2.19,-0.38l0.27,-0.62l-0.75,-1.37l0.16,-2.86l0.5,-1.48l6.22,-6.2l1.42,-2.2l0.96,-2.79l-0.36,-4.29l0.28,-1.25l0.57,-0.59l1.63,-0.54l0.93,-1.11l0.18,-1.31l-0.47,-2.96l0.23,-0.57l0.66,-0.37l-0.18,-1.27l3.11,-3.61l0.93,-0.58l5.44,-0.67l2.3,-2.28l0.81,-0.24l-0.56,1.49l0.36,0.54l1.47,0.04l3.88,-0.92l1.43,0.12l3.82,1.58l2.98,0.35l3.07,-0.35l1.22,-0.71l3.27,-2.99l-0.05,-1.48l0.65,-2.1l0.98,-1.88l2.07,-2.24l0.54,-5.41l0.43,-1.39l0.99,-0.06l3.63,1.96l1.92,0.59l11.2,-0.44l9.95,-3.69l6.12,-0.41l1.45,-0.88l2.99,-2.66l1.78,-0.74l1.75,-0.17l3.01,1.48l2.17,0.53l3.43,-1.7l2.0,0.4l8.36,3.81l1.47,0.34l2.06,-0.24l4.94,-1.38l3.29,0.48l1.58,0.6l4.59,4.02l0.77,1.13l-0.3,6.56l-1.8,4.85l0.97,1.27l4.36,0.23l2.2,1.11l0.54,0.92l-0.16,1.99l-1.55,4.42l0.16,1.05l0.34,0.31l2.47,0.33l2.23,0.93l1.98,1.5l1.69,1.99l1.47,3.64l2.66,2.17l1.51,2.06l1.94,6.7l4.7,1.93l1.98,2.41l0.84,0.15l0.34,-0.61l-1.57,-2.58l-5.34,-4.59l1.03,-1.54l2.26,0.5l2.58,1.83l1.53,1.85l1.01,3.64l-0.23,3.21l-1.17,2.52l-1.83,1.64l-2.47,0.99l-5.13,1.23l-2.4,1.03l-2.34,1.71l-1.72,1.85l-3.2,4.76l0.14,0.58l0.91,0.49l0.63,2.57l0.34,0.26l1.39,-0.01l4.78,-5.33l2.98,-1.16l3.0,-1.81l1.71,-0.63l2.67,1.24l1.9,0.14l10.31,-1.35l1.5,2.02l1.61,0.61l0.48,2.73l1.4,4.28l1.03,1.72l1.52,0.8l0.48,0.81l0.89,6.33l3.14,3.78l-0.46,1.04l0.33,1.58l-2.02,2.69l-0.6,1.57l0.56,2.14l-0.29,1.77l-1.83,1.58l-0.58,1.12l0.93,1.35l-0.94,0.5l-0.98,1.52l-0.83,0.13l-0.82,-0.69l-1.63,-3.92l-1.16,-0.62l-1.38,-2.18l-0.14,-1.15l0.52,-1.24l1.94,-2.0l0.53,-1.98l-0.31,-3.86l-1.0,-2.93l-1.58,-2.12l-6.03,-4.64l-2.41,-1.13l-2.76,-0.14l-0.42,0.4l0.0,0.83l0.61,1.22l-0.19,0.95l-1.58,2.04l1.49,0.31l2.46,1.52l3.32,0.34l-2.48,0.47l-0.77,0.65l0.11,0.65l2.31,1.04l-0.32,2.61l0.57,1.2l1.01,0.41l-0.54,1.15l0.54,1.02l-2.94,6.98l-3.08,2.02l-1.05,1.35l-0.01,0.47l0.44,0.15l3.51,-1.06l4.02,-1.91l3.43,-0.79l2.27,1.96l0.81,4.31l-1.02,3.26l-2.22,2.63l-2.77,2.32l-1.7,-0.02l-0.83,2.57l-1.05,0.48l-0.31,-0.07l-0.34,-0.92l-1.28,-0.96l-5.03,-0.35l-3.83,0.32l-7.16,1.91l-0.8,1.83l0.19,4.5l-0.23,2.23l-1.25,4.74l-0.87,1.83l-1.47,1.49l-3.55,1.47l-2.76,2.35l-3.62,2.23l-1.06,0.41l-3.28,0.22l-1.25,-0.19l-1.25,-0.74l0.0,-0.24l2.09,-0.69l0.33,-0.37l-0.28,-0.41l-7.59,-2.06l-1.15,-2.19l-6.73,-1.43l-0.77,0.63l-1.21,-0.71l-3.56,0.85l-1.45,-1.26l-0.97,-0.24l-1.6,1.93l0.09,2.64l-0.67,1.08l-4.62,0.93l-1.59,-1.56l-2.39,0.09l-7.43,2.22l-1.84,-0.49l-0.88,0.09l-1.8,1.75l-0.99,-0.44l-3.35,-2.97l1.23,-2.62l0.11,-1.35l-0.81,-1.35l1.72,-1.8l0.9,-2.31l-0.6,-2.56l-2.01,-1.92l-2.8,-1.72l-1.37,-0.11l-1.06,0.55l-1.18,1.23l-0.79,-0.06l-3.59,-2.16l-3.03,-3.39l-1.27,-3.45l-0.89,-0.78l-2.21,-0.92l0.84,-0.45l0.75,-1.44l-0.19,-1.86l-1.94,-4.22l-0.78,-0.58l-1.44,-0.3l-0.73,-1.87l-0.75,-0.99l-5.37,-3.63l-3.18,-1.27l-2.94,0.28l-2.6,2.07l-4.16,5.31l-2.69,1.65l-2.05,-0.21l-1.04,0.57l-0.12,0.77l0.69,1.54l-0.88,1.07l-1.02,-0.03l-0.31,0.46l0.21,1.28l2.81,1.33l-0.41,1.3l0.16,0.45l2.71,1.85l-0.99,1.4l0.47,1.65l-1.52,0.8l-4.69,1.0l-1.94,1.37l-1.09,2.05l0.07,0.42l1.18,1.14l-1.4,0.57l-0.23,0.49l0.36,1.09l-0.2,1.04l-1.27,1.57l-0.87,0.27l0.43,-4.16l-0.4,-0.69l-0.45,-0.08l-2.64,1.26l-0.85,0.98l0.06,1.0l1.65,2.79l-0.74,0.07l-4.13,-1.14l-1.46,0.21l-0.77,-1.43l-1.41,-0.31l0.44,-0.47l-0.27,-0.67l-2.41,-0.08l-3.49,2.25l-1.71,0.28l-9.1,-1.73l-0.82,-0.49l-0.37,-1.84l-0.79,-1.04l-6.24,-3.79l-1.77,-0.29l-5.12,0.28l-4.65,-0.51l-1.52,-0.76l-1.03,-1.66l-0.34,-5.17l-0.76,-2.22l-1.43,-0.84l-4.68,-0.83l-1.39,-1.26l-1.09,-1.65l-1.82,-3.72l-2.8,-0.24l-2.05,-0.88l-1.96,-1.65l-3.66,-4.16l-2.08,-1.87l-0.75,-0.89l-0.43,-1.82l-0.7,-0.63ZM210.68,701.07l0.37,-0.9l-0.12,-0.53l-2.0,-1.37l-5.47,-0.16l1.05,-0.62l2.01,-0.43l5.02,0.79l0.16,0.97l-1.01,2.25Z\",\\n      \"name\": \"Northern Ireland\"\\n    },\\n    \"SCT\": {\\n      \"path\": \"M671.69,36.17l-1.39,-0.25l-1.78,-2.0l-2.82,-4.38l0.0,-0.45l9.63,0.0l0.64,0.26l0.01,1.63l0.54,0.78l0.98,-0.01l1.24,-0.86l1.09,0.21l0.75,0.59l0.24,0.88l-0.43,1.21l-1.87,1.33l-2.21,-0.5l-2.48,-1.01l-2.61,0.03l-0.39,0.4l0.0,0.97l0.87,1.16ZM663.72,17.04l0.53,0.32l0.57,-0.18l0.5,-1.26l-0.68,-3.15l1.3,-0.56l0.87,-1.95l-0.0,-1.97l-1.1,-1.22l0.0,-0.53l1.21,-0.48l1.71,-1.36l1.18,-1.53l0.05,-1.35l0.65,-1.05l0.58,-0.01l0.66,0.78l0.32,1.59l-0.31,1.25l-2.61,2.62l0.21,0.83l0.48,0.17l1.13,-0.42l2.05,-1.47l1.93,-4.91l0.5,-0.59l0.42,0.4l1.8,0.29l1.84,0.89l0.6,0.91l0.19,1.1l-2.06,0.81l-0.0,0.73l1.65,0.77l-3.51,2.28l0.44,2.48l-1.33,0.06l-0.38,0.35l0.28,0.43l1.43,0.64l0.0,0.57l-4.1,3.43l0.54,1.99l1.71,2.5l-0.94,0.82l-0.62,0.06l-2.14,-1.05l-5.58,0.25l-1.22,-0.26l-1.03,-0.58l0.46,-2.29l-0.15,-1.14ZM661.9,65.94l-3.17,0.75l-1.1,-0.53l0.72,-0.94l0.57,-1.51l0.75,-0.79l1.95,-0.43l1.37,-1.1l2.9,-0.21l1.36,-0.47l-3.08,3.29l-2.28,1.94ZM652.82,15.13l0.83,2.02l0.7,0.07l0.92,-1.38l1.57,-0.39l3.34,0.23l0.02,1.34l-0.67,0.88l0.0,0.97l1.04,0.95l-0.74,1.24l0.02,1.47l1.46,2.55l-0.88,2.07l-3.91,-3.08l-1.88,-0.24l-0.4,0.23l0.09,0.46l2.15,2.54l1.78,3.26l-1.82,0.68l-1.08,-0.17l-1.13,-0.7l-0.45,0.02l-0.14,0.43l0.56,1.65l1.2,0.91l2.16,0.44l-0.25,0.75l1.35,1.21l0.02,1.28l-0.84,1.06l-1.53,0.31l-0.27,0.59l1.27,2.21l0.5,2.47l-0.22,1.37l-0.35,0.15l-2.05,-0.65l-2.06,0.08l-0.79,-0.25l-0.36,-0.85l-0.76,-0.17l-0.72,0.63l-0.21,1.01l0.92,1.25l-2.33,-0.4l-1.86,-1.48l-1.14,-2.73l-1.05,-12.17l0.66,-2.47l2.17,-0.32l-0.2,2.11l0.94,1.55l1.47,1.02l1.32,-0.31l0.23,-0.54l-1.46,-3.99l-0.26,-1.66l1.02,-2.66l-0.68,-1.21l-0.07,-0.99l0.53,-2.18l0.82,-1.38l0.89,-1.09l0.6,-0.02ZM615.12,86.2l-0.37,-0.81l0.44,-1.13l0.86,-0.64l3.7,-0.95l0.06,-0.72l-1.04,-0.61l-2.07,-2.68l-0.69,0.11l-0.83,2.76l-0.86,1.03l-0.54,0.1l-0.89,-2.16l-0.46,-0.22l-1.34,0.33l-2.56,1.29l-2.43,0.03l-0.77,-1.71l-2.41,-0.47l-0.56,-0.56l-1.7,-5.71l0.23,-0.53l2.37,-1.87l3.13,-1.01l1.26,0.1l3.15,2.63l1.72,0.04l0.37,-0.54l-0.37,-1.04l2.26,0.67l0.51,-0.38l0.0,-0.89l-0.64,-0.53l3.54,-0.34l0.93,0.8l0.1,3.7l0.52,0.37l1.92,-1.05l0.08,-0.51l-0.89,-2.05l1.14,0.0l0.36,-0.57l-0.48,-1.44l1.54,-0.52l2.08,0.5l1.76,1.6l0.86,2.78l0.69,0.13l2.38,-2.62l-0.03,-0.61l-2.15,-1.66l1.39,-2.71l0.89,0.46l1.38,0.11l0.35,-0.64l-0.74,-1.0l0.93,-0.25l4.26,0.1l0.4,-0.3l-0.2,-0.45l-2.07,-1.1l-2.62,-0.47l-1.82,-0.88l-0.48,-2.6l-0.66,-0.23l-2.38,1.82l-0.69,-0.12l-0.75,-0.81l-0.26,-1.06l0.24,-1.04l0.97,-1.15l0.0,-0.89l-0.4,-0.4l-3.68,-0.22l-0.62,-0.52l0.05,-3.77l-0.68,-4.14l-0.34,-0.33l-0.42,0.23l-2.0,3.8l-0.66,0.46l-0.95,-0.32l-0.21,-0.73l0.43,-1.0l1.05,-0.84l0.12,-0.45l-0.38,-0.26l-4.34,0.31l-1.31,-1.11l-0.61,0.12l-0.72,1.38l-1.04,0.42l-2.64,-0.14l0.3,-1.69l1.32,-1.96l1.96,0.17l0.89,-0.41l0.48,-1.06l0.17,-2.51l1.67,-2.06l0.77,-0.09l0.99,1.22l1.18,2.85l2.87,2.21l3.4,0.94l3.13,-1.32l0.04,-0.71l-0.98,-0.59l-3.55,-0.35l-2.28,-2.31l-0.95,-0.23l1.83,-3.01l0.97,-0.21l2.64,-1.51l0.06,-0.65l-0.9,-0.76l0.77,-1.36l-0.24,-0.99l1.63,-0.6l2.21,0.25l2.26,0.96l2.07,1.36l0.58,-0.16l0.54,-0.89l-0.06,-0.55l-1.34,-1.12l0.15,-1.02l1.44,-2.1l0.6,1.79l-0.31,1.95l0.14,1.7l-1.02,0.5l-0.3,0.47l0.6,2.87l-0.59,1.2l-1.28,1.05l-1.05,1.73l0.34,0.61l0.99,0.0l-1.38,0.49l0.21,0.43l1.41,0.85l-1.59,3.91l0.43,0.55l0.83,-0.13l2.07,-1.33l0.12,0.18l-1.37,2.66l0.26,1.58l-1.63,0.68l-2.02,4.44l-1.51,1.07l-0.17,1.3l0.37,0.4l1.1,0.1l2.25,-0.49l1.17,-1.0l-0.1,-2.11l2.09,-1.18l5.41,-0.75l0.34,-0.32l-0.19,-0.42l-4.06,-2.33l-0.91,-0.9l1.49,-1.25l0.44,0.18l0.12,1.92l0.68,0.26l2.6,-3.15l0.33,-0.8l0.49,-0.21l1.34,0.62l0.92,1.07l-0.47,1.23l0.24,0.52l1.8,0.94l0.58,0.91l0.32,1.25l-0.52,0.81l0.13,0.49l0.65,0.46l-0.39,0.26l-2.08,-0.68l-3.28,2.6l-0.1,0.63l0.66,0.41l1.37,-0.32l0.0,0.83l0.56,0.37l2.77,-1.21l0.65,0.35l0.15,2.3l0.4,0.37l0.64,0.0l0.39,-0.3l0.27,-1.07l0.63,0.06l0.85,-0.7l1.36,-3.21l0.19,1.22l0.35,0.35l0.42,-0.26l0.76,-2.08l1.22,-1.38l1.47,-0.71l0.92,-0.01l-0.88,1.59l-6.06,5.43l-0.59,1.1l0.07,1.29l0.79,0.54l0.42,-0.08l1.94,-2.24l1.01,-0.55l0.76,-0.01l0.39,1.07l-0.64,3.07l-0.57,0.44l-6.64,0.55l-1.39,0.43l-0.12,0.7l1.79,1.34l4.46,0.87l1.68,0.99l-5.11,3.85l0.07,1.52l0.46,0.84l0.89,0.12l0.49,-0.53l1.93,0.49l-2.91,2.15l-1.4,0.46l-1.17,-0.27l-1.53,-2.56l-1.12,-0.24l-1.0,1.17l0.15,1.0l1.05,1.37l-1.35,0.23l-1.61,1.07l0.0,0.8l0.4,0.4l2.76,0.0l-1.41,3.08l0.16,0.49l0.51,-0.07l1.57,-1.73l0.92,-0.58l-2.11,3.64l-0.47,1.93l0.2,0.45l0.48,-0.08l1.33,-1.42l1.57,-0.51l0.51,0.34l-1.04,1.95l0.14,0.53l2.77,1.92l-2.02,0.0l-0.4,0.4l0.0,0.85l-0.63,-0.08l-1.72,1.47l-1.39,0.02l-0.37,0.27l0.13,0.44l1.01,0.78l-0.28,0.75l-0.35,0.46l-1.29,0.11l-0.43,0.4l0.0,0.8l0.32,0.39l1.8,0.63l-1.06,1.05l-0.08,0.46l0.81,1.72l1.71,1.38l0.57,0.09l-0.31,1.22l-1.11,0.85l-1.42,0.2l-1.27,-0.39l-0.51,0.47l0.41,1.86l1.85,3.53l-0.53,1.02l-0.92,-0.05l-2.65,-1.34l-0.58,0.41l0.37,2.63l-0.19,2.65l-0.69,2.33l-0.83,1.22l-0.84,-0.47l-0.15,0.5l0.92,2.78l-0.2,1.38l-0.73,1.7l0.94,1.28l0.19,0.87l-0.62,1.01l-1.59,-2.28l-0.68,0.05l-0.68,1.03l-0.08,-0.53l0.97,-1.28l-0.17,-1.21l-1.61,-0.98l-2.61,0.49l-1.17,-0.47l-0.8,-1.23l1.34,-1.44l-0.38,-2.23l0.58,-0.85l0.73,-0.55l1.75,-0.05l0.46,-0.4l-0.13,-1.02l-2.19,-2.03l1.92,0.0l0.39,-0.48l-0.47,-2.18l2.21,-4.17l1.3,-6.12l2.17,-5.11l-0.42,-3.7l-0.56,-0.74l-0.98,-0.04l-0.29,-0.98l1.64,-3.63l-0.38,-0.58l-0.88,0.04l-1.77,1.12l-0.63,-0.2l1.47,-4.28l1.39,-2.19l0.82,-0.63l0.16,-1.2l-0.37,-0.4l-1.99,-0.02l-1.32,1.43l-1.98,3.39l-0.92,-2.31l-1.37,-2.31l-1.98,-1.43l-2.82,-0.53l-0.47,0.39l0.0,0.97l3.14,2.03l2.14,3.25l-0.36,1.14l-2.09,-1.47l-1.28,-0.11l-0.42,0.41l0.04,2.31l-0.53,1.48l-0.19,0.08l-0.32,-1.32l-0.62,-0.23l-1.05,0.74l-0.75,2.96l-0.53,0.73l-3.72,-1.75l-2.35,-1.92ZM653.13,86.9l0.43,2.38l0.37,0.3l1.3,-0.23l-0.19,1.78l-1.21,2.51l-0.56,2.57l-0.49,0.19l-2.3,-1.31l-0.65,-0.71l0.25,-4.04l-1.41,-1.77l0.04,-0.89l1.22,-0.14l1.8,0.53l0.91,-0.58l0.22,-0.88l0.27,0.3ZM629.03,103.58l0.17,-0.18l-0.11,0.14l-0.06,0.04ZM629.45,103.1l0.84,-3.28l0.84,-1.55l-0.71,-1.57l1.29,-0.26l0.58,-0.47l-0.67,3.0l0.2,0.44l0.47,-0.07l0.74,-0.63l0.17,0.55l-0.38,1.17l-1.69,3.67l0.44,-3.15l-0.58,-0.76l-0.35,0.35l-0.29,1.45l-0.9,1.11ZM607.03,168.59l-0.28,1.19l0.39,0.48l0.78,0.0l0.0,0.31l-3.54,2.05l-0.37,-1.4l0.59,-1.92l1.44,-1.18l1.8,-0.53l1.29,0.03l-1.48,0.37l-0.63,0.6ZM242.69,441.54l1.02,-1.11l-1.16,-2.0l-0.03,-1.53l0.23,-0.66l0.85,-0.76l-0.1,-0.66l-3.94,-1.2l-1.14,-4.82l1.73,-3.67l0.35,-4.09l1.06,0.01l0.38,-0.52l-0.52,-2.17l1.07,-0.34l1.38,0.21l1.4,0.72l4.68,3.75l1.47,0.85l0.87,-0.3l1.36,1.61l3.39,1.91l1.06,0.24l0.41,-0.17l0.0,-0.45l-0.93,-2.01l5.66,-0.77l3.52,0.48l2.09,-0.04l0.72,-1.07l-0.15,-0.49l-2.64,-1.73l-4.07,-0.77l-3.96,0.41l-2.32,1.52l-2.38,-2.19l0.92,-1.43l-0.29,-0.6l-2.73,-0.4l-1.38,-1.78l-1.12,-2.5l-1.61,-2.0l-3.71,-1.12l-0.37,-1.26l0.43,-1.29l1.68,-1.47l-0.36,-2.1l2.91,-1.3l1.42,-0.05l2.44,2.12l1.39,-0.02l1.16,-1.08l0.75,-1.47l-0.27,-0.57l-0.85,-0.19l-1.98,-2.2l-1.11,-0.55l-7.05,-1.29l-0.2,-1.02l0.47,-5.83l-0.74,-2.49l-0.1,-1.47l0.3,-1.24l1.43,-2.1l1.03,-0.68l2.09,-0.65l2.17,-0.02l2.17,0.53l1.82,0.92l-0.28,1.53l0.27,2.48l1.27,4.46l0.89,1.39l1.22,1.04l1.58,0.6l1.78,-0.3l-1.49,-2.49l1.2,0.15l1.57,0.76l0.56,-0.45l-0.55,-2.37l0.44,-3.59l-1.29,-2.05l-3.3,-2.41l-0.89,-1.15l0.73,-1.02l-0.24,-0.62l-0.8,-0.43l3.14,-3.7l1.95,1.46l2.91,0.04l-0.32,3.31l2.59,2.62l3.54,1.47l2.89,0.3l0.38,-0.61l-0.37,-0.59l0.93,-1.02l1.02,-3.52l0.67,-1.09l0.81,0.01l3.82,1.3l3.64,3.04l2.91,1.41l6.32,1.92l0.44,-0.15l-0.0,-0.47l-1.28,-1.74l-1.05,-0.86l-2.58,-0.94l-3.87,-3.07l-6.02,-2.32l-0.34,-1.05l0.25,-0.55l1.49,0.61l0.44,-0.27l0.34,-1.07l1.16,0.56l2.37,2.7l2.03,0.91l1.17,-0.03l2.53,-0.79l4.78,2.11l3.13,2.4l3.65,1.33l2.43,3.37l1.91,1.02l0.49,-0.1l0.02,-0.5l-2.38,-4.82l-8.67,-5.89l-1.93,-0.43l1.63,-0.35l0.77,-1.2l-0.18,-1.61l-0.91,-1.72l-1.22,-0.78l-2.69,-0.42l-1.32,-0.91l-2.43,-0.49l-3.49,-3.42l-1.8,-0.37l0.25,-0.75l-1.49,-1.54l-1.83,-0.47l-2.86,0.14l0.91,-1.36l0.0,-0.86l-2.75,-3.99l1.25,-1.31l2.91,0.64l1.98,3.15l0.55,0.13l1.75,-1.1l1.75,0.44l2.24,0.09l2.08,-2.05l0.09,-0.44l-0.36,-0.24l0.21,-2.02l-0.66,-1.49l0.84,-0.4l0.0,-0.86l-1.35,-0.95l2.95,-0.75l1.4,-0.88l0.0,-0.94l-0.41,-0.4l-2.82,0.1l-2.0,-0.66l0.35,-0.44l-0.03,-0.54l-1.41,-1.16l-1.32,-0.54l0.52,-2.25l-0.38,-0.52l-1.02,-0.01l-0.71,-0.38l-3.84,-4.59l0.06,-1.65l1.0,-0.26l1.85,0.62l3.62,1.94l1.74,0.35l1.56,-0.35l3.4,-1.77l1.73,-0.45l1.72,0.16l1.75,1.09l0.54,-0.11l1.7,-1.64l1.78,-0.76l1.37,0.35l2.56,1.75l1.27,0.45l4.43,-0.27l1.21,0.27l5.91,3.48l0.49,-0.07l0.05,-0.49l-0.94,-1.42l-2.83,-1.89l0.52,-0.34l2.52,-0.37l1.18,-0.65l0.2,-0.42l-0.33,-0.33l-5.5,-0.86l-1.77,0.0l-1.01,0.49l-0.9,1.03l-0.69,0.18l-0.71,-0.22l-3.93,-2.08l-3.34,-3.54l-2.1,-2.68l-0.97,-2.8l1.23,0.0l0.34,-0.62l-0.81,-1.24l0.04,-1.04l1.42,-2.63l0.02,-2.12l2.08,0.73l4.98,2.67l3.82,-0.06l0.37,-0.29l-0.17,-0.44l-2.99,-2.12l0.16,-1.12l-0.58,-0.94l-0.59,-0.1l-1.5,0.89l-1.41,0.0l1.13,-0.58l0.0,-0.86l-1.41,-0.86l4.05,-1.84l4.51,2.11l0.53,-0.14l-0.12,-0.54l-9.35,-6.31l-0.01,-2.06l0.14,-0.92l0.52,-0.45l4.54,-2.08l1.47,-1.27l1.02,-1.94l-0.42,-0.59l1.4,-6.78l1.22,-1.13l10.89,1.87l1.93,0.98l1.38,1.38l0.47,2.6l0.74,1.81l-0.26,2.05l-0.9,1.81l0.06,0.49l0.49,0.05l1.59,-0.99l0.82,-1.3l0.55,-4.49l1.21,-1.7l-0.2,-1.44l3.47,3.27l3.81,1.99l1.83,0.63l0.05,0.75l-0.63,1.78l-4.11,3.4l-4.03,7.29l0.41,0.57l1.82,-0.29l5.1,-4.39l0.77,-0.33l0.75,-2.08l3.06,-1.47l1.59,-1.23l2.4,-6.26l1.87,-0.64l3.6,0.54l3.57,1.23l4.01,2.3l-0.03,2.37l-1.95,1.79l-1.28,2.3l-2.65,5.37l0.04,0.45l0.44,0.12l1.61,-0.57l1.52,-1.18l2.36,-2.68l0.08,-1.65l4.33,-3.49l3.25,-1.76l3.0,-0.91l1.57,0.4l2.68,1.91l1.96,0.42l0.45,-0.22l-0.12,-0.49l-0.76,-0.58l1.87,-2.18l0.76,-0.1l2.82,0.82l1.0,-0.42l0.79,-1.72l0.74,-0.29l3.18,0.0l2.8,0.44l1.1,-0.58l1.84,-3.0l0.62,-0.33l0.59,-0.11l2.16,2.87l2.17,-0.23l7.47,0.94l7.5,-0.96l3.8,-1.38l5.91,-3.46l3.26,-1.2l5.32,-0.79l2.68,0.06l1.25,0.46l-0.58,0.39l-0.04,0.67l2.36,1.58l2.51,-0.17l4.82,-1.32l4.69,1.65l2.51,0.0l0.36,-0.23l1.15,-2.54l-0.24,-0.54l-2.94,-1.33l-1.32,-1.23l-0.75,-1.4l1.73,-1.8l1.14,-0.58l1.1,0.15l0.78,2.72l1.02,0.78l2.75,-0.01l5.65,-1.37l3.33,-0.26l4.6,2.51l2.94,0.02l5.61,-0.88l2.49,0.84l-0.44,1.89l-1.67,2.67l-0.39,1.78l-2.98,4.31l-2.22,1.65l-0.71,0.91l-1.03,2.55l-0.03,2.2l0.97,1.72l2.21,1.07l2.69,-0.66l0.44,0.45l0.24,1.26l-0.31,0.93l-1.72,1.08l-0.79,4.38l-3.7,5.58l-4.55,5.12l-3.21,2.83l-3.53,1.59l-7.55,2.08l-3.19,1.52l-4.6,3.6l-0.91,1.36l-0.65,2.02l-1.55,2.02l-3.57,3.11l-18.97,12.07l-6.49,2.59l-1.69,1.36l-2.06,4.73l-2.74,1.44l-2.82,0.53l-6.36,3.39l-0.79,0.99l-0.37,1.87l-0.89,-0.41l0.35,-0.46l-0.17,-0.61l-1.32,-0.52l-2.15,-0.22l-2.42,-1.13l-0.48,0.11l-0.49,0.85l0.3,1.17l0.88,1.23l1.49,0.82l2.63,0.09l1.19,0.45l2.13,2.65l-1.67,2.22l-0.42,1.29l0.24,1.15l-3.3,-0.78l-1.45,0.0l-1.07,0.62l-2.04,1.95l-2.22,-0.05l-4.91,-1.97l-2.47,-0.53l-7.01,1.4l-1.72,-0.93l-2.75,-2.98l-1.72,-1.22l-1.87,-0.53l-0.44,0.17l0.03,0.47l4.57,5.34l2.99,1.92l3.53,0.56l3.45,-1.28l1.6,-0.22l2.92,2.46l2.05,1.15l1.62,0.01l0.38,-0.49l-0.29,-1.24l4.77,2.55l3.15,0.67l5.04,-3.0l2.5,0.45l1.22,1.25l-0.98,1.35l0.24,0.63l3.04,0.61l3.32,-1.19l3.1,-2.28l3.65,-3.86l0.67,0.09l0.43,0.92l-0.22,1.83l-0.61,0.98l-11.71,11.94l-2.03,1.29l-3.28,3.5l-1.5,0.24l-1.08,-0.4l-0.31,-0.89l0.99,-1.8l-0.11,-0.51l-2.67,-1.81l-3.15,0.93l-6.66,4.68l-1.04,0.36l-2.21,0.12l-5.58,1.22l-3.08,-0.18l-0.35,0.24l-1.18,3.06l-2.46,1.17l-6.45,5.3l-1.5,3.31l0.29,0.53l0.72,0.04l3.81,-1.59l1.32,-1.03l3.1,-3.58l3.88,-1.86l3.37,-2.71l3.58,-1.45l1.39,0.23l1.29,1.17l4.36,0.76l1.98,-0.05l2.69,-1.84l3.66,-1.81l0.91,-0.12l0.28,1.06l-1.67,2.41l-2.45,2.38l-2.6,1.61l-3.04,3.8l0.56,1.63l-3.12,0.24l-1.81,0.8l-1.58,1.57l-0.04,0.51l0.47,0.67l-1.92,-0.46l-4.73,0.0l-0.4,0.4l0.0,0.93l0.41,0.4l2.44,-0.06l1.74,0.58l-1.38,2.5l-1.9,2.18l0.2,0.68l3.13,0.66l1.79,0.05l1.94,-0.82l2.19,-2.45l2.68,-0.5l2.94,-2.85l4.09,-1.52l0.18,-0.61l-0.99,-1.37l-2.2,-1.58l9.0,-0.92l8.28,0.63l2.79,-0.64l13.27,-7.69l4.34,-0.79l-1.35,1.73l0.05,0.64l1.38,0.78l3.64,-0.73l0.28,-0.58l-1.34,-2.51l4.08,0.8l1.9,-0.31l1.31,-0.79l1.46,-1.46l0.82,-1.59l-0.41,-1.56l0.64,-0.97l2.59,0.44l4.38,-1.69l10.63,0.36l6.46,3.3l11.38,3.07l3.89,0.12l3.71,-0.92l5.31,-2.99l1.34,-0.37l13.54,0.0l1.23,1.33l1.07,0.44l2.39,-0.73l1.18,0.73l2.83,-1.07l7.28,1.97l2.64,-0.09l1.25,1.56l0.42,0.14l0.69,-0.19l0.79,-1.04l0.93,-0.47l1.38,0.13l4.03,1.62l0.48,-0.15l0.47,-0.71l2.13,0.88l3.3,-1.75l1.64,0.78l1.45,0.08l1.29,-1.92l1.32,-0.66l1.69,0.25l3.77,1.81l1.99,0.49l2.38,-0.42l5.11,-3.01l1.29,-0.25l9.18,0.26l1.36,2.54l1.05,0.88l1.06,0.1l1.59,-0.98l0.78,0.02l1.48,2.11l7.26,6.34l0.73,2.0l0.79,4.46l1.32,2.02l-0.28,2.43l0.98,1.45l1.77,1.56l-0.61,0.22l-0.58,0.94l0.02,1.31l1.64,1.04l-2.22,1.65l-3.55,3.77l-1.54,2.3l-0.26,1.72l-8.91,6.52l-2.36,2.87l-5.57,11.53l-2.1,6.54l-0.49,2.53l0.23,2.43l1.7,1.22l0.18,0.74l-1.33,2.2l-7.8,9.78l-2.74,4.61l-1.14,4.65l1.19,2.71l-0.01,1.31l-1.97,2.24l-0.89,2.86l-1.17,1.27l-3.01,1.9l-4.41,5.53l-1.34,1.26l-4.83,2.43l-3.11,2.57l-1.29,2.17l-0.93,5.32l-2.21,2.73l-0.87,1.82l-0.03,1.26l0.57,2.19l-1.99,2.11l-0.88,2.06l-1.25,1.23l-8.07,4.57l-1.58,2.64l-5.11,2.34l-0.82,1.01l-1.57,3.11l-0.52,0.19l-1.23,-0.76l-1.22,-0.27l-25.71,2.97l-3.35,1.21l-3.07,1.87l-9.02,7.25l-3.46,1.15l-3.63,-0.95l-0.44,0.18l0.04,0.48l1.04,1.15l1.7,0.57l3.8,0.01l1.89,-0.4l3.7,-1.75l3.38,-0.67l17.26,-6.91l1.82,-2.05l1.72,-0.86l1.9,-0.25l3.07,1.95l2.86,0.19l0.87,1.28l0.15,2.16l-0.6,2.07l-2.54,3.4l0.37,0.26l1.95,0.0l0.92,2.49l2.26,0.68l0.82,0.95l7.86,0.48l1.79,0.72l6.59,4.54l0.0,0.35l-4.46,3.46l-1.6,2.41l-1.89,0.71l-4.26,0.78l-5.44,2.95l-1.83,0.41l-2.01,-0.27l-5.41,-2.23l-4.15,-0.06l-2.2,0.47l-1.77,2.12l-4.58,2.59l-4.76,4.32l-3.26,1.25l-0.99,1.42l-1.2,4.08l-0.9,1.65l-1.1,0.6l-6.09,0.28l-8.12,3.5l-3.31,0.45l-3.32,-0.18l-13.96,-3.27l-7.74,0.1l-3.23,-0.86l-3.0,-1.69l-3.14,-2.41l-1.79,-1.81l-1.3,-0.7l-1.95,-0.09l-0.41,0.4l0.21,1.11l5.11,2.85l0.69,0.88l0.77,0.4l3.32,4.95l1.02,0.42l2.17,-0.21l1.66,2.19l1.23,0.32l4.86,-0.85l1.86,0.02l14.85,3.32l4.17,0.01l2.18,-0.54l2.55,2.02l15.63,1.01l2.56,2.48l1.29,0.26l5.61,-0.46l6.66,-2.34l2.11,-1.47l2.79,-3.26l2.01,-0.19l0.34,-0.52l-0.92,-2.3l3.77,-3.28l1.61,-0.57l14.38,0.82l1.51,0.54l2.39,2.64l1.36,0.72l-1.06,2.23l0.22,0.62l1.39,0.35l2.07,-0.31l1.19,0.68l0.52,-0.11l1.52,-1.37l4.59,2.86l3.33,0.87l5.44,3.64l3.8,1.64l14.56,2.43l0.9,3.07l2.53,0.98l1.57,1.42l4.65,7.29l-3.4,1.02l-1.08,0.77l-0.64,2.99l-0.55,1.07l-2.05,1.78l-1.82,0.75l-2.62,1.97l-1.25,2.3l-5.23,6.16l-1.94,0.52l-4.53,0.29l-0.96,0.65l-0.22,0.87l0.42,1.59l2.04,1.23l0.44,1.31l1.48,1.44l1.91,4.81l3.44,4.92l0.38,2.26l2.43,2.96l0.11,0.67l-0.43,0.96l-1.87,1.82l-1.73,0.92l-3.53,0.81l-2.02,1.58l-2.58,0.95l-0.64,0.51l-1.31,2.68l-1.01,1.1l-2.21,0.84l-2.13,-1.14l-1.33,-0.17l-2.26,0.34l-1.03,0.41l-7.69,5.57l-6.32,5.94l-0.27,1.52l0.62,1.49l-0.51,1.67l-3.11,1.76l-3.1,3.97l-1.79,1.42l-2.34,1.3l-5.26,1.75l-1.36,0.81l-5.29,6.24l-3.87,1.84l-1.51,2.68l-0.64,0.54l-1.75,0.11l-3.8,-1.5l-0.89,0.39l-0.42,0.78l-0.21,3.57l-1.09,1.81l-0.38,2.06l-7.05,1.55l-27.49,-1.64l-4.03,-1.28l-1.46,0.4l-0.16,0.67l0.32,0.37l-0.99,0.38l-1.18,-0.37l-2.43,-1.74l-0.61,0.2l-1.13,3.29l0.68,1.56l0.58,4.84l-0.15,1.84l-0.87,1.75l-1.22,0.57l-7.98,-0.62l-2.32,0.29l-2.0,2.5l-5.8,-0.73l0.24,-0.42l-0.29,-1.36l-0.4,-0.49l-0.62,0.02l-1.0,1.3l-1.3,1.02l-0.14,0.44l0.42,1.3l-1.43,0.85l-0.03,0.65l2.52,2.04l-4.89,1.88l-6.72,4.1l-3.99,0.43l-2.29,-0.13l-0.25,-0.89l-0.78,-0.3l0.42,-0.77l-0.15,-1.32l0.34,-1.64l-0.19,-1.22l-1.19,-0.66l-0.02,-0.3l-0.63,-0.3l-1.26,0.89l-1.11,1.85l-0.35,2.19l0.65,1.62l-2.73,0.38l-4.22,-2.21l-2.89,-3.87l0.72,-4.64l-0.57,-0.42l-1.4,0.71l-2.05,2.11l-1.22,0.49l-1.14,-0.12l-7.3,-3.05l-0.68,-0.75l-1.84,-3.89l-2.0,-0.36l-1.3,1.88l-0.86,2.88l0.82,3.05l1.29,2.64l2.82,0.49l1.0,0.57l0.91,0.99l0.23,1.28l-1.15,2.78l1.14,1.87l-1.01,1.77l0.7,4.67l-1.84,2.08l-0.73,0.21l-1.85,-0.22l-1.76,-0.63l-3.04,-1.65l-3.1,0.05l-0.61,-0.38l-4.98,-6.16l-2.99,-2.37l-10.2,-5.11l-3.95,-0.92l-1.69,-0.85l-1.78,-3.47l-1.99,-0.67l-3.43,0.07l-2.15,0.78l-3.75,2.76l-2.13,2.66l-0.52,1.56l0.65,3.48l0.66,1.24l0.91,0.62l2.91,6.87l2.45,1.77l-0.45,4.14l0.76,1.93l-4.62,-1.8l-1.74,-0.37l-0.67,-0.68l-0.49,-1.73l0.07,-1.76l0.92,-1.0l0.01,-0.53l-0.91,-1.36l0.33,-1.49l-0.33,-0.55l-1.57,-0.14l-1.03,-0.52l-1.39,-4.39l-0.95,-0.74l-1.67,-0.63l-8.14,-7.9l-2.45,-3.55l-1.56,-4.17l-0.44,-4.7l0.26,-4.28l0.54,-2.02l1.0,-0.77l2.92,-0.14l0.78,-1.41l3.36,4.98l0.4,1.18l-0.06,4.14l0.48,1.39l1.21,1.36l1.62,1.16l1.86,0.11l1.6,-1.39l0.7,-1.1l-0.06,-1.03l-3.09,-5.01l-1.96,-4.6l-0.26,-1.31l0.22,-3.34l2.47,-5.58l0.26,-2.51l0.68,-2.08l1.57,-1.28l3.63,-1.91l5.58,-6.08l1.41,-0.62l0.24,-2.33l2.31,-5.14l-0.13,-3.93l0.54,-1.64l5.12,-4.6l1.33,-4.11l0.75,-1.27l2.68,-1.94l5.87,-2.27l2.18,-2.59l0.74,-3.29l-0.88,-3.29l-2.08,-2.1l-2.73,-0.8l1.5,-2.03l-0.5,-2.87l-1.87,-2.52l-2.72,-1.84l-4.72,-1.66l-3.18,-0.3l0.5,-0.98l-0.21,-1.26l-4.99,-2.61l-2.75,-1.99l-1.4,-1.63l3.52,-2.99l1.46,-2.95l-0.39,-4.21l-1.49,-3.7l-0.85,-8.62l0.52,-3.14l1.16,-2.0l1.85,-1.26l4.16,-1.14l1.07,0.1l5.53,2.06l1.46,0.2l1.02,-0.32l1.83,0.89l14.42,1.79l2.34,-1.17l0.21,-0.42l-0.33,-0.33l-12.79,-2.18l-3.65,-1.84l-4.38,-4.41l-3.6,-1.14l-1.5,-1.22l-2.27,-3.07l-1.16,-4.11l-0.32,-0.36l-1.29,-0.26l-0.44,0.22l-0.48,1.12l0.07,1.34l0.54,1.51l4.14,5.01l0.87,1.98l-0.36,0.64l-1.36,0.2l-2.02,-0.03l-1.83,-0.62l-0.82,-1.52l-0.26,-2.11l-0.01,-5.54l3.34,-6.93l6.11,-7.81l0.47,-1.91l-0.49,-0.82l-0.51,-0.08l-1.02,0.62l-1.23,1.36l-4.95,8.17l-1.11,1.29l-1.46,0.06l-0.45,-0.67l0.13,-3.72l-0.36,-1.65l-0.96,-1.4l-1.39,-0.49l-1.55,1.22l-0.09,0.45l0.98,2.17l1.19,4.26l0.77,4.12l-0.21,1.59l-1.13,0.57l-0.21,0.92l0.54,6.63l0.36,1.12l-0.72,0.29l-4.07,-1.29l-0.49,0.39l0.26,1.21l2.13,0.99l0.79,0.84l0.36,1.22l-0.29,1.58l-2.54,3.18l-1.07,3.79l-0.79,1.16l-1.1,0.96l-0.82,0.12l-2.55,-0.44l-1.24,-1.2l-1.2,-3.01l-1.31,-6.05l-3.4,-3.62l-0.47,-1.57l-0.66,-1.0l-0.55,-0.12l-1.39,0.87l-0.12,0.56l1.36,1.98l3.27,6.58l0.59,2.35l-0.47,0.78l-1.3,-0.36l-5.57,-3.63l-0.7,-1.39l0.0,-2.45l-0.25,-0.37l-0.44,0.1l-0.95,1.03l-0.76,1.61l-1.11,3.78l-2.51,2.91l-0.04,0.47l2.9,5.25l0.46,1.63l-0.97,0.0l-3.71,-1.71l-2.86,-0.83l-0.74,-0.78l-0.65,-3.16l-1.77,-1.29l-0.25,-0.72l0.0,-3.24l1.04,-2.28l0.19,-1.16l-1.18,-4.44l2.0,-1.82l9.38,-12.98l4.9,-1.63l3.76,-2.33l0.93,-0.83l3.06,-5.56l1.31,-1.52l2.52,-1.33l3.36,-1.17l3.02,-1.76l1.85,-3.39l-0.07,-0.47l-0.47,-0.07l-1.52,0.83l-3.23,2.82l-1.34,0.56l-3.46,0.22l-1.67,0.58l-1.4,1.06l-3.01,5.78l-0.73,0.79l-10.27,5.53l-7.24,8.73l-2.94,0.8l-1.01,3.77l-1.05,1.34l-1.65,0.4l-3.37,-0.47l-0.27,-2.2l-0.56,-0.26l-0.82,0.49l-0.34,0.8l-0.61,8.11l0.55,0.68l1.64,0.62l1.5,5.7l1.03,0.89l-0.59,0.56l0.0,0.83l0.93,0.74l-0.74,0.58l-0.05,0.64l4.77,4.09l2.09,2.8l0.73,2.92l-0.5,1.44l-1.04,0.69l-2.87,0.74l-1.41,0.78l-4.08,3.65l-1.81,2.53l-0.65,1.57l-0.63,4.05l-1.71,1.05l-0.17,0.46l0.65,1.39l-0.01,2.98l0.79,0.74l1.06,0.29l0.49,0.91l-0.41,1.24l-1.28,0.46l-1.19,1.13l0.52,2.11l-2.3,3.97l-0.11,3.69l-0.57,-0.01l-0.5,0.45l-1.91,4.01l-1.3,1.55l-2.15,1.3l0.0,0.75l0.45,0.4l1.7,0.12l1.46,1.44l1.56,3.31l0.76,0.6l-0.71,1.48l-4.17,4.33l-3.5,1.8l-1.94,0.31l-3.53,-0.89l-3.94,1.73l-2.4,-0.03l-1.34,-0.41l-0.8,-1.3l-1.0,-5.09l-0.17,-2.67l0.42,-2.15l2.34,-1.57l3.29,-3.09l0.97,-1.54l0.04,-2.54l-0.57,-5.4l1.19,-3.79l-1.17,-2.43l0.28,-1.19l2.04,-3.6l1.86,-4.36l0.34,-2.44l-0.85,-1.61l4.39,-2.97l1.3,-3.22l2.67,-3.74l1.06,-0.7l2.55,-0.9l3.06,-2.31l2.7,-3.2l1.66,-3.76l-0.13,-0.48l-0.5,0.03l-8.36,7.54l-3.96,2.28l-0.48,0.02l0.38,-1.02l-0.26,-0.52l-3.42,-1.24l-1.08,-1.09l-0.6,-1.52l-0.09,-3.19l-0.37,-0.89l3.52,-4.25l1.09,-2.58l2.8,-2.4l1.32,-1.36l0.04,-0.5l-0.48,-0.15l-1.95,0.8l-3.02,2.79l-2.2,0.91l-1.55,1.28l-0.45,0.01l-0.45,-0.6l-0.66,-2.44l9.38,-11.58l0.78,-1.6l-0.2,-0.64l0.79,-0.87l-0.18,-0.63l-1.41,-0.38l-3.63,1.99l-0.71,2.41l-3.65,3.36l-0.06,2.87l-1.5,2.23l-0.58,-0.56l0.93,-4.65l3.1,-4.92l6.5,-7.48l0.62,-1.47l1.34,0.19l1.62,1.14l0.68,0.06l0.43,-0.33l0.09,-0.97l-0.5,-0.9l-1.28,-0.9l-0.64,-2.68l3.07,-4.14l1.15,-2.84l-0.47,-0.51l-2.81,0.71l-3.69,4.0l-1.13,0.73l1.43,-3.98l3.06,-4.24l-0.61,-1.82l0.84,-1.03l4.44,-1.54l0.41,-1.19l-0.82,-1.34l-1.39,-0.41l-3.68,0.94l-2.36,1.74l-0.47,-0.07l-0.37,-0.77l0.19,-1.22l0.95,-2.57l1.03,-4.52l0.79,-1.48l1.4,-1.23l1.57,0.69l2.34,-0.21l4.42,-1.41l0.28,-0.38l0.0,-0.76l-0.42,-0.4l-2.16,0.13l-3.66,0.97l-1.33,-0.24l2.12,-4.41l2.72,-1.51l-0.17,-1.23l1.96,-2.17l2.75,-1.07l8.6,-0.6l6.94,1.56l3.2,-0.63l2.39,-1.63l5.49,-5.91l2.88,-5.08l1.8,-1.98l0.03,-0.5l-0.48,-0.14l-2.09,0.97l-3.36,5.83l-3.49,2.47l-2.89,3.37l-3.52,0.34l-9.16,-1.68l-2.51,1.64l-1.04,-0.59l-1.36,-4.54l-0.52,-0.26l-1.33,0.54l-2.5,3.47l-0.53,-0.34l2.89,-5.56l0.36,-1.25l1.72,1.32l2.12,0.67l2.21,-0.06l1.67,-0.59l4.1,-2.5l2.23,-0.82l1.19,-0.72l0.91,-1.08l0.01,-0.5l-0.49,-0.11l-2.86,1.39l-3.03,0.18l-4.34,2.46l-0.86,0.19l-0.85,-0.31l-1.34,-1.2l-0.91,-0.17l1.33,-1.55l0.87,-2.11l2.21,-3.33l4.23,-3.29l1.17,-1.68l-0.14,-0.58l-1.47,-0.8l0.0,-0.43l2.39,-1.52l3.47,0.03l2.43,-1.73l1.77,0.0l3.69,0.91l1.97,-0.4l3.44,-1.8l7.04,-1.3l1.49,-0.82l0.18,-0.48l-0.45,-0.26l-14.18,2.46l-6.38,-2.42l1.29,-2.51l5.82,-5.01l1.64,-2.09l1.47,-2.47l-0.07,-0.5l-0.5,-0.03l-5.14,3.6l-1.19,1.87l-0.79,0.6l-2.68,1.03l-0.93,3.18l-1.08,1.74l-1.04,0.96l-3.5,0.78l-0.93,1.14l-1.86,0.61l-1.69,2.25l-2.41,2.36l-3.98,1.5l-1.34,2.32l-2.9,1.38l-4.43,4.99l-5.69,5.35l-6.16,3.83l-0.53,-0.32l-1.16,-1.71l-3.97,-1.15l-2.19,-1.49l1.52,-2.77l0.19,-1.31l-0.4,-0.45l-0.95,0.13l-3.07,3.37l-4.94,-0.84l-12.76,-8.3l-0.45,-0.77l0.12,-1.68l0.71,-0.75l1.11,-0.32l4.24,-0.23l2.9,0.47l2.69,1.1l2.35,1.82l0.57,-0.09l0.65,-0.92l-0.11,-0.57l-2.75,-1.99l-0.01,-0.81l8.88,-4.71l1.94,-0.18l5.36,2.2l2.36,0.39l4.61,-0.26l2.6,-0.54l1.93,-1.0l0.2,-0.47l-0.42,-0.28l-7.99,0.83l-1.79,-0.24l-4.39,-2.2l-3.56,-0.74l-9.65,4.12l-4.0,0.75l-4.15,-1.67l-6.06,0.35l-6.45,-1.39l-2.4,0.25l-3.1,2.05l-1.97,-0.33l-2.96,-1.66l-0.99,-1.89l0.04,-1.56l0.83,0.18l0.64,-0.3l2.0,-2.39l0.98,-0.66l13.2,-1.12l5.34,-2.59l1.27,0.25l2.96,2.29l5.31,2.06l0.61,-0.37l-0.53,-2.74l-0.98,-1.07l-1.44,-0.47l1.65,0.0l1.82,0.89l0.5,-0.05l1.19,-1.18l1.76,-0.47l3.83,0.84l0.47,-0.27l-0.24,-0.49l-6.43,-2.5l-1.48,-1.39l-0.02,-0.98l0.94,-0.75l8.86,-1.0l3.65,-1.27l2.92,-2.3l-0.11,-0.69l-1.32,-0.46l-1.71,0.18l-1.61,0.74l-1.25,1.88l-1.49,-0.03l-2.83,-0.59l0.42,-0.7l3.4,-2.94l-0.2,-0.7l-4.03,-0.57l-8.09,1.42l-2.1,-0.45l4.08,-0.37l0.38,-0.4l-0.21,-1.26l-2.0,-1.44l1.29,-1.28l2.64,-7.76l1.42,-1.43l2.34,-1.32l2.54,-0.7l2.04,0.31l3.45,4.13l2.81,1.38l2.98,0.35l4.7,-0.89l4.23,-1.67l0.25,-0.37l0.0,-0.85l-0.49,-0.39l-4.04,1.29l-1.38,-0.4l-1.81,1.0l-1.68,-0.37l-4.6,-2.03l0.42,-3.05l-2.1,-1.46l-3.65,0.79l-3.12,-1.64l-0.64,-0.63l1.1,-1.74l5.07,-5.34l3.45,0.14l2.47,-1.26l1.97,0.61l3.63,2.17l1.95,0.8l8.52,0.08l1.29,-1.3l1.2,-0.06l2.07,0.54l0.59,0.0l0.4,-0.4l-0.22,-1.28l-1.93,-0.89l-7.26,0.99l-3.02,0.76l-3.68,-3.29l-7.28,-1.77l-0.85,-1.01l0.53,-1.83l2.97,-3.33l1.18,-1.77l-0.02,-0.46l-1.41,-1.85l1.81,-2.05l3.5,-1.75l2.79,-0.48l2.62,1.55l2.77,2.59l2.93,1.73l3.68,-0.81l0.3,-0.39l0.0,-0.84l-0.33,-0.39l-3.52,-0.65l-2.83,-3.13l-1.42,-0.97l0.93,-1.52l1.97,-1.67l2.02,-0.62l0.28,-0.38l-0.27,-1.31l-2.46,-0.65l-1.45,1.02l-1.15,1.57l-0.91,0.69l-1.51,0.39l-2.99,1.68l-1.61,0.44l-1.69,-0.18l-3.25,-1.2l-1.76,-0.31l-3.84,0.95l-1.47,-0.09l-0.56,-1.25l2.22,-4.06l3.78,-2.45l1.28,1.55l2.36,-0.16l9.87,-3.68l4.02,-3.05l0.74,-3.51l-0.32,-0.48l-1.79,-0.19l-2.38,1.93l-3.9,4.29l-2.08,1.25l-5.18,-1.17l1.06,-0.56l0.83,-1.16l-1.09,-3.45l-0.43,-0.32l-0.58,0.11l-1.43,1.08l-5.76,5.94l-2.06,0.82l-4.37,0.5l-1.74,-0.68l-1.27,-4.21ZM416.76,749.92l-0.51,0.51l0.11,0.8l-0.39,-0.05l-0.7,-0.85l0.66,-1.0l0.83,0.6ZM568.83,93.58l-1.01,1.14l-1.76,-0.58l-1.5,-1.07l-0.45,-0.58l0.12,-0.65l1.69,-1.12l2.58,-0.05l0.35,2.92ZM513.81,213.95l0.38,-2.67l0.46,-0.51l1.99,-1.0l2.9,-3.5l1.89,-0.41l0.79,-0.68l0.38,-1.78l-1.27,-1.52l1.34,-0.05l3.44,-1.58l1.68,-0.1l0.0,0.28l-2.4,1.44l-2.21,2.1l0.19,0.68l1.5,0.73l0.93,-0.68l2.94,-0.52l2.19,-1.85l3.91,-0.46l2.05,-2.34l1.11,-0.78l0.93,3.32l-3.62,0.15l-1.79,0.67l-0.86,1.5l-0.98,0.77l-2.21,3.62l-0.27,0.12l-0.1,-2.2l-0.43,-0.38l-1.69,0.23l-2.62,2.39l0.14,-1.25l-0.57,-0.36l-1.57,0.72l-0.45,-0.04l-0.53,-0.58l-0.59,-0.0l-3.19,3.39l-1.61,1.25l-1.32,-0.31l-0.49,0.34l-0.37,1.89ZM517.81,224.98l-1.26,1.05l0.19,1.67l-1.35,0.37l-0.85,-0.63l1.47,-1.99l1.79,-0.47ZM519.01,224.7l0.87,-0.55l0.34,-1.82l-3.4,-3.1l2.43,-0.65l0.79,0.08l-0.49,1.11l0.36,0.59l2.62,-0.0l-0.87,0.79l-0.2,1.15l1.09,1.48l1.43,0.35l2.07,-0.68l-0.49,1.76l0.68,0.91l1.84,0.9l-0.99,0.84l-3.64,0.43l-1.43,0.65l-0.25,-2.54l-1.29,-1.45l-1.48,-0.26ZM473.09,221.12l3.19,2.37l3.1,-0.5l0.73,0.44l1.65,1.7l-1.12,0.47l-0.2,0.7l1.74,1.48l4.06,1.77l-0.5,0.67l0.11,0.53l0.52,0.4l-4.23,1.31l-0.66,-0.24l-0.51,0.24l-0.7,1.97l-1.62,1.78l-1.89,1.28l-1.47,0.38l-0.12,0.72l1.4,0.93l1.68,0.53l3.34,0.35l1.57,-0.9l1.38,-1.6l1.21,-0.73l3.35,2.25l1.22,-0.26l2.26,-1.25l1.12,0.54l1.92,1.93l1.07,-0.37l-0.35,1.72l0.32,0.5l1.79,0.29l3.14,-1.67l3.33,-0.54l0.6,0.18l0.28,0.49l-0.43,0.97l-4.76,2.97l-0.09,0.52l1.07,1.75l1.24,1.05l1.64,0.47l1.86,-0.33l0.29,-0.56l-1.44,-3.05l1.06,-0.1l2.85,-1.46l1.24,-0.19l0.98,0.41l0.42,0.81l0.09,3.12l-0.56,0.7l-1.51,0.62l-3.26,0.56l-1.26,0.68l-2.07,2.94l-1.18,0.71l-1.17,-0.12l-6.46,-2.07l-0.93,-0.66l-3.98,-6.14l-1.06,-0.99l-1.31,0.28l-2.42,2.18l-1.43,-0.29l-1.05,0.52l-2.62,-0.52l-0.38,0.62l0.77,1.15l-1.86,-0.13l-1.22,0.47l-0.53,1.25l-1.92,-0.59l-5.05,0.65l-1.94,-1.45l-0.85,-2.63l0.26,-2.61l1.0,-2.29l1.43,-1.95l-0.09,-1.05l-1.08,-1.56l-0.62,-1.78l-0.55,-0.25l-1.05,0.51l-0.73,0.81l-0.06,1.0l0.48,0.87l-1.26,-0.32l-1.57,0.63l-0.01,0.68l0.69,0.46l0.23,0.59l-0.08,0.91l0.58,1.85l-0.6,0.96l-2.02,1.55l-0.16,0.59l-2.29,-0.68l-2.47,-3.1l-1.11,-4.04l1.95,-4.73l-0.53,-5.63l2.16,-3.55l3.7,-1.97l4.07,-0.61l4.1,0.16l2.18,0.6ZM506.84,207.27l-0.4,0.4l0.0,0.86l0.47,0.39l1.93,-0.05l0.66,0.49l0.44,0.9l-2.85,3.98l0.25,3.91l0.68,1.04l1.37,0.46l-3.55,0.78l-0.42,-0.31l-0.27,-1.54l-0.84,-1.37l-1.26,-0.85l-1.14,-0.24l0.0,-1.62l0.74,0.38l0.88,-0.07l2.19,-0.96l-0.5,-5.19l0.29,-1.11l0.68,-0.55l0.89,0.07l-0.25,0.19ZM489.0,203.03l-1.37,1.34l-1.84,-0.85l-2.14,-4.73l-0.93,-1.1l-1.93,-0.54l-0.14,-0.54l3.98,0.47l1.6,-0.48l2.54,-2.75l1.06,-0.61l1.22,0.74l-1.39,1.17l0.05,1.66l-1.78,-0.02l-0.46,0.4l0.0,0.87l0.31,0.39l7.79,2.07l2.09,3.97l1.14,0.62l1.74,0.31l0.59,0.9l-1.54,0.05l-1.13,0.7l-1.19,1.27l0.42,-1.4l0.61,-0.77l-0.07,-0.57l-4.27,-3.18l-2.42,-1.08l-2.48,-0.27l-0.44,0.4l0.0,0.95l0.41,0.6ZM486.81,263.79l1.89,-0.08l1.14,-0.61l0.2,-1.29l-0.4,-0.4l-5.52,-0.11l3.04,-1.03l3.74,-0.59l3.88,0.24l1.68,0.62l-0.1,1.01l-2.24,1.12l-0.73,0.82l-0.15,1.14l0.57,1.48l-0.85,0.58l-0.14,0.49l1.27,3.66l-0.48,1.06l-1.55,0.79l-3.8,-3.1l0.0,-0.56l1.01,-0.79l0.11,-0.49l-0.96,-2.0l-1.61,-1.95ZM482.26,214.17l0.51,1.15l0.88,0.6l1.33,0.11l3.52,-0.65l1.0,0.0l0.99,0.42l-2.01,1.98l0.08,3.75l-2.22,0.64l-2.64,-0.14l-2.44,-0.56l-2.17,-1.12l-1.85,-1.86l-0.43,-2.02l1.36,-1.52l2.27,-0.86l1.82,0.07ZM465.24,252.46l4.23,5.0l-0.84,0.54l-0.18,1.28l0.37,0.4l1.53,0.37l1.1,1.4l-3.51,0.75l-1.84,1.09l-1.16,1.86l0.37,0.6l2.59,-0.14l5.09,-1.87l1.59,0.13l-1.54,1.81l-4.12,0.94l-7.84,-0.01l-2.42,-4.89l-2.6,-1.86l-1.69,-2.47l0.44,-1.54l-0.48,-1.12l-0.84,-0.35l-1.2,0.68l-0.96,-0.58l-1.46,0.0l-0.19,-0.88l1.39,-2.78l1.85,-1.41l3.68,-1.02l0.91,-0.02l4.14,2.81l3.59,1.25ZM312.36,645.88l-0.36,0.48l-0.7,-0.04l-1.82,-3.11l-5.57,-4.18l-0.85,-1.91l-1.16,-4.9l-3.11,-1.89l-2.18,-4.67l0.09,-1.54l2.4,-1.01l2.48,1.68l2.62,2.33l2.04,0.81l0.59,2.81l2.14,1.35l1.0,1.54l1.37,3.18l0.88,3.69l-1.53,2.83l0.16,0.54l0.85,0.47l0.56,0.78l0.13,0.76ZM288.43,647.14l2.26,0.02l5.53,2.22l1.45,1.08l1.73,2.19l1.18,2.51l1.68,5.8l-0.9,1.49l0.09,0.52l3.61,2.98l0.17,2.28l-1.86,0.34l-0.8,0.42l-0.2,0.47l0.65,1.84l3.5,1.47l-1.37,1.04l0.2,1.72l0.86,1.83l0.19,1.72l-0.99,0.92l-2.12,0.73l-3.88,0.58l-4.57,-0.37l-3.89,-1.1l-3.54,-1.78l-3.36,-2.35l-0.05,-1.51l-1.13,-4.15l0.0,-0.54l1.11,-1.56l-0.03,-0.49l-2.12,-2.4l-1.56,-2.35l-0.73,-2.77l0.42,-3.79l1.12,-2.52l2.03,-2.53l2.55,-1.79l2.83,-0.42l0.31,-0.55l-0.37,-1.21ZM268.84,562.63l-1.9,2.02l-1.74,0.65l-1.68,-0.05l0.67,-1.31l1.23,-1.24l3.41,-0.07ZM262.3,573.87l-1.5,2.65l0.42,1.55l-1.47,0.72l-1.28,-0.65l-0.47,-1.65l1.06,-2.21l0.85,-0.53l2.38,0.11ZM260.24,581.77l0.07,0.69l-1.51,3.51l-0.67,3.17l-1.81,-3.28l0.8,-1.09l0.92,-2.83l0.7,-0.62l0.66,0.51l0.82,-0.06ZM206.25,572.45l0.7,-0.25l4.02,0.65l1.45,-0.61l1.39,-1.05l5.88,-0.97l4.03,-2.28l1.71,-1.39l0.05,-0.57l-0.92,-0.74l-1.81,0.4l-5.03,2.2l-4.12,0.83l-1.99,-0.11l-1.49,-1.04l-0.33,-1.06l0.32,-1.02l0.71,-0.78l1.97,-0.53l0.84,-0.69l1.98,-4.36l0.62,-0.62l3.83,0.02l5.17,-1.92l1.27,-0.89l0.53,-1.37l0.06,-1.19l-0.39,-1.17l-1.32,-0.98l-5.53,2.26l-1.91,0.25l-1.92,1.01l-0.58,-0.45l-2.17,-3.62l-1.22,-1.05l-1.9,-0.85l-8.06,-1.09l-1.59,-0.59l-2.11,-1.4l3.64,-2.15l0.13,-0.56l-0.79,-1.23l-1.7,-1.5l-0.31,-0.9l2.77,-0.22l2.58,-1.35l1.38,1.23l1.2,-0.03l0.79,-0.81l0.2,-2.18l2.33,-1.42l3.33,-0.82l2.64,-0.24l1.18,0.64l3.69,0.92l-0.43,2.05l0.36,0.51l2.51,0.17l2.0,2.32l3.47,6.57l0.26,1.66l0.5,0.86l1.01,0.25l8.54,0.0l1.85,1.56l1.7,-0.66l1.43,-0.0l3.18,3.22l1.12,0.27l2.0,-0.2l0.87,0.56l2.03,2.41l0.62,1.7l0.87,0.29l1.12,-0.22l0.52,0.28l-0.29,1.58l-2.67,-0.6l-0.41,0.21l0.06,0.45l1.96,2.49l0.51,1.35l-0.75,0.53l-2.63,0.05l-0.89,-0.35l0.12,-1.01l-0.64,-0.85l-0.78,-0.35l-1.33,-0.0l-0.36,0.47l0.25,1.44l-0.9,1.26l-2.79,1.93l-0.17,1.24l0.61,0.34l2.82,-1.33l3.12,-0.36l0.94,0.39l-0.39,0.89l-1.4,1.35l-7.58,4.1l-3.22,0.61l-2.04,-1.08l1.84,-1.94l0.19,-1.32l-0.83,-1.0l-1.36,-0.03l-2.36,0.7l-1.53,2.11l-3.61,0.86l-6.89,2.8l-2.4,1.91l-3.18,-1.07l-3.83,1.74l-7.96,0.0l-0.88,0.62l-0.84,1.58l-0.69,0.3l-2.67,-0.52l-2.3,-1.09l-1.49,-1.29l-1.19,-1.77l-0.47,-2.07l0.68,-1.49l1.69,-0.91l2.05,-0.32l1.54,0.21l1.25,1.17l1.2,1.83l1.21,1.06l0.45,0.05l1.79,-1.22l0.0,-0.84l-0.33,-0.39l-0.98,-0.33ZM186.8,444.56l0.45,-0.69l-0.21,-0.55l-1.15,-0.8l-0.14,-0.81l0.4,-1.29l-0.47,-0.51l-1.29,0.27l-1.99,1.8l0.15,-1.36l-0.32,-1.26l-0.9,-1.1l-0.67,0.1l-0.66,1.51l-1.82,0.76l-1.0,1.1l-0.2,1.84l0.91,2.18l-0.14,1.12l-1.12,0.76l-7.74,-2.07l-1.95,-1.01l-1.52,-1.42l-1.42,-4.89l-3.65,-2.3l-0.7,-2.12l4.77,0.0l0.37,-0.26l-1.96,-2.69l-0.15,-1.32l0.58,-1.42l1.06,-1.23l0.64,-0.25l0.59,0.3l5.89,7.15l1.78,1.08l1.15,0.2l0.45,-0.52l-0.48,-1.99l0.91,-0.71l0.09,-0.64l-2.67,-2.92l0.0,-0.5l0.62,-0.2l0.87,-1.01l1.32,0.13l2.51,0.9l0.51,-0.52l-0.96,-2.41l-2.2,-1.97l-2.73,-1.43l-1.56,-0.34l0.72,-0.81l0.96,-1.99l0.18,-1.79l-1.0,-1.66l1.25,0.01l2.16,2.03l1.77,0.92l0.65,2.79l0.93,0.96l4.7,2.17l3.08,2.82l1.44,-0.01l1.95,-0.53l-1.63,3.09l0.26,0.58l1.24,0.1l1.85,-1.86l0.96,-2.21l0.71,0.28l6.53,6.75l0.44,0.09l0.25,-1.22l-1.23,-1.84l-0.04,-1.82l-1.25,-1.63l-2.93,-2.71l-1.33,-2.41l0.26,-1.02l1.17,-1.28l1.09,-2.54l-0.42,-0.55l-1.88,0.01l-1.12,-0.62l0.3,-1.72l-1.59,-2.51l-0.09,-1.29l4.68,-2.55l1.79,-3.71l1.08,0.3l1.08,-0.49l1.27,1.63l2.82,2.15l2.5,3.48l3.84,2.54l1.61,1.61l1.21,2.08l0.79,8.62l0.98,5.41l-1.17,6.27l-0.4,0.79l-2.3,1.78l-0.79,1.14l0.05,0.52l0.52,0.03l2.4,-1.57l1.38,-0.38l1.04,0.27l0.56,0.96l-1.87,3.02l0.42,2.06l3.04,3.04l-0.46,0.79l-2.87,1.36l-1.18,0.85l-0.14,0.47l0.42,0.26l7.36,-0.77l1.7,0.38l0.21,0.59l-0.79,0.88l-2.09,0.78l-0.26,0.38l0.0,0.85l0.43,0.4l2.36,-0.2l1.97,-0.76l1.55,-0.16l2.67,1.97l3.48,-0.01l1.09,0.42l2.18,3.05l1.52,0.02l1.69,-1.78l3.68,0.03l2.41,-1.89l2.29,-0.66l2.31,0.01l1.62,1.57l5.82,0.0l-1.2,2.7l0.4,2.14l-0.9,1.96l-1.7,1.82l-3.08,2.03l-1.21,0.5l-3.67,0.43l-0.67,1.05l-0.15,2.66l-0.75,1.52l-4.42,2.53l-5.81,6.58l-2.85,1.89l-4.45,0.68l-0.97,-0.35l-0.7,-1.36l0.24,-1.89l2.26,-2.61l-0.15,-1.96l0.69,-0.63l0.64,-1.69l2.16,-2.95l1.64,-1.46l8.28,-3.29l0.25,-1.22l-0.56,-0.37l-2.36,1.02l-2.34,0.54l-7.23,0.11l-0.61,-2.46l-2.09,-2.76l-1.12,-1.11l-1.15,-0.51l-0.54,0.48l1.71,4.14l-1.35,2.4l-0.82,0.67l-0.08,0.53l0.41,0.64l-0.9,0.89l-1.44,2.48l-0.94,0.4l-0.82,-0.71l-1.08,-6.66l-1.31,-0.95l-1.28,0.66l-1.14,-1.06l-0.98,-0.39l-0.85,-0.08l-0.44,0.4l0.15,1.08l0.78,0.62l-0.91,0.49l-11.69,2.39l3.49,-3.54l0.11,-1.05l-0.39,-0.4l-1.7,-0.04l-1.61,0.33l-2.58,1.29l-2.46,-3.58l2.13,-1.39l0.6,-1.1l-0.38,-0.59l-3.91,0.29l-1.28,-0.31l-3.97,-4.14l-0.89,-2.07l-1.28,-1.75l3.67,-2.05l1.59,-0.55l1.75,0.25l4.96,3.85l2.32,0.41l0.4,-0.62l-1.24,-1.76l-5.4,-3.51l-1.72,-1.48l-1.28,-0.21l-2.34,0.6l0.12,-1.14l-0.34,-0.39l-1.4,-0.44ZM250.71,592.72l-1.34,0.14l0.6,-1.29l3.9,-2.72l0.91,2.13l-1.48,1.05l-2.58,0.68ZM245.68,610.28l-7.29,11.45l-1.79,4.61l-0.95,-0.06l-2.08,2.09l-1.54,0.72l-0.63,0.94l-1.44,6.51l-1.97,1.1l-3.18,-0.17l-2.9,-1.52l-1.28,-2.92l-0.75,-5.76l0.16,-2.01l0.77,-1.73l2.72,-1.43l3.84,-2.82l6.7,-1.04l3.0,-1.99l0.16,-0.44l-0.37,-0.29l-2.05,-0.04l-3.25,0.72l-2.67,0.08l-1.05,-1.61l0.97,-2.54l2.38,-3.09l2.61,-2.54l1.68,-1.03l2.71,-0.71l10.99,-8.73l2.45,-1.29l1.5,0.57l0.49,2.56l-0.1,1.29l-4.38,4.34l-3.45,6.79ZM232.99,453.64l-2.41,0.75l-2.08,-0.68l-1.84,-1.51l-0.39,-1.28l1.65,-0.8l2.74,0.45l2.08,1.63l0.25,1.43ZM229.08,420.11l-0.12,-0.32l0.43,-0.54l0.76,-0.47l0.29,0.29l-1.06,4.6l-0.03,1.49l-0.64,-0.27l-0.44,-1.07l0.21,-1.47l0.96,-1.49l-0.35,-0.76ZM227.18,427.36l0.9,1.02l-0.33,1.71l-2.69,8.1l0.08,3.81l1.89,3.11l0.41,1.71l-5.16,2.36l-1.05,-0.52l0.53,-1.37l-0.06,-0.46l-0.86,-0.95l-0.14,-1.91l0.69,-7.93l0.59,-1.9l1.2,-0.85l2.39,-0.24l0.36,-0.4l-0.12,-1.13l-1.54,-2.17l0.62,-0.5l0.63,-0.05l1.66,0.8l0.57,-0.36l0.0,-0.94l-0.59,-0.94ZM217.73,633.63l0.27,3.66l0.57,1.27l1.33,1.39l2.34,1.64l-0.63,2.97l1.09,1.21l1.21,0.49l-0.12,2.59l0.76,2.62l-1.72,0.85l-0.96,1.16l-0.78,-0.26l-1.52,1.85l-1.92,1.39l-2.22,0.99l-2.33,0.6l-3.81,-0.44l-1.34,0.74l-0.91,2.85l-2.9,2.09l-2.04,0.6l-1.77,-0.5l-1.08,-2.42l0.47,-2.5l1.74,-1.6l4.64,-2.12l0.2,-0.52l-1.96,-4.42l-1.2,-1.12l-3.84,-1.39l0.27,-1.63l2.09,-2.13l3.92,-3.02l-0.1,-0.69l-1.98,-0.78l-2.59,-0.34l-2.62,0.39l-1.9,1.34l-3.18,6.09l-2.79,1.59l-3.71,4.15l-2.1,0.28l-0.83,-0.88l0.08,-1.73l1.07,-2.08l-0.17,-0.54l-0.88,-0.75l0.73,-1.58l3.83,-4.53l-0.11,-0.61l-2.35,-1.34l1.48,-1.4l0.69,-4.56l0.55,-0.82l3.02,-1.74l4.7,-1.67l1.92,-1.46l0.4,0.14l-1.42,3.93l-0.02,0.88l0.72,2.42l0.65,0.89l1.3,0.41l0.49,-0.39l0.0,-0.83l-0.62,-2.32l1.72,-2.51l2.7,-2.15l3.18,-1.52l2.1,-2.29l3.58,-1.42l1.85,-1.48l0.98,0.51l0.24,0.59l0.37,5.18l1.17,6.75ZM215.0,599.17l-2.73,3.73l-1.0,2.45l0.19,2.1l-1.46,0.87l-2.26,0.52l-2.26,-0.06l-1.03,-0.43l0.86,-0.62l1.84,-4.45l2.29,-2.52l0.43,-0.29l1.51,0.34l0.72,-0.47l0.13,-0.53l-0.47,-1.05l2.96,-0.59l0.27,1.01ZM135.92,362.62l5.04,-1.07l5.25,-2.33l0.22,-0.49l-0.46,-0.27l-8.1,1.74l-1.96,-0.02l0.7,-0.99l1.62,0.06l0.48,-0.39l0.0,-0.78l-0.4,-0.4l-1.02,0.0l0.98,-1.16l0.31,-1.38l-0.46,-0.05l-4.06,2.11l-2.98,-4.45l0.3,-1.65l-1.52,-1.32l0.22,-1.34l1.0,-1.3l-0.04,-0.93l0.94,-0.51l0.7,-1.23l-0.21,-0.58l-1.44,-0.96l6.12,-0.31l1.88,-0.63l0.27,-0.38l-0.26,-0.38l-2.96,-1.36l-0.32,-1.3l0.17,-1.39l1.85,-2.03l4.43,2.06l0.79,0.11l0.75,-0.38l4.28,1.52l-2.16,0.05l-0.4,0.52l0.58,1.78l2.86,3.16l-0.08,1.89l0.92,2.69l1.37,2.47l1.15,1.26l0.47,0.09l0.23,-0.42l0.0,-3.41l-2.31,-4.09l0.74,-0.52l0.55,-1.94l3.69,-0.72l2.2,-0.86l2.07,0.8l1.97,1.5l0.98,1.76l0.65,0.07l2.36,-2.65l-0.13,-0.63l-2.74,-1.6l-1.22,-3.4l-0.74,-0.34l-1.65,0.19l-0.55,-1.61l-1.63,-2.18l1.29,-0.62l0.32,-0.58l-0.89,-1.56l-0.61,-0.35l6.07,-4.18l1.73,-1.87l1.14,0.35l1.83,-1.3l2.85,0.0l2.4,-0.54l5.61,-2.31l2.98,-2.82l15.35,-9.13l4.33,-4.35l2.36,-1.76l1.81,0.12l1.6,1.37l1.48,2.2l1.06,2.36l0.4,1.97l1.58,2.13l0.18,0.9l-1.25,0.48l-0.88,0.95l-1.99,5.24l0.08,0.41l1.8,1.51l2.24,0.37l0.0,0.25l-5.6,2.96l-1.41,1.24l0.2,2.03l-2.57,0.95l-0.97,1.82l-2.4,0.74l-0.45,1.23l0.15,1.91l-1.43,0.71l-2.34,0.05l-0.31,0.65l1.81,2.17l3.31,0.78l3.46,-0.18l2.63,-0.92l4.15,-3.48l2.79,-0.95l-0.39,0.61l0.27,1.06l-0.88,1.7l0.5,1.3l-2.74,1.19l-1.78,2.16l-1.4,0.58l-1.02,-0.13l-2.47,-1.33l-1.55,-0.42l-3.94,0.37l-3.88,-1.64l-1.52,-0.07l-0.38,0.56l2.78,5.77l-0.89,1.2l0.34,1.38l-1.19,0.73l-4.3,0.76l-3.06,2.85l-1.14,0.57l-2.83,-0.85l-2.58,1.74l-4.37,0.93l-1.35,-0.09l-0.43,0.4l0.0,0.86l0.39,0.4l3.38,0.06l11.26,-2.1l2.7,-1.26l0.98,-0.13l0.94,0.53l0.79,1.13l0.42,1.47l-0.1,1.57l1.01,0.99l-0.99,0.83l-1.79,0.7l0.19,0.42l1.02,0.57l2.17,0.43l-3.22,3.08l-1.88,0.4l-8.02,-1.08l-2.37,-0.62l-0.88,1.15l0.11,0.51l0.73,0.55l1.91,0.65l1.45,1.07l2.95,0.68l1.03,1.09l0.0,0.48l-0.75,0.5l-2.07,2.75l-1.39,0.79l-3.6,-0.87l-0.48,0.39l0.0,0.93l1.18,1.07l0.0,0.45l-1.58,0.63l-1.41,-0.22l-1.21,-0.87l-1.01,-1.26l-1.24,-2.4l-1.01,-0.42l-0.46,0.15l-0.5,0.99l0.49,1.49l1.33,2.18l-0.23,0.3l-3.18,-1.51l-0.95,-2.11l-2.35,-3.74l-0.65,-1.59l-0.13,-1.65l1.2,-3.1l2.34,-1.71l3.04,-0.76l3.2,-0.17l0.38,-0.4l0.0,-0.78l-0.4,-0.4l-8.34,0.0l-0.4,0.4l-0.34,2.0l-1.93,1.91l-2.41,1.78l-1.66,0.81l-0.13,0.61l1.11,1.33l1.89,3.86l0.96,0.78l1.26,0.48l2.24,2.61l-1.29,0.65l-0.27,0.63l0.73,0.93l1.66,0.72l0.47,2.77l-6.5,-1.26l-2.97,-1.34l-1.15,0.42l-1.74,2.43l0.13,0.6l3.51,1.51l2.2,3.27l-0.32,0.7l-1.0,0.53l-2.92,0.08l-0.44,0.4l0.0,0.86l0.28,0.28l-1.04,-0.13l-3.96,-2.28l-0.54,0.13l-0.6,0.93l0.13,0.56l1.43,1.36l-1.59,1.66l-2.26,1.43l0.01,0.68l0.75,0.55l-1.32,1.06l-5.27,2.82l-1.48,1.22l-4.68,-4.11l-0.88,-0.43l-5.19,-5.08l-0.91,-0.54l-0.96,-2.04l0.95,-0.22l0.9,0.14l0.57,0.45l0.74,2.43l0.63,0.24l7.1,-5.14l1.08,-1.37l1.77,-0.45l4.11,0.12l0.4,-0.29l-0.18,-0.46l-3.99,-2.38l0.0,-0.37l4.13,-1.87l2.47,-0.44l2.44,0.44l1.63,1.03l0.54,-0.11l-0.09,-0.55l-2.58,-1.93l1.81,-0.7l0.34,-0.4l0.0,-0.86l-0.4,-0.4l-4.95,0.0l-1.06,-0.37l-2.22,-1.78l-1.43,-0.48l-5.07,0.16l-2.04,-0.6l-0.65,-1.81l-0.59,-0.2l-0.99,0.65l-0.51,-0.01l-3.42,-2.03l2.91,-2.3l1.59,0.06l0.42,-0.4l-0.36,-1.38ZM212.42,555.14l-3.82,0.18l-2.03,-0.25l-1.85,-1.32l1.52,-1.58l1.96,-0.44l3.73,2.65l0.49,0.77ZM203.39,487.59l-0.18,1.24l0.4,0.4l1.79,0.0l-1.02,3.94l-1.57,2.41l-2.22,1.05l-3.14,0.25l-1.32,-0.58l-1.52,-2.99l-2.53,-1.16l-2.67,-2.18l-1.14,-0.5l4.72,-4.26l2.58,-1.63l3.17,-0.34l4.37,2.2l1.48,1.32l-1.21,0.82ZM177.88,539.32l-4.43,2.83l-1.27,0.35l-1.98,-0.68l-1.15,-0.02l-0.37,0.26l-0.62,1.82l-1.29,-2.32l2.06,-0.35l2.28,-1.77l4.92,-6.03l2.7,-1.61l2.1,-0.72l2.53,-1.75l1.31,-0.38l2.59,-0.15l-3.0,5.48l-1.21,1.14l-2.02,0.51l-3.16,3.39ZM182.2,483.43l-2.71,0.37l-3.97,-0.33l3.42,-1.68l1.42,-0.29l1.01,0.67l2.35,0.6l-1.52,0.65ZM150.14,558.23l-1.24,0.04l-5.22,-1.9l-1.9,-4.85l1.47,-0.66l5.86,-0.77l2.01,-0.6l3.15,-1.62l6.32,-1.68l1.89,0.08l0.87,1.71l-0.95,1.21l-5.07,0.5l-0.36,0.37l-0.14,1.86l-1.49,1.02l-1.9,0.31l-2.06,0.78l-1.58,2.15l0.34,2.04ZM152.2,333.9l2.73,2.41l1.11,-0.26l0.55,0.45l1.31,2.12l-6.14,0.0l0.84,-0.07l0.34,-0.4l0.0,-0.79l-1.23,-0.8l-0.76,-1.04l-0.29,-1.23l0.34,-0.81l1.21,0.41ZM134.01,378.93l3.29,-2.65l1.7,-0.62l1.21,0.66l0.02,2.21l-0.64,0.3l-2.89,-1.48l-0.57,0.27l-0.28,1.33l-0.5,0.68l-1.34,0.37l0.01,-1.07ZM111.35,422.71l1.61,-0.84l0.0,0.55l0.4,0.4l6.24,0.0l5.11,-1.16l3.01,0.63l0.64,0.9l-1.82,2.99l-3.38,-0.19l-1.86,0.24l-1.38,0.83l-1.42,-0.77l-2.98,0.19l-1.43,-0.26l-0.97,-0.63l-1.76,-2.89ZM113.07,421.29l-2.99,-0.39l-5.16,-2.64l-2.77,-0.55l-1.48,1.41l-0.94,0.1l-2.44,-0.96l-3.69,-2.1l0.0,-0.38l1.9,-1.1l3.76,-6.4l1.75,0.71l5.45,-0.75l-2.13,0.89l-0.12,0.64l1.55,1.62l0.54,0.04l2.63,-2.06l3.21,-3.45l-0.89,1.68l0.23,0.57l4.73,1.55l1.92,0.18l0.44,-0.4l0.0,-0.85l-1.24,-0.75l5.11,-2.73l2.08,-0.28l0.88,0.95l0.26,0.92l-0.4,0.79l-1.41,0.74l0.01,0.71l1.74,0.7l2.44,-0.99l1.15,0.61l3.12,0.1l1.4,0.62l0.57,1.13l-2.58,3.02l-0.89,-0.13l-1.47,-1.78l-1.6,-0.78l-1.91,-1.46l-4.12,-0.08l-0.4,0.4l0.0,0.93l0.37,0.4l1.29,0.22l-0.47,1.01l0.0,0.93l0.42,0.4l2.35,-0.14l0.52,0.4l0.29,1.66l0.94,1.34l1.52,0.03l1.79,-0.48l-1.11,1.78l-1.94,1.08l-4.97,0.35l-2.26,0.83l-1.21,-2.02l-0.77,-0.51l-1.27,0.3l-3.73,2.44ZM125.45,400.77l-2.35,0.84l-1.03,-0.11l2.88,-2.45l1.26,-0.22l0.49,0.82l-1.26,1.12ZM109.71,439.85l7.05,3.86l-2.11,-0.4l-0.51,0.38l0.0,0.85l0.34,0.4l1.81,0.28l2.65,1.97l1.76,0.27l0.0,0.22l-2.01,0.83l-1.65,-0.62l-1.62,-1.24l-3.51,-1.64l-1.71,-1.95l-2.11,-1.41l-1.98,0.85l-0.08,0.69l1.46,1.45l0.67,1.8l2.14,0.31l2.0,0.74l1.32,1.65l1.48,0.64l3.99,0.34l2.71,2.51l1.15,0.02l-0.27,1.17l-1.74,1.03l-1.11,1.09l-1.94,4.51l-1.44,0.53l-6.55,-1.36l-0.48,0.39l0.31,1.16l5.48,1.32l1.38,1.08l0.71,1.77l0.37,2.53l-0.18,2.33l-0.71,1.09l-1.31,-0.63l-1.66,-0.23l-3.41,0.13l-0.38,0.4l0.0,0.85l0.34,0.4l1.54,0.22l4.35,-0.22l1.35,0.89l2.08,2.33l1.61,0.22l-1.73,1.63l-6.97,-1.14l-2.7,1.2l-2.27,-2.1l-0.71,-1.24l-2.22,-6.45l-0.3,-1.87l0.51,-1.49l-0.1,-1.12l-1.55,-1.7l-1.47,-0.79l1.3,-1.49l1.15,-2.42l0.6,-2.36l0.31,-0.52l1.23,-0.48l0.64,-1.71l-1.03,-4.07l-2.17,-5.31l1.38,-0.8l4.53,-1.51ZM114.76,430.08l1.97,0.5l-0.04,0.69l0.74,0.52l2.46,-0.43l2.43,1.4l-1.39,-0.23l-1.87,1.34l-1.52,0.08l-0.35,0.54l0.62,1.42l0.96,0.55l1.95,-0.0l1.07,0.33l0.5,0.61l-0.06,0.41l-7.15,1.65l-2.14,-0.39l-6.6,-3.16l-0.84,-1.23l0.38,-2.1l1.08,-1.8l1.54,-1.06l1.8,-0.07l2.09,0.86l1.22,-0.14l0.87,-0.58l0.27,0.31ZM101.8,483.27l0.6,0.67l1.59,0.65l-1.55,2.26l0.12,0.67l3.39,1.59l0.98,2.69l-1.39,-0.04l-0.96,0.51l-1.43,1.4l-1.24,0.66l-0.2,0.52l0.38,0.91l-0.5,0.55l-1.2,0.43l-1.26,0.15l-5.52,-0.83l-1.02,-0.42l0.03,-0.77l0.83,-1.01l2.6,-1.31l0.44,-1.48l-0.21,-1.4l-0.64,-0.75l1.6,-0.93l2.18,-0.41l1.61,-1.06l0.78,-3.25ZM4.31,389.19l-1.63,0.3l-1.46,-0.85l-0.47,-1.35l4.49,0.99l-0.93,0.91Z\",\\n      \"name\": \"Scotland\"\\n    },\\n    \"WLS\": {\\n      \"path\": \"M288.04,1103.73l0.2,-1.18l-0.4,-0.85l1.0,-0.81l-0.04,-0.88l-0.55,-1.21l0.48,-0.41l2.99,-0.19l1.71,-0.53l2.7,-2.27l1.02,-0.45l2.67,-0.34l3.65,-1.16l2.89,-2.27l0.23,-2.63l0.87,0.0l0.4,-0.4l-0.17,-1.04l-0.83,-0.6l0.06,-0.36l0.73,-0.46l3.57,-0.11l5.67,2.31l1.79,-0.02l2.5,-0.85l0.25,-0.52l-0.35,-0.95l4.3,1.24l2.15,0.2l0.98,-0.87l-0.5,-3.22l3.21,-0.68l1.83,-1.03l3.47,-4.24l1.45,-1.32l0.92,-0.01l2.76,1.8l0.62,-0.36l-0.18,-3.14l2.96,-1.2l10.63,0.32l1.13,-0.33l1.66,-2.11l2.44,-0.63l1.82,-1.0l4.31,-3.87l1.14,-0.63l4.89,-0.86l10.35,-7.38l5.03,-5.92l2.59,-4.13l1.21,-2.78l1.48,-7.52l1.91,-3.98l-0.59,-2.7l0.51,-1.99l3.35,0.89l1.6,-0.51l4.45,-2.72l0.19,-1.21l-0.4,-0.4l-2.46,0.04l-4.42,1.3l-2.18,0.32l-1.16,-0.78l-3.89,-4.42l-0.9,-1.64l0.26,-2.7l1.36,-2.79l1.75,-2.15l1.87,-1.25l0.63,-2.04l1.16,-0.41l3.54,-2.27l1.19,-1.25l0.07,-0.45l-0.4,-0.22l-2.29,0.23l-1.61,1.0l-1.17,0.22l-6.42,-6.44l-1.97,-3.73l0.15,-0.6l1.43,-0.42l1.14,-1.19l-0.24,-1.91l-1.05,-2.53l0.16,-2.14l5.54,-3.38l-0.07,-0.72l-0.96,-0.7l-0.62,-0.09l-1.77,1.34l-0.54,-0.11l-0.6,-1.12l-0.56,-0.15l-2.15,1.34l-2.22,0.14l-5.04,-0.65l-6.25,1.59l-3.16,1.57l-6.07,-0.02l-1.86,0.81l-1.64,1.18l-3.12,2.97l0.3,0.89l-1.2,0.67l-0.89,1.54l-0.03,1.51l0.9,1.22l-1.86,1.24l-0.82,-0.09l-1.28,-1.2l-1.8,-0.52l-1.73,-1.12l-1.17,-0.26l-1.2,0.28l-1.63,1.34l-1.8,0.39l-4.78,-0.41l-1.5,0.7l-1.24,1.18l-0.98,0.38l-0.74,-0.39l0.67,-0.89l-0.17,-1.23l1.61,-2.29l11.94,-11.39l1.18,-0.54l3.24,-0.53l1.81,-0.79l6.98,-4.45l1.77,-2.43l5.59,-2.99l0.89,-1.71l0.4,-2.21l0.39,-6.11l0.46,-0.15l0.57,1.42l0.68,0.08l0.78,-1.01l0.76,-1.84l3.35,-3.31l2.57,-1.17l1.19,-1.36l1.77,-3.01l1.88,-1.87l2.19,-1.18l2.46,-0.61l2.63,-0.19l2.3,0.66l2.92,-1.33l2.14,-0.49l2.93,-2.01l9.35,-3.18l2.88,0.0l0.37,-0.55l-0.88,-2.16l-2.59,-2.24l-0.33,-0.7l2.48,0.48l1.42,0.69l1.07,1.07l0.44,0.08l1.57,-0.69l1.66,0.45l1.69,1.26l1.38,1.72l1.48,0.8l10.07,-0.19l3.59,-0.68l16.41,-6.62l3.46,-0.1l3.17,1.28l1.72,1.11l1.87,2.18l11.09,5.89l2.96,3.22l0.6,-0.1l0.28,-0.46l0.06,-1.96l5.03,1.16l5.49,3.62l3.16,2.99l0.43,1.87l-3.34,1.89l-0.53,0.85l0.11,0.74l5.13,4.88l2.25,4.16l1.39,5.13l2.56,2.73l0.73,1.31l1.24,0.6l3.18,0.39l3.35,1.66l0.91,2.64l-0.1,2.16l-4.99,2.22l-1.12,-0.33l-5.15,-4.16l-2.23,-0.28l-4.15,0.92l-0.81,-0.21l-2.25,-1.91l-2.76,-0.15l-7.78,4.2l-1.78,2.44l-2.36,1.52l-0.2,0.86l0.58,2.7l-1.88,1.76l-0.77,1.32l0.02,1.43l1.15,2.83l1.01,0.86l1.48,0.57l3.01,0.3l0.79,1.13l0.96,0.69l4.53,0.86l1.85,2.0l1.84,0.92l-0.97,1.35l-2.63,0.44l-0.93,0.63l-1.32,2.63l-0.13,2.73l-0.49,1.48l-2.38,1.45l-0.81,3.26l-0.64,0.88l-3.0,1.66l-0.72,0.75l-0.16,1.98l1.35,2.54l-0.59,1.8l0.77,0.61l2.24,-0.27l1.46,-1.73l2.68,-1.3l1.99,-1.51l0.57,0.06l2.04,1.94l0.33,0.7l-1.01,1.31l-2.23,1.67l-1.26,1.83l-6.67,0.36l-3.19,1.63l-4.03,1.33l-1.03,0.84l-1.06,1.46l-0.24,1.66l0.57,2.08l0.91,1.15l8.33,5.21l2.87,2.5l9.74,0.68l-0.04,0.93l-2.85,2.05l-0.86,1.9l0.3,1.59l0.75,0.98l2.31,0.62l0.36,0.34l-0.72,0.49l-3.8,0.36l-1.63,1.56l-1.87,1.05l-1.47,2.84l-3.6,4.38l0.02,1.2l0.79,0.92l1.91,0.3l-0.73,1.0l-2.27,0.65l-1.15,0.88l0.12,0.93l1.71,1.27l-0.87,1.04l-0.87,3.5l0.37,0.58l2.78,2.09l0.35,0.8l0.25,3.1l2.6,4.07l2.02,2.35l2.62,2.01l0.43,1.52l0.88,1.11l1.91,1.4l0.95,0.36l1.68,-0.09l3.51,-1.93l1.53,-0.34l8.33,6.15l3.17,3.84l1.04,0.48l2.28,-0.01l2.09,1.5l1.62,0.87l0.49,-0.05l-2.08,3.04l-0.53,1.92l0.07,0.99l0.86,1.72l-1.21,3.16l1.96,5.51l-1.46,0.66l-0.48,0.7l0.95,1.77l0.62,3.23l-2.27,2.24l-1.58,1.04l-4.15,0.82l-4.8,2.77l-3.57,1.06l-7.21,0.41l-0.94,-0.31l-1.13,-1.6l-0.91,-0.38l-0.89,0.57l-2.73,3.07l-7.72,3.93l-2.39,2.06l-1.12,2.26l-2.32,0.76l-0.14,0.5l1.04,2.32l-0.55,2.21l-1.28,1.24l-2.97,-0.53l-6.03,2.11l-21.47,-1.63l-1.44,-0.69l-4.11,-4.67l-5.06,-3.51l-1.39,-0.16l-1.62,0.6l-1.74,-0.73l-1.63,-1.35l-0.82,-1.05l0.55,-0.79l-1.49,-4.46l-1.01,-1.98l-1.11,-1.61l-2.96,-2.23l-1.34,-2.16l-1.02,-0.87l-1.28,-0.28l-9.31,0.95l-1.38,0.48l-2.0,1.4l-0.22,1.34l1.87,2.85l-2.88,0.0l-0.67,0.9l-0.48,-0.86l-1.98,-0.76l-1.6,1.54l-1.35,-0.69l-3.03,-0.48l-1.18,0.43l-2.78,2.25l-2.54,-0.76l-0.42,0.29l-0.25,0.91l-5.79,-1.81l-1.43,-0.1l-0.41,-1.0l1.41,-0.88l0.18,-0.41l-0.26,-1.34l-0.72,-1.38l-0.01,-1.38l2.66,-0.71l1.32,-1.7l0.19,0.8l1.5,0.9l2.64,-0.73l4.38,-0.23l4.19,-0.88l2.07,-2.75l0.04,-1.84l-0.64,-0.54l-0.46,0.08l-1.58,1.36l-0.86,0.09l-3.31,-0.31l-4.63,-2.14l-1.54,0.69l-6.65,0.83l-1.73,-0.56l-2.27,-1.49l-2.01,-1.96l-0.73,-1.4l2.82,0.32l1.65,-0.17l1.09,-1.17l-0.33,-0.65l-3.01,-0.22l-1.19,-0.73l-0.59,-1.02l1.06,-2.04l0.01,-1.19l-0.67,-1.03l-0.54,-0.1l-0.55,0.36l-0.77,1.31l-1.46,1.42l-0.67,-0.14l-1.71,-1.42l-1.67,0.23l-0.59,1.41l1.57,1.88l-2.32,1.04l-3.19,0.1l-6.57,-0.73l-2.58,0.23l-3.75,0.87l-2.84,1.7l-0.35,2.85l-0.89,0.39l-0.29,1.47l-1.42,2.92l-1.95,-0.92l-2.04,1.59l-7.57,-0.15l-1.4,0.26l-1.56,0.9l-2.16,2.64l-1.55,0.57l-0.84,1.15l-0.53,0.2l-1.22,-0.69l-5.59,-1.51l-1.69,-1.01l0.58,-1.28l-1.26,-2.25l-4.43,-1.07l-1.34,-1.27l0.22,-0.31l6.41,0.76l0.41,-0.57l-0.36,-1.09l4.27,0.79l1.27,-0.27l2.86,-1.38l4.13,-0.71l2.19,-1.22l0.69,-0.14l1.03,0.47l0.57,-0.36l0.0,-0.72l-2.5,-2.26l-0.44,-2.51l1.26,-2.07l3.14,-0.65l0.32,-0.39l0.0,-0.86l-0.6,-0.35l-3.4,1.39l-4.83,0.37l-1.22,0.59l-0.21,0.45l0.39,0.31l1.33,-0.0l0.81,0.37l0.3,0.77l-0.46,1.58l1.16,1.19l-0.22,0.92l-1.11,0.99l-6.58,1.28l-1.82,0.05l-12.2,-1.33l-1.53,0.49l-0.24,0.55l0.74,1.62l-0.69,0.68l-0.61,-0.02l-0.06,-1.92l-3.93,-2.51l2.0,-0.79l2.22,-2.14l4.37,-1.02l1.48,-1.23l0.41,-1.47l-0.94,-6.55l-0.73,-1.43l-1.3,-1.06l-0.56,0.08l-0.36,0.48l-1.42,-0.95l-3.33,-0.39l-1.47,-0.83l-1.57,0.73l-4.98,0.8ZM357.65,950.36l0.07,-1.63l-0.41,-1.81l-1.83,-1.51l-2.84,-4.54l-1.49,-1.54l0.5,-1.87l0.57,-8.28l-0.19,-1.79l-0.76,-1.56l1.16,-0.7l10.99,-3.05l8.56,0.85l3.91,2.02l0.98,3.88l2.65,1.32l0.04,2.04l1.69,1.83l0.64,2.33l0.63,0.83l1.22,0.23l4.17,-0.73l0.8,-0.44l0.99,-1.21l1.88,0.83l2.63,-0.06l1.63,0.54l-1.45,1.32l-2.94,4.51l-1.92,0.89l-2.18,0.35l-2.19,0.9l-2.1,1.34l-2.12,2.06l-0.32,2.42l-0.47,-0.01l-3.05,1.79l-1.39,1.42l-5.42,2.64l-1.73,0.06l-2.19,-0.8l-1.56,0.8l0.24,-2.65l1.65,-1.59l0.53,-1.22l-0.18,-0.5l-0.92,-0.5l-1.65,0.51l-1.99,2.29l-0.77,0.25l-2.99,-2.22l-1.06,-0.04ZM343.24,934.63l2.61,-0.08l2.89,2.57l0.77,1.33l0.35,1.64l1.54,2.1l-0.33,0.94l-1.08,-0.06l-1.67,-1.22l-2.63,-3.52l-1.07,-0.28l-2.77,-0.01l-1.36,-1.89l0.0,-0.47l1.95,-1.42l0.79,0.38Z\",\\n      \"name\": \"Wales\"\\n    },\\n    \"ENG\": {\\n      \"path\": \"M253.14,1305.23l-0.55,-2.93l1.99,-3.06l0.57,-0.33l2.56,-0.81l5.49,-2.68l3.01,-0.89l3.24,-1.76l1.65,-0.03l2.57,2.07l2.18,0.77l1.92,-1.04l1.28,-1.73l1.14,-2.39l3.1,-0.04l3.21,-1.51l9.99,-8.79l3.1,-1.82l1.13,-0.32l0.54,-0.79l0.11,-1.48l-0.63,-3.53l0.63,-0.37l2.01,-0.06l6.24,-2.97l1.01,-2.22l1.16,-8.62l0.76,-1.42l1.55,-1.03l1.86,-0.06l2.05,-1.52l0.64,1.59l0.3,2.79l0.58,0.33l1.04,-0.7l1.46,0.71l3.52,0.15l1.33,0.56l0.46,-0.11l0.03,-0.47l-1.11,-1.66l-4.32,-1.65l-1.15,-1.25l0.53,-2.02l-0.43,-1.28l1.78,0.3l6.45,-0.37l2.77,-0.83l1.37,-1.67l1.04,-2.11l1.35,-1.84l-0.44,-1.95l0.24,-0.95l0.59,-0.37l1.36,0.19l6.14,-4.42l1.16,-1.61l0.64,-1.92l1.53,-1.46l3.71,-2.39l2.41,-4.19l-0.41,-10.03l0.94,-4.62l1.82,-3.83l-0.64,-2.72l-0.07,-1.45l0.25,-0.42l7.43,0.0l3.54,1.62l5.24,0.46l1.77,-0.46l1.47,-0.88l5.85,-5.47l1.38,-1.93l0.84,-0.41l0.18,-0.54l-2.06,-5.74l-1.7,-2.24l2.14,0.15l0.8,-0.22l0.8,-1.45l-0.16,-1.59l-1.55,-1.74l6.28,-2.09l15.79,-1.23l4.87,-1.26l6.3,-0.01l2.0,-0.34l2.69,-1.2l1.43,-0.1l11.15,2.43l7.02,-0.19l10.7,2.07l2.51,1.97l1.94,0.75l9.9,-0.36l6.28,-1.63l3.07,-0.36l5.68,0.25l3.46,-0.42l2.3,-1.29l0.23,0.28l-1.01,1.39l0.1,0.57l1.19,0.78l0.56,-0.12l1.51,-2.45l0.47,-2.4l-0.74,-2.54l0.04,-4.3l-0.26,-2.18l-0.41,-0.65l0.86,0.15l1.11,-0.54l0.41,-2.88l1.85,-2.04l0.55,-1.07l-0.09,-0.48l-0.96,-0.84l1.39,-1.22l2.9,0.35l3.23,-2.63l5.84,-6.48l1.48,-0.99l1.47,-0.71l3.74,-0.58l1.97,-0.71l1.82,-1.58l7.61,-10.85l2.31,-1.26l1.13,-3.18l1.03,-1.56l4.92,-4.3l2.94,-3.34l5.2,-1.77l1.42,-1.07l0.79,-1.46l-0.19,-1.56l-1.42,-1.27l-0.64,0.24l-0.35,1.99l-1.37,1.06l-5.45,1.27l-3.43,4.17l-5.17,2.86l-6.76,6.96l-0.53,-2.89l-0.88,-1.39l1.29,-0.48l0.63,-0.81l-1.96,-5.74l1.19,-2.51l-0.02,-0.86l-0.85,-1.68l-0.03,-0.72l0.41,-1.51l1.89,-2.49l0.62,-1.64l-0.1,-0.44l-1.28,0.34l-3.63,-2.33l-2.8,-0.15l-3.46,-4.02l-8.48,-6.27l-2.18,0.33l-3.45,1.9l-1.97,-0.18l-2.25,-1.8l-0.93,-2.23l-2.58,-1.95l-1.91,-2.23l-2.47,-3.84l-0.21,-2.92l-0.48,-1.16l-3.04,-2.42l0.83,-2.98l1.0,-1.05l0.09,-0.49l-2.02,-1.74l3.09,-1.14l0.83,-0.82l0.28,-0.76l-0.43,-0.86l-1.78,-0.17l-0.55,-0.59l-0.01,-0.64l3.49,-4.19l1.32,-2.67l1.86,-1.04l1.42,-1.45l3.76,-0.35l1.17,-0.81l0.11,-0.66l-0.44,-0.67l-2.83,-1.0l-0.45,-1.63l0.64,-1.36l2.91,-2.12l0.3,-0.74l-0.15,-1.11l-0.37,-0.35l-9.75,-0.62l-2.8,-2.45l-8.24,-5.15l-0.7,-0.88l-0.5,-1.84l0.13,-1.15l1.48,-1.82l4.25,-1.47l2.31,-1.33l0.8,-0.27l6.6,-0.35l0.75,-0.37l0.93,-1.67l2.87,-2.31l0.62,-1.22l-0.48,-1.21l-2.22,-2.12l-1.15,-0.21l-2.27,1.6l-2.45,1.13l-1.65,1.88l-1.87,0.14l0.59,-1.62l-1.37,-2.65l0.07,-1.4l3.61,-2.26l0.82,-1.2l0.72,-3.06l2.4,-1.47l0.59,-1.77l0.1,-2.63l1.2,-2.4l0.49,-0.33l2.8,-0.5l0.72,-0.57l0.68,-1.4l-0.37,-0.79l-1.79,-0.85l-1.52,-1.86l-2.63,-0.83l-2.4,-0.27l-1.72,-1.81l-3.12,-0.35l-1.35,-0.52l-0.76,-0.67l-0.98,-2.52l0.01,-1.1l2.62,-2.95l-0.45,-3.37l2.25,-1.38l1.66,-2.34l7.42,-4.06l2.39,0.11l2.08,1.82l1.19,0.35l4.25,-0.92l1.97,0.25l4.9,4.04l1.52,0.48l0.98,-0.24l1.73,-1.07l2.55,-0.77l0.65,-1.17l-0.03,-2.47l-1.1,-2.73l-3.58,-1.78l-3.34,-0.43l-0.83,-0.41l-0.68,-1.25l-2.45,-2.56l-1.37,-5.07l-2.31,-4.27l-5.1,-4.84l0.22,-0.59l3.17,-1.65l0.38,-0.48l0.16,-0.83l-0.64,-1.88l-3.35,-3.18l-5.56,-3.67l-5.43,-1.33l-0.08,-1.95l-2.3,-3.2l-2.09,-3.63l-3.16,-3.4l-1.1,-1.65l-0.08,-1.57l0.78,-0.98l1.44,-0.65l3.7,-0.47l1.87,-0.6l3.0,-1.98l1.68,0.1l1.87,1.85l5.17,10.97l1.6,1.76l2.13,1.55l2.76,1.01l2.68,-0.09l0.76,-1.39l0.43,-0.21l2.67,0.73l2.8,-0.43l2.37,-1.15l0.21,-0.48l-0.45,-1.41l0.2,-0.88l0.59,-0.72l0.55,-0.5l1.58,0.09l1.61,-1.12l0.12,-0.43l-0.36,-0.27l-1.24,-0.07l-4.45,0.86l-1.25,0.75l-0.55,1.56l-1.25,0.52l-3.66,-0.33l-3.62,-1.11l-3.26,-1.89l-2.71,-2.37l-2.03,-2.56l-9.99,-17.81l-0.43,-1.5l0.19,-1.49l0.98,-1.77l5.67,-7.66l5.36,-5.35l0.69,-1.15l3.4,-1.96l1.18,-1.31l-0.3,-0.66l-7.36,-0.08l-3.01,-1.09l-2.26,-2.64l-0.6,-3.81l0.99,-8.89l-0.97,-3.26l1.22,-1.82l1.88,-0.94l7.89,-2.44l1.25,-0.12l1.12,0.7l0.66,0.2l0.47,-0.2l0.55,-1.19l1.89,-1.18l0.17,-0.61l-0.75,-1.03l2.86,-2.48l0.38,-1.92l-0.6,-0.42l-2.89,1.34l-2.46,0.21l-1.65,-3.27l2.09,-1.68l1.74,-2.6l1.1,-1.03l2.88,-1.02l1.05,-1.26l1.66,-3.14l-4.74,-7.42l-0.18,-0.7l1.62,-0.54l2.05,-1.64l1.3,-2.09l-0.0,-2.52l-0.4,-0.39l-0.59,0.0l-0.39,0.33l-0.31,1.68l-1.13,1.3l-7.21,4.03l-1.47,3.1l-1.42,0.72l-3.68,0.22l-0.99,-0.65l-1.1,-1.61l-0.45,-1.66l0.72,-1.45l-0.66,-1.44l-0.79,-1.15l-1.12,-0.65l-1.5,0.45l-0.24,0.46l0.37,1.56l-0.26,1.56l-1.1,3.73l-2.52,2.62l-2.32,3.6l-2.51,1.31l-0.19,1.47l0.24,1.91l-3.27,-3.39l-2.68,-0.4l-1.57,-1.12l0.7,-3.64l-0.04,-1.83l-1.32,-1.11l0.0,-0.29l2.87,-0.96l0.74,-3.57l-0.05,-6.4l-0.57,-0.39l-1.36,0.64l-0.89,1.4l-0.87,3.09l0.65,2.21l-0.87,0.37l-3.36,0.1l-1.66,0.58l-1.66,-1.35l-3.08,-4.45l-3.67,-4.14l-0.44,-1.74l0.74,-2.89l-0.93,-3.27l-2.31,-1.08l-2.88,-4.87l-2.1,-1.57l-8.13,-9.2l-1.82,-1.0l-0.88,-1.67l-0.73,-0.69l1.79,-1.82l1.84,-4.15l2.3,-9.37l4.66,-9.33l3.54,-1.64l2.51,-3.18l0.8,-2.39l-0.75,-2.16l2.76,-6.87l1.66,-3.21l1.9,-1.85l1.42,-0.27l1.88,1.48l1.57,0.46l1.05,-0.12l3.56,-1.55l0.05,-0.71l-1.1,-0.68l-3.79,-1.57l2.94,-2.28l5.29,-1.28l0.92,0.22l1.87,1.39l3.23,0.88l1.81,0.12l7.33,-1.75l1.64,-0.91l0.19,-0.45l-0.39,-0.3l-5.57,0.0l3.92,-1.35l1.53,0.49l0.52,-0.38l-0.26,-1.27l-2.12,-0.79l0.28,-1.6l1.14,-1.94l0.48,-4.04l0.55,-0.02l3.36,1.39l2.29,-0.18l0.94,-0.82l1.41,-2.55l3.82,-1.8l5.24,-6.2l1.12,-0.69l5.33,-1.78l2.45,-1.35l1.98,-1.57l3.08,-3.95l3.1,-1.75l0.74,-2.18l-0.62,-1.62l0.16,-1.03l1.47,-1.1l4.65,-4.62l7.62,-5.52l0.85,-0.32l2.08,-0.3l1.11,0.16l2.28,1.16l0.89,-0.1l1.72,-0.85l0.85,-0.74l1.13,-2.39l1.0,-1.18l2.5,-0.9l2.04,-1.6l3.51,-0.8l1.87,-1.01l2.0,-1.94l0.6,-1.32l-0.19,-1.19l-2.45,-2.98l-0.38,-2.25l-3.43,-4.91l-1.92,-4.82l-1.55,-1.55l-0.5,-1.39l-1.96,-1.12l-0.22,-1.49l1.53,-0.64l3.43,-0.03l2.32,-0.67l5.37,-6.31l1.17,-2.22l2.45,-1.84l1.92,-0.81l2.2,-1.93l0.68,-1.32l0.51,-2.73l0.71,-0.51l3.58,-1.07l1.03,1.59l11.37,11.62l2.13,4.29l1.92,1.14l1.32,2.16l1.18,-0.1l1.29,-1.43l0.74,0.08l0.98,0.4l0.94,0.9l0.49,1.12l-1.15,0.0l-0.4,0.4l0.23,1.12l1.3,0.53l2.98,-0.68l1.73,0.18l5.64,3.23l-0.47,1.46l0.14,0.88l1.25,1.59l-0.74,0.47l-0.19,1.17l2.42,1.86l-0.65,1.93l1.87,1.49l0.34,1.29l0.31,8.05l-0.68,4.95l0.58,2.79l2.09,3.04l0.22,1.97l-1.2,2.9l0.14,1.03l1.1,3.14l2.9,2.95l-0.57,1.69l1.31,1.44l0.45,1.01l-1.18,3.1l0.35,1.5l1.9,2.72l0.3,2.61l1.09,3.37l1.82,0.93l1.81,4.28l0.8,1.12l1.39,3.93l3.75,3.08l0.59,1.16l-0.03,4.57l0.23,1.13l0.57,0.53l-0.16,1.06l5.11,14.94l1.87,3.83l3.18,3.38l1.4,0.83l4.31,1.56l0.0,0.21l-1.37,0.0l-0.4,0.41l0.01,0.54l1.21,3.07l1.07,1.35l-1.2,1.21l-2.01,0.73l-0.25,0.48l0.3,1.03l0.59,0.62l1.55,0.29l0.71,-0.78l0.89,1.68l1.04,-0.17l0.84,-0.94l0.59,-2.62l2.64,2.18l1.75,0.52l3.57,0.39l4.23,2.27l17.76,4.46l19.4,9.94l2.37,1.89l0.94,1.52l-0.06,1.97l0.37,1.39l1.0,1.09l4.0,2.63l1.25,1.82l1.46,2.8l1.02,2.93l0.03,2.33l0.33,0.93l0.58,0.93l1.35,0.84l-0.35,1.74l2.33,2.55l0.85,0.72l3.47,0.75l1.89,1.35l1.86,0.77l0.55,1.02l0.81,3.66l2.41,2.13l10.68,3.5l2.51,1.87l-7.14,3.21l-2.75,2.63l-2.13,5.07l1.89,3.28l2.47,7.73l1.59,3.69l24.61,30.35l1.3,3.72l-1.01,3.6l-0.38,0.34l-0.56,0.37l1.17,-2.26l0.44,-2.11l-0.18,-0.41l-1.37,-0.88l-1.86,-0.53l-3.7,-2.21l-1.96,-0.61l-1.9,0.32l-3.41,1.72l-1.72,0.37l-3.94,-0.63l-3.14,-1.7l-8.22,-8.71l-3.27,-1.96l-4.04,-0.49l-10.86,2.99l-6.82,0.0l-2.91,0.56l-3.0,-2.18l-5.15,-0.47l-1.94,0.51l-5.9,3.24l0.08,0.73l1.47,0.55l1.33,0.99l0.59,-0.08l1.23,-1.77l2.22,-0.85l2.5,-0.14l1.91,0.42l6.0,3.6l1.48,-0.48l2.33,-1.51l15.32,-2.31l2.2,0.77l7.8,10.16l3.95,1.72l2.62,2.55l1.57,0.94l4.26,0.8l4.04,4.12l8.3,5.55l4.85,1.49l1.25,1.2l0.77,3.24l3.45,1.96l-0.36,0.44l0.1,0.59l1.45,0.9l1.28,1.55l8.38,19.3l1.2,4.36l0.03,4.92l-1.77,6.03l-0.41,0.65l-2.49,0.56l-1.54,0.79l-7.76,6.43l-2.81,1.32l-6.89,8.3l-1.73,1.53l-1.96,0.66l-1.54,0.92l-1.18,1.63l0.07,1.7l0.37,0.36l2.63,0.16l4.49,-0.86l0.98,0.32l2.36,1.63l3.2,1.51l4.41,5.61l2.14,2.14l0.49,0.06l1.46,-0.89l1.71,-0.2l3.34,0.27l1.27,0.6l2.38,2.79l1.42,0.65l0.56,-0.37l-0.42,-2.53l5.03,-5.7l0.53,-2.98l2.42,-5.93l1.11,-1.92l2.89,-2.46l4.17,-1.61l4.58,-0.73l4.16,0.14l0.33,-0.64l-0.31,-0.42l1.12,-0.34l5.6,1.38l7.41,0.01l3.37,0.72l3.98,1.59l4.1,0.84l4.16,-1.5l-0.09,-0.81l22.41,4.45l10.44,4.39l21.44,13.49l2.47,2.3l1.99,2.79l1.61,5.46l1.6,3.44l1.09,3.31l-0.54,2.38l0.52,1.95l0.16,2.24l-0.1,4.18l2.02,5.48l-0.28,0.82l-1.13,1.2l-2.18,6.03l-0.13,2.26l-3.8,8.27l-4.64,6.46l-0.2,3.02l0.22,5.18l-4.06,13.42l-6.69,2.34l-1.37,1.26l-1.02,-0.66l-0.58,0.16l-0.72,2.43l-3.3,3.77l-6.04,5.51l-0.95,1.25l-0.61,0.2l-5.7,-6.1l-2.68,-0.78l-4.24,-2.83l-2.52,-0.46l-0.47,0.39l0.15,1.11l3.13,2.45l1.93,1.13l4.7,1.08l0.23,0.32l-0.16,1.8l-1.6,-0.31l-3.83,0.71l-3.55,-1.57l-2.01,0.13l-4.18,1.16l-2.17,0.29l-0.34,0.35l0.25,0.42l2.41,0.92l14.43,0.76l1.25,-0.56l-0.18,1.26l-6.72,5.71l0.05,0.64l1.18,0.73l1.44,0.52l3.16,0.39l1.2,-0.82l0.43,-0.72l0.08,1.44l-0.93,1.65l-4.86,3.74l-4.4,2.46l-2.73,0.96l-5.97,0.73l-1.48,-0.18l-0.66,-0.48l-1.38,-2.35l-3.97,-4.87l-0.33,0.35l-0.22,2.05l-1.14,1.1l-3.13,1.27l-3.32,2.37l-1.22,4.03l-1.02,0.24l-2.11,1.29l-3.65,-0.85l-2.34,0.21l-5.99,2.26l0.02,0.73l4.26,1.28l0.93,1.7l0.61,0.12l2.37,-1.95l5.5,-1.01l2.74,-0.97l2.42,-1.64l1.26,-0.2l1.09,0.93l-0.1,1.77l-0.57,1.25l1.07,3.02l-0.75,0.63l-0.32,0.99l-0.22,3.17l-1.9,1.3l-0.17,0.46l0.4,0.28l2.24,-0.13l0.76,0.5l-2.18,3.04l-4.36,3.27l-4.87,2.53l-3.78,0.99l-6.78,-0.92l-3.71,0.06l-0.84,0.27l-1.64,1.35l-3.46,0.61l-1.08,0.82l-1.42,-0.99l-2.43,0.13l-6.0,1.31l-0.72,1.04l-0.78,2.41l-1.04,1.04l-3.74,1.58l-0.21,0.48l0.44,0.28l5.53,-0.79l1.03,-0.58l0.94,-1.8l5.48,-1.26l13.7,1.67l1.12,0.66l0.97,1.48l0.07,0.77l-0.6,0.43l-1.63,0.18l-3.05,-0.56l-1.43,0.04l-2.9,2.22l-3.08,0.62l-1.69,0.89l-0.09,0.64l1.89,2.12l0.97,0.4l7.53,0.02l3.51,0.78l0.44,-0.57l-1.02,-2.73l0.28,-0.73l1.2,0.04l0.16,1.24l0.97,2.16l1.23,1.88l1.25,1.0l18.43,1.75l10.82,-2.77l27.82,-2.15l1.74,0.87l-0.72,3.43l-0.66,1.29l-0.85,0.77l-2.96,-0.01l-0.86,0.85l0.28,2.55l2.05,4.98l0.74,4.43l-0.7,4.26l-1.71,3.54l-2.24,2.25l-5.69,1.63l-2.4,1.51l-2.69,-0.06l-1.17,0.33l-2.34,2.14l-1.59,0.55l-5.61,0.12l-1.77,0.4l-1.91,1.06l-3.4,2.6l-5.39,6.84l0.16,3.21l0.86,4.13l-2.55,0.85l-12.26,-3.38l-3.66,0.95l-8.59,6.96l-3.39,1.29l-18.73,3.35l-3.89,1.31l-2.0,2.7l-2.95,1.65l-3.1,3.69l-3.0,0.04l-1.65,-0.21l-4.0,-1.25l-3.97,-0.12l-2.28,-1.61l-1.69,-0.46l-3.64,-0.22l-17.94,-5.47l-2.94,-0.25l-2.39,1.01l-3.26,-1.02l-11.02,3.32l-14.78,0.0l-14.18,3.95l-2.33,-1.08l-1.04,0.48l-0.48,0.99l0.53,2.31l-0.31,0.89l-1.36,0.64l-1.79,-0.49l-7.81,-4.18l-0.42,-0.44l0.34,-0.81l1.01,-0.66l2.45,-0.83l0.27,-1.08l-2.7,-2.26l-1.09,-0.51l-1.63,0.8l0.58,-1.02l-0.18,-0.56l-1.75,-0.81l-2.9,-0.46l-2.69,-0.01l-1.73,0.41l-1.37,2.22l-0.81,2.78l-1.05,1.93l-1.91,0.2l-1.42,-1.34l0.69,-1.68l1.62,-2.03l0.53,-1.56l-0.22,-0.49l-1.76,-0.74l-5.41,0.36l-1.37,0.36l-0.13,0.71l3.39,2.66l0.2,2.04l-0.27,1.02l-0.92,0.71l-0.93,-0.04l-2.81,-1.18l-1.27,-1.82l-2.75,-1.24l-2.02,-1.46l-4.01,-1.35l-3.31,-3.35l-11.04,-5.19l-0.57,0.36l0.25,1.08l2.43,1.2l1.07,0.17l8.74,8.35l0.67,1.37l-0.19,0.99l-1.68,0.5l-5.51,0.41l-1.36,0.38l-0.1,0.72l1.0,0.88l-3.66,0.57l-2.23,0.68l-1.01,0.65l-3.02,-0.39l-0.4,0.18l-2.93,4.58l-1.43,-0.35l-1.94,-1.06l-5.93,-0.95l-2.0,0.01l-6.82,2.25l-5.42,-0.85l-2.1,0.09l-3.48,1.26l-3.4,2.67l-0.33,-1.54l-0.55,-0.84l-3.33,-0.77l-2.82,0.03l-1.03,-1.9l-0.92,-0.32l-0.87,0.67l-3.0,4.09l0.37,0.63l1.13,-0.13l2.79,-1.34l1.63,2.45l1.08,0.94l4.33,0.6l0.4,0.58l-0.55,1.75l0.19,0.47l1.24,0.67l-2.58,2.66l0.04,1.71l-1.25,0.5l-6.94,0.12l-1.39,-0.25l-6.58,-2.59l-15.97,-1.5l-2.91,-1.53l-2.08,0.18l-3.5,1.04l-1.09,1.21l-1.08,2.43l-0.44,2.83l1.01,1.25l1.93,0.53l0.16,1.06l-1.86,3.0l-0.06,-3.84l-2.19,-3.16l-18.14,-11.67l-14.98,-4.72l-2.14,-0.08l-6.53,1.26l-3.12,1.72l-1.9,0.18l-3.41,-0.76l-1.13,0.32l-4.51,2.85l-3.55,-0.85l-8.11,2.09l-1.22,1.27l-2.03,3.0l-6.11,2.26l-3.16,-0.44l-1.05,-0.84l-2.54,-4.85l-0.94,-0.75l-0.85,-0.03l-0.43,0.48l-0.01,1.22l1.13,1.18l1.75,5.1l-2.74,2.65l-1.29,1.99l-1.18,2.42l-0.96,3.11l0.08,2.47l1.36,4.26l-3.54,0.56l-1.5,0.94l-0.76,1.84l0.83,2.38l1.67,0.64l3.44,-0.14l0.0,0.27l-0.88,2.12l-1.28,0.42l-0.59,0.7l-0.63,2.83l-0.74,0.43l-1.12,-0.3l-1.33,-0.95l-0.62,0.23l-0.58,2.36l-1.64,0.83l-1.9,0.43l-1.12,1.22l-1.43,4.47l-0.5,2.67l0.59,2.68l-0.96,0.42l-4.82,0.95l-4.85,-1.19l-1.34,1.07l-2.94,-2.25l-5.04,-5.26l-5.69,-4.37l-1.06,-0.43l-1.11,0.18l-3.08,1.31l-2.22,1.57l-1.61,-0.55l-1.08,-0.79l0.41,-1.23l-0.29,-0.51l-1.84,-0.44l-1.78,-1.09l-0.75,-1.44l1.09,-1.95l-0.37,-0.59l-3.97,0.02l-0.97,-0.57l-1.5,-2.67l-0.6,-1.7l0.58,-1.41l2.11,-3.15l-0.05,-0.46l-0.45,-0.1l-1.63,0.68l-0.67,-0.05l-0.86,-0.59l-0.61,0.22l-0.89,1.83l-1.67,0.29l-0.41,0.4l0.2,1.05l1.12,0.63l0.27,0.89l-0.26,1.01l-0.62,0.71l-0.94,0.26l-4.13,-0.3l-0.34,0.65l1.82,1.9l4.78,-0.65l1.02,0.65l-2.08,0.49l-0.31,1.17l0.49,0.39l1.58,-0.06l-0.21,0.27l0.32,0.64l2.02,0.0l-0.87,0.33l-0.69,0.83l-0.1,0.78l0.46,1.12l-1.22,-0.07l-1.61,-2.79l-1.67,-0.95l-7.61,-1.66l-4.13,0.41l-6.25,3.31l-3.31,1.08l-14.19,0.7l-0.88,0.78l-1.09,-2.85l-0.94,-0.34l-1.61,0.86l-3.55,0.64l-1.14,1.03l0.56,2.39l-2.08,2.03l-0.33,0.95l0.59,1.77l-1.14,2.63l-0.64,0.58l-4.29,-0.52l-1.65,0.58l-1.71,1.69l-1.42,0.7l-3.8,1.1l-1.23,1.08l-3.3,4.79l-0.65,-0.88l-0.65,-4.17l-1.44,-0.91l-1.71,0.41l-0.31,0.37l0.08,2.19l-1.08,1.37l0.19,1.04l1.07,0.89l-2.44,1.34l-0.52,2.65l-3.37,1.43l-0.25,0.45l0.41,0.32l1.57,0.12l1.32,0.65l1.58,-0.06l0.41,1.75l0.68,1.16l-1.02,1.89l-2.36,3.0l-3.42,-0.03l-0.83,0.55l-2.57,2.56l-1.23,3.05l-1.21,-0.68l-2.93,-2.88l-0.62,-2.03l-0.02,-1.88l-3.12,-4.56l-1.42,-1.47l-1.84,-1.14l-5.22,-2.09l-3.53,-0.55l-4.33,-2.0l-2.05,0.09l-2.27,0.67l-1.94,1.55l0.04,1.65l0.47,1.8l-0.81,1.3l-2.68,1.51l-3.49,0.95l-4.03,0.37l-2.98,-0.97l-0.73,-2.78l1.08,-0.28l0.64,-0.84l-0.03,-0.87l-0.68,-1.0ZM827.39,1160.63l-1.9,0.67l-9.98,-0.7l-1.58,-0.51l-1.42,-1.2l-1.9,-2.73l1.03,-2.91l0.48,-0.54l0.9,-0.21l10.6,3.06l1.69,0.96l1.74,1.59l0.73,1.47l-0.38,1.04ZM664.9,1227.88l0.0,0.18l-6.29,-0.89l1.84,-0.73l2.14,-3.1l0.75,0.03l0.76,0.89l-0.83,0.79l-0.18,1.04l1.82,1.78ZM623.05,1234.6l-0.25,0.7l0.41,0.55l2.31,-0.28l2.08,-1.44l2.91,-3.02l2.03,-1.19l1.8,-0.11l13.05,4.47l3.03,0.11l0.83,0.53l-0.03,1.38l0.51,0.39l0.87,-0.12l1.61,2.46l-0.92,0.8l-4.57,1.37l-2.54,1.88l-0.8,1.25l-0.22,4.06l-9.33,2.32l-2.99,-0.72l-11.18,-6.65l-0.65,-0.73l-2.95,-1.75l-1.16,-0.36l-3.27,0.33l-1.76,0.64l1.22,-1.86l3.31,-2.39l6.66,-2.62Z\",\\n      \"name\": \"England\"\\n    }\\n  },\\n  \"height\": 1321.8358675166648,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 0.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(111))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'us_aea\\', {\\n  \"insets\": [{\\n    \"width\": 220,\\n    \"top\": 440,\\n    \"height\": 172.39541268576795,\\n    \"bbox\": [{\\n      \"y\": -8441276.54251503,\\n      \"x\": -4774054.664881942\\n    }, {\\n      \"y\": -6227982.667213126,\\n      \"x\": -1949590.5739843722\\n    }],\\n    \"left\": 0\\n  }, {\\n    \"width\": 80,\\n    \"top\": 460,\\n    \"height\": 151.48337407091987,\\n    \"bbox\": [{\\n      \"y\": -4196208.652471859,\\n      \"x\": -5906305.806252358\\n    }, {\\n      \"y\": -3657293.3059425415,\\n      \"x\": -5621698.812337889\\n    }],\\n    \"left\": 245\\n  }, {\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 550.1122047105795,\\n    \"bbox\": [{\\n      \"y\": -5490816.561605522,\\n      \"x\": -2029882.6485830692\\n    }, {\\n      \"y\": -2690009.0242363815,\\n      \"x\": 2552322.14899711\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"US-VA\": {\\n      \"path\": \"M682.42,289.98l1.61,-0.93l1.65,-0.48l1.12,-0.95l3.57,-1.69l0.74,-2.33l0.82,-0.19l2.32,-1.53l0.05,-1.81l2.04,-1.86l-0.13,-1.58l0.26,-0.41l5.0,-4.09l4.76,-6.0l0.09,0.63l0.96,0.54l0.33,1.37l1.32,0.74l0.71,0.81l1.46,0.09l2.09,1.13l1.41,-0.09l0.79,-0.41l0.76,-1.22l1.17,-0.57l0.53,-1.38l2.72,1.49l1.42,-1.1l2.25,-0.99l0.76,0.06l1.08,-0.97l0.33,-0.82l-0.48,-0.96l0.23,-0.42l1.9,0.58l3.26,-2.62l0.3,-0.1l0.51,0.73l0.66,-0.07l2.38,-2.34l0.17,-0.85l-0.49,-0.51l0.99,-1.12l0.1,-0.6l-0.28,-0.51l-1.0,-0.46l0.71,-3.03l2.6,-4.8l0.55,-2.15l-0.01,-1.91l1.61,-2.55l-0.22,-0.94l0.24,-0.84l0.5,-0.48l0.39,-1.7l-0.0,-3.18l1.22,0.19l1.18,1.73l3.8,0.43l0.59,-0.28l1.05,-2.52l0.2,-2.36l0.71,-1.05l-0.04,-1.61l0.76,-2.3l1.78,0.75l0.65,-0.17l1.3,-3.3l0.57,0.05l0.59,-0.39l0.52,-1.2l0.81,-0.68l0.44,-1.8l1.38,-2.43l-0.35,-2.57l0.54,-1.76l-0.3,-2.01l9.18,4.57l0.59,-0.29l0.63,-4.0l2.6,-0.07l0.63,0.57l1.05,0.23l-0.5,1.74l0.6,0.88l1.61,0.85l2.52,-0.04l1.03,1.18l1.49,0.13l2.24,1.73l-0.0,1.31l0.44,1.27l-1.67,0.96l-0.12,0.65l-0.64,0.14l-0.27,0.45l-0.47,5.03l-0.36,0.13l-0.04,0.48l1.17,0.97l-0.29,0.11l-0.04,0.76l2.03,-0.01l2.41,-1.45l0.49,-0.72l0.34,0.74l-0.52,0.63l1.21,0.88l0.69,0.13l0.42,1.11l1.62,0.52l1.94,-0.2l0.84,0.43l0.82,-0.65l0.89,0.02l0.23,0.6l1.33,0.48l0.46,1.1l1.12,-0.05l0.02,0.3l1.18,0.42l2.84,0.65l0.4,1.01l-0.85,-0.41l-0.57,0.45l0.89,1.74l-0.35,0.57l0.62,0.79l-0.43,0.89l0.24,0.59l-1.36,-0.36l-0.59,-0.72l-0.67,0.18l-0.1,0.43l-2.44,-2.29l-0.56,0.05l-0.37,-0.56l-0.52,0.32l-1.47,-1.32l-1.19,-0.38l-0.43,-0.64l-0.9,-0.39l-0.7,-1.29l-0.77,-0.64l-1.34,-0.12l-1.11,-0.81l-1.17,0.05l-0.39,0.52l0.47,0.71l1.1,-0.01l0.63,0.68l1.33,0.07l0.59,0.42l0.38,1.52l2.73,1.56l1.86,1.88l1.95,0.61l1.59,2.1l0.98,0.24l1.35,-0.45l1.28,0.47l-0.61,0.7l0.3,0.49l2.03,0.34l0.26,0.72l0.47,0.12l0.31,1.96l-0.57,-0.83l-0.52,-0.22l-0.39,0.21l-1.13,-1.0l-0.58,0.3l0.1,0.82l-0.31,0.68l0.7,0.7l-0.18,0.59l0.51,0.28l0.43,-0.14l0.28,0.35l-1.39,0.72l-6.15,-4.74l-0.58,0.11l-0.19,0.81l0.24,0.54l2.28,1.53l2.09,2.14l2.77,1.18l1.26,-0.68l0.45,1.05l1.27,0.26l-0.44,0.67l0.29,0.56l0.93,-0.19l-0.0,1.24l-0.92,0.41l-0.57,0.73l-0.64,-0.88l-3.14,-1.26l-0.42,-1.53l-0.59,-0.59l-0.87,-0.12l-1.2,0.67l-1.71,-0.44l-0.36,-1.15l-0.71,-0.05l-0.05,1.31l-0.33,0.41l-1.42,-1.32l-0.51,0.09l-0.49,0.57l-0.64,-0.4l-0.99,0.45l-2.23,-0.1l-0.37,0.94l0.34,0.46l1.9,0.22l1.4,-0.31l0.85,0.24l0.56,-0.69l0.63,0.88l1.34,0.43l1.95,-0.31l0.82,0.72l0.84,0.12l0.51,-0.55l0.77,2.44l1.35,0.13l0.23,0.43l1.68,0.71l0.45,0.68l-0.57,1.03l0.56,0.44l1.72,-1.32l0.88,-0.02l0.83,0.65l0.8,-0.26l-0.61,-0.9l0.0,-0.82l-0.46,-0.34l3.99,0.08l0.93,-0.73l2.07,3.53l-0.4,0.7l0.65,3.09l-1.19,-0.58l-0.02,0.88l-30.94,7.83l-37.18,8.41l-19.51,3.35l-11.78,1.24l-0.82,0.62l-28.2,5.01ZM781.17,223.48l0.11,0.08l-0.08,0.06l0.0,-0.03l-0.03,-0.11ZM808.02,244.55l0.53,-1.15l-0.62,-0.62l0.58,-0.97l-0.39,-0.71l-0.03,-0.49l0.44,-0.35l-0.17,-0.73l0.62,-0.3l0.23,-0.6l0.14,-2.33l1.01,-0.39l-0.12,-0.9l0.48,-0.14l-0.26,-1.53l-0.79,-0.4l0.87,-0.57l0.1,-0.96l2.64,-1.01l0.31,2.47l-0.97,2.12l-2.32,7.36l-0.58,1.0l0.17,1.12l-0.48,0.31l-0.33,1.09l0.25,4.27l-1.1,-1.81l0.23,-0.94l-0.33,-1.57l0.28,-0.97l-0.38,-0.29Z\",\\n      \"name\": \"Virginia\"\\n    },\\n    \"US-PA\": {\\n      \"path\": \"M716.45,159.95l0.63,-0.19l4.3,-3.73l1.12,5.19l0.48,0.31l34.84,-7.93l34.27,-8.64l1.42,0.58l0.71,1.39l0.63,0.13l0.77,-0.33l1.24,0.59l0.14,0.85l0.81,0.41l-0.16,0.58l0.89,2.69l1.9,2.07l2.12,0.75l2.2,-0.2l0.72,0.79l-0.89,0.87l-0.73,1.48l-0.17,2.25l-1.41,3.35l-1.37,1.58l0.04,0.79l1.79,1.72l-0.31,1.65l-0.84,0.43l-0.22,0.66l0.14,1.48l1.04,2.87l0.52,0.25l1.2,-0.18l1.18,2.39l0.95,0.58l0.66,-0.26l0.6,0.9l4.23,2.75l0.12,0.41l-1.29,0.93l-3.71,4.22l-0.23,0.75l0.17,0.9l-1.36,1.13l-0.84,0.15l-1.33,1.08l-0.31,0.66l-1.72,-0.12l-2.03,0.84l-1.15,1.37l-0.41,1.39l-37.22,9.21l-39.1,8.66l-10.03,-48.2l1.92,-1.22l3.07,-3.04Z\",\\n      \"name\": \"Pennsylvania\"\\n    },\\n    \"US-TN\": {\\n      \"path\": \"M571.74,341.02l0.86,-0.84l0.29,-1.37l1.0,0.04l0.65,-0.79l-0.99,-4.89l1.41,-1.93l0.06,-1.32l1.18,-0.46l0.36,-0.48l-0.63,-1.31l0.57,-1.21l-0.89,-1.33l2.55,-1.57l1.09,-1.13l-0.14,-0.84l-0.85,-0.53l0.14,-0.19l0.34,-0.16l0.85,0.37l0.46,-0.33l-0.27,-1.31l-0.85,-0.9l0.06,-0.71l0.51,-1.43l1.0,-1.11l-1.35,-2.06l1.37,-0.21l0.61,-0.55l-0.13,-0.64l-1.17,-0.82l0.82,-0.15l0.58,-0.54l0.13,-0.69l-0.58,-1.38l0.02,-0.36l0.37,0.53l0.47,0.08l1.18,-1.15l23.66,-2.81l0.35,-0.41l-0.1,-1.34l-0.84,-2.39l2.98,-0.08l0.82,0.58l22.78,-3.54l7.64,-0.46l7.5,-0.86l8.82,-1.42l24.01,-3.09l1.11,-0.6l29.29,-5.2l0.73,-0.6l3.56,-0.54l-0.4,1.44l0.43,0.85l-0.4,2.0l0.36,0.82l-1.15,-0.03l-1.71,1.79l-1.21,3.89l-0.55,0.7l-0.56,0.08l-0.63,-0.74l-1.44,-0.02l-2.66,1.73l-1.42,2.73l-0.96,0.89l-0.34,-0.34l-0.13,-1.05l-0.73,-0.54l-0.53,0.15l-2.3,1.81l-0.29,1.32l-0.93,-0.24l-0.9,0.48l-0.16,0.77l0.32,0.73l-0.85,2.18l-1.28,0.06l-1.75,1.14l-1.89,2.3l-0.78,0.27l-2.28,2.46l-4.04,0.78l-2.58,1.7l-0.49,1.09l-0.88,0.55l-0.55,0.81l-0.18,2.88l-0.35,0.6l-1.65,0.52l-0.89,-0.16l-1.06,1.14l0.21,5.24l-20.21,3.32l-21.61,3.04l-25.56,2.95l-0.34,0.31l-7.39,0.9l-28.72,3.17Z\",\\n      \"name\": \"Tennessee\"\\n    },\\n    \"US-WV\": {\\n      \"path\": \"M693.03,248.37l3.95,-1.54l0.35,-0.71l0.12,-2.77l1.15,-0.22l0.4,-0.61l-0.57,-2.49l-0.61,-1.24l0.49,-0.64l0.36,-2.77l0.68,-1.66l0.45,-0.39l1.24,0.55l0.41,0.71l-0.14,1.13l0.71,0.46l0.78,-0.44l0.48,-1.42l0.49,0.21l0.57,-0.2l0.2,-0.44l-0.63,-2.09l-0.75,-0.55l0.81,-0.79l-0.26,-1.71l0.74,-2.0l1.65,-0.51l0.17,-1.6l1.02,-1.42l0.43,-0.08l0.65,0.79l0.67,0.19l2.28,-1.59l1.5,-1.64l0.79,-1.83l2.45,-2.67l0.37,-2.41l-0.73,-1.0l0.71,-2.33l-0.25,-0.76l0.59,-0.58l-0.27,-3.43l0.47,-3.93l0.53,-0.8l0.08,-1.11l-0.38,-1.21l-0.39,-0.33l-0.04,-2.0l-1.57,-1.9l0.44,-0.54l0.85,-0.1l0.3,-0.33l4.03,19.33l0.47,0.31l16.59,-3.55l2.17,10.68l0.5,0.37l2.06,-2.5l0.97,-0.56l0.34,-1.03l1.63,-1.99l0.25,-1.05l0.52,-0.4l1.19,0.45l0.74,-0.32l1.32,-2.6l0.6,-0.46l-0.04,-0.85l0.42,0.59l1.81,0.52l3.2,-0.57l0.78,-0.86l0.08,-1.46l2.0,-0.74l1.02,-1.69l0.67,-0.1l3.16,1.5l1.8,-0.71l-0.45,1.02l0.56,0.92l1.27,0.42l0.09,0.96l1.13,0.43l0.09,1.2l0.33,0.42l-0.58,3.64l-9.0,-4.48l-0.64,0.24l-0.31,1.14l0.38,1.61l-0.52,1.62l0.41,2.28l-1.36,2.4l-0.42,1.76l-0.72,0.53l-0.42,1.11l-0.27,0.21l-0.61,-0.23l-0.37,0.33l-1.25,3.28l-1.84,-0.78l-0.64,0.25l-0.94,2.77l0.08,1.46l-0.73,1.14l-0.19,2.33l-0.89,2.2l-3.25,-0.36l-1.44,-1.76l-1.71,-0.24l-0.5,0.41l-0.26,2.17l0.19,1.3l-0.32,1.45l-0.49,0.45l-0.31,1.04l0.23,0.92l-1.58,2.44l-0.04,2.1l-0.52,2.0l-2.58,4.73l-0.75,3.16l0.14,0.76l1.13,0.55l-1.08,1.38l0.06,0.6l0.45,0.4l-2.16,2.13l-0.55,-0.7l-0.84,0.15l-3.12,2.53l-1.03,-0.56l-1.32,0.26l-0.44,0.91l0.45,1.17l-0.91,0.91l-0.73,-0.05l-2.27,1.0l-1.21,0.96l-2.18,-1.36l-0.73,-0.01l-0.82,1.58l-1.1,0.49l-1.22,1.46l-1.08,0.08l-1.98,-1.09l-1.3,-0.01l-0.61,-0.74l-1.19,-0.6l-0.31,-1.33l-0.89,-0.55l0.36,-0.67l-0.3,-0.81l-0.85,-0.37l-0.84,0.25l-1.33,-0.17l-1.26,-1.19l-2.06,-0.79l-0.76,-1.43l-1.58,-1.24l-0.7,-1.49l-1.0,-0.6l-0.12,-1.09l-1.38,-0.95l-2.0,-2.27l0.71,-2.03l-0.25,-1.62l-0.66,-1.46Z\",\\n      \"name\": \"West Virginia\"\\n    },\\n    \"US-NV\": {\\n      \"path\": \"M139.46,329.14l-12.69,-16.93l-36.58,-51.09l-25.34,-34.51l13.7,-64.18l46.88,9.24l46.98,7.74l-18.71,125.81l-0.9,1.16l-0.99,2.19l-0.44,0.17l-1.34,-0.22l-0.98,-2.24l-0.7,-0.63l-1.41,0.22l-1.95,-1.02l-1.6,0.23l-1.78,0.96l-0.76,2.48l0.88,2.59l-0.6,0.97l-0.24,1.3l0.38,3.12l-0.76,2.54l0.77,3.71l-0.13,3.07l-0.3,1.07l-1.04,0.31l0.2,1.31l-0.52,0.62Z\",\\n      \"name\": \"Nevada\"\\n    },\\n    \"US-TX\": {\\n      \"path\": \"M276.24,412.51l33.07,1.98l32.79,1.35l0.41,-0.39l3.6,-98.69l25.86,0.61l26.29,0.22l0.05,42.08l0.44,0.4l1.02,-0.13l0.78,0.28l3.74,3.82l1.66,0.21l0.88,-0.58l2.49,0.64l0.6,-0.68l0.11,-1.05l0.6,0.76l0.92,0.22l0.38,0.93l0.77,0.78l-0.01,1.64l0.52,0.83l2.85,0.42l1.25,-0.2l1.38,0.89l2.78,0.69l1.82,-0.56l0.62,0.1l1.89,1.8l1.4,-0.11l1.25,-1.43l2.43,0.26l1.67,-0.46l0.1,2.28l0.91,0.67l1.62,0.4l-0.04,2.08l1.56,0.79l1.82,-0.66l1.57,-1.67l1.02,-0.65l0.41,0.19l0.45,1.64l2.01,0.2l0.24,1.05l0.72,0.48l1.47,-0.21l0.88,-0.93l0.39,0.33l0.59,-0.08l0.61,-0.99l0.26,0.41l-0.45,1.23l0.14,0.76l0.67,1.14l0.78,0.42l0.57,-0.04l0.6,-0.5l0.68,-2.36l0.91,-0.65l0.35,-1.54l0.57,-0.14l0.4,0.14l0.29,0.99l0.57,0.64l1.21,0.02l0.83,0.5l1.25,-0.2l0.68,-1.34l0.48,0.15l-0.13,0.7l0.49,0.69l1.21,0.45l0.49,0.72l1.52,-0.05l1.49,1.74l0.52,0.02l0.63,-0.62l0.08,-0.71l1.49,-0.1l0.93,-1.43l1.88,-0.41l1.66,-1.13l1.52,0.83l1.51,-0.22l0.29,-0.83l2.29,-0.73l0.52,-0.55l0.5,0.32l0.38,0.88l1.82,0.42l1.69,-0.06l1.86,-1.14l0.41,-1.05l1.06,0.31l2.24,1.56l1.16,0.17l1.79,2.08l2.14,0.41l1.04,0.92l0.76,-0.11l2.48,0.85l1.04,0.04l0.37,0.79l1.38,0.97l1.45,-0.12l0.39,-0.72l0.8,0.36l0.88,-0.4l0.92,0.35l0.76,-0.15l0.64,0.36l2.22,34.02l1.51,1.67l1.3,0.82l1.25,1.87l0.57,1.63l-0.1,2.64l1.0,1.21l0.85,0.4l-0.12,0.85l0.75,0.54l0.28,0.87l0.65,0.7l-0.19,1.17l1.0,1.02l0.59,1.63l0.5,0.34l0.55,-0.1l-0.16,1.71l0.81,1.22l-0.64,0.25l-0.35,0.68l0.77,1.27l-0.55,0.89l0.19,1.39l-0.75,2.69l-0.74,0.85l-0.36,1.54l-0.79,1.13l0.64,2.0l-0.83,2.28l0.17,1.07l0.83,1.2l-0.19,1.01l0.49,1.6l-0.24,1.41l-1.18,1.78l-1.18,0.4l-1.16,2.72l-0.03,2.1l1.39,1.67l-3.43,0.08l-7.37,3.78l-0.02,-0.43l-0.69,-0.24l-0.23,0.23l-0.78,-0.43l-3.38,1.13l0.65,-1.31l0.35,-2.04l-0.34,-1.36l-0.8,-0.78l-1.79,0.16l-1.18,2.58l-0.42,0.15l-0.36,-0.65l-2.38,-1.23l-0.4,0.31l-0.18,0.82l0.23,0.45l1.07,0.38l-0.3,0.82l0.54,0.81l-0.47,0.64l0.04,0.99l1.48,0.76l-0.44,0.47l0.5,1.12l0.91,0.23l0.28,0.37l-0.4,1.25l-0.45,-0.12l-0.97,0.81l-1.72,2.25l-1.18,-0.4l-0.49,0.12l0.32,1.0l0.08,2.54l-1.85,1.49l-1.91,2.11l-0.96,0.37l-4.1,2.9l-3.3,0.44l-2.54,1.07l-0.2,1.12l-0.75,-0.34l-2.04,0.89l-0.33,-0.34l-1.11,0.18l0.43,-0.87l-0.52,-0.6l-1.43,0.22l-1.22,1.08l-0.6,-0.62l-0.11,-1.2l-1.38,-0.81l-0.5,0.44l0.65,1.44l0.01,1.12l-0.71,0.09l-0.54,-0.44l-0.75,-0.0l-0.55,-1.34l-1.46,-0.37l-0.58,0.39l0.04,0.54l0.94,1.7l0.03,1.23l0.58,0.37l0.37,-0.16l1.13,0.78l-0.75,0.37l-0.12,0.9l0.7,0.23l1.08,-0.55l0.96,0.6l-4.27,2.42l-0.57,-0.13l-0.37,-1.44l-0.5,-0.19l-1.13,-1.47l-0.48,-0.03l-1.05,1.99l1.19,1.61l-0.31,1.04l0.33,0.85l-1.66,1.79l-0.37,0.2l0.37,-0.63l-0.18,-0.72l0.25,-0.73l-0.46,-0.67l-0.52,0.17l-0.71,1.1l0.26,0.72l-0.39,0.95l-0.07,-1.13l-0.52,-0.55l-1.95,1.29l-0.78,-0.33l-0.69,0.51l0.07,0.75l-0.81,0.99l0.02,0.49l1.25,0.63l0.03,0.56l0.78,0.29l0.7,-1.41l0.86,-0.41l0.01,0.62l-2.82,4.36l-1.23,-1.0l-1.36,0.39l-0.32,-0.34l-2.4,0.39l-0.46,-0.31l-0.65,0.16l-0.18,0.58l0.41,0.61l0.55,0.38l1.53,0.03l0.54,1.55l2.07,1.03l-2.7,7.63l-0.2,0.1l-0.39,-0.54l-0.33,0.1l0.18,-0.75l-0.57,-0.43l-2.35,1.95l-1.67,-2.31l-1.23,-0.97l-0.61,0.4l0.09,0.52l1.44,2.0l-0.24,0.46l0.36,0.47l-1.17,-0.21l-0.33,0.63l0.5,0.56l0.89,0.23l1.12,-0.16l0.66,0.62l1.37,0.18l1.0,-0.03l0.99,-0.62l-0.34,1.59l0.24,0.77l-0.98,0.7l0.37,1.59l-1.12,0.14l-0.43,0.41l0.4,2.11l-0.33,1.6l0.45,0.64l0.84,0.24l0.87,2.86l0.71,2.8l-0.91,0.82l0.62,0.49l-0.08,1.28l0.71,0.3l0.18,0.61l0.58,0.29l0.4,1.79l0.68,0.31l0.45,3.21l1.46,0.62l-0.52,1.1l0.31,1.08l-0.62,0.77l-0.84,-0.05l-0.54,0.44l0.09,1.3l-0.49,-0.33l-0.49,0.25l-0.39,-0.67l-1.49,-0.45l-2.92,-2.53l-2.2,-0.18l-0.81,-0.51l-4.2,0.09l-0.9,0.42l-0.79,-0.62l-1.64,0.24l-2.12,-0.89l-0.73,-0.97l-0.6,-0.14l-0.21,-0.72l-1.17,-0.49l-0.99,-0.02l-1.98,-0.87l-1.45,0.39l-0.83,-1.09l-0.6,-0.21l-1.43,-1.38l-1.96,0.01l-1.47,-0.64l-0.86,0.11l-1.62,-0.41l0.35,-0.9l-0.3,-0.97l-1.11,-0.7l0.3,-0.29l-0.26,-1.44l0.56,-1.21l-0.35,-0.67l0.88,-0.38l0.12,-0.54l-1.04,-0.54l-0.91,0.67l-0.32,-0.31l0.03,-1.09l-0.59,-0.83l0.31,-0.09l0.53,-1.43l-0.22,-0.71l-0.71,0.09l-1.03,0.96l-0.57,-0.89l-0.85,-0.28l-0.26,-1.34l-1.51,-0.77l0.29,-0.65l-0.24,-0.76l0.34,-2.18l-0.45,-0.96l-1.04,-1.01l0.65,-1.99l0.05,-1.19l-0.18,-0.7l-0.54,-0.33l-0.15,-1.81l-1.85,-1.44l-0.86,0.21l-0.3,-0.41l-0.81,-0.11l-0.74,-1.31l-2.22,-1.71l0.01,-0.69l-0.51,-0.58l0.12,-0.87l-0.97,-0.92l-0.08,-0.75l-1.12,-0.61l-1.3,-2.88l-2.66,-1.48l-0.38,-0.91l-1.13,-0.59l-0.06,-1.16l-0.82,-1.19l-0.59,-1.95l0.41,-0.22l-0.04,-0.72l-1.03,-0.49l-0.26,-1.29l-0.82,-0.58l-0.94,-1.73l-0.61,-2.38l-1.85,-2.36l-0.87,-4.24l-1.81,-1.34l0.05,-0.7l-0.75,-1.21l-4.07,-2.82l-0.29,-1.39l1.68,-0.02l0.79,-0.84l-0.29,-0.39l-0.65,-0.06l-0.09,-0.72l0.08,-0.89l0.64,-0.7l-0.11,-0.74l-0.48,0.05l-0.77,0.72l-0.45,0.69l0.01,0.66l-0.88,0.15l-0.39,1.07l-0.54,-0.04l-1.81,-1.75l0.06,-0.67l-0.41,-0.68l-0.77,-0.2l-0.64,0.29l-0.33,-0.53l-0.73,-0.13l-0.89,-2.16l-1.49,-0.8l-0.85,0.27l-0.44,-0.87l-0.61,0.1l-0.25,0.61l-1.05,0.16l-2.88,-0.47l-0.39,-0.38l-1.48,-0.03l-0.79,0.29l-0.77,-0.44l-2.66,0.27l-2.42,-1.08l-1.14,-0.89l-0.68,-0.07l-1.03,0.82l-0.64,1.61l-1.99,-0.17l-0.51,0.44l-0.49,-0.17l-2.52,0.78l-3.07,6.25l-0.18,1.77l-0.76,0.67l-0.38,1.8l0.35,0.59l-1.97,0.98l-0.75,1.32l-1.07,0.61l-0.62,0.83l-0.29,1.09l-2.91,-0.34l-1.04,-0.87l-0.54,0.3l-1.69,-1.21l-1.31,-1.63l-2.9,-0.85l-1.15,-0.95l-0.02,-0.67l-0.42,-0.4l-2.75,-0.51l-2.28,-1.03l-1.89,-1.75l-0.91,-1.53l-0.96,-0.91l-1.53,-0.29l-1.76,-1.26l-0.22,-0.56l-1.14,-0.97l-0.83,-2.9l-0.86,-1.01l-0.24,-1.1l-0.76,-1.27l-0.26,-2.34l0.52,-3.04l-3.0,-5.07l-0.06,-1.94l-1.26,-2.51l-0.99,-0.44l-0.43,-1.24l-1.43,-0.81l-2.15,-2.17l-1.02,-0.1l-2.01,-1.25l-3.18,-3.35l-0.59,-1.55l-3.13,-2.55l-1.59,-2.45l-1.19,-0.95l-0.61,-1.05l-4.42,-2.6l-2.4,-5.42l-1.37,-1.08l-1.12,-0.08l-1.76,-1.68l-0.79,-3.05ZM502.12,468.09l-0.33,0.17l0.18,-0.16l0.15,-0.02ZM498.72,470.76l-0.09,0.12l-0.04,0.02l0.13,-0.14ZM467.58,489.09l0.03,0.02l-0.02,0.02l-0.0,-0.03ZM453.97,547.08l0.76,-0.5l0.25,-0.68l0.11,1.08l-1.11,0.1Z\",\\n      \"name\": \"Texas\"\\n    },\\n    \"US-NH\": {\\n      \"path\": \"M829.91,105.39l0.2,-1.33l-1.43,-5.38l0.53,-1.45l-0.28,-2.22l1.0,-1.86l-0.13,-2.3l0.64,-2.28l-0.44,-0.62l0.29,-2.3l-0.93,-3.8l0.08,-0.7l0.3,-0.45l1.83,-0.8l0.7,-1.39l1.43,-1.62l0.74,-1.8l-0.25,-1.13l0.52,-0.62l-2.34,-3.49l0.87,-3.26l-0.11,-0.78l-0.81,-1.29l0.28,-0.59l-0.23,-0.7l0.48,-3.2l-0.36,-0.82l0.91,-1.49l2.44,0.33l0.65,-0.86l12.99,34.86l0.84,3.65l2.6,2.21l0.88,0.34l0.36,1.6l1.71,1.31l0.0,0.35l0.77,0.23l-0.06,0.58l-0.46,3.09l-1.57,0.24l-1.32,1.19l-0.51,0.94l-0.96,0.37l-0.5,1.68l-1.1,1.44l-17.61,4.74l-1.7,-1.43l-0.41,-0.89l-0.1,-2.0l0.54,-0.59l0.03,-0.52l-1.02,-5.18Z\",\\n      \"name\": \"New Hampshire\"\\n    },\\n    \"US-NY\": {\\n      \"path\": \"M821.95,168.59l-0.84,-0.72l0.83,-3.23l1.03,-0.3l0.37,-0.48l0.74,0.21l0.64,-0.32l-0.06,-0.58l0.43,-0.05l0.28,-0.66l0.72,-0.32l-0.21,-1.42l0.73,-0.47l0.35,0.56l1.04,-0.16l0.49,-0.33l0.01,-0.54l1.46,-0.18l0.24,-0.74l1.66,0.02l0.91,-0.54l0.45,-1.21l0.62,0.24l0.43,-0.5l4.32,-1.28l2.35,-1.12l2.36,-2.84l0.18,0.17l-2.53,3.41l-0.01,0.46l0.56,0.38l1.59,-0.33l0.28,0.61l-1.3,1.19l-2.05,0.53l-0.37,0.58l-1.16,0.41l0.23,0.43l-0.24,0.3l-0.68,-0.16l-0.74,0.7l-1.04,0.17l-0.37,0.55l-1.42,0.45l-0.26,0.67l-1.34,0.19l-0.44,0.7l-1.35,0.96l-2.77,1.33l-1.02,0.88l-1.04,0.09l-0.32,0.93l-0.28,0.03l-0.26,-0.68l-1.45,-0.25l-0.88,0.74l0.07,0.96l-0.94,0.56ZM844.29,155.03l0.88,-2.14l1.18,-0.48l0.6,-0.93l0.81,0.34l0.13,-0.83l0.75,0.63l-3.84,3.68l-0.51,-0.28ZM845.16,149.15l0.06,-0.06l0.18,-0.06l-0.11,0.19l-0.13,-0.07ZM722.08,155.52l3.76,-3.85l1.27,-2.19l1.75,-1.86l1.16,-0.78l1.28,-3.35l2.09,-2.13l-0.21,-1.84l-1.61,-2.42l0.42,-1.13l-0.17,-0.78l-0.83,-0.53l-2.09,-0.0l0.04,-0.99l-0.58,-2.23l4.98,-2.94l4.48,-1.79l2.38,-0.2l1.84,-0.74l5.64,-0.24l3.12,1.25l3.16,-1.68l5.49,-1.06l0.59,0.45l0.68,-0.2l0.12,-0.99l3.23,-1.85l0.69,-2.05l1.87,-1.76l0.78,-1.26l1.12,0.03l1.13,-0.52l1.07,-1.63l-0.46,-0.69l0.36,-1.2l-0.25,-0.51l-0.64,0.02l-0.17,-1.18l-0.94,-1.58l-1.01,-0.62l0.12,-0.18l0.59,0.39l0.53,-0.27l0.75,-1.43l-0.01,-0.92l0.81,-0.64l-0.01,-0.98l-0.93,-0.19l-0.6,0.7l-0.28,0.12l0.56,-1.3l-0.81,-0.63l-1.26,0.05l-0.87,0.77l-0.98,-0.7l2.05,-2.51l1.78,-1.47l1.67,-2.63l0.7,-0.56l0.89,-1.54l0.07,-0.56l-0.49,-0.94l0.78,-1.9l4.82,-7.61l4.76,-4.5l2.84,-0.51l19.65,-5.66l0.4,0.87l-0.08,2.01l1.02,1.22l0.43,3.79l2.29,3.25l-0.09,1.89l0.85,2.41l-0.59,1.07l-0.0,3.41l0.71,0.89l1.32,2.76l0.19,1.09l0.62,0.84l0.12,3.92l0.55,0.85l0.54,0.07l0.53,-0.61l0.06,-0.87l0.33,-0.07l1.05,1.12l3.87,14.48l0.11,1.59l0.62,1.09l0.33,14.92l0.6,0.62l3.57,16.23l1.26,1.34l-2.82,3.18l0.03,0.54l1.74,1.62l-1.86,3.37l0.21,1.06l-1.03,0.45l-0.24,-4.26l-0.56,-2.23l-0.74,-1.62l-1.46,-1.1l-0.17,-1.13l-0.7,-0.09l-0.42,1.33l0.8,1.45l0.94,0.69l0.95,2.79l-13.74,-4.06l-1.28,-1.47l-2.39,0.24l-0.63,-0.43l-1.06,-0.15l-1.74,-1.91l-0.75,-2.33l0.12,-0.72l-0.36,-0.63l-0.56,-0.21l0.09,-0.46l-0.35,-0.42l-1.64,-0.68l-1.08,0.32l-0.53,-1.22l-1.92,-0.93l-34.6,8.73l-34.43,7.84l-1.11,-5.15Z\",\\n      \"name\": \"New York\"\\n    },\\n    \"US-HI\": {\\n      \"path\": \"M293.44,610.32l-0.16,-1.33l-1.79,-3.5l-1.21,-1.37l0.23,-0.95l-0.21,-0.49l0.64,-1.68l4.55,-5.05l0.88,-5.09l0.45,-0.65l0.48,-2.22l-0.34,-2.5l0.41,-1.79l1.19,-0.79l1.55,-0.08l1.27,-0.5l1.51,0.3l2.68,-1.18l1.51,-0.07l1.15,-1.13l-0.03,-3.17l0.35,-1.25l0.99,-1.6l1.21,-0.53l2.67,2.45l-0.1,1.68l1.07,1.67l0.81,2.19l1.64,1.05l2.04,2.64l3.96,7.75l0.59,3.31l-2.1,3.31l0.14,0.54l0.73,0.44l1.2,0.23l0.29,0.68l-0.01,0.53l-0.8,1.13l-0.09,1.86l0.56,2.06l1.01,1.51l0.17,1.18l-0.37,0.44l-2.35,0.67l-1.45,-0.32l-2.49,0.4l-1.2,-0.39l-2.49,-0.11l-3.15,-1.01l-0.9,-0.94l-1.39,-0.68l-2.87,0.15l-4.73,-0.64l-1.91,0.32l-1.08,1.21l-1.89,0.33l-1.22,0.8l-1.62,0.21ZM302.97,554.35l1.47,-2.4l0.62,-1.93l-0.3,-0.8l-0.55,-0.42l-1.1,0.04l-1.49,-2.22l-0.31,-2.64l0.31,-0.99l0.92,-0.89l0.88,-0.53l1.05,-0.12l0.9,0.44l0.73,1.4l0.05,3.78l1.07,0.23l1.89,1.04l1.66,0.12l1.88,1.67l0.65,3.28l0.56,0.34l0.11,1.09l2.18,2.69l-0.14,1.17l-1.45,1.15l-0.84,-0.19l-0.81,0.3l-0.68,-0.4l-1.7,-0.23l-1.91,-1.3l-3.1,-0.5l-0.96,-1.02l-1.42,-0.79l-0.16,-1.4ZM273.53,509.24l-0.16,-0.35l0.54,-1.85l-0.3,-1.63l0.39,-1.12l-0.31,-1.61l0.83,-1.4l-0.26,-1.26l3.14,2.06l2.55,-0.17l1.08,-0.64l1.25,-0.12l0.77,0.28l0.39,1.22l-0.11,1.03l-0.4,0.54l0.01,2.42l0.41,1.21l-0.78,0.43l-0.61,1.27l0.64,2.46l0.61,0.41l0.56,-0.16l-0.24,0.78l0.3,0.88l-0.35,0.37l-0.14,1.04l0.56,1.3l-1.15,0.14l-0.29,-0.77l-2.67,-0.85l-0.05,-0.86l-0.79,-1.25l0.15,-0.76l-0.26,-0.63l-1.05,0.24l-0.45,-0.78l0.16,-0.27l1.0,0.06l0.45,-0.62l-0.42,-0.96l-0.64,-0.2l-0.35,-0.61l-0.47,0.25l-0.47,-0.55l-0.38,0.32l0.14,1.95l-2.85,-1.22ZM284.15,511.85l0.1,-0.21l-0.0,-0.01l0.1,0.09l-0.19,0.14ZM246.14,461.52l2.01,-0.42l1.12,-0.67l1.33,0.51l3.66,0.37l0.71,1.4l1.04,-0.06l1.12,1.14l0.89,0.21l0.72,0.89l0.28,1.56l-0.23,1.15l-0.51,0.62l-2.05,0.87l-1.37,1.99l-0.6,-0.19l-0.46,0.49l-2.84,0.16l-3.61,-3.83l-0.24,-1.91l-1.68,-2.24l0.05,-1.26l0.66,-0.81Z\",\\n      \"name\": \"Hawaii\"\\n    },\\n    \"US-VT\": {\\n      \"path\": \"M805.54,72.68l26.02,-7.96l0.89,1.85l-0.74,2.37l-0.03,1.54l2.22,2.75l-0.51,0.58l0.26,1.13l-0.67,1.6l-1.35,1.49l-0.64,1.32l-1.72,0.7l-0.62,0.92l-0.1,0.98l0.93,3.74l-0.29,2.44l0.4,0.54l-0.6,2.11l0.15,2.19l-1.0,1.87l0.27,2.36l-0.53,1.54l1.43,5.44l-0.22,1.22l1.05,5.3l-0.58,0.85l0.11,2.31l0.6,1.26l1.51,1.1l-11.72,3.08l-4.31,-16.79l-1.72,-1.59l-0.91,0.25l-0.3,1.19l-0.12,-0.26l-0.11,-3.91l-0.68,-1.0l-0.14,-0.98l-1.37,-2.85l-0.63,-0.68l0.01,-3.15l0.6,-1.15l-0.86,-2.57l0.08,-1.93l-0.39,-0.91l-1.55,-1.63l-0.38,-0.81l-0.41,-3.71l-1.03,-1.27l0.11,-1.87l-0.42,-1.0Z\",\\n      \"name\": \"Vermont\"\\n    },\\n    \"US-NM\": {\\n      \"path\": \"M230.94,422.8l11.82,-123.64l25.66,2.24l26.09,1.86l26.12,1.45l25.74,1.02l-0.31,10.24l-0.74,0.39l-3.59,98.67l-32.38,-1.34l-33.52,-2.02l-0.44,0.76l0.54,2.31l0.44,1.26l1.0,0.77l-30.53,-2.46l-0.43,0.36l-0.81,9.46l-14.64,-1.33Z\",\\n      \"name\": \"New Mexico\"\\n    },\\n    \"US-NC\": {\\n      \"path\": \"M676.72,321.71l0.92,0.17l1.52,-0.39l0.42,-0.39l0.52,-0.97l0.13,-2.7l1.34,-1.19l0.47,-1.05l2.24,-1.47l2.12,-0.52l0.76,0.18l1.32,-0.52l2.36,-2.52l0.78,-0.25l1.84,-2.29l1.48,-1.0l1.55,-0.19l1.15,-2.65l-0.28,-1.22l1.65,0.06l0.51,-1.65l0.93,-0.77l1.08,-0.77l0.51,1.52l1.07,0.33l1.34,-1.17l1.35,-2.64l2.49,-1.59l0.79,0.08l0.82,0.8l1.06,-0.21l0.84,-1.07l1.47,-4.18l1.08,-1.1l1.47,0.09l0.44,-0.31l-0.69,-1.26l0.4,-2.0l-0.42,-0.9l0.38,-1.25l7.42,-0.86l19.54,-3.36l37.21,-8.42l31.11,-7.87l0.4,1.21l3.54,3.24l1.0,1.53l-1.2,-1.0l-0.16,-0.63l-0.92,-0.41l-0.52,0.05l-0.24,0.65l0.66,0.54l0.59,1.56l-0.53,0.01l-0.91,-0.75l-2.31,-0.8l-0.4,-0.48l-0.55,0.13l-0.31,0.69l0.14,0.64l1.37,0.44l1.69,1.38l-1.1,0.66l-2.49,-1.2l-0.35,0.5l0.14,0.42l1.6,1.18l-1.84,-0.33l-2.23,-0.87l-0.46,0.14l0.01,0.48l0.6,0.7l1.7,0.83l-0.97,0.58l0.0,0.6l-0.43,0.53l-1.48,0.75l-0.89,-0.77l-0.61,0.22l-0.1,0.35l-0.2,-0.13l-1.31,-2.32l0.21,-2.63l-0.42,-0.48l-0.89,-0.22l-0.37,0.64l0.62,0.71l-0.43,0.99l-0.02,1.03l0.49,1.73l1.6,2.2l-0.31,1.28l0.48,0.29l2.97,-0.59l2.1,-1.49l0.27,0.01l0.37,0.79l0.76,-0.34l1.56,0.05l0.16,-0.72l-0.57,-0.32l1.29,-0.76l2.04,-0.46l-0.1,1.19l0.64,0.29l-0.6,0.88l0.88,1.19l-0.84,0.1l-0.19,0.66l1.38,0.46l0.26,0.94l-1.21,0.05l-0.19,0.66l0.66,0.59l1.25,-0.16l0.52,0.26l0.41,-0.38l0.18,-1.95l-0.75,-3.33l0.41,-0.48l0.56,0.43l0.94,0.06l0.28,-0.58l-0.29,-0.44l0.48,-0.57l1.71,1.84l-0.01,1.4l0.62,0.9l-0.78,0.65l0.9,1.14l-0.08,0.37l-0.42,0.55l-0.78,0.09l-0.91,-0.86l-0.32,0.34l0.13,1.26l-1.08,1.62l0.2,0.57l-0.33,0.22l-0.15,0.98l-0.74,0.55l0.1,0.91l-0.9,0.97l-1.06,0.21l-0.6,-0.37l-0.52,0.52l-0.93,-0.81l-0.86,0.1l-0.4,-0.82l-0.59,-0.21l-0.52,0.38l0.08,0.94l-0.52,0.22l-1.42,-1.24l1.31,-0.4l0.23,-0.88l-0.57,-0.42l-2.02,0.31l-1.14,1.01l0.29,0.67l0.44,0.16l-0.06,0.39l0.15,0.43l0.35,0.25l-0.03,0.12l-0.57,-0.34l-1.69,0.83l-1.12,-0.43l-1.45,0.06l-3.32,-0.7l0.42,1.08l0.97,0.45l0.36,0.64l1.51,-0.21l4.03,1.02l3.51,0.11l0.47,0.42l-0.06,0.52l-0.99,0.05l-0.25,0.72l-1.62,1.44l0.32,0.58l1.85,0.01l-2.56,3.5l-1.67,0.04l-1.6,-0.98l-0.9,-0.19l-1.21,-1.02l-1.12,0.07l0.07,0.47l1.04,1.14l2.32,2.09l2.68,0.26l1.31,0.49l1.7,-2.16l0.51,0.47l1.17,0.33l0.4,-0.57l-0.55,-0.9l0.87,0.16l0.19,0.57l0.66,0.23l1.63,-1.2l-0.18,0.61l0.29,0.57l-0.29,0.38l-0.43,-0.21l-0.41,0.37l0.03,0.9l-0.97,1.72l0.01,0.78l-0.71,-0.07l-0.06,-0.74l-1.12,-0.61l-0.42,0.47l0.27,1.45l-0.52,-1.1l-0.65,-0.15l-1.22,1.08l-0.21,0.53l0.25,0.27l-2.03,0.32l-2.75,1.84l-0.67,-1.03l-0.75,-0.3l-0.37,0.49l0.43,1.26l-0.57,-0.01l-0.09,0.82l-0.94,1.73l-0.91,0.84l-0.59,-0.26l0.49,-0.69l-0.02,-0.77l-1.06,-0.93l-0.08,-0.52l-1.69,-0.41l-0.16,0.47l0.43,1.16l0.2,0.33l0.58,0.07l0.3,0.61l-0.88,0.37l-0.08,0.71l0.65,0.64l0.77,0.18l-0.01,0.37l-2.12,1.67l-1.91,2.65l-2.0,4.31l-0.34,2.13l0.12,1.33l-0.15,-1.03l-1.0,-1.6l-0.55,-0.17l-0.3,0.48l1.17,3.95l-0.63,2.27l-3.9,0.19l-1.43,0.65l-0.35,-0.52l-0.58,-0.18l-0.54,1.07l-1.9,1.14l-0.61,-0.02l-23.25,-15.36l-1.05,-0.02l-18.68,3.49l-0.65,-2.77l-3.25,-2.84l-0.47,0.08l-1.23,1.31l-0.01,-1.29l-0.82,-0.54l-22.82,3.35l-0.64,-0.27l-0.62,0.46l-0.25,0.65l-3.98,1.92l-0.89,1.23l-1.01,0.08l-4.78,2.66l-20.95,3.93l-0.34,-4.55l0.7,-0.95ZM816.97,271.42l0.19,0.35l0.24,0.38l-0.45,-0.41l0.02,-0.32ZM807.5,290.22l0.2,0.32l-0.16,-0.09l-0.04,-0.24ZM815.28,299.09l0.16,-0.36l0.16,0.07l-0.13,0.29l-0.19,0.01ZM812.72,299.05l-0.06,-0.29l-0.03,-0.11l0.3,0.26l-0.21,0.13Z\",\\n      \"name\": \"North Carolina\"\\n    },\\n    \"US-ND\": {\\n      \"path\": \"M438.58,42.78l2.06,6.89l-0.73,2.53l0.57,2.36l-0.27,1.17l0.47,1.99l0.01,3.26l1.42,3.95l0.45,0.54l-0.08,0.97l0.39,1.52l0.62,0.74l1.48,3.74l-0.06,3.9l0.42,0.7l0.5,8.35l0.51,1.54l0.51,0.25l-0.47,2.64l0.36,1.63l-0.14,1.75l0.69,1.1l0.2,2.16l0.49,1.13l1.8,2.56l0.15,2.2l0.51,1.08l0.17,1.39l-0.24,1.36l0.28,1.74l-27.89,0.73l-28.38,0.19l-28.38,-0.37l-28.48,-0.93l2.75,-65.45l23.09,0.78l25.56,0.42l25.56,-0.06l24.09,-0.49Z\",\\n      \"name\": \"North Dakota\"\\n    },\\n    \"US-NE\": {\\n      \"path\": \"M422.62,173.98l3.92,2.71l3.93,1.9l1.33,-0.22l0.51,-0.47l0.36,-1.08l0.48,-0.2l2.49,0.34l1.32,-0.47l1.58,0.25l3.45,-0.65l2.37,1.98l1.4,0.14l1.55,0.77l1.45,0.08l0.88,1.1l1.49,0.17l-0.06,0.98l1.68,2.08l3.32,0.6l-0.02,2.55l1.13,1.94l0.01,2.29l1.15,1.07l0.34,1.72l1.73,1.46l0.07,1.88l1.5,2.11l-0.49,2.33l0.44,3.09l0.52,0.54l0.93,-0.2l-0.04,1.25l1.21,0.5l-0.41,2.36l0.21,0.44l1.12,0.4l-0.6,0.77l-0.09,1.01l0.13,0.59l0.82,0.5l0.16,1.45l-0.26,0.92l0.26,1.27l0.55,0.61l0.3,1.93l-0.22,1.33l0.23,0.72l-0.57,0.92l0.02,0.79l0.45,0.88l1.23,0.63l0.25,2.5l1.1,0.51l0.03,0.79l1.18,2.75l-0.23,0.96l1.16,0.21l0.8,0.99l1.1,0.24l-0.15,0.96l1.31,1.68l-0.21,1.12l0.51,0.91l-26.14,1.05l-27.83,0.63l-27.84,0.14l-27.88,-0.35l0.46,-21.65l-0.39,-0.41l-32.35,-1.04l1.85,-43.23l43.35,1.22l44.66,-0.04Z\",\\n      \"name\": \"Nebraska\"\\n    },\\n    \"US-LA\": {\\n      \"path\": \"M509.0,412.88l-1.33,-21.76l51.43,-4.07l0.34,0.83l1.48,0.65l-0.92,1.35l-0.25,2.13l0.49,0.72l1.18,0.31l-1.21,0.47l-0.45,0.78l0.45,1.36l1.04,0.84l0.08,2.15l0.46,0.54l1.51,0.74l0.45,1.05l1.42,0.44l-0.87,1.22l-0.85,2.34l-0.75,0.04l-0.52,0.51l-0.02,0.73l0.63,0.72l-0.22,1.16l-1.34,0.96l-1.08,1.89l-1.37,0.67l-0.68,0.83l-0.79,2.42l-0.25,3.52l-1.55,1.74l0.13,1.2l0.62,0.96l-0.35,2.38l-1.61,0.29l-0.6,0.57l0.28,0.97l0.64,0.59l-0.26,1.41l0.98,1.51l-1.18,1.18l-0.08,0.45l0.4,0.23l6.18,-0.55l29.23,-2.92l-0.68,3.47l-0.52,1.02l-0.2,2.24l0.69,0.98l-0.09,0.66l0.6,1.0l1.31,0.7l1.22,1.42l0.14,0.88l0.89,1.39l0.14,1.05l1.11,1.84l-1.85,0.39l-0.38,-0.08l-0.01,-0.56l-0.53,-0.57l-1.28,0.27l-1.18,-0.59l-1.51,0.17l-0.61,-0.98l-1.24,-0.86l-2.84,-0.47l-1.24,0.63l-1.39,2.3l-1.3,1.42l-0.42,0.91l0.07,1.2l0.55,0.89l0.82,0.57l4.25,0.82l3.35,-1.0l1.32,-1.19l0.68,-1.2l0.34,0.59l1.08,0.43l0.59,-0.4l0.81,0.03l0.51,-0.46l-0.76,1.21l-1.12,-0.12l-0.57,0.32l-0.38,0.62l0.0,0.83l0.76,1.22l1.48,-0.02l0.65,0.89l1.1,0.48l1.44,-0.66l0.46,-1.11l-0.02,-1.37l0.93,-0.57l0.42,-0.99l0.23,0.05l0.1,1.16l-0.24,0.25l0.19,0.57l0.42,0.15l-0.07,0.75l1.34,1.08l0.35,-0.16l-0.48,0.59l0.18,0.63l-0.24,0.17l-0.84,-0.72l-0.71,-0.08l-1.0,1.89l-0.84,0.14l-0.46,0.53l0.16,1.19l-1.59,-0.6l-0.43,0.19l0.04,0.46l1.14,1.06l-1.17,-0.14l-0.92,0.6l0.68,0.43l1.26,2.04l2.74,0.97l-0.08,1.2l0.33,0.4l2.07,-0.31l0.77,0.17l0.17,0.53l0.73,0.32l1.35,-0.34l0.53,0.78l1.08,-0.46l1.13,0.73l0.14,0.3l-0.41,0.63l1.54,0.86l-0.39,0.65l0.39,0.58l-0.18,0.62l-0.95,1.49l-1.3,-1.56l-0.68,0.34l0.1,0.66l-0.38,0.12l0.41,-1.88l-1.32,-0.76l-0.51,0.5l0.2,1.17l-0.54,0.45l-0.27,-1.02l-0.57,-0.25l-0.89,-1.27l0.03,-0.77l-0.96,-0.14l-0.47,0.5l-1.41,-0.17l-0.74,-0.77l-2.31,-0.09l0.38,-0.86l-0.13,-0.66l-0.64,-0.69l-0.91,0.04l0.1,-0.96l-0.37,-0.36l-0.91,-0.03l-0.22,0.59l-0.85,-0.38l-0.48,0.27l-2.61,-1.26l-1.24,-0.02l-0.67,-0.64l-0.61,0.18l-0.3,0.56l-0.05,1.25l1.72,0.94l1.67,0.35l-0.16,0.92l0.28,0.4l-0.34,0.34l0.23,0.68l-0.76,0.94l-0.03,0.66l0.81,0.97l-0.95,1.43l-1.33,0.94l-0.76,-1.15l0.22,-1.5l-0.35,-0.92l-0.49,-0.18l-0.4,0.36l-1.15,-1.08l-0.6,0.42l-0.76,-1.05l-0.62,-0.2l-0.64,1.33l-0.85,0.26l-0.89,-0.53l-0.85,0.53l-0.1,0.62l0.48,0.41l-0.67,0.56l-0.13,1.44l-0.46,0.13l-0.4,0.84l-0.92,0.08l-0.11,-0.68l-1.6,-0.4l-0.76,0.97l-1.92,-0.93l-0.3,-0.54l-0.99,0.01l-0.35,0.6l-1.15,-0.51l0.42,-0.4l0.0,-1.46l-0.38,-0.57l-1.9,-1.19l-0.08,-0.54l-0.83,-0.71l-0.09,-0.91l0.73,-1.15l-0.34,-1.14l-0.88,-0.19l-0.34,0.57l0.16,0.43l-0.58,0.81l0.04,0.91l-1.8,-0.4l0.07,-0.39l-0.47,-0.54l-1.97,0.76l-0.7,-2.22l-1.32,0.23l-0.18,-2.12l-1.31,-0.35l-1.89,0.3l-1.08,0.66l-0.21,-0.71l0.84,-0.26l-0.05,-0.8l-0.6,-0.58l-1.03,-0.1l-0.85,0.42l-0.94,-0.15l-0.4,0.8l-2.0,1.11l-0.63,-0.31l-1.29,0.71l0.54,1.37l0.81,0.31l1.04,1.55l-1.27,0.36l-1.82,1.06l-7.63,-0.92l-6.7,-2.31l-3.46,-0.65l-6.85,0.69l-3.41,0.8l-1.57,0.73l-0.91,-1.41l1.2,-0.46l0.79,-0.98l0.27,-2.3l-0.59,-0.84l1.15,-1.62l0.23,-1.59l-0.5,-1.83l0.07,-1.46l-0.66,-0.7l-0.21,-1.04l0.83,-2.21l-0.64,-1.95l0.76,-0.84l0.3,-1.49l0.78,-0.94l0.79,-2.83l-0.18,-1.42l0.58,-0.97l-0.75,-1.33l0.84,-0.39l0.2,-0.44l-0.89,-1.36l0.03,-2.13l-1.07,-0.23l-0.57,-1.57l-0.92,-0.84l0.28,-1.27l-0.81,-0.76l-0.33,-0.95l-0.64,-0.34l0.22,-0.98l-1.16,-0.58l-0.81,-0.93l0.16,-2.46l-0.68,-1.93l-1.33,-1.98l-2.63,-2.21ZM548.97,462.65l0.0,-0.0l0.0,0.0l-0.0,0.0ZM607.49,467.36l-0.03,-0.03l-0.08,-0.04l0.13,-0.01l-0.03,0.08ZM607.51,465.75l-0.02,-0.01l0.03,-0.01l-0.02,0.02ZM567.05,468.89l-2.0,-0.42l-0.66,-0.5l0.73,-0.43l0.35,-0.75l0.39,0.49l0.83,0.21l-0.14,0.6l0.5,0.81Z\",\\n      \"name\": \"Louisiana\"\\n    },\\n    \"US-SD\": {\\n      \"path\": \"M336.43,128.81l0.3,-0.53l0.75,-19.92l28.49,0.93l28.39,0.37l28.39,-0.19l27.77,-0.73l-0.18,1.71l-0.73,1.71l-2.9,2.46l-0.42,1.27l1.59,2.13l1.06,2.06l0.55,0.36l1.74,0.24l1.01,0.84l0.57,1.02l1.45,38.83l-1.84,0.09l-0.42,0.56l0.24,1.44l0.88,1.14l0.01,1.45l-0.65,0.36l0.17,1.48l0.48,0.43l1.09,0.04l0.34,1.68l-0.16,0.91l-0.62,0.83l0.02,1.73l-0.68,2.45l-0.49,0.44l-0.67,1.88l0.5,1.1l1.33,1.08l-0.16,0.62l0.64,0.66l0.35,1.15l-1.65,-0.28l-0.34,-0.94l-0.85,-0.73l0.19,-0.61l-0.28,-0.59l-1.58,-0.23l-1.03,-1.18l-1.57,-0.11l-1.51,-0.75l-1.34,-0.12l-2.38,-1.99l-3.78,0.6l-1.65,-0.25l-1.19,0.46l-2.62,-0.33l-0.98,0.48l-0.76,1.45l-0.72,0.05l-3.66,-1.82l-4.13,-2.8l-44.82,0.05l-43.33,-1.22l1.79,-43.19Z\",\\n      \"name\": \"South Dakota\"\\n    },\\n    \"US-DC\": {\\n      \"path\": \"M783.1,218.48l-0.45,-0.64l-1.55,-0.67l0.58,-1.01l2.03,1.26l-0.61,1.06Z\",\\n      \"name\": \"District of Columbia\"\\n    },\\n    \"US-DE\": {\\n      \"path\": \"M798.42,195.12l0.48,-1.56l0.92,-1.11l1.72,-0.71l1.12,0.06l-0.33,0.56l-0.08,1.38l-0.46,1.09l-0.6,0.54l-0.09,0.77l0.13,0.61l1.03,0.85l0.11,2.31l3.98,3.32l1.13,3.99l1.96,1.68l0.47,1.26l3.17,2.27l1.35,-0.08l0.48,1.21l-0.58,0.27l-0.31,0.67l0.03,0.76l0.36,0.19l-0.82,0.57l-0.08,1.21l0.66,0.21l0.85,-0.73l0.72,0.34l0.3,-0.21l0.59,1.55l-9.84,2.64l-8.37,-25.89Z\",\\n      \"name\": \"Delaware\"\\n    },\\n    \"US-FL\": {\\n      \"path\": \"M630.29,423.61l47.18,-6.86l1.52,1.91l0.86,2.72l1.47,1.0l48.78,-5.11l1.03,1.38l0.03,1.09l0.55,1.05l1.04,0.48l1.64,-0.28l0.85,-0.75l-0.14,-4.57l-0.98,-1.49l-0.22,-1.77l0.28,-0.74l0.62,-0.3l0.12,-0.7l5.59,0.96l4.03,-0.16l0.14,1.24l-0.75,-0.12l-0.32,0.43l0.25,1.54l2.11,1.81l0.22,1.01l0.42,0.38l0.3,1.92l5.3,11.5l1.81,3.07l7.14,10.22l0.63,0.36l6.82,7.53l-0.48,-0.02l-0.27,0.61l-1.35,-0.02l-0.34,-0.65l0.38,-1.38l-0.16,-0.56l-2.3,-0.92l-0.46,0.53l1.0,2.8l0.78,0.97l2.14,4.77l9.92,13.71l1.37,3.11l3.66,5.34l-1.38,-0.35l-0.43,0.74l0.8,0.65l0.85,0.24l0.56,-0.22l1.46,0.94l2.05,3.05l-0.5,0.34l-0.12,0.53l1.16,0.53l0.89,1.83l-0.08,1.06l0.59,0.95l0.61,2.64l-0.27,0.75l0.93,8.98l-0.31,1.07l0.46,0.67l0.5,3.1l-0.78,1.26l0.03,2.43l-0.84,0.74l-0.22,1.8l-0.48,0.85l0.21,1.47l-0.31,1.74l0.54,1.74l0.45,0.23l-1.15,1.8l-0.39,1.28l-0.94,0.24l-0.53,-0.22l-1.37,0.45l-0.35,1.06l-0.89,0.3l-0.18,0.58l-0.85,0.67l-1.44,0.14l-0.27,-0.32l-1.23,-0.1l-0.9,1.05l-3.17,1.13l-1.06,-0.59l-0.7,-1.04l0.06,-1.8l1.0,0.84l1.64,0.47l0.26,0.63l0.52,0.07l1.35,-0.72l0.2,-0.69l-0.26,-0.64l-1.58,-1.11l-2.4,-0.26l-0.91,-0.46l-0.85,-1.67l-0.89,-0.72l0.22,-0.98l-0.48,-0.28l-0.53,0.15l-1.38,-2.51l-0.44,-0.3l-0.64,0.07l-0.44,-0.61l0.22,-0.89l-0.7,-0.65l-1.21,-0.6l-1.06,-0.08l-0.75,-0.54l-0.57,0.18l-2.8,-0.59l-0.5,0.64l0.25,-0.91l-0.46,-0.42l-0.87,0.12l-0.26,-0.72l-0.88,-0.65l-0.61,-1.41l-0.55,-0.11l-0.73,-2.95l-0.77,-0.98l-0.16,-1.52l-0.44,-0.83l-0.71,-0.89l-0.49,-0.15l-0.12,0.93l-1.29,-0.26l1.07,-1.3l0.18,-1.37l0.86,-1.46l0.65,-0.34l0.28,-0.83l-0.61,-0.38l-1.42,0.93l-1.03,1.67l-0.28,1.79l-1.37,0.35l-0.2,-1.33l-0.79,-1.33l-0.27,-4.04l-0.86,-0.6l1.63,-1.33l0.22,-0.97l-0.58,-0.42l-3.05,1.92l-0.75,-0.66l-0.4,0.26l-1.27,-0.89l-0.37,0.74l1.13,1.09l0.52,0.1l1.26,2.0l-1.04,0.24l-1.43,-0.38l-0.84,-1.6l-1.13,-0.6l-1.94,-2.54l-1.04,-2.28l-1.28,-0.87l0.1,-0.87l-0.97,-1.8l-1.77,-0.98l0.09,-0.67l0.99,-0.41l-0.35,-0.49l0.44,-0.73l-0.39,-0.35l0.4,-1.21l2.47,-4.47l-1.05,-2.41l-0.68,-0.46l-0.92,0.42l-0.28,0.93l0.29,1.19l-0.24,0.03l-0.73,-2.44l-0.99,-0.28l-1.18,-0.87l-1.52,-0.31l0.29,1.94l-0.48,0.61l0.27,0.59l2.21,0.56l0.24,0.97l-0.37,2.46l-0.31,-0.58l-0.8,-0.21l-2.13,-1.53l-0.41,0.2l-0.29,-0.62l0.59,-2.11l0.07,-2.97l-0.66,-1.97l0.42,-0.51l0.48,-1.91l-0.24,-0.54l0.66,-3.04l-0.37,-5.41l-0.69,-1.56l0.35,-0.47l-0.47,-2.18l-2.1,-1.33l-0.05,-0.53l-0.55,-0.43l-0.1,-1.01l-0.92,-0.73l-0.55,-1.51l-0.64,-0.25l-1.44,0.32l-1.02,-0.2l-1.57,0.54l-1.15,-1.74l-1.5,-0.47l-0.19,-0.6l-1.35,-1.51l-3.81,-1.88l-0.51,-2.75l-3.06,-1.14l-0.65,-0.59l-0.52,-1.23l-2.15,-1.93l-2.19,-1.09l-1.45,-0.12l-3.44,-1.68l-2.85,0.98l-1.01,-0.4l-1.04,0.42l-0.36,0.68l-1.33,0.68l-0.5,0.71l0.03,0.64l-0.73,-0.22l-0.59,0.6l0.67,0.94l1.51,0.08l0.41,0.21l-3.03,0.23l-1.58,1.51l-0.91,0.45l-1.3,1.56l-1.56,1.03l-0.32,0.13l0.2,-0.48l-0.26,-0.54l-0.67,-0.04l-2.07,2.24l-2.2,0.23l-2.11,1.06l-0.78,0.03l-0.27,-2.03l-1.71,-2.23l-2.21,-1.0l-0.18,-0.41l-2.51,-1.5l2.8,1.33l1.21,-0.74l-0.0,-0.74l-1.32,-0.34l-0.35,0.55l-0.21,-1.01l-0.34,-0.1l0.12,-0.52l-0.49,-0.33l-1.4,0.61l-2.3,-0.76l0.65,-1.08l0.83,-0.1l1.03,-1.45l-0.91,-0.96l-0.46,0.13l-0.49,1.02l-0.44,-0.04l-0.81,0.56l-0.72,-0.9l-0.7,0.09l-0.17,0.38l-1.34,0.73l-0.14,0.68l0.28,0.46l-3.95,-1.35l-5.05,-0.71l0.11,-0.24l1.27,0.29l0.61,-0.53l2.1,0.39l0.23,-0.78l-0.94,-1.02l0.09,-0.69l-0.62,-0.29l-0.5,0.32l-0.28,-0.47l-1.9,0.19l-2.25,1.1l0.3,-0.64l-0.41,-0.58l-0.96,0.35l-0.58,-0.25l-0.23,0.44l0.2,0.71l-1.45,0.79l-0.4,0.64l-5.17,0.97l0.32,-0.52l-0.4,-0.52l-1.35,-0.28l-0.72,-0.53l0.69,-0.53l0.01,-0.78l-0.68,-0.13l-0.81,-0.66l-0.46,0.11l0.14,0.76l-0.42,1.77l-1.05,-1.39l-0.69,-0.45l-0.55,0.07l-0.3,0.71l0.82,1.77l-0.25,0.79l-1.39,0.99l-0.05,1.04l-0.6,0.22l-0.17,0.57l-1.48,0.55l0.28,-0.66l-0.22,-0.45l1.14,-1.03l0.07,-0.74l-0.4,-0.58l-1.18,-0.24l-0.42,-0.84l0.3,-1.7l-0.18,-1.61l-2.17,-1.12l-2.39,-2.46l0.32,-1.44l-0.15,-1.04ZM644.36,434.04l-0.94,0.26l0.4,-0.44l0.53,0.18ZM665.13,435.61l0.98,-0.28l0.35,0.31l0.08,0.72l-1.42,-0.75ZM770.53,454.92l0.42,0.56l-0.43,0.75l0.0,-1.31Z\",\\n      \"name\": \"Florida\"\\n    },\\n    \"US-CT\": {\\n      \"path\": \"M823.41,156.51l2.83,-3.23l-0.07,-0.54l-1.31,-1.25l-3.5,-15.89l9.81,-2.41l0.6,0.46l0.65,-0.26l0.23,-0.58l14.16,-4.0l3.2,10.18l0.47,1.96l-0.04,1.69l-1.66,0.32l-0.92,0.81l-0.69,-0.36l-0.5,0.1l-0.18,0.91l-1.14,0.07l-1.27,1.27l-0.62,-0.14l-0.56,-1.02l-0.89,-0.09l-0.21,0.67l0.75,0.64l0.08,0.54l-0.89,-0.02l-1.02,0.87l-1.65,0.07l-1.15,0.94l-1.44,0.13l-1.21,0.93l-0.65,-1.0l-0.61,0.11l-1.01,2.46l-1.06,0.61l-0.25,1.02l-0.77,-0.26l-0.96,0.56l-0.09,0.85l-1.72,0.98l-1.94,2.27l-1.19,0.46l-0.24,0.38l-1.4,-1.23Z\",\\n      \"name\": \"Connecticut\"\\n    },\\n    \"US-WA\": {\\n      \"path\": \"M38.51,55.06l0.37,-1.08l0.93,0.65l0.55,-0.14l0.54,-0.65l0.49,0.67l0.71,-0.01l0.17,-0.77l-0.98,-1.47l0.85,-0.83l-0.09,-1.36l0.49,-0.39l-0.1,-1.03l0.81,-0.27l0.05,0.5l0.48,0.41l0.95,-0.31l-0.09,-0.68l-1.44,-1.82l-1.84,-0.1l-0.15,0.32l-0.78,-0.82l0.26,-1.62l0.66,0.53l0.52,-0.07l0.29,-0.56l-0.17,-0.68l3.33,-0.52l0.25,-0.68l-2.59,-1.29l-0.05,-0.79l-0.67,-0.57l-1.3,-0.31l0.37,-4.73l-0.5,-1.29l0.25,-0.72l-0.52,-0.48l0.55,-3.93l0.04,-4.38l-0.56,-1.02l-0.04,-0.98l-1.56,-2.34l0.33,-4.24l-0.21,-1.29l0.78,-0.79l0.04,-0.71l0.97,-1.44l-0.6,-1.43l1.04,0.8l0.44,0.0l3.35,3.31l0.99,0.35l2.18,2.41l3.73,1.49l1.21,0.07l0.79,0.71l0.67,0.31l0.6,-0.15l1.57,1.07l1.49,0.47l1.28,0.28l1.22,-0.61l0.53,0.31l0.46,0.71l-0.05,1.24l0.55,0.74l0.8,-0.24l0.07,-0.75l0.44,0.03l0.63,1.39l-0.4,0.58l0.34,0.49l0.56,-0.04l0.73,-0.84l-0.38,-1.7l1.03,-0.24l-0.44,0.23l-0.22,0.69l1.27,4.41l-0.46,0.1l-1.67,1.72l0.22,-1.29l-0.22,-0.41l-1.31,0.31l-0.38,0.81l0.09,0.95l-1.37,1.7l-1.98,1.38l-1.06,1.41l-0.96,0.69l-1.1,1.67l-0.06,0.71l0.62,0.6l0.96,0.12l2.77,-0.48l1.22,-0.58l-0.03,-0.7l-0.64,-0.23l-2.94,0.79l-0.35,-0.3l3.23,-3.42l3.06,-0.88l0.89,-1.51l1.73,-1.54l0.53,0.57l0.54,-0.19l0.22,-1.81l-0.06,2.25l0.26,0.91l-0.98,-0.21l-0.64,0.77l-0.41,-0.73l-0.53,-0.19l-0.39,0.64l0.32,2.34l-0.21,-1.07l-0.67,-0.21l-0.46,0.69l-0.07,0.75l0.46,0.66l-0.63,0.58l-0.0,0.45l0.42,0.17l1.67,-0.57l0.25,1.09l-1.08,1.79l-0.08,1.05l-0.83,0.7l0.13,1.0l-0.85,-0.68l1.12,-1.44l-0.23,-0.96l-1.96,1.08l-0.38,0.64l-0.05,-2.11l-0.52,0.02l-1.03,1.59l-1.26,0.53l-1.14,1.87l-1.51,0.3l-0.46,0.44l-0.21,1.18l1.11,-0.03l-0.25,0.36l0.27,0.37l0.93,0.02l0.06,0.68l0.53,0.47l0.52,-0.27l0.35,-1.76l0.15,0.42l0.83,-0.15l1.11,1.48l1.31,-0.61l1.64,-1.48l0.98,-1.56l0.63,0.78l0.73,0.14l0.44,-0.23l-0.06,-0.86l1.56,-0.55l0.35,-0.94l-0.33,-1.26l0.22,-1.19l-0.18,-1.35l0.83,0.2l0.3,-0.92l-0.19,-0.75l-0.72,-0.63l0.89,-1.13l0.07,-1.75l1.24,-1.24l0.61,-1.37l1.61,-0.49l0.78,-1.15l-0.45,-0.66l-0.51,-0.02l-0.86,-1.3l0.16,-2.09l-0.26,-0.87l0.49,-0.79l0.06,-0.84l-1.15,-1.73l-0.63,-0.4l-0.17,-0.64l0.18,-0.5l0.59,0.24l0.53,-0.33l0.24,-1.8l0.79,-0.24l0.3,-1.0l-0.61,-2.32l0.44,-0.53l-0.03,-0.86l-0.96,-0.88l-0.95,0.3l-1.09,-2.65l0.93,-1.82l41.31,9.4l38.95,7.65l-10.13,55.39l1.04,3.0l0.13,2.0l-1.0,1.3l0.73,1.88l-31.18,-5.92l-1.67,0.79l-7.24,-1.02l-1.68,0.92l-4.19,-0.12l-3.18,0.45l-1.64,0.75l-0.88,-0.26l-1.2,0.3l-1.51,-0.23l-2.43,-0.94l-0.91,0.46l-3.45,0.51l-2.11,-0.71l-1.65,0.3l-0.31,-1.36l-1.09,-0.88l-4.34,-1.46l-2.32,-0.11l-1.15,-0.51l-1.27,0.21l-1.89,0.86l-4.49,0.58l-2.26,-1.01l-1.61,-1.15l-1.84,-0.51l-0.63,-0.81l0.64,-6.82l-0.46,-0.95l-0.22,-1.9l-0.98,-1.35l-1.96,-1.67l-1.59,-0.23l-1.31,0.28l-1.95,-3.24l-2.07,-0.23l-0.56,-0.3l-0.1,-0.52l-0.55,-0.47l-1.22,0.28l-0.81,-0.15l-1.0,0.52l-1.03,-1.77l-0.93,-0.23ZM61.97,39.77l0.16,0.74l-0.42,0.48l0.0,-0.91l0.26,-0.31ZM71.38,20.37l-0.61,0.87l-0.15,0.52l0.18,-1.38l0.58,-0.01ZM71.25,15.62l-0.09,-0.05l0.05,-0.04l0.04,0.1ZM70.48,15.47l-0.77,0.39l0.37,-0.68l-0.07,-0.6l0.22,-0.07l0.25,0.97ZM57.68,42.43l0.04,-0.02l-0.01,0.0l-0.03,0.01Z\",\\n      \"name\": \"Washington\"\\n    },\\n    \"US-KS\": {\\n      \"path\": \"M477.93,239.62l0.44,0.63l0.76,0.18l1.04,0.8l2.19,-1.08l-0.0,0.75l1.08,0.79l0.23,1.44l-0.95,-0.15l-0.6,0.31l-0.17,0.97l-1.14,1.37l-0.06,1.14l-0.79,0.5l0.04,0.64l1.56,2.1l2.0,1.49l0.2,1.13l0.42,0.86l0.74,0.56l0.32,1.11l1.89,0.91l1.54,0.26l2.67,46.81l-31.54,1.48l-31.97,0.88l-31.98,0.26l-32.04,-0.37l1.21,-65.46l27.89,0.35l27.85,-0.14l27.84,-0.64l27.67,-1.12l1.65,1.23Z\",\\n      \"name\": \"Kansas\"\\n    },\\n    \"US-WI\": {\\n      \"path\": \"M510.09,124.06l0.41,-0.27l0.28,-0.9l-0.45,-1.48l0.04,-1.91l0.7,-1.16l0.53,-2.25l-1.61,-2.91l-0.83,-0.36l-1.28,-0.01l-0.21,-2.31l1.67,-2.26l-0.05,-0.77l0.77,-1.55l1.95,-1.09l0.48,-0.75l0.97,-0.25l0.45,-0.75l1.16,-0.14l1.04,-1.56l-0.97,-12.11l1.03,-0.35l0.22,-1.1l0.73,-0.97l0.78,0.7l1.68,0.64l2.61,-0.56l3.27,-1.57l2.65,-0.82l2.22,-2.12l0.31,0.29l1.39,-0.11l1.25,-1.48l0.79,-0.58l1.04,-0.1l0.4,-0.52l1.07,0.99l-0.48,1.68l-0.67,1.01l0.23,1.61l-1.21,2.21l0.64,0.66l2.5,-1.09l0.72,-0.87l2.15,1.22l2.34,0.47l0.44,0.53l0.86,-0.13l1.6,0.7l2.23,3.54l15.47,2.52l4.65,1.96l1.67,-0.16l1.63,0.42l1.33,-0.59l3.17,0.71l2.18,0.09l0.85,0.41l0.56,0.89l-0.42,1.09l0.41,0.77l3.4,0.63l1.4,1.13l-0.16,0.71l0.59,1.11l-0.36,0.81l0.43,1.25l-0.78,1.25l-0.03,1.76l0.91,0.63l1.38,-0.26l1.02,-0.72l0.2,0.26l-0.79,2.44l0.04,1.31l1.32,1.46l0.84,0.35l-0.24,2.02l-2.42,1.2l-0.51,0.78l0.04,1.26l-1.61,3.49l-0.4,3.5l1.11,0.83l0.91,-0.04l0.5,-0.37l0.49,-1.37l1.82,-1.47l0.66,-2.54l1.06,-1.7l0.59,0.18l0.58,-0.71l0.87,-0.4l1.12,1.12l0.59,0.2l-0.28,2.18l-1.19,2.85l-0.57,5.58l0.23,1.11l0.8,0.93l0.07,0.52l-0.51,0.98l-1.3,1.34l-0.86,3.88l0.15,2.57l0.72,1.2l0.06,1.24l-1.07,3.23l0.12,2.11l-0.73,2.11l-0.28,2.46l0.59,2.02l-0.04,1.32l0.49,0.53l-0.21,1.7l0.92,0.78l0.54,2.44l1.2,1.54l0.08,1.69l-0.33,1.45l0.48,2.95l-44.2,4.6l-0.19,-0.79l-1.56,-2.19l-4.94,-0.84l-1.06,-1.35l-0.36,-1.68l-0.9,-1.21l-0.86,-4.89l1.04,-2.61l-0.09,-0.99l-0.71,-0.79l-1.44,-0.48l-0.71,-1.76l-0.47,-6.02l-0.7,-1.4l-0.52,-2.56l-1.15,-0.6l-1.1,-1.56l-0.93,-0.11l-1.17,-0.75l-1.71,0.09l-2.67,-1.79l-2.3,-3.5l-2.64,-2.1l-2.94,-0.53l-0.73,-1.24l-1.12,-1.0l-3.12,-0.45l-3.53,-2.74l0.45,-1.24l-0.12,-1.61l0.25,-0.81l-0.88,-3.11Z\",\\n      \"name\": \"Wisconsin\"\\n    },\\n    \"US-OR\": {\\n      \"path\": \"M10.81,140.09l0.63,-3.94l1.32,-2.52l0.23,-1.22l-0.01,-1.26l-0.46,-0.66l-0.14,-1.12l-0.42,-0.32l-0.11,-1.85l2.73,-3.63l2.2,-4.73l0.1,-1.09l0.42,-0.27l0.01,0.79l0.73,0.1l0.42,-1.11l0.88,-0.84l0.23,0.94l1.39,0.27l-0.51,-2.64l-0.92,0.08l2.09,-3.81l1.11,-0.76l0.8,0.4l0.55,-0.33l-0.66,-1.35l-0.6,-0.3l1.71,-4.39l0.41,-0.38l0.04,-0.96l1.74,-5.49l0.97,-1.98l0.4,0.33l0.67,-0.29l-0.12,-0.97l-0.56,-0.32l0.96,-2.74l0.81,0.17l0.23,-0.45l-0.16,-0.52l-0.52,-0.28l0.54,-2.86l1.58,-2.7l0.83,-3.02l1.14,-1.76l0.97,-3.1l-0.08,-1.04l1.21,-1.1l0.04,-0.6l-0.46,-0.65l0.14,-0.52l0.51,0.64l0.45,0.05l0.39,-0.63l0.17,-1.39l-0.74,-0.72l0.5,-1.2l1.28,-0.78l0.05,-0.46l-0.86,-0.5l-0.26,-1.11l0.86,-2.17l-0.06,-1.44l0.92,-0.59l0.4,-0.85l0.07,-3.75l0.49,0.86l0.9,0.41l-0.04,0.91l0.55,0.53l0.43,-0.82l0.39,-0.14l-0.27,-0.98l1.12,0.84l1.53,0.0l1.45,-0.68l1.44,2.36l1.99,0.78l1.39,-0.67l0.91,0.06l1.72,1.51l0.77,1.04l0.21,1.9l0.43,0.78l-0.03,2.05l-0.39,1.24l0.19,0.93l-0.43,1.74l0.26,1.45l0.79,0.85l1.94,0.56l1.44,1.05l2.4,1.1l4.98,-0.53l2.9,-1.06l1.14,0.51l2.23,0.09l4.24,1.43l0.69,0.54l0.19,1.15l0.57,0.58l1.86,-0.27l2.11,0.71l3.79,-0.55l0.69,-0.42l2.19,0.93l1.64,0.24l1.19,-0.3l0.88,0.26l1.89,-0.78l3.07,-0.43l4.16,0.13l1.61,-0.91l7.16,1.02l0.96,-0.19l0.79,-0.58l31.27,5.93l0.23,1.81l0.93,1.82l1.16,0.63l1.96,1.86l0.57,2.45l-0.16,1.0l-3.69,4.54l-0.4,1.41l-1.39,2.63l-2.21,2.42l-0.65,2.68l-1.49,1.84l-2.23,1.5l-1.92,3.35l-1.49,1.27l-0.62,2.02l-0.12,1.87l0.28,0.92l0.56,0.61l0.54,0.04l0.39,-0.35l0.63,0.76l0.89,-0.05l0.07,0.88l0.8,0.95l-0.46,1.0l-0.65,0.06l-0.33,0.4l0.21,1.8l-1.03,2.56l-1.22,1.41l-6.86,39.15l-26.21,-4.99l-28.89,-6.05l-28.8,-6.61l-28.87,-7.22l-1.54,-2.51l0.26,-2.47l-0.29,-0.87Z\",\\n      \"name\": \"Oregon\"\\n    },\\n    \"US-KY\": {\\n      \"path\": \"M583.03,306.53l0.35,-2.18l1.13,0.96l0.72,0.2l0.75,-0.36l0.46,-0.88l0.87,-3.55l-0.54,-1.75l0.38,-0.86l-0.1,-1.87l-1.27,-2.04l1.79,-3.21l1.24,-0.51l0.73,0.06l7.03,2.56l0.81,-0.2l0.65,-0.72l0.24,-1.93l-1.48,-2.14l-0.24,-1.44l0.2,-0.87l0.4,-0.52l1.1,-0.18l1.24,-0.83l3.0,-0.95l0.64,-0.51l0.15,-1.13l-1.53,-2.05l-0.08,-0.68l1.33,-1.97l0.14,-1.16l1.25,0.42l1.12,-1.33l-0.68,-2.0l1.92,0.9l1.72,-0.84l0.03,1.18l1.0,0.46l0.99,-0.94l0.02,-1.36l0.51,0.16l1.9,-0.96l4.41,1.52l0.64,0.94l0.86,0.18l0.59,-0.59l0.73,-2.53l1.38,-0.55l1.39,-1.34l0.86,1.29l0.77,0.42l1.16,-0.13l0.11,0.75l0.95,0.19l0.67,-0.62l0.03,-1.0l0.84,-0.38l0.26,-0.48l-0.25,-2.09l0.84,-0.4l0.34,-0.56l-0.06,-0.69l1.25,-0.56l0.34,-0.72l0.38,1.47l0.61,0.6l1.46,0.64l1.25,-0.0l1.11,0.81l0.53,-0.11l0.26,-0.55l1.1,-0.46l0.53,-0.69l0.04,-3.47l0.85,-2.18l1.02,0.18l1.55,-1.19l0.75,-3.46l1.04,-0.37l1.65,-2.23l0.0,-0.81l-1.18,-2.88l2.78,-0.59l1.54,0.81l3.85,-2.82l2.23,-0.46l-0.18,-1.07l0.36,-1.47l-0.32,-0.36l-1.22,-0.04l0.58,-1.39l-1.09,-1.54l1.65,-1.83l1.81,1.18l0.92,-0.11l1.93,-1.01l0.78,0.88l1.75,0.54l0.57,1.28l0.94,0.92l0.79,1.84l2.6,0.67l1.87,-0.57l1.63,0.27l2.18,1.85l0.96,0.43l1.28,-0.18l0.61,-1.31l0.99,-0.54l1.35,0.5l1.34,0.04l1.33,1.09l1.26,-0.69l1.41,-0.15l1.81,-2.55l1.72,-1.03l0.92,2.35l0.7,0.83l2.45,0.81l1.35,0.97l0.75,1.05l0.93,3.35l-0.37,0.45l0.09,0.72l-0.44,0.61l0.02,0.53l2.24,2.62l1.35,0.92l-0.08,0.89l1.34,0.97l0.58,1.35l1.55,1.2l0.98,1.62l2.14,0.84l1.09,1.12l2.14,0.25l-4.86,6.13l-5.06,4.15l-0.42,0.86l0.22,1.25l-2.07,1.93l0.04,1.64l-3.06,1.63l-0.8,2.38l-1.71,0.6l-2.7,1.83l-1.66,0.48l-3.39,2.42l-23.95,3.09l-8.8,1.42l-7.47,0.86l-7.68,0.46l-22.71,3.52l-0.64,-0.56l-3.63,0.09l-0.41,0.6l1.03,3.57l-22.99,2.73Z\",\\n      \"name\": \"Kentucky\"\\n    },\\n    \"US-ME\": {\\n      \"path\": \"M837.01,56.27l0.87,-1.15l1.42,1.7l0.84,0.04l0.39,-2.12l-0.46,-2.19l1.7,0.36l0.73,-0.42l0.21,-0.52l-0.32,-0.7l-1.18,-0.47l-0.44,-0.62l0.19,-1.42l0.86,-2.02l2.08,-2.25l0.01,-0.98l-0.52,-0.93l1.02,-1.64l0.39,-1.51l-0.22,-0.92l-1.02,-0.35l-0.07,-1.42l-0.4,-0.43l0.55,-0.96l-0.04,-0.63l-1.0,-1.26l0.13,-1.73l0.37,-0.63l-0.15,-0.97l1.22,-1.93l-0.96,-6.17l5.58,-18.87l2.25,-0.23l1.14,3.18l0.55,0.43l2.54,0.56l1.83,-1.73l1.68,-0.83l1.24,-1.72l1.25,-0.12l0.64,-0.47l0.25,-1.43l0.42,-0.3l1.36,0.04l3.68,1.41l1.14,0.96l2.36,1.05l8.38,22.7l0.64,0.65l-0.19,1.26l0.64,0.86l-0.1,1.52l-0.33,0.05l-0.24,0.66l1.72,1.13l1.79,0.22l0.82,0.41l1.88,-0.19l1.25,-0.64l0.34,0.86l-0.59,1.43l1.69,1.86l0.28,2.69l2.72,1.68l0.98,-0.1l0.47,-0.74l-0.06,-0.5l0.36,0.08l0.25,0.49l0.64,0.07l1.41,1.11l0.27,0.75l1.27,0.94l0.04,0.47l-0.52,-0.14l-0.39,0.41l0.18,0.77l-0.76,-0.15l-0.35,0.4l0.16,0.63l0.81,0.53l0.55,0.92l0.48,0.17l0.16,-0.88l0.39,-0.17l0.8,0.32l0.25,-0.83l0.34,0.41l-0.31,0.85l-0.53,0.19l-1.21,3.24l-0.63,-0.04l-0.31,0.44l-0.55,-1.05l-0.72,0.03l-0.3,0.5l-0.56,0.06l-0.02,0.49l0.58,0.85l-0.9,-0.45l-0.33,0.63l0.26,0.52l-1.2,-0.28l-0.36,0.3l-0.37,0.78l0.07,0.45l0.44,0.08l0.07,1.21l-0.37,-0.57l-0.55,-0.06l-0.39,0.45l-0.2,1.09l-0.48,-1.53l-1.14,0.01l-0.68,0.75l-0.36,1.48l0.59,0.63l-0.83,0.63l-0.69,-0.46l-0.73,1.04l0.1,0.64l0.99,0.63l-0.35,0.21l-0.1,0.82l-0.46,-0.21l-0.85,-1.82l-1.03,-0.46l-0.39,0.22l-0.45,-0.41l-0.57,0.63l-1.24,-0.19l-0.26,0.85l0.78,0.4l0.01,0.37l-0.51,-0.05l-0.56,0.4l-0.09,0.7l-0.49,-1.02l-1.17,-0.02l-0.16,0.64l0.52,0.88l-1.44,0.96l0.84,1.11l0.08,1.06l0.53,0.65l-0.97,-0.41l-0.96,0.22l-1.2,-0.42l-0.17,-0.91l0.74,-0.28l-0.08,-0.56l-0.42,-0.49l-0.67,-0.12l-0.3,0.33l-0.23,-2.37l-0.37,-0.22l-1.1,0.27l0.04,1.96l-1.85,1.92l0.02,0.49l1.25,1.47l-0.64,0.96l-0.19,3.87l0.77,1.41l-1.08,1.72l-0.8,-0.19l-0.45,0.93l-0.62,-0.06l-0.41,-1.15l-0.73,-0.21l-0.52,1.03l0.11,0.69l-0.45,0.59l0.12,2.41l-0.95,-1.01l0.14,-1.28l-0.24,-0.59l-0.82,0.29l-0.08,2.01l-0.44,-0.25l0.15,-1.54l-0.47,-0.4l-0.68,0.49l-0.76,3.04l-0.77,-1.97l0.17,-1.21l-0.4,-0.27l-0.46,0.21l-1.05,2.59l0.35,0.53l0.85,-0.15l0.95,2.08l-0.28,-0.59l-0.51,-0.23l-0.66,0.3l-0.07,0.64l-1.38,-0.1l-2.16,3.17l-0.53,1.86l0.29,0.6l-0.68,0.65l0.51,0.43l0.91,-0.21l0.37,0.92l-0.77,0.3l-0.2,0.39l-0.4,-0.04l-0.51,0.57l-0.14,1.03l0.67,1.37l-0.08,0.68l-0.79,1.29l-0.94,0.61l-0.54,1.29l0.44,1.56l-0.4,2.81l-0.8,-0.33l-0.42,0.59l-1.02,-0.76l-0.57,-1.85l-0.93,-0.37l-2.36,-1.99l-0.76,-3.45l-13.24,-35.53ZM863.91,81.24l0.08,0.26l-0.08,0.23l0.03,-0.29l-0.04,-0.2ZM865.32,81.46l0.47,0.7l-0.04,0.47l-0.32,-0.25l-0.1,-0.93ZM867.66,78.32l0.42,0.82l-0.16,0.14l-0.42,-0.19l0.16,-0.77ZM877.03,64.89l-0.14,0.2l-0.03,-0.24l0.17,0.04ZM873.08,75.23l0.01,0.02l-0.03,0.03l0.01,-0.06Z\",\\n      \"name\": \"Maine\"\\n    },\\n    \"US-OH\": {\\n      \"path\": \"M665.07,178.88l1.66,0.36l0.97,-0.31l1.75,1.07l2.07,0.26l1.47,1.17l1.7,0.24l-2.17,1.18l-0.12,0.47l0.42,0.24l2.45,0.19l1.39,-1.1l1.76,-0.25l3.39,0.96l0.92,-0.08l1.48,-1.3l1.73,-0.59l1.15,-0.97l1.91,-0.97l2.61,-0.03l1.09,-0.62l1.24,-0.06l1.07,-0.8l4.24,-5.46l4.53,-3.47l6.92,-4.36l5.83,28.04l-0.51,0.54l-1.28,0.43l-0.41,0.95l1.65,2.23l0.02,2.11l0.41,0.26l0.31,0.94l-0.04,0.76l-0.54,0.83l-0.5,4.08l0.18,3.21l-0.58,0.41l0.34,1.11l-0.35,1.74l-0.39,0.54l0.76,1.23l-0.25,1.87l-2.41,2.65l-0.82,1.86l-1.37,1.5l-1.24,0.67l-0.6,0.7l-0.87,-0.92l-1.18,0.14l-1.32,1.74l-0.09,1.32l-1.78,0.85l-0.78,2.25l0.28,1.58l-0.94,0.85l0.3,0.67l0.63,0.41l0.27,1.3l-0.8,0.17l-0.5,1.6l0.06,-0.93l-0.91,-1.26l-1.53,-0.55l-1.07,0.71l-0.82,1.98l-0.34,2.69l-0.53,0.82l1.22,3.58l-1.27,0.39l-0.28,0.42l-0.25,3.12l-2.66,1.2l-1.0,0.05l-0.76,-1.06l-1.51,-1.1l-2.34,-0.73l-1.16,-1.92l-0.31,-1.14l-0.42,-0.33l-0.73,0.13l-1.84,1.17l-1.1,1.28l-0.4,1.05l-1.43,0.15l-0.87,0.61l-1.11,-1.0l-3.14,-0.59l-1.37,0.72l-0.53,1.25l-0.71,0.05l-3.04,-2.26l-1.93,-0.29l-1.77,0.56l-2.14,-0.52l-0.55,-1.54l-0.96,-0.97l-0.63,-1.38l-2.03,-0.76l-1.14,-1.01l-0.97,0.26l-1.31,0.89l-0.46,0.03l-1.79,-1.23l-0.61,0.2l-0.6,0.7l-8.67,-55.57l20.65,-4.25ZM675.61,181.3l0.53,-0.79l0.67,0.41l-0.48,0.35l-0.72,0.03Z\",\\n      \"name\": \"Ohio\"\\n    },\\n    \"US-OK\": {\\n      \"path\": \"M399.11,359.23l-0.05,-42.02l-0.39,-0.4l-51.81,-0.82l0.31,-10.23l36.69,0.74l35.99,-0.07l35.98,-0.86l35.56,-1.62l0.6,10.68l4.55,24.34l1.41,37.87l-1.2,-0.22l-0.29,-0.36l-2.13,-0.21l-0.82,-0.79l-2.11,-0.39l-1.77,-2.05l-1.23,-0.22l-2.25,-1.56l-1.5,-0.4l-0.8,0.46l-0.23,0.88l-0.82,0.24l-0.46,0.62l-2.47,-0.14l-1.79,-1.48l-2.3,1.29l-1.16,0.2l-0.19,0.56l-0.63,0.28l-2.12,-0.77l-1.7,1.18l-2.06,0.51l-0.83,1.37l-1.48,0.06l-0.57,1.25l-1.26,-1.55l-1.7,-0.1l-0.32,-0.58l-1.21,-0.46l-0.02,-0.96l-0.44,-0.5l-1.24,-0.18l-0.73,1.38l-0.66,0.11l-0.84,-0.5l-0.97,0.07l-0.71,-1.51l-1.09,-0.35l-1.17,0.57l-0.45,1.7l-0.7,-0.08l-0.49,0.43l0.29,0.73l-0.51,1.68l-0.43,0.19l-0.86,-1.45l0.39,-1.65l-0.75,-0.86l-0.8,0.18l-0.49,0.76l-0.84,-0.18l-0.92,0.98l-1.07,0.13l-0.53,-1.36l-1.99,-0.19l-0.3,-1.48l-1.19,-0.53l-0.82,0.33l-2.12,2.15l-1.21,0.51l-0.97,-0.38l0.19,-1.25l-0.28,-1.13l-2.33,-0.67l-0.07,-2.18l-0.43,-0.55l-2.11,0.39l-2.52,-0.25l-0.64,0.26l-0.81,1.21l-0.95,0.06l-1.76,-1.77l-0.97,-0.12l-1.5,0.56l-2.68,-0.63l-1.86,-1.0l-1.05,0.25l-2.46,-0.3l-0.17,-2.12l-0.85,-0.87l-0.43,-1.02l-1.16,-0.41l-0.7,-0.83l-0.83,0.08l-0.44,1.64l-2.22,-0.68l-1.07,0.6l-0.96,-0.09l-3.79,-3.78l-1.12,-0.43l-0.8,0.08Z\",\\n      \"name\": \"Oklahoma\"\\n    },\\n    \"US-ID\": {\\n      \"path\": \"M132.48,121.36l-0.34,-0.44l0.08,-1.99l0.53,-1.74l1.42,-1.22l2.11,-3.59l1.68,-0.92l1.39,-1.52l1.08,-2.15l0.05,-1.22l2.21,-2.41l1.43,-2.7l0.37,-1.37l2.04,-2.26l1.89,-2.81l0.03,-1.01l-0.79,-2.95l-2.13,-1.94l-0.87,-0.36l-0.85,-1.61l-0.41,-3.02l-0.59,-1.19l0.94,-1.19l-0.12,-2.35l-1.04,-2.69l10.12,-55.42l13.39,2.35l-3.54,20.71l1.29,2.89l1.0,1.27l0.27,1.55l1.17,1.76l-0.12,0.83l0.39,1.14l-0.99,0.95l0.83,1.76l-0.83,0.11l-0.28,0.71l1.93,1.68l1.03,2.04l2.24,1.22l0.54,1.58l1.09,1.33l1.49,2.79l0.08,0.68l1.64,1.81l0.01,1.88l1.79,1.71l-0.07,1.35l0.74,0.19l0.9,-0.58l0.36,0.46l-0.36,0.55l0.07,0.54l1.11,0.96l1.61,0.15l1.81,-0.36l-0.63,2.61l-0.99,0.54l0.25,1.14l-1.83,3.73l0.06,1.72l-0.81,0.07l-0.37,0.54l0.6,1.33l-0.62,0.9l-0.03,1.16l0.96,0.93l-0.37,0.81l0.28,1.01l-1.57,0.43l-1.21,1.41l0.1,1.11l0.46,0.77l-0.13,0.73l-0.83,0.77l-0.2,1.52l1.48,0.63l1.38,1.79l0.78,0.27l1.08,-0.35l0.56,-0.8l1.85,-0.41l1.21,-1.28l0.81,-0.29l0.15,-0.76l0.78,0.81l0.23,0.71l1.05,0.64l-0.42,1.23l0.73,0.95l-0.34,1.38l0.57,1.34l-0.21,1.61l1.54,2.64l0.31,1.73l0.82,0.37l0.67,2.08l-0.18,0.98l-0.76,0.64l0.51,1.89l1.24,1.16l0.3,0.79l0.81,0.08l0.86,-0.37l1.04,0.93l1.06,2.79l-0.5,0.81l0.89,1.83l-0.28,0.6l0.11,0.98l2.29,2.41l0.97,-0.14l-0.01,-1.14l1.07,-0.89l0.93,-0.22l4.53,1.62l0.69,-0.32l0.67,-1.35l1.19,-0.39l2.25,0.93l3.3,-0.1l0.96,0.88l2.29,-0.58l3.23,0.78l0.45,-0.49l-0.67,-0.76l0.26,-1.06l0.74,-0.48l-0.07,-0.96l1.23,-0.51l0.48,0.37l1.07,2.11l0.12,1.11l1.36,1.95l0.73,0.45l-6.27,53.85l-47.47,-6.31l-46.96,-7.72l6.88,-39.16l1.12,-1.18l1.07,-2.67l-0.21,-1.74l0.74,-0.15l0.77,-1.62l-0.9,-1.27l-0.18,-1.2l-1.24,-0.08l-0.64,-0.81l-0.88,0.29Z\",\\n      \"name\": \"Idaho\"\\n    },\\n    \"US-WY\": {\\n      \"path\": \"M218.62,206.98l10.1,-86.59l25.45,2.74l26.79,2.4l26.83,1.91l27.84,1.46l-3.67,87.1l-27.31,-1.41l-28.2,-1.97l-29.69,-2.63l-28.14,-3.02Z\",\\n      \"name\": \"Wyoming\"\\n    },\\n    \"US-UT\": {\\n      \"path\": \"M220.28,185.78l-2.51,21.5l0.35,0.45l32.23,3.42l-8.32,87.13l-42.53,-4.67l-42.4,-5.77l16.08,-108.32l47.1,6.26Z\",\\n      \"name\": \"Utah\"\\n    },\\n    \"US-IN\": {\\n      \"path\": \"M600.87,189.59l1.42,0.87l2.1,0.15l1.52,-0.38l2.63,-1.39l2.73,-2.1l32.14,-4.8l8.96,57.41l-0.66,1.15l0.3,0.92l0.81,0.79l-0.66,1.14l0.49,0.8l1.12,0.04l-0.36,1.14l0.18,0.51l-1.81,0.29l-3.18,2.55l-0.43,0.17l-1.4,-0.81l-3.46,0.91l-0.09,0.78l1.19,3.1l-1.4,1.88l-1.18,0.49l-0.45,0.89l-0.31,2.6l-1.11,0.88l-1.06,-0.24l-0.47,0.47l-0.85,1.95l0.05,3.13l-0.39,1.0l-1.38,0.85l-0.93,-0.68l-1.24,0.01l-1.47,-0.69l-0.62,-1.84l-1.89,-0.73l-0.44,0.3l-0.04,0.5l0.83,0.68l-0.62,0.31l-0.89,-0.35l-0.36,0.29l0.5,1.42l-1.08,0.68l0.14,2.37l-1.06,0.65l-0.0,0.83l-0.16,0.37l-0.25,-1.01l-1.6,0.18l-1.4,-1.69l-0.5,-0.08l-1.67,1.5l-1.57,0.69l-1.07,2.89l-0.81,-1.07l-2.79,-0.77l-1.11,-0.61l-1.08,-0.18l-1.76,0.92l-0.64,-1.02l-0.58,-0.18l-0.53,0.56l0.64,1.86l-0.34,0.84l-0.28,0.09l-0.02,-1.18l-0.42,-0.4l-0.58,0.01l-1.46,0.79l-1.41,-0.84l-0.85,0.0l-0.48,0.95l0.71,1.55l-0.49,0.74l-1.15,-0.39l-0.07,-0.54l-0.53,-0.44l0.55,-0.63l-0.35,-3.09l0.96,-0.78l-0.07,-0.58l-0.44,-0.23l0.69,-0.46l0.25,-0.61l-1.17,-1.47l0.46,-1.16l0.32,0.19l1.39,-0.55l0.33,-1.8l0.55,-0.4l0.44,-0.92l-0.06,-0.83l1.52,-1.07l0.06,-0.69l-0.41,-0.93l0.57,-0.86l0.14,-1.29l0.87,-0.51l0.4,-1.91l-1.08,-2.54l0.06,-1.91l-0.93,-0.91l-0.61,-1.5l-1.05,-0.78l-0.04,-0.58l0.92,-1.39l-0.63,-2.25l1.27,-1.31l-6.5,-50.67Z\",\\n      \"name\": \"Indiana\"\\n    },\\n    \"US-IL\": {\\n      \"path\": \"M540.1,225.5l0.86,-0.35l0.37,-0.67l-0.23,-2.33l-0.73,-0.93l0.15,-0.41l0.72,-0.69l2.42,-0.98l0.71,-0.65l0.63,-1.68l0.17,-2.11l1.65,-2.47l0.27,-0.94l-0.03,-1.22l-0.59,-1.95l-2.23,-1.88l-0.11,-1.77l0.67,-2.38l0.45,-0.37l4.6,-0.85l0.81,-0.41l0.82,-1.12l2.55,-1.0l1.43,-1.56l0.39,-3.28l1.42,-1.46l0.29,-0.74l0.33,-4.37l-0.76,-2.14l-4.02,-2.47l-0.28,-1.5l-0.48,-0.82l-3.64,-2.48l44.57,-4.64l-0.01,2.65l0.57,2.59l1.38,2.49l1.3,0.95l0.76,2.6l1.26,2.71l1.42,1.85l6.6,51.47l-1.22,1.13l-0.1,0.69l0.67,1.76l-0.84,1.09l-0.03,1.11l1.19,1.09l0.56,1.41l0.89,0.82l-0.1,1.8l1.06,2.31l-0.28,1.49l-0.87,0.56l-0.21,1.47l-0.59,0.93l0.34,1.2l-1.48,1.13l-0.23,0.41l0.28,0.7l-0.93,1.17l-0.31,1.19l-1.64,0.67l-0.63,1.67l0.15,0.8l0.97,0.83l-1.27,1.15l0.42,0.76l-0.49,0.23l-0.13,0.54l0.43,2.94l-1.15,0.19l0.08,0.45l0.91,0.78l-0.48,0.17l-0.03,0.64l0.83,0.29l0.04,0.42l-1.31,1.97l-0.25,1.19l0.59,1.22l0.7,0.64l0.37,1.08l-3.31,1.22l-1.19,0.82l-1.24,0.24l-0.77,1.01l-0.18,2.04l1.7,2.81l0.07,0.54l-0.53,1.19l-0.96,0.03l-6.3,-2.43l-1.08,-0.08l-1.57,0.64l-0.68,0.72l-1.44,2.95l0.06,0.66l-1.18,-1.2l-0.79,0.14l-0.35,0.47l0.59,1.13l-1.24,-0.79l-0.01,-0.68l-1.6,-2.21l-0.4,-1.12l-0.75,-0.37l-0.05,-0.49l0.94,-1.35l0.2,-1.03l-0.32,-1.01l-1.44,-2.02l-0.47,-3.18l-2.26,-0.99l-1.55,-2.14l-1.95,-0.82l-1.72,-1.34l-1.56,-0.14l-1.82,-0.96l-2.32,-1.78l-2.34,-2.44l-0.36,-1.95l2.37,-6.85l-0.25,-2.32l0.98,-2.06l-0.38,-0.84l-2.66,-1.45l-2.59,-0.67l-1.29,0.45l-0.86,1.45l-0.9,0.15l-1.3,-1.9l-0.43,-1.52l0.16,-0.87l-0.54,-0.91l-0.29,-1.65l-0.83,-1.36l-0.94,-0.9l-4.11,-2.52l-1.01,-1.64l-4.53,-3.53l-0.73,-1.9l-1.04,-1.21l-0.04,-1.6l-0.96,-1.48l-0.75,-3.54l0.1,-2.94l0.6,-1.28ZM585.53,295.46l0.05,0.05l0.04,0.04l-0.05,-0.0l-0.04,-0.09Z\",\\n      \"name\": \"Illinois\"\\n    },\\n    \"US-AK\": {\\n      \"path\": \"M64.88,530.75l0.06,-0.04l0.04,0.06l-0.06,-0.01l-0.05,-0.0ZM66.64,530.24l1.13,0.16l0.11,0.52l-1.21,0.78l-0.23,-0.24l0.3,-0.47l-0.09,-0.76ZM69.51,530.52l0.7,-0.13l0.3,-0.66l2.1,-0.44l2.68,0.09l1.86,0.74l0.99,0.81l0.04,2.23l0.65,0.89l0.77,-0.37l-0.07,-0.76l0.56,0.36l-0.1,0.53l1.05,1.08l-1.24,-0.51l-0.68,0.56l-0.08,-0.76l-1.26,-0.01l-0.76,-0.43l-0.82,0.28l-1.12,-0.26l-0.44,-0.54l0.4,-0.34l0.95,0.84l0.47,-0.03l0.2,-0.5l-0.7,-1.62l-1.11,-0.6l-1.17,0.32l-0.66,0.82l-1.29,0.37l-0.52,-0.37l-0.59,0.38l-0.74,-0.26l-0.58,0.37l0.21,-2.07ZM81.1,534.87l0.81,-0.72l-0.68,-1.59l0.14,-0.29l1.83,-1.05l3.86,-0.11l2.68,0.81l0.57,-0.32l1.04,0.3l0.88,1.1l0.7,-0.06l0.9,-1.66l2.68,-0.78l1.06,0.33l1.28,-0.46l0.86,0.05l-0.14,0.54l0.5,0.59l1.15,0.33l0.6,-0.91l-0.56,-0.35l-0.31,0.15l0.28,-0.7l-0.2,-0.46l2.24,-2.37l1.05,0.07l0.63,0.82l0.66,-0.29l-0.11,-0.63l-1.04,-0.94l0.19,-0.63l0.96,-0.57l3.31,-0.22l-0.15,-0.63l0.81,-0.73l0.76,-0.04l1.14,-1.23l-0.94,-0.25l-0.69,0.62l-0.61,-0.12l-0.59,0.33l-5.45,-1.21l0.08,-1.16l-0.36,-0.69l0.61,-0.46l0.52,-0.18l0.49,0.51l-0.04,1.27l0.91,-0.05l0.15,-0.75l-0.06,-0.85l-0.98,-1.22l0.01,-0.82l-0.67,-0.19l-0.29,0.86l-0.73,0.37l-0.19,0.06l0.24,-0.27l-0.27,-0.52l-0.4,-0.11l-0.76,0.98l-0.97,0.24l-0.67,2.38l-0.33,0.05l-0.36,-0.33l0.03,-4.92l-0.66,-0.64l-1.23,0.46l0.07,-0.72l-0.68,-0.92l0.27,-0.42l-0.12,-1.01l-2.89,-0.21l-0.54,-0.39l-1.37,-0.13l-0.43,-0.56l-1.2,0.69l-0.99,-0.27l-0.29,-0.65l1.23,-0.02l-0.05,-0.92l0.46,-0.72l1.47,-0.11l-0.03,-0.81l-1.33,-0.74l0.14,-0.43l0.85,-0.72l1.34,-0.01l0.43,-0.43l0.58,-4.63l1.27,-1.41l-0.84,-0.73l1.97,-1.03l1.58,0.21l0.44,-0.55l-0.81,-0.46l-0.34,-0.75l-0.6,0.5l-0.57,-0.1l-1.3,0.72l-2.17,0.25l-0.12,0.5l0.5,0.82l-0.72,0.78l-0.48,-0.47l-2.21,-0.3l-2.19,-1.17l-1.56,-1.56l0.03,-0.37l0.7,-0.05l0.04,-0.67l-0.61,-1.28l-0.09,-1.54l0.39,-0.61l-0.72,-0.34l-0.58,-1.19l0.93,-0.28l0.14,-0.6l-1.09,-0.61l1.52,0.14l0.51,-0.46l0.88,0.03l0.05,0.6l1.07,1.2l-1.21,0.44l-0.39,0.39l0.31,0.47l1.11,-0.1l0.47,0.28l1.12,-0.22l0.18,0.15l-0.72,1.13l0.74,0.73l1.63,0.09l0.68,-0.64l-0.26,-0.92l0.44,-0.39l-0.14,-1.27l-0.59,-0.28l-1.31,0.1l-1.81,-1.44l0.01,-0.63l-0.97,-1.12l0.81,0.16l0.53,-0.4l-1.18,-1.08l0.63,-0.51l-0.14,-0.67l1.25,-0.21l0.53,0.32l0.83,-0.05l0.73,-0.46l-0.08,-0.52l-3.03,-0.29l-1.91,0.63l-0.4,0.68l-0.19,-0.22l0.72,-1.02l-0.63,-1.4l0.68,0.09l0.47,-0.54l-0.48,-1.21l0.96,0.46l0.42,-0.51l-0.63,-0.98l1.73,1.01l0.42,-1.53l0.59,-0.35l3.77,-0.6l0.5,0.35l0.25,0.85l-0.36,0.21l0.14,0.47l1.2,0.19l0.3,-0.42l-0.18,-1.0l1.6,-0.11l0.29,-0.63l-1.51,-0.29l0.59,-0.27l0.16,-0.74l0.9,-0.32l1.37,1.16l0.47,-0.57l-0.32,-0.84l0.37,-0.03l1.02,0.42l1.03,1.2l-0.04,0.6l-0.87,-0.06l-0.35,0.64l1.72,0.3l0.1,0.67l1.21,0.8l3.02,0.17l1.92,-0.37l0.11,0.59l2.89,1.88l2.0,0.37l1.83,-0.33l0.67,-0.63l0.41,-1.78l0.72,-1.29l-0.14,-1.81l0.74,0.39l1.24,-0.12l0.86,-0.71l-0.17,-1.62l0.3,-0.04l0.11,-0.44l-0.25,-0.34l-0.83,-0.45l-1.45,0.34l-0.98,-1.22l-1.22,0.1l-0.5,-0.38l-2.79,-0.15l-0.75,0.51l0.35,-0.85l-0.56,-1.94l-1.57,-0.24l-3.01,-2.71l-1.14,-0.28l-0.95,-0.93l-0.77,0.17l-3.27,-3.98l-0.31,-1.07l0.73,-0.34l0.39,-0.82l-0.53,-1.14l0.14,-0.32l0.52,0.26l1.05,-0.26l1.2,1.12l0.36,-0.78l-2.39,-3.21l-1.44,-1.39l-1.03,-2.33l0.73,0.11l1.02,0.72l1.24,-0.42l0.31,0.63l0.57,0.29l1.08,0.2l0.98,-0.22l1.81,0.53l1.37,1.81l1.19,0.53l0.56,-0.47l-0.6,-1.16l1.94,0.62l0.58,0.79l2.66,0.53l1.79,1.18l0.34,0.64l-0.69,0.11l-0.63,0.77l-1.35,-0.42l-0.12,0.69l0.75,0.66l0.19,1.01l2.13,1.87l1.3,0.71l-0.16,0.68l2.13,1.1l0.66,1.36l0.45,0.21l2.16,-0.88l0.7,1.0l-0.4,0.08l0.01,0.51l0.87,0.33l0.96,-0.71l-0.06,-1.11l-0.58,-0.85l0.4,0.0l1.01,2.11l1.88,1.12l0.85,-0.28l0.74,-1.61l-0.17,-0.25l-1.34,-0.47l-0.61,-1.11l-1.03,-0.61l-1.16,0.14l-0.44,-0.38l-0.48,-1.61l1.18,-0.54l0.78,0.4l0.37,-0.59l-0.87,-1.38l-1.35,-0.8l0.0,-1.23l-0.47,-0.25l-1.01,0.43l-3.2,-3.27l0.71,-1.39l0.04,-2.41l-2.35,-5.81l-1.25,-1.7l-0.54,-1.91l1.29,-0.66l1.24,-1.29l3.37,2.86l2.53,1.62l1.6,0.63l4.17,0.25l2.43,-1.65l1.96,0.17l1.51,-0.27l4.46,2.3l3.16,0.43l0.14,0.68l-0.34,0.08l-0.14,0.66l0.53,0.23l0.34,1.4l0.55,-0.29l0.38,-1.21l1.25,0.75l0.88,0.14l0.29,-0.35l-0.22,-0.39l-1.5,-1.03l0.05,-0.38l0.97,-0.06l0.34,0.13l0.34,1.14l0.55,0.33l0.18,-0.22l0.76,0.21l3.84,2.25l2.9,0.43l2.71,-0.19l0.31,0.85l0.85,0.61l0.02,0.66l1.47,0.88l-0.91,-0.04l-0.91,-0.49l-0.93,0.25l0.42,0.83l-0.26,0.43l0.18,0.59l0.73,-0.04l1.12,0.51l1.03,-0.39l1.07,0.65l0.92,-0.02l0.21,0.47l-0.71,0.01l-0.29,0.34l1.75,2.14l1.64,0.18l2.21,1.14l1.47,1.72l0.67,-0.07l0.41,0.37l-1.57,0.55l-0.18,0.63l2.16,1.28l-0.22,0.75l1.74,1.13l0.58,0.79l0.82,-0.05l1.56,0.52l0.51,0.45l0.14,0.61l2.14,0.56l1.96,1.16l1.82,1.63l0.39,0.96l1.19,0.37l1.05,0.92l-0.12,0.41l0.45,0.47l1.93,1.39l4.48,2.43l1.5,1.94l1.21,0.76l1.38,0.67l0.93,0.04l0.77,0.37l0.03,0.38l1.6,0.03l1.23,0.61l0.47,0.58l0.29,-0.26l1.69,1.44l1.68,2.36l1.24,0.84l0.65,1.11l1.25,0.49l-27.91,60.77l0.17,0.48l1.69,1.44l0.83,-0.19l1.44,1.5l2.05,-0.3l2.16,0.82l-0.98,1.08l-0.15,0.61l0.53,1.11l1.01,1.05l0.05,1.28l2.81,5.56l-0.47,2.71l0.54,0.33l1.98,-0.35l0.06,0.23l-1.19,0.71l0.29,0.54l0.84,-0.22l1.03,0.71l0.36,1.46l-0.28,0.03l-0.1,0.51l0.26,0.36l1.11,0.26l-0.24,0.59l0.49,0.49l-0.11,0.51l-0.36,-0.03l-0.12,-0.59l-0.85,-0.8l-0.47,-0.03l-1.0,0.68l-0.32,-0.86l-1.11,-0.57l-1.15,-1.83l0.58,-0.48l-0.09,-0.3l-0.99,-0.27l-0.56,-1.13l-0.02,-1.29l-1.34,-2.12l0.09,-0.76l-1.17,-0.46l-1.47,-1.72l-0.33,-0.8l-1.65,-1.66l1.58,-0.72l-0.4,0.98l0.71,0.53l0.48,-0.34l0.48,-1.49l0.98,0.8l0.73,-0.31l-0.53,-0.92l-0.81,-0.46l-0.73,-1.81l-0.41,-0.17l-2.16,1.02l-2.27,-0.06l-1.73,-1.01l-1.8,-1.85l0.52,-0.4l0.26,-0.96l-0.45,-1.04l-0.92,0.09l-0.12,0.64l-0.81,-0.05l-1.0,-1.05l-3.3,-2.31l-5.2,-1.56l-0.48,-1.29l0.16,-0.55l-1.83,-0.99l-0.64,-1.23l0.85,-0.63l0.26,-0.77l1.16,-0.21l0.15,-0.7l-0.98,-0.3l-2.56,1.0l-1.03,-0.01l-0.22,-0.7l-0.85,-0.75l1.1,-0.51l0.19,-0.4l-0.31,-0.45l-0.64,-0.02l-0.47,-0.8l0.14,-0.59l-0.49,-1.17l-0.45,-0.22l-0.62,0.19l-0.57,-0.49l0.25,-0.73l0.46,-0.09l1.22,0.53l0.42,-0.5l-0.16,-0.48l-1.49,-0.88l-1.82,0.34l-0.6,-0.61l-1.17,-0.28l-0.22,-0.32l0.32,-1.1l-0.72,-0.3l0.35,-0.97l-0.33,-0.29l-2.04,0.78l-0.28,-0.64l-1.38,-0.22l-0.75,0.57l0.31,0.89l-1.75,-0.34l-0.8,0.99l0.26,0.62l0.9,-0.03l-0.2,0.34l-1.52,0.34l-0.23,0.63l0.38,0.29l1.02,-0.16l0.49,0.83l-0.47,0.61l-0.59,-0.24l-0.7,0.58l0.05,0.63l-0.31,0.35l-0.27,-0.15l-0.68,0.39l-1.38,-1.05l0.03,-0.72l-1.08,-0.12l0.11,-0.8l-0.55,-0.46l-1.0,1.06l-1.09,-0.68l-0.44,0.5l-0.48,-0.1l-0.2,0.41l-0.8,-0.43l-0.29,0.55l-0.7,-0.52l-1.3,0.56l-0.16,-0.45l-0.91,-0.04l-0.56,0.81l-1.73,0.25l-1.02,-0.92l-0.6,0.32l-0.44,-0.36l-1.29,0.01l-0.44,-1.08l0.64,0.17l0.17,-0.48l0.68,0.04l0.89,0.91l0.56,-0.11l0.11,-0.54l0.9,0.16l1.67,-0.74l0.32,-0.52l-0.22,-0.4l-2.72,-0.16l-0.79,-1.25l1.54,-1.19l1.91,-0.52l0.81,-0.85l0.52,-0.09l0.76,-1.03l0.15,-1.27l1.37,0.34l3.53,-0.14l0.24,1.07l0.66,0.57l1.41,0.31l2.69,2.59l0.5,-0.37l-0.13,-0.93l-0.99,-0.67l-1.76,-2.54l1.94,-0.66l2.25,0.33l0.05,-0.75l-1.75,-0.86l-1.62,0.15l-0.71,0.63l-1.07,-0.92l-0.7,-0.18l0.17,-0.32l-0.28,-0.7l-1.24,0.32l-1.57,-0.23l-0.99,0.48l-1.49,-0.52l-1.37,0.05l-0.78,0.4l-0.2,0.55l-1.24,-0.08l-1.92,0.49l-0.59,0.81l-0.62,0.26l-0.75,-0.02l-0.97,-1.32l-1.1,-0.29l-0.3,0.28l0.16,0.51l0.44,0.07l0.66,2.11l-0.91,0.44l-2.4,-0.95l-0.46,0.21l0.03,0.68l0.78,0.42l-0.2,0.15l-0.56,0.01l-0.54,-1.57l-0.76,0.74l-0.24,-0.5l-0.88,0.16l-0.13,0.57l-0.85,-0.44l-0.36,0.28l0.3,0.67l-1.93,-0.49l-0.81,1.18l-0.83,0.28l-0.17,1.22l0.33,0.36l0.71,-0.05l1.13,0.82l0.76,1.64l-0.81,0.65l-1.11,0.16l-1.09,-0.54l-0.98,0.53l-0.75,-0.18l-0.37,0.73l-1.4,-0.13l-0.46,0.82l-0.5,-0.62l-0.4,0.44l-1.47,0.04l-1.12,-0.71l-1.09,0.61l-0.67,-0.22l-0.91,0.37l-0.64,-0.78l-0.94,0.73l-0.49,-0.21l-0.32,0.36l-0.62,-0.1l-0.41,-0.5l-0.83,0.37l-2.51,-0.14l-0.57,0.44l0.28,1.17l-0.59,0.14l-1.31,-0.59l-0.58,0.52l-0.3,-0.46l-2.04,0.38l-0.15,-0.68l-0.48,-0.37l-0.79,0.47l-0.83,0.0l-0.29,0.61l-0.03,-0.62l-0.42,-0.3l-1.95,-0.18l-0.77,0.39l-0.34,-0.37l-0.72,-0.1l-1.8,0.43l-0.28,0.75l-0.4,-0.03l-0.82,0.77l-2.9,-0.76l-0.87,-0.79l-0.66,0.16l-0.84,-0.82l-1.36,-0.26l-0.93,0.26ZM89.01,536.65l-0.02,0.01l-0.0,0.03l0.02,-0.04ZM89.06,536.61l0.02,-0.01l-0.01,0.01l-0.0,0.01ZM91.61,484.22l-0.0,0.01l-0.0,-0.01l0.01,0.0ZM87.17,484.0l-0.0,-0.0l0.01,-0.0l-0.0,0.01l-0.01,-0.0ZM186.66,475.29l-0.0,0.02l-0.01,-0.01l0.01,-0.0ZM156.69,531.75l-0.95,1.06l-0.87,0.02l-0.13,-0.28l0.69,-0.51l1.26,-0.28ZM151.45,532.97l-0.11,0.02l0.12,-0.04l-0.01,0.02ZM152.06,535.54l-0.09,-0.14l0.41,-0.11l-0.1,0.3l-0.22,-0.05ZM116.92,535.18l-0.13,0.11l-0.06,-0.02l0.04,-0.19l0.16,0.1ZM90.72,536.66l0.27,-0.19l0.07,0.3l-0.17,0.07l-0.17,-0.19ZM121.46,528.8l-0.0,-0.02l0.04,0.01l-0.03,0.01ZM186.96,558.95l-0.09,-1.09l0.4,-0.11l0.13,0.57l-0.44,0.62ZM196.09,568.76l2.06,0.17l0.88,-0.72l0.4,-0.93l0.62,0.05l0.66,-0.45l0.12,-0.56l3.59,0.11l1.22,2.1l-0.59,0.6l0.11,1.69l1.05,0.86l0.25,0.97l0.46,0.34l0.11,1.76l1.72,2.25l0.24,1.0l-1.26,-0.23l-0.94,0.69l-0.72,1.06l-0.71,-1.34l-1.02,-0.73l0.15,-0.58l-0.32,-1.25l0.48,-1.41l-0.8,-0.55l0.41,-2.32l-0.18,-1.24l0.62,-1.53l-0.66,-0.25l-0.62,0.87l-0.78,-0.09l0.03,0.58l-0.38,0.41l0.37,1.24l-0.41,0.99l0.15,1.56l-0.41,1.27l0.03,2.19l-0.37,0.45l-0.41,-0.46l0.02,-1.59l-0.29,-0.45l-0.66,0.28l-1.11,-0.29l0.47,-0.38l0.24,-0.99l-0.35,-1.47l1.14,0.14l0.45,-0.45l-0.11,-0.36l-0.86,-0.52l-0.27,0.12l-0.01,-1.01l-0.61,-0.4l-0.96,1.15l0.46,0.38l-0.33,0.4l-0.04,-0.54l-0.68,-0.29l0.29,-0.67l-0.28,-0.54l-0.39,-0.02l-0.2,-0.62l-0.47,-0.15l-0.26,0.42l-0.35,-0.7ZM209.19,578.54l0.61,1.19l-0.23,0.77l0.66,1.82l0.05,1.22l1.73,7.29l-0.66,0.56l0.03,0.64l1.0,0.69l-0.59,0.84l0.05,0.52l0.72,0.67l-0.2,1.56l0.37,0.44l1.07,0.31l1.71,2.17l1.4,0.95l0.39,0.88l0.67,0.5l0.09,0.91l1.53,1.02l-0.19,0.84l-1.17,1.01l-0.41,1.68l-0.0,2.19l-2.07,1.87l-1.09,0.57l-0.63,-0.13l-0.02,-1.13l-0.64,0.07l-0.3,1.04l-0.22,0.05l0.16,-1.54l1.09,0.23l2.31,-1.69l-0.23,-0.63l-0.64,0.13l-0.33,-0.61l-0.71,0.13l0.71,-2.09l0.22,-1.84l-0.43,-0.29l-0.4,-1.06l0.62,-0.2l0.58,-0.88l-0.43,-0.27l-1.78,0.52l-0.59,-0.36l-2.75,0.29l-0.13,0.71l0.35,0.37l-0.57,0.72l-0.64,-0.46l-0.2,1.01l-0.3,-0.39l0.1,-0.81l0.89,-0.27l0.51,-0.97l0.54,-0.2l0.43,-1.37l1.49,0.53l1.01,-0.36l-0.17,-0.59l-1.8,-0.6l0.03,-1.02l-0.82,-0.63l0.03,-0.53l-0.51,-0.72l0.35,-0.41l-0.16,-0.68l-0.59,-0.0l0.81,-0.68l0.22,-0.62l-0.41,-0.27l-0.79,0.23l-0.68,-1.21l0.4,-0.26l0.21,-1.19l-0.39,-0.3l-0.8,0.09l-0.48,-1.2l-0.52,-0.26l-0.49,0.27l-0.37,-0.39l0.13,-0.25l1.84,0.29l0.62,-0.37l-0.23,-0.67l-1.19,-0.13l0.23,-0.72l-0.6,-0.28l0.07,-0.27l0.81,-0.01l0.81,1.13l0.62,-0.14l0.04,-0.52l-1.77,-2.58l0.17,-0.56l1.59,1.01l0.37,-0.69l-0.4,-0.48l-1.89,-0.89l0.24,-0.34l-0.2,-0.47l0.54,-0.81l-0.81,-0.3l-0.88,0.87l-0.2,-0.58l0.08,-0.72l0.74,-0.62l0.17,-0.66l0.54,-0.5l0.92,-0.14ZM214.84,608.68l-0.72,0.37l-0.3,-0.26l-0.82,0.1l0.74,-0.58l1.09,0.36ZM207.55,585.56l-0.21,-0.06l0.0,-0.24l0.08,0.17l0.13,0.13ZM124.33,461.82l-0.72,-0.79l0.08,-0.62l0.61,0.33l0.02,1.08ZM96.68,478.86l-0.08,-0.01l0.0,-0.01l0.08,0.02ZM87.61,480.71l-0.14,-0.07l0.02,0.0l0.12,0.07ZM87.75,487.21l-0.01,0.0l-0.04,-0.04l0.05,0.04ZM210.21,605.25l0.95,-0.39l0.15,-0.88l1.01,-0.37l0.59,-1.12l0.76,0.04l0.47,2.53l-1.46,2.49l0.34,-0.93l-0.25,-0.46l0.16,-1.74l-0.39,-0.42l-0.42,0.19l-0.21,0.58l-0.85,0.26l-0.29,1.23l-0.57,-1.01ZM204.53,604.41l0.23,-0.52l-0.58,-0.47l0.16,-0.56l-0.41,-0.26l1.05,-0.38l0.21,-0.67l-2.13,-0.56l1.59,-0.9l0.16,-0.86l-0.36,-0.08l0.35,-1.05l0.21,0.49l1.38,0.95l0.65,1.87l-0.18,0.82l-0.68,0.31l-0.12,0.51l-0.79,0.23l-0.06,0.42l0.07,0.51l0.76,-0.09l-0.11,0.29l0.38,0.45l0.87,0.16l0.31,0.67l-0.54,-0.15l-0.4,0.8l0.23,0.39l0.85,0.22l-1.39,0.74l0.11,0.7l0.57,0.32l-0.22,0.31l0.26,0.63l-0.39,0.4l-0.4,-0.2l0.24,-0.39l-0.45,-1.27l0.19,-0.92l-0.49,-0.5l-0.25,-1.87l-0.67,0.18l-0.2,-0.66ZM204.7,605.12l-0.02,0.03l0.0,-0.0l0.02,-0.03ZM204.91,597.51l-0.15,-0.81l-1.16,-0.79l0.71,0.03l0.44,0.61l0.43,-0.21l0.17,0.98l-0.44,0.18ZM204.03,589.42l1.73,1.0l0.58,0.52l0.11,0.57l0.56,0.15l0.24,-0.39l0.54,0.65l-0.54,1.63l-0.36,-1.55l-0.5,-0.5l-0.56,0.05l-0.21,0.96l0.31,0.54l-0.25,0.39l0.51,0.85l-0.29,0.21l-0.99,-0.68l-0.46,0.33l-0.4,-0.11l0.95,-2.9l-0.98,-1.74ZM204.3,590.82l0.01,0.01l0.01,0.01l-0.01,-0.0l-0.01,-0.01ZM201.28,587.91l0.24,-0.68l0.52,-0.17l-0.03,-0.45l0.42,-0.22l0.35,0.32l0.6,-0.35l-0.0,-0.8l-0.62,-0.4l0.7,-0.07l0.24,-0.65l-1.03,-0.28l-0.02,-1.43l0.48,-2.46l0.45,-0.43l0.87,0.22l0.37,0.4l-0.69,2.23l0.41,0.23l0.08,1.49l0.51,0.53l-0.12,0.39l-0.62,-0.22l-0.31,0.8l-0.69,0.34l0.04,0.32l-0.11,0.42l-0.22,0.32l-1.81,0.61ZM204.42,586.23l0.02,0.16l-0.19,-0.27l0.07,0.06l0.09,0.05ZM203.16,578.77l0.02,-0.02l0.01,0.06l-0.01,0.0l-0.03,-0.05ZM202.08,593.81l-0.03,-0.32l0.05,-0.01l0.09,0.19l-0.11,0.14ZM202.25,593.0l-0.25,-0.54l0.16,-0.07l0.34,0.48l-0.24,0.13ZM201.87,592.45l-0.2,-0.02l-0.02,-0.03l0.04,-0.01l0.17,0.06ZM201.97,591.45l-0.19,-0.44l-0.52,-0.05l0.08,-0.24l1.42,-0.09l-0.01,0.81l-0.39,0.25l-0.38,-0.25ZM195.26,578.67l0.22,-0.17l0.78,1.25l0.56,-0.45l-0.67,-1.58l0.86,0.26l0.05,-1.05l0.36,0.52l1.18,-0.42l0.77,0.97l-0.44,0.2l-0.8,-0.21l-0.17,0.33l-0.79,0.06l0.06,0.48l1.78,2.24l-0.07,0.74l0.9,0.5l1.08,0.01l-0.34,1.59l-0.43,-0.2l-2.75,-3.68l-0.61,0.35l0.09,0.44l-0.28,0.18l0.52,0.86l-0.19,0.56l0.29,0.37l-0.52,0.14l-0.52,-1.4l0.33,-0.19l-0.16,-0.49l-1.1,-2.22ZM197.81,583.65l0.03,-0.01l-0.01,0.04l-0.02,-0.02l-0.0,-0.0ZM197.98,583.86l0.65,0.02l0.94,0.95l0.23,2.78l-0.4,2.69l-0.3,0.89l-0.47,0.37l-0.63,1.95l-0.37,-2.3l1.14,-0.59l-0.06,-0.73l-0.28,-0.06l0.01,-0.56l-0.47,-0.3l-0.19,-0.68l-0.71,-0.04l0.39,-0.63l0.81,-0.06l0.22,-0.32l-0.13,-0.54l-0.66,-0.34l0.68,-0.34l-0.35,-1.27l-0.73,-0.27l0.59,-0.15l0.09,-0.48ZM196.56,583.11l-0.06,-0.04l0.15,-0.08l-0.09,0.12ZM199.05,579.52l1.11,-0.49l0.92,0.47l0.59,0.75l-0.17,0.31l-0.56,-0.63l-0.63,-0.07l-0.13,0.57l0.35,0.67l-1.49,-1.58ZM121.86,538.8l-0.0,-0.01l0.02,0.02l-0.02,-0.01ZM122.16,539.2l0.38,0.41l0.59,-0.1l-0.04,-0.62l0.83,0.53l0.61,-1.11l0.62,0.04l-0.13,0.7l0.46,0.88l-0.67,0.48l-0.23,-0.84l-0.37,-0.03l-0.81,0.68l-0.2,-0.29l-0.67,0.31l-0.36,-1.02ZM125.68,539.91l0.02,-0.0l-0.01,0.0l-0.01,-0.0ZM126.24,540.18l-0.05,-0.09l0.07,0.07l-0.02,0.02ZM126.1,539.97l-0.36,-0.07l0.27,-0.16l0.09,0.23ZM111.97,541.9l0.13,-1.11l-0.41,-0.51l0.57,-0.47l0.58,-0.31l0.5,0.27l1.58,-0.22l0.55,0.47l-0.75,0.07l0.02,0.5l0.56,0.37l-0.31,0.99l0.56,1.75l0.45,0.16l0.28,-0.39l-0.23,-0.7l0.33,-1.09l0.38,0.2l0.37,-0.33l1.06,0.15l0.41,-0.28l0.62,0.17l0.21,0.41l0.91,-0.72l0.49,0.31l-0.22,0.73l0.26,0.4l0.49,-0.02l0.33,-0.47l1.39,0.19l-0.09,0.39l-0.85,0.24l-0.21,0.41l0.21,1.1l0.75,0.33l-0.77,0.3l-2.35,-2.03l-0.88,0.42l-0.02,0.69l-0.56,-0.49l-0.44,0.12l-0.27,0.58l-1.74,-0.5l-0.49,0.58l-0.32,-0.15l-0.13,-0.86l-0.79,-0.03l-1.07,-1.18l-1.1,-0.44ZM119.11,544.38l0.82,0.17l0.33,0.72l-0.52,-0.07l-0.2,-0.66l-0.42,-0.16ZM117.78,540.47l-0.76,-0.83l0.17,-0.28l0.83,0.02l-0.24,1.09ZM121.13,540.99l0.32,0.07l-0.59,0.51l0.31,-0.44l-0.03,-0.14ZM113.0,545.5l-0.71,0.24l-0.07,-0.11l0.36,-0.03l0.42,-0.1ZM111.68,543.33l0.69,-0.15l0.23,0.13l-0.51,0.43l-0.41,-0.41ZM76.93,452.59l0.44,-0.56l0.74,-0.21l0.04,0.98l0.81,0.62l0.81,1.25l1.59,0.48l1.11,0.77l0.29,0.97l-0.62,0.7l1.28,1.78l-0.03,0.76l0.83,0.73l0.06,0.6l-0.76,-0.35l-1.49,0.03l-0.08,-1.15l-0.71,-1.29l0.16,-0.62l-1.2,-2.9l-0.96,-0.77l-1.79,-0.42l-0.51,-1.4ZM84.52,461.74l0.69,0.18l0.56,0.73l-0.43,0.12l-0.82,-1.03ZM75.58,485.5l0.07,-0.44l1.7,1.61l0.78,-0.27l0.53,0.4l0.88,-0.0l-0.06,0.37l0.83,0.24l0.29,0.89l1.02,0.89l-0.67,0.62l-0.55,1.49l-2.66,-1.39l-0.92,-0.99l-0.64,-2.06l-0.55,-0.58l-0.06,-0.77ZM55.82,528.18l0.22,-0.57l1.29,0.26l2.05,-0.81l0.73,0.9l0.76,-0.1l1.99,0.58l0.55,0.5l0.05,0.8l-0.49,1.14l-1.03,0.31l-2.5,-1.87l-2.52,0.16l-1.15,-0.81l0.05,-0.5ZM37.73,525.86l0.44,0.13l0.4,0.44l-0.66,-0.33l-0.17,-0.24ZM43.99,527.71l-0.32,-0.33l-0.55,0.04l0.82,-0.2l0.41,-0.61l-1.11,-1.43l0.35,-0.53l1.55,0.81l-0.4,0.52l0.03,0.83l-0.39,0.13l-0.39,0.76ZM42.84,527.18l-0.0,-0.0l0.0,0.0l0.0,0.0ZM43.98,526.54l0.02,-0.01l0.01,0.01l-0.02,0.0l-0.0,-0.0ZM42.63,527.12l-0.35,0.44l-0.22,-0.21l0.3,-0.36l-0.18,-0.32l0.39,-0.07l0.05,0.51ZM42.72,526.39l-0.0,-0.06l0.01,0.01l-0.01,0.05ZM31.87,524.21l0.91,-0.8l0.8,0.02l0.72,0.69l-1.15,0.35l-1.28,-0.25ZM35.31,524.02l0.44,-0.89l0.8,-0.04l0.97,0.45l0.25,0.65l-0.43,0.37l-2.04,-0.54ZM4.9,508.63l0.28,0.1l-0.04,0.24l-0.12,0.03l-0.12,-0.37ZM6.12,508.53l-0.05,-0.66l0.53,0.07l0.12,0.71l-0.59,-0.13Z\",\\n      \"name\": \"Alaska\"\\n    },\\n    \"US-NJ\": {\\n      \"path\": \"M801.65,165.2l1.31,-1.55l0.48,-1.57l0.5,-0.62l0.54,-1.45l0.11,-2.05l0.67,-1.35l0.92,-0.71l14.12,4.16l-0.4,6.03l-0.35,0.55l-0.23,-0.44l-0.7,0.11l-0.26,1.18l-0.76,0.97l0.12,1.42l-0.46,0.6l0.08,1.71l0.58,0.62l1.2,0.29l1.38,-0.43l2.3,0.24l0.9,6.92l-0.56,0.39l0.18,0.66l-0.61,0.95l0.46,0.58l-0.21,0.6l0.53,1.94l-0.47,2.0l0.11,0.61l0.62,0.64l-0.39,1.13l-0.49,0.45l-0.01,0.59l-0.93,1.13l0.02,0.52l-1.07,0.1l0.09,1.21l0.64,0.83l-0.82,0.56l-0.18,1.15l1.05,0.77l-0.31,0.29l-0.17,-0.44l-0.53,-0.18l-0.5,0.22l-0.44,1.51l-1.28,0.61l-0.2,0.45l0.46,0.55l0.8,0.06l-0.66,1.26l-0.26,1.5l-0.68,0.65l0.19,0.48l0.4,0.04l-0.89,1.57l0.07,0.95l-1.65,1.72l-0.12,-1.34l0.36,-2.44l-0.11,-0.87l-0.58,-0.82l-0.89,-0.28l-1.11,0.34l-0.81,-0.35l-1.51,0.88l-0.31,-0.7l-1.62,-0.96l-1.0,0.04l-0.65,-0.71l-0.7,0.07l-3.24,-2.03l-0.06,-1.73l-1.02,-0.94l0.48,-0.68l0.0,-0.87l0.43,-0.83l-0.12,-0.73l0.51,-1.18l1.2,-1.16l2.6,-1.49l0.54,-0.86l-0.38,-0.85l0.5,-0.37l0.47,-1.44l1.24,-1.7l2.52,-2.22l0.18,-0.67l-0.47,-0.82l-4.26,-2.78l-0.75,-1.05l-0.9,0.24l-0.48,-0.33l-1.24,-2.46l-1.62,-0.02l-1.0,-3.44l1.02,-1.03l0.36,-2.23l-1.87,-1.91Z\",\\n      \"name\": \"New Jersey\"\\n    },\\n    \"US-CO\": {\\n      \"path\": \"M364.23,239.52l-1.22,65.86l-29.29,-0.9l-29.38,-1.43l-29.35,-1.95l-32.17,-2.75l8.32,-87.13l27.79,2.39l28.22,1.92l29.58,1.46l27.95,0.87l-0.46,21.65Z\",\\n      \"name\": \"Colorado\"\\n    },\\n    \"US-MD\": {\\n      \"path\": \"M740.67,219.62l-2.04,-10.06l19.85,-4.49l-0.66,1.29l-0.94,0.08l-1.54,0.81l0.16,0.7l-0.42,0.49l0.23,0.78l-1.76,0.5l-1.48,0.03l-1.14,-0.39l0.21,-0.36l-0.3,-0.49l-1.11,-0.31l-0.47,1.8l-1.63,2.84l-1.37,-0.39l-1.03,0.62l-0.41,1.26l-1.6,1.93l-0.36,1.04l-0.88,0.45l-1.3,1.87ZM760.74,204.54l36.93,-9.13l8.48,26.19l0.45,0.26l1.06,-0.21l8.18,-2.08l-0.9,0.53l0.31,0.64l0.52,0.01l0.37,0.76l0.52,-0.05l-0.38,1.96l-0.12,-0.26l-0.47,0.07l-0.73,0.86l-0.17,2.7l-0.6,0.19l-0.36,0.71l-0.02,1.66l-3.62,1.37l-0.45,0.7l-2.2,0.43l-0.56,0.65l-0.3,-1.09l0.5,-0.31l0.86,-1.84l-0.4,-0.51l-0.45,0.12l0.08,-0.5l-0.44,-0.42l-2.29,0.63l0.3,-0.6l1.15,-0.83l-0.17,-0.69l-1.36,-0.18l0.38,-2.24l-0.18,-1.02l-0.91,0.16l-0.53,1.76l-0.34,-0.68l-0.62,-0.07l-0.44,0.47l-0.5,1.39l0.53,1.02l-2.87,-2.14l-0.43,-0.19l-0.61,0.36l-0.73,-0.76l0.33,-1.67l0.76,-0.6l-0.08,-1.35l2.55,0.23l0.78,-1.5l-0.32,-1.42l-0.72,0.27l-0.28,1.29l-0.98,-0.25l-0.38,-1.07l-0.52,-0.28l-0.55,0.23l-0.22,-0.68l-0.63,0.08l1.0,-0.82l0.22,-1.04l-0.54,-0.55l-0.75,0.83l-0.21,-0.61l1.06,-0.92l-0.25,-0.65l-0.54,-0.08l-0.51,-0.75l-0.42,0.22l-0.53,-0.37l0.83,-1.03l-0.24,-1.02l0.84,-1.95l-0.07,-0.86l-0.46,0.02l-0.66,0.66l-0.56,-0.16l-0.48,0.45l-0.19,0.97l-0.95,-1.2l0.75,-3.46l0.59,-0.51l0.07,-0.74l3.89,-0.78l0.49,-0.41l-0.23,-0.67l-0.45,-0.07l-2.38,0.56l0.88,-1.55l1.42,-0.05l0.35,-0.5l-0.99,-0.67l0.44,-1.9l-0.63,-0.32l-0.48,0.39l-0.87,1.96l0.21,-2.02l-0.59,-0.34l-0.88,1.43l-1.42,0.34l-0.31,1.65l0.39,0.53l0.65,0.12l-1.45,1.92l-0.2,-1.64l-0.64,-0.42l-0.61,0.73l0.07,1.45l-0.85,-0.29l-1.16,0.64l0.02,0.71l1.01,0.27l-0.37,0.54l-0.83,0.22l-0.05,0.34l-0.44,-0.04l-0.35,0.64l1.2,1.22l-0.29,0.17l-1.52,-0.76l-1.33,0.48l0.16,0.69l0.82,0.1l1.26,1.21l1.49,0.58l0.1,0.28l-0.44,0.33l-1.37,0.5l-0.12,1.19l1.83,1.04l0.47,0.63l-0.66,-0.43l-1.05,0.29l0.2,0.64l0.92,0.48l-0.34,0.47l0.4,1.15l0.6,0.09l-0.63,1.26l0.13,0.43l0.63,0.65l1.28,4.18l2.83,2.58l-0.01,0.35l-0.38,0.54l-0.67,-1.23l-1.21,-0.22l-1.69,-0.87l-1.51,-3.64l-0.74,-0.68l-0.28,0.69l1.17,3.94l0.65,0.92l1.45,0.81l1.3,0.31l1.49,1.39l0.89,-0.33l0.37,1.32l1.47,1.47l0.1,1.07l-1.08,-0.68l-0.33,-1.23l-0.63,-0.45l-0.45,0.04l-0.13,0.44l0.27,0.78l-0.74,0.13l-0.62,-0.73l-1.16,-0.38l-1.53,0.0l-0.92,0.43l-0.55,-0.2l-1.0,-2.19l-1.26,-0.71l-0.46,0.14l0.01,0.48l1.19,2.0l-0.67,-0.12l-0.28,-0.5l-0.89,-0.4l-1.61,-2.6l-0.48,-0.14l-0.43,1.47l-0.25,-0.74l-0.62,-0.04l-0.4,0.46l0.33,0.72l-0.18,0.69l-0.64,0.59l-0.57,-0.26l-0.63,-1.86l0.25,-1.14l0.71,-0.37l0.2,-0.51l-0.37,-0.52l0.83,-0.52l0.21,-1.61l1.06,-0.35l0.07,-0.66l-0.33,-0.42l0.23,-0.42l-0.38,-0.38l-0.04,-0.7l1.27,-2.2l-0.14,-0.54l-2.72,-1.68l-0.56,0.14l-0.69,1.19l-1.81,-0.37l-1.09,-1.19l-2.96,-0.09l-1.25,-0.91l0.61,-1.35l-0.4,-0.97l-1.19,-0.3l-0.89,-0.66l-2.69,0.07l-0.36,-0.23l-0.11,-1.26l-1.04,-0.6l0.09,-1.2l-0.51,-0.29l-0.49,0.19l-0.23,-0.64l-0.52,-0.13l0.26,-0.83l-0.45,-0.58l-0.69,-0.12l-1.81,0.67l-2.24,-1.27ZM790.07,212.25l0.29,-0.0l0.93,0.21l-0.44,0.4l-0.78,-0.61ZM796.79,218.15l0.0,0.16l-0.13,-0.11l0.13,-0.06ZM803.02,225.62l-0.02,0.33l-0.21,-0.15l0.23,-0.19ZM806.99,229.08l-0.16,0.3l-0.12,0.07l0.02,-0.25l0.26,-0.12ZM797.54,220.57l-0.06,0.01l-0.09,0.03l0.12,-0.06l0.03,0.02ZM797.21,220.69l-0.26,0.57l-0.18,0.12l0.15,-0.61l0.29,-0.07ZM796.09,217.04l-0.61,0.32l-0.58,-0.42l0.02,-0.53l0.16,-0.23l0.68,0.3l0.32,0.56ZM794.46,213.09l-0.25,0.5l-0.8,0.39l0.15,-1.17l0.9,0.27Z\",\\n      \"name\": \"Maryland\"\\n    },\\n    \"US-MA\": {\\n      \"path\": \"M820.4,120.02l30.04,-8.0l1.53,-1.8l0.34,-1.48l0.95,-0.35l0.61,-1.04l1.17,-1.05l1.35,-0.1l-0.44,1.05l1.03,0.32l0.21,1.55l1.17,0.55l-0.06,0.32l0.39,0.28l1.31,0.19l-0.17,0.56l-2.29,1.79l-0.05,1.07l0.45,0.16l-1.11,1.41l0.23,1.08l-1.01,0.96l0.58,1.41l1.4,0.45l0.5,0.63l1.36,-0.57l0.33,-0.59l1.2,0.09l0.79,0.47l0.23,0.68l1.79,1.37l-0.07,1.25l-0.56,0.55l0.12,0.6l1.23,0.66l1.73,-0.23l0.68,1.2l0.21,1.14l0.89,0.68l1.33,0.41l1.48,-0.12l0.43,0.38l1.05,-0.23l2.92,-2.34l0.82,-1.11l0.54,0.02l0.56,1.86l-3.32,1.52l-0.94,0.82l-2.75,0.98l-0.49,1.64l-1.93,1.37l-0.82,-2.64l0.11,-1.34l-0.55,-0.31l-0.5,0.39l-0.93,-0.1l-0.3,0.51l0.25,0.92l-0.26,0.79l-0.4,0.06l-0.63,1.1l-0.6,-0.2l-0.5,0.48l0.22,1.86l-0.9,0.87l-0.63,-0.8l-0.47,0.01l-0.11,0.55l-0.26,0.03l-0.71,-2.03l-1.02,-0.35l0.44,-2.5l-0.21,-0.4l-0.78,0.4l-0.29,1.47l-0.69,0.2l-1.4,-0.64l-0.78,-2.12l-0.8,-0.22l-0.78,-2.15l-0.49,-0.24l-6.13,2.0l-0.3,-0.15l-14.84,4.19l-0.28,0.5l-0.46,-0.28l-0.86,0.17l-9.54,2.36l-0.25,-0.18l-0.32,-14.66ZM860.63,110.12l-0.02,-0.37l-0.14,-0.48l0.51,0.23l-0.35,0.62ZM876.24,122.86l-0.12,-0.42l0.25,0.35l-0.13,0.06ZM875.23,121.15l-0.78,0.0l-0.55,-1.2l0.56,0.44l0.77,0.76ZM871.43,119.57l-0.08,0.14l-0.09,-0.07l0.0,-0.0l0.17,-0.07Z\",\\n      \"name\": \"Massachusetts\"\\n    },\\n    \"US-AL\": {\\n      \"path\": \"M608.67,337.4l25.17,-2.91l19.4,-2.75l14.04,43.29l1.01,2.45l1.17,1.59l0.59,1.87l2.24,2.5l0.92,1.8l-0.11,2.13l1.8,1.13l-0.17,0.74l-0.63,0.1l-0.16,0.7l-0.98,0.84l-0.22,2.29l0.25,1.48l-0.76,2.3l-0.14,1.84l1.1,2.94l1.21,1.52l0.53,1.6l-0.08,5.02l-0.25,0.81l0.48,2.03l1.35,1.16l1.14,2.07l-47.64,6.92l-0.42,0.61l-0.08,2.99l2.64,2.75l2.0,0.96l-0.34,2.7l0.56,1.61l0.43,0.39l-0.94,1.69l-1.24,1.0l-1.13,-0.75l-0.34,0.49l0.66,1.46l-2.81,1.05l0.29,-0.63l-0.45,-0.86l-0.99,-0.76l-0.1,-1.11l-0.57,-0.22l-0.52,0.61l-0.32,-0.1l-0.89,-1.53l0.41,-1.67l-0.97,-2.21l-1.32,-0.65l-0.3,-0.89l-0.56,-0.17l-0.37,0.61l0.15,0.35l-0.77,3.1l-0.01,5.08l-0.59,0.0l-0.24,-0.71l-2.22,-0.44l-1.64,0.31l-5.46,-31.98l-0.99,-66.48l-0.02,-0.37l-1.07,-0.63l-0.69,-1.02Z\",\\n      \"name\": \"Alabama\"\\n    },\\n    \"US-MO\": {\\n      \"path\": \"M468.72,225.49l24.71,-0.73l18.94,-1.42l22.1,-2.58l0.42,0.35l0.39,0.91l2.43,1.65l0.29,0.74l1.21,0.87l-0.51,1.36l-0.1,3.21l0.78,3.65l0.95,1.44l0.03,1.59l1.11,1.37l0.46,1.55l4.96,4.1l1.06,1.69l4.93,3.31l0.7,1.15l0.27,1.62l0.5,0.82l-0.18,0.69l0.47,1.8l0.97,1.63l0.77,0.73l1.04,0.16l0.83,-0.56l0.84,-1.4l0.57,-0.19l2.41,0.61l1.68,0.76l0.84,0.77l-0.97,1.95l0.26,2.28l-2.37,6.86l0.01,1.02l0.7,1.92l4.67,4.05l1.99,1.05l1.46,0.09l1.66,1.3l1.92,0.8l1.5,2.11l2.04,0.83l0.42,2.96l1.72,2.9l-1.1,1.94l0.18,1.38l0.75,0.33l2.31,4.25l1.94,0.92l0.55,-0.32l0.0,-0.65l0.87,1.1l1.07,-0.08l0.14,1.85l-0.37,1.07l0.53,1.59l-1.07,3.86l-0.51,0.07l-1.37,-1.13l-0.65,0.13l-0.78,3.34l-0.52,0.74l0.13,-1.06l-0.56,-1.09l-0.97,-0.2l-0.74,0.63l0.02,1.05l0.53,0.66l-0.04,0.7l0.58,1.34l-0.2,0.4l-1.2,0.39l-0.17,0.41l0.15,0.55l0.86,0.84l-1.71,0.37l-0.14,0.62l1.53,1.97l-0.89,0.75l-0.63,2.13l-10.61,1.42l1.06,-2.28l0.87,-0.61l0.18,-0.87l1.43,-0.96l0.25,-0.96l0.63,-0.37l0.29,-0.59l-0.22,-2.28l-1.05,-0.75l-0.2,-0.77l-1.09,-1.18l-39.24,3.6l-37.71,2.58l-3.21,-58.18l-1.03,-0.63l-1.2,-0.02l-1.52,-0.73l-0.19,-0.93l-1.11,-1.3l-0.36,-1.55l-0.55,-0.09l-0.3,-0.56l-1.13,-0.66l-1.4,-1.84l0.73,-0.51l0.09,-1.24l1.12,-1.27l0.09,-0.79l1.01,0.16l0.56,-0.43l-0.2,-2.24l-1.02,-0.74l-0.32,-1.1l-1.17,-0.01l-1.31,0.96l-0.81,-0.7l-0.73,-0.17l-2.67,-2.35l-1.05,-0.28l0.13,-1.6l-1.32,-1.72l0.1,-1.01l-0.37,-0.36l-1.01,-0.18l-0.59,-0.85l-0.84,-0.26l0.07,-0.52l-1.24,-2.88l-0.0,-0.74l-0.4,-0.49l-0.85,-0.29l-0.05,-0.54ZM583.78,294.53l-0.1,-0.1l-0.08,-0.15l0.11,-0.01l0.07,0.26Z\",\\n      \"name\": \"Missouri\"\\n    },\\n    \"US-MN\": {\\n      \"path\": \"M443.67,67.68l-0.4,-1.37l0.05,-1.19l-0.48,-0.53l-1.36,-3.77l0.0,-3.22l-0.47,-1.97l0.27,-1.12l-0.57,-2.32l0.73,-2.56l-2.06,-6.89l29.55,-1.22l0.47,-0.81l-0.38,-7.12l2.84,0.15l1.24,0.82l0.38,2.69l1.73,5.31l0.13,2.3l0.52,0.86l1.46,1.05l1.3,0.49l3.23,-0.36l0.39,0.85l0.54,0.38l5.25,0.04l0.38,0.24l0.54,1.58l0.72,0.61l4.27,-0.78l0.77,-0.65l0.07,-0.69l0.69,-0.35l1.74,-0.44l3.97,-0.02l1.42,0.7l3.38,0.66l-1.01,0.79l0.0,0.82l0.51,0.45l2.91,-0.06l0.52,2.08l1.58,2.29l0.71,0.05l1.03,-0.78l-0.04,-1.73l2.67,-0.46l1.43,2.16l2.01,0.79l1.54,0.18l0.54,0.57l-0.03,0.83l0.58,0.35l1.32,0.06l0.19,0.75l0.41,0.1l1.2,-0.22l1.12,0.22l2.21,-0.85l2.78,-2.55l2.49,-1.54l1.24,2.52l0.96,0.51l2.23,-0.66l0.87,0.36l5.98,-1.3l0.56,0.18l1.32,1.64l1.24,0.59l0.62,-0.01l1.61,-0.83l1.3,0.1l-0.89,1.0l-4.69,3.07l-6.35,2.82l-3.68,2.47l-2.15,2.49l-0.96,0.57l-6.62,8.67l-0.95,0.61l-1.07,1.56l-1.96,1.97l-4.18,3.55l-0.86,1.78l-0.55,0.44l-0.14,0.96l-0.78,-0.01l-0.46,0.51l0.98,12.22l-0.79,1.2l-1.04,0.08l-0.52,0.82l-0.83,0.15l-0.61,0.83l-2.06,1.19l-0.94,1.86l0.06,0.72l-1.69,2.39l-0.01,2.06l0.38,0.91l2.15,0.39l1.42,2.49l-0.52,1.92l-0.71,1.25l-0.05,2.12l0.45,1.32l-0.71,1.23l0.91,3.14l-0.51,4.08l3.95,3.03l3.02,0.4l1.89,2.25l2.87,0.5l2.45,1.93l2.39,3.59l2.63,1.8l2.09,0.09l1.07,0.71l0.88,0.1l0.82,1.36l1.26,0.84l0.28,2.03l0.68,1.3l0.39,4.82l-40.62,3.2l-40.63,2.09l-1.46,-38.98l-1.52,-2.05l-2.57,-0.79l-0.94,-1.91l-1.46,-1.79l0.21,-0.68l2.82,-2.34l0.93,-2.03l0.43,-2.53l-0.35,-1.58l0.23,-1.86l-0.18,-1.51l-0.5,-1.03l-0.18,-2.33l-1.81,-2.59l-0.47,-1.13l-0.21,-2.16l-0.66,-0.98l0.15,-1.66l-0.35,-1.52l0.53,-2.69l-1.08,-1.85l-0.49,-8.32l-0.42,-0.79l0.06,-3.92l-1.58,-3.95l-0.53,-0.65Z\",\\n      \"name\": \"Minnesota\"\\n    },\\n    \"US-CA\": {\\n      \"path\": \"M3.07,175.36l0.87,-1.1l0.96,0.24l1.21,-2.15l0.92,0.12l0.64,-0.23l0.41,-0.57l-0.27,-0.82l-0.71,-0.36l1.52,-2.68l0.12,-0.78l-0.43,-0.48l0.1,-1.34l0.85,-0.88l1.17,-2.25l1.26,-3.01l0.39,-2.1l-0.28,-1.0l0.05,-3.89l-1.25,-1.24l0.92,-1.24l0.94,-2.81l32.73,8.13l32.57,7.34l-13.67,64.67l25.44,34.66l36.59,51.09l13.3,17.72l-0.19,2.73l0.73,0.94l0.21,1.71l0.85,0.63l0.81,2.56l-0.07,0.91l0.63,1.46l-0.16,1.36l3.8,3.82l0.01,0.5l-1.95,1.53l-3.11,1.26l-1.2,1.99l-1.72,1.14l-0.33,0.81l0.38,1.03l-0.51,0.51l-0.1,0.9l0.08,2.29l-0.6,0.72l-0.64,2.44l-2.02,2.47l-1.6,0.14l-0.42,0.51l0.33,0.89l-0.59,1.34l0.54,1.11l-0.01,1.19l-0.78,2.68l0.57,1.02l2.74,1.13l0.34,0.83l-0.19,2.4l-1.18,0.78l-0.42,1.37l-2.27,-0.62l-1.26,0.61l-43.36,-3.35l0.04,-0.76l0.39,-0.07l0.3,-0.56l-0.12,-1.38l-1.1,-1.65l-1.08,0.02l0.16,-1.13l-0.24,-1.11l0.35,-0.13l0.36,-0.93l0.05,-2.47l-0.39,-2.64l-2.46,-5.66l-3.47,-4.07l-1.29,-1.98l-2.42,-2.12l-2.07,-2.86l-2.01,-1.04l-1.23,0.18l-0.29,0.88l-1.56,-0.95l-0.11,-0.38l0.63,-0.52l0.22,-0.95l-0.46,-2.65l-1.0,-1.95l-0.7,-0.58l-2.17,-0.43l-1.45,-0.13l-1.11,0.3l-0.49,-0.59l-1.66,-0.65l-3.05,-1.95l-1.24,-1.35l-0.54,-2.64l-0.89,-0.66l-1.77,-2.24l-1.66,-1.3l-1.92,-0.51l-1.09,0.24l-1.1,-0.72l-1.51,-0.14l-2.0,-1.52l-2.34,-0.84l-5.72,-0.67l-0.4,-1.69l-1.01,-0.93l-0.92,-0.35l1.28,-2.62l-0.33,-1.38l0.84,-2.21l-0.65,-1.27l1.18,-2.39l0.32,-2.41l-0.99,-1.24l-1.32,-0.26l-1.34,-1.39l-0.08,-0.75l1.44,-1.4l-0.5,-2.3l-0.34,-0.54l-1.68,-0.76l-1.88,-4.27l-1.79,-1.16l-0.32,-2.63l-1.62,-2.61l-0.22,-2.75l-1.01,-0.76l-1.13,-3.38l-2.16,-2.3l-0.75,-1.6l0.04,-3.93l0.55,-1.46l-0.54,-0.6l0.52,-0.53l0.56,0.71l0.58,-0.1l0.8,-0.59l0.9,-1.64l0.83,0.01l0.08,-0.52l-0.51,-0.5l0.4,-0.88l-0.05,-0.93l-0.49,-2.22l-0.61,-1.2l-0.6,-0.44l-0.92,0.25l-2.02,-0.43l-1.45,-1.81l-0.86,-2.15l-0.53,-0.38l-0.32,-1.18l-0.46,-0.5l0.04,-1.12l0.85,-2.26l-0.21,-2.94l-0.89,-1.29l1.1,-2.74l0.21,-2.34l1.33,-0.2l0.23,1.52l-0.62,0.31l-0.1,2.71l1.73,1.17l0.7,1.42l1.0,0.72l0.4,1.01l0.89,0.41l0.85,-0.4l-0.19,-1.18l-0.68,-0.51l-0.37,-1.53l0.13,-1.99l-0.54,-1.26l-0.37,-0.02l-0.11,-0.14l0.62,-0.35l-0.0,-0.34l-1.62,-1.2l0.69,-0.67l-0.17,-1.88l-0.94,-0.36l-0.3,-0.61l1.07,-0.66l0.99,-0.01l0.96,-0.71l1.25,1.03l2.63,-0.1l5.01,2.23l0.53,-0.22l0.04,-0.59l0.61,-0.67l-0.3,0.75l0.39,0.76l0.81,-0.06l0.35,-0.49l1.35,1.6l0.7,-0.16l0.02,-0.38l-0.53,-1.14l-0.97,-0.74l-0.27,-0.8l-0.66,-0.38l-1.09,-0.07l0.27,-0.58l-0.25,-0.54l-2.48,1.29l-0.7,-0.34l-0.75,0.18l-0.18,-0.55l-1.09,-0.25l0.28,-0.66l-0.36,-0.69l-1.09,-0.17l-1.86,1.57l-0.34,-0.46l-1.36,-0.54l-0.36,-0.88l-1.36,-1.35l-2.59,0.52l0.1,0.92l-0.7,1.21l0.53,0.72l-0.88,0.92l-0.07,2.28l-0.37,-0.09l-1.52,-2.07l-1.18,-0.34l-1.16,-2.44l-1.41,-1.2l0.09,-0.69l-0.68,-0.18l0.73,-1.18l0.93,2.05l0.44,0.25l0.33,-0.38l-1.77,-5.65l-0.41,-0.59l-0.57,-0.2l0.2,-0.84l-0.53,-2.28l-2.72,-3.32l-1.0,-2.99l-3.45,-6.17l-0.03,-0.38l1.14,-1.43l0.12,-0.85l-0.51,-6.75l0.61,-1.87l1.33,-2.02l0.4,-3.04l-0.36,-1.21l0.19,-2.39l-0.7,-1.04l-1.24,-3.68l-0.57,-0.53l0.1,-0.93l-0.32,-0.88l-1.04,-0.88l-2.01,-3.32l0.52,-1.23l-0.26,-2.71l2.38,-3.44ZM33.36,240.61l0.01,-0.01l0.01,0.01l-0.02,-0.01ZM45.67,326.22l-0.02,0.03l0.02,-0.03l0.01,0.01ZM31.63,240.38l-0.09,0.14l-0.63,0.23l-0.2,-0.07l0.92,-0.3Z\",\\n      \"name\": \"California\"\\n    },\\n    \"US-IA\": {\\n      \"path\": \"M452.94,162.22l42.82,-2.19l40.55,-3.19l0.96,2.52l2.0,1.0l0.08,0.59l-0.9,1.8l-0.16,1.04l0.9,5.09l0.92,1.26l0.39,1.75l1.46,1.72l4.94,0.85l1.27,2.03l-0.3,1.03l0.29,0.66l3.61,2.37l0.85,2.41l3.84,2.31l0.62,1.68l-0.31,4.21l-1.64,1.98l-0.5,1.94l0.13,1.28l-1.26,1.36l-2.51,0.97l-0.89,1.18l-0.55,0.25l-4.56,0.83l-0.89,0.73l-0.61,1.71l-0.15,2.55l0.4,1.08l2.01,1.47l0.54,2.65l-1.87,3.25l-0.22,2.24l-0.52,1.42l-2.88,1.39l-1.02,1.02l-0.2,0.99l0.72,0.87l0.2,2.15l-0.58,0.23l-1.34,-0.82l-0.31,-0.76l-1.29,-0.82l-0.29,-0.51l-0.88,-0.36l-0.3,-0.82l-0.95,-0.68l-22.3,2.61l-15.12,1.17l-7.59,0.51l-20.78,0.47l-0.22,-1.06l-1.3,-0.73l-0.33,-0.67l0.58,-1.16l-0.21,-0.95l0.22,-1.39l-0.36,-2.19l-0.6,-0.73l0.07,-3.65l-1.05,-0.5l0.05,-0.91l0.71,-1.02l-0.05,-0.44l-1.31,-0.56l0.33,-2.54l-0.41,-0.45l-0.89,-0.16l0.23,-0.8l-0.3,-0.58l-0.51,-0.25l-0.74,0.23l-0.42,-2.81l0.5,-2.36l-0.2,-0.67l-1.36,-1.71l-0.08,-1.92l-1.78,-1.54l-0.36,-1.74l-1.09,-0.94l0.03,-2.18l-1.1,-1.87l0.21,-1.7l-0.27,-1.08l-1.38,-0.67l-0.87,-2.17l0.05,-0.63l-1.81,-1.82l0.56,-1.61l0.54,-0.47l0.73,-2.68l0.0,-1.68l0.55,-0.69l0.21,-1.19l-0.51,-2.24l-1.33,-0.29l-0.05,-0.73l0.45,-0.56l-0.0,-1.71l-0.95,-1.42l-0.05,-0.87Z\",\\n      \"name\": \"Iowa\"\\n    },\\n    \"US-MI\": {\\n      \"path\": \"M612.25,185.8l1.83,-2.17l0.7,-1.59l1.18,-4.4l1.43,-3.05l1.01,-5.05l0.09,-5.37l-0.86,-5.54l-2.4,-5.17l0.6,-0.5l0.3,-0.79l-0.57,-0.42l-1.08,0.55l-3.82,-7.03l-0.21,-1.1l1.13,-2.68l-0.01,-0.97l-0.74,-3.13l-1.29,-1.65l-0.05,-0.62l1.73,-2.73l1.22,-4.14l-0.21,-5.35l-0.77,-1.59l1.09,-1.15l0.81,-0.02l0.56,-0.47l-0.27,-3.49l1.08,-0.11l0.67,-1.43l1.18,0.47l0.66,-0.33l0.76,-2.59l0.82,-1.2l0.56,-1.68l0.55,-0.18l-0.58,0.87l0.6,1.65l-0.71,1.8l0.71,0.42l-0.48,2.61l0.88,1.43l0.73,-0.05l0.52,0.56l0.64,-0.24l0.89,-2.26l0.67,-3.51l-0.08,-2.07l-0.76,-3.42l0.58,-1.02l2.13,-1.64l2.74,-0.55l0.98,-0.63l0.28,-0.64l-0.25,-0.54l-1.76,-0.11l-0.96,-0.86l-0.52,-1.98l1.85,-2.98l-0.1,-0.73l1.72,-0.23l0.74,-0.94l4.16,2.0l0.83,0.12l1.98,-0.4l1.37,0.4l1.19,1.04l0.53,1.15l0.77,0.49l2.41,-0.29l1.7,1.01l1.92,0.09l0.8,0.64l3.27,0.45l1.1,0.77l-0.01,1.12l1.04,1.31l0.64,0.21l0.37,0.91l-0.14,0.55l-0.67,-0.25l-0.94,0.57l-0.23,1.83l0.81,1.29l1.6,0.98l0.69,1.37l0.65,2.26l-0.12,1.73l0.77,5.57l-0.14,0.59l-0.58,0.21l-0.48,0.96l-0.74,0.07l-0.8,0.81l-0.17,4.47l-1.12,0.49l-0.18,0.82l-1.86,0.43l-0.72,0.6l-0.58,2.61l0.26,0.45l-0.21,0.52l0.25,2.57l1.38,1.31l2.89,0.84l0.91,-0.08l1.08,-1.23l0.6,-1.44l0.62,0.19l0.39,-0.24l1.01,-3.59l0.6,-1.06l-0.08,-0.51l0.97,-1.45l1.39,-0.39l1.07,-0.69l0.83,-1.1l0.87,-0.44l2.06,0.59l1.13,0.7l1.0,1.09l1.21,2.16l2.01,5.91l0.82,1.6l1.03,3.71l1.49,3.63l1.29,1.74l-0.34,3.92l0.45,2.48l-0.48,2.79l-0.36,0.45l-0.57,-1.21l0.03,-0.85l-1.46,-0.52l-0.47,0.08l-1.48,1.36l-0.06,0.83l0.55,0.67l-0.82,0.57l-0.29,0.79l0.28,2.94l-0.48,0.75l-1.62,0.92l-1.06,1.85l-0.43,3.73l0.27,1.56l-0.33,0.93l-0.42,0.19l0.02,0.91l-0.64,0.3l-0.89,1.6l-0.5,1.29l-0.02,1.05l-0.52,0.91l-20.5,4.22l-0.15,-0.92l-0.45,-0.33l-31.44,4.71ZM621.47,115.84l0.0,-0.07l0.11,-0.12l-0.01,0.03l-0.11,0.16ZM621.73,114.93l-0.07,-0.16l0.07,-0.14l-0.0,0.3ZM543.5,88.02l4.87,-2.38l3.55,-3.62l5.77,-1.36l1.39,-0.84l2.36,-2.71l0.98,0.04l1.52,-0.73l1.0,-2.24l2.82,-2.85l0.23,1.72l1.85,0.59l0.05,1.44l0.67,0.14l0.51,0.6l-0.17,3.14l0.44,0.95l-0.34,0.47l0.2,0.47l0.74,-0.02l1.08,-2.21l1.08,-0.89l-0.42,1.15l0.58,0.45l0.83,-0.67l0.52,-1.22l1.0,-0.43l3.09,-0.25l1.5,0.21l1.18,0.93l1.54,0.44l0.47,1.05l2.31,2.58l1.17,0.55l0.53,1.55l0.73,0.34l1.87,0.07l0.73,-0.4l1.06,-0.06l1.4,-1.09l1.0,1.11l1.1,0.64l1.01,-0.25l0.68,-0.82l1.87,1.06l0.64,-0.34l1.65,-2.58l2.81,-1.89l1.7,-1.65l0.92,0.11l3.27,-1.21l5.17,-0.25l3.25,-2.09l2.28,-0.88l1.52,-0.11l-0.01,3.24l0.29,0.71l-0.36,1.1l0.46,0.7l0.68,0.28l0.91,-0.41l2.2,0.7l1.14,-0.43l1.03,-0.87l0.66,0.48l0.21,0.7l0.85,0.22l1.22,-0.76l0.79,-1.57l0.69,-0.28l1.06,0.23l1.35,-1.15l0.53,-0.01l0.22,0.08l-0.3,2.02l0.75,1.32l-1.11,-0.04l-0.36,0.5l0.84,1.83l-0.87,1.04l0.12,0.45l0.83,0.79l1.37,-0.42l0.6,0.47l0.62,0.04l0.18,1.19l0.98,0.87l1.53,0.51l-1.17,0.68l-4.96,-0.15l-0.53,0.3l-1.35,-0.17l-0.88,0.41l-0.66,-0.75l-1.63,-0.07l-0.59,0.47l-0.07,1.22l-0.49,0.76l0.38,2.05l-0.92,-0.22l-0.89,-0.92l-0.77,-0.13l-1.96,-1.65l-2.41,-0.6l-1.6,0.04l-1.04,-0.5l-2.89,0.47l-0.61,0.45l-1.18,2.52l-3.47,0.73l-0.57,0.77l-2.06,-0.33l-2.82,0.93l-0.68,0.83l-0.56,2.51l-0.78,0.28l-0.81,0.87l-0.65,0.28l0.16,-1.95l-0.74,-0.91l-1.02,0.34l-0.77,0.92l-0.97,-0.39l-0.68,0.17l-0.37,0.4l0.1,0.82l-0.73,2.01l-1.2,0.59l-0.1,-1.37l-0.46,-1.06l0.34,-1.69l-0.17,-0.37l-0.66,-0.17l-0.45,0.57l-0.6,2.13l-0.22,2.57l-1.12,0.91l-1.26,3.03l-0.62,2.65l-2.55,5.33l-0.69,0.73l0.12,0.91l-1.4,-1.28l0.18,-1.74l0.63,-1.69l-0.41,-0.81l-0.62,-0.31l-1.36,0.85l-1.16,0.1l0.04,-1.29l0.81,-1.45l-0.41,-1.34l0.3,-1.09l-0.58,-0.98l0.15,-0.83l-1.9,-1.55l-1.1,-0.06l-0.59,-0.44l-1.48,-0.0l0.3,-1.36l-0.94,-1.45l-1.13,-0.51l-2.23,-0.1l-3.2,-0.71l-1.55,0.59l-1.43,-0.42l-1.62,0.17l-4.56,-1.94l-15.37,-2.5l-1.99,-3.39l-1.88,-0.96l-0.76,0.26l-0.1,-0.29ZM603.39,98.63l-0.0,0.52l-0.46,0.32l-0.7,1.39l0.08,0.57l-0.65,-0.58l0.91,-2.15l0.83,-0.06ZM570.53,72.73l-0.51,-0.27l-1.16,0.06l-0.04,-1.56l1.0,-1.02l1.18,-2.09l1.83,-1.5l0.63,-0.0l0.53,-0.58l2.08,-0.89l3.34,-0.42l1.1,0.66l-0.54,0.38l-1.32,-0.12l-2.26,0.78l0.15,0.87l0.71,0.13l-1.19,0.98l-1.4,1.89l-0.69,0.28l-0.36,1.45l-1.15,1.36l-0.66,2.04l-0.67,-0.87l0.75,-0.97l0.14,-1.95l-0.84,-0.23l-0.6,0.92l-0.05,0.67Z\",\\n      \"name\": \"Michigan\"\\n    },\\n    \"US-GA\": {\\n      \"path\": \"M654.05,331.64l22.02,-3.57l20.65,-3.86l-0.07,0.58l-2.59,3.35l-0.41,1.73l0.11,1.23l0.82,0.78l1.84,0.8l1.03,0.12l2.7,2.03l0.84,0.24l1.9,-0.37l0.6,0.25l0.8,1.64l1.51,1.6l1.04,2.5l1.33,0.82l0.84,1.16l0.56,0.26l1.0,1.77l1.07,0.3l1.17,0.99l3.81,1.85l2.41,3.16l2.25,0.58l2.53,1.67l0.5,2.34l1.25,1.01l0.47,-0.16l0.31,0.49l-0.1,0.62l0.79,0.73l0.79,0.09l0.56,1.2l4.99,1.88l0.4,1.78l1.54,1.73l1.02,2.01l-0.07,0.8l0.48,0.69l0.11,1.24l1.04,0.79l1.16,0.17l1.25,0.62l0.28,0.53l0.57,0.23l1.12,2.56l0.76,0.57l0.08,2.68l0.77,1.48l1.38,0.9l1.52,-0.27l1.44,0.76l1.45,0.12l-0.59,0.78l-0.55,-0.35l-0.47,0.28l-0.4,0.99l0.62,0.91l-0.38,0.48l-1.38,-0.16l-0.77,-0.55l-0.65,0.44l0.26,0.71l-0.49,0.52l0.36,0.6l1.44,0.25l-0.58,1.35l-1.43,0.27l-1.08,-0.44l-0.6,0.21l0.03,0.82l1.45,0.6l-1.76,3.73l0.36,1.73l-0.48,0.97l0.85,1.48l-2.29,-0.19l-0.46,0.29l0.06,0.63l0.55,0.34l2.76,0.24l1.07,0.66l-0.02,0.34l-0.56,0.22l-0.88,1.95l-0.5,-1.41l-0.45,-0.13l-0.6,0.33l-0.15,0.84l0.34,0.96l-0.6,0.12l-0.03,0.84l-0.3,0.16l0.07,0.46l1.34,1.15l-1.09,1.03l0.32,0.47l0.77,0.08l-0.39,0.92l0.06,0.88l-0.46,0.51l1.1,1.66l0.03,0.76l-0.79,0.33l-2.64,-0.17l-4.06,-0.96l-1.31,0.35l-0.18,0.74l-0.68,0.26l-0.35,1.25l0.28,2.08l0.95,1.36l0.13,4.25l-1.97,0.4l-0.54,-0.92l-0.12,-1.3l-1.33,-1.82l-49.21,5.14l-0.72,-0.56l-0.86,-2.7l-0.94,-1.51l-0.56,-0.38l0.16,-0.68l-0.73,-1.51l-1.82,-1.81l-0.43,-1.75l0.25,-0.8l0.06,-5.18l-0.6,-1.81l-1.19,-1.47l-1.03,-2.65l0.12,-1.65l0.78,-2.36l-0.25,-1.53l0.19,-2.11l1.62,-1.33l0.46,-1.47l-0.55,-0.61l-1.42,-0.69l0.09,-2.15l-0.97,-1.87l-2.18,-2.42l-1.03,-2.81l-0.75,-0.68l-0.17,-0.96l-0.77,-1.37l-13.99,-43.11Z\",\\n      \"name\": \"Georgia\"\\n    },\\n    \"US-AZ\": {\\n      \"path\": \"M128.51,384.14l0.44,-1.81l1.29,-1.29l0.53,-1.12l0.48,-0.25l1.66,0.62l0.96,-0.03l0.52,-0.46l0.28,-1.17l1.31,-1.0l0.24,-2.73l-0.46,-1.24l-0.84,-0.66l-2.07,-0.66l-0.3,-0.61l0.8,-2.4l0.0,-1.39l-0.52,-1.19l0.57,-0.86l-0.2,-0.87l1.57,-0.27l2.29,-2.81l0.65,-2.43l0.65,-0.81l0.02,-3.17l0.55,-0.62l-0.29,-1.43l1.71,-1.14l1.03,-1.85l3.16,-1.29l2.03,-1.58l0.26,-0.53l-0.13,-1.04l-3.25,-3.49l-0.51,-0.22l0.22,-1.26l-0.66,-1.46l0.07,-0.91l-0.88,-2.76l-0.84,-0.56l-0.19,-1.65l-0.69,-0.8l0.19,-3.54l0.58,-0.87l-0.3,-0.86l1.03,-0.4l0.4,-1.42l0.14,-3.2l-0.76,-3.66l0.76,-2.55l-0.4,-3.0l0.85,-2.56l-0.8,-1.87l-0.03,-0.92l0.78,-1.88l2.54,-0.63l1.75,0.99l1.43,-0.19l0.96,2.24l0.79,0.71l1.54,0.14l1.01,-0.5l1.02,-2.27l0.94,-1.19l2.57,-16.94l42.42,5.78l42.56,4.67l-11.82,123.64l-36.87,-4.05l-36.33,-18.97l-28.43,-15.56Z\",\\n      \"name\": \"Arizona\"\\n    },\\n    \"US-MT\": {\\n      \"path\": \"M166.39,57.3l0.69,-0.1l0.33,-0.38l-0.9,-1.99l0.83,-0.96l-0.39,-1.3l0.09,-0.96l-1.24,-1.93l-0.24,-1.49l-1.03,-1.33l-1.19,-2.44l3.53,-20.64l43.67,6.71l43.04,5.23l42.75,3.84l43.13,2.53l-3.53,86.04l-28.1,-1.47l-26.82,-1.91l-26.78,-2.4l-25.83,-2.79l-0.44,0.35l-1.22,10.41l-1.51,-2.01l-0.03,-0.91l-1.18,-2.35l-1.25,-0.74l-1.8,0.92l0.03,1.05l-0.72,0.42l-0.34,1.56l-2.42,-0.41l-1.91,0.57l-0.92,-0.85l-3.36,0.09l-2.38,-0.96l-1.68,0.58l-0.84,1.49l-4.66,-1.6l-1.3,0.37l-1.12,0.9l-0.31,0.67l-1.65,-1.4l0.22,-1.43l-0.9,-1.71l0.4,-0.36l0.07,-0.62l-1.17,-3.08l-1.45,-1.25l-1.44,0.36l-0.21,-0.64l-1.08,-0.9l-0.41,-1.37l0.68,-0.61l0.2,-1.41l-0.77,-2.38l-0.77,-0.35l-0.31,-1.58l-1.51,-2.54l0.23,-1.51l-0.56,-1.26l0.34,-1.4l-0.73,-0.86l0.48,-0.98l-0.21,-0.74l-1.14,-0.75l-0.13,-0.59l-0.85,-0.91l-0.8,-0.4l-0.51,0.37l-0.07,0.74l-0.7,0.27l-1.13,1.22l-1.75,0.37l-1.21,1.07l-1.08,-0.85l-0.64,-1.01l-1.06,-0.44l0.02,-0.86l0.74,-0.63l0.24,-1.06l-0.61,-1.6l0.9,-1.09l1.07,-0.08l0.83,-0.8l-0.26,-1.14l0.38,-1.07l-0.95,-0.81l-0.04,-0.81l0.66,-1.28l-0.59,-1.07l0.74,-0.07l0.38,-0.42l-0.04,-1.77l1.83,-3.73l-0.14,-1.05l0.89,-0.62l0.6,-3.16l-0.78,-0.5l-1.8,0.37l-1.33,-0.11l-0.64,-0.55l0.37,-0.83l-0.62,-0.97l-0.66,-0.23l-0.72,0.35l-0.07,-0.95l-1.74,-1.62l0.04,-1.84l-1.68,-1.82l-0.08,-0.69l-1.55,-2.88l-1.07,-1.29l-0.57,-1.63l-2.35,-1.34l-0.95,-1.95l-1.43,-1.19Z\",\\n      \"name\": \"Montana\"\\n    },\\n    \"US-MS\": {\\n      \"path\": \"M555.51,431.02l0.67,-0.97l-1.05,-1.76l0.18,-1.63l-0.81,-0.87l1.69,-0.25l0.47,-0.54l0.4,-2.74l-0.77,-1.82l1.56,-1.79l0.25,-3.58l0.74,-2.26l1.89,-1.25l1.15,-1.97l1.4,-1.04l0.34,-0.78l-0.04,-0.99l-0.63,-0.96l1.14,-0.28l0.96,-2.58l0.91,-1.31l-0.16,-0.86l-1.54,-0.43l-0.35,-0.96l-1.83,-1.04l-0.07,-2.14l-0.93,-0.74l-0.45,-0.84l-0.02,-0.37l1.14,-0.29l0.46,-0.69l-0.26,-0.89l-1.41,-0.49l0.23,-1.77l0.98,-1.54l-0.77,-1.06l-1.08,-0.31l-0.15,-2.82l0.9,-0.54l0.23,-0.8l-0.62,-2.52l-1.25,-0.66l0.7,-1.33l-0.07,-2.22l-2.02,-1.52l1.13,-0.47l0.12,-1.41l-1.34,-0.89l1.58,-2.04l0.93,-0.31l0.36,-0.69l-0.52,-1.56l0.42,-1.35l-0.9,-0.89l2.84,-1.1l0.59,-0.76l-0.09,-1.07l-1.41,-0.95l1.39,-1.08l0.62,-1.77l0.94,-0.17l0.34,-0.97l-0.2,-0.77l1.48,-0.43l1.22,-1.21l0.07,-3.53l-0.46,-1.53l0.36,-1.78l0.73,0.09l0.68,-0.33l0.42,-0.87l-0.41,-1.06l2.72,-1.71l0.58,-1.06l-0.29,-1.28l36.44,-4.1l0.86,1.26l0.85,0.45l0.99,66.49l5.52,32.95l-0.73,0.69l-1.53,-0.3l-0.9,-0.94l-1.32,1.06l-1.23,0.17l-2.17,-1.26l-1.85,-0.19l-0.83,0.36l-0.34,0.44l0.32,0.41l-0.56,0.36l-3.96,1.66l-0.05,-0.5l-0.96,-0.52l-1.0,0.05l-0.58,1.0l0.76,0.61l-1.59,1.21l-0.33,1.28l-0.69,0.3l-1.33,-0.06l-1.16,-1.86l-0.08,-0.89l-0.92,-1.47l-0.21,-1.0l-1.4,-1.63l-1.16,-0.54l-0.47,-0.77l0.1,-0.62l-0.69,-0.92l0.21,-1.99l0.5,-0.93l0.66,-2.98l-0.06,-1.22l-0.43,-0.29l-34.66,3.41Z\",\\n      \"name\": \"Mississippi\"\\n    },\\n    \"US-SC\": {\\n      \"path\": \"M697.55,324.05l4.86,-2.69l1.02,-0.05l1.11,-1.38l3.93,-1.9l0.45,-0.88l0.63,0.22l22.71,-3.36l0.07,1.22l0.42,0.57l0.71,0.01l1.21,-1.3l2.82,2.54l0.46,2.48l0.55,0.52l19.74,-3.49l22.74,15.07l0.02,0.55l-2.48,2.18l-2.44,3.67l-2.41,5.72l-0.09,2.74l-1.08,-0.21l0.85,-2.72l-0.63,-0.23l-0.76,0.87l-0.56,1.38l-0.11,1.55l0.83,0.95l1.05,0.23l0.44,0.91l-0.75,0.08l-0.41,0.56l-0.87,0.02l-0.24,0.68l0.94,0.45l-1.1,1.13l-0.07,1.02l-1.34,0.63l-0.5,-0.61l-0.5,-0.08l-1.06,0.87l-0.56,1.77l0.43,0.87l-1.19,1.23l-0.61,1.44l-1.2,1.01l-0.9,-0.4l0.27,-0.6l-0.53,-0.74l-1.37,0.31l0.25,1.2l-0.52,0.03l0.05,0.76l2.02,1.01l-0.12,0.39l-0.88,0.94l-1.22,0.23l-0.24,0.51l0.33,0.45l-2.29,1.34l-1.42,-0.84l-0.56,0.11l-0.1,0.67l1.19,0.78l-1.54,1.57l-0.72,-0.75l-0.5,0.52l-0.0,0.74l-1.54,-0.37l-1.34,-0.84l-0.44,0.5l0.16,0.53l-1.73,0.17l-0.44,0.37l-0.06,0.78l2.07,0.05l-0.26,0.55l0.42,0.25l1.91,-0.15l0.11,0.22l-0.97,0.86l-0.32,0.78l0.57,0.49l0.94,-0.53l0.03,0.21l-1.12,1.09l-0.99,0.43l-0.21,-2.04l-0.69,-0.27l-0.22,-1.54l-0.88,-0.15l-0.3,0.58l0.86,2.69l-1.12,-0.66l-0.63,-1.0l-0.39,-1.76l-0.65,-0.21l-0.52,-0.63l-0.69,0.0l-0.27,0.6l0.84,1.02l0.01,0.68l1.11,1.83l-0.02,0.86l1.22,1.17l-0.62,0.35l0.03,0.98l-1.2,3.56l-1.51,-0.78l-1.52,0.26l-0.97,-0.68l-0.54,-1.03l-0.17,-2.93l-0.86,-0.75l-1.06,-2.47l-1.04,-0.95l-3.23,-1.33l-0.49,-2.65l-1.12,-2.17l-1.43,-1.58l-0.06,-1.07l-0.76,-1.21l-4.81,-1.69l-0.58,-1.27l-1.21,-0.37l0.02,-0.7l-0.53,-0.87l-0.87,0.0l-0.73,-0.61l0.03,-1.21l-0.66,-1.26l-2.7,-1.78l-2.16,-0.52l-2.36,-3.12l-3.93,-1.93l-1.22,-1.03l-0.83,-0.12l-1.04,-1.81l-0.51,-0.22l-0.91,-1.21l-1.18,-0.68l-0.99,-2.42l-1.54,-1.65l-1.02,-1.87l-1.06,-0.37l-1.93,0.37l-0.46,-0.16l-2.75,-2.19l-1.06,0.02l-2.23,-1.27l0.36,-2.22l2.6,-3.31l0.15,-1.07ZM750.36,375.19l0.73,-0.08l0.51,0.45l-1.23,1.9l0.28,-1.22l-0.3,-1.06Z\",\\n      \"name\": \"South Carolina\"\\n    },\\n    \"US-RI\": {\\n      \"path\": \"M851.1,141.46l0.22,-0.46l-0.53,-2.22l-3.14,-10.0l5.61,-1.84l0.76,2.06l0.8,0.25l0.19,0.73l0.08,0.42l-0.77,0.25l0.03,0.29l0.51,1.45l0.59,0.5l-0.75,0.28l-0.3,0.6l0.87,0.97l-0.14,1.23l0.89,1.9l0.03,1.67l-0.27,0.71l-0.9,0.16l-3.59,2.35l-0.18,-1.31ZM855.89,131.53l0.26,0.1l0.01,0.1l-0.17,-0.08l-0.1,-0.12ZM857.28,132.21l0.25,0.54l-0.05,0.32l-0.15,0.01l-0.05,-0.87Z\",\\n      \"name\": \"Rhode Island\"\\n    },\\n    \"US-AR\": {\\n      \"path\": \"M498.76,376.91l-1.42,-38.01l-4.48,-23.98l37.68,-2.58l39.02,-3.58l0.8,1.6l1.01,0.7l0.11,1.77l-0.77,0.57l-0.22,0.94l-1.42,0.93l-0.29,1.04l-0.83,0.54l-1.19,2.59l0.02,0.7l0.53,0.26l10.94,-1.46l0.86,0.93l-1.18,0.37l-0.52,0.96l0.25,0.49l0.84,0.41l-3.6,2.7l0.02,0.84l0.83,1.04l-0.6,1.15l0.62,0.97l-1.42,0.74l-0.11,1.44l-1.45,2.09l0.12,1.64l0.91,3.1l-0.15,0.27l-1.08,-0.01l-0.33,0.26l-0.51,1.73l-1.52,0.95l-0.04,0.51l0.79,0.91l0.05,0.65l-1.11,1.21l-2.02,1.13l-0.21,0.62l0.43,1.0l-0.19,0.27l-1.23,0.03l-0.42,0.67l-0.32,1.89l0.47,1.57l0.02,3.08l-1.27,1.09l-1.54,0.13l0.23,1.49l-0.21,0.48l-0.93,0.25l-0.59,1.77l-1.49,1.19l-0.02,0.93l1.39,0.76l-0.03,0.7l-1.23,0.3l-2.24,1.23l0.03,0.67l0.99,0.82l-0.45,1.14l0.53,1.38l-1.09,0.62l-1.9,2.57l0.52,0.7l1.0,0.49l0.01,0.58l-0.98,0.29l-0.42,0.64l0.51,0.84l1.63,1.01l0.06,1.77l-0.59,0.98l-0.09,0.84l1.34,0.79l0.5,2.17l-1.09,1.01l0.06,2.11l-51.45,4.07l-0.83,-11.53l-1.18,-0.85l-0.9,0.16l-0.83,-0.35l-0.93,0.39l-1.22,-0.33l-0.57,0.72l-0.47,0.01l-0.49,-0.48l-0.82,-0.15l-0.63,-1.0Z\",\\n      \"name\": \"Arkansas\"\\n    }\\n  },\\n  \"height\": 612.395412685768,\\n  \"projection\": {\\n    \"type\": \"aea\",\\n    \"centralMeridian\": -100.0\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(113))},function(t,e){t.exports='jQuery.fn.vectorMap(\\'addMap\\', \\'world_mill\\', {\\n  \"insets\": [{\\n    \"width\": 900,\\n    \"top\": 0,\\n    \"height\": 440.7063107441331,\\n    \"bbox\": [{\\n      \"y\": -12671671.123330014,\\n      \"x\": -20004297.151525836\\n    }, {\\n      \"y\": 6930392.025135122,\\n      \"x\": 20026572.394749384\\n    }],\\n    \"left\": 0\\n  }],\\n  \"paths\": {\\n    \"BD\": {\\n      \"path\": \"M651.84,230.21l-0.6,-2.0l-1.36,-1.71l-2.31,-0.11l-0.41,0.48l0.2,0.94l-0.53,0.99l-0.72,-0.36l-0.68,0.35l-1.2,-0.36l-0.37,-2.0l-0.81,-1.86l0.39,-1.46l-0.22,-0.47l-1.14,-0.53l0.29,-0.5l1.48,-0.94l0.03,-0.65l-1.55,-1.22l0.55,-1.14l1.61,0.94l1.04,0.15l0.18,1.54l0.34,0.35l5.64,0.63l-0.84,1.64l-1.22,0.34l-0.77,1.51l0.07,0.47l1.37,1.37l0.67,-0.19l0.42,-1.39l1.21,3.84l-0.03,1.21l-0.33,-0.15l-0.4,0.28Z\",\\n      \"name\": \"Bangladesh\"\\n    },\\n    \"BE\": {\\n      \"path\": \"M429.29,144.05l1.91,0.24l2.1,-0.63l2.63,1.99l-0.21,1.66l-0.69,0.4l-0.18,1.2l-1.66,-1.13l-1.39,0.15l-2.73,-2.7l-1.17,-0.18l-0.16,-0.52l1.54,-0.5Z\",\\n      \"name\": \"Belgium\"\\n    },\\n    \"BF\": {\\n      \"path\": \"M421.42,247.64l-0.11,0.95l0.34,1.16l1.4,1.71l0.07,1.1l0.32,0.37l2.55,0.51l-0.04,1.28l-0.38,0.53l-1.07,0.21l-0.72,1.18l-0.63,0.21l-3.22,-0.25l-0.94,0.39l-5.4,-0.05l-0.39,0.38l0.16,2.73l-1.23,-0.43l-1.17,0.1l-0.89,0.57l-2.27,-1.72l-0.13,-1.11l0.61,-0.96l0.02,-0.93l1.87,-1.98l0.44,-1.81l0.43,-0.39l1.28,0.26l1.05,-0.52l0.47,-0.73l1.84,-1.09l0.55,-0.83l2.2,-1.0l1.15,-0.3l0.72,0.45l1.13,-0.01Z\",\\n      \"name\": \"Burkina Faso\"\\n    },\\n    \"BG\": {\\n      \"path\": \"M491.65,168.18l-0.86,0.88l-0.91,2.17l0.48,1.34l-1.6,-0.24l-2.55,0.95l-0.28,1.51l-1.8,0.22l-2.0,-1.0l-1.92,0.79l-1.42,-0.07l-0.15,-1.63l-1.05,-0.97l0.0,-0.8l1.2,-1.57l0.01,-0.56l-1.14,-1.23l-0.05,-0.94l0.88,0.97l0.88,-0.2l1.91,0.47l3.68,0.16l1.42,-0.81l2.72,-0.66l2.55,1.24Z\",\\n      \"name\": \"Bulgaria\"\\n    },\\n    \"BA\": {\\n      \"path\": \"M463.49,163.65l2.1,0.5l1.72,-0.03l1.52,0.68l-0.36,0.78l0.08,0.45l1.04,1.02l-0.25,0.98l-1.81,1.15l-0.38,1.38l-1.67,-0.87l-0.89,-1.2l-2.11,-1.83l-1.63,-2.22l0.23,-0.57l0.48,0.38l0.55,-0.06l0.43,-0.51l0.94,-0.06Z\",\\n      \"name\": \"Bosnia and Herz.\"\\n    },\\n    \"BN\": {\\n      \"path\": \"M707.48,273.58l0.68,-0.65l1.41,-0.91l-0.15,1.63l-0.81,-0.05l-0.61,0.58l-0.53,-0.6Z\",\\n      \"name\": \"Brunei\"\\n    },\\n    \"BO\": {\\n      \"path\": \"M263.83,340.69l-3.09,-0.23l-0.38,0.23l-0.7,1.52l-1.31,-1.53l-3.28,-0.64l-2.37,2.4l-1.31,0.26l-0.88,-3.26l-1.3,-2.86l0.74,-2.37l-0.13,-0.43l-1.2,-1.01l-0.37,-1.89l-1.08,-1.55l1.45,-2.56l-0.96,-2.33l0.47,-1.06l-0.34,-0.73l0.91,-1.32l0.16,-3.84l0.5,-1.18l-1.81,-3.41l2.46,0.07l0.8,-0.85l3.4,-1.91l2.66,-0.35l-0.19,1.38l0.3,1.07l-0.05,1.97l2.72,2.27l2.88,0.49l0.89,0.86l1.79,0.58l0.98,0.7l1.71,0.05l1.17,0.61l0.6,2.7l-0.7,0.54l0.96,2.99l0.37,0.28l4.3,0.1l-0.25,1.2l0.27,1.02l1.43,0.9l0.5,1.35l-0.41,1.86l-0.65,1.08l0.12,1.35l-2.69,-1.65l-2.4,-0.03l-4.36,0.76l-1.49,2.5l-0.11,1.52l-0.75,2.37Z\",\\n      \"name\": \"Bolivia\"\\n    },\\n    \"JP\": {\\n      \"path\": \"M781.12,166.87l1.81,0.68l1.62,-0.97l0.39,2.42l-3.35,0.75l-2.23,2.88l-3.63,-1.9l-0.56,0.2l-1.26,3.05l-2.16,0.03l-0.29,-2.51l1.08,-2.03l2.45,-0.16l0.37,-0.33l1.25,-5.94l2.47,2.71l2.03,1.12ZM773.56,187.34l-0.91,2.22l0.37,1.52l-1.14,1.75l-3.02,1.26l-4.58,0.27l-3.34,3.01l-1.25,-0.8l-0.09,-1.9l-0.46,-0.38l-4.35,0.62l-3.0,1.32l-2.85,0.05l-0.37,0.27l0.13,0.44l2.32,1.89l-1.54,4.34l-1.26,0.9l-0.79,-0.7l0.56,-2.27l-0.21,-0.45l-1.47,-0.75l-0.74,-1.4l2.12,-0.84l1.26,-1.7l2.45,-1.42l1.83,-1.91l4.78,-0.81l2.6,0.57l0.44,-0.21l2.39,-4.66l1.29,1.06l0.5,0.01l5.1,-4.02l1.69,-3.73l-0.38,-3.4l0.9,-1.61l2.14,-0.44l1.23,3.72l-0.07,2.18l-2.23,2.84l-0.04,3.16ZM757.78,196.26l0.19,0.56l-1.01,1.21l-1.16,-0.68l-1.28,0.65l-0.69,1.45l-1.02,-0.5l0.01,-0.93l1.14,-1.38l1.57,0.14l0.85,-0.98l1.4,0.46Z\",\\n      \"name\": \"Japan\"\\n    },\\n    \"BI\": {\\n      \"path\": \"M495.45,295.49l-1.08,-2.99l1.14,-0.11l0.64,-1.19l0.76,0.09l0.65,1.83l-2.1,2.36Z\",\\n      \"name\": \"Burundi\"\\n    },\\n    \"BJ\": {\\n      \"path\": \"M429.57,255.75l-0.05,0.8l0.5,1.34l-0.42,0.86l0.17,0.79l-1.81,2.12l-0.57,1.76l-0.08,5.42l-1.41,0.2l-0.48,-1.36l0.11,-5.71l-0.52,-0.7l-0.2,-1.35l-1.48,-1.48l0.21,-0.9l0.89,-0.43l0.42,-0.92l1.27,-0.36l1.22,-1.34l0.61,-0.0l1.62,1.24Z\",\\n      \"name\": \"Benin\"\\n    },\\n    \"BT\": {\\n      \"path\": \"M650.32,213.86l0.84,0.71l-0.12,1.1l-3.76,-0.11l-1.57,0.4l-1.93,-0.87l1.48,-1.96l1.13,-0.57l1.63,0.57l1.33,0.08l0.99,0.65Z\",\\n      \"name\": \"Bhutan\"\\n    },\\n    \"JM\": {\\n      \"path\": \"M228.38,239.28l-0.8,0.4l-2.26,-1.06l0.84,-0.23l2.14,0.3l1.17,0.56l-1.08,0.03Z\",\\n      \"name\": \"Jamaica\"\\n    },\\n    \"BW\": {\\n      \"path\": \"M483.92,330.07l2.27,4.01l2.83,2.86l0.96,0.31l0.78,2.43l2.13,0.61l1.02,0.76l-3.0,1.64l-2.32,2.02l-1.54,2.69l-1.52,0.45l-0.64,1.94l-1.34,0.52l-1.85,-0.12l-1.21,-0.74l-1.35,-0.3l-1.22,0.62l-0.75,1.37l-2.31,1.9l-1.4,0.21l-0.35,-0.59l0.16,-1.75l-1.48,-2.54l-0.62,-0.43l-0.0,-7.1l2.08,-0.08l0.39,-0.4l0.07,-8.9l5.19,-0.93l0.8,0.89l0.51,0.07l1.5,-0.95l2.21,-0.49Z\",\\n      \"name\": \"Botswana\"\\n    },\\n    \"BR\": {\\n      \"path\": \"M259.98,275.05l3.24,0.7l0.65,-0.53l4.55,-1.32l1.08,-1.06l-0.02,-0.63l0.55,-0.05l0.28,0.28l-0.26,0.87l0.22,0.48l0.73,0.32l0.4,0.81l-0.62,0.86l-0.4,2.13l0.82,2.56l1.69,1.43l1.43,0.2l3.17,-1.68l3.18,0.3l0.65,-0.75l-0.27,-0.92l1.9,-0.09l2.39,0.99l1.06,-0.61l0.84,0.78l1.2,-0.18l1.18,-1.06l0.84,-1.94l1.36,-2.11l0.37,-0.05l1.89,5.45l1.33,0.59l0.05,1.28l-1.77,1.94l0.02,0.56l1.02,0.87l4.07,0.36l0.08,2.16l0.66,0.29l1.74,-1.5l6.97,2.32l1.02,1.22l-0.35,1.18l0.49,0.5l2.81,-0.74l4.77,1.3l3.75,-0.08l3.57,2.0l3.29,2.86l1.93,0.72l2.12,0.12l0.71,0.62l1.21,4.51l-0.95,3.98l-4.72,5.06l-1.64,2.92l-1.72,2.05l-0.8,0.3l-0.72,2.03l0.18,4.75l-0.94,5.53l-0.81,1.13l-0.43,3.36l-2.55,3.5l-0.4,2.51l-1.86,1.04l-0.67,1.53l-2.54,0.01l-3.94,1.01l-1.83,1.2l-2.87,0.82l-3.03,2.19l-2.2,2.83l-0.36,2.0l0.4,1.58l-0.44,2.6l-0.51,1.2l-1.77,1.54l-2.75,4.78l-3.83,3.42l-1.24,2.74l-1.18,1.15l-0.36,-0.83l0.95,-1.14l0.01,-0.5l-1.52,-1.97l-4.56,-3.32l-1.03,-0.0l-2.38,-2.02l-0.81,-0.0l5.34,-5.45l3.77,-2.58l0.22,-2.46l-1.35,-1.81l-0.91,0.07l0.58,-2.33l0.01,-1.54l-1.11,-0.83l-1.75,0.3l-0.44,-3.11l-0.52,-0.95l-1.88,-0.88l-1.24,0.47l-2.17,-0.41l0.15,-3.21l-0.62,-1.34l0.66,-0.73l-0.22,-1.34l0.66,-1.13l0.44,-2.04l-0.61,-1.83l-1.4,-0.86l-0.2,-0.75l0.34,-1.39l-0.38,-0.5l-4.52,-0.1l-0.72,-2.22l0.59,-0.42l-0.03,-1.1l-0.5,-0.87l-0.32,-1.7l-1.45,-0.76l-1.63,-0.02l-1.05,-0.72l-1.6,-0.48l-1.13,-0.99l-2.69,-0.4l-2.47,-2.06l0.13,-4.35l-0.45,-0.45l-3.46,0.5l-3.44,1.94l-0.6,0.74l-2.9,-0.17l-1.47,0.42l-0.72,-0.18l0.15,-3.52l-0.63,-0.34l-1.94,1.41l-1.87,-0.06l-0.83,-1.18l-1.37,-0.26l0.21,-1.01l-1.35,-1.49l-0.88,-1.91l0.56,-0.6l-0.0,-0.81l1.29,-0.62l0.22,-0.43l-0.22,-1.19l0.61,-0.91l0.15,-0.99l2.65,-1.58l1.99,-0.47l0.42,-0.36l2.06,0.11l0.42,-0.33l1.19,-8.0l-0.41,-1.56l-1.1,-1.0l0.01,-1.33l1.91,-0.42l0.08,-0.96l-0.33,-0.43l-1.14,-0.2l-0.02,-0.83l4.47,0.05l0.82,-0.67l0.82,1.81l0.8,0.07l1.15,1.1l2.26,-0.05l0.71,-0.83l2.78,-0.96l0.48,-1.13l1.6,-0.64l0.24,-0.47l-0.48,-0.82l-1.83,-0.19l-0.36,-3.22Z\",\\n      \"name\": \"Brazil\"\\n    },\\n    \"BS\": {\\n      \"path\": \"M226.4,223.87l-0.48,-1.15l-0.84,-0.75l0.36,-1.11l0.95,1.95l0.01,1.06ZM225.56,216.43l-1.87,0.29l-0.04,-0.22l0.74,-0.14l1.17,0.06Z\",\\n      \"name\": \"Bahamas\"\\n    },\\n    \"BY\": {\\n      \"path\": \"M493.84,128.32l0.29,0.7l0.49,0.23l1.19,-0.38l2.09,0.72l0.19,1.26l-0.45,1.24l1.57,2.26l0.89,0.59l0.17,0.81l1.58,0.56l0.4,0.5l-0.53,0.41l-1.87,-0.11l-0.73,0.38l-0.13,0.52l1.04,2.74l-1.91,0.26l-0.89,0.99l-0.11,1.18l-2.73,-0.04l-0.53,-0.62l-0.52,-0.08l-0.75,0.46l-0.91,-0.42l-1.92,-0.07l-2.75,-0.79l-2.6,-0.28l-2.0,0.07l-1.5,0.92l-0.67,0.07l-0.08,-1.22l-0.59,-1.19l1.36,-0.88l0.01,-1.35l-0.7,-1.41l-0.07,-1.0l2.16,-0.02l2.72,-1.3l0.75,-2.04l1.91,-1.04l0.2,-0.41l-0.19,-1.25l3.8,-1.78l2.3,0.77Z\",\\n      \"name\": \"Belarus\"\\n    },\\n    \"BZ\": {\\n      \"path\": \"M198.03,244.38l0.1,-4.49l0.69,-0.06l0.74,-1.3l0.34,0.28l-0.4,1.3l0.17,0.58l-0.34,2.25l-1.3,1.42Z\",\\n      \"name\": \"Belize\"\\n    },\\n    \"RU\": {\\n      \"path\": \"M491.55,115.25l2.55,-1.85l-0.01,-0.65l-2.2,-1.5l7.32,-6.76l1.03,-2.11l-0.13,-0.49l-3.46,-2.52l0.86,-2.7l-2.11,-2.81l1.56,-3.67l-2.77,-4.52l2.15,-2.99l-0.08,-0.55l-3.65,-2.73l0.3,-2.54l1.81,-0.37l4.26,-1.77l2.42,-1.45l4.06,2.61l6.79,1.04l9.34,4.85l1.78,1.88l0.14,2.46l-2.55,2.02l-3.9,1.06l-11.07,-3.14l-2.06,0.53l-0.13,0.7l3.94,2.94l0.31,5.86l0.26,0.36l5.14,2.24l0.58,-0.29l0.32,-1.94l-1.35,-1.78l1.13,-1.09l6.13,2.42l2.11,-0.98l0.18,-0.56l-1.51,-2.67l5.41,-3.76l2.07,0.22l2.26,1.41l0.57,-0.16l1.46,-2.87l-0.05,-0.44l-1.92,-2.32l1.12,-2.32l-1.32,-2.27l5.87,1.16l1.04,1.75l-2.59,0.43l-0.33,0.4l0.02,2.36l2.46,1.83l3.87,-0.91l0.86,-2.8l13.69,-5.65l0.99,0.11l-1.92,2.06l0.23,0.67l3.11,0.45l2.0,-1.48l4.56,-0.12l3.64,-1.73l2.65,2.44l0.56,-0.01l2.85,-2.88l-0.01,-0.57l-2.35,-2.29l0.9,-1.01l7.14,1.3l3.41,1.36l9.05,4.97l0.51,-0.11l1.67,-2.27l-0.05,-0.53l-2.43,-2.21l-0.06,-0.78l-0.34,-0.36l-2.52,-0.36l0.64,-1.93l-1.32,-3.46l-0.06,-1.21l4.48,-4.06l1.69,-4.29l1.6,-0.81l6.23,1.18l0.44,2.21l-2.29,3.64l0.06,0.5l1.47,1.39l0.76,3.0l-0.56,6.03l2.69,2.82l-0.96,2.57l-4.86,5.95l0.23,0.64l2.86,0.61l0.42,-0.17l0.93,-1.4l2.64,-1.03l0.87,-2.24l2.09,-1.96l0.07,-0.5l-1.36,-2.28l1.09,-2.69l-0.32,-0.55l-2.47,-0.33l-0.5,-2.06l1.94,-4.38l-0.06,-0.42l-2.96,-3.4l4.12,-2.88l0.16,-0.4l-0.51,-2.93l0.54,-0.05l1.13,2.25l-0.96,4.35l0.27,0.47l2.68,0.84l0.5,-0.51l-1.02,-2.99l3.79,-1.66l5.01,-0.24l4.53,2.61l0.48,-0.06l0.07,-0.48l-2.18,-3.82l-0.23,-4.67l3.98,-0.9l5.97,0.21l5.49,-0.64l0.27,-0.65l-1.83,-2.31l2.56,-2.9l2.87,-0.17l4.8,-2.47l6.54,-0.67l1.03,-1.42l6.25,-0.45l2.32,1.11l5.53,-2.7l4.5,0.08l0.39,-0.28l0.66,-2.15l2.26,-2.12l5.69,-2.11l3.21,1.29l-2.46,0.94l-0.25,0.42l0.34,0.35l5.41,0.77l0.61,2.33l0.58,0.25l2.2,-1.22l7.13,0.07l5.51,2.47l1.79,1.72l-0.53,2.24l-9.16,4.15l-1.97,1.52l0.16,0.71l6.77,1.91l2.16,-0.78l1.13,2.74l0.67,0.11l1.01,-1.15l3.81,-0.73l7.7,0.77l0.54,1.99l0.36,0.29l10.47,0.71l0.43,-0.38l0.13,-3.23l4.87,0.78l3.95,-0.02l3.83,2.4l1.03,2.71l-1.35,1.79l0.02,0.5l3.15,3.64l4.07,1.96l0.53,-0.18l2.23,-4.47l3.95,1.93l4.16,-1.21l4.73,1.39l2.05,-1.26l3.94,0.62l0.43,-0.55l-1.68,-4.02l2.89,-1.8l22.31,3.03l2.16,2.75l6.55,3.51l10.29,-0.81l4.82,0.73l1.85,1.66l-0.29,3.08l0.25,0.41l3.08,1.26l3.56,-0.88l4.35,-0.11l4.8,0.87l4.57,-0.47l4.23,3.79l0.43,0.07l3.1,-1.4l0.16,-0.6l-1.88,-2.62l0.85,-1.52l7.71,1.21l5.22,-0.26l7.09,2.09l9.59,5.22l6.35,4.11l-0.2,2.38l1.88,1.41l0.6,-0.42l-0.48,-2.53l6.15,0.57l4.4,3.51l-1.97,1.43l-4.0,0.41l-0.36,0.39l-0.06,3.79l-0.74,0.62l-2.07,-0.11l-1.91,-1.39l-3.14,-1.11l-0.78,-1.85l-2.72,-0.68l-2.63,0.49l-1.04,-1.1l0.46,-1.31l-0.5,-0.51l-3.0,0.98l-0.22,0.58l0.99,1.7l-1.21,1.48l-3.04,1.68l-3.12,-0.28l-0.4,0.23l0.09,0.46l2.2,2.09l1.46,3.2l1.15,1.1l0.24,1.33l-0.42,0.67l-4.63,-0.77l-6.96,2.9l-2.19,0.44l-7.6,5.06l-0.84,1.45l-3.61,-2.37l-6.24,2.82l-0.94,-1.15l-0.53,-0.08l-2.28,1.52l-3.2,-0.49l-0.44,0.27l-0.78,2.37l-3.05,3.78l0.09,1.47l0.29,0.36l2.54,0.72l-0.29,4.53l-1.97,0.11l-0.35,0.26l-1.07,2.94l0.8,1.45l-3.91,1.58l-1.05,3.95l-3.48,0.77l-0.3,0.3l-0.72,3.29l-3.09,2.65l-0.7,-1.74l-2.44,-12.44l1.16,-4.71l2.04,-2.06l0.22,-1.64l3.8,-0.86l4.46,-4.61l4.28,-3.81l4.48,-3.01l2.17,-5.63l-0.42,-0.54l-3.04,0.33l-1.77,3.31l-5.86,3.86l-1.86,-4.25l-0.45,-0.23l-6.46,1.3l-6.47,6.44l-0.01,0.55l1.58,1.74l-8.24,1.17l0.15,-2.2l-0.34,-0.42l-3.89,-0.56l-3.25,1.81l-7.62,-0.62l-8.45,1.19l-17.71,15.41l0.22,0.7l3.74,0.41l1.36,2.17l2.43,0.76l1.88,-1.68l2.4,0.2l3.4,3.54l0.08,2.6l-1.95,3.42l-0.21,3.9l-1.1,5.06l-3.71,4.54l-0.87,2.21l-8.29,8.89l-3.19,1.7l-1.32,0.03l-1.45,-1.36l-0.49,-0.04l-2.27,1.5l0.41,-3.65l-0.59,-2.47l1.75,-0.89l2.91,0.53l0.42,-0.2l1.68,-3.03l0.87,-3.46l0.97,-1.18l1.32,-2.88l-0.45,-0.56l-4.14,0.95l-2.19,1.25l-3.41,-0.0l-1.06,-2.93l-2.97,-2.3l-4.28,-1.06l-1.75,-5.07l-2.66,-5.01l-2.29,-1.29l-3.75,-1.01l-3.44,0.08l-3.18,0.62l-2.24,1.77l0.05,0.66l1.18,0.69l0.02,1.43l-1.33,1.05l-2.26,3.51l-0.04,1.43l-3.16,1.84l-2.82,-1.16l-3.01,0.23l-1.35,-1.07l-1.5,-0.35l-3.9,2.31l-3.22,0.52l-2.27,0.79l-3.05,-0.51l-2.21,0.03l-1.48,-1.6l-2.6,-1.63l-2.63,-0.43l-5.46,1.01l-3.23,-1.25l-0.72,-2.57l-5.2,-1.24l-2.75,-1.36l-0.5,0.12l-2.59,3.45l0.84,2.1l-2.06,1.93l-3.41,-0.77l-2.42,-0.12l-1.83,-1.54l-2.53,-0.05l-2.42,-0.98l-3.86,1.57l-4.72,2.78l-3.3,0.75l-1.55,-1.92l-3.0,0.41l-1.11,-1.33l-1.62,-0.59l-1.31,-1.94l-1.38,-0.6l-3.7,0.79l-3.31,-1.83l-0.51,0.11l-0.99,1.29l-5.29,-8.05l-2.96,-2.48l0.65,-0.77l0.01,-0.51l-0.5,-0.11l-6.2,3.21l-1.84,0.15l0.15,-1.39l-0.26,-0.42l-3.22,-1.17l-2.46,0.7l-0.69,-3.16l-0.32,-0.31l-4.5,-0.75l-2.47,1.47l-6.19,1.27l-1.29,0.86l-9.51,1.3l-1.15,1.17l-0.03,0.53l1.47,1.9l-1.89,0.69l-0.22,0.56l0.31,0.6l-2.11,1.44l0.03,0.68l3.75,2.12l-0.39,0.98l-3.23,-0.13l-0.86,0.86l-3.09,-1.59l-3.97,0.07l-2.66,1.35l-8.32,-3.56l-4.07,0.06l-5.39,3.68l-0.39,2.0l-2.03,-1.5l-0.59,0.13l-2.0,3.59l0.57,0.93l-1.28,2.16l0.06,0.48l2.13,2.17l1.95,0.04l1.37,1.82l-0.23,1.46l0.25,0.43l0.83,0.33l-0.8,1.31l-2.49,0.62l-2.49,3.2l0.0,0.49l2.17,2.78l-0.15,2.18l2.5,3.24l-1.58,1.59l-0.7,-0.13l-1.63,-1.72l-2.29,-0.84l-0.94,-1.31l-2.34,-0.63l-1.48,0.4l-0.43,-0.47l-3.51,-1.48l-5.76,-1.01l-0.45,0.19l-2.89,-2.34l-2.9,-1.2l-1.53,-1.29l1.29,-0.43l2.08,-2.61l-0.05,-0.55l-0.89,-0.79l3.05,-1.06l0.27,-0.42l-0.07,-0.69l-0.49,-0.35l-1.73,0.39l0.04,-0.68l1.04,-0.72l2.66,-0.48l0.4,-1.32l-0.5,-1.6l0.92,-1.54l0.03,-1.17l-0.29,-0.37l-3.69,-1.06l-1.41,0.02l-1.42,-1.41l-2.19,0.38l-2.77,-1.01l-0.03,-0.59l-0.89,-1.43l-2.0,-0.32l-0.11,-0.54l0.49,-0.53l0.01,-0.53l-1.6,-1.9l-3.58,0.02l-0.88,0.73l-0.46,-0.07l-1.0,-2.79l2.22,-0.02l0.97,-0.74l0.07,-0.57l-0.9,-1.04l-1.35,-0.48l-0.11,-0.7l-0.95,-0.58l-1.38,-1.99l0.46,-0.98l-0.51,-1.96l-2.45,-0.84l-1.21,0.3l-0.46,-0.76l-2.46,-0.83l-0.72,-1.87l-0.21,-1.69l-0.99,-0.85l0.85,-1.17l-0.7,-3.21l1.66,-1.97l-0.16,-0.79ZM749.2,170.72l-0.6,0.4l-0.13,0.16l-0.01,-0.51l0.74,-0.05ZM871.88,65.81l2.17,-0.13l3.19,1.16l-2.39,1.09l-5.63,0.48l-0.26,-0.84l2.92,-1.76ZM797.39,48.49l-2.0,1.36l-3.8,-0.42l-4.25,-1.8l0.35,-0.97l9.69,1.83ZM783.67,46.12l-1.63,3.09l-8.98,-0.13l-4.09,1.14l-4.54,-2.97l1.16,-3.01l3.05,-0.89l6.5,0.22l8.54,2.56ZM778.2,134.98l-0.56,-0.9l0.27,-0.12l0.29,1.01ZM778.34,135.48l0.94,3.53l-0.05,3.38l1.05,3.39l2.18,5.0l-2.89,-0.83l-0.49,0.26l-1.54,4.65l2.42,3.5l-0.04,1.13l-1.24,-1.24l-0.61,0.06l-1.09,1.61l-0.28,-1.61l0.27,-3.1l-0.28,-3.4l0.58,-2.47l0.11,-4.39l-1.46,-3.36l0.21,-4.32l2.15,-1.46l0.07,-0.34ZM771.95,56.61l1.76,-1.42l2.89,-0.42l3.28,1.71l0.14,0.6l-3.27,0.03l-4.81,-0.5ZM683.76,31.09l-13.01,1.93l4.03,-6.35l1.82,-0.56l1.73,0.34l5.99,2.98l-0.56,1.66ZM670.85,27.93l-5.08,0.64l-6.86,-1.57l-3.99,-2.05l-2.1,-4.16l-2.6,-0.87l5.72,-3.5l5.2,-1.28l4.69,2.85l5.59,5.4l-0.56,4.53ZM564.15,68.94l-0.64,0.17l-7.85,-0.57l-0.86,-2.04l-4.28,-1.17l-0.28,-1.94l2.27,-0.89l0.25,-0.39l-0.08,-2.38l4.81,-3.97l-0.15,-0.7l-1.47,-0.38l5.3,-3.81l0.15,-0.44l-0.58,-1.94l5.28,-2.51l8.21,-3.27l8.28,-0.96l4.35,-1.94l4.6,-0.64l1.36,1.61l-1.34,1.28l-16.43,4.94l-7.97,4.88l-7.74,9.63l0.66,4.14l4.16,3.27ZM548.81,18.48l-5.5,1.18l-0.58,1.02l-2.59,0.84l-2.13,-1.07l1.12,-1.42l-0.3,-0.65l-2.33,-0.07l1.68,-0.36l3.47,-0.06l0.42,1.29l0.66,0.16l1.38,-1.34l2.15,-0.88l2.94,1.01l-0.39,0.36ZM477.37,133.15l-4.08,0.05l-2.56,-0.32l0.33,-0.87l3.17,-1.03l3.24,0.96l-0.09,1.23Z\",\\n      \"name\": \"Russia\"\\n    },\\n    \"RW\": {\\n      \"path\": \"M497.0,288.25l0.71,1.01l-0.11,1.09l-1.63,0.03l-1.04,1.39l-0.83,-0.11l0.51,-1.2l0.08,-1.34l0.42,-0.41l0.7,0.14l1.19,-0.61Z\",\\n      \"name\": \"Rwanda\"\\n    },\\n    \"RS\": {\\n      \"path\": \"M469.4,163.99l0.42,-0.5l-0.01,-0.52l-1.15,-1.63l1.43,-0.62l1.33,0.12l1.17,1.06l0.46,1.13l1.34,0.64l0.35,1.35l1.46,0.9l0.76,-0.29l0.2,0.69l-0.48,0.78l0.22,1.12l1.05,1.22l-0.77,0.8l-0.37,1.52l-1.21,0.08l0.24,-0.64l-0.39,-0.54l-2.08,-1.64l-0.9,0.05l-0.48,0.94l-2.12,-1.37l0.53,-1.6l-1.11,-1.37l0.51,-1.1l-0.41,-0.57Z\",\\n      \"name\": \"Serbia\"\\n    },\\n    \"TL\": {\\n      \"path\": \"M734.55,307.93l-0.1,-0.97l4.5,-0.86l-2.82,1.28l-1.59,0.55Z\",\\n      \"name\": \"Timor-Leste\"\\n    },\\n    \"TM\": {\\n      \"path\": \"M553.03,173.76l-0.04,0.34l-0.09,-0.22l0.13,-0.12ZM555.87,172.66l0.45,-0.1l1.48,0.74l2.06,2.43l4.07,-0.18l0.38,-0.51l-0.32,-1.19l1.92,-0.94l1.91,-1.59l2.94,1.39l0.43,2.47l1.19,0.67l2.58,-0.13l0.62,0.4l1.32,3.12l4.54,3.44l2.67,1.45l3.06,1.14l-0.04,1.05l-1.33,-0.75l-0.59,0.19l-0.32,0.84l-2.2,0.81l-0.46,2.13l-1.21,0.74l-1.91,0.42l-0.73,1.33l-1.56,0.31l-2.22,-0.94l-0.2,-2.17l-0.38,-0.36l-1.73,-0.09l-2.76,-2.46l-2.14,-0.4l-2.84,-1.48l-1.78,-0.27l-1.24,0.53l-1.57,-0.08l-2.0,1.69l-1.7,0.43l-0.36,-1.58l0.36,-2.98l-0.22,-0.4l-1.65,-0.84l0.54,-1.69l-0.34,-0.52l-1.22,-0.13l0.36,-1.64l2.22,0.59l2.2,-0.95l0.12,-0.65l-1.77,-1.74l-0.66,-1.57Z\",\\n      \"name\": \"Turkmenistan\"\\n    },\\n    \"TJ\": {\\n      \"path\": \"M597.75,178.82l-2.54,-0.44l-0.47,0.34l-0.24,1.7l0.43,0.45l2.64,-0.22l3.18,0.95l4.39,-0.41l0.56,2.37l0.52,0.29l0.67,-0.24l1.11,0.49l0.21,2.13l-3.76,-0.21l-1.8,1.32l-1.76,0.74l-0.61,-0.58l0.21,-2.23l-0.64,-0.49l-0.07,-0.93l-1.36,-0.66l-0.45,0.07l-1.08,1.01l-0.55,1.48l-1.31,-0.05l-0.95,1.16l-0.9,-0.35l-1.86,0.74l1.26,-2.83l-0.54,-2.17l-1.67,-0.82l0.33,-0.66l2.18,-0.04l1.19,-1.63l0.76,-1.79l2.43,-0.5l-0.26,1.0l0.73,1.05Z\",\\n      \"name\": \"Tajikistan\"\\n    },\\n    \"RO\": {\\n      \"path\": \"M487.53,154.23l0.6,0.24l2.87,3.98l-0.17,2.69l0.45,1.42l1.32,0.81l1.35,-0.42l0.76,0.36l0.02,0.31l-0.83,0.45l-0.59,-0.22l-0.54,0.3l-0.62,3.3l-1.0,-0.22l-2.07,-1.13l-2.95,0.71l-1.25,0.76l-3.51,-0.15l-1.89,-0.47l-0.87,0.16l-0.82,-1.3l0.29,-0.26l-0.06,-0.64l-1.09,-0.34l-0.56,0.5l-1.05,-0.64l-0.39,-1.39l-1.36,-0.65l-0.35,-1.0l-0.83,-0.75l1.54,-0.54l2.66,-4.21l2.4,-1.24l2.96,0.34l1.48,0.73l0.79,-0.45l1.78,-0.3l0.75,-0.74l0.79,0.0Z\",\\n      \"name\": \"Romania\"\\n    },\\n    \"GW\": {\\n      \"path\": \"M386.23,253.6l-0.29,0.84l0.15,0.6l-2.21,0.59l-0.86,0.96l-1.04,-0.83l-1.09,-0.23l-0.54,-1.06l-0.66,-0.49l2.41,-0.48l4.13,0.1Z\",\\n      \"name\": \"Guinea-Bissau\"\\n    },\\n    \"GT\": {\\n      \"path\": \"M195.08,249.77l-2.48,-0.37l-1.03,-0.45l-1.14,-0.89l0.3,-0.99l-0.24,-0.68l0.96,-1.66l2.98,-0.01l0.4,-0.37l-0.19,-1.28l-1.67,-1.4l0.51,-0.4l0.0,-1.05l3.85,0.02l-0.21,4.53l0.4,0.43l1.46,0.38l-1.48,0.98l-0.35,0.7l0.12,0.57l-2.2,1.96Z\",\\n      \"name\": \"Guatemala\"\\n    },\\n    \"GR\": {\\n      \"path\": \"M487.07,174.59l-0.59,1.43l-0.37,0.21l-2.84,-0.35l-3.03,0.77l-0.18,0.68l1.28,1.23l-0.61,0.23l-1.14,0.0l-1.2,-1.39l-0.63,0.03l-0.53,1.01l0.56,1.76l1.03,1.19l-0.56,0.38l-0.05,0.62l2.52,2.12l0.02,0.87l-1.78,-0.59l-0.48,0.56l0.5,1.0l-1.07,0.2l-0.3,0.53l0.75,2.01l-0.98,0.02l-1.84,-1.12l-1.37,-4.2l-2.21,-2.95l-0.11,-0.56l1.04,-1.28l0.2,-0.95l0.85,-0.66l0.03,-0.46l1.32,-0.21l1.01,-0.64l1.22,0.05l0.65,-0.56l2.26,-0.0l1.82,-0.75l1.85,1.0l2.28,-0.28l0.35,-0.39l0.01,-0.77l0.34,0.22ZM480.49,192.16l0.58,0.4l-0.68,-0.12l0.11,-0.28ZM482.52,192.82l2.51,0.06l0.24,0.32l-1.99,0.13l-0.77,-0.51Z\",\\n      \"name\": \"Greece\"\\n    },\\n    \"GQ\": {\\n      \"path\": \"M448.79,279.62l0.02,2.22l-4.09,0.0l0.69,-2.27l3.38,0.05Z\",\\n      \"name\": \"Eq. Guinea\"\\n    },\\n    \"GY\": {\\n      \"path\": \"M277.42,270.07l-0.32,1.83l-1.32,0.57l-0.23,0.46l-0.28,2.0l1.11,1.82l0.83,0.19l0.32,1.25l1.13,1.62l-1.21,-0.19l-1.08,0.71l-1.77,0.5l-0.44,0.46l-0.86,-0.09l-1.32,-1.01l-0.77,-2.27l0.36,-1.9l0.68,-1.23l-0.57,-1.17l-0.74,-0.43l0.12,-1.16l-0.9,-0.69l-1.1,0.09l-1.31,-1.48l0.53,-0.72l-0.04,-0.84l1.99,-0.86l0.05,-0.59l-0.71,-0.78l0.14,-0.57l1.66,-1.24l1.36,0.77l1.41,1.49l0.06,1.15l0.37,0.38l0.8,0.05l2.06,1.86Z\",\\n      \"name\": \"Guyana\"\\n    },\\n    \"GE\": {\\n      \"path\": \"M521.71,168.93l5.29,0.89l4.07,2.01l1.41,-0.44l2.07,0.56l0.68,1.1l1.07,0.55l-0.12,0.59l0.98,1.29l-1.01,-0.13l-1.81,-0.83l-0.94,0.47l-3.23,0.43l-2.29,-1.39l-2.33,0.05l0.21,-0.97l-0.76,-2.26l-1.45,-1.12l-1.43,-0.39l-0.41,-0.42Z\",\\n      \"name\": \"Georgia\"\\n    },\\n    \"GB\": {\\n      \"path\": \"M412.61,118.72l-2.19,3.22l-0.0,0.45l5.13,-0.3l-0.53,2.37l-2.2,3.12l0.29,0.63l2.37,0.21l2.33,4.3l1.76,0.69l2.2,5.12l2.94,0.77l-0.23,1.62l-1.15,0.88l-0.1,0.52l0.82,1.42l-1.86,1.43l-3.3,-0.02l-4.12,0.87l-1.04,-0.58l-0.47,0.06l-1.51,1.41l-2.12,-0.34l-1.86,1.18l-0.6,-0.29l3.19,-3.0l2.16,-0.69l0.28,-0.41l-0.34,-0.36l-3.73,-0.53l-0.4,-0.76l2.2,-0.87l0.17,-0.61l-1.26,-1.67l0.36,-1.7l3.38,0.28l0.43,-0.33l0.37,-1.99l-1.79,-2.49l-3.11,-0.72l-0.38,-0.59l0.79,-1.35l-0.04,-0.46l-0.82,-0.97l-0.61,0.01l-0.68,0.84l-0.1,-2.34l-1.23,-1.88l0.85,-3.47l1.77,-2.68l1.85,0.26l2.17,-0.22ZM406.26,132.86l-1.01,1.77l-1.57,-0.59l-1.16,0.01l0.37,-1.54l-0.39,-1.39l1.45,-0.1l2.3,1.84Z\",\\n      \"name\": \"United Kingdom\"\\n    },\\n    \"GA\": {\\n      \"path\": \"M453.24,279.52l-0.08,0.98l0.7,1.29l2.36,0.24l-0.98,2.63l1.18,1.79l0.25,1.78l-0.29,1.52l-0.6,0.93l-1.84,-0.09l-1.23,-1.11l-0.66,0.23l-0.15,0.84l-1.42,0.26l-1.02,0.7l-0.11,0.52l0.77,1.35l-1.34,0.97l-3.94,-4.3l-1.44,-2.45l0.06,-0.6l0.54,-0.81l1.05,-3.46l4.17,-0.07l0.4,-0.4l-0.02,-2.66l2.39,0.21l1.25,-0.27Z\",\\n      \"name\": \"Gabon\"\\n    },\\n    \"GN\": {\\n      \"path\": \"M391.8,254.11l0.47,0.8l1.11,-0.32l0.98,0.7l1.07,0.2l2.26,-1.22l0.64,0.44l1.13,1.56l-0.48,1.4l0.8,0.3l-0.08,0.48l0.46,0.68l-0.35,1.36l1.05,2.61l-1.0,0.69l0.03,1.41l-0.72,-0.06l-1.08,1.0l-0.24,-0.27l0.07,-1.11l-1.05,-1.54l-1.79,0.21l-0.35,-2.01l-1.6,-2.18l-2.0,-0.0l-1.31,0.54l-1.95,2.18l-1.86,-2.19l-1.2,-0.78l-0.3,-1.11l-0.8,-0.85l0.65,-0.72l0.81,-0.03l1.64,-0.8l0.23,-1.87l2.67,0.64l0.89,-0.3l1.21,0.15Z\",\\n      \"name\": \"Guinea\"\\n    },\\n    \"GM\": {\\n      \"path\": \"M379.31,251.39l0.1,-0.35l2.43,-0.07l0.74,-0.61l0.51,-0.03l0.77,0.49l-1.03,-0.3l-1.87,0.9l-1.65,-0.04ZM384.03,250.91l0.91,0.05l0.75,-0.24l-0.59,0.31l-1.08,-0.13Z\",\\n      \"name\": \"Gambia\"\\n    },\\n    \"GL\": {\\n      \"path\": \"M353.02,1.2l14.69,4.67l-3.68,1.89l-22.97,0.86l-0.36,0.27l0.12,0.43l1.55,1.18l8.79,-0.66l7.48,2.07l4.86,-1.77l1.66,1.73l-2.53,3.19l-0.01,0.48l0.46,0.15l6.35,-2.2l12.06,-2.31l7.24,1.13l1.09,1.99l-9.79,4.01l-1.44,1.32l-7.87,0.98l-0.35,0.41l0.38,0.38l5.07,0.24l-2.53,3.58l-2.07,3.81l0.08,6.05l2.57,3.11l-3.22,0.2l-4.12,1.66l-0.05,0.72l4.45,2.65l0.51,3.75l-2.3,0.4l-0.25,0.64l2.79,3.69l-4.82,0.31l-0.36,0.29l0.16,0.44l2.62,1.8l-0.59,1.22l-3.3,0.7l-3.45,0.01l-0.29,0.68l3.03,3.12l0.02,1.34l-4.4,-1.73l-1.72,1.35l0.15,0.66l3.31,1.15l3.13,2.71l0.81,3.16l-3.85,0.75l-4.89,-4.26l-0.47,-0.03l-0.17,0.44l0.79,2.86l-2.71,2.21l-0.13,0.44l0.37,0.27l8.73,0.34l-12.32,6.64l-7.24,1.48l-2.94,0.08l-2.69,1.75l-3.43,4.41l-5.24,2.84l-1.73,0.18l-7.12,2.1l-2.15,2.52l-0.13,2.99l-1.19,2.45l-4.01,3.09l-0.14,0.44l0.97,2.9l-2.28,6.48l-3.1,0.2l-3.83,-3.07l-4.86,-0.02l-2.25,-1.93l-1.7,-3.79l-4.3,-4.84l-1.21,-2.49l-0.44,-3.8l-3.32,-3.63l0.84,-2.86l-1.56,-1.7l2.28,-4.6l3.83,-1.74l1.03,-1.96l0.52,-3.47l-0.59,-0.41l-4.17,2.21l-2.07,0.58l-2.72,-1.28l-0.15,-2.71l0.85,-2.09l2.01,-0.06l5.06,1.2l0.46,-0.23l-0.14,-0.49l-6.54,-4.47l-2.67,0.55l-1.58,-0.86l2.56,-4.01l-0.03,-0.48l-1.5,-1.74l-4.98,-8.5l-3.13,-1.96l0.03,-1.88l-0.24,-0.37l-6.85,-3.02l-5.36,-0.38l-12.7,0.58l-2.78,-1.57l-3.66,-2.77l5.73,-1.45l5.0,-0.28l0.38,-0.38l-0.35,-0.41l-10.67,-1.38l-5.3,-2.06l0.25,-1.54l18.41,-5.26l1.22,-2.27l-0.25,-0.55l-6.14,-1.86l1.68,-1.77l8.55,-4.03l3.59,-0.63l0.3,-0.54l-0.88,-2.27l5.47,-1.47l7.65,-0.95l7.55,-0.05l3.04,1.85l6.48,-3.27l5.81,2.22l3.56,0.5l5.16,1.94l0.5,-0.21l-0.17,-0.52l-5.71,-3.13l0.28,-2.13l8.12,-3.6l8.7,0.28l3.35,-2.34l8.71,-0.6l19.93,0.8Z\",\\n      \"name\": \"Greenland\"\\n    },\\n    \"GH\": {\\n      \"path\": \"M420.53,257.51l-0.01,0.72l0.96,1.2l0.24,3.73l0.59,0.95l-0.51,2.1l0.19,1.41l1.02,2.21l-6.97,2.84l-1.8,-0.57l0.04,-0.89l-1.02,-2.04l0.61,-2.65l1.07,-2.32l-0.96,-6.47l5.01,0.07l0.94,-0.39l0.61,0.11Z\",\\n      \"name\": \"Ghana\"\\n    },\\n    \"OM\": {\\n      \"path\": \"M568.09,230.93l-0.91,1.67l-1.22,0.04l-0.6,0.76l-0.41,1.51l0.27,1.58l-1.16,0.05l-1.56,0.97l-0.76,1.74l-1.62,0.05l-0.98,0.65l-0.17,1.15l-0.89,0.52l-1.49,-0.18l-2.4,0.94l-2.47,-5.4l7.35,-2.71l1.67,-5.23l-1.12,-2.09l0.05,-0.83l0.67,-1.0l0.07,-1.05l0.9,-0.42l-0.05,-2.07l0.7,-0.01l1.0,1.62l1.51,1.08l3.3,0.84l1.73,2.29l0.81,0.37l-1.23,2.35l-0.99,0.79Z\",\\n      \"name\": \"Oman\"\\n    },\\n    \"TN\": {\\n      \"path\": \"M448.1,188.24l-1.0,1.27l-0.02,1.32l0.84,0.88l-0.28,2.09l-1.53,1.32l-0.12,0.42l0.48,1.54l1.42,0.32l0.53,1.11l0.9,0.52l-0.11,1.67l-3.54,2.64l-0.1,2.38l-0.58,0.3l-0.96,-4.45l-1.54,-1.25l-0.16,-0.78l-1.92,-1.56l-0.18,-1.76l1.51,-1.62l0.59,-2.34l-0.38,-2.78l0.42,-1.21l2.45,-1.05l1.29,0.26l-0.06,1.11l0.58,0.38l1.47,-0.73Z\",\\n      \"name\": \"Tunisia\"\\n    },\\n    \"JO\": {\\n      \"path\": \"M518.64,201.38l-5.14,1.56l-0.19,0.65l2.16,2.39l-0.89,1.14l-1.71,0.34l-1.71,1.8l-2.34,-0.37l1.21,-4.32l0.56,-4.07l2.8,0.94l4.46,-2.71l0.79,2.66Z\",\\n      \"name\": \"Jordan\"\\n    },\\n    \"HR\": {\\n      \"path\": \"M455.59,162.84l1.09,0.07l-0.82,0.94l-0.27,-1.01ZM456.96,162.92l0.62,-0.41l1.73,0.45l0.42,-0.4l-0.01,-0.59l0.86,-0.52l0.2,-1.05l1.63,-0.68l2.57,1.68l2.07,0.6l0.87,-0.31l1.05,1.57l-0.52,0.63l-1.05,-0.56l-1.68,0.04l-2.1,-0.5l-1.29,0.06l-0.57,0.49l-0.59,-0.47l-0.62,0.16l-0.46,1.7l1.79,2.42l2.79,2.75l-1.18,-0.87l-2.21,-0.87l-1.67,-1.78l0.13,-0.63l-1.05,-1.19l-0.32,-1.27l-1.42,-0.43Z\",\\n      \"name\": \"Croatia\"\\n    },\\n    \"HT\": {\\n      \"path\": \"M237.05,238.38l-1.16,0.43l-0.91,-0.55l0.05,-0.2l2.02,0.31ZM237.53,238.43l1.06,0.12l-0.05,0.01l-1.01,-0.12ZM239.25,238.45l0.79,-0.51l0.06,-0.62l-1.02,-1.0l0.02,-0.82l-0.3,-0.4l-0.93,-0.32l3.16,0.45l0.02,1.84l-0.48,0.34l-0.08,0.58l0.54,0.72l-1.78,-0.26Z\",\\n      \"name\": \"Haiti\"\\n    },\\n    \"HU\": {\\n      \"path\": \"M462.08,157.89l0.65,-1.59l-0.09,-0.44l0.64,-0.0l0.39,-0.34l0.1,-0.69l1.75,0.87l2.32,-0.37l0.43,-0.66l3.49,-0.78l0.69,-0.78l0.57,-0.14l2.57,0.93l0.67,-0.23l1.03,0.65l0.08,0.37l-1.42,0.71l-2.59,4.14l-1.8,0.53l-1.68,-0.1l-2.74,1.23l-1.85,-0.54l-2.54,-1.66l-0.66,-1.1Z\",\\n      \"name\": \"Hungary\"\\n    },\\n    \"HN\": {\\n      \"path\": \"M199.6,249.52l-1.7,-1.21l0.06,-0.94l3.04,-2.14l2.37,0.28l1.27,-0.09l1.1,-0.52l1.3,0.28l1.14,-0.25l1.38,0.37l2.23,1.37l-2.36,0.93l-1.23,-0.39l-0.88,1.3l-1.28,0.99l-0.98,-0.22l-0.42,0.52l-0.96,0.05l-0.36,0.41l0.04,0.88l-0.52,0.6l-0.3,0.04l-0.3,-0.55l-0.66,-0.31l0.11,-0.67l-0.48,-0.65l-0.87,-0.26l-0.73,0.2Z\",\\n      \"name\": \"Honduras\"\\n    },\\n    \"PR\": {\\n      \"path\": \"M256.17,238.73l-0.26,0.27l-2.83,0.05l-0.07,-0.55l1.95,-0.1l1.22,0.33Z\",\\n      \"name\": \"Puerto Rico\"\\n    },\\n    \"PS\": {\\n      \"path\": \"M509.21,203.07l0.1,-0.06l-0.02,0.03l-0.09,0.03ZM509.36,202.91l-0.02,-0.63l-0.33,-0.16l0.31,-1.09l0.24,0.1l-0.2,1.78Z\",\\n      \"name\": \"Palestine\"\\n    },\\n    \"PT\": {\\n      \"path\": \"M401.84,187.38l-0.64,0.47l-1.13,-0.35l-0.91,0.17l0.28,-1.78l-0.24,-1.78l-1.25,-0.56l-0.45,-0.84l0.17,-1.66l1.01,-1.18l0.69,-2.92l-0.04,-1.39l-0.59,-1.9l1.3,-0.85l0.84,1.35l3.1,-0.3l0.46,0.99l-1.05,0.94l-0.03,2.16l-0.41,0.57l-0.08,1.1l-0.79,0.18l-0.26,0.59l0.91,1.6l-0.63,1.75l0.76,1.09l-1.1,1.52l0.07,1.05Z\",\\n      \"name\": \"Portugal\"\\n    },\\n    \"PY\": {\\n      \"path\": \"M274.9,336.12l0.74,1.52l-0.16,3.45l0.32,0.41l2.64,0.5l1.11,-0.47l1.4,0.59l0.36,0.6l0.53,3.42l1.27,0.4l0.98,-0.38l0.51,0.27l-0.0,1.18l-1.21,5.32l-2.09,1.9l-1.8,0.4l-4.71,-0.98l2.2,-3.63l-0.32,-1.5l-2.78,-1.28l-3.03,-1.94l-2.07,-0.44l-4.34,-4.06l0.91,-2.9l0.08,-1.42l1.07,-2.04l4.13,-0.72l2.18,0.03l2.05,1.17l0.03,0.59Z\",\\n      \"name\": \"Paraguay\"\\n    },\\n    \"PA\": {\\n      \"path\": \"M213.8,263.68l0.26,-1.52l-0.36,-0.26l-0.01,-0.49l0.44,-0.1l0.93,1.4l1.26,0.03l0.77,0.49l1.38,-0.23l2.51,-1.11l0.86,-0.72l3.45,0.85l1.4,1.18l0.41,1.74l-0.21,0.34l-0.53,-0.12l-0.47,0.29l-0.16,0.6l-0.68,-1.28l0.45,-0.49l-0.19,-0.66l-0.47,-0.13l-0.54,-0.84l-1.5,-0.75l-1.1,0.16l-0.75,0.99l-1.62,0.84l-0.18,0.96l0.85,0.97l-0.58,0.45l-0.69,0.08l-0.34,-1.18l-1.27,0.03l-0.71,-1.05l-2.59,-0.46Z\",\\n      \"name\": \"Panama\"\\n    },\\n    \"PG\": {\\n      \"path\": \"M808.58,298.86l2.54,2.56l-0.13,0.26l-0.33,0.12l-0.87,-0.78l-1.22,-2.16ZM801.41,293.04l0.5,0.29l0.26,0.27l-0.49,-0.35l-0.27,-0.21ZM803.17,294.58l0.59,0.5l0.08,1.06l-0.29,-0.91l-0.38,-0.65ZM796.68,298.41l0.52,0.75l1.43,-0.19l2.27,-1.81l-0.01,-1.43l1.12,0.16l-0.04,1.1l-0.7,1.28l-1.12,0.18l-0.62,0.79l-2.46,1.11l-1.17,-0.0l-3.08,-1.25l3.41,0.0l0.45,-0.68ZM789.15,303.55l2.31,1.8l1.59,2.61l1.34,0.13l-0.06,0.66l0.31,0.43l1.06,0.24l0.06,0.65l2.25,1.05l-1.22,0.13l-0.72,-0.63l-4.56,-0.65l-3.22,-2.87l-1.49,-2.34l-3.27,-1.1l-2.38,0.72l-1.59,0.86l-0.2,0.42l0.27,1.55l-1.55,0.68l-1.36,-0.4l-2.21,-0.09l-0.08,-15.41l8.39,2.93l2.95,2.4l0.6,1.64l4.02,1.49l0.31,0.68l-1.76,0.21l-0.33,0.52l0.55,1.68Z\",\\n      \"name\": \"Papua New Guinea\"\\n    },\\n    \"PE\": {\\n      \"path\": \"M244.96,295.21l-1.26,-0.07l-0.57,0.42l-1.93,0.45l-2.98,1.75l-0.36,1.36l-0.58,0.8l0.12,1.37l-1.24,0.59l-0.22,1.22l-0.62,0.84l1.04,2.27l1.28,1.44l-0.41,0.84l0.32,0.57l1.48,0.13l1.16,1.37l2.21,0.07l1.63,-1.08l-0.13,3.02l0.3,0.4l1.14,0.29l1.31,-0.34l1.9,3.59l-0.48,0.85l-0.17,3.85l-0.94,1.59l0.35,0.75l-0.47,1.07l0.98,1.97l-2.1,3.82l-0.98,0.5l-2.17,-1.28l-0.39,-1.16l-4.95,-2.58l-4.46,-2.79l-1.84,-1.51l-0.91,-1.84l0.3,-0.96l-2.11,-3.33l-4.82,-9.68l-1.04,-1.2l-0.87,-1.94l-3.4,-2.48l0.58,-1.18l-1.13,-2.23l0.66,-1.49l1.45,-1.15l-0.6,0.98l0.07,0.92l0.47,0.36l1.74,0.03l0.97,1.17l0.54,0.07l1.42,-1.03l0.6,-1.84l1.42,-2.02l3.04,-1.04l2.73,-2.62l0.86,-1.74l-0.1,-1.87l1.44,1.02l0.9,1.25l1.06,0.59l1.7,2.73l1.86,0.31l1.45,-0.61l0.96,0.39l1.36,-0.19l1.45,0.89l-1.4,2.21l0.31,0.61l0.59,0.05l0.47,0.5Z\",\\n      \"name\": \"Peru\"\\n    },\\n    \"PK\": {\\n      \"path\": \"M615.09,192.34l-1.83,1.81l-2.6,0.39l-3.73,-0.68l-1.58,1.33l-0.09,0.42l1.77,4.39l1.7,1.23l-1.69,1.27l-0.12,2.14l-2.33,2.64l-1.6,2.8l-2.46,2.67l-3.03,-0.07l-2.76,2.83l0.05,0.6l1.5,1.11l0.26,1.9l1.44,1.5l0.37,1.68l-5.01,-0.01l-1.78,1.7l-1.42,-0.52l-0.76,-1.87l-2.27,-2.15l-11.61,0.86l0.71,-2.34l3.43,-1.32l0.25,-0.44l-0.21,-1.24l-1.2,-0.65l-0.28,-2.46l-2.29,-1.14l-1.28,-1.94l2.82,0.94l2.62,-0.38l1.42,0.33l0.76,-0.56l1.71,0.19l3.25,-1.14l0.27,-0.36l0.08,-2.19l1.18,-1.32l1.68,0.0l0.58,-0.82l1.6,-0.3l1.19,0.16l0.98,-0.78l0.02,-1.88l0.93,-1.47l1.48,-0.66l0.19,-0.55l-0.66,-1.25l2.04,-0.11l0.69,-1.01l-0.02,-1.16l1.11,-1.06l-0.17,-1.78l-0.49,-1.03l1.15,-0.98l5.42,-0.91l2.6,-0.82l1.6,1.16l0.97,2.34l3.45,0.97Z\",\\n      \"name\": \"Pakistan\"\\n    },\\n    \"PH\": {\\n      \"path\": \"M737.01,263.84l0.39,2.97l-0.44,1.18l-0.55,-1.53l-0.67,-0.14l-1.17,1.28l0.65,2.09l-0.42,0.69l-2.48,-1.23l-0.57,-1.49l0.65,-1.03l-0.1,-0.54l-1.59,-1.19l-0.56,0.08l-0.65,0.87l-1.23,0.0l-1.58,0.97l0.83,-1.8l2.56,-1.42l0.65,0.84l0.45,0.13l1.9,-0.69l0.56,-1.11l1.5,-0.06l0.38,-0.43l-0.09,-1.19l1.21,0.71l0.36,2.02ZM733.59,256.58l0.05,0.75l0.08,0.26l-0.8,-0.42l-0.18,-0.71l0.85,0.12ZM734.08,256.1l-0.12,-1.12l-1.0,-1.27l1.36,0.03l0.53,0.73l0.51,2.04l-1.27,-0.4ZM733.76,257.68l0.38,0.98l-0.32,0.15l-0.07,-1.13ZM724.65,238.43l1.46,0.7l0.72,-0.31l-0.32,1.17l0.79,1.71l-0.57,1.84l-1.53,1.04l-0.39,2.25l0.56,2.04l1.63,0.57l1.16,-0.27l2.71,1.23l-0.19,1.08l0.76,0.84l-0.08,0.36l-1.4,-0.9l-0.88,-1.27l-0.66,0.0l-0.38,0.55l-1.6,-1.31l-2.15,0.36l-0.87,-0.39l0.07,-0.61l0.66,-0.55l-0.01,-0.62l-0.75,-0.59l-0.72,0.44l-0.74,-0.87l-0.39,-2.49l0.32,0.27l0.66,-0.28l0.26,-3.97l0.7,-2.02l1.14,0.0ZM731.03,258.87l-0.88,0.85l-1.19,1.94l-1.05,-1.19l0.93,-1.1l0.32,-1.47l0.52,-0.06l-0.27,1.15l0.22,0.45l0.49,-0.12l1.0,-1.32l-0.08,0.85ZM726.83,255.78l0.83,0.38l1.17,-0.0l-0.02,0.48l-2.0,1.4l0.03,-2.26ZM724.81,252.09l-0.38,1.27l-1.42,-1.95l1.2,0.05l0.6,0.63ZM716.55,261.82l1.1,-0.95l0.03,-0.03l-0.28,0.36l-0.85,0.61ZM719.22,259.06l0.04,-0.06l0.8,-1.53l0.16,0.75l-1.0,0.84Z\",\\n      \"name\": \"Philippines\"\\n    },\\n    \"PL\": {\\n      \"path\": \"M468.44,149.42l-1.11,-1.54l-1.86,-0.33l-0.48,-1.05l-1.72,-0.37l-0.65,0.69l-0.72,-0.36l0.11,-0.61l-0.33,-0.46l-1.75,-0.27l-1.04,-0.93l-0.94,-1.94l0.16,-1.22l-0.62,-1.8l-0.78,-1.07l0.57,-1.04l-0.48,-1.43l1.41,-0.83l6.91,-2.71l2.14,0.5l0.52,0.91l5.51,0.44l4.55,-0.05l1.07,0.31l0.48,0.84l0.15,1.58l0.65,1.2l-0.01,0.99l-1.27,0.58l-0.19,0.54l0.73,1.48l0.08,1.55l1.2,2.76l-0.17,0.58l-1.23,0.44l-2.27,2.72l0.18,0.95l-1.97,-1.03l-1.98,0.4l-1.36,-0.28l-1.24,0.58l-1.07,-0.97l-1.16,0.24Z\",\\n      \"name\": \"Poland\"\\n    },\\n    \"ZM\": {\\n      \"path\": \"M481.47,313.3l0.39,0.31l2.52,0.14l0.99,1.17l2.01,0.35l1.4,-0.64l0.69,1.17l1.78,0.33l1.84,2.35l2.23,0.18l0.4,-0.43l-0.21,-2.74l-0.62,-0.3l-0.48,0.32l-1.98,-1.17l0.72,-5.29l-0.51,-1.18l0.57,-1.3l3.68,-0.62l0.26,0.63l1.21,0.63l0.9,-0.22l2.16,0.67l1.33,0.71l1.07,1.02l0.56,1.87l-0.88,2.7l0.43,2.09l-0.73,0.87l-0.76,2.37l0.59,0.68l-6.6,1.83l-0.29,0.44l0.19,1.45l-1.68,0.35l-1.43,1.02l-0.38,0.87l-0.87,0.26l-3.48,3.69l-4.16,-0.53l-1.52,-1.0l-1.77,-0.13l-1.83,0.52l-3.04,-3.4l0.11,-7.59l4.82,0.03l0.39,-0.49l-0.18,-0.76l0.33,-0.83l-0.4,-1.36l0.24,-1.05Z\",\\n      \"name\": \"Zambia\"\\n    },\\n    \"EH\": {\\n      \"path\": \"M384.42,230.28l0.25,-0.79l1.06,-1.29l0.8,-3.51l3.38,-2.78l0.7,-1.81l0.06,4.84l-1.98,0.2l-0.94,1.59l0.39,3.56l-3.7,-0.01ZM392.01,218.1l0.7,-1.8l1.77,-0.24l2.09,0.34l0.95,-0.62l1.28,-0.07l-0.0,2.51l-6.79,-0.12Z\",\\n      \"name\": \"W. Sahara\"\\n    },\\n    \"EE\": {\\n      \"path\": \"M485.71,115.04l2.64,0.6l2.56,0.11l-1.6,1.91l0.61,3.54l-0.81,0.87l-1.78,-0.01l-3.22,-1.76l-1.8,0.45l0.21,-1.53l-0.58,-0.41l-0.69,0.34l-1.26,-1.03l-0.17,-1.63l2.83,-0.92l3.05,-0.52Z\",\\n      \"name\": \"Estonia\"\\n    },\\n    \"EG\": {\\n      \"path\": \"M492.06,205.03l1.46,0.42l2.95,-1.64l2.04,-0.21l1.53,0.3l0.59,1.19l0.69,0.04l0.41,-0.64l1.81,0.58l1.95,0.16l1.04,-0.51l1.42,4.08l-2.03,4.54l-1.66,-1.77l-1.76,-3.85l-0.64,-0.12l-0.36,0.67l1.04,2.88l3.44,6.95l1.78,3.04l2.03,2.65l-0.36,0.53l0.23,2.01l2.7,2.19l-28.41,0.0l0.0,-18.96l-0.73,-2.2l0.59,-1.56l-0.32,-1.26l0.68,-0.99l3.06,-0.04l4.82,1.52Z\",\\n      \"name\": \"Egypt\"\\n    },\\n    \"ZA\": {\\n      \"path\": \"M467.14,373.21l-0.13,-1.96l-0.68,-1.56l0.7,-0.68l-0.13,-2.33l-4.56,-8.19l0.77,-0.86l0.6,0.45l0.69,1.31l2.83,0.72l1.5,-0.26l2.24,-1.39l0.19,-9.55l1.35,2.3l-0.21,1.5l0.61,1.2l0.4,0.19l1.79,-0.27l2.6,-2.07l0.69,-1.32l0.96,-0.48l2.19,1.04l2.04,0.13l1.77,-0.65l0.85,-2.12l1.38,-0.33l1.59,-2.76l2.15,-1.89l3.41,-1.87l2.0,0.45l1.02,-0.28l0.99,0.2l1.75,5.29l-0.38,3.25l-0.81,-0.23l-1.0,0.46l-0.87,1.68l-0.05,1.16l1.97,1.84l1.47,-0.29l0.69,-1.18l1.09,0.01l-0.76,3.69l-0.58,1.09l-2.2,1.79l-3.17,4.76l-2.8,2.83l-3.57,2.88l-2.53,1.05l-1.22,0.14l-0.51,0.7l-1.18,-0.32l-1.39,0.5l-2.59,-0.52l-1.61,0.33l-1.18,-0.11l-2.55,1.1l-2.1,0.44l-1.6,1.07l-0.85,0.05l-0.93,-0.89l-0.93,-0.15l-0.97,-1.13l-0.25,0.05ZM491.45,364.19l0.62,-0.93l1.48,-0.59l1.18,-2.19l-0.07,-0.49l-1.99,-1.69l-1.66,0.56l-1.43,1.14l-1.34,1.73l0.02,0.51l1.88,2.11l1.31,-0.16Z\",\\n      \"name\": \"South Africa\"\\n    },\\n    \"EC\": {\\n      \"path\": \"M231.86,285.53l0.29,1.59l-0.69,1.45l-2.61,2.51l-3.13,1.11l-1.53,2.18l-0.49,1.68l-1.0,0.73l-1.02,-1.11l-1.78,-0.16l0.67,-1.15l-0.24,-0.86l1.25,-2.13l-0.54,-1.09l-0.67,-0.08l-0.72,0.87l-0.87,-0.64l0.35,-0.69l-0.36,-1.96l0.81,-0.51l0.45,-1.51l0.92,-1.57l-0.07,-0.97l2.65,-1.33l2.75,1.35l0.77,1.05l2.12,0.35l0.76,-0.32l1.96,1.21Z\",\\n      \"name\": \"Ecuador\"\\n    },\\n    \"IT\": {\\n      \"path\": \"M451.59,158.63l3.48,0.94l-0.21,1.17l0.3,0.83l-1.49,-0.24l-2.04,1.1l-0.21,0.39l0.13,1.45l-0.25,1.12l0.82,1.57l2.39,1.63l1.31,2.54l2.79,2.43l2.05,0.08l0.21,0.23l-0.39,0.33l0.09,0.67l4.05,1.97l2.17,1.76l-0.16,0.36l-1.17,-1.08l-2.18,-0.49l-0.44,0.2l-1.05,1.91l0.14,0.54l1.57,0.95l-0.19,0.98l-1.06,0.33l-1.25,2.34l-0.37,0.08l0.0,-0.33l1.0,-2.45l-1.73,-3.17l-1.12,-0.51l-0.88,-1.33l-1.51,-0.51l-1.27,-1.25l-1.75,-0.18l-4.12,-3.21l-1.62,-1.65l-1.03,-3.19l-3.53,-1.36l-1.3,0.51l-1.69,1.41l0.16,-0.72l-0.28,-0.47l-1.14,-0.33l-0.53,-1.96l0.72,-0.78l0.04,-0.48l-0.65,-1.17l0.8,0.39l1.4,-0.23l1.11,-0.84l0.52,0.35l1.19,-0.1l0.75,-1.2l1.53,0.33l1.36,-0.56l0.35,-1.14l1.08,0.32l0.68,-0.64l1.98,-0.44l0.42,0.82ZM459.19,184.75l-0.65,1.65l0.32,1.05l-0.31,0.89l-1.5,-0.85l-4.5,-1.67l0.19,-0.82l2.67,0.23l3.78,-0.48ZM443.93,176.05l1.18,1.66l-0.3,3.32l-1.06,-0.01l-0.77,0.73l-0.53,-0.44l-0.1,-3.37l-0.39,-1.22l1.04,0.01l0.92,-0.68Z\",\\n      \"name\": \"Italy\"\\n    },\\n    \"VN\": {\\n      \"path\": \"M690.56,230.25l-2.7,1.82l-2.09,2.46l-0.63,1.95l4.31,6.45l2.32,1.65l1.43,1.94l1.11,4.59l-0.32,4.24l-1.93,1.54l-2.84,1.61l-2.11,2.15l-2.73,2.06l-0.59,-1.05l0.63,-1.53l-0.13,-0.47l-1.34,-1.04l1.51,-0.71l2.55,-0.18l0.3,-0.63l-0.82,-1.14l4.0,-2.07l0.31,-3.05l-0.57,-1.77l0.42,-2.66l-0.73,-1.97l-1.86,-1.76l-3.63,-5.29l-2.72,-1.46l0.36,-0.47l1.5,-0.64l0.21,-0.52l-0.97,-2.27l-0.37,-0.24l-2.83,-0.02l-2.24,-3.9l0.83,-0.4l4.39,-0.29l2.06,-1.31l1.15,0.89l1.88,0.4l-0.17,1.51l1.35,1.16l1.67,0.45Z\",\\n      \"name\": \"Vietnam\"\\n    },\\n    \"SB\": {\\n      \"path\": \"M826.69,311.6l-0.61,0.09l-0.2,-0.33l0.37,0.15l0.44,0.09ZM824.18,307.38l-0.26,-0.3l-0.31,-0.91l0.03,0.0l0.54,1.21ZM823.04,309.33l-1.66,-0.22l-0.2,-0.52l1.16,0.28l0.69,0.46ZM819.28,304.68l1.14,0.65l0.02,0.03l-0.81,-0.44l-0.35,-0.23Z\",\\n      \"name\": \"Solomon Is.\"\\n    },\\n    \"ET\": {\\n      \"path\": \"M516.04,247.79l1.1,0.84l1.63,-0.45l0.68,0.47l1.63,0.03l2.01,0.94l1.73,1.66l1.64,2.07l-1.52,2.04l0.16,1.72l0.39,0.38l2.05,0.0l-0.36,1.03l2.86,3.58l8.32,3.08l1.31,0.02l-6.32,6.75l-3.1,0.11l-2.36,1.77l-1.47,0.04l-0.86,0.79l-1.38,-0.0l-1.32,-0.81l-2.29,1.05l-0.76,0.98l-3.29,-0.41l-3.07,-2.07l-1.8,-0.07l-0.62,-0.6l0.0,-1.24l-0.28,-0.38l-1.15,-0.37l-1.4,-2.59l-1.19,-0.68l-0.47,-1.0l-1.27,-1.23l-1.16,-0.22l0.43,-0.72l1.45,-0.28l0.41,-0.95l-0.03,-2.21l0.68,-2.44l1.05,-0.63l1.43,-3.06l1.57,-1.37l1.02,-2.51l0.35,-1.88l2.52,0.46l0.44,-0.24l0.58,-1.43Z\",\\n      \"name\": \"Ethiopia\"\\n    },\\n    \"SO\": {\\n      \"path\": \"M525.13,288.48l-1.13,-1.57l-0.03,-8.86l2.66,-3.38l1.67,-0.13l2.13,-1.69l3.41,-0.23l7.08,-7.55l2.91,-3.69l0.08,-4.82l2.98,-0.67l1.24,-0.86l0.45,-0.0l-0.2,3.0l-1.21,3.62l-2.73,5.97l-2.13,3.65l-5.03,6.16l-8.56,6.4l-2.78,3.08l-0.8,1.56Z\",\\n      \"name\": \"Somalia\"\\n    },\\n    \"ZW\": {\\n      \"path\": \"M498.91,341.09l-1.11,-0.22l-0.92,0.28l-2.09,-0.44l-1.5,-1.11l-1.89,-0.43l-0.62,-1.4l-0.01,-0.84l-0.3,-0.38l-0.97,-0.25l-2.71,-2.74l-1.92,-3.32l3.83,0.45l3.73,-3.82l1.08,-0.44l0.26,-0.77l1.25,-0.9l1.41,-0.26l0.5,0.89l1.99,-0.05l1.72,1.17l1.11,0.17l1.05,0.66l0.01,2.99l-0.59,3.76l0.38,0.86l-0.23,1.23l-0.39,0.35l-0.63,1.81l-2.43,2.75Z\",\\n      \"name\": \"Zimbabwe\"\\n    },\\n    \"ES\": {\\n      \"path\": \"M416.0,169.21l1.07,1.17l4.61,1.38l1.06,-0.57l2.6,1.26l2.71,-0.3l0.09,1.12l-2.14,1.8l-3.11,0.61l-0.31,0.31l-0.2,0.89l-1.54,1.69l-0.97,2.4l0.84,1.74l-1.32,1.27l-0.48,1.68l-1.88,0.65l-1.66,2.07l-5.36,-0.01l-1.79,1.08l-0.89,0.98l-0.88,-0.17l-0.79,-0.82l-0.68,-1.59l-2.37,-0.63l-0.11,-0.5l1.21,-1.82l-0.77,-1.13l0.61,-1.68l-0.76,-1.62l0.87,-0.49l0.09,-1.25l0.42,-0.6l0.03,-2.11l0.99,-0.69l0.13,-0.5l-1.03,-1.73l-1.46,-0.11l-0.61,0.38l-1.06,0.0l-0.52,-1.23l-0.53,-0.21l-1.32,0.67l-0.01,-1.49l-0.75,-0.96l3.03,-1.88l2.99,0.53l3.32,-0.02l2.63,0.51l6.01,-0.06Z\",\\n      \"name\": \"Spain\"\\n    },\\n    \"ER\": {\\n      \"path\": \"M520.38,246.23l3.42,2.43l3.5,3.77l0.84,0.54l-0.95,-0.01l-3.51,-3.89l-2.33,-1.15l-1.73,-0.07l-0.91,-0.51l-1.26,0.51l-1.34,-1.02l-0.61,0.17l-0.66,1.61l-2.35,-0.43l-0.17,-0.67l1.29,-5.29l0.61,-0.61l1.95,-0.53l0.87,-1.01l1.17,2.41l0.68,2.33l1.49,1.43Z\",\\n      \"name\": \"Eritrea\"\\n    },\\n    \"ME\": {\\n      \"path\": \"M468.91,172.53l-1.22,-1.02l0.47,-1.81l0.89,-0.72l2.26,1.51l-0.5,0.57l-0.75,-0.27l-1.14,1.73Z\",\\n      \"name\": \"Montenegro\"\\n    },\\n    \"MD\": {\\n      \"path\": \"M488.41,153.73l1.4,-0.27l1.72,0.93l1.07,0.15l0.85,0.65l-0.14,0.84l0.96,0.85l1.12,2.47l-1.15,-0.07l-0.66,-0.41l-0.52,0.25l-0.09,0.86l-1.08,1.89l-0.27,-0.86l0.25,-1.34l-0.16,-1.6l-3.29,-4.34Z\",\\n      \"name\": \"Moldova\"\\n    },\\n    \"MG\": {\\n      \"path\": \"M545.91,319.14l0.4,3.03l0.62,1.21l-0.21,1.02l-0.57,-0.8l-0.69,-0.01l-0.47,0.76l0.41,2.12l-0.18,0.87l-0.73,0.78l-0.15,2.14l-4.71,15.2l-1.06,2.88l-3.92,1.64l-3.12,-1.49l-0.6,-1.21l-0.19,-2.4l-0.86,-2.05l-0.21,-1.77l0.38,-1.62l1.21,-0.75l0.01,-0.76l1.19,-2.04l0.23,-1.66l-1.06,-2.99l-0.19,-2.21l0.81,-1.33l0.32,-1.46l4.63,-1.22l3.44,-3.0l0.85,-1.4l-0.08,-0.7l0.78,-0.04l1.38,-1.77l0.13,-1.64l0.45,-0.61l1.16,1.69l0.59,1.6Z\",\\n      \"name\": \"Madagascar\"\\n    },\\n    \"MA\": {\\n      \"path\": \"M378.78,230.02l0.06,-0.59l0.92,-0.73l0.82,-1.37l-0.09,-1.04l0.79,-1.7l1.31,-1.58l0.96,-0.59l0.66,-1.55l0.09,-1.47l0.81,-1.48l1.72,-1.07l1.55,-2.69l1.16,-0.96l2.44,-0.39l1.94,-1.82l1.31,-0.78l2.09,-2.28l-0.51,-3.65l1.24,-3.7l1.5,-1.75l4.46,-2.57l2.37,-4.47l1.44,0.01l1.68,1.21l2.32,-0.19l3.47,0.65l0.8,1.54l0.16,1.71l0.86,2.96l0.56,0.59l-0.26,0.61l-3.05,0.44l-1.26,1.05l-1.33,0.22l-0.33,0.37l-0.09,1.78l-2.68,1.0l-1.07,1.42l-4.47,1.13l-4.04,2.01l-0.54,4.64l-1.15,0.06l-0.92,0.61l-1.96,-0.35l-2.42,0.54l-0.74,1.9l-0.86,0.4l-1.14,3.26l-3.53,3.01l-0.8,3.55l-0.96,1.1l-0.29,0.82l-4.95,0.18Z\",\\n      \"name\": \"Morocco\"\\n    },\\n    \"UZ\": {\\n      \"path\": \"M598.64,172.75l-1.63,1.52l0.06,0.64l1.85,1.12l1.97,-0.64l2.21,1.17l-2.52,1.68l-2.59,-0.22l-0.18,-0.41l0.46,-1.23l-0.45,-0.53l-3.35,0.69l-2.1,3.51l-1.87,-0.12l-1.03,1.51l0.22,0.55l1.64,0.62l0.46,1.83l-1.19,2.49l-2.66,-0.53l0.05,-1.36l-0.26,-0.39l-3.3,-1.23l-2.56,-1.4l-4.4,-3.34l-1.34,-3.14l-1.08,-0.6l-2.58,0.13l-0.69,-0.44l-0.47,-2.52l-3.37,-1.6l-0.43,0.05l-2.07,1.72l-2.1,1.01l-0.21,0.47l0.28,1.01l-1.91,0.03l-0.09,-10.5l5.99,-1.7l6.19,3.54l2.71,2.84l7.05,-0.67l2.71,2.01l-0.17,2.81l0.39,0.42l0.9,0.02l0.44,2.14l0.38,0.32l2.94,0.09l0.95,1.42l1.28,-0.24l1.05,-2.04l4.43,-2.5Z\",\\n      \"name\": \"Uzbekistan\"\\n    },\\n    \"MM\": {\\n      \"path\": \"M673.9,230.21l-1.97,1.57l-0.57,0.96l-1.4,0.6l-1.36,1.05l-1.99,0.36l-1.08,2.66l-0.91,0.4l-0.19,0.55l1.21,2.27l2.52,3.43l-0.79,1.91l-0.74,0.41l-0.17,0.52l0.65,1.37l1.61,1.95l0.25,2.58l0.9,2.13l-1.92,3.57l0.68,-2.25l-0.81,-1.74l0.19,-2.65l-1.05,-1.53l-1.24,-6.17l-1.12,-2.26l-0.6,-0.13l-4.34,3.02l-2.39,-0.65l0.77,-2.84l-0.52,-2.61l-1.91,-2.96l0.25,-0.75l-0.29,-0.51l-1.33,-0.3l-1.61,-1.93l-0.1,-1.3l0.82,-0.24l0.04,-1.64l1.02,-0.52l0.21,-0.45l-0.23,-0.95l0.54,-0.96l0.08,-2.22l1.46,0.45l0.47,-0.2l1.12,-2.19l0.16,-1.35l1.33,-2.16l-0.0,-1.52l2.89,-1.66l1.63,0.44l0.5,-0.44l-0.17,-1.4l0.64,-0.36l0.08,-1.04l0.77,-0.11l0.71,1.35l1.06,0.69l-0.03,3.86l-2.38,2.37l-0.3,3.15l0.46,0.43l2.28,-0.38l0.51,2.08l1.47,0.67l-0.6,1.8l0.19,0.48l2.97,1.48l1.64,-0.55l0.02,0.32Z\",\\n      \"name\": \"Myanmar\"\\n    },\\n    \"ML\": {\\n      \"path\": \"M392.61,254.08l-0.19,-2.37l-0.99,-0.87l-0.44,-1.3l-0.09,-1.28l0.81,-0.58l0.35,-1.24l2.37,0.65l1.31,-0.47l0.86,0.15l0.66,-0.56l9.83,-0.04l0.38,-0.28l0.56,-1.8l-0.44,-0.65l-2.35,-21.95l3.27,-0.04l16.7,11.38l0.74,1.31l2.5,1.09l0.02,1.38l0.44,0.39l2.34,-0.21l0.01,5.38l-1.28,1.61l-0.26,1.49l-5.31,0.57l-1.07,0.92l-2.9,0.1l-0.86,-0.48l-1.38,0.36l-2.4,1.08l-0.6,0.87l-1.85,1.09l-0.43,0.7l-0.79,0.39l-1.44,-0.21l-0.81,0.84l-0.34,1.64l-1.91,2.02l-0.06,1.03l-0.67,1.22l0.13,1.16l-0.97,0.39l-0.23,-0.64l-0.52,-0.24l-1.35,0.4l-0.34,0.55l-2.69,-0.28l-0.37,-0.35l-0.02,-0.9l-0.65,-0.35l0.45,-0.64l-0.03,-0.53l-2.12,-2.44l-0.76,-0.01l-2.0,1.16l-0.78,-0.15l-0.8,-0.67l-1.21,0.23Z\",\\n      \"name\": \"Mali\"\\n    },\\n    \"MN\": {\\n      \"path\": \"M676.61,146.48l3.81,1.68l5.67,-1.0l2.37,0.41l2.34,1.5l1.79,1.75l2.29,-0.03l3.12,0.52l2.47,-0.81l3.41,-0.59l3.53,-2.21l1.25,0.29l1.53,1.13l2.27,-0.21l-2.66,5.01l0.64,1.68l0.47,0.21l1.32,-0.38l2.38,0.48l2.02,-1.11l1.76,0.89l2.06,2.02l-0.13,0.53l-1.72,-0.29l-3.77,0.46l-1.88,0.99l-1.76,1.99l-3.71,1.17l-2.45,1.6l-3.83,-0.87l-0.41,0.17l-1.31,1.99l1.04,2.24l-1.52,0.9l-1.74,1.57l-2.79,1.02l-3.78,0.13l-4.05,1.05l-2.77,1.52l-1.16,-0.85l-2.94,0.0l-3.62,-1.79l-2.58,-0.49l-3.4,0.41l-5.12,-0.67l-2.63,0.06l-1.31,-1.6l-1.4,-3.0l-1.48,-0.33l-3.13,-1.94l-6.16,-0.93l-0.71,-1.06l0.86,-3.82l-1.93,-2.71l-3.5,-1.18l-1.95,-1.58l-0.5,-1.72l2.34,-0.52l4.75,-2.8l3.62,-1.47l2.18,0.97l2.46,0.05l1.81,1.53l2.46,0.12l3.95,0.71l2.43,-2.28l0.08,-0.48l-0.9,-1.72l2.24,-2.98l2.62,1.27l4.94,1.17l0.43,2.24Z\",\\n      \"name\": \"Mongolia\"\\n    },\\n    \"MK\": {\\n      \"path\": \"M472.8,173.98l0.49,-0.71l3.57,-0.71l1.0,0.77l0.13,1.45l-0.65,0.53l-1.15,-0.05l-1.12,0.67l-1.39,0.22l-0.79,-0.55l-0.29,-1.03l0.19,-0.6Z\",\\n      \"name\": \"Macedonia\"\\n    },\\n    \"MW\": {\\n      \"path\": \"M505.5,309.31l0.85,1.95l0.15,2.86l-0.69,1.65l0.71,1.8l0.06,1.28l0.49,0.64l0.07,1.06l0.4,0.55l0.8,-0.23l0.55,0.61l0.69,-0.21l0.34,0.6l0.19,2.94l-1.04,0.62l-0.54,1.25l-1.11,-1.08l-0.16,-1.56l0.51,-1.31l-0.32,-1.3l-0.99,-0.65l-0.82,0.12l-2.36,-1.64l0.63,-1.96l0.82,-1.18l-0.46,-2.01l0.9,-2.86l-0.94,-2.51l0.96,0.18l0.29,0.4Z\",\\n      \"name\": \"Malawi\"\\n    },\\n    \"MR\": {\\n      \"path\": \"M407.36,220.66l-2.58,0.03l-0.39,0.44l2.42,22.56l0.36,0.43l-0.39,1.24l-9.75,0.04l-0.56,0.53l-0.91,-0.11l-1.27,0.45l-1.61,-0.66l-0.97,0.03l-0.36,0.29l-0.38,1.35l-0.42,0.23l-2.93,-3.4l-2.96,-1.52l-1.62,-0.03l-1.27,0.54l-1.12,-0.2l-0.65,0.4l-0.08,-0.49l0.68,-1.29l0.31,-2.43l-0.57,-3.91l0.23,-1.21l-0.69,-1.5l-1.15,-1.02l0.25,-0.39l9.58,0.02l0.4,-0.45l-0.46,-3.68l0.47,-1.04l2.12,-0.21l0.36,-0.4l-0.08,-6.4l7.81,0.13l0.41,-0.4l0.01,-3.31l7.76,5.35Z\",\\n      \"name\": \"Mauritania\"\\n    },\\n    \"UG\": {\\n      \"path\": \"M498.55,276.32l0.7,-0.46l1.65,0.5l1.96,-0.57l1.7,0.01l1.45,-0.98l0.91,1.33l1.33,3.95l-2.57,4.03l-1.46,-0.4l-2.54,0.91l-1.37,1.61l-0.01,0.81l-2.42,-0.01l-2.26,1.01l-0.17,-1.59l0.58,-1.04l0.14,-1.94l1.37,-2.28l1.78,-1.58l-0.17,-0.65l-0.72,-0.24l0.13,-2.43Z\",\\n      \"name\": \"Uganda\"\\n    },\\n    \"MY\": {\\n      \"path\": \"M717.47,273.46l-1.39,0.65l-2.12,-0.41l-2.88,-0.0l-0.38,0.28l-0.84,2.75l-0.99,0.96l-1.21,3.29l-1.73,0.45l-2.45,-0.68l-1.39,0.31l-1.33,1.15l-1.59,-0.14l-1.41,0.44l-1.44,-1.19l-0.18,-0.73l1.34,0.53l1.93,-0.47l0.75,-2.22l4.02,-1.03l2.75,-3.21l0.82,0.94l0.64,-0.05l0.4,-0.65l0.96,0.06l0.42,-0.36l0.24,-2.68l1.81,-1.64l1.21,-1.86l0.63,-0.01l1.07,1.05l0.34,1.28l3.44,1.35l-0.06,0.35l-1.37,0.1l-0.35,0.54l0.32,0.88ZM673.68,269.59l0.17,1.09l0.47,0.33l1.65,-0.3l0.87,-0.94l1.61,1.52l0.98,1.56l-0.12,2.81l0.41,2.29l0.95,0.9l0.88,2.44l-1.27,0.12l-5.1,-3.67l-0.34,-1.29l-1.37,-1.59l-0.33,-1.97l-0.88,-1.4l0.25,-1.68l-0.46,-1.05l1.63,0.84Z\",\\n      \"name\": \"Malaysia\"\\n    },\\n    \"MX\": {\\n      \"path\": \"M133.12,200.41l0.2,0.47l9.63,3.33l6.96,-0.02l0.4,-0.4l0.0,-0.74l3.77,0.0l3.55,2.93l1.39,2.83l1.52,1.04l2.08,0.82l0.47,-0.14l1.46,-2.0l1.73,-0.04l1.59,0.98l2.05,3.35l1.47,1.56l1.26,3.14l2.18,1.02l2.26,0.58l-1.18,3.72l-0.42,5.04l1.79,4.89l1.62,1.89l0.61,1.52l1.2,1.42l2.55,0.66l1.37,1.1l7.54,-1.89l1.86,-1.3l1.14,-4.3l4.1,-1.21l3.57,-0.11l0.32,0.3l-0.06,0.94l-1.26,1.45l-0.67,1.71l0.38,0.7l-0.72,2.27l-0.49,-0.3l-1.0,0.08l-1.0,1.39l-0.47,-0.11l-0.53,0.47l-4.26,-0.02l-0.4,0.4l-0.0,1.06l-1.1,0.26l0.1,0.44l1.82,1.44l0.56,0.91l-3.19,0.21l-1.21,2.09l0.24,0.72l-0.2,0.44l-2.24,-2.18l-1.45,-0.93l-2.22,-0.69l-1.52,0.22l-3.07,1.16l-10.55,-3.85l-2.86,-1.96l-3.78,-0.92l-1.08,-1.19l-2.62,-1.43l-1.18,-1.54l-0.38,-0.81l0.66,-0.63l-0.18,-0.53l0.52,-0.76l0.01,-0.91l-2.0,-3.82l-2.21,-2.63l-2.53,-2.09l-1.19,-1.62l-2.2,-1.17l-0.3,-0.43l0.34,-1.48l-0.21,-0.45l-1.23,-0.6l-1.36,-1.2l-0.59,-1.78l-1.54,-0.47l-2.44,-2.55l-0.16,-0.9l-1.33,-2.03l-0.84,-1.99l-0.16,-1.33l-1.81,-1.1l-0.97,0.05l-1.31,-0.7l-0.57,0.22l-0.4,1.12l0.72,3.77l3.51,3.89l0.28,0.78l0.53,0.26l0.41,1.43l1.33,1.73l1.58,1.41l0.8,2.39l1.43,2.41l0.13,1.32l0.37,0.36l1.04,0.08l1.67,2.28l-0.85,0.76l-0.66,-1.51l-1.68,-1.54l-2.91,-1.87l0.06,-1.82l-0.54,-1.68l-2.91,-2.03l-0.55,0.09l-1.95,-1.1l-0.88,-0.94l0.68,-0.08l0.93,-1.01l0.08,-1.78l-1.93,-1.94l-1.46,-0.77l-3.75,-7.56l4.88,-0.42Z\",\\n      \"name\": \"Mexico\"\\n    },\\n    \"IL\": {\\n      \"path\": \"M507.76,203.05l0.4,-0.78l0.18,0.4l-0.33,1.03l0.52,0.44l0.68,-0.22l-0.86,3.6l-1.16,-3.32l0.59,-0.74l-0.03,-0.41ZM508.73,200.34l0.37,-1.02l0.64,0.0l0.52,-0.51l-0.49,1.53l-0.56,-0.24l-0.48,0.23Z\",\\n      \"name\": \"Israel\"\\n    },\\n    \"FR\": {\\n      \"path\": \"M444.48,172.62l-0.64,1.78l-0.58,-0.31l-0.49,-1.72l0.4,-0.89l1.0,-0.72l0.3,1.85ZM429.64,147.1l1.78,1.58l1.46,-0.13l2.1,1.42l1.35,0.27l1.23,0.83l3.04,0.5l-1.03,1.85l-0.3,2.12l-0.41,0.32l-0.95,-0.24l-0.5,0.43l0.06,0.61l-1.81,1.92l-0.04,1.42l0.55,0.38l0.88,-0.36l0.61,0.97l-0.03,1.0l0.57,0.91l-0.75,1.09l0.65,2.39l1.27,0.57l-0.18,0.82l-2.01,1.53l-4.77,-0.8l-3.82,1.0l-0.53,1.85l-2.49,0.34l-2.71,-1.31l-1.16,0.57l-4.31,-1.29l-0.72,-0.86l1.19,-1.78l0.39,-6.45l-2.58,-3.3l-1.9,-1.66l-3.72,-1.23l-0.19,-1.72l2.81,-0.61l4.12,0.81l0.47,-0.48l-0.6,-2.77l1.94,0.95l5.83,-2.54l0.92,-2.74l1.6,-0.49l0.24,0.78l1.36,0.33l1.05,1.19ZM289.01,278.39l-0.81,0.8l-0.78,0.12l-0.5,-0.66l-0.56,-0.1l-0.91,0.6l-0.46,-0.22l1.09,-2.96l-0.96,-1.77l-0.17,-1.49l1.07,-1.77l2.32,0.75l2.51,2.01l0.3,0.74l-2.14,3.96Z\",\\n      \"name\": \"France\"\\n    },\\n    \"XS\": {\\n      \"path\": \"M531.15,258.94l1.51,0.12l5.13,-0.95l5.3,-1.48l-0.01,4.4l-2.67,3.39l-1.85,0.01l-8.04,-2.94l-2.55,-3.17l1.12,-1.71l2.04,2.34Z\",\\n      \"name\": \"Somaliland\"\\n    },\\n    \"FI\": {\\n      \"path\": \"M492.17,76.39l-0.23,3.5l3.52,2.63l-2.08,2.88l-0.02,0.44l2.8,4.56l-1.59,3.31l2.16,3.24l-0.94,2.39l0.14,0.47l3.44,2.51l-0.77,1.62l-7.52,6.95l-4.5,0.31l-4.38,1.37l-3.8,0.74l-1.44,-1.96l-2.17,-1.11l0.5,-3.66l-1.16,-3.33l1.09,-2.08l2.21,-2.42l5.67,-4.32l1.64,-0.83l0.21,-0.42l-0.46,-2.02l-3.38,-1.89l-0.75,-1.43l-0.22,-6.74l-6.79,-4.8l0.8,-0.62l2.54,2.12l3.46,-0.12l3.0,0.96l2.51,-2.11l1.17,-3.08l3.55,-1.38l2.76,1.53l-0.95,2.79Z\",\\n      \"name\": \"Finland\"\\n    },\\n    \"FJ\": {\\n      \"path\": \"M869.95,326.98l-1.21,0.41l-0.08,-0.23l2.97,-1.21l-0.14,0.42l-1.54,0.61ZM867.58,329.25l0.43,0.37l-0.27,0.88l-1.24,0.28l-1.04,-0.24l-0.14,-0.66l0.63,-0.58l0.92,0.26l0.7,-0.31Z\",\\n      \"name\": \"Fiji\"\\n    },\\n    \"FK\": {\\n      \"path\": \"M274.36,425.85l1.44,1.08l-0.47,0.73l-3.0,0.89l-0.96,-1.0l-0.52,-0.05l-1.83,1.29l-0.73,-0.88l2.46,-1.64l1.93,0.76l1.67,-1.19Z\",\\n      \"name\": \"Falkland Is.\"\\n    },\\n    \"NI\": {\\n      \"path\": \"M202.33,252.67l0.81,-0.18l1.03,-1.02l-0.04,-0.88l0.68,-0.0l0.63,-0.54l0.97,0.22l1.53,-1.26l0.58,-0.99l1.17,0.34l2.41,-0.94l0.13,1.32l-0.81,1.94l0.1,2.74l-0.36,0.37l-0.11,1.75l-0.47,0.81l0.18,1.14l-1.73,-0.85l-0.71,0.27l-1.47,-0.6l-0.52,0.16l-4.01,-3.81Z\",\\n      \"name\": \"Nicaragua\"\\n    },\\n    \"NL\": {\\n      \"path\": \"M430.31,143.39l0.6,-0.5l2.13,-4.8l3.2,-1.33l1.74,0.08l0.33,0.8l-0.59,2.92l-0.5,0.99l-1.26,0.0l-0.4,0.45l0.33,2.7l-2.2,-1.78l-2.62,0.58l-0.75,-0.11Z\",\\n      \"name\": \"Netherlands\"\\n    },\\n    \"NO\": {\\n      \"path\": \"M491.44,67.41l6.8,2.89l-2.29,0.86l-0.15,0.65l2.33,2.38l-4.98,1.79l0.84,-2.45l-0.18,-0.48l-3.55,-1.8l-3.89,1.52l-1.42,3.38l-2.12,1.72l-2.64,-1.0l-3.11,0.21l-2.66,-2.22l-0.5,-0.01l-1.41,1.1l-1.44,0.17l-0.35,0.35l-0.32,2.47l-4.32,-0.64l-0.44,0.29l-0.58,2.11l-2.45,0.2l-4.15,7.68l-3.88,5.76l0.78,1.62l-0.64,1.16l-2.24,-0.06l-0.38,0.24l-1.66,3.89l0.15,5.17l1.57,2.04l-0.78,4.16l-2.02,2.48l-0.85,1.63l-1.3,-1.75l-0.58,-0.07l-4.87,4.19l-3.1,0.79l-3.16,-1.7l-0.85,-3.77l-0.77,-8.55l2.14,-2.31l6.55,-3.27l5.02,-4.17l10.63,-13.84l10.98,-8.7l5.35,-1.91l4.34,0.12l3.69,-3.64l4.49,0.19l4.37,-0.89ZM484.55,20.04l4.26,1.75l-3.1,2.55l-7.1,0.65l-7.08,-0.9l-0.37,-1.31l-0.37,-0.29l-3.44,-0.1l-2.08,-2.0l6.87,-1.44l3.9,1.31l2.39,-1.64l6.13,1.4ZM481.69,33.93l-4.45,1.74l-3.54,-0.99l1.12,-0.9l0.05,-0.58l-1.06,-1.22l4.22,-0.89l1.09,1.97l2.57,0.87ZM466.44,24.04l7.43,3.77l-5.41,1.86l-1.58,4.08l-2.26,1.2l-1.12,4.11l-2.61,0.18l-4.79,-2.86l1.84,-1.54l-0.1,-0.68l-3.69,-1.53l-4.77,-4.51l-1.73,-3.89l6.11,-1.82l1.54,1.92l3.57,-0.08l1.2,-1.96l3.32,-0.18l3.05,1.92Z\",\\n      \"name\": \"Norway\"\\n    },\\n    \"NA\": {\\n      \"path\": \"M474.26,330.66l-0.97,0.04l-0.38,0.4l-0.07,8.9l-2.09,0.08l-0.39,0.4l-0.0,17.42l-1.98,1.23l-1.17,0.17l-2.44,-0.66l-0.48,-1.13l-0.99,-0.74l-0.54,0.05l-0.9,1.01l-1.53,-1.68l-0.93,-1.88l-1.99,-8.56l-0.06,-3.12l-0.33,-1.52l-2.3,-3.34l-1.91,-4.83l-1.96,-2.43l-0.12,-1.57l2.33,-0.79l1.43,0.07l1.81,1.13l10.23,-0.25l1.84,1.23l5.87,0.35ZM474.66,330.64l6.51,-1.6l1.9,0.39l-1.69,0.4l-1.31,0.83l-1.12,-0.94l-4.29,0.92Z\",\\n      \"name\": \"Namibia\"\\n    },\\n    \"VU\": {\\n      \"path\": \"M839.04,322.8l0.22,1.14l-0.44,0.03l-0.2,-1.45l0.42,0.27Z\",\\n      \"name\": \"Vanuatu\"\\n    },\\n    \"NC\": {\\n      \"path\": \"M838.78,341.24l-0.33,0.22l-2.9,-1.75l-3.26,-3.37l1.65,0.83l4.85,4.07Z\",\\n      \"name\": \"New Caledonia\"\\n    },\\n    \"NE\": {\\n      \"path\": \"M454.75,226.53l1.33,1.37l0.48,0.07l1.27,-0.7l0.53,3.52l0.94,0.83l0.17,0.92l0.81,0.69l-0.44,0.95l-0.96,5.26l-0.13,3.22l-3.04,2.31l-1.22,3.57l1.02,1.24l-0.0,1.46l0.39,0.4l1.13,0.04l-0.9,1.25l-1.47,-2.42l-0.86,-0.29l-2.09,1.37l-1.74,-0.67l-1.45,-0.17l-0.85,0.35l-1.36,-0.07l-1.64,1.09l-1.06,0.05l-2.94,-1.28l-1.44,0.59l-1.01,-0.03l-0.97,-0.94l-2.7,-0.98l-2.69,0.3l-0.87,0.64l-0.47,1.6l-0.75,1.16l-0.12,1.53l-1.57,-1.1l-1.31,0.24l0.03,-0.81l-0.32,-0.41l-2.59,-0.52l-0.15,-1.16l-1.35,-1.6l-0.29,-1.0l0.13,-0.84l1.29,-0.08l1.08,-0.92l3.31,-0.22l2.22,-0.41l0.32,-0.34l0.2,-1.47l1.39,-1.88l-0.01,-5.66l3.36,-1.12l7.24,-5.12l8.42,-4.92l3.69,1.06Z\",\\n      \"name\": \"Niger\"\\n    },\\n    \"NG\": {\\n      \"path\": \"M456.32,253.89l0.64,0.65l-0.28,1.04l-2.11,2.01l-2.03,5.18l-1.37,1.16l-1.15,3.18l-1.33,0.66l-1.46,-0.97l-1.21,0.16l-1.38,1.36l-0.91,0.24l-1.79,4.06l-2.33,0.81l-1.11,-0.07l-0.86,0.5l-1.71,-0.05l-1.19,-1.39l-0.89,-1.89l-1.77,-1.66l-3.95,-0.08l0.07,-5.21l0.42,-1.43l1.95,-2.3l-0.14,-0.91l0.43,-1.18l-0.53,-1.41l0.25,-2.92l0.72,-1.07l0.32,-1.34l0.46,-0.39l2.47,-0.28l2.34,0.89l1.15,1.02l1.28,0.04l1.22,-0.58l3.03,1.27l1.49,-0.14l1.36,-1.0l1.33,0.07l0.82,-0.35l3.45,0.8l1.82,-1.32l1.84,2.67l0.66,0.16Z\",\\n      \"name\": \"Nigeria\"\\n    },\\n    \"NZ\": {\\n      \"path\": \"M857.8,379.65l1.86,3.12l0.44,0.18l0.3,-0.38l0.03,-1.23l0.38,0.27l0.57,2.31l2.02,0.94l1.81,0.27l1.57,-1.06l0.7,0.18l-1.15,3.59l-1.98,0.11l-0.74,1.2l0.2,1.11l-2.42,3.98l-1.49,0.92l-1.04,-0.85l1.21,-2.05l-0.81,-2.01l-2.63,-1.25l0.04,-0.57l1.82,-1.19l0.43,-2.34l-0.16,-2.03l-0.95,-1.82l-0.06,-0.72l-3.11,-3.64l-0.79,-1.52l1.56,1.45l1.76,0.66l0.65,2.34ZM853.83,393.59l0.57,1.24l0.59,0.16l1.42,-0.97l0.46,0.79l0.0,1.03l-2.47,3.48l-1.26,1.2l-0.06,0.5l0.55,0.87l-1.41,0.07l-2.33,1.38l-2.03,5.02l-3.02,2.16l-2.06,-0.06l-1.71,-1.04l-2.47,-0.2l-0.27,-0.73l1.22,-2.1l3.05,-2.94l1.62,-0.59l4.02,-2.82l1.57,-1.67l1.07,-2.16l0.88,-0.7l0.48,-1.75l1.24,-0.97l0.35,0.79Z\",\\n      \"name\": \"New Zealand\"\\n    },\\n    \"NP\": {\\n      \"path\": \"M641.14,213.62l0.01,3.19l-1.74,0.04l-4.8,-0.86l-1.58,-1.39l-3.37,-0.34l-7.65,-3.7l0.8,-2.09l2.33,-1.7l1.77,0.75l2.49,1.76l1.38,0.41l0.99,1.35l1.9,0.52l1.99,1.17l5.49,0.9Z\",\\n      \"name\": \"Nepal\"\\n    },\\n    \"XK\": {\\n      \"path\": \"M472.77,172.64l-1.08,-1.29l0.96,-0.77l0.29,-0.83l1.98,1.64l-0.36,0.67l-1.79,0.58Z\",\\n      \"name\": \"Kosovo\"\\n    },\\n    \"CI\": {\\n      \"path\": \"M407.4,259.27l0.86,0.42l0.56,0.9l1.13,0.53l1.19,-0.61l0.97,-0.08l1.42,0.54l0.6,3.24l-1.03,2.08l-0.65,2.84l1.06,2.33l-0.06,0.53l-2.54,-0.47l-1.66,0.03l-3.06,0.46l-4.11,1.6l0.32,-3.06l-1.18,-1.31l-1.32,-0.66l0.42,-0.85l-0.2,-1.4l0.5,-0.67l0.01,-1.59l0.84,-0.32l0.26,-0.5l-1.15,-3.01l0.12,-0.5l0.51,-0.25l0.66,0.31l1.93,0.02l0.67,-0.71l0.71,-0.14l0.25,0.69l0.57,0.22l1.4,-0.61Z\",\\n      \"name\": \"C\\\\xF4te d\\'Ivoire\"\\n    },\\n    \"CH\": {\\n      \"path\": \"M444.62,156.35l-0.29,0.87l0.18,0.53l1.13,0.58l1.0,0.1l-0.1,0.65l-0.79,0.38l-1.72,-0.37l-0.45,0.23l-0.45,1.04l-0.75,0.06l-0.84,-0.4l-1.32,1.0l-0.96,0.12l-0.88,-0.55l-0.81,-1.3l-0.49,-0.16l-0.63,0.26l0.02,-0.65l1.71,-1.66l0.1,-0.56l0.93,0.08l0.58,-0.46l1.99,0.02l0.66,-0.61l2.19,0.79Z\",\\n      \"name\": \"Switzerland\"\\n    },\\n    \"CO\": {\\n      \"path\": \"M242.07,254.93l-1.7,0.59l-0.59,1.18l-1.7,1.69l-0.38,1.93l-0.67,1.43l0.31,0.57l1.03,0.13l0.25,0.9l0.57,0.64l-0.04,2.34l1.64,1.42l3.16,-0.24l1.26,0.28l1.67,2.06l0.41,0.13l4.09,-0.39l0.45,0.22l-0.92,1.95l-0.2,1.8l0.52,1.83l0.75,1.05l-1.12,1.1l0.07,0.63l0.84,0.51l0.74,1.29l-0.39,-0.45l-0.59,-0.01l-0.71,0.74l-4.71,-0.05l-0.4,0.41l0.03,1.57l0.33,0.39l1.11,0.2l-1.68,0.4l-0.29,0.38l-0.01,1.82l1.16,1.14l0.34,1.25l-1.05,7.05l-1.04,-0.87l1.26,-1.99l-0.13,-0.56l-2.18,-1.23l-1.38,0.2l-1.14,-0.38l-1.27,0.61l-1.55,-0.26l-1.38,-2.46l-1.23,-0.75l-0.85,-1.2l-1.67,-1.19l-0.86,0.13l-2.11,-1.32l-1.01,0.31l-1.8,-0.29l-0.52,-0.91l-3.09,-1.68l0.77,-0.52l-0.1,-1.12l0.41,-0.64l1.34,-0.32l2.0,-2.88l-0.11,-0.57l-0.66,-0.43l0.39,-1.38l-0.52,-2.1l0.49,-0.83l-0.4,-2.13l-0.97,-1.35l0.17,-0.66l0.86,-0.08l0.47,-0.75l-0.46,-1.63l1.41,-0.07l1.8,-1.69l0.93,-0.24l0.3,-0.38l0.45,-2.76l1.22,-1.0l1.44,-0.04l0.45,-0.5l1.91,0.12l2.93,-1.84l1.15,-1.14l0.91,0.46l-0.25,0.45Z\",\\n      \"name\": \"Colombia\"\\n    },\\n    \"CN\": {\\n      \"path\": \"M740.23,148.97l4.57,1.3l2.8,2.17l0.98,2.9l0.38,0.27l3.8,0.0l2.32,-1.28l3.29,-0.75l-0.96,2.09l-1.02,1.28l-0.85,3.4l-1.52,2.73l-2.76,-0.5l-2.4,1.13l-0.21,0.45l0.64,2.57l-0.32,3.2l-0.94,0.06l-0.37,0.89l-0.91,-1.01l-0.64,0.07l-0.92,1.57l-3.73,1.25l-0.26,0.48l0.26,1.06l-1.5,-0.08l-1.09,-0.86l-0.56,0.06l-1.67,2.06l-2.7,1.56l-2.03,1.88l-3.4,0.83l-1.93,1.4l-1.15,0.34l0.33,-0.7l-0.41,-0.89l1.79,-1.79l0.02,-0.54l-1.32,-1.56l-0.48,-0.1l-2.24,1.09l-2.83,2.06l-1.51,1.83l-2.28,0.13l-1.55,1.49l-0.04,0.5l1.32,1.97l2.0,0.58l0.31,1.35l1.98,0.84l3.0,-1.96l2.0,1.02l1.49,0.11l0.22,0.83l-3.37,0.86l-1.12,1.48l-2.5,1.52l-1.29,1.99l0.14,0.56l2.57,1.48l0.97,2.7l3.17,4.63l-0.03,1.66l-1.35,0.65l-0.2,0.51l0.6,1.47l1.4,0.91l-0.89,3.82l-1.43,0.38l-3.85,6.44l-2.27,3.11l-6.78,4.57l-2.73,0.29l-1.45,1.04l-0.62,-0.61l-0.55,-0.01l-1.36,1.25l-3.39,1.27l-2.61,0.4l-1.1,2.79l-0.81,0.09l-0.49,-1.42l0.5,-0.85l-0.25,-0.59l-3.36,-0.84l-1.3,0.4l-2.31,-0.62l-0.94,-0.84l0.33,-1.28l-0.3,-0.49l-2.19,-0.46l-1.13,-0.93l-0.47,-0.02l-2.06,1.36l-4.29,0.28l-2.76,1.05l-0.28,0.43l0.32,2.53l-0.59,-0.03l-0.19,-1.34l-0.55,-0.34l-1.68,0.7l-2.46,-1.23l0.62,-1.87l-0.26,-0.51l-1.37,-0.44l-0.54,-2.22l-0.45,-0.3l-2.13,0.35l0.24,-2.48l2.39,-2.4l0.03,-4.31l-1.19,-0.92l-0.78,-1.49l-0.41,-0.21l-1.41,0.19l-1.98,-0.3l0.46,-1.07l-1.17,-1.7l-0.55,-0.11l-1.63,1.05l-2.25,-0.57l-2.89,1.73l-2.25,1.98l-1.75,0.29l-1.17,-0.71l-3.31,-0.65l-1.48,0.79l-1.04,1.27l-0.12,-1.17l-0.54,-0.34l-1.44,0.54l-5.55,-0.86l-1.98,-1.16l-1.89,-0.54l-0.99,-1.35l-1.34,-0.37l-2.55,-1.79l-2.01,-0.84l-1.21,0.56l-5.57,-3.45l-0.53,-2.31l1.19,0.25l0.48,-0.37l0.08,-1.42l-0.98,-1.56l0.15,-2.44l-2.69,-3.32l-4.12,-1.23l-0.67,-2.0l-1.92,-1.48l-0.38,-0.7l-0.51,-3.01l-1.52,-0.66l-0.7,0.13l-0.48,-2.05l0.55,-0.51l-0.09,-0.82l2.03,-1.19l1.6,-0.54l2.56,0.38l0.42,-0.22l0.85,-1.7l3.0,-0.33l1.1,-1.26l4.05,-1.77l0.39,-0.91l-0.17,-1.44l1.45,-0.67l0.2,-0.52l-2.07,-4.9l4.51,-1.12l1.37,-0.73l1.89,-5.51l4.98,0.86l1.51,-1.7l0.11,-2.87l1.99,-0.38l1.83,-2.06l0.49,-0.13l0.68,2.08l2.23,1.77l3.44,1.16l1.55,2.29l-0.92,3.49l0.96,1.67l6.54,1.13l2.95,1.87l1.47,0.35l1.06,2.62l1.53,1.91l3.05,0.08l5.14,0.67l3.37,-0.41l2.36,0.43l3.65,1.8l3.06,0.04l1.45,0.88l2.87,-1.59l3.95,-1.02l3.83,-0.14l3.06,-1.14l1.77,-1.6l1.72,-1.01l0.17,-0.49l-1.1,-2.05l1.02,-1.54l4.02,0.8l2.45,-1.61l3.76,-1.19l1.96,-2.13l1.63,-0.83l3.51,-0.4l1.92,0.34l0.46,-0.3l0.17,-1.5l-2.27,-2.22l-2.11,-1.09l-2.18,1.11l-2.32,-0.47l-1.29,0.32l-0.4,-0.82l2.73,-5.16l3.02,1.06l3.53,-2.06l0.18,-1.68l2.16,-3.35l1.49,-1.35l-0.03,-1.85l-1.07,-0.85l1.54,-1.26l2.98,-0.59l3.23,-0.09l3.64,0.99l2.04,1.16l3.29,6.71l0.92,3.19ZM696.92,237.31l-1.87,1.08l-1.63,-0.64l-0.06,-1.79l1.03,-0.98l2.58,-0.69l1.16,0.05l0.3,0.54l-0.98,1.06l-0.53,1.37Z\",\\n      \"name\": \"China\"\\n    },\\n    \"CM\": {\\n      \"path\": \"M457.92,257.49l1.05,1.91l-1.4,0.16l-1.05,-0.23l-0.45,0.22l-0.54,1.19l0.08,0.45l1.48,1.47l1.05,0.45l1.01,2.46l-1.52,2.99l-0.68,0.68l-0.13,3.69l2.38,3.84l1.09,0.8l0.24,2.48l-3.67,-1.14l-11.27,-0.13l0.23,-1.79l-0.98,-1.66l-1.19,-0.54l-0.44,-0.97l-0.6,-0.42l1.71,-4.27l0.75,-0.13l1.38,-1.36l0.65,-0.03l1.71,0.99l1.93,-1.12l1.14,-3.18l1.38,-1.17l2.0,-5.14l2.17,-2.13l0.3,-1.64l-0.86,-0.88l0.03,-0.33l0.94,1.28l0.07,3.22Z\",\\n      \"name\": \"Cameroon\"\\n    },\\n    \"CL\": {\\n      \"path\": \"M246.5,429.18l-3.14,1.83l-0.57,3.16l-0.64,0.05l-2.68,-1.06l-2.82,-2.33l-3.04,-1.89l-0.69,-1.85l0.63,-2.14l-1.21,-2.11l-0.31,-5.37l1.01,-2.91l2.57,-2.38l-0.18,-0.68l-3.16,-0.77l2.05,-2.47l0.77,-4.65l2.32,0.9l0.54,-0.29l1.31,-6.31l-0.22,-0.44l-1.68,-0.8l-0.56,0.28l-0.7,3.36l-0.81,-0.22l1.56,-9.41l1.15,-2.24l-0.71,-2.82l-0.18,-2.84l1.01,-0.33l3.26,-9.14l1.07,-4.22l-0.56,-4.21l0.74,-2.34l-0.29,-3.27l1.46,-3.34l2.04,-16.59l-0.66,-7.76l1.03,-0.53l0.54,-0.9l0.79,1.14l0.32,1.78l1.25,1.16l-0.69,2.55l1.33,2.9l0.97,3.59l0.46,0.29l1.5,-0.3l0.11,0.23l-0.76,2.44l-2.57,1.23l-0.23,0.37l0.08,4.33l-0.46,0.77l0.56,1.21l-1.58,1.51l-1.68,2.62l-0.89,2.47l0.2,2.7l-1.48,2.73l1.12,5.09l0.64,0.61l-0.01,2.29l-1.38,2.68l0.01,2.4l-1.89,2.04l0.02,2.75l0.69,2.57l-1.43,1.13l-1.26,5.68l0.39,3.51l-0.97,0.89l0.58,3.5l1.02,1.14l-0.65,1.02l0.15,0.57l1.0,0.53l0.16,0.69l-1.03,0.85l0.26,1.75l-0.89,4.03l-1.31,2.66l0.24,1.75l-0.71,1.83l-1.99,1.7l0.3,3.67l0.88,1.19l1.58,0.01l0.01,2.21l1.04,1.95l5.98,0.63ZM248.69,430.79l0.0,7.33l0.4,0.4l3.52,0.05l-0.44,0.75l-1.94,0.98l-2.49,-0.37l-1.88,-1.06l-2.55,-0.49l-5.59,-3.71l-2.38,-2.63l4.1,2.48l3.32,1.23l0.45,-0.12l1.29,-1.57l0.83,-2.32l2.05,-1.24l1.31,0.29Z\",\\n      \"name\": \"Chile\"\\n    },\\n    \"XC\": {\\n      \"path\": \"M504.91,192.87l0.34,0.01l0.27,-0.07l-0.29,0.26l-0.31,-0.2Z\",\\n      \"name\": \"N. Cyprus\"\\n    },\\n    \"CA\": {\\n      \"path\": \"M280.06,145.6l-1.67,2.88l0.07,0.49l0.5,0.04l1.46,-0.98l1.0,0.42l-0.56,0.72l0.17,0.62l2.22,0.89l1.35,-0.71l1.95,0.78l-0.66,2.01l0.5,0.51l1.32,-0.42l0.98,3.17l-0.91,2.41l-0.8,0.08l-1.23,-0.45l0.47,-2.25l-0.89,-0.83l-0.48,0.06l-2.78,2.63l-0.34,-0.02l1.02,-0.85l-0.14,-0.69l-2.4,-0.77l-7.4,0.08l-0.17,-0.41l1.3,-0.94l0.02,-0.64l-0.73,-0.58l1.85,-1.74l2.57,-5.16l1.47,-1.79l1.99,-1.05l0.46,0.06l-1.53,2.45ZM68.32,74.16l4.13,0.95l4.02,2.14l2.61,0.4l2.47,-1.89l2.88,-1.31l3.85,0.48l3.71,-1.94l3.82,-1.04l1.56,1.68l0.49,0.08l1.87,-1.04l0.65,-1.98l1.24,0.35l4.16,3.94l0.54,0.01l2.75,-2.49l0.26,2.59l0.49,0.35l3.08,-0.73l1.04,-1.27l2.73,0.23l3.83,1.86l5.86,1.61l3.47,0.75l2.44,-0.26l2.73,1.78l-2.98,1.81l-0.19,0.41l0.31,0.32l4.53,0.92l6.87,-0.5l2.0,-0.69l2.49,2.39l0.53,0.02l2.72,-2.16l-0.02,-0.64l-2.16,-1.54l1.15,-1.06l4.83,-0.61l1.84,0.95l2.48,2.31l3.01,-0.23l4.55,1.92l3.85,-0.67l3.61,0.1l0.41,-0.44l-0.25,-2.36l1.79,-0.61l3.49,1.32l-0.01,3.77l0.31,0.39l0.45,-0.22l1.48,-3.16l1.74,0.1l0.41,-0.3l1.13,-4.37l-2.78,-3.11l-2.8,-1.74l0.19,-4.64l2.71,-3.07l2.98,0.67l2.41,1.95l3.19,4.8l-1.99,1.97l0.21,0.68l4.33,0.84l-0.01,4.15l0.25,0.37l0.44,-0.09l3.07,-3.15l2.54,2.39l-0.61,3.33l2.42,2.88l0.61,0.0l2.61,-3.08l1.88,-3.82l0.17,-4.58l6.72,0.94l3.13,2.04l0.13,1.82l-1.76,2.19l-0.01,0.49l1.66,2.16l-0.26,1.71l-4.68,2.8l-3.28,0.61l-2.47,-1.2l-0.55,0.23l-0.73,2.04l-2.38,3.43l-0.74,1.77l-2.74,2.57l-3.44,0.25l-2.21,1.78l-0.28,2.53l-2.82,0.55l-3.12,3.22l-2.72,4.31l-1.03,3.17l-0.14,4.31l0.33,0.41l3.44,0.57l2.24,5.95l0.45,0.23l3.4,-0.69l4.52,1.51l2.43,1.31l1.91,1.73l3.1,0.96l2.62,1.46l6.6,0.54l-0.35,2.74l0.81,3.53l1.81,3.78l3.83,3.3l0.45,0.04l2.1,-1.28l1.37,-3.69l-1.31,-5.38l-1.45,-1.58l3.57,-1.47l2.84,-2.46l1.52,-2.8l-0.25,-2.55l-1.7,-3.07l-2.85,-2.61l2.8,-3.95l-1.08,-3.37l-0.79,-5.67l1.36,-0.7l6.76,1.41l2.12,-0.96l5.12,3.36l1.05,1.61l4.08,0.26l-0.06,2.87l0.83,4.7l0.3,0.32l2.16,0.54l1.73,2.06l0.5,0.09l3.63,-2.03l2.52,-4.19l1.26,-1.32l7.6,11.72l-0.92,2.04l0.16,0.51l3.3,1.97l2.22,1.98l4.1,0.98l1.43,0.99l0.95,2.79l2.1,0.68l0.84,1.08l0.17,3.45l-3.37,2.26l-4.22,1.24l-3.06,2.63l-4.06,0.51l-5.35,-0.69l-6.39,0.2l-2.3,2.41l-3.26,1.51l-6.47,7.15l-0.06,0.48l0.44,0.19l2.13,-0.52l4.17,-4.24l5.12,-2.62l3.52,-0.3l1.69,1.21l-2.12,2.21l0.81,3.47l1.02,2.61l3.47,1.6l4.14,-0.45l2.15,-2.8l0.26,1.48l1.14,0.8l-2.56,1.69l-5.5,1.82l-2.54,1.27l-2.74,2.15l-1.4,-0.16l-0.07,-2.01l4.14,-2.44l0.18,-0.45l-0.39,-0.29l-6.63,0.45l-1.39,-1.49l-0.14,-4.43l-1.11,-0.91l-1.82,0.39l-0.66,-0.66l-0.6,0.03l-1.91,2.39l-0.82,2.52l-0.8,1.27l-1.67,0.56l-0.46,0.76l-8.31,0.07l-1.21,0.62l-2.35,1.97l-0.71,-0.14l-1.37,0.96l-1.12,-0.48l-4.74,1.26l-0.9,1.17l0.21,0.62l1.73,0.3l-1.81,0.31l-1.85,0.81l-2.11,-0.13l-2.95,1.78l-0.69,-0.09l1.39,-2.1l1.73,-1.21l0.1,-2.29l1.16,-1.99l0.49,0.53l2.03,0.42l1.2,-1.16l0.02,-0.47l-2.66,-3.51l-2.28,-0.61l-5.64,-0.71l-0.4,-0.57l-0.79,0.13l0.2,-0.41l-0.22,-0.55l-0.68,-0.26l0.19,-1.26l-0.78,-0.73l0.31,-0.64l-0.29,-0.57l-2.6,-0.44l-0.75,-1.63l-0.94,-0.66l-4.31,-0.65l-1.13,1.19l-1.48,0.59l-0.85,1.06l-2.83,-0.76l-2.09,0.39l-2.39,-0.97l-4.24,-0.7l-0.57,-0.4l-0.41,-1.63l-0.4,-0.3l-0.85,0.02l-0.39,0.4l-0.01,0.85l-69.13,-0.01l-6.51,-4.52l-4.5,-1.38l-1.26,-2.66l0.33,-1.93l-0.23,-0.43l-3.01,-1.35l-0.55,-2.77l-2.89,-2.38l-0.04,-1.45l1.39,-1.83l-0.28,-2.55l-4.16,-2.2l-4.07,-6.6l-4.02,-3.22l-1.3,-1.88l-0.5,-0.13l-2.51,1.21l-2.23,1.87l-3.85,-3.88l-2.44,-1.04l-2.22,-0.13l0.03,-37.49ZM260.37,148.65l3.04,0.76l2.26,1.2l-3.78,-0.95l-1.53,-1.01ZM249.4,3.81l6.68,0.49l5.32,0.79l4.26,1.57l-0.07,1.1l-5.85,2.53l-6.02,1.21l-2.39,1.39l-0.18,0.45l0.39,0.29l4.01,-0.02l-4.65,2.82l-4.2,1.74l-4.19,4.59l-5.03,0.92l-1.67,1.15l-7.47,0.59l-0.37,0.37l0.32,0.42l2.41,0.49l-0.81,0.47l-0.12,0.59l1.83,2.41l-2.02,1.59l-3.81,1.51l-1.32,2.16l-3.38,1.53l-0.22,0.48l0.35,1.19l0.4,0.29l3.88,-0.18l0.03,0.61l-6.33,2.95l-6.41,-1.4l-7.43,0.79l-3.72,-0.62l-4.4,-0.25l-0.23,-1.83l4.29,-1.11l0.28,-0.51l-1.1,-3.45l1.0,-0.25l6.58,2.28l0.47,-0.16l-0.05,-0.49l-3.41,-3.45l-3.58,-0.98l1.48,-1.55l4.34,-1.29l0.97,-2.19l-0.16,-0.48l-3.42,-2.13l-0.81,-2.26l6.2,0.22l2.24,0.58l3.91,-2.1l0.2,-0.43l-0.35,-0.32l-5.64,-0.67l-8.73,0.36l-4.26,-1.9l-2.12,-2.4l-2.78,-1.66l-0.41,-1.52l3.31,-1.03l2.93,-0.2l4.91,-0.99l3.7,-2.27l2.87,0.3l2.62,1.67l0.56,-0.14l1.82,-3.2l3.13,-0.94l4.44,-0.69l7.53,-0.26l1.48,0.67l7.19,-1.06l10.8,0.79ZM203.85,57.54l0.01,0.42l1.97,2.97l0.68,-0.02l2.24,-3.72l5.95,-1.86l4.01,4.64l-0.35,2.91l0.5,0.43l4.95,-1.36l2.32,-1.8l5.31,2.28l3.27,2.11l0.3,1.84l0.48,0.33l4.42,-0.99l2.64,2.87l5.97,1.77l2.06,1.72l2.11,3.71l-4.19,1.86l-0.01,0.73l5.9,2.83l3.94,0.94l3.78,3.95l3.46,0.25l-0.63,2.37l-4.11,4.47l-2.76,-1.56l-3.9,-3.94l-3.59,0.41l-0.33,0.34l-0.19,2.72l2.63,2.38l3.42,1.89l0.94,0.97l1.55,3.75l-0.7,2.29l-2.74,-0.92l-6.25,-3.15l-0.51,0.13l0.05,0.52l6.07,5.69l0.18,0.59l-6.09,-1.39l-5.31,-2.24l-2.63,-1.66l0.6,-0.77l-0.12,-0.6l-7.39,-4.01l-0.59,0.37l0.03,0.79l-6.73,0.6l-1.69,-1.1l1.36,-2.46l4.51,-0.07l5.15,-0.52l0.31,-0.6l-0.74,-1.3l0.78,-1.84l3.21,-4.05l-0.67,-2.35l-1.11,-1.6l-3.84,-2.1l-4.35,-1.28l0.91,-0.63l0.06,-0.61l-2.65,-2.75l-2.34,-0.36l-1.89,-1.46l-0.53,0.03l-1.24,1.23l-4.36,0.55l-9.04,-0.99l-9.26,-1.98l-1.6,-1.22l2.22,-1.77l0.13,-0.44l-0.38,-0.27l-3.22,-0.02l-0.72,-4.25l1.83,-4.04l2.42,-1.85l5.5,-1.1l-1.39,2.35ZM261.19,159.33l2.07,0.61l1.44,-0.04l-1.15,0.63l-2.94,-1.23l-0.4,-0.68l0.36,-0.37l0.61,1.07ZM230.83,84.39l-2.37,0.18l-0.49,-1.63l0.93,-2.09l1.94,-0.51l1.62,0.99l0.02,1.52l-1.66,1.54ZM229.43,58.25l0.11,0.65l-4.87,-0.21l-2.72,0.62l-3.1,-2.57l0.08,-1.26l0.86,-0.23l5.57,0.51l4.08,2.5ZM222.0,105.02l-0.72,1.49l-0.63,-0.19l-0.48,-0.84l0.81,-0.99l0.65,0.05l0.37,0.46ZM183.74,38.32l2.9,1.7l4.79,-0.01l1.84,1.46l-0.49,1.68l0.23,0.48l2.82,1.14l1.76,1.26l7.01,0.65l4.1,-1.1l5.03,-0.43l3.93,0.35l2.48,1.77l0.46,1.7l-1.3,1.1l-3.56,1.01l-3.23,-0.59l-7.17,0.76l-5.09,0.09l-3.99,-0.6l-6.42,-1.54l-0.79,-2.51l-0.3,-2.49l-2.64,-2.5l-5.32,-0.72l-2.52,-1.4l0.68,-1.57l4.78,0.31ZM207.38,91.35l0.4,1.56l0.56,0.26l1.06,-0.52l1.32,0.96l5.42,2.57l0.2,1.68l0.46,0.35l1.68,-0.28l1.15,0.85l-1.55,0.87l-3.61,-0.88l-1.32,-1.69l-0.57,-0.06l-2.45,2.1l-3.12,1.79l-0.7,-1.87l-0.42,-0.26l-2.16,0.24l1.39,-1.39l0.32,-3.14l0.76,-3.35l1.18,0.22ZM215.49,102.6l-2.67,1.95l-1.4,-0.07l-0.3,-0.58l1.53,-1.48l2.84,0.18ZM202.7,24.12l2.53,1.59l-2.87,1.4l-4.53,4.05l-4.25,0.38l-5.03,-0.68l-2.45,-2.04l0.03,-1.62l1.82,-1.37l0.14,-0.45l-0.38,-0.27l-4.45,0.04l-2.59,-1.76l-1.41,-2.29l1.57,-2.32l1.62,-1.66l2.44,-0.39l0.25,-0.65l-0.6,-0.74l4.86,-0.25l3.24,3.11l8.16,2.3l1.9,3.61ZM187.47,59.2l-2.76,3.49l-2.38,-0.15l-1.44,-3.84l0.04,-2.2l1.19,-1.88l2.3,-1.23l5.07,0.17l4.11,1.02l-3.24,3.72l-2.88,0.89ZM186.07,48.79l-1.08,1.53l-3.34,-0.34l-2.56,-1.1l1.03,-1.75l3.25,-1.23l1.95,1.58l0.75,1.3ZM185.71,35.32l-5.3,-0.2l-0.32,-0.71l4.31,0.07l1.3,0.84ZM180.68,32.48l-3.34,1.0l-1.79,-1.1l-0.98,-1.87l-0.15,-1.73l4.1,0.53l2.67,1.7l-0.51,1.47ZM180.9,76.31l-1.1,1.08l-3.13,-1.23l-2.12,0.43l-2.71,-1.57l1.72,-1.09l1.55,-1.72l3.81,1.9l1.98,2.2ZM169.74,54.87l2.96,0.97l4.17,-0.57l0.41,0.88l-2.14,2.11l0.09,0.64l3.55,1.92l-0.4,3.72l-3.79,1.65l-2.17,-0.35l-1.72,-1.74l-6.02,-3.5l0.03,-0.85l4.68,0.54l0.4,-0.21l-0.05,-0.45l-2.48,-2.81l2.46,-1.95ZM174.45,40.74l1.37,1.73l0.07,2.44l-1.05,3.45l-3.79,0.47l-2.32,-0.69l0.05,-2.64l-0.44,-0.41l-3.68,0.35l-0.12,-3.1l2.45,0.1l3.67,-1.73l3.41,0.29l0.37,-0.26ZM170.05,31.55l0.67,1.56l-3.33,-0.49l-4.22,-1.77l-4.35,-0.16l1.4,-0.94l-0.06,-0.7l-2.81,-1.23l-0.12,-1.39l4.39,0.68l6.62,1.98l1.81,2.47ZM134.5,58.13l-1.02,1.82l0.45,0.58l5.4,-1.39l3.33,2.29l0.49,-0.03l2.6,-2.23l1.94,1.32l2.0,4.5l0.7,0.06l1.3,-2.29l-1.63,-4.46l1.69,-0.54l2.31,0.71l2.65,1.81l2.49,7.92l8.48,4.27l-0.19,1.35l-3.79,0.33l-0.26,0.67l1.4,1.49l-0.58,1.1l-4.23,-0.64l-4.43,-1.19l-3.0,0.28l-4.66,1.47l-10.52,1.04l-1.43,-2.02l-3.42,-1.2l-2.21,0.43l-2.51,-2.86l4.84,-1.05l3.6,0.19l3.27,-0.78l0.31,-0.39l-0.31,-0.39l-4.84,-1.06l-8.79,0.27l-0.85,-1.07l5.26,-1.66l0.27,-0.45l-0.4,-0.34l-3.8,0.06l-3.81,-1.06l1.81,-3.01l1.66,-1.79l6.48,-2.81l1.97,0.71ZM158.7,56.61l-1.7,2.44l-3.2,-2.75l0.37,-0.3l3.11,-0.18l1.42,0.79ZM149.61,42.73l1.01,1.89l0.5,0.18l2.14,-0.82l2.23,0.19l0.36,2.04l-1.33,2.09l-8.28,0.76l-6.35,2.15l-3.41,0.1l-0.19,-0.96l4.9,-2.08l0.23,-0.46l-0.41,-0.31l-11.25,0.59l-2.89,-0.74l3.04,-4.44l2.14,-1.32l6.81,1.69l4.58,3.06l4.37,0.39l0.36,-0.63l-3.36,-4.6l1.85,-1.53l2.18,0.51l0.77,2.26ZM144.76,34.41l-4.36,1.44l-3.0,-1.4l1.46,-1.24l3.47,-0.52l2.96,0.71l-0.52,1.01ZM145.13,29.83l-1.9,0.66l-3.67,-0.0l2.27,-1.61l3.3,0.95ZM118.92,65.79l-6.03,2.02l-1.33,-1.9l-5.38,-2.28l2.59,-5.05l2.16,-3.14l-0.02,-0.48l-1.97,-2.41l7.64,-0.7l3.6,1.02l6.3,0.27l4.42,2.95l-2.53,0.98l-6.24,3.43l-3.1,3.28l-0.11,2.01ZM129.54,35.53l-0.28,3.37l-1.72,1.62l-2.33,0.28l-4.61,2.19l-3.86,0.76l-2.64,-0.87l3.72,-3.4l5.01,-3.34l3.72,0.07l3.0,-0.67ZM111.09,152.69l-0.67,0.24l-3.85,-1.37l-0.83,-1.17l-2.12,-1.07l-0.66,-1.02l-2.4,-0.55l-0.74,-1.71l6.02,1.45l2.0,2.55l2.52,1.39l0.73,1.27ZM87.8,134.64l0.89,0.29l1.86,-0.21l-0.65,3.34l1.69,2.33l-1.31,-1.33l-0.99,-1.62l-1.17,-0.98l-0.33,-1.82Z\",\\n      \"name\": \"Canada\"\\n    },\\n    \"CG\": {\\n      \"path\": \"M466.72,276.48l-0.1,1.03l-1.25,2.97l-0.19,3.62l-0.46,1.78l-0.23,0.63l-1.61,1.19l-1.21,1.39l-1.09,2.43l0.04,2.09l-3.25,3.24l-0.5,-0.24l-0.5,-0.83l-1.36,-0.02l-0.98,0.89l-1.68,-0.99l-1.54,1.24l-1.52,-1.96l1.57,-1.14l0.11,-0.52l-0.77,-1.35l2.1,-0.66l0.39,-0.73l1.05,0.82l2.21,0.11l1.12,-1.37l0.37,-1.81l-0.27,-2.09l-1.13,-1.5l1.0,-2.69l-0.13,-0.45l-0.92,-0.58l-1.6,0.17l-0.51,-0.94l0.1,-0.61l2.75,0.09l3.97,1.24l0.51,-0.33l0.17,-1.28l1.24,-2.21l1.28,-1.14l2.76,0.49Z\",\\n      \"name\": \"Congo\"\\n    },\\n    \"CF\": {\\n      \"path\": \"M461.16,278.2l-0.26,-1.19l-1.09,-0.77l-0.84,-1.17l-0.29,-1.0l-1.04,-1.15l0.08,-3.43l0.58,-0.49l1.16,-2.35l1.85,-0.17l0.61,-0.62l0.97,0.58l3.15,-0.96l2.48,-1.92l0.02,-0.96l2.81,0.02l2.36,-1.17l1.93,-2.85l1.16,-0.93l1.11,-0.3l0.27,0.86l1.34,1.47l-0.39,2.01l0.3,1.01l4.01,2.75l0.17,0.93l2.63,2.31l0.6,1.44l2.08,1.4l-3.84,-0.21l-1.94,0.88l-1.23,-0.49l-2.67,1.2l-1.29,-0.18l-0.51,0.36l-0.6,1.22l-3.35,-0.65l-1.57,-0.91l-2.42,-0.83l-1.45,0.91l-0.97,1.27l-0.26,1.56l-3.22,-0.43l-1.49,1.33l-0.94,1.62Z\",\\n      \"name\": \"Central African Rep.\"\\n    },\\n    \"CD\": {\\n      \"path\": \"M487.01,272.38l2.34,-0.14l1.35,1.84l1.34,0.45l0.86,-0.39l1.21,0.12l1.07,-0.41l0.54,0.89l2.04,1.54l-0.14,2.72l0.7,0.54l-1.38,1.13l-1.53,2.54l-0.17,2.05l-0.59,1.08l-0.02,1.72l-0.72,0.84l-0.66,3.01l0.63,1.32l-0.44,4.26l0.64,1.47l-0.37,1.22l0.86,1.8l1.53,1.41l0.3,1.26l0.44,0.5l-4.08,0.75l-0.92,1.81l0.51,1.34l-0.74,5.43l0.17,0.38l2.45,1.46l0.54,-0.1l0.12,1.62l-1.28,-0.01l-1.85,-2.35l-1.94,-0.45l-0.48,-1.13l-0.55,-0.2l-1.41,0.74l-1.71,-0.3l-1.01,-1.18l-2.49,-0.19l-0.44,-0.77l-1.98,-0.21l-2.88,0.36l0.11,-2.41l-0.85,-1.13l-0.16,-1.36l0.32,-1.73l-0.46,-0.89l-0.04,-1.49l-0.4,-0.39l-2.53,0.02l0.1,-0.41l-0.39,-0.49l-1.28,0.01l-0.43,0.45l-1.62,0.32l-0.83,1.79l-1.09,-0.28l-2.4,0.52l-1.37,-1.91l-1.3,-3.3l-0.38,-0.27l-7.39,-0.03l-2.46,0.42l0.5,-0.45l0.37,-1.47l0.66,-0.38l0.92,0.08l0.73,-0.82l0.87,0.02l0.31,0.68l1.4,0.36l3.59,-3.63l0.01,-2.23l1.02,-2.29l2.69,-2.39l0.43,-0.99l0.49,-1.96l0.17,-3.51l1.25,-2.95l0.36,-3.14l0.86,-1.13l1.1,-0.66l3.57,1.73l3.65,0.73l0.46,-0.21l0.8,-1.46l1.24,0.19l2.61,-1.17l0.81,0.44l1.04,-0.03l0.59,-0.66l0.7,-0.16l1.81,0.25Z\",\\n      \"name\": \"Dem. Rep. Congo\"\\n    },\\n    \"CZ\": {\\n      \"path\": \"M458.46,144.88l1.22,1.01l1.47,0.23l0.13,0.93l1.36,0.68l0.54,-0.2l0.24,-0.55l1.15,0.25l0.53,1.09l1.68,0.18l0.6,0.84l-1.04,0.73l-0.96,1.28l-1.6,0.17l-0.55,0.56l-1.04,-0.46l-1.05,0.15l-2.12,-0.96l-1.05,0.34l-1.2,1.12l-1.56,-0.87l-2.57,-2.1l-0.53,-1.88l4.7,-2.52l0.71,0.26l0.9,-0.28Z\",\\n      \"name\": \"Czech Rep.\"\\n    },\\n    \"CY\": {\\n      \"path\": \"M504.36,193.47l0.43,0.28l-1.28,0.57l-0.92,-0.28l-0.24,-0.46l2.01,-0.13Z\",\\n      \"name\": \"Cyprus\"\\n    },\\n    \"CR\": {\\n      \"path\": \"M211.34,258.05l0.48,0.99l1.6,1.6l-0.54,0.45l0.29,1.42l-0.25,1.19l-1.09,-0.59l-0.05,-1.25l-2.46,-1.42l-0.28,-0.77l-0.66,-0.45l-0.45,-0.0l-0.11,1.04l-1.32,-0.95l0.31,-1.3l-0.36,-0.6l0.31,-0.27l1.42,0.58l1.29,-0.14l0.56,0.56l0.74,0.17l0.55,-0.27Z\",\\n      \"name\": \"Costa Rica\"\\n    },\\n    \"CU\": {\\n      \"path\": \"M221.21,227.25l1.27,1.02l2.19,-0.28l4.43,3.33l2.08,0.43l-0.1,0.38l0.36,0.5l1.75,0.1l1.48,0.84l-3.11,0.51l-4.15,-0.03l0.77,-0.67l-0.04,-0.64l-1.2,-0.74l-1.49,-0.16l-0.7,-0.61l-0.56,-1.4l-0.4,-0.25l-1.34,0.1l-2.2,-0.66l-0.88,-0.58l-3.18,-0.4l-0.27,-0.16l0.58,-0.74l-0.36,-0.29l-2.72,-0.05l-1.7,1.29l-0.91,0.03l-0.61,0.69l-1.01,0.22l1.11,-1.29l1.01,-0.52l3.69,-1.01l3.98,0.21l2.21,0.84Z\",\\n      \"name\": \"Cuba\"\\n    },\\n    \"SZ\": {\\n      \"path\": \"M500.35,351.36l0.5,2.04l-0.38,0.89l-1.05,0.21l-1.23,-1.2l-0.02,-0.64l0.83,-1.57l1.34,0.27Z\",\\n      \"name\": \"Swaziland\"\\n    },\\n    \"SY\": {\\n      \"path\": \"M511.0,199.79l0.05,-1.33l0.54,-1.36l1.28,-0.99l0.13,-0.45l-0.41,-1.11l-1.14,-0.36l-0.19,-1.74l0.52,-1.0l1.29,-1.21l0.2,-1.18l0.59,0.23l2.62,-0.76l1.36,0.52l2.06,-0.01l2.95,-1.08l3.25,-0.26l-0.67,0.94l-1.28,0.66l-0.21,0.4l0.23,2.01l-0.88,3.19l-10.15,5.73l-2.15,-0.85Z\",\\n      \"name\": \"Syria\"\\n    },\\n    \"KG\": {\\n      \"path\": \"M621.35,172.32l-3.87,1.69l-0.96,1.18l-3.04,0.34l-1.13,1.86l-2.36,-0.35l-1.99,0.63l-2.39,1.4l0.06,0.95l-0.4,0.37l-4.52,0.43l-3.02,-0.93l-2.37,0.17l0.11,-0.79l2.32,0.42l1.13,-0.88l1.99,0.2l3.21,-2.14l-0.03,-0.69l-2.97,-1.57l-1.94,0.65l-1.22,-0.74l1.71,-1.58l-0.12,-0.67l-0.36,-0.15l0.32,-0.77l1.36,-0.35l4.02,1.02l0.49,-0.3l0.35,-1.59l1.09,-0.48l3.42,1.22l1.11,-0.31l7.64,0.39l1.16,1.0l1.23,0.39Z\",\\n      \"name\": \"Kyrgyzstan\"\\n    },\\n    \"KE\": {\\n      \"path\": \"M506.26,284.69l1.87,-2.56l0.93,-2.15l-1.38,-4.08l-1.06,-1.6l2.82,-2.75l0.79,0.26l0.12,1.41l0.86,0.83l1.9,0.11l3.28,2.13l3.57,0.44l1.05,-1.12l1.96,-0.9l0.82,0.68l1.16,0.09l-1.78,2.45l0.03,9.12l1.3,1.94l-1.37,0.78l-0.67,1.03l-1.08,0.46l-0.34,1.67l-0.81,1.07l-0.45,1.55l-0.68,0.56l-3.2,-2.23l-0.35,-1.58l-8.86,-4.98l0.14,-1.6l-0.57,-1.04Z\",\\n      \"name\": \"Kenya\"\\n    },\\n    \"SS\": {\\n      \"path\": \"M481.71,263.34l1.07,-0.72l1.2,-3.18l1.36,-0.26l1.61,1.99l0.87,0.34l1.1,-0.41l1.5,0.07l0.57,0.53l2.49,0.0l0.44,-0.63l1.07,-0.4l0.45,-0.84l0.59,-0.33l1.9,1.33l1.6,-0.2l2.83,-3.33l-0.32,-2.21l1.59,-0.52l-0.24,1.6l0.3,1.83l1.35,1.18l0.2,1.87l0.35,0.41l0.02,1.53l-0.23,0.47l-1.42,0.25l-0.85,1.44l0.3,0.6l1.4,0.16l1.11,1.08l0.59,1.13l1.03,0.53l1.28,2.36l-4.41,3.98l-1.74,0.01l-1.89,0.55l-1.47,-0.52l-1.15,0.57l-2.96,-2.62l-1.3,0.49l-1.06,-0.15l-0.79,0.39l-0.82,-0.22l-1.8,-2.7l-1.91,-1.1l-0.66,-1.5l-2.62,-2.32l-0.18,-0.94l-2.37,-1.6Z\",\\n      \"name\": \"S. Sudan\"\\n    },\\n    \"SR\": {\\n      \"path\": \"M283.12,270.19l2.1,0.53l-1.08,1.95l0.2,1.72l0.93,1.49l-0.59,2.03l-0.43,0.71l-1.12,-0.42l-1.32,0.22l-0.93,-0.2l-0.46,0.26l-0.25,0.73l0.33,0.7l-0.89,-0.13l-1.39,-1.97l-0.31,-1.34l-0.97,-0.31l-0.89,-1.47l0.35,-1.61l1.45,-0.82l0.33,-1.87l2.61,0.44l0.57,-0.47l1.75,-0.16Z\",\\n      \"name\": \"Suriname\"\\n    },\\n    \"KH\": {\\n      \"path\": \"M689.52,249.39l0.49,1.45l-0.28,2.74l-4.0,1.86l-0.16,0.6l0.68,0.95l-2.06,0.17l-2.05,0.97l-1.82,-0.32l-2.12,-3.7l-0.55,-2.85l1.4,-1.85l3.02,-0.45l2.23,0.35l2.01,0.98l0.51,-0.14l0.95,-1.48l1.74,0.74Z\",\\n      \"name\": \"Cambodia\"\\n    },\\n    \"SV\": {\\n      \"path\": \"M195.8,250.13l1.4,-1.19l2.24,1.45l0.98,-0.27l0.44,0.2l-0.27,1.05l-1.14,-0.03l-3.64,-1.21Z\",\\n      \"name\": \"El Salvador\"\\n    },\\n    \"SK\": {\\n      \"path\": \"M476.82,151.17l-1.14,1.9l-2.73,-0.92l-0.82,0.2l-0.74,0.8l-3.46,0.73l-0.47,0.69l-1.76,0.33l-1.88,-1.0l-0.18,-0.81l0.38,-0.75l1.87,-0.32l1.74,-1.89l0.83,0.16l0.79,-0.34l1.51,1.04l1.34,-0.63l1.25,0.3l1.65,-0.42l1.81,0.95Z\",\\n      \"name\": \"Slovakia\"\\n    },\\n    \"KR\": {\\n      \"path\": \"M737.51,185.84l0.98,-0.1l0.87,-1.17l2.69,-0.32l0.33,-0.29l1.76,2.79l0.58,1.76l0.02,3.12l-0.8,1.32l-2.21,0.55l-1.93,1.13l-1.8,0.19l-0.2,-1.1l0.43,-2.28l-0.95,-2.56l1.43,-0.37l0.23,-0.62l-1.43,-2.06Z\",\\n      \"name\": \"Korea\"\\n    },\\n    \"SI\": {\\n      \"path\": \"M456.18,162.07l-0.51,-1.32l0.18,-1.05l1.69,0.2l1.42,-0.71l2.09,-0.07l0.62,-0.51l0.21,0.47l-1.61,0.67l-0.44,1.34l-0.66,0.24l-0.26,0.82l-1.22,-0.49l-0.84,0.46l-0.69,-0.04Z\",\\n      \"name\": \"Slovenia\"\\n    },\\n    \"KP\": {\\n      \"path\": \"M736.77,185.16l-0.92,-0.42l-0.88,0.62l-1.21,-0.88l0.96,-1.15l0.59,-2.59l-0.46,-0.74l-2.09,-0.77l1.64,-1.52l2.72,-1.58l1.58,-1.91l1.11,0.78l2.17,0.11l0.41,-0.5l-0.3,-1.22l3.52,-1.18l0.94,-1.4l0.98,1.08l-2.19,2.18l0.01,2.14l-1.06,0.54l-1.41,1.4l-1.7,0.52l-1.25,1.09l-0.14,1.98l0.94,0.45l1.15,1.04l-0.13,0.26l-2.6,0.29l-1.13,1.29l-1.22,0.08Z\",\\n      \"name\": \"Dem. Rep. Korea\"\\n    },\\n    \"KW\": {\\n      \"path\": \"M540.81,207.91l0.37,0.86l-0.17,0.76l0.6,1.53l-0.95,0.04l-0.82,-1.28l-1.57,-0.18l1.31,-1.88l1.22,0.17Z\",\\n      \"name\": \"Kuwait\"\\n    },\\n    \"SN\": {\\n      \"path\": \"M390.09,248.21l0.12,1.55l0.49,1.46l0.96,0.82l0.05,1.28l-1.26,-0.19l-0.75,0.33l-1.84,-0.61l-5.84,-0.13l-2.54,0.51l-0.22,-1.03l1.77,0.04l2.01,-0.91l1.03,0.48l1.09,0.04l1.29,-0.62l0.14,-0.58l-0.51,-0.74l-1.81,0.25l-1.13,-0.63l-0.79,0.04l-0.72,0.61l-2.31,0.06l-0.92,-1.77l-0.81,-0.64l0.64,-0.35l2.46,-3.74l1.04,0.19l1.38,-0.56l1.19,-0.02l2.72,1.37l3.03,3.48Z\",\\n      \"name\": \"Senegal\"\\n    },\\n    \"SL\": {\\n      \"path\": \"M394.46,264.11l-1.73,1.98l-0.58,1.33l-2.07,-1.06l-1.22,-1.26l-0.65,-2.39l1.16,-0.96l0.67,-1.17l1.21,-0.52l1.66,0.0l1.03,1.64l0.52,2.41Z\",\\n      \"name\": \"Sierra Leone\"\\n    },\\n    \"KZ\": {\\n      \"path\": \"M552.8,172.89l0.46,-1.27l-0.48,-1.05l-2.96,-1.19l-1.06,-2.58l-1.37,-0.87l-0.03,-0.3l1.95,0.23l0.45,-0.38l0.08,-1.96l1.75,-0.41l2.1,0.45l0.48,-0.33l0.45,-3.04l-0.45,-2.09l-0.41,-0.31l-2.42,0.15l-2.36,-0.73l-2.87,1.37l-2.17,0.61l-0.85,-0.34l0.13,-1.61l-1.6,-2.12l-2.02,-0.08l-1.78,-1.82l1.29,-2.18l-0.57,-0.95l1.62,-2.91l2.21,1.63l0.63,-0.27l0.29,-2.22l4.92,-3.43l3.71,-0.08l8.4,3.6l2.92,-1.36l3.77,-0.06l3.11,1.66l0.51,-0.11l0.6,-0.81l3.31,0.13l0.39,-0.25l0.63,-1.57l-0.17,-0.5l-3.5,-1.98l1.87,-1.27l-0.13,-1.03l1.98,-0.72l0.18,-0.62l-1.59,-2.06l0.81,-0.82l9.23,-1.18l1.33,-0.88l6.18,-1.26l2.26,-1.42l4.08,0.68l0.73,3.33l0.51,0.3l2.48,-0.8l2.79,1.02l-0.17,1.56l0.43,0.44l2.55,-0.24l4.89,-2.53l0.03,0.32l3.15,2.61l5.56,8.47l0.65,0.02l1.12,-1.46l3.15,1.74l3.76,-0.78l1.15,0.49l1.14,1.8l1.84,0.76l0.99,1.29l3.35,-0.25l1.02,1.52l-1.6,1.81l-1.93,0.28l-0.34,0.38l-0.11,3.05l-1.13,1.16l-4.75,-1.0l-0.46,0.27l-1.76,5.47l-1.1,0.59l-4.91,1.23l-0.27,0.54l2.1,4.97l-1.37,0.63l-0.23,0.41l0.13,1.13l-0.88,-0.25l-1.42,-1.13l-7.89,-0.4l-0.92,0.31l-3.73,-1.22l-1.42,0.63l-0.53,1.66l-3.72,-0.94l-1.85,0.43l-0.76,1.4l-4.65,2.62l-1.13,2.08l-0.44,0.01l-0.92,-1.4l-2.87,-0.09l-0.45,-2.14l-0.38,-0.32l-0.8,-0.01l0.0,-2.96l-3.0,-2.22l-7.31,0.58l-2.35,-2.68l-6.71,-3.69l-6.45,1.83l-0.29,0.39l0.1,10.85l-0.7,0.08l-1.62,-2.17l-1.83,-0.96l-3.11,0.59l-0.64,0.51Z\",\\n      \"name\": \"Kazakhstan\"\\n    },\\n    \"SA\": {\\n      \"path\": \"M537.53,210.34l2.0,0.24l0.9,1.32l1.49,-0.06l0.87,2.08l1.29,0.76l0.51,0.99l1.56,1.03l-0.1,1.9l0.32,0.9l1.58,2.47l0.76,0.53l0.7,-0.04l1.68,4.23l7.53,1.33l0.51,-0.29l0.77,1.25l-1.55,4.87l-7.29,2.52l-7.3,1.03l-2.34,1.17l-1.88,2.74l-0.76,0.28l-0.82,-0.78l-0.91,0.12l-2.88,-0.51l-3.51,0.25l-0.86,-0.56l-0.57,0.15l-0.66,1.27l0.16,1.11l-0.43,0.32l-0.93,-1.4l-0.33,-1.16l-1.23,-0.88l-1.27,-2.06l-0.78,-2.22l-1.73,-1.79l-1.14,-0.48l-1.54,-2.31l-0.21,-3.41l-1.44,-2.93l-1.27,-1.16l-1.33,-0.57l-1.31,-3.37l-0.77,-0.67l-0.97,-1.97l-2.8,-4.03l-1.06,-0.17l0.37,-1.96l0.2,-0.72l2.74,0.3l1.08,-0.84l0.6,-0.94l1.74,-0.35l0.65,-1.03l0.71,-0.4l0.1,-0.62l-2.06,-2.28l4.39,-1.22l0.48,-0.37l2.77,0.69l3.66,1.9l7.03,5.5l4.87,0.3Z\",\\n      \"name\": \"Saudi Arabia\"\\n    },\\n    \"SE\": {\\n      \"path\": \"M480.22,89.3l-4.03,1.17l-2.43,2.86l0.26,2.57l-8.77,6.64l-1.78,5.79l1.78,2.68l2.22,1.96l-2.07,3.77l-2.72,1.13l-0.95,6.04l-1.29,3.01l-2.74,-0.31l-0.4,0.22l-1.31,2.59l-2.34,0.13l-0.75,-3.09l-2.08,-4.03l-1.83,-4.96l1.0,-1.93l2.14,-2.7l0.83,-4.45l-1.6,-2.17l-0.15,-4.94l1.48,-3.39l2.58,-0.15l0.87,-1.59l-0.78,-1.57l3.76,-5.59l4.04,-7.48l2.17,0.01l0.39,-0.29l0.57,-2.07l4.37,0.64l0.46,-0.34l0.33,-2.56l1.1,-0.13l6.94,4.87l0.06,6.32l0.66,1.36Z\",\\n      \"name\": \"Sweden\"\\n    },\\n    \"SD\": {\\n      \"path\": \"M505.98,259.4l-0.34,-0.77l-1.17,-0.9l-0.26,-1.61l0.29,-1.81l-0.34,-0.46l-1.16,-0.17l-0.54,0.59l-1.23,0.11l-0.28,0.65l0.53,0.65l0.17,1.22l-2.44,3.0l-0.96,0.19l-2.39,-1.4l-0.95,0.52l-0.38,0.78l-1.11,0.41l-0.29,0.5l-1.94,0.0l-0.54,-0.52l-1.81,-0.09l-0.95,0.4l-2.45,-2.35l-2.07,0.54l-0.73,1.26l-0.6,2.1l-1.25,0.58l-0.75,-0.62l0.27,-2.65l-1.48,-1.78l-0.22,-1.48l-0.92,-0.96l-0.02,-1.29l-0.57,-1.16l-0.68,-0.16l0.69,-1.29l-0.18,-1.14l0.65,-0.62l0.03,-0.55l-0.36,-0.41l1.55,-2.97l1.91,0.16l0.43,-0.4l-0.1,-10.94l2.49,-0.01l0.4,-0.4l-0.0,-4.82l29.02,0.0l0.64,2.04l-0.49,0.66l0.36,2.69l0.93,3.16l2.12,1.55l-0.89,1.04l-1.72,0.39l-0.98,0.9l-1.43,5.65l0.24,1.15l-0.38,2.06l-0.96,2.38l-1.53,1.31l-1.32,2.91l-1.22,0.86l-0.37,1.34Z\",\\n      \"name\": \"Sudan\"\\n    },\\n    \"DO\": {\\n      \"path\": \"M241.8,239.2l0.05,-0.65l-0.46,-0.73l0.42,-0.44l0.19,-1.0l-0.09,-1.53l1.66,0.01l1.99,0.63l0.33,0.67l1.28,0.19l0.33,0.76l1.0,0.08l0.8,0.62l-0.45,0.51l-1.13,-0.47l-1.88,-0.01l-1.27,0.59l-0.75,-0.55l-1.01,0.54l-0.79,1.4l-0.23,-0.61Z\",\\n      \"name\": \"Dominican Rep.\"\\n    },\\n    \"DJ\": {\\n      \"path\": \"M528.43,256.18l-0.45,0.66l-0.58,-0.25l-1.51,0.13l-0.18,-1.01l1.45,-1.95l0.83,0.17l0.77,-0.44l0.2,1.0l-1.2,0.51l-0.06,0.7l0.73,0.47Z\",\\n      \"name\": \"Djibouti\"\\n    },\\n    \"DK\": {\\n      \"path\": \"M452.28,129.07l-1.19,2.24l-2.13,-1.6l-0.23,-0.95l2.98,-0.95l0.57,1.26ZM447.74,126.31l-0.26,0.57l-0.88,-0.07l-1.8,2.53l0.48,1.69l-1.09,0.36l-1.61,-0.39l-0.89,-1.69l-0.07,-3.43l0.96,-1.73l2.02,-0.2l1.09,-1.07l1.33,-0.67l-0.05,1.06l-0.73,1.41l0.3,1.0l1.2,0.64Z\",\\n      \"name\": \"Denmark\"\\n    },\\n    \"DE\": {\\n      \"path\": \"M453.14,155.55l-0.55,-0.36l-1.2,-0.1l-1.87,0.57l-2.13,-0.13l-0.56,0.63l-0.86,-0.6l-0.96,0.09l-2.57,-0.93l-0.85,0.67l-1.47,-0.02l0.24,-1.75l1.23,-2.14l-0.28,-0.59l-3.52,-0.58l-0.92,-0.66l0.12,-1.2l-0.48,-0.88l0.27,-2.17l-0.37,-3.03l1.41,-0.22l0.63,-1.26l0.66,-3.19l-0.41,-1.18l0.26,-0.39l1.66,-0.15l0.33,0.54l0.62,0.07l1.7,-1.69l-0.54,-3.02l1.37,0.33l1.31,-0.37l0.31,1.18l2.25,0.71l-0.02,0.92l0.5,0.4l2.55,-0.65l1.34,-0.87l2.57,1.24l1.06,0.98l0.48,1.44l-0.57,0.74l-0.0,0.48l0.87,1.15l0.57,1.64l-0.14,1.29l0.82,1.7l-1.5,-0.07l-0.56,0.57l-4.47,2.15l-0.22,0.54l0.68,2.26l2.58,2.16l-0.66,1.11l-0.79,0.36l-0.23,0.43l0.32,1.87Z\",\\n      \"name\": \"Germany\"\\n    },\\n    \"YE\": {\\n      \"path\": \"M528.27,246.72l0.26,-0.42l-0.22,-1.01l0.19,-1.5l0.92,-0.69l-0.07,-1.35l0.39,-0.75l1.01,0.47l3.34,-0.27l3.76,0.41l0.95,0.81l1.36,-0.58l1.74,-2.62l2.18,-1.09l6.86,-0.94l2.48,5.41l-1.64,0.76l-0.56,1.9l-6.23,2.16l-2.29,1.8l-1.93,0.05l-1.41,1.02l-4.24,0.74l-1.72,1.49l-3.28,0.19l-0.52,-1.18l0.02,-1.51l-1.34,-3.29Z\",\\n      \"name\": \"Yemen\"\\n    },\\n    \"DZ\": {\\n      \"path\": \"M441.46,188.44l-0.32,1.07l0.39,2.64l-0.54,2.16l-1.58,1.82l0.37,2.39l1.91,1.55l0.18,0.8l1.42,1.03l1.84,7.23l0.12,1.16l-0.57,5.0l0.2,1.51l-0.87,0.99l-0.02,0.51l1.41,1.86l0.14,1.2l0.89,1.48l0.5,0.16l0.98,-0.41l1.73,1.08l0.82,1.23l-8.22,4.81l-7.23,5.11l-3.43,1.13l-2.3,0.21l-0.28,-1.59l-2.56,-1.09l-0.67,-1.25l-26.12,-17.86l0.01,-3.47l3.77,-1.88l2.44,-0.41l2.12,-0.75l1.08,-1.42l2.81,-1.05l0.35,-2.08l1.33,-0.29l1.04,-0.94l3.47,-0.69l0.46,-1.08l-0.1,-0.45l-0.58,-0.52l-0.82,-2.81l-0.19,-1.83l-0.78,-1.49l2.03,-1.31l2.63,-0.48l1.7,-1.22l2.31,-0.84l8.24,-0.73l1.49,0.38l2.28,-1.1l2.46,-0.02l0.92,0.6l1.35,-0.05Z\",\\n      \"name\": \"Algeria\"\\n    },\\n    \"US\": {\\n      \"path\": \"M892.72,99.2l1.31,0.53l1.41,-0.37l1.89,0.98l1.89,0.42l-1.32,0.58l-2.9,-1.53l-2.08,0.22l-0.26,-0.15l0.07,-0.67ZM183.22,150.47l0.37,1.47l1.12,0.85l4.23,0.7l2.39,0.98l2.17,-0.38l1.85,0.5l-1.55,0.65l-3.49,2.61l-0.16,0.77l0.5,0.39l2.33,-0.61l1.77,1.02l5.15,-2.4l-0.31,0.65l0.25,0.56l1.36,0.38l1.71,1.16l4.7,-0.88l0.67,0.85l1.31,0.21l0.58,0.58l-1.34,0.17l-2.18,-0.32l-3.6,0.89l-2.71,3.25l0.35,0.9l0.59,-0.0l0.55,-0.6l-1.36,4.65l0.29,3.09l0.67,1.58l0.61,0.45l1.77,-0.44l1.6,-1.96l0.14,-2.21l-0.82,-1.96l0.11,-1.13l1.19,-2.37l0.44,-0.33l0.48,0.75l0.4,-0.29l0.4,-1.37l0.6,-0.47l0.24,-0.8l1.69,0.49l1.65,1.08l-0.03,2.37l-1.27,1.13l-0.0,1.13l0.87,0.36l1.66,-1.29l0.5,0.17l0.5,2.6l-2.49,3.75l0.17,0.61l1.54,0.62l1.48,0.17l1.92,-0.44l4.72,-2.15l2.16,-1.8l-0.05,-1.24l0.75,-0.22l3.92,0.36l2.12,-1.05l0.21,-0.4l-0.28,-1.48l3.27,-2.4l8.32,-0.02l0.56,-0.82l1.9,-0.77l0.93,-1.51l0.74,-2.37l1.58,-1.98l0.92,0.62l1.47,-0.47l0.8,0.66l-0.0,4.09l1.96,2.6l-2.34,1.31l-5.37,2.09l-1.83,2.72l0.02,1.79l0.83,1.59l0.54,0.23l-6.19,0.94l-2.2,0.89l-0.23,0.48l0.45,0.29l2.99,-0.46l-2.19,0.56l-1.13,0.0l-0.15,-0.32l-0.48,0.08l-0.76,0.82l0.22,0.67l0.32,0.06l-0.41,1.62l-1.27,1.58l-1.48,-1.07l-0.49,-0.04l-0.16,0.46l0.52,1.58l0.61,0.59l0.03,0.79l-0.95,1.38l-1.21,-1.22l-0.27,-2.27l-0.35,-0.35l-0.42,0.25l-0.48,1.27l0.33,1.41l-0.97,-0.27l-0.48,0.24l0.18,0.5l1.52,0.83l0.1,2.52l0.79,0.51l0.52,3.42l-1.42,1.88l-2.47,0.8l-1.71,1.66l-1.31,0.25l-1.27,1.03l-0.43,0.99l-2.69,1.78l-2.64,3.03l-0.45,2.12l0.45,2.08l0.85,2.38l1.09,1.9l0.04,1.2l1.16,3.06l-0.18,2.69l-0.55,1.43l-0.47,0.21l-0.89,-0.23l-0.49,-1.18l-0.87,-0.56l-2.75,-5.16l0.48,-1.68l-0.72,-1.78l-2.01,-2.38l-1.12,-0.53l-2.72,1.18l-1.47,-1.35l-1.57,-0.68l-2.99,0.31l-2.17,-0.3l-2.0,0.19l-1.15,0.46l-0.19,0.58l0.39,0.63l0.14,1.34l-0.84,-0.2l-0.84,0.46l-1.58,-0.07l-2.08,-1.44l-2.09,0.33l-1.91,-0.62l-3.73,0.84l-2.39,2.07l-2.54,1.22l-1.45,1.41l-0.61,1.38l0.34,3.71l-0.29,0.02l-3.5,-1.33l-1.25,-3.11l-1.44,-1.5l-2.24,-3.56l-1.76,-1.09l-2.27,-0.01l-1.71,2.07l-1.76,-0.69l-1.16,-0.74l-1.52,-2.98l-3.93,-3.16l-4.34,-0.0l-0.4,0.4l-0.0,0.74l-6.5,0.02l-9.02,-3.14l-0.34,-0.71l-5.7,0.49l-0.43,-1.29l-1.62,-1.61l-1.14,-0.38l-0.55,-0.88l-1.28,-0.13l-1.01,-0.77l-2.22,-0.27l-0.43,-0.3l-0.36,-1.58l-2.4,-2.83l-2.01,-3.85l-0.06,-0.9l-2.92,-3.26l-0.33,-2.29l-1.3,-1.66l0.52,-2.37l-0.09,-2.57l-0.78,-2.3l0.95,-2.82l0.61,-5.68l-0.47,-4.27l-1.46,-4.08l3.19,0.79l1.26,2.83l0.69,0.08l0.69,-1.14l-1.1,-4.79l68.76,-0.0l0.4,-0.4l0.14,-0.86ZM32.44,67.52l1.73,1.97l0.55,0.05l0.99,-0.79l3.65,0.24l-0.09,0.62l0.32,0.45l3.83,0.77l2.61,-0.43l5.19,1.4l4.84,0.43l1.89,0.57l3.42,-0.7l6.14,1.87l-0.03,38.06l0.38,0.4l2.39,0.11l2.31,0.98l3.9,3.99l0.55,0.04l2.4,-2.03l2.16,-1.04l1.2,1.71l3.95,3.14l4.09,6.63l4.2,2.29l0.06,1.83l-1.02,1.23l-1.16,-1.08l-2.04,-1.03l-0.67,-2.89l-3.28,-3.03l-1.65,-3.57l-6.35,-0.32l-2.82,-1.01l-5.26,-3.85l-6.77,-2.04l-3.53,0.3l-4.81,-1.69l-3.25,-1.63l-2.78,0.8l-0.28,0.46l0.44,2.21l-3.91,0.96l-2.26,1.27l-2.3,0.65l-0.27,-1.65l1.05,-3.42l2.49,-1.09l0.16,-0.6l-0.69,-0.96l-0.55,-0.1l-3.19,2.12l-1.78,2.56l-3.55,2.61l-0.04,0.61l1.56,1.52l-2.07,2.29l-5.11,2.57l-0.77,1.66l-3.76,1.77l-0.92,1.73l-2.69,1.38l-1.81,-0.22l-6.95,3.32l-3.97,0.91l4.85,-2.5l2.59,-1.86l3.26,-0.52l1.19,-1.4l3.42,-2.1l2.59,-2.27l0.42,-2.68l1.23,-2.1l-0.04,-0.46l-0.45,-0.11l-2.68,1.03l-0.63,-0.49l-0.53,0.03l-1.05,1.04l-1.36,-1.54l-0.66,0.08l-0.32,0.62l-0.58,-1.14l-0.56,-0.16l-2.41,1.42l-1.07,-0.0l-0.17,-1.75l0.3,-1.71l-1.61,-1.33l-3.41,0.59l-1.96,-1.63l-1.57,-0.84l-0.15,-2.21l-1.7,-1.43l0.82,-1.88l1.99,-2.12l0.88,-1.92l1.71,-0.24l2.04,0.51l1.87,-1.77l1.91,0.25l1.91,-1.23l0.17,-0.43l-0.47,-1.82l-1.07,-0.7l1.39,-1.17l0.12,-0.45l-0.39,-0.26l-1.65,0.07l-2.66,0.88l-0.75,0.78l-1.92,-0.8l-3.46,0.44l-3.44,-0.91l-1.06,-1.61l-2.65,-1.99l2.91,-1.43l5.5,-2.0l1.52,0.0l-0.26,1.62l0.41,0.46l5.29,-0.16l0.3,-0.65l-2.03,-2.59l-3.14,-1.68l-1.79,-2.12l-2.4,-1.83l-3.09,-1.24l1.04,-1.69l4.23,-0.14l3.36,-2.07l0.73,-2.27l2.39,-1.99l2.42,-0.52l4.65,-1.97l2.46,0.23l3.71,-2.35l3.5,0.89ZM37.6,123.41l-2.25,1.23l-0.95,-0.69l-0.29,-1.24l3.21,-1.63l1.42,0.21l0.67,0.7l-1.8,1.42ZM31.06,234.03l0.98,0.47l0.74,0.87l-1.77,1.07l-0.44,-1.53l0.49,-0.89ZM29.34,232.07l0.18,0.05l0.08,0.05l-0.16,0.03l-0.11,-0.14ZM25.16,230.17l0.05,-0.03l0.18,0.22l-0.13,-0.01l-0.1,-0.18ZM5.89,113.26l-1.08,0.41l-2.21,-1.12l1.53,-0.4l1.62,0.28l0.14,0.83Z\",\\n      \"name\": \"United States\"\\n    },\\n    \"UY\": {\\n      \"path\": \"M286.85,372.74l-0.92,1.5l-2.59,1.44l-1.69,-0.52l-1.42,0.26l-2.39,-1.19l-1.52,0.08l-1.27,-1.3l0.16,-1.5l0.56,-0.79l-0.02,-2.73l1.21,-4.74l1.19,-0.21l2.37,2.0l1.08,0.03l4.36,3.17l1.22,1.6l-0.96,1.5l0.61,1.4Z\",\\n      \"name\": \"Uruguay\"\\n    },\\n    \"LB\": {\\n      \"path\": \"M510.37,198.01l-0.88,0.51l1.82,-3.54l0.62,0.08l0.22,0.61l-1.13,0.88l-0.65,1.47Z\",\\n      \"name\": \"Lebanon\"\\n    },\\n    \"LA\": {\\n      \"path\": \"M689.54,248.53l-1.76,-0.74l-0.49,0.15l-0.94,1.46l-1.32,-0.64l0.62,-0.98l0.11,-2.17l-2.04,-2.42l-0.25,-2.65l-1.9,-2.1l-2.15,-0.31l-0.78,0.91l-1.12,0.06l-1.05,-0.4l-2.06,1.2l-0.04,-1.59l0.61,-2.68l-0.36,-0.49l-1.35,-0.1l-0.11,-1.23l-0.96,-0.88l1.96,-1.89l0.39,0.36l1.33,0.07l0.42,-0.45l-0.34,-2.66l0.7,-0.21l1.28,1.81l1.11,2.35l0.36,0.23l2.82,0.02l0.71,1.67l-1.39,0.65l-0.72,0.93l0.13,0.6l2.91,1.51l3.6,5.25l1.88,1.78l0.56,1.62l-0.35,1.96Z\",\\n      \"name\": \"Lao PDR\"\\n    },\\n    \"TW\": {\\n      \"path\": \"M724.01,226.68l-0.74,1.48l-0.9,-1.52l-0.25,-1.74l1.38,-2.44l1.73,-1.74l0.64,0.44l-1.85,5.52Z\",\\n      \"name\": \"Taiwan\"\\n    },\\n    \"TT\": {\\n      \"path\": \"M266.64,259.32l0.28,-1.16l1.13,-0.22l-0.06,1.2l-1.35,0.18Z\",\\n      \"name\": \"Trinidad and Tobago\"\\n    },\\n    \"TR\": {\\n      \"path\": \"M513.21,175.47l3.64,1.17l3.05,-0.44l2.1,0.26l3.11,-1.56l2.46,-0.13l2.19,1.33l0.33,0.82l-0.22,1.33l0.25,0.44l2.28,1.13l-1.17,0.57l-0.21,0.45l0.75,3.2l-0.41,1.16l1.13,1.92l-0.55,0.22l-0.9,-0.67l-2.91,-0.37l-1.24,0.46l-4.23,0.41l-2.81,1.05l-1.91,0.01l-1.52,-0.53l-2.58,0.75l-0.66,-0.45l-0.62,0.3l-0.12,1.45l-0.89,0.84l-0.47,-0.67l0.79,-1.3l-0.41,-0.2l-1.43,0.23l-2.0,-0.63l-2.02,1.65l-3.51,0.3l-2.13,-1.53l-2.7,-0.1l-0.86,1.24l-1.38,0.27l-2.29,-1.44l-2.71,-0.01l-1.37,-2.65l-1.68,-1.52l1.07,-1.99l-0.09,-0.49l-1.27,-1.12l2.37,-2.41l3.7,-0.11l1.28,-2.24l4.49,0.37l3.21,-1.97l2.81,-0.82l3.99,-0.06l4.29,2.07ZM488.79,176.72l-1.72,1.31l-0.5,-0.88l1.37,-2.57l-0.7,-0.85l1.7,-0.63l1.8,0.34l0.46,1.17l1.76,0.78l-2.87,0.32l-1.3,1.01Z\",\\n      \"name\": \"Turkey\"\\n    },\\n    \"LK\": {\\n      \"path\": \"M624.16,268.99l-1.82,0.48l-0.99,-1.67l-0.42,-3.46l0.95,-3.43l1.21,0.98l2.26,4.19l-0.34,2.33l-0.85,0.58Z\",\\n      \"name\": \"Sri Lanka\"\\n    },\\n    \"LV\": {\\n      \"path\": \"M489.16,122.85l0.96,0.66l0.22,1.65l0.68,1.76l-3.65,1.7l-2.23,-1.58l-1.29,-0.26l-0.68,-0.77l-2.42,0.34l-4.16,-0.23l-2.47,0.9l0.06,-1.98l1.13,-2.06l1.95,-1.02l2.12,2.58l2.01,-0.07l0.38,-0.33l0.44,-2.52l1.76,-0.53l3.06,1.7l2.15,0.07Z\",\\n      \"name\": \"Latvia\"\\n    },\\n    \"LT\": {\\n      \"path\": \"M486.93,129.3l0.17,1.12l-1.81,0.98l-0.72,2.02l-2.47,1.18l-2.1,-0.02l-0.73,-1.05l-1.06,-0.3l-0.09,-1.87l-3.56,-1.13l-0.43,-2.36l2.48,-0.94l4.12,0.22l2.25,-0.31l0.52,0.69l1.24,0.21l2.19,1.56Z\",\\n      \"name\": \"Lithuania\"\\n    },\\n    \"LU\": {\\n      \"path\": \"M436.08,149.45l-0.48,-0.07l0.3,-1.28l0.27,0.4l-0.09,0.96Z\",\\n      \"name\": \"Luxembourg\"\\n    },\\n    \"LR\": {\\n      \"path\": \"M399.36,265.97l0.18,1.54l-0.48,0.99l0.08,0.47l2.47,1.8l-0.33,2.8l-2.65,-1.13l-5.78,-4.61l0.58,-1.32l2.1,-2.33l0.86,-0.22l0.77,1.14l-0.14,0.85l0.59,0.87l1.0,0.14l0.76,-0.99Z\",\\n      \"name\": \"Liberia\"\\n    },\\n    \"LS\": {\\n      \"path\": \"M491.06,363.48l-0.49,0.15l-1.49,-1.67l1.1,-1.43l2.19,-1.44l1.51,1.27l-0.98,1.82l-1.23,0.38l-0.62,0.93Z\",\\n      \"name\": \"Lesotho\"\\n    },\\n    \"TH\": {\\n      \"path\": \"M670.27,255.86l-1.41,3.87l0.15,2.0l0.38,0.36l1.38,0.07l0.9,2.04l0.55,2.34l1.4,1.44l1.61,0.38l0.96,0.97l-0.5,0.64l-1.1,0.2l-0.34,-1.18l-2.04,-1.1l-0.63,0.23l-0.63,-0.62l-0.48,-1.3l-2.56,-2.63l-0.73,0.41l0.95,-3.89l2.16,-4.22ZM670.67,254.77l-0.92,-2.18l-0.26,-2.61l-2.14,-3.06l0.71,-0.49l0.89,-2.59l-3.61,-5.45l0.87,-0.51l1.05,-2.58l1.74,-0.18l2.6,-1.59l0.76,0.56l0.13,1.39l0.37,0.36l1.23,0.09l-0.51,2.28l0.05,2.42l0.6,0.34l2.43,-1.42l0.77,0.39l1.47,-0.07l0.71,-0.88l1.48,0.14l1.71,1.88l0.25,2.65l1.92,2.11l-0.1,1.89l-0.61,0.86l-2.22,-0.33l-3.5,0.64l-1.6,2.12l0.36,2.58l-1.51,-0.79l-1.84,-0.01l0.28,-1.52l-0.4,-0.47l-2.21,0.01l-0.4,0.37l-0.19,2.74l-0.34,0.93Z\",\\n      \"name\": \"Thailand\"\\n    },\\n    \"TF\": {\\n      \"path\": \"M596.68,420.38l-3.2,0.18l-0.05,-1.26l0.39,-1.41l1.3,0.78l2.08,0.35l-0.52,1.36Z\",\\n      \"name\": \"Fr. S. Antarctic Lands\"\\n    },\\n    \"TG\": {\\n      \"path\": \"M422.7,257.63l-0.09,1.23l1.53,1.52l0.08,1.09l0.5,0.65l-0.11,5.62l0.49,1.47l-1.31,0.35l-1.02,-2.13l-0.18,-1.12l0.53,-2.19l-0.63,-1.16l-0.22,-3.68l-1.01,-1.4l0.07,-0.28l1.37,0.03Z\",\\n      \"name\": \"Togo\"\\n    },\\n    \"TD\": {\\n      \"path\": \"M480.25,235.49l0.12,9.57l-2.1,0.05l-1.14,1.89l-0.69,1.63l0.34,0.73l-0.66,0.91l0.24,0.89l-0.86,1.95l0.45,0.5l0.6,-0.1l0.34,0.64l0.03,1.38l0.9,1.04l-1.45,0.43l-1.27,1.03l-1.83,2.76l-2.16,1.07l-2.31,-0.15l-0.86,0.25l-0.26,0.49l0.17,0.61l-2.11,1.68l-2.85,0.87l-1.09,-0.57l-0.73,0.66l-1.12,0.1l-1.1,-3.12l-1.25,-0.64l-1.22,-1.22l0.29,-0.64l3.01,0.04l0.35,-0.6l-1.3,-2.2l-0.08,-3.31l-0.97,-1.66l0.22,-1.04l-0.38,-0.48l-1.22,-0.04l0.0,-1.25l-0.98,-1.07l0.96,-3.01l3.25,-2.65l0.13,-3.33l0.95,-5.18l0.52,-1.07l-0.1,-0.48l-0.91,-0.78l-0.2,-0.96l-0.8,-0.58l-0.55,-3.65l2.1,-1.2l19.57,9.83Z\",\\n      \"name\": \"Chad\"\\n    },\\n    \"LY\": {\\n      \"path\": \"M483.48,203.15l-0.75,1.1l0.29,1.39l-0.6,1.83l0.73,2.14l0.0,24.12l-2.48,0.01l-0.41,0.85l-19.41,-9.76l-4.41,2.28l-1.37,-1.33l-3.82,-1.1l-1.14,-1.65l-1.98,-1.23l-1.22,0.32l-0.66,-1.11l-0.17,-1.26l-1.28,-1.69l0.87,-1.19l-0.07,-4.34l0.43,-2.27l-0.86,-3.45l1.13,-0.76l0.22,-1.16l-0.2,-1.03l3.48,-2.61l0.29,-1.94l2.45,0.8l1.18,-0.21l1.98,0.44l3.15,1.18l1.37,2.54l5.72,1.67l2.64,1.35l1.61,-0.72l1.29,-1.34l-0.44,-2.34l0.66,-1.13l1.67,-1.21l1.57,-0.35l3.14,0.53l1.08,1.28l3.99,0.78l0.36,0.54Z\",\\n      \"name\": \"Libya\"\\n    },\\n    \"AE\": {\\n      \"path\": \"M550.76,223.97l1.88,-0.4l3.84,0.02l4.78,-4.75l0.19,0.36l0.26,1.58l-0.81,0.01l-0.39,0.35l-0.08,2.04l-0.81,0.63l-0.01,0.96l-0.66,0.99l-0.39,1.41l-7.08,-1.25l-0.7,-1.96Z\",\\n      \"name\": \"United Arab Emirates\"\\n    },\\n    \"VE\": {\\n      \"path\": \"M240.68,256.69l0.53,0.75l-0.02,1.06l-1.07,1.78l0.95,2.0l0.42,0.22l1.4,-0.44l0.56,-1.83l-0.77,-1.17l-0.1,-1.47l2.82,-0.93l0.26,-0.49l-0.28,-0.96l0.3,-0.28l0.66,1.31l1.96,0.26l1.4,1.22l0.08,0.68l0.39,0.35l4.81,-0.22l1.49,1.11l1.92,0.31l1.67,-0.84l0.22,-0.6l3.44,-0.14l-0.17,0.55l0.86,1.19l2.19,0.35l1.67,1.1l0.37,1.86l0.41,0.32l1.55,0.17l-1.66,1.35l-0.22,0.92l0.65,0.97l-1.67,0.54l-0.3,0.4l0.04,0.99l-0.56,0.57l-0.01,0.55l1.85,2.27l-0.66,0.69l-4.47,1.29l-0.72,0.54l-3.69,-0.9l-0.71,0.27l-0.02,0.7l0.91,0.53l-0.08,1.54l0.35,1.58l0.35,0.31l1.66,0.17l-1.3,0.52l-0.48,1.13l-2.68,0.91l-0.6,0.77l-1.57,0.13l-1.17,-1.13l-0.8,-2.52l-1.25,-1.26l1.02,-1.23l-1.29,-2.95l0.18,-1.62l1.0,-2.21l-0.2,-0.49l-1.14,-0.46l-4.02,0.36l-1.82,-2.1l-1.57,-0.33l-2.99,0.22l-1.06,-0.97l0.25,-1.23l-0.2,-1.01l-0.59,-0.69l-0.29,-1.06l-1.08,-0.39l0.78,-2.79l1.9,-2.11Z\",\\n      \"name\": \"Venezuela\"\\n    },\\n    \"AF\": {\\n      \"path\": \"M600.7,188.88l-1.57,1.3l-0.1,0.48l0.8,2.31l-1.09,1.04l-0.03,1.27l-0.48,0.71l-2.16,-0.08l-0.37,0.59l0.78,1.48l-1.38,0.69l-1.06,1.69l0.06,1.7l-0.65,0.52l-0.91,-0.21l-1.91,0.36l-0.48,0.77l-1.88,0.13l-1.4,1.56l-0.18,2.32l-2.91,1.02l-1.65,-0.23l-0.71,0.55l-1.41,-0.3l-2.41,0.39l-3.52,-1.17l1.96,-2.35l-0.21,-1.78l-0.3,-0.34l-1.63,-0.4l-0.19,-1.58l-0.75,-2.03l0.95,-1.36l-0.19,-0.6l-0.73,-0.28l1.47,-4.8l2.14,0.9l2.12,-0.36l0.74,-1.34l1.77,-0.39l1.54,-0.92l0.63,-2.31l1.87,-0.5l0.49,-0.81l0.94,0.56l2.13,0.11l2.55,0.92l1.95,-0.83l0.65,0.43l0.56,-0.13l0.69,-1.12l1.57,-0.08l0.72,-1.66l0.79,-0.74l0.8,0.39l-0.17,0.56l0.71,0.58l-0.08,2.39l1.11,0.95ZM601.37,188.71l1.73,-0.71l1.43,-1.18l4.03,0.35l-2.23,0.74l-4.95,0.8Z\",\\n      \"name\": \"Afghanistan\"\\n    },\\n    \"IQ\": {\\n      \"path\": \"M530.82,187.47l0.79,0.66l1.26,-0.28l1.46,3.08l1.63,0.94l0.14,1.23l-1.22,1.05l-0.53,2.52l1.73,2.67l3.12,1.62l1.15,1.88l-0.38,1.85l0.39,0.48l0.41,-0.0l0.02,1.07l0.76,0.94l-2.47,-0.1l-1.71,2.44l-4.31,-0.2l-7.02,-5.48l-3.73,-1.94l-2.88,-0.73l-0.85,-2.87l5.45,-3.02l0.95,-3.43l-0.19,-1.96l1.27,-0.7l1.22,-1.7l0.87,-0.36l2.69,0.34Z\",\\n      \"name\": \"Iraq\"\\n    },\\n    \"IS\": {\\n      \"path\": \"M384.14,88.06l-0.37,2.61l2.54,2.51l-2.9,2.75l-9.19,3.4l-9.25,-1.66l1.7,-1.22l-0.1,-0.7l-4.05,-1.47l2.96,-0.53l0.33,-0.43l-0.11,-1.2l-0.33,-0.36l-4.67,-0.85l1.28,-2.04l3.45,-0.56l3.77,2.72l0.44,0.02l3.64,-2.16l3.3,1.08l3.98,-2.16l3.58,0.26Z\",\\n      \"name\": \"Iceland\"\\n    },\\n    \"IR\": {\\n      \"path\": \"M533.43,187.16l-1.27,-2.15l0.42,-0.98l-0.71,-3.04l1.03,-0.5l0.33,0.83l1.26,1.35l2.05,0.51l1.11,-0.16l2.89,-2.11l0.62,-0.14l0.39,0.46l-0.72,1.2l0.06,0.49l1.56,1.53l0.65,0.04l0.67,1.81l2.56,0.83l1.87,1.48l3.69,0.49l3.91,-0.76l0.47,-0.73l2.17,-0.6l1.66,-1.54l1.51,0.08l1.18,-0.53l1.59,0.24l2.83,1.48l1.88,0.3l2.77,2.47l1.77,0.18l0.18,1.99l-1.68,5.49l0.24,0.5l0.61,0.23l-0.82,1.48l0.8,2.18l0.19,1.71l0.3,0.34l1.63,0.4l0.15,1.32l-2.15,2.35l-0.01,0.53l2.21,3.03l2.34,1.24l0.06,2.14l1.24,0.72l0.11,0.69l-3.31,1.27l-1.08,3.03l-9.68,-1.68l-0.99,-3.05l-1.43,-0.73l-2.17,0.46l-2.47,1.26l-2.83,-0.82l-2.46,-2.02l-2.41,-0.8l-3.42,-6.06l-0.48,-0.2l-1.18,0.39l-1.44,-0.82l-0.5,0.08l-0.65,0.74l-0.97,-1.01l-0.02,-1.31l-0.71,-0.39l0.26,-1.81l-1.29,-2.11l-3.13,-1.63l-1.58,-2.43l0.5,-1.9l1.31,-1.26l-0.19,-1.66l-1.74,-1.1l-1.57,-3.3Z\",\\n      \"name\": \"Iran\"\\n    },\\n    \"AM\": {\\n      \"path\": \"M536.99,182.33l-0.28,0.03l-1.23,-2.13l-0.93,0.01l-0.62,-0.66l-0.69,-0.07l-0.96,-0.81l-1.56,-0.62l0.19,-1.12l-0.26,-0.79l2.72,-0.36l1.09,1.01l-0.17,0.92l1.02,0.78l-0.47,0.62l0.08,0.56l2.04,1.23l0.04,1.4Z\",\\n      \"name\": \"Armenia\"\\n    },\\n    \"AL\": {\\n      \"path\": \"M470.32,171.8l0.74,0.03l0.92,0.89l-0.17,1.95l0.36,1.28l1.01,0.82l-1.82,2.83l-0.19,-0.61l-1.25,-0.89l-0.18,-1.2l0.53,-2.82l-0.54,-1.47l0.6,-0.83Z\",\\n      \"name\": \"Albania\"\\n    },\\n    \"AO\": {\\n      \"path\": \"M461.55,300.03l1.26,3.15l1.94,2.36l2.47,-0.53l1.25,0.32l0.44,-0.18l0.93,-1.92l1.31,-0.08l0.41,-0.44l0.47,-0.0l-0.1,0.41l0.39,0.49l2.65,-0.02l0.03,1.19l0.48,1.01l-0.34,1.52l0.18,1.55l0.83,1.04l-0.13,2.85l0.54,0.39l3.96,-0.41l-0.1,1.79l0.39,1.05l-0.24,1.43l-4.7,-0.03l-0.4,0.39l-0.12,8.13l2.92,3.49l-3.83,0.88l-5.89,-0.36l-1.88,-1.24l-10.47,0.22l-1.3,-1.01l-1.85,-0.16l-2.4,0.77l-0.15,-1.06l0.33,-2.16l1.0,-3.45l1.35,-3.2l2.24,-2.8l0.33,-2.06l-0.13,-1.53l-0.8,-1.08l-1.21,-2.87l0.87,-1.62l-1.27,-4.12l-1.17,-1.53l2.47,-0.63l7.03,0.03ZM451.71,298.87l-0.47,-1.25l1.25,-1.11l0.32,0.3l-0.99,1.03l-0.12,1.03Z\",\\n      \"name\": \"Angola\"\\n    },\\n    \"AR\": {\\n      \"path\": \"M249.29,428.93l-2.33,-0.52l-5.83,-0.43l-0.89,-1.66l0.05,-2.37l-0.45,-0.4l-1.43,0.18l-0.67,-0.91l-0.2,-3.13l1.88,-1.47l0.79,-2.04l-0.25,-1.7l1.3,-2.68l0.91,-4.15l-0.22,-1.69l0.85,-0.45l0.2,-0.44l-0.27,-1.16l-0.98,-0.68l0.59,-0.92l-0.05,-0.5l-1.04,-1.07l-0.52,-3.1l0.97,-0.86l-0.42,-3.58l1.2,-5.43l1.38,-0.98l0.16,-0.43l-0.75,-2.79l-0.01,-2.43l1.78,-1.75l0.06,-2.57l1.43,-2.85l0.01,-2.58l-0.69,-0.74l-1.09,-4.52l1.47,-2.7l-0.18,-2.79l0.85,-2.35l1.59,-2.46l1.73,-1.64l0.05,-0.52l-0.6,-0.84l0.44,-0.85l-0.07,-4.19l2.7,-1.44l0.86,-2.75l-0.21,-0.71l1.76,-2.01l2.9,0.57l1.38,1.78l0.68,-0.08l0.87,-1.87l2.39,0.09l4.95,4.77l2.17,0.49l3.0,1.92l2.47,1.0l0.25,0.82l-2.37,3.93l0.23,0.59l5.39,1.16l2.12,-0.44l2.45,-2.16l0.5,-2.38l0.76,-0.31l0.98,1.2l-0.04,1.8l-3.67,2.51l-2.85,2.66l-3.43,3.88l-1.3,5.07l0.01,2.72l-0.54,0.73l-0.36,3.28l3.14,2.64l-0.16,2.11l1.4,1.11l-0.1,1.09l-2.29,3.52l-3.55,1.49l-4.92,0.6l-2.71,-0.29l-0.43,0.51l0.5,1.65l-0.49,2.1l0.38,1.42l-1.19,0.83l-2.36,0.38l-2.3,-1.04l-1.38,0.83l0.41,3.64l1.69,0.91l1.4,-0.71l0.36,0.76l-2.04,0.86l-2.01,1.89l-0.97,4.63l-2.34,0.1l-2.09,1.78l-0.61,2.75l2.46,2.31l2.17,0.63l-0.7,2.32l-2.83,1.73l-1.73,3.86l-2.17,1.22l-1.16,1.67l0.75,3.76l1.04,1.28ZM256.71,438.88l-2.0,0.15l-1.4,-1.22l-3.82,-0.1l-0.0,-5.83l1.6,3.05l3.26,2.07l3.08,0.78l-0.71,1.1Z\",\\n      \"name\": \"Argentina\"\\n    },\\n    \"AU\": {\\n      \"path\": \"M705.8,353.26l0.26,0.04l0.17,-0.47l-0.48,-1.42l0.92,1.11l0.45,0.15l0.27,-0.39l-0.1,-1.56l-1.98,-3.63l1.09,-3.31l-0.24,-1.57l0.34,-0.62l0.38,1.06l0.43,-0.19l0.99,-1.7l1.91,-0.83l1.29,-1.15l1.81,-0.91l0.96,-0.17l0.92,0.26l1.92,-0.95l1.47,-0.28l1.03,-0.8l1.43,0.04l2.78,-0.84l1.36,-1.15l0.71,-1.45l1.41,-1.26l0.3,-2.58l1.27,-1.59l0.78,1.65l0.54,0.19l1.07,-0.51l0.15,-0.6l-0.73,-1.0l0.45,-0.71l0.78,0.39l0.58,-0.3l0.28,-1.82l1.87,-2.14l1.12,-0.39l0.28,-0.58l0.62,0.17l0.53,-0.73l1.87,-0.57l1.65,1.05l1.35,1.48l3.39,0.38l0.43,-0.54l-0.46,-1.23l1.05,-1.79l1.04,-0.61l0.14,-0.55l-0.25,-0.41l0.88,-1.17l1.31,-0.77l1.3,0.27l2.1,-0.48l0.31,-0.4l-0.05,-1.3l-0.92,-0.77l1.48,0.56l1.41,1.07l2.11,0.65l0.81,-0.2l1.4,0.7l1.69,-0.66l0.8,0.19l0.64,-0.33l0.71,0.77l-1.33,1.94l-0.71,0.07l-0.35,0.51l0.24,0.86l-1.52,2.35l0.12,1.05l2.15,1.65l1.97,0.85l3.04,2.36l1.97,0.65l0.55,0.88l2.72,0.85l1.84,-1.1l2.07,-5.97l-0.42,-3.59l0.3,-1.73l0.47,-0.87l-0.31,-0.68l1.09,-3.28l0.46,-0.47l0.4,0.71l0.16,1.51l0.65,0.52l0.16,1.04l0.85,1.21l0.12,2.38l0.9,2.0l0.57,0.18l1.3,-0.78l1.69,1.7l-0.2,1.08l0.53,2.2l0.39,1.3l0.68,0.48l0.6,1.95l-0.19,1.48l0.81,1.76l6.01,3.69l-0.11,0.76l1.38,1.58l0.95,2.77l0.58,0.22l0.72,-0.41l0.8,0.9l0.61,0.01l0.46,2.41l4.81,4.71l0.66,2.02l-0.07,3.31l1.14,2.2l-0.13,2.24l-1.1,3.68l0.03,1.64l-0.47,1.89l-1.05,2.4l-1.9,1.47l-1.72,3.51l-2.38,6.09l-0.24,2.82l-1.14,0.8l-2.85,0.15l-2.31,1.19l-2.51,2.25l-3.09,-1.57l0.3,-1.15l-0.54,-0.47l-1.5,0.63l-2.01,1.94l-7.12,-2.18l-1.48,-1.63l-1.14,-3.74l-1.45,-1.26l-1.81,-0.26l0.56,-1.18l-0.61,-2.1l-0.72,-0.1l-1.14,1.82l-0.9,0.21l0.63,-0.82l0.36,-1.55l0.92,-1.31l-0.13,-2.34l-0.7,-0.22l-2.0,2.34l-1.51,0.93l-0.94,2.01l-1.35,-0.81l-0.02,-1.52l-1.57,-2.04l-1.09,-0.88l0.24,-0.33l-0.14,-0.59l-3.21,-1.69l-1.83,-0.12l-2.54,-1.35l-4.58,0.28l-6.02,1.9l-2.53,-0.13l-2.62,1.41l-2.13,0.63l-1.49,2.6l-3.49,0.31l-2.29,-0.5l-3.48,0.43l-1.6,1.47l-0.81,-0.04l-2.37,1.63l-3.26,-0.1l-3.72,-2.21l0.04,-1.05l1.19,-0.46l0.49,-0.89l0.21,-2.97l-0.28,-1.64l-1.34,-2.86l-0.38,-1.47l0.05,-1.72l-0.95,-1.7l-0.18,-0.97l-1.01,-0.99l-0.29,-1.98l-1.13,-1.75ZM784.92,393.44l2.65,1.02l3.23,-0.96l1.09,0.14l0.15,3.06l-0.85,1.13l-0.17,1.63l-0.87,-0.24l-1.57,1.91l-1.68,-0.18l-1.4,-2.36l-0.37,-2.04l-1.39,-2.51l0.04,-0.8l1.15,0.18Z\",\\n      \"name\": \"Australia\"\\n    },\\n    \"AT\": {\\n      \"path\": \"M462.89,152.8l0.04,2.25l-1.07,0.0l-0.33,0.63l0.36,0.51l-1.04,2.13l-2.02,0.07l-1.33,0.7l-5.29,-0.99l-0.47,-0.93l-0.44,-0.21l-2.47,0.55l-0.42,0.51l-3.18,-0.81l0.43,-0.91l1.12,0.78l0.6,-0.17l0.25,-0.58l1.93,0.12l1.86,-0.56l1.0,0.08l0.68,0.57l0.62,-0.15l0.26,-0.77l-0.3,-1.78l0.8,-0.44l0.68,-1.15l1.52,0.85l0.47,-0.06l1.34,-1.25l0.64,-0.17l1.81,0.92l1.28,-0.11l0.7,0.37Z\",\\n      \"name\": \"Austria\"\\n    },\\n    \"IN\": {\\n      \"path\": \"M623.34,207.03l-1.24,1.04l-0.97,2.55l0.22,0.51l8.04,3.87l3.42,0.37l1.57,1.38l4.92,0.88l2.18,-0.04l0.38,-0.3l0.29,-1.24l-0.32,-1.64l0.14,-0.87l0.82,-0.31l0.45,2.48l2.28,1.02l1.77,-0.38l4.14,0.1l0.38,-0.36l0.18,-1.66l-0.5,-0.65l1.37,-0.29l2.25,-1.99l2.7,-1.62l1.93,0.62l1.8,-0.98l0.79,1.14l-0.68,0.91l0.26,0.63l2.42,0.36l0.09,0.47l-0.83,0.75l0.13,1.07l-1.52,-0.29l-3.24,1.86l-0.13,1.78l-1.32,2.14l-0.18,1.39l-0.93,1.82l-1.64,-0.5l-0.52,0.37l-0.09,2.63l-0.56,1.11l0.19,0.81l-0.53,0.27l-1.18,-3.73l-1.08,-0.27l-0.38,0.31l-0.24,1.0l-0.66,-0.66l0.54,-1.06l1.22,-0.34l1.15,-2.25l-0.24,-0.56l-1.57,-0.47l-4.34,-0.28l-0.18,-1.56l-0.35,-0.35l-1.11,-0.12l-1.91,-1.12l-0.56,0.17l-0.88,1.82l0.11,0.49l1.36,1.07l-1.09,0.69l-0.69,1.11l0.18,0.56l1.24,0.57l-0.32,1.54l0.85,1.94l0.36,2.01l-0.22,0.59l-4.58,0.52l-0.33,0.42l0.13,1.8l-1.17,1.36l-3.65,1.81l-2.79,3.03l-4.32,3.28l-0.18,1.27l-4.65,1.79l-0.77,2.16l0.64,5.3l-1.06,2.49l-0.01,3.94l-1.24,0.28l-1.14,1.93l0.39,0.84l-1.68,0.53l-1.04,1.83l-0.65,0.47l-2.06,-2.05l-2.1,-6.02l-2.2,-3.64l-1.05,-4.75l-2.29,-3.57l-1.76,-8.2l0.01,-3.11l-0.49,-2.53l-0.55,-0.29l-3.53,1.52l-1.53,-0.27l-2.86,-2.77l0.85,-0.67l0.08,-0.55l-0.74,-1.03l-2.67,-2.06l1.24,-1.32l5.34,0.01l0.39,-0.49l-0.5,-2.29l-1.42,-1.46l-0.27,-1.93l-1.43,-1.2l2.31,-2.37l3.05,0.06l2.62,-2.85l1.6,-2.81l2.4,-2.73l0.07,-2.04l1.97,-1.48l-0.02,-0.65l-1.93,-1.31l-0.82,-1.78l-0.8,-2.21l0.9,-0.89l3.59,0.65l2.92,-0.42l2.33,-2.19l2.31,2.85l-0.24,2.13l0.99,1.59l-0.05,0.82l-1.34,-0.28l-0.47,0.48l0.7,3.06l2.62,1.99l2.99,1.65Z\",\\n      \"name\": \"India\"\\n    },\\n    \"TZ\": {\\n      \"path\": \"M495.56,296.42l2.8,-3.12l-0.02,-0.81l-0.64,-1.3l0.68,-0.52l0.14,-1.47l-0.76,-1.25l0.31,-0.11l2.26,0.03l-0.51,2.76l0.76,1.3l0.5,0.12l1.05,-0.53l1.19,-0.12l0.61,0.24l1.43,-0.62l0.1,-0.67l-0.71,-0.62l1.57,-1.7l8.65,4.86l0.32,1.53l3.34,2.33l-1.05,2.8l0.13,1.61l1.63,1.12l-0.6,1.76l-0.01,2.33l1.89,4.03l0.57,0.43l-1.46,1.08l-2.61,0.94l-1.43,-0.04l-1.06,0.77l-2.29,0.36l-2.87,-0.68l-0.83,0.07l-0.63,-0.75l-0.31,-2.78l-1.32,-1.35l-3.25,-0.77l-3.96,-1.58l-1.18,-2.41l-0.32,-1.75l-1.76,-1.49l0.42,-1.05l-0.44,-0.89l0.08,-0.96l-0.46,-0.58l0.06,-0.56Z\",\\n      \"name\": \"Tanzania\"\\n    },\\n    \"AZ\": {\\n      \"path\": \"M539.29,175.73l1.33,0.32l1.94,-1.8l2.3,3.34l1.43,0.43l-1.26,0.15l-0.35,0.32l-0.8,3.14l-0.99,0.96l0.05,1.11l-1.26,-1.13l0.7,-1.18l-0.04,-0.47l-0.74,-0.86l-1.48,0.15l-2.34,1.71l-0.03,-1.27l-2.03,-1.35l0.47,-0.62l-0.08,-0.56l-1.03,-0.79l0.29,-0.43l-0.14,-0.58l-1.13,-0.86l1.89,0.68l1.69,0.06l0.37,-0.87l-0.81,-1.37l0.42,0.06l1.63,1.72ZM533.78,180.57l0.61,0.46l0.69,-0.0l0.59,1.15l-0.68,-0.15l-1.21,-1.45Z\",\\n      \"name\": \"Azerbaijan\"\\n    },\\n    \"IE\": {\\n      \"path\": \"M405.08,135.42l0.35,2.06l-1.75,2.78l-4.22,1.88l-2.84,-0.4l1.73,-3.0l-1.18,-3.53l4.6,-3.74l0.32,1.15l-0.49,1.74l0.4,0.51l1.47,-0.04l1.6,0.6Z\",\\n      \"name\": \"Ireland\"\\n    },\\n    \"ID\": {\\n      \"path\": \"M756.47,287.89l0.69,4.01l2.79,1.78l0.51,-0.1l2.04,-2.59l2.71,-1.43l2.05,-0.0l3.9,1.73l2.46,0.45l0.08,15.12l-1.75,-1.54l-2.54,-0.51l-0.88,0.71l-2.32,0.06l0.69,-1.33l1.45,-0.64l0.23,-0.46l-0.65,-2.74l-1.24,-2.21l-5.04,-2.29l-2.09,-0.23l-3.68,-2.27l-0.55,0.13l-0.65,1.07l-0.52,0.12l-0.55,-1.89l-1.21,-0.78l1.84,-0.62l1.72,0.05l0.39,-0.52l-0.21,-0.66l-0.38,-0.28l-3.45,-0.0l-1.13,-1.48l-2.1,-0.43l-0.52,-0.6l2.69,-0.48l1.28,-0.78l3.66,0.94l0.3,0.71ZM757.91,300.34l-0.62,0.82l-0.1,-0.8l0.59,-1.12l0.13,1.1ZM747.38,292.98l0.34,0.72l-1.22,-0.57l-4.68,-0.1l0.27,-0.62l2.78,-0.09l2.52,0.67ZM741.05,285.25l-0.67,-2.88l0.64,-2.01l0.41,0.86l1.21,0.18l0.16,0.7l-0.1,1.68l-0.84,-0.16l-0.46,0.3l-0.34,1.34ZM739.05,293.5l-0.5,0.44l-1.34,-0.36l-0.17,-0.37l1.73,-0.08l0.27,0.36ZM721.45,284.51l-0.19,1.97l2.24,2.23l0.54,0.02l1.27,-1.07l2.75,-0.5l-0.9,1.21l-2.11,0.93l-0.16,0.6l2.22,3.01l-0.3,1.07l1.36,1.74l-2.26,0.85l-0.28,-0.31l0.12,-1.19l-1.64,-1.34l0.17,-2.23l-0.56,-0.39l-1.67,0.76l-0.23,0.39l0.3,6.17l-1.1,0.25l-0.69,-0.47l0.64,-2.21l-0.39,-2.42l-0.39,-0.34l-0.8,-0.01l-0.58,-1.29l0.98,-1.6l0.35,-1.96l1.32,-3.87ZM728.59,296.27l0.38,0.49l-0.02,1.28l-0.88,0.49l-0.53,-0.47l1.04,-1.79ZM729.04,286.98l0.27,-0.05l-0.02,0.13l-0.24,-0.08ZM721.68,284.05l0.16,-0.32l1.89,-1.65l1.83,0.68l3.16,0.35l2.94,-0.1l2.39,-1.66l-1.73,2.13l-1.66,0.43l-2.41,-0.48l-4.17,0.13l-2.39,0.51ZM730.55,310.47l1.11,-1.93l2.03,-0.82l0.08,0.62l-1.45,1.67l-1.77,0.46ZM728.12,305.88l-0.1,0.38l-3.46,0.66l-2.91,-0.27l-0.0,-0.25l1.54,-0.41l1.66,0.73l1.67,-0.19l1.61,-0.65ZM722.9,310.24l-0.64,0.03l-2.26,-1.2l1.11,-0.24l1.78,1.41ZM716.26,305.77l0.88,0.51l1.28,-0.17l0.2,0.35l-4.65,0.73l0.39,-0.67l1.15,-0.02l0.75,-0.73ZM711.66,293.84l-0.38,-0.16l-2.54,1.01l-1.12,-1.44l-1.69,-0.13l-1.16,-0.75l-3.04,0.77l-1.1,-1.15l-3.31,-0.11l-0.35,-3.05l-1.35,-0.95l-1.11,-1.98l-0.33,-2.06l0.27,-2.14l0.9,-1.01l0.37,1.15l2.09,1.49l1.53,-0.48l1.82,0.08l1.38,-1.19l1.0,-0.18l2.28,0.67l2.26,-0.53l1.52,-3.64l1.01,-0.99l0.78,-2.57l4.1,0.3l-1.11,1.77l0.02,0.46l1.7,2.2l-0.23,1.39l2.07,1.71l-2.33,0.42l-0.88,1.9l0.1,2.05l-2.4,1.9l-0.06,2.45l-0.7,2.79ZM692.58,302.03l0.35,0.26l4.8,0.25l0.78,-0.97l4.17,1.09l1.13,1.68l3.69,0.45l2.13,1.04l-1.8,0.6l-2.77,-0.99l-4.8,-0.12l-5.24,-1.41l-1.84,-0.25l-1.11,0.3l-4.26,-0.97l-0.7,-1.14l-1.59,-0.13l1.18,-1.65l2.74,0.13l2.87,1.13l0.26,0.68ZM685.53,299.17l-2.22,0.04l-2.06,-2.03l-3.15,-2.01l-2.93,-3.51l-3.11,-5.33l-2.2,-2.12l-1.64,-4.06l-2.32,-1.69l-1.27,-2.07l-1.96,-1.5l-2.51,-2.65l-0.11,-0.66l4.81,0.53l2.15,2.38l3.31,2.74l2.35,2.66l2.7,0.17l1.95,1.59l1.54,2.17l1.59,0.95l-0.84,1.71l0.15,0.52l1.44,0.87l0.79,0.1l0.4,1.58l0.87,1.4l1.96,0.39l1.0,1.31l-0.6,3.01l-0.09,3.5Z\",\\n      \"name\": \"Indonesia\"\\n    },\\n    \"UA\": {\\n      \"path\": \"M492.5,162.44l1.28,-2.49l1.82,0.19l0.66,-0.23l0.09,-0.71l-0.25,-0.75l-0.79,-0.72l-0.33,-1.21l-0.86,-0.62l-0.02,-1.19l-1.13,-0.86l-1.15,-0.19l-2.04,-1.0l-1.66,0.32l-0.66,0.47l-0.92,-0.0l-0.84,0.78l-2.48,0.7l-1.18,-0.71l-3.07,-0.36l-0.89,0.43l-0.24,-0.55l-1.11,-0.7l0.35,-0.93l1.26,-1.02l-0.54,-1.23l2.04,-2.43l1.4,-0.62l0.25,-1.19l-1.04,-2.39l0.83,-0.13l1.28,-0.84l1.8,-0.07l2.47,0.26l2.86,0.81l1.88,0.06l0.86,0.44l1.04,-0.41l0.77,0.66l2.18,-0.15l0.92,0.3l0.52,-0.34l0.15,-1.53l0.56,-0.54l2.85,-0.05l0.84,-0.72l3.04,-0.18l1.23,1.46l-0.48,0.77l0.21,1.03l0.36,0.32l1.8,0.14l0.93,2.08l3.18,1.15l1.94,-0.45l1.67,1.49l1.4,-0.03l3.35,0.96l0.02,0.54l-0.96,1.59l0.47,1.97l-0.26,0.7l-2.36,0.28l-1.29,0.89l-0.23,1.38l-1.83,0.27l-1.58,0.97l-2.41,0.21l-2.16,1.17l-0.21,0.38l0.34,2.26l1.23,0.75l2.13,-0.08l-0.14,0.31l-2.65,0.53l-3.23,1.69l-0.87,-0.39l0.42,-1.1l-0.25,-0.52l-2.21,-0.73l2.35,-1.06l0.12,-0.65l-0.93,-0.82l-3.62,-0.74l-0.13,-0.89l-0.46,-0.34l-2.61,0.59l-0.91,1.69l-1.71,2.04l-0.86,-0.4l-1.62,0.27Z\",\\n      \"name\": \"Ukraine\"\\n    },\\n    \"QA\": {\\n      \"path\": \"M549.33,221.64l-0.76,-0.23l-0.14,-1.64l0.84,-1.29l0.47,0.52l0.04,1.34l-0.45,1.3Z\",\\n      \"name\": \"Qatar\"\\n    },\\n    \"MZ\": {\\n      \"path\": \"M508.58,318.75l-0.34,-2.57l0.51,-2.05l3.55,0.63l2.5,-0.38l1.02,-0.76l1.49,0.01l2.74,-0.98l1.66,-1.2l0.5,9.24l0.41,1.23l-0.68,1.67l-0.93,1.71l-1.5,1.5l-5.16,2.28l-2.78,2.73l-1.02,0.53l-1.71,1.8l-0.98,0.57l-0.35,2.41l1.16,1.94l0.49,2.17l0.43,0.31l-0.06,2.06l-0.39,1.17l0.5,0.72l-0.25,0.73l-0.92,0.83l-5.12,2.39l-1.22,1.36l0.21,1.13l0.58,0.39l-0.11,0.72l-1.22,-0.01l-0.73,-2.97l0.42,-3.09l-1.78,-5.37l2.49,-2.81l0.69,-1.89l0.44,-0.43l0.28,-1.53l-0.39,-0.93l0.59,-3.65l-0.01,-3.26l-1.49,-1.16l-1.2,-0.22l-1.74,-1.17l-1.92,0.01l-0.29,-2.08l7.06,-1.96l1.28,1.09l0.89,-0.1l0.67,0.44l0.1,0.73l-0.51,1.29l0.19,1.81l1.75,1.83l0.65,-0.13l0.71,-1.65l1.17,-0.86l-0.26,-3.47l-1.05,-1.85l-1.04,-0.94Z\",\\n      \"name\": \"Mozambique\"\\n    }\\n  },\\n  \"height\": 440.7063107441331,\\n  \"projection\": {\\n    \"type\": \"mill\",\\n    \"centralMeridian\": 11.5\\n  },\\n  \"width\": 900.0\\n});'},function(t,e,l){l(0)(l(115))},function(t,e){t.exports=\"/*! DataTables 1.10.19\\n * ©2008-2018 SpryMedia Ltd - datatables.net/license\\n */\\n\\n/**\\n * @summary     DataTables\\n * @description Paginate, search and order HTML tables\\n * @version     1.10.19\\n * @file        jquery.dataTables.js\\n * @author      SpryMedia Ltd\\n * @contact     www.datatables.net\\n * @copyright   Copyright 2008-2018 SpryMedia Ltd.\\n *\\n * This source file is free software, available under the following license:\\n *   MIT license - http://datatables.net/license\\n *\\n * This source file is distributed in the hope that it will be useful, but\\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\\n *\\n * For details please refer to: http://www.datatables.net\\n */\\n\\n/*jslint evil: true, undef: true, browser: true */\\n/*globals $,require,jQuery,define,_selector_run,_selector_opts,_selector_first,_selector_row_indexes,_ext,_Api,_api_register,_api_registerPlural,_re_new_lines,_re_html,_re_formatted_numeric,_re_escape_regex,_empty,_intVal,_numToDecimal,_isNumber,_isHtml,_htmlNumeric,_pluck,_pluck_order,_range,_stripHtml,_unique,_fnBuildAjax,_fnAjaxUpdate,_fnAjaxParameters,_fnAjaxUpdateDraw,_fnAjaxDataSrc,_fnAddColumn,_fnColumnOptions,_fnAdjustColumnSizing,_fnVisibleToColumnIndex,_fnColumnIndexToVisible,_fnVisbleColumns,_fnGetColumns,_fnColumnTypes,_fnApplyColumnDefs,_fnHungarianMap,_fnCamelToHungarian,_fnLanguageCompat,_fnBrowserDetect,_fnAddData,_fnAddTr,_fnNodeToDataIndex,_fnNodeToColumnIndex,_fnGetCellData,_fnSetCellData,_fnSplitObjNotation,_fnGetObjectDataFn,_fnSetObjectDataFn,_fnGetDataMaster,_fnClearTable,_fnDeleteIndex,_fnInvalidate,_fnGetRowElements,_fnCreateTr,_fnBuildHead,_fnDrawHead,_fnDraw,_fnReDraw,_fnAddOptionsHtml,_fnDetectHeader,_fnGetUniqueThs,_fnFeatureHtmlFilter,_fnFilterComplete,_fnFilterCustom,_fnFilterColumn,_fnFilter,_fnFilterCreateSearch,_fnEscapeRegex,_fnFilterData,_fnFeatureHtmlInfo,_fnUpdateInfo,_fnInfoMacros,_fnInitialise,_fnInitComplete,_fnLengthChange,_fnFeatureHtmlLength,_fnFeatureHtmlPaginate,_fnPageChange,_fnFeatureHtmlProcessing,_fnProcessingDisplay,_fnFeatureHtmlTable,_fnScrollDraw,_fnApplyToChildren,_fnCalculateColumnWidths,_fnThrottle,_fnConvertToWidth,_fnGetWidestNode,_fnGetMaxLenString,_fnStringToCss,_fnSortFlatten,_fnSort,_fnSortAria,_fnSortListener,_fnSortAttachListener,_fnSortingClasses,_fnSortData,_fnSaveState,_fnLoadState,_fnSettingsFromNode,_fnLog,_fnMap,_fnBindAction,_fnCallbackReg,_fnCallbackFire,_fnLengthOverflow,_fnRenderer,_fnDataSource,_fnRowAttributes*/\\n\\n(function( factory ) {\\n\\t\\\"use strict\\\";\\n\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\t// CommonJS environments without a window global must pass a\\n\\t\\t\\t\\t// root. This will give an error otherwise\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ ) {\\n\\t\\t\\t\\t$ = typeof window !== 'undefined' ? // jQuery's factory checks for a global window\\n\\t\\t\\t\\t\\trequire('jquery') :\\n\\t\\t\\t\\t\\trequire('jquery')( root );\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}\\n(function( $, window, document, undefined ) {\\n\\t\\\"use strict\\\";\\n\\n\\t/**\\n\\t * DataTables is a plug-in for the jQuery Javascript library. It is a highly\\n\\t * flexible tool, based upon the foundations of progressive enhancement,\\n\\t * which will add advanced interaction controls to any HTML table. For a\\n\\t * full list of features please refer to\\n\\t * [DataTables.net](href=\\\"http://datatables.net).\\n\\t *\\n\\t * Note that the `DataTable` object is not a global variable but is aliased\\n\\t * to `jQuery.fn.DataTable` and `jQuery.fn.dataTable` through which it may\\n\\t * be  accessed.\\n\\t *\\n\\t *  @class\\n\\t *  @param {object} [init={}] Configuration object for DataTables. Options\\n\\t *    are defined by {@link DataTable.defaults}\\n\\t *  @requires jQuery 1.7+\\n\\t *\\n\\t *  @example\\n\\t *    // Basic initialisation\\n\\t *    $(document).ready( function {\\n\\t *      $('#example').dataTable();\\n\\t *    } );\\n\\t *\\n\\t *  @example\\n\\t *    // Initialisation with configuration options - in this case, disable\\n\\t *    // pagination and sorting.\\n\\t *    $(document).ready( function {\\n\\t *      $('#example').dataTable( {\\n\\t *        \\\"paginate\\\": false,\\n\\t *        \\\"sort\\\": false\\n\\t *      } );\\n\\t *    } );\\n\\t */\\n\\tvar DataTable = function ( options )\\n\\t{\\n\\t\\t/**\\n\\t\\t * Perform a jQuery selector action on the table's TR elements (from the tbody) and\\n\\t\\t * return the resulting jQuery object.\\n\\t\\t *  @param {string|node|jQuery} sSelector jQuery selector or node collection to act on\\n\\t\\t *  @param {object} [oOpts] Optional parameters for modifying the rows to be included\\n\\t\\t *  @param {string} [oOpts.filter=none] Select TR elements that meet the current filter\\n\\t\\t *    criterion (\\\"applied\\\") or all TR elements (i.e. no filter).\\n\\t\\t *  @param {string} [oOpts.order=current] Order of the TR elements in the processed array.\\n\\t\\t *    Can be either 'current', whereby the current sorting of the table is used, or\\n\\t\\t *    'original' whereby the original order the data was read into the table is used.\\n\\t\\t *  @param {string} [oOpts.page=all] Limit the selection to the currently displayed page\\n\\t\\t *    (\\\"current\\\") or not (\\\"all\\\"). If 'current' is given, then order is assumed to be\\n\\t\\t *    'current' and filter is 'applied', regardless of what they might be given as.\\n\\t\\t *  @returns {object} jQuery object, filtered by the given selector.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Highlight every second row\\n\\t\\t *      oTable.$('tr:odd').css('backgroundColor', 'blue');\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Filter to rows with 'Webkit' in them, add a background colour and then\\n\\t\\t *      // remove the filter, thus highlighting the 'Webkit' rows only.\\n\\t\\t *      oTable.fnFilter('Webkit');\\n\\t\\t *      oTable.$('tr', {\\\"search\\\": \\\"applied\\\"}).css('backgroundColor', 'blue');\\n\\t\\t *      oTable.fnFilter('');\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.$ = function ( sSelector, oOpts )\\n\\t\\t{\\n\\t\\t\\treturn this.api(true).$( sSelector, oOpts );\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Almost identical to $ in operation, but in this case returns the data for the matched\\n\\t\\t * rows - as such, the jQuery selector used should match TR row nodes or TD/TH cell nodes\\n\\t\\t * rather than any descendants, so the data can be obtained for the row/cell. If matching\\n\\t\\t * rows are found, the data returned is the original data array/object that was used to\\n\\t\\t * create the row (or a generated array if from a DOM source).\\n\\t\\t *\\n\\t\\t * This method is often useful in-combination with $ where both functions are given the\\n\\t\\t * same parameters and the array indexes will match identically.\\n\\t\\t *  @param {string|node|jQuery} sSelector jQuery selector or node collection to act on\\n\\t\\t *  @param {object} [oOpts] Optional parameters for modifying the rows to be included\\n\\t\\t *  @param {string} [oOpts.filter=none] Select elements that meet the current filter\\n\\t\\t *    criterion (\\\"applied\\\") or all elements (i.e. no filter).\\n\\t\\t *  @param {string} [oOpts.order=current] Order of the data in the processed array.\\n\\t\\t *    Can be either 'current', whereby the current sorting of the table is used, or\\n\\t\\t *    'original' whereby the original order the data was read into the table is used.\\n\\t\\t *  @param {string} [oOpts.page=all] Limit the selection to the currently displayed page\\n\\t\\t *    (\\\"current\\\") or not (\\\"all\\\"). If 'current' is given, then order is assumed to be\\n\\t\\t *    'current' and filter is 'applied', regardless of what they might be given as.\\n\\t\\t *  @returns {array} Data for the matched elements. If any elements, as a result of the\\n\\t\\t *    selector, were not TR, TD or TH elements in the DataTable, they will have a null\\n\\t\\t *    entry in the array.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Get the data from the first row in the table\\n\\t\\t *      var data = oTable._('tr:first');\\n\\t\\t *\\n\\t\\t *      // Do something useful with the data\\n\\t\\t *      alert( \\\"First cell is: \\\"+data[0] );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Filter to 'Webkit' and get all data for\\n\\t\\t *      oTable.fnFilter('Webkit');\\n\\t\\t *      var data = oTable._('tr', {\\\"search\\\": \\\"applied\\\"});\\n\\t\\t *\\n\\t\\t *      // Do something with the data\\n\\t\\t *      alert( data.length+\\\" rows matched the search\\\" );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis._ = function ( sSelector, oOpts )\\n\\t\\t{\\n\\t\\t\\treturn this.api(true).rows( sSelector, oOpts ).data();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Create a DataTables Api instance, with the currently selected tables for\\n\\t\\t * the Api's context.\\n\\t\\t * @param {boolean} [traditional=false] Set the API instance's context to be\\n\\t\\t *   only the table referred to by the `DataTable.ext.iApiIndex` option, as was\\n\\t\\t *   used in the API presented by DataTables 1.9- (i.e. the traditional mode),\\n\\t\\t *   or if all tables captured in the jQuery object should be used.\\n\\t\\t * @return {DataTables.Api}\\n\\t\\t */\\n\\t\\tthis.api = function ( traditional )\\n\\t\\t{\\n\\t\\t\\treturn traditional ?\\n\\t\\t\\t\\tnew _Api(\\n\\t\\t\\t\\t\\t_fnSettingsFromNode( this[ _ext.iApiIndex ] )\\n\\t\\t\\t\\t) :\\n\\t\\t\\t\\tnew _Api( this );\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Add a single new row or multiple rows of data to the table. Please note\\n\\t\\t * that this is suitable for client-side processing only - if you are using\\n\\t\\t * server-side processing (i.e. \\\"bServerSide\\\": true), then to add data, you\\n\\t\\t * must add it to the data source, i.e. the server-side, through an Ajax call.\\n\\t\\t *  @param {array|object} data The data to be added to the table. This can be:\\n\\t\\t *    <ul>\\n\\t\\t *      <li>1D array of data - add a single row with the data provided</li>\\n\\t\\t *      <li>2D array of arrays - add multiple rows in a single call</li>\\n\\t\\t *      <li>object - data object when using <i>mData</i></li>\\n\\t\\t *      <li>array of objects - multiple data objects when using <i>mData</i></li>\\n\\t\\t *    </ul>\\n\\t\\t *  @param {bool} [redraw=true] redraw the table or not\\n\\t\\t *  @returns {array} An array of integers, representing the list of indexes in\\n\\t\\t *    <i>aoData</i> ({@link DataTable.models.oSettings}) that have been added to\\n\\t\\t *    the table.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Global var for counter\\n\\t\\t *    var giCount = 2;\\n\\t\\t *\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      $('#example').dataTable();\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *    function fnClickAddRow() {\\n\\t\\t *      $('#example').dataTable().fnAddData( [\\n\\t\\t *        giCount+\\\".1\\\",\\n\\t\\t *        giCount+\\\".2\\\",\\n\\t\\t *        giCount+\\\".3\\\",\\n\\t\\t *        giCount+\\\".4\\\" ]\\n\\t\\t *      );\\n\\t\\t *\\n\\t\\t *      giCount++;\\n\\t\\t *    }\\n\\t\\t */\\n\\t\\tthis.fnAddData = function( data, redraw )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\n\\t\\t\\t/* Check if we want to add multiple rows or not */\\n\\t\\t\\tvar rows = $.isArray(data) && ( $.isArray(data[0]) || $.isPlainObject(data[0]) ) ?\\n\\t\\t\\t\\tapi.rows.add( data ) :\\n\\t\\t\\t\\tapi.row.add( data );\\n\\t\\t\\n\\t\\t\\tif ( redraw === undefined || redraw ) {\\n\\t\\t\\t\\tapi.draw();\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\treturn rows.flatten().toArray();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * This function will make DataTables recalculate the column sizes, based on the data\\n\\t\\t * contained in the table and the sizes applied to the columns (in the DOM, CSS or\\n\\t\\t * through the sWidth parameter). This can be useful when the width of the table's\\n\\t\\t * parent element changes (for example a window resize).\\n\\t\\t *  @param {boolean} [bRedraw=true] Redraw the table or not, you will typically want to\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable( {\\n\\t\\t *        \\\"sScrollY\\\": \\\"200px\\\",\\n\\t\\t *        \\\"bPaginate\\\": false\\n\\t\\t *      } );\\n\\t\\t *\\n\\t\\t *      $(window).on('resize', function () {\\n\\t\\t *        oTable.fnAdjustColumnSizing();\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnAdjustColumnSizing = function ( bRedraw )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true ).columns.adjust();\\n\\t\\t\\tvar settings = api.settings()[0];\\n\\t\\t\\tvar scroll = settings.oScroll;\\n\\t\\t\\n\\t\\t\\tif ( bRedraw === undefined || bRedraw ) {\\n\\t\\t\\t\\tapi.draw( false );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( scroll.sX !== \\\"\\\" || scroll.sY !== \\\"\\\" ) {\\n\\t\\t\\t\\t/* If not redrawing, but scrolling, we want to apply the new column sizes anyway */\\n\\t\\t\\t\\t_fnScrollDraw( settings );\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Quickly and simply clear a table\\n\\t\\t *  @param {bool} [bRedraw=true] redraw the table or not\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Immediately 'nuke' the current rows (perhaps waiting for an Ajax callback...)\\n\\t\\t *      oTable.fnClearTable();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnClearTable = function( bRedraw )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true ).clear();\\n\\t\\t\\n\\t\\t\\tif ( bRedraw === undefined || bRedraw ) {\\n\\t\\t\\t\\tapi.draw();\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * The exact opposite of 'opening' a row, this function will close any rows which\\n\\t\\t * are currently 'open'.\\n\\t\\t *  @param {node} nTr the table row to 'close'\\n\\t\\t *  @returns {int} 0 on success, or 1 if failed (can't find the row)\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable;\\n\\t\\t *\\n\\t\\t *      // 'open' an information row when a row is clicked on\\n\\t\\t *      $('#example tbody tr').click( function () {\\n\\t\\t *        if ( oTable.fnIsOpen(this) ) {\\n\\t\\t *          oTable.fnClose( this );\\n\\t\\t *        } else {\\n\\t\\t *          oTable.fnOpen( this, \\\"Temporary row opened\\\", \\\"info_row\\\" );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *\\n\\t\\t *      oTable = $('#example').dataTable();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnClose = function( nTr )\\n\\t\\t{\\n\\t\\t\\tthis.api( true ).row( nTr ).child.hide();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Remove a row for the table\\n\\t\\t *  @param {mixed} target The index of the row from aoData to be deleted, or\\n\\t\\t *    the TR element you want to delete\\n\\t\\t *  @param {function|null} [callBack] Callback function\\n\\t\\t *  @param {bool} [redraw=true] Redraw the table or not\\n\\t\\t *  @returns {array} The row that was deleted\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Immediately remove the first row\\n\\t\\t *      oTable.fnDeleteRow( 0 );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnDeleteRow = function( target, callback, redraw )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\tvar rows = api.rows( target );\\n\\t\\t\\tvar settings = rows.settings()[0];\\n\\t\\t\\tvar data = settings.aoData[ rows[0][0] ];\\n\\t\\t\\n\\t\\t\\trows.remove();\\n\\t\\t\\n\\t\\t\\tif ( callback ) {\\n\\t\\t\\t\\tcallback.call( this, settings, data );\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\tif ( redraw === undefined || redraw ) {\\n\\t\\t\\t\\tapi.draw();\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\treturn data;\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Restore the table to it's original state in the DOM by removing all of DataTables\\n\\t\\t * enhancements, alterations to the DOM structure of the table and event listeners.\\n\\t\\t *  @param {boolean} [remove=false] Completely remove the table from the DOM\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      // This example is fairly pointless in reality, but shows how fnDestroy can be used\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *      oTable.fnDestroy();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnDestroy = function ( remove )\\n\\t\\t{\\n\\t\\t\\tthis.api( true ).destroy( remove );\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Redraw the table\\n\\t\\t *  @param {bool} [complete=true] Re-filter and resort (if enabled) the table before the draw.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Re-draw the table - you wouldn't want to do it here, but it's an example :-)\\n\\t\\t *      oTable.fnDraw();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnDraw = function( complete )\\n\\t\\t{\\n\\t\\t\\t// Note that this isn't an exact match to the old call to _fnDraw - it takes\\n\\t\\t\\t// into account the new data, but can hold position.\\n\\t\\t\\tthis.api( true ).draw( complete );\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Filter the input based on data\\n\\t\\t *  @param {string} sInput String to filter the table on\\n\\t\\t *  @param {int|null} [iColumn] Column to limit filtering to\\n\\t\\t *  @param {bool} [bRegex=false] Treat as regular expression or not\\n\\t\\t *  @param {bool} [bSmart=true] Perform smart filtering or not\\n\\t\\t *  @param {bool} [bShowGlobal=true] Show the input global filter in it's input box(es)\\n\\t\\t *  @param {bool} [bCaseInsensitive=true] Do case-insensitive matching (true) or not (false)\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Sometime later - filter...\\n\\t\\t *      oTable.fnFilter( 'test string' );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnFilter = function( sInput, iColumn, bRegex, bSmart, bShowGlobal, bCaseInsensitive )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\n\\t\\t\\tif ( iColumn === null || iColumn === undefined ) {\\n\\t\\t\\t\\tapi.search( sInput, bRegex, bSmart, bCaseInsensitive );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tapi.column( iColumn ).search( sInput, bRegex, bSmart, bCaseInsensitive );\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\tapi.draw();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Get the data for the whole table, an individual row or an individual cell based on the\\n\\t\\t * provided parameters.\\n\\t\\t *  @param {int|node} [src] A TR row node, TD/TH cell node or an integer. If given as\\n\\t\\t *    a TR node then the data source for the whole row will be returned. If given as a\\n\\t\\t *    TD/TH cell node then iCol will be automatically calculated and the data for the\\n\\t\\t *    cell returned. If given as an integer, then this is treated as the aoData internal\\n\\t\\t *    data index for the row (see fnGetPosition) and the data for that row used.\\n\\t\\t *  @param {int} [col] Optional column index that you want the data of.\\n\\t\\t *  @returns {array|object|string} If mRow is undefined, then the data for all rows is\\n\\t\\t *    returned. If mRow is defined, just data for that row, and is iCol is\\n\\t\\t *    defined, only data for the designated cell is returned.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Row data\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      oTable.$('tr').click( function () {\\n\\t\\t *        var data = oTable.fnGetData( this );\\n\\t\\t *        // ... do something with the array / object of data for the row\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Individual cell data\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      oTable.$('td').click( function () {\\n\\t\\t *        var sData = oTable.fnGetData( this );\\n\\t\\t *        alert( 'The cell clicked on had the value of '+sData );\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnGetData = function( src, col )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\n\\t\\t\\tif ( src !== undefined ) {\\n\\t\\t\\t\\tvar type = src.nodeName ? src.nodeName.toLowerCase() : '';\\n\\t\\t\\n\\t\\t\\t\\treturn col !== undefined || type == 'td' || type == 'th' ?\\n\\t\\t\\t\\t\\tapi.cell( src, col ).data() :\\n\\t\\t\\t\\t\\tapi.row( src ).data() || null;\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\treturn api.data().toArray();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Get an array of the TR nodes that are used in the table's body. Note that you will\\n\\t\\t * typically want to use the '$' API method in preference to this as it is more\\n\\t\\t * flexible.\\n\\t\\t *  @param {int} [iRow] Optional row index for the TR element you want\\n\\t\\t *  @returns {array|node} If iRow is undefined, returns an array of all TR elements\\n\\t\\t *    in the table's body, or iRow is defined, just the TR element requested.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Get the nodes from the table\\n\\t\\t *      var nNodes = oTable.fnGetNodes( );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnGetNodes = function( iRow )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\n\\t\\t\\treturn iRow !== undefined ?\\n\\t\\t\\t\\tapi.row( iRow ).node() :\\n\\t\\t\\t\\tapi.rows().nodes().flatten().toArray();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Get the array indexes of a particular cell from it's DOM element\\n\\t\\t * and column index including hidden columns\\n\\t\\t *  @param {node} node this can either be a TR, TD or TH in the table's body\\n\\t\\t *  @returns {int} If nNode is given as a TR, then a single index is returned, or\\n\\t\\t *    if given as a cell, an array of [row index, column index (visible),\\n\\t\\t *    column index (all)] is given.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      $('#example tbody td').click( function () {\\n\\t\\t *        // Get the position of the current data from the node\\n\\t\\t *        var aPos = oTable.fnGetPosition( this );\\n\\t\\t *\\n\\t\\t *        // Get the data array for this row\\n\\t\\t *        var aData = oTable.fnGetData( aPos[0] );\\n\\t\\t *\\n\\t\\t *        // Update the data array and return the value\\n\\t\\t *        aData[ aPos[1] ] = 'clicked';\\n\\t\\t *        this.innerHTML = 'clicked';\\n\\t\\t *      } );\\n\\t\\t *\\n\\t\\t *      // Init DataTables\\n\\t\\t *      oTable = $('#example').dataTable();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnGetPosition = function( node )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\tvar nodeName = node.nodeName.toUpperCase();\\n\\t\\t\\n\\t\\t\\tif ( nodeName == 'TR' ) {\\n\\t\\t\\t\\treturn api.row( node ).index();\\n\\t\\t\\t}\\n\\t\\t\\telse if ( nodeName == 'TD' || nodeName == 'TH' ) {\\n\\t\\t\\t\\tvar cell = api.cell( node ).index();\\n\\t\\t\\n\\t\\t\\t\\treturn [\\n\\t\\t\\t\\t\\tcell.row,\\n\\t\\t\\t\\t\\tcell.columnVisible,\\n\\t\\t\\t\\t\\tcell.column\\n\\t\\t\\t\\t];\\n\\t\\t\\t}\\n\\t\\t\\treturn null;\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Check to see if a row is 'open' or not.\\n\\t\\t *  @param {node} nTr the table row to check\\n\\t\\t *  @returns {boolean} true if the row is currently open, false otherwise\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable;\\n\\t\\t *\\n\\t\\t *      // 'open' an information row when a row is clicked on\\n\\t\\t *      $('#example tbody tr').click( function () {\\n\\t\\t *        if ( oTable.fnIsOpen(this) ) {\\n\\t\\t *          oTable.fnClose( this );\\n\\t\\t *        } else {\\n\\t\\t *          oTable.fnOpen( this, \\\"Temporary row opened\\\", \\\"info_row\\\" );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *\\n\\t\\t *      oTable = $('#example').dataTable();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnIsOpen = function( nTr )\\n\\t\\t{\\n\\t\\t\\treturn this.api( true ).row( nTr ).child.isShown();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * This function will place a new row directly after a row which is currently\\n\\t\\t * on display on the page, with the HTML contents that is passed into the\\n\\t\\t * function. This can be used, for example, to ask for confirmation that a\\n\\t\\t * particular record should be deleted.\\n\\t\\t *  @param {node} nTr The table row to 'open'\\n\\t\\t *  @param {string|node|jQuery} mHtml The HTML to put into the row\\n\\t\\t *  @param {string} sClass Class to give the new TD cell\\n\\t\\t *  @returns {node} The row opened. Note that if the table row passed in as the\\n\\t\\t *    first parameter, is not found in the table, this method will silently\\n\\t\\t *    return.\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable;\\n\\t\\t *\\n\\t\\t *      // 'open' an information row when a row is clicked on\\n\\t\\t *      $('#example tbody tr').click( function () {\\n\\t\\t *        if ( oTable.fnIsOpen(this) ) {\\n\\t\\t *          oTable.fnClose( this );\\n\\t\\t *        } else {\\n\\t\\t *          oTable.fnOpen( this, \\\"Temporary row opened\\\", \\\"info_row\\\" );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *\\n\\t\\t *      oTable = $('#example').dataTable();\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnOpen = function( nTr, mHtml, sClass )\\n\\t\\t{\\n\\t\\t\\treturn this.api( true )\\n\\t\\t\\t\\t.row( nTr )\\n\\t\\t\\t\\t.child( mHtml, sClass )\\n\\t\\t\\t\\t.show()\\n\\t\\t\\t\\t.child()[0];\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Change the pagination - provides the internal logic for pagination in a simple API\\n\\t\\t * function. With this function you can have a DataTables table go to the next,\\n\\t\\t * previous, first or last pages.\\n\\t\\t *  @param {string|int} mAction Paging action to take: \\\"first\\\", \\\"previous\\\", \\\"next\\\" or \\\"last\\\"\\n\\t\\t *    or page number to jump to (integer), note that page 0 is the first page.\\n\\t\\t *  @param {bool} [bRedraw=true] Redraw the table or not\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *      oTable.fnPageChange( 'next' );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnPageChange = function ( mAction, bRedraw )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true ).page( mAction );\\n\\t\\t\\n\\t\\t\\tif ( bRedraw === undefined || bRedraw ) {\\n\\t\\t\\t\\tapi.draw(false);\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Show a particular column\\n\\t\\t *  @param {int} iCol The column whose display should be changed\\n\\t\\t *  @param {bool} bShow Show (true) or hide (false) the column\\n\\t\\t *  @param {bool} [bRedraw=true] Redraw the table or not\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Hide the second column after initialisation\\n\\t\\t *      oTable.fnSetColumnVis( 1, false );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnSetColumnVis = function ( iCol, bShow, bRedraw )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true ).column( iCol ).visible( bShow );\\n\\t\\t\\n\\t\\t\\tif ( bRedraw === undefined || bRedraw ) {\\n\\t\\t\\t\\tapi.columns.adjust().draw();\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Get the settings for a particular table for external manipulation\\n\\t\\t *  @returns {object} DataTables settings object. See\\n\\t\\t *    {@link DataTable.models.oSettings}\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *      var oSettings = oTable.fnSettings();\\n\\t\\t *\\n\\t\\t *      // Show an example parameter from the settings\\n\\t\\t *      alert( oSettings._iDisplayStart );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnSettings = function()\\n\\t\\t{\\n\\t\\t\\treturn _fnSettingsFromNode( this[_ext.iApiIndex] );\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Sort the table by a particular column\\n\\t\\t *  @param {int} iCol the data index to sort on. Note that this will not match the\\n\\t\\t *    'display index' if you have hidden data entries\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Sort immediately with columns 0 and 1\\n\\t\\t *      oTable.fnSort( [ [0,'asc'], [1,'asc'] ] );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnSort = function( aaSort )\\n\\t\\t{\\n\\t\\t\\tthis.api( true ).order( aaSort ).draw();\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Attach a sort listener to an element for a given column\\n\\t\\t *  @param {node} nNode the element to attach the sort listener to\\n\\t\\t *  @param {int} iColumn the column that a click on this node will sort on\\n\\t\\t *  @param {function} [fnCallback] callback function when sort is run\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *\\n\\t\\t *      // Sort on column 1, when 'sorter' is clicked on\\n\\t\\t *      oTable.fnSortListener( document.getElementById('sorter'), 1 );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnSortListener = function( nNode, iColumn, fnCallback )\\n\\t\\t{\\n\\t\\t\\tthis.api( true ).order.listener( nNode, iColumn, fnCallback );\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Update a table cell or row - this method will accept either a single value to\\n\\t\\t * update the cell with, an array of values with one element for each column or\\n\\t\\t * an object in the same format as the original data source. The function is\\n\\t\\t * self-referencing in order to make the multi column updates easier.\\n\\t\\t *  @param {object|array|string} mData Data to update the cell/row with\\n\\t\\t *  @param {node|int} mRow TR element you want to update or the aoData index\\n\\t\\t *  @param {int} [iColumn] The column to update, give as null or undefined to\\n\\t\\t *    update a whole row.\\n\\t\\t *  @param {bool} [bRedraw=true] Redraw the table or not\\n\\t\\t *  @param {bool} [bAction=true] Perform pre-draw actions or not\\n\\t\\t *  @returns {int} 0 on success, 1 on error\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *      oTable.fnUpdate( 'Example update', 0, 0 ); // Single cell\\n\\t\\t *      oTable.fnUpdate( ['a', 'b', 'c', 'd', 'e'], $('tbody tr')[0] ); // Row\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnUpdate = function( mData, mRow, iColumn, bRedraw, bAction )\\n\\t\\t{\\n\\t\\t\\tvar api = this.api( true );\\n\\t\\t\\n\\t\\t\\tif ( iColumn === undefined || iColumn === null ) {\\n\\t\\t\\t\\tapi.row( mRow ).data( mData );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tapi.cell( mRow, iColumn ).data( mData );\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\tif ( bAction === undefined || bAction ) {\\n\\t\\t\\t\\tapi.columns.adjust();\\n\\t\\t\\t}\\n\\t\\t\\n\\t\\t\\tif ( bRedraw === undefined || bRedraw ) {\\n\\t\\t\\t\\tapi.draw();\\n\\t\\t\\t}\\n\\t\\t\\treturn 0;\\n\\t\\t};\\n\\t\\t\\n\\t\\t\\n\\t\\t/**\\n\\t\\t * Provide a common method for plug-ins to check the version of DataTables being used, in order\\n\\t\\t * to ensure compatibility.\\n\\t\\t *  @param {string} sVersion Version string to check for, in the format \\\"X.Y.Z\\\". Note that the\\n\\t\\t *    formats \\\"X\\\" and \\\"X.Y\\\" are also acceptable.\\n\\t\\t *  @returns {boolean} true if this version of DataTables is greater or equal to the required\\n\\t\\t *    version, or false if this version of DataTales is not suitable\\n\\t\\t *  @method\\n\\t\\t *  @dtopt API\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready(function() {\\n\\t\\t *      var oTable = $('#example').dataTable();\\n\\t\\t *      alert( oTable.fnVersionCheck( '1.9.0' ) );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tthis.fnVersionCheck = _ext.fnVersionCheck;\\n\\t\\t\\n\\n\\t\\tvar _that = this;\\n\\t\\tvar emptyInit = options === undefined;\\n\\t\\tvar len = this.length;\\n\\n\\t\\tif ( emptyInit ) {\\n\\t\\t\\toptions = {};\\n\\t\\t}\\n\\n\\t\\tthis.oApi = this.internal = _ext.internal;\\n\\n\\t\\t// Extend with old style plug-in API methods\\n\\t\\tfor ( var fn in DataTable.ext.internal ) {\\n\\t\\t\\tif ( fn ) {\\n\\t\\t\\t\\tthis[fn] = _fnExternApiFunc(fn);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tthis.each(function() {\\n\\t\\t\\t// For each initialisation we want to give it a clean initialisation\\n\\t\\t\\t// object that can be bashed around\\n\\t\\t\\tvar o = {};\\n\\t\\t\\tvar oInit = len > 1 ? // optimisation for single table case\\n\\t\\t\\t\\t_fnExtend( o, options, true ) :\\n\\t\\t\\t\\toptions;\\n\\n\\t\\t\\t/*global oInit,_that,emptyInit*/\\n\\t\\t\\tvar i=0, iLen, j, jLen, k, kLen;\\n\\t\\t\\tvar sId = this.getAttribute( 'id' );\\n\\t\\t\\tvar bInitHandedOff = false;\\n\\t\\t\\tvar defaults = DataTable.defaults;\\n\\t\\t\\tvar $this = $(this);\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t/* Sanity check */\\n\\t\\t\\tif ( this.nodeName.toLowerCase() != 'table' )\\n\\t\\t\\t{\\n\\t\\t\\t\\t_fnLog( null, 0, 'Non-table node initialisation ('+this.nodeName+')', 2 );\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Backwards compatibility for the defaults */\\n\\t\\t\\t_fnCompatOpts( defaults );\\n\\t\\t\\t_fnCompatCols( defaults.column );\\n\\t\\t\\t\\n\\t\\t\\t/* Convert the camel-case defaults to Hungarian */\\n\\t\\t\\t_fnCamelToHungarian( defaults, defaults, true );\\n\\t\\t\\t_fnCamelToHungarian( defaults.column, defaults.column, true );\\n\\t\\t\\t\\n\\t\\t\\t/* Setting up the initialisation object */\\n\\t\\t\\t_fnCamelToHungarian( defaults, $.extend( oInit, $this.data() ) );\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t/* Check to see if we are re-initialising a table */\\n\\t\\t\\tvar allSettings = DataTable.settings;\\n\\t\\t\\tfor ( i=0, iLen=allSettings.length ; i<iLen ; i++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tvar s = allSettings[i];\\n\\t\\t\\t\\n\\t\\t\\t\\t/* Base check on table node */\\n\\t\\t\\t\\tif (\\n\\t\\t\\t\\t\\ts.nTable == this ||\\n\\t\\t\\t\\t\\t(s.nTHead && s.nTHead.parentNode == this) ||\\n\\t\\t\\t\\t\\t(s.nTFoot && s.nTFoot.parentNode == this)\\n\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\tvar bRetrieve = oInit.bRetrieve !== undefined ? oInit.bRetrieve : defaults.bRetrieve;\\n\\t\\t\\t\\t\\tvar bDestroy = oInit.bDestroy !== undefined ? oInit.bDestroy : defaults.bDestroy;\\n\\t\\t\\t\\n\\t\\t\\t\\t\\tif ( emptyInit || bRetrieve )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\treturn s.oInstance;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( bDestroy )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\ts.oInstance.fnDestroy();\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t_fnLog( s, 0, 'Cannot reinitialise DataTable', 3 );\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t\\t/* If the element we are initialising has the same ID as a table which was previously\\n\\t\\t\\t\\t * initialised, but the table nodes don't match (from before) then we destroy the old\\n\\t\\t\\t\\t * instance by simply deleting it. This is under the assumption that the table has been\\n\\t\\t\\t\\t * destroyed by other methods. Anyone using non-id selectors will need to do this manually\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\tif ( s.sTableId == this.id )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tallSettings.splice( i, 1 );\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Ensure the table has an ID - required for accessibility */\\n\\t\\t\\tif ( sId === null || sId === \\\"\\\" )\\n\\t\\t\\t{\\n\\t\\t\\t\\tsId = \\\"DataTables_Table_\\\"+(DataTable.ext._unique++);\\n\\t\\t\\t\\tthis.id = sId;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Create the settings object for this table and set some of the default parameters */\\n\\t\\t\\tvar oSettings = $.extend( true, {}, DataTable.models.oSettings, {\\n\\t\\t\\t\\t\\\"sDestroyWidth\\\": $this[0].style.width,\\n\\t\\t\\t\\t\\\"sInstance\\\":     sId,\\n\\t\\t\\t\\t\\\"sTableId\\\":      sId\\n\\t\\t\\t} );\\n\\t\\t\\toSettings.nTable = this;\\n\\t\\t\\toSettings.oApi   = _that.internal;\\n\\t\\t\\toSettings.oInit  = oInit;\\n\\t\\t\\t\\n\\t\\t\\tallSettings.push( oSettings );\\n\\t\\t\\t\\n\\t\\t\\t// Need to add the instance after the instance after the settings object has been added\\n\\t\\t\\t// to the settings array, so we can self reference the table instance if more than one\\n\\t\\t\\toSettings.oInstance = (_that.length===1) ? _that : $this.dataTable();\\n\\t\\t\\t\\n\\t\\t\\t// Backwards compatibility, before we apply all the defaults\\n\\t\\t\\t_fnCompatOpts( oInit );\\n\\t\\t\\t_fnLanguageCompat( oInit.oLanguage );\\n\\t\\t\\t\\n\\t\\t\\t// If the length menu is given, but the init display length is not, use the length menu\\n\\t\\t\\tif ( oInit.aLengthMenu && ! oInit.iDisplayLength )\\n\\t\\t\\t{\\n\\t\\t\\t\\toInit.iDisplayLength = $.isArray( oInit.aLengthMenu[0] ) ?\\n\\t\\t\\t\\t\\toInit.aLengthMenu[0][0] : oInit.aLengthMenu[0];\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t// Apply the defaults and init options to make a single init object will all\\n\\t\\t\\t// options defined from defaults and instance options.\\n\\t\\t\\toInit = _fnExtend( $.extend( true, {}, defaults ), oInit );\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t// Map the initialisation options onto the settings object\\n\\t\\t\\t_fnMap( oSettings.oFeatures, oInit, [\\n\\t\\t\\t\\t\\\"bPaginate\\\",\\n\\t\\t\\t\\t\\\"bLengthChange\\\",\\n\\t\\t\\t\\t\\\"bFilter\\\",\\n\\t\\t\\t\\t\\\"bSort\\\",\\n\\t\\t\\t\\t\\\"bSortMulti\\\",\\n\\t\\t\\t\\t\\\"bInfo\\\",\\n\\t\\t\\t\\t\\\"bProcessing\\\",\\n\\t\\t\\t\\t\\\"bAutoWidth\\\",\\n\\t\\t\\t\\t\\\"bSortClasses\\\",\\n\\t\\t\\t\\t\\\"bServerSide\\\",\\n\\t\\t\\t\\t\\\"bDeferRender\\\"\\n\\t\\t\\t] );\\n\\t\\t\\t_fnMap( oSettings, oInit, [\\n\\t\\t\\t\\t\\\"asStripeClasses\\\",\\n\\t\\t\\t\\t\\\"ajax\\\",\\n\\t\\t\\t\\t\\\"fnServerData\\\",\\n\\t\\t\\t\\t\\\"fnFormatNumber\\\",\\n\\t\\t\\t\\t\\\"sServerMethod\\\",\\n\\t\\t\\t\\t\\\"aaSorting\\\",\\n\\t\\t\\t\\t\\\"aaSortingFixed\\\",\\n\\t\\t\\t\\t\\\"aLengthMenu\\\",\\n\\t\\t\\t\\t\\\"sPaginationType\\\",\\n\\t\\t\\t\\t\\\"sAjaxSource\\\",\\n\\t\\t\\t\\t\\\"sAjaxDataProp\\\",\\n\\t\\t\\t\\t\\\"iStateDuration\\\",\\n\\t\\t\\t\\t\\\"sDom\\\",\\n\\t\\t\\t\\t\\\"bSortCellsTop\\\",\\n\\t\\t\\t\\t\\\"iTabIndex\\\",\\n\\t\\t\\t\\t\\\"fnStateLoadCallback\\\",\\n\\t\\t\\t\\t\\\"fnStateSaveCallback\\\",\\n\\t\\t\\t\\t\\\"renderer\\\",\\n\\t\\t\\t\\t\\\"searchDelay\\\",\\n\\t\\t\\t\\t\\\"rowId\\\",\\n\\t\\t\\t\\t[ \\\"iCookieDuration\\\", \\\"iStateDuration\\\" ], // backwards compat\\n\\t\\t\\t\\t[ \\\"oSearch\\\", \\\"oPreviousSearch\\\" ],\\n\\t\\t\\t\\t[ \\\"aoSearchCols\\\", \\\"aoPreSearchCols\\\" ],\\n\\t\\t\\t\\t[ \\\"iDisplayLength\\\", \\\"_iDisplayLength\\\" ]\\n\\t\\t\\t] );\\n\\t\\t\\t_fnMap( oSettings.oScroll, oInit, [\\n\\t\\t\\t\\t[ \\\"sScrollX\\\", \\\"sX\\\" ],\\n\\t\\t\\t\\t[ \\\"sScrollXInner\\\", \\\"sXInner\\\" ],\\n\\t\\t\\t\\t[ \\\"sScrollY\\\", \\\"sY\\\" ],\\n\\t\\t\\t\\t[ \\\"bScrollCollapse\\\", \\\"bCollapse\\\" ]\\n\\t\\t\\t] );\\n\\t\\t\\t_fnMap( oSettings.oLanguage, oInit, \\\"fnInfoCallback\\\" );\\n\\t\\t\\t\\n\\t\\t\\t/* Callback functions which are array driven */\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoDrawCallback',       oInit.fnDrawCallback,      'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoServerParams',       oInit.fnServerParams,      'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoStateSaveParams',    oInit.fnStateSaveParams,   'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoStateLoadParams',    oInit.fnStateLoadParams,   'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoStateLoaded',        oInit.fnStateLoaded,       'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoRowCallback',        oInit.fnRowCallback,       'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoRowCreatedCallback', oInit.fnCreatedRow,        'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoHeaderCallback',     oInit.fnHeaderCallback,    'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoFooterCallback',     oInit.fnFooterCallback,    'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoInitComplete',       oInit.fnInitComplete,      'user' );\\n\\t\\t\\t_fnCallbackReg( oSettings, 'aoPreDrawCallback',    oInit.fnPreDrawCallback,   'user' );\\n\\t\\t\\t\\n\\t\\t\\toSettings.rowIdFn = _fnGetObjectDataFn( oInit.rowId );\\n\\t\\t\\t\\n\\t\\t\\t/* Browser support detection */\\n\\t\\t\\t_fnBrowserDetect( oSettings );\\n\\t\\t\\t\\n\\t\\t\\tvar oClasses = oSettings.oClasses;\\n\\t\\t\\t\\n\\t\\t\\t$.extend( oClasses, DataTable.ext.classes, oInit.oClasses );\\n\\t\\t\\t$this.addClass( oClasses.sTable );\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\tif ( oSettings.iInitDisplayStart === undefined )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Display start point, taking into account the save saving */\\n\\t\\t\\t\\toSettings.iInitDisplayStart = oInit.iDisplayStart;\\n\\t\\t\\t\\toSettings._iDisplayStart = oInit.iDisplayStart;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\tif ( oInit.iDeferLoading !== null )\\n\\t\\t\\t{\\n\\t\\t\\t\\toSettings.bDeferLoading = true;\\n\\t\\t\\t\\tvar tmp = $.isArray( oInit.iDeferLoading );\\n\\t\\t\\t\\toSettings._iRecordsDisplay = tmp ? oInit.iDeferLoading[0] : oInit.iDeferLoading;\\n\\t\\t\\t\\toSettings._iRecordsTotal = tmp ? oInit.iDeferLoading[1] : oInit.iDeferLoading;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Language definitions */\\n\\t\\t\\tvar oLanguage = oSettings.oLanguage;\\n\\t\\t\\t$.extend( true, oLanguage, oInit.oLanguage );\\n\\t\\t\\t\\n\\t\\t\\tif ( oLanguage.sUrl )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Get the language definitions from a file - because this Ajax call makes the language\\n\\t\\t\\t\\t * get async to the remainder of this function we use bInitHandedOff to indicate that\\n\\t\\t\\t\\t * _fnInitialise will be fired by the returned Ajax handler, rather than the constructor\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t$.ajax( {\\n\\t\\t\\t\\t\\tdataType: 'json',\\n\\t\\t\\t\\t\\turl: oLanguage.sUrl,\\n\\t\\t\\t\\t\\tsuccess: function ( json ) {\\n\\t\\t\\t\\t\\t\\t_fnLanguageCompat( json );\\n\\t\\t\\t\\t\\t\\t_fnCamelToHungarian( defaults.oLanguage, json );\\n\\t\\t\\t\\t\\t\\t$.extend( true, oLanguage, json );\\n\\t\\t\\t\\t\\t\\t_fnInitialise( oSettings );\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\terror: function () {\\n\\t\\t\\t\\t\\t\\t// Error occurred loading language file, continue on as best we can\\n\\t\\t\\t\\t\\t\\t_fnInitialise( oSettings );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t\\tbInitHandedOff = true;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/*\\n\\t\\t\\t * Stripes\\n\\t\\t\\t */\\n\\t\\t\\tif ( oInit.asStripeClasses === null )\\n\\t\\t\\t{\\n\\t\\t\\t\\toSettings.asStripeClasses =[\\n\\t\\t\\t\\t\\toClasses.sStripeOdd,\\n\\t\\t\\t\\t\\toClasses.sStripeEven\\n\\t\\t\\t\\t];\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Remove row stripe classes if they are already on the table row */\\n\\t\\t\\tvar stripeClasses = oSettings.asStripeClasses;\\n\\t\\t\\tvar rowOne = $this.children('tbody').find('tr').eq(0);\\n\\t\\t\\tif ( $.inArray( true, $.map( stripeClasses, function(el, i) {\\n\\t\\t\\t\\treturn rowOne.hasClass(el);\\n\\t\\t\\t} ) ) !== -1 ) {\\n\\t\\t\\t\\t$('tbody tr', this).removeClass( stripeClasses.join(' ') );\\n\\t\\t\\t\\toSettings.asDestroyStripes = stripeClasses.slice();\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/*\\n\\t\\t\\t * Columns\\n\\t\\t\\t * See if we should load columns automatically or use defined ones\\n\\t\\t\\t */\\n\\t\\t\\tvar anThs = [];\\n\\t\\t\\tvar aoColumnsInit;\\n\\t\\t\\tvar nThead = this.getElementsByTagName('thead');\\n\\t\\t\\tif ( nThead.length !== 0 )\\n\\t\\t\\t{\\n\\t\\t\\t\\t_fnDetectHeader( oSettings.aoHeader, nThead[0] );\\n\\t\\t\\t\\tanThs = _fnGetUniqueThs( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* If not given a column array, generate one with nulls */\\n\\t\\t\\tif ( oInit.aoColumns === null )\\n\\t\\t\\t{\\n\\t\\t\\t\\taoColumnsInit = [];\\n\\t\\t\\t\\tfor ( i=0, iLen=anThs.length ; i<iLen ; i++ )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\taoColumnsInit.push( null );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse\\n\\t\\t\\t{\\n\\t\\t\\t\\taoColumnsInit = oInit.aoColumns;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Add the columns */\\n\\t\\t\\tfor ( i=0, iLen=aoColumnsInit.length ; i<iLen ; i++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\t_fnAddColumn( oSettings, anThs ? anThs[i] : null );\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t/* Apply the column definitions */\\n\\t\\t\\t_fnApplyColumnDefs( oSettings, oInit.aoColumnDefs, aoColumnsInit, function (iCol, oDef) {\\n\\t\\t\\t\\t_fnColumnOptions( oSettings, iCol, oDef );\\n\\t\\t\\t} );\\n\\t\\t\\t\\n\\t\\t\\t/* HTML5 attribute detection - build an mData object automatically if the\\n\\t\\t\\t * attributes are found\\n\\t\\t\\t */\\n\\t\\t\\tif ( rowOne.length ) {\\n\\t\\t\\t\\tvar a = function ( cell, name ) {\\n\\t\\t\\t\\t\\treturn cell.getAttribute( 'data-'+name ) !== null ? name : null;\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\n\\t\\t\\t\\t$( rowOne[0] ).children('th, td').each( function (i, cell) {\\n\\t\\t\\t\\t\\tvar col = oSettings.aoColumns[i];\\n\\t\\t\\t\\n\\t\\t\\t\\t\\tif ( col.mData === i ) {\\n\\t\\t\\t\\t\\t\\tvar sort = a( cell, 'sort' ) || a( cell, 'order' );\\n\\t\\t\\t\\t\\t\\tvar filter = a( cell, 'filter' ) || a( cell, 'search' );\\n\\t\\t\\t\\n\\t\\t\\t\\t\\t\\tif ( sort !== null || filter !== null ) {\\n\\t\\t\\t\\t\\t\\t\\tcol.mData = {\\n\\t\\t\\t\\t\\t\\t\\t\\t_:      i+'.display',\\n\\t\\t\\t\\t\\t\\t\\t\\tsort:   sort !== null   ? i+'.@data-'+sort   : undefined,\\n\\t\\t\\t\\t\\t\\t\\t\\ttype:   sort !== null   ? i+'.@data-'+sort   : undefined,\\n\\t\\t\\t\\t\\t\\t\\t\\tfilter: filter !== null ? i+'.@data-'+filter : undefined\\n\\t\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t_fnColumnOptions( oSettings, i );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\tvar features = oSettings.oFeatures;\\n\\t\\t\\tvar loadedInit = function () {\\n\\t\\t\\t\\t/*\\n\\t\\t\\t\\t * Sorting\\n\\t\\t\\t\\t * @todo For modularisation (1.11) this needs to do into a sort start up handler\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\n\\t\\t\\t\\t// If aaSorting is not defined, then we use the first indicator in asSorting\\n\\t\\t\\t\\t// in case that has been altered, so the default sort reflects that option\\n\\t\\t\\t\\tif ( oInit.aaSorting === undefined ) {\\n\\t\\t\\t\\t\\tvar sorting = oSettings.aaSorting;\\n\\t\\t\\t\\t\\tfor ( i=0, iLen=sorting.length ; i<iLen ; i++ ) {\\n\\t\\t\\t\\t\\t\\tsorting[i][1] = oSettings.aoColumns[ i ].asSorting[0];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t\\t/* Do a first pass on the sorting classes (allows any size changes to be taken into\\n\\t\\t\\t\\t * account, and also will apply sorting disabled classes if disabled\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t_fnSortingClasses( oSettings );\\n\\t\\t\\t\\n\\t\\t\\t\\tif ( features.bSort ) {\\n\\t\\t\\t\\t\\t_fnCallbackReg( oSettings, 'aoDrawCallback', function () {\\n\\t\\t\\t\\t\\t\\tif ( oSettings.bSorted ) {\\n\\t\\t\\t\\t\\t\\t\\tvar aSort = _fnSortFlatten( oSettings );\\n\\t\\t\\t\\t\\t\\t\\tvar sortedColumns = {};\\n\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t$.each( aSort, function (i, val) {\\n\\t\\t\\t\\t\\t\\t\\t\\tsortedColumns[ val.src ] = val.dir;\\n\\t\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\n\\t\\t\\t\\t\\t\\t\\t_fnCallbackFire( oSettings, null, 'order', [oSettings, aSort, sortedColumns] );\\n\\t\\t\\t\\t\\t\\t\\t_fnSortAria( oSettings );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t\\t_fnCallbackReg( oSettings, 'aoDrawCallback', function () {\\n\\t\\t\\t\\t\\tif ( oSettings.bSorted || _fnDataSource( oSettings ) === 'ssp' || features.bDeferRender ) {\\n\\t\\t\\t\\t\\t\\t_fnSortingClasses( oSettings );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}, 'sc' );\\n\\t\\t\\t\\n\\t\\t\\t\\n\\t\\t\\t\\t/*\\n\\t\\t\\t\\t * Final init\\n\\t\\t\\t\\t * Cache the header, body and footer as required, creating them if needed\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\n\\t\\t\\t\\t// Work around for Webkit bug 83867 - store the caption-side before removing from doc\\n\\t\\t\\t\\tvar captions = $this.children('caption').each( function () {\\n\\t\\t\\t\\t\\tthis._captionSide = $(this).css('caption-side');\\n\\t\\t\\t\\t} );\\n\\t\\t\\t\\n\\t\\t\\t\\tvar thead = $this.children('thead');\\n\\t\\t\\t\\tif ( thead.length === 0 ) {\\n\\t\\t\\t\\t\\tthead = $('<thead/>').appendTo($this);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\toSettings.nTHead = thead[0];\\n\\t\\t\\t\\n\\t\\t\\t\\tvar tbody = $this.children('tbody');\\n\\t\\t\\t\\tif ( tbody.length === 0 ) {\\n\\t\\t\\t\\t\\ttbody = $('<tbody/>').appendTo($this);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\toSettings.nTBody = tbody[0];\\n\\t\\t\\t\\n\\t\\t\\t\\tvar tfoot = $this.children('tfoot');\\n\\t\\t\\t\\tif ( tfoot.length === 0 && captions.length > 0 && (oSettings.oScroll.sX !== \\\"\\\" || oSettings.oScroll.sY !== \\\"\\\") ) {\\n\\t\\t\\t\\t\\t// If we are a scrolling table, and no footer has been given, then we need to create\\n\\t\\t\\t\\t\\t// a tfoot element for the caption element to be appended to\\n\\t\\t\\t\\t\\ttfoot = $('<tfoot/>').appendTo($this);\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t\\tif ( tfoot.length === 0 || tfoot.children().length === 0 ) {\\n\\t\\t\\t\\t\\t$this.addClass( oClasses.sNoFooter );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( tfoot.length > 0 ) {\\n\\t\\t\\t\\t\\toSettings.nTFoot = tfoot[0];\\n\\t\\t\\t\\t\\t_fnDetectHeader( oSettings.aoFooter, oSettings.nTFoot );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t\\t/* Check if there is data passing into the constructor */\\n\\t\\t\\t\\tif ( oInit.aaData ) {\\n\\t\\t\\t\\t\\tfor ( i=0 ; i<oInit.aaData.length ; i++ ) {\\n\\t\\t\\t\\t\\t\\t_fnAddData( oSettings, oInit.aaData[ i ] );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( oSettings.bDeferLoading || _fnDataSource( oSettings ) == 'dom' ) {\\n\\t\\t\\t\\t\\t/* Grab the data from the page - only do this when deferred loading or no Ajax\\n\\t\\t\\t\\t\\t * source since there is no point in reading the DOM data if we are then going\\n\\t\\t\\t\\t\\t * to replace it with Ajax data\\n\\t\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\t_fnAddTr( oSettings, $(oSettings.nTBody).children('tr') );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t\\t/* Copy the data index array */\\n\\t\\t\\t\\toSettings.aiDisplay = oSettings.aiDisplayMaster.slice();\\n\\t\\t\\t\\n\\t\\t\\t\\t/* Initialisation complete - table can be drawn */\\n\\t\\t\\t\\toSettings.bInitialised = true;\\n\\t\\t\\t\\n\\t\\t\\t\\t/* Check if we need to initialise the table (it might not have been handed off to the\\n\\t\\t\\t\\t * language processor)\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\tif ( bInitHandedOff === false ) {\\n\\t\\t\\t\\t\\t_fnInitialise( oSettings );\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t\\t\\n\\t\\t\\t/* Must be done after everything which can be overridden by the state saving! */\\n\\t\\t\\tif ( oInit.bStateSave )\\n\\t\\t\\t{\\n\\t\\t\\t\\tfeatures.bStateSave = true;\\n\\t\\t\\t\\t_fnCallbackReg( oSettings, 'aoDrawCallback', _fnSaveState, 'state_save' );\\n\\t\\t\\t\\t_fnLoadState( oSettings, oInit, loadedInit );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tloadedInit();\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t} );\\n\\t\\t_that = null;\\n\\t\\treturn this;\\n\\t};\\n\\n\\t\\n\\t/*\\n\\t * It is useful to have variables which are scoped locally so only the\\n\\t * DataTables functions can access them and they don't leak into global space.\\n\\t * At the same time these functions are often useful over multiple files in the\\n\\t * core and API, so we list, or at least document, all variables which are used\\n\\t * by DataTables as private variables here. This also ensures that there is no\\n\\t * clashing of variable names and that they can easily referenced for reuse.\\n\\t */\\n\\t\\n\\t\\n\\t// Defined else where\\n\\t//  _selector_run\\n\\t//  _selector_opts\\n\\t//  _selector_first\\n\\t//  _selector_row_indexes\\n\\t\\n\\tvar _ext; // DataTable.ext\\n\\tvar _Api; // DataTable.Api\\n\\tvar _api_register; // DataTable.Api.register\\n\\tvar _api_registerPlural; // DataTable.Api.registerPlural\\n\\t\\n\\tvar _re_dic = {};\\n\\tvar _re_new_lines = /[\\\\r\\\\n]/g;\\n\\tvar _re_html = /<.*?>/g;\\n\\t\\n\\t// This is not strict ISO8601 - Date.parse() is quite lax, although\\n\\t// implementations differ between browsers.\\n\\tvar _re_date = /^\\\\d{2,4}[\\\\.\\\\/\\\\-]\\\\d{1,2}[\\\\.\\\\/\\\\-]\\\\d{1,2}([T ]{1}\\\\d{1,2}[:\\\\.]\\\\d{2}([\\\\.:]\\\\d{2})?)?$/;\\n\\t\\n\\t// Escape regular expression special characters\\n\\tvar _re_escape_regex = new RegExp( '(\\\\\\\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\\\\\\\', '$', '^', '-' ].join('|\\\\\\\\') + ')', 'g' );\\n\\t\\n\\t// http://en.wikipedia.org/wiki/Foreign_exchange_market\\n\\t// - \\\\u20BD - Russian ruble.\\n\\t// - \\\\u20a9 - South Korean Won\\n\\t// - \\\\u20BA - Turkish Lira\\n\\t// - \\\\u20B9 - Indian Rupee\\n\\t// - R - Brazil (R$) and South Africa\\n\\t// - fr - Swiss Franc\\n\\t// - kr - Swedish krona, Norwegian krone and Danish krone\\n\\t// - \\\\u2009 is thin space and \\\\u202F is narrow no-break space, both used in many\\n\\t// - Ƀ - Bitcoin\\n\\t// - Ξ - Ethereum\\n\\t//   standards as thousands separators.\\n\\tvar _re_formatted_numeric = /[',$£€¥%\\\\u2009\\\\u202F\\\\u20BD\\\\u20a9\\\\u20BArfkɃΞ]/gi;\\n\\t\\n\\t\\n\\tvar _empty = function ( d ) {\\n\\t\\treturn !d || d === true || d === '-' ? true : false;\\n\\t};\\n\\t\\n\\t\\n\\tvar _intVal = function ( s ) {\\n\\t\\tvar integer = parseInt( s, 10 );\\n\\t\\treturn !isNaN(integer) && isFinite(s) ? integer : null;\\n\\t};\\n\\t\\n\\t// Convert from a formatted number with characters other than `.` as the\\n\\t// decimal place, to a Javascript number\\n\\tvar _numToDecimal = function ( num, decimalPoint ) {\\n\\t\\t// Cache created regular expressions for speed as this function is called often\\n\\t\\tif ( ! _re_dic[ decimalPoint ] ) {\\n\\t\\t\\t_re_dic[ decimalPoint ] = new RegExp( _fnEscapeRegex( decimalPoint ), 'g' );\\n\\t\\t}\\n\\t\\treturn typeof num === 'string' && decimalPoint !== '.' ?\\n\\t\\t\\tnum.replace( /\\\\./g, '' ).replace( _re_dic[ decimalPoint ], '.' ) :\\n\\t\\t\\tnum;\\n\\t};\\n\\t\\n\\t\\n\\tvar _isNumber = function ( d, decimalPoint, formatted ) {\\n\\t\\tvar strType = typeof d === 'string';\\n\\t\\n\\t\\t// If empty return immediately so there must be a number if it is a\\n\\t\\t// formatted string (this stops the string \\\"k\\\", or \\\"kr\\\", etc being detected\\n\\t\\t// as a formatted number for currency\\n\\t\\tif ( _empty( d ) ) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\n\\t\\tif ( decimalPoint && strType ) {\\n\\t\\t\\td = _numToDecimal( d, decimalPoint );\\n\\t\\t}\\n\\t\\n\\t\\tif ( formatted && strType ) {\\n\\t\\t\\td = d.replace( _re_formatted_numeric, '' );\\n\\t\\t}\\n\\t\\n\\t\\treturn !isNaN( parseFloat(d) ) && isFinite( d );\\n\\t};\\n\\t\\n\\t\\n\\t// A string without HTML in it can be considered to be HTML still\\n\\tvar _isHtml = function ( d ) {\\n\\t\\treturn _empty( d ) || typeof d === 'string';\\n\\t};\\n\\t\\n\\t\\n\\tvar _htmlNumeric = function ( d, decimalPoint, formatted ) {\\n\\t\\tif ( _empty( d ) ) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\n\\t\\tvar html = _isHtml( d );\\n\\t\\treturn ! html ?\\n\\t\\t\\tnull :\\n\\t\\t\\t_isNumber( _stripHtml( d ), decimalPoint, formatted ) ?\\n\\t\\t\\t\\ttrue :\\n\\t\\t\\t\\tnull;\\n\\t};\\n\\t\\n\\t\\n\\tvar _pluck = function ( a, prop, prop2 ) {\\n\\t\\tvar out = [];\\n\\t\\tvar i=0, ien=a.length;\\n\\t\\n\\t\\t// Could have the test in the loop for slightly smaller code, but speed\\n\\t\\t// is essential here\\n\\t\\tif ( prop2 !== undefined ) {\\n\\t\\t\\tfor ( ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( a[i] && a[i][ prop ] ) {\\n\\t\\t\\t\\t\\tout.push( a[i][ prop ][ prop2 ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tfor ( ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( a[i] ) {\\n\\t\\t\\t\\t\\tout.push( a[i][ prop ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn out;\\n\\t};\\n\\t\\n\\t\\n\\t// Basically the same as _pluck, but rather than looping over `a` we use `order`\\n\\t// as the indexes to pick from `a`\\n\\tvar _pluck_order = function ( a, order, prop, prop2 )\\n\\t{\\n\\t\\tvar out = [];\\n\\t\\tvar i=0, ien=order.length;\\n\\t\\n\\t\\t// Could have the test in the loop for slightly smaller code, but speed\\n\\t\\t// is essential here\\n\\t\\tif ( prop2 !== undefined ) {\\n\\t\\t\\tfor ( ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( a[ order[i] ][ prop ] ) {\\n\\t\\t\\t\\t\\tout.push( a[ order[i] ][ prop ][ prop2 ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tfor ( ; i<ien ; i++ ) {\\n\\t\\t\\t\\tout.push( a[ order[i] ][ prop ] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn out;\\n\\t};\\n\\t\\n\\t\\n\\tvar _range = function ( len, start )\\n\\t{\\n\\t\\tvar out = [];\\n\\t\\tvar end;\\n\\t\\n\\t\\tif ( start === undefined ) {\\n\\t\\t\\tstart = 0;\\n\\t\\t\\tend = len;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tend = start;\\n\\t\\t\\tstart = len;\\n\\t\\t}\\n\\t\\n\\t\\tfor ( var i=start ; i<end ; i++ ) {\\n\\t\\t\\tout.push( i );\\n\\t\\t}\\n\\t\\n\\t\\treturn out;\\n\\t};\\n\\t\\n\\t\\n\\tvar _removeEmpty = function ( a )\\n\\t{\\n\\t\\tvar out = [];\\n\\t\\n\\t\\tfor ( var i=0, ien=a.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( a[i] ) { // careful - will remove all falsy values!\\n\\t\\t\\t\\tout.push( a[i] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn out;\\n\\t};\\n\\t\\n\\t\\n\\tvar _stripHtml = function ( d ) {\\n\\t\\treturn d.replace( _re_html, '' );\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Determine if all values in the array are unique. This means we can short\\n\\t * cut the _unique method at the cost of a single loop. A sorted array is used\\n\\t * to easily check the values.\\n\\t *\\n\\t * @param  {array} src Source array\\n\\t * @return {boolean} true if all unique, false otherwise\\n\\t * @ignore\\n\\t */\\n\\tvar _areAllUnique = function ( src ) {\\n\\t\\tif ( src.length < 2 ) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\n\\t\\tvar sorted = src.slice().sort();\\n\\t\\tvar last = sorted[0];\\n\\t\\n\\t\\tfor ( var i=1, ien=sorted.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( sorted[i] === last ) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tlast = sorted[i];\\n\\t\\t}\\n\\t\\n\\t\\treturn true;\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Find the unique elements in a source array.\\n\\t *\\n\\t * @param  {array} src Source array\\n\\t * @return {array} Array of unique items\\n\\t * @ignore\\n\\t */\\n\\tvar _unique = function ( src )\\n\\t{\\n\\t\\tif ( _areAllUnique( src ) ) {\\n\\t\\t\\treturn src.slice();\\n\\t\\t}\\n\\t\\n\\t\\t// A faster unique method is to use object keys to identify used values,\\n\\t\\t// but this doesn't work with arrays or objects, which we must also\\n\\t\\t// consider. See jsperf.com/compare-array-unique-versions/4 for more\\n\\t\\t// information.\\n\\t\\tvar\\n\\t\\t\\tout = [],\\n\\t\\t\\tval,\\n\\t\\t\\ti, ien=src.length,\\n\\t\\t\\tj, k=0;\\n\\t\\n\\t\\tagain: for ( i=0 ; i<ien ; i++ ) {\\n\\t\\t\\tval = src[i];\\n\\t\\n\\t\\t\\tfor ( j=0 ; j<k ; j++ ) {\\n\\t\\t\\t\\tif ( out[j] === val ) {\\n\\t\\t\\t\\t\\tcontinue again;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tout.push( val );\\n\\t\\t\\tk++;\\n\\t\\t}\\n\\t\\n\\t\\treturn out;\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * DataTables utility methods\\n\\t * \\n\\t * This namespace provides helper methods that DataTables uses internally to\\n\\t * create a DataTable, but which are not exclusively used only for DataTables.\\n\\t * These methods can be used by extension authors to save the duplication of\\n\\t * code.\\n\\t *\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.util = {\\n\\t\\t/**\\n\\t\\t * Throttle the calls to a function. Arguments and context are maintained\\n\\t\\t * for the throttled function.\\n\\t\\t *\\n\\t\\t * @param {function} fn Function to be called\\n\\t\\t * @param {integer} freq Call frequency in mS\\n\\t\\t * @return {function} Wrapped function\\n\\t\\t */\\n\\t\\tthrottle: function ( fn, freq ) {\\n\\t\\t\\tvar\\n\\t\\t\\t\\tfrequency = freq !== undefined ? freq : 200,\\n\\t\\t\\t\\tlast,\\n\\t\\t\\t\\ttimer;\\n\\t\\n\\t\\t\\treturn function () {\\n\\t\\t\\t\\tvar\\n\\t\\t\\t\\t\\tthat = this,\\n\\t\\t\\t\\t\\tnow  = +new Date(),\\n\\t\\t\\t\\t\\targs = arguments;\\n\\t\\n\\t\\t\\t\\tif ( last && now < last + frequency ) {\\n\\t\\t\\t\\t\\tclearTimeout( timer );\\n\\t\\n\\t\\t\\t\\t\\ttimer = setTimeout( function () {\\n\\t\\t\\t\\t\\t\\tlast = undefined;\\n\\t\\t\\t\\t\\t\\tfn.apply( that, args );\\n\\t\\t\\t\\t\\t}, frequency );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tlast = now;\\n\\t\\t\\t\\t\\tfn.apply( that, args );\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Escape a string such that it can be used in a regular expression\\n\\t\\t *\\n\\t\\t *  @param {string} val string to escape\\n\\t\\t *  @returns {string} escaped string\\n\\t\\t */\\n\\t\\tescapeRegex: function ( val ) {\\n\\t\\t\\treturn val.replace( _re_escape_regex, '\\\\\\\\$1' );\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Create a mapping object that allows camel case parameters to be looked up\\n\\t * for their Hungarian counterparts. The mapping is stored in a private\\n\\t * parameter called `_hungarianMap` which can be accessed on the source object.\\n\\t *  @param {object} o\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnHungarianMap ( o )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\thungarian = 'a aa ai ao as b fn i m o s ',\\n\\t\\t\\tmatch,\\n\\t\\t\\tnewKey,\\n\\t\\t\\tmap = {};\\n\\t\\n\\t\\t$.each( o, function (key, val) {\\n\\t\\t\\tmatch = key.match(/^([^A-Z]+?)([A-Z])/);\\n\\t\\n\\t\\t\\tif ( match && hungarian.indexOf(match[1]+' ') !== -1 )\\n\\t\\t\\t{\\n\\t\\t\\t\\tnewKey = key.replace( match[0], match[2].toLowerCase() );\\n\\t\\t\\t\\tmap[ newKey ] = key;\\n\\t\\n\\t\\t\\t\\tif ( match[1] === 'o' )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t_fnHungarianMap( o[key] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\to._hungarianMap = map;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Convert from camel case parameters to Hungarian, based on a Hungarian map\\n\\t * created by _fnHungarianMap.\\n\\t *  @param {object} src The model object which holds all parameters that can be\\n\\t *    mapped.\\n\\t *  @param {object} user The object to convert from camel case to Hungarian.\\n\\t *  @param {boolean} force When set to `true`, properties which already have a\\n\\t *    Hungarian value in the `user` object will be overwritten. Otherwise they\\n\\t *    won't be.\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnCamelToHungarian ( src, user, force )\\n\\t{\\n\\t\\tif ( ! src._hungarianMap ) {\\n\\t\\t\\t_fnHungarianMap( src );\\n\\t\\t}\\n\\t\\n\\t\\tvar hungarianKey;\\n\\t\\n\\t\\t$.each( user, function (key, val) {\\n\\t\\t\\thungarianKey = src._hungarianMap[ key ];\\n\\t\\n\\t\\t\\tif ( hungarianKey !== undefined && (force || user[hungarianKey] === undefined) )\\n\\t\\t\\t{\\n\\t\\t\\t\\t// For objects, we need to buzz down into the object to copy parameters\\n\\t\\t\\t\\tif ( hungarianKey.charAt(0) === 'o' )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t// Copy the camelCase options over to the hungarian\\n\\t\\t\\t\\t\\tif ( ! user[ hungarianKey ] ) {\\n\\t\\t\\t\\t\\t\\tuser[ hungarianKey ] = {};\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t$.extend( true, user[hungarianKey], user[key] );\\n\\t\\n\\t\\t\\t\\t\\t_fnCamelToHungarian( src[hungarianKey], user[hungarianKey], force );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tuser[hungarianKey] = user[ key ];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Language compatibility - when certain options are given, and others aren't, we\\n\\t * need to duplicate the values over, in order to provide backwards compatibility\\n\\t * with older language files.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnLanguageCompat( lang )\\n\\t{\\n\\t\\t// Note the use of the Hungarian notation for the parameters in this method as\\n\\t\\t// this is called after the mapping of camelCase to Hungarian\\n\\t\\tvar defaults = DataTable.defaults.oLanguage;\\n\\t\\n\\t\\t// Default mapping\\n\\t\\tvar defaultDecimal = defaults.sDecimal;\\n\\t\\tif ( defaultDecimal ) {\\n\\t\\t\\t_addNumericSort( defaultDecimal );\\n\\t\\t}\\n\\t\\n\\t\\tif ( lang ) {\\n\\t\\t\\tvar zeroRecords = lang.sZeroRecords;\\n\\t\\n\\t\\t\\t// Backwards compatibility - if there is no sEmptyTable given, then use the same as\\n\\t\\t\\t// sZeroRecords - assuming that is given.\\n\\t\\t\\tif ( ! lang.sEmptyTable && zeroRecords &&\\n\\t\\t\\t\\tdefaults.sEmptyTable === \\\"No data available in table\\\" )\\n\\t\\t\\t{\\n\\t\\t\\t\\t_fnMap( lang, lang, 'sZeroRecords', 'sEmptyTable' );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Likewise with loading records\\n\\t\\t\\tif ( ! lang.sLoadingRecords && zeroRecords &&\\n\\t\\t\\t\\tdefaults.sLoadingRecords === \\\"Loading...\\\" )\\n\\t\\t\\t{\\n\\t\\t\\t\\t_fnMap( lang, lang, 'sZeroRecords', 'sLoadingRecords' );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Old parameter name of the thousands separator mapped onto the new\\n\\t\\t\\tif ( lang.sInfoThousands ) {\\n\\t\\t\\t\\tlang.sThousands = lang.sInfoThousands;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tvar decimal = lang.sDecimal;\\n\\t\\t\\tif ( decimal && defaultDecimal !== decimal ) {\\n\\t\\t\\t\\t_addNumericSort( decimal );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Map one parameter onto another\\n\\t *  @param {object} o Object to map\\n\\t *  @param {*} knew The new parameter name\\n\\t *  @param {*} old The old parameter name\\n\\t */\\n\\tvar _fnCompatMap = function ( o, knew, old ) {\\n\\t\\tif ( o[ knew ] !== undefined ) {\\n\\t\\t\\to[ old ] = o[ knew ];\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Provide backwards compatibility for the main DT options. Note that the new\\n\\t * options are mapped onto the old parameters, so this is an external interface\\n\\t * change only.\\n\\t *  @param {object} init Object to map\\n\\t */\\n\\tfunction _fnCompatOpts ( init )\\n\\t{\\n\\t\\t_fnCompatMap( init, 'ordering',      'bSort' );\\n\\t\\t_fnCompatMap( init, 'orderMulti',    'bSortMulti' );\\n\\t\\t_fnCompatMap( init, 'orderClasses',  'bSortClasses' );\\n\\t\\t_fnCompatMap( init, 'orderCellsTop', 'bSortCellsTop' );\\n\\t\\t_fnCompatMap( init, 'order',         'aaSorting' );\\n\\t\\t_fnCompatMap( init, 'orderFixed',    'aaSortingFixed' );\\n\\t\\t_fnCompatMap( init, 'paging',        'bPaginate' );\\n\\t\\t_fnCompatMap( init, 'pagingType',    'sPaginationType' );\\n\\t\\t_fnCompatMap( init, 'pageLength',    'iDisplayLength' );\\n\\t\\t_fnCompatMap( init, 'searching',     'bFilter' );\\n\\t\\n\\t\\t// Boolean initialisation of x-scrolling\\n\\t\\tif ( typeof init.sScrollX === 'boolean' ) {\\n\\t\\t\\tinit.sScrollX = init.sScrollX ? '100%' : '';\\n\\t\\t}\\n\\t\\tif ( typeof init.scrollX === 'boolean' ) {\\n\\t\\t\\tinit.scrollX = init.scrollX ? '100%' : '';\\n\\t\\t}\\n\\t\\n\\t\\t// Column search objects are in an array, so it needs to be converted\\n\\t\\t// element by element\\n\\t\\tvar searchCols = init.aoSearchCols;\\n\\t\\n\\t\\tif ( searchCols ) {\\n\\t\\t\\tfor ( var i=0, ien=searchCols.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( searchCols[i] ) {\\n\\t\\t\\t\\t\\t_fnCamelToHungarian( DataTable.models.oSearch, searchCols[i] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Provide backwards compatibility for column options. Note that the new options\\n\\t * are mapped onto the old parameters, so this is an external interface change\\n\\t * only.\\n\\t *  @param {object} init Object to map\\n\\t */\\n\\tfunction _fnCompatCols ( init )\\n\\t{\\n\\t\\t_fnCompatMap( init, 'orderable',     'bSortable' );\\n\\t\\t_fnCompatMap( init, 'orderData',     'aDataSort' );\\n\\t\\t_fnCompatMap( init, 'orderSequence', 'asSorting' );\\n\\t\\t_fnCompatMap( init, 'orderDataType', 'sortDataType' );\\n\\t\\n\\t\\t// orderData can be given as an integer\\n\\t\\tvar dataSort = init.aDataSort;\\n\\t\\tif ( typeof dataSort === 'number' && ! $.isArray( dataSort ) ) {\\n\\t\\t\\tinit.aDataSort = [ dataSort ];\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Browser feature detection for capabilities, quirks\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnBrowserDetect( settings )\\n\\t{\\n\\t\\t// We don't need to do this every time DataTables is constructed, the values\\n\\t\\t// calculated are specific to the browser and OS configuration which we\\n\\t\\t// don't expect to change between initialisations\\n\\t\\tif ( ! DataTable.__browser ) {\\n\\t\\t\\tvar browser = {};\\n\\t\\t\\tDataTable.__browser = browser;\\n\\t\\n\\t\\t\\t// Scrolling feature / quirks detection\\n\\t\\t\\tvar n = $('<div/>')\\n\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\tposition: 'fixed',\\n\\t\\t\\t\\t\\ttop: 0,\\n\\t\\t\\t\\t\\tleft: $(window).scrollLeft()*-1, // allow for scrolling\\n\\t\\t\\t\\t\\theight: 1,\\n\\t\\t\\t\\t\\twidth: 1,\\n\\t\\t\\t\\t\\toverflow: 'hidden'\\n\\t\\t\\t\\t} )\\n\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t$('<div/>')\\n\\t\\t\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\t\\t\\tposition: 'absolute',\\n\\t\\t\\t\\t\\t\\t\\ttop: 1,\\n\\t\\t\\t\\t\\t\\t\\tleft: 1,\\n\\t\\t\\t\\t\\t\\t\\twidth: 100,\\n\\t\\t\\t\\t\\t\\t\\toverflow: 'scroll'\\n\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t\\t$('<div/>')\\n\\t\\t\\t\\t\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\twidth: '100%',\\n\\t\\t\\t\\t\\t\\t\\t\\t\\theight: 10\\n\\t\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t)\\n\\t\\t\\t\\t.appendTo( 'body' );\\n\\t\\n\\t\\t\\tvar outer = n.children();\\n\\t\\t\\tvar inner = outer.children();\\n\\t\\n\\t\\t\\t// Numbers below, in order, are:\\n\\t\\t\\t// inner.offsetWidth, inner.clientWidth, outer.offsetWidth, outer.clientWidth\\n\\t\\t\\t//\\n\\t\\t\\t// IE6 XP:                           100 100 100  83\\n\\t\\t\\t// IE7 Vista:                        100 100 100  83\\n\\t\\t\\t// IE 8+ Windows:                     83  83 100  83\\n\\t\\t\\t// Evergreen Windows:                 83  83 100  83\\n\\t\\t\\t// Evergreen Mac with scrollbars:     85  85 100  85\\n\\t\\t\\t// Evergreen Mac without scrollbars: 100 100 100 100\\n\\t\\n\\t\\t\\t// Get scrollbar width\\n\\t\\t\\tbrowser.barWidth = outer[0].offsetWidth - outer[0].clientWidth;\\n\\t\\n\\t\\t\\t// IE6/7 will oversize a width 100% element inside a scrolling element, to\\n\\t\\t\\t// include the width of the scrollbar, while other browsers ensure the inner\\n\\t\\t\\t// element is contained without forcing scrolling\\n\\t\\t\\tbrowser.bScrollOversize = inner[0].offsetWidth === 100 && outer[0].clientWidth !== 100;\\n\\t\\n\\t\\t\\t// In rtl text layout, some browsers (most, but not all) will place the\\n\\t\\t\\t// scrollbar on the left, rather than the right.\\n\\t\\t\\tbrowser.bScrollbarLeft = Math.round( inner.offset().left ) !== 1;\\n\\t\\n\\t\\t\\t// IE8- don't provide height and width for getBoundingClientRect\\n\\t\\t\\tbrowser.bBounding = n[0].getBoundingClientRect().width ? true : false;\\n\\t\\n\\t\\t\\tn.remove();\\n\\t\\t}\\n\\t\\n\\t\\t$.extend( settings.oBrowser, DataTable.__browser );\\n\\t\\tsettings.oScroll.iBarWidth = DataTable.__browser.barWidth;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Array.prototype reduce[Right] method, used for browsers which don't support\\n\\t * JS 1.6. Done this way to reduce code size, since we iterate either way\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnReduce ( that, fn, init, start, end, inc )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ti = start,\\n\\t\\t\\tvalue,\\n\\t\\t\\tisSet = false;\\n\\t\\n\\t\\tif ( init !== undefined ) {\\n\\t\\t\\tvalue = init;\\n\\t\\t\\tisSet = true;\\n\\t\\t}\\n\\t\\n\\t\\twhile ( i !== end ) {\\n\\t\\t\\tif ( ! that.hasOwnProperty(i) ) {\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tvalue = isSet ?\\n\\t\\t\\t\\tfn( value, that[i], i, that ) :\\n\\t\\t\\t\\tthat[i];\\n\\t\\n\\t\\t\\tisSet = true;\\n\\t\\t\\ti += inc;\\n\\t\\t}\\n\\t\\n\\t\\treturn value;\\n\\t}\\n\\t\\n\\t/**\\n\\t * Add a column to the list used for the table with default values\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {node} nTh The th element for this column\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAddColumn( oSettings, nTh )\\n\\t{\\n\\t\\t// Add column to aoColumns array\\n\\t\\tvar oDefaults = DataTable.defaults.column;\\n\\t\\tvar iCol = oSettings.aoColumns.length;\\n\\t\\tvar oCol = $.extend( {}, DataTable.models.oColumn, oDefaults, {\\n\\t\\t\\t\\\"nTh\\\": nTh ? nTh : document.createElement('th'),\\n\\t\\t\\t\\\"sTitle\\\":    oDefaults.sTitle    ? oDefaults.sTitle    : nTh ? nTh.innerHTML : '',\\n\\t\\t\\t\\\"aDataSort\\\": oDefaults.aDataSort ? oDefaults.aDataSort : [iCol],\\n\\t\\t\\t\\\"mData\\\": oDefaults.mData ? oDefaults.mData : iCol,\\n\\t\\t\\tidx: iCol\\n\\t\\t} );\\n\\t\\toSettings.aoColumns.push( oCol );\\n\\t\\n\\t\\t// Add search object for column specific search. Note that the `searchCols[ iCol ]`\\n\\t\\t// passed into extend can be undefined. This allows the user to give a default\\n\\t\\t// with only some of the parameters defined, and also not give a default\\n\\t\\tvar searchCols = oSettings.aoPreSearchCols;\\n\\t\\tsearchCols[ iCol ] = $.extend( {}, DataTable.models.oSearch, searchCols[ iCol ] );\\n\\t\\n\\t\\t// Use the default column options function to initialise classes etc\\n\\t\\t_fnColumnOptions( oSettings, iCol, $(nTh).data() );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Apply options for a column\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {int} iCol column index to consider\\n\\t *  @param {object} oOptions object with sType, bVisible and bSearchable etc\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnColumnOptions( oSettings, iCol, oOptions )\\n\\t{\\n\\t\\tvar oCol = oSettings.aoColumns[ iCol ];\\n\\t\\tvar oClasses = oSettings.oClasses;\\n\\t\\tvar th = $(oCol.nTh);\\n\\t\\n\\t\\t// Try to get width information from the DOM. We can't get it from CSS\\n\\t\\t// as we'd need to parse the CSS stylesheet. `width` option can override\\n\\t\\tif ( ! oCol.sWidthOrig ) {\\n\\t\\t\\t// Width attribute\\n\\t\\t\\toCol.sWidthOrig = th.attr('width') || null;\\n\\t\\n\\t\\t\\t// Style attribute\\n\\t\\t\\tvar t = (th.attr('style') || '').match(/width:\\\\s*(\\\\d+[pxem%]+)/);\\n\\t\\t\\tif ( t ) {\\n\\t\\t\\t\\toCol.sWidthOrig = t[1];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t/* User specified column options */\\n\\t\\tif ( oOptions !== undefined && oOptions !== null )\\n\\t\\t{\\n\\t\\t\\t// Backwards compatibility\\n\\t\\t\\t_fnCompatCols( oOptions );\\n\\t\\n\\t\\t\\t// Map camel case parameters to their Hungarian counterparts\\n\\t\\t\\t_fnCamelToHungarian( DataTable.defaults.column, oOptions );\\n\\t\\n\\t\\t\\t/* Backwards compatibility for mDataProp */\\n\\t\\t\\tif ( oOptions.mDataProp !== undefined && !oOptions.mData )\\n\\t\\t\\t{\\n\\t\\t\\t\\toOptions.mData = oOptions.mDataProp;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( oOptions.sType )\\n\\t\\t\\t{\\n\\t\\t\\t\\toCol._sManualType = oOptions.sType;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// `class` is a reserved word in Javascript, so we need to provide\\n\\t\\t\\t// the ability to use a valid name for the camel case input\\n\\t\\t\\tif ( oOptions.className && ! oOptions.sClass )\\n\\t\\t\\t{\\n\\t\\t\\t\\toOptions.sClass = oOptions.className;\\n\\t\\t\\t}\\n\\t\\t\\tif ( oOptions.sClass ) {\\n\\t\\t\\t\\tth.addClass( oOptions.sClass );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t$.extend( oCol, oOptions );\\n\\t\\t\\t_fnMap( oCol, oOptions, \\\"sWidth\\\", \\\"sWidthOrig\\\" );\\n\\t\\n\\t\\t\\t/* iDataSort to be applied (backwards compatibility), but aDataSort will take\\n\\t\\t\\t * priority if defined\\n\\t\\t\\t */\\n\\t\\t\\tif ( oOptions.iDataSort !== undefined )\\n\\t\\t\\t{\\n\\t\\t\\t\\toCol.aDataSort = [ oOptions.iDataSort ];\\n\\t\\t\\t}\\n\\t\\t\\t_fnMap( oCol, oOptions, \\\"aDataSort\\\" );\\n\\t\\t}\\n\\t\\n\\t\\t/* Cache the data get and set functions for speed */\\n\\t\\tvar mDataSrc = oCol.mData;\\n\\t\\tvar mData = _fnGetObjectDataFn( mDataSrc );\\n\\t\\tvar mRender = oCol.mRender ? _fnGetObjectDataFn( oCol.mRender ) : null;\\n\\t\\n\\t\\tvar attrTest = function( src ) {\\n\\t\\t\\treturn typeof src === 'string' && src.indexOf('@') !== -1;\\n\\t\\t};\\n\\t\\toCol._bAttrSrc = $.isPlainObject( mDataSrc ) && (\\n\\t\\t\\tattrTest(mDataSrc.sort) || attrTest(mDataSrc.type) || attrTest(mDataSrc.filter)\\n\\t\\t);\\n\\t\\toCol._setter = null;\\n\\t\\n\\t\\toCol.fnGetData = function (rowData, type, meta) {\\n\\t\\t\\tvar innerData = mData( rowData, type, undefined, meta );\\n\\t\\n\\t\\t\\treturn mRender && type ?\\n\\t\\t\\t\\tmRender( innerData, type, rowData, meta ) :\\n\\t\\t\\t\\tinnerData;\\n\\t\\t};\\n\\t\\toCol.fnSetData = function ( rowData, val, meta ) {\\n\\t\\t\\treturn _fnSetObjectDataFn( mDataSrc )( rowData, val, meta );\\n\\t\\t};\\n\\t\\n\\t\\t// Indicate if DataTables should read DOM data as an object or array\\n\\t\\t// Used in _fnGetRowElements\\n\\t\\tif ( typeof mDataSrc !== 'number' ) {\\n\\t\\t\\toSettings._rowReadObject = true;\\n\\t\\t}\\n\\t\\n\\t\\t/* Feature sorting overrides column specific when off */\\n\\t\\tif ( !oSettings.oFeatures.bSort )\\n\\t\\t{\\n\\t\\t\\toCol.bSortable = false;\\n\\t\\t\\tth.addClass( oClasses.sSortableNone ); // Have to add class here as order event isn't called\\n\\t\\t}\\n\\t\\n\\t\\t/* Check that the class assignment is correct for sorting */\\n\\t\\tvar bAsc = $.inArray('asc', oCol.asSorting) !== -1;\\n\\t\\tvar bDesc = $.inArray('desc', oCol.asSorting) !== -1;\\n\\t\\tif ( !oCol.bSortable || (!bAsc && !bDesc) )\\n\\t\\t{\\n\\t\\t\\toCol.sSortingClass = oClasses.sSortableNone;\\n\\t\\t\\toCol.sSortingClassJUI = \\\"\\\";\\n\\t\\t}\\n\\t\\telse if ( bAsc && !bDesc )\\n\\t\\t{\\n\\t\\t\\toCol.sSortingClass = oClasses.sSortableAsc;\\n\\t\\t\\toCol.sSortingClassJUI = oClasses.sSortJUIAscAllowed;\\n\\t\\t}\\n\\t\\telse if ( !bAsc && bDesc )\\n\\t\\t{\\n\\t\\t\\toCol.sSortingClass = oClasses.sSortableDesc;\\n\\t\\t\\toCol.sSortingClassJUI = oClasses.sSortJUIDescAllowed;\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\toCol.sSortingClass = oClasses.sSortable;\\n\\t\\t\\toCol.sSortingClassJUI = oClasses.sSortJUI;\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Adjust the table column widths for new data. Note: you would probably want to\\n\\t * do a redraw after calling this function!\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAdjustColumnSizing ( settings )\\n\\t{\\n\\t\\t/* Not interested in doing column width calculation if auto-width is disabled */\\n\\t\\tif ( settings.oFeatures.bAutoWidth !== false )\\n\\t\\t{\\n\\t\\t\\tvar columns = settings.aoColumns;\\n\\t\\n\\t\\t\\t_fnCalculateColumnWidths( settings );\\n\\t\\t\\tfor ( var i=0 , iLen=columns.length ; i<iLen ; i++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tcolumns[i].nTh.style.width = columns[i].sWidth;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\tvar scroll = settings.oScroll;\\n\\t\\tif ( scroll.sY !== '' || scroll.sX !== '')\\n\\t\\t{\\n\\t\\t\\t_fnScrollDraw( settings );\\n\\t\\t}\\n\\t\\n\\t\\t_fnCallbackFire( settings, null, 'column-sizing', [settings] );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Covert the index of a visible column to the index in the data array (take account\\n\\t * of hidden columns)\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {int} iMatch Visible column index to lookup\\n\\t *  @returns {int} i the data index\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnVisibleToColumnIndex( oSettings, iMatch )\\n\\t{\\n\\t\\tvar aiVis = _fnGetColumns( oSettings, 'bVisible' );\\n\\t\\n\\t\\treturn typeof aiVis[iMatch] === 'number' ?\\n\\t\\t\\taiVis[iMatch] :\\n\\t\\t\\tnull;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Covert the index of an index in the data array and convert it to the visible\\n\\t *   column index (take account of hidden columns)\\n\\t *  @param {int} iMatch Column index to lookup\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @returns {int} i the data index\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnColumnIndexToVisible( oSettings, iMatch )\\n\\t{\\n\\t\\tvar aiVis = _fnGetColumns( oSettings, 'bVisible' );\\n\\t\\tvar iPos = $.inArray( iMatch, aiVis );\\n\\t\\n\\t\\treturn iPos !== -1 ? iPos : null;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the number of visible columns\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @returns {int} i the number of visible columns\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnVisbleColumns( oSettings )\\n\\t{\\n\\t\\tvar vis = 0;\\n\\t\\n\\t\\t// No reduce in IE8, use a loop for now\\n\\t\\t$.each( oSettings.aoColumns, function ( i, col ) {\\n\\t\\t\\tif ( col.bVisible && $(col.nTh).css('display') !== 'none' ) {\\n\\t\\t\\t\\tvis++;\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn vis;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get an array of column indexes that match a given property\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {string} sParam Parameter in aoColumns to look for - typically\\n\\t *    bVisible or bSearchable\\n\\t *  @returns {array} Array of indexes with matched properties\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetColumns( oSettings, sParam )\\n\\t{\\n\\t\\tvar a = [];\\n\\t\\n\\t\\t$.map( oSettings.aoColumns, function(val, i) {\\n\\t\\t\\tif ( val[sParam] ) {\\n\\t\\t\\t\\ta.push( i );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn a;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Calculate the 'type' of a column\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnColumnTypes ( settings )\\n\\t{\\n\\t\\tvar columns = settings.aoColumns;\\n\\t\\tvar data = settings.aoData;\\n\\t\\tvar types = DataTable.ext.type.detect;\\n\\t\\tvar i, ien, j, jen, k, ken;\\n\\t\\tvar col, cell, detectedType, cache;\\n\\t\\n\\t\\t// For each column, spin over the \\n\\t\\tfor ( i=0, ien=columns.length ; i<ien ; i++ ) {\\n\\t\\t\\tcol = columns[i];\\n\\t\\t\\tcache = [];\\n\\t\\n\\t\\t\\tif ( ! col.sType && col._sManualType ) {\\n\\t\\t\\t\\tcol.sType = col._sManualType;\\n\\t\\t\\t}\\n\\t\\t\\telse if ( ! col.sType ) {\\n\\t\\t\\t\\tfor ( j=0, jen=types.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t\\tfor ( k=0, ken=data.length ; k<ken ; k++ ) {\\n\\t\\t\\t\\t\\t\\t// Use a cache array so we only need to get the type data\\n\\t\\t\\t\\t\\t\\t// from the formatter once (when using multiple detectors)\\n\\t\\t\\t\\t\\t\\tif ( cache[k] === undefined ) {\\n\\t\\t\\t\\t\\t\\t\\tcache[k] = _fnGetCellData( settings, k, i, 'type' );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\tdetectedType = types[j]( cache[k], settings );\\n\\t\\n\\t\\t\\t\\t\\t\\t// If null, then this type can't apply to this column, so\\n\\t\\t\\t\\t\\t\\t// rather than testing all cells, break out. There is an\\n\\t\\t\\t\\t\\t\\t// exception for the last type which is `html`. We need to\\n\\t\\t\\t\\t\\t\\t// scan all rows since it is possible to mix string and HTML\\n\\t\\t\\t\\t\\t\\t// types\\n\\t\\t\\t\\t\\t\\tif ( ! detectedType && j !== types.length-1 ) {\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\t// Only a single match is needed for html type since it is\\n\\t\\t\\t\\t\\t\\t// bottom of the pile and very similar to string\\n\\t\\t\\t\\t\\t\\tif ( detectedType === 'html' ) {\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t// Type is valid for all data points in the column - use this\\n\\t\\t\\t\\t\\t// type\\n\\t\\t\\t\\t\\tif ( detectedType ) {\\n\\t\\t\\t\\t\\t\\tcol.sType = detectedType;\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// Fall back - if no type was detected, always use string\\n\\t\\t\\t\\tif ( ! col.sType ) {\\n\\t\\t\\t\\t\\tcol.sType = 'string';\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Take the column definitions and static columns arrays and calculate how\\n\\t * they relate to column indexes. The callback function will then apply the\\n\\t * definition found for a column to a suitable configuration object.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {array} aoColDefs The aoColumnDefs array that is to be applied\\n\\t *  @param {array} aoCols The aoColumns array that defines columns individually\\n\\t *  @param {function} fn Callback function - takes two parameters, the calculated\\n\\t *    column index and the definition for that column.\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnApplyColumnDefs( oSettings, aoColDefs, aoCols, fn )\\n\\t{\\n\\t\\tvar i, iLen, j, jLen, k, kLen, def;\\n\\t\\tvar columns = oSettings.aoColumns;\\n\\t\\n\\t\\t// Column definitions with aTargets\\n\\t\\tif ( aoColDefs )\\n\\t\\t{\\n\\t\\t\\t/* Loop over the definitions array - loop in reverse so first instance has priority */\\n\\t\\t\\tfor ( i=aoColDefs.length-1 ; i>=0 ; i-- )\\n\\t\\t\\t{\\n\\t\\t\\t\\tdef = aoColDefs[i];\\n\\t\\n\\t\\t\\t\\t/* Each definition can target multiple columns, as it is an array */\\n\\t\\t\\t\\tvar aTargets = def.targets !== undefined ?\\n\\t\\t\\t\\t\\tdef.targets :\\n\\t\\t\\t\\t\\tdef.aTargets;\\n\\t\\n\\t\\t\\t\\tif ( ! $.isArray( aTargets ) )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\taTargets = [ aTargets ];\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tfor ( j=0, jLen=aTargets.length ; j<jLen ; j++ )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tif ( typeof aTargets[j] === 'number' && aTargets[j] >= 0 )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t/* Add columns that we don't yet know about */\\n\\t\\t\\t\\t\\t\\twhile( columns.length <= aTargets[j] )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t_fnAddColumn( oSettings );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\t/* Integer, basic index */\\n\\t\\t\\t\\t\\t\\tfn( aTargets[j], def );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( typeof aTargets[j] === 'number' && aTargets[j] < 0 )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t/* Negative integer, right to left column counting */\\n\\t\\t\\t\\t\\t\\tfn( columns.length+aTargets[j], def );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( typeof aTargets[j] === 'string' )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t/* Class name matching on TH element */\\n\\t\\t\\t\\t\\t\\tfor ( k=0, kLen=columns.length ; k<kLen ; k++ )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\tif ( aTargets[j] == \\\"_all\\\" ||\\n\\t\\t\\t\\t\\t\\t\\t     $(columns[k].nTh).hasClass( aTargets[j] ) )\\n\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\tfn( k, def );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t// Statically defined columns array\\n\\t\\tif ( aoCols )\\n\\t\\t{\\n\\t\\t\\tfor ( i=0, iLen=aoCols.length ; i<iLen ; i++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tfn( i, aoCols[i] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t/**\\n\\t * Add a data array to the table, creating DOM node etc. This is the parallel to\\n\\t * _fnGatherData, but for adding rows from a Javascript source, rather than a\\n\\t * DOM source.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {array} aData data array to be added\\n\\t *  @param {node} [nTr] TR element to add to the table - optional. If not given,\\n\\t *    DataTables will create a row automatically\\n\\t *  @param {array} [anTds] Array of TD|TH elements for the row - must be given\\n\\t *    if nTr is.\\n\\t *  @returns {int} >=0 if successful (index of new aoData entry), -1 if failed\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAddData ( oSettings, aDataIn, nTr, anTds )\\n\\t{\\n\\t\\t/* Create the object for storing information about this new row */\\n\\t\\tvar iRow = oSettings.aoData.length;\\n\\t\\tvar oData = $.extend( true, {}, DataTable.models.oRow, {\\n\\t\\t\\tsrc: nTr ? 'dom' : 'data',\\n\\t\\t\\tidx: iRow\\n\\t\\t} );\\n\\t\\n\\t\\toData._aData = aDataIn;\\n\\t\\toSettings.aoData.push( oData );\\n\\t\\n\\t\\t/* Create the cells */\\n\\t\\tvar nTd, sThisType;\\n\\t\\tvar columns = oSettings.aoColumns;\\n\\t\\n\\t\\t// Invalidate the column types as the new data needs to be revalidated\\n\\t\\tfor ( var i=0, iLen=columns.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\tcolumns[i].sType = null;\\n\\t\\t}\\n\\t\\n\\t\\t/* Add to the display array */\\n\\t\\toSettings.aiDisplayMaster.push( iRow );\\n\\t\\n\\t\\tvar id = oSettings.rowIdFn( aDataIn );\\n\\t\\tif ( id !== undefined ) {\\n\\t\\t\\toSettings.aIds[ id ] = oData;\\n\\t\\t}\\n\\t\\n\\t\\t/* Create the DOM information, or register it if already present */\\n\\t\\tif ( nTr || ! oSettings.oFeatures.bDeferRender )\\n\\t\\t{\\n\\t\\t\\t_fnCreateTr( oSettings, iRow, nTr, anTds );\\n\\t\\t}\\n\\t\\n\\t\\treturn iRow;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Add one or more TR elements to the table. Generally we'd expect to\\n\\t * use this for reading data from a DOM sourced table, but it could be\\n\\t * used for an TR element. Note that if a TR is given, it is used (i.e.\\n\\t * it is not cloned).\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {array|node|jQuery} trs The TR element(s) to add to the table\\n\\t *  @returns {array} Array of indexes for the added rows\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAddTr( settings, trs )\\n\\t{\\n\\t\\tvar row;\\n\\t\\n\\t\\t// Allow an individual node to be passed in\\n\\t\\tif ( ! (trs instanceof $) ) {\\n\\t\\t\\ttrs = $(trs);\\n\\t\\t}\\n\\t\\n\\t\\treturn trs.map( function (i, el) {\\n\\t\\t\\trow = _fnGetRowElements( settings, el );\\n\\t\\t\\treturn _fnAddData( settings, row.data, el, row.cells );\\n\\t\\t} );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Take a TR element and convert it to an index in aoData\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {node} n the TR element to find\\n\\t *  @returns {int} index if the node is found, null if not\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnNodeToDataIndex( oSettings, n )\\n\\t{\\n\\t\\treturn (n._DT_RowIndex!==undefined) ? n._DT_RowIndex : null;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Take a TD element and convert it into a column data index (not the visible index)\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {int} iRow The row number the TD/TH can be found in\\n\\t *  @param {node} n The TD/TH element to find\\n\\t *  @returns {int} index if the node is found, -1 if not\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnNodeToColumnIndex( oSettings, iRow, n )\\n\\t{\\n\\t\\treturn $.inArray( n, oSettings.aoData[ iRow ].anCells );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the data for a given cell from the internal cache, taking into account data mapping\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {int} rowIdx aoData row id\\n\\t *  @param {int} colIdx Column index\\n\\t *  @param {string} type data get type ('display', 'type' 'filter' 'sort')\\n\\t *  @returns {*} Cell data\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetCellData( settings, rowIdx, colIdx, type )\\n\\t{\\n\\t\\tvar draw           = settings.iDraw;\\n\\t\\tvar col            = settings.aoColumns[colIdx];\\n\\t\\tvar rowData        = settings.aoData[rowIdx]._aData;\\n\\t\\tvar defaultContent = col.sDefaultContent;\\n\\t\\tvar cellData       = col.fnGetData( rowData, type, {\\n\\t\\t\\tsettings: settings,\\n\\t\\t\\trow:      rowIdx,\\n\\t\\t\\tcol:      colIdx\\n\\t\\t} );\\n\\t\\n\\t\\tif ( cellData === undefined ) {\\n\\t\\t\\tif ( settings.iDrawError != draw && defaultContent === null ) {\\n\\t\\t\\t\\t_fnLog( settings, 0, \\\"Requested unknown parameter \\\"+\\n\\t\\t\\t\\t\\t(typeof col.mData=='function' ? '{function}' : \\\"'\\\"+col.mData+\\\"'\\\")+\\n\\t\\t\\t\\t\\t\\\" for row \\\"+rowIdx+\\\", column \\\"+colIdx, 4 );\\n\\t\\t\\t\\tsettings.iDrawError = draw;\\n\\t\\t\\t}\\n\\t\\t\\treturn defaultContent;\\n\\t\\t}\\n\\t\\n\\t\\t// When the data source is null and a specific data type is requested (i.e.\\n\\t\\t// not the original data), we can use default column data\\n\\t\\tif ( (cellData === rowData || cellData === null) && defaultContent !== null && type !== undefined ) {\\n\\t\\t\\tcellData = defaultContent;\\n\\t\\t}\\n\\t\\telse if ( typeof cellData === 'function' ) {\\n\\t\\t\\t// If the data source is a function, then we run it and use the return,\\n\\t\\t\\t// executing in the scope of the data object (for instances)\\n\\t\\t\\treturn cellData.call( rowData );\\n\\t\\t}\\n\\t\\n\\t\\tif ( cellData === null && type == 'display' ) {\\n\\t\\t\\treturn '';\\n\\t\\t}\\n\\t\\treturn cellData;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Set the value for a specific cell, into the internal data cache\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {int} rowIdx aoData row id\\n\\t *  @param {int} colIdx Column index\\n\\t *  @param {*} val Value to set\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSetCellData( settings, rowIdx, colIdx, val )\\n\\t{\\n\\t\\tvar col     = settings.aoColumns[colIdx];\\n\\t\\tvar rowData = settings.aoData[rowIdx]._aData;\\n\\t\\n\\t\\tcol.fnSetData( rowData, val, {\\n\\t\\t\\tsettings: settings,\\n\\t\\t\\trow:      rowIdx,\\n\\t\\t\\tcol:      colIdx\\n\\t\\t}  );\\n\\t}\\n\\t\\n\\t\\n\\t// Private variable that is used to match action syntax in the data property object\\n\\tvar __reArray = /\\\\[.*?\\\\]$/;\\n\\tvar __reFn = /\\\\(\\\\)$/;\\n\\t\\n\\t/**\\n\\t * Split string on periods, taking into account escaped periods\\n\\t * @param  {string} str String to split\\n\\t * @return {array} Split string\\n\\t */\\n\\tfunction _fnSplitObjNotation( str )\\n\\t{\\n\\t\\treturn $.map( str.match(/(\\\\\\\\.|[^\\\\.])+/g) || [''], function ( s ) {\\n\\t\\t\\treturn s.replace(/\\\\\\\\\\\\./g, '.');\\n\\t\\t} );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Return a function that can be used to get data from a source object, taking\\n\\t * into account the ability to use nested objects as a source\\n\\t *  @param {string|int|function} mSource The data source for the object\\n\\t *  @returns {function} Data get function\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetObjectDataFn( mSource )\\n\\t{\\n\\t\\tif ( $.isPlainObject( mSource ) )\\n\\t\\t{\\n\\t\\t\\t/* Build an object of get functions, and wrap them in a single call */\\n\\t\\t\\tvar o = {};\\n\\t\\t\\t$.each( mSource, function (key, val) {\\n\\t\\t\\t\\tif ( val ) {\\n\\t\\t\\t\\t\\to[key] = _fnGetObjectDataFn( val );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\treturn function (data, type, row, meta) {\\n\\t\\t\\t\\tvar t = o[type] || o._;\\n\\t\\t\\t\\treturn t !== undefined ?\\n\\t\\t\\t\\t\\tt(data, type, row, meta) :\\n\\t\\t\\t\\t\\tdata;\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\telse if ( mSource === null )\\n\\t\\t{\\n\\t\\t\\t/* Give an empty string for rendering / sorting etc */\\n\\t\\t\\treturn function (data) { // type, row and meta also passed, but not used\\n\\t\\t\\t\\treturn data;\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\telse if ( typeof mSource === 'function' )\\n\\t\\t{\\n\\t\\t\\treturn function (data, type, row, meta) {\\n\\t\\t\\t\\treturn mSource( data, type, row, meta );\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\telse if ( typeof mSource === 'string' && (mSource.indexOf('.') !== -1 ||\\n\\t\\t\\t      mSource.indexOf('[') !== -1 || mSource.indexOf('(') !== -1) )\\n\\t\\t{\\n\\t\\t\\t/* If there is a . in the source string then the data source is in a\\n\\t\\t\\t * nested object so we loop over the data for each level to get the next\\n\\t\\t\\t * level down. On each loop we test for undefined, and if found immediately\\n\\t\\t\\t * return. This allows entire objects to be missing and sDefaultContent to\\n\\t\\t\\t * be used if defined, rather than throwing an error\\n\\t\\t\\t */\\n\\t\\t\\tvar fetchData = function (data, type, src) {\\n\\t\\t\\t\\tvar arrayNotation, funcNotation, out, innerSrc;\\n\\t\\n\\t\\t\\t\\tif ( src !== \\\"\\\" )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tvar a = _fnSplitObjNotation( src );\\n\\t\\n\\t\\t\\t\\t\\tfor ( var i=0, iLen=a.length ; i<iLen ; i++ )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t// Check if we are dealing with special notation\\n\\t\\t\\t\\t\\t\\tarrayNotation = a[i].match(__reArray);\\n\\t\\t\\t\\t\\t\\tfuncNotation = a[i].match(__reFn);\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( arrayNotation )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t// Array notation\\n\\t\\t\\t\\t\\t\\t\\ta[i] = a[i].replace(__reArray, '');\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t// Condition allows simply [] to be passed in\\n\\t\\t\\t\\t\\t\\t\\tif ( a[i] !== \\\"\\\" ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tdata = data[ a[i] ];\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\tout = [];\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t// Get the remainder of the nested object to get\\n\\t\\t\\t\\t\\t\\t\\ta.splice( 0, i+1 );\\n\\t\\t\\t\\t\\t\\t\\tinnerSrc = a.join('.');\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t// Traverse each entry in the array getting the properties requested\\n\\t\\t\\t\\t\\t\\t\\tif ( $.isArray( data ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tfor ( var j=0, jLen=data.length ; j<jLen ; j++ ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tout.push( fetchData( data[j], type, innerSrc ) );\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t// If a string is given in between the array notation indicators, that\\n\\t\\t\\t\\t\\t\\t\\t// is used to join the strings together, otherwise an array is returned\\n\\t\\t\\t\\t\\t\\t\\tvar join = arrayNotation[0].substring(1, arrayNotation[0].length-1);\\n\\t\\t\\t\\t\\t\\t\\tdata = (join===\\\"\\\") ? out : out.join(join);\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t// The inner call to fetchData has already traversed through the remainder\\n\\t\\t\\t\\t\\t\\t\\t// of the source requested, so we exit from the loop\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\telse if ( funcNotation )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t// Function call\\n\\t\\t\\t\\t\\t\\t\\ta[i] = a[i].replace(__reFn, '');\\n\\t\\t\\t\\t\\t\\t\\tdata = data[ a[i] ]();\\n\\t\\t\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( data === null || data[ a[i] ] === undefined )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\treturn undefined;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tdata = data[ a[i] ];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\treturn data;\\n\\t\\t\\t};\\n\\t\\n\\t\\t\\treturn function (data, type) { // row and meta also passed, but not used\\n\\t\\t\\t\\treturn fetchData( data, type, mSource );\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\t/* Array or flat object mapping */\\n\\t\\t\\treturn function (data, type) { // row and meta also passed, but not used\\n\\t\\t\\t\\treturn data[mSource];\\n\\t\\t\\t};\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Return a function that can be used to set data from a source object, taking\\n\\t * into account the ability to use nested objects as a source\\n\\t *  @param {string|int|function} mSource The data source for the object\\n\\t *  @returns {function} Data set function\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSetObjectDataFn( mSource )\\n\\t{\\n\\t\\tif ( $.isPlainObject( mSource ) )\\n\\t\\t{\\n\\t\\t\\t/* Unlike get, only the underscore (global) option is used for for\\n\\t\\t\\t * setting data since we don't know the type here. This is why an object\\n\\t\\t\\t * option is not documented for `mData` (which is read/write), but it is\\n\\t\\t\\t * for `mRender` which is read only.\\n\\t\\t\\t */\\n\\t\\t\\treturn _fnSetObjectDataFn( mSource._ );\\n\\t\\t}\\n\\t\\telse if ( mSource === null )\\n\\t\\t{\\n\\t\\t\\t/* Nothing to do when the data source is null */\\n\\t\\t\\treturn function () {};\\n\\t\\t}\\n\\t\\telse if ( typeof mSource === 'function' )\\n\\t\\t{\\n\\t\\t\\treturn function (data, val, meta) {\\n\\t\\t\\t\\tmSource( data, 'set', val, meta );\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\telse if ( typeof mSource === 'string' && (mSource.indexOf('.') !== -1 ||\\n\\t\\t\\t      mSource.indexOf('[') !== -1 || mSource.indexOf('(') !== -1) )\\n\\t\\t{\\n\\t\\t\\t/* Like the get, we need to get data from a nested object */\\n\\t\\t\\tvar setData = function (data, val, src) {\\n\\t\\t\\t\\tvar a = _fnSplitObjNotation( src ), b;\\n\\t\\t\\t\\tvar aLast = a[a.length-1];\\n\\t\\t\\t\\tvar arrayNotation, funcNotation, o, innerSrc;\\n\\t\\n\\t\\t\\t\\tfor ( var i=0, iLen=a.length-1 ; i<iLen ; i++ )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t// Check if we are dealing with an array notation request\\n\\t\\t\\t\\t\\tarrayNotation = a[i].match(__reArray);\\n\\t\\t\\t\\t\\tfuncNotation = a[i].match(__reFn);\\n\\t\\n\\t\\t\\t\\t\\tif ( arrayNotation )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\ta[i] = a[i].replace(__reArray, '');\\n\\t\\t\\t\\t\\t\\tdata[ a[i] ] = [];\\n\\t\\n\\t\\t\\t\\t\\t\\t// Get the remainder of the nested object to set so we can recurse\\n\\t\\t\\t\\t\\t\\tb = a.slice();\\n\\t\\t\\t\\t\\t\\tb.splice( 0, i+1 );\\n\\t\\t\\t\\t\\t\\tinnerSrc = b.join('.');\\n\\t\\n\\t\\t\\t\\t\\t\\t// Traverse each entry in the array setting the properties requested\\n\\t\\t\\t\\t\\t\\tif ( $.isArray( val ) )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\tfor ( var j=0, jLen=val.length ; j<jLen ; j++ )\\n\\t\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t\\to = {};\\n\\t\\t\\t\\t\\t\\t\\t\\tsetData( o, val[j], innerSrc );\\n\\t\\t\\t\\t\\t\\t\\t\\tdata[ a[i] ].push( o );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\telse\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\t// We've been asked to save data to an array, but it\\n\\t\\t\\t\\t\\t\\t\\t// isn't array data to be saved. Best that can be done\\n\\t\\t\\t\\t\\t\\t\\t// is to just save the value.\\n\\t\\t\\t\\t\\t\\t\\tdata[ a[i] ] = val;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\t// The inner call to setData has already traversed through the remainder\\n\\t\\t\\t\\t\\t\\t// of the source and has set the data, thus we can exit here\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( funcNotation )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t// Function call\\n\\t\\t\\t\\t\\t\\ta[i] = a[i].replace(__reFn, '');\\n\\t\\t\\t\\t\\t\\tdata = data[ a[i] ]( val );\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t// If the nested object doesn't currently exist - since we are\\n\\t\\t\\t\\t\\t// trying to set the value - create it\\n\\t\\t\\t\\t\\tif ( data[ a[i] ] === null || data[ a[i] ] === undefined )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tdata[ a[i] ] = {};\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tdata = data[ a[i] ];\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// Last item in the input - i.e, the actual set\\n\\t\\t\\t\\tif ( aLast.match(__reFn ) )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t// Function call\\n\\t\\t\\t\\t\\tdata = data[ aLast.replace(__reFn, '') ]( val );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t// If array notation is used, we just want to strip it and use the property name\\n\\t\\t\\t\\t\\t// and assign the value. If it isn't used, then we get the result we want anyway\\n\\t\\t\\t\\t\\tdata[ aLast.replace(__reArray, '') ] = val;\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\n\\t\\t\\treturn function (data, val) { // meta is also passed in, but not used\\n\\t\\t\\t\\treturn setData( data, val, mSource );\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\t/* Array or flat object mapping */\\n\\t\\t\\treturn function (data, val) { // meta is also passed in, but not used\\n\\t\\t\\t\\tdata[mSource] = val;\\n\\t\\t\\t};\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Return an array with the full table data\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @returns array {array} aData Master data array\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetDataMaster ( settings )\\n\\t{\\n\\t\\treturn _pluck( settings.aoData, '_aData' );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Nuke the table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnClearTable( settings )\\n\\t{\\n\\t\\tsettings.aoData.length = 0;\\n\\t\\tsettings.aiDisplayMaster.length = 0;\\n\\t\\tsettings.aiDisplay.length = 0;\\n\\t\\tsettings.aIds = {};\\n\\t}\\n\\t\\n\\t\\n\\t /**\\n\\t * Take an array of integers (index array) and remove a target integer (value - not\\n\\t * the key!)\\n\\t *  @param {array} a Index array to target\\n\\t *  @param {int} iTarget value to find\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnDeleteIndex( a, iTarget, splice )\\n\\t{\\n\\t\\tvar iTargetIndex = -1;\\n\\t\\n\\t\\tfor ( var i=0, iLen=a.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\tif ( a[i] == iTarget )\\n\\t\\t\\t{\\n\\t\\t\\t\\tiTargetIndex = i;\\n\\t\\t\\t}\\n\\t\\t\\telse if ( a[i] > iTarget )\\n\\t\\t\\t{\\n\\t\\t\\t\\ta[i]--;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\tif ( iTargetIndex != -1 && splice === undefined )\\n\\t\\t{\\n\\t\\t\\ta.splice( iTargetIndex, 1 );\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Mark cached data as invalid such that a re-read of the data will occur when\\n\\t * the cached data is next requested. Also update from the data source object.\\n\\t *\\n\\t * @param {object} settings DataTables settings object\\n\\t * @param {int}    rowIdx   Row index to invalidate\\n\\t * @param {string} [src]    Source to invalidate from: undefined, 'auto', 'dom'\\n\\t *     or 'data'\\n\\t * @param {int}    [colIdx] Column index to invalidate. If undefined the whole\\n\\t *     row will be invalidated\\n\\t * @memberof DataTable#oApi\\n\\t *\\n\\t * @todo For the modularisation of v1.11 this will need to become a callback, so\\n\\t *   the sort and filter methods can subscribe to it. That will required\\n\\t *   initialisation options for sorting, which is why it is not already baked in\\n\\t */\\n\\tfunction _fnInvalidate( settings, rowIdx, src, colIdx )\\n\\t{\\n\\t\\tvar row = settings.aoData[ rowIdx ];\\n\\t\\tvar i, ien;\\n\\t\\tvar cellWrite = function ( cell, col ) {\\n\\t\\t\\t// This is very frustrating, but in IE if you just write directly\\n\\t\\t\\t// to innerHTML, and elements that are overwritten are GC'ed,\\n\\t\\t\\t// even if there is a reference to them elsewhere\\n\\t\\t\\twhile ( cell.childNodes.length ) {\\n\\t\\t\\t\\tcell.removeChild( cell.firstChild );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tcell.innerHTML = _fnGetCellData( settings, rowIdx, col, 'display' );\\n\\t\\t};\\n\\t\\n\\t\\t// Are we reading last data from DOM or the data object?\\n\\t\\tif ( src === 'dom' || ((! src || src === 'auto') && row.src === 'dom') ) {\\n\\t\\t\\t// Read the data from the DOM\\n\\t\\t\\trow._aData = _fnGetRowElements(\\n\\t\\t\\t\\t\\tsettings, row, colIdx, colIdx === undefined ? undefined : row._aData\\n\\t\\t\\t\\t)\\n\\t\\t\\t\\t.data;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// Reading from data object, update the DOM\\n\\t\\t\\tvar cells = row.anCells;\\n\\t\\n\\t\\t\\tif ( cells ) {\\n\\t\\t\\t\\tif ( colIdx !== undefined ) {\\n\\t\\t\\t\\t\\tcellWrite( cells[colIdx], colIdx );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tfor ( i=0, ien=cells.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\t\\tcellWrite( cells[i], i );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t// For both row and cell invalidation, the cached data for sorting and\\n\\t\\t// filtering is nulled out\\n\\t\\trow._aSortData = null;\\n\\t\\trow._aFilterData = null;\\n\\t\\n\\t\\t// Invalidate the type for a specific column (if given) or all columns since\\n\\t\\t// the data might have changed\\n\\t\\tvar cols = settings.aoColumns;\\n\\t\\tif ( colIdx !== undefined ) {\\n\\t\\t\\tcols[ colIdx ].sType = null;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tfor ( i=0, ien=cols.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tcols[i].sType = null;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Update DataTables special `DT_*` attributes for the row\\n\\t\\t\\t_fnRowAttributes( settings, row );\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Build a data source object from an HTML row, reading the contents of the\\n\\t * cells that are in the row.\\n\\t *\\n\\t * @param {object} settings DataTables settings object\\n\\t * @param {node|object} TR element from which to read data or existing row\\n\\t *   object from which to re-read the data from the cells\\n\\t * @param {int} [colIdx] Optional column index\\n\\t * @param {array|object} [d] Data source object. If `colIdx` is given then this\\n\\t *   parameter should also be given and will be used to write the data into.\\n\\t *   Only the column in question will be written\\n\\t * @returns {object} Object with two parameters: `data` the data read, in\\n\\t *   document order, and `cells` and array of nodes (they can be useful to the\\n\\t *   caller, so rather than needing a second traversal to get them, just return\\n\\t *   them from here).\\n\\t * @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetRowElements( settings, row, colIdx, d )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ttds = [],\\n\\t\\t\\ttd = row.firstChild,\\n\\t\\t\\tname, col, o, i=0, contents,\\n\\t\\t\\tcolumns = settings.aoColumns,\\n\\t\\t\\tobjectRead = settings._rowReadObject;\\n\\t\\n\\t\\t// Allow the data object to be passed in, or construct\\n\\t\\td = d !== undefined ?\\n\\t\\t\\td :\\n\\t\\t\\tobjectRead ?\\n\\t\\t\\t\\t{} :\\n\\t\\t\\t\\t[];\\n\\t\\n\\t\\tvar attr = function ( str, td  ) {\\n\\t\\t\\tif ( typeof str === 'string' ) {\\n\\t\\t\\t\\tvar idx = str.indexOf('@');\\n\\t\\n\\t\\t\\t\\tif ( idx !== -1 ) {\\n\\t\\t\\t\\t\\tvar attr = str.substring( idx+1 );\\n\\t\\t\\t\\t\\tvar setter = _fnSetObjectDataFn( str );\\n\\t\\t\\t\\t\\tsetter( d, td.getAttribute( attr ) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\n\\t\\t// Read data from a cell and store into the data object\\n\\t\\tvar cellProcess = function ( cell ) {\\n\\t\\t\\tif ( colIdx === undefined || colIdx === i ) {\\n\\t\\t\\t\\tcol = columns[i];\\n\\t\\t\\t\\tcontents = $.trim(cell.innerHTML);\\n\\t\\n\\t\\t\\t\\tif ( col && col._bAttrSrc ) {\\n\\t\\t\\t\\t\\tvar setter = _fnSetObjectDataFn( col.mData._ );\\n\\t\\t\\t\\t\\tsetter( d, contents );\\n\\t\\n\\t\\t\\t\\t\\tattr( col.mData.sort, cell );\\n\\t\\t\\t\\t\\tattr( col.mData.type, cell );\\n\\t\\t\\t\\t\\tattr( col.mData.filter, cell );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t// Depending on the `data` option for the columns the data can\\n\\t\\t\\t\\t\\t// be read to either an object or an array.\\n\\t\\t\\t\\t\\tif ( objectRead ) {\\n\\t\\t\\t\\t\\t\\tif ( ! col._setter ) {\\n\\t\\t\\t\\t\\t\\t\\t// Cache the setter function\\n\\t\\t\\t\\t\\t\\t\\tcol._setter = _fnSetObjectDataFn( col.mData );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tcol._setter( d, contents );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\td[i] = contents;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\ti++;\\n\\t\\t};\\n\\t\\n\\t\\tif ( td ) {\\n\\t\\t\\t// `tr` element was passed in\\n\\t\\t\\twhile ( td ) {\\n\\t\\t\\t\\tname = td.nodeName.toUpperCase();\\n\\t\\n\\t\\t\\t\\tif ( name == \\\"TD\\\" || name == \\\"TH\\\" ) {\\n\\t\\t\\t\\t\\tcellProcess( td );\\n\\t\\t\\t\\t\\ttds.push( td );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\ttd = td.nextSibling;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// Existing row object passed in\\n\\t\\t\\ttds = row.anCells;\\n\\t\\n\\t\\t\\tfor ( var j=0, jen=tds.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\tcellProcess( tds[j] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t// Read the ID from the DOM if present\\n\\t\\tvar rowNode = row.firstChild ? row : row.nTr;\\n\\t\\n\\t\\tif ( rowNode ) {\\n\\t\\t\\tvar id = rowNode.getAttribute( 'id' );\\n\\t\\n\\t\\t\\tif ( id ) {\\n\\t\\t\\t\\t_fnSetObjectDataFn( settings.rowId )( d, id );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn {\\n\\t\\t\\tdata: d,\\n\\t\\t\\tcells: tds\\n\\t\\t};\\n\\t}\\n\\t/**\\n\\t * Create a new TR element (and it's TD children) for a row\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {int} iRow Row to consider\\n\\t *  @param {node} [nTrIn] TR element to add to the table - optional. If not given,\\n\\t *    DataTables will create a row automatically\\n\\t *  @param {array} [anTds] Array of TD|TH elements for the row - must be given\\n\\t *    if nTr is.\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnCreateTr ( oSettings, iRow, nTrIn, anTds )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\trow = oSettings.aoData[iRow],\\n\\t\\t\\trowData = row._aData,\\n\\t\\t\\tcells = [],\\n\\t\\t\\tnTr, nTd, oCol,\\n\\t\\t\\ti, iLen;\\n\\t\\n\\t\\tif ( row.nTr === null )\\n\\t\\t{\\n\\t\\t\\tnTr = nTrIn || document.createElement('tr');\\n\\t\\n\\t\\t\\trow.nTr = nTr;\\n\\t\\t\\trow.anCells = cells;\\n\\t\\n\\t\\t\\t/* Use a private property on the node to allow reserve mapping from the node\\n\\t\\t\\t * to the aoData array for fast look up\\n\\t\\t\\t */\\n\\t\\t\\tnTr._DT_RowIndex = iRow;\\n\\t\\n\\t\\t\\t/* Special parameters can be given by the data source to be used on the row */\\n\\t\\t\\t_fnRowAttributes( oSettings, row );\\n\\t\\n\\t\\t\\t/* Process each column */\\n\\t\\t\\tfor ( i=0, iLen=oSettings.aoColumns.length ; i<iLen ; i++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\toCol = oSettings.aoColumns[i];\\n\\t\\n\\t\\t\\t\\tnTd = nTrIn ? anTds[i] : document.createElement( oCol.sCellType );\\n\\t\\t\\t\\tnTd._DT_CellIndex = {\\n\\t\\t\\t\\t\\trow: iRow,\\n\\t\\t\\t\\t\\tcolumn: i\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\n\\t\\t\\t\\tcells.push( nTd );\\n\\t\\n\\t\\t\\t\\t// Need to create the HTML if new, or if a rendering function is defined\\n\\t\\t\\t\\tif ( (!nTrIn || oCol.mRender || oCol.mData !== i) &&\\n\\t\\t\\t\\t\\t (!$.isPlainObject(oCol.mData) || oCol.mData._ !== i+'.display')\\n\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\tnTd.innerHTML = _fnGetCellData( oSettings, iRow, i, 'display' );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t/* Add user defined class */\\n\\t\\t\\t\\tif ( oCol.sClass )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tnTd.className += ' '+oCol.sClass;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// Visibility - add or remove as required\\n\\t\\t\\t\\tif ( oCol.bVisible && ! nTrIn )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tnTr.appendChild( nTd );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( ! oCol.bVisible && nTrIn )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tnTd.parentNode.removeChild( nTd );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tif ( oCol.fnCreatedCell )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\toCol.fnCreatedCell.call( oSettings.oInstance,\\n\\t\\t\\t\\t\\t\\tnTd, _fnGetCellData( oSettings, iRow, i ), rowData, iRow, i\\n\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t_fnCallbackFire( oSettings, 'aoRowCreatedCallback', null, [nTr, rowData, iRow, cells] );\\n\\t\\t}\\n\\t\\n\\t\\t// Remove once webkit bug 131819 and Chromium bug 365619 have been resolved\\n\\t\\t// and deployed\\n\\t\\trow.nTr.setAttribute( 'role', 'row' );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Add attributes to a row based on the special `DT_*` parameters in a data\\n\\t * source object.\\n\\t *  @param {object} settings DataTables settings object\\n\\t *  @param {object} DataTables row object for the row to be modified\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnRowAttributes( settings, row )\\n\\t{\\n\\t\\tvar tr = row.nTr;\\n\\t\\tvar data = row._aData;\\n\\t\\n\\t\\tif ( tr ) {\\n\\t\\t\\tvar id = settings.rowIdFn( data );\\n\\t\\n\\t\\t\\tif ( id ) {\\n\\t\\t\\t\\ttr.id = id;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( data.DT_RowClass ) {\\n\\t\\t\\t\\t// Remove any classes added by DT_RowClass before\\n\\t\\t\\t\\tvar a = data.DT_RowClass.split(' ');\\n\\t\\t\\t\\trow.__rowc = row.__rowc ?\\n\\t\\t\\t\\t\\t_unique( row.__rowc.concat( a ) ) :\\n\\t\\t\\t\\t\\ta;\\n\\t\\n\\t\\t\\t\\t$(tr)\\n\\t\\t\\t\\t\\t.removeClass( row.__rowc.join(' ') )\\n\\t\\t\\t\\t\\t.addClass( data.DT_RowClass );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( data.DT_RowAttr ) {\\n\\t\\t\\t\\t$(tr).attr( data.DT_RowAttr );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( data.DT_RowData ) {\\n\\t\\t\\t\\t$(tr).data( data.DT_RowData );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Create the HTML header for the table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnBuildHead( oSettings )\\n\\t{\\n\\t\\tvar i, ien, cell, row, column;\\n\\t\\tvar thead = oSettings.nTHead;\\n\\t\\tvar tfoot = oSettings.nTFoot;\\n\\t\\tvar createHeader = $('th, td', thead).length === 0;\\n\\t\\tvar classes = oSettings.oClasses;\\n\\t\\tvar columns = oSettings.aoColumns;\\n\\t\\n\\t\\tif ( createHeader ) {\\n\\t\\t\\trow = $('<tr/>').appendTo( thead );\\n\\t\\t}\\n\\t\\n\\t\\tfor ( i=0, ien=columns.length ; i<ien ; i++ ) {\\n\\t\\t\\tcolumn = columns[i];\\n\\t\\t\\tcell = $( column.nTh ).addClass( column.sClass );\\n\\t\\n\\t\\t\\tif ( createHeader ) {\\n\\t\\t\\t\\tcell.appendTo( row );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// 1.11 move into sorting\\n\\t\\t\\tif ( oSettings.oFeatures.bSort ) {\\n\\t\\t\\t\\tcell.addClass( column.sSortingClass );\\n\\t\\n\\t\\t\\t\\tif ( column.bSortable !== false ) {\\n\\t\\t\\t\\t\\tcell\\n\\t\\t\\t\\t\\t\\t.attr( 'tabindex', oSettings.iTabIndex )\\n\\t\\t\\t\\t\\t\\t.attr( 'aria-controls', oSettings.sTableId );\\n\\t\\n\\t\\t\\t\\t\\t_fnSortAttachListener( oSettings, column.nTh, i );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( column.sTitle != cell[0].innerHTML ) {\\n\\t\\t\\t\\tcell.html( column.sTitle );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t_fnRenderer( oSettings, 'header' )(\\n\\t\\t\\t\\toSettings, cell, column, classes\\n\\t\\t\\t);\\n\\t\\t}\\n\\t\\n\\t\\tif ( createHeader ) {\\n\\t\\t\\t_fnDetectHeader( oSettings.aoHeader, thead );\\n\\t\\t}\\n\\t\\t\\n\\t\\t/* ARIA role for the rows */\\n\\t \\t$(thead).find('>tr').attr('role', 'row');\\n\\t\\n\\t\\t/* Deal with the footer - add classes if required */\\n\\t\\t$(thead).find('>tr>th, >tr>td').addClass( classes.sHeaderTH );\\n\\t\\t$(tfoot).find('>tr>th, >tr>td').addClass( classes.sFooterTH );\\n\\t\\n\\t\\t// Cache the footer cells. Note that we only take the cells from the first\\n\\t\\t// row in the footer. If there is more than one row the user wants to\\n\\t\\t// interact with, they need to use the table().foot() method. Note also this\\n\\t\\t// allows cells to be used for multiple columns using colspan\\n\\t\\tif ( tfoot !== null ) {\\n\\t\\t\\tvar cells = oSettings.aoFooter[0];\\n\\t\\n\\t\\t\\tfor ( i=0, ien=cells.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tcolumn = columns[i];\\n\\t\\t\\t\\tcolumn.nTf = cells[i].cell;\\n\\t\\n\\t\\t\\t\\tif ( column.sClass ) {\\n\\t\\t\\t\\t\\t$(column.nTf).addClass( column.sClass );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Draw the header (or footer) element based on the column visibility states. The\\n\\t * methodology here is to use the layout array from _fnDetectHeader, modified for\\n\\t * the instantaneous column visibility, to construct the new layout. The grid is\\n\\t * traversed over cell at a time in a rows x columns grid fashion, although each\\n\\t * cell insert can cover multiple elements in the grid - which is tracks using the\\n\\t * aApplied array. Cell inserts in the grid will only occur where there isn't\\n\\t * already a cell in that position.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param array {objects} aoSource Layout array from _fnDetectHeader\\n\\t *  @param {boolean} [bIncludeHidden=false] If true then include the hidden columns in the calc,\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnDrawHead( oSettings, aoSource, bIncludeHidden )\\n\\t{\\n\\t\\tvar i, iLen, j, jLen, k, kLen, n, nLocalTr;\\n\\t\\tvar aoLocal = [];\\n\\t\\tvar aApplied = [];\\n\\t\\tvar iColumns = oSettings.aoColumns.length;\\n\\t\\tvar iRowspan, iColspan;\\n\\t\\n\\t\\tif ( ! aoSource )\\n\\t\\t{\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tif (  bIncludeHidden === undefined )\\n\\t\\t{\\n\\t\\t\\tbIncludeHidden = false;\\n\\t\\t}\\n\\t\\n\\t\\t/* Make a copy of the master layout array, but without the visible columns in it */\\n\\t\\tfor ( i=0, iLen=aoSource.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\taoLocal[i] = aoSource[i].slice();\\n\\t\\t\\taoLocal[i].nTr = aoSource[i].nTr;\\n\\t\\n\\t\\t\\t/* Remove any columns which are currently hidden */\\n\\t\\t\\tfor ( j=iColumns-1 ; j>=0 ; j-- )\\n\\t\\t\\t{\\n\\t\\t\\t\\tif ( !oSettings.aoColumns[j].bVisible && !bIncludeHidden )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\taoLocal[i].splice( j, 1 );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t/* Prep the applied array - it needs an element for each row */\\n\\t\\t\\taApplied.push( [] );\\n\\t\\t}\\n\\t\\n\\t\\tfor ( i=0, iLen=aoLocal.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\tnLocalTr = aoLocal[i].nTr;\\n\\t\\n\\t\\t\\t/* All cells are going to be replaced, so empty out the row */\\n\\t\\t\\tif ( nLocalTr )\\n\\t\\t\\t{\\n\\t\\t\\t\\twhile( (n = nLocalTr.firstChild) )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tnLocalTr.removeChild( n );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tfor ( j=0, jLen=aoLocal[i].length ; j<jLen ; j++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tiRowspan = 1;\\n\\t\\t\\t\\tiColspan = 1;\\n\\t\\n\\t\\t\\t\\t/* Check to see if there is already a cell (row/colspan) covering our target\\n\\t\\t\\t\\t * insert point. If there is, then there is nothing to do.\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\tif ( aApplied[i][j] === undefined )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tnLocalTr.appendChild( aoLocal[i][j].cell );\\n\\t\\t\\t\\t\\taApplied[i][j] = 1;\\n\\t\\n\\t\\t\\t\\t\\t/* Expand the cell to cover as many rows as needed */\\n\\t\\t\\t\\t\\twhile ( aoLocal[i+iRowspan] !== undefined &&\\n\\t\\t\\t\\t\\t        aoLocal[i][j].cell == aoLocal[i+iRowspan][j].cell )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\taApplied[i+iRowspan][j] = 1;\\n\\t\\t\\t\\t\\t\\tiRowspan++;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t/* Expand the cell to cover as many columns as needed */\\n\\t\\t\\t\\t\\twhile ( aoLocal[i][j+iColspan] !== undefined &&\\n\\t\\t\\t\\t\\t        aoLocal[i][j].cell == aoLocal[i][j+iColspan].cell )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t/* Must update the applied array over the rows for the columns */\\n\\t\\t\\t\\t\\t\\tfor ( k=0 ; k<iRowspan ; k++ )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\taApplied[i+k][j+iColspan] = 1;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tiColspan++;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t/* Do the actual expansion in the DOM */\\n\\t\\t\\t\\t\\t$(aoLocal[i][j].cell)\\n\\t\\t\\t\\t\\t\\t.attr('rowspan', iRowspan)\\n\\t\\t\\t\\t\\t\\t.attr('colspan', iColspan);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Insert the required TR nodes into the table for display\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnDraw( oSettings )\\n\\t{\\n\\t\\t/* Provide a pre-callback function which can be used to cancel the draw is false is returned */\\n\\t\\tvar aPreDraw = _fnCallbackFire( oSettings, 'aoPreDrawCallback', 'preDraw', [oSettings] );\\n\\t\\tif ( $.inArray( false, aPreDraw ) !== -1 )\\n\\t\\t{\\n\\t\\t\\t_fnProcessingDisplay( oSettings, false );\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tvar i, iLen, n;\\n\\t\\tvar anRows = [];\\n\\t\\tvar iRowCount = 0;\\n\\t\\tvar asStripeClasses = oSettings.asStripeClasses;\\n\\t\\tvar iStripes = asStripeClasses.length;\\n\\t\\tvar iOpenRows = oSettings.aoOpenRows.length;\\n\\t\\tvar oLang = oSettings.oLanguage;\\n\\t\\tvar iInitDisplayStart = oSettings.iInitDisplayStart;\\n\\t\\tvar bServerSide = _fnDataSource( oSettings ) == 'ssp';\\n\\t\\tvar aiDisplay = oSettings.aiDisplay;\\n\\t\\n\\t\\toSettings.bDrawing = true;\\n\\t\\n\\t\\t/* Check and see if we have an initial draw position from state saving */\\n\\t\\tif ( iInitDisplayStart !== undefined && iInitDisplayStart !== -1 )\\n\\t\\t{\\n\\t\\t\\toSettings._iDisplayStart = bServerSide ?\\n\\t\\t\\t\\tiInitDisplayStart :\\n\\t\\t\\t\\tiInitDisplayStart >= oSettings.fnRecordsDisplay() ?\\n\\t\\t\\t\\t\\t0 :\\n\\t\\t\\t\\t\\tiInitDisplayStart;\\n\\t\\n\\t\\t\\toSettings.iInitDisplayStart = -1;\\n\\t\\t}\\n\\t\\n\\t\\tvar iDisplayStart = oSettings._iDisplayStart;\\n\\t\\tvar iDisplayEnd = oSettings.fnDisplayEnd();\\n\\t\\n\\t\\t/* Server-side processing draw intercept */\\n\\t\\tif ( oSettings.bDeferLoading )\\n\\t\\t{\\n\\t\\t\\toSettings.bDeferLoading = false;\\n\\t\\t\\toSettings.iDraw++;\\n\\t\\t\\t_fnProcessingDisplay( oSettings, false );\\n\\t\\t}\\n\\t\\telse if ( !bServerSide )\\n\\t\\t{\\n\\t\\t\\toSettings.iDraw++;\\n\\t\\t}\\n\\t\\telse if ( !oSettings.bDestroying && !_fnAjaxUpdate( oSettings ) )\\n\\t\\t{\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tif ( aiDisplay.length !== 0 )\\n\\t\\t{\\n\\t\\t\\tvar iStart = bServerSide ? 0 : iDisplayStart;\\n\\t\\t\\tvar iEnd = bServerSide ? oSettings.aoData.length : iDisplayEnd;\\n\\t\\n\\t\\t\\tfor ( var j=iStart ; j<iEnd ; j++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tvar iDataIndex = aiDisplay[j];\\n\\t\\t\\t\\tvar aoData = oSettings.aoData[ iDataIndex ];\\n\\t\\t\\t\\tif ( aoData.nTr === null )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t_fnCreateTr( oSettings, iDataIndex );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tvar nRow = aoData.nTr;\\n\\t\\n\\t\\t\\t\\t/* Remove the old striping classes and then add the new one */\\n\\t\\t\\t\\tif ( iStripes !== 0 )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tvar sStripe = asStripeClasses[ iRowCount % iStripes ];\\n\\t\\t\\t\\t\\tif ( aoData._sRowStripe != sStripe )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t$(nRow).removeClass( aoData._sRowStripe ).addClass( sStripe );\\n\\t\\t\\t\\t\\t\\taoData._sRowStripe = sStripe;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// Row callback functions - might want to manipulate the row\\n\\t\\t\\t\\t// iRowCount and j are not currently documented. Are they at all\\n\\t\\t\\t\\t// useful?\\n\\t\\t\\t\\t_fnCallbackFire( oSettings, 'aoRowCallback', null,\\n\\t\\t\\t\\t\\t[nRow, aoData._aData, iRowCount, j, iDataIndex] );\\n\\t\\n\\t\\t\\t\\tanRows.push( nRow );\\n\\t\\t\\t\\tiRowCount++;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\t/* Table is empty - create a row with an empty message in it */\\n\\t\\t\\tvar sZero = oLang.sZeroRecords;\\n\\t\\t\\tif ( oSettings.iDraw == 1 &&  _fnDataSource( oSettings ) == 'ajax' )\\n\\t\\t\\t{\\n\\t\\t\\t\\tsZero = oLang.sLoadingRecords;\\n\\t\\t\\t}\\n\\t\\t\\telse if ( oLang.sEmptyTable && oSettings.fnRecordsTotal() === 0 )\\n\\t\\t\\t{\\n\\t\\t\\t\\tsZero = oLang.sEmptyTable;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tanRows[ 0 ] = $( '<tr/>', { 'class': iStripes ? asStripeClasses[0] : '' } )\\n\\t\\t\\t\\t.append( $('<td />', {\\n\\t\\t\\t\\t\\t'valign':  'top',\\n\\t\\t\\t\\t\\t'colSpan': _fnVisbleColumns( oSettings ),\\n\\t\\t\\t\\t\\t'class':   oSettings.oClasses.sRowEmpty\\n\\t\\t\\t\\t} ).html( sZero ) )[0];\\n\\t\\t}\\n\\t\\n\\t\\t/* Header and footer callbacks */\\n\\t\\t_fnCallbackFire( oSettings, 'aoHeaderCallback', 'header', [ $(oSettings.nTHead).children('tr')[0],\\n\\t\\t\\t_fnGetDataMaster( oSettings ), iDisplayStart, iDisplayEnd, aiDisplay ] );\\n\\t\\n\\t\\t_fnCallbackFire( oSettings, 'aoFooterCallback', 'footer', [ $(oSettings.nTFoot).children('tr')[0],\\n\\t\\t\\t_fnGetDataMaster( oSettings ), iDisplayStart, iDisplayEnd, aiDisplay ] );\\n\\t\\n\\t\\tvar body = $(oSettings.nTBody);\\n\\t\\n\\t\\tbody.children().detach();\\n\\t\\tbody.append( $(anRows) );\\n\\t\\n\\t\\t/* Call all required callback functions for the end of a draw */\\n\\t\\t_fnCallbackFire( oSettings, 'aoDrawCallback', 'draw', [oSettings] );\\n\\t\\n\\t\\t/* Draw is complete, sorting and filtering must be as well */\\n\\t\\toSettings.bSorted = false;\\n\\t\\toSettings.bFiltered = false;\\n\\t\\toSettings.bDrawing = false;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Redraw the table - taking account of the various features which are enabled\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {boolean} [holdPosition] Keep the current paging position. By default\\n\\t *    the paging is reset to the first page\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnReDraw( settings, holdPosition )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tfeatures = settings.oFeatures,\\n\\t\\t\\tsort     = features.bSort,\\n\\t\\t\\tfilter   = features.bFilter;\\n\\t\\n\\t\\tif ( sort ) {\\n\\t\\t\\t_fnSort( settings );\\n\\t\\t}\\n\\t\\n\\t\\tif ( filter ) {\\n\\t\\t\\t_fnFilterComplete( settings, settings.oPreviousSearch );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// No filtering, so we want to just use the display master\\n\\t\\t\\tsettings.aiDisplay = settings.aiDisplayMaster.slice();\\n\\t\\t}\\n\\t\\n\\t\\tif ( holdPosition !== true ) {\\n\\t\\t\\tsettings._iDisplayStart = 0;\\n\\t\\t}\\n\\t\\n\\t\\t// Let any modules know about the draw hold position state (used by\\n\\t\\t// scrolling internally)\\n\\t\\tsettings._drawHold = holdPosition;\\n\\t\\n\\t\\t_fnDraw( settings );\\n\\t\\n\\t\\tsettings._drawHold = false;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Add the options to the page HTML for the table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAddOptionsHtml ( oSettings )\\n\\t{\\n\\t\\tvar classes = oSettings.oClasses;\\n\\t\\tvar table = $(oSettings.nTable);\\n\\t\\tvar holding = $('<div/>').insertBefore( table ); // Holding element for speed\\n\\t\\tvar features = oSettings.oFeatures;\\n\\t\\n\\t\\t// All DataTables are wrapped in a div\\n\\t\\tvar insert = $('<div/>', {\\n\\t\\t\\tid:      oSettings.sTableId+'_wrapper',\\n\\t\\t\\t'class': classes.sWrapper + (oSettings.nTFoot ? '' : ' '+classes.sNoFooter)\\n\\t\\t} );\\n\\t\\n\\t\\toSettings.nHolding = holding[0];\\n\\t\\toSettings.nTableWrapper = insert[0];\\n\\t\\toSettings.nTableReinsertBefore = oSettings.nTable.nextSibling;\\n\\t\\n\\t\\t/* Loop over the user set positioning and place the elements as needed */\\n\\t\\tvar aDom = oSettings.sDom.split('');\\n\\t\\tvar featureNode, cOption, nNewNode, cNext, sAttr, j;\\n\\t\\tfor ( var i=0 ; i<aDom.length ; i++ )\\n\\t\\t{\\n\\t\\t\\tfeatureNode = null;\\n\\t\\t\\tcOption = aDom[i];\\n\\t\\n\\t\\t\\tif ( cOption == '<' )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* New container div */\\n\\t\\t\\t\\tnNewNode = $('<div/>')[0];\\n\\t\\n\\t\\t\\t\\t/* Check to see if we should append an id and/or a class name to the container */\\n\\t\\t\\t\\tcNext = aDom[i+1];\\n\\t\\t\\t\\tif ( cNext == \\\"'\\\" || cNext == '\\\"' )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tsAttr = \\\"\\\";\\n\\t\\t\\t\\t\\tj = 2;\\n\\t\\t\\t\\t\\twhile ( aDom[i+j] != cNext )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tsAttr += aDom[i+j];\\n\\t\\t\\t\\t\\t\\tj++;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t/* Replace jQuery UI constants @todo depreciated */\\n\\t\\t\\t\\t\\tif ( sAttr == \\\"H\\\" )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tsAttr = classes.sJUIHeader;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( sAttr == \\\"F\\\" )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tsAttr = classes.sJUIFooter;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t/* The attribute can be in the format of \\\"#id.class\\\", \\\"#id\\\" or \\\"class\\\" This logic\\n\\t\\t\\t\\t\\t * breaks the string into parts and applies them as needed\\n\\t\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\tif ( sAttr.indexOf('.') != -1 )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tvar aSplit = sAttr.split('.');\\n\\t\\t\\t\\t\\t\\tnNewNode.id = aSplit[0].substr(1, aSplit[0].length-1);\\n\\t\\t\\t\\t\\t\\tnNewNode.className = aSplit[1];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( sAttr.charAt(0) == \\\"#\\\" )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tnNewNode.id = sAttr.substr(1, sAttr.length-1);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tnNewNode.className = sAttr;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\ti += j; /* Move along the position array */\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tinsert.append( nNewNode );\\n\\t\\t\\t\\tinsert = $(nNewNode);\\n\\t\\t\\t}\\n\\t\\t\\telse if ( cOption == '>' )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* End container div */\\n\\t\\t\\t\\tinsert = insert.parent();\\n\\t\\t\\t}\\n\\t\\t\\t// @todo Move options into their own plugins?\\n\\t\\t\\telse if ( cOption == 'l' && features.bPaginate && features.bLengthChange )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Length */\\n\\t\\t\\t\\tfeatureNode = _fnFeatureHtmlLength( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( cOption == 'f' && features.bFilter )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Filter */\\n\\t\\t\\t\\tfeatureNode = _fnFeatureHtmlFilter( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( cOption == 'r' && features.bProcessing )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* pRocessing */\\n\\t\\t\\t\\tfeatureNode = _fnFeatureHtmlProcessing( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( cOption == 't' )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Table */\\n\\t\\t\\t\\tfeatureNode = _fnFeatureHtmlTable( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( cOption ==  'i' && features.bInfo )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Info */\\n\\t\\t\\t\\tfeatureNode = _fnFeatureHtmlInfo( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( cOption == 'p' && features.bPaginate )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Pagination */\\n\\t\\t\\t\\tfeatureNode = _fnFeatureHtmlPaginate( oSettings );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( DataTable.ext.feature.length !== 0 )\\n\\t\\t\\t{\\n\\t\\t\\t\\t/* Plug-in features */\\n\\t\\t\\t\\tvar aoFeatures = DataTable.ext.feature;\\n\\t\\t\\t\\tfor ( var k=0, kLen=aoFeatures.length ; k<kLen ; k++ )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\tif ( cOption == aoFeatures[k].cFeature )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tfeatureNode = aoFeatures[k].fnInit( oSettings );\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t/* Add to the 2D features array */\\n\\t\\t\\tif ( featureNode )\\n\\t\\t\\t{\\n\\t\\t\\t\\tvar aanFeatures = oSettings.aanFeatures;\\n\\t\\n\\t\\t\\t\\tif ( ! aanFeatures[cOption] )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\taanFeatures[cOption] = [];\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\taanFeatures[cOption].push( featureNode );\\n\\t\\t\\t\\tinsert.append( featureNode );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t/* Built our DOM structure - replace the holding div with what we want */\\n\\t\\tholding.replaceWith( insert );\\n\\t\\toSettings.nHolding = null;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Use the DOM source to create up an array of header cells. The idea here is to\\n\\t * create a layout grid (array) of rows x columns, which contains a reference\\n\\t * to the cell that that point in the grid (regardless of col/rowspan), such that\\n\\t * any column / row could be removed and the new grid constructed\\n\\t *  @param array {object} aLayout Array to store the calculated layout in\\n\\t *  @param {node} nThead The header/footer element for the table\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnDetectHeader ( aLayout, nThead )\\n\\t{\\n\\t\\tvar nTrs = $(nThead).children('tr');\\n\\t\\tvar nTr, nCell;\\n\\t\\tvar i, k, l, iLen, jLen, iColShifted, iColumn, iColspan, iRowspan;\\n\\t\\tvar bUnique;\\n\\t\\tvar fnShiftCol = function ( a, i, j ) {\\n\\t\\t\\tvar k = a[i];\\n\\t                while ( k[j] ) {\\n\\t\\t\\t\\tj++;\\n\\t\\t\\t}\\n\\t\\t\\treturn j;\\n\\t\\t};\\n\\t\\n\\t\\taLayout.splice( 0, aLayout.length );\\n\\t\\n\\t\\t/* We know how many rows there are in the layout - so prep it */\\n\\t\\tfor ( i=0, iLen=nTrs.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\taLayout.push( [] );\\n\\t\\t}\\n\\t\\n\\t\\t/* Calculate a layout array */\\n\\t\\tfor ( i=0, iLen=nTrs.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\tnTr = nTrs[i];\\n\\t\\t\\tiColumn = 0;\\n\\t\\n\\t\\t\\t/* For every cell in the row... */\\n\\t\\t\\tnCell = nTr.firstChild;\\n\\t\\t\\twhile ( nCell ) {\\n\\t\\t\\t\\tif ( nCell.nodeName.toUpperCase() == \\\"TD\\\" ||\\n\\t\\t\\t\\t     nCell.nodeName.toUpperCase() == \\\"TH\\\" )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t/* Get the col and rowspan attributes from the DOM and sanitise them */\\n\\t\\t\\t\\t\\tiColspan = nCell.getAttribute('colspan') * 1;\\n\\t\\t\\t\\t\\tiRowspan = nCell.getAttribute('rowspan') * 1;\\n\\t\\t\\t\\t\\tiColspan = (!iColspan || iColspan===0 || iColspan===1) ? 1 : iColspan;\\n\\t\\t\\t\\t\\tiRowspan = (!iRowspan || iRowspan===0 || iRowspan===1) ? 1 : iRowspan;\\n\\t\\n\\t\\t\\t\\t\\t/* There might be colspan cells already in this row, so shift our target\\n\\t\\t\\t\\t\\t * accordingly\\n\\t\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\tiColShifted = fnShiftCol( aLayout, i, iColumn );\\n\\t\\n\\t\\t\\t\\t\\t/* Cache calculation for unique columns */\\n\\t\\t\\t\\t\\tbUnique = iColspan === 1 ? true : false;\\n\\t\\n\\t\\t\\t\\t\\t/* If there is col / rowspan, copy the information into the layout grid */\\n\\t\\t\\t\\t\\tfor ( l=0 ; l<iColspan ; l++ )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tfor ( k=0 ; k<iRowspan ; k++ )\\n\\t\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\t\\taLayout[i+k][iColShifted+l] = {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\"cell\\\": nCell,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\"unique\\\": bUnique\\n\\t\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t\\t\\taLayout[i+k].nTr = nTr;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tnCell = nCell.nextSibling;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get an array of unique th elements, one for each column\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {node} nHeader automatically detect the layout from this node - optional\\n\\t *  @param {array} aLayout thead/tfoot layout from _fnDetectHeader - optional\\n\\t *  @returns array {node} aReturn list of unique th's\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetUniqueThs ( oSettings, nHeader, aLayout )\\n\\t{\\n\\t\\tvar aReturn = [];\\n\\t\\tif ( !aLayout )\\n\\t\\t{\\n\\t\\t\\taLayout = oSettings.aoHeader;\\n\\t\\t\\tif ( nHeader )\\n\\t\\t\\t{\\n\\t\\t\\t\\taLayout = [];\\n\\t\\t\\t\\t_fnDetectHeader( aLayout, nHeader );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\tfor ( var i=0, iLen=aLayout.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\tfor ( var j=0, jLen=aLayout[i].length ; j<jLen ; j++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tif ( aLayout[i][j].unique &&\\n\\t\\t\\t\\t\\t (!aReturn[j] || !oSettings.bSortCellsTop) )\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\taReturn[j] = aLayout[i][j].cell;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn aReturn;\\n\\t}\\n\\t\\n\\t/**\\n\\t * Create an Ajax call based on the table's settings, taking into account that\\n\\t * parameters can have multiple forms, and backwards compatibility.\\n\\t *\\n\\t * @param {object} oSettings dataTables settings object\\n\\t * @param {array} data Data to send to the server, required by\\n\\t *     DataTables - may be augmented by developer callbacks\\n\\t * @param {function} fn Callback function to run when data is obtained\\n\\t */\\n\\tfunction _fnBuildAjax( oSettings, data, fn )\\n\\t{\\n\\t\\t// Compatibility with 1.9-, allow fnServerData and event to manipulate\\n\\t\\t_fnCallbackFire( oSettings, 'aoServerParams', 'serverParams', [data] );\\n\\t\\n\\t\\t// Convert to object based for 1.10+ if using the old array scheme which can\\n\\t\\t// come from server-side processing or serverParams\\n\\t\\tif ( data && $.isArray(data) ) {\\n\\t\\t\\tvar tmp = {};\\n\\t\\t\\tvar rbracket = /(.*?)\\\\[\\\\]$/;\\n\\t\\n\\t\\t\\t$.each( data, function (key, val) {\\n\\t\\t\\t\\tvar match = val.name.match(rbracket);\\n\\t\\n\\t\\t\\t\\tif ( match ) {\\n\\t\\t\\t\\t\\t// Support for arrays\\n\\t\\t\\t\\t\\tvar name = match[0];\\n\\t\\n\\t\\t\\t\\t\\tif ( ! tmp[ name ] ) {\\n\\t\\t\\t\\t\\t\\ttmp[ name ] = [];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\ttmp[ name ].push( val.value );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\ttmp[val.name] = val.value;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\t\\tdata = tmp;\\n\\t\\t}\\n\\t\\n\\t\\tvar ajaxData;\\n\\t\\tvar ajax = oSettings.ajax;\\n\\t\\tvar instance = oSettings.oInstance;\\n\\t\\tvar callback = function ( json ) {\\n\\t\\t\\t_fnCallbackFire( oSettings, null, 'xhr', [oSettings, json, oSettings.jqXHR] );\\n\\t\\t\\tfn( json );\\n\\t\\t};\\n\\t\\n\\t\\tif ( $.isPlainObject( ajax ) && ajax.data )\\n\\t\\t{\\n\\t\\t\\tajaxData = ajax.data;\\n\\t\\n\\t\\t\\tvar newData = typeof ajaxData === 'function' ?\\n\\t\\t\\t\\tajaxData( data, oSettings ) :  // fn can manipulate data or return\\n\\t\\t\\t\\tajaxData;                      // an object object or array to merge\\n\\t\\n\\t\\t\\t// If the function returned something, use that alone\\n\\t\\t\\tdata = typeof ajaxData === 'function' && newData ?\\n\\t\\t\\t\\tnewData :\\n\\t\\t\\t\\t$.extend( true, data, newData );\\n\\t\\n\\t\\t\\t// Remove the data property as we've resolved it already and don't want\\n\\t\\t\\t// jQuery to do it again (it is restored at the end of the function)\\n\\t\\t\\tdelete ajax.data;\\n\\t\\t}\\n\\t\\n\\t\\tvar baseAjax = {\\n\\t\\t\\t\\\"data\\\": data,\\n\\t\\t\\t\\\"success\\\": function (json) {\\n\\t\\t\\t\\tvar error = json.error || json.sError;\\n\\t\\t\\t\\tif ( error ) {\\n\\t\\t\\t\\t\\t_fnLog( oSettings, 0, error );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\toSettings.json = json;\\n\\t\\t\\t\\tcallback( json );\\n\\t\\t\\t},\\n\\t\\t\\t\\\"dataType\\\": \\\"json\\\",\\n\\t\\t\\t\\\"cache\\\": false,\\n\\t\\t\\t\\\"type\\\": oSettings.sServerMethod,\\n\\t\\t\\t\\\"error\\\": function (xhr, error, thrown) {\\n\\t\\t\\t\\tvar ret = _fnCallbackFire( oSettings, null, 'xhr', [oSettings, null, oSettings.jqXHR] );\\n\\t\\n\\t\\t\\t\\tif ( $.inArray( true, ret ) === -1 ) {\\n\\t\\t\\t\\t\\tif ( error == \\\"parsererror\\\" ) {\\n\\t\\t\\t\\t\\t\\t_fnLog( oSettings, 0, 'Invalid JSON response', 1 );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse if ( xhr.readyState === 4 ) {\\n\\t\\t\\t\\t\\t\\t_fnLog( oSettings, 0, 'Ajax error', 7 );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t_fnProcessingDisplay( oSettings, false );\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\n\\t\\t// Store the data submitted for the API\\n\\t\\toSettings.oAjaxData = data;\\n\\t\\n\\t\\t// Allow plug-ins and external processes to modify the data\\n\\t\\t_fnCallbackFire( oSettings, null, 'preXhr', [oSettings, data] );\\n\\t\\n\\t\\tif ( oSettings.fnServerData )\\n\\t\\t{\\n\\t\\t\\t// DataTables 1.9- compatibility\\n\\t\\t\\toSettings.fnServerData.call( instance,\\n\\t\\t\\t\\toSettings.sAjaxSource,\\n\\t\\t\\t\\t$.map( data, function (val, key) { // Need to convert back to 1.9 trad format\\n\\t\\t\\t\\t\\treturn { name: key, value: val };\\n\\t\\t\\t\\t} ),\\n\\t\\t\\t\\tcallback,\\n\\t\\t\\t\\toSettings\\n\\t\\t\\t);\\n\\t\\t}\\n\\t\\telse if ( oSettings.sAjaxSource || typeof ajax === 'string' )\\n\\t\\t{\\n\\t\\t\\t// DataTables 1.9- compatibility\\n\\t\\t\\toSettings.jqXHR = $.ajax( $.extend( baseAjax, {\\n\\t\\t\\t\\turl: ajax || oSettings.sAjaxSource\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\t\\telse if ( typeof ajax === 'function' )\\n\\t\\t{\\n\\t\\t\\t// Is a function - let the caller define what needs to be done\\n\\t\\t\\toSettings.jqXHR = ajax.call( instance, data, callback, oSettings );\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\t// Object to extend the base settings\\n\\t\\t\\toSettings.jqXHR = $.ajax( $.extend( baseAjax, ajax ) );\\n\\t\\n\\t\\t\\t// Restore for next time around\\n\\t\\t\\tajax.data = ajaxData;\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Update the table using an Ajax call\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @returns {boolean} Block the table drawing or not\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAjaxUpdate( settings )\\n\\t{\\n\\t\\tif ( settings.bAjaxDataGet ) {\\n\\t\\t\\tsettings.iDraw++;\\n\\t\\t\\t_fnProcessingDisplay( settings, true );\\n\\t\\n\\t\\t\\t_fnBuildAjax(\\n\\t\\t\\t\\tsettings,\\n\\t\\t\\t\\t_fnAjaxParameters( settings ),\\n\\t\\t\\t\\tfunction(json) {\\n\\t\\t\\t\\t\\t_fnAjaxUpdateDraw( settings, json );\\n\\t\\t\\t\\t}\\n\\t\\t\\t);\\n\\t\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\treturn true;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Build up the parameters in an object needed for a server-side processing\\n\\t * request. Note that this is basically done twice, is different ways - a modern\\n\\t * method which is used by default in DataTables 1.10 which uses objects and\\n\\t * arrays, or the 1.9- method with is name / value pairs. 1.9 method is used if\\n\\t * the sAjaxSource option is used in the initialisation, or the legacyAjax\\n\\t * option is set.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @returns {bool} block the table drawing or not\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAjaxParameters( settings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tcolumns = settings.aoColumns,\\n\\t\\t\\tcolumnCount = columns.length,\\n\\t\\t\\tfeatures = settings.oFeatures,\\n\\t\\t\\tpreSearch = settings.oPreviousSearch,\\n\\t\\t\\tpreColSearch = settings.aoPreSearchCols,\\n\\t\\t\\ti, data = [], dataProp, column, columnSearch,\\n\\t\\t\\tsort = _fnSortFlatten( settings ),\\n\\t\\t\\tdisplayStart = settings._iDisplayStart,\\n\\t\\t\\tdisplayLength = features.bPaginate !== false ?\\n\\t\\t\\t\\tsettings._iDisplayLength :\\n\\t\\t\\t\\t-1;\\n\\t\\n\\t\\tvar param = function ( name, value ) {\\n\\t\\t\\tdata.push( { 'name': name, 'value': value } );\\n\\t\\t};\\n\\t\\n\\t\\t// DataTables 1.9- compatible method\\n\\t\\tparam( 'sEcho',          settings.iDraw );\\n\\t\\tparam( 'iColumns',       columnCount );\\n\\t\\tparam( 'sColumns',       _pluck( columns, 'sName' ).join(',') );\\n\\t\\tparam( 'iDisplayStart',  displayStart );\\n\\t\\tparam( 'iDisplayLength', displayLength );\\n\\t\\n\\t\\t// DataTables 1.10+ method\\n\\t\\tvar d = {\\n\\t\\t\\tdraw:    settings.iDraw,\\n\\t\\t\\tcolumns: [],\\n\\t\\t\\torder:   [],\\n\\t\\t\\tstart:   displayStart,\\n\\t\\t\\tlength:  displayLength,\\n\\t\\t\\tsearch:  {\\n\\t\\t\\t\\tvalue: preSearch.sSearch,\\n\\t\\t\\t\\tregex: preSearch.bRegex\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\n\\t\\tfor ( i=0 ; i<columnCount ; i++ ) {\\n\\t\\t\\tcolumn = columns[i];\\n\\t\\t\\tcolumnSearch = preColSearch[i];\\n\\t\\t\\tdataProp = typeof column.mData==\\\"function\\\" ? 'function' : column.mData ;\\n\\t\\n\\t\\t\\td.columns.push( {\\n\\t\\t\\t\\tdata:       dataProp,\\n\\t\\t\\t\\tname:       column.sName,\\n\\t\\t\\t\\tsearchable: column.bSearchable,\\n\\t\\t\\t\\torderable:  column.bSortable,\\n\\t\\t\\t\\tsearch:     {\\n\\t\\t\\t\\t\\tvalue: columnSearch.sSearch,\\n\\t\\t\\t\\t\\tregex: columnSearch.bRegex\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\tparam( \\\"mDataProp_\\\"+i, dataProp );\\n\\t\\n\\t\\t\\tif ( features.bFilter ) {\\n\\t\\t\\t\\tparam( 'sSearch_'+i,     columnSearch.sSearch );\\n\\t\\t\\t\\tparam( 'bRegex_'+i,      columnSearch.bRegex );\\n\\t\\t\\t\\tparam( 'bSearchable_'+i, column.bSearchable );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( features.bSort ) {\\n\\t\\t\\t\\tparam( 'bSortable_'+i, column.bSortable );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\tif ( features.bFilter ) {\\n\\t\\t\\tparam( 'sSearch', preSearch.sSearch );\\n\\t\\t\\tparam( 'bRegex', preSearch.bRegex );\\n\\t\\t}\\n\\t\\n\\t\\tif ( features.bSort ) {\\n\\t\\t\\t$.each( sort, function ( i, val ) {\\n\\t\\t\\t\\td.order.push( { column: val.col, dir: val.dir } );\\n\\t\\n\\t\\t\\t\\tparam( 'iSortCol_'+i, val.col );\\n\\t\\t\\t\\tparam( 'sSortDir_'+i, val.dir );\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\tparam( 'iSortingCols', sort.length );\\n\\t\\t}\\n\\t\\n\\t\\t// If the legacy.ajax parameter is null, then we automatically decide which\\n\\t\\t// form to use, based on sAjaxSource\\n\\t\\tvar legacy = DataTable.ext.legacy.ajax;\\n\\t\\tif ( legacy === null ) {\\n\\t\\t\\treturn settings.sAjaxSource ? data : d;\\n\\t\\t}\\n\\t\\n\\t\\t// Otherwise, if legacy has been specified then we use that to decide on the\\n\\t\\t// form\\n\\t\\treturn legacy ? data : d;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Data the data from the server (nuking the old) and redraw the table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {object} json json data return from the server.\\n\\t *  @param {string} json.sEcho Tracking flag for DataTables to match requests\\n\\t *  @param {int} json.iTotalRecords Number of records in the data set, not accounting for filtering\\n\\t *  @param {int} json.iTotalDisplayRecords Number of records in the data set, accounting for filtering\\n\\t *  @param {array} json.aaData The data to display on this page\\n\\t *  @param {string} [json.sColumns] Column ordering (sName, comma separated)\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnAjaxUpdateDraw ( settings, json )\\n\\t{\\n\\t\\t// v1.10 uses camelCase variables, while 1.9 uses Hungarian notation.\\n\\t\\t// Support both\\n\\t\\tvar compat = function ( old, modern ) {\\n\\t\\t\\treturn json[old] !== undefined ? json[old] : json[modern];\\n\\t\\t};\\n\\t\\n\\t\\tvar data = _fnAjaxDataSrc( settings, json );\\n\\t\\tvar draw            = compat( 'sEcho',                'draw' );\\n\\t\\tvar recordsTotal    = compat( 'iTotalRecords',        'recordsTotal' );\\n\\t\\tvar recordsFiltered = compat( 'iTotalDisplayRecords', 'recordsFiltered' );\\n\\t\\n\\t\\tif ( draw ) {\\n\\t\\t\\t// Protect against out of sequence returns\\n\\t\\t\\tif ( draw*1 < settings.iDraw ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\t\\tsettings.iDraw = draw * 1;\\n\\t\\t}\\n\\t\\n\\t\\t_fnClearTable( settings );\\n\\t\\tsettings._iRecordsTotal   = parseInt(recordsTotal, 10);\\n\\t\\tsettings._iRecordsDisplay = parseInt(recordsFiltered, 10);\\n\\t\\n\\t\\tfor ( var i=0, ien=data.length ; i<ien ; i++ ) {\\n\\t\\t\\t_fnAddData( settings, data[i] );\\n\\t\\t}\\n\\t\\tsettings.aiDisplay = settings.aiDisplayMaster.slice();\\n\\t\\n\\t\\tsettings.bAjaxDataGet = false;\\n\\t\\t_fnDraw( settings );\\n\\t\\n\\t\\tif ( ! settings._bInitComplete ) {\\n\\t\\t\\t_fnInitComplete( settings, json );\\n\\t\\t}\\n\\t\\n\\t\\tsettings.bAjaxDataGet = true;\\n\\t\\t_fnProcessingDisplay( settings, false );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the data from the JSON data source to use for drawing a table. Using\\n\\t * `_fnGetObjectDataFn` allows the data to be sourced from a property of the\\n\\t * source object, or from a processing function.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param  {object} json Data source object / array from the server\\n\\t *  @return {array} Array of data to use\\n\\t */\\n\\tfunction _fnAjaxDataSrc ( oSettings, json )\\n\\t{\\n\\t\\tvar dataSrc = $.isPlainObject( oSettings.ajax ) && oSettings.ajax.dataSrc !== undefined ?\\n\\t\\t\\toSettings.ajax.dataSrc :\\n\\t\\t\\toSettings.sAjaxDataProp; // Compatibility with 1.9-.\\n\\t\\n\\t\\t// Compatibility with 1.9-. In order to read from aaData, check if the\\n\\t\\t// default has been changed, if not, check for aaData\\n\\t\\tif ( dataSrc === 'data' ) {\\n\\t\\t\\treturn json.aaData || json[dataSrc];\\n\\t\\t}\\n\\t\\n\\t\\treturn dataSrc !== \\\"\\\" ?\\n\\t\\t\\t_fnGetObjectDataFn( dataSrc )( json ) :\\n\\t\\t\\tjson;\\n\\t}\\n\\t\\n\\t/**\\n\\t * Generate the node required for filtering text\\n\\t *  @returns {node} Filter control element\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFeatureHtmlFilter ( settings )\\n\\t{\\n\\t\\tvar classes = settings.oClasses;\\n\\t\\tvar tableId = settings.sTableId;\\n\\t\\tvar language = settings.oLanguage;\\n\\t\\tvar previousSearch = settings.oPreviousSearch;\\n\\t\\tvar features = settings.aanFeatures;\\n\\t\\tvar input = '<input type=\\\"search\\\" class=\\\"'+classes.sFilterInput+'\\\"/>';\\n\\t\\n\\t\\tvar str = language.sSearch;\\n\\t\\tstr = str.match(/_INPUT_/) ?\\n\\t\\t\\tstr.replace('_INPUT_', input) :\\n\\t\\t\\tstr+input;\\n\\t\\n\\t\\tvar filter = $('<div/>', {\\n\\t\\t\\t\\t'id': ! features.f ? tableId+'_filter' : null,\\n\\t\\t\\t\\t'class': classes.sFilter\\n\\t\\t\\t} )\\n\\t\\t\\t.append( $('<label/>' ).append( str ) );\\n\\t\\n\\t\\tvar searchFn = function() {\\n\\t\\t\\t/* Update all other filter input elements for the new display */\\n\\t\\t\\tvar n = features.f;\\n\\t\\t\\tvar val = !this.value ? \\\"\\\" : this.value; // mental IE8 fix :-(\\n\\t\\n\\t\\t\\t/* Now do the filter */\\n\\t\\t\\tif ( val != previousSearch.sSearch ) {\\n\\t\\t\\t\\t_fnFilterComplete( settings, {\\n\\t\\t\\t\\t\\t\\\"sSearch\\\": val,\\n\\t\\t\\t\\t\\t\\\"bRegex\\\": previousSearch.bRegex,\\n\\t\\t\\t\\t\\t\\\"bSmart\\\": previousSearch.bSmart ,\\n\\t\\t\\t\\t\\t\\\"bCaseInsensitive\\\": previousSearch.bCaseInsensitive\\n\\t\\t\\t\\t} );\\n\\t\\n\\t\\t\\t\\t// Need to redraw, without resorting\\n\\t\\t\\t\\tsettings._iDisplayStart = 0;\\n\\t\\t\\t\\t_fnDraw( settings );\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\n\\t\\tvar searchDelay = settings.searchDelay !== null ?\\n\\t\\t\\tsettings.searchDelay :\\n\\t\\t\\t_fnDataSource( settings ) === 'ssp' ?\\n\\t\\t\\t\\t400 :\\n\\t\\t\\t\\t0;\\n\\t\\n\\t\\tvar jqFilter = $('input', filter)\\n\\t\\t\\t.val( previousSearch.sSearch )\\n\\t\\t\\t.attr( 'placeholder', language.sSearchPlaceholder )\\n\\t\\t\\t.on(\\n\\t\\t\\t\\t'keyup.DT search.DT input.DT paste.DT cut.DT',\\n\\t\\t\\t\\tsearchDelay ?\\n\\t\\t\\t\\t\\t_fnThrottle( searchFn, searchDelay ) :\\n\\t\\t\\t\\t\\tsearchFn\\n\\t\\t\\t)\\n\\t\\t\\t.on( 'keypress.DT', function(e) {\\n\\t\\t\\t\\t/* Prevent form submission */\\n\\t\\t\\t\\tif ( e.keyCode == 13 ) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} )\\n\\t\\t\\t.attr('aria-controls', tableId);\\n\\t\\n\\t\\t// Update the input elements whenever the table is filtered\\n\\t\\t$(settings.nTable).on( 'search.dt.DT', function ( ev, s ) {\\n\\t\\t\\tif ( settings === s ) {\\n\\t\\t\\t\\t// IE9 throws an 'unknown error' if document.activeElement is used\\n\\t\\t\\t\\t// inside an iframe or frame...\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\tif ( jqFilter[0] !== document.activeElement ) {\\n\\t\\t\\t\\t\\t\\tjqFilter.val( previousSearch.sSearch );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tcatch ( e ) {}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn filter[0];\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Filter the table using both the global filter and column based filtering\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {object} oSearch search information\\n\\t *  @param {int} [iForce] force a research of the master array (1) or not (undefined or 0)\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFilterComplete ( oSettings, oInput, iForce )\\n\\t{\\n\\t\\tvar oPrevSearch = oSettings.oPreviousSearch;\\n\\t\\tvar aoPrevSearch = oSettings.aoPreSearchCols;\\n\\t\\tvar fnSaveFilter = function ( oFilter ) {\\n\\t\\t\\t/* Save the filtering values */\\n\\t\\t\\toPrevSearch.sSearch = oFilter.sSearch;\\n\\t\\t\\toPrevSearch.bRegex = oFilter.bRegex;\\n\\t\\t\\toPrevSearch.bSmart = oFilter.bSmart;\\n\\t\\t\\toPrevSearch.bCaseInsensitive = oFilter.bCaseInsensitive;\\n\\t\\t};\\n\\t\\tvar fnRegex = function ( o ) {\\n\\t\\t\\t// Backwards compatibility with the bEscapeRegex option\\n\\t\\t\\treturn o.bEscapeRegex !== undefined ? !o.bEscapeRegex : o.bRegex;\\n\\t\\t};\\n\\t\\n\\t\\t// Resolve any column types that are unknown due to addition or invalidation\\n\\t\\t// @todo As per sort - can this be moved into an event handler?\\n\\t\\t_fnColumnTypes( oSettings );\\n\\t\\n\\t\\t/* In server-side processing all filtering is done by the server, so no point hanging around here */\\n\\t\\tif ( _fnDataSource( oSettings ) != 'ssp' )\\n\\t\\t{\\n\\t\\t\\t/* Global filter */\\n\\t\\t\\t_fnFilter( oSettings, oInput.sSearch, iForce, fnRegex(oInput), oInput.bSmart, oInput.bCaseInsensitive );\\n\\t\\t\\tfnSaveFilter( oInput );\\n\\t\\n\\t\\t\\t/* Now do the individual column filter */\\n\\t\\t\\tfor ( var i=0 ; i<aoPrevSearch.length ; i++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\t_fnFilterColumn( oSettings, aoPrevSearch[i].sSearch, i, fnRegex(aoPrevSearch[i]),\\n\\t\\t\\t\\t\\taoPrevSearch[i].bSmart, aoPrevSearch[i].bCaseInsensitive );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t/* Custom filtering */\\n\\t\\t\\t_fnFilterCustom( oSettings );\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\tfnSaveFilter( oInput );\\n\\t\\t}\\n\\t\\n\\t\\t/* Tell the draw function we have been filtering */\\n\\t\\toSettings.bFiltered = true;\\n\\t\\t_fnCallbackFire( oSettings, null, 'search', [oSettings] );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Apply custom filtering functions\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFilterCustom( settings )\\n\\t{\\n\\t\\tvar filters = DataTable.ext.search;\\n\\t\\tvar displayRows = settings.aiDisplay;\\n\\t\\tvar row, rowIdx;\\n\\t\\n\\t\\tfor ( var i=0, ien=filters.length ; i<ien ; i++ ) {\\n\\t\\t\\tvar rows = [];\\n\\t\\n\\t\\t\\t// Loop over each row and see if it should be included\\n\\t\\t\\tfor ( var j=0, jen=displayRows.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\trowIdx = displayRows[ j ];\\n\\t\\t\\t\\trow = settings.aoData[ rowIdx ];\\n\\t\\n\\t\\t\\t\\tif ( filters[i]( settings, row._aFilterData, rowIdx, row._aData, j ) ) {\\n\\t\\t\\t\\t\\trows.push( rowIdx );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// So the array reference doesn't break set the results into the\\n\\t\\t\\t// existing array\\n\\t\\t\\tdisplayRows.length = 0;\\n\\t\\t\\t$.merge( displayRows, rows );\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Filter the table on a per-column basis\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {string} sInput string to filter on\\n\\t *  @param {int} iColumn column to filter\\n\\t *  @param {bool} bRegex treat search string as a regular expression or not\\n\\t *  @param {bool} bSmart use smart filtering or not\\n\\t *  @param {bool} bCaseInsensitive Do case insenstive matching or not\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFilterColumn ( settings, searchStr, colIdx, regex, smart, caseInsensitive )\\n\\t{\\n\\t\\tif ( searchStr === '' ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tvar data;\\n\\t\\tvar out = [];\\n\\t\\tvar display = settings.aiDisplay;\\n\\t\\tvar rpSearch = _fnFilterCreateSearch( searchStr, regex, smart, caseInsensitive );\\n\\t\\n\\t\\tfor ( var i=0 ; i<display.length ; i++ ) {\\n\\t\\t\\tdata = settings.aoData[ display[i] ]._aFilterData[ colIdx ];\\n\\t\\n\\t\\t\\tif ( rpSearch.test( data ) ) {\\n\\t\\t\\t\\tout.push( display[i] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\tsettings.aiDisplay = out;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Filter the data table based on user input and draw the table\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {string} input string to filter on\\n\\t *  @param {int} force optional - force a research of the master array (1) or not (undefined or 0)\\n\\t *  @param {bool} regex treat as a regular expression or not\\n\\t *  @param {bool} smart perform smart filtering or not\\n\\t *  @param {bool} caseInsensitive Do case insenstive matching or not\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFilter( settings, input, force, regex, smart, caseInsensitive )\\n\\t{\\n\\t\\tvar rpSearch = _fnFilterCreateSearch( input, regex, smart, caseInsensitive );\\n\\t\\tvar prevSearch = settings.oPreviousSearch.sSearch;\\n\\t\\tvar displayMaster = settings.aiDisplayMaster;\\n\\t\\tvar display, invalidated, i;\\n\\t\\tvar filtered = [];\\n\\t\\n\\t\\t// Need to take account of custom filtering functions - always filter\\n\\t\\tif ( DataTable.ext.search.length !== 0 ) {\\n\\t\\t\\tforce = true;\\n\\t\\t}\\n\\t\\n\\t\\t// Check if any of the rows were invalidated\\n\\t\\tinvalidated = _fnFilterData( settings );\\n\\t\\n\\t\\t// If the input is blank - we just want the full data set\\n\\t\\tif ( input.length <= 0 ) {\\n\\t\\t\\tsettings.aiDisplay = displayMaster.slice();\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// New search - start from the master array\\n\\t\\t\\tif ( invalidated ||\\n\\t\\t\\t\\t force ||\\n\\t\\t\\t\\t prevSearch.length > input.length ||\\n\\t\\t\\t\\t input.indexOf(prevSearch) !== 0 ||\\n\\t\\t\\t\\t settings.bSorted // On resort, the display master needs to be\\n\\t\\t\\t\\t                  // re-filtered since indexes will have changed\\n\\t\\t\\t) {\\n\\t\\t\\t\\tsettings.aiDisplay = displayMaster.slice();\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Search the display array\\n\\t\\t\\tdisplay = settings.aiDisplay;\\n\\t\\n\\t\\t\\tfor ( i=0 ; i<display.length ; i++ ) {\\n\\t\\t\\t\\tif ( rpSearch.test( settings.aoData[ display[i] ]._sFilterRow ) ) {\\n\\t\\t\\t\\t\\tfiltered.push( display[i] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tsettings.aiDisplay = filtered;\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Build a regular expression object suitable for searching a table\\n\\t *  @param {string} sSearch string to search for\\n\\t *  @param {bool} bRegex treat as a regular expression or not\\n\\t *  @param {bool} bSmart perform smart filtering or not\\n\\t *  @param {bool} bCaseInsensitive Do case insensitive matching or not\\n\\t *  @returns {RegExp} constructed object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFilterCreateSearch( search, regex, smart, caseInsensitive )\\n\\t{\\n\\t\\tsearch = regex ?\\n\\t\\t\\tsearch :\\n\\t\\t\\t_fnEscapeRegex( search );\\n\\t\\t\\n\\t\\tif ( smart ) {\\n\\t\\t\\t/* For smart filtering we want to allow the search to work regardless of\\n\\t\\t\\t * word order. We also want double quoted text to be preserved, so word\\n\\t\\t\\t * order is important - a la google. So this is what we want to\\n\\t\\t\\t * generate:\\n\\t\\t\\t * \\n\\t\\t\\t * ^(?=.*?\\\\bone\\\\b)(?=.*?\\\\btwo three\\\\b)(?=.*?\\\\bfour\\\\b).*$\\n\\t\\t\\t */\\n\\t\\t\\tvar a = $.map( search.match( /\\\"[^\\\"]+\\\"|[^ ]+/g ) || [''], function ( word ) {\\n\\t\\t\\t\\tif ( word.charAt(0) === '\\\"' ) {\\n\\t\\t\\t\\t\\tvar m = word.match( /^\\\"(.*)\\\"$/ );\\n\\t\\t\\t\\t\\tword = m ? m[1] : word;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\treturn word.replace('\\\"', '');\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\tsearch = '^(?=.*?'+a.join( ')(?=.*?' )+').*$';\\n\\t\\t}\\n\\t\\n\\t\\treturn new RegExp( search, caseInsensitive ? 'i' : '' );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Escape a string such that it can be used in a regular expression\\n\\t *  @param {string} sVal string to escape\\n\\t *  @returns {string} escaped string\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tvar _fnEscapeRegex = DataTable.util.escapeRegex;\\n\\t\\n\\tvar __filter_div = $('<div>')[0];\\n\\tvar __filter_div_textContent = __filter_div.textContent !== undefined;\\n\\t\\n\\t// Update the filtering data for each row if needed (by invalidation or first run)\\n\\tfunction _fnFilterData ( settings )\\n\\t{\\n\\t\\tvar columns = settings.aoColumns;\\n\\t\\tvar column;\\n\\t\\tvar i, j, ien, jen, filterData, cellData, row;\\n\\t\\tvar fomatters = DataTable.ext.type.search;\\n\\t\\tvar wasInvalidated = false;\\n\\t\\n\\t\\tfor ( i=0, ien=settings.aoData.length ; i<ien ; i++ ) {\\n\\t\\t\\trow = settings.aoData[i];\\n\\t\\n\\t\\t\\tif ( ! row._aFilterData ) {\\n\\t\\t\\t\\tfilterData = [];\\n\\t\\n\\t\\t\\t\\tfor ( j=0, jen=columns.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t\\tcolumn = columns[j];\\n\\t\\n\\t\\t\\t\\t\\tif ( column.bSearchable ) {\\n\\t\\t\\t\\t\\t\\tcellData = _fnGetCellData( settings, i, j, 'filter' );\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( fomatters[ column.sType ] ) {\\n\\t\\t\\t\\t\\t\\t\\tcellData = fomatters[ column.sType ]( cellData );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\t// Search in DataTables 1.10 is string based. In 1.11 this\\n\\t\\t\\t\\t\\t\\t// should be altered to also allow strict type checking.\\n\\t\\t\\t\\t\\t\\tif ( cellData === null ) {\\n\\t\\t\\t\\t\\t\\t\\tcellData = '';\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( typeof cellData !== 'string' && cellData.toString ) {\\n\\t\\t\\t\\t\\t\\t\\tcellData = cellData.toString();\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tcellData = '';\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t// If it looks like there is an HTML entity in the string,\\n\\t\\t\\t\\t\\t// attempt to decode it so sorting works as expected. Note that\\n\\t\\t\\t\\t\\t// we could use a single line of jQuery to do this, but the DOM\\n\\t\\t\\t\\t\\t// method used here is much faster http://jsperf.com/html-decode\\n\\t\\t\\t\\t\\tif ( cellData.indexOf && cellData.indexOf('&') !== -1 ) {\\n\\t\\t\\t\\t\\t\\t__filter_div.innerHTML = cellData;\\n\\t\\t\\t\\t\\t\\tcellData = __filter_div_textContent ?\\n\\t\\t\\t\\t\\t\\t\\t__filter_div.textContent :\\n\\t\\t\\t\\t\\t\\t\\t__filter_div.innerText;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tif ( cellData.replace ) {\\n\\t\\t\\t\\t\\t\\tcellData = cellData.replace(/[\\\\r\\\\n]/g, '');\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tfilterData.push( cellData );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\trow._aFilterData = filterData;\\n\\t\\t\\t\\trow._sFilterRow = filterData.join('  ');\\n\\t\\t\\t\\twasInvalidated = true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn wasInvalidated;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Convert from the internal Hungarian notation to camelCase for external\\n\\t * interaction\\n\\t *  @param {object} obj Object to convert\\n\\t *  @returns {object} Inverted object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSearchToCamel ( obj )\\n\\t{\\n\\t\\treturn {\\n\\t\\t\\tsearch:          obj.sSearch,\\n\\t\\t\\tsmart:           obj.bSmart,\\n\\t\\t\\tregex:           obj.bRegex,\\n\\t\\t\\tcaseInsensitive: obj.bCaseInsensitive\\n\\t\\t};\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Convert from camelCase notation to the internal Hungarian. We could use the\\n\\t * Hungarian convert function here, but this is cleaner\\n\\t *  @param {object} obj Object to convert\\n\\t *  @returns {object} Inverted object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSearchToHung ( obj )\\n\\t{\\n\\t\\treturn {\\n\\t\\t\\tsSearch:          obj.search,\\n\\t\\t\\tbSmart:           obj.smart,\\n\\t\\t\\tbRegex:           obj.regex,\\n\\t\\t\\tbCaseInsensitive: obj.caseInsensitive\\n\\t\\t};\\n\\t}\\n\\t\\n\\t/**\\n\\t * Generate the node required for the info display\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @returns {node} Information element\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFeatureHtmlInfo ( settings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ttid = settings.sTableId,\\n\\t\\t\\tnodes = settings.aanFeatures.i,\\n\\t\\t\\tn = $('<div/>', {\\n\\t\\t\\t\\t'class': settings.oClasses.sInfo,\\n\\t\\t\\t\\t'id': ! nodes ? tid+'_info' : null\\n\\t\\t\\t} );\\n\\t\\n\\t\\tif ( ! nodes ) {\\n\\t\\t\\t// Update display on each draw\\n\\t\\t\\tsettings.aoDrawCallback.push( {\\n\\t\\t\\t\\t\\\"fn\\\": _fnUpdateInfo,\\n\\t\\t\\t\\t\\\"sName\\\": \\\"information\\\"\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\tn\\n\\t\\t\\t\\t.attr( 'role', 'status' )\\n\\t\\t\\t\\t.attr( 'aria-live', 'polite' );\\n\\t\\n\\t\\t\\t// Table is described by our info div\\n\\t\\t\\t$(settings.nTable).attr( 'aria-describedby', tid+'_info' );\\n\\t\\t}\\n\\t\\n\\t\\treturn n[0];\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Update the information elements in the display\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnUpdateInfo ( settings )\\n\\t{\\n\\t\\t/* Show information about the table */\\n\\t\\tvar nodes = settings.aanFeatures.i;\\n\\t\\tif ( nodes.length === 0 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tvar\\n\\t\\t\\tlang  = settings.oLanguage,\\n\\t\\t\\tstart = settings._iDisplayStart+1,\\n\\t\\t\\tend   = settings.fnDisplayEnd(),\\n\\t\\t\\tmax   = settings.fnRecordsTotal(),\\n\\t\\t\\ttotal = settings.fnRecordsDisplay(),\\n\\t\\t\\tout   = total ?\\n\\t\\t\\t\\tlang.sInfo :\\n\\t\\t\\t\\tlang.sInfoEmpty;\\n\\t\\n\\t\\tif ( total !== max ) {\\n\\t\\t\\t/* Record set after filtering */\\n\\t\\t\\tout += ' ' + lang.sInfoFiltered;\\n\\t\\t}\\n\\t\\n\\t\\t// Convert the macros\\n\\t\\tout += lang.sInfoPostFix;\\n\\t\\tout = _fnInfoMacros( settings, out );\\n\\t\\n\\t\\tvar callback = lang.fnInfoCallback;\\n\\t\\tif ( callback !== null ) {\\n\\t\\t\\tout = callback.call( settings.oInstance,\\n\\t\\t\\t\\tsettings, start, end, max, total, out\\n\\t\\t\\t);\\n\\t\\t}\\n\\t\\n\\t\\t$(nodes).html( out );\\n\\t}\\n\\t\\n\\t\\n\\tfunction _fnInfoMacros ( settings, str )\\n\\t{\\n\\t\\t// When infinite scrolling, we are always starting at 1. _iDisplayStart is used only\\n\\t\\t// internally\\n\\t\\tvar\\n\\t\\t\\tformatter  = settings.fnFormatNumber,\\n\\t\\t\\tstart      = settings._iDisplayStart+1,\\n\\t\\t\\tlen        = settings._iDisplayLength,\\n\\t\\t\\tvis        = settings.fnRecordsDisplay(),\\n\\t\\t\\tall        = len === -1;\\n\\t\\n\\t\\treturn str.\\n\\t\\t\\treplace(/_START_/g, formatter.call( settings, start ) ).\\n\\t\\t\\treplace(/_END_/g,   formatter.call( settings, settings.fnDisplayEnd() ) ).\\n\\t\\t\\treplace(/_MAX_/g,   formatter.call( settings, settings.fnRecordsTotal() ) ).\\n\\t\\t\\treplace(/_TOTAL_/g, formatter.call( settings, vis ) ).\\n\\t\\t\\treplace(/_PAGE_/g,  formatter.call( settings, all ? 1 : Math.ceil( start / len ) ) ).\\n\\t\\t\\treplace(/_PAGES_/g, formatter.call( settings, all ? 1 : Math.ceil( vis / len ) ) );\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Draw the table for the first time, adding all required features\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnInitialise ( settings )\\n\\t{\\n\\t\\tvar i, iLen, iAjaxStart=settings.iInitDisplayStart;\\n\\t\\tvar columns = settings.aoColumns, column;\\n\\t\\tvar features = settings.oFeatures;\\n\\t\\tvar deferLoading = settings.bDeferLoading; // value modified by the draw\\n\\t\\n\\t\\t/* Ensure that the table data is fully initialised */\\n\\t\\tif ( ! settings.bInitialised ) {\\n\\t\\t\\tsetTimeout( function(){ _fnInitialise( settings ); }, 200 );\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\t/* Show the display HTML options */\\n\\t\\t_fnAddOptionsHtml( settings );\\n\\t\\n\\t\\t/* Build and draw the header / footer for the table */\\n\\t\\t_fnBuildHead( settings );\\n\\t\\t_fnDrawHead( settings, settings.aoHeader );\\n\\t\\t_fnDrawHead( settings, settings.aoFooter );\\n\\t\\n\\t\\t/* Okay to show that something is going on now */\\n\\t\\t_fnProcessingDisplay( settings, true );\\n\\t\\n\\t\\t/* Calculate sizes for columns */\\n\\t\\tif ( features.bAutoWidth ) {\\n\\t\\t\\t_fnCalculateColumnWidths( settings );\\n\\t\\t}\\n\\t\\n\\t\\tfor ( i=0, iLen=columns.length ; i<iLen ; i++ ) {\\n\\t\\t\\tcolumn = columns[i];\\n\\t\\n\\t\\t\\tif ( column.sWidth ) {\\n\\t\\t\\t\\tcolumn.nTh.style.width = _fnStringToCss( column.sWidth );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t_fnCallbackFire( settings, null, 'preInit', [settings] );\\n\\t\\n\\t\\t// If there is default sorting required - let's do it. The sort function\\n\\t\\t// will do the drawing for us. Otherwise we draw the table regardless of the\\n\\t\\t// Ajax source - this allows the table to look initialised for Ajax sourcing\\n\\t\\t// data (show 'loading' message possibly)\\n\\t\\t_fnReDraw( settings );\\n\\t\\n\\t\\t// Server-side processing init complete is done by _fnAjaxUpdateDraw\\n\\t\\tvar dataSrc = _fnDataSource( settings );\\n\\t\\tif ( dataSrc != 'ssp' || deferLoading ) {\\n\\t\\t\\t// if there is an ajax source load the data\\n\\t\\t\\tif ( dataSrc == 'ajax' ) {\\n\\t\\t\\t\\t_fnBuildAjax( settings, [], function(json) {\\n\\t\\t\\t\\t\\tvar aData = _fnAjaxDataSrc( settings, json );\\n\\t\\n\\t\\t\\t\\t\\t// Got the data - add it to the table\\n\\t\\t\\t\\t\\tfor ( i=0 ; i<aData.length ; i++ ) {\\n\\t\\t\\t\\t\\t\\t_fnAddData( settings, aData[i] );\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t// Reset the init display for cookie saving. We've already done\\n\\t\\t\\t\\t\\t// a filter, and therefore cleared it before. So we need to make\\n\\t\\t\\t\\t\\t// it appear 'fresh'\\n\\t\\t\\t\\t\\tsettings.iInitDisplayStart = iAjaxStart;\\n\\t\\n\\t\\t\\t\\t\\t_fnReDraw( settings );\\n\\t\\n\\t\\t\\t\\t\\t_fnProcessingDisplay( settings, false );\\n\\t\\t\\t\\t\\t_fnInitComplete( settings, json );\\n\\t\\t\\t\\t}, settings );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t_fnProcessingDisplay( settings, false );\\n\\t\\t\\t\\t_fnInitComplete( settings );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Draw the table for the first time, adding all required features\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {object} [json] JSON from the server that completed the table, if using Ajax source\\n\\t *    with client-side processing (optional)\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnInitComplete ( settings, json )\\n\\t{\\n\\t\\tsettings._bInitComplete = true;\\n\\t\\n\\t\\t// When data was added after the initialisation (data or Ajax) we need to\\n\\t\\t// calculate the column sizing\\n\\t\\tif ( json || settings.oInit.aaData ) {\\n\\t\\t\\t_fnAdjustColumnSizing( settings );\\n\\t\\t}\\n\\t\\n\\t\\t_fnCallbackFire( settings, null, 'plugin-init', [settings, json] );\\n\\t\\t_fnCallbackFire( settings, 'aoInitComplete', 'init', [settings, json] );\\n\\t}\\n\\t\\n\\t\\n\\tfunction _fnLengthChange ( settings, val )\\n\\t{\\n\\t\\tvar len = parseInt( val, 10 );\\n\\t\\tsettings._iDisplayLength = len;\\n\\t\\n\\t\\t_fnLengthOverflow( settings );\\n\\t\\n\\t\\t// Fire length change event\\n\\t\\t_fnCallbackFire( settings, null, 'length', [settings, len] );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Generate the node required for user display length changing\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @returns {node} Display length feature node\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFeatureHtmlLength ( settings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tclasses  = settings.oClasses,\\n\\t\\t\\ttableId  = settings.sTableId,\\n\\t\\t\\tmenu     = settings.aLengthMenu,\\n\\t\\t\\td2       = $.isArray( menu[0] ),\\n\\t\\t\\tlengths  = d2 ? menu[0] : menu,\\n\\t\\t\\tlanguage = d2 ? menu[1] : menu;\\n\\t\\n\\t\\tvar select = $('<select/>', {\\n\\t\\t\\t'name':          tableId+'_length',\\n\\t\\t\\t'aria-controls': tableId,\\n\\t\\t\\t'class':         classes.sLengthSelect\\n\\t\\t} );\\n\\t\\n\\t\\tfor ( var i=0, ien=lengths.length ; i<ien ; i++ ) {\\n\\t\\t\\tselect[0][ i ] = new Option(\\n\\t\\t\\t\\ttypeof language[i] === 'number' ?\\n\\t\\t\\t\\t\\tsettings.fnFormatNumber( language[i] ) :\\n\\t\\t\\t\\t\\tlanguage[i],\\n\\t\\t\\t\\tlengths[i]\\n\\t\\t\\t);\\n\\t\\t}\\n\\t\\n\\t\\tvar div = $('<div><label/></div>').addClass( classes.sLength );\\n\\t\\tif ( ! settings.aanFeatures.l ) {\\n\\t\\t\\tdiv[0].id = tableId+'_length';\\n\\t\\t}\\n\\t\\n\\t\\tdiv.children().append(\\n\\t\\t\\tsettings.oLanguage.sLengthMenu.replace( '_MENU_', select[0].outerHTML )\\n\\t\\t);\\n\\t\\n\\t\\t// Can't use `select` variable as user might provide their own and the\\n\\t\\t// reference is broken by the use of outerHTML\\n\\t\\t$('select', div)\\n\\t\\t\\t.val( settings._iDisplayLength )\\n\\t\\t\\t.on( 'change.DT', function(e) {\\n\\t\\t\\t\\t_fnLengthChange( settings, $(this).val() );\\n\\t\\t\\t\\t_fnDraw( settings );\\n\\t\\t\\t} );\\n\\t\\n\\t\\t// Update node value whenever anything changes the table's length\\n\\t\\t$(settings.nTable).on( 'length.dt.DT', function (e, s, len) {\\n\\t\\t\\tif ( settings === s ) {\\n\\t\\t\\t\\t$('select', div).val( len );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn div[0];\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Note that most of the paging logic is done in\\n\\t * DataTable.ext.pager\\n\\t */\\n\\t\\n\\t/**\\n\\t * Generate the node required for default pagination\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @returns {node} Pagination feature node\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFeatureHtmlPaginate ( settings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ttype   = settings.sPaginationType,\\n\\t\\t\\tplugin = DataTable.ext.pager[ type ],\\n\\t\\t\\tmodern = typeof plugin === 'function',\\n\\t\\t\\tredraw = function( settings ) {\\n\\t\\t\\t\\t_fnDraw( settings );\\n\\t\\t\\t},\\n\\t\\t\\tnode = $('<div/>').addClass( settings.oClasses.sPaging + type )[0],\\n\\t\\t\\tfeatures = settings.aanFeatures;\\n\\t\\n\\t\\tif ( ! modern ) {\\n\\t\\t\\tplugin.fnInit( settings, node, redraw );\\n\\t\\t}\\n\\t\\n\\t\\t/* Add a draw callback for the pagination on first instance, to update the paging display */\\n\\t\\tif ( ! features.p )\\n\\t\\t{\\n\\t\\t\\tnode.id = settings.sTableId+'_paginate';\\n\\t\\n\\t\\t\\tsettings.aoDrawCallback.push( {\\n\\t\\t\\t\\t\\\"fn\\\": function( settings ) {\\n\\t\\t\\t\\t\\tif ( modern ) {\\n\\t\\t\\t\\t\\t\\tvar\\n\\t\\t\\t\\t\\t\\t\\tstart      = settings._iDisplayStart,\\n\\t\\t\\t\\t\\t\\t\\tlen        = settings._iDisplayLength,\\n\\t\\t\\t\\t\\t\\t\\tvisRecords = settings.fnRecordsDisplay(),\\n\\t\\t\\t\\t\\t\\t\\tall        = len === -1,\\n\\t\\t\\t\\t\\t\\t\\tpage = all ? 0 : Math.ceil( start / len ),\\n\\t\\t\\t\\t\\t\\t\\tpages = all ? 1 : Math.ceil( visRecords / len ),\\n\\t\\t\\t\\t\\t\\t\\tbuttons = plugin(page, pages),\\n\\t\\t\\t\\t\\t\\t\\ti, ien;\\n\\t\\n\\t\\t\\t\\t\\t\\tfor ( i=0, ien=features.p.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\t\\t\\t_fnRenderer( settings, 'pageButton' )(\\n\\t\\t\\t\\t\\t\\t\\t\\tsettings, features.p[i], i, buttons, page, pages\\n\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tplugin.fnUpdate( settings, redraw );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"sName\\\": \\\"pagination\\\"\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t\\n\\t\\treturn node;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Alter the display settings to change the page\\n\\t *  @param {object} settings DataTables settings object\\n\\t *  @param {string|int} action Paging action to take: \\\"first\\\", \\\"previous\\\",\\n\\t *    \\\"next\\\" or \\\"last\\\" or page number to jump to (integer)\\n\\t *  @param [bool] redraw Automatically draw the update or not\\n\\t *  @returns {bool} true page has changed, false - no change\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnPageChange ( settings, action, redraw )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tstart     = settings._iDisplayStart,\\n\\t\\t\\tlen       = settings._iDisplayLength,\\n\\t\\t\\trecords   = settings.fnRecordsDisplay();\\n\\t\\n\\t\\tif ( records === 0 || len === -1 )\\n\\t\\t{\\n\\t\\t\\tstart = 0;\\n\\t\\t}\\n\\t\\telse if ( typeof action === \\\"number\\\" )\\n\\t\\t{\\n\\t\\t\\tstart = action * len;\\n\\t\\n\\t\\t\\tif ( start > records )\\n\\t\\t\\t{\\n\\t\\t\\t\\tstart = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( action == \\\"first\\\" )\\n\\t\\t{\\n\\t\\t\\tstart = 0;\\n\\t\\t}\\n\\t\\telse if ( action == \\\"previous\\\" )\\n\\t\\t{\\n\\t\\t\\tstart = len >= 0 ?\\n\\t\\t\\t\\tstart - len :\\n\\t\\t\\t\\t0;\\n\\t\\n\\t\\t\\tif ( start < 0 )\\n\\t\\t\\t{\\n\\t\\t\\t  start = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( action == \\\"next\\\" )\\n\\t\\t{\\n\\t\\t\\tif ( start + len < records )\\n\\t\\t\\t{\\n\\t\\t\\t\\tstart += len;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( action == \\\"last\\\" )\\n\\t\\t{\\n\\t\\t\\tstart = Math.floor( (records-1) / len) * len;\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\t_fnLog( settings, 0, \\\"Unknown paging action: \\\"+action, 5 );\\n\\t\\t}\\n\\t\\n\\t\\tvar changed = settings._iDisplayStart !== start;\\n\\t\\tsettings._iDisplayStart = start;\\n\\t\\n\\t\\tif ( changed ) {\\n\\t\\t\\t_fnCallbackFire( settings, null, 'page', [settings] );\\n\\t\\n\\t\\t\\tif ( redraw ) {\\n\\t\\t\\t\\t_fnDraw( settings );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn changed;\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Generate the node required for the processing node\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @returns {node} Processing element\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFeatureHtmlProcessing ( settings )\\n\\t{\\n\\t\\treturn $('<div/>', {\\n\\t\\t\\t\\t'id': ! settings.aanFeatures.r ? settings.sTableId+'_processing' : null,\\n\\t\\t\\t\\t'class': settings.oClasses.sProcessing\\n\\t\\t\\t} )\\n\\t\\t\\t.html( settings.oLanguage.sProcessing )\\n\\t\\t\\t.insertBefore( settings.nTable )[0];\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Display or hide the processing indicator\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {bool} show Show the processing indicator (true) or not (false)\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnProcessingDisplay ( settings, show )\\n\\t{\\n\\t\\tif ( settings.oFeatures.bProcessing ) {\\n\\t\\t\\t$(settings.aanFeatures.r).css( 'display', show ? 'block' : 'none' );\\n\\t\\t}\\n\\t\\n\\t\\t_fnCallbackFire( settings, null, 'processing', [settings, show] );\\n\\t}\\n\\t\\n\\t/**\\n\\t * Add any control elements for the table - specifically scrolling\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @returns {node} Node to add to the DOM\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnFeatureHtmlTable ( settings )\\n\\t{\\n\\t\\tvar table = $(settings.nTable);\\n\\t\\n\\t\\t// Add the ARIA grid role to the table\\n\\t\\ttable.attr( 'role', 'grid' );\\n\\t\\n\\t\\t// Scrolling from here on in\\n\\t\\tvar scroll = settings.oScroll;\\n\\t\\n\\t\\tif ( scroll.sX === '' && scroll.sY === '' ) {\\n\\t\\t\\treturn settings.nTable;\\n\\t\\t}\\n\\t\\n\\t\\tvar scrollX = scroll.sX;\\n\\t\\tvar scrollY = scroll.sY;\\n\\t\\tvar classes = settings.oClasses;\\n\\t\\tvar caption = table.children('caption');\\n\\t\\tvar captionSide = caption.length ? caption[0]._captionSide : null;\\n\\t\\tvar headerClone = $( table[0].cloneNode(false) );\\n\\t\\tvar footerClone = $( table[0].cloneNode(false) );\\n\\t\\tvar footer = table.children('tfoot');\\n\\t\\tvar _div = '<div/>';\\n\\t\\tvar size = function ( s ) {\\n\\t\\t\\treturn !s ? null : _fnStringToCss( s );\\n\\t\\t};\\n\\t\\n\\t\\tif ( ! footer.length ) {\\n\\t\\t\\tfooter = null;\\n\\t\\t}\\n\\t\\n\\t\\t/*\\n\\t\\t * The HTML structure that we want to generate in this function is:\\n\\t\\t *  div - scroller\\n\\t\\t *    div - scroll head\\n\\t\\t *      div - scroll head inner\\n\\t\\t *        table - scroll head table\\n\\t\\t *          thead - thead\\n\\t\\t *    div - scroll body\\n\\t\\t *      table - table (master table)\\n\\t\\t *        thead - thead clone for sizing\\n\\t\\t *        tbody - tbody\\n\\t\\t *    div - scroll foot\\n\\t\\t *      div - scroll foot inner\\n\\t\\t *        table - scroll foot table\\n\\t\\t *          tfoot - tfoot\\n\\t\\t */\\n\\t\\tvar scroller = $( _div, { 'class': classes.sScrollWrapper } )\\n\\t\\t\\t.append(\\n\\t\\t\\t\\t$(_div, { 'class': classes.sScrollHead } )\\n\\t\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\t\\toverflow: 'hidden',\\n\\t\\t\\t\\t\\t\\tposition: 'relative',\\n\\t\\t\\t\\t\\t\\tborder: 0,\\n\\t\\t\\t\\t\\t\\twidth: scrollX ? size(scrollX) : '100%'\\n\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t$(_div, { 'class': classes.sScrollHeadInner } )\\n\\t\\t\\t\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\t\\t\\t\\t'box-sizing': 'content-box',\\n\\t\\t\\t\\t\\t\\t\\t\\twidth: scroll.sXInner || '100%'\\n\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t\\t\\theaderClone\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.removeAttr('id')\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.css( 'margin-left', 0 )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.append( captionSide === 'top' ? caption : null )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttable.children('thead')\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t)\\n\\t\\t\\t.append(\\n\\t\\t\\t\\t$(_div, { 'class': classes.sScrollBody } )\\n\\t\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\t\\tposition: 'relative',\\n\\t\\t\\t\\t\\t\\toverflow: 'auto',\\n\\t\\t\\t\\t\\t\\twidth: size( scrollX )\\n\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t.append( table )\\n\\t\\t\\t);\\n\\t\\n\\t\\tif ( footer ) {\\n\\t\\t\\tscroller.append(\\n\\t\\t\\t\\t$(_div, { 'class': classes.sScrollFoot } )\\n\\t\\t\\t\\t\\t.css( {\\n\\t\\t\\t\\t\\t\\toverflow: 'hidden',\\n\\t\\t\\t\\t\\t\\tborder: 0,\\n\\t\\t\\t\\t\\t\\twidth: scrollX ? size(scrollX) : '100%'\\n\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t$(_div, { 'class': classes.sScrollFootInner } )\\n\\t\\t\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t\\t\\tfooterClone\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.removeAttr('id')\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.css( 'margin-left', 0 )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.append( captionSide === 'bottom' ? caption : null )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.append(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttable.children('tfoot')\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t);\\n\\t\\t}\\n\\t\\n\\t\\tvar children = scroller.children();\\n\\t\\tvar scrollHead = children[0];\\n\\t\\tvar scrollBody = children[1];\\n\\t\\tvar scrollFoot = footer ? children[2] : null;\\n\\t\\n\\t\\t// When the body is scrolled, then we also want to scroll the headers\\n\\t\\tif ( scrollX ) {\\n\\t\\t\\t$(scrollBody).on( 'scroll.DT', function (e) {\\n\\t\\t\\t\\tvar scrollLeft = this.scrollLeft;\\n\\t\\n\\t\\t\\t\\tscrollHead.scrollLeft = scrollLeft;\\n\\t\\n\\t\\t\\t\\tif ( footer ) {\\n\\t\\t\\t\\t\\tscrollFoot.scrollLeft = scrollLeft;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t\\n\\t\\t$(scrollBody).css(\\n\\t\\t\\tscrollY && scroll.bCollapse ? 'max-height' : 'height', \\n\\t\\t\\tscrollY\\n\\t\\t);\\n\\t\\n\\t\\tsettings.nScrollHead = scrollHead;\\n\\t\\tsettings.nScrollBody = scrollBody;\\n\\t\\tsettings.nScrollFoot = scrollFoot;\\n\\t\\n\\t\\t// On redraw - align columns\\n\\t\\tsettings.aoDrawCallback.push( {\\n\\t\\t\\t\\\"fn\\\": _fnScrollDraw,\\n\\t\\t\\t\\\"sName\\\": \\\"scrolling\\\"\\n\\t\\t} );\\n\\t\\n\\t\\treturn scroller[0];\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Update the header, footer and body tables for resizing - i.e. column\\n\\t * alignment.\\n\\t *\\n\\t * Welcome to the most horrible function DataTables. The process that this\\n\\t * function follows is basically:\\n\\t *   1. Re-create the table inside the scrolling div\\n\\t *   2. Take live measurements from the DOM\\n\\t *   3. Apply the measurements to align the columns\\n\\t *   4. Clean up\\n\\t *\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnScrollDraw ( settings )\\n\\t{\\n\\t\\t// Given that this is such a monster function, a lot of variables are use\\n\\t\\t// to try and keep the minimised size as small as possible\\n\\t\\tvar\\n\\t\\t\\tscroll         = settings.oScroll,\\n\\t\\t\\tscrollX        = scroll.sX,\\n\\t\\t\\tscrollXInner   = scroll.sXInner,\\n\\t\\t\\tscrollY        = scroll.sY,\\n\\t\\t\\tbarWidth       = scroll.iBarWidth,\\n\\t\\t\\tdivHeader      = $(settings.nScrollHead),\\n\\t\\t\\tdivHeaderStyle = divHeader[0].style,\\n\\t\\t\\tdivHeaderInner = divHeader.children('div'),\\n\\t\\t\\tdivHeaderInnerStyle = divHeaderInner[0].style,\\n\\t\\t\\tdivHeaderTable = divHeaderInner.children('table'),\\n\\t\\t\\tdivBodyEl      = settings.nScrollBody,\\n\\t\\t\\tdivBody        = $(divBodyEl),\\n\\t\\t\\tdivBodyStyle   = divBodyEl.style,\\n\\t\\t\\tdivFooter      = $(settings.nScrollFoot),\\n\\t\\t\\tdivFooterInner = divFooter.children('div'),\\n\\t\\t\\tdivFooterTable = divFooterInner.children('table'),\\n\\t\\t\\theader         = $(settings.nTHead),\\n\\t\\t\\ttable          = $(settings.nTable),\\n\\t\\t\\ttableEl        = table[0],\\n\\t\\t\\ttableStyle     = tableEl.style,\\n\\t\\t\\tfooter         = settings.nTFoot ? $(settings.nTFoot) : null,\\n\\t\\t\\tbrowser        = settings.oBrowser,\\n\\t\\t\\tie67           = browser.bScrollOversize,\\n\\t\\t\\tdtHeaderCells  = _pluck( settings.aoColumns, 'nTh' ),\\n\\t\\t\\theaderTrgEls, footerTrgEls,\\n\\t\\t\\theaderSrcEls, footerSrcEls,\\n\\t\\t\\theaderCopy, footerCopy,\\n\\t\\t\\theaderWidths=[], footerWidths=[],\\n\\t\\t\\theaderContent=[], footerContent=[],\\n\\t\\t\\tidx, correction, sanityWidth,\\n\\t\\t\\tzeroOut = function(nSizer) {\\n\\t\\t\\t\\tvar style = nSizer.style;\\n\\t\\t\\t\\tstyle.paddingTop = \\\"0\\\";\\n\\t\\t\\t\\tstyle.paddingBottom = \\\"0\\\";\\n\\t\\t\\t\\tstyle.borderTopWidth = \\\"0\\\";\\n\\t\\t\\t\\tstyle.borderBottomWidth = \\\"0\\\";\\n\\t\\t\\t\\tstyle.height = 0;\\n\\t\\t\\t};\\n\\t\\n\\t\\t// If the scrollbar visibility has changed from the last draw, we need to\\n\\t\\t// adjust the column sizes as the table width will have changed to account\\n\\t\\t// for the scrollbar\\n\\t\\tvar scrollBarVis = divBodyEl.scrollHeight > divBodyEl.clientHeight;\\n\\t\\t\\n\\t\\tif ( settings.scrollBarVis !== scrollBarVis && settings.scrollBarVis !== undefined ) {\\n\\t\\t\\tsettings.scrollBarVis = scrollBarVis;\\n\\t\\t\\t_fnAdjustColumnSizing( settings );\\n\\t\\t\\treturn; // adjust column sizing will call this function again\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tsettings.scrollBarVis = scrollBarVis;\\n\\t\\t}\\n\\t\\n\\t\\t/*\\n\\t\\t * 1. Re-create the table inside the scrolling div\\n\\t\\t */\\n\\t\\n\\t\\t// Remove the old minimised thead and tfoot elements in the inner table\\n\\t\\ttable.children('thead, tfoot').remove();\\n\\t\\n\\t\\tif ( footer ) {\\n\\t\\t\\tfooterCopy = footer.clone().prependTo( table );\\n\\t\\t\\tfooterTrgEls = footer.find('tr'); // the original tfoot is in its own table and must be sized\\n\\t\\t\\tfooterSrcEls = footerCopy.find('tr');\\n\\t\\t}\\n\\t\\n\\t\\t// Clone the current header and footer elements and then place it into the inner table\\n\\t\\theaderCopy = header.clone().prependTo( table );\\n\\t\\theaderTrgEls = header.find('tr'); // original header is in its own table\\n\\t\\theaderSrcEls = headerCopy.find('tr');\\n\\t\\theaderCopy.find('th, td').removeAttr('tabindex');\\n\\t\\n\\t\\n\\t\\t/*\\n\\t\\t * 2. Take live measurements from the DOM - do not alter the DOM itself!\\n\\t\\t */\\n\\t\\n\\t\\t// Remove old sizing and apply the calculated column widths\\n\\t\\t// Get the unique column headers in the newly created (cloned) header. We want to apply the\\n\\t\\t// calculated sizes to this header\\n\\t\\tif ( ! scrollX )\\n\\t\\t{\\n\\t\\t\\tdivBodyStyle.width = '100%';\\n\\t\\t\\tdivHeader[0].style.width = '100%';\\n\\t\\t}\\n\\t\\n\\t\\t$.each( _fnGetUniqueThs( settings, headerCopy ), function ( i, el ) {\\n\\t\\t\\tidx = _fnVisibleToColumnIndex( settings, i );\\n\\t\\t\\tel.style.width = settings.aoColumns[idx].sWidth;\\n\\t\\t} );\\n\\t\\n\\t\\tif ( footer ) {\\n\\t\\t\\t_fnApplyToChildren( function(n) {\\n\\t\\t\\t\\tn.style.width = \\\"\\\";\\n\\t\\t\\t}, footerSrcEls );\\n\\t\\t}\\n\\t\\n\\t\\t// Size the table as a whole\\n\\t\\tsanityWidth = table.outerWidth();\\n\\t\\tif ( scrollX === \\\"\\\" ) {\\n\\t\\t\\t// No x scrolling\\n\\t\\t\\ttableStyle.width = \\\"100%\\\";\\n\\t\\n\\t\\t\\t// IE7 will make the width of the table when 100% include the scrollbar\\n\\t\\t\\t// - which is shouldn't. When there is a scrollbar we need to take this\\n\\t\\t\\t// into account.\\n\\t\\t\\tif ( ie67 && (table.find('tbody').height() > divBodyEl.offsetHeight ||\\n\\t\\t\\t\\tdivBody.css('overflow-y') == \\\"scroll\\\")\\n\\t\\t\\t) {\\n\\t\\t\\t\\ttableStyle.width = _fnStringToCss( table.outerWidth() - barWidth);\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Recalculate the sanity width\\n\\t\\t\\tsanityWidth = table.outerWidth();\\n\\t\\t}\\n\\t\\telse if ( scrollXInner !== \\\"\\\" ) {\\n\\t\\t\\t// legacy x scroll inner has been given - use it\\n\\t\\t\\ttableStyle.width = _fnStringToCss(scrollXInner);\\n\\t\\n\\t\\t\\t// Recalculate the sanity width\\n\\t\\t\\tsanityWidth = table.outerWidth();\\n\\t\\t}\\n\\t\\n\\t\\t// Hidden header should have zero height, so remove padding and borders. Then\\n\\t\\t// set the width based on the real headers\\n\\t\\n\\t\\t// Apply all styles in one pass\\n\\t\\t_fnApplyToChildren( zeroOut, headerSrcEls );\\n\\t\\n\\t\\t// Read all widths in next pass\\n\\t\\t_fnApplyToChildren( function(nSizer) {\\n\\t\\t\\theaderContent.push( nSizer.innerHTML );\\n\\t\\t\\theaderWidths.push( _fnStringToCss( $(nSizer).css('width') ) );\\n\\t\\t}, headerSrcEls );\\n\\t\\n\\t\\t// Apply all widths in final pass\\n\\t\\t_fnApplyToChildren( function(nToSize, i) {\\n\\t\\t\\t// Only apply widths to the DataTables detected header cells - this\\n\\t\\t\\t// prevents complex headers from having contradictory sizes applied\\n\\t\\t\\tif ( $.inArray( nToSize, dtHeaderCells ) !== -1 ) {\\n\\t\\t\\t\\tnToSize.style.width = headerWidths[i];\\n\\t\\t\\t}\\n\\t\\t}, headerTrgEls );\\n\\t\\n\\t\\t$(headerSrcEls).height(0);\\n\\t\\n\\t\\t/* Same again with the footer if we have one */\\n\\t\\tif ( footer )\\n\\t\\t{\\n\\t\\t\\t_fnApplyToChildren( zeroOut, footerSrcEls );\\n\\t\\n\\t\\t\\t_fnApplyToChildren( function(nSizer) {\\n\\t\\t\\t\\tfooterContent.push( nSizer.innerHTML );\\n\\t\\t\\t\\tfooterWidths.push( _fnStringToCss( $(nSizer).css('width') ) );\\n\\t\\t\\t}, footerSrcEls );\\n\\t\\n\\t\\t\\t_fnApplyToChildren( function(nToSize, i) {\\n\\t\\t\\t\\tnToSize.style.width = footerWidths[i];\\n\\t\\t\\t}, footerTrgEls );\\n\\t\\n\\t\\t\\t$(footerSrcEls).height(0);\\n\\t\\t}\\n\\t\\n\\t\\n\\t\\t/*\\n\\t\\t * 3. Apply the measurements\\n\\t\\t */\\n\\t\\n\\t\\t// \\\"Hide\\\" the header and footer that we used for the sizing. We need to keep\\n\\t\\t// the content of the cell so that the width applied to the header and body\\n\\t\\t// both match, but we want to hide it completely. We want to also fix their\\n\\t\\t// width to what they currently are\\n\\t\\t_fnApplyToChildren( function(nSizer, i) {\\n\\t\\t\\tnSizer.innerHTML = '<div class=\\\"dataTables_sizing\\\">'+headerContent[i]+'</div>';\\n\\t\\t\\tnSizer.childNodes[0].style.height = \\\"0\\\";\\n\\t\\t\\tnSizer.childNodes[0].style.overflow = \\\"hidden\\\";\\n\\t\\t\\tnSizer.style.width = headerWidths[i];\\n\\t\\t}, headerSrcEls );\\n\\t\\n\\t\\tif ( footer )\\n\\t\\t{\\n\\t\\t\\t_fnApplyToChildren( function(nSizer, i) {\\n\\t\\t\\t\\tnSizer.innerHTML = '<div class=\\\"dataTables_sizing\\\">'+footerContent[i]+'</div>';\\n\\t\\t\\t\\tnSizer.childNodes[0].style.height = \\\"0\\\";\\n\\t\\t\\t\\tnSizer.childNodes[0].style.overflow = \\\"hidden\\\";\\n\\t\\t\\t\\tnSizer.style.width = footerWidths[i];\\n\\t\\t\\t}, footerSrcEls );\\n\\t\\t}\\n\\t\\n\\t\\t// Sanity check that the table is of a sensible width. If not then we are going to get\\n\\t\\t// misalignment - try to prevent this by not allowing the table to shrink below its min width\\n\\t\\tif ( table.outerWidth() < sanityWidth )\\n\\t\\t{\\n\\t\\t\\t// The min width depends upon if we have a vertical scrollbar visible or not */\\n\\t\\t\\tcorrection = ((divBodyEl.scrollHeight > divBodyEl.offsetHeight ||\\n\\t\\t\\t\\tdivBody.css('overflow-y') == \\\"scroll\\\")) ?\\n\\t\\t\\t\\t\\tsanityWidth+barWidth :\\n\\t\\t\\t\\t\\tsanityWidth;\\n\\t\\n\\t\\t\\t// IE6/7 are a law unto themselves...\\n\\t\\t\\tif ( ie67 && (divBodyEl.scrollHeight >\\n\\t\\t\\t\\tdivBodyEl.offsetHeight || divBody.css('overflow-y') == \\\"scroll\\\")\\n\\t\\t\\t) {\\n\\t\\t\\t\\ttableStyle.width = _fnStringToCss( correction-barWidth );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// And give the user a warning that we've stopped the table getting too small\\n\\t\\t\\tif ( scrollX === \\\"\\\" || scrollXInner !== \\\"\\\" ) {\\n\\t\\t\\t\\t_fnLog( settings, 1, 'Possible column misalignment', 6 );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\tcorrection = '100%';\\n\\t\\t}\\n\\t\\n\\t\\t// Apply to the container elements\\n\\t\\tdivBodyStyle.width = _fnStringToCss( correction );\\n\\t\\tdivHeaderStyle.width = _fnStringToCss( correction );\\n\\t\\n\\t\\tif ( footer ) {\\n\\t\\t\\tsettings.nScrollFoot.style.width = _fnStringToCss( correction );\\n\\t\\t}\\n\\t\\n\\t\\n\\t\\t/*\\n\\t\\t * 4. Clean up\\n\\t\\t */\\n\\t\\tif ( ! scrollY ) {\\n\\t\\t\\t/* IE7< puts a vertical scrollbar in place (when it shouldn't be) due to subtracting\\n\\t\\t\\t * the scrollbar height from the visible display, rather than adding it on. We need to\\n\\t\\t\\t * set the height in order to sort this. Don't want to do it in any other browsers.\\n\\t\\t\\t */\\n\\t\\t\\tif ( ie67 ) {\\n\\t\\t\\t\\tdivBodyStyle.height = _fnStringToCss( tableEl.offsetHeight+barWidth );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t/* Finally set the width's of the header and footer tables */\\n\\t\\tvar iOuterWidth = table.outerWidth();\\n\\t\\tdivHeaderTable[0].style.width = _fnStringToCss( iOuterWidth );\\n\\t\\tdivHeaderInnerStyle.width = _fnStringToCss( iOuterWidth );\\n\\t\\n\\t\\t// Figure out if there are scrollbar present - if so then we need a the header and footer to\\n\\t\\t// provide a bit more space to allow \\\"overflow\\\" scrolling (i.e. past the scrollbar)\\n\\t\\tvar bScrolling = table.height() > divBodyEl.clientHeight || divBody.css('overflow-y') == \\\"scroll\\\";\\n\\t\\tvar padding = 'padding' + (browser.bScrollbarLeft ? 'Left' : 'Right' );\\n\\t\\tdivHeaderInnerStyle[ padding ] = bScrolling ? barWidth+\\\"px\\\" : \\\"0px\\\";\\n\\t\\n\\t\\tif ( footer ) {\\n\\t\\t\\tdivFooterTable[0].style.width = _fnStringToCss( iOuterWidth );\\n\\t\\t\\tdivFooterInner[0].style.width = _fnStringToCss( iOuterWidth );\\n\\t\\t\\tdivFooterInner[0].style[padding] = bScrolling ? barWidth+\\\"px\\\" : \\\"0px\\\";\\n\\t\\t}\\n\\t\\n\\t\\t// Correct DOM ordering for colgroup - comes before the thead\\n\\t\\ttable.children('colgroup').insertBefore( table.children('thead') );\\n\\t\\n\\t\\t/* Adjust the position of the header in case we loose the y-scrollbar */\\n\\t\\tdivBody.scroll();\\n\\t\\n\\t\\t// If sorting or filtering has occurred, jump the scrolling back to the top\\n\\t\\t// only if we aren't holding the position\\n\\t\\tif ( (settings.bSorted || settings.bFiltered) && ! settings._drawHold ) {\\n\\t\\t\\tdivBodyEl.scrollTop = 0;\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Apply a given function to the display child nodes of an element array (typically\\n\\t * TD children of TR rows\\n\\t *  @param {function} fn Method to apply to the objects\\n\\t *  @param array {nodes} an1 List of elements to look through for display children\\n\\t *  @param array {nodes} an2 Another list (identical structure to the first) - optional\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnApplyToChildren( fn, an1, an2 )\\n\\t{\\n\\t\\tvar index=0, i=0, iLen=an1.length;\\n\\t\\tvar nNode1, nNode2;\\n\\t\\n\\t\\twhile ( i < iLen ) {\\n\\t\\t\\tnNode1 = an1[i].firstChild;\\n\\t\\t\\tnNode2 = an2 ? an2[i].firstChild : null;\\n\\t\\n\\t\\t\\twhile ( nNode1 ) {\\n\\t\\t\\t\\tif ( nNode1.nodeType === 1 ) {\\n\\t\\t\\t\\t\\tif ( an2 ) {\\n\\t\\t\\t\\t\\t\\tfn( nNode1, nNode2, index );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tfn( nNode1, index );\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tindex++;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tnNode1 = nNode1.nextSibling;\\n\\t\\t\\t\\tnNode2 = an2 ? nNode2.nextSibling : null;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\ti++;\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\tvar __re_html_remove = /<.*?>/g;\\n\\t\\n\\t\\n\\t/**\\n\\t * Calculate the width of columns for the table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnCalculateColumnWidths ( oSettings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ttable = oSettings.nTable,\\n\\t\\t\\tcolumns = oSettings.aoColumns,\\n\\t\\t\\tscroll = oSettings.oScroll,\\n\\t\\t\\tscrollY = scroll.sY,\\n\\t\\t\\tscrollX = scroll.sX,\\n\\t\\t\\tscrollXInner = scroll.sXInner,\\n\\t\\t\\tcolumnCount = columns.length,\\n\\t\\t\\tvisibleColumns = _fnGetColumns( oSettings, 'bVisible' ),\\n\\t\\t\\theaderCells = $('th', oSettings.nTHead),\\n\\t\\t\\ttableWidthAttr = table.getAttribute('width'), // from DOM element\\n\\t\\t\\ttableContainer = table.parentNode,\\n\\t\\t\\tuserInputs = false,\\n\\t\\t\\ti, column, columnIdx, width, outerWidth,\\n\\t\\t\\tbrowser = oSettings.oBrowser,\\n\\t\\t\\tie67 = browser.bScrollOversize;\\n\\t\\n\\t\\tvar styleWidth = table.style.width;\\n\\t\\tif ( styleWidth && styleWidth.indexOf('%') !== -1 ) {\\n\\t\\t\\ttableWidthAttr = styleWidth;\\n\\t\\t}\\n\\t\\n\\t\\t/* Convert any user input sizes into pixel sizes */\\n\\t\\tfor ( i=0 ; i<visibleColumns.length ; i++ ) {\\n\\t\\t\\tcolumn = columns[ visibleColumns[i] ];\\n\\t\\n\\t\\t\\tif ( column.sWidth !== null ) {\\n\\t\\t\\t\\tcolumn.sWidth = _fnConvertToWidth( column.sWidthOrig, tableContainer );\\n\\t\\n\\t\\t\\t\\tuserInputs = true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t/* If the number of columns in the DOM equals the number that we have to\\n\\t\\t * process in DataTables, then we can use the offsets that are created by\\n\\t\\t * the web- browser. No custom sizes can be set in order for this to happen,\\n\\t\\t * nor scrolling used\\n\\t\\t */\\n\\t\\tif ( ie67 || ! userInputs && ! scrollX && ! scrollY &&\\n\\t\\t     columnCount == _fnVisbleColumns( oSettings ) &&\\n\\t\\t     columnCount == headerCells.length\\n\\t\\t) {\\n\\t\\t\\tfor ( i=0 ; i<columnCount ; i++ ) {\\n\\t\\t\\t\\tvar colIdx = _fnVisibleToColumnIndex( oSettings, i );\\n\\t\\n\\t\\t\\t\\tif ( colIdx !== null ) {\\n\\t\\t\\t\\t\\tcolumns[ colIdx ].sWidth = _fnStringToCss( headerCells.eq(i).width() );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse\\n\\t\\t{\\n\\t\\t\\t// Otherwise construct a single row, worst case, table with the widest\\n\\t\\t\\t// node in the data, assign any user defined widths, then insert it into\\n\\t\\t\\t// the DOM and allow the browser to do all the hard work of calculating\\n\\t\\t\\t// table widths\\n\\t\\t\\tvar tmpTable = $(table).clone() // don't use cloneNode - IE8 will remove events on the main table\\n\\t\\t\\t\\t.css( 'visibility', 'hidden' )\\n\\t\\t\\t\\t.removeAttr( 'id' );\\n\\t\\n\\t\\t\\t// Clean up the table body\\n\\t\\t\\ttmpTable.find('tbody tr').remove();\\n\\t\\t\\tvar tr = $('<tr/>').appendTo( tmpTable.find('tbody') );\\n\\t\\n\\t\\t\\t// Clone the table header and footer - we can't use the header / footer\\n\\t\\t\\t// from the cloned table, since if scrolling is active, the table's\\n\\t\\t\\t// real header and footer are contained in different table tags\\n\\t\\t\\ttmpTable.find('thead, tfoot').remove();\\n\\t\\t\\ttmpTable\\n\\t\\t\\t\\t.append( $(oSettings.nTHead).clone() )\\n\\t\\t\\t\\t.append( $(oSettings.nTFoot).clone() );\\n\\t\\n\\t\\t\\t// Remove any assigned widths from the footer (from scrolling)\\n\\t\\t\\ttmpTable.find('tfoot th, tfoot td').css('width', '');\\n\\t\\n\\t\\t\\t// Apply custom sizing to the cloned header\\n\\t\\t\\theaderCells = _fnGetUniqueThs( oSettings, tmpTable.find('thead')[0] );\\n\\t\\n\\t\\t\\tfor ( i=0 ; i<visibleColumns.length ; i++ ) {\\n\\t\\t\\t\\tcolumn = columns[ visibleColumns[i] ];\\n\\t\\n\\t\\t\\t\\theaderCells[i].style.width = column.sWidthOrig !== null && column.sWidthOrig !== '' ?\\n\\t\\t\\t\\t\\t_fnStringToCss( column.sWidthOrig ) :\\n\\t\\t\\t\\t\\t'';\\n\\t\\n\\t\\t\\t\\t// For scrollX we need to force the column width otherwise the\\n\\t\\t\\t\\t// browser will collapse it. If this width is smaller than the\\n\\t\\t\\t\\t// width the column requires, then it will have no effect\\n\\t\\t\\t\\tif ( column.sWidthOrig && scrollX ) {\\n\\t\\t\\t\\t\\t$( headerCells[i] ).append( $('<div/>').css( {\\n\\t\\t\\t\\t\\t\\twidth: column.sWidthOrig,\\n\\t\\t\\t\\t\\t\\tmargin: 0,\\n\\t\\t\\t\\t\\t\\tpadding: 0,\\n\\t\\t\\t\\t\\t\\tborder: 0,\\n\\t\\t\\t\\t\\t\\theight: 1\\n\\t\\t\\t\\t\\t} ) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Find the widest cell for each column and put it into the table\\n\\t\\t\\tif ( oSettings.aoData.length ) {\\n\\t\\t\\t\\tfor ( i=0 ; i<visibleColumns.length ; i++ ) {\\n\\t\\t\\t\\t\\tcolumnIdx = visibleColumns[i];\\n\\t\\t\\t\\t\\tcolumn = columns[ columnIdx ];\\n\\t\\n\\t\\t\\t\\t\\t$( _fnGetWidestNode( oSettings, columnIdx ) )\\n\\t\\t\\t\\t\\t\\t.clone( false )\\n\\t\\t\\t\\t\\t\\t.append( column.sContentPadding )\\n\\t\\t\\t\\t\\t\\t.appendTo( tr );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Tidy the temporary table - remove name attributes so there aren't\\n\\t\\t\\t// duplicated in the dom (radio elements for example)\\n\\t\\t\\t$('[name]', tmpTable).removeAttr('name');\\n\\t\\n\\t\\t\\t// Table has been built, attach to the document so we can work with it.\\n\\t\\t\\t// A holding element is used, positioned at the top of the container\\n\\t\\t\\t// with minimal height, so it has no effect on if the container scrolls\\n\\t\\t\\t// or not. Otherwise it might trigger scrolling when it actually isn't\\n\\t\\t\\t// needed\\n\\t\\t\\tvar holder = $('<div/>').css( scrollX || scrollY ?\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\tposition: 'absolute',\\n\\t\\t\\t\\t\\t\\ttop: 0,\\n\\t\\t\\t\\t\\t\\tleft: 0,\\n\\t\\t\\t\\t\\t\\theight: 1,\\n\\t\\t\\t\\t\\t\\tright: 0,\\n\\t\\t\\t\\t\\t\\toverflow: 'hidden'\\n\\t\\t\\t\\t\\t} :\\n\\t\\t\\t\\t\\t{}\\n\\t\\t\\t\\t)\\n\\t\\t\\t\\t.append( tmpTable )\\n\\t\\t\\t\\t.appendTo( tableContainer );\\n\\t\\n\\t\\t\\t// When scrolling (X or Y) we want to set the width of the table as \\n\\t\\t\\t// appropriate. However, when not scrolling leave the table width as it\\n\\t\\t\\t// is. This results in slightly different, but I think correct behaviour\\n\\t\\t\\tif ( scrollX && scrollXInner ) {\\n\\t\\t\\t\\ttmpTable.width( scrollXInner );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( scrollX ) {\\n\\t\\t\\t\\ttmpTable.css( 'width', 'auto' );\\n\\t\\t\\t\\ttmpTable.removeAttr('width');\\n\\t\\n\\t\\t\\t\\t// If there is no width attribute or style, then allow the table to\\n\\t\\t\\t\\t// collapse\\n\\t\\t\\t\\tif ( tmpTable.width() < tableContainer.clientWidth && tableWidthAttr ) {\\n\\t\\t\\t\\t\\ttmpTable.width( tableContainer.clientWidth );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse if ( scrollY ) {\\n\\t\\t\\t\\ttmpTable.width( tableContainer.clientWidth );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( tableWidthAttr ) {\\n\\t\\t\\t\\ttmpTable.width( tableWidthAttr );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Get the width of each column in the constructed table - we need to\\n\\t\\t\\t// know the inner width (so it can be assigned to the other table's\\n\\t\\t\\t// cells) and the outer width so we can calculate the full width of the\\n\\t\\t\\t// table. This is safe since DataTables requires a unique cell for each\\n\\t\\t\\t// column, but if ever a header can span multiple columns, this will\\n\\t\\t\\t// need to be modified.\\n\\t\\t\\tvar total = 0;\\n\\t\\t\\tfor ( i=0 ; i<visibleColumns.length ; i++ ) {\\n\\t\\t\\t\\tvar cell = $(headerCells[i]);\\n\\t\\t\\t\\tvar border = cell.outerWidth() - cell.width();\\n\\t\\n\\t\\t\\t\\t// Use getBounding... where possible (not IE8-) because it can give\\n\\t\\t\\t\\t// sub-pixel accuracy, which we then want to round up!\\n\\t\\t\\t\\tvar bounding = browser.bBounding ?\\n\\t\\t\\t\\t\\tMath.ceil( headerCells[i].getBoundingClientRect().width ) :\\n\\t\\t\\t\\t\\tcell.outerWidth();\\n\\t\\n\\t\\t\\t\\t// Total is tracked to remove any sub-pixel errors as the outerWidth\\n\\t\\t\\t\\t// of the table might not equal the total given here (IE!).\\n\\t\\t\\t\\ttotal += bounding;\\n\\t\\n\\t\\t\\t\\t// Width for each column to use\\n\\t\\t\\t\\tcolumns[ visibleColumns[i] ].sWidth = _fnStringToCss( bounding - border );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\ttable.style.width = _fnStringToCss( total );\\n\\t\\n\\t\\t\\t// Finished with the table - ditch it\\n\\t\\t\\tholder.remove();\\n\\t\\t}\\n\\t\\n\\t\\t// If there is a width attr, we want to attach an event listener which\\n\\t\\t// allows the table sizing to automatically adjust when the window is\\n\\t\\t// resized. Use the width attr rather than CSS, since we can't know if the\\n\\t\\t// CSS is a relative value or absolute - DOM read is always px.\\n\\t\\tif ( tableWidthAttr ) {\\n\\t\\t\\ttable.style.width = _fnStringToCss( tableWidthAttr );\\n\\t\\t}\\n\\t\\n\\t\\tif ( (tableWidthAttr || scrollX) && ! oSettings._reszEvt ) {\\n\\t\\t\\tvar bindResize = function () {\\n\\t\\t\\t\\t$(window).on('resize.DT-'+oSettings.sInstance, _fnThrottle( function () {\\n\\t\\t\\t\\t\\t_fnAdjustColumnSizing( oSettings );\\n\\t\\t\\t\\t} ) );\\n\\t\\t\\t};\\n\\t\\n\\t\\t\\t// IE6/7 will crash if we bind a resize event handler on page load.\\n\\t\\t\\t// To be removed in 1.11 which drops IE6/7 support\\n\\t\\t\\tif ( ie67 ) {\\n\\t\\t\\t\\tsetTimeout( bindResize, 1000 );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tbindResize();\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\toSettings._reszEvt = true;\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Throttle the calls to a function. Arguments and context are maintained for\\n\\t * the throttled function\\n\\t *  @param {function} fn Function to be called\\n\\t *  @param {int} [freq=200] call frequency in mS\\n\\t *  @returns {function} wrapped function\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tvar _fnThrottle = DataTable.util.throttle;\\n\\t\\n\\t\\n\\t/**\\n\\t * Convert a CSS unit width to pixels (e.g. 2em)\\n\\t *  @param {string} width width to be converted\\n\\t *  @param {node} parent parent to get the with for (required for relative widths) - optional\\n\\t *  @returns {int} width in pixels\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnConvertToWidth ( width, parent )\\n\\t{\\n\\t\\tif ( ! width ) {\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\t\\n\\t\\tvar n = $('<div/>')\\n\\t\\t\\t.css( 'width', _fnStringToCss( width ) )\\n\\t\\t\\t.appendTo( parent || document.body );\\n\\t\\n\\t\\tvar val = n[0].offsetWidth;\\n\\t\\tn.remove();\\n\\t\\n\\t\\treturn val;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the widest node\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {int} colIdx column of interest\\n\\t *  @returns {node} widest table node\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetWidestNode( settings, colIdx )\\n\\t{\\n\\t\\tvar idx = _fnGetMaxLenString( settings, colIdx );\\n\\t\\tif ( idx < 0 ) {\\n\\t\\t\\treturn null;\\n\\t\\t}\\n\\t\\n\\t\\tvar data = settings.aoData[ idx ];\\n\\t\\treturn ! data.nTr ? // Might not have been created when deferred rendering\\n\\t\\t\\t$('<td/>').html( _fnGetCellData( settings, idx, colIdx, 'display' ) )[0] :\\n\\t\\t\\tdata.anCells[ colIdx ];\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the maximum strlen for each data column\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {int} colIdx column of interest\\n\\t *  @returns {string} max string length for each column\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnGetMaxLenString( settings, colIdx )\\n\\t{\\n\\t\\tvar s, max=-1, maxIdx = -1;\\n\\t\\n\\t\\tfor ( var i=0, ien=settings.aoData.length ; i<ien ; i++ ) {\\n\\t\\t\\ts = _fnGetCellData( settings, i, colIdx, 'display' )+'';\\n\\t\\t\\ts = s.replace( __re_html_remove, '' );\\n\\t\\t\\ts = s.replace( /&nbsp;/g, ' ' );\\n\\t\\n\\t\\t\\tif ( s.length > max ) {\\n\\t\\t\\t\\tmax = s.length;\\n\\t\\t\\t\\tmaxIdx = i;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn maxIdx;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Append a CSS unit (only if required) to a string\\n\\t *  @param {string} value to css-ify\\n\\t *  @returns {string} value with css unit\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnStringToCss( s )\\n\\t{\\n\\t\\tif ( s === null ) {\\n\\t\\t\\treturn '0px';\\n\\t\\t}\\n\\t\\n\\t\\tif ( typeof s == 'number' ) {\\n\\t\\t\\treturn s < 0 ?\\n\\t\\t\\t\\t'0px' :\\n\\t\\t\\t\\ts+'px';\\n\\t\\t}\\n\\t\\n\\t\\t// Check it has a unit character already\\n\\t\\treturn s.match(/\\\\d$/) ?\\n\\t\\t\\ts+'px' :\\n\\t\\t\\ts;\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\tfunction _fnSortFlatten ( settings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ti, iLen, k, kLen,\\n\\t\\t\\taSort = [],\\n\\t\\t\\taiOrig = [],\\n\\t\\t\\taoColumns = settings.aoColumns,\\n\\t\\t\\taDataSort, iCol, sType, srcCol,\\n\\t\\t\\tfixed = settings.aaSortingFixed,\\n\\t\\t\\tfixedObj = $.isPlainObject( fixed ),\\n\\t\\t\\tnestedSort = [],\\n\\t\\t\\tadd = function ( a ) {\\n\\t\\t\\t\\tif ( a.length && ! $.isArray( a[0] ) ) {\\n\\t\\t\\t\\t\\t// 1D array\\n\\t\\t\\t\\t\\tnestedSort.push( a );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t// 2D array\\n\\t\\t\\t\\t\\t$.merge( nestedSort, a );\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\n\\t\\t// Build the sort array, with pre-fix and post-fix options if they have been\\n\\t\\t// specified\\n\\t\\tif ( $.isArray( fixed ) ) {\\n\\t\\t\\tadd( fixed );\\n\\t\\t}\\n\\t\\n\\t\\tif ( fixedObj && fixed.pre ) {\\n\\t\\t\\tadd( fixed.pre );\\n\\t\\t}\\n\\t\\n\\t\\tadd( settings.aaSorting );\\n\\t\\n\\t\\tif (fixedObj && fixed.post ) {\\n\\t\\t\\tadd( fixed.post );\\n\\t\\t}\\n\\t\\n\\t\\tfor ( i=0 ; i<nestedSort.length ; i++ )\\n\\t\\t{\\n\\t\\t\\tsrcCol = nestedSort[i][0];\\n\\t\\t\\taDataSort = aoColumns[ srcCol ].aDataSort;\\n\\t\\n\\t\\t\\tfor ( k=0, kLen=aDataSort.length ; k<kLen ; k++ )\\n\\t\\t\\t{\\n\\t\\t\\t\\tiCol = aDataSort[k];\\n\\t\\t\\t\\tsType = aoColumns[ iCol ].sType || 'string';\\n\\t\\n\\t\\t\\t\\tif ( nestedSort[i]._idx === undefined ) {\\n\\t\\t\\t\\t\\tnestedSort[i]._idx = $.inArray( nestedSort[i][1], aoColumns[iCol].asSorting );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\taSort.push( {\\n\\t\\t\\t\\t\\tsrc:       srcCol,\\n\\t\\t\\t\\t\\tcol:       iCol,\\n\\t\\t\\t\\t\\tdir:       nestedSort[i][1],\\n\\t\\t\\t\\t\\tindex:     nestedSort[i]._idx,\\n\\t\\t\\t\\t\\ttype:      sType,\\n\\t\\t\\t\\t\\tformatter: DataTable.ext.type.order[ sType+\\\"-pre\\\" ]\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn aSort;\\n\\t}\\n\\t\\n\\t/**\\n\\t * Change the order of the table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t *  @todo This really needs split up!\\n\\t */\\n\\tfunction _fnSort ( oSettings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ti, ien, iLen, j, jLen, k, kLen,\\n\\t\\t\\tsDataType, nTh,\\n\\t\\t\\taiOrig = [],\\n\\t\\t\\toExtSort = DataTable.ext.type.order,\\n\\t\\t\\taoData = oSettings.aoData,\\n\\t\\t\\taoColumns = oSettings.aoColumns,\\n\\t\\t\\taDataSort, data, iCol, sType, oSort,\\n\\t\\t\\tformatters = 0,\\n\\t\\t\\tsortCol,\\n\\t\\t\\tdisplayMaster = oSettings.aiDisplayMaster,\\n\\t\\t\\taSort;\\n\\t\\n\\t\\t// Resolve any column types that are unknown due to addition or invalidation\\n\\t\\t// @todo Can this be moved into a 'data-ready' handler which is called when\\n\\t\\t//   data is going to be used in the table?\\n\\t\\t_fnColumnTypes( oSettings );\\n\\t\\n\\t\\taSort = _fnSortFlatten( oSettings );\\n\\t\\n\\t\\tfor ( i=0, ien=aSort.length ; i<ien ; i++ ) {\\n\\t\\t\\tsortCol = aSort[i];\\n\\t\\n\\t\\t\\t// Track if we can use the fast sort algorithm\\n\\t\\t\\tif ( sortCol.formatter ) {\\n\\t\\t\\t\\tformatters++;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Load the data needed for the sort, for each cell\\n\\t\\t\\t_fnSortData( oSettings, sortCol.col );\\n\\t\\t}\\n\\t\\n\\t\\t/* No sorting required if server-side or no sorting array */\\n\\t\\tif ( _fnDataSource( oSettings ) != 'ssp' && aSort.length !== 0 )\\n\\t\\t{\\n\\t\\t\\t// Create a value - key array of the current row positions such that we can use their\\n\\t\\t\\t// current position during the sort, if values match, in order to perform stable sorting\\n\\t\\t\\tfor ( i=0, iLen=displayMaster.length ; i<iLen ; i++ ) {\\n\\t\\t\\t\\taiOrig[ displayMaster[i] ] = i;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t/* Do the sort - here we want multi-column sorting based on a given data source (column)\\n\\t\\t\\t * and sorting function (from oSort) in a certain direction. It's reasonably complex to\\n\\t\\t\\t * follow on it's own, but this is what we want (example two column sorting):\\n\\t\\t\\t *  fnLocalSorting = function(a,b){\\n\\t\\t\\t *    var iTest;\\n\\t\\t\\t *    iTest = oSort['string-asc']('data11', 'data12');\\n\\t\\t\\t *      if (iTest !== 0)\\n\\t\\t\\t *        return iTest;\\n\\t\\t\\t *    iTest = oSort['numeric-desc']('data21', 'data22');\\n\\t\\t\\t *    if (iTest !== 0)\\n\\t\\t\\t *      return iTest;\\n\\t\\t\\t *    return oSort['numeric-asc']( aiOrig[a], aiOrig[b] );\\n\\t\\t\\t *  }\\n\\t\\t\\t * Basically we have a test for each sorting column, if the data in that column is equal,\\n\\t\\t\\t * test the next column. If all columns match, then we use a numeric sort on the row\\n\\t\\t\\t * positions in the original data array to provide a stable sort.\\n\\t\\t\\t *\\n\\t\\t\\t * Note - I know it seems excessive to have two sorting methods, but the first is around\\n\\t\\t\\t * 15% faster, so the second is only maintained for backwards compatibility with sorting\\n\\t\\t\\t * methods which do not have a pre-sort formatting function.\\n\\t\\t\\t */\\n\\t\\t\\tif ( formatters === aSort.length ) {\\n\\t\\t\\t\\t// All sort types have formatting functions\\n\\t\\t\\t\\tdisplayMaster.sort( function ( a, b ) {\\n\\t\\t\\t\\t\\tvar\\n\\t\\t\\t\\t\\t\\tx, y, k, test, sort,\\n\\t\\t\\t\\t\\t\\tlen=aSort.length,\\n\\t\\t\\t\\t\\t\\tdataA = aoData[a]._aSortData,\\n\\t\\t\\t\\t\\t\\tdataB = aoData[b]._aSortData;\\n\\t\\n\\t\\t\\t\\t\\tfor ( k=0 ; k<len ; k++ ) {\\n\\t\\t\\t\\t\\t\\tsort = aSort[k];\\n\\t\\n\\t\\t\\t\\t\\t\\tx = dataA[ sort.col ];\\n\\t\\t\\t\\t\\t\\ty = dataB[ sort.col ];\\n\\t\\n\\t\\t\\t\\t\\t\\ttest = x<y ? -1 : x>y ? 1 : 0;\\n\\t\\t\\t\\t\\t\\tif ( test !== 0 ) {\\n\\t\\t\\t\\t\\t\\t\\treturn sort.dir === 'asc' ? test : -test;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tx = aiOrig[a];\\n\\t\\t\\t\\t\\ty = aiOrig[b];\\n\\t\\t\\t\\t\\treturn x<y ? -1 : x>y ? 1 : 0;\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// Depreciated - remove in 1.11 (providing a plug-in option)\\n\\t\\t\\t\\t// Not all sort types have formatting methods, so we have to call their sorting\\n\\t\\t\\t\\t// methods.\\n\\t\\t\\t\\tdisplayMaster.sort( function ( a, b ) {\\n\\t\\t\\t\\t\\tvar\\n\\t\\t\\t\\t\\t\\tx, y, k, l, test, sort, fn,\\n\\t\\t\\t\\t\\t\\tlen=aSort.length,\\n\\t\\t\\t\\t\\t\\tdataA = aoData[a]._aSortData,\\n\\t\\t\\t\\t\\t\\tdataB = aoData[b]._aSortData;\\n\\t\\n\\t\\t\\t\\t\\tfor ( k=0 ; k<len ; k++ ) {\\n\\t\\t\\t\\t\\t\\tsort = aSort[k];\\n\\t\\n\\t\\t\\t\\t\\t\\tx = dataA[ sort.col ];\\n\\t\\t\\t\\t\\t\\ty = dataB[ sort.col ];\\n\\t\\n\\t\\t\\t\\t\\t\\tfn = oExtSort[ sort.type+\\\"-\\\"+sort.dir ] || oExtSort[ \\\"string-\\\"+sort.dir ];\\n\\t\\t\\t\\t\\t\\ttest = fn( x, y );\\n\\t\\t\\t\\t\\t\\tif ( test !== 0 ) {\\n\\t\\t\\t\\t\\t\\t\\treturn test;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tx = aiOrig[a];\\n\\t\\t\\t\\t\\ty = aiOrig[b];\\n\\t\\t\\t\\t\\treturn x<y ? -1 : x>y ? 1 : 0;\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t/* Tell the draw function that we have sorted the data */\\n\\t\\toSettings.bSorted = true;\\n\\t}\\n\\t\\n\\t\\n\\tfunction _fnSortAria ( settings )\\n\\t{\\n\\t\\tvar label;\\n\\t\\tvar nextSort;\\n\\t\\tvar columns = settings.aoColumns;\\n\\t\\tvar aSort = _fnSortFlatten( settings );\\n\\t\\tvar oAria = settings.oLanguage.oAria;\\n\\t\\n\\t\\t// ARIA attributes - need to loop all columns, to update all (removing old\\n\\t\\t// attributes as needed)\\n\\t\\tfor ( var i=0, iLen=columns.length ; i<iLen ; i++ )\\n\\t\\t{\\n\\t\\t\\tvar col = columns[i];\\n\\t\\t\\tvar asSorting = col.asSorting;\\n\\t\\t\\tvar sTitle = col.sTitle.replace( /<.*?>/g, \\\"\\\" );\\n\\t\\t\\tvar th = col.nTh;\\n\\t\\n\\t\\t\\t// IE7 is throwing an error when setting these properties with jQuery's\\n\\t\\t\\t// attr() and removeAttr() methods...\\n\\t\\t\\tth.removeAttribute('aria-sort');\\n\\t\\n\\t\\t\\t/* In ARIA only the first sorting column can be marked as sorting - no multi-sort option */\\n\\t\\t\\tif ( col.bSortable ) {\\n\\t\\t\\t\\tif ( aSort.length > 0 && aSort[0].col == i ) {\\n\\t\\t\\t\\t\\tth.setAttribute('aria-sort', aSort[0].dir==\\\"asc\\\" ? \\\"ascending\\\" : \\\"descending\\\" );\\n\\t\\t\\t\\t\\tnextSort = asSorting[ aSort[0].index+1 ] || asSorting[0];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tnextSort = asSorting[0];\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tlabel = sTitle + ( nextSort === \\\"asc\\\" ?\\n\\t\\t\\t\\t\\toAria.sSortAscending :\\n\\t\\t\\t\\t\\toAria.sSortDescending\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tlabel = sTitle;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tth.setAttribute('aria-label', label);\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Function to run on user sort request\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {node} attachTo node to attach the handler to\\n\\t *  @param {int} colIdx column sorting index\\n\\t *  @param {boolean} [append=false] Append the requested sort to the existing\\n\\t *    sort if true (i.e. multi-column sort)\\n\\t *  @param {function} [callback] callback function\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSortListener ( settings, colIdx, append, callback )\\n\\t{\\n\\t\\tvar col = settings.aoColumns[ colIdx ];\\n\\t\\tvar sorting = settings.aaSorting;\\n\\t\\tvar asSorting = col.asSorting;\\n\\t\\tvar nextSortIdx;\\n\\t\\tvar next = function ( a, overflow ) {\\n\\t\\t\\tvar idx = a._idx;\\n\\t\\t\\tif ( idx === undefined ) {\\n\\t\\t\\t\\tidx = $.inArray( a[1], asSorting );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\treturn idx+1 < asSorting.length ?\\n\\t\\t\\t\\tidx+1 :\\n\\t\\t\\t\\toverflow ?\\n\\t\\t\\t\\t\\tnull :\\n\\t\\t\\t\\t\\t0;\\n\\t\\t};\\n\\t\\n\\t\\t// Convert to 2D array if needed\\n\\t\\tif ( typeof sorting[0] === 'number' ) {\\n\\t\\t\\tsorting = settings.aaSorting = [ sorting ];\\n\\t\\t}\\n\\t\\n\\t\\t// If appending the sort then we are multi-column sorting\\n\\t\\tif ( append && settings.oFeatures.bSortMulti ) {\\n\\t\\t\\t// Are we already doing some kind of sort on this column?\\n\\t\\t\\tvar sortIdx = $.inArray( colIdx, _pluck(sorting, '0') );\\n\\t\\n\\t\\t\\tif ( sortIdx !== -1 ) {\\n\\t\\t\\t\\t// Yes, modify the sort\\n\\t\\t\\t\\tnextSortIdx = next( sorting[sortIdx], true );\\n\\t\\n\\t\\t\\t\\tif ( nextSortIdx === null && sorting.length === 1 ) {\\n\\t\\t\\t\\t\\tnextSortIdx = 0; // can't remove sorting completely\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tif ( nextSortIdx === null ) {\\n\\t\\t\\t\\t\\tsorting.splice( sortIdx, 1 );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tsorting[sortIdx][1] = asSorting[ nextSortIdx ];\\n\\t\\t\\t\\t\\tsorting[sortIdx]._idx = nextSortIdx;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// No sort on this column yet\\n\\t\\t\\t\\tsorting.push( [ colIdx, asSorting[0], 0 ] );\\n\\t\\t\\t\\tsorting[sorting.length-1]._idx = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( sorting.length && sorting[0][0] == colIdx ) {\\n\\t\\t\\t// Single column - already sorting on this column, modify the sort\\n\\t\\t\\tnextSortIdx = next( sorting[0] );\\n\\t\\n\\t\\t\\tsorting.length = 1;\\n\\t\\t\\tsorting[0][1] = asSorting[ nextSortIdx ];\\n\\t\\t\\tsorting[0]._idx = nextSortIdx;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// Single column - sort only on this column\\n\\t\\t\\tsorting.length = 0;\\n\\t\\t\\tsorting.push( [ colIdx, asSorting[0] ] );\\n\\t\\t\\tsorting[0]._idx = 0;\\n\\t\\t}\\n\\t\\n\\t\\t// Run the sort by calling a full redraw\\n\\t\\t_fnReDraw( settings );\\n\\t\\n\\t\\t// callback used for async user interaction\\n\\t\\tif ( typeof callback == 'function' ) {\\n\\t\\t\\tcallback( settings );\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Attach a sort handler (click) to a node\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {node} attachTo node to attach the handler to\\n\\t *  @param {int} colIdx column sorting index\\n\\t *  @param {function} [callback] callback function\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSortAttachListener ( settings, attachTo, colIdx, callback )\\n\\t{\\n\\t\\tvar col = settings.aoColumns[ colIdx ];\\n\\t\\n\\t\\t_fnBindAction( attachTo, {}, function (e) {\\n\\t\\t\\t/* If the column is not sortable - don't to anything */\\n\\t\\t\\tif ( col.bSortable === false ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// If processing is enabled use a timeout to allow the processing\\n\\t\\t\\t// display to be shown - otherwise to it synchronously\\n\\t\\t\\tif ( settings.oFeatures.bProcessing ) {\\n\\t\\t\\t\\t_fnProcessingDisplay( settings, true );\\n\\t\\n\\t\\t\\t\\tsetTimeout( function() {\\n\\t\\t\\t\\t\\t_fnSortListener( settings, colIdx, e.shiftKey, callback );\\n\\t\\n\\t\\t\\t\\t\\t// In server-side processing, the draw callback will remove the\\n\\t\\t\\t\\t\\t// processing display\\n\\t\\t\\t\\t\\tif ( _fnDataSource( settings ) !== 'ssp' ) {\\n\\t\\t\\t\\t\\t\\t_fnProcessingDisplay( settings, false );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}, 0 );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t_fnSortListener( settings, colIdx, e.shiftKey, callback );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Set the sorting classes on table's body, Note: it is safe to call this function\\n\\t * when bSort and bSortClasses are false\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSortingClasses( settings )\\n\\t{\\n\\t\\tvar oldSort = settings.aLastSort;\\n\\t\\tvar sortClass = settings.oClasses.sSortColumn;\\n\\t\\tvar sort = _fnSortFlatten( settings );\\n\\t\\tvar features = settings.oFeatures;\\n\\t\\tvar i, ien, colIdx;\\n\\t\\n\\t\\tif ( features.bSort && features.bSortClasses ) {\\n\\t\\t\\t// Remove old sorting classes\\n\\t\\t\\tfor ( i=0, ien=oldSort.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tcolIdx = oldSort[i].src;\\n\\t\\n\\t\\t\\t\\t// Remove column sorting\\n\\t\\t\\t\\t$( _pluck( settings.aoData, 'anCells', colIdx ) )\\n\\t\\t\\t\\t\\t.removeClass( sortClass + (i<2 ? i+1 : 3) );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Add new column sorting\\n\\t\\t\\tfor ( i=0, ien=sort.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tcolIdx = sort[i].src;\\n\\t\\n\\t\\t\\t\\t$( _pluck( settings.aoData, 'anCells', colIdx ) )\\n\\t\\t\\t\\t\\t.addClass( sortClass + (i<2 ? i+1 : 3) );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\tsettings.aLastSort = sort;\\n\\t}\\n\\t\\n\\t\\n\\t// Get the data to sort a column, be it from cache, fresh (populating the\\n\\t// cache), or from a sort formatter\\n\\tfunction _fnSortData( settings, idx )\\n\\t{\\n\\t\\t// Custom sorting function - provided by the sort data type\\n\\t\\tvar column = settings.aoColumns[ idx ];\\n\\t\\tvar customSort = DataTable.ext.order[ column.sSortDataType ];\\n\\t\\tvar customData;\\n\\t\\n\\t\\tif ( customSort ) {\\n\\t\\t\\tcustomData = customSort.call( settings.oInstance, settings, idx,\\n\\t\\t\\t\\t_fnColumnIndexToVisible( settings, idx )\\n\\t\\t\\t);\\n\\t\\t}\\n\\t\\n\\t\\t// Use / populate cache\\n\\t\\tvar row, cellData;\\n\\t\\tvar formatter = DataTable.ext.type.order[ column.sType+\\\"-pre\\\" ];\\n\\t\\n\\t\\tfor ( var i=0, ien=settings.aoData.length ; i<ien ; i++ ) {\\n\\t\\t\\trow = settings.aoData[i];\\n\\t\\n\\t\\t\\tif ( ! row._aSortData ) {\\n\\t\\t\\t\\trow._aSortData = [];\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( ! row._aSortData[idx] || customSort ) {\\n\\t\\t\\t\\tcellData = customSort ?\\n\\t\\t\\t\\t\\tcustomData[i] : // If there was a custom sort function, use data from there\\n\\t\\t\\t\\t\\t_fnGetCellData( settings, i, idx, 'sort' );\\n\\t\\n\\t\\t\\t\\trow._aSortData[ idx ] = formatter ?\\n\\t\\t\\t\\t\\tformatter( cellData ) :\\n\\t\\t\\t\\t\\tcellData;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Save the state of a table\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSaveState ( settings )\\n\\t{\\n\\t\\tif ( !settings.oFeatures.bStateSave || settings.bDestroying )\\n\\t\\t{\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\t/* Store the interesting variables */\\n\\t\\tvar state = {\\n\\t\\t\\ttime:    +new Date(),\\n\\t\\t\\tstart:   settings._iDisplayStart,\\n\\t\\t\\tlength:  settings._iDisplayLength,\\n\\t\\t\\torder:   $.extend( true, [], settings.aaSorting ),\\n\\t\\t\\tsearch:  _fnSearchToCamel( settings.oPreviousSearch ),\\n\\t\\t\\tcolumns: $.map( settings.aoColumns, function ( col, i ) {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tvisible: col.bVisible,\\n\\t\\t\\t\\t\\tsearch: _fnSearchToCamel( settings.aoPreSearchCols[i] )\\n\\t\\t\\t\\t};\\n\\t\\t\\t} )\\n\\t\\t};\\n\\t\\n\\t\\t_fnCallbackFire( settings, \\\"aoStateSaveParams\\\", 'stateSaveParams', [settings, state] );\\n\\t\\n\\t\\tsettings.oSavedState = state;\\n\\t\\tsettings.fnStateSaveCallback.call( settings.oInstance, settings, state );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Attempt to load a saved table state\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {object} oInit DataTables init object so we can override settings\\n\\t *  @param {function} callback Callback to execute when the state has been loaded\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnLoadState ( settings, oInit, callback )\\n\\t{\\n\\t\\tvar i, ien;\\n\\t\\tvar columns = settings.aoColumns;\\n\\t\\tvar loaded = function ( s ) {\\n\\t\\t\\tif ( ! s || ! s.time ) {\\n\\t\\t\\t\\tcallback();\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Allow custom and plug-in manipulation functions to alter the saved data set and\\n\\t\\t\\t// cancelling of loading by returning false\\n\\t\\t\\tvar abStateLoad = _fnCallbackFire( settings, 'aoStateLoadParams', 'stateLoadParams', [settings, s] );\\n\\t\\t\\tif ( $.inArray( false, abStateLoad ) !== -1 ) {\\n\\t\\t\\t\\tcallback();\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Reject old data\\n\\t\\t\\tvar duration = settings.iStateDuration;\\n\\t\\t\\tif ( duration > 0 && s.time < +new Date() - (duration*1000) ) {\\n\\t\\t\\t\\tcallback();\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Number of columns have changed - all bets are off, no restore of settings\\n\\t\\t\\tif ( s.columns && columns.length !== s.columns.length ) {\\n\\t\\t\\t\\tcallback();\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Store the saved state so it might be accessed at any time\\n\\t\\t\\tsettings.oLoadedState = $.extend( true, {}, s );\\n\\t\\n\\t\\t\\t// Restore key features - todo - for 1.11 this needs to be done by\\n\\t\\t\\t// subscribed events\\n\\t\\t\\tif ( s.start !== undefined ) {\\n\\t\\t\\t\\tsettings._iDisplayStart    = s.start;\\n\\t\\t\\t\\tsettings.iInitDisplayStart = s.start;\\n\\t\\t\\t}\\n\\t\\t\\tif ( s.length !== undefined ) {\\n\\t\\t\\t\\tsettings._iDisplayLength   = s.length;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Order\\n\\t\\t\\tif ( s.order !== undefined ) {\\n\\t\\t\\t\\tsettings.aaSorting = [];\\n\\t\\t\\t\\t$.each( s.order, function ( i, col ) {\\n\\t\\t\\t\\t\\tsettings.aaSorting.push( col[0] >= columns.length ?\\n\\t\\t\\t\\t\\t\\t[ 0, col[1] ] :\\n\\t\\t\\t\\t\\t\\tcol\\n\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Search\\n\\t\\t\\tif ( s.search !== undefined ) {\\n\\t\\t\\t\\t$.extend( settings.oPreviousSearch, _fnSearchToHung( s.search ) );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Columns\\n\\t\\t\\t//\\n\\t\\t\\tif ( s.columns ) {\\n\\t\\t\\t\\tfor ( i=0, ien=s.columns.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tvar col = s.columns[i];\\n\\t\\n\\t\\t\\t\\t\\t// Visibility\\n\\t\\t\\t\\t\\tif ( col.visible !== undefined ) {\\n\\t\\t\\t\\t\\t\\tcolumns[i].bVisible = col.visible;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t// Search\\n\\t\\t\\t\\t\\tif ( col.search !== undefined ) {\\n\\t\\t\\t\\t\\t\\t$.extend( settings.aoPreSearchCols[i], _fnSearchToHung( col.search ) );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t_fnCallbackFire( settings, 'aoStateLoaded', 'stateLoaded', [settings, s] );\\n\\t\\t\\tcallback();\\n\\t\\t}\\n\\t\\n\\t\\tif ( ! settings.oFeatures.bStateSave ) {\\n\\t\\t\\tcallback();\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tvar state = settings.fnStateLoadCallback.call( settings.oInstance, settings, loaded );\\n\\t\\n\\t\\tif ( state !== undefined ) {\\n\\t\\t\\tloaded( state );\\n\\t\\t}\\n\\t\\t// otherwise, wait for the loaded callback to be executed\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Return the settings object for a particular table\\n\\t *  @param {node} table table we are using as a dataTable\\n\\t *  @returns {object} Settings object - or null if not found\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnSettingsFromNode ( table )\\n\\t{\\n\\t\\tvar settings = DataTable.settings;\\n\\t\\tvar idx = $.inArray( table, _pluck( settings, 'nTable' ) );\\n\\t\\n\\t\\treturn idx !== -1 ?\\n\\t\\t\\tsettings[ idx ] :\\n\\t\\t\\tnull;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Log an error message\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {int} level log error messages, or display them to the user\\n\\t *  @param {string} msg error message\\n\\t *  @param {int} tn Technical note id to get more information about the error.\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnLog( settings, level, msg, tn )\\n\\t{\\n\\t\\tmsg = 'DataTables warning: '+\\n\\t\\t\\t(settings ? 'table id='+settings.sTableId+' - ' : '')+msg;\\n\\t\\n\\t\\tif ( tn ) {\\n\\t\\t\\tmsg += '. For more information about this error, please see '+\\n\\t\\t\\t'http://datatables.net/tn/'+tn;\\n\\t\\t}\\n\\t\\n\\t\\tif ( ! level  ) {\\n\\t\\t\\t// Backwards compatibility pre 1.10\\n\\t\\t\\tvar ext = DataTable.ext;\\n\\t\\t\\tvar type = ext.sErrMode || ext.errMode;\\n\\t\\n\\t\\t\\tif ( settings ) {\\n\\t\\t\\t\\t_fnCallbackFire( settings, null, 'error', [ settings, tn, msg ] );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( type == 'alert' ) {\\n\\t\\t\\t\\talert( msg );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( type == 'throw' ) {\\n\\t\\t\\t\\tthrow new Error(msg);\\n\\t\\t\\t}\\n\\t\\t\\telse if ( typeof type == 'function' ) {\\n\\t\\t\\t\\ttype( settings, tn, msg );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( window.console && console.log ) {\\n\\t\\t\\tconsole.log( msg );\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * See if a property is defined on one object, if so assign it to the other object\\n\\t *  @param {object} ret target object\\n\\t *  @param {object} src source object\\n\\t *  @param {string} name property\\n\\t *  @param {string} [mappedName] name to map too - optional, name used if not given\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnMap( ret, src, name, mappedName )\\n\\t{\\n\\t\\tif ( $.isArray( name ) ) {\\n\\t\\t\\t$.each( name, function (i, val) {\\n\\t\\t\\t\\tif ( $.isArray( val ) ) {\\n\\t\\t\\t\\t\\t_fnMap( ret, src, val[0], val[1] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t_fnMap( ret, src, val );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tif ( mappedName === undefined ) {\\n\\t\\t\\tmappedName = name;\\n\\t\\t}\\n\\t\\n\\t\\tif ( src[name] !== undefined ) {\\n\\t\\t\\tret[mappedName] = src[name];\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Extend objects - very similar to jQuery.extend, but deep copy objects, and\\n\\t * shallow copy arrays. The reason we need to do this, is that we don't want to\\n\\t * deep copy array init values (such as aaSorting) since the dev wouldn't be\\n\\t * able to override them, but we do want to deep copy arrays.\\n\\t *  @param {object} out Object to extend\\n\\t *  @param {object} extender Object from which the properties will be applied to\\n\\t *      out\\n\\t *  @param {boolean} breakRefs If true, then arrays will be sliced to take an\\n\\t *      independent copy with the exception of the `data` or `aaData` parameters\\n\\t *      if they are present. This is so you can pass in a collection to\\n\\t *      DataTables and have that used as your data source without breaking the\\n\\t *      references\\n\\t *  @returns {object} out Reference, just for convenience - out === the return.\\n\\t *  @memberof DataTable#oApi\\n\\t *  @todo This doesn't take account of arrays inside the deep copied objects.\\n\\t */\\n\\tfunction _fnExtend( out, extender, breakRefs )\\n\\t{\\n\\t\\tvar val;\\n\\t\\n\\t\\tfor ( var prop in extender ) {\\n\\t\\t\\tif ( extender.hasOwnProperty(prop) ) {\\n\\t\\t\\t\\tval = extender[prop];\\n\\t\\n\\t\\t\\t\\tif ( $.isPlainObject( val ) ) {\\n\\t\\t\\t\\t\\tif ( ! $.isPlainObject( out[prop] ) ) {\\n\\t\\t\\t\\t\\t\\tout[prop] = {};\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t$.extend( true, out[prop], val );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( breakRefs && prop !== 'data' && prop !== 'aaData' && $.isArray(val) ) {\\n\\t\\t\\t\\t\\tout[prop] = val.slice();\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tout[prop] = val;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn out;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Bind an event handers to allow a click or return key to activate the callback.\\n\\t * This is good for accessibility since a return on the keyboard will have the\\n\\t * same effect as a click, if the element has focus.\\n\\t *  @param {element} n Element to bind the action to\\n\\t *  @param {object} oData Data object to pass to the triggered function\\n\\t *  @param {function} fn Callback function for when the event is triggered\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnBindAction( n, oData, fn )\\n\\t{\\n\\t\\t$(n)\\n\\t\\t\\t.on( 'click.DT', oData, function (e) {\\n\\t\\t\\t\\t\\t$(n).blur(); // Remove focus outline for mouse users\\n\\t\\t\\t\\t\\tfn(e);\\n\\t\\t\\t\\t} )\\n\\t\\t\\t.on( 'keypress.DT', oData, function (e){\\n\\t\\t\\t\\t\\tif ( e.which === 13 ) {\\n\\t\\t\\t\\t\\t\\te.preventDefault();\\n\\t\\t\\t\\t\\t\\tfn(e);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} )\\n\\t\\t\\t.on( 'selectstart.DT', function () {\\n\\t\\t\\t\\t\\t/* Take the brutal approach to cancelling text selection */\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t} );\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Register a callback function. Easily allows a callback function to be added to\\n\\t * an array store of callback functions that can then all be called together.\\n\\t *  @param {object} oSettings dataTables settings object\\n\\t *  @param {string} sStore Name of the array storage for the callbacks in oSettings\\n\\t *  @param {function} fn Function to be called back\\n\\t *  @param {string} sName Identifying name for the callback (i.e. a label)\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnCallbackReg( oSettings, sStore, fn, sName )\\n\\t{\\n\\t\\tif ( fn )\\n\\t\\t{\\n\\t\\t\\toSettings[sStore].push( {\\n\\t\\t\\t\\t\\\"fn\\\": fn,\\n\\t\\t\\t\\t\\\"sName\\\": sName\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Fire callback functions and trigger events. Note that the loop over the\\n\\t * callback array store is done backwards! Further note that you do not want to\\n\\t * fire off triggers in time sensitive applications (for example cell creation)\\n\\t * as its slow.\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @param {string} callbackArr Name of the array storage for the callbacks in\\n\\t *      oSettings\\n\\t *  @param {string} eventName Name of the jQuery custom event to trigger. If\\n\\t *      null no trigger is fired\\n\\t *  @param {array} args Array of arguments to pass to the callback function /\\n\\t *      trigger\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnCallbackFire( settings, callbackArr, eventName, args )\\n\\t{\\n\\t\\tvar ret = [];\\n\\t\\n\\t\\tif ( callbackArr ) {\\n\\t\\t\\tret = $.map( settings[callbackArr].slice().reverse(), function (val, i) {\\n\\t\\t\\t\\treturn val.fn.apply( settings.oInstance, args );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t\\n\\t\\tif ( eventName !== null ) {\\n\\t\\t\\tvar e = $.Event( eventName+'.dt' );\\n\\t\\n\\t\\t\\t$(settings.nTable).trigger( e, args );\\n\\t\\n\\t\\t\\tret.push( e.result );\\n\\t\\t}\\n\\t\\n\\t\\treturn ret;\\n\\t}\\n\\t\\n\\t\\n\\tfunction _fnLengthOverflow ( settings )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tstart = settings._iDisplayStart,\\n\\t\\t\\tend = settings.fnDisplayEnd(),\\n\\t\\t\\tlen = settings._iDisplayLength;\\n\\t\\n\\t\\t/* If we have space to show extra rows (backing up from the end point - then do so */\\n\\t\\tif ( start >= end )\\n\\t\\t{\\n\\t\\t\\tstart = end - len;\\n\\t\\t}\\n\\t\\n\\t\\t// Keep the start record on the current page\\n\\t\\tstart -= (start % len);\\n\\t\\n\\t\\tif ( len === -1 || start < 0 )\\n\\t\\t{\\n\\t\\t\\tstart = 0;\\n\\t\\t}\\n\\t\\n\\t\\tsettings._iDisplayStart = start;\\n\\t}\\n\\t\\n\\t\\n\\tfunction _fnRenderer( settings, type )\\n\\t{\\n\\t\\tvar renderer = settings.renderer;\\n\\t\\tvar host = DataTable.ext.renderer[type];\\n\\t\\n\\t\\tif ( $.isPlainObject( renderer ) && renderer[type] ) {\\n\\t\\t\\t// Specific renderer for this type. If available use it, otherwise use\\n\\t\\t\\t// the default.\\n\\t\\t\\treturn host[renderer[type]] || host._;\\n\\t\\t}\\n\\t\\telse if ( typeof renderer === 'string' ) {\\n\\t\\t\\t// Common renderer - if there is one available for this type use it,\\n\\t\\t\\t// otherwise use the default\\n\\t\\t\\treturn host[renderer] || host._;\\n\\t\\t}\\n\\t\\n\\t\\t// Use the default\\n\\t\\treturn host._;\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Detect the data source being used for the table. Used to simplify the code\\n\\t * a little (ajax) and to make it compress a little smaller.\\n\\t *\\n\\t *  @param {object} settings dataTables settings object\\n\\t *  @returns {string} Data source\\n\\t *  @memberof DataTable#oApi\\n\\t */\\n\\tfunction _fnDataSource ( settings )\\n\\t{\\n\\t\\tif ( settings.oFeatures.bServerSide ) {\\n\\t\\t\\treturn 'ssp';\\n\\t\\t}\\n\\t\\telse if ( settings.ajax || settings.sAjaxSource ) {\\n\\t\\t\\treturn 'ajax';\\n\\t\\t}\\n\\t\\treturn 'dom';\\n\\t}\\n\\t\\n\\n\\t\\n\\t\\n\\t/**\\n\\t * Computed structure of the DataTables API, defined by the options passed to\\n\\t * `DataTable.Api.register()` when building the API.\\n\\t *\\n\\t * The structure is built in order to speed creation and extension of the Api\\n\\t * objects since the extensions are effectively pre-parsed.\\n\\t *\\n\\t * The array is an array of objects with the following structure, where this\\n\\t * base array represents the Api prototype base:\\n\\t *\\n\\t *     [\\n\\t *       {\\n\\t *         name:      'data'                -- string   - Property name\\n\\t *         val:       function () {},       -- function - Api method (or undefined if just an object\\n\\t *         methodExt: [ ... ],              -- array    - Array of Api object definitions to extend the method result\\n\\t *         propExt:   [ ... ]               -- array    - Array of Api object definitions to extend the property\\n\\t *       },\\n\\t *       {\\n\\t *         name:     'row'\\n\\t *         val:       {},\\n\\t *         methodExt: [ ... ],\\n\\t *         propExt:   [\\n\\t *           {\\n\\t *             name:      'data'\\n\\t *             val:       function () {},\\n\\t *             methodExt: [ ... ],\\n\\t *             propExt:   [ ... ]\\n\\t *           },\\n\\t *           ...\\n\\t *         ]\\n\\t *       }\\n\\t *     ]\\n\\t *\\n\\t * @type {Array}\\n\\t * @ignore\\n\\t */\\n\\tvar __apiStruct = [];\\n\\t\\n\\t\\n\\t/**\\n\\t * `Array.prototype` reference.\\n\\t *\\n\\t * @type object\\n\\t * @ignore\\n\\t */\\n\\tvar __arrayProto = Array.prototype;\\n\\t\\n\\t\\n\\t/**\\n\\t * Abstraction for `context` parameter of the `Api` constructor to allow it to\\n\\t * take several different forms for ease of use.\\n\\t *\\n\\t * Each of the input parameter types will be converted to a DataTables settings\\n\\t * object where possible.\\n\\t *\\n\\t * @param  {string|node|jQuery|object} mixed DataTable identifier. Can be one\\n\\t *   of:\\n\\t *\\n\\t *   * `string` - jQuery selector. Any DataTables' matching the given selector\\n\\t *     with be found and used.\\n\\t *   * `node` - `TABLE` node which has already been formed into a DataTable.\\n\\t *   * `jQuery` - A jQuery object of `TABLE` nodes.\\n\\t *   * `object` - DataTables settings object\\n\\t *   * `DataTables.Api` - API instance\\n\\t * @return {array|null} Matching DataTables settings objects. `null` or\\n\\t *   `undefined` is returned if no matching DataTable is found.\\n\\t * @ignore\\n\\t */\\n\\tvar _toSettings = function ( mixed )\\n\\t{\\n\\t\\tvar idx, jq;\\n\\t\\tvar settings = DataTable.settings;\\n\\t\\tvar tables = $.map( settings, function (el, i) {\\n\\t\\t\\treturn el.nTable;\\n\\t\\t} );\\n\\t\\n\\t\\tif ( ! mixed ) {\\n\\t\\t\\treturn [];\\n\\t\\t}\\n\\t\\telse if ( mixed.nTable && mixed.oApi ) {\\n\\t\\t\\t// DataTables settings object\\n\\t\\t\\treturn [ mixed ];\\n\\t\\t}\\n\\t\\telse if ( mixed.nodeName && mixed.nodeName.toLowerCase() === 'table' ) {\\n\\t\\t\\t// Table node\\n\\t\\t\\tidx = $.inArray( mixed, tables );\\n\\t\\t\\treturn idx !== -1 ? [ settings[idx] ] : null;\\n\\t\\t}\\n\\t\\telse if ( mixed && typeof mixed.settings === 'function' ) {\\n\\t\\t\\treturn mixed.settings().toArray();\\n\\t\\t}\\n\\t\\telse if ( typeof mixed === 'string' ) {\\n\\t\\t\\t// jQuery selector\\n\\t\\t\\tjq = $(mixed);\\n\\t\\t}\\n\\t\\telse if ( mixed instanceof $ ) {\\n\\t\\t\\t// jQuery object (also DataTables instance)\\n\\t\\t\\tjq = mixed;\\n\\t\\t}\\n\\t\\n\\t\\tif ( jq ) {\\n\\t\\t\\treturn jq.map( function(i) {\\n\\t\\t\\t\\tidx = $.inArray( this, tables );\\n\\t\\t\\t\\treturn idx !== -1 ? settings[idx] : null;\\n\\t\\t\\t} ).toArray();\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * DataTables API class - used to control and interface with  one or more\\n\\t * DataTables enhanced tables.\\n\\t *\\n\\t * The API class is heavily based on jQuery, presenting a chainable interface\\n\\t * that you can use to interact with tables. Each instance of the API class has\\n\\t * a \\\"context\\\" - i.e. the tables that it will operate on. This could be a single\\n\\t * table, all tables on a page or a sub-set thereof.\\n\\t *\\n\\t * Additionally the API is designed to allow you to easily work with the data in\\n\\t * the tables, retrieving and manipulating it as required. This is done by\\n\\t * presenting the API class as an array like interface. The contents of the\\n\\t * array depend upon the actions requested by each method (for example\\n\\t * `rows().nodes()` will return an array of nodes, while `rows().data()` will\\n\\t * return an array of objects or arrays depending upon your table's\\n\\t * configuration). The API object has a number of array like methods (`push`,\\n\\t * `pop`, `reverse` etc) as well as additional helper methods (`each`, `pluck`,\\n\\t * `unique` etc) to assist your working with the data held in a table.\\n\\t *\\n\\t * Most methods (those which return an Api instance) are chainable, which means\\n\\t * the return from a method call also has all of the methods available that the\\n\\t * top level object had. For example, these two calls are equivalent:\\n\\t *\\n\\t *     // Not chained\\n\\t *     api.row.add( {...} );\\n\\t *     api.draw();\\n\\t *\\n\\t *     // Chained\\n\\t *     api.row.add( {...} ).draw();\\n\\t *\\n\\t * @class DataTable.Api\\n\\t * @param {array|object|string|jQuery} context DataTable identifier. This is\\n\\t *   used to define which DataTables enhanced tables this API will operate on.\\n\\t *   Can be one of:\\n\\t *\\n\\t *   * `string` - jQuery selector. Any DataTables' matching the given selector\\n\\t *     with be found and used.\\n\\t *   * `node` - `TABLE` node which has already been formed into a DataTable.\\n\\t *   * `jQuery` - A jQuery object of `TABLE` nodes.\\n\\t *   * `object` - DataTables settings object\\n\\t * @param {array} [data] Data to initialise the Api instance with.\\n\\t *\\n\\t * @example\\n\\t *   // Direct initialisation during DataTables construction\\n\\t *   var api = $('#example').DataTable();\\n\\t *\\n\\t * @example\\n\\t *   // Initialisation using a DataTables jQuery object\\n\\t *   var api = $('#example').dataTable().api();\\n\\t *\\n\\t * @example\\n\\t *   // Initialisation as a constructor\\n\\t *   var api = new $.fn.DataTable.Api( 'table.dataTable' );\\n\\t */\\n\\t_Api = function ( context, data )\\n\\t{\\n\\t\\tif ( ! (this instanceof _Api) ) {\\n\\t\\t\\treturn new _Api( context, data );\\n\\t\\t}\\n\\t\\n\\t\\tvar settings = [];\\n\\t\\tvar ctxSettings = function ( o ) {\\n\\t\\t\\tvar a = _toSettings( o );\\n\\t\\t\\tif ( a ) {\\n\\t\\t\\t\\tsettings = settings.concat( a );\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\n\\t\\tif ( $.isArray( context ) ) {\\n\\t\\t\\tfor ( var i=0, ien=context.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tctxSettings( context[i] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tctxSettings( context );\\n\\t\\t}\\n\\t\\n\\t\\t// Remove duplicates\\n\\t\\tthis.context = _unique( settings );\\n\\t\\n\\t\\t// Initial data\\n\\t\\tif ( data ) {\\n\\t\\t\\t$.merge( this, data );\\n\\t\\t}\\n\\t\\n\\t\\t// selector\\n\\t\\tthis.selector = {\\n\\t\\t\\trows: null,\\n\\t\\t\\tcols: null,\\n\\t\\t\\topts: null\\n\\t\\t};\\n\\t\\n\\t\\t_Api.extend( this, this, __apiStruct );\\n\\t};\\n\\t\\n\\tDataTable.Api = _Api;\\n\\t\\n\\t// Don't destroy the existing prototype, just extend it. Required for jQuery 2's\\n\\t// isPlainObject.\\n\\t$.extend( _Api.prototype, {\\n\\t\\tany: function ()\\n\\t\\t{\\n\\t\\t\\treturn this.count() !== 0;\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tconcat:  __arrayProto.concat,\\n\\t\\n\\t\\n\\t\\tcontext: [], // array of table settings objects\\n\\t\\n\\t\\n\\t\\tcount: function ()\\n\\t\\t{\\n\\t\\t\\treturn this.flatten().length;\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\teach: function ( fn )\\n\\t\\t{\\n\\t\\t\\tfor ( var i=0, ien=this.length ; i<ien; i++ ) {\\n\\t\\t\\t\\tfn.call( this, this[i], i, this );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\treturn this;\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\teq: function ( idx )\\n\\t\\t{\\n\\t\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\t\\treturn ctx.length > idx ?\\n\\t\\t\\t\\tnew _Api( ctx[idx], this[idx] ) :\\n\\t\\t\\t\\tnull;\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tfilter: function ( fn )\\n\\t\\t{\\n\\t\\t\\tvar a = [];\\n\\t\\n\\t\\t\\tif ( __arrayProto.filter ) {\\n\\t\\t\\t\\ta = __arrayProto.filter.call( this, fn, this );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// Compatibility for browsers without EMCA-252-5 (JS 1.6)\\n\\t\\t\\t\\tfor ( var i=0, ien=this.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tif ( fn.call( this, this[i], i, this ) ) {\\n\\t\\t\\t\\t\\t\\ta.push( this[i] );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\treturn new _Api( this.context, a );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tflatten: function ()\\n\\t\\t{\\n\\t\\t\\tvar a = [];\\n\\t\\t\\treturn new _Api( this.context, a.concat.apply( a, this.toArray() ) );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tjoin:    __arrayProto.join,\\n\\t\\n\\t\\n\\t\\tindexOf: __arrayProto.indexOf || function (obj, start)\\n\\t\\t{\\n\\t\\t\\tfor ( var i=(start || 0), ien=this.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( this[i] === obj ) {\\n\\t\\t\\t\\t\\treturn i;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn -1;\\n\\t\\t},\\n\\t\\n\\t\\titerator: function ( flatten, type, fn, alwaysNew ) {\\n\\t\\t\\tvar\\n\\t\\t\\t\\ta = [], ret,\\n\\t\\t\\t\\ti, ien, j, jen,\\n\\t\\t\\t\\tcontext = this.context,\\n\\t\\t\\t\\trows, items, item,\\n\\t\\t\\t\\tselector = this.selector;\\n\\t\\n\\t\\t\\t// Argument shifting\\n\\t\\t\\tif ( typeof flatten === 'string' ) {\\n\\t\\t\\t\\talwaysNew = fn;\\n\\t\\t\\t\\tfn = type;\\n\\t\\t\\t\\ttype = flatten;\\n\\t\\t\\t\\tflatten = false;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tfor ( i=0, ien=context.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tvar apiInst = new _Api( context[i] );\\n\\t\\n\\t\\t\\t\\tif ( type === 'table' ) {\\n\\t\\t\\t\\t\\tret = fn.call( apiInst, context[i], i );\\n\\t\\n\\t\\t\\t\\t\\tif ( ret !== undefined ) {\\n\\t\\t\\t\\t\\t\\ta.push( ret );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( type === 'columns' || type === 'rows' ) {\\n\\t\\t\\t\\t\\t// this has same length as context - one entry for each table\\n\\t\\t\\t\\t\\tret = fn.call( apiInst, context[i], this[i], i );\\n\\t\\n\\t\\t\\t\\t\\tif ( ret !== undefined ) {\\n\\t\\t\\t\\t\\t\\ta.push( ret );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( type === 'column' || type === 'column-rows' || type === 'row' || type === 'cell' ) {\\n\\t\\t\\t\\t\\t// columns and rows share the same structure.\\n\\t\\t\\t\\t\\t// 'this' is an array of column indexes for each context\\n\\t\\t\\t\\t\\titems = this[i];\\n\\t\\n\\t\\t\\t\\t\\tif ( type === 'column-rows' ) {\\n\\t\\t\\t\\t\\t\\trows = _selector_row_indexes( context[i], selector.opts );\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tfor ( j=0, jen=items.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t\\t\\titem = items[j];\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( type === 'cell' ) {\\n\\t\\t\\t\\t\\t\\t\\tret = fn.call( apiInst, context[i], item.row, item.column, i, j );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\t\\tret = fn.call( apiInst, context[i], item, i, j, rows );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( ret !== undefined ) {\\n\\t\\t\\t\\t\\t\\t\\ta.push( ret );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( a.length || alwaysNew ) {\\n\\t\\t\\t\\tvar api = new _Api( context, flatten ? a.concat.apply( [], a ) : a );\\n\\t\\t\\t\\tvar apiSelector = api.selector;\\n\\t\\t\\t\\tapiSelector.rows = selector.rows;\\n\\t\\t\\t\\tapiSelector.cols = selector.cols;\\n\\t\\t\\t\\tapiSelector.opts = selector.opts;\\n\\t\\t\\t\\treturn api;\\n\\t\\t\\t}\\n\\t\\t\\treturn this;\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tlastIndexOf: __arrayProto.lastIndexOf || function (obj, start)\\n\\t\\t{\\n\\t\\t\\t// Bit cheeky...\\n\\t\\t\\treturn this.indexOf.apply( this.toArray.reverse(), arguments );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tlength:  0,\\n\\t\\n\\t\\n\\t\\tmap: function ( fn )\\n\\t\\t{\\n\\t\\t\\tvar a = [];\\n\\t\\n\\t\\t\\tif ( __arrayProto.map ) {\\n\\t\\t\\t\\ta = __arrayProto.map.call( this, fn, this );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// Compatibility for browsers without EMCA-252-5 (JS 1.6)\\n\\t\\t\\t\\tfor ( var i=0, ien=this.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\ta.push( fn.call( this, this[i], i ) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\treturn new _Api( this.context, a );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tpluck: function ( prop )\\n\\t\\t{\\n\\t\\t\\treturn this.map( function ( el ) {\\n\\t\\t\\t\\treturn el[ prop ];\\n\\t\\t\\t} );\\n\\t\\t},\\n\\t\\n\\t\\tpop:     __arrayProto.pop,\\n\\t\\n\\t\\n\\t\\tpush:    __arrayProto.push,\\n\\t\\n\\t\\n\\t\\t// Does not return an API instance\\n\\t\\treduce: __arrayProto.reduce || function ( fn, init )\\n\\t\\t{\\n\\t\\t\\treturn _fnReduce( this, fn, init, 0, this.length, 1 );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\treduceRight: __arrayProto.reduceRight || function ( fn, init )\\n\\t\\t{\\n\\t\\t\\treturn _fnReduce( this, fn, init, this.length-1, -1, -1 );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\treverse: __arrayProto.reverse,\\n\\t\\n\\t\\n\\t\\t// Object with rows, columns and opts\\n\\t\\tselector: null,\\n\\t\\n\\t\\n\\t\\tshift:   __arrayProto.shift,\\n\\t\\n\\t\\n\\t\\tslice: function () {\\n\\t\\t\\treturn new _Api( this.context, this );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tsort:    __arrayProto.sort, // ? name - order?\\n\\t\\n\\t\\n\\t\\tsplice:  __arrayProto.splice,\\n\\t\\n\\t\\n\\t\\ttoArray: function ()\\n\\t\\t{\\n\\t\\t\\treturn __arrayProto.slice.call( this );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tto$: function ()\\n\\t\\t{\\n\\t\\t\\treturn $( this );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\ttoJQuery: function ()\\n\\t\\t{\\n\\t\\t\\treturn $( this );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tunique: function ()\\n\\t\\t{\\n\\t\\t\\treturn new _Api( this.context, _unique(this) );\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\tunshift: __arrayProto.unshift\\n\\t} );\\n\\t\\n\\t\\n\\t_Api.extend = function ( scope, obj, ext )\\n\\t{\\n\\t\\t// Only extend API instances and static properties of the API\\n\\t\\tif ( ! ext.length || ! obj || ( ! (obj instanceof _Api) && ! obj.__dt_wrapper ) ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tvar\\n\\t\\t\\ti, ien,\\n\\t\\t\\tj, jen,\\n\\t\\t\\tstruct, inner,\\n\\t\\t\\tmethodScoping = function ( scope, fn, struc ) {\\n\\t\\t\\t\\treturn function () {\\n\\t\\t\\t\\t\\tvar ret = fn.apply( scope, arguments );\\n\\t\\n\\t\\t\\t\\t\\t// Method extension\\n\\t\\t\\t\\t\\t_Api.extend( ret, ret, struc.methodExt );\\n\\t\\t\\t\\t\\treturn ret;\\n\\t\\t\\t\\t};\\n\\t\\t\\t};\\n\\t\\n\\t\\tfor ( i=0, ien=ext.length ; i<ien ; i++ ) {\\n\\t\\t\\tstruct = ext[i];\\n\\t\\n\\t\\t\\t// Value\\n\\t\\t\\tobj[ struct.name ] = typeof struct.val === 'function' ?\\n\\t\\t\\t\\tmethodScoping( scope, struct.val, struct ) :\\n\\t\\t\\t\\t$.isPlainObject( struct.val ) ?\\n\\t\\t\\t\\t\\t{} :\\n\\t\\t\\t\\t\\tstruct.val;\\n\\t\\n\\t\\t\\tobj[ struct.name ].__dt_wrapper = true;\\n\\t\\n\\t\\t\\t// Property extension\\n\\t\\t\\t_Api.extend( scope, obj[ struct.name ], struct.propExt );\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t// @todo - Is there need for an augment function?\\n\\t// _Api.augment = function ( inst, name )\\n\\t// {\\n\\t// \\t// Find src object in the structure from the name\\n\\t// \\tvar parts = name.split('.');\\n\\t\\n\\t// \\t_Api.extend( inst, obj );\\n\\t// };\\n\\t\\n\\t\\n\\t//     [\\n\\t//       {\\n\\t//         name:      'data'                -- string   - Property name\\n\\t//         val:       function () {},       -- function - Api method (or undefined if just an object\\n\\t//         methodExt: [ ... ],              -- array    - Array of Api object definitions to extend the method result\\n\\t//         propExt:   [ ... ]               -- array    - Array of Api object definitions to extend the property\\n\\t//       },\\n\\t//       {\\n\\t//         name:     'row'\\n\\t//         val:       {},\\n\\t//         methodExt: [ ... ],\\n\\t//         propExt:   [\\n\\t//           {\\n\\t//             name:      'data'\\n\\t//             val:       function () {},\\n\\t//             methodExt: [ ... ],\\n\\t//             propExt:   [ ... ]\\n\\t//           },\\n\\t//           ...\\n\\t//         ]\\n\\t//       }\\n\\t//     ]\\n\\t\\n\\t_Api.register = _api_register = function ( name, val )\\n\\t{\\n\\t\\tif ( $.isArray( name ) ) {\\n\\t\\t\\tfor ( var j=0, jen=name.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t_Api.register( name[j], val );\\n\\t\\t\\t}\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tvar\\n\\t\\t\\ti, ien,\\n\\t\\t\\their = name.split('.'),\\n\\t\\t\\tstruct = __apiStruct,\\n\\t\\t\\tkey, method;\\n\\t\\n\\t\\tvar find = function ( src, name ) {\\n\\t\\t\\tfor ( var i=0, ien=src.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( src[i].name === name ) {\\n\\t\\t\\t\\t\\treturn src[i];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn null;\\n\\t\\t};\\n\\t\\n\\t\\tfor ( i=0, ien=heir.length ; i<ien ; i++ ) {\\n\\t\\t\\tmethod = heir[i].indexOf('()') !== -1;\\n\\t\\t\\tkey = method ?\\n\\t\\t\\t\\their[i].replace('()', '') :\\n\\t\\t\\t\\their[i];\\n\\t\\n\\t\\t\\tvar src = find( struct, key );\\n\\t\\t\\tif ( ! src ) {\\n\\t\\t\\t\\tsrc = {\\n\\t\\t\\t\\t\\tname:      key,\\n\\t\\t\\t\\t\\tval:       {},\\n\\t\\t\\t\\t\\tmethodExt: [],\\n\\t\\t\\t\\t\\tpropExt:   []\\n\\t\\t\\t\\t};\\n\\t\\t\\t\\tstruct.push( src );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( i === ien-1 ) {\\n\\t\\t\\t\\tsrc.val = val;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tstruct = method ?\\n\\t\\t\\t\\t\\tsrc.methodExt :\\n\\t\\t\\t\\t\\tsrc.propExt;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t_Api.registerPlural = _api_registerPlural = function ( pluralName, singularName, val ) {\\n\\t\\t_Api.register( pluralName, val );\\n\\t\\n\\t\\t_Api.register( singularName, function () {\\n\\t\\t\\tvar ret = val.apply( this, arguments );\\n\\t\\n\\t\\t\\tif ( ret === this ) {\\n\\t\\t\\t\\t// Returned item is the API instance that was passed in, return it\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t}\\n\\t\\t\\telse if ( ret instanceof _Api ) {\\n\\t\\t\\t\\t// New API instance returned, want the value from the first item\\n\\t\\t\\t\\t// in the returned array for the singular result.\\n\\t\\t\\t\\treturn ret.length ?\\n\\t\\t\\t\\t\\t$.isArray( ret[0] ) ?\\n\\t\\t\\t\\t\\t\\tnew _Api( ret.context, ret[0] ) : // Array results are 'enhanced'\\n\\t\\t\\t\\t\\t\\tret[0] :\\n\\t\\t\\t\\t\\tundefined;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Non-API return - just fire it back\\n\\t\\t\\treturn ret;\\n\\t\\t} );\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Selector for HTML tables. Apply the given selector to the give array of\\n\\t * DataTables settings objects.\\n\\t *\\n\\t * @param {string|integer} [selector] jQuery selector string or integer\\n\\t * @param  {array} Array of DataTables settings objects to be filtered\\n\\t * @return {array}\\n\\t * @ignore\\n\\t */\\n\\tvar __table_selector = function ( selector, a )\\n\\t{\\n\\t\\t// Integer is used to pick out a table by index\\n\\t\\tif ( typeof selector === 'number' ) {\\n\\t\\t\\treturn [ a[ selector ] ];\\n\\t\\t}\\n\\t\\n\\t\\t// Perform a jQuery selector on the table nodes\\n\\t\\tvar nodes = $.map( a, function (el, i) {\\n\\t\\t\\treturn el.nTable;\\n\\t\\t} );\\n\\t\\n\\t\\treturn $(nodes)\\n\\t\\t\\t.filter( selector )\\n\\t\\t\\t.map( function (i) {\\n\\t\\t\\t\\t// Need to translate back from the table node to the settings\\n\\t\\t\\t\\tvar idx = $.inArray( this, nodes );\\n\\t\\t\\t\\treturn a[ idx ];\\n\\t\\t\\t} )\\n\\t\\t\\t.toArray();\\n\\t};\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Context selector for the API's context (i.e. the tables the API instance\\n\\t * refers to.\\n\\t *\\n\\t * @name    DataTable.Api#tables\\n\\t * @param {string|integer} [selector] Selector to pick which tables the iterator\\n\\t *   should operate on. If not given, all tables in the current context are\\n\\t *   used. This can be given as a jQuery selector (for example `':gt(0)'`) to\\n\\t *   select multiple tables or as an integer to select a single table.\\n\\t * @returns {DataTable.Api} Returns a new API instance if a selector is given.\\n\\t */\\n\\t_api_register( 'tables()', function ( selector ) {\\n\\t\\t// A new instance is created if there was a selector specified\\n\\t\\treturn selector ?\\n\\t\\t\\tnew _Api( __table_selector( selector, this.context ) ) :\\n\\t\\t\\tthis;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'table()', function ( selector ) {\\n\\t\\tvar tables = this.tables( selector );\\n\\t\\tvar ctx = tables.context;\\n\\t\\n\\t\\t// Truncate to the first matched table\\n\\t\\treturn ctx.length ?\\n\\t\\t\\tnew _Api( ctx[0] ) :\\n\\t\\t\\ttables;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'tables().nodes()', 'table().node()' , function () {\\n\\t\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\t\\treturn ctx.nTable;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'tables().body()', 'table().body()' , function () {\\n\\t\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\t\\treturn ctx.nTBody;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'tables().header()', 'table().header()' , function () {\\n\\t\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\t\\treturn ctx.nTHead;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'tables().footer()', 'table().footer()' , function () {\\n\\t\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\t\\treturn ctx.nTFoot;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'tables().containers()', 'table().container()' , function () {\\n\\t\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\t\\treturn ctx.nTableWrapper;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Redraw the tables in the current context.\\n\\t */\\n\\t_api_register( 'draw()', function ( paging ) {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tif ( paging === 'page' ) {\\n\\t\\t\\t\\t_fnDraw( settings );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tif ( typeof paging === 'string' ) {\\n\\t\\t\\t\\t\\tpaging = paging === 'full-hold' ?\\n\\t\\t\\t\\t\\t\\tfalse :\\n\\t\\t\\t\\t\\t\\ttrue;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t_fnReDraw( settings, paging===false );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the current page index.\\n\\t *\\n\\t * @return {integer} Current page index (zero based)\\n\\t *//**\\n\\t * Set the current page.\\n\\t *\\n\\t * Note that if you attempt to show a page which does not exist, DataTables will\\n\\t * not throw an error, but rather reset the paging.\\n\\t *\\n\\t * @param {integer|string} action The paging action to take. This can be one of:\\n\\t *  * `integer` - The page index to jump to\\n\\t *  * `string` - An action to take:\\n\\t *    * `first` - Jump to first page.\\n\\t *    * `next` - Jump to the next page\\n\\t *    * `previous` - Jump to previous page\\n\\t *    * `last` - Jump to the last page.\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'page()', function ( action ) {\\n\\t\\tif ( action === undefined ) {\\n\\t\\t\\treturn this.page.info().page; // not an expensive call\\n\\t\\t}\\n\\t\\n\\t\\t// else, have an action to take on all tables\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t_fnPageChange( settings, action );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Paging information for the first table in the current context.\\n\\t *\\n\\t * If you require paging information for another table, use the `table()` method\\n\\t * with a suitable selector.\\n\\t *\\n\\t * @return {object} Object with the following properties set:\\n\\t *  * `page` - Current page index (zero based - i.e. the first page is `0`)\\n\\t *  * `pages` - Total number of pages\\n\\t *  * `start` - Display index for the first record shown on the current page\\n\\t *  * `end` - Display index for the last record shown on the current page\\n\\t *  * `length` - Display length (number of records). Note that generally `start\\n\\t *    + length = end`, but this is not always true, for example if there are\\n\\t *    only 2 records to show on the final page, with a length of 10.\\n\\t *  * `recordsTotal` - Full data set length\\n\\t *  * `recordsDisplay` - Data set length once the current filtering criterion\\n\\t *    are applied.\\n\\t */\\n\\t_api_register( 'page.info()', function ( action ) {\\n\\t\\tif ( this.context.length === 0 ) {\\n\\t\\t\\treturn undefined;\\n\\t\\t}\\n\\t\\n\\t\\tvar\\n\\t\\t\\tsettings   = this.context[0],\\n\\t\\t\\tstart      = settings._iDisplayStart,\\n\\t\\t\\tlen        = settings.oFeatures.bPaginate ? settings._iDisplayLength : -1,\\n\\t\\t\\tvisRecords = settings.fnRecordsDisplay(),\\n\\t\\t\\tall        = len === -1;\\n\\t\\n\\t\\treturn {\\n\\t\\t\\t\\\"page\\\":           all ? 0 : Math.floor( start / len ),\\n\\t\\t\\t\\\"pages\\\":          all ? 1 : Math.ceil( visRecords / len ),\\n\\t\\t\\t\\\"start\\\":          start,\\n\\t\\t\\t\\\"end\\\":            settings.fnDisplayEnd(),\\n\\t\\t\\t\\\"length\\\":         len,\\n\\t\\t\\t\\\"recordsTotal\\\":   settings.fnRecordsTotal(),\\n\\t\\t\\t\\\"recordsDisplay\\\": visRecords,\\n\\t\\t\\t\\\"serverSide\\\":     _fnDataSource( settings ) === 'ssp'\\n\\t\\t};\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the current page length.\\n\\t *\\n\\t * @return {integer} Current page length. Note `-1` indicates that all records\\n\\t *   are to be shown.\\n\\t *//**\\n\\t * Set the current page length.\\n\\t *\\n\\t * @param {integer} Page length to set. Use `-1` to show all records.\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'page.len()', function ( len ) {\\n\\t\\t// Note that we can't call this function 'length()' because `length`\\n\\t\\t// is a Javascript property of functions which defines how many arguments\\n\\t\\t// the function expects.\\n\\t\\tif ( len === undefined ) {\\n\\t\\t\\treturn this.context.length !== 0 ?\\n\\t\\t\\t\\tthis.context[0]._iDisplayLength :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}\\n\\t\\n\\t\\t// else, set the page length\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t_fnLengthChange( settings, len );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\tvar __reload = function ( settings, holdPosition, callback ) {\\n\\t\\t// Use the draw event to trigger a callback\\n\\t\\tif ( callback ) {\\n\\t\\t\\tvar api = new _Api( settings );\\n\\t\\n\\t\\t\\tapi.one( 'draw', function () {\\n\\t\\t\\t\\tcallback( api.ajax.json() );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t\\n\\t\\tif ( _fnDataSource( settings ) == 'ssp' ) {\\n\\t\\t\\t_fnReDraw( settings, holdPosition );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t_fnProcessingDisplay( settings, true );\\n\\t\\n\\t\\t\\t// Cancel an existing request\\n\\t\\t\\tvar xhr = settings.jqXHR;\\n\\t\\t\\tif ( xhr && xhr.readyState !== 4 ) {\\n\\t\\t\\t\\txhr.abort();\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Trigger xhr\\n\\t\\t\\t_fnBuildAjax( settings, [], function( json ) {\\n\\t\\t\\t\\t_fnClearTable( settings );\\n\\t\\n\\t\\t\\t\\tvar data = _fnAjaxDataSrc( settings, json );\\n\\t\\t\\t\\tfor ( var i=0, ien=data.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\t_fnAddData( settings, data[i] );\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t_fnReDraw( settings, holdPosition );\\n\\t\\t\\t\\t_fnProcessingDisplay( settings, false );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the JSON response from the last Ajax request that DataTables made to the\\n\\t * server. Note that this returns the JSON from the first table in the current\\n\\t * context.\\n\\t *\\n\\t * @return {object} JSON received from the server.\\n\\t */\\n\\t_api_register( 'ajax.json()', function () {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( ctx.length > 0 ) {\\n\\t\\t\\treturn ctx[0].json;\\n\\t\\t}\\n\\t\\n\\t\\t// else return undefined;\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the data submitted in the last Ajax request\\n\\t */\\n\\t_api_register( 'ajax.params()', function () {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( ctx.length > 0 ) {\\n\\t\\t\\treturn ctx[0].oAjaxData;\\n\\t\\t}\\n\\t\\n\\t\\t// else return undefined;\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Reload tables from the Ajax data source. Note that this function will\\n\\t * automatically re-draw the table when the remote data has been loaded.\\n\\t *\\n\\t * @param {boolean} [reset=true] Reset (default) or hold the current paging\\n\\t *   position. A full re-sort and re-filter is performed when this method is\\n\\t *   called, which is why the pagination reset is the default action.\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'ajax.reload()', function ( callback, resetPaging ) {\\n\\t\\treturn this.iterator( 'table', function (settings) {\\n\\t\\t\\t__reload( settings, resetPaging===false, callback );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Get the current Ajax URL. Note that this returns the URL from the first\\n\\t * table in the current context.\\n\\t *\\n\\t * @return {string} Current Ajax source URL\\n\\t *//**\\n\\t * Set the Ajax URL. Note that this will set the URL for all tables in the\\n\\t * current context.\\n\\t *\\n\\t * @param {string} url URL to set.\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'ajax.url()', function ( url ) {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( url === undefined ) {\\n\\t\\t\\t// get\\n\\t\\t\\tif ( ctx.length === 0 ) {\\n\\t\\t\\t\\treturn undefined;\\n\\t\\t\\t}\\n\\t\\t\\tctx = ctx[0];\\n\\t\\n\\t\\t\\treturn ctx.ajax ?\\n\\t\\t\\t\\t$.isPlainObject( ctx.ajax ) ?\\n\\t\\t\\t\\t\\tctx.ajax.url :\\n\\t\\t\\t\\t\\tctx.ajax :\\n\\t\\t\\t\\tctx.sAjaxSource;\\n\\t\\t}\\n\\t\\n\\t\\t// set\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tif ( $.isPlainObject( settings.ajax ) ) {\\n\\t\\t\\t\\tsettings.ajax.url = url;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tsettings.ajax = url;\\n\\t\\t\\t}\\n\\t\\t\\t// No need to consider sAjaxSource here since DataTables gives priority\\n\\t\\t\\t// to `ajax` over `sAjaxSource`. So setting `ajax` here, renders any\\n\\t\\t\\t// value of `sAjaxSource` redundant.\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Load data from the newly set Ajax URL. Note that this method is only\\n\\t * available when `ajax.url()` is used to set a URL. Additionally, this method\\n\\t * has the same effect as calling `ajax.reload()` but is provided for\\n\\t * convenience when setting a new URL. Like `ajax.reload()` it will\\n\\t * automatically redraw the table once the remote data has been loaded.\\n\\t *\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'ajax.url().load()', function ( callback, resetPaging ) {\\n\\t\\t// Same as a reload, but makes sense to present it for easy access after a\\n\\t\\t// url change\\n\\t\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\t\\t__reload( ctx, resetPaging===false, callback );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t\\n\\tvar _selector_run = function ( type, selector, selectFn, settings, opts )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tout = [], res,\\n\\t\\t\\ta, i, ien, j, jen,\\n\\t\\t\\tselectorType = typeof selector;\\n\\t\\n\\t\\t// Can't just check for isArray here, as an API or jQuery instance might be\\n\\t\\t// given with their array like look\\n\\t\\tif ( ! selector || selectorType === 'string' || selectorType === 'function' || selector.length === undefined ) {\\n\\t\\t\\tselector = [ selector ];\\n\\t\\t}\\n\\t\\n\\t\\tfor ( i=0, ien=selector.length ; i<ien ; i++ ) {\\n\\t\\t\\t// Only split on simple strings - complex expressions will be jQuery selectors\\n\\t\\t\\ta = selector[i] && selector[i].split && ! selector[i].match(/[\\\\[\\\\(:]/) ?\\n\\t\\t\\t\\tselector[i].split(',') :\\n\\t\\t\\t\\t[ selector[i] ];\\n\\t\\n\\t\\t\\tfor ( j=0, jen=a.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\tres = selectFn( typeof a[j] === 'string' ? $.trim(a[j]) : a[j] );\\n\\t\\n\\t\\t\\t\\tif ( res && res.length ) {\\n\\t\\t\\t\\t\\tout = out.concat( res );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t// selector extensions\\n\\t\\tvar ext = _ext.selector[ type ];\\n\\t\\tif ( ext.length ) {\\n\\t\\t\\tfor ( i=0, ien=ext.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tout = ext[i]( settings, opts, out );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn _unique( out );\\n\\t};\\n\\t\\n\\t\\n\\tvar _selector_opts = function ( opts )\\n\\t{\\n\\t\\tif ( ! opts ) {\\n\\t\\t\\topts = {};\\n\\t\\t}\\n\\t\\n\\t\\t// Backwards compatibility for 1.9- which used the terminology filter rather\\n\\t\\t// than search\\n\\t\\tif ( opts.filter && opts.search === undefined ) {\\n\\t\\t\\topts.search = opts.filter;\\n\\t\\t}\\n\\t\\n\\t\\treturn $.extend( {\\n\\t\\t\\tsearch: 'none',\\n\\t\\t\\torder: 'current',\\n\\t\\t\\tpage: 'all'\\n\\t\\t}, opts );\\n\\t};\\n\\t\\n\\t\\n\\tvar _selector_first = function ( inst )\\n\\t{\\n\\t\\t// Reduce the API instance to the first item found\\n\\t\\tfor ( var i=0, ien=inst.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( inst[i].length > 0 ) {\\n\\t\\t\\t\\t// Assign the first element to the first item in the instance\\n\\t\\t\\t\\t// and truncate the instance and context\\n\\t\\t\\t\\tinst[0] = inst[i];\\n\\t\\t\\t\\tinst[0].length = 1;\\n\\t\\t\\t\\tinst.length = 1;\\n\\t\\t\\t\\tinst.context = [ inst.context[i] ];\\n\\t\\n\\t\\t\\t\\treturn inst;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\t// Not found - return an empty instance\\n\\t\\tinst.length = 0;\\n\\t\\treturn inst;\\n\\t};\\n\\t\\n\\t\\n\\tvar _selector_row_indexes = function ( settings, opts )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\ti, ien, tmp, a=[],\\n\\t\\t\\tdisplayFiltered = settings.aiDisplay,\\n\\t\\t\\tdisplayMaster = settings.aiDisplayMaster;\\n\\t\\n\\t\\tvar\\n\\t\\t\\tsearch = opts.search,  // none, applied, removed\\n\\t\\t\\torder  = opts.order,   // applied, current, index (original - compatibility with 1.9)\\n\\t\\t\\tpage   = opts.page;    // all, current\\n\\t\\n\\t\\tif ( _fnDataSource( settings ) == 'ssp' ) {\\n\\t\\t\\t// In server-side processing mode, most options are irrelevant since\\n\\t\\t\\t// rows not shown don't exist and the index order is the applied order\\n\\t\\t\\t// Removed is a special case - for consistency just return an empty\\n\\t\\t\\t// array\\n\\t\\t\\treturn search === 'removed' ?\\n\\t\\t\\t\\t[] :\\n\\t\\t\\t\\t_range( 0, displayMaster.length );\\n\\t\\t}\\n\\t\\telse if ( page == 'current' ) {\\n\\t\\t\\t// Current page implies that order=current and fitler=applied, since it is\\n\\t\\t\\t// fairly senseless otherwise, regardless of what order and search actually\\n\\t\\t\\t// are\\n\\t\\t\\tfor ( i=settings._iDisplayStart, ien=settings.fnDisplayEnd() ; i<ien ; i++ ) {\\n\\t\\t\\t\\ta.push( displayFiltered[i] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( order == 'current' || order == 'applied' ) {\\n\\t\\t\\tif ( search == 'none') {\\n\\t\\t\\t\\ta = displayMaster.slice();\\n\\t\\t\\t}\\n\\t\\t\\telse if ( search == 'applied' ) {\\n\\t\\t\\t\\ta = displayFiltered.slice();\\n\\t\\t\\t}\\n\\t\\t\\telse if ( search == 'removed' ) {\\n\\t\\t\\t\\t// O(n+m) solution by creating a hash map\\n\\t\\t\\t\\tvar displayFilteredMap = {};\\n\\t\\n\\t\\t\\t\\tfor ( var i=0, ien=displayFiltered.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tdisplayFilteredMap[displayFiltered[i]] = null;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\ta = $.map( displayMaster, function (el) {\\n\\t\\t\\t\\t\\treturn ! displayFilteredMap.hasOwnProperty(el) ?\\n\\t\\t\\t\\t\\t\\tel :\\n\\t\\t\\t\\t\\t\\tnull;\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( order == 'index' || order == 'original' ) {\\n\\t\\t\\tfor ( i=0, ien=settings.aoData.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( search == 'none' ) {\\n\\t\\t\\t\\t\\ta.push( i );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse { // applied | removed\\n\\t\\t\\t\\t\\ttmp = $.inArray( i, displayFiltered );\\n\\t\\n\\t\\t\\t\\t\\tif ((tmp === -1 && search == 'removed') ||\\n\\t\\t\\t\\t\\t\\t(tmp >= 0   && search == 'applied') )\\n\\t\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\t\\ta.push( i );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn a;\\n\\t};\\n\\t\\n\\t\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Rows\\n\\t *\\n\\t * {}          - no selector - use all available rows\\n\\t * {integer}   - row aoData index\\n\\t * {node}      - TR node\\n\\t * {string}    - jQuery selector to apply to the TR elements\\n\\t * {array}     - jQuery array of nodes, or simply an array of TR nodes\\n\\t *\\n\\t */\\n\\tvar __row_selector = function ( settings, selector, opts )\\n\\t{\\n\\t\\tvar rows;\\n\\t\\tvar run = function ( sel ) {\\n\\t\\t\\tvar selInt = _intVal( sel );\\n\\t\\t\\tvar i, ien;\\n\\t\\t\\tvar aoData = settings.aoData;\\n\\t\\n\\t\\t\\t// Short cut - selector is a number and no options provided (default is\\n\\t\\t\\t// all records, so no need to check if the index is in there, since it\\n\\t\\t\\t// must be - dev error if the index doesn't exist).\\n\\t\\t\\tif ( selInt !== null && ! opts ) {\\n\\t\\t\\t\\treturn [ selInt ];\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( ! rows ) {\\n\\t\\t\\t\\trows = _selector_row_indexes( settings, opts );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( selInt !== null && $.inArray( selInt, rows ) !== -1 ) {\\n\\t\\t\\t\\t// Selector - integer\\n\\t\\t\\t\\treturn [ selInt ];\\n\\t\\t\\t}\\n\\t\\t\\telse if ( sel === null || sel === undefined || sel === '' ) {\\n\\t\\t\\t\\t// Selector - none\\n\\t\\t\\t\\treturn rows;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Selector - function\\n\\t\\t\\tif ( typeof sel === 'function' ) {\\n\\t\\t\\t\\treturn $.map( rows, function (idx) {\\n\\t\\t\\t\\t\\tvar row = aoData[ idx ];\\n\\t\\t\\t\\t\\treturn sel( idx, row._aData, row.nTr ) ? idx : null;\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Selector - node\\n\\t\\t\\tif ( sel.nodeName ) {\\n\\t\\t\\t\\tvar rowIdx = sel._DT_RowIndex;  // Property added by DT for fast lookup\\n\\t\\t\\t\\tvar cellIdx = sel._DT_CellIndex;\\n\\t\\n\\t\\t\\t\\tif ( rowIdx !== undefined ) {\\n\\t\\t\\t\\t\\t// Make sure that the row is actually still present in the table\\n\\t\\t\\t\\t\\treturn aoData[ rowIdx ] && aoData[ rowIdx ].nTr === sel ?\\n\\t\\t\\t\\t\\t\\t[ rowIdx ] :\\n\\t\\t\\t\\t\\t\\t[];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( cellIdx ) {\\n\\t\\t\\t\\t\\treturn aoData[ cellIdx.row ] && aoData[ cellIdx.row ].nTr === sel ?\\n\\t\\t\\t\\t\\t\\t[ cellIdx.row ] :\\n\\t\\t\\t\\t\\t\\t[];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tvar host = $(sel).closest('*[data-dt-row]');\\n\\t\\t\\t\\t\\treturn host.length ?\\n\\t\\t\\t\\t\\t\\t[ host.data('dt-row') ] :\\n\\t\\t\\t\\t\\t\\t[];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// ID selector. Want to always be able to select rows by id, regardless\\n\\t\\t\\t// of if the tr element has been created or not, so can't rely upon\\n\\t\\t\\t// jQuery here - hence a custom implementation. This does not match\\n\\t\\t\\t// Sizzle's fast selector or HTML4 - in HTML5 the ID can be anything,\\n\\t\\t\\t// but to select it using a CSS selector engine (like Sizzle or\\n\\t\\t\\t// querySelect) it would need to need to be escaped for some characters.\\n\\t\\t\\t// DataTables simplifies this for row selectors since you can select\\n\\t\\t\\t// only a row. A # indicates an id any anything that follows is the id -\\n\\t\\t\\t// unescaped.\\n\\t\\t\\tif ( typeof sel === 'string' && sel.charAt(0) === '#' ) {\\n\\t\\t\\t\\t// get row index from id\\n\\t\\t\\t\\tvar rowObj = settings.aIds[ sel.replace( /^#/, '' ) ];\\n\\t\\t\\t\\tif ( rowObj !== undefined ) {\\n\\t\\t\\t\\t\\treturn [ rowObj.idx ];\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// need to fall through to jQuery in case there is DOM id that\\n\\t\\t\\t\\t// matches\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t// Get nodes in the order from the `rows` array with null values removed\\n\\t\\t\\tvar nodes = _removeEmpty(\\n\\t\\t\\t\\t_pluck_order( settings.aoData, rows, 'nTr' )\\n\\t\\t\\t);\\n\\t\\n\\t\\t\\t// Selector - jQuery selector string, array of nodes or jQuery object/\\n\\t\\t\\t// As jQuery's .filter() allows jQuery objects to be passed in filter,\\n\\t\\t\\t// it also allows arrays, so this will cope with all three options\\n\\t\\t\\treturn $(nodes)\\n\\t\\t\\t\\t.filter( sel )\\n\\t\\t\\t\\t.map( function () {\\n\\t\\t\\t\\t\\treturn this._DT_RowIndex;\\n\\t\\t\\t\\t} )\\n\\t\\t\\t\\t.toArray();\\n\\t\\t};\\n\\t\\n\\t\\treturn _selector_run( 'row', selector, run, settings, opts );\\n\\t};\\n\\t\\n\\t\\n\\t_api_register( 'rows()', function ( selector, opts ) {\\n\\t\\t// argument shifting\\n\\t\\tif ( selector === undefined ) {\\n\\t\\t\\tselector = '';\\n\\t\\t}\\n\\t\\telse if ( $.isPlainObject( selector ) ) {\\n\\t\\t\\topts = selector;\\n\\t\\t\\tselector = '';\\n\\t\\t}\\n\\t\\n\\t\\topts = _selector_opts( opts );\\n\\t\\n\\t\\tvar inst = this.iterator( 'table', function ( settings ) {\\n\\t\\t\\treturn __row_selector( settings, selector, opts );\\n\\t\\t}, 1 );\\n\\t\\n\\t\\t// Want argument shifting here and in __row_selector?\\n\\t\\tinst.selector.rows = selector;\\n\\t\\tinst.selector.opts = opts;\\n\\t\\n\\t\\treturn inst;\\n\\t} );\\n\\t\\n\\t_api_register( 'rows().nodes()', function () {\\n\\t\\treturn this.iterator( 'row', function ( settings, row ) {\\n\\t\\t\\treturn settings.aoData[ row ].nTr || undefined;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_register( 'rows().data()', function () {\\n\\t\\treturn this.iterator( true, 'rows', function ( settings, rows ) {\\n\\t\\t\\treturn _pluck_order( settings.aoData, rows, '_aData' );\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'rows().cache()', 'row().cache()', function ( type ) {\\n\\t\\treturn this.iterator( 'row', function ( settings, row ) {\\n\\t\\t\\tvar r = settings.aoData[ row ];\\n\\t\\t\\treturn type === 'search' ? r._aFilterData : r._aSortData;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'rows().invalidate()', 'row().invalidate()', function ( src ) {\\n\\t\\treturn this.iterator( 'row', function ( settings, row ) {\\n\\t\\t\\t_fnInvalidate( settings, row, src );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'rows().indexes()', 'row().index()', function () {\\n\\t\\treturn this.iterator( 'row', function ( settings, row ) {\\n\\t\\t\\treturn row;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'rows().ids()', 'row().id()', function ( hash ) {\\n\\t\\tvar a = [];\\n\\t\\tvar context = this.context;\\n\\t\\n\\t\\t// `iterator` will drop undefined values, but in this case we want them\\n\\t\\tfor ( var i=0, ien=context.length ; i<ien ; i++ ) {\\n\\t\\t\\tfor ( var j=0, jen=this[i].length ; j<jen ; j++ ) {\\n\\t\\t\\t\\tvar id = context[i].rowIdFn( context[i].aoData[ this[i][j] ]._aData );\\n\\t\\t\\t\\ta.push( (hash === true ? '#' : '' )+ id );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn new _Api( context, a );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'rows().remove()', 'row().remove()', function () {\\n\\t\\tvar that = this;\\n\\t\\n\\t\\tthis.iterator( 'row', function ( settings, row, thatIdx ) {\\n\\t\\t\\tvar data = settings.aoData;\\n\\t\\t\\tvar rowData = data[ row ];\\n\\t\\t\\tvar i, ien, j, jen;\\n\\t\\t\\tvar loopRow, loopCells;\\n\\t\\n\\t\\t\\tdata.splice( row, 1 );\\n\\t\\n\\t\\t\\t// Update the cached indexes\\n\\t\\t\\tfor ( i=0, ien=data.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tloopRow = data[i];\\n\\t\\t\\t\\tloopCells = loopRow.anCells;\\n\\t\\n\\t\\t\\t\\t// Rows\\n\\t\\t\\t\\tif ( loopRow.nTr !== null ) {\\n\\t\\t\\t\\t\\tloopRow.nTr._DT_RowIndex = i;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// Cells\\n\\t\\t\\t\\tif ( loopCells !== null ) {\\n\\t\\t\\t\\t\\tfor ( j=0, jen=loopCells.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t\\t\\tloopCells[j]._DT_CellIndex.row = i;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Delete from the display arrays\\n\\t\\t\\t_fnDeleteIndex( settings.aiDisplayMaster, row );\\n\\t\\t\\t_fnDeleteIndex( settings.aiDisplay, row );\\n\\t\\t\\t_fnDeleteIndex( that[ thatIdx ], row, false ); // maintain local indexes\\n\\t\\n\\t\\t\\t// For server-side processing tables - subtract the deleted row from the count\\n\\t\\t\\tif ( settings._iRecordsDisplay > 0 ) {\\n\\t\\t\\t\\tsettings._iRecordsDisplay--;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Check for an 'overflow' they case for displaying the table\\n\\t\\t\\t_fnLengthOverflow( settings );\\n\\t\\n\\t\\t\\t// Remove the row's ID reference if there is one\\n\\t\\t\\tvar id = settings.rowIdFn( rowData._aData );\\n\\t\\t\\tif ( id !== undefined ) {\\n\\t\\t\\t\\tdelete settings.aIds[ id ];\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\tthis.iterator( 'table', function ( settings ) {\\n\\t\\t\\tfor ( var i=0, ien=settings.aoData.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tsettings.aoData[i].idx = i;\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'rows.add()', function ( rows ) {\\n\\t\\tvar newRows = this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t\\tvar row, i, ien;\\n\\t\\t\\t\\tvar out = [];\\n\\t\\n\\t\\t\\t\\tfor ( i=0, ien=rows.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\trow = rows[i];\\n\\t\\n\\t\\t\\t\\t\\tif ( row.nodeName && row.nodeName.toUpperCase() === 'TR' ) {\\n\\t\\t\\t\\t\\t\\tout.push( _fnAddTr( settings, row )[0] );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tout.push( _fnAddData( settings, row ) );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\treturn out;\\n\\t\\t\\t}, 1 );\\n\\t\\n\\t\\t// Return an Api.rows() extended instance, so rows().nodes() etc can be used\\n\\t\\tvar modRows = this.rows( -1 );\\n\\t\\tmodRows.pop();\\n\\t\\t$.merge( modRows, newRows );\\n\\t\\n\\t\\treturn modRows;\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t *\\n\\t */\\n\\t_api_register( 'row()', function ( selector, opts ) {\\n\\t\\treturn _selector_first( this.rows( selector, opts ) );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'row().data()', function ( data ) {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( data === undefined ) {\\n\\t\\t\\t// Get\\n\\t\\t\\treturn ctx.length && this.length ?\\n\\t\\t\\t\\tctx[0].aoData[ this[0] ]._aData :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}\\n\\t\\n\\t\\t// Set\\n\\t\\tvar row = ctx[0].aoData[ this[0] ];\\n\\t\\trow._aData = data;\\n\\t\\n\\t\\t// If the DOM has an id, and the data source is an array\\n\\t\\tif ( $.isArray( data ) && row.nTr.id ) {\\n\\t\\t\\t_fnSetObjectDataFn( ctx[0].rowId )( data, row.nTr.id );\\n\\t\\t}\\n\\t\\n\\t\\t// Automatically invalidate\\n\\t\\t_fnInvalidate( ctx[0], this[0], 'data' );\\n\\t\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'row().node()', function () {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\treturn ctx.length && this.length ?\\n\\t\\t\\tctx[0].aoData[ this[0] ].nTr || null :\\n\\t\\t\\tnull;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'row.add()', function ( row ) {\\n\\t\\t// Allow a jQuery object to be passed in - only a single row is added from\\n\\t\\t// it though - the first element in the set\\n\\t\\tif ( row instanceof $ && row.length ) {\\n\\t\\t\\trow = row[0];\\n\\t\\t}\\n\\t\\n\\t\\tvar rows = this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tif ( row.nodeName && row.nodeName.toUpperCase() === 'TR' ) {\\n\\t\\t\\t\\treturn _fnAddTr( settings, row )[0];\\n\\t\\t\\t}\\n\\t\\t\\treturn _fnAddData( settings, row );\\n\\t\\t} );\\n\\t\\n\\t\\t// Return an Api.rows() extended instance, with the newly added row selected\\n\\t\\treturn this.row( rows[0] );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\tvar __details_add = function ( ctx, row, data, klass )\\n\\t{\\n\\t\\t// Convert to array of TR elements\\n\\t\\tvar rows = [];\\n\\t\\tvar addRow = function ( r, k ) {\\n\\t\\t\\t// Recursion to allow for arrays of jQuery objects\\n\\t\\t\\tif ( $.isArray( r ) || r instanceof $ ) {\\n\\t\\t\\t\\tfor ( var i=0, ien=r.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\taddRow( r[i], k );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// If we get a TR element, then just add it directly - up to the dev\\n\\t\\t\\t// to add the correct number of columns etc\\n\\t\\t\\tif ( r.nodeName && r.nodeName.toLowerCase() === 'tr' ) {\\n\\t\\t\\t\\trows.push( r );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// Otherwise create a row with a wrapper\\n\\t\\t\\t\\tvar created = $('<tr><td/></tr>').addClass( k );\\n\\t\\t\\t\\t$('td', created)\\n\\t\\t\\t\\t\\t.addClass( k )\\n\\t\\t\\t\\t\\t.html( r )\\n\\t\\t\\t\\t\\t[0].colSpan = _fnVisbleColumns( ctx );\\n\\t\\n\\t\\t\\t\\trows.push( created[0] );\\n\\t\\t\\t}\\n\\t\\t};\\n\\t\\n\\t\\taddRow( data, klass );\\n\\t\\n\\t\\tif ( row._details ) {\\n\\t\\t\\trow._details.detach();\\n\\t\\t}\\n\\t\\n\\t\\trow._details = $(rows);\\n\\t\\n\\t\\t// If the children were already shown, that state should be retained\\n\\t\\tif ( row._detailsShow ) {\\n\\t\\t\\trow._details.insertAfter( row.nTr );\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\tvar __details_remove = function ( api, idx )\\n\\t{\\n\\t\\tvar ctx = api.context;\\n\\t\\n\\t\\tif ( ctx.length ) {\\n\\t\\t\\tvar row = ctx[0].aoData[ idx !== undefined ? idx : api[0] ];\\n\\t\\n\\t\\t\\tif ( row && row._details ) {\\n\\t\\t\\t\\trow._details.remove();\\n\\t\\n\\t\\t\\t\\trow._detailsShow = undefined;\\n\\t\\t\\t\\trow._details = undefined;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\tvar __details_display = function ( api, show ) {\\n\\t\\tvar ctx = api.context;\\n\\t\\n\\t\\tif ( ctx.length && api.length ) {\\n\\t\\t\\tvar row = ctx[0].aoData[ api[0] ];\\n\\t\\n\\t\\t\\tif ( row._details ) {\\n\\t\\t\\t\\trow._detailsShow = show;\\n\\t\\n\\t\\t\\t\\tif ( show ) {\\n\\t\\t\\t\\t\\trow._details.insertAfter( row.nTr );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\trow._details.detach();\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t__details_events( ctx[0] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\tvar __details_events = function ( settings )\\n\\t{\\n\\t\\tvar api = new _Api( settings );\\n\\t\\tvar namespace = '.dt.DT_details';\\n\\t\\tvar drawEvent = 'draw'+namespace;\\n\\t\\tvar colvisEvent = 'column-visibility'+namespace;\\n\\t\\tvar destroyEvent = 'destroy'+namespace;\\n\\t\\tvar data = settings.aoData;\\n\\t\\n\\t\\tapi.off( drawEvent +' '+ colvisEvent +' '+ destroyEvent );\\n\\t\\n\\t\\tif ( _pluck( data, '_details' ).length > 0 ) {\\n\\t\\t\\t// On each draw, insert the required elements into the document\\n\\t\\t\\tapi.on( drawEvent, function ( e, ctx ) {\\n\\t\\t\\t\\tif ( settings !== ctx ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tapi.rows( {page:'current'} ).eq(0).each( function (idx) {\\n\\t\\t\\t\\t\\t// Internal data grab\\n\\t\\t\\t\\t\\tvar row = data[ idx ];\\n\\t\\n\\t\\t\\t\\t\\tif ( row._detailsShow ) {\\n\\t\\t\\t\\t\\t\\trow._details.insertAfter( row.nTr );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\t// Column visibility change - update the colspan\\n\\t\\t\\tapi.on( colvisEvent, function ( e, ctx, idx, vis ) {\\n\\t\\t\\t\\tif ( settings !== ctx ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// Update the colspan for the details rows (note, only if it already has\\n\\t\\t\\t\\t// a colspan)\\n\\t\\t\\t\\tvar row, visible = _fnVisbleColumns( ctx );\\n\\t\\n\\t\\t\\t\\tfor ( var i=0, ien=data.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\trow = data[i];\\n\\t\\n\\t\\t\\t\\t\\tif ( row._details ) {\\n\\t\\t\\t\\t\\t\\trow._details.children('td[colspan]').attr('colspan', visible );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\t// Table destroyed - nuke any child rows\\n\\t\\t\\tapi.on( destroyEvent, function ( e, ctx ) {\\n\\t\\t\\t\\tif ( settings !== ctx ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\tfor ( var i=0, ien=data.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tif ( data[i]._details ) {\\n\\t\\t\\t\\t\\t\\t__details_remove( api, i );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t};\\n\\t\\n\\t// Strings for the method names to help minification\\n\\tvar _emp = '';\\n\\tvar _child_obj = _emp+'row().child';\\n\\tvar _child_mth = _child_obj+'()';\\n\\t\\n\\t// data can be:\\n\\t//  tr\\n\\t//  string\\n\\t//  jQuery or array of any of the above\\n\\t_api_register( _child_mth, function ( data, klass ) {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( data === undefined ) {\\n\\t\\t\\t// get\\n\\t\\t\\treturn ctx.length && this.length ?\\n\\t\\t\\t\\tctx[0].aoData[ this[0] ]._details :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}\\n\\t\\telse if ( data === true ) {\\n\\t\\t\\t// show\\n\\t\\t\\tthis.child.show();\\n\\t\\t}\\n\\t\\telse if ( data === false ) {\\n\\t\\t\\t// remove\\n\\t\\t\\t__details_remove( this );\\n\\t\\t}\\n\\t\\telse if ( ctx.length && this.length ) {\\n\\t\\t\\t// set\\n\\t\\t\\t__details_add( ctx[0], ctx[0].aoData[ this[0] ], data, klass );\\n\\t\\t}\\n\\t\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( [\\n\\t\\t_child_obj+'.show()',\\n\\t\\t_child_mth+'.show()' // only when `child()` was called with parameters (without\\n\\t], function ( show ) {   // it returns an object and this method is not executed)\\n\\t\\t__details_display( this, true );\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( [\\n\\t\\t_child_obj+'.hide()',\\n\\t\\t_child_mth+'.hide()' // only when `child()` was called with parameters (without\\n\\t], function () {         // it returns an object and this method is not executed)\\n\\t\\t__details_display( this, false );\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( [\\n\\t\\t_child_obj+'.remove()',\\n\\t\\t_child_mth+'.remove()' // only when `child()` was called with parameters (without\\n\\t], function () {           // it returns an object and this method is not executed)\\n\\t\\t__details_remove( this );\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( _child_obj+'.isShown()', function () {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( ctx.length && this.length ) {\\n\\t\\t\\t// _detailsShown as false or undefined will fall through to return false\\n\\t\\t\\treturn ctx[0].aoData[ this[0] ]._detailsShow || false;\\n\\t\\t}\\n\\t\\treturn false;\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Columns\\n\\t *\\n\\t * {integer}           - column index (>=0 count from left, <0 count from right)\\n\\t * \\\"{integer}:visIdx\\\"  - visible column index (i.e. translate to column index)  (>=0 count from left, <0 count from right)\\n\\t * \\\"{integer}:visible\\\" - alias for {integer}:visIdx  (>=0 count from left, <0 count from right)\\n\\t * \\\"{string}:name\\\"     - column name\\n\\t * \\\"{string}\\\"          - jQuery selector on column header nodes\\n\\t *\\n\\t */\\n\\t\\n\\t// can be an array of these items, comma separated list, or an array of comma\\n\\t// separated lists\\n\\t\\n\\tvar __re_column_selector = /^([^:]+):(name|visIdx|visible)$/;\\n\\t\\n\\t\\n\\t// r1 and r2 are redundant - but it means that the parameters match for the\\n\\t// iterator callback in columns().data()\\n\\tvar __columnData = function ( settings, column, r1, r2, rows ) {\\n\\t\\tvar a = [];\\n\\t\\tfor ( var row=0, ien=rows.length ; row<ien ; row++ ) {\\n\\t\\t\\ta.push( _fnGetCellData( settings, rows[row], column ) );\\n\\t\\t}\\n\\t\\treturn a;\\n\\t};\\n\\t\\n\\t\\n\\tvar __column_selector = function ( settings, selector, opts )\\n\\t{\\n\\t\\tvar\\n\\t\\t\\tcolumns = settings.aoColumns,\\n\\t\\t\\tnames = _pluck( columns, 'sName' ),\\n\\t\\t\\tnodes = _pluck( columns, 'nTh' );\\n\\t\\n\\t\\tvar run = function ( s ) {\\n\\t\\t\\tvar selInt = _intVal( s );\\n\\t\\n\\t\\t\\t// Selector - all\\n\\t\\t\\tif ( s === '' ) {\\n\\t\\t\\t\\treturn _range( columns.length );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Selector - index\\n\\t\\t\\tif ( selInt !== null ) {\\n\\t\\t\\t\\treturn [ selInt >= 0 ?\\n\\t\\t\\t\\t\\tselInt : // Count from left\\n\\t\\t\\t\\t\\tcolumns.length + selInt // Count from right (+ because its a negative value)\\n\\t\\t\\t\\t];\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Selector = function\\n\\t\\t\\tif ( typeof s === 'function' ) {\\n\\t\\t\\t\\tvar rows = _selector_row_indexes( settings, opts );\\n\\t\\n\\t\\t\\t\\treturn $.map( columns, function (col, idx) {\\n\\t\\t\\t\\t\\treturn s(\\n\\t\\t\\t\\t\\t\\t\\tidx,\\n\\t\\t\\t\\t\\t\\t\\t__columnData( settings, idx, 0, 0, rows ),\\n\\t\\t\\t\\t\\t\\t\\tnodes[ idx ]\\n\\t\\t\\t\\t\\t\\t) ? idx : null;\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// jQuery or string selector\\n\\t\\t\\tvar match = typeof s === 'string' ?\\n\\t\\t\\t\\ts.match( __re_column_selector ) :\\n\\t\\t\\t\\t'';\\n\\t\\n\\t\\t\\tif ( match ) {\\n\\t\\t\\t\\tswitch( match[2] ) {\\n\\t\\t\\t\\t\\tcase 'visIdx':\\n\\t\\t\\t\\t\\tcase 'visible':\\n\\t\\t\\t\\t\\t\\tvar idx = parseInt( match[1], 10 );\\n\\t\\t\\t\\t\\t\\t// Visible index given, convert to column index\\n\\t\\t\\t\\t\\t\\tif ( idx < 0 ) {\\n\\t\\t\\t\\t\\t\\t\\t// Counting from the right\\n\\t\\t\\t\\t\\t\\t\\tvar visColumns = $.map( columns, function (col,i) {\\n\\t\\t\\t\\t\\t\\t\\t\\treturn col.bVisible ? i : null;\\n\\t\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t\\t\\treturn [ visColumns[ visColumns.length + idx ] ];\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t// Counting from the left\\n\\t\\t\\t\\t\\t\\treturn [ _fnVisibleToColumnIndex( settings, idx ) ];\\n\\t\\n\\t\\t\\t\\t\\tcase 'name':\\n\\t\\t\\t\\t\\t\\t// match by name. `names` is column index complete and in order\\n\\t\\t\\t\\t\\t\\treturn $.map( names, function (name, i) {\\n\\t\\t\\t\\t\\t\\t\\treturn name === match[1] ? i : null;\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\n\\t\\t\\t\\t\\tdefault:\\n\\t\\t\\t\\t\\t\\treturn [];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Cell in the table body\\n\\t\\t\\tif ( s.nodeName && s._DT_CellIndex ) {\\n\\t\\t\\t\\treturn [ s._DT_CellIndex.column ];\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// jQuery selector on the TH elements for the columns\\n\\t\\t\\tvar jqResult = $( nodes )\\n\\t\\t\\t\\t.filter( s )\\n\\t\\t\\t\\t.map( function () {\\n\\t\\t\\t\\t\\treturn $.inArray( this, nodes ); // `nodes` is column index complete and in order\\n\\t\\t\\t\\t} )\\n\\t\\t\\t\\t.toArray();\\n\\t\\n\\t\\t\\tif ( jqResult.length || ! s.nodeName ) {\\n\\t\\t\\t\\treturn jqResult;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Otherwise a node which might have a `dt-column` data attribute, or be\\n\\t\\t\\t// a child or such an element\\n\\t\\t\\tvar host = $(s).closest('*[data-dt-column]');\\n\\t\\t\\treturn host.length ?\\n\\t\\t\\t\\t[ host.data('dt-column') ] :\\n\\t\\t\\t\\t[];\\n\\t\\t};\\n\\t\\n\\t\\treturn _selector_run( 'column', selector, run, settings, opts );\\n\\t};\\n\\t\\n\\t\\n\\tvar __setColumnVis = function ( settings, column, vis ) {\\n\\t\\tvar\\n\\t\\t\\tcols = settings.aoColumns,\\n\\t\\t\\tcol  = cols[ column ],\\n\\t\\t\\tdata = settings.aoData,\\n\\t\\t\\trow, cells, i, ien, tr;\\n\\t\\n\\t\\t// Get\\n\\t\\tif ( vis === undefined ) {\\n\\t\\t\\treturn col.bVisible;\\n\\t\\t}\\n\\t\\n\\t\\t// Set\\n\\t\\t// No change\\n\\t\\tif ( col.bVisible === vis ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\n\\t\\tif ( vis ) {\\n\\t\\t\\t// Insert column\\n\\t\\t\\t// Need to decide if we should use appendChild or insertBefore\\n\\t\\t\\tvar insertBefore = $.inArray( true, _pluck(cols, 'bVisible'), column+1 );\\n\\t\\n\\t\\t\\tfor ( i=0, ien=data.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\ttr = data[i].nTr;\\n\\t\\t\\t\\tcells = data[i].anCells;\\n\\t\\n\\t\\t\\t\\tif ( tr ) {\\n\\t\\t\\t\\t\\t// insertBefore can act like appendChild if 2nd arg is null\\n\\t\\t\\t\\t\\ttr.insertBefore( cells[ column ], cells[ insertBefore ] || null );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// Remove column\\n\\t\\t\\t$( _pluck( settings.aoData, 'anCells', column ) ).detach();\\n\\t\\t}\\n\\t\\n\\t\\t// Common actions\\n\\t\\tcol.bVisible = vis;\\n\\t\\t_fnDrawHead( settings, settings.aoHeader );\\n\\t\\t_fnDrawHead( settings, settings.aoFooter );\\n\\t\\n\\t\\t// Update colspan for no records display. Child rows and extensions will use their own\\n\\t\\t// listeners to do this - only need to update the empty table item here\\n\\t\\tif ( ! settings.aiDisplay.length ) {\\n\\t\\t\\t$(settings.nTBody).find('td[colspan]').attr('colspan', _fnVisbleColumns(settings));\\n\\t\\t}\\n\\t\\n\\t\\t_fnSaveState( settings );\\n\\t};\\n\\t\\n\\t\\n\\t_api_register( 'columns()', function ( selector, opts ) {\\n\\t\\t// argument shifting\\n\\t\\tif ( selector === undefined ) {\\n\\t\\t\\tselector = '';\\n\\t\\t}\\n\\t\\telse if ( $.isPlainObject( selector ) ) {\\n\\t\\t\\topts = selector;\\n\\t\\t\\tselector = '';\\n\\t\\t}\\n\\t\\n\\t\\topts = _selector_opts( opts );\\n\\t\\n\\t\\tvar inst = this.iterator( 'table', function ( settings ) {\\n\\t\\t\\treturn __column_selector( settings, selector, opts );\\n\\t\\t}, 1 );\\n\\t\\n\\t\\t// Want argument shifting here and in _row_selector?\\n\\t\\tinst.selector.cols = selector;\\n\\t\\tinst.selector.opts = opts;\\n\\t\\n\\t\\treturn inst;\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().header()', 'column().header()', function ( selector, opts ) {\\n\\t\\treturn this.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\treturn settings.aoColumns[column].nTh;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().footer()', 'column().footer()', function ( selector, opts ) {\\n\\t\\treturn this.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\treturn settings.aoColumns[column].nTf;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().data()', 'column().data()', function () {\\n\\t\\treturn this.iterator( 'column-rows', __columnData, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().dataSrc()', 'column().dataSrc()', function () {\\n\\t\\treturn this.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\treturn settings.aoColumns[column].mData;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().cache()', 'column().cache()', function ( type ) {\\n\\t\\treturn this.iterator( 'column-rows', function ( settings, column, i, j, rows ) {\\n\\t\\t\\treturn _pluck_order( settings.aoData, rows,\\n\\t\\t\\t\\ttype === 'search' ? '_aFilterData' : '_aSortData', column\\n\\t\\t\\t);\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().nodes()', 'column().nodes()', function () {\\n\\t\\treturn this.iterator( 'column-rows', function ( settings, column, i, j, rows ) {\\n\\t\\t\\treturn _pluck_order( settings.aoData, rows, 'anCells', column ) ;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().visible()', 'column().visible()', function ( vis, calc ) {\\n\\t\\tvar ret = this.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\tif ( vis === undefined ) {\\n\\t\\t\\t\\treturn settings.aoColumns[ column ].bVisible;\\n\\t\\t\\t} // else\\n\\t\\t\\t__setColumnVis( settings, column, vis );\\n\\t\\t} );\\n\\t\\n\\t\\t// Group the column visibility changes\\n\\t\\tif ( vis !== undefined ) {\\n\\t\\t\\t// Second loop once the first is done for events\\n\\t\\t\\tthis.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\t\\t_fnCallbackFire( settings, null, 'column-visibility', [settings, column, vis, calc] );\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\tif ( calc === undefined || calc ) {\\n\\t\\t\\t\\tthis.columns.adjust();\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn ret;\\n\\t} );\\n\\t\\n\\t_api_registerPlural( 'columns().indexes()', 'column().index()', function ( type ) {\\n\\t\\treturn this.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\treturn type === 'visible' ?\\n\\t\\t\\t\\t_fnColumnIndexToVisible( settings, column ) :\\n\\t\\t\\t\\tcolumn;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_register( 'columns.adjust()', function () {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t_fnAdjustColumnSizing( settings );\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t_api_register( 'column.index()', function ( type, idx ) {\\n\\t\\tif ( this.context.length !== 0 ) {\\n\\t\\t\\tvar ctx = this.context[0];\\n\\t\\n\\t\\t\\tif ( type === 'fromVisible' || type === 'toData' ) {\\n\\t\\t\\t\\treturn _fnVisibleToColumnIndex( ctx, idx );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( type === 'fromData' || type === 'toVisible' ) {\\n\\t\\t\\t\\treturn _fnColumnIndexToVisible( ctx, idx );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} );\\n\\t\\n\\t_api_register( 'column()', function ( selector, opts ) {\\n\\t\\treturn _selector_first( this.columns( selector, opts ) );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\tvar __cell_selector = function ( settings, selector, opts )\\n\\t{\\n\\t\\tvar data = settings.aoData;\\n\\t\\tvar rows = _selector_row_indexes( settings, opts );\\n\\t\\tvar cells = _removeEmpty( _pluck_order( data, rows, 'anCells' ) );\\n\\t\\tvar allCells = $( [].concat.apply([], cells) );\\n\\t\\tvar row;\\n\\t\\tvar columns = settings.aoColumns.length;\\n\\t\\tvar a, i, ien, j, o, host;\\n\\t\\n\\t\\tvar run = function ( s ) {\\n\\t\\t\\tvar fnSelector = typeof s === 'function';\\n\\t\\n\\t\\t\\tif ( s === null || s === undefined || fnSelector ) {\\n\\t\\t\\t\\t// All cells and function selectors\\n\\t\\t\\t\\ta = [];\\n\\t\\n\\t\\t\\t\\tfor ( i=0, ien=rows.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\trow = rows[i];\\n\\t\\n\\t\\t\\t\\t\\tfor ( j=0 ; j<columns ; j++ ) {\\n\\t\\t\\t\\t\\t\\to = {\\n\\t\\t\\t\\t\\t\\t\\trow: row,\\n\\t\\t\\t\\t\\t\\t\\tcolumn: j\\n\\t\\t\\t\\t\\t\\t};\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( fnSelector ) {\\n\\t\\t\\t\\t\\t\\t\\t// Selector - function\\n\\t\\t\\t\\t\\t\\t\\thost = data[ row ];\\n\\t\\n\\t\\t\\t\\t\\t\\t\\tif ( s( o, _fnGetCellData(settings, row, j), host.anCells ? host.anCells[j] : null ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\ta.push( o );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\t\\t// Selector - all\\n\\t\\t\\t\\t\\t\\t\\ta.push( o );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\treturn a;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\t// Selector - index\\n\\t\\t\\tif ( $.isPlainObject( s ) ) {\\n\\t\\t\\t\\t// Valid cell index and its in the array of selectable rows\\n\\t\\t\\t\\treturn s.column !== undefined && s.row !== undefined && $.inArray( s.row, rows ) !== -1 ?\\n\\t\\t\\t\\t\\t[s] :\\n\\t\\t\\t\\t\\t[];\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Selector - jQuery filtered cells\\n\\t\\t\\tvar jqResult = allCells\\n\\t\\t\\t\\t.filter( s )\\n\\t\\t\\t\\t.map( function (i, el) {\\n\\t\\t\\t\\t\\treturn { // use a new object, in case someone changes the values\\n\\t\\t\\t\\t\\t\\trow:    el._DT_CellIndex.row,\\n\\t\\t\\t\\t\\t\\tcolumn: el._DT_CellIndex.column\\n\\t \\t\\t\\t\\t};\\n\\t\\t\\t\\t} )\\n\\t\\t\\t\\t.toArray();\\n\\t\\n\\t\\t\\tif ( jqResult.length || ! s.nodeName ) {\\n\\t\\t\\t\\treturn jqResult;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Otherwise the selector is a node, and there is one last option - the\\n\\t\\t\\t// element might be a child of an element which has dt-row and dt-column\\n\\t\\t\\t// data attributes\\n\\t\\t\\thost = $(s).closest('*[data-dt-row]');\\n\\t\\t\\treturn host.length ?\\n\\t\\t\\t\\t[ {\\n\\t\\t\\t\\t\\trow: host.data('dt-row'),\\n\\t\\t\\t\\t\\tcolumn: host.data('dt-column')\\n\\t\\t\\t\\t} ] :\\n\\t\\t\\t\\t[];\\n\\t\\t};\\n\\t\\n\\t\\treturn _selector_run( 'cell', selector, run, settings, opts );\\n\\t};\\n\\t\\n\\t\\n\\t\\n\\t\\n\\t_api_register( 'cells()', function ( rowSelector, columnSelector, opts ) {\\n\\t\\t// Argument shifting\\n\\t\\tif ( $.isPlainObject( rowSelector ) ) {\\n\\t\\t\\t// Indexes\\n\\t\\t\\tif ( rowSelector.row === undefined ) {\\n\\t\\t\\t\\t// Selector options in first parameter\\n\\t\\t\\t\\topts = rowSelector;\\n\\t\\t\\t\\trowSelector = null;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// Cell index objects in first parameter\\n\\t\\t\\t\\topts = columnSelector;\\n\\t\\t\\t\\tcolumnSelector = null;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tif ( $.isPlainObject( columnSelector ) ) {\\n\\t\\t\\topts = columnSelector;\\n\\t\\t\\tcolumnSelector = null;\\n\\t\\t}\\n\\t\\n\\t\\t// Cell selector\\n\\t\\tif ( columnSelector === null || columnSelector === undefined ) {\\n\\t\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t\\treturn __cell_selector( settings, rowSelector, _selector_opts( opts ) );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t\\n\\t\\t// Row + column selector\\n\\t\\tvar columns = this.columns( columnSelector );\\n\\t\\tvar rows = this.rows( rowSelector );\\n\\t\\tvar a, i, ien, j, jen;\\n\\t\\n\\t\\tthis.iterator( 'table', function ( settings, idx ) {\\n\\t\\t\\ta = [];\\n\\t\\n\\t\\t\\tfor ( i=0, ien=rows[idx].length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tfor ( j=0, jen=columns[idx].length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t\\ta.push( {\\n\\t\\t\\t\\t\\t\\trow:    rows[idx][i],\\n\\t\\t\\t\\t\\t\\tcolumn: columns[idx][j]\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}, 1 );\\n\\t\\n\\t    // Now pass through the cell selector for options\\n\\t    var cells = this.cells( a, opts );\\n\\t\\n\\t\\t$.extend( cells.selector, {\\n\\t\\t\\tcols: columnSelector,\\n\\t\\t\\trows: rowSelector,\\n\\t\\t\\topts: opts\\n\\t\\t} );\\n\\t\\n\\t\\treturn cells;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'cells().nodes()', 'cell().node()', function () {\\n\\t\\treturn this.iterator( 'cell', function ( settings, row, column ) {\\n\\t\\t\\tvar data = settings.aoData[ row ];\\n\\t\\n\\t\\t\\treturn data && data.anCells ?\\n\\t\\t\\t\\tdata.anCells[ column ] :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'cells().data()', function () {\\n\\t\\treturn this.iterator( 'cell', function ( settings, row, column ) {\\n\\t\\t\\treturn _fnGetCellData( settings, row, column );\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'cells().cache()', 'cell().cache()', function ( type ) {\\n\\t\\ttype = type === 'search' ? '_aFilterData' : '_aSortData';\\n\\t\\n\\t\\treturn this.iterator( 'cell', function ( settings, row, column ) {\\n\\t\\t\\treturn settings.aoData[ row ][ type ][ column ];\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'cells().render()', 'cell().render()', function ( type ) {\\n\\t\\treturn this.iterator( 'cell', function ( settings, row, column ) {\\n\\t\\t\\treturn _fnGetCellData( settings, row, column, type );\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'cells().indexes()', 'cell().index()', function () {\\n\\t\\treturn this.iterator( 'cell', function ( settings, row, column ) {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\trow: row,\\n\\t\\t\\t\\tcolumn: column,\\n\\t\\t\\t\\tcolumnVisible: _fnColumnIndexToVisible( settings, column )\\n\\t\\t\\t};\\n\\t\\t}, 1 );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural( 'cells().invalidate()', 'cell().invalidate()', function ( src ) {\\n\\t\\treturn this.iterator( 'cell', function ( settings, row, column ) {\\n\\t\\t\\t_fnInvalidate( settings, row, src, column );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t_api_register( 'cell()', function ( rowSelector, columnSelector, opts ) {\\n\\t\\treturn _selector_first( this.cells( rowSelector, columnSelector, opts ) );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'cell().data()', function ( data ) {\\n\\t\\tvar ctx = this.context;\\n\\t\\tvar cell = this[0];\\n\\t\\n\\t\\tif ( data === undefined ) {\\n\\t\\t\\t// Get\\n\\t\\t\\treturn ctx.length && cell.length ?\\n\\t\\t\\t\\t_fnGetCellData( ctx[0], cell[0].row, cell[0].column ) :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}\\n\\t\\n\\t\\t// Set\\n\\t\\t_fnSetCellData( ctx[0], cell[0].row, cell[0].column, data );\\n\\t\\t_fnInvalidate( ctx[0], cell[0].row, 'data', cell[0].column );\\n\\t\\n\\t\\treturn this;\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Get current ordering (sorting) that has been applied to the table.\\n\\t *\\n\\t * @returns {array} 2D array containing the sorting information for the first\\n\\t *   table in the current context. Each element in the parent array represents\\n\\t *   a column being sorted upon (i.e. multi-sorting with two columns would have\\n\\t *   2 inner arrays). The inner arrays may have 2 or 3 elements. The first is\\n\\t *   the column index that the sorting condition applies to, the second is the\\n\\t *   direction of the sort (`desc` or `asc`) and, optionally, the third is the\\n\\t *   index of the sorting order from the `column.sorting` initialisation array.\\n\\t *//**\\n\\t * Set the ordering for the table.\\n\\t *\\n\\t * @param {integer} order Column index to sort upon.\\n\\t * @param {string} direction Direction of the sort to be applied (`asc` or `desc`)\\n\\t * @returns {DataTables.Api} this\\n\\t *//**\\n\\t * Set the ordering for the table.\\n\\t *\\n\\t * @param {array} order 1D array of sorting information to be applied.\\n\\t * @param {array} [...] Optional additional sorting conditions\\n\\t * @returns {DataTables.Api} this\\n\\t *//**\\n\\t * Set the ordering for the table.\\n\\t *\\n\\t * @param {array} order 2D array of sorting information to be applied.\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'order()', function ( order, dir ) {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( order === undefined ) {\\n\\t\\t\\t// get\\n\\t\\t\\treturn ctx.length !== 0 ?\\n\\t\\t\\t\\tctx[0].aaSorting :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}\\n\\t\\n\\t\\t// set\\n\\t\\tif ( typeof order === 'number' ) {\\n\\t\\t\\t// Simple column / direction passed in\\n\\t\\t\\torder = [ [ order, dir ] ];\\n\\t\\t}\\n\\t\\telse if ( order.length && ! $.isArray( order[0] ) ) {\\n\\t\\t\\t// Arguments passed in (list of 1D arrays)\\n\\t\\t\\torder = Array.prototype.slice.call( arguments );\\n\\t\\t}\\n\\t\\t// otherwise a 2D array was passed in\\n\\t\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tsettings.aaSorting = order.slice();\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t/**\\n\\t * Attach a sort listener to an element for a given column\\n\\t *\\n\\t * @param {node|jQuery|string} node Identifier for the element(s) to attach the\\n\\t *   listener to. This can take the form of a single DOM node, a jQuery\\n\\t *   collection of nodes or a jQuery selector which will identify the node(s).\\n\\t * @param {integer} column the column that a click on this node will sort on\\n\\t * @param {function} [callback] callback function when sort is run\\n\\t * @returns {DataTables.Api} this\\n\\t */\\n\\t_api_register( 'order.listener()', function ( node, column, callback ) {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t_fnSortAttachListener( settings, node, column, callback );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'order.fixed()', function ( set ) {\\n\\t\\tif ( ! set ) {\\n\\t\\t\\tvar ctx = this.context;\\n\\t\\t\\tvar fixed = ctx.length ?\\n\\t\\t\\t\\tctx[0].aaSortingFixed :\\n\\t\\t\\t\\tundefined;\\n\\t\\n\\t\\t\\treturn $.isArray( fixed ) ?\\n\\t\\t\\t\\t{ pre: fixed } :\\n\\t\\t\\t\\tfixed;\\n\\t\\t}\\n\\t\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tsettings.aaSortingFixed = $.extend( true, {}, set );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t// Order by the selected column(s)\\n\\t_api_register( [\\n\\t\\t'columns().order()',\\n\\t\\t'column().order()'\\n\\t], function ( dir ) {\\n\\t\\tvar that = this;\\n\\t\\n\\t\\treturn this.iterator( 'table', function ( settings, i ) {\\n\\t\\t\\tvar sort = [];\\n\\t\\n\\t\\t\\t$.each( that[i], function (j, col) {\\n\\t\\t\\t\\tsort.push( [ col, dir ] );\\n\\t\\t\\t} );\\n\\t\\n\\t\\t\\tsettings.aaSorting = sort;\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t_api_register( 'search()', function ( input, regex, smart, caseInsen ) {\\n\\t\\tvar ctx = this.context;\\n\\t\\n\\t\\tif ( input === undefined ) {\\n\\t\\t\\t// get\\n\\t\\t\\treturn ctx.length !== 0 ?\\n\\t\\t\\t\\tctx[0].oPreviousSearch.sSearch :\\n\\t\\t\\t\\tundefined;\\n\\t\\t}\\n\\t\\n\\t\\t// set\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tif ( ! settings.oFeatures.bFilter ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t_fnFilterComplete( settings, $.extend( {}, settings.oPreviousSearch, {\\n\\t\\t\\t\\t\\\"sSearch\\\": input+\\\"\\\",\\n\\t\\t\\t\\t\\\"bRegex\\\":  regex === null ? false : regex,\\n\\t\\t\\t\\t\\\"bSmart\\\":  smart === null ? true  : smart,\\n\\t\\t\\t\\t\\\"bCaseInsensitive\\\": caseInsen === null ? true : caseInsen\\n\\t\\t\\t} ), 1 );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_registerPlural(\\n\\t\\t'columns().search()',\\n\\t\\t'column().search()',\\n\\t\\tfunction ( input, regex, smart, caseInsen ) {\\n\\t\\t\\treturn this.iterator( 'column', function ( settings, column ) {\\n\\t\\t\\t\\tvar preSearch = settings.aoPreSearchCols;\\n\\t\\n\\t\\t\\t\\tif ( input === undefined ) {\\n\\t\\t\\t\\t\\t// get\\n\\t\\t\\t\\t\\treturn preSearch[ column ].sSearch;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t// set\\n\\t\\t\\t\\tif ( ! settings.oFeatures.bFilter ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t$.extend( preSearch[ column ], {\\n\\t\\t\\t\\t\\t\\\"sSearch\\\": input+\\\"\\\",\\n\\t\\t\\t\\t\\t\\\"bRegex\\\":  regex === null ? false : regex,\\n\\t\\t\\t\\t\\t\\\"bSmart\\\":  smart === null ? true  : smart,\\n\\t\\t\\t\\t\\t\\\"bCaseInsensitive\\\": caseInsen === null ? true : caseInsen\\n\\t\\t\\t\\t} );\\n\\t\\n\\t\\t\\t\\t_fnFilterComplete( settings, settings.oPreviousSearch, 1 );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t);\\n\\t\\n\\t/*\\n\\t * State API methods\\n\\t */\\n\\t\\n\\t_api_register( 'state()', function () {\\n\\t\\treturn this.context.length ?\\n\\t\\t\\tthis.context[0].oSavedState :\\n\\t\\t\\tnull;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'state.clear()', function () {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t// Save an empty object\\n\\t\\t\\tsettings.fnStateSaveCallback.call( settings.oInstance, settings, {} );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'state.loaded()', function () {\\n\\t\\treturn this.context.length ?\\n\\t\\t\\tthis.context[0].oLoadedState :\\n\\t\\t\\tnull;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'state.save()', function () {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t_fnSaveState( settings );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Provide a common method for plug-ins to check the version of DataTables being\\n\\t * used, in order to ensure compatibility.\\n\\t *\\n\\t *  @param {string} version Version string to check for, in the format \\\"X.Y.Z\\\".\\n\\t *    Note that the formats \\\"X\\\" and \\\"X.Y\\\" are also acceptable.\\n\\t *  @returns {boolean} true if this version of DataTables is greater or equal to\\n\\t *    the required version, or false if this version of DataTales is not\\n\\t *    suitable\\n\\t *  @static\\n\\t *  @dtopt API-Static\\n\\t *\\n\\t *  @example\\n\\t *    alert( $.fn.dataTable.versionCheck( '1.9.0' ) );\\n\\t */\\n\\tDataTable.versionCheck = DataTable.fnVersionCheck = function( version )\\n\\t{\\n\\t\\tvar aThis = DataTable.version.split('.');\\n\\t\\tvar aThat = version.split('.');\\n\\t\\tvar iThis, iThat;\\n\\t\\n\\t\\tfor ( var i=0, iLen=aThat.length ; i<iLen ; i++ ) {\\n\\t\\t\\tiThis = parseInt( aThis[i], 10 ) || 0;\\n\\t\\t\\tiThat = parseInt( aThat[i], 10 ) || 0;\\n\\t\\n\\t\\t\\t// Parts are the same, keep comparing\\n\\t\\t\\tif (iThis === iThat) {\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Parts are different, return immediately\\n\\t\\t\\treturn iThis > iThat;\\n\\t\\t}\\n\\t\\n\\t\\treturn true;\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Check if a `<table>` node is a DataTable table already or not.\\n\\t *\\n\\t *  @param {node|jquery|string} table Table node, jQuery object or jQuery\\n\\t *      selector for the table to test. Note that if more than more than one\\n\\t *      table is passed on, only the first will be checked\\n\\t *  @returns {boolean} true the table given is a DataTable, or false otherwise\\n\\t *  @static\\n\\t *  @dtopt API-Static\\n\\t *\\n\\t *  @example\\n\\t *    if ( ! $.fn.DataTable.isDataTable( '#example' ) ) {\\n\\t *      $('#example').dataTable();\\n\\t *    }\\n\\t */\\n\\tDataTable.isDataTable = DataTable.fnIsDataTable = function ( table )\\n\\t{\\n\\t\\tvar t = $(table).get(0);\\n\\t\\tvar is = false;\\n\\t\\n\\t\\tif ( table instanceof DataTable.Api ) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t\\n\\t\\t$.each( DataTable.settings, function (i, o) {\\n\\t\\t\\tvar head = o.nScrollHead ? $('table', o.nScrollHead)[0] : null;\\n\\t\\t\\tvar foot = o.nScrollFoot ? $('table', o.nScrollFoot)[0] : null;\\n\\t\\n\\t\\t\\tif ( o.nTable === t || head === t || foot === t ) {\\n\\t\\t\\t\\tis = true;\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn is;\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Get all DataTable tables that have been initialised - optionally you can\\n\\t * select to get only currently visible tables.\\n\\t *\\n\\t *  @param {boolean} [visible=false] Flag to indicate if you want all (default)\\n\\t *    or visible tables only.\\n\\t *  @returns {array} Array of `table` nodes (not DataTable instances) which are\\n\\t *    DataTables\\n\\t *  @static\\n\\t *  @dtopt API-Static\\n\\t *\\n\\t *  @example\\n\\t *    $.each( $.fn.dataTable.tables(true), function () {\\n\\t *      $(table).DataTable().columns.adjust();\\n\\t *    } );\\n\\t */\\n\\tDataTable.tables = DataTable.fnTables = function ( visible )\\n\\t{\\n\\t\\tvar api = false;\\n\\t\\n\\t\\tif ( $.isPlainObject( visible ) ) {\\n\\t\\t\\tapi = visible.api;\\n\\t\\t\\tvisible = visible.visible;\\n\\t\\t}\\n\\t\\n\\t\\tvar a = $.map( DataTable.settings, function (o) {\\n\\t\\t\\tif ( !visible || (visible && $(o.nTable).is(':visible')) ) {\\n\\t\\t\\t\\treturn o.nTable;\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\n\\t\\treturn api ?\\n\\t\\t\\tnew _Api( a ) :\\n\\t\\t\\ta;\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Convert from camel case parameters to Hungarian notation. This is made public\\n\\t * for the extensions to provide the same ability as DataTables core to accept\\n\\t * either the 1.9 style Hungarian notation, or the 1.10+ style camelCase\\n\\t * parameters.\\n\\t *\\n\\t *  @param {object} src The model object which holds all parameters that can be\\n\\t *    mapped.\\n\\t *  @param {object} user The object to convert from camel case to Hungarian.\\n\\t *  @param {boolean} force When set to `true`, properties which already have a\\n\\t *    Hungarian value in the `user` object will be overwritten. Otherwise they\\n\\t *    won't be.\\n\\t */\\n\\tDataTable.camelToHungarian = _fnCamelToHungarian;\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t *\\n\\t */\\n\\t_api_register( '$()', function ( selector, opts ) {\\n\\t\\tvar\\n\\t\\t\\trows   = this.rows( opts ).nodes(), // Get all rows\\n\\t\\t\\tjqRows = $(rows);\\n\\t\\n\\t\\treturn $( [].concat(\\n\\t\\t\\tjqRows.filter( selector ).toArray(),\\n\\t\\t\\tjqRows.find( selector ).toArray()\\n\\t\\t) );\\n\\t} );\\n\\t\\n\\t\\n\\t// jQuery functions to operate on the tables\\n\\t$.each( [ 'on', 'one', 'off' ], function (i, key) {\\n\\t\\t_api_register( key+'()', function ( /* event, handler */ ) {\\n\\t\\t\\tvar args = Array.prototype.slice.call(arguments);\\n\\t\\n\\t\\t\\t// Add the `dt` namespace automatically if it isn't already present\\n\\t\\t\\targs[0] = $.map( args[0].split( /\\\\s/ ), function ( e ) {\\n\\t\\t\\t\\treturn ! e.match(/\\\\.dt\\\\b/) ?\\n\\t\\t\\t\\t\\te+'.dt' :\\n\\t\\t\\t\\t\\te;\\n\\t\\t\\t\\t} ).join( ' ' );\\n\\t\\n\\t\\t\\tvar inst = $( this.tables().nodes() );\\n\\t\\t\\tinst[key].apply( inst, args );\\n\\t\\t\\treturn this;\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'clear()', function () {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\t_fnClearTable( settings );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'settings()', function () {\\n\\t\\treturn new _Api( this.context, this.context );\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'init()', function () {\\n\\t\\tvar ctx = this.context;\\n\\t\\treturn ctx.length ? ctx[0].oInit : null;\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'data()', function () {\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\treturn _pluck( settings.aoData, '_aData' );\\n\\t\\t} ).flatten();\\n\\t} );\\n\\t\\n\\t\\n\\t_api_register( 'destroy()', function ( remove ) {\\n\\t\\tremove = remove || false;\\n\\t\\n\\t\\treturn this.iterator( 'table', function ( settings ) {\\n\\t\\t\\tvar orig      = settings.nTableWrapper.parentNode;\\n\\t\\t\\tvar classes   = settings.oClasses;\\n\\t\\t\\tvar table     = settings.nTable;\\n\\t\\t\\tvar tbody     = settings.nTBody;\\n\\t\\t\\tvar thead     = settings.nTHead;\\n\\t\\t\\tvar tfoot     = settings.nTFoot;\\n\\t\\t\\tvar jqTable   = $(table);\\n\\t\\t\\tvar jqTbody   = $(tbody);\\n\\t\\t\\tvar jqWrapper = $(settings.nTableWrapper);\\n\\t\\t\\tvar rows      = $.map( settings.aoData, function (r) { return r.nTr; } );\\n\\t\\t\\tvar i, ien;\\n\\t\\n\\t\\t\\t// Flag to note that the table is currently being destroyed - no action\\n\\t\\t\\t// should be taken\\n\\t\\t\\tsettings.bDestroying = true;\\n\\t\\n\\t\\t\\t// Fire off the destroy callbacks for plug-ins etc\\n\\t\\t\\t_fnCallbackFire( settings, \\\"aoDestroyCallback\\\", \\\"destroy\\\", [settings] );\\n\\t\\n\\t\\t\\t// If not being removed from the document, make all columns visible\\n\\t\\t\\tif ( ! remove ) {\\n\\t\\t\\t\\tnew _Api( settings ).columns().visible( true );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t// Blitz all `DT` namespaced events (these are internal events, the\\n\\t\\t\\t// lowercase, `dt` events are user subscribed and they are responsible\\n\\t\\t\\t// for removing them\\n\\t\\t\\tjqWrapper.off('.DT').find(':not(tbody *)').off('.DT');\\n\\t\\t\\t$(window).off('.DT-'+settings.sInstance);\\n\\t\\n\\t\\t\\t// When scrolling we had to break the table up - restore it\\n\\t\\t\\tif ( table != thead.parentNode ) {\\n\\t\\t\\t\\tjqTable.children('thead').detach();\\n\\t\\t\\t\\tjqTable.append( thead );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( tfoot && table != tfoot.parentNode ) {\\n\\t\\t\\t\\tjqTable.children('tfoot').detach();\\n\\t\\t\\t\\tjqTable.append( tfoot );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tsettings.aaSorting = [];\\n\\t\\t\\tsettings.aaSortingFixed = [];\\n\\t\\t\\t_fnSortingClasses( settings );\\n\\t\\n\\t\\t\\t$( rows ).removeClass( settings.asStripeClasses.join(' ') );\\n\\t\\n\\t\\t\\t$('th, td', thead).removeClass( classes.sSortable+' '+\\n\\t\\t\\t\\tclasses.sSortableAsc+' '+classes.sSortableDesc+' '+classes.sSortableNone\\n\\t\\t\\t);\\n\\t\\n\\t\\t\\t// Add the TR elements back into the table in their original order\\n\\t\\t\\tjqTbody.children().detach();\\n\\t\\t\\tjqTbody.append( rows );\\n\\t\\n\\t\\t\\t// Remove the DataTables generated nodes, events and classes\\n\\t\\t\\tvar removedMethod = remove ? 'remove' : 'detach';\\n\\t\\t\\tjqTable[ removedMethod ]();\\n\\t\\t\\tjqWrapper[ removedMethod ]();\\n\\t\\n\\t\\t\\t// If we need to reattach the table to the document\\n\\t\\t\\tif ( ! remove && orig ) {\\n\\t\\t\\t\\t// insertBefore acts like appendChild if !arg[1]\\n\\t\\t\\t\\torig.insertBefore( table, settings.nTableReinsertBefore );\\n\\t\\n\\t\\t\\t\\t// Restore the width of the original table - was read from the style property,\\n\\t\\t\\t\\t// so we can restore directly to that\\n\\t\\t\\t\\tjqTable\\n\\t\\t\\t\\t\\t.css( 'width', settings.sDestroyWidth )\\n\\t\\t\\t\\t\\t.removeClass( classes.sTable );\\n\\t\\n\\t\\t\\t\\t// If the were originally stripe classes - then we add them back here.\\n\\t\\t\\t\\t// Note this is not fool proof (for example if not all rows had stripe\\n\\t\\t\\t\\t// classes - but it's a good effort without getting carried away\\n\\t\\t\\t\\tien = settings.asDestroyStripes.length;\\n\\t\\n\\t\\t\\t\\tif ( ien ) {\\n\\t\\t\\t\\t\\tjqTbody.children().each( function (i) {\\n\\t\\t\\t\\t\\t\\t$(this).addClass( settings.asDestroyStripes[i % ien] );\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\t/* Remove the settings object from the settings array */\\n\\t\\t\\tvar idx = $.inArray( settings, DataTable.settings );\\n\\t\\t\\tif ( idx !== -1 ) {\\n\\t\\t\\t\\tDataTable.settings.splice( idx, 1 );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t// Add the `every()` method for rows, columns and cells in a compact form\\n\\t$.each( [ 'column', 'row', 'cell' ], function ( i, type ) {\\n\\t\\t_api_register( type+'s().every()', function ( fn ) {\\n\\t\\t\\tvar opts = this.selector.opts;\\n\\t\\t\\tvar api = this;\\n\\t\\n\\t\\t\\treturn this.iterator( type, function ( settings, arg1, arg2, arg3, arg4 ) {\\n\\t\\t\\t\\t// Rows and columns:\\n\\t\\t\\t\\t//  arg1 - index\\n\\t\\t\\t\\t//  arg2 - table counter\\n\\t\\t\\t\\t//  arg3 - loop counter\\n\\t\\t\\t\\t//  arg4 - undefined\\n\\t\\t\\t\\t// Cells:\\n\\t\\t\\t\\t//  arg1 - row index\\n\\t\\t\\t\\t//  arg2 - column index\\n\\t\\t\\t\\t//  arg3 - table counter\\n\\t\\t\\t\\t//  arg4 - loop counter\\n\\t\\t\\t\\tfn.call(\\n\\t\\t\\t\\t\\tapi[ type ](\\n\\t\\t\\t\\t\\t\\targ1,\\n\\t\\t\\t\\t\\t\\ttype==='cell' ? arg2 : opts,\\n\\t\\t\\t\\t\\t\\ttype==='cell' ? opts : undefined\\n\\t\\t\\t\\t\\t),\\n\\t\\t\\t\\t\\targ1, arg2, arg3, arg4\\n\\t\\t\\t\\t);\\n\\t\\t\\t} );\\n\\t\\t} );\\n\\t} );\\n\\t\\n\\t\\n\\t// i18n method for extensions to be able to use the language object from the\\n\\t// DataTable\\n\\t_api_register( 'i18n()', function ( token, def, plural ) {\\n\\t\\tvar ctx = this.context[0];\\n\\t\\tvar resolved = _fnGetObjectDataFn( token )( ctx.oLanguage );\\n\\t\\n\\t\\tif ( resolved === undefined ) {\\n\\t\\t\\tresolved = def;\\n\\t\\t}\\n\\t\\n\\t\\tif ( plural !== undefined && $.isPlainObject( resolved ) ) {\\n\\t\\t\\tresolved = resolved[ plural ] !== undefined ?\\n\\t\\t\\t\\tresolved[ plural ] :\\n\\t\\t\\t\\tresolved._;\\n\\t\\t}\\n\\t\\n\\t\\treturn resolved.replace( '%d', plural ); // nb: plural might be undefined,\\n\\t} );\\n\\t/**\\n\\t * Version string for plug-ins to check compatibility. Allowed format is\\n\\t * `a.b.c-d` where: a:int, b:int, c:int, d:string(dev|beta|alpha). `d` is used\\n\\t * only for non-release builds. See http://semver.org/ for more information.\\n\\t *  @member\\n\\t *  @type string\\n\\t *  @default Version number\\n\\t */\\n\\tDataTable.version = \\\"1.10.19\\\";\\n\\n\\t/**\\n\\t * Private data store, containing all of the settings objects that are\\n\\t * created for the tables on a given page.\\n\\t *\\n\\t * Note that the `DataTable.settings` object is aliased to\\n\\t * `jQuery.fn.dataTableExt` through which it may be accessed and\\n\\t * manipulated, or `jQuery.fn.dataTable.settings`.\\n\\t *  @member\\n\\t *  @type array\\n\\t *  @default []\\n\\t *  @private\\n\\t */\\n\\tDataTable.settings = [];\\n\\n\\t/**\\n\\t * Object models container, for the various models that DataTables has\\n\\t * available to it. These models define the objects that are used to hold\\n\\t * the active state and configuration of the table.\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.models = {};\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Template object for the way in which DataTables holds information about\\n\\t * search information for the global filter and individual column filters.\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.models.oSearch = {\\n\\t\\t/**\\n\\t\\t * Flag to indicate if the filtering should be case insensitive or not\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t */\\n\\t\\t\\\"bCaseInsensitive\\\": true,\\n\\t\\n\\t\\t/**\\n\\t\\t * Applied search term\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>Empty string</i>\\n\\t\\t */\\n\\t\\t\\\"sSearch\\\": \\\"\\\",\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag to indicate if the search term should be interpreted as a\\n\\t\\t * regular expression (true) or not (false) and therefore and special\\n\\t\\t * regex characters escaped.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t */\\n\\t\\t\\\"bRegex\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag to indicate if DataTables is to use its smart filtering or not.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t */\\n\\t\\t\\\"bSmart\\\": true\\n\\t};\\n\\t\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * Template object for the way in which DataTables holds information about\\n\\t * each individual row. This is the object format used for the settings\\n\\t * aoData array.\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.models.oRow = {\\n\\t\\t/**\\n\\t\\t * TR element for the row\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTr\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of TD elements for each row. This is null until the row has been\\n\\t\\t * created.\\n\\t\\t *  @type array nodes\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"anCells\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Data object from the original data source for the row. This is either\\n\\t\\t * an array if using the traditional form of DataTables, or an object if\\n\\t\\t * using mData options. The exact type will depend on the passed in\\n\\t\\t * data from the data source, or will be an array if using DOM a data\\n\\t\\t * source.\\n\\t\\t *  @type array|object\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"_aData\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Sorting data cache - this array is ostensibly the same length as the\\n\\t\\t * number of columns (although each index is generated only as it is\\n\\t\\t * needed), and holds the data that is used for sorting each column in the\\n\\t\\t * row. We do this cache generation at the start of the sort in order that\\n\\t\\t * the formatting of the sort data need be done only once for each cell\\n\\t\\t * per sort. This array should not be read from or written to by anything\\n\\t\\t * other than the master sorting methods.\\n\\t\\t *  @type array\\n\\t\\t *  @default null\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_aSortData\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Per cell filtering data cache. As per the sort data cache, used to\\n\\t\\t * increase the performance of the filtering in DataTables\\n\\t\\t *  @type array\\n\\t\\t *  @default null\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_aFilterData\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Filtering data cache. This is the same as the cell filtering cache, but\\n\\t\\t * in this case a string rather than an array. This is easily computed with\\n\\t\\t * a join on `_aFilterData`, but is provided as a cache so the join isn't\\n\\t\\t * needed on every search (memory traded for performance)\\n\\t\\t *  @type array\\n\\t\\t *  @default null\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_sFilterRow\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Cache of the class name that DataTables has applied to the row, so we\\n\\t\\t * can quickly look at this variable rather than needing to do a DOM check\\n\\t\\t * on className for the nTr property.\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>Empty string</i>\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_sRowStripe\\\": \\\"\\\",\\n\\t\\n\\t\\t/**\\n\\t\\t * Denote if the original data source was from the DOM, or the data source\\n\\t\\t * object. This is used for invalidating data, so DataTables can\\n\\t\\t * automatically read data from the original source, unless uninstructed\\n\\t\\t * otherwise.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"src\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Index in the aoData array. This saves an indexOf lookup when we have the\\n\\t\\t * object, but want to know the index\\n\\t\\t *  @type integer\\n\\t\\t *  @default -1\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"idx\\\": -1\\n\\t};\\n\\t\\n\\t\\n\\t/**\\n\\t * Template object for the column information object in DataTables. This object\\n\\t * is held in the settings aoColumns array and contains all the information that\\n\\t * DataTables needs about each individual column.\\n\\t *\\n\\t * Note that this object is related to {@link DataTable.defaults.column}\\n\\t * but this one is the internal data store for DataTables's cache of columns.\\n\\t * It should NOT be manipulated outside of DataTables. Any configuration should\\n\\t * be done through the initialisation options.\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.models.oColumn = {\\n\\t\\t/**\\n\\t\\t * Column index. This could be worked out on-the-fly with $.inArray, but it\\n\\t\\t * is faster to just hold it as a variable\\n\\t\\t *  @type integer\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"idx\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * A list of the columns that sorting should occur on when this column\\n\\t\\t * is sorted. That this property is an array allows multi-column sorting\\n\\t\\t * to be defined for a column (for example first name / last name columns\\n\\t\\t * would benefit from this). The values are integers pointing to the\\n\\t\\t * columns to be sorted on (typically it will be a single integer pointing\\n\\t\\t * at itself, but that doesn't need to be the case).\\n\\t\\t *  @type array\\n\\t\\t */\\n\\t\\t\\\"aDataSort\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Define the sorting directions that are applied to the column, in sequence\\n\\t\\t * as the column is repeatedly sorted upon - i.e. the first value is used\\n\\t\\t * as the sorting direction when the column if first sorted (clicked on).\\n\\t\\t * Sort it again (click again) and it will move on to the next index.\\n\\t\\t * Repeat until loop.\\n\\t\\t *  @type array\\n\\t\\t */\\n\\t\\t\\\"asSorting\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag to indicate if the column is searchable, and thus should be included\\n\\t\\t * in the filtering or not.\\n\\t\\t *  @type boolean\\n\\t\\t */\\n\\t\\t\\\"bSearchable\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag to indicate if the column is sortable or not.\\n\\t\\t *  @type boolean\\n\\t\\t */\\n\\t\\t\\\"bSortable\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag to indicate if the column is currently visible in the table or not\\n\\t\\t *  @type boolean\\n\\t\\t */\\n\\t\\t\\\"bVisible\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Store for manual type assignment using the `column.type` option. This\\n\\t\\t * is held in store so we can manipulate the column's `sType` property.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_sManualType\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag to indicate if HTML5 data attributes should be used as the data\\n\\t\\t * source for filtering or sorting. True is either are.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_bAttrSrc\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Developer definable function that is called whenever a cell is created (Ajax source,\\n\\t\\t * etc) or processed for input (DOM source). This can be used as a compliment to mRender\\n\\t\\t * allowing you to modify the DOM element (add background colour for example) when the\\n\\t\\t * element is available.\\n\\t\\t *  @type function\\n\\t\\t *  @param {element} nTd The TD node that has been created\\n\\t\\t *  @param {*} sData The Data for the cell\\n\\t\\t *  @param {array|object} oData The data for the whole row\\n\\t\\t *  @param {int} iRow The row index for the aoData data store\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"fnCreatedCell\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Function to get data from a cell in a column. You should <b>never</b>\\n\\t\\t * access data directly through _aData internally in DataTables - always use\\n\\t\\t * the method attached to this property. It allows mData to function as\\n\\t\\t * required. This function is automatically assigned by the column\\n\\t\\t * initialisation method\\n\\t\\t *  @type function\\n\\t\\t *  @param {array|object} oData The data array/object for the array\\n\\t\\t *    (i.e. aoData[]._aData)\\n\\t\\t *  @param {string} sSpecific The specific data type you want to get -\\n\\t\\t *    'display', 'type' 'filter' 'sort'\\n\\t\\t *  @returns {*} The data for the cell from the given row's data\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"fnGetData\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Function to set data for a cell in the column. You should <b>never</b>\\n\\t\\t * set the data directly to _aData internally in DataTables - always use\\n\\t\\t * this method. It allows mData to function as required. This function\\n\\t\\t * is automatically assigned by the column initialisation method\\n\\t\\t *  @type function\\n\\t\\t *  @param {array|object} oData The data array/object for the array\\n\\t\\t *    (i.e. aoData[]._aData)\\n\\t\\t *  @param {*} sValue Value to set\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"fnSetData\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Property to read the value for the cells in the column from the data\\n\\t\\t * source array / object. If null, then the default content is used, if a\\n\\t\\t * function is given then the return from the function is used.\\n\\t\\t *  @type function|int|string|null\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"mData\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Partner property to mData which is used (only when defined) to get\\n\\t\\t * the data - i.e. it is basically the same as mData, but without the\\n\\t\\t * 'set' option, and also the data fed to it is the result from mData.\\n\\t\\t * This is the rendering method to match the data method of mData.\\n\\t\\t *  @type function|int|string|null\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"mRender\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Unique header TH/TD element for this column - this is what the sorting\\n\\t\\t * listener is attached to (if sorting is enabled.)\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTh\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Unique footer TH/TD element for this column (if there is one). Not used\\n\\t\\t * in DataTables as such, but can be used for plug-ins to reference the\\n\\t\\t * footer for each column.\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTf\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * The class to apply to all TD elements in the table's TBODY for the column\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sClass\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * When DataTables calculates the column widths to assign to each column,\\n\\t\\t * it finds the longest string in each column and then constructs a\\n\\t\\t * temporary table and reads the widths from that. The problem with this\\n\\t\\t * is that \\\"mmm\\\" is much wider then \\\"iiii\\\", but the latter is a longer\\n\\t\\t * string - thus the calculation can go wrong (doing it properly and putting\\n\\t\\t * it into an DOM object and measuring that is horribly(!) slow). Thus as\\n\\t\\t * a \\\"work around\\\" we provide this option. It will append its value to the\\n\\t\\t * text that is found to be the longest string for the column - i.e. padding.\\n\\t\\t *  @type string\\n\\t\\t */\\n\\t\\t\\\"sContentPadding\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Allows a default value to be given for a column's data, and will be used\\n\\t\\t * whenever a null data source is encountered (this can be because mData\\n\\t\\t * is set to null, or because the data source itself is null).\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sDefaultContent\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Name for the column, allowing reference to the column by name as well as\\n\\t\\t * by index (needs a lookup to work by name).\\n\\t\\t *  @type string\\n\\t\\t */\\n\\t\\t\\\"sName\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Custom sorting data type - defines which of the available plug-ins in\\n\\t\\t * afnSortData the custom sorting will use - if any is defined.\\n\\t\\t *  @type string\\n\\t\\t *  @default std\\n\\t\\t */\\n\\t\\t\\\"sSortDataType\\\": 'std',\\n\\t\\n\\t\\t/**\\n\\t\\t * Class to be applied to the header element when sorting on this column\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sSortingClass\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Class to be applied to the header element when sorting on this column -\\n\\t\\t * when jQuery UI theming is used.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sSortingClassJUI\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Title of the column - what is seen in the TH element (nTh).\\n\\t\\t *  @type string\\n\\t\\t */\\n\\t\\t\\\"sTitle\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Column sorting and filtering type\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sType\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Width of the column\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sWidth\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Width of the column when it was first \\\"encountered\\\"\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sWidthOrig\\\": null\\n\\t};\\n\\t\\n\\t\\n\\t/*\\n\\t * Developer note: The properties of the object below are given in Hungarian\\n\\t * notation, that was used as the interface for DataTables prior to v1.10, however\\n\\t * from v1.10 onwards the primary interface is camel case. In order to avoid\\n\\t * breaking backwards compatibility utterly with this change, the Hungarian\\n\\t * version is still, internally the primary interface, but is is not documented\\n\\t * - hence the @name tags in each doc comment. This allows a Javascript function\\n\\t * to create a map from Hungarian notation to camel case (going the other direction\\n\\t * would require each property to be listed, which would at around 3K to the size\\n\\t * of DataTables, while this method is about a 0.5K hit.\\n\\t *\\n\\t * Ultimately this does pave the way for Hungarian notation to be dropped\\n\\t * completely, but that is a massive amount of work and will break current\\n\\t * installs (therefore is on-hold until v2).\\n\\t */\\n\\t\\n\\t/**\\n\\t * Initialisation options that can be given to DataTables at initialisation\\n\\t * time.\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.defaults = {\\n\\t\\t/**\\n\\t\\t * An array of data to use for the table, passed in at initialisation which\\n\\t\\t * will be used in preference to any data which is already in the DOM. This is\\n\\t\\t * particularly useful for constructing tables purely in Javascript, for\\n\\t\\t * example with a custom Ajax call.\\n\\t\\t *  @type array\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.data\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using a 2D array data source\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"data\\\": [\\n\\t\\t *          ['Trident', 'Internet Explorer 4.0', 'Win 95+', 4, 'X'],\\n\\t\\t *          ['Trident', 'Internet Explorer 5.0', 'Win 95+', 5, 'C'],\\n\\t\\t *        ],\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"title\\\": \\\"Engine\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Browser\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Platform\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Version\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Grade\\\" }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using an array of objects as a data source (`data`)\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"data\\\": [\\n\\t\\t *          {\\n\\t\\t *            \\\"engine\\\":   \\\"Trident\\\",\\n\\t\\t *            \\\"browser\\\":  \\\"Internet Explorer 4.0\\\",\\n\\t\\t *            \\\"platform\\\": \\\"Win 95+\\\",\\n\\t\\t *            \\\"version\\\":  4,\\n\\t\\t *            \\\"grade\\\":    \\\"X\\\"\\n\\t\\t *          },\\n\\t\\t *          {\\n\\t\\t *            \\\"engine\\\":   \\\"Trident\\\",\\n\\t\\t *            \\\"browser\\\":  \\\"Internet Explorer 5.0\\\",\\n\\t\\t *            \\\"platform\\\": \\\"Win 95+\\\",\\n\\t\\t *            \\\"version\\\":  5,\\n\\t\\t *            \\\"grade\\\":    \\\"C\\\"\\n\\t\\t *          }\\n\\t\\t *        ],\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"title\\\": \\\"Engine\\\",   \\\"data\\\": \\\"engine\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Browser\\\",  \\\"data\\\": \\\"browser\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Platform\\\", \\\"data\\\": \\\"platform\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Version\\\",  \\\"data\\\": \\\"version\\\" },\\n\\t\\t *          { \\\"title\\\": \\\"Grade\\\",    \\\"data\\\": \\\"grade\\\" }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"aaData\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * If ordering is enabled, then DataTables will perform a first pass sort on\\n\\t\\t * initialisation. You can define which column(s) the sort is performed\\n\\t\\t * upon, and the sorting direction, with this variable. The `sorting` array\\n\\t\\t * should contain an array for each column to be sorted initially containing\\n\\t\\t * the column's index and a direction string ('asc' or 'desc').\\n\\t\\t *  @type array\\n\\t\\t *  @default [[0,'asc']]\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.order\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Sort by 3rd column first, and then 4th column\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"order\\\": [[2,'asc'], [3,'desc']]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *    // No initial sorting\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"order\\\": []\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"aaSorting\\\": [[0,'asc']],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This parameter is basically identical to the `sorting` parameter, but\\n\\t\\t * cannot be overridden by user interaction with the table. What this means\\n\\t\\t * is that you could have a column (visible or hidden) which the sorting\\n\\t\\t * will always be forced on first - any sorting after that (from the user)\\n\\t\\t * will then be performed as required. This can be useful for grouping rows\\n\\t\\t * together.\\n\\t\\t *  @type array\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.orderFixed\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"orderFixed\\\": [[0,'asc']]\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"aaSortingFixed\\\": [],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * DataTables can be instructed to load data to display in the table from a\\n\\t\\t * Ajax source. This option defines how that Ajax call is made and where to.\\n\\t\\t *\\n\\t\\t * The `ajax` property has three different modes of operation, depending on\\n\\t\\t * how it is defined. These are:\\n\\t\\t *\\n\\t\\t * * `string` - Set the URL from where the data should be loaded from.\\n\\t\\t * * `object` - Define properties for `jQuery.ajax`.\\n\\t\\t * * `function` - Custom data get function\\n\\t\\t *\\n\\t\\t * `string`\\n\\t\\t * --------\\n\\t\\t *\\n\\t\\t * As a string, the `ajax` property simply defines the URL from which\\n\\t\\t * DataTables will load data.\\n\\t\\t *\\n\\t\\t * `object`\\n\\t\\t * --------\\n\\t\\t *\\n\\t\\t * As an object, the parameters in the object are passed to\\n\\t\\t * [jQuery.ajax](http://api.jquery.com/jQuery.ajax/) allowing fine control\\n\\t\\t * of the Ajax request. DataTables has a number of default parameters which\\n\\t\\t * you can override using this option. Please refer to the jQuery\\n\\t\\t * documentation for a full description of the options available, although\\n\\t\\t * the following parameters provide additional options in DataTables or\\n\\t\\t * require special consideration:\\n\\t\\t *\\n\\t\\t * * `data` - As with jQuery, `data` can be provided as an object, but it\\n\\t\\t *   can also be used as a function to manipulate the data DataTables sends\\n\\t\\t *   to the server. The function takes a single parameter, an object of\\n\\t\\t *   parameters with the values that DataTables has readied for sending. An\\n\\t\\t *   object may be returned which will be merged into the DataTables\\n\\t\\t *   defaults, or you can add the items to the object that was passed in and\\n\\t\\t *   not return anything from the function. This supersedes `fnServerParams`\\n\\t\\t *   from DataTables 1.9-.\\n\\t\\t *\\n\\t\\t * * `dataSrc` - By default DataTables will look for the property `data` (or\\n\\t\\t *   `aaData` for compatibility with DataTables 1.9-) when obtaining data\\n\\t\\t *   from an Ajax source or for server-side processing - this parameter\\n\\t\\t *   allows that property to be changed. You can use Javascript dotted\\n\\t\\t *   object notation to get a data source for multiple levels of nesting, or\\n\\t\\t *   it my be used as a function. As a function it takes a single parameter,\\n\\t\\t *   the JSON returned from the server, which can be manipulated as\\n\\t\\t *   required, with the returned value being that used by DataTables as the\\n\\t\\t *   data source for the table. This supersedes `sAjaxDataProp` from\\n\\t\\t *   DataTables 1.9-.\\n\\t\\t *\\n\\t\\t * * `success` - Should not be overridden it is used internally in\\n\\t\\t *   DataTables. To manipulate / transform the data returned by the server\\n\\t\\t *   use `ajax.dataSrc`, or use `ajax` as a function (see below).\\n\\t\\t *\\n\\t\\t * `function`\\n\\t\\t * ----------\\n\\t\\t *\\n\\t\\t * As a function, making the Ajax call is left up to yourself allowing\\n\\t\\t * complete control of the Ajax request. Indeed, if desired, a method other\\n\\t\\t * than Ajax could be used to obtain the required data, such as Web storage\\n\\t\\t * or an AIR database.\\n\\t\\t *\\n\\t\\t * The function is given four parameters and no return is required. The\\n\\t\\t * parameters are:\\n\\t\\t *\\n\\t\\t * 1. _object_ - Data to send to the server\\n\\t\\t * 2. _function_ - Callback function that must be executed when the required\\n\\t\\t *    data has been obtained. That data should be passed into the callback\\n\\t\\t *    as the only parameter\\n\\t\\t * 3. _object_ - DataTables settings object for the table\\n\\t\\t *\\n\\t\\t * Note that this supersedes `fnServerData` from DataTables 1.9-.\\n\\t\\t *\\n\\t\\t *  @type string|object|function\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.ajax\\n\\t\\t *  @since 1.10.0\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Get JSON data from a file via Ajax.\\n\\t\\t *   // Note DataTables expects data in the form `{ data: [ ...data... ] }` by default).\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": \\\"data.json\\\"\\n\\t\\t *   } );\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Get JSON data from a file via Ajax, using `dataSrc` to change\\n\\t\\t *   // `data` to `tableData` (i.e. `{ tableData: [ ...data... ] }`)\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": {\\n\\t\\t *       \\\"url\\\": \\\"data.json\\\",\\n\\t\\t *       \\\"dataSrc\\\": \\\"tableData\\\"\\n\\t\\t *     }\\n\\t\\t *   } );\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Get JSON data from a file via Ajax, using `dataSrc` to read data\\n\\t\\t *   // from a plain array rather than an array in an object\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": {\\n\\t\\t *       \\\"url\\\": \\\"data.json\\\",\\n\\t\\t *       \\\"dataSrc\\\": \\\"\\\"\\n\\t\\t *     }\\n\\t\\t *   } );\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Manipulate the data returned from the server - add a link to data\\n\\t\\t *   // (note this can, should, be done using `render` for the column - this\\n\\t\\t *   // is just a simple example of how the data can be manipulated).\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": {\\n\\t\\t *       \\\"url\\\": \\\"data.json\\\",\\n\\t\\t *       \\\"dataSrc\\\": function ( json ) {\\n\\t\\t *         for ( var i=0, ien=json.length ; i<ien ; i++ ) {\\n\\t\\t *           json[i][0] = '<a href=\\\"/message/'+json[i][0]+'>View message</a>';\\n\\t\\t *         }\\n\\t\\t *         return json;\\n\\t\\t *       }\\n\\t\\t *     }\\n\\t\\t *   } );\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Add data to the request\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": {\\n\\t\\t *       \\\"url\\\": \\\"data.json\\\",\\n\\t\\t *       \\\"data\\\": function ( d ) {\\n\\t\\t *         return {\\n\\t\\t *           \\\"extra_search\\\": $('#extra').val()\\n\\t\\t *         };\\n\\t\\t *       }\\n\\t\\t *     }\\n\\t\\t *   } );\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Send request as POST\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": {\\n\\t\\t *       \\\"url\\\": \\\"data.json\\\",\\n\\t\\t *       \\\"type\\\": \\\"POST\\\"\\n\\t\\t *     }\\n\\t\\t *   } );\\n\\t\\t *\\n\\t\\t * @example\\n\\t\\t *   // Get the data from localStorage (could interface with a form for\\n\\t\\t *   // adding, editing and removing rows).\\n\\t\\t *   $('#example').dataTable( {\\n\\t\\t *     \\\"ajax\\\": function (data, callback, settings) {\\n\\t\\t *       callback(\\n\\t\\t *         JSON.parse( localStorage.getItem('dataTablesData') )\\n\\t\\t *       );\\n\\t\\t *     }\\n\\t\\t *   } );\\n\\t\\t */\\n\\t\\t\\\"ajax\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This parameter allows you to readily specify the entries in the length drop\\n\\t\\t * down menu that DataTables shows when pagination is enabled. It can be\\n\\t\\t * either a 1D array of options which will be used for both the displayed\\n\\t\\t * option and the value, or a 2D array which will use the array in the first\\n\\t\\t * position as the value, and the array in the second position as the\\n\\t\\t * displayed options (useful for language strings such as 'All').\\n\\t\\t *\\n\\t\\t * Note that the `pageLength` property will be automatically set to the\\n\\t\\t * first value given in this array, unless `pageLength` is also provided.\\n\\t\\t *  @type array\\n\\t\\t *  @default [ 10, 25, 50, 100 ]\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.lengthMenu\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"lengthMenu\\\": [[10, 25, 50, -1], [10, 25, 50, \\\"All\\\"]]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"aLengthMenu\\\": [ 10, 25, 50, 100 ],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * The `columns` option in the initialisation parameter allows you to define\\n\\t\\t * details about the way individual columns behave. For a full list of\\n\\t\\t * column options that can be set, please see\\n\\t\\t * {@link DataTable.defaults.column}. Note that if you use `columns` to\\n\\t\\t * define your columns, you must have an entry in the array for every single\\n\\t\\t * column that you have in your table (these can be null if you don't which\\n\\t\\t * to specify any options).\\n\\t\\t *  @member\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column\\n\\t\\t */\\n\\t\\t\\\"aoColumns\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Very similar to `columns`, `columnDefs` allows you to target a specific\\n\\t\\t * column, multiple columns, or all columns, using the `targets` property of\\n\\t\\t * each object in the array. This allows great flexibility when creating\\n\\t\\t * tables, as the `columnDefs` arrays can be of any length, targeting the\\n\\t\\t * columns you specifically want. `columnDefs` may use any of the column\\n\\t\\t * options available: {@link DataTable.defaults.column}, but it _must_\\n\\t\\t * have `targets` defined in each object in the array. Values in the `targets`\\n\\t\\t * array may be:\\n\\t\\t *   <ul>\\n\\t\\t *     <li>a string - class name will be matched on the TH for the column</li>\\n\\t\\t *     <li>0 or a positive integer - column index counting from the left</li>\\n\\t\\t *     <li>a negative integer - column index counting from the right</li>\\n\\t\\t *     <li>the string \\\"_all\\\" - all columns (i.e. assign a default)</li>\\n\\t\\t *   </ul>\\n\\t\\t *  @member\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.columnDefs\\n\\t\\t */\\n\\t\\t\\\"aoColumnDefs\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Basically the same as `search`, this parameter defines the individual column\\n\\t\\t * filtering state at initialisation time. The array must be of the same size\\n\\t\\t * as the number of columns, and each element be an object with the parameters\\n\\t\\t * `search` and `escapeRegex` (the latter is optional). 'null' is also\\n\\t\\t * accepted and the default will be used.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.searchCols\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"searchCols\\\": [\\n\\t\\t *          null,\\n\\t\\t *          { \\\"search\\\": \\\"My filter\\\" },\\n\\t\\t *          null,\\n\\t\\t *          { \\\"search\\\": \\\"^[0-9]\\\", \\\"escapeRegex\\\": false }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"aoSearchCols\\\": [],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * An array of CSS classes that should be applied to displayed rows. This\\n\\t\\t * array may be of any length, and DataTables will apply each class\\n\\t\\t * sequentially, looping when required.\\n\\t\\t *  @type array\\n\\t\\t *  @default null <i>Will take the values determined by the `oClasses.stripe*`\\n\\t\\t *    options</i>\\n\\t\\t *\\n\\t\\t *  @dtopt Option\\n\\t\\t *  @name DataTable.defaults.stripeClasses\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stripeClasses\\\": [ 'strip1', 'strip2', 'strip3' ]\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"asStripeClasses\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable automatic column width calculation. This can be disabled\\n\\t\\t * as an optimisation (it takes some time to calculate the widths) if the\\n\\t\\t * tables widths are passed in using `columns`.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.autoWidth\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"autoWidth\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bAutoWidth\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Deferred rendering can provide DataTables with a huge speed boost when you\\n\\t\\t * are using an Ajax or JS data source for the table. This option, when set to\\n\\t\\t * true, will cause DataTables to defer the creation of the table elements for\\n\\t\\t * each row until they are needed for a draw - saving a significant amount of\\n\\t\\t * time.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.deferRender\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"ajax\\\": \\\"sources/arrays.txt\\\",\\n\\t\\t *        \\\"deferRender\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bDeferRender\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Replace a DataTable which matches the given selector and replace it with\\n\\t\\t * one which has the properties of the new initialisation object passed. If no\\n\\t\\t * table matches the selector, then the new DataTable will be constructed as\\n\\t\\t * per normal.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.destroy\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"srollY\\\": \\\"200px\\\",\\n\\t\\t *        \\\"paginate\\\": false\\n\\t\\t *      } );\\n\\t\\t *\\n\\t\\t *      // Some time later....\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"filter\\\": false,\\n\\t\\t *        \\\"destroy\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bDestroy\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable filtering of data. Filtering in DataTables is \\\"smart\\\" in\\n\\t\\t * that it allows the end user to input multiple words (space separated) and\\n\\t\\t * will match a row containing those words, even if not in the order that was\\n\\t\\t * specified (this allow matching across multiple columns). Note that if you\\n\\t\\t * wish to use filtering in DataTables this must remain 'true' - to remove the\\n\\t\\t * default filtering input box and retain filtering abilities, please use\\n\\t\\t * {@link DataTable.defaults.dom}.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.searching\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"searching\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bFilter\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable the table information display. This shows information\\n\\t\\t * about the data that is currently visible on the page, including information\\n\\t\\t * about filtered data if that action is being performed.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.info\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"info\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bInfo\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Allows the end user to select the size of a formatted page from a select\\n\\t\\t * menu (sizes are 10, 25, 50 and 100). Requires pagination (`paginate`).\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.lengthChange\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"lengthChange\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bLengthChange\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable pagination.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.paging\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"paging\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bPaginate\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable the display of a 'processing' indicator when the table is\\n\\t\\t * being processed (e.g. a sort). This is particularly useful for tables with\\n\\t\\t * large amounts of data where it can take a noticeable amount of time to sort\\n\\t\\t * the entries.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.processing\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"processing\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bProcessing\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Retrieve the DataTables object for the given selector. Note that if the\\n\\t\\t * table has already been initialised, this parameter will cause DataTables\\n\\t\\t * to simply return the object that has already been set up - it will not take\\n\\t\\t * account of any changes you might have made to the initialisation object\\n\\t\\t * passed to DataTables (setting this parameter to true is an acknowledgement\\n\\t\\t * that you understand this). `destroy` can be used to reinitialise a table if\\n\\t\\t * you need.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.retrieve\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      initTable();\\n\\t\\t *      tableActions();\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *    function initTable ()\\n\\t\\t *    {\\n\\t\\t *      return $('#example').dataTable( {\\n\\t\\t *        \\\"scrollY\\\": \\\"200px\\\",\\n\\t\\t *        \\\"paginate\\\": false,\\n\\t\\t *        \\\"retrieve\\\": true\\n\\t\\t *      } );\\n\\t\\t *    }\\n\\t\\t *\\n\\t\\t *    function tableActions ()\\n\\t\\t *    {\\n\\t\\t *      var table = initTable();\\n\\t\\t *      // perform API operations with oTable\\n\\t\\t *    }\\n\\t\\t */\\n\\t\\t\\\"bRetrieve\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * When vertical (y) scrolling is enabled, DataTables will force the height of\\n\\t\\t * the table's viewport to the given height at all times (useful for layout).\\n\\t\\t * However, this can look odd when filtering data down to a small data set,\\n\\t\\t * and the footer is left \\\"floating\\\" further down. This parameter (when\\n\\t\\t * enabled) will cause DataTables to collapse the table's viewport down when\\n\\t\\t * the result set will fit within the given Y height.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.scrollCollapse\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"scrollY\\\": \\\"200\\\",\\n\\t\\t *        \\\"scrollCollapse\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bScrollCollapse\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Configure DataTables to use server-side processing. Note that the\\n\\t\\t * `ajax` parameter must also be given in order to give DataTables a\\n\\t\\t * source to obtain the required data for each draw.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @dtopt Server-side\\n\\t\\t *  @name DataTable.defaults.serverSide\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"serverSide\\\": true,\\n\\t\\t *        \\\"ajax\\\": \\\"xhr.php\\\"\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bServerSide\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable sorting of columns. Sorting of individual columns can be\\n\\t\\t * disabled by the `sortable` option for each column.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.ordering\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"ordering\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bSort\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or display DataTables' ability to sort multiple columns at the\\n\\t\\t * same time (activated by shift-click by the user).\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.orderMulti\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Disable multiple column sorting ability\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"orderMulti\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bSortMulti\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Allows control over whether DataTables should use the top (true) unique\\n\\t\\t * cell that is found for a single column, or the bottom (false - default).\\n\\t\\t * This is useful when using complex headers.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.orderCellsTop\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"orderCellsTop\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bSortCellsTop\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable the addition of the classes `sorting\\\\_1`, `sorting\\\\_2` and\\n\\t\\t * `sorting\\\\_3` to the columns which are currently being sorted on. This is\\n\\t\\t * presented as a feature switch as it can increase processing time (while\\n\\t\\t * classes are removed and added) so for large data sets you might want to\\n\\t\\t * turn this off.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.orderClasses\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"orderClasses\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bSortClasses\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable state saving. When enabled HTML5 `localStorage` will be\\n\\t\\t * used to save table display information such as pagination information,\\n\\t\\t * display length, filtering and sorting. As such when the end user reloads\\n\\t\\t * the page the display display will match what thy had previously set up.\\n\\t\\t *\\n\\t\\t * Due to the use of `localStorage` the default state saving is not supported\\n\\t\\t * in IE6 or 7. If state saving is required in those browsers, use\\n\\t\\t * `stateSaveCallback` to provide a storage solution such as cookies.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.stateSave\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function () {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bStateSave\\\": false,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This function is called when a TR element is created (and all TD child\\n\\t\\t * elements have been inserted), or registered if using a DOM source, allowing\\n\\t\\t * manipulation of the TR element (adding classes etc).\\n\\t\\t *  @type function\\n\\t\\t *  @param {node} row \\\"TR\\\" element for the current row\\n\\t\\t *  @param {array} data Raw data array for this row\\n\\t\\t *  @param {int} dataIndex The index of this row in the internal aoData array\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.createdRow\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"createdRow\\\": function( row, data, dataIndex ) {\\n\\t\\t *          // Bold the grade for all 'A' grade browsers\\n\\t\\t *          if ( data[4] == \\\"A\\\" )\\n\\t\\t *          {\\n\\t\\t *            $('td:eq(4)', row).html( '<b>A</b>' );\\n\\t\\t *          }\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnCreatedRow\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This function is called on every 'draw' event, and allows you to\\n\\t\\t * dynamically modify any aspect you want about the created DOM.\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.drawCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"drawCallback\\\": function( settings ) {\\n\\t\\t *          alert( 'DataTables has redrawn the table' );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnDrawCallback\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Identical to fnHeaderCallback() but for the table footer this function\\n\\t\\t * allows you to modify the table footer on every 'draw' event.\\n\\t\\t *  @type function\\n\\t\\t *  @param {node} foot \\\"TR\\\" element for the footer\\n\\t\\t *  @param {array} data Full table data (as derived from the original HTML)\\n\\t\\t *  @param {int} start Index for the current display starting point in the\\n\\t\\t *    display array\\n\\t\\t *  @param {int} end Index for the current display ending point in the\\n\\t\\t *    display array\\n\\t\\t *  @param {array int} display Index array to translate the visual position\\n\\t\\t *    to the full data array\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.footerCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"footerCallback\\\": function( tfoot, data, start, end, display ) {\\n\\t\\t *          tfoot.getElementsByTagName('th')[0].innerHTML = \\\"Starting index is \\\"+start;\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"fnFooterCallback\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * When rendering large numbers in the information element for the table\\n\\t\\t * (i.e. \\\"Showing 1 to 10 of 57 entries\\\") DataTables will render large numbers\\n\\t\\t * to have a comma separator for the 'thousands' units (e.g. 1 million is\\n\\t\\t * rendered as \\\"1,000,000\\\") to help readability for the end user. This\\n\\t\\t * function will override the default method DataTables uses.\\n\\t\\t *  @type function\\n\\t\\t *  @member\\n\\t\\t *  @param {int} toFormat number to be formatted\\n\\t\\t *  @returns {string} formatted string for DataTables to show the number\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.formatNumber\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Format a number using a single quote for the separator (note that\\n\\t\\t *    // this can also be done with the language.thousands option)\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"formatNumber\\\": function ( toFormat ) {\\n\\t\\t *          return toFormat.toString().replace(\\n\\t\\t *            /\\\\B(?=(\\\\d{3})+(?!\\\\d))/g, \\\"'\\\"\\n\\t\\t *          );\\n\\t\\t *        };\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnFormatNumber\\\": function ( toFormat ) {\\n\\t\\t\\treturn toFormat.toString().replace(\\n\\t\\t\\t\\t/\\\\B(?=(\\\\d{3})+(?!\\\\d))/g,\\n\\t\\t\\t\\tthis.oLanguage.sThousands\\n\\t\\t\\t);\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This function is called on every 'draw' event, and allows you to\\n\\t\\t * dynamically modify the header row. This can be used to calculate and\\n\\t\\t * display useful information about the table.\\n\\t\\t *  @type function\\n\\t\\t *  @param {node} head \\\"TR\\\" element for the header\\n\\t\\t *  @param {array} data Full table data (as derived from the original HTML)\\n\\t\\t *  @param {int} start Index for the current display starting point in the\\n\\t\\t *    display array\\n\\t\\t *  @param {int} end Index for the current display ending point in the\\n\\t\\t *    display array\\n\\t\\t *  @param {array int} display Index array to translate the visual position\\n\\t\\t *    to the full data array\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.headerCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"fheaderCallback\\\": function( head, data, start, end, display ) {\\n\\t\\t *          head.getElementsByTagName('th')[0].innerHTML = \\\"Displaying \\\"+(end-start)+\\\" records\\\";\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"fnHeaderCallback\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * The information element can be used to convey information about the current\\n\\t\\t * state of the table. Although the internationalisation options presented by\\n\\t\\t * DataTables are quite capable of dealing with most customisations, there may\\n\\t\\t * be times where you wish to customise the string further. This callback\\n\\t\\t * allows you to do exactly that.\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} oSettings DataTables settings object\\n\\t\\t *  @param {int} start Starting position in data for the draw\\n\\t\\t *  @param {int} end End position in data for the draw\\n\\t\\t *  @param {int} max Total number of rows in the table (regardless of\\n\\t\\t *    filtering)\\n\\t\\t *  @param {int} total Total number of rows in the data set, after filtering\\n\\t\\t *  @param {string} pre The string that DataTables has formatted using it's\\n\\t\\t *    own rules\\n\\t\\t *  @returns {string} The string to be displayed in the information element.\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.infoCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $('#example').dataTable( {\\n\\t\\t *      \\\"infoCallback\\\": function( settings, start, end, max, total, pre ) {\\n\\t\\t *        return start +\\\" to \\\"+ end;\\n\\t\\t *      }\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnInfoCallback\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Called when the table has been initialised. Normally DataTables will\\n\\t\\t * initialise sequentially and there will be no need for this function,\\n\\t\\t * however, this does not hold true when using external language information\\n\\t\\t * since that is obtained using an async XHR call.\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @param {object} json The JSON object request from the server - only\\n\\t\\t *    present if client-side Ajax sourced data is used\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.initComplete\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"initComplete\\\": function(settings, json) {\\n\\t\\t *          alert( 'DataTables has finished its initialisation.' );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"fnInitComplete\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Called at the very start of each table draw and can be used to cancel the\\n\\t\\t * draw by returning false, any other return (including undefined) results in\\n\\t\\t * the full draw occurring).\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @returns {boolean} False will cancel the draw, anything else (including no\\n\\t\\t *    return) will allow it to complete.\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.preDrawCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"preDrawCallback\\\": function( settings ) {\\n\\t\\t *          if ( $('#test').val() == 1 ) {\\n\\t\\t *            return false;\\n\\t\\t *          }\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnPreDrawCallback\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This function allows you to 'post process' each row after it have been\\n\\t\\t * generated for each table draw, but before it is rendered on screen. This\\n\\t\\t * function might be used for setting the row class name etc.\\n\\t\\t *  @type function\\n\\t\\t *  @param {node} row \\\"TR\\\" element for the current row\\n\\t\\t *  @param {array} data Raw data array for this row\\n\\t\\t *  @param {int} displayIndex The display index for the current table draw\\n\\t\\t *  @param {int} displayIndexFull The index of the data in the full list of\\n\\t\\t *    rows (after filtering)\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.rowCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"rowCallback\\\": function( row, data, displayIndex, displayIndexFull ) {\\n\\t\\t *          // Bold the grade for all 'A' grade browsers\\n\\t\\t *          if ( data[4] == \\\"A\\\" ) {\\n\\t\\t *            $('td:eq(4)', row).html( '<b>A</b>' );\\n\\t\\t *          }\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnRowCallback\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * __Deprecated__ The functionality provided by this parameter has now been\\n\\t\\t * superseded by that provided through `ajax`, which should be used instead.\\n\\t\\t *\\n\\t\\t * This parameter allows you to override the default function which obtains\\n\\t\\t * the data from the server so something more suitable for your application.\\n\\t\\t * For example you could use POST data, or pull information from a Gears or\\n\\t\\t * AIR database.\\n\\t\\t *  @type function\\n\\t\\t *  @member\\n\\t\\t *  @param {string} source HTTP source to obtain the data from (`ajax`)\\n\\t\\t *  @param {array} data A key/value pair object containing the data to send\\n\\t\\t *    to the server\\n\\t\\t *  @param {function} callback to be called on completion of the data get\\n\\t\\t *    process that will draw the data on the page.\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @dtopt Server-side\\n\\t\\t *  @name DataTable.defaults.serverData\\n\\t\\t *\\n\\t\\t *  @deprecated 1.10. Please use `ajax` for this functionality now.\\n\\t\\t */\\n\\t\\t\\\"fnServerData\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * __Deprecated__ The functionality provided by this parameter has now been\\n\\t\\t * superseded by that provided through `ajax`, which should be used instead.\\n\\t\\t *\\n\\t\\t *  It is often useful to send extra data to the server when making an Ajax\\n\\t\\t * request - for example custom filtering information, and this callback\\n\\t\\t * function makes it trivial to send extra information to the server. The\\n\\t\\t * passed in parameter is the data set that has been constructed by\\n\\t\\t * DataTables, and you can add to this or modify it as you require.\\n\\t\\t *  @type function\\n\\t\\t *  @param {array} data Data array (array of objects which are name/value\\n\\t\\t *    pairs) that has been constructed by DataTables and will be sent to the\\n\\t\\t *    server. In the case of Ajax sourced data with server-side processing\\n\\t\\t *    this will be an empty array, for server-side processing there will be a\\n\\t\\t *    significant number of parameters!\\n\\t\\t *  @returns {undefined} Ensure that you modify the data array passed in,\\n\\t\\t *    as this is passed by reference.\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @dtopt Server-side\\n\\t\\t *  @name DataTable.defaults.serverParams\\n\\t\\t *\\n\\t\\t *  @deprecated 1.10. Please use `ajax` for this functionality now.\\n\\t\\t */\\n\\t\\t\\\"fnServerParams\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Load the table state. With this function you can define from where, and how, the\\n\\t\\t * state of a table is loaded. By default DataTables will load from `localStorage`\\n\\t\\t * but you might wish to use a server-side database or cookies.\\n\\t\\t *  @type function\\n\\t\\t *  @member\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @param {object} callback Callback that can be executed when done. It\\n\\t\\t *    should be passed the loaded state object.\\n\\t\\t *  @return {object} The DataTables state object to be loaded\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.stateLoadCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true,\\n\\t\\t *        \\\"stateLoadCallback\\\": function (settings, callback) {\\n\\t\\t *          $.ajax( {\\n\\t\\t *            \\\"url\\\": \\\"/state_load\\\",\\n\\t\\t *            \\\"dataType\\\": \\\"json\\\",\\n\\t\\t *            \\\"success\\\": function (json) {\\n\\t\\t *              callback( json );\\n\\t\\t *            }\\n\\t\\t *          } );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnStateLoadCallback\\\": function ( settings ) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\treturn JSON.parse(\\n\\t\\t\\t\\t\\t(settings.iStateDuration === -1 ? sessionStorage : localStorage).getItem(\\n\\t\\t\\t\\t\\t\\t'DataTables_'+settings.sInstance+'_'+location.pathname\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t);\\n\\t\\t\\t} catch (e) {}\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback which allows modification of the saved state prior to loading that state.\\n\\t\\t * This callback is called when the table is loading state from the stored data, but\\n\\t\\t * prior to the settings object being modified by the saved state. Note that for\\n\\t\\t * plug-in authors, you should use the `stateLoadParams` event to load parameters for\\n\\t\\t * a plug-in.\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @param {object} data The state object that is to be loaded\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.stateLoadParams\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Remove a saved filter, so filtering is never loaded\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true,\\n\\t\\t *        \\\"stateLoadParams\\\": function (settings, data) {\\n\\t\\t *          data.oSearch.sSearch = \\\"\\\";\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Disallow state loading by returning false\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true,\\n\\t\\t *        \\\"stateLoadParams\\\": function (settings, data) {\\n\\t\\t *          return false;\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnStateLoadParams\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback that is called when the state has been loaded from the state saving method\\n\\t\\t * and the DataTables settings object has been modified as a result of the loaded state.\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @param {object} data The state object that was loaded\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.stateLoaded\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Show an alert with the filtering value that was saved\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true,\\n\\t\\t *        \\\"stateLoaded\\\": function (settings, data) {\\n\\t\\t *          alert( 'Saved filter was: '+data.oSearch.sSearch );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnStateLoaded\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Save the table state. This function allows you to define where and how the state\\n\\t\\t * information for the table is stored By default DataTables will use `localStorage`\\n\\t\\t * but you might wish to use a server-side database or cookies.\\n\\t\\t *  @type function\\n\\t\\t *  @member\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @param {object} data The state object to be saved\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.stateSaveCallback\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true,\\n\\t\\t *        \\\"stateSaveCallback\\\": function (settings, data) {\\n\\t\\t *          // Send an Ajax request to the server with the state object\\n\\t\\t *          $.ajax( {\\n\\t\\t *            \\\"url\\\": \\\"/state_save\\\",\\n\\t\\t *            \\\"data\\\": data,\\n\\t\\t *            \\\"dataType\\\": \\\"json\\\",\\n\\t\\t *            \\\"method\\\": \\\"POST\\\"\\n\\t\\t *            \\\"success\\\": function () {}\\n\\t\\t *          } );\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnStateSaveCallback\\\": function ( settings, data ) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\t(settings.iStateDuration === -1 ? sessionStorage : localStorage).setItem(\\n\\t\\t\\t\\t\\t'DataTables_'+settings.sInstance+'_'+location.pathname,\\n\\t\\t\\t\\t\\tJSON.stringify( data )\\n\\t\\t\\t\\t);\\n\\t\\t\\t} catch (e) {}\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback which allows modification of the state to be saved. Called when the table\\n\\t\\t * has changed state a new state save is required. This method allows modification of\\n\\t\\t * the state saving object prior to actually doing the save, including addition or\\n\\t\\t * other state properties or modification. Note that for plug-in authors, you should\\n\\t\\t * use the `stateSaveParams` event to save parameters for a plug-in.\\n\\t\\t *  @type function\\n\\t\\t *  @param {object} settings DataTables settings object\\n\\t\\t *  @param {object} data The state object to be saved\\n\\t\\t *\\n\\t\\t *  @dtopt Callbacks\\n\\t\\t *  @name DataTable.defaults.stateSaveParams\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Remove a saved filter, so filtering is never saved\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateSave\\\": true,\\n\\t\\t *        \\\"stateSaveParams\\\": function (settings, data) {\\n\\t\\t *          data.oSearch.sSearch = \\\"\\\";\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnStateSaveParams\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Duration for which the saved state information is considered valid. After this period\\n\\t\\t * has elapsed the state will be returned to the default.\\n\\t\\t * Value is given in seconds.\\n\\t\\t *  @type int\\n\\t\\t *  @default 7200 <i>(2 hours)</i>\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.stateDuration\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"stateDuration\\\": 60*60*24; // 1 day\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"iStateDuration\\\": 7200,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * When enabled DataTables will not make a request to the server for the first\\n\\t\\t * page draw - rather it will use the data already on the page (no sorting etc\\n\\t\\t * will be applied to it), thus saving on an XHR at load time. `deferLoading`\\n\\t\\t * is used to indicate that deferred loading is required, but it is also used\\n\\t\\t * to tell DataTables how many records there are in the full table (allowing\\n\\t\\t * the information element and pagination to be displayed correctly). In the case\\n\\t\\t * where a filtering is applied to the table on initial load, this can be\\n\\t\\t * indicated by giving the parameter as an array, where the first element is\\n\\t\\t * the number of records available after filtering and the second element is the\\n\\t\\t * number of records without filtering (allowing the table information element\\n\\t\\t * to be shown correctly).\\n\\t\\t *  @type int | array\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.deferLoading\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // 57 records available in the table, no filtering applied\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"serverSide\\\": true,\\n\\t\\t *        \\\"ajax\\\": \\\"scripts/server_processing.php\\\",\\n\\t\\t *        \\\"deferLoading\\\": 57\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // 57 records after filtering, 100 without filtering (an initial filter applied)\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"serverSide\\\": true,\\n\\t\\t *        \\\"ajax\\\": \\\"scripts/server_processing.php\\\",\\n\\t\\t *        \\\"deferLoading\\\": [ 57, 100 ],\\n\\t\\t *        \\\"search\\\": {\\n\\t\\t *          \\\"search\\\": \\\"my_filter\\\"\\n\\t\\t *        }\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"iDeferLoading\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Number of rows to display on a single page when using pagination. If\\n\\t\\t * feature enabled (`lengthChange`) then the end user will be able to override\\n\\t\\t * this to a custom setting using a pop-up menu.\\n\\t\\t *  @type int\\n\\t\\t *  @default 10\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.pageLength\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"pageLength\\\": 50\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"iDisplayLength\\\": 10,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Define the starting point for data display when using DataTables with\\n\\t\\t * pagination. Note that this parameter is the number of records, rather than\\n\\t\\t * the page number, so if you have 10 records per page and want to start on\\n\\t\\t * the third page, it should be \\\"20\\\".\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.displayStart\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"displayStart\\\": 20\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"iDisplayStart\\\": 0,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * By default DataTables allows keyboard navigation of the table (sorting, paging,\\n\\t\\t * and filtering) by adding a `tabindex` attribute to the required elements. This\\n\\t\\t * allows you to tab through the controls and press the enter key to activate them.\\n\\t\\t * The tabindex is default 0, meaning that the tab follows the flow of the document.\\n\\t\\t * You can overrule this using this parameter if you wish. Use a value of -1 to\\n\\t\\t * disable built-in keyboard navigation.\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.tabIndex\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"tabIndex\\\": 1\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"iTabIndex\\\": 0,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Classes that DataTables assigns to the various components and features\\n\\t\\t * that it adds to the HTML table. This allows classes to be configured\\n\\t\\t * during initialisation in addition to through the static\\n\\t\\t * {@link DataTable.ext.oStdClasses} object).\\n\\t\\t *  @namespace\\n\\t\\t *  @name DataTable.defaults.classes\\n\\t\\t */\\n\\t\\t\\\"oClasses\\\": {},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * All strings that DataTables uses in the user interface that it creates\\n\\t\\t * are defined in this object, allowing you to modified them individually or\\n\\t\\t * completely replace them all as required.\\n\\t\\t *  @namespace\\n\\t\\t *  @name DataTable.defaults.language\\n\\t\\t */\\n\\t\\t\\\"oLanguage\\\": {\\n\\t\\t\\t/**\\n\\t\\t\\t * Strings that are used for WAI-ARIA labels and controls only (these are not\\n\\t\\t\\t * actually visible on the page, but will be read by screenreaders, and thus\\n\\t\\t\\t * must be internationalised as well).\\n\\t\\t\\t *  @namespace\\n\\t\\t\\t *  @name DataTable.defaults.language.aria\\n\\t\\t\\t */\\n\\t\\t\\t\\\"oAria\\\": {\\n\\t\\t\\t\\t/**\\n\\t\\t\\t\\t * ARIA label that is added to the table headers when the column may be\\n\\t\\t\\t\\t * sorted ascending by activing the column (click or return when focused).\\n\\t\\t\\t\\t * Note that the column header is prefixed to this string.\\n\\t\\t\\t\\t *  @type string\\n\\t\\t\\t\\t *  @default : activate to sort column ascending\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t\\t *  @name DataTable.defaults.language.aria.sortAscending\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @example\\n\\t\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t\\t *          \\\"aria\\\": {\\n\\t\\t\\t\\t *            \\\"sortAscending\\\": \\\" - click/return to sort ascending\\\"\\n\\t\\t\\t\\t *          }\\n\\t\\t\\t\\t *        }\\n\\t\\t\\t\\t *      } );\\n\\t\\t\\t\\t *    } );\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\\"sSortAscending\\\": \\\": activate to sort column ascending\\\",\\n\\t\\n\\t\\t\\t\\t/**\\n\\t\\t\\t\\t * ARIA label that is added to the table headers when the column may be\\n\\t\\t\\t\\t * sorted descending by activing the column (click or return when focused).\\n\\t\\t\\t\\t * Note that the column header is prefixed to this string.\\n\\t\\t\\t\\t *  @type string\\n\\t\\t\\t\\t *  @default : activate to sort column ascending\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t\\t *  @name DataTable.defaults.language.aria.sortDescending\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @example\\n\\t\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t\\t *          \\\"aria\\\": {\\n\\t\\t\\t\\t *            \\\"sortDescending\\\": \\\" - click/return to sort descending\\\"\\n\\t\\t\\t\\t *          }\\n\\t\\t\\t\\t *        }\\n\\t\\t\\t\\t *      } );\\n\\t\\t\\t\\t *    } );\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\\"sSortDescending\\\": \\\": activate to sort column descending\\\"\\n\\t\\t\\t},\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Pagination string used by DataTables for the built-in pagination\\n\\t\\t\\t * control types.\\n\\t\\t\\t *  @namespace\\n\\t\\t\\t *  @name DataTable.defaults.language.paginate\\n\\t\\t\\t */\\n\\t\\t\\t\\\"oPaginate\\\": {\\n\\t\\t\\t\\t/**\\n\\t\\t\\t\\t * Text to use when using the 'full_numbers' type of pagination for the\\n\\t\\t\\t\\t * button to take the user to the first page.\\n\\t\\t\\t\\t *  @type string\\n\\t\\t\\t\\t *  @default First\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t\\t *  @name DataTable.defaults.language.paginate.first\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @example\\n\\t\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t\\t *          \\\"paginate\\\": {\\n\\t\\t\\t\\t *            \\\"first\\\": \\\"First page\\\"\\n\\t\\t\\t\\t *          }\\n\\t\\t\\t\\t *        }\\n\\t\\t\\t\\t *      } );\\n\\t\\t\\t\\t *    } );\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\\"sFirst\\\": \\\"First\\\",\\n\\t\\n\\t\\n\\t\\t\\t\\t/**\\n\\t\\t\\t\\t * Text to use when using the 'full_numbers' type of pagination for the\\n\\t\\t\\t\\t * button to take the user to the last page.\\n\\t\\t\\t\\t *  @type string\\n\\t\\t\\t\\t *  @default Last\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t\\t *  @name DataTable.defaults.language.paginate.last\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @example\\n\\t\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t\\t *          \\\"paginate\\\": {\\n\\t\\t\\t\\t *            \\\"last\\\": \\\"Last page\\\"\\n\\t\\t\\t\\t *          }\\n\\t\\t\\t\\t *        }\\n\\t\\t\\t\\t *      } );\\n\\t\\t\\t\\t *    } );\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\\"sLast\\\": \\\"Last\\\",\\n\\t\\n\\t\\n\\t\\t\\t\\t/**\\n\\t\\t\\t\\t * Text to use for the 'next' pagination button (to take the user to the\\n\\t\\t\\t\\t * next page).\\n\\t\\t\\t\\t *  @type string\\n\\t\\t\\t\\t *  @default Next\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t\\t *  @name DataTable.defaults.language.paginate.next\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @example\\n\\t\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t\\t *          \\\"paginate\\\": {\\n\\t\\t\\t\\t *            \\\"next\\\": \\\"Next page\\\"\\n\\t\\t\\t\\t *          }\\n\\t\\t\\t\\t *        }\\n\\t\\t\\t\\t *      } );\\n\\t\\t\\t\\t *    } );\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\\"sNext\\\": \\\"Next\\\",\\n\\t\\n\\t\\n\\t\\t\\t\\t/**\\n\\t\\t\\t\\t * Text to use for the 'previous' pagination button (to take the user to\\n\\t\\t\\t\\t * the previous page).\\n\\t\\t\\t\\t *  @type string\\n\\t\\t\\t\\t *  @default Previous\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t\\t *  @name DataTable.defaults.language.paginate.previous\\n\\t\\t\\t\\t *\\n\\t\\t\\t\\t *  @example\\n\\t\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t\\t *          \\\"paginate\\\": {\\n\\t\\t\\t\\t *            \\\"previous\\\": \\\"Previous page\\\"\\n\\t\\t\\t\\t *          }\\n\\t\\t\\t\\t *        }\\n\\t\\t\\t\\t *      } );\\n\\t\\t\\t\\t *    } );\\n\\t\\t\\t\\t */\\n\\t\\t\\t\\t\\\"sPrevious\\\": \\\"Previous\\\"\\n\\t\\t\\t},\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * This string is shown in preference to `zeroRecords` when the table is\\n\\t\\t\\t * empty of data (regardless of filtering). Note that this is an optional\\n\\t\\t\\t * parameter - if it is not given, the value of `zeroRecords` will be used\\n\\t\\t\\t * instead (either the default or given value).\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default No data available in table\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.emptyTable\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"emptyTable\\\": \\\"No data available in table\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sEmptyTable\\\": \\\"No data available in table\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * This string gives information to the end user about the information\\n\\t\\t\\t * that is current on display on the page. The following tokens can be\\n\\t\\t\\t * used in the string and will be dynamically replaced as the table\\n\\t\\t\\t * display updates. This tokens can be placed anywhere in the string, or\\n\\t\\t\\t * removed as needed by the language requires:\\n\\t\\t\\t *\\n\\t\\t\\t * * `\\\\_START\\\\_` - Display index of the first record on the current page\\n\\t\\t\\t * * `\\\\_END\\\\_` - Display index of the last record on the current page\\n\\t\\t\\t * * `\\\\_TOTAL\\\\_` - Number of records in the table after filtering\\n\\t\\t\\t * * `\\\\_MAX\\\\_` - Number of records in the table without filtering\\n\\t\\t\\t * * `\\\\_PAGE\\\\_` - Current page number\\n\\t\\t\\t * * `\\\\_PAGES\\\\_` - Total number of pages of data in the table\\n\\t\\t\\t *\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default Showing _START_ to _END_ of _TOTAL_ entries\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.info\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"info\\\": \\\"Showing page _PAGE_ of _PAGES_\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sInfo\\\": \\\"Showing _START_ to _END_ of _TOTAL_ entries\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Display information string for when the table is empty. Typically the\\n\\t\\t\\t * format of this string should match `info`.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default Showing 0 to 0 of 0 entries\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.infoEmpty\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"infoEmpty\\\": \\\"No entries to show\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sInfoEmpty\\\": \\\"Showing 0 to 0 of 0 entries\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * When a user filters the information in a table, this string is appended\\n\\t\\t\\t * to the information (`info`) to give an idea of how strong the filtering\\n\\t\\t\\t * is. The variable _MAX_ is dynamically updated.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default (filtered from _MAX_ total entries)\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.infoFiltered\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"infoFiltered\\\": \\\" - filtering from _MAX_ records\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sInfoFiltered\\\": \\\"(filtered from _MAX_ total entries)\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * If can be useful to append extra information to the info string at times,\\n\\t\\t\\t * and this variable does exactly that. This information will be appended to\\n\\t\\t\\t * the `info` (`infoEmpty` and `infoFiltered` in whatever combination they are\\n\\t\\t\\t * being used) at all times.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default <i>Empty string</i>\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.infoPostFix\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"infoPostFix\\\": \\\"All records shown are derived from real information.\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sInfoPostFix\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * This decimal place operator is a little different from the other\\n\\t\\t\\t * language options since DataTables doesn't output floating point\\n\\t\\t\\t * numbers, so it won't ever use this for display of a number. Rather,\\n\\t\\t\\t * what this parameter does is modify the sort methods of the table so\\n\\t\\t\\t * that numbers which are in a format which has a character other than\\n\\t\\t\\t * a period (`.`) as a decimal place will be sorted numerically.\\n\\t\\t\\t *\\n\\t\\t\\t * Note that numbers with different decimal places cannot be shown in\\n\\t\\t\\t * the same table and still be sortable, the table must be consistent.\\n\\t\\t\\t * However, multiple different tables on the page can use different\\n\\t\\t\\t * decimal place characters.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default \\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.decimal\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"decimal\\\": \\\",\\\"\\n\\t\\t\\t *          \\\"thousands\\\": \\\".\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sDecimal\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * DataTables has a build in number formatter (`formatNumber`) which is\\n\\t\\t\\t * used to format large numbers that are used in the table information.\\n\\t\\t\\t * By default a comma is used, but this can be trivially changed to any\\n\\t\\t\\t * character you wish with this parameter.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default ,\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.thousands\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"thousands\\\": \\\"'\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sThousands\\\": \\\",\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Detail the action that will be taken when the drop down menu for the\\n\\t\\t\\t * pagination length option is changed. The '_MENU_' variable is replaced\\n\\t\\t\\t * with a default select list of 10, 25, 50 and 100, and can be replaced\\n\\t\\t\\t * with a custom select box if required.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default Show _MENU_ entries\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.lengthMenu\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Language change only\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"lengthMenu\\\": \\\"Display _MENU_ records\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Language and options change\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"lengthMenu\\\": 'Display <select>'+\\n\\t\\t\\t *            '<option value=\\\"10\\\">10</option>'+\\n\\t\\t\\t *            '<option value=\\\"20\\\">20</option>'+\\n\\t\\t\\t *            '<option value=\\\"30\\\">30</option>'+\\n\\t\\t\\t *            '<option value=\\\"40\\\">40</option>'+\\n\\t\\t\\t *            '<option value=\\\"50\\\">50</option>'+\\n\\t\\t\\t *            '<option value=\\\"-1\\\">All</option>'+\\n\\t\\t\\t *            '</select> records'\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sLengthMenu\\\": \\\"Show _MENU_ entries\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * When using Ajax sourced data and during the first draw when DataTables is\\n\\t\\t\\t * gathering the data, this message is shown in an empty row in the table to\\n\\t\\t\\t * indicate to the end user the the data is being loaded. Note that this\\n\\t\\t\\t * parameter is not used when loading data by server-side processing, just\\n\\t\\t\\t * Ajax sourced data with client-side processing.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default Loading...\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.loadingRecords\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"loadingRecords\\\": \\\"Please wait - loading...\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sLoadingRecords\\\": \\\"Loading...\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Text which is displayed when the table is processing a user action\\n\\t\\t\\t * (usually a sort command or similar).\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default Processing...\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.processing\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"processing\\\": \\\"DataTables is currently busy\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sProcessing\\\": \\\"Processing...\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Details the actions that will be taken when the user types into the\\n\\t\\t\\t * filtering input text box. The variable \\\"_INPUT_\\\", if used in the string,\\n\\t\\t\\t * is replaced with the HTML text box for the filtering input allowing\\n\\t\\t\\t * control over where it appears in the string. If \\\"_INPUT_\\\" is not given\\n\\t\\t\\t * then the input box is appended to the string automatically.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default Search:\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.search\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Input text box will be appended at the end automatically\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"search\\\": \\\"Filter records:\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Specify where the filter should appear\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"search\\\": \\\"Apply filter _INPUT_ to table\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sSearch\\\": \\\"Search:\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Assign a `placeholder` attribute to the search `input` element\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default \\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.searchPlaceholder\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sSearchPlaceholder\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * All of the language information can be stored in a file on the\\n\\t\\t\\t * server-side, which DataTables will look up if this parameter is passed.\\n\\t\\t\\t * It must store the URL of the language file, which is in a JSON format,\\n\\t\\t\\t * and the object has the same properties as the oLanguage object in the\\n\\t\\t\\t * initialiser object (i.e. the above parameters). Please refer to one of\\n\\t\\t\\t * the example language files to see how this works in action.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default <i>Empty string - i.e. disabled</i>\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.url\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"url\\\": \\\"http://www.sprymedia.co.uk/dataTables/lang.txt\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sUrl\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Text shown inside the table records when the is no information to be\\n\\t\\t\\t * displayed after filtering. `emptyTable` is shown when there is simply no\\n\\t\\t\\t * information in the table at all (regardless of filtering).\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @default No matching records found\\n\\t\\t\\t *\\n\\t\\t\\t *  @dtopt Language\\n\\t\\t\\t *  @name DataTable.defaults.language.zeroRecords\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $(document).ready( function() {\\n\\t\\t\\t *      $('#example').dataTable( {\\n\\t\\t\\t *        \\\"language\\\": {\\n\\t\\t\\t *          \\\"zeroRecords\\\": \\\"No records to display\\\"\\n\\t\\t\\t *        }\\n\\t\\t\\t *      } );\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sZeroRecords\\\": \\\"No matching records found\\\"\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This parameter allows you to have define the global filtering state at\\n\\t\\t * initialisation time. As an object the `search` parameter must be\\n\\t\\t * defined, but all other parameters are optional. When `regex` is true,\\n\\t\\t * the search string will be treated as a regular expression, when false\\n\\t\\t * (default) it will be treated as a straight string. When `smart`\\n\\t\\t * DataTables will use it's smart filtering methods (to word match at\\n\\t\\t * any point in the data), when false this will not be done.\\n\\t\\t *  @namespace\\n\\t\\t *  @extends DataTable.models.oSearch\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.search\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"search\\\": {\\\"search\\\": \\\"Initial search\\\"}\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"oSearch\\\": $.extend( {}, DataTable.models.oSearch ),\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * __Deprecated__ The functionality provided by this parameter has now been\\n\\t\\t * superseded by that provided through `ajax`, which should be used instead.\\n\\t\\t *\\n\\t\\t * By default DataTables will look for the property `data` (or `aaData` for\\n\\t\\t * compatibility with DataTables 1.9-) when obtaining data from an Ajax\\n\\t\\t * source or for server-side processing - this parameter allows that\\n\\t\\t * property to be changed. You can use Javascript dotted object notation to\\n\\t\\t * get a data source for multiple levels of nesting.\\n\\t\\t *  @type string\\n\\t\\t *  @default data\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @dtopt Server-side\\n\\t\\t *  @name DataTable.defaults.ajaxDataProp\\n\\t\\t *\\n\\t\\t *  @deprecated 1.10. Please use `ajax` for this functionality now.\\n\\t\\t */\\n\\t\\t\\\"sAjaxDataProp\\\": \\\"data\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * __Deprecated__ The functionality provided by this parameter has now been\\n\\t\\t * superseded by that provided through `ajax`, which should be used instead.\\n\\t\\t *\\n\\t\\t * You can instruct DataTables to load data from an external\\n\\t\\t * source using this parameter (use aData if you want to pass data in you\\n\\t\\t * already have). Simply provide a url a JSON object can be obtained from.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @dtopt Server-side\\n\\t\\t *  @name DataTable.defaults.ajaxSource\\n\\t\\t *\\n\\t\\t *  @deprecated 1.10. Please use `ajax` for this functionality now.\\n\\t\\t */\\n\\t\\t\\\"sAjaxSource\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This initialisation variable allows you to specify exactly where in the\\n\\t\\t * DOM you want DataTables to inject the various controls it adds to the page\\n\\t\\t * (for example you might want the pagination controls at the top of the\\n\\t\\t * table). DIV elements (with or without a custom class) can also be added to\\n\\t\\t * aid styling. The follow syntax is used:\\n\\t\\t *   <ul>\\n\\t\\t *     <li>The following options are allowed:\\n\\t\\t *       <ul>\\n\\t\\t *         <li>'l' - Length changing</li>\\n\\t\\t *         <li>'f' - Filtering input</li>\\n\\t\\t *         <li>'t' - The table!</li>\\n\\t\\t *         <li>'i' - Information</li>\\n\\t\\t *         <li>'p' - Pagination</li>\\n\\t\\t *         <li>'r' - pRocessing</li>\\n\\t\\t *       </ul>\\n\\t\\t *     </li>\\n\\t\\t *     <li>The following constants are allowed:\\n\\t\\t *       <ul>\\n\\t\\t *         <li>'H' - jQueryUI theme \\\"header\\\" classes ('fg-toolbar ui-widget-header ui-corner-tl ui-corner-tr ui-helper-clearfix')</li>\\n\\t\\t *         <li>'F' - jQueryUI theme \\\"footer\\\" classes ('fg-toolbar ui-widget-header ui-corner-bl ui-corner-br ui-helper-clearfix')</li>\\n\\t\\t *       </ul>\\n\\t\\t *     </li>\\n\\t\\t *     <li>The following syntax is expected:\\n\\t\\t *       <ul>\\n\\t\\t *         <li>'&lt;' and '&gt;' - div elements</li>\\n\\t\\t *         <li>'&lt;\\\"class\\\" and '&gt;' - div with a class</li>\\n\\t\\t *         <li>'&lt;\\\"#id\\\" and '&gt;' - div with an ID</li>\\n\\t\\t *       </ul>\\n\\t\\t *     </li>\\n\\t\\t *     <li>Examples:\\n\\t\\t *       <ul>\\n\\t\\t *         <li>'&lt;\\\"wrapper\\\"flipt&gt;'</li>\\n\\t\\t *         <li>'&lt;lf&lt;t&gt;ip&gt;'</li>\\n\\t\\t *       </ul>\\n\\t\\t *     </li>\\n\\t\\t *   </ul>\\n\\t\\t *  @type string\\n\\t\\t *  @default lfrtip <i>(when `jQueryUI` is false)</i> <b>or</b>\\n\\t\\t *    <\\\"H\\\"lfr>t<\\\"F\\\"ip> <i>(when `jQueryUI` is true)</i>\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.dom\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"dom\\\": '&lt;\\\"top\\\"i&gt;rt&lt;\\\"bottom\\\"flp&gt;&lt;\\\"clear\\\"&gt;'\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sDom\\\": \\\"lfrtip\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Search delay option. This will throttle full table searches that use the\\n\\t\\t * DataTables provided search input element (it does not effect calls to\\n\\t\\t * `dt-api search()`, providing a delay before the search is made.\\n\\t\\t *  @type integer\\n\\t\\t *  @default 0\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.searchDelay\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"searchDelay\\\": 200\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"searchDelay\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * DataTables features six different built-in options for the buttons to\\n\\t\\t * display for pagination control:\\n\\t\\t *\\n\\t\\t * * `numbers` - Page number buttons only\\n\\t\\t * * `simple` - 'Previous' and 'Next' buttons only\\n\\t\\t * * 'simple_numbers` - 'Previous' and 'Next' buttons, plus page numbers\\n\\t\\t * * `full` - 'First', 'Previous', 'Next' and 'Last' buttons\\n\\t\\t * * `full_numbers` - 'First', 'Previous', 'Next' and 'Last' buttons, plus page numbers\\n\\t\\t * * `first_last_numbers` - 'First' and 'Last' buttons, plus page numbers\\n\\t\\t *  \\n\\t\\t * Further methods can be added using {@link DataTable.ext.oPagination}.\\n\\t\\t *  @type string\\n\\t\\t *  @default simple_numbers\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.pagingType\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"pagingType\\\": \\\"full_numbers\\\"\\n\\t\\t *      } );\\n\\t\\t *    } )\\n\\t\\t */\\n\\t\\t\\\"sPaginationType\\\": \\\"simple_numbers\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable horizontal scrolling. When a table is too wide to fit into a\\n\\t\\t * certain layout, or you have a large number of columns in the table, you\\n\\t\\t * can enable x-scrolling to show the table in a viewport, which can be\\n\\t\\t * scrolled. This property can be `true` which will allow the table to\\n\\t\\t * scroll horizontally when needed, or any CSS unit, or a number (in which\\n\\t\\t * case it will be treated as a pixel measurement). Setting as simply `true`\\n\\t\\t * is recommended.\\n\\t\\t *  @type boolean|string\\n\\t\\t *  @default <i>blank string - i.e. disabled</i>\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.scrollX\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"scrollX\\\": true,\\n\\t\\t *        \\\"scrollCollapse\\\": true\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sScrollX\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This property can be used to force a DataTable to use more width than it\\n\\t\\t * might otherwise do when x-scrolling is enabled. For example if you have a\\n\\t\\t * table which requires to be well spaced, this parameter is useful for\\n\\t\\t * \\\"over-sizing\\\" the table, and thus forcing scrolling. This property can by\\n\\t\\t * any CSS unit, or a number (in which case it will be treated as a pixel\\n\\t\\t * measurement).\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>blank string - i.e. disabled</i>\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @name DataTable.defaults.scrollXInner\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"scrollX\\\": \\\"100%\\\",\\n\\t\\t *        \\\"scrollXInner\\\": \\\"110%\\\"\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sScrollXInner\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable vertical scrolling. Vertical scrolling will constrain the DataTable\\n\\t\\t * to the given height, and enable scrolling for any data which overflows the\\n\\t\\t * current viewport. This can be used as an alternative to paging to display\\n\\t\\t * a lot of data in a small area (although paging and scrolling can both be\\n\\t\\t * enabled at the same time). This property can be any CSS unit, or a number\\n\\t\\t * (in which case it will be treated as a pixel measurement).\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>blank string - i.e. disabled</i>\\n\\t\\t *\\n\\t\\t *  @dtopt Features\\n\\t\\t *  @name DataTable.defaults.scrollY\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"scrollY\\\": \\\"200px\\\",\\n\\t\\t *        \\\"paginate\\\": false\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sScrollY\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * __Deprecated__ The functionality provided by this parameter has now been\\n\\t\\t * superseded by that provided through `ajax`, which should be used instead.\\n\\t\\t *\\n\\t\\t * Set the HTTP method that is used to make the Ajax call for server-side\\n\\t\\t * processing or Ajax sourced data.\\n\\t\\t *  @type string\\n\\t\\t *  @default GET\\n\\t\\t *\\n\\t\\t *  @dtopt Options\\n\\t\\t *  @dtopt Server-side\\n\\t\\t *  @name DataTable.defaults.serverMethod\\n\\t\\t *\\n\\t\\t *  @deprecated 1.10. Please use `ajax` for this functionality now.\\n\\t\\t */\\n\\t\\t\\\"sServerMethod\\\": \\\"GET\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * DataTables makes use of renderers when displaying HTML elements for\\n\\t\\t * a table. These renderers can be added or modified by plug-ins to\\n\\t\\t * generate suitable mark-up for a site. For example the Bootstrap\\n\\t\\t * integration plug-in for DataTables uses a paging button renderer to\\n\\t\\t * display pagination buttons in the mark-up required by Bootstrap.\\n\\t\\t *\\n\\t\\t * For further information about the renderers available see\\n\\t\\t * DataTable.ext.renderer\\n\\t\\t *  @type string|object\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.renderer\\n\\t\\t *\\n\\t\\t */\\n\\t\\t\\\"renderer\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Set the data property name that DataTables should use to get a row's id\\n\\t\\t * to set as the `id` property in the node.\\n\\t\\t *  @type string\\n\\t\\t *  @default DT_RowId\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.rowId\\n\\t\\t */\\n\\t\\t\\\"rowId\\\": \\\"DT_RowId\\\"\\n\\t};\\n\\t\\n\\t_fnHungarianMap( DataTable.defaults );\\n\\t\\n\\t\\n\\t\\n\\t/*\\n\\t * Developer note - See note in model.defaults.js about the use of Hungarian\\n\\t * notation and camel case.\\n\\t */\\n\\t\\n\\t/**\\n\\t * Column options that can be given to DataTables at initialisation time.\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.defaults.column = {\\n\\t\\t/**\\n\\t\\t * Define which column(s) an order will occur on for this column. This\\n\\t\\t * allows a column's ordering to take multiple columns into account when\\n\\t\\t * doing a sort or use the data from a different column. For example first\\n\\t\\t * name / last name columns make sense to do a multi-column sort over the\\n\\t\\t * two columns.\\n\\t\\t *  @type array|int\\n\\t\\t *  @default null <i>Takes the value of the column index automatically</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.orderData\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"orderData\\\": [ 0, 1 ], \\\"targets\\\": [ 0 ] },\\n\\t\\t *          { \\\"orderData\\\": [ 1, 0 ], \\\"targets\\\": [ 1 ] },\\n\\t\\t *          { \\\"orderData\\\": 2, \\\"targets\\\": [ 2 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"orderData\\\": [ 0, 1 ] },\\n\\t\\t *          { \\\"orderData\\\": [ 1, 0 ] },\\n\\t\\t *          { \\\"orderData\\\": 2 },\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"aDataSort\\\": null,\\n\\t\\t\\\"iDataSort\\\": -1,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * You can control the default ordering direction, and even alter the\\n\\t\\t * behaviour of the sort handler (i.e. only allow ascending ordering etc)\\n\\t\\t * using this parameter.\\n\\t\\t *  @type array\\n\\t\\t *  @default [ 'asc', 'desc' ]\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.orderSequence\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"orderSequence\\\": [ \\\"asc\\\" ], \\\"targets\\\": [ 1 ] },\\n\\t\\t *          { \\\"orderSequence\\\": [ \\\"desc\\\", \\\"asc\\\", \\\"asc\\\" ], \\\"targets\\\": [ 2 ] },\\n\\t\\t *          { \\\"orderSequence\\\": [ \\\"desc\\\" ], \\\"targets\\\": [ 3 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          null,\\n\\t\\t *          { \\\"orderSequence\\\": [ \\\"asc\\\" ] },\\n\\t\\t *          { \\\"orderSequence\\\": [ \\\"desc\\\", \\\"asc\\\", \\\"asc\\\" ] },\\n\\t\\t *          { \\\"orderSequence\\\": [ \\\"desc\\\" ] },\\n\\t\\t *          null\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"asSorting\\\": [ 'asc', 'desc' ],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable filtering on the data in this column.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.searchable\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"searchable\\\": false, \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ] } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"searchable\\\": false },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ] } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bSearchable\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable ordering on this column.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.orderable\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"orderable\\\": false, \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ] } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"orderable\\\": false },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ] } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bSortable\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Enable or disable the display of this column.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.visible\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"visible\\\": false, \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ] } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"visible\\\": false },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ] } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"bVisible\\\": true,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Developer definable function that is called whenever a cell is created (Ajax source,\\n\\t\\t * etc) or processed for input (DOM source). This can be used as a compliment to mRender\\n\\t\\t * allowing you to modify the DOM element (add background colour for example) when the\\n\\t\\t * element is available.\\n\\t\\t *  @type function\\n\\t\\t *  @param {element} td The TD node that has been created\\n\\t\\t *  @param {*} cellData The Data for the cell\\n\\t\\t *  @param {array|object} rowData The data for the whole row\\n\\t\\t *  @param {int} row The row index for the aoData data store\\n\\t\\t *  @param {int} col The column index for aoColumns\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.createdCell\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [3],\\n\\t\\t *          \\\"createdCell\\\": function (td, cellData, rowData, row, col) {\\n\\t\\t *            if ( cellData == \\\"1.7\\\" ) {\\n\\t\\t *              $(td).css('color', 'blue')\\n\\t\\t *            }\\n\\t\\t *          }\\n\\t\\t *        } ]\\n\\t\\t *      });\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"fnCreatedCell\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This parameter has been replaced by `data` in DataTables to ensure naming\\n\\t\\t * consistency. `dataProp` can still be used, as there is backwards\\n\\t\\t * compatibility in DataTables for this option, but it is strongly\\n\\t\\t * recommended that you use `data` in preference to `dataProp`.\\n\\t\\t *  @name DataTable.defaults.column.dataProp\\n\\t\\t */\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This property can be used to read data from any data source property,\\n\\t\\t * including deeply nested objects / properties. `data` can be given in a\\n\\t\\t * number of different ways which effect its behaviour:\\n\\t\\t *\\n\\t\\t * * `integer` - treated as an array index for the data source. This is the\\n\\t\\t *   default that DataTables uses (incrementally increased for each column).\\n\\t\\t * * `string` - read an object property from the data source. There are\\n\\t\\t *   three 'special' options that can be used in the string to alter how\\n\\t\\t *   DataTables reads the data from the source object:\\n\\t\\t *    * `.` - Dotted Javascript notation. Just as you use a `.` in\\n\\t\\t *      Javascript to read from nested objects, so to can the options\\n\\t\\t *      specified in `data`. For example: `browser.version` or\\n\\t\\t *      `browser.name`. If your object parameter name contains a period, use\\n\\t\\t *      `\\\\\\\\` to escape it - i.e. `first\\\\\\\\.name`.\\n\\t\\t *    * `[]` - Array notation. DataTables can automatically combine data\\n\\t\\t *      from and array source, joining the data with the characters provided\\n\\t\\t *      between the two brackets. For example: `name[, ]` would provide a\\n\\t\\t *      comma-space separated list from the source array. If no characters\\n\\t\\t *      are provided between the brackets, the original array source is\\n\\t\\t *      returned.\\n\\t\\t *    * `()` - Function notation. Adding `()` to the end of a parameter will\\n\\t\\t *      execute a function of the name given. For example: `browser()` for a\\n\\t\\t *      simple function on the data source, `browser.version()` for a\\n\\t\\t *      function in a nested property or even `browser().version` to get an\\n\\t\\t *      object property if the function called returns an object. Note that\\n\\t\\t *      function notation is recommended for use in `render` rather than\\n\\t\\t *      `data` as it is much simpler to use as a renderer.\\n\\t\\t * * `null` - use the original data source for the row rather than plucking\\n\\t\\t *   data directly from it. This action has effects on two other\\n\\t\\t *   initialisation options:\\n\\t\\t *    * `defaultContent` - When null is given as the `data` option and\\n\\t\\t *      `defaultContent` is specified for the column, the value defined by\\n\\t\\t *      `defaultContent` will be used for the cell.\\n\\t\\t *    * `render` - When null is used for the `data` option and the `render`\\n\\t\\t *      option is specified for the column, the whole data source for the\\n\\t\\t *      row is used for the renderer.\\n\\t\\t * * `function` - the function given will be executed whenever DataTables\\n\\t\\t *   needs to set or get the data for a cell in the column. The function\\n\\t\\t *   takes three parameters:\\n\\t\\t *    * Parameters:\\n\\t\\t *      * `{array|object}` The data source for the row\\n\\t\\t *      * `{string}` The type call data requested - this will be 'set' when\\n\\t\\t *        setting data or 'filter', 'display', 'type', 'sort' or undefined\\n\\t\\t *        when gathering data. Note that when `undefined` is given for the\\n\\t\\t *        type DataTables expects to get the raw data for the object back<\\n\\t\\t *      * `{*}` Data to set when the second parameter is 'set'.\\n\\t\\t *    * Return:\\n\\t\\t *      * The return value from the function is not required when 'set' is\\n\\t\\t *        the type of call, but otherwise the return is what will be used\\n\\t\\t *        for the data requested.\\n\\t\\t *\\n\\t\\t * Note that `data` is a getter and setter option. If you just require\\n\\t\\t * formatting of data for output, you will likely want to use `render` which\\n\\t\\t * is simply a getter and thus simpler to use.\\n\\t\\t *\\n\\t\\t * Note that prior to DataTables 1.9.2 `data` was called `mDataProp`. The\\n\\t\\t * name change reflects the flexibility of this property and is consistent\\n\\t\\t * with the naming of mRender. If 'mDataProp' is given, then it will still\\n\\t\\t * be used by DataTables, as it automatically maps the old name to the new\\n\\t\\t * if required.\\n\\t\\t *\\n\\t\\t *  @type string|int|function|null\\n\\t\\t *  @default null <i>Use automatically calculated column index</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.data\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Read table data from objects\\n\\t\\t *    // JSON structure for each row:\\n\\t\\t *    //   {\\n\\t\\t *    //      \\\"engine\\\": {value},\\n\\t\\t *    //      \\\"browser\\\": {value},\\n\\t\\t *    //      \\\"platform\\\": {value},\\n\\t\\t *    //      \\\"version\\\": {value},\\n\\t\\t *    //      \\\"grade\\\": {value}\\n\\t\\t *    //   }\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"ajaxSource\\\": \\\"sources/objects.txt\\\",\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"data\\\": \\\"engine\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"browser\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"platform\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"version\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"grade\\\" }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Read information from deeply nested objects\\n\\t\\t *    // JSON structure for each row:\\n\\t\\t *    //   {\\n\\t\\t *    //      \\\"engine\\\": {value},\\n\\t\\t *    //      \\\"browser\\\": {value},\\n\\t\\t *    //      \\\"platform\\\": {\\n\\t\\t *    //         \\\"inner\\\": {value}\\n\\t\\t *    //      },\\n\\t\\t *    //      \\\"details\\\": [\\n\\t\\t *    //         {value}, {value}\\n\\t\\t *    //      ]\\n\\t\\t *    //   }\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"ajaxSource\\\": \\\"sources/deep.txt\\\",\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"data\\\": \\\"engine\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"browser\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"platform.inner\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"details.0\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"details.1\\\" }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `data` as a function to provide different information for\\n\\t\\t *    // sorting, filtering and display. In this case, currency (price)\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"data\\\": function ( source, type, val ) {\\n\\t\\t *            if (type === 'set') {\\n\\t\\t *              source.price = val;\\n\\t\\t *              // Store the computed dislay and filter values for efficiency\\n\\t\\t *              source.price_display = val==\\\"\\\" ? \\\"\\\" : \\\"$\\\"+numberFormat(val);\\n\\t\\t *              source.price_filter  = val==\\\"\\\" ? \\\"\\\" : \\\"$\\\"+numberFormat(val)+\\\" \\\"+val;\\n\\t\\t *              return;\\n\\t\\t *            }\\n\\t\\t *            else if (type === 'display') {\\n\\t\\t *              return source.price_display;\\n\\t\\t *            }\\n\\t\\t *            else if (type === 'filter') {\\n\\t\\t *              return source.price_filter;\\n\\t\\t *            }\\n\\t\\t *            // 'sort', 'type' and undefined all just use the integer\\n\\t\\t *            return source.price;\\n\\t\\t *          }\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using default content\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"data\\\": null,\\n\\t\\t *          \\\"defaultContent\\\": \\\"Click to edit\\\"\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using array notation - outputting a list from an array\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"data\\\": \\\"name[, ]\\\"\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t */\\n\\t\\t\\\"mData\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This property is the rendering partner to `data` and it is suggested that\\n\\t\\t * when you want to manipulate data for display (including filtering,\\n\\t\\t * sorting etc) without altering the underlying data for the table, use this\\n\\t\\t * property. `render` can be considered to be the the read only companion to\\n\\t\\t * `data` which is read / write (then as such more complex). Like `data`\\n\\t\\t * this option can be given in a number of different ways to effect its\\n\\t\\t * behaviour:\\n\\t\\t *\\n\\t\\t * * `integer` - treated as an array index for the data source. This is the\\n\\t\\t *   default that DataTables uses (incrementally increased for each column).\\n\\t\\t * * `string` - read an object property from the data source. There are\\n\\t\\t *   three 'special' options that can be used in the string to alter how\\n\\t\\t *   DataTables reads the data from the source object:\\n\\t\\t *    * `.` - Dotted Javascript notation. Just as you use a `.` in\\n\\t\\t *      Javascript to read from nested objects, so to can the options\\n\\t\\t *      specified in `data`. For example: `browser.version` or\\n\\t\\t *      `browser.name`. If your object parameter name contains a period, use\\n\\t\\t *      `\\\\\\\\` to escape it - i.e. `first\\\\\\\\.name`.\\n\\t\\t *    * `[]` - Array notation. DataTables can automatically combine data\\n\\t\\t *      from and array source, joining the data with the characters provided\\n\\t\\t *      between the two brackets. For example: `name[, ]` would provide a\\n\\t\\t *      comma-space separated list from the source array. If no characters\\n\\t\\t *      are provided between the brackets, the original array source is\\n\\t\\t *      returned.\\n\\t\\t *    * `()` - Function notation. Adding `()` to the end of a parameter will\\n\\t\\t *      execute a function of the name given. For example: `browser()` for a\\n\\t\\t *      simple function on the data source, `browser.version()` for a\\n\\t\\t *      function in a nested property or even `browser().version` to get an\\n\\t\\t *      object property if the function called returns an object.\\n\\t\\t * * `object` - use different data for the different data types requested by\\n\\t\\t *   DataTables ('filter', 'display', 'type' or 'sort'). The property names\\n\\t\\t *   of the object is the data type the property refers to and the value can\\n\\t\\t *   defined using an integer, string or function using the same rules as\\n\\t\\t *   `render` normally does. Note that an `_` option _must_ be specified.\\n\\t\\t *   This is the default value to use if you haven't specified a value for\\n\\t\\t *   the data type requested by DataTables.\\n\\t\\t * * `function` - the function given will be executed whenever DataTables\\n\\t\\t *   needs to set or get the data for a cell in the column. The function\\n\\t\\t *   takes three parameters:\\n\\t\\t *    * Parameters:\\n\\t\\t *      * {array|object} The data source for the row (based on `data`)\\n\\t\\t *      * {string} The type call data requested - this will be 'filter',\\n\\t\\t *        'display', 'type' or 'sort'.\\n\\t\\t *      * {array|object} The full data source for the row (not based on\\n\\t\\t *        `data`)\\n\\t\\t *    * Return:\\n\\t\\t *      * The return value from the function is what will be used for the\\n\\t\\t *        data requested.\\n\\t\\t *\\n\\t\\t *  @type string|int|function|object|null\\n\\t\\t *  @default null Use the data source value.\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.render\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Create a comma separated list from an array of objects\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"ajaxSource\\\": \\\"sources/deep.txt\\\",\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"data\\\": \\\"engine\\\" },\\n\\t\\t *          { \\\"data\\\": \\\"browser\\\" },\\n\\t\\t *          {\\n\\t\\t *            \\\"data\\\": \\\"platform\\\",\\n\\t\\t *            \\\"render\\\": \\\"[, ].name\\\"\\n\\t\\t *          }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Execute a function to obtain data\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"data\\\": null, // Use the full data source object for the renderer's source\\n\\t\\t *          \\\"render\\\": \\\"browserName()\\\"\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // As an object, extracting different data for the different types\\n\\t\\t *    // This would be used with a data source such as:\\n\\t\\t *    //   { \\\"phone\\\": 5552368, \\\"phone_filter\\\": \\\"5552368 555-2368\\\", \\\"phone_display\\\": \\\"555-2368\\\" }\\n\\t\\t *    // Here the `phone` integer is used for sorting and type detection, while `phone_filter`\\n\\t\\t *    // (which has both forms) is used for filtering for if a user inputs either format, while\\n\\t\\t *    // the formatted phone number is the one that is shown in the table.\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"data\\\": null, // Use the full data source object for the renderer's source\\n\\t\\t *          \\\"render\\\": {\\n\\t\\t *            \\\"_\\\": \\\"phone\\\",\\n\\t\\t *            \\\"filter\\\": \\\"phone_filter\\\",\\n\\t\\t *            \\\"display\\\": \\\"phone_display\\\"\\n\\t\\t *          }\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Use as a function to create a link from the data source\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"data\\\": \\\"download_link\\\",\\n\\t\\t *          \\\"render\\\": function ( data, type, full ) {\\n\\t\\t *            return '<a href=\\\"'+data+'\\\">Download</a>';\\n\\t\\t *          }\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"mRender\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Change the cell type created for the column - either TD cells or TH cells. This\\n\\t\\t * can be useful as TH cells have semantic meaning in the table body, allowing them\\n\\t\\t * to act as a header for a row (you may wish to add scope='row' to the TH elements).\\n\\t\\t *  @type string\\n\\t\\t *  @default td\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.cellType\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Make the first column use TH cells\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [ {\\n\\t\\t *          \\\"targets\\\": [ 0 ],\\n\\t\\t *          \\\"cellType\\\": \\\"th\\\"\\n\\t\\t *        } ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sCellType\\\": \\\"td\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Class to give to each cell in this column.\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>Empty string</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.class\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"class\\\": \\\"my_class\\\", \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"class\\\": \\\"my_class\\\" },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sClass\\\": \\\"\\\",\\n\\t\\n\\t\\t/**\\n\\t\\t * When DataTables calculates the column widths to assign to each column,\\n\\t\\t * it finds the longest string in each column and then constructs a\\n\\t\\t * temporary table and reads the widths from that. The problem with this\\n\\t\\t * is that \\\"mmm\\\" is much wider then \\\"iiii\\\", but the latter is a longer\\n\\t\\t * string - thus the calculation can go wrong (doing it properly and putting\\n\\t\\t * it into an DOM object and measuring that is horribly(!) slow). Thus as\\n\\t\\t * a \\\"work around\\\" we provide this option. It will append its value to the\\n\\t\\t * text that is found to be the longest string for the column - i.e. padding.\\n\\t\\t * Generally you shouldn't need this!\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>Empty string<i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.contentPadding\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          {\\n\\t\\t *            \\\"contentPadding\\\": \\\"mmm\\\"\\n\\t\\t *          }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sContentPadding\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Allows a default value to be given for a column's data, and will be used\\n\\t\\t * whenever a null data source is encountered (this can be because `data`\\n\\t\\t * is set to null, or because the data source itself is null).\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.defaultContent\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          {\\n\\t\\t *            \\\"data\\\": null,\\n\\t\\t *            \\\"defaultContent\\\": \\\"Edit\\\",\\n\\t\\t *            \\\"targets\\\": [ -1 ]\\n\\t\\t *          }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          {\\n\\t\\t *            \\\"data\\\": null,\\n\\t\\t *            \\\"defaultContent\\\": \\\"Edit\\\"\\n\\t\\t *          }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sDefaultContent\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * This parameter is only used in DataTables' server-side processing. It can\\n\\t\\t * be exceptionally useful to know what columns are being displayed on the\\n\\t\\t * client side, and to map these to database fields. When defined, the names\\n\\t\\t * also allow DataTables to reorder information from the server if it comes\\n\\t\\t * back in an unexpected order (i.e. if you switch your columns around on the\\n\\t\\t * client-side, your server-side code does not also need updating).\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>Empty string</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.name\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"name\\\": \\\"engine\\\", \\\"targets\\\": [ 0 ] },\\n\\t\\t *          { \\\"name\\\": \\\"browser\\\", \\\"targets\\\": [ 1 ] },\\n\\t\\t *          { \\\"name\\\": \\\"platform\\\", \\\"targets\\\": [ 2 ] },\\n\\t\\t *          { \\\"name\\\": \\\"version\\\", \\\"targets\\\": [ 3 ] },\\n\\t\\t *          { \\\"name\\\": \\\"grade\\\", \\\"targets\\\": [ 4 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"name\\\": \\\"engine\\\" },\\n\\t\\t *          { \\\"name\\\": \\\"browser\\\" },\\n\\t\\t *          { \\\"name\\\": \\\"platform\\\" },\\n\\t\\t *          { \\\"name\\\": \\\"version\\\" },\\n\\t\\t *          { \\\"name\\\": \\\"grade\\\" }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sName\\\": \\\"\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Defines a data source type for the ordering which can be used to read\\n\\t\\t * real-time information from the table (updating the internally cached\\n\\t\\t * version) prior to ordering. This allows ordering to occur on user\\n\\t\\t * editable elements such as form inputs.\\n\\t\\t *  @type string\\n\\t\\t *  @default std\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.orderDataType\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-text\\\", \\\"targets\\\": [ 2, 3 ] },\\n\\t\\t *          { \\\"type\\\": \\\"numeric\\\", \\\"targets\\\": [ 3 ] },\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-select\\\", \\\"targets\\\": [ 4 ] },\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-checkbox\\\", \\\"targets\\\": [ 5 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-text\\\" },\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-text\\\", \\\"type\\\": \\\"numeric\\\" },\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-select\\\" },\\n\\t\\t *          { \\\"orderDataType\\\": \\\"dom-checkbox\\\" }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sSortDataType\\\": \\\"std\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * The title of this column.\\n\\t\\t *  @type string\\n\\t\\t *  @default null <i>Derived from the 'TH' value for this column in the\\n\\t\\t *    original HTML table.</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.title\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"title\\\": \\\"My column title\\\", \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"title\\\": \\\"My column title\\\" },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sTitle\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * The type allows you to specify how the data for this column will be\\n\\t\\t * ordered. Four types (string, numeric, date and html (which will strip\\n\\t\\t * HTML tags before ordering)) are currently available. Note that only date\\n\\t\\t * formats understood by Javascript's Date() object will be accepted as type\\n\\t\\t * date. For example: \\\"Mar 26, 2008 5:03 PM\\\". May take the values: 'string',\\n\\t\\t * 'numeric', 'date' or 'html' (by default). Further types can be adding\\n\\t\\t * through plug-ins.\\n\\t\\t *  @type string\\n\\t\\t *  @default null <i>Auto-detected from raw data</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.type\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"type\\\": \\\"html\\\", \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"type\\\": \\\"html\\\" },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sType\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Defining the width of the column, this parameter may take any CSS value\\n\\t\\t * (3em, 20px etc). DataTables applies 'smart' widths to columns which have not\\n\\t\\t * been given a specific width through this interface ensuring that the table\\n\\t\\t * remains readable.\\n\\t\\t *  @type string\\n\\t\\t *  @default null <i>Automatic</i>\\n\\t\\t *\\n\\t\\t *  @name DataTable.defaults.column.width\\n\\t\\t *  @dtopt Columns\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columnDefs`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columnDefs\\\": [\\n\\t\\t *          { \\\"width\\\": \\\"20%\\\", \\\"targets\\\": [ 0 ] }\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Using `columns`\\n\\t\\t *    $(document).ready( function() {\\n\\t\\t *      $('#example').dataTable( {\\n\\t\\t *        \\\"columns\\\": [\\n\\t\\t *          { \\\"width\\\": \\\"20%\\\" },\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null,\\n\\t\\t *          null\\n\\t\\t *        ]\\n\\t\\t *      } );\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\t\\\"sWidth\\\": null\\n\\t};\\n\\t\\n\\t_fnHungarianMap( DataTable.defaults.column );\\n\\t\\n\\t\\n\\t\\n\\t/**\\n\\t * DataTables settings object - this holds all the information needed for a\\n\\t * given table, including configuration, data and current application of the\\n\\t * table options. DataTables does not have a single instance for each DataTable\\n\\t * with the settings attached to that instance, but rather instances of the\\n\\t * DataTable \\\"class\\\" are created on-the-fly as needed (typically by a\\n\\t * $().dataTable() call) and the settings object is then applied to that\\n\\t * instance.\\n\\t *\\n\\t * Note that this object is related to {@link DataTable.defaults} but this\\n\\t * one is the internal data store for DataTables's cache of columns. It should\\n\\t * NOT be manipulated outside of DataTables. Any configuration should be done\\n\\t * through the initialisation options.\\n\\t *  @namespace\\n\\t *  @todo Really should attach the settings object to individual instances so we\\n\\t *    don't need to create new instances on each $().dataTable() call (if the\\n\\t *    table already exists). It would also save passing oSettings around and\\n\\t *    into every single function. However, this is a very significant\\n\\t *    architecture change for DataTables and will almost certainly break\\n\\t *    backwards compatibility with older installations. This is something that\\n\\t *    will be done in 2.0.\\n\\t */\\n\\tDataTable.models.oSettings = {\\n\\t\\t/**\\n\\t\\t * Primary features of DataTables and their enablement state.\\n\\t\\t *  @namespace\\n\\t\\t */\\n\\t\\t\\\"oFeatures\\\": {\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Flag to say if DataTables should automatically try to calculate the\\n\\t\\t\\t * optimum table and columns widths (true) or not (false).\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bAutoWidth\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Delay the creation of TR and TD elements until they are actually\\n\\t\\t\\t * needed by a driven page draw. This can give a significant speed\\n\\t\\t\\t * increase for Ajax source and Javascript source data, but makes no\\n\\t\\t\\t * difference at all fro DOM and server-side processing tables.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bDeferRender\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Enable filtering on the table or not. Note that if this is disabled\\n\\t\\t\\t * then there is no filtering at all on the table, including fnFilter.\\n\\t\\t\\t * To just remove the filtering input use sDom and remove the 'f' option.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bFilter\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Table information element (the 'Showing x of y records' div) enable\\n\\t\\t\\t * flag.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bInfo\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Present a user control allowing the end user to change the page size\\n\\t\\t\\t * when pagination is enabled.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bLengthChange\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Pagination enabled or not. Note that if this is disabled then length\\n\\t\\t\\t * changing must also be disabled.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bPaginate\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Processing indicator enable flag whenever DataTables is enacting a\\n\\t\\t\\t * user request - typically an Ajax request for server-side processing.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bProcessing\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Server-side processing enabled flag - when enabled DataTables will\\n\\t\\t\\t * get all data from the server for every draw - there is no filtering,\\n\\t\\t\\t * sorting or paging done on the client-side.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bServerSide\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Sorting enablement flag.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bSort\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Multi-column sorting\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bSortMulti\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Apply a class to the columns which are being sorted to provide a\\n\\t\\t\\t * visual highlight or not. This can slow things down when enabled since\\n\\t\\t\\t * there is a lot of DOM interaction.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bSortClasses\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * State saving enablement flag.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bStateSave\\\": null\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Scrolling settings for a table.\\n\\t\\t *  @namespace\\n\\t\\t */\\n\\t\\t\\\"oScroll\\\": {\\n\\t\\t\\t/**\\n\\t\\t\\t * When the table is shorter in height than sScrollY, collapse the\\n\\t\\t\\t * table container down to the height of the table (when true).\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bCollapse\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Width of the scrollbar for the web-browser's platform. Calculated\\n\\t\\t\\t * during table initialisation.\\n\\t\\t\\t *  @type int\\n\\t\\t\\t *  @default 0\\n\\t\\t\\t */\\n\\t\\t\\t\\\"iBarWidth\\\": 0,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Viewport width for horizontal scrolling. Horizontal scrolling is\\n\\t\\t\\t * disabled if an empty string.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sX\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Width to expand the table to when using x-scrolling. Typically you\\n\\t\\t\\t * should not need to use this.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t *  @deprecated\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sXInner\\\": null,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Viewport height for vertical scrolling. Vertical scrolling is disabled\\n\\t\\t\\t * if an empty string.\\n\\t\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t\\t *  @type string\\n\\t\\t\\t */\\n\\t\\t\\t\\\"sY\\\": null\\n\\t\\t},\\n\\t\\n\\t\\t/**\\n\\t\\t * Language information for the table.\\n\\t\\t *  @namespace\\n\\t\\t *  @extends DataTable.defaults.oLanguage\\n\\t\\t */\\n\\t\\t\\\"oLanguage\\\": {\\n\\t\\t\\t/**\\n\\t\\t\\t * Information callback function. See\\n\\t\\t\\t * {@link DataTable.defaults.fnInfoCallback}\\n\\t\\t\\t *  @type function\\n\\t\\t\\t *  @default null\\n\\t\\t\\t */\\n\\t\\t\\t\\\"fnInfoCallback\\\": null\\n\\t\\t},\\n\\t\\n\\t\\t/**\\n\\t\\t * Browser support parameters\\n\\t\\t *  @namespace\\n\\t\\t */\\n\\t\\t\\\"oBrowser\\\": {\\n\\t\\t\\t/**\\n\\t\\t\\t * Indicate if the browser incorrectly calculates width:100% inside a\\n\\t\\t\\t * scrolling element (IE6/7)\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t *  @default false\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bScrollOversize\\\": false,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Determine if the vertical scrollbar is on the right or left of the\\n\\t\\t\\t * scrolling container - needed for rtl language layout, although not\\n\\t\\t\\t * all browsers move the scrollbar (Safari).\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t *  @default false\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bScrollbarLeft\\\": false,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Flag for if `getBoundingClientRect` is fully supported or not\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t *  @default false\\n\\t\\t\\t */\\n\\t\\t\\t\\\"bBounding\\\": false,\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Browser scrollbar width\\n\\t\\t\\t *  @type integer\\n\\t\\t\\t *  @default 0\\n\\t\\t\\t */\\n\\t\\t\\t\\\"barWidth\\\": 0\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t\\\"ajax\\\": null,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Array referencing the nodes which are used for the features. The\\n\\t\\t * parameters of this object match what is allowed by sDom - i.e.\\n\\t\\t *   <ul>\\n\\t\\t *     <li>'l' - Length changing</li>\\n\\t\\t *     <li>'f' - Filtering input</li>\\n\\t\\t *     <li>'t' - The table!</li>\\n\\t\\t *     <li>'i' - Information</li>\\n\\t\\t *     <li>'p' - Pagination</li>\\n\\t\\t *     <li>'r' - pRocessing</li>\\n\\t\\t *   </ul>\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aanFeatures\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Store data information - see {@link DataTable.models.oRow} for detailed\\n\\t\\t * information.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoData\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of indexes which are in the current display (after filtering etc)\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aiDisplay\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of indexes for display - no filtering\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aiDisplayMaster\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Map of row ids to data indexes\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t */\\n\\t\\t\\\"aIds\\\": {},\\n\\t\\n\\t\\t/**\\n\\t\\t * Store information about each column that is in use\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoColumns\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Store information about the table's header\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoHeader\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Store information about the table's footer\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoFooter\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Store the applied global search information in case we want to force a\\n\\t\\t * research or compare the old search to a new one.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @namespace\\n\\t\\t *  @extends DataTable.models.oSearch\\n\\t\\t */\\n\\t\\t\\\"oPreviousSearch\\\": {},\\n\\t\\n\\t\\t/**\\n\\t\\t * Store the applied search for each column - see\\n\\t\\t * {@link DataTable.models.oSearch} for the format that is used for the\\n\\t\\t * filtering information for each column.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoPreSearchCols\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Sorting that is applied to the table. Note that the inner arrays are\\n\\t\\t * used in the following manner:\\n\\t\\t * <ul>\\n\\t\\t *   <li>Index 0 - column number</li>\\n\\t\\t *   <li>Index 1 - current sorting direction</li>\\n\\t\\t * </ul>\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type array\\n\\t\\t *  @todo These inner arrays should really be objects\\n\\t\\t */\\n\\t\\t\\\"aaSorting\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Sorting that is always applied to the table (i.e. prefixed in front of\\n\\t\\t * aaSorting).\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aaSortingFixed\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Classes to use for the striping of a table.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"asStripeClasses\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * If restoring a table - we should restore its striping classes as well\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"asDestroyStripes\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * If restoring a table - we should restore its width\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t */\\n\\t\\t\\\"sDestroyWidth\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback functions array for every time a row is inserted (i.e. on a draw).\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoRowCallback\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback functions for the header on each draw.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoHeaderCallback\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback function for the footer on each draw.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoFooterCallback\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of callback functions for draw callback functions\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoDrawCallback\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of callback functions for row created function\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoRowCreatedCallback\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback functions for just before the table is redrawn. A return of\\n\\t\\t * false will be used to cancel the draw.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoPreDrawCallback\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Callback functions for when the table has been initialised.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoInitComplete\\\": [],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Callbacks for modifying the settings to be stored for state saving, prior to\\n\\t\\t * saving state.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoStateSaveParams\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Callbacks for modifying the settings that have been stored for state saving\\n\\t\\t * prior to using the stored values to restore the state.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoStateLoadParams\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Callbacks for operating on the settings object once the saved state has been\\n\\t\\t * loaded\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoStateLoaded\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Cache the table ID for quick access\\n\\t\\t *  @type string\\n\\t\\t *  @default <i>Empty string</i>\\n\\t\\t */\\n\\t\\t\\\"sTableId\\\": \\\"\\\",\\n\\t\\n\\t\\t/**\\n\\t\\t * The TABLE node for the main table\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTable\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Permanent ref to the thead element\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTHead\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Permanent ref to the tfoot element - if it exists\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTFoot\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Permanent ref to the tbody element\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTBody\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Cache the wrapper node (contains all DataTables controlled elements)\\n\\t\\t *  @type node\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"nTableWrapper\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Indicate if when using server-side processing the loading of data\\n\\t\\t * should be deferred until the second draw.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t */\\n\\t\\t\\\"bDeferLoading\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Indicate if all required information has been read in\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t */\\n\\t\\t\\\"bInitialised\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Information about open rows. Each object in the array has the parameters\\n\\t\\t * 'nTr' and 'nParent'\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoOpenRows\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Dictate the positioning of DataTables' control elements - see\\n\\t\\t * {@link DataTable.model.oInit.sDom}.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sDom\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Search delay (in mS)\\n\\t\\t *  @type integer\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"searchDelay\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Which type of pagination should be used.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type string\\n\\t\\t *  @default two_button\\n\\t\\t */\\n\\t\\t\\\"sPaginationType\\\": \\\"two_button\\\",\\n\\t\\n\\t\\t/**\\n\\t\\t * The state duration (for `stateSave`) in seconds.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t */\\n\\t\\t\\\"iStateDuration\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of callback functions for state saving. Each array element is an\\n\\t\\t * object with the following parameters:\\n\\t\\t *   <ul>\\n\\t\\t *     <li>function:fn - function to call. Takes two parameters, oSettings\\n\\t\\t *       and the JSON string to save that has been thus far created. Returns\\n\\t\\t *       a JSON string to be inserted into a json object\\n\\t\\t *       (i.e. '\\\"param\\\": [ 0, 1, 2]')</li>\\n\\t\\t *     <li>string:sName - name of callback</li>\\n\\t\\t *   </ul>\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoStateSave\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Array of callback functions for state loading. Each array element is an\\n\\t\\t * object with the following parameters:\\n\\t\\t *   <ul>\\n\\t\\t *     <li>function:fn - function to call. Takes two parameters, oSettings\\n\\t\\t *       and the object stored. May return false to cancel state loading</li>\\n\\t\\t *     <li>string:sName - name of callback</li>\\n\\t\\t *   </ul>\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoStateLoad\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * State that was saved. Useful for back reference\\n\\t\\t *  @type object\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"oSavedState\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * State that was loaded. Useful for back reference\\n\\t\\t *  @type object\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"oLoadedState\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Source url for AJAX data for the table.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sAjaxSource\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Property from a given object from which to read the table data from. This\\n\\t\\t * can be an empty string (when not server-side processing), in which case\\n\\t\\t * it is  assumed an an array is given directly.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type string\\n\\t\\t */\\n\\t\\t\\\"sAjaxDataProp\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Note if draw should be blocked while getting data\\n\\t\\t *  @type boolean\\n\\t\\t *  @default true\\n\\t\\t */\\n\\t\\t\\\"bAjaxDataGet\\\": true,\\n\\t\\n\\t\\t/**\\n\\t\\t * The last jQuery XHR object that was used for server-side data gathering.\\n\\t\\t * This can be used for working with the XHR information in one of the\\n\\t\\t * callbacks\\n\\t\\t *  @type object\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"jqXHR\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * JSON returned from the server in the last Ajax request\\n\\t\\t *  @type object\\n\\t\\t *  @default undefined\\n\\t\\t */\\n\\t\\t\\\"json\\\": undefined,\\n\\t\\n\\t\\t/**\\n\\t\\t * Data submitted as part of the last Ajax request\\n\\t\\t *  @type object\\n\\t\\t *  @default undefined\\n\\t\\t */\\n\\t\\t\\\"oAjaxData\\\": undefined,\\n\\t\\n\\t\\t/**\\n\\t\\t * Function to get the server-side data.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type function\\n\\t\\t */\\n\\t\\t\\\"fnServerData\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Functions which are called prior to sending an Ajax request so extra\\n\\t\\t * parameters can easily be sent to the server\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoServerParams\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Send the XHR HTTP method - GET or POST (could be PUT or DELETE if\\n\\t\\t * required).\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type string\\n\\t\\t */\\n\\t\\t\\\"sServerMethod\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Format numbers for display.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type function\\n\\t\\t */\\n\\t\\t\\\"fnFormatNumber\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * List of options that can be used for the user selectable length menu.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aLengthMenu\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Counter for the draws that the table does. Also used as a tracker for\\n\\t\\t * server-side processing\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t */\\n\\t\\t\\\"iDraw\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * Indicate if a redraw is being done - useful for Ajax\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t */\\n\\t\\t\\\"bDrawing\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Draw index (iDraw) of the last error when parsing the returned data\\n\\t\\t *  @type int\\n\\t\\t *  @default -1\\n\\t\\t */\\n\\t\\t\\\"iDrawError\\\": -1,\\n\\t\\n\\t\\t/**\\n\\t\\t * Paging display length\\n\\t\\t *  @type int\\n\\t\\t *  @default 10\\n\\t\\t */\\n\\t\\t\\\"_iDisplayLength\\\": 10,\\n\\t\\n\\t\\t/**\\n\\t\\t * Paging start point - aiDisplay index\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t */\\n\\t\\t\\\"_iDisplayStart\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * Server-side processing - number of records in the result set\\n\\t\\t * (i.e. before filtering), Use fnRecordsTotal rather than\\n\\t\\t * this property to get the value of the number of records, regardless of\\n\\t\\t * the server-side processing setting.\\n\\t\\t *  @type int\\n\\t\\t *  @default 0\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_iRecordsTotal\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * Server-side processing - number of records in the current display set\\n\\t\\t * (i.e. after filtering). Use fnRecordsDisplay rather than\\n\\t\\t * this property to get the value of the number of records, regardless of\\n\\t\\t * the server-side processing setting.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default 0\\n\\t\\t *  @private\\n\\t\\t */\\n\\t\\t\\\"_iRecordsDisplay\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * The classes to use for the table\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t */\\n\\t\\t\\\"oClasses\\\": {},\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag attached to the settings object so you can check in the draw\\n\\t\\t * callback if filtering has been done in the draw. Deprecated in favour of\\n\\t\\t * events.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *  @deprecated\\n\\t\\t */\\n\\t\\t\\\"bFiltered\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Flag attached to the settings object so you can check in the draw\\n\\t\\t * callback if sorting has been done in the draw. Deprecated in favour of\\n\\t\\t * events.\\n\\t\\t *  @type boolean\\n\\t\\t *  @default false\\n\\t\\t *  @deprecated\\n\\t\\t */\\n\\t\\t\\\"bSorted\\\": false,\\n\\t\\n\\t\\t/**\\n\\t\\t * Indicate that if multiple rows are in the header and there is more than\\n\\t\\t * one unique cell per column, if the top one (true) or bottom one (false)\\n\\t\\t * should be used for sorting / title by DataTables.\\n\\t\\t * Note that this parameter will be set by the initialisation routine. To\\n\\t\\t * set a default use {@link DataTable.defaults}.\\n\\t\\t *  @type boolean\\n\\t\\t */\\n\\t\\t\\\"bSortCellsTop\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Initialisation object that is used for the table\\n\\t\\t *  @type object\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"oInit\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Destroy callback functions - for plug-ins to attach themselves to the\\n\\t\\t * destroy so they can clean up markup and events.\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aoDestroyCallback\\\": [],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Get the number of records in the current record set, before filtering\\n\\t\\t *  @type function\\n\\t\\t */\\n\\t\\t\\\"fnRecordsTotal\\\": function ()\\n\\t\\t{\\n\\t\\t\\treturn _fnDataSource( this ) == 'ssp' ?\\n\\t\\t\\t\\tthis._iRecordsTotal * 1 :\\n\\t\\t\\t\\tthis.aiDisplayMaster.length;\\n\\t\\t},\\n\\t\\n\\t\\t/**\\n\\t\\t * Get the number of records in the current record set, after filtering\\n\\t\\t *  @type function\\n\\t\\t */\\n\\t\\t\\\"fnRecordsDisplay\\\": function ()\\n\\t\\t{\\n\\t\\t\\treturn _fnDataSource( this ) == 'ssp' ?\\n\\t\\t\\t\\tthis._iRecordsDisplay * 1 :\\n\\t\\t\\t\\tthis.aiDisplay.length;\\n\\t\\t},\\n\\t\\n\\t\\t/**\\n\\t\\t * Get the display end point - aiDisplay index\\n\\t\\t *  @type function\\n\\t\\t */\\n\\t\\t\\\"fnDisplayEnd\\\": function ()\\n\\t\\t{\\n\\t\\t\\tvar\\n\\t\\t\\t\\tlen      = this._iDisplayLength,\\n\\t\\t\\t\\tstart    = this._iDisplayStart,\\n\\t\\t\\t\\tcalc     = start + len,\\n\\t\\t\\t\\trecords  = this.aiDisplay.length,\\n\\t\\t\\t\\tfeatures = this.oFeatures,\\n\\t\\t\\t\\tpaginate = features.bPaginate;\\n\\t\\n\\t\\t\\tif ( features.bServerSide ) {\\n\\t\\t\\t\\treturn paginate === false || len === -1 ?\\n\\t\\t\\t\\t\\tstart + records :\\n\\t\\t\\t\\t\\tMath.min( start+len, this._iRecordsDisplay );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\treturn ! paginate || calc>records || len===-1 ?\\n\\t\\t\\t\\t\\trecords :\\n\\t\\t\\t\\t\\tcalc;\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\n\\t\\t/**\\n\\t\\t * The DataTables object for this table\\n\\t\\t *  @type object\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"oInstance\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Unique identifier for each instance of the DataTables object. If there\\n\\t\\t * is an ID on the table node, then it takes that value, otherwise an\\n\\t\\t * incrementing internal counter is used.\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"sInstance\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * tabindex attribute value that is added to DataTables control elements, allowing\\n\\t\\t * keyboard navigation of the table and its controls.\\n\\t\\t */\\n\\t\\t\\\"iTabIndex\\\": 0,\\n\\t\\n\\t\\t/**\\n\\t\\t * DIV container for the footer scrolling table if scrolling\\n\\t\\t */\\n\\t\\t\\\"nScrollHead\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * DIV container for the footer scrolling table if scrolling\\n\\t\\t */\\n\\t\\t\\\"nScrollFoot\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Last applied sort\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t */\\n\\t\\t\\\"aLastSort\\\": [],\\n\\t\\n\\t\\t/**\\n\\t\\t * Stored plug-in instances\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t */\\n\\t\\t\\\"oPlugins\\\": {},\\n\\t\\n\\t\\t/**\\n\\t\\t * Function used to get a row's id from the row's data\\n\\t\\t *  @type function\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"rowIdFn\\\": null,\\n\\t\\n\\t\\t/**\\n\\t\\t * Data location where to store a row's id\\n\\t\\t *  @type string\\n\\t\\t *  @default null\\n\\t\\t */\\n\\t\\t\\\"rowId\\\": null\\n\\t};\\n\\n\\t/**\\n\\t * Extension object for DataTables that is used to provide all extension\\n\\t * options.\\n\\t *\\n\\t * Note that the `DataTable.ext` object is available through\\n\\t * `jQuery.fn.dataTable.ext` where it may be accessed and manipulated. It is\\n\\t * also aliased to `jQuery.fn.dataTableExt` for historic reasons.\\n\\t *  @namespace\\n\\t *  @extends DataTable.models.ext\\n\\t */\\n\\t\\n\\t\\n\\t/**\\n\\t * DataTables extensions\\n\\t * \\n\\t * This namespace acts as a collection area for plug-ins that can be used to\\n\\t * extend DataTables capabilities. Indeed many of the build in methods\\n\\t * use this method to provide their own capabilities (sorting methods for\\n\\t * example).\\n\\t *\\n\\t * Note that this namespace is aliased to `jQuery.fn.dataTableExt` for legacy\\n\\t * reasons\\n\\t *\\n\\t *  @namespace\\n\\t */\\n\\tDataTable.ext = _ext = {\\n\\t\\t/**\\n\\t\\t * Buttons. For use with the Buttons extension for DataTables. This is\\n\\t\\t * defined here so other extensions can define buttons regardless of load\\n\\t\\t * order. It is _not_ used by DataTables core.\\n\\t\\t *\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t */\\n\\t\\tbuttons: {},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Element class names\\n\\t\\t *\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t */\\n\\t\\tclasses: {},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * DataTables build type (expanded by the download builder)\\n\\t\\t *\\n\\t\\t *  @type string\\n\\t\\t */\\n\\t\\tbuilder: \\\"-source-\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Error reporting.\\n\\t\\t * \\n\\t\\t * How should DataTables report an error. Can take the value 'alert',\\n\\t\\t * 'throw', 'none' or a function.\\n\\t\\t *\\n\\t\\t *  @type string|function\\n\\t\\t *  @default alert\\n\\t\\t */\\n\\t\\terrMode: \\\"alert\\\",\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Feature plug-ins.\\n\\t\\t * \\n\\t\\t * This is an array of objects which describe the feature plug-ins that are\\n\\t\\t * available to DataTables. These feature plug-ins are then available for\\n\\t\\t * use through the `dom` initialisation option.\\n\\t\\t * \\n\\t\\t * Each feature plug-in is described by an object which must have the\\n\\t\\t * following properties:\\n\\t\\t * \\n\\t\\t * * `fnInit` - function that is used to initialise the plug-in,\\n\\t\\t * * `cFeature` - a character so the feature can be enabled by the `dom`\\n\\t\\t *   instillation option. This is case sensitive.\\n\\t\\t *\\n\\t\\t * The `fnInit` function has the following input parameters:\\n\\t\\t *\\n\\t\\t * 1. `{object}` DataTables settings object: see\\n\\t\\t *    {@link DataTable.models.oSettings}\\n\\t\\t *\\n\\t\\t * And the following return is expected:\\n\\t\\t * \\n\\t\\t * * {node|null} The element which contains your feature. Note that the\\n\\t\\t *   return may also be void if your plug-in does not require to inject any\\n\\t\\t *   DOM elements into DataTables control (`dom`) - for example this might\\n\\t\\t *   be useful when developing a plug-in which allows table control via\\n\\t\\t *   keyboard entry\\n\\t\\t *\\n\\t\\t *  @type array\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    $.fn.dataTable.ext.features.push( {\\n\\t\\t *      \\\"fnInit\\\": function( oSettings ) {\\n\\t\\t *        return new TableTools( { \\\"oDTSettings\\\": oSettings } );\\n\\t\\t *      },\\n\\t\\t *      \\\"cFeature\\\": \\\"T\\\"\\n\\t\\t *    } );\\n\\t\\t */\\n\\t\\tfeature: [],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Row searching.\\n\\t\\t * \\n\\t\\t * This method of searching is complimentary to the default type based\\n\\t\\t * searching, and a lot more comprehensive as it allows you complete control\\n\\t\\t * over the searching logic. Each element in this array is a function\\n\\t\\t * (parameters described below) that is called for every row in the table,\\n\\t\\t * and your logic decides if it should be included in the searching data set\\n\\t\\t * or not.\\n\\t\\t *\\n\\t\\t * Searching functions have the following input parameters:\\n\\t\\t *\\n\\t\\t * 1. `{object}` DataTables settings object: see\\n\\t\\t *    {@link DataTable.models.oSettings}\\n\\t\\t * 2. `{array|object}` Data for the row to be processed (same as the\\n\\t\\t *    original format that was passed in as the data source, or an array\\n\\t\\t *    from a DOM data source\\n\\t\\t * 3. `{int}` Row index ({@link DataTable.models.oSettings.aoData}), which\\n\\t\\t *    can be useful to retrieve the `TR` element if you need DOM interaction.\\n\\t\\t *\\n\\t\\t * And the following return is expected:\\n\\t\\t *\\n\\t\\t * * {boolean} Include the row in the searched result set (true) or not\\n\\t\\t *   (false)\\n\\t\\t *\\n\\t\\t * Note that as with the main search ability in DataTables, technically this\\n\\t\\t * is \\\"filtering\\\", since it is subtractive. However, for consistency in\\n\\t\\t * naming we call it searching here.\\n\\t\\t *\\n\\t\\t *  @type array\\n\\t\\t *  @default []\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // The following example shows custom search being applied to the\\n\\t\\t *    // fourth column (i.e. the data[3] index) based on two input values\\n\\t\\t *    // from the end-user, matching the data in a certain range.\\n\\t\\t *    $.fn.dataTable.ext.search.push(\\n\\t\\t *      function( settings, data, dataIndex ) {\\n\\t\\t *        var min = document.getElementById('min').value * 1;\\n\\t\\t *        var max = document.getElementById('max').value * 1;\\n\\t\\t *        var version = data[3] == \\\"-\\\" ? 0 : data[3]*1;\\n\\t\\t *\\n\\t\\t *        if ( min == \\\"\\\" && max == \\\"\\\" ) {\\n\\t\\t *          return true;\\n\\t\\t *        }\\n\\t\\t *        else if ( min == \\\"\\\" && version < max ) {\\n\\t\\t *          return true;\\n\\t\\t *        }\\n\\t\\t *        else if ( min < version && \\\"\\\" == max ) {\\n\\t\\t *          return true;\\n\\t\\t *        }\\n\\t\\t *        else if ( min < version && version < max ) {\\n\\t\\t *          return true;\\n\\t\\t *        }\\n\\t\\t *        return false;\\n\\t\\t *      }\\n\\t\\t *    );\\n\\t\\t */\\n\\t\\tsearch: [],\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Selector extensions\\n\\t\\t *\\n\\t\\t * The `selector` option can be used to extend the options available for the\\n\\t\\t * selector modifier options (`selector-modifier` object data type) that\\n\\t\\t * each of the three built in selector types offer (row, column and cell +\\n\\t\\t * their plural counterparts). For example the Select extension uses this\\n\\t\\t * mechanism to provide an option to select only rows, columns and cells\\n\\t\\t * that have been marked as selected by the end user (`{selected: true}`),\\n\\t\\t * which can be used in conjunction with the existing built in selector\\n\\t\\t * options.\\n\\t\\t *\\n\\t\\t * Each property is an array to which functions can be pushed. The functions\\n\\t\\t * take three attributes:\\n\\t\\t *\\n\\t\\t * * Settings object for the host table\\n\\t\\t * * Options object (`selector-modifier` object type)\\n\\t\\t * * Array of selected item indexes\\n\\t\\t *\\n\\t\\t * The return is an array of the resulting item indexes after the custom\\n\\t\\t * selector has been applied.\\n\\t\\t *\\n\\t\\t *  @type object\\n\\t\\t */\\n\\t\\tselector: {\\n\\t\\t\\tcell: [],\\n\\t\\t\\tcolumn: [],\\n\\t\\t\\trow: []\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Internal functions, exposed for used in plug-ins.\\n\\t\\t * \\n\\t\\t * Please note that you should not need to use the internal methods for\\n\\t\\t * anything other than a plug-in (and even then, try to avoid if possible).\\n\\t\\t * The internal function may change between releases.\\n\\t\\t *\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t */\\n\\t\\tinternal: {},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Legacy configuration options. Enable and disable legacy options that\\n\\t\\t * are available in DataTables.\\n\\t\\t *\\n\\t\\t *  @type object\\n\\t\\t */\\n\\t\\tlegacy: {\\n\\t\\t\\t/**\\n\\t\\t\\t * Enable / disable DataTables 1.9 compatible server-side processing\\n\\t\\t\\t * requests\\n\\t\\t\\t *\\n\\t\\t\\t *  @type boolean\\n\\t\\t\\t *  @default null\\n\\t\\t\\t */\\n\\t\\t\\tajax: null\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Pagination plug-in methods.\\n\\t\\t * \\n\\t\\t * Each entry in this object is a function and defines which buttons should\\n\\t\\t * be shown by the pagination rendering method that is used for the table:\\n\\t\\t * {@link DataTable.ext.renderer.pageButton}. The renderer addresses how the\\n\\t\\t * buttons are displayed in the document, while the functions here tell it\\n\\t\\t * what buttons to display. This is done by returning an array of button\\n\\t\\t * descriptions (what each button will do).\\n\\t\\t *\\n\\t\\t * Pagination types (the four built in options and any additional plug-in\\n\\t\\t * options defined here) can be used through the `paginationType`\\n\\t\\t * initialisation parameter.\\n\\t\\t *\\n\\t\\t * The functions defined take two parameters:\\n\\t\\t *\\n\\t\\t * 1. `{int} page` The current page index\\n\\t\\t * 2. `{int} pages` The number of pages in the table\\n\\t\\t *\\n\\t\\t * Each function is expected to return an array where each element of the\\n\\t\\t * array can be one of:\\n\\t\\t *\\n\\t\\t * * `first` - Jump to first page when activated\\n\\t\\t * * `last` - Jump to last page when activated\\n\\t\\t * * `previous` - Show previous page when activated\\n\\t\\t * * `next` - Show next page when activated\\n\\t\\t * * `{int}` - Show page of the index given\\n\\t\\t * * `{array}` - A nested array containing the above elements to add a\\n\\t\\t *   containing 'DIV' element (might be useful for styling).\\n\\t\\t *\\n\\t\\t * Note that DataTables v1.9- used this object slightly differently whereby\\n\\t\\t * an object with two functions would be defined for each plug-in. That\\n\\t\\t * ability is still supported by DataTables 1.10+ to provide backwards\\n\\t\\t * compatibility, but this option of use is now decremented and no longer\\n\\t\\t * documented in DataTables 1.10+.\\n\\t\\t *\\n\\t\\t *  @type object\\n\\t\\t *  @default {}\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Show previous, next and current page buttons only\\n\\t\\t *    $.fn.dataTableExt.oPagination.current = function ( page, pages ) {\\n\\t\\t *      return [ 'previous', page, 'next' ];\\n\\t\\t *    };\\n\\t\\t */\\n\\t\\tpager: {},\\n\\t\\n\\t\\n\\t\\trenderer: {\\n\\t\\t\\tpageButton: {},\\n\\t\\t\\theader: {}\\n\\t\\t},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Ordering plug-ins - custom data source\\n\\t\\t * \\n\\t\\t * The extension options for ordering of data available here is complimentary\\n\\t\\t * to the default type based ordering that DataTables typically uses. It\\n\\t\\t * allows much greater control over the the data that is being used to\\n\\t\\t * order a column, but is necessarily therefore more complex.\\n\\t\\t * \\n\\t\\t * This type of ordering is useful if you want to do ordering based on data\\n\\t\\t * live from the DOM (for example the contents of an 'input' element) rather\\n\\t\\t * than just the static string that DataTables knows of.\\n\\t\\t * \\n\\t\\t * The way these plug-ins work is that you create an array of the values you\\n\\t\\t * wish to be ordering for the column in question and then return that\\n\\t\\t * array. The data in the array much be in the index order of the rows in\\n\\t\\t * the table (not the currently ordering order!). Which order data gathering\\n\\t\\t * function is run here depends on the `dt-init columns.orderDataType`\\n\\t\\t * parameter that is used for the column (if any).\\n\\t\\t *\\n\\t\\t * The functions defined take two parameters:\\n\\t\\t *\\n\\t\\t * 1. `{object}` DataTables settings object: see\\n\\t\\t *    {@link DataTable.models.oSettings}\\n\\t\\t * 2. `{int}` Target column index\\n\\t\\t *\\n\\t\\t * Each function is expected to return an array:\\n\\t\\t *\\n\\t\\t * * `{array}` Data for the column to be ordering upon\\n\\t\\t *\\n\\t\\t *  @type array\\n\\t\\t *\\n\\t\\t *  @example\\n\\t\\t *    // Ordering using `input` node values\\n\\t\\t *    $.fn.dataTable.ext.order['dom-text'] = function  ( settings, col )\\n\\t\\t *    {\\n\\t\\t *      return this.api().column( col, {order:'index'} ).nodes().map( function ( td, i ) {\\n\\t\\t *        return $('input', td).val();\\n\\t\\t *      } );\\n\\t\\t *    }\\n\\t\\t */\\n\\t\\torder: {},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Type based plug-ins.\\n\\t\\t *\\n\\t\\t * Each column in DataTables has a type assigned to it, either by automatic\\n\\t\\t * detection or by direct assignment using the `type` option for the column.\\n\\t\\t * The type of a column will effect how it is ordering and search (plug-ins\\n\\t\\t * can also make use of the column type if required).\\n\\t\\t *\\n\\t\\t * @namespace\\n\\t\\t */\\n\\t\\ttype: {\\n\\t\\t\\t/**\\n\\t\\t\\t * Type detection functions.\\n\\t\\t\\t *\\n\\t\\t\\t * The functions defined in this object are used to automatically detect\\n\\t\\t\\t * a column's type, making initialisation of DataTables super easy, even\\n\\t\\t\\t * when complex data is in the table.\\n\\t\\t\\t *\\n\\t\\t\\t * The functions defined take two parameters:\\n\\t\\t\\t *\\n\\t\\t     *  1. `{*}` Data from the column cell to be analysed\\n\\t\\t     *  2. `{settings}` DataTables settings object. This can be used to\\n\\t\\t     *     perform context specific type detection - for example detection\\n\\t\\t     *     based on language settings such as using a comma for a decimal\\n\\t\\t     *     place. Generally speaking the options from the settings will not\\n\\t\\t     *     be required\\n\\t\\t\\t *\\n\\t\\t\\t * Each function is expected to return:\\n\\t\\t\\t *\\n\\t\\t\\t * * `{string|null}` Data type detected, or null if unknown (and thus\\n\\t\\t\\t *   pass it on to the other type detection functions.\\n\\t\\t\\t *\\n\\t\\t\\t *  @type array\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Currency type detection plug-in:\\n\\t\\t\\t *    $.fn.dataTable.ext.type.detect.push(\\n\\t\\t\\t *      function ( data, settings ) {\\n\\t\\t\\t *        // Check the numeric part\\n\\t\\t\\t *        if ( ! data.substring(1).match(/[0-9]/) ) {\\n\\t\\t\\t *          return null;\\n\\t\\t\\t *        }\\n\\t\\t\\t *\\n\\t\\t\\t *        // Check prefixed by currency\\n\\t\\t\\t *        if ( data.charAt(0) == '$' || data.charAt(0) == '&pound;' ) {\\n\\t\\t\\t *          return 'currency';\\n\\t\\t\\t *        }\\n\\t\\t\\t *        return null;\\n\\t\\t\\t *      }\\n\\t\\t\\t *    );\\n\\t\\t\\t */\\n\\t\\t\\tdetect: [],\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Type based search formatting.\\n\\t\\t\\t *\\n\\t\\t\\t * The type based searching functions can be used to pre-format the\\n\\t\\t\\t * data to be search on. For example, it can be used to strip HTML\\n\\t\\t\\t * tags or to de-format telephone numbers for numeric only searching.\\n\\t\\t\\t *\\n\\t\\t\\t * Note that is a search is not defined for a column of a given type,\\n\\t\\t\\t * no search formatting will be performed.\\n\\t\\t\\t * \\n\\t\\t\\t * Pre-processing of searching data plug-ins - When you assign the sType\\n\\t\\t\\t * for a column (or have it automatically detected for you by DataTables\\n\\t\\t\\t * or a type detection plug-in), you will typically be using this for\\n\\t\\t\\t * custom sorting, but it can also be used to provide custom searching\\n\\t\\t\\t * by allowing you to pre-processing the data and returning the data in\\n\\t\\t\\t * the format that should be searched upon. This is done by adding\\n\\t\\t\\t * functions this object with a parameter name which matches the sType\\n\\t\\t\\t * for that target column. This is the corollary of <i>afnSortData</i>\\n\\t\\t\\t * for searching data.\\n\\t\\t\\t *\\n\\t\\t\\t * The functions defined take a single parameter:\\n\\t\\t\\t *\\n\\t\\t     *  1. `{*}` Data from the column cell to be prepared for searching\\n\\t\\t\\t *\\n\\t\\t\\t * Each function is expected to return:\\n\\t\\t\\t *\\n\\t\\t\\t * * `{string|null}` Formatted string that will be used for the searching.\\n\\t\\t\\t *\\n\\t\\t\\t *  @type object\\n\\t\\t\\t *  @default {}\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    $.fn.dataTable.ext.type.search['title-numeric'] = function ( d ) {\\n\\t\\t\\t *      return d.replace(/\\\\n/g,\\\" \\\").replace( /<.*?>/g, \\\"\\\" );\\n\\t\\t\\t *    }\\n\\t\\t\\t */\\n\\t\\t\\tsearch: {},\\n\\t\\n\\t\\n\\t\\t\\t/**\\n\\t\\t\\t * Type based ordering.\\n\\t\\t\\t *\\n\\t\\t\\t * The column type tells DataTables what ordering to apply to the table\\n\\t\\t\\t * when a column is sorted upon. The order for each type that is defined,\\n\\t\\t\\t * is defined by the functions available in this object.\\n\\t\\t\\t *\\n\\t\\t\\t * Each ordering option can be described by three properties added to\\n\\t\\t\\t * this object:\\n\\t\\t\\t *\\n\\t\\t\\t * * `{type}-pre` - Pre-formatting function\\n\\t\\t\\t * * `{type}-asc` - Ascending order function\\n\\t\\t\\t * * `{type}-desc` - Descending order function\\n\\t\\t\\t *\\n\\t\\t\\t * All three can be used together, only `{type}-pre` or only\\n\\t\\t\\t * `{type}-asc` and `{type}-desc` together. It is generally recommended\\n\\t\\t\\t * that only `{type}-pre` is used, as this provides the optimal\\n\\t\\t\\t * implementation in terms of speed, although the others are provided\\n\\t\\t\\t * for compatibility with existing Javascript sort functions.\\n\\t\\t\\t *\\n\\t\\t\\t * `{type}-pre`: Functions defined take a single parameter:\\n\\t\\t\\t *\\n\\t\\t     *  1. `{*}` Data from the column cell to be prepared for ordering\\n\\t\\t\\t *\\n\\t\\t\\t * And return:\\n\\t\\t\\t *\\n\\t\\t\\t * * `{*}` Data to be sorted upon\\n\\t\\t\\t *\\n\\t\\t\\t * `{type}-asc` and `{type}-desc`: Functions are typical Javascript sort\\n\\t\\t\\t * functions, taking two parameters:\\n\\t\\t\\t *\\n\\t\\t     *  1. `{*}` Data to compare to the second parameter\\n\\t\\t     *  2. `{*}` Data to compare to the first parameter\\n\\t\\t\\t *\\n\\t\\t\\t * And returning:\\n\\t\\t\\t *\\n\\t\\t\\t * * `{*}` Ordering match: <0 if first parameter should be sorted lower\\n\\t\\t\\t *   than the second parameter, ===0 if the two parameters are equal and\\n\\t\\t\\t *   >0 if the first parameter should be sorted height than the second\\n\\t\\t\\t *   parameter.\\n\\t\\t\\t * \\n\\t\\t\\t *  @type object\\n\\t\\t\\t *  @default {}\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Numeric ordering of formatted numbers with a pre-formatter\\n\\t\\t\\t *    $.extend( $.fn.dataTable.ext.type.order, {\\n\\t\\t\\t *      \\\"string-pre\\\": function(x) {\\n\\t\\t\\t *        a = (a === \\\"-\\\" || a === \\\"\\\") ? 0 : a.replace( /[^\\\\d\\\\-\\\\.]/g, \\\"\\\" );\\n\\t\\t\\t *        return parseFloat( a );\\n\\t\\t\\t *      }\\n\\t\\t\\t *    } );\\n\\t\\t\\t *\\n\\t\\t\\t *  @example\\n\\t\\t\\t *    // Case-sensitive string ordering, with no pre-formatting method\\n\\t\\t\\t *    $.extend( $.fn.dataTable.ext.order, {\\n\\t\\t\\t *      \\\"string-case-asc\\\": function(x,y) {\\n\\t\\t\\t *        return ((x < y) ? -1 : ((x > y) ? 1 : 0));\\n\\t\\t\\t *      },\\n\\t\\t\\t *      \\\"string-case-desc\\\": function(x,y) {\\n\\t\\t\\t *        return ((x < y) ? 1 : ((x > y) ? -1 : 0));\\n\\t\\t\\t *      }\\n\\t\\t\\t *    } );\\n\\t\\t\\t */\\n\\t\\t\\torder: {}\\n\\t\\t},\\n\\t\\n\\t\\t/**\\n\\t\\t * Unique DataTables instance counter\\n\\t\\t *\\n\\t\\t * @type int\\n\\t\\t * @private\\n\\t\\t */\\n\\t\\t_unique: 0,\\n\\t\\n\\t\\n\\t\\t//\\n\\t\\t// Depreciated\\n\\t\\t// The following properties are retained for backwards compatiblity only.\\n\\t\\t// The should not be used in new projects and will be removed in a future\\n\\t\\t// version\\n\\t\\t//\\n\\t\\n\\t\\t/**\\n\\t\\t * Version check function.\\n\\t\\t *  @type function\\n\\t\\t *  @depreciated Since 1.10\\n\\t\\t */\\n\\t\\tfnVersionCheck: DataTable.fnVersionCheck,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Index for what 'this' index API functions should use\\n\\t\\t *  @type int\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t */\\n\\t\\tiApiIndex: 0,\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * jQuery UI class container\\n\\t\\t *  @type object\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t */\\n\\t\\toJUIClasses: {},\\n\\t\\n\\t\\n\\t\\t/**\\n\\t\\t * Software version\\n\\t\\t *  @type string\\n\\t\\t *  @deprecated Since v1.10\\n\\t\\t */\\n\\t\\tsVersion: DataTable.version\\n\\t};\\n\\t\\n\\t\\n\\t//\\n\\t// Backwards compatibility. Alias to pre 1.10 Hungarian notation counter parts\\n\\t//\\n\\t$.extend( _ext, {\\n\\t\\tafnFiltering: _ext.search,\\n\\t\\taTypes:       _ext.type.detect,\\n\\t\\tofnSearch:    _ext.type.search,\\n\\t\\toSort:        _ext.type.order,\\n\\t\\tafnSortData:  _ext.order,\\n\\t\\taoFeatures:   _ext.feature,\\n\\t\\toApi:         _ext.internal,\\n\\t\\toStdClasses:  _ext.classes,\\n\\t\\toPagination:  _ext.pager\\n\\t} );\\n\\t\\n\\t\\n\\t$.extend( DataTable.ext.classes, {\\n\\t\\t\\\"sTable\\\": \\\"dataTable\\\",\\n\\t\\t\\\"sNoFooter\\\": \\\"no-footer\\\",\\n\\t\\n\\t\\t/* Paging buttons */\\n\\t\\t\\\"sPageButton\\\": \\\"paginate_button\\\",\\n\\t\\t\\\"sPageButtonActive\\\": \\\"current\\\",\\n\\t\\t\\\"sPageButtonDisabled\\\": \\\"disabled\\\",\\n\\t\\n\\t\\t/* Striping classes */\\n\\t\\t\\\"sStripeOdd\\\": \\\"odd\\\",\\n\\t\\t\\\"sStripeEven\\\": \\\"even\\\",\\n\\t\\n\\t\\t/* Empty row */\\n\\t\\t\\\"sRowEmpty\\\": \\\"dataTables_empty\\\",\\n\\t\\n\\t\\t/* Features */\\n\\t\\t\\\"sWrapper\\\": \\\"dataTables_wrapper\\\",\\n\\t\\t\\\"sFilter\\\": \\\"dataTables_filter\\\",\\n\\t\\t\\\"sInfo\\\": \\\"dataTables_info\\\",\\n\\t\\t\\\"sPaging\\\": \\\"dataTables_paginate paging_\\\", /* Note that the type is postfixed */\\n\\t\\t\\\"sLength\\\": \\\"dataTables_length\\\",\\n\\t\\t\\\"sProcessing\\\": \\\"dataTables_processing\\\",\\n\\t\\n\\t\\t/* Sorting */\\n\\t\\t\\\"sSortAsc\\\": \\\"sorting_asc\\\",\\n\\t\\t\\\"sSortDesc\\\": \\\"sorting_desc\\\",\\n\\t\\t\\\"sSortable\\\": \\\"sorting\\\", /* Sortable in both directions */\\n\\t\\t\\\"sSortableAsc\\\": \\\"sorting_asc_disabled\\\",\\n\\t\\t\\\"sSortableDesc\\\": \\\"sorting_desc_disabled\\\",\\n\\t\\t\\\"sSortableNone\\\": \\\"sorting_disabled\\\",\\n\\t\\t\\\"sSortColumn\\\": \\\"sorting_\\\", /* Note that an int is postfixed for the sorting order */\\n\\t\\n\\t\\t/* Filtering */\\n\\t\\t\\\"sFilterInput\\\": \\\"\\\",\\n\\t\\n\\t\\t/* Page length */\\n\\t\\t\\\"sLengthSelect\\\": \\\"\\\",\\n\\t\\n\\t\\t/* Scrolling */\\n\\t\\t\\\"sScrollWrapper\\\": \\\"dataTables_scroll\\\",\\n\\t\\t\\\"sScrollHead\\\": \\\"dataTables_scrollHead\\\",\\n\\t\\t\\\"sScrollHeadInner\\\": \\\"dataTables_scrollHeadInner\\\",\\n\\t\\t\\\"sScrollBody\\\": \\\"dataTables_scrollBody\\\",\\n\\t\\t\\\"sScrollFoot\\\": \\\"dataTables_scrollFoot\\\",\\n\\t\\t\\\"sScrollFootInner\\\": \\\"dataTables_scrollFootInner\\\",\\n\\t\\n\\t\\t/* Misc */\\n\\t\\t\\\"sHeaderTH\\\": \\\"\\\",\\n\\t\\t\\\"sFooterTH\\\": \\\"\\\",\\n\\t\\n\\t\\t// Deprecated\\n\\t\\t\\\"sSortJUIAsc\\\": \\\"\\\",\\n\\t\\t\\\"sSortJUIDesc\\\": \\\"\\\",\\n\\t\\t\\\"sSortJUI\\\": \\\"\\\",\\n\\t\\t\\\"sSortJUIAscAllowed\\\": \\\"\\\",\\n\\t\\t\\\"sSortJUIDescAllowed\\\": \\\"\\\",\\n\\t\\t\\\"sSortJUIWrapper\\\": \\\"\\\",\\n\\t\\t\\\"sSortIcon\\\": \\\"\\\",\\n\\t\\t\\\"sJUIHeader\\\": \\\"\\\",\\n\\t\\t\\\"sJUIFooter\\\": \\\"\\\"\\n\\t} );\\n\\t\\n\\t\\n\\tvar extPagination = DataTable.ext.pager;\\n\\t\\n\\tfunction _numbers ( page, pages ) {\\n\\t\\tvar\\n\\t\\t\\tnumbers = [],\\n\\t\\t\\tbuttons = extPagination.numbers_length,\\n\\t\\t\\thalf = Math.floor( buttons / 2 ),\\n\\t\\t\\ti = 1;\\n\\t\\n\\t\\tif ( pages <= buttons ) {\\n\\t\\t\\tnumbers = _range( 0, pages );\\n\\t\\t}\\n\\t\\telse if ( page <= half ) {\\n\\t\\t\\tnumbers = _range( 0, buttons-2 );\\n\\t\\t\\tnumbers.push( 'ellipsis' );\\n\\t\\t\\tnumbers.push( pages-1 );\\n\\t\\t}\\n\\t\\telse if ( page >= pages - 1 - half ) {\\n\\t\\t\\tnumbers = _range( pages-(buttons-2), pages );\\n\\t\\t\\tnumbers.splice( 0, 0, 'ellipsis' ); // no unshift in ie6\\n\\t\\t\\tnumbers.splice( 0, 0, 0 );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tnumbers = _range( page-half+2, page+half-1 );\\n\\t\\t\\tnumbers.push( 'ellipsis' );\\n\\t\\t\\tnumbers.push( pages-1 );\\n\\t\\t\\tnumbers.splice( 0, 0, 'ellipsis' );\\n\\t\\t\\tnumbers.splice( 0, 0, 0 );\\n\\t\\t}\\n\\t\\n\\t\\tnumbers.DT_el = 'span';\\n\\t\\treturn numbers;\\n\\t}\\n\\t\\n\\t\\n\\t$.extend( extPagination, {\\n\\t\\tsimple: function ( page, pages ) {\\n\\t\\t\\treturn [ 'previous', 'next' ];\\n\\t\\t},\\n\\t\\n\\t\\tfull: function ( page, pages ) {\\n\\t\\t\\treturn [  'first', 'previous', 'next', 'last' ];\\n\\t\\t},\\n\\t\\n\\t\\tnumbers: function ( page, pages ) {\\n\\t\\t\\treturn [ _numbers(page, pages) ];\\n\\t\\t},\\n\\t\\n\\t\\tsimple_numbers: function ( page, pages ) {\\n\\t\\t\\treturn [ 'previous', _numbers(page, pages), 'next' ];\\n\\t\\t},\\n\\t\\n\\t\\tfull_numbers: function ( page, pages ) {\\n\\t\\t\\treturn [ 'first', 'previous', _numbers(page, pages), 'next', 'last' ];\\n\\t\\t},\\n\\t\\t\\n\\t\\tfirst_last_numbers: function (page, pages) {\\n\\t \\t\\treturn ['first', _numbers(page, pages), 'last'];\\n\\t \\t},\\n\\t\\n\\t\\t// For testing and plug-ins to use\\n\\t\\t_numbers: _numbers,\\n\\t\\n\\t\\t// Number of number buttons (including ellipsis) to show. _Must be odd!_\\n\\t\\tnumbers_length: 7\\n\\t} );\\n\\t\\n\\t\\n\\t$.extend( true, DataTable.ext.renderer, {\\n\\t\\tpageButton: {\\n\\t\\t\\t_: function ( settings, host, idx, buttons, page, pages ) {\\n\\t\\t\\t\\tvar classes = settings.oClasses;\\n\\t\\t\\t\\tvar lang = settings.oLanguage.oPaginate;\\n\\t\\t\\t\\tvar aria = settings.oLanguage.oAria.paginate || {};\\n\\t\\t\\t\\tvar btnDisplay, btnClass, counter=0;\\n\\t\\n\\t\\t\\t\\tvar attach = function( container, buttons ) {\\n\\t\\t\\t\\t\\tvar i, ien, node, button;\\n\\t\\t\\t\\t\\tvar clickHandler = function ( e ) {\\n\\t\\t\\t\\t\\t\\t_fnPageChange( settings, e.data.action, true );\\n\\t\\t\\t\\t\\t};\\n\\t\\n\\t\\t\\t\\t\\tfor ( i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\t\\tbutton = buttons[i];\\n\\t\\n\\t\\t\\t\\t\\t\\tif ( $.isArray( button ) ) {\\n\\t\\t\\t\\t\\t\\t\\tvar inner = $( '<'+(button.DT_el || 'div')+'/>' )\\n\\t\\t\\t\\t\\t\\t\\t\\t.appendTo( container );\\n\\t\\t\\t\\t\\t\\t\\tattach( inner, button );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\t\\tbtnDisplay = null;\\n\\t\\t\\t\\t\\t\\t\\tbtnClass = '';\\n\\t\\n\\t\\t\\t\\t\\t\\t\\tswitch ( button ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tcase 'ellipsis':\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tcontainer.append('<span class=\\\"ellipsis\\\">&#x2026;</span>');\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tcase 'first':\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sFirst;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnClass = button + (page > 0 ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'' : ' '+classes.sPageButtonDisabled);\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tcase 'previous':\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sPrevious;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnClass = button + (page > 0 ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'' : ' '+classes.sPageButtonDisabled);\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tcase 'next':\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sNext;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnClass = button + (page < pages-1 ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'' : ' '+classes.sPageButtonDisabled);\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tcase 'last':\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sLast;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnClass = button + (page < pages-1 ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'' : ' '+classes.sPageButtonDisabled);\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tdefault:\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnDisplay = button + 1;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbtnClass = page === button ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tclasses.sPageButtonActive : '';\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\t\\t\\tif ( btnDisplay !== null ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tnode = $('<a>', {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'class': classes.sPageButton+' '+btnClass,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'aria-controls': settings.sTableId,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'aria-label': aria[ button ],\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'data-dt-idx': counter,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'tabindex': settings.iTabIndex,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t'id': idx === 0 && typeof button === 'string' ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tsettings.sTableId +'_'+ button :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnull\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.html( btnDisplay )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t.appendTo( container );\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\t_fnBindAction(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tnode, {action: button}, clickHandler\\n\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\n\\t\\t\\t\\t\\t\\t\\t\\tcounter++;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\n\\t\\t\\t\\t// IE9 throws an 'unknown error' if document.activeElement is used\\n\\t\\t\\t\\t// inside an iframe or frame. Try / catch the error. Not good for\\n\\t\\t\\t\\t// accessibility, but neither are frames.\\n\\t\\t\\t\\tvar activeEl;\\n\\t\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t// Because this approach is destroying and recreating the paging\\n\\t\\t\\t\\t\\t// elements, focus is lost on the select button which is bad for\\n\\t\\t\\t\\t\\t// accessibility. So we want to restore focus once the draw has\\n\\t\\t\\t\\t\\t// completed\\n\\t\\t\\t\\t\\tactiveEl = $(host).find(document.activeElement).data('dt-idx');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tcatch (e) {}\\n\\t\\n\\t\\t\\t\\tattach( $(host).empty(), buttons );\\n\\t\\n\\t\\t\\t\\tif ( activeEl !== undefined ) {\\n\\t\\t\\t\\t\\t$(host).find( '[data-dt-idx='+activeEl+']' ).focus();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\t// Built in type detection. See model.ext.aTypes for information about\\n\\t// what is required from this methods.\\n\\t$.extend( DataTable.ext.type.detect, [\\n\\t\\t// Plain numbers - first since V8 detects some plain numbers as dates\\n\\t\\t// e.g. Date.parse('55') (but not all, e.g. Date.parse('22')...).\\n\\t\\tfunction ( d, settings )\\n\\t\\t{\\n\\t\\t\\tvar decimal = settings.oLanguage.sDecimal;\\n\\t\\t\\treturn _isNumber( d, decimal ) ? 'num'+decimal : null;\\n\\t\\t},\\n\\t\\n\\t\\t// Dates (only those recognised by the browser's Date.parse)\\n\\t\\tfunction ( d, settings )\\n\\t\\t{\\n\\t\\t\\t// V8 tries _very_ hard to make a string passed into `Date.parse()`\\n\\t\\t\\t// valid, so we need to use a regex to restrict date formats. Use a\\n\\t\\t\\t// plug-in for anything other than ISO8601 style strings\\n\\t\\t\\tif ( d && !(d instanceof Date) && ! _re_date.test(d) ) {\\n\\t\\t\\t\\treturn null;\\n\\t\\t\\t}\\n\\t\\t\\tvar parsed = Date.parse(d);\\n\\t\\t\\treturn (parsed !== null && !isNaN(parsed)) || _empty(d) ? 'date' : null;\\n\\t\\t},\\n\\t\\n\\t\\t// Formatted numbers\\n\\t\\tfunction ( d, settings )\\n\\t\\t{\\n\\t\\t\\tvar decimal = settings.oLanguage.sDecimal;\\n\\t\\t\\treturn _isNumber( d, decimal, true ) ? 'num-fmt'+decimal : null;\\n\\t\\t},\\n\\t\\n\\t\\t// HTML numeric\\n\\t\\tfunction ( d, settings )\\n\\t\\t{\\n\\t\\t\\tvar decimal = settings.oLanguage.sDecimal;\\n\\t\\t\\treturn _htmlNumeric( d, decimal ) ? 'html-num'+decimal : null;\\n\\t\\t},\\n\\t\\n\\t\\t// HTML numeric, formatted\\n\\t\\tfunction ( d, settings )\\n\\t\\t{\\n\\t\\t\\tvar decimal = settings.oLanguage.sDecimal;\\n\\t\\t\\treturn _htmlNumeric( d, decimal, true ) ? 'html-num-fmt'+decimal : null;\\n\\t\\t},\\n\\t\\n\\t\\t// HTML (this is strict checking - there must be html)\\n\\t\\tfunction ( d, settings )\\n\\t\\t{\\n\\t\\t\\treturn _empty( d ) || (typeof d === 'string' && d.indexOf('<') !== -1) ?\\n\\t\\t\\t\\t'html' : null;\\n\\t\\t}\\n\\t] );\\n\\t\\n\\t\\n\\t\\n\\t// Filter formatting functions. See model.ext.ofnSearch for information about\\n\\t// what is required from these methods.\\n\\t// \\n\\t// Note that additional search methods are added for the html numbers and\\n\\t// html formatted numbers by `_addNumericSort()` when we know what the decimal\\n\\t// place is\\n\\t\\n\\t\\n\\t$.extend( DataTable.ext.type.search, {\\n\\t\\thtml: function ( data ) {\\n\\t\\t\\treturn _empty(data) ?\\n\\t\\t\\t\\tdata :\\n\\t\\t\\t\\ttypeof data === 'string' ?\\n\\t\\t\\t\\t\\tdata\\n\\t\\t\\t\\t\\t\\t.replace( _re_new_lines, \\\" \\\" )\\n\\t\\t\\t\\t\\t\\t.replace( _re_html, \\\"\\\" ) :\\n\\t\\t\\t\\t\\t'';\\n\\t\\t},\\n\\t\\n\\t\\tstring: function ( data ) {\\n\\t\\t\\treturn _empty(data) ?\\n\\t\\t\\t\\tdata :\\n\\t\\t\\t\\ttypeof data === 'string' ?\\n\\t\\t\\t\\t\\tdata.replace( _re_new_lines, \\\" \\\" ) :\\n\\t\\t\\t\\t\\tdata;\\n\\t\\t}\\n\\t} );\\n\\t\\n\\t\\n\\t\\n\\tvar __numericReplace = function ( d, decimalPlace, re1, re2 ) {\\n\\t\\tif ( d !== 0 && (!d || d === '-') ) {\\n\\t\\t\\treturn -Infinity;\\n\\t\\t}\\n\\t\\n\\t\\t// If a decimal place other than `.` is used, it needs to be given to the\\n\\t\\t// function so we can detect it and replace with a `.` which is the only\\n\\t\\t// decimal place Javascript recognises - it is not locale aware.\\n\\t\\tif ( decimalPlace ) {\\n\\t\\t\\td = _numToDecimal( d, decimalPlace );\\n\\t\\t}\\n\\t\\n\\t\\tif ( d.replace ) {\\n\\t\\t\\tif ( re1 ) {\\n\\t\\t\\t\\td = d.replace( re1, '' );\\n\\t\\t\\t}\\n\\t\\n\\t\\t\\tif ( re2 ) {\\n\\t\\t\\t\\td = d.replace( re2, '' );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\n\\t\\treturn d * 1;\\n\\t};\\n\\t\\n\\t\\n\\t// Add the numeric 'deformatting' functions for sorting and search. This is done\\n\\t// in a function to provide an easy ability for the language options to add\\n\\t// additional methods if a non-period decimal place is used.\\n\\tfunction _addNumericSort ( decimalPlace ) {\\n\\t\\t$.each(\\n\\t\\t\\t{\\n\\t\\t\\t\\t// Plain numbers\\n\\t\\t\\t\\t\\\"num\\\": function ( d ) {\\n\\t\\t\\t\\t\\treturn __numericReplace( d, decimalPlace );\\n\\t\\t\\t\\t},\\n\\t\\n\\t\\t\\t\\t// Formatted numbers\\n\\t\\t\\t\\t\\\"num-fmt\\\": function ( d ) {\\n\\t\\t\\t\\t\\treturn __numericReplace( d, decimalPlace, _re_formatted_numeric );\\n\\t\\t\\t\\t},\\n\\t\\n\\t\\t\\t\\t// HTML numeric\\n\\t\\t\\t\\t\\\"html-num\\\": function ( d ) {\\n\\t\\t\\t\\t\\treturn __numericReplace( d, decimalPlace, _re_html );\\n\\t\\t\\t\\t},\\n\\t\\n\\t\\t\\t\\t// HTML numeric, formatted\\n\\t\\t\\t\\t\\\"html-num-fmt\\\": function ( d ) {\\n\\t\\t\\t\\t\\treturn __numericReplace( d, decimalPlace, _re_html, _re_formatted_numeric );\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\tfunction ( key, fn ) {\\n\\t\\t\\t\\t// Add the ordering method\\n\\t\\t\\t\\t_ext.type.order[ key+decimalPlace+'-pre' ] = fn;\\n\\t\\n\\t\\t\\t\\t// For HTML types add a search formatter that will strip the HTML\\n\\t\\t\\t\\tif ( key.match(/^html\\\\-/) ) {\\n\\t\\t\\t\\t\\t_ext.type.search[ key+decimalPlace ] = _ext.type.search.html;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t);\\n\\t}\\n\\t\\n\\t\\n\\t// Default sort methods\\n\\t$.extend( _ext.type.order, {\\n\\t\\t// Dates\\n\\t\\t\\\"date-pre\\\": function ( d ) {\\n\\t\\t\\tvar ts = Date.parse( d );\\n\\t\\t\\treturn isNaN(ts) ? -Infinity : ts;\\n\\t\\t},\\n\\t\\n\\t\\t// html\\n\\t\\t\\\"html-pre\\\": function ( a ) {\\n\\t\\t\\treturn _empty(a) ?\\n\\t\\t\\t\\t'' :\\n\\t\\t\\t\\ta.replace ?\\n\\t\\t\\t\\t\\ta.replace( /<.*?>/g, \\\"\\\" ).toLowerCase() :\\n\\t\\t\\t\\t\\ta+'';\\n\\t\\t},\\n\\t\\n\\t\\t// string\\n\\t\\t\\\"string-pre\\\": function ( a ) {\\n\\t\\t\\t// This is a little complex, but faster than always calling toString,\\n\\t\\t\\t// http://jsperf.com/tostring-v-check\\n\\t\\t\\treturn _empty(a) ?\\n\\t\\t\\t\\t'' :\\n\\t\\t\\t\\ttypeof a === 'string' ?\\n\\t\\t\\t\\t\\ta.toLowerCase() :\\n\\t\\t\\t\\t\\t! a.toString ?\\n\\t\\t\\t\\t\\t\\t'' :\\n\\t\\t\\t\\t\\t\\ta.toString();\\n\\t\\t},\\n\\t\\n\\t\\t// string-asc and -desc are retained only for compatibility with the old\\n\\t\\t// sort methods\\n\\t\\t\\\"string-asc\\\": function ( x, y ) {\\n\\t\\t\\treturn ((x < y) ? -1 : ((x > y) ? 1 : 0));\\n\\t\\t},\\n\\t\\n\\t\\t\\\"string-desc\\\": function ( x, y ) {\\n\\t\\t\\treturn ((x < y) ? 1 : ((x > y) ? -1 : 0));\\n\\t\\t}\\n\\t} );\\n\\t\\n\\t\\n\\t// Numeric sorting types - order doesn't matter here\\n\\t_addNumericSort( '' );\\n\\t\\n\\t\\n\\t$.extend( true, DataTable.ext.renderer, {\\n\\t\\theader: {\\n\\t\\t\\t_: function ( settings, cell, column, classes ) {\\n\\t\\t\\t\\t// No additional mark-up required\\n\\t\\t\\t\\t// Attach a sort listener to update on sort - note that using the\\n\\t\\t\\t\\t// `DT` namespace will allow the event to be removed automatically\\n\\t\\t\\t\\t// on destroy, while the `dt` namespaced event is the one we are\\n\\t\\t\\t\\t// listening for\\n\\t\\t\\t\\t$(settings.nTable).on( 'order.dt.DT', function ( e, ctx, sorting, columns ) {\\n\\t\\t\\t\\t\\tif ( settings !== ctx ) { // need to check this this is the host\\n\\t\\t\\t\\t\\t\\treturn;               // table, not a nested one\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tvar colIdx = column.idx;\\n\\t\\n\\t\\t\\t\\t\\tcell\\n\\t\\t\\t\\t\\t\\t.removeClass(\\n\\t\\t\\t\\t\\t\\t\\tcolumn.sSortingClass +' '+\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortAsc +' '+\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortDesc\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t.addClass( columns[ colIdx ] == 'asc' ?\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortAsc : columns[ colIdx ] == 'desc' ?\\n\\t\\t\\t\\t\\t\\t\\t\\tclasses.sSortDesc :\\n\\t\\t\\t\\t\\t\\t\\t\\tcolumn.sSortingClass\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t} );\\n\\t\\t\\t},\\n\\t\\n\\t\\t\\tjqueryui: function ( settings, cell, column, classes ) {\\n\\t\\t\\t\\t$('<div/>')\\n\\t\\t\\t\\t\\t.addClass( classes.sSortJUIWrapper )\\n\\t\\t\\t\\t\\t.append( cell.contents() )\\n\\t\\t\\t\\t\\t.append( $('<span/>')\\n\\t\\t\\t\\t\\t\\t.addClass( classes.sSortIcon+' '+column.sSortingClassJUI )\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t.appendTo( cell );\\n\\t\\n\\t\\t\\t\\t// Attach a sort listener to update on sort\\n\\t\\t\\t\\t$(settings.nTable).on( 'order.dt.DT', function ( e, ctx, sorting, columns ) {\\n\\t\\t\\t\\t\\tif ( settings !== ctx ) {\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tvar colIdx = column.idx;\\n\\t\\n\\t\\t\\t\\t\\tcell\\n\\t\\t\\t\\t\\t\\t.removeClass( classes.sSortAsc +\\\" \\\"+classes.sSortDesc )\\n\\t\\t\\t\\t\\t\\t.addClass( columns[ colIdx ] == 'asc' ?\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortAsc : columns[ colIdx ] == 'desc' ?\\n\\t\\t\\t\\t\\t\\t\\t\\tclasses.sSortDesc :\\n\\t\\t\\t\\t\\t\\t\\t\\tcolumn.sSortingClass\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\n\\t\\t\\t\\t\\tcell\\n\\t\\t\\t\\t\\t\\t.find( 'span.'+classes.sSortIcon )\\n\\t\\t\\t\\t\\t\\t.removeClass(\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUIAsc +\\\" \\\"+\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUIDesc +\\\" \\\"+\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUI +\\\" \\\"+\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUIAscAllowed +\\\" \\\"+\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUIDescAllowed\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t.addClass( columns[ colIdx ] == 'asc' ?\\n\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUIAsc : columns[ colIdx ] == 'desc' ?\\n\\t\\t\\t\\t\\t\\t\\t\\tclasses.sSortJUIDesc :\\n\\t\\t\\t\\t\\t\\t\\t\\tcolumn.sSortingClassJUI\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} );\\n\\t\\n\\t/*\\n\\t * Public helper functions. These aren't used internally by DataTables, or\\n\\t * called by any of the options passed into DataTables, but they can be used\\n\\t * externally by developers working with DataTables. They are helper functions\\n\\t * to make working with DataTables a little bit easier.\\n\\t */\\n\\t\\n\\tvar __htmlEscapeEntities = function ( d ) {\\n\\t\\treturn typeof d === 'string' ?\\n\\t\\t\\td.replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\\"/g, '&quot;') :\\n\\t\\t\\td;\\n\\t};\\n\\t\\n\\t/**\\n\\t * Helpers for `columns.render`.\\n\\t *\\n\\t * The options defined here can be used with the `columns.render` initialisation\\n\\t * option to provide a display renderer. The following functions are defined:\\n\\t *\\n\\t * * `number` - Will format numeric data (defined by `columns.data`) for\\n\\t *   display, retaining the original unformatted data for sorting and filtering.\\n\\t *   It takes 5 parameters:\\n\\t *   * `string` - Thousands grouping separator\\n\\t *   * `string` - Decimal point indicator\\n\\t *   * `integer` - Number of decimal points to show\\n\\t *   * `string` (optional) - Prefix.\\n\\t *   * `string` (optional) - Postfix (/suffix).\\n\\t * * `text` - Escape HTML to help prevent XSS attacks. It has no optional\\n\\t *   parameters.\\n\\t *\\n\\t * @example\\n\\t *   // Column definition using the number renderer\\n\\t *   {\\n\\t *     data: \\\"salary\\\",\\n\\t *     render: $.fn.dataTable.render.number( '\\\\'', '.', 0, '$' )\\n\\t *   }\\n\\t *\\n\\t * @namespace\\n\\t */\\n\\tDataTable.render = {\\n\\t\\tnumber: function ( thousands, decimal, precision, prefix, postfix ) {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tdisplay: function ( d ) {\\n\\t\\t\\t\\t\\tif ( typeof d !== 'number' && typeof d !== 'string' ) {\\n\\t\\t\\t\\t\\t\\treturn d;\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tvar negative = d < 0 ? '-' : '';\\n\\t\\t\\t\\t\\tvar flo = parseFloat( d );\\n\\t\\n\\t\\t\\t\\t\\t// If NaN then there isn't much formatting that we can do - just\\n\\t\\t\\t\\t\\t// return immediately, escaping any HTML (this was supposed to\\n\\t\\t\\t\\t\\t// be a number after all)\\n\\t\\t\\t\\t\\tif ( isNaN( flo ) ) {\\n\\t\\t\\t\\t\\t\\treturn __htmlEscapeEntities( d );\\n\\t\\t\\t\\t\\t}\\n\\t\\n\\t\\t\\t\\t\\tflo = flo.toFixed( precision );\\n\\t\\t\\t\\t\\td = Math.abs( flo );\\n\\t\\n\\t\\t\\t\\t\\tvar intPart = parseInt( d, 10 );\\n\\t\\t\\t\\t\\tvar floatPart = precision ?\\n\\t\\t\\t\\t\\t\\tdecimal+(d - intPart).toFixed( precision ).substring( 2 ):\\n\\t\\t\\t\\t\\t\\t'';\\n\\t\\n\\t\\t\\t\\t\\treturn negative + (prefix||'') +\\n\\t\\t\\t\\t\\t\\tintPart.toString().replace(\\n\\t\\t\\t\\t\\t\\t\\t/\\\\B(?=(\\\\d{3})+(?!\\\\d))/g, thousands\\n\\t\\t\\t\\t\\t\\t) +\\n\\t\\t\\t\\t\\t\\tfloatPart +\\n\\t\\t\\t\\t\\t\\t(postfix||'');\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t},\\n\\t\\n\\t\\ttext: function () {\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tdisplay: __htmlEscapeEntities,\\n\\t\\t\\t\\tfilter: __htmlEscapeEntities\\n\\t\\t\\t};\\n\\t\\t}\\n\\t};\\n\\t\\n\\t\\n\\t/*\\n\\t * This is really a good bit rubbish this method of exposing the internal methods\\n\\t * publicly... - To be fixed in 2.0 using methods on the prototype\\n\\t */\\n\\t\\n\\t\\n\\t/**\\n\\t * Create a wrapper function for exporting an internal functions to an external API.\\n\\t *  @param {string} fn API function name\\n\\t *  @returns {function} wrapped function\\n\\t *  @memberof DataTable#internal\\n\\t */\\n\\tfunction _fnExternApiFunc (fn)\\n\\t{\\n\\t\\treturn function() {\\n\\t\\t\\tvar args = [_fnSettingsFromNode( this[DataTable.ext.iApiIndex] )].concat(\\n\\t\\t\\t\\tArray.prototype.slice.call(arguments)\\n\\t\\t\\t);\\n\\t\\t\\treturn DataTable.ext.internal[fn].apply( this, args );\\n\\t\\t};\\n\\t}\\n\\t\\n\\t\\n\\t/**\\n\\t * Reference to internal functions for use by plug-in developers. Note that\\n\\t * these methods are references to internal functions and are considered to be\\n\\t * private. If you use these methods, be aware that they are liable to change\\n\\t * between versions.\\n\\t *  @namespace\\n\\t */\\n\\t$.extend( DataTable.ext.internal, {\\n\\t\\t_fnExternApiFunc: _fnExternApiFunc,\\n\\t\\t_fnBuildAjax: _fnBuildAjax,\\n\\t\\t_fnAjaxUpdate: _fnAjaxUpdate,\\n\\t\\t_fnAjaxParameters: _fnAjaxParameters,\\n\\t\\t_fnAjaxUpdateDraw: _fnAjaxUpdateDraw,\\n\\t\\t_fnAjaxDataSrc: _fnAjaxDataSrc,\\n\\t\\t_fnAddColumn: _fnAddColumn,\\n\\t\\t_fnColumnOptions: _fnColumnOptions,\\n\\t\\t_fnAdjustColumnSizing: _fnAdjustColumnSizing,\\n\\t\\t_fnVisibleToColumnIndex: _fnVisibleToColumnIndex,\\n\\t\\t_fnColumnIndexToVisible: _fnColumnIndexToVisible,\\n\\t\\t_fnVisbleColumns: _fnVisbleColumns,\\n\\t\\t_fnGetColumns: _fnGetColumns,\\n\\t\\t_fnColumnTypes: _fnColumnTypes,\\n\\t\\t_fnApplyColumnDefs: _fnApplyColumnDefs,\\n\\t\\t_fnHungarianMap: _fnHungarianMap,\\n\\t\\t_fnCamelToHungarian: _fnCamelToHungarian,\\n\\t\\t_fnLanguageCompat: _fnLanguageCompat,\\n\\t\\t_fnBrowserDetect: _fnBrowserDetect,\\n\\t\\t_fnAddData: _fnAddData,\\n\\t\\t_fnAddTr: _fnAddTr,\\n\\t\\t_fnNodeToDataIndex: _fnNodeToDataIndex,\\n\\t\\t_fnNodeToColumnIndex: _fnNodeToColumnIndex,\\n\\t\\t_fnGetCellData: _fnGetCellData,\\n\\t\\t_fnSetCellData: _fnSetCellData,\\n\\t\\t_fnSplitObjNotation: _fnSplitObjNotation,\\n\\t\\t_fnGetObjectDataFn: _fnGetObjectDataFn,\\n\\t\\t_fnSetObjectDataFn: _fnSetObjectDataFn,\\n\\t\\t_fnGetDataMaster: _fnGetDataMaster,\\n\\t\\t_fnClearTable: _fnClearTable,\\n\\t\\t_fnDeleteIndex: _fnDeleteIndex,\\n\\t\\t_fnInvalidate: _fnInvalidate,\\n\\t\\t_fnGetRowElements: _fnGetRowElements,\\n\\t\\t_fnCreateTr: _fnCreateTr,\\n\\t\\t_fnBuildHead: _fnBuildHead,\\n\\t\\t_fnDrawHead: _fnDrawHead,\\n\\t\\t_fnDraw: _fnDraw,\\n\\t\\t_fnReDraw: _fnReDraw,\\n\\t\\t_fnAddOptionsHtml: _fnAddOptionsHtml,\\n\\t\\t_fnDetectHeader: _fnDetectHeader,\\n\\t\\t_fnGetUniqueThs: _fnGetUniqueThs,\\n\\t\\t_fnFeatureHtmlFilter: _fnFeatureHtmlFilter,\\n\\t\\t_fnFilterComplete: _fnFilterComplete,\\n\\t\\t_fnFilterCustom: _fnFilterCustom,\\n\\t\\t_fnFilterColumn: _fnFilterColumn,\\n\\t\\t_fnFilter: _fnFilter,\\n\\t\\t_fnFilterCreateSearch: _fnFilterCreateSearch,\\n\\t\\t_fnEscapeRegex: _fnEscapeRegex,\\n\\t\\t_fnFilterData: _fnFilterData,\\n\\t\\t_fnFeatureHtmlInfo: _fnFeatureHtmlInfo,\\n\\t\\t_fnUpdateInfo: _fnUpdateInfo,\\n\\t\\t_fnInfoMacros: _fnInfoMacros,\\n\\t\\t_fnInitialise: _fnInitialise,\\n\\t\\t_fnInitComplete: _fnInitComplete,\\n\\t\\t_fnLengthChange: _fnLengthChange,\\n\\t\\t_fnFeatureHtmlLength: _fnFeatureHtmlLength,\\n\\t\\t_fnFeatureHtmlPaginate: _fnFeatureHtmlPaginate,\\n\\t\\t_fnPageChange: _fnPageChange,\\n\\t\\t_fnFeatureHtmlProcessing: _fnFeatureHtmlProcessing,\\n\\t\\t_fnProcessingDisplay: _fnProcessingDisplay,\\n\\t\\t_fnFeatureHtmlTable: _fnFeatureHtmlTable,\\n\\t\\t_fnScrollDraw: _fnScrollDraw,\\n\\t\\t_fnApplyToChildren: _fnApplyToChildren,\\n\\t\\t_fnCalculateColumnWidths: _fnCalculateColumnWidths,\\n\\t\\t_fnThrottle: _fnThrottle,\\n\\t\\t_fnConvertToWidth: _fnConvertToWidth,\\n\\t\\t_fnGetWidestNode: _fnGetWidestNode,\\n\\t\\t_fnGetMaxLenString: _fnGetMaxLenString,\\n\\t\\t_fnStringToCss: _fnStringToCss,\\n\\t\\t_fnSortFlatten: _fnSortFlatten,\\n\\t\\t_fnSort: _fnSort,\\n\\t\\t_fnSortAria: _fnSortAria,\\n\\t\\t_fnSortListener: _fnSortListener,\\n\\t\\t_fnSortAttachListener: _fnSortAttachListener,\\n\\t\\t_fnSortingClasses: _fnSortingClasses,\\n\\t\\t_fnSortData: _fnSortData,\\n\\t\\t_fnSaveState: _fnSaveState,\\n\\t\\t_fnLoadState: _fnLoadState,\\n\\t\\t_fnSettingsFromNode: _fnSettingsFromNode,\\n\\t\\t_fnLog: _fnLog,\\n\\t\\t_fnMap: _fnMap,\\n\\t\\t_fnBindAction: _fnBindAction,\\n\\t\\t_fnCallbackReg: _fnCallbackReg,\\n\\t\\t_fnCallbackFire: _fnCallbackFire,\\n\\t\\t_fnLengthOverflow: _fnLengthOverflow,\\n\\t\\t_fnRenderer: _fnRenderer,\\n\\t\\t_fnDataSource: _fnDataSource,\\n\\t\\t_fnRowAttributes: _fnRowAttributes,\\n\\t\\t_fnExtend: _fnExtend,\\n\\t\\t_fnCalculateEnd: function () {} // Used by a lot of plug-ins, but redundant\\n\\t\\t                                // in 1.10, so this dead-end function is\\n\\t\\t                                // added to prevent errors\\n\\t} );\\n\\t\\n\\n\\t// jQuery access\\n\\t$.fn.dataTable = DataTable;\\n\\n\\t// Provide access to the host jQuery object (circular reference)\\n\\tDataTable.$ = $;\\n\\n\\t// Legacy aliases\\n\\t$.fn.dataTableSettings = DataTable.settings;\\n\\t$.fn.dataTableExt = DataTable.ext;\\n\\n\\t// With a capital `D` we return a DataTables API instance rather than a\\n\\t// jQuery object\\n\\t$.fn.DataTable = function ( opts ) {\\n\\t\\treturn $(this).dataTable( opts ).api();\\n\\t};\\n\\n\\t// All properties that are available to $.fn.dataTable should also be\\n\\t// available on $.fn.DataTable\\n\\t$.each( DataTable, function ( prop, val ) {\\n\\t\\t$.fn.DataTable[ prop ] = val;\\n\\t} );\\n\\n\\n\\t// Information about events fired by DataTables - for documentation.\\n\\t/**\\n\\t * Draw event, fired whenever the table is redrawn on the page, at the same\\n\\t * point as fnDrawCallback. This may be useful for binding events or\\n\\t * performing calculations when the table is altered at all.\\n\\t *  @name DataTable#draw.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t */\\n\\n\\t/**\\n\\t * Search event, fired when the searching applied to the table (using the\\n\\t * built-in global search, or column filters) is altered.\\n\\t *  @name DataTable#search.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t */\\n\\n\\t/**\\n\\t * Page change event, fired when the paging of the table is altered.\\n\\t *  @name DataTable#page.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t */\\n\\n\\t/**\\n\\t * Order event, fired when the ordering applied to the table is altered.\\n\\t *  @name DataTable#order.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t */\\n\\n\\t/**\\n\\t * DataTables initialisation complete event, fired when the table is fully\\n\\t * drawn, including Ajax data loaded, if Ajax data is required.\\n\\t *  @name DataTable#init.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} oSettings DataTables settings object\\n\\t *  @param {object} json The JSON object request from the server - only\\n\\t *    present if client-side Ajax sourced data is used</li></ol>\\n\\t */\\n\\n\\t/**\\n\\t * State save event, fired when the table has changed state a new state save\\n\\t * is required. This event allows modification of the state saving object\\n\\t * prior to actually doing the save, including addition or other state\\n\\t * properties (for plug-ins) or modification of a DataTables core property.\\n\\t *  @name DataTable#stateSaveParams.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} oSettings DataTables settings object\\n\\t *  @param {object} json The state information to be saved\\n\\t */\\n\\n\\t/**\\n\\t * State load event, fired when the table is loading state from the stored\\n\\t * data, but prior to the settings object being modified by the saved state\\n\\t * - allowing modification of the saved state is required or loading of\\n\\t * state for a plug-in.\\n\\t *  @name DataTable#stateLoadParams.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} oSettings DataTables settings object\\n\\t *  @param {object} json The saved state information\\n\\t */\\n\\n\\t/**\\n\\t * State loaded event, fired when state has been loaded from stored data and\\n\\t * the settings object has been modified by the loaded data.\\n\\t *  @name DataTable#stateLoaded.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} oSettings DataTables settings object\\n\\t *  @param {object} json The saved state information\\n\\t */\\n\\n\\t/**\\n\\t * Processing event, fired when DataTables is doing some kind of processing\\n\\t * (be it, order, searcg or anything else). It can be used to indicate to\\n\\t * the end user that there is something happening, or that something has\\n\\t * finished.\\n\\t *  @name DataTable#processing.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} oSettings DataTables settings object\\n\\t *  @param {boolean} bShow Flag for if DataTables is doing processing or not\\n\\t */\\n\\n\\t/**\\n\\t * Ajax (XHR) event, fired whenever an Ajax request is completed from a\\n\\t * request to made to the server for new data. This event is called before\\n\\t * DataTables processed the returned data, so it can also be used to pre-\\n\\t * process the data returned from the server, if needed.\\n\\t *\\n\\t * Note that this trigger is called in `fnServerData`, if you override\\n\\t * `fnServerData` and which to use this event, you need to trigger it in you\\n\\t * success function.\\n\\t *  @name DataTable#xhr.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t *  @param {object} json JSON returned from the server\\n\\t *\\n\\t *  @example\\n\\t *     // Use a custom property returned from the server in another DOM element\\n\\t *     $('#table').dataTable().on('xhr.dt', function (e, settings, json) {\\n\\t *       $('#status').html( json.status );\\n\\t *     } );\\n\\t *\\n\\t *  @example\\n\\t *     // Pre-process the data returned from the server\\n\\t *     $('#table').dataTable().on('xhr.dt', function (e, settings, json) {\\n\\t *       for ( var i=0, ien=json.aaData.length ; i<ien ; i++ ) {\\n\\t *         json.aaData[i].sum = json.aaData[i].one + json.aaData[i].two;\\n\\t *       }\\n\\t *       // Note no return - manipulate the data directly in the JSON object.\\n\\t *     } );\\n\\t */\\n\\n\\t/**\\n\\t * Destroy event, fired when the DataTable is destroyed by calling fnDestroy\\n\\t * or passing the bDestroy:true parameter in the initialisation object. This\\n\\t * can be used to remove bound events, added DOM nodes, etc.\\n\\t *  @name DataTable#destroy.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t */\\n\\n\\t/**\\n\\t * Page length change event, fired when number of records to show on each\\n\\t * page (the length) is changed.\\n\\t *  @name DataTable#length.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t *  @param {integer} len New length\\n\\t */\\n\\n\\t/**\\n\\t * Column sizing has changed.\\n\\t *  @name DataTable#column-sizing.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t */\\n\\n\\t/**\\n\\t * Column visibility has changed.\\n\\t *  @name DataTable#column-visibility.dt\\n\\t *  @event\\n\\t *  @param {event} e jQuery event object\\n\\t *  @param {object} o DataTables settings object {@link DataTable.models.oSettings}\\n\\t *  @param {int} column Column index\\n\\t *  @param {bool} vis `false` if column now hidden, or `true` if visible\\n\\t */\\n\\n\\treturn $.fn.dataTable;\\n}));\\n\"},function(t,e,l){l(0)(l(117))},function(t,e){t.exports=\"/*! DataTables Bootstrap 4 integration\\n * ©2011-2017 SpryMedia Ltd - datatables.net/license\\n */\\n\\n/**\\n * DataTables integration for Bootstrap 4. This requires Bootstrap 4 and\\n * DataTables 1.10 or newer.\\n *\\n * This file sets the defaults and adds options to DataTables to style its\\n * controls using Bootstrap. See http://datatables.net/manual/styling/bootstrap\\n * for further information.\\n */\\n(function( factory ){\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t// Require DataTables, which attaches to jQuery, including\\n\\t\\t\\t\\t// jQuery if needed and have a $ property so we can access the\\n\\t\\t\\t\\t// jQuery object that is used\\n\\t\\t\\t\\t$ = require('datatables.net')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, undefined ) {\\n'use strict';\\nvar DataTable = $.fn.dataTable;\\n\\n\\n/* Set the defaults for DataTables initialisation */\\n$.extend( true, DataTable.defaults, {\\n\\tdom:\\n\\t\\t\\\"<'row'<'col-sm-12 col-md-6'l><'col-sm-12 col-md-6'f>>\\\" +\\n\\t\\t\\\"<'row'<'col-sm-12'tr>>\\\" +\\n\\t\\t\\\"<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>\\\",\\n\\trenderer: 'bootstrap'\\n} );\\n\\n\\n/* Default class modification */\\n$.extend( DataTable.ext.classes, {\\n\\tsWrapper:      \\\"dataTables_wrapper dt-bootstrap4\\\",\\n\\tsFilterInput:  \\\"form-control form-control-sm\\\",\\n\\tsLengthSelect: \\\"custom-select custom-select-sm form-control form-control-sm\\\",\\n\\tsProcessing:   \\\"dataTables_processing card\\\",\\n\\tsPageButton:   \\\"paginate_button page-item\\\"\\n} );\\n\\n\\n/* Bootstrap paging button renderer */\\nDataTable.ext.renderer.pageButton.bootstrap = function ( settings, host, idx, buttons, page, pages ) {\\n\\tvar api     = new DataTable.Api( settings );\\n\\tvar classes = settings.oClasses;\\n\\tvar lang    = settings.oLanguage.oPaginate;\\n\\tvar aria = settings.oLanguage.oAria.paginate || {};\\n\\tvar btnDisplay, btnClass, counter=0;\\n\\n\\tvar attach = function( container, buttons ) {\\n\\t\\tvar i, ien, node, button;\\n\\t\\tvar clickHandler = function ( e ) {\\n\\t\\t\\te.preventDefault();\\n\\t\\t\\tif ( !$(e.currentTarget).hasClass('disabled') && api.page() != e.data.action ) {\\n\\t\\t\\t\\tapi.page( e.data.action ).draw( 'page' );\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\tfor ( i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tbutton = buttons[i];\\n\\n\\t\\t\\tif ( $.isArray( button ) ) {\\n\\t\\t\\t\\tattach( container, button );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tbtnDisplay = '';\\n\\t\\t\\t\\tbtnClass = '';\\n\\n\\t\\t\\t\\tswitch ( button ) {\\n\\t\\t\\t\\t\\tcase 'ellipsis':\\n\\t\\t\\t\\t\\t\\tbtnDisplay = '&#x2026;';\\n\\t\\t\\t\\t\\t\\tbtnClass = 'disabled';\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\tcase 'first':\\n\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sFirst;\\n\\t\\t\\t\\t\\t\\tbtnClass = button + (page > 0 ?\\n\\t\\t\\t\\t\\t\\t\\t'' : ' disabled');\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\tcase 'previous':\\n\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sPrevious;\\n\\t\\t\\t\\t\\t\\tbtnClass = button + (page > 0 ?\\n\\t\\t\\t\\t\\t\\t\\t'' : ' disabled');\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\tcase 'next':\\n\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sNext;\\n\\t\\t\\t\\t\\t\\tbtnClass = button + (page < pages-1 ?\\n\\t\\t\\t\\t\\t\\t\\t'' : ' disabled');\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\tcase 'last':\\n\\t\\t\\t\\t\\t\\tbtnDisplay = lang.sLast;\\n\\t\\t\\t\\t\\t\\tbtnClass = button + (page < pages-1 ?\\n\\t\\t\\t\\t\\t\\t\\t'' : ' disabled');\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\n\\t\\t\\t\\t\\tdefault:\\n\\t\\t\\t\\t\\t\\tbtnDisplay = button + 1;\\n\\t\\t\\t\\t\\t\\tbtnClass = page === button ?\\n\\t\\t\\t\\t\\t\\t\\t'active' : '';\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( btnDisplay ) {\\n\\t\\t\\t\\t\\tnode = $('<li>', {\\n\\t\\t\\t\\t\\t\\t\\t'class': classes.sPageButton+' '+btnClass,\\n\\t\\t\\t\\t\\t\\t\\t'id': idx === 0 && typeof button === 'string' ?\\n\\t\\t\\t\\t\\t\\t\\t\\tsettings.sTableId +'_'+ button :\\n\\t\\t\\t\\t\\t\\t\\t\\tnull\\n\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t.append( $('<a>', {\\n\\t\\t\\t\\t\\t\\t\\t\\t'href': '#',\\n\\t\\t\\t\\t\\t\\t\\t\\t'aria-controls': settings.sTableId,\\n\\t\\t\\t\\t\\t\\t\\t\\t'aria-label': aria[ button ],\\n\\t\\t\\t\\t\\t\\t\\t\\t'data-dt-idx': counter,\\n\\t\\t\\t\\t\\t\\t\\t\\t'tabindex': settings.iTabIndex,\\n\\t\\t\\t\\t\\t\\t\\t\\t'class': 'page-link'\\n\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t\\t.html( btnDisplay )\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t.appendTo( container );\\n\\n\\t\\t\\t\\t\\tsettings.oApi._fnBindAction(\\n\\t\\t\\t\\t\\t\\tnode, {action: button}, clickHandler\\n\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\tcounter++;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\n\\t// IE9 throws an 'unknown error' if document.activeElement is used\\n\\t// inside an iframe or frame. \\n\\tvar activeEl;\\n\\n\\ttry {\\n\\t\\t// Because this approach is destroying and recreating the paging\\n\\t\\t// elements, focus is lost on the select button which is bad for\\n\\t\\t// accessibility. So we want to restore focus once the draw has\\n\\t\\t// completed\\n\\t\\tactiveEl = $(host).find(document.activeElement).data('dt-idx');\\n\\t}\\n\\tcatch (e) {}\\n\\n\\tattach(\\n\\t\\t$(host).empty().html('<ul class=\\\"pagination\\\"/>').children('ul'),\\n\\t\\tbuttons\\n\\t);\\n\\n\\tif ( activeEl !== undefined ) {\\n\\t\\t$(host).find( '[data-dt-idx='+activeEl+']' ).focus();\\n\\t}\\n};\\n\\n\\nreturn DataTable;\\n}));\\n\"},function(t,e,l){l(0)(l(119))},function(t,e){t.exports=\"/*! Buttons for DataTables 1.5.6\\n * ©2016-2019 SpryMedia Ltd - datatables.net/license\\n */\\n\\n(function( factory ){\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t$ = require('datatables.net')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, undefined ) {\\n'use strict';\\nvar DataTable = $.fn.dataTable;\\n\\n\\n// Used for namespacing events added to the document by each instance, so they\\n// can be removed on destroy\\nvar _instCounter = 0;\\n\\n// Button namespacing counter for namespacing events on individual buttons\\nvar _buttonCounter = 0;\\n\\nvar _dtButtons = DataTable.ext.buttons;\\n\\n/**\\n * [Buttons description]\\n * @param {[type]}\\n * @param {[type]}\\n */\\nvar Buttons = function( dt, config )\\n{\\n\\t// If not created with a `new` keyword then we return a wrapper function that\\n\\t// will take the settings object for a DT. This allows easy use of new instances\\n\\t// with the `layout` option - e.g. `topLeft: $.fn.dataTable.Buttons( ... )`.\\n\\tif ( !(this instanceof Buttons) ) {\\n\\t\\treturn function (settings) {\\n\\t\\t\\treturn new Buttons( settings, dt ).container();\\n\\t\\t};\\n\\t}\\n\\n\\t// If there is no config set it to an empty object\\n\\tif ( typeof( config ) === 'undefined' ) {\\n\\t\\tconfig = {};\\t\\n\\t}\\n\\t\\n\\t// Allow a boolean true for defaults\\n\\tif ( config === true ) {\\n\\t\\tconfig = {};\\n\\t}\\n\\n\\t// For easy configuration of buttons an array can be given\\n\\tif ( $.isArray( config ) ) {\\n\\t\\tconfig = { buttons: config };\\n\\t}\\n\\n\\tthis.c = $.extend( true, {}, Buttons.defaults, config );\\n\\n\\t// Don't want a deep copy for the buttons\\n\\tif ( config.buttons ) {\\n\\t\\tthis.c.buttons = config.buttons;\\n\\t}\\n\\n\\tthis.s = {\\n\\t\\tdt: new DataTable.Api( dt ),\\n\\t\\tbuttons: [],\\n\\t\\tlistenKeys: '',\\n\\t\\tnamespace: 'dtb'+(_instCounter++)\\n\\t};\\n\\n\\tthis.dom = {\\n\\t\\tcontainer: $('<'+this.c.dom.container.tag+'/>')\\n\\t\\t\\t.addClass( this.c.dom.container.className )\\n\\t};\\n\\n\\tthis._constructor();\\n};\\n\\n\\n$.extend( Buttons.prototype, {\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Public methods\\n\\t */\\n\\n\\t/**\\n\\t * Get the action of a button\\n\\t * @param  {int|string} Button index\\n\\t * @return {function}\\n\\t *//**\\n\\t * Set the action of a button\\n\\t * @param  {node} node Button element\\n\\t * @param  {function} action Function to set\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\taction: function ( node, action )\\n\\t{\\n\\t\\tvar button = this._nodeToButton( node );\\n\\n\\t\\tif ( action === undefined ) {\\n\\t\\t\\treturn button.conf.action;\\n\\t\\t}\\n\\n\\t\\tbutton.conf.action = action;\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Add an active class to the button to make to look active or get current\\n\\t * active state.\\n\\t * @param  {node} node Button element\\n\\t * @param  {boolean} [flag] Enable / disable flag\\n\\t * @return {Buttons} Self for chaining or boolean for getter\\n\\t */\\n\\tactive: function ( node, flag ) {\\n\\t\\tvar button = this._nodeToButton( node );\\n\\t\\tvar klass = this.c.dom.button.active;\\n\\t\\tvar jqNode = $(button.node);\\n\\n\\t\\tif ( flag === undefined ) {\\n\\t\\t\\treturn jqNode.hasClass( klass );\\n\\t\\t}\\n\\n\\t\\tjqNode.toggleClass( klass, flag === undefined ? true : flag );\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Add a new button\\n\\t * @param {object} config Button configuration object, base string name or function\\n\\t * @param {int|string} [idx] Button index for where to insert the button\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\tadd: function ( config, idx )\\n\\t{\\n\\t\\tvar buttons = this.s.buttons;\\n\\n\\t\\tif ( typeof idx === 'string' ) {\\n\\t\\t\\tvar split = idx.split('-');\\n\\t\\t\\tvar base = this.s;\\n\\n\\t\\t\\tfor ( var i=0, ien=split.length-1 ; i<ien ; i++ ) {\\n\\t\\t\\t\\tbase = base.buttons[ split[i]*1 ];\\n\\t\\t\\t}\\n\\n\\t\\t\\tbuttons = base.buttons;\\n\\t\\t\\tidx = split[ split.length-1 ]*1;\\n\\t\\t}\\n\\n\\t\\tthis._expandButton( buttons, config, false, idx );\\n\\t\\tthis._draw();\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Get the container node for the buttons\\n\\t * @return {jQuery} Buttons node\\n\\t */\\n\\tcontainer: function ()\\n\\t{\\n\\t\\treturn this.dom.container;\\n\\t},\\n\\n\\t/**\\n\\t * Disable a button\\n\\t * @param  {node} node Button node\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\tdisable: function ( node ) {\\n\\t\\tvar button = this._nodeToButton( node );\\n\\n\\t\\t$(button.node).addClass( this.c.dom.button.disabled );\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Destroy the instance, cleaning up event handlers and removing DOM\\n\\t * elements\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\tdestroy: function ()\\n\\t{\\n\\t\\t// Key event listener\\n\\t\\t$('body').off( 'keyup.'+this.s.namespace );\\n\\n\\t\\t// Individual button destroy (so they can remove their own events if\\n\\t\\t// needed). Take a copy as the array is modified by `remove`\\n\\t\\tvar buttons = this.s.buttons.slice();\\n\\t\\tvar i, ien;\\n\\t\\t\\n\\t\\tfor ( i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tthis.remove( buttons[i].node );\\n\\t\\t}\\n\\n\\t\\t// Container\\n\\t\\tthis.dom.container.remove();\\n\\n\\t\\t// Remove from the settings object collection\\n\\t\\tvar buttonInsts = this.s.dt.settings()[0];\\n\\n\\t\\tfor ( i=0, ien=buttonInsts.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( buttonInsts.inst === this ) {\\n\\t\\t\\t\\tbuttonInsts.splice( i, 1 );\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Enable / disable a button\\n\\t * @param  {node} node Button node\\n\\t * @param  {boolean} [flag=true] Enable / disable flag\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\tenable: function ( node, flag )\\n\\t{\\n\\t\\tif ( flag === false ) {\\n\\t\\t\\treturn this.disable( node );\\n\\t\\t}\\n\\n\\t\\tvar button = this._nodeToButton( node );\\n\\t\\t$(button.node).removeClass( this.c.dom.button.disabled );\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Get the instance name for the button set selector\\n\\t * @return {string} Instance name\\n\\t */\\n\\tname: function ()\\n\\t{\\n\\t\\treturn this.c.name;\\n\\t},\\n\\n\\t/**\\n\\t * Get a button's node of the buttons container if no button is given\\n\\t * @param  {node} [node] Button node\\n\\t * @return {jQuery} Button element, or container\\n\\t */\\n\\tnode: function ( node )\\n\\t{\\n\\t\\tif ( ! node ) {\\n\\t\\t\\treturn this.dom.container;\\n\\t\\t}\\n\\n\\t\\tvar button = this._nodeToButton( node );\\n\\t\\treturn $(button.node);\\n\\t},\\n\\n\\t/**\\n\\t * Set / get a processing class on the selected button\\n\\t * @param  {boolean} flag true to add, false to remove, undefined to get\\n\\t * @return {boolean|Buttons} Getter value or this if a setter.\\n\\t */\\n\\tprocessing: function ( node, flag )\\n\\t{\\n\\t\\tvar button = this._nodeToButton( node );\\n\\n\\t\\tif ( flag === undefined ) {\\n\\t\\t\\treturn $(button.node).hasClass( 'processing' );\\n\\t\\t}\\n\\n\\t\\t$(button.node).toggleClass( 'processing', flag );\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Remove a button.\\n\\t * @param  {node} node Button node\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\tremove: function ( node )\\n\\t{\\n\\t\\tvar button = this._nodeToButton( node );\\n\\t\\tvar host = this._nodeToHost( node );\\n\\t\\tvar dt = this.s.dt;\\n\\n\\t\\t// Remove any child buttons first\\n\\t\\tif ( button.buttons.length ) {\\n\\t\\t\\tfor ( var i=button.buttons.length-1 ; i>=0 ; i-- ) {\\n\\t\\t\\t\\tthis.remove( button.buttons[i].node );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Allow the button to remove event handlers, etc\\n\\t\\tif ( button.conf.destroy ) {\\n\\t\\t\\tbutton.conf.destroy.call( dt.button(node), dt, $(node), button.conf );\\n\\t\\t}\\n\\n\\t\\tthis._removeKey( button.conf );\\n\\n\\t\\t$(button.node).remove();\\n\\n\\t\\tvar idx = $.inArray( button, host );\\n\\t\\thost.splice( idx, 1 );\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\t/**\\n\\t * Get the text for a button\\n\\t * @param  {int|string} node Button index\\n\\t * @return {string} Button text\\n\\t *//**\\n\\t * Set the text for a button\\n\\t * @param  {int|string|function} node Button index\\n\\t * @param  {string} label Text\\n\\t * @return {Buttons} Self for chaining\\n\\t */\\n\\ttext: function ( node, label )\\n\\t{\\n\\t\\tvar button = this._nodeToButton( node );\\n\\t\\tvar buttonLiner = this.c.dom.collection.buttonLiner;\\n\\t\\tvar linerTag = button.inCollection && buttonLiner && buttonLiner.tag ?\\n\\t\\t\\tbuttonLiner.tag :\\n\\t\\t\\tthis.c.dom.buttonLiner.tag;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar jqNode = $(button.node);\\n\\t\\tvar text = function ( opt ) {\\n\\t\\t\\treturn typeof opt === 'function' ?\\n\\t\\t\\t\\topt( dt, jqNode, button.conf ) :\\n\\t\\t\\t\\topt;\\n\\t\\t};\\n\\n\\t\\tif ( label === undefined ) {\\n\\t\\t\\treturn text( button.conf.text );\\n\\t\\t}\\n\\n\\t\\tbutton.conf.text = label;\\n\\n\\t\\tif ( linerTag ) {\\n\\t\\t\\tjqNode.children( linerTag ).html( text(label) );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tjqNode.html( text(label) );\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Constructor\\n\\t */\\n\\n\\t/**\\n\\t * Buttons constructor\\n\\t * @private\\n\\t */\\n\\t_constructor: function ()\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar dtSettings = dt.settings()[0];\\n\\t\\tvar buttons =  this.c.buttons;\\n\\n\\t\\tif ( ! dtSettings._buttons ) {\\n\\t\\t\\tdtSettings._buttons = [];\\n\\t\\t}\\n\\n\\t\\tdtSettings._buttons.push( {\\n\\t\\t\\tinst: this,\\n\\t\\t\\tname: this.c.name\\n\\t\\t} );\\n\\n\\t\\tfor ( var i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tthis.add( buttons[i] );\\n\\t\\t}\\n\\n\\t\\tdt.on( 'destroy', function ( e, settings ) {\\n\\t\\t\\tif ( settings === dtSettings ) {\\n\\t\\t\\t\\tthat.destroy();\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t\\t// Global key event binding to listen for button keys\\n\\t\\t$('body').on( 'keyup.'+this.s.namespace, function ( e ) {\\n\\t\\t\\tif ( ! document.activeElement || document.activeElement === document.body ) {\\n\\t\\t\\t\\t// SUse a string of characters for fast lookup of if we need to\\n\\t\\t\\t\\t// handle this\\n\\t\\t\\t\\tvar character = String.fromCharCode(e.keyCode).toLowerCase();\\n\\n\\t\\t\\t\\tif ( that.s.listenKeys.toLowerCase().indexOf( character ) !== -1 ) {\\n\\t\\t\\t\\t\\tthat._keypress( character, e );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Private methods\\n\\t */\\n\\n\\t/**\\n\\t * Add a new button to the key press listener\\n\\t * @param {object} conf Resolved button configuration object\\n\\t * @private\\n\\t */\\n\\t_addKey: function ( conf )\\n\\t{\\n\\t\\tif ( conf.key ) {\\n\\t\\t\\tthis.s.listenKeys += $.isPlainObject( conf.key ) ?\\n\\t\\t\\t\\tconf.key.key :\\n\\t\\t\\t\\tconf.key;\\n\\t\\t}\\n\\t},\\n\\n\\t/**\\n\\t * Insert the buttons into the container. Call without parameters!\\n\\t * @param  {node} [container] Recursive only - Insert point\\n\\t * @param  {array} [buttons] Recursive only - Buttons array\\n\\t * @private\\n\\t */\\n\\t_draw: function ( container, buttons )\\n\\t{\\n\\t\\tif ( ! container ) {\\n\\t\\t\\tcontainer = this.dom.container;\\n\\t\\t\\tbuttons = this.s.buttons;\\n\\t\\t}\\n\\n\\t\\tcontainer.children().detach();\\n\\n\\t\\tfor ( var i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tcontainer.append( buttons[i].inserter );\\n\\t\\t\\tcontainer.append( ' ' );\\n\\n\\t\\t\\tif ( buttons[i].buttons && buttons[i].buttons.length ) {\\n\\t\\t\\t\\tthis._draw( buttons[i].collection, buttons[i].buttons );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\t/**\\n\\t * Create buttons from an array of buttons\\n\\t * @param  {array} attachTo Buttons array to attach to\\n\\t * @param  {object} button Button definition\\n\\t * @param  {boolean} inCollection true if the button is in a collection\\n\\t * @private\\n\\t */\\n\\t_expandButton: function ( attachTo, button, inCollection, attachPoint )\\n\\t{\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar buttonCounter = 0;\\n\\t\\tvar buttons = ! $.isArray( button ) ?\\n\\t\\t\\t[ button ] :\\n\\t\\t\\tbutton;\\n\\n\\t\\tfor ( var i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tvar conf = this._resolveExtends( buttons[i] );\\n\\n\\t\\t\\tif ( ! conf ) {\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If the configuration is an array, then expand the buttons at this\\n\\t\\t\\t// point\\n\\t\\t\\tif ( $.isArray( conf ) ) {\\n\\t\\t\\t\\tthis._expandButton( attachTo, conf, inCollection, attachPoint );\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar built = this._buildButton( conf, inCollection );\\n\\t\\t\\tif ( ! built ) {\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( attachPoint !== undefined ) {\\n\\t\\t\\t\\tattachTo.splice( attachPoint, 0, built );\\n\\t\\t\\t\\tattachPoint++;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tattachTo.push( built );\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( built.conf.buttons ) {\\n\\t\\t\\t\\tvar collectionDom = this.c.dom.collection;\\n\\t\\t\\t\\tbuilt.collection = $('<'+collectionDom.tag+'/>')\\n\\t\\t\\t\\t\\t.addClass( collectionDom.className )\\n\\t\\t\\t\\t\\t.attr( 'role', 'menu' ) ;\\n\\t\\t\\t\\tbuilt.conf._collection = built.collection;\\n\\n\\t\\t\\t\\tthis._expandButton( built.buttons, built.conf.buttons, true, attachPoint );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// init call is made here, rather than buildButton as it needs to\\n\\t\\t\\t// be selectable, and for that it needs to be in the buttons array\\n\\t\\t\\tif ( conf.init ) {\\n\\t\\t\\t\\tconf.init.call( dt.button( built.node ), dt, $(built.node), conf );\\n\\t\\t\\t}\\n\\n\\t\\t\\tbuttonCounter++;\\n\\t\\t}\\n\\t},\\n\\n\\t/**\\n\\t * Create an individual button\\n\\t * @param  {object} config            Resolved button configuration\\n\\t * @param  {boolean} inCollection `true` if a collection button\\n\\t * @return {jQuery} Created button node (jQuery)\\n\\t * @private\\n\\t */\\n\\t_buildButton: function ( config, inCollection )\\n\\t{\\n\\t\\tvar buttonDom = this.c.dom.button;\\n\\t\\tvar linerDom = this.c.dom.buttonLiner;\\n\\t\\tvar collectionDom = this.c.dom.collection;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar text = function ( opt ) {\\n\\t\\t\\treturn typeof opt === 'function' ?\\n\\t\\t\\t\\topt( dt, button, config ) :\\n\\t\\t\\t\\topt;\\n\\t\\t};\\n\\n\\t\\tif ( inCollection && collectionDom.button ) {\\n\\t\\t\\tbuttonDom = collectionDom.button;\\n\\t\\t}\\n\\n\\t\\tif ( inCollection && collectionDom.buttonLiner ) {\\n\\t\\t\\tlinerDom = collectionDom.buttonLiner;\\n\\t\\t}\\n\\n\\t\\t// Make sure that the button is available based on whatever requirements\\n\\t\\t// it has. For example, Flash buttons require Flash\\n\\t\\tif ( config.available && ! config.available( dt, config ) ) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tvar action = function ( e, dt, button, config ) {\\n\\t\\t\\tconfig.action.call( dt.button( button ), e, dt, button, config );\\n\\n\\t\\t\\t$(dt.table().node()).triggerHandler( 'buttons-action.dt', [\\n\\t\\t\\t\\tdt.button( button ), dt, button, config \\n\\t\\t\\t] );\\n\\t\\t};\\n\\n\\t\\tvar tag = config.tag || buttonDom.tag;\\n\\t\\tvar clickBlurs = config.clickBlurs === undefined ? true : config.clickBlurs\\n\\t\\tvar button = $('<'+tag+'/>')\\n\\t\\t\\t.addClass( buttonDom.className )\\n\\t\\t\\t.attr( 'tabindex', this.s.dt.settings()[0].iTabIndex )\\n\\t\\t\\t.attr( 'aria-controls', this.s.dt.table().node().id )\\n\\t\\t\\t.on( 'click.dtb', function (e) {\\n\\t\\t\\t\\te.preventDefault();\\n\\n\\t\\t\\t\\tif ( ! button.hasClass( buttonDom.disabled ) && config.action ) {\\n\\t\\t\\t\\t\\taction( e, dt, button, config );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif( clickBlurs ) {\\n\\t\\t\\t\\t\\tbutton.blur();\\n\\t\\t\\t\\t}\\n\\t\\t\\t} )\\n\\t\\t\\t.on( 'keyup.dtb', function (e) {\\n\\t\\t\\t\\tif ( e.keyCode === 13 ) {\\n\\t\\t\\t\\t\\tif ( ! button.hasClass( buttonDom.disabled ) && config.action ) {\\n\\t\\t\\t\\t\\t\\taction( e, dt, button, config );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\n\\t\\t// Make `a` tags act like a link\\n\\t\\tif ( tag.toLowerCase() === 'a' ) {\\n\\t\\t\\tbutton.attr( 'href', '#' );\\n\\t\\t}\\n\\n\\t\\t// Button tags should have `type=button` so they don't have any default behaviour\\n\\t\\tif ( tag.toLowerCase() === 'button' ) {\\n\\t\\t\\tbutton.attr( 'type', 'button' );\\n\\t\\t}\\n\\n\\t\\tif ( linerDom.tag ) {\\n\\t\\t\\tvar liner = $('<'+linerDom.tag+'/>')\\n\\t\\t\\t\\t.html( text( config.text ) )\\n\\t\\t\\t\\t.addClass( linerDom.className );\\n\\n\\t\\t\\tif ( linerDom.tag.toLowerCase() === 'a' ) {\\n\\t\\t\\t\\tliner.attr( 'href', '#' );\\n\\t\\t\\t}\\n\\n\\t\\t\\tbutton.append( liner );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tbutton.html( text( config.text ) );\\n\\t\\t}\\n\\n\\t\\tif ( config.enabled === false ) {\\n\\t\\t\\tbutton.addClass( buttonDom.disabled );\\n\\t\\t}\\n\\n\\t\\tif ( config.className ) {\\n\\t\\t\\tbutton.addClass( config.className );\\n\\t\\t}\\n\\n\\t\\tif ( config.titleAttr ) {\\n\\t\\t\\tbutton.attr( 'title', text( config.titleAttr ) );\\n\\t\\t}\\n\\n\\t\\tif ( config.attr ) {\\n\\t\\t\\tbutton.attr( config.attr );\\n\\t\\t}\\n\\n\\t\\tif ( ! config.namespace ) {\\n\\t\\t\\tconfig.namespace = '.dt-button-'+(_buttonCounter++);\\n\\t\\t}\\n\\n\\t\\tvar buttonContainer = this.c.dom.buttonContainer;\\n\\t\\tvar inserter;\\n\\t\\tif ( buttonContainer && buttonContainer.tag ) {\\n\\t\\t\\tinserter = $('<'+buttonContainer.tag+'/>')\\n\\t\\t\\t\\t.addClass( buttonContainer.className )\\n\\t\\t\\t\\t.append( button );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tinserter = button;\\n\\t\\t}\\n\\n\\t\\tthis._addKey( config );\\n\\n\\t\\t// Style integration callback for DOM manipulation\\n\\t\\t// Note that this is _not_ documented. It is currently\\n\\t\\t// for style integration only\\n\\t\\tif( this.c.buttonCreated ) {\\n\\t\\t\\tinserter = this.c.buttonCreated( config, inserter );\\n\\t\\t}\\n\\n\\t\\treturn {\\n\\t\\t\\tconf:         config,\\n\\t\\t\\tnode:         button.get(0),\\n\\t\\t\\tinserter:     inserter,\\n\\t\\t\\tbuttons:      [],\\n\\t\\t\\tinCollection: inCollection,\\n\\t\\t\\tcollection:   null\\n\\t\\t};\\n\\t},\\n\\n\\t/**\\n\\t * Get the button object from a node (recursive)\\n\\t * @param  {node} node Button node\\n\\t * @param  {array} [buttons] Button array, uses base if not defined\\n\\t * @return {object} Button object\\n\\t * @private\\n\\t */\\n\\t_nodeToButton: function ( node, buttons )\\n\\t{\\n\\t\\tif ( ! buttons ) {\\n\\t\\t\\tbuttons = this.s.buttons;\\n\\t\\t}\\n\\n\\t\\tfor ( var i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( buttons[i].node === node ) {\\n\\t\\t\\t\\treturn buttons[i];\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( buttons[i].buttons.length ) {\\n\\t\\t\\t\\tvar ret = this._nodeToButton( node, buttons[i].buttons );\\n\\n\\t\\t\\t\\tif ( ret ) {\\n\\t\\t\\t\\t\\treturn ret;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\t/**\\n\\t * Get container array for a button from a button node (recursive)\\n\\t * @param  {node} node Button node\\n\\t * @param  {array} [buttons] Button array, uses base if not defined\\n\\t * @return {array} Button's host array\\n\\t * @private\\n\\t */\\n\\t_nodeToHost: function ( node, buttons )\\n\\t{\\n\\t\\tif ( ! buttons ) {\\n\\t\\t\\tbuttons = this.s.buttons;\\n\\t\\t}\\n\\n\\t\\tfor ( var i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( buttons[i].node === node ) {\\n\\t\\t\\t\\treturn buttons;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( buttons[i].buttons.length ) {\\n\\t\\t\\t\\tvar ret = this._nodeToHost( node, buttons[i].buttons );\\n\\n\\t\\t\\t\\tif ( ret ) {\\n\\t\\t\\t\\t\\treturn ret;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\t/**\\n\\t * Handle a key press - determine if any button's key configured matches\\n\\t * what was typed and trigger the action if so.\\n\\t * @param  {string} character The character pressed\\n\\t * @param  {object} e Key event that triggered this call\\n\\t * @private\\n\\t */\\n\\t_keypress: function ( character, e )\\n\\t{\\n\\t\\t// Check if this button press already activated on another instance of Buttons\\n\\t\\tif ( e._buttonsHandled ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tvar run = function ( conf, node ) {\\n\\t\\t\\tif ( ! conf.key ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( conf.key === character ) {\\n\\t\\t\\t\\te._buttonsHandled = true;\\n\\t\\t\\t\\t$(node).click();\\n\\t\\t\\t}\\n\\t\\t\\telse if ( $.isPlainObject( conf.key ) ) {\\n\\t\\t\\t\\tif ( conf.key.key !== character ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( conf.key.shiftKey && ! e.shiftKey ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( conf.key.altKey && ! e.altKey ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( conf.key.ctrlKey && ! e.ctrlKey ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( conf.key.metaKey && ! e.metaKey ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Made it this far - it is good\\n\\t\\t\\t\\te._buttonsHandled = true;\\n\\t\\t\\t\\t$(node).click();\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\tvar recurse = function ( a ) {\\n\\t\\t\\tfor ( var i=0, ien=a.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\trun( a[i].conf, a[i].node );\\n\\n\\t\\t\\t\\tif ( a[i].buttons.length ) {\\n\\t\\t\\t\\t\\trecurse( a[i].buttons );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\trecurse( this.s.buttons );\\n\\t},\\n\\n\\t/**\\n\\t * Remove a key from the key listener for this instance (to be used when a\\n\\t * button is removed)\\n\\t * @param  {object} conf Button configuration\\n\\t * @private\\n\\t */\\n\\t_removeKey: function ( conf )\\n\\t{\\n\\t\\tif ( conf.key ) {\\n\\t\\t\\tvar character = $.isPlainObject( conf.key ) ?\\n\\t\\t\\t\\tconf.key.key :\\n\\t\\t\\t\\tconf.key;\\n\\n\\t\\t\\t// Remove only one character, as multiple buttons could have the\\n\\t\\t\\t// same listening key\\n\\t\\t\\tvar a = this.s.listenKeys.split('');\\n\\t\\t\\tvar idx = $.inArray( character, a );\\n\\t\\t\\ta.splice( idx, 1 );\\n\\t\\t\\tthis.s.listenKeys = a.join('');\\n\\t\\t}\\n\\t},\\n\\n\\t/**\\n\\t * Resolve a button configuration\\n\\t * @param  {string|function|object} conf Button config to resolve\\n\\t * @return {object} Button configuration\\n\\t * @private\\n\\t */\\n\\t_resolveExtends: function ( conf )\\n\\t{\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar i, ien;\\n\\t\\tvar toConfObject = function ( base ) {\\n\\t\\t\\tvar loop = 0;\\n\\n\\t\\t\\t// Loop until we have resolved to a button configuration, or an\\n\\t\\t\\t// array of button configurations (which will be iterated\\n\\t\\t\\t// separately)\\n\\t\\t\\twhile ( ! $.isPlainObject(base) && ! $.isArray(base) ) {\\n\\t\\t\\t\\tif ( base === undefined ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( typeof base === 'function' ) {\\n\\t\\t\\t\\t\\tbase = base( dt, conf );\\n\\n\\t\\t\\t\\t\\tif ( ! base ) {\\n\\t\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( typeof base === 'string' ) {\\n\\t\\t\\t\\t\\tif ( ! _dtButtons[ base ] ) {\\n\\t\\t\\t\\t\\t\\tthrow 'Unknown button type: '+base;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tbase = _dtButtons[ base ];\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tloop++;\\n\\t\\t\\t\\tif ( loop > 30 ) {\\n\\t\\t\\t\\t\\t// Protect against misconfiguration killing the browser\\n\\t\\t\\t\\t\\tthrow 'Buttons: Too many iterations';\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn $.isArray( base ) ?\\n\\t\\t\\t\\tbase :\\n\\t\\t\\t\\t$.extend( {}, base );\\n\\t\\t};\\n\\n\\t\\tconf = toConfObject( conf );\\n\\n\\t\\twhile ( conf && conf.extend ) {\\n\\t\\t\\t// Use `toConfObject` in case the button definition being extended\\n\\t\\t\\t// is itself a string or a function\\n\\t\\t\\tif ( ! _dtButtons[ conf.extend ] ) {\\n\\t\\t\\t\\tthrow 'Cannot extend unknown button type: '+conf.extend;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar objArray = toConfObject( _dtButtons[ conf.extend ] );\\n\\t\\t\\tif ( $.isArray( objArray ) ) {\\n\\t\\t\\t\\treturn objArray;\\n\\t\\t\\t}\\n\\t\\t\\telse if ( ! objArray ) {\\n\\t\\t\\t\\t// This is a little brutal as it might be possible to have a\\n\\t\\t\\t\\t// valid button without the extend, but if there is no extend\\n\\t\\t\\t\\t// then the host button would be acting in an undefined state\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Stash the current class name\\n\\t\\t\\tvar originalClassName = objArray.className;\\n\\n\\t\\t\\tconf = $.extend( {}, objArray, conf );\\n\\n\\t\\t\\t// The extend will have overwritten the original class name if the\\n\\t\\t\\t// `conf` object also assigned a class, but we want to concatenate\\n\\t\\t\\t// them so they are list that is combined from all extended buttons\\n\\t\\t\\tif ( originalClassName && conf.className !== originalClassName ) {\\n\\t\\t\\t\\tconf.className = originalClassName+' '+conf.className;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Buttons to be added to a collection  -gives the ability to define\\n\\t\\t\\t// if buttons should be added to the start or end of a collection\\n\\t\\t\\tvar postfixButtons = conf.postfixButtons;\\n\\t\\t\\tif ( postfixButtons ) {\\n\\t\\t\\t\\tif ( ! conf.buttons ) {\\n\\t\\t\\t\\t\\tconf.buttons = [];\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tfor ( i=0, ien=postfixButtons.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tconf.buttons.push( postfixButtons[i] );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tconf.postfixButtons = null;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar prefixButtons = conf.prefixButtons;\\n\\t\\t\\tif ( prefixButtons ) {\\n\\t\\t\\t\\tif ( ! conf.buttons ) {\\n\\t\\t\\t\\t\\tconf.buttons = [];\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tfor ( i=0, ien=prefixButtons.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tconf.buttons.splice( i, 0, prefixButtons[i] );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tconf.prefixButtons = null;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Although we want the `conf` object to overwrite almost all of\\n\\t\\t\\t// the properties of the object being extended, the `extend`\\n\\t\\t\\t// property should come from the object being extended\\n\\t\\t\\tconf.extend = objArray.extend;\\n\\t\\t}\\n\\n\\t\\treturn conf;\\n\\t}\\n} );\\n\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * Statics\\n */\\n\\n/**\\n * Show / hide a background layer behind a collection\\n * @param  {boolean} Flag to indicate if the background should be shown or\\n *   hidden \\n * @param  {string} Class to assign to the background\\n * @static\\n */\\nButtons.background = function ( show, className, fade, insertPoint ) {\\n\\tif ( fade === undefined ) {\\n\\t\\tfade = 400;\\n\\t}\\n\\tif ( ! insertPoint ) {\\n\\t\\tinsertPoint = document.body;\\n\\t}\\n\\n\\tif ( show ) {\\n\\t\\t$('<div/>')\\n\\t\\t\\t.addClass( className )\\n\\t\\t\\t.css( 'display', 'none' )\\n\\t\\t\\t.insertAfter( insertPoint )\\n\\t\\t\\t.stop()\\n\\t\\t\\t.fadeIn( fade );\\n\\t}\\n\\telse {\\n\\t\\t$('div.'+className)\\n\\t\\t\\t.stop()\\n\\t\\t\\t.fadeOut( fade, function () {\\n\\t\\t\\t\\t$(this)\\n\\t\\t\\t\\t\\t.removeClass( className )\\n\\t\\t\\t\\t\\t.remove();\\n\\t\\t\\t} );\\n\\t}\\n};\\n\\n/**\\n * Instance selector - select Buttons instances based on an instance selector\\n * value from the buttons assigned to a DataTable. This is only useful if\\n * multiple instances are attached to a DataTable.\\n * @param  {string|int|array} Instance selector - see `instance-selector`\\n *   documentation on the DataTables site\\n * @param  {array} Button instance array that was attached to the DataTables\\n *   settings object\\n * @return {array} Buttons instances\\n * @static\\n */\\nButtons.instanceSelector = function ( group, buttons )\\n{\\n\\tif ( ! group ) {\\n\\t\\treturn $.map( buttons, function ( v ) {\\n\\t\\t\\treturn v.inst;\\n\\t\\t} );\\n\\t}\\n\\n\\tvar ret = [];\\n\\tvar names = $.map( buttons, function ( v ) {\\n\\t\\treturn v.name;\\n\\t} );\\n\\n\\t// Flatten the group selector into an array of single options\\n\\tvar process = function ( input ) {\\n\\t\\tif ( $.isArray( input ) ) {\\n\\t\\t\\tfor ( var i=0, ien=input.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tprocess( input[i] );\\n\\t\\t\\t}\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ( typeof input === 'string' ) {\\n\\t\\t\\tif ( input.indexOf( ',' ) !== -1 ) {\\n\\t\\t\\t\\t// String selector, list of names\\n\\t\\t\\t\\tprocess( input.split(',') );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// String selector individual name\\n\\t\\t\\t\\tvar idx = $.inArray( $.trim(input), names );\\n\\n\\t\\t\\t\\tif ( idx !== -1 ) {\\n\\t\\t\\t\\t\\tret.push( buttons[ idx ].inst );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( typeof input === 'number' ) {\\n\\t\\t\\t// Index selector\\n\\t\\t\\tret.push( buttons[ input ].inst );\\n\\t\\t}\\n\\t};\\n\\t\\n\\tprocess( group );\\n\\n\\treturn ret;\\n};\\n\\n/**\\n * Button selector - select one or more buttons from a selector input so some\\n * operation can be performed on them.\\n * @param  {array} Button instances array that the selector should operate on\\n * @param  {string|int|node|jQuery|array} Button selector - see\\n *   `button-selector` documentation on the DataTables site\\n * @return {array} Array of objects containing `inst` and `idx` properties of\\n *   the selected buttons so you know which instance each button belongs to.\\n * @static\\n */\\nButtons.buttonSelector = function ( insts, selector )\\n{\\n\\tvar ret = [];\\n\\tvar nodeBuilder = function ( a, buttons, baseIdx ) {\\n\\t\\tvar button;\\n\\t\\tvar idx;\\n\\n\\t\\tfor ( var i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\tbutton = buttons[i];\\n\\n\\t\\t\\tif ( button ) {\\n\\t\\t\\t\\tidx = baseIdx !== undefined ?\\n\\t\\t\\t\\t\\tbaseIdx+i :\\n\\t\\t\\t\\t\\ti+'';\\n\\n\\t\\t\\t\\ta.push( {\\n\\t\\t\\t\\t\\tnode: button.node,\\n\\t\\t\\t\\t\\tname: button.conf.name,\\n\\t\\t\\t\\t\\tidx:  idx\\n\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\tif ( button.buttons ) {\\n\\t\\t\\t\\t\\tnodeBuilder( a, button.buttons, idx+'-' );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\n\\tvar run = function ( selector, inst ) {\\n\\t\\tvar i, ien;\\n\\t\\tvar buttons = [];\\n\\t\\tnodeBuilder( buttons, inst.s.buttons );\\n\\n\\t\\tvar nodes = $.map( buttons, function (v) {\\n\\t\\t\\treturn v.node;\\n\\t\\t} );\\n\\n\\t\\tif ( $.isArray( selector ) || selector instanceof $ ) {\\n\\t\\t\\tfor ( i=0, ien=selector.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\trun( selector[i], inst );\\n\\t\\t\\t}\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ( selector === null || selector === undefined || selector === '*' ) {\\n\\t\\t\\t// Select all\\n\\t\\t\\tfor ( i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tret.push( {\\n\\t\\t\\t\\t\\tinst: inst,\\n\\t\\t\\t\\t\\tnode: buttons[i].node\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( typeof selector === 'number' ) {\\n\\t\\t\\t// Main button index selector\\n\\t\\t\\tret.push( {\\n\\t\\t\\t\\tinst: inst,\\n\\t\\t\\t\\tnode: inst.s.buttons[ selector ].node\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t\\telse if ( typeof selector === 'string' ) {\\n\\t\\t\\tif ( selector.indexOf( ',' ) !== -1 ) {\\n\\t\\t\\t\\t// Split\\n\\t\\t\\t\\tvar a = selector.split(',');\\n\\n\\t\\t\\t\\tfor ( i=0, ien=a.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\trun( $.trim(a[i]), inst );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse if ( selector.match( /^\\\\d+(\\\\-\\\\d+)*$/ ) ) {\\n\\t\\t\\t\\t// Sub-button index selector\\n\\t\\t\\t\\tvar indexes = $.map( buttons, function (v) {\\n\\t\\t\\t\\t\\treturn v.idx;\\n\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\tret.push( {\\n\\t\\t\\t\\t\\tinst: inst,\\n\\t\\t\\t\\t\\tnode: buttons[ $.inArray( selector, indexes ) ].node\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( selector.indexOf( ':name' ) !== -1 ) {\\n\\t\\t\\t\\t// Button name selector\\n\\t\\t\\t\\tvar name = selector.replace( ':name', '' );\\n\\n\\t\\t\\t\\tfor ( i=0, ien=buttons.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tif ( buttons[i].name === name ) {\\n\\t\\t\\t\\t\\t\\tret.push( {\\n\\t\\t\\t\\t\\t\\t\\tinst: inst,\\n\\t\\t\\t\\t\\t\\t\\tnode: buttons[i].node\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t// jQuery selector on the nodes\\n\\t\\t\\t\\t$( nodes ).filter( selector ).each( function () {\\n\\t\\t\\t\\t\\tret.push( {\\n\\t\\t\\t\\t\\t\\tinst: inst,\\n\\t\\t\\t\\t\\t\\tnode: this\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse if ( typeof selector === 'object' && selector.nodeName ) {\\n\\t\\t\\t// Node selector\\n\\t\\t\\tvar idx = $.inArray( selector, nodes );\\n\\n\\t\\t\\tif ( idx !== -1 ) {\\n\\t\\t\\t\\tret.push( {\\n\\t\\t\\t\\t\\tinst: inst,\\n\\t\\t\\t\\t\\tnode: nodes[ idx ]\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\n\\n\\tfor ( var i=0, ien=insts.length ; i<ien ; i++ ) {\\n\\t\\tvar inst = insts[i];\\n\\n\\t\\trun( selector, inst );\\n\\t}\\n\\n\\treturn ret;\\n};\\n\\n\\n/**\\n * Buttons defaults. For full documentation, please refer to the docs/option\\n * directory or the DataTables site.\\n * @type {Object}\\n * @static\\n */\\nButtons.defaults = {\\n\\tbuttons: [ 'copy', 'excel', 'csv', 'pdf', 'print' ],\\n\\tname: 'main',\\n\\ttabIndex: 0,\\n\\tdom: {\\n\\t\\tcontainer: {\\n\\t\\t\\ttag: 'div',\\n\\t\\t\\tclassName: 'dt-buttons'\\n\\t\\t},\\n\\t\\tcollection: {\\n\\t\\t\\ttag: 'div',\\n\\t\\t\\tclassName: 'dt-button-collection'\\n\\t\\t},\\n\\t\\tbutton: {\\n\\t\\t\\t// Flash buttons will not work with `<button>` in IE - it has to be `<a>`\\n\\t\\t\\ttag: 'ActiveXObject' in window ?\\n\\t\\t\\t\\t'a' :\\n\\t\\t\\t\\t'button',\\n\\t\\t\\tclassName: 'dt-button',\\n\\t\\t\\tactive: 'active',\\n\\t\\t\\tdisabled: 'disabled'\\n\\t\\t},\\n\\t\\tbuttonLiner: {\\n\\t\\t\\ttag: 'span',\\n\\t\\t\\tclassName: ''\\n\\t\\t}\\n\\t}\\n};\\n\\n/**\\n * Version information\\n * @type {string}\\n * @static\\n */\\nButtons.version = '1.5.6';\\n\\n\\n$.extend( _dtButtons, {\\n\\tcollection: {\\n\\t\\ttext: function ( dt ) {\\n\\t\\t\\treturn dt.i18n( 'buttons.collection', 'Collection' );\\n\\t\\t},\\n\\t\\tclassName: 'buttons-collection',\\n\\t\\tinit: function ( dt, button, config ) {\\n\\t\\t\\tbutton.attr( 'aria-expanded', false );\\n\\t\\t},\\n\\t\\taction: function ( e, dt, button, config ) {\\n\\t\\t\\tvar close = function () {\\n\\t\\t\\t\\tdt.buttons( '[aria-haspopup=\\\"true\\\"][aria-expanded=\\\"true\\\"]' ).nodes().each( function() {\\n\\t\\t\\t\\t\\tvar collection = $(this).siblings('.dt-button-collection');\\n\\n\\t\\t\\t\\t\\tif ( collection.length ) {\\n\\t\\t\\t\\t\\t\\tcollection.stop().fadeOut( config.fade, function () {\\n\\t\\t\\t\\t\\t\\t\\tcollection.detach();\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t$(this).attr( 'aria-expanded', 'false' );\\n\\t\\t\\t\\t});\\n\\n\\t\\t\\t\\t$('div.dt-button-background').off( 'click.dtb-collection' );\\n\\t\\t\\t\\tButtons.background( false, config.backgroundClassName, config.fade, insertPoint );\\n\\n\\t\\t\\t\\t$('body').off( '.dtb-collection' );\\n\\t\\t\\t\\tdt.off( 'buttons-action.b-internal' );\\n\\t\\t\\t};\\n\\n\\t\\t\\tvar wasExpanded = button.attr( 'aria-expanded' ) === 'true';\\n\\n\\t\\t\\tclose();\\n\\n\\t\\t\\tif (!wasExpanded) {\\n\\t\\t\\t\\tvar host = button;\\n\\t\\t\\t\\tvar collectionParent = $(button).parents('div.dt-button-collection');\\n\\t\\t\\t\\tvar hostPosition = host.position();\\n\\t\\t\\t\\tvar tableContainer = $( dt.table().container() );\\n\\t\\t\\t\\tvar multiLevel = false;\\n\\t\\t\\t\\tvar insertPoint = host;\\n\\n\\t\\t\\t\\tbutton.attr( 'aria-expanded', 'true' );\\n\\n\\t\\t\\t\\t// Remove any old collection\\n\\t\\t\\t\\tif ( collectionParent.length ) {\\n\\t\\t\\t\\t\\tmultiLevel = $('.dt-button-collection').position();\\n\\t\\t\\t\\t\\tinsertPoint = collectionParent;\\n\\t\\t\\t\\t\\t$('body').trigger( 'click.dtb-collection' );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( insertPoint.parents('body')[0] !== document.body ) {\\n\\t\\t\\t\\t\\tinsertPoint = document.body.lastChild;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tconfig._collection.find('.dt-button-collection-title').remove();\\n\\t\\t\\t\\tconfig._collection.prepend('<div class=\\\"dt-button-collection-title\\\">'+config.collectionTitle+'</div>');\\n\\n\\t\\t\\t\\tconfig._collection\\n\\t\\t\\t\\t\\t.addClass( config.collectionLayout )\\n\\t\\t\\t\\t\\t.css( 'display', 'none' )\\n\\t\\t\\t\\t\\t.insertAfter( insertPoint )\\n\\t\\t\\t\\t\\t.stop()\\n\\t\\t\\t\\t\\t.fadeIn( config.fade );\\n\\n\\t\\t\\t\\tvar position = config._collection.css( 'position' );\\n\\n\\t\\t\\t\\tif ( multiLevel && position === 'absolute' ) {\\n\\t\\t\\t\\t\\tconfig._collection.css( {\\n\\t\\t\\t\\t\\t\\ttop: multiLevel.top,\\n\\t\\t\\t\\t\\t\\tleft: multiLevel.left\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( position === 'absolute' ) {\\n\\t\\t\\t\\t\\tconfig._collection.css( {\\n\\t\\t\\t\\t\\t\\ttop: hostPosition.top + host.outerHeight(),\\n\\t\\t\\t\\t\\t\\tleft: hostPosition.left\\n\\t\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\t\\t// calculate overflow when positioned beneath\\n\\t\\t\\t\\t\\tvar tableBottom = tableContainer.offset().top + tableContainer.height();\\n\\t\\t\\t\\t\\tvar listBottom = hostPosition.top + host.outerHeight() + config._collection.outerHeight();\\n\\t\\t\\t\\t\\tvar bottomOverflow = listBottom - tableBottom;\\n\\n\\t\\t\\t\\t\\t// calculate overflow when positioned above\\n\\t\\t\\t\\t\\tvar listTop = hostPosition.top - config._collection.outerHeight();\\n\\t\\t\\t\\t\\tvar tableTop = tableContainer.offset().top;\\n\\t\\t\\t\\t\\tvar topOverflow = tableTop - listTop;\\n\\n\\t\\t\\t\\t\\t// if bottom overflow is larger, move to the top because it fits better, or if dropup is requested\\n\\t\\t\\t\\t\\tif (bottomOverflow > topOverflow || config.dropup) {\\n\\t\\t\\t\\t\\t\\tconfig._collection.css( 'top', hostPosition.top - config._collection.outerHeight() - 5);\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Right alignment is enabled on a class, e.g. bootstrap:\\n\\t\\t\\t\\t\\t// $.fn.dataTable.Buttons.defaults.dom.collection.className += \\\" dropdown-menu-right\\\"; \\n\\t\\t\\t\\t\\tif ( config._collection.hasClass( config.rightAlignClassName ) ) {\\n\\t\\t\\t\\t\\t\\tconfig._collection.css( 'left', hostPosition.left + host.outerWidth() - config._collection.outerWidth() );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Right alignment in table container\\n\\t\\t\\t\\t\\tvar listRight = hostPosition.left + config._collection.outerWidth();\\n\\t\\t\\t\\t\\tvar tableRight = tableContainer.offset().left + tableContainer.width();\\n\\t\\t\\t\\t\\tif ( listRight > tableRight ) {\\n\\t\\t\\t\\t\\t\\tconfig._collection.css( 'left', hostPosition.left - ( listRight - tableRight ) );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Right alignment to window\\n\\t\\t\\t\\t\\tvar listOffsetRight = host.offset().left + config._collection.outerWidth();\\n\\t\\t\\t\\t\\tif ( listOffsetRight > $(window).width() ) {\\n\\t\\t\\t\\t\\t\\tconfig._collection.css( 'left', hostPosition.left - (listOffsetRight-$(window).width()) );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t// Fix position - centre on screen\\n\\t\\t\\t\\t\\tvar top = config._collection.height() / 2;\\n\\t\\t\\t\\t\\tif ( top > $(window).height() / 2 ) {\\n\\t\\t\\t\\t\\t\\ttop = $(window).height() / 2;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tconfig._collection.css( 'marginTop', top*-1 );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( config.background ) {\\n\\t\\t\\t\\t\\tButtons.background( true, config.backgroundClassName, config.fade, insertPoint );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Need to break the 'thread' for the collection button being\\n\\t\\t\\t\\t// activated by a click - it would also trigger this event\\n\\t\\t\\t\\tsetTimeout( function () {\\n\\t\\t\\t\\t\\t// This is bonkers, but if we don't have a click listener on the\\n\\t\\t\\t\\t\\t// background element, iOS Safari will ignore the body click\\n\\t\\t\\t\\t\\t// listener below. An empty function here is all that is\\n\\t\\t\\t\\t\\t// required to make it work...\\n\\t\\t\\t\\t\\t$('div.dt-button-background').on( 'click.dtb-collection', function () {} );\\n\\n\\t\\t\\t\\t\\t$('body')\\n\\t\\t\\t\\t\\t\\t.on( 'click.dtb-collection', function (e) {\\n\\t\\t\\t\\t\\t\\t\\t// andSelf is deprecated in jQ1.8, but we want 1.7 compat\\n\\t\\t\\t\\t\\t\\t\\tvar back = $.fn.addBack ? 'addBack' : 'andSelf';\\n\\n\\t\\t\\t\\t\\t\\t\\tif ( ! $(e.target).parents()[back]().filter( config._collection ).length ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t.on( 'keyup.dtb-collection', function (e) {\\n\\t\\t\\t\\t\\t\\t\\tif ( e.keyCode === 27 ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\t\\tif ( config.autoClose ) {\\n\\t\\t\\t\\t\\t\\tdt.on( 'buttons-action.b-internal', function () {\\n\\t\\t\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}, 10 );\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tbackground: true,\\n\\t\\tcollectionLayout: '',\\n\\t\\tcollectionTitle: '',\\n\\t\\tbackgroundClassName: 'dt-button-background',\\n\\t\\trightAlignClassName: 'dt-button-right',\\n\\t\\tautoClose: false,\\n\\t\\tfade: 400,\\n\\t\\tattr: {\\n\\t\\t\\t'aria-haspopup': true\\n\\t\\t}\\n\\t},\\n\\tcopy: function ( dt, conf ) {\\n\\t\\tif ( _dtButtons.copyHtml5 ) {\\n\\t\\t\\treturn 'copyHtml5';\\n\\t\\t}\\n\\t\\tif ( _dtButtons.copyFlash && _dtButtons.copyFlash.available( dt, conf ) ) {\\n\\t\\t\\treturn 'copyFlash';\\n\\t\\t}\\n\\t},\\n\\tcsv: function ( dt, conf ) {\\n\\t\\t// Common option that will use the HTML5 or Flash export buttons\\n\\t\\tif ( _dtButtons.csvHtml5 && _dtButtons.csvHtml5.available( dt, conf ) ) {\\n\\t\\t\\treturn 'csvHtml5';\\n\\t\\t}\\n\\t\\tif ( _dtButtons.csvFlash && _dtButtons.csvFlash.available( dt, conf ) ) {\\n\\t\\t\\treturn 'csvFlash';\\n\\t\\t}\\n\\t},\\n\\texcel: function ( dt, conf ) {\\n\\t\\t// Common option that will use the HTML5 or Flash export buttons\\n\\t\\tif ( _dtButtons.excelHtml5 && _dtButtons.excelHtml5.available( dt, conf ) ) {\\n\\t\\t\\treturn 'excelHtml5';\\n\\t\\t}\\n\\t\\tif ( _dtButtons.excelFlash && _dtButtons.excelFlash.available( dt, conf ) ) {\\n\\t\\t\\treturn 'excelFlash';\\n\\t\\t}\\n\\t},\\n\\tpdf: function ( dt, conf ) {\\n\\t\\t// Common option that will use the HTML5 or Flash export buttons\\n\\t\\tif ( _dtButtons.pdfHtml5 && _dtButtons.pdfHtml5.available( dt, conf ) ) {\\n\\t\\t\\treturn 'pdfHtml5';\\n\\t\\t}\\n\\t\\tif ( _dtButtons.pdfFlash && _dtButtons.pdfFlash.available( dt, conf ) ) {\\n\\t\\t\\treturn 'pdfFlash';\\n\\t\\t}\\n\\t},\\n\\tpageLength: function ( dt ) {\\n\\t\\tvar lengthMenu = dt.settings()[0].aLengthMenu;\\n\\t\\tvar vals = $.isArray( lengthMenu[0] ) ? lengthMenu[0] : lengthMenu;\\n\\t\\tvar lang = $.isArray( lengthMenu[0] ) ? lengthMenu[1] : lengthMenu;\\n\\t\\tvar text = function ( dt ) {\\n\\t\\t\\treturn dt.i18n( 'buttons.pageLength', {\\n\\t\\t\\t\\t\\\"-1\\\": 'Show all rows',\\n\\t\\t\\t\\t_:    'Show %d rows'\\n\\t\\t\\t}, dt.page.len() );\\n\\t\\t};\\n\\n\\t\\treturn {\\n\\t\\t\\textend: 'collection',\\n\\t\\t\\ttext: text,\\n\\t\\t\\tclassName: 'buttons-page-length',\\n\\t\\t\\tautoClose: true,\\n\\t\\t\\tbuttons: $.map( vals, function ( val, i ) {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ttext: lang[i],\\n\\t\\t\\t\\t\\tclassName: 'button-page-length',\\n\\t\\t\\t\\t\\taction: function ( e, dt ) {\\n\\t\\t\\t\\t\\t\\tdt.page.len( val ).draw();\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\tinit: function ( dt, node, conf ) {\\n\\t\\t\\t\\t\\t\\tvar that = this;\\n\\t\\t\\t\\t\\t\\tvar fn = function () {\\n\\t\\t\\t\\t\\t\\t\\tthat.active( dt.page.len() === val );\\n\\t\\t\\t\\t\\t\\t};\\n\\n\\t\\t\\t\\t\\t\\tdt.on( 'length.dt'+conf.namespace, fn );\\n\\t\\t\\t\\t\\t\\tfn();\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\tdestroy: function ( dt, node, conf ) {\\n\\t\\t\\t\\t\\t\\tdt.off( 'length.dt'+conf.namespace );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\t\\t} ),\\n\\t\\t\\tinit: function ( dt, node, conf ) {\\n\\t\\t\\t\\tvar that = this;\\n\\t\\t\\t\\tdt.on( 'length.dt'+conf.namespace, function () {\\n\\t\\t\\t\\t\\tthat.text( conf.text );\\n\\t\\t\\t\\t} );\\n\\t\\t\\t},\\n\\t\\t\\tdestroy: function ( dt, node, conf ) {\\n\\t\\t\\t\\tdt.off( 'length.dt'+conf.namespace );\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n} );\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * DataTables API\\n *\\n * For complete documentation, please refer to the docs/api directory or the\\n * DataTables site\\n */\\n\\n// Buttons group and individual button selector\\nDataTable.Api.register( 'buttons()', function ( group, selector ) {\\n\\t// Argument shifting\\n\\tif ( selector === undefined ) {\\n\\t\\tselector = group;\\n\\t\\tgroup = undefined;\\n\\t}\\n\\n\\tthis.selector.buttonGroup = group;\\n\\n\\tvar res = this.iterator( true, 'table', function ( ctx ) {\\n\\t\\tif ( ctx._buttons ) {\\n\\t\\t\\treturn Buttons.buttonSelector(\\n\\t\\t\\t\\tButtons.instanceSelector( group, ctx._buttons ),\\n\\t\\t\\t\\tselector\\n\\t\\t\\t);\\n\\t\\t}\\n\\t}, true );\\n\\n\\tres._groupSelector = group;\\n\\treturn res;\\n} );\\n\\n// Individual button selector\\nDataTable.Api.register( 'button()', function ( group, selector ) {\\n\\t// just run buttons() and truncate\\n\\tvar buttons = this.buttons( group, selector );\\n\\n\\tif ( buttons.length > 1 ) {\\n\\t\\tbuttons.splice( 1, buttons.length );\\n\\t}\\n\\n\\treturn buttons;\\n} );\\n\\n// Active buttons\\nDataTable.Api.registerPlural( 'buttons().active()', 'button().active()', function ( flag ) {\\n\\tif ( flag === undefined ) {\\n\\t\\treturn this.map( function ( set ) {\\n\\t\\t\\treturn set.inst.active( set.node );\\n\\t\\t} );\\n\\t}\\n\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.active( set.node, flag );\\n\\t} );\\n} );\\n\\n// Get / set button action\\nDataTable.Api.registerPlural( 'buttons().action()', 'button().action()', function ( action ) {\\n\\tif ( action === undefined ) {\\n\\t\\treturn this.map( function ( set ) {\\n\\t\\t\\treturn set.inst.action( set.node );\\n\\t\\t} );\\n\\t}\\n\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.action( set.node, action );\\n\\t} );\\n} );\\n\\n// Enable / disable buttons\\nDataTable.Api.register( ['buttons().enable()', 'button().enable()'], function ( flag ) {\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.enable( set.node, flag );\\n\\t} );\\n} );\\n\\n// Disable buttons\\nDataTable.Api.register( ['buttons().disable()', 'button().disable()'], function () {\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.disable( set.node );\\n\\t} );\\n} );\\n\\n// Get button nodes\\nDataTable.Api.registerPlural( 'buttons().nodes()', 'button().node()', function () {\\n\\tvar jq = $();\\n\\n\\t// jQuery will automatically reduce duplicates to a single entry\\n\\t$( this.each( function ( set ) {\\n\\t\\tjq = jq.add( set.inst.node( set.node ) );\\n\\t} ) );\\n\\n\\treturn jq;\\n} );\\n\\n// Get / set button processing state\\nDataTable.Api.registerPlural( 'buttons().processing()', 'button().processing()', function ( flag ) {\\n\\tif ( flag === undefined ) {\\n\\t\\treturn this.map( function ( set ) {\\n\\t\\t\\treturn set.inst.processing( set.node );\\n\\t\\t} );\\n\\t}\\n\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.processing( set.node, flag );\\n\\t} );\\n} );\\n\\n// Get / set button text (i.e. the button labels)\\nDataTable.Api.registerPlural( 'buttons().text()', 'button().text()', function ( label ) {\\n\\tif ( label === undefined ) {\\n\\t\\treturn this.map( function ( set ) {\\n\\t\\t\\treturn set.inst.text( set.node );\\n\\t\\t} );\\n\\t}\\n\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.text( set.node, label );\\n\\t} );\\n} );\\n\\n// Trigger a button's action\\nDataTable.Api.registerPlural( 'buttons().trigger()', 'button().trigger()', function () {\\n\\treturn this.each( function ( set ) {\\n\\t\\tset.inst.node( set.node ).trigger( 'click' );\\n\\t} );\\n} );\\n\\n// Get the container elements\\nDataTable.Api.registerPlural( 'buttons().containers()', 'buttons().container()', function () {\\n\\tvar jq = $();\\n\\tvar groupSelector = this._groupSelector;\\n\\n\\t// We need to use the group selector directly, since if there are no buttons\\n\\t// the result set will be empty\\n\\tthis.iterator( true, 'table', function ( ctx ) {\\n\\t\\tif ( ctx._buttons ) {\\n\\t\\t\\tvar insts = Buttons.instanceSelector( groupSelector, ctx._buttons );\\n\\n\\t\\t\\tfor ( var i=0, ien=insts.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tjq = jq.add( insts[i].container() );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} );\\n\\n\\treturn jq;\\n} );\\n\\n// Add a new button\\nDataTable.Api.register( 'button().add()', function ( idx, conf ) {\\n\\tvar ctx = this.context;\\n\\n\\t// Don't use `this` as it could be empty - select the instances directly\\n\\tif ( ctx.length ) {\\n\\t\\tvar inst = Buttons.instanceSelector( this._groupSelector, ctx[0]._buttons );\\n\\n\\t\\tif ( inst.length ) {\\n\\t\\t\\tinst[0].add( conf, idx );\\n\\t\\t}\\n\\t}\\n\\n\\treturn this.button( this._groupSelector, idx );\\n} );\\n\\n// Destroy the button sets selected\\nDataTable.Api.register( 'buttons().destroy()', function () {\\n\\tthis.pluck( 'inst' ).unique().each( function ( inst ) {\\n\\t\\tinst.destroy();\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\n// Remove a button\\nDataTable.Api.registerPlural( 'buttons().remove()', 'buttons().remove()', function () {\\n\\tthis.each( function ( set ) {\\n\\t\\tset.inst.remove( set.node );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\n// Information box that can be used by buttons\\nvar _infoTimer;\\nDataTable.Api.register( 'buttons.info()', function ( title, message, time ) {\\n\\tvar that = this;\\n\\n\\tif ( title === false ) {\\n\\t\\t$('#datatables_buttons_info').fadeOut( function () {\\n\\t\\t\\t$(this).remove();\\n\\t\\t} );\\n\\t\\tclearTimeout( _infoTimer );\\n\\t\\t_infoTimer = null;\\n\\n\\t\\treturn this;\\n\\t}\\n\\n\\tif ( _infoTimer ) {\\n\\t\\tclearTimeout( _infoTimer );\\n\\t}\\n\\n\\tif ( $('#datatables_buttons_info').length ) {\\n\\t\\t$('#datatables_buttons_info').remove();\\n\\t}\\n\\n\\ttitle = title ? '<h2>'+title+'</h2>' : '';\\n\\n\\t$('<div id=\\\"datatables_buttons_info\\\" class=\\\"dt-button-info\\\"/>')\\n\\t\\t.html( title )\\n\\t\\t.append( $('<div/>')[ typeof message === 'string' ? 'html' : 'append' ]( message ) )\\n\\t\\t.css( 'display', 'none' )\\n\\t\\t.appendTo( 'body' )\\n\\t\\t.fadeIn();\\n\\n\\tif ( time !== undefined && time !== 0 ) {\\n\\t\\t_infoTimer = setTimeout( function () {\\n\\t\\t\\tthat.buttons.info( false );\\n\\t\\t}, time );\\n\\t}\\n\\n\\treturn this;\\n} );\\n\\n// Get data from the table for export - this is common to a number of plug-in\\n// buttons so it is included in the Buttons core library\\nDataTable.Api.register( 'buttons.exportData()', function ( options ) {\\n\\tif ( this.context.length ) {\\n\\t\\treturn _exportData( new DataTable.Api( this.context[0] ), options );\\n\\t}\\n} );\\n\\n// Get information about the export that is common to many of the export data\\n// types (DRY)\\nDataTable.Api.register( 'buttons.exportInfo()', function ( conf ) {\\n\\tif ( ! conf ) {\\n\\t\\tconf = {};\\n\\t}\\n\\n\\treturn {\\n\\t\\tfilename: _filename( conf ),\\n\\t\\ttitle: _title( conf ),\\n\\t\\tmessageTop: _message(this, conf.message || conf.messageTop, 'top'),\\n\\t\\tmessageBottom: _message(this, conf.messageBottom, 'bottom')\\n\\t};\\n} );\\n\\n\\n\\n/**\\n * Get the file name for an exported file.\\n *\\n * @param {object}\\tconfig Button configuration\\n * @param {boolean} incExtension Include the file name extension\\n */\\nvar _filename = function ( config )\\n{\\n\\t// Backwards compatibility\\n\\tvar filename = config.filename === '*' && config.title !== '*' && config.title !== undefined && config.title !== null && config.title !== '' ?\\n\\t\\tconfig.title :\\n\\t\\tconfig.filename;\\n\\n\\tif ( typeof filename === 'function' ) {\\n\\t\\tfilename = filename();\\n\\t}\\n\\n\\tif ( filename === undefined || filename === null ) {\\n\\t\\treturn null;\\n\\t}\\n\\n\\tif ( filename.indexOf( '*' ) !== -1 ) {\\n\\t\\tfilename = $.trim( filename.replace( '*', $('head > title').text() ) );\\n\\t}\\n\\n\\t// Strip characters which the OS will object to\\n\\tfilename = filename.replace(/[^a-zA-Z0-9_\\\\u00A1-\\\\uFFFF\\\\.,\\\\-_ !\\\\(\\\\)]/g, \\\"\\\");\\n\\n\\tvar extension = _stringOrFunction( config.extension );\\n\\tif ( ! extension ) {\\n\\t\\textension = '';\\n\\t}\\n\\n\\treturn filename + extension;\\n};\\n\\n/**\\n * Simply utility method to allow parameters to be given as a function\\n *\\n * @param {undefined|string|function} option Option\\n * @return {null|string} Resolved value\\n */\\nvar _stringOrFunction = function ( option )\\n{\\n\\tif ( option === null || option === undefined ) {\\n\\t\\treturn null;\\n\\t}\\n\\telse if ( typeof option === 'function' ) {\\n\\t\\treturn option();\\n\\t}\\n\\treturn option;\\n};\\n\\n/**\\n * Get the title for an exported file.\\n *\\n * @param {object} config\\tButton configuration\\n */\\nvar _title = function ( config )\\n{\\n\\tvar title = _stringOrFunction( config.title );\\n\\n\\treturn title === null ?\\n\\t\\tnull : title.indexOf( '*' ) !== -1 ?\\n\\t\\t\\ttitle.replace( '*', $('head > title').text() || 'Exported data' ) :\\n\\t\\t\\ttitle;\\n};\\n\\nvar _message = function ( dt, option, position )\\n{\\n\\tvar message = _stringOrFunction( option );\\n\\tif ( message === null ) {\\n\\t\\treturn null;\\n\\t}\\n\\n\\tvar caption = $('caption', dt.table().container()).eq(0);\\n\\tif ( message === '*' ) {\\n\\t\\tvar side = caption.css( 'caption-side' );\\n\\t\\tif ( side !== position ) {\\n\\t\\t\\treturn null;\\n\\t\\t}\\n\\n\\t\\treturn caption.length ?\\n\\t\\t\\tcaption.text() :\\n\\t\\t\\t'';\\n\\t}\\n\\n\\treturn message;\\n};\\n\\n\\n\\n\\n\\n\\n\\nvar _exportTextarea = $('<textarea/>')[0];\\nvar _exportData = function ( dt, inOpts )\\n{\\n\\tvar config = $.extend( true, {}, {\\n\\t\\trows:           null,\\n\\t\\tcolumns:        '',\\n\\t\\tmodifier:       {\\n\\t\\t\\tsearch: 'applied',\\n\\t\\t\\torder:  'applied'\\n\\t\\t},\\n\\t\\torthogonal:     'display',\\n\\t\\tstripHtml:      true,\\n\\t\\tstripNewlines:  true,\\n\\t\\tdecodeEntities: true,\\n\\t\\ttrim:           true,\\n\\t\\tformat:         {\\n\\t\\t\\theader: function ( d ) {\\n\\t\\t\\t\\treturn strip( d );\\n\\t\\t\\t},\\n\\t\\t\\tfooter: function ( d ) {\\n\\t\\t\\t\\treturn strip( d );\\n\\t\\t\\t},\\n\\t\\t\\tbody: function ( d ) {\\n\\t\\t\\t\\treturn strip( d );\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tcustomizeData: null\\n\\t}, inOpts );\\n\\n\\tvar strip = function ( str ) {\\n\\t\\tif ( typeof str !== 'string' ) {\\n\\t\\t\\treturn str;\\n\\t\\t}\\n\\n\\t\\t// Always remove script tags\\n\\t\\tstr = str.replace( /<script\\\\b[^<]*(?:(?!<\\\\/script>)<[^<]*)*<\\\\/script>/gi, '' );\\n\\n\\t\\t// Always remove comments\\n\\t\\tstr = str.replace( /<!\\\\-\\\\-.*?\\\\-\\\\->/g, '' );\\n\\n\\t\\tif ( config.stripHtml ) {\\n\\t\\t\\tstr = str.replace( /<[^>]*>/g, '' );\\n\\t\\t}\\n\\n\\t\\tif ( config.trim ) {\\n\\t\\t\\tstr = str.replace( /^\\\\s+|\\\\s+$/g, '' );\\n\\t\\t}\\n\\n\\t\\tif ( config.stripNewlines ) {\\n\\t\\t\\tstr = str.replace( /\\\\n/g, ' ' );\\n\\t\\t}\\n\\n\\t\\tif ( config.decodeEntities ) {\\n\\t\\t\\t_exportTextarea.innerHTML = str;\\n\\t\\t\\tstr = _exportTextarea.value;\\n\\t\\t}\\n\\n\\t\\treturn str;\\n\\t};\\n\\n\\n\\tvar header = dt.columns( config.columns ).indexes().map( function (idx) {\\n\\t\\tvar el = dt.column( idx ).header();\\n\\t\\treturn config.format.header( el.innerHTML, idx, el );\\n\\t} ).toArray();\\n\\n\\tvar footer = dt.table().footer() ?\\n\\t\\tdt.columns( config.columns ).indexes().map( function (idx) {\\n\\t\\t\\tvar el = dt.column( idx ).footer();\\n\\t\\t\\treturn config.format.footer( el ? el.innerHTML : '', idx, el );\\n\\t\\t} ).toArray() :\\n\\t\\tnull;\\n\\t\\n\\t// If Select is available on this table, and any rows are selected, limit the export\\n\\t// to the selected rows. If no rows are selected, all rows will be exported. Specify\\n\\t// a `selected` modifier to control directly.\\n\\tvar modifier = $.extend( {}, config.modifier );\\n\\tif ( dt.select && typeof dt.select.info === 'function' && modifier.selected === undefined ) {\\n\\t\\tif ( dt.rows( config.rows, $.extend( { selected: true }, modifier ) ).any() ) {\\n\\t\\t\\t$.extend( modifier, { selected: true } )\\n\\t\\t}\\n\\t}\\n\\n\\tvar rowIndexes = dt.rows( config.rows, modifier ).indexes().toArray();\\n\\tvar selectedCells = dt.cells( rowIndexes, config.columns );\\n\\tvar cells = selectedCells\\n\\t\\t.render( config.orthogonal )\\n\\t\\t.toArray();\\n\\tvar cellNodes = selectedCells\\n\\t\\t.nodes()\\n\\t\\t.toArray();\\n\\n\\tvar columns = header.length;\\n\\tvar rows = columns > 0 ? cells.length / columns : 0;\\n\\tvar body = [];\\n\\tvar cellCounter = 0;\\n\\n\\tfor ( var i=0, ien=rows ; i<ien ; i++ ) {\\n\\t\\tvar row = [ columns ];\\n\\n\\t\\tfor ( var j=0 ; j<columns ; j++ ) {\\n\\t\\t\\trow[j] = config.format.body( cells[ cellCounter ], i, j, cellNodes[ cellCounter ] );\\n\\t\\t\\tcellCounter++;\\n\\t\\t}\\n\\n\\t\\tbody[i] = row;\\n\\t}\\n\\n\\tvar data = {\\n\\t\\theader: header,\\n\\t\\tfooter: footer,\\n\\t\\tbody:   body\\n\\t};\\n\\n\\tif ( config.customizeData ) {\\n\\t\\tconfig.customizeData( data );\\n\\t}\\n\\n\\treturn data;\\n};\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * DataTables interface\\n */\\n\\n// Attach to DataTables objects for global access\\n$.fn.dataTable.Buttons = Buttons;\\n$.fn.DataTable.Buttons = Buttons;\\n\\n\\n\\n// DataTables creation - check if the buttons have been defined for this table,\\n// they will have been if the `B` option was used in `dom`, otherwise we should\\n// create the buttons instance here so they can be inserted into the document\\n// using the API. Listen for `init` for compatibility with pre 1.10.10, but to\\n// be removed in future.\\n$(document).on( 'init.dt plugin-init.dt', function (e, settings) {\\n\\tif ( e.namespace !== 'dt' ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tvar opts = settings.oInit.buttons || DataTable.defaults.buttons;\\n\\n\\tif ( opts && ! settings._buttons ) {\\n\\t\\tnew Buttons( settings, opts ).container();\\n\\t}\\n} );\\n\\nfunction _init ( settings ) {\\n\\tvar api = new DataTable.Api( settings );\\n\\tvar opts = api.init().buttons || DataTable.defaults.buttons;\\n\\n\\treturn new Buttons( api, opts ).container();\\n}\\n\\n// DataTables `dom` feature option\\nDataTable.ext.feature.push( {\\n\\tfnInit: _init,\\n\\tcFeature: \\\"B\\\"\\n} );\\n\\n// DataTables 2 layout feature\\nif ( DataTable.ext.features ) {\\n\\tDataTable.ext.features.register( 'buttons', _init );\\n}\\n\\n\\nreturn Buttons;\\n}));\\n\"},function(t,e,l){l(0)(l(121))},function(t,e){t.exports='/*!\\n * HTML5 export buttons for Buttons and DataTables.\\n * 2016 SpryMedia Ltd - datatables.net/license\\n *\\n * FileSaver.js (1.3.3) - MIT license\\n * Copyright © 2016 Eli Grey - http://eligrey.com\\n */\\n\\n(function( factory ){\\n\\tif ( typeof define === \\'function\\' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( [\\'jquery\\', \\'datatables.net\\', \\'datatables.net-buttons\\'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === \\'object\\' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $, jszip, pdfmake) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t$ = require(\\'datatables.net\\')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $.fn.dataTable.Buttons ) {\\n\\t\\t\\t\\trequire(\\'datatables.net-buttons\\')(root, $);\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document, jszip, pdfmake );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, jszip, pdfmake, undefined ) {\\n\\'use strict\\';\\nvar DataTable = $.fn.dataTable;\\n\\n// Allow the constructor to pass in JSZip and PDFMake from external requires.\\n// Otherwise, use globally defined variables, if they are available.\\nfunction _jsZip () {\\n\\treturn jszip || window.JSZip;\\n}\\nfunction _pdfMake () {\\n\\treturn pdfmake || window.pdfMake;\\n}\\n\\nDataTable.Buttons.pdfMake = function (_) {\\n\\tif ( ! _ ) {\\n\\t\\treturn _pdfMake();\\n\\t}\\n\\tpdfmake = m_ake;\\n}\\n\\nDataTable.Buttons.jszip = function (_) {\\n\\tif ( ! _ ) {\\n\\t\\treturn _jsZip();\\n\\t}\\n\\tjszip = _;\\n}\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * FileSaver.js dependency\\n */\\n\\n/*jslint bitwise: true, indent: 4, laxbreak: true, laxcomma: true, smarttabs: true, plusplus: true */\\n\\nvar _saveAs = (function(view) {\\n\\t\"use strict\";\\n\\t// IE <10 is explicitly unsupported\\n\\tif (typeof view === \"undefined\" || typeof navigator !== \"undefined\" && /MSIE [1-9]\\\\./.test(navigator.userAgent)) {\\n\\t\\treturn;\\n\\t}\\n\\tvar\\n\\t\\t  doc = view.document\\n\\t\\t  // only get URL when necessary in case Blob.js hasn\\'t overridden it yet\\n\\t\\t, get_URL = function() {\\n\\t\\t\\treturn view.URL || view.webkitURL || view;\\n\\t\\t}\\n\\t\\t, save_link = doc.createElementNS(\"http://www.w3.org/1999/xhtml\", \"a\")\\n\\t\\t, can_use_save_link = \"download\" in save_link\\n\\t\\t, click = function(node) {\\n\\t\\t\\tvar event = new MouseEvent(\"click\");\\n\\t\\t\\tnode.dispatchEvent(event);\\n\\t\\t}\\n\\t\\t, is_safari = /constructor/i.test(view.HTMLElement) || view.safari\\n\\t\\t, is_chrome_ios =/CriOS\\\\/[\\\\d]+/.test(navigator.userAgent)\\n\\t\\t, throw_outside = function(ex) {\\n\\t\\t\\t(view.setImmediate || view.setTimeout)(function() {\\n\\t\\t\\t\\tthrow ex;\\n\\t\\t\\t}, 0);\\n\\t\\t}\\n\\t\\t, force_saveable_type = \"application/octet-stream\"\\n\\t\\t// the Blob API is fundamentally broken as there is no \"downloadfinished\" event to subscribe to\\n\\t\\t, arbitrary_revoke_timeout = 1000 * 40 // in ms\\n\\t\\t, revoke = function(file) {\\n\\t\\t\\tvar revoker = function() {\\n\\t\\t\\t\\tif (typeof file === \"string\") { // file is an object URL\\n\\t\\t\\t\\t\\tget_URL().revokeObjectURL(file);\\n\\t\\t\\t\\t} else { // file is a File\\n\\t\\t\\t\\t\\tfile.remove();\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t\\tsetTimeout(revoker, arbitrary_revoke_timeout);\\n\\t\\t}\\n\\t\\t, dispatch = function(filesaver, event_types, event) {\\n\\t\\t\\tevent_types = [].concat(event_types);\\n\\t\\t\\tvar i = event_types.length;\\n\\t\\t\\twhile (i--) {\\n\\t\\t\\t\\tvar listener = filesaver[\"on\" + event_types[i]];\\n\\t\\t\\t\\tif (typeof listener === \"function\") {\\n\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\tlistener.call(filesaver, event || filesaver);\\n\\t\\t\\t\\t\\t} catch (ex) {\\n\\t\\t\\t\\t\\t\\tthrow_outside(ex);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t, auto_bom = function(blob) {\\n\\t\\t\\t// prepend BOM for UTF-8 XML and text/* types (including HTML)\\n\\t\\t\\t// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\\n\\t\\t\\tif (/^\\\\s*(?:text\\\\/\\\\S*|application\\\\/xml|\\\\S*\\\\/\\\\S*\\\\+xml)\\\\s*;.*charset\\\\s*=\\\\s*utf-8/i.test(blob.type)) {\\n\\t\\t\\t\\treturn new Blob([String.fromCharCode(0xFEFF), blob], {type: blob.type});\\n\\t\\t\\t}\\n\\t\\t\\treturn blob;\\n\\t\\t}\\n\\t\\t, FileSaver = function(blob, name, no_auto_bom) {\\n\\t\\t\\tif (!no_auto_bom) {\\n\\t\\t\\t\\tblob = auto_bom(blob);\\n\\t\\t\\t}\\n\\t\\t\\t// First try a.download, then web filesystem, then object URLs\\n\\t\\t\\tvar\\n\\t\\t\\t\\t  filesaver = this\\n\\t\\t\\t\\t, type = blob.type\\n\\t\\t\\t\\t, force = type === force_saveable_type\\n\\t\\t\\t\\t, object_url\\n\\t\\t\\t\\t, dispatch_all = function() {\\n\\t\\t\\t\\t\\tdispatch(filesaver, \"writestart progress write writeend\".split(\" \"));\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\t// on any filesys errors revert to saving with object URLs\\n\\t\\t\\t\\t, fs_error = function() {\\n\\t\\t\\t\\t\\tif ((is_chrome_ios || (force && is_safari)) && view.FileReader) {\\n\\t\\t\\t\\t\\t\\t// Safari doesn\\'t allow downloading of blob urls\\n\\t\\t\\t\\t\\t\\tvar reader = new FileReader();\\n\\t\\t\\t\\t\\t\\treader.onloadend = function() {\\n\\t\\t\\t\\t\\t\\t\\tvar url = is_chrome_ios ? reader.result : reader.result.replace(/^data:[^;]*;/, \\'data:attachment/file;\\');\\n\\t\\t\\t\\t\\t\\t\\tvar popup = view.open(url, \\'_blank\\');\\n\\t\\t\\t\\t\\t\\t\\tif(!popup) view.location.href = url;\\n\\t\\t\\t\\t\\t\\t\\turl=undefined; // release reference before dispatching\\n\\t\\t\\t\\t\\t\\t\\tfilesaver.readyState = filesaver.DONE;\\n\\t\\t\\t\\t\\t\\t\\tdispatch_all();\\n\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t\\treader.readAsDataURL(blob);\\n\\t\\t\\t\\t\\t\\tfilesaver.readyState = filesaver.INIT;\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t// don\\'t create more object URLs than needed\\n\\t\\t\\t\\t\\tif (!object_url) {\\n\\t\\t\\t\\t\\t\\tobject_url = get_URL().createObjectURL(blob);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif (force) {\\n\\t\\t\\t\\t\\t\\tview.location.href = object_url;\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tvar opened = view.open(object_url, \"_blank\");\\n\\t\\t\\t\\t\\t\\tif (!opened) {\\n\\t\\t\\t\\t\\t\\t\\t// Apple does not allow window.open, see https://developer.apple.com/library/safari/documentation/Tools/Conceptual/SafariExtensionGuide/WorkingwithWindowsandTabs/WorkingwithWindowsandTabs.html\\n\\t\\t\\t\\t\\t\\t\\tview.location.href = object_url;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tfilesaver.readyState = filesaver.DONE;\\n\\t\\t\\t\\t\\tdispatch_all();\\n\\t\\t\\t\\t\\trevoke(object_url);\\n\\t\\t\\t\\t}\\n\\t\\t\\t;\\n\\t\\t\\tfilesaver.readyState = filesaver.INIT;\\n\\n\\t\\t\\tif (can_use_save_link) {\\n\\t\\t\\t\\tobject_url = get_URL().createObjectURL(blob);\\n\\t\\t\\t\\tsetTimeout(function() {\\n\\t\\t\\t\\t\\tsave_link.href = object_url;\\n\\t\\t\\t\\t\\tsave_link.download = name;\\n\\t\\t\\t\\t\\tclick(save_link);\\n\\t\\t\\t\\t\\tdispatch_all();\\n\\t\\t\\t\\t\\trevoke(object_url);\\n\\t\\t\\t\\t\\tfilesaver.readyState = filesaver.DONE;\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tfs_error();\\n\\t\\t}\\n\\t\\t, FS_proto = FileSaver.prototype\\n\\t\\t, saveAs = function(blob, name, no_auto_bom) {\\n\\t\\t\\treturn new FileSaver(blob, name || blob.name || \"download\", no_auto_bom);\\n\\t\\t}\\n\\t;\\n\\t// IE 10+ (native saveAs)\\n\\tif (typeof navigator !== \"undefined\" && navigator.msSaveOrOpenBlob) {\\n\\t\\treturn function(blob, name, no_auto_bom) {\\n\\t\\t\\tname = name || blob.name || \"download\";\\n\\n\\t\\t\\tif (!no_auto_bom) {\\n\\t\\t\\t\\tblob = auto_bom(blob);\\n\\t\\t\\t}\\n\\t\\t\\treturn navigator.msSaveOrOpenBlob(blob, name);\\n\\t\\t};\\n\\t}\\n\\n\\tFS_proto.abort = function(){};\\n\\tFS_proto.readyState = FS_proto.INIT = 0;\\n\\tFS_proto.WRITING = 1;\\n\\tFS_proto.DONE = 2;\\n\\n\\tFS_proto.error =\\n\\tFS_proto.onwritestart =\\n\\tFS_proto.onprogress =\\n\\tFS_proto.onwrite =\\n\\tFS_proto.onabort =\\n\\tFS_proto.onerror =\\n\\tFS_proto.onwriteend =\\n\\t\\tnull;\\n\\n\\treturn saveAs;\\n}(\\n\\t   typeof self !== \"undefined\" && self\\n\\t|| typeof window !== \"undefined\" && window\\n\\t|| this.content\\n));\\n\\n\\n// Expose file saver on the DataTables API. Can\\'t attach to `DataTables.Buttons`\\n// since this file can be loaded before Button\\'s core!\\nDataTable.fileSave = _saveAs;\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * Local (private) functions\\n */\\n\\n/**\\n * Get the sheet name for Excel exports.\\n *\\n * @param {object}\\tconfig Button configuration\\n */\\nvar _sheetname = function ( config )\\n{\\n\\tvar sheetName = \\'Sheet1\\';\\n\\n\\tif ( config.sheetName ) {\\n\\t\\tsheetName = config.sheetName.replace(/[\\\\[\\\\]\\\\*\\\\/\\\\\\\\\\\\?\\\\:]/g, \\'\\');\\n\\t}\\n\\n\\treturn sheetName;\\n};\\n\\n/**\\n * Get the newline character(s)\\n *\\n * @param {object}\\tconfig Button configuration\\n * @return {string}\\t\\t\\t\\tNewline character\\n */\\nvar _newLine = function ( config )\\n{\\n\\treturn config.newline ?\\n\\t\\tconfig.newline :\\n\\t\\tnavigator.userAgent.match(/Windows/) ?\\n\\t\\t\\t\\'\\\\r\\\\n\\' :\\n\\t\\t\\t\\'\\\\n\\';\\n};\\n\\n/**\\n * Combine the data from the `buttons.exportData` method into a string that\\n * will be used in the export file.\\n *\\n * @param\\t{DataTable.Api} dt\\t\\t DataTables API instance\\n * @param\\t{object}\\t\\t\\t\\tconfig Button configuration\\n * @return {object}\\t\\t\\t\\t\\t\\t\\t The data to export\\n */\\nvar _exportData = function ( dt, config )\\n{\\n\\tvar newLine = _newLine( config );\\n\\tvar data = dt.buttons.exportData( config.exportOptions );\\n\\tvar boundary = config.fieldBoundary;\\n\\tvar separator = config.fieldSeparator;\\n\\tvar reBoundary = new RegExp( boundary, \\'g\\' );\\n\\tvar escapeChar = config.escapeChar !== undefined ?\\n\\t\\tconfig.escapeChar :\\n\\t\\t\\'\\\\\\\\\\';\\n\\tvar join = function ( a ) {\\n\\t\\tvar s = \\'\\';\\n\\n\\t\\t// If there is a field boundary, then we might need to escape it in\\n\\t\\t// the source data\\n\\t\\tfor ( var i=0, ien=a.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( i > 0 ) {\\n\\t\\t\\t\\ts += separator;\\n\\t\\t\\t}\\n\\n\\t\\t\\ts += boundary ?\\n\\t\\t\\t\\tboundary + (\\'\\' + a[i]).replace( reBoundary, escapeChar+boundary ) + boundary :\\n\\t\\t\\t\\ta[i];\\n\\t\\t}\\n\\n\\t\\treturn s;\\n\\t};\\n\\n\\tvar header = config.header ? join( data.header )+newLine : \\'\\';\\n\\tvar footer = config.footer && data.footer ? newLine+join( data.footer ) : \\'\\';\\n\\tvar body = [];\\n\\n\\tfor ( var i=0, ien=data.body.length ; i<ien ; i++ ) {\\n\\t\\tbody.push( join( data.body[i] ) );\\n\\t}\\n\\n\\treturn {\\n\\t\\tstr: header + body.join( newLine ) + footer,\\n\\t\\trows: body.length\\n\\t};\\n};\\n\\n/**\\n * Older versions of Safari (prior to tech preview 18) don\\'t support the\\n * download option required.\\n *\\n * @return {Boolean} `true` if old Safari\\n */\\nvar _isDuffSafari = function ()\\n{\\n\\tvar safari = navigator.userAgent.indexOf(\\'Safari\\') !== -1 &&\\n\\t\\tnavigator.userAgent.indexOf(\\'Chrome\\') === -1 &&\\n\\t\\tnavigator.userAgent.indexOf(\\'Opera\\') === -1;\\n\\n\\tif ( ! safari ) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\tvar version = navigator.userAgent.match( /AppleWebKit\\\\/(\\\\d+\\\\.\\\\d+)/ );\\n\\tif ( version && version.length > 1 && version[1]*1 < 603.1 ) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\treturn false;\\n};\\n\\n/**\\n * Convert from numeric position to letter for column names in Excel\\n * @param  {int} n Column number\\n * @return {string} Column letter(s) name\\n */\\nfunction createCellPos( n ){\\n\\tvar ordA = \\'A\\'.charCodeAt(0);\\n\\tvar ordZ = \\'Z\\'.charCodeAt(0);\\n\\tvar len = ordZ - ordA + 1;\\n\\tvar s = \"\";\\n\\n\\twhile( n >= 0 ) {\\n\\t\\ts = String.fromCharCode(n % len + ordA) + s;\\n\\t\\tn = Math.floor(n / len) - 1;\\n\\t}\\n\\n\\treturn s;\\n}\\n\\ntry {\\n\\tvar _serialiser = new XMLSerializer();\\n\\tvar _ieExcel;\\n}\\ncatch (t) {}\\n\\n/**\\n * Recursively add XML files from an object\\'s structure to a ZIP file. This\\n * allows the XSLX file to be easily defined with an object\\'s structure matching\\n * the files structure.\\n *\\n * @param {JSZip} zip ZIP package\\n * @param {object} obj Object to add (recursive)\\n */\\nfunction _addToZip( zip, obj ) {\\n\\tif ( _ieExcel === undefined ) {\\n\\t\\t// Detect if we are dealing with IE\\'s _awful_ serialiser by seeing if it\\n\\t\\t// drop attributes\\n\\t\\t_ieExcel = _serialiser\\n\\t\\t\\t.serializeToString(\\n\\t\\t\\t\\t$.parseXML( excelStrings[\\'xl/worksheets/sheet1.xml\\'] )\\n\\t\\t\\t)\\n\\t\\t\\t.indexOf( \\'xmlns:r\\' ) === -1;\\n\\t}\\n\\n\\t$.each( obj, function ( name, val ) {\\n\\t\\tif ( $.isPlainObject( val ) ) {\\n\\t\\t\\tvar newDir = zip.folder( name );\\n\\t\\t\\t_addToZip( newDir, val );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tif ( _ieExcel ) {\\n\\t\\t\\t\\t// IE\\'s XML serialiser will drop some name space attributes from\\n\\t\\t\\t\\t// from the root node, so we need to save them. Do this by\\n\\t\\t\\t\\t// replacing the namespace nodes with a regular attribute that\\n\\t\\t\\t\\t// we convert back when serialised. Edge does not have this\\n\\t\\t\\t\\t// issue\\n\\t\\t\\t\\tvar worksheet = val.childNodes[0];\\n\\t\\t\\t\\tvar i, ien;\\n\\t\\t\\t\\tvar attrs = [];\\n\\n\\t\\t\\t\\tfor ( i=worksheet.attributes.length-1 ; i>=0 ; i-- ) {\\n\\t\\t\\t\\t\\tvar attrName = worksheet.attributes[i].nodeName;\\n\\t\\t\\t\\t\\tvar attrValue = worksheet.attributes[i].nodeValue;\\n\\n\\t\\t\\t\\t\\tif ( attrName.indexOf( \\':\\' ) !== -1 ) {\\n\\t\\t\\t\\t\\t\\tattrs.push( { name: attrName, value: attrValue } );\\n\\n\\t\\t\\t\\t\\t\\tworksheet.removeAttribute( attrName );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tfor ( i=0, ien=attrs.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tvar attr = val.createAttribute( attrs[i].name.replace( \\':\\', \\'_dt_b_namespace_token_\\' ) );\\n\\t\\t\\t\\t\\tattr.value = attrs[i].value;\\n\\t\\t\\t\\t\\tworksheet.setAttributeNode( attr );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar str = _serialiser.serializeToString(val);\\n\\n\\t\\t\\t// Fix IE\\'s XML\\n\\t\\t\\tif ( _ieExcel ) {\\n\\t\\t\\t\\t// IE doesn\\'t include the XML declaration\\n\\t\\t\\t\\tif ( str.indexOf( \\'<?xml\\' ) === -1 ) {\\n\\t\\t\\t\\t\\tstr = \\'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\'+str;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Return namespace attributes to being as such\\n\\t\\t\\t\\tstr = str.replace( /_dt_b_namespace_token_/g, \\':\\' );\\n\\n\\t\\t\\t\\t// Remove testing name space that IE puts into the space preserve attr\\n\\t\\t\\t\\tstr = str.replace( /xmlns:NS[\\\\d]+=\"\" NS[\\\\d]+:/g, \\'\\' );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Safari, IE and Edge will put empty name space attributes onto\\n\\t\\t\\t// various elements making them useless. This strips them out\\n\\t\\t\\tstr = str.replace( /<([^<>]*?) xmlns=\"\"([^<>]*?)>/g, \\'<$1 $2>\\' );\\n\\n\\t\\t\\tzip.file( name, str );\\n\\t\\t}\\n\\t} );\\n}\\n\\n/**\\n * Create an XML node and add any children, attributes, etc without needing to\\n * be verbose in the DOM.\\n *\\n * @param  {object} doc      XML document\\n * @param  {string} nodeName Node name\\n * @param  {object} opts     Options - can be `attr` (attributes), `children`\\n *   (child nodes) and `text` (text content)\\n * @return {node}            Created node\\n */\\nfunction _createNode( doc, nodeName, opts ) {\\n\\tvar tempNode = doc.createElement( nodeName );\\n\\n\\tif ( opts ) {\\n\\t\\tif ( opts.attr ) {\\n\\t\\t\\t$(tempNode).attr( opts.attr );\\n\\t\\t}\\n\\n\\t\\tif ( opts.children ) {\\n\\t\\t\\t$.each( opts.children, function ( key, value ) {\\n\\t\\t\\t\\ttempNode.appendChild( value );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tif ( opts.text !== null && opts.text !== undefined ) {\\n\\t\\t\\ttempNode.appendChild( doc.createTextNode( opts.text ) );\\n\\t\\t}\\n\\t}\\n\\n\\treturn tempNode;\\n}\\n\\n/**\\n * Get the width for an Excel column based on the contents of that column\\n * @param  {object} data Data for export\\n * @param  {int}    col  Column index\\n * @return {int}         Column width\\n */\\nfunction _excelColWidth( data, col ) {\\n\\tvar max = data.header[col].length;\\n\\tvar len, lineSplit, str;\\n\\n\\tif ( data.footer && data.footer[col].length > max ) {\\n\\t\\tmax = data.footer[col].length;\\n\\t}\\n\\n\\tfor ( var i=0, ien=data.body.length ; i<ien ; i++ ) {\\n\\t\\tvar point = data.body[i][col];\\n\\t\\tstr = point !== null && point !== undefined ?\\n\\t\\t\\tpoint.toString() :\\n\\t\\t\\t\\'\\';\\n\\n\\t\\t// If there is a newline character, workout the width of the column\\n\\t\\t// based on the longest line in the string\\n\\t\\tif ( str.indexOf(\\'\\\\n\\') !== -1 ) {\\n\\t\\t\\tlineSplit = str.split(\\'\\\\n\\');\\n\\t\\t\\tlineSplit.sort( function (a, b) {\\n\\t\\t\\t\\treturn b.length - a.length;\\n\\t\\t\\t} );\\n\\n\\t\\t\\tlen = lineSplit[0].length;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tlen = str.length;\\n\\t\\t}\\n\\n\\t\\tif ( len > max ) {\\n\\t\\t\\tmax = len;\\n\\t\\t}\\n\\n\\t\\t// Max width rather than having potentially massive column widths\\n\\t\\tif ( max > 40 ) {\\n\\t\\t\\treturn 54; // 40 * 1.35\\n\\t\\t}\\n\\t}\\n\\n\\tmax *= 1.35;\\n\\n\\t// And a min width\\n\\treturn max > 6 ? max : 6;\\n}\\n\\n// Excel - Pre-defined strings to build a basic XLSX file\\nvar excelStrings = {\\n\\t\"_rels/.rels\":\\n\\t\\t\\'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\'+\\n\\t\\t\\'<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\\'+\\n\\t\\t\\t\\'<Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument\" Target=\"xl/workbook.xml\"/>\\'+\\n\\t\\t\\'</Relationships>\\',\\n\\n\\t\"xl/_rels/workbook.xml.rels\":\\n\\t\\t\\'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\'+\\n\\t\\t\\'<Relationships xmlns=\"http://schemas.openxmlformats.org/package/2006/relationships\">\\'+\\n\\t\\t\\t\\'<Relationship Id=\"rId1\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet\" Target=\"worksheets/sheet1.xml\"/>\\'+\\n\\t\\t\\t\\'<Relationship Id=\"rId2\" Type=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles\" Target=\"styles.xml\"/>\\'+\\n\\t\\t\\'</Relationships>\\',\\n\\n\\t\"[Content_Types].xml\":\\n\\t\\t\\'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\'+\\n\\t\\t\\'<Types xmlns=\"http://schemas.openxmlformats.org/package/2006/content-types\">\\'+\\n\\t\\t\\t\\'<Default Extension=\"xml\" ContentType=\"application/xml\" />\\'+\\n\\t\\t\\t\\'<Default Extension=\"rels\" ContentType=\"application/vnd.openxmlformats-package.relationships+xml\" />\\'+\\n\\t\\t\\t\\'<Default Extension=\"jpeg\" ContentType=\"image/jpeg\" />\\'+\\n\\t\\t\\t\\'<Override PartName=\"/xl/workbook.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml\" />\\'+\\n\\t\\t\\t\\'<Override PartName=\"/xl/worksheets/sheet1.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml\" />\\'+\\n\\t\\t\\t\\'<Override PartName=\"/xl/styles.xml\" ContentType=\"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml\" />\\'+\\n\\t\\t\\'</Types>\\',\\n\\n\\t\"xl/workbook.xml\":\\n\\t\\t\\'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\'+\\n\\t\\t\\'<workbook xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\">\\'+\\n\\t\\t\\t\\'<fileVersion appName=\"xl\" lastEdited=\"5\" lowestEdited=\"5\" rupBuild=\"24816\"/>\\'+\\n\\t\\t\\t\\'<workbookPr showInkAnnotation=\"0\" autoCompressPictures=\"0\"/>\\'+\\n\\t\\t\\t\\'<bookViews>\\'+\\n\\t\\t\\t\\t\\'<workbookView xWindow=\"0\" yWindow=\"0\" windowWidth=\"25600\" windowHeight=\"19020\" tabRatio=\"500\"/>\\'+\\n\\t\\t\\t\\'</bookViews>\\'+\\n\\t\\t\\t\\'<sheets>\\'+\\n\\t\\t\\t\\t\\'<sheet name=\"Sheet1\" sheetId=\"1\" r:id=\"rId1\"/>\\'+\\n\\t\\t\\t\\'</sheets>\\'+\\n\\t\\t\\t\\'<definedNames/>\\'+\\n\\t\\t\\'</workbook>\\',\\n\\n\\t\"xl/worksheets/sheet1.xml\":\\n\\t\\t\\'<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\\'+\\n\\t\\t\\'<worksheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:r=\"http://schemas.openxmlformats.org/officeDocument/2006/relationships\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" mc:Ignorable=\"x14ac\" xmlns:x14ac=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\">\\'+\\n\\t\\t\\t\\'<sheetData/>\\'+\\n\\t\\t\\t\\'<mergeCells count=\"0\"/>\\'+\\n\\t\\t\\'</worksheet>\\',\\n\\n\\t\"xl/styles.xml\":\\n\\t\\t\\'<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\'+\\n\\t\\t\\'<styleSheet xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" xmlns:mc=\"http://schemas.openxmlformats.org/markup-compatibility/2006\" mc:Ignorable=\"x14ac\" xmlns:x14ac=\"http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac\">\\'+\\n\\t\\t\\t\\'<numFmts count=\"6\">\\'+\\n\\t\\t\\t\\t\\'<numFmt numFmtId=\"164\" formatCode=\"#,##0.00_-\\\\ [$$-45C]\"/>\\'+\\n\\t\\t\\t\\t\\'<numFmt numFmtId=\"165\" formatCode=\"&quot;£&quot;#,##0.00\"/>\\'+\\n\\t\\t\\t\\t\\'<numFmt numFmtId=\"166\" formatCode=\"[$€-2]\\\\ #,##0.00\"/>\\'+\\n\\t\\t\\t\\t\\'<numFmt numFmtId=\"167\" formatCode=\"0.0%\"/>\\'+\\n\\t\\t\\t\\t\\'<numFmt numFmtId=\"168\" formatCode=\"#,##0;(#,##0)\"/>\\'+\\n\\t\\t\\t\\t\\'<numFmt numFmtId=\"169\" formatCode=\"#,##0.00;(#,##0.00)\"/>\\'+\\n\\t\\t\\t\\'</numFmts>\\'+\\n\\t\\t\\t\\'<fonts count=\"5\" x14ac:knownFonts=\"1\">\\'+\\n\\t\\t\\t\\t\\'<font>\\'+\\n\\t\\t\\t\\t\\t\\'<sz val=\"11\" />\\'+\\n\\t\\t\\t\\t\\t\\'<name val=\"Calibri\" />\\'+\\n\\t\\t\\t\\t\\'</font>\\'+\\n\\t\\t\\t\\t\\'<font>\\'+\\n\\t\\t\\t\\t\\t\\'<sz val=\"11\" />\\'+\\n\\t\\t\\t\\t\\t\\'<name val=\"Calibri\" />\\'+\\n\\t\\t\\t\\t\\t\\'<color rgb=\"FFFFFFFF\" />\\'+\\n\\t\\t\\t\\t\\'</font>\\'+\\n\\t\\t\\t\\t\\'<font>\\'+\\n\\t\\t\\t\\t\\t\\'<sz val=\"11\" />\\'+\\n\\t\\t\\t\\t\\t\\'<name val=\"Calibri\" />\\'+\\n\\t\\t\\t\\t\\t\\'<b />\\'+\\n\\t\\t\\t\\t\\'</font>\\'+\\n\\t\\t\\t\\t\\'<font>\\'+\\n\\t\\t\\t\\t\\t\\'<sz val=\"11\" />\\'+\\n\\t\\t\\t\\t\\t\\'<name val=\"Calibri\" />\\'+\\n\\t\\t\\t\\t\\t\\'<i />\\'+\\n\\t\\t\\t\\t\\'</font>\\'+\\n\\t\\t\\t\\t\\'<font>\\'+\\n\\t\\t\\t\\t\\t\\'<sz val=\"11\" />\\'+\\n\\t\\t\\t\\t\\t\\'<name val=\"Calibri\" />\\'+\\n\\t\\t\\t\\t\\t\\'<u />\\'+\\n\\t\\t\\t\\t\\'</font>\\'+\\n\\t\\t\\t\\'</fonts>\\'+\\n\\t\\t\\t\\'<fills count=\"6\">\\'+\\n\\t\\t\\t\\t\\'<fill>\\'+\\n\\t\\t\\t\\t\\t\\'<patternFill patternType=\"none\" />\\'+\\n\\t\\t\\t\\t\\'</fill>\\'+\\n\\t\\t\\t\\t\\'<fill>\\'+ // Excel appears to use this as a dotted background regardless of values but\\n\\t\\t\\t\\t\\t\\'<patternFill patternType=\"none\" />\\'+ // to be valid to the schema, use a patternFill\\n\\t\\t\\t\\t\\'</fill>\\'+\\n\\t\\t\\t\\t\\'<fill>\\'+\\n\\t\\t\\t\\t\\t\\'<patternFill patternType=\"solid\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<fgColor rgb=\"FFD9D9D9\" />\\'+\\n\\t\\t\\t\\t\\t\\t\\'<bgColor indexed=\"64\" />\\'+\\n\\t\\t\\t\\t\\t\\'</patternFill>\\'+\\n\\t\\t\\t\\t\\'</fill>\\'+\\n\\t\\t\\t\\t\\'<fill>\\'+\\n\\t\\t\\t\\t\\t\\'<patternFill patternType=\"solid\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<fgColor rgb=\"FFD99795\" />\\'+\\n\\t\\t\\t\\t\\t\\t\\'<bgColor indexed=\"64\" />\\'+\\n\\t\\t\\t\\t\\t\\'</patternFill>\\'+\\n\\t\\t\\t\\t\\'</fill>\\'+\\n\\t\\t\\t\\t\\'<fill>\\'+\\n\\t\\t\\t\\t\\t\\'<patternFill patternType=\"solid\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<fgColor rgb=\"ffc6efce\" />\\'+\\n\\t\\t\\t\\t\\t\\t\\'<bgColor indexed=\"64\" />\\'+\\n\\t\\t\\t\\t\\t\\'</patternFill>\\'+\\n\\t\\t\\t\\t\\'</fill>\\'+\\n\\t\\t\\t\\t\\'<fill>\\'+\\n\\t\\t\\t\\t\\t\\'<patternFill patternType=\"solid\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<fgColor rgb=\"ffc6cfef\" />\\'+\\n\\t\\t\\t\\t\\t\\t\\'<bgColor indexed=\"64\" />\\'+\\n\\t\\t\\t\\t\\t\\'</patternFill>\\'+\\n\\t\\t\\t\\t\\'</fill>\\'+\\n\\t\\t\\t\\'</fills>\\'+\\n\\t\\t\\t\\'<borders count=\"2\">\\'+\\n\\t\\t\\t\\t\\'<border>\\'+\\n\\t\\t\\t\\t\\t\\'<left />\\'+\\n\\t\\t\\t\\t\\t\\'<right />\\'+\\n\\t\\t\\t\\t\\t\\'<top />\\'+\\n\\t\\t\\t\\t\\t\\'<bottom />\\'+\\n\\t\\t\\t\\t\\t\\'<diagonal />\\'+\\n\\t\\t\\t\\t\\'</border>\\'+\\n\\t\\t\\t\\t\\'<border diagonalUp=\"false\" diagonalDown=\"false\">\\'+\\n\\t\\t\\t\\t\\t\\'<left style=\"thin\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<color auto=\"1\" />\\'+\\n\\t\\t\\t\\t\\t\\'</left>\\'+\\n\\t\\t\\t\\t\\t\\'<right style=\"thin\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<color auto=\"1\" />\\'+\\n\\t\\t\\t\\t\\t\\'</right>\\'+\\n\\t\\t\\t\\t\\t\\'<top style=\"thin\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<color auto=\"1\" />\\'+\\n\\t\\t\\t\\t\\t\\'</top>\\'+\\n\\t\\t\\t\\t\\t\\'<bottom style=\"thin\">\\'+\\n\\t\\t\\t\\t\\t\\t\\'<color auto=\"1\" />\\'+\\n\\t\\t\\t\\t\\t\\'</bottom>\\'+\\n\\t\\t\\t\\t\\t\\'<diagonal />\\'+\\n\\t\\t\\t\\t\\'</border>\\'+\\n\\t\\t\\t\\'</borders>\\'+\\n\\t\\t\\t\\'<cellStyleXfs count=\"1\">\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" />\\'+\\n\\t\\t\\t\\'</cellStyleXfs>\\'+\\n\\t\\t\\t\\'<cellXfs count=\"67\">\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"2\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"2\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"2\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"2\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"2\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"3\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"3\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"3\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"3\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"3\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"4\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"4\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"4\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"4\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"4\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"5\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"5\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"5\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"5\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"5\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"0\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"0\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"0\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"0\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"2\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"2\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"2\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"2\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"2\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"3\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"3\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"3\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"3\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"3\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"4\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"4\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"4\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"4\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"4\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"5\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"1\" fillId=\"5\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"2\" fillId=\"5\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"3\" fillId=\"5\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"4\" fillId=\"5\" borderId=\"1\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyAlignment=\"1\">\\'+\\n\\t\\t\\t\\t\\t\\'<alignment horizontal=\"left\"/>\\'+\\n\\t\\t\\t\\t\\'</xf>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyAlignment=\"1\">\\'+\\n\\t\\t\\t\\t\\t\\'<alignment horizontal=\"center\"/>\\'+\\n\\t\\t\\t\\t\\'</xf>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyAlignment=\"1\">\\'+\\n\\t\\t\\t\\t\\t\\'<alignment horizontal=\"right\"/>\\'+\\n\\t\\t\\t\\t\\'</xf>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyAlignment=\"1\">\\'+\\n\\t\\t\\t\\t\\t\\'<alignment horizontal=\"fill\"/>\\'+\\n\\t\\t\\t\\t\\'</xf>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyAlignment=\"1\">\\'+\\n\\t\\t\\t\\t\\t\\'<alignment textRotation=\"90\"/>\\'+\\n\\t\\t\\t\\t\\'</xf>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"0\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyAlignment=\"1\">\\'+\\n\\t\\t\\t\\t\\t\\'<alignment wrapText=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'</xf>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"9\"   fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"164\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"165\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"166\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"167\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"168\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"169\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"3\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"4\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"1\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\t\\'<xf numFmtId=\"2\" fontId=\"0\" fillId=\"0\" borderId=\"0\" applyFont=\"1\" applyFill=\"1\" applyBorder=\"1\" xfId=\"0\" applyNumberFormat=\"1\"/>\\'+\\n\\t\\t\\t\\'</cellXfs>\\'+\\n\\t\\t\\t\\'<cellStyles count=\"1\">\\'+\\n\\t\\t\\t\\t\\'<cellStyle name=\"Normal\" xfId=\"0\" builtinId=\"0\" />\\'+\\n\\t\\t\\t\\'</cellStyles>\\'+\\n\\t\\t\\t\\'<dxfs count=\"0\" />\\'+\\n\\t\\t\\t\\'<tableStyles count=\"0\" defaultTableStyle=\"TableStyleMedium9\" defaultPivotStyle=\"PivotStyleMedium4\" />\\'+\\n\\t\\t\\'</styleSheet>\\'\\n};\\n// Note we could use 3 `for` loops for the styles, but when gzipped there is\\n// virtually no difference in size, since the above can be easily compressed\\n\\n// Pattern matching for special number formats. Perhaps this should be exposed\\n// via an API in future?\\n// Ref: section 3.8.30 - built in formatters in open spreadsheet\\n//   https://www.ecma-international.org/news/TC45_current_work/Office%20Open%20XML%20Part%204%20-%20Markup%20Language%20Reference.pdf\\nvar _excelSpecials = [\\n\\t{ match: /^\\\\-?\\\\d+\\\\.\\\\d%$/,       style: 60, fmt: function (d) { return d/100; } }, // Precent with d.p.\\n\\t{ match: /^\\\\-?\\\\d+\\\\.?\\\\d*%$/,     style: 56, fmt: function (d) { return d/100; } }, // Percent\\n\\t{ match: /^\\\\-?\\\\$[\\\\d,]+.?\\\\d*$/,  style: 57 }, // Dollars\\n\\t{ match: /^\\\\-?£[\\\\d,]+.?\\\\d*$/,   style: 58 }, // Pounds\\n\\t{ match: /^\\\\-?€[\\\\d,]+.?\\\\d*$/,   style: 59 }, // Euros\\n\\t{ match: /^\\\\-?\\\\d+$/,            style: 65 }, // Numbers without thousand separators\\n\\t{ match: /^\\\\-?\\\\d+\\\\.\\\\d{2}$/,     style: 66 }, // Numbers 2 d.p. without thousands separators\\n\\t{ match: /^\\\\([\\\\d,]+\\\\)$/,        style: 61, fmt: function (d) { return -1 * d.replace(/[\\\\(\\\\)]/g, \\'\\'); } },  // Negative numbers indicated by brackets\\n\\t{ match: /^\\\\([\\\\d,]+\\\\.\\\\d{2}\\\\)$/, style: 62, fmt: function (d) { return -1 * d.replace(/[\\\\(\\\\)]/g, \\'\\'); } },  // Negative numbers indicated by brackets - 2d.p.\\n\\t{ match: /^\\\\-?[\\\\d,]+$/,         style: 63 }, // Numbers with thousand separators\\n\\t{ match: /^\\\\-?[\\\\d,]+\\\\.\\\\d{2}$/,  style: 64 }  // Numbers with 2 d.p. and thousands separators\\n];\\n\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * Buttons\\n */\\n\\n//\\n// Copy to clipboard\\n//\\nDataTable.ext.buttons.copyHtml5 = {\\n\\tclassName: \\'buttons-copy buttons-html5\\',\\n\\n\\ttext: function ( dt ) {\\n\\t\\treturn dt.i18n( \\'buttons.copy\\', \\'Copy\\' );\\n\\t},\\n\\n\\taction: function ( e, dt, button, config ) {\\n\\t\\tthis.processing( true );\\n\\n\\t\\tvar that = this;\\n\\t\\tvar exportData = _exportData( dt, config );\\n\\t\\tvar info = dt.buttons.exportInfo( config );\\n\\t\\tvar newline = _newLine(config);\\n\\t\\tvar output = exportData.str;\\n\\t\\tvar hiddenDiv = $(\\'<div/>\\')\\n\\t\\t\\t.css( {\\n\\t\\t\\t\\theight: 1,\\n\\t\\t\\t\\twidth: 1,\\n\\t\\t\\t\\toverflow: \\'hidden\\',\\n\\t\\t\\t\\tposition: \\'fixed\\',\\n\\t\\t\\t\\ttop: 0,\\n\\t\\t\\t\\tleft: 0\\n\\t\\t\\t} );\\n\\n\\t\\tif ( info.title ) {\\n\\t\\t\\toutput = info.title + newline + newline + output;\\n\\t\\t}\\n\\n\\t\\tif ( info.messageTop ) {\\n\\t\\t\\toutput = info.messageTop + newline + newline + output;\\n\\t\\t}\\n\\n\\t\\tif ( info.messageBottom ) {\\n\\t\\t\\toutput = output + newline + newline + info.messageBottom;\\n\\t\\t}\\n\\n\\t\\tif ( config.customize ) {\\n\\t\\t\\toutput = config.customize( output, config, dt );\\n\\t\\t}\\n\\n\\t\\tvar textarea = $(\\'<textarea readonly/>\\')\\n\\t\\t\\t.val( output )\\n\\t\\t\\t.appendTo( hiddenDiv );\\n\\n\\t\\t// For browsers that support the copy execCommand, try to use it\\n\\t\\tif ( document.queryCommandSupported(\\'copy\\') ) {\\n\\t\\t\\thiddenDiv.appendTo( dt.table().container() );\\n\\t\\t\\ttextarea[0].focus();\\n\\t\\t\\ttextarea[0].select();\\n\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tvar successful = document.execCommand( \\'copy\\' );\\n\\t\\t\\t\\thiddenDiv.remove();\\n\\n\\t\\t\\t\\tif (successful) {\\n\\t\\t\\t\\t\\tdt.buttons.info(\\n\\t\\t\\t\\t\\t\\tdt.i18n( \\'buttons.copyTitle\\', \\'Copy to clipboard\\' ),\\n\\t\\t\\t\\t\\t\\tdt.i18n( \\'buttons.copySuccess\\', {\\n\\t\\t\\t\\t\\t\\t\\t1: \\'Copied one row to clipboard\\',\\n\\t\\t\\t\\t\\t\\t\\t_: \\'Copied %d rows to clipboard\\'\\n\\t\\t\\t\\t\\t\\t}, exportData.rows ),\\n\\t\\t\\t\\t\\t\\t2000\\n\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\tthis.processing( false );\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tcatch (t) {}\\n\\t\\t}\\n\\n\\t\\t// Otherwise we show the text box and instruct the user to use it\\n\\t\\tvar message = $(\\'<span>\\'+dt.i18n( \\'buttons.copyKeys\\',\\n\\t\\t\\t\\t\\'Press <i>ctrl</i> or <i>\\\\u2318</i> + <i>C</i> to copy the table data<br>to your system clipboard.<br><br>\\'+\\n\\t\\t\\t\\t\\'To cancel, click this message or press escape.\\' )+\\'</span>\\'\\n\\t\\t\\t)\\n\\t\\t\\t.append( hiddenDiv );\\n\\n\\t\\tdt.buttons.info( dt.i18n( \\'buttons.copyTitle\\', \\'Copy to clipboard\\' ), message, 0 );\\n\\n\\t\\t// Select the text so when the user activates their system clipboard\\n\\t\\t// it will copy that text\\n\\t\\ttextarea[0].focus();\\n\\t\\ttextarea[0].select();\\n\\n\\t\\t// Event to hide the message when the user is done\\n\\t\\tvar container = $(message).closest(\\'.dt-button-info\\');\\n\\t\\tvar close = function () {\\n\\t\\t\\tcontainer.off( \\'click.buttons-copy\\' );\\n\\t\\t\\t$(document).off( \\'.buttons-copy\\' );\\n\\t\\t\\tdt.buttons.info( false );\\n\\t\\t};\\n\\n\\t\\tcontainer.on( \\'click.buttons-copy\\', close );\\n\\t\\t$(document)\\n\\t\\t\\t.on( \\'keydown.buttons-copy\\', function (e) {\\n\\t\\t\\t\\tif ( e.keyCode === 27 ) { // esc\\n\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\tthat.processing( false );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} )\\n\\t\\t\\t.on( \\'copy.buttons-copy cut.buttons-copy\\', function () {\\n\\t\\t\\t\\tclose();\\n\\t\\t\\t\\tthat.processing( false );\\n\\t\\t\\t} );\\n\\t},\\n\\n\\texportOptions: {},\\n\\n\\tfieldSeparator: \\'\\\\t\\',\\n\\n\\tfieldBoundary: \\'\\',\\n\\n\\theader: true,\\n\\n\\tfooter: false,\\n\\n\\ttitle: \\'*\\',\\n\\n\\tmessageTop: \\'*\\',\\n\\n\\tmessageBottom: \\'*\\'\\n};\\n\\n//\\n// CSV export\\n//\\nDataTable.ext.buttons.csvHtml5 = {\\n\\tbom: false,\\n\\n\\tclassName: \\'buttons-csv buttons-html5\\',\\n\\n\\tavailable: function () {\\n\\t\\treturn window.FileReader !== undefined && window.Blob;\\n\\t},\\n\\n\\ttext: function ( dt ) {\\n\\t\\treturn dt.i18n( \\'buttons.csv\\', \\'CSV\\' );\\n\\t},\\n\\n\\taction: function ( e, dt, button, config ) {\\n\\t\\tthis.processing( true );\\n\\n\\t\\t// Set the text\\n\\t\\tvar output = _exportData( dt, config ).str;\\n\\t\\tvar info = dt.buttons.exportInfo(config);\\n\\t\\tvar charset = config.charset;\\n\\n\\t\\tif ( config.customize ) {\\n\\t\\t\\toutput = config.customize( output, config, dt );\\n\\t\\t}\\n\\n\\t\\tif ( charset !== false ) {\\n\\t\\t\\tif ( ! charset ) {\\n\\t\\t\\t\\tcharset = document.characterSet || document.charset;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( charset ) {\\n\\t\\t\\t\\tcharset = \\';charset=\\'+charset;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tcharset = \\'\\';\\n\\t\\t}\\n\\n\\t\\tif ( config.bom ) {\\n\\t\\t\\toutput = \\'\\\\ufeff\\' + output;\\n\\t\\t}\\n\\n\\t\\t_saveAs(\\n\\t\\t\\tnew Blob( [output], {type: \\'text/csv\\'+charset} ),\\n\\t\\t\\tinfo.filename,\\n\\t\\t\\ttrue\\n\\t\\t);\\n\\n\\t\\tthis.processing( false );\\n\\t},\\n\\n\\tfilename: \\'*\\',\\n\\n\\textension: \\'.csv\\',\\n\\n\\texportOptions: {},\\n\\n\\tfieldSeparator: \\',\\',\\n\\n\\tfieldBoundary: \\'\"\\',\\n\\n\\tescapeChar: \\'\"\\',\\n\\n\\tcharset: null,\\n\\n\\theader: true,\\n\\n\\tfooter: false\\n};\\n\\n//\\n// Excel (xlsx) export\\n//\\nDataTable.ext.buttons.excelHtml5 = {\\n\\tclassName: \\'buttons-excel buttons-html5\\',\\n\\n\\tavailable: function () {\\n\\t\\treturn window.FileReader !== undefined && _jsZip() !== undefined && ! _isDuffSafari() && _serialiser;\\n\\t},\\n\\n\\ttext: function ( dt ) {\\n\\t\\treturn dt.i18n( \\'buttons.excel\\', \\'Excel\\' );\\n\\t},\\n\\n\\taction: function ( e, dt, button, config ) {\\n\\t\\tthis.processing( true );\\n\\n\\t\\tvar that = this;\\n\\t\\tvar rowPos = 0;\\n\\t\\tvar dataStartRow, dataEndRow;\\n\\t\\tvar getXml = function ( type ) {\\n\\t\\t\\tvar str = excelStrings[ type ];\\n\\n\\t\\t\\t//str = str.replace( /xmlns:/g, \\'xmlns_\\' ).replace( /mc:/g, \\'mc_\\' );\\n\\n\\t\\t\\treturn $.parseXML( str );\\n\\t\\t};\\n\\t\\tvar rels = getXml(\\'xl/worksheets/sheet1.xml\\');\\n\\t\\tvar relsGet = rels.getElementsByTagName( \"sheetData\" )[0];\\n\\n\\t\\tvar xlsx = {\\n\\t\\t\\t_rels: {\\n\\t\\t\\t\\t\".rels\": getXml(\\'_rels/.rels\\')\\n\\t\\t\\t},\\n\\t\\t\\txl: {\\n\\t\\t\\t\\t_rels: {\\n\\t\\t\\t\\t\\t\"workbook.xml.rels\": getXml(\\'xl/_rels/workbook.xml.rels\\')\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\"workbook.xml\": getXml(\\'xl/workbook.xml\\'),\\n\\t\\t\\t\\t\"styles.xml\": getXml(\\'xl/styles.xml\\'),\\n\\t\\t\\t\\t\"worksheets\": {\\n\\t\\t\\t\\t\\t\"sheet1.xml\": rels\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t},\\n\\t\\t\\t\"[Content_Types].xml\": getXml(\\'[Content_Types].xml\\')\\n\\t\\t};\\n\\n\\t\\tvar data = dt.buttons.exportData( config.exportOptions );\\n\\t\\tvar currentRow, rowNode;\\n\\t\\tvar addRow = function ( row ) {\\n\\t\\t\\tcurrentRow = rowPos+1;\\n\\t\\t\\trowNode = _createNode( rels, \"row\", { attr: {r:currentRow} } );\\n\\n\\t\\t\\tfor ( var i=0, ien=row.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t// Concat both the Cell Columns as a letter and the Row of the cell.\\n\\t\\t\\t\\tvar cellId = createCellPos(i) + \\'\\' + currentRow;\\n\\t\\t\\t\\tvar cell = null;\\n\\n\\t\\t\\t\\t// For null, undefined of blank cell, continue so it doesn\\'t create the _createNode\\n\\t\\t\\t\\tif ( row[i] === null || row[i] === undefined || row[i] === \\'\\' ) {\\n\\t\\t\\t\\t\\tif ( config.createEmptyCells === true ) {\\n\\t\\t\\t\\t\\t\\trow[i] = \\'\\';\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tvar originalContent = row[i];\\n\\t\\t\\t\\trow[i] = $.trim( row[i] );\\n\\n\\t\\t\\t\\t// Special number formatting options\\n\\t\\t\\t\\tfor ( var j=0, jen=_excelSpecials.length ; j<jen ; j++ ) {\\n\\t\\t\\t\\t\\tvar special = _excelSpecials[j];\\n\\n\\t\\t\\t\\t\\t// TODO Need to provide the ability for the specials to say\\n\\t\\t\\t\\t\\t// if they are returning a string, since at the moment it is\\n\\t\\t\\t\\t\\t// assumed to be a number\\n\\t\\t\\t\\t\\tif ( row[i].match && ! row[i].match(/^0\\\\d+/) && row[i].match( special.match ) ) {\\n\\t\\t\\t\\t\\t\\tvar val = row[i].replace(/[^\\\\d\\\\.\\\\-]/g, \\'\\');\\n\\n\\t\\t\\t\\t\\t\\tif ( special.fmt ) {\\n\\t\\t\\t\\t\\t\\t\\tval = special.fmt( val );\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tcell = _createNode( rels, \\'c\\', {\\n\\t\\t\\t\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\t\\t\\t\\tr: cellId,\\n\\t\\t\\t\\t\\t\\t\\t\\ts: special.style\\n\\t\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\tchildren: [\\n\\t\\t\\t\\t\\t\\t\\t\\t_createNode( rels, \\'v\\', { text: val } )\\n\\t\\t\\t\\t\\t\\t\\t]\\n\\t\\t\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( ! cell ) {\\n\\t\\t\\t\\t\\tif ( typeof row[i] === \\'number\\' || (\\n\\t\\t\\t\\t\\t\\trow[i].match &&\\n\\t\\t\\t\\t\\t\\trow[i].match(/^-?\\\\d+(\\\\.\\\\d+)?$/) &&\\n\\t\\t\\t\\t\\t\\t! row[i].match(/^0\\\\d+/) )\\n\\t\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\t\\t// Detect numbers - don\\'t match numbers with leading zeros\\n\\t\\t\\t\\t\\t\\t// or a negative anywhere but the start\\n\\t\\t\\t\\t\\t\\tcell = _createNode( rels, \\'c\\', {\\n\\t\\t\\t\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\t\\t\\t\\tt: \\'n\\',\\n\\t\\t\\t\\t\\t\\t\\t\\tr: cellId\\n\\t\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\tchildren: [\\n\\t\\t\\t\\t\\t\\t\\t\\t_createNode( rels, \\'v\\', { text: row[i] } )\\n\\t\\t\\t\\t\\t\\t\\t]\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\t\\t// String output - replace non standard characters for text output\\n\\t\\t\\t\\t\\t\\tvar text = ! originalContent.replace ?\\n\\t\\t\\t\\t\\t\\t\\toriginalContent :\\n\\t\\t\\t\\t\\t\\t\\toriginalContent.replace(/[\\\\x00-\\\\x09\\\\x0B\\\\x0C\\\\x0E-\\\\x1F\\\\x7F-\\\\x9F]/g, \\'\\');\\n\\n\\t\\t\\t\\t\\t\\tcell = _createNode( rels, \\'c\\', {\\n\\t\\t\\t\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\t\\t\\t\\tt: \\'inlineStr\\',\\n\\t\\t\\t\\t\\t\\t\\t\\tr: cellId\\n\\t\\t\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\t\\t\\tchildren:{\\n\\t\\t\\t\\t\\t\\t\\t\\trow: _createNode( rels, \\'is\\', {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tchildren: {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\trow: _createNode( rels, \\'t\\', {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttext: text,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\'xml:space\\': \\'preserve\\'\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\trowNode.appendChild( cell );\\n\\t\\t\\t}\\n\\n\\t\\t\\trelsGet.appendChild(rowNode);\\n\\t\\t\\trowPos++;\\n\\t\\t};\\n\\n\\t\\tif ( config.customizeData ) {\\n\\t\\t\\tconfig.customizeData( data );\\n\\t\\t}\\n\\n\\t\\tvar mergeCells = function ( row, colspan ) {\\n\\t\\t\\tvar mergeCells = $(\\'mergeCells\\', rels);\\n\\n\\t\\t\\tmergeCells[0].appendChild( _createNode( rels, \\'mergeCell\\', {\\n\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\tref: \\'A\\'+row+\\':\\'+createCellPos(colspan)+row\\n\\t\\t\\t\\t}\\n\\t\\t\\t} ) );\\n\\t\\t\\tmergeCells.attr( \\'count\\', parseFloat(mergeCells.attr( \\'count\\' ))+1 );\\n\\t\\t\\t$(\\'row:eq(\\'+(row-1)+\\') c\\', rels).attr( \\'s\\', \\'51\\' ); // centre\\n\\t\\t};\\n\\n\\t\\t// Title and top messages\\n\\t\\tvar exportInfo = dt.buttons.exportInfo( config );\\n\\t\\tif ( exportInfo.title ) {\\n\\t\\t\\taddRow( [exportInfo.title], rowPos );\\n\\t\\t\\tmergeCells( rowPos, data.header.length-1 );\\n\\t\\t}\\n\\n\\t\\tif ( exportInfo.messageTop ) {\\n\\t\\t\\taddRow( [exportInfo.messageTop], rowPos );\\n\\t\\t\\tmergeCells( rowPos, data.header.length-1 );\\n\\t\\t}\\n\\n\\n\\t\\t// Table itself\\n\\t\\tif ( config.header ) {\\n\\t\\t\\taddRow( data.header, rowPos );\\n\\t\\t\\t$(\\'row:last c\\', rels).attr( \\'s\\', \\'2\\' ); // bold\\n\\t\\t}\\n\\t\\n\\t\\tdataStartRow = rowPos;\\n\\n\\t\\tfor ( var n=0, ie=data.body.length ; n<ie ; n++ ) {\\n\\t\\t\\taddRow( data.body[n], rowPos );\\n\\t\\t}\\n\\t\\n\\t\\tdataEndRow = rowPos;\\n\\n\\t\\tif ( config.footer && data.footer ) {\\n\\t\\t\\taddRow( data.footer, rowPos);\\n\\t\\t\\t$(\\'row:last c\\', rels).attr( \\'s\\', \\'2\\' ); // bold\\n\\t\\t}\\n\\n\\t\\t// Below the table\\n\\t\\tif ( exportInfo.messageBottom ) {\\n\\t\\t\\taddRow( [exportInfo.messageBottom], rowPos );\\n\\t\\t\\tmergeCells( rowPos, data.header.length-1 );\\n\\t\\t}\\n\\n\\t\\t// Set column widths\\n\\t\\tvar cols = _createNode( rels, \\'cols\\' );\\n\\t\\t$(\\'worksheet\\', rels).prepend( cols );\\n\\n\\t\\tfor ( var i=0, ien=data.header.length ; i<ien ; i++ ) {\\n\\t\\t\\tcols.appendChild( _createNode( rels, \\'col\\', {\\n\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\tmin: i+1,\\n\\t\\t\\t\\t\\tmax: i+1,\\n\\t\\t\\t\\t\\twidth: _excelColWidth( data, i ),\\n\\t\\t\\t\\t\\tcustomWidth: 1\\n\\t\\t\\t\\t}\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\t// Workbook modifications\\n\\t\\tvar workbook = xlsx.xl[\\'workbook.xml\\'];\\n\\n\\t\\t$( \\'sheets sheet\\', workbook ).attr( \\'name\\', _sheetname( config ) );\\n\\n\\t\\t// Auto filter for columns\\n\\t\\tif ( config.autoFilter ) {\\n\\t\\t\\t$(\\'mergeCells\\', rels).before( _createNode( rels, \\'autoFilter\\', {\\n\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\tref: \\'A\\'+dataStartRow+\\':\\'+createCellPos(data.header.length-1)+dataEndRow\\n\\t\\t\\t\\t}\\n\\t\\t\\t} ) );\\n\\n\\t\\t\\t$(\\'definedNames\\', workbook).append( _createNode( workbook, \\'definedName\\', {\\n\\t\\t\\t\\tattr: {\\n\\t\\t\\t\\t\\tname: \\'_xlnm._FilterDatabase\\',\\n\\t\\t\\t\\t\\tlocalSheetId: \\'0\\',\\n\\t\\t\\t\\t\\thidden: 1\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\ttext: _sheetname(config)+\\'!$A$\\'+dataStartRow+\\':\\'+createCellPos(data.header.length-1)+dataEndRow\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\t// Let the developer customise the document if they want to\\n\\t\\tif ( config.customize ) {\\n\\t\\t\\tconfig.customize( xlsx, config, dt );\\n\\t\\t}\\n\\n\\t\\t// Excel doesn\\'t like an empty mergeCells tag\\n\\t\\tif ( $(\\'mergeCells\\', rels).children().length === 0 ) {\\n\\t\\t\\t$(\\'mergeCells\\', rels).remove();\\n\\t\\t}\\n\\n\\t\\tvar jszip = _jsZip();\\n\\t\\tvar zip = new jszip();\\n\\t\\tvar zipConfig = {\\n\\t\\t\\ttype: \\'blob\\',\\n\\t\\t\\tmimeType: \\'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\\'\\n\\t\\t};\\n\\n\\t\\t_addToZip( zip, xlsx );\\n\\n\\t\\tif ( zip.generateAsync ) {\\n\\t\\t\\t// JSZip 3+\\n\\t\\t\\tzip\\n\\t\\t\\t\\t.generateAsync( zipConfig )\\n\\t\\t\\t\\t.then( function ( blob ) {\\n\\t\\t\\t\\t\\t_saveAs( blob, exportInfo.filename );\\n\\t\\t\\t\\t\\tthat.processing( false );\\n\\t\\t\\t\\t} );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// JSZip 2.5\\n\\t\\t\\t_saveAs(\\n\\t\\t\\t\\tzip.generate( zipConfig ),\\n\\t\\t\\t\\texportInfo.filename\\n\\t\\t\\t);\\n\\t\\t\\tthis.processing( false );\\n\\t\\t}\\n\\t},\\n\\n\\tfilename: \\'*\\',\\n\\n\\textension: \\'.xlsx\\',\\n\\n\\texportOptions: {},\\n\\n\\theader: true,\\n\\n\\tfooter: false,\\n\\n\\ttitle: \\'*\\',\\n\\n\\tmessageTop: \\'*\\',\\n\\n\\tmessageBottom: \\'*\\',\\n\\n\\tcreateEmptyCells: false,\\n\\n\\tautoFilter: false,\\n\\n\\tsheetName: \\'\\'\\n};\\n\\n//\\n// PDF export - using pdfMake - http://pdfmake.org\\n//\\nDataTable.ext.buttons.pdfHtml5 = {\\n\\tclassName: \\'buttons-pdf buttons-html5\\',\\n\\n\\tavailable: function () {\\n\\t\\treturn window.FileReader !== undefined && _pdfMake();\\n\\t},\\n\\n\\ttext: function ( dt ) {\\n\\t\\treturn dt.i18n( \\'buttons.pdf\\', \\'PDF\\' );\\n\\t},\\n\\n\\taction: function ( e, dt, button, config ) {\\n\\t\\tthis.processing( true );\\n\\n\\t\\tvar that = this;\\n\\t\\tvar data = dt.buttons.exportData( config.exportOptions );\\n\\t\\tvar info = dt.buttons.exportInfo( config );\\n\\t\\tvar rows = [];\\n\\n\\t\\tif ( config.header ) {\\n\\t\\t\\trows.push( $.map( data.header, function ( d ) {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ttext: typeof d === \\'string\\' ? d : d+\\'\\',\\n\\t\\t\\t\\t\\tstyle: \\'tableHeader\\'\\n\\t\\t\\t\\t};\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\tfor ( var i=0, ien=data.body.length ; i<ien ; i++ ) {\\n\\t\\t\\trows.push( $.map( data.body[i], function ( d ) {\\n\\t\\t\\t\\tif ( d === null || d === undefined ) {\\n\\t\\t\\t\\t\\td = \\'\\';\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ttext: typeof d === \\'string\\' ? d : d+\\'\\',\\n\\t\\t\\t\\t\\tstyle: i % 2 ? \\'tableBodyEven\\' : \\'tableBodyOdd\\'\\n\\t\\t\\t\\t};\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\tif ( config.footer && data.footer) {\\n\\t\\t\\trows.push( $.map( data.footer, function ( d ) {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\ttext: typeof d === \\'string\\' ? d : d+\\'\\',\\n\\t\\t\\t\\t\\tstyle: \\'tableFooter\\'\\n\\t\\t\\t\\t};\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\tvar doc = {\\n\\t\\t\\tpageSize: config.pageSize,\\n\\t\\t\\tpageOrientation: config.orientation,\\n\\t\\t\\tcontent: [\\n\\t\\t\\t\\t{\\n\\t\\t\\t\\t\\ttable: {\\n\\t\\t\\t\\t\\t\\theaderRows: 1,\\n\\t\\t\\t\\t\\t\\tbody: rows\\n\\t\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\tlayout: \\'noBorders\\'\\n\\t\\t\\t\\t}\\n\\t\\t\\t],\\n\\t\\t\\tstyles: {\\n\\t\\t\\t\\ttableHeader: {\\n\\t\\t\\t\\t\\tbold: true,\\n\\t\\t\\t\\t\\tfontSize: 11,\\n\\t\\t\\t\\t\\tcolor: \\'white\\',\\n\\t\\t\\t\\t\\tfillColor: \\'#2d4154\\',\\n\\t\\t\\t\\t\\talignment: \\'center\\'\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\ttableBodyEven: {},\\n\\t\\t\\t\\ttableBodyOdd: {\\n\\t\\t\\t\\t\\tfillColor: \\'#f3f3f3\\'\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\ttableFooter: {\\n\\t\\t\\t\\t\\tbold: true,\\n\\t\\t\\t\\t\\tfontSize: 11,\\n\\t\\t\\t\\t\\tcolor: \\'white\\',\\n\\t\\t\\t\\t\\tfillColor: \\'#2d4154\\'\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\ttitle: {\\n\\t\\t\\t\\t\\talignment: \\'center\\',\\n\\t\\t\\t\\t\\tfontSize: 15\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\tmessage: {}\\n\\t\\t\\t},\\n\\t\\t\\tdefaultStyle: {\\n\\t\\t\\t\\tfontSize: 10\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\tif ( info.messageTop ) {\\n\\t\\t\\tdoc.content.unshift( {\\n\\t\\t\\t\\ttext: info.messageTop,\\n\\t\\t\\t\\tstyle: \\'message\\',\\n\\t\\t\\t\\tmargin: [ 0, 0, 0, 12 ]\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tif ( info.messageBottom ) {\\n\\t\\t\\tdoc.content.push( {\\n\\t\\t\\t\\ttext: info.messageBottom,\\n\\t\\t\\t\\tstyle: \\'message\\',\\n\\t\\t\\t\\tmargin: [ 0, 0, 0, 12 ]\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tif ( info.title ) {\\n\\t\\t\\tdoc.content.unshift( {\\n\\t\\t\\t\\ttext: info.title,\\n\\t\\t\\t\\tstyle: \\'title\\',\\n\\t\\t\\t\\tmargin: [ 0, 0, 0, 12 ]\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tif ( config.customize ) {\\n\\t\\t\\tconfig.customize( doc, config, dt );\\n\\t\\t}\\n\\n\\t\\tvar pdf = _pdfMake().createPdf( doc );\\n\\n\\t\\tif ( config.download === \\'open\\' && ! _isDuffSafari() ) {\\n\\t\\t\\tpdf.open();\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tpdf.download( info.filename );\\n\\t\\t}\\n\\n\\t\\tthis.processing( false );\\n\\t},\\n\\n\\ttitle: \\'*\\',\\n\\n\\tfilename: \\'*\\',\\n\\n\\textension: \\'.pdf\\',\\n\\n\\texportOptions: {},\\n\\n\\torientation: \\'portrait\\',\\n\\n\\tpageSize: \\'A4\\',\\n\\n\\theader: true,\\n\\n\\tfooter: false,\\n\\n\\tmessageTop: \\'*\\',\\n\\n\\tmessageBottom: \\'*\\',\\n\\n\\tcustomize: null,\\n\\n\\tdownload: \\'download\\'\\n};\\n\\n\\nreturn DataTable.Buttons;\\n}));\\n'},function(t,e,l){l(0)(l(123))},function(t,e){t.exports=\"/*!\\n * Print button for Buttons and DataTables.\\n * 2016 SpryMedia Ltd - datatables.net/license\\n */\\n\\n(function( factory ){\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery', 'datatables.net', 'datatables.net-buttons'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t$ = require('datatables.net')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $.fn.dataTable.Buttons ) {\\n\\t\\t\\t\\trequire('datatables.net-buttons')(root, $);\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, undefined ) {\\n'use strict';\\nvar DataTable = $.fn.dataTable;\\n\\n\\nvar _link = document.createElement( 'a' );\\n\\n/**\\n * Clone link and style tags, taking into account the need to change the source\\n * path.\\n *\\n * @param  {node}     el Element to convert\\n */\\nvar _styleToAbs = function( el ) {\\n\\tvar url;\\n\\tvar clone = $(el).clone()[0];\\n\\tvar linkHost;\\n\\n\\tif ( clone.nodeName.toLowerCase() === 'link' ) {\\n\\t\\tclone.href = _relToAbs( clone.href );\\n\\t}\\n\\n\\treturn clone.outerHTML;\\n};\\n\\n/**\\n * Convert a URL from a relative to an absolute address so it will work\\n * correctly in the popup window which has no base URL.\\n *\\n * @param  {string} href URL\\n */\\nvar _relToAbs = function( href ) {\\n\\t// Assign to a link on the original page so the browser will do all the\\n\\t// hard work of figuring out where the file actually is\\n\\t_link.href = href;\\n\\tvar linkHost = _link.host;\\n\\n\\t// IE doesn't have a trailing slash on the host\\n\\t// Chrome has it on the pathname\\n\\tif ( linkHost.indexOf('/') === -1 && _link.pathname.indexOf('/') !== 0) {\\n\\t\\tlinkHost += '/';\\n\\t}\\n\\n\\treturn _link.protocol+\\\"//\\\"+linkHost+_link.pathname+_link.search;\\n};\\n\\n\\nDataTable.ext.buttons.print = {\\n\\tclassName: 'buttons-print',\\n\\n\\ttext: function ( dt ) {\\n\\t\\treturn dt.i18n( 'buttons.print', 'Print' );\\n\\t},\\n\\n\\taction: function ( e, dt, button, config ) {\\n\\t\\tvar data = dt.buttons.exportData(\\n\\t\\t\\t$.extend( {decodeEntities: false}, config.exportOptions ) // XSS protection\\n\\t\\t);\\n\\t\\tvar exportInfo = dt.buttons.exportInfo( config );\\n\\t\\tvar columnClasses = dt\\n\\t\\t\\t.columns( config.exportOptions.columns )\\n\\t\\t\\t.flatten()\\n\\t\\t\\t.map( function (idx) {\\n\\t\\t\\t\\treturn dt.settings()[0].aoColumns[dt.column(idx).index()].sClass;\\n\\t\\t\\t} )\\n\\t\\t\\t.toArray();\\n\\n\\t\\tvar addRow = function ( d, tag ) {\\n\\t\\t\\tvar str = '<tr>';\\n\\n\\t\\t\\tfor ( var i=0, ien=d.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t// null and undefined aren't useful in the print output\\n\\t\\t\\t\\tvar dataOut = d[i] === null || d[i] === undefined ?\\n\\t\\t\\t\\t\\t'' :\\n\\t\\t\\t\\t\\td[i];\\n\\t\\t\\t\\tvar classAttr = columnClasses[i] ?\\n\\t\\t\\t\\t\\t'class=\\\"'+columnClasses[i]+'\\\"' :\\n\\t\\t\\t\\t\\t'';\\n\\n\\t\\t\\t\\tstr += '<'+tag+' '+classAttr+'>'+dataOut+'</'+tag+'>';\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn str + '</tr>';\\n\\t\\t};\\n\\n\\t\\t// Construct a table for printing\\n\\t\\tvar html = '<table class=\\\"'+dt.table().node().className+'\\\">';\\n\\n\\t\\tif ( config.header ) {\\n\\t\\t\\thtml += '<thead>'+ addRow( data.header, 'th' ) +'</thead>';\\n\\t\\t}\\n\\n\\t\\thtml += '<tbody>';\\n\\t\\tfor ( var i=0, ien=data.body.length ; i<ien ; i++ ) {\\n\\t\\t\\thtml += addRow( data.body[i], 'td' );\\n\\t\\t}\\n\\t\\thtml += '</tbody>';\\n\\n\\t\\tif ( config.footer && data.footer ) {\\n\\t\\t\\thtml += '<tfoot>'+ addRow( data.footer, 'th' ) +'</tfoot>';\\n\\t\\t}\\n\\t\\thtml += '</table>';\\n\\n\\t\\t// Open a new window for the printable table\\n\\t\\tvar win = window.open( '', '' );\\n\\t\\twin.document.close();\\n\\n\\t\\t// Inject the title and also a copy of the style and link tags from this\\n\\t\\t// document so the table can retain its base styling. Note that we have\\n\\t\\t// to use string manipulation as IE won't allow elements to be created\\n\\t\\t// in the host document and then appended to the new window.\\n\\t\\tvar head = '<title>'+exportInfo.title+'</title>';\\n\\t\\t$('style, link').each( function () {\\n\\t\\t\\thead += _styleToAbs( this );\\n\\t\\t} );\\n\\n\\t\\ttry {\\n\\t\\t\\twin.document.head.innerHTML = head; // Work around for Edge\\n\\t\\t}\\n\\t\\tcatch (e) {\\n\\t\\t\\t$(win.document.head).html( head ); // Old IE\\n\\t\\t}\\n\\n\\t\\t// Inject the table and other surrounding information\\n\\t\\twin.document.body.innerHTML =\\n\\t\\t\\t'<h1>'+exportInfo.title+'</h1>'+\\n\\t\\t\\t'<div>'+(exportInfo.messageTop || '')+'</div>'+\\n\\t\\t\\thtml+\\n\\t\\t\\t'<div>'+(exportInfo.messageBottom || '')+'</div>';\\n\\n\\t\\t$(win.document.body).addClass('dt-print-view');\\n\\n\\t\\t$('img', win.document.body).each( function ( i, img ) {\\n\\t\\t\\timg.setAttribute( 'src', _relToAbs( img.getAttribute('src') ) );\\n\\t\\t} );\\n\\n\\t\\tif ( config.customize ) {\\n\\t\\t\\tconfig.customize( win, config, dt );\\n\\t\\t}\\n\\n\\t\\t// Allow stylesheets time to load\\n\\t\\tvar autoPrint = function () {\\n\\t\\t\\tif ( config.autoPrint ) {\\n\\t\\t\\t\\twin.print(); // blocking - so close will not\\n\\t\\t\\t\\twin.close(); // execute until this is done\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\tif ( navigator.userAgent.match(/Trident\\\\/\\\\d.\\\\d/) ) { // IE needs to call this without a setTimeout\\n\\t\\t\\tautoPrint();\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\twin.setTimeout( autoPrint, 1000 );\\n\\t\\t}\\n\\t},\\n\\n\\ttitle: '*',\\n\\n\\tmessageTop: '*',\\n\\n\\tmessageBottom: '*',\\n\\n\\texportOptions: {},\\n\\n\\theader: true,\\n\\n\\tfooter: false,\\n\\n\\tautoPrint: true,\\n\\n\\tcustomize: null\\n};\\n\\n\\nreturn DataTable.Buttons;\\n}));\\n\"},function(t,e,l){l(0)(l(125))},function(t,e){t.exports=\"/*! Bootstrap integration for DataTables' Buttons\\n * ©2016 SpryMedia Ltd - datatables.net/license\\n */\\n\\n(function( factory ){\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery', 'datatables.net-bs4', 'datatables.net-buttons'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t$ = require('datatables.net-bs4')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $.fn.dataTable.Buttons ) {\\n\\t\\t\\t\\trequire('datatables.net-buttons')(root, $);\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, undefined ) {\\n'use strict';\\nvar DataTable = $.fn.dataTable;\\n\\n$.extend( true, DataTable.Buttons.defaults, {\\n\\tdom: {\\n\\t\\tcontainer: {\\n\\t\\t\\tclassName: 'dt-buttons btn-group'\\n\\t\\t},\\n\\t\\tbutton: {\\n\\t\\t\\tclassName: 'btn btn-secondary'\\n\\t\\t},\\n\\t\\tcollection: {\\n\\t\\t\\ttag: 'div',\\n\\t\\t\\tclassName: 'dt-button-collection dropdown-menu',\\n\\t\\t\\tbutton: {\\n\\t\\t\\t\\ttag: 'a',\\n\\t\\t\\t\\tclassName: 'dt-button dropdown-item',\\n\\t\\t\\t\\tactive: 'active',\\n\\t\\t\\t\\tdisabled: 'disabled'\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\tbuttonCreated: function ( config, button ) {\\n\\t\\treturn config.buttons ?\\n\\t\\t\\t$('<div class=\\\"btn-group\\\"/>').append(button) :\\n\\t\\t\\tbutton;\\n\\t}\\n} );\\n\\nDataTable.ext.buttons.collection.className += ' dropdown-toggle';\\nDataTable.ext.buttons.collection.rightAlignClassName = 'dropdown-menu-right';\\n\\nreturn DataTable.Buttons;\\n}));\\n\"},function(t,e,l){l(0)(l(127))},function(t,e){t.exports=\"/*! Responsive 2.2.3\\n * 2014-2018 SpryMedia Ltd - datatables.net/license\\n */\\n\\n/**\\n * @summary     Responsive\\n * @description Responsive tables plug-in for DataTables\\n * @version     2.2.3\\n * @file        dataTables.responsive.js\\n * @author      SpryMedia Ltd (www.sprymedia.co.uk)\\n * @contact     www.sprymedia.co.uk/contact\\n * @copyright   Copyright 2014-2018 SpryMedia Ltd.\\n *\\n * This source file is free software, available under the following license:\\n *   MIT license - http://datatables.net/license/mit\\n *\\n * This source file is distributed in the hope that it will be useful, but\\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\\n *\\n * For details please refer to: http://www.datatables.net\\n */\\n(function( factory ){\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t$ = require('datatables.net')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, undefined ) {\\n'use strict';\\nvar DataTable = $.fn.dataTable;\\n\\n\\n/**\\n * Responsive is a plug-in for the DataTables library that makes use of\\n * DataTables' ability to change the visibility of columns, changing the\\n * visibility of columns so the displayed columns fit into the table container.\\n * The end result is that complex tables will be dynamically adjusted to fit\\n * into the viewport, be it on a desktop, tablet or mobile browser.\\n *\\n * Responsive for DataTables has two modes of operation, which can used\\n * individually or combined:\\n *\\n * * Class name based control - columns assigned class names that match the\\n *   breakpoint logic can be shown / hidden as required for each breakpoint.\\n * * Automatic control - columns are automatically hidden when there is no\\n *   room left to display them. Columns removed from the right.\\n *\\n * In additional to column visibility control, Responsive also has built into\\n * options to use DataTables' child row display to show / hide the information\\n * from the table that has been hidden. There are also two modes of operation\\n * for this child row display:\\n *\\n * * Inline - when the control element that the user can use to show / hide\\n *   child rows is displayed inside the first column of the table.\\n * * Column - where a whole column is dedicated to be the show / hide control.\\n *\\n * Initialisation of Responsive is performed by:\\n *\\n * * Adding the class `responsive` or `dt-responsive` to the table. In this case\\n *   Responsive will automatically be initialised with the default configuration\\n *   options when the DataTable is created.\\n * * Using the `responsive` option in the DataTables configuration options. This\\n *   can also be used to specify the configuration options, or simply set to\\n *   `true` to use the defaults.\\n *\\n *  @class\\n *  @param {object} settings DataTables settings object for the host table\\n *  @param {object} [opts] Configuration options\\n *  @requires jQuery 1.7+\\n *  @requires DataTables 1.10.3+\\n *\\n *  @example\\n *      $('#example').DataTable( {\\n *        responsive: true\\n *      } );\\n *    } );\\n */\\nvar Responsive = function ( settings, opts ) {\\n\\t// Sanity check that we are using DataTables 1.10 or newer\\n\\tif ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.10' ) ) {\\n\\t\\tthrow 'DataTables Responsive requires DataTables 1.10.10 or newer';\\n\\t}\\n\\n\\tthis.s = {\\n\\t\\tdt: new DataTable.Api( settings ),\\n\\t\\tcolumns: [],\\n\\t\\tcurrent: []\\n\\t};\\n\\n\\t// Check if responsive has already been initialised on this table\\n\\tif ( this.s.dt.settings()[0].responsive ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// details is an object, but for simplicity the user can give it as a string\\n\\t// or a boolean\\n\\tif ( opts && typeof opts.details === 'string' ) {\\n\\t\\topts.details = { type: opts.details };\\n\\t}\\n\\telse if ( opts && opts.details === false ) {\\n\\t\\topts.details = { type: false };\\n\\t}\\n\\telse if ( opts && opts.details === true ) {\\n\\t\\topts.details = { type: 'inline' };\\n\\t}\\n\\n\\tthis.c = $.extend( true, {}, Responsive.defaults, DataTable.defaults.responsive, opts );\\n\\tsettings.responsive = this;\\n\\tthis._constructor();\\n};\\n\\n$.extend( Responsive.prototype, {\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Constructor\\n\\t */\\n\\n\\t/**\\n\\t * Initialise the Responsive instance\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_constructor: function ()\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar dtPrivateSettings = dt.settings()[0];\\n\\t\\tvar oldWindowWidth = $(window).width();\\n\\n\\t\\tdt.settings()[0]._responsive = this;\\n\\n\\t\\t// Use DataTables' throttle function to avoid processor thrashing on\\n\\t\\t// resize\\n\\t\\t$(window).on( 'resize.dtr orientationchange.dtr', DataTable.util.throttle( function () {\\n\\t\\t\\t// iOS has a bug whereby resize can fire when only scrolling\\n\\t\\t\\t// See: http://stackoverflow.com/questions/8898412\\n\\t\\t\\tvar width = $(window).width();\\n\\n\\t\\t\\tif ( width !== oldWindowWidth ) {\\n\\t\\t\\t\\tthat._resize();\\n\\t\\t\\t\\toldWindowWidth = width;\\n\\t\\t\\t}\\n\\t\\t} ) );\\n\\n\\t\\t// DataTables doesn't currently trigger an event when a row is added, so\\n\\t\\t// we need to hook into its private API to enforce the hidden rows when\\n\\t\\t// new data is added\\n\\t\\tdtPrivateSettings.oApi._fnCallbackReg( dtPrivateSettings, 'aoRowCreatedCallback', function (tr, data, idx) {\\n\\t\\t\\tif ( $.inArray( false, that.s.current ) !== -1 ) {\\n\\t\\t\\t\\t$('>td, >th', tr).each( function ( i ) {\\n\\t\\t\\t\\t\\tvar idx = dt.column.index( 'toData', i );\\n\\n\\t\\t\\t\\t\\tif ( that.s.current[idx] === false ) {\\n\\t\\t\\t\\t\\t\\t$(this).css('display', 'none');\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t\\t// Destroy event handler\\n\\t\\tdt.on( 'destroy.dtr', function () {\\n\\t\\t\\tdt.off( '.dtr' );\\n\\t\\t\\t$( dt.table().body() ).off( '.dtr' );\\n\\t\\t\\t$(window).off( 'resize.dtr orientationchange.dtr' );\\n\\n\\t\\t\\t// Restore the columns that we've hidden\\n\\t\\t\\t$.each( that.s.current, function ( i, val ) {\\n\\t\\t\\t\\tif ( val === false ) {\\n\\t\\t\\t\\t\\tthat._setColumnVis( i, true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\t} );\\n\\n\\t\\t// Reorder the breakpoints array here in case they have been added out\\n\\t\\t// of order\\n\\t\\tthis.c.breakpoints.sort( function (a, b) {\\n\\t\\t\\treturn a.width < b.width ? 1 :\\n\\t\\t\\t\\ta.width > b.width ? -1 : 0;\\n\\t\\t} );\\n\\n\\t\\tthis._classLogic();\\n\\t\\tthis._resizeAuto();\\n\\n\\t\\t// Details handler\\n\\t\\tvar details = this.c.details;\\n\\n\\t\\tif ( details.type !== false ) {\\n\\t\\t\\tthat._detailsInit();\\n\\n\\t\\t\\t// DataTables will trigger this event on every column it shows and\\n\\t\\t\\t// hides individually\\n\\t\\t\\tdt.on( 'column-visibility.dtr', function () {\\n\\t\\t\\t\\t// Use a small debounce to allow multiple columns to be set together\\n\\t\\t\\t\\tif ( that._timer ) {\\n\\t\\t\\t\\t\\tclearTimeout( that._timer );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tthat._timer = setTimeout( function () {\\n\\t\\t\\t\\t\\tthat._timer = null;\\n\\n\\t\\t\\t\\t\\tthat._classLogic();\\n\\t\\t\\t\\t\\tthat._resizeAuto();\\n\\t\\t\\t\\t\\tthat._resize();\\n\\n\\t\\t\\t\\t\\tthat._redrawChildren();\\n\\t\\t\\t\\t}, 100 );\\n\\t\\t\\t} );\\n\\n\\t\\t\\t// Redraw the details box on each draw which will happen if the data\\n\\t\\t\\t// has changed. This is used until DataTables implements a native\\n\\t\\t\\t// `updated` event for rows\\n\\t\\t\\tdt.on( 'draw.dtr', function () {\\n\\t\\t\\t\\tthat._redrawChildren();\\n\\t\\t\\t} );\\n\\n\\t\\t\\t$(dt.table().node()).addClass( 'dtr-'+details.type );\\n\\t\\t}\\n\\n\\t\\tdt.on( 'column-reorder.dtr', function (e, settings, details) {\\n\\t\\t\\tthat._classLogic();\\n\\t\\t\\tthat._resizeAuto();\\n\\t\\t\\tthat._resize();\\n\\t\\t} );\\n\\n\\t\\t// Change in column sizes means we need to calc\\n\\t\\tdt.on( 'column-sizing.dtr', function () {\\n\\t\\t\\tthat._resizeAuto();\\n\\t\\t\\tthat._resize();\\n\\t\\t});\\n\\n\\t\\t// On Ajax reload we want to reopen any child rows which are displayed\\n\\t\\t// by responsive\\n\\t\\tdt.on( 'preXhr.dtr', function () {\\n\\t\\t\\tvar rowIds = [];\\n\\t\\t\\tdt.rows().every( function () {\\n\\t\\t\\t\\tif ( this.child.isShown() ) {\\n\\t\\t\\t\\t\\trowIds.push( this.id(true) );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\n\\t\\t\\tdt.one( 'draw.dtr', function () {\\n\\t\\t\\t\\tthat._resizeAuto();\\n\\t\\t\\t\\tthat._resize();\\n\\n\\t\\t\\t\\tdt.rows( rowIds ).every( function () {\\n\\t\\t\\t\\t\\tthat._detailsDisplay( this, false );\\n\\t\\t\\t\\t} );\\n\\t\\t\\t} );\\n\\t\\t});\\n\\n\\t\\tdt.on( 'init.dtr', function (e, settings, details) {\\n\\t\\t\\tthat._resizeAuto();\\n\\t\\t\\tthat._resize();\\n\\n\\t\\t\\t// If columns were hidden, then DataTables needs to adjust the\\n\\t\\t\\t// column sizing\\n\\t\\t\\tif ( $.inArray( false, that.s.current ) ) {\\n\\t\\t\\t\\tdt.columns.adjust();\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t\\t// First pass - draw the table for the current viewport size\\n\\t\\tthis._resize();\\n\\t},\\n\\n\\n\\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n\\t * Private methods\\n\\t */\\n\\n\\t/**\\n\\t * Calculate the visibility for the columns in a table for a given\\n\\t * breakpoint. The result is pre-determined based on the class logic if\\n\\t * class names are used to control all columns, but the width of the table\\n\\t * is also used if there are columns which are to be automatically shown\\n\\t * and hidden.\\n\\t *\\n\\t * @param  {string} breakpoint Breakpoint name to use for the calculation\\n\\t * @return {array} Array of boolean values initiating the visibility of each\\n\\t *   column.\\n\\t *  @private\\n\\t */\\n\\t_columnsVisiblity: function ( breakpoint )\\n\\t{\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar columns = this.s.columns;\\n\\t\\tvar i, ien;\\n\\n\\t\\t// Create an array that defines the column ordering based first on the\\n\\t\\t// column's priority, and secondly the column index. This allows the\\n\\t\\t// columns to be removed from the right if the priority matches\\n\\t\\tvar order = columns\\n\\t\\t\\t.map( function ( col, idx ) {\\n\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\tcolumnIdx: idx,\\n\\t\\t\\t\\t\\tpriority: col.priority\\n\\t\\t\\t\\t};\\n\\t\\t\\t} )\\n\\t\\t\\t.sort( function ( a, b ) {\\n\\t\\t\\t\\tif ( a.priority !== b.priority ) {\\n\\t\\t\\t\\t\\treturn a.priority - b.priority;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn a.columnIdx - b.columnIdx;\\n\\t\\t\\t} );\\n\\n\\t\\t// Class logic - determine which columns are in this breakpoint based\\n\\t\\t// on the classes. If no class control (i.e. `auto`) then `-` is used\\n\\t\\t// to indicate this to the rest of the function\\n\\t\\tvar display = $.map( columns, function ( col, i ) {\\n\\t\\t\\tif ( dt.column(i).visible() === false ) {\\n\\t\\t\\t\\treturn 'not-visible';\\n\\t\\t\\t}\\n\\t\\t\\treturn col.auto && col.minWidth === null ?\\n\\t\\t\\t\\tfalse :\\n\\t\\t\\t\\tcol.auto === true ?\\n\\t\\t\\t\\t\\t'-' :\\n\\t\\t\\t\\t\\t$.inArray( breakpoint, col.includeIn ) !== -1;\\n\\t\\t} );\\n\\n\\t\\t// Auto column control - first pass: how much width is taken by the\\n\\t\\t// ones that must be included from the non-auto columns\\n\\t\\tvar requiredWidth = 0;\\n\\t\\tfor ( i=0, ien=display.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( display[i] === true ) {\\n\\t\\t\\t\\trequiredWidth += columns[i].minWidth;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Second pass, use up any remaining width for other columns. For\\n\\t\\t// scrolling tables we need to subtract the width of the scrollbar. It\\n\\t\\t// may not be requires which makes this sub-optimal, but it would\\n\\t\\t// require another full redraw to make complete use of those extra few\\n\\t\\t// pixels\\n\\t\\tvar scrolling = dt.settings()[0].oScroll;\\n\\t\\tvar bar = scrolling.sY || scrolling.sX ? scrolling.iBarWidth : 0;\\n\\t\\tvar widthAvailable = dt.table().container().offsetWidth - bar;\\n\\t\\tvar usedWidth = widthAvailable - requiredWidth;\\n\\n\\t\\t// Control column needs to always be included. This makes it sub-\\n\\t\\t// optimal in terms of using the available with, but to stop layout\\n\\t\\t// thrashing or overflow. Also we need to account for the control column\\n\\t\\t// width first so we know how much width is available for the other\\n\\t\\t// columns, since the control column might not be the first one shown\\n\\t\\tfor ( i=0, ien=display.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( columns[i].control ) {\\n\\t\\t\\t\\tusedWidth -= columns[i].minWidth;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Allow columns to be shown (counting by priority and then right to\\n\\t\\t// left) until we run out of room\\n\\t\\tvar empty = false;\\n\\t\\tfor ( i=0, ien=order.length ; i<ien ; i++ ) {\\n\\t\\t\\tvar colIdx = order[i].columnIdx;\\n\\n\\t\\t\\tif ( display[colIdx] === '-' && ! columns[colIdx].control && columns[colIdx].minWidth ) {\\n\\t\\t\\t\\t// Once we've found a column that won't fit we don't let any\\n\\t\\t\\t\\t// others display either, or columns might disappear in the\\n\\t\\t\\t\\t// middle of the table\\n\\t\\t\\t\\tif ( empty || usedWidth - columns[colIdx].minWidth < 0 ) {\\n\\t\\t\\t\\t\\tempty = true;\\n\\t\\t\\t\\t\\tdisplay[colIdx] = false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse {\\n\\t\\t\\t\\t\\tdisplay[colIdx] = true;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tusedWidth -= columns[colIdx].minWidth;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Determine if the 'control' column should be shown (if there is one).\\n\\t\\t// This is the case when there is a hidden column (that is not the\\n\\t\\t// control column). The two loops look inefficient here, but they are\\n\\t\\t// trivial and will fly through. We need to know the outcome from the\\n\\t\\t// first , before the action in the second can be taken\\n\\t\\tvar showControl = false;\\n\\n\\t\\tfor ( i=0, ien=columns.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( ! columns[i].control && ! columns[i].never && display[i] === false ) {\\n\\t\\t\\t\\tshowControl = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tfor ( i=0, ien=columns.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( columns[i].control ) {\\n\\t\\t\\t\\tdisplay[i] = showControl;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Replace not visible string with false from the control column detection above\\n\\t\\t\\tif ( display[i] === 'not-visible' ) {\\n\\t\\t\\t\\tdisplay[i] = false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Finally we need to make sure that there is at least one column that\\n\\t\\t// is visible\\n\\t\\tif ( $.inArray( true, display ) === -1 ) {\\n\\t\\t\\tdisplay[0] = true;\\n\\t\\t}\\n\\n\\t\\treturn display;\\n\\t},\\n\\n\\n\\t/**\\n\\t * Create the internal `columns` array with information about the columns\\n\\t * for the table. This includes determining which breakpoints the column\\n\\t * will appear in, based upon class names in the column, which makes up the\\n\\t * vast majority of this method.\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_classLogic: function ()\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar calc = {};\\n\\t\\tvar breakpoints = this.c.breakpoints;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar columns = dt.columns().eq(0).map( function (i) {\\n\\t\\t\\tvar column = this.column(i);\\n\\t\\t\\tvar className = column.header().className;\\n\\t\\t\\tvar priority = dt.settings()[0].aoColumns[i].responsivePriority;\\n\\n\\t\\t\\tif ( priority === undefined ) {\\n\\t\\t\\t\\tvar dataPriority = $(column.header()).data('priority');\\n\\n\\t\\t\\t\\tpriority = dataPriority !== undefined ?\\n\\t\\t\\t\\t\\tdataPriority * 1 :\\n\\t\\t\\t\\t\\t10000;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn {\\n\\t\\t\\t\\tclassName: className,\\n\\t\\t\\t\\tincludeIn: [],\\n\\t\\t\\t\\tauto:      false,\\n\\t\\t\\t\\tcontrol:   false,\\n\\t\\t\\t\\tnever:     className.match(/\\\\bnever\\\\b/) ? true : false,\\n\\t\\t\\t\\tpriority:  priority\\n\\t\\t\\t};\\n\\t\\t} );\\n\\n\\t\\t// Simply add a breakpoint to `includeIn` array, ensuring that there are\\n\\t\\t// no duplicates\\n\\t\\tvar add = function ( colIdx, name ) {\\n\\t\\t\\tvar includeIn = columns[ colIdx ].includeIn;\\n\\n\\t\\t\\tif ( $.inArray( name, includeIn ) === -1 ) {\\n\\t\\t\\t\\tincludeIn.push( name );\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\tvar column = function ( colIdx, name, operator, matched ) {\\n\\t\\t\\tvar size, i, ien;\\n\\n\\t\\t\\tif ( ! operator ) {\\n\\t\\t\\t\\tcolumns[ colIdx ].includeIn.push( name );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( operator === 'max-' ) {\\n\\t\\t\\t\\t// Add this breakpoint and all smaller\\n\\t\\t\\t\\tsize = that._find( name ).width;\\n\\n\\t\\t\\t\\tfor ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tif ( breakpoints[i].width <= size ) {\\n\\t\\t\\t\\t\\t\\tadd( colIdx, breakpoints[i].name );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse if ( operator === 'min-' ) {\\n\\t\\t\\t\\t// Add this breakpoint and all larger\\n\\t\\t\\t\\tsize = that._find( name ).width;\\n\\n\\t\\t\\t\\tfor ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tif ( breakpoints[i].width >= size ) {\\n\\t\\t\\t\\t\\t\\tadd( colIdx, breakpoints[i].name );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\telse if ( operator === 'not-' ) {\\n\\t\\t\\t\\t// Add all but this breakpoint\\n\\t\\t\\t\\tfor ( i=0, ien=breakpoints.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\t\\tif ( breakpoints[i].name.indexOf( matched ) === -1 ) {\\n\\t\\t\\t\\t\\t\\tadd( colIdx, breakpoints[i].name );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\t\\t// Loop over each column and determine if it has a responsive control\\n\\t\\t// class\\n\\t\\tcolumns.each( function ( col, i ) {\\n\\t\\t\\tvar classNames = col.className.split(' ');\\n\\t\\t\\tvar hasClass = false;\\n\\n\\t\\t\\t// Split the class name up so multiple rules can be applied if needed\\n\\t\\t\\tfor ( var k=0, ken=classNames.length ; k<ken ; k++ ) {\\n\\t\\t\\t\\tvar className = $.trim( classNames[k] );\\n\\n\\t\\t\\t\\tif ( className === 'all' ) {\\n\\t\\t\\t\\t\\t// Include in all\\n\\t\\t\\t\\t\\thasClass = true;\\n\\t\\t\\t\\t\\tcol.includeIn = $.map( breakpoints, function (a) {\\n\\t\\t\\t\\t\\t\\treturn a.name;\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( className === 'none' || col.never ) {\\n\\t\\t\\t\\t\\t// Include in none (default) and no auto\\n\\t\\t\\t\\t\\thasClass = true;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( className === 'control' ) {\\n\\t\\t\\t\\t\\t// Special column that is only visible, when one of the other\\n\\t\\t\\t\\t\\t// columns is hidden. This is used for the details control\\n\\t\\t\\t\\t\\thasClass = true;\\n\\t\\t\\t\\t\\tcol.control = true;\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t$.each( breakpoints, function ( j, breakpoint ) {\\n\\t\\t\\t\\t\\t// Does this column have a class that matches this breakpoint?\\n\\t\\t\\t\\t\\tvar brokenPoint = breakpoint.name.split('-');\\n\\t\\t\\t\\t\\tvar re = new RegExp( '(min\\\\\\\\-|max\\\\\\\\-|not\\\\\\\\-)?('+brokenPoint[0]+')(\\\\\\\\-[_a-zA-Z0-9])?' );\\n\\t\\t\\t\\t\\tvar match = className.match( re );\\n\\n\\t\\t\\t\\t\\tif ( match ) {\\n\\t\\t\\t\\t\\t\\thasClass = true;\\n\\n\\t\\t\\t\\t\\t\\tif ( match[2] === brokenPoint[0] && match[3] === '-'+brokenPoint[1] ) {\\n\\t\\t\\t\\t\\t\\t\\t// Class name matches breakpoint name fully\\n\\t\\t\\t\\t\\t\\t\\tcolumn( i, breakpoint.name, match[1], match[2]+match[3] );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\telse if ( match[2] === brokenPoint[0] && ! match[3] ) {\\n\\t\\t\\t\\t\\t\\t\\t// Class name matched primary breakpoint name with no qualifier\\n\\t\\t\\t\\t\\t\\t\\tcolumn( i, breakpoint.name, match[1], match[2] );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If there was no control class, then automatic sizing is used\\n\\t\\t\\tif ( ! hasClass ) {\\n\\t\\t\\t\\tcol.auto = true;\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t\\tthis.s.columns = columns;\\n\\t},\\n\\n\\n\\t/**\\n\\t * Show the details for the child row\\n\\t *\\n\\t * @param  {DataTables.Api} row    API instance for the row\\n\\t * @param  {boolean}        update Update flag\\n\\t * @private\\n\\t */\\n\\t_detailsDisplay: function ( row, update )\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar details = this.c.details;\\n\\n\\t\\tif ( details && details.type !== false ) {\\n\\t\\t\\tvar res = details.display( row, update, function () {\\n\\t\\t\\t\\treturn details.renderer(\\n\\t\\t\\t\\t\\tdt, row[0], that._detailsObj(row[0])\\n\\t\\t\\t\\t);\\n\\t\\t\\t} );\\n\\n\\t\\t\\tif ( res === true || res === false ) {\\n\\t\\t\\t\\t$(dt.table().node()).triggerHandler( 'responsive-display.dt', [dt, row, res, update] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\n\\t/**\\n\\t * Initialisation for the details handler\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_detailsInit: function ()\\n\\t{\\n\\t\\tvar that    = this;\\n\\t\\tvar dt      = this.s.dt;\\n\\t\\tvar details = this.c.details;\\n\\n\\t\\t// The inline type always uses the first child as the target\\n\\t\\tif ( details.type === 'inline' ) {\\n\\t\\t\\tdetails.target = 'td:first-child, th:first-child';\\n\\t\\t}\\n\\n\\t\\t// Keyboard accessibility\\n\\t\\tdt.on( 'draw.dtr', function () {\\n\\t\\t\\tthat._tabIndexes();\\n\\t\\t} );\\n\\t\\tthat._tabIndexes(); // Initial draw has already happened\\n\\n\\t\\t$( dt.table().body() ).on( 'keyup.dtr', 'td, th', function (e) {\\n\\t\\t\\tif ( e.keyCode === 13 && $(this).data('dtr-keyboard') ) {\\n\\t\\t\\t\\t$(this).click();\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t\\t// type.target can be a string jQuery selector or a column index\\n\\t\\tvar target   = details.target;\\n\\t\\tvar selector = typeof target === 'string' ? target : 'td, th';\\n\\n\\t\\t// Click handler to show / hide the details rows when they are available\\n\\t\\t$( dt.table().body() )\\n\\t\\t\\t.on( 'click.dtr mousedown.dtr mouseup.dtr', selector, function (e) {\\n\\t\\t\\t\\t// If the table is not collapsed (i.e. there is no hidden columns)\\n\\t\\t\\t\\t// then take no action\\n\\t\\t\\t\\tif ( ! $(dt.table().node()).hasClass('collapsed' ) ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Check that the row is actually a DataTable's controlled node\\n\\t\\t\\t\\tif ( $.inArray( $(this).closest('tr').get(0), dt.rows().nodes().toArray() ) === -1 ) {\\n\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// For column index, we determine if we should act or not in the\\n\\t\\t\\t\\t// handler - otherwise it is already okay\\n\\t\\t\\t\\tif ( typeof target === 'number' ) {\\n\\t\\t\\t\\t\\tvar targetIdx = target < 0 ?\\n\\t\\t\\t\\t\\t\\tdt.columns().eq(0).length + target :\\n\\t\\t\\t\\t\\t\\ttarget;\\n\\n\\t\\t\\t\\t\\tif ( dt.cell( this ).index().column !== targetIdx ) {\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// $().closest() includes itself in its check\\n\\t\\t\\t\\tvar row = dt.row( $(this).closest('tr') );\\n\\n\\t\\t\\t\\t// Check event type to do an action\\n\\t\\t\\t\\tif ( e.type === 'click' ) {\\n\\t\\t\\t\\t\\t// The renderer is given as a function so the caller can execute it\\n\\t\\t\\t\\t\\t// only when they need (i.e. if hiding there is no point is running\\n\\t\\t\\t\\t\\t// the renderer)\\n\\t\\t\\t\\t\\tthat._detailsDisplay( row, false );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( e.type === 'mousedown' ) {\\n\\t\\t\\t\\t\\t// For mouse users, prevent the focus ring from showing\\n\\t\\t\\t\\t\\t$(this).css('outline', 'none');\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\telse if ( e.type === 'mouseup' ) {\\n\\t\\t\\t\\t\\t// And then re-allow at the end of the click\\n\\t\\t\\t\\t\\t$(this).blur().css('outline', '');\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t},\\n\\n\\n\\t/**\\n\\t * Get the details to pass to a renderer for a row\\n\\t * @param  {int} rowIdx Row index\\n\\t * @private\\n\\t */\\n\\t_detailsObj: function ( rowIdx )\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar dt = this.s.dt;\\n\\n\\t\\treturn $.map( this.s.columns, function( col, i ) {\\n\\t\\t\\t// Never and control columns should not be passed to the renderer\\n\\t\\t\\tif ( col.never || col.control ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn {\\n\\t\\t\\t\\ttitle:       dt.settings()[0].aoColumns[ i ].sTitle,\\n\\t\\t\\t\\tdata:        dt.cell( rowIdx, i ).render( that.c.orthogonal ),\\n\\t\\t\\t\\thidden:      dt.column( i ).visible() && !that.s.current[ i ],\\n\\t\\t\\t\\tcolumnIndex: i,\\n\\t\\t\\t\\trowIndex:    rowIdx\\n\\t\\t\\t};\\n\\t\\t} );\\n\\t},\\n\\n\\n\\t/**\\n\\t * Find a breakpoint object from a name\\n\\t *\\n\\t * @param  {string} name Breakpoint name to find\\n\\t * @return {object}      Breakpoint description object\\n\\t * @private\\n\\t */\\n\\t_find: function ( name )\\n\\t{\\n\\t\\tvar breakpoints = this.c.breakpoints;\\n\\n\\t\\tfor ( var i=0, ien=breakpoints.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( breakpoints[i].name === name ) {\\n\\t\\t\\t\\treturn breakpoints[i];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\n\\t/**\\n\\t * Re-create the contents of the child rows as the display has changed in\\n\\t * some way.\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_redrawChildren: function ()\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar dt = this.s.dt;\\n\\n\\t\\tdt.rows( {page: 'current'} ).iterator( 'row', function ( settings, idx ) {\\n\\t\\t\\tvar row = dt.row( idx );\\n\\n\\t\\t\\tthat._detailsDisplay( dt.row( idx ), true );\\n\\t\\t} );\\n\\t},\\n\\n\\n\\t/**\\n\\t * Alter the table display for a resized viewport. This involves first\\n\\t * determining what breakpoint the window currently is in, getting the\\n\\t * column visibilities to apply and then setting them.\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_resize: function ()\\n\\t{\\n\\t\\tvar that = this;\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar width = $(window).width();\\n\\t\\tvar breakpoints = this.c.breakpoints;\\n\\t\\tvar breakpoint = breakpoints[0].name;\\n\\t\\tvar columns = this.s.columns;\\n\\t\\tvar i, ien;\\n\\t\\tvar oldVis = this.s.current.slice();\\n\\n\\t\\t// Determine what breakpoint we are currently at\\n\\t\\tfor ( i=breakpoints.length-1 ; i>=0 ; i-- ) {\\n\\t\\t\\tif ( width <= breakpoints[i].width ) {\\n\\t\\t\\t\\tbreakpoint = breakpoints[i].name;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t\\n\\t\\t// Show the columns for that break point\\n\\t\\tvar columnsVis = this._columnsVisiblity( breakpoint );\\n\\t\\tthis.s.current = columnsVis;\\n\\n\\t\\t// Set the class before the column visibility is changed so event\\n\\t\\t// listeners know what the state is. Need to determine if there are\\n\\t\\t// any columns that are not visible but can be shown\\n\\t\\tvar collapsedClass = false;\\n\\t\\tfor ( i=0, ien=columns.length ; i<ien ; i++ ) {\\n\\t\\t\\tif ( columnsVis[i] === false && ! columns[i].never && ! columns[i].control && ! dt.column(i).visible() === false ) {\\n\\t\\t\\t\\tcollapsedClass = true;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t$( dt.table().node() ).toggleClass( 'collapsed', collapsedClass );\\n\\n\\t\\tvar changed = false;\\n\\t\\tvar visible = 0;\\n\\n\\t\\tdt.columns().eq(0).each( function ( colIdx, i ) {\\n\\t\\t\\tif ( columnsVis[i] === true ) {\\n\\t\\t\\t\\tvisible++;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( columnsVis[i] !== oldVis[i] ) {\\n\\t\\t\\t\\tchanged = true;\\n\\t\\t\\t\\tthat._setColumnVis( colIdx, columnsVis[i] );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t\\tif ( changed ) {\\n\\t\\t\\tthis._redrawChildren();\\n\\n\\t\\t\\t// Inform listeners of the change\\n\\t\\t\\t$(dt.table().node()).trigger( 'responsive-resize.dt', [dt, this.s.current] );\\n\\n\\t\\t\\t// If no records, update the \\\"No records\\\" display element\\n\\t\\t\\tif ( dt.page.info().recordsDisplay === 0 ) {\\n\\t\\t\\t\\t$('td', dt.table().body()).eq(0).attr('colspan', visible);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\n\\t/**\\n\\t * Determine the width of each column in the table so the auto column hiding\\n\\t * has that information to work with. This method is never going to be 100%\\n\\t * perfect since column widths can change slightly per page, but without\\n\\t * seriously compromising performance this is quite effective.\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_resizeAuto: function ()\\n\\t{\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar columns = this.s.columns;\\n\\n\\t\\t// Are we allowed to do auto sizing?\\n\\t\\tif ( ! this.c.auto ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Are there any columns that actually need auto-sizing, or do they all\\n\\t\\t// have classes defined\\n\\t\\tif ( $.inArray( true, $.map( columns, function (c) { return c.auto; } ) ) === -1 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Need to restore all children. They will be reinstated by a re-render\\n\\t\\tif ( ! $.isEmptyObject( _childNodeStore ) ) {\\n\\t\\t\\t$.each( _childNodeStore, function ( key ) {\\n\\t\\t\\t\\tvar idx = key.split('-');\\n\\n\\t\\t\\t\\t_childNodesRestore( dt, idx[0]*1, idx[1]*1 );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\t// Clone the table with the current data in it\\n\\t\\tvar tableWidth   = dt.table().node().offsetWidth;\\n\\t\\tvar columnWidths = dt.columns;\\n\\t\\tvar clonedTable  = dt.table().node().cloneNode( false );\\n\\t\\tvar clonedHeader = $( dt.table().header().cloneNode( false ) ).appendTo( clonedTable );\\n\\t\\tvar clonedBody   = $( dt.table().body() ).clone( false, false ).empty().appendTo( clonedTable ); // use jQuery because of IE8\\n\\n\\t\\t// Header\\n\\t\\tvar headerCells = dt.columns()\\n\\t\\t\\t.header()\\n\\t\\t\\t.filter( function (idx) {\\n\\t\\t\\t\\treturn dt.column(idx).visible();\\n\\t\\t\\t} )\\n\\t\\t\\t.to$()\\n\\t\\t\\t.clone( false )\\n\\t\\t\\t.css( 'display', 'table-cell' )\\n\\t\\t\\t.css( 'min-width', 0 );\\n\\n\\t\\t// Body rows - we don't need to take account of DataTables' column\\n\\t\\t// visibility since we implement our own here (hence the `display` set)\\n\\t\\t$(clonedBody)\\n\\t\\t\\t.append( $(dt.rows( { page: 'current' } ).nodes()).clone( false ) )\\n\\t\\t\\t.find( 'th, td' ).css( 'display', '' );\\n\\n\\t\\t// Footer\\n\\t\\tvar footer = dt.table().footer();\\n\\t\\tif ( footer ) {\\n\\t\\t\\tvar clonedFooter = $( footer.cloneNode( false ) ).appendTo( clonedTable );\\n\\t\\t\\tvar footerCells = dt.columns()\\n\\t\\t\\t\\t.footer()\\n\\t\\t\\t\\t.filter( function (idx) {\\n\\t\\t\\t\\t\\treturn dt.column(idx).visible();\\n\\t\\t\\t\\t} )\\n\\t\\t\\t\\t.to$()\\n\\t\\t\\t\\t.clone( false )\\n\\t\\t\\t\\t.css( 'display', 'table-cell' );\\n\\n\\t\\t\\t$('<tr/>')\\n\\t\\t\\t\\t.append( footerCells )\\n\\t\\t\\t\\t.appendTo( clonedFooter );\\n\\t\\t}\\n\\n\\t\\t$('<tr/>')\\n\\t\\t\\t.append( headerCells )\\n\\t\\t\\t.appendTo( clonedHeader );\\n\\n\\t\\t// In the inline case extra padding is applied to the first column to\\n\\t\\t// give space for the show / hide icon. We need to use this in the\\n\\t\\t// calculation\\n\\t\\tif ( this.c.details.type === 'inline' ) {\\n\\t\\t\\t$(clonedTable).addClass( 'dtr-inline collapsed' );\\n\\t\\t}\\n\\t\\t\\n\\t\\t// It is unsafe to insert elements with the same name into the DOM\\n\\t\\t// multiple times. For example, cloning and inserting a checked radio\\n\\t\\t// clears the chcecked state of the original radio.\\n\\t\\t$( clonedTable ).find( '[name]' ).removeAttr( 'name' );\\n\\n\\t\\t// A position absolute table would take the table out of the flow of\\n\\t\\t// our container element, bypassing the height and width (Scroller)\\n\\t\\t$( clonedTable ).css( 'position', 'relative' )\\n\\t\\t\\n\\t\\tvar inserted = $('<div/>')\\n\\t\\t\\t.css( {\\n\\t\\t\\t\\twidth: 1,\\n\\t\\t\\t\\theight: 1,\\n\\t\\t\\t\\toverflow: 'hidden',\\n\\t\\t\\t\\tclear: 'both'\\n\\t\\t\\t} )\\n\\t\\t\\t.append( clonedTable );\\n\\n\\t\\tinserted.insertBefore( dt.table().node() );\\n\\n\\t\\t// The cloned header now contains the smallest that each column can be\\n\\t\\theaderCells.each( function (i) {\\n\\t\\t\\tvar idx = dt.column.index( 'fromVisible', i );\\n\\t\\t\\tcolumns[ idx ].minWidth =  this.offsetWidth || 0;\\n\\t\\t} );\\n\\n\\t\\tinserted.remove();\\n\\t},\\n\\n\\t/**\\n\\t * Set a column's visibility.\\n\\t *\\n\\t * We don't use DataTables' column visibility controls in order to ensure\\n\\t * that column visibility can Responsive can no-exist. Since only IE8+ is\\n\\t * supported (and all evergreen browsers of course) the control of the\\n\\t * display attribute works well.\\n\\t *\\n\\t * @param {integer} col      Column index\\n\\t * @param {boolean} showHide Show or hide (true or false)\\n\\t * @private\\n\\t */\\n\\t_setColumnVis: function ( col, showHide )\\n\\t{\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar display = showHide ? '' : 'none'; // empty string will remove the attr\\n\\n\\t\\t$( dt.column( col ).header() ).css( 'display', display );\\n\\t\\t$( dt.column( col ).footer() ).css( 'display', display );\\n\\t\\tdt.column( col ).nodes().to$().css( 'display', display );\\n\\n\\t\\t// If the are child nodes stored, we might need to reinsert them\\n\\t\\tif ( ! $.isEmptyObject( _childNodeStore ) ) {\\n\\t\\t\\tdt.cells( null, col ).indexes().each( function (idx) {\\n\\t\\t\\t\\t_childNodesRestore( dt, idx.row, idx.column );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t},\\n\\n\\n\\t/**\\n\\t * Update the cell tab indexes for keyboard accessibility. This is called on\\n\\t * every table draw - that is potentially inefficient, but also the least\\n\\t * complex option given that column visibility can change on the fly. Its a\\n\\t * shame user-focus was removed from CSS 3 UI, as it would have solved this\\n\\t * issue with a single CSS statement.\\n\\t *\\n\\t * @private\\n\\t */\\n\\t_tabIndexes: function ()\\n\\t{\\n\\t\\tvar dt = this.s.dt;\\n\\t\\tvar cells = dt.cells( { page: 'current' } ).nodes().to$();\\n\\t\\tvar ctx = dt.settings()[0];\\n\\t\\tvar target = this.c.details.target;\\n\\n\\t\\tcells.filter( '[data-dtr-keyboard]' ).removeData( '[data-dtr-keyboard]' );\\n\\n\\t\\tif ( typeof target === 'number' ) {\\n\\t\\t\\tdt.cells( null, target, { page: 'current' } ).nodes().to$()\\n\\t\\t\\t\\t.attr( 'tabIndex', ctx.iTabIndex )\\n\\t\\t\\t\\t.data( 'dtr-keyboard', 1 );\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// This is a bit of a hack - we need to limit the selected nodes to just\\n\\t\\t\\t// those of this table\\n\\t\\t\\tif ( target === 'td:first-child, th:first-child' ) {\\n\\t\\t\\t\\ttarget = '>td:first-child, >th:first-child';\\n\\t\\t\\t}\\n\\n\\t\\t\\t$( target, dt.rows( { page: 'current' } ).nodes() )\\n\\t\\t\\t\\t.attr( 'tabIndex', ctx.iTabIndex )\\n\\t\\t\\t\\t.data( 'dtr-keyboard', 1 );\\n\\t\\t}\\n\\t}\\n} );\\n\\n\\n/**\\n * List of default breakpoints. Each item in the array is an object with two\\n * properties:\\n *\\n * * `name` - the breakpoint name.\\n * * `width` - the breakpoint width\\n *\\n * @name Responsive.breakpoints\\n * @static\\n */\\nResponsive.breakpoints = [\\n\\t{ name: 'desktop',  width: Infinity },\\n\\t{ name: 'tablet-l', width: 1024 },\\n\\t{ name: 'tablet-p', width: 768 },\\n\\t{ name: 'mobile-l', width: 480 },\\n\\t{ name: 'mobile-p', width: 320 }\\n];\\n\\n\\n/**\\n * Display methods - functions which define how the hidden data should be shown\\n * in the table.\\n *\\n * @namespace\\n * @name Responsive.defaults\\n * @static\\n */\\nResponsive.display = {\\n\\tchildRow: function ( row, update, render ) {\\n\\t\\tif ( update ) {\\n\\t\\t\\tif ( $(row.node()).hasClass('parent') ) {\\n\\t\\t\\t\\trow.child( render(), 'child' ).show();\\n\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tif ( ! row.child.isShown()  ) {\\n\\t\\t\\t\\trow.child( render(), 'child' ).show();\\n\\t\\t\\t\\t$( row.node() ).addClass( 'parent' );\\n\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\trow.child( false );\\n\\t\\t\\t\\t$( row.node() ).removeClass( 'parent' );\\n\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\tchildRowImmediate: function ( row, update, render ) {\\n\\t\\tif ( (! update && row.child.isShown()) || ! row.responsive.hasHidden() ) {\\n\\t\\t\\t// User interaction and the row is show, or nothing to show\\n\\t\\t\\trow.child( false );\\n\\t\\t\\t$( row.node() ).removeClass( 'parent' );\\n\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// Display\\n\\t\\t\\trow.child( render(), 'child' ).show();\\n\\t\\t\\t$( row.node() ).addClass( 'parent' );\\n\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\t},\\n\\n\\t// This is a wrapper so the modal options for Bootstrap and jQuery UI can\\n\\t// have options passed into them. This specific one doesn't need to be a\\n\\t// function but it is for consistency in the `modal` name\\n\\tmodal: function ( options ) {\\n\\t\\treturn function ( row, update, render ) {\\n\\t\\t\\tif ( ! update ) {\\n\\t\\t\\t\\t// Show a modal\\n\\t\\t\\t\\tvar close = function () {\\n\\t\\t\\t\\t\\tmodal.remove(); // will tidy events for us\\n\\t\\t\\t\\t\\t$(document).off( 'keypress.dtr' );\\n\\t\\t\\t\\t};\\n\\n\\t\\t\\t\\tvar modal = $('<div class=\\\"dtr-modal\\\"/>')\\n\\t\\t\\t\\t\\t.append( $('<div class=\\\"dtr-modal-display\\\"/>')\\n\\t\\t\\t\\t\\t\\t.append( $('<div class=\\\"dtr-modal-content\\\"/>')\\n\\t\\t\\t\\t\\t\\t\\t.append( render() )\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t.append( $('<div class=\\\"dtr-modal-close\\\">&times;</div>' )\\n\\t\\t\\t\\t\\t\\t\\t.click( function () {\\n\\t\\t\\t\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t.append( $('<div class=\\\"dtr-modal-background\\\"/>')\\n\\t\\t\\t\\t\\t\\t.click( function () {\\n\\t\\t\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t.appendTo( 'body' );\\n\\n\\t\\t\\t\\t$(document).on( 'keyup.dtr', function (e) {\\n\\t\\t\\t\\t\\tif ( e.keyCode === 27 ) {\\n\\t\\t\\t\\t\\t\\te.stopPropagation();\\n\\n\\t\\t\\t\\t\\t\\tclose();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\t$('div.dtr-modal-content')\\n\\t\\t\\t\\t\\t.empty()\\n\\t\\t\\t\\t\\t.append( render() );\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( options && options.header ) {\\n\\t\\t\\t\\t$('div.dtr-modal-content').prepend(\\n\\t\\t\\t\\t\\t'<h2>'+options.header( row )+'</h2>'\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n};\\n\\n\\nvar _childNodeStore = {};\\n\\nfunction _childNodes( dt, row, col ) {\\n\\tvar name = row+'-'+col;\\n\\n\\tif ( _childNodeStore[ name ] ) {\\n\\t\\treturn _childNodeStore[ name ];\\n\\t}\\n\\n\\t// https://jsperf.com/childnodes-array-slice-vs-loop\\n\\tvar nodes = [];\\n\\tvar children = dt.cell( row, col ).node().childNodes;\\n\\tfor ( var i=0, ien=children.length ; i<ien ; i++ ) {\\n\\t\\tnodes.push( children[i] );\\n\\t}\\n\\n\\t_childNodeStore[ name ] = nodes;\\n\\n\\treturn nodes;\\n}\\n\\nfunction _childNodesRestore( dt, row, col ) {\\n\\tvar name = row+'-'+col;\\n\\n\\tif ( ! _childNodeStore[ name ] ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tvar node = dt.cell( row, col ).node();\\n\\tvar store = _childNodeStore[ name ];\\n\\tvar parent = store[0].parentNode;\\n\\tvar parentChildren = parent.childNodes;\\n\\tvar a = [];\\n\\n\\tfor ( var i=0, ien=parentChildren.length ; i<ien ; i++ ) {\\n\\t\\ta.push( parentChildren[i] );\\n\\t}\\n\\n\\tfor ( var j=0, jen=a.length ; j<jen ; j++ ) {\\n\\t\\tnode.appendChild( a[j] );\\n\\t}\\n\\n\\t_childNodeStore[ name ] = undefined;\\n}\\n\\n\\n/**\\n * Display methods - functions which define how the hidden data should be shown\\n * in the table.\\n *\\n * @namespace\\n * @name Responsive.defaults\\n * @static\\n */\\nResponsive.renderer = {\\n\\tlistHiddenNodes: function () {\\n\\t\\treturn function ( api, rowIdx, columns ) {\\n\\t\\t\\tvar ul = $('<ul data-dtr-index=\\\"'+rowIdx+'\\\" class=\\\"dtr-details\\\"/>');\\n\\t\\t\\tvar found = false;\\n\\n\\t\\t\\tvar data = $.each( columns, function ( i, col ) {\\n\\t\\t\\t\\tif ( col.hidden ) {\\n\\t\\t\\t\\t\\t$(\\n\\t\\t\\t\\t\\t\\t'<li data-dtr-index=\\\"'+col.columnIndex+'\\\" data-dt-row=\\\"'+col.rowIndex+'\\\" data-dt-column=\\\"'+col.columnIndex+'\\\">'+\\n\\t\\t\\t\\t\\t\\t\\t'<span class=\\\"dtr-title\\\">'+\\n\\t\\t\\t\\t\\t\\t\\t\\tcol.title+\\n\\t\\t\\t\\t\\t\\t\\t'</span> '+\\n\\t\\t\\t\\t\\t\\t'</li>'\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t.append( $('<span class=\\\"dtr-data\\\"/>').append( _childNodes( api, col.rowIndex, col.columnIndex ) ) )// api.cell( col.rowIndex, col.columnIndex ).node().childNodes ) )\\n\\t\\t\\t\\t\\t\\t.appendTo( ul );\\n\\n\\t\\t\\t\\t\\tfound = true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\n\\t\\t\\treturn found ?\\n\\t\\t\\t\\tul :\\n\\t\\t\\t\\tfalse;\\n\\t\\t};\\n\\t},\\n\\n\\tlistHidden: function () {\\n\\t\\treturn function ( api, rowIdx, columns ) {\\n\\t\\t\\tvar data = $.map( columns, function ( col ) {\\n\\t\\t\\t\\treturn col.hidden ?\\n\\t\\t\\t\\t\\t'<li data-dtr-index=\\\"'+col.columnIndex+'\\\" data-dt-row=\\\"'+col.rowIndex+'\\\" data-dt-column=\\\"'+col.columnIndex+'\\\">'+\\n\\t\\t\\t\\t\\t\\t'<span class=\\\"dtr-title\\\">'+\\n\\t\\t\\t\\t\\t\\t\\tcol.title+\\n\\t\\t\\t\\t\\t\\t'</span> '+\\n\\t\\t\\t\\t\\t\\t'<span class=\\\"dtr-data\\\">'+\\n\\t\\t\\t\\t\\t\\t\\tcol.data+\\n\\t\\t\\t\\t\\t\\t'</span>'+\\n\\t\\t\\t\\t\\t'</li>' :\\n\\t\\t\\t\\t\\t'';\\n\\t\\t\\t} ).join('');\\n\\n\\t\\t\\treturn data ?\\n\\t\\t\\t\\t$('<ul data-dtr-index=\\\"'+rowIdx+'\\\" class=\\\"dtr-details\\\"/>').append( data ) :\\n\\t\\t\\t\\tfalse;\\n\\t\\t}\\n\\t},\\n\\n\\ttableAll: function ( options ) {\\n\\t\\toptions = $.extend( {\\n\\t\\t\\ttableClass: ''\\n\\t\\t}, options );\\n\\n\\t\\treturn function ( api, rowIdx, columns ) {\\n\\t\\t\\tvar data = $.map( columns, function ( col ) {\\n\\t\\t\\t\\treturn '<tr data-dt-row=\\\"'+col.rowIndex+'\\\" data-dt-column=\\\"'+col.columnIndex+'\\\">'+\\n\\t\\t\\t\\t\\t\\t'<td>'+col.title+':'+'</td> '+\\n\\t\\t\\t\\t\\t\\t'<td>'+col.data+'</td>'+\\n\\t\\t\\t\\t\\t'</tr>';\\n\\t\\t\\t} ).join('');\\n\\n\\t\\t\\treturn $('<table class=\\\"'+options.tableClass+' dtr-details\\\" width=\\\"100%\\\"/>').append( data );\\n\\t\\t}\\n\\t}\\n};\\n\\n/**\\n * Responsive default settings for initialisation\\n *\\n * @namespace\\n * @name Responsive.defaults\\n * @static\\n */\\nResponsive.defaults = {\\n\\t/**\\n\\t * List of breakpoints for the instance. Note that this means that each\\n\\t * instance can have its own breakpoints. Additionally, the breakpoints\\n\\t * cannot be changed once an instance has been creased.\\n\\t *\\n\\t * @type {Array}\\n\\t * @default Takes the value of `Responsive.breakpoints`\\n\\t */\\n\\tbreakpoints: Responsive.breakpoints,\\n\\n\\t/**\\n\\t * Enable / disable auto hiding calculations. It can help to increase\\n\\t * performance slightly if you disable this option, but all columns would\\n\\t * need to have breakpoint classes assigned to them\\n\\t *\\n\\t * @type {Boolean}\\n\\t * @default  `true`\\n\\t */\\n\\tauto: true,\\n\\n\\t/**\\n\\t * Details control. If given as a string value, the `type` property of the\\n\\t * default object is set to that value, and the defaults used for the rest\\n\\t * of the object - this is for ease of implementation.\\n\\t *\\n\\t * The object consists of the following properties:\\n\\t *\\n\\t * * `display` - A function that is used to show and hide the hidden details\\n\\t * * `renderer` - function that is called for display of the child row data.\\n\\t *   The default function will show the data from the hidden columns\\n\\t * * `target` - Used as the selector for what objects to attach the child\\n\\t *   open / close to\\n\\t * * `type` - `false` to disable the details display, `inline` or `column`\\n\\t *   for the two control types\\n\\t *\\n\\t * @type {Object|string}\\n\\t */\\n\\tdetails: {\\n\\t\\tdisplay: Responsive.display.childRow,\\n\\n\\t\\trenderer: Responsive.renderer.listHidden(),\\n\\n\\t\\ttarget: 0,\\n\\n\\t\\ttype: 'inline'\\n\\t},\\n\\n\\t/**\\n\\t * Orthogonal data request option. This is used to define the data type\\n\\t * requested when Responsive gets the data to show in the child row.\\n\\t *\\n\\t * @type {String}\\n\\t */\\n\\torthogonal: 'display'\\n};\\n\\n\\n/*\\n * API\\n */\\nvar Api = $.fn.dataTable.Api;\\n\\n// Doesn't do anything - work around for a bug in DT... Not documented\\nApi.register( 'responsive()', function () {\\n\\treturn this;\\n} );\\n\\nApi.register( 'responsive.index()', function ( li ) {\\n\\tli = $(li);\\n\\n\\treturn {\\n\\t\\tcolumn: li.data('dtr-index'),\\n\\t\\trow:    li.parent().data('dtr-index')\\n\\t};\\n} );\\n\\nApi.register( 'responsive.rebuild()', function () {\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tif ( ctx._responsive ) {\\n\\t\\t\\tctx._responsive._classLogic();\\n\\t\\t}\\n\\t} );\\n} );\\n\\nApi.register( 'responsive.recalc()', function () {\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tif ( ctx._responsive ) {\\n\\t\\t\\tctx._responsive._resizeAuto();\\n\\t\\t\\tctx._responsive._resize();\\n\\t\\t}\\n\\t} );\\n} );\\n\\nApi.register( 'responsive.hasHidden()', function () {\\n\\tvar ctx = this.context[0];\\n\\n\\treturn ctx._responsive ?\\n\\t\\t$.inArray( false, ctx._responsive.s.current ) !== -1 :\\n\\t\\tfalse;\\n} );\\n\\nApi.registerPlural( 'columns().responsiveHidden()', 'column().responsiveHidden()', function () {\\n\\treturn this.iterator( 'column', function ( settings, column ) {\\n\\t\\treturn settings._responsive ?\\n\\t\\t\\tsettings._responsive.s.current[ column ] :\\n\\t\\t\\tfalse;\\n\\t}, 1 );\\n} );\\n\\n\\n/**\\n * Version information\\n *\\n * @name Responsive.version\\n * @static\\n */\\nResponsive.version = '2.2.3';\\n\\n\\n$.fn.dataTable.Responsive = Responsive;\\n$.fn.DataTable.Responsive = Responsive;\\n\\n// Attach a listener to the document which listens for DataTables initialisation\\n// events so we can automatically initialise\\n$(document).on( 'preInit.dt.dtr', function (e, settings, json) {\\n\\tif ( e.namespace !== 'dt' ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tif ( $(settings.nTable).hasClass( 'responsive' ) ||\\n\\t\\t $(settings.nTable).hasClass( 'dt-responsive' ) ||\\n\\t\\t settings.oInit.responsive ||\\n\\t\\t DataTable.defaults.responsive\\n\\t) {\\n\\t\\tvar init = settings.oInit.responsive;\\n\\n\\t\\tif ( init !== false ) {\\n\\t\\t\\tnew Responsive( settings, $.isPlainObject( init ) ? init : {}  );\\n\\t\\t}\\n\\t}\\n} );\\n\\n\\nreturn Responsive;\\n}));\\n\"},function(t,e,l){l(0)(l(129))},function(t,e){t.exports=\"/*! Select for DataTables 1.3.0\\n * 2015-2018 SpryMedia Ltd - datatables.net/license/mit\\n */\\n\\n/**\\n * @summary     Select for DataTables\\n * @description A collection of API methods, events and buttons for DataTables\\n *   that provides selection options of the items in a DataTable\\n * @version     1.3.0\\n * @file        dataTables.select.js\\n * @author      SpryMedia Ltd (www.sprymedia.co.uk)\\n * @contact     datatables.net/forums\\n * @copyright   Copyright 2015-2018 SpryMedia Ltd.\\n *\\n * This source file is free software, available under the following license:\\n *   MIT license - http://datatables.net/license/mit\\n *\\n * This source file is distributed in the hope that it will be useful, but\\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\\n *\\n * For details please refer to: http://www.datatables.net/extensions/select\\n */\\n(function( factory ){\\n\\tif ( typeof define === 'function' && define.amd ) {\\n\\t\\t// AMD\\n\\t\\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\\n\\t\\t\\treturn factory( $, window, document );\\n\\t\\t} );\\n\\t}\\n\\telse if ( typeof exports === 'object' ) {\\n\\t\\t// CommonJS\\n\\t\\tmodule.exports = function (root, $) {\\n\\t\\t\\tif ( ! root ) {\\n\\t\\t\\t\\troot = window;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( ! $ || ! $.fn.dataTable ) {\\n\\t\\t\\t\\t$ = require('datatables.net')(root, $).$;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn factory( $, root, root.document );\\n\\t\\t};\\n\\t}\\n\\telse {\\n\\t\\t// Browser\\n\\t\\tfactory( jQuery, window, document );\\n\\t}\\n}(function( $, window, document, undefined ) {\\n'use strict';\\nvar DataTable = $.fn.dataTable;\\n\\n\\n// Version information for debugger\\nDataTable.select = {};\\n\\nDataTable.select.version = '1.3.0';\\n\\nDataTable.select.init = function ( dt ) {\\n\\tvar ctx = dt.settings()[0];\\n\\tvar init = ctx.oInit.select;\\n\\tvar defaults = DataTable.defaults.select;\\n\\tvar opts = init === undefined ?\\n\\t\\tdefaults :\\n\\t\\tinit;\\n\\n\\t// Set defaults\\n\\tvar items = 'row';\\n\\tvar style = 'api';\\n\\tvar blurable = false;\\n\\tvar info = true;\\n\\tvar selector = 'td, th';\\n\\tvar className = 'selected';\\n\\tvar setStyle = false;\\n\\n\\tctx._select = {};\\n\\n\\t// Initialisation customisations\\n\\tif ( opts === true ) {\\n\\t\\tstyle = 'os';\\n\\t\\tsetStyle = true;\\n\\t}\\n\\telse if ( typeof opts === 'string' ) {\\n\\t\\tstyle = opts;\\n\\t\\tsetStyle = true;\\n\\t}\\n\\telse if ( $.isPlainObject( opts ) ) {\\n\\t\\tif ( opts.blurable !== undefined ) {\\n\\t\\t\\tblurable = opts.blurable;\\n\\t\\t}\\n\\n\\t\\tif ( opts.info !== undefined ) {\\n\\t\\t\\tinfo = opts.info;\\n\\t\\t}\\n\\n\\t\\tif ( opts.items !== undefined ) {\\n\\t\\t\\titems = opts.items;\\n\\t\\t}\\n\\n\\t\\tif ( opts.style !== undefined ) {\\n\\t\\t\\tstyle = opts.style;\\n\\t\\t\\tsetStyle = true;\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tstyle = 'os';\\n\\t\\t\\tsetStyle = true;\\n\\t\\t}\\n\\n\\t\\tif ( opts.selector !== undefined ) {\\n\\t\\t\\tselector = opts.selector;\\n\\t\\t}\\n\\n\\t\\tif ( opts.className !== undefined ) {\\n\\t\\t\\tclassName = opts.className;\\n\\t\\t}\\n\\t}\\n\\n\\tdt.select.selector( selector );\\n\\tdt.select.items( items );\\n\\tdt.select.style( style );\\n\\tdt.select.blurable( blurable );\\n\\tdt.select.info( info );\\n\\tctx._select.className = className;\\n\\n\\n\\t// Sort table based on selected rows. Requires Select Datatables extension\\n\\t$.fn.dataTable.ext.order['select-checkbox'] = function ( settings, col ) {\\n\\t\\treturn this.api().column( col, {order: 'index'} ).nodes().map( function ( td ) {\\n\\t\\t\\tif ( settings._select.items === 'row' ) {\\n\\t\\t\\t\\treturn $( td ).parent().hasClass( settings._select.className );\\n\\t\\t\\t} else if ( settings._select.items === 'cell' ) {\\n\\t\\t\\t\\treturn $( td ).hasClass( settings._select.className );\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t});\\n\\t};\\n\\n\\t// If the init options haven't enabled select, but there is a selectable\\n\\t// class name, then enable\\n\\tif ( ! setStyle && $( dt.table().node() ).hasClass( 'selectable' ) ) {\\n\\t\\tdt.select.style( 'os' );\\n\\t}\\n};\\n\\n/*\\n\\nSelect is a collection of API methods, event handlers, event emitters and\\nbuttons (for the `Buttons` extension) for DataTables. It provides the following\\nfeatures, with an overview of how they are implemented:\\n\\n## Selection of rows, columns and cells. Whether an item is selected or not is\\n   stored in:\\n\\n* rows: a `_select_selected` property which contains a boolean value of the\\n  DataTables' `aoData` object for each row\\n* columns: a `_select_selected` property which contains a boolean value of the\\n  DataTables' `aoColumns` object for each column\\n* cells: a `_selected_cells` property which contains an array of boolean values\\n  of the `aoData` object for each row. The array is the same length as the\\n  columns array, with each element of it representing a cell.\\n\\nThis method of using boolean flags allows Select to operate when nodes have not\\nbeen created for rows / cells (DataTables' defer rendering feature).\\n\\n## API methods\\n\\nA range of API methods are available for triggering selection and de-selection\\nof rows. Methods are also available to configure the selection events that can\\nbe triggered by an end user (such as which items are to be selected). To a large\\nextent, these of API methods *is* Select. It is basically a collection of helper\\nfunctions that can be used to select items in a DataTable.\\n\\nConfiguration of select is held in the object `_select` which is attached to the\\nDataTables settings object on initialisation. Select being available on a table\\nis not optional when Select is loaded, but its default is for selection only to\\nbe available via the API - so the end user wouldn't be able to select rows\\nwithout additional configuration.\\n\\nThe `_select` object contains the following properties:\\n\\n```\\n{\\n\\titems:string     - Can be `rows`, `columns` or `cells`. Defines what item \\n\\t                   will be selected if the user is allowed to activate row\\n\\t                   selection using the mouse.\\n\\tstyle:string     - Can be `none`, `single`, `multi` or `os`. Defines the\\n\\t                   interaction style when selecting items\\n\\tblurable:boolean - If row selection can be cleared by clicking outside of\\n\\t                   the table\\n\\tinfo:boolean     - If the selection summary should be shown in the table\\n\\t                   information elements\\n}\\n```\\n\\nIn addition to the API methods, Select also extends the DataTables selector\\noptions for rows, columns and cells adding a `selected` option to the selector\\noptions object, allowing the developer to select only selected items or\\nunselected items.\\n\\n## Mouse selection of items\\n\\nClicking on items can be used to select items. This is done by a simple event\\nhandler that will select the items using the API methods.\\n\\n */\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * Local functions\\n */\\n\\n/**\\n * Add one or more cells to the selection when shift clicking in OS selection\\n * style cell selection.\\n *\\n * Cell range is more complicated than row and column as we want to select\\n * in the visible grid rather than by index in sequence. For example, if you\\n * click first in cell 1-1 and then shift click in 2-2 - cells 1-2 and 2-1\\n * should also be selected (and not 1-3, 1-4. etc)\\n * \\n * @param  {DataTable.Api} dt   DataTable\\n * @param  {object}        idx  Cell index to select to\\n * @param  {object}        last Cell index to select from\\n * @private\\n */\\nfunction cellRange( dt, idx, last )\\n{\\n\\tvar indexes;\\n\\tvar columnIndexes;\\n\\tvar rowIndexes;\\n\\tvar selectColumns = function ( start, end ) {\\n\\t\\tif ( start > end ) {\\n\\t\\t\\tvar tmp = end;\\n\\t\\t\\tend = start;\\n\\t\\t\\tstart = tmp;\\n\\t\\t}\\n\\t\\t\\n\\t\\tvar record = false;\\n\\t\\treturn dt.columns( ':visible' ).indexes().filter( function (i) {\\n\\t\\t\\tif ( i === start ) {\\n\\t\\t\\t\\trecord = true;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\tif ( i === end ) { // not else if, as start might === end\\n\\t\\t\\t\\trecord = false;\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn record;\\n\\t\\t} );\\n\\t};\\n\\n\\tvar selectRows = function ( start, end ) {\\n\\t\\tvar indexes = dt.rows( { search: 'applied' } ).indexes();\\n\\n\\t\\t// Which comes first - might need to swap\\n\\t\\tif ( indexes.indexOf( start ) > indexes.indexOf( end ) ) {\\n\\t\\t\\tvar tmp = end;\\n\\t\\t\\tend = start;\\n\\t\\t\\tstart = tmp;\\n\\t\\t}\\n\\n\\t\\tvar record = false;\\n\\t\\treturn indexes.filter( function (i) {\\n\\t\\t\\tif ( i === start ) {\\n\\t\\t\\t\\trecord = true;\\n\\t\\t\\t}\\n\\t\\t\\t\\n\\t\\t\\tif ( i === end ) {\\n\\t\\t\\t\\trecord = false;\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn record;\\n\\t\\t} );\\n\\t};\\n\\n\\tif ( ! dt.cells( { selected: true } ).any() && ! last ) {\\n\\t\\t// select from the top left cell to this one\\n\\t\\tcolumnIndexes = selectColumns( 0, idx.column );\\n\\t\\trowIndexes = selectRows( 0 , idx.row );\\n\\t}\\n\\telse {\\n\\t\\t// Get column indexes between old and new\\n\\t\\tcolumnIndexes = selectColumns( last.column, idx.column );\\n\\t\\trowIndexes = selectRows( last.row , idx.row );\\n\\t}\\n\\n\\tindexes = dt.cells( rowIndexes, columnIndexes ).flatten();\\n\\n\\tif ( ! dt.cells( idx, { selected: true } ).any() ) {\\n\\t\\t// Select range\\n\\t\\tdt.cells( indexes ).select();\\n\\t}\\n\\telse {\\n\\t\\t// Deselect range\\n\\t\\tdt.cells( indexes ).deselect();\\n\\t}\\n}\\n\\n/**\\n * Disable mouse selection by removing the selectors\\n *\\n * @param {DataTable.Api} dt DataTable to remove events from\\n * @private\\n */\\nfunction disableMouseSelection( dt )\\n{\\n\\tvar ctx = dt.settings()[0];\\n\\tvar selector = ctx._select.selector;\\n\\n\\t$( dt.table().container() )\\n\\t\\t.off( 'mousedown.dtSelect', selector )\\n\\t\\t.off( 'mouseup.dtSelect', selector )\\n\\t\\t.off( 'click.dtSelect', selector );\\n\\n\\t$('body').off( 'click.dtSelect' + dt.table().node().id );\\n}\\n\\n/**\\n * Attach mouse listeners to the table to allow mouse selection of items\\n *\\n * @param {DataTable.Api} dt DataTable to remove events from\\n * @private\\n */\\nfunction enableMouseSelection ( dt )\\n{\\n\\tvar container = $( dt.table().container() );\\n\\tvar ctx = dt.settings()[0];\\n\\tvar selector = ctx._select.selector;\\n\\tvar matchSelection;\\n\\n\\tcontainer\\n\\t\\t.on( 'mousedown.dtSelect', selector, function(e) {\\n\\t\\t\\t// Disallow text selection for shift clicking on the table so multi\\n\\t\\t\\t// element selection doesn't look terrible!\\n\\t\\t\\tif ( e.shiftKey || e.metaKey || e.ctrlKey ) {\\n\\t\\t\\t\\tcontainer\\n\\t\\t\\t\\t\\t.css( '-moz-user-select', 'none' )\\n\\t\\t\\t\\t\\t.one('selectstart.dtSelect', selector, function () {\\n\\t\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( window.getSelection ) {\\n\\t\\t\\t\\tmatchSelection = window.getSelection();\\n\\t\\t\\t}\\n\\t\\t} )\\n\\t\\t.on( 'mouseup.dtSelect', selector, function() {\\n\\t\\t\\t// Allow text selection to occur again, Mozilla style (tested in FF\\n\\t\\t\\t// 35.0.1 - still required)\\n\\t\\t\\tcontainer.css( '-moz-user-select', '' );\\n\\t\\t} )\\n\\t\\t.on( 'click.dtSelect', selector, function ( e ) {\\n\\t\\t\\tvar items = dt.select.items();\\n\\t\\t\\tvar idx;\\n\\n\\t\\t\\t// If text was selected (click and drag), then we shouldn't change\\n\\t\\t\\t// the row's selected state\\n\\t\\t\\tif ( matchSelection ) {\\n\\t\\t\\t\\tvar selection = window.getSelection();\\n\\n\\t\\t\\t\\t// If the element that contains the selection is not in the table, we can ignore it\\n\\t\\t\\t\\t// This can happen if the developer selects text from the click event\\n\\t\\t\\t\\tif ( ! selection.anchorNode || $(selection.anchorNode).closest('table')[0] === dt.table().node() ) {\\n\\t\\t\\t\\t\\tif ( selection !== matchSelection ) {\\n\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar ctx = dt.settings()[0];\\n\\t\\t\\tvar wrapperClass = $.trim(dt.settings()[0].oClasses.sWrapper).replace(/ +/g, '.');\\n\\n\\t\\t\\t// Ignore clicks inside a sub-table\\n\\t\\t\\tif ( $(e.target).closest('div.'+wrapperClass)[0] != dt.table().container() ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar cell = dt.cell( $(e.target).closest('td, th') );\\n\\n\\t\\t\\t// Check the cell actually belongs to the host DataTable (so child\\n\\t\\t\\t// rows, etc, are ignored)\\n\\t\\t\\tif ( ! cell.any() ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar event = $.Event('user-select.dt');\\n\\t\\t\\teventTrigger( dt, event, [ items, cell, e ] );\\n\\n\\t\\t\\tif ( event.isDefaultPrevented() ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tvar cellIndex = cell.index();\\n\\t\\t\\tif ( items === 'row' ) {\\n\\t\\t\\t\\tidx = cellIndex.row;\\n\\t\\t\\t\\ttypeSelect( e, dt, ctx, 'row', idx );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( items === 'column' ) {\\n\\t\\t\\t\\tidx = cell.index().column;\\n\\t\\t\\t\\ttypeSelect( e, dt, ctx, 'column', idx );\\n\\t\\t\\t}\\n\\t\\t\\telse if ( items === 'cell' ) {\\n\\t\\t\\t\\tidx = cell.index();\\n\\t\\t\\t\\ttypeSelect( e, dt, ctx, 'cell', idx );\\n\\t\\t\\t}\\n\\n\\t\\t\\tctx._select_lastCell = cellIndex;\\n\\t\\t} );\\n\\n\\t// Blurable\\n\\t$('body').on( 'click.dtSelect' + dt.table().node().id, function ( e ) {\\n\\t\\tif ( ctx._select.blurable ) {\\n\\t\\t\\t// If the click was inside the DataTables container, don't blur\\n\\t\\t\\tif ( $(e.target).parents().filter( dt.table().container() ).length ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Ignore elements which have been removed from the DOM (i.e. paging\\n\\t\\t\\t// buttons)\\n\\t\\t\\tif ( $(e.target).parents('html').length === 0 ) {\\n\\t\\t\\t \\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Don't blur in Editor form\\n\\t\\t\\tif ( $(e.target).parents('div.DTE').length ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tclear( ctx, true );\\n\\t\\t}\\n\\t} );\\n}\\n\\n/**\\n * Trigger an event on a DataTable\\n *\\n * @param {DataTable.Api} api      DataTable to trigger events on\\n * @param  {boolean}      selected true if selected, false if deselected\\n * @param  {string}       type     Item type acting on\\n * @param  {boolean}      any      Require that there are values before\\n *     triggering\\n * @private\\n */\\nfunction eventTrigger ( api, type, args, any )\\n{\\n\\tif ( any && ! api.flatten().length ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tif ( typeof type === 'string' ) {\\n\\t\\ttype = type +'.dt';\\n\\t}\\n\\n\\targs.unshift( api );\\n\\n\\t$(api.table().node()).trigger( type, args );\\n}\\n\\n/**\\n * Update the information element of the DataTable showing information about the\\n * items selected. This is done by adding tags to the existing text\\n * \\n * @param {DataTable.Api} api DataTable to update\\n * @private\\n */\\nfunction info ( api )\\n{\\n\\tvar ctx = api.settings()[0];\\n\\n\\tif ( ! ctx._select.info || ! ctx.aanFeatures.i ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tif ( api.select.style() === 'api' ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tvar rows    = api.rows( { selected: true } ).flatten().length;\\n\\tvar columns = api.columns( { selected: true } ).flatten().length;\\n\\tvar cells   = api.cells( { selected: true } ).flatten().length;\\n\\n\\tvar add = function ( el, name, num ) {\\n\\t\\tel.append( $('<span class=\\\"select-item\\\"/>').append( api.i18n(\\n\\t\\t\\t'select.'+name+'s',\\n\\t\\t\\t{ _: '%d '+name+'s selected', 0: '', 1: '1 '+name+' selected' },\\n\\t\\t\\tnum\\n\\t\\t) ) );\\n\\t};\\n\\n\\t// Internal knowledge of DataTables to loop over all information elements\\n\\t$.each( ctx.aanFeatures.i, function ( i, el ) {\\n\\t\\tel = $(el);\\n\\n\\t\\tvar output  = $('<span class=\\\"select-info\\\"/>');\\n\\t\\tadd( output, 'row', rows );\\n\\t\\tadd( output, 'column', columns );\\n\\t\\tadd( output, 'cell', cells  );\\n\\n\\t\\tvar exisiting = el.children('span.select-info');\\n\\t\\tif ( exisiting.length ) {\\n\\t\\t\\texisiting.remove();\\n\\t\\t}\\n\\n\\t\\tif ( output.text() !== '' ) {\\n\\t\\t\\tel.append( output );\\n\\t\\t}\\n\\t} );\\n}\\n\\n/**\\n * Initialisation of a new table. Attach event handlers and callbacks to allow\\n * Select to operate correctly.\\n *\\n * This will occur _after_ the initial DataTables initialisation, although\\n * before Ajax data is rendered, if there is ajax data\\n *\\n * @param  {DataTable.settings} ctx Settings object to operate on\\n * @private\\n */\\nfunction init ( ctx ) {\\n\\tvar api = new DataTable.Api( ctx );\\n\\n\\t// Row callback so that classes can be added to rows and cells if the item\\n\\t// was selected before the element was created. This will happen with the\\n\\t// `deferRender` option enabled.\\n\\t// \\n\\t// This method of attaching to `aoRowCreatedCallback` is a hack until\\n\\t// DataTables has proper events for row manipulation If you are reviewing\\n\\t// this code to create your own plug-ins, please do not do this!\\n\\tctx.aoRowCreatedCallback.push( {\\n\\t\\tfn: function ( row, data, index ) {\\n\\t\\t\\tvar i, ien;\\n\\t\\t\\tvar d = ctx.aoData[ index ];\\n\\n\\t\\t\\t// Row\\n\\t\\t\\tif ( d._select_selected ) {\\n\\t\\t\\t\\t$( row ).addClass( ctx._select.className );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Cells and columns - if separated out, we would need to do two\\n\\t\\t\\t// loops, so it makes sense to combine them into a single one\\n\\t\\t\\tfor ( i=0, ien=ctx.aoColumns.length ; i<ien ; i++ ) {\\n\\t\\t\\t\\tif ( ctx.aoColumns[i]._select_selected || (d._selected_cells && d._selected_cells[i]) ) {\\n\\t\\t\\t\\t\\t$(d.anCells[i]).addClass( ctx._select.className );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tsName: 'select-deferRender'\\n\\t} );\\n\\n\\t// On Ajax reload we want to reselect all rows which are currently selected,\\n\\t// if there is an rowId (i.e. a unique value to identify each row with)\\n\\tapi.on( 'preXhr.dt.dtSelect', function () {\\n\\t\\t// note that column selection doesn't need to be cached and then\\n\\t\\t// reselected, as they are already selected\\n\\t\\tvar rows = api.rows( { selected: true } ).ids( true ).filter( function ( d ) {\\n\\t\\t\\treturn d !== undefined;\\n\\t\\t} );\\n\\n\\t\\tvar cells = api.cells( { selected: true } ).eq(0).map( function ( cellIdx ) {\\n\\t\\t\\tvar id = api.row( cellIdx.row ).id( true );\\n\\t\\t\\treturn id ?\\n\\t\\t\\t\\t{ row: id, column: cellIdx.column } :\\n\\t\\t\\t\\tundefined;\\n\\t\\t} ).filter( function ( d ) {\\n\\t\\t\\treturn d !== undefined;\\n\\t\\t} );\\n\\n\\t\\t// On the next draw, reselect the currently selected items\\n\\t\\tapi.one( 'draw.dt.dtSelect', function () {\\n\\t\\t\\tapi.rows( rows ).select();\\n\\n\\t\\t\\t// `cells` is not a cell index selector, so it needs a loop\\n\\t\\t\\tif ( cells.any() ) {\\n\\t\\t\\t\\tcells.each( function ( id ) {\\n\\t\\t\\t\\t\\tapi.cells( id.row, id.column ).select();\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t} );\\n\\n\\t// Update the table information element with selected item summary\\n\\tapi.on( 'draw.dtSelect.dt select.dtSelect.dt deselect.dtSelect.dt info.dt', function () {\\n\\t\\tinfo( api );\\n\\t} );\\n\\n\\t// Clean up and release\\n\\tapi.on( 'destroy.dtSelect', function () {\\n\\t\\tdisableMouseSelection( api );\\n\\t\\tapi.off( '.dtSelect' );\\n\\t} );\\n}\\n\\n/**\\n * Add one or more items (rows or columns) to the selection when shift clicking\\n * in OS selection style\\n *\\n * @param  {DataTable.Api} dt   DataTable\\n * @param  {string}        type Row or column range selector\\n * @param  {object}        idx  Item index to select to\\n * @param  {object}        last Item index to select from\\n * @private\\n */\\nfunction rowColumnRange( dt, type, idx, last )\\n{\\n\\t// Add a range of rows from the last selected row to this one\\n\\tvar indexes = dt[type+'s']( { search: 'applied' } ).indexes();\\n\\tvar idx1 = $.inArray( last, indexes );\\n\\tvar idx2 = $.inArray( idx, indexes );\\n\\n\\tif ( ! dt[type+'s']( { selected: true } ).any() && idx1 === -1 ) {\\n\\t\\t// select from top to here - slightly odd, but both Windows and Mac OS\\n\\t\\t// do this\\n\\t\\tindexes.splice( $.inArray( idx, indexes )+1, indexes.length );\\n\\t}\\n\\telse {\\n\\t\\t// reverse so we can shift click 'up' as well as down\\n\\t\\tif ( idx1 > idx2 ) {\\n\\t\\t\\tvar tmp = idx2;\\n\\t\\t\\tidx2 = idx1;\\n\\t\\t\\tidx1 = tmp;\\n\\t\\t}\\n\\n\\t\\tindexes.splice( idx2+1, indexes.length );\\n\\t\\tindexes.splice( 0, idx1 );\\n\\t}\\n\\n\\tif ( ! dt[type]( idx, { selected: true } ).any() ) {\\n\\t\\t// Select range\\n\\t\\tdt[type+'s']( indexes ).select();\\n\\t}\\n\\telse {\\n\\t\\t// Deselect range - need to keep the clicked on row selected\\n\\t\\tindexes.splice( $.inArray( idx, indexes ), 1 );\\n\\t\\tdt[type+'s']( indexes ).deselect();\\n\\t}\\n}\\n\\n/**\\n * Clear all selected items\\n *\\n * @param  {DataTable.settings} ctx Settings object of the host DataTable\\n * @param  {boolean} [force=false] Force the de-selection to happen, regardless\\n *     of selection style\\n * @private\\n */\\nfunction clear( ctx, force )\\n{\\n\\tif ( force || ctx._select.style === 'single' ) {\\n\\t\\tvar api = new DataTable.Api( ctx );\\n\\t\\t\\n\\t\\tapi.rows( { selected: true } ).deselect();\\n\\t\\tapi.columns( { selected: true } ).deselect();\\n\\t\\tapi.cells( { selected: true } ).deselect();\\n\\t}\\n}\\n\\n/**\\n * Select items based on the current configuration for style and items.\\n *\\n * @param  {object}             e    Mouse event object\\n * @param  {DataTables.Api}     dt   DataTable\\n * @param  {DataTable.settings} ctx  Settings object of the host DataTable\\n * @param  {string}             type Items to select\\n * @param  {int|object}         idx  Index of the item to select\\n * @private\\n */\\nfunction typeSelect ( e, dt, ctx, type, idx )\\n{\\n\\tvar style = dt.select.style();\\n\\tvar isSelected = dt[type]( idx, { selected: true } ).any();\\n\\n\\tif ( style === 'os' ) {\\n\\t\\tif ( e.ctrlKey || e.metaKey ) {\\n\\t\\t\\t// Add or remove from the selection\\n\\t\\t\\tdt[type]( idx ).select( ! isSelected );\\n\\t\\t}\\n\\t\\telse if ( e.shiftKey ) {\\n\\t\\t\\tif ( type === 'cell' ) {\\n\\t\\t\\t\\tcellRange( dt, idx, ctx._select_lastCell || null );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\trowColumnRange( dt, type, idx, ctx._select_lastCell ?\\n\\t\\t\\t\\t\\tctx._select_lastCell[type] :\\n\\t\\t\\t\\t\\tnull\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\t// No cmd or shift click - deselect if selected, or select\\n\\t\\t\\t// this row only\\n\\t\\t\\tvar selected = dt[type+'s']( { selected: true } );\\n\\n\\t\\t\\tif ( isSelected && selected.flatten().length === 1 ) {\\n\\t\\t\\t\\tdt[type]( idx ).deselect();\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\tselected.deselect();\\n\\t\\t\\t\\tdt[type]( idx ).select();\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else if ( style == 'multi+shift' ) {\\n\\t\\tif ( e.shiftKey ) {\\n\\t\\t\\tif ( type === 'cell' ) {\\n\\t\\t\\t\\tcellRange( dt, idx, ctx._select_lastCell || null );\\n\\t\\t\\t}\\n\\t\\t\\telse {\\n\\t\\t\\t\\trowColumnRange( dt, type, idx, ctx._select_lastCell ?\\n\\t\\t\\t\\t\\tctx._select_lastCell[type] :\\n\\t\\t\\t\\t\\tnull\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\telse {\\n\\t\\t\\tdt[ type ]( idx ).select( ! isSelected );\\n\\t\\t}\\n\\t}\\n\\telse {\\n\\t\\tdt[ type ]( idx ).select( ! isSelected );\\n\\t}\\n}\\n\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * DataTables selectors\\n */\\n\\n// row and column are basically identical just assigned to different properties\\n// and checking a different array, so we can dynamically create the functions to\\n// reduce the code size\\n$.each( [\\n\\t{ type: 'row', prop: 'aoData' },\\n\\t{ type: 'column', prop: 'aoColumns' }\\n], function ( i, o ) {\\n\\tDataTable.ext.selector[ o.type ].push( function ( settings, opts, indexes ) {\\n\\t\\tvar selected = opts.selected;\\n\\t\\tvar data;\\n\\t\\tvar out = [];\\n\\n\\t\\tif ( selected !== true && selected !== false ) {\\n\\t\\t\\treturn indexes;\\n\\t\\t}\\n\\n\\t\\tfor ( var i=0, ien=indexes.length ; i<ien ; i++ ) {\\n\\t\\t\\tdata = settings[ o.prop ][ indexes[i] ];\\n\\n\\t\\t\\tif ( (selected === true && data._select_selected === true) ||\\n\\t\\t\\t     (selected === false && ! data._select_selected )\\n\\t\\t\\t) {\\n\\t\\t\\t\\tout.push( indexes[i] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn out;\\n\\t} );\\n} );\\n\\nDataTable.ext.selector.cell.push( function ( settings, opts, cells ) {\\n\\tvar selected = opts.selected;\\n\\tvar rowData;\\n\\tvar out = [];\\n\\n\\tif ( selected === undefined ) {\\n\\t\\treturn cells;\\n\\t}\\n\\n\\tfor ( var i=0, ien=cells.length ; i<ien ; i++ ) {\\n\\t\\trowData = settings.aoData[ cells[i].row ];\\n\\n\\t\\tif ( (selected === true && rowData._selected_cells && rowData._selected_cells[ cells[i].column ] === true) ||\\n\\t\\t     (selected === false && ( ! rowData._selected_cells || ! rowData._selected_cells[ cells[i].column ] ) )\\n\\t\\t) {\\n\\t\\t\\tout.push( cells[i] );\\n\\t\\t}\\n\\t}\\n\\n\\treturn out;\\n} );\\n\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * DataTables API\\n *\\n * For complete documentation, please refer to the docs/api directory or the\\n * DataTables site\\n */\\n\\n// Local variables to improve compression\\nvar apiRegister = DataTable.Api.register;\\nvar apiRegisterPlural = DataTable.Api.registerPlural;\\n\\napiRegister( 'select()', function () {\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tDataTable.select.init( new DataTable.Api( ctx ) );\\n\\t} );\\n} );\\n\\napiRegister( 'select.blurable()', function ( flag ) {\\n\\tif ( flag === undefined ) {\\n\\t\\treturn this.context[0]._select.blurable;\\n\\t}\\n\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tctx._select.blurable = flag;\\n\\t} );\\n} );\\n\\napiRegister( 'select.info()', function ( flag ) {\\n\\tif ( info === undefined ) {\\n\\t\\treturn this.context[0]._select.info;\\n\\t}\\n\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tctx._select.info = flag;\\n\\t} );\\n} );\\n\\napiRegister( 'select.items()', function ( items ) {\\n\\tif ( items === undefined ) {\\n\\t\\treturn this.context[0]._select.items;\\n\\t}\\n\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tctx._select.items = items;\\n\\n\\t\\teventTrigger( new DataTable.Api( ctx ), 'selectItems', [ items ] );\\n\\t} );\\n} );\\n\\n// Takes effect from the _next_ selection. None disables future selection, but\\n// does not clear the current selection. Use the `deselect` methods for that\\napiRegister( 'select.style()', function ( style ) {\\n\\tif ( style === undefined ) {\\n\\t\\treturn this.context[0]._select.style;\\n\\t}\\n\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tctx._select.style = style;\\n\\n\\t\\tif ( ! ctx._select_init ) {\\n\\t\\t\\tinit( ctx );\\n\\t\\t}\\n\\n\\t\\t// Add / remove mouse event handlers. They aren't required when only\\n\\t\\t// API selection is available\\n\\t\\tvar dt = new DataTable.Api( ctx );\\n\\t\\tdisableMouseSelection( dt );\\n\\t\\t\\n\\t\\tif ( style !== 'api' ) {\\n\\t\\t\\tenableMouseSelection( dt );\\n\\t\\t}\\n\\n\\t\\teventTrigger( new DataTable.Api( ctx ), 'selectStyle', [ style ] );\\n\\t} );\\n} );\\n\\napiRegister( 'select.selector()', function ( selector ) {\\n\\tif ( selector === undefined ) {\\n\\t\\treturn this.context[0]._select.selector;\\n\\t}\\n\\n\\treturn this.iterator( 'table', function ( ctx ) {\\n\\t\\tdisableMouseSelection( new DataTable.Api( ctx ) );\\n\\n\\t\\tctx._select.selector = selector;\\n\\n\\t\\tif ( ctx._select.style !== 'api' ) {\\n\\t\\t\\tenableMouseSelection( new DataTable.Api( ctx ) );\\n\\t\\t}\\n\\t} );\\n} );\\n\\n\\n\\napiRegisterPlural( 'rows().select()', 'row().select()', function ( select ) {\\n\\tvar api = this;\\n\\n\\tif ( select === false ) {\\n\\t\\treturn this.deselect();\\n\\t}\\n\\n\\tthis.iterator( 'row', function ( ctx, idx ) {\\n\\t\\tclear( ctx );\\n\\n\\t\\tctx.aoData[ idx ]._select_selected = true;\\n\\t\\t$( ctx.aoData[ idx ].nTr ).addClass( ctx._select.className );\\n\\t} );\\n\\n\\tthis.iterator( 'table', function ( ctx, i ) {\\n\\t\\teventTrigger( api, 'select', [ 'row', api[i] ], true );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\napiRegisterPlural( 'columns().select()', 'column().select()', function ( select ) {\\n\\tvar api = this;\\n\\n\\tif ( select === false ) {\\n\\t\\treturn this.deselect();\\n\\t}\\n\\n\\tthis.iterator( 'column', function ( ctx, idx ) {\\n\\t\\tclear( ctx );\\n\\n\\t\\tctx.aoColumns[ idx ]._select_selected = true;\\n\\n\\t\\tvar column = new DataTable.Api( ctx ).column( idx );\\n\\n\\t\\t$( column.header() ).addClass( ctx._select.className );\\n\\t\\t$( column.footer() ).addClass( ctx._select.className );\\n\\n\\t\\tcolumn.nodes().to$().addClass( ctx._select.className );\\n\\t} );\\n\\n\\tthis.iterator( 'table', function ( ctx, i ) {\\n\\t\\teventTrigger( api, 'select', [ 'column', api[i] ], true );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\napiRegisterPlural( 'cells().select()', 'cell().select()', function ( select ) {\\n\\tvar api = this;\\n\\n\\tif ( select === false ) {\\n\\t\\treturn this.deselect();\\n\\t}\\n\\n\\tthis.iterator( 'cell', function ( ctx, rowIdx, colIdx ) {\\n\\t\\tclear( ctx );\\n\\n\\t\\tvar data = ctx.aoData[ rowIdx ];\\n\\n\\t\\tif ( data._selected_cells === undefined ) {\\n\\t\\t\\tdata._selected_cells = [];\\n\\t\\t}\\n\\n\\t\\tdata._selected_cells[ colIdx ] = true;\\n\\n\\t\\tif ( data.anCells ) {\\n\\t\\t\\t$( data.anCells[ colIdx ] ).addClass( ctx._select.className );\\n\\t\\t}\\n\\t} );\\n\\n\\tthis.iterator( 'table', function ( ctx, i ) {\\n\\t\\teventTrigger( api, 'select', [ 'cell', api[i] ], true );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\n\\napiRegisterPlural( 'rows().deselect()', 'row().deselect()', function () {\\n\\tvar api = this;\\n\\n\\tthis.iterator( 'row', function ( ctx, idx ) {\\n\\t\\tctx.aoData[ idx ]._select_selected = false;\\n\\t\\t$( ctx.aoData[ idx ].nTr ).removeClass( ctx._select.className );\\n\\t} );\\n\\n\\tthis.iterator( 'table', function ( ctx, i ) {\\n\\t\\teventTrigger( api, 'deselect', [ 'row', api[i] ], true );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\napiRegisterPlural( 'columns().deselect()', 'column().deselect()', function () {\\n\\tvar api = this;\\n\\n\\tthis.iterator( 'column', function ( ctx, idx ) {\\n\\t\\tctx.aoColumns[ idx ]._select_selected = false;\\n\\n\\t\\tvar api = new DataTable.Api( ctx );\\n\\t\\tvar column = api.column( idx );\\n\\n\\t\\t$( column.header() ).removeClass( ctx._select.className );\\n\\t\\t$( column.footer() ).removeClass( ctx._select.className );\\n\\n\\t\\t// Need to loop over each cell, rather than just using\\n\\t\\t// `column().nodes()` as cells which are individually selected should\\n\\t\\t// not have the `selected` class removed from them\\n\\t\\tapi.cells( null, idx ).indexes().each( function (cellIdx) {\\n\\t\\t\\tvar data = ctx.aoData[ cellIdx.row ];\\n\\t\\t\\tvar cellSelected = data._selected_cells;\\n\\n\\t\\t\\tif ( data.anCells && (! cellSelected || ! cellSelected[ cellIdx.column ]) ) {\\n\\t\\t\\t\\t$( data.anCells[ cellIdx.column  ] ).removeClass( ctx._select.className );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t} );\\n\\n\\tthis.iterator( 'table', function ( ctx, i ) {\\n\\t\\teventTrigger( api, 'deselect', [ 'column', api[i] ], true );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\napiRegisterPlural( 'cells().deselect()', 'cell().deselect()', function () {\\n\\tvar api = this;\\n\\n\\tthis.iterator( 'cell', function ( ctx, rowIdx, colIdx ) {\\n\\t\\tvar data = ctx.aoData[ rowIdx ];\\n\\n\\t\\tdata._selected_cells[ colIdx ] = false;\\n\\n\\t\\t// Remove class only if the cells exist, and the cell is not column\\n\\t\\t// selected, in which case the class should remain (since it is selected\\n\\t\\t// in the column)\\n\\t\\tif ( data.anCells && ! ctx.aoColumns[ colIdx ]._select_selected ) {\\n\\t\\t\\t$( data.anCells[ colIdx ] ).removeClass( ctx._select.className );\\n\\t\\t}\\n\\t} );\\n\\n\\tthis.iterator( 'table', function ( ctx, i ) {\\n\\t\\teventTrigger( api, 'deselect', [ 'cell', api[i] ], true );\\n\\t} );\\n\\n\\treturn this;\\n} );\\n\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * Buttons\\n */\\nfunction i18n( label, def ) {\\n\\treturn function (dt) {\\n\\t\\treturn dt.i18n( 'buttons.'+label, def );\\n\\t};\\n}\\n\\n// Common events with suitable namespaces\\nfunction namespacedEvents ( config ) {\\n\\tvar unique = config._eventNamespace;\\n\\n\\treturn 'draw.dt.DT'+unique+' select.dt.DT'+unique+' deselect.dt.DT'+unique;\\n}\\n\\nfunction enabled ( dt, config ) {\\n\\tif ( $.inArray( 'rows', config.limitTo ) !== -1 && dt.rows( { selected: true } ).any() ) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tif ( $.inArray( 'columns', config.limitTo ) !== -1 && dt.columns( { selected: true } ).any() ) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tif ( $.inArray( 'cells', config.limitTo ) !== -1 && dt.cells( { selected: true } ).any() ) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\treturn false;\\n}\\n\\nvar _buttonNamespace = 0;\\n\\n$.extend( DataTable.ext.buttons, {\\n\\tselected: {\\n\\t\\ttext: i18n( 'selected', 'Selected' ),\\n\\t\\tclassName: 'buttons-selected',\\n\\t\\tlimitTo: [ 'rows', 'columns', 'cells' ],\\n\\t\\tinit: function ( dt, node, config ) {\\n\\t\\t\\tvar that = this;\\n\\t\\t\\tconfig._eventNamespace = '.select'+(_buttonNamespace++);\\n\\n\\t\\t\\t// .DT namespace listeners are removed by DataTables automatically\\n\\t\\t\\t// on table destroy\\n\\t\\t\\tdt.on( namespacedEvents(config), function () {\\n\\t\\t\\t\\tthat.enable( enabled(dt, config) );\\n\\t\\t\\t} );\\n\\n\\t\\t\\tthis.disable();\\n\\t\\t},\\n\\t\\tdestroy: function ( dt, node, config ) {\\n\\t\\t\\tdt.off( config._eventNamespace );\\n\\t\\t}\\n\\t},\\n\\tselectedSingle: {\\n\\t\\ttext: i18n( 'selectedSingle', 'Selected single' ),\\n\\t\\tclassName: 'buttons-selected-single',\\n\\t\\tinit: function ( dt, node, config ) {\\n\\t\\t\\tvar that = this;\\n\\t\\t\\tconfig._eventNamespace = '.select'+(_buttonNamespace++);\\n\\n\\t\\t\\tdt.on( namespacedEvents(config), function () {\\n\\t\\t\\t\\tvar count = dt.rows( { selected: true } ).flatten().length +\\n\\t\\t\\t\\t            dt.columns( { selected: true } ).flatten().length +\\n\\t\\t\\t\\t            dt.cells( { selected: true } ).flatten().length;\\n\\n\\t\\t\\t\\tthat.enable( count === 1 );\\n\\t\\t\\t} );\\n\\n\\t\\t\\tthis.disable();\\n\\t\\t},\\n\\t\\tdestroy: function ( dt, node, config ) {\\n\\t\\t\\tdt.off( config._eventNamespace );\\n\\t\\t}\\n\\t},\\n\\tselectAll: {\\n\\t\\ttext: i18n( 'selectAll', 'Select all' ),\\n\\t\\tclassName: 'buttons-select-all',\\n\\t\\taction: function () {\\n\\t\\t\\tvar items = this.select.items();\\n\\t\\t\\tthis[ items+'s' ]().select();\\n\\t\\t}\\n\\t},\\n\\tselectNone: {\\n\\t\\ttext: i18n( 'selectNone', 'Deselect all' ),\\n\\t\\tclassName: 'buttons-select-none',\\n\\t\\taction: function () {\\n\\t\\t\\tclear( this.settings()[0], true );\\n\\t\\t},\\n\\t\\tinit: function ( dt, node, config ) {\\n\\t\\t\\tvar that = this;\\n\\t\\t\\tconfig._eventNamespace = '.select'+(_buttonNamespace++);\\n\\n\\t\\t\\tdt.on( namespacedEvents(config), function () {\\n\\t\\t\\t\\tvar count = dt.rows( { selected: true } ).flatten().length +\\n\\t\\t\\t\\t            dt.columns( { selected: true } ).flatten().length +\\n\\t\\t\\t\\t            dt.cells( { selected: true } ).flatten().length;\\n\\n\\t\\t\\t\\tthat.enable( count > 0 );\\n\\t\\t\\t} );\\n\\n\\t\\t\\tthis.disable();\\n\\t\\t},\\n\\t\\tdestroy: function ( dt, node, config ) {\\n\\t\\t\\tdt.off( config._eventNamespace );\\n\\t\\t}\\n\\t}\\n} );\\n\\n$.each( [ 'Row', 'Column', 'Cell' ], function ( i, item ) {\\n\\tvar lc = item.toLowerCase();\\n\\n\\tDataTable.ext.buttons[ 'select'+item+'s' ] = {\\n\\t\\ttext: i18n( 'select'+item+'s', 'Select '+lc+'s' ),\\n\\t\\tclassName: 'buttons-select-'+lc+'s',\\n\\t\\taction: function () {\\n\\t\\t\\tthis.select.items( lc );\\n\\t\\t},\\n\\t\\tinit: function ( dt ) {\\n\\t\\t\\tvar that = this;\\n\\n\\t\\t\\tdt.on( 'selectItems.dt.DT', function ( e, ctx, items ) {\\n\\t\\t\\t\\tthat.active( items === lc );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\t};\\n} );\\n\\n\\n\\n/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\\n * Initialisation\\n */\\n\\n// DataTables creation - check if select has been defined in the options. Note\\n// this required that the table be in the document! If it isn't then something\\n// needs to trigger this method unfortunately. The next major release of\\n// DataTables will rework the events and address this.\\n$(document).on( 'preInit.dt.dtSelect', function (e, ctx) {\\n\\tif ( e.namespace !== 'dt' ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tDataTable.select.init( new DataTable.Api( ctx ) );\\n} );\\n\\n\\nreturn DataTable.select;\\n}));\\n\"},,,,,,,function(t,e,l){\"use strict\";l.r(e);l(54),l(57);var n=l(48),i=l.n(n);window.dragula=i.a;l(44);var a=l(24);l.n(a).a.replace();var r=l(23),o=l.n(r);window.moment=o.a;l(69);var s=l(50),c=l.n(s);window.toastr=c.a;l(71);var u=l(51),d=l.n(u);window.Chart=d.a;l(72),l(73),l(74),l(76);var h=l(53),f=l.n(h);l(81);window.markdown=f.a.markdown;l(82),l(83),l(85),l(47),l(87),l(88),l(90),l(92),l(94),l(96),l(98),l(100),l(102),l(104),l(106),l(108),l(110),l(112),l(114),l(116),l(118),l(120),l(122),l(124),l(126),l(128)}]);"
  },
  {
    "path": "public/admin-theme/js/settings.js",
    "content": "!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=130)}([,function(e,t,n){(function(t){e.exports=t.jQuery=n(25)}).call(this,n(2))},function(e,t){var n;n=function(){return this}();try{n=n||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(5);e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){var r=n(17)(\"wks\"),o=n(18),i=n(4).Symbol,l=\"function\"==typeof i;(e.exports=function(e){return r[e]||(r[e]=l&&i[e]||(l?i:o)(\"Symbol.\"+e))}).store=r},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){var n=e.exports={version:\"2.6.5\"};\"number\"==typeof __e&&(__e=n)},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=function(e){if(null==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){\"use strict\";var r,o,i=n(33),l=RegExp.prototype.exec,a=String.prototype.replace,s=l,c=(r=/a/,o=/b*/g,l.call(r,\"a\"),l.call(o,\"a\"),0!==r.lastIndex||0!==o.lastIndex),u=void 0!==/()??/.exec(\"\")[1];(c||u)&&(s=function(e){var t,n,r,o,s=this;return u&&(n=new RegExp(\"^\"+s.source+\"$(?!\\\\s)\",i.call(s))),c&&(t=s.lastIndex),r=l.call(s,e),c&&r&&(s.lastIndex=s.global?r.index+r[0].length:t),u&&r&&r.length>1&&a.call(r[0],n,function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)}),r}),e.exports=s},function(e,t,n){var r=n(36),o=n(40);e.exports=n(13)?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n){e.exports=!n(7)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n){\"use strict\";var r=n(32),o=RegExp.prototype.exec;e.exports=function(e,t){var n=e.exec;if(\"function\"==typeof n){var i=n.call(e,t);if(\"object\"!=typeof i)throw new TypeError(\"RegExp exec method returned something other than an Object or null\");return i}if(\"RegExp\"!==r(e))throw new TypeError(\"RegExp#exec called on incompatible receiver\");return o.call(e,t)}},function(e,t,n){\"use strict\";n(34);var r=n(22),o=n(12),i=n(7),l=n(10),a=n(6),s=n(11),c=a(\"species\"),u=!i(function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:\"7\"},e},\"7\"!==\"\".replace(e,\"$<a>\")}),p=function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n=\"ab\".split(e);return 2===n.length&&\"a\"===n[0]&&\"b\"===n[1]}();e.exports=function(e,t,n){var d=a(e),f=!i(function(){var t={};return t[d]=function(){return 7},7!=\"\"[e](t)}),h=f?!i(function(){var t=!1,n=/a/;return n.exec=function(){return t=!0,null},\"split\"===e&&(n.constructor={},n.constructor[c]=function(){return n}),n[d](\"\"),!t}):void 0;if(!f||!h||\"replace\"===e&&!u||\"split\"===e&&!p){var y=/./[d],x=n(l,d,\"\"[e],function(e,t,n,r,o){return t.exec===s?f&&!o?{done:!0,value:y.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),m=x[0],g=x[1];r(String.prototype,e,m),o(RegExp.prototype,d,2==t?function(e,t){return g.call(e,this,t)}:function(e){return g.call(e,this)})}}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var r=n(8),o=n(4),i=o[\"__core-js_shared__\"]||(o[\"__core-js_shared__\"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(29)?\"pure\":\"global\",copyright:\"© 2019 Denis Pushkarev (zloirock.ru)\"})},function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){\"use strict\";var r=n(31)(!0);e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},function(e,t,n){var r=n(9),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},function(e,t,n){var r=n(4),o=n(12),i=n(41),l=n(18)(\"src\"),a=n(42),s=(\"\"+a).split(\"toString\");n(8).inspectSource=function(e){return a.call(e)},(e.exports=function(e,t,n,a){var c=\"function\"==typeof n;c&&(i(n,\"name\")||o(n,\"name\",t)),e[t]!==n&&(c&&(i(n,l)||o(n,l,e[t]?\"\"+e[t]:s.join(String(t)))),e===r?e[t]=n:a?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[l]||a.call(this)})},,function(e,t,n){var r;\"undefined\"!=typeof self&&self,r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.r=function(e){Object.defineProperty(e,\"__esModule\",{value:!0})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=0)}({\"./dist/icons.json\":\n/*!*************************!*\\\n  !*** ./dist/icons.json ***!\n  \\*************************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, align-center, align-justify, align-left, align-right, anchor, aperture, archive, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, award, bar-chart-2, bar-chart, battery-charging, battery, bell-off, bell, bluetooth, bold, book-open, book, bookmark, box, briefcase, calendar, camera-off, camera, cast, check-circle, check-square, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, chrome, circle, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-off, cloud-rain, cloud-snow, cloud, code, codepen, codesandbox, coffee, columns, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, cpu, credit-card, crop, crosshair, database, delete, disc, dollar-sign, download-cloud, download, droplet, edit-2, edit-3, edit, external-link, eye-off, eye, facebook, fast-forward, feather, figma, file-minus, file-plus, file-text, file, film, filter, flag, folder-minus, folder-plus, folder, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, globe, grid, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, info, instagram, italic, key, layers, layout, life-buoy, link-2, link, linkedin, list, loader, lock, log-in, log-out, mail, map-pin, map, maximize-2, maximize, meh, menu, message-circle, message-square, mic-off, mic, minimize-2, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, music, navigation-2, navigation, octagon, package, paperclip, pause-circle, pause, pen-tool, percent, phone-call, phone-forwarded, phone-incoming, phone-missed, phone-off, phone-outgoing, phone, pie-chart, play-circle, play, plus-circle, plus-square, plus, pocket, power, printer, radio, refresh-ccw, refresh-cw, repeat, rewind, rotate-ccw, rotate-cw, rss, save, scissors, search, send, server, settings, share-2, share, shield-off, shield, shopping-bag, shopping-cart, shuffle, sidebar, skip-back, skip-forward, slack, slash, sliders, smartphone, smile, speaker, square, star, stop-circle, sun, sunrise, sunset, tablet, tag, target, terminal, thermometer, thumbs-down, thumbs-up, toggle-left, toggle-right, trash-2, trash, trello, trending-down, trending-up, triangle, truck, tv, twitter, type, umbrella, underline, unlock, upload-cloud, upload, user-check, user-minus, user-plus, user-x, user, users, video-off, video, voicemail, volume-1, volume-2, volume-x, volume, watch, wifi-off, wifi, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, zoom-in, zoom-out, default */function(e){e.exports={activity:'<polyline points=\"22 12 18 12 15 21 9 3 6 12 2 12\"></polyline>',airplay:'<path d=\"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\"></path><polygon points=\"12 15 17 21 7 21 12 15\"></polygon>',\"alert-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16\"></line>',\"alert-octagon\":'<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"16\"></line>',\"alert-triangle\":'<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"></line><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17\"></line>',\"align-center\":'<line x1=\"18\" y1=\"10\" x2=\"6\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"18\" y1=\"18\" x2=\"6\" y2=\"18\"></line>',\"align-justify\":'<line x1=\"21\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"3\" y2=\"18\"></line>',\"align-left\":'<line x1=\"17\" y1=\"10\" x2=\"3\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"17\" y1=\"18\" x2=\"3\" y2=\"18\"></line>',\"align-right\":'<line x1=\"21\" y1=\"10\" x2=\"7\" y2=\"10\"></line><line x1=\"21\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"21\" y1=\"14\" x2=\"3\" y2=\"14\"></line><line x1=\"21\" y1=\"18\" x2=\"7\" y2=\"18\"></line>',anchor:'<circle cx=\"12\" cy=\"5\" r=\"3\"></circle><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"8\"></line><path d=\"M5 12H2a10 10 0 0 0 20 0h-3\"></path>',aperture:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"14.31\" y1=\"8\" x2=\"20.05\" y2=\"17.94\"></line><line x1=\"9.69\" y1=\"8\" x2=\"21.17\" y2=\"8\"></line><line x1=\"7.38\" y1=\"12\" x2=\"13.12\" y2=\"2.06\"></line><line x1=\"9.69\" y1=\"16\" x2=\"3.95\" y2=\"6.06\"></line><line x1=\"14.31\" y1=\"16\" x2=\"2.83\" y2=\"16\"></line><line x1=\"16.62\" y1=\"12\" x2=\"10.88\" y2=\"21.94\"></line>',archive:'<polyline points=\"21 8 21 21 3 21 3 8\"></polyline><rect x=\"1\" y=\"3\" width=\"22\" height=\"5\"></rect><line x1=\"10\" y1=\"12\" x2=\"14\" y2=\"12\"></line>',\"arrow-down-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"8 12 12 16 16 12\"></polyline><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line>',\"arrow-down-left\":'<line x1=\"17\" y1=\"7\" x2=\"7\" y2=\"17\"></line><polyline points=\"17 17 7 17 7 7\"></polyline>',\"arrow-down-right\":'<line x1=\"7\" y1=\"7\" x2=\"17\" y2=\"17\"></line><polyline points=\"17 7 17 17 7 17\"></polyline>',\"arrow-down\":'<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><polyline points=\"19 12 12 19 5 12\"></polyline>',\"arrow-left-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 8 8 12 12 16\"></polyline><line x1=\"16\" y1=\"12\" x2=\"8\" y2=\"12\"></line>',\"arrow-left\":'<line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"></line><polyline points=\"12 19 5 12 12 5\"></polyline>',\"arrow-right-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 16 16 12 12 8\"></polyline><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',\"arrow-right\":'<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line><polyline points=\"12 5 19 12 12 19\"></polyline>',\"arrow-up-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"16 12 12 8 8 12\"></polyline><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"8\"></line>',\"arrow-up-left\":'<line x1=\"17\" y1=\"17\" x2=\"7\" y2=\"7\"></line><polyline points=\"7 17 7 7 17 7\"></polyline>',\"arrow-up-right\":'<line x1=\"7\" y1=\"17\" x2=\"17\" y2=\"7\"></line><polyline points=\"7 7 17 7 17 17\"></polyline>',\"arrow-up\":'<line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"5\"></line><polyline points=\"5 12 12 5 19 12\"></polyline>',\"at-sign\":'<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\"></path>',award:'<circle cx=\"12\" cy=\"8\" r=\"7\"></circle><polyline points=\"8.21 13.89 7 23 12 20 17 23 15.79 13.88\"></polyline>',\"bar-chart-2\":'<line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"></line><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"></line>',\"bar-chart\":'<line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"10\"></line><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"4\"></line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"16\"></line>',\"battery-charging\":'<path d=\"M5 18H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3.19M15 6h2a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2h-3.19\"></path><line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"11\"></line><polyline points=\"11 6 7 12 13 12 9 18\"></polyline>',battery:'<rect x=\"1\" y=\"6\" width=\"18\" height=\"12\" rx=\"2\" ry=\"2\"></rect><line x1=\"23\" y1=\"13\" x2=\"23\" y2=\"11\"></line>',\"bell-off\":'<path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path><path d=\"M18.63 13A17.89 17.89 0 0 1 18 8\"></path><path d=\"M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14\"></path><path d=\"M18 8a6 6 0 0 0-9.33-5\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',bell:'<path d=\"M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9\"></path><path d=\"M13.73 21a2 2 0 0 1-3.46 0\"></path>',bluetooth:'<polyline points=\"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\"></polyline>',bold:'<path d=\"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"></path><path d=\"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\"></path>',\"book-open\":'<path d=\"M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z\"></path><path d=\"M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z\"></path>',book:'<path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"></path><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"></path>',bookmark:'<path d=\"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\"></path>',box:'<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>',briefcase:'<rect x=\"2\" y=\"7\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><path d=\"M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16\"></path>',calendar:'<rect x=\"3\" y=\"4\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"16\" y1=\"2\" x2=\"16\" y2=\"6\"></line><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"6\"></line><line x1=\"3\" y1=\"10\" x2=\"21\" y2=\"10\"></line>',\"camera-off\":'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M21 21H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h3m3-3h6l2 3h4a2 2 0 0 1 2 2v9.34m-7.72-2.06a4 4 0 1 1-5.56-5.56\"></path>',camera:'<path d=\"M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z\"></path><circle cx=\"12\" cy=\"13\" r=\"4\"></circle>',cast:'<path d=\"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\"></path><line x1=\"2\" y1=\"20\" x2=\"2\" y2=\"20\"></line>',\"check-circle\":'<path d=\"M22 11.08V12a10 10 0 1 1-5.93-9.14\"></path><polyline points=\"22 4 12 14.01 9 11.01\"></polyline>',\"check-square\":'<polyline points=\"9 11 12 14 22 4\"></polyline><path d=\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\"></path>',check:'<polyline points=\"20 6 9 17 4 12\"></polyline>',\"chevron-down\":'<polyline points=\"6 9 12 15 18 9\"></polyline>',\"chevron-left\":'<polyline points=\"15 18 9 12 15 6\"></polyline>',\"chevron-right\":'<polyline points=\"9 18 15 12 9 6\"></polyline>',\"chevron-up\":'<polyline points=\"18 15 12 9 6 15\"></polyline>',\"chevrons-down\":'<polyline points=\"7 13 12 18 17 13\"></polyline><polyline points=\"7 6 12 11 17 6\"></polyline>',\"chevrons-left\":'<polyline points=\"11 17 6 12 11 7\"></polyline><polyline points=\"18 17 13 12 18 7\"></polyline>',\"chevrons-right\":'<polyline points=\"13 17 18 12 13 7\"></polyline><polyline points=\"6 17 11 12 6 7\"></polyline>',\"chevrons-up\":'<polyline points=\"17 11 12 6 7 11\"></polyline><polyline points=\"17 18 12 13 7 18\"></polyline>',chrome:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"21.17\" y1=\"8\" x2=\"12\" y2=\"8\"></line><line x1=\"3.95\" y1=\"6.06\" x2=\"8.54\" y2=\"14\"></line><line x1=\"10.88\" y1=\"21.94\" x2=\"15.46\" y2=\"14\"></line>',circle:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle>',clipboard:'<path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"></path><rect x=\"8\" y=\"2\" width=\"8\" height=\"4\" rx=\"1\" ry=\"1\"></rect>',clock:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polyline points=\"12 6 12 12 16 14\"></polyline>',\"cloud-drizzle\":'<line x1=\"8\" y1=\"19\" x2=\"8\" y2=\"21\"></line><line x1=\"8\" y1=\"13\" x2=\"8\" y2=\"15\"></line><line x1=\"16\" y1=\"19\" x2=\"16\" y2=\"21\"></line><line x1=\"16\" y1=\"13\" x2=\"16\" y2=\"15\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"17\"></line><path d=\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"></path>',\"cloud-lightning\":'<path d=\"M19 16.9A5 5 0 0 0 18 7h-1.26a8 8 0 1 0-11.62 9\"></path><polyline points=\"13 11 9 17 15 17 11 23\"></polyline>',\"cloud-off\":'<path d=\"M22.61 16.95A5 5 0 0 0 18 10h-1.26a8 8 0 0 0-7.05-6M5 5a8 8 0 0 0 4 15h9a5 5 0 0 0 1.7-.3\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',\"cloud-rain\":'<line x1=\"16\" y1=\"13\" x2=\"16\" y2=\"21\"></line><line x1=\"8\" y1=\"13\" x2=\"8\" y2=\"21\"></line><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"23\"></line><path d=\"M20 16.58A5 5 0 0 0 18 7h-1.26A8 8 0 1 0 4 15.25\"></path>',\"cloud-snow\":'<path d=\"M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25\"></path><line x1=\"8\" y1=\"16\" x2=\"8\" y2=\"16\"></line><line x1=\"8\" y1=\"20\" x2=\"8\" y2=\"20\"></line><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18\"></line><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"22\"></line><line x1=\"16\" y1=\"16\" x2=\"16\" y2=\"16\"></line><line x1=\"16\" y1=\"20\" x2=\"16\" y2=\"20\"></line>',cloud:'<path d=\"M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z\"></path>',code:'<polyline points=\"16 18 22 12 16 6\"></polyline><polyline points=\"8 6 2 12 8 18\"></polyline>',codepen:'<polygon points=\"12 2 22 8.5 22 15.5 12 22 2 15.5 2 8.5 12 2\"></polygon><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"15.5\"></line><polyline points=\"22 8.5 12 15.5 2 8.5\"></polyline><polyline points=\"2 15.5 12 8.5 22 15.5\"></polyline><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"8.5\"></line>',codesandbox:'<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"7.5 4.21 12 6.81 16.5 4.21\"></polyline><polyline points=\"7.5 19.79 7.5 14.6 3 12\"></polyline><polyline points=\"21 12 16.5 14.6 16.5 19.79\"></polyline><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>',coffee:'<path d=\"M18 8h1a4 4 0 0 1 0 8h-1\"></path><path d=\"M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z\"></path><line x1=\"6\" y1=\"1\" x2=\"6\" y2=\"4\"></line><line x1=\"10\" y1=\"1\" x2=\"10\" y2=\"4\"></line><line x1=\"14\" y1=\"1\" x2=\"14\" y2=\"4\"></line>',columns:'<path d=\"M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18\"></path>',command:'<path d=\"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\"></path>',compass:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polygon points=\"16.24 7.76 14.12 14.12 7.76 16.24 9.88 9.88 16.24 7.76\"></polygon>',copy:'<rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\" ry=\"2\"></rect><path d=\"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\"></path>',\"corner-down-left\":'<polyline points=\"9 10 4 15 9 20\"></polyline><path d=\"M20 4v7a4 4 0 0 1-4 4H4\"></path>',\"corner-down-right\":'<polyline points=\"15 10 20 15 15 20\"></polyline><path d=\"M4 4v7a4 4 0 0 0 4 4h12\"></path>',\"corner-left-down\":'<polyline points=\"14 15 9 20 4 15\"></polyline><path d=\"M20 4h-7a4 4 0 0 0-4 4v12\"></path>',\"corner-left-up\":'<polyline points=\"14 9 9 4 4 9\"></polyline><path d=\"M20 20h-7a4 4 0 0 1-4-4V4\"></path>',\"corner-right-down\":'<polyline points=\"10 15 15 20 20 15\"></polyline><path d=\"M4 4h7a4 4 0 0 1 4 4v12\"></path>',\"corner-right-up\":'<polyline points=\"10 9 15 4 20 9\"></polyline><path d=\"M4 20h7a4 4 0 0 0 4-4V4\"></path>',\"corner-up-left\":'<polyline points=\"9 14 4 9 9 4\"></polyline><path d=\"M20 20v-7a4 4 0 0 0-4-4H4\"></path>',\"corner-up-right\":'<polyline points=\"15 14 20 9 15 4\"></polyline><path d=\"M4 20v-7a4 4 0 0 1 4-4h12\"></path>',cpu:'<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2\" ry=\"2\"></rect><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"></rect><line x1=\"9\" y1=\"1\" x2=\"9\" y2=\"4\"></line><line x1=\"15\" y1=\"1\" x2=\"15\" y2=\"4\"></line><line x1=\"9\" y1=\"20\" x2=\"9\" y2=\"23\"></line><line x1=\"15\" y1=\"20\" x2=\"15\" y2=\"23\"></line><line x1=\"20\" y1=\"9\" x2=\"23\" y2=\"9\"></line><line x1=\"20\" y1=\"14\" x2=\"23\" y2=\"14\"></line><line x1=\"1\" y1=\"9\" x2=\"4\" y2=\"9\"></line><line x1=\"1\" y1=\"14\" x2=\"4\" y2=\"14\"></line>',\"credit-card\":'<rect x=\"1\" y=\"4\" width=\"22\" height=\"16\" rx=\"2\" ry=\"2\"></rect><line x1=\"1\" y1=\"10\" x2=\"23\" y2=\"10\"></line>',crop:'<path d=\"M6.13 1L6 16a2 2 0 0 0 2 2h15\"></path><path d=\"M1 6.13L16 6a2 2 0 0 1 2 2v15\"></path>',crosshair:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"22\" y1=\"12\" x2=\"18\" y2=\"12\"></line><line x1=\"6\" y1=\"12\" x2=\"2\" y2=\"12\"></line><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"2\"></line><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"18\"></line>',database:'<ellipse cx=\"12\" cy=\"5\" rx=\"9\" ry=\"3\"></ellipse><path d=\"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\"></path><path d=\"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\"></path>',delete:'<path d=\"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\"></path><line x1=\"18\" y1=\"9\" x2=\"12\" y2=\"15\"></line><line x1=\"12\" y1=\"9\" x2=\"18\" y2=\"15\"></line>',disc:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>',\"dollar-sign\":'<line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"></line><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"></path>',\"download-cloud\":'<polyline points=\"8 17 12 21 16 17\"></polyline><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"></line><path d=\"M20.88 18.09A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.29\"></path>',download:'<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><polyline points=\"7 10 12 15 17 10\"></polyline><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line>',droplet:'<path d=\"M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z\"></path>',\"edit-2\":'<path d=\"M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z\"></path>',\"edit-3\":'<path d=\"M12 20h9\"></path><path d=\"M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z\"></path>',edit:'<path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"></path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"></path>',\"external-link\":'<path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"></path><polyline points=\"15 3 21 3 21 9\"></polyline><line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\"></line>',\"eye-off\":'<path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',eye:'<path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\"></path><circle cx=\"12\" cy=\"12\" r=\"3\"></circle>',facebook:'<path d=\"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\"></path>',\"fast-forward\":'<polygon points=\"13 19 22 12 13 5 13 19\"></polygon><polygon points=\"2 19 11 12 2 5 2 19\"></polygon>',feather:'<path d=\"M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z\"></path><line x1=\"16\" y1=\"8\" x2=\"2\" y2=\"22\"></line><line x1=\"17.5\" y1=\"15\" x2=\"9\" y2=\"15\"></line>',figma:'<path d=\"M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z\"></path><path d=\"M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z\"></path><path d=\"M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z\"></path><path d=\"M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z\"></path><path d=\"M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z\"></path>',\"file-minus\":'<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"></line>',\"file-plus\":'<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"12\"></line><line x1=\"9\" y1=\"15\" x2=\"15\" y2=\"15\"></line>',\"file-text\":'<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path><polyline points=\"14 2 14 8 20 8\"></polyline><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line><polyline points=\"10 9 9 9 8 9\"></polyline>',file:'<path d=\"M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z\"></path><polyline points=\"13 2 13 9 20 9\"></polyline>',film:'<rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"2.18\" ry=\"2.18\"></rect><line x1=\"7\" y1=\"2\" x2=\"7\" y2=\"22\"></line><line x1=\"17\" y1=\"2\" x2=\"17\" y2=\"22\"></line><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"2\" y1=\"7\" x2=\"7\" y2=\"7\"></line><line x1=\"2\" y1=\"17\" x2=\"7\" y2=\"17\"></line><line x1=\"17\" y1=\"17\" x2=\"22\" y2=\"17\"></line><line x1=\"17\" y1=\"7\" x2=\"22\" y2=\"7\"></line>',filter:'<polygon points=\"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3\"></polygon>',flag:'<path d=\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"></path><line x1=\"4\" y1=\"22\" x2=\"4\" y2=\"15\"></line>',\"folder-minus\":'<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"></line>',\"folder-plus\":'<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"></line><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"></line>',folder:'<path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"></path>',frown:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M16 16s-1.5-2-4-2-4 2-4 2\"></path><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>',gift:'<polyline points=\"20 12 20 22 4 22 4 12\"></polyline><rect x=\"2\" y=\"7\" width=\"20\" height=\"5\"></rect><line x1=\"12\" y1=\"22\" x2=\"12\" y2=\"7\"></line><path d=\"M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z\"></path><path d=\"M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z\"></path>',\"git-branch\":'<line x1=\"6\" y1=\"3\" x2=\"6\" y2=\"15\"></line><circle cx=\"18\" cy=\"6\" r=\"3\"></circle><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><path d=\"M18 9a9 9 0 0 1-9 9\"></path>',\"git-commit\":'<circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"1.05\" y1=\"12\" x2=\"7\" y2=\"12\"></line><line x1=\"17.01\" y1=\"12\" x2=\"22.96\" y2=\"12\"></line>',\"git-merge\":'<circle cx=\"18\" cy=\"18\" r=\"3\"></circle><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M6 21V9a9 9 0 0 0 9 9\"></path>',\"git-pull-request\":'<circle cx=\"18\" cy=\"18\" r=\"3\"></circle><circle cx=\"6\" cy=\"6\" r=\"3\"></circle><path d=\"M13 6h3a2 2 0 0 1 2 2v7\"></path><line x1=\"6\" y1=\"9\" x2=\"6\" y2=\"21\"></line>',github:'<path d=\"M9 19c-5 1.5-5-2.5-7-3m14 6v-3.87a3.37 3.37 0 0 0-.94-2.61c3.14-.35 6.44-1.54 6.44-7A5.44 5.44 0 0 0 20 4.77 5.07 5.07 0 0 0 19.91 1S18.73.65 16 2.48a13.38 13.38 0 0 0-7 0C6.27.65 5.09 1 5.09 1A5.07 5.07 0 0 0 5 4.77a5.44 5.44 0 0 0-1.5 3.78c0 5.42 3.3 6.61 6.44 7A3.37 3.37 0 0 0 9 18.13V22\"></path>',gitlab:'<path d=\"M22.65 14.39L12 22.13 1.35 14.39a.84.84 0 0 1-.3-.94l1.22-3.78 2.44-7.51A.42.42 0 0 1 4.82 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.49h8.1l2.44-7.51A.42.42 0 0 1 18.6 2a.43.43 0 0 1 .58 0 .42.42 0 0 1 .11.18l2.44 7.51L23 13.45a.84.84 0 0 1-.35.94z\"></path>',globe:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"></path>',grid:'<rect x=\"3\" y=\"3\" width=\"7\" height=\"7\"></rect><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\"></rect><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\"></rect><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\"></rect>',\"hard-drive\":'<line x1=\"22\" y1=\"12\" x2=\"2\" y2=\"12\"></line><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"></path><line x1=\"6\" y1=\"16\" x2=\"6\" y2=\"16\"></line><line x1=\"10\" y1=\"16\" x2=\"10\" y2=\"16\"></line>',hash:'<line x1=\"4\" y1=\"9\" x2=\"20\" y2=\"9\"></line><line x1=\"4\" y1=\"15\" x2=\"20\" y2=\"15\"></line><line x1=\"10\" y1=\"3\" x2=\"8\" y2=\"21\"></line><line x1=\"16\" y1=\"3\" x2=\"14\" y2=\"21\"></line>',headphones:'<path d=\"M3 18v-6a9 9 0 0 1 18 0v6\"></path><path d=\"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\"></path>',heart:'<path d=\"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\"></path>',\"help-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\"></path><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17\"></line>',hexagon:'<path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path>',home:'<path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline>',image:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"></circle><polyline points=\"21 15 16 10 5 21\"></polyline>',inbox:'<polyline points=\"22 12 16 12 14 15 10 15 8 12 2 12\"></polyline><path d=\"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\"></path>',info:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"8\"></line>',instagram:'<rect x=\"2\" y=\"2\" width=\"20\" height=\"20\" rx=\"5\" ry=\"5\"></rect><path d=\"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z\"></path><line x1=\"17.5\" y1=\"6.5\" x2=\"17.5\" y2=\"6.5\"></line>',italic:'<line x1=\"19\" y1=\"4\" x2=\"10\" y2=\"4\"></line><line x1=\"14\" y1=\"20\" x2=\"5\" y2=\"20\"></line><line x1=\"15\" y1=\"4\" x2=\"9\" y2=\"20\"></line>',key:'<path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"></path>',layers:'<polygon points=\"12 2 2 7 12 12 22 7 12 2\"></polygon><polyline points=\"2 17 12 22 22 17\"></polyline><polyline points=\"2 12 12 17 22 12\"></polyline>',layout:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"3\" y1=\"9\" x2=\"21\" y2=\"9\"></line><line x1=\"9\" y1=\"21\" x2=\"9\" y2=\"9\"></line>',\"life-buoy\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"4\"></circle><line x1=\"4.93\" y1=\"4.93\" x2=\"9.17\" y2=\"9.17\"></line><line x1=\"14.83\" y1=\"14.83\" x2=\"19.07\" y2=\"19.07\"></line><line x1=\"14.83\" y1=\"9.17\" x2=\"19.07\" y2=\"4.93\"></line><line x1=\"14.83\" y1=\"9.17\" x2=\"18.36\" y2=\"5.64\"></line><line x1=\"4.93\" y1=\"19.07\" x2=\"9.17\" y2=\"14.83\"></line>',\"link-2\":'<path d=\"M15 7h3a5 5 0 0 1 5 5 5 5 0 0 1-5 5h-3m-6 0H6a5 5 0 0 1-5-5 5 5 0 0 1 5-5h3\"></path><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',link:'<path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"></path><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"></path>',linkedin:'<path d=\"M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\"></path><rect x=\"2\" y=\"9\" width=\"4\" height=\"12\"></rect><circle cx=\"4\" cy=\"4\" r=\"2\"></circle>',list:'<line x1=\"8\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"8\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"8\" y1=\"18\" x2=\"21\" y2=\"18\"></line><line x1=\"3\" y1=\"6\" x2=\"3\" y2=\"6\"></line><line x1=\"3\" y1=\"12\" x2=\"3\" y2=\"12\"></line><line x1=\"3\" y1=\"18\" x2=\"3\" y2=\"18\"></line>',loader:'<line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"6\"></line><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"22\"></line><line x1=\"4.93\" y1=\"4.93\" x2=\"7.76\" y2=\"7.76\"></line><line x1=\"16.24\" y1=\"16.24\" x2=\"19.07\" y2=\"19.07\"></line><line x1=\"2\" y1=\"12\" x2=\"6\" y2=\"12\"></line><line x1=\"18\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"4.93\" y1=\"19.07\" x2=\"7.76\" y2=\"16.24\"></line><line x1=\"16.24\" y1=\"7.76\" x2=\"19.07\" y2=\"4.93\"></line>',lock:'<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"></path>',\"log-in\":'<path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"></path><polyline points=\"10 17 15 12 10 7\"></polyline><line x1=\"15\" y1=\"12\" x2=\"3\" y2=\"12\"></line>',\"log-out\":'<path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path><polyline points=\"16 17 21 12 16 7\"></polyline><line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line>',mail:'<path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"></path><polyline points=\"22,6 12,13 2,6\"></polyline>',\"map-pin\":'<path d=\"M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z\"></path><circle cx=\"12\" cy=\"10\" r=\"3\"></circle>',map:'<polygon points=\"1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6\"></polygon><line x1=\"8\" y1=\"2\" x2=\"8\" y2=\"18\"></line><line x1=\"16\" y1=\"6\" x2=\"16\" y2=\"22\"></line>',\"maximize-2\":'<polyline points=\"15 3 21 3 21 9\"></polyline><polyline points=\"9 21 3 21 3 15\"></polyline><line x1=\"21\" y1=\"3\" x2=\"14\" y2=\"10\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line>',maximize:'<path d=\"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\"></path>',meh:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"8\" y1=\"15\" x2=\"16\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>',menu:'<line x1=\"3\" y1=\"12\" x2=\"21\" y2=\"12\"></line><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line><line x1=\"3\" y1=\"18\" x2=\"21\" y2=\"18\"></line>',\"message-circle\":'<path d=\"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\"></path>',\"message-square\":'<path d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"></path>',\"mic-off\":'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M9 9v3a3 3 0 0 0 5.12 2.12M15 9.34V4a3 3 0 0 0-5.94-.6\"></path><path d=\"M17 16.95A7 7 0 0 1 5 12v-2m14 0v2a7 7 0 0 1-.11 1.23\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>',mic:'<path d=\"M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z\"></path><path d=\"M19 10v2a7 7 0 0 1-14 0v-2\"></path><line x1=\"12\" y1=\"19\" x2=\"12\" y2=\"23\"></line><line x1=\"8\" y1=\"23\" x2=\"16\" y2=\"23\"></line>',\"minimize-2\":'<polyline points=\"4 14 10 14 10 20\"></polyline><polyline points=\"20 10 14 10 14 4\"></polyline><line x1=\"14\" y1=\"10\" x2=\"21\" y2=\"3\"></line><line x1=\"3\" y1=\"21\" x2=\"10\" y2=\"14\"></line>',minimize:'<path d=\"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\"></path>',\"minus-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',\"minus-square\":'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',minus:'<line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>',monitor:'<rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\" ry=\"2\"></rect><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"></line><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"></line>',moon:'<path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"></path>',\"more-horizontal\":'<circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"19\" cy=\"12\" r=\"1\"></circle><circle cx=\"5\" cy=\"12\" r=\"1\"></circle>',\"more-vertical\":'<circle cx=\"12\" cy=\"12\" r=\"1\"></circle><circle cx=\"12\" cy=\"5\" r=\"1\"></circle><circle cx=\"12\" cy=\"19\" r=\"1\"></circle>',\"mouse-pointer\":'<path d=\"M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z\"></path><path d=\"M13 13l6 6\"></path>',move:'<polyline points=\"5 9 2 12 5 15\"></polyline><polyline points=\"9 5 12 2 15 5\"></polyline><polyline points=\"15 19 12 22 9 19\"></polyline><polyline points=\"19 9 22 12 19 15\"></polyline><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"></line><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"22\"></line>',music:'<path d=\"M9 18V5l12-2v13\"></path><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><circle cx=\"18\" cy=\"16\" r=\"3\"></circle>',\"navigation-2\":'<polygon points=\"12 2 19 21 12 17 5 21 12 2\"></polygon>',navigation:'<polygon points=\"3 11 22 2 13 21 11 13 3 11\"></polygon>',octagon:'<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon>',package:'<line x1=\"16.5\" y1=\"9.4\" x2=\"7.5\" y2=\"4.21\"></line><path d=\"M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"></path><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"></polyline><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"></line>',paperclip:'<path d=\"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\"></path>',\"pause-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"10\" y1=\"15\" x2=\"10\" y2=\"9\"></line><line x1=\"14\" y1=\"15\" x2=\"14\" y2=\"9\"></line>',pause:'<rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"></rect><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"></rect>',\"pen-tool\":'<path d=\"M12 19l7-7 3 3-7 7-3-3z\"></path><path d=\"M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z\"></path><path d=\"M2 2l7.586 7.586\"></path><circle cx=\"11\" cy=\"11\" r=\"2\"></circle>',percent:'<line x1=\"19\" y1=\"5\" x2=\"5\" y2=\"19\"></line><circle cx=\"6.5\" cy=\"6.5\" r=\"2.5\"></circle><circle cx=\"17.5\" cy=\"17.5\" r=\"2.5\"></circle>',\"phone-call\":'<path d=\"M15.05 5A5 5 0 0 1 19 8.95M15.05 1A9 9 0 0 1 23 8.94m-1 7.98v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-forwarded\":'<polyline points=\"19 1 23 5 19 9\"></polyline><line x1=\"15\" y1=\"5\" x2=\"23\" y2=\"5\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-incoming\":'<polyline points=\"16 2 16 8 22 8\"></polyline><line x1=\"23\" y1=\"1\" x2=\"16\" y2=\"8\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-missed\":'<line x1=\"23\" y1=\"1\" x2=\"17\" y2=\"7\"></line><line x1=\"17\" y1=\"1\" x2=\"23\" y2=\"7\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"phone-off\":'<path d=\"M10.68 13.31a16 16 0 0 0 3.41 2.6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7 2 2 0 0 1 1.72 2v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.42 19.42 0 0 1-3.33-2.67m-2.67-3.34a19.79 19.79 0 0 1-3.07-8.63A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91\"></path><line x1=\"23\" y1=\"1\" x2=\"1\" y2=\"23\"></line>',\"phone-outgoing\":'<polyline points=\"23 7 23 1 17 1\"></polyline><line x1=\"16\" y1=\"8\" x2=\"23\" y2=\"1\"></line><path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',phone:'<path d=\"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\"></path>',\"pie-chart\":'<path d=\"M21.21 15.89A10 10 0 1 1 8 2.83\"></path><path d=\"M22 12A10 10 0 0 0 12 2v10z\"></path>',\"play-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><polygon points=\"10 8 16 12 10 16 10 8\"></polygon>',play:'<polygon points=\"5 3 19 12 5 21 5 3\"></polygon>',\"plus-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',\"plus-square\":'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"></line><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"></line>',plus:'<line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"></line><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>',pocket:'<path d=\"M4 3h16a2 2 0 0 1 2 2v6a10 10 0 0 1-10 10A10 10 0 0 1 2 11V5a2 2 0 0 1 2-2z\"></path><polyline points=\"8 10 12 14 16 10\"></polyline>',power:'<path d=\"M18.36 6.64a9 9 0 1 1-12.73 0\"></path><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"12\"></line>',printer:'<polyline points=\"6 9 6 2 18 2 18 9\"></polyline><path d=\"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\"></path><rect x=\"6\" y=\"14\" width=\"12\" height=\"8\"></rect>',radio:'<circle cx=\"12\" cy=\"12\" r=\"2\"></circle><path d=\"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\"></path>',\"refresh-ccw\":'<polyline points=\"1 4 1 10 7 10\"></polyline><polyline points=\"23 20 23 14 17 14\"></polyline><path d=\"M20.49 9A9 9 0 0 0 5.64 5.64L1 10m22 4l-4.64 4.36A9 9 0 0 1 3.51 15\"></path>',\"refresh-cw\":'<polyline points=\"23 4 23 10 17 10\"></polyline><polyline points=\"1 20 1 14 7 14\"></polyline><path d=\"M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15\"></path>',repeat:'<polyline points=\"17 1 21 5 17 9\"></polyline><path d=\"M3 11V9a4 4 0 0 1 4-4h14\"></path><polyline points=\"7 23 3 19 7 15\"></polyline><path d=\"M21 13v2a4 4 0 0 1-4 4H3\"></path>',rewind:'<polygon points=\"11 19 2 12 11 5 11 19\"></polygon><polygon points=\"22 19 13 12 22 5 22 19\"></polygon>',\"rotate-ccw\":'<polyline points=\"1 4 1 10 7 10\"></polyline><path d=\"M3.51 15a9 9 0 1 0 2.13-9.36L1 10\"></path>',\"rotate-cw\":'<polyline points=\"23 4 23 10 17 10\"></polyline><path d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"></path>',rss:'<path d=\"M4 11a9 9 0 0 1 9 9\"></path><path d=\"M4 4a16 16 0 0 1 16 16\"></path><circle cx=\"5\" cy=\"19\" r=\"1\"></circle>',save:'<path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"></path><polyline points=\"17 21 17 13 7 13 7 21\"></polyline><polyline points=\"7 3 7 8 15 8\"></polyline>',scissors:'<circle cx=\"6\" cy=\"6\" r=\"3\"></circle><circle cx=\"6\" cy=\"18\" r=\"3\"></circle><line x1=\"20\" y1=\"4\" x2=\"8.12\" y2=\"15.88\"></line><line x1=\"14.47\" y1=\"14.48\" x2=\"20\" y2=\"20\"></line><line x1=\"8.12\" y1=\"8.12\" x2=\"12\" y2=\"12\"></line>',search:'<circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line>',send:'<line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"></line><polygon points=\"22 2 15 22 11 13 2 9 22 2\"></polygon>',server:'<rect x=\"2\" y=\"2\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><rect x=\"2\" y=\"14\" width=\"20\" height=\"8\" rx=\"2\" ry=\"2\"></rect><line x1=\"6\" y1=\"6\" x2=\"6\" y2=\"6\"></line><line x1=\"6\" y1=\"18\" x2=\"6\" y2=\"18\"></line>',settings:'<circle cx=\"12\" cy=\"12\" r=\"3\"></circle><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"></path>',\"share-2\":'<circle cx=\"18\" cy=\"5\" r=\"3\"></circle><circle cx=\"6\" cy=\"12\" r=\"3\"></circle><circle cx=\"18\" cy=\"19\" r=\"3\"></circle><line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\"></line><line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\"></line>',share:'<path d=\"M4 12v8a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-8\"></path><polyline points=\"16 6 12 2 8 6\"></polyline><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"15\"></line>',\"shield-off\":'<path d=\"M19.69 14a6.9 6.9 0 0 0 .31-2V5l-8-3-3.16 1.18\"></path><path d=\"M4.73 4.73L4 5v7c0 6 8 10 8 10a20.29 20.29 0 0 0 5.62-4.38\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',shield:'<path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"></path>',\"shopping-bag\":'<path d=\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"></path><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"></line><path d=\"M16 10a4 4 0 0 1-8 0\"></path>',\"shopping-cart\":'<circle cx=\"9\" cy=\"21\" r=\"1\"></circle><circle cx=\"20\" cy=\"21\" r=\"1\"></circle><path d=\"M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6\"></path>',shuffle:'<polyline points=\"16 3 21 3 21 8\"></polyline><line x1=\"4\" y1=\"20\" x2=\"21\" y2=\"3\"></line><polyline points=\"21 16 21 21 16 21\"></polyline><line x1=\"15\" y1=\"15\" x2=\"21\" y2=\"21\"></line><line x1=\"4\" y1=\"4\" x2=\"9\" y2=\"9\"></line>',sidebar:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"9\" y1=\"3\" x2=\"9\" y2=\"21\"></line>',\"skip-back\":'<polygon points=\"19 20 9 12 19 4 19 20\"></polygon><line x1=\"5\" y1=\"19\" x2=\"5\" y2=\"5\"></line>',\"skip-forward\":'<polygon points=\"5 4 15 12 5 20 5 4\"></polygon><line x1=\"19\" y1=\"5\" x2=\"19\" y2=\"19\"></line>',slack:'<path d=\"M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z\"></path><path d=\"M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z\"></path><path d=\"M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z\"></path><path d=\"M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z\"></path><path d=\"M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z\"></path><path d=\"M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z\"></path><path d=\"M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z\"></path><path d=\"M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z\"></path>',slash:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"></line>',sliders:'<line x1=\"4\" y1=\"21\" x2=\"4\" y2=\"14\"></line><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"12\"></line><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"3\"></line><line x1=\"20\" y1=\"21\" x2=\"20\" y2=\"16\"></line><line x1=\"20\" y1=\"12\" x2=\"20\" y2=\"3\"></line><line x1=\"1\" y1=\"14\" x2=\"7\" y2=\"14\"></line><line x1=\"9\" y1=\"8\" x2=\"15\" y2=\"8\"></line><line x1=\"17\" y1=\"16\" x2=\"23\" y2=\"16\"></line>',smartphone:'<rect x=\"5\" y=\"2\" width=\"14\" height=\"20\" rx=\"2\" ry=\"2\"></rect><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18\"></line>',smile:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><path d=\"M8 14s1.5 2 4 2 4-2 4-2\"></path><line x1=\"9\" y1=\"9\" x2=\"9.01\" y2=\"9\"></line><line x1=\"15\" y1=\"9\" x2=\"15.01\" y2=\"9\"></line>',speaker:'<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\"></rect><circle cx=\"12\" cy=\"14\" r=\"4\"></circle><line x1=\"12\" y1=\"6\" x2=\"12\" y2=\"6\"></line>',square:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect>',star:'<polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"></polygon>',\"stop-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><rect x=\"9\" y=\"9\" width=\"6\" height=\"6\"></rect>',sun:'<circle cx=\"12\" cy=\"12\" r=\"5\"></circle><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"3\"></line><line x1=\"12\" y1=\"21\" x2=\"12\" y2=\"23\"></line><line x1=\"4.22\" y1=\"4.22\" x2=\"5.64\" y2=\"5.64\"></line><line x1=\"18.36\" y1=\"18.36\" x2=\"19.78\" y2=\"19.78\"></line><line x1=\"1\" y1=\"12\" x2=\"3\" y2=\"12\"></line><line x1=\"21\" y1=\"12\" x2=\"23\" y2=\"12\"></line><line x1=\"4.22\" y1=\"19.78\" x2=\"5.64\" y2=\"18.36\"></line><line x1=\"18.36\" y1=\"5.64\" x2=\"19.78\" y2=\"4.22\"></line>',sunrise:'<path d=\"M17 18a5 5 0 0 0-10 0\"></path><line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"9\"></line><line x1=\"4.22\" y1=\"10.22\" x2=\"5.64\" y2=\"11.64\"></line><line x1=\"1\" y1=\"18\" x2=\"3\" y2=\"18\"></line><line x1=\"21\" y1=\"18\" x2=\"23\" y2=\"18\"></line><line x1=\"18.36\" y1=\"11.64\" x2=\"19.78\" y2=\"10.22\"></line><line x1=\"23\" y1=\"22\" x2=\"1\" y2=\"22\"></line><polyline points=\"8 6 12 2 16 6\"></polyline>',sunset:'<path d=\"M17 18a5 5 0 0 0-10 0\"></path><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"2\"></line><line x1=\"4.22\" y1=\"10.22\" x2=\"5.64\" y2=\"11.64\"></line><line x1=\"1\" y1=\"18\" x2=\"3\" y2=\"18\"></line><line x1=\"21\" y1=\"18\" x2=\"23\" y2=\"18\"></line><line x1=\"18.36\" y1=\"11.64\" x2=\"19.78\" y2=\"10.22\"></line><line x1=\"23\" y1=\"22\" x2=\"1\" y2=\"22\"></line><polyline points=\"16 5 12 9 8 5\"></polyline>',tablet:'<rect x=\"4\" y=\"2\" width=\"16\" height=\"20\" rx=\"2\" ry=\"2\" transform=\"rotate(180 12 12)\"></rect><line x1=\"12\" y1=\"18\" x2=\"12\" y2=\"18\"></line>',tag:'<path d=\"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\"></path><line x1=\"7\" y1=\"7\" x2=\"7\" y2=\"7\"></line>',target:'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><circle cx=\"12\" cy=\"12\" r=\"6\"></circle><circle cx=\"12\" cy=\"12\" r=\"2\"></circle>',terminal:'<polyline points=\"4 17 10 11 4 5\"></polyline><line x1=\"12\" y1=\"19\" x2=\"20\" y2=\"19\"></line>',thermometer:'<path d=\"M14 14.76V3.5a2.5 2.5 0 0 0-5 0v11.26a4.5 4.5 0 1 0 5 0z\"></path>',\"thumbs-down\":'<path d=\"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\"></path>',\"thumbs-up\":'<path d=\"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\"></path>',\"toggle-left\":'<rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" ry=\"7\"></rect><circle cx=\"8\" cy=\"12\" r=\"3\"></circle>',\"toggle-right\":'<rect x=\"1\" y=\"5\" width=\"22\" height=\"14\" rx=\"7\" ry=\"7\"></rect><circle cx=\"16\" cy=\"12\" r=\"3\"></circle>',\"trash-2\":'<polyline points=\"3 6 5 6 21 6\"></polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path><line x1=\"10\" y1=\"11\" x2=\"10\" y2=\"17\"></line><line x1=\"14\" y1=\"11\" x2=\"14\" y2=\"17\"></line>',trash:'<polyline points=\"3 6 5 6 21 6\"></polyline><path d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"></path>',trello:'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><rect x=\"7\" y=\"7\" width=\"3\" height=\"9\"></rect><rect x=\"14\" y=\"7\" width=\"3\" height=\"5\"></rect>',\"trending-down\":'<polyline points=\"23 18 13.5 8.5 8.5 13.5 1 6\"></polyline><polyline points=\"17 18 23 18 23 12\"></polyline>',\"trending-up\":'<polyline points=\"23 6 13.5 15.5 8.5 10.5 1 18\"></polyline><polyline points=\"17 6 23 6 23 12\"></polyline>',triangle:'<path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"></path>',truck:'<rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"></rect><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"></polygon><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"></circle><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"></circle>',tv:'<rect x=\"2\" y=\"7\" width=\"20\" height=\"15\" rx=\"2\" ry=\"2\"></rect><polyline points=\"17 2 12 7 7 2\"></polyline>',twitter:'<path d=\"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\"></path>',type:'<polyline points=\"4 7 4 4 20 4 20 7\"></polyline><line x1=\"9\" y1=\"20\" x2=\"15\" y2=\"20\"></line><line x1=\"12\" y1=\"4\" x2=\"12\" y2=\"20\"></line>',umbrella:'<path d=\"M23 12a11.05 11.05 0 0 0-22 0zm-5 7a3 3 0 0 1-6 0v-7\"></path>',underline:'<path d=\"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\"></path><line x1=\"4\" y1=\"21\" x2=\"20\" y2=\"21\"></line>',unlock:'<rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"></rect><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"></path>',\"upload-cloud\":'<polyline points=\"16 16 12 12 8 16\"></polyline><line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\"></line><path d=\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\"></path><polyline points=\"16 16 12 12 8 16\"></polyline>',upload:'<path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path><polyline points=\"17 8 12 3 7 8\"></polyline><line x1=\"12\" y1=\"3\" x2=\"12\" y2=\"15\"></line>',\"user-check\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><polyline points=\"17 11 19 13 23 9\"></polyline>',\"user-minus\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"></line>',\"user-plus\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"20\" y1=\"8\" x2=\"20\" y2=\"14\"></line><line x1=\"23\" y1=\"11\" x2=\"17\" y2=\"11\"></line>',\"user-x\":'<path d=\"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"8.5\" cy=\"7\" r=\"4\"></circle><line x1=\"18\" y1=\"8\" x2=\"23\" y2=\"13\"></line><line x1=\"23\" y1=\"8\" x2=\"18\" y2=\"13\"></line>',user:'<path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"></path><circle cx=\"12\" cy=\"7\" r=\"4\"></circle>',users:'<path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"></path><circle cx=\"9\" cy=\"7\" r=\"4\"></circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"></path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"></path>',\"video-off\":'<path d=\"M16 16v1a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2m5.66 0H14a2 2 0 0 1 2 2v3.34l1 1L23 7v10\"></path><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',video:'<polygon points=\"23 7 16 12 23 17 23 7\"></polygon><rect x=\"1\" y=\"5\" width=\"15\" height=\"14\" rx=\"2\" ry=\"2\"></rect>',voicemail:'<circle cx=\"5.5\" cy=\"11.5\" r=\"4.5\"></circle><circle cx=\"18.5\" cy=\"11.5\" r=\"4.5\"></circle><line x1=\"5.5\" y1=\"16\" x2=\"18.5\" y2=\"16\"></line>',\"volume-1\":'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M15.54 8.46a5 5 0 0 1 0 7.07\"></path>',\"volume-2\":'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><path d=\"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\"></path>',\"volume-x\":'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon><line x1=\"23\" y1=\"9\" x2=\"17\" y2=\"15\"></line><line x1=\"17\" y1=\"9\" x2=\"23\" y2=\"15\"></line>',volume:'<polygon points=\"11 5 6 9 2 9 2 15 6 15 11 19 11 5\"></polygon>',watch:'<circle cx=\"12\" cy=\"12\" r=\"7\"></circle><polyline points=\"12 9 12 12 13.5 13.5\"></polyline><path d=\"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\"></path>',\"wifi-off\":'<line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line><path d=\"M16.72 11.06A10.94 10.94 0 0 1 19 12.55\"></path><path d=\"M5 12.55a10.94 10.94 0 0 1 5.17-2.39\"></path><path d=\"M10.71 5.05A16 16 0 0 1 22.58 9\"></path><path d=\"M1.42 9a15.91 15.91 0 0 1 4.7-2.88\"></path><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"></path><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"20\"></line>',wifi:'<path d=\"M5 12.55a11 11 0 0 1 14.08 0\"></path><path d=\"M1.42 9a16 16 0 0 1 21.16 0\"></path><path d=\"M8.53 16.11a6 6 0 0 1 6.95 0\"></path><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"20\"></line>',wind:'<path d=\"M9.59 4.59A2 2 0 1 1 11 8H2m10.59 11.41A2 2 0 1 0 14 16H2m15.73-8.27A2.5 2.5 0 1 1 19.5 12H2\"></path>',\"x-circle\":'<circle cx=\"12\" cy=\"12\" r=\"10\"></circle><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>',\"x-octagon\":'<polygon points=\"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\"></polygon><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line>',\"x-square\":'<rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"></rect><line x1=\"9\" y1=\"9\" x2=\"15\" y2=\"15\"></line><line x1=\"15\" y1=\"9\" x2=\"9\" y2=\"15\"></line>',x:'<line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"></line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"></line>',youtube:'<path d=\"M22.54 6.42a2.78 2.78 0 0 0-1.94-2C18.88 4 12 4 12 4s-6.88 0-8.6.46a2.78 2.78 0 0 0-1.94 2A29 29 0 0 0 1 11.75a29 29 0 0 0 .46 5.33A2.78 2.78 0 0 0 3.4 19c1.72.46 8.6.46 8.6.46s6.88 0 8.6-.46a2.78 2.78 0 0 0 1.94-2 29 29 0 0 0 .46-5.25 29 29 0 0 0-.46-5.33z\"></path><polygon points=\"9.75 15.02 15.5 11.75 9.75 8.48 9.75 15.02\"></polygon>',\"zap-off\":'<polyline points=\"12.41 6.75 13 2 10.57 4.92\"></polyline><polyline points=\"18.57 12.91 21 10 15.66 10\"></polyline><polyline points=\"8 8 3 14 12 14 11 22 16 16\"></polyline><line x1=\"1\" y1=\"1\" x2=\"23\" y2=\"23\"></line>',zap:'<polygon points=\"13 2 3 14 12 14 11 22 21 10 12 10 13 2\"></polygon>',\"zoom-in\":'<circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line><line x1=\"11\" y1=\"8\" x2=\"11\" y2=\"14\"></line><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"></line>',\"zoom-out\":'<circle cx=\"11\" cy=\"11\" r=\"8\"></circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"></line><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"></line>'}},\"./node_modules/classnames/dedupe.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/classnames/dedupe.js ***!\n  \\*******************************************/\n/*! no static exports found */function(e,t,n){var r;\n/*!\n  Copyright (c) 2016 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n/*!\n  Copyright (c) 2016 Jed Watson.\n  Licensed under the MIT License (MIT), see\n  http://jedwatson.github.io/classnames\n*/\n!function(){\"use strict\";var n=function(){function e(){}function t(e,t){for(var n=t.length,r=0;r<n;++r)o(e,t[r])}e.prototype=Object.create(null);var n={}.hasOwnProperty;var r=/\\s+/;function o(e,o){if(o){var i=typeof o;\"string\"===i?function(e,t){for(var n=t.split(r),o=n.length,i=0;i<o;++i)e[n[i]]=!0}(e,o):Array.isArray(o)?t(e,o):\"object\"===i?function(e,t){for(var r in t)n.call(t,r)&&(e[r]=!!t[r])}(e,o):\"number\"===i&&function(e,t){e[t]=!0}(e,o)}}return function(){for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];var i=new e;t(i,r);var l=[];for(var a in i)i[a]&&l.push(a);return l.join(\" \")}}();void 0!==e&&e.exports?e.exports=n:void 0===(r=function(){return n}.apply(t,[]))||(e.exports=r)}()},\"./node_modules/core-js/fn/array/from.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/fn/array/from.js ***!\n  \\***********************************************/\n/*! no static exports found */function(e,t,n){n(/*! ../../modules/es6.string.iterator */\"./node_modules/core-js/modules/es6.string.iterator.js\"),n(/*! ../../modules/es6.array.from */\"./node_modules/core-js/modules/es6.array.from.js\"),e.exports=n(/*! ../../modules/_core */\"./node_modules/core-js/modules/_core.js\").Array.from},\"./node_modules/core-js/modules/_a-function.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_a-function.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},\"./node_modules/core-js/modules/_an-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_an-object.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_is-object */\"./node_modules/core-js/modules/_is-object.js\");e.exports=function(e){if(!r(e))throw TypeError(e+\" is not an object!\");return e}},\"./node_modules/core-js/modules/_array-includes.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_array-includes.js ***!\n  \\*********************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_to-iobject */\"./node_modules/core-js/modules/_to-iobject.js\"),o=n(/*! ./_to-length */\"./node_modules/core-js/modules/_to-length.js\"),i=n(/*! ./_to-absolute-index */\"./node_modules/core-js/modules/_to-absolute-index.js\");e.exports=function(e){return function(t,n,l){var a,s=r(t),c=o(s.length),u=i(l,c);if(e&&n!=n){for(;c>u;)if((a=s[u++])!=a)return!0}else for(;c>u;u++)if((e||u in s)&&s[u]===n)return e||u||0;return!e&&-1}}},\"./node_modules/core-js/modules/_classof.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_classof.js ***!\n  \\**************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_cof */\"./node_modules/core-js/modules/_cof.js\"),o=n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"toStringTag\"),i=\"Arguments\"==r(function(){return arguments}());e.exports=function(e){var t,n,l;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):\"Object\"==(l=r(t))&&\"function\"==typeof t.callee?\"Arguments\":l}},\"./node_modules/core-js/modules/_cof.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_cof.js ***!\n  \\**********************************************/\n/*! no static exports found */function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},\"./node_modules/core-js/modules/_core.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_core.js ***!\n  \\***********************************************/\n/*! no static exports found */function(e,t){var n=e.exports={version:\"2.5.6\"};\"number\"==typeof __e&&(__e=n)},\"./node_modules/core-js/modules/_create-property.js\":\n/*!**********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_create-property.js ***!\n  \\**********************************************************/\n/*! no static exports found */function(e,t,n){\"use strict\";var r=n(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\"),o=n(/*! ./_property-desc */\"./node_modules/core-js/modules/_property-desc.js\");e.exports=function(e,t,n){t in e?r.f(e,t,o(0,n)):e[t]=n}},\"./node_modules/core-js/modules/_ctx.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_ctx.js ***!\n  \\**********************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_a-function */\"./node_modules/core-js/modules/_a-function.js\");e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},\"./node_modules/core-js/modules/_defined.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_defined.js ***!\n  \\**************************************************/\n/*! no static exports found */function(e,t){e.exports=function(e){if(null==e)throw TypeError(\"Can't call method on  \"+e);return e}},\"./node_modules/core-js/modules/_descriptors.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_descriptors.js ***!\n  \\******************************************************/\n/*! no static exports found */function(e,t,n){e.exports=!n(/*! ./_fails */\"./node_modules/core-js/modules/_fails.js\")(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},\"./node_modules/core-js/modules/_dom-create.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_dom-create.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_is-object */\"./node_modules/core-js/modules/_is-object.js\"),o=n(/*! ./_global */\"./node_modules/core-js/modules/_global.js\").document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},\"./node_modules/core-js/modules/_enum-bug-keys.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_enum-bug-keys.js ***!\n  \\********************************************************/\n/*! no static exports found */function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},\"./node_modules/core-js/modules/_export.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_export.js ***!\n  \\*************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_global */\"./node_modules/core-js/modules/_global.js\"),o=n(/*! ./_core */\"./node_modules/core-js/modules/_core.js\"),i=n(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\"),l=n(/*! ./_redefine */\"./node_modules/core-js/modules/_redefine.js\"),a=n(/*! ./_ctx */\"./node_modules/core-js/modules/_ctx.js\"),s=function(e,t,n){var c,u,p,d,f=e&s.F,h=e&s.G,y=e&s.S,x=e&s.P,m=e&s.B,g=h?r:y?r[t]||(r[t]={}):(r[t]||{}).prototype,v=h?o:o[t]||(o[t]={}),b=v.prototype||(v.prototype={});for(c in h&&(n=t),n)p=((u=!f&&g&&void 0!==g[c])?g:n)[c],d=m&&u?a(p,r):x&&\"function\"==typeof p?a(Function.call,p):p,g&&l(g,c,p,e&s.U),v[c]!=p&&i(v,c,d),x&&b[c]!=p&&(b[c]=p)};r.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},\"./node_modules/core-js/modules/_fails.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/core-js/modules/_fails.js ***!\n  \\************************************************/\n/*! no static exports found */function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},\"./node_modules/core-js/modules/_global.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_global.js ***!\n  \\*************************************************/\n/*! no static exports found */function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},\"./node_modules/core-js/modules/_has.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_has.js ***!\n  \\**********************************************/\n/*! no static exports found */function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},\"./node_modules/core-js/modules/_hide.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_hide.js ***!\n  \\***********************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\"),o=n(/*! ./_property-desc */\"./node_modules/core-js/modules/_property-desc.js\");e.exports=n(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")?function(e,t,n){return r.f(e,t,o(1,n))}:function(e,t,n){return e[t]=n,e}},\"./node_modules/core-js/modules/_html.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/core-js/modules/_html.js ***!\n  \\***********************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_global */\"./node_modules/core-js/modules/_global.js\").document;e.exports=r&&r.documentElement},\"./node_modules/core-js/modules/_ie8-dom-define.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_ie8-dom-define.js ***!\n  \\*********************************************************/\n/*! no static exports found */function(e,t,n){e.exports=!n(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")&&!n(/*! ./_fails */\"./node_modules/core-js/modules/_fails.js\")(function(){return 7!=Object.defineProperty(n(/*! ./_dom-create */\"./node_modules/core-js/modules/_dom-create.js\")(\"div\"),\"a\",{get:function(){return 7}}).a})},\"./node_modules/core-js/modules/_iobject.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iobject.js ***!\n  \\**************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_cof */\"./node_modules/core-js/modules/_cof.js\");e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==r(e)?e.split(\"\"):Object(e)}},\"./node_modules/core-js/modules/_is-array-iter.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_is-array-iter.js ***!\n  \\********************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_iterators */\"./node_modules/core-js/modules/_iterators.js\"),o=n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),i=Array.prototype;e.exports=function(e){return void 0!==e&&(r.Array===e||i[o]===e)}},\"./node_modules/core-js/modules/_is-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_is-object.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},\"./node_modules/core-js/modules/_iter-call.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-call.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\");e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&r(i.call(e)),t}}},\"./node_modules/core-js/modules/_iter-create.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-create.js ***!\n  \\******************************************************/\n/*! no static exports found */function(e,t,n){\"use strict\";var r=n(/*! ./_object-create */\"./node_modules/core-js/modules/_object-create.js\"),o=n(/*! ./_property-desc */\"./node_modules/core-js/modules/_property-desc.js\"),i=n(/*! ./_set-to-string-tag */\"./node_modules/core-js/modules/_set-to-string-tag.js\"),l={};n(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\")(l,n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(l,{next:o(1,n)}),i(e,t+\" Iterator\")}},\"./node_modules/core-js/modules/_iter-define.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-define.js ***!\n  \\******************************************************/\n/*! no static exports found */function(e,t,n){\"use strict\";var r=n(/*! ./_library */\"./node_modules/core-js/modules/_library.js\"),o=n(/*! ./_export */\"./node_modules/core-js/modules/_export.js\"),i=n(/*! ./_redefine */\"./node_modules/core-js/modules/_redefine.js\"),l=n(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\"),a=n(/*! ./_iterators */\"./node_modules/core-js/modules/_iterators.js\"),s=n(/*! ./_iter-create */\"./node_modules/core-js/modules/_iter-create.js\"),c=n(/*! ./_set-to-string-tag */\"./node_modules/core-js/modules/_set-to-string-tag.js\"),u=n(/*! ./_object-gpo */\"./node_modules/core-js/modules/_object-gpo.js\"),p=n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),d=!([].keys&&\"next\"in[].keys()),f=function(){return this};e.exports=function(e,t,n,h,y,x,m){s(n,t,h);var g,v,b,j=function(e){if(!d&&e in k)return k[e];switch(e){case\"keys\":case\"values\":return function(){return new n(this,e)}}return function(){return new n(this,e)}},w=t+\" Iterator\",_=\"values\"==y,M=!1,k=e.prototype,T=k[p]||k[\"@@iterator\"]||y&&k[y],A=T||j(y),S=y?_?j(\"entries\"):A:void 0,C=\"Array\"==t&&k.entries||T;if(C&&(b=u(C.call(new e)))!==Object.prototype&&b.next&&(c(b,w,!0),r||\"function\"==typeof b[p]||l(b,p,f)),_&&T&&\"values\"!==T.name&&(M=!0,A=function(){return T.call(this)}),r&&!m||!d&&!M&&k[p]||l(k,p,A),a[t]=A,a[w]=f,y)if(g={values:_?A:j(\"values\"),keys:x?A:j(\"keys\"),entries:S},m)for(v in g)v in k||i(k,v,g[v]);else o(o.P+o.F*(d||M),t,g);return g}},\"./node_modules/core-js/modules/_iter-detect.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iter-detect.js ***!\n  \\******************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),o=!1;try{var i=[7][r]();i.return=function(){o=!0},Array.from(i,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i=[7],l=i[r]();l.next=function(){return{done:n=!0}},i[r]=function(){return l},e(i)}catch(e){}return n}},\"./node_modules/core-js/modules/_iterators.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_iterators.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t){e.exports={}},\"./node_modules/core-js/modules/_library.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/core-js/modules/_library.js ***!\n  \\**************************************************/\n/*! no static exports found */function(e,t){e.exports=!1},\"./node_modules/core-js/modules/_object-create.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-create.js ***!\n  \\********************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\"),o=n(/*! ./_object-dps */\"./node_modules/core-js/modules/_object-dps.js\"),i=n(/*! ./_enum-bug-keys */\"./node_modules/core-js/modules/_enum-bug-keys.js\"),l=n(/*! ./_shared-key */\"./node_modules/core-js/modules/_shared-key.js\")(\"IE_PROTO\"),a=function(){},s=function(){var e,t=n(/*! ./_dom-create */\"./node_modules/core-js/modules/_dom-create.js\")(\"iframe\"),r=i.length;for(t.style.display=\"none\",n(/*! ./_html */\"./node_modules/core-js/modules/_html.js\").appendChild(t),t.src=\"javascript:\",(e=t.contentWindow.document).open(),e.write(\"<script>document.F=Object<\\/script>\"),e.close(),s=e.F;r--;)delete s.prototype[i[r]];return s()};e.exports=Object.create||function(e,t){var n;return null!==e?(a.prototype=r(e),n=new a,a.prototype=null,n[l]=e):n=s(),void 0===t?n:o(n,t)}},\"./node_modules/core-js/modules/_object-dp.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-dp.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\"),o=n(/*! ./_ie8-dom-define */\"./node_modules/core-js/modules/_ie8-dom-define.js\"),i=n(/*! ./_to-primitive */\"./node_modules/core-js/modules/_to-primitive.js\"),l=Object.defineProperty;t.f=n(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return l(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},\"./node_modules/core-js/modules/_object-dps.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-dps.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\"),o=n(/*! ./_an-object */\"./node_modules/core-js/modules/_an-object.js\"),i=n(/*! ./_object-keys */\"./node_modules/core-js/modules/_object-keys.js\");e.exports=n(/*! ./_descriptors */\"./node_modules/core-js/modules/_descriptors.js\")?Object.defineProperties:function(e,t){o(e);for(var n,l=i(t),a=l.length,s=0;a>s;)r.f(e,n=l[s++],t[n]);return e}},\"./node_modules/core-js/modules/_object-gpo.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-gpo.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),o=n(/*! ./_to-object */\"./node_modules/core-js/modules/_to-object.js\"),i=n(/*! ./_shared-key */\"./node_modules/core-js/modules/_shared-key.js\")(\"IE_PROTO\"),l=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=o(e),r(e,i)?e[i]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},\"./node_modules/core-js/modules/_object-keys-internal.js\":\n/*!***************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-keys-internal.js ***!\n  \\***************************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),o=n(/*! ./_to-iobject */\"./node_modules/core-js/modules/_to-iobject.js\"),i=n(/*! ./_array-includes */\"./node_modules/core-js/modules/_array-includes.js\")(!1),l=n(/*! ./_shared-key */\"./node_modules/core-js/modules/_shared-key.js\")(\"IE_PROTO\");e.exports=function(e,t){var n,a=o(e),s=0,c=[];for(n in a)n!=l&&r(a,n)&&c.push(n);for(;t.length>s;)r(a,n=t[s++])&&(~i(c,n)||c.push(n));return c}},\"./node_modules/core-js/modules/_object-keys.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_object-keys.js ***!\n  \\******************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_object-keys-internal */\"./node_modules/core-js/modules/_object-keys-internal.js\"),o=n(/*! ./_enum-bug-keys */\"./node_modules/core-js/modules/_enum-bug-keys.js\");e.exports=Object.keys||function(e){return r(e,o)}},\"./node_modules/core-js/modules/_property-desc.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/_property-desc.js ***!\n  \\********************************************************/\n/*! no static exports found */function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},\"./node_modules/core-js/modules/_redefine.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/core-js/modules/_redefine.js ***!\n  \\***************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_global */\"./node_modules/core-js/modules/_global.js\"),o=n(/*! ./_hide */\"./node_modules/core-js/modules/_hide.js\"),i=n(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),l=n(/*! ./_uid */\"./node_modules/core-js/modules/_uid.js\")(\"src\"),a=Function.toString,s=(\"\"+a).split(\"toString\");n(/*! ./_core */\"./node_modules/core-js/modules/_core.js\").inspectSource=function(e){return a.call(e)},(e.exports=function(e,t,n,a){var c=\"function\"==typeof n;c&&(i(n,\"name\")||o(n,\"name\",t)),e[t]!==n&&(c&&(i(n,l)||o(n,l,e[t]?\"\"+e[t]:s.join(String(t)))),e===r?e[t]=n:a?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,\"toString\",function(){return\"function\"==typeof this&&this[l]||a.call(this)})},\"./node_modules/core-js/modules/_set-to-string-tag.js\":\n/*!************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_set-to-string-tag.js ***!\n  \\************************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_object-dp */\"./node_modules/core-js/modules/_object-dp.js\").f,o=n(/*! ./_has */\"./node_modules/core-js/modules/_has.js\"),i=n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"toStringTag\");e.exports=function(e,t,n){e&&!o(e=n?e:e.prototype,i)&&r(e,i,{configurable:!0,value:t})}},\"./node_modules/core-js/modules/_shared-key.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_shared-key.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_shared */\"./node_modules/core-js/modules/_shared.js\")(\"keys\"),o=n(/*! ./_uid */\"./node_modules/core-js/modules/_uid.js\");e.exports=function(e){return r[e]||(r[e]=o(e))}},\"./node_modules/core-js/modules/_shared.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/core-js/modules/_shared.js ***!\n  \\*************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_core */\"./node_modules/core-js/modules/_core.js\"),o=n(/*! ./_global */\"./node_modules/core-js/modules/_global.js\"),i=o[\"__core-js_shared__\"]||(o[\"__core-js_shared__\"]={});(e.exports=function(e,t){return i[e]||(i[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:r.version,mode:n(/*! ./_library */\"./node_modules/core-js/modules/_library.js\")?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},\"./node_modules/core-js/modules/_string-at.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_string-at.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_to-integer */\"./node_modules/core-js/modules/_to-integer.js\"),o=n(/*! ./_defined */\"./node_modules/core-js/modules/_defined.js\");e.exports=function(e){return function(t,n){var i,l,a=String(o(t)),s=r(n),c=a.length;return s<0||s>=c?e?\"\":void 0:(i=a.charCodeAt(s))<55296||i>56319||s+1===c||(l=a.charCodeAt(s+1))<56320||l>57343?e?a.charAt(s):i:e?a.slice(s,s+2):l-56320+(i-55296<<10)+65536}}},\"./node_modules/core-js/modules/_to-absolute-index.js\":\n/*!************************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-absolute-index.js ***!\n  \\************************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_to-integer */\"./node_modules/core-js/modules/_to-integer.js\"),o=Math.max,i=Math.min;e.exports=function(e,t){return(e=r(e))<0?o(e+t,0):i(e,t)}},\"./node_modules/core-js/modules/_to-integer.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-integer.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},\"./node_modules/core-js/modules/_to-iobject.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-iobject.js ***!\n  \\*****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_iobject */\"./node_modules/core-js/modules/_iobject.js\"),o=n(/*! ./_defined */\"./node_modules/core-js/modules/_defined.js\");e.exports=function(e){return r(o(e))}},\"./node_modules/core-js/modules/_to-length.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-length.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_to-integer */\"./node_modules/core-js/modules/_to-integer.js\"),o=Math.min;e.exports=function(e){return e>0?o(r(e),9007199254740991):0}},\"./node_modules/core-js/modules/_to-object.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-object.js ***!\n  \\****************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_defined */\"./node_modules/core-js/modules/_defined.js\");e.exports=function(e){return Object(r(e))}},\"./node_modules/core-js/modules/_to-primitive.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/core-js/modules/_to-primitive.js ***!\n  \\*******************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_is-object */\"./node_modules/core-js/modules/_is-object.js\");e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&\"function\"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if(\"function\"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&\"function\"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError(\"Can't convert object to primitive value\")}},\"./node_modules/core-js/modules/_uid.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_uid.js ***!\n  \\**********************************************/\n/*! no static exports found */function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},\"./node_modules/core-js/modules/_wks.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/core-js/modules/_wks.js ***!\n  \\**********************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_shared */\"./node_modules/core-js/modules/_shared.js\")(\"wks\"),o=n(/*! ./_uid */\"./node_modules/core-js/modules/_uid.js\"),i=n(/*! ./_global */\"./node_modules/core-js/modules/_global.js\").Symbol,l=\"function\"==typeof i;(e.exports=function(e){return r[e]||(r[e]=l&&i[e]||(l?i:o)(\"Symbol.\"+e))}).store=r},\"./node_modules/core-js/modules/core.get-iterator-method.js\":\n/*!******************************************************************!*\\\n  !*** ./node_modules/core-js/modules/core.get-iterator-method.js ***!\n  \\******************************************************************/\n/*! no static exports found */function(e,t,n){var r=n(/*! ./_classof */\"./node_modules/core-js/modules/_classof.js\"),o=n(/*! ./_wks */\"./node_modules/core-js/modules/_wks.js\")(\"iterator\"),i=n(/*! ./_iterators */\"./node_modules/core-js/modules/_iterators.js\");e.exports=n(/*! ./_core */\"./node_modules/core-js/modules/_core.js\").getIteratorMethod=function(e){if(null!=e)return e[o]||e[\"@@iterator\"]||i[r(e)]}},\"./node_modules/core-js/modules/es6.array.from.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/core-js/modules/es6.array.from.js ***!\n  \\********************************************************/\n/*! no static exports found */function(e,t,n){\"use strict\";var r=n(/*! ./_ctx */\"./node_modules/core-js/modules/_ctx.js\"),o=n(/*! ./_export */\"./node_modules/core-js/modules/_export.js\"),i=n(/*! ./_to-object */\"./node_modules/core-js/modules/_to-object.js\"),l=n(/*! ./_iter-call */\"./node_modules/core-js/modules/_iter-call.js\"),a=n(/*! ./_is-array-iter */\"./node_modules/core-js/modules/_is-array-iter.js\"),s=n(/*! ./_to-length */\"./node_modules/core-js/modules/_to-length.js\"),c=n(/*! ./_create-property */\"./node_modules/core-js/modules/_create-property.js\"),u=n(/*! ./core.get-iterator-method */\"./node_modules/core-js/modules/core.get-iterator-method.js\");o(o.S+o.F*!n(/*! ./_iter-detect */\"./node_modules/core-js/modules/_iter-detect.js\")(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,o,p,d=i(e),f=\"function\"==typeof this?this:Array,h=arguments.length,y=h>1?arguments[1]:void 0,x=void 0!==y,m=0,g=u(d);if(x&&(y=r(y,h>2?arguments[2]:void 0,2)),null==g||f==Array&&a(g))for(n=new f(t=s(d.length));t>m;m++)c(n,m,x?y(d[m],m):d[m]);else for(p=g.call(d),n=new f;!(o=p.next()).done;m++)c(n,m,x?l(p,y,[o.value,m],!0):o.value);return n.length=m,n}})},\"./node_modules/core-js/modules/es6.string.iterator.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/core-js/modules/es6.string.iterator.js ***!\n  \\*************************************************************/\n/*! no static exports found */function(e,t,n){\"use strict\";var r=n(/*! ./_string-at */\"./node_modules/core-js/modules/_string-at.js\")(!0);n(/*! ./_iter-define */\"./node_modules/core-js/modules/_iter-define.js\")(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},\"./src/default-attrs.json\":\n/*!********************************!*\\\n  !*** ./src/default-attrs.json ***!\n  \\********************************/\n/*! exports provided: xmlns, width, height, viewBox, fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, default */function(e){e.exports={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\",fill:\"none\",stroke:\"currentColor\",\"stroke-width\":2,\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\"}},\"./src/icon.js\":\n/*!*********************!*\\\n  !*** ./src/icon.js ***!\n  \\*********************/\n/*! no static exports found */function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=a(n(/*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\")),l=a(n(/*! ./default-attrs.json */\"./src/default-attrs.json\"));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(){function e(t,n){var o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];!function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.name=t,this.contents=n,this.tags=o,this.attrs=r({},l.default,{class:\"feather feather-\"+t})}return o(e,[{key:\"toSvg\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return\"<svg \"+function(e){return Object.keys(e).map(function(t){return t+'=\"'+e[t]+'\"'}).join(\" \")}(r({},this.attrs,e,{class:(0,i.default)(this.attrs.class,e.class)}))+\">\"+this.contents+\"</svg>\"}},{key:\"toString\",value:function(){return this.contents}}]),e}();t.default=s},\"./src/icons.js\":\n/*!**********************!*\\\n  !*** ./src/icons.js ***!\n  \\**********************/\n/*! no static exports found */function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=l(n(/*! ./icon */\"./src/icon.js\")),o=l(n(/*! ../dist/icons.json */\"./dist/icons.json\")),i=l(n(/*! ./tags.json */\"./src/tags.json\"));function l(e){return e&&e.__esModule?e:{default:e}}t.default=Object.keys(o.default).map(function(e){return new r.default(e,o.default[e],i.default[e])}).reduce(function(e,t){return e[t.name]=t,e},{})},\"./src/index.js\":\n/*!**********************!*\\\n  !*** ./src/index.js ***!\n  \\**********************/\n/*! no static exports found */function(e,t,n){\"use strict\";var r=l(n(/*! ./icons */\"./src/icons.js\")),o=l(n(/*! ./to-svg */\"./src/to-svg.js\")),i=l(n(/*! ./replace */\"./src/replace.js\"));function l(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:r.default,toSvg:o.default,replace:i.default}},\"./src/replace.js\":\n/*!************************!*\\\n  !*** ./src/replace.js ***!\n  \\************************/\n/*! no static exports found */function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=l(n(/*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\")),i=l(n(/*! ./icons */\"./src/icons.js\"));function l(e){return e&&e.__esModule?e:{default:e}}t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(\"undefined\"==typeof document)throw new Error(\"`feather.replace()` only works in a browser environment.\");var t=document.querySelectorAll(\"[data-feather]\");Array.from(t).forEach(function(t){return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(e){return Array.from(e.attributes).reduce(function(e,t){return e[t.name]=t.value,e},{})}(e),l=n[\"data-feather\"];delete n[\"data-feather\"];var a=i.default[l].toSvg(r({},t,n,{class:(0,o.default)(t.class,n.class)})),s=(new DOMParser).parseFromString(a,\"image/svg+xml\").querySelector(\"svg\");e.parentNode.replaceChild(s,e)}(t,e)})}},\"./src/tags.json\":\n/*!***********************!*\\\n  !*** ./src/tags.json ***!\n  \\***********************/\n/*! exports provided: activity, airplay, alert-circle, alert-octagon, alert-triangle, at-sign, award, aperture, bell, bell-off, bluetooth, book-open, book, bookmark, briefcase, clipboard, clock, cloud-drizzle, cloud-lightning, cloud-rain, cloud-snow, cloud, codepen, codesandbox, coffee, command, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, credit-card, crop, crosshair, database, delete, disc, dollar-sign, droplet, edit, edit-2, edit-3, eye, eye-off, external-link, facebook, fast-forward, figma, film, folder-minus, folder-plus, folder, frown, gift, git-branch, git-commit, git-merge, git-pull-request, github, gitlab, global, hard-drive, hash, headphones, heart, help-circle, hexagon, home, image, inbox, instagram, key, life-bouy, linkedin, lock, log-in, log-out, mail, map-pin, map, maximize, maximize-2, meh, menu, message-circle, message-square, mic-off, mic, minimize, minimize-2, monitor, moon, more-horizontal, more-vertical, mouse-pointer, move, navigation, navigation-2, octagon, package, paperclip, pause, pause-circle, pen-tool, play, play-circle, plus, plus-circle, plus-square, pocket, power, radio, rewind, rss, save, search, send, settings, shield, shield-off, shopping-bag, shopping-cart, shuffle, skip-back, skip-forward, slash, sliders, smile, speaker, star, sun, sunrise, sunset, tag, target, terminal, thumbs-down, thumbs-up, toggle-left, toggle-right, trash, trash-2, triangle, truck, twitter, umbrella, video-off, video, voicemail, volume, volume-1, volume-2, volume-x, watch, wind, x-circle, x-octagon, x-square, x, youtube, zap-off, zap, default */function(e){e.exports={activity:[\"pulse\",\"health\",\"action\",\"motion\"],airplay:[\"stream\",\"cast\",\"mirroring\"],\"alert-circle\":[\"warning\"],\"alert-octagon\":[\"warning\"],\"alert-triangle\":[\"warning\"],\"at-sign\":[\"mention\"],award:[\"achievement\",\"badge\"],aperture:[\"camera\",\"photo\"],bell:[\"alarm\",\"notification\"],\"bell-off\":[\"alarm\",\"notification\",\"silent\"],bluetooth:[\"wireless\"],\"book-open\":[\"read\"],book:[\"read\",\"dictionary\",\"booklet\",\"magazine\"],bookmark:[\"read\",\"clip\",\"marker\",\"tag\"],briefcase:[\"work\",\"bag\",\"baggage\",\"folder\"],clipboard:[\"copy\"],clock:[\"time\",\"watch\",\"alarm\"],\"cloud-drizzle\":[\"weather\",\"shower\"],\"cloud-lightning\":[\"weather\",\"bolt\"],\"cloud-rain\":[\"weather\"],\"cloud-snow\":[\"weather\",\"blizzard\"],cloud:[\"weather\"],codepen:[\"logo\"],codesandbox:[\"logo\"],coffee:[\"drink\",\"cup\",\"mug\",\"tea\",\"cafe\",\"hot\",\"beverage\"],command:[\"keyboard\",\"cmd\"],compass:[\"navigation\",\"safari\",\"travel\"],copy:[\"clone\",\"duplicate\"],\"corner-down-left\":[\"arrow\"],\"corner-down-right\":[\"arrow\"],\"corner-left-down\":[\"arrow\"],\"corner-left-up\":[\"arrow\"],\"corner-right-down\":[\"arrow\"],\"corner-right-up\":[\"arrow\"],\"corner-up-left\":[\"arrow\"],\"corner-up-right\":[\"arrow\"],\"credit-card\":[\"purchase\",\"payment\",\"cc\"],crop:[\"photo\",\"image\"],crosshair:[\"aim\",\"target\"],database:[\"storage\"],delete:[\"remove\"],disc:[\"album\",\"cd\",\"dvd\",\"music\"],\"dollar-sign\":[\"currency\",\"money\",\"payment\"],droplet:[\"water\"],edit:[\"pencil\",\"change\"],\"edit-2\":[\"pencil\",\"change\"],\"edit-3\":[\"pencil\",\"change\"],eye:[\"view\",\"watch\"],\"eye-off\":[\"view\",\"watch\"],\"external-link\":[\"outbound\"],facebook:[\"logo\"],\"fast-forward\":[\"music\"],figma:[\"logo\",\"design\",\"tool\"],film:[\"movie\",\"video\"],\"folder-minus\":[\"directory\"],\"folder-plus\":[\"directory\"],folder:[\"directory\"],frown:[\"emoji\",\"face\",\"bad\",\"sad\",\"emotion\"],gift:[\"present\",\"box\",\"birthday\",\"party\"],\"git-branch\":[\"code\",\"version control\"],\"git-commit\":[\"code\",\"version control\"],\"git-merge\":[\"code\",\"version control\"],\"git-pull-request\":[\"code\",\"version control\"],github:[\"logo\",\"version control\"],gitlab:[\"logo\",\"version control\"],global:[\"world\",\"browser\",\"language\",\"translate\"],\"hard-drive\":[\"computer\",\"server\"],hash:[\"hashtag\",\"number\",\"pound\"],headphones:[\"music\",\"audio\"],heart:[\"like\",\"love\"],\"help-circle\":[\"question mark\"],hexagon:[\"shape\",\"node.js\",\"logo\"],home:[\"house\"],image:[\"picture\"],inbox:[\"email\"],instagram:[\"logo\",\"camera\"],key:[\"password\",\"login\",\"authentication\"],\"life-bouy\":[\"help\",\"life ring\",\"support\"],linkedin:[\"logo\"],lock:[\"security\",\"password\"],\"log-in\":[\"sign in\",\"arrow\"],\"log-out\":[\"sign out\",\"arrow\"],mail:[\"email\"],\"map-pin\":[\"location\",\"navigation\",\"travel\",\"marker\"],map:[\"location\",\"navigation\",\"travel\"],maximize:[\"fullscreen\"],\"maximize-2\":[\"fullscreen\",\"arrows\"],meh:[\"emoji\",\"face\",\"neutral\",\"emotion\"],menu:[\"bars\",\"navigation\",\"hamburger\"],\"message-circle\":[\"comment\",\"chat\"],\"message-square\":[\"comment\",\"chat\"],\"mic-off\":[\"record\"],mic:[\"record\"],minimize:[\"exit fullscreen\"],\"minimize-2\":[\"exit fullscreen\",\"arrows\"],monitor:[\"tv\"],moon:[\"dark\",\"night\"],\"more-horizontal\":[\"ellipsis\"],\"more-vertical\":[\"ellipsis\"],\"mouse-pointer\":[\"arrow\",\"cursor\"],move:[\"arrows\"],navigation:[\"location\",\"travel\"],\"navigation-2\":[\"location\",\"travel\"],octagon:[\"stop\"],package:[\"box\"],paperclip:[\"attachment\"],pause:[\"music\",\"stop\"],\"pause-circle\":[\"music\",\"stop\"],\"pen-tool\":[\"vector\",\"drawing\"],play:[\"music\",\"start\"],\"play-circle\":[\"music\",\"start\"],plus:[\"add\",\"new\"],\"plus-circle\":[\"add\",\"new\"],\"plus-square\":[\"add\",\"new\"],pocket:[\"logo\",\"save\"],power:[\"on\",\"off\"],radio:[\"signal\"],rewind:[\"music\"],rss:[\"feed\",\"subscribe\"],save:[\"floppy disk\"],search:[\"find\",\"magnifier\",\"magnifying glass\"],send:[\"message\",\"mail\",\"paper airplane\"],settings:[\"cog\",\"edit\",\"gear\",\"preferences\"],shield:[\"security\"],\"shield-off\":[\"security\"],\"shopping-bag\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],\"shopping-cart\":[\"ecommerce\",\"cart\",\"purchase\",\"store\"],shuffle:[\"music\"],\"skip-back\":[\"music\"],\"skip-forward\":[\"music\"],slash:[\"ban\",\"no\"],sliders:[\"settings\",\"controls\"],smile:[\"emoji\",\"face\",\"happy\",\"good\",\"emotion\"],speaker:[\"music\"],star:[\"bookmark\",\"favorite\",\"like\"],sun:[\"brightness\",\"weather\",\"light\"],sunrise:[\"weather\"],sunset:[\"weather\"],tag:[\"label\"],target:[\"bullseye\"],terminal:[\"code\",\"command line\"],\"thumbs-down\":[\"dislike\",\"bad\"],\"thumbs-up\":[\"like\",\"good\"],\"toggle-left\":[\"on\",\"off\",\"switch\"],\"toggle-right\":[\"on\",\"off\",\"switch\"],trash:[\"garbage\",\"delete\",\"remove\"],\"trash-2\":[\"garbage\",\"delete\",\"remove\"],triangle:[\"delta\"],truck:[\"delivery\",\"van\",\"shipping\"],twitter:[\"logo\"],umbrella:[\"rain\",\"weather\"],\"video-off\":[\"camera\",\"movie\",\"film\"],video:[\"camera\",\"movie\",\"film\"],voicemail:[\"phone\"],volume:[\"music\",\"sound\",\"mute\"],\"volume-1\":[\"music\",\"sound\"],\"volume-2\":[\"music\",\"sound\"],\"volume-x\":[\"music\",\"sound\",\"mute\"],watch:[\"clock\",\"time\"],wind:[\"weather\",\"air\"],\"x-circle\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],\"x-octagon\":[\"delete\",\"stop\",\"alert\",\"warning\",\"times\"],\"x-square\":[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],x:[\"cancel\",\"close\",\"delete\",\"remove\",\"times\"],youtube:[\"logo\",\"video\",\"play\"],\"zap-off\":[\"flash\",\"camera\",\"lightning\"],zap:[\"flash\",\"camera\",\"lightning\"]}},\"./src/to-svg.js\":\n/*!***********************!*\\\n  !*** ./src/to-svg.js ***!\n  \\***********************/\n/*! no static exports found */function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r,o=n(/*! ./icons */\"./src/icons.js\"),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn(\"feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead.\"),!e)throw new Error(\"The required `key` (icon name) parameter is missing.\");if(!i.default[e])throw new Error(\"No icon matching '\"+e+\"'. See the complete list of icons at https://feathericons.com\");return i.default[e].toSvg(t)}},0:\n/*!**************************************************!*\\\n  !*** multi core-js/fn/array/from ./src/index.js ***!\n  \\**************************************************/\n/*! no static exports found */function(e,t,n){n(/*! core-js/fn/array/from */\"./node_modules/core-js/fn/array/from.js\"),e.exports=n(/*! /home/travis/build/feathericons/feather/src/index.js */\"./src/index.js\")}})},e.exports=r()},function(e,t,n){(function(t){e.exports=t.$=n(26)}).call(this,n(2))},function(e,t,n){var r;\n/*!\n * jQuery JavaScript Library v3.3.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2018-01-20T17:24Z\n */\n/*!\n * jQuery JavaScript Library v3.3.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2018-01-20T17:24Z\n */\n!function(t,n){\"use strict\";\"object\"==typeof e&&\"object\"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return n(e)}:n(t)}(\"undefined\"!=typeof window?window:this,function(n,o){\"use strict\";var i=[],l=n.document,a=Object.getPrototypeOf,s=i.slice,c=i.concat,u=i.push,p=i.indexOf,d={},f=d.toString,h=d.hasOwnProperty,y=h.toString,x=y.call(Object),m={},g=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},v=function(e){return null!=e&&e===e.window},b={type:!0,src:!0,noModule:!0};function j(e,t,n){var r,o=(t=t||l).createElement(\"script\");if(o.text=e,n)for(r in b)n[r]&&(o[r]=n[r]);t.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?d[f.call(e)]||\"object\":typeof e}var _=function(e,t){return new _.fn.init(e,t)},M=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;function k(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!g(e)&&!v(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&t>0&&t-1 in e)}_.fn=_.prototype={jquery:\"3.3.1\",constructor:_,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=_.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return _.each(this,e)},map:function(e){return this.pushStack(_.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:i.sort,splice:i.splice},_.extend=_.fn.extend=function(){var e,t,n,r,o,i,l=arguments[0]||{},a=1,s=arguments.length,c=!1;for(\"boolean\"==typeof l&&(c=l,l=arguments[a]||{},a++),\"object\"==typeof l||g(l)||(l={}),a===s&&(l=this,a--);a<s;a++)if(null!=(e=arguments[a]))for(t in e)n=l[t],l!==(r=e[t])&&(c&&r&&(_.isPlainObject(r)||(o=Array.isArray(r)))?(o?(o=!1,i=n&&Array.isArray(n)?n:[]):i=n&&_.isPlainObject(n)?n:{},l[t]=_.extend(c,i,r)):void 0!==r&&(l[t]=r));return l},_.extend({expando:\"jQuery\"+(\"3.3.1\"+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==f.call(e))&&(!(t=a(e))||\"function\"==typeof(n=h.call(t,\"constructor\")&&t.constructor)&&y.call(n)===x)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){j(e)},each:function(e,t){var n,r=0;if(k(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?\"\":(e+\"\").replace(M,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(k(Object(e))?_.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:p.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,o=e.length;r<n;r++)e[o++]=t[r];return e.length=o,e},grep:function(e,t,n){for(var r=[],o=0,i=e.length,l=!n;o<i;o++)!t(e[o],o)!==l&&r.push(e[o]);return r},map:function(e,t,n){var r,o,i=0,l=[];if(k(e))for(r=e.length;i<r;i++)null!=(o=t(e[i],i,n))&&l.push(o);else for(i in e)null!=(o=t(e[i],i,n))&&l.push(o);return c.apply([],l)},guid:1,support:m}),\"function\"==typeof Symbol&&(_.fn[Symbol.iterator]=i[Symbol.iterator]),_.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){d[\"[object \"+t+\"]\"]=t.toLowerCase()});var T=\n/*!\n * Sizzle CSS Selector Engine v2.3.3\n * https://sizzlejs.com/\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license\n * http://jquery.org/license\n *\n * Date: 2016-08-08\n */\nfunction(e){var t,n,r,o,i,l,a,s,c,u,p,d,f,h,y,x,m,g,v,b=\"sizzle\"+1*new Date,j=e.document,w=0,_=0,M=le(),k=le(),T=le(),A=function(e,t){return e===t&&(p=!0),0},S={}.hasOwnProperty,C=[],E=C.pop,H=C.push,N=C.push,L=C.slice,D=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},O=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",z=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",q=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",P=\"\\\\[\"+z+\"*(\"+q+\")(?:\"+z+\"*([*^$|!~]?=)\"+z+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+q+\"))|)\"+z+\"*\\\\]\",R=\":(\"+q+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+P+\")*)|.*)\\\\)|)\",I=new RegExp(z+\"+\",\"g\"),V=new RegExp(\"^\"+z+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+z+\"+$\",\"g\"),F=new RegExp(\"^\"+z+\"*,\"+z+\"*\"),$=new RegExp(\"^\"+z+\"*([>+~]|\"+z+\")\"+z+\"*\"),W=new RegExp(\"=\"+z+\"*([^\\\\]'\\\"]*?)\"+z+\"*\\\\]\",\"g\"),B=new RegExp(R),U=new RegExp(\"^\"+q+\"$\"),X={ID:new RegExp(\"^#(\"+q+\")\"),CLASS:new RegExp(\"^\\\\.(\"+q+\")\"),TAG:new RegExp(\"^(\"+q+\"|[*])\"),ATTR:new RegExp(\"^\"+P),PSEUDO:new RegExp(\"^\"+R),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+z+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+z+\"*(?:([+-]|)\"+z+\"*(\\\\d+)|))\"+z+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+O+\")$\",\"i\"),needsContext:new RegExp(\"^\"+z+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+z+\"*((?:-\\\\d)?\\\\d*)\"+z+\"*\\\\)|)(?=[^-]|$)\",\"i\")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\\d$/i,Q=/^[^{]+\\{\\s*\\[native \\w/,J=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,K=/[+~]/,Z=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+z+\"?|(\"+z+\")|.)\",\"ig\"),ee=function(e,t,n){var r=\"0x\"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ne=function(e,t){return t?\"\\0\"===e?\"�\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},re=function(){d()},oe=ge(function(e){return!0===e.disabled&&(\"form\"in e||\"label\"in e)},{dir:\"parentNode\",next:\"legend\"});try{N.apply(C=L.call(j.childNodes),j.childNodes),C[j.childNodes.length].nodeType}catch(e){N={apply:C.length?function(e,t){H.apply(e,L.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function ie(e,t,r,o){var i,a,c,u,p,h,m,g=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],\"string\"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!o&&((t?t.ownerDocument||t:j)!==f&&d(t),t=t||f,y)){if(11!==w&&(p=J.exec(e)))if(i=p[1]){if(9===w){if(!(c=t.getElementById(i)))return r;if(c.id===i)return r.push(c),r}else if(g&&(c=g.getElementById(i))&&v(t,c)&&c.id===i)return r.push(c),r}else{if(p[2])return N.apply(r,t.getElementsByTagName(e)),r;if((i=p[3])&&n.getElementsByClassName&&t.getElementsByClassName)return N.apply(r,t.getElementsByClassName(i)),r}if(n.qsa&&!T[e+\" \"]&&(!x||!x.test(e))){if(1!==w)g=t,m=e;else if(\"object\"!==t.nodeName.toLowerCase()){for((u=t.getAttribute(\"id\"))?u=u.replace(te,ne):t.setAttribute(\"id\",u=b),a=(h=l(e)).length;a--;)h[a]=\"#\"+u+\" \"+me(h[a]);m=h.join(\",\"),g=K.test(e)&&ye(t.parentNode)||t}if(m)try{return N.apply(r,g.querySelectorAll(m)),r}catch(e){}finally{u===b&&t.removeAttribute(\"id\")}}}return s(e.replace(V,\"$1\"),t,r,o)}function le(){var e=[];return function t(n,o){return e.push(n+\" \")>r.cacheLength&&delete t[e.shift()],t[n+\" \"]=o}}function ae(e){return e[b]=!0,e}function se(e){var t=f.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ce(e,t){for(var n=e.split(\"|\"),o=n.length;o--;)r.attrHandle[n[o]]=t}function ue(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pe(e){return function(t){return\"input\"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function fe(e){return function(t){return\"form\"in t?t.parentNode&&!1===t.disabled?\"label\"in t?\"label\"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&oe(t)===e:t.disabled===e:\"label\"in t&&t.disabled===e}}function he(e){return ae(function(t){return t=+t,ae(function(n,r){for(var o,i=e([],n.length,t),l=i.length;l--;)n[o=i[l]]&&(n[o]=!(r[o]=n[o]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=ie.support={},i=ie.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},d=ie.setDocument=function(e){var t,o,l=e?e.ownerDocument||e:j;return l!==f&&9===l.nodeType&&l.documentElement?(h=(f=l).documentElement,y=!i(f),j!==f&&(o=f.defaultView)&&o.top!==o&&(o.addEventListener?o.addEventListener(\"unload\",re,!1):o.attachEvent&&o.attachEvent(\"onunload\",re)),n.attributes=se(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),n.getElementsByTagName=se(function(e){return e.appendChild(f.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),n.getElementsByClassName=Q.test(f.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=b,!f.getElementsByName||!f.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute(\"id\")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&y){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode(\"id\");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&y){var n,r,o,i=t.getElementById(e);if(i){if((n=i.getAttributeNode(\"id\"))&&n.value===e)return[i];for(o=t.getElementsByName(e),r=0;i=o[r++];)if((n=i.getAttributeNode(\"id\"))&&n.value===e)return[i]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if(\"*\"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&y)return t.getElementsByClassName(e)},m=[],x=[],(n.qsa=Q.test(f.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML=\"<a id='\"+b+\"'></a><select id='\"+b+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&x.push(\"[*^$]=\"+z+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||x.push(\"\\\\[\"+z+\"*(?:value|\"+O+\")\"),e.querySelectorAll(\"[id~=\"+b+\"-]\").length||x.push(\"~=\"),e.querySelectorAll(\":checked\").length||x.push(\":checked\"),e.querySelectorAll(\"a#\"+b+\"+*\").length||x.push(\".#.+[+~]\")}),se(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=f.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&x.push(\"name\"+z+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&x.push(\":enabled\",\":disabled\"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&x.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),x.push(\",.*:\")})),(n.matchesSelector=Q.test(g=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=g.call(e,\"*\"),g.call(e,\"[s!='']:x\"),m.push(\"!=\",R)}),x=x.length&&new RegExp(x.join(\"|\")),m=m.length&&new RegExp(m.join(\"|\")),t=Q.test(h.compareDocumentPosition),v=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return p=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===f||e.ownerDocument===j&&v(j,e)?-1:t===f||t.ownerDocument===j&&v(j,t)?1:u?D(u,e)-D(u,t):0:4&r?-1:1)}:function(e,t){if(e===t)return p=!0,0;var n,r=0,o=e.parentNode,i=t.parentNode,l=[e],a=[t];if(!o||!i)return e===f?-1:t===f?1:o?-1:i?1:u?D(u,e)-D(u,t):0;if(o===i)return ue(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)a.unshift(n);for(;l[r]===a[r];)r++;return r?ue(l[r],a[r]):l[r]===j?-1:a[r]===j?1:0},f):f},ie.matches=function(e,t){return ie(e,null,null,t)},ie.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&d(e),t=t.replace(W,\"='$1']\"),n.matchesSelector&&y&&!T[t+\" \"]&&(!m||!m.test(t))&&(!x||!x.test(t)))try{var r=g.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return ie(t,f,null,[e]).length>0},ie.contains=function(e,t){return(e.ownerDocument||e)!==f&&d(e),v(e,t)},ie.attr=function(e,t){(e.ownerDocument||e)!==f&&d(e);var o=r.attrHandle[t.toLowerCase()],i=o&&S.call(r.attrHandle,t.toLowerCase())?o(e,t,!y):void 0;return void 0!==i?i:n.attributes||!y?e.getAttribute(t):(i=e.getAttributeNode(t))&&i.specified?i.value:null},ie.escape=function(e){return(e+\"\").replace(te,ne)},ie.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},ie.uniqueSort=function(e){var t,r=[],o=0,i=0;if(p=!n.detectDuplicates,u=!n.sortStable&&e.slice(0),e.sort(A),p){for(;t=e[i++];)t===e[i]&&(o=r.push(i));for(;o--;)e.splice(r[o],1)}return u=null,e},o=ie.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(r=ie.selectors={cacheLength:50,createPseudo:ae,match:X,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||\"\").replace(Z,ee),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||ie.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&ie.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&B.test(n)&&(t=l(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=M[e+\" \"];return t||(t=new RegExp(\"(^|\"+z+\")\"+e+\"(\"+z+\"|$)\"))&&M(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(e,t,n){return function(r){var o=ie.attr(r,e);return null==o?\"!=\"===t:!t||(o+=\"\",\"=\"===t?o===n:\"!=\"===t?o!==n:\"^=\"===t?n&&0===o.indexOf(n):\"*=\"===t?n&&o.indexOf(n)>-1:\"$=\"===t?n&&o.slice(-n.length)===n:\"~=\"===t?(\" \"+o.replace(I,\" \")+\" \").indexOf(n)>-1:\"|=\"===t&&(o===n||o.slice(0,n.length+1)===n+\"-\"))}},CHILD:function(e,t,n,r,o){var i=\"nth\"!==e.slice(0,3),l=\"last\"!==e.slice(-4),a=\"of-type\"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,s){var c,u,p,d,f,h,y=i!==l?\"nextSibling\":\"previousSibling\",x=t.parentNode,m=a&&t.nodeName.toLowerCase(),g=!s&&!a,v=!1;if(x){if(i){for(;y;){for(d=t;d=d[y];)if(a?d.nodeName.toLowerCase()===m:1===d.nodeType)return!1;h=y=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[l?x.firstChild:x.lastChild],l&&g){for(v=(f=(c=(u=(p=(d=x)[b]||(d[b]={}))[d.uniqueID]||(p[d.uniqueID]={}))[e]||[])[0]===w&&c[1])&&c[2],d=f&&x.childNodes[f];d=++f&&d&&d[y]||(v=f=0)||h.pop();)if(1===d.nodeType&&++v&&d===t){u[e]=[w,f,v];break}}else if(g&&(v=f=(c=(u=(p=(d=t)[b]||(d[b]={}))[d.uniqueID]||(p[d.uniqueID]={}))[e]||[])[0]===w&&c[1]),!1===v)for(;(d=++f&&d&&d[y]||(v=f=0)||h.pop())&&((a?d.nodeName.toLowerCase()!==m:1!==d.nodeType)||!++v||(g&&((u=(p=d[b]||(d[b]={}))[d.uniqueID]||(p[d.uniqueID]={}))[e]=[w,v]),d!==t)););return(v-=o)===r||v%r==0&&v/r>=0}}},PSEUDO:function(e,t){var n,o=r.pseudos[e]||r.setFilters[e.toLowerCase()]||ie.error(\"unsupported pseudo: \"+e);return o[b]?o(t):o.length>1?(n=[e,e,\"\",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ae(function(e,n){for(var r,i=o(e,t),l=i.length;l--;)e[r=D(e,i[l])]=!(n[r]=i[l])}):function(e){return o(e,0,n)}):o}},pseudos:{not:ae(function(e){var t=[],n=[],r=a(e.replace(V,\"$1\"));return r[b]?ae(function(e,t,n,o){for(var i,l=r(e,null,o,[]),a=e.length;a--;)(i=l[a])&&(e[a]=!(t[a]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),t[0]=null,!n.pop()}}),has:ae(function(e){return function(t){return ie(e,t).length>0}}),contains:ae(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ae(function(e){return U.test(e||\"\")||ie.error(\"unsupported lang: \"+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=y?t.lang:t.getAttribute(\"xml:lang\")||t.getAttribute(\"lang\"))return(n=n.toLowerCase())===e||0===n.indexOf(e+\"-\")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:fe(!1),disabled:fe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=pe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=de(t);function xe(){}function me(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function ge(e,t,n){var r=t.dir,o=t.next,i=o||r,l=n&&\"parentNode\"===i,a=_++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||l)return e(t,n,o);return!1}:function(t,n,s){var c,u,p,d=[w,a];if(s){for(;t=t[r];)if((1===t.nodeType||l)&&e(t,n,s))return!0}else for(;t=t[r];)if(1===t.nodeType||l)if(u=(p=t[b]||(t[b]={}))[t.uniqueID]||(p[t.uniqueID]={}),o&&o===t.nodeName.toLowerCase())t=t[r]||t;else{if((c=u[i])&&c[0]===w&&c[1]===a)return d[2]=c[2];if(u[i]=d,d[2]=e(t,n,s))return!0}return!1}}function ve(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function be(e,t,n,r,o){for(var i,l=[],a=0,s=e.length,c=null!=t;a<s;a++)(i=e[a])&&(n&&!n(i,r,o)||(l.push(i),c&&t.push(a)));return l}function je(e,t,n,r,o,i){return r&&!r[b]&&(r=je(r)),o&&!o[b]&&(o=je(o,i)),ae(function(i,l,a,s){var c,u,p,d=[],f=[],h=l.length,y=i||function(e,t,n){for(var r=0,o=t.length;r<o;r++)ie(e,t[r],n);return n}(t||\"*\",a.nodeType?[a]:a,[]),x=!e||!i&&t?y:be(y,d,e,a,s),m=n?o||(i?e:h||r)?[]:l:x;if(n&&n(x,m,a,s),r)for(c=be(m,f),r(c,[],a,s),u=c.length;u--;)(p=c[u])&&(m[f[u]]=!(x[f[u]]=p));if(i){if(o||e){if(o){for(c=[],u=m.length;u--;)(p=m[u])&&c.push(x[u]=p);o(null,m=[],c,s)}for(u=m.length;u--;)(p=m[u])&&(c=o?D(i,p):d[u])>-1&&(i[c]=!(l[c]=p))}}else m=be(m===l?m.splice(h,m.length):m),o?o(null,l,m,s):N.apply(l,m)})}function we(e){for(var t,n,o,i=e.length,l=r.relative[e[0].type],a=l||r.relative[\" \"],s=l?1:0,u=ge(function(e){return e===t},a,!0),p=ge(function(e){return D(t,e)>-1},a,!0),d=[function(e,n,r){var o=!l&&(r||n!==c)||((t=n).nodeType?u(e,n,r):p(e,n,r));return t=null,o}];s<i;s++)if(n=r.relative[e[s].type])d=[ge(ve(d),n)];else{if((n=r.filter[e[s].type].apply(null,e[s].matches))[b]){for(o=++s;o<i&&!r.relative[e[o].type];o++);return je(s>1&&ve(d),s>1&&me(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(V,\"$1\"),n,s<o&&we(e.slice(s,o)),o<i&&we(e=e.slice(o)),o<i&&me(e))}d.push(n)}return ve(d)}return xe.prototype=r.filters=r.pseudos,r.setFilters=new xe,l=ie.tokenize=function(e,t){var n,o,i,l,a,s,c,u=k[e+\" \"];if(u)return t?0:u.slice(0);for(a=e,s=[],c=r.preFilter;a;){for(l in n&&!(o=F.exec(a))||(o&&(a=a.slice(o[0].length)||a),s.push(i=[])),n=!1,(o=$.exec(a))&&(n=o.shift(),i.push({value:n,type:o[0].replace(V,\" \")}),a=a.slice(n.length)),r.filter)!(o=X[l].exec(a))||c[l]&&!(o=c[l](o))||(n=o.shift(),i.push({value:n,type:l,matches:o}),a=a.slice(n.length));if(!n)break}return t?a.length:a?ie.error(e):k(e,s).slice(0)},a=ie.compile=function(e,t){var n,o=[],i=[],a=T[e+\" \"];if(!a){for(t||(t=l(e)),n=t.length;n--;)(a=we(t[n]))[b]?o.push(a):i.push(a);(a=T(e,function(e,t){var n=t.length>0,o=e.length>0,i=function(i,l,a,s,u){var p,h,x,m=0,g=\"0\",v=i&&[],b=[],j=c,_=i||o&&r.find.TAG(\"*\",u),M=w+=null==j?1:Math.random()||.1,k=_.length;for(u&&(c=l===f||l||u);g!==k&&null!=(p=_[g]);g++){if(o&&p){for(h=0,l||p.ownerDocument===f||(d(p),a=!y);x=e[h++];)if(x(p,l||f,a)){s.push(p);break}u&&(w=M)}n&&((p=!x&&p)&&m--,i&&v.push(p))}if(m+=g,n&&g!==m){for(h=0;x=t[h++];)x(v,b,l,a);if(i){if(m>0)for(;g--;)v[g]||b[g]||(b[g]=E.call(s));b=be(b)}N.apply(s,b),u&&!i&&b.length>0&&m+t.length>1&&ie.uniqueSort(s)}return u&&(w=M,c=j),v};return n?ae(i):i}(i,o))).selector=e}return a},s=ie.select=function(e,t,n,o){var i,s,c,u,p,d=\"function\"==typeof e&&e,f=!o&&l(e=d.selector||e);if(n=n||[],1===f.length){if((s=f[0]=f[0].slice(0)).length>2&&\"ID\"===(c=s[0]).type&&9===t.nodeType&&y&&r.relative[s[1].type]){if(!(t=(r.find.ID(c.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}for(i=X.needsContext.test(e)?0:s.length;i--&&(c=s[i],!r.relative[u=c.type]);)if((p=r.find[u])&&(o=p(c.matches[0].replace(Z,ee),K.test(s[0].type)&&ye(t.parentNode)||t))){if(s.splice(i,1),!(e=o.length&&me(s)))return N.apply(n,o),n;break}}return(d||a(e,f))(o,t,!y,n,!t||K.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split(\"\").sort(A).join(\"\")===b,n.detectDuplicates=!!p,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(f.createElement(\"fieldset\"))}),se(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||ce(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||ce(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute(\"disabled\")})||ce(O,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),ie}(n);_.find=T,_.expr=T.selectors,_.expr[\":\"]=_.expr.pseudos,_.uniqueSort=_.unique=T.uniqueSort,_.text=T.getText,_.isXMLDoc=T.isXML,_.contains=T.contains,_.escapeSelector=T.escape;var A=function(e,t,n){for(var r=[],o=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(o&&_(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},C=_.expr.match.needsContext;function E(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var H=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function N(e,t,n){return g(t)?_.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?_.grep(e,function(e){return e===t!==n}):\"string\"!=typeof t?_.grep(e,function(e){return p.call(t,e)>-1!==n}):_.filter(t,e,n)}_.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?_.find.matchesSelector(r,e)?[r]:[]:_.find.matches(e,_.grep(t,function(e){return 1===e.nodeType}))},_.fn.extend({find:function(e){var t,n,r=this.length,o=this;if(\"string\"!=typeof e)return this.pushStack(_(e).filter(function(){for(t=0;t<r;t++)if(_.contains(o[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)_.find(e,o[t],n);return r>1?_.uniqueSort(n):n},filter:function(e){return this.pushStack(N(this,e||[],!1))},not:function(e){return this.pushStack(N(this,e||[],!0))},is:function(e){return!!N(this,\"string\"==typeof e&&C.test(e)?_(e):e||[],!1).length}});var L,D=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(_.fn.init=function(e,t,n){var r,o;if(!e)return this;if(n=n||L,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&e.length>=3?[null,e,null]:D.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof _?t[0]:t,_.merge(this,_.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:l,!0)),H.test(r[1])&&_.isPlainObject(t))for(r in t)g(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(o=l.getElementById(r[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(_):_.makeArray(e,this)}).prototype=_.fn,L=_(l);var O=/^(?:parents|prev(?:Until|All))/,z={children:!0,contents:!0,next:!0,prev:!0};function q(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}_.fn.extend({has:function(e){var t=_(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(_.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,o=this.length,i=[],l=\"string\"!=typeof e&&_(e);if(!C.test(e))for(;r<o;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(l?l.index(n)>-1:1===n.nodeType&&_.find.matchesSelector(n,e))){i.push(n);break}return this.pushStack(i.length>1?_.uniqueSort(i):i)},index:function(e){return e?\"string\"==typeof e?p.call(_(e),this[0]):p.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(_.uniqueSort(_.merge(this.get(),_(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),_.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return A(e,\"parentNode\")},parentsUntil:function(e,t,n){return A(e,\"parentNode\",n)},next:function(e){return q(e,\"nextSibling\")},prev:function(e){return q(e,\"previousSibling\")},nextAll:function(e){return A(e,\"nextSibling\")},prevAll:function(e){return A(e,\"previousSibling\")},nextUntil:function(e,t,n){return A(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return A(e,\"previousSibling\",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return E(e,\"iframe\")?e.contentDocument:(E(e,\"template\")&&(e=e.content||e),_.merge([],e.childNodes))}},function(e,t){_.fn[e]=function(n,r){var o=_.map(this,t,n);return\"Until\"!==e.slice(-5)&&(r=n),r&&\"string\"==typeof r&&(o=_.filter(r,o)),this.length>1&&(z[e]||_.uniqueSort(o),O.test(e)&&o.reverse()),this.pushStack(o)}});var P=/[^\\x20\\t\\r\\n\\f]+/g;function R(e){return e}function I(e){throw e}function V(e,t,n,r){var o;try{e&&g(o=e.promise)?o.call(e).done(t).fail(n):e&&g(o=e.then)?o.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}_.Callbacks=function(e){e=\"string\"==typeof e?function(e){var t={};return _.each(e.match(P)||[],function(e,n){t[n]=!0}),t}(e):_.extend({},e);var t,n,r,o,i=[],l=[],a=-1,s=function(){for(o=o||e.once,r=t=!0;l.length;a=-1)for(n=l.shift();++a<i.length;)!1===i[a].apply(n[0],n[1])&&e.stopOnFalse&&(a=i.length,n=!1);e.memory||(n=!1),t=!1,o&&(i=n?[]:\"\")},c={add:function(){return i&&(n&&!t&&(a=i.length-1,l.push(n)),function t(n){_.each(n,function(n,r){g(r)?e.unique&&c.has(r)||i.push(r):r&&r.length&&\"string\"!==w(r)&&t(r)})}(arguments),n&&!t&&s()),this},remove:function(){return _.each(arguments,function(e,t){for(var n;(n=_.inArray(t,i,n))>-1;)i.splice(n,1),n<=a&&a--}),this},has:function(e){return e?_.inArray(e,i)>-1:i.length>0},empty:function(){return i&&(i=[]),this},disable:function(){return o=l=[],i=n=\"\",this},disabled:function(){return!i},lock:function(){return o=l=[],n||t||(i=n=\"\"),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=[e,(n=n||[]).slice?n.slice():n],l.push(n),t||s()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},_.extend({Deferred:function(e){var t=[[\"notify\",\"progress\",_.Callbacks(\"memory\"),_.Callbacks(\"memory\"),2],[\"resolve\",\"done\",_.Callbacks(\"once memory\"),_.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",_.Callbacks(\"once memory\"),_.Callbacks(\"once memory\"),1,\"rejected\"]],r=\"pending\",o={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},catch:function(e){return o.then(null,e)},pipe:function(){var e=arguments;return _.Deferred(function(n){_.each(t,function(t,r){var o=g(e[r[4]])&&e[r[4]];i[r[1]](function(){var e=o&&o.apply(this,arguments);e&&g(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[r[0]+\"With\"](this,o?[e]:arguments)})}),e=null}).promise()},then:function(e,r,o){var i=0;function l(e,t,r,o){return function(){var a=this,s=arguments,c=function(){var n,c;if(!(e<i)){if((n=r.apply(a,s))===t.promise())throw new TypeError(\"Thenable self-resolution\");c=n&&(\"object\"==typeof n||\"function\"==typeof n)&&n.then,g(c)?o?c.call(n,l(i,t,R,o),l(i,t,I,o)):(i++,c.call(n,l(i,t,R,o),l(i,t,I,o),l(i,t,R,t.notifyWith))):(r!==R&&(a=void 0,s=[n]),(o||t.resolveWith)(a,s))}},u=o?c:function(){try{c()}catch(n){_.Deferred.exceptionHook&&_.Deferred.exceptionHook(n,u.stackTrace),e+1>=i&&(r!==I&&(a=void 0,s=[n]),t.rejectWith(a,s))}};e?u():(_.Deferred.getStackHook&&(u.stackTrace=_.Deferred.getStackHook()),n.setTimeout(u))}}return _.Deferred(function(n){t[0][3].add(l(0,n,g(o)?o:R,n.notifyWith)),t[1][3].add(l(0,n,g(e)?e:R)),t[2][3].add(l(0,n,g(r)?r:I))}).promise()},promise:function(e){return null!=e?_.extend(e,o):o}},i={};return _.each(t,function(e,n){var l=n[2],a=n[5];o[n[1]]=l.add,a&&l.add(function(){r=a},t[3-e][2].disable,t[3-e][3].disable,t[0][2].lock,t[0][3].lock),l.add(n[3].fire),i[n[0]]=function(){return i[n[0]+\"With\"](this===i?void 0:this,arguments),this},i[n[0]+\"With\"]=l.fireWith}),o.promise(i),e&&e.call(i,i),i},when:function(e){var t=arguments.length,n=t,r=Array(n),o=s.call(arguments),i=_.Deferred(),l=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?s.call(arguments):n,--t||i.resolveWith(r,o)}};if(t<=1&&(V(e,i.done(l(n)).resolve,i.reject,!t),\"pending\"===i.state()||g(o[n]&&o[n].then)))return i.then();for(;n--;)V(o[n],l(n),i.reject);return i.promise()}});var F=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;_.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&F.test(e.name)&&n.console.warn(\"jQuery.Deferred exception: \"+e.message,e.stack,t)},_.readyException=function(e){n.setTimeout(function(){throw e})};var $=_.Deferred();function W(){l.removeEventListener(\"DOMContentLoaded\",W),n.removeEventListener(\"load\",W),_.ready()}_.fn.ready=function(e){return $.then(e).catch(function(e){_.readyException(e)}),this},_.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--_.readyWait:_.isReady)||(_.isReady=!0,!0!==e&&--_.readyWait>0||$.resolveWith(l,[_]))}}),_.ready.then=$.then,\"complete\"===l.readyState||\"loading\"!==l.readyState&&!l.documentElement.doScroll?n.setTimeout(_.ready):(l.addEventListener(\"DOMContentLoaded\",W),n.addEventListener(\"load\",W));var B=function(e,t,n,r,o,i,l){var a=0,s=e.length,c=null==n;if(\"object\"===w(n))for(a in o=!0,n)B(e,t,a,n[a],!0,i,l);else if(void 0!==r&&(o=!0,g(r)||(l=!0),c&&(l?(t.call(e,r),t=null):(c=t,t=function(e,t,n){return c.call(_(e),n)})),t))for(;a<s;a++)t(e[a],n,l?r:r.call(e[a],a,t(e[a],n)));return o?e:c?t.call(e):s?t(e[0],n):i},U=/^-ms-/,X=/-([a-z])/g;function G(e,t){return t.toUpperCase()}function Y(e){return e.replace(U,\"ms-\").replace(X,G)}var Q=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function J(){this.expando=_.expando+J.uid++}J.uid=1,J.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Q(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,o=this.cache(e);if(\"string\"==typeof t)o[Y(t)]=n;else for(r in t)o[Y(r)]=t[r];return o},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Y(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Y):(t=Y(t))in r?[t]:t.match(P)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||_.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!_.isEmptyObject(t)}};var K=new J,Z=new J,ee=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,te=/[A-Z]/g;function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(te,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=function(e){return\"true\"===e||\"false\"!==e&&(\"null\"===e?null:e===+e+\"\"?+e:ee.test(e)?JSON.parse(e):e)}(n)}catch(e){}Z.set(e,t,n)}else n=void 0;return n}_.extend({hasData:function(e){return Z.hasData(e)||K.hasData(e)},data:function(e,t,n){return Z.access(e,t,n)},removeData:function(e,t){Z.remove(e,t)},_data:function(e,t,n){return K.access(e,t,n)},_removeData:function(e,t){K.remove(e,t)}}),_.fn.extend({data:function(e,t){var n,r,o,i=this[0],l=i&&i.attributes;if(void 0===e){if(this.length&&(o=Z.get(i),1===i.nodeType&&!K.get(i,\"hasDataAttrs\"))){for(n=l.length;n--;)l[n]&&0===(r=l[n].name).indexOf(\"data-\")&&(r=Y(r.slice(5)),ne(i,r,o[r]));K.set(i,\"hasDataAttrs\",!0)}return o}return\"object\"==typeof e?this.each(function(){Z.set(this,e)}):B(this,function(t){var n;if(i&&void 0===t)return void 0!==(n=Z.get(i,e))?n:void 0!==(n=ne(i,e))?n:void 0;this.each(function(){Z.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Z.remove(this,e)})}}),_.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,_.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=_.queue(e,t),r=n.length,o=n.shift(),i=_._queueHooks(e,t);\"inprogress\"===o&&(o=n.shift(),r--),o&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete i.stop,o.call(e,function(){_.dequeue(e,t)},i)),!r&&i&&i.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return K.get(e,n)||K.access(e,n,{empty:_.Callbacks(\"once memory\").add(function(){K.remove(e,[t+\"queue\",n])})})}}),_.fn.extend({queue:function(e,t){var n=2;return\"string\"!=typeof e&&(t=e,e=\"fx\",n--),arguments.length<n?_.queue(this[0],e):void 0===t?this:this.each(function(){var n=_.queue(this,e,t);_._queueHooks(this,e),\"fx\"===e&&\"inprogress\"!==n[0]&&_.dequeue(this,e)})},dequeue:function(e){return this.each(function(){_.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,o=_.Deferred(),i=this,l=this.length,a=function(){--r||o.resolveWith(i,[i])};for(\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";l--;)(n=K.get(i[l],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(a));return a(),o.promise(t)}});var re=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,oe=new RegExp(\"^(?:([+-])=|)(\"+re+\")([a-z%]*)$\",\"i\"),ie=[\"Top\",\"Right\",\"Bottom\",\"Left\"],le=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&_.contains(e.ownerDocument,e)&&\"none\"===_.css(e,\"display\")},ae=function(e,t,n,r){var o,i,l={};for(i in t)l[i]=e.style[i],e.style[i]=t[i];for(i in o=n.apply(e,r||[]),t)e.style[i]=l[i];return o};function se(e,t,n,r){var o,i,l=20,a=r?function(){return r.cur()}:function(){return _.css(e,t,\"\")},s=a(),c=n&&n[3]||(_.cssNumber[t]?\"\":\"px\"),u=(_.cssNumber[t]||\"px\"!==c&&+s)&&oe.exec(_.css(e,t));if(u&&u[3]!==c){for(s/=2,c=c||u[3],u=+s||1;l--;)_.style(e,t,u+c),(1-i)*(1-(i=a()/s||.5))<=0&&(l=0),u/=i;u*=2,_.style(e,t,u+c),n=n||[]}return n&&(u=+u||+s||0,o=n[1]?u+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=u,r.end=o)),o}var ce={};function ue(e){var t,n=e.ownerDocument,r=e.nodeName,o=ce[r];return o||(t=n.body.appendChild(n.createElement(r)),o=_.css(t,\"display\"),t.parentNode.removeChild(t),\"none\"===o&&(o=\"block\"),ce[r]=o,o)}function pe(e,t){for(var n,r,o=[],i=0,l=e.length;i<l;i++)(r=e[i]).style&&(n=r.style.display,t?(\"none\"===n&&(o[i]=K.get(r,\"display\")||null,o[i]||(r.style.display=\"\")),\"\"===r.style.display&&le(r)&&(o[i]=ue(r))):\"none\"!==n&&(o[i]=\"none\",K.set(r,\"display\",n)));for(i=0;i<l;i++)null!=o[i]&&(e[i].style.display=o[i]);return e}_.fn.extend({show:function(){return pe(this,!0)},hide:function(){return pe(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){le(this)?_(this).show():_(this).hide()})}});var de=/^(?:checkbox|radio)$/i,fe=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]+)/i,he=/^$|^module$|\\/(?:java|ecma)script/i,ye={option:[1,\"<select multiple='multiple'>\",\"</select>\"],thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};function xe(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):void 0!==e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&E(e,t)?_.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n<r;n++)K.set(e[n],\"globalEval\",!t||K.get(t[n],\"globalEval\"))}ye.optgroup=ye.option,ye.tbody=ye.tfoot=ye.colgroup=ye.caption=ye.thead,ye.th=ye.td;var ge,ve,be=/<|&#?\\w+;/;function je(e,t,n,r,o){for(var i,l,a,s,c,u,p=t.createDocumentFragment(),d=[],f=0,h=e.length;f<h;f++)if((i=e[f])||0===i)if(\"object\"===w(i))_.merge(d,i.nodeType?[i]:i);else if(be.test(i)){for(l=l||p.appendChild(t.createElement(\"div\")),a=(fe.exec(i)||[\"\",\"\"])[1].toLowerCase(),s=ye[a]||ye._default,l.innerHTML=s[1]+_.htmlPrefilter(i)+s[2],u=s[0];u--;)l=l.lastChild;_.merge(d,l.childNodes),(l=p.firstChild).textContent=\"\"}else d.push(t.createTextNode(i));for(p.textContent=\"\",f=0;i=d[f++];)if(r&&_.inArray(i,r)>-1)o&&o.push(i);else if(c=_.contains(i.ownerDocument,i),l=xe(p.appendChild(i),\"script\"),c&&me(l),n)for(u=0;i=l[u++];)he.test(i.type||\"\")&&n.push(i);return p}ge=l.createDocumentFragment().appendChild(l.createElement(\"div\")),(ve=l.createElement(\"input\")).setAttribute(\"type\",\"radio\"),ve.setAttribute(\"checked\",\"checked\"),ve.setAttribute(\"name\",\"t\"),ge.appendChild(ve),m.checkClone=ge.cloneNode(!0).cloneNode(!0).lastChild.checked,ge.innerHTML=\"<textarea>x</textarea>\",m.noCloneChecked=!!ge.cloneNode(!0).lastChild.defaultValue;var we=l.documentElement,_e=/^key/,Me=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ke=/^([^.]*)(?:\\.(.+)|)/;function Te(){return!0}function Ae(){return!1}function Se(){try{return l.activeElement}catch(e){}}function Ce(e,t,n,r,o,i){var l,a;if(\"object\"==typeof t){for(a in\"string\"!=typeof n&&(r=r||n,n=void 0),t)Ce(e,a,n,r,t[a],i);return e}if(null==r&&null==o?(o=n,r=n=void 0):null==o&&(\"string\"==typeof n?(o=r,r=void 0):(o=r,r=n,n=void 0)),!1===o)o=Ae;else if(!o)return e;return 1===i&&(l=o,(o=function(e){return _().off(e),l.apply(this,arguments)}).guid=l.guid||(l.guid=_.guid++)),e.each(function(){_.event.add(this,t,o,r,n)})}_.event={global:{},add:function(e,t,n,r,o){var i,l,a,s,c,u,p,d,f,h,y,x=K.get(e);if(x)for(n.handler&&(n=(i=n).handler,o=i.selector),o&&_.find.matchesSelector(we,o),n.guid||(n.guid=_.guid++),(s=x.events)||(s=x.events={}),(l=x.handle)||(l=x.handle=function(t){return void 0!==_&&_.event.triggered!==t.type?_.event.dispatch.apply(e,arguments):void 0}),c=(t=(t||\"\").match(P)||[\"\"]).length;c--;)f=y=(a=ke.exec(t[c])||[])[1],h=(a[2]||\"\").split(\".\").sort(),f&&(p=_.event.special[f]||{},f=(o?p.delegateType:p.bindType)||f,p=_.event.special[f]||{},u=_.extend({type:f,origType:y,data:r,handler:n,guid:n.guid,selector:o,needsContext:o&&_.expr.match.needsContext.test(o),namespace:h.join(\".\")},i),(d=s[f])||((d=s[f]=[]).delegateCount=0,p.setup&&!1!==p.setup.call(e,r,h,l)||e.addEventListener&&e.addEventListener(f,l)),p.add&&(p.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),o?d.splice(d.delegateCount++,0,u):d.push(u),_.event.global[f]=!0)},remove:function(e,t,n,r,o){var i,l,a,s,c,u,p,d,f,h,y,x=K.hasData(e)&&K.get(e);if(x&&(s=x.events)){for(c=(t=(t||\"\").match(P)||[\"\"]).length;c--;)if(f=y=(a=ke.exec(t[c])||[])[1],h=(a[2]||\"\").split(\".\").sort(),f){for(p=_.event.special[f]||{},d=s[f=(r?p.delegateType:p.bindType)||f]||[],a=a[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),l=i=d.length;i--;)u=d[i],!o&&y!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||r&&r!==u.selector&&(\"**\"!==r||!u.selector)||(d.splice(i,1),u.selector&&d.delegateCount--,p.remove&&p.remove.call(e,u));l&&!d.length&&(p.teardown&&!1!==p.teardown.call(e,h,x.handle)||_.removeEvent(e,f,x.handle),delete s[f])}else for(f in s)_.event.remove(e,f+t[c],n,r,!0);_.isEmptyObject(s)&&K.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,o,i,l,a=_.event.fix(e),s=new Array(arguments.length),c=(K.get(this,\"events\")||{})[a.type]||[],u=_.event.special[a.type]||{};for(s[0]=a,t=1;t<arguments.length;t++)s[t]=arguments[t];if(a.delegateTarget=this,!u.preDispatch||!1!==u.preDispatch.call(this,a)){for(l=_.event.handlers.call(this,a,c),t=0;(o=l[t++])&&!a.isPropagationStopped();)for(a.currentTarget=o.elem,n=0;(i=o.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(i.namespace)||(a.handleObj=i,a.data=i.data,void 0!==(r=((_.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,s))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,o,i,l,a=[],s=t.delegateCount,c=e.target;if(s&&c.nodeType&&!(\"click\"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&(\"click\"!==e.type||!0!==c.disabled)){for(i=[],l={},n=0;n<s;n++)void 0===l[o=(r=t[n]).selector+\" \"]&&(l[o]=r.needsContext?_(o,this).index(c)>-1:_.find(o,this,null,[c]).length),l[o]&&i.push(r);i.length&&a.push({elem:c,handlers:i})}return c=this,s<t.length&&a.push({elem:c,handlers:t.slice(s)}),a},addProp:function(e,t){Object.defineProperty(_.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[_.expando]?e:new _.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:\"focusin\"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:\"focusout\"},click:{trigger:function(){if(\"checkbox\"===this.type&&this.click&&E(this,\"input\"))return this.click(),!1},_default:function(e){return E(e.target,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},_.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},_.Event=function(e,t){if(!(this instanceof _.Event))return new _.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Te:Ae,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&_.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[_.expando]=!0},_.Event.prototype={constructor:_.Event,isDefaultPrevented:Ae,isPropagationStopped:Ae,isImmediatePropagationStopped:Ae,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Te,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Te,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Te,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},_.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&_e.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Me.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},_.event.addProp),_.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,t){_.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,o=e.handleObj;return r&&(r===this||_.contains(this,r))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),_.fn.extend({on:function(e,t,n,r){return Ce(this,e,t,n,r)},one:function(e,t,n,r){return Ce(this,e,t,n,r,1)},off:function(e,t,n){var r,o;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,_(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(o in e)this.off(o,t,e[o]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ae),this.each(function(){_.event.remove(this,e,n,t)})}});var Ee=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,He=/<script|<style|<link/i,Ne=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Le=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function De(e,t){return E(e,\"table\")&&E(11!==t.nodeType?t:t.firstChild,\"tr\")&&_(e).children(\"tbody\")[0]||e}function Oe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function ze(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function qe(e,t){var n,r,o,i,l,a,s,c;if(1===t.nodeType){if(K.hasData(e)&&(i=K.access(e),l=K.set(t,i),c=i.events))for(o in delete l.handle,l.events={},c)for(n=0,r=c[o].length;n<r;n++)_.event.add(t,o,c[o][n]);Z.hasData(e)&&(a=Z.access(e),s=_.extend({},a),Z.set(t,s))}}function Pe(e,t,n,r){t=c.apply([],t);var o,i,l,a,s,u,p=0,d=e.length,f=d-1,h=t[0],y=g(h);if(y||d>1&&\"string\"==typeof h&&!m.checkClone&&Ne.test(h))return e.each(function(o){var i=e.eq(o);y&&(t[0]=h.call(this,o,i.html())),Pe(i,t,n,r)});if(d&&(i=(o=je(t,e[0].ownerDocument,!1,e,r)).firstChild,1===o.childNodes.length&&(o=i),i||r)){for(a=(l=_.map(xe(o,\"script\"),Oe)).length;p<d;p++)s=o,p!==f&&(s=_.clone(s,!0,!0),a&&_.merge(l,xe(s,\"script\"))),n.call(e[p],s,p);if(a)for(u=l[l.length-1].ownerDocument,_.map(l,ze),p=0;p<a;p++)s=l[p],he.test(s.type||\"\")&&!K.access(s,\"globalEval\")&&_.contains(u,s)&&(s.src&&\"module\"!==(s.type||\"\").toLowerCase()?_._evalUrl&&_._evalUrl(s.src):j(s.textContent.replace(Le,\"\"),u,s))}return e}function Re(e,t,n){for(var r,o=t?_.filter(t,e):e,i=0;null!=(r=o[i]);i++)n||1!==r.nodeType||_.cleanData(xe(r)),r.parentNode&&(n&&_.contains(r.ownerDocument,r)&&me(xe(r,\"script\")),r.parentNode.removeChild(r));return e}_.extend({htmlPrefilter:function(e){return e.replace(Ee,\"<$1></$2>\")},clone:function(e,t,n){var r,o,i,l,a,s,c,u=e.cloneNode(!0),p=_.contains(e.ownerDocument,e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||_.isXMLDoc(e)))for(l=xe(u),r=0,o=(i=xe(e)).length;r<o;r++)a=i[r],s=l[r],c=void 0,\"input\"===(c=s.nodeName.toLowerCase())&&de.test(a.type)?s.checked=a.checked:\"input\"!==c&&\"textarea\"!==c||(s.defaultValue=a.defaultValue);if(t)if(n)for(i=i||xe(e),l=l||xe(u),r=0,o=i.length;r<o;r++)qe(i[r],l[r]);else qe(e,u);return(l=xe(u,\"script\")).length>0&&me(l,!p&&xe(e,\"script\")),u},cleanData:function(e){for(var t,n,r,o=_.event.special,i=0;void 0!==(n=e[i]);i++)if(Q(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)o[r]?_.event.remove(n,r):_.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[Z.expando]&&(n[Z.expando]=void 0)}}}),_.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return B(this,function(e){return void 0===e?_.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(_.cleanData(xe(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return _.clone(this,e,t)})},html:function(e){return B(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!He.test(e)&&!ye[(fe.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=_.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(_.cleanData(xe(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Pe(this,arguments,function(t){var n=this.parentNode;_.inArray(this,e)<0&&(_.cleanData(xe(this)),n&&n.replaceChild(t,this))},e)}}),_.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,t){_.fn[e]=function(e){for(var n,r=[],o=_(e),i=o.length-1,l=0;l<=i;l++)n=l===i?this:this.clone(!0),_(o[l])[t](n),u.apply(r,n.get());return this.pushStack(r)}});var Ie=new RegExp(\"^(\"+re+\")(?!px)[a-z%]+$\",\"i\"),Ve=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)},Fe=new RegExp(ie.join(\"|\"),\"i\");function $e(e,t,n){var r,o,i,l,a=e.style;return(n=n||Ve(e))&&(\"\"!==(l=n.getPropertyValue(t)||n[t])||_.contains(e.ownerDocument,e)||(l=_.style(e,t)),!m.pixelBoxStyles()&&Ie.test(l)&&Fe.test(t)&&(r=a.width,o=a.minWidth,i=a.maxWidth,a.minWidth=a.maxWidth=a.width=l,l=n.width,a.width=r,a.minWidth=o,a.maxWidth=i)),void 0!==l?l+\"\":l}function We(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){c.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",u.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",we.appendChild(c).appendChild(u);var e=n.getComputedStyle(u);r=\"1%\"!==e.top,s=12===t(e.marginLeft),u.style.right=\"60%\",a=36===t(e.right),o=36===t(e.width),u.style.position=\"absolute\",i=36===u.offsetWidth||\"absolute\",we.removeChild(c),u=null}}function t(e){return Math.round(parseFloat(e))}var r,o,i,a,s,c=l.createElement(\"div\"),u=l.createElement(\"div\");u.style&&(u.style.backgroundClip=\"content-box\",u.cloneNode(!0).style.backgroundClip=\"\",m.clearCloneStyle=\"content-box\"===u.style.backgroundClip,_.extend(m,{boxSizingReliable:function(){return e(),o},pixelBoxStyles:function(){return e(),a},pixelPosition:function(){return e(),r},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i}}))}();var Be=/^(none|table(?!-c[ea]).+)/,Ue=/^--/,Xe={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Ge={letterSpacing:\"0\",fontWeight:\"400\"},Ye=[\"Webkit\",\"Moz\",\"ms\"],Qe=l.createElement(\"div\").style;function Je(e){var t=_.cssProps[e];return t||(t=_.cssProps[e]=function(e){if(e in Qe)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=Ye.length;n--;)if((e=Ye[n]+t)in Qe)return e}(e)||e),t}function Ke(e,t,n){var r=oe.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function Ze(e,t,n,r,o,i){var l=\"width\"===t?1:0,a=0,s=0;if(n===(r?\"border\":\"content\"))return 0;for(;l<4;l+=2)\"margin\"===n&&(s+=_.css(e,n+ie[l],!0,o)),r?(\"content\"===n&&(s-=_.css(e,\"padding\"+ie[l],!0,o)),\"margin\"!==n&&(s-=_.css(e,\"border\"+ie[l]+\"Width\",!0,o))):(s+=_.css(e,\"padding\"+ie[l],!0,o),\"padding\"!==n?s+=_.css(e,\"border\"+ie[l]+\"Width\",!0,o):a+=_.css(e,\"border\"+ie[l]+\"Width\",!0,o));return!r&&i>=0&&(s+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-i-s-a-.5))),s}function et(e,t,n){var r=Ve(e),o=$e(e,t,r),i=\"border-box\"===_.css(e,\"boxSizing\",!1,r),l=i;if(Ie.test(o)){if(!n)return o;o=\"auto\"}return l=l&&(m.boxSizingReliable()||o===e.style[t]),(\"auto\"===o||!parseFloat(o)&&\"inline\"===_.css(e,\"display\",!1,r))&&(o=e[\"offset\"+t[0].toUpperCase()+t.slice(1)],l=!0),(o=parseFloat(o)||0)+Ze(e,t,n||(i?\"border\":\"content\"),l,r,o)+\"px\"}function tt(e,t,n,r,o){return new tt.prototype.init(e,t,n,r,o)}_.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=$e(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,i,l,a=Y(t),s=Ue.test(t),c=e.style;if(s||(t=Je(a)),l=_.cssHooks[t]||_.cssHooks[a],void 0===n)return l&&\"get\"in l&&void 0!==(o=l.get(e,!1,r))?o:c[t];\"string\"===(i=typeof n)&&(o=oe.exec(n))&&o[1]&&(n=se(e,t,o),i=\"number\"),null!=n&&n==n&&(\"number\"===i&&(n+=o&&o[3]||(_.cssNumber[a]?\"\":\"px\")),m.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(c[t]=\"inherit\"),l&&\"set\"in l&&void 0===(n=l.set(e,n,r))||(s?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var o,i,l,a=Y(t);return Ue.test(t)||(t=Je(a)),(l=_.cssHooks[t]||_.cssHooks[a])&&\"get\"in l&&(o=l.get(e,!0,n)),void 0===o&&(o=$e(e,t,r)),\"normal\"===o&&t in Ge&&(o=Ge[t]),\"\"===n||n?(i=parseFloat(o),!0===n||isFinite(i)?i||0:o):o}}),_.each([\"height\",\"width\"],function(e,t){_.cssHooks[t]={get:function(e,n,r){if(n)return!Be.test(_.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ae(e,Xe,function(){return et(e,t,r)})},set:function(e,n,r){var o,i=Ve(e),l=\"border-box\"===_.css(e,\"boxSizing\",!1,i),a=r&&Ze(e,t,r,l,i);return l&&m.scrollboxSize()===i.position&&(a-=Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-parseFloat(i[t])-Ze(e,t,\"border\",!1,i)-.5)),a&&(o=oe.exec(n))&&\"px\"!==(o[3]||\"px\")&&(e.style[t]=n,n=_.css(e,t)),Ke(0,n,a)}}}),_.cssHooks.marginLeft=We(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat($e(e,\"marginLeft\"))||e.getBoundingClientRect().left-ae(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),_.each({margin:\"\",padding:\"\",border:\"Width\"},function(e,t){_.cssHooks[e+t]={expand:function(n){for(var r=0,o={},i=\"string\"==typeof n?n.split(\" \"):[n];r<4;r++)o[e+ie[r]+t]=i[r]||i[r-2]||i[0];return o}},\"margin\"!==e&&(_.cssHooks[e+t].set=Ke)}),_.fn.extend({css:function(e,t){return B(this,function(e,t,n){var r,o,i={},l=0;if(Array.isArray(t)){for(r=Ve(e),o=t.length;l<o;l++)i[t[l]]=_.css(e,t[l],!1,r);return i}return void 0!==n?_.style(e,t,n):_.css(e,t)},e,t,arguments.length>1)}}),_.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,o,i){this.elem=e,this.prop=n,this.easing=o||_.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=i||(_.cssNumber[n]?\"\":\"px\")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=_.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=_.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){_.fx.step[e.prop]?_.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[_.cssProps[e.prop]]&&!_.cssHooks[e.prop]?e.elem[e.prop]=e.now:_.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},_.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},_.fx=tt.prototype.init,_.fx.step={};var nt,rt,ot=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function lt(){rt&&(!1===l.hidden&&n.requestAnimationFrame?n.requestAnimationFrame(lt):n.setTimeout(lt,_.fx.interval),_.fx.tick())}function at(){return n.setTimeout(function(){nt=void 0}),nt=Date.now()}function st(e,t){var n,r=0,o={height:e};for(t=t?1:0;r<4;r+=2-t)o[\"margin\"+(n=ie[r])]=o[\"padding\"+n]=e;return t&&(o.opacity=o.width=e),o}function ct(e,t,n){for(var r,o=(ut.tweeners[t]||[]).concat(ut.tweeners[\"*\"]),i=0,l=o.length;i<l;i++)if(r=o[i].call(n,t,e))return r}function ut(e,t,n){var r,o,i=0,l=ut.prefilters.length,a=_.Deferred().always(function(){delete s.elem}),s=function(){if(o)return!1;for(var t=nt||at(),n=Math.max(0,c.startTime+c.duration-t),r=1-(n/c.duration||0),i=0,l=c.tweens.length;i<l;i++)c.tweens[i].run(r);return a.notifyWith(e,[c,r,n]),r<1&&l?n:(l||a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:_.extend({},t),opts:_.extend(!0,{specialEasing:{},easing:_.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||at(),duration:n.duration,tweens:[],createTween:function(t,n){var r=_.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0;if(o)return this;for(o=!0;n<r;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),u=c.props;for(!function(e,t){var n,r,o,i,l;for(n in e)if(o=t[r=Y(n)],i=e[n],Array.isArray(i)&&(o=i[1],i=e[n]=i[0]),n!==r&&(e[r]=i,delete e[n]),(l=_.cssHooks[r])&&\"expand\"in l)for(n in i=l.expand(i),delete e[r],i)n in e||(e[n]=i[n],t[n]=o);else t[r]=o}(u,c.opts.specialEasing);i<l;i++)if(r=ut.prefilters[i].call(c,e,u,c.opts))return g(r.stop)&&(_._queueHooks(c.elem,c.opts.queue).stop=r.stop.bind(r)),r;return _.map(u,ct,c),g(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),_.fx.timer(_.extend(s,{elem:e,anim:c,queue:c.opts.queue})),c}_.Animation=_.extend(ut,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,oe.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=[\"*\"]):e=e.match(P);for(var n,r=0,o=e.length;r<o;r++)n=e[r],ut.tweeners[n]=ut.tweeners[n]||[],ut.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,o,i,l,a,s,c,u,p=\"width\"in t||\"height\"in t,d=this,f={},h=e.style,y=e.nodeType&&le(e),x=K.get(e,\"fxshow\");for(r in n.queue||(null==(l=_._queueHooks(e,\"fx\")).unqueued&&(l.unqueued=0,a=l.empty.fire,l.empty.fire=function(){l.unqueued||a()}),l.unqueued++,d.always(function(){d.always(function(){l.unqueued--,_.queue(e,\"fx\").length||l.empty.fire()})})),t)if(o=t[r],ot.test(o)){if(delete t[r],i=i||\"toggle\"===o,o===(y?\"hide\":\"show\")){if(\"show\"!==o||!x||void 0===x[r])continue;y=!0}f[r]=x&&x[r]||_.style(e,r)}if((s=!_.isEmptyObject(t))||!_.isEmptyObject(f))for(r in p&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(c=x&&x.display)&&(c=K.get(e,\"display\")),\"none\"===(u=_.css(e,\"display\"))&&(c?u=c:(pe([e],!0),c=e.style.display||c,u=_.css(e,\"display\"),pe([e]))),(\"inline\"===u||\"inline-block\"===u&&null!=c)&&\"none\"===_.css(e,\"float\")&&(s||(d.done(function(){h.display=c}),null==c&&(u=h.display,c=\"none\"===u?\"\":u)),h.display=\"inline-block\")),n.overflow&&(h.overflow=\"hidden\",d.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),s=!1,f)s||(x?\"hidden\"in x&&(y=x.hidden):x=K.access(e,\"fxshow\",{display:c}),i&&(x.hidden=!y),y&&pe([e],!0),d.done(function(){for(r in y||pe([e]),K.remove(e,\"fxshow\"),f)_.style(e,r,f[r])})),s=ct(y?x[r]:0,r,d),r in x||(x[r]=s.start,y&&(s.end=s.start,s.start=0))}],prefilter:function(e,t){t?ut.prefilters.unshift(e):ut.prefilters.push(e)}}),_.speed=function(e,t,n){var r=e&&\"object\"==typeof e?_.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return _.fx.off?r.duration=0:\"number\"!=typeof r.duration&&(r.duration in _.fx.speeds?r.duration=_.fx.speeds[r.duration]:r.duration=_.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&_.dequeue(this,r.queue)},r},_.fn.extend({fadeTo:function(e,t,n,r){return this.filter(le).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var o=_.isEmptyObject(e),i=_.speed(t,n,r),l=function(){var t=ut(this,_.extend({},e),i);(o||K.get(this,\"finish\"))&&t.stop(!0)};return l.finish=l,o||!1===i.queue?this.each(l):this.queue(i.queue,l)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return\"string\"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||\"fx\",[]),this.each(function(){var t=!0,o=null!=e&&e+\"queueHooks\",i=_.timers,l=K.get(this);if(o)l[o]&&l[o].stop&&r(l[o]);else for(o in l)l[o]&&l[o].stop&&it.test(o)&&r(l[o]);for(o=i.length;o--;)i[o].elem!==this||null!=e&&i[o].queue!==e||(i[o].anim.stop(n),t=!1,i.splice(o,1));!t&&n||_.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||\"fx\"),this.each(function(){var t,n=K.get(this),r=n[e+\"queue\"],o=n[e+\"queueHooks\"],i=_.timers,l=r?r.length:0;for(n.finish=!0,_.queue(this,e,[]),o&&o.stop&&o.stop.call(this,!0),t=i.length;t--;)i[t].elem===this&&i[t].queue===e&&(i[t].anim.stop(!0),i.splice(t,1));for(t=0;t<l;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),_.each([\"toggle\",\"show\",\"hide\"],function(e,t){var n=_.fn[t];_.fn[t]=function(e,r,o){return null==e||\"boolean\"==typeof e?n.apply(this,arguments):this.animate(st(t,!0),e,r,o)}}),_.each({slideDown:st(\"show\"),slideUp:st(\"hide\"),slideToggle:st(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,t){_.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),_.timers=[],_.fx.tick=function(){var e,t=0,n=_.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||_.fx.stop(),nt=void 0},_.fx.timer=function(e){_.timers.push(e),_.fx.start()},_.fx.interval=13,_.fx.start=function(){rt||(rt=!0,lt())},_.fx.stop=function(){rt=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(e,t){return e=_.fx&&_.fx.speeds[e]||e,t=t||\"fx\",this.queue(t,function(t,r){var o=n.setTimeout(t,e);r.stop=function(){n.clearTimeout(o)}})},function(){var e=l.createElement(\"input\"),t=l.createElement(\"select\").appendChild(l.createElement(\"option\"));e.type=\"checkbox\",m.checkOn=\"\"!==e.value,m.optSelected=t.selected,(e=l.createElement(\"input\")).value=\"t\",e.type=\"radio\",m.radioValue=\"t\"===e.value}();var pt,dt=_.expr.attrHandle;_.fn.extend({attr:function(e,t){return B(this,_.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){_.removeAttr(this,e)})}}),_.extend({attr:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return void 0===e.getAttribute?_.prop(e,t,n):(1===i&&_.isXMLDoc(e)||(o=_.attrHooks[t.toLowerCase()]||(_.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void _.removeAttr(e,t):o&&\"set\"in o&&void 0!==(r=o.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):o&&\"get\"in o&&null!==(r=o.get(e,t))?r:null==(r=_.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&\"radio\"===t&&E(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,o=t&&t.match(P);if(o&&1===e.nodeType)for(;n=o[r++];)e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?_.removeAttr(e,n):e.setAttribute(n,n),n}},_.each(_.expr.match.bool.source.match(/\\w+/g),function(e,t){var n=dt[t]||_.find.attr;dt[t]=function(e,t,r){var o,i,l=t.toLowerCase();return r||(i=dt[l],dt[l]=o,o=null!=n(e,t,r)?l:null,dt[l]=i),o}});var ft=/^(?:input|select|textarea|button)$/i,ht=/^(?:a|area)$/i;function yt(e){return(e.match(P)||[]).join(\" \")}function xt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function mt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(P)||[]}_.fn.extend({prop:function(e,t){return B(this,_.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[_.propFix[e]||e]})}}),_.extend({prop:function(e,t,n){var r,o,i=e.nodeType;if(3!==i&&8!==i&&2!==i)return 1===i&&_.isXMLDoc(e)||(t=_.propFix[t]||t,o=_.propHooks[t]),void 0!==n?o&&\"set\"in o&&void 0!==(r=o.set(e,n,t))?r:e[t]=n:o&&\"get\"in o&&null!==(r=o.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=_.find.attr(e,\"tabindex\");return t?parseInt(t,10):ft.test(e.nodeName)||ht.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:\"htmlFor\",class:\"className\"}}),m.optSelected||(_.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),_.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){_.propFix[this.toLowerCase()]=this}),_.fn.extend({addClass:function(e){var t,n,r,o,i,l,a,s=0;if(g(e))return this.each(function(t){_(this).addClass(e.call(this,t,xt(this)))});if((t=mt(e)).length)for(;n=this[s++];)if(o=xt(n),r=1===n.nodeType&&\" \"+yt(o)+\" \"){for(l=0;i=t[l++];)r.indexOf(\" \"+i+\" \")<0&&(r+=i+\" \");o!==(a=yt(r))&&n.setAttribute(\"class\",a)}return this},removeClass:function(e){var t,n,r,o,i,l,a,s=0;if(g(e))return this.each(function(t){_(this).removeClass(e.call(this,t,xt(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((t=mt(e)).length)for(;n=this[s++];)if(o=xt(n),r=1===n.nodeType&&\" \"+yt(o)+\" \"){for(l=0;i=t[l++];)for(;r.indexOf(\" \"+i+\" \")>-1;)r=r.replace(\" \"+i+\" \",\" \");o!==(a=yt(r))&&n.setAttribute(\"class\",a)}return this},toggleClass:function(e,t){var n=typeof e,r=\"string\"===n||Array.isArray(e);return\"boolean\"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){_(this).toggleClass(e.call(this,n,xt(this),t),t)}):this.each(function(){var t,o,i,l;if(r)for(o=0,i=_(this),l=mt(e);t=l[o++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&\"boolean\"!==n||((t=xt(this))&&K.set(this,\"__className__\",t),this.setAttribute&&this.setAttribute(\"class\",t||!1===e?\"\":K.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;for(t=\" \"+e+\" \";n=this[r++];)if(1===n.nodeType&&(\" \"+yt(xt(n))+\" \").indexOf(t)>-1)return!0;return!1}});var gt=/\\r/g;_.fn.extend({val:function(e){var t,n,r,o=this[0];return arguments.length?(r=g(e),this.each(function(n){var o;1===this.nodeType&&(null==(o=r?e.call(this,n,_(this).val()):e)?o=\"\":\"number\"==typeof o?o+=\"\":Array.isArray(o)&&(o=_.map(o,function(e){return null==e?\"\":e+\"\"})),(t=_.valHooks[this.type]||_.valHooks[this.nodeName.toLowerCase()])&&\"set\"in t&&void 0!==t.set(this,o,\"value\")||(this.value=o))})):o?(t=_.valHooks[o.type]||_.valHooks[o.nodeName.toLowerCase()])&&\"get\"in t&&void 0!==(n=t.get(o,\"value\"))?n:\"string\"==typeof(n=o.value)?n.replace(gt,\"\"):null==n?\"\":n:void 0}}),_.extend({valHooks:{option:{get:function(e){var t=_.find.attr(e,\"value\");return null!=t?t:yt(_.text(e))}},select:{get:function(e){var t,n,r,o=e.options,i=e.selectedIndex,l=\"select-one\"===e.type,a=l?null:[],s=l?i+1:o.length;for(r=i<0?s:l?i:0;r<s;r++)if(((n=o[r]).selected||r===i)&&!n.disabled&&(!n.parentNode.disabled||!E(n.parentNode,\"optgroup\"))){if(t=_(n).val(),l)return t;a.push(t)}return a},set:function(e,t){for(var n,r,o=e.options,i=_.makeArray(t),l=o.length;l--;)((r=o[l]).selected=_.inArray(_.valHooks.option.get(r),i)>-1)&&(n=!0);return n||(e.selectedIndex=-1),i}}}}),_.each([\"radio\",\"checkbox\"],function(){_.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=_.inArray(_(e).val(),t)>-1}},m.checkOn||(_.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})}),m.focusin=\"onfocusin\"in n;var vt=/^(?:focusinfocus|focusoutblur)$/,bt=function(e){e.stopPropagation()};_.extend(_.event,{trigger:function(e,t,r,o){var i,a,s,c,u,p,d,f,y=[r||l],x=h.call(e,\"type\")?e.type:e,m=h.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(a=f=s=r=r||l,3!==r.nodeType&&8!==r.nodeType&&!vt.test(x+_.event.triggered)&&(x.indexOf(\".\")>-1&&(m=x.split(\".\"),x=m.shift(),m.sort()),u=x.indexOf(\":\")<0&&\"on\"+x,(e=e[_.expando]?e:new _.Event(x,\"object\"==typeof e&&e)).isTrigger=o?2:3,e.namespace=m.join(\".\"),e.rnamespace=e.namespace?new RegExp(\"(^|\\\\.)\"+m.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=void 0,e.target||(e.target=r),t=null==t?[e]:_.makeArray(t,[e]),d=_.event.special[x]||{},o||!d.trigger||!1!==d.trigger.apply(r,t))){if(!o&&!d.noBubble&&!v(r)){for(c=d.delegateType||x,vt.test(c+x)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||l)&&y.push(s.defaultView||s.parentWindow||n)}for(i=0;(a=y[i++])&&!e.isPropagationStopped();)f=a,e.type=i>1?c:d.bindType||x,(p=(K.get(a,\"events\")||{})[e.type]&&K.get(a,\"handle\"))&&p.apply(a,t),(p=u&&a[u])&&p.apply&&Q(a)&&(e.result=p.apply(a,t),!1===e.result&&e.preventDefault());return e.type=x,o||e.isDefaultPrevented()||d._default&&!1!==d._default.apply(y.pop(),t)||!Q(r)||u&&g(r[x])&&!v(r)&&((s=r[u])&&(r[u]=null),_.event.triggered=x,e.isPropagationStopped()&&f.addEventListener(x,bt),r[x](),e.isPropagationStopped()&&f.removeEventListener(x,bt),_.event.triggered=void 0,s&&(r[u]=s)),e.result}},simulate:function(e,t,n){var r=_.extend(new _.Event,n,{type:e,isSimulated:!0});_.event.trigger(r,null,t)}}),_.fn.extend({trigger:function(e,t){return this.each(function(){_.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return _.event.trigger(e,t,n,!0)}}),m.focusin||_.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){var n=function(e){_.event.simulate(t,e.target,_.event.fix(e))};_.event.special[t]={setup:function(){var r=this.ownerDocument||this,o=K.access(r,t);o||r.addEventListener(e,n,!0),K.access(r,t,(o||0)+1)},teardown:function(){var r=this.ownerDocument||this,o=K.access(r,t)-1;o?K.access(r,t,o):(r.removeEventListener(e,n,!0),K.remove(r,t))}}});var jt=n.location,wt=Date.now(),_t=/\\?/;_.parseXML=function(e){var t;if(!e||\"string\"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,\"text/xml\")}catch(e){t=void 0}return t&&!t.getElementsByTagName(\"parsererror\").length||_.error(\"Invalid XML: \"+e),t};var Mt=/\\[\\]$/,kt=/\\r?\\n/g,Tt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function St(e,t,n,r){var o;if(Array.isArray(t))_.each(t,function(t,o){n||Mt.test(e)?r(e,o):St(e+\"[\"+(\"object\"==typeof o&&null!=o?t:\"\")+\"]\",o,n,r)});else if(n||\"object\"!==w(t))r(e,t);else for(o in t)St(e+\"[\"+o+\"]\",t[o],n,r)}_.param=function(e,t){var n,r=[],o=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(Array.isArray(e)||e.jquery&&!_.isPlainObject(e))_.each(e,function(){o(this.name,this.value)});else for(n in e)St(n,e[n],t,o);return r.join(\"&\")},_.fn.extend({serialize:function(){return _.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=_.prop(this,\"elements\");return e?_.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!_(this).is(\":disabled\")&&At.test(this.nodeName)&&!Tt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=_(this).val();return null==n?null:Array.isArray(n)?_.map(n,function(e){return{name:t.name,value:e.replace(kt,\"\\r\\n\")}}):{name:t.name,value:n.replace(kt,\"\\r\\n\")}}).get()}});var Ct=/%20/g,Et=/#.*$/,Ht=/([?&])_=[^&]*/,Nt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Lt=/^(?:GET|HEAD)$/,Dt=/^\\/\\//,Ot={},zt={},qt=\"*/\".concat(\"*\"),Pt=l.createElement(\"a\");function Rt(e){return function(t,n){\"string\"!=typeof t&&(n=t,t=\"*\");var r,o=0,i=t.toLowerCase().match(P)||[];if(g(n))for(;r=i[o++];)\"+\"===r[0]?(r=r.slice(1)||\"*\",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function It(e,t,n,r){var o={},i=e===zt;function l(a){var s;return o[a]=!0,_.each(e[a]||[],function(e,a){var c=a(t,n,r);return\"string\"!=typeof c||i||o[c]?i?!(s=c):void 0:(t.dataTypes.unshift(c),l(c),!1)}),s}return l(t.dataTypes[0])||!o[\"*\"]&&l(\"*\")}function Vt(e,t){var n,r,o=_.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((o[n]?e:r||(r={}))[n]=t[n]);return r&&_.extend(!0,e,r),e}Pt.href=jt.href,_.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jt.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(jt.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":qt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":_.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Vt(Vt(e,_.ajaxSettings),t):Vt(_.ajaxSettings,e)},ajaxPrefilter:Rt(Ot),ajaxTransport:Rt(zt),ajax:function(e,t){\"object\"==typeof e&&(t=e,e=void 0),t=t||{};var r,o,i,a,s,c,u,p,d,f,h=_.ajaxSetup({},t),y=h.context||h,x=h.context&&(y.nodeType||y.jquery)?_(y):_.event,m=_.Deferred(),g=_.Callbacks(\"once memory\"),v=h.statusCode||{},b={},j={},w=\"canceled\",M={readyState:0,getResponseHeader:function(e){var t;if(u){if(!a)for(a={};t=Nt.exec(i);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?i:null},setRequestHeader:function(e,t){return null==u&&(e=j[e.toLowerCase()]=j[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==u&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)M.always(e[M.status]);else for(t in e)v[t]=[v[t],e[t]];return this},abort:function(e){var t=e||w;return r&&r.abort(t),k(0,t),this}};if(m.promise(M),h.url=((e||h.url||jt.href)+\"\").replace(Dt,jt.protocol+\"//\"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=(h.dataType||\"*\").toLowerCase().match(P)||[\"\"],null==h.crossDomain){c=l.createElement(\"a\");try{c.href=h.url,c.href=c.href,h.crossDomain=Pt.protocol+\"//\"+Pt.host!=c.protocol+\"//\"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&\"string\"!=typeof h.data&&(h.data=_.param(h.data,h.traditional)),It(Ot,h,t,M),u)return M;for(d in(p=_.event&&h.global)&&0==_.active++&&_.event.trigger(\"ajaxStart\"),h.type=h.type.toUpperCase(),h.hasContent=!Lt.test(h.type),o=h.url.replace(Et,\"\"),h.hasContent?h.data&&h.processData&&0===(h.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(h.data=h.data.replace(Ct,\"+\")):(f=h.url.slice(o.length),h.data&&(h.processData||\"string\"==typeof h.data)&&(o+=(_t.test(o)?\"&\":\"?\")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,\"$1\"),f=(_t.test(o)?\"&\":\"?\")+\"_=\"+wt+++f),h.url=o+f),h.ifModified&&(_.lastModified[o]&&M.setRequestHeader(\"If-Modified-Since\",_.lastModified[o]),_.etag[o]&&M.setRequestHeader(\"If-None-Match\",_.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||t.contentType)&&M.setRequestHeader(\"Content-Type\",h.contentType),M.setRequestHeader(\"Accept\",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+(\"*\"!==h.dataTypes[0]?\", \"+qt+\"; q=0.01\":\"\"):h.accepts[\"*\"]),h.headers)M.setRequestHeader(d,h.headers[d]);if(h.beforeSend&&(!1===h.beforeSend.call(y,M,h)||u))return M.abort();if(w=\"abort\",g.add(h.complete),M.done(h.success),M.fail(h.error),r=It(zt,h,t,M)){if(M.readyState=1,p&&x.trigger(\"ajaxSend\",[M,h]),u)return M;h.async&&h.timeout>0&&(s=n.setTimeout(function(){M.abort(\"timeout\")},h.timeout));try{u=!1,r.send(b,k)}catch(e){if(u)throw e;k(-1,e)}}else k(-1,\"No Transport\");function k(e,t,l,a){var c,d,f,b,j,w=t;u||(u=!0,s&&n.clearTimeout(s),r=void 0,i=a||\"\",M.readyState=e>0?4:0,c=e>=200&&e<300||304===e,l&&(b=function(e,t,n){for(var r,o,i,l,a=e.contents,s=e.dataTypes;\"*\"===s[0];)s.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(o in a)if(a[o]&&a[o].test(r)){s.unshift(o);break}if(s[0]in n)i=s[0];else{for(o in n){if(!s[0]||e.converters[o+\" \"+s[0]]){i=o;break}l||(l=o)}i=i||l}if(i)return i!==s[0]&&s.unshift(i),n[i]}(h,M,l)),b=function(e,t,n,r){var o,i,l,a,s,c={},u=e.dataTypes.slice();if(u[1])for(l in e.converters)c[l.toLowerCase()]=e.converters[l];for(i=u.shift();i;)if(e.responseFields[i]&&(n[e.responseFields[i]]=t),!s&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),s=i,i=u.shift())if(\"*\"===i)i=s;else if(\"*\"!==s&&s!==i){if(!(l=c[s+\" \"+i]||c[\"* \"+i]))for(o in c)if((a=o.split(\" \"))[1]===i&&(l=c[s+\" \"+a[0]]||c[\"* \"+a[0]])){!0===l?l=c[o]:!0!==c[o]&&(i=a[0],u.unshift(a[1]));break}if(!0!==l)if(l&&e.throws)t=l(t);else try{t=l(t)}catch(e){return{state:\"parsererror\",error:l?e:\"No conversion from \"+s+\" to \"+i}}}return{state:\"success\",data:t}}(h,b,M,c),c?(h.ifModified&&((j=M.getResponseHeader(\"Last-Modified\"))&&(_.lastModified[o]=j),(j=M.getResponseHeader(\"etag\"))&&(_.etag[o]=j)),204===e||\"HEAD\"===h.type?w=\"nocontent\":304===e?w=\"notmodified\":(w=b.state,d=b.data,c=!(f=b.error))):(f=w,!e&&w||(w=\"error\",e<0&&(e=0))),M.status=e,M.statusText=(t||w)+\"\",c?m.resolveWith(y,[d,w,M]):m.rejectWith(y,[M,w,f]),M.statusCode(v),v=void 0,p&&x.trigger(c?\"ajaxSuccess\":\"ajaxError\",[M,h,c?d:f]),g.fireWith(y,[M,w]),p&&(x.trigger(\"ajaxComplete\",[M,h]),--_.active||_.event.trigger(\"ajaxStop\")))}return M},getJSON:function(e,t,n){return _.get(e,t,n,\"json\")},getScript:function(e,t){return _.get(e,void 0,t,\"script\")}}),_.each([\"get\",\"post\"],function(e,t){_[t]=function(e,n,r,o){return g(n)&&(o=o||r,r=n,n=void 0),_.ajax(_.extend({url:e,type:t,dataType:o,data:n,success:r},_.isPlainObject(e)&&e))}}),_._evalUrl=function(e){return _.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,throws:!0})},_.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=_(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){_(this).wrapInner(e.call(this,t))}):this.each(function(){var t=_(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){_(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){_(this).replaceWith(this.childNodes)}),this}}),_.expr.pseudos.hidden=function(e){return!_.expr.pseudos.visible(e)},_.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},_.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Ft={0:200,1223:204},$t=_.ajaxSettings.xhr();m.cors=!!$t&&\"withCredentials\"in $t,m.ajax=$t=!!$t,_.ajaxTransport(function(e){var t,r;if(m.cors||$t&&!e.crossDomain)return{send:function(o,i){var l,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(l in e.xhrFields)a[l]=e.xhrFields[l];for(l in e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||o[\"X-Requested-With\"]||(o[\"X-Requested-With\"]=\"XMLHttpRequest\"),o)a.setRequestHeader(l,o[l]);t=function(e){return function(){t&&(t=r=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,\"abort\"===e?a.abort():\"error\"===e?\"number\"!=typeof a.status?i(0,\"error\"):i(a.status,a.statusText):i(Ft[a.status]||a.status,a.statusText,\"text\"!==(a.responseType||\"text\")||\"string\"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),r=a.onerror=a.ontimeout=t(\"error\"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){t&&r()})},t=t(\"abort\");try{a.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),_.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),_.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return _.globalEval(e),e}}}),_.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),_.ajaxTransport(\"script\",function(e){var t,n;if(e.crossDomain)return{send:function(r,o){t=_(\"<script>\").prop({charset:e.scriptCharset,src:e.url}).on(\"load error\",n=function(e){t.remove(),n=null,e&&o(\"error\"===e.type?404:200,e.type)}),l.head.appendChild(t[0])},abort:function(){n&&n()}}});var Wt,Bt=[],Ut=/(=)\\?(?=&|$)|\\?\\?/;_.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Bt.pop()||_.expando+\"_\"+wt++;return this[e]=!0,e}}),_.ajaxPrefilter(\"json jsonp\",function(e,t,r){var o,i,l,a=!1!==e.jsonp&&(Ut.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Ut.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return o=e.jsonpCallback=g(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,\"$1\"+o):!1!==e.jsonp&&(e.url+=(_t.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+o),e.converters[\"script json\"]=function(){return l||_.error(o+\" was not called\"),l[0]},e.dataTypes[0]=\"json\",i=n[o],n[o]=function(){l=arguments},r.always(function(){void 0===i?_(n).removeProp(o):n[o]=i,e[o]&&(e.jsonpCallback=t.jsonpCallback,Bt.push(o)),l&&g(i)&&i(l[0]),l=i=void 0}),\"script\"}),m.createHTMLDocument=((Wt=l.implementation.createHTMLDocument(\"\").body).innerHTML=\"<form></form><form></form>\",2===Wt.childNodes.length),_.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=l.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=l.location.href,t.head.appendChild(r)):t=l),i=!n&&[],(o=H.exec(e))?[t.createElement(o[1])]:(o=je([e],t,i),i&&i.length&&_(i).remove(),_.merge([],o.childNodes)));var r,o,i},_.fn.load=function(e,t,n){var r,o,i,l=this,a=e.indexOf(\" \");return a>-1&&(r=yt(e.slice(a)),e=e.slice(0,a)),g(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(o=\"POST\"),l.length>0&&_.ajax({url:e,type:o||\"GET\",dataType:\"html\",data:t}).done(function(e){i=arguments,l.html(r?_(\"<div>\").append(_.parseHTML(e)).find(r):e)}).always(n&&function(e,t){l.each(function(){n.apply(this,i||[e.responseText,t,e])})}),this},_.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){_.fn[t]=function(e){return this.on(t,e)}}),_.expr.pseudos.animated=function(e){return _.grep(_.timers,function(t){return e===t.elem}).length},_.offset={setOffset:function(e,t,n){var r,o,i,l,a,s,c=_.css(e,\"position\"),u=_(e),p={};\"static\"===c&&(e.style.position=\"relative\"),a=u.offset(),i=_.css(e,\"top\"),s=_.css(e,\"left\"),(\"absolute\"===c||\"fixed\"===c)&&(i+s).indexOf(\"auto\")>-1?(l=(r=u.position()).top,o=r.left):(l=parseFloat(i)||0,o=parseFloat(s)||0),g(t)&&(t=t.call(e,n,_.extend({},a))),null!=t.top&&(p.top=t.top-a.top+l),null!=t.left&&(p.left=t.left-a.left+o),\"using\"in t?t.using.call(e,p):u.css(p)}},_.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){_.offset.setOffset(this,e,t)});var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],o={top:0,left:0};if(\"fixed\"===_.css(r,\"position\"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&\"static\"===_.css(e,\"position\");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((o=_(e).offset()).top+=_.css(e,\"borderTopWidth\",!0),o.left+=_.css(e,\"borderLeftWidth\",!0))}return{top:t.top-o.top-_.css(r,\"marginTop\",!0),left:t.left-o.left-_.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&\"static\"===_.css(e,\"position\");)e=e.offsetParent;return e||we})}}),_.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(e,t){var n=\"pageYOffset\"===t;_.fn[e]=function(r){return B(this,function(e,r,o){var i;if(v(e)?i=e:9===e.nodeType&&(i=e.defaultView),void 0===o)return i?i[t]:e[r];i?i.scrollTo(n?i.pageXOffset:o,n?o:i.pageYOffset):e[r]=o},e,r,arguments.length)}}),_.each([\"top\",\"left\"],function(e,t){_.cssHooks[t]=We(m.pixelPosition,function(e,n){if(n)return n=$e(e,t),Ie.test(n)?_(e).position()[t]+\"px\":n})}),_.each({Height:\"height\",Width:\"width\"},function(e,t){_.each({padding:\"inner\"+e,content:t,\"\":\"outer\"+e},function(n,r){_.fn[r]=function(o,i){var l=arguments.length&&(n||\"boolean\"!=typeof o),a=n||(!0===o||!0===i?\"margin\":\"border\");return B(this,function(t,n,o){var i;return v(t)?0===r.indexOf(\"outer\")?t[\"inner\"+e]:t.document.documentElement[\"client\"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body[\"scroll\"+e],i[\"scroll\"+e],t.body[\"offset\"+e],i[\"offset\"+e],i[\"client\"+e])):void 0===o?_.css(t,n,a):_.style(t,n,o,a)},t,l?o:void 0,l)}})}),_.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,t){_.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),_.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),_.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)}}),_.proxy=function(e,t){var n,r,o;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=s.call(arguments,2),(o=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||_.guid++,o},_.holdReady=function(e){e?_.readyWait++:_.ready(!0)},_.isArray=Array.isArray,_.parseJSON=JSON.parse,_.nodeName=E,_.isFunction=g,_.isWindow=v,_.camelCase=Y,_.type=w,_.now=Date.now,_.isNumeric=function(e){var t=_.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},void 0===(r=function(){return _}.apply(t,[]))||(e.exports=r);var Xt=n.jQuery,Gt=n.$;return _.noConflict=function(e){return n.$===_&&(n.$=Gt),e&&n.jQuery===_&&(n.jQuery=Xt),_},o||(n.jQuery=n.$=_),_})},function(e,t,n){\"use strict\";var r=n(28),o=n(3),i=n(30),l=n(20),a=n(21),s=n(14),c=n(11),u=n(7),p=Math.min,d=[].push,f=!u(function(){RegExp(4294967295,\"y\")});n(15)(\"split\",2,function(e,t,n,u){var h;return h=\"c\"==\"abbc\".split(/(b)*/)[1]||4!=\"test\".split(/(?:)/,-1).length||2!=\"ab\".split(/(?:ab)*/).length||4!=\".\".split(/(.?)(.?)/).length||\".\".split(/()()/).length>1||\"\".split(/.?/).length?function(e,t){var o=String(this);if(void 0===e&&0===t)return[];if(!r(e))return n.call(o,e,t);for(var i,l,a,s=[],u=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),p=0,f=void 0===t?4294967295:t>>>0,h=new RegExp(e.source,u+\"g\");(i=c.call(h,o))&&!((l=h.lastIndex)>p&&(s.push(o.slice(p,i.index)),i.length>1&&i.index<o.length&&d.apply(s,i.slice(1)),a=i[0].length,p=l,s.length>=f));)h.lastIndex===i.index&&h.lastIndex++;return p===o.length?!a&&h.test(\"\")||s.push(\"\"):s.push(o.slice(p)),s.length>f?s.slice(0,f):s}:\"0\".split(void 0,0).length?function(e,t){return void 0===e&&0===t?[]:n.call(this,e,t)}:n,[function(n,r){var o=e(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,r):h.call(String(o),n,r)},function(e,t){var r=u(h,e,this,t,h!==n);if(r.done)return r.value;var c=o(e),d=String(this),y=i(c,RegExp),x=c.unicode,m=(c.ignoreCase?\"i\":\"\")+(c.multiline?\"m\":\"\")+(c.unicode?\"u\":\"\")+(f?\"y\":\"g\"),g=new y(f?c:\"^(?:\"+c.source+\")\",m),v=void 0===t?4294967295:t>>>0;if(0===v)return[];if(0===d.length)return null===s(g,d)?[d]:[];for(var b=0,j=0,w=[];j<d.length;){g.lastIndex=f?j:0;var _,M=s(g,f?d:d.slice(j));if(null===M||(_=p(a(g.lastIndex+(f?0:j)),d.length))===b)j=l(d,j,x);else{if(w.push(d.slice(b,j)),w.length===v)return w;for(var k=1;k<=M.length-1;k++)if(w.push(M[k]),w.length===v)return w;j=b=_}}return w.push(d.slice(b)),w}]})},function(e,t,n){var r=n(5),o=n(16),i=n(6)(\"match\");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:\"RegExp\"==o(e))}},function(e,t){e.exports=!1},function(e,t,n){var r=n(3),o=n(19),i=n(6)(\"species\");e.exports=function(e,t){var n,l=r(e).constructor;return void 0===l||null==(n=r(l)[i])?t:o(n)}},function(e,t,n){var r=n(9),o=n(10);e.exports=function(e){return function(t,n){var i,l,a=String(o(t)),s=r(n),c=a.length;return s<0||s>=c?e?\"\":void 0:(i=a.charCodeAt(s))<55296||i>56319||s+1===c||(l=a.charCodeAt(s+1))<56320||l>57343?e?a.charAt(s):i:e?a.slice(s,s+2):l-56320+(i-55296<<10)+65536}}},function(e,t,n){var r=n(16),o=n(6)(\"toStringTag\"),i=\"Arguments\"==r(function(){return arguments}());e.exports=function(e){var t,n,l;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:i?r(t):\"Object\"==(l=r(t))&&\"function\"==typeof t.callee?\"Arguments\":l}},function(e,t,n){\"use strict\";var r=n(3);e.exports=function(){var e=r(this),t=\"\";return e.global&&(t+=\"g\"),e.ignoreCase&&(t+=\"i\"),e.multiline&&(t+=\"m\"),e.unicode&&(t+=\"u\"),e.sticky&&(t+=\"y\"),t}},function(e,t,n){\"use strict\";var r=n(11);n(35)({target:\"RegExp\",proto:!0,forced:r!==/./.exec},{exec:r})},function(e,t,n){var r=n(4),o=n(8),i=n(12),l=n(22),a=n(43),s=function(e,t,n){var c,u,p,d,f=e&s.F,h=e&s.G,y=e&s.S,x=e&s.P,m=e&s.B,g=h?r:y?r[t]||(r[t]={}):(r[t]||{}).prototype,v=h?o:o[t]||(o[t]={}),b=v.prototype||(v.prototype={});for(c in h&&(n=t),n)p=((u=!f&&g&&void 0!==g[c])?g:n)[c],d=m&&u?a(p,r):x&&\"function\"==typeof p?a(Function.call,p):p,g&&l(g,c,p,e&s.U),v[c]!=p&&i(v,c,d),x&&b[c]!=p&&(b[c]=p)};r.core=o,s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,e.exports=s},function(e,t,n){var r=n(3),o=n(37),i=n(39),l=Object.defineProperty;t.f=n(13)?Object.defineProperty:function(e,t,n){if(r(e),t=i(t,!0),r(n),o)try{return l(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n){e.exports=!n(13)&&!n(7)(function(){return 7!=Object.defineProperty(n(38)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n){var r=n(5),o=n(4).document,i=r(o)&&r(o.createElement);e.exports=function(e){return i?o.createElement(e):{}}},function(e,t,n){var r=n(5);e.exports=function(e,t){if(!r(e))return e;var n,o;if(t&&\"function\"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;if(\"function\"==typeof(n=e.valueOf)&&!r(o=n.call(e)))return o;if(!t&&\"function\"==typeof(n=e.toString)&&!r(o=n.call(e)))return o;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){e.exports=n(17)(\"native-function-to-string\",Function.toString)},function(e,t,n){var r=n(19);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){\"use strict\";var r=n(3),o=n(45),i=n(21),l=n(9),a=n(20),s=n(14),c=Math.max,u=Math.min,p=Math.floor,d=/\\$([$&`']|\\d\\d?|<[^>]*>)/g,f=/\\$([$&`']|\\d\\d?)/g;n(15)(\"replace\",2,function(e,t,n,h){return[function(r,o){var i=e(this),l=null==r?void 0:r[t];return void 0!==l?l.call(r,i,o):n.call(String(i),r,o)},function(e,t){var o=h(n,e,this,t);if(o.done)return o.value;var p=r(e),d=String(this),f=\"function\"==typeof t;f||(t=String(t));var x=p.global;if(x){var m=p.unicode;p.lastIndex=0}for(var g=[];;){var v=s(p,d);if(null===v)break;if(g.push(v),!x)break;\"\"===String(v[0])&&(p.lastIndex=a(d,i(p.lastIndex),m))}for(var b,j=\"\",w=0,_=0;_<g.length;_++){v=g[_];for(var M=String(v[0]),k=c(u(l(v.index),d.length),0),T=[],A=1;A<v.length;A++)T.push(void 0===(b=v[A])?b:String(b));var S=v.groups;if(f){var C=[M].concat(T,k,d);void 0!==S&&C.push(S);var E=String(t.apply(void 0,C))}else E=y(M,d,k,T,S,t);k>=w&&(j+=d.slice(w,k)+E,w=k+M.length)}return j+d.slice(w)}];function y(e,t,r,i,l,a){var s=r+e.length,c=i.length,u=f;return void 0!==l&&(l=o(l),u=d),n.call(a,u,function(n,o){var a;switch(o.charAt(0)){case\"$\":return\"$\";case\"&\":return e;case\"`\":return t.slice(0,r);case\"'\":return t.slice(s);case\"<\":a=l[o.slice(1,-1)];break;default:var u=+o;if(0===u)return n;if(u>c){var d=p(u/10);return 0===d?n:d<=c?void 0===i[d-1]?o.charAt(1):i[d-1]+o.charAt(1):n}a=i[u-1]}return void 0===a?\"\":a})}})},function(e,t,n){var r=n(10);e.exports=function(e){return Object(r(e))}},,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,function(e,t,n){\"use strict\";n.r(t),function(e){n(44),n(131),n(27);var t=n(24),r=n.n(t);var o,i,l=document.createElement(\"link\");l.href=\"css/\"+(o=function(e){for(var t=e+\"=\",n=document.cookie.split(\";\"),r=0;r<n.length;r++){for(var o=n[r];\" \"==o.charAt(0);)o=o.substring(1,o.length);if(0==o.indexOf(t))return o.substring(t.length,o.length)}return null}(\"theme\"),(i=function(e){var t=void 0;return location.search.substr(1).split(\"&\").some(function(n){return n.split(\"=\")[0]==e&&(t=n.split(\"=\")[1])}),t}(\"theme\"))?(function(e,t,n){var r=\"\";if(n){var o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3),r=\"; expires=\"+o.toUTCString()}document.cookie=e+\"=\"+(t||\"\")+r+\"; path=/\"}(\"theme\",i,7),i):o||\"classic\")+\".css\",l.type=\"text/css\",l.rel=\"stylesheet\",document.getElementsByTagName(\"head\")[0].appendChild(l),document.addEventListener(\"DOMContentLoaded\",function(){e(\"body\").append('<div class=\"settings\">\\n    <div class=\"settings-toggle toggle-settings\">\\n      <i class=\"align-middle\" data-feather=\"settings\"></i>\\n    </div>\\n\\n    <div class=\"settings-panel\">\\n      <div class=\"settings-content js-simplebar\">\\n        <div class=\"settings-title\">\\n          <button type=\"button\" class=\"close float-right toggle-settings\" aria-label=\"Close\">\\n            <span aria-hidden=\"true\">&times;</span>\\n          </button>\\n\\n          <h4>Settings</h4>\\n        </div>\\n\\n        <div class=\"settings-section\">\\n          <small class=\"d-block text-uppercase font-weight-bold text-muted mb-2\">Layouts</small>\\n\\n          <ul class=\"settings-layouts\">\\n            <li>\\n              <a class=\"settings-layouts-item\" href=\"layouts-sidebar-sticky.html\">\\n                Sticky Sidebar\\n                <small class=\"badge float-right mt-1\">\\n                  <i class=\"fas fa-angle-right\"></i>\\n                </small>\\n              </a>\\n            </li>\\n            <li>\\n              <a class=\"settings-layouts-item\" href=\"layouts-sidebar-collapsed.html\">\\n                Collapsed Sidebar\\n                <small class=\"badge float-right mt-1\">\\n                  <i class=\"fas fa-angle-right\"></i>\\n                </small>\\n              </a>\\n            </li>\\n            <li>\\n              <a class=\"settings-layouts-item\" href=\"layouts-boxed.html\">\\n                Boxed Layout\\n                <small class=\"badge float-right mt-1\">\\n                  <i class=\"fas fa-angle-right\"></i>\\n                </small>\\n              </a>\\n            </li>\\n          </ul>\\n        </div>\\n\\n        <div class=\"settings-section\">\\n          <small class=\"d-block text-uppercase font-weight-bold text-muted mb-2\">Themes</small>\\n\\n          <a class=\"settings-theme\" href=\"dashboard-analytics.html?theme=classic\">\\n            <img src=\"img/screenshots/theme-classic-small.png\" class=\"img-fluid\" alt=\"Classic\" />\\n            <span class=\"d-inline-block mt-1 text-muted\">Classic</span>\\n          </a>\\n\\n          <a class=\"settings-theme\" href=\"dashboard-analytics.html?theme=corporate\">\\n            <img src=\"img/screenshots/theme-corporate-small.png\" class=\"img-fluid\" alt=\"Corporate\" />\\n            <span class=\"d-inline-block mt-1 text-muted\">Corporate</span>\\n          </a>\\n\\n          <a class=\"settings-theme\" href=\"dashboard-analytics.html?theme=modern\">\\n            <img src=\"img/screenshots/theme-modern-small.png\" class=\"img-fluid\" alt=\"Modern\" />\\n            <span class=\"d-inline-block mt-1 text-muted\">Modern</span>\\n          </a>\\n        </div>\\n      </div>\\n    </div>\\n  </div>'),r.a.replace(),e(\".toggle-settings\").on(\"click\",function(t){t.preventDefault(),e(\".settings\").toggleClass(\"open\")})})}.call(this,n(1))},function(e,t,n){\"use strict\";var r=n(3),o=n(132),i=n(14);n(15)(\"search\",1,function(e,t,n,l){return[function(n){var r=e(this),o=null==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},function(e){var t=l(n,e,this);if(t.done)return t.value;var a=r(e),s=String(this),c=a.lastIndex;o(c,0)||(a.lastIndex=0);var u=i(a,s);return o(a.lastIndex,c)||(a.lastIndex=c),null===u?-1:u.index}]})},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}}]);"
  },
  {
    "path": "public/bd_data/cities.sql",
    "content": "INSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(1, 'Snow Hl', 2779, '36768', '251', '31.93847', '-87.015682', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(2, 'Snowhill', 2779, '36768', '251', '31.93847', '-87.015682', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(3, 'Opelika', 2779, '36802', '334', '32.6466', '-85.3814', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(4, 'Opelika', 2779, '36804', '334', '32.556397', '-85.33065', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(5, 'Phenix City', 2779, '36870', '334', '32.485808', '-85.121304', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(6, 'Smiths', 2779, '36877', '334', '32.565355', '-85.093993', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(7, 'Smiths Sta', 2779, '36877', '334', '32.565355', '-85.093993', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(8, 'Smiths Station', 2779, '36877', '334', '32.565355', '-85.093993', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(9, 'Butler', 2779, '36904', '205', '32.090524', '-88.232843', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(10, 'Lavaca', 2779, '36904', '205', '32.090524', '-88.232843', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(11, 'Riderwood', 2779, '36904', '205', '32.090524', '-88.232843', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(12, 'Melvin', 2779, '36913', '251', '31.9305', '-88.4586', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(13, 'Randolph', 2779, '36792', '334', '32.923135', '-86.893513', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(14, 'Fort Mitchell', 2779, '36856', '334', '32.292881', '-84.974062', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(15, 'Holy Trinity', 2779, '36859', '334', '32.1469', '-85.0737', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(16, 'Pine Hill', 2779, '36769', '334', '31.997468', '-87.543895', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(17, 'Sunny South', 2779, '36769', '334', '31.997468', '-87.543895', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(18, 'Yellow Bluff', 2779, '36769', '334', '31.997468', '-87.543895', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(19, 'Laf Ayette', 2779, '36862', '334', '32.916954', '-85.439526', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(20, 'Lafayette', 2779, '36862', '334', '32.916954', '-85.439526', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(21, 'Phenix City', 2779, '36869', '334', '32.407413', '-85.104656', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(22, 'Toxey', 2779, '36921', '251', '31.969595', '-88.261234', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(23, 'Safford', 2779, '36773', '334', '32.301062', '-87.382803', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(24, 'Sardis', 2779, '36775', '334', '32.22332', '-87.032384', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(25, 'Hatchechubbee', 2779, '36858', '334', '32.298202', '-85.305281', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(26, 'Riverview', 2779, '36872', '334', '32.7773', '-85.1473', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(27, 'Valley', 2779, '36872', '334', '32.7773', '-85.1473', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(28, 'Salem', 2779, '36874', '334', '32.569392', '-85.210476', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(29, 'Cuba', 2779, '36907', '205', '32.43391', '-88.320152', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(30, 'Gilbertown', 2779, '36908', '251', '31.90975', '-88.316134', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(31, 'Whitfield', 2779, '36925', '205', '32.460387', '-88.1621', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(32, 'York', 2779, '36925', '205', '32.460387', '-88.1621', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(33, 'Uniontown', 2779, '36786', '334', '32.457049', '-87.447081', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(34, 'Lawley', 2779, '36793', '334', '32.840095', '-86.998126', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(35, 'Cusseta', 2779, '36852', '334', '32.759879', '-85.26481', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(36, 'Fairfax', 2779, '36854', '334', '32.760178', '-85.197926', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(37, 'Langdale', 2779, '36854', '334', '32.760178', '-85.197926', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(38, 'Shawmut', 2779, '36854', '334', '32.760178', '-85.197926', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(39, 'Valley', 2779, '36854', '334', '32.760178', '-85.197926', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(40, 'La Nett', 2779, '36863', '334', '32.896902', '-85.255222', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(41, 'Lanett', 2779, '36863', '334', '32.896902', '-85.255222', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(42, 'Phenix City', 2779, '36868', '334', '32.4709', '-85.0005', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(43, 'Auburn', 2779, '36831', '334', '32.6099', '-85.4809', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(44, 'Camp Hill', 2779, '36850', '256', '32.804249', '-85.66997', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(45, 'Dana Point', 2783, '92629', '949', '33.477968', '-117.705853', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(46, 'Monarch Bay', 2783, '92629', '949', '33.477968', '-117.705853', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(47, 'Monarch Beach', 2783, '92629', '949', '33.477968', '-117.705853', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(48, 'Huntingtn Bch', 2783, '92647', '714', '33.726824', '-118.006881', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(49, 'Huntington Beach', 2783, '92647', '714', '33.726824', '-118.006881', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(50, 'Laguna Beach', 2783, '92654', '949', '33.5425', '-117.7825', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(51, 'Laguna Hills', 2783, '92654', '949', '33.5425', '-117.7825', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(52, 'Laguna Woods', 2783, '92654', '949', '33.5425', '-117.7825', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(53, 'Newport Beach', 2783, '92658', '949', '33.6187', '-117.9283', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(54, 'San Clemente', 2783, '92674', '949', '33.4266', '-117.6112', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(55, 'Westminster', 2783, '92683', '714', '33.749095', '-117.993666', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(56, 'Rancho Santa Margarita', 2783, '92688', '949', '33.622946', '-117.608258', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(57, 'Rancho Sta Marg', 2783, '92688', '949', '33.622946', '-117.608258', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(58, 'Rcho Sta Marg', 2783, '92688', '949', '33.622946', '-117.608258', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(59, 'Rsm', 2783, '92688', '949', '33.622946', '-117.608258', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(60, 'Santa Ana', 2783, '92799', '714', '33.7458', '-117.8667', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(61, 'Anaheim', 2783, '92806', '714', '33.830991', '-117.866806', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(62, 'Sunkist', 2783, '92806', '714', '33.830991', '-117.866806', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(63, 'Fullerton', 2783, '92838', '714', '33.8796', '-117.8978', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(64, 'Orange', 2783, '92867', '714', '33.813578', '-117.819197', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(65, 'Villa Park', 2783, '92867', '714', '33.813578', '-117.819197', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(66, 'Fillmore', 2783, '93015', '805', '34.417292', '-118.83974', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(67, 'Oak View', 2783, '93022', '805', '34.402466', '-119.295519', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(68, 'Oxnard', 2783, '93031', '805', '34.1975', '-119.1763', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(69, 'Piru', 2783, '93040', '805', '34.445358', '-118.750566', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(70, 'Naval Air Warfare Ctr', 2783, '93042', '805', '34.108842', '-119.110862', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(71, 'Naval Base Ventura County', 2783, '93042', '805', '34.108842', '-119.110862', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(72, 'Point Mugu Nawc', 2783, '93042', '805', '34.108842', '-119.110862', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(73, 'Port Hueneme', 2783, '93042', '805', '34.108842', '-119.110862', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(74, 'Pt Mugu Nawc', 2783, '93042', '805', '34.108842', '-119.110862', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(75, 'Farmers Insurance', 2783, '93099', '805', '34.2804', '-118.7349', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(76, 'Simi Valley', 2783, '93099', '805', '34.2804', '-118.7349', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(77, 'Santa Barbara', 2783, '93106', '805', '34.414418', '-119.847477', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(78, 'Uc Santa Barbara', 2783, '93106', '805', '34.414418', '-119.847477', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(79, 'Univ Of Ca Santa Barbara', 2783, '93106', '805', '34.414418', '-119.847477', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(80, 'Univ Of Cal Santa Barbara', 2783, '93106', '805', '34.414418', '-119.847477', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(81, 'Santa Barbara', 2783, '93140', '805', '34.4233', '-119.7035', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(82, 'Buttonwillow', 2783, '93206', '661', '35.403324', '-119.485439', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(83, 'Lake Isabella', 2783, '93240', '760', '35.619823', '-118.420461', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(84, 'Mountain Mesa', 2783, '93240', '760', '35.619823', '-118.420461', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(85, 'Springville', 2783, '93265', '559', '36.16904', '-118.669956', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(86, 'Bakersfield', 2783, '93301', '661', '35.387899', '-119.023585', '2018-11-29 04:49:20', '2018-11-29 04:49:20'),\n(87, 'Bakersfield', 2783, '93383', '661', '35.3736', '-119.0176', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(88, 'Pumpkin Center', 2783, '93383', '661', '35.3736', '-119.0176', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(89, 'Pumpkin Ctr', 2783, '93383', '661', '35.3736', '-119.0176', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(90, 'San Luis Obispo', 2783, '93401', '805', '35.254169', '-120.620655', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(91, 'Sn Luis Obisp', 2783, '93401', '805', '35.254169', '-120.620655', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(92, 'San Luis Obispo', 2783, '93406', '805', '35.2828', '-120.6587', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(93, 'Sn Luis Obisp', 2783, '93406', '805', '35.2828', '-120.6587', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(94, 'Avila Beach', 2783, '93424', '805', '35.188374', '-120.729238', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(95, 'Grover Beach', 2783, '93433', '805', '35.120852', '-120.622352', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(96, 'Harmony', 2783, '93435', '805', '35.49708', '-121.026901', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(97, 'Santa Ynez', 2783, '93460', '805', '34.702528', '-119.982506', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(98, 'Fremont Valley', 2783, '93501', '661', '35.083009', '-118.170632', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(99, 'Mojave', 2783, '93501', '661', '35.083009', '-118.170632', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(100, 'Acton', 2783, '93510', '661', '34.467941', '-118.182404', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(101, 'Aberdeen', 2783, '93526', '760', '36.875807', '-117.91238', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(102, 'Independence', 2783, '93526', '760', '36.875807', '-117.91238', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(103, 'Hi Vista', 2783, '93535', '661', '34.719866', '-117.903558', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(104, 'Lake La', 2783, '93535', '661', '34.719866', '-117.903558', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(105, 'Lake Los Angeles', 2783, '93535', '661', '34.719866', '-117.903558', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(106, 'Lancaster', 2783, '93535', '661', '34.719866', '-117.903558', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(107, 'Roosevelt Corner', 2783, '93535', '661', '34.719866', '-117.903558', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(108, 'Wilsona Gardens', 2783, '93535', '661', '34.719866', '-117.903558', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(109, 'Cutler', 2783, '93615', '559', '36.495384', '-119.283276', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(110, 'Five Points', 2783, '93624', '559', '36.389576', '-120.129948', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(111, 'Los Banos', 2783, '93635', '209', '36.985942', '-120.97594', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(112, 'Mendota', 2783, '93640', '559', '36.614222', '-120.606722', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(113, 'Bass Lake', 2783, '93669', '559', '37.277106', '-119.555693', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(114, 'Wishon', 2783, '93669', '559', '37.277106', '-119.555693', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(115, 'Fresno', 2783, '93717', '559', '36.7475', '-119.7716', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(116, 'Fresno', 2783, '93726', '559', '36.793996', '-119.759006', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(117, 'Fresno', 2783, '93760', '559', '36.7475', '-119.7716', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(118, 'Pacific Gas And Electric', 2783, '93760', '559', '36.7475', '-119.7716', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(119, 'Fresno', 2783, '93792', '559', '36.7475', '-119.7716', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(120, 'Gonzales', 2783, '93926', '831', '36.544856', '-121.421708', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(121, 'Monterey', 2783, '93942', '831', '36.6005', '-121.8938', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(122, 'Soledad', 2783, '93960', '831', '36.386325', '-121.345314', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(123, 'Daly City', 2783, '94017', '650', '37.6977', '-122.4792', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(124, 'Menlo Park', 2783, '94026', '650', '37.4539', '-122.1813', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(125, 'West Menlo Park', 2783, '94026', '650', '37.4539', '-122.1813', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(126, 'Moffett Field', 2783, '94035', '650', '37.414968', '-122.051724', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(127, 'Moffett Field Nas', 2783, '94035', '650', '37.414968', '-122.051724', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(128, 'Mountain View', 2783, '94035', '650', '37.414968', '-122.051724', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(129, 'Pacifica', 2783, '94044', '650', '37.614496', '-122.482002', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(130, 'Sharp Park', 2783, '94044', '650', '37.614496', '-122.482002', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(131, 'San Francisco', 2783, '94103', '415', '37.775504', '-122.41292', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(132, 'Mesa Verde', 2784, '81330', '970', '37.253315', '-108.447476', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(133, 'Mesa Verde National Park', 2784, '81330', '970', '37.253315', '-108.447476', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(134, 'Cedaredge', 2784, '81413', '970', '38.958259', '-107.901149', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(135, 'Coalby', 2784, '81413', '970', '38.958259', '-107.901149', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(136, 'Grand Mesa', 2784, '81413', '970', '38.958259', '-107.901149', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(137, 'De Beque', 2784, '81630', '970', '39.406873', '-108.526022', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(138, 'Rangely', 2784, '81648', '970', '39.936298', '-108.634176', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(139, 'Towaoc', 2784, '81334', '970', '37.166574', '-108.66807', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(140, 'Ute Mountain Indian Reservat', 2784, '81334', '970', '37.166574', '-108.66807', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(141, 'Eckert', 2784, '81418', '970', '38.891438', '-108.069573', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(142, 'Orchard City', 2784, '81418', '970', '38.891438', '-108.069573', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(143, 'Ridgway', 2784, '81432', '970', '38.104934', '-107.835108', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(144, 'Bear Mine', 2784, '81434', '970', '38.967231', '-107.305236', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(145, 'Somerset', 2784, '81434', '970', '38.967231', '-107.305236', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(146, 'Grand Jct', 2784, '81502', '970', '39.0637', '-108.55', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(147, 'Grand Junction', 2784, '81502', '970', '39.0637', '-108.55', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(148, 'Glenwood', 2784, '81602', '970', '39.4624', '-107.2577', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(149, 'Glenwood Spgs', 2784, '81602', '970', '39.4624', '-107.2577', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(150, 'Glenwood Springs', 2784, '81602', '970', '39.4624', '-107.2577', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(151, 'Aspen', 2784, '81611', '970', '39.138938', '-106.779889', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(152, 'Aspen Gerbaz', 2784, '81611', '970', '39.138938', '-106.779889', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(153, 'Battlement Mesa', 2784, '81636', '970', '39.4545', '-108.0524', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(154, 'Btlmt Mesa', 2784, '81636', '970', '39.4545', '-108.0524', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(155, 'Parachute', 2784, '81636', '970', '39.4545', '-108.0524', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(156, 'Antlers', 2784, '81650', '970', '39.711374', '-108.116372', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(157, 'Rifle', 2784, '81650', '970', '39.711374', '-108.116372', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(158, 'Rio Blanco', 2784, '81650', '970', '39.711374', '-108.116372', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(159, 'Rulison', 2784, '81650', '970', '39.711374', '-108.116372', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(160, 'Silt', 2784, '81652', '970', '39.497364', '-107.691897', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(161, 'Orlando', 2788, '32811', '407', '28.514038', '-81.442552', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(162, 'Orlo Vista', 2788, '32811', '407', '28.514038', '-81.442552', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(163, 'Deltona', 2788, '32728', '407', '28.9005', '-81.2639', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(164, 'Orlando', 2788, '32861', '407', '28.5382', '-81.3795', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(165, 'Molino', 2788, '32577', '850', '30.741665', '-87.401022', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(166, 'Choctaw Beach', 2788, '32578', '850', '30.518385', '-86.39623', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(167, 'Niceville', 2788, '32578', '850', '30.518385', '-86.39623', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(168, 'Shalimar', 2788, '32579', '850', '30.44975', '-86.570547', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(169, 'Gainesville', 2788, '32614', '352', '29.6514', '-82.3252', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(170, 'Gainesville', 2788, '32627', '352', '29.6478', '-82.3096', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(171, 'Chiefland', 2788, '32644', '352', '29.4937', '-82.9418', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(172, 'Lowell', 2788, '32663', '352', '29.3305', '-82.1917', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(173, 'Mc Intosh', 2788, '32664', '352', '29.441088', '-82.221224', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(174, 'Mcintosh', 2788, '32664', '352', '29.441088', '-82.221224', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(175, 'Longwood', 2788, '32779', '407', '28.734732', '-81.412573', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(176, 'Wekiva Spg', 2788, '32779', '407', '28.734732', '-81.412573', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(177, 'Wekiva Springs', 2788, '32779', '407', '28.734732', '-81.412573', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(178, 'Titusville', 2788, '32780', '321', '28.547278', '-80.853877', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(179, 'Titusville', 2788, '32781', '321', '28.6118', '-80.8078', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(180, 'Alys Beach', 2788, '32461', '850', '30.1589', '-85.6603', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(181, 'Panama City', 2788, '32461', '850', '30.1589', '-85.6603', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(182, 'Rosemary Bch', 2788, '32461', '850', '30.1589', '-85.6603', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(183, 'Rosemary Beach', 2788, '32461', '850', '30.1589', '-85.6603', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(184, 'Watersound', 2788, '32461', '850', '30.1589', '-85.6603', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(185, 'Vernon', 2788, '32462', '850', '30.495894', '-85.877934', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(186, 'Ntt Corry Field', 2788, '32511', '850', '30.4045', '-87.2918', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(187, 'Pensacola', 2788, '32511', '850', '30.4045', '-87.2918', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(188, 'Pensacola', 2788, '32514', '850', '30.538435', '-87.212207', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(189, 'Hurlburt Field', 2788, '32544', '850', '30.420814', '-86.701861', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(190, 'Hurlburt Fld', 2788, '32544', '850', '30.420814', '-86.701861', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(191, 'Telogia', 2788, '32360', '850', '30.191992', '-84.849198', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(192, 'Wacissa', 2788, '32361', '850', '30.356544', '-83.992572', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(193, 'Panama City', 2788, '32411', '850', '30.1588', '-85.6603', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(194, 'Jacksonville', 2788, '32211', '904', '30.333657', '-81.586521', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(195, 'Jacksonville', 2788, '32260', '904', '30.0889', '-81.6118', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(196, 'Jax', 2788, '32260', '904', '30.0889', '-81.6118', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(197, 'Saint Johns', 2788, '32260', '904', '30.0889', '-81.6118', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(198, 'St Johns', 2788, '32260', '904', '30.0889', '-81.6118', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(199, 'Apalachicola', 2788, '32329', '850', '29.7259', '-84.9833', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(200, 'Greensboro', 2788, '32330', '850', '30.574412', '-84.739082', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(201, 'Midway', 2788, '32343', '850', '30.492114', '-84.456296', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(202, 'Jax', 2788, '32211', '904', '30.333657', '-81.586521', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(203, 'Jacksonville', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(204, 'Jacksonville Nas', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:21', '2018-11-29 04:49:21'),\n(205, 'Jacksonville Naval Air Stati', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(206, 'Jax', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(207, 'Jax Naval Air', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(208, 'Nas Jacksonvle', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(209, 'Nas Jax', 2788, '32212', '904', '30.21984', '-81.679112', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(210, 'Jacksonville', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(211, 'Jacksonville Beach', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(212, 'Jax', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(213, 'Jax Bch', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(214, 'Mayport', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(215, 'Mayport Naval Housing', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(216, 'Maypt Nav Hou', 2788, '32227', '904', '30.38833', '-81.414627', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(217, 'Indialantic', 2788, '32903', '321', '28.107708', '-80.580642', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(218, 'Melbourne', 2788, '32903', '321', '28.107708', '-80.580642', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(219, 'Hollywood', 2788, '33021', '954', '26.021514', '-80.189988', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(220, 'Pembroke Park', 2788, '33021', '954', '26.021514', '-80.189988', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(221, 'Hollywood', 2788, '33022', '954', '26.0108', '-80.1499', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(222, 'Orlando', 2788, '32803', '407', '28.556902', '-81.347116', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(223, 'Orlando', 2788, '32806', '407', '28.511746', '-81.358173', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(224, 'Merritt Is', 2788, '32954', '321', '28.3553', '-80.6999', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(225, 'Merritt Island', 2788, '32954', '321', '28.3553', '-80.6999', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(226, 'Apopka', 2788, '32703', '407', '28.662967', '-81.51735', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(227, 'Deland', 2788, '32722', '386', '29.0938', '-81.3547', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(228, 'Glenwood', 2788, '32722', '386', '29.0938', '-81.3547', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(229, 'Mount Dora', 2788, '32756', '352', '28.8027', '-81.6446', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(230, 'Sanford', 2788, '32771', '407', '28.832284', '-81.299453', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(231, 'Sanford', 2788, '32772', '407', '28.8005', '-81.2734', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(232, 'Orlando', 2788, '32837', '407', '28.39027', '-81.439479', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(233, 'Edgewood', 2788, '32839', '407', '28.491738', '-81.409762', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(234, 'Orlando', 2788, '32839', '407', '28.491738', '-81.409762', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(235, 'Pine Castle', 2788, '32839', '407', '28.491738', '-81.409762', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(236, 'Orlando', 2788, '32886', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(237, 'Wells Fargo', 2788, '32886', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(238, 'Hbj', 2788, '32887', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(239, 'Mary Esther', 2788, '32569', '850', '30.417556', '-86.720655', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(240, 'Milton', 2788, '32571', '850', '30.664458', '-87.199242', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(241, 'Pace', 2788, '32571', '850', '30.664458', '-87.199242', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(242, 'Niceville', 2788, '32588', '850', '30.5167', '-86.4822', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(243, 'Gainesville', 2788, '32602', '352', '29.6514', '-82.3252', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(244, 'Gainesville', 2788, '32604', '352', '29.6514', '-82.3252', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(245, 'Bell', 2788, '32619', '352', '29.744934', '-82.849966', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(246, 'Bronson', 2788, '32621', '352', '29.395978', '-82.65688', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(247, 'High Springs', 2788, '32655', '386', '29.8298', '-82.5853', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(248, 'Keystone Heights', 2788, '32656', '352', '29.833768', '-81.945316', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(249, 'Keystone Hgts', 2788, '32656', '352', '29.833768', '-81.945316', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(250, 'City Of Pensacola', 2788, '32521', '850', '30.4213', '-87.2168', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(251, 'Pensacola', 2788, '32521', '850', '30.4213', '-87.2168', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(252, 'Jonesville', 2788, '32669', '352', '29.631327', '-82.581421', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(253, 'Newberry', 2788, '32669', '352', '29.631327', '-82.581421', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(254, 'Tioga', 2788, '32669', '352', '29.631327', '-82.581421', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(255, 'Quincy', 2788, '32353', '850', '30.5866', '-84.5836', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(256, 'Saint Marks', 2788, '32355', '850', '30.160693', '-84.213462', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(257, 'Panama City', 2788, '32402', '850', '30.1588', '-85.6603', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(258, 'Panama City', 2788, '32403', '850', '30.03695', '-85.538357', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(259, 'Tyndall AFB', 2788, '32403', '850', '30.03695', '-85.538357', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(260, 'Callaway', 2788, '32404', '850', '30.190935', '-85.502232', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(261, 'Panama City', 2788, '32404', '850', '30.190935', '-85.502232', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(262, 'Panama City', 2788, '32405', '850', '30.204027', '-85.672178', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(263, 'Altha', 2788, '32421', '850', '30.517054', '-85.204629', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(264, 'Fountain', 2788, '32438', '850', '30.501442', '-85.413296', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(265, 'Jacksonville', 2788, '32255', '904', '30.3318', '-81.6555', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(266, 'Jax', 2788, '32255', '904', '30.3318', '-81.6555', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(267, 'Tallahassee', 2788, '32302', '850', '30.4382', '-84.2808', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(268, 'Tallahassee', 2788, '32304', '850', '30.456156', '-84.354432', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(269, 'Tallahassee', 2788, '32318', '850', '30.5567', '-84.1766', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(270, 'Apalachicola', 2788, '32320', '850', '29.726682', '-85.088864', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(271, 'Sumatra', 2788, '32335', '850', '30.050223', '-85.079028', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(272, 'Jacksonville', 2788, '32218', '904', '30.487885', '-81.672378', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(273, 'Jax', 2788, '32218', '904', '30.487885', '-81.672378', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(274, 'Dinsmore', 2788, '32219', '904', '30.429535', '-81.820625', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(275, 'Jacksonville', 2788, '32219', '904', '30.429535', '-81.820625', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(276, 'Jax', 2788, '32219', '904', '30.429535', '-81.820625', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(277, 'Jacksonville', 2788, '32220', '904', '30.345845', '-81.863742', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(278, 'Jax', 2788, '32220', '904', '30.345845', '-81.863742', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(279, 'Jacksonville', 2788, '32221', '904', '30.251028', '-81.852886', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(280, 'Jax', 2788, '32221', '904', '30.251028', '-81.852886', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(281, 'Melbourne', 2788, '32910', '321', '28.0343', '-80.5888', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(282, 'Palm Bay', 2788, '32910', '321', '28.0343', '-80.5888', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(283, 'Harris Corp', 2788, '32919', '321', '28.0786', '-80.6026', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(284, 'Harris Corporation', 2788, '32919', '321', '28.0786', '-80.6026', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(285, 'Melbourne', 2788, '32919', '321', '28.0786', '-80.6026', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(286, 'Cooper City', 2788, '33026', '954', '26.026033', '-80.296383', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(287, 'Hollywood', 2788, '33026', '954', '26.026033', '-80.296383', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(288, 'Pembroke Lakes', 2788, '33026', '954', '26.026033', '-80.296383', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(289, 'Aloma', 2788, '32792', '407', '28.608664', '-81.298946', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(290, 'Winter Park', 2788, '32792', '407', '28.608664', '-81.298946', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(291, 'Maitland', 2788, '32794', '407', '28.6078', '-81.3527', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(292, 'Orlando', 2788, '32817', '407', '28.58937', '-81.246608', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(293, 'Union Park', 2788, '32817', '407', '28.58937', '-81.246608', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(294, 'Orlando', 2788, '32824', '407', '28.3969', '-81.336827', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(295, 'Alafaya', 2788, '32826', '407', '28.588667', '-81.184937', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(296, 'Orlando', 2788, '32826', '407', '28.588667', '-81.184937', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(297, 'Alafaya', 2788, '32833', '407', '28.479237', '-81.060059', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(298, 'Orlando', 2788, '32833', '407', '28.479237', '-81.060059', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(299, 'Orlando', 2788, '32835', '407', '28.52281', '-81.483258', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(300, 'Melbourne', 2788, '32951', '321', '27.967052', '-80.509795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(301, 'Melbourne Bch', 2788, '32951', '321', '27.967052', '-80.509795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(302, 'Melbourne Beach', 2788, '32951', '321', '27.967052', '-80.509795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(303, 'Altamonte Spg', 2788, '32701', '407', '28.663768', '-81.367196', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(304, 'Altamonte Springs', 2788, '32701', '407', '28.663768', '-81.367196', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(305, 'Deland', 2788, '32724', '386', '29.095463', '-81.23345', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(306, 'Eustis', 2788, '32726', '352', '28.860025', '-81.694352', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(307, 'Goldenrod', 2788, '32733', '407', '28.6072', '-81.3527', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(308, 'Oviedo', 2788, '32765', '407', '28.67714', '-81.203574', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(309, 'Paisley', 2788, '32767', '352', '29.015362', '-81.484262', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(310, 'Orlando', 2788, '32858', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(311, 'Orlando', 2788, '32867', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(312, 'Orlando', 2788, '32869', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(313, 'Amsouth', 2788, '32885', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(314, 'Orlando', 2788, '32885', '407', '28.5382', '-81.3795', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(315, 'Milton', 2788, '32583', '850', '30.566126', '-86.970229', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(316, 'Evinston', 2788, '32633', '850', '29.4868', '-82.2315', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(317, 'La Crosse', 2788, '32658', '352', '29.846654', '-82.400791', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(318, 'Mount Plymouth', 2788, '32776', '352', '28.82524', '-81.486338', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(319, 'Mt Plymouth', 2788, '32776', '352', '28.82524', '-81.486338', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(320, 'Sorrento', 2788, '32776', '352', '28.82524', '-81.486338', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(321, 'Winter Park', 2788, '32790', '407', '28.5998', '-81.3397', '2018-11-29 04:49:22', '2018-11-29 04:49:22'),\n(322, 'Kinard', 2788, '32449', '850', '30.278687', '-85.265966', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(323, 'Wewahitchka', 2788, '32449', '850', '30.278687', '-85.265966', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(324, 'Pensacola', 2788, '32501', '850', '30.424166', '-87.221055', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(325, 'Cantonment', 2788, '32533', '850', '30.61644', '-87.315274', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(326, 'Destin', 2788, '32540', '850', '30.3934', '-86.4958', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(327, 'Suwanee', 2788, '32692', '352', '29.3907', '-83.080062', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(328, 'Suwannee', 2788, '32692', '352', '29.3907', '-83.080062', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(329, 'State Of Florida', 2788, '32399', '850', '30.419694', '-84.23328', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(330, 'Tallahassee', 2788, '32399', '850', '30.419694', '-84.23328', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(331, 'P C Beach', 2788, '32417', '850', '30.1588', '-85.6603', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(332, 'Panama City', 2788, '32417', '850', '30.1588', '-85.6603', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(333, 'Panama City Beach', 2788, '32417', '850', '30.1588', '-85.6603', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(334, 'Campbellton', 2788, '32426', '850', '30.943179', '-85.370586', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(335, 'Graceville', 2788, '32440', '850', '30.902401', '-85.51101', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(336, 'Jacksonville', 2788, '32258', '904', '30.14475', '-81.540956', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(337, 'Jax', 2788, '32258', '904', '30.14475', '-81.540956', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(338, 'Florida State Univ Admin', 2788, '32306', '850', '30.441412', '-84.302295', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(339, 'Florida State University', 2788, '32306', '850', '30.441412', '-84.302295', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(340, 'Tallahassee', 2788, '32306', '850', '30.441412', '-84.302295', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(341, 'Centerville', 2788, '32317', '850', '30.467774', '-84.126652', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(342, 'Tallahassee', 2788, '32317', '850', '30.467774', '-84.126652', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(343, 'Jacksonville', 2788, '32217', '904', '30.240532', '-81.627276', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(344, 'Jax', 2788, '32217', '904', '30.240532', '-81.627276', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(345, 'Atlantic Beach', 2788, '32224', '904', '30.287288', '-81.473498', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(346, 'Jacksonville', 2788, '32224', '904', '30.287288', '-81.473498', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(347, 'Jax', 2788, '32224', '904', '30.287288', '-81.473498', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(348, 'Melbourne', 2788, '32907', '321', '28.020872', '-80.685406', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(349, 'Palm Bay', 2788, '32907', '321', '28.020872', '-80.685406', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(350, 'Canaveral Air Station', 2788, '32925', '321', '28.411661', '-80.582908', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(351, 'Canaveral As', 2788, '32925', '321', '28.411661', '-80.582908', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(352, 'Patrick AFB', 2788, '32925', '321', '28.411661', '-80.582908', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(353, 'Patrick Air Force Base', 2788, '32925', '321', '28.411661', '-80.582908', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(354, 'Cocoa', 2788, '32927', '321', '28.471902', '-80.817302', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(355, 'Port Saint John', 2788, '32927', '321', '28.471902', '-80.817302', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(356, 'Port St John', 2788, '32927', '321', '28.471902', '-80.817302', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(357, 'Hiawassee', 2788, '32818', '407', '28.590157', '-81.49678', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(358, 'Orlando', 2788, '32818', '407', '28.590157', '-81.49678', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(359, 'Pine Hills', 2788, '32818', '407', '28.590157', '-81.49678', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(360, 'Alafaya', 2788, '32825', '407', '28.525284', '-81.221638', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(361, 'Orlando', 2788, '32825', '407', '28.525284', '-81.221638', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(362, 'Altoona', 2788, '32702', '352', '29.052662', '-81.582922', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(363, 'Casselberry', 2788, '32718', '407', '28.6776', '-81.3282', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(364, 'Longwood', 2788, '32750', '407', '28.706389', '-81.343062', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(365, 'Mount Dora', 2788, '32757', '352', '28.7295', '-81.633224', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(366, 'Plymouth', 2788, '32768', '407', '28.6918', '-81.5477', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(367, 'Mc David', 2788, '32568', '850', '30.873291', '-87.458943', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(368, 'Walnut Hill', 2788, '32568', '850', '30.873291', '-87.458943', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(369, 'Fairfield', 2788, '32634', '352', '29.3669', '-82.2517', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(370, 'Gainesville', 2788, '32641', '352', '29.64289', '-82.243569', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(371, 'High Springs', 2788, '32643', '386', '29.816758', '-82.648925', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(372, 'Scottsmoor', 2788, '32775', '321', '28.772636', '-80.86528', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(373, 'Tangerine', 2788, '32777', '352', '28.7644', '-81.6308', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(374, 'Westville', 2788, '32464', '850', '30.848524', '-85.975656', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(375, 'Youngstown', 2788, '32466', '850', '30.374285', '-85.527148', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(376, 'Pensacola', 2788, '32507', '850', '30.347298', '-87.378692', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(377, 'Perdido Key', 2788, '32507', '850', '30.347298', '-87.378692', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(378, 'Pensacola', 2788, '32523', '850', '30.4213', '-87.2168', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(379, 'Pensacola', 2788, '32534', '850', '30.536989', '-87.294486', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(380, 'Destin', 2788, '32541', '850', '30.3981', '-86.455883', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(381, 'Fort Walton Beach', 2788, '32548', '850', '30.410176', '-86.657841', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(382, 'Ft Walton Bch', 2788, '32548', '850', '30.410176', '-86.657841', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(383, 'Ft Walton Beach', 2788, '32548', '850', '30.410176', '-86.657841', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(384, 'Okaloosa Is', 2788, '32548', '850', '30.410176', '-86.657841', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(385, 'Okaloosa Island', 2788, '32548', '850', '30.410176', '-86.657841', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(386, 'West Destin', 2788, '32548', '850', '30.410176', '-86.657841', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(387, 'Morriston', 2788, '32668', '352', '29.254058', '-82.52816', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(388, 'Perry', 2788, '32348', '850', '29.899208', '-83.55331', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(389, 'Shady Grove', 2788, '32357', '850', '30.268424', '-83.615742', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(390, 'Bascom', 2788, '32423', '850', '30.919988', '-85.045852', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(391, 'Defuniak Spgs', 2788, '32434', '850', '30.7433', '-86.3151', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(392, 'Defuniak Springs', 2788, '32434', '850', '30.7433', '-86.3151', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(393, 'Mossy Head', 2788, '32434', '850', '30.7433', '-86.3151', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(394, 'Greenwood', 2788, '32443', '850', '30.875773', '-85.126642', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(395, 'Jacksonville Beach', 2788, '32250', '904', '30.27988', '-81.416402', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(396, 'Jax', 2788, '32250', '904', '30.27988', '-81.416402', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(397, 'Jax Bch', 2788, '32250', '904', '30.27988', '-81.416402', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(398, 'Jax Beach', 2788, '32250', '904', '30.27988', '-81.416402', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(399, 'Jacksonville', 2788, '32257', '904', '30.195326', '-81.619327', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(400, 'Jax', 2788, '32257', '904', '30.195326', '-81.619327', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(401, 'Fruit Cove', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(402, 'Jacksonville', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(403, 'Jax', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(404, 'Julington Creek', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(405, 'Julington Crk', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(406, 'Saint Johns', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(407, 'St Johns', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(408, 'Switzerland', 2788, '32259', '904', '30.071014', '-81.572238', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(409, 'Florida A & M', 2788, '32307', '850', '30.425322', '-84.287631', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(410, 'Florida A And M University', 2788, '32307', '850', '30.425322', '-84.287631', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(411, 'Tallahassee', 2788, '32307', '850', '30.425322', '-84.287631', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(412, 'Centerville', 2788, '32309', '850', '30.579313', '-84.1019', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(413, 'Miccosukee', 2788, '32309', '850', '30.579313', '-84.1019', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(414, 'Tallahassee', 2788, '32309', '850', '30.579313', '-84.1019', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(415, 'Daytona Beach', 2788, '32125', '386', '29.2107', '-81.0232', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(416, 'Holly Hill', 2788, '32125', '386', '29.2107', '-81.0232', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(417, 'Jacksonville', 2788, '32223', '904', '30.155992', '-81.643814', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(418, 'Jax', 2788, '32223', '904', '30.155992', '-81.643814', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(419, 'Jacksonville', 2788, '32225', '904', '30.3539', '-81.499068', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(420, 'Jax', 2788, '32225', '904', '30.3539', '-81.499068', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(421, 'Melbourne', 2788, '32911', '321', '28.0343', '-80.5888', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(422, 'Palm Bay', 2788, '32911', '321', '28.0343', '-80.5888', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(423, 'Hialeah', 2788, '33016', '305', '25.89092', '-80.335299', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(424, 'Hialeah Gardens', 2788, '33016', '305', '25.89092', '-80.335299', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(425, 'Hialeah Gdns', 2788, '33016', '305', '25.89092', '-80.335299', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(426, 'Miami Lakes', 2788, '33016', '305', '25.89092', '-80.335299', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(427, 'Hialeah', 2788, '33018', '305', '25.917628', '-80.396594', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(428, 'Hialeah Gardens', 2788, '33018', '305', '25.917628', '-80.396594', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(429, 'Hialeah Gdns', 2788, '33018', '305', '25.917628', '-80.396594', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(430, 'Miami Lakes', 2788, '33018', '305', '25.917628', '-80.396594', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(431, 'Winter Park', 2788, '32793', '407', '28.5998', '-81.3397', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(432, 'Alafaya', 2788, '32816', '407', '28.601567', '-81.205061', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(433, 'Orlando', 2788, '32816', '407', '28.601567', '-81.205061', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(434, 'Ucf', 2788, '32816', '407', '28.601567', '-81.205061', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(435, 'University Of Central Fl', 2788, '32816', '407', '28.601567', '-81.205061', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(436, 'Orlando', 2788, '32827', '407', '28.399787', '-81.29195', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(437, 'Orlando', 2788, '32832', '407', '28.399958', '-81.179566', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(438, 'Eau Gallie', 2788, '32936', '321', '28.1289', '-80.6306', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(439, 'Melbourne', 2788, '32936', '321', '28.1289', '-80.6306', '2018-11-29 04:49:23', '2018-11-29 04:49:23'),\n(440, 'Grant Valkaria', 2788, '32950', '321', '27.968581', '-80.575869', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(441, 'Grant Vlkria', 2788, '32950', '321', '27.968581', '-80.575869', '2018-11-29 04:49:24', '2018-11-29 04:49:24');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(442, 'Malabar', 2788, '32950', '321', '27.968581', '-80.575869', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(443, 'Valkaria', 2788, '32950', '321', '27.968581', '-80.575869', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(444, 'Casselberry', 2788, '32707', '407', '28.661596', '-81.31389', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(445, 'Christmas', 2788, '32709', '407', '28.480313', '-80.985316', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(446, 'Deltona', 2788, '32725', '386', '28.88292', '-81.252373', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(447, 'Enterprise', 2788, '32725', '386', '28.88292', '-81.252373', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(448, 'Longwood', 2788, '32752', '407', '28.7028', '-81.3387', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(449, 'Oak Hill', 2788, '32759', '386', '28.847396', '-80.85373', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(450, 'Chuluota', 2788, '32766', '407', '28.658404', '-81.079264', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(451, 'Oviedo', 2788, '32766', '407', '28.658404', '-81.079264', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(452, 'Orlando', 2788, '32857', '407', '28.5382', '-81.3795', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(453, 'Orlando', 2788, '32859', '407', '28.5382', '-81.3795', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(454, 'Orlando', 2788, '32868', '407', '28.5382', '-81.3795', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(455, 'Pensacola', 2788, '32591', '850', '30.4213', '-87.2168', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(456, 'Gainesville', 2788, '32607', '352', '29.638422', '-82.422521', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(457, 'Gainesville', 2788, '32609', '352', '29.757942', '-82.275759', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(458, 'Alachua', 2788, '32616', '352', '29.787679', '-82.494362', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(459, 'Archer', 2788, '32618', '352', '29.553908', '-82.505358', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(460, 'Cedar Key', 2788, '32625', '352', '29.199556', '-82.979196', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(461, 'Melrose', 2788, '32666', '352', '29.724643', '-82.002428', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(462, 'Port Saint Joe', 2788, '32457', '850', '29.8264', '-85.3049', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(463, 'Port St Joe', 2788, '32457', '850', '29.8264', '-85.3049', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(464, 'P C Beach', 2788, '32407', '850', '30.212414', '-85.794488', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(465, 'Panama City', 2788, '32407', '850', '30.212414', '-85.794488', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(466, 'Panama City Beach', 2788, '32407', '850', '30.212414', '-85.794488', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(467, 'Freeport', 2788, '32439', '850', '30.498212', '-86.155213', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(468, 'Destin', 2788, '32550', '850', '30.39153', '-86.351061', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(469, 'Miramar Beach', 2788, '32550', '850', '30.39153', '-86.351061', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(470, 'Sandestin', 2788, '32550', '850', '30.39153', '-86.351061', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(471, 'Educ Dev Ctr Corresp', 2788, '32559', '850', '30.4213', '-87.2168', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(472, 'Pensacola', 2788, '32559', '850', '30.4213', '-87.2168', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(473, 'Tallahassee', 2788, '32316', '850', '30.4382', '-84.2808', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(474, 'Lanark Village', 2788, '32323', '850', '29.878909', '-84.597203', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(475, 'Lanark Vlg', 2788, '32323', '850', '29.878909', '-84.597203', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(476, 'Hosford', 2788, '32334', '850', '30.263916', '-84.766174', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(477, 'Madison', 2788, '32341', '850', '30.4649', '-83.4138', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(478, 'Allandale', 2788, '32123', '386', '29.2107', '-81.0232', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(479, 'Daytona Beach', 2788, '32123', '386', '29.2107', '-81.0232', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(480, 'Port Orange', 2788, '32123', '386', '29.2107', '-81.0232', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(481, 'Pt Orange', 2788, '32123', '386', '29.2107', '-81.0232', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(482, 'Titusville', 2788, '32796', '321', '28.604976', '-80.893774', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(483, 'Zellwood', 2788, '32798', '407', '28.726867', '-81.586232', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(484, 'Orlando', 2788, '32814', '407', '28.568006', '-81.32839', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(485, 'Orlando', 2788, '32829', '407', '28.479382', '-81.21844', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(486, 'Lake Buena Vista', 2788, '32830', '407', '28.389658', '-81.559816', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(487, 'Lk Buena Vis', 2788, '32830', '407', '28.389658', '-81.559816', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(488, 'Orlando', 2788, '32830', '407', '28.389658', '-81.559816', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(489, 'Apopka', 2788, '32712', '407', '28.731408', '-81.507027', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(490, 'Debary', 2788, '32713', '386', '28.87926', '-81.319747', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(491, 'Lake Helen', 2788, '32744', '386', '28.985613', '-81.216873', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(492, 'Mid Florida', 2788, '32745', '407', '28.75', '-81.67', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(493, 'Heathrow', 2788, '32746', '407', '28.761566', '-81.353668', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(494, 'Lake Mary', 2788, '32746', '407', '28.761566', '-81.353668', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(495, 'Oviedo', 2788, '32762', '407', '28.6703', '-81.2084', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(496, 'Osteen', 2788, '32764', '407', '28.86708', '-81.061158', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(497, 'Gulf Breeze', 2788, '32561', '850', '30.355596', '-87.11058', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(498, 'Pensacola Bch', 2788, '32561', '850', '30.355596', '-87.11058', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(499, 'Pensacola Beach', 2788, '32561', '850', '30.355596', '-87.11058', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(500, 'Gulf Breeze', 2788, '32562', '850', '30.3569', '-87.1636', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(501, 'Gulf Breeze', 2788, '32563', '850', '30.400437', '-87.052433', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(502, 'Valparaiso', 2788, '32580', '850', '30.509341', '-86.506155', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(503, 'Gainesville', 2788, '32611', '352', '29.644871', '-82.354374', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(504, 'University Of Fl', 2788, '32611', '352', '29.644871', '-82.354374', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(505, 'Gainesville', 2788, '32612', '352', '29.6557', '-82.3276', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(506, 'Univ Of Fl Student Dorms', 2788, '32612', '352', '29.6557', '-82.3276', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(507, 'University Of Fl', 2788, '32612', '352', '29.6557', '-82.3276', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(508, 'Lochloosa', 2788, '32662', '352', '29.52238', '-82.09383', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(509, 'Pensacola', 2788, '32512', '850', '30.3529', '-87.3242', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(510, 'Pensacola Naval Hospital', 2788, '32512', '850', '30.3529', '-87.3242', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(511, 'Pensacola', 2788, '32513', '407', '30.4213', '-87.2168', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(512, 'Old Town', 2788, '32680', '352', '29.570641', '-83.121912', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(513, 'Orange Lake', 2788, '32681', '352', '29.417963', '-82.216169', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(514, 'Woodville', 2788, '32362', '850', '30.3113', '-84.2488', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(515, 'Fl State Lot', 2788, '32395', '850', '30.4382', '-84.2808', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(516, 'Florida State Lottery', 2788, '32395', '850', '30.4382', '-84.2808', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(517, 'Tallahassee', 2788, '32395', '850', '30.4382', '-84.2808', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(518, 'Mexico Beach', 2788, '32410', '850', '29.945223', '-85.414043', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(519, 'Chipley', 2788, '32428', '850', '30.633716', '-85.579558', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(520, 'Sunny Hills', 2788, '32428', '850', '30.633716', '-85.579558', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(521, 'Marianna', 2788, '32446', '850', '30.861671', '-85.218049', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(522, 'Tallahassee', 2788, '32310', '850', '30.384952', '-84.500468', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(523, 'Crawfordville', 2788, '32327', '850', '30.173134', '-84.311774', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(524, 'Wakulla Spgs', 2788, '32327', '850', '30.173134', '-84.311774', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(525, 'Wakulla Springs', 2788, '32327', '850', '30.173134', '-84.311774', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(526, 'East Point', 2788, '32328', '850', '29.80058', '-84.895598', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(527, 'Eastpoint', 2788, '32328', '850', '29.80058', '-84.895598', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(528, 'Saint George Island', 2788, '32328', '850', '29.80058', '-84.895598', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(529, 'St George Isl', 2788, '32328', '850', '29.80058', '-84.895598', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(530, 'Monticello', 2788, '32344', '850', '30.468599', '-83.859098', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(531, 'Alligator Point', 2788, '32346', '850', '29.975935', '-84.427006', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(532, 'Alligator Pt', 2788, '32346', '850', '29.975935', '-84.427006', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(533, 'Ochlockonee', 2788, '32346', '850', '29.975935', '-84.427006', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(534, 'Ochlockonee Bay', 2788, '32346', '850', '29.975935', '-84.427006', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(535, 'Panacea', 2788, '32346', '850', '29.975935', '-84.427006', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(536, 'Marianna', 2788, '32447', '850', '30.760562', '-85.257032', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(537, 'Ponce Inlet', 2788, '32127', '386', '29.114039', '-80.974033', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(538, 'Port Orange', 2788, '32127', '386', '29.114039', '-80.974033', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(539, 'Jacksonville', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(540, 'Jax', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(541, 'Mayport', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(542, 'Mayport Nav Sta', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(543, 'Mayport Naval Sta', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(544, 'Melbourne', 2788, '32901', '321', '28.074742', '-80.632606', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(545, 'Hollywood', 2788, '33019', '954', '26.019622', '-80.123622', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(546, 'Cooper City', 2788, '33024', '954', '26.02722', '-80.244353', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(547, 'Hollywood', 2788, '33024', '954', '26.02722', '-80.244353', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(548, 'Pembroke Pines', 2788, '33024', '954', '26.02722', '-80.244353', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(549, 'Pembroke Pnes', 2788, '33024', '954', '26.02722', '-80.244353', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(550, 'Orlando', 2788, '32801', '407', '28.544608', '-81.374546', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(551, 'Orlando', 2788, '32819', '407', '28.450127', '-81.472588', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(552, 'Sand Lake', 2788, '32819', '407', '28.450127', '-81.472588', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(553, 'Melbourne', 2788, '32935', '321', '28.149498', '-80.644461', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(554, 'Suntree', 2788, '32935', '321', '28.149498', '-80.644461', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(555, 'Eatonville', 2788, '32751', '407', '28.629622', '-81.362945', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(556, 'Maitland', 2788, '32751', '407', '28.629622', '-81.362945', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(557, 'Laurel Hill', 2788, '32567', '850', '30.903844', '-86.439234', '2018-11-29 04:49:24', '2018-11-29 04:49:24'),\n(558, 'Alachua', 2788, '32615', '386', '29.821385', '-82.490936', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(559, 'Santa Fe', 2788, '32615', '386', '29.821385', '-82.490936', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(560, 'Anthony', 2788, '32617', '352', '29.305096', '-82.076293', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(561, 'Micanopy', 2788, '32667', '352', '29.552447', '-82.313962', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(562, 'Orange City', 2788, '32774', '386', '28.9487', '-81.2987', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(563, 'Pensacola', 2788, '32508', '850', '30.351094', '-87.302993', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(564, 'Pensacola', 2788, '32524', '850', '30.4213', '-87.2168', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(565, 'Baker', 2788, '32531', '850', '30.862499', '-86.666683', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(566, 'Dfafs', 2788, '32542', '850', '30.55959', '-86.70673', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(567, 'Duke Field Afs', 2788, '32542', '850', '30.55959', '-86.70673', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(568, 'Eglin', 2788, '32542', '850', '30.55959', '-86.70673', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(569, 'Eglin AFB', 2788, '32542', '850', '30.55959', '-86.70673', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(570, 'Elgin', 2788, '32542', '850', '30.55959', '-86.70673', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(571, 'Elgin AFB', 2788, '32542', '850', '30.55959', '-86.70673', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(572, 'Perry', 2788, '32347', '850', '30.093209', '-83.669483', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(573, 'P C Beach', 2788, '32401', '850', '30.161352', '-85.668828', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(574, 'Panama City', 2788, '32401', '850', '30.161352', '-85.668828', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(575, 'Panama City Beach', 2788, '32401', '850', '30.161352', '-85.668828', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(576, 'P C Beach', 2788, '32408', '850', '30.154595', '-85.759372', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(577, 'Panama City', 2788, '32408', '850', '30.154595', '-85.759372', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(578, 'Panama City Beach', 2788, '32408', '850', '30.154595', '-85.759372', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(579, 'Blountstown', 2788, '32424', '850', '30.403165', '-85.062812', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(580, 'Cottondale', 2788, '32431', '850', '30.807163', '-85.409444', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(581, 'Jacob', 2788, '32431', '850', '30.807163', '-85.409444', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(582, 'Defuniak Spgs', 2788, '32433', '850', '30.824765', '-86.214782', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(583, 'Defuniak Springs', 2788, '32433', '850', '30.824765', '-86.214782', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(584, 'Fort Walton Beach', 2788, '32549', '850', '30.4057', '-86.6188', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(585, 'Ft Walton Bch', 2788, '32549', '850', '30.4057', '-86.6188', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(586, 'Ft Walton Beach', 2788, '32549', '850', '30.4057', '-86.6188', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(587, 'Gonzalez', 2788, '32560', '850', '30.5814', '-87.2916', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(588, 'Jacksonville', 2788, '32256', '904', '30.181', '-81.518228', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(589, 'Jax', 2788, '32256', '904', '30.181', '-81.518228', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(590, 'Centerville', 2788, '32308', '850', '30.472782', '-84.220316', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(591, 'Tallahassee', 2788, '32308', '850', '30.472782', '-84.220316', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(592, 'Tallahassee', 2788, '32315', '850', '30.4382', '-84.2808', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(593, 'Crawfordville', 2788, '32326', '850', '30.1758', '-84.3754', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(594, 'Havana', 2788, '32333', '850', '30.59457', '-84.399903', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(595, 'Madison', 2788, '32340', '850', '30.453366', '-83.405166', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(596, 'Orlando', 2788, '32899', '321', '28.38702', '-80.60214', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(597, 'Melbourne', 2788, '32908', '321', '27.954586', '-80.720911', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(598, 'Palm Bay', 2788, '32908', '321', '27.954586', '-80.720911', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(599, 'Cocoa', 2788, '32924', '321', '28.3859', '-80.7423', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(600, 'Cocoa', 2788, '32926', '321', '28.408068', '-80.823502', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(601, 'Hialeah', 2788, '33017', '305', '25.8572', '-80.2786', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(602, 'Miami Gardens', 2788, '33017', '305', '25.8572', '-80.2786', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(603, 'Mid Florida', 2788, '32799', '407', '28.6276', '-81.3595', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(604, 'Orlando', 2788, '32808', '407', '28.580156', '-81.440948', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(605, 'Pine Hills', 2788, '32808', '407', '28.580156', '-81.440948', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(606, 'Lockhart', 2788, '32810', '407', '28.619332', '-81.433495', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(607, 'Orlando', 2788, '32810', '407', '28.619332', '-81.433495', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(608, 'Kennedy Sp Ct', 2788, '32815', '321', '28.691548', '-80.715556', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(609, 'Kennedy Space Center', 2788, '32815', '321', '28.691548', '-80.715556', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(610, 'Orlando', 2788, '32815', '321', '28.691548', '-80.715556', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(611, 'Grant', 2788, '32949', '321', '27.909042', '-80.554082', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(612, 'Grant Valkaria', 2788, '32949', '321', '27.909042', '-80.554082', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(613, 'Grant Vlkria', 2788, '32949', '321', '27.909042', '-80.554082', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(614, 'Casselberry', 2788, '32708', '407', '28.681494', '-81.276062', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(615, 'Winter Spgs', 2788, '32708', '407', '28.681494', '-81.276062', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(616, 'Winter Springs', 2788, '32708', '407', '28.681494', '-81.276062', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(617, 'Clarcona', 2788, '32710', '407', '28.6125', '-81.4986', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(618, 'Altamonte Spg', 2788, '32715', '321', '28.6609', '-81.3658', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(619, 'Altamonte Springs', 2788, '32715', '321', '28.6609', '-81.3658', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(620, 'Grand Island', 2788, '32735', '352', '28.903536', '-81.73882', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(621, 'Orlando', 2788, '32860', '407', '28.5382', '-81.3795', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(622, 'Jay', 2788, '32565', '850', '30.876739', '-87.11074', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(623, 'Gainesville', 2788, '32601', '352', '29.63964', '-82.321462', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(624, 'Gainesville', 2788, '32608', '352', '29.586076', '-82.403135', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(625, 'Gainesville', 2788, '32610', '352', '29.6514', '-82.3252', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(626, 'University Medical Center', 2788, '32610', '352', '29.6514', '-82.3252', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(627, 'Chiefland', 2788, '32626', '352', '29.408306', '-82.906874', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(628, 'Gainesville', 2788, '32635', '352', '29.6478', '-82.3096', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(629, 'Cross Creek', 2788, '32640', '352', '29.588118', '-82.089568', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(630, 'Hawthorne', 2788, '32640', '352', '29.588118', '-82.089568', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(631, 'Titusville', 2788, '32783', '321', '28.6118', '-80.8078', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(632, 'Cape San Blas', 2788, '32456', '850', '29.841014', '-85.237863', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(633, 'Mexico Beach', 2788, '32456', '850', '29.841014', '-85.237863', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(634, 'Overstreet', 2788, '32456', '850', '29.841014', '-85.237863', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(635, 'Port Saint Joe', 2788, '32456', '850', '29.841014', '-85.237863', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(636, 'Port St Joe', 2788, '32456', '850', '29.841014', '-85.237863', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(637, 'Wewahitchka', 2788, '32465', '850', '29.989612', '-85.201182', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(638, 'White City', 2788, '32465', '850', '29.989612', '-85.201182', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(639, 'Pensacola', 2788, '32506', '850', '30.391071', '-87.349416', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(640, 'Bellview', 2788, '32526', '850', '30.502173', '-87.361307', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(641, 'Pensacola', 2788, '32526', '850', '30.502173', '-87.361307', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(642, 'Otter Creek', 2788, '32683', '352', '29.310085', '-82.784734', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(643, 'Quincy', 2788, '32351', '850', '30.510516', '-84.669896', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(644, 'Salem', 2788, '32356', '352', '29.807849', '-83.385455', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(645, 'Saint Teresa', 2788, '32358', '850', '30.13583', '-84.572748', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(646, 'Sopchoppy', 2788, '32358', '850', '30.13583', '-84.572748', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(647, 'St Teresa', 2788, '32358', '850', '30.13583', '-84.572748', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(648, 'Panama City', 2788, '32406', '850', '30.1588', '-85.6603', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(649, 'Grand Ridge', 2788, '32442', '850', '30.72311', '-84.99193', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(650, 'Tallahassee', 2788, '32301', '850', '30.42613', '-84.251652', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(651, 'Carrabelle', 2788, '32322', '850', '29.894965', '-84.663192', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(652, 'Chattahoochee', 2788, '32324', '850', '30.649181', '-84.784764', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(653, 'Greenville', 2788, '32331', '850', '30.447165', '-83.649934', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(654, 'Daytona Beach', 2788, '32124', '386', '29.130812', '-81.14881', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(655, 'Jacksonville', 2788, '32222', '904', '30.217898', '-81.832761', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(656, 'Jax', 2788, '32222', '904', '30.217898', '-81.832761', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(657, 'Melbourne', 2788, '32912', '321', '28.0343', '-80.5888', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(658, 'W Melbourne', 2788, '32912', '321', '28.0343', '-80.5888', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(659, 'West Melbourne', 2788, '32912', '321', '28.0343', '-80.5888', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(660, 'Cocoa Beach', 2788, '32931', '321', '28.325736', '-80.622511', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(661, 'Hialeah', 2788, '33015', '305', '25.937131', '-80.321976', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(662, 'Hialeah Lakes', 2788, '33015', '305', '25.937131', '-80.321976', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(663, 'Miami Gardens', 2788, '33015', '305', '25.937131', '-80.321976', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(664, 'Miami Lakes', 2788, '33015', '305', '25.937131', '-80.321976', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(665, 'Palm Springs North', 2788, '33015', '305', '25.937131', '-80.321976', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(666, 'Lake Mary', 2788, '32795', '386', '28.7587', '-81.3184', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(667, 'Belle Isle', 2788, '32812', '407', '28.490201', '-81.332839', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(668, 'Orlando', 2788, '32812', '407', '28.490201', '-81.332839', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(669, 'Alafaya', 2788, '32828', '407', '28.520052', '-81.165998', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(670, 'Orlando', 2788, '32828', '407', '28.520052', '-81.165998', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(671, 'Alafaya', 2788, '32831', '407', '28.474275', '-81.141981', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(672, 'Orlando', 2788, '32831', '407', '28.474275', '-81.141981', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(673, 'Fellsmere', 2788, '32948', '561', '27.742174', '-80.590502', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(674, 'Williston', 2788, '32696', '352', '29.394132', '-82.470256', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(675, 'Worthington Springs', 2788, '32697', '386', '29.933435', '-82.438962', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(676, 'Worthngtn Spg', 2788, '32697', '386', '29.933435', '-82.438962', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(677, 'Altamonte Spg', 2788, '32714', '407', '28.665334', '-81.415734', '2018-11-29 04:49:25', '2018-11-29 04:49:25'),\n(678, 'Altamonte Springs', 2788, '32714', '407', '28.665334', '-81.415734', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(679, 'Forest City', 2788, '32714', '407', '28.665334', '-81.415734', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(680, 'Casselberry', 2788, '32730', '407', '28.653652', '-81.343058', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(681, 'Fern Park', 2788, '32730', '407', '28.653652', '-81.343058', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(682, 'Lake Monroe', 2788, '32747', '407', '28.8247', '-81.3274', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(683, 'Orange City', 2788, '32763', '386', '28.940703', '-81.314389', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(684, 'Orlando', 2788, '32862', '407', '28.5382', '-81.3795', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(685, 'Alafaya', 2788, '32878', '407', '28.5382', '-81.3795', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(686, 'Orlando', 2788, '32878', '407', '28.5382', '-81.3795', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(687, 'Holt', 2788, '32564', '850', '30.731854', '-86.797347', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(688, 'Cross City', 2788, '32628', '352', '29.629017', '-83.113702', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(689, 'Earleton', 2788, '32631', '352', '29.725754', '-82.096239', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(690, 'Deer Island', 2788, '32778', '352', '28.780344', '-81.725048', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(691, 'Tavares', 2788, '32778', '352', '28.780344', '-81.725048', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(692, 'Sneads', 2788, '32460', '850', '30.784079', '-84.955468', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(693, 'Wausau', 2788, '32463', '850', '30.631883', '-85.590218', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(694, 'Bagdad', 2788, '32530', '850', '30.5987', '-87.0312', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(695, 'Fort Walton Beach', 2788, '32547', '850', '30.467448', '-86.643616', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(696, 'Ft Walton Bch', 2788, '32547', '850', '30.467448', '-86.643616', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(697, 'Ft Walton Beach', 2788, '32547', '850', '30.467448', '-86.643616', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(698, 'Waldo', 2788, '32694', '352', '29.79081', '-82.142234', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(699, 'Panama City', 2788, '32412', '850', '30.1588', '-85.6603', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(700, 'Grande Pointe', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(701, 'Inlet Beach', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(702, 'P C Beach', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(703, 'Panama City', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(704, 'Panama City Beach', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(705, 'Rosemary Bch', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(706, 'Seacrest', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(707, 'W Panama City Beach', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(708, 'Watersound', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(709, 'West Panama City Beach', 2788, '32413', '850', '30.309241', '-85.936658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(710, 'Caryville', 2788, '32427', '850', '30.717134', '-85.79561', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(711, 'Clarksville', 2788, '32430', '850', '30.400377', '-85.267353', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(712, 'Lynn Haven', 2788, '32444', '850', '30.230602', '-85.64364', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(713, 'Malone', 2788, '32445', '850', '30.965611', '-85.191602', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(714, 'Jacksonville', 2788, '32210', '904', '30.274794', '-81.751056', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(715, 'Jax', 2788, '32210', '904', '30.274794', '-81.751056', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(716, 'Jacksonville', 2788, '32277', '904', '30.374461', '-81.590205', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(717, 'Jax', 2788, '32277', '904', '30.374461', '-81.590205', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(718, 'Tallahassee', 2788, '32311', '850', '30.363739', '-84.163013', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(719, 'Tallahassee', 2788, '32312', '850', '30.579714', '-84.2056', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(720, 'Fl State Univ Student', 2788, '32313', '850', '30.4396', '-84.2807', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(721, 'Florida State', 2788, '32313', '850', '30.4396', '-84.2807', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(722, 'Florida State University', 2788, '32313', '850', '30.4396', '-84.2807', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(723, 'Tallahassee', 2788, '32313', '850', '30.4396', '-84.2807', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(724, 'Monticello', 2788, '32345', '850', '30.5459', '-83.8682', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(725, 'Daytona Beach', 2788, '32126', '386', '29.2107', '-81.0232', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(726, 'Jacksonville', 2788, '32226', '904', '30.479938', '-81.523063', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(727, 'Jax', 2788, '32226', '904', '30.479938', '-81.523063', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(728, 'Melbourne', 2788, '32902', '321', '28.0786', '-80.6026', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(729, 'Grant Valkaria', 2788, '32909', '321', '27.910836', '-80.657419', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(730, 'Grant Vlkria', 2788, '32909', '321', '27.910836', '-80.657419', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(731, 'Melbourne', 2788, '32909', '321', '27.910836', '-80.657419', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(732, 'Palm Bay', 2788, '32909', '321', '27.910836', '-80.657419', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(733, 'Cocoa Beach', 2788, '32932', '321', '28.3198', '-80.6078', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(734, 'Eau Gallie', 2788, '32934', '321', '28.16412', '-80.710678', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(735, 'Hollywood', 2788, '33025', '954', '25.98295', '-80.279457', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(736, 'Miramar', 2788, '33025', '954', '25.98295', '-80.279457', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(737, 'Pembroke Pines', 2788, '33025', '954', '25.98295', '-80.279457', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(738, 'Pembroke Pnes', 2788, '33025', '954', '25.98295', '-80.279457', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(739, 'Orlando', 2788, '32802', '407', '28.5383', '-81.3794', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(740, 'Azalea Park', 2788, '32807', '407', '28.552797', '-81.303914', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(741, 'Orlando', 2788, '32807', '407', '28.552797', '-81.303914', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(742, 'Belle Isle', 2788, '32809', '407', '28.462617', '-81.390323', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(743, 'Edgewood', 2788, '32809', '407', '28.462617', '-81.390323', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(744, 'Orlando', 2788, '32809', '407', '28.462617', '-81.390323', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(745, 'Pine Castle', 2788, '32809', '407', '28.462617', '-81.390323', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(746, 'Alafaya', 2788, '32834', '407', '28.4078', '-81.0314', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(747, 'Orlando', 2788, '32834', '407', '28.4078', '-81.0314', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(748, 'Melbourne', 2788, '32934', '321', '28.16412', '-80.710678', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(749, 'Melbourne', 2788, '32941', '321', '28.0786', '-80.6026', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(750, 'Merritt Is', 2788, '32952', '321', '28.275615', '-80.656562', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(751, 'Merritt Island', 2788, '32952', '321', '28.275615', '-80.656562', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(752, 'Altamonte Spg', 2788, '32716', '407', '28.6609', '-81.3658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(753, 'Altamonte Springs', 2788, '32716', '407', '28.6609', '-81.3658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(754, 'Eustis', 2788, '32727', '352', '28.8526', '-81.6856', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(755, 'Geneva', 2788, '32732', '407', '28.75025', '-81.109942', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(756, 'Orlando', 2788, '32877', '407', '28.5382', '-81.3795', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(757, 'Gulf Breeze', 2788, '32566', '850', '30.427269', '-86.88539', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(758, 'Navarre', 2788, '32566', '850', '30.427269', '-86.88539', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(759, 'Horseshoe Bch', 2788, '32648', '352', '29.552851', '-83.258956', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(760, 'Horseshoe Beach', 2788, '32648', '352', '29.552851', '-83.258956', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(761, 'Dona Vista', 2788, '32784', '352', '28.927041', '-81.649598', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(762, 'Umatilla', 2788, '32784', '352', '28.927041', '-81.649598', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(763, 'Longwood', 2788, '32791', '407', '28.7029', '-81.3387', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(764, 'Wekiva Spg', 2788, '32791', '407', '28.7029', '-81.3387', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(765, 'Wekiva Springs', 2788, '32791', '407', '28.7029', '-81.3387', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(766, 'Point Washington', 2788, '32459', '850', '30.361486', '-86.159116', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(767, 'Pt Washington', 2788, '32459', '850', '30.361486', '-86.159116', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(768, 'Santa Rosa Beach', 2788, '32459', '850', '30.361486', '-86.159116', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(769, 'Santa Rsa Bch', 2788, '32459', '850', '30.361486', '-86.159116', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(770, 'Netpmdsa Saufley Field', 2788, '32509', '850', '30.4729', '-87.3366', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(771, 'Pensacola', 2788, '32509', '850', '30.4729', '-87.3366', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(772, 'Pensacola', 2788, '32516', '850', '30.4213', '-87.2168', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(773, 'Fanning Spgs', 2788, '32693', '352', '29.672705', '-82.81504', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(774, 'Fanning Springs', 2788, '32693', '352', '29.672705', '-82.81504', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(775, 'Trenton', 2788, '32693', '352', '29.672705', '-82.81504', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(776, 'Pinetta', 2788, '32350', '850', '30.58759', '-83.326005', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(777, 'Jena', 2788, '32359', '352', '29.631199', '-83.33289', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(778, 'Steinhatchee', 2788, '32359', '352', '29.631199', '-83.33289', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(779, 'Panama City', 2788, '32409', '850', '30.337724', '-85.717644', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(780, 'Southport', 2788, '32409', '850', '30.337724', '-85.717644', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(781, 'Bonifay', 2788, '32425', '850', '30.825743', '-85.732407', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(782, 'Caryville', 2788, '32425', '850', '30.825743', '-85.732407', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(783, 'Esto', 2788, '32425', '850', '30.825743', '-85.732407', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(784, 'Noma', 2788, '32425', '850', '30.825743', '-85.732407', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(785, 'Cypress', 2788, '32432', '850', '30.715808', '-85.076419', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(786, 'Jacksonville', 2788, '32209', '904', '30.362492', '-81.697102', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(787, 'Jax', 2788, '32209', '904', '30.362492', '-81.697102', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(788, 'Jacksonville', 2788, '32266', '904', '30.315813', '-81.414819', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(789, 'Jax', 2788, '32266', '904', '30.315813', '-81.414819', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(790, 'Neptune Beach', 2788, '32266', '904', '30.315813', '-81.414819', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(791, 'Tallahassee', 2788, '32314', '850', '30.4382', '-84.2808', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(792, 'Gretna', 2788, '32332', '850', '30.614775', '-84.667248', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(793, 'Marianna', 2788, '32448', '850', '30.675239', '-85.188658', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(794, 'Jacksonville', 2788, '32214', '904', '30.217512', '-81.688882', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(795, 'Jacksonville Naval Hospital', 2788, '32214', '904', '30.217512', '-81.688882', '2018-11-29 04:49:26', '2018-11-29 04:49:26'),\n(796, 'Jax', 2788, '32214', '904', '30.217512', '-81.688882', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(797, 'Jax Naval Hos', 2788, '32214', '904', '30.217512', '-81.688882', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(798, 'Jacksonville', 2788, '32216', '904', '30.27907', '-81.586122', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(799, 'Jax', 2788, '32216', '904', '30.27907', '-81.586122', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(800, 'Melbourne', 2788, '32904', '321', '28.079396', '-80.753872', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(801, 'Melbourne Village', 2788, '32904', '321', '28.079396', '-80.753872', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(802, 'Melbourne Vlg', 2788, '32904', '321', '28.079396', '-80.753872', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(803, 'W Melbourne', 2788, '32904', '321', '28.079396', '-80.753872', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(804, 'West Melbourne', 2788, '32904', '321', '28.079396', '-80.753872', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(805, 'Melbourne', 2788, '32905', '321', '28.03788', '-80.611455', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(806, 'Palm Bay', 2788, '32905', '321', '28.03788', '-80.611455', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(807, 'Melbourne', 2788, '32906', '321', '28.0786', '-80.6026', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(808, 'Palm Bay', 2788, '32906', '321', '28.0786', '-80.6026', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(809, 'Hollywood', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(810, 'Miramar', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(811, 'Pembroke Park', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(812, 'Pembroke Pines', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(813, 'Pembroke Pnes', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(814, 'W Hollywood', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(815, 'West Hollywood', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(816, 'West Park', 2788, '33023', '954', '25.991066', '-80.211084', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(817, 'Orlando', 2788, '32804', '407', '28.580513', '-81.39597', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(818, 'Orlando', 2788, '32805', '407', '28.527395', '-81.408527', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(819, 'Alafaya', 2788, '32820', '407', '28.574355', '-81.097485', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(820, 'Orlando', 2788, '32820', '407', '28.574355', '-81.097485', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(821, 'Orlando', 2788, '32822', '407', '28.496139', '-81.289707', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(822, 'Melbourne', 2788, '32940', '321', '28.223774', '-80.709776', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(823, 'Palm Shores', 2788, '32940', '321', '28.223774', '-80.709776', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(824, 'Viera', 2788, '32940', '321', '28.223774', '-80.709776', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(825, 'Cassadaga', 2788, '32706', '386', '28.966348', '-81.236644', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(826, 'Deland', 2788, '32720', '386', '28.987676', '-81.4007', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(827, 'Deland', 2788, '32721', '386', '29.0275', '-81.3052', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(828, 'Deland', 2788, '32723', '386', '0', '0', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(829, 'Stetson University', 2788, '32723', '386', '0', '0', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(830, 'Eustis', 2788, '32736', '352', '28.910838', '-81.537149', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(831, 'Deltona', 2788, '32738', '386', '28.908833', '-81.18572', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(832, 'Debary', 2788, '32753', '386', '28.8833', '-81.3092', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(833, 'Mims', 2788, '32754', '321', '28.723069', '-80.941661', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(834, 'Orlando', 2788, '32854', '407', '28.5382', '-81.3795', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(835, 'Orlando', 2788, '32856', '407', '28.5382', '-81.3795', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(836, 'Milton', 2788, '32572', '850', '30.6322', '-87.0397', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(837, 'Gainesville', 2788, '32603', '352', '29.650816', '-82.355896', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(838, 'Gainesville', 2788, '32605', '352', '29.681288', '-82.385641', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(839, 'Gainesville', 2788, '32606', '352', '29.684186', '-82.442382', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(840, 'Gulf Hammock', 2788, '32639', '352', '29.233089', '-82.746614', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(841, 'Sanford', 2788, '32773', '407', '28.749288', '-81.247778', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(842, 'Winter Park', 2788, '32789', '407', '28.60018', '-81.358351', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(843, 'Noma', 2788, '32452', '850', '30.9817', '-85.6188', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(844, 'Bruce', 2788, '32455', '850', '30.646212', '-85.96953', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(845, 'Ponce De Leon', 2788, '32455', '850', '30.646212', '-85.96953', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(846, 'Red Bay', 2788, '32455', '850', '30.646212', '-85.96953', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(847, 'Pensacola', 2788, '32503', '850', '30.462238', '-87.217528', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(848, 'Cape Canaveral', 2788, '32920', '321', '28.402381', '-80.614942', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(849, 'Cpe Canaveral', 2788, '32920', '321', '28.402381', '-80.614942', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(850, 'Port Canaveral', 2788, '32920', '321', '28.402381', '-80.614942', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(851, 'Pt Canaveral', 2788, '32920', '321', '28.402381', '-80.614942', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(852, 'Cocoa', 2788, '32922', '321', '28.374614', '-80.745986', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(853, 'Cocoa', 2788, '32923', '321', '28.3859', '-80.7423', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(854, 'Hollywood', 2788, '33020', '954', '26.022261', '-80.149893', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(855, 'Bay Lake', 2788, '32821', '407', '28.384234', '-81.481519', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(856, 'Orlando', 2788, '32821', '407', '28.384234', '-81.481519', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(857, 'Ind Hbr Bch', 2788, '32937', '321', '28.174155', '-80.5998', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(858, 'Indian Harbour Beach', 2788, '32937', '321', '28.174155', '-80.5998', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(859, 'Indn Hbr Bch', 2788, '32937', '321', '28.174155', '-80.5998', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(860, 'Melbourne', 2788, '32937', '321', '28.174155', '-80.5998', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(861, 'Satellite Bch', 2788, '32937', '321', '28.174155', '-80.5998', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(862, 'Satellite Beach', 2788, '32937', '321', '28.174155', '-80.5998', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(863, 'Merritt Is', 2788, '32953', '321', '28.435714', '-80.685277', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(864, 'Merritt Island', 2788, '32953', '321', '28.435714', '-80.685277', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(865, 'Apopka', 2788, '32704', '407', '28.6804', '-81.5099', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(866, 'Casselberry', 2788, '32719', '407', '28.6776', '-81.3282', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(867, 'Winter Spgs', 2788, '32719', '407', '28.6776', '-81.3282', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(868, 'Winter Springs', 2788, '32719', '407', '28.6776', '-81.3282', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(869, 'Deltona', 2788, '32739', '407', '28.9026', '-81.2453', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(870, 'Golden Oak', 2788, '32836', '407', '28.414362', '-81.522547', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(871, 'Orlando', 2788, '32836', '407', '28.414362', '-81.522547', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(872, 'Orlando', 2788, '32853', '407', '28.5382', '-81.3795', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(873, 'Orlando', 2788, '32855', '407', '28.5382', '-81.3795', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(874, 'Orlando', 2788, '32872', '407', '28.5382', '-81.3795', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(875, 'Milton', 2788, '32570', '850', '30.79989', '-86.985992', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(876, 'Brooker', 2788, '32622', '352', '29.920948', '-82.310326', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(877, 'Gainesville', 2788, '32653', '352', '29.766604', '-82.412326', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(878, 'Island Grove', 2788, '32654', '352', '29.45874', '-82.092649', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(879, 'Pensacola', 2788, '32502', '850', '30.410863', '-87.20918', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(880, 'Pensacola', 2788, '32504', '850', '30.480652', '-87.194144', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(881, 'Pensacola', 2788, '32505', '850', '30.454597', '-87.258345', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(882, 'Gulf Power', 2788, '32520', '850', '30.4182', '-87.2161', '2018-11-29 04:49:27', '2018-11-29 04:49:27');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(883, 'Pensacola', 2788, '32520', '850', '30.4182', '-87.2161', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(884, 'Pensacola', 2788, '32522', '850', '30.4213', '-87.2168', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(885, 'Century', 2788, '32535', '850', '30.953492', '-87.333408', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(886, 'Milligan', 2788, '32537', '850', '30.7525', '-86.6406', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(887, 'Paxton', 2788, '32538', '850', '30.9815', '-86.3078', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(888, 'Crestview', 2788, '32539', '850', '30.795111', '-86.447027', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(889, 'Flemington', 2788, '32686', '352', '29.370038', '-82.280406', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(890, 'Irvine', 2788, '32686', '352', '29.370038', '-82.280406', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(891, 'Reddick', 2788, '32686', '352', '29.370038', '-82.280406', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(892, 'Mount Pleasant', 2788, '32352', '850', '30.638454', '-84.593939', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(893, 'Mt Pleasant', 2788, '32352', '850', '30.638454', '-84.593939', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(894, 'Quincy', 2788, '32352', '850', '30.638454', '-84.593939', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(895, 'Alford', 2788, '32420', '850', '30.646487', '-85.389098', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(896, 'Argyle', 2788, '32422', '850', '30.713986', '-86.040246', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(897, 'Defuniak Spgs', 2788, '32435', '850', '30.631924', '-86.182408', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(898, 'Defuniak Springs', 2788, '32435', '850', '30.631924', '-86.182408', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(899, 'Ebro', 2788, '32437', '850', '30.420122', '-85.908127', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(900, 'Tallahassee', 2788, '32305', '850', '30.343062', '-84.292137', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(901, 'Bristol', 2788, '32321', '850', '30.288897', '-84.967902', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(902, 'Downey', 2793, '83234', '208', '42.419436', '-112.130088', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(903, 'Virginia', 2793, '83234', '208', '42.419436', '-112.130088', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(904, 'Ellis', 2793, '83235', '208', '44.858041', '-114.084204', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(905, 'Gray', 2793, '83285', '208', '43.004075', '-111.275129', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(906, 'Soda Springs', 2793, '83285', '208', '43.004075', '-111.275129', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(907, 'Wayan', 2793, '83285', '208', '43.004075', '-111.275129', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(908, 'Buhl', 2793, '83316', '208', '42.588942', '-114.845626', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(909, 'Clover', 2793, '83316', '208', '42.588942', '-114.845626', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(910, 'Deep Creek', 2793, '83316', '208', '42.588942', '-114.845626', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(911, 'Burley', 2793, '83318', '208', '42.45606', '-113.806272', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(912, 'Pella', 2793, '83318', '208', '42.45606', '-113.806272', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(913, 'Springdale', 2793, '83318', '208', '42.45606', '-113.806272', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(914, 'Starrhs Ferry', 2793, '83318', '208', '42.45606', '-113.806272', '2018-11-29 04:49:27', '2018-11-29 04:49:27'),\n(915, 'View', 2793, '83318', '208', '42.45606', '-113.806272', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(916, 'Carey', 2793, '83320', '208', '43.113684', '-113.627895', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(917, 'Muldoon', 2793, '83320', '208', '43.113684', '-113.627895', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(918, 'Hailey', 2793, '83333', '208', '43.60013', '-114.251818', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(919, 'Triumph', 2793, '83333', '208', '43.60013', '-114.251818', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(920, 'Acequia', 2793, '83350', '208', '42.684535', '-113.619257', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(921, 'Jackson', 2793, '83350', '208', '42.684535', '-113.619257', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(922, 'Minidoka', 2793, '83350', '208', '42.684535', '-113.619257', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(923, 'Rupert', 2793, '83350', '208', '42.684535', '-113.619257', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(924, 'Sun Valley', 2793, '83353', '208', '43.663442', '-114.08929', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(925, 'Ammon', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(926, 'Beachs Corner', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(927, 'Bone', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(928, 'Coltman', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(929, 'Grant', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(930, 'Hillview', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(931, 'Idaho Falls', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(932, 'Lincoln', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(933, 'New Sweden', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(934, 'Osgood', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(935, 'Saint Leon', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(936, 'Shelton', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(937, 'Taylor', 2793, '83401', '208', '43.499296', '-111.641012', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(938, 'Idaho Falls', 2793, '83403', '208', '43.4667', '-112.0335', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(939, 'Monteview', 2793, '83435', '208', '43.949845', '-112.564951', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(940, 'Canyon Creek', 2793, '83436', '208', '43.894958', '-111.488768', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(941, 'Clementsville', 2793, '83436', '208', '43.894958', '-111.488768', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(942, 'Newdale', 2793, '83436', '208', '43.894958', '-111.488768', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(943, 'Baker', 2793, '83467', '208', '45.109623', '-113.7656', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(944, 'Elk Bend', 2793, '83467', '208', '45.109623', '-113.7656', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(945, 'Salmon', 2793, '83467', '208', '45.109623', '-113.7656', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(946, 'Ahsahka', 2793, '83520', '208', '46.517306', '-116.334792', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(947, 'Juliaetta', 2793, '83535', '208', '46.568385', '-116.740416', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(948, 'Kamiah', 2793, '83536', '208', '46.205059', '-116.057348', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(949, 'Kendrick', 2793, '83537', '208', '46.6472', '-116.529143', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(950, 'Southwick', 2793, '83537', '208', '46.6472', '-116.529143', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(951, 'Atlanta', 2793, '83601', '208', '43.689025', '-115.410269', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(952, 'Nampa', 2793, '83652', '208', '43.5408', '-116.5625', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(953, 'Boise', 2793, '83703', '208', '43.659388', '-116.241738', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(954, 'Garden City', 2793, '83703', '208', '43.659388', '-116.241738', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(955, 'Boise', 2793, '83704', '208', '43.632247', '-116.284853', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(956, 'Ustick', 2793, '83704', '208', '43.632247', '-116.284853', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(957, 'Boise', 2793, '83720', '208', '43.6139', '-116.2025', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(958, 'Idaho State House', 2793, '83720', '208', '43.6139', '-116.2025', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(959, 'Athol', 2793, '83801', '208', '47.955997', '-116.666256', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(960, 'Belmont', 2793, '83801', '208', '47.955997', '-116.666256', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(961, 'Chilco', 2793, '83801', '208', '47.955997', '-116.666256', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(962, 'Granite', 2793, '83801', '208', '47.955997', '-116.666256', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(963, 'Avery', 2793, '83802', '208', '47.25959', '-115.839376', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(964, 'Blanchard', 2793, '83804', '208', '48.047991', '-116.962567', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(965, 'Harvard', 2793, '83834', '208', '46.938563', '-116.571484', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(966, 'Garwood', 2793, '83835', '208', '47.800252', '-116.584196', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(967, 'Hayden', 2793, '83835', '208', '47.800252', '-116.584196', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(968, 'Hayden Lake', 2793, '83835', '208', '47.800252', '-116.584196', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(969, 'East Hope', 2793, '83836', '208', '48.32721', '-116.222538', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(970, 'Hope', 2793, '83836', '208', '48.32721', '-116.222538', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(971, 'Hauser', 2793, '83854', '208', '47.737863', '-116.940158', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(972, 'Post Falls', 2793, '83854', '208', '47.737863', '-116.940158', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(973, 'State Line', 2793, '83854', '208', '47.737863', '-116.940158', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(974, 'Troy', 2793, '83871', '208', '46.751134', '-116.749437', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(975, 'Huetter', 2793, '83815', '208', '47.725464', '-116.789921', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(976, 'Kootenai', 2793, '83840', '208', '48.3112', '-116.5147', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(977, 'Osburn', 2793, '83849', '208', '47.535005', '-116.016746', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(978, 'Colburn', 2793, '83865', '208', '48.3972', '-116.5342', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(979, 'Viola', 2793, '83872', '208', '46.869032', '-116.958144', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(980, 'Murray', 2793, '83874', '208', '47.63262', '-115.7945', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(981, 'Wallace', 2793, '83874', '208', '47.63262', '-115.7945', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(982, 'Pocatello', 2793, '83204', '208', '42.759759', '-112.521357', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(983, 'Atomic City', 2793, '83215', '208', '43.442953', '-112.812805', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(984, 'Bern', 2793, '83220', '208', '42.312811', '-111.377413', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(985, 'Challis', 2793, '83229', '208', '45.0936', '-114.2349', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(986, 'Cobalt', 2793, '83229', '208', '45.0936', '-114.2349', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(987, 'Dietrich', 2793, '83324', '208', '42.903512', '-114.25433', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(988, 'Shoshone', 2793, '83324', '208', '42.903512', '-114.25433', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(989, 'Ketchum', 2793, '83340', '208', '43.792982', '-114.625073', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(990, 'Sawtooth City', 2793, '83340', '208', '43.792982', '-114.625073', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(991, 'Felt', 2793, '83424', '208', '43.87897', '-111.189906', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(992, 'Tetonia', 2793, '83424', '208', '43.87897', '-111.189906', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(993, 'Box Canyon', 2793, '83429', '208', '44.504716', '-111.406262', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(994, 'Island Park', 2793, '83429', '208', '44.504716', '-111.406262', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(995, 'Last Chance Resort', 2793, '83429', '208', '44.504716', '-111.406262', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(996, 'Ponds Resort', 2793, '83429', '208', '44.504716', '-111.406262', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(997, 'Gibbonsville', 2793, '83463', '208', '45.539891', '-113.983229', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(998, 'Lemhi', 2793, '83465', '208', '44.800076', '-113.68358', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(999, 'Fenn', 2793, '83531', '208', '45.9636', '-116.2556', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1000, 'Grangeville', 2793, '83531', '208', '45.9636', '-116.2556', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1001, 'Lapwai', 2793, '83540', '208', '46.429113', '-116.765367', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1002, 'Spalding', 2793, '83540', '208', '46.429113', '-116.765367', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1003, 'Sweetwater', 2793, '83540', '208', '46.429113', '-116.765367', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1004, 'Donnelly', 2793, '83615', '208', '44.75699', '-116.131324', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1005, 'Roseberry', 2793, '83615', '208', '44.75699', '-116.131324', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1006, 'Tamarack', 2793, '83615', '208', '44.75699', '-116.131324', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1007, 'Crouch', 2793, '83622', '208', '44.080382', '-115.517807', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1008, 'Garden Valley', 2793, '83622', '208', '44.080382', '-115.517807', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1009, 'Silver Creek Plunge', 2793, '83622', '208', '44.080382', '-115.517807', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1010, 'Grand View', 2793, '83624', '208', '42.552246', '-116.369237', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1011, 'King Hill', 2793, '83633', '208', '42.88504', '-115.245526', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1012, 'Burgdorf', 2793, '83638', '208', '44.812188', '-115.473032', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1013, 'Lardo', 2793, '83638', '208', '44.812188', '-115.473032', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1014, 'Mccall', 2793, '83638', '208', '44.812188', '-115.473032', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1015, 'Anderson Dam', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1016, 'Featherville', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1017, 'Mountain Home', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1018, 'Mt Home', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1019, 'Mtn Home', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1020, 'Oasis', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1021, 'Paradise Hot', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1022, 'Paradise Hot Springs', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1023, 'Pine', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1024, 'Prairie', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1025, 'Rocky Bar', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1026, 'Tipanuk', 2793, '83647', '208', '43.287752', '-115.615274', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1027, 'Notus', 2793, '83656', '208', '43.726354', '-116.799797', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1028, 'Crystal', 2793, '83672', '208', '44.417849', '-116.958434', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1029, 'Eaton', 2793, '83672', '208', '44.417849', '-116.958434', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1030, 'Jonathan', 2793, '83672', '208', '44.417849', '-116.958434', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1031, 'Weiser', 2793, '83672', '208', '44.417849', '-116.958434', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1032, 'Boise', 2793, '83715', '208', '43.6139', '-116.2025', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1033, 'Boise', 2793, '83756', '208', '43.6139', '-116.2025', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1034, 'Idaho State Tax Commission', 2793, '83756', '208', '43.6139', '-116.2025', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1035, 'Boise', 2793, '83799', '208', '43.6139', '-116.2025', '2018-11-29 04:49:28', '2018-11-29 04:49:28'),\n(1036, 'Calder', 2793, '83808', '208', '47.251833', '-116.215594', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1037, 'Coeur D Alene', 2793, '83815', '208', '47.725464', '-116.789921', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1038, 'Dalton Gardens', 2793, '83815', '208', '47.725464', '-116.789921', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1039, 'Dalton Gdns', 2793, '83815', '208', '47.725464', '-116.789921', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1040, 'Chappell', 2797, '40816', '606', '36.99497', '-83.325898', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1041, 'Chad', 2797, '40823', '606', '36.96956', '-82.981532', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1042, 'Cumberland', 2797, '40823', '606', '36.96956', '-82.981532', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1043, 'Hiram', 2797, '40823', '606', '36.96956', '-82.981532', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1044, 'Oven Fork', 2797, '40823', '606', '36.96956', '-82.981532', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1045, 'Wallins', 2797, '40873', '606', '36.807032', '-83.405174', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1046, 'Wallins Creek', 2797, '40873', '606', '36.807032', '-83.405174', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1047, 'Bryants Store', 2797, '40921', '606', '36.760668', '-83.923421', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1048, 'Cannon', 2797, '40923', '606', '36.945128', '-83.836502', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1049, 'Dewitt', 2797, '40930', '606', '36.825699', '-83.708626', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1050, 'Fall Rock', 2797, '40932', '606', '37.2197', '-83.7886', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1051, 'Mary Alice', 2797, '40964', '606', '36.781704', '-83.333942', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1052, 'Belleview', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1053, 'Bullittsville', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1054, 'Burlington', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1055, 'Camp Ernest', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1056, 'Idlewild', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1057, 'Limaburg', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1058, 'Mcville', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1059, 'Rabbit Hash', 2797, '41005', '859', '39.015058', '-84.751551', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1060, 'Covington', 2797, '41014', '859', '39.064111', '-84.509343', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1061, 'Rouse', 2797, '41014', '859', '39.064111', '-84.509343', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1062, 'Bracht', 2797, '41030', '859', '38.789866', '-84.593556', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1063, 'Crittenden', 2797, '41030', '859', '38.789866', '-84.593556', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1064, 'Flingsville', 2797, '41030', '859', '38.789866', '-84.593556', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1065, 'Ewing', 2797, '41039', '606', '38.384957', '-83.884856', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1066, 'Nepton', 2797, '41039', '606', '38.384957', '-83.884856', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1067, 'Glencoe', 2797, '41046', '859', '38.700508', '-84.79956', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1068, 'Francisville', 2797, '41048', '859', '39.091848', '-84.70366', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1069, 'Hebron', 2797, '41048', '859', '39.091848', '-84.70366', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1070, 'Taylorsport', 2797, '41048', '859', '39.091848', '-84.70366', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1071, 'Helena', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1072, 'Mays Lick', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1073, 'Mayslick', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1074, 'Mill Creek', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1075, 'Needmore', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1076, 'Shannon', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1077, 'Wedonia', 2797, '41055', '606', '38.522054', '-83.856812', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1078, 'Hamilton', 2797, '41091', '859', '38.938238', '-84.753014', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1079, 'Union', 2797, '41091', '859', '38.938238', '-84.753014', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1080, 'Worthville', 2797, '41098', '502', '38.62676', '-85.064907', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1081, 'Denton', 2797, '41132', '606', '38.249295', '-82.830242', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1082, 'Garrison', 2797, '41141', '606', '38.535712', '-83.185964', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1083, 'Ault', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1084, 'Brinegar', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1085, 'Clark Hill', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1086, 'Counts Cross Roads', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1087, 'Enterprise', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1088, 'Fitch', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1089, 'Garvin Ridge', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1090, 'Gimlet', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1091, 'Globe', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1092, 'Ibex', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1093, 'Lawton', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1094, 'Limestone', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1095, 'Olive Hill', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1096, 'Prater', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1097, 'Smoky Valley', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1098, 'Stark', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1099, 'Upper Tygart', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1100, 'Wolf', 2797, '41164', '606', '38.34177', '-83.172283', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1101, 'Quincy', 2797, '41166', '606', '38.654094', '-83.090339', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1102, 'Saint Paul', 2797, '41166', '606', '38.654094', '-83.090339', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1103, 'South Shore', 2797, '41175', '606', '38.640364', '-82.985097', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1104, 'East Point', 2797, '41216', '606', '37.729886', '-82.838829', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1105, 'Laura', 2797, '41250', '606', '37.740488', '-82.483041', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1106, 'Pilgrim', 2797, '41250', '606', '37.740488', '-82.483041', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1107, 'Athol', 2797, '41307', '606', '37.5633', '-83.5679', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1108, 'Jackson', 2797, '41307', '606', '37.5633', '-83.5679', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1109, 'Booneville', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1110, 'Green Hall', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1111, 'Island City', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1112, 'Morris Fork', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1113, 'Pebworth', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1114, 'Sebastians Br', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1115, 'Sebastians Branch', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1116, 'Turkey', 2797, '41314', '606', '37.435645', '-83.63357', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1117, 'Ezel', 2797, '41425', '606', '37.91141', '-83.418314', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1118, 'Ophir', 2797, '41459', '606', '37.9075', '-83.0147', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1119, 'Hellier', 2797, '41534', '606', '37.278462', '-82.478106', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1120, 'Kimper', 2797, '41539', '606', '37.490621', '-82.31767', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1121, 'Estill', 2797, '41666', '606', '37.442341', '-82.807054', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1122, 'Wayland', 2797, '41666', '606', '37.442341', '-82.807054', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1123, 'Busy', 2797, '41723', '606', '37.254722', '-83.309891', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1124, 'Toulouse', 2797, '41723', '606', '37.254722', '-83.309891', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1125, 'Carrie', 2797, '41725', '606', '37.31282', '-83.055804', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1126, 'Littcarr', 2797, '41834', '606', '37.276675', '-82.950316', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1127, 'Paducah', 2797, '42002', '270', '37.0835', '-88.6003', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1128, 'Benton', 2797, '42025', '270', '36.86718', '-88.316722', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1129, 'Draffenville', 2797, '42025', '270', '36.86718', '-88.316722', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1130, 'Fairdealing', 2797, '42025', '270', '36.86718', '-88.316722', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1131, 'Palma', 2797, '42025', '270', '36.86718', '-88.316722', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1132, 'Sharpe', 2797, '42025', '270', '36.86718', '-88.316722', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1133, 'Dexter', 2797, '42036', '270', '36.715468', '-88.235891', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1134, 'Lowes', 2797, '42061', '270', '36.882583', '-88.77556', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1135, 'Symsonia', 2797, '42082', '270', '36.913414', '-88.518235', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1136, 'Camelia', 2797, '42086', '270', '37.102936', '-88.78664', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1137, 'Grahamville', 2797, '42086', '270', '37.102936', '-88.78664', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1138, 'Heath', 2797, '42086', '270', '37.102936', '-88.78664', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1139, 'High Point', 2797, '42086', '270', '37.102936', '-88.78664', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1140, 'West Paducah', 2797, '42086', '270', '37.102936', '-88.78664', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1141, 'Cave City', 2797, '42127', '270', '37.124572', '-85.908802', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1142, 'Franklin', 2797, '42134', '270', '36.748127', '-86.56077', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1143, 'Hiseville', 2797, '42152', '270', '37.1006', '-85.8125', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1144, 'Summer Shade', 2797, '42166', '270', '36.891996', '-85.69602', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1145, 'Willow Shade', 2797, '42166', '270', '36.891996', '-85.69602', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1146, 'Guthrie', 2797, '42234', '270', '36.7222', '-87.167639', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1147, 'Hadensville', 2797, '42234', '270', '36.7222', '-87.167639', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1148, 'Herman', 2797, '42234', '270', '36.7222', '-87.167639', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1149, 'Tiny Town', 2797, '42234', '270', '36.7222', '-87.167639', '2018-11-29 04:49:29', '2018-11-29 04:49:29'),\n(1150, 'Jetson', 2797, '42252', '270', '37.229797', '-86.503192', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1151, 'Monford', 2797, '42252', '270', '37.229797', '-86.503192', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1152, 'Owensboro', 2797, '42302', '270', '37.7744', '-87.1134', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1153, 'Fordsville', 2797, '42343', '270', '37.63814', '-86.720258', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1154, 'Trisler', 2797, '42343', '270', '37.63814', '-86.720258', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1155, 'Yeaman', 2797, '42343', '270', '37.63814', '-86.720258', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1156, 'Island', 2797, '42350', '270', '37.450314', '-87.189422', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1157, 'Livermore', 2797, '42352', '270', '37.521953', '-87.081004', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1158, 'Nuckols', 2797, '42352', '270', '37.521953', '-87.081004', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1159, 'Rosine', 2797, '42370', '270', '37.447986', '-86.753375', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1160, 'W Louisville', 2797, '42377', '270', '37.6969', '-87.2868', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1161, 'West Louisville', 2797, '42377', '270', '37.6969', '-87.2868', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1162, 'Henderson', 2797, '42420', '270', '37.822726', '-87.533099', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1163, 'Providence', 2797, '42450', '270', '37.391308', '-87.762131', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1164, 'Robards', 2797, '42452', '270', '37.68583', '-87.514638', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1165, 'Uniontown', 2797, '42461', '270', '37.820863', '-87.866592', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1166, 'Somerset', 2797, '42502', '606', '37.0917', '-84.6044', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1167, 'Aaron', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1168, 'Albany', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1169, 'Browns Crossroads', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1170, 'Browns Xroads', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1171, 'Highway', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1172, 'Calvin', 2797, '40813', '606', '36.695837', '-83.770416', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1173, 'Harlan', 2797, '40840', '606', '36.909608', '-83.474629', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1174, 'Helton', 2797, '40840', '606', '36.909608', '-83.474629', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1175, 'Warbranch', 2797, '40874', '606', '36.990532', '-83.47372', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1176, 'Fonde', 2797, '40940', '606', '36.637484', '-83.916447', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1177, 'Frakes', 2797, '40940', '606', '36.637484', '-83.916447', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1178, 'Laurel Fork', 2797, '40940', '606', '36.637484', '-83.916447', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1179, 'Middlesboro', 2797, '40965', '606', '36.644338', '-83.692102', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1180, 'Middlesborough', 2797, '40965', '606', '36.644338', '-83.692102', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1181, 'Florence', 2797, '41022', '859', '38.9989', '-84.6267', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1182, 'Colfax', 2797, '41049', '606', '38.271578', '-83.671', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1183, 'Grange City', 2797, '41049', '606', '38.271578', '-83.671', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1184, 'Hillsboro', 2797, '41049', '606', '38.271578', '-83.671', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1185, 'Ringos Mills', 2797, '41049', '606', '38.271578', '-83.671', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1186, 'Sharkey', 2797, '41049', '606', '38.271578', '-83.671', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1187, 'Country Club Heights', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1188, 'Maysville', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1189, 'Moranburg', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1190, 'Murphysville', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1191, 'Orangeburg', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1192, 'Plumville', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1193, 'Rectorville', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1194, 'Sardis', 2797, '41056', '606', '38.608292', '-83.783344', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1195, 'Bellevue', 2797, '41074', '859', '39.112188', '-84.462742', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1196, 'Dayton', 2797, '41074', '859', '39.112188', '-84.462742', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1197, 'Newport', 2797, '41074', '859', '39.112188', '-84.462742', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1198, 'Sanders', 2797, '41083', '502', '38.643241', '-84.991128', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1199, 'Williamstown', 2797, '41097', '859', '38.644268', '-84.591993', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1200, 'Isonville', 2797, '41149', '606', '38.065584', '-83.035472', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1201, 'Willard', 2797, '41181', '606', '38.2117', '-82.8975', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1202, 'Collista', 2797, '41222', '606', '37.763393', '-82.86498', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1203, 'Denver', 2797, '41222', '606', '37.763393', '-82.86498', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1204, 'Hagerhill', 2797, '41222', '606', '37.763393', '-82.86498', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1205, 'Leander', 2797, '41222', '606', '37.763393', '-82.86498', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1206, 'Mendola Village', 2797, '41222', '606', '37.763393', '-82.86498', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1207, 'Inez', 2797, '41224', '606', '37.870563', '-82.505556', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1208, 'Job', 2797, '41224', '606', '37.870563', '-82.505556', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1209, 'Threeforks', 2797, '41224', '606', '37.870563', '-82.505556', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1210, 'Johns Creek', 2797, '41265', '606', '37.757223', '-82.713814', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1211, 'Van Lear', 2797, '41265', '606', '37.757223', '-82.713814', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1212, 'Heidelberg', 2797, '41333', '606', '37.5553', '-83.7789', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1213, 'Whick', 2797, '41390', '606', '37.442071', '-83.371912', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1214, 'Cannel City', 2797, '41408', '606', '37.80351', '-83.28499', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1215, 'Bethanna', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1216, 'Burning Fork', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1217, 'Carver', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1218, 'Cisco', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1219, 'Conley', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1220, 'Cutuno', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1221, 'Cyrus', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1222, 'Duco', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1223, 'Edna', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1224, 'Elsie', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1225, 'Ever', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1226, 'Flat Fork', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1227, 'Foraker', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1228, 'Fredville', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1229, 'Fritz', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1230, 'Gapville', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1231, 'Gifford', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1232, 'Hager', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1233, 'Harper', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1234, 'Hendricks', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1235, 'Ivyton', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1236, 'Lickburg', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1237, 'Logville', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1238, 'Maggard', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1239, 'Marshallville', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1240, 'Mashfork', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1241, 'Salyersville', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1242, 'Seitz', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1243, 'Stella', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1244, 'Sublett', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1245, 'Swampton', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1246, 'Wonnie', 2797, '41465', '606', '37.736916', '-83.085755', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1247, 'Blairs Mill', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1248, 'Blaze', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1249, 'Caney', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1250, 'Cottle', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1251, 'Dingus', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1252, 'Elamton', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1253, 'Index', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1254, 'Lenox', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1255, 'Matthew', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1256, 'Mima', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1257, 'Moon', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1258, 'Relief', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1259, 'Silverhill', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1260, 'Stacy Fork', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1261, 'West Liberty', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1262, 'White Oak', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1263, 'Yocum', 2797, '41472', '606', '37.933283', '-83.201746', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1264, 'Broad Bottom', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1265, 'Gulnare', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1266, 'Mccombs', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:30', '2018-11-29 04:49:30'),\n(1267, 'Meta', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1268, 'Nelse', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1269, 'Pikeville', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1270, 'Piso', 2797, '41501', '606', '37.491164', '-82.50854', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1271, 'Biggs', 2797, '41524', '606', '37.415274', '-82.238024', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1272, 'Fedscreek', 2797, '41524', '606', '37.415274', '-82.238024', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1273, 'Hardy', 2797, '41531', '606', '37.596112', '-82.225524', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1274, 'Allen', 2797, '41601', '606', '37.601314', '-82.717508', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1275, 'New Allen', 2797, '41601', '606', '37.601314', '-82.717508', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1276, 'Old Allen', 2797, '41601', '606', '37.601314', '-82.717508', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1277, 'Bevinsville', 2797, '41606', '606', '37.337057', '-82.714039', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1278, 'Halo', 2797, '41606', '606', '37.337057', '-82.714039', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1279, 'Elmrock', 2797, '41640', '606', '37.515604', '-82.863115', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1280, 'Hueysville', 2797, '41640', '606', '37.515604', '-82.863115', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1281, 'Hite', 2797, '41649', '606', '37.5667', '-82.767448', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1282, 'Martin', 2797, '41649', '606', '37.5667', '-82.767448', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1283, 'Risner', 2797, '41649', '606', '37.5667', '-82.767448', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1284, 'Browns Fork', 2797, '41701', '606', '37.286851', '-83.18361', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1285, 'Darfork', 2797, '41701', '606', '37.286851', '-83.18361', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1286, 'Hazard', 2797, '41701', '606', '37.286851', '-83.18361', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1287, 'Typo', 2797, '41701', '606', '37.286851', '-83.18361', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1288, 'Walkertown', 2797, '41701', '606', '37.286851', '-83.18361', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1289, 'Jeff', 2797, '41751', '606', '37.217361', '-83.127022', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1290, 'Cinda', 2797, '41776', '606', '37.138222', '-83.257337', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1291, 'Cutshin', 2797, '41776', '606', '37.138222', '-83.257337', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1292, 'Frew', 2797, '41776', '606', '37.138222', '-83.257337', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1293, 'Wooton', 2797, '41776', '606', '37.138222', '-83.257337', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1294, 'Cromona', 2797, '41810', '606', '37.186676', '-82.683291', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1295, 'Tolliver Town', 2797, '41810', '606', '37.186676', '-82.683291', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1296, 'Garner', 2797, '41817', '606', '37.368846', '-82.891444', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1297, 'Larkslane', 2797, '41817', '606', '37.368846', '-82.891444', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1298, 'Mc Roberts', 2797, '41835', '606', '37.213549', '-82.66891', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1299, 'Avondale', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1300, 'Barkley Regional Airport', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1301, 'Fremont', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1302, 'Hendron', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1303, 'Kentucky Oaks Mall', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1304, 'Lone Oak', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1305, 'Blue Bank', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1306, 'Craintown', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1307, 'Dalesburg', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1308, 'Flemingsburg', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1309, 'Flemingsburg Junction', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1310, 'Martha Mills', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1311, 'Mount Carmel', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1312, 'Pecksridge', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1313, 'Poplar Plains', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1314, 'Sherburne', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1315, 'Sutton', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1316, 'Tilton', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1317, 'Kentontown', 2797, '41064', '606', '38.515446', '-84.05708', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1318, 'Mount Olivet', 2797, '41064', '606', '38.515446', '-84.05708', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1319, 'Piqua', 2797, '41064', '606', '38.515446', '-84.05708', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1320, 'Fort Thomas', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1321, 'Newport', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1322, 'S Newport', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1323, 'So Newport', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1324, 'South Newport', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(1325, 'Southgate', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1326, 'Wilder', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1327, 'Woodlawn', 2797, '41071', '859', '39.075253', '-84.48035', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1328, 'Fort Thomas', 2797, '41075', '859', '39.078556', '-84.451513', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1329, 'Ft Thomas', 2797, '41075', '859', '39.078556', '-84.451513', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1330, 'Kenton Vale', 2797, '41075', '859', '39.078556', '-84.451513', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1331, 'Newport', 2797, '41075', '859', '39.078556', '-84.451513', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1332, 'Petersburg', 2797, '41080', '859', '39.061318', '-84.834166', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1333, 'Ashland', 2797, '41114', '606', '38.4785', '-82.6381', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1334, 'Ashland Oil Inc', 2797, '41114', '606', '38.4785', '-82.6381', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1335, 'Flatwoods', 2797, '41139', '606', '38.510817', '-82.734324', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1336, 'Soldier', 2797, '41173', '606', '38.2593', '-83.2997', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1337, 'Burtonville', 2797, '41189', '606', '38.573406', '-83.532366', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1338, 'Epworth', 2797, '41189', '606', '38.573406', '-83.532366', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1339, 'Poplar Flat', 2797, '41189', '606', '38.573406', '-83.532366', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1340, 'Ribolt', 2797, '41189', '606', '38.573406', '-83.532366', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1341, 'Tollesboro', 2797, '41189', '606', '38.573406', '-83.532366', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1342, 'Sitka', 2797, '41255', '606', '37.8978', '-82.842375', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1343, 'Stambaugh', 2797, '41257', '606', '37.919487', '-82.788461', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1344, 'Ulysses', 2797, '41264', '606', '37.946337', '-82.69618', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1345, 'Altro', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1346, 'Athol', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1347, 'Canoe', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1348, 'Decoy', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1349, 'Elkatawa', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1350, 'Frozen Creek', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1351, 'Guage', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1352, 'Guerrant', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1353, 'Haddix', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1354, 'Jackson', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1355, 'Lambric', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1356, 'Noctor', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1357, 'Quicksand', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1358, 'Saldee', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1359, 'Talbert', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1360, 'Wolf Coal', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1361, 'Wolverine', 2797, '41339', '606', '37.493666', '-83.271075', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1362, 'Hardshell', 2797, '41348', '606', '37.437279', '-83.309373', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1363, 'Lost Creek', 2797, '41348', '606', '37.437279', '-83.309373', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1364, 'Ned', 2797, '41348', '606', '37.437279', '-83.309373', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1365, 'Ricetown', 2797, '41364', '606', '37.391671', '-83.6124', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1366, 'Gypsy', 2797, '41464', '606', '37.661068', '-82.961064', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1367, 'Royalton', 2797, '41464', '606', '37.661068', '-82.961064', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1368, 'Mc Andrews', 2797, '41543', '606', '37.544088', '-82.277846', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1369, 'Mcandrews', 2797, '41543', '606', '37.544088', '-82.277846', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1370, 'Flanary', 2797, '41548', '606', '37.383565', '-82.267756', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1371, 'Mouthcard', 2797, '41548', '606', '37.383565', '-82.267756', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1372, 'Toonerville', 2797, '41548', '606', '37.383565', '-82.267756', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1373, 'Regina', 2797, '41559', '606', '37.393097', '-82.376152', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1374, 'Argo', 2797, '41568', '606', '37.50482', '-82.042837', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1375, 'Stopover', 2797, '41568', '606', '37.50482', '-82.042837', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1376, 'Woodman', 2797, '41568', '606', '37.50482', '-82.042837', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1377, 'Gunlock', 2797, '41632', '606', '37.548919', '-82.948518', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1378, 'Waldo', 2797, '41632', '606', '37.548919', '-82.948518', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1379, 'Lackey', 2797, '41643', '606', '37.454306', '-82.778972', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1380, 'Melvin', 2797, '41650', '606', '37.34443', '-82.691973', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1381, 'Fisty', 2797, '41743', '606', '37.3615', '-83.1059', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1382, 'Anco', 2797, '41759', '606', '37.233576', '-83.028905', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1383, 'Sassafras', 2797, '41759', '606', '37.233576', '-83.028905', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1384, 'Allock', 2797, '41773', '606', '37.233102', '-83.038807', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1385, 'Amburgey', 2797, '41773', '606', '37.233102', '-83.038807', '2018-11-29 04:49:31', '2018-11-29 04:49:31'),\n(1386, 'Kodak', 2797, '41773', '606', '37.233102', '-83.038807', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1387, 'Vicco', 2797, '41773', '606', '37.233102', '-83.038807', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1388, 'Wendover', 2797, '41775', '606', '37.114856', '-83.331522', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1389, 'Jackhorn', 2797, '41825', '606', '37.222322', '-82.695068', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1390, 'Pine Top', 2797, '41843', '606', '37.27578', '-82.854869', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1391, 'Dema', 2797, '41859', '606', '37.379144', '-82.79998', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1392, 'Columbus', 2797, '42032', '270', '36.770522', '-89.097314', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1393, 'Cayce', 2797, '42041', '270', '36.568856', '-88.846333', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1394, 'Crutchfield', 2797, '42041', '270', '36.568856', '-88.846333', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1395, 'Fulton', 2797, '42041', '270', '36.568856', '-88.846333', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1396, 'Hickman', 2797, '42050', '270', '36.574054', '-89.302652', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1397, 'Bowling Green', 2797, '42102', '270', '36.9906', '-86.4437', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1398, 'Oakland', 2797, '42159', '270', '37.002311', '-86.255562', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1399, 'Adairville', 2797, '42202', '270', '36.695695', '-86.877599', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1400, 'Blue Spring', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1401, 'Blue Water Estates', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1402, 'Cadiz', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1403, 'Canton', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1404, 'Donaldson', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1405, 'Golden Pond', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1406, 'Ironton', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1407, 'Linton', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1408, 'Keavy', 2797, '40737', '606', '37.002885', '-84.139794', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1409, 'Pittsburg', 2797, '40755', '606', '37.1602', '-84.1042', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1410, 'Gulston', 2797, '40830', '606', '36.764591', '-83.3211', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1411, 'Lynch', 2797, '40855', '606', '36.980858', '-82.915903', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1412, 'Partridge', 2797, '40862', '606', '37.023785', '-82.859007', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1413, 'Big Creek', 2797, '40914', '606', '37.155698', '-83.61732', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1414, 'Peabody', 2797, '40914', '606', '37.155698', '-83.61732', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1415, 'Elys', 2797, '40939', '606', '36.7964', '-83.7393', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1416, 'Fourmile', 2797, '40939', '606', '36.7964', '-83.7393', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1417, 'Ivy Grove', 2797, '40939', '606', '36.7964', '-83.7393', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1418, 'Garrard', 2797, '40941', '606', '37.182722', '-83.65145', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1419, 'Green Road', 2797, '40946', '606', '37.008774', '-83.863594', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1420, 'Ingram', 2797, '40955', '606', '36.7353', '-83.7966', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1421, 'Scalf', 2797, '40982', '606', '36.944978', '-83.725266', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1422, 'California', 2797, '41007', '859', '38.897342', '-84.299938', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1423, 'Carthage', 2797, '41007', '859', '38.897342', '-84.299938', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1424, 'Flagg Spring', 2797, '41007', '859', '38.897342', '-84.299938', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1425, 'Gubser Mill', 2797, '41007', '859', '38.897342', '-84.299938', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1426, 'Mentor', 2797, '41007', '859', '38.897342', '-84.299938', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1427, 'Bald Hill', 2797, '41041', '606', '38.43368', '-83.704383', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1428, 'Cumberland College', 2797, '40769', '606', '36.721388', '-84.153265', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1429, 'Cumberlnd Clg', 2797, '40769', '606', '36.721388', '-84.153265', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1430, 'Nevisdale', 2797, '40769', '606', '36.721388', '-84.153265', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1431, 'Williamsburg', 2797, '40769', '606', '36.721388', '-84.153265', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1432, 'Hima', 2797, '40951', '606', '37.1208', '-83.7784', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1433, 'Hinkle', 2797, '40953', '606', '36.88054', '-83.783674', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1434, 'Alexandria', 2797, '41001', '859', '38.91582', '-84.386414', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1435, 'Claryville', 2797, '41001', '859', '38.91582', '-84.386414', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1436, 'Grants Lick', 2797, '41001', '859', '38.91582', '-84.386414', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1437, 'Augusta', 2797, '41002', '606', '38.725247', '-83.979379', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1438, 'Sharon', 2797, '41002', '606', '38.725247', '-83.979379', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1439, 'Bromley', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1440, 'Covington', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1441, 'Crescent Park', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1442, 'Crescent Spg', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1443, 'Crescent Spgs', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1444, 'Crescent Springs', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1445, 'Crestview Hills', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1446, 'Crestview Hls', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1447, 'Dixie', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1448, 'Courtland', 2803, '56021', '507', '44.273779', '-94.352306', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1449, 'Essig', 2803, '56030', '507', '44.324434', '-94.58585', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1450, 'Freeborn', 2803, '56032', '507', '43.804288', '-93.588296', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1451, 'Hanska', 2803, '56041', '507', '44.152359', '-94.494339', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1452, 'Caledonia', 2803, '55921', '507', '43.627222', '-91.414284', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1453, 'Freeburg', 2803, '55921', '507', '43.627222', '-91.414284', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1454, 'Elgin', 2803, '55932', '507', '44.129299', '-92.298716', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1455, 'Potsdam', 2803, '55932', '507', '44.129299', '-92.298716', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1456, 'Granger', 2803, '55939', '507', '43.58726', '-92.089301', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1457, 'Harmony', 2803, '55939', '507', '43.58726', '-92.089301', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1458, 'Bombay', 2803, '55946', '507', '44.281586', '-92.980736', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1459, 'Kenyon', 2803, '55946', '507', '44.281586', '-92.980736', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1460, 'Moland', 2803, '55946', '507', '44.281586', '-92.980736', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1461, 'Heidelberg', 2803, '56071', '952', '44.540102', '-93.586974', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1462, 'New Prague', 2803, '56071', '952', '44.540102', '-93.586974', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1463, 'Saint Clair', 2803, '56080', '507', '44.065552', '-93.828468', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1464, 'Soudan', 2803, '55782', '218', '47.810288', '-92.240321', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1465, 'Balsam', 2803, '55787', '218', '46.693977', '-93.06402', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1466, 'Clark', 2803, '55787', '218', '46.693977', '-93.06402', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1467, 'Haugen', 2803, '55787', '218', '46.693977', '-93.06402', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1468, 'Tamarack', 2803, '55787', '218', '46.693977', '-93.06402', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1469, 'Waltham', 2803, '55982', '507', '43.805029', '-92.869698', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1470, 'Andyville', 2803, '55912', '507', '43.717704', '-92.90641', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1471, 'Austin', 2803, '55912', '507', '43.717704', '-92.90641', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1472, 'Mapleview', 2803, '55912', '507', '43.717704', '-92.90641', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1473, 'Nicolville', 2803, '55912', '507', '43.717704', '-92.90641', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1474, 'Young America', 2803, '55573', '763', '45.0103', '-93.6552', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1475, 'Loretto', 2803, '55598', '763', '45.0544', '-93.6353', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1476, 'Little Marais', 2803, '55614', '218', '47.39785', '-91.280972', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1477, 'Silver Bay', 2803, '55614', '218', '47.39785', '-91.280972', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1478, 'Alango', 2803, '55703', '218', '47.750789', '-92.761019', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1479, 'Angora', 2803, '55703', '218', '47.750789', '-92.761019', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1480, 'Bruno', 2803, '55712', '320', '46.287914', '-92.580979', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1481, 'Bloomington', 2803, '55439', '952', '44.87483', '-93.374842', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1482, 'Edina', 2803, '55439', '952', '44.87483', '-93.374842', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1483, 'Dumas', 2805, '38625', '662', '34.619546', '-88.815972', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1484, 'Locum', 2805, '38625', '662', '34.619546', '-88.815972', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1485, 'Pleasant Ridge', 2805, '38625', '662', '34.619546', '-88.815972', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1486, 'Lambert', 2805, '38643', '662', '34.14738', '-90.292903', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1487, 'Taylor', 2805, '38673', '662', '34.2694', '-89.636829', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1488, 'Avon', 2805, '38723', '662', '33.219022', '-91.053502', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1489, 'Tupelo', 2805, '38802', '662', '34.2577', '-88.7034', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1490, 'Becker', 2805, '38825', '662', '33.9297', '-88.4814', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1491, 'Ecru', 2805, '38841', '662', '34.343935', '-88.963065', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1492, 'Friendship', 2805, '38841', '662', '34.343935', '-88.963065', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1493, 'Dorsey', 2805, '38843', '662', '34.275837', '-88.378366', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1494, 'Fulton', 2805, '38843', '662', '34.275837', '-88.378366', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1495, 'Mooreville', 2805, '38857', '662', '34.281948', '-88.583954', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1496, 'New Site', 2805, '38859', '662', '34.509819', '-88.384508', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1497, 'Van Vleet', 2805, '38877', '662', '33.9829', '-88.8985', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1498, 'Berclair', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1499, 'Colony Town', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1500, 'Itta Bena', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1501, 'Mississippi Valley State Col', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1502, 'Murdock Crossing', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1503, 'Murdock Xing', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1504, 'Mvsu', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1505, 'Quito', 2805, '38941', '662', '33.395887', '-90.366754', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1506, 'Bolton', 2805, '39041', '601', '32.420453', '-90.484128', '2018-11-29 04:49:32', '2018-11-29 04:49:32'),\n(1507, 'Magee', 2805, '39111', '601', '31.915597', '-89.765686', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1508, 'Mcgee', 2805, '39111', '601', '31.915597', '-89.765686', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1509, 'Sanatorium', 2805, '39111', '601', '31.915597', '-89.765686', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1510, 'Sanitorium', 2805, '39111', '601', '31.915597', '-89.765686', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1511, 'Pulaski', 2805, '39152', '601', '32.278225', '-89.566966', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1512, 'Silver City', 2805, '39166', '662', '33.023441', '-90.459538', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1513, 'Taylorsville', 2805, '39168', '601', '31.800817', '-89.410454', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1514, 'Beauregard', 2805, '39191', '601', '31.716999', '-90.419164', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1515, 'Wesson', 2805, '39191', '601', '31.716999', '-90.419164', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1516, 'Whitfield', 2805, '39193', '601', '32.2355', '-90.0719', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1517, 'Birdie', 2805, '38617', '662', '34.372568', '-90.502554', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1518, 'Coahoma', 2805, '38617', '662', '34.372568', '-90.502554', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1519, 'Rich', 2805, '38617', '662', '34.372568', '-90.502554', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1520, 'Rudyard', 2805, '38617', '662', '34.372568', '-90.502554', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1521, 'Hickory Flat', 2805, '38633', '662', '34.647954', '-89.193369', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1522, 'Pinegrove', 2805, '38633', '662', '34.647954', '-89.193369', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1523, 'Holly Springs', 2805, '38635', '662', '34.774562', '-89.514136', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1524, 'Mount Pleasant', 2805, '38635', '662', '34.774562', '-89.514136', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1525, 'Falcon', 2805, '38628', '662', '34.3942', '-90.2577', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1526, 'Clove Hill', 2805, '38645', '662', '34.240373', '-90.476196', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1527, 'Lyon', 2805, '38645', '662', '34.240373', '-90.476196', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1528, 'Campbell', 2805, '38663', '662', '34.722714', '-88.910452', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1529, 'Gravestown', 2805, '38663', '662', '34.722714', '-88.910452', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1530, 'Mitchell', 2805, '38663', '662', '34.722714', '-88.910452', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1531, 'Murry', 2805, '38663', '662', '34.722714', '-88.910452', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1532, 'Peoples', 2805, '38663', '662', '34.722714', '-88.910452', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1533, 'Ripley', 2805, '38663', '662', '34.722714', '-88.910452', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1534, 'Victoria', 2805, '38679', '662', '34.8465', '-89.6177', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1535, 'Boyle', 2805, '38730', '662', '33.667734', '-90.763037', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1536, 'Skene', 2805, '38730', '662', '33.667734', '-90.763037', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1537, 'Dennis Landing', 2805, '38746', '662', '33.942592', '-90.943841', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1538, 'Gunnison', 2805, '38746', '662', '33.942592', '-90.943841', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1539, 'Perthshire', 2805, '38746', '662', '33.942592', '-90.943841', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1540, 'Waxhaw', 2805, '38746', '662', '33.942592', '-90.943841', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1541, 'Dwyer', 2805, '38778', '662', '33.553648', '-90.543242', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1542, 'Sunflower', 2805, '38778', '662', '33.553648', '-90.543242', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1543, 'Alpine', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1544, 'Blue Springs', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1545, 'Branyan', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1546, 'Center', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1547, 'Cherrycreek', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1548, 'Endville', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1549, 'Fairfield', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1550, 'Jug Fork', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1551, 'Mound City', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1552, 'New Harmony', 2805, '38828', '662', '34.430133', '-88.876722', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1553, 'Altitude', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1554, 'Blackland', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1555, 'Booneville', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1556, 'Burtons', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1557, 'Jumpertown', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1558, 'Old Cairo', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1559, 'Osborne Creek', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1560, 'Pine Grove', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1561, 'Thrashers', 2805, '38829', '662', '34.635924', '-88.571216', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1562, 'Glen', 2805, '38846', '662', '34.834201', '-88.411028', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1563, 'Chiwapa', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1564, 'Furrs', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1565, 'Goodfood', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1566, 'Nixon', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1567, 'Plymouth', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1568, 'Pontotoc', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1569, 'Possum Trot', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1570, 'Rough Edge', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1571, 'Nevis', 2814, '12583', '845', '42.053564', '-73.890926', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1572, 'Tivoli', 2814, '12583', '845', '42.053564', '-73.890926', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1573, 'Vails Gate', 2814, '12584', '845', '41.4542', '-74.0582', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1574, 'Monticello', 2814, '12701', '845', '41.65566', '-74.739734', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1575, 'Chestertown', 2814, '12817', '518', '43.63799', '-73.822232', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1576, 'Fortsville', 2814, '12831', '518', '43.193372', '-73.683274', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1577, 'Gansevoort', 2814, '12831', '518', '43.193372', '-73.683274', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1578, 'Gurn Spring', 2814, '12831', '518', '43.193372', '-73.683274', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1579, 'Kings Station', 2814, '12831', '518', '43.193372', '-73.683274', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1580, 'Wilton', 2814, '12831', '518', '43.193372', '-73.683274', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1581, 'Granville', 2814, '12832', '518', '43.359526', '-73.328353', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1582, 'Hebron', 2814, '12832', '518', '43.359526', '-73.328353', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1583, 'North Hebron', 2814, '12832', '518', '43.359526', '-73.328353', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1584, 'Slateville', 2814, '12832', '518', '43.359526', '-73.328353', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1585, 'South Granville', 2814, '12832', '518', '43.359526', '-73.328353', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1586, 'Truthville', 2814, '12832', '518', '43.359526', '-73.328353', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1587, 'Greenfield', 2814, '12833', '518', '43.155568', '-73.850894', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1588, 'Greenfield Center', 2814, '12833', '518', '43.155568', '-73.850894', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1589, 'Greenfld Ctr', 2814, '12833', '518', '43.155568', '-73.850894', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1590, 'Bald Mountain', 2814, '12834', '518', '43.089134', '-73.494792', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1591, 'Battenville', 2814, '12834', '518', '43.089134', '-73.494792', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1592, 'Clarks Mills', 2814, '12834', '518', '43.089134', '-73.494792', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1593, 'Greenwich', 2814, '12834', '518', '43.089134', '-73.494792', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1594, 'Thomson', 2814, '12834', '518', '43.089134', '-73.494792', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1595, 'Conklingville', 2814, '12835', '518', '43.3065', '-73.966435', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1596, 'Day', 2814, '12835', '518', '43.3065', '-73.966435', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1597, 'Hadley', 2814, '12835', '518', '43.3065', '-73.966435', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1598, 'Woodstock', 2814, '12498', '845', '42.049441', '-74.10465', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1599, 'Clinton Corners', 2814, '12514', '845', '41.883398', '-73.759642', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1600, 'Clinton Cors', 2814, '12514', '845', '41.883398', '-73.759642', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1601, 'Clinton Crn', 2814, '12514', '845', '41.883398', '-73.759642', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1602, 'Copake', 2814, '12516', '518', '42.102835', '-73.556326', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1603, 'Holmes', 2814, '12531', '845', '41.531716', '-73.674028', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1604, 'Homes', 2814, '12531', '845', '41.531716', '-73.674028', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1605, 'Whaley Lake', 2814, '12531', '845', '41.531716', '-73.674028', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1606, 'Jeffersonville', 2814, '12748', '845', '41.779438', '-74.915476', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1607, 'Jeffersonvlle', 2814, '12748', '845', '41.779438', '-74.915476', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1608, 'Kauneonga Lake', 2814, '12749', '845', '41.689663', '-74.828406', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1609, 'Kauneonga Lk', 2814, '12749', '845', '41.689663', '-74.828406', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1610, 'North Branch', 2814, '12766', '845', '41.81511', '-74.969813', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1611, 'Obernburg', 2814, '12767', '845', '41.8448', '-75.0075', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1612, 'Connelly', 2814, '12417', '845', '41.9063', '-73.9902', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1613, 'Lanesville', 2814, '12450', '845', '42.166232', '-74.232819', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1614, 'Newburgh', 2814, '12551', '845', '41.5036', '-74.0105', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1615, 'Philmont', 2814, '12565', '518', '42.248838', '-73.640879', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1616, 'Gallatin', 2814, '12567', '518', '42.028271', '-73.667062', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1617, 'Mount Ross', 2814, '12567', '518', '42.028271', '-73.667062', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1618, 'Pine Plains', 2814, '12567', '518', '42.028271', '-73.667062', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1619, 'Shekomeko', 2814, '12567', '518', '42.028271', '-73.667062', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1620, 'Albany', 2814, '12249', '518', '42.6525', '-73.7567', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1621, 'Ny Labor Unemp Ins', 2814, '12249', '518', '42.6525', '-73.7567', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1622, 'Albany', 2814, '12250', '518', '42.6525', '-73.7567', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1623, 'Ny Tele Co', 2814, '12250', '518', '42.6525', '-73.7567', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1624, 'Pine Hill', 2814, '12465', '845', '42.139896', '-74.496876', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1625, 'Spring Glen', 2814, '12483', '845', '41.6659', '-74.4305', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1626, 'North Chatham', 2814, '12132', '518', '42.4718', '-73.6325', '2018-11-29 04:49:33', '2018-11-29 04:49:33'),\n(1627, 'Apulia Station', 2814, '13020', '315', '42.8189', '-76.0725', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1628, 'Camillus', 2814, '13031', '315', '43.048294', '-76.296796', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1629, 'Howlett Hill', 2814, '13031', '315', '43.048294', '-76.296796', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1630, 'Split Rock', 2814, '13031', '315', '43.048294', '-76.296796', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1631, 'East Homer', 2814, '13056', '607', '42.6662', '-76.1018', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1632, 'Brandreth', 2814, '12847', '518', '43.925661', '-74.554887', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1633, 'Long Lake', 2814, '12847', '518', '43.925661', '-74.554887', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1634, 'Sabattis', 2814, '12847', '518', '43.925661', '-74.554887', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1635, 'Lake Clear', 2814, '12945', '518', '44.3704', '-74.216826', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1636, 'Upper Saint Regis', 2814, '12945', '518', '44.3704', '-74.216826', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1637, 'Upper St Reg', 2814, '12945', '518', '44.3704', '-74.216826', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1638, 'Moriah Center', 2814, '12961', '518', '44.063927', '-73.572146', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1639, 'Paul Smiths', 2814, '12970', '518', '44.478665', '-74.257305', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1640, 'Harkness', 2814, '12972', '518', '44.54922', '-73.529348', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1641, 'Peru', 2814, '12972', '518', '44.54922', '-73.529348', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1642, 'Saranac', 2814, '12981', '518', '44.645012', '-73.815199', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1643, 'Glens Falls', 2814, '12804', '518', '43.365719', '-73.671277', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1644, 'Queensbury', 2814, '12804', '518', '43.365719', '-73.671277', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1645, 'Blue Ridge', 2814, '12870', '518', '43.857074', '-73.774615', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1646, 'Schroon Lake', 2814, '12870', '518', '43.857074', '-73.774615', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1647, 'Poughkeepsie', 2814, '12604', '845', '41.685686', '-73.89092', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1648, 'Vassar College', 2814, '12604', '845', '41.685686', '-73.89092', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1649, 'Bethel', 2814, '12720', '845', '41.661072', '-74.903702', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1650, 'Cochecton Center', 2814, '12727', '845', '41.658751', '-74.941344', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1651, 'Cochecton Ctr', 2814, '12727', '845', '41.658751', '-74.941344', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1652, 'Fort Ann', 2814, '12827', '518', '43.44416', '-73.497678', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1653, 'South Bay Village', 2814, '12827', '518', '43.44416', '-73.497678', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1654, 'West Fort Ann', 2814, '12827', '518', '43.44416', '-73.497678', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1655, 'Ancram', 2814, '12502', '518', '42.06811', '-73.65521', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1656, 'Liberty', 2814, '12754', '845', '41.795736', '-74.746298', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1657, 'Mountain Dale', 2814, '12763', '845', '41.685198', '-74.532408', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1658, 'Mountaindale', 2814, '12763', '845', '41.685198', '-74.532408', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1659, 'Forestburg', 2814, '12777', '845', '41.548777', '-74.702469', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1660, 'Forestburgh', 2814, '12777', '845', '41.548777', '-74.702469', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1661, 'Monticello', 2814, '12777', '845', '41.548777', '-74.702469', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1662, 'Halcottsville', 2814, '12438', '607', '42.2085', '-74.6016', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1663, 'Hurley', 2814, '12443', '845', '41.935016', '-74.085371', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1664, 'Maplecrest', 2814, '12454', '518', '42.291307', '-74.150296', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1665, 'Newburgh', 2814, '12552', '845', '41.5036', '-74.0105', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1666, 'New Paltz', 2814, '12561', '845', '41.762075', '-74.087218', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1667, 'East Glenville', 2814, '12302', '518', '42.881034', '-73.99175', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1668, 'Glenville', 2814, '12302', '518', '42.881034', '-73.99175', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1669, 'Schdy', 2814, '12302', '518', '42.881034', '-73.99175', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1670, 'Schenectady', 2814, '12302', '518', '42.881034', '-73.99175', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1671, 'Scotia', 2814, '12302', '518', '42.881034', '-73.99175', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1672, 'Stoodley Corners', 2814, '12302', '518', '42.881034', '-73.99175', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1673, 'Purling', 2814, '12470', '518', '42.276533', '-74.01578', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1674, 'West Park', 2814, '12493', '845', '41.797284', '-73.981502', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1675, 'Albany', 2814, '12204', '518', '42.6827', '-73.730092', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1676, 'Menands', 2814, '12204', '518', '42.6827', '-73.730092', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1677, 'Albany', 2814, '12220', '518', '42.6525', '-73.7567', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1678, 'Niskayuna', 2814, '12309', '518', '42.795013', '-73.863544', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1679, 'Schdy', 2814, '12309', '518', '42.795013', '-73.863544', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1680, 'Schenectady', 2814, '12309', '518', '42.795013', '-73.863544', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1681, 'Upper Union', 2814, '12309', '518', '42.795013', '-73.863544', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1682, 'Accord', 2814, '12404', '845', '41.824462', '-74.245517', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1683, 'Leibhardt', 2814, '12404', '845', '41.824462', '-74.245517', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1684, 'Lyonsville', 2814, '12404', '845', '41.824462', '-74.245517', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1685, 'Mettacahonts', 2814, '12404', '845', '41.824462', '-74.245517', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1686, 'Whitfield', 2814, '12404', '845', '41.824462', '-74.245517', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1687, 'Old Chatham', 2814, '12136', '518', '42.428002', '-73.556714', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1688, 'Rotterdam Jct', 2814, '12150', '518', '42.871918', '-74.049552', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1689, 'Rotterdam Junction', 2814, '12150', '518', '42.871918', '-74.049552', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1690, 'Albany', 2814, '12229', '518', '42.6525', '-73.7567', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1691, 'Mental Hygiene Dept', 2814, '12229', '518', '42.6525', '-73.7567', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1692, 'Albany', 2814, '12234', '518', '42.6525', '-73.7567', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1693, 'State Office Bldg', 2814, '12234', '518', '42.6525', '-73.7567', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1694, 'Fonda', 2814, '12068', '518', '42.94617', '-74.39344', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1695, 'Sammonsville', 2814, '12068', '518', '42.94617', '-74.39344', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1696, 'Fort Johnson', 2814, '12070', '518', '42.988794', '-74.249601', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1697, 'Ghent', 2814, '12075', '518', '42.307242', '-73.61553', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1698, 'Bethlehem Center', 2814, '12077', '518', '42.592428', '-73.785603', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1699, 'Glenmont', 2814, '12077', '518', '42.592428', '-73.785603', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1700, 'Garoga', 2814, '12095', '518', '43.046198', '-74.381018', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1701, 'Johnstown', 2814, '12095', '518', '43.046198', '-74.381018', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1702, 'Northbush', 2814, '12095', '518', '43.046198', '-74.381018', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1703, 'Rockwood', 2814, '12095', '518', '43.046198', '-74.381018', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1704, 'Tribes Hill', 2814, '12177', '518', '42.9569', '-74.2946', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1705, 'Ballston Center', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1706, 'Ballston Spa', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1707, 'East Line', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1708, 'Porter Corners', 2814, '12859', '518', '43.169676', '-73.917946', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1709, 'Porter Cors', 2814, '12859', '518', '43.169676', '-73.917946', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1710, 'Pottersville', 2814, '12860', '518', '43.724565', '-73.819601', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1711, 'Keene Valley', 2814, '12943', '518', '44.149662', '-73.839083', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1712, 'Saint Huberts', 2814, '12943', '518', '44.149662', '-73.839083', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1713, 'Mooers', 2814, '12958', '518', '44.95903', '-73.587016', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1714, 'Port Kent', 2814, '12975', '518', '44.5283', '-73.4075', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1715, 'Wurtsboro', 2814, '12790', '845', '41.597796', '-74.525161', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1716, 'Youngsville', 2814, '12791', '845', '41.7976', '-74.878666', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1717, 'Sabbath Day Point', 2814, '12874', '518', '43.691873', '-73.551128', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1718, 'Silver Bay', 2814, '12874', '518', '43.691873', '-73.551128', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1719, 'Wallkill', 2814, '12589', '845', '41.633939', '-74.16931', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1720, 'Callicoon', 2814, '12723', '845', '41.78057', '-75.022907', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1721, 'Callicoon Center', 2814, '12724', '845', '41.857495', '-74.943792', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1722, 'Callicoon Ctr', 2814, '12724', '845', '41.857495', '-74.943792', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1723, 'Indian Lake', 2814, '12842', '518', '43.750517', '-74.253043', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1724, 'Garnet Lake', 2814, '12843', '518', '43.599046', '-74.058098', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1725, 'Johnsburg', 2814, '12843', '518', '43.599046', '-74.058098', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1726, 'Barrytown', 2814, '12507', '845', '42.00175', '-73.919399', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1727, 'Red Hook', 2814, '12507', '845', '42.00175', '-73.919399', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1728, 'Dover Plains', 2814, '12522', '845', '41.713747', '-73.605806', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1729, 'Gardiner', 2814, '12525', '845', '41.691702', '-74.176864', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1730, 'East Durham', 2814, '12423', '518', '42.382528', '-74.112264', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1731, 'East Windham', 2814, '12439', '518', '42.299623', '-74.186618', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1732, 'Hensonville', 2814, '12439', '518', '42.299623', '-74.186618', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1733, 'Margaretville', 2814, '12455', '845', '42.15934', '-74.668234', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1734, 'Mount Tremper', 2814, '12457', '845', '42.05013', '-74.239286', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1735, 'La Grange', 2814, '12540', '845', '41.669448', '-73.722641', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1736, 'Lagrangeville', 2814, '12540', '845', '41.669448', '-73.722641', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1737, 'Rock Tavern', 2814, '12575', '845', '41.493803', '-74.160764', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1738, 'Schdy', 2814, '12308', '518', '42.823923', '-73.921076', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1739, 'Schenectady', 2814, '12308', '518', '42.823923', '-73.921076', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1740, 'Rosendale', 2814, '12472', '845', '41.851042', '-74.070249', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1741, 'Round Top', 2814, '12473', '518', '42.272243', '-74.074456', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1742, 'Hubbell Cors', 2814, '12474', '607', '42.302556', '-74.556365', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1743, 'Roxbury', 2814, '12474', '607', '42.302556', '-74.556365', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1744, 'Ruby', 2814, '12475', '845', '42.0181', '-74.0155', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1745, 'Mannville', 2814, '12189', '518', '42.7323', '-73.718567', '2018-11-29 04:49:34', '2018-11-29 04:49:34'),\n(1746, 'Maplewood', 2814, '12189', '518', '42.7323', '-73.718567', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1747, 'Watervliet', 2814, '12189', '518', '42.7323', '-73.718567', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1748, 'Gilmantown', 2814, '12190', '518', '43.507103', '-74.318172', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1749, 'Wells', 2814, '12190', '518', '43.507103', '-74.318172', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1750, 'Albany', 2814, '12205', '518', '42.716766', '-73.817216', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1751, 'Colonie', 2814, '12205', '518', '42.716766', '-73.817216', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1752, 'Colonie Center', 2814, '12205', '518', '42.716766', '-73.817216', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1753, 'Roessleville', 2814, '12205', '518', '42.716766', '-73.817216', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1754, 'Albany', 2814, '12207', '518', '42.655289', '-73.75144', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1755, 'Albany', 2814, '12222', '518', '42.6525', '-73.7567', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1756, 'S U N Y', 2814, '12222', '518', '42.6525', '-73.7567', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1757, 'Glenville', 2814, '12325', '518', '42.9294', '-74.0527', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1758, 'Schdy', 2814, '12325', '518', '42.9294', '-74.0527', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1759, 'Schenectady', 2814, '12325', '518', '42.9294', '-74.0527', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1760, 'Bearsville', 2814, '12409', '845', '42.050507', '-74.165769', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1761, 'Shady', 2814, '12409', '845', '42.050507', '-74.165769', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1762, 'Melrose', 2814, '12121', '518', '42.851921', '-73.600916', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1763, 'Elk Creek', 2814, '12155', '607', '42.597181', '-74.829074', '2018-11-29 04:49:35', '2018-11-29 04:49:35');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(1764, 'Fergusonville', 2814, '12155', '607', '42.597181', '-74.829074', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1765, 'Schenevus', 2814, '12155', '607', '42.597181', '-74.829074', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1766, 'Simpsonville', 2814, '12155', '607', '42.597181', '-74.829074', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1767, 'Westville', 2814, '12155', '607', '42.597181', '-74.829074', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1768, 'Beckers Corners', 2814, '12158', '518', '42.529852', '-73.839826', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1769, 'Selkirk', 2814, '12158', '518', '42.529852', '-73.839826', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1770, 'Eagle Bridge', 2814, '12057', '518', '42.97649', '-73.352712', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1771, 'White Creek', 2814, '12057', '518', '42.97649', '-73.352712', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1772, 'Earlton', 2814, '12058', '518', '42.340885', '-73.92385', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1773, 'Fultonville', 2814, '12072', '518', '42.869011', '-74.367094', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1774, 'Gallupville', 2814, '12073', '518', '42.6627', '-74.2334', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1775, 'Boyntonville', 2814, '12090', '518', '42.881564', '-73.366451', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1776, 'Hoosick Falls', 2814, '12090', '518', '42.881564', '-73.366451', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1777, 'Walloomsac', 2814, '12090', '518', '42.881564', '-73.366451', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1778, 'Newton Hook', 2814, '12173', '518', '42.378438', '-73.758502', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1779, 'Stuyvesant', 2814, '12173', '518', '42.378438', '-73.758502', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1780, 'Berne', 2814, '12023', '518', '42.607348', '-74.178286', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1781, 'South Berne', 2814, '12023', '518', '42.607348', '-74.178286', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1782, 'West Berne', 2814, '12023', '518', '42.607348', '-74.178286', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1783, 'Brainard', 2814, '12024', '518', '42.479749', '-73.54171', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1784, 'Clarksville', 2814, '12041', '518', '42.556616', '-73.986481', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1785, 'Corneil Estates', 2814, '11770', '631', '40.645722', '-73.154261', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1786, 'Fire Island', 2814, '11770', '631', '40.645722', '-73.154261', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1787, 'Ocean Bay Park', 2814, '11770', '631', '40.645722', '-73.154261', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1788, 'Lewis', 2814, '12950', '518', '44.32123', '-73.582082', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1789, 'N Lawrence', 2814, '12967', '315', '44.756568', '-74.662461', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1790, 'North Lawrence', 2814, '12967', '315', '44.756568', '-74.662461', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1791, 'Harrietstown', 2814, '12983', '518', '44.350481', '-74.248606', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1792, 'Lake Colby', 2814, '12983', '518', '44.350481', '-74.248606', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1793, 'Saranac Lake', 2814, '12983', '518', '44.350481', '-74.248606', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1794, 'Peasleeville', 2814, '12985', '518', '44.561287', '-73.708978', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1795, 'Schuyler Falls', 2814, '12985', '518', '44.561287', '-73.708978', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1796, 'Schuyler Fls', 2814, '12985', '518', '44.561287', '-73.708978', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1797, 'Swastika', 2814, '12985', '518', '44.561287', '-73.708978', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1798, 'Summitville', 2814, '12781', '845', '41.6214', '-74.4513', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1799, 'Swan Lake', 2814, '12783', '845', '41.74259', '-74.844815', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1800, 'Thompsonville', 2814, '12784', '845', '41.667259', '-74.617885', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1801, 'Glens Falls', 2814, '12801', '518', '43.308232', '-73.640858', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1802, 'Queensbury', 2814, '12801', '518', '43.308232', '-73.640858', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1803, 'West Glens Falls', 2814, '12801', '518', '43.308232', '-73.640858', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1804, 'Cambridge', 2814, '12816', '518', '43.062802', '-73.401231', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1805, 'Center Cambridge', 2814, '12816', '518', '43.062802', '-73.401231', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1806, 'Chilson', 2814, '12883', '518', '43.851792', '-73.503012', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1807, 'Eagle Lake', 2814, '12883', '518', '43.851792', '-73.503012', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1808, 'Streetroad', 2814, '12883', '518', '43.851792', '-73.503012', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1809, 'Ticonderoga', 2814, '12883', '518', '43.851792', '-73.503012', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1810, 'Burke', 2814, '12917', '518', '44.920076', '-74.167333', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1811, 'Cadyville', 2814, '12918', '518', '44.700548', '-73.674029', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1812, 'Poughkeepsie', 2814, '12601', '845', '41.686938', '-73.898822', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1813, 'Eldred', 2814, '12732', '845', '41.552762', '-74.8828', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1814, 'Fallsburg', 2814, '12733', '845', '41.737398', '-74.610411', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1815, 'Coila', 2814, '12816', '518', '43.062802', '-73.401231', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1816, 'Kenoza Lake', 2814, '12750', '845', '41.72509', '-74.965204', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1817, 'Neversink', 2814, '12765', '845', '41.850744', '-74.618401', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1818, 'Catskill', 2814, '12414', '518', '42.230666', '-73.943458', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1819, 'Cementon', 2814, '12414', '518', '42.230666', '-73.943458', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1820, 'Fleischmanns', 2814, '12430', '845', '42.203156', '-74.522603', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1821, 'Halcott Center', 2814, '12430', '845', '42.203156', '-74.522603', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1822, 'Halcott Ctr', 2814, '12430', '845', '42.203156', '-74.522603', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1823, 'Milton', 2814, '12547', '845', '41.651732', '-73.986735', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1824, 'Montgomery', 2814, '12549', '845', '41.52469', '-74.252928', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1825, 'Pawling', 2814, '12564', '845', '41.579772', '-73.59082', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1826, 'Albany', 2814, '12248', '518', '42.6525', '-73.7567', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1827, 'Ny Assembly', 2814, '12248', '518', '42.6525', '-73.7567', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1828, 'Phoenicia', 2814, '12464', '845', '42.040552', '-74.354386', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1829, 'Shokan', 2814, '12481', '845', '41.982148', '-74.214799', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1830, 'South Cairo', 2814, '12482', '518', '42.26829', '-73.957673', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1831, 'Snyders Corners', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1832, 'Snyders Lake', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1833, 'Speigletown', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1834, 'Sycaway', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1835, 'Troy', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1836, 'Troy', 2814, '12181', '518', '42.7284', '-73.6922', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1837, 'W Sand Lake', 2814, '12196', '518', '42.631234', '-73.622124', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1838, 'West Sand Lake', 2814, '12196', '518', '42.631234', '-73.622124', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1839, 'North Greenbush', 2814, '12198', '518', '42.682604', '-73.635274', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1840, 'Wynantskill', 2814, '12198', '518', '42.682604', '-73.635274', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1841, 'Nelliston', 2814, '13410', '518', '42.9329', '-74.6081', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1842, 'Belfort', 2814, '13327', '315', '43.938916', '-75.277142', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1843, 'Croghan', 2814, '13327', '315', '43.938916', '-75.277142', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1844, 'Indian River', 2814, '13327', '315', '43.938916', '-75.277142', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1845, 'Kirschnerville', 2814, '13327', '315', '43.938916', '-75.277142', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1846, 'Franklin Spgs', 2814, '13341', '315', '43.036437', '-75.395674', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1847, 'Franklin Springs', 2814, '13341', '315', '43.036437', '-75.395674', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1848, 'North Pitcher', 2814, '13124', '315', '42.656378', '-75.826612', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1849, 'Bundyville', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1850, 'Demster', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1851, 'Fruit Valley', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1852, 'Furniss', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1853, 'Furniss Sta', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1854, 'North Hannibal', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1855, 'Syr', 2814, '13224', '315', '43.038374', '-76.099096', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1856, 'Syracuse', 2814, '13224', '315', '43.038374', '-76.099096', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1857, 'Syracuse', 2814, '13225', '315', '43.0482', '-76.1479', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1858, 'Syracuse Amf', 2814, '13225', '315', '43.0482', '-76.1479', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1859, 'Syracuse', 2814, '13261', '315', '43.0482', '-76.1479', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1860, 'Blossvale', 2814, '13308', '315', '43.234137', '-75.644116', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1861, 'Vienna', 2814, '13308', '315', '43.234137', '-75.644116', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1862, 'Oswego', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1863, 'Oswego Center', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1864, 'Scriba', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:35', '2018-11-29 04:49:35'),\n(1865, 'Scriba Center', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1866, 'Seneca Hill', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1867, 'Southwest Oswego', 2814, '13126', '315', '43.434626', '-76.453659', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1868, 'Richland', 2814, '13144', '315', '43.574704', '-75.964413', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1869, 'Sylvan Beach', 2814, '13157', '315', '43.2086', '-75.7292', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1870, 'Otisco', 2814, '13159', '315', '42.806833', '-76.121201', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1871, 'Tully', 2814, '13159', '315', '42.806833', '-76.121201', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1872, 'Vesper', 2814, '13159', '315', '42.806833', '-76.121201', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1873, 'Wadhams', 2814, '12993', '518', '44.192866', '-73.442076', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1874, 'Westport', 2814, '12993', '518', '44.192866', '-73.442076', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1875, 'Marcellus', 2814, '13108', '315', '42.972357', '-76.333408', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1876, 'Marcellus Falls', 2814, '13108', '315', '42.972357', '-76.333408', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1877, 'Martisco', 2814, '13108', '315', '42.972357', '-76.333408', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1878, 'Navarino', 2814, '13108', '315', '42.972357', '-76.333408', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1879, 'Churubusco', 2814, '12923', '518', '44.938197', '-73.918538', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1880, 'Constable', 2814, '12926', '518', '44.945946', '-74.33228', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1881, 'Trout River', 2814, '12926', '518', '44.945946', '-74.33228', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1882, 'Westville Center', 2814, '12926', '518', '44.945946', '-74.33228', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1883, 'Baldwinsville', 2814, '13027', '315', '43.162754', '-76.363704', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1884, 'Belgium', 2814, '13027', '315', '43.162754', '-76.363704', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1885, 'Lysander', 2814, '13027', '315', '43.162754', '-76.363704', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1886, 'Radison', 2814, '13027', '315', '43.162754', '-76.363704', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1887, 'Radisson', 2814, '13027', '315', '43.162754', '-76.363704', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1888, 'Van Buren', 2814, '13027', '315', '43.162754', '-76.363704', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1889, 'Cleveland', 2814, '13042', '315', '43.235718', '-75.83125', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1890, 'Denmark', 2814, '13631', '315', '43.8978', '-75.5819', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1891, 'De Peyster', 2814, '13633', '315', '44.504544', '-75.47646', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1892, 'Depeyster', 2814, '13633', '315', '44.504544', '-75.47646', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1893, 'Little Falls', 2814, '13365', '315', '43.107217', '-74.864797', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1894, 'Salisbury', 2814, '13365', '315', '43.107217', '-74.864797', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1895, 'Cold Brook', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1896, 'Grant', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1897, 'Gray', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1898, 'Morehouse', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1899, 'Morehouseville', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1900, 'Noblesboro', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1901, 'Ohio', 2814, '13324', '315', '43.48176', '-74.945454', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1902, 'Dolgeville', 2814, '13329', '315', '43.104917', '-74.689738', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1903, 'Manheim', 2814, '13329', '315', '43.104917', '-74.689738', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1904, 'Oppenheim', 2814, '13329', '315', '43.104917', '-74.689738', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1905, 'Onon Hill', 2814, '13215', '315', '42.971401', '-76.232172', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1906, 'Syr', 2814, '13215', '315', '42.971401', '-76.232172', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1907, 'Syracuse', 2814, '13215', '315', '42.971401', '-76.232172', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1908, 'Bridgewater', 2814, '13313', '315', '42.879714', '-75.268394', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1909, 'Pompey', 2814, '13138', '315', '42.9064', '-76.0131', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1910, 'Sandy Creek', 2814, '13145', '315', '43.653234', '-76.124798', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1911, 'Merrifield', 2814, '13147', '315', '42.776028', '-76.556644', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1912, 'Scipio', 2814, '13147', '315', '42.776028', '-76.556644', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1913, 'Scipio Center', 2814, '13147', '315', '42.776028', '-76.556644', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1914, 'Scipioville', 2814, '13147', '315', '42.776028', '-76.556644', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1915, 'Venice', 2814, '13147', '315', '42.776028', '-76.556644', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1916, 'Venice Center', 2814, '13147', '315', '42.776028', '-76.556644', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1917, 'Sterling', 2814, '13156', '315', '43.34823', '-76.668256', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1918, 'Junius', 2814, '13165', '315', '42.912935', '-76.882168', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1919, 'Waterloo', 2814, '13165', '315', '42.912935', '-76.882168', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1920, 'Syr', 2814, '13204', '315', '43.0558', '-76.176034', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1921, 'Syracuse', 2814, '13204', '315', '43.0558', '-76.176034', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1922, 'Eastwood', 2814, '13206', '315', '43.072982', '-76.10435', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1923, 'Syr', 2814, '13206', '315', '43.072982', '-76.10435', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1924, 'Syracuse', 2814, '13206', '315', '43.072982', '-76.10435', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1925, 'Whippleville', 2814, '12995', '518', '44.8099', '-74.2624', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1926, 'Whiteface Mountain', 2814, '12997', '518', '44.390296', '-73.840573', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1927, 'Whiteface Mtn', 2814, '12997', '518', '44.390296', '-73.840573', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1928, 'Wilmington', 2814, '12997', '518', '44.390296', '-73.840573', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1929, 'Bayberry', 2814, '13090', '315', '43.149089', '-76.20606', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1930, 'Dominion Park', 2814, '13090', '315', '43.149089', '-76.20606', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1931, 'Liverpool', 2814, '13090', '315', '43.149089', '-76.20606', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1932, 'Lpool', 2814, '13090', '315', '43.149089', '-76.20606', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1933, 'Lvpl', 2814, '13090', '315', '43.149089', '-76.20606', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1934, 'Lvrpool', 2814, '13090', '315', '43.149089', '-76.20606', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1935, 'Minetto', 2814, '13115', '315', '43.3981', '-76.4779', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1936, 'Chateaugay', 2814, '12920', '518', '44.883736', '-74.057941', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1937, 'Apulia Sta', 2814, '13020', '315', '42.8189', '-76.0725', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1938, 'Cuddebackvlle', 2814, '12729', '845', '41.49381', '-74.624218', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1939, 'Godeffroy', 2814, '12729', '845', '41.49381', '-74.624218', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1940, 'Fremont', 2814, '12736', '845', '41.84786', '-75.033756', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1941, 'Corinth', 2814, '12822', '518', '43.249164', '-73.880538', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1942, 'Palmer', 2814, '12822', '518', '43.249164', '-73.880538', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1943, 'Annandale', 2814, '12504', '845', '42.0124', '-73.8998', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1944, 'Annandale On Hudson', 2814, '12504', '845', '42.0124', '-73.8998', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1945, 'Red Hook', 2814, '12504', '845', '42.0124', '-73.8998', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1946, 'Claverack', 2814, '12513', '518', '42.209814', '-73.705761', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1947, 'Cornwall Hdsn', 2814, '12520', '845', '41.43742', '-74.009578', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1948, 'Cornwall Hud', 2814, '12520', '845', '41.43742', '-74.009578', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1949, 'Cornwall Hudson', 2814, '12520', '845', '41.43742', '-74.009578', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1950, 'Cornwall On Hudson', 2814, '12520', '845', '41.43742', '-74.009578', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1951, 'Cornwall On The Hudson', 2814, '12520', '845', '41.43742', '-74.009578', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1952, 'Glenham', 2814, '12527', '845', '41.5182', '-73.9394', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1953, 'Fremont Center', 2814, '12736', '845', '41.84786', '-75.033756', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1954, 'Fremont Ctr', 2814, '12736', '845', '41.84786', '-75.033756', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1955, 'Glen Wild', 2814, '12738', '845', '41.658885', '-74.572906', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1956, 'Hurleyville', 2814, '12747', '845', '41.768927', '-74.662966', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1957, 'Lake Huntington', 2814, '12752', '845', '41.693763', '-74.98968', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1958, 'Lk Huntington', 2814, '12752', '845', '41.693763', '-74.98968', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1959, 'Cornwallville', 2814, '12418', '518', '42.359717', '-74.163418', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1960, 'Esopus', 2814, '12429', '845', '41.816932', '-73.976734', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1961, 'Lexington', 2814, '12452', '518', '42.2404', '-74.3655', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1962, 'Patterson', 2814, '12563', '845', '41.485394', '-73.58992', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1963, 'Albany', 2814, '12252', '518', '42.6525', '-73.7567', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1964, 'Ny State Lottery', 2814, '12252', '518', '42.6525', '-73.7567', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1965, 'Albany', 2814, '12261', '518', '42.6525', '-73.7567', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1966, 'Nys Tax Processing Ctr', 2814, '12261', '518', '42.6525', '-73.7567', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1967, 'Prattsville', 2814, '12468', '518', '42.293696', '-74.413336', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1968, 'Red Falls', 2814, '12468', '518', '42.293696', '-74.413336', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1969, 'Saugerties', 2814, '12477', '845', '42.08412', '-73.999634', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1970, 'West Saugerties', 2814, '12477', '845', '42.08412', '-73.999634', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1971, 'Tillson', 2814, '12486', '845', '41.836786', '-74.064791', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1972, 'Westerlo', 2814, '12193', '518', '42.519342', '-74.040524', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1973, 'W Lebanon', 2814, '12195', '518', '42.4838', '-73.4664', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1974, 'West Lebanon', 2814, '12195', '518', '42.4838', '-73.4664', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1975, 'Albany', 2814, '12202', '518', '42.630258', '-73.762464', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1976, 'Albany', 2814, '12211', '518', '42.699724', '-73.759912', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1977, 'Loudonville', 2814, '12211', '518', '42.699724', '-73.759912', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1978, 'Siena', 2814, '12211', '518', '42.699724', '-73.759912', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1979, 'Lebanon Spg', 2814, '12125', '518', '42.469745', '-73.410478', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1980, 'Lebanon Springs', 2814, '12125', '518', '42.469745', '-73.410478', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1981, 'New Lebanon', 2814, '12125', '518', '42.469745', '-73.410478', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1982, 'New Lebanon Center', 2814, '12125', '518', '42.469745', '-73.410478', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1983, 'Ravena', 2814, '12143', '518', '42.487005', '-73.848548', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1984, 'Easton', 2814, '12154', '518', '42.939888', '-73.607982', '2018-11-29 04:49:36', '2018-11-29 04:49:36'),\n(1985, 'Schaghticoke', 2814, '12154', '518', '42.939888', '-73.607982', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1986, 'Slingerlands', 2814, '12159', '518', '42.644616', '-73.876318', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1987, 'S Bethlehem', 2814, '12161', '518', '42.5317', '-73.8476', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1988, 'South Bethlehem', 2814, '12161', '518', '42.5317', '-73.8476', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1989, 'Stephentown', 2814, '12168', '518', '42.558762', '-73.379371', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1990, 'Stephentown Center', 2814, '12168', '518', '42.558762', '-73.379371', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1991, 'Albany', 2814, '12227', '518', '42.6516', '-73.7569', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1992, 'Nys Dept Of Tax & Finance', 2814, '12227', '518', '42.6516', '-73.7569', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1993, 'Edwards', 2814, '13635', '315', '44.306144', '-75.267924', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1994, 'S Edwards', 2814, '13635', '315', '44.306144', '-75.267924', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1995, 'South Edwards', 2814, '13635', '315', '44.306144', '-75.267924', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1996, 'Goulds Mill', 2814, '13368', '315', '43.641324', '-75.337552', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1997, 'Lyons Falls', 2814, '13368', '315', '43.641324', '-75.337552', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1998, 'Lyonsdale', 2814, '13368', '315', '43.641324', '-75.337552', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(1999, 'New York Mills', 2814, '13417', '315', '43.099813', '-75.294584', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2000, 'New York Mls', 2814, '13417', '315', '43.099813', '-75.294584', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2001, 'Ny Mills', 2814, '13417', '315', '43.099813', '-75.294584', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2002, 'Collinsville', 2814, '13433', '315', '43.587208', '-75.236273', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2003, 'Fowlersville', 2814, '13433', '315', '43.587208', '-75.236273', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2004, 'Leyden', 2814, '13433', '315', '43.587208', '-75.236273', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2005, 'Moose River', 2814, '13433', '315', '43.587208', '-75.236273', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2006, 'Port Leyden', 2814, '13433', '315', '43.587208', '-75.236273', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2007, 'Chadwicks', 2814, '13319', '315', '43.030928', '-75.264016', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2008, 'Willowvale', 2814, '13319', '315', '43.030928', '-75.264016', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2009, 'Hinckley', 2814, '13352', '315', '43.3123', '-75.1223', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2010, 'Syr', 2814, '13217', '315', '43.0499', '-76.1337', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2011, 'Syracuse', 2814, '13217', '315', '43.0499', '-76.1337', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2012, 'Syr', 2814, '13219', '315', '43.040518', '-76.223225', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2013, 'Syracuse', 2814, '13219', '315', '43.040518', '-76.223225', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2014, 'Taunton', 2814, '13219', '315', '43.040518', '-76.223225', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2015, 'Westvale', 2814, '13219', '315', '43.040518', '-76.223225', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2016, 'National Grid', 2814, '13252', '315', '43.0482', '-76.1479', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2017, 'Syracuse', 2814, '13252', '315', '43.0482', '-76.1479', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2018, 'Alder Creek', 2814, '13301', '315', '43.426214', '-75.216208', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2019, 'Fayetteville', 2814, '13066', '315', '43.03083', '-75.999431', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2020, 'Peterboro', 2814, '13134', '315', '42.9597', '-75.6842', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2021, 'Smithfield', 2814, '13134', '315', '42.9597', '-75.6842', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2022, 'Hinmansville', 2814, '13135', '315', '43.265397', '-76.348208', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2023, 'Phoenix', 2814, '13135', '315', '43.265397', '-76.348208', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2024, 'Schroeppel', 2814, '13135', '315', '43.265397', '-76.348208', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2025, 'West Monroe', 2814, '13167', '315', '43.30462', '-76.055138', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2026, 'Kirkville', 2814, '13082', '315', '43.102228', '-75.941008', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2027, 'Minoa', 2814, '13116', '315', '43.070366', '-76.004139', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2028, 'Elizabethtown', 2814, '12932', '518', '44.196217', '-73.61148', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2029, 'Caz', 2814, '13035', '315', '42.943645', '-75.810715', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2030, 'Cazenovia', 2814, '13035', '315', '42.943645', '-75.810715', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2031, 'Fenner', 2814, '13035', '315', '42.943645', '-75.810715', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2032, 'Nelson', 2814, '13035', '315', '42.943645', '-75.810715', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2033, 'Middle Falls', 2814, '12848', '518', '43.1008', '-73.5256', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2034, 'Barkersville', 2814, '12850', '518', '43.10035', '-73.972744', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2035, 'Lake Desolation', 2814, '12850', '518', '43.10035', '-73.972744', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2036, 'Middle Grove', 2814, '12850', '518', '43.10035', '-73.972744', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2037, 'Providence', 2814, '12850', '518', '43.10035', '-73.972744', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2038, 'Fort Jackson', 2814, '12965', '315', '44.72489', '-74.684638', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2039, 'Hopkinton', 2814, '12965', '315', '44.72489', '-74.684638', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2040, 'Nicholville', 2814, '12965', '315', '44.72489', '-74.684638', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2041, 'Bangor', 2814, '12966', '518', '44.805877', '-74.419299', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2042, 'North Bangor', 2814, '12966', '518', '44.805877', '-74.419299', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2043, 'West Bangor', 2814, '12966', '518', '44.805877', '-74.419299', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2044, 'Port Jervis', 2814, '12785', '845', '41.520998', '-74.589099', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2045, 'Westbrookville', 2814, '12785', '845', '41.520998', '-74.589099', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2046, 'Westbrookvlle', 2814, '12785', '845', '41.520998', '-74.589099', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2047, 'Belcher', 2814, '12865', '518', '43.2186', '-73.351778', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2048, 'E Greenwich', 2814, '12865', '518', '43.2186', '-73.351778', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2049, 'East Greenwich', 2814, '12865', '518', '43.2186', '-73.351778', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2050, 'East Hebron', 2814, '12865', '518', '43.2186', '-73.351778', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2051, 'Salem', 2814, '12865', '518', '43.2186', '-73.351778', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2052, 'West Hebron', 2814, '12865', '518', '43.2186', '-73.351778', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2053, 'Victory Mills', 2814, '12884', '518', '43.0875', '-73.5957', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2054, 'Riverbank', 2814, '12885', '518', '43.53363', '-73.838111', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2055, 'The Glen', 2814, '12885', '518', '43.53363', '-73.838111', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2056, 'Thurman', 2814, '12885', '518', '43.53363', '-73.838111', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2057, 'Warrensburg', 2814, '12885', '518', '43.53363', '-73.838111', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2058, 'Brainardsville', 2814, '12915', '518', '44.8575', '-74.0339', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2059, 'Brainardsvle', 2814, '12915', '518', '44.8575', '-74.0339', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2060, 'Alburgh', 2814, '12916', '518', '44.840522', '-74.511991', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2061, 'Brushton', 2814, '12916', '518', '44.840522', '-74.511991', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2062, 'Cooks Corners', 2814, '12916', '518', '44.840522', '-74.511991', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2063, 'Irish Corners', 2814, '12916', '518', '44.840522', '-74.511991', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2064, 'Stanfordville', 2814, '12581', '845', '41.907329', '-73.693001', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2065, 'Stormville', 2814, '12582', '845', '41.545312', '-73.726233', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2066, 'Constantia', 2814, '13044', '315', '43.267903', '-76.005012', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2067, 'Gayville', 2814, '13044', '315', '43.267903', '-76.005012', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2068, 'E Syracuse', 2814, '13057', '315', '43.096874', '-76.04167', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2069, 'East Syracuse', 2814, '13057', '315', '43.096874', '-76.04167', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2070, 'Olmstedville', 2814, '12857', '518', '43.85064', '-74.094005', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2071, 'Jay', 2814, '12941', '518', '44.34841', '-73.716226', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2072, 'Mooers Forks', 2814, '12959', '518', '44.958096', '-73.715667', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2073, 'Moriah', 2814, '12960', '518', '44.024892', '-73.542767', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2074, 'Moriah Corners', 2814, '12960', '518', '44.024892', '-73.542767', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2075, 'Rainbow Lake', 2814, '12976', '518', '44.4667', '-74.1735', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2076, 'Ray Brook', 2814, '12977', '518', '44.3', '-74.0856', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2077, 'Yulan', 2814, '12792', '845', '41.525052', '-74.920362', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2078, 'Athol', 2814, '12810', '518', '43.480166', '-73.887732', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2079, 'New Hamburg', 2814, '12590', '845', '41.587909', '-73.88684', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2080, 'Wappinger', 2814, '12590', '845', '41.587909', '-73.88684', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2081, 'Wappingers Falls', 2814, '12590', '845', '41.587909', '-73.88684', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2082, 'Wappingers Fl', 2814, '12590', '845', '41.587909', '-73.88684', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2083, 'West Fishkill', 2814, '12590', '845', '41.587909', '-73.88684', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2084, 'Wassaic', 2814, '12592', '845', '41.788555', '-73.560462', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2085, 'Cochecton', 2814, '12726', '845', '41.694543', '-74.974424', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2086, 'Diamond Point', 2814, '12824', '518', '43.543932', '-73.681172', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2087, 'Trout Lake', 2814, '12824', '518', '43.543932', '-73.681172', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2088, 'Bangall', 2814, '12506', '845', '41.8757', '-73.6919', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2089, 'Beacon', 2814, '12508', '845', '41.491618', '-73.949182', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2090, 'Elizaville', 2814, '12523', '518', '42.094718', '-73.761918', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2091, 'Taghkanic', 2814, '12523', '518', '42.094718', '-73.761918', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2092, 'Harris', 2814, '12742', '845', '41.716796', '-74.721685', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2093, 'Highland Lake', 2814, '12743', '845', '41.535526', '-74.84138', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2094, 'Roscoe', 2814, '12776', '607', '41.913307', '-74.925462', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2095, 'New Kingston', 2814, '12459', '845', '42.22007', '-74.693286', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2096, 'Livingston', 2814, '12541', '518', '42.1419', '-73.7784', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2097, 'Rhinebeck', 2814, '12572', '845', '41.926086', '-73.86918', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2098, 'Rhinecliff', 2814, '12574', '845', '41.9194', '-73.9519', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2099, 'Albany', 2814, '12255', '518', '42.6525', '-73.7567', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2100, 'Ny Hghr Educ Serv Corp', 2814, '12255', '518', '42.6525', '-73.7567', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2101, 'Albany', 2814, '12256', '518', '42.6525', '-73.7567', '2018-11-29 04:49:37', '2018-11-29 04:49:37'),\n(2102, 'Ny Lottery', 2814, '12256', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2103, 'Albany', 2814, '12257', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2104, 'Ny State Dept Financial Svc', 2814, '12257', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2105, 'Albany', 2814, '12288', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2106, 'Us Postal Service', 2814, '12288', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2107, 'Schdy', 2814, '12305', '518', '42.813371', '-73.94185', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2108, 'Schenectady', 2814, '12305', '518', '42.813371', '-73.94185', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2109, 'Wawarsing', 2814, '12489', '845', '41.753618', '-74.350128', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2110, 'West Camp', 2814, '12490', '845', '42.1231', '-73.9356', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2111, 'West Kill', 2814, '12492', '518', '42.17954', '-74.34751', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2112, 'Albany', 2814, '12223', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2113, 'Empire State Plaza', 2814, '12223', '518', '42.6525', '-73.7567', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2114, 'Arkville', 2814, '12406', '845', '42.13114', '-74.593668', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2115, 'Ashland', 2814, '12407', '518', '42.322722', '-74.335631', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2116, 'Breakabeen', 2814, '12122', '518', '42.555788', '-74.303888', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2117, 'Huntersland', 2814, '12122', '518', '42.555788', '-74.303888', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2118, 'Livingstonville', 2814, '12122', '518', '42.555788', '-74.303888', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2119, 'Middleburg', 2814, '12122', '518', '42.555788', '-74.303888', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2120, 'Middleburgh', 2814, '12122', '518', '42.555788', '-74.303888', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2121, 'Arietta', 2814, '12139', '518', '43.608397', '-74.576996', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2122, 'Piseco', 2814, '12139', '518', '43.608397', '-74.576996', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2123, 'Schoharie', 2814, '12157', '518', '42.664127', '-74.296112', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2124, 'Duanesburg', 2814, '12056', '518', '42.769652', '-74.081652', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2125, 'Princetown', 2814, '12056', '518', '42.769652', '-74.081652', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2126, 'Fultonham', 2814, '12071', '518', '42.542772', '-74.428839', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2127, 'Galway', 2814, '12074', '518', '43.045692', '-74.043436', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2128, 'Hagedorns Mills', 2814, '12074', '518', '43.045692', '-74.043436', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2129, 'Mosherville', 2814, '12074', '518', '43.045692', '-74.043436', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2130, 'Knox', 2814, '12107', '518', '42.6711', '-74.1161', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2131, 'Higgins Bay', 2814, '12108', '518', '43.563611', '-74.41575', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2132, 'Lake Pleasant', 2814, '12108', '518', '43.563611', '-74.41575', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2133, 'Summit', 2814, '12175', '518', '42.54718', '-74.565667', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2134, 'Alcove', 2814, '12007', '518', '42.481455', '-73.938881', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2135, 'Old Bethpage', 2814, '11804', '516', '40.758891', '-73.454141', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2136, 'E Hampton', 2814, '11937', '631', '41.022956', '-72.151138', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2137, 'East Hampton', 2814, '11937', '631', '41.022956', '-72.151138', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2138, 'E Moriches', 2814, '11940', '631', '40.808136', '-72.755395', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2139, 'East Moriches', 2814, '11940', '631', '40.808136', '-72.755395', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2140, 'Orient', 2814, '11957', '631', '41.150302', '-72.240576', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2141, 'Orient Point', 2814, '11957', '631', '41.150302', '-72.240576', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2142, 'Southold', 2814, '11971', '631', '41.061947', '-72.424684', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2143, 'Scotts Beach', 2814, '11789', '631', '40.956156', '-72.973309', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2144, 'Sound Beach', 2814, '11789', '631', '40.956156', '-72.973309', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2145, 'Farmingdale', 2814, '11737', '631', '40.7328', '-73.4458', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2146, 'Evans Mills', 2814, '13637', '315', '44.093665', '-75.8258', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2147, 'Le Ray', 2814, '13637', '315', '44.093665', '-75.8258', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2148, 'Mc Conelsvile', 2814, '13401', '315', '43.2703', '-75.7006', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2149, 'Mc Connellsville', 2814, '13401', '315', '43.2703', '-75.7006', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2150, 'N Brookfield', 2814, '13418', '315', '42.838305', '-75.378006', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2151, 'North Brookfield', 2814, '13418', '315', '42.838305', '-75.378006', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2152, 'Prospect', 2814, '13435', '315', '43.3016', '-75.1559', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2153, 'North Bridgewater', 2814, '13318', '315', '42.918733', '-75.261637', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2154, 'Eaton', 2814, '13334', '315', '42.837562', '-75.645791', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2155, 'Georgtown Station', 2814, '13334', '315', '42.837562', '-75.645791', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2156, 'Pierceville', 2814, '13334', '315', '42.837562', '-75.645791', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2157, 'Edmeston', 2814, '13335', '607', '42.71302', '-75.251088', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2158, 'Hoffmeister', 2814, '13353', '315', '43.479922', '-74.747556', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2159, 'Caller Firms Brm', 2814, '13250', '315', '43.0482', '-76.1479', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2160, 'Syracuse', 2814, '13250', '315', '43.0482', '-76.1479', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2161, 'Altmar', 2814, '13302', '315', '43.498544', '-75.976937', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2162, 'Howardville', 2814, '13302', '315', '43.498544', '-75.976937', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2163, 'Kasoag', 2814, '13302', '315', '43.498544', '-75.976937', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2164, 'Pine Meadows', 2814, '13302', '315', '43.498544', '-75.976937', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2165, 'Ricard', 2814, '13302', '315', '43.498544', '-75.976937', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2166, 'South Albion', 2814, '13302', '315', '43.498544', '-75.976937', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2167, 'Ava', 2814, '13303', '315', '43.374374', '-75.462408', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2168, 'West Branch', 2814, '13303', '315', '43.374374', '-75.462408', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2169, 'Cassville', 2814, '13318', '315', '42.918733', '-75.261637', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2170, 'Pennellville', 2814, '13132', '315', '43.26207', '-76.245587', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2171, 'Mandana', 2814, '13152', '315', '42.903872', '-76.357025', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2172, 'Niles', 2814, '13152', '315', '42.903872', '-76.357025', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2173, 'Skan', 2814, '13152', '315', '42.903872', '-76.357025', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2174, 'Skaneateles', 2814, '13152', '315', '42.903872', '-76.357025', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2175, 'Brutus', 2814, '13166', '315', '43.074827', '-76.548134', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2176, 'Weedsport', 2814, '13166', '315', '43.074827', '-76.548134', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2177, 'Syr', 2814, '13201', '315', '43.0499', '-76.1506', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2178, 'Syracuse', 2814, '13201', '315', '43.0499', '-76.1506', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2179, 'Berwyn', 2814, '13084', '315', '42.891059', '-76.11898', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2180, 'Cardiff', 2814, '13084', '315', '42.891059', '-76.11898', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2181, 'La Fayette', 2814, '13084', '315', '42.891059', '-76.11898', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2182, 'Lafayette', 2814, '13084', '315', '42.891059', '-76.11898', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2183, 'Mc Graw', 2814, '13101', '607', '42.601556', '-76.063912', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2184, 'Mcgraw', 2814, '13101', '607', '42.601556', '-76.063912', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2185, 'Montezuma', 2814, '13117', '315', '43.0101', '-76.7038', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2186, 'Canastota', 2814, '13032', '315', '43.070968', '-75.76191', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2187, 'Perryville', 2814, '13032', '315', '43.070968', '-75.76191', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2188, 'South Bay', 2814, '13032', '315', '43.070968', '-75.76191', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2189, 'Whitelaw', 2814, '13032', '315', '43.070968', '-75.76191', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2190, 'Cayuga', 2814, '13034', '315', '42.925384', '-76.683365', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2191, 'De Ruyter', 2814, '13052', '315', '42.70528', '-75.872545', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2192, 'Deruyter', 2814, '13052', '315', '42.70528', '-75.872545', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2193, 'Glass Lake', 2814, '12018', '518', '42.632751', '-73.524793', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2194, 'Charlotteville', 2814, '12036', '607', '42.540411', '-74.68345', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2195, 'Charlottevle', 2814, '12036', '607', '42.540411', '-74.68345', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2196, 'Malta', 2814, '12118', '518', '42.916092', '-73.73302', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2197, 'Mechanicville', 2814, '12118', '518', '42.916092', '-73.73302', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2198, 'Sunken Meadow', 2814, '11768', '631', '40.913952', '-73.332852', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2199, 'Mattituck', 2814, '11952', '631', '40.998753', '-72.544604', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2200, 'Quogue', 2814, '11959', '631', '40.827531', '-72.60057', '2018-11-29 04:49:38', '2018-11-29 04:49:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(2201, 'Laurel Hollow', 2814, '11791', '516', '40.828833', '-73.504171', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2202, 'Muttontown', 2814, '11791', '516', '40.828833', '-73.504171', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2203, 'Oyster Bay Cove', 2814, '11791', '516', '40.828833', '-73.504171', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2204, 'Syosset', 2814, '11791', '516', '40.828833', '-73.504171', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2205, 'Otselic', 2814, '13072', '315', '42.760656', '-75.763142', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2206, 'Atwater', 2814, '13081', '315', '42.675273', '-76.630913', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2207, 'Goodyears Corners', 2814, '13081', '315', '42.675273', '-76.630913', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2208, 'King Ferry', 2814, '13081', '315', '42.675273', '-76.630913', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2209, 'Kings Ferry', 2814, '13081', '315', '42.675273', '-76.630913', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2210, 'Manlius', 2814, '13104', '315', '42.958747', '-75.963326', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2211, 'Meridian', 2814, '13113', '315', '43.1658', '-76.5374', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2212, 'Indian Village', 2814, '13120', '315', '42.949152', '-76.184972', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2213, 'Nedrow', 2814, '13120', '315', '42.949152', '-76.184972', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2214, 'Onondaga Nation', 2814, '13120', '315', '42.949152', '-76.184972', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2215, 'Rockwell Springs', 2814, '13120', '315', '42.949152', '-76.184972', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2216, 'S Onon', 2814, '13120', '315', '42.949152', '-76.184972', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2217, 'South Onondaga', 2814, '13120', '315', '42.949152', '-76.184972', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2218, 'Dannemora', 2814, '12929', '518', '44.7185', '-73.7192', '2018-11-29 04:49:38', '2018-11-29 04:49:38'),\n(2219, 'Auburn', 2814, '13022', '315', '42.9319', '-76.5665', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2220, 'Cortland', 2814, '13045', '607', '42.611408', '-76.178988', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2221, 'Cortlandville', 2814, '13045', '607', '42.611408', '-76.178988', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2222, 'Munsons Corners', 2814, '13045', '607', '42.611408', '-76.178988', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2223, 'Virgil', 2814, '13045', '607', '42.611408', '-76.178988', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2224, 'Durhamville', 2814, '13054', '315', '43.163988', '-75.656017', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2225, 'Higginsville', 2814, '13054', '315', '43.163988', '-75.656017', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2226, 'Stacy Basin', 2814, '13054', '315', '43.163988', '-75.656017', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2227, 'Erieville', 2814, '13061', '315', '42.850764', '-75.756362', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2228, 'Newcomb', 2814, '12852', '518', '43.999198', '-74.114938', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2229, 'Putnam Sta', 2814, '12861', '518', '43.752996', '-73.417308', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2230, 'Putnam Station', 2814, '12861', '518', '43.752996', '-73.417308', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2231, 'Essex', 2814, '12936', '518', '44.2427', '-73.38357', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2232, 'Whallonsburg', 2814, '12936', '518', '44.2427', '-73.38357', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2233, 'Grover Hills', 2814, '12956', '518', '44.088047', '-73.513332', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2234, 'Mineville', 2814, '12956', '518', '44.088047', '-73.513332', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2235, 'Rouses Point', 2814, '12979', '518', '44.987371', '-73.36956', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2236, 'Bakers Mills', 2814, '12811', '518', '43.6149', '-74.0255', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2237, 'Severance', 2814, '12872', '518', '43.876364', '-73.716357', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2238, 'Au Sable Chasm', 2814, '12911', '518', '44.516429', '-73.462323', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2239, 'Ausable Chasm', 2814, '12911', '518', '44.516429', '-73.462323', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2240, 'Keeseville', 2814, '12911', '518', '44.516429', '-73.462323', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2241, 'Bloomingdale', 2814, '12913', '518', '44.401733', '-74.007196', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2242, 'Salisbury Mls', 2814, '12577', '845', '41.426197', '-74.109722', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2243, 'Poughkeepsie', 2814, '12602', '845', '41.7004', '-73.9216', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2244, 'Cleverdale', 2814, '12820', '518', '43.4773', '-73.6433', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2245, 'Rockhurst', 2814, '12820', '518', '43.4773', '-73.6433', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2246, 'Graphite', 2814, '12836', '518', '43.719669', '-73.538386', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2247, 'Hague', 2814, '12836', '518', '43.719669', '-73.538386', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2248, 'Hartford', 2814, '12838', '518', '43.336208', '-73.404696', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2249, 'Assembly Point', 2814, '12845', '518', '43.427296', '-73.707262', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2250, 'Lake George', 2814, '12845', '518', '43.427296', '-73.707262', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2251, 'Castle Point', 2814, '12511', '845', '41.5461', '-73.96', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2252, 'Cornwall', 2814, '12518', '845', '41.415569', '-74.019568', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2253, 'Hillsdale', 2814, '12529', '518', '42.200516', '-73.550069', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2254, 'Hortonville', 2814, '12745', '845', '41.780348', '-75.024292', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2255, 'Pond Eddy', 2814, '12770', '845', '41.457481', '-74.861988', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2256, 'S Fallsburg', 2814, '12779', '845', '41.705862', '-74.636905', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2257, 'South Fallsburg', 2814, '12779', '845', '41.705862', '-74.636905', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2258, 'Cairo', 2814, '12413', '518', '42.30152', '-74.030066', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2259, 'Cragsmoor', 2814, '12420', '845', '41.672762', '-74.381058', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2260, 'Elka Park', 2814, '12427', '518', '42.146842', '-74.121692', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2261, 'Haines Falls', 2814, '12436', '518', '42.1958', '-74.0976', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2262, 'Krumville', 2814, '12461', '845', '41.914068', '-74.268103', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2263, 'Olive', 2814, '12461', '845', '41.914068', '-74.268103', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2264, 'Olivebridge', 2814, '12461', '845', '41.914068', '-74.268103', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2265, 'Samsonville', 2814, '12461', '845', '41.914068', '-74.268103', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2266, 'Hyde Park', 2814, '12538', '845', '41.790443', '-73.884744', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2267, 'Maybrook', 2814, '12543', '845', '41.490301', '-74.213954', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2268, 'Millbrook', 2814, '12545', '845', '41.779276', '-73.675694', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2269, 'Plattekill', 2814, '12568', '845', '41.6176', '-74.0764', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2270, 'Poughquag', 2814, '12570', '845', '41.630962', '-73.68131', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2271, 'Salisbury Mills', 2814, '12577', '845', '41.426197', '-74.109722', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2272, 'Albany', 2814, '12243', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2273, 'Ny Soc Serv Dept', 2814, '12243', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2274, 'Albany', 2814, '12245', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2275, 'Ny Dept Commerce', 2814, '12245', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2276, 'Brandywine', 2814, '12304', '518', '42.766409', '-73.895013', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2277, 'Schdy', 2814, '12304', '518', '42.766409', '-73.895013', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2278, 'Schenectady', 2814, '12304', '518', '42.766409', '-73.895013', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2279, 'Palenville', 2814, '12463', '518', '42.192338', '-74.043098', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2280, 'Willow', 2814, '12495', '845', '42.080622', '-74.220641', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2281, 'Chatham Center', 2814, '12184', '518', '42.409414', '-73.656142', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2282, 'Valatie', 2814, '12184', '518', '42.409414', '-73.656142', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2283, 'Reidsville', 2814, '12186', '518', '42.632982', '-73.975943', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2284, 'Voorheesville', 2814, '12186', '518', '42.632982', '-73.975943', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2285, 'Albany', 2814, '12209', '518', '42.640011', '-73.793342', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2286, 'General Electric', 2814, '12345', '518', '42.8145', '-73.9403', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2287, 'Schdy', 2814, '12345', '518', '42.8145', '-73.9403', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2288, 'Schenectady', 2814, '12345', '518', '42.8145', '-73.9403', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2289, 'Kingston', 2814, '12402', '845', '41.9276', '-74.0183', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2290, 'Bloomington', 2814, '12411', '845', '41.881552', '-74.040261', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2291, 'Edinburg', 2814, '12134', '518', '43.260492', '-74.224841', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2292, 'Northville', 2814, '12134', '518', '43.260492', '-74.224841', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2293, 'Albany', 2814, '12236', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2294, 'Audit And Control Dept', 2814, '12236', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2295, 'Cropseyville', 2814, '12052', '518', '42.765326', '-73.486685', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2296, 'East Berne', 2814, '12059', '518', '42.61835', '-74.073585', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2297, 'Hagaman', 2814, '12086', '518', '42.991066', '-74.112418', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2298, 'Altamont', 2814, '12009', '518', '42.690352', '-74.03405', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2299, 'Thompsons Lake', 2814, '12009', '518', '42.690352', '-74.03405', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2300, 'Alps', 2814, '12018', '518', '42.632751', '-73.524793', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2301, 'Averill Park', 2814, '12018', '518', '42.632751', '-73.524793', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2302, 'Burden Lake', 2814, '12018', '518', '42.632751', '-73.524793', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2303, 'Dunham Hollow', 2814, '12018', '518', '42.632751', '-73.524793', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2304, 'East Poestenkill', 2814, '12018', '518', '42.632751', '-73.524793', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2305, 'Quaker Springs', 2814, '12871', '518', '43.096262', '-73.618254', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2306, 'Schuylerville', 2814, '12871', '518', '43.096262', '-73.618254', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2307, 'Au Sable Forks', 2814, '12912', '518', '44.457023', '-73.77934', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2308, 'Au Sable Frks', 2814, '12912', '518', '44.457023', '-73.77934', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2309, 'Hawkeye', 2814, '12912', '518', '44.457023', '-73.77934', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2310, 'Bombay', 2814, '12914', '518', '44.930567', '-74.609694', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2311, 'Verbank', 2814, '12585', '845', '41.716523', '-73.702478', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2312, 'Arlington', 2814, '12603', '845', '41.675514', '-73.860106', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2313, 'Poughkeepsie', 2814, '12603', '845', '41.675514', '-73.860106', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2314, 'Clemons', 2814, '12819', '518', '43.602017', '-73.498426', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2315, 'Comstock', 2814, '12821', '518', '43.452582', '-73.40722', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2316, 'Fort Edward', 2814, '12828', '518', '43.239236', '-73.596574', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2317, 'Fort Miller', 2814, '12828', '518', '43.239236', '-73.596574', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2318, 'Amenia', 2814, '12501', '845', '41.850262', '-73.577716', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2319, 'Ancramdale', 2814, '12503', '518', '42.031416', '-73.584932', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2320, 'Billings', 2814, '12510', '845', '41.6712', '-73.7637', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2321, 'Highland', 2814, '12528', '845', '41.72937', '-74.006125', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2322, 'Huguenot', 2814, '12746', '845', '41.429492', '-74.653177', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2323, 'Narrowsburg', 2814, '12764', '845', '41.594995', '-74.973611', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2324, 'Port Jervis', 2814, '12771', '845', '41.370322', '-74.642474', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2325, 'Pt Jervis', 2814, '12771', '845', '41.370322', '-74.642474', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2326, 'Cottekill', 2814, '12419', '845', '41.855334', '-74.110206', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2327, 'Cherrytown', 2814, '12446', '845', '41.80237', '-74.29158', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2328, 'Kerhonkson', 2814, '12446', '845', '41.80237', '-74.29158', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2329, 'Malden', 2814, '12453', '845', '42.1101', '-73.9378', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2330, 'Malden Hudson', 2814, '12453', '845', '42.1101', '-73.9378', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2331, 'Malden On Hudson', 2814, '12453', '845', '42.1101', '-73.9378', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2332, 'Mldn On Hdsn', 2814, '12453', '845', '42.1101', '-73.9378', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2333, 'Oak Hill', 2814, '12460', '518', '42.420385', '-74.15628', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2334, 'Albany', 2814, '12237', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2335, 'Ny Health Dept', 2814, '12237', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2336, 'Albany', 2814, '12244', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2337, 'Ny Empl Retirement', 2814, '12244', '518', '42.6525', '-73.7567', '2018-11-29 04:49:39', '2018-11-29 04:49:39'),\n(2338, 'Tannersville', 2814, '12485', '518', '42.211255', '-74.111132', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2339, 'W Shokan', 2814, '12494', '845', '41.9663', '-74.277914', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2340, 'West Shokan', 2814, '12494', '845', '41.9663', '-74.277914', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2341, 'W Fulton', 2814, '12194', '518', '42.516429', '-74.461353', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2342, 'West Fulton', 2814, '12194', '518', '42.516429', '-74.461353', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2343, 'Malta', 2814, '12151', '518', '42.921583', '-73.784381', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2344, 'Round Lake', 2814, '12151', '518', '42.921583', '-73.784381', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2345, 'Ushers', 2814, '12151', '518', '42.921583', '-73.784381', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2346, 'Albany', 2814, '12235', '518', '42.6525', '-73.7567', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2347, 'Ny Agr And Mkts', 2814, '12235', '518', '42.6525', '-73.7567', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2348, 'Braman Corners', 2814, '12053', '518', '42.758016', '-74.184234', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2349, 'Delanson', 2814, '12053', '518', '42.758016', '-74.184234', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2350, 'Feura Bush', 2814, '12067', '518', '42.554235', '-73.911458', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2351, 'Guilderland Center', 2814, '12085', '518', '42.7041', '-73.9709', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2352, 'Guildrlnd Ctr', 2814, '12085', '518', '42.7041', '-73.9709', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2353, 'Latham', 2814, '12110', '518', '42.75534', '-73.780868', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2354, 'Newtonville', 2814, '12110', '518', '42.75534', '-73.780868', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2355, 'Verdoy', 2814, '12110', '518', '42.75534', '-73.780868', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2356, 'Stephentown', 2814, '12169', '518', '42.577582', '-73.430679', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2357, 'Quioque', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2358, 'W Hampton Bch', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2359, 'W Hampton Beach', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2360, 'Cedarville', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2361, 'Columbia', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2362, 'Columbia Center', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2363, 'Ilion', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2364, 'North Columbia', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2365, 'South Ilion', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2366, 'Spinnerville', 2814, '13357', '315', '42.971938', '-75.090326', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2367, 'Dennison Corners', 2814, '13407', '315', '42.967692', '-74.936622', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2368, 'Fort Herkimer', 2814, '13407', '315', '42.967692', '-74.936622', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2369, 'German Flatts', 2814, '13407', '315', '42.967692', '-74.936622', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2370, 'Mohawk', 2814, '13407', '315', '42.967692', '-74.936622', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2371, 'Paines Hollow', 2814, '13407', '315', '42.967692', '-74.936622', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2372, 'Redfield', 2814, '13437', '315', '43.593501', '-75.797769', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2373, 'Clark Mills', 2814, '13321', '315', '43.0948', '-75.3753', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2374, 'Clinton', 2814, '13323', '315', '43.052754', '-75.371051', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2375, 'Kirkland', 2814, '13323', '315', '43.052754', '-75.371051', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2376, 'Lairdsville', 2814, '13323', '315', '43.052754', '-75.371051', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2377, 'Earlville', 2814, '13332', '315', '42.759629', '-75.576636', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2378, 'Lebanon', 2814, '13332', '315', '42.759629', '-75.576636', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2379, 'Lebanon Center', 2814, '13332', '315', '42.759629', '-75.576636', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2380, 'Poolville', 2814, '13332', '315', '42.759629', '-75.576636', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2381, 'South Hamilton', 2814, '13332', '315', '42.759629', '-75.576636', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2382, 'South Lebanon', 2814, '13332', '315', '42.759629', '-75.576636', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2383, 'Cattown', 2814, '13337', '607', '42.751925', '-74.988476', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2384, 'Fly Creek', 2814, '13337', '607', '42.751925', '-74.988476', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2385, 'Oaksville', 2814, '13337', '607', '42.751925', '-74.988476', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2386, 'Otsego', 2814, '13337', '607', '42.751925', '-74.988476', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2387, 'Ephratah', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2388, 'Fort Plain', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2389, 'Ft Plain', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2390, 'Hallsville', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2391, 'Hessville', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2392, 'Minden', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2393, 'Mindenville', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2394, 'Sand Hill', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2395, 'Starkville', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2396, 'Stone Arabia', 2814, '13339', '518', '42.926816', '-74.64243', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2397, 'North Bay', 2814, '13123', '315', '43.2303', '-75.7486', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2398, 'De Witt', 2814, '13214', '315', '43.039156', '-76.072699', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2399, 'Dewitt', 2814, '13214', '315', '43.039156', '-76.072699', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2400, 'Syr', 2814, '13214', '315', '43.039156', '-76.072699', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2401, 'Syracuse', 2814, '13214', '315', '43.039156', '-76.072699', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2402, 'Brantingham', 2814, '13312', '315', '43.705041', '-75.243204', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2403, 'Glenfield', 2814, '13312', '315', '43.705041', '-75.243204', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2404, 'Brookfield', 2814, '13314', '315', '42.805588', '-75.335998', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2405, 'Fair Haven', 2814, '13064', '315', '43.3167', '-76.7026', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2406, 'Poplar Ridge', 2814, '13139', '315', '42.7386', '-76.6186', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2407, 'Skan Fa', 2814, '13153', '315', '42.9978', '-76.4598', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2408, 'Skan Falls', 2814, '13153', '315', '42.9978', '-76.4598', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2409, 'Skaneateles Falls', 2814, '13153', '315', '42.9978', '-76.4598', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2410, 'Verona Beach', 2814, '13162', '315', '43.1908', '-75.7295', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2411, 'Colvin Elmwood', 2814, '13207', '315', '43.008824', '-76.170313', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2412, 'Elmwood', 2814, '13207', '315', '43.008824', '-76.170313', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2413, 'Syr', 2814, '13207', '315', '43.008824', '-76.170313', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2414, 'Syracuse', 2814, '13207', '315', '43.008824', '-76.170313', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2415, 'Loon Lake', 2814, '12989', '518', '44.528966', '-74.10876', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2416, 'Onchiota', 2814, '12989', '518', '44.528966', '-74.10876', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2417, 'Vermontville', 2814, '12989', '518', '44.528966', '-74.10876', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2418, 'Cross Lake', 2814, '13080', '315', '43.09023', '-76.463383', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2419, 'Jordan', 2814, '13080', '315', '43.09023', '-76.463383', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2420, 'Mallory', 2814, '13103', '315', '43.32559', '-76.094584', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2421, 'Mexico', 2814, '13114', '315', '43.464822', '-76.242788', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2422, 'Dickinson Center', 2814, '12930', '518', '44.73051', '-74.54605', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2423, 'Dickinson Ctr', 2814, '12930', '518', '44.73051', '-74.54605', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2424, 'East Dickinson', 2814, '12930', '518', '44.73051', '-74.54605', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2425, 'Chitt', 2814, '13037', '315', '43.058138', '-75.866', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2426, 'Chittenango', 2814, '13037', '315', '43.058138', '-75.866', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2427, 'Chtg', 2814, '13037', '315', '43.058138', '-75.866', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2428, 'Lakeport', 2814, '13037', '315', '43.058138', '-75.866', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2429, 'North Chittenango', 2814, '13037', '315', '43.058138', '-75.866', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2430, 'Sullivan', 2814, '13037', '315', '43.058138', '-75.866', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2431, 'Piercefield', 2814, '12973', '518', '44.242368', '-74.565987', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2432, 'Saint Regis Falls', 2814, '12980', '518', '44.469017', '-74.52197', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2433, 'Santa Clara', 2814, '12980', '518', '44.469017', '-74.52197', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2434, 'St Regis Fls', 2814, '12980', '518', '44.469017', '-74.52197', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2435, 'Bolton Landing', 2814, '12814', '518', '43.606002', '-73.632857', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2436, 'Bolton Lndg', 2814, '12814', '518', '43.606002', '-73.632857', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2437, 'Plattsburgh', 2814, '12903', '518', '44.662306', '-73.463226', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2438, 'Wingdale', 2814, '12594', '845', '41.68424', '-73.570985', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2439, 'Barryville', 2814, '12719', '845', '41.486072', '-74.921392', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2440, 'Hudson Falls', 2814, '12839', '518', '43.343478', '-73.549987', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2441, 'Kingsbury', 2814, '12839', '518', '43.343478', '-73.549987', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2442, 'Sandy Hill', 2814, '12839', '518', '43.343478', '-73.549987', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2443, 'Windham', 2814, '12496', '518', '42.32862', '-74.274474', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2444, 'Chelsea', 2814, '12512', '845', '41.5539', '-73.9673', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2445, 'Craryville', 2814, '12521', '518', '42.176756', '-73.652838', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2446, 'Taghkanic', 2814, '12521', '518', '42.176756', '-73.652838', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2447, 'Cheviot', 2814, '12526', '518', '42.131341', '-73.866754', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2448, 'Clermont', 2814, '12526', '518', '42.131341', '-73.866754', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2449, 'Germantown', 2814, '12526', '518', '42.131341', '-73.866754', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2450, 'Linlithgo', 2814, '12526', '518', '42.131341', '-73.866754', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2451, 'Hollowville', 2814, '12530', '518', '42.2314', '-73.668', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2452, 'Phillipsport', 2814, '12769', '845', '41.6508', '-74.4362', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2453, 'Smallwood', 2814, '12778', '845', '41.639595', '-74.811223', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2454, 'Ellenville', 2814, '12428', '845', '41.734468', '-74.451634', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2455, 'Greenfield Park', 2814, '12435', '845', '41.728331', '-74.52679', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2456, 'Greenfld Park', 2814, '12435', '845', '41.728331', '-74.52679', '2018-11-29 04:49:40', '2018-11-29 04:49:40'),\n(2457, 'Leeds', 2814, '12451', '518', '42.294102', '-73.938464', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2458, 'Millerton', 2814, '12546', '518', '41.966723', '-73.544289', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2459, 'New Windsor', 2814, '12553', '845', '41.446504', '-74.061998', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2460, 'Newburgh', 2814, '12553', '845', '41.446504', '-74.061998', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2461, 'Pleasant Valley', 2814, '12569', '845', '41.735041', '-73.793746', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2462, 'Pleasant Vly', 2814, '12569', '845', '41.735041', '-73.793746', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2463, 'Milan', 2814, '12571', '845', '41.994798', '-73.821512', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2464, 'Red Hook', 2814, '12571', '845', '41.994798', '-73.821512', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2465, 'Albany', 2814, '12242', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2466, 'Ny Standards And Purc', 2814, '12242', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2467, 'Preston Hlow', 2814, '12469', '518', '42.456028', '-74.258092', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2468, 'Preston Hollow', 2814, '12469', '518', '42.456028', '-74.258092', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2469, 'Preston Holw', 2814, '12469', '518', '42.456028', '-74.258092', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2470, 'Shandaken', 2814, '12480', '845', '42.121232', '-74.39387', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2471, 'Ulster Park', 2814, '12487', '845', '41.861693', '-73.998054', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2472, 'W Coxsackie', 2814, '12192', '518', '42.406786', '-73.818937', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2473, 'West Coxsackie', 2814, '12192', '518', '42.406786', '-73.818937', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2474, 'Albany', 2814, '12201', '518', '42.74521', '-73.810345', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2475, 'Albany', 2814, '12212', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2476, 'Boiceville', 2814, '12412', '845', '41.995886', '-74.277699', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2477, 'Mariaville', 2814, '12137', '518', '42.855321', '-74.125199', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2478, 'Pattersonville', 2814, '12137', '518', '42.855321', '-74.125199', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2479, 'Pattersonvle', 2814, '12137', '518', '42.855321', '-74.125199', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2480, 'Sand Lake', 2814, '12153', '518', '42.646448', '-73.473248', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2481, 'Taborton', 2814, '12153', '518', '42.646448', '-73.473248', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2482, 'Sloansville', 2814, '12160', '518', '42.761843', '-74.36625', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2483, 'Stamford', 2814, '12167', '607', '42.413832', '-74.600582', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2484, 'Albany', 2814, '12226', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2485, 'Ny State Campus', 2814, '12226', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2486, 'Albany', 2814, '12228', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2487, 'Ny Dept Of Motor Vehicles', 2814, '12228', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2488, 'Martinsburg', 2814, '13404', '315', '43.7378', '-75.47', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2489, 'Fairfield', 2814, '13406', '315', '43.139244', '-74.926372', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2490, 'Middleville', 2814, '13406', '315', '43.139244', '-74.926372', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2491, 'Greig', 2814, '13345', '315', '43.68352', '-75.314556', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2492, 'Burlington', 2814, '13315', '607', '42.726554', '-75.128192', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2493, 'Burlington Flats', 2814, '13315', '607', '42.726554', '-75.128192', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2494, 'Burlngtn Flt', 2814, '13315', '607', '42.726554', '-75.128192', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2495, 'Exeter', 2814, '13315', '607', '42.726554', '-75.128192', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2496, 'Fabius', 2814, '13063', '315', '42.855738', '-75.977624', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2497, 'Georgetown', 2814, '13072', '315', '42.760656', '-75.763142', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2498, 'Geotown', 2814, '13072', '315', '42.760656', '-75.763142', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2499, 'South Butler', 2814, '13154', '315', '43.1314', '-76.7663', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2500, 'Wampsville', 2814, '13163', '315', '43.0789', '-75.7074', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2501, 'Conifer', 2814, '12986', '518', '44.241752', '-74.375204', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2502, 'Massawepie', 2814, '12986', '518', '44.241752', '-74.375204', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2503, 'Tupper Lake', 2814, '12986', '518', '44.241752', '-74.375204', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2504, 'Purdys Mills', 2814, '12910', '518', '44.849937', '-73.647442', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2505, 'Claryville', 2814, '12725', '845', '41.959556', '-74.542036', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2506, 'Cossayuna', 2814, '12823', '518', '43.176807', '-73.40095', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2507, 'Cossayuna Lake', 2814, '12823', '518', '43.176807', '-73.40095', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2508, 'Huletts Landing', 2814, '12841', '518', '43.651946', '-73.50973', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2509, 'Huletts Lndg', 2814, '12841', '518', '43.651946', '-73.50973', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2510, 'Fishkill', 2814, '12524', '845', '41.529148', '-73.897365', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2511, 'Grahamsville', 2814, '12740', '845', '41.886422', '-74.465958', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2512, 'Sundown', 2814, '12740', '845', '41.886422', '-74.465958', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2513, 'Hankins', 2814, '12741', '845', '41.842511', '-75.087301', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2514, 'Lew Beach', 2814, '12758', '845', '41.930447', '-74.724966', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2515, 'Livingstn Mnr', 2814, '12758', '845', '41.930447', '-74.724966', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2516, 'Livingston Manor', 2814, '12758', '845', '41.930447', '-74.724966', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2517, 'Loch Sheldrake', 2814, '12759', '845', '41.795164', '-74.65241', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2518, 'Loch Sheldrke', 2814, '12759', '845', '41.795164', '-74.65241', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2519, 'Rock Hill', 2814, '12775', '845', '41.615014', '-74.580257', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2520, 'Durham', 2814, '12422', '518', '42.393972', '-74.211551', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2521, 'West Durham', 2814, '12422', '518', '42.393972', '-74.211551', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2522, 'East Jewett', 2814, '12424', '518', '42.24888', '-74.152148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2523, 'Tannersville', 2814, '12424', '518', '42.24888', '-74.152148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2524, 'High Falls', 2814, '12440', '845', '41.798317', '-74.151032', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2525, 'Highmount', 2814, '12441', '845', '42.1442', '-74.4903', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2526, 'Hunter', 2814, '12442', '518', '42.232749', '-74.258994', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2527, 'Mount Marion', 2814, '12456', '845', '42.03305', '-73.999414', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2528, 'Mount Merion Park', 2814, '12456', '845', '42.03305', '-73.999414', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2529, 'Napanoch', 2814, '12458', '845', '41.808725', '-74.419592', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2530, 'Marlboro', 2814, '12542', '845', '41.613664', '-73.995672', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2531, 'Marlborough', 2814, '12542', '845', '41.613664', '-73.995672', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2532, 'Albany', 2814, '12238', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2533, 'Ny Park And Rec Dept', 2814, '12238', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2534, 'Albany', 2814, '12239', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2535, 'Ny Civil Serv Dept', 2814, '12239', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2536, 'Albany', 2814, '12240', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2537, 'Ny Labor Div Empl', 2814, '12240', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2538, 'Albany', 2814, '12241', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2539, 'Ny Workman Comp', 2814, '12241', '518', '42.6525', '-73.7567', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2540, 'Bellevue', 2814, '12306', '518', '42.798', '-74.0366', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2541, 'Lower Rotterdam', 2814, '12306', '518', '42.798', '-74.0366', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2542, 'Rotterdam', 2814, '12306', '518', '42.798', '-74.0366', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2543, 'Schdy', 2814, '12306', '518', '42.798', '-74.0366', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2544, 'Schenectady', 2814, '12306', '518', '42.798', '-74.0366', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2545, 'Schdy', 2814, '12307', '518', '42.804646', '-73.934893', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2546, 'Schenectady', 2814, '12307', '518', '42.804646', '-73.934893', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2547, 'W Hurley', 2814, '12491', '845', '41.974829', '-74.138946', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2548, 'West Hurley', 2814, '12491', '845', '41.974829', '-74.138946', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2549, 'Waterford', 2814, '12188', '518', '42.823058', '-73.699134', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2550, 'Albany', 2814, '12206', '518', '42.676004', '-73.792307', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2551, 'Albany', 2814, '12208', '518', '42.64972', '-73.806914', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2552, 'Acra', 2814, '12405', '518', '42.325129', '-74.103277', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2553, 'South Durham', 2814, '12405', '518', '42.325129', '-74.103277', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2554, 'Nassau', 2814, '12123', '518', '42.527117', '-73.595191', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2555, 'New Baltimore', 2814, '12124', '518', '42.4463', '-73.7886', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2556, 'North Petersburg', 2814, '12138', '518', '42.731024', '-73.375619', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2557, 'Petersburg', 2814, '12138', '518', '42.731024', '-73.375619', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2558, 'Adams Cove', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2559, 'Dexter', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2560, 'Guffin Bay', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2561, 'Muskalounge', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2562, 'Perch River', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2563, 'Pillar Point', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2564, 'Sherwin Bay', 2814, '13634', '315', '44.016714', '-76.086148', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2565, 'Ellisburg', 2814, '13636', '315', '43.741209', '-76.124874', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2566, 'Beaver River', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2567, 'Dadville', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2568, 'Harrisburg', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2569, 'Lowville', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2570, 'Montague', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2571, 'New Breman', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2572, 'Watson', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2573, 'West Lowville', 2814, '13367', '315', '43.870764', '-75.310356', '2018-11-29 04:49:41', '2018-11-29 04:49:41'),\n(2574, 'Madison', 2814, '13402', '315', '42.892163', '-75.501701', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2575, 'Marcy', 2814, '13403', '315', '43.16812', '-75.274907', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2576, 'Newport', 2814, '13416', '315', '43.19189', '-74.959806', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2577, 'Old Forge', 2814, '13420', '315', '43.731862', '-74.906068', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2578, 'Brightside', 2814, '13436', '315', '43.865726', '-74.545882', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2579, 'Raquette Lake', 2814, '13436', '315', '43.865726', '-74.545882', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2580, 'E Springfield', 2814, '13333', '607', '42.840239', '-74.801108', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2581, 'East Springfield', 2814, '13333', '607', '42.840239', '-74.801108', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2582, 'East Herkimer', 2814, '13350', '315', '43.082448', '-74.965537', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2583, 'Herkimer', 2814, '13350', '315', '43.082448', '-74.965537', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2584, 'Syr', 2814, '13218', '315', '43.0499', '-76.1337', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2585, 'Syracuse', 2814, '13218', '315', '43.0499', '-76.1337', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2586, 'Syracuse', 2814, '13235', '315', '43.0321', '-76.1271', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2587, 'University', 2814, '13235', '315', '43.0321', '-76.1271', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2588, 'Firms', 2814, '13251', '315', '43.0482', '-76.1479', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2589, 'Syracuse', 2814, '13251', '315', '43.0482', '-76.1479', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2590, 'Camden', 2814, '13316', '315', '43.400966', '-75.777439', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2591, 'Empeyville', 2814, '13316', '315', '43.400966', '-75.777439', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2592, 'Florence', 2814, '13316', '315', '43.400966', '-75.777439', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2593, 'Hillsboro', 2814, '13316', '315', '43.400966', '-75.777439', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2594, 'Osceola', 2814, '13316', '315', '43.400966', '-75.777439', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2595, 'Ames', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2596, 'Browns Hollow', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2597, 'Buel', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2598, 'Canajoharie', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2599, 'Flat Creek', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2600, 'Mapletown', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2601, 'Marshville', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2602, 'Sprout Brook', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2603, 'Van Deusenville', 2814, '13317', '518', '42.857665', '-74.582489', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2604, 'Fayette', 2814, '13065', '315', '42.8144', '-76.8095', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2605, 'Freeville', 2814, '13068', '607', '42.494018', '-76.3723', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2606, 'Bowens Corners', 2814, '13069', '315', '43.331042', '-76.37563', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2607, 'Fulton', 2814, '13069', '315', '43.331042', '-76.37563', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2608, 'Granby', 2814, '13069', '315', '43.331042', '-76.37563', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2609, 'Granby Center', 2814, '13069', '315', '43.331042', '-76.37563', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2610, 'Palermo', 2814, '13069', '315', '43.331042', '-76.37563', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2611, 'Volney', 2814, '13069', '315', '43.331042', '-76.37563', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2612, 'Syr', 2814, '13202', '315', '43.04308', '-76.150601', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2613, 'Syracuse', 2814, '13202', '315', '43.04308', '-76.150601', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2614, 'Boylston', 2814, '13083', '315', '43.642648', '-76.002186', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2615, 'Lacona', 2814, '13083', '315', '43.642648', '-76.002186', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2616, 'Smartville', 2814, '13083', '315', '43.642648', '-76.002186', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2617, 'Mc Lean', 2814, '13102', '607', '42.5516', '-76.2834', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2618, 'Mclean', 2814, '13102', '607', '42.5516', '-76.2834', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2619, 'Montville', 2814, '13118', '315', '42.757616', '-76.406184', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2620, 'Moravia', 2814, '13118', '315', '42.757616', '-76.406184', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2621, 'Sempronius', 2814, '13118', '315', '42.757616', '-76.406184', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2622, 'Mottville', 2814, '13119', '315', '42.9737', '-76.4429', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2623, 'Ellenburg', 2814, '12933', '518', '44.8936', '-73.8366', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2624, 'Cato', 2814, '13033', '315', '43.19055', '-76.57622', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2625, 'Delphi Falls', 2814, '13051', '315', '42.8767', '-75.9137', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2626, 'Mdl Granville', 2814, '12849', '518', '43.447912', '-73.299573', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2627, 'Middle Granville', 2814, '12849', '518', '43.447912', '-73.299573', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2628, 'Minerva', 2814, '12851', '518', '43.818343', '-74.017398', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2629, 'Ellenburg Center', 2814, '12934', '518', '44.834205', '-73.89076', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2630, 'Ellenburg Ctr', 2814, '12934', '518', '44.834205', '-73.89076', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2631, 'Ellenburg Dep', 2814, '12935', '518', '44.852842', '-73.777513', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2632, 'Ellenburg Depot', 2814, '12935', '518', '44.852842', '-73.777513', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2633, 'Lawrenceville', 2814, '12949', '315', '44.7589', '-74.6613', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2634, 'Jordanville', 2814, '13361', '315', '42.896702', '-74.881328', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2635, 'Morrisville', 2814, '13408', '315', '42.92972', '-75.665422', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2636, 'Morrisville Station', 2814, '13408', '315', '42.92972', '-75.665422', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2637, 'Munnsville', 2814, '13409', '315', '42.965371', '-75.586514', '2018-11-29 04:49:42', '2018-11-29 04:49:42');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(2638, 'Pratts Hollow', 2814, '13409', '315', '42.965371', '-75.586514', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2639, 'Stockbridge', 2814, '13409', '315', '42.965371', '-75.586514', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2640, 'Valley Mills', 2814, '13409', '315', '42.965371', '-75.586514', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2641, 'Walesville', 2814, '13492', '315', '43.121908', '-75.322049', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2642, 'Whitesboro', 2814, '13492', '315', '43.121908', '-75.322049', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2643, 'Whitestown', 2814, '13492', '315', '43.121908', '-75.322049', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2644, 'Williamstn', 2814, '13493', '315', '43.438047', '-75.879702', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2645, 'Williamstown', 2814, '13493', '315', '43.438047', '-75.879702', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2646, 'Syr', 2814, '13208', '315', '43.074928', '-76.144176', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2647, 'Syracuse', 2814, '13208', '315', '43.074928', '-76.144176', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2648, 'Geddes', 2814, '13209', '315', '43.089042', '-76.254004', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2649, 'Solvay', 2814, '13209', '315', '43.089042', '-76.254004', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2650, 'Constableville', 2814, '13325', '315', '43.579626', '-75.551462', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2651, 'Constablevle', 2814, '13325', '315', '43.579626', '-75.551462', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2652, 'Fish Creek', 2814, '13325', '315', '43.579626', '-75.551462', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2653, 'West Turin', 2814, '13325', '315', '43.579626', '-75.551462', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2654, 'Cooperstown', 2814, '13326', '607', '42.712031', '-74.909674', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2655, 'Hartwick Seminary', 2814, '13326', '607', '42.712031', '-74.909674', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2656, 'Hrtwk Seminry', 2814, '13326', '607', '42.712031', '-74.909674', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2657, 'Syr', 2814, '13209', '315', '43.089042', '-76.254004', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2658, 'Syracuse', 2814, '13209', '315', '43.089042', '-76.254004', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2659, 'Syracuse', 2814, '13244', '315', '43.035979', '-76.135844', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2660, 'Syracuse University', 2814, '13244', '315', '43.035979', '-76.135844', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2661, 'Boonville', 2814, '13309', '315', '43.477386', '-75.324523', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2662, 'Hawkinsville', 2814, '13309', '315', '43.477386', '-75.324523', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2663, 'Mohawk Hill', 2814, '13309', '315', '43.477386', '-75.324523', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2664, 'Talcottville', 2814, '13309', '315', '43.477386', '-75.324523', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2665, 'Preble', 2814, '13141', '607', '42.776813', '-76.196415', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2666, 'Allens Point', 2814, '13160', '315', '42.83468', '-76.66173', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2667, 'Farleys Point', 2814, '13160', '315', '42.83468', '-76.66173', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2668, 'Springport', 2814, '13160', '315', '42.83468', '-76.66173', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2669, 'Union Springs', 2814, '13160', '315', '42.83468', '-76.66173', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2670, 'Lyncourt', 2814, '13208', '315', '43.074928', '-76.144176', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2671, 'Homer', 2814, '13077', '607', '42.71926', '-76.187472', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2672, 'Scott', 2814, '13077', '607', '42.71926', '-76.187472', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2673, 'East Genoa', 2814, '13092', '315', '42.654696', '-76.405006', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2674, 'Locke', 2814, '13092', '315', '42.654696', '-76.405006', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2675, 'Summerhill', 2814, '13092', '315', '42.654696', '-76.405006', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2676, 'Amber', 2814, '13110', '315', '42.884308', '-76.283488', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2677, 'Marietta', 2814, '13110', '315', '42.884308', '-76.283488', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2678, 'Otisco Valley', 2814, '13110', '315', '42.884308', '-76.283488', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2679, 'Clintonville', 2814, '12924', '518', '44.494359', '-73.573162', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2680, 'Keeseville', 2814, '12924', '518', '44.494359', '-73.573162', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2681, 'Auburn', 2814, '13024', '315', '42.9319', '-76.5665', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2682, 'Auburn State Prison', 2814, '13024', '315', '42.9319', '-76.5665', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2683, 'Aurora', 2814, '13026', '315', '42.742234', '-76.666104', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2684, 'Ledyard', 2814, '13026', '315', '42.742234', '-76.666104', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2685, 'Cincinnatus', 2814, '13040', '607', '42.572438', '-75.919162', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2686, 'E Freetown', 2814, '13040', '607', '42.572438', '-75.919162', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2687, 'E Freetwn', 2814, '13040', '607', '42.572438', '-75.919162', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2688, 'East Freetown', 2814, '13040', '607', '42.572438', '-75.919162', '2018-11-29 04:49:42', '2018-11-29 04:49:42'),\n(2689, 'Taylor', 2814, '13040', '607', '42.572438', '-75.919162', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2690, 'Elbridge', 2814, '13060', '315', '43.030547', '-76.414493', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2691, 'Hart Lot', 2814, '13060', '315', '43.030547', '-76.414493', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2692, 'Paradox', 2814, '12858', '518', '43.887429', '-73.678478', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2693, 'Paradox Lake', 2814, '12858', '518', '43.887429', '-73.678478', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2694, 'Ticonderoga', 2814, '12858', '518', '43.887429', '-73.678478', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2695, 'Keene', 2814, '12942', '518', '44.26167', '-73.799366', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2696, 'Moira', 2814, '12957', '518', '44.851056', '-74.571742', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2697, 'South Bombay', 2814, '12957', '518', '44.851056', '-74.571742', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2698, 'Port Henry', 2814, '12974', '518', '44.055588', '-73.460534', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2699, 'Adirondack', 2814, '12808', '518', '43.743124', '-73.743322', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2700, 'Argyle', 2814, '12809', '518', '43.241868', '-73.466629', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2701, 'North Argyle', 2814, '12809', '518', '43.241868', '-73.466629', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2702, 'South Argyle', 2814, '12809', '518', '43.241868', '-73.466629', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2703, 'Eagleville', 2814, '12873', '518', '43.117998', '-73.31896', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2704, 'Shushan', 2814, '12873', '518', '43.117998', '-73.31896', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2705, 'Alder Bend', 2814, '12910', '518', '44.849937', '-73.647442', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2706, 'Altona', 2814, '12910', '518', '44.849937', '-73.647442', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2707, 'Irona', 2814, '12910', '518', '44.849937', '-73.647442', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2708, 'Lee Center', 2814, '13363', '315', '43.325548', '-75.511044', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2709, 'Stokes', 2814, '13363', '315', '43.325548', '-75.511044', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2710, 'West Lee', 2814, '13363', '315', '43.325548', '-75.511044', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2711, 'New Hartfd', 2814, '13413', '315', '43.060718', '-75.268208', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2712, 'New Hartford', 2814, '13413', '315', '43.060718', '-75.268208', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2713, 'New Lisbon', 2814, '13415', '607', '42.592844', '-75.21297', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2714, 'Stetsonville', 2814, '13415', '607', '42.592844', '-75.21297', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2715, 'Oriskany', 2814, '13424', '315', '43.1508', '-75.359124', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2716, 'Gravesville', 2814, '13431', '315', '43.221771', '-75.076422', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2717, 'Poland', 2814, '13431', '315', '43.221771', '-75.076422', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2718, 'Russia', 2814, '13431', '315', '43.221771', '-75.076422', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2719, 'North Wilmurt', 2814, '13438', '315', '43.338924', '-75.13972', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2720, 'Remsen', 2814, '13438', '315', '43.338924', '-75.13972', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2721, 'Cherry Valley', 2814, '13320', '607', '42.779181', '-74.748618', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2722, 'Clayville', 2814, '13322', '315', '42.965788', '-75.205588', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2723, 'Big Moose', 2814, '13331', '315', '43.755437', '-74.961382', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2724, 'Eagle Bay', 2814, '13331', '315', '43.755437', '-74.961382', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2725, 'Atwell', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2726, 'Forestport', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2727, 'Forestport Station', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2728, 'Honnedaga Lake', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2729, 'Kayuta Lake', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2730, 'Mckeever', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2731, 'Otter Lake', 2814, '13338', '315', '43.501823', '-75.069452', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2732, 'Frankfort', 2814, '13340', '315', '43.037567', '-75.114786', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2733, 'Frankfort Center', 2814, '13340', '315', '43.037567', '-75.114786', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2734, 'North Ilion', 2814, '13340', '315', '43.037567', '-75.114786', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2735, 'Schuyler', 2814, '13340', '315', '43.037567', '-75.114786', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2736, 'East Floyd', 2814, '13354', '315', '43.251169', '-75.282538', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2737, 'Holland Patent', 2814, '13354', '315', '43.251169', '-75.282538', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2738, 'Holland Patnt', 2814, '13354', '315', '43.251169', '-75.282538', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2739, 'Steuben', 2814, '13354', '315', '43.251169', '-75.282538', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2740, 'Steuben Valley', 2814, '13354', '315', '43.251169', '-75.282538', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2741, 'Sheds', 2814, '13122', '315', '42.815389', '-75.861046', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2742, 'Syr', 2814, '13220', '315', '43.0518', '-76.1533', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2743, 'Syracuse', 2814, '13220', '315', '43.0518', '-76.1533', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2744, 'Syracuse', 2814, '13290', '315', '43.071566', '-76.173697', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2745, 'Barneveld', 2814, '13304', '315', '43.235098', '-75.159727', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2746, 'South Trenton', 2814, '13304', '315', '43.235098', '-75.159727', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2747, 'Colosse', 2814, '13131', '315', '43.41545', '-76.099378', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2748, 'Parish', 2814, '13131', '315', '43.41545', '-76.099378', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2749, 'Pitcher', 2814, '13136', '607', '42.60922', '-75.839453', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2750, 'Conquest', 2814, '13140', '315', '43.059028', '-76.654283', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2751, 'Port Byron', 2814, '13140', '315', '43.059028', '-76.654283', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2752, 'Galeville', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2753, 'Jewell Manor', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2754, 'Liverpool', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2755, 'Lpool', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2756, 'Lvpl', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2757, 'Lvrpool', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2758, 'Salina', 2814, '13088', '315', '43.10704', '-76.201909', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2759, 'Martville', 2814, '13111', '315', '43.257336', '-76.624932', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2760, 'New Wdstock', 2814, '13122', '315', '42.815389', '-75.861046', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2761, 'New Woodstock', 2814, '13122', '315', '42.815389', '-75.861046', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2762, 'Childwold', 2814, '12922', '518', '44.230152', '-74.660069', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2763, 'Brewerton', 2814, '13029', '315', '43.231938', '-76.140698', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2764, 'Central Sq', 2814, '13036', '315', '43.32613', '-76.172597', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2765, 'Central Square', 2814, '13036', '315', '43.32613', '-76.172597', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2766, 'N Granville', 2814, '12854', '518', '43.500522', '-73.344433', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2767, 'North Granville', 2814, '12854', '518', '43.500522', '-73.344433', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2768, 'North River', 2814, '12856', '518', '43.632665', '-74.130924', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2769, 'White Lake', 2814, '12786', '845', '41.6619', '-74.855309', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2770, 'Woodbourne', 2814, '12788', '845', '41.801414', '-74.581929', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2771, 'Rock City Falls', 2814, '12863', '518', '43.060028', '-73.928531', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2772, 'Rock City Fls', 2814, '12863', '518', '43.060028', '-73.928531', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2773, 'Newcomb', 2814, '12879', '518', '44.0508', '-74.0396', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2774, 'Tahawus', 2814, '12879', '518', '44.0508', '-74.0396', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2775, 'Wevertown', 2814, '12886', '518', '43.649946', '-73.927184', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2776, 'Walden', 2814, '12586', '845', '41.56377', '-74.187706', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2777, 'Walker Valley', 2814, '12588', '845', '41.6339', '-74.3783', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2778, 'Burlingham', 2814, '12722', '845', '41.59', '-74.3826', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2779, 'Cuddebackville', 2814, '12729', '845', '41.49381', '-74.624218', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2780, 'Inlet', 2814, '13360', '315', '43.735178', '-74.737268', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2781, 'Columbus', 2814, '13411', '607', '42.64388', '-75.302408', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2782, 'Hoboken', 2814, '13411', '607', '42.64388', '-75.302408', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2783, 'New Berlin', 2814, '13411', '607', '42.64388', '-75.302408', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2784, 'Pittsfield', 2814, '13411', '607', '42.64388', '-75.302408', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2785, 'S Edmeston', 2814, '13411', '607', '42.64388', '-75.302408', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2786, 'South Edmeston', 2814, '13411', '607', '42.64388', '-75.302408', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2787, 'Augusta', 2814, '13425', '315', '42.960229', '-75.484136', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2788, 'Oriskany Falls', 2814, '13425', '315', '42.960229', '-75.484136', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2789, 'Oriskany Fls', 2814, '13425', '315', '42.960229', '-75.484136', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2790, 'Orwell', 2814, '13426', '315', '43.564', '-76.0025', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2791, 'Palatine Brg', 2814, '13428', '518', '42.920132', '-74.541919', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2792, 'Palatine Bridge', 2814, '13428', '518', '42.920132', '-74.541919', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2793, 'Deansboro', 2814, '13328', '315', '42.983438', '-75.418277', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2794, 'Garrattsville', 2814, '13342', '607', '42.657386', '-75.187059', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2795, 'Chase Lake', 2814, '13343', '315', '43.728873', '-75.282145', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2796, 'Glenfield', 2814, '13343', '315', '43.728873', '-75.282145', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2797, 'Otter Creek', 2814, '13343', '315', '43.728873', '-75.282145', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2798, 'Pine Grove', 2814, '13343', '315', '43.728873', '-75.282145', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2799, 'Syr', 2814, '13210', '315', '43.029922', '-76.126225', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2800, 'Syracuse', 2814, '13210', '315', '43.029922', '-76.126225', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2801, 'Mattydale', 2814, '13211', '315', '43.105746', '-76.119808', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2802, 'Mdale', 2814, '13211', '315', '43.105746', '-76.119808', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2803, 'Syr', 2814, '13211', '315', '43.105746', '-76.119808', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2804, 'Syracuse', 2814, '13211', '315', '43.105746', '-76.119808', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2805, 'Bouckville', 2814, '13310', '315', '42.899344', '-75.576791', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2806, 'Pine Woods', 2814, '13310', '315', '42.899344', '-75.576791', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2807, 'Fernwood', 2814, '13142', '315', '43.566278', '-76.13633', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2808, 'Port Ontario', 2814, '13142', '315', '43.566278', '-76.13633', '2018-11-29 04:49:43', '2018-11-29 04:49:43'),\n(2809, 'Pulaski', 2814, '13142', '315', '43.566278', '-76.13633', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2810, 'Red Creek', 2814, '13143', '315', '43.235822', '-76.709256', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2811, 'Cuyler', 2814, '13158', '607', '42.730228', '-75.980954', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2812, 'East Homer', 2814, '13158', '607', '42.730228', '-75.980954', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2813, 'Truxton', 2814, '13158', '607', '42.730228', '-75.980954', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2814, 'Ingraham', 2814, '12992', '518', '44.822716', '-73.523113', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2815, 'Sciota', 2814, '12992', '518', '44.822716', '-73.523113', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2816, 'West Chazy', 2814, '12992', '518', '44.822716', '-73.523113', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2817, 'Fairdale', 2814, '13074', '315', '43.319064', '-76.547142', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2818, 'Hannibal', 2814, '13074', '315', '43.319064', '-76.547142', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2819, 'Hannibal Center', 2814, '13074', '315', '43.319064', '-76.547142', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2820, 'South Hannibal', 2814, '13074', '315', '43.319064', '-76.547142', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2821, 'Hastings', 2814, '13076', '315', '43.354502', '-76.155522', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2822, 'Lycoming', 2814, '13093', '315', '43.4989', '-76.3861', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2823, 'Maple View', 2814, '13107', '315', '43.4607', '-76.1343', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2824, 'Cranberry Lake', 2814, '12927', '315', '44.2413', '-74.862072', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2825, 'Cranberry Lk', 2814, '12927', '315', '44.2413', '-74.862072', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2826, 'Clay', 2814, '13041', '315', '43.195234', '-76.202254', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2827, 'Clockville', 2814, '13043', '315', '43.0414', '-75.7453', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2828, 'Lincoln', 2814, '13043', '315', '43.0414', '-75.7453', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2829, 'Millers Mills', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2830, 'North Winfield', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2831, 'Plainfield', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2832, 'Hubbardsville', 2814, '13355', '315', '42.800165', '-75.417268', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2833, 'Leonardsville', 2814, '13364', '315', '42.8089', '-75.2533', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2834, 'Kenwood', 2814, '13421', '315', '43.060128', '-75.627724', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2835, 'Merrillsville', 2814, '13421', '315', '43.060128', '-75.627724', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2836, 'Oneida', 2814, '13421', '315', '43.060128', '-75.627724', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2837, 'Oneida Castle', 2814, '13421', '315', '43.060128', '-75.627724', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2838, 'Scribner Corners', 2814, '13421', '315', '43.060128', '-75.627724', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2839, 'Plainfield Center', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2840, 'Unadilla Forks', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2841, 'West Exeter', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2842, 'West Winfield', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2843, 'Winfield', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2844, 'Hartwick', 2814, '13348', '607', '42.701362', '-75.075713', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2845, 'Patent', 2814, '13348', '607', '42.701362', '-75.075713', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2846, 'Snowden', 2814, '13348', '607', '42.701362', '-75.075713', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2847, 'N Syracuse', 2814, '13212', '315', '43.119318', '-76.12693', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2848, 'North Syracuse', 2814, '13212', '315', '43.119318', '-76.12693', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2849, 'Syr', 2814, '13212', '315', '43.119318', '-76.12693', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2850, 'Syracuse', 2814, '13212', '315', '43.119318', '-76.12693', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2851, 'Syr', 2814, '13221', '315', '43.0499', '-76.1506', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2852, 'Syracuse', 2814, '13221', '315', '43.0499', '-76.1506', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2853, 'Beaver Falls', 2814, '13305', '315', '43.8868', '-75.4275', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2854, 'Beaver Fls', 2814, '13305', '315', '43.8868', '-75.4275', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2855, 'Genoa', 2814, '13071', '315', '42.675581', '-76.537805', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2856, 'Plainville', 2814, '13137', '315', '43.1593', '-76.4475', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2857, 'South Otselic', 2814, '13155', '315', '42.65549', '-75.759319', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2858, 'Colvin', 2814, '13205', '315', '43.006107', '-76.141316', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2859, 'Colvin Elmwood', 2814, '13205', '315', '43.006107', '-76.141316', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2860, 'Syr', 2814, '13205', '315', '43.006107', '-76.141316', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2861, 'Syracuse', 2814, '13205', '315', '43.006107', '-76.141316', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2862, 'Upper Jay', 2814, '12987', '518', '44.321046', '-73.768032', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2863, 'Reber', 2814, '12996', '518', '44.365018', '-73.392459', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2864, 'Willsboro', 2814, '12996', '518', '44.365018', '-73.392459', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2865, 'Willsboro Point', 2814, '12996', '518', '44.365018', '-73.392459', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2866, 'Jamesville', 2814, '13078', '315', '42.968135', '-76.057824', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2867, 'Sentinel Heights', 2814, '13078', '315', '42.968135', '-76.057824', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2868, 'Liverpool', 2814, '13089', '315', '43.1064', '-76.2181', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2869, 'Champlain', 2814, '12919', '518', '44.961284', '-73.43788', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2870, 'Coopersville', 2814, '12919', '518', '44.961284', '-73.43788', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2871, 'Perrys Mills', 2814, '12919', '518', '44.961284', '-73.43788', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2872, 'Chazy', 2814, '12921', '518', '44.876834', '-73.439722', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2873, 'Chazy Landing', 2814, '12921', '518', '44.876834', '-73.439722', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2874, 'Crown Point', 2814, '12928', '518', '43.96101', '-73.526795', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2875, 'Factoryville', 2814, '12928', '518', '43.96101', '-73.526795', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2876, 'Ironville', 2814, '12928', '518', '43.96101', '-73.526795', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2877, 'Witherbee', 2814, '12998', '518', '44.0831', '-73.5379', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2878, 'Auburn', 2814, '13021', '315', '42.912872', '-76.572442', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2879, 'Aurelius', 2814, '13021', '315', '42.912872', '-76.572442', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2880, 'Fleming', 2814, '13021', '315', '42.912872', '-76.572442', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2881, 'Fosterville', 2814, '13021', '315', '42.912872', '-76.572442', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2882, 'Owasco', 2814, '13021', '315', '42.912872', '-76.572442', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2883, 'Throop', 2814, '13021', '315', '42.912872', '-76.572442', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2884, 'Bernhards Bay', 2814, '13028', '315', '43.296793', '-75.932522', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2885, 'Bridgeport', 2814, '13030', '315', '43.156396', '-75.947712', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2886, 'Cicero', 2814, '13039', '315', '43.165084', '-76.068656', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2887, 'Clay', 2814, '13039', '315', '43.165084', '-76.068656', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2888, 'Lake Luzerne', 2814, '12846', '518', '43.315426', '-73.811897', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2889, 'Luzerne', 2814, '12846', '518', '43.315426', '-73.811897', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2890, 'Riparius', 2814, '12862', '518', '43.6619', '-73.8978', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2891, 'Lyon Mountain', 2814, '12955', '518', '44.790859', '-73.965368', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2892, 'Merrill', 2814, '12955', '518', '44.790859', '-73.965368', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2893, 'Redford', 2814, '12978', '518', '44.619835', '-73.800198', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2894, 'Sparrow Bush', 2814, '12780', '845', '41.439486', '-74.743717', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2895, 'Sparrowbush', 2814, '12780', '845', '41.439486', '-74.743717', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2896, 'Glens Falls', 2814, '12803', '518', '43.284289', '-73.632354', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2897, 'S Glens Falls', 2814, '12803', '518', '43.284289', '-73.632354', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2898, 'South Glens Falls', 2814, '12803', '518', '43.284289', '-73.632354', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2899, 'Sabael', 2814, '12864', '518', '43.7286', '-74.3064', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2900, 'Bacon Hill', 2814, '12871', '518', '43.096262', '-73.618254', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2901, 'Grangerville', 2814, '12871', '518', '43.096262', '-73.618254', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2902, 'Monocacy Sta', 2818, '19542', '610', '40.2576', '-75.7425', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2903, 'Monocacy Station', 2818, '19542', '610', '40.2576', '-75.7425', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2904, 'Fairview Village', 2818, '19409', '610', '40.1215', '-75.3405', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2905, 'Fairview Vlg', 2818, '19409', '610', '40.1215', '-75.3405', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2906, 'Norristown', 2818, '19409', '610', '40.1215', '-75.3405', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2907, 'Chester Sprgs', 2818, '19425', '610', '40.101054', '-75.640734', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2908, 'Chester Springs', 2818, '19425', '610', '40.101054', '-75.640734', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2909, 'Collegeville', 2818, '19426', '610', '40.187002', '-75.426653', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2910, 'Graterford', 2818, '19426', '610', '40.187002', '-75.426653', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2911, 'Rahns', 2818, '19426', '610', '40.187002', '-75.426653', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2912, 'Trappe', 2818, '19426', '610', '40.187002', '-75.426653', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2913, 'Conshohocken', 2818, '19428', '610', '40.079803', '-75.307606', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2914, 'Gulph Mills', 2818, '19428', '610', '40.079803', '-75.307606', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2915, 'W Cnshohocken', 2818, '19428', '610', '40.079803', '-75.307606', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2916, 'Phila', 2818, '19191', '215', '39.9525', '-75.1645', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2917, 'Philadelphia', 2818, '19191', '215', '39.9525', '-75.1645', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2918, 'Wachovia Bank', 2818, '19191', '215', '39.9525', '-75.1645', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2919, 'Cigna Corporation', 2818, '19192', '215', '39.9525', '-75.1645', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2920, 'Phila', 2818, '19192', '215', '39.9525', '-75.1645', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2921, 'Telford', 2818, '18964', '215', '40.296341', '-75.32831', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2922, 'Horsham', 2818, '19044', '215', '40.188486', '-75.148777', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2923, 'Fort Washington', 2818, '19048', '215', '40.1746', '-74.9234', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2924, 'Ft Washington', 2818, '19048', '215', '40.1746', '-74.9234', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2925, 'Trevose', 2818, '19048', '215', '40.1746', '-74.9234', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2926, 'Union Fidelity Busi Reply', 2818, '19048', '215', '40.1746', '-74.9234', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2927, 'Feasterville', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2928, 'Feasterville Trevose', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2929, 'Fstrvl Trvose', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:44', '2018-11-29 04:49:44'),\n(2930, 'Langhorne', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2931, 'Oakford', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2932, 'Trevose', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2933, 'Upper Holland', 2818, '19053', '215', '40.158663', '-74.973397', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2934, 'Little Mdws', 2818, '18830', '570', '41.955629', '-76.101982', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2935, 'Little Meadows', 2818, '18830', '570', '41.955629', '-76.101982', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2936, 'Sugar Run', 2818, '18846', '570', '41.607596', '-76.278461', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2937, 'Ardmore', 2818, '19003', '610', '40.002549', '-75.300224', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2938, 'Shickshinny', 2818, '18655', '570', '41.19495', '-76.199225', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2939, 'Wilkes Barre', 2818, '18710', '570', '41.2456', '-75.8817', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2940, 'Altria', 2818, '18762', '570', '41.2329', '-75.9018', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2941, 'Wilkes Barre', 2818, '18762', '570', '41.2329', '-75.9018', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2942, 'Athens', 2818, '18810', '570', '41.929885', '-76.44838', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2943, 'Blooming Grove', 2818, '18428', '570', '41.417184', '-75.165757', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2944, 'Blooming Grv', 2818, '18428', '570', '41.417184', '-75.165757', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2945, 'Hawley', 2818, '18428', '570', '41.417184', '-75.165757', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2946, 'Lords Valley', 2818, '18428', '570', '41.417184', '-75.165757', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2947, 'Meshoppen', 2818, '18630', '570', '41.686346', '-75.99036', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2948, 'Oxford', 2818, '19363', '610', '39.791412', '-75.979323', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2949, 'Phila', 2818, '19147', '215', '39.936478', '-75.151858', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2950, 'Philadelphia', 2818, '19147', '215', '39.936478', '-75.151858', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2951, 'Firm Zip Concept (Brm)', 2818, '19161', '215', '39.9525', '-75.1645', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2952, 'Phila', 2818, '19161', '215', '39.9525', '-75.1645', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2953, 'Philadelphia', 2818, '19161', '215', '39.9525', '-75.1645', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2954, 'Penn Mutual Ins Co', 2818, '19172', '215', '39.9525', '-75.1645', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2955, 'Phila', 2818, '19172', '215', '39.9525', '-75.1645', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2956, 'Philadelphia', 2818, '19172', '215', '39.9525', '-75.1645', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2957, 'Phila', 2818, '19131', '215', '39.98925', '-75.221153', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2958, 'Philadelphia', 2818, '19131', '215', '39.98925', '-75.221153', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2959, 'Narberth', 2818, '19072', '610', '40.023194', '-75.25858', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2960, 'Penn Valley', 2818, '19072', '610', '40.023194', '-75.25858', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2961, 'Sharon Hill', 2818, '19079', '610', '39.90029', '-75.266518', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2962, 'Swarthmore', 2818, '19081', '610', '39.896905', '-75.346948', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2963, 'Radnor', 2818, '19088', '610', '40.0438', '-75.3883', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2964, 'Tv Guide', 2818, '19088', '610', '40.0438', '-75.3883', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2965, 'Wayne', 2818, '19088', '610', '40.0438', '-75.3883', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2966, 'Cedarbrook', 2818, '19095', '215', '40.085044', '-75.151628', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2967, 'Wyncote', 2818, '19095', '215', '40.085044', '-75.151628', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2968, 'Trumbauersville', 2818, '18970', '215', '40.411775', '-75.383396', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2969, 'Trumbaursvlle', 2818, '18970', '215', '40.411775', '-75.383396', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2970, 'Trumbaversville', 2818, '18970', '215', '40.411775', '-75.383396', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2971, 'Upper Black Eddy', 2818, '18972', '610', '40.53054', '-75.124166', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2972, 'Uppr Blck Edy', 2818, '18972', '610', '40.53054', '-75.124166', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2973, 'Hallstead', 2818, '18822', '570', '41.952924', '-75.812779', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2974, 'Stevensville', 2818, '18845', '570', '41.7754', '-76.167738', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2975, 'Doylestown', 2818, '18902', '215', '40.352724', '-75.108594', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2976, 'Brooklyn', 2818, '18813', '570', '41.751684', '-75.799838', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2977, 'Cobbs Lake Preserve', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2978, 'Cobbs Lk Pres', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2979, 'Jefferson Township', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2980, 'Jefferson Twp', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2981, 'Lake Ariel', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2982, 'Mount Cobb', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2983, 'Roaring Bk Tp', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2984, 'Roaring Brook Twp', 2818, '18436', '570', '41.440568', '-75.423955', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2985, 'Milanville', 2818, '18443', '570', '41.657408', '-75.104678', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2986, 'Newfoundland', 2818, '18445', '570', '41.288846', '-75.348412', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2987, 'S Sterling', 2818, '18445', '570', '41.288846', '-75.348412', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2988, 'South Sterling', 2818, '18445', '570', '41.288846', '-75.348412', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2989, 'Forkston Township', 2818, '18629', '570', '41.496185', '-76.165497', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2990, 'Forkston Twp', 2818, '18629', '570', '41.496185', '-76.165497', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2991, 'Mehoopany', 2818, '18629', '570', '41.496185', '-76.165497', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2992, 'Long Pond', 2818, '18334', '570', '41.060959', '-75.450295', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2993, 'Poyntelle', 2818, '18454', '570', '41.8208', '-75.4206', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2994, 'South Canaan', 2818, '18459', '570', '41.511476', '-75.407474', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2995, 'Starlight', 2818, '18461', '570', '41.92273', '-75.319514', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2996, 'Sterling', 2818, '18463', '570', '41.338013', '-75.391364', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2997, 'Clifford Township', 2818, '18470', '570', '41.709304', '-75.558408', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2998, 'Clifford Twp', 2818, '18470', '570', '41.709304', '-75.558408', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(2999, 'Union Dale', 2818, '18470', '570', '41.709304', '-75.558408', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3000, 'Scranton', 2818, '18504', '570', '41.423482', '-75.698875', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3001, 'Allentown', 2818, '18195', '610', '40.5776', '-75.5687', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3002, 'Harleigh', 2818, '18225', '570', '40.982098', '-75.970882', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3003, 'Quakake', 2818, '18245', '570', '40.864395', '-75.972978', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3004, 'Philadelphia', 2818, '19113', '610', '39.868168', '-75.274927', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3005, 'Phila', 2818, '19120', '215', '40.03331', '-75.117491', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3006, 'Philadelphia', 2818, '19120', '215', '40.03331', '-75.117491', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3007, 'Phila', 2818, '19122', '215', '39.977602', '-75.145784', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3008, 'Philadelphia', 2818, '19122', '215', '39.977602', '-75.145784', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3009, 'Phila', 2818, '19129', '215', '40.014448', '-75.186628', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3010, 'Philadelphia', 2818, '19129', '215', '40.014448', '-75.186628', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3011, 'Phila', 2818, '19136', '215', '40.040834', '-75.017422', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3012, 'Philadelphia', 2818, '19136', '215', '40.040834', '-75.017422', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3013, 'Cornwells Hts', 2818, '19020', '215', '40.10115', '-74.941677', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3014, 'Eddington', 2818, '19020', '215', '40.10115', '-74.941677', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3015, 'Upper Chichester', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3016, 'Uppr Chichstr', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3017, 'Morton', 2818, '19070', '610', '39.908086', '-75.325581', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3018, 'Ridley', 2818, '19070', '610', '39.908086', '-75.325581', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3019, 'Rutledge', 2818, '19070', '610', '39.908086', '-75.325581', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3020, 'Garden City', 2818, '19086', '610', '39.891016', '-75.370266', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3021, 'Nether Providence', 2818, '19086', '610', '39.891016', '-75.370266', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3022, 'Rose Valley', 2818, '19086', '610', '39.891016', '-75.370266', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3023, 'Wallingford', 2818, '19086', '610', '39.891016', '-75.370266', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3024, 'Solebury', 2818, '18963', '215', '40.3808', '-75.0086', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3025, 'Woxall', 2818, '18979', '215', '40.3109', '-75.4493', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3026, 'Flourtown', 2818, '19031', '215', '40.110243', '-75.215906', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3027, 'Ardsley', 2818, '19038', '215', '40.101367', '-75.177394', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3028, 'Erdenheim', 2818, '19038', '215', '40.101367', '-75.177394', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3029, 'Glenside', 2818, '19038', '215', '40.101367', '-75.177394', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3030, 'Laverock', 2818, '19038', '215', '40.101367', '-75.177394', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3031, 'North Hills', 2818, '19038', '215', '40.101367', '-75.177394', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3032, 'Wyndmoor', 2818, '19038', '215', '40.101367', '-75.177394', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3033, 'Frederick', 2818, '19435', '610', '40.324868', '-75.556926', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3034, 'Gwynedd', 2818, '19436', '215', '40.200758', '-75.245957', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3035, 'North Wales', 2818, '19436', '215', '40.200758', '-75.245957', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3036, 'Spring House', 2818, '19436', '215', '40.200758', '-75.245957', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3037, 'Harleysville', 2818, '19451', '215', '40.2579', '-75.3598', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3038, 'Lincoln Univ', 2818, '19352', '610', '39.781616', '-75.887764', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3039, 'Lincoln University', 2818, '19352', '610', '39.781616', '-75.887764', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3040, 'New Londn Twp', 2818, '19352', '610', '39.781616', '-75.887764', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3041, 'New London Township', 2818, '19352', '610', '39.781616', '-75.887764', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3042, 'Newlondon Twp', 2818, '19352', '610', '39.781616', '-75.887764', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3043, 'Mainland', 2818, '19451', '215', '40.2579', '-75.3598', '2018-11-29 04:49:45', '2018-11-29 04:49:45'),\n(3044, 'Mont Clare', 2818, '19453', '610', '40.139462', '-75.500414', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3045, 'Phoenixville', 2818, '19453', '610', '40.139462', '-75.500414', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3046, 'Phila', 2818, '19152', '215', '40.061702', '-75.045467', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3047, 'Philadelphia', 2818, '19152', '215', '40.061702', '-75.045467', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3048, 'Phila', 2818, '19184', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3049, 'Philadelphia', 2818, '19184', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3050, 'Sunmark Industries', 2818, '19184', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3051, 'Phila', 2818, '19185', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3052, 'Philadelphia', 2818, '19185', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3053, 'Selective Service System', 2818, '19185', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3054, 'Phila', 2818, '19115', '215', '40.089289', '-75.045863', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3055, 'Philadelphia', 2818, '19115', '215', '40.089289', '-75.045863', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3056, 'Phila', 2818, '19133', '215', '39.992665', '-75.141498', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3057, 'Philadelphia', 2818, '19133', '215', '39.992665', '-75.141498', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3058, 'Phila', 2818, '19135', '215', '40.01989', '-75.049096', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3059, 'Philadelphia', 2818, '19135', '215', '40.01989', '-75.049096', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3060, 'Media', 2818, '19065', '610', '39.9164', '-75.3882', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3061, 'Moylan', 2818, '19065', '610', '39.9164', '-75.3882', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3062, 'Merion', 2818, '19066', '610', '40.003587', '-75.249012', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3063, 'Merion Park', 2818, '19066', '610', '40.003587', '-75.249012', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3064, 'Merion Sta', 2818, '19066', '610', '40.003587', '-75.249012', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3065, 'Merion Station', 2818, '19066', '610', '40.003587', '-75.249012', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3066, 'Ithan', 2818, '19085', '610', '40.037276', '-75.348835', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3067, 'Villanova', 2818, '19085', '610', '40.037276', '-75.348835', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3068, 'Spinnerstown', 2818, '18968', '215', '40.4388', '-75.4376', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3069, 'Fort Washington', 2818, '19034', '215', '40.135806', '-75.20648', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3070, 'Ft Wash', 2818, '19034', '215', '40.135806', '-75.20648', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3071, 'Southeastern', 2818, '19397', '610', '39.9833', '-75.5125', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3072, 'Norristown', 2818, '19404', '484', '40.1215', '-75.3405', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3073, 'King Of Prussia', 2818, '19406', '610', '40.09287', '-75.39437', '2018-11-29 04:49:46', '2018-11-29 04:49:46');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(3074, 'Kng Of Prussa', 2818, '19406', '610', '40.09287', '-75.39437', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3075, 'Norristown', 2818, '19406', '610', '40.09287', '-75.39437', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3076, 'Eagleville', 2818, '19415', '610', '40.1215', '-75.3405', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3077, 'Shared Return Zip', 2818, '19415', '610', '40.1215', '-75.3405', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3078, 'Arcola', 2818, '19420', '610', '40.1527', '-75.4566', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3079, 'Phila', 2818, '19188', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3080, 'Philadelphia', 2818, '19188', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3081, 'Phila', 2818, '19197', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3082, 'Philadelphia', 2818, '19197', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3083, 'Usps Eastern Region Hdqtrs', 2818, '19197', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3084, 'Coatesville', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3085, 'E Fallowfield', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3086, 'East Fallowfield Township', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3087, 'Romansville', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3088, 'Valley Township', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3089, 'Valley Twp', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3090, 'W Brandywine', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3091, 'West Bradford', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3092, 'West Brandywine', 2818, '19320', '610', '39.97099', '-75.826524', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3093, 'Concordville', 2818, '19331', '610', '39.8851', '-75.5236', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3094, 'Parkesburg', 2818, '19365', '610', '39.96208', '-75.923936', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3095, 'Phila', 2818, '19145', '215', '39.915376', '-75.191842', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3096, 'Philadelphia', 2818, '19145', '215', '39.915376', '-75.191842', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3097, 'Phila', 2818, '19154', '215', '40.092813', '-74.985644', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3098, 'Philadelphia', 2818, '19154', '215', '40.092813', '-74.985644', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3099, 'Phila', 2818, '19179', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3100, 'Philadelphia', 2818, '19179', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3101, 'Veterans Administration', 2818, '19179', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3102, 'Colonial Penn Group', 2818, '19181', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3103, 'Phila', 2818, '19181', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3104, 'Philadelphia', 2818, '19181', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3105, 'Hosiery Corp Of America', 2818, '19188', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3106, '30th Street', 2818, '19104', '215', '39.964046', '-75.197184', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3107, 'Phila', 2818, '19104', '215', '39.964046', '-75.197184', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3108, 'Philadelphia', 2818, '19104', '215', '39.964046', '-75.197184', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3109, 'Chester', 2818, '19022', '610', '39.859787', '-75.333598', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3110, 'Crum Lynne', 2818, '19022', '610', '39.859787', '-75.333598', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3111, 'Eddystone', 2818, '19022', '610', '39.859787', '-75.333598', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3112, 'Essington', 2818, '19029', '610', '39.867196', '-75.282356', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3113, 'Lester', 2818, '19029', '610', '39.867196', '-75.282356', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3114, 'Elwyn', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3115, 'Garden City', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3116, 'Glen Riddle', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3117, 'Media', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3118, 'Rose Tree', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3119, 'Rose Valley', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3120, 'Upper Providence', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3121, 'Wawa', 2818, '19063', '610', '39.919429', '-75.42243', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3122, 'Zionhill', 2818, '18981', '215', '40.4843', '-75.3942', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3123, 'Tinicum', 2818, '19029', '610', '39.867196', '-75.282356', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3124, 'Tinicum Township', 2818, '19029', '610', '39.867196', '-75.282356', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3125, 'Briarcliff', 2818, '19036', '610', '39.902942', '-75.292673', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3126, 'Darby Township', 2818, '19036', '610', '39.902942', '-75.292673', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3127, 'Glenolden', 2818, '19036', '610', '39.902942', '-75.292673', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3128, 'Lanesboro', 2818, '18827', '570', '41.959864', '-75.583173', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3129, 'Susquehanna', 2818, '18847', '570', '41.938916', '-75.617967', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3130, 'Bala', 2818, '19004', '610', '40.014912', '-75.226591', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3131, 'Bala Cynwyd', 2818, '19004', '610', '40.014912', '-75.226591', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3132, 'West Chester', 2818, '19382', '610', '39.923246', '-75.615631', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3133, 'Southeastern', 2818, '19398', '610', '39.9833', '-75.5125', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3134, 'Birchrunville', 2818, '19421', '610', '40.13807', '-75.630035', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3135, 'Creamery', 2818, '19430', '610', '40.2203', '-75.4164', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3136, 'Gwynedd Valley', 2818, '19437', '215', '40.182958', '-75.26242', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3137, 'Gwynedd Vly', 2818, '19437', '215', '40.182958', '-75.26242', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3138, 'Phila', 2818, '19139', '215', '39.963129', '-75.234898', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3139, 'Philadelphia', 2818, '19139', '215', '39.963129', '-75.234898', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3140, 'Classification & Rates Admin', 2818, '19196', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3141, 'Phila', 2818, '19196', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3142, 'Philadelphia', 2818, '19196', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3143, 'Internal Revenue Service', 2818, '19255', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3144, 'Philadelphia', 2818, '19255', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3145, 'Berwyn', 2818, '19312', '610', '40.031943', '-75.455506', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3146, 'Tredyffrin', 2818, '19312', '610', '40.031943', '-75.455506', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3147, 'Cochranville', 2818, '19330', '610', '39.875136', '-75.925465', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3148, 'Kennett Sq', 2818, '19348', '610', '39.864856', '-75.71596', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3149, 'Kennett Square', 2818, '19348', '610', '39.864856', '-75.71596', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3150, 'Holmes', 2818, '19098', '610', '39.9043', '-75.3089', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3151, 'National Fulfillment Serv', 2818, '19098', '610', '39.9043', '-75.3089', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3152, 'Passyunk', 2818, '19148', '215', '39.911896', '-75.151445', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3153, 'Phila', 2818, '19148', '215', '39.911896', '-75.151445', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3154, 'Philadelphia', 2818, '19148', '215', '39.911896', '-75.151445', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3155, 'Phila', 2818, '19155', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3156, 'Philadelphia', 2818, '19155', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3157, 'Phila', 2818, '19112', '215', '39.887892', '-75.166017', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3158, 'Philadelphia', 2818, '19112', '215', '39.887892', '-75.166017', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3159, 'Philadelphia', 2818, '19192', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3160, 'Ford Motor Credit Corp', 2818, '19193', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3161, 'Phila', 2818, '19193', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3162, 'Philadelphia', 2818, '19193', '215', '39.9525', '-75.1645', '2018-11-29 04:49:46', '2018-11-29 04:49:46'),\n(3163, 'Exton', 2818, '19341', '610', '40.039434', '-75.638144', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3164, 'Franklin Center', 2818, '19341', '610', '40.039434', '-75.638144', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3165, 'Franklin Ctr', 2818, '19341', '610', '40.039434', '-75.638144', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3166, 'Glen Mills', 2818, '19342', '610', '39.906552', '-75.493326', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3167, 'Honey Brook', 2818, '19344', '610', '40.085124', '-75.873596', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3168, 'W Brandywine', 2818, '19344', '610', '40.085124', '-75.873596', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3169, 'West Brandywine', 2818, '19344', '610', '40.085124', '-75.873596', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3170, 'New London', 2818, '19360', '610', '39.7826', '-75.8758', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3171, 'Phila', 2818, '19144', '215', '40.031656', '-75.179835', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3172, 'Philadelphia', 2818, '19144', '215', '40.031656', '-75.179835', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3173, 'Phila', 2818, '19177', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3174, 'Philadelphia', 2818, '19177', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3175, 'Wachovia Bank', 2818, '19177', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3176, 'Phila', 2818, '19109', '215', '39.9495', '-75.1503', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3177, 'Philadelphia', 2818, '19109', '215', '39.9495', '-75.1503', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3178, 'Phila', 2818, '19110', '215', '39.9514', '-75.1636', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3179, 'Philadelphia', 2818, '19110', '215', '39.9514', '-75.1636', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3180, 'Phila', 2818, '19124', '215', '40.01708', '-75.09426', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3181, 'Philadelphia', 2818, '19124', '215', '40.01708', '-75.09426', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3182, 'Prospect Park', 2818, '19076', '610', '39.885968', '-75.307317', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3183, 'Willow Grove', 2818, '19090', '215', '40.149702', '-75.121298', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3184, 'Franklin Mt Ctr', 2818, '19091', '610', '39.9164', '-75.3882', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3185, 'Media', 2818, '19091', '610', '39.9164', '-75.3882', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3186, 'Washington Crossing', 2818, '18977', '215', '40.286381', '-74.877953', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3187, 'Washington Xing', 2818, '18977', '215', '40.286381', '-74.877953', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3188, 'Wshngtn Xing', 2818, '18977', '215', '40.286381', '-74.877953', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3189, 'Holmes', 2818, '19043', '610', '39.900289', '-75.307361', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3190, 'Kingsley', 2818, '18826', '570', '41.772976', '-75.771328', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3191, 'Athens Township', 2818, '18840', '570', '41.972882', '-76.483535', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3192, 'Sayre', 2818, '18840', '570', '41.972882', '-76.483535', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3193, 'South Waverly', 2818, '18840', '570', '41.972882', '-76.483535', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3194, 'South Gibson', 2818, '18842', '570', '41.758602', '-75.606252', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3195, 'S Montrose', 2818, '18843', '570', '41.7972', '-75.8919', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3196, 'South Montrose', 2818, '18843', '570', '41.7972', '-75.8919', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3197, 'Broomall', 2818, '19008', '610', '39.976331', '-75.364444', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3198, 'Lawrence Park', 2818, '19008', '610', '39.976331', '-75.364444', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3199, 'Marple Township', 2818, '19008', '610', '39.976331', '-75.364444', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3200, 'Radnor', 2818, '19008', '610', '39.976331', '-75.364444', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3201, 'Huntington Mills', 2818, '18622', '570', '41.20382', '-76.24224', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3202, 'Huntington Ml', 2818, '18622', '570', '41.20382', '-76.24224', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3203, 'Laceyville', 2818, '18623', '570', '41.705246', '-76.119792', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3204, 'Duryea', 2818, '18642', '570', '41.35446', '-75.773762', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3205, 'Pittston', 2818, '18642', '570', '41.35446', '-75.773762', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3206, 'Millrift', 2818, '18340', '570', '41.418678', '-74.776059', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3207, 'Skytop', 2818, '18357', '570', '41.228254', '-75.236629', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3208, 'Tannersville', 2818, '18372', '570', '41.04359', '-75.338668', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3209, 'Bushkill', 2818, '18373', '570', '41.1499', '-75.0333', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3210, 'Unity House', 2818, '18373', '570', '41.1499', '-75.0333', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3211, 'Suplee', 2818, '19371', '610', '40.0997', '-75.8794', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3212, 'Thornton', 2818, '19373', '610', '39.908669', '-75.534118', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3213, 'W Chester', 2818, '19380', '610', '39.989232', '-75.611876', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3214, 'West Bradford', 2818, '19380', '610', '39.989232', '-75.611876', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3215, 'West Chester', 2818, '19380', '610', '39.989232', '-75.611876', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3216, 'Bridgeport', 2818, '19405', '610', '40.101366', '-75.341671', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3217, 'Norristown', 2818, '19405', '610', '40.101366', '-75.341671', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3218, 'Cedars', 2818, '19423', '610', '40.2125', '-75.3687', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3219, 'District', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3220, 'Englesville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3221, 'Gabelsville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3222, 'Greshville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3223, 'Griesemersville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3224, 'Hill Church', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3225, 'Landis Store', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3226, 'Morysville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3227, 'Shanesville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3228, 'Spangsville', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3229, 'Concordville', 2818, '19339', '610', '39.8853', '-75.5209', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3230, 'State Farm Insurance', 2818, '19339', '610', '39.8853', '-75.5209', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3231, 'Kelton', 2818, '19346', '610', '39.8088', '-75.8767', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3232, 'Nottingham', 2818, '19362', '610', '39.758467', '-76.054553', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3233, 'Eastwick', 2818, '19153', '215', '39.887884', '-75.25587', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3234, 'Phila', 2818, '19153', '215', '39.887884', '-75.25587', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3235, 'Philadelphia', 2818, '19153', '215', '39.887884', '-75.25587', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3236, 'Firm Zip Concept (Courtesy)', 2818, '19162', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3237, 'Phila', 2818, '19162', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3238, 'Philadelphia', 2818, '19162', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3239, 'Phila', 2818, '19173', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3240, 'Philadelphia', 2818, '19173', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3241, 'Verizon', 2818, '19173', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3242, 'Levittown', 2818, '19055', '215', '40.147534', '-74.836831', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3243, 'Phila', 2818, '19123', '215', '39.96294', '-75.143766', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3244, 'Philadelphia', 2818, '19123', '215', '39.96294', '-75.143766', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3245, 'Phila', 2818, '19130', '215', '39.967428', '-75.176708', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3246, 'Philadelphia', 2818, '19130', '215', '39.967428', '-75.176708', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3247, 'Phila', 2818, '19137', '215', '39.997659', '-75.074783', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3248, 'Philadelphia', 2818, '19137', '215', '39.997659', '-75.074783', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3249, 'Ridley Park', 2818, '19078', '610', '39.871066', '-75.322603', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3250, 'Souderton', 2818, '18964', '215', '40.296341', '-75.32831', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3251, 'Maple Grove Park', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3252, 'Mohnton', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3253, 'Downingtown', 2818, '19372', '610', '39.998759', '-75.759773', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3254, 'Thorndale', 2818, '19372', '610', '39.998759', '-75.759773', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3255, 'Chatham', 2818, '19390', '610', '39.844564', '-75.847099', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3256, 'West Grove', 2818, '19390', '610', '39.844564', '-75.847099', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3257, 'Westtown', 2818, '19395', '610', '39.9306', '-75.5523', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3258, 'Hatfield', 2818, '19440', '215', '40.285844', '-75.295488', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3259, 'North Penn', 2818, '19440', '215', '40.285844', '-75.295488', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3260, 'Commerce Bank', 2818, '19195', '267', '39.95', '-75.16', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3261, 'Philadelphia', 2818, '19195', '267', '39.95', '-75.16', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3262, 'Concordville', 2818, '19340', '610', '39.8853', '-75.5209', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3263, 'State Farm Insurance', 2818, '19340', '610', '39.8853', '-75.5209', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3264, 'Immaculata', 2818, '19345', '610', '40.02946', '-75.564476', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3265, 'Citibank Delaware', 2818, '19170', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3266, 'Phila', 2818, '19170', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3267, 'Philadelphia', 2818, '19170', '215', '39.9525', '-75.1645', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3268, 'Levittown', 2818, '19054', '215', '40.16751', '-74.822186', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3269, 'Levittown', 2818, '19056', '215', '40.148461', '-74.883435', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3270, 'Middletown Twp', 2818, '19056', '215', '40.148461', '-74.883435', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3271, 'Newportville', 2818, '19056', '215', '40.148461', '-74.883435', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3272, 'Boothwyn', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3273, 'Garnet Valley', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3274, 'Linwood', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3275, 'Lower Chichester', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3276, 'Marcus Hook', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3277, 'Ogden', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3278, 'Trainer', 2818, '19061', '610', '39.840388', '-75.466471', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3279, 'Phila', 2818, '19106', '215', '39.948843', '-75.144282', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3280, 'Philadelphia', 2818, '19106', '215', '39.948843', '-75.144282', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3281, 'William Penn Annex East', 2818, '19106', '215', '39.948843', '-75.144282', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3282, 'Wm Penn Anx E', 2818, '19106', '215', '39.948843', '-75.144282', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3283, 'Lawncrest', 2818, '19111', '215', '40.063339', '-75.079715', '2018-11-29 04:49:47', '2018-11-29 04:49:47'),\n(3284, 'Lawndale', 2818, '19111', '215', '40.063339', '-75.079715', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3285, 'Phila', 2818, '19111', '215', '40.063339', '-75.079715', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3286, 'Philadelphia', 2818, '19111', '215', '40.063339', '-75.079715', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3287, 'Rhawnhurst', 2818, '19111', '215', '40.063339', '-75.079715', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3288, 'Lester', 2818, '19113', '610', '39.868168', '-75.274927', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3289, 'Phila', 2818, '19113', '610', '39.868168', '-75.274927', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3290, 'Oak Lane', 2818, '19126', '215', '40.056626', '-75.136144', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3291, 'Phila', 2818, '19126', '215', '40.056626', '-75.136144', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3292, 'Philadelphia', 2818, '19126', '215', '40.056626', '-75.136144', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3293, 'Collingdale', 2818, '19023', '610', '39.91809', '-75.269201', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3294, 'Colwyn', 2818, '19023', '610', '39.91809', '-75.269201', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3295, 'Darby', 2818, '19023', '610', '39.91809', '-75.269201', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3296, 'Elkins Park', 2818, '19027', '215', '40.0714', '-75.125128', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3297, 'Lamott', 2818, '19027', '215', '40.0714', '-75.125128', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3298, 'Melrose', 2818, '19027', '215', '40.0714', '-75.125128', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3299, 'Melrose Park', 2818, '19027', '215', '40.0714', '-75.125128', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3300, 'Firm Zip Concept (Brm)', 2818, '19092', '215', '39.9524', '-75.1642', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3301, 'Philadelphia', 2818, '19092', '215', '39.9524', '-75.1642', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3302, 'Firm Zip Concept (Courtesy)', 2818, '19093', '215', '39.9524', '-75.1642', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3303, 'Philadelphia', 2818, '19093', '215', '39.9524', '-75.1642', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3304, 'W Atlee Burpee Co', 2818, '18991', '215', '40.2068', '-75.1001', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3305, 'Warminster', 2818, '18991', '215', '40.2068', '-75.1001', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3306, 'Harford', 2818, '18823', '570', '41.769712', '-75.683972', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3307, 'Hop Bottom', 2818, '18824', '570', '41.697164', '-75.803556', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3308, 'Bryn Athyn', 2818, '19009', '215', '40.137059', '-75.066766', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3309, 'Bryn Mawr', 2818, '19010', '610', '40.026926', '-75.33333', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3310, 'Rosemont', 2818, '19010', '610', '40.026926', '-75.33333', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3311, 'Dallas', 2818, '18690', '570', '41.3361', '-75.9637', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3312, 'Frontier Communicationa', 2818, '18690', '570', '41.3361', '-75.9637', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3313, 'Lake Harmony', 2818, '18624', '570', '41.061291', '-75.650545', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3314, 'Ashley', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3315, 'Hanover Township', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3316, 'Hanover Twp', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3317, 'Basket', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3318, 'Lobachsville', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3319, 'Gay Street', 2818, '19381', '610', '39.9639', '-75.5891', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3320, 'W Chester', 2818, '19381', '610', '39.9639', '-75.5891', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3321, 'West Chester', 2818, '19381', '610', '39.9639', '-75.5891', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3322, 'Blue Bell', 2818, '19422', '610', '40.157453', '-75.279626', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3323, 'Center Square', 2818, '19422', '610', '40.157453', '-75.279626', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3324, 'Penllyn', 2818, '19422', '610', '40.157453', '-75.279626', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3325, 'Blue Bell', 2818, '19424', '215', '40.1522', '-75.2667', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3326, 'Unisys', 2818, '19424', '215', '40.1522', '-75.2667', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3327, 'Bell Telephone Co', 2818, '19429', '610', '40.0795', '-75.3018', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3328, 'Conshohocken', 2818, '19429', '610', '40.0795', '-75.3018', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3329, 'Harleysville', 2818, '19438', '215', '40.269564', '-75.404052', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3330, 'Lower Salford', 2818, '19438', '215', '40.269564', '-75.404052', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3331, 'Phila', 2818, '19138', '215', '40.056366', '-75.161424', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3332, 'Philadelphia', 2818, '19138', '215', '40.056366', '-75.161424', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3333, 'National Passport Agency', 2818, '19190', '267', '39.95', '-75.16', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3334, 'Philadelphia', 2818, '19190', '267', '39.95', '-75.16', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3335, 'Kemblesville', 2818, '19347', '610', '39.7489', '-75.8245', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3336, 'Lyndell', 2818, '19354', '610', '40.0597', '-75.7453', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3337, 'Morgantown', 2818, '19543', '610', '40.171508', '-75.89692', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3338, 'Toughkenamon', 2818, '19374', '610', '39.826082', '-75.756299', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3339, 'Unionville', 2818, '19375', '610', '39.8956', '-75.7344', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3340, 'Kulpsville', 2818, '19443', '215', '40.2428', '-75.3366', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3341, 'First Chicago', 2818, '19194', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3342, 'Phila', 2818, '19194', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3343, 'Philadelphia', 2818, '19194', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3344, 'Internal Revenue Service', 2818, '19244', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3345, 'Philadelphia', 2818, '19244', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3346, 'Atglen', 2818, '19310', '610', '39.935126', '-75.958468', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3347, 'Steelville', 2818, '19310', '610', '39.935126', '-75.958468', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3348, 'Avondale', 2818, '19311', '610', '39.825436', '-75.764138', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3349, 'Phila', 2818, '19141', '215', '40.03722', '-75.147024', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3350, 'Philadelphia', 2818, '19141', '215', '40.03722', '-75.147024', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3351, 'Phila', 2818, '19142', '215', '39.92268', '-75.233545', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3352, 'Philadelphia', 2818, '19142', '215', '39.92268', '-75.233545', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3353, 'Philadelphia', 2818, '19176', '215', '39.903302', '-75.236279', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3354, 'Levittown', 2818, '19057', '215', '40.14559', '-74.845177', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3355, 'Levittown', 2818, '19058', '267', '40.155', '-74.8292', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3356, 'Boothwyn', 2818, '19060', '610', '39.840388', '-75.466471', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3357, 'Garnet Valley', 2818, '19060', '610', '39.840388', '-75.466471', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3358, 'Marcus Hook', 2818, '19060', '610', '39.840388', '-75.466471', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3359, 'Upper Chichester', 2818, '19060', '610', '39.840388', '-75.466471', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3360, 'Phila', 2818, '19107', '215', '39.951938', '-75.158746', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3361, 'Philadelphia', 2818, '19107', '215', '39.951938', '-75.158746', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3362, 'William Penn Annex West', 2818, '19107', '215', '39.951938', '-75.158746', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3363, 'Wm Penn Anx W', 2818, '19107', '215', '39.951938', '-75.158746', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3364, 'Phila', 2818, '19108', '215', '39.959462', '-75.160622', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3365, 'Philadelphia', 2818, '19108', '215', '39.959462', '-75.160622', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3366, 'Manayunk', 2818, '19127', '215', '40.027946', '-75.228396', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3367, 'Phila', 2818, '19127', '215', '40.027946', '-75.228396', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3368, 'Philadelphia', 2818, '19127', '215', '40.027946', '-75.228396', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3369, 'Dresher', 2818, '19025', '215', '40.14147', '-75.160654', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3370, 'Jarrettown', 2818, '19025', '215', '40.14147', '-75.160654', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3371, 'Drexel Hill', 2818, '19026', '610', '39.948518', '-75.306221', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3372, 'Drexelbrook', 2818, '19026', '610', '39.948518', '-75.306221', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3373, 'Oakview', 2818, '19026', '610', '39.948518', '-75.306221', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3374, 'Pilgrim Gardens', 2818, '19026', '610', '39.948518', '-75.306221', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3375, 'Mount Aetna', 2818, '19544', '717', '40.418797', '-76.29565', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3376, 'Mt Aetna', 2818, '19544', '717', '40.418797', '-76.29565', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3377, 'New Berlins', 2818, '19545', '610', '40.342156', '-75.630496', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3378, 'New Berlinville', 2818, '19545', '610', '40.342156', '-75.630496', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3379, 'New Berlinvle', 2818, '19545', '610', '40.342156', '-75.630496', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3380, 'Wagontown', 2818, '19376', '610', '40.0108', '-75.8431', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3381, 'Eagleville', 2818, '19408', '610', '40.1215', '-75.3405', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3382, 'Norristown', 2818, '19408', '610', '40.1215', '-75.3405', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3383, 'Harleysville', 2818, '19441', '215', '40.2794', '-75.3878', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3384, 'Harleysville Insurance Co', 2818, '19441', '215', '40.2794', '-75.3878', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3385, 'Kimberton', 2818, '19442', '610', '40.1308', '-75.5728', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3386, 'Lafayette Hill', 2818, '19444', '610', '40.081554', '-75.254106', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3387, 'Lafayette Hl', 2818, '19444', '610', '40.081554', '-75.254106', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3388, 'Miquon', 2818, '19444', '610', '40.081554', '-75.254106', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3389, 'Phila', 2818, '19140', '215', '40.012192', '-75.146265', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3390, 'Glenmoore', 2818, '19343', '610', '40.100872', '-75.757444', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3391, 'W Brandywine', 2818, '19343', '610', '40.100872', '-75.757444', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3392, 'West Brandywine', 2818, '19343', '610', '40.100872', '-75.757444', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3393, 'Modena', 2818, '19358', '610', '39.961506', '-75.802442', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3394, 'Philadelphia', 2818, '19140', '215', '40.012192', '-75.146265', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3395, 'Phila', 2818, '19143', '215', '39.941018', '-75.228165', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3396, 'Philadelphia', 2818, '19143', '215', '39.941018', '-75.228165', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3397, 'Phila', 2818, '19160', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3398, 'Philadelphia', 2818, '19160', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3399, 'Mellon Bank East', 2818, '19175', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3400, 'Phila', 2818, '19175', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3401, 'Philadelphia', 2818, '19175', '215', '39.9525', '-75.1645', '2018-11-29 04:49:48', '2018-11-29 04:49:48'),\n(3402, 'Phila', 2818, '19125', '215', '39.976408', '-75.12217', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3403, 'Philadelphia', 2818, '19125', '215', '39.976408', '-75.12217', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3404, 'Mohrsville', 2818, '19541', '610', '40.465205', '-76.027356', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3405, 'Audubon', 2818, '19407', '610', '40.1215', '-75.3405', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3406, 'Norristown', 2818, '19407', '610', '40.1215', '-75.3405', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3407, 'Devault', 2818, '19432', '610', '40.0759', '-75.5375', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3408, 'Lansdale', 2818, '19446', '215', '40.226262', '-75.293266', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3409, 'Upper Gwynedd', 2818, '19446', '215', '40.226262', '-75.293266', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3410, 'Frazer', 2818, '19355', '610', '40.041973', '-75.533698', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3411, 'Malvern', 2818, '19355', '610', '40.041973', '-75.533698', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3412, 'Mendenhall', 2818, '19357', '610', '39.8538', '-75.6417', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3413, 'Mid City West', 2818, '19103', '215', '39.953767', '-75.176335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3414, 'Phila', 2818, '19146', '215', '39.939145', '-75.185452', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3415, 'Philadelphia', 2818, '19146', '215', '39.939145', '-75.185452', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3416, 'Phila', 2818, '19171', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3417, 'Philadelphia', 2818, '19171', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3418, 'Wachovia Bank', 2818, '19171', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3419, 'Phila', 2818, '19178', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3420, 'Philadelphia', 2818, '19178', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3421, 'Wachovia Bank', 2818, '19178', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3422, 'A A R P Ins', 2818, '19187', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3423, 'Phila', 2818, '19187', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3424, 'Philadelphia', 2818, '19187', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3425, 'Middle City West', 2818, '19103', '215', '39.953767', '-75.176335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3426, 'Phila', 2818, '19103', '215', '39.953767', '-75.176335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3427, 'Philadelphia', 2818, '19103', '215', '39.953767', '-75.176335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3428, 'Phila', 2818, '19105', '215', '39.9524', '-75.1642', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3429, 'Philadelphia', 2818, '19105', '215', '39.9524', '-75.1642', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3430, 'Phila', 2818, '19121', '215', '39.983622', '-75.181244', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3431, 'Philadelphia', 2818, '19121', '215', '39.983622', '-75.181244', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3432, 'Phila', 2818, '19128', '215', '40.047188', '-75.229979', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3433, 'Philadelphia', 2818, '19128', '215', '40.047188', '-75.229979', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3434, 'Edgemont', 2818, '19028', '610', '39.9744', '-75.4506', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3435, 'Firm Zip Concept (Brm)', 2818, '19080', '610', '40.0438', '-75.3883', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3436, 'Radnor', 2818, '19080', '610', '40.0438', '-75.3883', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3437, 'Tv Guide Brm', 2818, '19080', '610', '40.0438', '-75.3883', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3438, 'Wayne', 2818, '19080', '610', '40.0438', '-75.3883', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3439, 'Woodlyn', 2818, '19094', '610', '39.875439', '-75.346513', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3440, 'Carroll Park', 2818, '19096', '610', '39.998806', '-75.271335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3441, 'Penn Wynne', 2818, '19096', '610', '39.998806', '-75.271335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3442, 'Wynnewood', 2818, '19096', '610', '39.998806', '-75.271335', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3443, 'Indian Valley', 2818, '18969', '215', '40.32451', '-75.369932', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3444, 'Telford', 2818, '18969', '215', '40.32451', '-75.369932', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3445, 'Tylersport', 2818, '18971', '215', '40.3552', '-75.3788', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3446, 'Wycombe', 2818, '18980', '215', '40.275699', '-75.007882', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3447, 'Glen Rdl Lima', 2818, '19037', '610', '39.9164', '-75.3884', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3448, 'Glen Riddle', 2818, '19037', '610', '39.9164', '-75.3884', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3449, 'Glen Riddle Lima', 2818, '19037', '610', '39.9164', '-75.3884', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3450, 'Lima', 2818, '19037', '610', '39.9164', '-75.3884', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3451, 'Gradyville', 2818, '19039', '610', '39.9433', '-75.4694', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3452, 'Wyalusing', 2818, '18853', '570', '41.696766', '-76.297897', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3453, 'Cheltenham', 2818, '19012', '215', '40.058521', '-75.104785', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3454, 'Aston', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3455, 'Bridgewater Farms', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3456, 'Chester', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3457, 'Chichester', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3458, 'Green Ridge', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3459, 'Twin Oaks', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3460, 'Upper Chichester', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3461, 'Philadelphia', 2818, '19183', '215', '39.9525', '-75.1645', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3462, 'Phila', 2818, '19119', '215', '40.052659', '-75.189469', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3463, 'Philadelphia', 2818, '19119', '215', '40.052659', '-75.189469', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3464, 'Phila', 2818, '19132', '215', '39.996464', '-75.172406', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3465, 'Philadelphia', 2818, '19132', '215', '39.996464', '-75.172406', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3466, 'Bywood', 2818, '19082', '610', '39.959612', '-75.272442', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3467, 'Highland Park', 2818, '19082', '610', '39.959612', '-75.272442', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3468, 'Kirklyn', 2818, '19082', '610', '39.959612', '-75.272442', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3469, 'Millbourne', 2818, '19082', '610', '39.959612', '-75.272442', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3470, 'Upper Darby', 2818, '19082', '610', '39.959612', '-75.272442', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3471, 'Churchville', 2818, '18966', '215', '40.187268', '-75.005654', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3472, 'Holland', 2818, '18966', '215', '40.187268', '-75.005654', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3473, 'Southampton', 2818, '18966', '215', '40.187268', '-75.005654', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3474, 'Folcroft', 2818, '19032', '610', '39.891452', '-75.276372', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3475, 'Folsom', 2818, '19033', '610', '39.890142', '-75.3273', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3476, 'Milmont Park', 2818, '19033', '610', '39.890142', '-75.3273', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3477, 'Lenni', 2818, '19052', '610', '39.8938', '-75.4484', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3478, 'Burlingtn Twp', 2818, '18848', '570', '41.732545', '-76.459705', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3479, 'Burlington Township', 2818, '18848', '570', '41.732545', '-76.459705', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3480, 'Towanda', 2818, '18848', '570', '41.732545', '-76.459705', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3481, 'Ulster', 2818, '18850', '570', '41.858991', '-76.45271', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3482, 'Warren Center', 2818, '18851', '570', '41.94461', '-76.2001', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3483, 'Brookhaven', 2818, '19015', '610', '39.868714', '-75.391458', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3484, 'Chester', 2818, '19015', '610', '39.868714', '-75.391458', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3485, 'Parkside Manor', 2818, '19015', '610', '39.868714', '-75.391458', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3486, 'Upland', 2818, '19015', '610', '39.868714', '-75.391458', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3487, 'Chester', 2818, '19016', '610', '39.8495', '-75.3563', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3488, 'Wilkes Barre', 2818, '18701', '570', '41.243768', '-75.885129', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3489, 'Glen Lyon', 2818, '18617', '570', '41.177168', '-76.080717', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3490, 'E Smithfield', 2818, '18817', '570', '41.85899', '-76.613876', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3491, 'East Smithfield', 2818, '18817', '570', '41.85899', '-76.613876', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3492, 'Bethany', 2818, '18431', '570', '41.629253', '-75.237366', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3493, 'Honesdale', 2818, '18431', '570', '41.629253', '-75.237366', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3494, 'Orson', 2818, '18449', '570', '41.8139', '-75.4485', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3495, 'Nanticoke', 2818, '18634', '570', '41.199634', '-76.033302', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3496, 'West Nanticoke', 2818, '18634', '570', '41.199634', '-76.033302', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3497, 'Pocono Lake', 2818, '18347', '570', '41.118635', '-75.56007', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3498, 'Pocono Manor', 2818, '18349', '570', '41.100092', '-75.365932', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3499, 'Pocono Pines', 2818, '18350', '570', '41.115896', '-75.454821', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3500, 'Thompson', 2818, '18465', '570', '41.831602', '-75.550134', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3501, 'Coolbaugh Township', 2818, '18466', '570', '41.185306', '-75.452974', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3502, 'Coolbaugh Twp', 2818, '18466', '570', '41.185306', '-75.452974', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3503, 'Tobyhanna', 2818, '18466', '570', '41.185306', '-75.452974', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3504, 'Emmaus', 2818, '18098', '610', '40.5396', '-75.4972', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3505, 'Rodale Press', 2818, '18098', '610', '40.5396', '-75.4972', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3506, 'Emmaus', 2818, '18099', '610', '40.5396', '-75.4972', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3507, 'Rodale Press', 2818, '18099', '610', '40.5396', '-75.4972', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3508, 'Rodale Press Brm', 2818, '18099', '610', '40.5396', '-75.4972', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3509, 'Summit Hill', 2818, '18250', '570', '40.824714', '-75.845937', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3510, 'Equinunk', 2818, '18417', '570', '41.80409', '-75.181244', '2018-11-29 04:49:49', '2018-11-29 04:49:49');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(3511, 'Aquashicola', 2818, '18012', '610', '40.81278', '-75.592526', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3512, 'Emmaus', 2818, '18049', '610', '40.520403', '-75.498991', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3513, 'Port Carbon', 2818, '17965', '570', '40.697348', '-76.166468', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3514, 'Schoentown', 2818, '17965', '570', '40.697348', '-76.166468', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3515, 'Pilgrim Gdns', 2818, '19026', '610', '39.948518', '-75.306221', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3516, 'Norwood', 2818, '19074', '610', '39.887477', '-75.296422', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3517, 'Oreland', 2818, '19075', '215', '40.11291', '-75.187372', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3518, 'Hartsville', 2818, '18974', '215', '40.215802', '-75.072952', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3519, 'Ivyland', 2818, '18974', '215', '40.215802', '-75.072952', '2018-11-29 04:49:49', '2018-11-29 04:49:49'),\n(3520, 'Warminster', 2818, '18974', '215', '40.215802', '-75.072952', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3521, 'Warwick', 2818, '18974', '215', '40.215802', '-75.072952', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3522, 'Warrington', 2818, '18976', '215', '40.249212', '-75.144388', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3523, 'Hatboro', 2818, '19040', '215', '40.183314', '-75.106032', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3524, 'Uppr Moreland', 2818, '19040', '215', '40.183314', '-75.106032', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3525, 'Haverford', 2818, '19041', '610', '40.007314', '-75.317951', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3526, 'Jackson', 2818, '18825', '570', '41.865859', '-75.60639', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3527, 'Bedminster', 2818, '18910', '215', '40.4255', '-75.1794', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3528, 'Bristol', 2818, '19007', '215', '40.116456', '-74.843662', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3529, 'Edgely', 2818, '19007', '215', '40.116456', '-74.843662', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3530, 'Tullytown', 2818, '19007', '215', '40.116456', '-74.843662', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3531, 'West Bristol', 2818, '19007', '215', '40.116456', '-74.843662', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3532, 'Sweet Valley', 2818, '18656', '570', '41.319901', '-76.161988', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3533, 'Forkston Township', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3534, 'Forkston Twp', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3535, 'Mehoopany Township', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3536, 'Mehoopany Twp', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3537, 'Monroe Township', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3538, 'Monroe Twp', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3539, 'Tunkhannock', 2818, '18657', '570', '41.517771', '-75.942076', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3540, 'Lake Winola', 2818, '18625', '570', '41.505668', '-75.85788', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3541, 'Laporte', 2818, '18626', '570', '41.432481', '-76.502998', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3542, 'Ft Washington', 2818, '19034', '215', '40.135806', '-75.20648', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3543, 'Upper Dublin', 2818, '19034', '215', '40.135806', '-75.20648', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3544, 'Gladwyne', 2818, '19035', '610', '40.046586', '-75.280938', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3545, 'E Lansdowne', 2818, '19050', '610', '39.936266', '-75.262277', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3546, 'East Lansdowne', 2818, '19050', '610', '39.936266', '-75.262277', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3547, 'Fernwood', 2818, '19050', '610', '39.936266', '-75.262277', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3548, 'Lansdowne', 2818, '19050', '610', '39.936266', '-75.262277', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3549, 'Yeadon', 2818, '19050', '610', '39.936266', '-75.262277', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3550, 'Milan', 2818, '18831', '570', '41.879524', '-76.526419', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3551, 'Doylestown', 2818, '18901', '215', '40.306126', '-75.147046', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3552, 'New Britain', 2818, '18901', '215', '40.306126', '-75.147046', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3553, 'Ambler', 2818, '19002', '215', '40.184312', '-75.215612', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3554, 'Broad Axe', 2818, '19002', '215', '40.184312', '-75.215612', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3555, 'Lower Gwynedd', 2818, '19002', '215', '40.184312', '-75.215612', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3556, 'Maple Glen', 2818, '19002', '215', '40.184312', '-75.215612', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3557, 'Prospectville', 2818, '19002', '215', '40.184312', '-75.215612', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3558, 'Dushore', 2818, '18614', '570', '41.495901', '-76.413166', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3559, 'Forkston Township', 2818, '18614', '570', '41.495901', '-76.413166', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3560, 'Forkston Twp', 2818, '18614', '570', '41.495901', '-76.413166', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3561, 'Wilmot Township', 2818, '18614', '570', '41.495901', '-76.413166', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3562, 'Wilmot Twp', 2818, '18614', '570', '41.495901', '-76.413166', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3563, 'Falls', 2818, '18615', '570', '41.477763', '-75.848388', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3564, 'Wilkes Barre', 2818, '18766', '570', '41.2476', '-75.8796', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3565, 'Wilkes University', 2818, '18766', '570', '41.2476', '-75.8796', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3566, 'Social Security Admin', 2818, '18767', '570', '41.2486', '-75.8756', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3567, 'Social Security Admin Brm', 2818, '18767', '570', '41.2486', '-75.8756', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3568, 'Wilkes Barre', 2818, '18767', '570', '41.2486', '-75.8756', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3569, 'West Chester', 2818, '19383', '610', '39.936882', '-75.609213', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3570, 'West Chester University', 2818, '19383', '610', '39.936882', '-75.609213', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3571, 'Southeastern', 2818, '19399', '610', '39.9833', '-75.5125', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3572, 'Black Horse', 2818, '19401', '610', '40.131126', '-75.33164', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3573, 'East Norriton', 2818, '19401', '610', '40.131126', '-75.33164', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3574, 'Jeffersonville', 2818, '19401', '610', '40.131126', '-75.33164', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3575, 'Norristown', 2818, '19401', '610', '40.131126', '-75.33164', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3576, 'Lederach', 2818, '19450', '215', '40.2619', '-75.4067', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3577, 'Cheyney', 2818, '19319', '610', '39.924253', '-75.520178', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3578, 'Downingtown', 2818, '19335', '610', '40.031224', '-75.72096', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3579, 'West Bradford', 2818, '19335', '610', '40.031224', '-75.72096', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3580, 'Landenberg', 2818, '19350', '610', '39.77088', '-75.800302', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3581, 'Pomeroy', 2818, '19367', '610', '39.962438', '-75.883672', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3582, 'Sadsburyville', 2818, '19369', '610', '39.984089', '-75.885594', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3583, 'Philadelphia', 2818, '19099', '215', '39.9524', '-75.1642', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3584, 'Philadelphia Ndc', 2818, '19099', '215', '39.9524', '-75.1642', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3585, 'Phila', 2818, '19149', '215', '40.038309', '-75.068379', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3586, 'Philadelphia', 2818, '19149', '215', '40.038309', '-75.068379', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3587, 'Colonial Penn (Brm)', 2818, '19183', '215', '39.9525', '-75.1645', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3588, 'Phila', 2818, '19183', '215', '39.9525', '-75.1645', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3589, 'Villa Hilda', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3590, 'Villas De Buenaventura', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3591, 'Yabucoa', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3592, 'URB Las Antillas', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3593, 'URB Las Mercedes', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3594, 'URB Marbella', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3595, 'URB Monserrate', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3596, 'URB Salimar', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3597, 'Villa Cofresi', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3598, 'Villa Natalia', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3599, 'Brisas De Ceiba', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3600, 'Ceiba', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3601, 'Ext Villa Del Pilar', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3602, 'Jard Avila', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3603, 'Jard De Ceiba', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3604, 'Jard De Ceiba Ii', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3605, 'Parc Calderonas', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3606, 'Parc Calderonas Nuevas', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3607, 'Paseo De La Costa', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3608, 'Paseos De Ceiba', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3609, 'Res La Ceiba', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3610, 'Roosevelt Rds', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3611, 'Roosevelt Roads', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3612, 'URB Celina', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3613, 'URB Roosevelt Gdns', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3614, 'Mans De Monte Sereno', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3615, 'Paseo De Las Flores', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3616, 'Paseo De San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3617, 'San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3618, 'URB Los Caminos', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3619, 'URB Los Flamboyanes', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3620, 'URB Masso', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3621, 'URB Monte Rey', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3622, 'URB Munoz Marin', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3623, 'URB Portal Del Sol', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3624, 'URB San Lorenzo Valley', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3625, 'URB Santa Clara', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3626, 'URB Savannah Real', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3627, 'URB Tamarindo 1', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3628, 'Villas Del Hato', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3629, 'Vistas De San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3630, 'Alt Rio Grande', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3631, 'Bda Shangai', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3632, 'Hacienda Las Garzas', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3633, 'Jard Rio Grande', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3634, 'Parc La Dolores', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3635, 'Repto Costa Del Sol', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3636, 'Rio Grande', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3637, 'Trump Founders Rsdncs', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3638, 'URB Cambalache I', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3639, 'URB Cambalache Ii', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:50', '2018-11-29 04:49:50'),\n(3640, 'URB Coco Beach', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3641, 'URB Galateo', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3642, 'URB Jose H Ramirez', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3643, 'URB Jose Ph Hernandez', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3644, 'URB Los Arboles', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3645, 'URB Los Maestros', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3646, 'URB Pedregales', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3647, 'URB Ponderosa', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3648, 'URB Rio Grande Est', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3649, 'URB Rio Grande Hls', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3650, 'URB Sra Del Carmen', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3651, 'Villa Realidad', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3652, 'Villa Vizcay', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3653, 'Villas De Rio Grande', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3654, 'Vistas De Rio Grande I', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3655, 'Vistas De Rio Grande Ii', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3656, 'Vistas Del Mar', 2819, '00745', '787', '18.34505', '-65.832284', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3657, 'Alts De Monte Brisas', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3658, 'Alts De San Pedro', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3659, 'Bda Obrera', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3660, 'Bda Roosevelt', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3661, 'Bo Jerusalem', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3662, 'Bo Proyecto Fema', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3663, 'Bo Proyecto Veve Calzada 3', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3664, 'Bo Vega Baja', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3665, 'Ext Melendez', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3666, 'Ext Veve Calzada', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3667, 'Fajardo', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3668, 'Jard De Monte Brisas', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3669, 'La Costa Apts', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3670, 'Mans Punta Del Este', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3671, 'Qtas De Fajardo', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3672, 'Terr Demajagua', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3673, 'URB Royal Palm', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3674, 'URB Royal Town', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3675, 'URB Santa Juanita', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3676, 'URB Sunny Hls', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3677, 'Valle Bello Chalets', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3678, 'Villa Contessa', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3679, 'Villas De Buena Vista', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3680, 'Villas De Santa Juanita', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3681, 'Villas Del Caribe', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3682, 'Vista Bella', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3683, '65th Infantry', 2819, '00929', '787', '18.4683', '-66.1061', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3684, 'Rio Piedras', 2819, '00929', '787', '18.4683', '-66.1061', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3685, 'San Juan', 2819, '00929', '787', '18.4683', '-66.1061', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3686, 'Pta De Tierra', 2819, '00906', '787', '18.46462', '-66.10078', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3687, 'Puerta De Tierra', 2819, '00906', '787', '18.46462', '-66.10078', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3688, 'San Juan', 2819, '00906', '787', '18.46462', '-66.10078', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3689, 'URB La Arboleda', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3690, 'URB Las Aguilas', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3691, 'URB Las Fuentes De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3692, 'URB Monte Flores', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3693, 'Cayey', 2819, '00737', '787', '18.1138', '-66.1667', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3694, 'Aibonito', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3695, 'Bda San Luis', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3696, 'Bo Llanos', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3697, 'Brisas De Aibonito', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3698, 'Colinas De San Francisco', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3699, 'Est Del Llano', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3700, 'Ext Bella Vista', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3701, 'Ext San Luis', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3702, 'Ext Villa Rosales', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3703, 'Repto Robles', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3704, 'URB Bella Vista', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3705, 'URB Buena Vista', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3706, 'URB Golden Vlg Iv', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3707, 'URB La Providencia', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3708, 'Villa De La Rosa', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3709, 'Villa Rosales', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3710, 'Villas Del Coqui', 2819, '00705', '787', '18.135403', '-66.260518', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3711, 'Arroyo', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3712, 'Brisas Del Mar', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3713, 'Ext Jard De Arroyo', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3714, 'Jard De Arroyo', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3715, 'Jard De Lafayette', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3716, 'Parq De Guasimas', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3717, 'Qtas De Guasima', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3718, 'Repto Bello Mar', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3719, 'URB Arroyo Del Mar', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3720, 'URB Belinda', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3721, 'URB Las 500', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3722, 'Jard De Naranjito', 2819, '00719', '787', '18.278197', '-66.248617', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3723, 'Naranjito', 2819, '00719', '787', '18.278197', '-66.248617', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3724, 'Palmer', 2819, '00721', '787', '18.3018', '-66.08', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3725, 'URB Monte Real', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3726, 'URB Paraiso De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3727, 'URB Provincias Del Rio 1', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3728, 'URB Provincias Del Rio 2', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3729, 'URB San Antonio', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3730, 'URB Vistamar', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3731, 'Valle Arriba', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3732, 'Valle Escondido', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3733, 'Villa Cristina', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3734, 'Villa Madrid', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3735, 'Villa Santa Catalina', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3736, 'Villa Tropical', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3737, 'Vista Del Sol', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3738, 'Vistas De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3739, 'Bo Verdum', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3740, 'Brisas Del Lago', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3741, 'Brisas Del Laurel', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3742, 'Coto Laurel', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3743, 'Est Del Laurel', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3744, 'Ext Lago Horizonte', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3745, 'Haciendas Del Monte', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3746, 'Mans Del Sur', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3747, 'Mans Real', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3748, 'Ponce', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3749, 'URB El Laurel', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3750, 'URB Lago Horizonte', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3751, 'URB Laurel Sur', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3752, 'URB Llanos Del Sur', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3753, 'URB Santa Rita', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3754, 'URB Santa Rita 2', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:51', '2018-11-29 04:49:51'),\n(3755, 'URB Santa Rita 3', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3756, 'URB Sombras Del Real', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3757, 'Villas Del Laurel 1', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3758, 'Villas Del Laurel 2', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3759, 'Villas Del Turey', 2819, '00780', '787', '18.071098', '-66.562869', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3760, 'Alts De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3761, 'Bda San Antonio', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3762, 'Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3763, 'Est De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3764, 'Est De Hucar', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3765, 'Ext Jard De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3766, 'Hacienda Miraflores', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3767, 'Haciendas Monterrey', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3768, 'Jard De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3769, 'Jard De Santa Ana', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3770, 'Mans De Coamo', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3771, 'Parc Niagara', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3772, 'Paseo Real', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3773, 'URB Bella Vista Est', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3774, 'URB Coamo Gdns', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3775, 'URB El Bosque', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3776, 'URB El Eden', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3777, 'URB El Mirador', 2819, '00769', '787', '18.096036', '-66.351012', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3778, 'Jard De Loiza', 2819, '00772', '787', '18.419378', '-65.910867', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3779, 'Loiza', 2819, '00772', '787', '18.419378', '-65.910867', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3780, 'Sect Villa Canona', 2819, '00772', '787', '18.419378', '-65.910867', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3781, 'URB Santiago', 2819, '00772', '787', '18.419378', '-65.910867', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3782, 'Vistas Del Oceano', 2819, '00772', '787', '18.419378', '-65.910867', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3783, 'Bo Mogote', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3784, 'Bo Montellano', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3785, 'Bo Vegas', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3786, 'Cayey', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3787, 'Chalets Las Muesas', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3788, 'Colinas De Cayey', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3789, 'Colinas View', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3790, 'Comunidad San Tomas', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3791, 'Est De Las Brumas', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3792, 'Est De Monte Rio', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3793, 'Hacienda Vistas Del Plata', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3794, 'Jard De Cayey', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3795, 'Jard Del Caribe', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3796, 'Mans De Los Cedros', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3797, 'Mans Monte Verde', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3798, 'Parc El Polvorin', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3799, 'Paseo De Las Brumas', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3800, 'Repto Ana Luisa', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3801, 'Repto Montellano', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3802, 'Sect Sanchez', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3803, 'URB Aponte', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3804, 'URB Bosch', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3805, 'URB Carrasquillo', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3806, 'URB El Remanso', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3807, 'URB El Rocio', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3808, 'URB El Torito', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3809, 'URB Fullana', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3810, 'URB La Planicie', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3811, 'URB La Plata', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3812, 'URB Las Muesas', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3813, 'Alts De Bayamon', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3814, 'Bayamon', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3815, 'Bosque De Las Flores', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3816, 'Bosque De Las Palmas', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3817, '65th Infantry', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3818, 'Barrio Obrero', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3819, 'Caparra', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3820, 'Cupey', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3821, 'Gpo', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3822, 'Loiza Street', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3823, 'Minillas', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3824, 'Old San Juan', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3825, 'Rio Piedras', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3826, 'San Jose', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3827, 'San Juan', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3828, 'Santurce', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3829, 'Santurce Station', 2819, '00936', '787', '18.4683', '-66.1061', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3830, 'Minillas', 2819, '00940', '787', '18.466229', '-66.105735', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3831, 'San Juan', 2819, '00940', '787', '18.466229', '-66.105735', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3832, 'Santurce', 2819, '00940', '787', '18.466229', '-66.105735', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3833, 'Bosque De Los Pinos', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3834, 'Ciudad Interamericana', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3835, 'Est Del Bosque', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3836, 'Ext Campo Alegre', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3837, 'Ext Oller', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3838, 'Ext Santa Juanita', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3839, 'Ext Vista Bella', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3840, 'Haciendas El Zorzal', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3841, 'Jard De Bayamonte', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3842, 'Lomas Verdes', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3843, 'Mans De Sierra Taina', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3844, 'URB Agustin Stahl', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3845, 'URB Bayamon Hls', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3846, 'URB Campo Alegre', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3847, 'URB Country Est', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3848, 'URB El Cortijo', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3849, 'URB Forest View', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3850, 'URB Francisco Oller', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3851, 'URB Golden Hls', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3852, 'URB Irlanda Hts', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3853, 'URB Lomas Verde', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3854, 'URB Los Faroles', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3855, 'URB Magnolia Gdns', 2819, '00956', '787', '18.323022', '-66.172992', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3856, 'URB Las Marias', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3857, 'URB Las Quintas', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3858, 'URB Los Reyes', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3859, 'URB Monte Sol', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3860, 'URB Palacios Del Prado', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3861, 'URB San Martin', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3862, 'URB San Martin Ii', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3863, 'URB Tomas Carrion Maduro', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3864, 'Valle Hucares', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3865, 'Valle Serreno', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3866, 'Villa El Encanto', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3867, 'Villa Norma', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3868, 'Villas Del Sol', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3869, 'Bda Vietnam', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3870, 'Bo Juana Matos', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3871, 'Bo Palmas', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3872, 'Catano', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:52', '2018-11-29 04:49:52'),\n(3873, 'Jard De Catano I', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3874, 'Jard De Catano Ii', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3875, 'Parc William Fuertes', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3876, 'Repto Paraiso', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3877, 'Sect La Puntilla', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3878, 'URB Bahia', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3879, 'URB Bajo Costo', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3880, 'URB Bay View', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3881, 'URB Catano Pueblo', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3882, 'URB El Coqui 2', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3883, 'URB Las Vegas', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3884, 'URB Marina Bahia', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3885, 'URB Proyecto 141', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3886, 'Villa Aurora', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3887, 'Vista Del Morro', 2819, '00962', '787', '18.441765', '-66.140217', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3888, 'San Juan', 2819, '00939', '787', '18.4683', '-66.1061', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3889, 'Unique Brm', 2819, '00939', '787', '18.4683', '-66.1061', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3890, 'Rio Piedras', 2819, '00930', '787', '18.45', '-66.06', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3891, 'San Jose', 2819, '00930', '787', '18.45', '-66.06', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3892, 'San Juan', 2819, '00930', '787', '18.45', '-66.06', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3893, 'Loiza Street', 2819, '00914', '787', '18.4683', '-66.1061', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3894, 'San Juan', 2819, '00914', '787', '18.4683', '-66.1061', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3895, 'Santurce', 2819, '00914', '787', '18.4683', '-66.1061', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3896, 'Saint Just', 2819, '00978', '787', '18.3703', '-66.0123', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3897, 'Jard De Escorial', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3898, 'Jard De La Fuente', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3899, 'Jard De Mediterraneo', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3900, 'Jard De Toa Alta', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3901, 'Mans De Montecasino I', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3902, 'Mans De Montecasino Ii', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3903, 'Mans Del Toa', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3904, 'Praderas Del Rio', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3905, 'Qtas De Plaza Aquarium', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3906, 'Repto San Jose', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3907, 'Sect Los Rodriguez', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3908, 'Terr Del Toa', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3909, 'Toa Alta', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3910, 'URB Casitas De La Fuente', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3911, 'URB Fuentebella', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3912, 'URB La Providencia', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3913, 'URB Las Cascadas', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3914, 'URB Los Arboles', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3915, 'URB Madelaine', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3916, 'URB Monte Lago Est', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3917, 'URB Monte Sol', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3918, 'URB Monte Verde', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3919, 'URB Montecasino', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3920, 'URB Montecasino Hts', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3921, 'URB Palacio Imperial', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3922, 'URB Palacios De Marbella', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3923, 'URB Palacios De Versalles', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3924, 'URB Palacios Del Monte', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3925, 'URB Palacios Del Rio I', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3926, 'URB Palacios Del Rio Ii', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3927, 'URB Palacios Reales', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3928, 'URB Plaza De La Fuente', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3929, 'URB Portobello', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3930, 'URB San Fernando', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(3931, 'URB Toa Alta Hts', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3932, 'URB Toalinda', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3933, 'URB Town Hls', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3934, 'URB Veredas Del Rio Ii', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3935, 'URB Woodbridge Pk', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3936, 'Valle Del Paraiso', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3937, 'Villa Del Monte', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3938, 'Carolina', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3939, 'Isla Verde', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3940, 'Jard De Country Club', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3941, 'La Ceramica Ind Park', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3942, 'Mans De Vistamar Marina', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3943, 'URB Bahia Vistamar', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3944, 'URB Castellana Gdn', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3945, 'URB Eduardo J Saldana', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3946, 'URB Sabana Gdns', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3947, 'URB Vistamar', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3948, 'URB Vistamar Marina', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3949, 'Valle Arriba Hts', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3950, 'Villa Asturias', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3951, 'Villa Fontana', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3952, 'Villa Fontana Pk', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3953, 'Villa Venecia', 2819, '00983', '787', '18.415614', '-65.977729', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3954, 'Carolina', 2819, '00984', '787', '18.3828', '-65.9578', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3955, 'Alt De Torrimar Este', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3956, 'Bosque De Los Frailes', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3957, 'Chalets De Altavista', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3958, 'Chalets De Santa Clara', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3959, 'Colinas De Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3960, 'Colinas De Parkville', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3961, 'Colinas Metropolitana', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3962, 'Est Del Parque', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3963, 'Est Reales', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3964, 'Ext Parkville', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3965, 'Ext Santa Paula', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3966, 'Ext Terrs De Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3967, 'Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3968, 'Mans De Alejandrino', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3969, 'Mans De Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3970, 'Mans De Santa Paula', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3971, 'Mans Reales', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3972, 'Parq De Bucare', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3973, 'Parq De Bucare Ii', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3974, 'Parq San Ramon', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3975, 'Parq Torremolinos', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3976, 'Qtas Reales', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3977, 'Repto La Esperanza', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3978, 'Terrs De Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3979, 'URB Alto Apolo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3980, 'URB Alto Apolo States', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3981, 'URB Apolo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3982, 'URB Baldwin Mansions', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3983, 'URB Baldwin Park', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3984, 'URB Bellomonte', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3985, 'URB Bucare', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3986, 'URB Bucare Gdns', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3987, 'URB Cerro Real', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3988, 'URB Colimar', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3989, 'URB Collegeville', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:53', '2018-11-29 04:49:53'),\n(3990, 'URB El Alamo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3991, 'URB El Jard De Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3992, 'URB El Palmar De Torrimar', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3993, 'URB Frailes Sur', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3994, 'URB Highland Gdns', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3995, 'URB Juan Ponce De Leon', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3996, 'URB La Colina', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3997, 'URB La Lomita', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3998, 'URB La Villa De Torrimar', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(3999, 'URB Los Frailes Sur', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4000, 'URB Mallorca', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4001, 'URB Monte Alvernia', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4002, 'URB Monte Olimpo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4003, 'URB Munoz Rivera', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4004, 'URB Oasis Gdns', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4005, 'URB Palma Real', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4006, 'URB Parkville', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4007, 'URB Pineiro', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4008, 'URB Ponce De Leon', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4009, 'URB San Francisco Javier', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4010, 'URB San Ramon', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4011, 'URB Santa Clara', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4012, 'URB Santa Paula', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4013, 'URB Sierra Berdecia', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4014, 'URB Terranova', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4015, 'URB Tierra Alta I', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4016, 'URB Tierra Alta Ii', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4017, 'URB Tierra Alta Iii', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4018, 'URB Torremolinos', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4019, 'URB Torrimar Est', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4020, 'Villa Avila', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4021, 'Villa Clementina', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4022, 'Villa Lissette', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4023, 'Villas Del Parque', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4024, 'Villas Reales', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4025, 'Vistas De Guaynabo', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4026, 'Alt De San Patricio', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4027, 'Fort Buchanan', 2819, '00934', '787', '18.412973', '-66.119834', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4028, 'URB Coconut Grove', 2819, '00934', '787', '18.412973', '-66.119834', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4029, 'URB Coqui Gdns', 2819, '00934', '787', '18.412973', '-66.119834', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4030, 'URB Las Colinas', 2819, '00934', '787', '18.412973', '-66.119834', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4031, 'Centro Medico Metropolitano', 2819, '00935', '787', '18.4683', '-66.1061', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4032, 'Trujillo Alto', 2819, '00977', '787', '18.3569', '-66.0076', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4033, 'Bda Villamil', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4034, 'Ext Santa Maria', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4035, 'Jard De Vedruna', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4036, 'Jard Metropolitano', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4037, 'Parq De Santa Maria', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4038, 'Rio Piedras', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4039, 'San Juan', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4040, 'URB Antonsanti', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4041, 'URB Belisa', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4042, 'URB Caribe', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4043, 'URB Hyde Pk', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4044, 'URB San Francisco', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4045, 'URB San Ignacio', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4046, 'URB Santa Ana', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4047, 'URB Santa Maria', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4048, 'Bda Blondet', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4049, 'Rio Piedras', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4050, 'San Juan', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4051, 'University Station', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4052, 'URB Cabrera', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4053, 'URB Gonzalez', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4054, 'URB Santa Rita', 2819, '00925', '787', '18.403282', '-66.047812', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4055, 'URB University Gdns', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4056, 'Villa Los Olmos', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4057, 'Villa Nevarez', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4058, 'Villas De Palma Real', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4059, 'Villas De San Francisco', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4060, 'Villas De San Ignacio', 2819, '00927', '787', '18.38759', '-66.072006', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4061, 'URB Los Rosales', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4062, 'URB Los Sauces', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4063, 'URB Mabu', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4064, 'URB Miradero', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4065, 'URB Palmanova', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4066, 'URB Palmas Plantation', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4067, 'URB Palmas Reales', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4068, 'URB Pereyo', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4069, 'URB Rivera Donato', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4070, 'URB San Antonio', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4071, 'URB San Francisco', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4072, 'URB Sunrise', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4073, 'Villa Franca 2', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4074, 'Villa Humacao', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4075, 'Bda Figueroa', 2819, '00907', '787', '18.451852', '-66.084976', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4076, 'Condado', 2819, '00907', '787', '18.451852', '-66.084976', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4077, 'Miramar', 2819, '00907', '787', '18.451852', '-66.084976', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4078, 'San Juan', 2819, '00907', '787', '18.451852', '-66.084976', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4079, 'Santurce', 2819, '00907', '787', '18.451852', '-66.084976', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4080, 'San Juan', 2819, '00908', '787', '18.4683', '-66.1061', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4081, 'Santurce', 2819, '00908', '787', '18.4683', '-66.1061', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4082, 'Santurce Station', 2819, '00908', '787', '18.4683', '-66.1061', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4083, 'Fdez Juncos', 2819, '00909', '787', '18.441112', '-66.066068', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4084, 'Fernandez Juncos', 2819, '00909', '787', '18.441112', '-66.066068', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4085, 'Minillas', 2819, '00909', '787', '18.441112', '-66.066068', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4086, 'San Juan', 2819, '00909', '787', '18.441112', '-66.066068', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4087, 'Santurce', 2819, '00909', '787', '18.441112', '-66.066068', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4088, 'URB Hipodromo', 2819, '00909', '787', '18.441112', '-66.066068', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4089, 'Villa Oriente', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4090, 'Villa Universitaria', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4091, 'Villas De Candelero', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4092, 'Villas Del Rio', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4093, 'Vista Alegre', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4094, 'Vista Hermosa', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4095, 'Humacao', 2819, '00792', '787', '18.1519', '-65.8279', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4096, 'URB El Encanto', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4097, 'URB La Ceiba', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4098, 'URB Lirios', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4099, 'URB Lirios Cala', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4100, 'URB Lirios Cala Ii', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4101, 'URB Loma Alta', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4102, 'URB Los Almendros', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4103, 'Alt De Flamboyan', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4104, 'Alt Del Rio', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4105, 'Bayamon', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4106, 'Bda Pesquera', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4107, 'Bo Cerro Gordo', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:54', '2018-11-29 04:49:54'),\n(4108, 'Bo Hato Tejas', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4109, 'Colinas Vista Alegre', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4110, 'Ext Forest Hls', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4111, 'Ext Hnas Davila', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4112, 'Ext La Milagrosa', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4113, 'Ext Villa Rica', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4114, 'Ind Minillas', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4115, 'Jard De Caparra', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4116, 'Parc Juan Sanchez', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4117, 'Parq De Torrimar', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4118, 'Parq Flamingo', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4119, 'Parq San Miguel', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4120, 'Parq Valencia', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4121, 'Qtas De Flamingo', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4122, 'Qtas Del Norte', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4123, 'Repto Davila', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4124, 'Repto Flamingo', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4125, 'Repto Rivera', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4126, 'Repto Valencia', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4127, 'URB Altos De Torrimar', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4128, 'URB Braulio Dueno', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4129, 'URB Casa Linda Ct', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4130, 'URB Flamboyan Gdns', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4131, 'URB Forest Hls', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4132, 'URB Hnas Davila', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4133, 'URB La Milagrosa', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4134, 'URB Las Americas', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4135, 'URB Riberas Del Rio', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4136, 'URB San Rafael Est', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4137, 'URB San Rafael Est Ii', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4138, 'URB Santa Rosa', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4139, 'URB Tortuguero', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4140, 'URB Versalles', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4141, 'URB Victoria Hts', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4142, 'Villa Betania', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4143, 'Villa De San Agustin', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4144, 'Villa Del Rio Bayamon', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4145, 'Villa Rica', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4146, 'Villa Verde', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4147, 'Villas De Caparra', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4148, 'Villas De San Miguel', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4149, 'Vista Alegre', 2819, '00959', '787', '18.392506', '-66.158212', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4150, 'URB Hollywood Est', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4151, 'URB Horizons', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4152, 'URB Hucares', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4153, 'URB La Alameda', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4154, 'URB La Alborada', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4155, 'URB La Campina', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4156, 'URB La Cumbre', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4157, 'URB La Sierra Alta', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4158, 'URB La Utt', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4159, 'URB Laderas De Palma Real', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4160, 'URB Laderas De San Juan', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4161, 'URB Las Rosas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4162, 'URB Litheda Hts', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4163, 'URB Los Adoquines', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4164, 'URB Los Campos Montehiedra', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4165, 'URB Los Cantizales', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4166, 'URB Luna Llena', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4167, 'URB Milaville', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4168, 'URB Mirador De Borinquen Gdn', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4169, 'URB Monte Apolo Est', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4170, 'URB Monte Verde Real', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4171, 'URB Montehiedra', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4172, 'URB Monterey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4173, 'URB Monteverde', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4174, 'URB Park Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4175, 'URB Park Gdns Townhouses', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4176, 'URB Portal De Los Pinos', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4177, 'URB Purple Tree', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4178, 'URB Riberas Del Senorial', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4179, 'URB Rio Piedras Hts', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4180, 'URB Rivieras De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4181, 'URB Romany Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4182, 'URB Romany Pk', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4183, 'URB Romany Pk Ii', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4184, 'URB Roseville', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4185, 'URB Sagrado Corazon', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4186, 'URB San Agustin', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4187, 'URB San Gerardo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4188, 'URB San Jose Ind', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4189, 'URB San Juan Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4190, 'URB Senderos En Montehiedra', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4191, 'URB Tulipan', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4192, 'URB Venus Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4193, 'URB Venus Gdns Norte', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4194, 'URB Venus Gdns Oeste', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4195, 'Valle Sereno', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4196, 'Villa Andalucia', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4197, 'Alt De Villa Fontana', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4198, 'Carolina', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4199, 'Isla Verde', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4200, 'Qtas De Country Club', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4201, 'URB Country Club', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4202, 'URB El Comandante', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4203, 'Villa Flores', 2819, '00982', '787', '18.409908', '-65.997644', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4204, 'Mans Del Sol', 2819, '00952', '787', '18.428378', '-66.180376', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4205, 'Sabana Seca', 2819, '00952', '787', '18.428378', '-66.180376', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4206, 'Alts Del Olimpo', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4207, 'Bda Blondet', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4208, 'Bda Borinquen', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4209, 'Bda Marin', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4210, 'Bda Santa Ana', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4211, 'Bo Machete', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4212, 'Bo Olimpo', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4213, 'Brisas Del Mar', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4214, 'Brisas Del Mar Elderly', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4215, 'Chalets De Brisas Del Mar', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4216, 'Comunidad Miramar', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4217, 'Comunidad Puente Jobos', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4218, 'Comunidad San Martin', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4219, 'Guayama', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4220, 'Hacienda Guamani', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4221, 'Hacienda Jazmin', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4222, 'Hacienda Los Recreos', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4223, 'Jard De Guamani', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4224, 'Jard De Monte Olivo', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4225, 'Jardines De La Reina', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4226, 'Parc Nueva Olimpo', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:55', '2018-11-29 04:49:55'),\n(4227, 'Res Valles De Guayama', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4228, 'URB Algarrobos', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4229, 'URB Bello Horizonte', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4230, 'URB Camino De La Princesa', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4231, 'URB Caribe Mar', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4232, 'URB Costa Azul', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4233, 'URB Dorado', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4234, 'URB El Legado Golf Resort', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4235, 'URB Green Hls', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4236, 'URB Guayama Valley', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4237, 'URB La Hacienda', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4238, 'URB Rexmanor', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4239, 'URB Villamar', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4240, 'URB Vistamar', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4241, 'URB Vistamar 3', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4242, 'URB Vives', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4243, 'Valles De Guayama', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4244, 'Villa Rosa', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4245, 'Villa Rosa 1', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4246, 'Villa Rosa 2', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4247, 'Villa Rosa 3', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4248, 'Villa Universitaria', 2819, '00784', '787', '18.018004', '-66.133308', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4249, 'Alt De Villalba', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4250, 'Alts Del Alba', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4251, 'Bo Camarrones', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4252, 'Est De Mayoral', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4253, 'Portales Del Alba', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4254, 'URB La Vega', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4255, 'URB Las Alondras', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4256, 'URB Tierra Santa', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4257, 'Villa Alba', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4258, 'Villa Laura', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4259, 'Villalba', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4260, 'Vista Alegre', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4261, 'Vista Bella', 2819, '00766', '787', '18.13', '-66.474329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4262, 'Alts De Terralinda', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4263, 'Ext Villas De Buenaventura', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4264, 'Jard De Yabucoa', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4265, 'Repto Horizonte', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4266, 'URB Calvario', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4267, 'URB Jaime C Rodriguez', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4268, 'URB Los Angeles', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4269, 'URB Mendez', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4270, 'Bo Coco Nuevo', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4271, 'Bo Coco Viejo', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4272, 'Bo Playita', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4273, 'Bo Santa Ana I', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4274, 'Bo Santa Ana Ii', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4275, 'Bo Santa Ana Iii', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4276, 'Brisas De Evelymar', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4277, 'Est De Evelymar', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4278, 'Ext Carmen', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4279, 'Ext Monserrate', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4280, 'Jard De Salinas', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4281, 'Salinas', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4282, 'Sect Campito', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4283, 'URB Corales Del Mar', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4284, 'URB La Arboleda', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4285, 'URB La Carmen', 2819, '00751', '787', '18.002225', '-66.260518', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4286, 'URB Santa Elena', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4287, 'URB Santa Maria', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4288, 'Valles De Yabucoa', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4289, 'Villa El Recreo', 2819, '00767', '787', '18.068802', '-65.903106', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4290, 'Rio Piedras', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4291, 'San Juan', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4292, 'San Miguel Ind Park', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4293, 'URB Altamira', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4294, 'URB Caparra Hts', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4295, 'URB Puerto Nuevo', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4296, 'URB San Patricio', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4297, 'URB Summit Hls', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4298, 'Villa Borinquen', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4299, 'Loiza Street', 2819, '00911', '787', '18.451408', '-66.057889', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4300, 'San Juan', 2819, '00911', '787', '18.451408', '-66.057889', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4301, 'Santurce', 2819, '00911', '787', '18.451408', '-66.057889', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4302, 'Isla Verde', 2819, '00913', '787', '18.450365', '-66.044399', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4303, 'San Juan', 2819, '00913', '787', '18.450365', '-66.044399', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4304, 'Santurce', 2819, '00913', '787', '18.450365', '-66.044399', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4305, 'Bechara Ind Park', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4306, 'Caparra', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4307, 'Caparra Hills', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4308, 'Caparra Ter', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4309, 'Caparra Terrace', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4310, 'Mario Julia Ind Park', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4311, 'Monterrey Ind Park', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4312, 'Pto Nuevo', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4313, 'Puerto Nuevo', 2819, '00920', '787', '18.416061', '-66.089552', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4314, 'Alts Del Encanto', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4315, 'Brisas Del Sur', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4316, 'Brisas Del Valle', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4317, 'Colinas De San Martin', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4318, 'Colinas De Verde Azul', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4319, 'Colinas Del Prado', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4320, 'Est De Juana Diaz', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4321, 'Est Del Rio', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4322, 'Est El Guayabal', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4323, 'Ext Del Carmen', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4324, 'Ext Jacaguax', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4325, 'Ext Las Flores', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4326, 'Ext Las Marias', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4327, 'Hacienda Las Vegas', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4328, 'Jard De Santo Domingo', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4329, 'Juana Diaz', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4330, 'Mans En Paseo De Reyes', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4331, 'Paseo Del Parque', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4332, 'Paseo Sol Y Mar', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4333, 'Portal Del Valle', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4334, 'Qtas De Altamira', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4335, 'Sect Las Flores', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4336, 'URB Camino Real', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4337, 'URB Del Carmen', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4338, 'URB Hermanos Santiago', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4339, 'URB Jacaguax', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4340, 'URB La Esperanza', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4341, 'URB Las Flores', 2819, '00795', '787', '18.017302', '-66.493329', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4342, 'Carolina', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4343, 'Ext Villamar', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4344, 'Isla Verde', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:56', '2018-11-29 04:49:56'),\n(4345, 'Parq De Isla Verde', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4346, 'URB Atlantic View', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(4347, 'URB Biascochea', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4348, 'URB Cape Sea Vlg', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4349, 'URB La Marina', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4350, 'URB Los Angeles', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4351, 'URB Palmar Norte', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4352, 'URB Palmar Sur', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4353, 'URB Villamar', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4354, 'Villa La Marina', 2819, '00979', '787', '18.438381', '-66.011814', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4355, 'Toa Alta', 2819, '00954', '787', '18.3905', '-66.2487', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4356, 'Rio Piedras', 2819, '00931', '787', '18.4683', '-66.1061', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4357, 'San Juan', 2819, '00931', '787', '18.4683', '-66.1061', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4358, 'URB Madrid', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4359, 'URB Senderos De Juncos', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4360, 'URB Valencia 1', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4361, 'URB Valencia 2', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4362, 'URB Virginia Vly', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4363, 'Villa Ana', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4364, 'Villa Graciela', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4365, 'Alts De San Benito', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4366, 'Bda Azucena', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4367, 'Bda Obrera', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4368, 'Bda Praa', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4369, 'Ciudad Cristiana', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4370, 'Colinas Del Este', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4371, 'Est De La Loma', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4372, 'Ext Cotto Mabu', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4373, 'Ext Roig', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4374, 'Ext San Antonio', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4375, 'Humacao', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4376, 'Jard De Humacao', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4377, 'Mans Del Caribe', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4378, 'Parq De Candelero', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4379, 'Plaza Del Mar', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4380, 'Qtas De Humacao', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4381, 'Repto San Felipe', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4382, 'URB Arboleda', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4383, 'URB Buzo', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4384, 'URB El Paraiso', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4385, 'URB El Recreo', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4386, 'URB La Estancia', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4387, 'URB La Patagonia', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4388, 'URB Las Leandras', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4389, 'URB Los Maestros', 2819, '00791', '787', '18.138009', '-65.818996', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4390, 'Alt De Santa Isabel', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4391, 'Bda Felicia 1', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4392, 'Bda San Felipe', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4393, 'Brisas Del Prado', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4394, 'Est De Santa Isabel', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4395, 'Ext Bda Monserrate', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4396, 'Hacienda Concordia', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4397, 'Jard De Santa Isabel', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4398, 'Paseo Jacaranda', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4399, 'Praderas Del Sur', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4400, 'Santa Isabel', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4401, 'URB Alborada', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4402, 'URB Buenos Aires', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4403, 'URB Santiago Apostol', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4404, 'Valle Costero', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4405, 'Villa Camarero', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4406, 'Villa Retiro Sur', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4407, 'Villa Serena', 2819, '00757', '787', '17.985792', '-66.391439', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4408, 'San Juan', 2819, '00935', '787', '18.4683', '-66.1061', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4409, 'Alt Hacienda Dorada', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4410, 'Alts De Covadonga', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4411, 'Bo Campanilla', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4412, 'Bo Candelaria', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4413, 'Bo Palo Seco', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4414, 'Brisas De Campanero', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4415, 'Comunidad Punta Salinas', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4416, 'Ext La Inmaculada', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4417, 'Ext Lagos De Plata', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4418, 'Hacienda Del Norte', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4419, 'Hacienda Del Norte 2', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4420, 'Levittown', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4421, 'Mans Del Lago', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4422, 'Mans Del Mar', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4423, 'Mans Del Norte', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4424, 'Mans Del Sur', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4425, 'Parq Punta Salinas', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4426, 'Pradera', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4427, 'Pradera Norte', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4428, 'Qta Real', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4429, 'Repto Anamar', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4430, 'Res Campanilla', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4431, 'Sect La Pra', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4432, 'Villa Colinas De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4433, 'Villa Dagmarita', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4434, 'Villa Hucar', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4435, 'Villa Olga', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4436, 'Villas De Carraizo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4437, 'Villas De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4438, 'Villas De Parana', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4439, 'Villas Del Este', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4440, 'Villas Del Pilar', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4441, 'Vista Alegre', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4442, 'Alts De Borinquen Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4443, 'Alts Del Remanso', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4444, 'Bda Vista Alegre', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4445, 'Bo Buen Consejo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4446, 'Bo Canejas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4447, 'Bo Carraizo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4448, 'Bo Dulce', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4449, 'Bo Quebrada Arena', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4450, 'Bo Tortugo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4451, 'Bo Venezuela', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4452, 'Camino Del Bosque', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4453, 'Ciudad Senorial', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4454, 'Colinas De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4455, 'Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4456, 'Antioch', 2823, '37011', '615', '36.0601', '-86.6725', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4457, 'Goodlettsville', 2823, '37070', '615', '36.3233', '-86.7133', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4458, 'Goodlettsvl', 2823, '37070', '615', '36.3233', '-86.7133', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4459, 'Goodlettsvle', 2823, '37070', '615', '36.3233', '-86.7133', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4460, 'Goodlettsvlle', 2823, '37070', '615', '36.3233', '-86.7133', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4461, 'Hendersonville', 2823, '37077', '615', '36.3044', '-86.62', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4462, 'Hendersonvlle', 2823, '37077', '615', '36.3044', '-86.62', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4463, 'Lebanon', 2823, '37088', '615', '36.2084', '-86.2914', '2018-11-29 04:49:57', '2018-11-29 04:49:57'),\n(4464, 'Gassaway', 2823, '37095', '615', '35.973895', '-85.938154', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4465, 'Liberty', 2823, '37095', '615', '35.973895', '-85.938154', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4466, 'Mc Minnville', 2823, '37111', '931', '35.6563', '-85.7837', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4467, 'Mc Minnvl', 2823, '37111', '931', '35.6563', '-85.7837', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4468, 'Mc Minnvle', 2823, '37111', '931', '35.6563', '-85.7837', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4469, 'Mcminnville', 2823, '37111', '931', '35.6563', '-85.7837', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4470, 'Mboro', 2823, '37127', '615', '35.775166', '-86.331116', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4471, 'Murfreesboro', 2823, '37127', '615', '35.775166', '-86.331116', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4472, 'Murfreesbr', 2823, '37127', '615', '35.775166', '-86.331116', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4473, 'Mboro', 2823, '37129', '615', '35.929939', '-86.462967', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4474, 'Murfreesboro', 2823, '37129', '615', '35.929939', '-86.462967', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4475, 'Murfreesbr', 2823, '37129', '615', '35.929939', '-86.462967', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4476, 'Lakewood', 2823, '37138', '615', '36.249726', '-86.614986', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4477, 'Old Hickory', 2823, '37138', '615', '36.249726', '-86.614986', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4478, 'Thompsons Station', 2823, '37179', '615', '35.80988', '-86.893524', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4479, 'Thompsons Stn', 2823, '37179', '615', '35.80988', '-86.893524', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4480, 'Vanleer', 2823, '37181', '615', '36.245846', '-87.465245', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4481, 'Westmoreland', 2823, '37186', '615', '36.580393', '-86.249545', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4482, 'Nashville', 2823, '37213', '615', '36.167948', '-86.762299', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4483, 'Nashville', 2823, '37222', '615', '36.1656', '-86.7845', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4484, 'Baptist Hospital', 2823, '37236', '615', '36.1656', '-86.7845', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4485, 'Nashville', 2823, '37236', '615', '36.1656', '-86.7845', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4486, 'Bakewell', 2823, '37304', '423', '35.345', '-85.1325', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4487, 'Sale Creek', 2823, '37304', '423', '35.345', '-85.1325', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4488, 'Decatur', 2823, '37322', '423', '35.498638', '-84.825914', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4489, 'Englewood', 2823, '37329', '423', '35.402561', '-84.46009', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4490, 'Graysville', 2823, '37338', '423', '35.436176', '-85.182002', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4491, 'Huntland', 2823, '37345', '931', '35.052616', '-86.232434', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4492, 'Jasper', 2823, '37347', '423', '35.060756', '-85.623794', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4493, 'Kimball', 2823, '37347', '423', '35.060756', '-85.623794', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4494, 'Madisonville', 2823, '37354', '423', '35.503367', '-84.35588', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4495, 'Powells Crossroads', 2823, '37397', '423', '35.172722', '-85.514387', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4496, 'Powells Crsrd', 2823, '37397', '423', '35.172722', '-85.514387', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4497, 'Whitwell', 2823, '37397', '423', '35.172722', '-85.514387', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4498, 'Chattanooga', 2823, '37404', '423', '35.024161', '-85.272006', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4499, 'Chattanooga', 2823, '37406', '423', '35.071448', '-85.246776', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4500, 'Chattanooga', 2823, '37422', '423', '35.0459', '-85.3097', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4501, 'Butler', 2823, '37640', '423', '36.327568', '-81.995568', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4502, 'Fall Branch', 2823, '37656', '423', '36.392266', '-82.637163', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4503, 'Colonial Heights', 2823, '37663', '423', '36.46244', '-82.482382', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4504, 'Colonial Hgts', 2823, '37663', '423', '36.46244', '-82.482382', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4505, 'Kingsport', 2823, '37663', '423', '36.46244', '-82.482382', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4506, 'Shady Valley', 2823, '37688', '423', '36.540927', '-81.870967', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4507, 'Bybee', 2823, '37713', '423', '36.104412', '-83.12382', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4508, 'Kyles Ford', 2823, '37765', '423', '36.565134', '-82.994383', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4509, 'Lenoir City', 2823, '37772', '865', '35.783745', '-84.228207', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4510, 'Mascot', 2823, '37806', '865', '36.091721', '-83.7285', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4511, 'Morristown', 2823, '37815', '423', '36.2137', '-83.2952', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4512, 'Oliver Spgs', 2823, '37840', '865', '36.041684', '-84.37523', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4513, 'Oliver Springs', 2823, '37840', '865', '36.041684', '-84.37523', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4514, 'Ozone', 2823, '37854', '865', '35.875414', '-84.732444', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4515, 'Rockwood', 2823, '37854', '865', '35.875414', '-84.732444', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4516, 'Westel', 2823, '37854', '865', '35.875414', '-84.732444', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4517, 'Burrville', 2823, '37872', '423', '36.266978', '-84.697324', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4518, 'Sunbright', 2823, '37872', '423', '36.266978', '-84.697324', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4519, 'Tazewell', 2823, '37879', '423', '36.471034', '-83.518854', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4520, 'Washburn', 2823, '37888', '865', '36.307522', '-83.605251', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4521, 'Baneberry', 2823, '37890', '865', '36.074456', '-83.294706', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4522, 'White Pine', 2823, '37890', '865', '36.074456', '-83.294706', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4523, 'Concord', 2823, '37922', '865', '35.856007', '-84.100953', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4524, 'Concord Farr', 2823, '37922', '865', '35.856007', '-84.100953', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4525, 'Concord Farragut', 2823, '37922', '865', '35.856007', '-84.100953', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4526, 'Farragut', 2823, '37922', '865', '35.856007', '-84.100953', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4527, 'Knoxville', 2823, '37922', '865', '35.856007', '-84.100953', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4528, 'Knoxville', 2823, '37924', '865', '36.042618', '-83.800877', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4529, 'Concord Farragut', 2823, '37933', '865', '35.9637', '-83.9157', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4530, 'Farragut', 2823, '37933', '865', '35.9637', '-83.9157', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4531, 'Knoxville', 2823, '37933', '865', '35.9637', '-83.9157', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4532, 'Knoxville', 2823, '37997', '865', '35.9609', '-83.9206', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4533, 'Suntrust Bank', 2823, '37997', '865', '35.9609', '-83.9206', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4534, 'Halls', 2823, '38040', '731', '35.88688', '-89.514924', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4535, 'Mem', 2823, '38108', '901', '35.175344', '-89.960203', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4536, 'Memphis', 2823, '38108', '901', '35.175344', '-89.960203', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4537, 'Mphs', 2823, '38108', '901', '35.175344', '-89.960203', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4538, 'Hickory Hill', 2823, '38115', '901', '35.059078', '-89.86032', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4539, 'Mem', 2823, '38115', '901', '35.059078', '-89.86032', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4540, 'Memphis', 2823, '38115', '901', '35.059078', '-89.86032', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4541, 'Mphs', 2823, '38115', '901', '35.059078', '-89.86032', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4542, 'Mem', 2823, '38122', '901', '35.157496', '-89.918094', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4543, 'Memphis', 2823, '38122', '901', '35.157496', '-89.918094', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4544, 'Mphs', 2823, '38122', '901', '35.157496', '-89.918094', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4545, 'Mem', 2823, '38147', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4546, 'Memphis', 2823, '38147', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4547, 'Mphs', 2823, '38147', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4548, 'Regions Bank', 2823, '38147', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4549, 'Mem', 2823, '38174', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4550, 'Memphis', 2823, '38174', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4551, 'Mphs', 2823, '38174', '901', '35.1497', '-90.0487', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4552, 'Buchanan', 2823, '38222', '731', '36.424187', '-88.152308', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4553, 'Cottage Grove', 2823, '38224', '731', '36.397458', '-88.484955', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4554, 'Obion', 2823, '38240', '731', '36.24365', '-89.301806', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4555, 'Trezevant', 2823, '38258', '731', '36.025938', '-88.606162', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4556, 'Union City', 2823, '38281', '731', '36.4211', '-89.0662', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4557, 'Union Cty', 2823, '38281', '731', '36.4211', '-89.0662', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4558, 'Union Cy', 2823, '38281', '731', '36.4211', '-89.0662', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4559, 'Bethel Spgs', 2823, '38315', '731', '35.275974', '-88.615544', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4560, 'Bethel Springs', 2823, '38315', '731', '35.275974', '-88.615544', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4561, 'Bruceton', 2823, '38317', '731', '36.056497', '-88.274222', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4562, 'Henderson', 2823, '38340', '731', '35.406104', '-88.66407', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4563, 'Jacks Creek', 2823, '38347', '731', '35.464312', '-88.493365', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4564, 'Eastview', 2823, '38367', '731', '35.067416', '-88.616218', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4565, 'Ramer', 2823, '38367', '731', '35.067416', '-88.616218', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4566, 'Yuma', 2823, '38390', '731', '35.836801', '-88.369635', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4567, 'Mercer', 2823, '38392', '731', '35.487346', '-89.0416', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4568, 'Columbia', 2823, '38401', '931', '35.656897', '-86.978122', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4569, 'Mount Pleasant', 2823, '38474', '931', '35.534206', '-87.233778', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4570, 'Mt Pleasant', 2823, '38474', '931', '35.534206', '-87.233778', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4571, 'Cookeville', 2823, '38506', '931', '36.19481', '-85.451975', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4572, 'Cookevl', 2823, '38506', '931', '36.19481', '-85.451975', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4573, 'Cookevle', 2823, '38506', '931', '36.19481', '-85.451975', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4574, 'Jamestown', 2823, '38556', '931', '36.395144', '-84.907189', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4575, 'Ten Mile', 2823, '37880', '423', '35.689762', '-84.677578', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4576, 'Whitesburg', 2823, '37891', '423', '36.290682', '-83.133236', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4577, 'Knoxville', 2823, '37923', '865', '35.928092', '-84.084953', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4578, 'Knoxville', 2823, '37930', '865', '35.9609', '-83.9206', '2018-11-29 04:49:58', '2018-11-29 04:49:58'),\n(4579, 'Knoxville', 2823, '37932', '865', '35.921537', '-84.189327', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4580, 'Knoxville', 2823, '37996', '865', '35.9609', '-83.9206', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4581, 'University Of Tenn', 2823, '37996', '865', '35.9609', '-83.9206', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4582, 'Johnson Bible College', 2823, '37998', '865', '35.937674', '-83.748466', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4583, 'Knoxville', 2823, '37998', '865', '35.937674', '-83.748466', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4584, 'Crockett Mills', 2823, '38021', '731', '35.876153', '-89.174444', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4585, 'Crockett Mls', 2823, '38021', '731', '35.876153', '-89.174444', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4586, 'Dyersburg', 2823, '38025', '731', '36.0345', '-89.3858', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4587, 'Finley', 2823, '38030', '731', '35.982709', '-89.599956', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4588, 'Fort Pillow', 2823, '38041', '731', '35.640215', '-89.713411', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4589, 'Henning', 2823, '38041', '731', '35.640215', '-89.713411', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4590, 'La Grange', 2823, '38046', '901', '35.049848', '-89.225478', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4591, 'Millington', 2823, '38055', '901', '35.3305', '-89.8985', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4592, 'Naval Personel Commnd', 2823, '38055', '901', '35.3305', '-89.8985', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4593, 'Rossville', 2823, '38066', '901', '35.08467', '-89.531683', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4594, 'Memphis', 2823, '38175', '901', '35.1497', '-90.0487', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4595, 'Dresden', 2823, '38225', '731', '36.329925', '-88.666815', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4596, 'Bemis', 2823, '38314', '731', '35.5761', '-88.8215', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4597, 'Jackson', 2823, '38314', '731', '35.5761', '-88.8215', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4598, 'Bradford', 2823, '38316', '731', '36.06099', '-88.805774', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4599, 'Finger', 2823, '38334', '731', '35.3464', '-88.574799', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4600, 'Holladay', 2823, '38341', '731', '35.869135', '-88.074036', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4601, 'Pinson', 2823, '38366', '731', '35.474532', '-88.736199', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4602, 'Yorkville', 2823, '38389', '731', '36.1048', '-89.1168', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4603, 'Collinwood', 2823, '38450', '931', '35.181024', '-87.777378', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4604, 'Lawrenceburg', 2823, '38464', '931', '35.275894', '-87.404629', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4605, 'Santa Fe', 2823, '38482', '931', '35.764181', '-87.138984', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4606, 'Buffalo Valley', 2823, '38548', '931', '36.175474', '-85.79945', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4607, 'Buffalo Vly', 2823, '38548', '931', '36.175474', '-85.79945', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4608, 'Auburntown', 2823, '37016', '615', '35.961034', '-86.113628', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4609, 'Aetna', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4610, 'Centerville', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4611, 'Coble', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4612, 'Fairfield', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4613, 'Grinders', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4614, 'Pleasantville', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4615, 'Shipps Bend', 2823, '37033', '931', '35.74664', '-87.5332', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4616, 'Chapel Hill', 2823, '37034', '931', '35.641873', '-86.692839', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4617, 'Cross Plains', 2823, '37049', '615', '36.55573', '-86.692706', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4618, 'Lyles', 2823, '37098', '931', '35.866696', '-87.325206', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4619, 'Wrigley', 2823, '37098', '931', '35.866696', '-87.325206', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4620, 'Madison', 2823, '37116', '615', '36.2561', '-86.7138', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4621, 'Mboro', 2823, '37132', '615', '35.848843', '-86.362076', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4622, 'Middle Tenn State Univ', 2823, '37132', '615', '35.848843', '-86.362076', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4623, 'Murfreesboro', 2823, '37132', '615', '35.848843', '-86.362076', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4624, 'Murfreesbr', 2823, '37132', '615', '35.848843', '-86.362076', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4625, 'Mboro', 2823, '37133', '615', '35.8457', '-86.3903', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4626, 'Murfreesboro', 2823, '37133', '615', '35.8457', '-86.3903', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4627, 'Murfreesbr', 2823, '37133', '615', '35.8457', '-86.3903', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4628, 'Denver', 2823, '37134', '931', '36.005031', '-87.937995', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4629, 'New Johnsonville', 2823, '37134', '931', '36.005031', '-87.937995', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4630, 'New Johsonvle', 2823, '37134', '931', '36.005031', '-87.937995', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4631, 'Smithville', 2823, '37166', '615', '35.938647', '-85.787427', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4632, 'Watertown', 2823, '37184', '615', '36.085318', '-86.148792', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4633, 'Nashville', 2823, '37201', '615', '36.165964', '-86.773205', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4634, 'Jere Baxter', 2823, '37216', '615', '36.216812', '-86.72443', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4635, 'Nashville', 2823, '37216', '615', '36.216812', '-86.72443', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4636, 'Lifeway Christian Resources', 2823, '37234', '615', '36.1656', '-86.7845', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4637, 'Nashville', 2823, '37234', '615', '36.1656', '-86.7845', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4638, 'Conasauga', 2823, '37316', '423', '35.000918', '-84.720558', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4639, 'Cowan', 2823, '37318', '931', '35.181858', '-85.995488', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4640, 'Pelham', 2823, '37366', '931', '35.321656', '-85.851288', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4641, 'Pikeville', 2823, '37367', '423', '35.613196', '-85.208326', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4642, 'Chattanooga', 2823, '37402', '423', '35.046782', '-85.314657', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4643, 'Internal Revenue', 2823, '37501', '901', '35.1496', '-90.0487', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4644, 'Memphis', 2823, '37501', '901', '35.1496', '-90.0487', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4645, 'Afton', 2823, '37616', '423', '36.225332', '-82.739946', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4646, 'Alcoa', 2823, '37701', '865', '35.800556', '-83.98458', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4647, 'Coalfield', 2823, '37719', '423', '36.029217', '-84.428651', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4648, 'Elgin', 2823, '37733', '423', '36.36', '-84.6994', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4649, 'Rugby', 2823, '37733', '423', '36.36', '-84.6994', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4650, 'Hartford', 2823, '37753', '423', '35.831092', '-83.096762', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4651, 'Nashville', 2823, '37202', '615', '36.1598', '-86.7904', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4652, 'Berry Hill', 2823, '37204', '615', '36.107968', '-86.776186', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4653, 'Melrose', 2823, '37204', '615', '36.107968', '-86.776186', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4654, 'Nashville', 2823, '37204', '615', '36.107968', '-86.776186', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4655, 'Nashville', 2823, '37206', '615', '36.180127', '-86.729292', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4656, 'Nashville', 2823, '37211', '615', '36.068396', '-86.723889', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4657, 'Woodbine', 2823, '37211', '615', '36.068396', '-86.723889', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4658, 'Coalmont', 2823, '37313', '931', '35.4114', '-85.649898', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4659, 'College Dale', 2823, '37363', '423', '35.11844', '-85.074159', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4660, 'Ooltewah', 2823, '37363', '423', '35.11844', '-85.074159', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4661, 'Spring City', 2823, '37381', '423', '35.677059', '-84.862654', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4662, 'Watts Bar Dam', 2823, '37381', '423', '35.677059', '-84.862654', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4663, 'Dickel', 2823, '37388', '931', '35.34918', '-86.202659', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4664, 'Tullahoma', 2823, '37388', '931', '35.34918', '-86.202659', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4665, 'Chattanooga', 2823, '37415', '423', '35.128812', '-85.258986', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4666, 'Red Bank', 2823, '37415', '423', '35.128812', '-85.258986', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4667, 'Jc', 2823, '37604', '423', '36.314069', '-82.381462', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4668, 'Johnson City', 2823, '37604', '423', '36.314069', '-82.381462', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4669, 'Gray', 2823, '37615', '423', '36.39024', '-82.451622', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4670, 'Jc', 2823, '37615', '423', '36.39024', '-82.451622', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4671, 'Johnson City', 2823, '37615', '423', '36.39024', '-82.451622', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4672, 'Bristol', 2823, '37620', '423', '36.537413', '-82.075966', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4673, 'Church Hill', 2823, '37645', '423', '36.536568', '-82.652486', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4674, 'Mount Carmel', 2823, '37645', '423', '36.536568', '-82.652486', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4675, 'Mt Carmel', 2823, '37645', '423', '36.536568', '-82.652486', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4676, 'Kingsport', 2823, '37665', '423', '36.578464', '-82.574727', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4677, 'Limestone', 2823, '37681', '423', '36.252418', '-82.626516', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4678, 'Home Shopping Network', 2823, '37699', '423', '36.4194', '-82.3042', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4679, 'Piney Flats', 2823, '37699', '423', '36.4194', '-82.3042', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4680, 'Clairfield', 2823, '37715', '423', '36.531047', '-83.85241', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4681, 'Cumb Gap', 2823, '37724', '423', '36.547419', '-83.697562', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4682, 'Cumberland Gap', 2823, '37724', '423', '36.547419', '-83.697562', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4683, 'Cumberland Gp', 2823, '37724', '423', '36.547419', '-83.697562', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4684, 'Duff', 2823, '37729', '423', '36.511644', '-84.013852', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4685, 'La Follette', 2823, '37729', '423', '36.511644', '-84.013852', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4686, 'Eidson', 2823, '37731', '423', '36.501044', '-83.053047', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4687, 'Gatlinburg', 2823, '37738', '865', '35.672758', '-83.456994', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4688, 'Heiskell', 2823, '37754', '865', '36.13885', '-84.025418', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4689, 'Loudon', 2823, '37774', '865', '35.735636', '-84.372617', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4690, 'Luttrell', 2823, '37779', '865', '36.202685', '-83.771178', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4691, 'Morristown', 2823, '37813', '423', '36.185922', '-83.280406', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4692, 'Newport', 2823, '37822', '865', '35.9676', '-83.1925', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4693, 'New Tazewell', 2823, '37824', '423', '36.4458', '-83.5877', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4694, 'Powell', 2823, '37849', '865', '36.074658', '-84.044192', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4695, 'Seymour', 2823, '37865', '865', '35.851584', '-83.736477', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4696, 'Sweetwater', 2823, '37874', '423', '35.586344', '-84.43972', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4697, 'Knoxville', 2823, '37929', '865', '35.9609', '-83.9206', '2018-11-29 04:49:59', '2018-11-29 04:49:59'),\n(4698, 'Plaza Tower', 2823, '37929', '865', '35.9609', '-83.9206', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4699, 'Knoxville', 2823, '37931', '865', '35.975816', '-84.130754', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4700, 'Bells', 2823, '38006', '731', '35.672674', '-89.10429', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4701, 'Bolivar', 2823, '38008', '731', '35.244423', '-89.005283', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4702, 'Lenox', 2823, '38047', '731', '36.05718', '-89.607937', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4703, 'Mason', 2823, '38049', '901', '35.394238', '-89.524367', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4704, 'Munford', 2823, '38058', '901', '35.448858', '-89.823953', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4705, 'Millingtn', 2823, '38083', '901', '35.3415', '-89.8975', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4706, 'Millington', 2823, '38083', '901', '35.3415', '-89.8975', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4707, 'Cordova', 2823, '38088', '901', '35.1578', '-89.7791', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4708, 'Mem', 2823, '38106', '901', '35.095184', '-90.087643', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4709, 'Memphis', 2823, '38106', '901', '35.095184', '-90.087643', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4710, 'Mphs', 2823, '38106', '901', '35.095184', '-90.087643', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4711, 'Mem', 2823, '38113', '901', '35.106262', '-90.128214', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4712, 'Memphis', 2823, '38113', '901', '35.106262', '-90.128214', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4713, 'Mphs', 2823, '38113', '901', '35.106262', '-90.128214', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4714, 'Memphis', 2823, '38131', '901', '35.065559', '-89.994647', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4715, 'Bartlett', 2823, '38133', '901', '35.209922', '-89.791936', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4716, 'Mem', 2823, '38133', '901', '35.209922', '-89.791936', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4717, 'Memphis', 2823, '38133', '901', '35.209922', '-89.791936', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4718, 'Mphs', 2823, '38133', '901', '35.209922', '-89.791936', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4719, 'Germantown', 2823, '38138', '901', '35.084216', '-89.792009', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4720, 'Mem', 2823, '38138', '901', '35.084216', '-89.792009', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4721, 'Memphis', 2823, '38138', '901', '35.084216', '-89.792009', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4722, 'Mphs', 2823, '38138', '901', '35.084216', '-89.792009', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4723, 'Mem', 2823, '38181', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4724, 'Memphis', 2823, '38181', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4725, 'Mphs', 2823, '38181', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4726, 'International Paper Co', 2823, '38197', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4727, 'Memphis', 2823, '38197', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4728, 'Henry', 2823, '38231', '731', '36.217498', '-88.419811', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4729, 'Jackson', 2823, '38308', '731', '35.6147', '-88.8136', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4730, 'Clarksburg', 2823, '38324', '731', '35.8718', '-88.3934', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4731, 'Eaton', 2823, '38331', '731', '35.9696', '-89.1337', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4732, 'Eva', 2823, '38333', '731', '36.138931', '-87.975432', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4733, 'Milan', 2823, '38358', '731', '35.918666', '-88.780186', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4734, 'Milan Army Ammunition Plant', 2823, '38358', '731', '35.918666', '-88.780186', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4735, 'Pickwick Dam', 2823, '38365', '731', '35.0531', '-88.2379', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4736, 'Shiloh', 2823, '38376', '731', '35.13012', '-88.344444', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4737, 'Ethridge', 2823, '38456', '931', '35.330258', '-87.2755', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4738, 'Saint Joseph', 2823, '38481', '931', '35.034365', '-87.486703', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4739, 'St Joseph', 2823, '38481', '931', '35.034365', '-87.486703', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4740, 'Algood', 2823, '38501', '931', '36.244197', '-85.543106', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4741, 'Cookeville', 2823, '38501', '931', '36.244197', '-85.543106', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4742, 'Allred', 2823, '38542', '931', '36.322554', '-85.2148', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4743, 'Grimsley', 2823, '38565', '931', '36.267833', '-85.010162', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4744, 'Bone Cave', 2823, '38581', '931', '35.694636', '-85.616307', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4745, 'Rock Island', 2823, '38581', '931', '35.694636', '-85.616307', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4746, 'Big Rock', 2823, '37023', '931', '36.583633', '-87.731716', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4747, 'Bon Aqua', 2823, '37025', '931', '35.935716', '-87.3227', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4748, 'Bradyville', 2823, '37026', '615', '35.704713', '-86.109822', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4749, 'Clarksville', 2823, '37041', '931', '36.5294', '-87.3594', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4750, 'Dover', 2823, '37058', '931', '36.515794', '-87.882438', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4751, 'Fort Donelson National Milit', 2823, '37058', '931', '36.515794', '-87.882438', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4752, 'Hartsville', 2823, '37074', '615', '36.416826', '-86.145742', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4753, 'Lebanon', 2823, '37090', '615', '36.129102', '-86.25484', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4754, 'Lewisburg', 2823, '37091', '931', '35.495021', '-86.7644', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4755, 'Orlinda', 2823, '37141', '615', '36.613696', '-86.701263', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4756, 'Palmyra', 2823, '37142', '931', '36.404986', '-87.493897', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4757, 'Royal', 2823, '37160', '931', '35.480577', '-86.467875', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4758, 'Shelbyville', 2823, '37160', '931', '35.480577', '-86.467875', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4759, 'Nashville', 2823, '37207', '615', '36.233291', '-86.782168', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4760, 'Northeast', 2823, '37207', '615', '36.233291', '-86.782168', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4761, 'Nashville', 2823, '37208', '615', '36.175742', '-86.806158', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4762, 'Nashville', 2823, '37209', '615', '36.150938', '-86.905226', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4763, 'Benton', 2823, '37307', '423', '35.16848', '-84.629584', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4764, 'Birchwood', 2823, '37308', '423', '35.333575', '-84.995342', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4765, 'Calhoun', 2823, '37309', '423', '35.323353', '-84.75451', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4766, 'Charleston', 2823, '37310', '423', '35.265264', '-84.777407', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4767, 'Decherd', 2823, '37324', '931', '35.252506', '-85.977145', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4768, 'Delano', 2823, '37325', '423', '35.24463', '-84.602923', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4769, 'Hillsboro', 2823, '37342', '931', '35.391296', '-85.950814', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4770, 'Morrison', 2823, '37357', '931', '35.5834', '-85.934539', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4771, 'Sherwood', 2823, '37376', '931', '35.059286', '-85.96611', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4772, 'Turtletown', 2823, '37391', '423', '35.14275', '-84.386852', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4773, 'Viola', 2823, '37394', '931', '35.538043', '-85.86114', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4774, 'Chattanooga', 2823, '37409', '423', '35.004191', '-85.349517', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4775, 'Internal Revenue', 2823, '37544', '901', '35.15', '-90.05', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4776, 'Memphis', 2823, '37544', '901', '35.15', '-90.05', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4777, 'Kingsport', 2823, '37660', '423', '36.513444', '-82.553602', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4778, 'Unicoi', 2823, '37692', '423', '36.186202', '-82.311707', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4779, 'Watauga', 2823, '37694', '423', '36.382931', '-82.275239', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4780, 'Blaine', 2823, '37709', '865', '36.169672', '-83.660874', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4781, 'Deer Lodge', 2823, '37726', '423', '36.204167', '-84.831914', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4782, 'Baileyton', 2823, '37743', '423', '36.083003', '-82.85135', '2018-11-29 04:50:00', '2018-11-29 04:50:00');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(4783, 'Greeneville', 2823, '37743', '423', '36.083003', '-82.85135', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4784, 'Tusculum Coll', 2823, '37743', '423', '36.083003', '-82.85135', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4785, 'Greeneville', 2823, '37744', '423', '36.182944', '-82.740424', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4786, 'Jeff City', 2823, '37760', '865', '36.100184', '-83.452295', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4787, 'Jefferson City', 2823, '37760', '865', '36.100184', '-83.452295', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4788, 'Jefferson Cty', 2823, '37760', '865', '36.100184', '-83.452295', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4789, 'Louisville', 2823, '37777', '865', '35.825858', '-84.046463', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4790, 'Mcghee Tyson Ang Base', 2823, '37777', '865', '35.825858', '-84.046463', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4791, 'Mooresburg', 2823, '37811', '423', '36.35442', '-83.194926', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4792, 'New Tazewell', 2823, '37825', '423', '36.414502', '-83.687644', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4793, 'Niota', 2823, '37826', '423', '35.56139', '-84.596787', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4794, 'Rutledge', 2823, '37861', '865', '36.244585', '-83.515856', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4795, 'Pigeon Forge', 2823, '37862', '865', '35.782999', '-83.610384', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4796, 'Sevierville', 2823, '37862', '865', '35.782999', '-83.610384', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4797, 'Talbott', 2823, '37877', '423', '36.152356', '-83.405521', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4798, 'Winfield', 2823, '37892', '423', '36.536467', '-84.385302', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4799, 'Knoxville', 2823, '37927', '865', '35.9696', '-83.9215', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4800, 'Knoxville', 2823, '37928', '865', '35.9697', '-83.9222', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4801, 'Brownsville', 2823, '38012', '731', '35.622992', '-89.287664', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4802, 'Hornsby', 2823, '38044', '731', '35.19392', '-88.834753', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4803, 'Wynnburg', 2823, '38077', '731', '36.3295', '-89.4745', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4804, 'Mem', 2823, '38126', '901', '35.1274', '-90.044694', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4805, 'Memphis', 2823, '38126', '901', '35.1274', '-90.044694', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4806, 'Mphs', 2823, '38126', '901', '35.1274', '-90.044694', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4807, 'Mem', 2823, '38127', '901', '35.256154', '-90.065704', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4808, 'Memphis', 2823, '38127', '901', '35.256154', '-90.065704', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4809, 'Mphs', 2823, '38127', '901', '35.256154', '-90.065704', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4810, 'Memphis', 2823, '38177', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4811, 'Memphis', 2823, '38193', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4812, 'Sharp Electronic Manufac', 2823, '38193', '901', '35.1497', '-90.0487', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4813, 'Troy', 2823, '38260', '731', '36.383895', '-89.213601', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4814, 'Counce', 2823, '38326', '731', '35.060908', '-88.278292', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4815, 'Crump', 2823, '38327', '731', '35.228697', '-88.29606', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4816, 'Humboldt', 2823, '38343', '731', '35.818664', '-88.951434', '2018-11-29 04:50:00', '2018-11-29 04:50:00'),\n(4817, 'Three Way', 2823, '38343', '731', '35.818664', '-88.951434', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4818, 'Idlewild', 2823, '38346', '731', '36.0323', '-88.8083', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4819, 'Oakfield', 2823, '38362', '731', '35.72429', '-88.785763', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4820, 'Parsons', 2823, '38363', '731', '35.69446', '-88.100554', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4821, 'Hampshire', 2823, '38461', '931', '35.594948', '-87.334671', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4822, 'Iron City', 2823, '38463', '931', '35.085055', '-87.632316', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4823, 'Blmngton Spgs', 2823, '38545', '931', '36.233323', '-85.676696', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4824, 'Bloomington Springs', 2823, '38545', '931', '36.233323', '-85.676696', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4825, 'Gainesboro', 2823, '38562', '931', '36.357633', '-85.673052', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4826, 'Pleasant Hill', 2823, '38578', '931', '35.980011', '-85.196162', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4827, 'Rickman', 2823, '38580', '931', '36.283285', '-85.293016', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4828, 'Antioch', 2823, '37013', '615', '36.037654', '-86.63697', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4829, 'Cane Ridge', 2823, '37013', '615', '36.037654', '-86.63697', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4830, 'Bethpage', 2823, '37022', '615', '36.492925', '-86.29454', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4831, 'Rock Bridge', 2823, '37022', '615', '36.492925', '-86.29454', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4832, 'Brentwood', 2823, '37027', '615', '36.001592', '-86.780676', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4833, 'Forest Hills', 2823, '37027', '615', '36.001592', '-86.780676', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4834, 'Indian Mound', 2823, '37079', '931', '36.4777', '-87.649234', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4835, 'Lobelville', 2823, '37097', '931', '35.74619', '-87.87581', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4836, 'Mount Juliet', 2823, '37122', '615', '36.175305', '-86.490896', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4837, 'Norene', 2823, '37136', '615', '36.0601', '-86.2447', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4838, 'Clarksville', 2823, '37040', '931', '36.516546', '-87.32203', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4839, 'Clarksville', 2823, '37042', '931', '36.559662', '-87.406921', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4840, 'Sango', 2823, '37042', '931', '36.559662', '-87.406921', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4841, 'Dickson', 2823, '37056', '615', '36.0769', '-87.3879', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4842, 'Dowelltown', 2823, '37059', '615', '35.964181', '-85.906512', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4843, 'Greenbrier', 2823, '37073', '615', '36.435182', '-86.809947', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4844, 'Woodlawn', 2823, '37191', '931', '36.496176', '-87.532574', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4845, 'Nashville', 2823, '37210', '615', '36.139207', '-86.732385', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4846, 'Nashville', 2823, '37224', '615', '36.1656', '-86.7845', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4847, 'Nashvl', 2823, '37224', '615', '36.1656', '-86.7845', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4848, 'Nashvle', 2823, '37224', '615', '36.1656', '-86.7845', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4849, 'Belfast', 2823, '37019', '931', '35.391098', '-86.716929', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4850, 'Bumpus Mills', 2823, '37028', '931', '36.628267', '-87.847932', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4851, 'Carthage', 2823, '37030', '615', '36.27431', '-85.9718', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4852, 'Defeated', 2823, '37030', '615', '36.27431', '-85.9718', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4853, 'Mc Clures Bend', 2823, '37030', '615', '36.27431', '-85.9718', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4854, 'So Carthage', 2823, '37030', '615', '36.27431', '-85.9718', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4855, 'South Carthage', 2823, '37030', '615', '36.27431', '-85.9718', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4856, 'Chapmansboro', 2823, '37035', '615', '36.375999', '-87.120764', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4857, 'Allisona', 2823, '37046', '615', '35.782374', '-86.717006', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4858, 'Bethesda', 2823, '37046', '615', '35.782374', '-86.717006', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4859, 'College Grove', 2823, '37046', '615', '35.782374', '-86.717006', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4860, 'Dickson', 2823, '37055', '615', '36.062811', '-87.430258', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4861, 'Hurricane Mills', 2823, '37078', '931', '35.928568', '-87.756789', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4862, 'Hurricne Mlls', 2823, '37078', '931', '35.928568', '-87.756789', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4863, 'Joelton', 2823, '37080', '615', '36.323746', '-86.931676', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4864, 'Mitchellville', 2823, '37119', '615', '36.6329', '-86.5372', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4865, 'Mboro', 2823, '37128', '615', '35.799342', '-86.491194', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4866, 'Murfreesboro', 2823, '37128', '615', '35.799342', '-86.491194', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4867, 'Murfreesbr', 2823, '37128', '615', '35.799342', '-86.491194', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4868, 'Unionville', 2823, '37180', '931', '35.609806', '-86.580788', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4869, 'White Bluff', 2823, '37187', '615', '36.145804', '-87.194219', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4870, 'Nashville', 2823, '37203', '615', '36.150436', '-86.791327', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4871, 'Nashville', 2823, '37205', '615', '36.112006', '-86.868337', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4872, 'Athens', 2823, '37303', '423', '35.420188', '-84.651332', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4873, 'Estill Spgs', 2823, '37330', '931', '35.29444', '-86.118423', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4874, 'Estill Springs', 2823, '37330', '931', '35.29444', '-86.118423', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4875, 'Smartt', 2823, '37378', '931', '35.6544', '-85.8274', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4876, 'New Hope', 2823, '37380', '423', '35.103536', '-85.715738', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4877, 'Orme', 2823, '37380', '423', '35.103536', '-85.715738', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4878, 'S Pittsburg', 2823, '37380', '423', '35.103536', '-85.715738', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4879, 'South Pittsburg', 2823, '37380', '423', '35.103536', '-85.715738', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4880, 'Arnold AFB', 2823, '37389', '931', '35.3605', '-86.2138', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4881, 'Arnold Air Force Base', 2823, '37389', '931', '35.3605', '-86.2138', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4882, 'Tullahoma', 2823, '37389', '931', '35.3605', '-86.2138', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4883, 'Chattanooga', 2823, '37405', '423', '35.128055', '-85.383174', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4884, 'Chattanooga', 2823, '37412', '423', '35.002726', '-85.223757', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4885, 'East Ridge', 2823, '37412', '423', '35.002726', '-85.223757', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4886, 'Chatt', 2823, '37414', '423', '35.0459', '-85.3106', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4887, 'Chatta', 2823, '37414', '423', '35.0459', '-85.3106', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4888, 'Chattanooga', 2823, '37414', '423', '35.0459', '-85.3106', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4889, 'Jc', 2823, '37605', '423', '36.3136', '-82.3538', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4890, 'Johnson City', 2823, '37605', '423', '36.3136', '-82.3538', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4891, 'Bristol', 2823, '37621', '423', '36.595', '-82.1889', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4892, 'Flag Pond', 2823, '37657', '423', '36.023395', '-82.553032', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4893, 'Arthur', 2823, '37707', '423', '36.5482', '-83.6708', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4894, 'Eagan', 2823, '37730', '423', '36.548539', '-83.972174', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4895, 'Elgin', 2823, '37732', '423', '36.326352', '-84.611801', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4896, 'Friendsville', 2823, '37737', '865', '35.75413', '-84.1025', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4897, 'Emory Gap', 2823, '37748', '865', '35.942834', '-84.511704', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4898, 'Harriman', 2823, '37748', '865', '35.942834', '-84.511704', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4899, 'Midtown', 2823, '37748', '865', '35.942834', '-84.511704', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4900, 'Jellico', 2823, '37762', '423', '36.567952', '-84.127095', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4901, 'Newport', 2823, '37821', '423', '35.99198', '-83.187863', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4902, 'Oak Ridge', 2823, '37830', '865', '35.969852', '-84.28638', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4903, 'Oneida', 2823, '37841', '423', '36.512752', '-84.570478', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4904, 'Rogersville', 2823, '37857', '423', '36.421724', '-82.937772', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4905, 'Bingham', 2825, '84006', '801', '40.521326', '-112.124604', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4906, 'Bingham Canyon', 2825, '84006', '801', '40.521326', '-112.124604', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4907, 'Bingham Cyn', 2825, '84006', '801', '40.521326', '-112.124604', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4908, 'Copperton', 2825, '84006', '801', '40.521326', '-112.124604', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4909, 'Defas Park', 2825, '84031', '435', '40.442', '-110.813278', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4910, 'Am Fork', 2825, '84003', '801', '40.405984', '-111.82903', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4911, 'American Fork', 2825, '84003', '801', '40.405984', '-111.82903', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4912, 'Highland', 2825, '84003', '801', '40.405984', '-111.82903', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4913, 'Timpanogos', 2825, '84003', '801', '40.405984', '-111.82903', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4914, 'Croydon', 2825, '84018', '801', '41.213426', '-111.394287', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4915, 'Jensen', 2825, '84035', '435', '40.369124', '-109.322668', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4916, 'Black Rock', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4917, 'Christiansted', 2827, '00822', '340', '17.7488', '-64.7039', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4918, 'Charlotte Ama', 2827, '00803', '340', '18.3436', '-64.9314', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4919, 'Charlotte Amalie', 2827, '00803', '340', '18.3436', '-64.9314', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4920, 'St Thomas', 2827, '00803', '340', '18.3436', '-64.9314', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4921, 'Cruz Bay', 2827, '00830', '340', '18.3282', '-64.7407', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4922, 'St John', 2827, '00830', '340', '18.3282', '-64.7407', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4923, 'Charlotte Ama', 2827, '00804', '340', '18.3436', '-64.9314', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4924, 'Charlotte Amalie', 2827, '00804', '340', '18.3436', '-64.9314', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4925, 'St Thomas', 2827, '00804', '340', '18.3436', '-64.9314', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4926, 'Kingshill', 2827, '00850', '340', '17.723', '-64.78295', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4927, 'Kingshill', 2827, '00851', '340', '17.7253', '-64.7836', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4928, 'Cruz Bay', 2827, '00831', '340', '18.3333', '-64.7943', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4929, 'St John', 2827, '00831', '340', '18.3333', '-64.7943', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4930, 'Albin', 2832, '82050', '307', '41.46218', '-104.256693', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4931, 'Carpenter', 2832, '82054', '307', '41.080179', '-104.344265', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4932, 'Granite Canon', 2832, '82059', '307', '41.057231', '-105.120114', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4933, 'Granite Canyon', 2832, '82059', '307', '41.057231', '-105.120114', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4934, 'Harriman', 2832, '82059', '307', '41.057231', '-105.120114', '2018-11-29 04:50:01', '2018-11-29 04:50:01'),\n(4935, 'Huntley', 2832, '82218', '307', '41.804967', '-104.130432', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4936, 'Keeline', 2832, '82227', '307', '42.827818', '-104.75179', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4937, 'Manville', 2832, '82227', '307', '42.827818', '-104.75179', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4938, 'Veteran', 2832, '82243', '307', '41.970626', '-104.371868', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4939, 'Burlington', 2832, '82411', '307', '44.432996', '-108.43832', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4940, 'Grass Creek', 2832, '82443', '307', '43.769759', '-108.454107', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4941, 'Hamilton Dome', 2832, '82443', '307', '43.769759', '-108.454107', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4942, 'Thermopolis', 2832, '82443', '307', '43.769759', '-108.454107', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4943, 'Atlantic City', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4944, 'Ethete', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4945, 'Lander', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4946, 'S Pass City', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4947, 'South Pass City', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4948, 'Sweetwater Station', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4949, 'Sweetwatr Sta', 2832, '82520', '307', '42.655726', '-108.631299', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4950, 'Casper', 2832, '82602', '307', '42.8667', '-106.3126', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4951, 'Casper', 2832, '82604', '307', '42.96636', '-106.80708', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4952, 'Mills', 2832, '82604', '307', '42.96636', '-106.80708', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4953, 'Moneta', 2832, '82604', '307', '42.96636', '-106.80708', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4954, 'Alcova', 2832, '82620', '307', '42.535716', '-106.881548', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4955, 'Evansville', 2832, '82636', '307', '42.8992', '-106.1626', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4956, 'Alva', 2832, '82711', '307', '44.68272', '-104.453399', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4957, 'Parkman', 2832, '82838', '307', '44.945535', '-107.403582', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4958, 'Bondurant', 2832, '82922', '307', '43.217931', '-110.12179', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4959, 'Litl America', 2832, '82929', '307', '41.588642', '-109.821854', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4960, 'Little America', 2832, '82929', '307', '41.588642', '-109.821854', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4961, 'Green River', 2832, '82938', '307', '41.266268', '-109.135253', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4962, 'Mc Kinnon', 2832, '82938', '307', '41.266268', '-109.135253', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4963, 'Superior', 2832, '82945', '307', '41.715627', '-108.994656', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4964, 'Colter Bay', 2832, '83013', '307', '43.887414', '-110.373132', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4965, 'Moran', 2832, '83013', '307', '43.887414', '-110.373132', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4966, 'Freedom', 2832, '83120', '307', '43.015079', '-111.027986', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4967, 'Grover', 2832, '83122', '307', '42.846944', '-110.79988', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4968, 'Meriden', 2832, '82081', '307', '41.510763', '-104.450388', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4969, 'Arlington', 2832, '82083', '307', '41.656652', '-106.066056', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4970, 'Mcfadden', 2832, '82083', '307', '41.656652', '-106.066056', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4971, 'Rock River', 2832, '82083', '307', '41.656652', '-106.066056', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4972, 'Hartville', 2832, '82215', '307', '42.368426', '-104.810345', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4973, 'Sunrise', 2832, '82215', '307', '42.368426', '-104.810345', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4974, 'Ryan Park', 2832, '82331', '307', '41.468418', '-106.791128', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4975, 'Saratoga', 2832, '82331', '307', '41.468418', '-106.791128', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4976, 'Lovell', 2832, '82431', '307', '44.807807', '-108.21847', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4977, 'Powder River', 2832, '82648', '307', '43.0323', '-106.9869', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4978, 'Shoshoni', 2832, '82649', '307', '43.167174', '-107.946372', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4979, 'Four Corners', 2832, '82715', '307', '44.123755', '-104.128888', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4980, 'Newcastle', 2832, '82715', '307', '44.123755', '-104.128888', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4981, 'Gillette', 2832, '82718', '307', '43.895737', '-105.548824', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4982, 'Gillette', 2832, '82731', '307', '44.751274', '-105.353526', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4983, 'Weston', 2832, '82731', '307', '44.751274', '-105.353526', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4984, 'Gillette', 2832, '82732', '307', '43.708308', '-105.562654', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4985, 'Wright', 2832, '82732', '307', '43.708308', '-105.562654', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4986, 'Banner', 2832, '82832', '307', '44.660044', '-106.781321', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4987, 'Story', 2832, '82832', '307', '44.660044', '-106.781321', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4988, 'Buffalo', 2832, '82834', '307', '44.228143', '-106.689962', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4989, 'Clearmont', 2832, '82835', '307', '44.775531', '-106.442225', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4990, 'Rock Springs', 2832, '82902', '307', '41.5878', '-109.2024', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4991, 'Fort Bridger', 2832, '82933', '307', '41.28698', '-110.395504', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4992, 'Piedmont', 2832, '82933', '307', '41.28698', '-110.395504', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4993, 'Hoback Jct', 2832, '83001', '307', '43.449578', '-110.545759', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4994, 'Hoback Junction', 2832, '83001', '307', '43.449578', '-110.545759', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4995, 'Jackson', 2832, '83001', '307', '43.449578', '-110.545759', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4996, 'Jackson Hole', 2832, '83001', '307', '43.449578', '-110.545759', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4997, 'Fontenelle', 2832, '83101', '307', '41.838937', '-110.336142', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4998, 'Hamsfork', 2832, '83101', '307', '41.838937', '-110.336142', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(4999, 'Kemmerer', 2832, '83101', '307', '41.838937', '-110.336142', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(5000, 'Diamondville', 2832, '83116', '307', '41.776638', '-110.537549', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(5001, 'Jacksons Gap', 2779, '36861', '256', '32.877696', '-85.82704', '2018-11-29 04:50:02', '2018-11-29 04:50:02'),\n(5002, 'Waverly', 2779, '36879', '334', '32.729083', '-85.536856', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5003, 'Ward', 2779, '36922', '205', '32.292504', '-88.183868', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5004, 'Opelika', 2779, '36801', '334', '32.683322', '-85.403409', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5005, 'Cottonton', 2779, '36851', '334', '32.1469', '-85.0737', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5006, 'Five Points', 2779, '36855', '334', '33.02403', '-85.330284', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5007, 'Hurtsboro', 2779, '36860', '334', '32.278489', '-85.407695', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5008, 'Jachin', 2779, '36910', '205', '32.230916', '-88.221534', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5009, 'Lisman', 2779, '36912', '205', '32.218745', '-88.346438', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5010, 'Yantley', 2779, '36912', '205', '32.218745', '-88.346438', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5011, 'Thomaston', 2779, '36783', '334', '32.252928', '-87.610059', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5012, 'Thomasville', 2779, '36784', '334', '31.920948', '-87.878678', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5013, 'Auburn', 2779, '36832', '334', '32.570735', '-85.575415', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5014, 'Loachapoka', 2779, '36865', '334', '32.6046', '-85.5995', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5015, 'Notasulga', 2779, '36866', '334', '32.568498', '-85.7023', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5016, 'Needham', 2779, '36915', '205', '31.978512', '-88.342086', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5017, 'Sweet Water', 2779, '36782', '334', '32.134298', '-87.916462', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5018, 'Auburn', 2779, '36849', '334', '32.599435', '-85.488958', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5019, 'Auburn Univ', 2779, '36849', '334', '32.599435', '-85.488958', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5020, 'Auburn University', 2779, '36849', '334', '32.599435', '-85.488958', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5021, 'Auburn Unvrsty', 2779, '36849', '334', '32.599435', '-85.488958', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5022, 'Phenix City', 2779, '36867', '334', '32.49148', '-85.031052', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5023, 'Bellamy', 2779, '36901', '205', '32.426668', '-88.135101', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5024, 'Pennington', 2779, '36916', '205', '32.231961', '-88.025998', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5025, 'Stanton', 2779, '36790', '334', '32.7258', '-86.939044', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5026, 'Seale', 2779, '36875', '334', '32.313804', '-85.167778', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5027, 'Phoenix', 2782, '85009', '602', '33.445564', '-112.125754', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5028, 'Phoenix', 2782, '85034', '602', '33.432017', '-112.012424', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5029, 'Phoenix', 2782, '85036', '602', '33.4486', '-112.0733', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5030, 'Phoenix', 2782, '85050', '602', '33.690932', '-111.995554', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5031, 'Phoenix', 2782, '85061', '602', '33.4486', '-112.0733', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5032, 'Phoenix', 2782, '85070', '480', '33.4488', '-112.0742', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5033, 'Anthem', 2782, '85086', '623', '33.859694', '-112.115872', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5034, 'Desert Hills', 2782, '85086', '623', '33.859694', '-112.115872', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5035, 'Phoenix', 2782, '85086', '623', '33.859694', '-112.115872', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5036, 'Apache Jct', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5037, 'Apache Junction', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5038, 'Gold Canyon', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5039, 'Queen Valley', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5040, 'Superstition Mountain', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5041, 'Superstition Mtn', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5042, 'Suprstitn Mtn', 2782, '85118', '520', '33.359389', '-111.440265', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5043, 'Apache Jct', 2782, '85120', '480', '33.414893', '-111.553493', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5044, 'Apache Junction', 2782, '85120', '480', '33.414893', '-111.553493', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5045, 'Mesa', 2782, '85209', '480', '33.376145', '-111.63433', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5046, 'Gilbert', 2782, '85234', '480', '33.364632', '-111.747279', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5047, 'Higley', 2782, '85236', '480', '33.333938', '-111.702823', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5048, 'Gilbert', 2782, '85295', '480', '33.30677', '-111.743248', '2018-11-29 04:50:03', '2018-11-29 04:50:03'),\n(5049, 'Glendale', 2782, '85304', '623', '33.596208', '-112.179006', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5050, 'Gbafaf', 2782, '85309', '623', '33.535249', '-112.38036', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5051, 'Glendale', 2782, '85309', '623', '33.535249', '-112.38036', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5052, 'Luke AFB', 2782, '85309', '623', '33.535249', '-112.38036', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5053, 'Luke Air Force Base', 2782, '85309', '623', '33.535249', '-112.38036', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5054, 'Tonopah', 2782, '85354', '623', '33.442828', '-112.986996', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5055, 'Youngtown', 2782, '85363', '623', '33.593394', '-112.307151', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5056, 'Globe', 2782, '85502', '928', '33.3944', '-110.7858', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5057, 'Benson', 2782, '85602', '520', '32.199172', '-110.330384', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5058, 'Cascabel', 2782, '85602', '520', '32.199172', '-110.330384', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5059, 'Mescal', 2782, '85602', '520', '32.199172', '-110.330384', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5060, 'Redington', 2782, '85602', '520', '32.199172', '-110.330384', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5061, 'Fort Huachuca', 2782, '85613', '520', '31.56675', '-110.383138', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5062, 'Sierra Vista', 2782, '85613', '520', '31.56675', '-110.383138', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5063, 'Mammoth', 2782, '85618', '520', '32.703601', '-110.655066', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5064, 'Pomerene', 2782, '85627', '520', '32.09455', '-110.139491', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5065, 'Tombstone', 2782, '85638', '520', '31.711409', '-110.013324', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5066, 'Rillito', 2782, '85654', '520', '32.419851', '-111.177608', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5067, 'Fort Huachuca', 2782, '85670', '520', '31.564', '-110.3435', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5068, 'Sierra Vista', 2782, '85670', '520', '31.564', '-110.3435', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5069, 'Tucson', 2782, '85720', '520', '32.2217', '-110.9259', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5070, 'Tucson', 2782, '85722', '520', '32.2217', '-110.9259', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5071, 'Tucson', 2782, '85745', '520', '32.256666', '-111.055394', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5072, 'Rincon', 2782, '85747', '520', '32.098451', '-110.730798', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5073, 'Tucson', 2782, '85747', '520', '32.098451', '-110.730798', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5074, 'Tucson', 2782, '85754', '520', '32.2217', '-110.9259', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5075, 'Lakeside', 2782, '85929', '928', '34.175548', '-109.94807', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5076, 'Springerville', 2782, '85938', '928', '34.152646', '-109.4531', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5077, 'Springville', 2782, '85938', '928', '34.152646', '-109.4531', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5078, 'Flagstaff', 2782, '86011', '928', '35.1984', '-111.6508', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5079, 'Nau', 2782, '86011', '928', '35.1984', '-111.6508', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5080, 'Cameron', 2782, '86020', '928', '36.05591', '-111.449813', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5081, 'Cedar Ridge', 2782, '86020', '928', '36.05591', '-111.449813', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5082, 'Cane Beds', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5083, 'Fredonia', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5084, 'Jacob Lake', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5085, 'Kaibab', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5086, 'Kaibab Indian Reservation', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5087, 'Moccasin', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5088, 'Pipe Spring National Monumen', 2782, '86022', '928', '36.522414', '-112.253915', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5089, 'Flagstaff', 2782, '86038', '928', '34.9433', '-111.428213', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5090, 'Mormon Lake', 2782, '86038', '928', '34.9433', '-111.428213', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5091, 'Coal Mine Mesa', 2782, '86045', '928', '35.943842', '-111.446255', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5092, 'Moenave', 2782, '86045', '928', '35.943842', '-111.446255', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5093, 'Moenkopi', 2782, '86045', '928', '35.943842', '-111.446255', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5094, 'Rare Metals', 2782, '86045', '928', '35.943842', '-111.446255', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5095, 'Tuba City', 2782, '86045', '928', '35.943842', '-111.446255', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5096, 'Sedona', 2782, '86340', '928', '34.8582', '-111.7867', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5097, 'Lake Havasu City', 2782, '86404', '928', '34.649452', '-114.187447', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5098, 'Lk Havasu Cty', 2782, '86404', '928', '34.649452', '-114.187447', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5099, 'Chloride', 2782, '86431', '928', '35.427412', '-114.212995', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5100, 'Mohave Valley', 2782, '86440', '928', '34.907044', '-114.540028', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5101, 'Allentown', 2782, '86506', '928', '35.337982', '-109.254749', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5102, 'Houck', 2782, '86506', '928', '35.337982', '-109.254749', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5103, 'Oak Springs', 2782, '86506', '928', '35.337982', '-109.254749', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5104, 'Pine Springs', 2782, '86506', '928', '35.337982', '-109.254749', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5105, 'Yorba Linda', 2783, '92885', '714', '33.8876', '-117.8023', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5106, 'Yorba Linda', 2783, '92887', '714', '33.887112', '-117.729229', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5107, 'Casitas Springs', 2783, '93001', '805', '34.334886', '-119.350734', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5108, 'La Conchita', 2783, '93001', '805', '34.334886', '-119.350734', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5109, 'San Buenaventura', 2783, '93001', '805', '34.334886', '-119.350734', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5110, 'Ventura', 2783, '93001', '805', '34.334886', '-119.350734', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5111, 'Moorpark', 2783, '93020', '805', '34.2858', '-118.8813', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5112, 'Oxnard', 2783, '93035', '805', '34.176237', '-119.224554', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5113, 'Santa Barbara', 2783, '93120', '805', '34.4233', '-119.7035', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5114, 'Santa Barbara', 2783, '93121', '805', '34.4233', '-119.7035', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5115, 'Arvin', 2783, '93203', '661', '35.114535', '-118.818286', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5116, 'Di Giorgio', 2783, '93203', '661', '35.114535', '-118.818286', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5117, 'Kaweah', 2783, '93237', '559', '36.4699', '-118.8927', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5118, 'Kernville', 2783, '93238', '760', '35.72847', '-118.372375', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5119, 'River Kern', 2783, '93238', '760', '35.72847', '-118.372375', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5120, 'Maricopa', 2783, '93252', '661', '34.993648', '-119.349686', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5121, 'Three Rivers', 2783, '93271', '559', '36.435979', '-118.742725', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5122, 'Bakersfield', 2783, '93304', '661', '35.332259', '-119.022485', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5123, 'Bakersfield', 2783, '93389', '661', '35.3736', '-119.0176', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5124, 'San Luis Obispo', 2783, '93403', '805', '35.2828', '-120.6587', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5125, 'Sn Luis Obisp', 2783, '93403', '805', '35.2828', '-120.6587', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5126, 'Lompoc', 2783, '93437', '805', '34.650482', '-120.553073', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5127, 'Vandenberg AFB', 2783, '93437', '805', '34.650482', '-120.553073', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5128, 'Vandenberg Air Force Base', 2783, '93437', '805', '34.650482', '-120.553073', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5129, 'Vandenbrg AFB', 2783, '93437', '805', '34.650482', '-120.553073', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5130, 'Ragged Point', 2783, '93452', '805', '35.695289', '-121.158428', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5131, 'San Simeon', 2783, '93452', '805', '35.695289', '-121.158428', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5132, 'Garey', 2783, '93454', '805', '34.928658', '-120.22762', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5133, 'Rancho Suey', 2783, '93454', '805', '34.928658', '-120.22762', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5134, 'Santa Maria', 2783, '93454', '805', '34.928658', '-120.22762', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5135, 'Sisquoc', 2783, '93454', '805', '34.928658', '-120.22762', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5136, 'Orcutt', 2783, '93455', '805', '34.806934', '-120.391421', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5137, 'Santa Maria', 2783, '93455', '805', '34.806934', '-120.391421', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5138, 'Garlock', 2783, '93554', '760', '35.409073', '-117.723998', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5139, 'Johannesburg', 2783, '93554', '760', '35.409073', '-117.723998', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5140, 'Randsburg', 2783, '93554', '760', '35.409073', '-117.723998', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5141, 'Lancaster', 2783, '93586', '661', '34.6981', '-118.1355', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5142, 'Quartz Hill', 2783, '93586', '661', '34.6981', '-118.1355', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5143, 'Badger', 2783, '93603', '559', '36.60697', '-118.900937', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5144, 'Miramonte', 2783, '93603', '559', '36.60697', '-118.900937', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5145, 'Biola', 2783, '93606', '559', '36.799606', '-120.019539', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5146, 'Dunlap', 2783, '93621', '559', '36.739245', '-119.050891', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5147, 'Firebaugh', 2783, '93622', '559', '36.847479', '-120.558028', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5148, 'Madera', 2783, '93636', '559', '36.976845', '-119.87014', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5149, 'Navelencia', 2783, '93654', '559', '36.661853', '-119.380455', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5150, 'Reedley', 2783, '93654', '559', '36.661853', '-119.380455', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5151, 'Riverdale', 2783, '93656', '559', '36.465378', '-119.921821', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5152, 'Fresno', 2783, '93720', '559', '36.861368', '-119.761194', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5153, 'Fresno', 2783, '93721', '559', '36.729242', '-119.788794', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5154, 'Fresno', 2783, '93723', '559', '36.78786', '-119.952447', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5155, 'Fresno', 2783, '93772', '559', '36.7475', '-119.7716', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5156, 'Fresno', 2783, '93790', '559', '36.7475', '-119.7716', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5157, 'Fresno', 2783, '93888', '559', '36.7475', '-119.7716', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5158, 'Irs Service Center', 2783, '93888', '559', '36.7475', '-119.7716', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5159, 'Prunedale', 2783, '93907', '831', '36.76913', '-121.65049', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5160, 'Salinas', 2783, '93907', '831', '36.76913', '-121.65049', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5161, 'Newport Beach', 2783, '92661', '949', '33.5982', '-117.903224', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5162, 'Mission Viejo', 2783, '92675', '949', '33.570482', '-117.549656', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5163, 'San Juan Capistrano', 2783, '92675', '949', '33.570482', '-117.549656', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5164, 'San Juan Capo', 2783, '92675', '949', '33.570482', '-117.549656', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5165, 'Modjeska', 2783, '92676', '714', '33.751139', '-117.607801', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5166, 'Modjeska Canyon', 2783, '92676', '714', '33.751139', '-117.607801', '2018-11-29 04:50:04', '2018-11-29 04:50:04'),\n(5167, 'Silverado', 2783, '92676', '714', '33.751139', '-117.607801', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5168, 'Trabuco Canyon', 2783, '92678', '949', '33.6636', '-117.5894', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5169, 'Trabuco Cyn', 2783, '92678', '949', '33.6636', '-117.5894', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5170, 'San Juan Capistrano', 2783, '92693', '949', '33.5017', '-117.6618', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5171, 'San Juan Capo', 2783, '92693', '949', '33.5017', '-117.6618', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5172, 'Santa Ana', 2783, '92712', '714', '33.7457', '-117.8669', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5173, 'Anaheim', 2783, '92812', '714', '33.8355', '-117.9136', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5174, 'Garden Grove', 2783, '92843', '714', '33.75338', '-117.92451', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5175, 'Garden Grove', 2783, '92844', '714', '33.759488', '-117.973927', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5176, 'Garden Grove', 2783, '92845', '714', '33.78296', '-118.026926', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5177, 'Orange', 2783, '92859', '714', '33.7878', '-117.8523', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5178, 'Orange', 2783, '92861', '714', '33.816502', '-117.810302', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5179, 'Villa Park', 2783, '92861', '714', '33.816502', '-117.810302', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5180, 'Orange', 2783, '92862', '714', '33.811156', '-117.699084', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5181, 'Corona', 2783, '92878', '909', '33.8754', '-117.5659', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5182, 'Camarillo', 2783, '93010', '805', '34.23224', '-119.076379', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5183, 'Camarillo', 2783, '93011', '805', '34.2167', '-119.0368', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5184, 'Naval Base Ventura County', 2783, '93043', '805', '34.160116', '-119.207112', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5185, 'Port Hueneme', 2783, '93043', '805', '34.160116', '-119.207112', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5186, 'Port Hueneme Cbc Base', 2783, '93043', '805', '34.160116', '-119.207112', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5187, 'Port Hueneme Naval Construct', 2783, '93043', '805', '34.160116', '-119.207112', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5188, 'Prt Hueneme', 2783, '93043', '805', '34.160116', '-119.207112', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5189, 'Santa Paula', 2783, '93061', '818', '34.3543', '-119.0583', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5190, 'Simi Valley', 2783, '93062', '805', '34.2707', '-118.7905', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5191, 'Goshen', 2783, '93227', '559', '36.3469', '-119.4219', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5192, 'Hanford', 2783, '93230', '559', '36.30609', '-119.632116', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5193, 'Balance Rock', 2783, '93260', '661', '35.826803', '-118.702126', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5194, 'Posey', 2783, '93260', '661', '35.826803', '-118.702126', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5195, 'Seq Natl Pk', 2783, '93262', '559', '36.608507', '-118.72277', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5196, 'Sequoia National Park', 2783, '93262', '559', '36.608507', '-118.72277', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5197, 'Shafter', 2783, '93263', '661', '35.500007', '-119.303828', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5198, 'Visalia', 2783, '93277', '559', '36.294675', '-119.381281', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5199, 'Visalia', 2783, '93278', '559', '36.3303', '-119.2911', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5200, 'Bakersfield', 2783, '93380', '661', '35.3736', '-119.0176', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5201, 'Los Osos', 2783, '93412', '805', '35.3112', '-120.8314', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5202, 'San Luis Obispo', 2783, '93412', '805', '35.3112', '-120.8314', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5203, 'Sn Luis Obisp', 2783, '93412', '805', '35.3112', '-120.8314', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5204, 'Buellton', 2783, '93427', '805', '34.650996', '-120.222787', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5205, 'Cambria', 2783, '93428', '805', '35.584744', '-120.994319', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5206, 'Cholame', 2783, '93461', '805', '35.624232', '-120.290399', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5207, 'Shandon', 2783, '93461', '805', '35.624232', '-120.290399', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5208, 'Benton', 2783, '93512', '760', '37.812602', '-118.671946', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5209, 'Bishop', 2783, '93512', '760', '37.812602', '-118.671946', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5210, 'Bishop', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5211, 'Chalfant', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5212, 'Chalfant Valley', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5213, 'Chalfant Vly', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5214, 'Hammil Valley', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5215, 'Laws', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5216, 'Round Valley', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5217, 'Rovana', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5218, 'Swall Meadows', 2783, '93514', '760', '37.50606', '-118.377415', '2018-11-29 04:50:05', '2018-11-29 04:50:05');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(5219, 'Crowley Lake', 2783, '93546', '760', '37.651343', '-118.888918', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5220, 'Lake Mary', 2783, '93546', '760', '37.651343', '-118.888918', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5221, 'Mammoth Lakes', 2783, '93546', '760', '37.651343', '-118.888918', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5222, 'Toms Place', 2783, '93546', '760', '37.651343', '-118.888918', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5223, 'Boron', 2783, '93596', '760', '34.9994', '-117.6489', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5224, 'Hume', 2783, '93628', '559', '36.815113', '-118.898278', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5225, 'Miramonte', 2783, '93628', '559', '36.815113', '-118.898278', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5226, 'Kerman', 2783, '93630', '559', '36.694423', '-120.179359', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5227, 'O Neals', 2783, '93645', '559', '37.13789', '-119.672025', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5228, 'East Orosi', 2783, '93647', '559', '36.579709', '-119.210184', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5229, 'Orosi', 2783, '93647', '559', '36.579709', '-119.210184', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5230, 'Conejo', 2783, '93662', '559', '36.554282', '-119.642647', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5231, 'Selma', 2783, '93662', '559', '36.554282', '-119.642647', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5232, 'Fresno', 2783, '93711', '559', '36.842136', '-119.828492', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5233, 'Fresno', 2783, '93712', '559', '36.7475', '-119.7716', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5234, 'Fresno', 2783, '93714', '559', '36.7475', '-119.7716', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5235, 'Fresno', 2783, '93728', '559', '36.757392', '-119.817429', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5236, 'Calwa', 2783, '93745', '559', '36.7109', '-119.7575', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5237, 'Fresno', 2783, '93745', '559', '36.7109', '-119.7575', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5238, 'Aetna Life And Casualty', 2783, '93765', '559', '36.7475', '-119.7716', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5239, 'Fresno', 2783, '93765', '559', '36.7475', '-119.7716', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5240, 'Fresno', 2783, '93778', '559', '36.7475', '-119.7716', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5241, 'Lockwood', 2783, '93932', '831', '35.98618', '-121.221272', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5242, 'Millbrae', 2783, '94030', '650', '37.598486', '-122.403258', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5243, 'Laguna Hills', 2783, '92637', '949', '33.607122', '-117.731077', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5244, 'Laguna Woods', 2783, '92637', '949', '33.607122', '-117.731077', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5245, 'Laguna Beach', 2783, '92652', '949', '33.5425', '-117.7825', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5246, 'Playa', 2783, '92652', '949', '33.5425', '-117.7825', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5247, 'Santa Ana', 2783, '92735', '714', '33.7529', '-117.8554', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5248, 'Anaheim', 2783, '92803', '714', '33.8355', '-117.9136', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5249, 'Fullerton', 2783, '92835', '714', '33.902868', '-117.905932', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5250, 'Fullerton', 2783, '92836', '714', '33.8796', '-117.8978', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5251, 'Orange', 2783, '92868', '714', '33.788154', '-117.881695', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5252, 'Placentia', 2783, '92871', '714', '33.8848', '-117.8578', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5253, 'Redwood City', 2783, '94063', '650', '37.505169', '-122.204796', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5254, 'Redwood City', 2783, '94064', '650', '37.4864', '-122.2336', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5255, 'San Francisco', 2783, '94115', '415', '37.78597', '-122.437262', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5256, 'Sacramento', 2783, '94230', '916', '38.5819', '-121.4935', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5257, 'Sacramento', 2783, '94263', '916', '38.5819', '-121.4935', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5258, 'Sacramento', 2783, '94282', '916', '38.5819', '-121.4935', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5259, 'Sacramento', 2783, '94283', '916', '38.5819', '-121.4935', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5260, 'Sacramento', 2783, '94296', '916', '38.5819', '-121.4935', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5261, 'Postal Data Center', 2783, '94497', '650', '37.5633', '-122.3246', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5262, 'San Mateo', 2783, '94497', '650', '37.5633', '-122.3246', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5263, 'Canyon', 2783, '94516', '925', '37.8329', '-122.1891', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5264, 'Knightsen', 2783, '94548', '925', '37.977433', '-121.644217', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5265, 'Bay Point', 2783, '94565', '925', '38.009466', '-121.928059', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5266, 'Pittsburg', 2783, '94565', '925', '38.009466', '-121.928059', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5267, 'Port Chicago', 2783, '94565', '925', '38.009466', '-121.928059', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5268, 'West Pittsburg', 2783, '94565', '925', '38.009466', '-121.928059', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5269, 'Pleasanton', 2783, '94566', '925', '37.645309', '-121.84965', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5270, 'Pope Valley', 2783, '94567', '707', '38.680782', '-122.444142', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5271, 'Walnut Creek', 2783, '94597', '925', '37.918043', '-122.073482', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5272, 'Oakland', 2783, '94614', '510', '37.8046', '-122.2699', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5273, 'Oakland', 2783, '94615', '510', '37.8124', '-122.2666', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5274, 'Oakland', 2783, '94617', '510', '37.8039', '-122.2682', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5275, 'Ebmud', 2783, '94649', '510', '37.8046', '-122.2699', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5276, 'Oakland', 2783, '94649', '510', '37.8046', '-122.2699', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5277, 'N Richmond', 2783, '94801', '510', '37.958242', '-122.379884', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5278, 'North Richmond', 2783, '94801', '510', '37.958242', '-122.379884', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5279, 'Point Richmond', 2783, '94801', '510', '37.958242', '-122.379884', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5280, 'Pt Richmond', 2783, '94801', '510', '37.958242', '-122.379884', '2018-11-29 04:50:05', '2018-11-29 04:50:05'),\n(5281, 'Richmond', 2783, '94801', '510', '37.958242', '-122.379884', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5282, 'San Anselmo', 2783, '94901', '415', '37.971938', '-122.504395', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5283, 'San Rafael', 2783, '94901', '415', '37.971938', '-122.504395', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5284, 'Mission Rafael', 2783, '94915', '415', '37.9736', '-122.5308', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5285, 'San Rafael', 2783, '94915', '415', '37.9736', '-122.5308', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5286, 'Cotati', 2783, '94931', '707', '38.325578', '-122.704138', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5287, 'Olema', 2783, '94950', '415', '38.042137', '-122.773596', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5288, 'Penngrove', 2783, '94951', '707', '38.319614', '-122.640193', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5289, 'Alviso', 2783, '95002', '408', '37.440986', '-121.990573', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5290, 'San Jose', 2783, '95002', '408', '37.440986', '-121.990573', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5291, 'Santa Cruz', 2783, '95066', '831', '37.072157', '-122.007148', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5292, 'Scotts Valley', 2783, '95066', '831', '37.072157', '-122.007148', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5293, 'Corona Del Mar', 2783, '92625', '949', '33.599362', '-117.865873', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5294, 'Corona Dl Mar', 2783, '92625', '949', '33.599362', '-117.865873', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5295, 'Costa Mesa', 2783, '92626', '714', '33.679094', '-117.90553', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5296, 'Newport Beach', 2783, '92659', '949', '33.6187', '-117.9283', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5297, 'Laguna Beach', 2783, '92677', '949', '33.533718', '-117.707353', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5298, 'Laguna Niguel', 2783, '92677', '949', '33.533718', '-117.707353', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5299, 'Atwood', 2783, '92811', '714', '33.8657', '-117.8301', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5300, 'Garden Grove', 2783, '92842', '714', '33.7875', '-117.9332', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5301, 'Norco', 2783, '92860', '714', '33.926384', '-117.5628', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5302, 'Corona', 2783, '92879', '909', '33.876666', '-117.535892', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5303, 'Camarillo', 2783, '93012', '805', '34.198628', '-118.978302', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5304, 'Santa Rosa Va', 2783, '93012', '805', '34.198628', '-118.978302', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5305, 'Santa Rosa Valley', 2783, '93012', '805', '34.198628', '-118.978302', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5306, 'Carpinteria', 2783, '93013', '805', '34.413229', '-119.516733', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5307, 'Naval Base Ventura County', 2783, '93044', '805', '34.1475', '-119.1945', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5308, 'Port Hueneme', 2783, '93044', '805', '34.1475', '-119.1945', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5309, 'Port Hueneme Cbc Base', 2783, '93044', '805', '34.1475', '-119.1945', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5310, 'Simi Valley', 2783, '93094', '805', '34.2706', '-118.7544', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5311, 'Coalinga', 2783, '93210', '559', '36.175012', '-120.423683', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5312, 'Lemoore', 2783, '93245', '559', '36.290444', '-119.837155', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5313, 'Lemoore Nas', 2783, '93245', '559', '36.290444', '-119.837155', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5314, 'Visalia', 2783, '93279', '559', '36.3303', '-119.2911', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5315, 'Wasco', 2783, '93280', '661', '35.6308', '-119.421502', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5316, 'Bakersfield', 2783, '93312', '661', '35.389461', '-119.11982', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5317, 'Bakersfield', 2783, '93313', '661', '35.156362', '-119.046687', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5318, 'Pumpkin Center', 2783, '93313', '661', '35.156362', '-119.046687', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5319, 'Pumpkin Ctr', 2783, '93313', '661', '35.156362', '-119.046687', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5320, 'Cayucos', 2783, '93430', '805', '35.482734', '-120.914676', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5321, 'Adelaide', 2783, '93446', '805', '35.650598', '-120.744443', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5322, 'Heritage Ranch', 2783, '93446', '805', '35.650598', '-120.744443', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5323, 'Heritage Rnch', 2783, '93446', '805', '35.650598', '-120.744443', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5324, 'Lake Nacimiento', 2783, '93446', '805', '35.650598', '-120.744443', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5325, 'Nacimiento Lake', 2783, '93446', '805', '35.650598', '-120.744443', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5326, 'Paso Robles', 2783, '93446', '805', '35.650598', '-120.744443', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5327, 'Paso Robles', 2783, '93447', '805', '35.666434', '-120.645064', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5328, 'Crystalaire', 2783, '93544', '661', '34.473049', '-117.759089', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5329, 'Llano', 2783, '93544', '661', '34.473049', '-117.759089', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5330, 'Alabama Hills', 2783, '93545', '760', '36.265216', '-117.979614', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5331, 'Dolomite', 2783, '93545', '760', '36.265216', '-117.979614', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5332, 'Lone Pine', 2783, '93545', '760', '36.265216', '-117.979614', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5333, 'Panamint Springs', 2783, '93545', '760', '36.265216', '-117.979614', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5334, 'Swansea', 2783, '93545', '760', '36.265216', '-117.979614', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5335, 'Alpine Forest', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5336, 'Bear Valley Springs', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5337, 'Bear Vly Spgs', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5338, 'California Correctional Inst', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5339, 'Golden Hills', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5340, 'Monolith', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5341, 'Sand Canyon', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5342, 'Stallion Spgs', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5343, 'Stallion Springs', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5344, 'Tehachapi', 2783, '93561', '661', '35.148304', '-118.479216', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5345, 'Pearblossom', 2783, '93563', '661', '34.301003', '-117.91326', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5346, 'Valyermo', 2783, '93563', '661', '34.301003', '-117.91326', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5347, 'Clovis', 2783, '93611', '559', '36.826126', '-119.678881', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5348, 'Clovis', 2783, '93612', '559', '36.8104', '-119.713282', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5349, 'Clovis', 2783, '93613', '559', '36.8253', '-119.7019', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5350, 'Coarsegold', 2783, '93614', '559', '37.194582', '-119.726352', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5351, 'Orange Cove', 2783, '93646', '559', '36.635476', '-119.265836', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5352, 'Squaw Valley', 2783, '93646', '559', '36.635476', '-119.265836', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5353, 'Parlier', 2783, '93648', '559', '36.6183', '-119.521296', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5354, 'Santa Rita Park', 2783, '93661', '209', '37.0523', '-120.5971', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5355, 'Santa Rita Pk', 2783, '93661', '209', '37.0523', '-120.5971', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5356, 'S Dos Palos', 2783, '93665', '209', '36.957132', '-120.650573', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5357, 'South Dos Palos', 2783, '93665', '209', '36.957132', '-120.650573', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5358, 'Fresno', 2783, '93730', '559', '36.905141', '-119.760045', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5359, 'Salinas', 2783, '93912', '209', '36.6778', '-121.6545', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5360, 'Salinas', 2783, '93915', '831', '36.6778', '-121.6545', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5361, 'King City', 2783, '93930', '831', '36.178586', '-121.002776', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5362, 'Salinas', 2783, '93962', '831', '36.624576', '-121.647613', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5363, 'Spreckels', 2783, '93962', '831', '36.624576', '-121.647613', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5364, 'Colma', 2783, '94014', '650', '37.686703', '-122.438245', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5365, 'Daly City', 2783, '94014', '650', '37.686703', '-122.438245', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5366, 'Emerald Hills', 2783, '94062', '650', '37.408826', '-122.29522', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5367, 'Palomar Park', 2783, '94062', '650', '37.408826', '-122.29522', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5368, 'Redwood City', 2783, '94062', '650', '37.408826', '-122.29522', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5369, 'Woodside', 2783, '94062', '650', '37.408826', '-122.29522', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5370, 'Redwood City', 2783, '94065', '650', '37.534753', '-122.247135', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5371, 'San Bruno', 2783, '94066', '650', '37.618276', '-122.434615', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5372, 'San Francisco', 2783, '94116', '415', '37.744349', '-122.484289', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5373, 'Presidio', 2783, '94129', '415', '37.798782', '-122.466083', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5374, 'San Francisco', 2783, '94129', '415', '37.798782', '-122.466083', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5375, 'San Francisco', 2783, '94146', '415', '37.7753', '-122.4186', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5376, 'San Francisco', 2783, '94147', '415', '37.7753', '-122.4186', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5377, 'San Francisco', 2783, '94163', '415', '37.7753', '-122.4186', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5378, 'Wells Fargo Bank', 2783, '94163', '415', '37.7753', '-122.4186', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5379, 'Sacramento', 2783, '94232', '916', '38.5819', '-121.4935', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5380, 'Sacramento', 2783, '94248', '916', '38.5819', '-121.4935', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5381, 'Byron', 2783, '94514', '925', '37.819326', '-121.642455', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5382, 'Dana Point', 2783, '92624', '949', '33.455734', '-117.664724', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5383, 'Newport Beach', 2783, '92663', '949', '33.626576', '-117.930504', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5384, 'San Clemente', 2783, '92672', '949', '33.392882', '-117.529632', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5385, 'Coto De Caza', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5386, 'Dove Canyon', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5387, 'Portola Hills', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5388, 'Robinson Ranch', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5389, 'Robinson Rnch', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5390, 'Trabuco', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5391, 'Trabuco Canyon', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5392, 'Trabuco Cyn', 2783, '92679', '949', '33.631168', '-117.551611', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5393, 'Mission Viejo', 2783, '92690', '949', '33.6002', '-117.6711', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5394, 'San Juan Capistrano', 2783, '92690', '949', '33.6002', '-117.6711', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5395, 'San Juan Capo', 2783, '92690', '949', '33.6002', '-117.6711', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5396, 'King', 2783, '92706', '714', '33.767558', '-117.881658', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5397, 'Santa Ana', 2783, '92706', '714', '33.767558', '-117.881658', '2018-11-29 04:50:06', '2018-11-29 04:50:06'),\n(5398, 'Fountain Valley', 2783, '92708', '714', '33.710113', '-117.947725', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5399, 'Fountain Vly', 2783, '92708', '714', '33.710113', '-117.947725', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5400, 'Santa Ana', 2783, '92708', '714', '33.710113', '-117.947725', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5401, 'Fullerton', 2783, '92831', '714', '33.876775', '-117.893091', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5402, 'Garden Grove', 2783, '92840', '714', '33.788624', '-117.92768', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5403, 'Corona', 2783, '92883', '626', '33.761147', '-117.49219', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5404, 'Ventura', 2783, '93006', '805', '34.2785', '-119.2925', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5405, 'Ojai', 2783, '93024', '805', '34.4484', '-119.2417', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5406, 'Oxnard', 2783, '93033', '805', '34.145011', '-119.115997', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5407, 'Simi Valley', 2783, '93065', '805', '34.292728', '-118.77721', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5408, 'Summerland', 2783, '93067', '805', '34.418729', '-119.594296', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5409, 'Montecito', 2783, '93108', '805', '34.44996', '-119.558944', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5410, 'Santa Barbara', 2783, '93108', '805', '34.44996', '-119.558944', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5411, 'Goleta', 2783, '93199', '805', '34.4356', '-119.8269', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5412, 'Santa Barbara', 2783, '93199', '805', '34.4356', '-119.8269', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5413, 'Santa Barbara P & D Ctr', 2783, '93199', '805', '34.4356', '-119.8269', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5414, 'Alpaugh', 2783, '93201', '559', '35.869386', '-119.498234', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5415, 'Fellows', 2783, '93224', '661', '35.217872', '-119.597939', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5416, 'Lost Hills', 2783, '93249', '661', '35.614842', '-119.797604', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5417, 'Mc Kittrick', 2783, '93251', '661', '35.366072', '-119.619574', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5418, 'Strathmore', 2783, '93267', '559', '36.147786', '-119.088946', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5419, 'Tulare', 2783, '93274', '559', '36.172808', '-119.36302', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5420, 'Tupman', 2783, '93276', '661', '35.238934', '-119.296823', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5421, 'Weldon', 2783, '93283', '760', '35.515746', '-118.188843', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5422, 'Visalia', 2783, '93290', '559', '36.3279', '-119.3003', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5423, 'Bakersfield', 2783, '93306', '661', '35.42552', '-118.865575', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5424, 'Bakersfield', 2783, '93308', '661', '35.54207', '-118.939604', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5425, 'Bakersfield', 2783, '93385', '661', '35.3736', '-119.0176', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5426, 'Bakersfield', 2783, '93390', '661', '35.3813', '-119.0123', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5427, 'Cal Poly Slo', 2783, '93410', '805', '35.2797', '-120.6618', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5428, 'Cal Poly Student Dorms', 2783, '93410', '805', '35.2797', '-120.6618', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5429, 'San Luis Obispo', 2783, '93410', '805', '35.2797', '-120.6618', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5430, 'Sn Luis Obisp', 2783, '93410', '805', '35.2797', '-120.6618', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5431, 'Camp Roberts', 2783, '93451', '805', '35.880954', '-120.472684', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5432, 'Parkfield', 2783, '93451', '805', '35.880954', '-120.472684', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5433, 'San Miguel', 2783, '93451', '805', '35.880954', '-120.472684', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5434, 'Santa Maria', 2783, '93458', '805', '34.955614', '-120.499379', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5435, 'Grover Beach', 2783, '93483', '805', '35.1218', '-120.6204', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5436, 'Edward', 2783, '93524', '661', '34.908988', '-117.623495', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5437, 'Edwards', 2783, '93524', '661', '34.908988', '-117.623495', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5438, 'Edwards AFB', 2783, '93524', '661', '34.908988', '-117.623495', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5439, 'Edwards Air Force Base', 2783, '93524', '661', '34.908988', '-117.623495', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5440, 'Rosamond', 2783, '93560', '661', '34.94433', '-118.495187', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5441, 'Tropico Village', 2783, '93560', '661', '34.94433', '-118.495187', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5442, 'Willow Spgs', 2783, '93560', '661', '34.94433', '-118.495187', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5443, 'Willow Springs', 2783, '93560', '661', '34.94433', '-118.495187', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5444, 'Trona', 2783, '93592', '760', '35.7629', '-117.3718', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5445, 'Huntingtn Bch', 2783, '92649', '714', '33.72226', '-118.05429', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5446, 'Huntington Beach', 2783, '92649', '714', '33.72226', '-118.05429', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5447, 'Aliso Viejo', 2783, '92656', '949', '33.57358', '-117.729559', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5448, 'Laguna Beach', 2783, '92656', '949', '33.57358', '-117.729559', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5449, 'Laguna Hills', 2783, '92656', '949', '33.57358', '-117.729559', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5450, 'Irvine', 2783, '92697', '949', '33.64732', '-117.840944', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5451, 'Uc Irvine', 2783, '92697', '949', '33.64732', '-117.840944', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5452, 'Univ Of California Irvine', 2783, '92697', '949', '33.64732', '-117.840944', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5453, 'Tustin', 2783, '92781', '714', '33.7392', '-117.8162', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5454, 'Anaheim', 2783, '92808', '714', '33.847732', '-117.737974', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5455, 'Anaheim Hills', 2783, '92808', '714', '33.847732', '-117.737974', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5456, 'Anaheim', 2783, '92815', '714', '33.8355', '-117.9136', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5457, 'Brea', 2783, '92822', '714', '33.9235', '-117.8904', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5458, 'Fullerton', 2783, '92833', '714', '33.880916', '-117.963038', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5459, 'Orange', 2783, '92856', '714', '33.7878', '-117.8523', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5460, 'Orange', 2783, '92863', '714', '33.7878', '-117.8523', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5461, 'Orange', 2783, '92865', '714', '33.829758', '-117.850528', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5462, 'Corona', 2783, '92881', '951', '33.836901', '-117.47195', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5463, 'Anaheim', 2783, '92899', '714', '33.8354', '-117.9148', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5464, 'Gaviota', 2783, '93117', '805', '34.511736', '-120.062476', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5465, 'Goleta', 2783, '93117', '805', '34.511736', '-120.062476', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5466, 'Isla Vista', 2783, '93117', '805', '34.511736', '-120.062476', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5467, 'Santa Barbara', 2783, '93117', '805', '34.511736', '-120.062476', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5468, 'Santa Barbara', 2783, '93190', '805', '34.4233', '-119.7035', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5469, 'Camp Nelson', 2783, '93208', '559', '36.062866', '-118.583808', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5470, 'Springville', 2783, '93208', '559', '36.062866', '-118.583808', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5471, 'Delano', 2783, '93215', '661', '35.722618', '-119.152056', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5472, 'Glennville', 2783, '93226', '661', '35.728749', '-118.67955', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5473, 'Laton', 2783, '93242', '559', '36.43753', '-119.699301', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5474, 'Pixley', 2783, '93256', '559', '35.986006', '-119.317214', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5475, 'Porterville', 2783, '93258', '559', '36.0653', '-119.0158', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5476, 'Visalia', 2783, '93292', '559', '36.360688', '-119.211444', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5477, 'San Luis Obispo', 2783, '93408', '805', '35.2807', '-120.6619', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5478, 'Slo County Govt Ctr', 2783, '93408', '805', '35.2807', '-120.6619', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5479, 'Sn Luis Obisp', 2783, '93408', '805', '35.2807', '-120.6619', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5480, 'Bradley', 2783, '93426', '805', '35.916375', '-121.013606', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5481, 'Lake Nacimiento', 2783, '93426', '805', '35.916375', '-121.013606', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5482, 'Nacimiento Lake', 2783, '93426', '805', '35.916375', '-121.013606', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5483, 'Oak Shores', 2783, '93426', '805', '35.916375', '-121.013606', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5484, 'Los Alamos', 2783, '93440', '805', '34.762271', '-120.268335', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5485, 'Morro Bay', 2783, '93442', '805', '35.399229', '-120.784776', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5486, 'Pismo Beach', 2783, '93449', '805', '35.156442', '-120.659886', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5487, 'Shell Beach', 2783, '93449', '805', '35.156442', '-120.659886', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5488, 'Templeton', 2783, '93465', '805', '35.529975', '-120.718095', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5489, 'Bishop', 2783, '93515', '760', '37.3637', '-118.3944', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5490, 'Bridgeport', 2783, '93517', '760', '38.289161', '-119.07006', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5491, 'Little Lake', 2783, '93542', '760', '35.9356', '-117.9074', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5492, 'Cartago', 2783, '93549', '760', '36.312549', '-117.865729', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5493, 'Olancha', 2783, '93549', '760', '36.312549', '-117.865729', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5494, 'City Ranch', 2783, '93551', '661', '34.579825', '-118.243456', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5495, 'Leona Valley', 2783, '93551', '661', '34.579825', '-118.243456', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5496, 'Palmdale', 2783, '93551', '661', '34.579825', '-118.243456', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5497, 'Quartz Hill', 2783, '93551', '661', '34.579825', '-118.243456', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5498, 'Johannesburg', 2783, '93558', '760', '35.6038', '-117.6353', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5499, 'Red Mountain', 2783, '93558', '760', '35.6038', '-117.6353', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5500, 'Palmdale', 2783, '93590', '661', '34.5797', '-118.1159', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5501, 'Lockheed Advanced Dev Co', 2783, '93599', '661', '34.5797', '-118.1159', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5502, 'Palmdale', 2783, '93599', '661', '34.5797', '-118.1159', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5503, 'Cantua Creek', 2783, '93608', '559', '36.528589', '-120.322923', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5504, 'Three Rocks', 2783, '93608', '559', '36.528589', '-120.322923', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5505, 'Clovis', 2783, '93619', '559', '36.928825', '-119.577571', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5506, 'Friant', 2783, '93626', '559', '37.06178', '-119.648763', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5507, 'Grant Grove', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5508, 'Kcnp', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5509, 'Kings Canyon', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5510, 'Kings Canyon National Pk', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5511, 'Kings Canyon Natl Park', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:07', '2018-11-29 04:50:07'),\n(5512, 'Miramonte', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5513, 'Wilsonia', 2783, '93633', '559', '36.878496', '-118.848818', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5514, 'Mono Hot Spgs', 2783, '93642', '559', '37.3269', '-119.0169', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5515, 'Mono Hot Springs', 2783, '93642', '559', '37.3269', '-119.0169', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5516, 'Shaver Lake', 2783, '93642', '559', '37.3269', '-119.0169', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5517, 'Piedra', 2783, '93649', '559', '36.8105', '-119.3813', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5518, 'Tollhouse', 2783, '93667', '559', '36.996255', '-119.389369', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5519, 'Fresno', 2783, '93701', '559', '36.750442', '-119.792952', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5520, 'Fresno', 2783, '93708', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5521, 'Fresno', 2783, '93744', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5522, 'Fresno', 2783, '93774', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5523, 'Fresno', 2783, '93776', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5524, 'Fresno', 2783, '93794', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5525, 'Fresno', 2783, '93844', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5526, 'Irs Service Center', 2783, '93844', '559', '36.7475', '-119.7716', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5527, 'Corral De Tie', 2783, '93908', '831', '36.641835', '-121.586874', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5528, 'Corral De Tierra', 2783, '93908', '831', '36.641835', '-121.586874', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5529, 'Salinas', 2783, '93908', '831', '36.641835', '-121.586874', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5530, 'Fort Hunter Liggett', 2783, '93928', '831', '36.007824', '-121.28529', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5531, 'Ft H Liggett', 2783, '93928', '831', '36.007824', '-121.28529', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5532, 'Jolon', 2783, '93928', '831', '36.007824', '-121.28529', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5533, 'Monterey', 2783, '93944', '831', '36.5719', '-121.9046', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5534, 'Presidio Mtry', 2783, '93944', '831', '36.5719', '-121.9046', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5535, 'Presidio Of Monterey', 2783, '93944', '831', '36.5719', '-121.9046', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5536, 'San Francisco', 2783, '94108', '415', '37.790944', '-122.408733', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5537, 'San Francisco', 2783, '94112', '415', '37.721744', '-122.444601', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5538, 'San Francisco', 2783, '94126', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5539, 'Bank Of America', 2783, '94137', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5540, 'San Francisco', 2783, '94137', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5541, 'Sacramento', 2783, '94203', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5542, 'Sacramento', 2783, '94235', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5543, 'Sacramento', 2783, '94237', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5544, 'Sacramento', 2783, '94244', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5545, 'Sacramento', 2783, '94287', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5546, 'Sacramento', 2783, '94294', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5547, 'American Canyon', 2783, '94503', '707', '38.203596', '-122.231947', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5548, 'American Cyn', 2783, '94503', '707', '38.203596', '-122.231947', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5549, 'Vallejo', 2783, '94503', '707', '38.203596', '-122.231947', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5550, 'Concord', 2783, '94519', '925', '37.990316', '-122.001739', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5551, 'Concord', 2783, '94521', '925', '37.965458', '-121.952671', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5552, 'Diablo', 2783, '94528', '925', '37.84137', '-121.962837', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5553, 'Fairfield', 2783, '94535', '707', '38.273004', '-121.933758', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5554, 'Travis AFB', 2783, '94535', '707', '38.273004', '-121.933758', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5555, 'Castro Valley', 2783, '94546', '510', '37.74827', '-122.11632', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5556, 'Hayward', 2783, '94546', '510', '37.74827', '-122.11632', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5557, 'Newark', 2783, '94560', '510', '37.520602', '-122.049566', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5558, 'Walnut Creek', 2783, '94596', '925', '37.891382', '-122.03577', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5559, 'Oakland', 2783, '94603', '510', '37.739393', '-122.17477', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5560, 'Oakland', 2783, '94619', '510', '37.788034', '-122.16949', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5561, 'Oakland', 2783, '94660', '510', '37.8046', '-122.2699', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5562, 'Safeway Stores', 2783, '94660', '510', '37.8046', '-122.2699', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5563, 'Albany', 2783, '94710', '510', '37.871464', '-122.307095', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5564, 'Berkeley', 2783, '94710', '510', '37.871464', '-122.307095', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5565, 'Richmond', 2783, '94805', '510', '37.943659', '-122.313989', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5566, 'San Pablo', 2783, '94805', '510', '37.943659', '-122.313989', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5567, 'Marinwood', 2783, '94903', '415', '38.023998', '-122.540023', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5568, 'San Rafael', 2783, '94903', '415', '38.023998', '-122.540023', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5569, 'Santa Venetia', 2783, '94903', '415', '38.023998', '-122.540023', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5570, 'Terra Linda', 2783, '94903', '415', '38.023998', '-122.540023', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5571, 'San Rafael', 2783, '94912', '415', '37.9737', '-122.5303', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5572, 'Greenbrae', 2783, '94914', '415', '37.9736', '-122.5308', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5573, 'Kentfield', 2783, '94914', '415', '37.9736', '-122.5308', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5574, 'Fairfax', 2783, '94930', '415', '37.966102', '-122.645482', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5575, 'Nicasio', 2783, '94946', '415', '38.037273', '-122.702092', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5576, 'Pebble Beach', 2783, '93953', '831', '36.587838', '-121.945828', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5577, 'Burlingame', 2783, '94010', '650', '37.567832', '-122.369448', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5578, 'Hillsborough', 2783, '94010', '650', '37.567832', '-122.369448', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5579, 'Half Moon Bay', 2783, '94019', '650', '37.47301', '-122.411098', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5580, 'Princeton By The Sea', 2783, '94019', '650', '37.47301', '-122.411098', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5581, 'Mountain View', 2783, '94042', '650', '37.3862', '-122.0826', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5582, 'Sunnyvale', 2783, '94085', '408', '37.3886', '-122.016779', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5583, 'Sunnyvale', 2783, '94087', '408', '37.35351', '-122.030476', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5584, 'San Francisco', 2783, '94110', '415', '37.748676', '-122.415813', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5585, 'San Francisco', 2783, '94117', '415', '37.769165', '-122.442497', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5586, 'San Francisco', 2783, '94119', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5587, 'San Francisco', 2783, '94128', '650', '37.621434', '-122.379073', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5588, 'San Francisco Intnl Airport', 2783, '94128', '650', '37.621434', '-122.379073', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5589, 'San Francisco', 2783, '94133', '415', '37.811747', '-122.41302', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5590, 'San Francisco', 2783, '94153', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5591, 'Wells Fargo Bank', 2783, '94153', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5592, 'San Francisco', 2783, '94162', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5593, 'Wells Fargo Bank', 2783, '94162', '415', '37.7753', '-122.4186', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5594, 'Sacramento', 2783, '94269', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5595, 'Ca Franchise Tx Brd Brm', 2783, '94278', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5596, 'Sacramento', 2783, '94278', '916', '38.5819', '-121.4935', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5597, 'Palo Alto', 2783, '94301', '650', '37.44296', '-122.151198', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5598, 'San Mateo', 2783, '94401', '650', '37.5742', '-122.319392', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5599, 'Benicia', 2783, '94510', '707', '38.095119', '-122.126088', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5600, 'Birds Landing', 2783, '94512', '707', '38.127521', '-121.839025', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5601, 'Fremont', 2783, '94537', '510', '37.5486', '-121.9875', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5602, 'Oakville', 2783, '94562', '707', '38.4369', '-122.4012', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5603, 'Port Costa', 2783, '94569', '510', '38.046043', '-122.187096', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5604, 'Rio Vista', 2783, '94571', '707', '38.1873', '-121.754271', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5605, 'Angwin', 2783, '94576', '707', '38.54818', '-122.477769', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5606, 'Deer Park', 2783, '94576', '707', '38.54818', '-122.477769', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5607, 'San Leandro', 2783, '94578', '510', '37.709125', '-122.128487', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5608, 'San Lorenzo', 2783, '94580', '510', '37.67811', '-122.135422', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5609, 'Birds Lndg', 2783, '94585', '707', '38.155588', '-121.945124', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5610, 'Suisun City', 2783, '94585', '707', '38.155588', '-121.945124', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5611, 'Oakland', 2783, '94601', '510', '37.776956', '-122.215918', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5612, 'El Toro', 2783, '92630', '949', '33.644304', '-117.678912', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5613, 'Lake Forest', 2783, '92630', '949', '33.644304', '-117.678912', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5614, 'Midway City', 2783, '92655', '714', '33.743174', '-117.985291', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5615, 'Newport Beach', 2783, '92657', '949', '33.59315', '-117.831175', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5616, 'Newport Coast', 2783, '92657', '949', '33.59315', '-117.831175', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5617, 'Cowan Heights', 2783, '92705', '714', '33.744022', '-117.814814', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5618, 'North Tustin', 2783, '92705', '714', '33.744022', '-117.814814', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5619, 'Santa Ana', 2783, '92705', '714', '33.744022', '-117.814814', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5620, 'Santa Ana', 2783, '92707', '714', '33.696593', '-117.870968', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5621, 'South Main', 2783, '92707', '714', '33.696593', '-117.870968', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5622, 'Tustin', 2783, '92780', '714', '33.737629', '-117.821174', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5623, 'Anaheim', 2783, '92807', '714', '33.85117', '-117.788377', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5624, 'Anaheim Hills', 2783, '92807', '714', '33.85117', '-117.788377', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5625, 'Ventura', 2783, '93005', '805', '34.2785', '-119.2925', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5626, 'Oxnard', 2783, '93030', '805', '34.209126', '-119.183078', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5627, 'Naval Base Ventura County', 2783, '93041', '805', '34.14601', '-119.154322', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5628, 'Point Mugu Nawc', 2783, '93041', '805', '34.14601', '-119.154322', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5629, 'Port Hueneme', 2783, '93041', '805', '34.14601', '-119.154322', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5630, 'Pt Mugu Nawc', 2783, '93041', '805', '34.14601', '-119.154322', '2018-11-29 04:50:08', '2018-11-29 04:50:08'),\n(5631, 'Brandeis', 2783, '93064', '818', '34.2316', '-118.7194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5632, 'Simi Valley', 2783, '93064', '818', '34.2316', '-118.7194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5633, 'Kettleman City', 2783, '93239', '559', '35.978028', '-119.817164', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5634, 'Kettleman Cty', 2783, '93239', '559', '35.978028', '-119.817164', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5635, 'Taft', 2783, '93268', '661', '35.173711', '-119.428526', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5636, 'Bakersfield', 2783, '93307', '661', '35.18192', '-118.904576', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5637, 'Cal Poly Slo', 2783, '93407', '805', '35.301683', '-120.660121', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5638, 'Cal Poly University', 2783, '93407', '805', '35.301683', '-120.660121', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5639, 'San Luis Obispo', 2783, '93407', '805', '35.301683', '-120.660121', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5640, 'Sn Luis Obisp', 2783, '93407', '805', '35.301683', '-120.660121', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5641, 'Atascadero', 2783, '93423', '805', '35.4896', '-120.6698', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5642, 'Morro Bay', 2783, '93443', '805', '35.3655', '-120.8487', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5643, 'San Ardo', 2783, '93450', '831', '36.084272', '-120.829852', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5644, 'Mojave', 2783, '93502', '661', '35.0528', '-118.1731', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5645, 'Boron', 2783, '93516', '760', '35.01879', '-117.667921', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5646, 'Desert Lake', 2783, '93516', '760', '35.01879', '-117.667921', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5647, 'Four Corners', 2783, '93516', '760', '35.01879', '-117.667921', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5648, 'Kramer Junction', 2783, '93516', '760', '35.01879', '-117.667921', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5649, 'Del Sur', 2783, '93534', '661', '34.73325', '-118.149194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5650, 'Fairmont', 2783, '93534', '661', '34.73325', '-118.149194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5651, 'Hi Vista', 2783, '93534', '661', '34.73325', '-118.149194', '2018-11-29 04:50:09', '2018-11-29 04:50:09');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(5652, 'Lancaster', 2783, '93534', '661', '34.73325', '-118.149194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5653, 'Lane', 2783, '93534', '661', '34.73325', '-118.149194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5654, 'Wilsona Gardens', 2783, '93534', '661', '34.73325', '-118.149194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5655, 'Helm', 2783, '93627', '559', '36.480292', '-120.166679', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5656, 'Miramonte', 2783, '93641', '559', '36.699105', '-119.048119', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5657, 'Pinehurst', 2783, '93641', '559', '36.699105', '-119.048119', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5658, 'Fresno', 2783, '93650', '559', '36.842406', '-119.803114', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5659, 'Frs', 2783, '93650', '559', '36.842406', '-119.803114', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5660, 'Pinedale', 2783, '93650', '559', '36.842406', '-119.803114', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5661, 'Tranquillity', 2783, '93668', '559', '36.668542', '-120.296743', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5662, 'Fresno', 2783, '93702', '559', '36.741234', '-119.752314', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5663, 'Fresno', 2783, '93716', '559', '36.7475', '-119.7716', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5664, 'Fresno', 2783, '93727', '559', '36.754114', '-119.673254', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5665, 'Fresno', 2783, '93741', '559', '36.767718', '-119.795461', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5666, 'Fresno City College', 2783, '93741', '559', '36.767718', '-119.795461', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5667, 'Fresno', 2783, '93777', '559', '36.7475', '-119.7716', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5668, 'Salinas', 2783, '93902', '831', '36.6778', '-121.6545', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5669, 'Monterey', 2783, '93943', '831', '36.597176', '-121.872933', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5670, 'Del Monte Park', 2783, '93950', '831', '36.617948', '-121.92178', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5671, 'Pacific Grove', 2783, '93950', '831', '36.617948', '-121.92178', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5672, 'Belmont', 2783, '94002', '650', '37.51382', '-122.296253', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5673, 'El Granada', 2783, '94018', '650', '37.5023', '-122.4676', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5674, 'San Francisco', 2783, '94109', '415', '37.796164', '-122.420903', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5675, 'San Francisco', 2783, '94125', '415', '37.7753', '-122.4186', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5676, 'San Francisco', 2783, '94159', '415', '37.7753', '-122.4186', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5677, 'Pacific Gas And Electric', 2783, '94177', '415', '37.7753', '-122.4186', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5678, 'San Francisco', 2783, '94177', '415', '37.7753', '-122.4186', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5679, 'Sacramento', 2783, '94209', '916', '38.5819', '-121.4935', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5680, 'Sacramento', 2783, '94211', '916', '38.5819', '-121.4935', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5681, 'Sacramento', 2783, '94234', '916', '38.5819', '-121.4935', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5682, 'Sacramento', 2783, '94245', '916', '38.5819', '-121.4935', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5683, 'Sacramento', 2783, '94279', '916', '38.5819', '-121.4935', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5684, 'Sacramento', 2783, '94286', '916', '38.5819', '-121.4935', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5685, 'Palo Alto', 2783, '94302', '650', '37.4417', '-122.1417', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5686, 'Concord', 2783, '94527', '925', '37.9784', '-122.0302', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5687, 'Fremont', 2783, '94536', '510', '37.56699', '-121.982656', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5688, 'Fremont', 2783, '94538', '510', '37.510101', '-121.986139', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5689, 'Hayward', 2783, '94543', '510', '37.6687', '-122.0799', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5690, 'Oakley', 2783, '94561', '925', '38.067436', '-121.660468', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5691, 'Moraga', 2783, '94570', '925', '37.8353', '-122.1287', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5692, 'San Leandro', 2783, '94577', '510', '37.715865', '-122.161033', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5693, 'Sunol', 2783, '94586', '925', '37.566652', '-121.882362', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5694, 'Pleasanton', 2783, '94588', '925', '37.690215', '-121.90223', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5695, 'Oakland', 2783, '94602', '510', '37.804666', '-122.205981', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5696, 'Piedmont', 2783, '94602', '510', '37.804666', '-122.205981', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5697, 'Oakland', 2783, '94604', '510', '37.8046', '-122.2699', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5698, 'Oakland', 2783, '94618', '510', '37.844984', '-122.238434', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5699, 'Piedmont', 2783, '94618', '510', '37.844984', '-122.238434', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5700, 'Berkeley', 2783, '94702', '510', '37.864164', '-122.286234', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5701, 'Greenbrae', 2783, '94904', '415', '37.949868', '-122.540733', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5702, 'Kent Woodlands', 2783, '94904', '415', '37.949868', '-122.540733', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5703, 'Kentfield', 2783, '94904', '415', '37.949868', '-122.540733', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5704, 'Dillon Beach', 2783, '94929', '707', '38.252058', '-122.958509', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5705, 'Novato', 2783, '94947', '415', '38.116726', '-122.623298', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5706, 'Stinson Beach', 2783, '94970', '415', '37.916111', '-122.662817', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5707, 'Valley Ford', 2783, '94972', '707', '38.31642', '-122.92668', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5708, 'Larkspur', 2783, '94977', '415', '37.9344', '-122.5344', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5709, 'Aromas', 2783, '95004', '831', '36.875977', '-121.623517', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5710, 'Big Basin', 2783, '95006', '831', '37.16342', '-122.156195', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5711, 'Boulder Creek', 2783, '95006', '831', '37.16342', '-122.156195', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5712, 'Los Gatos', 2783, '95031', '408', '37.2264', '-121.9738', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5713, 'San Juan Bautista', 2783, '95045', '831', '36.852619', '-121.529224', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5714, 'Sn Jun Batsta', 2783, '95045', '831', '36.852619', '-121.529224', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5715, 'Santa Cruz', 2783, '95063', '831', '36.9742', '-122.0297', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5716, 'Ophir', 2784, '81426', '970', '37.8505', '-107.893682', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5717, 'Silverton', 2784, '81433', '970', '37.802096', '-107.716603', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5718, 'Grand Jct', 2784, '81501', '970', '39.070246', '-108.553026', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5719, 'Grand Junction', 2784, '81501', '970', '39.070246', '-108.553026', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5720, 'Collbran', 2784, '81624', '970', '39.204836', '-107.769072', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5721, 'Plateau City', 2784, '81624', '970', '39.204836', '-107.769072', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5722, 'Meredith', 2784, '81642', '970', '39.308676', '-106.582453', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5723, 'Nast', 2784, '81642', '970', '39.308676', '-106.582453', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5724, 'Norrie', 2784, '81642', '970', '39.308676', '-106.582453', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5725, 'Vail', 2784, '81658', '970', '39.6008', '-106.629', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5726, 'Yellow Jacket', 2784, '81335', '970', '37.489071', '-108.793006', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5727, 'Colona', 2784, '81401', '970', '38.420953', '-107.904919', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5728, 'Montrose', 2784, '81401', '970', '38.420953', '-107.904919', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5729, 'Loma', 2784, '81524', '970', '39.262282', '-108.798194', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5730, 'East Orchard Mesa', 2784, '81526', '970', '39.09475', '-108.357692', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5731, 'Palisade', 2784, '81526', '970', '39.09475', '-108.357692', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5732, 'Cardiff', 2784, '81601', '970', '39.610279', '-107.31345', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5733, 'Glenwood', 2784, '81601', '970', '39.610279', '-107.31345', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5734, 'Glenwood Spgs', 2784, '81601', '970', '39.610279', '-107.31345', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5735, 'Glenwood Springs', 2784, '81601', '970', '39.610279', '-107.31345', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5736, 'West Glenwood', 2784, '81601', '970', '39.610279', '-107.31345', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5737, 'Blue Mountain', 2784, '81610', '970', '40.383741', '-108.77619', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5738, 'Dinosaur', 2784, '81610', '970', '40.383741', '-108.77619', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5739, 'Massadona', 2784, '81610', '970', '40.383741', '-108.77619', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5740, 'Dinosaur', 2784, '81633', '970', '40.341524', '-108.341475', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5741, 'Elk Springs', 2784, '81633', '970', '40.341524', '-108.341475', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5742, 'Battlement Mesa', 2784, '81635', '970', '39.530682', '-108.09494', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5743, 'Btlmt Mesa', 2784, '81635', '970', '39.530682', '-108.09494', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5744, 'Grand Valley', 2784, '81635', '970', '39.530682', '-108.09494', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5745, 'Parachute', 2784, '81635', '970', '39.530682', '-108.09494', '2018-11-29 04:50:09', '2018-11-29 04:50:09'),\n(5746, 'Rulison', 2784, '81635', '970', '39.530682', '-108.09494', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5747, 'Red Cliff', 2784, '81649', '970', '39.4556', '-106.288877', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5748, 'Bedrock', 2784, '81411', '970', '38.326514', '-108.880468', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5749, 'Cory', 2784, '81414', '970', '38.7882', '-107.9864', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5750, 'Orchard City', 2784, '81414', '970', '38.7882', '-107.9864', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5751, 'Paradox', 2784, '81429', '970', '38.3685', '-108.9617', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5752, 'Redvale', 2784, '81431', '970', '38.238028', '-108.24291', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5753, 'Snowmass Village', 2784, '81615', '970', '39.221693', '-106.947346', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5754, 'Snowmass Vlg', 2784, '81615', '970', '39.221693', '-106.947346', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5755, 'West Village', 2784, '81615', '970', '39.221693', '-106.947346', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5756, 'Eagle', 2784, '81631', '970', '39.555664', '-106.705078', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5757, 'Cordillera', 2784, '81632', '970', '39.628898', '-106.64039', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5758, 'Edwards', 2784, '81632', '970', '39.628898', '-106.64039', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5759, 'Molina', 2784, '81646', '970', '39.109834', '-107.992663', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5760, 'Lazear', 2784, '81420', '970', '38.7801', '-107.7812', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5761, 'Norwood', 2784, '81423', '970', '37.986985', '-108.340149', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5762, 'Clifton', 2784, '81520', '970', '39.084973', '-108.431819', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5763, 'Gateway', 2784, '81522', '970', '38.760866', '-108.716516', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5764, 'Basalt', 2784, '81621', '970', '39.343184', '-106.82072', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5765, 'Ruedi', 2784, '81621', '970', '39.343184', '-106.82072', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5766, 'Dotsero', 2784, '81637', '970', '39.762456', '-107.085708', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5767, 'Gypsum', 2784, '81637', '970', '39.762456', '-107.085708', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5768, 'Sweetwater', 2784, '81637', '970', '39.762456', '-107.085708', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5769, 'Hamilton', 2784, '81638', '970', '40.337574', '-107.625401', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5770, 'Pagoda', 2784, '81638', '970', '40.337574', '-107.625401', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5771, 'Browns Park', 2784, '81640', '970', '40.65414', '-108.454552', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5772, 'Greystone', 2784, '81640', '970', '40.65414', '-108.454552', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5773, 'Maybell', 2784, '81640', '970', '40.65414', '-108.454552', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5774, 'Slater', 2784, '81653', '970', '40.886099', '-107.547114', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5775, 'Wolcott', 2784, '81655', '970', '39.742732', '-106.586571', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5776, 'Woody Creek', 2784, '81656', '970', '39.301626', '-106.822576', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5777, 'Washington', 2786, '20022', '202', '38.901', '-77.01', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5778, 'Washington', 2786, '20081', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5779, 'Washington Gas', 2786, '20081', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5780, 'Washington', 2786, '20040', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5781, 'Criterion Ins Co', 2786, '20047', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5782, 'Washington', 2786, '20047', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5783, 'Washington', 2786, '20056', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5784, 'Office Personnel Mgmt', 2786, '20415', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5785, 'Washington', 2786, '20415', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5786, 'Gen Services Admin', 2786, '20417', '202', '38.906842', '-77.005815', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5787, 'Washington', 2786, '20417', '202', '38.906842', '-77.005815', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5788, 'Federal Energy Reg Comm', 2786, '20426', '202', '38.9085', '-77.0187', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5789, 'Washington', 2786, '20426', '202', '38.9085', '-77.0187', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5790, 'International Monetary Fund', 2786, '20431', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5791, 'Washington', 2786, '20431', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5792, 'Philatelic Sales Division', 2786, '20265', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5793, 'Washington', 2786, '20265', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5794, 'Library Of Congress', 2786, '20540', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5795, 'Washington', 2786, '20540', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5796, 'Library Of Congress Handicap', 2786, '20542', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5797, 'Washington', 2786, '20542', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5798, 'Comm Tech Uses Copyrights', 2786, '20558', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5799, 'Washington', 2786, '20558', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5800, 'National Gallery Of Art', 2786, '20565', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5801, 'Washington', 2786, '20565', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5802, 'Pre Inaugural Committee', 2786, '20599', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5803, 'Washington', 2786, '20599', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5804, 'Us Synthetic Fuel Corp', 2786, '20586', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5805, 'Washington', 2786, '20586', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5806, 'Dept Treasury', 2786, '20220', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5807, 'Washington', 2786, '20220', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5808, 'District Director Irs', 2786, '20221', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5809, 'Washington', 2786, '20221', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5810, 'Us Treasurer', 2786, '20222', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5811, 'Washington', 2786, '20222', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5812, 'Washington', 2786, '20019', '202', '38.892782', '-76.94051', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5813, 'Washington', 2786, '20035', '202', '38.9009', '-77.0075', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5814, 'Washington', 2786, '20002', '202', '38.908089', '-76.976663', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5815, 'Dept Commerce Outside Hq', 2786, '20235', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5816, 'Washington', 2786, '20235', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5817, 'Broadcasting Bd Of Governors', 2786, '20237', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5818, 'Washington', 2786, '20237', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5819, 'Us Holocaust Memorial Museum', 2786, '20238', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5820, 'Washington', 2786, '20238', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5821, 'Fort Mcnair', 2786, '20319', '202', '38.866137', '-77.01666', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5822, 'Washington', 2786, '20319', '202', '38.866137', '-77.01666', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5823, 'Navy Annex', 2786, '20370', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5824, 'Washington', 2786, '20370', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5825, 'Bur Medicine Surgery', 2786, '20372', '202', '38.8833', '-77.0468', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5826, 'Washington', 2786, '20372', '202', '38.8833', '-77.0468', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5827, 'Washington', 2786, '20038', '202', '38.9191', '-77.0181', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5828, 'Washington', 2786, '20051', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5829, 'Woodward And Lothrop', 2786, '20051', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5830, 'Verizon', 2786, '20053', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5831, 'Washington', 2786, '20053', '202', '38.895', '-77.0367', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5832, 'Naval Intelligence Com', 2786, '20389', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5833, 'Washington', 2786, '20389', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5834, 'Immig And Naturalization Ser', 2786, '20536', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5835, 'Washington', 2786, '20536', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5836, 'Immig And Naturalization Ser', 2786, '20538', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5837, 'Washington', 2786, '20538', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5838, 'Fed Communications Comm', 2786, '20554', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5839, 'Washington', 2786, '20554', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5840, 'Natl Labor Relations Board', 2786, '20570', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5841, 'Washington', 2786, '20570', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5842, 'National Mediation Board', 2786, '20572', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5843, 'Washington', 2786, '20572', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5844, 'Federal Maritime Commission', 2786, '20573', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5845, 'Washington', 2786, '20573', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5846, 'Dept Energy', 2786, '20585', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5847, 'Washington', 2786, '20585', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5848, 'Anacostia', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5849, 'Anacostia Anx', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5850, 'Jbab', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5851, 'Joint Base Anacostia Bolling', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5852, 'Naval Anacost Annex', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5853, 'Naval Station Anacostia', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5854, 'Washington', 2786, '20373', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5855, 'Naval Research Laboratory', 2786, '20375', '202', '38.824713', '-77.022348', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5856, 'Small Business Admin', 2786, '20416', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5857, 'Washington', 2786, '20416', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5858, 'Surface Transportation Board', 2786, '20423', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5859, 'Washington', 2786, '20423', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5860, 'Naval Sea Sys', 2786, '20376', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5861, 'Naval Sea Systems Command', 2786, '20376', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5862, 'Washington', 2786, '20376', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5863, 'Washington Na', 2786, '20376', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5864, 'Washington Navy Yard', 2786, '20376', '202', '38.8951', '-77.0369', '2018-11-29 04:50:10', '2018-11-29 04:50:10'),\n(5865, 'Internal Revenue Service', 2786, '20224', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5866, 'Washington', 2786, '20224', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5867, 'Dept Navy Other Offices', 2786, '20390', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5868, 'Marine Barrks', 2786, '20390', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5869, 'Us Marine Corps Barracks', 2786, '20390', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5870, 'Washington', 2786, '20390', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5871, 'Arms Control And Disarm Agy', 2786, '20451', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5872, 'Washington', 2786, '20451', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5873, 'Navy Yard', 2786, '20374', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5874, 'Washington', 2786, '20374', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5875, 'Washington Na', 2786, '20374', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5876, 'Washington Navy Yard', 2786, '20374', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5877, 'Washington', 2786, '20007', '202', '38.914063', '-77.077395', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5878, 'Washington', 2786, '20009', '202', '38.920392', '-77.038564', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5879, 'Washington', 2786, '20023', '202', '38.901', '-77.01', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5880, 'Catholic Univ', 2786, '20064', '202', '38.93606', '-76.998845', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5881, 'Washington', 2786, '20064', '202', '38.93606', '-76.998845', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5882, 'Washington', 2786, '20066', '202', '38.8989', '-77.0107', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5883, 'Washington Dc Post Office', 2786, '20066', '202', '38.8989', '-77.0107', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5884, 'Pnc Financial', 2786, '20073', '202', '38.895', '-77.0367', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5885, 'Washington', 2786, '20073', '202', '38.895', '-77.0367', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5886, 'Pnc Financial', 2786, '20075', '202', '38.895', '-77.0367', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5887, 'Washington', 2786, '20075', '202', '38.895', '-77.0367', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5888, 'Resolutn Trust Oversight Brd', 2786, '20232', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5889, 'Washington', 2786, '20232', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5890, 'Postal Regulatory Comm', 2786, '20268', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5891, 'Washington', 2786, '20268', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5892, 'Universal Postal Union Congr', 2786, '20289', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5893, 'Washington', 2786, '20289', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5894, 'Us Supreme Court', 2786, '20543', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5895, 'Washington', 2786, '20543', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5896, 'Lib Of Congress Licensing', 2786, '20557', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5897, 'Washington', 2786, '20557', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5898, 'Washington', 2786, '20500', '202', '38.8926', '-77.036', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5899, 'Washington', 2786, '20502', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5900, 'White House Ofc Staff', 2786, '20502', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5901, 'Us Coast Guard', 2786, '20593', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5902, 'Washington', 2786, '20593', '202', '38.8951', '-77.0369', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5903, 'Washington', 2786, '20375', '202', '38.824713', '-77.022348', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5904, 'Dagsboro', 2787, '19939', '302', '38.560246', '-75.205792', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5905, 'Ellendale', 2787, '19941', '302', '38.791699', '-75.41237', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5906, 'Blades', 2787, '19973', '302', '38.631803', '-75.582715', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5907, 'Seaford', 2787, '19973', '302', '38.631803', '-75.582715', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5908, 'Fenwick Island', 2787, '19975', '302', '38.472334', '-75.162247', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5909, 'Selbyville', 2787, '19975', '302', '38.472334', '-75.162247', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5910, 'West Fenwick', 2787, '19975', '302', '38.472334', '-75.162247', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5911, 'Woodside', 2787, '19980', '302', '39.070632', '-75.570177', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5912, 'Delmar', 2787, '19940', '302', '38.486515', '-75.554684', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5913, 'Georgetown', 2787, '19947', '302', '38.667107', '-75.391938', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5914, 'Dover', 2787, '19906', '302', '39.1535', '-75.5431', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5915, 'Rockland', 2787, '19732', '302', '39.794662', '-75.575031', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5916, 'Dover', 2787, '19905', '302', '39.1509', '-75.5328', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5917, 'Elsmere', 2787, '19805', '302', '39.74714', '-75.591917', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5918, 'Wilmington', 2787, '19805', '302', '39.74714', '-75.591917', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5919, 'Christiana Medical Center', 2787, '19718', '302', '39.6837', '-75.7501', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5920, 'Newark', 2787, '19718', '302', '39.6837', '-75.7501', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5921, 'Rehoboth', 2787, '19971', '302', '38.684176', '-75.107826', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5922, 'Rehoboth Bch', 2787, '19971', '302', '38.684176', '-75.107826', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5923, 'Rehoboth Beach', 2787, '19971', '302', '38.684176', '-75.107826', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5924, 'Dewey Bch', 2787, '19971', '302', '38.684176', '-75.107826', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5925, 'Dewey Beach', 2787, '19971', '302', '38.684176', '-75.107826', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5926, 'Newport', 2787, '19804', '302', '39.717001', '-75.620476', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5927, 'Stanton', 2787, '19804', '302', '39.717001', '-75.620476', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5928, 'Wilmington', 2787, '19804', '302', '39.717001', '-75.620476', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5929, 'Bank Of America', 2787, '19886', '302', '39.7459', '-75.5466', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5930, 'Shared Firm Zip', 2787, '19886', '302', '39.7459', '-75.5466', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5931, 'Wilmington', 2787, '19886', '302', '39.7459', '-75.5466', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5932, 'Newark', 2787, '19713', '302', '39.673427', '-75.70538', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5933, 'Camden-Wyoming', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5934, 'Wyoming', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5935, 'Delaware City', 2787, '19706', '302', '39.577859', '-75.58403', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5936, 'Christiana', 2787, '19702', '302', '39.61478', '-75.709128', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5937, 'Newark', 2787, '19702', '302', '39.61478', '-75.709128', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5938, 'Claymont', 2787, '19703', '302', '39.795772', '-75.445359', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5939, 'Winterthur', 2787, '19735', '302', '39.8036', '-75.6117', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5940, 'Dover', 2787, '19904', '302', '39.156462', '-75.606438', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5941, 'Camden', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5942, 'Camden Wyo', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5943, 'Camden Wyoming', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5944, 'Camden-Wy', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5945, 'Camden-Wyo', 2787, '19934', '302', '39.093076', '-75.61424', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5946, 'Clarksville', 2787, '19970', '302', '38.557199', '-75.097121', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5947, 'Millville', 2787, '19970', '302', '38.557199', '-75.097121', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5948, 'Ocean View', 2787, '19970', '302', '38.557199', '-75.097121', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5949, 'Oceanview', 2787, '19970', '302', '38.557199', '-75.097121', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5950, 'Crestview', 2788, '32536', '850', '30.769566', '-86.594069', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5951, 'Jacksonville', 2788, '32254', '904', '30.344659', '-81.734322', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5952, 'Jax', 2788, '32254', '904', '30.344659', '-81.734322', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5953, 'Tallahassee', 2788, '32303', '850', '30.523084', '-84.332434', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5954, 'Lamont', 2788, '32336', '850', '30.257038', '-83.898905', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5955, 'Lloyd', 2788, '32337', '850', '30.473837', '-84.01931', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5956, 'Pembroke Pines', 2788, '33026', '954', '26.026033', '-80.296383', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5957, 'Pembroke Pnes', 2788, '33026', '954', '26.026033', '-80.296383', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5958, 'Chubbuck', 2793, '83202', '208', '42.96484', '-112.580205', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5959, 'Pocatello', 2793, '83202', '208', '42.96484', '-112.580205', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5960, 'Basalt', 2793, '83218', '208', '43.319668', '-112.164689', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5961, 'Firth', 2793, '83236', '208', '43.193557', '-112.110772', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5962, 'Kimball', 2793, '83236', '208', '43.193557', '-112.110772', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5963, 'Lower Presto', 2793, '83236', '208', '43.193557', '-112.110772', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5964, 'Mccammon', 2793, '83250', '208', '42.677235', '-112.183474', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5965, 'Cherry Creek', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5966, 'Daniels', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5967, 'Gwenford', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5968, 'Malad', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5969, 'Malad City', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5970, 'Pleasantview', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5971, 'Stone', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5972, 'Woodruff', 2793, '83252', '208', '42.249807', '-112.53571', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5973, 'Ellis', 2793, '83253', '208', '44.71773', '-113.763224', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5974, 'Idaho State Univ', 2793, '83209', '208', '42.861458', '-112.433602', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5975, 'Isu', 2793, '83209', '208', '42.861458', '-112.433602', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5976, 'Pocatello', 2793, '83209', '208', '42.861458', '-112.433602', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5977, 'Challis', 2793, '83226', '208', '44.362494', '-113.942198', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5978, 'Clayton', 2793, '83227', '208', '44.166108', '-114.498866', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5979, 'Torrey', 2793, '83227', '208', '44.166108', '-114.498866', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5980, 'Bench', 2793, '83241', '208', '42.52956', '-111.748467', '2018-11-29 04:50:11', '2018-11-29 04:50:11'),\n(5981, 'Central', 2793, '83241', '208', '42.52956', '-111.748467', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5982, 'Grace', 2793, '83241', '208', '42.52956', '-111.748467', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5983, 'Lago', 2793, '83241', '208', '42.52956', '-111.748467', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5984, 'Niter', 2793, '83241', '208', '42.52956', '-111.748467', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5985, 'Turner', 2793, '83241', '208', '42.52956', '-111.748467', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5986, 'Holbrook', 2793, '83243', '208', '42.248362', '-112.730148', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5987, 'Albion', 2793, '83311', '208', '42.380846', '-113.612916', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5988, 'Eden', 2793, '83325', '208', '42.599106', '-114.251875', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5989, 'Murtaugh', 2793, '83344', '208', '42.453735', '-114.134872', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5990, 'Iona', 2793, '83427', '208', '43.50731', '-111.852705', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5991, 'Annis', 2793, '83442', '208', '43.696306', '-111.875281', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5992, 'Labelle', 2793, '83442', '208', '43.696306', '-111.875281', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5993, 'Lorenzo', 2793, '83442', '208', '43.696306', '-111.875281', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5994, 'Rigby', 2793, '83442', '208', '43.696306', '-111.875281', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5995, 'Heise', 2793, '83443', '208', '43.577068', '-111.686694', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5996, 'Ririe', 2793, '83443', '208', '43.577068', '-111.686694', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5997, 'Ferdinand', 2793, '83526', '208', '46.128429', '-116.412751', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5998, 'Lucile', 2793, '83542', '208', '45.534826', '-116.273626', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(5999, 'Alpha', 2793, '83611', '208', '44.425392', '-115.718408', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6000, 'Cascade', 2793, '83611', '208', '44.425392', '-115.718408', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6001, 'Mackey Bar', 2793, '83611', '208', '44.425392', '-115.718408', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6002, 'Warm Lake', 2793, '83611', '208', '44.425392', '-115.718408', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6003, 'Bear', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6004, 'Council', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6005, 'Cuprum', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6006, 'Fruitvale', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6007, 'Goodrich', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6008, 'Hornet', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6009, 'Pine Ridge', 2793, '83612', '208', '44.946331', '-116.559343', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6010, 'Hammett', 2793, '83627', '208', '42.987587', '-115.547197', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6011, 'Indian Cove', 2793, '83627', '208', '42.987587', '-115.547197', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6012, 'Homedale', 2793, '83628', '208', '43.612916', '-116.961098', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6013, 'Gardena', 2793, '83629', '208', '43.972797', '-116.087469', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6014, 'Horseshoe Bend', 2793, '83629', '208', '43.972797', '-116.087469', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6015, 'Horseshoe Bnd', 2793, '83629', '208', '43.972797', '-116.087469', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6016, 'Boise', 2793, '83712', '208', '43.610558', '-116.123662', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6017, 'Albertsons', 2793, '83726', '208', '43.6139', '-116.2025', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6018, 'Boise', 2793, '83726', '208', '43.6139', '-116.2025', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6019, 'Careywood', 2793, '83809', '208', '48.045204', '-116.548925', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6020, 'Cabinet', 2793, '83811', '208', '48.076584', '-116.276864', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6021, 'Clark Fork', 2793, '83811', '208', '48.076584', '-116.276864', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6022, 'Clarkia', 2793, '83812', '208', '47.031578', '-116.236004', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6023, 'Moyie Springs', 2793, '83845', '208', '48.810272', '-116.204046', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6024, 'Mullan', 2793, '83846', '208', '47.469731', '-115.74351', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6025, 'Saint Maries', 2793, '83861', '208', '47.241507', '-116.615652', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6026, 'St Maries', 2793, '83861', '208', '47.241507', '-116.615652', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6027, 'Worley', 2793, '83876', '208', '47.446903', '-116.897514', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6028, 'Post Falls', 2793, '83877', '208', '47.7146', '-116.9307', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6029, 'Bloomington', 2793, '83223', '208', '42.18267', '-111.431964', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6030, 'Cotterel', 2793, '83323', '208', '42.568168', '-113.441458', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6031, 'Declo', 2793, '83323', '208', '42.568168', '-113.441458', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6032, 'Idahome', 2793, '83323', '208', '42.568168', '-113.441458', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6033, 'Gooding', 2793, '83330', '208', '42.937776', '-114.713041', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6034, 'Chester', 2793, '83421', '208', '43.998728', '-111.54807', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6035, 'Blue Dome', 2793, '83464', '208', '44.629929', '-113.347509', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6036, 'Leadore', 2793, '83464', '208', '44.629929', '-113.347509', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6037, 'Lone Pine', 2793, '83464', '208', '44.629929', '-113.347509', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6038, 'Grangeville', 2793, '83530', '208', '45.940613', '-116.090208', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6039, 'Kooskia', 2793, '83539', '208', '46.221321', '-115.741512', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6040, 'Lowell', 2793, '83539', '208', '46.221321', '-115.741512', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6041, 'Syringa', 2793, '83539', '208', '46.221321', '-115.741512', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6042, 'Headquarters', 2793, '83546', '208', '46.496936', '-115.790008', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6043, 'Pierce', 2793, '83546', '208', '46.496936', '-115.790008', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6044, 'Culdesac', 2793, '83548', '208', '46.342882', '-116.511125', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6045, 'Reubens', 2793, '83548', '208', '46.342882', '-116.511125', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6046, 'Caldwell', 2793, '83607', '208', '43.673356', '-116.746669', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6047, 'Glenns Ferry', 2793, '83623', '208', '43.12428', '-115.336247', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6048, 'Huston', 2793, '83630', '208', '43.6104', '-116.7824', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6049, 'Murphy', 2793, '83650', '208', '43.04195', '-116.627682', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6050, 'Oreana', 2793, '83650', '208', '43.04195', '-116.627682', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6051, 'Reynolds', 2793, '83650', '208', '43.04195', '-116.627682', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6052, 'Silver City', 2793, '83650', '208', '43.04195', '-116.627682', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6053, 'Hamilton Corner', 2793, '83655', '208', '43.952974', '-116.803074', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6054, 'New Plymouth', 2793, '83655', '208', '43.952974', '-116.803074', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6055, 'Gross', 2793, '83657', '208', '44.284988', '-116.279102', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6056, 'Ola', 2793, '83657', '208', '44.284988', '-116.279102', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6057, 'Warren', 2793, '83671', '208', '45.322073', '-115.639618', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6058, 'Boise', 2793, '83705', '208', '43.560609', '-116.219837', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6059, 'Atlanta', 2793, '83716', '208', '43.464848', '-115.97638', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6060, 'Boise', 2793, '83716', '208', '43.464848', '-115.97638', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6061, 'Mayfield', 2793, '83716', '208', '43.464848', '-115.97638', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6062, 'Boise', 2793, '83725', '208', '43.604457', '-116.202148', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6063, 'Boise State University', 2793, '83725', '208', '43.604457', '-116.202148', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6064, 'Boise', 2793, '83732', '208', '43.6139', '-116.2025', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6065, 'Intermountain Gas Co', 2793, '83732', '208', '43.6139', '-116.2025', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6066, 'Bonners Ferry', 2793, '83805', '208', '48.750606', '-116.633472', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6067, 'Copeland', 2793, '83805', '208', '48.750606', '-116.633472', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6068, 'Cda', 2793, '83816', '208', '47.6702', '-116.78', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6069, 'Coeur D Alene', 2793, '83816', '208', '47.6702', '-116.78', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6070, 'Dover', 2793, '83825', '208', '48.2517', '-116.6102', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6071, 'Enaville', 2793, '83839', '208', '47.582667', '-116.251743', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6072, 'Kingston', 2793, '83839', '208', '47.582667', '-116.251743', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6073, 'Laclede', 2793, '83841', '208', '48.162592', '-116.790116', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6074, 'Nordman', 2793, '83848', '208', '48.687894', '-116.937773', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6075, 'Santa', 2793, '83866', '208', '47.181616', '-116.413316', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6076, 'Riverside', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6077, 'Rockford', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6078, 'Rose', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6079, 'Taber', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6080, 'Thomas', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6081, 'Thomas Junction', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6082, 'Wapello', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6083, 'Conda', 2793, '83230', '208', '42.7384', '-111.5115', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6084, 'Henry', 2793, '83230', '208', '42.7384', '-111.5115', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6085, 'Soda Springs', 2793, '83230', '208', '42.7384', '-111.5115', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6086, 'Dayton', 2793, '83232', '208', '42.118186', '-112.016482', '2018-11-29 04:50:12', '2018-11-29 04:50:12'),\n(6087, 'Franklin', 2793, '83237', '208', '42.052164', '-111.682244', '2018-11-29 04:50:12', '2018-11-29 04:50:12');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(6088, 'Georgetown', 2793, '83239', '208', '42.523719', '-111.322964', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6089, 'Darlington', 2793, '83255', '208', '43.842486', '-113.076893', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6090, 'Lost River', 2793, '83255', '208', '43.842486', '-113.076893', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6091, 'Moore', 2793, '83255', '208', '43.842486', '-113.076893', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6092, 'Pingree', 2793, '83262', '208', '43.145922', '-112.664608', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6093, 'Rockland', 2793, '83271', '208', '42.476955', '-112.851098', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6094, 'Roy', 2793, '83271', '208', '42.476955', '-112.851098', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6095, 'Fish Haven', 2793, '83287', '208', '42.05802', '-111.455143', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6096, 'Almo', 2793, '83312', '208', '42.058333', '-113.630652', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6097, 'Hill City', 2793, '83337', '208', '43.309397', '-115.047421', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6098, 'Wendell', 2793, '83355', '208', '42.744322', '-114.735382', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6099, 'Rexburg', 2793, '83441', '208', '43.8263', '-111.7888', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6100, 'Rexcraft', 2793, '83441', '208', '43.8263', '-111.7888', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6101, 'Sugar City', 2793, '83448', '208', '43.847699', '-111.693241', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6102, 'Lenore', 2793, '83541', '208', '46.541056', '-116.44987', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6103, 'Winchester', 2793, '83555', '208', '46.22622', '-116.617955', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6104, 'Indian Valley', 2793, '83632', '208', '44.546812', '-116.342621', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6105, 'Marsing', 2793, '83639', '208', '43.517604', '-116.87113', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6106, 'Givens Hot Springs', 2793, '83641', '208', '43.367533', '-116.577911', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6107, 'Guffey', 2793, '83641', '208', '43.367533', '-116.577911', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6108, 'Melba', 2793, '83641', '208', '43.367533', '-116.577911', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6109, 'Stoddard', 2793, '83641', '208', '43.367533', '-116.577911', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6110, 'Wilson', 2793, '83641', '208', '43.367533', '-116.577911', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6111, 'Mountain Home AFB', 2793, '83648', '208', '43.028398', '-116.024748', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6112, 'Mountain Home Air Force Base', 2793, '83648', '208', '43.028398', '-116.024748', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6113, 'Mtn Home AFB', 2793, '83648', '208', '43.028398', '-116.024748', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6114, 'Placerville', 2793, '83666', '208', '43.959714', '-115.997466', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6115, 'Meridian', 2793, '83680', '208', '43.6124', '-116.3908', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6116, 'Boise', 2793, '83707', '208', '43.6139', '-116.2025', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6117, 'Boise', 2793, '83714', '208', '43.727779', '-116.213296', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6118, 'Garden City', 2793, '83714', '208', '43.727779', '-116.213296', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6119, 'Hidden Spgs', 2793, '83714', '208', '43.727779', '-116.213296', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6120, 'Hidden Springs', 2793, '83714', '208', '43.727779', '-116.213296', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6121, 'Fernwood', 2793, '83830', '208', '47.118592', '-116.381745', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6122, 'Genesee', 2793, '83832', '208', '46.57675', '-116.896938', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6123, 'Pinehurst', 2793, '83850', '208', '47.517469', '-116.275255', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6124, 'Onaway', 2793, '83855', '208', '46.995463', '-116.916412', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6125, 'Potlatch', 2793, '83855', '208', '46.995463', '-116.916412', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6126, 'Princeton', 2793, '83857', '208', '46.900895', '-116.805746', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6127, 'Sandpoint', 2793, '83864', '208', '48.330479', '-116.455864', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6128, 'Prichard', 2793, '83873', '208', '47.29584', '-115.644483', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6129, 'Wallace', 2793, '83873', '208', '47.29584', '-115.644483', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6130, 'Pocatello', 2793, '83205', '208', '42.8714', '-112.4447', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6131, 'Arimo', 2793, '83214', '208', '42.572863', '-112.261766', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6132, 'Garden Creek', 2793, '83214', '208', '42.572863', '-112.261766', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6133, 'Hawkins', 2793, '83214', '208', '42.572863', '-112.261766', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6134, 'Robin', 2793, '83214', '208', '42.572863', '-112.261766', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6135, 'Blackfoot', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6136, 'Groveland', 2793, '83221', '208', '43.375342', '-112.57155', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6137, 'Bush', 2794, '62924', '618', '37.818738', '-89.206034', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6138, 'De Soto', 2794, '62924', '618', '37.818738', '-89.206034', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6139, 'Energy', 2794, '62933', '618', '37.768836', '-89.02515', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6140, 'Boaz', 2794, '62956', '618', '37.280115', '-88.933588', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6141, 'Karnak', 2794, '62956', '618', '37.280115', '-88.933588', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6142, 'Cache', 2794, '62914', '618', '37.06128', '-89.262484', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6143, 'Cairo', 2794, '62914', '618', '37.06128', '-89.262484', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6144, 'Future City', 2794, '62914', '618', '37.06128', '-89.262484', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6145, 'Klondike', 2794, '62914', '618', '37.06128', '-89.262484', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6146, 'Urbandale', 2794, '62914', '618', '37.06128', '-89.262484', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6147, 'Mill Creek', 2794, '62961', '618', '37.34105', '-89.253244', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6148, 'Millcreek', 2794, '62961', '618', '37.34105', '-89.253244', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6149, 'Miller City', 2794, '62962', '618', '37.094378', '-89.361271', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6150, 'Mound City', 2794, '62963', '618', '37.090332', '-89.161094', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6151, 'Meridian Heights', 2794, '62964', '618', '37.134863', '-89.215393', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6152, 'Mounds', 2794, '62964', '618', '37.134863', '-89.215393', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6153, 'North Mounds', 2794, '62964', '618', '37.134863', '-89.215393', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6154, 'Spencer Heights', 2794, '62964', '618', '37.134863', '-89.215393', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6155, 'Raleigh', 2794, '62977', '618', '37.85556', '-88.54381', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6156, 'America', 2794, '62996', '618', '37.151841', '-89.171643', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6157, 'Villa Ridge', 2794, '62996', '618', '37.151841', '-89.171643', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6158, 'Willisville', 2794, '62997', '618', '37.982951', '-89.49663', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6159, 'Mount Carbon', 2794, '62966', '618', '37.771222', '-89.331216', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6160, 'Murphysboro', 2794, '62966', '618', '37.771222', '-89.331216', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6161, 'Somerset', 2794, '62966', '618', '37.771222', '-89.331216', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6162, 'Pomona', 2794, '62975', '618', '37.64422', '-89.38747', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6163, 'Tamms', 2794, '62993', '618', '37.14445', '-89.280033', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6164, 'Unity', 2794, '62993', '618', '37.14445', '-89.280033', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6165, 'Cambria', 2794, '62915', '618', '37.781966', '-89.120832', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6166, 'Carrier Mills', 2794, '62917', '618', '37.687552', '-88.645215', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6167, 'Carriers Mills', 2794, '62917', '618', '37.687552', '-88.645215', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6168, 'Dallasania', 2794, '62917', '618', '37.687552', '-88.645215', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6169, 'Mitchellsville', 2794, '62917', '618', '37.687552', '-88.645215', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6170, 'Elizabethtown', 2794, '62931', '618', '37.543332', '-88.262522', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6171, 'Gorham', 2794, '62940', '618', '37.734398', '-89.463906', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6172, 'Grimsby', 2794, '62940', '618', '37.734398', '-89.463906', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6173, 'Sand Ridge', 2794, '62940', '618', '37.734398', '-89.463906', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6174, 'Ferges', 2794, '62951', '618', '37.827254', '-88.924821', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6175, 'Fergestown', 2794, '62951', '618', '37.827254', '-88.924821', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6176, 'Johnston City', 2794, '62951', '618', '37.827254', '-88.924821', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6177, 'Shakerag', 2794, '62951', '618', '37.827254', '-88.924821', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6178, 'Muddy', 2794, '62965', '618', '37.7653', '-88.5168', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6179, 'Attila', 2794, '62974', '618', '37.775518', '-88.801646', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6180, 'Pittsburg', 2794, '62974', '618', '37.775518', '-88.801646', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6181, 'Pulaski', 2794, '62976', '618', '37.224487', '-89.212498', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6182, 'Six Mile', 2794, '62999', '618', '37.895709', '-89.05163', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6183, 'Zeigler', 2794, '62999', '618', '37.895709', '-89.05163', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6184, 'Chamnesstown', 2794, '62932', '618', '37.899948', '-89.218528', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6185, 'Elkville', 2794, '62932', '618', '37.899948', '-89.218528', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6186, 'Hallidayboro', 2794, '62932', '618', '37.899948', '-89.218528', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6187, 'Etherton', 2794, '62966', '618', '37.771222', '-89.331216', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6188, 'Levan', 2794, '62966', '618', '37.771222', '-89.331216', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6189, 'Mboro', 2794, '62966', '618', '37.771222', '-89.331216', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6190, 'Bargerville', 2794, '62960', '618', '37.235706', '-88.715482', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6191, 'Metropolis', 2794, '62960', '618', '37.235706', '-88.715482', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6192, 'Round Knob', 2794, '62960', '618', '37.235706', '-88.715482', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6193, 'Royalton', 2794, '62983', '618', '37.913501', '-89.096434', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6194, 'Robbs', 2794, '62985', '618', '37.461971', '-88.755784', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6195, 'Simpson', 2794, '62985', '618', '37.461971', '-88.755784', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6196, 'Fayville', 2794, '62990', '618', '37.185242', '-89.38694', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6197, 'Gale', 2794, '62990', '618', '37.185242', '-89.38694', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6198, 'Thebes', 2794, '62990', '618', '37.185242', '-89.38694', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6199, 'Ullin', 2794, '62992', '618', '37.270177', '-89.138542', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6200, 'Campbellsville', 2797, '42719', '270', '37.3433', '-85.3417', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6201, 'Campbellsvlle', 2797, '42719', '270', '37.3433', '-85.3417', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6202, 'Caneyville', 2797, '42721', '270', '37.393208', '-86.505119', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6203, 'Neafus', 2797, '42721', '270', '37.393208', '-86.505119', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6204, 'Spring Lick', 2797, '42721', '270', '37.393208', '-86.505119', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6205, 'Steff', 2797, '42721', '270', '37.393208', '-86.505119', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6206, 'Clarkson', 2797, '42726', '270', '37.437422', '-86.141626', '2018-11-29 04:50:13', '2018-11-29 04:50:13'),\n(6207, 'Millerstown', 2797, '42726', '270', '37.437422', '-86.141626', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6208, 'Peonia', 2797, '42726', '270', '37.437422', '-86.141626', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6209, 'Rock Creek', 2797, '42726', '270', '37.437422', '-86.141626', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6210, 'Wax', 2797, '42726', '270', '37.437422', '-86.141626', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6211, 'Hardyville', 2797, '42746', '270', '37.221942', '-85.720156', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6212, 'Millwood', 2797, '42762', '270', '37.456993', '-86.395626', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6213, 'Windy', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6214, 'Stearns', 2797, '42647', '606', '36.69954', '-84.598513', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6215, 'Strunk', 2797, '42649', '606', '36.642605', '-84.470368', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6216, 'Breeding', 2797, '42715', '270', '36.961568', '-85.391601', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6217, 'Bakerton', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6218, 'Bow', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6219, 'Burkesville', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6220, 'Dubre', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6221, 'Kettle', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6222, 'Peytonsburg', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6223, 'Waterview', 2797, '42717', '270', '36.778382', '-85.372223', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6224, 'Dubre', 2797, '42731', '270', '36.87074', '-85.564065', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6225, 'Elk Horn', 2797, '42733', '270', '37.336132', '-85.189625', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6226, 'Emlyn', 2797, '40730', '606', '36.700654', '-84.141812', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6227, 'Woodbine', 2797, '40771', '606', '36.891849', '-84.070091', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6228, 'Benham', 2797, '40807', '606', '36.937172', '-82.893989', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6229, 'Bromley', 2797, '41016', '859', '39.086322', '-84.548116', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6230, 'Covington', 2797, '41016', '859', '39.086322', '-84.548116', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6231, 'Ludlow', 2797, '41016', '859', '39.086322', '-84.548116', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6232, 'Bellevue', 2797, '41073', '859', '39.102827', '-84.476151', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6233, 'Dayton', 2797, '41073', '859', '39.102827', '-84.476151', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6234, 'Fort Thomas', 2797, '41073', '859', '39.102827', '-84.476151', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6235, 'Newport', 2797, '41073', '859', '39.102827', '-84.476151', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6236, 'Washington', 2797, '41096', '606', '38.6159', '-83.8086', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6237, 'Ashland', 2797, '41105', '606', '38.4785', '-82.6381', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6238, 'Naples', 2797, '41105', '606', '38.4785', '-82.6381', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6239, 'Summitt', 2797, '41105', '606', '38.4785', '-82.6381', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6240, 'Cherokee', 2797, '41180', '606', '38.132294', '-82.835291', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6241, 'Webbville', 2797, '41180', '606', '38.132294', '-82.835291', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6242, 'Davella', 2797, '41214', '606', '37.77706', '-82.592022', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6243, 'Debord', 2797, '41214', '606', '37.77706', '-82.592022', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6244, 'Clifford', 2797, '41230', '606', '38.071958', '-82.650036', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6245, 'Fallsburg', 2797, '41230', '606', '38.071958', '-82.650036', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6246, 'Louisa', 2797, '41230', '606', '38.071958', '-82.650036', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6247, 'Richardson', 2797, '41230', '606', '38.071958', '-82.650036', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6248, 'Lowmansville', 2797, '41232', '606', '37.992842', '-82.69478', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6249, 'Buskirk', 2797, '41332', '606', '37.795329', '-83.403245', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6250, 'Hazel Green', 2797, '41332', '606', '37.795329', '-83.403245', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6251, 'Helechawa', 2797, '41332', '606', '37.795329', '-83.403245', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6252, 'Insko', 2797, '41332', '606', '37.795329', '-83.403245', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6253, 'Rousseau', 2797, '41366', '606', '37.61471', '-83.218823', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6254, 'Aflex', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6255, 'Belfry', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6256, 'Burnwell', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6257, 'Goody', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6258, 'Hatfield', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6259, 'Toler', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6260, 'Turkey Creek', 2797, '41514', '606', '37.671516', '-82.309034', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6261, 'Fishtrap', 2797, '41557', '606', '37.49181', '-82.425687', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6262, 'Jonican', 2797, '41557', '606', '37.49181', '-82.425687', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6263, 'Raccoon', 2797, '41557', '606', '37.49181', '-82.425687', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6264, 'Sidney', 2797, '41564', '606', '37.609588', '-82.365977', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6265, 'Steele', 2797, '41566', '606', '37.404807', '-82.204943', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6266, 'Blue River', 2797, '41607', '606', '37.627294', '-82.849704', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6267, 'David', 2797, '41616', '606', '37.599363', '-82.876742', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6268, 'Stanville', 2797, '41659', '606', '37.578216', '-82.626184', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6269, 'Thousandsticks', 2797, '41766', '606', '37.19201', '-83.439452', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6270, 'Thsandsticks', 2797, '41766', '606', '37.19201', '-83.439452', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6271, 'Carbon Glow', 2797, '41832', '606', '37.149022', '-82.972152', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6272, 'Letcher', 2797, '41832', '606', '37.149022', '-82.972152', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6273, 'Boaz', 2797, '42027', '270', '36.909259', '-88.638117', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6274, 'Mayfield', 2797, '42066', '270', '36.710738', '-88.649882', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6275, 'Tolu', 2797, '42084', '270', '37.43635', '-88.245482', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6276, 'Dry Fork', 2797, '42141', '270', '36.937644', '-85.946776', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6277, 'Glasgow', 2797, '42141', '270', '36.937644', '-85.946776', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6278, 'Haywood', 2797, '42141', '270', '36.937644', '-85.946776', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6279, 'Lamb', 2797, '42141', '270', '36.937644', '-85.946776', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6280, 'Herndon', 2797, '42236', '270', '36.713918', '-87.618639', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6281, 'Hopkinsville', 2797, '42241', '270', '36.8658', '-87.4888', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6282, 'Mammoth Cave', 2797, '42259', '270', '37.227644', '-86.156233', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6283, 'Mammoth Cave National Park', 2797, '42259', '270', '37.227644', '-86.156233', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6284, 'Ollie', 2797, '42259', '270', '37.227644', '-86.156233', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6285, 'Brooklyn', 2797, '42261', '270', '37.197491', '-86.696066', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6286, 'Huntsville', 2797, '42261', '270', '37.197491', '-86.696066', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6287, 'Logansport', 2797, '42261', '270', '37.197491', '-86.696066', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6288, 'Morgantown', 2797, '42261', '270', '37.197491', '-86.696066', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6289, 'Provo', 2797, '42261', '270', '37.197491', '-86.696066', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6290, 'Welchs Creek', 2797, '42261', '270', '37.197491', '-86.696066', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6291, 'Pembroke', 2797, '42266', '270', '36.78147', '-87.369766', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6292, 'St Elmo', 2797, '42266', '270', '36.78147', '-87.369766', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6293, 'Big Ready', 2797, '42275', '270', '37.223106', '-86.436222', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6294, 'Region', 2797, '42275', '270', '37.223106', '-86.436222', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6295, 'Roundhill', 2797, '42275', '270', '37.223106', '-86.436222', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6296, 'Threlkel', 2797, '42275', '270', '37.223106', '-86.436222', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6297, 'Bremen', 2797, '42325', '270', '37.336548', '-87.27107', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6298, 'Curdsville', 2797, '42334', '270', '37.7375', '-87.3313', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6299, 'Greenville', 2797, '42345', '270', '37.16713', '-87.182168', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6300, 'Reynolds Sta', 2797, '42368', '270', '37.709341', '-86.752482', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6301, 'Reynolds Station', 2797, '42368', '270', '37.709341', '-86.752482', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6302, 'Dixon', 2797, '42409', '270', '37.524534', '-87.694298', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6303, 'Fredonia', 2797, '42411', '270', '37.197477', '-88.040296', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6304, 'Princeton', 2797, '42445', '270', '37.162676', '-87.882242', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6305, 'Bryan', 2797, '42629', '270', '36.933207', '-85.123601', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6306, 'Creelsboro', 2797, '42629', '270', '36.933207', '-85.123601', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6307, 'Jamestown', 2797, '42629', '270', '36.933207', '-85.123601', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6308, 'Rowena', 2797, '42629', '270', '36.933207', '-85.123601', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6309, 'Sewellton', 2797, '42629', '270', '36.933207', '-85.123601', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6310, 'Greenwood', 2797, '42634', '606', '36.877519', '-84.43638', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6311, 'Honeybee', 2797, '42634', '606', '36.877519', '-84.43638', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6312, 'Parkers Lake', 2797, '42634', '606', '36.877519', '-84.43638', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6313, 'Sawyer', 2797, '42634', '606', '36.877519', '-84.43638', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6314, 'Cane Valley', 2797, '42720', '270', '37.1806', '-85.3198', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6315, 'Cub Run', 2797, '42729', '270', '37.298308', '-86.11282', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6316, 'Greensburg', 2797, '42743', '270', '37.2508', '-85.51942', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6317, 'Upton', 2797, '42784', '270', '37.456333', '-85.92344', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6318, 'London', 2797, '40743', '606', '37.1286', '-84.0834', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6319, 'Big Laurel', 2797, '40808', '606', '36.986374', '-83.224822', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6320, 'Hoskinston', 2797, '40844', '606', '37.058364', '-83.354086', '2018-11-29 04:50:14', '2018-11-29 04:50:14'),\n(6321, 'Mozelle', 2797, '40858', '606', '36.990185', '-83.40771', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6322, 'Balkan', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6323, 'Callaway', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6324, 'Cary', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6325, 'Chenoa', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6326, 'Clear Creek', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6327, 'Clear Creek Springs', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6328, 'Clear Crk Spg', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6329, 'Davisburg', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6330, 'Dorton Branch', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6331, 'E Pineville', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6332, 'East Pineville', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6333, 'Field', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6334, 'Jenson', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6335, 'Log Mountain', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6336, 'Pineville', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6337, 'Straight Creek', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6338, 'Tinsley', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6339, 'Wallsend', 2797, '40977', '606', '36.74119', '-83.71494', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6340, 'Covington', 2797, '41012', '859', '39.0836', '-84.5086', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6341, 'Devon', 2797, '41042', '859', '38.982246', '-84.648216', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6342, 'Florence', 2797, '41042', '859', '38.982246', '-84.648216', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6343, 'Hopeful Heights', 2797, '41042', '859', '38.982246', '-84.648216', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6344, 'Abegall', 2797, '41044', '606', '38.645703', '-83.967914', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6345, 'Germantown', 2797, '41044', '606', '38.645703', '-83.967914', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6346, 'Minerva', 2797, '41062', '606', '38.7056', '-83.9195', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6347, 'Beechburg', 2797, '41093', '606', '38.372164', '-83.557614', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6348, 'Foxport', 2797, '41093', '606', '38.372164', '-83.557614', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6349, 'Goddard', 2797, '41093', '606', '38.372164', '-83.557614', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6350, 'Wallingford', 2797, '41093', '606', '38.372164', '-83.557614', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6351, 'Napoleon', 2797, '41095', '859', '38.771311', '-84.856634', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6352, 'Warsaw', 2797, '41095', '859', '38.771311', '-84.856634', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6353, 'Carter', 2797, '41128', '606', '38.4286', '-83.1208', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6354, 'Smiths Creek', 2797, '41128', '606', '38.4286', '-83.1208', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6355, 'Catlettsburg', 2797, '41129', '606', '38.309318', '-82.648588', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6356, 'Beattyville', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6357, 'Fillmore', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6358, 'Old Landing', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6359, 'Primrose', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6360, 'Tallega', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6361, 'Vada', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6362, 'Widecreek', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6363, 'Yellow Rock', 2797, '41311', '606', '37.603317', '-83.70832', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6364, 'Pine Ridge', 2797, '41360', '606', '37.78142', '-83.623088', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6365, 'Mc Carr', 2797, '41544', '606', '37.607332', '-82.165457', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6366, 'Shelby Gap', 2797, '41563', '606', '37.230524', '-82.528303', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6367, 'E Mc Dowell', 2797, '41647', '606', '37.42671', '-82.707793', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6368, 'East Mc Dowell', 2797, '41647', '606', '37.42671', '-82.707793', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6369, 'Mc Dowell', 2797, '41647', '606', '37.42671', '-82.707793', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6370, 'Orkney', 2797, '41647', '606', '37.42671', '-82.707793', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6371, 'Bear Branch', 2797, '41714', '606', '37.199476', '-83.507874', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6372, 'Chavies', 2797, '41727', '606', '37.354034', '-83.330286', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6373, 'Engle', 2797, '41727', '606', '37.354034', '-83.330286', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6374, 'Combs', 2797, '41729', '606', '37.265518', '-83.212565', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6375, 'Dolan', 2797, '41729', '606', '37.265518', '-83.212565', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6376, 'Lennut', 2797, '41729', '606', '37.265518', '-83.212565', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6377, 'Cornettsville', 2797, '41731', '606', '37.086904', '-83.072865', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6378, 'Daisy', 2797, '41731', '606', '37.086904', '-83.072865', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6379, 'Leatherwood', 2797, '41731', '606', '37.086904', '-83.072865', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6380, 'Ulvah', 2797, '41731', '606', '37.086904', '-83.072865', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6381, 'Wentz', 2797, '41731', '606', '37.086904', '-83.072865', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6382, 'Smilax', 2797, '41764', '606', '37.121675', '-83.249252', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6383, 'Big Fork', 2797, '41777', '606', '37.041397', '-83.235682', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6384, 'Big Rock', 2797, '41777', '606', '37.041397', '-83.235682', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6385, 'Yeaddiss', 2797, '41777', '606', '37.041397', '-83.235682', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6386, 'Yerkes', 2797, '41778', '606', '37.27731', '-83.320731', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6387, 'Leburn', 2797, '41831', '606', '37.425192', '-82.969335', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6388, 'Soft Shell', 2797, '41831', '606', '37.425192', '-82.969335', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6389, 'Dry Creek', 2797, '41862', '606', '37.363688', '-82.802991', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6390, 'Topmost', 2797, '41862', '606', '37.363688', '-82.802991', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6391, 'Calvert City', 2797, '42029', '270', '37.007194', '-88.390529', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6392, 'Clinton', 2797, '42031', '270', '36.682263', '-88.995198', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6393, 'Croley', 2797, '42031', '270', '36.682263', '-88.995198', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6394, 'Fulgham', 2797, '42031', '270', '36.682263', '-88.995198', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6395, 'Moscow', 2797, '42031', '270', '36.682263', '-88.995198', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6396, 'New Cypress', 2797, '42031', '270', '36.682263', '-88.995198', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6397, 'Oakton', 2797, '42031', '270', '36.682263', '-88.995198', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6398, 'Frances', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6399, 'Levias', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6400, 'Marion', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6401, 'Mattoon', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6402, 'Mexico', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6403, 'New Salem', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6404, 'Repton', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6405, 'Sheridan', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6406, 'Tribune', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6407, 'Winslow Park', 2797, '42064', '270', '37.301305', '-88.079608', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6408, 'Carrsville', 2797, '42081', '270', '37.237018', '-88.390916', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6409, 'Smithland', 2797, '42081', '270', '37.237018', '-88.390916', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6410, 'Gainesville', 2797, '42164', '270', '36.782462', '-86.193', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6411, 'Halfway', 2797, '42164', '270', '36.782462', '-86.193', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6412, 'Halifax', 2797, '42164', '270', '36.782462', '-86.193', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6413, 'Scottsville', 2797, '42164', '270', '36.782462', '-86.193', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6414, 'Trammel', 2797, '42164', '270', '36.782462', '-86.193', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6415, 'Central City', 2797, '42330', '270', '37.334418', '-87.099054', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6416, 'Central Cty', 2797, '42330', '270', '37.334418', '-87.099054', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6417, 'Hartford', 2797, '42347', '270', '37.519146', '-86.904778', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6418, 'Narrows', 2797, '42347', '270', '37.519146', '-86.904778', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6419, 'Arrington Corner', 2797, '42348', '270', '37.86856', '-86.765654', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6420, 'Hawesville', 2797, '42348', '270', '37.86856', '-86.765654', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6421, 'Horse Branch', 2797, '42349', '270', '37.405814', '-86.690179', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6422, 'Pellville', 2797, '42364', '270', '37.7523', '-86.8139', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6423, 'Bethelridge', 2797, '42516', '606', '37.234812', '-84.769662', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6424, 'Yosemite', 2797, '42566', '606', '37.297504', '-84.789503', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6425, 'Buffalo', 2797, '42716', '270', '37.466607', '-85.62704', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6426, 'Hodgenville', 2797, '42748', '270', '37.565332', '-85.714389', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6427, 'White City', 2797, '42748', '270', '37.565332', '-85.714389', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6428, 'Mount Sherman', 2797, '42764', '270', '37.4411', '-85.628168', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6429, 'Maggie', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6430, 'Maple Grove', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6431, 'Montgomery', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6432, 'Roaring Spring', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6433, 'Rockcastle', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6434, 'Trigg Furnace', 2797, '42211', '270', '36.803874', '-87.913185', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6435, 'Clifty', 2797, '42216', '270', '36.9953', '-87.1476', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6436, 'Trenton', 2797, '42286', '270', '36.743447', '-87.262453', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6437, 'Beaver Dam', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6438, 'Edgewood', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:15', '2018-11-29 04:50:15'),\n(6439, 'Erlanger', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6440, 'Fort Mitchell', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6441, 'Ft Mitchell', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6442, 'Ft Wright', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6443, 'Lakeside Park', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6444, 'S Ft Mitchell', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6445, 'So Fort Mitchell', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6446, 'South Fort Mitchell', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6447, 'Villa Hills', 2797, '41017', '859', '39.024098', '-84.562706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6448, 'Covington', 2797, '41018', '859', '39.016942', '-84.608814', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6449, 'Edgewood', 2797, '41018', '859', '39.016942', '-84.608814', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6450, 'Elsmere', 2797, '41018', '859', '39.016942', '-84.608814', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6451, 'Erlanger', 2797, '41018', '859', '39.016942', '-84.608814', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6452, 'Covington', 2797, '41019', '859', '39.0836', '-84.5086', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6453, 'Internal Revenue', 2797, '41019', '859', '39.0836', '-84.5086', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6454, 'Dry Ridge', 2797, '41035', '859', '38.686704', '-84.652508', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6455, 'Sherman', 2797, '41035', '859', '38.686704', '-84.652508', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6456, 'Independence', 2797, '41051', '859', '38.92683', '-84.552526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6457, 'Nicholson', 2797, '41051', '859', '38.92683', '-84.552526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6458, 'White Tower', 2797, '41051', '859', '38.92683', '-84.552526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6459, 'Mason', 2797, '41054', '859', '38.5763', '-84.5855', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6460, 'Williamstown', 2797, '41054', '859', '38.5763', '-84.5855', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6461, 'Ashland', 2797, '41102', '606', '38.426254', '-82.725393', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6462, 'Summitt', 2797, '41102', '606', '38.426254', '-82.725393', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6463, 'Argillite', 2797, '41121', '606', '38.448186', '-82.837198', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6464, 'Coalton', 2797, '41168', '606', '38.307452', '-82.770626', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6465, 'Kilgore', 2797, '41168', '606', '38.307452', '-82.770626', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6466, 'Rush', 2797, '41168', '606', '38.307452', '-82.770626', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6467, 'Bruin', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6468, 'Burke', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6469, 'Culver', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6470, 'Little Sandy', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6471, 'Lytten', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6472, 'Newfoundland', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6473, 'Sandy Hook', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6474, 'Stephens', 2797, '41171', '606', '38.131583', '-83.076496', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6475, 'West Van Lear', 2797, '41268', '606', '37.794508', '-82.786874', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6476, 'Williamsport', 2797, '41271', '606', '37.819525', '-82.721276', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6477, 'Grassy Creek', 2797, '41352', '606', '37.8594', '-83.3736', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6478, 'Mize', 2797, '41352', '606', '37.8594', '-83.3736', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6479, 'Saint Helens', 2797, '41368', '606', '37.5825', '-83.6473', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6480, 'Sewell', 2797, '41385', '606', '37.648908', '-83.331696', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6481, 'Taulbee', 2797, '41385', '606', '37.648908', '-83.331696', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6482, 'Vancleve', 2797, '41385', '606', '37.648908', '-83.331696', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6483, 'Pikeville', 2797, '41502', '606', '37.4795', '-82.5188', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6484, 'S Williamson', 2797, '41503', '606', '37.661938', '-82.287679', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6485, 'South Williamson', 2797, '41503', '606', '37.661938', '-82.287679', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6486, 'Huddy', 2797, '41535', '606', '37.599018', '-82.279894', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6487, 'Beaver', 2797, '41604', '606', '37.372997', '-82.69029', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6488, 'Harold', 2797, '41604', '606', '37.372997', '-82.69029', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6489, 'Ligon', 2797, '41604', '606', '37.372997', '-82.69029', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6490, 'Betsy Layne', 2797, '41605', '606', '37.580638', '-82.62286', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6491, 'Justell', 2797, '41605', '606', '37.580638', '-82.62286', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6492, 'Drift', 2797, '41619', '606', '37.508508', '-82.759992', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6493, 'Dwale', 2797, '41621', '606', '37.62622', '-82.726115', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6494, 'Eastern', 2797, '41622', '606', '37.515488', '-82.804546', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6495, 'Buckingham', 2797, '41636', '606', '37.393936', '-82.716461', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6496, 'Hi Hat', 2797, '41636', '606', '37.393936', '-82.716461', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6497, 'Price', 2797, '41636', '606', '37.393936', '-82.716461', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6498, 'Bonanza', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6499, 'Cliff', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6500, 'Dock', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6501, 'Emma', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6502, 'Endicott', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6503, 'Hippo', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6504, 'Lancer', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6505, 'Prestonsburg', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6506, 'Sloan', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6507, 'Watergap', 2797, '41653', '606', '37.618384', '-82.754802', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6508, 'Hunter', 2797, '41655', '606', '37.522468', '-82.733296', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6509, 'Printer', 2797, '41655', '606', '37.522468', '-82.733296', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6510, 'Blue Diamond', 2797, '41719', '606', '37.294978', '-83.256004', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6511, 'Bonnyman', 2797, '41719', '606', '37.294978', '-83.256004', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6512, 'Butterfly', 2797, '41719', '606', '37.294978', '-83.256004', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6513, 'Dwarf', 2797, '41739', '606', '37.35474', '-83.106898', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6514, 'Blackey', 2797, '41804', '606', '37.151788', '-82.977811', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6515, 'Carcassonne', 2797, '41804', '606', '37.151788', '-82.977811', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6516, 'Brinkley', 2797, '41822', '606', '37.320581', '-82.967723', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6517, 'Hindman', 2797, '41822', '606', '37.320581', '-82.967723', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6518, 'Mayking', 2797, '41837', '606', '37.119559', '-82.736784', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6519, 'Arlington', 2797, '42021', '270', '36.790558', '-88.9608', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6520, 'Bandana', 2797, '42022', '270', '37.147713', '-88.948706', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6521, 'Fancy Farm', 2797, '42039', '270', '36.791141', '-88.826873', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6522, 'Milburn', 2797, '42070', '270', '36.7988', '-88.8999', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6523, 'Coldwater', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6524, 'College Campus', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6525, 'Faxon', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6526, 'Lynn Grove', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6527, 'Murray', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6528, 'Shiloh', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(6529, 'University', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6530, 'Van Cleve', 2797, '42071', '270', '36.639548', '-88.277526', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6531, 'Allen Springs', 2797, '42122', '270', '36.859005', '-86.34814', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6532, 'Alvaton', 2797, '42122', '270', '36.859005', '-86.34814', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6533, 'Austin', 2797, '42123', '270', '36.816471', '-85.994318', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6534, 'Cooktown', 2797, '42123', '270', '36.816471', '-85.994318', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6535, 'Bugtussle', 2797, '42140', '270', '36.666714', '-85.842366', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6536, 'Fleet', 2797, '42140', '270', '36.666714', '-85.842366', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6537, 'Freetown', 2797, '42140', '270', '36.666714', '-85.842366', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6538, 'Gamaliel', 2797, '42140', '270', '36.666714', '-85.842366', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6539, 'Lucas', 2797, '42156', '270', '36.860272', '-86.0435', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6540, 'Lewisburg', 2797, '42256', '270', '37.009502', '-86.936932', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6541, 'Ages', 2797, '40801', '606', '36.841664', '-83.240844', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6542, 'Ages Brooksde', 2797, '40801', '606', '36.841664', '-83.240844', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6543, 'Ages Brookside', 2797, '40801', '606', '36.841664', '-83.240844', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6544, 'Brookside', 2797, '40801', '606', '36.841664', '-83.240844', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6545, 'Coalgood', 2797, '40818', '606', '36.81063', '-83.235426', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6546, 'Arjay', 2797, '40902', '606', '36.859542', '-83.632812', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6547, 'Artemus', 2797, '40903', '606', '36.841428', '-83.821703', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6548, 'Bladeston', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6549, 'Brooksville', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6550, 'Cumminsville', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6551, 'Gertrude', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6552, 'Petra', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6553, 'Powersville', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6554, 'Stonewall', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6555, 'Willow', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6556, 'Woolcott', 2797, '41004', '606', '38.65982', '-84.106219', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6557, 'Kenton', 2797, '41053', '859', '38.8684', '-84.4564', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6558, 'Sparta', 2797, '41086', '859', '38.695152', '-84.878863', '2018-11-29 04:50:16', '2018-11-29 04:50:16'),\n(6559, 'Ashland', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6560, 'Bellefonte', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6561, 'Ironville', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6562, 'Meads', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6563, 'Millseat', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6564, 'Naples', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6565, 'Princess', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6566, 'Rockdale', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6567, 'Summitt', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6568, 'West Fairview', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6569, 'Westwood', 2797, '41101', '606', '38.481766', '-82.658775', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6570, 'Adams', 2797, '41201', '606', '38.02897', '-82.748619', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6571, 'Louisa', 2797, '41201', '606', '38.02897', '-82.748619', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6572, 'Elna', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6573, 'Flatgap', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6574, 'Fuget', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6575, 'Gillem Branch', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6576, 'Redbush', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6577, 'Volga', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6578, 'Winifred', 2797, '41219', '606', '37.917682', '-82.907064', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6579, 'Meally', 2797, '41234', '606', '37.795554', '-82.725461', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6580, 'Manila', 2797, '41238', '606', '37.842128', '-82.93757', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6581, 'Oil Springs', 2797, '41238', '606', '37.842128', '-82.93757', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6582, 'Bethany', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6583, 'Burkhart', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6584, 'Campton', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6585, 'Flat', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6586, 'Gillmore', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6587, 'Lee City', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6588, 'Leeco', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6589, 'Mary', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6590, 'Maytown', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6591, 'Valeria', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6592, 'Zachariah', 2797, '41301', '606', '37.751048', '-83.441069', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6593, 'Vincent', 2797, '41386', '606', '37.44795', '-83.81441', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6594, 'Dorton', 2797, '41520', '606', '37.2769', '-82.5795', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6595, 'Dunham', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6596, 'East Jenkins', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6597, 'Gaskill', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6598, 'Jenkins', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6599, 'Lionilli', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6600, 'Payne Gap', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6601, 'Potters Fork', 2797, '41537', '606', '37.229717', '-82.626783', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6602, 'Mcveigh', 2797, '41555', '606', '37.537417', '-82.236309', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6603, 'Pinsonfork', 2797, '41555', '606', '37.537417', '-82.236309', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6604, 'Auxier', 2797, '41602', '606', '37.723111', '-82.708023', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6605, 'Amba', 2797, '41635', '606', '37.501828', '-82.64336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6606, 'Craynor', 2797, '41635', '606', '37.501828', '-82.64336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6607, 'Galveston', 2797, '41635', '606', '37.501828', '-82.64336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6608, 'Harold', 2797, '41635', '606', '37.501828', '-82.64336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6609, 'Laynesville', 2797, '41635', '606', '37.501828', '-82.64336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6610, 'Osborn', 2797, '41635', '606', '37.501828', '-82.64336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6611, 'Ajax', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6612, 'Bulan', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6613, 'Duane', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6614, 'Hardburly', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6615, 'Heiner', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6616, 'Talcum', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6617, 'Tribbey', 2797, '41722', '606', '37.37391', '-83.109876', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6618, 'Vest', 2797, '41772', '606', '37.446276', '-83.059466', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6619, 'Gilly', 2797, '41819', '606', '37.000461', '-83.071576', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6620, 'Gordon', 2797, '41819', '606', '37.000461', '-83.071576', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6621, 'Hallie', 2797, '41821', '606', '37.072399', '-82.996578', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6622, 'Skyline', 2797, '41821', '606', '37.072399', '-82.996578', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6623, 'Bath', 2797, '41836', '606', '37.284448', '-82.916074', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6624, 'Mallie', 2797, '41836', '606', '37.284448', '-82.916074', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6625, 'Millstone', 2797, '41838', '606', '37.194314', '-82.745323', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6626, 'Mousie', 2797, '41839', '606', '37.435434', '-82.891607', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6627, 'Paducah', 2797, '42003', '270', '37.01839', '-88.580574', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6628, 'Almo', 2797, '42020', '270', '36.697139', '-88.282238', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6629, 'Almo Heights', 2797, '42020', '270', '36.697139', '-88.282238', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6630, 'Dycusburg', 2797, '42037', '270', '37.1596', '-88.1846', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6631, 'Bell City', 2797, '42040', '270', '36.600048', '-88.512281', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6632, 'Farmington', 2797, '42040', '270', '36.600048', '-88.512281', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6633, 'Kevil', 2797, '42053', '270', '37.09545', '-88.943671', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6634, 'Kuttawa', 2797, '42055', '270', '37.00836', '-88.122955', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6635, 'Suwanee', 2797, '42055', '270', '37.00836', '-88.122955', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6636, 'Blandville', 2797, '42087', '270', '36.974356', '-88.97107', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6637, 'Wickliffe', 2797, '42087', '270', '36.974356', '-88.97107', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6638, 'Bowling Green', 2797, '42103', '270', '36.946027', '-86.33421', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6639, 'Smiths Grove', 2797, '42171', '270', '37.037314', '-86.168596', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6640, 'Auburn', 2797, '42206', '270', '36.88652', '-86.727738', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6641, 'Richelieu', 2797, '42206', '270', '36.88652', '-86.727738', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6642, 'South Union', 2797, '42206', '270', '36.88652', '-86.727738', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6643, 'La Fayette', 2797, '42254', '270', '36.675079', '-87.648998', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6644, 'Rochester', 2797, '42273', '270', '37.211968', '-86.844422', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6645, 'Beech Grove', 2797, '42322', '270', '37.6158', '-87.3981', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6646, 'Beechmont', 2797, '42323', '270', '37.173876', '-87.0324', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6647, 'Belton', 2797, '42324', '270', '37.135528', '-86.98109', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6648, 'Mc Henry', 2797, '42354', '270', '37.381767', '-86.923048', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6649, 'Mchenry', 2797, '42354', '270', '37.381767', '-86.923048', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6650, 'Maceo', 2797, '42355', '270', '37.863084', '-86.988914', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6651, 'Maple Mount', 2797, '42356', '270', '37.6796', '-87.3266', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6652, 'Sacramento', 2797, '42372', '270', '37.413854', '-87.269976', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6653, 'Blackford', 2797, '42404', '270', '37.485424', '-87.857142', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6654, 'Blackfrd', 2797, '42404', '270', '37.485424', '-87.857142', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6655, 'Clay', 2797, '42404', '270', '37.485424', '-87.857142', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6656, 'Corydon', 2797, '42406', '270', '37.77121', '-87.707562', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6657, 'Geneva', 2797, '42406', '270', '37.77121', '-87.707562', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6658, 'Mortons Gap', 2797, '42440', '270', '37.23262', '-87.459032', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6659, 'Nebo', 2797, '42441', '270', '37.370422', '-87.649264', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6660, 'Sebree', 2797, '42455', '270', '37.585916', '-87.533769', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6661, 'Tateville', 2797, '42558', '606', '36.9724', '-84.3954', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6662, 'Revelo', 2797, '42638', '606', '36.670337', '-84.472036', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6663, 'Canmer', 2797, '42722', '270', '37.273841', '-85.712483', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6664, 'Gradyville', 2797, '42742', '270', '37.090833', '-85.471116', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6665, 'Mannsville', 2797, '42758', '270', '37.3725', '-85.1968', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6666, 'Quality', 2797, '42256', '270', '37.009502', '-86.936932', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6667, 'Woodbury', 2797, '42288', '270', '37.1836', '-86.6336', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6668, 'Owensboro', 2797, '42304', '270', '37.7535', '-87.1497', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6669, 'Dunmor', 2797, '42339', '270', '37.104178', '-86.992896', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6670, 'Penrod', 2797, '42339', '270', '37.104178', '-86.992896', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6671, 'S Carrollton', 2797, '42374', '270', '37.356041', '-87.163943', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6672, 'South Carrollton', 2797, '42374', '270', '37.356041', '-87.163943', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6673, 'Slaughters', 2797, '42456', '270', '37.514821', '-87.498165', '2018-11-29 04:50:17', '2018-11-29 04:50:17'),\n(6674, 'Massac', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6675, 'Oakdale', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6676, 'Paducah', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6677, 'Paducah Mall', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6678, 'Reidland', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6679, 'Saint Johns', 2797, '42001', '270', '37.042771', '-88.707822', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6680, 'Crayne', 2797, '42033', '270', '37.2708', '-88.0826', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6681, 'Gilbertsville', 2797, '42044', '270', '36.968646', '-88.27014', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6682, 'Hamlin', 2797, '42076', '270', '36.56768', '-88.104273', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6683, 'New Concord', 2797, '42076', '270', '36.56768', '-88.104273', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6684, 'Tiline', 2797, '42083', '270', '37.155019', '-88.284204', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6685, 'Water Valley', 2797, '42085', '270', '36.58118', '-88.794154', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6686, 'Beaumont', 2797, '42124', '270', '36.862013', '-85.647066', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6687, 'Glasgow', 2797, '42142', '270', '36.9959', '-85.9116', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6688, 'Boles', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6689, 'Flippin', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6690, 'Forkton', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6691, 'Gum Tree', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6692, 'Mud Lick', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6693, 'T Ville', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6694, 'Tompkinsville', 2797, '42167', '270', '36.725655', '-85.673176', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6695, 'Aberdeen', 2797, '42201', '270', '37.2538', '-86.6814', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6696, 'Crofton', 2797, '42217', '270', '37.042215', '-87.475652', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6697, 'Dunbar', 2797, '42219', '270', '37.1615', '-86.7565', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6698, 'Kyrock', 2797, '42285', '270', '37.260921', '-86.307516', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6699, 'Sweeden', 2797, '42285', '270', '37.260921', '-86.307516', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6700, 'Browder', 2797, '42326', '270', '37.196314', '-86.998895', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6701, 'Cromwell', 2797, '42333', '270', '37.341381', '-86.757885', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6702, 'Graham', 2797, '42344', '270', '37.256948', '-87.314602', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6703, 'Beulah', 2797, '42408', '270', '37.178686', '-87.666992', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6704, 'Carbondale', 2797, '42408', '270', '37.178686', '-87.666992', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6705, 'Charleston', 2797, '42408', '270', '37.178686', '-87.666992', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6706, 'Dawson Spgs', 2797, '42408', '270', '37.178686', '-87.666992', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6707, 'Dawson Springs', 2797, '42408', '270', '37.178686', '-87.666992', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6708, 'Nortonville', 2797, '42442', '270', '37.164358', '-87.490268', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6709, 'Sullivan', 2797, '42460', '270', '37.4977', '-87.9455', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6710, 'Waverly', 2797, '42462', '270', '37.743151', '-87.829266', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6711, 'Acorn', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6712, 'Alcalde', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6713, 'Elihu', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6714, 'Poplarville', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6715, 'Public', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6716, 'Ruth', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6717, 'Somerset', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6718, 'Stab', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6719, 'Walnut Grove', 2797, '42501', '606', '37.055438', '-84.439045', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6720, 'Dunnville', 2797, '42528', '606', '37.18476', '-85.036046', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6721, 'Alpha', 2797, '42603', '606', '36.784582', '-84.993274', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6722, 'Russell Spgs', 2797, '42642', '270', '37.044538', '-84.988946', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6723, 'Russell Springs', 2797, '42642', '270', '37.044538', '-84.988946', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6724, 'Webbs Cross Roads', 2797, '42642', '270', '37.044538', '-84.988946', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6725, 'Webbs Crs Rds', 2797, '42642', '270', '37.044538', '-84.988946', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6726, 'London', 2797, '40742', '606', '37.1289', '-84.0844', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6727, 'Bailey Creek', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6728, 'Dizney', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6729, 'Evarts', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6730, 'Louellen', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6731, 'Redbud', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6732, 'Woods', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6733, 'Yocum Creek', 2797, '40828', '606', '36.86636', '-83.135646', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6734, 'Holmes Mill', 2797, '40843', '606', '36.883421', '-82.93846', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6735, 'Hulen', 2797, '40845', '606', '36.749976', '-83.557916', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6736, 'Girdler', 2797, '40943', '606', '36.963114', '-83.857162', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6737, 'Goose Rock', 2797, '40944', '606', '37.0905', '-83.6947', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6738, 'Blanchet', 2797, '41010', '859', '38.504842', '-84.584736', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6739, 'Corinth', 2797, '41010', '859', '38.504842', '-84.584736', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6740, 'Owen', 2797, '41010', '859', '38.504842', '-84.584736', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6741, 'Berlin', 2797, '41043', '606', '38.753356', '-84.152535', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6742, 'Bradford', 2797, '41043', '606', '38.753356', '-84.152535', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6743, 'Foster', 2797, '41043', '606', '38.753356', '-84.152535', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6744, 'Johnsville', 2797, '41043', '606', '38.753356', '-84.152535', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6745, 'Wellsburg', 2797, '41043', '606', '38.753356', '-84.152535', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6746, 'Willow Grove', 2797, '41043', '606', '38.753356', '-84.152535', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6747, 'Milford', 2797, '41061', '606', '38.5818', '-84.1569', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6748, 'Beaverlick', 2797, '41094', '859', '38.887518', '-84.635303', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6749, 'Richwood', 2797, '41094', '859', '38.887518', '-84.635303', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6750, 'Walton', 2797, '41094', '859', '38.887518', '-84.635303', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6751, 'Grahn', 2797, '41142', '606', '38.278146', '-83.072538', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6752, 'Mazie', 2797, '41160', '606', '38.0265', '-82.9721', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6753, 'Camp Dix', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6754, 'Carrs', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6755, 'Charters', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6756, 'Clarksburg', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6757, 'Concord', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6758, 'Fearisville', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6759, 'Glen Springs', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6760, 'Heselton', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6761, 'Kinniconick', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6762, 'Petersville', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6763, 'Trace', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6764, 'Trinity', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6765, 'Vanceburg', 2797, '41179', '606', '38.493728', '-83.40815', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6766, 'Keaton', 2797, '41226', '606', '37.970589', '-82.94553', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6767, 'Davisport', 2797, '41262', '606', '37.853448', '-82.61089', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6768, 'Milo', 2797, '41262', '606', '37.853448', '-82.61089', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6769, 'Tomahawk', 2797, '41262', '606', '37.853448', '-82.61089', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6770, 'Crockett', 2797, '41413', '606', '37.9857', '-83.0909', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6771, 'Belcher', 2797, '41513', '606', '37.36539', '-82.348536', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6772, 'Ferrells Creek', 2797, '41513', '606', '37.36539', '-82.348536', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6773, 'Langley', 2797, '41645', '606', '37.519061', '-82.794627', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6774, 'Warco', 2797, '41645', '606', '37.519061', '-82.794627', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6775, 'Tram', 2797, '41663', '606', '37.573494', '-82.667666', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6776, 'Avawam', 2797, '41713', '606', '37.2245', '-83.2755', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6777, 'Hyden', 2797, '41762', '606', '37.23646', '-83.486454', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6778, 'Sizerock', 2797, '41762', '606', '37.23646', '-83.486454', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6779, 'Slemp', 2797, '41763', '606', '37.070924', '-83.140103', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6780, 'Hollybush', 2797, '41844', '606', '37.336524', '-82.853491', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6781, 'Pippa Passes', 2797, '41844', '606', '37.336524', '-82.853491', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6782, 'Raven', 2797, '41861', '606', '37.384624', '-82.84264', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6783, 'Burna', 2797, '42028', '270', '37.230751', '-88.351335', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6784, 'Hampton', 2797, '42047', '270', '37.334766', '-88.413153', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6785, 'Joy', 2797, '42047', '270', '37.334766', '-88.413153', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6786, 'Sedalia', 2797, '42079', '270', '36.574709', '-88.581981', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6787, 'Drake', 2797, '42128', '270', '36.8363', '-86.4099', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6788, '88', 2797, '42130', '270', '36.921319', '-85.786765', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6789, 'Eighty Eight', 2797, '42130', '270', '36.921319', '-85.786765', '2018-11-29 04:50:18', '2018-11-29 04:50:18'),\n(6790, 'Center', 2797, '42214', '270', '37.121631', '-85.673156', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6791, 'Gracey', 2797, '42232', '270', '36.854956', '-87.65317', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6792, 'Oak Grove', 2797, '42262', '270', '36.697734', '-87.43807', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6793, 'Olmstead', 2797, '42265', '270', '36.727539', '-86.996754', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6794, 'Madisonville', 2797, '42431', '270', '37.332898', '-87.472274', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6795, 'White Plains', 2797, '42464', '270', '37.171185', '-87.365063', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6796, 'Windsor', 2797, '42565', '270', '37.151694', '-84.913246', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6797, 'Barrier', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6798, 'Bethesda', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6799, 'Betsey', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6800, 'Coopersville', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6801, 'Delta', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6802, 'Frazer', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6803, 'Frisby', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6804, 'Gregory', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6805, 'Mill Springs', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6806, 'Monticello', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6807, 'Mount Pisgah', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6808, 'Number One', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6809, 'Oil Valley', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6810, 'Parnell', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6811, 'Powersburg', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6812, 'Pueblo', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6813, 'Ritner', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6814, 'Rockybranch', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6815, 'Slat', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6816, 'Steubenville', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6817, 'Stop', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6818, 'Sunnybrook', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6819, 'Susie', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6820, 'Touristville', 2797, '42633', '606', '36.792874', '-84.811151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6821, 'North Chatham', 2799, '02650', '508', '41.70339', '-69.966802', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6822, 'North Truro', 2799, '02652', '508', '42.043244', '-70.103584', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6823, 'W Barnstable', 2799, '02668', '508', '41.708108', '-70.345734', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6824, 'Mechanicsville', 2800, '20659', '301', '38.423241', '-76.6985', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6825, 'Mechanicsvlle', 2800, '20659', '301', '38.423241', '-76.6985', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6826, 'White Hall', 2800, '21161', '410', '39.660394', '-76.575423', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6827, 'Baltimore', 2800, '21202', '410', '39.295824', '-76.607773', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6828, 'East Case', 2800, '21202', '410', '39.295824', '-76.607773', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6829, 'Ashton', 2800, '20861', '301', '39.149122', '-76.99134', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6830, 'Burtonsville', 2800, '20866', '301', '39.106428', '-76.92518', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6831, 'Germantown', 2800, '20875', '301', '39.1733', '-77.2716', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6832, 'Montgomry Vlg', 2800, '20886', '301', '39.175138', '-77.186775', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6833, 'Norrisville', 2800, '21161', '410', '39.660394', '-76.575423', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6834, 'Jarrettsville', 2800, '21084', '410', '39.613714', '-76.457303', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6835, 'Cheverly', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6836, 'Hyattsville', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6837, 'Landover Hills', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6838, 'Landover Hls', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6839, 'Lanham', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6840, 'New Carrolltn', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6841, 'New Carrollton', 2800, '20784', '301', '38.953486', '-76.895625', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6842, 'Chester', 2800, '21619', '410', '38.949606', '-76.277483', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6843, 'Crapo', 2800, '21626', '410', '38.314668', '-76.092842', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6844, 'Hagerstown', 2800, '21746', '301', '39.6425', '-77.7151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6845, 'Md Correctional System', 2800, '21746', '301', '39.6425', '-77.7151', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6846, 'W Friendship', 2800, '21794', '410', '39.292634', '-76.973283', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6847, 'West Friendship', 2800, '21794', '410', '39.292634', '-76.973283', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6848, 'Allen', 2800, '21810', '410', '38.293064', '-75.687672', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6849, 'Baltimore', 2800, '21285', '410', '39.4167', '-76.6082', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6850, 'Towson', 2800, '21285', '410', '39.4167', '-76.6082', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6851, 'Marbury', 2800, '20658', '301', '38.570878', '-77.157956', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6852, 'Bushwood', 2800, '20618', '301', '38.291946', '-76.79556', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6853, 'Faulkner', 2800, '20632', '301', '38.433172', '-76.96448', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6854, 'Ironsides', 2800, '20643', '301', '38.4918', '-77.16', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6855, 'Leonardtown', 2800, '20650', '301', '38.263075', '-76.632899', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6856, 'Welcome', 2800, '20693', '301', '38.439897', '-77.08977', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6857, 'Laurel', 2800, '20707', '301', '39.096924', '-76.882979', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6858, 'Chesapeak Bch', 2800, '20732', '410', '38.659894', '-76.539202', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6859, 'Chesapeake Beach', 2800, '20732', '410', '38.659894', '-76.539202', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6860, 'Greenbelt', 2800, '20768', '301', '39.0047', '-76.8758', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6861, 'Bethesda', 2800, '20816', '301', '38.95397', '-77.135482', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6862, 'Bethesda', 2800, '20825', '301', '38.9806', '-77.1008', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6863, 'Chevy Chase', 2800, '20825', '301', '38.9806', '-77.1008', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6864, 'Boyds', 2800, '20841', '301', '39.18744', '-77.315062', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6865, 'Potomac', 2800, '20850', '301', '39.08916', '-77.190884', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6866, 'Rockville', 2800, '20850', '301', '39.08916', '-77.190884', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6867, 'Pomfret', 2800, '20675', '301', '38.58189', '-77.011733', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6868, 'Rock Point', 2800, '20682', '301', '38.2726', '-76.8386', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6869, 'Rock Pt', 2800, '20682', '301', '38.2726', '-76.8386', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6870, 'Gaithersburg', 2800, '20886', '301', '39.175138', '-77.186775', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6871, 'Montgomery Village', 2800, '20886', '301', '39.175138', '-77.186775', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6872, 'Rison', 2800, '20658', '301', '38.570878', '-77.157956', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6873, 'Morganza', 2800, '20660', '301', '38.3756', '-76.6958', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6874, 'Park Hall', 2800, '20667', '301', '38.216554', '-76.441954', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6875, 'Piney Point', 2800, '20674', '301', '38.088514', '-76.534582', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6876, 'Piney Pt', 2800, '20674', '301', '38.088514', '-76.534582', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6877, 'Annapolis Jct', 2800, '20701', '301', '39.129228', '-76.789212', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6878, 'Annapolis Junction', 2800, '20701', '301', '39.129228', '-76.789212', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6879, 'Bowie', 2800, '20719', '301', '39.0064', '-76.7795', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6880, 'W Bowie', 2800, '20719', '301', '39.0064', '-76.7795', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6881, 'Glenarden', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6882, 'Kettering', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6883, 'Largo', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6884, 'Springdale', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6885, 'Upper Marlboro', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6886, 'Uppr Marlboro', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6887, 'Upr Marlboro', 2800, '20774', '301', '38.892222', '-76.768044', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6888, 'Churchton', 2800, '20733', '410', '38.807312', '-76.52796', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6889, 'Jessup', 2800, '20794', '301', '39.143627', '-76.789329', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6890, 'Fort Washington', 2800, '20749', '301', '38.7914', '-76.9528', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6891, 'Ft Washington', 2800, '20749', '301', '38.7914', '-76.9528', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6892, 'Friendship', 2800, '20758', '410', '38.736564', '-76.581548', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6893, 'Bethesda', 2800, '20817', '301', '39.003314', '-77.159528', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6894, 'Westlake', 2800, '20817', '301', '39.003314', '-77.159528', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6895, 'Comus', 2800, '20842', '301', '39.199872', '-77.42055', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6896, 'Dickerson', 2800, '20842', '301', '39.199872', '-77.42055', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6897, 'Rockville', 2800, '20849', '301', '39.0839', '-77.1534', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6898, 'Gaithersburg', 2800, '20885', '240', '39.1434', '-77.2018', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6899, 'Bethesda', 2800, '20894', '301', '38.9808', '-77.1006', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6900, 'National Library Of Medicine', 2800, '20894', '301', '38.9808', '-77.1006', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6901, 'Bethesda', 2800, '20810', '301', '38.9806', '-77.1008', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6902, 'Geico', 2800, '20810', '301', '38.9806', '-77.1008', '2018-11-29 04:50:19', '2018-11-29 04:50:19'),\n(6903, 'Gaithersburg', 2800, '20899', '301', '39.1434', '-77.2018', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6904, 'Natl Inst Stds & Tech Md', 2800, '20899', '301', '39.1434', '-77.2018', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6905, 'Silver Spring', 2800, '20901', '301', '39.024904', '-77.008287', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6906, 'Takoma Park', 2800, '20901', '301', '39.024904', '-77.008287', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6907, 'Silver Spring', 2800, '20910', '301', '39.00335', '-77.035444', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6908, 'Takoma Pk', 2800, '20910', '301', '39.00335', '-77.035444', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6909, 'Stevenson', 2800, '21153', '410', '39.418603', '-76.709109', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6910, 'Westminster', 2800, '21158', '410', '39.63549', '-77.025642', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6911, 'Cardiff', 2800, '21160', '410', '39.699355', '-76.316881', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6912, 'Whiteford', 2800, '21160', '410', '39.699355', '-76.316881', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6913, 'Fork', 2800, '21051', '410', '39.477957', '-76.452808', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6914, 'Ardmore', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6915, 'Cheverly', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6916, 'Hyattsville', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6917, 'Landover', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6918, 'N Englewood', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6919, 'North Englewood', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6920, 'Palmer Park', 2800, '20785', '301', '38.92274', '-76.887691', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6921, 'Prince George Plaza', 2800, '20788', '301', '38.9558', '-76.9456', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6922, 'W Hyattsville', 2800, '20788', '301', '38.9558', '-76.9456', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6923, 'District Heights', 2800, '20753', '301', '38.8577', '-76.8899', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6924, 'District Hts', 2800, '20753', '301', '38.8577', '-76.8899', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6925, 'Forestville', 2800, '20753', '301', '38.8577', '-76.8899', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6926, 'Goddard Flight Center', 2800, '20771', '301', '38.99743', '-76.853014', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6927, 'Greenbelt', 2800, '20771', '301', '38.99743', '-76.853014', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6928, 'Rockville', 2800, '20853', '301', '39.10724', '-77.098906', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6929, 'Potomac', 2800, '20854', '301', '39.024784', '-77.246553', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6930, 'Aspen Hill', 2800, '20906', '301', '39.08528', '-77.058949', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6931, 'Patuxent Riv', 2800, '20670', '301', '38.28594', '-76.418628', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6932, 'Patuxent River', 2800, '20670', '301', '38.28594', '-76.418628', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6933, 'Patuxent River Naval Air Sta', 2800, '20670', '301', '38.28594', '-76.418628', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6934, 'Sunderland', 2800, '20689', '410', '38.663191', '-76.586079', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6935, 'Glenarden', 2800, '20706', '301', '38.960659', '-76.854733', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6936, 'Lanham', 2800, '20706', '301', '38.960659', '-76.854733', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6937, 'Lanham Seabrook', 2800, '20706', '301', '38.960659', '-76.854733', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6938, 'Seabrook', 2800, '20706', '301', '38.960659', '-76.854733', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6939, 'Bowie', 2800, '20721', '301', '38.91853', '-76.786125', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6940, 'Mitchellville', 2800, '20721', '301', '38.91853', '-76.786125', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6941, 'Brentwd', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6942, 'Brentwood', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6943, 'Colmar Manor', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6944, 'Cottage City', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6945, 'N Brentwood', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6946, 'No Brentwood', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6947, 'North Brentwo', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6948, 'North Brentwood', 2800, '20722', '301', '38.934734', '-76.950398', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6949, 'Waldorf', 2800, '20601', '301', '38.613661', '-76.87053', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6950, 'Bryantown', 2800, '20617', '301', '38.542098', '-76.860264', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6951, 'California', 2800, '20619', '301', '38.289449', '-76.530767', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6952, 'Indian Head', 2800, '20640', '301', '38.561143', '-77.169683', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6953, 'Pisgah', 2800, '20640', '301', '38.561143', '-77.169683', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6954, 'Callaway', 2800, '20620', '301', '38.231368', '-76.522868', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6955, 'Chaptico', 2800, '20621', '301', '38.330698', '-76.796596', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6956, 'Maddox', 2800, '20621', '301', '38.330698', '-76.796596', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6957, 'Hollywood', 2800, '20636', '301', '38.349968', '-76.573892', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6958, 'Hughesville', 2800, '20637', '301', '38.523552', '-76.786325', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6959, 'Lex Pk', 2800, '20653', '301', '38.241457', '-76.430525', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6960, 'Lexington Park', 2800, '20653', '301', '38.241457', '-76.430525', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6961, 'Lexington Pk', 2800, '20653', '301', '38.241457', '-76.430525', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6962, 'Loveville', 2800, '20656', '301', '38.355292', '-76.674462', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6963, 'Laurel', 2800, '20723', '301', '39.140286', '-76.867378', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6964, 'Scaggsville', 2800, '20723', '301', '39.140286', '-76.867378', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6965, 'Turner', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6966, 'Rockford', 2803, '55577', '763', '45.0072', '-93.6558', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6967, 'Maple Plain', 2803, '55593', '763', '45.0072', '-93.6558', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6968, 'Arrowhead', 2803, '55711', '218', '46.845772', '-92.690917', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6969, 'Brkston', 2803, '55711', '218', '46.845772', '-92.690917', '2018-11-29 04:50:20', '2018-11-29 04:50:20');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(6970, 'Brookston', 2803, '55711', '218', '46.845772', '-92.690917', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6971, 'Fine Lakes', 2803, '55711', '218', '46.845772', '-92.690917', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6972, 'Stoney Brook', 2803, '55711', '218', '46.845772', '-92.690917', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6973, 'Medicine Lake', 2803, '55441', '763', '45.005931', '-93.430243', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6974, 'Minneapolis', 2803, '55441', '763', '45.005931', '-93.430243', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6975, 'Plymouth', 2803, '55441', '763', '45.005931', '-93.430243', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6976, 'Ameriprise Financial', 2803, '55474', '612', '44.98', '-93.2638', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6977, 'Minneapolis', 2803, '55474', '612', '44.98', '-93.2638', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6978, 'Young America', 2803, '55559', '952', '44.7825', '-93.9135', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6979, 'Cotton', 2803, '55724', '218', '47.185376', '-92.392662', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6980, 'Edina', 2803, '55423', '612', '44.877195', '-93.275584', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6981, 'Minneapolis', 2803, '55423', '612', '44.877195', '-93.275584', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6982, 'Richfield', 2803, '55423', '612', '44.877195', '-93.275584', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6983, 'Edina', 2803, '55424', '952', '44.905316', '-93.339922', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6984, 'Minneapolis', 2803, '55424', '952', '44.905316', '-93.339922', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6985, 'Saint Louis Park', 2803, '55424', '952', '44.905316', '-93.339922', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6986, 'St Louis Park', 2803, '55424', '952', '44.905316', '-93.339922', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6987, 'Independence', 2803, '55359', '763', '44.990864', '-93.684298', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6988, 'Maple Plain', 2803, '55359', '763', '44.990864', '-93.684298', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6989, 'Medina', 2803, '55359', '763', '44.990864', '-93.684298', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6990, 'Minnetrista', 2803, '55359', '763', '44.990864', '-93.684298', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6991, 'Orono', 2803, '55359', '763', '44.990864', '-93.684298', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6992, 'Corcoran', 2803, '55374', '763', '45.167618', '-93.578483', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6993, 'Hassan', 2803, '55374', '763', '45.167618', '-93.578483', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6994, 'Otsego', 2803, '55374', '763', '45.167618', '-93.578483', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6995, 'Rogers', 2803, '55374', '763', '45.167618', '-93.578483', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6996, 'Saint Michael', 2803, '55376', '763', '45.202136', '-93.657541', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6997, 'Waverly', 2803, '55390', '763', '45.065135', '-93.98388', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6998, 'Deephaven', 2803, '55391', '952', '44.965267', '-93.543158', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(6999, 'Orono', 2803, '55391', '952', '44.965267', '-93.543158', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7000, 'Wayzata', 2803, '55391', '952', '44.965267', '-93.543158', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7001, 'Woodland', 2803, '55391', '952', '44.965267', '-93.543158', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7002, 'Navarre', 2803, '55392', '952', '44.9434', '-93.6077', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7003, 'Arlington', 2803, '55307', '507', '44.608658', '-94.10127', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7004, 'Dassel', 2803, '55325', '320', '45.08902', '-94.33277', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7005, 'Kingston', 2803, '55325', '320', '45.08902', '-94.33277', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7006, 'Hanover', 2803, '55341', '763', '45.159578', '-93.668351', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7007, 'Eden Prairie', 2803, '55343', '952', '44.913464', '-93.411228', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7008, 'Hopkins', 2803, '55343', '952', '44.913464', '-93.411228', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7009, 'Minetonka Mls', 2803, '55343', '952', '44.913464', '-93.411228', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7010, 'Minnetnka Mls', 2803, '55343', '952', '44.913464', '-93.411228', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7011, 'Minnetonka', 2803, '55343', '952', '44.913464', '-93.411228', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7012, 'Minnetonka Mills', 2803, '55343', '952', '44.913464', '-93.411228', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7013, 'Danforth', 2803, '55072', '320', '46.152068', '-92.736406', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7014, 'Dell Grove', 2803, '55072', '320', '46.152068', '-92.736406', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7015, 'Groningen', 2803, '55072', '320', '46.152068', '-92.736406', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7016, 'Markville', 2803, '55072', '320', '46.152068', '-92.736406', '2018-11-29 04:50:20', '2018-11-29 04:50:20'),\n(7017, 'Sandstone', 2803, '55072', '320', '46.152068', '-92.736406', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7018, 'Franconia', 2803, '55074', '651', '45.382882', '-92.725906', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7019, 'Shafer', 2803, '55074', '651', '45.382882', '-92.725906', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7020, 'Saint Paul', 2803, '55107', '651', '44.933535', '-93.08933', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7021, 'W Saint Paul', 2803, '55107', '651', '44.933535', '-93.08933', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7022, 'W St Paul', 2803, '55107', '651', '44.933535', '-93.08933', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7023, 'West Saint Paul', 2803, '55107', '651', '44.933535', '-93.08933', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7024, 'West St Paul', 2803, '55107', '651', '44.933535', '-93.08933', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7025, 'Little Canada', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7026, 'Maplewood', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7027, 'N Saint Paul', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7028, 'North Saint Paul', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7029, 'North St Paul', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7030, 'Saint Paul', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7031, 'Vadnais Heights', 2803, '55109', '651', '45.013935', '-93.027021', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7032, 'Brook Park', 2803, '55007', '320', '45.972228', '-92.878532', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7033, 'Quamba', 2803, '55007', '320', '45.972228', '-92.878532', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7034, 'Lake Elmo', 2803, '55042', '651', '44.992398', '-92.897183', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7035, 'Oakdale', 2803, '55042', '651', '44.992398', '-92.897183', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7036, 'Branch', 2803, '55056', '651', '45.497112', '-92.925569', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7037, 'North Branch', 2803, '55056', '651', '45.497112', '-92.925569', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7038, 'Sunrise', 2803, '55056', '651', '45.497112', '-92.925569', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7039, 'Weber', 2803, '55056', '651', '45.497112', '-92.925569', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7040, 'Northfield', 2803, '55057', '507', '44.462716', '-93.205971', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7041, 'Waterford', 2803, '55057', '507', '44.462716', '-93.205971', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7042, 'Emmons', 2803, '56029', '507', '43.526827', '-93.468516', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7043, 'Storden', 2803, '56174', '507', '44.057793', '-95.29085', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7044, 'Byron', 2803, '55920', '507', '44.009412', '-92.617878', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7045, 'Canton', 2803, '55922', '507', '43.588146', '-91.910796', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7046, 'Eitzen', 2803, '55931', '507', '43.516698', '-91.455444', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7047, 'Highland', 2803, '55949', '507', '43.72084', '-91.96968', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7048, 'Lanesboro', 2803, '55949', '507', '43.72084', '-91.96968', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7049, 'Whalan', 2803, '55949', '507', '43.72084', '-91.96968', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7050, 'Mazeppa', 2803, '55956', '507', '44.274496', '-92.521254', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7051, 'La Salle', 2803, '56056', '507', '44.072046', '-94.569634', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7052, 'Nicollet', 2803, '56074', '507', '44.292128', '-94.191066', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7053, 'Nett Lake', 2803, '55772', '218', '48.1134', '-93.0953', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7054, 'Orr', 2803, '55772', '218', '48.1134', '-93.0953', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7055, 'Breitung', 2803, '55790', '218', '47.820605', '-92.296609', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7056, 'Kugler', 2803, '55790', '218', '47.820605', '-92.296609', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7057, 'Tower', 2803, '55790', '218', '47.820605', '-92.296609', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7058, 'Norman', 2803, '55795', '218', '46.306965', '-92.866392', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7059, 'Rutledge', 2803, '55795', '218', '46.306965', '-92.866392', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7060, 'Willow River', 2803, '55795', '218', '46.306965', '-92.866392', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7061, 'Duluth', 2803, '55804', '218', '46.920142', '-91.929802', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7062, 'Duluth', 2803, '55806', '218', '46.771165', '-92.13282', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7063, 'Fremont', 2803, '55979', '507', '43.951516', '-91.919404', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7064, 'Utica', 2803, '55979', '507', '43.951516', '-91.919404', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7065, 'Forbes', 2803, '55738', '218', '47.283774', '-92.662772', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7066, 'Zim', 2803, '55738', '218', '47.283774', '-92.662772', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7067, 'Elmore', 2803, '56027', '507', '43.543374', '-94.137954', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7068, 'Hollandale', 2803, '56045', '507', '43.775669', '-93.169381', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7069, 'Okabena', 2803, '56161', '507', '43.717823', '-95.295437', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7070, 'Trimont', 2803, '56176', '507', '43.78426', '-94.713463', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7071, 'Dakota', 2803, '55925', '507', '43.906061', '-91.41207', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7072, 'New Hartford', 2803, '55925', '507', '43.906061', '-91.41207', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7073, 'Nodine', 2803, '55925', '507', '43.906061', '-91.41207', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7074, 'Dodge Center', 2803, '55927', '507', '44.022685', '-92.862076', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7075, 'Wasioja', 2803, '55927', '507', '44.022685', '-92.862076', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7076, 'Homer', 2803, '55942', '507', '44.0218', '-91.5566', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7077, 'Houston', 2803, '55943', '507', '43.80422', '-91.561614', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7078, 'Canisteo', 2803, '55944', '507', '43.98245', '-92.738628', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7079, 'Kasson', 2803, '55944', '507', '43.98245', '-92.738628', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7080, 'Ostrander', 2803, '55961', '507', '43.573064', '-92.404553', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7081, 'Lewisville', 2803, '56060', '507', '43.920506', '-94.429132', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7082, 'Virginia', 2803, '55792', '218', '47.593539', '-92.442572', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7083, 'Duluth', 2803, '55810', '218', '46.760354', '-92.257411', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7084, 'Hermantown', 2803, '55810', '218', '46.760354', '-92.257411', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7085, 'Proctor', 2803, '55810', '218', '46.760354', '-92.257411', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7086, 'Altura', 2803, '55910', '507', '44.150406', '-92.010812', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7087, 'Bethany', 2803, '55910', '507', '44.150406', '-92.010812', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7088, 'Elba', 2803, '55910', '507', '44.150406', '-92.010812', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7089, 'Minneiska', 2803, '55910', '507', '44.150406', '-92.010812', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7090, 'Norton', 2803, '55910', '507', '44.150406', '-92.010812', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7091, 'Weaver', 2803, '55910', '507', '44.150406', '-92.010812', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7092, 'Kelsey', 2803, '55724', '218', '47.185376', '-92.392662', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7093, 'Crane Lake', 2803, '55725', '218', '48.280494', '-92.541245', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7094, 'East Lake', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7095, 'Jevne', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7096, 'Lawler', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7097, 'Mcgregor', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7098, 'Minnewana', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7099, 'Rice River', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7100, 'Salo', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7101, 'Shamrock', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7102, 'Sheshebee', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7103, 'Spalding', 2803, '55760', '218', '46.63647', '-93.251269', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7104, 'Lindstrom', 2803, '55045', '651', '45.393866', '-92.825232', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7105, 'Darfur', 2803, '56022', '507', '44.065201', '-94.799122', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7106, 'Fairmont', 2803, '56031', '507', '43.630462', '-94.460674', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7107, 'La Fayette', 2803, '56054', '507', '44.39237', '-94.371697', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7108, 'Lafayette', 2803, '56054', '507', '44.39237', '-94.371697', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7109, 'Reading', 2803, '56165', '507', '43.732402', '-95.732933', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7110, 'Slayton', 2803, '56172', '507', '44.014996', '-95.753605', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7111, 'Welcome', 2803, '56181', '507', '43.66733', '-94.603607', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7112, 'Dover', 2803, '55929', '507', '43.986066', '-92.139636', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7113, 'Hayfield', 2803, '55940', '507', '43.884724', '-92.780304', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7114, 'Kellogg', 2803, '55945', '507', '44.28669', '-92.107824', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7115, 'Theilman', 2803, '55945', '507', '44.28669', '-92.107824', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7116, 'Mabel', 2803, '55954', '507', '43.587531', '-91.796604', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7117, 'Madison Lake', 2803, '56063', '507', '44.223092', '-93.810145', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7118, 'Mapleton', 2803, '56065', '507', '43.935122', '-93.983101', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7119, 'Brevator', 2803, '55779', '218', '46.917267', '-92.49073', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7120, 'Culver', 2803, '55779', '218', '46.917267', '-92.49073', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7121, 'Grand Lake', 2803, '55779', '218', '46.917267', '-92.49073', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7122, 'Harnell Park', 2803, '55779', '218', '46.917267', '-92.49073', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7123, 'Industrial', 2803, '55779', '218', '46.917267', '-92.49073', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7124, 'Saginaw', 2803, '55779', '218', '46.917267', '-92.49073', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7125, 'Side Lake', 2803, '55781', '218', '47.650612', '-93.0079', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7126, 'Holyoke', 2803, '55797', '218', '46.571678', '-92.359808', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7127, 'Nickerson', 2803, '55797', '218', '46.571678', '-92.359808', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7128, 'Wrenshall', 2803, '55797', '218', '46.571678', '-92.359808', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7129, 'Ely', 2803, '55731', '218', '47.935632', '-91.791524', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7130, 'Colvin', 2803, '55763', '218', '47.299743', '-92.248363', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7131, 'Makinen', 2803, '55763', '218', '47.299743', '-92.248363', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7132, 'Markham', 2803, '55763', '218', '47.299743', '-92.248363', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7133, 'Monticello', 2803, '55581', '763', '45.3059', '-93.7938', '2018-11-29 04:50:21', '2018-11-29 04:50:21'),\n(7134, 'Monticello', 2803, '55588', '763', '45.3059', '-93.7938', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7135, 'Loretto', 2803, '55597', '763', '45.0544', '-93.6353', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7136, 'Croftville', 2803, '55604', '218', '47.976334', '-90.413473', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7137, 'Grand Marais', 2803, '55604', '218', '47.976334', '-90.413473', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7138, 'Maple Hill', 2803, '55604', '218', '47.976334', '-90.413473', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7139, 'Buhl', 2803, '55713', '218', '47.49759', '-92.7716', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7140, 'Great Scott', 2803, '55713', '218', '47.49759', '-92.7716', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7141, 'Cloquet', 2803, '55720', '218', '46.743628', '-92.522608', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7142, 'Knife Falls', 2803, '55720', '218', '46.743628', '-92.522608', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7143, 'Scanlon', 2803, '55720', '218', '46.743628', '-92.522608', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7144, 'Brooklyn Park', 2803, '55445', '763', '45.123177', '-93.379284', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7145, 'Brooklyn Pk', 2803, '55445', '763', '45.123177', '-93.379284', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7146, 'Minneapolis', 2803, '55445', '763', '45.123177', '-93.379284', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7147, 'Minneapolis', 2803, '55447', '763', '45.003842', '-93.487644', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7148, 'Plymouth', 2803, '55447', '763', '45.003842', '-93.487644', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7149, 'Minneapolis', 2803, '55470', '612', '44.9817', '-93.2637', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7150, 'Young America', 2803, '55556', '952', '44.7825', '-93.9135', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7151, 'Eden Prairie', 2803, '55347', '952', '44.830817', '-93.459642', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7152, 'Minneapolis', 2803, '55413', '612', '45.002244', '-93.241558', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7153, 'Crystal', 2803, '55422', '763', '45.009062', '-93.339846', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7154, 'Golden Valley', 2803, '55422', '763', '45.009062', '-93.339846', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7155, 'Minneapolis', 2803, '55422', '763', '45.009062', '-93.339846', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7156, 'Robbinsdale', 2803, '55422', '763', '45.009062', '-93.339846', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7157, 'Brooklyn Center', 2803, '55429', '763', '45.063892', '-93.340708', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7158, 'Brooklyn Ctr', 2803, '55429', '763', '45.063892', '-93.340708', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7159, 'Brooklyn Park', 2803, '55429', '763', '45.063892', '-93.340708', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7160, 'Brooklyn Pk', 2803, '55429', '763', '45.063892', '-93.340708', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7161, 'Crystal', 2803, '55429', '763', '45.063892', '-93.340708', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7162, 'Minneapolis', 2803, '55429', '763', '45.063892', '-93.340708', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7163, 'Bloomington', 2803, '55431', '952', '44.826575', '-93.310778', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7164, 'Minneapolis', 2803, '55431', '952', '44.826575', '-93.310778', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7165, 'Saint Paul', 2803, '55170', '651', '44.9445', '-93.0932', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7166, 'Us Bank', 2803, '55170', '651', '44.9445', '-93.0932', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7167, 'Us Bank Visa', 2803, '55170', '651', '44.9445', '-93.0932', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7168, 'Minetonka Bch', 2803, '55361', '952', '44.9397', '-93.5764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7169, 'Minnetnka Bch', 2803, '55361', '952', '44.9397', '-93.5764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7170, 'Minnetonka Beach', 2803, '55361', '952', '44.9397', '-93.5764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7171, 'Montrose', 2803, '55363', '763', '45.039212', '-93.905694', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7172, 'Prior Lake', 2803, '55372', '952', '44.674118', '-93.409943', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7173, 'Shakopee', 2803, '55372', '952', '44.674118', '-93.409943', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7174, 'Santiago', 2803, '55377', '763', '45.5394', '-93.8197', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7175, 'Winsted', 2803, '55395', '320', '44.954197', '-94.070755', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7176, 'Norwood Young America', 2803, '55397', '952', '44.81166', '-93.935074', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7177, 'Nya', 2803, '55397', '952', '44.81166', '-93.935074', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7178, 'Young America', 2803, '55397', '952', '44.81166', '-93.935074', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7179, 'Falcon Heights', 2803, '55113', '651', '45.012091', '-93.155889', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7180, 'Falcon Hgts', 2803, '55113', '651', '45.012091', '-93.155889', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7181, 'Lauderdale', 2803, '55113', '651', '45.012091', '-93.155889', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7182, 'Little Canada', 2803, '55113', '651', '45.012091', '-93.155889', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7183, 'Roseville', 2803, '55113', '651', '45.012091', '-93.155889', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7184, 'Saint Paul', 2803, '55113', '651', '45.012091', '-93.155889', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7185, 'Buffalo', 2803, '55313', '763', '45.18995', '-93.83705', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7186, 'Eden Valley', 2803, '55329', '320', '45.31234', '-94.59678', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7187, 'Eagan', 2803, '55120', '651', '44.874376', '-93.15302', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7188, 'Mendota Heights', 2803, '55120', '651', '44.874376', '-93.15302', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7189, 'Mendota Hts', 2803, '55120', '651', '44.874376', '-93.15302', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7190, 'Saint Paul', 2803, '55120', '651', '44.874376', '-93.15302', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7191, 'Little Canada', 2803, '55127', '651', '45.079802', '-93.088334', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7192, 'North Oaks', 2803, '55127', '651', '45.079802', '-93.088334', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7193, 'Saint Paul', 2803, '55127', '651', '45.079802', '-93.088334', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7194, 'Vadnais Heights', 2803, '55127', '651', '45.079802', '-93.088334', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7195, 'Vadnais Hts', 2803, '55127', '651', '45.079802', '-93.088334', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7196, 'White Bear Lk', 2803, '55127', '651', '45.079802', '-93.088334', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7197, 'First Bank St Paul', 2803, '55170', '651', '44.9445', '-93.0932', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7198, 'Cedar', 2803, '55011', '763', '45.341538', '-93.240187', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7199, 'Cedar E Bethl', 2803, '55011', '763', '45.341538', '-93.240187', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7200, 'Cedar East Bethel', 2803, '55011', '763', '45.341538', '-93.240187', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7201, 'East Bethel', 2803, '55011', '763', '45.341538', '-93.240187', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7202, 'Oak Grove', 2803, '55011', '763', '45.341538', '-93.240187', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7203, 'Bellechester', 2803, '55027', '651', '44.416936', '-92.621928', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7204, 'Goodhue', 2803, '55027', '651', '44.416936', '-92.621928', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7205, 'Grasston', 2803, '55036', '320', '45.871826', '-93.119625', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7206, 'Henriette', 2803, '55036', '320', '45.871826', '-93.119625', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7207, 'Webster', 2803, '55088', '952', '44.522987', '-93.382976', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7208, 'Saint Paul', 2803, '55104', '651', '44.952992', '-93.166982', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7209, 'Minneapolis', 2803, '55439', '952', '44.87483', '-93.374842', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7210, 'Hennepin County Govt Ctr', 2803, '55487', '612', '44.98', '-93.2638', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7211, 'Minneapolis', 2803, '55487', '612', '44.98', '-93.2638', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7212, 'Young America', 2803, '55562', '952', '44.7825', '-93.9135', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7213, 'Bear Lake', 2803, '55723', '218', '47.847631', '-92.956613', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7214, 'Bearville North', 2803, '55723', '218', '47.847631', '-92.956613', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7215, 'Cook', 2803, '55723', '218', '47.847631', '-92.956613', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7216, 'Togo', 2803, '55723', '218', '47.847631', '-92.956613', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7217, 'Kimball', 2803, '55353', '320', '45.315942', '-94.303158', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7218, 'Saint Augusta', 2803, '55353', '320', '45.315942', '-94.303158', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7219, 'Minneapolis', 2803, '55405', '612', '44.967551', '-93.303029', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7220, 'Minneapolis', 2803, '55412', '612', '45.026924', '-93.297162', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7221, 'Minneapolis', 2803, '55414', '612', '44.973155', '-93.233822', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7222, 'Minneapolis', 2803, '55419', '612', '44.907535', '-93.287518', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7223, 'Brooklyn Center', 2803, '55428', '763', '45.063659', '-93.380309', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7224, 'Brooklyn Ctr', 2803, '55428', '763', '45.063659', '-93.380309', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7225, 'Brooklyn Park', 2803, '55428', '763', '45.063659', '-93.380309', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7226, 'Crystal', 2803, '55428', '763', '45.063659', '-93.380309', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7227, 'Minneapolis', 2803, '55428', '763', '45.063659', '-93.380309', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7228, 'New Hope', 2803, '55428', '763', '45.063659', '-93.380309', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7229, 'Brooklyn Center', 2803, '55430', '763', '45.059712', '-93.300583', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7230, 'Brooklyn Ctr', 2803, '55430', '763', '45.059712', '-93.300583', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7231, 'Minneapolis', 2803, '55430', '763', '45.059712', '-93.300583', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7232, 'Saint Paul', 2803, '55187', '651', '44.9445', '-93.0932', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7233, 'Target Direct', 2803, '55187', '651', '44.9445', '-93.0932', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7234, 'Andover', 2803, '55303', '763', '45.281649', '-93.429764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7235, 'Anoka', 2803, '55303', '763', '45.281649', '-93.429764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7236, 'Hassan', 2803, '55369', '763', '45.126662', '-93.460576', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7237, 'Maple Grove', 2803, '55369', '763', '45.126662', '-93.460576', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7238, 'Osseo', 2803, '55369', '763', '45.126662', '-93.460576', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7239, 'Young America', 2803, '55394', '952', '44.7828', '-93.9136', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7240, 'Winthrop', 2803, '55396', '507', '44.543387', '-94.373991', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7241, 'Nowthen', 2803, '55303', '763', '45.281649', '-93.429764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7242, 'Oak Grove', 2803, '55303', '763', '45.281649', '-93.429764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7243, 'Ramsey', 2803, '55303', '763', '45.281649', '-93.429764', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7244, 'Burns Township', 2803, '55330', '763', '45.325709', '-93.603192', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7245, 'Burns Twnshp', 2803, '55330', '763', '45.325709', '-93.603192', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7246, 'Elk River', 2803, '55330', '763', '45.325709', '-93.603192', '2018-11-29 04:50:22', '2018-11-29 04:50:22'),\n(7247, 'Nowthen', 2803, '55330', '763', '45.325709', '-93.603192', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7248, 'Otsego', 2803, '55330', '763', '45.325709', '-93.603192', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7249, 'Eden Prairie', 2803, '55344', '952', '44.864078', '-93.441708', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7250, 'Eden Prairie', 2803, '55346', '952', '44.877442', '-93.476578', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7251, 'Rush City', 2803, '55069', '320', '45.685109', '-92.972943', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7252, 'Grey Cloud Island', 2803, '55071', '651', '44.811284', '-92.991542', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7253, 'Saint Paul Park', 2803, '55071', '651', '44.811284', '-92.991542', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7254, 'St Paul Park', 2803, '55071', '651', '44.811284', '-92.991542', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7255, 'Inver Grove', 2803, '55076', '651', '44.829473', '-93.035567', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7256, 'Inver Grove Heights', 2803, '55076', '651', '44.829473', '-93.035567', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7257, 'South Saint Paul', 2803, '55076', '651', '44.829473', '-93.035567', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7258, 'South St Paul', 2803, '55076', '651', '44.829473', '-93.035567', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7259, 'Eagan', 2803, '55121', '651', '44.84219', '-93.168026', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7260, 'Saint Paul', 2803, '55121', '651', '44.84219', '-93.168026', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7261, 'Landfall Village', 2803, '55128', '651', '44.992296', '-92.959358', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7262, 'Landfall Vlg', 2803, '55128', '651', '44.992296', '-92.959358', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7263, 'Oakdale', 2803, '55128', '651', '44.992296', '-92.959358', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7264, 'Pine Springs', 2803, '55128', '651', '44.992296', '-92.959358', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7265, 'Saint Paul', 2803, '55128', '651', '44.992296', '-92.959358', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7266, 'Dundas', 2803, '55019', '507', '44.413726', '-93.246724', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7267, 'Warsaw', 2803, '55087', '507', '44.239748', '-93.391477', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7268, 'Hinckley', 2803, '55037', '320', '46.034176', '-92.888952', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7269, 'Lonsdale', 2803, '55046', '507', '44.449874', '-93.417858', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7270, 'Veseli', 2803, '55046', '507', '44.449874', '-93.417858', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7271, 'Newport', 2803, '55055', '651', '44.871003', '-92.99693', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7272, 'Ballwin', 2804, '63011', '636', '38.603679', '-90.56038', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7273, 'Ellisville', 2804, '63011', '636', '38.603679', '-90.56038', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7274, 'Manchester', 2804, '63011', '636', '38.603679', '-90.56038', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7275, 'Wildwood', 2804, '63011', '636', '38.603679', '-90.56038', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7276, 'Winchester', 2804, '63011', '636', '38.603679', '-90.56038', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7277, 'Barnhart', 2804, '63012', '636', '38.326072', '-90.44949', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7278, 'Berger', 2804, '63014', '573', '38.62534', '-91.313598', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7279, 'Etlah', 2804, '63014', '573', '38.62534', '-91.313598', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7280, 'Festus', 2804, '63028', '636', '38.128808', '-90.394541', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7281, 'Fletcher', 2804, '63030', '573', '38.144218', '-90.737562', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7282, 'Bridgeton', 2804, '63044', '314', '38.766252', '-90.422146', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7283, 'Bridgeton Terrace', 2804, '63044', '314', '38.766252', '-90.422146', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7284, 'Hazelwood', 2804, '63044', '314', '38.766252', '-90.422146', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7285, 'Earth City', 2804, '63045', '314', '38.785723', '-90.461727', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7286, 'Saint Louis', 2804, '63111', '314', '38.556389', '-90.247072', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7287, 'Saint Louis', 2804, '63112', '314', '38.660906', '-90.282102', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7288, 'Wellston', 2804, '63112', '314', '38.660906', '-90.282102', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7289, 'Country Life Acres', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7290, 'Crystal Lake Park', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7291, 'Des Peres', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7292, 'Frontenac', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7293, 'Huntleigh', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7294, 'Saint Louis', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7295, 'Westwood', 2804, '63131', '314', '38.615896', '-90.445589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7296, 'Lambert Airport', 2804, '63145', '314', '38.746434', '-90.361334', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7297, 'Lambert Arprt', 2804, '63145', '314', '38.746434', '-90.361334', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7298, 'Saint Louis', 2804, '63145', '314', '38.746434', '-90.361334', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7299, 'Saint Louis', 2804, '63147', '314', '38.690768', '-90.218058', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7300, 'Firstar Bank', 2804, '63195', '314', '38.6272', '-90.1978', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7301, 'Saint Louis', 2804, '63195', '314', '38.6272', '-90.1978', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7302, 'Us Bank', 2804, '63195', '314', '38.6272', '-90.1978', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7303, 'Annada', 2804, '63330', '573', '39.260222', '-90.795824', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7304, 'Flinthill', 2804, '63346', '636', '38.8629', '-90.8602', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7305, 'Foley', 2804, '63347', '636', '39.068791', '-90.780048', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7306, 'Foristell', 2804, '63348', '636', '38.777648', '-90.936785', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7307, 'New Melle', 2804, '63365', '636', '38.7106', '-90.8788', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7308, 'Treloar', 2804, '63378', '636', '38.6445', '-91.1876', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7309, 'New Truxton', 2804, '63381', '636', '38.971658', '-91.226661', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7310, 'Truxton', 2804, '63381', '636', '38.971658', '-91.226661', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7311, 'Kahoka', 2804, '63445', '660', '40.43342', '-91.721082', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7312, 'Medill', 2804, '63445', '660', '40.43342', '-91.721082', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7313, 'Plevna', 2804, '63464', '660', '39.994654', '-92.118967', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7314, 'Baring', 2804, '63531', '660', '40.259918', '-92.263466', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7315, 'Bible Grove', 2804, '63531', '660', '40.259918', '-92.263466', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7316, 'Colony', 2804, '63531', '660', '40.259918', '-92.263466', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7317, 'Greensburg', 2804, '63531', '660', '40.259918', '-92.263466', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7318, 'Bevier', 2804, '63532', '660', '39.760631', '-92.56806', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7319, 'Keota', 2804, '63532', '660', '39.760631', '-92.56806', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7320, 'Florissant', 2804, '63034', '314', '38.849722', '-90.28387', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7321, 'Hillsboro', 2804, '63050', '636', '38.263446', '-90.57318', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7322, 'Saint Clair', 2804, '63077', '636', '38.325025', '-90.982848', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7323, 'Moselle', 2804, '63084', '636', '38.427171', '-91.004274', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7324, 'Union', 2804, '63084', '636', '38.427171', '-91.004274', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7325, 'Saint Louis', 2804, '63107', '314', '38.667326', '-90.212951', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7326, 'Saint Louis', 2804, '63109', '314', '38.581074', '-90.29589', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7327, 'Olivette', 2804, '63132', '314', '38.678414', '-90.378417', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7328, 'Saint Louis', 2804, '63132', '314', '38.678414', '-90.378417', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7329, 'Bank Of America', 2804, '63150', '314', '38.6272', '-90.1978', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7330, 'Saint Louis', 2804, '63150', '314', '38.6272', '-90.1978', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7331, 'Bowling Green', 2804, '63334', '573', '39.296954', '-91.174124', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7332, 'Cyrene', 2804, '63334', '573', '39.296954', '-91.174124', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7333, 'Saint Clement', 2804, '63334', '573', '39.296954', '-91.174124', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7334, 'Tarrants', 2804, '63334', '573', '39.296954', '-91.174124', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7335, 'Vera', 2804, '63334', '573', '39.296954', '-91.174124', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7336, 'Defiance', 2804, '63341', '636', '38.6595', '-90.776217', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7337, 'Matson', 2804, '63341', '636', '38.6595', '-90.776217', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7338, 'Dardenne', 2804, '63368', '636', '38.747648', '-90.742849', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7339, 'Dardenne Pr', 2804, '63368', '636', '38.747648', '-90.742849', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7340, 'Dardenne Prairie', 2804, '63368', '636', '38.747648', '-90.742849', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7341, 'O Fallon', 2804, '63368', '636', '38.747648', '-90.742849', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7342, 'Ofallon', 2804, '63368', '636', '38.747648', '-90.742849', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7343, 'Center', 2804, '63436', '573', '39.494716', '-91.542474', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7344, 'Madisonville', 2804, '63436', '573', '39.494716', '-91.542474', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7345, 'Frankford', 2804, '63441', '573', '39.493827', '-91.293034', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7346, 'Lentner', 2804, '63450', '573', '39.719986', '-92.146486', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7347, 'New London', 2804, '63459', '573', '39.560914', '-91.372202', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7348, 'Lakenan', 2804, '63468', '573', '39.717459', '-92.015332', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7349, 'Shelbina', 2804, '63468', '573', '39.717459', '-92.015332', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7350, 'Connelsville', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7351, 'Low Ground', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7352, 'Martinstown', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7353, 'Midland', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7354, 'Novinger', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7355, 'Pure Air', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7356, 'Shibleys Point', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7357, 'Stahl', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7358, 'Youngstown', 2804, '63559', '660', '40.311482', '-92.742415', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7359, 'Black', 2804, '63625', '573', '37.54541', '-91.009212', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7360, 'Oates', 2804, '63625', '573', '37.54541', '-91.009212', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7361, 'Cobalt City', 2804, '63645', '573', '37.536312', '-90.329682', '2018-11-29 04:50:23', '2018-11-29 04:50:23'),\n(7362, 'Fredericktown', 2804, '63645', '573', '37.536312', '-90.329682', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7363, 'Millcreek', 2804, '63645', '573', '37.536312', '-90.329682', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7364, 'Mine La Motte', 2804, '63645', '573', '37.536312', '-90.329682', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7365, 'Womack', 2804, '63645', '573', '37.536312', '-90.329682', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7366, 'Vulcan', 2804, '63675', '573', '37.314182', '-90.707814', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7367, 'Cape Girardeau', 2804, '63702', '573', '37.3059', '-89.5183', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7368, 'Cpe Girardeau', 2804, '63702', '573', '37.3059', '-89.5183', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7369, 'Daisy', 2804, '63743', '573', '37.513762', '-89.826814', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7370, 'Dutchtown', 2804, '63745', '573', '37.2528', '-89.6594', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7371, 'Anniston', 2804, '63820', '573', '36.825866', '-89.319014', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7372, 'Charleston', 2804, '63834', '573', '36.914621', '-89.274261', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7373, 'Diehlstadt', 2804, '63834', '573', '36.914621', '-89.274261', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7374, 'East Prairie', 2804, '63845', '573', '36.706424', '-89.307105', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7375, 'Parma', 2804, '63870', '573', '36.62689', '-89.832208', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7376, 'Homestown', 2804, '63879', '573', '36.355188', '-89.8418', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7377, 'Wardell', 2804, '63879', '573', '36.355188', '-89.8418', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7378, 'Clubb', 2804, '63934', '573', '37.232466', '-90.353976', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7379, 'Silva', 2804, '63934', '573', '37.232466', '-90.353976', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7380, 'Neelyville', 2804, '63954', '573', '36.586521', '-90.464708', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7381, 'Homeland Nbc', 2804, '64002', '816', '0', '0', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7382, 'Lees Summit', 2804, '64002', '816', '0', '0', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7383, 'Camden Point', 2804, '64018', '816', '39.448044', '-94.72796', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7384, 'Concordia', 2804, '64020', '660', '38.958373', '-93.603286', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7385, 'Ernestville', 2804, '64020', '660', '38.958373', '-93.603286', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7386, 'Blue Springs', 2804, '64029', '816', '38.98235', '-94.212418', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7387, 'Grain Valley', 2804, '64029', '816', '38.98235', '-94.212418', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7388, 'Henrietta', 2804, '64036', '816', '39.195995', '-93.92989', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7389, 'Independence', 2804, '64054', '816', '39.112634', '-94.44264', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7390, 'Sugar Creek', 2804, '64054', '816', '39.112634', '-94.44264', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7391, 'Lone Jack', 2804, '64070', '816', '38.894654', '-94.142541', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7392, 'Rayville', 2804, '64084', '816', '39.389992', '-94.05961', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7393, 'Lake Lotawana', 2804, '64086', '816', '38.898481', '-94.299422', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7394, 'Lees Summit', 2804, '64086', '816', '38.898481', '-94.299422', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7395, 'Lone Jack', 2804, '64086', '816', '38.898481', '-94.299422', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7396, 'Ls', 2804, '64086', '816', '38.898481', '-94.299422', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7397, 'Warrensburg', 2804, '64093', '660', '38.790056', '-93.723488', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7398, 'Gladstone', 2804, '64118', '816', '39.213954', '-94.575082', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7399, 'Kansas City', 2804, '64118', '816', '39.213954', '-94.575082', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7400, 'Nkc', 2804, '64118', '816', '39.213954', '-94.575082', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7401, 'Oakview', 2804, '64118', '816', '39.213954', '-94.575082', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7402, 'Village Of Oakview', 2804, '64118', '816', '39.213954', '-94.575082', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7403, 'Kansas City', 2804, '64120', '816', '39.130212', '-94.522426', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7404, 'Ferrelview', 2804, '64163', '816', '39.334388', '-94.70442', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7405, 'Kansas City', 2804, '64163', '816', '39.334388', '-94.70442', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7406, 'K C', 2804, '64188', '816', '39.1033', '-94.6009', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7407, 'Kansas City', 2804, '64188', '816', '39.1033', '-94.6009', '2018-11-29 04:50:24', '2018-11-29 04:50:24');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(7408, 'Ks City', 2804, '64188', '816', '39.1033', '-94.6009', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7409, 'Allendale', 2804, '64420', '660', '40.4858', '-94.2885', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7410, 'Mound City', 2804, '64470', '660', '40.160305', '-95.211114', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7411, 'Plattsburg', 2804, '64477', '816', '39.601512', '-94.433389', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7412, 'Ravenwood', 2804, '64479', '660', '40.365417', '-94.680221', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7413, 'Weatherby', 2804, '64497', '816', '39.905636', '-94.209834', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7414, 'Bogard', 2804, '64622', '660', '39.525918', '-93.533538', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7415, 'Dawn', 2804, '64638', '660', '39.676224', '-93.600701', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7416, 'Arnold', 2804, '63010', '636', '38.423443', '-90.401639', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7417, 'Catawissa', 2804, '63015', '636', '38.396092', '-90.742612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7418, 'La Barque Crk', 2804, '63015', '636', '38.396092', '-90.742612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7419, 'Hazelwood', 2804, '63042', '314', '38.792465', '-90.387003', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7420, 'Robertson', 2804, '63042', '314', '38.792465', '-90.387003', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7421, 'Vigus', 2804, '63042', '314', '38.792465', '-90.387003', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7422, 'Byrnes Mill', 2804, '63051', '636', '38.399114', '-90.591027', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7423, 'House Springs', 2804, '63051', '636', '38.399114', '-90.591027', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7424, 'La Barque Crk', 2804, '63051', '636', '38.399114', '-90.591027', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7425, 'Northwest Plaza', 2804, '63074', '314', '38.72658', '-90.389026', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7426, 'Nw Plaza', 2804, '63074', '314', '38.72658', '-90.389026', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7427, 'Saint Ann', 2804, '63074', '314', '38.72658', '-90.389026', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7428, 'Saint Anne', 2804, '63074', '314', '38.72658', '-90.389026', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7429, 'St Anne', 2804, '63074', '314', '38.72658', '-90.389026', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7430, 'Campbellton', 2804, '63090', '636', '38.531804', '-91.034158', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7431, 'Clover Bottom', 2804, '63090', '636', '38.531804', '-91.034158', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7432, 'Washington', 2804, '63090', '636', '38.531804', '-91.034158', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7433, 'Burke City', 2804, '63135', '314', '38.744678', '-90.300072', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7434, 'Calverton Park', 2804, '63135', '314', '38.744678', '-90.300072', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7435, 'Dellwood', 2804, '63135', '314', '38.744678', '-90.300072', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7436, 'Ferguson', 2804, '63135', '314', '38.744678', '-90.300072', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7437, 'Saint Louis', 2804, '63135', '314', '38.744678', '-90.300072', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7438, 'Saint Louis', 2804, '63151', '636', '38.4585', '-90.3234', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7439, 'Bank Of America', 2804, '63160', '314', '38.6272', '-90.1978', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7440, 'Saint Louis', 2804, '63160', '314', '38.6272', '-90.1978', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7441, 'Dutzow', 2804, '63342', '636', '38.6058', '-90.9947', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7442, 'Hawk Point', 2804, '63349', '636', '38.980543', '-91.141343', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7443, 'Jonesburg', 2804, '63351', '636', '38.897982', '-91.312546', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7444, 'Lake Saint Louis', 2804, '63367', '636', '38.77343', '-90.792024', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7445, 'Lake St Louis', 2804, '63367', '636', '38.77343', '-90.792024', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7446, 'Lsl', 2804, '63367', '636', '38.77343', '-90.792024', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7447, 'O Fallon', 2804, '63367', '636', '38.77343', '-90.792024', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7448, 'Ofallon', 2804, '63367', '636', '38.77343', '-90.792024', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7449, 'Elkhorn', 2804, '63383', '636', '38.802758', '-91.246612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7450, 'Pendleton', 2804, '63383', '636', '38.802758', '-91.246612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7451, 'Truesdail', 2804, '63383', '636', '38.802758', '-91.246612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7452, 'Truesdale', 2804, '63383', '636', '38.802758', '-91.246612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7453, 'Warrenton', 2804, '63383', '636', '38.802758', '-91.246612', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7454, 'Gilmore', 2804, '63385', '636', '38.790097', '-90.848366', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7455, 'Josephville', 2804, '63385', '636', '38.790097', '-90.848366', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7456, 'Wentzville', 2804, '63385', '636', '38.790097', '-90.848366', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7457, 'Ashburn', 2804, '63433', '573', '39.528992', '-91.165646', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7458, 'Newark', 2804, '63458', '660', '39.99368', '-92.00742', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7459, 'Novelty', 2804, '63460', '660', '40.038748', '-92.260225', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7460, 'Plevna', 2804, '63469', '573', '39.849754', '-92.024235', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7461, 'Jameson', 2804, '64647', '660', '40.026576', '-93.979694', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7462, 'Jerico Spgs', 2804, '64756', '417', '37.674513', '-94.007562', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7463, 'Jerico Sprgs', 2804, '64756', '417', '37.674513', '-94.007562', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7464, 'Jerico Springs', 2804, '64756', '417', '37.674513', '-94.007562', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7465, 'Camp Clark', 2804, '64772', '417', '37.850134', '-94.344602', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7466, 'Nevada', 2804, '64772', '417', '37.850134', '-94.344602', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7467, 'Rich Hill', 2804, '64779', '417', '38.114486', '-94.361354', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7468, 'Diamond', 2804, '64840', '417', '37.023992', '-94.315032', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7469, 'Noel', 2804, '64854', '417', '36.544599', '-94.432773', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7470, 'Webb City', 2804, '64870', '417', '37.181558', '-94.479714', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7471, 'Belle', 2804, '65013', '573', '38.272812', '-91.757529', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7472, 'Byron', 2804, '65013', '573', '38.272812', '-91.757529', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7473, 'Koenig', 2804, '65013', '573', '38.272812', '-91.757529', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7474, 'Lanes Prairie', 2804, '65013', '573', '38.272812', '-91.757529', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7475, 'Paydown', 2804, '65013', '573', '38.272812', '-91.757529', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7476, 'Summerfield', 2804, '65013', '573', '38.272812', '-91.757529', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7477, 'Henley', 2804, '65040', '573', '38.372556', '-92.31269', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7478, 'Hickory Hill', 2804, '65040', '573', '38.372556', '-92.31269', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7479, 'Kaiser', 2804, '65047', '573', '38.184638', '-92.560386', '2018-11-29 04:50:24', '2018-11-29 04:50:24'),\n(7480, 'Dixie', 2804, '65063', '573', '38.719981', '-92.091842', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7481, 'Guthrie', 2804, '65063', '573', '38.719981', '-92.091842', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7482, 'New Bloomfield', 2804, '65063', '573', '38.719981', '-92.091842', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7483, 'New Bloomfld', 2804, '65063', '573', '38.719981', '-92.091842', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7484, 'Number Eight', 2804, '63532', '660', '39.760631', '-92.56806', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7485, 'Green City', 2804, '63545', '660', '40.254812', '-92.940948', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7486, 'Mystic', 2804, '63545', '660', '40.254812', '-92.940948', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7487, 'Pennville', 2804, '63545', '660', '40.254812', '-92.940948', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7488, 'Lancaster', 2804, '63548', '660', '40.534907', '-92.515158', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7489, 'Cadet', 2804, '63630', '573', '38.010147', '-90.727821', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7490, 'Old Mines', 2804, '63630', '573', '38.010147', '-90.727821', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7491, 'Caledonia', 2804, '63631', '573', '37.774986', '-90.727894', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7492, 'Cascade', 2804, '63632', '573', '37.2995', '-90.2694', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7493, 'Irondale', 2804, '63648', '573', '37.811537', '-90.720142', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7494, 'Patton', 2804, '63662', '573', '37.469829', '-90.070168', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7495, 'Pilot Knob', 2804, '63663', '573', '37.627093', '-90.651363', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7496, 'Reynolds', 2804, '63666', '573', '37.4008', '-91.0736', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7497, 'Farrar', 2804, '63746', '573', '37.7021', '-89.6925', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7498, 'Lutesville', 2804, '63764', '573', '37.311348', '-89.986288', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7499, 'Marble Hill', 2804, '63764', '573', '37.311348', '-89.986288', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7500, 'Scopus', 2804, '63764', '573', '37.311348', '-89.986288', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7501, 'Pocahontas', 2804, '63779', '573', '37.5009', '-89.6436', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7502, 'Sturdivant', 2804, '63782', '573', '37.06953', '-90.015888', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7503, 'Catron', 2804, '63833', '573', '36.646908', '-89.73086', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7504, 'Gideon', 2804, '63848', '573', '36.449386', '-89.89067', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7505, 'Peach Orchard', 2804, '63848', '573', '36.449386', '-89.89067', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7506, 'Gobler', 2804, '63849', '573', '36.139509', '-89.953598', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7507, 'Wyatt', 2804, '63882', '573', '36.910527', '-89.213714', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7508, 'Lodi', 2804, '63950', '573', '37.250657', '-90.479673', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7509, 'Buckner', 2804, '64016', '816', '39.115945', '-94.206814', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7510, 'Camden', 2804, '64017', '816', '39.19651', '-94.025982', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7511, 'Independence', 2804, '64050', '816', '39.123348', '-94.411739', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7512, 'Sugar Creek', 2804, '64050', '816', '39.123348', '-94.411739', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7513, 'Blue Springs', 2804, '64064', '816', '38.987328', '-94.336244', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7514, 'Lees Summit', 2804, '64064', '816', '38.987328', '-94.336244', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7515, 'Ls', 2804, '64064', '816', '38.987328', '-94.336244', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7516, 'Unity Village', 2804, '64064', '816', '38.987328', '-94.336244', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7517, 'Lees Summit', 2804, '64081', '816', '38.908831', '-94.400611', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7518, 'Ls', 2804, '64081', '816', '38.908831', '-94.400611', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7519, 'Lees Summit', 2804, '64082', '816', '38.857394', '-94.406459', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7520, 'Ls', 2804, '64082', '816', '38.857394', '-94.406459', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7521, 'Weston', 2804, '64098', '816', '39.45159', '-94.920212', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7522, 'K C', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7523, 'Kans City', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7524, 'Kans Cty', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7525, 'Kans Cy', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7526, 'Kansas City', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7527, 'Kansas Cty', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7528, 'Kansas Cy', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7529, 'Kc', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7530, 'Ks City', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7531, 'N Kansas City', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7532, 'N Kc', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7533, 'Nkc', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7534, 'No Kansas City', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7535, 'North Kansas City', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7536, 'North Kc', 2804, '64116', '816', '39.146376', '-94.570772', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7537, 'Kansas City', 2804, '64134', '816', '38.927527', '-94.48165', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7538, 'K C', 2804, '64148', '816', '39.0997', '-94.5784', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7539, 'Kansas City', 2804, '64148', '816', '39.0997', '-94.5784', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7540, 'Federal Reserve', 2804, '64198', '816', '39.0997', '-94.5784', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7541, 'Kansas City', 2804, '64198', '816', '39.0997', '-94.5784', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7542, 'Clearmont', 2804, '64431', '660', '40.525932', '-94.988093', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7543, 'Clyde', 2804, '64432', '660', '40.271228', '-94.64492', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7544, 'Martinsville', 2804, '64467', '660', '40.394013', '-94.166104', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7545, 'Rock Port', 2804, '64482', '660', '40.446036', '-95.602629', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7546, 'Rockport', 2804, '64482', '660', '40.446036', '-95.602629', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7547, 'Rosendale', 2804, '64483', '816', '40.045318', '-94.846', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7548, 'Rushville', 2804, '64484', '816', '39.562844', '-95.034966', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7549, 'Winthrop', 2804, '64484', '816', '39.562844', '-95.034966', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7550, 'Shelbyville', 2804, '63469', '573', '39.849754', '-92.024235', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7551, 'Chariton', 2804, '63535', '660', '40.557418', '-92.639732', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7552, 'Coatsville', 2804, '63535', '660', '40.557418', '-92.639732', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7553, 'Pollock', 2804, '63560', '660', '40.37616', '-93.130035', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7554, 'Desloge', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7555, 'Elvins', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7556, 'Flat River', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7557, 'Frankclay', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7558, 'Leadington', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7559, 'Leadwood', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7560, 'Park Hills', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7561, 'Rivermines', 2804, '63601', '573', '37.811164', '-90.552155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7562, 'Blackwell', 2804, '63626', '636', '38.051886', '-90.705305', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7563, 'Knob Lick', 2804, '63651', '573', '37.6753', '-90.3672', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7564, 'Bell City', 2804, '63735', '573', '36.98556', '-89.777076', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7565, 'Brazeau', 2804, '63737', '573', '37.6613', '-89.6529', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7566, 'Morley', 2804, '63767', '573', '37.048124', '-89.609235', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7567, 'Canalou', 2804, '63828', '573', '36.750192', '-89.69208', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7568, 'Lilbourn', 2804, '63862', '573', '36.590636', '-89.645678', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7569, 'North Lilbourn', 2804, '63862', '573', '36.590636', '-89.645678', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7570, 'Howardville', 2804, '63869', '573', '36.603266', '-89.514544', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7571, 'New Madrid', 2804, '63869', '573', '36.603266', '-89.514544', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7572, 'Poplar Bluff', 2804, '63901', '573', '36.757896', '-90.460885', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7573, 'Rombauer', 2804, '63901', '573', '36.757896', '-90.460885', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7574, 'Ellsinore', 2804, '63937', '573', '36.962065', '-90.706344', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7575, 'Acornridge', 2804, '63960', '573', '36.952124', '-90.137622', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7576, 'Asherville', 2804, '63960', '573', '36.952124', '-90.137622', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7577, 'Kinder', 2804, '63960', '573', '36.952124', '-90.137622', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7578, 'Puxico', 2804, '63960', '573', '36.952124', '-90.137622', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7579, 'Rombauer', 2804, '63962', '573', '36.8431', '-90.28', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7580, 'Williamsville', 2804, '63967', '573', '36.940577', '-90.503854', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7581, 'Belton', 2804, '64012', '816', '38.785077', '-94.545909', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7582, 'Village Of Loch Lloyd', 2804, '64012', '816', '38.785077', '-94.545909', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7583, 'Vlg Loch Loyd', 2804, '64012', '816', '38.785077', '-94.545909', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7584, 'Aullville', 2804, '64037', '660', '39.047483', '-93.667217', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7585, 'Higginsville', 2804, '64037', '660', '39.047483', '-93.667217', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7586, 'Independence', 2804, '64051', '816', '39.0913', '-94.4155', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7587, 'Kearney', 2804, '64060', '816', '39.375436', '-94.364894', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7588, 'Lake Lafayette', 2804, '64076', '816', '38.974914', '-93.917169', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7589, 'Odessa', 2804, '64076', '816', '38.974914', '-93.917169', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7590, 'Claycomo', 2804, '64119', '816', '39.21337', '-94.51683', '2018-11-29 04:50:25', '2018-11-29 04:50:25'),\n(7591, 'Gladstone', 2804, '64119', '816', '39.21337', '-94.51683', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7592, 'Kansas City', 2804, '64119', '816', '39.21337', '-94.51683', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7593, 'Kansas City', 2804, '64137', '816', '38.931583', '-94.541532', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7594, 'Kansas City', 2804, '64144', '816', '39.0829', '-94.5891', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7595, 'Philatelic Distribution Ctr', 2804, '64144', '816', '39.0829', '-94.5891', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7596, 'Kansas City', 2804, '64153', '816', '39.288021', '-94.737938', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7597, 'Weatherby Lake', 2804, '64153', '816', '39.288021', '-94.737938', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7598, 'Wthrby Lake', 2804, '64153', '816', '39.288021', '-94.737938', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7599, 'Commerce Bank', 2804, '64180', '816', '39.0997', '-94.5784', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7600, 'Kansas City', 2804, '64180', '816', '39.0997', '-94.5784', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7601, 'Gentry', 2804, '64453', '660', '40.343076', '-94.402582', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7602, 'Graham', 2804, '64455', '660', '40.201682', '-95.004475', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7603, 'Stanberry', 2804, '64489', '660', '40.277879', '-94.532401', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7604, 'Union Star', 2804, '64494', '816', '39.971987', '-94.605475', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7605, 'Saint Joseph', 2804, '64503', '816', '39.732899', '-94.806802', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7606, 'Country Club', 2804, '64505', '816', '39.823056', '-94.849103', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7607, 'Saint Joseph', 2804, '64505', '816', '39.823056', '-94.849103', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7608, 'St Joseph', 2804, '64505', '816', '39.823056', '-94.849103', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7609, 'Humphreys', 2804, '64646', '660', '40.095746', '-93.288368', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7610, 'Butler', 2804, '64730', '660', '38.276176', '-94.282874', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7611, 'Passaic', 2804, '64730', '660', '38.276176', '-94.282874', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7612, 'Golden City', 2804, '64748', '417', '37.362619', '-94.140158', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7613, 'Liberal', 2804, '64762', '417', '37.52047', '-94.500244', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7614, 'Neosho', 2804, '64853', '417', '36.8686', '-94.3675', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7615, 'Kansas City', 2804, '64171', '816', '39.1033', '-94.6009', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7616, 'Ks City', 2804, '64171', '816', '39.1033', '-94.6009', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7617, 'Kansas City', 2804, '64187', '816', '39.0997', '-94.5784', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7618, 'United Missouri Bank', 2804, '64187', '816', '39.0997', '-94.5784', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7619, 'Kansas City', 2804, '64196', '816', '39.0997', '-94.5784', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7620, 'Bigelow', 2804, '64437', '660', '40.13172', '-95.397137', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7621, 'Corning', 2804, '64437', '660', '40.13172', '-95.397137', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7622, 'Craig', 2804, '64437', '660', '40.13172', '-95.397137', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7623, 'Fortescue', 2804, '64437', '660', '40.13172', '-95.397137', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7624, 'Dearborn', 2804, '64439', '816', '39.527328', '-94.761608', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7625, 'Edgerton', 2804, '64444', '816', '39.481574', '-94.657325', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7626, 'Fairfax', 2804, '64446', '660', '40.343554', '-95.419538', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7627, 'Cowgill', 2804, '64637', '660', '39.566904', '-93.927186', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7628, 'De Witt', 2804, '64639', '660', '39.335076', '-93.262258', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7629, 'Hamilton', 2804, '64644', '816', '39.726826', '-93.981579', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7630, 'Jamesport', 2804, '64648', '660', '39.984394', '-93.744564', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7631, 'Winston', 2804, '64689', '660', '39.870942', '-94.149194', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7632, 'Creighton', 2804, '64739', '660', '38.507206', '-94.08512', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7633, 'Freeman', 2804, '64746', '816', '38.616544', '-94.486906', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7634, 'Lake Annette', 2804, '64746', '816', '38.616544', '-94.486906', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7635, 'Prairie City', 2804, '64780', '660', '38.067797', '-94.167826', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7636, 'Rockville', 2804, '64780', '660', '38.067797', '-94.167826', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7637, 'Taberville', 2804, '64780', '660', '38.067797', '-94.167826', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7638, 'Joplin', 2804, '64803', '417', '37.0842', '-94.5132', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7639, 'Chesterfield', 2804, '63017', '636', '38.672294', '-90.533239', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7640, 'Clarkson Valley', 2804, '63017', '636', '38.672294', '-90.533239', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7641, 'Town And Country', 2804, '63017', '636', '38.672294', '-90.533239', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7642, 'Twn And Cntry', 2804, '63017', '636', '38.672294', '-90.533239', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7643, 'Ballwin', 2804, '63024', '636', '38.6046', '-90.5424', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7644, 'Fenton', 2804, '63026', '636', '38.499952', '-90.460954', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7645, 'Murphy', 2804, '63026', '636', '38.499952', '-90.460954', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7646, 'Black Jack', 2804, '63033', '314', '38.796514', '-90.274334', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7647, 'Florissant', 2804, '63033', '314', '38.796514', '-90.274334', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7648, 'Lonedell', 2804, '63060', '636', '38.266536', '-90.866588', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7649, 'Fenton', 2804, '63099', '636', '38.5131', '-90.4355', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7650, 'Maritz Inc', 2804, '63099', '636', '38.5131', '-90.4355', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7651, 'Saint Louis', 2804, '63108', '314', '38.644609', '-90.251982', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7652, 'Clayton', 2804, '63124', '314', '38.636646', '-90.376897', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7653, 'Ladue', 2804, '63124', '314', '38.636646', '-90.376897', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7654, 'Saint Louis', 2804, '63124', '314', '38.636646', '-90.376897', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7655, 'Greendale', 2804, '63133', '314', '38.680814', '-90.304352', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7656, 'Hanley Hills', 2804, '63133', '314', '38.680814', '-90.304352', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7657, 'Pagedale', 2804, '63133', '314', '38.680814', '-90.304352', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7658, 'Saint Louis', 2804, '63133', '314', '38.680814', '-90.304352', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7659, 'Wellston', 2804, '63133', '314', '38.680814', '-90.304352', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7660, 'Berkeley', 2804, '63140', '314', '38.73705', '-90.326409', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7661, 'Kinloch', 2804, '63140', '314', '38.73705', '-90.326409', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7662, 'Saint Louis', 2804, '63140', '314', '38.73705', '-90.326409', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7663, 'Saint Louis', 2804, '63199', '314', '38.6272', '-90.1978', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7664, 'Usps Inspection Service', 2804, '63199', '314', '38.6272', '-90.1978', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7665, 'Black Walnut', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7666, 'Kampville', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7667, 'Kampville Beach', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7668, 'Kampville Court', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7669, 'Orchard Farm', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7670, 'Saint Charles', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7671, 'South Shore', 2804, '63301', '636', '38.856848', '-90.451614', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7672, 'Chain Of Rocks', 2804, '63369', '636', '38.934894', '-90.75268', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7673, 'Ethlyn', 2804, '63369', '636', '38.934894', '-90.75268', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7674, 'Maryknoll', 2804, '63369', '636', '38.934894', '-90.75268', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7675, 'Old Monroe', 2804, '63369', '636', '38.934894', '-90.75268', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7676, 'Granger', 2804, '63442', '660', '40.4641', '-91.9711', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7677, 'Ashton', 2804, '63453', '660', '40.510554', '-91.889146', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7678, 'Luray', 2804, '63453', '660', '40.510554', '-91.889146', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7679, 'Fairmont', 2804, '63474', '660', '40.336259', '-91.892729', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7680, 'Wyaconda', 2804, '63474', '660', '40.336259', '-91.892729', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7681, 'Adair', 2804, '63533', '660', '40.222694', '-92.431028', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7682, 'Brashear', 2804, '63533', '660', '40.222694', '-92.431028', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7683, 'Green Castle', 2804, '63544', '660', '40.298826', '-92.895186', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7684, 'Sidney', 2804, '63544', '660', '40.298826', '-92.895186', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7685, 'New Cambria', 2804, '63558', '660', '39.744572', '-92.768455', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7686, 'Worthington', 2804, '63567', '660', '40.408634', '-92.759891', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7687, 'Bonne Terre', 2804, '63628', '573', '37.942778', '-90.48443', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7688, 'Desloge', 2804, '63628', '573', '37.942778', '-90.48443', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7689, 'Cape Girardeau', 2804, '63703', '573', '37.284184', '-89.546086', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7690, 'Cpe Girardeau', 2804, '63703', '573', '37.284184', '-89.546086', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7691, 'Commerce', 2804, '63742', '573', '37.158407', '-89.447746', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7692, 'Delta', 2804, '63744', '573', '37.17533', '-89.816154', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7693, 'Leopold', 2804, '63760', '573', '37.267328', '-89.913838', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7694, 'Apple Creek', 2804, '63769', '573', '37.515905', '-89.746222', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7695, 'Oak Ridge', 2804, '63769', '573', '37.515905', '-89.746222', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7696, 'Mc Bride', 2804, '63776', '573', '37.8321', '-89.8389', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7697, 'Perryville', 2804, '63776', '573', '37.8321', '-89.8389', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7698, 'Whitewater', 2804, '63785', '573', '37.254664', '-89.803349', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7699, 'Arab', 2804, '63787', '573', '37.121485', '-90.075026', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7700, 'Zalma', 2804, '63787', '573', '37.121485', '-90.075026', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7701, 'Miner', 2804, '63801', '573', '36.898695', '-89.576952', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7702, 'Sikeston', 2804, '63801', '573', '36.898695', '-89.576952', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7703, 'Clarkton', 2804, '63837', '573', '36.432759', '-89.993932', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7704, 'Freeborn', 2804, '63837', '573', '36.432759', '-89.993932', '2018-11-29 04:50:26', '2018-11-29 04:50:26'),\n(7705, 'Holland', 2804, '63853', '573', '36.06678', '-89.871232', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7706, 'Kewanee', 2804, '63860', '573', '36.667652', '-89.568538', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7707, 'Senath', 2804, '63876', '573', '36.141582', '-90.176919', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7708, 'Tallapoosa', 2804, '63878', '573', '36.510133', '-89.817704', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7709, 'Doniphan', 2804, '63935', '573', '36.66125', '-90.885048', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7710, 'Poynor', 2804, '63935', '573', '36.66125', '-90.885048', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7711, 'Gatewood', 2804, '63942', '573', '36.572196', '-91.068006', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7712, 'Lowndes', 2804, '63951', '573', '37.13697', '-90.259634', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7713, 'Naylor', 2804, '63953', '573', '36.575536', '-90.647441', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7714, 'Alma', 2804, '64001', '660', '39.116301', '-93.549567', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7715, 'Centerview', 2804, '64019', '660', '38.783082', '-93.865952', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7716, 'Corder', 2804, '64021', '660', '39.116099', '-93.63863', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7717, 'Farley', 2804, '64028', '816', '39.2826', '-94.8284', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7718, 'Hardin', 2804, '64035', '660', '39.333807', '-93.833658', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7719, 'Mayview', 2804, '64071', '660', '39.018201', '-93.845684', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7720, 'Richmond', 2804, '64085', '816', '39.341623', '-93.95722', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7721, 'Kansas City', 2804, '64101', '816', '39.104106', '-94.599688', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7722, 'Kansas City', 2804, '64110', '816', '39.03448', '-94.572904', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7723, 'Kansas City', 2804, '64128', '816', '39.065473', '-94.534498', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7724, 'Houston Lake', 2804, '64151', '816', '39.21268', '-94.632686', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7725, 'Kansas City', 2804, '64151', '816', '39.21268', '-94.632686', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7726, 'Lake Waukomis', 2804, '64151', '816', '39.21268', '-94.632686', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7727, 'Northmoor', 2804, '64151', '816', '39.21268', '-94.632686', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7728, 'Platte Woods', 2804, '64151', '816', '39.21268', '-94.632686', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7729, 'Riverside', 2804, '64151', '816', '39.21268', '-94.632686', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7730, 'K C', 2804, '64171', '816', '39.1033', '-94.6009', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7731, 'Rena Lara', 2805, '38767', '662', '34.134592', '-90.786731', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7732, 'Baldwyn', 2805, '38824', '662', '34.515525', '-88.653856', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7733, 'Bethany', 2805, '38824', '662', '34.515525', '-88.653856', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7734, 'Geeville', 2805, '38824', '662', '34.515525', '-88.653856', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7735, 'Graham', 2805, '38824', '662', '34.515525', '-88.653856', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7736, 'Jericho', 2805, '38824', '662', '34.515525', '-88.653856', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7737, 'Kirkville', 2805, '38824', '662', '34.515525', '-88.653856', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7738, 'Belden', 2805, '38826', '662', '34.297022', '-88.842015', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7739, 'Buena Vista', 2805, '38851', '662', '33.901002', '-88.94215', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7740, 'Houston', 2805, '38851', '662', '33.901002', '-88.94215', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7741, 'Pyland', 2805, '38851', '662', '33.901002', '-88.94215', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7742, 'Sonora', 2805, '38851', '662', '33.901002', '-88.94215', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7743, 'Thorn', 2805, '38851', '662', '33.901002', '-88.94215', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7744, 'Egypt', 2805, '38860', '662', '33.955288', '-88.778031', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7745, 'Okolona', 2805, '38860', '662', '33.955288', '-88.778031', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7746, 'Hinkle', 2805, '38865', '662', '34.774514', '-88.578644', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7747, 'Jacinto', 2805, '38865', '662', '34.774514', '-88.578644', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7748, 'Pisgah', 2805, '38865', '662', '34.774514', '-88.578644', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7749, 'Rienzi', 2805, '38865', '662', '34.774514', '-88.578644', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7750, 'Spring Hill', 2805, '38874', '662', '34.228464', '-89.246118', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7751, 'Toccopola', 2805, '38874', '662', '34.228464', '-89.246118', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7752, 'Cruger', 2805, '38924', '662', '33.287667', '-90.186203', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7753, 'Kerin', 2805, '38924', '662', '33.287667', '-90.186203', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7754, 'Highlandale', 2805, '38944', '662', '33.744662', '-90.31187', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7755, 'Minter City', 2805, '38944', '662', '33.744662', '-90.31187', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7756, 'Somerville', 2805, '38944', '662', '33.744662', '-90.31187', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7757, 'Sunnyside', 2805, '38944', '662', '33.744662', '-90.31187', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7758, 'Bruce', 2805, '38949', '662', '34.194052', '-89.357372', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7759, 'Paris', 2805, '38949', '662', '34.194052', '-89.357372', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7760, 'Pittsboro', 2805, '38951', '662', '33.967094', '-89.293162', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7761, 'Charlestn', 2805, '38958', '662', '33.8758', '-90.2833', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7762, 'Charleston', 2805, '38958', '662', '33.8758', '-90.2833', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7763, 'Swan Lake', 2805, '38958', '662', '33.8758', '-90.2833', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7764, 'Eskridge', 2805, '38967', '662', '33.505767', '-89.73781', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7765, 'Winona', 2805, '38967', '662', '33.505767', '-89.73781', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7766, 'Brandon', 2805, '39042', '601', '32.220284', '-89.862338', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7767, 'Clinton', 2805, '39058', '601', '32.33515', '-90.332378', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7768, 'Ms College', 2805, '39058', '601', '32.33515', '-90.332378', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7769, 'Gluckstadt', 2805, '39110', '601', '32.50413', '-90.092005', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7770, 'Madison', 2805, '39110', '601', '32.50413', '-90.092005', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7771, 'Mount Olive', 2805, '39119', '601', '31.723597', '-89.626252', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7772, 'Puckett', 2805, '39151', '601', '32.078898', '-89.776655', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7773, 'Burns', 2805, '39153', '601', '32.048773', '-89.525704', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7774, 'Raleigh', 2805, '39153', '601', '32.048773', '-89.525704', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7775, 'Sylvarena', 2805, '39153', '601', '32.048773', '-89.525704', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7776, 'Bovina', 2805, '39183', '601', '32.454547', '-90.85177', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7777, 'Letourneau', 2805, '39183', '601', '32.454547', '-90.85177', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7778, 'Vburg', 2805, '39183', '601', '32.454547', '-90.85177', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7779, 'Vicksburg', 2805, '39183', '601', '32.454547', '-90.85177', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7780, 'Jackson', 2805, '39203', '601', '32.310125', '-90.20295', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7781, 'Jax', 2805, '39203', '601', '32.310125', '-90.20295', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7782, 'Jksn', 2805, '39203', '601', '32.310125', '-90.20295', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7783, 'Jxn', 2805, '39203', '601', '32.310125', '-90.20295', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7784, 'Mdn', 2805, '39301', '601', '32.299758', '-88.605536', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7785, 'Meeham', 2805, '39301', '601', '32.299758', '-88.605536', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7786, 'Meridian', 2805, '39301', '601', '32.299758', '-88.605536', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7787, 'Russell', 2805, '39301', '601', '32.299758', '-88.605536', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7788, 'Mdn', 2805, '39303', '601', '32.3645', '-88.7039', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7789, 'Meridian', 2805, '39303', '601', '32.3645', '-88.7039', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7790, 'Daleville', 2805, '39326', '601', '32.544762', '-88.67004', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7791, 'Lauderdale', 2805, '39335', '601', '32.531149', '-88.522758', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7792, 'Marion', 2805, '39342', '601', '32.424648', '-88.651232', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7793, 'Arnold Line', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7794, 'Barrontown', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7795, 'Batson', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7796, 'Bon Homme', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7797, 'Camp Shelby', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7798, 'Carterville', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7799, 'Dixie', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7800, 'Dixie Pine', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7801, 'Eatonville', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7802, 'Glendale', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7803, 'Hattiesburg', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7804, 'Hattiesburg South', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7805, 'Indian Springs', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7806, 'Lamar Park', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7807, 'Leeville', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7808, 'Lux', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7809, 'Macedonia', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7810, 'Maybank', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7811, 'Mccallum', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7812, 'Mclaurin', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7813, 'Batesville', 2805, '38606', '662', '34.302184', '-89.946598', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7814, 'Terza', 2805, '38606', '662', '34.302184', '-89.946598', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7815, 'Clayton', 2805, '38626', '662', '34.549928', '-90.394186', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7816, 'Dubbs', 2805, '38626', '662', '34.549928', '-90.394186', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7817, 'Dundee', 2805, '38626', '662', '34.549928', '-90.394186', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7818, 'Jeffries', 2805, '38626', '662', '34.549928', '-90.394186', '2018-11-29 04:50:27', '2018-11-29 04:50:27'),\n(7819, 'Powell', 2805, '38626', '662', '34.549928', '-90.394186', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7820, 'Amistead', 2805, '38631', '662', '34.36804', '-90.638788', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7821, 'Friars Point', 2805, '38631', '662', '34.36804', '-90.638788', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7822, 'Earlygrove', 2805, '38642', '662', '34.919175', '-89.321078', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7823, 'Lamar', 2805, '38642', '662', '34.919175', '-89.321078', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7824, 'Slayden', 2805, '38642', '662', '34.919175', '-89.321078', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7825, 'Pope', 2805, '38658', '662', '34.193745', '-89.918879', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7826, 'Buxton', 2805, '38665', '662', '34.586264', '-90.166489', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7827, 'Longtown', 2805, '38665', '662', '34.586264', '-90.166489', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7828, 'Sarah', 2805, '38665', '662', '34.586264', '-90.166489', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7829, 'Savage', 2805, '38665', '662', '34.586264', '-90.166489', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7830, 'Strayhorn', 2805, '38665', '662', '34.586264', '-90.166489', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7831, 'Anvil', 2805, '38674', '662', '34.872012', '-88.9027', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7832, 'Burrow', 2805, '38674', '662', '34.872012', '-88.9027', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7833, 'Tiplersville', 2805, '38674', '662', '34.872012', '-88.9027', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7834, 'Brownfield', 2805, '38683', '662', '34.895267', '-88.85401', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7835, 'Camphill', 2805, '38683', '662', '34.895267', '-88.85401', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7836, 'Chalybeate', 2805, '38683', '662', '34.895267', '-88.85401', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7837, 'Walnut', 2805, '38683', '662', '34.895267', '-88.85401', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7838, 'Crossroads', 2805, '38701', '662', '33.239601', '-91.003155', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7839, 'Greenville', 2805, '38701', '662', '33.239601', '-91.003155', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7840, 'Lamont', 2805, '38701', '662', '33.239601', '-91.003155', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7841, 'Refuge', 2805, '38701', '662', '33.239601', '-91.003155', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7842, 'Swiftwater', 2805, '38701', '662', '33.239601', '-91.003155', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7843, 'Cleveland', 2805, '38733', '662', '33.74474', '-90.735798', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7844, 'Delta State', 2805, '38733', '662', '33.74474', '-90.735798', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7845, 'Delta State Univ', 2805, '38733', '662', '33.74474', '-90.735798', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7846, 'Dsu', 2805, '38733', '662', '33.74474', '-90.735798', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7847, 'Holly Ridge', 2805, '38749', '662', '33.4454', '-90.7526', '2018-11-29 04:50:28', '2018-11-29 04:50:28');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(7848, 'Indianola', 2805, '38749', '662', '33.4454', '-90.7526', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7849, 'Baird', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7850, 'Boyer', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7851, 'Fairview', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7852, 'Heathman', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7853, 'Indianola', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7854, 'Kinlock', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7855, 'Marie', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7856, 'Pollock', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7857, 'Saints Rest', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7858, 'Woodburn', 2805, '38751', '662', '33.436466', '-90.659839', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7859, 'Panther Burn', 2805, '38765', '662', '33.067041', '-90.88442', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7860, 'Greenwood Spr', 2805, '38848', '662', '33.964684', '-88.289758', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7861, 'Greenwood Springs', 2805, '38848', '662', '33.964684', '-88.289758', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7862, 'Splunge', 2805, '38848', '662', '33.964684', '-88.289758', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7863, 'Buckhorn', 2805, '38864', '662', '34.154135', '-89.223984', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7864, 'Randolph', 2805, '38864', '662', '34.154135', '-89.223984', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7865, 'Sarepta', 2805, '38864', '662', '34.154135', '-89.223984', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7866, 'Elsie', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7867, 'Hollis', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7868, 'Horn Lake', 2805, '38637', '662', '34.948145', '-90.046771', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7869, 'Jago', 2805, '38637', '662', '34.948145', '-90.046771', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7870, 'Independence', 2805, '38638', '662', '34.705', '-89.8097', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7871, 'Ingomar', 2805, '38652', '662', '34.489314', '-88.990794', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7872, 'Keownville', 2805, '38652', '662', '34.489314', '-88.990794', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7873, 'New Albany', 2805, '38652', '662', '34.489314', '-88.990794', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7874, 'North Haven', 2805, '38652', '662', '34.489314', '-88.990794', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7875, 'Pumpkin Center', 2805, '38652', '662', '34.489314', '-88.990794', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7876, 'Wallerville', 2805, '38652', '662', '34.489314', '-88.990794', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7877, 'Falcon', 2805, '38670', '662', '34.425402', '-90.319142', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7878, 'Sledge', 2805, '38670', '662', '34.425402', '-90.319142', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7879, 'Tibbs', 2805, '38670', '662', '34.425402', '-90.319142', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7880, 'Southaven', 2805, '38671', '662', '34.952763', '-90.007524', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7881, 'Sacred Heart League', 2805, '38686', '662', '34.9575', '-90.1514', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7882, 'Walls', 2805, '38686', '662', '34.9575', '-90.1514', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7883, 'Doddsville', 2805, '38736', '662', '33.645162', '-90.529696', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7884, 'Linn', 2805, '38736', '662', '33.645162', '-90.529696', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7885, 'Parchman', 2805, '38738', '662', '33.924758', '-90.537124', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7886, 'Dublin', 2805, '38739', '662', '34.055169', '-90.492432', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7887, 'Bourbon', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7888, 'Dunleith', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7889, 'Elizabeth', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7890, 'Heads', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7891, 'Helm', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7892, 'Leland', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7893, 'Long', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7894, 'Magenta', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7895, 'Baltzer', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7896, 'Bobo', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7897, 'Clarksdale', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7898, 'King And Anderson', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7899, 'Mattson', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7900, 'Riverton', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7901, 'Roundaway', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7902, 'Stovall', 2805, '38614', '662', '34.204518', '-90.69381', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7903, 'Etta', 2805, '38627', '662', '34.437708', '-89.192316', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7904, 'Pinedale', 2805, '38627', '662', '34.437708', '-89.192316', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7905, 'Falkner', 2805, '38629', '662', '34.872836', '-88.972212', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7906, 'Farrell', 2805, '38630', '662', '34.239999', '-90.638132', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7907, 'Hinchcliff', 2805, '38646', '662', '34.306982', '-90.292642', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7908, 'Marks', 2805, '38646', '662', '34.306982', '-90.292642', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7909, 'Sabino', 2805, '38646', '662', '34.306982', '-90.292642', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7910, 'Michigan City', 2805, '38647', '662', '34.937995', '-89.184959', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7911, 'Spring Hill', 2805, '38647', '662', '34.937995', '-89.184959', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7912, 'Banks', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7913, 'Bowdre', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7914, 'Clack', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7915, 'Commerce', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7916, 'Mocarter', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7917, 'Penton', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7918, 'Robinsonville', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7919, 'Tunica Resort', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7920, 'Tunica Resorts', 2805, '38664', '662', '34.814606', '-90.343461', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7921, 'Grace', 2805, '38745', '601', '32.96851', '-90.962538', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7922, 'Moorhead', 2805, '38761', '662', '33.440512', '-90.522096', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7923, 'Mnd Bayou', 2805, '38762', '662', '33.894429', '-90.764252', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7924, 'Mound Bayou', 2805, '38762', '662', '33.894429', '-90.764252', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7925, 'Winstonville', 2805, '38781', '662', '33.9075', '-90.7518', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7926, 'Gattman', 2805, '38844', '601', '33.848569', '-88.262582', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7927, 'Fairview', 2805, '38847', '662', '34.409322', '-88.241042', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7928, 'Golden', 2805, '38847', '662', '34.409322', '-88.241042', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7929, 'Greenwood Spg', 2805, '38848', '662', '33.964684', '-88.289758', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7930, 'Mt Pleasant', 2805, '38635', '662', '34.774562', '-89.514136', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7931, 'Holly Springs', 2805, '38649', '662', '34.963655', '-89.536342', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7932, 'Mount Pleasant', 2805, '38649', '662', '34.963655', '-89.536342', '2018-11-29 04:50:28', '2018-11-29 04:50:28'),\n(7933, 'Mt Pleasant', 2805, '38649', '662', '34.963655', '-89.536342', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7934, 'Mt Plsnt', 2805, '38649', '662', '34.963655', '-89.536342', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7935, 'Nesbit', 2805, '38651', '662', '34.881524', '-90.00346', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7936, 'Blackwater', 2805, '38685', '662', '34.624348', '-89.511254', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7937, 'Laws Hill', 2805, '38685', '662', '34.624348', '-89.511254', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7938, 'Waterford', 2805, '38685', '662', '34.624348', '-89.511254', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7939, 'Abbeville', 2805, '38601', '662', '34.467116', '-89.526074', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7940, 'Austin', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7941, 'Evansville', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7942, 'Hollywood', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7943, 'Little Texas', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7944, 'North Tunica', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7945, 'Prichard', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7946, 'Tunica', 2805, '38676', '662', '34.690916', '-90.385614', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7947, 'Beulah', 2805, '38726', '662', '33.732865', '-90.968089', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7948, 'Lobdell', 2805, '38726', '662', '33.732865', '-90.968089', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7949, 'Mound City', 2805, '38726', '662', '33.732865', '-90.968089', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7950, 'Ballardsville', 2805, '38801', '662', '34.218696', '-88.765784', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7951, 'Bissell', 2805, '38801', '662', '34.218696', '-88.765784', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7952, 'Chesterville', 2805, '38801', '662', '34.218696', '-88.765784', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7953, 'Mount Vernon', 2805, '38801', '662', '34.218696', '-88.765784', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7954, 'Tupelo', 2805, '38801', '662', '34.218696', '-88.765784', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7955, 'Burnsville', 2805, '38833', '662', '34.861286', '-88.343206', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7956, 'Doskie', 2805, '38833', '662', '34.861286', '-88.343206', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7957, 'Holts', 2805, '38833', '662', '34.861286', '-88.343206', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7958, 'Leedy', 2805, '38833', '662', '34.861286', '-88.343206', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7959, 'Cardsville', 2805, '38858', '662', '34.10498', '-88.550828', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7960, 'Carolina', 2805, '38858', '662', '34.10498', '-88.550828', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7961, 'Nettleton', 2805, '38858', '662', '34.10498', '-88.550828', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7962, 'Van Buren', 2805, '38858', '662', '34.10498', '-88.550828', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7963, 'Cadamy', 2805, '38876', '662', '34.224422', '-88.24857', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7964, 'Tremont', 2805, '38876', '662', '34.224422', '-88.24857', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7965, 'Bruce', 2805, '38915', '662', '34.01972', '-89.372391', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7966, 'Ellard', 2805, '38915', '662', '34.01972', '-89.372391', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7967, 'Lantrip', 2805, '38915', '662', '34.01972', '-89.372391', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7968, 'Shepherd', 2805, '38915', '662', '34.01972', '-89.372391', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7969, 'Skuna', 2805, '38915', '662', '34.01972', '-89.372391', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7970, 'Carthage', 2805, '39051', '601', '32.803908', '-89.514188', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7971, 'Edinburg', 2805, '39051', '601', '32.803908', '-89.514188', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7972, 'Ofahoma', 2805, '39051', '601', '32.803908', '-89.514188', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7973, 'Clinton', 2805, '39060', '601', '32.35228', '-90.269554', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7974, 'Lincklaen', 2814, '13052', '315', '42.70528', '-75.872545', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7975, 'Lyon Mountain', 2814, '12952', '518', '44.724757', '-73.942992', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7976, 'Standish', 2814, '12952', '518', '44.724757', '-73.942992', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7977, 'Brant Lake', 2814, '12815', '518', '43.718782', '-73.704826', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7978, 'Horicon', 2814, '12815', '518', '43.718782', '-73.704826', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7979, 'Saratoga Spgs', 2814, '12866', '518', '43.05036', '-73.75394', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7980, 'Saratoga Springs', 2814, '12866', '518', '43.05036', '-73.75394', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7981, 'Beekmantown', 2814, '12901', '518', '44.70439', '-73.456404', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7982, 'Plattsburgh', 2814, '12901', '518', '44.70439', '-73.456404', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7983, 'South Plattsburgh', 2814, '12901', '518', '44.70439', '-73.456404', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7984, 'Ferndale', 2814, '12734', '845', '41.73289', '-74.750006', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7985, 'Clintondale', 2814, '12515', '845', '41.67988', '-74.067524', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7986, 'Copake Falls', 2814, '12517', '518', '42.122156', '-73.511236', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7987, 'East Fishkill', 2814, '12533', '845', '41.548516', '-73.779624', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7988, 'Hopewell', 2814, '12533', '845', '41.548516', '-73.779624', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7989, 'Hopewell Jct', 2814, '12533', '845', '41.548516', '-73.779624', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7990, 'Hopewell Junction', 2814, '12533', '845', '41.548516', '-73.779624', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7991, 'Wiccopee', 2814, '12533', '845', '41.548516', '-73.779624', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7992, 'Hudson', 2814, '12534', '518', '42.230126', '-73.738159', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7993, 'Kiamesha Lake', 2814, '12751', '845', '41.67716', '-74.671381', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7994, 'Parksville', 2814, '12768', '845', '41.864508', '-74.714913', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7995, 'Chichester', 2814, '12416', '845', '42.090706', '-74.270628', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7996, 'Freehold', 2814, '12431', '518', '42.346202', '-74.019898', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7997, 'Glasco', 2814, '12432', '845', '42.0436', '-73.9479', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7998, 'Glenford', 2814, '12433', '845', '41.996912', '-74.153783', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(7999, 'Grand Gorge', 2814, '12434', '607', '42.355011', '-74.494032', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8000, 'Lake Hill', 2814, '12448', '845', '42.07194', '-74.207872', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8001, 'Lake Katrine', 2814, '12449', '845', '41.997401', '-73.99281', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8002, 'Modena', 2814, '12548', '845', '41.660128', '-74.101154', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8003, 'Balmville', 2814, '12550', '845', '41.537872', '-74.042369', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8004, 'Newburgh', 2814, '12550', '845', '41.537872', '-74.042369', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8005, 'Town Branch', 2814, '12550', '845', '41.537872', '-74.042369', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8006, 'Pine Bush', 2814, '12566', '845', '41.633446', '-74.331654', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8007, 'Albany', 2814, '12247', '518', '42.6516', '-73.7569', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8008, 'New York State Gov', 2814, '12247', '518', '42.6516', '-73.7569', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8009, 'Port Ewen', 2814, '12466', '845', '41.907656', '-73.979547', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8010, 'Stone Ridge', 2814, '12484', '845', '41.87125', '-74.16365', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8011, 'The Vly', 2814, '12484', '845', '41.87125', '-74.16365', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8012, 'Lansingburg', 2814, '12182', '518', '42.79255', '-73.620106', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8013, 'Pleasantdale', 2814, '12182', '518', '42.79255', '-73.620106', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8014, 'Speigletown', 2814, '12182', '518', '42.79255', '-73.620106', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8015, 'Troy', 2814, '12182', '518', '42.79255', '-73.620106', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8016, 'Green Island', 2814, '12183', '518', '42.746411', '-73.691792', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8017, 'Troy', 2814, '12183', '518', '42.746411', '-73.691792', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8018, 'Decatur', 2814, '12197', '607', '42.599574', '-74.729474', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8019, 'South Worcester', 2814, '12197', '607', '42.599574', '-74.729474', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8020, 'Worcester', 2814, '12197', '607', '42.599574', '-74.729474', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8021, 'Albany', 2814, '12214', '518', '42.6525', '-73.7567', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8022, 'Albany Brm', 2814, '12214', '518', '42.6525', '-73.7567', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8023, 'Hoosick Junction', 2814, '12133', '518', '42.9226', '-73.3603', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8024, 'North Hoosick', 2814, '12133', '518', '42.9226', '-73.3603', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8025, 'Rensselaerville', 2814, '12147', '518', '42.506006', '-74.155586', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8026, 'Rensselaervle', 2814, '12147', '518', '42.506006', '-74.155586', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8027, 'Speculator', 2814, '12164', '518', '43.556624', '-74.364765', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8028, 'Albany', 2814, '12231', '518', '42.6525', '-73.7567', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8029, 'Ny Secretary Of State', 2814, '12231', '518', '42.6525', '-73.7567', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8030, 'Albany', 2814, '12232', '518', '42.6525', '-73.7567', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8031, 'Ny Dept Trans', 2814, '12232', '518', '42.6525', '-73.7567', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8032, 'East Schodack', 2814, '12063', '518', '42.553277', '-73.635752', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8033, 'E Worcester', 2814, '12064', '607', '42.606368', '-74.65814', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8034, 'East Worcester', 2814, '12064', '607', '42.606368', '-74.65814', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8035, 'Clifton Park', 2814, '12065', '518', '42.849782', '-73.799975', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8036, 'Clifton Park Center', 2814, '12065', '518', '42.849782', '-73.799975', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8037, 'Elnora', 2814, '12065', '518', '42.849782', '-73.799975', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8038, 'Halfmoon', 2814, '12065', '518', '42.849782', '-73.799975', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8039, 'Jonesville', 2814, '12065', '518', '42.849782', '-73.799975', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8040, 'Carver Park', 2814, '11980', '631', '40.83016', '-72.919702', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8041, 'Yaphank', 2814, '11980', '631', '40.83016', '-72.919702', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8042, 'Auriesville', 2814, '12016', '518', '42.9294', '-74.3166', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8043, 'Fultonville', 2814, '12016', '518', '42.9294', '-74.3166', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8044, 'Malden Brg', 2814, '12115', '518', '42.465403', '-73.599091', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8045, 'Malden Bridge', 2814, '12115', '518', '42.465403', '-73.599091', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8046, 'Hampton Bays', 2814, '11946', '631', '40.88177', '-72.525529', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8047, 'Manorville', 2814, '11949', '631', '40.865988', '-72.781384', '2018-11-29 04:50:29', '2018-11-29 04:50:29'),\n(8048, 'Shelter Is', 2814, '11964', '631', '41.051203', '-72.313151', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8049, 'Shelter Island', 2814, '11964', '631', '41.051203', '-72.313151', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8050, 'Box Hill', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8051, 'Deer Wells', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8052, 'Flowerfield', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8053, 'Head Of The Harbor', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8054, 'Nissequogue', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8055, 'Broadway', 2815, '43007', '937', '40.3318', '-83.4179', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8056, 'Buckeye Lake', 2815, '43008', '740', '39.93298', '-82.47537', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8057, 'Hilliard', 2815, '43026', '614', '40.021696', '-83.17008', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8058, 'Marysville', 2815, '43041', '937', '40.2365', '-83.3674', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8059, 'O M Scott Co', 2815, '43041', '937', '40.2365', '-83.3674', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8060, 'Newark', 2815, '43058', '740', '40.0583', '-82.4014', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8061, 'Thornville', 2815, '43076', '740', '39.89303', '-82.365926', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8062, 'Bremen', 2815, '43107', '740', '39.684221', '-82.412319', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8063, 'Danville', 2815, '43014', '740', '40.466292', '-82.265902', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8064, 'Delaware', 2815, '43015', '740', '40.298992', '-83.056694', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8065, 'Dublin', 2815, '43017', '614', '40.117802', '-83.13587', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8066, 'Kilbourne', 2815, '43032', '740', '40.328789', '-82.958273', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8067, 'Kirkersville', 2815, '43033', '740', '39.960538', '-82.594411', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8068, 'Plain City', 2815, '43064', '614', '40.110352', '-83.283945', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8069, 'Radnor', 2815, '43066', '740', '40.395323', '-83.161986', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8070, 'Woodstock', 2815, '43084', '937', '40.15721', '-83.550717', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8071, 'Adelphi', 2815, '43101', '740', '39.464256', '-82.745597', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8072, 'Clarksburg', 2815, '43115', '740', '39.492208', '-83.164808', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8073, 'Derby', 2815, '43117', '614', '39.7688', '-83.2058', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8074, 'Rushville', 2815, '43150', '740', '39.77601', '-82.412867', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8075, 'W Rushville', 2815, '43150', '740', '39.77601', '-82.412867', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8076, 'West Rushville', 2815, '43150', '740', '39.77601', '-82.412867', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8077, 'Sedalia', 2815, '43151', '740', '39.733065', '-83.475826', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8078, 'Dist Fulfillment Svc', 2815, '43199', '614', '39.8614', '-82.8916', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8079, 'Groveport', 2815, '43199', '614', '39.8614', '-82.8916', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8080, 'Columbus', 2815, '43216', '614', '39.9633', '-83.0023', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8081, 'Columbus', 2815, '43234', '614', '39.9614', '-82.9988', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8082, 'Adrian', 2815, '43316', '419', '40.952171', '-83.374339', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8083, 'Howard', 2815, '43028', '740', '40.40969', '-82.279559', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8084, 'Mechanicsburg', 2815, '43044', '937', '40.061344', '-83.54251', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8085, 'N Lewisburg', 2815, '43060', '937', '40.212507', '-83.567036', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8086, 'North Lewisburg', 2815, '43060', '937', '40.212507', '-83.567036', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8087, 'Etna', 2815, '43062', '740', '40.000678', '-82.676977', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8088, 'Pataskala', 2815, '43062', '740', '40.000678', '-82.676977', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8089, 'Urbana', 2815, '43078', '937', '40.118454', '-83.777858', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8090, 'Ashville', 2815, '43103', '740', '39.726097', '-82.963182', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8091, 'S Bloomfield', 2815, '43103', '740', '39.726097', '-82.963182', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8092, 'South Bloomfield', 2815, '43103', '740', '39.726097', '-82.963182', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8093, 'Baltimore', 2815, '43105', '740', '39.865376', '-82.617183', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8094, 'Etna', 2815, '43105', '740', '39.865376', '-82.617183', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8095, 'Darbyville', 2815, '43146', '614', '39.767894', '-83.160088', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8096, 'Orient', 2815, '43146', '614', '39.767894', '-83.160088', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8097, 'Pleasant Corners', 2815, '43146', '614', '39.767894', '-83.160088', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8098, 'Pleasant Cors', 2815, '43146', '614', '39.767894', '-83.160088', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8099, 'Sugar Grove', 2815, '43155', '740', '39.631179', '-82.538502', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8100, 'Washingtn C H', 2815, '43160', '740', '39.541565', '-83.450655', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8101, 'Washington Ch', 2815, '43160', '740', '39.541565', '-83.450655', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8102, 'Washington Court House', 2815, '43160', '740', '39.541565', '-83.450655', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8103, 'Wshngtn Ct Hs', 2815, '43160', '740', '39.541565', '-83.450655', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8104, 'Columbus', 2815, '43287', '614', '39.9602', '-82.9989', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8105, 'Huntington National Bank', 2815, '43287', '614', '39.9602', '-82.9989', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8106, 'Caledonia', 2815, '43314', '419', '40.631037', '-82.962275', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8107, 'Fulton', 2815, '43321', '419', '40.457241', '-82.825908', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8108, 'Kirby', 2815, '43330', '419', '40.8137', '-83.4202', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8109, 'Morral', 2815, '43337', '740', '40.67309', '-83.267278', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8110, 'Genoa', 2815, '43430', '419', '41.530078', '-83.376896', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8111, 'Lacarne', 2815, '43439', '419', '41.517879', '-83.042902', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8112, 'Rudolph', 2815, '43462', '419', '41.283966', '-83.725367', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8113, 'Grelton', 2815, '43523', '419', '41.3417', '-83.9994', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8114, 'Mc Clure', 2815, '43523', '419', '41.3417', '-83.9994', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8115, 'Holland', 2815, '43528', '419', '41.634594', '-83.751272', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8116, 'Jewell', 2815, '43530', '419', '41.3255', '-84.2859', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8117, 'New Bavaria', 2815, '43548', '419', '41.191267', '-84.16686', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8118, 'Pettisville', 2815, '43553', '419', '41.531045', '-84.226458', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8119, 'Toledo', 2815, '43612', '419', '41.704702', '-83.542672', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8120, 'Sylvania Township', 2815, '43623', '419', '41.705637', '-83.659842', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8121, 'Sylvania Twp', 2815, '43623', '419', '41.705637', '-83.659842', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8122, 'Toledo', 2815, '43623', '419', '41.705637', '-83.659842', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8123, 'Brownsville', 2815, '43721', '740', '39.945023', '-82.252934', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8124, 'Byesville', 2815, '43723', '740', '39.954946', '-81.535884', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8125, 'Corning', 2815, '43730', '740', '39.640256', '-82.097492', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8126, 'Hemlock', 2815, '43730', '740', '39.640256', '-82.097492', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8127, 'Rendville', 2815, '43730', '740', '39.640256', '-82.097492', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8128, 'Cumberland', 2815, '43732', '740', '39.847364', '-81.647866', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8129, 'Glenford', 2815, '43739', '740', '39.90831', '-82.293557', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8130, 'Hopewell', 2815, '43746', '740', '39.971174', '-82.170292', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8131, 'Senecaville', 2815, '43780', '740', '39.919455', '-81.437031', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8132, 'Shawnee', 2815, '43782', '740', '39.629988', '-82.206948', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8133, 'Barton', 2815, '43905', '740', '40.106097', '-80.848066', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8134, 'Cadiz', 2815, '43907', '740', '40.263043', '-81.0148', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8135, 'Moorefield', 2815, '43907', '740', '40.263043', '-81.0148', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8136, 'Short Creek', 2815, '43907', '740', '40.263043', '-81.0148', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8137, 'Cameron', 2815, '43914', '740', '39.769896', '-80.944556', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8138, 'Colerain', 2815, '43916', '740', '40.1256', '-80.8089', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8139, 'Mount Pleasant', 2815, '43939', '740', '40.177243', '-80.799471', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8140, 'Mt Pleasant', 2815, '43939', '740', '40.177243', '-80.799471', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8141, 'Smithfield', 2815, '43948', '740', '40.26972', '-80.780381', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8142, 'Toronto', 2815, '43964', '740', '40.492638', '-80.670898', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8143, 'Burton', 2815, '44021', '440', '41.448176', '-81.156107', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8144, 'Elyria', 2815, '44039', '440', '41.376396', '-82.019666', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8145, 'N Ridgeville', 2815, '44039', '440', '41.376396', '-82.019666', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8146, 'North Ridgeville', 2815, '44039', '440', '41.376396', '-82.019666', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8147, 'Madison', 2815, '44057', '440', '41.778718', '-81.069764', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8148, 'Johnstown', 2815, '43031', '740', '40.161735', '-82.665907', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8149, 'Mount Liberty', 2815, '43048', '740', '40.3464', '-82.6304', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8150, 'Powell', 2815, '43065', '614', '40.17696', '-83.094612', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8151, 'Shawnee Hills', 2815, '43065', '614', '40.17696', '-83.094612', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8152, 'Raymond', 2815, '43067', '937', '40.346676', '-83.487907', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8153, 'Westerville', 2815, '43082', '614', '40.167731', '-82.874563', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8154, 'Westville', 2815, '43083', '937', '40.1097', '-83.8383', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8155, 'Commercial Point', 2815, '43116', '614', '39.769736', '-83.056838', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8156, 'Commercial Pt', 2815, '43116', '614', '39.769736', '-83.056838', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8157, 'Pleasantville', 2815, '43148', '740', '39.823684', '-82.519785', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8158, 'Columbus', 2815, '43215', '614', '39.96866', '-83.025654', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8159, 'Columbus', 2815, '43235', '614', '40.103272', '-83.053976', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8160, 'Columbus', 2815, '43266', '614', '39.9602', '-82.9989', '2018-11-29 04:50:30', '2018-11-29 04:50:30'),\n(8161, 'State Departments Of Ohio', 2815, '43266', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8162, 'Columbus', 2815, '43268', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8163, 'Huntington National Bank', 2815, '43268', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8164, 'Marion', 2815, '43301', '740', '40.5887', '-83.1288', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8165, 'Cardington', 2815, '43315', '419', '40.489048', '-82.859081', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8166, 'Chesterville', 2815, '43317', '419', '40.479936', '-82.683628', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8167, 'La Rue', 2815, '43332', '740', '40.596341', '-83.352724', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8168, 'Lewistown', 2815, '43333', '937', '40.441108', '-83.928172', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8169, 'Marengo', 2815, '43334', '419', '40.401264', '-82.788869', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8170, 'Martel', 2815, '43335', '419', '40.668122', '-82.884898', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8171, 'Russells Point', 2815, '43348', '937', '40.465202', '-83.881925', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8172, 'Amlin', 2815, '43002', '614', '40.067142', '-83.186284', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8173, 'Etna', 2815, '43018', '740', '39.956401', '-82.684949', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8174, 'Westerville', 2815, '43086', '614', '40.122', '-82.936', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8175, 'Stoutsville', 2815, '43154', '740', '39.614824', '-82.818131', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8176, 'Columbus', 2815, '43229', '614', '40.083674', '-82.976084', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8177, 'Columbus', 2815, '43270', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8178, 'Ohio Dept Of Taxation', 2815, '43270', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8179, 'Columbus', 2815, '43272', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8180, 'Main Office Box Brm', 2815, '43272', '614', '39.9602', '-82.9989', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8181, 'Edison', 2815, '43320', '419', '40.594232', '-82.900367', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8182, 'Mount Gilead', 2815, '43338', '419', '40.556861', '-82.752469', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8183, 'Bryan', 2815, '43506', '419', '41.47051', '-84.548984', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8184, 'Grand Rapids', 2815, '43522', '419', '41.423895', '-83.841748', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8185, 'Neapolis', 2815, '43547', '419', '41.49304', '-83.870366', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8186, 'Toledo', 2815, '43613', '419', '41.703565', '-83.60655', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8187, 'Toledo', 2815, '43620', '419', '41.664326', '-83.552477', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8188, 'Natl Family Opinion', 2815, '43654', '419', '41.6639', '-83.5554', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8189, 'Toledo', 2815, '43654', '419', '41.6639', '-83.5554', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8190, 'Buffalo', 2815, '43722', '740', '39.9175', '-81.51974', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8191, 'Crooksville', 2815, '43731', '740', '39.726612', '-82.047481', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8192, 'Gratiot', 2815, '43740', '740', '39.950016', '-82.222028', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8193, 'Jerusalem', 2815, '43747', '740', '39.856186', '-81.134968', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8194, 'Sarahsville', 2815, '43779', '740', '39.804392', '-81.428608', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8195, 'Baltic', 2815, '43804', '330', '40.45374', '-81.741841', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8196, 'Bucks', 2815, '43804', '330', '40.45374', '-81.741841', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8197, 'Farmerstown', 2815, '43804', '330', '40.45374', '-81.741841', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8198, 'Mechanic', 2815, '43804', '330', '40.45374', '-81.741841', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8199, 'Fresno', 2815, '43824', '740', '40.364312', '-81.763922', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8200, 'New Bedford', 2815, '43824', '740', '40.364312', '-81.763922', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8201, 'Stone Creek', 2815, '43840', '330', '40.410551', '-81.618641', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8202, 'Brilliant', 2815, '43913', '740', '40.266088', '-80.637064', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8203, 'Tidd Dale', 2815, '43913', '740', '40.266088', '-80.637064', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8204, 'Hannibal', 2815, '43931', '740', '39.6675', '-80.8723', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8205, 'Dilles Bottom', 2815, '43947', '740', '39.93263', '-80.785136', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8206, 'Shadyside', 2815, '43947', '740', '39.93263', '-80.785136', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8207, 'Tiltonsville', 2815, '43963', '740', '40.172648', '-80.692646', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8208, 'Harrisville', 2815, '43974', '740', '40.180905', '-80.887722', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8209, 'Piedmont', 2815, '43983', '740', '40.13681', '-81.210826', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8210, 'Ashtabula', 2815, '44004', '440', '41.85198', '-80.790472', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8211, 'E Ashtabula', 2815, '44004', '440', '41.85198', '-80.790472', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8212, 'Eddystone', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8213, 'Feltonville', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8214, 'Parkside', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8215, 'Upland', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8216, 'Upper Chichester', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8217, 'Uppr Chichstr', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8218, 'Village Green', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8219, 'Hamlin', 2818, '18427', '570', '41.391904', '-75.341456', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8220, 'Jessup', 2818, '18434', '570', '41.458436', '-75.549197', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8221, 'Forkston Township', 2818, '18636', '570', '41.424081', '-76.071379', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8222, 'Forkston Twp', 2818, '18636', '570', '41.424081', '-76.071379', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8223, 'Monroe Township', 2818, '18636', '570', '41.424081', '-76.071379', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8224, 'Monroe Twp', 2818, '18636', '570', '41.424081', '-76.071379', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8225, 'Noxen', 2818, '18636', '570', '41.424081', '-76.071379', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8226, 'Shawanese', 2818, '18654', '570', '41.3517', '-76.0347', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8227, 'De Water Gap', 2818, '18327', '570', '40.974203', '-75.147138', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8228, 'Delaware Water Gap', 2818, '18327', '570', '40.974203', '-75.147138', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8229, 'Mount Bethel', 2818, '18343', '570', '40.898379', '-75.102285', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8230, 'Reeders', 2818, '18352', '570', '41.024702', '-75.333222', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8231, 'Swiftwater', 2818, '18370', '570', '41.089471', '-75.355163', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8232, 'Scranton', 2818, '18502', '570', '41.4088', '-75.6626', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8233, 'Hazle Township', 2818, '18202', '570', '40.959268', '-76.007799', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8234, 'Hazle Townshp', 2818, '18202', '570', '40.959268', '-76.007799', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8235, 'Hazleton', 2818, '18202', '570', '40.959268', '-76.007799', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8236, 'Pardeesville', 2818, '18202', '570', '40.959268', '-76.007799', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8237, 'W Hazleton', 2818, '18202', '570', '40.959268', '-76.007799', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8238, 'West Hazleton', 2818, '18202', '570', '40.959268', '-76.007799', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8239, 'Andreas', 2818, '18211', '570', '40.744401', '-75.817529', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8240, 'Delano', 2818, '18220', '570', '40.855203', '-76.058106', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8241, 'Lattimer Mines', 2818, '18234', '570', '40.991833', '-75.964396', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8242, 'Lattimer Mnes', 2818, '18234', '570', '40.991833', '-75.964396', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8243, 'Fleetville', 2818, '18420', '570', '41.602142', '-75.707834', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8244, 'Bethlehem', 2818, '18020', '610', '40.66801', '-75.330185', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8245, 'Center Valley', 2818, '18034', '610', '40.541339', '-75.405354', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8246, 'Laurys Sta', 2818, '18059', '610', '40.719738', '-75.53966', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8247, 'Laurys Station', 2818, '18059', '610', '40.719738', '-75.53966', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8248, 'Old Zionsville', 2818, '18068', '610', '40.4865', '-75.5207', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8249, 'Old Zionsvlle', 2818, '18068', '610', '40.4865', '-75.5207', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8250, 'Ravine', 2818, '17966', '570', '40.5944', '-76.4124', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8251, 'Fearnot', 2818, '17968', '570', '40.63358', '-76.612867', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8252, 'Sacramento', 2818, '17968', '570', '40.63358', '-76.612867', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8253, 'Arnots Addition', 2818, '17970', '570', '40.741234', '-76.221726', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8254, 'Dark Water', 2818, '17970', '570', '40.741234', '-76.221726', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8255, 'East Mines', 2818, '17970', '570', '40.741234', '-76.221726', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8256, 'Saint Clair', 2818, '17970', '570', '40.741234', '-76.221726', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8257, 'Gordon', 2818, '17936', '570', '40.74979', '-76.34082', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8258, 'Hepler', 2818, '17941', '570', '40.67259', '-76.606986', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8259, 'Klingerstown', 2818, '17941', '570', '40.67259', '-76.606986', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8260, 'Line Mountain', 2818, '17941', '570', '40.67259', '-76.606986', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8261, 'Rough And Ready', 2818, '17941', '570', '40.67259', '-76.606986', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8262, 'Upper Mahantongo', 2818, '17941', '570', '40.67259', '-76.606986', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8263, 'Alfarata', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8264, 'Bannerville', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8265, 'Belltown', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8266, 'Crossgrove', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8267, 'Decatur', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8268, 'Mc Clure', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8269, 'Mcclure', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8270, 'Shindle', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8271, 'Soradoville', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8272, 'Wagner', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8273, 'West Beaver', 2818, '17841', '717', '40.692026', '-77.400351', '2018-11-29 04:50:31', '2018-11-29 04:50:31'),\n(8274, 'Donegal Heights', 2818, '17552', '717', '40.11355', '-76.506172', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8275, 'Donegal Springs', 2818, '17552', '717', '40.11355', '-76.506172', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8276, 'Farmdale', 2818, '17552', '717', '40.11355', '-76.506172', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8277, 'Florin', 2818, '17552', '717', '40.11355', '-76.506172', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8278, 'Milton Grove', 2818, '17552', '717', '40.11355', '-76.506172', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8279, 'Mount Joy', 2818, '17552', '717', '40.11355', '-76.506172', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8280, 'Lancaster', 2818, '17607', '717', '40.0376', '-76.3058', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8281, 'Armstrong', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8282, 'Bastress', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8283, 'Collomsville', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8284, 'Duboistown', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8285, 'Nisbet', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(8286, 'Oval', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8287, 'S Williamspor', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8288, 'S Williamsport', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8289, 'S Williamsprt', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8290, 'South Williamsport', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8291, 'Sylvan Dell', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8292, 'Williamsport', 2818, '17702', '570', '41.180136', '-77.063232', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8293, 'Cedar Run', 2818, '17727', '570', '41.4987', '-77.4907', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8294, 'Jersey Shore', 2818, '17727', '570', '41.4987', '-77.4907', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8295, 'Leetonia', 2818, '17727', '570', '41.4987', '-77.4907', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8296, 'Bowmansville', 2818, '17507', '717', '40.1968', '-76.0176', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8297, 'Refton', 2818, '17568', '717', '39.9474', '-76.2334', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8298, 'Forest Knolls', 2818, '17575', '717', '40.0642', '-76.4378', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8299, 'Silver Spring', 2818, '17575', '717', '40.0642', '-76.4378', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8300, 'Baumgardner', 2818, '17584', '717', '39.966241', '-76.257831', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8301, 'Herrville', 2818, '17584', '717', '39.966241', '-76.257831', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8302, 'Lime Valley', 2818, '17584', '717', '39.966241', '-76.257831', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8303, 'Willow', 2818, '17584', '717', '39.966241', '-76.257831', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8304, 'Willow Street', 2818, '17584', '717', '39.966241', '-76.257831', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8305, 'Direct Brands', 2818, '17332', '717', '39.8009', '-76.9835', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8306, 'Hanover', 2818, '17332', '717', '39.8009', '-76.9835', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8307, 'Direct Brands', 2818, '17334', '717', '39.8009', '-76.9835', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8308, 'Hanover', 2818, '17334', '717', '39.8009', '-76.9835', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8309, 'Mc Knightstown', 2818, '17343', '717', '39.872432', '-77.328992', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8310, 'Mcknightstown', 2818, '17343', '717', '39.872432', '-77.328992', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8311, 'Brickerville', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8312, 'Reading', 2818, '19604', '610', '40.360302', '-75.9066', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8313, 'Manatawny', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8314, 'Oley', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8315, 'Oley Furnace', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8316, 'Pike', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8317, 'Pikeville', 2818, '19547', '610', '40.377868', '-75.774582', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8318, 'Fairland', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8319, 'Halfville', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8320, 'Kissel Hill', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8321, 'Lexington', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8322, 'Lime Rock', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8323, 'Lititz', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8324, 'Millway', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8325, 'Poplar Grove', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8326, 'Rothsville', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8327, 'Speedwell', 2818, '17543', '717', '40.179062', '-76.290619', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8328, 'Peach Glen', 2818, '17375', '717', '40.0232', '-77.2303', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8329, 'Bloserville', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8330, 'Cobblerville', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8331, 'Dickinson', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8332, 'Doubling Gap', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8333, 'Entlerville', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8334, 'Greenspring', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8335, 'Hays Grove', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8336, 'Heberlig', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8337, 'Little Wash', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8338, 'Belmont Hills', 2818, '19004', '610', '40.014912', '-75.226591', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8339, 'Cynwyd', 2818, '19004', '610', '40.014912', '-75.226591', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8340, 'Bethayres', 2818, '19006', '215', '40.128576', '-75.05964', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8341, 'Huntingdon Valley', 2818, '19006', '215', '40.128576', '-75.05964', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8342, 'Huntingdon Vy', 2818, '19006', '215', '40.128576', '-75.05964', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8343, 'Chester', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8344, 'Chester Township', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8345, 'Chester Twp', 2818, '19013', '610', '39.842326', '-75.380796', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8346, 'Uppr Chichstr', 2818, '19014', '610', '39.864546', '-75.431508', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8347, 'Wapwallopen', 2818, '18660', '570', '41.091876', '-76.083888', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8348, 'College Misericordia', 2818, '18612', '570', '41.354944', '-75.988924', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8349, 'Dallas', 2818, '18612', '570', '41.354944', '-75.988924', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8350, 'Monroe Township', 2818, '18612', '570', '41.354944', '-75.988924', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8351, 'Monroe Twp', 2818, '18612', '570', '41.354944', '-75.988924', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8352, 'Hillsgrove', 2818, '18619', '570', '41.438621', '-76.71005', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8353, 'Brackney', 2818, '18812', '570', '41.943755', '-75.927436', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8354, 'Burlington', 2818, '18814', '570', '41.781255', '-76.605319', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8355, 'Lake Como', 2818, '18437', '570', '41.862123', '-75.299079', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8356, 'Clifford Township', 2818, '18446', '570', '41.611256', '-75.804471', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8357, 'Clifford Twp', 2818, '18446', '570', '41.611256', '-75.804471', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8358, 'Nicholson', 2818, '18446', '570', '41.611256', '-75.804471', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8359, 'Ransom', 2818, '18653', '570', '41.40003', '-75.823111', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8360, 'Dingmans Ferry', 2818, '18328', '570', '41.217184', '-74.998093', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8361, 'Dingmans Fry', 2818, '18328', '570', '41.217184', '-74.998093', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8362, 'Lakeview Township', 2818, '18328', '570', '41.217184', '-74.998093', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8363, 'Lakeview Twp', 2818, '18328', '570', '41.217184', '-74.998093', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8364, 'Lehman', 2818, '18328', '570', '41.217184', '-74.998093', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8365, 'Paupack', 2818, '18451', '570', '41.385248', '-75.212992', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8366, 'Starrucca', 2818, '18462', '570', '41.897075', '-75.435967', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8367, 'Waverly', 2818, '18471', '570', '41.528823', '-75.702955', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8368, 'Scranton', 2818, '18501', '570', '41.4088', '-75.6626', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8369, 'Scranton', 2818, '18503', '570', '41.409477', '-75.667708', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8370, 'Zionsville', 2818, '18092', '610', '40.466964', '-75.517462', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8371, 'Allentown', 2818, '18103', '610', '40.573712', '-75.481788', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8372, 'Ashfield', 2818, '18212', '610', '40.7846', '-75.7138', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8373, 'Conyngham', 2818, '18219', '570', '40.991916', '-76.05963', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8374, 'Oneida', 2818, '18242', '570', '40.911536', '-76.120752', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8375, 'Parryville', 2818, '18244', '610', '40.824797', '-75.670002', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8376, 'Ackermanville', 2818, '18010', '610', '40.8392', '-75.2199', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8377, 'Bangor', 2818, '18010', '610', '40.8392', '-75.2199', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8378, 'Easton', 2818, '18044', '610', '40.6885', '-75.2211', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8379, 'Fogelsville', 2818, '18051', '610', '40.60015', '-75.664435', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8380, 'Northampton', 2818, '18067', '610', '40.71412', '-75.478256', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8381, 'Bartonsville', 2818, '18321', '570', '41.016106', '-75.294177', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8382, 'Brandonville', 2818, '17967', '570', '40.844197', '-76.203714', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8383, 'Pattersonville', 2818, '17967', '570', '40.844197', '-76.203714', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8384, 'Ringtown', 2818, '17967', '570', '40.844197', '-76.203714', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8385, 'Spring Glen', 2818, '17978', '570', '40.634931', '-76.642315', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8386, 'Schnecksville', 2818, '18078', '610', '40.670928', '-75.626213', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8387, 'Becks', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:32', '2018-11-29 04:50:32'),\n(8388, 'Buck Run', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8389, 'Bunker Hill', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8390, 'Dieners Hill', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8391, 'Duncott', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8392, 'Glen Carbon', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8393, 'Glen Dower', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8394, 'Glenworth', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8395, 'Greenbury', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8396, 'Heckschersville', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8397, 'Heckscherville', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8398, 'Hillside', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8399, 'New Street', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8400, 'North Manheim', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8401, 'Palo Alto', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8402, 'Phoenix Park', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8403, 'Pine Hill', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8404, 'Pottsville', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8405, 'Primrose', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8406, 'Seltzer', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8407, 'Wadesville', 2818, '17901', '570', '40.687992', '-76.26977', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8408, 'Friedensburg', 2818, '17933', '570', '40.602324', '-76.241547', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8409, 'Connerton', 2818, '17935', '570', '40.798808', '-76.280353', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8410, 'Girardville', 2818, '17935', '570', '40.798808', '-76.280353', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8411, 'Preston Hill', 2818, '17935', '570', '40.798808', '-76.280353', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8412, 'Meadowview', 2818, '17860', '570', '40.835204', '-76.640142', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8413, 'Paxinos', 2818, '17860', '570', '40.835204', '-76.640142', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8414, 'Reed Station', 2818, '17860', '570', '40.835204', '-76.640142', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8415, 'Greenbrier', 2818, '17867', '570', '40.712752', '-76.731891', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8416, 'Virginville', 2818, '19564', '610', '40.5238', '-75.8734', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8417, 'Berkley', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8418, 'Bernharts', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8419, 'Laureldale', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8420, 'Muhlenberg', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8421, 'Muhlenberg Township', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8422, 'Muhlenburg Park', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8423, 'Ontelaunee', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8424, 'Reading', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8425, 'River View Park', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8426, 'Tuckerton', 2818, '19605', '610', '40.406681', '-75.945877', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8427, 'Kutztown', 2818, '19530', '610', '40.536296', '-75.781231', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8428, 'New Smithville', 2818, '19530', '610', '40.536296', '-75.781231', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8429, 'Schofer', 2818, '19530', '610', '40.536296', '-75.781231', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8430, 'Krumsville', 2818, '19534', '610', '40.574018', '-75.863857', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8431, 'Lenhartsville', 2818, '19534', '610', '40.574018', '-75.863857', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8432, 'Audubon', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8433, 'Eagleville', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8434, 'East Norriton', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8435, 'Jeffersonville', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8436, 'Jeffersonvlle', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8437, 'Norristown', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8438, 'Trooper', 2818, '19403', '610', '40.154316', '-75.377464', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8439, 'Paoli', 2818, '19301', '610', '40.040236', '-75.485458', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8440, 'Brandamore', 2818, '19316', '610', '40.058021', '-75.841452', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8441, 'Chadds Ford', 2818, '19317', '610', '39.856196', '-75.593973', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8442, 'Chatham', 2818, '19318', '610', '39.8536', '-75.8217', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8443, 'Devon', 2818, '19333', '610', '40.043326', '-75.423587', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8444, 'Lewisville', 2818, '19351', '610', '39.7226', '-75.8754', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8445, 'Exton', 2818, '19353', '610', '40.0286', '-75.6213', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8446, 'Lionville', 2818, '19353', '610', '40.0286', '-75.6213', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8447, 'Pocopson', 2818, '19366', '610', '39.9005', '-75.6262', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8448, 'Phila', 2818, '19101', '610', '39.9524', '-75.1642', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8449, 'Philadelphia', 2818, '19101', '610', '39.9524', '-75.1642', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8450, 'Mid City East', 2818, '19102', '215', '39.952668', '-75.165214', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8451, 'Middle City East', 2818, '19102', '215', '39.952668', '-75.165214', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8452, 'Penn Ctr', 2818, '19102', '215', '39.952668', '-75.165214', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8453, 'Phila', 2818, '19102', '215', '39.952668', '-75.165214', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8454, 'Philadelphia', 2818, '19102', '215', '39.952668', '-75.165214', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8455, 'Lynnewood Gardens', 2818, '19150', '215', '40.072539', '-75.171249', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8456, 'Phila', 2818, '19150', '215', '40.072539', '-75.171249', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8457, 'Philadelphia', 2818, '19150', '215', '40.072539', '-75.171249', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8458, 'Overbrook Hills', 2818, '19151', '215', '39.977616', '-75.258772', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8459, 'Overbrook Hls', 2818, '19151', '215', '39.977616', '-75.258772', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8460, 'Phila', 2818, '19151', '215', '39.977616', '-75.258772', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8461, 'Philadelphia', 2818, '19151', '215', '39.977616', '-75.258772', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8462, 'Phila', 2818, '19182', '215', '39.9525', '-75.1645', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8463, 'Philadelphia', 2818, '19182', '215', '39.9525', '-75.1645', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8464, 'Pnc Bank', 2818, '19182', '215', '39.9525', '-75.1645', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8465, 'Phila', 2818, '19116', '215', '40.116375', '-75.014144', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8466, 'Philadelphia', 2818, '19116', '215', '40.116375', '-75.014144', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8467, 'Phila', 2818, '19118', '215', '40.070205', '-75.21498', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8468, 'Philadelphia', 2818, '19118', '215', '40.070205', '-75.21498', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8469, 'Springfield', 2818, '19118', '215', '40.070205', '-75.21498', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8470, 'Phila', 2818, '19134', '215', '39.988978', '-75.098751', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8471, 'Philadelphia', 2818, '19134', '215', '39.988978', '-75.098751', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8472, 'Lower Makefield', 2818, '19067', '215', '40.194896', '-74.809579', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8473, 'Morrisville', 2818, '19067', '215', '40.194896', '-74.809579', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8474, 'Yardley', 2818, '19067', '215', '40.194896', '-74.809579', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8475, 'Havertown', 2818, '19083', '610', '39.976314', '-75.312698', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8476, 'Llanerch', 2818, '19083', '610', '39.976314', '-75.312698', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8477, 'Lower Merion', 2818, '19083', '610', '39.976314', '-75.312698', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8478, 'Abington', 2818, '19001', '215', '40.123553', '-75.126205', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8479, 'Ogontz Campus', 2818, '19001', '215', '40.123553', '-75.126205', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8480, 'Roslyn', 2818, '19001', '215', '40.123553', '-75.126205', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8481, 'Fort Washington', 2818, '19049', '215', '40.1746', '-74.9234', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8482, 'Ft Washington', 2818, '19049', '215', '40.1746', '-74.9234', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8483, 'Trevose', 2818, '19049', '215', '40.1746', '-74.9234', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8484, 'Union Fidelity Postage Pd', 2818, '19049', '215', '40.1746', '-74.9234', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8485, 'Monroeton', 2818, '18832', '570', '41.665225', '-76.536424', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8486, 'New Albany', 2818, '18833', '570', '41.616117', '-76.5285', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8487, 'New Milford', 2818, '18834', '570', '41.840156', '-75.736484', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8488, 'Chester Heights', 2818, '19017', '610', '39.8897', '-75.4724', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8489, 'Chester Hts', 2818, '19017', '610', '39.8897', '-75.4724', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8490, 'Aldan', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8491, 'Clifton Heights', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8492, 'Clifton Hts', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8493, 'Primos', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8494, 'Primos Secane', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8495, 'Primos-Secane', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8496, 'Secane', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8497, 'Westbrook Park', 2818, '19018', '610', '39.922517', '-75.294407', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8498, 'Forksville', 2818, '18616', '570', '41.513053', '-76.594117', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8499, 'Wilkes Barre', 2818, '18764', '570', '41.2565', '-75.8677', '2018-11-29 04:50:33', '2018-11-29 04:50:33'),\n(8500, 'Wilkes Barre General Hsptl', 2818, '18764', '570', '41.2565', '-75.8677', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8501, 'Geisinger South', 2818, '18765', '570', '41.2369', '-75.9082', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8502, 'Wilkes Barre', 2818, '18765', '570', '41.2369', '-75.9082', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8503, 'Camptown', 2818, '18815', '570', '41.7314', '-76.2353', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8504, 'Dimock', 2818, '18816', '570', '41.749584', '-75.899279', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8505, 'Herrick Center', 2818, '18430', '570', '41.761226', '-75.51626', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8506, 'Herrick Ctr', 2818, '18430', '570', '41.761226', '-75.51626', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8507, 'Jard De Rabanal', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8508, 'Jard Treasure Island', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8509, 'Parc Gandara', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8510, 'Parc Gandara Ii', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8511, 'Sect Campobello', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8512, 'Sect Lozada', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8513, 'URB Campo Bello', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8514, 'URB Campo Lago', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8515, 'URB Campo Primavera', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8516, 'URB Domingo Alejandro', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8517, 'URB Domingo Rodriguez', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8518, 'URB Ferrer', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8519, 'URB Freire', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8520, 'URB Monte Primavera', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8521, 'URB Sabanera', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8522, 'URB Treasure Vly', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8523, 'Villa Del Carmen', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8524, 'Vista Monte', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8525, 'Alt Del Madrigal', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8526, 'Bda Borinquen', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8527, 'Bda Clausells', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8528, 'Bda Ferran', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8529, 'Bda Tamarindo', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8530, 'Bo La Ponderosa', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8531, 'Bo Magueyes', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8532, 'Bo Pueblito Nuevo', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8533, 'Bo Tamarindo', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8534, 'Comunidad Playita Ferry', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8535, 'Est Del Golf Club', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8536, 'Ext El Madrigal', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8537, 'Ext La Guadalupe', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8538, 'Ext Qtas De Monserrate', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8539, 'Ext Santa Teresita', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8540, 'Ext Valle Alto', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8541, 'Jard De Ponce', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8542, 'Lomas De Country Club', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8543, 'Ponce', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8544, 'Qtas De Monserrate', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8545, 'Sect Clausell', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8546, 'Sect La Ponderosa', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8547, 'Sect Las Canitas', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8548, 'Sect Playita', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8549, 'URB El Madrigal', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8550, 'URB Ferry Barranca', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8551, 'URB Glenview Gdns', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8552, 'URB Jacaranda', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8553, 'URB Jaime L Drew', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8554, 'URB La Guadalupe', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8555, 'URB La Lula', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8556, 'URB La Rambla', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8557, 'URB Las Monjitas', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8558, 'URB Morell Campos', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8559, 'URB Nuevo Mameyes', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8560, 'URB Santa Teresita', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8561, 'URB Tibes', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8562, 'Villa Matilde', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8563, 'Vistas Del Rio Iii', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8564, 'San Juan', 2819, '00955', '787', '18.4697', '-66.1179', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8565, 'Alt De Bucabarones', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8566, 'Alts De Montecasino', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8567, 'Alts Del Toa', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8568, 'Brisas De Montecasino', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8569, 'Ciudad Jardin I', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8570, 'Ciudad Jardin Ii', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8571, 'Ciudad Jardin Iii', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8572, 'Colinas De Plata', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8573, 'Est De La Fuente', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8574, 'Hacienda El Pilar', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8575, 'Haciendas De Borinquen', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8576, 'Jard De Casablanca', 2819, '00953', '787', '18.357812', '-66.258113', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8577, 'Rio Piedras', 2819, '00928', '787', '18.4683', '-66.1061', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8578, 'San Juan', 2819, '00928', '787', '18.4683', '-66.1061', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8579, 'San Juan', 2819, '00912', '787', '18.445384', '-66.061116', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8580, 'Santurce', 2819, '00912', '787', '18.445384', '-66.061116', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8581, 'San Juan', 2819, '00916', '787', '18.4683', '-66.1061', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8582, 'Santurce', 2819, '00916', '787', '18.4683', '-66.1061', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8583, 'Bda Sostre', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8584, 'Bo Pueblo', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8585, 'Colinas De Corozal', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8586, 'Corozal', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8587, 'Ext Sylvia', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8588, 'Loma Linda', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8589, 'Sect Cienagueta', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8590, 'URB Cerromonte', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8591, 'URB Cibuco', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8592, 'URB El Centro', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8593, 'URB Las Brisas', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8594, 'URB Maria Del Carmen', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8595, 'URB Monterey', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8596, 'URB Monteverde', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8597, 'URB San Feliz', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8598, 'URB Sobrino', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8599, 'URB Sylvia', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8600, 'Valle De Aramana', 2819, '00783', '787', '18.304629', '-66.330493', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8601, 'Bo Coffi', 2819, '00765', '787', '18.126285', '-65.440098', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8602, 'Bo Tortuguero', 2819, '00765', '787', '18.126285', '-65.440098', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8603, 'URB Isabel Ii', 2819, '00765', '787', '18.126285', '-65.440098', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8604, 'URB Lucila Franco', 2819, '00765', '787', '18.126285', '-65.440098', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8605, 'Vieques', 2819, '00765', '787', '18.126285', '-65.440098', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8606, 'Ponce', 2819, '00733', '787', '18.0133', '-66.6146', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8607, 'Bda Belgica', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8608, 'Bda Mariani', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8609, 'Bda Salazar', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8610, 'Bda Santa Rosa', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8611, 'Bo Caracoles', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:34', '2018-11-29 04:50:34'),\n(8612, 'Bo Cuatro Calles', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8613, 'Bo San Anton', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8614, 'Ext Salazar', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8615, 'Ponce', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8616, 'Repto Universitario', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8617, 'URB Buena Vista', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8618, 'URB Constancia', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8619, 'URB Constancia Gdns', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8620, 'URB El Bosque', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8621, 'URB Los Maestros', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8622, 'URB Mariani', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8623, 'URB Mercedita', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8624, 'URB Patio Laboy', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8625, 'URB Perla Del Sur', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8626, 'URB San Antonio', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8627, 'URB San Jorge', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8628, 'URB Santa Maria', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8629, 'URB Starlight', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8630, 'Villa Grillasca', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8631, 'Vista Alegre', 2819, '00717', '787', '18.000417', '-66.614669', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8632, 'Bo Calzada', 2819, '00715', '787', '18.007113', '-66.558109', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8633, 'Bo La Cuarta', 2819, '00715', '787', '18.007113', '-66.558109', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8634, 'Brisas De Maravilla', 2819, '00715', '787', '18.007113', '-66.558109', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8635, 'Central Mercedita', 2819, '00715', '787', '18.007113', '-66.558109', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8636, 'Mercedita', 2819, '00715', '787', '18.007113', '-66.558109', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8637, 'Ponce', 2819, '00715', '787', '18.007113', '-66.558109', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8638, 'Ext Mans San German', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8639, 'Ext Parc Sabana Eneas', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8640, 'Ext Santa Maria', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8641, 'Ext Villa Interamericana', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8642, 'Hacienda La Monserrate', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8643, 'Haciendas De San German', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8644, 'Mans De San German', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8645, 'Mans Reales', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8646, 'Parc Sabana Eneas', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8647, 'Paseos Del Valle', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8648, 'Repto Suris', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8649, 'Repto Universidad', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8650, 'San German', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8651, 'URB Borinquen', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8652, 'URB El Convento', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8653, 'URB El Pedregal', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8654, 'URB El Real', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8655, 'URB La Nueva Salamanca', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8656, 'URB La Quinta Dr Velez', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8657, 'URB Las Quintas', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8658, 'URB Los Sauces', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8659, 'URB Montebello', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8660, 'URB Porta Coeli', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8661, 'URB Retiro', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8662, 'URB Riverside', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8663, 'URB Santa Maria', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8664, 'Valle Verde', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8665, 'La Cima I', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8666, 'Lomas De La Serrania', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8667, 'Parq Las Mercedes', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8668, 'Paseo Del Rio', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8669, 'Qtas De San Luis 1', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8670, 'Brisas De Campo Alegre', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8671, 'Hacienda Asturias', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8672, 'Parq Ind San Antonio', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8673, 'Paseos Reales', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8674, 'San Antonio', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8675, 'URB Nuevo San Antonio', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8676, 'URB San Antonio', 2819, '00690', '787', '18.50189', '-67.097099', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8677, 'Alts De Cerro Gordo 1&2', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8678, 'Alts De Cerro Gordo 3&4', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8679, 'Bda Corea', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8680, 'Bo Brenas', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8681, 'Comunidad Manantial', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8682, 'Villa Toledo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8683, 'Villas Del Capitan', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8684, 'Villas Del Sol', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8685, 'Alt De Torrimar', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8686, 'Bda Buen Samaritano', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8687, 'Bda San Miguel', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8688, 'Bo Buen Samaritano', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8689, 'Bo Juan Domingo', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8690, 'Chalet De La Reina', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8691, 'Est De Torrimar', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8692, 'Ext Victor Braeger', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8693, 'Ext Villa Caparra', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8694, 'Guaynabo', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8695, 'Mans De Tintillo', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8696, 'Mans Garden Hls', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8697, 'Parq De Villa Caparra', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8698, 'Parq Mediterraneo', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8699, 'Repto Santana', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8700, 'Terrs De Tintillo', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8701, 'URB Arboleda', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8702, 'URB Garden Ct', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8703, 'URB Garden Hls', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8704, 'URB Garden Hls Est', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8705, 'URB Garden Hls Villas', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8706, 'URB Gardenville', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8707, 'URB Los Frailes Norte', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8708, 'URB Martin Ct', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8709, 'URB Novas Ct', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8710, 'URB Prado Alto', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8711, 'URB Sevilla Biltmore', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8712, 'URB Suchville', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(8713, 'URB Susan Ct', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8714, 'URB Susan Ct Chalets', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8715, 'URB Tintillo Gdns', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8716, 'URB Tintillo Hls', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8717, 'URB Torrimar', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8718, 'URB Victor Braeger', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8719, 'Villa Caparra', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8720, 'Villa Verde', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8721, 'Villas De Caparra', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8722, 'Villas De Prado Alto', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8723, 'Villas De Tintillos', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8724, 'Villas De Trujillo', 2819, '00966', '787', '18.39779', '-66.116071', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8725, 'San Juan', 2819, '00933', '787', '18.4683', '-66.1061', '2018-11-29 04:50:35', '2018-11-29 04:50:35'),\n(8726, 'Toa Baja', 2819, '00950', '787', '18.444524', '-66.255037', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8727, 'Toa Baja', 2819, '00951', '787', '18.4456', '-66.26', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8728, 'Bda Bitumul', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8729, 'Bda Buena Vista', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8730, 'Bda Israel', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8731, 'Bda Las Monjas', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8732, 'Hato Rey', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8733, 'San Juan', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8734, 'Sect El Relincho', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8735, 'URB Davila & Llenza', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8736, 'URB El Prado', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8737, 'URB Floral Park', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8738, 'URB Perez Morris', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8739, 'URB Pinero', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8740, 'URB Quintana', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8741, 'URB Umpierre', 2819, '00917', '787', '18.421194', '-66.049352', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8742, 'Bda Tokio', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8743, 'Ext Roosevelt', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8744, 'Rio Grande', 2819, '00721', '787', '18.3018', '-66.08', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8745, 'URB Miramar 1', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8746, 'URB Palmar 2', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8747, 'URB San Antonio', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8748, 'Villas De Lafayette', 2819, '00714', '787', '17.987052', '-66.058249', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8749, 'Aguas Buenas', 2819, '00703', '787', '18.262566', '-66.129629', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8750, 'Est Del Rio', 2819, '00703', '787', '18.262566', '-66.129629', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8751, 'Mans De Aguas Buenas', 2819, '00703', '787', '18.262566', '-66.129629', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8752, 'URB San Antonio', 2819, '00703', '787', '18.262566', '-66.129629', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8753, 'Bo Cacao', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8754, 'Brisas Tropical', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8755, 'Camino Los Paganes', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8756, 'Parc Chivas', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8757, 'Parc Terranova', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8758, 'Parq Del Retiro', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8759, 'Quebradillas', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8760, 'Repto Kennedy', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8761, 'URB Avila', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8762, 'URB Dos Ceibas', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8763, 'URB El Retiro', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8764, 'URB La Romana', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8765, 'URB Santa Marina', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8766, 'Bda Flores', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8767, 'Brisas Del Prado', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8768, 'Colinas Del Este', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8769, 'Est De Juncos', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8770, 'Est De La Ceiba', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8771, 'Ext Jard De Barcelona', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8772, 'Haciendas De Tena', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8773, 'Toa Baja', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8774, 'URB Almira', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8775, 'URB Altagracia', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8776, 'URB Camino Del Mar', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8777, 'URB Campanillas', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8778, 'URB Covadonga', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8779, 'URB Dos Rios', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8780, 'URB El Naranjal', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8781, 'URB El Plantio', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8782, 'URB La Inmaculada', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8783, 'URB La Rosaleda I', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8784, 'URB La Rosaleda Ii', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8785, 'URB Lagos De Plata', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8786, 'URB Las Colinas', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8787, 'URB Las Gaviotas', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8788, 'URB Levittown', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8789, 'URB Levittown Lakes', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8790, 'URB Levittville', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8791, 'URB Pabellones', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8792, 'URB San Pedro', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8793, 'URB Santa Maria', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8794, 'URB Toaville', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8795, 'URB Valparaiso', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8796, 'Villa De Levittown', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8797, 'Vista Del Lago', 2819, '00949', '787', '18.432704', '-66.199115', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8798, 'Old San Juan', 2819, '00901', '787', '18.4654', '-66.104373', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8799, 'San Juan', 2819, '00901', '787', '18.4654', '-66.104373', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8800, 'Viejo San Juan', 2819, '00901', '787', '18.4654', '-66.104373', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8801, 'Viejo Sn Juan', 2819, '00901', '787', '18.4654', '-66.104373', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8802, 'Old San Juan', 2819, '00902', '787', '18.4683', '-66.1061', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8803, 'San Juan', 2819, '00902', '787', '18.4683', '-66.1061', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8804, 'Viejo San Juan', 2819, '00902', '787', '18.4683', '-66.1061', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8805, 'Viejo Sn Juan', 2819, '00902', '787', '18.4683', '-66.1061', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8806, 'Barrio Obrero', 2819, '00916', '787', '18.4683', '-66.1061', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8807, 'Villa Norma', 2819, '00678', '787', '18.431293', '-66.915406', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8808, 'Bo Arenal', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8809, 'Bo Saldinera', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8810, 'Bosque Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8811, 'Brighton Country Club', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8812, 'Chalets De Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8813, 'Comunidad Arenales', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8814, 'Comunidad Arenales Ii', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8815, 'Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8816, 'Hacienda Mi Querido Viejo', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8817, 'Jard De Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8818, 'Jard Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8819, 'Parc El Cotto', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8820, 'Parc Mameyal', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8821, 'Parc San Antonio', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8822, 'Paseo Del Mar', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8823, 'Paseo Del Sol', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8824, 'Paseo Las Olas', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8825, 'Paseo Las Palmas', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8826, 'Paseo Los Corales', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8827, 'Paseo Los Corales Ii', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8828, 'Paseo Real', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8829, 'Qtas De Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8830, 'Sect La Aldea', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8831, 'URB Costa De Oro', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8832, 'URB Dorado Country Ests', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8833, 'URB Dorado Del Mar', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8834, 'URB Dorado Reef', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8835, 'URB Doraville', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8836, 'URB Gables Breeze', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8837, 'URB Golden Hls', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8838, 'URB Los Montes', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8839, 'URB Los Prados Norte', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8840, 'URB Los Prados Sur', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:36', '2018-11-29 04:50:36'),\n(8841, 'URB Martorell', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8842, 'URB Miraflores', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8843, 'URB Molinos Del Rio', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8844, 'URB Monte Bello', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8845, 'URB Monte Elena', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8846, 'URB Monte Mayor', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8847, 'URB Monte Verde', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8848, 'URB Montelindo', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8849, 'URB Montereal', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8850, 'URB Paisajes De Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8851, 'URB Palmar Dorado Norte', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8852, 'URB Sabanera Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8853, 'URB Santa Barbara', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8854, 'URB The Clusters', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8855, 'URB The Estates', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8856, 'Valle Dorado', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8857, 'Villa Plata', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8858, 'Villa Santa', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8859, 'Villa Santa Ii', 2819, '00646', '787', '18.459098', '-66.272418', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8860, 'Bda Esperanza', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8861, 'Bo La Luna', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8862, 'Guanica', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8863, 'URB Bahia', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8864, 'URB Sagrado Corazon', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8865, 'URB Santa Clara', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8866, 'Vista Mar', 2819, '00653', '787', '17.982516', '-66.891581', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8867, 'Sect El Cano', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8868, 'Sect Las Animas', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8869, 'Sect Muelle', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8870, 'URB Arecibo Gdns', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8871, 'URB Brisas Del Mar Ii', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8872, 'URB College Park Iv', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8873, 'URB Costas Del Atlantico', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8874, 'URB El Paraiso', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8875, 'URB Factor', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8876, 'URB Garcia', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8877, 'URB Garden View', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8878, 'URB La Mucura', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8879, 'URB Las Brisas', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8880, 'URB Los Corales', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8881, 'URB Los Llanos', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8882, 'URB Los Pinos', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8883, 'URB Los Pinos Ii', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8884, 'URB Marisol', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8885, 'URB Martell', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8886, 'URB Ocean Vw', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8887, 'URB Radioville', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8888, 'URB Regional', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8889, 'URB San Daniel', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8890, 'URB San Felipe', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8891, 'URB San Lorenzo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8892, 'URB Tanama', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8893, 'URB University Gdns', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8894, 'URB Victor Rojas 1', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8895, 'URB Victor Rojas 2', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8896, 'URB Villamar', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8897, 'URB Zeno Gandia', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8898, 'Valle Escondido', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8899, 'Villa Los Santos', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8900, 'Villa Lucia', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8901, 'Villa Serena', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8902, 'Jard De Barcelona', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8903, 'Jard De Ceiba Norte', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8904, 'Jard Del Valenciano', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8905, 'Juncos', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8906, 'Mans De Juncos', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8907, 'Paseo De La Ceiba', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8908, 'Paseo Palma Real', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8909, 'Portales De Juncos', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8910, 'Repto Valenciano', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8911, 'Sect Canales', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8912, 'URB Cerro Ceiba', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8913, 'URB Diamaris', 2819, '00777', '787', '18.206518', '-65.901732', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8914, 'Punta Santiago', 2819, '00741', '787', '18.16462', '-65.766894', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8915, 'Punta Stgo', 2819, '00741', '787', '18.16462', '-65.766894', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8916, 'URB Verdemar', 2819, '00741', '787', '18.16462', '-65.766894', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8917, 'Villa Palmira', 2819, '00741', '787', '18.16462', '-65.766894', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8918, 'Qtas De San Luis 2', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8919, 'Qtas De Villa Blanca', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8920, 'Repto Caguax', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8921, 'Repto Solano', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8922, 'Res Bairoa', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8923, 'Terr De Borinquen', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8924, 'URB Balcones Las Catalinas', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8925, 'URB Batista', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8926, 'URB Billy Suarez', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8927, 'URB Bonneville Gdns', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8928, 'URB Bonneville Terr', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8929, 'URB Borinquen Valley', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8930, 'URB Brooklyn', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8931, 'URB Bunker', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8932, 'URB Caguas Milenio', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8933, 'URB Caguas Norte', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8934, 'URB Caribe Gdns', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8935, 'URB Condado Moderno', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8936, 'URB Condado Viejo', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8937, 'URB El Retiro', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8938, 'URB El Rincon De La Serrania', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8939, 'URB El Verde', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8940, 'URB Grillo', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8941, 'URB Jose Delgado', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8942, 'URB Jose Mercado', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8943, 'URB La Granja', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8944, 'URB La Meseta', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8945, 'URB Machin', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8946, 'URB Mariolga', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8947, 'URB Monticielo', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8948, 'URB Myrlena', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8949, 'URB Nazario', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8950, 'URB Notre Dame', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8951, 'URB Paradise', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8952, 'URB San Alfonso', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:37', '2018-11-29 04:50:37'),\n(8953, 'URB San Antonio', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8954, 'URB San Marcos', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8955, 'URB San Pedro Est', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8956, 'URB San Rafael', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8957, 'URB Santa Cecilia', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8958, 'URB Santa Elvira', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8959, 'URB Santa Juana', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8960, 'URB Santa Juana 2', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8961, 'URB Santa Juana 3', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8962, 'URB Santa Juana 4', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8963, 'URB Santa Rosa', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8964, 'URB Santo Domingo', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8965, 'URB Verde Sur', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8966, 'Valle De San Luis', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8967, 'Valles Del Lago', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8968, 'Villa Blanca', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8969, 'Villa Borinquen', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8970, 'Villa Carmen', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8971, 'Villa De Castro', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8972, 'Villa Del Rey 1', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8973, 'Villa Del Rey 2', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8974, 'Villa Guadalupe', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8975, 'Villa Las Mercedes', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8976, 'Villa Los Criollos', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8977, 'Villa Maria', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8978, 'Villa Turabo', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8979, 'Villa Victoria', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8980, 'Villas De Rio Verde', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8981, 'Villas Del Rio Verde', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8982, 'Caguas', 2819, '00726', '787', '18.2364', '-66.0489', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8983, 'Alt De Caguas', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8984, 'Alt Del Turabo', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8985, 'Bda Morales', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8986, 'Bosques De La Sierra', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8987, 'Brisas Del Parque I', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8988, 'Brisas Del Parque Ii', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8989, 'Caguas', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8990, 'Est El Verde', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8991, 'Ext Caguax', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8992, 'Ext El Verde', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8993, 'Ext La Granja', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8994, 'Ext Villa Blanca', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8995, 'Hacienda Borinquen', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8996, 'Jard Pla', 2819, '00725', '787', '18.205646', '-66.034458', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8997, 'Charleston', 2821, '29416', '843', '32.7786', '-79.9356', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8998, 'Charleston', 2821, '29425', '843', '32.7799', '-79.9416', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(8999, 'Chas', 2821, '29425', '843', '32.7799', '-79.9416', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9000, 'Medical University Of Sc', 2821, '29425', '843', '32.7799', '-79.9416', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9001, 'Cainhoy', 2821, '29492', '843', '32.913122', '-79.864033', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9002, 'Charleston', 2821, '29492', '843', '32.913122', '-79.864033', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9003, 'Daniel Island', 2821, '29492', '843', '32.913122', '-79.864033', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9004, 'Wando', 2821, '29492', '843', '32.913122', '-79.864033', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9005, 'Conway', 2821, '29526', '843', '33.870176', '-78.984769', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9006, 'Canadys', 2821, '29433', '843', '33.0525', '-80.6201', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9007, 'Cayce', 2821, '29172', '803', '33.907754', '-81.081302', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9008, 'West Columbia', 2821, '29172', '803', '33.907754', '-81.081302', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9009, 'Charleston', 2821, '29424', '843', '32.7865', '-79.9308', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9010, 'Chas', 2821, '29424', '843', '32.7865', '-79.9308', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9011, 'The College Of Charleston', 2821, '29424', '843', '32.7865', '-79.9308', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9012, 'Duncan', 2821, '29334', '864', '34.90813', '-82.117325', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9013, 'Gramling', 2821, '29348', '864', '35.0764', '-82.1329', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9014, 'Orangeburg', 2821, '29116', '803', '33.4918', '-80.8556', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9015, 'Pelion', 2821, '29123', '803', '33.763375', '-81.261202', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9016, 'Thor', 2821, '29123', '803', '33.763375', '-81.261202', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9017, 'Monterey', 2823, '38574', '931', '36.141756', '-85.198809', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9018, 'Ravenscroft', 2823, '38583', '931', '35.936638', '-85.458378', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9019, 'Riverwatch', 2823, '38583', '931', '35.936638', '-85.458378', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9020, 'Sparta', 2823, '38583', '931', '35.936638', '-85.458378', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9021, 'Adams', 2823, '37010', '615', '36.560758', '-87.103727', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9022, 'Alexandria', 2823, '37012', '615', '36.065104', '-85.996148', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9023, 'Christiana', 2823, '37037', '615', '35.696272', '-86.372098', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9024, 'Austin Peay St Univ', 2823, '37044', '931', '36.5324', '-87.3543', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9025, 'Clarksville', 2823, '37044', '931', '36.5324', '-87.3543', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9026, 'Fairview', 2823, '37062', '615', '35.99135', '-87.131607', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9027, 'Franklin', 2823, '37064', '615', '35.883237', '-86.961133', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9028, 'Kingfield', 2823, '37064', '615', '35.883237', '-86.961133', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9029, 'Peytonsville', 2823, '37064', '615', '35.883237', '-86.961133', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9030, 'Rudderville', 2823, '37064', '615', '35.883237', '-86.961133', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9031, 'Ingram Entertainment Group', 2823, '37089', '615', '36.0156', '-86.5819', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9032, 'La Vergne', 2823, '37089', '615', '36.0156', '-86.5819', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9033, 'Nunnelly', 2823, '37137', '931', '35.880185', '-87.502872', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9034, 'Bell Buckle', 2823, '37020', '931', '35.636654', '-86.397696', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9035, 'Burns', 2823, '37029', '615', '36.037706', '-87.264002', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9036, 'Charlotte', 2823, '37036', '615', '36.250666', '-87.2839', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9037, 'Cornersville', 2823, '37047', '931', '35.327168', '-86.817672', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9038, 'Cunningham', 2823, '37052', '931', '36.370199', '-87.409512', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9039, 'Erin', 2823, '37061', '931', '36.273067', '-87.652431', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9040, 'Fosterville', 2823, '37063', '615', '35.6534', '-86.4032', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9041, 'Goodlettsville', 2823, '37072', '615', '36.354955', '-86.76214', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9042, 'Goodlettsvlle', 2823, '37072', '615', '36.354955', '-86.76214', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9043, 'Millersville', 2823, '37072', '615', '36.354955', '-86.76214', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9044, 'La Vergne', 2823, '37086', '615', '36.022105', '-86.558222', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9045, 'Pleasant Shade', 2823, '37145', '615', '36.368482', '-85.901996', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9046, 'Pleasant Shde', 2823, '37145', '615', '36.368482', '-85.901996', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9047, 'Ridgetop', 2823, '37152', '615', '36.396478', '-86.766847', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9048, 'National Pen Company', 2823, '37161', '931', '35.4835', '-86.4603', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9049, 'Shelbyville', 2823, '37161', '931', '35.4835', '-86.4603', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9050, 'Springfield', 2823, '37172', '615', '36.509396', '-86.857594', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9051, 'White House', 2823, '37188', '615', '36.481868', '-86.671226', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9052, 'Forest Hills', 2823, '37220', '615', '36.065718', '-86.781122', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9053, 'Melrose', 2823, '37220', '615', '36.065718', '-86.781122', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9054, 'Nashville', 2823, '37220', '615', '36.065718', '-86.781122', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9055, 'Oak Hill', 2823, '37220', '615', '36.065718', '-86.781122', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9056, 'Nashville', 2823, '37229', '615', '36.1623', '-86.7844', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9057, 'Nashville', 2823, '37238', '615', '36.1648', '-86.7787', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9058, 'Belvidere', 2823, '37306', '931', '35.093372', '-86.181996', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9059, 'Cleveland', 2823, '37311', '423', '35.09289', '-84.915456', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9060, 'Cleveld', 2823, '37311', '423', '35.09289', '-84.915456', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9061, 'Cleveland', 2823, '37320', '423', '35.1594', '-84.8767', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9062, 'Cleveld', 2823, '37320', '423', '35.1594', '-84.8767', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9063, 'Etowah', 2823, '37331', '423', '35.331479', '-84.52989', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9064, 'Georgetown', 2823, '37336', '423', '35.299242', '-84.933426', '2018-11-29 04:50:38', '2018-11-29 04:50:38'),\n(9065, 'Monteagle', 2823, '37356', '931', '35.236842', '-85.825971', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9066, 'Ocoee', 2823, '37361', '423', '35.111756', '-84.686328', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9067, 'Riceville', 2823, '37370', '423', '35.352024', '-84.712254', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9068, 'Lakesite', 2823, '37379', '423', '35.30014', '-85.179558', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9069, 'Soddy Daisy', 2823, '37379', '423', '35.30014', '-85.179558', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9070, 'Chattanooga', 2823, '37411', '423', '35.028412', '-85.230553', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9071, 'Ridgeside', 2823, '37411', '423', '35.028412', '-85.230553', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9072, 'Telford', 2823, '37690', '423', '36.23691', '-82.559148', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9073, 'Cosby', 2823, '37722', '423', '35.811622', '-83.217239', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9074, 'Huntsville', 2823, '37756', '423', '36.303985', '-84.42932', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9075, 'Norma', 2823, '37756', '423', '36.303985', '-84.42932', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9076, 'Kingston', 2823, '37763', '865', '35.837868', '-84.509841', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9077, 'Maryville', 2823, '37804', '865', '35.800964', '-83.887464', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9078, 'Oakdale', 2823, '37829', '423', '36.014062', '-84.672254', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9079, 'Oak Ridge', 2823, '37831', '865', '36.0103', '-84.2698', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9080, 'Pioneer', 2823, '37847', '423', '36.448555', '-84.33184', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9081, 'Pigeon Forge', 2823, '37863', '865', '35.77485', '-83.57137', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9082, 'Sevierville', 2823, '37863', '865', '35.77485', '-83.57137', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9083, 'Thorn Hill', 2823, '37881', '865', '36.396704', '-83.347416', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9084, 'Treadway', 2823, '37881', '865', '36.396704', '-83.347416', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9085, 'Knoxville', 2823, '37915', '865', '35.97129', '-83.900224', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9086, 'Knoxville', 2823, '37938', '865', '36.120434', '-83.928238', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9087, 'Knoxville', 2823, '37940', '865', '35.9648', '-83.9196', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9088, 'Burlison', 2823, '38015', '901', '35.562648', '-89.831872', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9089, 'Gilt Edge', 2823, '38015', '901', '35.562648', '-89.831872', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9090, 'Randolph', 2823, '38015', '901', '35.562648', '-89.831872', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9091, 'Dyersburg', 2823, '38024', '731', '36.039292', '-89.452616', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9092, 'Ripley', 2823, '38063', '731', '35.73882', '-89.67535', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9093, 'Mem', 2823, '38124', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9094, 'Memphis', 2823, '38124', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9095, 'Mphs', 2823, '38124', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9096, 'Memphis', 2823, '38163', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9097, 'Univ Of Tn', 2823, '38163', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9098, 'University Of Tn', 2823, '38163', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9099, 'Memphis', 2823, '38167', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9100, 'Germantown', 2823, '38183', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9101, 'Memphis', 2823, '38188', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9102, 'Natl Customer Support Ctr', 2823, '38188', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9103, 'Memphis', 2823, '38190', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9104, 'Kenton', 2823, '38233', '731', '36.203748', '-89.033231', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9105, 'Masonhall', 2823, '38233', '731', '36.203748', '-89.033231', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9106, 'Paris', 2823, '38242', '731', '36.30401', '-88.378118', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9107, 'Springville', 2823, '38256', '731', '36.29863', '-88.150865', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9108, 'Hollow Rock', 2823, '38342', '731', '36.084852', '-88.294416', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9109, 'Medon', 2823, '38356', '731', '35.45019', '-88.907157', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9110, 'Savannah', 2823, '38372', '731', '35.211786', '-88.151844', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9111, 'Scotts Hill', 2823, '38374', '731', '35.505786', '-88.237952', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9112, 'Toone', 2823, '38381', '731', '35.355939', '-88.964744', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9113, 'Ardmore', 2823, '38449', '931', '35.063252', '-86.852322', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9114, 'Dellrose', 2823, '38449', '931', '35.063252', '-86.852322', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9115, 'Culleoka', 2823, '38451', '931', '35.455504', '-87.01687', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9116, 'Primm Springs', 2823, '38476', '615', '35.835775', '-87.223604', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9117, 'Summertown', 2823, '38483', '931', '35.433166', '-87.324004', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9118, 'Byrdstown', 2823, '38549', '931', '36.534896', '-85.164536', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9119, 'Celina', 2823, '38551', '931', '36.539456', '-85.458461', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9120, 'Crossville', 2823, '38558', '931', '36.020614', '-84.856722', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9121, 'Crossvl', 2823, '38558', '931', '36.020614', '-84.856722', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9122, 'Crossvle', 2823, '38558', '931', '36.020614', '-84.856722', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9123, 'Fairfield', 2823, '38558', '931', '36.020614', '-84.856722', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9124, 'Nashville', 2823, '37227', '615', '36.1656', '-86.7845', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9125, 'Nashvl', 2823, '37227', '615', '36.1656', '-86.7845', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9126, 'Nashvle', 2823, '37227', '615', '36.1656', '-86.7845', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9127, 'Nashville', 2823, '37240', '615', '36.146787', '-86.803816', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9128, 'Vanderbilt University', 2823, '37240', '615', '36.146787', '-86.803816', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9129, 'Nashville', 2823, '37241', '615', '36.1656', '-86.7845', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9130, 'Regions Bank', 2823, '37241', '615', '36.1656', '-86.7845', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9131, 'Nashville', 2823, '37243', '615', '36.1623', '-86.7847', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9132, 'Nashvl', 2823, '37243', '615', '36.1623', '-86.7847', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9133, 'Nashvle', 2823, '37243', '615', '36.1623', '-86.7847', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9134, 'Tn State Government', 2823, '37243', '615', '36.1623', '-86.7847', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9135, 'Ducktown', 2823, '37326', '423', '35.027607', '-84.374518', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9136, 'Hixson', 2823, '37343', '423', '35.170628', '-85.204475', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9137, 'Normandy', 2823, '37360', '931', '35.44855', '-86.2479', '2018-11-29 04:50:39', '2018-11-29 04:50:39');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(9138, 'Saint Andrews', 2823, '37375', '931', '35.157158', '-85.893463', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9139, 'Sewanee', 2823, '37375', '931', '35.157158', '-85.893463', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9140, 'Chattanooga', 2823, '37407', '423', '35.003958', '-85.289421', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9141, 'Bristol', 2823, '37625', '423', '36.595', '-82.1889', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9142, 'Elizabethton', 2823, '37644', '423', '36.3489', '-82.2106', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9143, 'Jonesboro', 2823, '37659', '423', '36.285561', '-82.472923', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9144, 'Jonesborough', 2823, '37659', '423', '36.285561', '-82.472923', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9145, 'Trade', 2823, '37691', '423', '36.373431', '-81.749464', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9146, 'Bulls Gap', 2823, '37711', '423', '36.281044', '-83.025312', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9147, 'Del Rio', 2823, '37727', '423', '35.881468', '-83.011838', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9148, 'Baileyton', 2823, '37745', '423', '36.271671', '-82.83276', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9149, 'Greeneville', 2823, '37745', '423', '36.271671', '-82.83276', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9150, 'Tusculum', 2823, '37745', '423', '36.271671', '-82.83276', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9151, 'Midway', 2823, '37809', '423', '36.154266', '-83.032012', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9152, 'Mohawk', 2823, '37810', '423', '36.17923', '-83.107332', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9153, 'Parrottsville', 2823, '37843', '423', '36.020092', '-83.048654', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9154, 'Petros', 2823, '37845', '423', '36.085646', '-84.442727', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9155, 'Russellville', 2823, '37860', '423', '36.258768', '-83.182519', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9156, 'Pigeon Forge', 2823, '37876', '865', '35.853558', '-83.508443', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9157, 'Pittman Center', 2823, '37876', '865', '35.853558', '-83.508443', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9158, 'Pittman Ctr', 2823, '37876', '865', '35.853558', '-83.508443', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9159, 'Sevierville', 2823, '37876', '865', '35.853558', '-83.508443', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9160, 'Knoxville', 2823, '37909', '865', '35.945409', '-84.006636', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9161, 'Knoxville', 2823, '37912', '865', '36.009056', '-83.989551', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9162, 'First Tenn National Bank', 2823, '37995', '865', '35.9609', '-83.9206', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9163, 'Knoxville', 2823, '37995', '865', '35.9609', '-83.9206', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9164, 'Eads', 2823, '38028', '901', '35.178806', '-89.646747', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9165, 'Laconia', 2823, '38045', '901', '35.2811', '-89.2528', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9166, 'Newbern', 2823, '38059', '731', '36.110194', '-89.271566', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9167, 'Essary Springs', 2823, '38061', '731', '35.077836', '-88.76312', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9168, 'Pocahontas', 2823, '38061', '731', '35.077836', '-88.76312', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9169, 'Tiptonville', 2823, '38079', '731', '36.410992', '-89.442832', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9170, 'Mem', 2823, '38145', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9171, 'Memphis', 2823, '38145', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9172, 'Memphis Light Gas And Water', 2823, '38145', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9173, 'Mphs', 2823, '38145', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9174, 'Memphis', 2823, '38159', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9175, 'Regions Bank', 2823, '38159', '901', '35.1497', '-90.0487', '2018-11-29 04:50:39', '2018-11-29 04:50:39'),\n(9176, 'Memphis', 2823, '38161', '901', '35.1497', '-90.0487', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9177, 'Us Postal Inspect Srvc', 2823, '38161', '901', '35.1497', '-90.0487', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9178, 'Union City', 2823, '38261', '731', '36.416245', '-89.145516', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9179, 'Huntingdon', 2823, '38344', '731', '35.986638', '-88.44815', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9180, 'Leach', 2823, '38344', '731', '35.986638', '-88.44815', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9181, 'Huron', 2823, '38345', '731', '35.593538', '-88.50148', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9182, 'Spring Creek', 2823, '38378', '731', '35.764637', '-88.685398', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9183, 'Sugar Tree', 2823, '38380', '731', '35.789998', '-88.034143', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9184, 'Prospect', 2823, '38477', '931', '35.064348', '-87.018038', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9185, 'Pulaski', 2823, '38478', '931', '35.233059', '-87.019128', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9186, 'Brush Creek', 2823, '38547', '615', '36.161954', '-86.0134', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9187, 'Elmwood', 2823, '38560', '615', '36.22335', '-85.870307', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9188, 'Gordonsville', 2823, '38563', '615', '36.204888', '-86.002252', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9189, 'New Middleton', 2823, '38563', '615', '36.204888', '-86.002252', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9190, 'Pall Mall', 2823, '38577', '931', '36.5561', '-84.92526', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9191, 'Cedar Hill', 2823, '37032', '615', '36.536694', '-87.025776', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9192, 'Cottontown', 2823, '37048', '615', '36.488865', '-86.586942', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9193, 'Walnut Grove', 2823, '37048', '615', '36.488865', '-86.586942', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9194, 'Cmbrlnd Frnce', 2823, '37051', '615', '36.295984', '-87.42216', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9195, 'Cumberland Furnace', 2823, '37051', '615', '36.295984', '-87.42216', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9196, 'Franklin', 2823, '37065', '615', '35.9253', '-86.8688', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9197, 'Gallatin', 2823, '37066', '615', '36.388013', '-86.46087', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9198, 'Franklin', 2823, '37067', '615', '35.908356', '-86.777932', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9199, 'La Fayette', 2823, '37083', '615', '36.530367', '-86.005844', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9200, 'Lafayette', 2823, '37083', '615', '36.530367', '-86.005844', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9201, 'Madison', 2823, '37115', '615', '36.255363', '-86.69827', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9202, 'Arrington', 2823, '37014', '615', '35.873684', '-86.653925', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9203, 'Triune', 2823, '37014', '615', '35.873684', '-86.653925', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9204, 'Ashland City', 2823, '37015', '615', '36.289526', '-87.066014', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9205, 'Beechgrove', 2823, '37018', '931', '35.64616', '-86.192703', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9206, 'Castalian Spg', 2823, '37031', '615', '36.373984', '-86.291926', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9207, 'Castalian Springs', 2823, '37031', '615', '36.373984', '-86.291926', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9208, 'Castalin Spgs', 2823, '37031', '615', '36.373984', '-86.291926', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9209, 'Cumberland City', 2823, '37050', '931', '36.367817', '-87.627119', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9210, 'Cumberlnd Cty', 2823, '37050', '931', '36.367817', '-87.627119', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9211, 'Franklin', 2823, '37068', '615', '35.9253', '-86.8688', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9212, 'Kingston Spgs', 2823, '37082', '615', '36.086609', '-87.110685', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9213, 'Kingston Springs', 2823, '37082', '615', '36.086609', '-87.110685', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9214, 'Mc Ewen', 2823, '37101', '931', '36.049196', '-87.651752', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9215, 'Fairfield Glade', 2823, '38558', '931', '36.020614', '-84.856722', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9216, 'Fairfld Glade', 2823, '38558', '931', '36.020614', '-84.856722', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9217, 'Hickman', 2823, '38567', '615', '36.131452', '-85.919689', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9218, 'Brentwood', 2823, '37024', '615', '36.0347', '-86.7836', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9219, 'Clarksville', 2823, '37043', '931', '36.503322', '-87.231542', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9220, 'Fredonia', 2823, '37043', '931', '36.503322', '-87.231542', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9221, 'Hickory Point', 2823, '37043', '931', '36.503322', '-87.231542', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9222, 'Hilldale', 2823, '37043', '931', '36.503322', '-87.231542', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9223, 'Dixon Springs', 2823, '37057', '615', '36.401002', '-86.022788', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9224, 'Hendersonville', 2823, '37075', '615', '36.34544', '-86.601676', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9225, 'Hendersonvlle', 2823, '37075', '615', '36.34544', '-86.601676', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9226, 'Hermitage', 2823, '37076', '615', '36.143122', '-86.589654', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9227, 'Centertown', 2823, '37110', '931', '35.68588', '-85.763772', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9228, 'Mc Minnville', 2823, '37110', '931', '35.68588', '-85.763772', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9229, 'Mcminnville', 2823, '37110', '931', '35.68588', '-85.763772', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9230, 'Only', 2823, '37140', '931', '35.866852', '-87.652848', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9231, 'Pegram', 2823, '37143', '615', '36.127501', '-87.031757', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9232, 'Spring Hill', 2823, '37174', '931', '35.718127', '-86.892252', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9233, 'Stewart', 2823, '37175', '931', '36.333554', '-87.887242', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9234, 'Woodbury', 2823, '37190', '615', '35.834932', '-86.038726', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9235, 'Nashville', 2823, '37242', '615', '36.1663', '-86.7798', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9236, 'Tn Dept Revenue', 2823, '37242', '615', '36.1663', '-86.7798', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9237, 'Dunlap', 2823, '37327', '423', '35.404718', '-85.415321', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9238, 'Guild', 2823, '37340', '423', '35.028788', '-85.517934', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9239, 'Harrison', 2823, '37341', '423', '35.21521', '-85.086251', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9240, 'Mulberry', 2823, '37359', '931', '35.199068', '-86.417083', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9241, 'Sequatchie', 2823, '37374', '423', '35.164698', '-85.66136', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9242, 'Signal Mountain', 2823, '37377', '423', '35.185758', '-85.327968', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9243, 'Signal Mtn', 2823, '37377', '423', '35.185758', '-85.327968', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9244, 'Walden', 2823, '37377', '423', '35.185758', '-85.327968', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9245, 'Chattanooga', 2823, '37408', '423', '35.029576', '-85.309118', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9246, 'Chattanooga', 2823, '37410', '423', '35.004602', '-85.313587', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9247, 'Chatt', 2823, '37424', '423', '35.0457', '-85.3094', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9248, 'Chatta', 2823, '37424', '423', '35.0457', '-85.3094', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9249, 'Chattanooga', 2823, '37424', '423', '35.0457', '-85.3094', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9250, 'Chickamauga', 2823, '37424', '423', '35.0457', '-85.3094', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9251, 'Chuckey', 2823, '37641', '423', '36.225288', '-82.65495', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9252, 'Chucky', 2823, '37641', '423', '36.225288', '-82.65495', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9253, 'Church Hill', 2823, '37642', '423', '36.493192', '-82.730405', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9254, 'Elizabethton', 2823, '37643', '423', '36.366512', '-82.118519', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9255, 'Hampton', 2823, '37658', '423', '36.25314', '-82.170356', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9256, 'Bean Station', 2823, '37708', '865', '36.32834', '-83.34478', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9257, 'Tate Springs', 2823, '37708', '865', '36.32834', '-83.34478', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9258, 'Briceville', 2823, '37710', '865', '36.155942', '-84.304724', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9259, 'Devonia', 2823, '37710', '865', '36.155942', '-84.304724', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9260, 'Dandridge', 2823, '37725', '865', '35.991886', '-83.421049', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9261, 'Greenback', 2823, '37742', '865', '35.67758', '-84.177082', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9262, 'Lowland', 2823, '37778', '423', '36.154838', '-83.256716', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9263, 'Norris', 2823, '37828', '865', '36.198188', '-84.067146', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9264, 'Happy Valley', 2823, '37878', '865', '35.572472', '-83.981305', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9265, 'Tallassee', 2823, '37878', '865', '35.572472', '-83.981305', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9266, 'Braden', 2823, '38010', '901', '35.3778', '-89.5627', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9267, 'Brighton', 2823, '38011', '901', '35.461209', '-89.746434', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9268, 'Collierville', 2823, '38027', '901', '35.0418', '-89.6647', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9269, 'Colliervl', 2823, '38027', '901', '35.0418', '-89.6647', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9270, 'Colliervle', 2823, '38027', '901', '35.0418', '-89.6647', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9271, 'Fisherville', 2823, '38027', '901', '35.0418', '-89.6647', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9272, 'Piperton', 2823, '38027', '901', '35.0418', '-89.6647', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9273, 'Ellendale', 2823, '38029', '901', '35.2328', '-89.8222', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9274, 'Hickory Valley', 2823, '38042', '731', '35.14171', '-89.123635', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9275, 'Hickory Vly', 2823, '38042', '731', '35.14171', '-89.123635', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9276, 'Oakland', 2823, '38060', '901', '35.219878', '-89.50055', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9277, 'Somerville', 2823, '38060', '901', '35.219878', '-89.50055', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9278, 'Moscow', 2823, '38076', '901', '35.143836', '-89.422686', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9279, 'Oakland', 2823, '38076', '901', '35.143836', '-89.422686', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9280, 'Rossville', 2823, '38076', '901', '35.143836', '-89.422686', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9281, 'Williston', 2823, '38076', '901', '35.143836', '-89.422686', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9282, 'Mem', 2823, '38109', '901', '35.053833', '-90.172764', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9283, 'Memphis', 2823, '38109', '901', '35.053833', '-90.172764', '2018-11-29 04:50:40', '2018-11-29 04:50:40'),\n(9284, 'Mphs', 2823, '38109', '901', '35.053833', '-90.172764', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9285, 'Mem', 2823, '38111', '901', '35.110118', '-89.948116', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9286, 'Memphis', 2823, '38111', '901', '35.110118', '-89.948116', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9287, 'Mphs', 2823, '38111', '901', '35.110118', '-89.948116', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9288, 'Mem', 2823, '38112', '901', '35.144974', '-89.981528', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9289, 'Memphis', 2823, '38112', '901', '35.144974', '-89.981528', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9290, 'Mphs', 2823, '38112', '901', '35.144974', '-89.981528', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9291, 'Mem', 2823, '38128', '901', '35.22217', '-89.922165', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9292, 'Memphis', 2823, '38128', '901', '35.22217', '-89.922165', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9293, 'Mphs', 2823, '38128', '901', '35.22217', '-89.922165', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9294, 'Federal Express', 2823, '38194', '901', '35.1497', '-90.0487', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9295, 'Memphis', 2823, '38194', '901', '35.1497', '-90.0487', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9296, 'Dukedom', 2823, '38226', '731', '36.468646', '-88.672167', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9297, 'Gleason', 2823, '38229', '731', '36.230432', '-88.609697', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9298, 'Adamsville', 2823, '38310', '731', '35.26119', '-88.391976', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9299, 'Bath Springs', 2823, '38311', '731', '35.444661', '-88.086905', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9300, 'Beech Bluff', 2823, '38313', '731', '35.592512', '-88.637998', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9301, 'Darden', 2823, '38328', '731', '35.664276', '-88.20603', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9302, 'Decaturville', 2823, '38329', '731', '35.539006', '-88.10875', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9303, 'Dyer', 2823, '38330', '731', '36.07257', '-89.031479', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9304, 'Morris Chapel', 2823, '38361', '731', '35.31963', '-88.306619', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9305, 'Silerton', 2823, '38377', '731', '35.3403', '-88.8058', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9306, 'Stantonville', 2823, '38379', '731', '35.163988', '-88.432284', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9307, 'Chewalla', 2823, '38393', '731', '35.0133', '-88.6476', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9308, 'Goodspring', 2823, '38460', '931', '35.106406', '-87.157423', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9309, 'Hohenwald', 2823, '38462', '931', '35.525792', '-87.545036', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9310, 'Kimmins', 2823, '38462', '931', '35.525792', '-87.545036', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9311, 'Columbia', 2823, '38402', '931', '35.6152', '-87.0353', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9312, 'Cypress Inn', 2823, '38452', '931', '35.07525', '-87.790824', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9313, 'Dellrose', 2823, '38453', '931', '35.12179', '-86.802732', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9314, 'Elkton', 2823, '38455', '931', '35.0525', '-86.8896', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9315, 'Leoma', 2823, '38468', '931', '35.137042', '-87.291889', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9316, 'Loretto', 2823, '38469', '931', '35.085176', '-87.432246', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9317, 'Lutts', 2823, '38471', '931', '35.113456', '-87.901464', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9318, 'Williamsport', 2823, '38487', '931', '35.697433', '-87.236854', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9319, 'Taft', 2823, '38488', '931', '35.049442', '-86.694993', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9320, 'Milton', 2823, '37118', '615', '35.932461', '-86.178542', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9321, 'Mboro', 2823, '37131', '615', '35.8457', '-86.3903', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9322, 'Murfreesboro', 2823, '37131', '615', '35.8457', '-86.3903', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9323, 'Murfreesbr', 2823, '37131', '615', '35.8457', '-86.3903', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9324, 'State Farm Ins Co', 2823, '37131', '615', '35.8457', '-86.3903', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9325, 'Nolensville', 2823, '37135', '615', '35.934025', '-86.671852', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9326, 'Portland', 2823, '37148', '615', '36.55779', '-86.529361', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9327, 'Slayden', 2823, '37165', '615', '36.2968', '-87.4729', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9328, 'Nashville', 2823, '37218', '615', '36.199844', '-86.896742', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9329, 'Nashville', 2823, '37232', '615', '36.1656', '-86.7845', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9330, 'Vanderbilt Hospital', 2823, '37232', '615', '36.1656', '-86.7845', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9331, 'Nashville', 2823, '37235', '615', '36.1649', '-86.7814', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9332, 'Vanderbilt University', 2823, '37235', '615', '36.1649', '-86.7814', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9333, 'American General', 2823, '37250', '615', '36.1656', '-86.7845', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9334, 'Nashville', 2823, '37250', '615', '36.1656', '-86.7845', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9335, 'Suntrust Bank', 2823, '37250', '615', '36.1656', '-86.7845', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9336, 'Collegedale', 2823, '37315', '423', '35.0534', '-85.0503', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9337, 'Copperhill', 2823, '37317', '423', '35.053622', '-84.446332', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9338, 'Postelle', 2823, '37317', '423', '35.053622', '-84.446332', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9339, 'Evensville', 2823, '37332', '423', '35.592028', '-84.933476', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9340, 'Flintville', 2823, '37335', '931', '35.068574', '-86.416171', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9341, 'Lookout Mountain', 2823, '37350', '423', '34.997442', '-85.35303', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9342, 'Lookout Mtn', 2823, '37350', '423', '34.997442', '-85.35303', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9343, 'Lupton City', 2823, '37351', '423', '35.103807', '-85.264311', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9344, 'Sewanee', 2823, '37383', '931', '35.206633', '-85.919158', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9345, 'University Of The South', 2823, '37383', '931', '35.206633', '-85.919158', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9346, 'Soddy Daisy', 2823, '37384', '423', '35.2636', '-85.1756', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9347, 'Tellico Plains', 2823, '37385', '423', '35.32188', '-84.253788', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9348, 'Tellico Plns', 2823, '37385', '423', '35.32188', '-84.253788', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9349, 'Chattanooga', 2823, '37416', '423', '35.109908', '-85.184274', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9350, 'Chattanooga', 2823, '37450', '423', '35.0459', '-85.3097', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9351, 'Jc', 2823, '37601', '423', '36.320002', '-82.330882', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9352, 'Johnson City', 2823, '37601', '423', '36.320002', '-82.330882', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9353, 'Blountville', 2823, '37617', '423', '36.526691', '-82.382048', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9354, 'Bluff City', 2823, '37618', '423', '36.466787', '-82.201689', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9355, 'Erwin', 2823, '37650', '423', '36.091722', '-82.471126', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9356, 'Mountain City', 2823, '37683', '423', '36.451464', '-81.838376', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9357, 'Clinton', 2823, '37716', '865', '36.088804', '-84.171799', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9358, 'Lancing', 2823, '37770', '423', '36.153755', '-84.659727', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9359, 'Maryville', 2823, '37801', '865', '35.678487', '-84.089475', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9360, 'Newcomb', 2823, '37819', '423', '36.544351', '-84.210832', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9361, 'New Market', 2823, '37820', '865', '36.090014', '-83.559928', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9362, 'Glen Mary', 2823, '37852', '423', '36.331207', '-84.595768', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9363, 'Robbins', 2823, '37852', '423', '36.331207', '-84.595768', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9364, 'Sneedville', 2823, '37869', '423', '36.510265', '-83.286805', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9365, 'Vonore', 2823, '37885', '423', '35.518078', '-84.126156', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9366, 'Knoxville', 2823, '37917', '865', '35.999531', '-83.91189', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9367, 'Kimberlin Heights', 2823, '37920', '865', '35.904504', '-83.843877', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9368, 'Kimberlin Hgt', 2823, '37920', '865', '35.904504', '-83.843877', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9369, 'Knoxville', 2823, '37920', '865', '35.904504', '-83.843877', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9370, 'Arlington', 2823, '38002', '901', '35.2922', '-89.719908', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9371, 'Lakeland', 2823, '38002', '901', '35.2922', '-89.719908', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9372, 'Friendship', 2823, '38034', '731', '35.909886', '-89.233442', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9373, 'Gallaway', 2823, '38036', '901', '35.317898', '-89.623274', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9374, 'Middleton', 2823, '38052', '731', '35.104529', '-88.908466', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9375, 'Barretville', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9376, 'Cloverdale', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9377, 'Cuba', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9378, 'Dixonville', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9379, 'East Acres', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9380, 'Kerrville', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9381, 'Locke', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9382, 'Lucy', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9383, 'Millington', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9384, 'Quito', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9385, 'Rosemark', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9386, 'Wilkinsville', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9387, 'Woodstock', 2823, '38053', '901', '35.349453', '-89.899617', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9388, 'Saulsbury', 2823, '38067', '731', '35.097476', '-89.04647', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9389, 'Memphis', 2823, '38103', '901', '35.15684', '-90.06845', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9390, 'Mem', 2823, '38117', '901', '35.115055', '-89.907013', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9391, 'Memphis', 2823, '38117', '901', '35.115055', '-89.907013', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9392, 'Mphs', 2823, '38117', '901', '35.115055', '-89.907013', '2018-11-29 04:50:41', '2018-11-29 04:50:41'),\n(9393, 'Mem', 2823, '38118', '901', '35.03883', '-89.927568', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9394, 'Memphis', 2823, '38118', '901', '35.03883', '-89.927568', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9395, 'Mphs', 2823, '38118', '901', '35.03883', '-89.927568', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9396, 'Mem', 2823, '38120', '901', '35.124398', '-89.842308', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9397, 'Memphis', 2823, '38120', '901', '35.124398', '-89.842308', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9398, 'Mphs', 2823, '38120', '901', '35.124398', '-89.842308', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9399, 'Bartlett', 2823, '38134', '901', '35.177129', '-89.862942', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9400, 'Mem', 2823, '38134', '901', '35.177129', '-89.862942', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9401, 'Memphis', 2823, '38134', '901', '35.177129', '-89.862942', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9402, 'Mphs', 2823, '38134', '901', '35.177129', '-89.862942', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9403, 'Mem', 2823, '38187', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9404, 'Memphis', 2823, '38187', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9405, 'Mphs', 2823, '38187', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9406, 'Mc Kenzie', 2823, '38201', '731', '36.135985', '-88.51342', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9407, 'Mc Lemoresville', 2823, '38235', '731', '35.999792', '-88.555004', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9408, 'Mc Lemoresvle', 2823, '38235', '731', '35.999792', '-88.555004', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9409, 'Mclemoresville', 2823, '38235', '731', '35.999792', '-88.555004', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9410, 'Mansfield', 2823, '38236', '731', '36.174185', '-88.27075', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9411, 'Rives', 2823, '38253', '731', '36.305936', '-89.056222', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9412, 'Samburg', 2823, '38254', '731', '36.3799', '-89.3535', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9413, 'Woodland Mills', 2823, '38271', '731', '36.4866', '-89.1155', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9414, 'Woodland Mls', 2823, '38271', '731', '36.4866', '-89.1155', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9415, 'Jackson', 2823, '38302', '731', '35.6147', '-88.8136', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9416, 'Gadsden', 2823, '38337', '731', '35.77414', '-89.009972', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9417, 'Luray', 2823, '38352', '731', '35.55151', '-88.536154', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9418, 'Sardis', 2823, '38371', '731', '35.427476', '-88.290644', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9419, 'Parker Crossroads', 2823, '38388', '731', '35.778902', '-88.328817', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9420, 'Parker Xroads', 2823, '38388', '731', '35.778902', '-88.328817', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9421, 'Wildersville', 2823, '38388', '731', '35.778902', '-88.328817', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9422, 'Lake City', 2823, '37769', '865', '36.21991', '-84.154913', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9423, 'Mosheim', 2823, '37818', '423', '36.185916', '-82.977024', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9424, 'Rockford', 2823, '37853', '865', '35.840276', '-83.900382', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9425, 'Wartburg', 2823, '37887', '423', '36.106764', '-84.556618', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9426, 'Knoxville', 2823, '37902', '865', '35.962918', '-83.9206', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9427, 'Knoxville', 2823, '37918', '865', '36.057491', '-83.914102', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9428, 'Knoxville', 2823, '37919', '865', '35.918284', '-83.999908', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9429, 'Concord', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9430, 'Concord Farr', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9431, 'Concord Farragut', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9432, 'Farragut', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9433, 'Knox', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9434, 'Knoxville', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9435, 'Knx', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9436, 'Kville', 2823, '37934', '865', '35.870594', '-84.180338', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9437, 'Alamo', 2823, '38001', '731', '35.821558', '-89.19', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9438, 'Collierville', 2823, '38017', '901', '35.091114', '-89.658597', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9439, 'Fisherville', 2823, '38017', '901', '35.091114', '-89.658597', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9440, 'Piperton', 2823, '38017', '901', '35.091114', '-89.658597', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9441, 'Cordova', 2823, '38018', '901', '35.13656', '-89.773294', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9442, 'Covington', 2823, '38019', '901', '35.539854', '-89.63873', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9443, 'Garland', 2823, '38019', '901', '35.539854', '-89.63873', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9444, 'Gates', 2823, '38037', '731', '35.801208', '-89.406054', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9445, 'Millington', 2823, '38054', '901', '35.3353', '-89.8776', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9446, 'Naval Hospital', 2823, '38054', '901', '35.3353', '-89.8776', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9447, 'Stanton', 2823, '38069', '731', '35.470202', '-89.329904', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9448, 'Mem', 2823, '38104', '901', '35.135619', '-90.001877', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9449, 'Memphis', 2823, '38104', '901', '35.135619', '-90.001877', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9450, 'Mphs', 2823, '38104', '901', '35.135619', '-90.001877', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9451, 'Mem', 2823, '38151', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9452, 'Memphis', 2823, '38151', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9453, 'Mphs', 2823, '38151', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9454, 'Schering Plough Inc', 2823, '38151', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9455, 'Mem', 2823, '38168', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9456, 'Memphis', 2823, '38168', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9457, 'Mphs', 2823, '38168', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9458, 'Bartlett', 2823, '38184', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9459, 'Mem', 2823, '38184', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9460, 'Memphis', 2823, '38184', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9461, 'Mphs', 2823, '38184', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9462, 'Memphis', 2823, '38186', '901', '35.1497', '-90.0487', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9463, 'Big Sandy', 2823, '38221', '731', '36.272941', '-88.045588', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9464, 'Martin', 2823, '38238', '731', '36.3431', '-88.863376', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9465, 'University Of Tn', 2823, '38238', '731', '36.3431', '-88.863376', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9466, 'Puryear', 2823, '38251', '731', '36.427912', '-88.352414', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9467, 'Jackson', 2823, '38301', '731', '35.58754', '-88.859124', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9468, 'Jackson', 2823, '38303', '731', '35.6147', '-88.8136', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9469, 'Buena Vista', 2823, '38318', '731', '35.958214', '-88.257179', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9470, 'Camden', 2823, '38320', '731', '36.063468', '-88.09747', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9471, 'Cedar Grove', 2823, '38321', '731', '35.841001', '-88.525342', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9472, 'Westport', 2823, '38387', '731', '35.874613', '-88.277636', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9473, 'Duck River', 2823, '38454', '931', '35.728222', '-87.344456', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9474, 'Waynesboro', 2823, '38485', '931', '35.329168', '-87.782055', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9475, 'Westpoint', 2823, '38486', '931', '35.1523', '-87.548434', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9476, 'Chestnut Mnd', 2823, '38552', '615', '36.198449', '-85.822424', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9477, 'Chestnut Mound', 2823, '38552', '615', '36.198449', '-85.822424', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9478, 'Clarkrange', 2823, '38553', '931', '36.207976', '-85.013582', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9479, 'Crawford', 2823, '38554', '931', '36.240073', '-85.17768', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9480, 'Spencer', 2823, '38585', '931', '35.68486', '-85.408968', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9481, 'Wilder', 2823, '38589', '931', '36.287264', '-85.076126', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9482, 'Copperas Cove', 2824, '76522', '254', '31.263364', '-98.087825', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9483, 'Topsey', 2824, '76522', '254', '31.263364', '-98.087825', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9484, 'Florence', 2824, '76527', '254', '30.829316', '-97.799883', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9485, 'Killeen', 2824, '76547', '254', '31.1169', '-97.7278', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9486, 'Bremond', 2824, '76629', '254', '31.124844', '-96.658138', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9487, 'Hammond', 2824, '76629', '254', '31.124844', '-96.658138', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9488, 'Petteway', 2824, '76629', '254', '31.124844', '-96.658138', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9489, 'Tidwell Prairie', 2824, '76629', '254', '31.124844', '-96.658138', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9490, 'Chat', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9491, 'Hillsboro', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9492, 'Lovelace', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9493, 'Peoria', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9494, 'Vaughan', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9495, 'Winslow', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9496, 'Woodbury', 2824, '76645', '254', '32.027813', '-97.104478', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9497, 'Marlin', 2824, '76661', '254', '31.318565', '-96.857778', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9498, 'Mcclanahan', 2824, '76661', '254', '31.318565', '-96.857778', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9499, 'Rocky Hill', 2824, '76661', '254', '31.318565', '-96.857778', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9500, 'Iverson', 2824, '76670', '972', '32.16321', '-96.939835', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9501, 'Milford', 2824, '76670', '972', '32.16321', '-96.939835', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9502, 'Waco', 2824, '76702', '254', '31.5495', '-97.1464', '2018-11-29 04:50:42', '2018-11-29 04:50:42'),\n(9503, 'Beverly Hills', 2824, '76711', '254', '31.516348', '-97.154841', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9504, 'Waco', 2824, '76711', '254', '31.516348', '-97.154841', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9505, 'Castell', 2824, '76831', '915', '30.71276', '-98.919033', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9506, 'Doole', 2824, '76836', '325', '31.417242', '-99.536827', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9507, 'Longview', 2824, '75601', '903', '32.504504', '-94.71446', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9508, 'Longview Heights', 2824, '75601', '903', '32.504504', '-94.71446', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9509, 'Tenneryville', 2824, '75601', '903', '32.504504', '-94.71446', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9510, 'Carthage', 2824, '75633', '903', '32.10584', '-94.320979', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9511, 'Cox', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9512, 'Delrose', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9513, 'East Mountain', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9514, 'Enoch', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9515, 'Ewell', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9516, 'Gilmer', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9517, 'Graceton', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9518, 'Grice', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9519, 'Indian Rock', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9520, 'Kelsey', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9521, 'Latch', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9522, 'Lone Mountain', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9523, 'Mings Chapel', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9524, 'New Mountain', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9525, 'Perryville', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9526, 'Rosewood', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9527, 'Sand Hill', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9528, 'Seven Pines', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9529, 'Simmonsville', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9530, 'Soules Chapel', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9531, 'Stamps', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9532, 'Suffolk', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9533, 'Union Hill', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9534, 'Willow Oak', 2824, '75644', '903', '32.774854', '-94.989067', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9535, 'Harleton', 2824, '75651', '903', '32.671326', '-94.501906', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9536, 'Henderson', 2824, '75653', '903', '32.1531', '-94.7993', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9537, 'Latex', 2824, '75685', '903', '32.3555', '-94.0955', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9538, 'Panola', 2824, '75685', '903', '32.3555', '-94.0955', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9539, 'St Louis', 2824, '75701', '903', '32.321252', '-95.290824', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9540, 'Tyler', 2824, '75701', '903', '32.321252', '-95.290824', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9541, 'Athens', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9542, 'Baxter', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9543, 'Cardinal Hall', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9544, 'Cardinal Sta', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9545, 'Crescent Heights', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9546, 'Tri Cities', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9547, 'Walton', 2824, '75751', '903', '32.14803', '-95.884116', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9548, 'Leagueville', 2824, '75778', '903', '32.30912', '-95.720675', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9549, 'Murchison', 2824, '75778', '903', '32.30912', '-95.720675', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9550, 'Opelika', 2824, '75778', '903', '32.30912', '-95.720675', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9551, 'Palestine', 2824, '75803', '903', '31.862971', '-95.652617', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9552, 'Centerview', 2824, '75833', '903', '31.262549', '-95.878335', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9553, 'Centerville', 2824, '75833', '903', '31.262549', '-95.878335', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9554, 'Davisville', 2824, '75833', '903', '31.262549', '-95.878335', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9555, 'Guys Store', 2824, '75833', '903', '31.262549', '-95.878335', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9556, 'Middleton', 2824, '75833', '903', '31.262549', '-95.878335', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9557, 'Ratcliff', 2824, '75858', '936', '31.383331', '-95.061856', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9558, 'Carlisle', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9559, 'Chita', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9560, 'Glendale', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9561, 'Kittrell', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9562, 'Pagoda', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9563, 'Sebastopol', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9564, 'Trinity', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9565, 'Westville', 2824, '75862', '936', '31.000118', '-95.368916', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9566, 'Apple Springs', 2824, '75926', '936', '31.280294', '-94.968216', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9567, 'Nigton', 2824, '75926', '936', '31.280294', '-94.968216', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9568, 'North Cedar', 2824, '75926', '936', '31.280294', '-94.968216', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9569, 'Bon Wier', 2824, '75928', '409', '30.678018', '-93.740764', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9570, 'Campti', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9571, 'Center', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9572, 'Choice', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9573, 'East Liberty', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9574, 'Good Hope', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9575, 'Grigsby', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9576, 'James', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9577, 'Jericho', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9578, 'Neuville', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(9579, 'Short', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9580, 'Waterman', 2824, '75935', '936', '31.758638', '-94.184974', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9581, 'Chireno', 2824, '75937', '936', '31.403778', '-94.419411', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9582, 'Etoile', 2824, '75944', '936', '31.361466', '-94.406832', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9583, 'Central', 2824, '75969', '936', '31.425278', '-94.865866', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9584, 'Pollok', 2824, '75969', '936', '31.425278', '-94.865866', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9585, 'Redtown', 2824, '75969', '936', '31.425278', '-94.865866', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9586, 'Arlington', 2824, '76010', '817', '32.724458', '-97.079386', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9587, 'Arlington', 2824, '76012', '817', '32.764106', '-97.146875', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9588, 'Briaroaks', 2824, '76028', '817', '32.531012', '-97.306059', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9589, 'Burleson', 2824, '76028', '817', '32.531012', '-97.306059', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9590, 'Cross Timber', 2824, '76028', '817', '32.531012', '-97.306059', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9591, 'Godley', 2824, '76044', '817', '32.435898', '-97.535764', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9592, 'Weatherford', 2824, '76085', '817', '32.838076', '-97.691692', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9593, 'Arlington', 2824, '76094', '817', '32.7359', '-97.1076', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9594, 'Arlington', 2824, '76096', '214', '32.7359', '-97.1076', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9595, 'Forest Hill', 2824, '76119', '817', '32.694294', '-97.257996', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9596, 'Fort Worth', 2824, '76119', '817', '32.694294', '-97.257996', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9597, 'Ft Worth', 2824, '76119', '817', '32.694294', '-97.257996', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9598, 'Fort Worth', 2824, '76196', '817', '32.7254', '-97.3208', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9599, 'Ft Worth', 2824, '76196', '817', '32.7254', '-97.3208', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9600, 'Tarrant County Courthouse', 2824, '76196', '817', '32.7254', '-97.3208', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9601, 'Corinth', 2824, '76210', '940', '33.14514', '-97.08856', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9602, 'Denton', 2824, '76210', '940', '33.14514', '-97.08856', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9603, 'Argyle', 2824, '76226', '940', '33.115116', '-97.1625', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9604, 'Bartonville', 2824, '76226', '940', '33.115116', '-97.1625', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9605, 'Corral City', 2824, '76226', '940', '33.115116', '-97.1625', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9606, 'Lantana', 2824, '76226', '940', '33.115116', '-97.1625', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9607, 'Northlake', 2824, '76226', '940', '33.115116', '-97.1625', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9608, 'Bellevue', 2824, '76228', '940', '33.64113', '-98.200547', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9609, 'Greenwood', 2824, '76246', '940', '33.406954', '-97.471643', '2018-11-29 04:50:43', '2018-11-29 04:50:43'),\n(9610, 'Montague', 2824, '76251', '940', '33.658742', '-97.729494', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9611, 'Keller', 2824, '76262', '817', '33.010711', '-97.216288', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9612, 'Northlake', 2824, '76262', '817', '33.010711', '-97.216288', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9613, 'Roanoke', 2824, '76262', '817', '33.010711', '-97.216288', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9614, 'Trophy Club', 2824, '76262', '817', '33.010711', '-97.216288', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9615, 'Westlake', 2824, '76262', '817', '33.010711', '-97.216288', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9616, 'Dublin', 2824, '76446', '254', '31.940554', '-98.365384', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9617, 'Lingleville', 2824, '76446', '254', '31.940554', '-98.365384', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9618, 'Lipan', 2824, '76462', '254', '32.527871', '-98.016634', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9619, 'Putnam', 2824, '76469', '325', '32.390402', '-99.231734', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9620, 'Temple', 2824, '76503', '254', '31.0982', '-97.3427', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9621, 'Hamilton', 2824, '76531', '254', '31.683068', '-98.091046', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9622, 'Indian Gap', 2824, '76531', '254', '31.683068', '-98.091046', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9623, 'Shive', 2824, '76531', '254', '31.683068', '-98.091046', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9624, 'Holland', 2824, '76534', '254', '30.885858', '-97.35882', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9625, 'Sparks', 2824, '76534', '254', '30.885858', '-97.35882', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9626, 'Vilas', 2824, '76534', '254', '30.885858', '-97.35882', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9627, 'Pottsville', 2824, '76565', '254', '31.697839', '-98.364725', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9628, 'So Salt Lake', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9629, 'Ssl', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9630, 'Salt Lake City', 2825, '84116', '801', '40.80237', '-111.960214', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9631, 'Salt Lake Cty', 2825, '84116', '801', '40.80237', '-111.960214', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9632, 'Slc', 2825, '84116', '801', '40.80237', '-111.960214', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9633, 'Salt Lake City', 2825, '84125', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9634, 'Salt Lake Cty', 2825, '84125', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9635, 'Slc', 2825, '84125', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9636, 'Lds Hospital', 2825, '84143', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9637, 'Salt Lake City', 2825, '84143', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9638, 'Salt Lake Cty', 2825, '84143', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9639, 'Slc', 2825, '84143', '801', '40.7606', '-111.8903', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9640, 'Murray', 2825, '84157', '801', '40.6666', '-111.8875', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9641, 'Salt Lake City', 2825, '84157', '801', '40.6666', '-111.8875', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9642, 'Salt Lake Cty', 2825, '84157', '801', '40.6666', '-111.8875', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9643, 'Slc', 2825, '84157', '801', '40.6666', '-111.8875', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9644, 'Beeton', 2825, '84309', '435', '41.702892', '-112.07414', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9645, 'Deweyville', 2825, '84309', '435', '41.702892', '-112.07414', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9646, 'Hyde Park', 2825, '84318', '435', '41.802749', '-111.801751', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9647, 'Mendon', 2825, '84325', '435', '41.73202', '-111.99244', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9648, 'Petersboro', 2825, '84325', '435', '41.73202', '-111.99244', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9649, 'Ogden', 2825, '84409', '801', '41.2231', '-111.9732', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9650, 'Clawson', 2825, '84516', '435', '39.045907', '-110.981142', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9651, 'Byu', 2825, '84602', '801', '40.248749', '-111.649877', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9652, 'Provo', 2825, '84602', '801', '40.248749', '-111.649877', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9653, 'Fountain Green', 2825, '84632', '435', '39.641104', '-111.61712', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9654, 'Fountain Grn', 2825, '84632', '435', '39.641104', '-111.61712', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9655, 'Ftn Green', 2825, '84632', '435', '39.641104', '-111.61712', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9656, 'Mayfield', 2825, '84643', '435', '39.100698', '-111.656708', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9657, 'Boulder', 2825, '84716', '435', '37.847004', '-111.279463', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9658, 'Boulder Town', 2825, '84716', '435', '37.847004', '-111.279463', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9659, 'Hanksville', 2825, '84734', '435', '37.993834', '-110.724694', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9660, 'Big Water', 2825, '84741', '435', '37.271786', '-111.79956', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9661, 'Canyon Point', 2825, '84741', '435', '37.271786', '-111.79956', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9662, 'Glen Canyon', 2825, '84741', '435', '37.271786', '-111.79956', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9663, 'Kanab', 2825, '84741', '435', '37.271786', '-111.79956', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9664, 'Marysvale', 2825, '84750', '435', '38.41473', '-112.248678', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9665, 'Panguitch', 2825, '84759', '435', '37.843248', '-112.431807', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9666, 'Spry', 2825, '84759', '435', '37.843248', '-112.431807', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9667, 'Sevier', 2825, '84766', '435', '38.596723', '-112.364768', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9668, 'Caineville', 2825, '84775', '435', '38.330997', '-110.734926', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9669, 'Capitol Reef', 2825, '84775', '435', '38.330997', '-110.734926', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9670, 'Fruita', 2825, '84775', '435', '38.330997', '-110.734926', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9671, 'Torrey', 2825, '84775', '435', '38.330997', '-110.734926', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9672, 'Hildale', 2825, '84784', '435', '37.0889', '-113.2063', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9673, 'Cedar Fort', 2825, '84013', '801', '40.123248', '-111.993452', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9674, 'Cedar Valley', 2825, '84013', '801', '40.123248', '-111.993452', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9675, 'Fairfield', 2825, '84013', '801', '40.123248', '-111.993452', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9676, 'Garden City', 2825, '84028', '435', '41.905313', '-111.429149', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9677, 'Pickleville', 2825, '84028', '435', '41.905313', '-111.429149', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9678, 'Swan Creek', 2825, '84028', '435', '41.905313', '-111.429149', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9679, 'Cedar Pass', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9680, 'Eagle Mountain', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9681, 'Eagle Mtn', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9682, 'Lehi', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9683, 'Saratoga', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9684, 'Saratoga Spgs', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9685, 'Saratoga Springs', 2825, '84043', '801', '40.402096', '-111.878044', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9686, 'Green Lake', 2825, '84046', '435', '40.86898', '-109.703166', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9687, 'Manila', 2825, '84046', '435', '40.86898', '-109.703166', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9688, 'Sandy', 2825, '84094', '801', '40.569222', '-111.86246', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9689, 'White City', 2825, '84094', '801', '40.569222', '-111.86246', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9690, 'Daybreak', 2825, '84095', '801', '40.55938', '-111.982416', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9691, 'Riverton', 2825, '84095', '801', '40.55938', '-111.982416', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9692, 'S Jordan', 2825, '84095', '801', '40.55938', '-111.982416', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9693, 'South Jordan', 2825, '84095', '801', '40.55938', '-111.982416', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9694, 'Orem', 2825, '84097', '801', '40.297083', '-111.667674', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9695, 'Salt Lake City', 2825, '84112', '801', '40.765863', '-111.842092', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9696, 'Salt Lake Cty', 2825, '84112', '801', '40.765863', '-111.842092', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9697, 'Slc', 2825, '84112', '801', '40.765863', '-111.842092', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9698, 'Fort Douglas', 2825, '84113', '801', '40.770109', '-111.826697', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9699, 'Salt Lake City', 2825, '84113', '801', '40.770109', '-111.826697', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9700, 'Salt Lake Cty', 2825, '84113', '801', '40.770109', '-111.826697', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9701, 'Slc', 2825, '84113', '801', '40.770109', '-111.826697', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9702, 'Salt Lake City', 2825, '84129', '801', '40.640188', '-112.036911', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9703, 'Deer Mountain', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9704, 'Francis', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9705, 'Farmington', 2825, '84025', '801', '40.985566', '-111.89237', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9706, 'Syracuse', 2825, '84075', '801', '41.084049', '-112.078532', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9707, 'Millcreek', 2825, '84109', '801', '40.718909', '-111.714223', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9708, 'Salt Lake City', 2825, '84109', '801', '40.718909', '-111.714223', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9709, 'Salt Lake Cty', 2825, '84109', '801', '40.718909', '-111.714223', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9710, 'Slc', 2825, '84109', '801', '40.718909', '-111.714223', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9711, 'Salt Lake City', 2825, '84114', '801', '40.7789', '-111.8858', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9712, 'Salt Lake Cty', 2825, '84114', '801', '40.7789', '-111.8858', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9713, 'Slc', 2825, '84114', '801', '40.7789', '-111.8858', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9714, 'Kearns', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9715, 'Salt Lake City', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9716, 'Salt Lake Cty', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9717, 'Slc', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9718, 'Taylorsville', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9719, 'W Valley City', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9720, 'West Valley City', 2825, '84118', '801', '40.652906', '-112.015358', '2018-11-29 04:50:44', '2018-11-29 04:50:44'),\n(9721, 'Salt Lake City', 2825, '84132', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9722, 'Salt Lake Cty', 2825, '84132', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9723, 'Slc', 2825, '84132', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9724, 'University Medical Ctr', 2825, '84132', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9725, 'Salt Lake City', 2825, '84134', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9726, 'Salt Lake Cty', 2825, '84134', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9727, 'Slc', 2825, '84134', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9728, 'Utah State Tax Commission', 2825, '84134', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9729, 'Questar Gas Company', 2825, '84139', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9730, 'Salt Lake City', 2825, '84139', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9731, 'Salt Lake Cty', 2825, '84139', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9732, 'Slc', 2825, '84139', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9733, 'First Security Bank', 2825, '84141', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9734, 'Salt Lake City', 2825, '84141', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9735, 'Salt Lake Cty', 2825, '84141', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9736, 'Slc', 2825, '84141', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9737, 'Wells Fargo Bank', 2825, '84141', '801', '40.7606', '-111.8903', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9738, 'Corinne', 2825, '84307', '435', '41.399892', '-112.484946', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9739, 'Promontory', 2825, '84307', '435', '41.399892', '-112.484946', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9740, 'Defense Depot Ogden', 2825, '84407', '801', '41.2231', '-111.9732', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9741, 'Ogden', 2825, '84407', '801', '41.2231', '-111.9732', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9742, 'Cleveland', 2825, '84518', '435', '39.365209', '-110.878784', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9743, 'Centerville', 2825, '84014', '801', '40.937474', '-111.901555', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9744, 'Clearfield', 2825, '84016', '801', '41.1108', '-112.0254', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9745, 'Center Creek', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9746, 'Charleston', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9747, 'Daniel', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9748, 'Hailstone', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9749, 'Heber', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9750, 'Heber City', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9751, 'Independence', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9752, 'Keetley', 2825, '84032', '435', '40.289364', '-111.20957', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9753, 'Callao', 2825, '84034', '435', '40.202194', '-113.864857', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9754, 'Ibapah', 2825, '84034', '435', '40.202194', '-113.864857', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9755, 'Layton', 2825, '84041', '801', '41.050094', '-112.034', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9756, 'West Layton', 2825, '84041', '801', '41.050094', '-112.034', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9757, 'Randolph', 2825, '84064', '435', '41.64988', '-111.248012', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9758, 'Wallsburg', 2825, '84082', '435', '40.401533', '-111.461676', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9759, 'W Jordan', 2825, '84084', '801', '40.623702', '-111.987831', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9760, 'West Jordan', 2825, '84084', '801', '40.623702', '-111.987831', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9761, 'Clearfield', 2825, '84089', '801', '41.11', '-112.024', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9762, 'Sandy', 2825, '84091', '801', '40.5879', '-111.8814', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9763, 'Kimball Junction', 2825, '84098', '435', '40.717437', '-111.568678', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9764, 'Park City', 2825, '84098', '435', '40.717437', '-111.568678', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9765, 'Snyderville', 2825, '84098', '435', '40.717437', '-111.568678', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9766, 'Summit Park', 2825, '84098', '435', '40.717437', '-111.568678', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9767, 'Millcreek', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9768, 'Murray', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9769, 'S Salt Lake', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9770, 'Salt Lake City', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9771, 'Salt Lake Cty', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9772, 'Slc', 2825, '84107', '801', '40.656624', '-111.884704', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9773, 'Hideout', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9774, 'Kamas', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9775, 'Marion', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9776, 'Tuhaye', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9777, 'Woodland', 2825, '84036', '435', '40.761787', '-110.717696', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9778, 'Fruit Heights', 2825, '84037', '801', '41.027388', '-111.948168', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9779, 'Kaysville', 2825, '84037', '801', '41.027388', '-111.948168', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9780, 'West Kaysville', 2825, '84037', '801', '41.027388', '-111.948168', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9781, 'N Salt Lake', 2825, '84054', '801', '40.842062', '-111.91974', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9782, 'North Salt Lake', 2825, '84054', '801', '40.842062', '-111.91974', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9783, 'Broad Run', 2826, '20137', '540', '38.808712', '-77.725592', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9784, 'Vint Hill Farms', 2826, '20188', '540', '38.7217', '-77.7849', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9785, 'Vint Hill Frm', 2826, '20188', '540', '38.7217', '-77.7849', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9786, 'Warrenton', 2826, '20188', '540', '38.7217', '-77.7849', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9787, 'Dulles', 2826, '20101', '703', '39.3355', '-77.8426', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9788, 'Dulles P & D Center', 2826, '20101', '703', '39.3355', '-77.8426', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9789, 'Dulles', 2826, '20104', '540', '39.3214', '-77.5365', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9790, 'Inspection Service Forensic', 2826, '20104', '540', '39.3214', '-77.5365', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9791, 'Herndon', 2826, '20171', '703', '38.926604', '-77.391188', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9792, 'Oak Hill', 2826, '20171', '703', '38.926604', '-77.391188', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9793, 'Upperville', 2826, '20185', '540', '38.8788', '-77.8397', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9794, 'Gainesville', 2826, '20156', '703', '38.8283', '-77.6248', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9795, 'Herndon', 2826, '20172', '703', '38.9209', '-77.3953', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9796, 'Nokesville', 2826, '20181', '703', '38.690627', '-77.573274', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9797, 'Herndon', 2826, '20192', '703', '38.946815', '-77.364954', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9798, 'Hundon', 2826, '20192', '703', '38.946815', '-77.364954', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9799, 'The Plains', 2826, '20198', '540', '38.87818', '-77.7499', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9800, 'Annandale', 2826, '22003', '703', '38.837759', '-77.210328', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9801, 'Dulles', 2826, '20189', '703', '38.9', '-77.04', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9802, 'Hillsboro', 2826, '20134', '540', '39.1337', '-77.7065', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9803, 'Purcellville', 2826, '20134', '540', '39.1337', '-77.7065', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9804, 'Casanova', 2826, '20139', '540', '38.644798', '-77.69716', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9805, 'Round Hill', 2826, '20141', '540', '39.10795', '-77.784622', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9806, 'Reston', 2826, '20192', '703', '38.946815', '-77.364954', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9807, 'Us Geological Survey', 2826, '20192', '703', '38.946815', '-77.364954', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9808, 'Centreville', 2826, '20122', '703', '38.8397', '-77.4278', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9809, 'Clifton', 2826, '20124', '703', '38.775973', '-77.388066', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9810, 'Nokesville', 2826, '20182', '703', '38.6872', '-77.5498', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9811, 'Upperville', 2826, '20184', '540', '39.009648', '-77.871797', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9812, 'Charlotte Ama', 2827, '00801', '340', '18.3436', '-64.9314', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9813, 'Charlotte Amalie', 2827, '00801', '340', '18.3436', '-64.9314', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9814, 'St Thomas', 2827, '00801', '340', '18.3436', '-64.9314', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9815, 'Christiansted', 2827, '00823', '340', '17.7488', '-64.7039', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9816, 'St Croix', 2827, '00823', '340', '17.7488', '-64.7039', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9817, 'Bruce', 2830, '54819', '715', '45.468519', '-91.312836', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9818, 'Exeland', 2830, '54835', '715', '45.691198', '-91.234631', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9819, 'Clam Falls', 2830, '54837', '715', '45.675535', '-92.382527', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9820, 'Frederic', 2830, '54837', '715', '45.675535', '-92.382527', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9821, 'Lewis', 2830, '54837', '715', '45.675535', '-92.382527', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9822, 'Trade Lake', 2830, '54837', '715', '45.675535', '-92.382527', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9823, 'Ogdensburg', 2830, '54962', '920', '44.4986', '-89.031079', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9824, 'Saxeville', 2830, '54976', '920', '44.184254', '-89.114421', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9825, 'Edson', 2830, '54726', '715', '44.966829', '-91.022555', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9826, 'Eau Galle', 2830, '54737', '715', '44.72021', '-91.98658', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9827, 'Shell Lake', 2830, '54871', '715', '45.742158', '-92.017883', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9828, 'Oshkosh', 2830, '54903', '920', '44.0247', '-88.5426', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9829, 'Cream', 2830, '54610', '608', '44.378713', '-91.775461', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9830, 'Arcadia', 2830, '54612', '608', '44.241493', '-91.510792', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9831, 'Cashton', 2830, '54619', '608', '43.753872', '-90.791926', '2018-11-29 04:50:45', '2018-11-29 04:50:45'),\n(9832, 'Hixton', 2830, '54635', '715', '44.41239', '-91.044084', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9833, 'Northfield', 2830, '54635', '715', '44.41239', '-91.044084', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9834, 'Melrose', 2830, '54642', '608', '44.157878', '-91.086247', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9835, 'Pigeon Falls', 2830, '54760', '715', '44.424518', '-91.208598', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9836, 'Martell', 2830, '54767', '715', '44.837888', '-92.255904', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9837, 'Spring Valley', 2830, '54767', '715', '44.837888', '-92.255904', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9838, 'Stockholm', 2830, '54769', '715', '44.497542', '-92.242498', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9839, 'Spooner', 2830, '54801', '715', '45.875799', '-91.90577', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9840, 'Big Falls', 2830, '54926', '715', '44.6158', '-89.0162', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9841, 'Fdl', 2830, '54935', '920', '43.756021', '-88.367044', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9842, 'Fond Du Lac', 2830, '54935', '920', '43.756021', '-88.367044', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9843, 'N Fond Du Lac', 2830, '54935', '920', '43.756021', '-88.367044', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9844, 'North Fond Du Lac', 2830, '54935', '920', '43.756021', '-88.367044', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9845, 'Taycheedah', 2830, '54935', '920', '43.756021', '-88.367044', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9846, 'Fond Du Lac', 2830, '54937', '920', '43.76234', '-88.507799', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9847, 'N Fond Du Lac', 2830, '54937', '920', '43.76234', '-88.507799', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9848, 'North Fond Du Lac', 2830, '54937', '920', '43.76234', '-88.507799', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9849, 'Hayward', 2830, '54843', '715', '46.020122', '-91.27997', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9850, 'Lco Commercial Cent', 2830, '54843', '715', '46.020122', '-91.27997', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9851, 'N Woods Beach', 2830, '54843', '715', '46.020122', '-91.27997', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9852, 'North Woods Beach', 2830, '54843', '715', '46.020122', '-91.27997', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9853, 'Hertel', 2830, '54845', '715', '45.799871', '-92.133817', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9854, 'Menasha', 2830, '54952', '920', '44.182606', '-88.34433', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9855, 'New London', 2830, '54961', '920', '44.402136', '-88.772911', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9856, 'Royalton', 2830, '54961', '920', '44.402136', '-88.772911', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9857, 'Eureka', 2830, '54963', '920', '44.04726', '-88.765315', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9858, 'Omro', 2830, '54963', '920', '44.04726', '-88.765315', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9859, 'Princeton', 2830, '54968', '920', '43.843754', '-89.131881', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9860, 'Scandinavia', 2830, '54977', '715', '44.460729', '-89.173262', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9861, 'Van Dyne', 2830, '54979', '920', '43.878995', '-88.508568', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9862, 'Cadott', 2830, '54727', '715', '44.958904', '-91.167181', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9863, 'Crescent', 2830, '54727', '715', '44.958904', '-91.167181', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9864, 'Odanah', 2830, '54861', '715', '46.597934', '-90.65202', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9865, 'Sarona', 2830, '54870', '715', '45.719428', '-91.770073', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9866, 'Alma Center', 2830, '54611', '715', '44.458492', '-90.956018', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9867, 'Bloom City', 2830, '54634', '608', '43.595877', '-90.443638', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9868, 'Hillsboro', 2830, '54634', '608', '43.595877', '-90.443638', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9869, 'Yuba', 2830, '54634', '608', '43.595877', '-90.443638', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9870, 'Eureka', 2830, '54934', '920', '44.004764', '-88.839345', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9871, 'Hancock', 2830, '54943', '715', '44.116184', '-89.596476', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9872, 'Iola', 2830, '54945', '715', '44.581443', '-89.149002', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9873, 'Cleghorn', 2830, '54738', '715', '44.590016', '-91.505874', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9874, 'Eleva', 2830, '54738', '715', '44.590016', '-91.505874', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9875, 'Elk Mound', 2830, '54739', '715', '44.852106', '-91.701797', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9876, 'Elmwood', 2830, '54740', '715', '44.751688', '-92.163934', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9877, 'Fairchild', 2830, '54741', '715', '44.609526', '-91.005918', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9878, 'Nelson', 2830, '54756', '715', '44.459584', '-91.951249', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9879, 'Island Lake', 2830, '54757', '715', '45.227978', '-91.553115', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9880, 'New Auburn', 2830, '54757', '715', '45.227978', '-91.553115', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9881, 'Foster', 2830, '54758', '715', '44.548256', '-91.206911', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9882, 'Mason', 2830, '54856', '715', '46.39747', '-91.123412', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9883, 'Milltown', 2830, '54858', '715', '45.524538', '-92.458213', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9884, 'Centuria', 2830, '54824', '715', '45.489832', '-92.555299', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9885, 'Haugen', 2830, '54841', '715', '45.616091', '-91.776186', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9886, 'Delta', 2830, '54856', '715', '46.39747', '-91.123412', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9887, 'Auroraville', 2830, '54923', '920', '44.003986', '-88.986694', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9888, 'Berlin', 2830, '54923', '920', '44.003986', '-88.986694', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9889, 'Green Lake', 2830, '54941', '920', '43.875564', '-88.986168', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9890, 'Cheyenne', 2832, '82006', '307', '41.1335', '-104.8169', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9891, 'Wy State Game And Fish', 2832, '82006', '307', '41.1335', '-104.8169', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9892, 'Garrett', 2832, '82058', '307', '42.156164', '-105.673216', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9893, 'Rock River', 2832, '82058', '307', '42.156164', '-105.673216', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9894, 'Laramie', 2832, '82071', '307', '41.313143', '-105.5814', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9895, 'University', 2832, '82071', '307', '41.313143', '-105.5814', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9896, 'University Of Wyoming', 2832, '82071', '307', '41.313143', '-105.5814', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9897, 'Lance Creek', 2832, '82222', '307', '43.269426', '-104.476593', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9898, 'Kirtley', 2832, '82225', '307', '42.84195', '-104.35823', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9899, 'Lusk', 2832, '82225', '307', '42.84195', '-104.35823', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9900, 'Node', 2832, '82225', '307', '42.84195', '-104.35823', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9901, 'Bairoil', 2832, '82322', '307', '42.141737', '-108.019076', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9902, 'Lamont', 2832, '82322', '307', '42.141737', '-108.019076', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9903, 'Elk Mountain', 2832, '82324', '307', '41.647279', '-106.455455', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9904, 'Emblem', 2832, '82422', '307', '44.49927', '-108.371866', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9905, 'Frannie', 2832, '82423', '307', '44.952595', '-108.660122', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9906, 'Ralston', 2832, '82440', '307', '44.720924', '-108.861481', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9907, 'Ten Sleep', 2832, '82442', '307', '43.84115', '-107.402134', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9908, 'Saint Stephens', 2832, '82524', '307', '42.9798', '-108.4398', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9909, 'St Stephens', 2832, '82524', '307', '42.9798', '-108.4398', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9910, 'Kaycee', 2832, '82639', '307', '43.822923', '-106.569101', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9911, 'Mayoworth', 2832, '82639', '307', '43.822923', '-106.569101', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9912, 'Sussex', 2832, '82639', '307', '43.822923', '-106.569101', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9913, 'Midwest', 2832, '82643', '307', '43.380935', '-106.259856', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9914, 'Buffalo', 2832, '82840', '307', '44.3483', '-106.6983', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9915, 'Saddlestring', 2832, '82840', '307', '44.3483', '-106.6983', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9916, 'Story', 2832, '82842', '307', '44.610057', '-107.095232', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9917, 'Reliance', 2832, '82943', '307', '41.69941', '-109.208546', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9918, 'Teton Village', 2832, '83025', '307', '43.5995', '-110.8449', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9919, 'Auburn', 2832, '83111', '307', '42.814458', '-111.000088', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9920, 'Glendo', 2832, '82213', '307', '42.46229', '-104.970661', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9921, 'Savery', 2832, '82332', '307', '41.088944', '-107.331091', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9922, 'Cody', 2832, '82414', '307', '44.402216', '-109.531034', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9923, 'Manderson', 2832, '82432', '307', '44.403929', '-107.85946', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9924, 'Meeteetse', 2832, '82433', '307', '44.15567', '-109.061952', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9925, 'Gas Hills', 2832, '82501', '307', '43.17114', '-108.831174', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9926, 'Lucky Maccamp', 2832, '82501', '307', '43.17114', '-108.831174', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9927, 'Midval', 2832, '82501', '307', '43.17114', '-108.831174', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9928, 'Morton', 2832, '82501', '307', '43.17114', '-108.831174', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9929, 'Riverton', 2832, '82501', '307', '43.17114', '-108.831174', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9930, 'Sand Draw', 2832, '82501', '307', '43.17114', '-108.831174', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9931, 'Kinnear', 2832, '82516', '307', '43.185799', '-108.895221', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9932, 'Bar Nunn', 2832, '82601', '307', '43.066216', '-106.393959', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9933, 'Casper', 2832, '82601', '307', '43.066216', '-106.393959', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9934, 'Casper', 2832, '82615', '307', '42.8461', '-106.3143', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9935, 'Shirley Basin', 2832, '82615', '307', '42.8461', '-106.3143', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9936, 'Newcastle', 2832, '82701', '307', '43.840036', '-104.56813', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9937, 'Gillette', 2832, '82716', '307', '44.470609', '-105.611348', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9938, 'Big Horn', 2832, '82833', '307', '44.624068', '-107.107748', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9939, 'Bitter Creek', 2832, '82901', '307', '41.631', '-108.942752', '2018-11-29 04:50:46', '2018-11-29 04:50:46'),\n(9940, 'Quealy', 2832, '82901', '307', '41.631', '-108.942752', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9941, 'Rock Springs', 2832, '82901', '307', '41.631', '-108.942752', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9942, 'Granger', 2832, '82934', '307', '41.643156', '-109.962861', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9943, 'Green River', 2832, '82935', '307', '41.854493', '-109.67476', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9944, 'Mc Kinnon', 2832, '82935', '307', '41.854493', '-109.67476', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9945, 'Jackson', 2832, '83002', '307', '43.48', '-110.7617', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9946, 'Jackson Hole', 2832, '83002', '307', '43.48', '-110.7617', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9947, 'Alta', 2832, '83414', '307', '43.748639', '-110.935969', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9948, 'Cheyenne', 2832, '82003', '307', '41.1335', '-104.8169', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9949, 'Chugwater', 2832, '82210', '307', '41.744852', '-104.888968', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9950, 'Diamond', 2832, '82210', '307', '41.744852', '-104.888968', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9951, 'Jeffrey City', 2832, '82310', '307', '42.717236', '-107.946125', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9952, 'Rawlins', 2832, '82310', '307', '42.717236', '-107.946125', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9953, 'Worland', 2832, '82401', '307', '43.907097', '-108.060713', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9954, 'Basin', 2832, '82410', '307', '44.363715', '-108.199765', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9955, 'Byron', 2832, '82412', '307', '44.800175', '-108.534475', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9956, 'Hyattville', 2832, '82428', '307', '44.284285', '-107.593579', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9957, 'Kirby', 2832, '82430', '307', '43.814188', '-108.195665', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9958, 'Worland', 2832, '82430', '307', '43.814188', '-108.195665', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9959, 'Burris', 2832, '82512', '307', '43.336796', '-109.241085', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9960, 'Crowheart', 2832, '82512', '307', '43.336796', '-109.241085', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9961, 'Casper', 2832, '82646', '307', '42.8602', '-106.3155', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9962, 'Natrona', 2832, '82646', '307', '42.8602', '-106.3155', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9963, 'Boulder', 2832, '82923', '307', '42.604524', '-109.617869', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9964, 'Wilson', 2832, '83014', '307', '43.465564', '-110.919651', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9965, 'Cokeville', 2832, '83114', '307', '42.07988', '-110.782992', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9966, 'Raymond', 2832, '83114', '307', '42.07988', '-110.782992', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9967, 'Alpine', 2832, '83128', '307', '43.062246', '-110.8116', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9968, 'Bosler', 2832, '82051', '307', '41.738888', '-105.671464', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9969, 'Laramie', 2832, '82051', '307', '41.738888', '-105.671464', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9970, 'Lookout', 2832, '82051', '307', '41.738888', '-105.671464', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9971, 'Bordeaux', 2832, '82201', '307', '42.009082', '-105.033722', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9972, 'Slater', 2832, '82201', '307', '42.009082', '-105.033722', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9973, 'Uva', 2832, '82201', '307', '42.009082', '-105.033722', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9974, 'Wheatland', 2832, '82201', '307', '42.009082', '-105.033722', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9975, 'Hawk Springs', 2832, '82217', '307', '41.7251', '-104.353044', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9976, 'Baggs', 2832, '82321', '307', '41.066052', '-107.74603', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9977, 'Deaver', 2832, '82421', '307', '44.935486', '-108.595489', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9978, 'Greybull', 2832, '82426', '307', '44.605897', '-108.197432', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9979, 'Arapahoe', 2832, '82510', '307', '42.970784', '-108.584239', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9980, 'Arminto', 2832, '82630', '307', '43.115', '-107.3786', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9981, 'Casper', 2832, '82630', '307', '43.115', '-107.3786', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9982, 'Mills', 2832, '82644', '307', '42.84363', '-106.370883', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9983, 'Aladdin', 2832, '82710', '307', '44.81785', '-104.253972', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9984, 'Carlile', 2832, '82721', '307', '44.437964', '-104.87546', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9985, 'Moorcroft', 2832, '82721', '307', '44.437964', '-104.87546', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9986, 'Oshoto', 2832, '82721', '307', '44.437964', '-104.87546', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9987, 'Pine Haven', 2832, '82721', '307', '44.437964', '-104.87546', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9988, 'Upton', 2832, '82730', '307', '43.990047', '-104.733686', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9989, 'Acme', 2832, '82839', '307', '44.910052', '-107.099799', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9990, 'Ranchester', 2832, '82839', '307', '44.910052', '-107.099799', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9991, 'Ranchester', 2832, '82844', '307', '44.693707', '-107.289336', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9992, 'Wolf', 2832, '82844', '307', '44.693707', '-107.289336', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9993, 'Lyman', 2832, '82937', '307', '41.343816', '-110.304043', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9994, 'Urie', 2832, '82937', '307', '41.343816', '-110.304043', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9995, 'Mountain View', 2832, '82939', '307', '41.2196', '-110.315963', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9996, 'Jenny Lake', 2832, '83012', '307', '43.85857', '-110.777314', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9997, 'Moose', 2832, '83012', '307', '43.85857', '-110.777314', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9998, 'Bedford', 2832, '83112', '307', '42.828419', '-110.875524', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(9999, 'Turnerville', 2832, '83112', '307', '42.828419', '-110.875524', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(10000, 'Frontier', 2832, '83121', '307', '41.81034', '-110.53824', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(10001, 'Querino', 2782, '86506', '928', '35.337982', '-109.254749', '2018-11-29 04:50:47', '2018-11-29 04:50:47'),\n(10002, 'Chinle', 2782, '86538', '928', '36.479904', '-109.601322', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10003, 'Many Farms', 2782, '86538', '928', '36.479904', '-109.601322', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10004, 'Chinle', 2782, '86547', '928', '36.508237', '-109.477058', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10005, 'Round Rock', 2782, '86547', '928', '36.508237', '-109.477058', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10006, 'Phoenix', 2782, '85012', '602', '33.509271', '-112.069386', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10007, 'Phoenix', 2782, '85019', '602', '33.509472', '-112.142906', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10008, 'Phoenix', 2782, '85035', '623', '33.472932', '-112.194796', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10009, 'Phoenix', 2782, '85044', '480', '33.341662', '-111.992412', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10010, 'Phoenix', 2782, '85051', '602', '33.560166', '-112.131994', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10011, 'Phoenix', 2782, '85060', '480', '33.4486', '-112.0733', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10012, 'Phoenix', 2782, '85067', '602', '33.4486', '-112.0733', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10013, 'Phoenix', 2782, '85069', '602', '33.4486', '-112.0733', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10014, 'New River', 2782, '85087', '623', '33.926432', '-112.120665', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10015, 'Phoenix', 2782, '85087', '623', '33.926432', '-112.120665', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10016, 'Apache Jct', 2782, '85117', '480', '33.422266', '-111.54774', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10017, 'Apache Junction', 2782, '85117', '480', '33.422266', '-111.54774', '2018-11-29 04:50:48', '2018-11-29 04:50:48');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(10018, 'Coolidge', 2782, '85128', '520', '32.972309', '-111.532687', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10019, 'Hayden', 2782, '85135', '520', '33.006827', '-110.783809', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10020, 'Chandler Heights', 2782, '85142', '480', '33.191536', '-111.621333', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10021, 'Chandler Hts', 2782, '85142', '480', '33.191536', '-111.621333', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10022, 'Queen Creek', 2782, '85142', '480', '33.191536', '-111.621333', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10023, 'San Tan Valley', 2782, '85142', '480', '33.191536', '-111.621333', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10024, 'San Tan Vly', 2782, '85142', '480', '33.191536', '-111.621333', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10025, 'Apache Jct', 2782, '85178', '480', '33.422266', '-111.54774', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10026, 'Apache Junction', 2782, '85178', '480', '33.422266', '-111.54774', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10027, 'Dudleyville', 2782, '85192', '520', '32.914817', '-110.721406', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10028, 'Winkelman', 2782, '85192', '520', '32.914817', '-110.721406', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10029, 'Mesa', 2782, '85201', '480', '33.443238', '-111.85532', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10030, 'Mesa', 2782, '85210', '480', '33.386055', '-111.841322', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10031, 'Scottsdale', 2782, '85260', '480', '33.610962', '-111.890114', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10032, 'Scottsdale', 2782, '85262', '480', '33.855444', '-111.626078', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10033, 'Fountain Hills', 2782, '85269', '602', '33.5093', '-111.8985', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10034, 'Fountain Hls', 2782, '85269', '602', '33.5093', '-111.8985', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10035, 'Scottsdale', 2782, '85269', '602', '33.5093', '-111.8985', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10036, 'Gilbert', 2782, '85296', '480', '33.335629', '-111.755872', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10037, 'Glendale', 2782, '85312', '602', '33.5389', '-112.1854', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10038, 'Ajo', 2782, '85321', '520', '32.34215', '-112.754086', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10039, 'Buckeye', 2782, '85326', '623', '33.241195', '-112.768102', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10040, 'Parker', 2782, '85344', '928', '33.840928', '-114.130935', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10041, 'Globe', 2782, '85501', '928', '33.544936', '-110.737569', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10042, 'Bylas', 2782, '85530', '928', '33.077024', '-110.252749', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10043, 'Eden', 2782, '85535', '928', '33.009182', '-109.932086', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10044, 'Pine', 2782, '85544', '928', '34.406126', '-111.43405', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10045, 'Strawberry', 2782, '85544', '928', '34.406126', '-111.43405', '2018-11-29 04:50:48', '2018-11-29 04:50:48'),\n(10046, 'Safford', 2782, '85546', '928', '32.751464', '-109.446571', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10047, 'Bisbee', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10048, 'Bisbee Jct', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10049, 'Copper Queen', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10050, 'Lowell', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10051, 'South Bisbee', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10052, 'Sunset Acres', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10053, 'Tintown', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10054, 'Phoenix', 2782, '85004', '602', '33.45064', '-112.069406', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10055, 'Phoenix', 2782, '85024', '623', '33.690926', '-112.04172', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10056, 'Phoenix', 2782, '85041', '602', '33.383269', '-112.112088', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10057, 'Phoenix', 2782, '85071', '602', '33.4486', '-112.0733', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10058, 'Phoenix', 2782, '85073', '602', '33.4486', '-112.0733', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10059, 'Phoenix', 2782, '85074', '602', '33.4486', '-112.0733', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10060, 'Casa Grande', 2782, '85122', '520', '32.872889', '-111.744927', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10061, 'Eleven Mile', 2782, '85122', '520', '32.872889', '-111.744927', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10062, 'Eleven Mile Corner', 2782, '85122', '520', '32.872889', '-111.744927', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10063, 'Maricopa', 2782, '85138', '520', '33.075263', '-112.032976', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10064, 'Superior', 2782, '85173', '520', '33.294207', '-111.095483', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10065, 'Mesa', 2782, '85206', '480', '33.39739', '-111.719192', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10066, 'Mesa', 2782, '85274', '602', '33.4225', '-111.8216', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10067, 'Glendale', 2782, '85305', '623', '33.530172', '-112.255415', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10068, 'Glendale', 2782, '85308', '623', '33.668148', '-112.186201', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10069, 'Arlington', 2782, '85322', '623', '33.308488', '-112.796198', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10070, 'Avondale', 2782, '85323', '623', '33.358686', '-112.328317', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10071, 'Avondale-Goodyear', 2782, '85323', '623', '33.358686', '-112.328317', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10072, 'Laveen', 2782, '85339', '602', '33.342953', '-112.194322', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10073, 'Litchfield', 2782, '85340', '623', '33.522714', '-112.406924', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10074, 'Litchfield Park', 2782, '85340', '623', '33.522714', '-112.406924', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10075, 'Litchfield Pk', 2782, '85340', '623', '33.522714', '-112.406924', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10076, 'Circle City', 2782, '85342', '623', '33.870848', '-112.557894', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10077, 'Morristown', 2782, '85342', '623', '33.870848', '-112.557894', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10078, 'Sun City', 2782, '85374', '623', '33.65133', '-112.376444', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10079, 'Surprise', 2782, '85374', '623', '33.65133', '-112.376444', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10080, 'Sun City', 2782, '85375', '623', '33.674346', '-112.365296', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10081, 'Sun City West', 2782, '85375', '623', '33.674346', '-112.365296', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10082, 'Wickenburg', 2782, '85390', '928', '33.857602', '-112.964138', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10083, 'Avondale', 2782, '85392', '623', '33.475819', '-112.306754', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10084, 'Peridot', 2782, '85542', '928', '33.688478', '-110.392494', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10085, 'Cochise', 2782, '85606', '520', '32.028657', '-109.888602', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10086, 'Harshaw', 2782, '85624', '520', '31.483634', '-110.64067', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10087, 'Lochiel', 2782, '85624', '520', '31.483634', '-110.64067', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10088, 'Patagonia', 2782, '85624', '520', '31.483634', '-110.64067', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10089, 'Pirtleville', 2782, '85626', '520', '31.3578', '-109.5691', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10090, 'Davis Monthan AFB', 2782, '85708', '520', '32.181988', '-110.866492', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10091, 'Tucson', 2782, '85708', '520', '32.181988', '-110.866492', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10092, 'Tucson', 2782, '85723', '520', '32.2217', '-110.9259', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10093, 'Veterans Hospital', 2782, '85723', '520', '32.2217', '-110.9259', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10094, 'Tucson', 2782, '85726', '520', '32.2192', '-110.9471', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10095, 'Tucson', 2782, '85775', '520', '32.2217', '-110.9259', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10096, 'Tucson Brm', 2782, '85775', '520', '32.2217', '-110.9259', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10097, 'Clay Springs', 2782, '85923', '928', '34.38315', '-110.297625', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10098, 'Greer', 2782, '85927', '928', '33.789434', '-109.607905', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10099, 'Whiteriver', 2782, '85941', '928', '33.803926', '-110.092768', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10100, 'Greenehaven', 2782, '86040', '928', '36.803584', '-111.203916', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10101, 'Lake Powell Mart', 2782, '86040', '928', '36.803584', '-111.203916', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10102, 'Page', 2782, '86040', '928', '36.803584', '-111.203916', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10103, 'Cornville', 2782, '86325', '928', '34.742187', '-111.903002', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10104, 'Lake Montezuma', 2782, '86342', '928', '34.6323', '-111.7775', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10105, 'Lk Montezuma', 2782, '86342', '928', '34.6323', '-111.7775', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10106, 'Crown King', 2782, '86343', '928', '34.251924', '-112.310001', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10107, 'Hualapai', 2782, '86409', '928', '35.287352', '-114.085266', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10108, 'Kingman', 2782, '86409', '928', '35.287352', '-114.085266', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10109, 'Bullhead City', 2782, '86427', '928', '35.0298', '-114.5779', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10110, 'Fort Mohave', 2782, '86427', '928', '35.0298', '-114.5779', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10111, 'Templ Bar Mar', 2782, '86443', '928', '36.028', '-114.3122', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10112, 'Temple Bar Marina', 2782, '86443', '928', '36.028', '-114.3122', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10113, 'Meadview', 2782, '86444', '928', '35.994542', '-114.087542', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10114, 'Kingman', 2782, '86445', '928', '35.901315', '-114.46399', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10115, 'White Hills', 2782, '86445', '928', '35.901315', '-114.46399', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10116, 'Willow Beach', 2782, '86445', '928', '35.901315', '-114.46399', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10117, 'Phoenix', 2782, '85029', '602', '33.594612', '-112.107441', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10118, 'Phoenix', 2782, '85033', '623', '33.494677', '-112.212116', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10119, 'Phoenix', 2782, '85063', '602', '33.4486', '-112.0733', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10120, 'Phoenix', 2782, '85064', '602', '33.4486', '-112.0733', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10121, 'Casa Grande', 2782, '85130', '520', '32.896454', '-111.75635', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10122, 'Eloy', 2782, '85131', '520', '32.787571', '-111.583698', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10123, 'Toltec', 2782, '85131', '520', '32.787571', '-111.583698', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10124, 'Fort Mcdowell', 2782, '85264', '602', '33.613', '-111.374403', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10125, 'Scottsdale', 2782, '85264', '602', '33.613', '-111.374403', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10126, 'Scottsdale', 2782, '85266', '480', '33.769962', '-111.92589', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10127, 'Tempe', 2782, '85280', '480', '33.4148', '-111.9088', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10128, 'Tempe', 2782, '85282', '480', '33.393896', '-111.929062', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10129, 'Gilbert', 2782, '85297', '480', '33.279298', '-111.737812', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10130, 'Gilbert', 2782, '85298', '480', '33.241865', '-111.729147', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10131, 'Congress', 2782, '85332', '928', '34.154007', '-112.769692', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10132, 'Dateland', 2782, '85333', '928', '32.88626', '-113.326644', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10133, 'Roll', 2782, '85347', '928', '32.708081', '-113.669269', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10134, 'San Luis', 2782, '85349', '928', '32.494329', '-114.783313', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10135, 'Somerton', 2782, '85350', '928', '32.529962', '-114.714968', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10136, 'Yuma', 2782, '85364', '928', '32.707432', '-114.680091', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10137, 'Martinez Lake', 2782, '85365', '928', '32.723264', '-114.537883', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10138, 'Ypg', 2782, '85365', '928', '32.723264', '-114.537883', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10139, 'Yuma', 2782, '85365', '928', '32.723264', '-114.537883', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10140, 'Yuma Proving Ground', 2782, '85365', '928', '32.723264', '-114.537883', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10141, 'Yuma', 2782, '85366', '928', '32.684798', '-114.498324', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10142, 'Peoria', 2782, '85380', '623', '33.5809', '-112.2364', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10143, 'Peoria', 2782, '85383', '623', '33.764744', '-112.277132', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10144, 'Clifton', 2782, '85533', '928', '33.357203', '-109.271194', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10145, 'Duncan', 2782, '85534', '928', '32.766776', '-109.192456', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10146, 'Virden', 2782, '85534', '928', '32.766776', '-109.192456', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10147, 'Green Valley', 2782, '85614', '520', '31.833498', '-111.002604', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10148, 'Madera Canyon', 2782, '85614', '520', '31.833498', '-111.002604', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10149, 'Hereford', 2782, '85615', '520', '31.458982', '-110.195651', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10150, 'Miracle Valley', 2782, '85615', '520', '31.458982', '-110.195651', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10151, 'Nicksville', 2782, '85615', '520', '31.458982', '-110.195651', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10152, 'Palominas', 2782, '85615', '520', '31.458982', '-110.195651', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10153, 'Parker Lake', 2782, '85615', '520', '31.458982', '-110.195651', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10154, 'Huachuca City', 2782, '85616', '520', '31.718731', '-110.314608', '2018-11-29 04:50:49', '2018-11-29 04:50:49'),\n(10155, 'Whetstone', 2782, '85616', '520', '31.718731', '-110.314608', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10156, 'Cowlic', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10157, 'Fresnal Canyon', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10158, 'Gu Achi', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10159, 'Little Tucson', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10160, 'Pisinemo', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10161, 'Sells', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10162, 'Sil Nakaya', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10163, 'Vamori', 2782, '85634', '520', '32.007507', '-112.00479', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10164, 'Nogales', 2782, '85648', '520', '31.492661', '-111.050018', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10165, 'Rio Rico', 2782, '85648', '520', '31.492661', '-111.050018', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10166, 'Sun', 2782, '85716', '520', '32.244944', '-110.923397', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10167, 'Tucson', 2782, '85716', '520', '32.244944', '-110.923397', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10168, 'Tucson', 2782, '85718', '520', '32.31334', '-110.917987', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10169, 'Mission', 2782, '85734', '520', '32.2217', '-110.9259', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10170, 'Tucson', 2782, '85734', '520', '32.2217', '-110.9259', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10171, 'Fort Lowell', 2782, '85751', '520', '32.2217', '-110.9259', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10172, 'Tucson', 2782, '85751', '520', '32.2217', '-110.9259', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10173, 'Overgaard', 2782, '85933', '928', '34.376196', '-110.482414', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10174, 'Pinedale', 2782, '85934', '928', '34.28124', '-110.290018', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10175, 'Flagstaff', 2782, '86001', '928', '35.474926', '-111.700018', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10176, 'Northern Arizona University', 2782, '86001', '928', '35.474926', '-111.700018', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10177, 'Bellemont', 2782, '86015', '928', '35.232352', '-111.836081', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10178, 'Flagstaff', 2782, '86015', '928', '35.232352', '-111.836081', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10179, 'Leupp', 2782, '86035', '928', '35.367164', '-110.997505', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10180, 'Prescott', 2782, '86301', '928', '34.619313', '-112.419363', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10181, 'Groom Creek', 2782, '86303', '928', '34.474922', '-112.465172', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10182, 'Prescott', 2782, '86303', '928', '34.474922', '-112.465172', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10183, 'Sedona', 2782, '86336', '928', '34.655063', '-111.41462', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10184, 'Canyon De Chelly National Mo', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10185, 'Chinle', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10186, 'Cottonwood Station', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10187, 'Huachuca Terrace', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10188, 'Low Mountain', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10189, 'Rough Rock', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10190, 'Salina', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10191, 'Smoke Signal', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10192, 'Tahchee', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10193, 'Tsail', 2782, '86503', '928', '36.121638', '-109.5235', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10194, 'San Jose', 2783, '95115', '408', '37.3355', '-121.8938', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10195, 'San Jose', 2783, '95119', '408', '37.229764', '-121.786374', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10196, 'San Jose', 2783, '95132', '408', '37.408981', '-121.827897', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10197, 'San Jose', 2783, '95133', '408', '37.37164', '-121.861195', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10198, 'San Jose', 2783, '95151', '408', '37.3353', '-121.8938', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10199, 'San Jose', 2783, '95152', '408', '37.3353', '-121.8938', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10200, 'Hathaway Pines', 2783, '95233', '209', '38.186076', '-120.365141', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10201, 'Hathaway Pnes', 2783, '95233', '209', '38.186076', '-120.365141', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10202, 'Holt', 2783, '95234', '209', '37.9344', '-121.4264', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10203, 'Vallecito', 2783, '95251', '209', '38.101862', '-120.46942', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10204, 'Discovery Bay', 2783, '94514', '925', '37.819326', '-121.642455', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10205, 'Clayton', 2783, '94517', '925', '37.894633', '-121.87195', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10206, 'El Cerrito', 2783, '94530', '510', '37.921091', '-122.289012', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10207, 'Fairfield', 2783, '94533', '707', '38.28016', '-122.02017', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10208, 'Fairfield', 2783, '94534', '707', '38.225028', '-122.124457', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10209, 'Suisun City', 2783, '94534', '707', '38.225028', '-122.124457', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10210, 'Pinole', 2783, '94564', '510', '37.995516', '-122.281423', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10211, 'San Ramon', 2783, '94583', '925', '37.769922', '-122.001446', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10212, 'Walnut Creek', 2783, '94598', '925', '37.899384', '-121.992084', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10213, 'Yountville', 2783, '94599', '707', '38.410768', '-122.368092', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10214, 'Kaiser Services', 2783, '94666', '510', '37.8046', '-122.2699', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10215, 'Oakland', 2783, '94666', '510', '37.8046', '-122.2699', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10216, 'Berkeley', 2783, '94701', '510', '37.8718', '-122.2718', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10217, 'Richmond', 2783, '94850', '510', '37.9368', '-122.3481', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10218, 'Forest Knolls', 2783, '94933', '415', '38.008371', '-122.69134', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10219, 'Novato', 2783, '94948', '415', '38.1077', '-122.5688', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10220, 'Sausalito', 2783, '94966', '415', '37.8592', '-122.4843', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10221, 'Petaluma', 2783, '94999', '707', '38.2328', '-122.6355', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10222, 'Aptos', 2783, '95001', '408', '36.9774', '-121.8985', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10223, 'Cupertino', 2783, '95015', '408', '37.3233', '-122.0311', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10224, 'Felton', 2783, '95018', '831', '37.082274', '-122.061179', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10225, 'Lompico', 2783, '95018', '831', '37.082274', '-122.061179', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10226, 'Los Gatos', 2783, '95032', '408', '37.218742', '-121.929452', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10227, 'Los Gatos', 2783, '95033', '408', '37.170734', '-121.981063', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10228, 'Santa Clara', 2783, '95052', '408', '37.3524', '-121.9584', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10229, 'Ahwahnee', 2783, '93601', '559', '37.372315', '-119.735979', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10230, 'Nipinnawassee', 2783, '93601', '559', '37.372315', '-119.735979', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10231, 'Chowchilla', 2783, '93610', '559', '37.087602', '-120.266722', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10232, 'Fairmead', 2783, '93610', '559', '37.087602', '-120.266722', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10233, 'Sharon', 2783, '93610', '559', '37.087602', '-120.266722', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10234, 'Oakhurst', 2783, '93644', '559', '37.41541', '-119.51079', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10235, 'Prather', 2783, '93651', '559', '37.00458', '-119.529258', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10236, 'San Joaquin', 2783, '93660', '559', '36.607106', '-120.177398', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10237, 'Fresno', 2783, '93710', '559', '36.82308', '-119.758917', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10238, 'Fresno', 2783, '93724', '559', '36.7475', '-119.7716', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10239, 'Fresno Superior Court', 2783, '93724', '559', '36.7475', '-119.7716', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10240, 'Terra Bella', 2783, '93270', '559', '35.956976', '-119.057951', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10241, 'Wofford Heights', 2783, '93285', '760', '35.617279', '-118.609837', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10242, 'Wofford Hts', 2783, '93285', '760', '35.617279', '-118.609837', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10243, 'Elderwood', 2783, '93286', '559', '36.537813', '-119.034152', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10244, 'Woodlake', 2783, '93286', '559', '36.537813', '-119.034152', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10245, 'Woody', 2783, '93287', '661', '35.72816', '-118.854373', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10246, 'Bakersfield', 2783, '93305', '661', '35.390686', '-118.98791', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10247, 'Bakersfield', 2783, '93387', '805', '35.3736', '-119.0176', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10248, 'Atascadero', 2783, '93422', '805', '35.45764', '-120.680251', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10249, 'Lompoc', 2783, '93438', '805', '34.6394', '-120.4567', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10250, 'Pozo', 2783, '93453', '805', '35.230168', '-120.106174', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10251, 'Santa Margar', 2783, '93453', '805', '35.230168', '-120.106174', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10252, 'Santa Margarita', 2783, '93453', '805', '35.230168', '-120.106174', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10253, 'Sn Margarita', 2783, '93453', '805', '35.230168', '-120.106174', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10254, 'Santa Maria', 2783, '93456', '805', '34.9532', '-120.4348', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10255, 'Calif City', 2783, '93504', '760', '35.1256', '-117.9853', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10256, 'California City', 2783, '93504', '760', '35.1256', '-117.9853', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10257, 'Del Sur', 2783, '93536', '661', '34.725516', '-118.484769', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10258, 'Fairmont', 2783, '93536', '661', '34.725516', '-118.484769', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10259, 'Lancaster', 2783, '93536', '661', '34.725516', '-118.484769', '2018-11-29 04:50:50', '2018-11-29 04:50:50'),\n(10260, 'Metler Valley', 2783, '93536', '661', '34.725516', '-118.484769', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10261, 'Neenach', 2783, '93536', '661', '34.725516', '-118.484769', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10262, 'Quartz Hill', 2783, '93536', '661', '34.725516', '-118.484769', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10263, 'Juniper Hills', 2783, '93553', '661', '34.456671', '-117.88763', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10264, 'Pearblossom', 2783, '93553', '661', '34.456671', '-117.88763', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10265, 'China Lake', 2783, '93555', '760', '35.6843', '-117.415407', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10266, 'China Lake Nwc', 2783, '93555', '760', '35.6843', '-117.415407', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10267, 'Ridgecrest', 2783, '93555', '760', '35.6843', '-117.415407', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10268, 'Ridgecrest', 2783, '93556', '760', '35.6513', '-117.6626', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10269, 'Dos Palos', 2783, '93620', '209', '37.05757', '-120.623484', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10270, 'Fish Camp', 2783, '93623', '559', '37.489984', '-119.64965', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10271, 'Raymond', 2783, '93653', '559', '37.255922', '-119.973955', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10272, 'Traver', 2783, '93673', '559', '36.455351', '-119.486633', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10273, 'Fresno', 2783, '93705', '559', '36.786462', '-119.828222', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10274, 'Fresno', 2783, '93706', '559', '36.641254', '-119.904763', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10275, 'Rolinda', 2783, '93706', '559', '36.641254', '-119.904763', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10276, 'Fresno', 2783, '93722', '559', '36.804425', '-119.888939', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10277, 'Fresno', 2783, '93755', '559', '36.7475', '-119.7716', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10278, 'Salinas', 2783, '93906', '831', '36.729247', '-121.620125', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10279, 'Big Sur', 2783, '93920', '831', '36.064811', '-121.549272', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10280, 'Gorda', 2783, '93920', '831', '36.064811', '-121.549272', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10281, 'Lucia', 2783, '93920', '831', '36.064811', '-121.549272', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10282, 'Pacific Valley', 2783, '93920', '831', '36.064811', '-121.549272', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10283, 'Carmel', 2783, '93923', '831', '36.413316', '-121.799659', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10284, 'Carmel Highlands', 2783, '93923', '831', '36.413316', '-121.799659', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10285, 'Brisbane', 2783, '94005', '415', '37.687017', '-122.418529', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10286, 'Loma Mar', 2783, '94021', '650', '37.251591', '-122.265678', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10287, 'Los Altos', 2783, '94023', '650', '37.3853', '-122.1133', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10288, 'Montara', 2783, '94037', '650', '37.542439', '-122.508454', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10289, 'Mountain View', 2783, '94039', '650', '37.3862', '-122.0826', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10290, 'San Gregorio', 2783, '94074', '650', '37.294404', '-122.357505', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10291, 'San Francisco', 2783, '94107', '415', '37.76785', '-122.392861', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10292, 'San Francisco', 2783, '94121', '415', '37.780871', '-122.495285', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10293, 'First Interstate Bank', 2783, '94139', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10294, 'San Francisco', 2783, '94139', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10295, 'Wells Fargo Bank', 2783, '94139', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10296, 'San Francisco', 2783, '94141', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10297, 'At & T', 2783, '94171', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10298, 'San Francisco', 2783, '94171', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10299, 'San Francisco', 2783, '94172', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10300, 'Sacramento', 2783, '94240', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10301, 'Sacramento', 2783, '94256', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10302, 'Sacramento', 2783, '94258', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10303, 'Byron', 2783, '94505', '925', '37.888748', '-121.601998', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10304, 'Discovery Bay', 2783, '94505', '925', '37.888748', '-121.601998', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10305, 'Blackhawk', 2783, '94506', '925', '37.810102', '-121.91095', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10306, 'Danville', 2783, '94506', '925', '37.810102', '-121.91095', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10307, 'Alamo', 2783, '94507', '925', '37.852902', '-121.990028', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10308, 'Antioch', 2783, '94509', '925', '37.989819', '-121.807297', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10309, 'Hayward', 2783, '94541', '510', '37.674012', '-122.082657', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10310, 'Fremont', 2783, '94555', '510', '37.552215', '-122.077635', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10311, 'Saint Helena', 2783, '94574', '707', '38.552072', '-122.409852', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10312, 'Moraga', 2783, '94575', '925', '37.8353', '-122.1287', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10313, 'American Canyon', 2783, '94589', '707', '38.138604', '-122.252872', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10314, 'American Cyn', 2783, '94589', '707', '38.138604', '-122.252872', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10315, 'Vallejo', 2783, '94589', '707', '38.138604', '-122.252872', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10316, 'Oakland', 2783, '94607', '510', '37.810945', '-122.3007', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10317, 'Oakland', 2783, '94609', '510', '37.834784', '-122.263528', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10318, 'Oakland', 2783, '94623', '510', '37.8046', '-122.2699', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10319, 'Berkeley', 2783, '94708', '510', '37.900138', '-122.261764', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10320, 'Kensington', 2783, '94708', '510', '37.900138', '-122.261764', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10321, 'Bodega Bay', 2783, '94923', '707', '38.348926', '-123.031171', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10322, 'Salmon Creek', 2783, '94923', '707', '38.348926', '-123.031171', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10323, 'Mill Valley', 2783, '94941', '415', '37.891792', '-122.566862', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10324, 'Muir Woods', 2783, '94941', '415', '37.891792', '-122.566862', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10325, 'Strawberry Point', 2783, '94941', '415', '37.891792', '-122.566862', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10326, 'Tamalpais Valley', 2783, '94941', '415', '37.891792', '-122.566862', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10327, 'Petaluma', 2783, '94975', '707', '38.2346', '-122.6364', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10328, 'Mount Hermon', 2783, '95041', '831', '37.051248', '-122.056324', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10329, 'New Idria', 2783, '95043', '831', '36.468836', '-121.006327', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10330, 'Paicines', 2783, '95043', '831', '36.468836', '-121.006327', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10331, 'Panoche', 2783, '95043', '831', '36.468836', '-121.006327', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10332, 'Pinnacles', 2783, '95043', '831', '36.468836', '-121.006327', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10333, 'Carmel', 2783, '93922', '831', '36.5567', '-121.9158', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10334, 'Carmel Valley', 2783, '93924', '831', '36.392627', '-121.627579', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10335, 'Carmel Valley Village', 2783, '93924', '831', '36.392627', '-121.627579', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10336, 'Robles Del Rio', 2783, '93924', '831', '36.392627', '-121.627579', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10337, 'Tassajara Hot Springs', 2783, '93924', '831', '36.392627', '-121.627579', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10338, 'Los Altos', 2783, '94022', '650', '37.365558', '-122.148494', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10339, 'Los Altos Hills', 2783, '94022', '650', '37.365558', '-122.148494', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10340, 'Moss Beach', 2783, '94038', '650', '37.537156', '-122.490812', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10341, 'Blossom Valley', 2783, '94040', '650', '37.384756', '-122.087712', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10342, 'Mountain View', 2783, '94040', '650', '37.384756', '-122.087712', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10343, 'Mt View', 2783, '94040', '650', '37.384756', '-122.087712', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10344, 'Onizuka AFB', 2783, '94088', '408', '37.3688', '-122.0353', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10345, 'Sunnyvale', 2783, '94088', '408', '37.3688', '-122.0353', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10346, 'Sunnyvale', 2783, '94089', '408', '37.425186', '-122.017249', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10347, 'San Francisco', 2783, '94104', '415', '37.790992', '-122.40188', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10348, 'San Francisco', 2783, '94124', '415', '37.730785', '-122.382613', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10349, 'San Francisco', 2783, '94140', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10350, 'San Francisco', 2783, '94156', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10351, 'Wells Fargo Bank', 2783, '94156', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10352, 'San Francisco', 2783, '94188', '415', '37.7753', '-122.4186', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10353, 'Sacramento', 2783, '94208', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10354, 'Sacramento', 2783, '94271', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10355, 'Sacramento', 2783, '94274', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10356, 'Sacramento', 2783, '94288', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10357, 'Sacramento', 2783, '94290', '916', '38.5819', '-121.4935', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10358, 'Palo Alto', 2783, '94305', '650', '37.423994', '-122.167605', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10359, 'Stanford', 2783, '94305', '650', '37.423994', '-122.167605', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10360, 'Angwin', 2783, '94508', '707', '38.585052', '-122.4412', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10361, 'Fremont', 2783, '94539', '510', '37.528786', '-121.910321', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10362, 'Hayward', 2783, '94540', '510', '37.6687', '-122.0799', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10363, 'Moraga', 2783, '94556', '925', '37.838176', '-122.103992', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10364, 'Napa', 2783, '94558', '707', '38.52972', '-122.279498', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10365, 'Spanish Flat', 2783, '94558', '707', '38.52972', '-122.279498', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10366, 'Rutherford', 2783, '94573', '707', '38.4586', '-122.4216', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10367, 'Vallejo', 2783, '94590', '707', '38.094644', '-122.253858', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10368, 'Vallejo', 2783, '94591', '707', '38.113657', '-122.197159', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10369, 'Mare Island', 2783, '94592', '707', '38.10791', '-122.325406', '2018-11-29 04:50:51', '2018-11-29 04:50:51'),\n(10370, 'Vallejo', 2783, '94592', '707', '38.10791', '-122.325406', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10371, 'Berkeley', 2783, '94709', '510', '37.879862', '-122.264766', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10372, 'Hilltop Mall', 2783, '94806', '510', '37.980032', '-122.333136', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10373, 'Richmond', 2783, '94806', '510', '37.980032', '-122.333136', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10374, 'San Pablo', 2783, '94806', '510', '37.980032', '-122.333136', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10375, 'Tara Hills', 2783, '94806', '510', '37.980032', '-122.333136', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10376, 'Richmond', 2783, '94808', '510', '37.9359', '-122.3469', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10377, 'Cotati', 2783, '94926', '707', '38.3267', '-122.7061', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10378, 'Rohnert Park', 2783, '94926', '707', '38.3267', '-122.7061', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10379, 'State Farm Insurance', 2783, '94926', '707', '38.3267', '-122.7061', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10380, 'Marshall', 2783, '94940', '415', '38.197262', '-122.887672', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10381, 'San Quentin', 2783, '94974', '415', '37.939', '-122.4904', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10382, 'Corte Madera', 2783, '94976', '415', '37.9257', '-122.5267', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10383, 'Campbell', 2783, '95008', '408', '37.279015', '-121.956694', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10384, 'Campbell', 2783, '95009', '408', '37.2875', '-121.9488', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10385, 'Capitola', 2783, '95010', '831', '36.975872', '-121.953926', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10386, 'Hollister', 2783, '95023', '831', '36.89563', '-121.183732', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10387, 'Holy City', 2783, '95026', '408', '37.1569', '-121.9779', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10388, 'Redwood Est', 2783, '95026', '408', '37.1569', '-121.9779', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10389, 'Redwood Estates', 2783, '95026', '408', '37.1569', '-121.9779', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10390, 'New Almaden', 2783, '95042', '408', '37.1762', '-121.8197', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10391, 'Corralitos', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10392, 'Laguna Beach', 2783, '92651', '949', '33.545128', '-117.776058', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10393, 'Aliso Viejo', 2783, '92653', '949', '33.593985', '-117.709877', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10394, 'Laguna Beach', 2783, '92653', '949', '33.593985', '-117.709877', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10395, 'Laguna Hills', 2783, '92653', '949', '33.593985', '-117.709877', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10396, 'Laguna Woods', 2783, '92653', '949', '33.593985', '-117.709877', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10397, 'Westminster', 2783, '92685', '714', '33.7497', '-117.989', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10398, 'Santa Ana', 2783, '92701', '714', '33.746758', '-117.855371', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10399, 'Santa Ana', 2783, '92702', '714', '33.7457', '-117.8669', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10400, 'Diamond', 2783, '92704', '714', '33.719796', '-117.914119', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10401, 'Fountain Valley', 2783, '92704', '714', '33.719796', '-117.914119', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10402, 'Santa Ana', 2783, '92704', '714', '33.719796', '-117.914119', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10403, 'Anaheim', 2783, '92817', '714', '33.8355', '-117.9136', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10404, 'Anaheim Hills', 2783, '92817', '714', '33.8355', '-117.9136', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10405, 'Brea', 2783, '92821', '714', '33.92701', '-117.885398', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10406, 'Fullerton', 2783, '92837', '714', '33.8796', '-117.8978', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10407, 'Orange', 2783, '92869', '714', '33.800985', '-117.785429', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10408, 'Placentia', 2783, '92870', '714', '33.881971', '-117.850575', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10409, 'Yorba Linda', 2783, '92886', '714', '33.892487', '-117.787814', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10410, 'Ventura', 2783, '93002', '805', '34.2785', '-119.2925', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10411, 'San Buenaventura', 2783, '93003', '805', '34.287505', '-119.220224', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10412, 'Ventura', 2783, '93003', '805', '34.287505', '-119.220224', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10413, 'San Buenaventura', 2783, '93004', '805', '34.279272', '-119.162998', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10414, 'Saticoy', 2783, '93004', '805', '34.279272', '-119.162998', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10415, 'Ventura', 2783, '93004', '805', '34.279272', '-119.162998', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10416, 'Moorpark', 2783, '93021', '805', '34.304492', '-118.859918', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10417, 'Santa Barbara', 2783, '93101', '805', '34.41912', '-119.703421', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10418, 'Santa Barbara', 2783, '93102', '805', '34.4233', '-119.7035', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10419, 'Santa Barbara', 2783, '93105', '805', '34.56955', '-119.77258', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10420, 'Goleta', 2783, '93118', '805', '34.4356', '-119.8269', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10421, 'Santa Barbara', 2783, '93118', '805', '34.4356', '-119.8269', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10422, 'Avenal', 2783, '93204', '559', '35.931656', '-120.092102', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10423, 'Ducor', 2783, '93218', '559', '35.862851', '-118.993835', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10424, 'Edison', 2783, '93220', '661', '35.3452', '-118.87', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10425, 'Ivanhoe', 2783, '93235', '559', '36.38493', '-119.223374', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10426, 'Cuyama', 2783, '93254', '661', '34.967379', '-119.867527', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10427, 'New Cuyama', 2783, '93254', '661', '34.967379', '-119.867527', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10428, 'Lords Point', 2785, '06378', '860', '41.380325', '-71.916026', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10429, 'Shawondassee', 2785, '06378', '860', '41.380325', '-71.916026', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10430, 'Stonington', 2785, '06378', '860', '41.380325', '-71.916026', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10431, 'Ansonia', 2785, '06401', '203', '41.343456', '-73.070286', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10432, 'Branford', 2785, '06405', '203', '41.283154', '-72.796443', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10433, 'Chester', 2785, '06412', '860', '41.404863', '-72.481793', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10434, 'Ashford', 2785, '06278', '860', '41.895504', '-72.158731', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10435, 'Warrenville', 2785, '06278', '860', '41.895504', '-72.158731', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10436, 'Griswold', 2785, '06351', '860', '41.578306', '-71.951754', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10437, 'Hopeville', 2785, '06351', '860', '41.578306', '-71.951754', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10438, 'Jewett City', 2785, '06351', '860', '41.578306', '-71.951754', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10439, 'Lisbon', 2785, '06351', '860', '41.578306', '-71.951754', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10440, 'Preston', 2785, '06351', '860', '41.578306', '-71.951754', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10441, 'Montville', 2785, '06353', '860', '41.454016', '-72.140471', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10442, 'Lyme', 2785, '06371', '860', '41.359226', '-72.341172', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10443, 'North Lyme', 2785, '06371', '860', '41.359226', '-72.341172', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10444, 'Gurleyville', 2785, '06268', '860', '41.791216', '-72.252081', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10445, 'Mansfield', 2785, '06268', '860', '41.791216', '-72.252081', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10446, 'Storrs', 2785, '06268', '860', '41.791216', '-72.252081', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10447, 'Storrs Manfld', 2785, '06268', '860', '41.791216', '-72.252081', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10448, 'Storrs Mansfield', 2785, '06268', '860', '41.791216', '-72.252081', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10449, 'Storrs/mansfield', 2785, '06268', '860', '41.791216', '-72.252081', '2018-11-29 04:50:52', '2018-11-29 04:50:52');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(10450, 'Chesterfield', 2785, '06370', '860', '41.465366', '-72.19193', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10451, 'Oakdale', 2785, '06370', '860', '41.465366', '-72.19193', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10452, 'North Sterling', 2785, '06377', '860', '41.719468', '-71.823055', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10453, 'Sterling', 2785, '06377', '860', '41.719468', '-71.823055', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10454, 'Pawcatuck', 2785, '06379', '860', '41.368242', '-71.863083', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10455, 'Botsford', 2785, '06404', '203', '41.3667', '-73.2577', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10456, 'Yantic', 2785, '06389', '860', '41.5612', '-72.1252', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10457, 'Centerbrook', 2785, '06409', '860', '41.348925', '-72.413232', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10458, 'East Hampton', 2785, '06424', '860', '41.553973', '-72.496736', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10459, 'Haddam Neck', 2785, '06424', '860', '41.553973', '-72.496736', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10460, 'Gales Ferry', 2785, '06339', '860', '41.442488', '-72.000108', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10461, 'Ledyard', 2785, '06339', '860', '41.442488', '-72.000108', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10462, 'N Stonington', 2785, '06359', '860', '41.468394', '-71.87961', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10463, 'North Stonington', 2785, '06359', '860', '41.468394', '-71.87961', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10464, 'Old Mystic', 2785, '06372', '860', '41.3944', '-71.941', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10465, 'Plainfield', 2785, '06374', '860', '41.688392', '-71.909217', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10466, 'Danielson', 2785, '06239', '860', '41.784786', '-71.85461', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10467, 'East Brooklyn', 2785, '06239', '860', '41.784786', '-71.85461', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10468, 'Killingly', 2785, '06239', '860', '41.784786', '-71.85461', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10469, 'South Killingly', 2785, '06239', '860', '41.784786', '-71.85461', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10470, 'North Windham', 2785, '06256', '860', '41.733086', '-72.154514', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10471, 'South Chaplin', 2785, '06256', '860', '41.733086', '-72.154514', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10472, 'Scotland', 2785, '06264', '860', '41.695433', '-72.101658', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10473, 'Woodstock', 2785, '06281', '860', '41.963454', '-72.009865', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10474, 'Uncasville', 2785, '06382', '860', '41.461951', '-72.130043', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10475, 'Cobalt', 2785, '06414', '860', '41.5636', '-72.5568', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10476, 'Dept Labor Payroll Audit Div', 2786, '20215', '202', '38.8951', '-77.0369', '2018-11-29 04:50:52', '2018-11-29 04:50:52'),\n(10477, 'Washington', 2786, '20215', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10478, 'Us Tax Court', 2786, '20217', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10479, 'Washington', 2786, '20217', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10480, 'Dept Transportation', 2786, '20590', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10481, 'Washington', 2786, '20590', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10482, 'National Selective Service', 2786, '20435', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10483, 'Washington', 2786, '20435', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10484, 'Envir Protect Agency', 2786, '20460', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10485, 'Washington', 2786, '20460', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10486, 'Us Trade Representative', 2786, '20508', '202', '38.8926', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10487, 'Washington', 2786, '20508', '202', '38.8926', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10488, 'Food And Drug Admin', 2786, '20204', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10489, 'Pentagon', 2786, '20301', '202', '38.8711', '-77.0279', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10490, 'Washington', 2786, '20301', '202', '38.8711', '-77.0279', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10491, 'Armed Forces Inst Pathology', 2786, '20306', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10492, 'Washington', 2786, '20306', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10493, 'Soldiers Airmens Home', 2786, '20317', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10494, 'Washington', 2786, '20317', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10495, 'Defense Intelligence', 2786, '20340', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10496, 'Washington', 2786, '20340', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10497, 'Washington', 2786, '20008', '202', '38.935771', '-77.059213', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10498, 'Washington', 2786, '20017', '202', '38.937006', '-76.993674', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10499, 'Blue Cross Group Hosp', 2786, '20065', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10500, 'Washington', 2786, '20065', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10501, 'Pnc Financial', 2786, '20074', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10502, 'Washington', 2786, '20074', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10503, 'Dept Treas Other Offices', 2786, '20226', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10504, 'Washington', 2786, '20226', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10505, 'Bureau Of Census', 2786, '20233', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10506, 'Washington', 2786, '20233', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10507, 'Immig And Natural Records', 2786, '20539', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10508, 'Washington', 2786, '20539', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10509, 'Nuclear Regulatory Comm', 2786, '20555', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10510, 'Washington', 2786, '20555', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10511, 'Export Import Bank', 2786, '20571', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10512, 'Washington', 2786, '20571', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10513, 'Washington', 2786, '20472', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10514, 'Office Of Mgmt And Budget', 2786, '20503', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10515, 'Washington', 2786, '20503', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10516, 'National Security Counsel', 2786, '20504', '202', '38.8986', '-77.0425', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10517, 'Washington', 2786, '20504', '202', '38.8986', '-77.0425', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10518, 'Central Intelligence Agency', 2786, '20505', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10519, 'Washington', 2786, '20505', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10520, 'Washington', 2786, '20045', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10521, 'Geico', 2786, '20046', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10522, 'Washington', 2786, '20046', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10523, 'Federal Deposit Ins Corp', 2786, '20429', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10524, 'Washington', 2786, '20429', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10525, 'Dept Labor Stats', 2786, '20212', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10526, 'Washington', 2786, '20212', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10527, 'Washington', 2786, '20579', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10528, 'Washington', 2786, '20010', '202', '38.932965', '-77.030066', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10529, 'Howard University Hospital', 2786, '20060', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10530, 'Washington', 2786, '20060', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10531, 'Washington', 2786, '20001', '202', '38.910717', '-77.01666', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10532, 'Washington', 2786, '20003', '202', '38.877752', '-76.986546', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10533, 'Pepco', 2786, '20068', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10534, 'Washington', 2786, '20068', '202', '38.895', '-77.0367', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10535, 'Pentagon', 2786, '20355', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10536, 'Washington', 2786, '20355', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10537, 'Naval Investigative Service', 2786, '20388', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10538, 'Washington', 2786, '20388', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10539, 'Washington Na', 2786, '20388', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10540, 'Washington Navy Yard', 2786, '20388', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10541, 'Us Court Appeal Fed Circuit', 2786, '20439', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10542, 'Washington', 2786, '20439', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10543, 'Comm Equal Oppor Armed Forc', 2786, '20453', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10544, 'Washington', 2786, '20453', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10545, 'National Credit Union Admin', 2786, '20456', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10546, 'Washington', 2786, '20456', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10547, 'Gsa Consumer Products Info', 2786, '20469', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10548, 'Washington', 2786, '20469', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10549, 'Fed Emer Mngt Agncy', 2786, '20472', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10550, 'Social Securtiy Admin', 2786, '20203', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10551, 'Washington', 2786, '20203', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10552, 'Merit Systems Protection Bd', 2786, '20419', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10553, 'Washington', 2786, '20419', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10554, 'Washington', 2786, '20204', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10555, 'Natl Comm On Social Sec', 2786, '20218', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10556, 'Washington', 2786, '20218', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10557, 'Comptroller Of Currency', 2786, '20219', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10558, 'Washington', 2786, '20219', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10559, 'Washington', 2786, '20018', '202', '38.930038', '-76.969962', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10560, 'Washington', 2786, '20037', '202', '38.898708', '-77.053967', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10561, 'Dept Army Pentagon', 2786, '20310', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10562, 'Washington', 2786, '20310', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10563, 'Dept Air Force Pentagon', 2786, '20330', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10564, 'Washington', 2786, '20330', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10565, 'Family Support Administratio', 2786, '20447', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10566, 'Washington', 2786, '20447', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10567, 'Farm Credit Admin', 2786, '20578', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10568, 'Washington', 2786, '20578', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10569, 'Foreign Claims Settlement', 2786, '20579', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10570, 'Dir National Intelligence', 2786, '20511', '202', '38.98', '-77.05', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10571, 'Dept Treas Check Claims Div', 2786, '20227', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10572, 'Washington', 2786, '20227', '202', '38.8951', '-77.0369', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10573, 'Cheswold', 2787, '19936', '302', '39.214', '-75.5868', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10574, 'Hartly', 2787, '19953', '302', '39.152452', '-75.686614', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10575, 'Newark', 2787, '19717', '302', '39.689657', '-75.75831', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10576, 'Dover', 2787, '19902', '302', '39.116899', '-75.468823', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10577, 'Dover AFB', 2787, '19902', '302', '39.116899', '-75.468823', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10578, 'Dover Air Force Base', 2787, '19902', '302', '39.116899', '-75.468823', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10579, 'Wilmington', 2787, '19803', '302', '39.799949', '-75.539071', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10580, 'Bank Of America', 2787, '19884', '302', '39.7459', '-75.5466', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10581, 'Greenville', 2787, '19884', '302', '39.7459', '-75.5466', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10582, 'Wilmington', 2787, '19884', '302', '39.7459', '-75.5466', '2018-11-29 04:50:53', '2018-11-29 04:50:53'),\n(10583, 'Shared Firm Zip', 2787, '19885', '302', '39.7459', '-75.5466', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10584, 'Wilmington', 2787, '19885', '302', '39.7459', '-75.5466', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10585, 'Viola', 2787, '19979', '302', '39.05309', '-75.57607', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10586, 'Verizon', 2787, '19896', '302', '39.7459', '-75.5466', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10587, 'Wilmington', 2787, '19896', '302', '39.7459', '-75.5466', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10588, 'Lincoln', 2787, '19960', '302', '38.85377', '-75.417082', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10589, 'Blackbird', 2787, '19734', '302', '39.374482', '-75.640148', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10590, 'Townsend', 2787, '19734', '302', '39.374482', '-75.640148', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10591, 'Yorklyn', 2787, '19736', '302', '39.788351', '-75.647516', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10592, 'Wilmington', 2787, '19801', '302', '39.720456', '-75.5175', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10593, 'Edgemoor', 2787, '19802', '302', '39.757157', '-75.527558', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10594, 'Wilmington', 2787, '19802', '302', '39.757157', '-75.527558', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10595, 'Talleyville', 2787, '19803', '302', '39.799949', '-75.539071', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10596, 'Port Penn', 2787, '19731', '302', '39.515187', '-75.575842', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10597, 'Bethel', 2787, '19931', '302', '38.576207', '-75.62445', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10598, 'Bridgeville', 2787, '19933', '302', '38.72952', '-75.592022', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10599, 'Laurel', 2787, '19956', '302', '38.549474', '-75.550594', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10600, 'Wilmington', 2787, '19806', '302', '39.761916', '-75.564219', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10601, 'Citibank', 2787, '19892', '302', '39.7459', '-75.5466', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10602, 'Wilmington', 2787, '19892', '302', '39.7459', '-75.5466', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10603, 'Frankford', 2787, '19945', '302', '38.503594', '-75.234969', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10604, 'Vlg Wellingtn', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10605, 'Wellington', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10606, 'West Palm Bch', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10607, 'West Palm Beach', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10608, 'Green Acres', 2788, '33415', '561', '26.662783', '-80.128768', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10609, 'Greenacres', 2788, '33415', '561', '26.662783', '-80.128768', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10610, 'Haverhill', 2788, '33415', '561', '26.662783', '-80.128768', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10611, 'West Palm Bch', 2788, '33415', '561', '26.662783', '-80.128768', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10612, 'West Palm Beach', 2788, '33415', '561', '26.662783', '-80.128768', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10613, 'Boca Raton', 2788, '33433', '561', '26.348213', '-80.158518', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10614, 'Boca Raton', 2788, '33497', '561', '26.3583', '-80.0835', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10615, 'Bushnell', 2788, '33513', '352', '28.690619', '-82.164645', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10616, 'Lithia', 2788, '33547', '813', '27.776703', '-82.161638', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10617, 'Lutz', 2788, '33549', '813', '28.136122', '-82.447118', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10618, 'Plant City', 2788, '33564', '813', '28.0184', '-82.1134', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10619, 'Plant City', 2788, '33565', '813', '28.099533', '-82.152598', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10620, 'Seffner', 2788, '33583', '813', '27.9906', '-82.2811', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10621, 'Rdg Mnr Est', 2788, '33597', '352', '28.509171', '-82.13237', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10622, 'Ridge Manor Estates', 2788, '33597', '352', '28.509171', '-82.13237', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10623, 'Webster', 2788, '33597', '352', '28.509171', '-82.13237', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10624, 'Tampa', 2788, '33615', '813', '28.006251', '-82.591136', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10625, 'Town N Country', 2788, '33615', '813', '28.006251', '-82.591136', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10626, 'Twn N Cntry', 2788, '33615', '813', '28.006251', '-82.591136', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10627, 'Home Shopping Club', 2788, '33650', '813', '27.9473', '-82.4588', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10628, 'Tampa', 2788, '33650', '813', '27.9473', '-82.4588', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10629, 'Tampa', 2788, '33680', '813', '27.9473', '-82.4588', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10630, 'Saint Petersburg', 2788, '33714', '727', '27.817408', '-82.677488', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10631, 'St Petersburg', 2788, '33714', '727', '27.817408', '-82.677488', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10632, 'Saint Petersburg', 2788, '33730', '727', '27.772', '-82.6614', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10633, 'St Petersburg', 2788, '33730', '727', '27.772', '-82.6614', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10634, 'Clearwater', 2788, '33765', '727', '27.975708', '-82.746457', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10635, 'Clearwater', 2788, '33767', '727', '27.97369', '-82.823659', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10636, 'Clearwater Beach', 2788, '33767', '727', '27.97369', '-82.823659', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10637, 'Saint Petersburg', 2788, '33784', '727', '27.7709', '-82.6795', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10638, 'St Petersburg', 2788, '33784', '727', '27.7709', '-82.6795', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10639, 'Lakeland', 2788, '33815', '863', '28.040404', '-82.006618', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10640, 'Ona', 2788, '33865', '863', '27.460525', '-81.940194', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10641, 'Hollywood', 2788, '33029', '954', '25.993542', '-80.408772', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10642, 'Miramar', 2788, '33029', '954', '25.993542', '-80.408772', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10643, 'Pembroke Pines', 2788, '33029', '954', '25.993542', '-80.408772', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10644, 'Pembroke Pnes', 2788, '33029', '954', '25.993542', '-80.408772', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10645, 'Homestead', 2788, '33031', '305', '25.518278', '-80.51563', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10646, 'Mia Shores', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10647, 'Mia Shrs', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10648, 'Miami', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10649, 'Miami Shores', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10650, 'N Miami Beach', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10651, 'North Miami', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10652, 'North Miami Beach', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10653, 'Uleta', 2788, '33162', '305', '25.928542', '-80.178882', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10654, 'Miami', 2788, '33164', '305', '25.7739', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10655, 'N Miami Beach', 2788, '33164', '305', '25.7739', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10656, 'North Miami Bch', 2788, '33164', '305', '25.7739', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10657, 'North Miami Beach', 2788, '33164', '305', '25.7739', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10658, 'Uleta', 2788, '33164', '305', '25.7739', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10659, 'Aventura', 2788, '33180', '305', '25.959732', '-80.142', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10660, 'Miami', 2788, '33180', '305', '25.959732', '-80.142', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10661, 'Nmb', 2788, '33180', '305', '25.959732', '-80.142', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10662, 'North Miami Beach', 2788, '33180', '305', '25.959732', '-80.142', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10663, 'Ojus', 2788, '33180', '305', '25.959732', '-80.142', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10664, 'Miami', 2788, '33197', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10665, 'Quail Heights', 2788, '33197', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10666, 'Miami', 2788, '33247', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10667, 'Miami', 2788, '33265', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10668, 'Olympia Heights', 2788, '33265', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10669, 'Olympia Hgts', 2788, '33265', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10670, 'Miami', 2788, '33299', '305', '25.7736', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10671, 'Cooper City', 2788, '33329', '954', '26.0645', '-80.2322', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10672, 'Davie', 2788, '33329', '954', '26.0645', '-80.2322', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10673, 'Fort Lauderdale', 2788, '33329', '954', '26.0645', '-80.2322', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10674, 'Ft Lauderdale', 2788, '33329', '954', '26.0645', '-80.2322', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10675, 'Cooper City', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10676, 'Davie', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10677, 'Fort Lauderdale', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10678, 'Ft Lauderdale', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10679, 'Laud Lakes', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10680, 'Pembroke Pines', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10681, 'Southwest Ranches', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10682, 'Sw Ranches', 2788, '33330', '954', '26.05865', '-80.325402', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10683, 'Fort Lauderdale', 2788, '33349', '954', '26.1216', '-80.1439', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10684, 'Ft Lauderdale', 2788, '33349', '954', '26.1216', '-80.1439', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10685, 'Royal Palm Beach', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10686, 'Royal Plm Bch', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10687, 'Royal Plm Beach', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10688, 'Village Of Wellington', 2788, '33414', '561', '26.638272', '-80.237182', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10689, 'Miami Shores', 2788, '33150', '305', '25.852597', '-80.209076', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10690, 'Miami', 2788, '33159', '305', '25.7739', '-80.1937', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10691, 'Barry University', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:54', '2018-11-29 04:50:54'),\n(10692, 'Biscayne Park', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10693, 'Miami', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10694, 'Miami Shores', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10695, 'Nmb', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10696, 'North Miami', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10697, 'North Miami Beach', 2788, '33161', '305', '25.894301', '-80.181814', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10698, 'Country Lakes', 2788, '33177', '305', '25.597877', '-80.40353', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10699, 'Miami', 2788, '33177', '305', '25.597877', '-80.40353', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10700, 'Perrine', 2788, '33177', '305', '25.597877', '-80.40353', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10701, 'Quail Heights', 2788, '33177', '305', '25.597877', '-80.40353', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10702, 'Miami', 2788, '33184', '305', '25.759434', '-80.407701', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10703, 'Olympia Heights', 2788, '33184', '305', '25.759434', '-80.407701', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10704, 'Sweetwater', 2788, '33184', '305', '25.759434', '-80.407701', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10705, 'C Gables', 2788, '33234', '305', '25.7478', '-80.2598', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10706, 'Coral Gables', 2788, '33234', '305', '25.7478', '-80.2598', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10707, 'Coral Gbls', 2788, '33234', '305', '25.7478', '-80.2598', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10708, 'Gables', 2788, '33234', '305', '25.7478', '-80.2598', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10709, 'Miami', 2788, '33234', '305', '25.7478', '-80.2598', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10710, 'Miami', 2788, '33245', '305', '25.7736', '-80.1937', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10711, 'Biscayne Park', 2788, '33261', '305', '25.8824', '-80.1808', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10712, 'Keystone Islands', 2788, '33261', '305', '25.8824', '-80.1808', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10713, 'Miami', 2788, '33261', '305', '25.8824', '-80.1808', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10714, 'North Miami', 2788, '33261', '305', '25.8824', '-80.1808', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10715, 'North Miami Beach', 2788, '33261', '305', '25.8824', '-80.1808', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10716, 'Fort Lauderdale', 2788, '33302', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10717, 'Ft Lauderdale', 2788, '33302', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10718, 'Fort Lauderdale', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10719, 'Ft Lauderdale', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10720, 'Laud Lakes', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10721, 'Lauderdale Lakes', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10722, 'North Lauderdale', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10723, 'Oakland Park', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10724, 'Tamarac', 2788, '33309', '954', '26.188293', '-80.170448', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10725, 'Fort Lauderdale', 2788, '33318', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10726, 'Ft Lauderdale', 2788, '33318', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10727, 'Plantation', 2788, '33318', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10728, 'Davie', 2788, '33325', '954', '26.112992', '-80.322173', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10729, 'Fort Lauderdale', 2788, '33325', '954', '26.112992', '-80.322173', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10730, 'Ft Lauderdale', 2788, '33325', '954', '26.112992', '-80.322173', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10731, 'Davie', 2788, '33312', '954', '26.084586', '-80.177016', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10732, 'Fort Lauderdale', 2788, '33312', '954', '26.084586', '-80.177016', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10733, 'Ft Lauderdale', 2788, '33312', '954', '26.084586', '-80.177016', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10734, 'Lauderdale Isles', 2788, '33312', '954', '26.084586', '-80.177016', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10735, 'Fort Lauderdale', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10736, 'Ft Lauderdale', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10737, 'Laud Lakes', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10738, 'Lauder Hill', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10739, 'Lauderdale Lakes', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10740, 'Lauderhill', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10741, 'Ldhl', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10742, 'North Lauderdale', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10743, 'Sunrise', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10744, 'Key Col Bch', 2788, '33051', '305', '24.7226', '-81.0216', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10745, 'C Gables', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10746, 'Coral Gables', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10747, 'Coral Gbls', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10748, 'Gables', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10749, 'Kendall', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10750, 'Miami', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10751, 'Palmetto Bay', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10752, 'Richmond Heights', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10753, 'Village Of Palmetto Bay', 2788, '33158', '305', '25.637295', '-80.309463', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10754, 'Aventura', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10755, 'Golden Beach', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10756, 'Miami', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10757, 'N Miami Beach', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10758, 'North Miami Beach', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10759, 'Sunny Isl Bch', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10760, 'Sunny Isles', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10761, 'Sunny Isles Beach', 2788, '33160', '305', '25.940416', '-80.13819', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10762, 'Miami', 2788, '33167', '305', '25.892642', '-80.239518', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10763, 'Miami Shores', 2788, '33167', '305', '25.892642', '-80.239518', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10764, 'North Miami', 2788, '33167', '305', '25.892642', '-80.239518', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10765, 'Miami', 2788, '33169', '305', '25.942758', '-80.214916', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10766, 'Miami Gardens', 2788, '33169', '305', '25.942758', '-80.214916', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10767, 'N Miami Beach', 2788, '33169', '305', '25.942758', '-80.214916', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10768, 'North Miami', 2788, '33169', '305', '25.942758', '-80.214916', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10769, 'North Miami Beach', 2788, '33169', '305', '25.942758', '-80.214916', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10770, 'Doral', 2788, '33178', '305', '25.843972', '-80.410369', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10771, 'Medley', 2788, '33178', '305', '25.843972', '-80.410369', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10772, 'Miami', 2788, '33178', '305', '25.843972', '-80.410369', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10773, 'Kendall', 2788, '33183', '305', '25.700128', '-80.40637', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10774, 'Miami', 2788, '33183', '305', '25.700128', '-80.40637', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10775, 'South Miami', 2788, '33183', '305', '25.700128', '-80.40637', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10776, 'Miami', 2788, '33194', '305', '25.751616', '-80.46561', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10777, 'Sweetwater', 2788, '33194', '305', '25.751616', '-80.46561', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10778, 'West Miami', 2788, '33194', '305', '25.751616', '-80.46561', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10779, 'Coconut Gr', 2788, '33233', '305', '25.7123', '-80.2575', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10780, 'Miami', 2788, '33233', '305', '25.7123', '-80.2575', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10781, 'Miami', 2788, '33242', '305', '25.7736', '-80.1937', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10782, 'Fort Lauderdale', 2788, '33301', '954', '26.121115', '-80.127232', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10783, 'Ft Lauderdale', 2788, '33301', '954', '26.121115', '-80.127232', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10784, 'Fort Lauderdale', 2788, '33303', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10785, 'Ft Lauderdale', 2788, '33303', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10786, 'Fort Lauderdale', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10787, 'Ft Lauderdale', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10788, 'Laud By Sea', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10789, 'Lauderdale By The Sea', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10790, 'Oakland Park', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10791, 'Sea Ranch Lakes', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10792, 'Sea Ranch Lks', 2788, '33308', '954', '26.186126', '-80.108025', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10793, 'Fort Lauderdale', 2788, '33310', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10794, 'Ft Lauderdale', 2788, '33310', '954', '26.1216', '-80.1439', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10795, 'Miami', 2788, '33153', '305', '25.7739', '-80.1937', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10796, 'Miami Shores', 2788, '33153', '305', '25.7739', '-80.1937', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10797, 'Kendall', 2788, '33283', '305', '25.6789', '-80.3175', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10798, 'Miami', 2788, '33283', '305', '25.6789', '-80.3175', '2018-11-29 04:50:55', '2018-11-29 04:50:55'),\n(10799, 'Town & Country Postal Store', 2788, '33283', '305', '25.6789', '-80.3175', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10800, 'Davie', 2788, '33317', '954', '26.110868', '-80.227322', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10801, 'Fort Lauderdale', 2788, '33317', '954', '26.110868', '-80.227322', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10802, 'Ft Lauderdale', 2788, '33317', '954', '26.110868', '-80.227322', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10803, 'Plantation', 2788, '33317', '954', '26.110868', '-80.227322', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10804, 'Cooper City', 2788, '33328', '954', '26.068796', '-80.272775', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10805, 'Davie', 2788, '33328', '954', '26.068796', '-80.272775', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10806, 'Fort Lauderdale', 2788, '33328', '954', '26.068796', '-80.272775', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10807, 'Ft Lauderdale', 2788, '33328', '954', '26.068796', '-80.272775', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10808, 'Financial Plaza', 2788, '33394', '954', '26.121363', '-80.139017', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10809, 'Fort Lauderdale', 2788, '33394', '954', '26.121363', '-80.139017', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10810, 'Ft Lauderdale', 2788, '33394', '954', '26.121363', '-80.139017', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10811, 'One Financial Plaza', 2788, '33394', '954', '26.121363', '-80.139017', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10812, 'N Palm Beach', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10813, 'North Palm Beach', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10814, 'Palm Bch Gdns', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10815, 'Palm Beach Gardens', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10816, 'Riviera Beach', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10817, 'West Palm Bch', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10818, 'West Palm Beach', 2788, '33410', '561', '26.845719', '-80.085858', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10819, 'Boynton Beach', 2788, '33426', '561', '26.527854', '-80.080323', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10820, 'Lake Worth', 2788, '33460', '561', '26.61987', '-80.058928', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10821, 'Jupiter', 2788, '33469', '561', '26.984587', '-80.105779', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10822, 'Jupiter Inlet', 2788, '33469', '561', '26.984587', '-80.105779', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10823, 'Jupiter Inlet Colony', 2788, '33469', '561', '26.984587', '-80.105779', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10824, 'Tequesta', 2788, '33469', '561', '26.984587', '-80.105779', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10825, 'Coleman', 2788, '33521', '352', '28.826323', '-82.091184', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10826, 'Dade City', 2788, '33526', '352', '28.3647', '-82.1964', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10827, 'Ruskin', 2788, '33571', '813', '27.7206', '-82.4333', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10828, 'Sun City Center', 2788, '33571', '813', '27.7206', '-82.4333', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10829, 'Sun City Ctr', 2788, '33571', '813', '27.7206', '-82.4333', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10830, 'Riverview', 2788, '33578', '813', '27.848004', '-82.342386', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10831, 'Sumterville', 2788, '33585', '352', '28.732384', '-82.028458', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10832, 'Sydney', 2788, '33587', '813', '27.9635', '-82.2063', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10833, 'Valrico', 2788, '33594', '813', '27.93768', '-82.244459', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10834, 'Buchanan', 2792, '52772', '563', '41.742805', '-91.190795', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10835, 'Cedar Bluff', 2792, '52772', '563', '41.742805', '-91.190795', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10836, 'Rochester', 2792, '52772', '563', '41.742805', '-91.190795', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10837, 'Tipton', 2792, '52772', '563', '41.742805', '-91.190795', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10838, 'Eldon', 2792, '52554', '641', '40.931743', '-92.23187', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10839, 'Beckwith', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10840, 'Fairfield', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10841, 'Olds', 2792, '52647', '319', '41.123554', '-91.564288', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10842, 'Davenport', 2792, '52806', '563', '41.578966', '-90.623614', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10843, 'Princeton', 2792, '52768', '563', '41.694719', '-90.382271', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10844, 'May', 2793, '83253', '208', '44.71773', '-113.763224', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10845, 'Patterson', 2793, '83253', '208', '44.71773', '-113.763224', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10846, 'Grace', 2793, '83283', '208', '42.351752', '-111.689675', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10847, 'Thatcher', 2793, '83283', '208', '42.351752', '-111.689675', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10848, 'Csi', 2793, '83301', '208', '42.313972', '-114.659529', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10849, 'Hollister', 2793, '83301', '208', '42.313972', '-114.659529', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10850, 'Lynwood', 2793, '83301', '208', '42.313972', '-114.659529', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10851, 'Three Creek', 2793, '83301', '208', '42.313972', '-114.659529', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10852, 'Twin Falls', 2793, '83301', '208', '42.313972', '-114.659529', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10853, 'Csi', 2793, '83303', '208', '42.5632', '-114.46', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10854, 'Twin Falls', 2793, '83303', '208', '42.5632', '-114.46', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10855, 'Hazelton', 2793, '83335', '208', '42.579298', '-114.05685', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10856, 'Lone Star', 2793, '83352', '208', '42.982443', '-114.292698', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10857, 'Shoshone', 2793, '83352', '208', '42.982443', '-114.292698', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10858, 'West Magic', 2793, '83352', '208', '42.982443', '-114.292698', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10859, 'Eagle Rock', 2793, '83402', '208', '43.524579', '-112.272089', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10860, 'Idaho Falls', 2793, '83402', '208', '43.524579', '-112.272089', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10861, 'Ashton', 2793, '83420', '208', '44.04445', '-111.327987', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10862, 'Drummond', 2793, '83420', '208', '44.04445', '-111.327987', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10863, 'Lamont', 2793, '83420', '208', '44.04445', '-111.327987', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10864, 'Marysville', 2793, '83420', '208', '44.04445', '-111.327987', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10865, 'Warm River', 2793, '83420', '208', '44.04445', '-111.327987', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10866, 'Big Springs', 2793, '83433', '208', '44.495543', '-111.328092', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10867, 'Island Park', 2793, '83433', '208', '44.495543', '-111.328092', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10868, 'Macks Inn', 2793, '83433', '208', '44.495543', '-111.328092', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10869, 'Menan', 2793, '83434', '208', '43.743542', '-112.030135', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10870, 'Mud Lake', 2793, '83450', '208', '43.840582', '-112.453091', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10871, 'Terreton', 2793, '83450', '208', '43.840582', '-112.453091', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10872, 'North Fork', 2793, '83469', '208', '45.073277', '-114.401702', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10873, 'Shoup', 2793, '83469', '208', '45.073277', '-114.401702', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10874, 'Lewiston', 2793, '83501', '208', '46.198808', '-116.882166', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10875, 'Clearwater', 2793, '83552', '208', '46.002528', '-116.00317', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10876, 'Harpster', 2793, '83552', '208', '46.002528', '-116.00317', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10877, 'Stites', 2793, '83552', '208', '46.002528', '-116.00317', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10878, 'Weippe', 2793, '83553', '208', '46.371788', '-115.954095', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10879, 'Banks', 2793, '83602', '208', '44.15994', '-116.051026', '2018-11-29 04:50:56', '2018-11-29 04:50:56');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(10880, 'Emmett', 2793, '83617', '208', '43.946159', '-116.492729', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10881, 'Montour', 2793, '83617', '208', '43.946159', '-116.492729', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10882, 'Kuna', 2793, '83634', '208', '43.407269', '-116.30398', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10883, 'Mora', 2793, '83634', '208', '43.407269', '-116.30398', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10884, 'Lake Fork', 2793, '83635', '208', '44.8326', '-116.0838', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10885, 'Mccall', 2793, '83635', '208', '44.8326', '-116.0838', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10886, 'Letha', 2793, '83636', '208', '43.835264', '-116.558814', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10887, 'Lowman', 2793, '83637', '208', '44.201374', '-115.442353', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10888, 'Nampa', 2793, '83651', '208', '43.598048', '-116.6102', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10889, 'Star', 2793, '83669', '208', '43.711757', '-116.494267', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10890, 'Sweet', 2793, '83670', '208', '44.03127', '-116.386558', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10891, 'Boise', 2793, '83701', '208', '43.6139', '-116.2025', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10892, 'Boise', 2793, '83702', '208', '43.664506', '-116.164578', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10893, 'Boise', 2793, '83735', '208', '43.6139', '-116.2025', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10894, 'Id State Dept Of Employ', 2793, '83735', '208', '43.6139', '-116.2025', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10895, 'Coolin', 2793, '83821', '208', '48.660498', '-116.837754', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10896, 'Ponderay', 2793, '83852', '208', '48.304844', '-116.534975', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10897, 'Smelterville', 2793, '83868', '208', '47.52121', '-116.194015', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10898, 'Sanders', 2793, '83870', '208', '47.1698', '-116.860064', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10899, 'Tensed', 2793, '83870', '208', '47.1698', '-116.860064', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10900, 'Oraville', 2794, '62971', '618', '37.8652', '-89.3834', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10901, 'Cobden', 2794, '62920', '618', '37.537623', '-89.221927', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10902, 'Colp', 2794, '62921', '618', '37.805665', '-89.083648', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10903, 'New Camp', 2794, '62921', '618', '37.805665', '-89.083648', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10904, 'Old Camp', 2794, '62921', '618', '37.805665', '-89.083648', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10905, 'Brushy', 2794, '62935', '618', '37.823046', '-88.628063', '2018-11-29 04:50:56', '2018-11-29 04:50:56'),\n(10906, 'Cornerville', 2794, '62935', '618', '37.823046', '-88.628063', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10907, 'Galatia', 2794, '62935', '618', '37.823046', '-88.628063', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10908, 'Harco', 2794, '62935', '618', '37.823046', '-88.628063', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10909, 'Brownfield', 2794, '62938', '618', '37.289554', '-88.562897', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10910, 'Golconda', 2794, '62938', '618', '37.289554', '-88.562897', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10911, 'Rosebud', 2794, '62938', '618', '37.289554', '-88.562897', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10912, 'Temple Hill', 2794, '62938', '618', '37.289554', '-88.562897', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10913, 'Jonesboro', 2794, '62952', '618', '37.422484', '-89.362379', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10914, 'Reynoldsville', 2794, '62952', '618', '37.422484', '-89.362379', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10915, 'Ware', 2794, '62952', '618', '37.422484', '-89.362379', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10916, 'Olive Branch', 2794, '62969', '618', '37.164564', '-89.341698', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10917, 'Ozark', 2794, '62972', '618', '37.555926', '-88.818696', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10918, 'Reynoldsburg', 2794, '62972', '618', '37.555926', '-88.818696', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10919, 'Tunnel Hill', 2794, '62972', '618', '37.555926', '-88.818696', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10920, 'Tunnel Hl', 2794, '62972', '618', '37.555926', '-88.818696', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10921, 'Dykersburg', 2794, '62987', '618', '37.654368', '-88.688929', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10922, 'Mccormick', 2794, '62987', '618', '37.654368', '-88.688929', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10923, 'Stonefort', 2794, '62987', '618', '37.654368', '-88.688929', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10924, 'Elco', 2794, '62988', '618', '37.232374', '-89.282259', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10925, 'Tamms', 2794, '62988', '618', '37.232374', '-89.282259', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10926, 'Creal Springs', 2794, '62922', '618', '37.608124', '-88.820681', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10927, 'Egyptian Hills', 2794, '62922', '618', '37.608124', '-88.820681', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10928, 'Egyptian Shores', 2794, '62922', '618', '37.608124', '-88.820681', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10929, 'Lake Crest', 2794, '62922', '618', '37.608124', '-88.820681', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10930, 'Eagle Point Bay', 2794, '62939', '618', '37.537396', '-88.995135', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10931, 'Goreville', 2794, '62939', '618', '37.537396', '-88.995135', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10932, 'Pulleys Mill', 2794, '62939', '618', '37.537396', '-88.995135', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10933, 'Olmsted', 2794, '62970', '618', '37.207782', '-89.101046', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10934, 'Eddyville', 2794, '62928', '618', '37.511914', '-88.597862', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10935, 'Beulah Heights', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10936, 'College Heights', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10937, 'Cottagegrove', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10938, 'East Eldorado', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10939, 'Eldorado', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10940, 'Rector', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10941, 'Texas City', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10942, 'Wasson', 2794, '62930', '618', '37.827439', '-88.43682', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10943, 'Harrisburg', 2794, '62946', '618', '37.706224', '-88.543086', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10944, 'North Fork', 2794, '62979', '618', '37.796088', '-88.26047', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10945, 'Ridgway', 2794, '62979', '618', '37.796088', '-88.26047', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10946, 'Oraville', 2794, '62994', '618', '37.9073', '-89.33296', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10947, 'Vergennes', 2794, '62994', '618', '37.9073', '-89.33296', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10948, 'Hamletsburg', 2794, '62910', '618', '37.140078', '-88.58352', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10949, 'New Liberty', 2794, '62910', '618', '37.140078', '-88.58352', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10950, 'Shady Grove', 2794, '62910', '618', '37.140078', '-88.58352', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10951, 'Unionville', 2794, '62910', '618', '37.140078', '-88.58352', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10952, 'Buncombe', 2794, '62912', '618', '37.468922', '-89.032446', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10953, 'Elvira', 2794, '62912', '618', '37.468922', '-89.032446', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10954, 'Lick Creek', 2794, '62912', '618', '37.468922', '-89.032446', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10955, 'Dowell', 2794, '62927', '618', '37.93967', '-89.24063', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10956, 'Herod', 2794, '62947', '618', '37.533324', '-88.4705', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10957, 'Vienna', 2794, '62995', '618', '37.423928', '-88.89868', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10958, 'Atlanta', 2796, '67008', '620', '37.490412', '-96.770094', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10959, 'Caldwell', 2796, '67022', '620', '37.106188', '-97.637701', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10960, 'Corbin', 2796, '67022', '620', '37.106188', '-97.637701', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10961, 'El Dorado', 2796, '67042', '316', '37.846492', '-96.757746', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10962, 'Halstead', 2796, '67056', '316', '38.02864', '-97.509605', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10963, 'Lehigh', 2796, '67073', '620', '38.397869', '-97.316484', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10964, 'Milan', 2796, '67105', '620', '37.256546', '-97.638076', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10965, 'Milton', 2796, '67106', '620', '37.452422', '-97.751832', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10966, 'Piedmont', 2796, '67122', '620', '37.641124', '-96.407312', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10967, 'Potwin', 2796, '67123', '620', '37.951753', '-96.995996', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10968, 'Cullison', 2796, '67124', '620', '37.652863', '-98.767602', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10969, 'Pratt', 2796, '67124', '620', '37.652863', '-98.767602', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10970, 'Rago', 2796, '67142', '620', '37.464554', '-98.199487', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10971, 'Spivey', 2796, '67142', '620', '37.464554', '-98.199487', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10972, 'New Salem', 2796, '67156', '620', '37.251772', '-96.970092', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10973, 'Winfield', 2796, '67156', '620', '37.251772', '-96.970092', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10974, 'Zenda', 2796, '67159', '620', '37.427753', '-98.30013', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10975, 'Eastborough', 2796, '67206', '316', '37.701181', '-97.225918', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10976, 'Wichita', 2796, '67206', '316', '37.701181', '-97.225918', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10977, 'Eastborough', 2796, '67207', '316', '37.66703', '-97.226746', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10978, 'Wichita', 2796, '67207', '316', '37.66703', '-97.226746', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10979, 'Eastborough', 2796, '67208', '316', '37.70465', '-97.280637', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10980, 'Wichita', 2796, '67208', '316', '37.70465', '-97.280637', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10981, 'Wichita', 2796, '67209', '316', '37.664144', '-97.434995', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10982, 'Usps Offical Mail', 2796, '67276', '316', '37.691', '-97.3412', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10983, 'Wichita', 2796, '67276', '316', '37.691', '-97.3412', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10984, 'Beverly', 2796, '67423', '785', '38.9583', '-97.984424', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10985, 'Ellsworth', 2796, '67439', '785', '38.696942', '-98.16827', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10986, 'Falun', 2796, '67442', '785', '38.653174', '-97.814392', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10987, 'Wilson', 2796, '67490', '785', '38.78397', '-98.393012', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10988, 'Windom', 2796, '67491', '620', '38.39888', '-97.879805', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10989, 'Chase', 2796, '67524', '620', '38.38406', '-98.368882', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10990, 'Ellinwood', 2796, '67526', '620', '38.377752', '-98.59018', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10991, 'Haven', 2796, '67543', '620', '37.858306', '-97.792761', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10992, 'Mc Cracken', 2796, '67556', '785', '38.624958', '-99.475428', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10993, 'Ness City', 2796, '67560', '785', '38.421166', '-99.915036', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10994, 'Lake City', 2796, '67071', '620', '37.191762', '-98.875681', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10995, 'Mulvane', 2796, '67110', '316', '37.45536', '-97.228327', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10996, 'Towanda', 2796, '67144', '316', '37.812698', '-96.998688', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10997, 'Udall', 2796, '67146', '620', '37.389395', '-97.123014', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10998, 'Park City', 2796, '67219', '316', '37.773821', '-97.318661', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(10999, 'Wichita', 2796, '67219', '316', '37.773821', '-97.318661', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11000, 'Mcconnell AFB', 2796, '67221', '316', '37.623794', '-97.262489', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11001, 'Wichita', 2796, '67221', '316', '37.623794', '-97.262489', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11002, 'Wichita', 2796, '67230', '316', '37.686716', '-97.171299', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11003, 'Wichita', 2796, '67235', '316', '37.686074', '-97.499048', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11004, 'Elk City', 2796, '67344', '620', '37.329074', '-95.914874', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11005, 'Niotaze', 2796, '67355', '620', '37.050286', '-96.009659', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11006, 'Peru', 2796, '67360', '620', '37.064263', '-96.10449', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11007, 'Canton', 2796, '67428', '620', '38.384172', '-97.417814', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11008, 'Downs', 2796, '67437', '785', '39.472985', '-98.610267', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11009, 'Conway', 2796, '67460', '620', '38.384211', '-97.71288', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11010, 'Mc Pherson', 2796, '67460', '620', '38.384211', '-97.71288', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11011, 'Mcpherson', 2796, '67460', '620', '38.384211', '-97.71288', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11012, 'Hutchinson', 2796, '67505', '620', '38.028375', '-97.945562', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11013, 'S Hutchinson', 2796, '67505', '620', '38.028375', '-97.945562', '2018-11-29 04:50:57', '2018-11-29 04:50:57'),\n(11014, 'So Hutchinson', 2796, '67505', '620', '38.028375', '-97.945562', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11015, 'South Hutchinson', 2796, '67505', '620', '38.028375', '-97.945562', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11016, 'Brownell', 2796, '67521', '785', '38.624585', '-99.696858', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11017, 'Dundee', 2796, '67530', '620', '38.376632', '-98.821129', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11018, 'Great Bend', 2796, '67530', '620', '38.376632', '-98.821129', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11019, 'Heizer', 2796, '67530', '620', '38.376632', '-98.821129', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11020, 'Hoisington', 2796, '67544', '620', '38.580127', '-98.811522', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11021, 'Susank', 2796, '67544', '620', '38.580127', '-98.811522', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11022, 'Agra', 2796, '67621', '785', '39.871984', '-99.141412', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11023, 'Glade', 2796, '67639', '785', '39.65023', '-99.284998', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11024, 'Kirwin', 2796, '67644', '785', '39.654719', '-99.159518', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11025, 'Norcatur', 2796, '67653', '785', '39.87117', '-100.235031', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11026, 'Stockton', 2796, '67669', '785', '39.437341', '-99.369848', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11027, 'Atwood', 2796, '67730', '785', '39.785138', '-100.964704', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11028, 'Grainfield', 2796, '67737', '785', '39.067938', '-100.48093', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11029, 'Oakley', 2796, '67748', '785', '38.981278', '-100.881216', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11030, 'Menlo', 2796, '67753', '785', '39.372552', '-100.777027', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11031, 'Rexford', 2796, '67753', '785', '39.372552', '-100.777027', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11032, 'Copeland', 2796, '67837', '620', '37.605674', '-100.597894', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11033, 'Dighton', 2796, '67839', '620', '38.481127', '-100.393048', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11034, 'Shields', 2796, '67839', '620', '38.481127', '-100.393048', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11035, 'Ingalls', 2796, '67853', '620', '37.876162', '-100.528224', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11036, 'Washington', 2796, '66968', '785', '39.863941', '-97.049604', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11037, 'Webber', 2796, '66970', '785', '39.914779', '-97.988413', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11038, 'Argonia', 2796, '67004', '620', '37.299578', '-97.694814', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11039, 'Coldwater', 2796, '67029', '620', '37.191086', '-99.218736', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11040, 'Danville', 2796, '67036', '620', '37.262096', '-97.866594', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11041, 'Eureka', 2796, '67045', '620', '37.911968', '-96.332759', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11042, 'Reece', 2796, '67045', '620', '37.911968', '-96.332759', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11043, 'Greensburg', 2796, '67054', '620', '37.653344', '-99.394864', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11044, 'Corwin', 2796, '67061', '620', '37.122906', '-98.40333', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11045, 'Hazelton', 2796, '67061', '620', '37.122906', '-98.40333', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11046, 'Belmont', 2796, '67068', '620', '37.588377', '-98.072298', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11047, 'Kingman', 2796, '67068', '620', '37.588377', '-98.072298', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11048, 'Andover', 2796, '67002', '316', '37.69413', '-97.105235', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11049, 'Attica', 2796, '67009', '620', '37.275427', '-98.239652', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11050, 'Bluff City', 2796, '67018', '620', '37.076574', '-97.884053', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11051, 'Burrton', 2796, '67020', '620', '38.021516', '-97.674455', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11052, 'Kiowa', 2796, '67070', '620', '37.024233', '-98.484736', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11053, 'Murdock', 2796, '67111', '620', '37.611339', '-97.956634', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11054, 'Sharon', 2796, '67138', '620', '37.2703', '-98.431605', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11055, 'Riverdale', 2796, '67152', '620', '37.280043', '-97.385678', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11056, 'Wellington', 2796, '67152', '620', '37.280043', '-97.385678', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11057, 'Whitewater', 2796, '67154', '316', '37.977952', '-97.115846', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11058, 'Wichita', 2796, '67202', '316', '37.686063', '-97.334893', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11059, 'Wichita', 2796, '67213', '316', '37.665315', '-97.362465', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11060, 'Bel Aire', 2796, '67220', '316', '37.752073', '-97.280884', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11061, 'Wichita', 2796, '67220', '316', '37.752073', '-97.280884', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11062, 'Wichita', 2796, '67227', '316', '37.62815', '-97.498725', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11063, 'Longton', 2796, '67352', '620', '37.409289', '-96.053783', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11064, 'Sycamore', 2796, '67363', '620', '37.320311', '-95.730278', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11065, 'Durham', 2796, '67438', '620', '38.522204', '-97.261408', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11066, 'Hunter', 2796, '67452', '785', '39.263125', '-98.433828', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11067, 'Kanopolis', 2796, '67454', '785', '38.685955', '-98.130561', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11068, 'Hutchinson', 2796, '67502', '620', '38.136981', '-97.922579', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11069, 'Medora', 2796, '67502', '620', '38.136981', '-97.922579', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11070, 'Bison', 2796, '67520', '785', '38.530498', '-99.198524', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11071, 'Buhler', 2796, '67522', '620', '38.122708', '-97.725141', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11072, 'Kinsley', 2796, '67547', '620', '37.910876', '-99.432538', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11073, 'Nickerson', 2796, '67561', '620', '38.107997', '-98.078728', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11074, 'Pretty Pr', 2796, '67570', '620', '37.793569', '-97.96329', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11075, 'Pretty Praire', 2796, '67570', '620', '37.793569', '-97.96329', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11076, 'Pretty Prairie', 2796, '67570', '620', '37.793569', '-97.96329', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11077, 'Clayton', 2796, '67629', '785', '39.745117', '-100.166222', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11078, 'Collyer', 2796, '67631', '785', '38.91424', '-100.058072', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11079, 'Gaylord', 2796, '67638', '785', '39.654649', '-98.785328', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11080, 'Densmore', 2796, '67645', '785', '39.69744', '-99.904074', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11081, 'Edmond', 2796, '67645', '785', '39.69744', '-99.904074', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11082, 'Lenora', 2796, '67645', '785', '39.69744', '-99.904074', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11083, 'New Almelo', 2796, '67645', '785', '39.69744', '-99.904074', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11084, 'Gove', 2796, '67736', '785', '38.851471', '-100.484815', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11085, 'Ashland', 2796, '67831', '620', '37.211508', '-99.81787', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11086, 'Coolidge', 2796, '67836', '620', '38.080738', '-101.999718', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11087, 'Marienthal', 2796, '67863', '620', '38.409775', '-101.12803', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11088, 'Modoc', 2796, '67863', '620', '38.409775', '-101.12803', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11089, 'Bloom', 2796, '67865', '620', '37.4153', '-99.825304', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11090, 'Minneola', 2796, '67865', '620', '37.4153', '-99.825304', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11091, 'Rolla', 2796, '67954', '620', '37.118526', '-101.691312', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11092, 'Augusta', 2796, '67010', '316', '37.657722', '-96.955943', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11093, 'Benton', 2796, '67017', '316', '37.832589', '-97.106806', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11094, 'Clearwater', 2796, '67026', '620', '37.50492', '-97.500927', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11095, 'Hesston', 2796, '67062', '620', '38.144702', '-97.436006', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11096, 'Onset', 2799, '02558', '508', '41.747224', '-70.654436', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11097, 'Somerset', 2799, '02726', '508', '41.757258', '-71.150943', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11098, 'North Eastham', 2799, '02651', '508', '41.8477', '-70.0042', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11099, 'Orleans', 2799, '02653', '508', '41.748664', '-69.974607', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11100, 'West Chatham', 2799, '02669', '508', '41.670312', '-69.992893', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11101, 'Darnestown', 2800, '20878', '301', '39.111862', '-77.245232', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11102, 'Gaithersburg', 2800, '20878', '301', '39.111862', '-77.245232', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11103, 'N Potomac', 2800, '20878', '301', '39.111862', '-77.245232', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11104, 'No Potomac', 2800, '20878', '301', '39.111862', '-77.245232', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11105, 'North Potomac', 2800, '20878', '301', '39.111862', '-77.245232', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11106, 'Riverdale', 2800, '20737', '301', '38.962414', '-76.915311', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11107, 'Riverdale Park', 2800, '20737', '301', '38.962414', '-76.915311', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11108, 'Riverdale Pk', 2800, '20737', '301', '38.962414', '-76.915311', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11109, 'Barstow', 2800, '20610', '410', '38.5243', '-76.6167', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11110, 'Broomes Is', 2800, '20615', '410', '38.415124', '-76.547254', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11111, 'Broomes Island', 2800, '20615', '410', '38.415124', '-76.547254', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11112, 'Clements', 2800, '20624', '301', '38.332632', '-76.735127', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11113, 'Laurel', 2800, '20724', '301', '39.095536', '-76.8021', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11114, 'Maryland City', 2800, '20724', '301', '39.095536', '-76.8021', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11115, 'Md City', 2800, '20724', '301', '39.095536', '-76.8021', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11116, 'Russett', 2800, '20724', '301', '39.095536', '-76.8021', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11117, 'Valley Lee', 2800, '20692', '301', '38.186038', '-76.506641', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11118, 'Laurel', 2800, '20708', '301', '39.051006', '-76.83148', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11119, 'Montpelier', 2800, '20708', '301', '39.051006', '-76.83148', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11120, 'Bladensburg', 2800, '20710', '301', '38.943391', '-76.92546', '2018-11-29 04:50:58', '2018-11-29 04:50:58'),\n(11121, 'Bowie', 2800, '20717', '301', '39.0064', '-76.7795', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11122, 'Mitchellville', 2800, '20717', '301', '39.0064', '-76.7795', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11123, 'Harwood', 2800, '20776', '410', '38.869506', '-76.608351', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11124, 'Clinton', 2800, '20735', '301', '38.739406', '-76.911837', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11125, 'Largo', 2800, '20792', '301', '38.8159', '-76.7498', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11126, 'Upper Marlboro', 2800, '20792', '301', '38.8159', '-76.7498', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11127, 'Uppr Marlboro', 2800, '20792', '301', '38.8159', '-76.7498', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11128, 'Glenn Dale', 2800, '20769', '301', '38.986542', '-76.818322', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11129, 'Bethesda', 2800, '20824', '301', '38.9806', '-77.1008', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11130, 'Rockville', 2800, '20851', '301', '39.078248', '-77.123786', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11131, 'Gaithersburg', 2800, '20883', '301', '39.1743', '-77.1915', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11132, 'Bethesda', 2800, '20892', '301', '39.0003', '-77.1056', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11133, 'National Institute Of Health', 2800, '20892', '301', '39.0003', '-77.1056', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11134, 'Hillandale', 2800, '20903', '301', '39.014074', '-76.982265', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11135, 'Silver Spring', 2800, '20903', '301', '39.014074', '-76.982265', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11136, 'Takoma Park', 2800, '20903', '301', '39.014074', '-76.982265', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11137, 'Silver Spring', 2800, '20908', '301', '38.9909', '-77.0267', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11138, 'College Park', 2800, '20742', '301', '38.989984', '-76.9421', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11139, 'University Of Maryland', 2800, '20742', '301', '38.989984', '-76.9421', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11140, 'Fort Washington', 2800, '20744', '301', '38.754528', '-77.004762', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11141, 'Ft Washington', 2800, '20744', '301', '38.754528', '-77.004762', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11142, 'Ellicott', 2800, '21042', '410', '39.276698', '-76.899406', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11143, 'Ellicott City', 2800, '21042', '410', '39.276698', '-76.899406', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11144, 'Foxridge', 2800, '21133', '410', '39.375202', '-76.813802', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11145, 'Mcdonogh Run', 2800, '21133', '410', '39.375202', '-76.813802', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11146, 'Randallstown', 2800, '21133', '410', '39.375202', '-76.813802', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11147, 'Columbia', 2800, '21044', '410', '39.20442', '-76.881353', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11148, 'Glen Burnie', 2800, '21060', '410', '39.17281', '-76.576408', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11149, 'Joppa', 2800, '21085', '410', '39.447408', '-76.352666', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11150, 'Joppatown', 2800, '21085', '410', '39.447408', '-76.352666', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11151, 'Joppatowne', 2800, '21085', '410', '39.447408', '-76.352666', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11152, 'Adelphi', 2800, '20783', '301', '39.00357', '-76.97103', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11153, 'Hyattsville', 2800, '20783', '301', '39.00357', '-76.97103', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11154, 'Langley Park', 2800, '20783', '301', '39.00357', '-76.97103', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11155, 'Easton', 2800, '21601', '410', '38.791663', '-76.047992', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11156, 'Betterton', 2800, '21610', '410', '39.357176', '-76.06592', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11157, 'Glenelg', 2800, '21737', '410', '39.260707', '-77.017558', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11158, 'Jefferson', 2800, '21755', '301', '39.350988', '-77.574204', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11159, 'Middletown', 2800, '21769', '301', '39.44203', '-77.567619', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11160, 'Rocky Ridge', 2800, '21778', '301', '39.611768', '-77.333956', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11161, 'Taneytown', 2800, '21787', '410', '39.657465', '-77.175208', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11162, 'Chance', 2800, '21821', '410', '38.137945', '-75.974106', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11163, 'Dames Quarter', 2800, '21821', '410', '38.137945', '-75.974106', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11164, 'Deal Island', 2800, '21821', '410', '38.137945', '-75.974106', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11165, 'Wenona', 2800, '21821', '410', '38.137945', '-75.974106', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11166, 'Baltimore', 2800, '21278', '443', '39.2905', '-76.6125', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11167, 'Baltimore Sunpapers', 2800, '21278', '443', '39.2905', '-76.6125', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11168, 'Lynch', 2800, '21678', '410', '39.305841', '-76.099988', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11169, 'Worton', 2800, '21678', '410', '39.305841', '-76.099988', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11170, 'Lutherville', 2800, '21094', '410', '39.4211', '-76.6266', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11171, 'Lutherville Timonium', 2800, '21094', '410', '39.4211', '-76.6266', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11172, 'Luthvle Timon', 2800, '21094', '410', '39.4211', '-76.6266', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11173, 'Timonium', 2800, '21094', '410', '39.4211', '-76.6266', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11174, 'Millersville', 2800, '21108', '410', '39.08437', '-76.615686', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11175, 'Dept Hs', 2800, '20588', '301', '0', '0', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11176, 'Dhs', 2800, '20588', '301', '0', '0', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11177, 'Saint Charles', 2800, '20603', '301', '38.625891', '-76.97828', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11178, 'Waldorf', 2800, '20603', '301', '38.625891', '-76.97828', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11179, 'Saint Charles', 2800, '20604', '301', '38.6247', '-76.9395', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11180, 'Waldorf', 2800, '20604', '301', '38.6247', '-76.9395', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11181, 'Cheltenham', 2800, '20623', '301', '38.743566', '-76.839013', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11182, 'Cheltenham', 2800, '20588', '301', '0', '0', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11183, 'Columbia', 2800, '20588', '301', '0', '0', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11184, 'Saint Marys', 2800, '20686', '301', '38.1867', '-76.4348', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11185, 'Saint Marys City', 2800, '20686', '301', '38.1867', '-76.4348', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11186, 'St Marys City', 2800, '20686', '301', '38.1867', '-76.4348', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11187, 'Solomons', 2800, '20688', '410', '38.329554', '-76.467884', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11188, 'Tall Timbers', 2800, '20690', '301', '38.157656', '-76.527974', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11189, 'Beltsville', 2800, '20705', '301', '39.043221', '-76.886123', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11190, 'Calverton', 2800, '20705', '301', '39.043221', '-76.886123', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11191, 'Bowie', 2800, '20720', '301', '38.995005', '-76.790013', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11192, 'Greenbelt', 2800, '20770', '301', '39.001552', '-76.88766', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11193, 'Silver Spring', 2800, '20907', '301', '38.9909', '-77.0267', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11194, 'Riderwood', 2800, '21139', '410', '39.4095', '-76.6487', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11195, 'Street', 2800, '21154', '410', '39.647281', '-76.377497', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11196, 'Fowbelsburg', 2800, '21155', '410', '39.569161', '-76.805438', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11197, 'Upperco', 2800, '21155', '410', '39.569161', '-76.805438', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11198, 'Gambrills', 2800, '21054', '410', '39.025663', '-76.665275', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11199, 'Gibson Island', 2800, '21056', '410', '39.07527', '-76.433532', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11200, 'Glen Arm', 2800, '21057', '410', '39.448318', '-76.501341', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11201, 'Bradshaw', 2800, '21087', '410', '39.447357', '-76.418264', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11202, 'Kingsville', 2800, '21087', '410', '39.447357', '-76.418264', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11203, 'Linthicum', 2800, '21090', '410', '39.206336', '-76.668646', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11204, 'Bel Alton', 2800, '20611', '301', '38.466791', '-76.974545', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11205, 'Benedict', 2800, '20612', '301', '38.515728', '-76.677396', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11206, 'Dowell', 2800, '20629', '410', '38.337106', '-76.453699', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11207, 'Issue', 2800, '20645', '301', '38.282172', '-76.955282', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11208, 'Swan Point', 2800, '20645', '301', '38.282172', '-76.955282', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11209, 'Oxon Hill', 2800, '20745', '301', '38.805865', '-76.999525', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11210, 'Camp Springs', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11211, 'Hillcrest Hgts', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11212, 'Hillcrest Hts', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11213, 'Marlow Heights', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11214, 'White Plains', 2800, '20695', '301', '38.584282', '-76.976714', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11215, 'Bowie', 2800, '20715', '301', '38.992636', '-76.73894', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11216, 'Morningside', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11217, 'Silver Hill', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11218, 'Suitland', 2800, '20746', '301', '38.835446', '-76.9122', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11219, 'District Heights', 2800, '20747', '301', '38.85156', '-76.887297', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11220, 'District Hts', 2800, '20747', '301', '38.85156', '-76.887297', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11221, 'Forestville', 2800, '20747', '301', '38.85156', '-76.887297', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11222, 'Camp Springs', 2800, '20748', '301', '38.817733', '-76.939861', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11223, 'Hillcrest Heights', 2800, '20748', '301', '38.817733', '-76.939861', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11224, 'Hillcrest Hts', 2800, '20748', '301', '38.817733', '-76.939861', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11225, 'Marlow Heights', 2800, '20748', '301', '38.817733', '-76.939861', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11226, 'Marlow Hgts', 2800, '20748', '301', '38.817733', '-76.939861', '2018-11-29 04:50:59', '2018-11-29 04:50:59'),\n(11227, 'Temple Hills', 2800, '20748', '301', '38.817733', '-76.939861', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11228, 'Andrews AFB', 2800, '20762', '301', '38.806108', '-76.877177', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11229, 'Andrews Air Force Base', 2800, '20762', '301', '38.806108', '-76.877177', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11230, 'Rockville', 2800, '20847', '301', '39.0839', '-77.1534', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11231, 'Rockville', 2800, '20848', '301', '39.0839', '-77.1534', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11232, 'Dares Beach', 2800, '20678', '410', '38.508754', '-76.595554', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11233, 'Pr Frederick', 2800, '20678', '410', '38.508754', '-76.595554', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11234, 'Prince Frederick', 2800, '20678', '410', '38.508754', '-76.595554', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11235, 'Prnc Frederck', 2800, '20678', '410', '38.508754', '-76.595554', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11236, 'Ridge', 2800, '20680', '301', '38.122797', '-76.36903', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11237, 'Laytonsville', 2800, '20882', '301', '39.229095', '-77.142379', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11238, 'Bethesda', 2800, '20813', '240', '38.9806', '-77.1008', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11239, 'Chevy Chase', 2800, '20813', '240', '38.9806', '-77.1008', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11240, 'Garrett Park', 2800, '20896', '301', '39.034809', '-77.09255', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11241, 'Silver Spring', 2800, '20915', '301', '38.9909', '-77.0267', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11242, 'Wheaton', 2800, '20915', '301', '38.9909', '-77.0267', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11243, 'Forest Heights', 2800, '20745', '301', '38.805865', '-76.999525', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11244, 'Forest Hts', 2800, '20745', '301', '38.805865', '-76.999525', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11245, 'National Harbor', 2800, '20745', '301', '38.805865', '-76.999525', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11246, 'Columbia', 2800, '21046', '410', '39.175036', '-76.837241', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11247, 'Fallston', 2800, '21047', '410', '39.533239', '-76.439024', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11248, 'Glen Burnie', 2800, '21062', '410', '39.1626', '-76.625', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11249, 'Md Motor Vehicle Admin', 2800, '21062', '410', '39.1626', '-76.625', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11250, 'Hydes', 2800, '21082', '410', '39.476382', '-76.471889', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11251, 'Newburg', 2800, '20664', '301', '38.317638', '-76.931282', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11252, 'Granite', 2800, '21163', '410', '39.339327', '-76.85797', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11253, 'Elkton', 2800, '21921', '410', '39.617117', '-75.867654', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11254, 'Georgetown', 2800, '21930', '410', '39.372097', '-75.891354', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11255, 'Cambridge', 2800, '21613', '410', '38.475362', '-76.102234', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11256, 'Clear Spring', 2800, '21722', '301', '39.65344', '-77.901485', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11257, 'Monrovia', 2800, '21770', '301', '39.348111', '-77.257048', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11258, 'Graceham', 2800, '21788', '301', '39.594866', '-77.423936', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11259, 'Thurmont', 2800, '21788', '301', '39.594866', '-77.423936', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11260, 'Woodbine', 2800, '21797', '410', '39.352614', '-77.077784', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11261, 'Berlin', 2800, '21811', '410', '38.314132', '-75.235476', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11262, 'Ocean Pines', 2800, '21811', '410', '38.314132', '-75.235476', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11263, 'Ocean Pnes', 2800, '21811', '410', '38.314132', '-75.235476', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11264, 'Baltimore', 2800, '21279', '443', '39.2905', '-76.6125', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11265, 'Sun Trust Bank', 2800, '21279', '443', '39.2905', '-76.6125', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11266, 'Crocheron', 2800, '21627', '410', '38.184537', '-76.058744', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11267, 'Kennedyville', 2800, '21645', '410', '39.320383', '-75.970878', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11268, 'Rock Hall', 2800, '21661', '410', '39.10458', '-76.223793', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11269, 'Saint Michaels', 2800, '21663', '410', '38.799852', '-76.233299', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11270, 'St Michaels', 2800, '21663', '410', '38.799852', '-76.233299', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11271, 'Sudlersville', 2800, '21668', '410', '39.178487', '-75.864982', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11272, 'Templeville', 2800, '21670', '410', '39.1364', '-75.7666', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11273, 'Madison', 2800, '21677', '410', '38.512271', '-76.180954', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11274, 'Woolford', 2800, '21677', '410', '38.512271', '-76.180954', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11275, 'College Estates', 2800, '21702', '301', '39.495904', '-77.454014', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11276, 'Fort Detrick', 2800, '21702', '301', '39.495904', '-77.454014', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11277, 'Frederick', 2800, '21702', '301', '39.495904', '-77.454014', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11278, 'Boonsboro', 2800, '21713', '301', '39.518924', '-77.696112', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11279, 'Baltimore', 2800, '21218', '410', '39.328596', '-76.600322', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11280, 'Waverly', 2800, '21218', '410', '39.328596', '-76.600322', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11281, 'Baltimore', 2800, '21220', '410', '39.340232', '-76.40195', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11282, 'Middle River', 2800, '21220', '410', '39.340232', '-76.40195', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11283, 'Annapolis', 2800, '21402', '410', '38.98627', '-76.474806', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11284, 'Naval Academy', 2800, '21402', '410', '38.98627', '-76.474806', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11285, 'Cresaptown', 2800, '21502', '301', '39.629407', '-78.76594', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11286, 'Cumberland', 2800, '21502', '301', '39.629407', '-78.76594', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11287, 'Lavale', 2800, '21502', '301', '39.629407', '-78.76594', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11288, 'Cumberland', 2800, '21504', '301', '39.6528', '-78.7626', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11289, 'Lavale', 2800, '21504', '301', '39.6528', '-78.7626', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11290, 'Ellerslie', 2800, '21529', '301', '39.71279', '-78.78255', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11291, 'Kitzmiller', 2800, '21538', '301', '39.400758', '-79.220752', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11292, 'Shallmar', 2800, '21538', '301', '39.400758', '-79.220752', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11293, 'Mount Savage', 2800, '21545', '301', '39.69182', '-78.861986', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11294, 'Centreville', 2800, '21617', '410', '39.057357', '-76.024902', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11295, 'Fairplay', 2800, '21733', '301', '39.54597', '-77.7596', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11296, 'St James', 2800, '21733', '301', '39.54597', '-77.7596', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11297, 'Citicorp Brm', 2800, '21749', '301', '39.6447', '-77.7197', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11298, 'Hagerstown', 2800, '21749', '301', '39.6447', '-77.7197', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11299, 'Hancock', 2800, '21750', '301', '39.670891', '-78.197285', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11300, 'Lisbon', 2800, '21765', '410', '39.312972', '-77.001713', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11301, 'Maugansville', 2800, '21767', '301', '39.69813', '-77.748275', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11302, 'Sharpsburg', 2800, '21782', '301', '39.4452', '-77.769692', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11303, 'Smithsburg', 2800, '21783', '301', '39.647431', '-77.5746', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11304, 'Woodsboro', 2800, '21798', '301', '39.542828', '-77.29481', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11305, 'Salisbury', 2800, '21801', '410', '38.375981', '-75.64106', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11306, 'Bivalve', 2800, '21814', '410', '38.295555', '-75.889399', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11307, 'Baltimore', 2800, '21281', '443', '39.2905', '-76.6125', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11308, 'E New Market', 2800, '21631', '410', '38.585037', '-75.934965', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11309, 'East New Market', 2800, '21631', '410', '38.585037', '-75.934965', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11310, 'Federalsburg', 2800, '21632', '410', '38.720592', '-75.792586', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11311, 'Madison', 2800, '21648', '410', '38.490023', '-76.235282', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11312, 'Sherwood', 2800, '21665', '410', '38.746799', '-76.327449', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11313, 'Arlington', 2800, '21215', '410', '39.343076', '-76.684788', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11314, 'Baltimore', 2800, '21215', '410', '39.343076', '-76.684788', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11315, 'Baltimore', 2800, '21216', '410', '39.310816', '-76.674222', '2018-11-29 04:51:00', '2018-11-29 04:51:00');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(11316, 'Walbrook', 2800, '21216', '410', '39.310816', '-76.674222', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11317, 'Flintstone', 2800, '21530', '301', '39.679405', '-78.522038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11318, 'Friendsville', 2800, '21531', '301', '39.638565', '-79.398148', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11319, 'Frostburg', 2800, '21532', '301', '39.640752', '-78.945642', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11320, 'Midland', 2800, '21532', '301', '39.640752', '-78.945642', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11321, 'Odenton', 2800, '21113', '410', '39.051135', '-76.714561', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11322, 'Crofton', 2800, '21114', '410', '39.010306', '-76.683177', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11323, 'Conowingo', 2800, '21918', '410', '39.679066', '-76.170359', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11324, 'Troy', 2802, '48098', '248', '42.599182', '-83.178775', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11325, 'Belleville', 2802, '48112', '313', '42.2047', '-83.4853', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11326, 'Bridgewater', 2802, '48115', '734', '42.1606', '-83.9022', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11327, 'Dexter', 2802, '48130', '734', '42.349162', '-83.904038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11328, 'Dover', 2802, '48130', '734', '42.349162', '-83.904038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11329, 'Four Mile Lk', 2802, '48130', '734', '42.349162', '-83.904038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11330, 'Hudson Mills', 2802, '48130', '734', '42.349162', '-83.904038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11331, 'Scio', 2802, '48130', '734', '42.349162', '-83.904038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11332, 'Webster', 2802, '48130', '734', '42.349162', '-83.904038', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11333, 'S Rockwood', 2802, '48179', '734', '42.054185', '-83.260848', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11334, 'South Rockwood', 2802, '48179', '734', '42.054185', '-83.260848', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11335, 'Temperance', 2802, '48182', '734', '41.790692', '-83.588128', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11336, 'Rawsonville', 2802, '48197', '734', '42.201746', '-83.621906', '2018-11-29 04:51:00', '2018-11-29 04:51:00'),\n(11337, 'Ypsilanti', 2802, '48197', '734', '42.201746', '-83.621906', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11338, 'Detroit', 2802, '48212', '313', '42.404715', '-83.053127', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11339, 'Hamtramck', 2802, '48212', '313', '42.404715', '-83.053127', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11340, 'Detroit', 2802, '48215', '313', '42.376024', '-82.952986', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11341, 'Grosse Pointe', 2802, '48215', '313', '42.376024', '-82.952986', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11342, 'Grosse Pointe Park', 2802, '48215', '313', '42.376024', '-82.952986', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11343, 'Comerica Incorporated', 2802, '48264', '313', '42.3317', '-83.0456', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11344, 'Detroit', 2802, '48264', '313', '42.3317', '-83.0456', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11345, 'St Heights', 2802, '48313', '586', '42.599006', '-83.010792', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11346, 'Sterling Heights', 2802, '48313', '586', '42.599006', '-83.010792', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11347, 'Sterling Hts', 2802, '48313', '586', '42.599006', '-83.010792', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11348, 'Lake Orion', 2802, '48362', '248', '42.777434', '-83.270264', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11349, 'Orion', 2802, '48362', '248', '42.777434', '-83.270264', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11350, 'Orion Township', 2802, '48362', '248', '42.777434', '-83.270264', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11351, 'Orion Twp', 2802, '48362', '248', '42.777434', '-83.270264', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11352, 'Milford', 2802, '48380', '248', '42.576853', '-83.66785', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11353, 'Milford Twp', 2802, '48380', '248', '42.576853', '-83.66785', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11354, 'Milford', 2802, '48381', '248', '42.559166', '-83.605813', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11355, 'Milford Twp', 2802, '48381', '248', '42.559166', '-83.605813', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11356, 'Commerce', 2802, '48382', '248', '42.584792', '-83.500822', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11357, 'Ann Arbor', 2802, '48107', '734', '42.2836', '-83.7455', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11358, 'Brighton', 2802, '48116', '810', '42.503069', '-83.768958', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11359, 'Brighton Twp', 2802, '48116', '810', '42.503069', '-83.768958', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11360, 'Crooked Lake', 2802, '48116', '810', '42.503069', '-83.768958', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11361, 'Genoa Twp', 2802, '48116', '810', '42.503069', '-83.768958', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11362, 'Green Oak Twp', 2802, '48116', '810', '42.503069', '-83.768958', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11363, 'Dearborn Heights', 2802, '48127', '313', '42.334386', '-83.273891', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11364, 'Dearborn Hts', 2802, '48127', '313', '42.334386', '-83.273891', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11365, 'Garden City', 2802, '48136', '734', '42.3259', '-83.3313', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11366, 'Lakeland', 2802, '48143', '810', '42.452678', '-83.833996', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11367, 'Luna Pier', 2802, '48157', '734', '41.815512', '-83.434014', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11368, 'Frenchtown', 2802, '48161', '734', '41.912639', '-83.473013', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11369, 'Monroe', 2802, '48161', '734', '41.912639', '-83.473013', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11370, 'Raisinville Twp', 2802, '48161', '734', '41.912639', '-83.473013', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11371, 'Raisinvl Twp', 2802, '48161', '734', '41.912639', '-83.473013', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11372, 'Newport', 2802, '48166', '734', '41.977344', '-83.29112', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11373, 'Samaria', 2802, '48177', '734', '41.8083', '-83.5814', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11374, 'Willis', 2802, '48191', '734', '42.123155', '-83.569881', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11375, 'Brownstown', 2802, '48193', '734', '42.170286', '-83.210728', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11376, 'Brownstown Township', 2802, '48193', '734', '42.170286', '-83.210728', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11377, 'Brownstown Twp', 2802, '48193', '734', '42.170286', '-83.210728', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11378, 'Brownstwn Twp', 2802, '48193', '734', '42.170286', '-83.210728', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11379, 'Riverview', 2802, '48193', '734', '42.170286', '-83.210728', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11380, 'Wyandotte', 2802, '48193', '734', '42.170286', '-83.210728', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11381, 'Detroit', 2802, '48202', '313', '42.374369', '-83.077528', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11382, 'Detroit', 2802, '48216', '313', '42.323512', '-83.079044', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11383, 'Detroit', 2802, '48234', '313', '42.425286', '-83.040494', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11384, 'Detroit', 2802, '48268', '313', '42.3317', '-83.0456', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11385, 'Dte Energy', 2802, '48268', '313', '42.3317', '-83.0456', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11386, 'Chase Bank', 2802, '48277', '313', '42.3317', '-83.0456', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11387, 'Detroit', 2802, '48277', '313', '42.3317', '-83.0456', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11388, 'Shelby Township', 2802, '48316', '586', '42.691657', '-83.055203', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11389, 'Shelby Twp', 2802, '48316', '586', '42.691657', '-83.055203', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11390, 'Utica', 2802, '48316', '586', '42.691657', '-83.055203', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11391, 'W Bloomfield', 2802, '48325', '248', '42.6244', '-83.3183', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11392, 'West Bloomfield', 2802, '48325', '248', '42.6244', '-83.3183', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11393, 'Farmingtn Hls', 2802, '48334', '248', '42.506761', '-83.349281', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11394, 'Farmington', 2802, '48334', '248', '42.506761', '-83.349281', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11395, 'Farmington Hills', 2802, '48334', '248', '42.506761', '-83.349281', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11396, 'Farmington Hls', 2802, '48334', '248', '42.506761', '-83.349281', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11397, 'Lake Orion', 2802, '48361', '248', '42.7845', '-83.2397', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11398, 'Novi', 2802, '48375', '248', '42.463606', '-83.464862', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11399, 'Novi Township', 2802, '48375', '248', '42.463606', '-83.464862', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11400, 'Mcdavitt', 2803, '55751', '218', '47.402721', '-92.653994', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11401, 'Ellsburg', 2803, '55766', '218', '47.24164', '-92.430026', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11402, 'Melrude', 2803, '55766', '218', '47.24164', '-92.430026', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11403, 'Whiteface', 2803, '55766', '218', '47.24164', '-92.430026', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11404, 'Bixby', 2803, '55917', '507', '43.928212', '-93.084216', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11405, 'Blmng Prairie', 2803, '55917', '507', '43.928212', '-93.084216', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11406, 'Blooming Prairie', 2803, '55917', '507', '43.928212', '-93.084216', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11407, 'Newry', 2803, '55917', '507', '43.928212', '-93.084216', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11408, 'Summit', 2803, '55917', '507', '43.928212', '-93.084216', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11409, 'Brownsdale', 2803, '55918', '507', '43.732426', '-92.85926', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11410, 'Red Rock', 2803, '55918', '507', '43.732426', '-92.85926', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11411, 'Monticello', 2803, '55582', '763', '45.3059', '-93.7938', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11412, 'Norwood', 2803, '55583', '952', '44.7685', '-93.9276', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11413, 'Beaver Bay', 2803, '55601', '218', '47.2557', '-91.303377', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11414, 'Alborn', 2803, '55702', '218', '46.977006', '-92.659619', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11415, 'Coon Rapids', 2803, '55448', '763', '45.170425', '-93.318646', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11416, 'Minneapolis', 2803, '55448', '763', '45.170425', '-93.318646', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11417, 'Minneapolis', 2803, '55467', '612', '44.98', '-93.26', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11418, 'Wells Fargo Home Mortgage', 2803, '55467', '612', '44.98', '-93.26', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11419, 'Young America', 2803, '55550', '952', '44.7825', '-93.9135', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11420, 'Monticello', 2803, '55565', '763', '45.0447', '-93.8551', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11421, 'Young America', 2803, '55567', '952', '44.7825', '-93.9135', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11422, 'Young America', 2803, '55568', '952', '44.7825', '-93.9135', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11423, 'Howard Lake', 2803, '55349', '320', '45.065366', '-94.073122', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11424, 'Edina', 2803, '55416', '952', '44.948937', '-93.335199', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11425, 'Golden Valley', 2803, '55416', '952', '44.948937', '-93.335199', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11426, 'Minneapolis', 2803, '55416', '952', '44.948937', '-93.335199', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11427, 'Saint Louis Park', 2803, '55416', '952', '44.948937', '-93.335199', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11428, 'St Louis Park', 2803, '55416', '952', '44.948937', '-93.335199', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11429, 'Fridley', 2803, '55432', '763', '45.094896', '-93.261556', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11430, 'Minneapolis', 2803, '55432', '763', '45.094896', '-93.261556', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11431, 'Spring Lake Park', 2803, '55432', '763', '45.094896', '-93.261556', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11432, 'Spring Lk Pk', 2803, '55432', '763', '45.094896', '-93.261556', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11433, 'Albertville', 2803, '55301', '763', '45.251805', '-93.664074', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11434, 'Otsego', 2803, '55301', '763', '45.251805', '-93.664074', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11435, 'Monticello', 2803, '55365', '763', '45.3059', '-93.7937', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11436, 'New Auburn', 2803, '55366', '320', '44.648328', '-94.211367', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11437, 'Champlin', 2803, '55316', '763', '45.181182', '-93.376333', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11438, 'Deephaven', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11439, 'Excelsior', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11440, 'Greenwood', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11441, 'Minnetrista', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:01', '2018-11-29 04:51:01'),\n(11442, 'Orono', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11443, 'Shorewood', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11444, 'Tonka Bay', 2803, '55331', '952', '44.898518', '-93.625632', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11445, 'Fairfax', 2803, '55332', '507', '44.506283', '-94.748949', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11446, 'Franklin', 2803, '55333', '507', '44.5527', '-94.876399', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11447, 'Saint Paul', 2803, '55116', '651', '44.910826', '-93.170264', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11448, 'Saint Paul', 2803, '55164', '651', '44.9445', '-93.0932', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11449, 'Dalbo', 2803, '55017', '763', '45.67441', '-93.430492', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11450, 'Grasston', 2803, '55030', '320', '45.818675', '-93.13433', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11451, 'Hampton', 2803, '55031', '651', '44.612694', '-92.955577', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11452, 'New Trier', 2803, '55031', '651', '44.612694', '-92.955577', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11453, 'Grant Township', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11454, 'Oak Park Heights', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11455, 'Oak Park Hgts', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11456, 'Oak Park Hts', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11457, 'Stillwater', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11458, 'W Lakeland', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11459, 'West Lakeland', 2803, '55082', '651', '45.066308', '-92.842397', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11460, 'Saint Paul', 2803, '55101', '651', '44.950756', '-93.083565', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11461, 'Garden City', 2803, '56034', '507', '44.047189', '-94.188452', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11462, 'Glenville', 2803, '56036', '507', '43.543099', '-93.169115', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11463, 'London', 2803, '56036', '507', '43.543099', '-93.169115', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11464, 'Myrtle', 2803, '56036', '507', '43.543099', '-93.169115', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11465, 'Kasota', 2803, '56050', '507', '44.305148', '-93.948532', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11466, 'Rushmore', 2803, '56168', '507', '43.60878', '-95.793686', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11467, 'Elkton', 2803, '55933', '507', '43.630512', '-92.669136', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11468, 'Lewiston', 2803, '55952', '507', '43.934124', '-91.850075', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11469, 'Rollingstone', 2803, '55969', '507', '44.120864', '-91.779634', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11470, 'Minnesota Lake', 2803, '56068', '507', '43.862434', '-93.795066', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11471, 'Minnesota Lk', 2803, '56068', '507', '43.862434', '-93.795066', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11472, 'Macville', 2803, '55785', '218', '46.921286', '-93.753711', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11473, 'Shovel Lake', 2803, '55785', '218', '46.921286', '-93.753711', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11474, 'Swatara', 2803, '55785', '218', '46.921286', '-93.753711', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11475, 'Rochester', 2803, '55901', '507', '44.075138', '-92.512378', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11476, 'Rochester', 2803, '55903', '507', '44.0217', '-92.4694', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11477, 'Embarrass', 2803, '55732', '218', '47.633854', '-92.226392', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11478, 'Pike', 2803, '55732', '218', '47.633854', '-92.226392', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11479, 'Waasa', 2803, '55732', '218', '47.633854', '-92.226392', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11480, 'Esko', 2803, '55733', '218', '46.711912', '-92.364742', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11481, 'Central Lakes', 2803, '55734', '218', '47.385791', '-92.444708', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11482, 'Eveleth', 2803, '55734', '218', '47.385791', '-92.444708', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11483, 'Fayal', 2803, '55734', '218', '47.385791', '-92.444708', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11484, 'Genoa', 2803, '55734', '218', '47.385791', '-92.444708', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11485, 'Leonidas', 2803, '55734', '218', '47.385791', '-92.444708', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11486, 'Hoyt Lakes', 2803, '55750', '218', '47.531685', '-92.013671', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11487, 'Iron', 2803, '55751', '218', '47.402721', '-92.653994', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11488, 'Iron Junction', 2803, '55751', '218', '47.402721', '-92.653994', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11489, 'Arrowhead Promotion Fulfillm', 2803, '55745', '218', '47.2374', '-93.5301', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11490, 'Grand Rapids', 2803, '55745', '218', '47.2374', '-93.5301', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11491, 'Maple Plain', 2803, '55579', '763', '45.0072', '-93.6558', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11492, 'Monticello', 2803, '55586', '763', '45.3059', '-93.7938', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11493, 'Loretto', 2803, '55595', '763', '45.0544', '-93.6353', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11494, 'Hovland', 2803, '55606', '218', '47.907813', '-89.95344', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11495, 'Schroeder', 2803, '55613', '218', '47.67644', '-90.948059', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11496, 'Askov', 2803, '55704', '320', '46.205126', '-92.734536', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11497, 'Aslo', 2803, '55704', '320', '46.205126', '-92.734536', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11498, 'Partridge', 2803, '55704', '320', '46.205126', '-92.734536', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11499, 'Bloomington', 2803, '55438', '952', '44.823528', '-93.37482', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11500, 'Minneapolis', 2803, '55438', '952', '44.823528', '-93.37482', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11501, 'Minneapolis', 2803, '55479', '612', '44.98', '-93.2638', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11502, 'Wells Fargo Bank', 2803, '55479', '612', '44.98', '-93.2638', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11503, 'Minneapolis', 2803, '55488', '612', '44.98', '-93.2638', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11504, 'Minneapolis Tribune', 2803, '55488', '612', '44.98', '-93.2638', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11505, 'Greenfield', 2803, '55572', '763', '45.0072', '-93.6558', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11506, 'Rockford', 2803, '55572', '763', '45.0072', '-93.6558', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11507, 'Jordan', 2803, '55352', '952', '44.652807', '-93.613193', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11508, 'Lester Pr', 2803, '55354', '320', '44.870006', '-94.08061', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11509, 'Lester Prairie', 2803, '55354', '320', '44.870006', '-94.08061', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11510, 'Minneapolis', 2803, '55406', '612', '44.941075', '-93.222985', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11511, 'Minneapolis', 2803, '55411', '612', '44.996333', '-93.29604', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11512, 'Bar Code', 2803, '55172', '651', '44.9244', '-93.1336', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11513, 'Saint Paul', 2803, '55172', '651', '44.9244', '-93.1336', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11514, 'Annandale', 2803, '55302', '320', '45.26076', '-94.132854', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11515, 'Plato', 2803, '55370', '320', '44.779786', '-94.055748', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11516, 'Prior Lake', 2803, '55379', '952', '44.746262', '-93.515698', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11517, 'Shakopee', 2803, '55379', '952', '44.746262', '-93.515698', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11518, 'Victoria', 2803, '55386', '952', '44.866077', '-93.669094', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11519, 'Clearwater', 2803, '55320', '320', '45.393266', '-94.060624', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11520, 'Saint Augusta', 2803, '55320', '320', '45.393266', '-94.060624', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11521, 'Cologne', 2803, '55322', '952', '44.768135', '-93.791072', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11522, 'Hopkins', 2803, '55345', '952', '44.91908', '-93.483422', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11523, 'Minnetonka', 2803, '55345', '952', '44.91908', '-93.483422', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11524, 'Rosemount', 2803, '55068', '651', '44.731908', '-93.092667', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11525, 'Saint Paul', 2803, '55168', '651', '44.9445', '-93.0932', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11526, 'Veterans Admin', 2803, '55168', '651', '44.9445', '-93.0932', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11527, 'Chisago City', 2803, '55013', '651', '45.365582', '-92.889167', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11528, 'Dennison', 2803, '55018', '507', '44.425214', '-92.975687', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11529, 'Stanton', 2803, '55018', '507', '44.425214', '-92.975687', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11530, 'Elko', 2803, '55020', '952', '44.587', '-93.3745', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11531, 'Elko New Market', 2803, '55020', '952', '44.587', '-93.3745', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11532, 'Elko New Mrkt', 2803, '55020', '952', '44.587', '-93.3745', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11533, 'Grandy', 2803, '55029', '320', '45.6328', '-93.1942', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11534, 'Inver Grove', 2803, '55077', '651', '44.830008', '-93.066588', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11535, 'Inver Grove Heights', 2803, '55077', '651', '44.830008', '-93.066588', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11536, 'South Saint Paul', 2803, '55077', '651', '44.830008', '-93.066588', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11537, 'South St Paul', 2803, '55077', '651', '44.830008', '-93.066588', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11538, 'Sunfish Lake', 2803, '55077', '651', '44.830008', '-93.066588', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11539, 'Lent', 2803, '55079', '651', '45.40671', '-93.024976', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11540, 'Martin Lake', 2803, '55079', '651', '45.40671', '-93.024976', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11541, 'Stacy', 2803, '55079', '651', '45.40671', '-93.024976', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11542, 'Saint Paul', 2803, '55102', '651', '44.92778', '-93.119065', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11543, 'Centerville', 2803, '55038', '651', '45.165049', '-92.976578', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11544, 'Columbus', 2803, '55038', '651', '45.165049', '-92.976578', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11545, 'Hugo', 2803, '55038', '651', '45.165049', '-92.976578', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11546, 'Lino Lakes', 2803, '55038', '651', '45.165049', '-92.976578', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11547, 'Morristown', 2803, '55052', '507', '44.24367', '-93.436288', '2018-11-29 04:51:02', '2018-11-29 04:51:02'),\n(11548, 'Elko New Market', 2803, '55054', '952', '44.57296', '-93.351307', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11549, 'Elko New Mrkt', 2803, '55054', '952', '44.57296', '-93.351307', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11550, 'New Market', 2803, '55054', '952', '44.57296', '-93.351307', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11551, 'Frost', 2803, '56033', '507', '43.56291', '-93.938308', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11552, 'Geneva', 2803, '56035', '507', '43.821367', '-93.264421', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11553, 'Kiester', 2803, '56051', '507', '43.543242', '-93.708477', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11554, 'Kilkenny', 2803, '56052', '507', '44.32647', '-93.544847', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11555, 'Florence', 2803, '56170', '507', '44.196742', '-96.195789', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11556, 'Ruthton', 2803, '56170', '507', '44.196742', '-96.195789', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11557, 'Lyle', 2803, '55953', '507', '43.54376', '-92.949132', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11558, 'Nevada', 2803, '55953', '507', '43.54376', '-92.949132', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11559, 'Reads Landing', 2803, '55968', '651', '44.399788', '-92.109538', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11560, 'Rose Creek', 2803, '55970', '507', '43.594429', '-92.839493', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11561, 'Montgomery', 2803, '56069', '507', '44.416307', '-93.544716', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11562, 'Duluth', 2803, '55801', '218', '47.117113', '-91.856652', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11563, 'Duluth', 2803, '55802', '218', '46.752934', '-92.069246', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11564, 'Duluth', 2803, '55816', '218', '46.7833', '-92.1065', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11565, 'Rochester', 2803, '55902', '507', '43.958297', '-92.520332', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11566, 'Bremen', 2803, '55735', '320', '46.238454', '-93.065266', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11567, 'Finlayson', 2803, '55735', '320', '46.238454', '-93.065266', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11568, 'Giese', 2803, '55735', '320', '46.238454', '-93.065266', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11569, 'Pine Lake', 2803, '55735', '320', '46.238454', '-93.065266', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11570, 'Wagner', 2803, '55735', '320', '46.238454', '-93.065266', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11571, 'Cedar Valley', 2803, '55736', '218', '46.9377', '-92.870298', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11572, 'Floodwood', 2803, '55736', '218', '46.9377', '-92.870298', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11573, 'Halden', 2803, '55736', '218', '46.9377', '-92.870298', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11574, 'Prairie Lake', 2803, '55736', '218', '46.9377', '-92.870298', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11575, 'Van Buren', 2803, '55736', '218', '46.9377', '-92.870298', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11576, 'Wawina', 2803, '55736', '218', '46.9377', '-92.870298', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11577, 'Mountain Iron', 2803, '55768', '218', '47.493996', '-92.681152', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11578, 'Nichols', 2803, '55768', '218', '47.493996', '-92.681152', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11579, 'Ault', 2803, '55602', '218', '47.41379', '-91.913177', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11580, 'Bassett', 2803, '55602', '218', '47.41379', '-91.913177', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11581, 'Brimson', 2803, '55602', '218', '47.41379', '-91.913177', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11582, 'Fairbanks', 2803, '55602', '218', '47.41379', '-91.913177', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11583, 'Toimi', 2803, '55602', '218', '47.41379', '-91.913177', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11584, 'Canyon', 2803, '55717', '218', '47.029536', '-92.402684', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11585, 'Lake Nichols', 2803, '55717', '218', '47.029536', '-92.402684', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11586, 'Northland', 2803, '55717', '218', '47.029536', '-92.402684', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11587, 'Shaw', 2803, '55717', '218', '47.029536', '-92.402684', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11588, 'Carlton', 2803, '55718', '218', '46.63113', '-92.446424', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11589, 'Parkville', 2803, '55768', '218', '47.493996', '-92.681152', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11590, 'Young America', 2803, '55399', '952', '44.7828', '-93.9136', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11591, 'Minneapolis', 2803, '55401', '612', '44.984768', '-93.269678', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11592, 'Blaine', 2803, '55449', '763', '45.165326', '-93.188919', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11593, 'Minneapolis', 2803, '55449', '763', '45.165326', '-93.188919', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11594, 'Minneapolis', 2803, '55450', '612', '44.879209', '-93.21965', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11595, 'Excel Energy', 2803, '55484', '612', '44.98', '-93.2638', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11596, 'Minneapolis', 2803, '55484', '612', '44.98', '-93.2638', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11597, 'Minneapolis', 2803, '55485', '612', '44.98', '-93.2638', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11598, 'Wells Fargo Bank', 2803, '55485', '612', '44.98', '-93.2638', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11599, 'Young America', 2803, '55551', '952', '44.7825', '-93.9135', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11600, 'Young America', 2803, '55566', '952', '44.7825', '-93.9135', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11601, 'Maple Plain', 2803, '55348', '763', '45.0075', '-93.6557', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11602, 'Cedar Mills', 2803, '55350', '320', '44.890535', '-94.433988', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11603, 'Hutchinson', 2803, '55350', '320', '44.890535', '-94.433988', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11604, 'Minneapolis', 2803, '55415', '612', '44.974624', '-93.256655', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11605, 'Minneapolis', 2803, '55417', '612', '44.904447', '-93.230706', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11606, 'Blaine', 2803, '55434', '763', '45.168093', '-93.250509', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11607, 'Minneapolis', 2803, '55434', '763', '45.168093', '-93.250509', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11608, 'Bloomington', 2803, '55435', '952', '44.874438', '-93.334673', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11609, 'Edina', 2803, '55435', '952', '44.874438', '-93.334673', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11610, 'Minneapolis', 2803, '55435', '952', '44.874438', '-93.334673', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11611, 'Norwood', 2803, '55368', '952', '44.7388', '-93.909578', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11612, 'Norwood Young America', 2803, '55368', '952', '44.7388', '-93.909578', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11613, 'Nya', 2803, '55368', '952', '44.7388', '-93.909578', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11614, 'Silver Lake', 2803, '55381', '320', '44.921229', '-94.175058', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11615, 'Saint Augusta', 2803, '55382', '320', '45.299539', '-94.183716', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11616, 'South Haven', 2803, '55382', '320', '45.299539', '-94.183716', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11617, 'Stewart', 2803, '55385', '320', '44.760977', '-94.485709', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11618, 'Zimmerman', 2803, '55398', '763', '45.45079', '-93.563425', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11619, 'Grant', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11620, 'Grant Township', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11621, 'Mahtomedi', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11622, 'Pine Springs', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11623, 'Carver', 2803, '55315', '952', '44.706036', '-93.688844', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11624, 'Chaska', 2803, '55318', '952', '44.809855', '-93.624894', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11625, 'Saint Paul', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11626, 'White Bear Lake', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11627, 'White Bear Lk', 2803, '55115', '651', '45.06991', '-92.946788', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11628, 'Little Canada', 2803, '55117', '651', '45.003083', '-93.106258', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11629, 'Maplewood', 2803, '55117', '651', '45.003083', '-93.106258', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11630, 'Saint Paul', 2803, '55117', '651', '45.003083', '-93.106258', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11631, 'Mendota', 2803, '55150', '651', '44.885015', '-93.16962', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11632, 'Saint Paul', 2803, '55150', '651', '44.885015', '-93.16962', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11633, 'Saint Paul', 2803, '55165', '651', '44.9445', '-93.0932', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11634, 'Saint Paul', 2803, '55166', '651', '44.9445', '-93.0932', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11635, 'Circle Pines', 2803, '55014', '763', '45.174955', '-93.127792', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11636, 'Columbus', 2803, '55014', '763', '45.174955', '-93.127792', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11637, 'Lexington', 2803, '55014', '763', '45.174955', '-93.127792', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11638, 'Lino Lakes', 2803, '55014', '763', '45.174955', '-93.127792', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11639, 'Harris', 2803, '55032', '651', '45.58957', '-92.979322', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11640, 'Hastings', 2803, '55033', '651', '44.731387', '-92.885223', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11641, 'Stillwater', 2803, '55083', '651', '45.0564', '-92.8058', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11642, 'Palmdale', 2803, '55084', '651', '45.454923', '-92.714466', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11643, 'Taylors Falls', 2803, '55084', '651', '45.454923', '-92.714466', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11644, 'Deerfield', 2803, '55049', '507', '44.169701', '-93.244884', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11645, 'Medford', 2803, '55049', '507', '44.169701', '-93.244884', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11646, 'Trimble', 2804, '64492', '816', '39.47229', '-94.541504', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11647, 'Country Club', 2804, '64506', '816', '39.794421', '-94.804189', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11648, 'Saint Joseph', 2804, '64506', '816', '39.794421', '-94.804189', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11649, 'Saint Joseph', 2804, '64507', '816', '39.719207', '-94.773908', '2018-11-29 04:51:03', '2018-11-29 04:51:03'),\n(11650, 'Bosworth', 2804, '64623', '660', '39.485657', '-93.320615', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11651, 'Braymer', 2804, '64624', '660', '39.582977', '-93.758124', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11652, 'Breckenridge', 2804, '64625', '660', '39.764027', '-93.814856', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11653, 'Brimson', 2804, '64642', '660', '40.191236', '-93.820798', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11654, 'Gilman City', 2804, '64642', '660', '40.191236', '-93.820798', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11655, 'Hale', 2804, '64643', '660', '39.572284', '-93.344296', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11656, 'Archie', 2804, '64725', '816', '38.519334', '-94.35239', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11657, 'Austin', 2804, '64725', '816', '38.519334', '-94.35239', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11658, 'Deepwater', 2804, '64740', '660', '38.246896', '-93.687301', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11659, 'East Lynne', 2804, '64743', '816', '38.66707', '-94.213615', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11660, 'Goodman', 2804, '64843', '417', '36.724568', '-94.386822', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11661, 'Aroma', 2804, '64844', '417', '36.908044', '-94.249479', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11662, 'Boulder City', 2804, '64844', '417', '36.908044', '-94.249479', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11663, 'Granby', 2804, '64844', '417', '36.908044', '-94.249479', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11664, 'Rocky Comfort', 2804, '64861', '417', '36.705676', '-94.13501', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11665, 'Wheaton', 2804, '64874', '417', '36.779092', '-94.032553', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11666, 'Ashland', 2804, '65010', '573', '38.77586', '-92.257321', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11667, 'Hematite', 2804, '63047', '636', '38.2016', '-90.4808', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11668, 'Stanton', 2804, '63079', '573', '38.2744', '-91.1057', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11669, 'Louis', 2804, '63113', '314', '38.657436', '-90.24697', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11670, 'Saint Louis', 2804, '63113', '314', '38.657436', '-90.24697', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11671, 'Breckenridge Hills', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11672, 'Brecknrdg Hls', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11673, 'Charlack', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11674, 'Overland', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11675, 'Saint John', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11676, 'Saint Louis', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11677, 'Vinita Park', 2804, '63114', '314', '38.70097', '-90.360632', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11678, 'Saint Louis', 2804, '63128', '314', '38.490417', '-90.38063', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11679, 'Sappington', 2804, '63128', '314', '38.490417', '-90.38063', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11680, 'Saint Louis', 2804, '63146', '314', '38.709923', '-90.463438', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11681, 'Saint Louis', 2804, '63178', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11682, 'Ibssc Acs Asc', 2804, '63180', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11683, 'Saint Louis', 2804, '63180', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11684, 'Courtesy Reply Mail Firms', 2804, '63197', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11685, 'Saint Louis', 2804, '63197', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11686, 'Farber', 2804, '63345', '573', '39.271996', '-91.589659', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11687, 'Big Springs', 2804, '63363', '573', '38.876544', '-91.516687', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11688, 'New Florence', 2804, '63363', '573', '38.876544', '-91.516687', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11689, 'Prices Branch', 2804, '63363', '573', '38.876544', '-91.516687', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11690, 'Alexandria', 2804, '63430', '660', '40.326581', '-91.51458', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11691, 'Saint Francisville', 2804, '63430', '660', '40.326581', '-91.51458', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11692, 'Anabel', 2804, '63431', '660', '39.750245', '-92.330672', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11693, 'Deer Ridge', 2804, '63447', '660', '40.05034', '-91.869456', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11694, 'La Belle', 2804, '63447', '660', '40.05034', '-91.869456', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11695, 'Steffenville', 2804, '63447', '660', '40.05034', '-91.869456', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11696, 'La Grange', 2804, '63448', '573', '40.04084', '-91.546706', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11697, 'Philadelphia', 2804, '63463', '573', '39.84648', '-91.764302', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11698, 'Athens', 2804, '63465', '660', '40.536031', '-91.675994', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11699, 'Peaksville', 2804, '63465', '660', '40.536031', '-91.675994', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11700, 'Revere', 2804, '63465', '660', '40.536031', '-91.675994', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11701, 'Greentop', 2804, '63546', '660', '40.345304', '-92.518698', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11702, 'Sublette', 2804, '63546', '660', '40.345304', '-92.518698', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11703, 'Willmathsville', 2804, '63546', '660', '40.345304', '-92.518698', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11704, 'Hurdland', 2804, '63547', '660', '40.170772', '-92.260522', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11705, 'Kenwood', 2804, '63547', '660', '40.170772', '-92.260522', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11706, 'Locust Hill', 2804, '63547', '660', '40.170772', '-92.260522', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11707, 'La Plata', 2804, '63549', '660', '39.989002', '-92.516704', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11708, 'South Gifford', 2804, '63549', '660', '39.989002', '-92.516704', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11709, 'Graysville', 2804, '63565', '660', '40.486894', '-92.976192', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11710, 'Lemons', 2804, '63565', '660', '40.486894', '-92.976192', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11711, 'Martinstown', 2804, '63565', '660', '40.486894', '-92.976192', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11712, 'Mendota', 2804, '63565', '660', '40.486894', '-92.976192', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11713, 'Unionville', 2804, '63565', '660', '40.486894', '-92.976192', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11714, 'Potosi', 2804, '63664', '573', '37.972754', '-90.90773', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11715, 'Advance', 2804, '63730', '573', '37.058424', '-89.911055', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11716, 'Greenbrier', 2804, '63730', '573', '37.058424', '-89.911055', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11717, 'Mc Gee', 2804, '63763', '573', '37.032697', '-90.175656', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11718, 'Beaufort', 2804, '63013', '573', '38.402214', '-91.141883', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11719, 'Flor', 2804, '63031', '314', '38.814192', '-90.372886', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11720, 'Florissant', 2804, '63031', '314', '38.814192', '-90.372886', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11721, 'Luebbering', 2804, '63061', '636', '38.259254', '-90.813244', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11722, 'Miramiguoa Park', 2804, '63080', '573', '38.263646', '-91.150504', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11723, 'Oak Grove Village', 2804, '63080', '573', '38.263646', '-91.150504', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11724, 'Pea Ridge', 2804, '63080', '573', '38.263646', '-91.150504', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11725, 'Spring Bluff', 2804, '63080', '573', '38.263646', '-91.150504', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11726, 'Strain', 2804, '63080', '573', '38.263646', '-91.150504', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11727, 'Sullivan', 2804, '63080', '573', '38.263646', '-91.150504', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11728, 'Mehlville', 2804, '63129', '314', '38.448394', '-90.325774', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11729, 'Oakville', 2804, '63129', '314', '38.448394', '-90.325774', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11730, 'Saint Louis', 2804, '63129', '314', '38.448394', '-90.325774', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11731, 'Saint Louis', 2804, '63130', '314', '38.665788', '-90.32224', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11732, 'U City', 2804, '63130', '314', '38.665788', '-90.32224', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11733, 'Univ City', 2804, '63130', '314', '38.665788', '-90.32224', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11734, 'University City', 2804, '63130', '314', '38.665788', '-90.32224', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11735, 'University Cy', 2804, '63130', '314', '38.665788', '-90.32224', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11736, 'Brentwood', 2804, '63144', '314', '38.618213', '-90.348428', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11737, 'Saint Louis', 2804, '63144', '314', '38.618213', '-90.348428', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11738, 'Saint Louis', 2804, '63163', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11739, 'Nestle', 2804, '63164', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11740, 'Saint Louis', 2804, '63164', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11741, 'Saint Louis', 2804, '63179', '314', '38.6272', '-90.1978', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11742, 'Fountain N Lakes', 2804, '63362', '636', '38.951128', '-90.882861', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11743, 'Moscow Mills', 2804, '63362', '636', '38.951128', '-90.882861', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11744, 'Briscoe', 2804, '63379', '636', '38.995395', '-90.984904', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11745, 'Davis', 2804, '63379', '636', '38.995395', '-90.984904', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11746, 'Old Alexandria', 2804, '63379', '636', '38.995395', '-90.984904', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11747, 'Troy', 2804, '63379', '636', '38.995395', '-90.984904', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11748, 'Vandalia', 2804, '63382', '573', '39.294546', '-91.494883', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11749, 'Arbela', 2804, '63432', '660', '40.503832', '-92.014624', '2018-11-29 04:51:04', '2018-11-29 04:51:04');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(11750, 'Forest Springs', 2804, '63446', '660', '40.126123', '-92.003924', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11751, 'Knox City', 2804, '63446', '660', '40.126123', '-92.003924', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11752, 'Green Lawn', 2804, '63462', '573', '39.427076', '-91.695604', '2018-11-29 04:51:04', '2018-11-29 04:51:04'),\n(11753, 'Perry', 2804, '63462', '573', '39.427076', '-91.695604', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11754, 'Salt River', 2804, '63462', '573', '39.427076', '-91.695604', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11755, 'Atlanta', 2804, '63530', '660', '39.916392', '-92.457876', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11756, 'Barnesville', 2804, '63530', '660', '39.916392', '-92.457876', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11757, 'Economy', 2804, '63530', '660', '39.916392', '-92.457876', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11758, 'Plainview', 2804, '63530', '660', '39.916392', '-92.457876', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11759, 'Colony', 2804, '63563', '660', '40.30031', '-92.073448', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11760, 'Rutledge', 2804, '63563', '660', '40.30031', '-92.073448', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11761, 'Sand Hill', 2804, '63563', '660', '40.30031', '-92.073448', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11762, 'Bunker', 2804, '63629', '573', '37.384146', '-91.240787', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11763, 'Redford', 2804, '63665', '573', '37.320937', '-90.865888', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11764, 'Altenburg', 2804, '63732', '573', '37.591968', '-89.570804', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11765, 'New Wells', 2804, '63732', '573', '37.591968', '-89.570804', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11766, 'Friedheim', 2804, '63747', '573', '37.562879', '-89.810738', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11767, 'Perryville', 2804, '63747', '573', '37.562879', '-89.810738', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11768, 'Frohna', 2804, '63748', '573', '37.684382', '-89.621372', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11769, 'Wittenberg', 2804, '63748', '573', '37.684382', '-89.621372', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11770, 'Millersville', 2804, '63766', '573', '37.440267', '-89.808708', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11771, 'Scott City', 2804, '63780', '573', '37.160453', '-89.50693', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11772, 'Essex', 2804, '63846', '573', '36.818426', '-89.798945', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11773, 'Gibson', 2804, '63847', '573', '36.440789', '-90.036074', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11774, 'Whiteoak', 2804, '63880', '573', '36.330258', '-90.025707', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11775, 'Campbell', 2804, '63933', '573', '36.51695', '-90.124861', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11776, 'Chicopee', 2804, '63965', '573', '36.969924', '-90.949688', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11777, 'Eastwood', 2804, '63965', '573', '36.969924', '-90.949688', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11778, 'Garwood', 2804, '63965', '573', '36.969924', '-90.949688', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11779, 'House Creek', 2804, '63965', '573', '36.969924', '-90.949688', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11780, 'South Van Buren', 2804, '63965', '573', '36.969924', '-90.949688', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11781, 'Van Buren', 2804, '63965', '573', '36.969924', '-90.949688', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11782, 'Wappapello', 2804, '63966', '573', '36.985428', '-90.279192', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11783, 'Blue Springs', 2804, '64013', '816', '39.0167', '-94.2817', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11784, 'Blue Springs', 2804, '64014', '816', '39.00185', '-94.250214', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11785, 'Blue Springs', 2804, '64015', '816', '39.014966', '-94.312062', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11786, 'Lake Tapawingo', 2804, '64015', '816', '39.014966', '-94.312062', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11787, 'Lake Tapwingo', 2804, '64015', '816', '39.014966', '-94.312062', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11788, 'Lexington', 2804, '64067', '660', '39.14897', '-93.83889', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11789, 'Pleasant Hill', 2804, '64080', '816', '38.759564', '-94.26735', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11790, 'Lees Summit', 2804, '64083', '816', '38.795856', '-94.43596', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11791, 'Raymore', 2804, '64083', '816', '38.795856', '-94.43596', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11792, 'Wellington', 2804, '64097', '816', '39.107474', '-93.983741', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11793, 'Kansas City', 2804, '64130', '816', '39.03364', '-94.541624', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11794, 'Kansas City', 2804, '64131', '816', '38.960276', '-94.575555', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11795, 'Kansas City', 2804, '64132', '816', '38.983978', '-94.543306', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11796, 'Kansas City', 2804, '64147', '816', '38.844974', '-94.546442', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11797, 'Martin City', 2804, '64147', '816', '38.844974', '-94.546442', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11798, 'Kansas City', 2804, '64149', '816', '38.87786', '-94.460736', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11799, 'Kansas City', 2804, '64150', '816', '39.171592', '-94.631375', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11800, 'Northmoor', 2804, '64150', '816', '39.171592', '-94.631375', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11801, 'Riverside', 2804, '64150', '816', '39.171592', '-94.631375', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11802, 'Kansas City', 2804, '64166', '816', '39.317695', '-94.51958', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11803, 'Kansas City', 2804, '64167', '816', '39.32162', '-94.48169', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11804, 'Kansas City', 2804, '64197', '816', '39.0997', '-94.5784', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11805, 'Marine Corps Finance Center', 2804, '64197', '816', '39.0997', '-94.5784', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11806, 'Cncpton Jctn', 2804, '64434', '660', '40.271495', '-94.71953', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11807, 'Conception Junction', 2804, '64434', '660', '40.271495', '-94.71953', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11808, 'Faucett', 2804, '64448', '816', '39.609088', '-94.793563', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11809, 'Fillmore', 2804, '64449', '816', '40.03042', '-94.983972', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11810, 'Lathrop', 2804, '64465', '816', '39.541914', '-94.287099', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11811, 'Maryville', 2804, '64468', '660', '40.280596', '-94.865212', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11812, 'Mount Moriah', 2804, '64481', '660', '40.361583', '-93.94404', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11813, 'Ridgeway', 2804, '64481', '660', '40.361583', '-93.94404', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11814, 'Westboro', 2804, '64498', '660', '40.530203', '-95.316839', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11815, 'Cainsville', 2804, '64632', '660', '40.479484', '-93.760927', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11816, 'Kidder', 2804, '64649', '816', '39.778536', '-94.128138', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11817, 'Kingston', 2804, '64650', '816', '39.649326', '-94.094659', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11818, 'Newtown', 2804, '64667', '660', '40.341168', '-93.281344', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11819, 'Norborne', 2804, '64668', '660', '39.365636', '-93.643025', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11820, 'Tina', 2804, '64682', '660', '39.571446', '-93.477996', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11821, 'Trenton', 2804, '64683', '660', '40.083754', '-93.565664', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11822, 'Harrisonville', 2804, '64701', '816', '38.623762', '-94.317493', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11823, 'Chilhowee', 2804, '64733', '660', '38.588123', '-93.833913', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11824, 'Asbury', 2804, '64832', '417', '37.318956', '-94.559628', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11825, 'Waco', 2804, '64832', '417', '37.318956', '-94.559628', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11826, 'Carl Junction', 2804, '64834', '417', '37.196126', '-94.563831', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11827, 'Smithfield', 2804, '64834', '417', '37.196126', '-94.563831', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11828, 'Stringtown', 2804, '64834', '417', '37.196126', '-94.563831', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11829, 'Brooklyn Heights', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11830, 'Carthage', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11831, 'Carytown', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11832, 'Fidelity', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11833, 'Kendricktown', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11834, 'Morgan Heights', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11835, 'Scotland', 2804, '64836', '417', '37.181249', '-94.281118', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11836, 'Fortuna', 2804, '65034', '660', '38.551853', '-92.825205', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11837, 'Williamsburg', 2804, '63388', '573', '38.88864', '-91.723283', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11838, 'Innsbrook', 2804, '63390', '636', '38.801064', '-91.044548', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11839, 'Wright City', 2804, '63390', '636', '38.801064', '-91.044548', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11840, 'Durham', 2804, '63438', '573', '39.95896', '-91.678812', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11841, 'Monticello', 2804, '63457', '573', '40.099631', '-91.699637', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11842, 'Taylor', 2804, '63471', '573', '39.893268', '-91.521656', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11843, 'West Quincy', 2804, '63471', '573', '39.893268', '-91.521656', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11844, 'Wayland', 2804, '63472', '660', '40.469077', '-91.605726', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11845, 'Williamstown', 2804, '63473', '573', '40.234199', '-91.76444', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11846, 'Bairdtown', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11847, 'Boynton', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11848, 'Cora', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11849, 'Milan', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11850, 'Owasco', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11851, 'Reger', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11852, 'Sorrell', 2804, '63556', '660', '40.179705', '-93.102063', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11853, 'Belgrade', 2804, '63622', '573', '37.805266', '-90.88958', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11854, 'Doe Run', 2804, '63637', '573', '37.712436', '-90.502906', '2018-11-29 04:51:05', '2018-11-29 04:51:05'),\n(11855, 'Allbright', 2804, '63655', '573', '37.416832', '-90.178838', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11856, 'Big Creek', 2804, '63655', '573', '37.416832', '-90.178838', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11857, 'Buckhorn', 2804, '63655', '573', '37.416832', '-90.178838', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11858, 'Gravelton', 2804, '63655', '573', '37.416832', '-90.178838', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11859, 'Marquand', 2804, '63655', '573', '37.416832', '-90.178838', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11860, 'Allenville', 2804, '63740', '573', '37.171343', '-89.681875', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11861, 'Arbor', 2804, '63740', '573', '37.171343', '-89.681875', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11862, 'Chaffee', 2804, '63740', '573', '37.171343', '-89.681875', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11863, 'Randles', 2804, '63740', '573', '37.171343', '-89.681875', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11864, 'Rockview', 2804, '63740', '573', '37.171343', '-89.681875', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11865, 'Kelso', 2804, '63758', '573', '37.19097', '-89.549944', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11866, 'Arbyrd', 2804, '63821', '573', '36.043423', '-90.229811', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11867, 'Bernie', 2804, '63822', '573', '36.69095', '-90.00945', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11868, 'Blodgett', 2804, '63824', '573', '37.004238', '-89.525606', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11869, 'Fisk', 2804, '63940', '573', '36.79051', '-90.227036', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11870, 'Fremont', 2804, '63941', '573', '36.907782', '-91.162441', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11871, 'Dover', 2804, '64022', '660', '39.189918', '-93.673716', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11872, 'Independence', 2804, '64055', '816', '39.04989', '-94.397568', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11873, 'Independence', 2804, '64056', '816', '39.114233', '-94.312224', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11874, 'Sugar Creek', 2804, '64056', '816', '39.114233', '-94.312224', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11875, 'Mosby', 2804, '64073', '816', '39.3146', '-94.2937', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11876, 'Kansas City', 2804, '64108', '816', '39.085612', '-94.584134', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11877, 'Kansas City', 2804, '64124', '816', '39.107713', '-94.539608', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11878, 'Kansas City', 2804, '64139', '816', '38.965871', '-94.407566', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11879, 'Kansas City', 2804, '64155', '816', '39.289786', '-94.566902', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11880, 'Kansas City', 2804, '64190', '816', '39.0816', '-94.5889', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11881, 'Kansas City', 2804, '64191', '816', '39.0997', '-94.5784', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11882, 'Blythedale', 2804, '64426', '660', '40.508268', '-93.860889', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11883, 'Grant City', 2804, '64456', '660', '40.521228', '-94.346218', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11884, 'Hatfield', 2804, '64458', '660', '40.521822', '-94.141862', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11885, 'Pickering', 2804, '64476', '660', '40.46766', '-94.834536', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11886, 'Saint Joseph', 2804, '64508', '816', '39.7689', '-94.8467', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11887, 'Galt', 2804, '64641', '660', '40.188934', '-93.32668', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11888, 'Mc Fall', 2804, '64657', '660', '40.110696', '-94.26526', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11889, 'Mcfall', 2804, '64657', '660', '40.110696', '-94.26526', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11890, 'Purdin', 2804, '64674', '660', '39.967536', '-93.150815', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11891, 'Rothville', 2804, '64676', '660', '39.660728', '-93.047008', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11892, 'Appleton City', 2804, '64724', '660', '38.157174', '-93.997673', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11893, 'Deerfield', 2804, '64741', '417', '37.811648', '-94.50893', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11894, 'Drexel', 2804, '64742', '816', '38.503447', '-94.528568', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11895, 'El Dorado Spg', 2804, '64744', '417', '37.846057', '-94.00881', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11896, 'El Dorado Springs', 2804, '64744', '417', '37.846057', '-94.00881', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11897, 'Eldorado Springs', 2804, '64744', '417', '37.846057', '-94.00881', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11898, 'Damascus', 2804, '64776', '417', '38.050037', '-93.781492', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11899, 'Osceola', 2804, '64776', '417', '38.050037', '-93.781492', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11900, 'Vista', 2804, '64776', '417', '38.050037', '-93.781492', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11901, 'Duenweg', 2804, '64841', '417', '37.08643', '-94.408903', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11902, 'Reeds', 2804, '64859', '417', '37.163493', '-94.155112', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11903, 'Barnett', 2804, '65011', '573', '38.389556', '-92.720772', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11904, 'Aurora Springs', 2804, '65026', '573', '38.324804', '-92.550039', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11905, 'Bagnell', 2804, '65026', '573', '38.324804', '-92.550039', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11906, 'Eldon', 2804, '65026', '573', '38.324804', '-92.550039', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11907, 'Etterville', 2804, '65026', '573', '38.324804', '-92.550039', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11908, 'Lakeland', 2804, '65026', '573', '38.324804', '-92.550039', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11909, 'Rocky Mount', 2804, '65026', '573', '38.324804', '-92.550039', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11910, 'Div Of Witholding Tax', 2804, '65108', '573', '38.5764', '-92.1736', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11911, 'Jefferson City', 2804, '65108', '573', '38.5764', '-92.1736', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11912, 'Chesterfield', 2804, '63005', '636', '38.634836', '-90.668873', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11913, 'Clarkson Valley', 2804, '63005', '636', '38.634836', '-90.668873', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11914, 'Gumbo', 2804, '63005', '636', '38.634836', '-90.668873', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11915, 'Wildwood', 2804, '63005', '636', '38.634836', '-90.668873', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11916, 'Labadie', 2804, '63055', '636', '38.546197', '-90.838963', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11917, 'Richwoods', 2804, '63071', '573', '38.131369', '-90.83958', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11918, 'Robertsville', 2804, '63072', '636', '38.365756', '-90.813563', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11919, 'Manchester', 2804, '63088', '636', '38.549899', '-90.509941', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11920, 'Twin Oaks', 2804, '63088', '636', '38.549899', '-90.509941', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11921, 'Valley Park', 2804, '63088', '636', '38.549899', '-90.509941', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11922, 'Saint Louis', 2804, '63104', '314', '38.607982', '-90.212839', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11923, 'Clayton', 2804, '63105', '314', '38.645329', '-90.326056', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11924, 'Saint Louis', 2804, '63105', '314', '38.645329', '-90.326056', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11925, 'Saint Louis', 2804, '63106', '314', '38.644158', '-90.208316', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11926, 'Rock Hill', 2804, '63119', '314', '38.589214', '-90.346604', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11927, 'Saint Louis', 2804, '63119', '314', '38.589214', '-90.346604', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11928, 'Shrewsbury', 2804, '63119', '314', '38.589214', '-90.346604', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11929, 'Webster Groves', 2804, '63119', '314', '38.589214', '-90.346604', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11930, 'Webster Grvs', 2804, '63119', '314', '38.589214', '-90.346604', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11931, 'Bellefontaine Neighbors', 2804, '63137', '314', '38.748063', '-90.203917', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11932, 'Glasgow Village', 2804, '63137', '314', '38.748063', '-90.203917', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11933, 'North County', 2804, '63137', '314', '38.748063', '-90.203917', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11934, 'Riverview', 2804, '63137', '314', '38.748063', '-90.203917', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11935, 'Saint Louis', 2804, '63137', '314', '38.748063', '-90.203917', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11936, 'Saint Louis', 2804, '63139', '314', '38.61355', '-90.291919', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11937, 'Saint Louis', 2804, '63156', '314', '38.6272', '-90.1978', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11938, 'Harvester', 2804, '63303', '636', '38.73738', '-90.532513', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11939, 'Saint Charles', 2804, '63303', '636', '38.73738', '-90.532513', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11940, 'Saint Peters', 2804, '63303', '636', '38.73738', '-90.532513', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11941, 'St Peters', 2804, '63303', '636', '38.73738', '-90.532513', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11942, 'Whiteside', 2804, '63387', '573', '39.170178', '-91.025999', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11943, 'Crystal City', 2804, '63019', '636', '38.229714', '-90.374638', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11944, 'De Soto', 2804, '63020', '636', '38.11666', '-90.575595', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11945, 'Desoto', 2804, '63020', '636', '38.11666', '-90.575595', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11946, 'Olympian Village', 2804, '63020', '636', '38.11666', '-90.575595', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11947, 'Ballwin', 2804, '63022', '636', '38.5953', '-90.5462', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11948, 'Gerald', 2804, '63037', '573', '38.421496', '-91.300992', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11949, 'Ellisville', 2804, '63038', '636', '38.587292', '-90.66666', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11950, 'Glencoe', 2804, '63038', '636', '38.587292', '-90.66666', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11951, 'Pond', 2804, '63038', '636', '38.587292', '-90.66666', '2018-11-29 04:51:06', '2018-11-29 04:51:06'),\n(11952, 'Wildwood', 2804, '63038', '636', '38.587292', '-90.66666', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11953, 'Antonia', 2804, '63052', '636', '38.395882', '-90.422895', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11954, 'Imperial', 2804, '63052', '636', '38.395882', '-90.422895', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11955, 'Otto', 2804, '63052', '636', '38.395882', '-90.422895', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11956, 'Sulphur Spg', 2804, '63052', '636', '38.395882', '-90.422895', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11957, 'Sulphur Springs', 2804, '63052', '636', '38.395882', '-90.422895', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11958, 'Imperial', 2804, '63053', '636', '38.3699', '-90.3786', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11959, 'Kimmswick', 2804, '63053', '636', '38.3699', '-90.3786', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11960, 'Goodfellow Terrace', 2804, '63120', '314', '38.689674', '-90.261206', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11961, 'Pine Lawn', 2804, '63120', '314', '38.689674', '-90.261206', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11962, 'Saint Louis', 2804, '63120', '314', '38.689674', '-90.261206', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11963, 'Bel Nor', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11964, 'Bel Ridge', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11965, 'Bellerive', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11966, 'Beverly Hills', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11967, 'Normandy', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11968, 'Northwoods', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11969, 'Pasadena Hills', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11970, 'Pasadena Park', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11971, 'Saint Louis', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11972, 'Velda Village Hills', 2804, '63121', '314', '38.707438', '-90.303006', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11973, 'Saint Louis', 2804, '63169', '314', '38.6272', '-90.1978', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11974, 'Laclede Gas Co', 2804, '63171', '314', '38.6272', '-90.1978', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11975, 'Saint Louis', 2804, '63171', '314', '38.6272', '-90.1978', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11976, 'Cottleville', 2804, '63304', '636', '38.710748', '-90.666312', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11977, 'Saint Charles', 2804, '63304', '636', '38.710748', '-90.666312', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11978, 'Saint Peters', 2804, '63304', '636', '38.710748', '-90.666312', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11979, 'St Peters', 2804, '63304', '636', '38.710748', '-90.666312', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11980, 'Weldon Spring', 2804, '63304', '636', '38.710748', '-90.666312', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11981, 'Weldon Spring Heights', 2804, '63304', '636', '38.710748', '-90.666312', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11982, 'Cottleville', 2804, '63338', '636', '38.7464', '-90.6536', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11983, 'Olney', 2804, '63370', '573', '39.079896', '-91.252726', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11984, 'Machens', 2804, '63373', '636', '38.923509', '-90.396938', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11985, 'Portage Des Sioux', 2804, '63373', '636', '38.923509', '-90.396938', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11986, 'Prtg De Sioux', 2804, '63373', '636', '38.923509', '-90.396938', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11987, 'Prtg De Souix', 2804, '63373', '636', '38.923509', '-90.396938', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11988, 'Emden', 2804, '63439', '573', '39.825312', '-91.873114', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11989, 'Elmer', 2804, '63538', '660', '39.954911', '-92.66692', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11990, 'Mercyville', 2804, '63538', '660', '39.954911', '-92.66692', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11991, 'Gibbs', 2804, '63540', '660', '40.080833', '-92.430408', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11992, 'Memphis', 2804, '63555', '660', '40.45302', '-92.202536', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11993, 'New Boston', 2804, '63557', '660', '39.971686', '-92.881468', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11994, 'Belleview', 2804, '63623', '573', '37.670578', '-90.845306', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11995, 'Goodland', 2804, '63623', '573', '37.670578', '-90.845306', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11996, 'Ellington', 2804, '63638', '573', '37.242794', '-90.955348', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11997, 'Farmington', 2804, '63640', '573', '37.747435', '-90.363484', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11998, 'Libertyville', 2804, '63640', '573', '37.747435', '-90.363484', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(11999, 'Middle Brook', 2804, '63656', '573', '37.689432', '-90.694938', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12000, 'Saint Mary', 2804, '63673', '573', '37.795774', '-90.006324', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12001, 'Saint Marys', 2804, '63673', '573', '37.795774', '-90.006324', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12002, 'Tiff', 2804, '63674', '573', '38.033823', '-90.66028', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12003, 'Brownwood', 2804, '63738', '573', '37.08902', '-89.957113', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12004, 'Jackson', 2804, '63755', '573', '37.438622', '-89.631291', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12005, 'Haywood City', 2804, '63771', '573', '37.073999', '-89.712474', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12006, 'Oran', 2804, '63771', '573', '37.073999', '-89.712474', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12007, 'Painton', 2804, '63771', '573', '37.073999', '-89.712474', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12008, 'Bertrand', 2804, '63823', '573', '36.876837', '-89.456188', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12009, 'Deering', 2804, '63840', '573', '36.1908', '-89.8829', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12010, 'Dexter', 2804, '63841', '573', '36.782225', '-89.972441', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12011, 'Hornersville', 2804, '63855', '573', '36.073132', '-90.077088', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12012, 'Boekerton', 2804, '63873', '573', '36.419931', '-89.677823', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12013, 'Conran', 2804, '63873', '573', '36.419931', '-89.677823', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12014, 'Hayward', 2804, '63873', '573', '36.419931', '-89.677823', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12015, 'Point Pleasant', 2804, '63873', '573', '36.419931', '-89.677823', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12016, 'Portageville', 2804, '63873', '573', '36.419931', '-89.677823', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12017, 'Risco', 2804, '63874', '573', '36.532626', '-89.818328', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12018, 'Fagus', 2804, '63938', '573', '36.519434', '-90.266882', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12019, 'Fairdealing', 2804, '63939', '573', '36.678526', '-90.661065', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12020, 'Oxly', 2804, '63955', '573', '36.578468', '-90.687654', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12021, 'Patterson', 2804, '63956', '573', '37.226134', '-90.564923', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12022, 'Piedmont', 2804, '63957', '573', '37.155084', '-90.692634', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12023, 'Independence', 2804, '64058', '816', '39.182404', '-94.313386', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12024, 'Sugar Creek', 2804, '64058', '816', '39.182404', '-94.313386', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12025, 'Missouri City', 2804, '64072', '816', '39.234155', '-94.300508', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12026, 'Napoleon', 2804, '64074', '816', '39.096378', '-94.064494', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12027, 'Oak Grove', 2804, '64075', '816', '39.013462', '-94.146804', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12028, 'Kansas City', 2804, '64105', '816', '39.104837', '-94.594928', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12029, 'Kansas City', 2804, '64125', '816', '39.105318', '-94.497754', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12030, 'Kansas City', 2804, '64157', '816', '39.277684', '-94.467303', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12031, 'Kansas City', 2804, '64158', '816', '39.234168', '-94.476964', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12032, 'Barnard', 2804, '64423', '660', '40.199808', '-94.817596', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12033, 'Denver', 2804, '64441', '660', '40.41644', '-94.291262', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12034, 'Easton', 2804, '64443', '816', '39.744656', '-94.680167', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12035, 'Helena', 2804, '64459', '816', '39.929106', '-94.65466', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12036, 'New Point', 2804, '64473', '660', '39.996006', '-95.087964', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12037, 'Nw Point', 2804, '64473', '660', '39.996006', '-95.087964', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12038, 'Oregon', 2804, '64473', '660', '39.996006', '-95.087964', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12039, 'Parnell', 2804, '64475', '660', '40.501364', '-94.67705', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12040, 'Hemple', 2804, '64490', '816', '39.740224', '-94.502502', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12041, 'Stewartsville', 2804, '64490', '816', '39.740224', '-94.502502', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12042, 'Tarkio', 2804, '64491', '660', '40.436851', '-95.320698', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12043, 'Sallis', 2805, '39160', '662', '32.996848', '-89.785849', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12044, 'Beelake', 2805, '39169', '662', '33.140007', '-90.313702', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12045, 'Mileston', 2805, '39169', '662', '33.140007', '-90.313702', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12046, 'Tchula', 2805, '39169', '662', '33.140007', '-90.313702', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12047, 'Thornton', 2805, '39169', '662', '33.140007', '-90.313702', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12048, 'Eden', 2805, '39194', '662', '32.849323', '-90.49701', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12049, 'Yazoo', 2805, '39194', '662', '32.849323', '-90.49701', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12050, 'Yazoo City', 2805, '39194', '662', '32.849323', '-90.49701', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12051, 'Jackson', 2805, '39217', '601', '32.296428', '-90.210022', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12052, 'Jackson State University', 2805, '39217', '601', '32.296428', '-90.210022', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12053, 'Jax', 2805, '39217', '601', '32.296428', '-90.210022', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12054, 'Jksn', 2805, '39217', '601', '32.296428', '-90.210022', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12055, 'Jxn', 2805, '39217', '601', '32.296428', '-90.210022', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12056, 'A H Mccoy Federal Bldg', 2805, '39269', '601', '32.300996', '-90.188638', '2018-11-29 04:51:07', '2018-11-29 04:51:07'),\n(12057, 'Jackson', 2805, '39269', '601', '32.300996', '-90.188638', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12058, 'Jax', 2805, '39269', '601', '32.300996', '-90.188638', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12059, 'Jksn', 2805, '39269', '601', '32.300996', '-90.188638', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12060, 'Jxn', 2805, '39269', '601', '32.300996', '-90.188638', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12061, 'De Kalb', 2805, '39328', '601', '32.691132', '-88.731673', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12062, 'Electric Mills', 2805, '39358', '662', '32.829195', '-88.534456', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12063, 'Scooba', 2805, '39358', '662', '32.829195', '-88.534456', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12064, 'Collins', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12065, 'Dry Creek', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12066, 'Hot Coffee', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12067, 'Kola', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12068, 'Mcraney', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12069, 'Ora', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12070, 'Smith', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12071, 'Williamsburg', 2805, '39428', '601', '31.666405', '-89.590432', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12072, 'Laurel', 2805, '39442', '601', '31.6937', '-89.1308', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12073, 'Belleville', 2805, '39462', '601', '31.185031', '-89.04058', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12074, 'Hintonville', 2805, '39462', '601', '31.185031', '-89.04058', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12075, 'Mahned', 2805, '39462', '601', '31.185031', '-89.04058', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12076, 'New Augusta', 2805, '39462', '601', '31.185031', '-89.04058', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12077, 'Wingate', 2805, '39462', '601', '31.185031', '-89.04058', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12078, 'Gautier', 2805, '39553', '228', '30.422414', '-88.639024', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12079, 'Iowana', 2805, '39553', '228', '30.422414', '-88.639024', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12080, 'Moss Point', 2805, '39562', '228', '30.517512', '-88.518039', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12081, 'Moss Pt', 2805, '39562', '228', '30.517512', '-88.518039', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12082, 'Waveland', 2805, '39576', '228', '30.285787', '-89.375328', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12083, 'Bunkley', 2805, '39653', '601', '31.41629', '-90.851691', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12084, 'Meadville', 2805, '39653', '601', '31.41629', '-90.851691', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12085, 'Meedville', 2805, '39653', '601', '31.41629', '-90.851691', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12086, 'Mile Branch', 2805, '39653', '601', '31.41629', '-90.851691', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12087, 'Monroe', 2805, '39653', '601', '31.41629', '-90.851691', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12088, 'Deeson', 2805, '38740', '662', '34.061782', '-90.823816', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12089, 'Duncan', 2805, '38740', '662', '34.061782', '-90.823816', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12090, 'Francis', 2805, '38740', '662', '34.061782', '-90.823816', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12091, 'Rochdale', 2805, '38740', '662', '34.061782', '-90.823816', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12092, 'Roundlake', 2805, '38740', '662', '34.061782', '-90.823816', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12093, 'Metcalfe', 2805, '38760', '662', '33.456849', '-90.991062', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12094, 'Hushpuckena', 2805, '38774', '662', '33.972846', '-90.746014', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12095, 'Lombardy', 2805, '38774', '662', '33.972846', '-90.746014', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12096, 'Shelby', 2805, '38774', '662', '33.972846', '-90.746014', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12097, 'Stoneville', 2805, '38776', '662', '33.4203', '-90.9158', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12098, 'Corinth', 2805, '38835', '662', '34.9357', '-88.5157', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12099, 'Alma', 2805, '38849', '662', '34.448441', '-88.718364', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12100, 'Blair', 2805, '38849', '662', '34.448441', '-88.718364', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12101, 'Boggan Bend', 2805, '38849', '662', '34.448441', '-88.718364', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12102, 'Corrona', 2805, '38849', '662', '34.448441', '-88.718364', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12103, 'Guntown', 2805, '38849', '662', '34.448441', '-88.718364', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12104, 'Ratliff', 2805, '38849', '662', '34.448441', '-88.718364', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12105, 'Sherman', 2805, '38869', '662', '34.354048', '-88.842821', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12106, 'Dubard', 2805, '38901', '662', '33.779779', '-89.782668', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12107, 'Futheyville', 2805, '38901', '662', '33.779779', '-89.782668', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12108, 'Geeslin Corner', 2805, '38901', '662', '33.779779', '-89.782668', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12109, 'Grenada', 2805, '38901', '662', '33.779779', '-89.782668', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12110, 'Hardy', 2805, '38901', '662', '33.779779', '-89.782668', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12111, 'Sunnycrest', 2805, '38901', '662', '33.779779', '-89.782668', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12112, 'Carrollton', 2805, '38917', '662', '33.532992', '-89.98347', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12113, 'Jefferson', 2805, '38917', '662', '33.532992', '-89.98347', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12114, 'Valley Hill', 2805, '38917', '662', '33.532992', '-89.98347', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12115, 'Elliott', 2805, '38926', '662', '33.6844', '-89.7528', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12116, 'G Wood', 2805, '38935', '662', '33.5163', '-90.1795', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12117, 'Greenwood', 2805, '38935', '662', '33.5163', '-90.1795', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12118, 'Tie Plant', 2805, '38960', '662', '33.7416', '-89.7907', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12119, 'Braxton', 2805, '39044', '601', '32.015943', '-89.985214', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12120, 'Ethel', 2805, '39067', '662', '33.1632', '-89.49076', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12121, 'Forest', 2805, '39074', '601', '32.404394', '-89.467858', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12122, 'Lake', 2805, '39092', '601', '32.332063', '-89.371837', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12123, 'Mc Cool', 2805, '39108', '662', '33.137217', '-89.32546', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12124, 'Mccool', 2805, '39108', '662', '33.137217', '-89.32546', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12125, 'Morton', 2805, '39117', '601', '32.389144', '-89.650512', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12126, 'Polkville', 2805, '39117', '601', '32.389144', '-89.650512', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12127, 'Pattison', 2805, '39144', '601', '31.82017', '-90.792083', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12128, 'Pinola', 2805, '39149', '601', '31.837094', '-90.03029', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12129, 'Shivers', 2805, '39149', '601', '31.837094', '-90.03029', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12130, 'Ridgeland', 2805, '39158', '601', '32.4284', '-90.1323', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12131, 'Blue Mount', 2805, '38610', '662', '34.655712', '-89.033431', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12132, 'Blue Mountain', 2805, '38610', '662', '34.655712', '-89.033431', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12133, 'Bluff', 2805, '38610', '662', '34.655712', '-89.033431', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12134, 'Cotton Plant', 2805, '38610', '662', '34.655712', '-89.033431', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12135, 'Byhalia', 2805, '38611', '662', '34.847664', '-89.667769', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12136, 'Lula', 2805, '38644', '662', '34.42596', '-90.451554', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12137, 'Red Banks', 2805, '38661', '662', '34.8952', '-89.556138', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12138, 'Taska', 2805, '38661', '662', '34.8952', '-89.556138', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12139, 'Univ Of Miss', 2805, '38677', '662', '34.364725', '-89.538322', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12140, 'University', 2805, '38677', '662', '34.364725', '-89.538322', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12141, 'University Of Mississippi', 2805, '38677', '662', '34.364725', '-89.538322', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12142, 'Glover', 2805, '38680', '662', '34.956396', '-90.131436', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12143, 'Lake View', 2805, '38680', '662', '34.956396', '-90.131436', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12144, 'Memphis', 2805, '38680', '662', '34.956396', '-90.131436', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12145, 'Poplar Corners', 2805, '38680', '662', '34.956396', '-90.131436', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12146, 'Walls', 2805, '38680', '662', '34.956396', '-90.131436', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12147, 'Chatham', 2805, '38731', '662', '33.058826', '-91.084444', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12148, 'Erwin', 2805, '38731', '662', '33.058826', '-91.084444', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12149, 'Greenville', 2805, '38731', '662', '33.058826', '-91.084444', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12150, 'Glen Allan', 2805, '38744', '662', '33.033797', '-91.058849', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12151, 'Hampton', 2805, '38744', '662', '33.033797', '-91.058849', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12152, 'Valewood', 2805, '38744', '662', '33.033797', '-91.058849', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12153, 'Pace', 2805, '38764', '662', '33.803824', '-90.853544', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12154, 'Renova', 2805, '38764', '662', '33.803824', '-90.853544', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12155, 'Wayside', 2805, '38780', '662', '33.276532', '-91.078252', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12156, 'Padenville', 2805, '38862', '662', '34.164298', '-88.62513', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12157, 'Plantersville', 2805, '38862', '662', '34.164298', '-88.62513', '2018-11-29 04:51:08', '2018-11-29 04:51:08'),\n(12158, 'Richmond', 2805, '38862', '662', '34.164298', '-88.62513', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12159, 'Wheeler', 2805, '38880', '662', '34.57433', '-88.607211', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12160, 'Banner', 2805, '38913', '662', '34.09629', '-89.412771', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12161, 'Glendora', 2805, '38928', '662', '33.876748', '-90.303525', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12162, 'Whitehead', 2805, '38928', '662', '33.876748', '-90.303525', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12163, 'Cadaretta', 2805, '38929', '662', '33.744489', '-89.567824', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12164, 'Ashland', 2805, '38603', '662', '34.820831', '-89.158259', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12165, 'Canaan', 2805, '38603', '662', '34.820831', '-89.158259', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12166, 'Cannon', 2805, '38603', '662', '34.820831', '-89.158259', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12167, 'Snow Lake Shores', 2805, '38603', '662', '34.820831', '-89.158259', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12168, 'Askew', 2805, '38621', '662', '34.440025', '-90.175704', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12169, 'Crenshaw', 2805, '38621', '662', '34.440025', '-90.175704', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12170, 'Jonestown', 2805, '38639', '662', '34.303832', '-90.429448', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12171, 'Lafayette', 2805, '38655', '662', '34.349148', '-89.483611', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12172, 'Lafayette Springs', 2805, '38655', '662', '34.349148', '-89.483611', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12173, 'Oxford', 2805, '38655', '662', '34.349148', '-89.483611', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12174, 'Greenville', 2805, '38704', '662', '33.41', '-91.0619', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12175, 'Alligator', 2805, '38720', '662', '34.111065', '-90.818065', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12176, 'Hillhouse', 2805, '38720', '662', '34.111065', '-90.818065', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12177, 'Arcola', 2805, '38722', '662', '33.263906', '-90.810808', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12178, 'Arkabutla', 2805, '38602', '662', '34.6988', '-90.1239', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12179, 'Como', 2805, '38619', '662', '34.491721', '-89.845102', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12180, 'Harmontown', 2805, '38619', '662', '34.491721', '-89.845102', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12181, 'Courtland', 2805, '38620', '662', '34.229494', '-89.907798', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12182, 'Crowder', 2805, '38622', '662', '34.173483', '-90.154568', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12183, 'Mineral Wells', 2805, '38654', '662', '34.911047', '-89.81274', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12184, 'Olive Branch', 2805, '38654', '662', '34.911047', '-89.81274', '2018-11-29 04:51:09', '2018-11-29 04:51:09');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(12185, 'Baugh', 2805, '38669', '662', '34.18152', '-90.720304', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12186, 'Clarksdale', 2805, '38669', '662', '34.18152', '-90.720304', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12187, 'Sherard', 2805, '38669', '662', '34.18152', '-90.720304', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12188, 'Southaven', 2805, '38672', '662', '34.948276', '-89.955274', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12189, 'Greenville', 2805, '38702', '662', '33.41', '-91.0619', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12190, 'Greenville', 2805, '38703', '662', '33.466584', '-91.053475', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12191, 'Lamont', 2805, '38703', '662', '33.466584', '-91.053475', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12192, 'Anguilla', 2805, '38721', '662', '33.023875', '-90.785552', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12193, 'Nitta Yuma', 2805, '38721', '662', '33.023875', '-90.785552', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12194, 'Straight Bayou', 2805, '38721', '662', '33.023875', '-90.785552', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12195, 'Blue Lake', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12196, 'Brooks', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12197, 'Drew', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12198, 'Dwiggins', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12199, 'Fitzhugh', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12200, 'Goldfield', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12201, 'Wade', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12202, 'Whitney', 2805, '38737', '662', '33.863439', '-90.554154', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12203, 'Malvina', 2805, '38769', '662', '33.829117', '-90.966018', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12204, 'Niles', 2805, '38769', '662', '33.829117', '-90.966018', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12205, 'Rosedale', 2805, '38769', '662', '33.829117', '-90.966018', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12206, 'Symonds', 2805, '38769', '662', '33.829117', '-90.966018', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12207, 'Wright', 2805, '38769', '662', '33.829117', '-90.966018', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12208, 'Scott', 2805, '38772', '662', '33.563655', '-91.079704', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12209, 'Derma', 2805, '38839', '662', '33.8642', '-89.3197', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12210, 'Holly Grove', 2805, '38954', '662', '33.405886', '-90.181537', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12211, 'Phillipstown', 2805, '38954', '662', '33.405886', '-90.181537', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12212, 'Rising Sun', 2805, '38954', '662', '33.405886', '-90.181537', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12213, 'Roebuck', 2805, '38954', '662', '33.405886', '-90.181537', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12214, 'Sidon', 2805, '38954', '662', '33.405886', '-90.181537', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12215, 'Bentonia', 2805, '39040', '662', '32.625312', '-90.388555', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12216, 'Flora', 2805, '39071', '601', '32.559681', '-90.325799', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12217, 'Hillsboro', 2805, '39087', '601', '32.4592', '-89.5115', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12218, 'Ridgeland', 2805, '39157', '601', '32.428608', '-90.153354', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12219, 'Thomastown', 2805, '39171', '601', '32.8638', '-89.6694', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12220, 'Tinsley', 2805, '39173', '662', '32.7316', '-90.4606', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12221, 'Tougaloo', 2805, '39174', '601', '32.400499', '-90.161186', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12222, 'Jackson', 2805, '39204', '601', '32.278528', '-90.234029', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12223, 'Jax', 2805, '39204', '601', '32.278528', '-90.234029', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12224, 'Jksn', 2805, '39204', '601', '32.278528', '-90.234029', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12225, 'Jxn', 2805, '39204', '601', '32.278528', '-90.234029', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12226, 'Byram', 2805, '39272', '601', '32.186054', '-90.272131', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12227, 'Jackson', 2805, '39272', '601', '32.186054', '-90.272131', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12228, 'Jax', 2805, '39272', '601', '32.186054', '-90.272131', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12229, 'Jksn', 2805, '39272', '601', '32.186054', '-90.272131', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12230, 'Jxn', 2805, '39272', '601', '32.186054', '-90.272131', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12231, 'Jackson', 2805, '39289', '601', '32.2986', '-90.1849', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12232, 'Jax', 2805, '39289', '601', '32.2986', '-90.1849', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12233, 'Jksn', 2805, '39289', '601', '32.2986', '-90.1849', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12234, 'Jxn', 2805, '39289', '601', '32.2986', '-90.1849', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12235, 'Mdn', 2805, '39305', '601', '32.480517', '-88.710587', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12236, 'Meridian', 2805, '39305', '601', '32.480517', '-88.710587', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12237, 'Louin', 2805, '39338', '601', '32.117652', '-89.23613', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12238, 'Montrose', 2805, '39338', '601', '32.117652', '-89.23613', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12239, 'Camp Shelby', 2805, '39407', '601', '31.3268', '-89.2905', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12240, 'Hattiesburg', 2805, '39407', '601', '31.3268', '-89.2905', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12241, 'Mc Neill', 2805, '39457', '601', '30.6637', '-89.6342', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12242, 'Mcneill', 2805, '39457', '601', '30.6637', '-89.6342', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12243, 'Gpt', 2805, '39505', '228', '30.3672', '-89.0926', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12244, 'Gulfport', 2805, '39505', '228', '30.3672', '-89.0926', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12245, 'Gpt', 2805, '39507', '228', '30.400682', '-89.032126', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12246, 'Gulfport', 2805, '39507', '228', '30.400682', '-89.032126', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12247, 'Bay Saint Louis', 2805, '39521', '228', '30.3088', '-89.3301', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12248, 'Bay St Louis', 2805, '39521', '228', '30.3088', '-89.3301', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12249, 'Bay Saint Louis', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12250, 'Bay St Louis', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12251, 'Naval Ocean O Graphic', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12252, 'Navocean O', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12253, 'Stennis Ctr', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12254, 'Stennis Sp Ct', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12255, 'Stennis Space Center', 2805, '39522', '228', '30.3127', '-89.326', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12256, 'Airey', 2805, '39574', '228', '30.604857', '-89.112694', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12257, 'Howison', 2805, '39574', '228', '30.604857', '-89.112694', '2018-11-29 04:51:09', '2018-11-29 04:51:09'),\n(12258, 'Saucier', 2805, '39574', '228', '30.604857', '-89.112694', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12259, 'Success', 2805, '39574', '228', '30.604857', '-89.112694', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12260, 'Wortham', 2805, '39574', '228', '30.604857', '-89.112694', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12261, 'Ariel', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12262, 'Bewelcome', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12263, 'Cassels', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12264, 'Eunice', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12265, 'Gloster', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12266, 'Homochitto', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12267, 'Tatum', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12268, 'White Cap', 2805, '39638', '601', '31.174065', '-91.035232', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12269, 'Gillsburg', 2805, '39657', '601', '31.039065', '-90.444986', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12270, 'Osyka', 2805, '39657', '601', '31.039065', '-90.444986', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12271, 'Homer', 2809, '68030', '402', '42.321312', '-96.448577', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12272, 'Papillion', 2809, '68046', '402', '41.117592', '-96.068471', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12273, 'Scribner', 2809, '68057', '402', '41.65525', '-96.713472', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12274, 'Thurston', 2809, '68062', '402', '42.191744', '-96.687111', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12275, 'Leshara', 2809, '68064', '402', '41.346095', '-96.369453', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12276, 'Valley', 2809, '68064', '402', '41.346095', '-96.369453', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12277, 'Winnebago', 2809, '68071', '402', '42.234218', '-96.475791', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12278, 'Omaha', 2809, '68114', '402', '41.263299', '-96.054406', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12279, 'Bellevue', 2809, '68123', '402', '41.109266', '-95.93467', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12280, 'Capehart', 2809, '68123', '402', '41.109266', '-95.93467', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12281, 'La Platte', 2809, '68123', '402', '41.109266', '-95.93467', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12282, 'Burchard', 2809, '68323', '402', '40.088056', '-96.350417', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12283, 'Crab Orchard', 2809, '68332', '402', '40.320092', '-96.407134', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12284, 'Denton', 2809, '68339', '402', '40.726729', '-96.845782', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12285, 'De Witt', 2809, '68341', '402', '40.378726', '-96.90396', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12286, 'Goehner', 2809, '68364', '402', '40.836366', '-97.22563', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12287, 'Dunbar', 2809, '68382', '402', '40.5959', '-96.0242', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12288, 'Lorton', 2809, '68382', '402', '40.5959', '-96.0242', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12289, 'Grover', 2809, '68405', '402', '40.777796', '-97.08247', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12290, 'Milford', 2809, '68405', '402', '40.777796', '-97.08247', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12291, 'Nemaha', 2809, '68414', '402', '40.312825', '-95.667824', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12292, 'Peru', 2809, '68421', '402', '40.499346', '-95.755691', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12293, 'Syracuse', 2809, '68446', '402', '40.646222', '-96.162256', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12294, 'Union', 2809, '68455', '402', '40.805339', '-95.892056', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12295, 'Lincoln', 2809, '68514', '402', '40.932189', '-96.652517', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12296, 'Belgrade', 2809, '68623', '308', '41.438242', '-98.147338', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12297, 'Howells', 2809, '68641', '402', '41.720982', '-96.992384', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12298, 'Snyder', 2809, '68664', '402', '41.706978', '-96.790714', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12299, 'Stromsburg', 2809, '68666', '402', '41.099338', '-97.512059', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12300, 'Beemer', 2809, '68716', '402', '41.931196', '-96.816282', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12301, 'Carroll', 2809, '68723', '402', '42.293352', '-97.193318', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12302, 'Hartington', 2809, '68739', '402', '42.62948', '-97.25054', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12303, 'Hubbard', 2809, '68741', '402', '42.361842', '-96.593392', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12304, 'Madison', 2809, '68748', '402', '41.829898', '-97.503244', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12305, 'Newcastle', 2809, '68757', '402', '42.64293', '-96.92748', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12306, 'Obert', 2809, '68757', '402', '42.64293', '-96.92748', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12307, 'Royal', 2809, '68773', '402', '42.364618', '-98.096925', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12308, 'Wisner', 2809, '68791', '402', '41.952927', '-96.903568', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12309, 'Burwell', 2809, '68823', '308', '41.914457', '-98.990896', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12310, 'Eddyville', 2809, '68834', '308', '41.003257', '-99.703829', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12311, 'Cedar', 2809, '68866', '308', '40.959506', '-99.131214', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12312, 'Pleasanton', 2809, '68866', '308', '40.959506', '-99.131214', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12313, 'Rusco', 2809, '68866', '308', '40.959506', '-99.131214', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12314, 'Sartoria', 2809, '68866', '308', '40.959506', '-99.131214', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12315, 'Atlanta', 2809, '68923', '308', '40.394244', '-99.501984', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12316, 'Industry', 2809, '68923', '308', '40.394244', '-99.501984', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12317, 'Industry-Rock Falls', 2809, '68923', '308', '40.394244', '-99.501984', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12318, 'Rock Falls', 2809, '68923', '308', '40.394244', '-99.501984', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12319, 'Buffalo', 2809, '68932', '402', '40.313881', '-98.763022', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12320, 'Campbell', 2809, '68932', '402', '40.313881', '-98.763022', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12321, 'North Franklin', 2809, '68932', '402', '40.313881', '-98.763022', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12322, 'Lawrence', 2809, '68957', '402', '40.263542', '-98.217508', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12323, 'Mount Clare', 2809, '68957', '402', '40.263542', '-98.217508', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12324, 'St Stephens', 2809, '68957', '402', '40.263542', '-98.217508', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12325, 'Cosmo', 2809, '68959', '308', '40.509932', '-98.90428', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12326, 'Minden', 2809, '68959', '308', '40.509932', '-98.90428', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12327, 'Norman', 2809, '68959', '308', '40.509932', '-98.90428', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12328, 'South Minden', 2809, '68959', '308', '40.509932', '-98.90428', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12329, 'Roseland', 2809, '68973', '402', '40.437406', '-98.553433', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12330, 'Silver Lake', 2809, '68973', '402', '40.437406', '-98.553433', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12331, 'Curtis', 2809, '69025', '308', '40.601935', '-100.500993', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12332, 'Parks', 2809, '69041', '308', '40.1761', '-101.777653', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12333, 'Oakland', 2809, '68045', '402', '41.836158', '-96.480384', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12334, 'Valparaiso', 2809, '68065', '402', '41.075015', '-96.846598', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12335, 'Weston', 2809, '68070', '402', '41.184058', '-96.803172', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12336, 'La Vista', 2809, '68138', '402', '41.158714', '-96.138182', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12337, 'Omaha', 2809, '68138', '402', '41.158714', '-96.138182', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12338, 'Bellevue', 2809, '68147', '402', '41.175602', '-95.955826', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12339, 'Omaha', 2809, '68147', '402', '41.175602', '-95.955826', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12340, 'Daykin', 2809, '68338', '402', '40.306758', '-97.255519', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12341, 'Eagle', 2809, '68347', '402', '40.805642', '-96.416115', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12342, 'Elmwood', 2809, '68349', '402', '40.82715', '-96.30268', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12343, 'Burress', 2809, '68354', '402', '40.662271', '-97.596566', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12344, 'Fairmont', 2809, '68354', '402', '40.662271', '-97.596566', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12345, 'Grafton', 2809, '68365', '402', '40.663191', '-97.748098', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12346, 'Hickman', 2809, '68372', '402', '40.61078', '-96.603684', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12347, 'Holland', 2809, '68372', '402', '40.61078', '-96.603684', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12348, 'Lanham', 2809, '68415', '402', '40.081343', '-96.812812', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12349, 'Odell', 2809, '68415', '402', '40.081343', '-96.812812', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12350, 'Table Rock', 2809, '68447', '402', '40.20755', '-96.066898', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12351, 'Virginia', 2809, '68458', '402', '40.218724', '-96.501459', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12352, 'Lincoln', 2809, '68583', '402', '40.831894', '-96.663311', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12353, 'Univ Of Ne E Campus', 2809, '68583', '402', '40.831894', '-96.663311', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12354, 'Genoa', 2809, '68640', '402', '41.453191', '-97.824714', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12355, 'Cornlea', 2809, '68642', '402', '41.670735', '-97.498222', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12356, 'Humphrey', 2809, '68642', '402', '41.670735', '-97.498222', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12357, 'Tarnov', 2809, '68642', '402', '41.670735', '-97.498222', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12358, 'Monroe', 2809, '68647', '402', '41.496682', '-97.59935', '2018-11-29 04:51:10', '2018-11-29 04:51:10'),\n(12359, 'Rising City', 2809, '68658', '402', '41.214901', '-97.281901', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12360, 'Battle Creek', 2809, '68715', '402', '41.977422', '-97.601603', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12361, 'Anoka', 2809, '68722', '402', '42.911351', '-98.831026', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12362, 'Butte', 2809, '68722', '402', '42.911351', '-98.831026', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12363, 'Center', 2809, '68724', '402', '42.625367', '-97.867014', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12364, 'Spade', 2809, '68724', '402', '42.625367', '-97.867014', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12365, 'Inman', 2809, '68742', '402', '42.349658', '-98.56373', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12366, 'Newman Grove', 2809, '68758', '402', '41.75682', '-97.775039', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12367, 'Tilden', 2809, '68781', '402', '42.031934', '-97.862585', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12368, 'Winside', 2809, '68790', '402', '42.156148', '-97.18369', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12369, 'Wynot', 2809, '68792', '402', '42.726288', '-97.132358', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12370, 'Arcadia', 2809, '68815', '308', '41.437659', '-99.096926', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12371, 'Davis Creek', 2809, '68815', '308', '41.437659', '-99.096926', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12372, 'Vinton', 2809, '68815', '308', '41.437659', '-99.096926', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12373, 'Yale', 2809, '68815', '308', '41.437659', '-99.096926', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12374, 'Broken Bow', 2809, '68822', '308', '41.44408', '-99.568355', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12375, 'Cairo', 2809, '68824', '308', '41.005104', '-98.602486', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12376, 'Mayfield', 2809, '68824', '308', '41.005104', '-98.602486', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12377, 'South Loup', 2809, '68824', '308', '41.005104', '-98.602486', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12378, 'Central City', 2809, '68826', '308', '41.151805', '-97.992058', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12379, 'Canoncito', 2812, '87026', '505', '34.962821', '-107.361265', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12380, 'Cononcito', 2812, '87026', '505', '34.962821', '-107.361265', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12381, 'Laguna', 2812, '87026', '505', '34.962821', '-107.361265', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12382, 'Mesita', 2812, '87026', '505', '34.962821', '-107.361265', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12383, 'Old Laguna', 2812, '87026', '505', '34.962821', '-107.361265', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12384, 'Tohajiilee', 2812, '87026', '505', '34.962821', '-107.361265', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12385, 'Gavilan', 2812, '87029', '505', '36.378204', '-106.914305', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12386, 'Lindrith', 2812, '87029', '505', '36.378204', '-106.914305', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12387, 'Ojito', 2812, '87029', '505', '36.378204', '-106.914305', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12388, 'Placitas', 2812, '87043', '505', '35.29021', '-106.4433', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12389, 'Regina', 2812, '87046', '505', '36.171538', '-107.051614', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12390, 'Tome', 2812, '87060', '505', '34.745566', '-106.73298', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12391, 'Las Nutrias', 2812, '87062', '505', '34.437497', '-106.662454', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12392, 'Veguita', 2812, '87062', '505', '34.437497', '-106.662454', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12393, 'Algodones', 2812, '87001', '505', '35.360607', '-106.374156', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12394, 'Budaghers', 2812, '87001', '505', '35.360607', '-106.374156', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12395, 'Domingo', 2812, '87001', '505', '35.360607', '-106.374156', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12396, 'San Felipe Pb', 2812, '87001', '505', '35.360607', '-106.374156', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12397, 'Belen', 2812, '87002', '505', '34.610918', '-106.698115', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12398, 'Los Chavez', 2812, '87002', '505', '34.610918', '-106.698115', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12399, 'Los Trujillos', 2812, '87002', '505', '34.610918', '-106.698115', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12400, 'Pueblitos', 2812, '87002', '505', '34.610918', '-106.698115', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12401, 'Milan', 2812, '87021', '505', '35.231802', '-107.89335', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12402, 'Edgewood', 2812, '87015', '505', '35.057593', '-106.172937', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12403, 'Los Lunas', 2812, '87031', '505', '34.768088', '-106.745102', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12404, 'Fort Hunter', 2814, '12069', '518', '42.9412', '-74.2821', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12405, 'Bleecker', 2814, '12078', '518', '43.130268', '-74.352938', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12406, 'Gloversville', 2814, '12078', '518', '43.130268', '-74.352938', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12407, 'Meco', 2814, '12078', '518', '43.130268', '-74.352938', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12408, 'Riceville', 2814, '12078', '518', '43.130268', '-74.352938', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12409, 'West Bush', 2814, '12078', '518', '43.130268', '-74.352938', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12410, 'Hannacroix', 2814, '12087', '518', '42.426925', '-73.879644', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12411, 'Barnerville', 2814, '12092', '518', '42.703678', '-74.378272', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12412, 'Bramanville', 2814, '12092', '518', '42.703678', '-74.378272', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12413, 'Howes Cave', 2814, '12092', '518', '42.703678', '-74.378272', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12414, 'Johnsonville', 2814, '12094', '518', '42.879591', '-73.486626', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12415, 'Austerlitz', 2814, '12017', '518', '42.316786', '-73.455276', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12416, 'Brookview', 2814, '12033', '518', '42.53459', '-73.701087', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12417, 'Castleton', 2814, '12033', '518', '42.53459', '-73.701087', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12418, 'Castleton On Hudson', 2814, '12033', '518', '42.53459', '-73.701087', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12419, 'S Schodack', 2814, '12033', '518', '42.53459', '-73.701087', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12420, 'South Schodack', 2814, '12033', '518', '42.53459', '-73.701087', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12421, 'Chatham', 2814, '12037', '518', '42.336273', '-73.552743', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12422, 'Mayfield', 2814, '12117', '518', '43.15235', '-74.240802', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12423, 'Mastic Beach', 2814, '11951', '631', '40.765669', '-72.837944', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12424, 'Old Mastic', 2814, '11951', '631', '40.765669', '-72.837944', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12425, 'Village Of Mastic Beach', 2814, '11951', '631', '40.765669', '-72.837944', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12426, 'Middle Island', 2814, '11953', '631', '40.879155', '-72.951416', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12427, 'Remsenburg', 2814, '11960', '631', '40.807917', '-72.705062', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12428, 'Water Mill', 2814, '11976', '631', '40.931359', '-72.340775', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12429, 'Watermill', 2814, '11976', '631', '40.931359', '-72.340775', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12430, 'Wtr Mill', 2814, '11976', '631', '40.931359', '-72.340775', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12431, 'Wading River', 2814, '11792', '631', '40.940634', '-72.836472', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12432, 'Wildwood', 2814, '11792', '631', '40.940634', '-72.836472', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12433, 'Willwood', 2814, '11792', '631', '40.940634', '-72.836472', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12434, 'Stony Brook', 2814, '11794', '631', '40.911806', '-73.122977', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12435, 'Stonybrook', 2814, '11794', '631', '40.911806', '-73.122977', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12436, 'Suny Stony Brook', 2814, '11794', '631', '40.911806', '-73.122977', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12437, 'Hicksville', 2814, '11801', '516', '40.765392', '-73.523691', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12438, 'Belle Harbor', 2814, '11694', '718', '40.574938', '-73.850777', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12439, 'Far Rockaway', 2814, '11694', '718', '40.574938', '-73.850777', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12440, 'Neponsit', 2814, '11694', '718', '40.574938', '-73.850777', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12441, 'Queens', 2814, '11694', '718', '40.574938', '-73.850777', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12442, 'Rockaway Park', 2814, '11694', '718', '40.574938', '-73.850777', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12443, 'Holtsville', 2814, '11742', '631', '40.810705', '-73.045926', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12444, 'Bayberry Point', 2814, '11751', '631', '40.731183', '-73.213684', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12445, 'Islip', 2814, '11751', '631', '40.731183', '-73.213684', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12446, 'Islip Manor', 2814, '11751', '631', '40.731183', '-73.213684', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12447, 'Factory Village', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12448, 'Harmony Corners', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12449, 'Malta', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12450, 'Malta Ridge', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12451, 'Maltaville', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12452, 'Milton Center', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12453, 'Pioneer', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12454, 'Riley Cove', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12455, 'West Milton', 2814, '12020', '518', '43.004414', '-73.867954', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12456, 'Cobleskill', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12457, 'Dorloo', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12458, 'Hyndsville', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12459, 'Janesville', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12460, 'Lawyersville', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:11', '2018-11-29 04:51:11'),\n(12461, 'Mineral Springs', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12462, 'Seward', 2814, '12043', '518', '42.70187', '-74.52773', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12463, 'Center Moriches', 2814, '11934', '631', '40.801649', '-72.790786', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12464, 'Ctr Moriches', 2814, '11934', '631', '40.801649', '-72.790786', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12465, 'Old Westfield', 2814, '11784', '631', '40.869052', '-73.035956', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12466, 'Selden', 2814, '11784', '631', '40.869052', '-73.035956', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12467, 'Shoreham', 2814, '11786', '631', '40.938655', '-72.887558', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12468, 'Broad Channel', 2814, '11693', '718', '40.610717', '-73.822376', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12469, 'Far Rockaway', 2814, '11693', '718', '40.610717', '-73.822376', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12470, 'Queens', 2814, '11693', '718', '40.610717', '-73.822376', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12471, 'Rockaway Beac', 2814, '11693', '718', '40.610717', '-73.822376', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12472, 'Rockaway Beach', 2814, '11693', '718', '40.610717', '-73.822376', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12473, 'Holbrook', 2814, '11741', '631', '40.798329', '-73.067897', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12474, 'Bay Hills', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12475, 'Baycrest', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12476, 'Beech Croft', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12477, 'Cold Spring Hills', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12478, 'Halesite', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12479, 'Harbor Heights', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12480, 'Huntington', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12481, 'Huntington Bay', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12482, 'Knollwood Beach', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12483, 'Lloyd Harbor', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12484, 'Lloyd Neck', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12485, 'W Hills', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12486, 'West Hills', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12487, 'Wincoma', 2814, '11743', '631', '40.874572', '-73.414456', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12488, 'Mount Sinai', 2814, '11766', '631', '40.933738', '-73.010251', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12489, 'Mt Sinai', 2814, '11766', '631', '40.933738', '-73.010251', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12490, 'Lakeview', 2814, '11552', '516', '40.693572', '-73.650008', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12491, 'W Hempstead', 2814, '11552', '516', '40.693572', '-73.650008', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12492, 'West Hempstead', 2814, '11552', '516', '40.693572', '-73.650008', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12493, 'Hewlett', 2814, '11557', '516', '40.636509', '-73.696242', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12494, 'Hewlett Bay', 2814, '11557', '516', '40.636509', '-73.696242', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12495, 'Hewlett Bay Park', 2814, '11557', '516', '40.636509', '-73.696242', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12496, 'Hewlett Harbor', 2814, '11557', '516', '40.636509', '-73.696242', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12497, 'Babylon', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12498, 'Captree Is', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12499, 'Captree Island', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12500, 'Gilgo Beach', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12501, 'Oak Beach', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12502, 'Oak Island', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12503, 'W Gilgo Beach', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12504, 'West Gilgo Beach', 2814, '11702', '631', '40.645524', '-73.416668', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12505, 'Brightwaters', 2814, '11718', '631', '40.7167', '-73.262052', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12506, 'Coram', 2814, '11727', '631', '40.877764', '-73.00421', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12507, 'Jamaica', 2814, '11432', '718', '40.715698', '-73.792828', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12508, 'Jamaica Est', 2814, '11432', '718', '40.715698', '-73.792828', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12509, 'Merrick', 2814, '11566', '516', '40.664516', '-73.552814', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12510, 'N Merrick', 2814, '11566', '516', '40.664516', '-73.552814', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12511, 'North Merrick', 2814, '11566', '516', '40.664516', '-73.552814', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12512, 'Roosevelt', 2814, '11575', '516', '40.680135', '-73.587015', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12513, 'Valley Stream', 2814, '11582', '516', '40.6644', '-73.7087', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12514, 'Queens', 2814, '11432', '718', '40.715698', '-73.792828', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12515, 'Albertson', 2814, '11507', '516', '40.770256', '-73.65064', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12516, 'Brooklyn', 2814, '11232', '718', '40.657236', '-74.002868', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12517, 'Brooklyn', 2814, '11234', '718', '40.609762', '-73.910664', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12518, 'Brooklyn', 2814, '11243', '718', '40.6955', '-73.9904', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12519, 'Beechhurst', 2814, '11357', '718', '40.787246', '-73.811211', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12520, 'Flushing', 2814, '11357', '718', '40.787246', '-73.811211', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12521, 'Malba', 2814, '11357', '718', '40.787246', '-73.811211', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12522, 'Queens', 2814, '11357', '718', '40.787246', '-73.811211', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12523, 'Whitestone', 2814, '11357', '718', '40.787246', '-73.811211', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12524, 'Flushing', 2814, '11366', '718', '40.728054', '-73.790559', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12525, 'Fresh Meadows', 2814, '11366', '718', '40.728054', '-73.790559', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12526, 'Queens', 2814, '11366', '718', '40.728054', '-73.790559', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12527, 'Utopia', 2814, '11366', '718', '40.728054', '-73.790559', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12528, 'Thiells', 2814, '10984', '845', '41.208295', '-74.016474', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12529, 'Brooklyn', 2814, '11209', '718', '40.620876', '-74.029111', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12530, 'Brooklyn', 2814, '11216', '718', '40.680972', '-73.947638', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12531, 'Camp Bell Hall', 2814, '10916', '845', '41.44751', '-74.258234', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12532, 'Campbell Hall', 2814, '10916', '845', '41.44751', '-74.258234', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12533, 'Garnerville', 2814, '10923', '845', '41.204355', '-74.003126', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12534, 'Middletown', 2814, '10941', '845', '41.488816', '-74.349874', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12535, 'Scotchtown', 2814, '10941', '845', '41.488816', '-74.349874', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12536, 'Scotchtown Branch', 2814, '10941', '845', '41.488816', '-74.349874', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12537, 'Great Neck', 2814, '11023', '516', '40.79645', '-73.732016', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12538, 'Harbor Hills', 2814, '11023', '516', '40.79645', '-73.732016', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12539, 'Saddle Rock', 2814, '11023', '516', '40.79645', '-73.732016', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12540, 'Peekskill', 2814, '10566', '845', '41.284739', '-73.923184', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12541, 'Port Chester', 2814, '10573', '914', '41.023197', '-73.678118', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12542, 'Portchester', 2814, '10573', '914', '41.023197', '-73.678118', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12543, 'Jericho', 2814, '11753', '516', '40.79322', '-73.543404', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12544, 'Muttontown', 2814, '11753', '516', '40.79322', '-73.543404', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12545, 'E Massapequa', 2814, '11758', '516', '40.683118', '-73.455121', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12546, 'East Massapequa', 2814, '11758', '516', '40.683118', '-73.455121', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12547, 'Massapequa', 2814, '11758', '516', '40.683118', '-73.455121', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12548, 'N Massapequa', 2814, '11758', '516', '40.683118', '-73.455121', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12549, 'North Massapequa', 2814, '11758', '516', '40.683118', '-73.455121', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12550, 'Hempstead', 2814, '11549', '516', '40.718013', '-73.599554', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12551, 'Hofstra Univ', 2814, '11549', '516', '40.718013', '-73.599554', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12552, 'Brentwood', 2814, '11717', '631', '40.781819', '-73.25236', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12553, 'Edgewood', 2814, '11717', '631', '40.781819', '-73.25236', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12554, 'Pine Air', 2814, '11717', '631', '40.781819', '-73.25236', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12555, 'W Brentwood', 2814, '11717', '631', '40.781819', '-73.25236', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12556, 'West Brentwood', 2814, '11717', '631', '40.781819', '-73.25236', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12557, 'Jamaica', 2814, '11424', '718', '40.7157', '-73.8267', '2018-11-29 04:51:12', '2018-11-29 04:51:12'),\n(12558, 'Kew Gardens', 2814, '11424', '718', '40.7157', '-73.8267', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12559, 'Queens', 2814, '11424', '718', '40.7157', '-73.8267', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12560, 'Barnum Island', 2814, '11558', '516', '40.606969', '-73.654646', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12561, 'Harbor Island', 2814, '11558', '516', '40.606969', '-73.654646', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12562, 'Harbor Isle', 2814, '11558', '516', '40.606969', '-73.654646', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12563, 'Island Park', 2814, '11558', '516', '40.606969', '-73.654646', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12564, 'Brooklyn', 2814, '11233', '718', '40.676503', '-73.920418', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12565, 'Brooklyn', 2814, '11251', '718', '40.703388', '-73.97163', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12566, 'Brooklyn Navy Yard', 2814, '11251', '718', '40.703388', '-73.97163', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12567, 'Flushing', 2814, '11358', '718', '40.761603', '-73.794507', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12568, 'Queens', 2814, '11358', '718', '40.761603', '-73.794507', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12569, 'Sta A', 2814, '11358', '718', '40.761603', '-73.794507', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12570, 'Jamaica', 2814, '11417', '718', '40.676056', '-73.846738', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12571, 'Ozone Park', 2814, '11417', '718', '40.676056', '-73.846738', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12572, 'Queens', 2814, '11417', '718', '40.676056', '-73.846738', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12573, 'Borough Hall', 2814, '11424', '718', '40.7157', '-73.8267', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12574, 'Astoria', 2814, '11101', '718', '40.745617', '-73.936038', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12575, 'Long Is City', 2814, '11101', '718', '40.745617', '-73.936038', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12576, 'Long Island City', 2814, '11101', '718', '40.745617', '-73.936038', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12577, 'Queens', 2814, '11101', '718', '40.745617', '-73.936038', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12578, 'Flushing', 2814, '11365', '718', '40.739515', '-73.794006', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12579, 'Fresh Meadows', 2814, '11365', '718', '40.739515', '-73.794006', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12580, 'Pomonok', 2814, '11365', '718', '40.739515', '-73.794006', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12581, 'Queens', 2814, '11365', '718', '40.739515', '-73.794006', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12582, 'U S C C', 2814, '10997', '845', '41.3932', '-73.9585', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12583, 'West Point', 2814, '10997', '845', '41.3932', '-73.9585', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12584, 'Astoria', 2814, '11106', '718', '40.762455', '-73.93165', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12585, 'Long Is City', 2814, '11106', '718', '40.762455', '-73.93165', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12586, 'Long Island City', 2814, '11106', '718', '40.762455', '-73.93165', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12587, 'Queens', 2814, '11106', '718', '40.762455', '-73.93165', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12588, 'Brooklyn', 2814, '11201', '718', '40.694599', '-73.990638', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12589, 'Brooklyn Heights', 2814, '11201', '718', '40.694599', '-73.990638', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12590, 'Brooklyn Hgts', 2814, '11201', '718', '40.694599', '-73.990638', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12591, 'Brooklyn', 2814, '11226', '718', '40.645412', '-73.95873', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12592, 'Bullville', 2814, '10915', '845', '41.5443', '-74.3618', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12593, 'Central Valley', 2814, '10917', '845', '41.329756', '-74.113002', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12594, 'Central Vly', 2814, '10917', '845', '41.329756', '-74.113002', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12595, 'Goshen', 2814, '10924', '845', '41.3781', '-74.361864', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12596, 'Johnson', 2814, '10933', '845', '41.3663', '-74.5067', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12597, 'Monroe', 2814, '10949', '845', '41.33', '-74.19', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12598, 'Great Neck', 2814, '11026', '516', '40.7751', '-73.7196', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12599, 'Mount Kisco', 2814, '10549', '914', '41.199927', '-73.718035', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12600, 'Shrub Oak', 2814, '10588', '914', '41.328788', '-73.823012', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12601, 'White Plains', 2814, '10606', '914', '41.018382', '-73.776812', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12602, 'Boulevard', 2814, '10474', '718', '40.804142', '-73.884248', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12603, 'Bronx', 2814, '10474', '718', '40.804142', '-73.884248', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12604, 'Bronx', 2814, '10499', '718', '40.8207', '-73.9223', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12605, 'Priority Mail Ctr', 2814, '10499', '718', '40.8207', '-73.9223', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12606, 'Larchmont', 2814, '10538', '914', '40.934117', '-73.754688', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12607, 'Farmingville', 2814, '11738', '631', '40.836816', '-73.040485', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12608, 'Greenlawn', 2814, '11740', '631', '40.868432', '-73.361821', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12609, 'Kings Park', 2814, '11754', '631', '40.889334', '-73.248558', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12610, 'San Remo', 2814, '11754', '631', '40.889334', '-73.248558', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12611, 'Mitchell Field', 2814, '11553', '516', '40.706848', '-73.592156', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12612, 'Uniondale', 2814, '11553', '516', '40.706848', '-73.592156', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12613, 'E Meadow', 2814, '11554', '516', '40.721996', '-73.557722', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12614, 'East Meadow', 2814, '11554', '516', '40.721996', '-73.557722', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12615, 'Uniondale', 2814, '11556', '516', '40.7004', '-73.5934', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12616, 'Babylon', 2814, '11703', '631', '40.732364', '-73.325706', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12617, 'N Babylon', 2814, '11703', '631', '40.732364', '-73.325706', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12618, 'North Babylon', 2814, '11703', '631', '40.732364', '-73.325706', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12619, 'Bay Port', 2814, '11705', '631', '40.749', '-73.05541', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12620, 'Bayport', 2814, '11705', '631', '40.749', '-73.05541', '2018-11-29 04:51:13', '2018-11-29 04:51:13');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(12621, 'Centereach', 2814, '11720', '631', '40.871082', '-73.083766', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12622, 'S Setauket', 2814, '11720', '631', '40.871082', '-73.083766', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12623, 'South Setauket', 2814, '11720', '631', '40.871082', '-73.083766', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12624, 'Flushing', 2814, '11372', '718', '40.75173', '-73.882981', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12625, 'Jackson Heights', 2814, '11372', '718', '40.75173', '-73.882981', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12626, 'Jackson Hts', 2814, '11372', '718', '40.75173', '-73.882981', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12627, 'Queens', 2814, '11372', '718', '40.75173', '-73.882981', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12628, 'Flushing', 2814, '11386', '718', '40.7653', '-73.8179', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12629, 'Queens', 2814, '11386', '718', '40.7653', '-73.8179', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12630, 'Jamaica', 2814, '11436', '718', '40.676396', '-73.796821', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12631, 'Queens', 2814, '11436', '718', '40.676396', '-73.796821', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12632, 'S Ozone Park', 2814, '11436', '718', '40.676396', '-73.796821', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12633, 'S Ozone Pk', 2814, '11436', '718', '40.676396', '-73.796821', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12634, 'South Ozone Park', 2814, '11436', '718', '40.676396', '-73.796821', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12635, 'Jamaica', 2814, '11439', '718', '40.6917', '-73.8061', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12636, 'Queens', 2814, '11439', '718', '40.6917', '-73.8061', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12637, 'Saint John University', 2814, '11439', '718', '40.6917', '-73.8061', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12638, 'Brooklyn', 2814, '11235', '718', '40.584576', '-73.940203', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12639, 'Brooklyn', 2814, '11237', '718', '40.702704', '-73.918472', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12640, 'Brooklyn', 2814, '11239', '718', '40.647368', '-73.874086', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12641, 'Brooklyn', 2814, '11252', '718', '40.6061', '-74.0291', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12642, 'Fort Hamilton', 2814, '11252', '718', '40.6061', '-74.0291', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12643, 'Flushing', 2814, '11352', '718', '40.7613', '-73.8233', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12644, 'Queens', 2814, '11352', '718', '40.7613', '-73.8233', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12645, 'College Point', 2814, '11356', '718', '40.784329', '-73.842472', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12646, 'Flushing', 2814, '11356', '718', '40.784329', '-73.842472', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12647, 'Queens', 2814, '11356', '718', '40.784329', '-73.842472', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12648, 'Ridgewood', 2814, '11386', '718', '40.7653', '-73.8179', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12649, 'Jamaica', 2814, '11421', '718', '40.692911', '-73.856759', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12650, 'Queens', 2814, '11421', '718', '40.692911', '-73.856759', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12651, 'Woodhaven', 2814, '11421', '718', '40.692911', '-73.856759', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12652, 'Port Washington', 2814, '11052', '516', '40.8257', '-73.6986', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12653, 'Prt Washingtn', 2814, '11052', '516', '40.8257', '-73.6986', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12654, 'Publishers Clear House', 2814, '11052', '516', '40.8257', '-73.6986', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12655, 'Port Washington', 2814, '11053', '516', '40.8257', '-73.6986', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12656, 'Prt Washingtn', 2814, '11053', '516', '40.8257', '-73.6986', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12657, 'Publishers Clearing House', 2814, '11053', '516', '40.8257', '-73.6986', '2018-11-29 04:51:13', '2018-11-29 04:51:13'),\n(12658, 'Port Washington', 2814, '11055', '516', '40.8257', '-73.6986', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12659, 'Prt Washingtn', 2814, '11055', '516', '40.8257', '-73.6986', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12660, 'Publishers Clearing House', 2814, '11055', '516', '40.8257', '-73.6986', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12661, 'Astoria', 2814, '11103', '718', '40.762289', '-73.912051', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12662, 'Long Is City', 2814, '11103', '718', '40.762289', '-73.912051', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12663, 'Long Island City', 2814, '11103', '718', '40.762289', '-73.912051', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12664, 'Queens', 2814, '11103', '718', '40.762289', '-73.912051', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12665, 'Astoria', 2814, '11104', '718', '40.743528', '-73.918564', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12666, 'Long Is City', 2814, '11104', '718', '40.743528', '-73.918564', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12667, 'Long Island City', 2814, '11104', '718', '40.743528', '-73.918564', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12668, 'Queens', 2814, '11104', '718', '40.743528', '-73.918564', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12669, 'Sunnyside', 2814, '11104', '718', '40.743528', '-73.918564', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12670, 'East Elmhurst', 2814, '11370', '718', '40.766096', '-73.891844', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12671, 'Flushing', 2814, '11370', '718', '40.766096', '-73.891844', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12672, 'Queens', 2814, '11370', '718', '40.766096', '-73.891844', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12673, 'Trainsmeadow', 2814, '11370', '718', '40.766096', '-73.891844', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12674, 'Thompson Rdg', 2814, '10985', '845', '41.579564', '-74.358946', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12675, 'Thompson Ridge', 2814, '10985', '845', '41.579564', '-74.358946', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12676, 'Alden Manor', 2814, '11003', '516', '40.698679', '-73.705446', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12677, 'Argo Village', 2814, '11003', '516', '40.698679', '-73.705446', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12678, 'Elmont', 2814, '11003', '516', '40.698679', '-73.705446', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12679, 'Floral Park', 2814, '11003', '516', '40.698679', '-73.705446', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12680, 'Locustwood', 2814, '11003', '516', '40.698679', '-73.705446', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12681, 'Meacham', 2814, '11003', '516', '40.698679', '-73.705446', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12682, 'Floral Park', 2814, '11004', '718', '40.746712', '-73.712022', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12683, 'Glen Oaks', 2814, '11004', '718', '40.746712', '-73.712022', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12684, 'Floral Park', 2814, '11005', '718', '40.754714', '-73.713104', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12685, 'Brooklyn', 2814, '11202', '718', '40.6957', '-73.9936', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12686, 'Brooklyn', 2814, '11203', '718', '40.649188', '-73.933724', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12687, 'Brooklyn', 2814, '11205', '718', '40.694371', '-73.965874', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12688, 'Brooklyn', 2814, '11220', '718', '40.640737', '-74.018376', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12689, 'Brooklyn', 2814, '11222', '718', '40.72832', '-73.944758', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12690, 'Pelham', 2814, '10803', '914', '40.90454', '-73.805904', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12691, 'Pelham Manor', 2814, '10803', '914', '40.90454', '-73.805904', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12692, 'Circleville', 2814, '10919', '845', '41.522124', '-74.378814', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12693, 'Mountainville', 2814, '10953', '845', '41.4009', '-74.0789', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12694, 'Mount Vernon', 2814, '10553', '914', '40.909368', '-73.820974', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12695, 'Mt Vernon', 2814, '10553', '914', '40.909368', '-73.820974', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12696, 'Pleasantville', 2814, '10570', '914', '41.125506', '-73.792422', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12697, 'White Plains', 2814, '10601', '914', '41.031532', '-73.764403', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12698, 'N White Plains', 2814, '10603', '914', '41.05778', '-73.777229', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12699, 'N White Plns', 2814, '10603', '914', '41.05778', '-73.777229', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12700, 'North White Plains', 2814, '10603', '914', '41.05778', '-73.777229', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12701, 'White Plains', 2814, '10603', '914', '41.05778', '-73.777229', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12702, 'Pine Island', 2814, '10969', '845', '41.290634', '-74.487788', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12703, 'Mount Ivy', 2814, '10970', '845', '41.191419', '-74.083108', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12704, 'Pomona', 2814, '10970', '845', '41.191419', '-74.083108', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12705, 'Bronx', 2814, '10467', '718', '40.876653', '-73.871508', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12706, 'Rye Brook', 2814, '10573', '914', '41.023197', '-73.678118', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12707, 'Verplanck', 2814, '10596', '914', '41.2528', '-73.9606', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12708, 'Greenburgh', 2814, '10607', '914', '41.037256', '-73.80932', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12709, 'White Plains', 2814, '10607', '914', '41.037256', '-73.80932', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12710, 'Slate Hill', 2814, '10973', '845', '41.38522', '-74.474467', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12711, 'Bronx', 2814, '10471', '718', '40.90015', '-73.903608', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12712, 'Riverdale', 2814, '10471', '718', '40.90015', '-73.903608', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12713, 'Bedford Hills', 2814, '10507', '914', '41.22736', '-73.691824', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12714, 'Chappaqua', 2814, '10514', '914', '41.173776', '-73.771424', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12715, 'Croton Hdsn', 2814, '10521', '914', '41.2358', '-73.9298', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12716, 'Croton On Hudson', 2814, '10521', '914', '41.2358', '-73.9298', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12717, 'Crugers', 2814, '10521', '914', '41.2358', '-73.9298', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12718, 'Hartsdale', 2814, '10530', '914', '41.018308', '-73.812398', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12719, 'Scarsdale', 2814, '10530', '914', '41.018308', '-73.812398', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12720, 'Hawthorne', 2814, '10532', '914', '41.095159', '-73.806894', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12721, 'Staten Island', 2814, '10304', '718', '40.607209', '-74.095301', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12722, 'Staten Island', 2814, '10306', '718', '40.55987', '-74.11501', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12723, 'Staten Island', 2814, '10313', '718', '40.6172', '-74.1221', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12724, 'Bedford Corners', 2814, '10549', '914', '41.199927', '-73.718035', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12725, 'Bedford Cors', 2814, '10549', '914', '41.199927', '-73.718035', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12726, 'Staten Island', 2814, '10305', '718', '40.59731', '-74.077055', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12727, 'Staten Island', 2814, '10307', '718', '40.508858', '-74.24174', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12728, 'Staten Island', 2814, '10312', '718', '40.541702', '-74.17893', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12729, 'Staten Island', 2814, '10314', '718', '40.596148', '-74.161613', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12730, 'Bronx', 2814, '10464', '718', '40.862717', '-73.793643', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12731, 'Mosholu', 2814, '10467', '718', '40.876653', '-73.871508', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12732, 'Van Cott', 2814, '10467', '718', '40.876653', '-73.871508', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12733, 'Williamsbridge', 2814, '10467', '718', '40.876653', '-73.871508', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12734, 'Ardsley', 2814, '10502', '914', '41.009924', '-73.840488', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12735, 'Crompond', 2814, '10517', '914', '41.2976', '-73.8672', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12736, 'Croton', 2814, '10520', '914', '41.209188', '-73.878782', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12737, 'Croton Hdsn', 2814, '10520', '914', '41.209188', '-73.878782', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12738, 'Croton Hudson', 2814, '10520', '914', '41.209188', '-73.878782', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12739, 'Croton On Hudson', 2814, '10520', '914', '41.209188', '-73.878782', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12740, 'Yonkers', 2814, '10701', '914', '40.952603', '-73.88291', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12741, 'Yonkers', 2814, '10704', '914', '40.922999', '-73.863398', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12742, 'Allerton', 2814, '10467', '718', '40.876653', '-73.871508', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12743, 'Bronx', 2814, '10453', '718', '40.853612', '-73.913576', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12744, 'Holtsville', 2814, '00544', '631', '40.8154', '-73.0456', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12745, 'Internal Revenue Service', 2814, '00544', '631', '40.8154', '-73.0456', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12746, 'Staten Island', 2814, '10308', '718', '40.55291', '-74.14956', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12747, 'Bronx', 2814, '10458', '718', '40.864942', '-73.884878', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12748, 'Bronx', 2814, '10460', '718', '40.843824', '-73.879342', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12749, 'Crotona Park', 2814, '10460', '718', '40.843824', '-73.879342', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12750, 'West Farms', 2814, '10460', '718', '40.843824', '-73.879342', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12751, 'Bronx', 2814, '10461', '718', '40.845485', '-73.843579', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12752, 'Morris Park', 2814, '10461', '718', '40.845485', '-73.843579', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12753, 'Pilgrim', 2814, '10461', '718', '40.845485', '-73.843579', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12754, 'Westchester', 2814, '10461', '718', '40.845485', '-73.843579', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12755, 'Maryknoll', 2814, '10545', '914', '41.1605', '-73.8672', '2018-11-29 04:51:14', '2018-11-29 04:51:14'),\n(12756, 'Purchase', 2814, '10577', '914', '41.037443', '-73.71703', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12757, 'Thornwood', 2814, '10594', '914', '41.114758', '-73.770874', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12758, 'East View', 2814, '10595', '914', '41.08894', '-73.784358', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12759, 'Valhalla', 2814, '10595', '914', '41.08894', '-73.784358', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12760, 'Grnd Vw Hudsn', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12761, 'Nyack', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12762, 'South Nyack', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12763, 'Upper Grandview', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12764, 'Upper Nyack', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12765, 'Bronx', 2814, '10475', '718', '40.873853', '-73.826951', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12766, 'Goldens Brg', 2814, '10526', '914', '41.292156', '-73.647289', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12767, 'Goldens Bridge', 2814, '10526', '914', '41.292156', '-73.647289', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12768, 'Granite Spgs', 2814, '10527', '914', '41.319883', '-73.76062', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12769, 'Granite Springs', 2814, '10527', '914', '41.319883', '-73.76062', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12770, 'Harrison', 2814, '10528', '914', '40.979412', '-73.720708', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12771, 'Rexford', 2814, '12148', '518', '42.84157', '-73.835658', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12772, 'Vischer Ferry', 2814, '12148', '518', '42.84157', '-73.835658', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12773, 'Richmondville', 2814, '12149', '518', '42.621706', '-74.564548', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12774, 'West Richmondville', 2814, '12149', '518', '42.621706', '-74.564548', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12775, 'Spencertown', 2814, '12165', '518', '42.304114', '-73.507864', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12776, 'Charleston Four Corners', 2814, '12166', '518', '42.834138', '-74.457669', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12777, 'Lykers', 2814, '12166', '518', '42.834138', '-74.457669', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12778, 'Root', 2814, '12166', '518', '42.834138', '-74.457669', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12779, 'Rural Grove', 2814, '12166', '518', '42.834138', '-74.457669', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12780, 'Sprakers', 2814, '12166', '518', '42.834138', '-74.457669', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12781, 'Albany', 2814, '12233', '518', '42.6525', '-73.7567', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12782, 'Ny Conservation Dept', 2814, '12233', '518', '42.6525', '-73.7567', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12783, 'Greenville', 2814, '12083', '518', '42.43093', '-74.038255', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12784, 'Norton Hill', 2814, '12083', '518', '42.43093', '-74.038255', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12785, 'S Westerlo', 2814, '12083', '518', '42.43093', '-74.038255', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12786, 'South Westerlo', 2814, '12083', '518', '42.43093', '-74.038255', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12787, 'Athens', 2814, '12015', '518', '42.282086', '-73.832002', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12788, 'Caroga', 2814, '12032', '518', '43.264025', '-74.576512', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12789, 'Caroga Lake', 2814, '12032', '518', '43.264025', '-74.576512', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12790, 'Pine Lake', 2814, '12032', '518', '43.264025', '-74.576512', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12791, 'Wheelerville', 2814, '12032', '518', '43.264025', '-74.576512', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12792, 'Coeymans Hollow', 2814, '12046', '518', '42.490238', '-73.926491', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12793, 'Coeymans Holw', 2814, '12046', '518', '42.490238', '-73.926491', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12794, 'Amagansett', 2814, '11930', '631', '40.992179', '-72.097292', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12795, 'Beach Hampton', 2814, '11930', '631', '40.992179', '-72.097292', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12796, 'Promised Land', 2814, '11930', '631', '40.992179', '-72.097292', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12797, 'Aquebogue', 2814, '11931', '631', '40.9401', '-72.6379', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12798, 'Bay Point', 2814, '11963', '631', '40.970859', '-72.314354', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12799, 'N Haven', 2814, '11963', '631', '40.970859', '-72.314354', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12800, 'North Haven', 2814, '11963', '631', '40.970859', '-72.314354', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12801, 'Pine Neck', 2814, '11963', '631', '40.970859', '-72.314354', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12802, 'Sag Harbor', 2814, '11963', '631', '40.970859', '-72.314354', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12803, 'Shelter Is Ht', 2814, '11965', '631', '41.074168', '-72.330571', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12804, 'Shelter Island Heights', 2814, '11965', '631', '41.074168', '-72.330571', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12805, 'E Norwich', 2814, '11732', '516', '40.842706', '-73.54349', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12806, 'East Norwich', 2814, '11732', '516', '40.842706', '-73.54349', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12807, 'Muttontown', 2814, '11732', '516', '40.842706', '-73.54349', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12808, 'Upper Brookville', 2814, '11732', '516', '40.842706', '-73.54349', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12809, 'W Islip', 2814, '11795', '631', '40.712881', '-73.296008', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12810, 'West Islip', 2814, '11795', '631', '40.712881', '-73.296008', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12811, 'Wheatley Heights', 2814, '11798', '631', '40.753664', '-73.368544', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12812, 'Wheatley Hts', 2814, '11798', '631', '40.753664', '-73.368544', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12813, 'Wyandanch', 2814, '11798', '631', '40.753664', '-73.368544', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12814, 'Far Rockaway', 2814, '11695', '718', '40.5647', '-73.8835', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12815, 'Dix Hills', 2814, '11746', '631', '40.814981', '-73.362894', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12816, 'Huntingtn Sta', 2814, '11746', '631', '40.814981', '-73.362894', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12817, 'Huntington Station', 2814, '11746', '631', '40.814981', '-73.362894', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12818, 'S Huntington', 2814, '11746', '631', '40.814981', '-73.362894', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12819, 'So Huntington', 2814, '11746', '631', '40.814981', '-73.362894', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12820, 'South Huntington', 2814, '11746', '631', '40.814981', '-73.362894', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12821, 'Mill Neck', 2814, '11765', '516', '40.883427', '-73.558385', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12822, 'Brookville', 2814, '11548', '516', '40.813765', '-73.626966', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12823, 'E Hills', 2814, '11548', '516', '40.813765', '-73.626966', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12824, 'East Hills', 2814, '11548', '516', '40.813765', '-73.626966', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12825, 'Greenvale', 2814, '11548', '516', '40.813765', '-73.626966', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12826, 'Old Brookville', 2814, '11548', '516', '40.813765', '-73.626966', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12827, 'Roslyn Harbor', 2814, '11548', '516', '40.813765', '-73.626966', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12828, 'Fort Tilden', 2814, '11695', '718', '40.5647', '-73.8835', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12829, 'Queens', 2814, '11695', '718', '40.5647', '-73.8835', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12830, 'Bellport', 2814, '11713', '631', '40.776172', '-72.94245', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12831, 'N Bellport', 2814, '11713', '631', '40.776172', '-72.94245', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12832, 'North Bellport', 2814, '11713', '631', '40.776172', '-72.94245', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12833, 'Bethpage', 2814, '11714', '516', '40.740697', '-73.486834', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12834, 'E Atlantc Bch', 2814, '11561', '516', '40.589516', '-73.640784', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12835, 'E Atlantic Beach', 2814, '11561', '516', '40.589516', '-73.640784', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12836, 'East Atlantic Beach', 2814, '11561', '516', '40.589516', '-73.640784', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12837, 'Lido Beach', 2814, '11561', '516', '40.589516', '-73.640784', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12838, 'Long Beach', 2814, '11561', '516', '40.589516', '-73.640784', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12839, 'Malverne', 2814, '11565', '516', '40.674718', '-73.672072', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12840, 'N Valley Stream', 2814, '11580', '516', '40.676753', '-73.704014', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12841, 'North Valley Stream', 2814, '11580', '516', '40.676753', '-73.704014', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12842, 'Valley Stream', 2814, '11580', '516', '40.676753', '-73.704014', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12843, 'N Woodmere', 2814, '11581', '516', '40.652478', '-73.712247', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12844, 'North Woodmere', 2814, '11581', '516', '40.652478', '-73.712247', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12845, 'Valley Stream', 2814, '11581', '516', '40.652478', '-73.712247', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12846, 'E Williston', 2814, '11596', '516', '40.759348', '-73.643254', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12847, 'East Williston', 2814, '11596', '516', '40.759348', '-73.643254', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12848, 'Williston Park', 2814, '11596', '516', '40.759348', '-73.643254', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12849, 'Williston Pk', 2814, '11596', '516', '40.759348', '-73.643254', '2018-11-29 04:51:15', '2018-11-29 04:51:15'),\n(12850, 'Flushing', 2814, '11378', '718', '40.724032', '-73.908541', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12851, 'Maspeth', 2814, '11378', '718', '40.724032', '-73.908541', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12852, 'Queens', 2814, '11378', '718', '40.724032', '-73.908541', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12853, 'Elmhurst', 2814, '11379', '718', '40.718462', '-73.88048', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12854, 'Flushing', 2814, '11379', '718', '40.718462', '-73.88048', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12855, 'Middle Village', 2814, '11379', '718', '40.718462', '-73.88048', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12856, 'Middle Vlg', 2814, '11379', '718', '40.718462', '-73.88048', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12857, 'Queens', 2814, '11379', '718', '40.718462', '-73.88048', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12858, 'Elmhurst', 2814, '11380', '718', '40.7898', '-73.8247', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12859, 'Flushing', 2814, '11380', '718', '40.7898', '-73.8247', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12860, 'Queens', 2814, '11380', '718', '40.7898', '-73.8247', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12861, 'Flushing', 2814, '11381', '718', '40.7653', '-73.8179', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12862, 'Metropolitan Museum Of Art', 2814, '11381', '718', '40.7653', '-73.8179', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12863, 'Queens', 2814, '11381', '718', '40.7653', '-73.8179', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12864, 'Garden City', 2814, '11531', '516', '40.7256', '-73.6474', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12865, 'Roosevelt Field', 2814, '11531', '516', '40.7256', '-73.6474', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12866, 'Brookville', 2814, '11545', '516', '40.82629', '-73.591125', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12867, 'Glen Head', 2814, '11545', '516', '40.82629', '-73.591125', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12868, 'Muttontown', 2814, '11545', '516', '40.82629', '-73.591125', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12869, 'Old Brookville', 2814, '11545', '516', '40.82629', '-73.591125', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12870, 'Roslyn Harbor', 2814, '11545', '516', '40.82629', '-73.591125', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12871, 'Upper Brookville', 2814, '11545', '516', '40.82629', '-73.591125', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12872, 'Brooklyn', 2814, '11230', '718', '40.62275', '-73.966253', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12873, 'Brooklyn', 2814, '11245', '347', '40.6874', '-73.9899', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12874, 'Chase Manhattan Bank', 2814, '11245', '347', '40.6874', '-73.9899', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12875, 'Cambria Heights', 2814, '11411', '718', '40.69473', '-73.737282', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12876, 'Cambria Hts', 2814, '11411', '718', '40.69473', '-73.737282', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12877, 'Jamaica', 2814, '11411', '718', '40.69473', '-73.737282', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12878, 'Queens', 2814, '11411', '718', '40.69473', '-73.737282', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12879, 'Jamaica', 2814, '11412', '718', '40.696529', '-73.76248', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12880, 'Saint Albans', 2814, '11412', '718', '40.696529', '-73.76248', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12881, 'St Albans', 2814, '11412', '718', '40.696529', '-73.76248', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12882, 'Wesley Hills', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12883, 'Sterling Forest', 2814, '10979', '845', '41.1828', '-74.3192', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12884, 'Sterling Frst', 2814, '10979', '845', '41.1828', '-74.3192', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12885, 'Grassy Point', 2814, '10980', '845', '41.247299', '-74.036032', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12886, 'Stony Point', 2814, '10980', '845', '41.247299', '-74.036032', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12887, 'W Haverstraw', 2814, '10993', '845', '41.211642', '-73.965604', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12888, 'West Haverstraw', 2814, '10993', '845', '41.211642', '-73.965604', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12889, 'West Nyack', 2814, '10994', '845', '41.098652', '-73.970842', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12890, 'United States Military Acade', 2814, '10996', '845', '41.394', '-73.972322', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12891, 'West Point', 2814, '10996', '845', '41.394', '-73.972322', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12892, 'West Point Military Reservat', 2814, '10996', '845', '41.394', '-73.972322', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12893, 'Brooklyn', 2814, '11210', '718', '40.625556', '-73.945896', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12894, 'Brooklyn', 2814, '11213', '718', '40.671561', '-73.937799', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12895, 'Harriman', 2814, '10926', '845', '41.301468', '-74.149366', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12896, 'Niverville', 2814, '12130', '518', '42.448472', '-73.659446', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12897, 'N Blenheim', 2814, '12131', '518', '42.466703', '-74.45883', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12898, 'North Blenheim', 2814, '12131', '518', '42.466703', '-74.45883', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12899, 'Albany', 2814, '12230', '518', '42.6525', '-73.7567', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12900, 'Ny Educ Dept', 2814, '12230', '518', '42.6525', '-73.7567', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12901, 'Dunsbach Ferry', 2814, '12047', '518', '42.786912', '-73.723729', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12902, 'Burtonsville', 2814, '12066', '518', '42.781262', '-74.31679', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12903, 'Esperance', 2814, '12066', '518', '42.781262', '-74.31679', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12904, 'Grafton', 2814, '12082', '518', '42.7689', '-73.4515', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12905, 'Albia', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12906, 'Brunswick', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12907, 'Center Brunswick', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12908, 'Eagle Mills', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12909, 'Raymertown', 2814, '12180', '518', '42.74558', '-73.59177', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12910, 'Canaan', 2814, '12029', '518', '42.408068', '-73.429288', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12911, 'Carlisle', 2814, '12031', '518', '42.762346', '-74.473309', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12912, 'Chaseville', 2814, '12116', '607', '42.538214', '-74.917588', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12913, 'Cooperstown Junction', 2814, '12116', '607', '42.538214', '-74.917588', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12914, 'Maryland', 2814, '12116', '607', '42.538214', '-74.917588', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12915, 'Hicksville', 2814, '11815', '516', '40.7683', '-73.5258', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12916, 'L I Power Authority', 2814, '11815', '516', '40.7683', '-73.5258', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12917, 'Bridge Hampton', 2814, '11932', '631', '40.934571', '-72.308939', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12918, 'Bridgehampton', 2814, '11932', '631', '40.934571', '-72.308939', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12919, 'Jamesport', 2814, '11947', '631', '40.948835', '-72.576599', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12920, 'Laurel', 2814, '11948', '631', '40.967507', '-72.559142', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12921, 'Sagaponack', 2814, '11962', '631', '40.938012', '-72.270946', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12922, 'Boght Corners', 2814, '12047', '518', '42.786912', '-73.723729', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12923, 'Cohoes', 2814, '12047', '518', '42.786912', '-73.723729', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12924, 'Deerpark', 2814, '11729', '631', '40.76252', '-73.322365', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12925, 'E Islip', 2814, '11730', '631', '40.723497', '-73.169838', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12926, 'East Islip', 2814, '11730', '631', '40.723497', '-73.169838', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12927, 'E Northport', 2814, '11731', '631', '40.856834', '-73.315422', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12928, 'East Northport', 2814, '11731', '631', '40.856834', '-73.315422', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12929, 'Elwood', 2814, '11731', '631', '40.856834', '-73.315422', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12930, 'Lake Ronkonkoma', 2814, '11779', '631', '40.815685', '-73.118682', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12931, 'Lake Ronkonkoma Heights', 2814, '11779', '631', '40.815685', '-73.118682', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12932, 'Lk Ronkonkoma', 2814, '11779', '631', '40.815685', '-73.118682', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12933, 'Ronkonkoma', 2814, '11779', '631', '40.815685', '-73.118682', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12934, 'W Sayville', 2814, '11796', '631', '40.73212', '-73.102776', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12935, 'West Sayville', 2814, '11796', '631', '40.73212', '-73.102776', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12936, 'Bar Harbor', 2814, '11762', '516', '40.679079', '-73.447926', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12937, 'Massapequa Park', 2814, '11762', '516', '40.679079', '-73.447926', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12938, 'Massapequa Pk', 2814, '11762', '516', '40.679079', '-73.447926', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12939, 'Gordon Heights', 2814, '11763', '631', '40.831632', '-72.978593', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12940, 'Medford', 2814, '11763', '631', '40.831632', '-72.978593', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12941, 'Glenwood Lndg', 2814, '11547', '516', '40.83035', '-73.641172', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12942, 'Blue Point', 2814, '11715', '631', '40.749013', '-73.032614', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12943, 'Deer Park', 2814, '11729', '631', '40.76252', '-73.322365', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12944, 'Jamaica', 2814, '11431', '718', '40.6998', '-73.8022', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12945, 'Queens', 2814, '11431', '718', '40.6998', '-73.8022', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12946, 'Lynbrook', 2814, '11563', '516', '40.657806', '-73.672534', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12947, 'Sea Cliff', 2814, '11579', '516', '40.844333', '-73.643284', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12948, 'Glenwood Landing', 2814, '11547', '516', '40.83035', '-73.641172', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12949, 'Brooklyn', 2814, '11247', '718', '40.7053', '-73.9195', '2018-11-29 04:51:16', '2018-11-29 04:51:16'),\n(12950, 'Jamaica', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12951, 'Laurelton', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12952, 'Queens', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12953, 'Rosedale', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12954, 'Saint Albans', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12955, 'Springfield Gardens', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12956, 'Sprngfld Gdns', 2814, '11413', '718', '40.665415', '-73.749702', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12957, 'Howard Beach', 2814, '11414', '718', '40.659647', '-73.844964', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12958, 'Jamaica', 2814, '11414', '718', '40.659647', '-73.844964', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12959, 'Queens', 2814, '11414', '718', '40.659647', '-73.844964', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12960, 'Bayside', 2814, '11361', '718', '40.763855', '-73.770529', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12961, 'Flushing', 2814, '11361', '718', '40.763855', '-73.770529', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12962, 'Queens', 2814, '11361', '718', '40.763855', '-73.770529', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12963, 'Douglaston', 2814, '11362', '718', '40.757498', '-73.735124', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12964, 'Flushing', 2814, '11362', '718', '40.757498', '-73.735124', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12965, 'Horace Harding', 2814, '11362', '718', '40.757498', '-73.735124', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12966, 'Little Neck', 2814, '11362', '718', '40.757498', '-73.735124', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12967, 'Queens', 2814, '11362', '718', '40.757498', '-73.735124', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12968, 'Douglaston', 2814, '11363', '718', '40.773082', '-73.7447', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12969, 'Flushing', 2814, '11363', '718', '40.773082', '-73.7447', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12970, 'Little Neck', 2814, '11363', '718', '40.773082', '-73.7447', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12971, 'Queens', 2814, '11363', '718', '40.773082', '-73.7447', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12972, 'Bayside', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12973, 'Bayside Hills', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12974, 'Flushing', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12975, 'Hollis Hills', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12976, 'Oakland Gardens', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12977, 'Oakland Gdns', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12978, 'Queens', 2814, '11364', '718', '40.747014', '-73.757308', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12979, 'Brooklyn', 2814, '11211', '718', '40.711666', '-73.946422', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12980, 'Brooklyn', 2814, '11212', '718', '40.664369', '-73.915334', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12981, 'Brooklyn', 2814, '11228', '718', '40.616926', '-74.012802', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12982, 'Arden', 2814, '10910', '845', '41.2746', '-74.1536', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12983, 'Bear Mountain', 2814, '10911', '845', '41.30639', '-74.000902', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12984, 'Blauvelt', 2814, '10913', '845', '41.069061', '-73.95987', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12985, 'Haverstraw', 2814, '10927', '845', '41.192618', '-73.955922', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12986, 'Highland Falls', 2814, '10928', '845', '41.324558', '-74.048504', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12987, 'Highland Fls', 2814, '10928', '845', '41.324558', '-74.048504', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12988, 'Central Nyack', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12989, 'Grand View-On-Hudson', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12990, 'Grandview', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12991, 'Grandview On Hudson', 2814, '10960', '845', '41.085586', '-73.918246', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12992, 'Manhasset', 2814, '11030', '516', '40.794202', '-73.686623', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12993, 'Plandome', 2814, '11030', '516', '40.794202', '-73.686623', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12994, 'North Salem', 2814, '10560', '914', '41.33414', '-73.61156', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12995, 'Montrose', 2818, '18801', '570', '41.83754', '-75.906273', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12996, 'Friendsville', 2818, '18818', '570', '41.912657', '-76.041372', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12997, 'Jermyn', 2818, '18433', '570', '41.570775', '-75.577368', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12998, 'Mayfield', 2818, '18433', '570', '41.570775', '-75.577368', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(12999, 'Scott Township', 2818, '18433', '570', '41.570775', '-75.577368', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13000, 'Scott Twp', 2818, '18433', '570', '41.570775', '-75.577368', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13001, 'Blakely', 2818, '18447', '570', '41.484927', '-75.595996', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13002, 'Dickson Cty', 2818, '18447', '570', '41.484927', '-75.595996', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13003, 'Olyphant', 2818, '18447', '570', '41.484927', '-75.595996', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13004, 'Scott Township', 2818, '18447', '570', '41.484927', '-75.595996', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13005, 'Scott Twp', 2818, '18447', '570', '41.484927', '-75.595996', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13006, 'Sturges', 2818, '18447', '570', '41.484927', '-75.595996', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13007, 'Cinram', 2818, '18448', '570', '41.4687', '-75.6041', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13008, 'Olyphant', 2818, '18448', '570', '41.4687', '-75.6041', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13009, 'Mildred', 2818, '18632', '570', '41.470157', '-76.382123', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13010, 'Larksville', 2818, '18651', '570', '41.244671', '-75.962732', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13011, 'Plymouth', 2818, '18651', '570', '41.244671', '-75.962732', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13012, 'Effort', 2818, '18330', '570', '40.957145', '-75.467283', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13013, 'Henryville', 2818, '18332', '570', '41.099571', '-75.263894', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13014, 'Tafton', 2818, '18464', '570', '41.410414', '-75.191766', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13015, 'Barnesville', 2818, '18214', '570', '40.805454', '-76.096074', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13016, 'Beaver Mdws', 2818, '18216', '570', '40.929406', '-75.919039', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13017, 'Beaver Meadows', 2818, '18216', '570', '40.929406', '-75.919039', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13018, 'Coxeville', 2818, '18216', '570', '40.929406', '-75.919039', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13019, 'Kelayres', 2818, '18231', '570', '40.903278', '-76.009001', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13020, 'Lansford', 2818, '18232', '570', '40.832763', '-75.883356', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13021, 'Rock Glen', 2818, '18246', '570', '40.950986', '-76.158886', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13022, 'Sheppton', 2818, '18248', '570', '40.892436', '-76.110985', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13023, 'Dalton', 2818, '18414', '570', '41.541075', '-75.732324', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13024, 'N Abingtn Twp', 2818, '18414', '570', '41.541075', '-75.732324', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13025, 'North Abington Township', 2818, '18414', '570', '41.541075', '-75.732324', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13026, 'Scott Township', 2818, '18414', '570', '41.541075', '-75.732324', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13027, 'Scott Twp', 2818, '18414', '570', '41.541075', '-75.732324', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13028, 'Damascus', 2818, '18415', '570', '41.746607', '-75.13039', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13029, 'Galilee', 2818, '18415', '570', '41.746607', '-75.13039', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13030, 'Elmhurst', 2818, '18416', '570', '41.3776', '-75.5453', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13031, 'Bethlehem', 2818, '18016', '484', '40.6256', '-75.3709', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13032, 'Bowmanstown', 2818, '18030', '610', '40.801422', '-75.661095', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13033, 'Breinigsville', 2818, '18031', '610', '40.548847', '-75.665888', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13034, 'Catasauqua', 2818, '18032', '610', '40.656246', '-75.468228', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13035, 'East Texas', 2818, '18046', '610', '40.5475', '-75.5619', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13036, 'Martins Creek', 2818, '18063', '610', '40.78415', '-75.183646', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13037, 'Nazareth', 2818, '18064', '610', '40.755194', '-75.307119', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13038, 'Neffs', 2818, '18065', '610', '40.698', '-75.612', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13039, 'Orwin', 2818, '17980', '717', '40.586028', '-76.53242', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13040, 'Porter', 2818, '17980', '717', '40.586028', '-76.53242', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13041, 'Reinerton', 2818, '17980', '717', '40.586028', '-76.53242', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13042, 'Rush', 2818, '17980', '717', '40.586028', '-76.53242', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13043, 'Tower City', 2818, '17980', '717', '40.586028', '-76.53242', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13044, 'Cressona', 2818, '17929', '570', '40.631111', '-76.194862', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13045, 'West Cressona', 2818, '17929', '570', '40.631111', '-76.194862', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13046, 'Cumbola', 2818, '17930', '570', '40.705662', '-76.108696', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13047, 'Altamont', 2818, '17931', '570', '40.778444', '-76.21712', '2018-11-29 04:51:17', '2018-11-29 04:51:17'),\n(13048, 'Cresmont', 2818, '17931', '570', '40.778444', '-76.21712', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13049, 'Englewood', 2818, '17931', '570', '40.778444', '-76.21712', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13050, 'Frackville', 2818, '17931', '570', '40.778444', '-76.21712', '2018-11-29 04:51:18', '2018-11-29 04:51:18');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(13051, 'Tuscarora', 2818, '17982', '570', '40.785698', '-76.028844', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13052, 'Limestonevle', 2818, '17847', '570', '40.996938', '-76.815695', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13053, 'Milton', 2818, '17847', '570', '40.996938', '-76.815695', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13054, 'Dundore', 2818, '17864', '570', '40.707086', '-76.915412', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13055, 'Hoffer', 2818, '17864', '570', '40.707086', '-76.915412', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13056, 'Independence', 2818, '17864', '570', '40.707086', '-76.915412', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13057, 'Mckee Half Fl', 2818, '17864', '570', '40.707086', '-76.915412', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13058, 'Port Trevortn', 2818, '17864', '570', '40.707086', '-76.915412', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13059, 'Port Trevorton', 2818, '17864', '570', '40.707086', '-76.915412', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13060, 'Gleniron', 2818, '17845', '570', '40.876017', '-77.230939', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13061, 'Laurel Park', 2818, '17845', '570', '40.876017', '-77.230939', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13062, 'Millmont', 2818, '17845', '570', '40.876017', '-77.230939', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13063, 'E Chillisquaq', 2818, '17847', '570', '40.996938', '-76.815695', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13064, 'E Lewisburg', 2818, '17847', '570', '40.996938', '-76.815695', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13065, 'Woolrich', 2818, '17779', '570', '41.200026', '-77.340389', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13066, 'Beaver Spgs', 2818, '17812', '570', '40.76593', '-77.249097', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13067, 'Beaver Sprgs', 2818, '17812', '570', '40.76593', '-77.249097', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13068, 'Beaver Springs', 2818, '17812', '570', '40.76593', '-77.249097', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13069, 'Benfer', 2818, '17812', '570', '40.76593', '-77.249097', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13070, 'Middle Creek', 2818, '17812', '570', '40.76593', '-77.249097', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13071, 'Beavertown', 2818, '17813', '570', '40.780533', '-77.177762', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13072, 'Benton', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13073, 'Central', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13074, 'Coles Creek', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13075, 'Derrs', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13076, 'Elk Grove', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13077, 'Fairmount Spr', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13078, 'Jamison City', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13079, 'Laubachs', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13080, 'Raven Creek', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13081, 'Red Rock', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13082, 'Talmar', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13083, 'Waller', 2818, '17814', '570', '41.265057', '-76.352272', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13084, 'Marietta', 2818, '17547', '717', '40.073312', '-76.584888', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13085, 'Shocks Mills', 2818, '17547', '717', '40.073312', '-76.584888', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13086, 'Eagles Mere', 2818, '17731', '570', '41.41314', '-76.601556', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13087, 'Columbia', 2818, '17512', '717', '40.047234', '-76.481932', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13088, 'Ironville', 2818, '17512', '717', '40.047234', '-76.481932', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13089, 'Kinderhook', 2818, '17512', '717', '40.047234', '-76.481932', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13090, 'Bellemont', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13091, 'Harristown', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13092, 'Iva', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13093, 'Lapark', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13094, 'Leaman Place', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13095, 'Nickel Mines', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13096, 'Paradise', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13097, 'Vintage', 2818, '17562', '717', '39.977234', '-76.095698', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13098, 'Edisonville', 2818, '17579', '717', '39.961763', '-76.179224', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13099, 'Hessdale', 2818, '17579', '717', '39.961763', '-76.179224', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13100, 'Strasburg', 2818, '17579', '717', '39.961763', '-76.179224', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13101, 'Talmage', 2818, '17580', '717', '40', '-76.2138', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13102, 'Manchester', 2818, '17345', '717', '40.068259', '-76.73583', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13103, 'Strinestown', 2818, '17345', '717', '40.068259', '-76.73583', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13104, 'Mount Wolf', 2818, '17347', '717', '40.064112', '-76.686216', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13105, 'Saginaw', 2818, '17347', '717', '40.064112', '-76.686216', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13106, 'Starview', 2818, '17347', '717', '40.064112', '-76.686216', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13107, 'Cashtown', 2818, '17310', '717', '39.8844', '-77.3598', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13108, 'Bryansville', 2818, '17314', '717', '39.76766', '-76.325416', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13109, 'Coal Cabin Beach', 2818, '17314', '717', '39.76766', '-76.325416', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13110, 'Delta', 2818, '17314', '717', '39.76766', '-76.325416', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13111, 'Slate Hill', 2818, '17314', '717', '39.76766', '-76.325416', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13112, 'West Bangor', 2818, '17314', '717', '39.76766', '-76.325416', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13113, 'Menges Mills', 2818, '17362', '717', '39.849268', '-76.868806', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13114, 'Nashville', 2818, '17362', '717', '39.849268', '-76.868806', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13115, 'Sinsheim', 2818, '17362', '717', '39.849268', '-76.868806', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13116, 'Spring Grove', 2818, '17362', '717', '39.849268', '-76.868806', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13117, 'Stoverstown', 2818, '17362', '717', '39.849268', '-76.868806', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13118, 'Pleasant Hall', 2818, '17246', '717', '40.022498', '-77.71342', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13119, 'Brodbecks', 2818, '17329', '717', '39.758558', '-76.849404', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13120, 'Glenville', 2818, '17329', '717', '39.758558', '-76.849404', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13121, 'Sticks', 2818, '17329', '717', '39.758558', '-76.849404', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13122, 'Jackson Township', 2818, '18708', '570', '41.294648', '-75.9735', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13123, 'Jackson Twp', 2818, '18708', '570', '41.294648', '-75.9735', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13124, 'Shavertown', 2818, '18708', '570', '41.294648', '-75.9735', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13125, 'Trucksville', 2818, '18708', '570', '41.294648', '-75.9735', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13126, 'Wilkes Barre', 2818, '18708', '570', '41.294648', '-75.9735', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13127, 'Wilkes Barre', 2818, '18773', '570', '41.2447', '-75.8879', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13128, 'La Plume', 2818, '18440', '570', '41.5568', '-75.7545', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13129, 'Clifford Township', 2818, '18441', '570', '41.672743', '-75.638594', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13130, 'Clifford Twp', 2818, '18441', '570', '41.672743', '-75.638594', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13131, 'Lenoxville', 2818, '18441', '570', '41.672743', '-75.638594', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13132, 'Nicholson', 2818, '18441', '570', '41.672743', '-75.638594', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13133, 'Hughestown', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13134, 'Inkerman', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13135, 'Jenkins Township', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13136, 'Jenkins Twp', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13137, 'Pittston', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13138, 'Pittston Township', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13139, 'Pittston Twp', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13140, 'Port Griffith', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13141, 'Yatesville', 2818, '18640', '570', '41.300358', '-75.7465', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13142, 'Shawnee', 2818, '18356', '570', '41.012774', '-75.088514', '2018-11-29 04:51:18', '2018-11-29 04:51:18'),\n(13143, 'Shawnee On De', 2818, '18356', '570', '41.012774', '-75.088514', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13144, 'Shawnee On Delaware', 2818, '18356', '570', '41.012774', '-75.088514', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13145, 'Carbondale', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13146, 'Childs', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13147, 'Clifford Township', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13148, 'Clifford Twp', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13149, 'Greenfield Township', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13150, 'Greenfild Twp', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13151, 'Simpson', 2818, '18407', '570', '41.587004', '-75.553717', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13152, 'Preston Park', 2818, '18455', '570', '41.863389', '-75.380352', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13153, 'Prompton', 2818, '18456', '570', '41.602908', '-75.32914', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13154, 'Shohola', 2818, '18458', '570', '41.41499', '-74.909554', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13155, 'Scranton', 2818, '18505', '570', '41.38357', '-75.641619', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13156, 'Walnutport', 2818, '18088', '610', '40.762687', '-75.544196', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13157, 'Colerain', 2818, '17536', '717', '39.849383', '-76.067544', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13158, 'Kirkwood', 2818, '17536', '717', '39.849383', '-76.067544', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13159, 'Etters', 2818, '17319', '717', '40.159984', '-76.802758', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13160, 'Goldsboro', 2818, '17319', '717', '40.159984', '-76.802758', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13161, 'Newberrytown', 2818, '17319', '717', '40.159984', '-76.802758', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13162, 'Yocumtown', 2818, '17319', '717', '40.159984', '-76.802758', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13163, 'Cly', 2818, '17370', '717', '40.114362', '-76.780598', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13164, 'York Haven', 2818, '17370', '717', '40.114362', '-76.780598', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13165, 'York Springs', 2818, '17372', '717', '40.008648', '-77.095953', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13166, 'Shiloh', 2818, '17404', '717', '40.010911', '-76.77452', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13167, 'West York', 2818, '17404', '717', '40.010911', '-76.77452', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13168, 'York', 2818, '17404', '717', '40.010911', '-76.77452', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13169, 'Saint Thomas', 2818, '17252', '717', '39.912277', '-77.808213', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13170, 'St Thomas', 2818, '17252', '717', '39.912277', '-77.808213', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13171, 'Scotland', 2818, '17254', '717', '39.971458', '-77.588547', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13172, 'Brogueville', 2818, '17322', '717', '39.863854', '-76.528916', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13173, 'Cross Roads', 2818, '17322', '717', '39.863854', '-76.528916', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13174, 'Felton', 2818, '17322', '717', '39.863854', '-76.528916', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13175, 'Lucky', 2818, '17322', '717', '39.863854', '-76.528916', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13176, 'Schaefferstown', 2818, '17088', '717', '40.302336', '-76.29486', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13177, 'Schaefferstwn', 2818, '17088', '717', '40.302336', '-76.29486', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13178, 'Harrisburg', 2818, '17102', '717', '40.27107', '-76.897322', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13179, 'Hbg', 2818, '17102', '717', '40.27107', '-76.897322', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13180, 'West End', 2818, '17102', '717', '40.27107', '-76.897322', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13181, 'Harrisburg', 2818, '17105', '717', '40.2736', '-76.8847', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13182, 'Hbg', 2818, '17105', '717', '40.2736', '-76.8847', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13183, 'Mecks Corner', 2818, '17068', '717', '40.407872', '-77.184252', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13184, 'New Bloomfield', 2818, '17068', '717', '40.407872', '-77.184252', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13185, 'New Bloomfld', 2818, '17068', '717', '40.407872', '-77.184252', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13186, 'Paradise Park', 2818, '17068', '717', '40.407872', '-77.184252', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13187, 'Perry Village', 2818, '17068', '717', '40.407872', '-77.184252', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13188, 'Drexel Hills', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13189, 'Fair Acres', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13190, 'Frogtown', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13191, 'Marsh Run', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13192, 'N Cumberld', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13193, 'New Cmbrlnd', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13194, 'New Cumb', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13195, 'New Cumberland', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13196, 'New Cumberland Army D', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13197, 'New Cumberlnd', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13198, 'New Market', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13199, 'Newcmbrlnd', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13200, 'Nw Cumb', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13201, 'Nw Cumberland', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13202, 'Nw Cumberlnd', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13203, 'Rudytown', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13204, 'Westfield Ter', 2818, '17070', '717', '40.207284', '-76.86014', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13205, 'New Germanton', 2818, '17071', '717', '40.271944', '-77.585948', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13206, 'New Germantown', 2818, '17071', '717', '40.271944', '-77.585948', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13207, 'Toboyne', 2818, '17071', '717', '40.271944', '-77.585948', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13208, 'Atkinsons Mills', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13209, 'Atkinsons Mls', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13210, 'Little Kansas', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13211, 'Mc Veytown', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13212, 'Mcveytown', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13213, 'Mcveytwn', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13214, 'Laurel Run', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13215, 'Sugar Notch', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13216, 'Warrior Run', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13217, 'Wilkes Barre', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13218, 'Wilkes Barre Township', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13219, 'Wlks Barr Twp', 2818, '18706', '570', '41.204072', '-75.906042', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13220, 'Mountain Top', 2818, '18707', '570', '41.123034', '-75.952122', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13221, 'Nuangola', 2818, '18707', '570', '41.123034', '-75.952122', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13222, 'Wilkes Barre', 2818, '18707', '570', '41.123034', '-75.952122', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13223, 'Luzerne', 2818, '18709', '570', '41.287937', '-75.895367', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13224, 'Wilkes Barre', 2818, '18709', '570', '41.287937', '-75.895367', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13225, 'Lakewood', 2818, '18439', '570', '41.812216', '-75.361294', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13226, 'Avoca', 2818, '18641', '570', '41.334152', '-75.733709', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13227, 'Dupont', 2818, '18641', '570', '41.334152', '-75.733709', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13228, 'Pittston', 2818, '18641', '570', '41.334152', '-75.733709', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13229, 'Minisink Hills', 2818, '18341', '570', '40.999751', '-75.13212', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13230, 'Minisink Hls', 2818, '18341', '570', '40.999751', '-75.13212', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13231, 'Scotrun', 2818, '18355', '570', '41.076226', '-75.345358', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13232, 'Beach Lake', 2818, '18405', '570', '41.590101', '-75.108831', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13233, 'Rowland', 2818, '18457', '570', '41.470811', '-75.046924', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13234, 'White Mills', 2818, '18473', '570', '41.508585', '-75.20207', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13235, 'Ebervale', 2818, '18223', '570', '40.9862', '-75.9414', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13236, 'Weatherly', 2818, '18255', '570', '40.930401', '-75.840401', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13237, 'Greeley', 2818, '18425', '570', '41.4171', '-75.035434', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13238, 'Durham', 2818, '18039', '610', '40.5757', '-75.2236', '2018-11-29 04:51:19', '2018-11-29 04:51:19'),\n(13239, 'Easton', 2818, '18040', '610', '40.743688', '-75.223762', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13240, 'Forks Township', 2818, '18040', '610', '40.743688', '-75.223762', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13241, 'Forks Twp', 2818, '18040', '610', '40.743688', '-75.223762', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13242, 'Stockertown Township', 2818, '18040', '610', '40.743688', '-75.223762', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13243, 'Stockrtwn Twp', 2818, '18040', '610', '40.743688', '-75.223762', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13244, 'Hereford', 2818, '18056', '215', '40.449899', '-75.559926', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13245, 'Pen Argyl', 2818, '18072', '610', '40.847166', '-75.255767', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13246, 'Pennsburg', 2818, '18073', '215', '40.387285', '-75.482917', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13247, 'Minersville', 2818, '17954', '570', '40.690387', '-76.259159', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13248, 'Seltzer', 2818, '17974', '570', '40.695927', '-76.236388', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13249, 'Red Hill', 2818, '18073', '215', '40.387285', '-75.482917', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13250, 'Perkiomenville', 2818, '18074', '610', '40.319659', '-75.512818', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13251, 'Perkiomenvlle', 2818, '18074', '610', '40.319659', '-75.512818', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13252, 'Midvalley', 2818, '17888', '570', '40.821922', '-76.373316', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13253, 'Wilburton', 2818, '17888', '570', '40.821922', '-76.373316', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13254, 'Aristes', 2818, '17920', '570', '40.820052', '-76.329606', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13255, 'Blue Hill', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13256, 'Kantz', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13257, 'Kratzerville', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13258, 'Monroe Township', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13259, 'Monroe Twp', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13260, 'Penn Avon', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13261, 'Selinsgrove', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13262, 'Catawissa', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13263, 'Kulp', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13264, 'Locust', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13265, 'Mayberry', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13266, 'Mill Grove', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13267, 'Parrs Mill', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13268, 'Queen City', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13269, 'Roaring Creek', 2818, '17820', '570', '40.908213', '-76.401152', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13270, 'E Lancaster', 2818, '17605', '717', '40.0388', '-76.3074', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13271, 'East Lancaster', 2818, '17605', '717', '40.0388', '-76.3074', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13272, 'Lancaster', 2818, '17605', '717', '40.0388', '-76.3074', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13273, 'Lancaster', 2818, '17622', '717', '40.04', '-76.31', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13274, 'Qvc Network Inc', 2818, '17622', '717', '40.04', '-76.31', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13275, 'Williamsport', 2818, '17703', '570', '41.2411', '-77.0017', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13276, 'Antes Fort', 2818, '17720', '570', '41.1927', '-77.2213', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13277, 'Bart', 2818, '17503', '717', '39.9397', '-76.1149', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13278, 'Bausman', 2818, '17504', '717', '40.0244', '-76.3311', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13279, 'Bird In Hand', 2818, '17505', '717', '40.070781', '-76.202919', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13280, 'Idaville', 2818, '17337', '717', '40.0149', '-77.2033', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13281, 'Bridgeton', 2818, '17352', '717', '39.764702', '-76.494515', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13282, 'Gatchellville', 2818, '17352', '717', '39.764702', '-76.494515', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13283, 'New Park', 2818, '17352', '717', '39.764702', '-76.494515', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13284, 'Orrtanna', 2818, '17353', '717', '39.891448', '-77.374615', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13285, 'Elm', 2818, '17521', '717', '40.2039', '-76.3494', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13286, 'Five Points', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13287, 'Jacksonwald', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13288, 'Lorane', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13289, 'Mount Penn', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13290, 'Mt Penn', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13291, 'Pennside', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13292, 'Reading', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13293, 'Reading Sta', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13294, 'Reading Station', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13295, 'Reiffton', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13296, 'Saint Lawrence', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13297, 'St Lawrence', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13298, 'Stony Creek Mills', 2818, '19606', '610', '40.331244', '-75.849603', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13299, 'Seven Pines', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13300, 'Spruce Hill', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13301, 'Turbett', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13302, 'Enterline', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13303, 'Fisherville', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13304, 'Halifax', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13305, 'Inglenook', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13306, 'Mcclellan', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13307, 'Powells Vly', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13308, 'Reed', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13309, 'Waynesville', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13310, 'High Spire', 2818, '17034', '717', '40.207971', '-76.785548', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13311, 'Highspire', 2818, '17034', '717', '40.207971', '-76.785548', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13312, 'Cornwall', 2818, '17016', '717', '40.273538', '-76.4072', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13313, 'Cornwall Ctr', 2818, '17016', '717', '40.273538', '-76.4072', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13314, 'Elizabethville', 2818, '17023', '717', '40.581482', '-76.806771', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13315, 'Elizabethvle', 2818, '17023', '717', '40.581482', '-76.806771', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13316, 'Eville', 2818, '17023', '717', '40.581482', '-76.806771', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13317, 'Erdman', 2818, '17048', '717', '40.603381', '-76.719992', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13318, 'Loyalton', 2818, '17048', '717', '40.603381', '-76.719992', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13319, 'Lykens', 2818, '17048', '717', '40.603381', '-76.719992', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13320, 'Genesee', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13321, 'Gold', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13322, 'Hickox', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13323, 'Keech', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13324, 'Kinney', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13325, 'North Bingham', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13326, 'Raymond', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13327, 'West Bingham', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13328, 'Mainesburg', 2818, '16932', '570', '41.786903', '-76.956965', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13329, 'Sullivan', 2818, '16932', '570', '41.786903', '-76.956965', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13330, 'Carsonville', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13331, 'Enders', 2818, '17032', '717', '40.480812', '-76.782307', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13332, 'Roulette', 2818, '16746', '814', '41.765369', '-78.133403', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13333, 'Turtlepoint', 2818, '16750', '814', '41.881401', '-78.323454', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13334, 'Rehrersburg', 2818, '19550', '717', '40.455889', '-76.241826', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13335, 'Reading', 2818, '19602', '610', '40.324546', '-75.916953', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13336, 'Reading Station', 2818, '19602', '610', '40.324546', '-75.916953', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13337, 'West Reading', 2818, '19602', '610', '40.324546', '-75.916953', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13338, 'Dauberville', 2818, '19533', '610', '40.420314', '-75.988648', '2018-11-29 04:51:20', '2018-11-29 04:51:20'),\n(13339, 'Fairview Heights', 2818, '19533', '610', '40.420314', '-75.988648', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13340, 'Leesport', 2818, '19533', '610', '40.420314', '-75.988648', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13341, 'Reading', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13342, 'Springmont', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13343, 'West Lawn', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13344, 'West Wyomissing', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13345, 'Wyomissing', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13346, 'Wyomissing Hills', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13347, 'Fritztown', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13348, 'Gouglersville', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13349, 'Mohns Hill', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13350, 'Reading', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13351, 'S Heidelberg', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13352, 'Sinking Spg', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13353, 'Sinking Spring', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13354, 'South Heidelberg Twp', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13355, 'Wyomissing', 2818, '19608', '610', '40.317246', '-76.033437', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13356, 'Lincoln Park', 2818, '19609', '610', '40.326802', '-75.996113', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13357, 'Rebuck', 2818, '17867', '570', '40.712752', '-76.731891', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13358, 'Carsontown', 2818, '17776', '570', '41.411343', '-77.349719', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13359, 'Cummings', 2818, '17776', '570', '41.411343', '-77.349719', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13360, 'English Ctr', 2818, '17776', '570', '41.411343', '-77.349719', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13361, 'Pine Village', 2818, '17776', '570', '41.411343', '-77.349719', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13362, 'Waterville', 2818, '17776', '570', '41.411343', '-77.349719', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13363, 'Neffsville', 2818, '17601', '717', '40.073159', '-76.32089', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13364, 'Oyster Point', 2818, '17601', '717', '40.073159', '-76.32089', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13365, 'Roseville', 2818, '17601', '717', '40.073159', '-76.32089', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13366, 'Bald Eagle', 2818, '17751', '570', '41.109413', '-77.485538', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13367, 'Cedar Springs', 2818, '17751', '570', '41.109413', '-77.485538', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13368, 'Clintondale', 2818, '17751', '570', '41.109413', '-77.485538', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13369, 'Mill Hall', 2818, '17751', '570', '41.109413', '-77.485538', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13370, 'Parvin', 2818, '17751', '570', '41.109413', '-77.485538', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13371, 'Rote', 2818, '17751', '570', '41.109413', '-77.485538', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13372, 'Gleasonton', 2818, '17760', '570', '41.406423', '-77.689869', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13373, 'North Bend', 2818, '17760', '570', '41.406423', '-77.689869', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13374, 'Millersville', 2818, '17551', '717', '39.981725', '-76.378066', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13375, 'Slackwater', 2818, '17551', '717', '39.981725', '-76.378066', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13376, 'Grover', 2818, '17735', '570', '41.6147', '-76.8676', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13377, 'North American Outdoor Group', 2818, '17415', '717', '39.9626', '-76.7284', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13378, 'York', 2818, '17415', '717', '39.9626', '-76.7284', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13379, 'Akron', 2818, '17501', '717', '40.156836', '-76.203768', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13380, 'Colemanville', 2818, '17565', '717', '39.904038', '-76.324785', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13381, 'Martic', 2818, '17565', '717', '39.904038', '-76.324785', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13382, 'Martic Forge', 2818, '17565', '717', '39.904038', '-76.324785', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13383, 'Marticville', 2818, '17565', '717', '39.904038', '-76.324785', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13384, 'Mount Nebo', 2818, '17565', '717', '39.904038', '-76.324785', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13385, 'Pequea', 2818, '17565', '717', '39.904038', '-76.324785', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13386, 'Witmer', 2818, '17585', '717', '40.0484', '-76.2114', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13387, 'Eden', 2818, '17601', '717', '40.073159', '-76.32089', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13388, 'Fruitville', 2818, '17601', '717', '40.073159', '-76.32089', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13389, 'Lancaster', 2818, '17601', '717', '40.073159', '-76.32089', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13390, 'Hanover', 2818, '17333', '717', '39.8009', '-76.9835', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13391, 'Hanover Direct', 2818, '17333', '717', '39.8009', '-76.9835', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13392, 'Abbottstown', 2818, '17301', '717', '39.894532', '-76.973261', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13393, 'Bigmount', 2818, '17315', '717', '40.028461', '-76.872936', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13394, 'Davidsburg', 2818, '17315', '717', '40.028461', '-76.872936', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13395, 'Dover', 2818, '17315', '717', '40.028461', '-76.872936', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13396, 'Mount Royal', 2818, '17315', '717', '40.028461', '-76.872936', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13397, 'York', 2818, '17315', '717', '40.028461', '-76.872936', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13398, 'East Prospect', 2818, '17317', '717', '39.971073', '-76.52203', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13399, 'Wellsville', 2818, '17365', '717', '40.053507', '-76.943507', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13400, 'York', 2818, '17401', '717', '39.96113', '-76.734026', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13401, 'Gardners', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13402, 'Goodyear', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13403, 'Hunters Run', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13404, 'Mount Tabor', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13405, 'Pine Grove Furnace', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13406, 'Starners Station', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13407, 'Toland', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13408, 'Uriah', 2818, '17324', '717', '40.041534', '-77.264054', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13409, 'Burnt Cabins', 2818, '17215', '814', '40.05575', '-77.916969', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13410, 'Concord', 2818, '17217', '717', '40.273314', '-77.68344', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13411, 'Quentin', 2818, '17083', '717', '40.277614', '-76.437722', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13412, 'Shermans Dale', 2818, '17090', '717', '40.340424', '-77.198105', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13413, 'Shermansdale', 2818, '17090', '717', '40.340424', '-77.198105', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13414, 'Harrisburg', 2818, '17101', '717', '40.260808', '-76.887096', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13415, 'Hometown', 2818, '18252', '570', '40.777089', '-75.962818', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13416, 'Tamaqua', 2818, '18252', '570', '40.777089', '-75.962818', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13417, 'Tresckow', 2818, '18254', '570', '40.918302', '-75.957322', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13418, 'Easton', 2818, '18043', '610', '40.7076', '-75.2445', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13419, 'Palmer', 2818, '18043', '610', '40.7076', '-75.2445', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13420, 'Easton', 2818, '18045', '610', '40.696516', '-75.280817', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13421, 'Palmer', 2818, '18045', '610', '40.696516', '-75.280817', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13422, 'Palmer Township', 2818, '18045', '610', '40.696516', '-75.280817', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13423, 'Palmer Twp', 2818, '18045', '610', '40.696516', '-75.280817', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13424, 'Tatamy Boro', 2818, '18045', '610', '40.696516', '-75.280817', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13425, 'Tatamy Borough', 2818, '18045', '610', '40.696516', '-75.280817', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13426, 'Bangor', 2818, '18050', '610', '40.8657', '-75.2068', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13427, 'Flicksville', 2818, '18050', '610', '40.8657', '-75.2068', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13428, 'Hokendauqua', 2818, '18052', '610', '40.657236', '-75.502468', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13429, 'Whitehall', 2818, '18052', '610', '40.657236', '-75.502468', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13430, 'Palm', 2818, '18070', '215', '40.436085', '-75.54136', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13431, 'Mary D', 2818, '17952', '570', '40.763206', '-76.063218', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13432, 'Riegelsville', 2818, '18077', '610', '40.565931', '-75.237628', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13433, 'Sumneytown', 2818, '18084', '215', '40.3286', '-75.4515', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13434, 'Lavelle', 2818, '17943', '570', '40.760343', '-76.387526', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13435, 'Locustdale', 2818, '17945', '570', '40.784297', '-76.373028', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13436, 'Beaver Sprgs', 2818, '17843', '570', '40.817', '-76.9715', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13437, 'Beaver Springs', 2818, '17843', '570', '40.817', '-76.9715', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13438, 'Middle Creek', 2818, '17843', '570', '40.817', '-76.9715', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13439, 'Delaware Run', 2818, '17777', '570', '41.1149', '-76.828763', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13440, 'Goosetown', 2818, '17777', '570', '41.1149', '-76.828763', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13441, 'Watsontown', 2818, '17777', '570', '41.1149', '-76.828763', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13442, 'Watsonville', 2818, '17777', '570', '41.1149', '-76.828763', '2018-11-29 04:51:21', '2018-11-29 04:51:21'),\n(13443, 'Fertility', 2818, '17602', '717', '40.011486', '-76.249454', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13444, 'Lancaster', 2818, '17602', '717', '40.011486', '-76.249454', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13445, 'Lyndon', 2818, '17602', '717', '40.011486', '-76.249454', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13446, 'Meadia Heights', 2818, '17602', '717', '40.011486', '-76.249454', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13447, 'Willow View Heights', 2818, '17602', '717', '40.011486', '-76.249454', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13448, 'Zooks Corner', 2818, '17602', '717', '40.011486', '-76.249454', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13449, 'Mackeyville', 2818, '17750', '570', '41.051588', '-77.467391', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13450, 'Maytown', 2818, '17550', '717', '40.0755', '-76.5828', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13451, 'Bainbridge', 2818, '17502', '717', '40.099329', '-76.664499', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13452, 'Conoy', 2818, '17502', '717', '40.099329', '-76.664499', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13453, 'Falmouth', 2818, '17502', '717', '40.099329', '-76.664499', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13454, 'Stack Town', 2818, '17502', '717', '40.099329', '-76.664499', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13455, 'Central Manor', 2818, '17582', '717', '39.99109', '-76.449562', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13456, 'Letort', 2818, '17582', '717', '39.99109', '-76.449562', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13457, 'Wash Boro', 2818, '17582', '717', '39.99109', '-76.449562', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13458, 'Washington Boro', 2818, '17582', '717', '39.99109', '-76.449562', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13459, 'New Oxford', 2818, '17350', '717', '39.88819', '-77.083698', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13460, 'Gap', 2818, '17527', '717', '40.021888', '-75.987119', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13461, 'White Horse', 2818, '17527', '717', '40.021888', '-75.987119', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13462, 'East Berlin', 2818, '17316', '717', '39.968973', '-77.013805', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13463, 'Bittersville', 2818, '17366', '717', '39.931822', '-76.549664', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13464, 'Windsor', 2818, '17366', '717', '39.931822', '-76.549664', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13465, 'Neelyton', 2818, '17239', '814', '40.12995', '-77.853362', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13466, 'Rouzerville', 2818, '17250', '717', '39.7364', '-77.5353', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13467, 'Franklintown', 2818, '17323', '717', '40.0767', '-77.0288', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13468, 'Bonneauville', 2818, '17325', '717', '39.841808', '-77.231249', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13469, 'Fairplay', 2818, '17325', '717', '39.841808', '-77.231249', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13470, 'Gettysburg', 2818, '17325', '717', '39.841808', '-77.231249', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13471, 'Heidlersburg', 2818, '17325', '717', '39.841808', '-77.231249', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13472, 'Hunterstown', 2818, '17325', '717', '39.841808', '-77.231249', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13473, 'Cherry Grove', 2818, '17264', '814', '40.156913', '-77.978808', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13474, 'Pogue', 2818, '17264', '814', '40.156913', '-77.978808', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13475, 'Selea', 2818, '17264', '814', '40.156913', '-77.978808', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13476, 'Three Springs', 2818, '17264', '814', '40.156913', '-77.978808', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13477, 'Green Fields', 2818, '17098', '717', '40.589011', '-76.618978', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13478, 'Williams', 2818, '17098', '717', '40.589011', '-76.618978', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13479, 'Williamstown', 2818, '17098', '717', '40.589011', '-76.618978', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13480, 'Fort Littletn', 2818, '17223', '717', '40.066527', '-77.940954', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13481, 'Fort Littleton', 2818, '17223', '717', '40.066527', '-77.940954', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13482, 'Ft Littleton', 2818, '17223', '717', '40.066527', '-77.940954', '2018-11-29 04:51:22', '2018-11-29 04:51:22');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(13483, 'Lurgan', 2818, '17232', '717', '40.109221', '-77.642772', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13484, 'Millbach', 2818, '17073', '717', '40.306066', '-76.26545', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13485, 'Millbach Sprs', 2818, '17073', '717', '40.306066', '-76.26545', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13486, 'Newmanstown', 2818, '17073', '717', '40.306066', '-76.26545', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13487, 'Sheridan', 2818, '17073', '717', '40.306066', '-76.26545', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13488, 'Stricklerstwn', 2818, '17073', '717', '40.306066', '-76.26545', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13489, 'Harrisburg', 2818, '17125', '717', '40.2688', '-76.8842', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13490, 'Hbg', 2818, '17125', '717', '40.2688', '-76.8842', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13491, 'State General Services', 2818, '17125', '717', '40.2688', '-76.8842', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13492, 'Specktown', 2818, '17048', '717', '40.603381', '-76.719992', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13493, 'H I A', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13494, 'Hbg Inter Airp', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13495, 'Londonderry', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13496, 'Lower Swatara', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13497, 'Mdt', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13498, 'Middletown', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13499, 'Middletwn', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13500, 'Midltwn', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13501, 'Royalton', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13502, 'Shope Gardens', 2818, '17057', '717', '40.188424', '-76.72924', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13503, 'Academia', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13504, 'Beale', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13505, 'Old Port', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13506, 'Pleasantview', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13507, 'Port Royal', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13508, 'Pt Royal', 2818, '17082', '717', '40.490486', '-77.465271', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13509, 'Carolina', 2819, '00981', '787', '18.4683', '-66.1064', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13510, 'Isla Verde', 2819, '00981', '787', '18.4683', '-66.1064', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13511, 'URB Campo Verde', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13512, 'URB El Coqui', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13513, 'URB Enramada', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13514, 'URB Estancias', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13515, 'URB Fronteras', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13516, 'URB Los Almendros', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13517, 'URB Mirabella Vlg', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13518, 'URB Monte Claro', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13519, 'URB Rio Hondo 1', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13520, 'URB Rio Hondo 2', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13521, 'URB Rio Hondo 3', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13522, 'URB Rio Hondo 4', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13523, 'URB Rio Plantation', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13524, 'URB River Vw', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13525, 'URB Riverside Park', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13526, 'URB Santa Cruz', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13527, 'URB Sierra Bayamon', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13528, 'URB Veredas', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13529, 'Valle Verde 1', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13530, 'Valle Verde 2', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13531, 'Valle Verde 3', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13532, 'Villa Espana', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13533, 'Guaynabo', 2819, '00970', '787', '18.359214', '-66.110296', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13534, 'Catano', 2819, '00963', '787', '18.1103', '-66.17', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13535, 'Bda Vietnam', 2819, '00965', '787', '18.430034', '-66.119902', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13536, 'Bo Amelia', 2819, '00965', '787', '18.430034', '-66.119902', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13537, 'Bo Sabana', 2819, '00965', '787', '18.430034', '-66.119902', '2018-11-29 04:51:22', '2018-11-29 04:51:22'),\n(13538, 'Guaynabo', 2819, '00965', '787', '18.430034', '-66.119902', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13539, 'Villa Concepcion 1', 2819, '00965', '787', '18.430034', '-66.119902', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13540, 'Villa Concepcion 2', 2819, '00965', '787', '18.430034', '-66.119902', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13541, 'Bayamon', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13542, 'Bda La Cambija', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13543, 'Bo Hato Tejas', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13544, 'Bo Volcan', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13545, 'Bo Volcan Arenas', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13546, 'Ind Corujo', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13547, 'Ind Luchetti', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13548, 'Qta Del Rio', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13549, 'Qtas De Boulevar', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13550, 'Repto Teresita', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13551, 'Sect Punta Brava', 2819, '00961', '939', '18.413087', '-66.161162', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13552, 'Caparra', 2819, '00922', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13553, 'Caparra Hills', 2819, '00922', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13554, 'Caparra Ter', 2819, '00922', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13555, 'Caparra Terrace', 2819, '00922', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13556, 'San Juan', 2819, '00922', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13557, 'Barrio Obrero', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13558, 'Bda Buena Vista', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13559, 'Bo Obrero', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13560, 'San Juan', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13561, 'Santurce', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13562, 'Sect Cantera', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13563, 'Sect La Playita', 2819, '00915', '787', '18.437208', '-66.044602', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13564, 'La Plata', 2819, '00786', '787', '18.1564', '-66.2336', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13565, 'Ponce', 2819, '00731', '787', '18.095571', '-66.641462', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13566, 'URB Riberas De Bucana', 2819, '00731', '787', '18.095571', '-66.641462', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13567, 'URB Terra Senorial', 2819, '00731', '787', '18.095571', '-66.641462', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13568, 'URB Eugene Rice', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13569, 'URB Gonzalez', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13570, 'URB La Fabrica', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13571, 'Parq Central', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13572, 'San Juan', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13573, 'URB Baldrich', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13574, 'URB El Vedado', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13575, 'URB Hyde Pk', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13576, 'URB Jb Huyke', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13577, 'URB Los Ingenieros', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13578, 'URB Los Maestros', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13579, 'URB Roosevelt', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13580, 'Villa Pica', 2819, '00918', '787', '18.423656', '-66.067402', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13581, 'Hato Rey', 2819, '00919', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13582, 'San Juan', 2819, '00919', '787', '18.4683', '-66.1061', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13583, 'URB Sabana Del Palmar', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13584, 'Guayama', 2819, '00785', '787', '17.98', '-66.1101', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13585, 'Comerio', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13586, 'URB Ariel', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13587, 'URB La Hacienda', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13588, 'URB La Plata', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13589, 'URB Pasarell', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13590, 'URB Rio Plata', 2819, '00782', '787', '18.225014', '-66.219798', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13591, 'Ponce', 2819, '00732', '787', '18.0133', '-66.6146', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13592, 'Ponce', 2819, '00734', '787', '18.0133', '-66.6146', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13593, 'Brisas De Naguabo', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13594, 'Hacienda Grande', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13595, 'Jard De Esperanza', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13596, 'Jard De La Via', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13597, 'Jard Del Este', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13598, 'Mans Playa Hucares', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13599, 'Naguabo', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13600, 'Repto Santiago', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13601, 'URB Casabella', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13602, 'URB City Palace', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13603, 'URB Diplo', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13604, 'URB Juan Mendoza', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13605, 'URB Promised Land', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13606, 'URB Ramon Rivero', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13607, 'URB Santo Tomas', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13608, 'Villa Del Rosario', 2819, '00718', '787', '18.25005', '-65.784727', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13609, 'Alts De Yauco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13610, 'Alts Del Cafetal', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13611, 'Bda Galarza', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13612, 'Bda Las Delicias', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13613, 'Bda Lluberas', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13614, 'Bo Alto De Cuba', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13615, 'Bo Palomas', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13616, 'Colinas De Yauco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13617, 'Est De Yauco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13618, 'Est De Yodimar', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13619, 'Ext Alts De Yauco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13620, 'Ext Alts De Yauco Ii', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13621, 'Haciendas Florida', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13622, 'Jard De Borinquen', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13623, 'Jard De Montblanc', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13624, 'Jard M Blanco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13625, 'Qtas De Valle Verde', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13626, 'Repto Esperanza', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13627, 'Res Barinas', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13628, 'Sect La Vega', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13629, 'Sect Las Pelas', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13630, 'URB Monte Soria 2', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13631, 'Villas Del Coqui', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13632, 'Aguirre', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13633, 'Est De Trinitaria', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13634, 'Ext El Coqui', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13635, 'Parc Cabasa', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13636, 'Parc Parque', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13637, 'Paseo Costa Del Sur', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:23', '2018-11-29 04:51:23'),\n(13638, 'Sect Lanausse', 2819, '00704', '787', '17.980199', '-66.218868', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13639, 'Jard De Las Marias', 2819, '00670', '787', '18.239633', '-66.986887', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13640, 'Las Marias', 2819, '00670', '787', '18.239633', '-66.986887', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13641, 'URB El Bosque', 2819, '00670', '787', '18.239633', '-66.986887', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13642, 'URB El Coqui', 2819, '00670', '787', '18.239633', '-66.986887', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13643, 'URB Lavergne', 2819, '00670', '787', '18.239633', '-66.986887', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13644, 'Ensenada', 2819, '00647', '787', '17.97252', '-66.945189', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13645, 'URB Baco', 2819, '00647', '787', '17.97252', '-66.945189', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13646, 'Garrochales', 2819, '00652', '787', '18.451909', '-66.599784', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13647, 'Hacienda De Garrochales', 2819, '00652', '787', '18.451909', '-66.599784', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13648, 'URB Los Jardines', 2819, '00652', '787', '18.451909', '-66.599784', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13649, 'Arecibo', 2819, '00613', '787', '18.4744', '-66.7163', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13650, 'Angeles', 2819, '00611', '787', '18.2856', '-66.9698', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13651, 'URB Minima', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13652, 'URB Mirador Echevarri', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13653, 'URB Mirador Universitario', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13654, 'URB San Cristobal', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13655, 'URB San Martin', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13656, 'Valle Alto', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13657, 'Villa Verde', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13658, 'URB Las Haciendas Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13659, 'URB Las Vegas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13660, 'URB Loiza Valley', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13661, 'URB Los Eucaliptos', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13662, 'URB Pueblo Indio', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13663, 'URB River Gdns', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13664, 'Aguadilla', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13665, 'Bda Caban', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13666, 'Bda Esteves', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13667, 'Bo Borinquen', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13668, 'Bo Ceiba Baja', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13669, 'Ext El Prado', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13670, 'Ext Marbella', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13671, 'Ramey', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13672, 'Repto Jimenez', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13673, 'Repto Juan Aguiar', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13674, 'Repto Lopez', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13675, 'Repto Tres Palmas', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13676, 'Sect Las Villas', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13677, 'URB Borinquen', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13678, 'URB El Prado', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13679, 'URB Esteves', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13680, 'URB Garcia', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13681, 'URB Las Americas', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13682, 'URB Las Casitas Country Club', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13683, 'URB Maleza Gdns', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13684, 'URB Marbella', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13685, 'URB Ramey', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13686, 'URB Rubianes', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13687, 'URB San Carlos', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13688, 'URB Santa Marta', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13689, 'URB Victoria', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13690, 'Villa Alegria', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13691, 'Villa Linda', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13692, 'Villa Lydia', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13693, 'Villa Universitaria', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13694, 'Villas De Almeria', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13695, 'Vista Alegre', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13696, 'Vista Verde', 2819, '00603', '787', '18.458585', '-67.129867', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13697, 'Vista Azul', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13698, 'Vista Del Atlantico', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13699, 'Arecibo', 2819, '00614', '787', '18.4744', '-66.7163', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13700, 'Alt De Juncos', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13701, 'Alt De San Felipe', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13702, 'Arecibo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13703, 'Bda Duhamel', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13704, 'Bo El Pasaje', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13705, 'URB River Plantation', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13706, 'URB River Valley', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13707, 'URB River Valley Pk', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13708, 'URB Town Pk', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13709, 'URB Usubal', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13710, 'Villas De Loiza', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13711, 'Villas Del Este', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13712, 'Villas Doradas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13713, 'Bda Buena Vista', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13714, 'Bda Cantera', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13715, 'Bda Nueva', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13716, 'Bda Polvorin', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13717, 'Bda Vieques', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13718, 'Bo Beatriz', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13719, 'Bo Carite', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13720, 'Bo Cedro', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13721, 'Bo Farallon', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13722, 'Bo Guavate', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13723, 'Bo Las Parras', 2819, '00736', '787', '18.078621', '-66.165322', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13724, 'Brisas De Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13725, 'Brisas De Loiza', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13726, 'Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13727, 'Ciudad Jardin De Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13728, 'Est Del Rio', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13729, 'Ext Villas De Loiza', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13730, 'Haciendas De Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13731, 'Jard De Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13732, 'Jard De Palmarejo', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13733, 'Parc Central', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:24', '2018-11-29 04:51:24'),\n(13734, 'Parc Monteverde', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13735, 'Parc San Isidro', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13736, 'Parc Villa Delicias', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13737, 'Qtas De Canovanas', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13738, 'Qtas Jard De Parmarejo', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13739, 'URB Country View', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13740, 'URB Del Pilar', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13741, 'URB Forest Plantation', 2819, '00729', '787', '18.341924', '-65.891738', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13742, 'Alt De Orocovis', 2819, '00720', '787', '18.20454', '-66.450958', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13743, 'Orocovis', 2819, '00720', '787', '18.20454', '-66.450958', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13744, 'URB Santa Teresita', 2819, '00720', '787', '18.20454', '-66.450958', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13745, 'Villas De Orocovix I', 2819, '00720', '787', '18.20454', '-66.450958', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13746, 'Villas De Orocovix Ii', 2819, '00720', '787', '18.20454', '-66.450958', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13747, 'Est De Sabana', 2819, '00688', '787', '18.349991', '-66.629553', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13748, 'Sabana Hoyos', 2819, '00688', '787', '18.349991', '-66.629553', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13749, 'Mayaguez', 2819, '00681', '787', '18.1211', '-67.0824', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13750, 'Aguadilla', 2819, '00604', '787', '18.488773', '-67.147741', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13751, 'Ramey', 2819, '00604', '787', '18.488773', '-67.147741', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13752, 'Est Cerro Gordo', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13753, 'Est Del Valle', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13754, 'Est San Nicolas', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13755, 'Ext La Esperanza', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13756, 'Ext La Inmaculada', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13757, 'Ext Sanchez', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13758, 'Ext Santa Ana', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13759, 'Ext Santa Maria', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13760, 'Ext Santa Rita', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13761, 'Hacienda El Molino', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13762, 'Parc Carmen', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13763, 'Parc Ponderosa', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13764, 'URB Cerro Gordo Hls', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13765, 'URB Cielo Dorado', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13766, 'URB Golden Vlg', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13767, 'URB Grand Palm Ii', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13768, 'URB Isomar', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13769, 'URB La Esperanza', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13770, 'URB La Inmaculada', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13771, 'URB La Inmaculada Ct', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13772, 'URB Las Colinas', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13773, 'URB Las Palmas Cerro Gordo', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13774, 'URB Puesta Del Sol', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13775, 'URB Santa Ana', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13776, 'URB Santa Rita', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13777, 'URB Sierra Maestra', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13778, 'URB Treasure Pt', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13779, 'URB Velomas', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13780, 'Vega Alta', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13781, 'Villa Linares', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13782, 'Vistas De La Vega', 2819, '00692', '787', '18.4018', '-66.343828', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13783, 'Bda Guaydia', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13784, 'Bo Los Sitios', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13785, 'Ext Santa Elena 2', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13786, 'Ext Santa Elena 3', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13787, 'Guayanilla', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13788, 'URB La Concepcion', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13789, 'URB Monte Claro', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13790, 'URB San Augusto', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13791, 'URB Santa Elena', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13792, 'URB Santa Elena 2', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13793, 'URB Santa Maria', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13794, 'URB Stella', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13795, 'Villa Del Rio', 2819, '00656', '787', '18.037324', '-66.796287', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13796, 'Alts De San Jose', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13797, 'Bda San Isidro', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13798, 'Est Del Rio', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13799, 'Ext San Jose 2', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13800, 'Parc Maginas', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13801, 'Parc Susua', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13802, 'Sabana Grande', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13803, 'URB El Arrendado', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13804, 'URB La Milagrosa', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13805, 'URB San Miguel', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13806, 'URB Santa Ana', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13807, 'URB Santa Elena', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13808, 'URB Santa Maria', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13809, 'Vistas De Sabana Grande', 2819, '00637', '787', '18.077592', '-66.939232', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13810, 'Bo Islote', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13811, 'Bo Islote Ii', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13812, 'Bo Jarealitos', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13813, 'Bo Obrero', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13814, 'Bo Santana', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13815, 'Comunidad Buenos Aires', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13816, 'Est De Arecibo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13817, 'Est De Balseiro', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13818, 'Ext Marisol', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13819, 'Ext Tanama', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13820, 'Ext Villa Los Santos I', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13821, 'Ext Villa Los Santos Ii', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13822, 'Hacienda Toledo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13823, 'Jard De Arecibo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13824, 'Jard De San Rafael', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13825, 'Parc Mattey', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13826, 'Parc Navas', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13827, 'Parc Perez', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13828, 'Parc Rodriguez Olmo', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13829, 'Parq De Jardines', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:25', '2018-11-29 04:51:25'),\n(13830, 'Paseos Reales', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13831, 'Repto Marquez', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13832, 'Repto San Jose', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13833, 'Repto San Juan', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13834, 'Sect Abra', 2819, '00612', '787', '18.388009', '-66.665279', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13835, 'Fairforest', 2821, '29336', '864', '34.9565', '-82.0103', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13836, 'Drayton', 2821, '29333', '864', '34.9675', '-81.9064', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13837, 'Gaffney', 2821, '29342', '864', '35.0718', '-81.65', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13838, 'Landrum', 2821, '29356', '864', '35.131268', '-82.251463', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13839, 'Charleston', 2821, '29401', '843', '32.777596', '-79.941923', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13840, 'Chas', 2821, '29401', '843', '32.777596', '-79.941923', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13841, 'Peak', 2821, '29122', '803', '34.246784', '-81.325208', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13842, 'Charleston', 2821, '29423', '843', '32.7738', '-79.9333', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13843, 'Chas', 2821, '29423', '843', '32.7738', '-79.9333', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13844, 'N Charleston', 2821, '29423', '843', '32.7738', '-79.9333', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13845, 'North Charleston', 2821, '29423', '843', '32.7738', '-79.9333', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13846, 'Williams', 2821, '29493', '843', '33.03887', '-80.83845', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13847, 'Huger', 2821, '29450', '843', '33.041689', '-79.76528', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13848, 'Fork', 2821, '29543', '843', '34.287474', '-79.265458', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13849, 'Clinton', 2821, '29325', '864', '34.47615', '-81.816638', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13850, 'Cross Hill', 2821, '29332', '864', '34.275528', '-81.97988', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13851, 'Gaffney', 2821, '29341', '864', '35.101512', '-81.698956', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13852, 'Lockhart', 2821, '29364', '864', '34.78632', '-81.463728', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13853, 'Pacolet Mills', 2821, '29373', '864', '34.927872', '-81.748271', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13854, 'Waterloo', 2821, '29384', '864', '34.339908', '-82.084046', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13855, 'Millford', 2821, '29125', '803', '33.721031', '-80.459376', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13856, 'Panola', 2821, '29125', '803', '33.721031', '-80.459376', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13857, 'Pinewood', 2821, '29125', '803', '33.721031', '-80.459376', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13858, 'Rimini', 2821, '29125', '803', '33.721031', '-80.459376', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13859, 'Charleston', 2821, '29419', '843', '32.7765', '-79.9312', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13860, 'Chas', 2821, '29419', '843', '32.7765', '-79.9312', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13861, 'N Charleston', 2821, '29419', '843', '32.7765', '-79.9312', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13862, 'No Chas', 2821, '29419', '843', '32.7765', '-79.9312', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13863, 'North Charleston', 2821, '29419', '843', '32.7765', '-79.9312', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13864, 'Charleston', 2821, '29420', '843', '32.940539', '-80.098214', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13865, 'Chas', 2821, '29420', '843', '32.940539', '-80.098214', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13866, 'N Charleston', 2821, '29420', '843', '32.940539', '-80.098214', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13867, 'No Chas', 2821, '29420', '843', '32.940539', '-80.098214', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13868, 'North Charleston', 2821, '29420', '843', '32.940539', '-80.098214', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13869, 'Cresbard', 2822, '57435', '605', '45.186869', '-98.951448', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13870, 'Mansfield', 2822, '57460', '605', '45.273114', '-98.65063', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13871, 'Colome', 2822, '57528', '605', '43.175909', '-99.781068', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13872, 'Carlock', 2822, '57533', '605', '43.386914', '-99.452625', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13873, 'Dixon', 2822, '57533', '605', '43.386914', '-99.452625', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13874, 'Gregory', 2822, '57533', '605', '43.386914', '-99.452625', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13875, 'Iona', 2822, '57533', '605', '43.386914', '-99.452625', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13876, 'Houston', 2822, '57544', '605', '43.863239', '-99.825803', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13877, 'Iron Mountain', 2822, '57544', '605', '43.863239', '-99.825803', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13878, 'Kennebec', 2822, '57544', '605', '43.863239', '-99.825803', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13879, 'Billsburg', 2822, '57553', '605', '44.431928', '-101.771879', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13880, 'Hartley', 2822, '57553', '605', '44.431928', '-101.771879', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13881, 'Milesville', 2822, '57553', '605', '44.431928', '-101.771879', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13882, 'Hilland', 2822, '57567', '605', '44.152157', '-101.737514', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13883, 'Doland', 2822, '57436', '605', '44.821002', '-98.082544', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13884, 'Tolstoy', 2822, '57475', '605', '45.165548', '-99.626774', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13885, 'Turton', 2822, '57477', '605', '45.030938', '-98.104909', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13886, 'Kary', 2822, '57559', '605', '43.938013', '-100.70648', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13887, 'Murdo', 2822, '57559', '605', '43.938013', '-100.70648', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13888, 'Houghton', 2822, '57449', '605', '45.755432', '-98.19347', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13889, 'Dallas', 2822, '57529', '605', '43.24115', '-99.563723', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13890, 'Dixon', 2822, '57529', '605', '43.24115', '-99.563723', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13891, 'Paxton', 2822, '57529', '605', '43.24115', '-99.563723', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13892, 'Lower Brule', 2822, '57548', '605', '44.065873', '-99.706346', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13893, 'Cedarbutte', 2822, '57579', '605', '43.6237', '-100.897514', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13894, 'Westover', 2822, '57579', '605', '43.6237', '-100.897514', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13895, 'White River', 2822, '57579', '605', '43.6237', '-100.897514', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13896, 'Campbell', 2822, '57646', '605', '45.68082', '-100.11532', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13897, 'Mound City', 2822, '57646', '605', '45.68082', '-100.11532', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13898, 'Deadwood', 2822, '57732', '605', '44.26586', '-103.627118', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13899, 'Baxter', 2823, '38544', '931', '36.117598', '-85.663365', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13900, 'Granville', 2823, '38564', '931', '36.273866', '-85.756576', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13901, 'Quebeck', 2823, '38579', '931', '35.834563', '-85.541682', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13902, 'Mcewen', 2823, '37101', '931', '36.049196', '-87.651752', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13903, 'Readyville', 2823, '37149', '615', '35.793014', '-86.20264', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13904, 'Red Blng Spgs', 2823, '37150', '615', '36.517124', '-85.81138', '2018-11-29 04:51:26', '2018-11-29 04:51:26');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(13905, 'Red Boiling Springs', 2823, '37150', '615', '36.517124', '-85.81138', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13906, 'Riddleton', 2823, '37151', '615', '36.319556', '-86.050668', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13907, 'Smyrna', 2823, '37167', '615', '35.953172', '-86.528718', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13908, 'Wartrace', 2823, '37183', '931', '35.502199', '-86.302758', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13909, 'Waverly', 2823, '37185', '931', '36.024276', '-87.819159', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13910, 'Forest Hills', 2823, '37215', '615', '36.087918', '-86.83793', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13911, 'Nashville', 2823, '37215', '615', '36.087918', '-86.83793', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13912, 'Nashville', 2823, '37217', '615', '36.10591', '-86.661716', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13913, 'Altamont', 2823, '37301', '931', '35.449044', '-85.783948', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13914, 'Apison', 2823, '37302', '423', '35.020603', '-85.020466', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13915, 'Farner', 2823, '37333', '423', '35.142813', '-84.325823', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13916, 'Fayetteville', 2823, '37334', '931', '35.176844', '-86.599098', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13917, 'Manchester', 2823, '37349', '931', '35.4672', '-86.0702', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13918, 'Lynchburg', 2823, '37352', '931', '35.239487', '-86.357605', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13919, 'Palmer', 2823, '37365', '931', '35.38358', '-85.578095', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13920, 'Reliance', 2823, '37369', '423', '35.202154', '-84.516438', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13921, 'Summitville', 2823, '37382', '931', '35.5597', '-85.9926', '2018-11-29 04:51:26', '2018-11-29 04:51:26'),\n(13922, 'Chattanooga', 2823, '37401', '423', '35.0459', '-85.3097', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13923, 'Chattanooga', 2823, '37419', '423', '35.052162', '-85.421846', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13924, 'Jc', 2823, '37602', '423', '36.3136', '-82.3538', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13925, 'Johnson City', 2823, '37602', '423', '36.3136', '-82.3538', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13926, 'Kingsport', 2823, '37669', '423', '36.5486', '-82.5619', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13927, 'Kingsport Book', 2823, '37669', '423', '36.5486', '-82.5619', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13928, 'Mountain Home', 2823, '37684', '423', '36.308706', '-82.375212', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13929, 'Mtn Home', 2823, '37684', '423', '36.308706', '-82.375212', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13930, 'Piney Flats', 2823, '37686', '423', '36.442815', '-82.345861', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13931, 'Clinton', 2823, '37717', '865', '36.1033', '-84.1319', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13932, 'Harrogate', 2823, '37752', '423', '36.557051', '-83.554808', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13933, 'La Follette', 2823, '37766', '423', '36.410702', '-84.113497', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13934, 'Lafollette', 2823, '37766', '423', '36.410702', '-84.113497', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13935, 'Morley', 2823, '37766', '423', '36.410702', '-84.113497', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13936, 'Maryville', 2823, '37802', '865', '35.7564', '-83.9708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13937, 'Maryville', 2823, '37803', '865', '35.666666', '-83.981168', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13938, 'Pruden', 2823, '37851', '423', '36.59', '-83.8945', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13939, 'Shawanee', 2823, '37867', '423', '36.5806', '-83.6388', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13940, 'Pigeon Forge', 2823, '37868', '865', '35.7883', '-83.5544', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13941, 'Sevierville', 2823, '37868', '865', '35.7883', '-83.5544', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13942, 'Speedwell', 2823, '37870', '423', '36.472498', '-83.825628', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13943, 'Walland', 2823, '37886', '865', '35.755748', '-83.793562', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13944, 'Knox', 2823, '37901', '865', '35.9646', '-83.9197', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13945, 'Knoxville', 2823, '37901', '865', '35.9646', '-83.9197', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13946, 'Knoxville', 2823, '37950', '865', '35.9648', '-83.9196', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13947, 'Atoka', 2823, '38004', '901', '35.428574', '-89.775026', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13948, 'Crosstown', 2823, '38004', '901', '35.428574', '-89.775026', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13949, 'Mason', 2823, '38068', '901', '35.257806', '-89.354679', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13950, 'Somerville', 2823, '38068', '901', '35.257806', '-89.354679', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13951, 'Tigrett', 2823, '38070', '731', '35.9461', '-89.2419', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13952, 'Memphis', 2823, '38101', '901', '35.1497', '-90.0487', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13953, 'Mem', 2823, '38119', '901', '35.078737', '-89.84457', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13954, 'Memphis', 2823, '38119', '901', '35.078737', '-89.84457', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13955, 'Mphs', 2823, '38119', '901', '35.078737', '-89.84457', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13956, 'Bartlett', 2823, '38135', '901', '35.239794', '-89.844632', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13957, 'Mem', 2823, '38135', '901', '35.239794', '-89.844632', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13958, 'Memphis', 2823, '38135', '901', '35.239794', '-89.844632', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13959, 'Mphs', 2823, '38135', '901', '35.239794', '-89.844632', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13960, 'Mem', 2823, '38136', '901', '35.1497', '-90.0487', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13961, 'Memphis', 2823, '38136', '901', '35.1497', '-90.0487', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13962, 'Memphis Networks Dist Ctr', 2823, '38136', '901', '35.1497', '-90.0487', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13963, 'Mphs', 2823, '38136', '901', '35.1497', '-90.0487', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13964, 'Mem', 2823, '38137', '901', '35.1377', '-90.0519', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13965, 'Memphis', 2823, '38137', '901', '35.1377', '-90.0519', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13966, 'Mphs', 2823, '38137', '901', '35.1377', '-90.0519', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13967, 'Mem', 2823, '38152', '901', '35.118968', '-89.93724', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13968, 'Memphis', 2823, '38152', '901', '35.118968', '-89.93724', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13969, 'Mphs', 2823, '38152', '901', '35.118968', '-89.93724', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13970, 'University Of Memphis', 2823, '38152', '901', '35.118968', '-89.93724', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13971, 'Atwood', 2823, '38220', '731', '36.010029', '-88.658552', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13972, 'Martin', 2823, '38237', '731', '36.376152', '-88.837774', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13973, 'Fruitvale', 2823, '38336', '731', '35.7469', '-89.032', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13974, 'Gibson', 2823, '38338', '731', '35.8745', '-88.8475', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13975, 'Lexington', 2823, '38351', '731', '35.647932', '-88.424394', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13976, 'Medina', 2823, '38355', '731', '35.786226', '-88.754128', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13977, 'Reagan', 2823, '38368', '731', '35.501494', '-88.374054', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13978, 'Rutherford', 2823, '38369', '731', '36.129386', '-88.957288', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13979, 'Saltillo', 2823, '38370', '731', '35.389256', '-88.248392', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13980, 'Lynnville', 2823, '38472', '931', '35.383456', '-87.04578', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13981, 'Cookeville', 2823, '38502', '931', '36.1626', '-85.5018', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13982, 'Allardt', 2823, '38504', '931', '36.38448', '-84.732345', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13983, 'Crossville', 2823, '38555', '931', '35.841732', '-84.98465', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13984, 'Fairfield', 2823, '38555', '931', '35.841732', '-84.98465', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13985, 'Fairfield Glade', 2823, '38555', '931', '35.841732', '-84.98465', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13986, 'Fairfld Glde', 2823, '38555', '931', '35.841732', '-84.98465', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13987, 'Lancaster', 2823, '38569', '615', '36.105234', '-85.85203', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13988, 'Crossville', 2823, '38571', '931', '36.048067', '-85.041018', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13989, 'Whitleyville', 2823, '38588', '931', '36.468428', '-85.709459', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13990, 'Cookeville', 2823, '38503', '931', '36.1626', '-85.5018', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13991, 'Cookeville', 2823, '38505', '931', '36.175503', '-85.505928', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13992, 'Tennessee Tech Univ', 2823, '38505', '931', '36.175503', '-85.505928', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13993, 'Livingston', 2823, '38570', '931', '36.37488', '-85.307411', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13994, 'Crossville', 2823, '38572', '931', '35.848715', '-85.129889', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13995, 'Walling', 2823, '38587', '931', '35.864724', '-85.617629', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13996, 'Maxdale', 2824, '76542', '254', '30.999672', '-97.779448', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13997, 'Youngsport', 2824, '76542', '254', '30.999672', '-97.779448', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13998, 'Meador Grove', 2824, '76557', '254', '31.304694', '-97.388134', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(13999, 'Moody', 2824, '76557', '254', '31.304694', '-97.388134', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14000, 'Stampede', 2824, '76557', '254', '31.304694', '-97.388134', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14001, 'White Hall', 2824, '76557', '254', '31.304694', '-97.388134', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14002, 'Whitson', 2824, '76557', '254', '31.304694', '-97.388134', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14003, 'Willow Grove', 2824, '76557', '254', '31.304694', '-97.388134', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14004, 'Nolanville', 2824, '76559', '254', '31.085302', '-97.608651', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14005, 'Frame Switch', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14006, 'Hare', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14007, 'Hoxie', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14008, 'Laneport', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14009, 'Noack', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14010, 'Normans Crossing', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14011, 'Fort Worth', 2824, '76197', '817', '32.7254', '-97.3208', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14012, 'Ft Worth', 2824, '76197', '817', '32.7254', '-97.3208', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14013, 'Fort Worth', 2824, '76199', '817', '32.7254', '-97.3208', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14014, 'Ft Worth', 2824, '76199', '817', '32.7254', '-97.3208', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14015, 'Jp Morgan Chase', 2824, '76199', '817', '32.7254', '-97.3208', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14016, 'Bowie', 2824, '76230', '940', '33.588084', '-97.780645', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14017, 'Fruitland', 2824, '76230', '940', '33.588084', '-97.780645', '2018-11-29 04:51:27', '2018-11-29 04:51:27'),\n(14018, 'Newport', 2824, '76230', '940', '33.588084', '-97.780645', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14019, 'Postoak', 2824, '76230', '940', '33.588084', '-97.780645', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14020, 'Stoneburg', 2824, '76230', '940', '33.588084', '-97.780645', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14021, 'Collinsville', 2824, '76233', '903', '33.529106', '-96.889084', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14022, 'Saint Jo', 2824, '76265', '940', '33.744533', '-97.541288', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14023, 'Chico', 2824, '76431', '940', '33.333754', '-97.798924', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14024, 'Bluff Dale', 2824, '76433', '254', '32.344319', '-98.170781', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14025, 'Eastland', 2824, '76448', '254', '32.401793', '-98.778418', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14026, 'Graford', 2824, '76449', '940', '32.892462', '-98.333018', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14027, 'Graham', 2824, '76450', '940', '33.056788', '-98.687042', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14028, 'Longview', 2824, '75615', '903', '32.5006', '-94.7405', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14029, 'Avinger', 2824, '75630', '903', '32.866786', '-94.569375', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14030, 'Warlock', 2824, '75630', '903', '32.866786', '-94.569375', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14031, 'Kilgore', 2824, '75663', '903', '32.3862', '-94.8757', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14032, 'Henderson', 2824, '75680', '903', '32.1531', '-94.7993', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14033, 'Minden', 2824, '75680', '903', '32.1531', '-94.7993', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14034, 'New London', 2824, '75682', '903', '32.2538', '-94.9427', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14035, 'Old London', 2824, '75682', '903', '32.2538', '-94.9427', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14036, 'Tyler', 2824, '75712', '903', '32.3511', '-95.3009', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14037, 'Hawkins', 2824, '75765', '903', '32.662467', '-95.254106', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14038, 'Holly Lake Ranch', 2824, '75765', '903', '32.662467', '-95.254106', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14039, 'Holly Lk Rnch', 2824, '75765', '903', '32.662467', '-95.254106', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14040, 'Jarvis College', 2824, '75765', '903', '32.662467', '-95.254106', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14041, 'Neches', 2824, '75779', '903', '31.8667', '-95.4958', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14042, 'New Summerfield', 2824, '75780', '903', '31.9808', '-95.0939', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14043, 'New Summerfld', 2824, '75780', '903', '31.9808', '-95.0939', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14044, 'Poynor', 2824, '75782', '903', '32.079627', '-95.593826', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14045, 'Jewett', 2824, '75846', '903', '31.358688', '-96.186997', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14046, 'Newby', 2824, '75846', '903', '31.358688', '-96.186997', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14047, 'Robbins', 2824, '75846', '903', '31.358688', '-96.186997', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14048, 'Kennard', 2824, '75847', '936', '31.342937', '-95.106684', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14049, 'Kirvin', 2824, '75848', '903', '31.823096', '-96.321733', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14050, 'Woodlake', 2824, '75865', '936', '31.0286', '-95.0328', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14051, 'Palestine', 2824, '75882', '903', '31.7617', '-95.6306', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14052, 'Powledge Prison', 2824, '75882', '903', '31.7617', '-95.6306', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14053, 'Broaddus', 2824, '75929', '936', '31.24959', '-94.191838', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14054, 'Bronson', 2824, '75930', '409', '31.361635', '-93.962351', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14055, 'Rosevine', 2824, '75930', '409', '31.361635', '-93.962351', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14056, 'Brookeland', 2824, '75931', '409', '31.122989', '-94.029678', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14057, 'Browndell', 2824, '75931', '409', '31.122989', '-94.029678', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14058, 'Brileytown', 2824, '75946', '936', '31.815022', '-94.522141', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14059, 'Fitze', 2824, '75946', '936', '31.815022', '-94.522141', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14060, 'Garrison', 2824, '75946', '936', '31.815022', '-94.522141', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14061, 'Henning', 2824, '75946', '936', '31.815022', '-94.522141', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14062, 'Hidden Valley', 2824, '75946', '936', '31.815022', '-94.522141', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14063, 'Nacogdoches', 2824, '75963', '936', '31.6033', '-94.6555', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14064, 'Nacogdoches', 2824, '75964', '936', '31.647402', '-94.774046', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14065, 'Nancy', 2824, '75980', '936', '31.141018', '-94.318356', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14066, 'Zavalla', 2824, '75980', '936', '31.141018', '-94.318356', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14067, 'Acton', 2824, '76049', '817', '32.456143', '-97.718556', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14068, 'Decordova', 2824, '76049', '817', '32.456143', '-97.718556', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14069, 'Granbury', 2824, '76049', '817', '32.456143', '-97.718556', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14070, 'Grandview', 2824, '76050', '817', '32.292131', '-97.189144', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14071, 'Maypearl', 2824, '76064', '972', '32.312098', '-97.023127', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14072, 'Springtown', 2824, '76082', '817', '32.973743', '-97.719978', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14073, 'Grapevine', 2824, '76099', '817', '32.9342', '-97.0775', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14074, 'Fort Worth', 2824, '76130', '817', '32.7254', '-97.3208', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14075, 'Ft Worth', 2824, '76130', '817', '32.7254', '-97.3208', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14076, 'Texas Christian Univ', 2824, '76130', '817', '32.7254', '-97.3208', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14077, 'Benbrook', 2824, '76132', '817', '32.670747', '-97.415816', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14078, 'Fort Worth', 2824, '76132', '817', '32.670747', '-97.415816', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14079, 'Ft Worth', 2824, '76132', '817', '32.670747', '-97.415816', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14080, 'Fort Worth', 2824, '76133', '817', '32.658632', '-97.385612', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14081, 'Ft Worth', 2824, '76133', '817', '32.658632', '-97.385612', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14082, 'Fort Worth', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14083, 'Ft Worth', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14084, 'Haltom City', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14085, 'N Richland Hills', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14086, 'N Richlnd Hls', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14087, 'North Richland Hills', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14088, 'Northrichland Hills', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14089, 'Richland Hills', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14090, 'Richland Hls', 2824, '76180', '817', '32.867248', '-97.21616', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14091, 'Bank Of America', 2824, '76197', '817', '32.7254', '-97.3208', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14092, 'Camden', 2824, '75934', '936', '30.899938', '-94.754654', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14093, 'Lily Island', 2824, '75934', '936', '30.899938', '-94.754654', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14094, 'Douglass', 2824, '75943', '936', '31.651151', '-94.862946', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14095, 'Pineland', 2824, '75968', '409', '31.215561', '-93.973853', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14096, 'Dies', 2824, '75979', '409', '30.745356', '-94.375326', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14097, 'Emilee', 2824, '75979', '409', '30.745356', '-94.375326', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14098, 'Pedigo', 2824, '75979', '409', '30.745356', '-94.375326', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14099, 'Town Bluff', 2824, '75979', '409', '30.745356', '-94.375326', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14100, 'Woodville', 2824, '75979', '409', '30.745356', '-94.375326', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14101, 'Arlington', 2824, '76011', '817', '32.756123', '-97.07696', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14102, 'Arlington', 2824, '76018', '817', '32.660994', '-97.085882', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14103, 'Glen Rose', 2824, '76043', '254', '32.202071', '-97.774111', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14104, 'Nemo', 2824, '76070', '254', '32.247364', '-97.641111', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14105, 'Fort Worth', 2824, '76102', '817', '32.758642', '-97.33258', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14106, 'Ft Worth', 2824, '76102', '817', '32.758642', '-97.33258', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14107, 'Fort Worth', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14108, 'Ft Worth', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14109, 'N Richland Hills', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14110, 'N Richlnd Hls', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14111, 'North Richland Hills', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14112, 'Richland Hills', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14113, 'Richland Hls', 2824, '76118', '817', '32.800971', '-97.200293', '2018-11-29 04:51:28', '2018-11-29 04:51:28'),\n(14114, 'Fort Worth', 2824, '76129', '817', '32.709376', '-97.362934', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14115, 'Ft Worth', 2824, '76129', '817', '32.709376', '-97.362934', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14116, 'Texas Christian Univ', 2824, '76129', '817', '32.709376', '-97.362934', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14117, 'Fort Worth', 2824, '76136', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14118, 'Ft Worth', 2824, '76136', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14119, 'Lake Worth', 2824, '76136', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14120, 'Fort Worth', 2824, '76161', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14121, 'Ft Worth', 2824, '76161', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14122, 'Federal Aviation Administrat', 2824, '76193', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14123, 'Fort Worth', 2824, '76193', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14124, 'Ft Worth', 2824, '76193', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14125, 'Colonial Financial', 2824, '76195', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14126, 'Fort Worth', 2824, '76195', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14127, 'Ft Worth', 2824, '76195', '817', '32.7254', '-97.3208', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14128, 'Denton', 2824, '76202', '940', '33.2148', '-97.1329', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14129, 'Era', 2824, '76238', '940', '33.484959', '-97.314919', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14130, 'Sunset', 2824, '76270', '940', '33.439342', '-97.786978', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14131, 'Bluegrove', 2824, '76352', '940', '33.6736', '-98.2298', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14132, 'Goree', 2824, '76363', '940', '33.499818', '-99.534654', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14133, 'Megargel', 2824, '76370', '940', '33.446677', '-98.899109', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14134, 'Bryson', 2824, '76427', '940', '33.151326', '-98.331385', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14135, 'Carlton', 2824, '76436', '254', '31.878078', '-98.244048', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14136, 'Cross Plains', 2824, '76443', '254', '32.135034', '-99.258241', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14137, 'Lingleville', 2824, '76461', '254', '32.2445', '-98.3775', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14138, 'Bartlett', 2824, '76511', '254', '30.804948', '-97.428196', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14139, 'Laird Hill', 2824, '75666', '903', '32.3532', '-94.9055', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14140, 'Lone Star', 2824, '75668', '903', '32.930712', '-94.704941', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14141, 'Blodgett', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14142, 'Brumley', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14143, 'County Line', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14144, 'Ebenezer', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14145, 'Faker', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14146, 'Harvard', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14147, 'Lafayette', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14148, 'Matinburg', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14149, 'New Mine', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14150, 'Pine', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14151, 'Pittsburg', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14152, 'Thomas', 2824, '75686', '903', '32.984339', '-94.927519', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14153, 'Tyler', 2824, '75702', '903', '32.366831', '-95.309866', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14154, 'Athens', 2824, '75752', '903', '32.199614', '-95.814824', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14155, 'Cuney', 2824, '75759', '903', '32.041626', '-95.419904', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14156, 'Palestine', 2824, '75802', '903', '31.7617', '-95.6307', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14157, 'Crecy', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14158, 'Friday', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14159, 'Groveton', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14160, 'Helmic', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14161, 'Josserand', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14162, 'Lacy', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14163, 'Nogalus', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14164, 'Trevat', 2824, '75845', '936', '31.033032', '-95.075246', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14165, 'Tenn Colony', 2824, '75884', '903', '31.8355', '-95.8386', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14166, 'Tenn Colony Prison Coffield', 2824, '75884', '903', '31.8355', '-95.8386', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14167, 'Tennessee Colony', 2824, '75884', '903', '31.8355', '-95.8386', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14168, 'Tenn Colony', 2824, '75886', '903', '31.8355', '-95.8386', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14169, 'Tenn Colony Prison Michael', 2824, '75886', '903', '31.8355', '-95.8386', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14170, 'Tennessee Colony', 2824, '75886', '903', '31.8355', '-95.8386', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14171, 'Rices Crossing', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14172, 'Sandoval', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14173, 'Taylor', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14174, 'Waterloo', 2824, '76574', '512', '30.578886', '-97.385708', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14175, 'Avalon', 2824, '76623', '972', '32.2046', '-96.7892', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14176, 'Axtell', 2824, '76624', '254', '31.674201', '-96.959204', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14177, 'Billington', 2824, '76624', '254', '31.674201', '-96.959204', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14178, 'Elk', 2824, '76624', '254', '31.674201', '-96.959204', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14179, 'Emmett', 2824, '76641', '903', '32.033269', '-96.781411', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14180, 'Frost', 2824, '76641', '903', '32.033269', '-96.781411', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14181, 'Rogers Hill', 2824, '76691', '254', '31.780072', '-97.100544', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14182, 'Tours', 2824, '76691', '254', '31.780072', '-97.100544', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14183, 'West', 2824, '76691', '254', '31.780072', '-97.100544', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14184, 'Whitney', 2824, '76692', '254', '31.945116', '-97.336909', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14185, 'Fort Mc Kavett', 2824, '76841', '325', '30.83899', '-100.057692', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14186, 'Fort Mckavett', 2824, '76841', '325', '30.83899', '-100.057692', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14187, 'Fredonia', 2824, '76842', '325', '30.907713', '-99.139944', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14188, 'Menard', 2824, '76859', '325', '30.8697', '-99.800228', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14189, 'Zephyr', 2824, '76890', '254', '31.695388', '-98.790444', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14190, 'Mertzon', 2824, '76941', '325', '31.304674', '-100.980336', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14191, 'Sherwood', 2824, '76941', '325', '31.304674', '-100.980336', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14192, 'Ozona', 2824, '76943', '325', '30.687264', '-101.675552', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14193, 'Wall', 2824, '76957', '325', '31.353541', '-100.200731', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14194, 'Water Valley', 2824, '76958', '325', '31.645246', '-100.715956', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14195, 'Houston', 2824, '77010', '713', '29.753723', '-95.359602', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14196, 'Bunker Hill Village', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14197, 'Hedwig Village', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14198, 'Houston', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14199, 'Hunters Creek Village', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14200, 'Memorial Park', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14201, 'Piney Point', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14202, 'Piney Point Village', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14203, 'Spring Valley', 2824, '77024', '713', '29.76378', '-95.500466', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14204, 'Astrodome', 2824, '77025', '713', '29.679892', '-95.43108', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14205, 'Astroworld', 2824, '77025', '713', '29.679892', '-95.43108', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14206, 'Houston', 2824, '77025', '713', '29.679892', '-95.43108', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14207, 'Houston', 2824, '77041', '713', '29.873022', '-95.565545', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14208, 'Jersey Village', 2824, '77041', '713', '29.873022', '-95.565545', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14209, 'Jersey Vlg', 2824, '77041', '713', '29.873022', '-95.565545', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14210, 'Houston', 2824, '77044', '281', '29.905944', '-95.170264', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14211, 'Houston', 2824, '77059', '281', '29.609184', '-95.119888', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14212, 'Houston', 2824, '77076', '713', '29.860539', '-95.38333', '2018-11-29 04:51:29', '2018-11-29 04:51:29'),\n(14213, 'Houston', 2824, '77093', '713', '29.857418', '-95.338096', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14214, 'Houston', 2824, '77208', '713', '29.7632', '-95.3633', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14215, 'Ellington Field', 2824, '77209', '713', '29.6078', '-95.1646', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14216, 'Houston', 2824, '77209', '713', '29.6078', '-95.1646', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14217, 'Houston', 2824, '77227', '713', '29.7632', '-95.3633', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14218, 'Houston', 2824, '77244', '832', '29.7632', '-95.3633', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14219, 'Houston', 2824, '77259', '281', '29.7632', '-95.3633', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14220, 'Houston', 2824, '77261', '832', '29.7632', '-95.3633', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14221, 'Humble', 2824, '77325', '281', '29.9987', '-95.2618', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14222, 'Kingwood', 2824, '77325', '281', '29.9987', '-95.2618', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14223, 'Ace', 2824, '77326', '936', '30.507737', '-94.817998', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14224, 'Clark', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14225, 'Cleveland', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14226, 'Evergreen', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14227, 'Everitt', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14228, 'Midline', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14229, 'North Cleveland', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14230, 'Plum Grove', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14231, 'Rayburn', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14232, 'Security', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14233, 'Tarkington Prairie', 2824, '77327', '281', '30.297911', '-94.905053', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14234, 'Huntsville', 2824, '77344', '936', '30.7234', '-95.5508', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14235, 'Tx State Prison', 2824, '77344', '936', '30.7234', '-95.5508', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14236, 'New Waverly', 2824, '77358', '936', '30.569806', '-95.42689', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14237, 'Oakhurst', 2824, '77359', '936', '30.699338', '-95.29835', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14238, 'Spring', 2824, '77393', '281', '30.1366', '-95.4691', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14239, 'The Woodlands', 2824, '77393', '281', '30.1366', '-95.4691', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14240, 'Altair', 2824, '77412', '979', '29.591511', '-96.484514', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14241, 'Garwood', 2824, '77442', '979', '29.430788', '-96.526621', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14242, 'Hempstead', 2824, '77445', '979', '30.059349', '-96.074834', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14243, 'Monaville', 2824, '77445', '979', '30.059349', '-96.074834', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14244, 'Pine Island', 2824, '77445', '979', '30.059349', '-96.074834', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14245, 'Prairie View', 2824, '77445', '979', '30.059349', '-96.074834', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14246, 'Missouri City', 2824, '77459', '281', '29.528726', '-95.5292', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14247, 'Sienna Plant', 2824, '77459', '281', '29.528726', '-95.5292', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14248, 'Sienna Plantation', 2824, '77459', '281', '29.528726', '-95.5292', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14249, 'Nada', 2824, '77460', '979', '29.4044', '-96.3862', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14250, 'Fairchilds', 2824, '77461', '979', '29.378072', '-95.750955', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14251, 'Long Point', 2824, '77461', '979', '29.378072', '-95.750955', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14252, 'Needville', 2824, '77461', '979', '29.378072', '-95.750955', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14253, 'Katy', 2824, '77492', '281', '29.7857', '-95.8242', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14254, 'Katy', 2824, '77493', '281', '29.85739', '-95.83253', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14255, 'Park Row', 2824, '77493', '281', '29.85739', '-95.83253', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14256, 'Katy', 2824, '77494', '281', '29.740187', '-95.83018', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14257, 'Park Row', 2824, '77494', '281', '29.740187', '-95.83018', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14258, 'Hardin', 2824, '77561', '936', '30.17006', '-94.719066', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14259, 'Buna', 2824, '77612', '409', '30.418444', '-94.000978', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14260, 'Nederland', 2824, '77627', '409', '29.98851', '-94.003021', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14261, 'Port Arthur', 2824, '77643', '409', '29.8993', '-93.9296', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14262, 'Spurger', 2824, '77660', '409', '30.656999', '-94.145508', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14263, 'Beaumont', 2824, '77709', '409', '30.0859', '-94.1014', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14264, 'Beaumont', 2824, '77726', '409', '30.0859', '-94.1014', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14265, 'Fannin', 2824, '77960', '361', '28.661432', '-97.249102', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14266, 'Francitas', 2824, '77961', '361', '28.865214', '-96.361781', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14267, 'Ander', 2824, '77963', '361', '28.657078', '-97.466124', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14268, 'Charco', 2824, '77963', '361', '28.657078', '-97.466124', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14269, 'Goliad', 2824, '77963', '361', '28.657078', '-97.466124', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14270, 'Sarco', 2824, '77963', '361', '28.657078', '-97.466124', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14271, 'Schroeder', 2824, '77963', '361', '28.657078', '-97.466124', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14272, 'Weser', 2824, '77963', '361', '28.657078', '-97.466124', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14273, 'South Elm', 2824, '76518', '254', '30.87989', '-97.131378', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14274, 'Val Verde', 2824, '76518', '254', '30.87989', '-97.131378', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14275, 'Yarrelton', 2824, '76518', '254', '30.87989', '-97.131378', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14276, 'Harker Heights', 2824, '76548', '254', '31.05346', '-97.639733', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14277, 'Harker Hts', 2824, '76548', '254', '31.05346', '-97.639733', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14278, 'Killeen', 2824, '76548', '254', '31.05346', '-97.639733', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14279, 'Killeen', 2824, '76549', '254', '31.042389', '-97.821288', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14280, 'Lake Victor', 2824, '76550', '512', '31.21292', '-98.235033', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14281, 'Lampasas', 2824, '76550', '512', '31.21292', '-98.235033', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14282, 'Naruna', 2824, '76550', '512', '31.21292', '-98.235033', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14283, 'Nix', 2824, '76550', '512', '31.21292', '-98.235033', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14284, 'Watson', 2824, '76550', '512', '31.21292', '-98.235033', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14285, 'Pendleton', 2824, '76564', '254', '31.1908', '-97.3495', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14286, 'Purmela', 2824, '76566', '254', '31.489601', '-97.979943', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14287, 'Univ Tx At Arlington', 2824, '76019', '817', '32.728466', '-97.116697', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14288, 'Cresson', 2824, '76035', '817', '32.557422', '-97.645443', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14289, 'Hurst', 2824, '76053', '817', '32.805899', '-97.173304', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14290, 'Aurora', 2824, '76078', '817', '33.100303', '-97.477384', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14291, 'Rhome', 2824, '76078', '817', '33.100303', '-97.477384', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14292, 'Brock', 2824, '76087', '817', '32.673162', '-97.819029', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14293, 'Hudson Oaks', 2824, '76087', '817', '32.673162', '-97.819029', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14294, 'Weatherford', 2824, '76087', '817', '32.673162', '-97.819029', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14295, 'Willow Park', 2824, '76087', '817', '32.673162', '-97.819029', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14296, 'Fort Worth', 2824, '76103', '817', '32.755673', '-97.27302', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14297, 'Ft Worth', 2824, '76103', '817', '32.755673', '-97.27302', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14298, 'Fort Worth', 2824, '76112', '817', '32.750268', '-97.217042', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14299, 'Ft Worth', 2824, '76112', '817', '32.750268', '-97.217042', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14300, 'Fort Worth', 2824, '76117', '817', '32.802801', '-97.260951', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14301, 'Ft Worth', 2824, '76117', '817', '32.802801', '-97.260951', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14302, 'Haltom City', 2824, '76117', '817', '32.802801', '-97.260951', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14303, 'N Richland Hills', 2824, '76117', '817', '32.802801', '-97.260951', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14304, 'N Richlnd Hls', 2824, '76117', '817', '32.802801', '-97.260951', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14305, 'North Richland Hills', 2824, '76117', '817', '32.802801', '-97.260951', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14306, 'Fort Worth', 2824, '76121', '817', '32.7254', '-97.3208', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14307, 'Ft Worth', 2824, '76121', '817', '32.7254', '-97.3208', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14308, 'Benbrook', 2824, '76126', '817', '32.640017', '-97.544762', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14309, 'Fort Worth', 2824, '76126', '817', '32.640017', '-97.544762', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14310, 'Ft Worth', 2824, '76126', '817', '32.640017', '-97.544762', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14311, 'Fort Worth', 2824, '76135', '817', '32.832536', '-97.468908', '2018-11-29 04:51:30', '2018-11-29 04:51:30'),\n(14312, 'Ft Worth', 2824, '76135', '817', '32.832536', '-97.468908', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14313, 'Lake Worth', 2824, '76135', '817', '32.832536', '-97.468908', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14314, 'Lakeside', 2824, '76135', '817', '32.832536', '-97.468908', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14315, 'Fort Worth', 2824, '76185', '817', '32.7254', '-97.3208', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14316, 'Ft Worth', 2824, '76185', '817', '32.7254', '-97.3208', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14317, 'Denton', 2824, '76203', '817', '33.2148', '-97.1329', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14318, 'Myra', 2824, '76253', '940', '33.622316', '-97.315868', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14319, 'Tioga', 2824, '76271', '940', '33.471349', '-96.89224', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14320, 'Wichita Falls', 2824, '76301', '940', '33.901419', '-98.482165', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14321, 'Wichita Falls', 2824, '76310', '940', '33.787699', '-98.532212', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14322, 'Electra', 2824, '76360', '940', '34.021462', '-99.020506', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14323, 'Red Springs', 2824, '76380', '940', '33.61971', '-99.735041', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14324, 'Seymour', 2824, '76380', '940', '33.61971', '-99.735041', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14325, 'Vera', 2824, '76380', '940', '33.61971', '-99.735041', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14326, 'Carbon', 2824, '76435', '254', '32.222572', '-98.832722', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14327, 'Cisco', 2824, '76437', '254', '32.363164', '-99.041356', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14328, 'Gustine', 2824, '76455', '325', '31.829612', '-98.371464', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14329, 'Loving', 2824, '76460', '940', '33.290768', '-98.478621', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14330, 'Rising Star', 2824, '76471', '254', '32.141268', '-98.972102', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14331, 'Texarkana', 2824, '75599', '903', '33.444177', '-94.07748', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14332, 'Texarkana Community College', 2824, '75599', '903', '33.444177', '-94.07748', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14333, 'Lakeport', 2824, '75603', '903', '32.406999', '-94.684857', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14334, 'Longview', 2824, '75603', '903', '32.406999', '-94.684857', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14335, 'Longview', 2824, '75608', '903', '32.5006', '-94.7405', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14336, 'Joinerville', 2824, '75658', '903', '32.1779', '-94.9009', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14337, 'Ore City', 2824, '75683', '903', '32.808738', '-94.72919', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14338, 'Waskom', 2824, '75692', '903', '32.464574', '-94.144408', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14339, 'Woodlawn', 2824, '75694', '903', '32.6684', '-94.3456', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14340, 'Oak Grove', 2824, '75783', '903', '32.793908', '-95.426083', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14341, 'Quitman', 2824, '75783', '903', '32.793908', '-95.426083', '2018-11-29 04:51:31', '2018-11-29 04:51:31');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(14342, 'Rock Hill', 2824, '75783', '903', '32.793908', '-95.426083', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14343, 'Stormville', 2824, '75783', '903', '32.793908', '-95.426083', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14344, 'Starrville', 2824, '75792', '903', '32.474911', '-95.10697', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14345, 'Waters Bluff', 2824, '75792', '903', '32.474911', '-95.10697', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14346, 'Winona', 2824, '75792', '903', '32.474911', '-95.10697', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14347, 'Elmwood', 2824, '75801', '903', '31.771568', '-95.583894', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14348, 'Palestine', 2824, '75801', '903', '31.771568', '-95.583894', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14349, 'Belott', 2824, '75835', '936', '31.253297', '-95.493973', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14350, 'Crockett', 2824, '75835', '936', '31.253297', '-95.493973', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14351, 'Cut', 2824, '75835', '936', '31.253297', '-95.493973', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14352, 'Hopewell', 2824, '75835', '936', '31.253297', '-95.493973', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14353, 'Mapleton', 2824, '75835', '936', '31.253297', '-95.493973', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14354, 'Porter Springs', 2824, '75835', '936', '31.253297', '-95.493973', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14355, 'Blackfoot', 2824, '75853', '903', '31.945942', '-95.770865', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14356, 'Bradford', 2824, '75853', '903', '31.945942', '-95.770865', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14357, 'Montalba', 2824, '75853', '903', '31.945942', '-95.770865', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14358, 'Springfield', 2824, '75853', '903', '31.945942', '-95.770865', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14359, 'Lufkin', 2824, '75901', '936', '31.267118', '-94.638488', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14360, 'Beech Grove', 2824, '75951', '409', '30.935458', '-94.163064', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14361, 'Curtis', 2824, '75951', '409', '30.935458', '-94.163064', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14362, 'Erin', 2824, '75951', '409', '30.935458', '-94.163064', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14363, 'Harrisburg', 2824, '75951', '409', '30.935458', '-94.163064', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14364, 'Holly Springs', 2824, '75951', '409', '30.935458', '-94.163064', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14365, 'Jasper', 2824, '75951', '409', '30.935458', '-94.163064', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14366, 'Woden', 2824, '75978', '936', '31.503631', '-94.525286', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14367, 'Arlington', 2824, '76003', '817', '32.7356', '-97.1075', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14368, 'Arlington', 2824, '76017', '817', '32.661982', '-97.169198', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14369, 'Arlington', 2824, '76019', '817', '32.728466', '-97.116697', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14370, 'Univ Of Texas At Arlington', 2824, '76019', '817', '32.728466', '-97.116697', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14371, 'Davilla', 2824, '76523', '254', '30.781196', '-97.16504', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14372, 'Bee House', 2824, '76525', '254', '31.485679', '-98.1573', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14373, 'Evant', 2824, '76525', '254', '31.485679', '-98.1573', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14374, 'Killeen', 2824, '76542', '254', '30.999672', '-97.779448', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14375, 'Altonah', 2825, '84002', '435', '40.46736', '-110.450724', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14376, 'Alpine', 2825, '84004', '801', '40.507525', '-111.699774', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14377, 'Laketown', 2825, '84038', '435', '41.839191', '-111.254102', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14378, 'Meadowville', 2825, '84038', '435', '41.839191', '-111.254102', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14379, 'Round Valley', 2825, '84038', '435', '41.839191', '-111.254102', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14380, 'Oakley', 2825, '84055', '435', '40.845441', '-111.123396', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14381, 'Tabiona', 2825, '84072', '435', '40.395846', '-110.693771', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14382, 'Woodruff', 2825, '84086', '435', '41.370335', '-111.278374', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14383, 'W Jordan', 2825, '84088', '801', '40.584538', '-111.999588', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14384, 'West Jordan', 2825, '84088', '801', '40.584538', '-111.999588', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14385, 'Salt Lake City', 2825, '84103', '801', '40.786378', '-111.868935', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14386, 'Salt Lake Cty', 2825, '84103', '801', '40.786378', '-111.868935', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14387, 'Slc', 2825, '84103', '801', '40.786378', '-111.868935', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14388, 'Salt Lake City', 2825, '84122', '801', '40.7606', '-111.8903', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14389, 'Salt Lake Cty', 2825, '84122', '801', '40.7606', '-111.8903', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14390, 'Slc', 2825, '84122', '801', '40.7606', '-111.8903', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14391, 'Salt Lake City', 2825, '84152', '801', '40.7165', '-111.6864', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14392, 'Salt Lake Cty', 2825, '84152', '801', '40.7165', '-111.6864', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14393, 'Slc', 2825, '84152', '801', '40.7165', '-111.6864', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14394, 'Salt Lake City', 2825, '84170', '801', '40.7606', '-111.8903', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14395, 'Salt Lake Cty', 2825, '84170', '801', '40.7606', '-111.8903', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14396, 'Lake Point', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14397, 'Lincoln', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14398, 'Pine Canyon', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14399, 'Stansbury Park', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14400, 'Stansbury Pk', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14401, 'Tooele', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14402, 'Tooele Army Depot', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14403, 'Sandy', 2825, '84090', '801', '40.5885', '-111.8805', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14404, 'Alta', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14405, 'Belmont Heights', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14406, 'Crescent', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14407, 'Granite', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:31', '2018-11-29 04:51:31'),\n(14408, 'Sandy', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14409, 'Sherwood Park', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14410, 'Snowbird', 2825, '84092', '801', '40.561975', '-111.80173', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14411, 'Salt Lake City', 2825, '84101', '801', '40.756587', '-111.901214', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14412, 'Salt Lake Cty', 2825, '84101', '801', '40.756587', '-111.901214', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14413, 'Slc', 2825, '84101', '801', '40.756587', '-111.901214', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14414, 'Millcreek', 2825, '84106', '801', '40.706464', '-111.855032', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14415, 'S Salt Lake', 2825, '84106', '801', '40.706464', '-111.855032', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14416, 'Salt Lake City', 2825, '84106', '801', '40.706464', '-111.855032', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14417, 'Salt Lake Cty', 2825, '84106', '801', '40.706464', '-111.855032', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14418, 'Slc', 2825, '84106', '801', '40.706464', '-111.855032', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14419, 'South Salt Lake', 2825, '84106', '801', '40.706464', '-111.855032', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14420, 'Salt Lake City', 2825, '84126', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14421, 'Salt Lake Cty', 2825, '84126', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14422, 'Slc', 2825, '84126', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14423, 'Salt Lake City', 2825, '84190', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14424, 'Salt Lake County Complex', 2825, '84190', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14425, 'Salt Lake Cty', 2825, '84190', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14426, 'Slc', 2825, '84190', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14427, 'Hooper', 2825, '84315', '801', '41.189098', '-112.160015', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14428, 'Kanesville', 2825, '84315', '801', '41.189098', '-112.160015', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14429, 'Mantua', 2825, '84324', '435', '41.482854', '-111.946751', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14430, 'Millville', 2825, '84326', '435', '41.68365', '-111.824796', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14431, 'Richmond', 2825, '84333', '435', '41.916948', '-111.828731', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14432, 'Ogden', 2825, '84415', '801', '41.3065', '-111.9744', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14433, 'Carbonville', 2825, '84501', '435', '39.570001', '-110.878313', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14434, 'Price', 2825, '84501', '435', '39.570001', '-110.878313', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14435, 'Cisco', 2825, '84515', '435', '38.9702', '-109.3203', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14436, 'Monticello', 2825, '84535', '435', '37.929867', '-109.54277', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14437, 'Delta', 2825, '84624', '435', '39.349264', '-112.668326', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14438, 'Deseret', 2825, '84624', '435', '39.349264', '-112.668326', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14439, 'Oasis', 2825, '84624', '435', '39.349264', '-112.668326', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14440, 'Sugarville', 2825, '84624', '435', '39.349264', '-112.668326', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14441, 'Sutherland', 2825, '84624', '435', '39.349264', '-112.668326', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14442, 'Woodrow', 2825, '84624', '435', '39.349264', '-112.668326', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14443, 'Abraham', 2825, '84635', '435', '39.361412', '-112.775172', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14444, 'Hinckley', 2825, '84635', '435', '39.361412', '-112.775172', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14445, 'Topaz', 2825, '84635', '435', '39.361412', '-112.775172', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14446, 'Meadow', 2825, '84644', '435', '38.8855', '-112.4098', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14447, 'Elk Ridge', 2825, '84651', '801', '40.023902', '-111.712071', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14448, 'Payson', 2825, '84651', '801', '40.023902', '-111.712071', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14449, 'Spring Lake', 2825, '84651', '801', '40.023902', '-111.712071', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14450, 'Alton', 2825, '84710', '435', '37.45629', '-112.648416', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14451, 'Brian Head', 2825, '84719', '435', '37.650079', '-112.828418', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14452, 'Hatch', 2825, '84735', '435', '37.613443', '-112.546666', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14453, 'Burrville', 2825, '84744', '435', '38.511349', '-111.874162', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14454, 'Fish Lake', 2825, '84744', '435', '38.511349', '-111.874162', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14455, 'Koosharem', 2825, '84744', '435', '38.511349', '-111.874162', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14456, 'Lyman', 2825, '84749', '435', '38.376548', '-111.602122', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14457, 'Burbank', 2825, '84751', '435', '38.36233', '-113.39183', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14458, 'Milford', 2825, '84751', '435', '38.36233', '-113.39183', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14459, 'Springdale', 2825, '84767', '435', '37.1888', '-113.0001', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14460, 'Zion National Park', 2825, '84767', '435', '37.1888', '-113.0001', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14461, 'Zion Ntl Park', 2825, '84767', '435', '37.1888', '-113.0001', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14462, 'Tropic', 2825, '84776', '435', '37.697366', '-112.037039', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14463, 'Hanna', 2825, '84031', '435', '40.442', '-110.813278', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14464, 'Henefer', 2825, '84033', '435', '41.033499', '-111.507096', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14465, 'East Layton', 2825, '84040', '801', '41.076106', '-111.892207', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14466, 'Layton', 2825, '84040', '801', '41.076106', '-111.892207', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14467, 'Cottonwd Hgts', 2825, '84047', '801', '40.61283', '-111.884763', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14468, 'Cottonwood Heights', 2825, '84047', '801', '40.61283', '-111.884763', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14469, 'Cushing', 2825, '84047', '801', '40.61283', '-111.884763', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14470, 'Midvale', 2825, '84047', '801', '40.61283', '-111.884763', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14471, 'Union', 2825, '84047', '801', '40.61283', '-111.884763', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14472, 'Mountain Home', 2825, '84051', '435', '40.229246', '-110.69694', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14473, 'Bluffdale', 2825, '84065', '801', '40.477432', '-111.972526', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14474, 'Camp Williams', 2825, '84065', '801', '40.477432', '-111.972526', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14475, 'Herriman', 2825, '84065', '801', '40.477432', '-111.972526', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14476, 'Riverton', 2825, '84065', '801', '40.477432', '-111.972526', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14477, 'Roy', 2825, '84067', '801', '41.178835', '-112.041025', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14478, 'Erda', 2825, '84074', '435', '40.572024', '-112.408482', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14479, 'Slc', 2825, '84170', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14480, 'W Valley City', 2825, '84170', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14481, 'West Valley', 2825, '84170', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14482, 'Key Bank', 2825, '84189', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14483, 'Salt Lake City', 2825, '84189', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14484, 'Salt Lake Cty', 2825, '84189', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14485, 'Slc', 2825, '84189', '801', '40.7606', '-111.8903', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14486, 'Cache Jct', 2825, '84304', '435', '41.820316', '-111.998222', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14487, 'Cache Junction', 2825, '84304', '435', '41.820316', '-111.998222', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14488, 'Hyrum', 2825, '84319', '435', '41.613478', '-111.844045', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14489, 'Logan', 2825, '84321', '435', '41.684168', '-111.679568', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14490, 'Nibley', 2825, '84321', '435', '41.684168', '-111.679568', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14491, 'River Heights', 2825, '84321', '435', '41.684168', '-111.679568', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14492, 'Trenton', 2825, '84338', '435', '41.92381', '-111.934451', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14493, 'College Ward', 2825, '84339', '435', '41.617031', '-111.923262', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14494, 'Wellsville', 2825, '84339', '435', '41.617031', '-111.923262', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14495, 'Young Ward', 2825, '84339', '435', '41.617031', '-111.923262', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14496, 'Monument Valley', 2825, '84536', '435', '37.151454', '-110.767957', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14497, 'Monument Vly', 2825, '84536', '435', '37.151454', '-110.767957', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14498, 'Green River', 2825, '84540', '435', '38.999868', '-109.61501', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14499, 'Thompson', 2825, '84540', '435', '38.999868', '-109.61501', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14500, 'Thompson Springs', 2825, '84540', '435', '38.999868', '-109.61501', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14501, 'Provo', 2825, '84603', '801', '40.2337', '-111.6579', '2018-11-29 04:51:32', '2018-11-29 04:51:32'),\n(14502, 'Provo', 2825, '84604', '801', '40.345361', '-111.579963', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14503, 'Provo Canyon', 2825, '84604', '801', '40.345361', '-111.579963', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14504, 'Sundance', 2825, '84604', '801', '40.345361', '-111.579963', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14505, 'Axtell', 2825, '84621', '435', '39.083157', '-111.902873', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14506, 'Kanosh', 2825, '84637', '435', '38.844925', '-112.674236', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14507, 'Levan', 2825, '84639', '801', '39.479452', '-111.965849', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14508, 'Salem', 2825, '84653', '801', '40.026188', '-111.644234', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14509, 'Woodland Hills', 2825, '84653', '801', '40.026188', '-111.644234', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14510, 'Woodland Hls', 2825, '84653', '801', '40.026188', '-111.644234', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14511, 'Genola', 2825, '84655', '801', '39.977324', '-111.638816', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14512, 'Santaquin', 2825, '84655', '801', '39.977324', '-111.638816', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14513, 'Junction', 2825, '84740', '435', '38.234458', '-112.269475', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14514, 'Austin', 2825, '84754', '435', '38.629442', '-112.089864', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14515, 'Central Valley', 2825, '84754', '435', '38.629442', '-112.089864', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14516, 'Central Vly', 2825, '84754', '435', '38.629442', '-112.089864', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14517, 'Monroe', 2825, '84754', '435', '38.629442', '-112.089864', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14518, 'Saint George', 2825, '84771', '435', '37.1052', '-113.5767', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14519, 'St George', 2825, '84771', '435', '37.1052', '-113.5767', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14520, 'Grover', 2825, '84773', '435', '38.244524', '-111.431819', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14521, 'Teasdale', 2825, '84773', '435', '38.244524', '-111.431819', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14522, 'Washington', 2825, '84780', '435', '37.154411', '-113.469158', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14523, 'Salt Lake Cty', 2825, '84129', '801', '40.640188', '-112.036911', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14524, 'Taylorsville', 2825, '84129', '801', '40.640188', '-112.036911', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14525, 'Salt Lake City', 2825, '84130', '801', '40.7606', '-111.8903', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14526, 'Salt Lake Cty', 2825, '84130', '801', '40.7606', '-111.8903', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14527, 'Slc', 2825, '84130', '801', '40.7606', '-111.8903', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14528, 'Crystal Springs', 2825, '84314', '435', '41.624804', '-112.103154', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14529, 'Honeyville', 2825, '84314', '435', '41.624804', '-112.103154', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14530, 'Madsen', 2825, '84314', '435', '41.624804', '-112.103154', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14531, 'Newton', 2825, '84327', '435', '41.87903', '-111.997735', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14532, 'Portage', 2825, '84331', '435', '41.943533', '-112.168834', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14533, 'Washakie', 2825, '84331', '435', '41.943533', '-112.168834', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14534, 'Harrisville', 2825, '84414', '801', '41.317268', '-111.961968', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14535, 'North Ogden', 2825, '84414', '801', '41.317268', '-111.961968', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14536, 'Ogden', 2825, '84414', '801', '41.317268', '-111.961968', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14537, 'Pleasant View', 2825, '84414', '801', '41.317268', '-111.961968', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14538, 'Blanding', 2825, '84511', '435', '37.719716', '-109.792022', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14539, 'White Mesa', 2825, '84511', '435', '37.719716', '-109.792022', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14540, 'Castle Dale', 2825, '84513', '435', '39.223241', '-110.953587', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14541, 'Huntington', 2825, '84528', '435', '39.391548', '-110.819876', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14542, 'Lawrence', 2825, '84528', '435', '39.391548', '-110.819876', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14543, 'La Sal', 2825, '84530', '435', '38.236622', '-109.172568', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14544, 'Fayette', 2825, '84630', '435', '39.308535', '-111.829771', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14545, 'Fillmore', 2825, '84631', '435', '38.95029', '-112.601032', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14546, 'Flowell', 2825, '84631', '435', '38.95029', '-112.601032', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14547, 'Sterling', 2825, '84665', '435', '39.1937', '-111.6919', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14548, 'Beaver', 2825, '84713', '435', '38.360606', '-112.564663', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14549, 'Cove Fort', 2825, '84713', '435', '38.360606', '-112.564663', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14550, 'Manderfield', 2825, '84713', '435', '38.360606', '-112.564663', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14551, 'North Creek', 2825, '84713', '435', '38.360606', '-112.564663', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14552, 'Bicknell', 2825, '84715', '435', '38.33123', '-111.552336', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14553, 'Glenwood', 2825, '84730', '435', '38.756339', '-111.98749', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14554, 'Adamsville', 2825, '84731', '435', '38.279344', '-112.723656', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14555, 'Greenville', 2825, '84731', '435', '38.279344', '-112.723656', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14556, 'Leeds', 2825, '84746', '435', '37.2576', '-113.3497', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14557, 'Duck Creek Village', 2825, '84762', '435', '37.429965', '-112.731956', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14558, 'Duck Crk Vlg', 2825, '84762', '435', '37.429965', '-112.731956', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14559, 'Bryce', 2825, '84764', '435', '37.630906', '-112.208664', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14560, 'Bryce Canyon', 2825, '84764', '435', '37.630906', '-112.208664', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14561, 'Bryce Canyon City', 2825, '84764', '435', '37.630906', '-112.208664', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14562, 'Bryce Cyn Cty', 2825, '84764', '435', '37.630906', '-112.208664', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14563, 'Santa Clara', 2825, '84765', '435', '37.134439', '-113.649133', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14564, 'Springdale', 2825, '84779', '435', '37.30794', '-113.07943', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14565, 'Virgin', 2825, '84779', '435', '37.30794', '-113.07943', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14566, 'Fairfax', 2826, '22030', '703', '38.837256', '-77.342008', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14567, 'Fairfax', 2826, '22036', '703', '38.8021', '-77.4302', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14568, 'Fairfax', 2826, '22035', '703', '38.8444', '-77.3086', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14569, 'Fairfax County Government', 2826, '22035', '703', '38.8444', '-77.3086', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14570, 'Middleburg', 2826, '20117', '540', '38.995029', '-77.736967', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14571, 'Round Hill', 2826, '20142', '540', '39.1382', '-77.7728', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14572, 'Herndon', 2826, '20190', '703', '38.960974', '-77.342467', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14573, 'Reston', 2826, '20190', '703', '38.960974', '-77.342467', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14574, 'Manassas', 2826, '20108', '703', '38.7657', '-77.4852', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14575, 'Chantilly', 2826, '20151', '703', '38.886153', '-77.450992', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14576, 'Fairfax', 2826, '20151', '703', '38.886153', '-77.450992', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14577, 'Sterling', 2826, '20167', '703', '39.0062', '-77.4288', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14578, 'Lansdowne', 2826, '20176', '703', '39.160038', '-77.521852', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14579, 'Leesburg', 2826, '20176', '703', '39.160038', '-77.521852', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14580, 'Lucketts', 2826, '20176', '703', '39.160038', '-77.521852', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14581, 'Dulles', 2826, '20102', '703', '38.954867', '-77.450515', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14582, 'Dulles Air Transfer Office', 2826, '20102', '703', '38.954867', '-77.450515', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14583, 'Dulles', 2826, '20103', '540', '39.3214', '-77.5365', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14584, 'Stamp Distribution Network', 2826, '20103', '540', '39.3214', '-77.5365', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14585, 'Manassas Park', 2826, '20113', '703', '38.7325', '-77.446', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14586, 'Paris', 2826, '20130', '540', '39.030554', '-77.936754', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14587, 'Alexandria', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14588, 'Arlington', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14589, 'Chantilly', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14590, 'Dept Hs', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14591, 'Dhs', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14592, 'Fairfax', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14593, 'Falls Church', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14594, 'Herndon', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14595, 'Lorton', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14596, 'Mc Lean', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14597, 'Mclean', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14598, 'Reston', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14599, 'Springfield', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:33', '2018-11-29 04:51:33'),\n(14600, 'Sterling', 2826, '20598', '703', '0', '0', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14601, 'Aldie', 2826, '20105', '703', '38.960832', '-77.60435', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14602, 'Stone Ridge', 2826, '20105', '703', '38.960832', '-77.60435', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14603, 'Chantilly', 2826, '20152', '703', '38.892217', '-77.509827', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14604, 'Fairfax', 2826, '20152', '703', '38.892217', '-77.509827', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14605, 'South Riding', 2826, '20152', '703', '38.892217', '-77.509827', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14606, 'Chantilly', 2826, '20153', '703', '38.8188', '-77.292', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14607, 'Fairfax', 2826, '20153', '703', '38.8188', '-77.292', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14608, 'Haymarket', 2826, '20169', '703', '38.869358', '-77.639786', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14609, 'Herndon', 2826, '20170', '703', '38.983721', '-77.382758', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14610, 'Airlie', 2826, '20186', '540', '38.705946', '-77.849508', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14611, 'Opal', 2826, '20186', '540', '38.705946', '-77.849508', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14612, 'Warrenton', 2826, '20186', '540', '38.705946', '-77.849508', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14613, 'Middleburg', 2826, '20118', '540', '38.949009', '-77.758704', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14614, 'Catlett', 2826, '20119', '540', '38.626106', '-77.625141', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14615, 'Bluemont', 2826, '20135', '540', '39.090631', '-77.888766', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14616, 'Mount Weather', 2826, '20135', '540', '39.090631', '-77.888766', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14617, 'Bristow', 2826, '20136', '703', '38.736614', '-77.546642', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14618, 'Calverton', 2826, '20138', '540', '38.627641', '-77.666572', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14619, 'Manassas', 2826, '20111', '703', '38.753198', '-77.429954', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14620, 'Manassas Park', 2826, '20111', '703', '38.753198', '-77.429954', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14621, 'Manassas', 2826, '20113', '703', '38.7325', '-77.446', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14622, 'Lincoln', 2826, '20160', '540', '39.1153', '-77.6916', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14623, 'Purcellville', 2826, '20160', '540', '39.1153', '-77.6916', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14624, 'Leesburg', 2826, '20177', '703', '39.1169', '-77.5564', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14625, 'Leesburg', 2826, '20178', '703', '39.1169', '-77.5564', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14626, 'Charlotte Ama', 2827, '00802', '340', '18.3436', '-64.9322', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14627, 'Charlotte Amalie', 2827, '00802', '340', '18.3436', '-64.9322', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14628, 'St Thomas', 2827, '00802', '340', '18.3436', '-64.9322', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14629, 'Christiansted', 2827, '00820', '340', '17.745384', '-64.703369', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14630, 'St Croix', 2827, '00820', '340', '17.745384', '-64.703369', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14631, 'Granton', 2830, '54436', '715', '44.552974', '-90.416666', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14632, 'Lynn', 2830, '54436', '715', '44.552974', '-90.416666', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14633, 'York', 2830, '54436', '715', '44.552974', '-90.416666', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14634, 'Carson', 2830, '54443', '715', '44.600198', '-89.749816', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14635, 'Eau Pleine', 2830, '54443', '715', '44.600198', '-89.749816', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14636, 'Brill', 2830, '54818', '715', '45.6026', '-91.6718', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14637, 'Brule', 2830, '54820', '715', '46.572969', '-91.54726', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14638, 'Cornucopia', 2830, '54827', '715', '46.800425', '-91.098272', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14639, 'Cumberland', 2830, '54829', '715', '45.546305', '-92.07994', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14640, 'Edgewater', 2830, '54834', '715', '45.742332', '-91.47656', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14641, 'Maple', 2830, '54854', '715', '46.645554', '-91.662828', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14642, 'Lohrville', 2830, '54970', '920', '44.065826', '-89.077596', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14643, 'Redgranite', 2830, '54970', '920', '44.065826', '-89.077596', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14644, 'Winneconne', 2830, '54986', '920', '44.125484', '-88.765313', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14645, 'Holcombe', 2830, '54745', '715', '45.270546', '-91.140763', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14646, 'Lake Holcombe', 2830, '54745', '715', '45.270546', '-91.140763', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14647, 'Minong', 2830, '54859', '715', '46.134244', '-91.800643', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14648, 'Canton', 2830, '54868', '715', '45.514166', '-91.705027', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14649, 'Rice Lake', 2830, '54868', '715', '45.514166', '-91.705027', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14650, 'Oshkosh', 2830, '54902', '920', '43.966724', '-88.493412', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14651, 'Oshkosh', 2830, '54904', '920', '44.0289', '-88.62905', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14652, 'Camp Douglas', 2830, '54618', '608', '43.96621', '-90.298071', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14653, 'Cutler', 2830, '54618', '608', '43.96621', '-90.298071', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14654, 'Cataract', 2830, '54620', '608', '44.0878', '-90.8424', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14655, 'Dodge', 2830, '54625', '608', '44.127584', '-91.51546', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14656, 'Holmen', 2830, '54636', '608', '44.006996', '-91.26841', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14657, 'Millston', 2830, '54643', '715', '44.1933', '-90.6477', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14658, 'Mount Sterling', 2830, '54645', '608', '43.314633', '-90.929126', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14659, 'Mt Sterling', 2830, '54645', '608', '43.314633', '-90.929126', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14660, 'Pepin', 2830, '54759', '715', '44.488231', '-92.123321', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14661, 'Iron Belt', 2830, '54536', '715', '46.337802', '-90.347343', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14662, 'Eau Claire', 2830, '54702', '715', '44.8115', '-91.4986', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14663, 'Hunting', 2830, '54486', '715', '44.715796', '-89.054983', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14664, 'Morris', 2830, '54486', '715', '44.715796', '-89.054983', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14665, 'Split Rock', 2830, '54486', '715', '44.715796', '-89.054983', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14666, 'Tigerton', 2830, '54486', '715', '44.715796', '-89.054983', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14667, 'Whitcomb', 2830, '54486', '715', '44.715796', '-89.054983', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14668, 'Arbor Vitae', 2830, '54568', '715', '45.95527', '-89.695066', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14669, 'Woodruff', 2830, '54568', '715', '45.95527', '-89.695066', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14670, 'La Crosse', 2830, '54602', '608', '43.8014', '-91.2395', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14671, 'Lacrosse', 2830, '54602', '608', '43.8014', '-91.2395', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14672, 'Bte Des Morts', 2830, '54927', '920', '44.101556', '-88.657153', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14673, 'Butte Des Morts', 2830, '54927', '920', '44.101556', '-88.657153', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14674, 'Fond Du Lac', 2830, '54936', '920', '43.7734', '-88.4469', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14675, 'North Freedom', 2830, '53951', '608', '43.397411', '-89.880754', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14676, 'Abrams', 2830, '54101', '920', '44.786121', '-88.06642', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14677, 'Waunakee', 2830, '53597', '608', '43.184638', '-89.471552', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14678, 'Westport', 2830, '53597', '608', '43.184638', '-89.471552', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14679, 'Woodford', 2830, '53599', '608', '42.6489', '-89.8626', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14680, 'Madison', 2830, '53701', '608', '43.0733', '-89.4012', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14681, 'Madison', 2830, '53774', '608', '43.0733', '-89.4012', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14682, 'Wi Lottery', 2830, '53774', '608', '43.0733', '-89.4012', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14683, 'Racine', 2830, '53408', '262', '42.7263', '-87.7829', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14684, 'Belleville', 2830, '53508', '608', '42.861314', '-89.593109', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14685, 'Deerfield', 2830, '53531', '608', '43.061436', '-89.088866', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14686, 'Dodgeville', 2830, '53533', '608', '42.994811', '-90.148355', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14687, 'Hanover', 2830, '53542', '608', '42.6388', '-89.1619', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14688, 'Newton', 2830, '53063', '920', '43.968006', '-87.791178', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14689, 'Oakfield', 2830, '53065', '920', '43.683334', '-88.561651', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14690, 'Port Washington', 2830, '53074', '262', '43.41929', '-87.864838', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14691, 'Vernon', 2830, '53188', '262', '43.028244', '-88.29505', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14692, 'Waukesha', 2830, '53188', '262', '43.028244', '-88.29505', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14693, 'Whitewater', 2830, '53190', '262', '42.805249', '-88.699958', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14694, 'Milwaukee', 2830, '53215', '414', '43.00359', '-87.943328', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14695, 'W Milwaukee', 2830, '53215', '414', '43.00359', '-87.943328', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14696, 'West Milwaukee', 2830, '53215', '414', '43.00359', '-87.943328', '2018-11-29 04:51:34', '2018-11-29 04:51:34'),\n(14697, 'Milwaukee', 2830, '53224', '414', '43.163037', '-88.03772', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14698, 'Hatley', 2830, '54440', '715', '44.815888', '-89.377636', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14699, 'Ashley', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14700, 'Dancy', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14701, 'Halder', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14702, 'Knowlton', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14703, 'Kronenwetter', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14704, 'Moon', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14705, 'Clearwater Lake', 2830, '54521', '715', '45.951385', '-89.260063', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14706, 'Clearwater Lk', 2830, '54521', '715', '45.951385', '-89.260063', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14707, 'Cloverland', 2830, '54521', '715', '45.951385', '-89.260063', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14708, 'Manitowoc', 2830, '54220', '920', '44.108541', '-87.722838', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14709, 'Green Bay', 2830, '54303', '920', '44.542972', '-88.055814', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14710, 'Howard', 2830, '54303', '920', '44.542972', '-88.055814', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14711, 'Figis Inc', 2830, '54404', '715', '44.6687', '-90.1714', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14712, 'Marshfield', 2830, '54404', '715', '44.6687', '-90.1714', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14713, 'Abbotsford', 2830, '54405', '715', '44.974307', '-90.297512', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14714, 'Amherst', 2830, '54406', '715', '44.405055', '-89.325153', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14715, 'Mosinee', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14716, 'Peplin', 2830, '54455', '715', '44.764304', '-89.727206', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14717, 'Nekoosa', 2830, '54457', '715', '44.238788', '-89.914657', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14718, 'Rome', 2830, '54457', '715', '44.238788', '-89.914657', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14719, 'Athelstane', 2830, '54104', '715', '45.435166', '-88.25227', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14720, 'Silver Cliff', 2830, '54104', '715', '45.435166', '-88.25227', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14721, 'Black Creek', 2830, '54106', '920', '44.473868', '-88.463944', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14722, 'Center Valley', 2830, '54106', '920', '44.473868', '-88.463944', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14723, 'Fence', 2830, '54120', '715', '45.755446', '-88.46703', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14724, 'Forest Jct', 2830, '54123', '920', '44.205239', '-88.164002', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14725, 'Forest Junction', 2830, '54123', '920', '44.205239', '-88.164002', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14726, 'Kimberly', 2830, '54136', '920', '44.268491', '-88.337465', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14727, 'Lakewood', 2830, '54138', '715', '45.332988', '-88.438893', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14728, 'Little Chute', 2830, '54140', '920', '44.285104', '-88.315622', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14729, 'Oconto', 2830, '54153', '920', '44.887701', '-87.939246', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14730, 'Pensaukee', 2830, '54153', '920', '44.887701', '-87.939246', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14731, 'Hobart', 2830, '54155', '920', '44.51732', '-88.194257', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14732, 'Oneida', 2830, '54155', '920', '44.51732', '-88.194257', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14733, 'Colby', 2830, '54421', '715', '44.901594', '-90.287011', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14734, 'Poynette', 2830, '53955', '608', '43.412088', '-89.401003', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14735, 'Black Brook', 2830, '54005', '715', '45.229644', '-92.218596', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14736, 'Clear Lake', 2830, '54005', '715', '45.229644', '-92.218596', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14737, 'New Haven', 2830, '54005', '715', '45.229644', '-92.218596', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14738, 'Clifton', 2830, '54022', '715', '44.844481', '-92.597603', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14739, 'Kinnickinnic', 2830, '54022', '715', '44.844481', '-92.597603', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14740, 'River Falls', 2830, '54022', '715', '44.844481', '-92.597603', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14741, 'Troy', 2830, '54022', '715', '44.844481', '-92.597603', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14742, 'Casco', 2830, '54205', '920', '44.595306', '-87.617909', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14743, 'Madison', 2830, '53786', '608', '43.0733', '-89.4012', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14744, 'Wi Dept Revenue Box 34', 2830, '53786', '608', '43.0733', '-89.4012', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14745, 'Beetown', 2830, '53802', '608', '42.795', '-90.8856', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14746, 'Bloomington', 2830, '53804', '608', '42.868564', '-90.895286', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14747, 'Briggsville', 2830, '53920', '608', '43.684352', '-89.608044', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14748, 'Burnett', 2830, '53922', '920', '43.524659', '-88.70377', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14749, 'Grand Marsh', 2830, '53936', '608', '43.878165', '-89.716862', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14750, 'Lake Mills', 2830, '53551', '920', '43.084353', '-88.917172', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14751, 'Livingston', 2830, '53554', '608', '42.897028', '-90.43808', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14752, 'Monticello', 2830, '53570', '608', '42.731762', '-89.62818', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14753, 'Sharon', 2830, '53585', '262', '42.537034', '-88.732524', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14754, 'Shullsberg', 2830, '53586', '608', '42.587586', '-90.230466', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14755, 'Shullsburg', 2830, '53586', '608', '42.587586', '-90.230466', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14756, 'South Wayne', 2830, '53587', '608', '42.579917', '-89.899244', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14757, 'Spring Green', 2830, '53588', '608', '43.165262', '-90.041148', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14758, 'Madison', 2830, '53702', '608', '43.0733', '-89.4012', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14759, 'State Capitol', 2830, '53702', '608', '43.0733', '-89.4012', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14760, 'Madison', 2830, '53703', '608', '43.0707', '-89.37565', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14761, 'Madison', 2830, '53704', '608', '43.12822', '-89.384636', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14762, 'Maple Bluff', 2830, '53704', '608', '43.12822', '-89.384636', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14763, 'Madison', 2830, '53705', '608', '43.074678', '-89.45888', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14764, 'Shorewood Hills', 2830, '53705', '608', '43.074678', '-89.45888', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14765, 'Milwaukee', 2830, '53234', '414', '43.0169', '-87.9265', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14766, 'Racine', 2830, '53402', '262', '42.78541', '-87.821548', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14767, 'Wind Point', 2830, '53402', '262', '42.78541', '-87.821548', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14768, 'Afton', 2830, '53501', '608', '42.6022', '-89.0694', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14769, 'Albany', 2830, '53502', '608', '42.732', '-89.444627', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14770, 'Blue River', 2830, '53518', '608', '43.250418', '-90.577548', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14771, 'Brodhead', 2830, '53520', '608', '42.599836', '-89.34695', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14772, 'Edmund', 2830, '53535', '608', '42.9676', '-90.2645', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14773, 'Evansville', 2830, '53536', '608', '42.766456', '-89.24993', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14774, 'Fort Atkinson', 2830, '53538', '920', '42.919648', '-88.82936', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14775, 'Oostburg', 2830, '53070', '920', '43.612937', '-87.808239', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14776, 'Greenfield', 2830, '53219', '414', '42.996672', '-87.991938', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14777, 'Milwaukee', 2830, '53219', '414', '42.996672', '-87.991938', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14778, 'W Milwaukee', 2830, '53219', '414', '42.996672', '-87.991938', '2018-11-29 04:51:35', '2018-11-29 04:51:35');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(14779, 'West Allis', 2830, '53219', '414', '42.996672', '-87.991938', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14780, 'West Milwaukee', 2830, '53219', '414', '42.996672', '-87.991938', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14781, 'Balsam Lake', 2830, '54810', '715', '45.454613', '-92.371011', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14782, 'Birchwood', 2830, '54817', '715', '45.67509', '-91.544174', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14783, 'Eau Claire', 2830, '54703', '715', '44.83418', '-91.483057', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14784, 'Hallie', 2830, '54703', '715', '44.83418', '-91.483057', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14785, 'Boyd', 2830, '54726', '715', '44.966829', '-91.022555', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14786, 'Kelly', 2830, '54476', '715', '44.895138', '-89.527128', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14787, 'Schofield', 2830, '54476', '715', '44.895138', '-89.527128', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14788, 'Weston', 2830, '54476', '715', '44.895138', '-89.527128', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14789, 'Biron', 2830, '54494', '715', '44.348774', '-89.73908', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14790, 'Grand Rapids', 2830, '54494', '715', '44.348774', '-89.73908', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14791, 'Kellner', 2830, '54494', '715', '44.348774', '-89.73908', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14792, 'Lake Wazeecha', 2830, '54494', '715', '44.348774', '-89.73908', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14793, 'Wisc Rapids', 2830, '54494', '715', '44.348774', '-89.73908', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14794, 'Wisconsin Rapids', 2830, '54494', '715', '44.348774', '-89.73908', '2018-11-29 04:51:35', '2018-11-29 04:51:35'),\n(14795, 'Saint Germain', 2830, '54558', '715', '45.923682', '-89.501638', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14796, 'St Germain', 2830, '54558', '715', '45.923682', '-89.501638', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14797, 'Barre Mills', 2830, '54601', '608', '43.795456', '-91.153796', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14798, 'Campbell', 2830, '54601', '608', '43.795456', '-91.153796', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14799, 'French Island', 2830, '54601', '608', '43.795456', '-91.153796', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14800, 'La Crosse', 2830, '54601', '608', '43.795456', '-91.153796', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14801, 'Shelby', 2830, '54601', '608', '43.795456', '-91.153796', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14802, 'La Crosse', 2830, '54603', '608', '43.868498', '-91.278883', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14803, 'Lacrosse', 2830, '54603', '608', '43.868498', '-91.278883', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14804, 'Alma', 2830, '54610', '608', '44.378713', '-91.775461', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14805, 'Elcho', 2830, '54428', '715', '45.42936', '-89.175454', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14806, 'Post Lake', 2830, '54428', '715', '45.42936', '-89.175454', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14807, 'Donald', 2830, '54433', '715', '45.236634', '-90.846627', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14808, 'Gilman', 2830, '54433', '715', '45.236634', '-90.846627', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14809, 'Polley', 2830, '54433', '715', '45.236634', '-90.846627', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14810, 'Bloomville', 2830, '54435', '715', '45.369682', '-89.452554', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14811, 'Gleason', 2830, '54435', '715', '45.369682', '-89.452554', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14812, 'Harrison', 2830, '54435', '715', '45.369682', '-89.452554', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14813, 'Jeffris', 2830, '54435', '715', '45.369682', '-89.452554', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14814, 'Parrish', 2830, '54435', '715', '45.369682', '-89.452554', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14815, 'Birch', 2830, '54442', '715', '45.374737', '-89.631498', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14816, 'Irma', 2830, '54442', '715', '45.374737', '-89.631498', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14817, 'Skanawan', 2830, '54442', '715', '45.374737', '-89.631498', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14818, 'Chelsea', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14819, 'Esadore Lake', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14820, 'Goodrich', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14821, 'Little Black', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14822, 'Medford', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14823, 'Perkinstown', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14824, 'Whittlesey', 2830, '54451', '715', '45.197314', '-90.399976', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14825, 'Lake George', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14826, 'Monico', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14827, 'Pelican', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14828, 'Rhinelander', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14829, 'Starks', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14830, 'Stella', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14831, 'Sugar Camp', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14832, 'Woodboro', 2830, '54501', '715', '45.674802', '-89.345692', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14833, 'Conover', 2830, '54519', '715', '46.045246', '-89.259688', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14834, 'Stangelville', 2830, '54208', '920', '44.363908', '-87.776628', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14835, 'Ellison Bay', 2830, '54210', '920', '45.253574', '-87.044034', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14836, 'Allouez', 2830, '54301', '920', '44.483376', '-88.02269', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14837, 'Green Bay', 2830, '54301', '920', '44.483376', '-88.02269', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14838, 'Scott', 2830, '54301', '920', '44.483376', '-88.02269', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14839, 'Green Bay', 2830, '54308', '920', '44.5195', '-88.0199', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14840, 'Green Bay', 2830, '54324', '920', '44.5195', '-88.0199', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14841, 'Hansen Road', 2830, '54324', '920', '44.5195', '-88.0199', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14842, 'Wausau', 2830, '54403', '715', '45.01944', '-89.504596', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14843, 'Aniwa', 2830, '54408', '715', '45.037034', '-89.305829', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14844, 'Hogarty', 2830, '54408', '715', '45.037034', '-89.305829', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14845, 'Nelsonville', 2830, '54458', '715', '44.4983', '-89.3108', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14846, 'Port Edwards', 2830, '54469', '715', '44.35155', '-89.867334', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14847, 'Keshena', 2830, '54135', '715', '44.944802', '-88.635242', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14848, 'Potter', 2830, '54160', '920', '44.119223', '-88.097832', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14849, 'Brokaw', 2830, '54417', '715', '45.023173', '-89.645198', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14850, 'Hammond', 2830, '54015', '715', '44.956368', '-92.465861', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14851, 'Pleasant Valley', 2830, '54015', '715', '44.956368', '-92.465861', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14852, 'Eureka Center', 2830, '54024', '715', '45.494581', '-92.638406', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14853, 'Saint Croix Falls', 2830, '54024', '715', '45.494581', '-92.638406', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14854, 'St Croix Falls', 2830, '54024', '715', '45.494581', '-92.638406', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14855, 'St Croix Fls', 2830, '54024', '715', '45.494581', '-92.638406', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14856, 'Wolfcreek', 2830, '54024', '715', '45.494581', '-92.638406', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14857, 'Algoma', 2830, '54201', '920', '44.628484', '-87.471971', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14858, 'Rio Creek', 2830, '54201', '920', '44.628484', '-87.471971', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14859, 'Denmark', 2830, '54208', '920', '44.363908', '-87.776628', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14860, 'Langes Corner', 2830, '54208', '920', '44.363908', '-87.776628', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14861, 'American Family Ins Co', 2830, '53783', '608', '43.0733', '-89.4012', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14862, 'Madison', 2830, '53783', '608', '43.0733', '-89.4012', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14863, 'Madison', 2830, '53792', '608', '43.0733', '-89.4012', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14864, 'Univ Of Wis Hosp Hlth Sc Ctr', 2830, '53792', '608', '43.0733', '-89.4012', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14865, 'Dickeyville', 2830, '53808', '608', '42.629209', '-90.592057', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14866, 'Wauzeka', 2830, '53826', '608', '43.116297', '-90.970733', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14867, 'Adams', 2830, '53910', '608', '43.890286', '-89.839006', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14868, 'Fox Lake', 2830, '53933', '920', '43.572371', '-88.889282', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14869, 'Lime Ridge', 2830, '53942', '608', '43.4676', '-90.1551', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14870, 'Barnes', 2830, '54873', '715', '46.330052', '-91.737495', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14871, 'Bennett', 2830, '54873', '715', '46.330052', '-91.737495', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14872, 'Solon Springs', 2830, '54873', '715', '46.330052', '-91.737495', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14873, 'South Range', 2830, '54874', '715', '46.555113', '-91.930027', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14874, 'Wentworth', 2830, '54874', '715', '46.555113', '-91.930027', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14875, 'Springbrook', 2830, '54875', '715', '45.942066', '-91.6858', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14876, 'Trego', 2830, '54888', '715', '45.964132', '-91.906778', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14877, 'Chaseburg', 2830, '54621', '608', '43.666472', '-91.059124', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14878, 'Buffalo City', 2830, '54622', '608', '44.266776', '-91.737952', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14879, 'Cochrane', 2830, '54622', '608', '44.266776', '-91.737952', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14880, 'Waumandee', 2830, '54622', '608', '44.266776', '-91.737952', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14881, 'Kendall', 2830, '54638', '608', '43.794166', '-90.38977', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14882, 'Osseo', 2830, '54758', '715', '44.548256', '-91.206911', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14883, 'Thorp', 2830, '54771', '715', '44.944818', '-90.800376', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14884, 'Whitehall', 2830, '54773', '715', '44.391446', '-91.288524', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14885, 'Ashland', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14886, 'Bad River Indian Reservation', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14887, 'Lac Courte Oreilles Indian R', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14888, 'Lac Du Flambeau Reservation', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14889, 'Moquah', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:36', '2018-11-29 04:51:36'),\n(14890, 'Oneida Indian Reservation', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14891, 'Potawatomi Indian Reservatio', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14892, 'Red Cliff Indian Reservation', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14893, 'Sanborn', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14894, 'Stockbridge Indian Reservati', 2830, '54806', '715', '46.560402', '-90.926606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14895, 'Eagle River', 2830, '54521', '715', '45.951385', '-89.260063', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14896, 'Washington', 2830, '54521', '715', '45.951385', '-89.260063', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14897, 'Presque Isle', 2830, '54557', '715', '46.229186', '-89.742026', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14898, 'Camp Mccoy', 2830, '54656', '608', '43.985775', '-90.799666', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14899, 'Fort Mccoy', 2830, '54656', '608', '43.985775', '-90.799666', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14900, 'Sparta', 2830, '54656', '608', '43.985775', '-90.799666', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14901, 'Figis', 2830, '54472', '715', '44.6688', '-90.1718', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14902, 'Marshfield', 2830, '54472', '715', '44.6688', '-90.1718', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14903, 'Altdorf', 2830, '54489', '715', '44.452174', '-89.992653', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14904, 'Hansen', 2830, '54489', '715', '44.452174', '-89.992653', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14905, 'Seneca Corners', 2830, '54489', '715', '44.452174', '-89.992653', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14906, 'Seneca Cors', 2830, '54489', '715', '44.452174', '-89.992653', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14907, 'Vesper', 2830, '54489', '715', '44.452174', '-89.992653', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14908, 'Winchester', 2830, '54557', '715', '46.229186', '-89.742026', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14909, 'Eaton', 2830, '54437', '715', '44.776394', '-90.658544', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14910, 'Greenwood', 2830, '54437', '715', '44.776394', '-90.658544', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14911, 'Hannibal', 2830, '54439', '715', '45.2527', '-90.7889', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14912, 'Bevent', 2830, '54440', '715', '44.815888', '-89.377636', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14913, 'Coloma', 2830, '54930', '715', '44.01762', '-89.511636', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14914, 'Pleasant Lake', 2830, '54930', '715', '44.01762', '-89.511636', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14915, 'Richford', 2830, '54930', '715', '44.01762', '-89.511636', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14916, 'Manawa', 2830, '54949', '920', '44.493194', '-88.904579', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14917, 'Iron River', 2830, '54847', '715', '46.566339', '-91.400711', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14918, 'Ladysmith', 2830, '54848', '715', '45.501728', '-91.094752', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14919, 'La Pointe', 2830, '54850', '715', '46.813432', '-90.680168', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14920, 'Poy Sippi', 2830, '54967', '920', '44.122077', '-88.974292', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14921, 'Wautoma', 2830, '54982', '920', '44.066681', '-89.27827', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14922, 'Wild Rose', 2830, '54984', '920', '44.17281', '-89.207651', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14923, 'Conrath', 2830, '54731', '715', '45.349694', '-91.06992', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14924, 'Humbird', 2830, '54746', '715', '44.534237', '-90.882052', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14925, 'Elk Creek', 2830, '54747', '715', '44.400426', '-91.497666', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14926, 'Independence', 2830, '54747', '715', '44.400426', '-91.497666', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14927, 'Maiden Rock', 2830, '54750', '715', '44.623286', '-92.286053', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14928, 'Appleton', 2830, '54913', '920', '44.338344', '-88.40417', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14929, 'Freedom', 2830, '54913', '920', '44.338344', '-88.40417', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14930, 'Grand Chute', 2830, '54913', '920', '44.338344', '-88.40417', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14931, 'Appleton', 2830, '54914', '920', '44.263982', '-88.490103', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14932, 'Grand Chute', 2830, '54914', '920', '44.263982', '-88.490103', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14933, 'Bell Center', 2830, '54631', '608', '43.287772', '-90.835215', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14934, 'Gays Mills', 2830, '54631', '608', '43.287772', '-90.835215', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14935, 'Norwalk', 2830, '54648', '608', '43.830107', '-90.647262', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14936, 'Mondovi', 2830, '54764', '715', '44.7226', '-91.6924', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14937, 'Rock Falls', 2830, '54764', '715', '44.7226', '-91.6924', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14938, 'Apostle Islands National Lak', 2830, '54814', '715', '46.925836', '-90.722238', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14939, 'Bayfield', 2830, '54814', '715', '46.925836', '-90.722238', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14940, 'Red Cliff', 2830, '54814', '715', '46.925836', '-90.722238', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14941, 'Heafford Jct', 2830, '54532', '715', '45.5472', '-89.7155', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14942, 'Heafford Junction', 2830, '54532', '715', '45.5472', '-89.7155', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14943, 'Tomahawk', 2830, '54532', '715', '45.5472', '-89.7155', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14944, 'Mercer', 2830, '54547', '715', '46.204974', '-90.116652', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14945, 'Warrens', 2830, '54666', '608', '44.160518', '-90.447286', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14946, 'Arnott', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14947, 'Dewey', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14948, 'Ellis', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14949, 'Hull', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14950, 'Jordan', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14951, 'Linwood', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14952, 'Park Ridge', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14953, 'Haven', 2830, '53083', '920', '43.826678', '-87.773894', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14954, 'Dairyland', 2830, '54830', '715', '46.099956', '-92.219231', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14955, 'Danbury', 2830, '54830', '715', '46.099956', '-92.219231', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14956, 'Webb Lake', 2830, '54830', '715', '46.099956', '-92.219231', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14957, 'Yellow Lake', 2830, '54830', '715', '46.099956', '-92.219231', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14958, 'Pickett', 2830, '54964', '920', '43.916701', '-88.707704', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14959, 'Waukau', 2830, '54980', '920', '43.988636', '-88.7769', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14960, 'Weyauwega', 2830, '54983', '920', '44.315404', '-88.922468', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14961, 'Albertville', 2830, '54730', '715', '45.035542', '-91.726198', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14962, 'Colfax', 2830, '54730', '715', '45.035542', '-91.726198', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14963, 'Dallas', 2830, '54733', '715', '45.283666', '-91.88043', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14964, 'Hillsdale', 2830, '54733', '715', '45.283666', '-91.88043', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14965, 'Jim Falls', 2830, '54748', '715', '45.071664', '-91.273608', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14966, 'Poplar', 2830, '54864', '715', '46.618316', '-91.815296', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14967, 'Port Wing', 2830, '54865', '715', '46.747177', '-91.405882', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14968, 'Radisson', 2830, '54867', '715', '45.774607', '-91.240024', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14969, 'Oliver', 2830, '54880', '715', '46.582901', '-92.117275', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14970, 'Superior', 2830, '54880', '715', '46.582901', '-92.117275', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14971, 'Appleton', 2830, '54915', '920', '44.246996', '-88.370866', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14972, 'Arkdale', 2830, '54613', '608', '44.06713', '-89.903293', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14973, 'Big Flats', 2830, '54613', '608', '44.06713', '-89.903293', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14974, 'Monroe Center', 2830, '54613', '608', '44.06713', '-89.903293', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14975, 'Black River Falls', 2830, '54615', '715', '44.246822', '-90.77217', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14976, 'Blk Riv Falls', 2830, '54615', '715', '44.246822', '-90.77217', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14977, 'Blk River Fls', 2830, '54615', '715', '44.246822', '-90.77217', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14978, 'Cutler', 2830, '54646', '608', '44.077419', '-90.092552', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14979, 'Necedah', 2830, '54646', '608', '44.077419', '-90.092552', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14980, 'Sand Creek', 2830, '54765', '715', '45.176262', '-91.67672', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14981, 'Viola', 2830, '54664', '608', '43.478415', '-90.627541', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14982, 'Clark', 2830, '54498', '715', '45.038605', '-90.607002', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14983, 'Longwood', 2830, '54498', '715', '45.038605', '-90.607002', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14984, 'Maplehurst', 2830, '54498', '715', '45.038605', '-90.607002', '2018-11-29 04:51:37', '2018-11-29 04:51:37'),\n(14985, 'Grafton', 2830, '53024', '262', '43.32444', '-87.931408', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14986, 'Kewaskum', 2830, '53040', '262', '43.528461', '-88.201184', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14987, 'Grand Chute', 2830, '54915', '920', '44.246996', '-88.370866', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14988, 'Embarrass', 2830, '54933', '715', '44.66548', '-88.702813', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14989, 'Larsen', 2830, '54947', '920', '44.193658', '-88.701173', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14990, 'Winchester', 2830, '54947', '920', '44.193658', '-88.701173', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14991, 'Marion', 2830, '54950', '715', '44.668088', '-88.929586', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14992, 'Prt Washingtn', 2830, '53074', '262', '43.41929', '-87.864838', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14993, 'Elm Grove', 2830, '53122', '262', '43.048202', '-88.088096', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14994, 'Lake Geneva', 2830, '53147', '262', '42.571235', '-88.457749', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14995, 'Mukwonago', 2830, '53149', '262', '42.888519', '-88.343107', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14996, 'Palmyra', 2830, '53156', '262', '42.890247', '-88.599976', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14997, 'Kenosha', 2830, '53158', '262', '42.53005', '-87.886264', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14998, 'Pleasant Pr', 2830, '53158', '262', '42.53005', '-87.886264', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(14999, 'Pleasant Prairie', 2830, '53158', '262', '42.53005', '-87.886264', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(15000, 'Stevens Point', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(15001, 'Phoenix', 2782, '85015', '602', '33.509592', '-112.102166', '2018-11-29 04:51:38', '2018-11-29 04:51:38'),\n(15002, 'Phoenix', 2782, '85030', '602', '33.4486', '-112.0733', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15003, 'Phoenix', 2782, '85048', '480', '33.332898', '-112.06864', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15004, 'Phoenix', 2782, '85065', '602', '33.4525', '-112.0718', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15005, 'Phoenix', 2782, '85066', '602', '33.4486', '-112.0733', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15006, 'Sacaton', 2782, '85147', '480', '33.078389', '-111.738656', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15007, 'Mesa', 2782, '85213', '480', '33.449836', '-111.767694', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15008, 'Mesa', 2782, '85214', '480', '33.4225', '-111.8216', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15009, 'Mesa', 2782, '85216', '602', '33.4225', '-111.8216', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15010, 'Gilbert', 2782, '85233', '480', '33.346281', '-111.815402', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15011, 'Chandler', 2782, '85248', '480', '33.227904', '-111.869248', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15012, 'Sun Lakes', 2782, '85248', '480', '33.227904', '-111.869248', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15013, 'Scottsdale', 2782, '85250', '480', '33.524034', '-111.903567', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15014, 'Rio Verde', 2782, '85263', '480', '33.746387', '-111.679598', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15015, 'Scottsdale', 2782, '85263', '480', '33.746387', '-111.679598', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15016, 'Guadalupe', 2782, '85283', '480', '33.363884', '-111.935477', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15017, 'Tempe', 2782, '85283', '480', '33.363884', '-111.935477', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15018, 'Salome', 2782, '85348', '928', '33.848004', '-113.609492', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15019, 'Yuma', 2782, '85367', '928', '32.668995', '-114.382544', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15020, 'Peoria', 2782, '85382', '623', '33.651723', '-112.246213', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15021, 'Central', 2782, '85531', '928', '32.877768', '-109.787827', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15022, 'Claypool', 2782, '85532', '928', '33.4077', '-110.8144', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15023, 'San Carlos', 2782, '85550', '928', '33.33357', '-109.976393', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15024, 'Huntingtn Bch', 2783, '92646', '714', '33.664935', '-117.964196', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15025, 'Huntington', 2783, '92646', '714', '33.664935', '-117.964196', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15026, 'Huntington Beach', 2783, '92646', '714', '33.664935', '-117.964196', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15027, 'Tustin', 2783, '92782', '714', '33.736054', '-117.80082', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15028, 'Anaheim', 2783, '92805', '714', '33.826348', '-117.910453', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15029, 'Federal', 2783, '92805', '714', '33.826348', '-117.910453', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15030, 'Anaheim', 2783, '92814', '714', '33.8355', '-117.9136', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15031, 'Brea', 2783, '92823', '714', '33.926246', '-117.802266', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15032, 'Anaheim', 2783, '92825', '714', '33.8355', '-117.9136', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15033, 'Garden Grove', 2783, '92841', '714', '33.78837', '-117.983188', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15034, 'Orange', 2783, '92864', '714', '33.7878', '-117.8523', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15035, 'Corona', 2783, '92880', '714', '33.92297', '-117.612647', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15036, 'Eastvale', 2783, '92880', '714', '33.92297', '-117.612647', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15037, 'Corona', 2783, '92882', '909', '33.831002', '-117.613884', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15038, 'Ventura', 2783, '93007', '805', '34.2785', '-119.2925', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15039, 'Ventura', 2783, '93009', '805', '34.2793', '-119.2912', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15040, 'Ventura County Gov', 2783, '93009', '805', '34.2793', '-119.2912', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15041, 'Fillmore', 2783, '93016', '805', '34.3994', '-118.9175', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15042, 'Oxnard', 2783, '93032', '805', '34.1975', '-119.1763', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15043, 'Oxnard', 2783, '93034', '805', '34.1975', '-119.1763', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15044, 'Santa Barbara', 2783, '93107', '805', '34.4564', '-119.8674', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15045, 'Ucsb Student Dorm Boxes', 2783, '93107', '805', '34.4564', '-119.8674', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15046, 'Santa Barbara', 2783, '93109', '805', '34.408958', '-119.725024', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15047, 'Goleta', 2783, '93116', '805', '34.4356', '-119.8269', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15048, 'Santa Barbara', 2783, '93116', '805', '34.4356', '-119.8269', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15049, 'Montecito', 2783, '93150', '805', '34.4233', '-119.7035', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15050, 'Santa Barbara', 2783, '93150', '805', '34.4233', '-119.7035', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15051, 'Delano', 2783, '93216', '661', '35.771921', '-119.26985', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15052, 'Frazier Park', 2783, '93225', '661', '34.924779', '-119.142586', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15053, 'Huron', 2783, '93234', '559', '36.320561', '-120.08554', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15054, 'Mc Farland', 2783, '93250', '661', '35.660114', '-119.132964', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15055, 'Poplar', 2783, '93257', '559', '35.994381', '-118.877497', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15056, 'Porterville', 2783, '93257', '559', '35.994381', '-118.877497', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15057, 'Woodville', 2783, '93257', '559', '35.994381', '-118.877497', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15058, 'Visalia', 2783, '93291', '559', '36.406606', '-119.381042', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15059, 'Bakersfield', 2783, '93309', '661', '35.348422', '-119.064343', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15060, 'California Mens Colony Slo', 2783, '93409', '805', '35.2839', '-120.6701', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15061, 'San Luis Obispo', 2783, '93409', '805', '35.2839', '-120.6701', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15062, 'Sn Luis Obisp', 2783, '93409', '805', '35.2839', '-120.6701', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15063, 'Creston', 2783, '93432', '805', '35.48086', '-120.50173', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15064, 'Guadalupe', 2783, '93434', '805', '34.934378', '-120.61494', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15065, 'Los Olivos', 2783, '93441', '805', '34.723586', '-120.077537', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15066, 'Pismo Beach', 2783, '93448', '805', '35.1426', '-120.6403', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15067, 'Shell Beach', 2783, '93448', '805', '35.1426', '-120.6403', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15068, 'Oceano', 2783, '93475', '805', '35.1', '-120.61', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15069, 'Caliente', 2783, '93518', '661', '35.380902', '-118.427534', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15070, 'Havilah', 2783, '93518', '661', '35.380902', '-118.427534', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15071, 'Loraine', 2783, '93518', '661', '35.380902', '-118.427534', '2018-11-29 04:51:39', '2018-11-29 04:51:39'),\n(15072, 'Lee Vining', 2783, '93541', '760', '38.024885', '-118.93879', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15073, 'Mono City', 2783, '93541', '760', '38.024885', '-118.93879', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15074, 'Mono Lake', 2783, '93541', '760', '38.024885', '-118.93879', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15075, 'Juniper Hills', 2783, '93543', '661', '34.49777', '-117.932399', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15076, 'Littlerock', 2783, '93543', '661', '34.49777', '-117.932399', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15077, 'Sun Village', 2783, '93543', '661', '34.49777', '-117.932399', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15078, 'Lake La', 2783, '93550', '661', '34.483586', '-118.060418', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15079, 'Lake Los Angeles', 2783, '93550', '661', '34.483586', '-118.060418', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15080, 'Palmdale', 2783, '93550', '661', '34.483586', '-118.060418', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15081, 'Lancaster', 2783, '93584', '661', '34.6981', '-118.1355', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15082, 'Auberry', 2783, '93602', '559', '37.079567', '-119.417712', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15083, 'Pineridge', 2783, '93602', '559', '37.079567', '-119.417712', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15084, 'Burrel', 2783, '93607', '559', '36.4884', '-119.9843', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15085, 'Riverdale', 2783, '93607', '559', '36.4884', '-119.9843', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15086, 'Del Rey', 2783, '93616', '559', '36.652397', '-119.588608', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15087, 'Dinuba', 2783, '93618', '559', '36.523751', '-119.394903', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15088, 'London', 2783, '93618', '559', '36.523751', '-119.394903', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15089, 'Centerville', 2783, '93657', '559', '36.822159', '-119.403493', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15090, 'Carmel By The Sea', 2783, '93921', '831', '36.55466', '-121.921665', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15091, 'Del Rey Oaks', 2783, '93940', '831', '36.583624', '-121.836902', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15092, 'Monterey', 2783, '93940', '831', '36.583624', '-121.836902', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15093, 'Point Sur', 2783, '93940', '831', '36.583624', '-121.836902', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15094, 'Presidio Of Monterey', 2783, '93940', '831', '36.583624', '-121.836902', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15095, 'San Lucas', 2783, '93954', '831', '36.106374', '-120.867372', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15096, 'Sand City', 2783, '93955', '831', '36.639819', '-121.822211', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15097, 'Seaside', 2783, '93955', '831', '36.639819', '-121.822211', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15098, 'Los Altos', 2783, '94024', '650', '37.355148', '-122.110958', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15099, 'Los Altos Hills', 2783, '94024', '650', '37.355148', '-122.110958', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15100, 'Mountain View', 2783, '94041', '650', '37.388022', '-122.07431', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15101, 'San Francisco', 2783, '94105', '415', '37.788543', '-122.393872', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15102, 'San Francisco', 2783, '94122', '415', '37.761959', '-122.483125', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15103, 'San Francisco', 2783, '94123', '415', '37.801844', '-122.436531', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15104, 'Bank Of America', 2783, '94154', '415', '37.7753', '-122.4186', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15105, 'San Francisco', 2783, '94154', '415', '37.7753', '-122.4186', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15106, 'San Francisco', 2783, '94158', '415', '37.770812', '-122.39074', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15107, 'Sacramento', 2783, '94204', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15108, 'Sacramento', 2783, '94205', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15109, 'Sacramento', 2783, '94206', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15110, 'Sacramento', 2783, '94207', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15111, 'Sacramento', 2783, '94239', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15112, 'Sacramento', 2783, '94257', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15113, 'Sacramento', 2783, '94273', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15114, 'Sacramento', 2783, '94289', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15115, 'Sacramento', 2783, '94291', '916', '38.5819', '-121.4935', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15116, 'Palo Alto', 2783, '94306', '650', '37.411846', '-122.1295', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15117, 'Concord', 2783, '94522', '925', '37.9784', '-122.0302', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15118, 'Concord', 2783, '94523', '925', '37.953762', '-122.077832', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15119, 'Pleasant Hill', 2783, '94523', '925', '37.953762', '-122.077832', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15120, 'Concord', 2783, '94524', '925', '37.9784', '-122.0302', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15121, 'Crockett', 2783, '94525', '510', '38.048306', '-122.228868', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15122, 'Hayward', 2783, '94542', '510', '37.65345', '-122.032614', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15123, 'Hayward', 2783, '94557', '510', '37.6687', '-122.0799', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15124, 'Mount Eden', 2783, '94557', '510', '37.6687', '-122.0799', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15125, 'Napa', 2783, '94559', '707', '38.251876', '-122.328443', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15126, 'Rodeo', 2783, '94572', '510', '38.030182', '-122.241847', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15127, 'Oakland', 2783, '94606', '510', '37.789934', '-122.244436', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15128, 'Emeryville', 2783, '94608', '510', '37.83466', '-122.291944', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15129, 'Oakland', 2783, '94608', '510', '37.83466', '-122.291944', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15130, 'Oakland', 2783, '94622', '510', '37.8046', '-122.2699', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15131, 'Oakland Intrntl Service Ctr', 2783, '94622', '510', '37.8046', '-122.2699', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15132, 'Oakland', 2783, '94624', '510', '37.8046', '-122.2699', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15133, 'Blue Cross', 2783, '94659', '510', '37.8046', '-122.2699', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15134, 'Oakland', 2783, '94659', '510', '37.8046', '-122.2699', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15135, 'Albany', 2783, '94706', '510', '37.889622', '-122.294909', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15136, 'Berkeley', 2783, '94706', '510', '37.889622', '-122.294909', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15137, 'Kensington', 2783, '94706', '510', '37.889622', '-122.294909', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15138, 'Albany', 2783, '94707', '510', '37.899439', '-122.278492', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15139, 'Berkeley', 2783, '94707', '510', '37.899439', '-122.278492', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15140, 'Kensington', 2783, '94707', '510', '37.899439', '-122.278492', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15141, 'Richmond', 2783, '94807', '510', '37.9244', '-122.3881', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15142, 'Bolinas', 2783, '94924', '415', '37.931135', '-122.697624', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15143, 'Corte Madera', 2783, '94925', '415', '37.922463', '-122.511149', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15144, 'Mill Valley', 2783, '94942', '415', '37.9062', '-122.5439', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15145, 'Ross', 2783, '94957', '415', '37.9639', '-122.5526', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15146, 'San Anselmo', 2783, '94960', '415', '37.992084', '-122.581346', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15147, 'Woodacre', 2783, '94973', '415', '37.998914', '-122.642704', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15148, 'Brookdale', 2783, '95007', '831', '37.106196', '-122.103679', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15149, 'Hollister', 2783, '95024', '831', '36.8528', '-121.4007', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15150, 'Minkler', 2783, '93657', '559', '36.822159', '-119.403493', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15151, 'Sanger', 2783, '93657', '559', '36.822159', '-119.403493', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15152, 'Tivy Valley', 2783, '93657', '559', '36.822159', '-119.403493', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15153, 'Sultana', 2783, '93666', '559', '36.545257', '-119.338395', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15154, 'Fresno', 2783, '93707', '559', '36.7475', '-119.7716', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15155, 'Fresno', 2783, '93709', '559', '36.7475', '-119.7716', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15156, 'Calwa', 2783, '93725', '559', '36.605712', '-119.718529', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15157, 'Fresno', 2783, '93725', '559', '36.605712', '-119.718529', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15158, 'Malaga', 2783, '93725', '559', '36.605712', '-119.718529', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15159, 'Fresno', 2783, '93750', '559', '36.7475', '-119.7716', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15160, 'Fresno Cnty Social Svc Dept', 2783, '93750', '559', '36.7475', '-119.7716', '2018-11-29 04:51:40', '2018-11-29 04:51:40'),\n(15161, 'Fresno', 2783, '93791', '559', '36.7475', '-119.7716', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15162, 'Fresno', 2783, '93793', '559', '36.7475', '-119.7716', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15163, 'Chualar', 2783, '93925', '831', '36.594686', '-121.414896', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15164, 'Greenfield', 2783, '93927', '831', '36.235472', '-121.374399', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15165, 'Burlingame', 2783, '94011', '650', '37.5844', '-122.365', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15166, 'La Honda', 2783, '94020', '650', '37.289899', '-122.271275', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15167, 'Menlo Park', 2783, '94025', '650', '37.459034', '-122.186055', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15168, 'W Menlo Park', 2783, '94025', '650', '37.459034', '-122.186055', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15169, 'West Menlo Park', 2783, '94025', '650', '37.459034', '-122.186055', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15170, 'Redwood City', 2783, '94061', '650', '37.463334', '-122.240826', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15171, 'Woodside', 2783, '94061', '650', '37.463334', '-122.240826', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15172, 'San Carlos', 2783, '94070', '650', '37.494965', '-122.267654', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15173, 'San Francisco', 2783, '94102', '415', '37.779392', '-122.417738', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15174, 'San Francisco', 2783, '94118', '415', '37.782355', '-122.460795', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15175, 'San Francisco', 2783, '94127', '415', '37.732366', '-122.457441', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15176, 'San Francisco', 2783, '94143', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15177, 'Uc San Francisco', 2783, '94143', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15178, 'San Francisco', 2783, '94145', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15179, 'Union Bank Of California', 2783, '94145', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15180, 'Bank Of America', 2783, '94161', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15181, 'San Francisco', 2783, '94161', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15182, 'Sacramento', 2783, '94229', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15183, 'Sacramento', 2783, '94236', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15184, 'Sacramento', 2783, '94250', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15185, 'Sacramento', 2783, '94268', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15186, 'Sacramento', 2783, '94277', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15187, 'Sacramento', 2783, '94284', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15188, 'Sacramento', 2783, '94293', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15189, 'Palo Alto', 2783, '94309', '650', '37.4417', '-122.1417', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15190, 'Stanford', 2783, '94309', '650', '37.4417', '-122.1417', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15191, 'Foster City', 2783, '94404', '650', '37.554668', '-122.269384', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15192, 'San Mateo', 2783, '94404', '650', '37.554668', '-122.269384', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15193, 'Bethel Island', 2783, '94511', '925', '38.053448', '-121.627658', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15194, 'Brentwood', 2783, '94513', '925', '37.899769', '-121.735103', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15195, 'Concord', 2783, '94518', '925', '37.95355', '-122.021948', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15196, 'Clyde', 2783, '94520', '925', '38.004689', '-122.035791', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15197, 'Concord', 2783, '94520', '925', '38.004689', '-122.035791', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15198, 'Chevron', 2783, '94529', '925', '37.9784', '-122.0302', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15199, 'Chevron Usa Inc', 2783, '94529', '925', '37.9784', '-122.0302', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15200, 'Concord', 2783, '94529', '925', '37.9784', '-122.0302', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15201, 'Castro Valley', 2783, '94552', '510', '37.695349', '-121.98202', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15202, 'Hayward', 2783, '94552', '510', '37.695349', '-121.98202', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15203, 'Orinda', 2783, '94563', '925', '37.863298', '-122.190946', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15204, 'Dublin', 2783, '94568', '925', '37.716294', '-121.912438', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15205, 'Pleasanton', 2783, '94568', '925', '37.716294', '-121.912438', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15206, 'Oakland', 2783, '94611', '510', '37.83611', '-122.219253', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15207, 'Piedmont', 2783, '94611', '510', '37.83611', '-122.219253', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15208, 'Piedmontxxx', 2783, '94611', '510', '37.83611', '-122.219253', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15209, 'Berkeley', 2783, '94704', '510', '37.872228', '-122.244743', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15210, 'Berkeley', 2783, '94720', '510', '37.874602', '-122.25467', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15211, 'Uc Berkeley', 2783, '94720', '510', '37.874602', '-122.25467', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15212, 'Richmond', 2783, '94802', '510', '37.9359', '-122.3469', '2018-11-29 04:51:41', '2018-11-29 04:51:41');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(15213, 'Salinas', 2783, '93901', '831', '36.660311', '-121.649774', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15214, 'East Garrison', 2783, '93933', '831', '36.684239', '-121.774202', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15215, 'Marina', 2783, '93933', '831', '36.684239', '-121.774202', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15216, 'Menlo Park', 2783, '94028', '650', '37.36888', '-122.214268', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15217, 'Menlo Pk', 2783, '94028', '650', '37.36888', '-122.214268', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15218, 'Portola Valley', 2783, '94028', '650', '37.36888', '-122.214268', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15219, 'Portola Vally', 2783, '94028', '650', '37.36888', '-122.214268', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15220, 'Pescadero', 2783, '94060', '650', '37.197053', '-122.330547', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15221, 'S San Fran', 2783, '94083', '650', '37.6548', '-122.4064', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15222, 'South San Francis', 2783, '94083', '650', '37.6548', '-122.4064', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15223, 'South San Francisco', 2783, '94083', '650', '37.6548', '-122.4064', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15224, 'San Francisco', 2783, '94142', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15225, 'San Francisco', 2783, '94144', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15226, 'Wells Fargo Bank', 2783, '94144', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15227, 'Irs Service Center', 2783, '94151', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15228, 'San Francisco', 2783, '94151', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15229, 'Bank Of America', 2783, '94160', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15230, 'San Francisco', 2783, '94160', '415', '37.7753', '-122.4186', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15231, 'Sacramento', 2783, '94262', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15232, 'Sacramento', 2783, '94267', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15233, 'Sacramento', 2783, '94285', '916', '38.5819', '-121.4935', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15234, 'E Palo Alto', 2783, '94303', '650', '37.45779', '-122.122538', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15235, 'East Palo Alto', 2783, '94303', '650', '37.45779', '-122.122538', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15236, 'Palo Alto', 2783, '94303', '650', '37.45779', '-122.122538', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15237, 'San Mateo', 2783, '94403', '650', '37.540657', '-122.304154', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15238, 'Alameda', 2783, '94501', '510', '37.773545', '-122.278487', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15239, 'Alameda Pt', 2783, '94501', '510', '37.773545', '-122.278487', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15240, 'Danville', 2783, '94526', '925', '37.813647', '-121.997751', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15241, 'Hayward', 2783, '94544', '510', '37.636814', '-122.049426', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15242, 'Livermore', 2783, '94551', '925', '37.764424', '-121.765292', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15243, 'Briones', 2783, '94553', '925', '37.975074', '-122.154813', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15244, 'Martinez', 2783, '94553', '925', '37.975074', '-122.154813', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15245, 'Pacheco', 2783, '94553', '925', '37.975074', '-122.154813', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15246, 'Union City', 2783, '94587', '510', '37.602056', '-122.044443', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15247, 'Oakland', 2783, '94605', '510', '37.756501', '-122.15599', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15248, 'Oakland', 2783, '94612', '510', '37.808754', '-122.267528', '2018-11-29 04:51:41', '2018-11-29 04:51:41'),\n(15249, 'Philatelic Center', 2783, '94612', '510', '37.808754', '-122.267528', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15250, 'Berkeley', 2783, '94703', '510', '37.865733', '-122.274618', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15251, 'Berkeley', 2783, '94705', '510', '37.8616', '-122.242051', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15252, 'El Sobrante', 2783, '94803', '510', '37.962855', '-122.281546', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15253, 'Richmond', 2783, '94803', '510', '37.962855', '-122.281546', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15254, 'San Pablo', 2783, '94803', '510', '37.962855', '-122.281546', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15255, 'San Quentin', 2783, '94964', '415', '37.941953', '-122.490007', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15256, 'Fairfax', 2783, '94978', '415', '37.9873', '-122.5878', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15257, 'Ben Lomond', 2783, '95005', '831', '37.1018', '-122.09925', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15258, 'Cupertino', 2783, '95014', '408', '37.294256', '-122.094441', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15259, 'Monte Vista', 2783, '95014', '408', '37.294256', '-122.094441', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15260, 'Permanente', 2783, '95014', '408', '37.294256', '-122.094441', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15261, 'Los Gatos', 2783, '95030', '408', '37.226068', '-121.98892', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15262, 'Monte Sereno', 2783, '95030', '408', '37.226068', '-121.98892', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15263, 'Morgan Hill', 2783, '95037', '408', '37.168085', '-121.627038', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15264, 'Moss Landing', 2783, '95039', '831', '36.834097', '-121.773266', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15265, 'Holy City', 2783, '95044', '408', '37.1564', '-121.9856', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15266, 'East Irvine', 2783, '92650', '949', '33.6758', '-117.7587', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15267, 'Irvine', 2783, '92650', '949', '33.6758', '-117.7587', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15268, 'Westminster', 2783, '92684', '714', '33.7595', '-118.0059', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15269, 'Bristol', 2783, '92703', '714', '33.748754', '-117.909421', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15270, 'Santa Ana', 2783, '92703', '714', '33.748754', '-117.909421', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15271, 'Anaheim', 2783, '92801', '714', '33.84778', '-117.957293', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15272, 'Anaheim', 2783, '92802', '714', '33.810701', '-117.916841', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15273, 'Holiday', 2783, '92802', '714', '33.810701', '-117.916841', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15274, 'Anaheim', 2783, '92804', '714', '33.810422', '-117.97942', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15275, 'Brookhurst Center', 2783, '92804', '714', '33.810422', '-117.97942', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15276, 'Fullerton', 2783, '92834', '714', '33.8796', '-117.8978', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15277, 'Oxnard', 2783, '93036', '805', '34.24804', '-119.184456', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15278, 'Santa Barbara', 2783, '93103', '805', '34.436299', '-119.684723', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15279, 'Armona', 2783, '93202', '559', '36.309634', '-119.708462', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15280, 'Bodfish', 2783, '93205', '760', '35.574966', '-118.50104', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15281, 'Allensworth', 2783, '93219', '661', '35.869819', '-119.313842', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15282, 'Earlimart', 2783, '93219', '661', '35.869819', '-119.313842', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15283, 'Exeter', 2783, '93221', '559', '36.293244', '-119.058439', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15284, 'Frazier Park', 2783, '93222', '661', '34.881703', '-119.21346', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15285, 'Pine Mountain Club', 2783, '93222', '661', '34.881703', '-119.21346', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15286, 'Pine Mtn Clb', 2783, '93222', '661', '34.881703', '-119.21346', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15287, 'Onyx', 2783, '93255', '760', '35.642368', '-118.116225', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15288, 'Tipton', 2783, '93272', '559', '36.038888', '-119.320673', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15289, 'Bakersfield', 2783, '93302', '661', '35.3736', '-119.0176', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15290, 'Bakersfield', 2783, '93303', '661', '35.3736', '-119.0176', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15291, 'Bakersfield', 2783, '93386', '661', '35.3736', '-119.0176', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15292, 'Bakersfield', 2783, '93388', '661', '35.3736', '-119.0176', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15293, 'Baywood Park', 2783, '93402', '805', '35.302616', '-120.808914', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15294, 'Los Osos', 2783, '93402', '805', '35.302616', '-120.808914', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15295, 'San Luis Obispo', 2783, '93402', '805', '35.302616', '-120.808914', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15296, 'Sn Luis Obisp', 2783, '93402', '805', '35.302616', '-120.808914', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15297, 'San Luis Obispo', 2783, '93405', '805', '35.26924', '-120.76007', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15298, 'Sn Luis Obisp', 2783, '93405', '805', '35.26924', '-120.76007', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15299, 'Arroyo Grande', 2783, '93420', '805', '35.156033', '-120.365217', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15300, 'Halcyon', 2783, '93420', '805', '35.156033', '-120.365217', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15301, 'Arroyo Grande', 2783, '93421', '805', '35.1188', '-120.5899', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15302, 'Halcyon', 2783, '93421', '805', '35.1188', '-120.5899', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15303, 'Lompoc', 2783, '93436', '805', '34.607288', '-120.372903', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15304, 'Vandenberg Village', 2783, '93436', '805', '34.607288', '-120.372903', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15305, 'Calif City', 2783, '93505', '760', '35.191223', '-117.834936', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15306, 'California City', 2783, '93505', '760', '35.191223', '-117.834936', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15307, 'Cantil', 2783, '93519', '760', '35.387502', '-117.861831', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15308, 'Mojave', 2783, '93519', '760', '35.387502', '-117.861831', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15309, 'Darwin', 2783, '93522', '760', '36.300652', '-117.596734', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15310, 'Lancaster', 2783, '93539', '818', '34.6982', '-118.1359', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15311, 'Bass Lake', 2783, '93604', '559', '37.32145', '-119.551829', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15312, 'Big Creek', 2783, '93605', '559', '37.179629', '-119.288743', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15313, 'Berenda', 2783, '93637', '559', '36.912042', '-120.157606', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15314, 'Madera', 2783, '93637', '559', '36.912042', '-120.157606', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15315, 'Madera', 2783, '93638', '559', '37.022736', '-120.04309', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15316, 'Madera', 2783, '93639', '559', '37.1512', '-119.9691', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15317, 'Yettem', 2783, '93670', '559', '36.4867', '-119.2587', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15318, 'Fresno', 2783, '93703', '559', '36.768629', '-119.761159', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15319, 'Fresno', 2783, '93704', '559', '36.801012', '-119.802007', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15320, 'Fresno', 2783, '93737', '559', '36.750574', '-119.657832', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15321, 'Ca State Univ Fresno', 2783, '93740', '559', '36.8409', '-119.7988', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15322, 'Fresno', 2783, '93740', '559', '36.8409', '-119.7988', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15323, 'Fresno State University', 2783, '93740', '559', '36.8409', '-119.7988', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15324, 'Fresno', 2783, '93771', '559', '36.7475', '-119.7716', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15325, 'Fresno', 2783, '93773', '559', '36.7475', '-119.7716', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15326, 'Alisal', 2783, '93905', '831', '36.675739', '-121.608842', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15327, 'Salinas', 2783, '93905', '831', '36.675739', '-121.608842', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15328, 'Carmel', 2783, '93921', '831', '36.55466', '-121.921665', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15329, 'Carmel By The', 2783, '93921', '831', '36.55466', '-121.921665', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15330, 'Costa Mesa', 2783, '92627', '949', '33.648991', '-117.91778', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15331, 'Costa Mesa', 2783, '92628', '949', '33.6414', '-117.9178', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15332, 'Delta', 2784, '81416', '970', '38.713438', '-108.103767', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15333, 'Mack', 2784, '81525', '970', '39.241131', '-108.925854', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15334, 'New Liberty', 2784, '81525', '970', '39.241131', '-108.925854', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15335, 'Whitewater', 2784, '81527', '970', '38.912115', '-108.504455', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15336, 'Mesa', 2784, '81643', '970', '39.043998', '-108.091795', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15337, 'Austin', 2784, '81410', '970', '38.802685', '-107.935192', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15338, 'Orchard City', 2784, '81410', '970', '38.802685', '-107.935192', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15339, 'Crawford', 2784, '81415', '970', '38.631781', '-107.679494', '2018-11-29 04:51:42', '2018-11-29 04:51:42'),\n(15340, 'Maher', 2784, '81415', '970', '38.631781', '-107.679494', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15341, 'Nucla', 2784, '81424', '970', '38.350874', '-108.452243', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15342, 'Mountain Village', 2784, '81435', '970', '37.93986', '-107.861723', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15343, 'Mountain Vlg', 2784, '81435', '970', '37.93986', '-107.861723', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15344, 'Pandora', 2784, '81435', '970', '37.93986', '-107.861723', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15345, 'Sawpit', 2784, '81435', '970', '37.93986', '-107.861723', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15346, 'Telluride', 2784, '81435', '970', '37.93986', '-107.861723', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15347, 'Craig', 2784, '81626', '970', '40.5155', '-107.5458', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15348, 'Hotchkiss', 2784, '81419', '970', '38.834258', '-107.773468', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15349, 'Rogers Mesa', 2784, '81419', '970', '38.834258', '-107.773468', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15350, 'Naturita', 2784, '81422', '970', '38.326504', '-108.701141', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15351, 'Grand Jct', 2784, '81503', '970', '39.051034', '-108.577574', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15352, 'Grand Junction', 2784, '81503', '970', '39.051034', '-108.577574', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15353, 'Fruitvale', 2784, '81504', '970', '39.104367', '-108.45168', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15354, 'Grand Jct', 2784, '81504', '970', '39.104367', '-108.45168', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15355, 'Grand Junction', 2784, '81504', '970', '39.104367', '-108.45168', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15356, 'Grand Jct', 2784, '81506', '970', '39.16264', '-108.52292', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15357, 'Grand Junction', 2784, '81506', '970', '39.16264', '-108.52292', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15358, 'Avon', 2784, '81620', '970', '39.621602', '-106.495048', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15359, 'Beaver Creek', 2784, '81620', '970', '39.621602', '-106.495048', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15360, 'Hayden', 2784, '81639', '970', '40.613395', '-107.122857', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15361, 'Old Snowmass', 2784, '81654', '970', '39.213455', '-107.015262', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15362, 'Snowmass', 2784, '81654', '970', '39.213455', '-107.015262', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15363, 'Montrose', 2784, '81403', '970', '38.383633', '-107.905781', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15364, 'Appleton', 2784, '81505', '970', '39.183388', '-108.594823', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15365, 'Grand Jct', 2784, '81505', '970', '39.183388', '-108.594823', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15366, 'Grand Junction', 2784, '81505', '970', '39.183388', '-108.594823', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15367, 'Colorado National Monument', 2784, '81521', '970', '39.224721', '-108.661382', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15368, 'Fruita', 2784, '81521', '970', '39.224721', '-108.661382', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15369, 'Glade Park', 2784, '81523', '970', '39.018151', '-108.855297', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15370, 'Carbondale', 2784, '81623', '970', '39.246802', '-107.226118', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15371, 'Crystal', 2784, '81623', '970', '39.246802', '-107.226118', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15372, 'El Jebel', 2784, '81623', '970', '39.246802', '-107.226118', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15373, 'Marble', 2784, '81623', '970', '39.246802', '-107.226118', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15374, 'Redstone', 2784, '81623', '970', '39.246802', '-107.226118', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15375, 'East Vail', 2784, '81657', '970', '39.568541', '-106.430988', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15376, 'Vail', 2784, '81657', '970', '39.568541', '-106.430988', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15377, 'West Vail', 2784, '81657', '970', '39.568541', '-106.430988', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15378, 'Pleasant View', 2784, '81331', '970', '37.480715', '-108.81142', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15379, 'Bowie', 2784, '81428', '970', '38.998914', '-107.62177', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15380, 'Paonia', 2784, '81428', '970', '38.998914', '-107.62177', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15381, 'Placerville', 2784, '81430', '970', '37.964764', '-108.041238', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15382, 'Sawpit', 2784, '81430', '970', '37.964764', '-108.041238', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15383, 'Aspen', 2784, '81612', '970', '39.1912', '-106.8169', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15384, 'Gilman', 2784, '81645', '970', '39.47407', '-106.465515', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15385, 'Minturn', 2784, '81645', '970', '39.47407', '-106.465515', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15386, 'New Castle', 2784, '81647', '970', '39.597554', '-107.533594', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15387, 'Us Army Corp Of Engineers', 2786, '20314', '202', '38.8926', '-77.0367', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15388, 'Washington', 2786, '20314', '202', '38.8926', '-77.0367', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15389, 'Mafic', 2786, '20262', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15390, 'Washington', 2786, '20262', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15391, 'Us Information Agency', 2786, '20547', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15392, 'Washington', 2786, '20547', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15393, 'G W Univ', 2786, '20052', '202', '38.8993', '-77.0497', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15394, 'Washington', 2786, '20052', '202', '38.8993', '-77.0497', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15395, 'Veterans Admin', 2786, '20420', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15396, 'Washington', 2786, '20420', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15397, 'Veterans Benefits Office', 2786, '20421', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15398, 'Washington', 2786, '20421', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15399, 'Veterans Hospital', 2786, '20422', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15400, 'Washington', 2786, '20422', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15401, 'International Trade Comm', 2786, '20436', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15402, 'Washington', 2786, '20436', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15403, 'Food And Drug Admin', 2786, '20437', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15404, 'Washington', 2786, '20437', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15405, 'Gsa Tele Com Serv', 2786, '20470', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15406, 'Washington', 2786, '20470', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15407, 'Dept Education', 2786, '20202', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15408, 'Washington', 2786, '20202', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15409, 'Presidential Transition Team', 2786, '20270', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15410, 'Washington', 2786, '20270', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15411, 'National Imaging And Mapping', 2786, '20303', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15412, 'Washington', 2786, '20303', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15413, 'Us Bureau Of Customs', 2786, '20229', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15414, 'Washington', 2786, '20229', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15415, 'Dept Commerce', 2786, '20230', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15416, 'Washington', 2786, '20230', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15417, 'Fha Comptroller', 2786, '20412', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15418, 'Washington', 2786, '20412', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15419, 'Hud Fed Natl Mortgage', 2786, '20414', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15420, 'Washington', 2786, '20414', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15421, 'Dept Navy Hq Marines Arl', 2786, '20380', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15422, 'Washington', 2786, '20380', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15423, 'Federal Trade Comm', 2786, '20580', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15424, 'Washington', 2786, '20580', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15425, 'Commodity Futures Trade', 2786, '20581', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15426, 'Washington', 2786, '20581', '202', '38.8951', '-77.0369', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15427, 'Washington', 2786, '20020', '202', '38.862289', '-76.97296', '2018-11-29 04:51:43', '2018-11-29 04:51:43'),\n(15428, 'Washington', 2786, '20036', '202', '38.906861', '-77.041385', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15429, 'Washington', 2786, '20004', '202', '38.892444', '-77.020588', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15430, 'Wash Intell Bureau Inc', 2786, '20069', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15431, 'Washington', 2786, '20069', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15432, 'Wash Intell Bureau Inc', 2786, '20070', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15433, 'Washington', 2786, '20070', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15434, 'Washington', 2786, '20071', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15435, 'Washington Post', 2786, '20071', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15436, 'Friendship Heights', 2786, '20088', '202', '38.8976', '-77.0234', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15437, 'Washington', 2786, '20088', '202', '38.8976', '-77.0234', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15438, 'Fbi Identification Unit', 2786, '20537', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15439, 'Washington', 2786, '20537', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15440, 'Federal Aviation Agency', 2786, '20553', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15441, 'Washington', 2786, '20553', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15442, 'Exec Office Other Organ', 2786, '20506', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15443, 'Washington', 2786, '20506', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15444, 'Washington', 2786, '20011', '202', '38.950224', '-77.019714', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15445, 'Washington', 2786, '20012', '202', '38.97827', '-77.02853', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15446, 'Washington', 2786, '20026', '202', '38.9069', '-77.0284', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15447, 'Wachovia', 2786, '20061', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15448, 'Washington', 2786, '20061', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15449, 'Int Group Plans Inc', 2786, '20063', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15450, 'Washington', 2786, '20063', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15451, 'Washington', 2786, '20080', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15452, 'Washington Gas', 2786, '20080', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15453, 'Geico', 2786, '20076', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15454, 'Washington', 2786, '20076', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15455, 'Washington', 2786, '20077', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15456, 'Washington Brm', 2786, '20077', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15457, 'Washington', 2786, '20078', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15458, 'Washington', 2786, '20013', '202', '38.9008', '-77.0104', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15459, 'Washington', 2786, '20027', '202', '38.9069', '-77.0284', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15460, 'Washington', 2786, '20029', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15461, 'Us Chamber Of Com', 2786, '20062', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15462, 'Washington', 2786, '20062', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15463, 'Washington', 2786, '20006', '202', '38.895101', '-77.039776', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15464, 'Chevy Chase', 2786, '20015', '202', '38.96829', '-77.064974', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15465, 'Washington', 2786, '20015', '202', '38.96829', '-77.064974', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15466, 'Fort Lesley J Mcnair', 2786, '20024', '202', '38.870368', '-77.036701', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15467, 'Fort Mcnair', 2786, '20024', '202', '38.870368', '-77.036701', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15468, 'Ft L J Mcnair', 2786, '20024', '202', '38.870368', '-77.036701', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15469, 'Washington', 2786, '20024', '202', '38.870368', '-77.036701', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15470, 'Washington', 2786, '20033', '202', '38.9188', '-77.0175', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15471, 'Washington Brm', 2786, '20078', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15472, 'Bureau Engav And Printing', 2786, '20228', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15473, 'Washington', 2786, '20228', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15474, 'Washington', 2786, '20277', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15475, 'Washington Dc Brm', 2786, '20277', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15476, 'Adm Office Us Court', 2786, '20544', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15477, 'Washington', 2786, '20544', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15478, 'Natl Aero And Space Admin', 2786, '20546', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15479, 'Washington', 2786, '20546', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15480, 'Natl Trans Safety Board', 2786, '20594', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15481, 'Washington', 2786, '20594', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15482, 'Armed Forces Inaugural Com', 2786, '20597', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15483, 'Washington', 2786, '20597', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15484, 'Washington', 2786, '20043', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15485, 'Washington', 2786, '20044', '202', '38.895', '-77.0367', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15486, 'Washington', 2786, '20411', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15487, 'Housing Assistance Adm', 2786, '20413', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15488, 'Washington', 2786, '20413', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15489, 'Fed Mediation And Concil Ser', 2786, '20427', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15490, 'Washington', 2786, '20427', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15491, 'Civil Aeronautics Board', 2786, '20428', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15492, 'Washington', 2786, '20428', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15493, 'Dept Of Labor', 2786, '20210', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15494, 'Washington', 2786, '20210', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15495, 'Office Of Workers Comp', 2786, '20211', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15496, 'Washington', 2786, '20211', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15497, 'Dept Labor Manpower Admn', 2786, '20213', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15498, 'Washington', 2786, '20213', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15499, 'Tennessee Valley Auth', 2786, '20444', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15500, 'Washington', 2786, '20444', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15501, 'Federal Election Comm', 2786, '20463', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15502, 'Washington', 2786, '20463', '202', '38.8951', '-77.0369', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15503, 'Felton', 2787, '19943', '302', '39.012244', '-75.605763', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15504, 'Fenwick Is', 2787, '19944', '302', '38.480161', '-75.056906', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15505, 'Fenwick Island', 2787, '19944', '302', '38.480161', '-75.056906', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15506, 'Fenwick Isle', 2787, '19944', '302', '38.480161', '-75.056906', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15507, 'Selbyville', 2787, '19944', '302', '38.480161', '-75.056906', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15508, 'Frederica', 2787, '19946', '302', '39.030558', '-75.458994', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15509, 'Smyrna', 2787, '19977', '302', '39.262896', '-75.539882', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15510, 'Saint Georges', 2787, '19733', '302', '39.55603', '-75.650146', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15511, 'Astrazeneca', 2787, '19897', '302', '39.7459', '-75.5466', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15512, 'Wilmington', 2787, '19897', '302', '39.7459', '-75.5466', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15513, 'Wilmington', 2787, '19899', '302', '39.7459', '-75.5466', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15514, 'Lewes', 2787, '19958', '302', '38.72622', '-75.162532', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15515, 'Lewes Beach', 2787, '19958', '302', '38.72622', '-75.162532', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15516, 'Millville', 2787, '19967', '302', '38.546736', '-75.112571', '2018-11-29 04:51:44', '2018-11-29 04:51:44'),\n(15517, 'Ocean View', 2787, '19967', '302', '38.546736', '-75.112571', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15518, 'Marshallton', 2787, '19808', '302', '39.734539', '-75.665124', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15519, 'Wilmington', 2787, '19808', '302', '39.734539', '-75.665124', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15520, 'Wilmington', 2787, '19890', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15521, 'Wilmington Trust', 2787, '19890', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15522, 'Magnolia', 2787, '19962', '302', '39.076954', '-75.488884', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15523, 'Milford', 2787, '19963', '302', '38.94073', '-75.364092', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15524, 'Slaughter Beach', 2787, '19963', '302', '38.94073', '-75.364092', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15525, 'Bellefonte', 2787, '19809', '302', '39.766172', '-75.487952', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15526, 'Edgemoor', 2787, '19809', '302', '39.766172', '-75.487952', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15527, 'Wilmington', 2787, '19809', '302', '39.766172', '-75.487952', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15528, 'Arden', 2787, '19810', '302', '39.815127', '-75.504825', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15529, 'Edgemoor', 2787, '19810', '302', '39.815127', '-75.504825', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15530, 'Wilmington', 2787, '19810', '302', '39.815127', '-75.504825', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15531, 'Manor', 2787, '19720', '302', '39.63821', '-75.587201', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15532, 'Minquadale', 2787, '19720', '302', '39.63821', '-75.587201', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15533, 'New Castle', 2787, '19720', '302', '39.63821', '-75.587201', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15534, 'Dover', 2787, '19901', '302', '39.157646', '-75.493994', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15535, 'Leipsic', 2787, '19901', '302', '39.157646', '-75.493994', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15536, 'Dover', 2787, '19903', '302', '39.1581', '-75.5248', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15537, 'Milton', 2787, '19968', '302', '38.76454', '-75.297836', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15538, 'Nassau', 2787, '19969', '302', '38.7516', '-75.1884', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15539, 'Harbeson', 2787, '19951', '302', '38.689837', '-75.239996', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15540, 'Harrington', 2787, '19952', '302', '38.911041', '-75.606629', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15541, 'Houston', 2787, '19954', '302', '38.895588', '-75.520071', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15542, 'Newark', 2787, '19712', '302', '39.6837', '-75.7501', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15543, 'Newark', 2787, '19725', '302', '39.6837', '-75.7501', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15544, 'Shared Firm Zip', 2787, '19725', '302', '39.6837', '-75.7501', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15545, 'Hercules Incorporated', 2787, '19894', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15546, 'Wilmington', 2787, '19894', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15547, 'Delmarva Power', 2787, '19895', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15548, 'Wilmington', 2787, '19895', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15549, 'Little Creek', 2787, '19961', '302', '39.1667', '-75.4488', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15550, 'Chase Manhattan Bank N A', 2787, '19893', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15551, 'Wilmington', 2787, '19893', '302', '39.7459', '-75.5466', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15552, 'Newark', 2787, '19726', '302', '39.6837', '-75.7501', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15553, 'Shared Firm Zip', 2787, '19726', '302', '39.6837', '-75.7501', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15554, 'Bear', 2787, '19701', '302', '39.598334', '-75.706122', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15555, 'Orlando', 2788, '32897', '407', '28.5382', '-81.3795', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15556, 'Suntrust National Bank', 2788, '32897', '407', '28.5382', '-81.3795', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15557, 'Marathon', 2788, '33052', '305', '24.7133', '-81.0908', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15558, 'Marathon Shores', 2788, '33052', '305', '24.7133', '-81.0908', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15559, 'Key Colony Beach', 2788, '33051', '305', '24.7226', '-81.0216', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15560, 'Marathon', 2788, '33051', '305', '24.7226', '-81.0216', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15561, 'Houghton Mifflin Harcourt', 2788, '32887', '407', '28.5382', '-81.3795', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15562, 'Orlando', 2788, '32887', '407', '28.5382', '-81.3795', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15563, 'Pocatello', 2793, '83206', '208', '42.8942', '-112.4557', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15564, 'Bennington', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15565, 'Liberty', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15566, 'Montpelier', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15567, 'Nounan', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15568, 'Ovid', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15569, 'Pegram', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15570, 'Wardboro', 2793, '83254', '208', '42.302212', '-111.340815', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15571, 'Moreland', 2793, '83256', '208', '43.2225', '-112.4418', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15572, 'Preston', 2793, '83263', '208', '42.207568', '-111.749812', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15573, 'Goshen', 2793, '83274', '208', '43.22269', '-111.861953', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15574, 'Jamestown', 2793, '83274', '208', '43.22269', '-111.861953', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15575, 'Shelley', 2793, '83274', '208', '43.22269', '-111.861953', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15576, 'Woodville', 2793, '83274', '208', '43.22269', '-111.861953', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15577, 'Swanlake', 2793, '83281', '208', '42.323922', '-111.969598', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15578, 'Bellevue', 2793, '83313', '208', '43.380932', '-114.298735', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15579, 'Broadford', 2793, '83313', '208', '43.380932', '-114.298735', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15580, 'East Magic', 2793, '83313', '208', '43.380932', '-114.298735', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15581, 'Gannett', 2793, '83313', '208', '43.380932', '-114.298735', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15582, 'Corral', 2793, '83322', '208', '43.276569', '-115.00907', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15583, 'Fairfield', 2793, '83322', '208', '43.276569', '-115.00907', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15584, 'Appleton', 2793, '83338', '208', '42.720543', '-114.312786', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15585, 'Falls City', 2793, '83338', '208', '42.720543', '-114.312786', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15586, 'Jerome', 2793, '83338', '208', '42.720543', '-114.312786', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15587, 'Sugar Loaf', 2793, '83338', '208', '42.720543', '-114.312786', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15588, 'Paul', 2793, '83347', '208', '42.738384', '-113.90471', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15589, 'Richfield', 2793, '83349', '208', '43.019464', '-114.024948', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15590, 'Elk Horn', 2793, '83354', '208', '43.679295', '-114.331861', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15591, 'Sun Valley', 2793, '83354', '208', '43.679295', '-114.331861', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15592, 'Idaho Falls', 2793, '83404', '208', '43.42792', '-111.973144', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15593, 'Lewisville', 2793, '83431', '208', '43.685526', '-112.03904', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15594, 'Cottonwood', 2793, '83522', '208', '45.88422', '-116.503293', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15595, 'Keuterville', 2793, '83522', '208', '45.88422', '-116.503293', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15596, 'Culdesac', 2793, '83524', '208', '46.348658', '-116.710237', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15597, 'Pollock', 2793, '83547', '208', '45.297488', '-116.335711', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15598, 'Riggins', 2793, '83549', '208', '45.338266', '-116.07995', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15599, 'Caldwell', 2793, '83606', '208', '43.6631', '-116.6865', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15600, 'Boise', 2793, '83706', '208', '43.594418', '-116.192438', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15601, 'Boise', 2793, '83722', '208', '43.6139', '-116.2025', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15602, 'Idaho State Tax Commission', 2793, '83722', '208', '43.6139', '-116.2025', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15603, 'Boise', 2793, '83731', '208', '43.6139', '-116.2025', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15604, 'Dept Of Transportation', 2793, '83731', '208', '43.6139', '-116.2025', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15605, 'Bovill', 2793, '83806', '208', '46.875578', '-116.377344', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15606, 'Desmet', 2793, '83824', '208', '47.099078', '-116.907896', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15607, 'Priest Lake', 2793, '83856', '208', '48.282007', '-116.835727', '2018-11-29 04:51:45', '2018-11-29 04:51:45'),\n(15608, 'Priest River', 2793, '83856', '208', '48.282007', '-116.835727', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15609, 'Arbon', 2793, '83212', '208', '42.499791', '-112.55259', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15610, 'Lava Hot Spgs', 2793, '83246', '208', '42.603081', '-112.023158', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15611, 'Lava Hot Springs', 2793, '83246', '208', '42.603081', '-112.023158', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15612, 'Topaz', 2793, '83246', '208', '42.603081', '-112.023158', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15613, 'Bliss', 2793, '83314', '208', '43.023184', '-114.840526', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15614, 'Mellon Valley', 2793, '83314', '208', '43.023184', '-114.840526', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15615, 'Tuttle', 2793, '83314', '208', '43.023184', '-114.840526', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15616, 'Castleford', 2793, '83321', '208', '42.434144', '-114.891439', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15617, 'Roseworth', 2793, '83321', '208', '42.434144', '-114.891439', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15618, 'Hagerman', 2793, '83332', '208', '42.826215', '-114.92876', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15619, 'Basin', 2793, '83346', '208', '42.246076', '-113.991452', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15620, 'Churchill', 2793, '83346', '208', '42.246076', '-113.991452', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15621, 'Oakley', 2793, '83346', '208', '42.246076', '-113.991452', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15622, 'Picabo', 2793, '83348', '208', '43.254106', '-114.107819', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15623, 'Idaho Falls', 2793, '83405', '208', '43.4667', '-112.0335', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15624, 'Argora', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15625, 'Dubois', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15626, 'Idman', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15627, 'Kilgore', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15628, 'Lidy Hot Springs', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15629, 'Reno', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15630, 'Small', 2793, '83423', '208', '44.265619', '-112.583222', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15631, 'Dubois', 2793, '83446', '208', '44.31449', '-111.960564', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15632, 'Humphrey', 2793, '83446', '208', '44.31449', '-111.960564', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15633, 'Spencer', 2793, '83446', '208', '44.31449', '-111.960564', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15634, 'Fox Creek', 2793, '83455', '208', '43.598263', '-111.161791', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15635, 'Vernon', 2793, '83455', '208', '43.598263', '-111.161791', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15636, 'Victor', 2793, '83455', '208', '43.598263', '-111.161791', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15637, 'North Fork', 2793, '83466', '208', '45.409875', '-113.882224', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15638, 'Craigmont', 2793, '83523', '208', '46.232506', '-116.48908', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15639, 'Caldwell', 2793, '83605', '208', '43.668103', '-116.648324', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15640, 'Doles', 2793, '83605', '208', '43.668103', '-116.648324', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15641, 'Enrose', 2793, '83605', '208', '43.668103', '-116.648324', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15642, 'Knowlton Heights', 2793, '83605', '208', '43.668103', '-116.648324', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15643, 'Sunnyslope', 2793, '83605', '208', '43.668103', '-116.648324', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15644, 'Weitz', 2793, '83605', '208', '43.668103', '-116.648324', '2018-11-29 04:51:46', '2018-11-29 04:51:46');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(15645, 'Eagle', 2793, '83616', '208', '43.760582', '-116.387926', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15646, 'Pearl', 2793, '83616', '208', '43.760582', '-116.387926', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15647, 'Meridian', 2793, '83646', '208', '43.652122', '-116.426272', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15648, 'Coeur D Alene', 2793, '83814', '208', '47.619256', '-116.68258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15649, 'Fernan Lake Village', 2793, '83814', '208', '47.619256', '-116.68258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15650, 'Fernan Lk Vlg', 2793, '83814', '208', '47.619256', '-116.68258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15651, 'Deary', 2793, '83823', '208', '46.842462', '-116.49628', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15652, 'Helmer', 2793, '83823', '208', '46.842462', '-116.49628', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15653, 'Clifton', 2793, '83228', '208', '42.215694', '-112.035732', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15654, 'Oxford', 2793, '83228', '208', '42.215694', '-112.035732', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15655, 'Glencoe', 2793, '83261', '208', '42.193702', '-111.471052', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15656, 'Paris', 2793, '83261', '208', '42.193702', '-111.471052', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15657, 'Springfield', 2793, '83277', '208', '43.076572', '-112.68358', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15658, 'Curry', 2793, '83328', '208', '42.56916', '-114.612697', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15659, 'Filer', 2793, '83328', '208', '42.56916', '-114.612697', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15660, 'Elba', 2793, '83342', '208', '42.297031', '-113.420368', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15661, 'Malta', 2793, '83342', '208', '42.297031', '-113.420368', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15662, 'Minidoka', 2793, '83343', '208', '42.982198', '-113.588748', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15663, 'Rupert', 2793, '83343', '208', '42.982198', '-113.588748', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15664, 'Roberts', 2793, '83444', '208', '43.72761', '-112.199282', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15665, 'Anthony', 2793, '83445', '208', '44.188447', '-111.602672', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15666, 'Egin', 2793, '83445', '208', '44.188447', '-111.602672', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15667, 'Heman', 2793, '83445', '208', '44.188447', '-111.602672', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15668, 'Saint Anthony', 2793, '83445', '208', '44.188447', '-111.602672', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15669, 'Twin Groves', 2793, '83445', '208', '44.188447', '-111.602672', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15670, 'Wilford', 2793, '83445', '208', '44.188447', '-111.602672', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15671, 'Byu-Idaho', 2793, '83460', '208', '43.815638', '-111.785234', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15672, 'Rexburg', 2793, '83460', '208', '43.815638', '-111.785234', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15673, 'Dixie', 2793, '83525', '208', '45.933628', '-115.214532', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15674, 'Elk City', 2793, '83525', '208', '45.933628', '-115.214532', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15675, 'Greer', 2793, '83544', '208', '46.644723', '-115.482095', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15676, 'Orofino', 2793, '83544', '208', '46.644723', '-115.482095', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15677, 'Peck', 2793, '83545', '208', '46.425018', '-116.456292', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15678, 'Meridian', 2793, '83642', '208', '43.569526', '-116.403984', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15679, 'Mesa', 2793, '83643', '208', '44.676644', '-116.380237', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15680, 'Payette', 2793, '83661', '208', '44.075718', '-116.714711', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15681, 'Wilder', 2793, '83676', '208', '43.650321', '-116.919602', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15682, 'Boise', 2793, '83709', '208', '43.560522', '-116.289073', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15683, 'Cataldo', 2793, '83810', '208', '47.527805', '-116.44607', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15684, 'Rose Lake', 2793, '83810', '208', '47.527805', '-116.44607', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15685, 'Sagle', 2793, '83860', '208', '48.183472', '-116.546472', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15686, 'Isu', 2793, '83201', '208', '42.880818', '-112.364542', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15687, 'Pocatello', 2793, '83201', '208', '42.880818', '-112.364542', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15688, 'Tyhee', 2793, '83201', '208', '42.880818', '-112.364542', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15689, 'Westwood Village', 2793, '83201', '208', '42.880818', '-112.364542', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15690, 'Fort Hall', 2793, '83203', '208', '42.96391', '-112.240258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15691, 'Fort Hall Indian Reservation', 2793, '83203', '208', '42.96391', '-112.240258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15692, 'Ft Hall', 2793, '83203', '208', '42.96391', '-112.240258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15693, 'Gibson', 2793, '83203', '208', '42.96391', '-112.240258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15694, 'Pocatello', 2793, '83203', '208', '42.96391', '-112.240258', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15695, 'Bancroft', 2793, '83217', '208', '42.797015', '-111.915362', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15696, 'Chesterfield', 2793, '83217', '208', '42.797015', '-111.915362', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15697, 'Lund', 2793, '83217', '208', '42.797015', '-111.915362', '2018-11-29 04:51:46', '2018-11-29 04:51:46'),\n(15698, 'Pebble', 2793, '83217', '208', '42.797015', '-111.915362', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15699, 'Dingle', 2793, '83233', '208', '42.2195', '-111.2673', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15700, 'Chilly', 2793, '83251', '208', '43.922334', '-113.889482', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15701, 'Mackay', 2793, '83251', '208', '43.922334', '-113.889482', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15702, 'Linrose', 2793, '83286', '208', '42.057304', '-112.008022', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15703, 'Weston', 2793, '83286', '208', '42.057304', '-112.008022', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15704, 'Rogerson', 2793, '83302', '208', '42.123242', '-114.784564', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15705, 'Three Creek', 2793, '83302', '208', '42.123242', '-114.784564', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15706, 'Twin Falls', 2793, '83302', '208', '42.123242', '-114.784564', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15707, 'Hansen', 2793, '83334', '208', '42.360922', '-114.13287', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15708, 'Rock Creek', 2793, '83334', '208', '42.360922', '-114.13287', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15709, 'Heyburn', 2793, '83336', '208', '42.555794', '-113.809903', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15710, 'Teton', 2793, '83451', '208', '43.876076', '-111.647536', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15711, 'Tetonia', 2793, '83452', '208', '43.851244', '-111.223738', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15712, 'Tendoy', 2793, '83468', '208', '44.931667', '-113.683874', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15713, 'Bruneau', 2793, '83604', '208', '42.49895', '-115.504166', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15714, 'Bruneau Valley', 2793, '83604', '208', '42.49895', '-115.504166', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15715, 'Grasmere', 2793, '83604', '208', '42.49895', '-115.504166', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15716, 'Riddle', 2793, '83604', '208', '42.49895', '-115.504166', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15717, 'Fruitland', 2793, '83619', '208', '43.974935', '-116.892258', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15718, 'Nampa', 2793, '83653', '208', '43.5408', '-116.5625', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15719, 'Meadows', 2793, '83654', '208', '45.013836', '-116.305418', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15720, 'New Meadows', 2793, '83654', '208', '45.013836', '-116.305418', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15721, 'Bowmont', 2793, '83686', '208', '43.478176', '-116.603371', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15722, 'Nampa', 2793, '83686', '208', '43.478176', '-116.603371', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15723, 'Nampa', 2793, '83687', '208', '43.598194', '-116.540274', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15724, 'Boise', 2793, '83717', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15725, 'Boise', 2793, '83719', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15726, 'Bayview', 2793, '83803', '208', '47.937716', '-116.552974', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15727, 'Kellogg', 2793, '83837', '208', '47.728528', '-116.008592', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15728, 'Wardner', 2793, '83837', '208', '47.728528', '-116.008592', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15729, 'Plummer', 2793, '83851', '208', '47.28738', '-116.855663', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15730, 'Porthill', 2793, '83853', '208', '48.920165', '-116.557013', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15731, 'Spirit Lake', 2793, '83869', '208', '48.011272', '-116.90486', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15732, 'Aberdeen', 2793, '83210', '208', '43.056538', '-112.816261', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15733, 'Sterling', 2793, '83210', '208', '43.056538', '-112.816261', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15734, 'Am Falls', 2793, '83211', '208', '42.842097', '-112.976338', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15735, 'American Falls', 2793, '83211', '208', '42.842097', '-112.976338', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15736, 'American Fls', 2793, '83211', '208', '42.842097', '-112.976338', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15737, 'Heglar', 2793, '83211', '208', '42.842097', '-112.976338', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15738, 'Neeley', 2793, '83211', '208', '42.842097', '-112.976338', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15739, 'Raft River', 2793, '83211', '208', '42.842097', '-112.976338', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15740, 'Clyde', 2793, '83244', '208', '43.776953', '-112.97578', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15741, 'Howe', 2793, '83244', '208', '43.776953', '-112.97578', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15742, 'Soda Springs', 2793, '83276', '208', '42.74721', '-111.495516', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15743, 'Bonanza', 2793, '83278', '208', '44.326203', '-114.791624', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15744, 'Lower Stanley', 2793, '83278', '208', '44.326203', '-114.791624', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15745, 'Redfish Lake', 2793, '83278', '208', '44.326203', '-114.791624', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15746, 'Stanley', 2793, '83278', '208', '44.326203', '-114.791624', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15747, 'Sunbeam', 2793, '83278', '208', '44.326203', '-114.791624', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15748, 'Fairfield', 2793, '83327', '208', '43.528156', '-114.731386', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15749, 'Kimberly', 2793, '83341', '208', '42.483294', '-114.370148', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15750, 'Hamer', 2793, '83425', '208', '43.916249', '-112.166606', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15751, 'Irwin', 2793, '83428', '208', '43.37844', '-111.256564', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15752, 'Palisades', 2793, '83428', '208', '43.37844', '-111.256564', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15753, 'Carmen', 2793, '83462', '208', '45.293259', '-113.858035', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15754, 'Nezperce', 2793, '83543', '208', '46.282535', '-116.244424', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15755, 'Alpine', 2793, '83610', '208', '44.659254', '-116.803978', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15756, 'Cambridge', 2793, '83610', '208', '44.659254', '-116.803978', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15757, 'Greenleaf', 2793, '83626', '208', '43.676644', '-116.827127', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15758, 'Middleton', 2793, '83644', '208', '43.744069', '-116.587782', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15759, 'Midvale', 2793, '83645', '208', '44.390044', '-116.631318', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15760, 'Apple Valley', 2793, '83660', '208', '43.85035', '-116.912422', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15761, 'Parma', 2793, '83660', '208', '43.85035', '-116.912422', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15762, 'Roswell', 2793, '83660', '208', '43.85035', '-116.912422', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15763, 'Stibnite', 2793, '83677', '208', '45.042904', '-115.204505', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15764, 'Yellow Pine', 2793, '83677', '208', '45.042904', '-115.204505', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15765, 'Boise', 2793, '83711', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15766, 'Boise', 2793, '83728', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15767, 'Boise Cascade', 2793, '83728', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15768, 'Boise', 2793, '83729', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15769, 'Washington Group', 2793, '83729', '208', '43.6139', '-116.2025', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15770, 'Cocolalla', 2793, '83813', '208', '48.087152', '-116.654348', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15771, 'Eastport', 2793, '83826', '208', '48.957033', '-116.198285', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15772, 'Elk River', 2793, '83827', '208', '46.807316', '-116.239077', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15773, 'Moscow', 2793, '83843', '208', '46.717246', '-116.921468', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15774, 'University', 2793, '83843', '208', '46.717246', '-116.921468', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15775, 'Moscow', 2793, '83844', '208', '46.7328', '-116.9993', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15776, 'University Of Idaho', 2793, '83844', '208', '46.7328', '-116.9993', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15777, 'Midland Hills', 2794, '62958', '618', '37.59238', '-89.157622', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15778, 'New Burnside', 2794, '62967', '618', '37.578519', '-88.757253', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15779, 'Blairsville', 2794, '62918', '618', '37.774286', '-89.07815', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15780, 'Carterville', 2794, '62918', '618', '37.774286', '-89.07815', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15781, 'Crainville', 2794, '62918', '618', '37.774286', '-89.07815', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15782, 'Dewmaine', 2794, '62918', '618', '37.774286', '-89.07815', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15783, 'Hafer', 2794, '62918', '618', '37.774286', '-89.07815', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15784, 'Equality', 2794, '62934', '618', '37.706274', '-88.355424', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15785, 'Dixon Springs', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15786, 'Ganntown', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15787, 'Grantsburg', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15788, 'New Columbia', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15789, 'Reevesville', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15790, 'Samoth', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:47', '2018-11-29 04:51:47'),\n(15791, 'Wartrace', 2794, '62943', '618', '37.359287', '-88.765108', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15792, 'Herrin', 2794, '62948', '618', '37.804004', '-89.026051', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15793, 'Paineville', 2794, '62948', '618', '37.804004', '-89.026051', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15794, 'Degognia', 2794, '62950', '618', '37.750349', '-89.55902', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15795, 'Fountain Bluff', 2794, '62950', '618', '37.750349', '-89.55902', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15796, 'Jacob', 2794, '62950', '618', '37.750349', '-89.55902', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15797, 'Neunert', 2794, '62950', '618', '37.750349', '-89.55902', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15798, 'Raddle', 2794, '62950', '618', '37.750349', '-89.55902', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15799, 'East Cape Girardeau', 2794, '62957', '618', '37.313112', '-89.43029', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15800, 'Mc Clure', 2794, '62957', '618', '37.313112', '-89.43029', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15801, 'Mcclure', 2794, '62957', '618', '37.313112', '-89.43029', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15802, 'Perks', 2794, '62973', '618', '37.3099', '-89.0805', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15803, 'Rosiclare', 2794, '62982', '618', '37.421112', '-88.358101', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15804, 'Bowlesville', 2794, '62984', '618', '37.682042', '-88.142679', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15805, 'Gold Hill', 2794, '62984', '618', '37.682042', '-88.142679', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15806, 'Old Shawneetown', 2794, '62984', '618', '37.682042', '-88.142679', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15807, 'Shawnee', 2794, '62984', '618', '37.682042', '-88.142679', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15808, 'Shawneetown', 2794, '62984', '618', '37.682042', '-88.142679', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15809, 'Wolf Lake', 2794, '62998', '618', '37.523734', '-89.449304', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15810, 'Dongola', 2794, '62926', '618', '37.371336', '-89.147105', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15811, 'Wetaug', 2794, '62926', '618', '37.371336', '-89.147105', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15812, 'Grand Tower', 2794, '62942', '618', '37.635424', '-89.468693', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15813, 'Howardton', 2794, '62942', '618', '37.635424', '-89.468693', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15814, 'Red Town', 2794, '62942', '618', '37.635424', '-89.468693', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15815, 'Hurst', 2794, '62949', '618', '37.844812', '-89.133548', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15816, 'Makanda', 2794, '62958', '618', '37.59238', '-89.157622', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15817, 'Cave In Rock', 2794, '62919', '618', '37.528673', '-88.226238', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15818, 'Lamb', 2794, '62919', '618', '37.528673', '-88.226238', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15819, 'Rock Creek', 2794, '62919', '618', '37.528673', '-88.226238', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15820, 'Joppa', 2794, '62953', '618', '37.311762', '-88.792707', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15821, 'Junction', 2794, '62954', '618', '37.695427', '-88.244768', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15822, 'Karbers Ridge', 2794, '62955', '618', '37.466521', '-88.367157', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15823, 'Norwich', 2796, '67118', '620', '37.429759', '-97.898718', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15824, 'Protection', 2796, '67127', '620', '37.190566', '-99.470736', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15825, 'Sawyer', 2796, '67134', '620', '37.514478', '-98.684386', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15826, 'North Wichita', 2796, '67204', '316', '37.77379', '-97.379107', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15827, 'Park City', 2796, '67204', '316', '37.77379', '-97.379107', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15828, 'Wichita', 2796, '67204', '316', '37.77379', '-97.379107', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15829, 'Wichita', 2796, '67277', '316', '37.6924', '-97.3375', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15830, 'Elk Falls', 2796, '67345', '620', '37.35884', '-96.216808', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15831, 'Sedan', 2796, '67361', '620', '37.150032', '-96.163373', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15832, 'Beloit', 2796, '67420', '785', '39.393075', '-98.15319', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15833, 'Scottsville', 2796, '67420', '785', '39.393075', '-98.15319', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15834, 'Bennington', 2796, '67422', '785', '39.016064', '-97.603101', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15835, 'Bushton', 2796, '67427', '620', '38.492777', '-98.40571', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15836, 'Glasco', 2796, '67445', '785', '39.321138', '-97.874124', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15837, 'Green', 2796, '67447', '785', '39.480394', '-96.992235', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15838, 'Garfield', 2796, '67529', '620', '38.043631', '-99.241124', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15839, 'Fellsburg', 2796, '67552', '620', '37.866942', '-99.2366', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15840, 'Lewis', 2796, '67552', '620', '37.866942', '-99.2366', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15841, 'Lyons', 2796, '67554', '620', '38.311395', '-98.147116', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15842, 'Offerle', 2796, '67563', '620', '37.844423', '-99.542265', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15843, 'Sterling', 2796, '67579', '620', '38.187802', '-98.215988', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15844, 'Sylvia', 2796, '67581', '620', '38.017108', '-98.408272', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15845, 'Almena', 2796, '67622', '785', '39.871348', '-99.682765', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15846, 'Catharine', 2796, '67627', '785', '39.074616', '-99.153512', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15847, 'Ogallah', 2796, '67656', '785', '38.914453', '-99.687906', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15848, 'Wa Keeney', 2796, '67672', '785', '38.914137', '-99.873512', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15849, 'Wakeeney', 2796, '67672', '785', '38.914137', '-99.873512', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15850, 'Mc Donald', 2796, '67745', '785', '39.785434', '-101.299402', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15851, 'Mcdonald', 2796, '67745', '785', '39.785434', '-101.299402', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15852, 'Monument', 2796, '67747', '785', '39.060949', '-101.07248', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15853, 'Winona', 2796, '67747', '785', '39.060949', '-101.07248', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15854, 'Wallace', 2796, '67761', '785', '38.916798', '-101.519566', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15855, 'Deerfield', 2796, '67838', '620', '38.109932', '-101.185166', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15856, 'Jetmore', 2796, '67854', '620', '38.087732', '-100.008087', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15857, 'Leoti', 2796, '67861', '620', '38.482285', '-101.346467', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15858, 'Selkirk', 2796, '67861', '620', '38.482285', '-101.346467', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15859, 'Tribune', 2796, '67879', '620', '38.480966', '-101.806185', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15860, 'Arkansas City', 2796, '67005', '620', '37.078401', '-96.985734', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15861, 'Parkerfield', 2796, '67005', '620', '37.078401', '-96.985734', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15862, 'Silverdale', 2796, '67005', '620', '37.078401', '-96.985734', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15863, 'Cambridge', 2796, '67023', '620', '37.33809', '-96.62035', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15864, 'Cedar Vale', 2796, '67024', '620', '37.150687', '-96.429041', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15865, 'Hewins', 2796, '67024', '620', '37.150687', '-96.429041', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15866, 'Cheney', 2796, '67025', '316', '37.633878', '-97.780536', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15867, 'Elbing', 2796, '67041', '316', '38.053956', '-97.129302', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15868, 'Greenwich', 2796, '67055', '316', '37.783094', '-97.205418', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15869, 'Duquoin', 2796, '67058', '620', '37.298151', '-97.99406', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15870, 'Harper', 2796, '67058', '620', '37.298151', '-97.99406', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15871, 'Latham', 2796, '67072', '620', '37.539768', '-96.629908', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15872, 'Leon', 2796, '67074', '316', '37.664805', '-96.712335', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15873, 'Mount Hope', 2796, '67108', '316', '37.827348', '-97.686547', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15874, 'Hunnewell', 2796, '67140', '620', '37.093677', '-97.36511', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15875, 'South Haven', 2796, '67140', '620', '37.093677', '-97.36511', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15876, 'Wilmore', 2796, '67155', '620', '37.332345', '-99.13761', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15877, 'Edna', 2796, '67342', '620', '37.059853', '-95.324448', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15878, 'Parsons', 2796, '67357', '620', '37.32453', '-95.255391', '2018-11-29 04:51:48', '2018-11-29 04:51:48'),\n(15879, 'Enterprise', 2796, '67441', '785', '38.87849', '-97.093192', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15880, 'Galva', 2796, '67443', '620', '38.384264', '-97.519018', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15881, 'Lindsborg', 2796, '67456', '785', '38.623704', '-97.650147', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15882, 'Smolan', 2796, '67456', '785', '38.623704', '-97.650147', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15883, 'Little River', 2796, '67457', '620', '38.391596', '-98.025647', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15884, 'Osborne', 2796, '67473', '785', '39.350296', '-98.713336', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15885, 'Ramona', 2796, '67475', '785', '38.580071', '-97.050152', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15886, 'Roxbury', 2796, '67476', '785', '38.467019', '-97.454536', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15887, 'Burdett', 2796, '67523', '620', '38.262233', '-99.522435', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15888, 'Beaver', 2796, '67525', '620', '38.565746', '-98.590837', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15889, 'Claflin', 2796, '67525', '620', '38.565746', '-98.590837', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15890, 'Odin', 2796, '67525', '620', '38.565746', '-98.590837', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15891, 'Rozel', 2796, '67574', '620', '38.262468', '-99.412081', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15892, 'Saint John', 2796, '67576', '620', '38.043396', '-98.692974', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15893, 'Seward', 2796, '67576', '620', '38.043396', '-98.692974', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15894, 'St John', 2796, '67576', '620', '38.043396', '-98.692974', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15895, 'Alton', 2796, '67623', '785', '39.437558', '-98.944499', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15896, 'Bogue', 2796, '67625', '785', '39.429911', '-99.696924', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15897, 'Bunker Hill', 2796, '67626', '785', '38.827611', '-98.679228', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15898, 'Paradise', 2796, '67658', '785', '39.04585', '-98.927304', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15899, 'Pfeifer', 2796, '67660', '785', '38.718813', '-99.09827', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15900, 'Hoxie', 2796, '67740', '785', '39.263015', '-100.441724', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15901, 'Studley', 2796, '67740', '785', '39.263015', '-100.441724', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15902, 'Kanorado', 2796, '67741', '785', '39.350854', '-101.944147', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15903, 'Sharon Spgs', 2796, '67758', '785', '38.915968', '-101.785295', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15904, 'Sharon Springs', 2796, '67758', '785', '38.915968', '-101.785295', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15905, 'Ensign', 2796, '67841', '620', '37.606044', '-100.233647', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15906, 'Fowler', 2796, '67844', '620', '37.358148', '-100.1998', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15907, 'Lakin', 2796, '67860', '620', '38.000059', '-101.316082', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15908, 'Spearville', 2796, '67876', '620', '37.78468', '-99.747616', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15909, 'Raymond', 2796, '67573', '620', '38.234814', '-98.405486', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15910, 'Rush Center', 2796, '67575', '785', '38.414817', '-99.253188', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15911, 'Timken', 2796, '67575', '785', '38.414817', '-99.253188', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15912, 'Jennings', 2796, '67643', '785', '39.654031', '-100.29228', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15913, 'Selden', 2796, '67757', '785', '39.524063', '-100.45139', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15914, 'Dodge City', 2796, '67843', '620', '37.725', '-99.936', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15915, 'Fort Dodge', 2796, '67843', '620', '37.725', '-99.936', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15916, 'Kismet', 2796, '67859', '620', '37.128012', '-100.75107', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15917, 'Sublette', 2796, '67877', '620', '37.562213', '-100.798196', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15918, 'Colwich', 2796, '67030', '316', '37.794026', '-97.536983', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15919, 'Fall River', 2796, '67047', '620', '37.628942', '-96.051823', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15920, 'Garden Plain', 2796, '67050', '316', '37.662924', '-97.680057', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15921, 'Newton', 2796, '67114', '316', '38.093803', '-97.243062', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15922, 'Zimmerdale', 2796, '67114', '316', '38.093803', '-97.243062', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15923, 'Newton', 2796, '67117', '316', '38.07273', '-97.343199', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15924, 'North Newton', 2796, '67117', '316', '38.07273', '-97.343199', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15925, 'Viola', 2796, '67149', '620', '37.5331', '-97.616035', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15926, 'Wichita', 2796, '67214', '316', '37.704418', '-97.318794', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15927, 'Wichita', 2796, '67217', '316', '37.612231', '-97.364138', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15928, 'Independence', 2796, '67301', '620', '37.254588', '-95.783237', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15929, 'Bavaria', 2796, '67401', '785', '38.83447', '-97.641195', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15930, 'Salina', 2796, '67401', '785', '38.83447', '-97.641195', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15931, 'Assaria', 2796, '67416', '785', '38.676063', '-97.575804', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15932, 'Mentor', 2796, '67416', '785', '38.676063', '-97.575804', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15933, 'Clay Center', 2796, '67432', '785', '39.350118', '-97.16593', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15934, 'Oakhill', 2796, '67432', '785', '39.350118', '-97.16593', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15935, 'Miltonvale', 2796, '67466', '785', '39.343779', '-97.480931', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15936, 'Morganville', 2796, '67468', '785', '39.466131', '-97.257135', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15937, 'Sylvan Grove', 2796, '67481', '785', '39.04523', '-98.37532', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15938, 'Arnold', 2796, '67515', '785', '38.707744', '-100.070454', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15939, 'Beeler', 2796, '67518', '785', '38.479332', '-100.136905', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15940, 'Fort Larned National History', 2796, '67550', '620', '38.175195', '-99.24117', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15941, 'Larned', 2796, '67550', '620', '38.175195', '-99.24117', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15942, 'Radium', 2796, '67550', '620', '38.175195', '-99.24117', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15943, 'Partridge', 2796, '67566', '620', '37.94125', '-98.105363', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15944, 'Arnold', 2796, '67584', '785', '38.624937', '-100.137892', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15945, 'Utica', 2796, '67584', '785', '38.624937', '-100.137892', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15946, 'Antonino', 2796, '67601', '785', '38.878134', '-99.357024', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15947, 'Hays', 2796, '67601', '785', '38.878134', '-99.357024', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15948, 'Russell', 2796, '67665', '785', '38.887654', '-98.874822', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15949, 'Colby', 2796, '67701', '785', '39.350654', '-101.055861', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15950, 'Edson', 2796, '67733', '785', '39.35133', '-101.50217', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15951, 'Oberlin', 2796, '67749', '785', '39.82792', '-100.515549', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15952, 'Quinter', 2796, '67752', '785', '38.915011', '-100.261844', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15953, 'Bucklin', 2796, '67834', '620', '37.600531', '-99.647748', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15954, 'Plains', 2796, '67869', '620', '37.237445', '-100.516061', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15955, 'Wright', 2796, '67882', '620', '37.797088', '-99.894157', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15956, 'Liberal', 2796, '67901', '620', '37.127642', '-100.95888', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15957, 'Hugoton', 2796, '67951', '620', '37.126878', '-101.311317', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15958, 'Gray', 2797, '40734', '606', '36.946535', '-83.957822', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15959, 'Asher', 2797, '40803', '606', '37.050644', '-83.429297', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15960, 'Coldiron', 2797, '40819', '606', '36.816726', '-83.468397', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15961, 'Molus', 2797, '40819', '606', '36.816726', '-83.468397', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15962, 'Cranks', 2797, '40820', '606', '36.780936', '-83.174144', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15963, 'Stinnett', 2797, '40868', '606', '37.07925', '-83.432681', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15964, 'Totz', 2797, '40870', '606', '36.932044', '-83.142361', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15965, 'Flat Lick', 2797, '40935', '606', '36.844705', '-83.766508', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15966, 'Mills', 2797, '40935', '606', '36.844705', '-83.766508', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15967, 'London', 2797, '40741', '606', '37.144548', '-84.090874', '2018-11-29 04:51:49', '2018-11-29 04:51:49'),\n(15968, 'Marydell', 2797, '40741', '606', '37.144548', '-84.090874', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15969, 'Sasser', 2797, '40741', '606', '37.144548', '-84.090874', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15970, 'Tuttle', 2797, '40741', '606', '37.144548', '-84.090874', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15971, 'London', 2797, '40744', '606', '37.028943', '-84.115591', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15972, 'Meadow Creek', 2797, '40759', '606', '36.815288', '-84.067504', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15973, 'Rockholds', 2797, '40759', '606', '36.815288', '-84.067504', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15974, 'Bledsoe', 2797, '40810', '606', '36.902732', '-83.341042', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15975, 'Pine Mountain', 2797, '40810', '606', '36.902732', '-83.341042', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15976, 'Eolia', 2797, '40826', '606', '37.061364', '-82.764961', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15977, 'Essie', 2797, '40827', '606', '37.056694', '-83.474136', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15978, 'Closplint', 2797, '40927', '606', '36.896715', '-83.02565', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15979, 'Bluehole', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15980, 'Bright Shade', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15981, 'Chestnutburg', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15982, 'Eriline', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15983, 'Fogertown', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15984, 'Grace', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15985, 'Manchester', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15986, 'Marcum', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15987, 'Ogle', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15988, 'Plank', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15989, 'Tanksley', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15990, 'Urban', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15991, 'Wildcat', 2797, '40962', '606', '37.122206', '-83.739046', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15992, 'Trosper', 2797, '40995', '606', '36.772047', '-83.821466', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15993, 'Cov', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15994, 'Covington', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15995, 'Decoursey', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15996, 'Fort Wright', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15997, 'Ft Mitchell', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15998, 'Ft Wright', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(15999, 'Kenton Hills', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16000, 'Lookout Heights', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16001, 'Park Hills', 2797, '41011', '859', '39.065222', '-84.529482', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16002, 'Ghent', 2797, '41045', '502', '38.722406', '-85.04149', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16003, 'Campsprings', 2797, '41059', '859', '39.001212', '-84.341448', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16004, 'Melbourne', 2797, '41059', '859', '39.001212', '-84.341448', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16005, 'Ross', 2797, '41059', '859', '39.001212', '-84.341448', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16006, 'Cold Sprgs Hi', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16007, 'Cold Sprgs Highland Hts', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16008, 'Cold Sprgs-Highland Hts', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16009, 'Cold Spring', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16010, 'Cold Spring Highland Heights', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16011, 'Crestview', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16012, 'Ft Thomas', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16013, 'Highland Heights', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16014, 'Highland Hgts', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16015, 'Newport', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16016, 'Wilder', 2797, '41076', '859', '39.011324', '-84.440731', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16017, 'Verona', 2797, '41092', '859', '38.814853', '-84.692802', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16018, 'Fultz', 2797, '41143', '606', '38.32644', '-82.996317', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16019, 'Grayson', 2797, '41143', '606', '38.32644', '-82.996317', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16020, 'Jeriel', 2797, '41143', '606', '38.32644', '-82.996317', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16021, 'Johns Run', 2797, '41143', '606', '38.32644', '-82.996317', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16022, 'Greenup', 2797, '41144', '606', '38.528392', '-82.949583', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16023, 'Lloyd', 2797, '41144', '606', '38.528392', '-82.949583', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16024, 'Load', 2797, '41144', '606', '38.528392', '-82.949583', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16025, 'Oldtown', 2797, '41144', '606', '38.528392', '-82.949583', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16026, 'Wurtland', 2797, '41144', '606', '38.528392', '-82.949583', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16027, 'Fairview Hill', 2797, '41146', '606', '38.274772', '-82.889433', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16028, 'Hitchins', 2797, '41146', '606', '38.274772', '-82.889433', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16029, 'Martha', 2797, '41159', '606', '38.007606', '-82.953171', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16030, 'Thelma', 2797, '41260', '606', '37.813196', '-82.756226', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16031, 'Tutor Key', 2797, '41263', '606', '37.865893', '-82.753274', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16032, 'Bays', 2797, '41310', '606', '37.641966', '-83.245824', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16033, 'Wrigley', 2797, '41477', '606', '38.0176', '-83.2717', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16034, 'Ashcamp', 2797, '41512', '606', '37.261756', '-82.486172', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16035, 'Forest Hills', 2797, '41527', '606', '37.639145', '-82.299015', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16036, 'Board Tree', 2797, '41528', '606', '37.541376', '-82.13652', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16037, 'Freeburn', 2797, '41528', '606', '37.541376', '-82.13652', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16038, 'Johnson Bottom', 2797, '41528', '606', '37.541376', '-82.13652', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16039, 'Majestic', 2797, '41547', '606', '37.529748', '-82.034659', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16040, 'Douglas', 2797, '41560', '606', '37.392817', '-82.579906', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16041, 'Robinson Creek', 2797, '41560', '606', '37.392817', '-82.579906', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16042, 'Robinson Crk', 2797, '41560', '606', '37.392817', '-82.579906', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16043, 'Rockhouse', 2797, '41561', '606', '37.3267', '-82.4526', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16044, 'Greasy Creek', 2797, '41562', '606', '37.381012', '-82.475776', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16045, 'Millard', 2797, '41562', '606', '37.381012', '-82.475776', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16046, 'Shelbiana', 2797, '41562', '606', '37.381012', '-82.475776', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16047, 'Sutton', 2797, '41562', '606', '37.381012', '-82.475776', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16048, 'Bypro', 2797, '41612', '606', '37.353306', '-82.716562', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16049, 'Garrett', 2797, '41630', '606', '37.477146', '-82.833866', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16050, 'Ary', 2797, '41712', '606', '37.362849', '-83.145248', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16051, 'Gays Creek', 2797, '41745', '606', '37.351959', '-83.434862', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16052, 'Happy', 2797, '41746', '606', '37.218086', '-83.101512', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16053, 'Deane', 2797, '41812', '606', '37.243012', '-82.765699', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16054, 'Kite', 2797, '41828', '606', '37.297665', '-82.778739', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16055, 'Premium', 2797, '41845', '606', '37.147029', '-82.909605', '2018-11-29 04:51:50', '2018-11-29 04:51:50'),\n(16056, 'Carr Creek', 2797, '41847', '606', '37.215526', '-82.935999', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16057, 'Redfox', 2797, '41847', '606', '37.215526', '-82.935999', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16058, 'Roxana', 2797, '41848', '606', '37.094496', '-83.029972', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16059, 'Grand Rivers', 2797, '42045', '270', '37.070736', '-88.281472', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16060, 'Iuka', 2797, '42045', '270', '37.070736', '-88.281472', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16061, 'Lake City', 2797, '42045', '270', '37.070736', '-88.281472', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16062, 'Aurora', 2797, '42048', '270', '36.767505', '-88.240304', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16063, 'Hardin', 2797, '42048', '270', '36.767505', '-88.240304', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16064, 'Lynnville', 2797, '42063', '270', '36.5605', '-88.5692', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16065, 'Lola', 2797, '42078', '270', '37.291836', '-88.284465', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16066, 'Salem', 2797, '42078', '270', '37.291836', '-88.284465', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16067, 'Beechville', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16068, 'Cave Ridge', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16069, 'Cedar Flat', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16070, 'Cork', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16071, 'Edmonton', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16072, 'Goodluck', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16073, 'Randolph', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16074, 'Subtle', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16075, 'Sulphur Well', 2797, '42129', '270', '36.988431', '-85.596054', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16076, 'Etoile', 2797, '42131', '270', '36.824734', '-85.903978', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16077, 'Rocky Hill', 2797, '42163', '270', '37.078911', '-86.118353', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16078, 'Cerulean', 2797, '42215', '270', '37.007512', '-87.665806', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16079, 'Sharon Grove', 2797, '42280', '270', '36.9502', '-87.106389', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16080, 'Cleaton', 2797, '42332', '270', '37.254932', '-87.093802', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16081, 'Knottsville', 2797, '42366', '270', '37.716884', '-86.932744', '2018-11-29 04:51:51', '2018-11-29 04:51:51');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(16082, 'Philpot', 2797, '42366', '270', '37.716884', '-86.932744', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16083, 'Hanson', 2797, '42413', '270', '37.439734', '-87.454', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16084, 'Wheatcroft', 2797, '42463', '270', '37.483259', '-87.864521', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16085, 'Ferguson', 2797, '42533', '606', '37.065244', '-84.597326', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16086, 'West Somerset', 2797, '42564', '606', '37.0855', '-84.6026', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16087, 'Marshes Sdng', 2797, '42631', '606', '36.763185', '-84.505674', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16088, 'Marshes Siding', 2797, '42631', '606', '36.763185', '-84.505674', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16089, 'Bonnieville', 2797, '42713', '270', '37.365774', '-85.878715', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16090, 'E View', 2797, '42732', '270', '37.605436', '-86.115657', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16091, 'Eastview', 2797, '42732', '270', '37.605436', '-86.115657', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16092, 'Meeting Creek', 2797, '42732', '270', '37.605436', '-86.115657', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16093, 'Summit', 2797, '42732', '270', '37.605436', '-86.115657', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16094, 'Horse Cave', 2797, '42749', '270', '37.173146', '-85.860294', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16095, 'Park', 2797, '42749', '270', '37.173146', '-85.860294', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16096, 'Munfordville', 2797, '42765', '270', '37.315023', '-85.91464', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16097, 'Rowletts', 2797, '42765', '270', '37.315023', '-85.91464', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16098, 'Salt Gum', 2797, '40935', '606', '36.844705', '-83.766508', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16099, 'Berry', 2797, '41003', '859', '38.508418', '-84.370195', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16100, 'Dover', 2797, '41034', '606', '38.711137', '-83.880344', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16101, 'Elizaville', 2797, '41037', '606', '38.4197', '-83.8256', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16102, 'Jonesville', 2797, '41052', '859', '38.66356', '-84.759457', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16103, 'Silver Grove', 2797, '41085', '859', '39.03794', '-84.395456', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16104, 'Emerson', 2797, '41135', '606', '38.396497', '-83.266772', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16105, 'Head Of Grass', 2797, '41135', '606', '38.396497', '-83.266772', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16106, 'Head Of Grassy', 2797, '41135', '606', '38.396497', '-83.266772', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16107, 'Raceland', 2797, '41169', '606', '38.518217', '-82.719569', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16108, 'Russell', 2797, '41169', '606', '38.518217', '-82.719569', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16109, 'Beauty', 2797, '41203', '606', '37.862966', '-82.463884', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16110, 'Boons Camp', 2797, '41204', '606', '37.823948', '-82.676696', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16111, 'River', 2797, '41254', '606', '37.872576', '-82.63595', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16112, 'Mistletoe', 2797, '41351', '606', '37.309382', '-83.586952', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16113, 'Elkfork', 2797, '41421', '606', '37.993242', '-83.146951', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16114, 'Canada', 2797, '41519', '606', '37.584918', '-82.331518', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16115, 'Beaver Bottom', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16116, 'Big Branch', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16117, 'Cedarville', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16118, 'Draffin', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16119, 'Dunleary', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16120, 'Elkhorn City', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16121, 'Praise', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16122, 'Road Creek Junction', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16123, 'Senterville', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16124, 'Venters', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16125, 'Wolfpit', 2797, '41522', '606', '37.302603', '-82.39075', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16126, 'Jonancy', 2797, '41538', '606', '37.30076', '-82.591724', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16127, 'Coleman', 2797, '41553', '606', '37.48224', '-82.161328', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16128, 'Jamboree', 2797, '41553', '606', '37.48224', '-82.161328', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16129, 'Paw Paw', 2797, '41553', '606', '37.48224', '-82.161328', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16130, 'Phelps', 2797, '41553', '606', '37.48224', '-82.161328', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16131, 'Phyllis', 2797, '41554', '606', '37.449962', '-82.311228', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16132, 'Varney', 2797, '41571', '606', '37.639778', '-82.434693', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16133, 'Etty', 2797, '41572', '606', '37.30394', '-82.656616', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16134, 'Hartley', 2797, '41572', '606', '37.30394', '-82.656616', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16135, 'Speight', 2797, '41572', '606', '37.30394', '-82.656616', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16136, 'Virgie', 2797, '41572', '606', '37.30394', '-82.656616', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16137, 'Wales', 2797, '41572', '606', '37.30394', '-82.656616', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16138, 'Banner', 2797, '41603', '606', '37.562274', '-82.677534', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16139, 'Honaker', 2797, '41603', '606', '37.562274', '-82.677534', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16140, 'Wheelwright', 2797, '41669', '606', '37.330108', '-82.71757', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16141, 'Hazard', 2797, '41702', '606', '37.2497', '-83.1935', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16142, 'Buckhorn', 2797, '41721', '606', '37.30667', '-83.472766', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16143, 'Dice', 2797, '41736', '606', '37.377876', '-83.159924', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16144, 'Krypton', 2797, '41754', '606', '37.310956', '-83.332517', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16145, 'Napfor', 2797, '41754', '606', '37.310956', '-83.332517', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16146, 'Thornton', 2797, '41855', '606', '37.181332', '-82.785879', '2018-11-29 04:51:51', '2018-11-29 04:51:51'),\n(16147, 'Bardwell', 2797, '42023', '270', '36.865282', '-89.016456', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16148, 'Confederate', 2797, '42038', '270', '37.044738', '-88.020606', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16149, 'Eddyville', 2797, '42038', '270', '37.044738', '-88.020606', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16150, 'Lamasco', 2797, '42038', '270', '37.044738', '-88.020606', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16151, 'Overlook', 2797, '42038', '270', '37.044738', '-88.020606', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16152, 'Kirksey', 2797, '42054', '270', '36.715036', '-88.418178', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16153, 'Gage', 2797, '42056', '270', '37.096318', '-88.987385', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16154, 'La Center', 2797, '42056', '270', '37.096318', '-88.987385', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16155, 'Wingo', 2797, '42088', '270', '36.615686', '-88.725505', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16156, 'Bowling Green', 2797, '42104', '270', '36.880614', '-86.459565', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16157, 'Adolphus', 2797, '42120', '270', '36.683474', '-86.255018', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16158, 'Knob Lick', 2797, '42154', '270', '37.054043', '-85.726374', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16159, 'Mount Hermon', 2797, '42157', '270', '36.789882', '-85.802177', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16160, 'Woodburn', 2797, '42170', '270', '36.837723', '-86.57024', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16161, 'Allensville', 2797, '42204', '270', '36.72073', '-87.089178', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16162, 'Keysburg', 2797, '42204', '270', '36.72073', '-87.089178', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16163, 'Bee Spring', 2797, '42207', '270', '37.29266', '-86.275866', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16164, 'Allegre', 2797, '42220', '270', '36.894198', '-87.181934', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16165, 'Elkton', 2797, '42220', '270', '36.894198', '-87.181934', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16166, 'Fairview', 2797, '42221', '270', '36.8433', '-87.3036', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16167, 'Fort Campbell', 2797, '42223', '270', '36.587872', '-87.531983', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16168, 'Hopkinsville', 2797, '42240', '270', '36.916297', '-87.46668', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16169, 'Blue Level', 2797, '42274', '270', '36.948876', '-86.607966', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16170, 'Browning', 2797, '42274', '270', '36.948876', '-86.607966', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16171, 'Cavehill', 2797, '42274', '270', '36.948876', '-86.607966', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16172, 'Petros', 2797, '42274', '270', '36.948876', '-86.607966', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16173, 'Rockfield', 2797, '42274', '270', '36.948876', '-86.607966', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16174, 'Beech Creek', 2797, '42321', '270', '37.173366', '-87.071815', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16175, 'Drakesboro', 2797, '42337', '270', '37.218508', '-86.999772', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16176, 'Dundee', 2797, '42338', '270', '37.55574', '-86.748214', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16177, 'Rumsey', 2797, '42371', '270', '37.499022', '-87.270187', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16178, 'Smith Mills', 2797, '42457', '270', '37.811704', '-87.772802', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16179, 'Clementsville', 2797, '42539', '606', '37.287744', '-84.966727', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16180, 'Liberty', 2797, '42539', '606', '37.287744', '-84.966727', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16181, 'Glens Fork', 2797, '42741', '270', '37.003304', '-85.250065', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16182, 'Magnolia', 2797, '42757', '270', '37.395348', '-85.724333', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16183, 'Cawood', 2797, '40815', '606', '36.775911', '-83.240154', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16184, 'Crummies', 2797, '40815', '606', '36.775911', '-83.240154', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16185, 'Three Point', 2797, '40815', '606', '36.775911', '-83.240154', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16186, 'Dayhoit', 2797, '40824', '606', '36.867188', '-83.391126', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16187, 'Grays Knob', 2797, '40829', '606', '36.787677', '-83.269782', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16188, 'Kenvir', 2797, '40847', '606', '36.804242', '-83.174207', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16189, 'Alva', 2797, '40863', '606', '36.745469', '-83.437141', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16190, 'Pathfork', 2797, '40863', '606', '36.745469', '-83.437141', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16191, 'Bailey Switch', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16192, 'Barbourville', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16193, 'Baughman', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16194, 'Crane Nest', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16195, 'Gausdale', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16196, 'Himyar', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16197, 'Jarvis', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16198, 'Kayjay', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16199, 'Swanpond', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16200, 'Tedders', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16201, 'Woollum', 2797, '40906', '606', '36.842388', '-83.939258', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16202, 'Bimble', 2797, '40915', '606', '36.883681', '-83.830389', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16203, 'Kettle Island', 2797, '40958', '606', '36.826448', '-83.586394', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16204, 'Roark', 2797, '40979', '606', '37.027633', '-83.50977', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16205, 'Sextons Creek', 2797, '40983', '606', '37.289455', '-83.796662', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16206, 'Butler', 2797, '41006', '859', '38.796512', '-84.329173', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16207, 'Carntown', 2797, '41006', '859', '38.796512', '-84.329173', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16208, 'Mount Auburn', 2797, '41006', '859', '38.796512', '-84.329173', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16209, 'Peachgrove', 2797, '41006', '859', '38.796512', '-84.329173', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16210, 'Pleasant Hill', 2797, '41006', '859', '38.796512', '-84.329173', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16211, 'Carrollton', 2797, '41008', '502', '38.662139', '-85.199974', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16212, 'English', 2797, '41008', '502', '38.662139', '-85.199974', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16213, 'Prestonville', 2797, '41008', '502', '38.662139', '-85.199974', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16214, 'De Mossville', 2797, '41033', '859', '38.753116', '-84.457158', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16215, 'Demossville', 2797, '41033', '859', '38.753116', '-84.457158', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16216, 'Fiskburg', 2797, '41033', '859', '38.753116', '-84.457158', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16217, 'Gardnersville', 2797, '41033', '859', '38.753116', '-84.457158', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16218, 'Atwood', 2797, '41063', '859', '38.860006', '-84.505455', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16219, 'Morning View', 2797, '41063', '859', '38.860006', '-84.505455', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16220, 'Piner', 2797, '41063', '859', '38.860006', '-84.505455', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16221, 'Visalia', 2797, '41063', '859', '38.860006', '-84.505455', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16222, 'Highland Heights', 2797, '41099', '859', '39.031083', '-84.462952', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16223, 'Newport', 2797, '41099', '859', '39.031083', '-84.462952', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16224, 'Northern Kentucky University', 2797, '41099', '859', '39.031083', '-84.462952', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16225, 'Lovely', 2797, '41231', '606', '37.783508', '-82.36822', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16226, 'Barnetts Creek', 2797, '41256', '606', '37.830979', '-82.883322', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16227, 'Barnetts Crk', 2797, '41256', '606', '37.830979', '-82.883322', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16228, 'Staffordsville', 2797, '41256', '606', '37.830979', '-82.883322', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16229, 'Staffordsvlle', 2797, '41256', '606', '37.830979', '-82.883322', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16230, 'Clayhole', 2797, '41317', '606', '37.4639', '-83.202767', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16231, 'Malone', 2797, '41451', '606', '37.8717', '-83.2586', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16232, 'Lick Creek', 2797, '41540', '606', '37.376938', '-82.299537', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16233, 'Myra', 2797, '41549', '606', '37.292666', '-82.601269', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16234, 'Ransom', 2797, '41558', '606', '37.546287', '-82.205979', '2018-11-29 04:51:52', '2018-11-29 04:51:52'),\n(16235, 'Stone', 2797, '41567', '606', '37.568214', '-82.27135', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16236, 'Dana', 2797, '41615', '606', '37.540162', '-82.690188', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16237, 'Grethel', 2797, '41631', '606', '37.461192', '-82.699877', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16238, 'Teaberry', 2797, '41660', '606', '37.423814', '-82.62886', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16239, 'Delphia', 2797, '41735', '606', '37.019971', '-83.089229', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16240, 'Confluence', 2797, '41749', '606', '37.202578', '-83.434881', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16241, 'Dryhill', 2797, '41749', '606', '37.202578', '-83.434881', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16242, 'Hyden', 2797, '41749', '606', '37.202578', '-83.434881', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16243, 'Kaliopi', 2797, '41749', '606', '37.202578', '-83.434881', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16244, 'Scuddy', 2797, '41760', '606', '37.197', '-83.093353', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16245, 'Isom', 2797, '41824', '606', '37.194039', '-82.873698', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16246, 'Jeremiah', 2797, '41826', '606', '37.174688', '-82.927826', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16247, 'Linefork', 2797, '41833', '606', '37.037219', '-82.973368', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16248, 'Fleming', 2797, '41840', '606', '37.201876', '-82.704022', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16249, 'Fleming Neon', 2797, '41840', '606', '37.201876', '-82.704022', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16250, 'Hall', 2797, '41840', '606', '37.201876', '-82.704022', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16251, 'Neon', 2797, '41840', '606', '37.201876', '-82.704022', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16252, 'Barlow', 2797, '42024', '270', '37.065626', '-89.079392', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16253, 'Cunningham', 2797, '42035', '270', '36.904818', '-88.881185', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16254, 'Lovelaceville', 2797, '42060', '270', '36.973582', '-88.837024', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16255, 'Fountain Run', 2797, '42133', '270', '36.71812', '-85.941036', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16256, 'Holland', 2797, '42153', '270', '36.676254', '-86.033262', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16257, 'Rockport', 2797, '42369', '270', '37.306781', '-86.974892', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16258, 'Utica', 2797, '42376', '270', '37.622298', '-87.112722', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16259, 'Whitesville', 2797, '42378', '270', '37.660092', '-86.870462', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16260, 'Henderson', 2797, '42419', '270', '37.8327', '-87.5673', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16261, 'Reed', 2797, '42451', '270', '37.872742', '-87.403995', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16262, 'Saint Charles', 2797, '42453', '270', '37.156444', '-87.603897', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16263, 'Science Hill', 2797, '42553', '606', '37.169004', '-84.693403', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16264, 'Eubank', 2797, '42567', '606', '37.261159', '-84.611986', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16265, 'Pulaski', 2797, '42567', '606', '37.261159', '-84.611986', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16266, 'Pine Knot', 2797, '42635', '606', '36.664312', '-84.353293', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16267, 'Beulah Heights', 2797, '42653', '606', '36.788942', '-84.462764', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16268, 'Whitley City', 2797, '42653', '606', '36.788942', '-84.462764', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16269, 'Casey Creek', 2797, '42728', '270', '37.117665', '-85.264332', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16270, 'Columbia', 2797, '42728', '270', '37.117665', '-85.264332', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16271, 'Cundiff', 2797, '42728', '270', '37.117665', '-85.264332', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16272, 'Fairplay', 2797, '42728', '270', '37.117665', '-85.264332', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16273, 'Milltown', 2797, '42728', '270', '37.117665', '-85.264332', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16274, 'Montpelier', 2797, '42728', '270', '37.117665', '-85.264332', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16275, 'Knifley', 2797, '42753', '270', '37.226789', '-85.160557', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16276, 'Sonora', 2797, '42776', '270', '37.513882', '-85.919579', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16277, 'Boothville', 2798, '70038', '985', '29.307856', '-89.38188', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16278, 'Cypress Gardens', 2798, '70075', '504', '29.959468', '-89.893346', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16279, 'Francis Place', 2798, '70075', '504', '29.959468', '-89.893346', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16280, 'Meraux', 2798, '70075', '504', '29.959468', '-89.893346', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16281, 'Metairie', 2798, '70001', '504', '29.9843', '-90.164744', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16282, 'La Place', 2798, '70069', '985', '30.0647', '-90.4828', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16283, 'Laplace', 2798, '70069', '985', '30.0647', '-90.4828', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16284, 'Mount Airy', 2798, '70076', '985', '30.05231', '-90.642366', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16285, 'Westwego', 2798, '70096', '504', '29.9059', '-90.1424', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16286, 'New Orleans', 2798, '70119', '504', '29.973581', '-90.085678', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16287, 'Naval Support Act East Bank', 2798, '70146', '504', '30.0328', '-90.0438', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16288, 'New Orleans', 2798, '70146', '504', '30.0328', '-90.0438', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16289, 'New Orleans Naval Air', 2798, '70146', '504', '30.0328', '-90.0438', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16290, 'Metairie', 2798, '70010', '504', '29.9839', '-90.1526', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16291, 'Belle Chasse', 2798, '70037', '504', '29.750687', '-89.996621', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16292, 'Chalmette', 2798, '70044', '504', '29.9428', '-89.9635', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16293, 'Garyville', 2798, '70051', '985', '30.126928', '-90.619808', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16294, 'La Gas Serv Inc', 2798, '70060', '504', '29.9839', '-90.1526', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16295, 'Metairie', 2798, '70060', '504', '29.9839', '-90.1526', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16296, 'Beachview', 2798, '70062', '504', '29.987584', '-90.252243', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16297, 'Green Lawn Terrace', 2798, '70062', '504', '29.987584', '-90.252243', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16298, 'Kenner', 2798, '70062', '504', '29.987584', '-90.252243', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16299, 'New Sarpy', 2798, '70078', '985', '29.9778', '-90.3876', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16300, 'Saint Rose', 2798, '70087', '504', '29.995182', '-90.320016', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16301, 'Des Allemands', 2798, '70030', '985', '29.776524', '-90.395022', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16302, 'Destrehan', 2798, '70047', '985', '29.994584', '-90.369605', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16303, 'Ormond', 2798, '70047', '985', '29.994584', '-90.369605', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16304, 'Empire', 2798, '70050', '985', '29.381365', '-89.593584', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16305, 'Kenner', 2798, '70063', '504', '29.9939', '-90.2414', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16306, 'Kenner', 2798, '70064', '504', '29.9939', '-90.2414', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16307, 'Home Place', 2798, '70083', '985', '29.483137', '-89.808997', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16308, 'Ironton', 2798, '70083', '985', '29.483137', '-89.808997', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16309, 'Myrtle Grove', 2798, '70083', '985', '29.483137', '-89.808997', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16310, 'Port Sulphur', 2798, '70083', '985', '29.483137', '-89.808997', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16311, 'Potash', 2798, '70083', '985', '29.483137', '-89.808997', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16312, 'West Pointe A La Hache', 2798, '70083', '985', '29.483137', '-89.808997', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16313, 'Kenner', 2798, '70097', '504', '30.03', '-90.24', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16314, 'Algiers', 2798, '70114', '504', '29.930403', '-90.034892', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16315, 'New Orleans', 2798, '70114', '504', '29.930403', '-90.034892', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16316, 'New Orleans', 2798, '70131', '504', '29.906809', '-89.958438', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16317, 'Metairie', 2798, '70004', '504', '29.9839', '-90.1526', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16318, 'Chalmette', 2798, '70043', '504', '29.963316', '-89.948008', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16319, 'Harvey', 2798, '70059', '504', '29.9034', '-90.0772', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16320, 'Saint James', 2798, '70086', '225', '30.007073', '-90.846576', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16321, 'St James', 2798, '70086', '225', '30.007073', '-90.846576', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16322, 'Belle Chasse', 2798, '70093', '504', '29.85', '-89.99', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16323, 'Carrollton', 2798, '70118', '504', '29.9452', '-90.123979', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16324, 'New Orleans', 2798, '70118', '504', '29.9452', '-90.123979', '2018-11-29 04:51:53', '2018-11-29 04:51:53'),\n(16325, 'New Orleans', 2798, '70127', '504', '30.091332', '-90.001798', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16326, 'Hibernia Natl Bank', 2798, '70154', '504', '29.9545', '-90.0753', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16327, 'New Orleans', 2798, '70154', '504', '29.9545', '-90.0753', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16328, 'C O Enl Pers Mgmt Cen', 2798, '70159', '504', '29.9545', '-90.0753', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16329, 'New Orleans', 2798, '70159', '504', '29.9545', '-90.0753', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16330, 'New Orleans', 2798, '70181', '504', '29.9637', '-90.0657', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16331, 'New Orleans', 2798, '70182', '504', '29.9545', '-90.0753', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16332, 'New Orleans', 2798, '70184', '504', '29.9545', '-90.0753', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16333, 'Claiborne', 2798, '70433', '985', '30.45452', '-90.144252', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16334, 'Covington', 2798, '70433', '985', '30.45452', '-90.144252', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16335, 'Riverwood', 2798, '70433', '985', '30.45452', '-90.144252', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16336, 'Saint Gertrude', 2798, '70433', '985', '30.45452', '-90.144252', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16337, 'St Gertrude', 2798, '70433', '985', '30.45452', '-90.144252', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16338, 'Tickfaw', 2798, '70466', '985', '30.559412', '-90.491246', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16339, 'Branch', 2798, '70516', '337', '30.366067', '-92.308608', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16340, 'Egan', 2798, '70531', '337', '30.234727', '-92.519216', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16341, 'Lake Arthur', 2798, '70549', '337', '30.080795', '-92.76865', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16342, 'Roanoke', 2798, '70581', '337', '30.275861', '-92.739874', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16343, 'Scott', 2798, '70583', '337', '30.251357', '-92.118476', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16344, 'Creole', 2798, '70632', '337', '29.781972', '-93.079448', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16345, 'Deridder', 2798, '70634', '337', '30.818349', '-93.278244', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16346, 'Leblanc', 2798, '70651', '337', '30.564859', '-92.958368', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16347, 'Batchelor', 2798, '70715', '225', '30.850904', '-91.669063', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16348, 'Krotz Springs', 2798, '70750', '337', '30.553667', '-91.7852', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16349, 'Lakeland', 2798, '70752', '225', '30.5728', '-91.429548', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16350, 'Wakefield', 2798, '70784', '225', '30.8895', '-91.3502', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16351, 'Walker', 2798, '70785', '225', '30.551972', '-90.813326', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16352, 'Baton Rouge', 2798, '70802', '225', '30.442477', '-91.16944', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16353, 'Baton Rouge', 2798, '70815', '225', '30.452756', '-91.068068', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16354, 'Baton Rouge', 2798, '70818', '225', '30.543096', '-91.057093', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16355, 'Baton Rouge', 2798, '70819', '225', '30.473375', '-91.013597', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16356, 'Ashland', 2798, '71002', '318', '32.105041', '-93.131024', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16357, 'Greenwood', 2798, '71033', '318', '32.432562', '-93.979947', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16358, 'Longstreet', 2798, '71050', '318', '31.9756', '-93.9979', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16359, 'Mansfield', 2798, '71052', '318', '32.019703', '-93.652842', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16360, 'S Mansfield', 2798, '71052', '318', '32.019703', '-93.652842', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16361, 'South Mansfield', 2798, '71052', '318', '32.019703', '-93.652842', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16362, 'Shreveport', 2798, '71102', '318', '32.5253', '-93.7501', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16363, 'Cnb', 2798, '71152', '318', '32.5253', '-93.7501', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16364, 'Commercial National Bank', 2798, '71152', '318', '32.5253', '-93.7501', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16365, 'Shreveport', 2798, '71152', '318', '32.5253', '-93.7501', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16366, 'Bosco', 2798, '71201', '318', '32.530914', '-92.105505', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16367, 'Corey', 2798, '71201', '318', '32.530914', '-92.105505', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16368, 'Fondale', 2798, '71201', '318', '32.530914', '-92.105505', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16369, 'Lamkin', 2798, '71201', '318', '32.530914', '-92.105505', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16370, 'Monroe', 2798, '71201', '318', '32.530914', '-92.105505', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16371, 'Northeast', 2798, '71201', '318', '32.530914', '-92.105505', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16372, 'Baskin', 2798, '71219', '318', '32.310798', '-91.70228', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16373, 'Jonesboro', 2798, '71251', '318', '32.234162', '-92.666352', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16374, 'Weston', 2798, '71251', '318', '32.234162', '-92.666352', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16375, 'Wyatt', 2798, '71251', '318', '32.234162', '-92.666352', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16376, 'Mount Olive', 2798, '71268', '318', '32.34999', '-92.736034', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16377, 'Quitman', 2798, '71268', '318', '32.34999', '-92.736034', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16378, 'Union Church', 2798, '71268', '318', '32.34999', '-92.736034', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16379, 'Cocoville', 2798, '71350', '318', '31.064535', '-92.064756', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16380, 'Hydropolis', 2798, '71350', '318', '31.064535', '-92.064756', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16381, 'Mansura', 2798, '71350', '318', '31.064535', '-92.064756', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16382, 'Mansura Junction', 2798, '71350', '318', '31.064535', '-92.064756', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16383, 'Brouillette', 2798, '71351', '318', '31.183796', '-91.967422', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16384, 'Fifth Ward', 2798, '71351', '318', '31.183796', '-91.967422', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16385, 'Fort De Russy', 2798, '71351', '318', '31.183796', '-91.967422', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16386, 'Marksville', 2798, '71351', '318', '31.183796', '-91.967422', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16387, 'Moncla', 2798, '71351', '318', '31.183796', '-91.967422', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16388, 'Lonepine', 2798, '71367', '318', '30.873539', '-92.306706', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16389, 'Saint Landry', 2798, '71367', '318', '30.873539', '-92.306706', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16390, 'St Landry', 2798, '71367', '318', '30.873539', '-92.306706', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16391, 'Leland', 2798, '71368', '318', '31.852854', '-91.697722', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16392, 'Peck', 2798, '71368', '318', '31.852854', '-91.697722', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16393, 'Sicily Island', 2798, '71368', '318', '31.852854', '-91.697722', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16394, 'Hyde', 2798, '71369', '318', '30.939532', '-91.86903', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16395, 'Odenburg', 2798, '71369', '318', '30.939532', '-91.86903', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16396, 'Red Fish', 2798, '71369', '318', '30.939532', '-91.86903', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16397, 'Simmesport', 2798, '71369', '318', '30.939532', '-91.86903', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16398, 'Anacoco', 2798, '71403', '337', '31.194507', '-93.424178', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16399, 'Atlanta', 2798, '71404', '318', '31.770515', '-92.745717', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16400, 'Gum Springs Road', 2798, '71404', '318', '31.770515', '-92.745717', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16401, 'Iatt Lake', 2798, '71404', '318', '31.770515', '-92.745717', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16402, 'Mars Hill', 2798, '71404', '318', '31.770515', '-92.745717', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16403, 'New Verda Community', 2798, '71404', '318', '31.770515', '-92.745717', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16404, 'Aloha', 2798, '71417', '318', '31.53653', '-92.659564', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16405, 'Bagdad', 2798, '71417', '318', '31.53653', '-92.659564', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16406, 'Colfax', 2798, '71417', '318', '31.53653', '-92.659564', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16407, 'Fairmont', 2798, '71417', '318', '31.53653', '-92.659564', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16408, 'Mcneely', 2798, '71417', '318', '31.53653', '-92.659564', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16409, 'Rock', 2798, '71417', '318', '31.53653', '-92.659564', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16410, 'North Hampton', 2799, '01060', '413', '42.329604', '-72.625124', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16411, 'Northampton', 2799, '01060', '413', '42.329604', '-72.625124', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16412, 'North Hampton', 2799, '01061', '413', '42.3251', '-72.6418', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16413, 'Northampton', 2799, '01061', '413', '42.3251', '-72.6418', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16414, 'S Hadley', 2799, '01075', '413', '42.258591', '-72.575936', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16415, 'So Hadley', 2799, '01075', '413', '42.258591', '-72.575936', '2018-11-29 04:51:54', '2018-11-29 04:51:54'),\n(16416, 'South Hadley', 2799, '01075', '413', '42.258591', '-72.575936', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16417, 'South Hadley Falls', 2799, '01075', '413', '42.258591', '-72.575936', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16418, 'Wheelwright', 2799, '01094', '413', '42.3517', '-72.1405', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16419, 'Blandford', 2799, '01008', '413', '42.186964', '-72.956111', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16420, 'Bondsville', 2799, '01009', '413', '42.2075', '-72.3496', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16421, 'Brimfield', 2799, '01010', '413', '42.126637', '-72.204617', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16422, 'East Brimfield', 2799, '01010', '413', '42.126637', '-72.204617', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16423, 'South Orleans', 2799, '02662', '508', '41.7567', '-69.9938', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16424, 'S Wellfleet', 2799, '02663', '508', '41.9196', '-69.9971', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16425, 'South Wellfleet', 2799, '02663', '508', '41.9196', '-69.9971', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16426, 'Bass River', 2799, '02664', '508', '41.671128', '-70.193735', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16427, 'S Yarmouth', 2799, '02664', '508', '41.671128', '-70.193735', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16428, 'So Yarmouth', 2799, '02664', '508', '41.671128', '-70.193735', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16429, 'South Yarmouth', 2799, '02664', '508', '41.671128', '-70.193735', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16430, 'Dartmouth', 2799, '02714', '508', '41.5766', '-71.0106', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16431, 'Dighton', 2799, '02715', '508', '41.81692', '-71.153046', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16432, 'Falmouth', 2799, '02541', '508', '41.5516', '-70.6156', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16433, 'Falmouth', 2799, '02543', '508', '41.528153', '-70.663642', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16434, 'Woods Hole', 2799, '02543', '508', '41.528153', '-70.663642', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16435, 'Woodshole', 2799, '02543', '508', '41.528153', '-70.663642', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16436, 'Sagamore', 2799, '02561', '508', '41.772', '-70.5366', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16437, 'Somerset', 2799, '02725', '508', '41.723498', '-71.175562', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16438, 'New Bedford', 2799, '02741', '508', '41.6363', '-70.9347', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16439, 'N Falmouth', 2799, '02565', '508', '41.6406', '-70.6334', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16440, 'North Falmouth', 2799, '02565', '508', '41.6406', '-70.6334', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16441, 'Silver Beach', 2799, '02565', '508', '41.6406', '-70.6334', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16442, 'Brookline', 2799, '02445', '617', '42.322072', '-71.13129', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16443, 'Barnstable', 2799, '02630', '508', '41.69656', '-70.295362', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16444, 'E Harwich', 2799, '02645', '508', '41.702193', '-70.06288', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16445, 'East Harwich', 2799, '02645', '508', '41.702193', '-70.06288', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16446, 'Hardwich', 2799, '02645', '508', '41.702193', '-70.06288', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16447, 'Harwich', 2799, '02645', '508', '41.702193', '-70.06288', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16448, 'Boston', 2799, '02297', '617', '42.3586', '-71.0603', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16449, 'Cash Management', 2799, '02297', '617', '42.3586', '-71.0603', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16450, 'Aetna Life & Casualty Co', 2799, '02344', '508', '41.8934', '-70.9117', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16451, 'Middleboro', 2799, '02344', '508', '41.8934', '-70.9117', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16452, 'Middleborough', 2799, '02344', '508', '41.8934', '-70.9117', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16453, 'Belmont', 2799, '02479', '781', '42.4202', '-71.2019', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16454, 'Waverley', 2799, '02479', '781', '42.4202', '-71.2019', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16455, 'Wellesley', 2799, '02481', '781', '42.309348', '-71.272442', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16456, 'Wellesley Fms', 2799, '02481', '781', '42.309348', '-71.272442', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16457, 'Wellesley Hills', 2799, '02481', '781', '42.309348', '-71.272442', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16458, 'Wellesley Hls', 2799, '02481', '781', '42.309348', '-71.272442', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16459, 'Boston', 2799, '02163', '617', '42.368405', '-71.127172', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16460, 'Cambridge', 2799, '02163', '617', '42.368405', '-71.127172', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16461, 'Soldiers Field', 2799, '02163', '617', '42.368405', '-71.127172', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16462, 'Stoneham', 2799, '02180', '781', '42.473096', '-71.09709', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16463, 'Plymouth', 2799, '02362', '617', '41.9583', '-70.6675', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16464, 'Hingham', 2799, '02044', '781', '42.2039', '-70.8789', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16465, 'Shared Firm Zip Code', 2799, '02044', '781', '42.2039', '-70.8789', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16466, 'Boston', 2799, '02111', '617', '42.350274', '-71.058768', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16467, 'Boston', 2799, '02113', '617', '42.365161', '-71.055472', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16468, 'Boston', 2799, '02114', '617', '42.36225', '-71.067337', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16469, 'Boston', 2799, '02127', '617', '42.336076', '-71.035834', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16470, 'S Boston', 2799, '02127', '617', '42.336076', '-71.035834', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16471, 'South Boston', 2799, '02127', '617', '42.336076', '-71.035834', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16472, 'Boston', 2799, '02128', '617', '42.373323', '-71.015505', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16473, 'E Boston', 2799, '02128', '617', '42.373323', '-71.015505', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16474, 'East Boston', 2799, '02128', '617', '42.373323', '-71.015505', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16475, 'Boston', 2799, '02129', '617', '42.38168', '-71.064086', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16476, 'Charlestown', 2799, '02129', '617', '42.38168', '-71.064086', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16477, 'Tewksbury', 2799, '01876', '978', '42.611064', '-71.231595', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16478, 'Gloucester', 2799, '01930', '978', '42.630956', '-70.683382', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16479, 'Magnolia', 2799, '01930', '978', '42.630956', '-70.683382', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16480, 'Peabody', 2799, '01961', '508', '42.5278', '-70.9294', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16481, 'Holliston', 2799, '01746', '508', '42.197434', '-71.441187', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16482, 'N Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16483, 'Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16484, 'No Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16485, 'North Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16486, 'S Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16487, 'So Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16488, 'South Natick', 2799, '01760', '508', '42.28715', '-71.352332', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16489, 'Haverhill', 2799, '01830', '978', '42.79519', '-71.05563', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16490, 'Methuen', 2799, '01844', '978', '42.731861', '-71.18578', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16491, 'Merrimac', 2799, '01860', '978', '42.83658', '-71.01155', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16492, 'East Millbury', 2799, '01527', '508', '42.1908', '-71.779474', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16493, 'Millbury', 2799, '01527', '508', '42.1908', '-71.779474', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16494, 'Saundersville', 2799, '01560', '508', '42.174762', '-71.679842', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16495, 'South Grafton', 2799, '01560', '508', '42.174762', '-71.679842', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16496, 'S Lancaster', 2799, '01561', '978', '42.4444', '-71.6876', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16497, 'So Lancaster', 2799, '01561', '978', '42.4444', '-71.6876', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16498, 'South Lancaster', 2799, '01561', '978', '42.4444', '-71.6876', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16499, 'Lambs Grove', 2799, '01562', '508', '42.247962', '-71.990742', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16500, 'Spencer', 2799, '01562', '508', '42.247962', '-71.990742', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16501, 'Worcester', 2799, '01609', '508', '42.28755', '-71.83067', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16502, 'Lunenburg', 2799, '01462', '978', '42.587142', '-71.720924', '2018-11-29 04:51:55', '2018-11-29 04:51:55'),\n(16503, 'Charlton Depot', 2799, '01509', '508', '42.1733', '-71.9794', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16504, 'Charlton Dept', 2799, '01509', '508', '42.1733', '-71.9794', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16505, 'Charlton Dpt', 2799, '01509', '508', '42.1733', '-71.9794', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16506, 'Spfld', 2799, '01108', '413', '42.08114', '-72.557783', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16507, 'Springfield', 2799, '01108', '413', '42.08114', '-72.557783', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16508, 'Spfld', 2799, '01109', '413', '42.118748', '-72.549032', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16509, 'Springfield', 2799, '01109', '413', '42.118748', '-72.549032', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16510, 'South Lee', 2799, '01260', '413', '42.2775', '-73.2778', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16511, 'Deerfield', 2799, '01342', '413', '42.539988', '-72.618433', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16512, 'East Deerfield', 2799, '01342', '413', '42.539988', '-72.618433', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16513, 'West Deerfield', 2799, '01342', '413', '42.539988', '-72.618433', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16514, 'Drury', 2799, '01343', '413', '42.651664', '-72.990795', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16515, 'Cheshire', 2799, '01225', '413', '42.558246', '-73.147934', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16516, 'Dalton', 2799, '01226', '413', '42.47662', '-73.146709', '2018-11-29 04:51:56', '2018-11-29 04:51:56');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(16517, 'Lenox Dale', 2799, '01242', '413', '42.339438', '-73.246692', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16518, 'Monterey', 2799, '01245', '413', '42.179822', '-73.196867', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16519, 'West Otis', 2799, '01245', '413', '42.179822', '-73.196867', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16520, 'W Barnstble', 2799, '02668', '508', '41.708108', '-70.345734', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16521, 'West Barnstable', 2799, '02668', '508', '41.708108', '-70.345734', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16522, 'S Easton', 2799, '02375', '508', '42.025622', '-71.108428', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16523, 'So Easton', 2799, '02375', '508', '42.025622', '-71.108428', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16524, 'South Easton', 2799, '02375', '508', '42.025622', '-71.108428', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16525, 'Whitman', 2799, '02382', '781', '42.081178', '-70.939436', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16526, 'North Waltham', 2799, '02452', '781', '42.394783', '-71.216868', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16527, 'Waltham', 2799, '02452', '781', '42.394783', '-71.216868', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16528, 'Newton', 2799, '02459', '617', '42.312221', '-71.1947', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16529, 'Newton Center', 2799, '02459', '617', '42.312221', '-71.1947', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16530, 'Newton Centre', 2799, '02459', '617', '42.312221', '-71.1947', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16531, 'Newton Cntr', 2799, '02459', '617', '42.312221', '-71.1947', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16532, 'Newton Ctr', 2799, '02459', '617', '42.312221', '-71.1947', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16533, 'Nantucket', 2799, '02584', '508', '41.2836', '-70.1002', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16534, 'Centerville', 2799, '02634', '508', '41.6487', '-70.3486', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16535, 'E Dennis', 2799, '02641', '508', '41.7486', '-70.1649', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16536, 'East Dennis', 2799, '02641', '508', '41.7486', '-70.1649', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16537, 'East Orleans', 2799, '02643', '508', '41.7966', '-69.9568', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16538, 'N Chatham', 2799, '02650', '508', '41.70339', '-69.966802', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16539, 'Bank Of America', 2799, '02241', '617', '42.3586', '-71.0603', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16540, 'Boston', 2799, '02241', '617', '42.3586', '-71.0603', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16541, 'Fleet Bank Boston', 2799, '02241', '617', '42.3586', '-71.0603', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16542, 'Boston', 2799, '02284', '617', '42.3586', '-71.0603', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16543, 'Boston', 2799, '02293', '617', '42.3586', '-71.0603', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16544, 'Fidelity Service Company', 2799, '02293', '617', '42.3586', '-71.0603', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16545, 'Boston', 2799, '02298', '617', '42.34', '-71.05', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16546, 'E Somerville', 2799, '02143', '617', '42.382964', '-71.095574', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16547, 'East Somerville', 2799, '02143', '617', '42.382964', '-71.095574', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16548, 'Somerville', 2799, '02143', '617', '42.382964', '-71.095574', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16549, 'Chelsea', 2799, '02150', '617', '42.39959', '-71.03156', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16550, 'North Easton', 2799, '02357', '508', '42.059326', '-71.07937', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16551, 'Stonehill Col', 2799, '02357', '508', '42.059326', '-71.07937', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16552, 'Stonehill Coll', 2799, '02357', '508', '42.059326', '-71.07937', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16553, 'Stonehill College', 2799, '02357', '508', '42.059326', '-71.07937', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16554, 'South Carver', 2799, '02366', '508', '41.85384', '-70.655726', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16555, 'Randolph', 2799, '02368', '781', '42.170254', '-71.061724', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16556, 'Boston', 2799, '02109', '617', '42.363244', '-71.053774', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16557, 'Boston', 2799, '02123', '617', '42.3586', '-71.0605', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16558, 'Accord', 2799, '02018', '781', '42.1747', '-70.8845', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16559, 'Hingham', 2799, '02018', '781', '42.1747', '-70.8845', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16560, 'Hopkinton', 2799, '01748', '508', '42.226648', '-71.531466', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16561, 'Stow', 2799, '01775', '978', '42.429867', '-71.503594', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16562, 'Lawrence', 2799, '01841', '978', '42.708653', '-71.163282', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16563, 'Lowell', 2799, '01850', '978', '42.655639', '-71.303458', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16564, 'Green Harbor', 2799, '02041', '781', '42.0775', '-70.65', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16565, 'Hingham', 2799, '02043', '781', '42.215769', '-70.879249', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16566, 'Northboro', 2799, '01532', '508', '42.330073', '-71.635176', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16567, 'Northborough', 2799, '01532', '508', '42.330073', '-71.635176', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16568, 'Worcester', 2799, '01605', '508', '42.288915', '-71.79578', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16569, 'Worcester', 2799, '01607', '508', '42.225438', '-71.78724', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16570, 'Wendell Depot', 2799, '01380', '978', '42.588368', '-72.395956', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16571, 'Ayer', 2799, '01432', '978', '42.562912', '-71.568824', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16572, 'Devens', 2799, '01432', '978', '42.562912', '-71.568824', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16573, 'Fort Devens', 2799, '01432', '978', '42.562912', '-71.568824', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16574, 'Ft Devens', 2799, '01432', '978', '42.562912', '-71.568824', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16575, 'Charlton', 2799, '01507', '508', '42.131775', '-71.973205', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16576, 'Douglas', 2799, '01516', '508', '42.054573', '-71.754706', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16577, 'East Douglas', 2799, '01516', '508', '42.054573', '-71.754706', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16578, 'Fiskdale', 2799, '01521', '413', '42.064504', '-72.168424', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16579, 'Halland', 2799, '01521', '413', '42.064504', '-72.168424', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16580, 'Holland', 2799, '01521', '413', '42.064504', '-72.168424', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16581, 'Linwood', 2799, '01525', '508', '42.0973', '-71.6455', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16582, 'Newton', 2799, '02458', '617', '42.35342', '-71.183562', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16583, 'Newtonville', 2799, '02458', '617', '42.35342', '-71.183562', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16584, 'Riverside', 2799, '02458', '617', '42.35342', '-71.183562', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16585, 'Boston Clg', 2799, '02467', '617', '42.318788', '-71.15699', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16586, 'Boston College', 2799, '02467', '617', '42.318788', '-71.15699', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16587, 'Brookline', 2799, '02467', '617', '42.318788', '-71.15699', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16588, 'Chestnut Hill', 2799, '02467', '617', '42.318788', '-71.15699', '2018-11-29 04:51:56', '2018-11-29 04:51:56'),\n(16589, 'Newton', 2799, '02467', '617', '42.318788', '-71.15699', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16590, 'Hyannis', 2799, '02601', '508', '41.656828', '-70.293756', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16591, 'Chatham', 2799, '02633', '508', '41.688917', '-69.979888', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16592, 'Mashpee', 2799, '02649', '508', '41.617175', '-70.492455', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16593, 'New Seabury', 2799, '02649', '508', '41.617175', '-70.492455', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16594, 'South Mashpee', 2799, '02649', '508', '41.617175', '-70.492455', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16595, 'Boston', 2799, '02217', '617', '42.3586', '-71.0603', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16596, 'John Hancock P O Box 505', 2799, '02217', '617', '42.3586', '-71.0603', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16597, 'Brockton', 2799, '02301', '508', '42.07848', '-71.038417', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16598, 'Arlington', 2799, '02474', '781', '42.417192', '-71.161109', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16599, 'E Arlington', 2799, '02474', '781', '42.417192', '-71.161109', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16600, 'East Arlington', 2799, '02474', '781', '42.417192', '-71.161109', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16601, 'Needham', 2799, '02492', '781', '42.277716', '-71.244942', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16602, 'Needham Jct', 2799, '02492', '781', '42.277716', '-71.244942', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16603, 'Cambridge', 2799, '02140', '617', '42.393254', '-71.13454', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16604, 'N Cambridge', 2799, '02140', '617', '42.393254', '-71.13454', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16605, 'North Cambridge', 2799, '02140', '617', '42.393254', '-71.13454', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16606, 'Porter Square', 2799, '02140', '617', '42.393254', '-71.13454', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16607, 'Medford', 2799, '02156', '781', '42.4293', '-71.1285', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16608, 'W Medford', 2799, '02156', '781', '42.4293', '-71.1285', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16609, 'West Medford', 2799, '02156', '781', '42.4293', '-71.1285', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16610, 'S Weymouth', 2799, '02190', '781', '42.165033', '-70.950188', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16611, 'South Weymouth', 2799, '02190', '781', '42.165033', '-70.950188', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16612, 'Cedarville', 2799, '02360', '508', '41.873369', '-70.639662', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16613, 'Plymouth', 2799, '02360', '508', '41.873369', '-70.639662', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16614, 'Marshfield Hills', 2799, '02051', '781', '42.1459', '-70.7405', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16615, 'Marshfld Hls', 2799, '02051', '781', '42.1459', '-70.7405', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16616, 'Norfolk', 2799, '02056', '508', '42.116503', '-71.331134', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16617, 'Marshfield', 2799, '02065', '781', '42.0918', '-70.7061', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16618, 'Ocean Bluff', 2799, '02065', '781', '42.0918', '-70.7061', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16619, 'Sharon', 2799, '02067', '781', '42.111125', '-71.185819', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16620, 'Boston', 2799, '02115', '617', '42.342124', '-71.096672', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16621, 'Boston', 2799, '02126', '617', '42.275794', '-71.090714', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16622, 'Hyde Park', 2799, '02126', '617', '42.275794', '-71.090714', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16623, 'Mattapan', 2799, '02126', '617', '42.275794', '-71.090714', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16624, 'Weymouth', 2799, '02190', '781', '42.165033', '-70.950188', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16625, 'Weymouth Nas', 2799, '02190', '781', '42.165033', '-70.950188', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16626, 'Boston', 2799, '02199', '617', '42.347435', '-71.082265', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16627, 'Boston', 2799, '02210', '617', '42.346571', '-71.039563', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16628, 'Boston', 2799, '02133', '617', '42.3572', '-71.0796', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16629, 'Nutting Lake', 2799, '01865', '978', '42.5381', '-71.2689', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16630, 'Nuttings Lake', 2799, '01865', '978', '42.5381', '-71.2689', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16631, 'Saugus', 2799, '01906', '781', '42.467474', '-71.012852', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16632, 'Nahant', 2799, '01908', '781', '42.435967', '-70.920912', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16633, 'Beverly', 2799, '01915', '978', '42.567821', '-70.85808', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16634, 'Beverly Farms', 2799, '01915', '978', '42.567821', '-70.85808', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16635, 'Gloucester', 2799, '01931', '978', '42.6159', '-70.6627', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16636, 'Newbury', 2799, '01951', '978', '42.755307', '-70.849598', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16637, 'Newburyport', 2799, '01951', '978', '42.755307', '-70.849598', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16638, 'Plum Island', 2799, '01951', '978', '42.755307', '-70.849598', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16639, 'Fairhaven', 2799, '02719', '508', '41.631336', '-70.867055', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16640, 'Osterville', 2799, '02655', '508', '41.635799', '-70.391091', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16641, 'W Dennis', 2799, '02670', '508', '41.660756', '-70.171358', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16642, 'West Dennis', 2799, '02670', '508', '41.660756', '-70.171358', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16643, 'Fall River', 2799, '02722', '508', '41.7014', '-71.1558', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16644, 'E Wareham', 2799, '02538', '508', '41.77186', '-70.648056', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16645, 'East Wareham', 2799, '02538', '508', '41.77186', '-70.648056', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16646, 'Chappaquiddick Island', 2799, '02539', '508', '41.384969', '-70.530625', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16647, 'Edgartown', 2799, '02539', '508', '41.384969', '-70.530625', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16648, 'Oak Bluffs', 2799, '02557', '508', '41.4451', '-70.5647', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16649, 'Wareham', 2799, '02571', '508', '41.766592', '-70.700716', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16650, 'Fall River', 2799, '02723', '508', '41.693094', '-71.130534', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16651, 'Fall River', 2799, '02724', '508', '41.686912', '-71.180238', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16652, 'Marion', 2799, '02738', '508', '41.718104', '-70.760418', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16653, 'Mattapoisett', 2799, '02739', '508', '41.664798', '-70.810768', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16654, 'Cuttyhunk', 2799, '02713', '508', '41.465688', '-70.812907', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16655, 'Lexington', 2799, '02421', '781', '42.443014', '-71.234851', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16656, 'E Sandwich', 2799, '02537', '508', '41.729997', '-70.436664', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16657, 'East Sandwich', 2799, '02537', '508', '41.729997', '-70.436664', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16658, 'Monument Bch', 2799, '02553', '508', '41.7141', '-70.6147', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16659, 'Monument Beach', 2799, '02553', '508', '41.7141', '-70.6147', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16660, 'N Falmouth', 2799, '02556', '508', '41.638244', '-70.627712', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16661, 'North Falmouth', 2799, '02556', '508', '41.638244', '-70.627712', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16662, 'Provincetown', 2799, '02657', '508', '42.050907', '-70.196323', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16663, 'West Harwich', 2799, '02671', '508', '41.670829', '-70.111338', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16664, 'W Hyannisprt', 2799, '02672', '508', '41.635254', '-70.319201', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16665, 'West Hyannisport', 2799, '02672', '508', '41.635254', '-70.319201', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16666, 'W Yarmouth', 2799, '02673', '508', '41.648566', '-70.24147', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16667, 'West Yarmouth', 2799, '02673', '508', '41.648566', '-70.24147', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16668, 'Fall River', 2799, '02721', '508', '41.668285', '-71.148002', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16669, 'North Waltham', 2799, '02451', '781', '42.397322', '-71.259369', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16670, 'Waltham', 2799, '02451', '781', '42.397322', '-71.259369', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16671, 'W Falmouth', 2799, '02574', '508', '41.6059', '-70.6459', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16672, 'West Falmouth', 2799, '02574', '508', '41.6059', '-70.6459', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16673, 'W Wareham', 2799, '02576', '508', '41.773512', '-70.76777', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16674, 'West Wareham', 2799, '02576', '508', '41.773512', '-70.76777', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16675, 'Eastham', 2799, '02642', '508', '41.837645', '-69.975125', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16676, 'Forestdale', 2799, '02644', '508', '41.693166', '-70.517618', '2018-11-29 04:51:57', '2018-11-29 04:51:57'),\n(16677, 'Boston', 2799, '02215', '617', '42.345189', '-71.106132', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16678, 'Boston University', 2799, '02215', '617', '42.345189', '-71.106132', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16679, 'Kenmore', 2799, '02215', '617', '42.345189', '-71.106132', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16680, 'Bridgewater', 2799, '02324', '508', '41.970648', '-70.973158', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16681, 'Hanover', 2799, '02340', '781', '42.1223', '-70.8564', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16682, 'Wearguard', 2799, '02340', '781', '42.1223', '-70.8564', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16683, 'Arlington', 2799, '02476', '781', '42.415132', '-71.17662', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16684, 'Needham', 2799, '02494', '781', '42.299724', '-71.229804', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16685, 'Needham Heights', 2799, '02494', '781', '42.299724', '-71.229804', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16686, 'Needham Hgts', 2799, '02494', '781', '42.299724', '-71.229804', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16687, 'Everett', 2799, '02149', '617', '42.405952', '-71.051671', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16688, 'Beachmont', 2799, '02151', '781', '42.419035', '-70.996328', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16689, 'Revere', 2799, '02151', '781', '42.419035', '-70.996328', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16690, 'Revere Beach', 2799, '02151', '781', '42.419035', '-70.996328', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16691, 'Melrose', 2799, '02176', '781', '42.457592', '-71.054207', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16692, 'Braintree', 2799, '02185', '781', '42.2101', '-70.9902', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16693, 'Abington', 2799, '02351', '781', '42.119377', '-70.959396', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16694, 'North Abington', 2799, '02351', '781', '42.119377', '-70.959396', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16695, 'N Pembroke', 2799, '02358', '781', '42.1024', '-70.7739', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16696, 'North Pembroke', 2799, '02358', '781', '42.1024', '-70.7739', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16697, 'Plympton', 2799, '02367', '781', '41.971449', '-70.810876', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16698, 'Walpole', 2799, '02081', '508', '42.150832', '-71.258996', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16699, 'Boston', 2799, '02117', '617', '42.3586', '-71.0605', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16700, 'Boston', 2799, '02201', '617', '42.3586', '-71.0603', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16701, 'Boston City Hall', 2799, '02201', '617', '42.3586', '-71.0603', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16702, 'Boston', 2799, '02135', '617', '42.348778', '-71.155071', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16703, 'Brighton', 2799, '02135', '617', '42.348778', '-71.155071', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16704, 'Middleton', 2799, '01949', '978', '42.602573', '-71.013696', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16705, 'Topsfield', 2799, '01983', '978', '42.635633', '-70.944318', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16706, 'Bedford', 2799, '01731', '781', '42.463052', '-71.285098', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16707, 'Hanscom AFB', 2799, '01731', '781', '42.463052', '-71.285098', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16708, 'Hopedale', 2799, '01747', '508', '42.127', '-71.535778', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16709, 'Lawrence', 2799, '01842', '978', '42.7069', '-71.166', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16710, 'Oakdale', 2799, '01583', '508', '42.359146', '-71.782384', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16711, 'West Boylston', 2799, '01583', '508', '42.359146', '-71.782384', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16712, 'Westboylston', 2799, '01583', '508', '42.359146', '-71.782384', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16713, 'Whitinsville', 2799, '01588', '508', '42.125659', '-71.664119', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16714, 'Richmond', 2799, '01254', '413', '42.379056', '-73.365874', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16715, 'Savoy', 2799, '01256', '413', '42.589611', '-73.022988', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16716, 'Ashby', 2799, '01431', '978', '42.673591', '-71.834337', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16717, 'Charlton City', 2799, '01508', '508', '42.1476', '-71.9982', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16718, 'Richardson Corners', 2799, '01508', '508', '42.1476', '-71.9982', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16719, 'E Brookfield', 2799, '01515', '508', '42.207255', '-72.048914', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16720, 'East Brookfield', 2799, '01515', '508', '42.207255', '-72.048914', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16721, 'Jefferson', 2799, '01522', '508', '42.376355', '-71.872314', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16722, 'Athol', 2799, '01331', '978', '42.560683', '-72.183898', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16723, 'Phillipston', 2799, '01331', '978', '42.560683', '-72.183898', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16724, 'Royalston', 2799, '01331', '978', '42.560683', '-72.183898', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16725, 'Buckland', 2799, '01338', '413', '42.580045', '-72.800323', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16726, 'Gill', 2799, '01354', '413', '42.63841', '-72.509488', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16727, 'Mount Hermon', 2799, '01354', '413', '42.63841', '-72.509488', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16728, 'Mt Hermon', 2799, '01354', '413', '42.63841', '-72.509488', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16729, 'Northfield Mount Hermon', 2799, '01354', '413', '42.63841', '-72.509488', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16730, 'Northfield Mt Hermon', 2799, '01354', '413', '42.63841', '-72.509488', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16731, 'Spfld', 2799, '01129', '413', '42.120974', '-72.487872', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16732, 'Springfield', 2799, '01129', '413', '42.120974', '-72.487872', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16733, 'Baystate Medical', 2799, '01199', '413', '42.1015', '-72.5905', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16734, 'New Town', 2799, '02456', '617', '42.3601', '-71.1308', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16735, 'Newton', 2799, '02456', '617', '42.3601', '-71.1308', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16736, 'Tisbury', 2799, '02573', '508', '41.4768', '-70.6027', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16737, 'Vineyard Haven', 2799, '02573', '508', '41.4768', '-70.6027', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16738, 'Vineyard Hvn', 2799, '02573', '508', '41.4768', '-70.6027', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16739, 'West Chop', 2799, '02573', '508', '41.4768', '-70.6027', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16740, 'Dennis', 2799, '02638', '508', '41.734252', '-70.198173', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16741, 'Brockton', 2799, '02304', '508', '42.0834', '-71.0188', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16742, 'Halifax', 2799, '02338', '781', '41.987159', '-70.859338', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16743, 'Assinippi', 2799, '02339', '781', '42.122752', '-70.851774', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16744, 'Hanover', 2799, '02339', '781', '42.122752', '-70.851774', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16745, 'West Hanover', 2799, '02339', '781', '42.122752', '-70.851774', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16746, 'Watertown', 2799, '02471', '617', '42.3708', '-71.1833', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16747, 'Hyde Park', 2799, '02137', '617', '42.3586', '-71.0605', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16748, 'Readville', 2799, '02137', '617', '42.3586', '-71.0605', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16749, 'Winthrop', 2799, '02152', '617', '42.367752', '-70.97545', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16750, 'Medford', 2799, '02155', '781', '42.424993', '-71.111104', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16751, 'W Medford', 2799, '02155', '781', '42.424993', '-71.111104', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16752, 'West Medford', 2799, '02155', '781', '42.424993', '-71.111104', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16753, 'Houghs Neck', 2799, '02169', '617', '42.242921', '-71.009972', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16754, 'Quincy', 2799, '02169', '617', '42.242921', '-71.009972', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16755, 'Quincy Center', 2799, '02169', '617', '42.242921', '-71.009972', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16756, 'South Quincy', 2799, '02169', '617', '42.242921', '-71.009972', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16757, 'West Quincy', 2799, '02169', '617', '42.242921', '-71.009972', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16758, 'Quincy', 2799, '02170', '617', '42.267422', '-71.016594', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16759, 'Wollaston', 2799, '02170', '617', '42.267422', '-71.016594', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16760, 'Marina Bay', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16761, 'N Quincy', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16762, 'No Quincy', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16763, 'Norfolk Downs', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16764, 'North Quincy', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16765, 'Quincy', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:58', '2018-11-29 04:51:58'),\n(16766, 'Squantum', 2799, '02171', '617', '42.296117', '-70.999722', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16767, 'Milton Village', 2799, '02187', '617', '42.2795', '-71.0782', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16768, 'Milton Vlg', 2799, '02187', '617', '42.2795', '-71.0782', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16769, 'Weymouth', 2799, '02188', '781', '42.207039', '-70.953848', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16770, 'Weymouth Lndg', 2799, '02188', '781', '42.207039', '-70.953848', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16771, 'N Easton', 2799, '02356', '508', '42.054402', '-71.121102', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16772, 'No Easton', 2799, '02356', '508', '42.054402', '-71.121102', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16773, 'North Easton', 2799, '02356', '508', '42.054402', '-71.121102', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16774, 'Medway', 2799, '02053', '508', '42.152946', '-71.427022', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16775, 'Sheldonville', 2799, '02070', '508', '42.0283', '-71.3976', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16776, 'S Walpole', 2799, '02071', '508', '42.101912', '-71.272054', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16777, 'South Walpole', 2799, '02071', '508', '42.101912', '-71.272054', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16778, 'Boston', 2799, '02120', '617', '42.332608', '-71.09653', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16779, 'Mission Hill', 2799, '02120', '617', '42.332608', '-71.09653', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16780, 'Roxbury', 2799, '02120', '617', '42.332608', '-71.09653', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16781, 'Roxbury Crossing', 2799, '02120', '617', '42.332608', '-71.09653', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16782, 'Roxbury Xing', 2799, '02120', '617', '42.332608', '-71.09653', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16783, 'Boston', 2799, '02122', '617', '42.296954', '-71.054622', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16784, 'Dorchester', 2799, '02122', '617', '42.296954', '-71.054622', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16785, 'Boston', 2799, '02205', '617', '42.3512', '-71.0536', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16786, 'Boston', 2799, '02136', '617', '42.252918', '-71.129278', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16787, 'Hyde Park', 2799, '02136', '617', '42.252918', '-71.129278', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16788, 'Readville', 2799, '02136', '617', '42.252918', '-71.129278', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16789, 'Boston', 2799, '02137', '617', '42.3586', '-71.0605', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16790, 'Forge Village', 2799, '01886', '978', '42.588996', '-71.441744', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16791, 'Nabnasset', 2799, '01886', '978', '42.588996', '-71.441744', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16792, 'Westford', 2799, '01886', '978', '42.588996', '-71.441744', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16793, 'Lynn', 2799, '01903', '781', '42.4638', '-70.9479', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16794, 'East Lynn', 2799, '01904', '781', '42.489185', '-70.968944', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16795, 'Lynn', 2799, '01904', '781', '42.489185', '-70.968944', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16796, 'Salem', 2799, '01970', '978', '42.514708', '-70.907522', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16797, 'West Newbury', 2799, '01985', '978', '42.791528', '-70.968849', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16798, 'Bellingham', 2799, '02019', '508', '42.076452', '-71.472236', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16799, 'Brant Rock', 2799, '02020', '781', '42.0863', '-70.6417', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16800, 'Ashland', 2799, '01721', '508', '42.25939', '-71.468254', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16801, 'Bradford', 2799, '01835', '978', '42.753546', '-71.086654', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16802, 'Haverhill', 2799, '01835', '978', '42.753546', '-71.086654', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16803, 'Ward Hill', 2799, '01835', '978', '42.753546', '-71.086654', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16804, 'Lowell', 2799, '01851', '978', '42.624348', '-71.339113', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16805, 'Lowell', 2799, '01854', '978', '42.649275', '-71.346363', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16806, 'Foxboro', 2799, '02035', '508', '42.060874', '-71.235452', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16807, 'Foxborough', 2799, '02035', '508', '42.060874', '-71.235452', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16808, 'Northbridge', 2799, '01534', '508', '42.136202', '-71.642674', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16809, 'Rockdale', 2799, '01534', '508', '42.136202', '-71.642674', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16810, 'N Grafton', 2799, '01536', '508', '42.224812', '-71.68933', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16811, 'No Grafton', 2799, '01536', '508', '42.224812', '-71.68933', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16812, 'North Grafton', 2799, '01536', '508', '42.224812', '-71.68933', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16813, 'Upton', 2799, '01568', '508', '42.176133', '-71.604529', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16814, 'W Upton', 2799, '01568', '508', '42.176133', '-71.604529', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16815, 'West Upton', 2799, '01568', '508', '42.176133', '-71.604529', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16816, 'Millbury', 2799, '01586', '508', '42.1756', '-71.8027', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16817, 'West Millbury', 2799, '01586', '508', '42.1756', '-71.8027', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16818, 'Webster Square', 2799, '01603', '508', '42.244677', '-71.844808', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16819, 'Worcester', 2799, '01603', '508', '42.244677', '-71.844808', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16820, 'Framingham', 2799, '01701', '508', '42.323168', '-71.435188', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16821, 'Framingham Center', 2799, '01701', '508', '42.323168', '-71.435188', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16822, 'Framingham So', 2799, '01701', '508', '42.323168', '-71.435188', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16823, 'New Bedford', 2799, '02740', '508', '41.632164', '-70.940609', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16824, 'South Waltham', 2799, '02453', '781', '42.369984', '-71.232748', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16825, 'Waltham', 2799, '02453', '781', '42.369984', '-71.232748', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16826, 'Dennis Port', 2799, '02639', '508', '41.670696', '-70.137566', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16827, 'Dennisport', 2799, '02639', '508', '41.670696', '-70.137566', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16828, 'Cambridge', 2799, '02238', '617', '42.3669', '-71.1002', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16829, 'Harvard Sq', 2799, '02238', '617', '42.3669', '-71.1002', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16830, 'Harvard Square', 2799, '02238', '617', '42.3669', '-71.1002', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16831, 'Quincy', 2799, '02269', '617', '42.2528', '-71.0025', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16832, 'Brockton', 2799, '02303', '508', '42.0834', '-71.0188', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16833, 'Brockton', 2799, '02305', '508', '42.0834', '-71.0188', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16834, 'Cambridge', 2799, '02138', '617', '42.380054', '-71.132952', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16835, 'Cambridge', 2799, '02139', '617', '42.364397', '-71.101196', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16836, 'Cambridgeport', 2799, '02139', '617', '42.364397', '-71.101196', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16837, 'Inman Square', 2799, '02139', '617', '42.364397', '-71.101196', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16838, 'Medford', 2799, '02153', '617', '42.403614', '-71.120162', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16839, 'Tufts Univ', 2799, '02153', '617', '42.403614', '-71.120162', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16840, 'Tufts University', 2799, '02153', '617', '42.403614', '-71.120162', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16841, 'East Milton', 2799, '02186', '617', '42.239587', '-71.081122', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16842, 'Milton', 2799, '02186', '617', '42.239587', '-71.081122', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16843, 'Rockland', 2799, '02370', '781', '42.128818', '-70.912354', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16844, 'Medfield', 2799, '02052', '508', '42.182364', '-71.310053', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16845, 'Millis', 2799, '02054', '508', '42.16616', '-71.361252', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16846, 'Minot', 2799, '02055', '781', '42.2403', '-70.7626', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16847, 'Scituate', 2799, '02055', '781', '42.2403', '-70.7626', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16848, 'Boston', 2799, '02119', '617', '42.323038', '-71.084684', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16849, 'Roxbury', 2799, '02119', '617', '42.323038', '-71.084684', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16850, 'Boston', 2799, '02121', '617', '42.307319', '-71.085935', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16851, 'Dorchester', 2799, '02121', '617', '42.307319', '-71.085935', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16852, 'Grove Hall', 2799, '02121', '617', '42.307319', '-71.085935', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16853, 'Boston', 2799, '02203', '617', '42.3612', '-71.0603', '2018-11-29 04:51:59', '2018-11-29 04:51:59'),\n(16854, 'West Boxford', 2799, '01885', '978', '42.7077', '-71.0658', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16855, 'Lynn', 2799, '01905', '781', '42.475945', '-70.980115', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16856, 'West Lynn', 2799, '01905', '781', '42.475945', '-70.980115', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16857, 'Boxford', 2799, '01921', '978', '42.679297', '-71.029386', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16858, 'Hamilton', 2799, '01936', '978', '42.6208', '-70.8578', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16859, 'Ipswich', 2799, '01938', '978', '42.682948', '-70.847264', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16860, 'Salisbury', 2799, '01952', '978', '42.850347', '-70.863299', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16861, 'Salisbury Bch', 2799, '01952', '978', '42.850347', '-70.863299', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16862, 'Salisbury Beach', 2799, '01952', '978', '42.850347', '-70.863299', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16863, 'Salem', 2799, '01971', '978', '42.5195', '-70.8972', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16864, 'Canton', 2799, '02021', '781', '42.18271', '-71.122104', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16865, 'Marlboro', 2799, '01752', '508', '42.345921', '-71.550943', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16866, 'Marlborough', 2799, '01752', '508', '42.345921', '-71.550943', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16867, 'Woburn', 2799, '01801', '781', '42.489526', '-71.158884', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16868, 'Lowell', 2799, '01853', '978', '42.6435', '-71.3101', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16869, 'Shelburne Falls', 2799, '01370', '413', '42.601438', '-72.739108', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16870, 'Shelburne Fls', 2799, '01370', '413', '42.601438', '-72.739108', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16871, 'N Brookfield', 2799, '01535', '508', '42.268925', '-72.08293', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16872, 'North Brookfield', 2799, '01535', '508', '42.268925', '-72.08293', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16873, 'Uxbridge', 2799, '01569', '508', '42.062542', '-71.64365', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16874, 'W Brookfield', 2799, '01585', '508', '42.227596', '-72.164598', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16875, 'West Brookfield', 2799, '01585', '508', '42.227596', '-72.164598', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16876, 'Westbrookfield', 2799, '01585', '508', '42.227596', '-72.164598', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16877, 'Worcester', 2799, '01601', '508', '42.2627', '-71.8028', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16878, 'West Side', 2799, '01602', '508', '42.274402', '-71.847756', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16879, 'Worcester', 2799, '01602', '508', '42.274402', '-71.847756', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16880, 'Framingham', 2799, '01703', '508', '42.3026', '-71.4236', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16881, 'N Egremont', 2799, '01252', '413', '42.1967', '-73.4386', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16882, 'No Egremont', 2799, '01252', '413', '42.1967', '-73.4386', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16883, 'North Egremont', 2799, '01252', '413', '42.1967', '-73.4386', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16884, 'Cold Spring', 2799, '01253', '413', '42.195522', '-73.094484', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16885, 'North Otis', 2799, '01253', '413', '42.195522', '-73.094484', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16886, 'Otis', 2799, '01253', '413', '42.195522', '-73.094484', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16887, 'Ayer', 2799, '01434', '978', '42.534958', '-71.611484', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16888, 'Devens', 2799, '01434', '978', '42.534958', '-71.611484', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16889, 'Harvard', 2799, '01451', '978', '42.498546', '-71.581862', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16890, 'Still River', 2799, '01467', '978', '42.48442', '-71.62897', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16891, 'E Princeton', 2799, '01517', '978', '42.4728', '-71.8395', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16892, 'East Princeton', 2799, '01517', '978', '42.4728', '-71.8395', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16893, 'Alford', 2799, '01266', '413', '42.288658', '-73.377778', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16894, 'Interlaken', 2799, '01266', '413', '42.288658', '-73.377778', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16895, 'W Stockbridge', 2799, '01266', '413', '42.288658', '-73.377778', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16896, 'West Stockbridge', 2799, '01266', '413', '42.288658', '-73.377778', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16897, 'West Stockbridge Center', 2799, '01266', '413', '42.288658', '-73.377778', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16898, 'Williamstn', 2799, '01267', '413', '42.642268', '-73.252598', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16899, 'Williamstown', 2799, '01267', '413', '42.642268', '-73.252598', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16900, 'Wmstown', 2799, '01267', '413', '42.642268', '-73.252598', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16901, 'Monroe', 2799, '01350', '413', '42.721188', '-72.975162', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16902, 'Monroe Bridge', 2799, '01350', '413', '42.721188', '-72.975162', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16903, 'Baptist Corner', 2799, '01370', '413', '42.601438', '-72.739108', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16904, 'East Charlemont', 2799, '01370', '413', '42.601438', '-72.739108', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16905, 'Shelburne', 2799, '01370', '413', '42.601438', '-72.739108', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16906, 'Crescent Mills', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16907, 'Hntgtn', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16908, 'Huntington', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16909, 'Knightville', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16910, 'Montgomery', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16911, 'Spfld', 2799, '01119', '413', '42.122508', '-72.511518', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16912, 'Springfield', 2799, '01119', '413', '42.122508', '-72.511518', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16913, 'Adams', 2799, '01220', '413', '42.627128', '-73.11869', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16914, 'North Chester', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16915, 'South Worthington', 2799, '01050', '413', '42.270928', '-72.903169', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16916, 'N Hatfield', 2799, '01066', '413', '42.4107', '-72.6253', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16917, 'No Hatfield', 2799, '01066', '413', '42.4107', '-72.6253', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16918, 'North Hatfield', 2799, '01066', '413', '42.4107', '-72.6253', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16919, 'Mount Victoria', 2800, '20661', '301', '38.3533', '-76.8961', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16920, 'Mt Victoria', 2800, '20661', '301', '38.3533', '-76.8961', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16921, 'Drayden', 2800, '20630', '301', '38.163559', '-76.475667', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16922, 'Southern Md Brm', 2800, '20697', '301', '39.0314', '-76.9083', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16923, 'Southern Md Facility', 2800, '20697', '301', '39.0314', '-76.9083', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16924, 'Sthrn Md Fac', 2800, '20697', '301', '39.0314', '-76.9083', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16925, 'Lothian', 2800, '20711', '410', '38.800944', '-76.64473', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16926, 'Mount Rainier', 2800, '20712', '301', '38.942781', '-76.966558', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16927, 'Mt Rainier', 2800, '20712', '301', '38.942781', '-76.966558', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16928, 'West River', 2800, '20778', '410', '38.840993', '-76.571354', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16929, 'Avondale', 2800, '20781', '301', '38.941163', '-76.935371', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16930, 'Cheverly', 2800, '20781', '301', '38.941163', '-76.935371', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16931, 'Edmonston', 2800, '20781', '301', '38.941163', '-76.935371', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16932, 'Hyattsville', 2800, '20781', '301', '38.941163', '-76.935371', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16933, 'Rogers Heights', 2800, '20781', '301', '38.941163', '-76.935371', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16934, 'Tuxedo', 2800, '20781', '301', '38.941163', '-76.935371', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16935, 'Savage', 2800, '20763', '301', '39.13476', '-76.816239', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16936, 'Shady Side', 2800, '20764', '410', '38.832512', '-76.511562', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16937, 'Galesville', 2800, '20765', '410', '38.843514', '-76.547581', '2018-11-29 04:52:00', '2018-11-29 04:52:00'),\n(16938, 'Somerset', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16939, 'Olney', 2800, '20832', '301', '39.151068', '-77.071944', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16940, 'Kensington', 2800, '20895', '301', '39.02667', '-77.081017', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16941, 'Bethesda', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16942, 'Chevy Chase', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16943, 'Chevy Chase Village', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16944, 'Chevy Chs Vlg', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16945, 'Martins Add', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16946, 'Martins Additions', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16947, 'N Chevy Chase', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16948, 'North Chevy Chase', 2800, '20815', '301', '38.984212', '-77.079106', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16949, 'North Bethesda', 2800, '20895', '301', '39.02667', '-77.081017', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16950, 'Subn Md Fac', 2800, '20897', '301', '39.0876', '-77.0578', '2018-11-29 04:52:01', '2018-11-29 04:52:01');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(16951, 'Suburb Maryland Fac', 2800, '20897', '301', '39.0876', '-77.0578', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16952, 'Suburban Md Brm', 2800, '20897', '301', '39.0876', '-77.0578', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16953, 'Gaithersburg', 2800, '20898', '301', '39.1434', '-77.2018', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16954, 'Colesville', 2800, '20914', '301', '39.0756', '-77.0022', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16955, 'Silver Spring', 2800, '20914', '301', '39.0756', '-77.0022', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16956, 'College Park', 2800, '20740', '301', '39.001255', '-76.925719', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16957, 'North College Park', 2800, '20740', '301', '39.001255', '-76.925719', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16958, 'Carrollton', 2800, '21157', '410', '39.555281', '-76.990516', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16959, 'Westminster', 2800, '21157', '410', '39.555281', '-76.990516', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16960, 'Glyndon', 2800, '21071', '410', '39.473214', '-76.815184', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16961, 'Greenmount', 2800, '21074', '410', '39.61417', '-76.852612', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16962, 'Hampstead', 2800, '21074', '410', '39.61417', '-76.852612', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16963, 'Lineboro', 2800, '21088', '410', '39.7139', '-76.8368', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16964, 'Manchester', 2800, '21088', '410', '39.7139', '-76.8368', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16965, 'Hyattsville', 2800, '20787', '301', '39.0031', '-76.9724', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16966, 'Langley Park', 2800, '20787', '301', '39.0031', '-76.9724', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16967, 'Baltimore', 2800, '21204', '410', '39.401942', '-76.632844', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16968, 'Eudowood', 2800, '21204', '410', '39.401942', '-76.632844', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16969, 'Loch Raven', 2800, '21204', '410', '39.401942', '-76.632844', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16970, 'Ruxton', 2800, '21204', '410', '39.401942', '-76.632844', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16971, 'Towson', 2800, '21204', '410', '39.401942', '-76.632844', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16972, 'Derwood', 2800, '20855', '301', '39.14107', '-77.138008', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16973, 'Rockville', 2800, '20855', '301', '39.14107', '-77.138008', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16974, 'Glenmont', 2800, '20906', '301', '39.08528', '-77.058949', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16975, 'Leisure World', 2800, '20906', '301', '39.08528', '-77.058949', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16976, 'Norbeck', 2800, '20906', '301', '39.08528', '-77.058949', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16977, 'Silver Spring', 2800, '20906', '301', '39.08528', '-77.058949', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16978, 'Wheaton', 2800, '20906', '301', '39.08528', '-77.058949', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16979, 'Riva', 2800, '21140', '410', '38.949848', '-76.587055', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16980, 'Upper Falls', 2800, '21156', '410', '39.436358', '-76.389686', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16981, 'Hyattsville', 2800, '20788', '301', '38.9558', '-76.9456', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16982, 'Baltimore', 2800, '21205', '410', '39.303683', '-76.56496', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16983, 'Clifton East End', 2800, '21205', '410', '39.303683', '-76.56496', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16984, 'East End', 2800, '21205', '410', '39.303683', '-76.56496', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16985, 'Baltimore', 2800, '21206', '410', '39.334608', '-76.53652', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16986, 'Raspeburg', 2800, '21206', '410', '39.334608', '-76.53652', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16987, 'Rockville', 2800, '20854', '301', '39.024784', '-77.246553', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16988, 'Abell', 2800, '20606', '301', '38.25069', '-76.748608', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16989, 'Charlott Hall', 2800, '20622', '301', '38.447645', '-76.823442', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16990, 'Charlotte Hall', 2800, '20622', '301', '38.447645', '-76.823442', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16991, 'Huntingtown', 2800, '20639', '410', '38.610104', '-76.598868', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16992, 'Scotland', 2800, '20687', '301', '38.000478', '-76.345543', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16993, 'Lanham', 2800, '20703', '301', '38.9666', '-76.8622', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16994, 'Lanham Seabrook', 2800, '20703', '301', '38.9666', '-76.8622', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16995, 'Seabrook', 2800, '20703', '301', '38.9666', '-76.8622', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16996, 'Beltsville', 2800, '20704', '301', '39.0347', '-76.9076', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16997, 'Capitol Heights', 2800, '20790', '301', '38.9876', '-76.8806', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16998, 'Capitol Heights Po', 2800, '20790', '301', '38.9876', '-76.8806', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(16999, 'Capitol Hgts', 2800, '20790', '301', '38.9876', '-76.8806', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17000, 'Dunkirk', 2800, '20754', '301', '38.734872', '-76.647772', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17001, 'Fort George G Meade', 2800, '20755', '410', '39.082606', '-76.770192', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17002, 'Fort George Meade', 2800, '20755', '410', '39.082606', '-76.770192', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17003, 'Fort Meade', 2800, '20755', '410', '39.082606', '-76.770192', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17004, 'Ft George G Meade', 2800, '20755', '410', '39.082606', '-76.770192', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17005, 'Ft Meade', 2800, '20755', '410', '39.082606', '-76.770192', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17006, 'Marlboro', 2800, '20772', '301', '38.781028', '-76.778818', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17007, 'Upper Marlboro', 2800, '20772', '301', '38.781028', '-76.778818', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17008, 'Uppr Marlboro', 2800, '20772', '301', '38.781028', '-76.778818', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17009, 'Upper Marlboro', 2800, '20773', '301', '38.8159', '-76.7498', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17010, 'Uppr Marlboro', 2800, '20773', '301', '38.8159', '-76.7498', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17011, 'Poolesville', 2800, '20837', '301', '39.116546', '-77.414994', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17012, 'Barnesville', 2800, '20838', '301', '39.233514', '-77.350981', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17013, 'Beallsville', 2800, '20839', '301', '39.182332', '-77.42029', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17014, 'Bethesda', 2800, '20889', '301', '38.9808', '-77.1006', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17015, 'National Naval Medical Ctr', 2800, '20889', '301', '38.9808', '-77.1006', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17016, 'Walter Reed Natl Mil Med Ctr', 2800, '20889', '301', '38.9808', '-77.1006', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17017, 'Cloverly', 2800, '20904', '301', '39.061229', '-76.978879', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17018, 'Colesville', 2800, '20904', '301', '39.061229', '-76.978879', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17019, 'Silver Spring', 2800, '20904', '301', '39.061229', '-76.978879', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17020, 'Colesville', 2800, '20905', '301', '39.111816', '-76.99355', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17021, 'Silver Spring', 2800, '20905', '301', '39.111816', '-76.99355', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17022, 'Berwyn Heights', 2800, '20740', '301', '39.001255', '-76.925719', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17023, 'Berwyn Hts', 2800, '20740', '301', '39.001255', '-76.925719', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17024, 'Brandywine', 2800, '20613', '301', '38.65055', '-76.814481', '2018-11-29 04:52:01', '2018-11-29 04:52:01'),\n(17025, 'Dameron', 2800, '20628', '301', '38.14899', '-76.349196', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17026, 'Dentsville', 2800, '20646', '301', '38.511838', '-77.00676', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17027, 'La Plata', 2800, '20646', '301', '38.511838', '-77.00676', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17028, 'Laplata', 2800, '20646', '301', '38.511838', '-77.00676', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17029, 'Capitol Heights', 2800, '20731', '301', '38.9876', '-76.8808', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17030, 'Holland Point', 2800, '20714', '410', '38.716766', '-76.535969', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17031, 'N Beach', 2800, '20714', '410', '38.716766', '-76.535969', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17032, 'North Beach', 2800, '20714', '410', '38.716766', '-76.535969', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17033, 'Rose Haven', 2800, '20714', '410', '38.716766', '-76.535969', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17034, 'Fairhaven', 2800, '20779', '410', '38.76112', '-76.576613', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17035, 'Tracys Landing', 2800, '20779', '410', '38.76112', '-76.576613', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17036, 'Tracys Lndg', 2800, '20779', '410', '38.76112', '-76.576613', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17037, 'Capitol Hgts', 2800, '20731', '301', '38.9876', '-76.8808', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17038, 'Southern Md Brm', 2800, '20797', '301', '39.0914', '-76.8427', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17039, 'Olney', 2800, '20830', '301', '39.1533', '-77.0674', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17040, 'Southern Md Facility', 2800, '20797', '301', '39.0914', '-76.8427', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17041, 'Sthrn Md Fac', 2800, '20797', '301', '39.0914', '-76.8427', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17042, 'Glen Echo', 2800, '20812', '301', '38.968422', '-77.14235', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17043, 'Bethesda', 2800, '20814', '301', '39.004804', '-77.102477', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17044, 'Silver Spring', 2800, '20912', '301', '38.982635', '-77.003887', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17045, 'Takoma Park', 2800, '20912', '301', '38.982635', '-77.003887', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17046, 'Silver Spring', 2800, '20913', '301', '38.9829', '-77.0209', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17047, 'Takoma Park', 2800, '20913', '301', '38.9829', '-77.0209', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17048, 'Pylesville', 2800, '21132', '410', '39.693214', '-76.418042', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17049, 'Severna Park', 2800, '21146', '410', '39.074218', '-76.56524', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17050, 'Finksburg', 2800, '21048', '410', '39.491573', '-76.911391', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17051, 'Patapsco', 2800, '21048', '410', '39.491573', '-76.911391', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17052, 'Cockys Ht Vly', 2800, '21065', '410', '39.4808', '-76.6448', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17053, 'Hunt Valley', 2800, '21065', '410', '39.4808', '-76.6448', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17054, 'Huntvalley', 2800, '21065', '410', '39.4808', '-76.6448', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17055, 'Pdp Group Inc', 2800, '21065', '410', '39.4808', '-76.6448', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17056, 'Brinklow', 2800, '20862', '301', '39.180483', '-77.014389', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17057, 'Washingtn Grv', 2800, '20880', '301', '39.13924', '-77.174253', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17058, 'Washington Grove', 2800, '20880', '301', '39.13924', '-77.174253', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17059, 'Nanjemoy', 2800, '20662', '301', '38.433402', '-77.21936', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17060, 'Owings', 2800, '20736', '301', '38.689487', '-76.615297', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17061, 'Riverdale', 2800, '20738', '301', '38.9633', '-76.9316', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17062, 'Berwyn', 2800, '20740', '301', '39.001255', '-76.925719', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17063, 'White Marsh', 2800, '21162', '410', '39.390266', '-76.399022', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17064, 'Baltimore', 2800, '21201', '410', '39.295392', '-76.623935', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17065, 'Baltimore', 2800, '21203', '410', '39.2905', '-76.6126', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17066, 'Linthicum Heights', 2800, '21090', '410', '39.206336', '-76.668646', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17067, 'Linthicum Hts', 2800, '21090', '410', '39.206336', '-76.668646', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17068, 'Baltimore', 2800, '21207', '410', '39.324836', '-76.714952', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17069, 'Gwynn Oak', 2800, '21207', '410', '39.324836', '-76.714952', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17070, 'Pikesville', 2800, '21207', '410', '39.324836', '-76.714952', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17071, 'Woodlawn', 2800, '21207', '410', '39.324836', '-76.714952', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17072, 'Baltimore', 2800, '21208', '410', '39.382375', '-76.725876', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17073, 'Pikesville', 2800, '21208', '410', '39.382375', '-76.725876', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17074, 'Damascus', 2800, '20872', '301', '39.292426', '-77.222289', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17075, 'Woodstock', 2800, '21163', '410', '39.339327', '-76.85797', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17076, 'Gaithersburg', 2800, '20879', '301', '39.176351', '-77.183173', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17077, 'Laytonsville', 2800, '20879', '301', '39.176351', '-77.183173', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17078, 'Montgomery Village', 2800, '20879', '301', '39.176351', '-77.183173', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17079, 'Montgomry Vlg', 2800, '20879', '301', '39.176351', '-77.183173', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17080, 'Gaithersburg', 2800, '20882', '301', '39.229095', '-77.142379', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17081, 'Ray', 2802, '48096', '586', '42.761286', '-82.919174', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17082, 'Ray Township', 2802, '48096', '586', '42.761286', '-82.919174', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17083, 'Ray Twp', 2802, '48096', '586', '42.761286', '-82.919174', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17084, 'Ann Arbor', 2802, '48113', '734', '42.2836', '-83.7455', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17085, 'Dearborn', 2802, '48128', '313', '42.320145', '-83.256896', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17086, 'Duncan', 2802, '48131', '734', '41.952659', '-83.668174', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17087, 'Dundee', 2802, '48131', '734', '41.952659', '-83.668174', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17088, 'Rea', 2802, '48131', '734', '41.952659', '-83.668174', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17089, 'Brownstown', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17090, 'Brownstown Township', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17091, 'Brownstown Twp', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17092, 'Brownstwn Twp', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17093, 'Huron Twp', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17094, 'New Boston', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17095, 'Waltz', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17096, 'Willow', 2802, '48164', '734', '42.133472', '-83.392705', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17097, 'New Hudson', 2802, '48165', '248', '42.496324', '-83.623069', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17098, 'Southgate', 2802, '48195', '734', '42.206144', '-83.204712', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17099, 'Detroit', 2802, '48229', '313', '42.249372', '-83.139817', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17100, 'Ecorse', 2802, '48229', '313', '42.249372', '-83.139817', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17101, 'River Rouge', 2802, '48229', '313', '42.249372', '-83.139817', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17102, 'Detroit', 2802, '48230', '313', '42.382642', '-82.923326', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17103, 'Grosse Pointe', 2802, '48230', '313', '42.382642', '-82.923326', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17104, 'Grosse Pointe Farms', 2802, '48230', '313', '42.382642', '-82.923326', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17105, 'Grosse Pointe Park', 2802, '48230', '313', '42.382642', '-82.923326', '2018-11-29 04:52:02', '2018-11-29 04:52:02'),\n(17106, 'Grosse Pointe Shores', 2802, '48230', '313', '42.382642', '-82.923326', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17107, 'Grosse Pointe Woods', 2802, '48230', '313', '42.382642', '-82.923326', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17108, 'Detroit', 2802, '48232', '313', '42.3317', '-83.0456', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17109, 'Detroit', 2802, '48265', '313', '42.3317', '-83.0456', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17110, 'General Motors', 2802, '48265', '313', '42.3317', '-83.0456', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17111, 'Bank Of America', 2802, '48279', '313', '42.3317', '-83.0456', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17112, 'Detroit', 2802, '48279', '313', '42.3317', '-83.0456', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17113, 'St Heights', 2802, '48312', '586', '42.559128', '-83.009788', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17114, 'Lake Saint Croix Beach', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17115, 'Lakeland', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17116, 'Lakeland Shores', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17117, 'Lakeland Shrs', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17118, 'Saint Marys Point', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17119, 'St Croix Bch', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17120, 'St Croix Beach', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17121, 'St Marys Point', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17122, 'St Marys Pt', 2803, '55043', '651', '44.939738', '-92.766178', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17123, 'Beroun', 2803, '55063', '320', '45.824249', '-92.914252', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17124, 'Chengwatana', 2803, '55063', '320', '45.824249', '-92.914252', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17125, 'Pine City', 2803, '55063', '320', '45.824249', '-92.914252', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17126, 'West Rock', 2803, '55063', '320', '45.824249', '-92.914252', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17127, 'Woodbury', 2803, '55129', '651', '44.90531', '-92.923272', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17128, 'Saint Paul', 2803, '55145', '651', '44.9445', '-93.0932', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17129, 'State Tax Dept', 2803, '55145', '651', '44.9445', '-93.0932', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17130, 'Almelund', 2803, '55002', '651', '45.4909', '-92.7862', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17131, 'Isanti', 2803, '55040', '763', '45.473213', '-93.292192', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17132, 'Lake City', 2803, '55041', '651', '44.412417', '-92.335102', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17133, 'Eagle Lake', 2803, '56024', '507', '44.15229', '-93.838319', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17134, 'Huntley', 2803, '56047', '507', '43.738902', '-94.232593', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17135, 'Claremont', 2803, '55924', '507', '44.040862', '-93.015594', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17136, 'Dresbach', 2803, '55947', '507', '43.81814', '-91.362528', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17137, 'La Crescent', 2803, '55947', '507', '43.81814', '-91.362528', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17138, 'Pine Island', 2803, '55963', '507', '44.183072', '-92.658703', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17139, 'Carimona', 2803, '55965', '507', '43.637822', '-92.13569', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17140, 'Greenleafton', 2803, '55965', '507', '43.637822', '-92.13569', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17141, 'Preston', 2803, '55965', '507', '43.637822', '-92.13569', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17142, 'Saint Charles', 2803, '55972', '507', '43.976964', '-92.063842', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17143, 'New Richland', 2803, '56072', '507', '43.910272', '-93.495021', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17144, 'Duluth', 2803, '55815', '218', '46.7833', '-92.1065', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17145, 'Rochester', 2803, '55904', '507', '43.953182', '-92.40051', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17146, 'Rochester', 2803, '55906', '507', '44.10762', '-92.395854', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17147, 'Saratoga', 2803, '55972', '507', '43.976964', '-92.063842', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17148, 'St Charles', 2803, '55972', '507', '43.976964', '-92.063842', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17149, 'Troy', 2803, '55972', '507', '43.976964', '-92.063842', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17150, 'Spring Grove', 2803, '55974', '507', '43.587194', '-91.62755', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17151, 'Dumfries', 2803, '55981', '651', '44.356129', '-92.046088', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17152, 'Wabasha', 2803, '55981', '651', '44.356129', '-92.046088', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17153, 'Hibbing', 2803, '55747', '218', '47.4229', '-92.9378', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17154, 'Duquette', 2803, '55756', '218', '46.388674', '-92.4857', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17155, 'Kerrick', 2803, '55756', '218', '46.388674', '-92.4857', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17156, 'Meadowlands', 2803, '55765', '218', '47.111057', '-92.749498', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17157, 'Toivola', 2803, '55765', '218', '47.111057', '-92.749498', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17158, 'Babbitt', 2803, '55706', '218', '47.672834', '-91.987018', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17159, 'Coleraine', 2803, '55722', '218', '47.284866', '-93.435036', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17160, 'Minneapolis', 2803, '55402', '612', '44.975922', '-93.272232', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17161, 'St Louis Pk', 2803, '55436', '952', '44.9057', '-93.375965', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17162, 'Minneapolis', 2803, '55454', '612', '44.971588', '-93.240711', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17163, 'Abmps', 2803, '55472', '612', '44.9817', '-93.2637', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17164, 'Minneapolis', 2803, '55472', '612', '44.9817', '-93.2637', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17165, 'Minneapolis', 2803, '55486', '612', '44.98', '-93.2638', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17166, 'Us Bank', 2803, '55486', '612', '44.98', '-93.2638', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17167, 'Norwood', 2803, '55554', '952', '44.7685', '-93.9276', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17168, 'Maple Plain', 2803, '55570', '763', '45.0072', '-93.6558', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17169, 'Minneapolis', 2803, '55404', '612', '44.962396', '-93.259456', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17170, 'Bloomington', 2803, '55420', '952', '44.831108', '-93.277982', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17171, 'Minneapolis', 2803, '55420', '952', '44.831108', '-93.277982', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17172, 'Crystal', 2803, '55427', '763', '45.006124', '-93.382604', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17173, 'Golden Valley', 2803, '55427', '763', '45.006124', '-93.382604', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17174, 'Minneapolis', 2803, '55427', '763', '45.006124', '-93.382604', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17175, 'New Hope', 2803, '55427', '763', '45.006124', '-93.382604', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17176, 'Edina', 2803, '55436', '952', '44.9057', '-93.375965', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17177, 'Minneapolis', 2803, '55436', '952', '44.9057', '-93.375965', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17178, 'Saint Louis Park', 2803, '55436', '952', '44.9057', '-93.375965', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17179, 'St Louis Park', 2803, '55436', '952', '44.9057', '-93.375965', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17180, 'Saint Paul', 2803, '55188', '651', '44.945528', '-92.91073', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17181, 'Target Direct', 2803, '55188', '651', '44.945528', '-92.91073', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17182, 'Minnetrista', 2803, '55388', '952', '44.957061', '-93.844952', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17183, 'Watertown', 2803, '55388', '952', '44.957061', '-93.844952', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17184, 'Fort Snelling', 2803, '55111', '612', '44.883532', '-93.198002', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17185, 'Fort Snelling Military Resv', 2803, '55111', '612', '44.883532', '-93.198002', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17186, 'Saint Paul', 2803, '55111', '612', '44.883532', '-93.198002', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17187, 'Andover', 2803, '55304', '763', '45.254852', '-93.274413', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17188, 'Anoka', 2803, '55304', '763', '45.254852', '-93.274413', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17189, 'County Market', 2803, '55304', '763', '45.254852', '-93.274413', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17190, 'Ham Lake', 2803, '55304', '763', '45.254852', '-93.274413', '2018-11-29 04:52:03', '2018-11-29 04:52:03'),\n(17191, 'Soderville', 2803, '55304', '763', '45.254852', '-93.274413', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17192, 'Corcoran', 2803, '55311', '763', '45.121489', '-93.498854', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17193, 'Hassan', 2803, '55311', '763', '45.121489', '-93.498854', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17194, 'Maple Grove', 2803, '55311', '763', '45.121489', '-93.498854', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17195, 'Osseo', 2803, '55311', '763', '45.121489', '-93.498854', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17196, 'Dayton', 2803, '55327', '763', '45.202298', '-93.474563', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17197, 'Hassan', 2803, '55327', '763', '45.202298', '-93.474563', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17198, 'Otsego', 2803, '55327', '763', '45.202298', '-93.474563', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17199, 'Biscay', 2803, '55336', '320', '44.758838', '-94.194086', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17200, 'Glencoe', 2803, '55336', '320', '44.758838', '-94.194086', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17201, 'Green Isle', 2803, '55338', '507', '44.666472', '-93.975963', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17202, 'Saint Francis', 2803, '55070', '763', '45.416954', '-93.372868', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17203, 'St Francis', 2803, '55070', '763', '45.416954', '-93.372868', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17204, 'Lilydale', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17205, 'Mendota Heights', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17206, 'Mendota Hts', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17207, 'Saint Paul', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17208, 'Sunfish Lake', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17209, 'W Saint Paul', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17210, 'W St Paul', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17211, 'West Saint Paul', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17212, 'West St Paul', 2803, '55118', '651', '44.89252', '-93.122054', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17213, 'Saint Paul', 2803, '55129', '651', '44.90531', '-92.923272', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17214, 'Cannon Falls', 2803, '55009', '507', '44.48555', '-92.8857', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17215, 'Miesville', 2803, '55009', '507', '44.48555', '-92.8857', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17216, 'Wastedo', 2803, '55009', '507', '44.48555', '-92.8857', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17217, 'White Rock', 2803, '55009', '507', '44.48555', '-92.8857', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17218, 'Hayward', 2803, '56043', '507', '43.6298', '-93.229194', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17219, 'Odin', 2803, '56160', '507', '43.87718', '-94.784366', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17220, 'Tyler', 2803, '56178', '507', '44.28438', '-96.109782', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17221, 'Dexter', 2803, '55926', '507', '43.717615', '-92.749495', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17222, 'Hokah', 2803, '55941', '507', '43.720356', '-91.331763', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17223, 'Douglas', 2803, '55960', '507', '44.131164', '-92.531693', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17224, 'Oronoco', 2803, '55960', '507', '44.131164', '-92.531693', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17225, 'Le Sueur', 2803, '56058', '507', '44.456437', '-93.92865', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17226, 'Pemberton', 2803, '56078', '507', '43.93508', '-93.79301', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17227, 'Cherry Grove', 2803, '55975', '507', '43.667475', '-92.329348', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17228, 'Spring Valley', 2803, '55975', '507', '43.667475', '-92.329348', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17229, 'Cromwell', 2803, '55726', '218', '46.668412', '-92.809566', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17230, 'Goodland', 2803, '55742', '218', '47.196298', '-93.129663', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17231, 'Grand Rapids', 2803, '55744', '218', '47.286799', '-93.546216', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17232, 'Maple Plain', 2803, '55574', '763', '45.0072', '-93.6558', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17233, 'Howard Lake', 2803, '55575', '952', '45.0501', '-94.06', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17234, 'Monticello', 2803, '55590', '763', '45.3059', '-93.7938', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17235, 'Monticello', 2803, '55591', '763', '45.3059', '-93.7938', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17236, 'Maple Plain', 2803, '55592', '763', '45.16', '-93.7251', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17237, 'Young America', 2803, '55594', '952', '44.9509', '-93.6556', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17238, 'Isabella', 2803, '55607', '218', '47.562516', '-91.537986', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17239, 'Knife River', 2803, '55609', '218', '46.96777', '-91.783651', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17240, 'Boray', 2803, '55709', '218', '47.427266', '-93.379581', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17241, 'Bovey', 2803, '55709', '218', '47.427266', '-93.379581', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17242, 'Minn', 2803, '55440', '952', '44.98', '-93.2638', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17243, 'Minneapolis', 2803, '55440', '952', '44.98', '-93.2638', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17244, 'Minneapolis', 2803, '55442', '763', '45.047222', '-93.429184', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17245, 'Plymouth', 2803, '55442', '763', '45.047222', '-93.429184', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17246, 'Minneapolis', 2803, '55460', '612', '44.98', '-93.2638', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17247, 'Young America', 2803, '55557', '952', '44.7825', '-93.9135', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17248, 'Young America', 2803, '55558', '952', '44.7825', '-93.9135', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17249, 'Young America Corp', 2803, '55558', '952', '44.7825', '-93.9135', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17250, 'Young America', 2803, '55560', '952', '44.7825', '-93.9135', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17251, 'Minneapolis', 2803, '55408', '612', '44.945012', '-93.294042', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17252, 'Edina', 2803, '55410', '952', '44.912396', '-93.318562', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17253, 'Minneapolis', 2803, '55410', '952', '44.912396', '-93.318562', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17254, 'Golden Valley', 2803, '55426', '952', '44.952604', '-93.384651', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17255, 'Minneapolis', 2803, '55426', '952', '44.952604', '-93.384651', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17256, 'Saint Louis Park', 2803, '55426', '952', '44.952604', '-93.384651', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17257, 'St Louis Park', 2803, '55426', '952', '44.952604', '-93.384651', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17258, 'Mayer', 2803, '55360', '952', '44.913232', '-93.924658', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17259, 'Greenfield', 2803, '55373', '763', '45.098936', '-93.721', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17260, 'Independence', 2803, '55373', '763', '45.098936', '-93.721', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17261, 'Rockford', 2803, '55373', '763', '45.098936', '-93.721', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17262, 'Bible College', 2803, '55375', '952', '44.901884', '-93.75872', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17263, 'Crown College', 2803, '55375', '952', '44.901884', '-93.75872', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17264, 'Minnetrista', 2803, '55375', '952', '44.901884', '-93.75872', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17265, 'Saint Bonifacius', 2803, '55375', '952', '44.901884', '-93.75872', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17266, 'St Bonifacius', 2803, '55375', '952', '44.901884', '-93.75872', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17267, 'Maple Plain', 2803, '55393', '320', '45.0609', '-94.0732', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17268, 'Big Lake', 2803, '55309', '763', '45.405957', '-93.741617', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17269, 'Darwin', 2803, '55324', '320', '45.070204', '-94.420032', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17270, 'Corcoran', 2803, '55340', '763', '45.078568', '-93.578811', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17271, 'Hamel', 2803, '55340', '763', '45.078568', '-93.578811', '2018-11-29 04:52:04', '2018-11-29 04:52:04'),\n(17272, 'Medina', 2803, '55340', '763', '45.078568', '-93.578811', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17273, 'Hector', 2803, '55342', '320', '44.760778', '-94.731497', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17274, 'S Saint Paul', 2803, '55075', '651', '44.885659', '-93.038043', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17275, 'So Saint Paul', 2803, '55075', '651', '44.885659', '-93.038043', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17276, 'South Saint Paul', 2803, '55075', '651', '44.885659', '-93.038043', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17277, 'South St Paul', 2803, '55075', '651', '44.885659', '-93.038043', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17278, 'Eagan', 2803, '55122', '651', '44.8028', '-93.197744', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17279, 'Saint Paul', 2803, '55122', '651', '44.8028', '-93.197744', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17280, 'Columbus', 2803, '55025', '651', '45.262162', '-93.013708', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17281, 'Forest Lake', 2803, '55025', '651', '45.262162', '-93.013708', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17282, 'Maplewood', 2803, '55106', '651', '44.953852', '-93.048634', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17283, 'Saint Paul', 2803, '55106', '651', '44.953852', '-93.048634', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17284, 'Granada', 2803, '56039', '507', '43.659352', '-94.327724', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17285, 'Hope', 2803, '56046', '507', '43.9786', '-93.3462', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17286, 'Hatfield', 2803, '56164', '507', '44.110062', '-96.313902', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17287, 'Pipestone', 2803, '56164', '507', '44.110062', '-96.313902', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17288, 'Verdi', 2803, '56164', '507', '44.110062', '-96.313902', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17289, 'Sherburn', 2803, '56171', '507', '43.66772', '-94.754376', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17290, 'Steen', 2803, '56173', '507', '43.54385', '-96.232606', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17291, 'Walnut Grove', 2803, '56180', '507', '44.253885', '-95.481686', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17292, 'Chatfield', 2803, '55923', '507', '43.846836', '-92.089802', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17293, 'Cummingsville', 2803, '55923', '507', '43.846836', '-92.089802', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17294, 'Pilot Mound', 2803, '55923', '507', '43.846836', '-92.089802', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17295, 'Mantorville', 2803, '55955', '507', '44.083806', '-92.738606', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17296, 'Millville', 2803, '55957', '507', '44.245086', '-92.300738', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17297, 'Arendahl', 2803, '55962', '507', '43.778118', '-91.85682', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17298, 'Peterson', 2803, '55962', '507', '43.778118', '-91.85682', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17299, 'Rushford Village', 2803, '55962', '507', '43.778118', '-91.85682', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17300, 'Rushford Vlg', 2803, '55962', '507', '43.778118', '-91.85682', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17301, 'Plainview', 2803, '55964', '507', '44.139327', '-92.134509', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17302, 'Fall Lake', 2803, '55796', '218', '47.939059', '-91.787845', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17303, 'Winton', 2803, '55796', '218', '47.939059', '-91.787845', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17304, 'Duluth', 2803, '55803', '218', '47.015552', '-92.088295', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17305, 'Duluth', 2803, '55805', '218', '46.801219', '-92.094783', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17306, 'Duluth', 2803, '55812', '218', '46.810378', '-92.071794', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17307, 'Mayo Clinic', 2803, '55905', '507', '44.0217', '-92.4694', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17308, 'Rochester', 2803, '55905', '507', '44.0217', '-92.4694', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17309, 'Haypoint', 2803, '55748', '218', '46.952132', '-93.583295', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17310, 'Hill City', 2803, '55748', '218', '46.952132', '-93.583295', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17311, 'Keewatin', 2803, '55753', '218', '47.399506', '-93.077612', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17312, 'Maple Plain', 2803, '55578', '763', '45.0072', '-93.6558', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17313, 'Monticello', 2803, '55587', '763', '45.3059', '-93.7938', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17314, 'Finland', 2803, '55603', '218', '47.630496', '-91.187807', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17315, 'Murphy City', 2803, '55603', '218', '47.630496', '-91.187807', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17316, 'Bloomington', 2803, '55437', '952', '44.823052', '-93.348198', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17317, 'Minneapolis', 2803, '55437', '952', '44.823052', '-93.348198', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17318, 'Brooklyn Center', 2803, '55444', '763', '45.116037', '-93.300683', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17319, 'Brooklyn Ctr', 2803, '55444', '763', '45.116037', '-93.300683', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17320, 'Brooklyn Park', 2803, '55444', '763', '45.116037', '-93.300683', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17321, 'Brooklyn Pk', 2803, '55444', '763', '45.116037', '-93.300683', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17322, 'Minneapolis', 2803, '55444', '763', '45.116037', '-93.300683', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17323, 'Minneapolis', 2803, '55446', '763', '45.041966', '-93.485542', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17324, 'Plymouth', 2803, '55446', '763', '45.041966', '-93.485542', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17325, 'Maple Plain', 2803, '55571', '763', '45.0072', '-93.6558', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17326, 'Litchfield', 2803, '55355', '320', '45.090522', '-94.501643', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17327, 'Minneapolis', 2803, '55403', '612', '44.972874', '-93.287471', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17328, 'Princeton', 2803, '55371', '763', '45.580196', '-93.615531', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17329, 'Watkins', 2803, '55389', '320', '45.301346', '-94.442554', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17330, 'White Bear Lk', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17331, 'White Bear Township', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17332, 'White Bear Tp', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17333, 'Arden Hills', 2803, '55112', '651', '45.079164', '-93.187465', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17334, 'Mounds View', 2803, '55112', '651', '45.079164', '-93.187465', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17335, 'Moundsview', 2803, '55112', '651', '45.079164', '-93.187465', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17336, 'New Brighton', 2803, '55112', '651', '45.079164', '-93.187465', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17337, 'Saint Paul', 2803, '55112', '651', '45.079164', '-93.187465', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17338, 'Bird Island', 2803, '55310', '320', '44.753224', '-94.891626', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17339, 'Easton', 2803, '56025', '507', '43.760835', '-93.897694', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17340, 'Ellendale', 2803, '56026', '507', '43.902004', '-93.316364', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17341, 'Elysian', 2803, '56028', '507', '44.228434', '-93.707248', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17342, 'Hartland', 2803, '56042', '507', '43.804122', '-93.459134', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17343, 'Henderson', 2803, '56044', '507', '44.565688', '-93.947321', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17344, 'Mountain Lake', 2803, '56159', '507', '43.94186', '-94.949454', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17345, 'Mt Lake', 2803, '56159', '507', '43.94186', '-94.949454', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17346, 'Ormsby', 2803, '56162', '507', '43.850828', '-94.655903', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17347, 'Amiret', 2803, '56175', '507', '44.245448', '-95.68986', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17348, 'Tracy', 2803, '56175', '507', '44.245448', '-95.68986', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17349, 'Trosky', 2803, '56177', '507', '43.871638', '-96.244924', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17350, 'Minn City', 2803, '55959', '507', '44.096172', '-91.743058', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17351, 'Minnesota City', 2803, '55959', '507', '44.096172', '-91.743058', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17352, 'Fairmont', 2803, '56075', '507', '43.752916', '-94.433224', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17353, 'Northrop', 2803, '56075', '507', '43.752916', '-94.433224', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17354, 'Pengilly', 2803, '55775', '218', '47.314954', '-93.163739', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17355, 'Virginia', 2803, '55777', '218', '47.5233', '-92.5364', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17356, 'Twig', 2803, '55791', '218', '46.8945', '-92.3645', '2018-11-29 04:52:05', '2018-11-29 04:52:05'),\n(17357, 'Warba', 2803, '55793', '218', '47.111211', '-93.282818', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17358, 'Duluth', 2803, '55808', '218', '46.683756', '-92.238642', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17359, 'Morgan Park', 2803, '55808', '218', '46.683756', '-92.238642', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17360, 'Duluth', 2803, '55811', '218', '46.848954', '-92.201418', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17361, 'Hermantown', 2803, '55811', '218', '46.848954', '-92.201418', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17362, 'Adams', 2803, '55909', '507', '43.565222', '-92.738511', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17363, 'Johnsburg', 2803, '55909', '507', '43.565222', '-92.738511', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17364, 'High Forest', 2803, '55976', '507', '43.873393', '-92.49429', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17365, 'Pleasant Grove', 2803, '55976', '507', '43.873393', '-92.49429', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17366, 'Stewartville', 2803, '55976', '507', '43.873393', '-92.49429', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17367, 'Taopi', 2803, '55977', '507', '43.558022', '-92.628856', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17368, 'Gilbert', 2803, '55741', '218', '47.4603', '-92.40338', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17369, 'Mckinley', 2803, '55741', '218', '47.4603', '-92.40338', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17370, 'Kettle River', 2803, '55757', '218', '46.526168', '-92.927341', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17371, 'Kinney', 2803, '55758', '218', '47.513535', '-92.750133', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17372, 'Maple Plain', 2803, '55576', '763', '45.0072', '-93.6558', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17373, 'Barnum', 2803, '55707', '218', '46.560751', '-92.613847', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17374, 'Mahtowa', 2803, '55707', '218', '46.560751', '-92.613847', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17375, 'Skelton', 2803, '55707', '218', '46.560751', '-92.613847', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17376, 'Biwabik', 2803, '55708', '218', '47.531209', '-92.335727', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17377, 'Britt', 2803, '55710', '218', '47.623743', '-92.668632', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17378, 'Sandy', 2803, '55710', '218', '47.623743', '-92.668632', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17379, 'Brooklyn Center', 2803, '55443', '763', '45.119696', '-93.341482', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17380, 'Brooklyn Ctr', 2803, '55443', '763', '45.119696', '-93.341482', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17381, 'Brooklyn Park', 2803, '55443', '763', '45.119696', '-93.341482', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17382, 'Brooklyn Pk', 2803, '55443', '763', '45.119696', '-93.341482', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17383, 'Minneapolis', 2803, '55443', '763', '45.119696', '-93.341482', '2018-11-29 04:52:06', '2018-11-29 04:52:06');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(17384, 'Minneapolis', 2803, '55458', '612', '44.98', '-93.2638', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17385, 'Minneapolis', 2803, '55459', '763', '44.98', '-93.2638', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17386, 'Minneapolis', 2803, '55473', '952', '44.7825', '-93.9135', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17387, 'Norwood Young America', 2803, '55473', '952', '44.7825', '-93.9135', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17388, 'Nya', 2803, '55473', '952', '44.7825', '-93.9135', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17389, 'Minneapolis', 2803, '55407', '612', '44.935513', '-93.252926', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17390, 'Minneapolis', 2803, '55409', '612', '44.926517', '-93.290814', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17391, 'Bloomington', 2803, '55425', '952', '44.836904', '-93.232564', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17392, 'Minneapolis', 2803, '55425', '952', '44.836904', '-93.232564', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17393, 'Saint Paul', 2803, '55175', '651', '44.9445', '-93.0932', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17394, 'Long Lake', 2803, '55356', '952', '44.998746', '-93.592962', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17395, 'Orono', 2803, '55356', '952', '44.998746', '-93.592962', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17396, 'Corcoran', 2803, '55357', '763', '45.094372', '-93.655757', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17397, 'Greenfield', 2803, '55357', '763', '45.094372', '-93.655757', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17398, 'Independence', 2803, '55357', '763', '45.094372', '-93.655757', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17399, 'Loretto', 2803, '55357', '763', '45.094372', '-93.655757', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17400, 'Medina', 2803, '55357', '763', '45.094372', '-93.655757', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17401, 'Maple Lake', 2803, '55358', '320', '45.258443', '-93.996913', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17402, 'Silver Creek', 2803, '55358', '320', '45.258443', '-93.996913', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17403, 'Burnsville', 2803, '55306', '952', '44.731835', '-93.287976', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17404, 'Becker', 2803, '55308', '763', '45.419954', '-93.829446', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17405, 'Crystal Bay', 2803, '55323', '952', '44.9534', '-93.5762', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17406, 'Orono', 2803, '55323', '952', '44.9534', '-93.5762', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17407, 'Copas', 2803, '55073', '651', '45.263938', '-92.831446', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17408, 'New Scandia', 2803, '55073', '651', '45.263938', '-92.831446', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17409, 'Otisville', 2803, '55073', '651', '45.263938', '-92.831446', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17410, 'Scandia', 2803, '55073', '651', '45.263938', '-92.831446', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17411, 'Eagan', 2803, '55123', '651', '44.805023', '-93.136746', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17412, 'Saint Paul', 2803, '55123', '651', '44.805023', '-93.136746', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17413, 'Apple Valley', 2803, '55124', '952', '44.746486', '-93.201975', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17414, 'Saint Paul', 2803, '55124', '952', '44.746486', '-93.201975', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17415, 'Saint Paul', 2803, '55125', '651', '44.919597', '-92.943924', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17416, 'Woodbury', 2803, '55125', '651', '44.919597', '-92.943924', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17417, 'Arden Hills', 2803, '55126', '651', '45.080064', '-93.137722', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17418, 'Lino Lakes', 2803, '55126', '651', '45.080064', '-93.137722', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17419, 'No Oaks', 2803, '55126', '651', '45.080064', '-93.137722', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17420, 'Roseville', 2803, '55126', '651', '45.080064', '-93.137722', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17421, 'Saint Paul', 2803, '55126', '651', '45.080064', '-93.137722', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17422, 'Shoreview', 2803, '55126', '651', '45.080064', '-93.137722', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17423, 'Farmington', 2803, '55024', '651', '44.630578', '-93.127895', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17424, 'Etter', 2803, '55089', '651', '44.603061', '-92.702525', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17425, 'Vasa', 2803, '55089', '651', '44.603061', '-92.702525', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17426, 'Welch', 2803, '55089', '651', '44.603061', '-92.702525', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17427, 'Willernie', 2803, '55090', '651', '45.053879', '-92.957214', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17428, 'Columbus', 2803, '55092', '651', '45.33477', '-93.08751', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17429, 'East Bethel', 2803, '55092', '651', '45.33477', '-93.08751', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17430, 'Wyoming', 2803, '55092', '651', '45.33477', '-93.08751', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17431, 'Falcon Heights', 2803, '55108', '651', '44.979657', '-93.177064', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17432, 'Falcon Hgts', 2803, '55108', '651', '44.979657', '-93.177064', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17433, 'Lauderdale', 2803, '55108', '651', '44.979657', '-93.177064', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17434, 'Saint Paul', 2803, '55108', '651', '44.979657', '-93.177064', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17435, 'Edgewood', 2803, '55008', '763', '45.565004', '-93.274073', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17436, 'Spectacle Lake', 2803, '55008', '763', '45.565004', '-93.274073', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17437, 'Bethel', 2803, '55005', '763', '45.399549', '-93.234227', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17438, 'East Bethel', 2803, '55005', '763', '45.399549', '-93.234227', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17439, 'Linwood', 2803, '55005', '763', '45.399549', '-93.234227', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17440, 'Oak Grove', 2803, '55005', '763', '45.399549', '-93.234227', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17441, 'Braham', 2803, '55006', '320', '45.744747', '-93.226945', '2018-11-29 04:52:06', '2018-11-29 04:52:06'),\n(17442, 'Day', 2803, '55006', '320', '45.744747', '-93.226945', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17443, 'Grass Lake', 2803, '55006', '320', '45.744747', '-93.226945', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17444, 'Cambridge', 2803, '55008', '763', '45.565004', '-93.274073', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17445, 'Grover', 2804, '63040', '636', '38.57176', '-90.63189', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17446, 'Lake Chesterfield', 2804, '63040', '636', '38.57176', '-90.63189', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17447, 'Pond', 2804, '63040', '636', '38.57176', '-90.63189', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17448, 'Wildwood', 2804, '63040', '636', '38.57176', '-90.63189', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17449, 'Byrnes Mill', 2804, '63049', '636', '38.474082', '-90.537994', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17450, 'High Ridge', 2804, '63049', '636', '38.474082', '-90.537994', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17451, 'Mapaville', 2804, '63065', '636', '38.2486', '-90.4838', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17452, 'Saint Louis', 2804, '63101', '314', '38.631372', '-90.192381', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17453, 'Saint Louis', 2804, '63110', '314', '38.626588', '-90.2694', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17454, 'Saint Louis', 2804, '63115', '314', '38.685786', '-90.241188', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17455, 'Richmond Heights', 2804, '63117', '314', '38.629872', '-90.333081', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17456, 'Richmond Hts', 2804, '63117', '314', '38.629872', '-90.333081', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17457, 'Saint Louis', 2804, '63117', '314', '38.629872', '-90.333081', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17458, 'Crestwood', 2804, '63126', '314', '38.549553', '-90.379582', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17459, 'Saint Louis', 2804, '63126', '314', '38.549553', '-90.379582', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17460, 'Sappington', 2804, '63126', '314', '38.549553', '-90.379582', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17461, 'Saint Louis', 2804, '63158', '314', '38.6272', '-90.1978', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17462, 'Monsanto', 2804, '63167', '314', '38.6328', '-90.2062', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17463, 'Saint Louis', 2804, '63167', '314', '38.6328', '-90.2062', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17464, 'Bellflower', 2804, '63333', '573', '39.0317', '-91.306424', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17465, 'Gamma', 2804, '63333', '573', '39.0317', '-91.306424', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17466, 'Liege', 2804, '63333', '573', '39.0317', '-91.306424', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17467, 'Eolia', 2804, '63344', '573', '39.218028', '-91.031516', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17468, 'Prairieville', 2804, '63344', '573', '39.218028', '-91.031516', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17469, 'Cottleville', 2804, '63376', '636', '38.795082', '-90.626787', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17470, 'O Fallon', 2804, '63376', '636', '38.795082', '-90.626787', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17471, 'Saint Peters', 2804, '63376', '636', '38.795082', '-90.626787', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17472, 'St Peters', 2804, '63376', '636', '38.795082', '-90.626787', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17473, 'Clay', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17474, 'Hannibal', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17475, 'Huntington', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17476, 'Ilasco', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17477, 'Monkey Run', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17478, 'Rensselaer', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17479, 'Spalding', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17480, 'West Ely', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17481, 'Withers Mill', 2804, '63401', '573', '39.701072', '-91.427715', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17482, 'Canton', 2804, '63435', '573', '40.176872', '-91.640765', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17483, 'Leonard', 2804, '63451', '660', '39.909911', '-92.213984', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17484, 'Saverton', 2804, '63467', '573', '39.6467', '-91.2692', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17485, 'Kirksville', 2804, '63501', '660', '40.18019', '-92.685696', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17486, 'Millard', 2804, '63501', '660', '40.18019', '-92.685696', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17487, 'Nind', 2804, '63501', '660', '40.18019', '-92.685696', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17488, 'Sperry', 2804, '63501', '660', '40.18019', '-92.685696', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17489, 'Spring Lake', 2804, '63501', '660', '40.18019', '-92.685696', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17490, 'Yarrow', 2804, '63501', '660', '40.18019', '-92.685696', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17491, 'Livonia', 2804, '63551', '660', '40.530639', '-92.741465', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17492, 'Centerville', 2804, '63633', '573', '37.43171', '-90.959996', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17493, 'Corridon', 2804, '63633', '573', '37.43171', '-90.959996', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17494, 'Flat River', 2804, '63653', '573', '37.860954', '-90.58832', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17495, 'Leadwood', 2804, '63653', '573', '37.860954', '-90.58832', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17496, 'Park Hills', 2804, '63653', '573', '37.860954', '-90.58832', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17497, 'Hopewell', 2804, '63660', '573', '37.909262', '-90.705308', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17498, 'Mineral Point', 2804, '63660', '573', '37.909262', '-90.705308', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17499, 'Springtown', 2804, '63660', '573', '37.909262', '-90.705308', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17500, 'Stoney Point', 2804, '63660', '573', '37.909262', '-90.705308', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17501, 'Cape Girardeau', 2804, '63701', '573', '37.338206', '-89.590786', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17502, 'Cpe Girardeau', 2804, '63701', '573', '37.338206', '-89.590786', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17503, 'Glenallen', 2804, '63751', '573', '37.265984', '-90.103834', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17504, 'Grassy', 2804, '63751', '573', '37.265984', '-90.103834', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17505, 'Braggadocio', 2804, '63826', '573', '36.179093', '-89.852938', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17506, 'Hayti', 2804, '63851', '573', '36.256451', '-89.671212', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17507, 'Hayti Heights', 2804, '63851', '573', '36.256451', '-89.671212', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17508, 'Pascola', 2804, '63851', '573', '36.256451', '-89.671212', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17509, 'Matthews', 2804, '63867', '573', '36.77018', '-89.56463', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17510, 'Greenville', 2804, '63944', '573', '37.144877', '-90.414424', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17511, 'Hiram', 2804, '63944', '573', '37.144877', '-90.414424', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17512, 'Independence', 2804, '64053', '816', '39.110658', '-94.464416', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17513, 'Sugar Creek', 2804, '64053', '816', '39.110658', '-94.464416', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17514, 'Elmira', 2804, '64062', '816', '39.447148', '-94.172003', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17515, 'Lawson', 2804, '64062', '816', '39.447148', '-94.172003', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17516, 'Liberty', 2804, '64069', '816', '39.2454', '-94.4284', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17517, 'Peculiar', 2804, '64078', '816', '38.702398', '-94.472565', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17518, 'Waverly', 2804, '64096', '660', '39.217772', '-93.569766', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17519, 'Kansas City', 2804, '64112', '816', '39.036082', '-94.595006', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17520, 'K C', 2804, '64121', '816', '39.1296', '-94.5107', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17521, 'Kans City', 2804, '64121', '816', '39.1296', '-94.5107', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17522, 'Kansas City', 2804, '64121', '816', '39.1296', '-94.5107', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17523, 'Kansas City', 2804, '64126', '816', '39.09084', '-94.49403', '2018-11-29 04:52:07', '2018-11-29 04:52:07'),\n(17524, 'Kansas City', 2804, '64146', '816', '38.879032', '-94.573812', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17525, 'Kansas City', 2804, '64162', '816', '0', '0', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17526, 'Usps Stamp Distribution Ctr', 2804, '64162', '816', '0', '0', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17527, 'Amazonia', 2804, '64421', '816', '39.89813', '-94.934066', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17528, 'Brlngton Jctn', 2804, '64428', '660', '40.434255', '-95.018443', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17529, 'Burlingtn Jct', 2804, '64428', '660', '40.434255', '-95.018443', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17530, 'Burlington Junction', 2804, '64428', '660', '40.434255', '-95.018443', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17531, 'Clarksdale', 2804, '64430', '816', '39.834725', '-94.56559', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17532, 'Fairport', 2804, '64469', '816', '39.936396', '-94.365937', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17533, 'Maysville', 2804, '64469', '816', '39.936396', '-94.365937', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17534, 'New Hampton', 2804, '64471', '660', '40.248346', '-94.176878', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17535, 'Rea', 2804, '64480', '816', '40.050888', '-94.712528', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17536, 'Quitman', 2804, '64487', '660', '40.347576', '-95.073988', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17537, 'Skidmore', 2804, '64487', '660', '40.347576', '-95.073988', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17538, 'Watson', 2804, '64496', '660', '40.483627', '-95.638267', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17539, 'Brookfield', 2804, '64628', '660', '39.829762', '-93.049907', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17540, 'Saint Catharine', 2804, '64628', '660', '39.829762', '-93.049907', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17541, 'St Catharine', 2804, '64628', '660', '39.829762', '-93.049907', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17542, 'Browning', 2804, '64630', '660', '40.004848', '-93.21616', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17543, 'Linneus', 2804, '64653', '660', '39.9036', '-93.204612', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17544, 'Lucerne', 2804, '64655', '660', '40.427384', '-93.28119', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17545, 'Weingarten', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17546, 'Zell', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17547, 'Biehle', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17548, 'Brewer', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17549, 'Crosstown', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17550, 'Highland', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17551, 'Lithium', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17552, 'Longtown', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17553, 'Parker Lake', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17554, 'Perryville', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17555, 'Sereno', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17556, 'Silver Lake', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17557, 'Yount', 2804, '63775', '573', '37.746711', '-89.903764', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17558, 'Cardwell', 2804, '63829', '573', '36.063097', '-90.313066', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17559, 'Grayridge', 2804, '63850', '573', '36.821478', '-89.782418', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17560, 'Dudley', 2804, '63936', '573', '36.803002', '-90.140364', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17561, 'Grandin', 2804, '63943', '573', '36.815911', '-90.762946', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17562, 'Mill Spring', 2804, '63952', '573', '37.046018', '-90.651174', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17563, 'Lake Lotawana', 2804, '64063', '816', '38.913184', '-94.350594', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17564, 'Lees Summit', 2804, '64063', '816', '38.913184', '-94.350594', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17565, 'Lk Lotawana', 2804, '64063', '816', '38.913184', '-94.350594', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17566, 'Ls', 2804, '64063', '816', '38.913184', '-94.350594', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17567, 'Unity Village', 2804, '64063', '816', '38.913184', '-94.350594', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17568, 'Unity Vlg', 2804, '64063', '816', '38.913184', '-94.350594', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17569, 'Orrick', 2804, '64077', '816', '39.222256', '-94.154618', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17570, 'Platte City', 2804, '64079', '816', '39.373193', '-94.783082', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17571, 'Tracy', 2804, '64079', '816', '39.373193', '-94.783082', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17572, 'Ft Osage', 2804, '64088', '816', '39.150102', '-94.191441', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17573, 'Sibley', 2804, '64088', '816', '39.150102', '-94.191441', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17574, 'Kansas City', 2804, '64111', '816', '39.057304', '-94.59371', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17575, 'Kansas City', 2804, '64113', '816', '39.013748', '-94.595464', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17576, 'Kansas City', 2804, '64129', '816', '39.046358', '-94.494952', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17577, 'Raytown', 2804, '64129', '816', '39.046358', '-94.494952', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17578, 'Kansas City', 2804, '64136', '816', '39.009055', '-94.402133', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17579, 'Kansas City', 2804, '64168', '816', '39.1771', '-94.6131', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17580, 'Riverside', 2804, '64168', '816', '39.1771', '-94.6131', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17581, 'Sedgewickville', 2804, '63781', '573', '37.547363', '-89.927674', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17582, 'Sedgewickvlle', 2804, '63781', '573', '37.547363', '-89.927674', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17583, 'Uniontown', 2804, '63783', '573', '37.611582', '-89.696628', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17584, 'Caruthersville', 2804, '63830', '573', '36.130392', '-89.699617', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17585, 'Caruthersvlle', 2804, '63830', '573', '36.130392', '-89.699617', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17586, 'Cottonwood Point', 2804, '63830', '573', '36.130392', '-89.699617', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17587, 'Malden', 2804, '63863', '573', '36.563932', '-90.006726', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17588, 'Marston', 2804, '63866', '573', '36.523929', '-89.621318', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17589, 'Wolf Island', 2804, '63881', '573', '36.9111', '-89.2215', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17590, 'Bennett', 2804, '63931', '573', '36.646872', '-90.957353', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17591, 'Briar', 2804, '63931', '573', '36.646872', '-90.957353', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17592, 'Broseley', 2804, '63932', '573', '36.702514', '-90.237556', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17593, 'Coldwater', 2804, '63964', '573', '37.232806', '-90.442082', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17594, 'Silva', 2804, '63964', '573', '37.232806', '-90.442082', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17595, 'Grandview', 2804, '64030', '816', '38.876111', '-94.52641', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17596, 'Holt', 2804, '64048', '816', '39.439553', '-94.356919', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17597, 'Lees Summit', 2804, '64065', '816', '38.9529', '-94.4053', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17598, 'Unity School Of Christianity', 2804, '64065', '816', '38.9529', '-94.4053', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17599, 'Unity Village', 2804, '64065', '816', '38.9529', '-94.4053', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17600, 'Unity Vlg', 2804, '64065', '816', '38.9529', '-94.4053', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17601, 'Levasy', 2804, '64066', '816', '39.136738', '-94.133716', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17602, 'Kansas City', 2804, '64114', '816', '38.95507', '-94.595128', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17603, 'Avondale', 2804, '64117', '816', '39.163789', '-94.523795', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17604, 'Kansas City', 2804, '64117', '816', '39.163789', '-94.523795', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17605, 'Kansas City North', 2804, '64117', '816', '39.163789', '-94.523795', '2018-11-29 04:52:08', '2018-11-29 04:52:08'),\n(17606, 'Nkc', 2804, '64117', '816', '39.163789', '-94.523795', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17607, 'Randolph', 2804, '64117', '816', '39.163789', '-94.523795', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17608, 'Kansas City', 2804, '64133', '816', '39.021452', '-94.467579', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17609, 'Raytown', 2804, '64133', '816', '39.021452', '-94.467579', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17610, 'Kansas City', 2804, '64164', '816', '39.321872', '-94.634428', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17611, 'Kansas City', 2804, '64165', '816', '39.321352', '-94.563752', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17612, 'Commerce Bank', 2804, '64184', '816', '39.0997', '-94.5784', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17613, 'Kansas City', 2804, '64184', '816', '39.0997', '-94.5784', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17614, 'Kansas City', 2804, '64199', '816', '39.0997', '-94.5784', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17615, 'Agency', 2804, '64401', '816', '39.658697', '-94.704044', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17616, 'Conception', 2804, '64433', '660', '40.23326', '-94.674074', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17617, 'Forest City', 2804, '64451', '660', '39.989894', '-95.231744', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17618, 'Maitland', 2804, '64466', '660', '40.17949', '-95.112466', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17619, 'Saint Joseph', 2804, '64501', '816', '39.758092', '-94.838333', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17620, 'St Joseph', 2804, '64501', '816', '39.758092', '-94.838333', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17621, 'Chula', 2804, '64635', '660', '39.935928', '-93.490098', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17622, 'Cleveland', 2804, '64734', '816', '38.650396', '-94.562066', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17623, 'West Line', 2804, '64734', '816', '38.650396', '-94.562066', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17624, 'Clinton', 2804, '64735', '660', '38.378066', '-93.793895', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17625, 'Metz', 2804, '64765', '417', '37.9966', '-94.4426', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17626, 'Lamar', 2804, '64766', '417', '37.5848', '-94.1566', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17627, 'Milford', 2804, '64766', '417', '37.5848', '-94.1566', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17628, 'Milo', 2804, '64767', '417', '37.734758', '-94.283847', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17629, 'Mindenmines', 2804, '64769', '417', '37.437417', '-94.55451', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17630, 'Schell City', 2804, '64783', '417', '37.995504', '-94.172248', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17631, 'Sheldon', 2804, '64784', '417', '37.688016', '-94.225752', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17632, 'Belle Center', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17633, 'Central City', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17634, 'Duquesne', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17635, 'Grand Falls', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17636, 'Iron Gates', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17637, 'Joplin', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17638, 'Lakeside', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17639, 'Prosperity', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17640, 'Redings Mill', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17641, 'Stones Corner', 2804, '64801', '417', '37.119351', '-94.496787', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17642, 'Avilla', 2804, '64833', '417', '37.217422', '-94.144662', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17643, 'Carterville', 2804, '64835', '417', '37.144802', '-94.436306', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17644, 'Neck City', 2804, '64849', '417', '37.256204', '-94.443679', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17645, 'Cedar Hill', 2804, '63016', '636', '38.363171', '-90.641695', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17646, 'La Barque Crk', 2804, '63016', '636', '38.363171', '-90.641695', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17647, 'Labarque Crk', 2804, '63016', '636', '38.363171', '-90.641695', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17648, 'Lake Adelle', 2804, '63016', '636', '38.363171', '-90.641695', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17649, 'Dittmer', 2804, '63023', '636', '38.268522', '-90.705138', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17650, 'Allenton', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17651, 'Byrnes Mill', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17652, 'Crescent', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17653, 'Eureka', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17654, 'Hoene Spring', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17655, 'La Barque Crk', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17656, 'Times Beach', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17657, 'Wildwood', 2804, '63025', '636', '38.484194', '-90.605708', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17658, 'Grubville', 2804, '63041', '636', '38.257302', '-90.790084', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17659, 'Morse Mill', 2804, '63066', '636', '38.2769', '-90.6532', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17660, 'Saint Albans', 2804, '63073', '636', '38.5866', '-90.7692', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17661, 'Saint Louis', 2804, '63118', '314', '38.592624', '-90.22936', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17662, 'Affton', 2804, '63123', '314', '38.548788', '-90.31976', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17663, 'Green Park', 2804, '63123', '314', '38.548788', '-90.31976', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17664, 'Saint Louis', 2804, '63123', '314', '38.548788', '-90.31976', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17665, 'Wilbur Park', 2804, '63123', '314', '38.548788', '-90.31976', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17666, 'Saint Louis', 2804, '63127', '314', '38.535697', '-90.408094', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17667, 'Sappington', 2804, '63127', '314', '38.535697', '-90.408094', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17668, 'Sunset Hills', 2804, '63127', '314', '38.535697', '-90.408094', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17669, 'Creve Coeur', 2804, '63141', '314', '38.655446', '-90.452506', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17670, 'Saint Louis', 2804, '63141', '314', '38.655446', '-90.452506', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17671, 'Maplewood', 2804, '63143', '314', '38.610536', '-90.31934', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17672, 'Saint Louis', 2804, '63143', '314', '38.610536', '-90.31934', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17673, 'Saint Louis', 2804, '63157', '314', '38.6272', '-90.1978', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17674, 'Saint Louis', 2804, '63166', '314', '38.6272', '-90.1978', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17675, 'Saint Charles', 2804, '63302', '314', '38.7838', '-90.4814', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17676, 'Augusta', 2804, '63332', '636', '38.600122', '-90.877994', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17677, 'Femme Osage', 2804, '63332', '636', '38.600122', '-90.877994', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17678, 'Schluersburg', 2804, '63332', '636', '38.600122', '-90.877994', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17679, 'Clarksville', 2804, '63336', '573', '39.315932', '-90.897257', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17680, 'Paynesville', 2804, '63336', '573', '39.315932', '-90.897257', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17681, 'Laddonia', 2804, '63352', '573', '39.24303', '-91.675596', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17682, 'Buell', 2804, '63361', '573', '38.952142', '-91.536711', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17683, 'Danville', 2804, '63361', '573', '38.952142', '-91.536711', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17684, 'Mineola', 2804, '63361', '573', '38.952142', '-91.536711', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17685, 'Montgomery', 2804, '63361', '573', '38.952142', '-91.536711', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17686, 'Montgomery City', 2804, '63361', '573', '38.952142', '-91.536711', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17687, 'Montgomery Cy', 2804, '63361', '573', '38.952142', '-91.536711', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17688, 'Wellsville', 2804, '63384', '573', '39.082038', '-91.555857', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17689, 'West Alton', 2804, '63386', '636', '38.869398', '-90.221967', '2018-11-29 04:52:09', '2018-11-29 04:52:09'),\n(17690, 'Bethel', 2804, '63434', '660', '39.906846', '-91.968558', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17691, 'Hunnewell', 2804, '63443', '573', '39.716915', '-91.881198', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17692, 'Ely', 2804, '63461', '573', '39.788638', '-91.530584', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17693, 'Palmyra', 2804, '63461', '573', '39.788638', '-91.530584', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17694, 'South River', 2804, '63461', '573', '39.788638', '-91.530584', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17695, 'Withers Mill', 2804, '63461', '573', '39.788638', '-91.530584', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17696, 'Woodland', 2804, '63461', '573', '39.788638', '-91.530584', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17697, 'Downing', 2804, '63536', '660', '40.471196', '-92.416016', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17698, 'Macon', 2804, '63552', '660', '39.752598', '-92.456532', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17699, 'Bloomsdale', 2804, '63627', '573', '38.036066', '-90.244221', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17700, 'Clearwater', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17701, 'Coffman', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17702, 'Lake Forest', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17703, 'New Offenburg', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17704, 'Rocky Ridge', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17705, 'Sainte Genevieve', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17706, 'Ste Genevieve', 2804, '63670', '573', '37.881801', '-90.1443', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17707, 'Chesterfield', 2804, '63006', '314', '38.6634', '-90.5767', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17708, 'Ballwin', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17709, 'Ellisville', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17710, 'Manchester', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17711, 'Sherman', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17712, 'Twin Oaks', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17713, 'Wildwood', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17714, 'Winchester', 2804, '63021', '636', '38.564695', '-90.534479', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17715, 'French Village', 2804, '63036', '573', '37.990434', '-90.369195', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17716, 'French Vlg', 2804, '63036', '573', '37.990434', '-90.369195', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17717, 'Gray Summit', 2804, '63039', '636', '38.495974', '-90.829756', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17718, 'Leslie', 2804, '63056', '573', '38.403006', '-91.216097', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17719, 'La Barque Crk', 2804, '63069', '636', '38.502084', '-90.741844', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17720, 'Pacific', 2804, '63069', '636', '38.502084', '-90.741844', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17721, 'Wildwood', 2804, '63069', '636', '38.502084', '-90.741844', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17722, 'Horine', 2804, '63070', '636', '38.284686', '-90.424264', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17723, 'Pevely', 2804, '63070', '636', '38.284686', '-90.424264', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17724, 'Valles Mines', 2804, '63087', '573', '38.009188', '-90.453604', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17725, 'Villa Ridge', 2804, '63089', '636', '38.45126', '-90.88747', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17726, 'Saint Louis', 2804, '63103', '314', '38.629763', '-90.216455', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17727, 'Glendale', 2804, '63122', '314', '38.577268', '-90.42424', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17728, 'Kirkwood', 2804, '63122', '314', '38.577268', '-90.42424', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17729, 'Oakland', 2804, '63122', '314', '38.577268', '-90.42424', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17730, 'Saint Louis', 2804, '63122', '314', '38.577268', '-90.42424', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17731, 'Warson Woods', 2804, '63122', '314', '38.577268', '-90.42424', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17732, 'Country Club Hills', 2804, '63136', '314', '38.743678', '-90.260106', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17733, 'Dellwood', 2804, '63136', '314', '38.743678', '-90.260106', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17734, 'Flordell Hills', 2804, '63136', '314', '38.743678', '-90.260106', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17735, 'Jennings', 2804, '63136', '314', '38.743678', '-90.260106', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17736, 'Moline Acres', 2804, '63136', '314', '38.743678', '-90.260106', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17737, 'Saint Louis', 2804, '63136', '314', '38.743678', '-90.260106', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17738, 'North County', 2804, '63138', '314', '38.804492', '-90.178286', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17739, 'Saint Louis', 2804, '63138', '314', '38.804492', '-90.178286', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17740, 'Spanish Lake', 2804, '63138', '314', '38.804492', '-90.178286', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17741, 'Saint Louis', 2804, '63155', '314', '38.6278', '-90.2017', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17742, 'Saint Louis', 2804, '63188', '314', '38.6272', '-90.1978', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17743, 'Curryville', 2804, '63339', '573', '39.360096', '-91.351284', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17744, 'Louisiana', 2804, '63353', '573', '39.405345', '-91.078755', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17745, 'Winfield', 2804, '63389', '636', '38.999347', '-90.77699', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17746, 'Cherry Box', 2804, '63437', '660', '39.735664', '-92.241371', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17747, 'Clarence', 2804, '63437', '660', '39.735664', '-92.241371', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17748, 'Duncans Bridge', 2804, '63437', '660', '39.735664', '-92.241371', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17749, 'Hagars Grove', 2804, '63437', '660', '39.735664', '-92.241371', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17750, 'Maud', 2804, '63437', '660', '39.735664', '-92.241371', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17751, 'Ewing', 2804, '63440', '573', '39.96431', '-91.723958', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17752, 'Maywood', 2804, '63454', '573', '39.940943', '-91.590772', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17753, 'Hassard', 2804, '63456', '573', '39.671546', '-91.705459', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17754, 'Indian Creek', 2804, '63456', '573', '39.671546', '-91.705459', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17755, 'Monroe City', 2804, '63456', '573', '39.671546', '-91.705459', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17756, 'Edina', 2804, '63537', '660', '40.17083', '-92.067224', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17757, 'Ethel', 2804, '63539', '660', '39.927205', '-92.76817', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17758, 'Goldberry', 2804, '63539', '660', '39.927205', '-92.76817', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17759, 'Goldsberry', 2804, '63539', '660', '39.927205', '-92.76817', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17760, 'Arcadia', 2804, '63621', '573', '37.555552', '-90.592628', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17761, 'Bismarck', 2804, '63624', '573', '37.747734', '-90.606774', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17762, 'Lesterville', 2804, '63654', '573', '37.476692', '-90.843996', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17763, 'Burfordville', 2804, '63739', '573', '37.351628', '-89.817339', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17764, 'Perkins', 2804, '63774', '573', '37.100215', '-89.765544', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17765, 'Cooter', 2804, '63839', '573', '36.057557', '-89.821816', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17766, 'Caruth', 2804, '63857', '573', '36.22184', '-90.08183', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17767, 'Kennett', 2804, '63857', '573', '36.22184', '-90.08183', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17768, 'Rives', 2804, '63875', '573', '36.0937', '-90.0136', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17769, 'Crystal Lakes', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17770, 'Ex Spgs', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17771, 'Ex Sprgs', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17772, 'Ex Springs', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17773, 'Excelsior Est', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17774, 'Excelsior Estates', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17775, 'Excelsior Spg', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:10', '2018-11-29 04:52:10'),\n(17776, 'Excelsior Springs', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17777, 'Exclsor Sprgs', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17778, 'Homestead Vlg', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17779, 'Mosby', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17780, 'Wood Heights', 2804, '64024', '816', '39.321207', '-94.220368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17781, 'Holden', 2804, '64040', '816', '38.740178', '-94.008113', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17782, 'Independence', 2804, '64057', '816', '39.061657', '-94.310103', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17783, 'Paradise', 2804, '64089', '816', '39.393971', '-94.573426', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17784, 'Smithville', 2804, '64089', '816', '39.393971', '-94.573426', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17785, 'Strasburg', 2804, '64090', '816', '38.759433', '-94.16203', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17786, 'Waldron', 2804, '64092', '816', '39.2224', '-94.7933', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17787, 'Kansas City', 2804, '64106', '816', '39.10621', '-94.573278', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17788, 'Kansas City', 2804, '64109', '816', '39.06606', '-94.567489', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17789, 'Kansas City', 2804, '64123', '816', '39.110767', '-94.524981', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17790, 'Kansas City', 2804, '64141', '816', '39.0997', '-94.5784', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17791, 'Kansas City', 2804, '64156', '816', '39.277149', '-94.52447', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17792, 'Bethany', 2804, '64424', '660', '40.265576', '-94.021486', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17793, 'De Kalb', 2804, '64440', '816', '39.57513', '-94.937321', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17794, 'Eagleville', 2804, '64442', '660', '40.498636', '-94.009796', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17795, 'Guilford', 2804, '64457', '660', '40.164571', '-94.676629', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17796, 'Osborn', 2804, '64474', '816', '39.783972', '-94.385445', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17797, 'Turney', 2804, '64493', '816', '39.622248', '-94.281325', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17798, 'Gallatin', 2804, '64640', '660', '39.892005', '-93.948368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17799, 'Lake Viking', 2804, '64640', '660', '39.892005', '-93.948368', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17800, 'Marceline', 2804, '64658', '660', '39.679538', '-92.952601', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17801, 'Meadville', 2804, '64659', '660', '39.78537', '-93.29003', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17802, 'Mendon', 2804, '64660', '660', '39.570455', '-93.087336', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17803, 'Blairstown', 2804, '64726', '660', '38.520351', '-93.944495', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17804, 'Iantha', 2804, '64759', '417', '37.515963', '-94.273246', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17805, 'Irwin', 2804, '64759', '417', '37.515963', '-94.273246', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17806, 'Lamar', 2804, '64759', '417', '37.515963', '-94.273246', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17807, 'Fairview', 2804, '64842', '417', '36.79083', '-94.106395', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17808, 'Purcell', 2804, '64857', '417', '37.247716', '-94.430997', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17809, 'Racine', 2804, '64858', '417', '36.90213', '-94.524918', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17810, 'Clarksburg', 2804, '65025', '573', '38.657271', '-92.683032', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17811, 'California', 2804, '65042', '660', '38.479806', '-92.605436', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17812, 'High Point', 2804, '65042', '660', '38.479806', '-92.605436', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17813, 'Babbtown', 2804, '65058', '573', '38.254979', '-92.138973', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17814, 'Meta', 2804, '65058', '573', '38.254979', '-92.138973', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17815, 'Vancleve', 2804, '65058', '573', '38.254979', '-92.138973', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17816, 'Brazito', 2804, '65109', '573', '38.55815', '-92.283092', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17817, 'Elston', 2804, '65109', '573', '38.55815', '-92.283092', '2018-11-29 04:52:11', '2018-11-29 04:52:11');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(17818, 'Jefferson City', 2804, '65109', '573', '38.55815', '-92.283092', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17819, 'Jefferson Cty', 2804, '65109', '573', '38.55815', '-92.283092', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17820, 'Saint Martins', 2804, '65109', '573', '38.55815', '-92.283092', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17821, 'Jefferson City', 2804, '65111', '573', '38.5476', '-92.1632', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17822, 'Jefferson Cty', 2804, '65111', '573', '38.5476', '-92.1632', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17823, 'Scholastics Inc', 2804, '65111', '573', '38.5476', '-92.1632', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17824, 'Jacksonville', 2804, '65260', '660', '39.586426', '-92.416316', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17825, 'Pilot Grove', 2804, '65276', '660', '38.848405', '-92.947177', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17826, 'Edwards', 2804, '65326', '573', '38.165154', '-93.171234', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17827, 'Hastain', 2804, '65326', '573', '38.165154', '-93.171234', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17828, 'Sagrada', 2804, '65326', '573', '38.165154', '-93.171234', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17829, 'Bendavis', 2804, '65444', '417', '37.371542', '-92.060104', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17830, 'Bucyrus', 2804, '65444', '417', '37.371542', '-92.060104', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17831, 'Mooresville', 2804, '64664', '660', '39.752858', '-93.712648', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17832, 'Mirabile', 2804, '64671', '660', '39.525843', '-94.07685', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17833, 'Polo', 2804, '64671', '660', '39.525843', '-94.07685', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17834, 'Princeton', 2804, '64673', '660', '40.368466', '-93.584226', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17835, 'Norborne', 2804, '64680', '660', '39.4232', '-93.7586', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17836, 'Stet', 2804, '64680', '660', '39.4232', '-93.7586', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17837, 'Amsterdam', 2804, '64723', '660', '38.377322', '-94.561408', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17838, 'Bronaugh', 2804, '64728', '417', '37.687754', '-94.499116', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17839, 'Jasper', 2804, '64755', '417', '37.323611', '-94.303621', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17840, 'Moundville', 2804, '64771', '417', '37.739032', '-94.498256', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17841, 'Horton', 2804, '64778', '417', '37.956091', '-94.448287', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17842, 'Richards', 2804, '64778', '417', '37.956091', '-94.448287', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17843, 'Alba', 2804, '64830', '417', '37.233206', '-94.424258', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17844, 'La Russell', 2804, '64848', '417', '37.21177', '-93.97974', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17845, 'Larussell', 2804, '64848', '417', '37.21177', '-93.97974', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17846, 'Oronogo', 2804, '64855', '417', '37.308926', '-94.471629', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17847, 'Sarcoxie', 2804, '64862', '417', '37.143082', '-94.11548', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17848, 'Saginaw', 2804, '64864', '417', '37.0238', '-94.4683', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17849, 'Wentworth', 2804, '64873', '417', '36.99205', '-94.13268', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17850, 'Centertown', 2804, '65023', '573', '38.653077', '-92.39393', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17851, 'Eugene', 2804, '65032', '573', '38.345542', '-92.361675', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17852, 'Laurel', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17853, 'Lightsey', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17854, 'Limbert', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17855, 'Myrick', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17856, 'Pendorff', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17857, 'Pine Belt Reg', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17858, 'Pine Belt Regional Airport', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17859, 'Pineview', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17860, 'Powers', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17861, 'Shady Grove', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17862, 'Strengthford', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17863, 'Tuckers Crossing', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:11', '2018-11-29 04:52:11'),\n(17864, 'Laurel', 2805, '39441', '601', '31.6937', '-89.1308', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17865, 'Baxterville', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17866, 'Carnes', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17867, 'Lumberton', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17868, 'Pistol Ridge', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17869, 'Seneca', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17870, 'Talowah', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17871, 'Villa Ridge', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17872, 'Wells Town', 2805, '39455', '601', '31.023654', '-89.464365', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17873, 'Gpt', 2805, '39506', '228', '30.3672', '-89.0926', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17874, 'Gulfport', 2805, '39506', '228', '30.3672', '-89.0926', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17875, 'Biloxi', 2805, '39540', '228', '30.443662', '-88.907766', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17876, 'Diberville', 2805, '39540', '228', '30.443662', '-88.907766', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17877, 'Oak Vale', 2805, '39656', '601', '31.450992', '-90.014141', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17878, 'Society Hill', 2805, '39656', '601', '31.450992', '-90.014141', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17879, 'Hernando', 2805, '38632', '662', '34.795483', '-89.977928', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17880, 'Mccutcheon', 2805, '38722', '662', '33.263906', '-90.810808', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17881, 'Inverness', 2805, '38753', '662', '33.346384', '-90.593911', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17882, 'Waco', 2805, '38753', '662', '33.346384', '-90.593911', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17883, 'Bellewood', 2805, '38754', '662', '33.242344', '-90.619238', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17884, 'Caile', 2805, '38754', '662', '33.242344', '-90.619238', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17885, 'Isola', 2805, '38754', '662', '33.242344', '-90.619238', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17886, 'Ruleville', 2805, '38771', '662', '33.729088', '-90.54279', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17887, 'Tupelo', 2805, '38803', '662', '34.2577', '-88.7034', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17888, 'Tupelo', 2805, '38804', '662', '34.286821', '-88.671245', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17889, 'Dennis', 2805, '38838', '662', '34.554532', '-88.241786', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17890, 'Holly Spgs', 2805, '38634', '662', '34.7677', '-89.4489', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17891, 'Holly Springs', 2805, '38634', '662', '34.7677', '-89.4489', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17892, 'Lake Cormorant', 2805, '38641', '662', '34.912546', '-90.195789', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17893, 'Lk Cormorant', 2805, '38641', '662', '34.912546', '-90.195789', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17894, 'Pleasant Grove', 2805, '38666', '662', '34.410772', '-89.942287', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17895, 'Sardis', 2805, '38666', '662', '34.410772', '-89.942287', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17896, 'Tula', 2805, '38675', '662', '34.2331', '-89.3616', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17897, 'Cleveland', 2805, '38732', '662', '33.762468', '-90.781785', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17898, 'Rexburg', 2805, '38756', '662', '33.443908', '-90.870991', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17899, 'Algoma', 2805, '38820', '662', '34.1766', '-89.0324', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17900, 'Amory', 2805, '38821', '662', '33.969926', '-88.417702', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17901, 'Bigbee', 2805, '38821', '662', '33.969926', '-88.417702', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17902, 'Colsub', 2805, '38821', '662', '33.969926', '-88.417702', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17903, 'Hatley', 2805, '38821', '662', '33.969926', '-88.417702', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17904, 'South Amory', 2805, '38821', '662', '33.969926', '-88.417702', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17905, 'Charleston', 2805, '38921', '662', '33.962644', '-90.188462', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17906, 'Cowart', 2805, '38921', '662', '33.962644', '-90.188462', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17907, 'Effie', 2805, '38921', '662', '33.962644', '-90.188462', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17908, 'Sharkey', 2805, '38921', '662', '33.962644', '-90.188462', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17909, 'Benwood', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17910, 'Bryant', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17911, 'Coffeeville', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17912, 'Gatewood', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17913, 'Gums', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17914, 'Tyson', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17915, 'Youngs', 2805, '38922', '662', '33.927716', '-89.664492', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17916, 'Calhoun City', 2805, '38955', '662', '33.7405', '-89.3716', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17917, 'Calhoun Cty', 2805, '38955', '662', '33.7405', '-89.3716', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17918, 'Calhoun Cy', 2805, '38955', '662', '33.7405', '-89.3716', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17919, 'Dentontown', 2805, '38955', '662', '33.7405', '-89.3716', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17920, 'Sabougla', 2805, '38955', '662', '33.7405', '-89.3716', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17921, 'Slate Spring', 2805, '38955', '662', '33.7405', '-89.3716', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17922, 'Belzoni', 2805, '39038', '662', '33.206072', '-90.497746', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17923, 'Benton', 2805, '39039', '662', '32.833801', '-90.223408', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17924, 'Cary', 2805, '39054', '662', '32.811756', '-90.896083', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17925, 'Conehatta', 2805, '39057', '601', '32.476981', '-89.323316', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17926, 'Pocahontas', 2805, '39072', '601', '32.4745', '-90.2863', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17927, 'Holly Bluff', 2805, '39088', '662', '32.832475', '-90.698885', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17928, 'Kosciusko', 2805, '39090', '662', '33.003518', '-89.50293', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17929, 'Natchez', 2805, '39121', '601', '31.5604', '-91.4032', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17930, 'Newhebron', 2805, '39140', '601', '31.748452', '-90.052408', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17931, 'Walnut Grove', 2805, '39189', '601', '32.616244', '-89.406202', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17932, 'Washington', 2805, '39190', '601', '31.5786', '-91.2994', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17933, 'Jackson', 2805, '39205', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17934, 'Jax', 2805, '39205', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17935, 'Jksn', 2805, '39205', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17936, 'Jxn', 2805, '39205', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17937, 'Jackson', 2805, '39206', '601', '32.370895', '-90.173554', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17938, 'Jax', 2805, '39206', '601', '32.370895', '-90.173554', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17939, 'Jksn', 2805, '39206', '601', '32.370895', '-90.173554', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17940, 'Jxn', 2805, '39206', '601', '32.370895', '-90.173554', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17941, 'Jackson', 2805, '39207', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17942, 'Jax', 2805, '39207', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17943, 'Jksn', 2805, '39207', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17944, 'Jxn', 2805, '39207', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17945, 'Jackson', 2805, '39271', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17946, 'Jax', 2805, '39271', '601', '32.2986', '-90.1849', '2018-11-29 04:52:12', '2018-11-29 04:52:12'),\n(17947, 'Jksn', 2805, '39271', '601', '32.2986', '-90.1849', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17948, 'Jxn', 2805, '39271', '601', '32.2986', '-90.1849', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17949, 'Visa', 2805, '39271', '601', '32.2986', '-90.1849', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17950, 'Jackson', 2805, '39288', '601', '32.2996', '-90.1428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17951, 'Jax', 2805, '39288', '601', '32.2996', '-90.1428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17952, 'Jksn', 2805, '39288', '601', '32.2996', '-90.1428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17953, 'Jxn', 2805, '39288', '601', '32.2996', '-90.1428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17954, 'Pearl', 2805, '39288', '601', '32.2996', '-90.1428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17955, 'Buckatunna', 2805, '39322', '601', '31.580985', '-88.547196', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17956, 'Little Rock', 2805, '39337', '601', '32.494088', '-88.99005', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17957, 'Macon', 2805, '39341', '662', '33.058772', '-88.58582', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17958, 'Paulette', 2805, '39341', '662', '33.058772', '-88.58582', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17959, 'Prairie Point', 2805, '39341', '662', '33.058772', '-88.58582', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17960, 'Preston', 2805, '39354', '601', '32.863426', '-88.823422', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17961, 'Quitman', 2805, '39355', '601', '32.076218', '-88.660087', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17962, 'Bassfield', 2805, '39421', '601', '31.494974', '-89.688588', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17963, 'Bay Springs', 2805, '39422', '601', '31.943406', '-89.18819', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17964, 'Antioch', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17965, 'Calhoun', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17966, 'Cleo', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17967, 'Errata', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17968, 'Glade', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17969, 'Hoy', 2805, '39440', '601', '31.694296', '-89.150428', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17970, 'Linwood', 2809, '68036', '402', '41.395404', '-96.963468', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17971, 'Prague', 2809, '68050', '402', '41.307476', '-96.842114', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17972, 'Wahoo', 2809, '68066', '402', '41.176369', '-96.61937', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17973, 'Washington', 2809, '68068', '402', '41.40038', '-96.205412', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17974, 'Waterloo', 2809, '68069', '402', '41.215836', '-96.319601', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17975, 'Omaha', 2809, '68101', '402', '41.2596', '-95.9374', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17976, 'Omaha', 2809, '68120', '402', '41.2837', '-96.0073', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17977, 'Omaha', 2809, '68135', '402', '41.20574', '-96.194412', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17978, 'Adams', 2809, '68301', '402', '40.494013', '-96.546173', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17979, 'Bennet', 2809, '68317', '402', '40.664514', '-96.518261', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17980, 'Davenport', 2809, '68335', '402', '40.306997', '-97.778514', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17981, 'Dawson', 2809, '68337', '402', '40.131007', '-95.841004', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17982, 'Exeter', 2809, '68351', '402', '40.640589', '-97.425815', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17983, 'Hallam', 2809, '68368', '402', '40.566686', '-96.810717', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17984, 'Mc Cool Jct', 2809, '68401', '402', '40.741987', '-97.597157', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17985, 'Mc Cool Junction', 2809, '68401', '402', '40.741987', '-97.597157', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17986, 'Malcolm', 2809, '68402', '402', '40.915386', '-96.852942', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17987, 'Manley', 2809, '68403', '402', '40.919149', '-96.168539', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17988, 'Panama', 2809, '68419', '402', '40.595826', '-96.50192', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17989, 'Lincoln', 2809, '68501', '402', '40.8', '-96.6664', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17990, 'Lincoln', 2809, '68503', '402', '40.826216', '-96.676902', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17991, 'Stratton', 2809, '69043', '308', '40.162569', '-101.23966', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17992, 'Dickens', 2809, '69132', '308', '40.8297', '-101.001934', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17993, 'Elsie', 2809, '69134', '308', '40.850828', '-101.362756', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17994, 'Hershey', 2809, '69143', '308', '41.177307', '-101.0307', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17995, 'Brownlee', 2809, '69166', '308', '41.913269', '-100.548193', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17996, 'Thedford', 2809, '69166', '308', '41.913269', '-100.548193', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17997, 'Venango', 2809, '69168', '308', '40.850712', '-101.93525', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17998, 'Kilgore', 2809, '69216', '402', '42.876992', '-100.996128', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(17999, 'Merriman', 2809, '69218', '308', '42.546353', '-101.740297', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18000, 'Clinton', 2809, '69343', '308', '42.54588', '-101.864808', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18001, 'Gordon', 2809, '69343', '308', '42.54588', '-101.864808', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18002, 'Riverside Park', 2809, '68826', '308', '41.151805', '-97.992058', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18003, 'Dannebrog', 2809, '68831', '308', '41.118916', '-98.556345', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18004, 'Nysted', 2809, '68831', '308', '41.118916', '-98.556345', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18005, 'Dunning', 2809, '68833', '308', '41.78961', '-100.033859', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18006, 'Kearney', 2809, '68849', '308', '40.698904', '-99.101644', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18007, 'Univ Of Ne Kearney', 2809, '68849', '308', '40.698904', '-99.101644', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18008, 'Corner', 2809, '68874', '308', '41.669312', '-99.385268', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18009, 'Sargent', 2809, '68874', '308', '41.669312', '-99.385268', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18010, 'West Union', 2809, '68874', '308', '41.669312', '-99.385268', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18011, 'Spring Creek', 2809, '68881', '308', '41.408864', '-99.399956', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18012, 'Westerville', 2809, '68881', '308', '41.408864', '-99.399956', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18013, 'Holdrege', 2809, '68949', '308', '40.452569', '-99.364566', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18014, 'Holdridge', 2809, '68949', '308', '40.452569', '-99.364566', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18015, 'Prairie', 2809, '68949', '308', '40.452569', '-99.364566', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18016, 'Sheridan', 2809, '68949', '308', '40.452569', '-99.364566', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18017, 'Albany', 2809, '68967', '308', '40.248624', '-99.629768', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18018, 'Hollinger', 2809, '68967', '308', '40.248624', '-99.629768', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18019, 'Mascot', 2809, '68967', '308', '40.248624', '-99.629768', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18020, 'Oxford', 2809, '68967', '308', '40.248624', '-99.629768', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18021, 'Reuben', 2809, '68967', '308', '40.248624', '-99.629768', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18022, 'Spring Grove', 2809, '68967', '308', '40.248624', '-99.629768', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18023, 'Smithfield', 2809, '68976', '308', '40.576612', '-99.746026', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18024, 'Imperial', 2809, '69033', '308', '40.524635', '-101.722549', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18025, 'Dix', 2809, '69133', '308', '41.198238', '-103.471837', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18026, 'Jacinto', 2809, '69133', '308', '41.198238', '-103.471837', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18027, 'Elsmere', 2809, '69135', '308', '42.25969', '-100.255207', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18028, 'Halsey', 2809, '69142', '308', '41.913144', '-100.362427', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18029, 'Ringgold', 2809, '69167', '308', '41.56856', '-101.059528', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18030, 'Tryon', 2809, '69167', '308', '41.56856', '-101.059528', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18031, 'Eli', 2809, '69201', '402', '42.542694', '-100.767514', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18032, 'Valentine', 2809, '69201', '402', '42.542694', '-100.767514', '2018-11-29 04:52:13', '2018-11-29 04:52:13'),\n(18033, 'Rushville', 2809, '69360', '308', '42.674741', '-102.484193', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18034, 'Blair', 2809, '68008', '402', '41.545418', '-96.191248', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18035, 'Blair', 2809, '68009', '402', '41.5436', '-96.1297', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18036, 'Boys Town', 2809, '68010', '402', '41.255965', '-96.129175', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18037, 'Boystown', 2809, '68010', '402', '41.255965', '-96.129175', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18038, 'Fremont', 2809, '68026', '402', '41.4504', '-96.5059', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18039, 'Tekamah', 2809, '68061', '402', '41.799783', '-96.206075', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18040, 'Omaha', 2809, '68109', '402', '41.2857', '-96.0066', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18041, 'Omaha', 2809, '68110', '402', '41.296618', '-95.909264', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18042, 'Omaha', 2809, '68111', '402', '41.29521', '-95.966145', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18043, 'Beatrice', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18044, 'Ellis', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18045, 'Glenover', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18046, 'Hoag', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18047, 'Holmesville', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18048, 'Homestead National Monument', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18049, 'Riverside', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18050, 'Rockford', 2809, '68310', '402', '40.255302', '-96.727921', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18051, 'Byron', 2809, '68325', '402', '40.045592', '-97.746019', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18052, 'Carleton', 2809, '68326', '402', '40.292558', '-97.665453', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18053, 'Geneva', 2809, '68361', '402', '40.524522', '-97.653621', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18054, 'Gilead', 2809, '68362', '402', '40.154445', '-97.444573', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18055, 'Swanton', 2809, '68445', '402', '40.400496', '-97.08436', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18056, 'Thayer', 2809, '68460', '402', '40.894052', '-97.444841', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18057, 'Waco', 2809, '68460', '402', '40.894052', '-97.444841', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18058, 'Waverly', 2809, '68462', '402', '40.958074', '-96.526665', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18059, 'Lincoln', 2809, '68510', '402', '40.806186', '-96.650602', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18060, 'Cheney', 2809, '68526', '402', '40.733463', '-96.582867', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18061, 'Lincoln', 2809, '68526', '402', '40.733463', '-96.582867', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18062, 'Emerald', 2809, '68528', '402', '40.826711', '-96.813294', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18063, 'Lincoln', 2809, '68528', '402', '40.826711', '-96.813294', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18064, 'Brainard', 2809, '68626', '402', '41.162256', '-96.995273', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18065, 'Schuyler', 2809, '68661', '402', '41.496536', '-97.088901', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18066, 'Allen', 2809, '68710', '402', '42.437984', '-96.858961', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18067, 'Martinsburg', 2809, '68710', '402', '42.437984', '-96.858961', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18068, 'Coleridge', 2809, '68727', '402', '42.518393', '-97.220789', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18069, 'Crofton', 2809, '68730', '402', '42.746002', '-97.553808', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18070, 'Oakdale', 2809, '68761', '402', '42.04591', '-97.99588', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18071, 'S Sioux City', 2809, '68776', '402', '42.478019', '-96.461251', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18072, 'South Sioux City', 2809, '68776', '402', '42.478019', '-96.461251', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18073, 'Springview', 2809, '68778', '402', '42.85817', '-99.840036', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18074, 'Chapman', 2809, '68827', '308', '41.031674', '-98.170932', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18075, 'Vieregg', 2809, '68827', '308', '41.031674', '-98.170932', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18076, 'Comstock', 2809, '68828', '308', '41.546029', '-99.327748', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18077, 'Douglas Grove', 2809, '68828', '308', '41.546029', '-99.327748', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18078, 'Geranium', 2809, '68828', '308', '41.546029', '-99.327748', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18079, 'Hazard', 2809, '68844', '308', '41.10145', '-99.09226', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18080, 'Hordville', 2809, '68846', '402', '41.086362', '-97.895126', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18081, 'Sumner', 2809, '68878', '308', '40.952392', '-99.539735', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18082, 'Blue Hill', 2809, '68930', '402', '40.296905', '-98.38948', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18083, 'Cowles', 2809, '68930', '402', '40.296905', '-98.38948', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18084, 'Rosemont', 2809, '68930', '402', '40.296905', '-98.38948', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18085, 'Hildreth', 2809, '68947', '308', '40.306984', '-99.063356', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18086, 'Naponee', 2809, '68960', '308', '40.132807', '-99.122822', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18087, 'Precept', 2809, '68977', '308', '40.08925', '-99.611209', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18088, 'Sappa', 2809, '68977', '308', '40.08925', '-99.611209', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18089, 'Stamford', 2809, '68977', '308', '40.08925', '-99.611209', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18090, 'Enders', 2809, '69027', '308', '40.48044', '-101.542804', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18091, 'Eustis', 2809, '69028', '308', '40.55398', '-100.075989', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18092, 'Haigler', 2809, '69030', '308', '40.176123', '-101.932437', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18093, 'Sanborn', 2809, '69030', '308', '40.176123', '-101.932437', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18094, 'Wilsonville', 2809, '69046', '308', '40.10359', '-100.137588', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18095, 'Brule', 2809, '69127', '308', '41.153174', '-101.921681', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18096, 'Bushnell', 2809, '69128', '308', '41.197431', '-103.908419', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18097, 'Kimball', 2809, '69145', '308', '41.197655', '-103.665868', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18098, 'Brownson', 2809, '69162', '308', '41.140766', '-103.063324', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18099, 'Colton', 2809, '69162', '308', '41.140766', '-103.063324', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18100, 'Lorenzo', 2809, '69162', '308', '41.140766', '-103.063324', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18101, 'Sidney', 2809, '69162', '308', '41.140766', '-103.063324', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18102, 'Angora', 2809, '69331', '308', '41.814942', '-102.970217', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18103, 'Harrisburg', 2809, '69345', '308', '41.546418', '-103.71', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18104, 'Dunlap', 2809, '69348', '308', '42.367424', '-103.20913', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18105, 'Hemingford', 2809, '69348', '308', '42.367424', '-103.20913', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18106, 'Omaha', 2809, '68142', '402', '41.37049', '-96.099394', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18107, 'Mutual Of Omaha', 2809, '68175', '402', '41.2586', '-95.9376', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18108, 'Omaha', 2809, '68175', '402', '41.2586', '-95.9376', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18109, 'Omaha', 2809, '68176', '402', '41.2586', '-95.9376', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18110, 'Wells Fargo', 2809, '68176', '402', '41.2586', '-95.9376', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18111, 'Barneston', 2809, '68309', '402', '40.04835', '-96.572713', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18112, 'Clatonia', 2809, '68328', '402', '40.472751', '-96.836911', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18113, 'Diller', 2809, '68342', '402', '40.095813', '-96.935384', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18114, 'Dorchester', 2809, '68343', '402', '40.633194', '-97.103224', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18115, 'Pleasanthill', 2809, '68343', '402', '40.633194', '-97.103224', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18116, 'Douglas', 2809, '68344', '402', '40.566414', '-96.397474', '2018-11-29 04:52:14', '2018-11-29 04:52:14'),\n(18117, 'Du Bois', 2809, '68345', '402', '40.044206', '-96.067138', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18118, 'Dubois', 2809, '68345', '402', '40.044206', '-96.067138', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18119, 'Garland', 2809, '68360', '402', '40.948387', '-96.958156', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18120, 'Hubbell', 2809, '68375', '402', '40.059942', '-97.463464', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18121, 'Johnson', 2809, '68378', '402', '40.43597', '-95.961982', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18122, 'Johnson', 2809, '68379', '402', '40.466859', '-95.930448', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18123, 'Julian', 2809, '68379', '402', '40.466859', '-95.930448', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18124, 'Murray', 2809, '68409', '402', '40.914922', '-95.956602', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18125, 'Nebr City', 2809, '68410', '402', '40.653534', '-95.858506', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18126, 'Nebraska City', 2809, '68410', '402', '40.653534', '-95.858506', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18127, 'Paul', 2809, '68410', '402', '40.653534', '-95.858506', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18128, 'Wyoming', 2809, '68410', '402', '40.653534', '-95.858506', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18129, 'Saint Mary', 2809, '68443', '402', '40.464933', '-96.35001', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18130, 'Sterling', 2809, '68443', '402', '40.464933', '-96.35001', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18131, 'Belle Prairie', 2809, '68444', '402', '40.39409', '-97.539401', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18132, 'Hamilton', 2809, '68444', '402', '40.39409', '-97.539401', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18133, 'Strang', 2809, '68444', '402', '40.39409', '-97.539401', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18134, 'Lincoln', 2809, '68544', '402', '0', '0', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18135, 'Nebraska Book Co', 2809, '68544', '402', '0', '0', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18136, 'Clarkson', 2809, '68629', '402', '41.706698', '-97.117332', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18137, 'Lindsay', 2809, '68644', '402', '41.70679', '-97.677303', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18138, 'Rogers', 2809, '68659', '402', '41.518382', '-96.963489', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18139, 'Saint Edward', 2809, '68660', '402', '41.553712', '-97.945755', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18140, 'Amelia', 2809, '68711', '308', '42.17624', '-99.059695', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18141, 'Atkinson', 2809, '68713', '402', '42.622795', '-98.98533', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18142, 'Clearwater', 2809, '68726', '402', '42.132392', '-98.201372', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18143, 'Laurel', 2809, '68745', '402', '42.460082', '-97.09585', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18144, 'Lynch', 2809, '68746', '402', '42.880044', '-98.425277', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18145, 'Monowi', 2809, '68746', '402', '42.880044', '-98.425277', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18146, 'Spencer', 2809, '68777', '402', '42.900619', '-98.722664', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18147, 'Stanton', 2809, '68779', '402', '41.873733', '-97.193914', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18148, 'Stuart', 2809, '68780', '402', '42.56024', '-99.129264', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18149, 'Anselmo', 2809, '68813', '308', '41.654142', '-99.760425', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18150, 'Milburn', 2809, '68813', '308', '41.654142', '-99.760425', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18151, 'New Helena', 2809, '68813', '308', '41.654142', '-99.760425', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18152, 'Victoria', 2809, '68813', '308', '41.654142', '-99.760425', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18153, 'Hampton', 2809, '68843', '402', '40.908762', '-97.892844', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18154, 'Kearney', 2809, '68847', '308', '40.74981', '-99.01715', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18155, 'East Custer', 2809, '68860', '308', '41.133046', '-99.664458', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18156, 'Oconto', 2809, '68860', '308', '41.133046', '-99.664458', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18157, 'Michigan', 2809, '68862', '308', '41.567348', '-98.981806', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18158, 'Noble', 2809, '68862', '308', '41.567348', '-98.981806', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18159, 'Ord', 2809, '68862', '308', '41.567348', '-98.981806', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18160, 'Springdale', 2809, '68862', '308', '41.567348', '-98.981806', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18161, 'Almeria', 2809, '68879', '308', '41.914136', '-99.454364', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18162, 'Taylor', 2809, '68879', '308', '41.914136', '-99.454364', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18163, 'Bertrand', 2809, '68927', '308', '40.518644', '-99.64294', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18164, 'Westmark', 2809, '68927', '308', '40.518644', '-99.64294', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18165, 'Westside', 2809, '68927', '308', '40.518644', '-99.64294', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18166, 'Williamsburg', 2809, '68927', '308', '40.518644', '-99.64294', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18167, 'Bladen', 2809, '68928', '402', '40.270695', '-98.611186', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18168, 'Bloomington', 2809, '68929', '308', '40.13281', '-99.009708', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18169, 'Farmers', 2809, '68929', '308', '40.13281', '-99.009708', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18170, 'Oak Grove', 2809, '68929', '308', '40.13281', '-99.009708', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18171, 'Nelson', 2809, '68961', '402', '40.22006', '-98.047882', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18172, 'Nora', 2809, '68961', '402', '40.22006', '-98.047882', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18173, 'Bostwick', 2809, '68978', '402', '40.08949', '-98.160807', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18174, 'Cadams', 2809, '68978', '402', '40.08949', '-98.160807', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18175, 'Superior', 2809, '68978', '402', '40.08949', '-98.160807', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18176, 'Bixby', 2809, '68979', '402', '40.575509', '-97.852722', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18177, 'School Creek', 2809, '68979', '402', '40.575509', '-97.852722', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18178, 'Sutton', 2809, '68979', '402', '40.575509', '-97.852722', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18179, 'Leicester', 2809, '68980', '402', '40.662118', '-98.223937', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18180, 'Trumbull', 2809, '68980', '402', '40.662118', '-98.223937', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18181, 'Long Pine', 2809, '69217', '402', '42.45735', '-99.750534', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18182, 'Alliance', 2809, '69301', '308', '42.220387', '-103.161446', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18183, 'Berea', 2809, '69301', '308', '42.220387', '-103.161446', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18184, 'Lakeside', 2809, '69351', '308', '42.069509', '-102.406543', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18185, 'Henry', 2809, '69358', '308', '42.053413', '-103.952642', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18186, 'Morrill', 2809, '69358', '308', '42.053413', '-103.952642', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18187, 'Stegall', 2809, '69358', '308', '42.053413', '-103.952642', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18188, 'Whitney', 2809, '69367', '308', '42.767116', '-103.275998', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18189, 'Memphis', 2809, '68042', '402', '41.09589', '-96.431686', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18190, 'Fontanelle', 2809, '68044', '402', '41.538398', '-96.454146', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18191, 'Nickerson', 2809, '68044', '402', '41.538398', '-96.454146', '2018-11-29 04:52:15', '2018-11-29 04:52:15'),\n(18192, 'Richfield', 2809, '68059', '402', '41.060668', '-96.150312', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18193, 'Springfield', 2809, '68059', '402', '41.060668', '-96.150312', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18194, 'Omaha', 2809, '68108', '402', '41.238004', '-95.928998', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18195, 'La Vista', 2809, '68128', '402', '41.176284', '-96.062257', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18196, 'Lavista', 2809, '68128', '402', '41.176284', '-96.062257', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18197, 'Ralston', 2809, '68128', '402', '41.176284', '-96.062257', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18198, 'Lincoln', 2809, '68504', '402', '40.853626', '-96.661705', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18199, 'University Place', 2809, '68504', '402', '40.853626', '-96.661705', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18200, 'Lincoln', 2809, '68517', '402', '40.935821', '-96.605115', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18201, 'Columbus', 2809, '68601', '402', '41.451179', '-97.368201', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18202, 'Richland', 2809, '68601', '402', '41.451179', '-97.368201', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18203, 'Duncan', 2809, '68634', '402', '41.377926', '-97.50275', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18204, 'Dwight', 2809, '68635', '402', '41.089691', '-97.023466', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18205, 'Osceola', 2809, '68651', '402', '41.25679', '-97.574611', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18206, 'Petersburg', 2809, '68652', '402', '41.850027', '-98.160968', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18207, 'Platte Center', 2809, '68653', '402', '41.547696', '-97.474758', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18208, 'Polk', 2809, '68654', '402', '41.1556', '-97.740891', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18209, 'Norfolk', 2809, '68702', '402', '42.0275', '-97.4178', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18210, 'Bristow', 2809, '68719', '402', '42.888731', '-98.604603', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18211, 'Ewing', 2809, '68735', '402', '42.088886', '-98.473478', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18212, 'Fordyce', 2809, '68736', '402', '42.750601', '-97.319522', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18213, 'Meadow Grove', 2809, '68752', '402', '42.025063', '-97.698761', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18214, 'Mills', 2809, '68753', '402', '42.865808', '-99.462342', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18215, 'Martinsburg', 2809, '68770', '402', '42.579373', '-96.757726', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18216, 'Ponca', 2809, '68770', '402', '42.579373', '-96.757726', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18217, 'Waterbury', 2809, '68785', '402', '42.459625', '-96.752726', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18218, 'Wayne', 2809, '68787', '402', '42.213656', '-97.017923', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18219, 'Grand Island', 2809, '68803', '308', '40.91954', '-98.445206', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18220, 'Cotesfield', 2809, '68835', '308', '41.321686', '-98.621923', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18221, 'Dannevirke', 2809, '68835', '308', '41.321686', '-98.621923', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18222, 'Elba', 2809, '68835', '308', '41.321686', '-98.621923', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18223, 'Elm Creek', 2809, '68836', '308', '40.7209', '-99.364913', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18224, 'Elyria', 2809, '68837', '308', '41.697428', '-99.068022', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18225, 'Loup City', 2809, '68853', '308', '41.27863', '-99.032352', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18226, 'Oak Creek', 2809, '68853', '308', '41.27863', '-99.032352', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18227, 'Sherman Lake', 2809, '68853', '308', '41.27863', '-99.032352', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18228, 'Webster', 2809, '68853', '308', '41.27863', '-99.032352', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18229, 'Algernon', 2809, '68855', '308', '41.176927', '-99.319584', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18230, 'Mason City', 2809, '68855', '308', '41.176927', '-99.319584', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18231, 'Cherry Creek', 2809, '68869', '308', '40.962044', '-98.855403', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18232, 'Poole', 2809, '68869', '308', '40.962044', '-98.855403', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18233, 'Ravenna', 2809, '68869', '308', '40.962044', '-98.855403', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18234, 'Sodtown', 2809, '68869', '308', '40.962044', '-98.855403', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18235, 'St Michael', 2809, '68869', '308', '40.962044', '-98.855403', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18236, 'Sweetwater', 2809, '68869', '308', '40.962044', '-98.855403', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18237, 'Gardner', 2809, '68870', '308', '40.844401', '-99.131299', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18238, 'Prairie Center', 2809, '68870', '308', '40.844401', '-99.131299', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18239, 'Riverdale', 2809, '68870', '308', '40.844401', '-99.131299', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18240, 'Thornton', 2809, '68870', '308', '40.844401', '-99.131299', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18241, 'Bristol', 2809, '68871', '308', '41.11947', '-98.862514', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18242, 'Rockville', 2809, '68871', '308', '41.11947', '-98.862514', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18243, 'Saint Libory', 2809, '68872', '308', '41.096972', '-98.326615', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18244, 'St Libory', 2809, '68872', '308', '41.096972', '-98.326615', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18245, 'Worms', 2809, '68872', '308', '41.096972', '-98.326615', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18246, 'Hastings', 2809, '68902', '402', '40.5864', '-98.3882', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18247, 'Inavale', 2809, '68952', '402', '40.089318', '-98.68902', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18248, 'Riverton', 2809, '68972', '402', '40.132607', '-98.839267', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18249, 'Cambridge', 2809, '69022', '308', '40.307124', '-100.117747', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18250, 'Maywood', 2809, '69038', '308', '40.590144', '-100.666856', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18251, 'North Platte', 2809, '69103', '308', '41.1237', '-100.7653', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18252, 'Gothenburg', 2809, '69138', '308', '40.945497', '-100.176939', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18253, 'Ogallala', 2809, '69153', '308', '41.129614', '-101.643943', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18254, 'Roscoe', 2809, '69153', '308', '41.129614', '-101.643943', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18255, 'Kowanda', 2809, '69154', '308', '41.61514', '-102.332006', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18256, 'Oshkosh', 2809, '69154', '308', '41.61514', '-102.332006', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18257, 'Penn', 2809, '69154', '308', '41.61514', '-102.332006', '2018-11-29 04:52:16', '2018-11-29 04:52:16');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(18258, 'Willow Island', 2809, '69171', '308', '40.8886', '-100.0715', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18259, 'Bridgeport', 2809, '69336', '308', '41.721772', '-102.959251', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18260, 'Northport', 2809, '69336', '308', '41.721772', '-102.959251', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18261, 'Redington', 2809, '69336', '308', '41.721772', '-102.959251', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18262, 'Antioch', 2809, '69340', '308', '42.190446', '-102.45919', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18263, 'Ellsworth', 2809, '69340', '308', '42.190446', '-102.45919', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18264, 'Melbeta', 2809, '69355', '308', '41.782216', '-103.516207', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18265, 'Cedar Bluffs', 2809, '68015', '402', '41.378823', '-96.647778', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18266, 'Elkhorn', 2809, '68022', '402', '41.277232', '-96.252542', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18267, 'Hooper', 2809, '68031', '402', '41.636855', '-96.540086', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18268, 'Malmo', 2809, '68040', '402', '41.285494', '-96.736228', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18269, 'Winslow', 2809, '68072', '402', '41.6096', '-96.5037', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18270, 'Omaha', 2809, '68106', '402', '41.239586', '-96.001986', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18271, 'Offutt AFB', 2809, '68113', '402', '41.11994', '-95.903878', '2018-11-29 04:52:16', '2018-11-29 04:52:16'),\n(18272, 'Offutt Air Force Base', 2809, '68113', '402', '41.11994', '-95.903878', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18273, 'Omaha', 2809, '68113', '402', '41.11994', '-95.903878', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18274, 'Omaha', 2809, '68122', '402', '41.367188', '-96.052846', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18275, 'Omaha', 2809, '68179', '402', '41.2586', '-95.9376', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18276, 'Union Pacific Rr', 2809, '68179', '402', '41.2586', '-95.9376', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18277, 'Alvo', 2809, '68304', '402', '40.907039', '-96.388357', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18278, 'Cook', 2809, '68329', '402', '40.508489', '-96.151524', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18279, 'Blue River Lodge', 2809, '68333', '402', '40.61079', '-96.970712', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18280, 'Crete', 2809, '68333', '402', '40.61079', '-96.970712', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18281, 'Kramer', 2809, '68333', '402', '40.61079', '-96.970712', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18282, 'Deshler', 2809, '68340', '402', '40.132532', '-97.741034', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18283, 'Liberty', 2809, '68381', '402', '40.095342', '-96.510824', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18284, 'Milligan', 2809, '68406', '402', '40.495498', '-97.425601', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18285, 'Pickrell', 2809, '68422', '402', '40.40003', '-96.69023', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18286, 'Plymouth', 2809, '68424', '402', '40.293576', '-97.02904', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18287, 'Wilber', 2809, '68465', '402', '40.480324', '-97.008086', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18288, 'Lincoln', 2809, '68506', '402', '40.783517', '-96.641278', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18289, 'Lincoln', 2809, '68522', '402', '40.781166', '-96.758408', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18290, 'Bellwood', 2809, '68624', '402', '41.346363', '-97.234308', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18291, 'Belden', 2809, '68717', '402', '42.395014', '-97.203141', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18292, 'Mcclean', 2809, '68747', '402', '42.402174', '-97.475144', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18293, 'Mclean', 2809, '68747', '402', '42.402174', '-97.475144', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18294, 'Magnet', 2809, '68749', '402', '42.45319', '-97.445968', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18295, 'Verdigre', 2809, '68783', '402', '42.635006', '-98.129788', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18296, 'Greeley', 2809, '68842', '308', '41.610519', '-98.521632', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18297, 'Sharon', 2809, '68876', '308', '40.799149', '-98.75631', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18298, 'Shelton', 2809, '68876', '308', '40.799149', '-98.75631', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18299, 'Good Samaritan Village', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18300, 'Hansen', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18301, 'Hastings', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18302, 'Hastings Imperial Mall', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18303, 'Hastings Municipal Airport', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18304, 'Ingleside', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18305, 'Spencer Park', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18306, 'West Blue', 2809, '68901', '402', '40.589499', '-98.387596', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18307, 'Beaver City', 2809, '68926', '308', '40.089026', '-99.797599', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18308, 'Clay Center', 2809, '68933', '402', '40.510108', '-98.032826', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18309, 'Lynn', 2809, '68933', '402', '40.510108', '-98.032826', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18310, 'Marshall', 2809, '68933', '402', '40.510108', '-98.032826', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18311, 'Anderson', 2809, '68940', '308', '40.539924', '-99.241619', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18312, 'Funk', 2809, '68940', '308', '40.539924', '-99.241619', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18313, 'Denman', 2809, '68956', '402', '40.615081', '-98.705322', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18314, 'Kenesaw', 2809, '68956', '402', '40.615081', '-98.705322', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18315, 'Wanda', 2809, '68956', '402', '40.615081', '-98.705322', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18316, 'Laird', 2809, '68958', '308', '40.539726', '-99.502432', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18317, 'Loomis', 2809, '68958', '308', '40.539726', '-99.502432', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18318, 'Ruskin', 2809, '68974', '402', '40.13268', '-97.877563', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18319, 'Upland', 2809, '68981', '402', '40.306668', '-98.896356', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18320, 'Stockville', 2809, '69042', '308', '40.482044', '-100.382622', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18321, 'Brandon', 2809, '69140', '308', '40.851179', '-101.706414', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18322, 'Grant', 2809, '69140', '308', '40.851179', '-101.706414', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18323, 'Lodgepole', 2809, '69149', '308', '41.220756', '-102.672566', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18324, 'Sunol', 2809, '69149', '308', '41.220756', '-102.672566', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18325, 'Bignell', 2809, '69151', '308', '41.003616', '-100.511828', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18326, 'Maxwell', 2809, '69151', '308', '41.003616', '-100.511828', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18327, 'Cabelas Inc', 2809, '69160', '308', '41.1429', '-102.9776', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18328, 'Sidney', 2809, '69160', '308', '41.1429', '-102.9776', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18329, 'Cabela\\'s', 2809, '69190', '308', '41.4067', '-102.3428', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18330, 'Oshkosh', 2809, '69190', '308', '41.4067', '-102.3428', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18331, 'W Bay Shore', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18332, 'West Bay Shore', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18333, 'Babylon', 2814, '11707', '631', '40.6959', '-73.3264', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18334, 'W Babylon', 2814, '11707', '631', '40.6959', '-73.3264', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18335, 'West Babylon', 2814, '11707', '631', '40.6959', '-73.3264', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18336, 'Central Islip', 2814, '11722', '631', '40.780669', '-73.198528', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18337, 'S Hauppauge', 2814, '11722', '631', '40.780669', '-73.198528', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18338, 'South Hauppauge', 2814, '11722', '631', '40.780669', '-73.198528', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18339, 'Rockville Center', 2814, '11571', '516', '40.6644', '-73.6384', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18340, 'Rockville Centre', 2814, '11571', '516', '40.6644', '-73.6384', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18341, 'Rockville Ctr', 2814, '11571', '516', '40.6644', '-73.6384', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18342, 'Rvc', 2814, '11571', '516', '40.6644', '-73.6384', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18343, 'La Gurda Arpt', 2814, '11371', '914', '40.775497', '-73.870857', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18344, 'Queens', 2814, '11371', '914', '40.775497', '-73.870857', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18345, 'Freeport', 2814, '11520', '516', '40.652202', '-73.58282', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18346, 'Brooklyn', 2814, '11238', '718', '40.67616', '-73.964404', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18347, 'Flushing', 2814, '11354', '718', '40.766534', '-73.827037', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18348, 'Linden Hill', 2814, '11354', '718', '40.766534', '-73.827037', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18349, 'Queens', 2814, '11354', '718', '40.766534', '-73.827037', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18350, 'Flushing', 2814, '11355', '718', '40.751002', '-73.822732', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18351, 'Queens', 2814, '11355', '718', '40.751002', '-73.822732', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18352, 'Jamaica', 2814, '11420', '718', '40.67473', '-73.819206', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18353, 'Queens', 2814, '11420', '718', '40.67473', '-73.819206', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18354, 'S Ozone Park', 2814, '11420', '718', '40.67473', '-73.819206', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18355, 'South Ozone Park', 2814, '11420', '718', '40.67473', '-73.819206', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18356, 'Jamaica', 2814, '11422', '718', '40.659812', '-73.738055', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18357, 'Queens', 2814, '11422', '718', '40.659812', '-73.738055', '2018-11-29 04:52:17', '2018-11-29 04:52:17'),\n(18358, 'Rosedale', 2814, '11422', '718', '40.659812', '-73.738055', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18359, 'Port Washington', 2814, '11054', '516', '40.8257', '-73.6986', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18360, 'Prt Washingtn', 2814, '11054', '516', '40.8257', '-73.6986', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18361, 'Publishers Clearing House', 2814, '11054', '516', '40.8257', '-73.6986', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18362, 'Astoria', 2814, '11105', '718', '40.77931', '-73.909606', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18363, 'Long Is City', 2814, '11105', '718', '40.77931', '-73.909606', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18364, 'Long Island City', 2814, '11105', '718', '40.77931', '-73.909606', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18365, 'East Elmhurst', 2814, '11369', '718', '40.763934', '-73.87119', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18366, 'Flushing', 2814, '11369', '718', '40.763934', '-73.87119', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18367, 'Queens', 2814, '11369', '718', '40.763934', '-73.87119', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18368, 'East Elmhurst', 2814, '11371', '914', '40.775497', '-73.870857', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18369, 'Flushing', 2814, '11371', '914', '40.775497', '-73.870857', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18370, 'La Guardia Airport', 2814, '11371', '914', '40.775497', '-73.870857', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18371, 'Unionville', 2814, '10988', '845', '41.3016', '-74.5617', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18372, 'Bellerose Terrace', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18373, 'Bellerose Vil', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18374, 'Bellerose Village', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18375, 'Bellrose Village', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18376, 'Floral Park', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18377, 'S Floral Park', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18378, 'So Floral Park', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18379, 'South Floral Park', 2814, '11001', '516', '40.723736', '-73.707549', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18380, 'Floral Park', 2814, '11002', '516', '40.7251', '-73.7068', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18381, 'Allenwood', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18382, 'Great Nck Plz', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18383, 'Great Neck', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18384, 'Great Neck Estates', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18385, 'Great Neck Plaza', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18386, 'Brooklyn', 2814, '11204', '718', '40.621295', '-73.986916', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18387, 'Chester', 2814, '10918', '845', '41.350239', '-74.25783', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18388, 'Congers', 2814, '10920', '845', '41.158096', '-73.927522', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18389, 'Airmont', 2814, '10952', '845', '41.117866', '-74.082053', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18390, 'Chestnut Ridge', 2814, '10952', '845', '41.117866', '-74.082053', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18391, 'Kaser', 2814, '10952', '845', '41.117866', '-74.082053', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18392, 'Monsey', 2814, '10952', '845', '41.117866', '-74.082053', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18393, 'Wesley Hills', 2814, '10952', '845', '41.117866', '-74.082053', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18394, 'Bardonia', 2814, '10954', '845', '41.09564', '-74.011084', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18395, 'Nanuet', 2814, '10954', '845', '41.09564', '-74.011084', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18396, 'Kensington', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18397, 'Russell Gardens', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18398, 'Saddle Rock Estates', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18399, 'Thomaston', 2814, '11021', '516', '40.785804', '-73.725505', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18400, 'Mount Vernon', 2814, '10550', '914', '40.906038', '-73.834446', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18401, 'Mt Vernon', 2814, '10550', '914', '40.906038', '-73.834446', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18402, 'Mount Vernon', 2814, '10551', '914', '40.9127', '-73.8378', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18403, 'Mt Vernon', 2814, '10551', '914', '40.9127', '-73.8378', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18404, 'Manhattan', 2814, '10168', '212', '40.7524', '-73.983', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18405, 'New York', 2814, '10168', '212', '40.7524', '-73.983', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18406, 'New York City', 2814, '10168', '212', '40.7524', '-73.983', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18407, 'Ny', 2814, '10168', '212', '40.7524', '-73.983', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18408, 'Ny City', 2814, '10168', '212', '40.7524', '-73.983', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18409, 'Nyc', 2814, '10168', '212', '40.7524', '-73.983', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18410, 'Manhattan', 2814, '10169', '212', '40.754608', '-73.976204', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18411, 'New York', 2814, '10169', '212', '40.754608', '-73.976204', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18412, 'New York City', 2814, '10169', '212', '40.754608', '-73.976204', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18413, 'Petersburgh', 2814, '12138', '518', '42.731024', '-73.375619', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18414, 'Taconic Lake', 2814, '12138', '518', '42.731024', '-73.375619', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18415, 'Poestenkill', 2814, '12140', '518', '42.687926', '-73.570923', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18416, 'Quaker Street', 2814, '12141', '518', '42.7347', '-74.1869', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18417, 'Schodack Landing', 2814, '12156', '518', '42.474049', '-73.728273', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18418, 'Schodack Lndg', 2814, '12156', '518', '42.474049', '-73.728273', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18419, 'Albany', 2814, '12224', '518', '42.6525', '-73.7567', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18420, 'Albany', 2814, '12225', '518', '42.6525', '-73.7567', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18421, 'Bethlehem', 2814, '12054', '518', '42.609206', '-73.876448', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18422, 'Delmar', 2814, '12054', '518', '42.609206', '-73.876448', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18423, 'Elsmere', 2814, '12054', '518', '42.609206', '-73.876448', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18424, 'Dormansville', 2814, '12055', '518', '42.4353', '-74.1881', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18425, 'Hoosick', 2814, '12089', '518', '42.8627', '-73.3286', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18426, 'Kinderhook', 2814, '12106', '518', '42.386114', '-73.704804', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18427, 'Stottville', 2814, '12172', '518', '42.2862', '-73.7393', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18428, 'Stuyvesant Falls', 2814, '12174', '518', '42.3525', '-73.7298', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18429, 'Stuyvesant Fl', 2814, '12174', '518', '42.3525', '-73.7298', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18430, 'Berlin', 2814, '12022', '518', '42.666982', '-73.335412', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18431, 'Center Berlin', 2814, '12022', '518', '42.666982', '-73.335412', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18432, 'Cherry Plain', 2814, '12040', '518', '42.6328', '-73.3562', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18433, 'Cherryplain', 2814, '12040', '518', '42.6328', '-73.3562', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18434, 'Eastport', 2814, '11941', '631', '40.825475', '-72.719235', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18435, 'Hither Plains', 2814, '11954', '631', '41.041325', '-71.95601', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18436, 'Montauk', 2814, '11954', '631', '41.041325', '-71.95601', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18437, 'Canaan Lake', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18438, 'Davis Park', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18439, 'E Patchogue', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18440, 'East Patchogue', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:18', '2018-11-29 04:52:18'),\n(18441, 'N Patchogue', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18442, 'North Patchogue', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18443, 'Patchogue', 2814, '11772', '631', '40.737061', '-72.900173', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18444, 'Publishers Clearing House', 2814, '11773', '516', '40.8243', '-73.4974', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18445, 'Syosset', 2814, '11773', '516', '40.8243', '-73.4974', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18446, 'Edgemere', 2814, '11690', '718', '40.5963', '-73.7684', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18447, 'Far Rockaway', 2814, '11690', '718', '40.5963', '-73.7684', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18448, 'Queens', 2814, '11690', '718', '40.5963', '-73.7684', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18449, 'Wave Crest', 2814, '11690', '718', '40.5963', '-73.7684', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18450, 'Great River', 2814, '11739', '631', '40.7198', '-73.1545', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18451, 'Lake Grove', 2814, '11755', '631', '40.858922', '-73.12013', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18452, 'Lk Grove', 2814, '11755', '631', '40.858922', '-73.12013', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18453, 'Heer Park', 2814, '11757', '631', '40.688784', '-73.374758', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18454, 'Lindenhurst', 2814, '11757', '631', '40.688784', '-73.374758', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18455, 'N Lindenhurst', 2814, '11757', '631', '40.688784', '-73.374758', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18456, 'North Lindenhurst', 2814, '11757', '631', '40.688784', '-73.374758', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18457, 'Citibank', 2814, '11555', '516', '40.7004', '-73.5934', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18458, 'Uniondale', 2814, '11555', '516', '40.7004', '-73.5934', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18459, 'Bay Shore', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18460, 'Bayshore', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18461, 'Fair Harbor', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18462, 'Kismet', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18463, 'N Bay Shore', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18464, 'North Bay Shore', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18465, 'Point O Woods', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18466, 'Saltaire', 2814, '11706', '631', '40.698754', '-73.207605', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18467, 'Zanesfield', 2815, '43360', '937', '40.314685', '-83.641335', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18468, 'Clay Center', 2815, '43408', '419', '41.571899', '-83.365737', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18469, 'Lemoyne', 2815, '43441', '419', '41.4956', '-83.4742', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18470, 'Luckey', 2815, '43443', '419', '41.46899', '-83.464846', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18471, 'Rising Sun', 2815, '43457', '419', '41.259858', '-83.417212', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18472, 'Risingsun', 2815, '43457', '419', '41.259858', '-83.417212', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18473, 'Rocky Ridge', 2815, '43458', '419', '41.531037', '-83.21276', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18474, 'Hicksville', 2815, '43526', '419', '41.310124', '-84.717264', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18475, 'Holgate', 2815, '43527', '419', '41.241812', '-84.16154', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18476, 'Swanton', 2815, '43558', '419', '41.58702', '-83.869589', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18477, 'Toledo', 2815, '43608', '419', '41.682415', '-83.53191', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18478, 'Toledo', 2815, '43609', '419', '41.622204', '-83.586462', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18479, 'Owens Corning', 2815, '43659', '419', '41.6639', '-83.5554', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18480, 'Toledo', 2815, '43659', '419', '41.6639', '-83.5554', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18481, 'Ava', 2815, '43711', '740', '39.8339', '-81.576', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18482, 'Malta', 2815, '43758', '740', '39.627196', '-81.911465', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18483, 'Mount Perry', 2815, '43760', '740', '39.892488', '-82.177917', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18484, 'White Cottage', 2815, '43791', '740', '39.861431', '-82.110416', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18485, 'Keene', 2815, '43828', '740', '40.3451', '-81.8686', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18486, 'Blaine', 2815, '43909', '740', '40.068487', '-80.819049', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18487, 'Hebron', 2815, '43025', '740', '39.977253', '-82.515652', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18488, 'Heath', 2815, '43056', '740', '39.995904', '-82.33834', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18489, 'Newark', 2815, '43056', '740', '39.995904', '-82.33834', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18490, 'Bloomingburg', 2815, '43106', '740', '39.640057', '-83.410564', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18491, 'Brice', 2815, '43109', '614', '39.912163', '-82.835348', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18492, 'Thurston', 2815, '43157', '740', '39.843741', '-82.5479', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18493, 'Columbus', 2815, '43206', '614', '39.942351', '-82.979703', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18494, 'Bexley', 2815, '43209', '614', '39.953726', '-82.931776', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18495, 'Columbus', 2815, '43209', '614', '39.953726', '-82.931776', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18496, 'Columbus', 2815, '43291', '614', '39.9602', '-82.9989', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18497, 'Eddie Bauer Co', 2815, '43291', '614', '39.9602', '-82.9989', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18498, 'Huntsville', 2815, '43324', '937', '40.453548', '-83.805048', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18499, 'New Bloomington', 2815, '43341', '740', '40.593658', '-83.311236', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18500, 'New Bloomngtn', 2815, '43341', '740', '40.593658', '-83.311236', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18501, 'Quincy', 2815, '43343', '937', '40.316377', '-83.979806', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18502, 'W Mansfield', 2815, '43358', '937', '40.421043', '-83.536251', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18503, 'W Mansfld', 2815, '43358', '937', '40.421043', '-83.536251', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18504, 'West Mansfield', 2815, '43358', '937', '40.421043', '-83.536251', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18505, 'Ashley', 2815, '43003', '740', '40.415128', '-82.958354', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18506, 'Bladensburg', 2815, '43005', '740', '40.283148', '-82.278692', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18507, 'Galena', 2815, '43021', '740', '40.204868', '-82.880912', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18508, 'Jacksontown', 2815, '43030', '740', '39.9594', '-82.4132', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18509, 'Martinsburg', 2815, '43037', '740', '40.28036', '-82.311348', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18510, 'Reynoldsburg', 2815, '43069', '614', '39.95', '-82.81', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18511, 'Victorias Secret', 2815, '43069', '614', '39.95', '-82.81', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18512, 'Carroll', 2815, '43112', '740', '39.808767', '-82.702584', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18513, 'Jeffersonville', 2815, '43128', '740', '39.659884', '-83.563824', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18514, 'Jeffersonvlle', 2815, '43128', '740', '39.659884', '-83.563824', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18515, 'Lancaster', 2815, '43130', '740', '39.68518', '-82.607992', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18516, 'Lockbourne', 2815, '43137', '614', '39.814958', '-82.983288', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18517, 'South Solon', 2815, '43153', '937', '39.752324', '-83.545532', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18518, 'W Jefferson', 2815, '43162', '614', '39.943956', '-83.305314', '2018-11-29 04:52:19', '2018-11-29 04:52:19'),\n(18519, 'West Jefferson', 2815, '43162', '614', '39.943956', '-83.305314', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18520, 'Williamsport', 2815, '43164', '740', '39.591297', '-83.111218', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18521, 'Lockbourne', 2815, '43194', '614', '0', '0', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18522, 'Shared Zip Code', 2815, '43194', '614', '0', '0', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18523, 'Columbus', 2815, '43203', '614', '39.971834', '-82.966754', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18524, 'Columbus', 2815, '43219', '614', '40.013098', '-82.923632', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18525, 'Columbus', 2815, '43221', '614', '40.029787', '-83.081768', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18526, 'Upper Arlington', 2815, '43221', '614', '40.029787', '-83.081768', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18527, 'Upper Arlngtn', 2815, '43221', '614', '40.029787', '-83.081768', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18528, 'Bank One', 2815, '43271', '614', '39.9602', '-82.9989', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18529, 'Columbus', 2815, '43271', '614', '39.9602', '-82.9989', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18530, 'East Liberty', 2815, '43319', '937', '40.307594', '-83.581098', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18531, 'Richwood', 2815, '43344', '740', '40.425717', '-83.326534', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18532, 'Dunbridge', 2815, '43414', '419', '41.4581', '-83.6106', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18533, 'Jerry City', 2815, '43437', '419', '41.247592', '-83.601151', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18534, 'Middle Bass', 2815, '43446', '419', '41.6925', '-82.8104', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18535, 'Vickery', 2815, '43464', '419', '41.398028', '-82.927963', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18536, 'Defiance', 2815, '43512', '419', '41.303763', '-84.365654', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18537, 'Fayette', 2815, '43521', '419', '41.652938', '-84.285614', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18538, 'Maumee', 2815, '43537', '419', '41.574864', '-83.684002', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18539, 'Rdgville Cors', 2815, '43555', '419', '41.433381', '-84.257588', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18540, 'Ridgeville Corners', 2815, '43555', '419', '41.433381', '-84.257588', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18541, 'Strausstown', 2818, '19559', '610', '40.491678', '-76.184183', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18542, 'Upper Tulpehocken', 2818, '19559', '610', '40.491678', '-76.184183', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18543, 'Alsace Manor', 2818, '19560', '610', '40.40131', '-75.883512', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18544, 'Cherokee Ranch', 2818, '19560', '610', '40.40131', '-75.883512', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18545, 'Spring Valley', 2818, '19560', '610', '40.40131', '-75.883512', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18546, 'Temple', 2818, '19560', '610', '40.40131', '-75.883512', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18547, 'Hulmeville', 2818, '19047', '215', '40.177719', '-74.890955', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18548, 'Langhorne', 2818, '19047', '215', '40.177719', '-74.890955', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18549, 'Parkland', 2818, '19047', '215', '40.177719', '-74.890955', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18550, 'Penndel', 2818, '19047', '215', '40.177719', '-74.890955', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18551, 'Upper Holland', 2818, '19047', '215', '40.177719', '-74.890955', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18552, 'Fallsington', 2818, '19054', '215', '40.16751', '-74.822186', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18553, 'Le Raysville', 2818, '18829', '570', '41.843757', '-76.176734', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18554, 'Leraysville', 2818, '18829', '570', '41.843757', '-76.176734', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18555, 'Wysox', 2818, '18854', '570', '41.783701', '-76.367642', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18556, 'Andalusia', 2818, '19020', '215', '40.10115', '-74.941677', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18557, 'Bensalem', 2818, '19020', '215', '40.10115', '-74.941677', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18558, 'Cornwells Heights', 2818, '19020', '215', '40.10115', '-74.941677', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18559, 'White Haven', 2818, '18661', '570', '41.09918', '-75.736394', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18560, 'Bear Creek Township', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18561, 'Bear Creek Tw', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18562, 'City Of Wb', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18563, 'City Of Wilkes Barre', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18564, 'Hilldale', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18565, 'Hudson', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18566, 'Korn Krest', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18567, 'Plains', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18568, 'Plains Township', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18569, 'Plains Twp', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18570, 'Wilkes Barre', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18571, 'Wilkes Barre Township', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18572, 'Wlks Barr Twp', 2818, '18702', '570', '41.22622', '-75.78811', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18573, 'Courtdale', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18574, 'Edwardsville', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18575, 'Forty Fort', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18576, 'Cambra', 2818, '18611', '570', '41.192715', '-76.299787', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18577, 'Harveys Lake', 2818, '18618', '570', '41.358591', '-76.053754', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18578, 'Monroe Township', 2818, '18618', '570', '41.358591', '-76.053754', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18579, 'Monroe Twp', 2818, '18618', '570', '41.358591', '-76.053754', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18580, 'Lehman', 2818, '18627', '570', '41.3168', '-76.0228', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18581, 'Wilkes Barre', 2818, '18711', '570', '41.2474', '-75.8756', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18582, 'Gibson', 2818, '18820', '570', '41.807674', '-75.648336', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18583, 'Hawley', 2818, '18438', '570', '41.414794', '-75.24741', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18584, 'Lakeville', 2818, '18438', '570', '41.414794', '-75.24741', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18585, 'Exeter', 2818, '18643', '570', '41.36789', '-75.83972', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18586, 'Exeter Township', 2818, '18643', '570', '41.36789', '-75.83972', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18587, 'Harding', 2818, '18643', '570', '41.36789', '-75.83972', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18588, 'Pittston', 2818, '18643', '570', '41.36789', '-75.83972', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18589, 'West Pittston', 2818, '18643', '570', '41.36789', '-75.83972', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18590, 'Matamoras', 2818, '18336', '570', '41.375926', '-74.728438', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18591, 'Sciota', 2818, '18354', '570', '40.925897', '-75.32572', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18592, 'Clarks Green', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18593, 'Clarks Summit', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18594, 'S Abingtn Twp', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18595, 'S Abington Twp', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18596, 'Scott Township', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18597, 'Scott Twp', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:20', '2018-11-29 04:52:20'),\n(18598, 'South Abington Township', 2818, '18411', '570', '41.458054', '-75.730478', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18599, 'Reading', 2818, '19601', '610', '40.35833', '-75.941144', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18600, 'Reading', 2818, '19603', '215', '40.3357', '-75.9272', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18601, 'Limekiln', 2818, '19535', '610', '40.3429', '-75.7726', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18602, 'Lyon Station', 2818, '19536', '610', '40.480476', '-75.760332', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18603, 'Berkshire Heights', 2818, '19610', '610', '40.337917', '-75.97678', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18604, 'Reading', 2818, '19610', '610', '40.337917', '-75.97678', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18605, 'Wyomissing', 2818, '19610', '610', '40.337917', '-75.97678', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18606, 'Reading', 2818, '19611', '610', '40.325334', '-75.939022', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18607, 'West Reading', 2818, '19611', '610', '40.325334', '-75.939022', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18608, 'Reading', 2818, '19612', '610', '40.3357', '-75.9272', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18609, 'Peckville', 2818, '18452', '570', '41.484624', '-75.588576', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18610, 'Allentown', 2818, '18102', '610', '40.607383', '-75.478238', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18611, 'Allentown', 2818, '18109', '610', '40.641824', '-75.430266', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18612, 'Allentown Airport', 2818, '18109', '610', '40.641824', '-75.430266', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18613, 'Coaldale', 2818, '18218', '570', '40.819522', '-75.914048', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18614, 'Jim Thorpe', 2818, '18229', '570', '40.920019', '-75.715921', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18615, 'Alburtis', 2818, '18011', '610', '40.481951', '-75.642391', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18616, 'Bethlehem', 2818, '18018', '610', '40.630398', '-75.394327', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18617, 'Bethlehem', 2818, '18025', '610', '40.6013', '-75.46', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18618, 'Dun & Bradstreet', 2818, '18025', '610', '40.6013', '-75.46', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18619, 'Coopersburg', 2818, '18036', '610', '40.49809', '-75.382732', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18620, 'E Strodsburg', 2818, '18302', '570', '41.081988', '-75.099606', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18621, 'E Stroudsbg', 2818, '18302', '570', '41.081988', '-75.099606', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18622, 'E Stroudsburg', 2818, '18302', '570', '41.081988', '-75.099606', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18623, 'East Stroudsburg', 2818, '18302', '570', '41.081988', '-75.099606', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18624, 'Analomink', 2818, '18320', '570', '41.0511', '-75.2205', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18625, 'Kaska', 2818, '17959', '570', '40.728264', '-76.136284', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18626, 'New Phila', 2818, '17959', '570', '40.728264', '-76.136284', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18627, 'New Philadelphia', 2818, '17959', '570', '40.728264', '-76.136284', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18628, 'Silver Creek', 2818, '17959', '570', '40.728264', '-76.136284', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18629, 'Valley Furnace', 2818, '17959', '570', '40.728264', '-76.136284', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18630, 'Deer Lake', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18631, 'Drehersville', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18632, 'Frisbie', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18633, 'Molino', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18634, 'Orwigsburg', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18635, 'Pinedale', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18636, 'West Brunswick', 2818, '17961', '570', '40.634995', '-76.062017', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18637, 'Treichlers', 2818, '18086', '610', '40.738943', '-75.547007', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18638, 'W Milton', 2818, '17886', '570', '41.021711', '-76.874577', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18639, 'West Milton', 2818, '17886', '570', '41.021711', '-76.874577', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18640, 'Brockton', 2818, '17925', '570', '40.768296', '-76.028989', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18641, 'Hellen Mills', 2818, '17925', '570', '40.768296', '-76.028989', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18642, 'Gilberton', 2818, '17934', '570', '40.797326', '-76.214878', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18643, 'Maizeville', 2818, '17934', '570', '40.797326', '-76.214878', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18644, 'Lehigh Valley', 2818, '18002', '610', '40.6428', '-75.4328', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18645, 'Chillisquaque', 2818, '17850', '570', '40.965494', '-76.854286', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18646, 'Montandon', 2818, '17850', '570', '40.965494', '-76.854286', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18647, 'W Chillisquaq', 2818, '17850', '570', '40.965494', '-76.854286', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18648, 'Ashbury', 2818, '17859', '570', '41.097386', '-76.331162', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18649, 'Bendertown', 2818, '17859', '570', '41.097386', '-76.331162', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18650, 'Orange', 2818, '17859', '570', '41.097386', '-76.331162', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18651, 'Orangeville', 2818, '17859', '570', '41.097386', '-76.331162', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18652, 'Pealertown', 2818, '17859', '570', '41.097386', '-76.331162', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18653, 'Rohrsburg', 2818, '17859', '570', '41.097386', '-76.331162', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18654, 'Paxtonville', 2818, '17861', '570', '40.774282', '-77.078302', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18655, 'Coal Run', 2818, '17866', '570', '40.791961', '-76.557662', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18656, 'Coal Township', 2818, '17866', '570', '40.791961', '-76.557662', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18657, 'Excelsior', 2818, '17866', '570', '40.791961', '-76.557662', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18658, 'Ranshaw', 2818, '17866', '570', '40.791961', '-76.557662', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18659, 'Riverside', 2818, '17868', '570', '40.945424', '-76.651764', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18660, 'Wolverton', 2818, '17868', '570', '40.945424', '-76.651764', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18661, 'Brady', 2818, '17752', '570', '41.180905', '-76.918194', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18662, 'Montgomery', 2818, '17752', '570', '41.180905', '-76.918194', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18663, 'Greenbank', 2818, '17557', '717', '40.120502', '-76.068854', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18664, 'Groffdale', 2818, '17557', '717', '40.120502', '-76.068854', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18665, 'Laurelville', 2818, '17557', '717', '40.120502', '-76.068854', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18666, 'New Holland', 2818, '17557', '717', '40.120502', '-76.068854', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18667, 'Jacobus', 2818, '17407', '717', '39.883737', '-76.711861', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18668, 'York', 2818, '17407', '717', '39.883737', '-76.711861', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18669, 'Andrews Bridge', 2818, '17509', '610', '39.920567', '-76.032382', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18670, 'Bartville', 2818, '17509', '610', '39.920567', '-76.032382', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18671, 'Christiana', 2818, '17509', '610', '39.920567', '-76.032382', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18672, 'Cooperville', 2818, '17509', '610', '39.920567', '-76.032382', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18673, 'Ninepoints', 2818, '17509', '610', '39.920567', '-76.032382', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18674, 'Smyrna', 2818, '17509', '610', '39.920567', '-76.032382', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18675, 'Conestoga', 2818, '17516', '717', '39.927807', '-76.388442', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18676, 'Creswell', 2818, '17516', '717', '39.927807', '-76.388442', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18677, 'Buck', 2818, '17566', '717', '39.863856', '-76.147998', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18678, 'Mechanics Grove', 2818, '17566', '717', '39.863856', '-76.147998', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18679, 'Quarryville', 2818, '17566', '717', '39.863856', '-76.147998', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18680, 'Highville', 2818, '17516', '717', '39.927807', '-76.388442', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18681, 'Safe Harbor', 2818, '17516', '717', '39.927807', '-76.388442', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18682, 'Drumore', 2818, '17518', '717', '39.81346', '-76.262484', '2018-11-29 04:52:21', '2018-11-29 04:52:21'),\n(18683, 'Liberty Square', 2818, '17518', '717', '39.81346', '-76.262484', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18684, 'Bethesda', 2818, '17532', '717', '39.857946', '-76.303992', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18685, 'Maxatawny', 2818, '19538', '610', '40.5425', '-75.6893', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18686, 'Alleghenyville', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18687, 'Wernersville', 2818, '19565', '610', '40.343604', '-76.088314', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18688, 'Port Clinton', 2818, '19549', '610', '40.580932', '-76.026434', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18689, 'Allentown', 2818, '18104', '610', '40.615591', '-75.543661', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18690, 'Allentown', 2818, '18105', '610', '40.6059', '-75.4656', '2018-11-29 04:52:22', '2018-11-29 04:52:22');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(18691, 'Allentown', 2818, '18106', '610', '40.58471', '-75.588974', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18692, 'Wescosville', 2818, '18106', '610', '40.58471', '-75.588974', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18693, 'Drums', 2818, '18222', '570', '41.039833', '-76.011352', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18694, 'Freeland', 2818, '18224', '570', '41.026036', '-75.852414', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18695, 'Nesquehoning', 2818, '18240', '570', '40.865461', '-75.868502', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18696, 'Fern Glen', 2818, '18241', '570', '40.941909', '-76.187535', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18697, 'Nuremberg', 2818, '18241', '570', '40.941909', '-76.187535', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18698, 'Clifton', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18699, 'Clifton Township', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18700, 'Clifton Twp', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18701, 'Covington Township', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18702, 'Covington Twp', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18703, 'Gouldsboro', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18704, 'Thornhurst', 2818, '18424', '570', '41.241604', '-75.51268', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18705, 'Danielsville', 2818, '18038', '610', '40.797684', '-75.482513', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18706, 'E Greenville', 2818, '18041', '215', '40.419248', '-75.510449', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18707, 'East Greenville', 2818, '18041', '215', '40.419248', '-75.510449', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18708, 'Green Lane', 2818, '18054', '215', '40.352012', '-75.446498', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18709, 'Hellertown', 2818, '18055', '610', '40.590591', '-75.300529', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18710, 'Palmerton', 2818, '18071', '610', '40.836637', '-75.58725', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18711, 'Buck Hill Falls', 2818, '18323', '570', '41.20013', '-75.267902', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18712, 'Buck Hill Fls', 2818, '18323', '570', '41.20013', '-75.267902', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18713, 'Bushkill', 2818, '18324', '570', '41.146026', '-75.01109', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18714, 'Lehman', 2818, '18324', '570', '41.146026', '-75.01109', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18715, 'Adamsdale', 2818, '17972', '570', '40.600374', '-76.200167', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18716, 'Bohrmans Mill', 2818, '17972', '570', '40.600374', '-76.200167', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18717, 'Landingville', 2818, '17972', '570', '40.600374', '-76.200167', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18718, 'Schuykl Havn', 2818, '17972', '570', '40.600374', '-76.200167', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18719, 'Schuylkill Haven', 2818, '17972', '570', '40.600374', '-76.200167', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18720, 'Branch Dale', 2818, '17923', '570', '40.65092', '-76.32936', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18721, 'Branchdale', 2818, '17923', '570', '40.65092', '-76.32936', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18722, 'New Mines', 2818, '17923', '570', '40.65092', '-76.32936', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18723, 'Reilly', 2818, '17923', '570', '40.65092', '-76.32936', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18724, 'Barry', 2818, '17938', '570', '40.664762', '-76.509545', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18725, 'Fountain', 2818, '17938', '570', '40.664762', '-76.509545', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18726, 'Hegins', 2818, '17938', '570', '40.664762', '-76.509545', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18727, 'Weishample', 2818, '17938', '570', '40.664762', '-76.509545', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18728, 'Danville East', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18729, 'Deiblers', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18730, 'Exchange', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18731, 'Grovania', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18732, 'New Berlin', 2818, '17855', '570', '40.888113', '-76.973909', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18733, 'Locust Gap', 2818, '17840', '570', '40.76986', '-76.44237', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18734, 'Jersey Mills', 2818, '17739', '570', '41.354215', '-77.399925', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18735, 'Okome', 2818, '17739', '570', '41.354215', '-77.399925', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18736, 'Pine Creek', 2818, '17739', '570', '41.354215', '-77.399925', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18737, 'Crawford', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18738, 'Jersey Shore', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18739, 'Larrys Creek', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18740, 'Larryville', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18741, 'Oriole', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18742, 'Piatt', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18743, 'Ramsey', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18744, 'Rauchtown', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18745, 'Salladasburg', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18746, 'Tomb', 2818, '17740', '570', '41.219516', '-77.274646', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18747, 'Anthony', 2818, '17772', '570', '41.109262', '-76.715165', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18748, 'Comly', 2818, '17772', '570', '41.109262', '-76.715165', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18749, 'Schuyler', 2818, '17772', '570', '41.109262', '-76.715165', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18750, 'Turbotville', 2818, '17772', '570', '41.109262', '-76.715165', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18751, 'Danville', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18752, 'Mountville', 2818, '17554', '717', '40.038801', '-76.427281', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18753, 'Cammal', 2818, '17723', '570', '41.443306', '-77.479134', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18754, 'Jersey Shore', 2818, '17723', '570', '41.443306', '-77.479134', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18755, 'Ross Siding', 2818, '17723', '570', '41.443306', '-77.479134', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18756, 'Blainsport', 2818, '17569', '717', '40.265064', '-76.089319', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18757, 'Reinholds', 2818, '17569', '717', '40.265064', '-76.089319', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18758, 'Swartzville', 2818, '17569', '717', '40.265064', '-76.089319', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18759, 'Vere Cruz', 2818, '17569', '717', '40.265064', '-76.089319', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18760, 'Vinemont', 2818, '17569', '717', '40.265064', '-76.089319', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18761, 'Jay Advertising', 2818, '17573', '717', '40.0261', '-76.1687', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18762, 'Lancaster', 2818, '17573', '717', '40.0261', '-76.1687', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18763, 'Porters Sideling', 2818, '17354', '717', '39.8268', '-76.8935', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18764, 'Ports Sidling', 2818, '17354', '717', '39.8268', '-76.8935', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18765, 'Spring Grove', 2818, '17354', '717', '39.8268', '-76.8935', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18766, 'E Petersburg', 2818, '17520', '717', '40.096318', '-76.35098', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18767, 'East Petersburg', 2818, '17520', '717', '40.096318', '-76.35098', '2018-11-29 04:52:22', '2018-11-29 04:52:22'),\n(18768, 'Clay', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18769, 'Durlach', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18770, 'Ephrata', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18771, 'Farmersville', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18772, 'Hahnstown', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18773, 'Hinkletown', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18774, 'Murrell', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18775, 'Napierville', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18776, 'Voganville', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18777, 'Weidmanville', 2818, '17522', '717', '40.173281', '-76.165804', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18778, 'Lampeter', 2818, '17537', '717', '39.9902', '-76.24', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18779, 'Bamford', 2818, '17538', '717', '40.086194', '-76.41625', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18780, 'Landisville', 2818, '17538', '717', '40.086194', '-76.41625', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18781, 'Salunga', 2818, '17538', '717', '40.086194', '-76.41625', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18782, 'Blue Cross', 2818, '17177', '717', '40.2736', '-76.8847', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18783, 'Capital Blue Cross', 2818, '17177', '717', '40.2736', '-76.8847', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18784, 'Harrisburg', 2818, '17177', '717', '40.2736', '-76.8847', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18785, 'Craley', 2818, '17312', '717', '39.9475', '-76.5106', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18786, 'Dallastown', 2818, '17313', '717', '39.880253', '-76.653246', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18787, 'Yoe', 2818, '17313', '717', '39.880253', '-76.653246', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18788, 'Orrstown', 2818, '17244', '717', '40.079772', '-77.685642', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18789, 'Glen Rock', 2818, '17327', '717', '39.787394', '-76.756467', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18790, 'Hametown', 2818, '17327', '717', '39.787394', '-76.756467', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18791, 'Larue', 2818, '17327', '717', '39.787394', '-76.756467', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18792, 'S Mountain', 2818, '17261', '717', '39.8464', '-77.4881', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18793, 'South Mountain', 2818, '17261', '717', '39.8464', '-77.4881', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18794, 'Summerdale', 2818, '17093', '717', '40.310756', '-76.928746', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18795, 'Locust Run', 2818, '17094', '717', '40.589831', '-77.166562', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18796, 'Maze', 2818, '17094', '717', '40.589831', '-77.166562', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18797, 'Thompsontown', 2818, '17094', '717', '40.589831', '-77.166562', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18798, 'Harrisburg', 2818, '17112', '717', '40.362189', '-76.806932', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18799, 'Linglestown', 2818, '17112', '717', '40.362189', '-76.806932', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18800, 'Lower Paxton', 2818, '17112', '717', '40.362189', '-76.806932', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18801, 'Paxtonia', 2818, '17112', '717', '40.362189', '-76.806932', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18802, 'West Hanover', 2818, '17112', '717', '40.362189', '-76.806932', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18803, 'Department Of Revenue', 2818, '17128', '717', '40.2688', '-76.8842', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18804, 'Harrisburg', 2818, '17128', '717', '40.2688', '-76.8842', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18805, 'Hbg', 2818, '17128', '717', '40.2688', '-76.8842', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18806, 'Mill Creek', 2818, '17060', '717', '40.443727', '-77.89102', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18807, 'Mill Crk', 2818, '17060', '717', '40.443727', '-77.89102', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18808, 'Mlcreek', 2818, '17060', '717', '40.443727', '-77.89102', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18809, 'Book Of Month', 2818, '17012', '717', '40.2398', '-76.9205', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18810, 'Camp Hill', 2818, '17012', '717', '40.2398', '-76.9205', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18811, 'Grantville', 2818, '17028', '717', '40.41321', '-76.677038', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18812, 'Shellsville', 2818, '17028', '717', '40.41321', '-76.677038', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18813, 'E Lawrencevle', 2818, '16929', '570', '41.970624', '-77.130294', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18814, 'Lawrenceville', 2818, '16929', '570', '41.970624', '-77.130294', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18815, 'Somers Lane', 2818, '16929', '570', '41.970624', '-77.130294', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18816, 'Gratz', 2818, '17030', '717', '40.607916', '-76.705432', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18817, 'Rew', 2818, '16744', '814', '41.890843', '-78.539356', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18818, 'Blanchard', 2818, '16826', '570', '41.045854', '-77.597848', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18819, 'Boalsburg', 2818, '16827', '814', '40.772966', '-77.760244', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18820, 'Centre Hall', 2818, '16828', '814', '40.82536', '-77.692082', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18821, 'Hyde', 2818, '16843', '814', '41.001306', '-78.46261', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18822, 'Alba', 2818, '16910', '570', '41.7035', '-76.8303', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18823, 'Snydertown', 2818, '16910', '570', '41.7035', '-76.8303', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18824, 'Snydertwn', 2818, '16910', '570', '41.7035', '-76.8303', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18825, 'Glasgow', 2818, '16644', '814', '40.7076', '-78.4463', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18826, 'Mc Conelstown', 2818, '16660', '814', '40.4547', '-78.0835', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18827, 'Kepner', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18828, 'Leibeyville', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18829, 'Mckeansburg', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18830, 'New Ringgold', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18831, 'Rauschs', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18832, 'Snyders', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18833, 'West Penn', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18834, 'Ellen Gowan', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18835, 'Kehley Run Junction', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18836, 'Kohinoor Junction', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18837, 'Lower Shaft', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18838, 'Mahanoy', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18839, 'Maple Hill', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18840, 'Shaft', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18841, 'Shenandoah', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18842, 'Shenandoah Heights', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18843, 'Shenandoah Junction', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18844, 'Turkey Run', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18845, 'Weston Place', 2818, '17976', '570', '40.826114', '-76.184475', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18846, 'Red Hill', 2818, '18076', '215', '40.37286', '-75.485206', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18847, 'Stockertown', 2818, '18083', '610', '40.755765', '-75.26401', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18848, 'Llewellyn', 2818, '17944', '570', '40.672268', '-76.279973', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18849, 'Hubley', 2818, '17983', '570', '40.646801', '-76.554471', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18850, 'Valley View', 2818, '17983', '570', '40.646801', '-76.554471', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18851, 'North Union', 2818, '17985', '570', '40.932004', '-76.242038', '2018-11-29 04:52:23', '2018-11-29 04:52:23'),\n(18852, 'Zion Grove', 2818, '17985', '570', '40.932004', '-76.242038', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18853, 'Lehigh Valley', 2818, '18001', '610', '40.6445', '-75.4328', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18854, 'Aline', 2818, '17853', '570', '40.69723', '-77.004016', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18855, 'Meiserville', 2818, '17853', '570', '40.69723', '-77.004016', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18856, 'Mount Pleasant Mills', 2818, '17853', '570', '40.69723', '-77.004016', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18857, 'Mt Pleasant M', 2818, '17853', '570', '40.69723', '-77.004016', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18858, 'Mt Pleasant Mills', 2818, '17853', '570', '40.69723', '-77.004016', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18859, 'Mt Plsnt Mills', 2818, '17853', '570', '40.69723', '-77.004016', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18860, 'Numidia', 2818, '17858', '570', '40.8807', '-76.4028', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18861, 'Lairdsville', 2818, '17742', '570', '41.230309', '-76.59558', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18862, 'Biggertown', 2818, '17774', '570', '41.242204', '-76.534078', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18863, 'Lungerville', 2818, '17774', '570', '41.242204', '-76.534078', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18864, 'Richards Grv', 2818, '17774', '570', '41.242204', '-76.534078', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18865, 'Unityville', 2818, '17774', '570', '41.242204', '-76.534078', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18866, 'Augustaville', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18867, 'Fishers Ferry', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18868, 'Island Park', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18869, 'Klines Grove', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18870, 'Lower Augusta', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18871, 'Mile Hill', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18872, 'Mile Run', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18873, 'Oaklyn', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18874, 'Rockefeller', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18875, 'Sevenpoints', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18876, 'Stonington', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18877, 'Sunbury', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18878, 'Upper Augusta', 2818, '17801', '570', '40.832999', '-76.774688', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18879, 'Beaver Lake', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18880, 'Beech Glen', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18881, 'Davidson', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18882, 'Hemlock Grove', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18883, 'Muncy Valley', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18884, 'N Mountain', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18885, 'Nordmont', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18886, 'Sonestown', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18887, 'Strawbridge', 2818, '17758', '570', '41.368272', '-76.498802', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18888, 'Martindale', 2818, '17549', '717', '40.1559', '-76.0876', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18889, 'New Providence', 2818, '17560', '717', '39.910716', '-76.230398', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18890, 'New Providnce', 2818, '17560', '717', '39.910716', '-76.230398', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18891, 'Lancaster', 2818, '17699', '717', '40.0376', '-76.3058', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18892, 'Qvc Network Inc', 2818, '17699', '717', '40.0376', '-76.3058', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18893, 'Barbours', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18894, 'Center City', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18895, 'Faxon', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18896, 'Grampian Hls', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18897, 'Grimesville', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18898, 'Heshbon Park', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18899, 'Loyalsock', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18900, 'Newberry', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18901, 'Old Lycoming', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18902, 'Plunketts Crk', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18903, 'Proctor', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18904, 'Towncrest Vlg', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18905, 'Vallamont Hls', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18906, 'Warrensville', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18907, 'Williamsport', 2818, '17701', '570', '41.279638', '-77.029912', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18908, 'Beech Flats', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18909, 'Canton', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18910, 'Cedar Ledge', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18911, 'East Canton', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18912, 'Gleason', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18913, 'Leroy', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18914, 'Union Center', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18915, 'Ward', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18916, 'West Leroy', 2818, '17724', '570', '41.676848', '-76.89778', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18917, 'Host', 2818, '19567', '610', '40.392316', '-76.208496', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18918, 'Ryeland', 2818, '19567', '610', '40.392316', '-76.208496', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18919, 'Stouchsburg', 2818, '19567', '610', '40.392316', '-76.208496', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18920, 'Womelsdorf', 2818, '19567', '610', '40.392316', '-76.208496', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18921, 'Greenfield Manor', 2818, '19601', '610', '40.35833', '-75.941144', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18922, 'Mifflinville', 2818, '18631', '570', '41.02666', '-76.292058', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18923, 'Gilbert', 2818, '18331', '610', '40.897819', '-75.436709', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18924, 'Kresgeville', 2818, '18333', '610', '40.899448', '-75.509984', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18925, 'Pocono Lake', 2818, '18348', '570', '41.1055', '-75.4767', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18926, 'Pocono Lake Preserve', 2818, '18348', '570', '41.1055', '-75.4767', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18927, 'Pocono Lk Prs', 2818, '18348', '570', '41.1055', '-75.4767', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18928, 'Junedale', 2818, '18230', '570', '40.924547', '-75.941862', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18929, 'Saint Johns', 2818, '18247', '570', '41.0397', '-76.0049', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18930, 'Sugarloaf', 2818, '18249', '570', '40.985906', '-76.09934', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18931, 'Clifford', 2818, '18413', '570', '41.64996', '-75.595918', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18932, 'Bangor', 2818, '18013', '610', '40.862137', '-75.16234', '2018-11-29 04:52:24', '2018-11-29 04:52:24'),\n(18933, 'East Bangor', 2818, '18013', '610', '40.862137', '-75.16234', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18934, 'Roseto', 2818, '18013', '610', '40.862137', '-75.16234', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18935, 'Bath', 2818, '18014', '610', '40.759544', '-75.418417', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18936, 'Chapmans', 2818, '18014', '610', '40.759544', '-75.418417', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18937, 'Bethlehem', 2818, '18015', '610', '40.584424', '-75.369788', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18938, 'Fountain Hill', 2818, '18015', '610', '40.584424', '-75.369788', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18939, 'Macungie', 2818, '18062', '610', '40.503471', '-75.586876', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18940, 'New Tripoli', 2818, '18066', '610', '40.654776', '-75.750535', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18941, 'Mahanoy Plane', 2818, '17949', '570', '40.793552', '-76.238414', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18942, 'Brookside', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18943, 'De Turksville', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18944, 'Irving', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18945, 'Lincoln Colliery', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18946, 'Lorberry', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18947, 'Marstown', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18948, 'Oak Grove', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18949, 'Outwood', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18950, 'Pine Grove', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18951, 'Roedersville', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18952, 'Stanhope', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18953, 'Suedburg', 2818, '17963', '570', '40.560454', '-76.397911', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18954, 'Pitman', 2818, '17964', '570', '40.710254', '-76.52368', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18955, 'Frackville', 2818, '17932', '570', '40.7837', '-76.2309', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18956, 'State Correctional Inst', 2818, '17932', '570', '40.7837', '-76.2309', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18957, 'Lost Creek', 2818, '17946', '570', '40.809478', '-76.256172', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18958, 'Raven Run', 2818, '17946', '570', '40.809478', '-76.256172', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18959, 'Eyers Grove', 2818, '17846', '570', '41.163274', '-76.502728', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18960, 'Iola', 2818, '17846', '570', '41.163274', '-76.502728', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18961, 'Millville', 2818, '17846', '570', '41.163274', '-76.502728', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18962, 'Pine Summit', 2818, '17846', '570', '41.163274', '-76.502728', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18963, 'Sereno', 2818, '17846', '570', '41.163274', '-76.502728', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18964, 'Almedia', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18965, 'Bloomsburg', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18966, 'Buckhorn', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18967, 'Espy', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18968, 'Fernville', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18969, 'Jerseytown', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18970, 'Lime Ridge', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18971, 'Mainville', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18972, 'Mordansville', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18973, 'Rupert', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18974, 'Shumans', 2818, '17815', '570', '41.045712', '-76.428979', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18975, 'Booneville', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18976, 'Eastville', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18977, 'Greenburr', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18978, 'Logan Mills', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18979, 'Loganton', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18980, 'Rosecrans', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18981, 'Tylersville', 2818, '17747', '570', '41.027434', '-77.33076', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18982, 'Drocton', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18983, 'Drury Run', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18984, 'East Renovo', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18985, 'Farwell', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18986, 'Hammersley Fk', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18987, 'Leidy', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18988, 'Noyes', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18989, 'Renovo', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18990, 'Shintown', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18991, 'South Renovo', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18992, 'West Renovo', 2818, '17764', '570', '41.340208', '-77.774436', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18993, 'Lancaster', 2818, '17611', '717', '40.01', '-76.37', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18994, 'Eldora', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18995, 'Fulton', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18996, 'Furniss', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18997, 'Mcsparren', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18998, 'New Texas', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(18999, 'Oakryn', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19000, 'Peach Bottom', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19001, 'Penn Hill', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19002, 'Wrightsdale', 2818, '17563', '717', '39.768696', '-76.194305', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19003, 'Redrun', 2818, '17578', '717', '40.226721', '-76.17896', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19004, 'Schoeneck', 2818, '17578', '717', '40.226721', '-76.17896', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19005, 'Stevens', 2818, '17578', '717', '40.226721', '-76.17896', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19006, 'Mc Sherrystown', 2818, '17344', '717', '39.808121', '-77.018156', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19007, 'Mcsherrystown', 2818, '17344', '717', '39.808121', '-77.018156', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19008, 'Goodville', 2818, '17528', '717', '40.1257', '-76.0038', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19009, 'Gordonville', 2818, '17529', '717', '40.043286', '-76.102991', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19010, 'Nescopeck', 2818, '18635', '570', '41.02658', '-76.211126', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19011, 'Mocanaqua', 2818, '18655', '570', '41.19495', '-76.199225', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19012, 'Marshalls Creek', 2818, '18335', '570', '41.0434', '-75.1279', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19013, 'Marshalls Crk', 2818, '18335', '570', '41.0434', '-75.1279', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19014, 'Mountain Home', 2818, '18342', '570', '41.1739', '-75.2715', '2018-11-29 04:52:25', '2018-11-29 04:52:25'),\n(19015, 'Mountainhome', 2818, '18342', '570', '41.1739', '-75.2715', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19016, 'Mt Home', 2818, '18342', '570', '41.1739', '-75.2715', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19017, 'Pocono Summit', 2818, '18346', '570', '41.100162', '-75.411914', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19018, 'Portland', 2818, '18351', '570', '40.92158', '-75.097445', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19019, 'Saylorsburg', 2818, '18353', '570', '40.916068', '-75.361538', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19020, 'Bushkill', 2818, '18371', '570', '41.140304', '-74.937902', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19021, 'Lehman', 2818, '18371', '570', '41.140304', '-74.937902', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19022, 'Tamiment', 2818, '18371', '570', '41.140304', '-74.937902', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19023, 'Pleasant Mount', 2818, '18453', '570', '41.730514', '-75.377408', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19024, 'Pleasant Mt', 2818, '18453', '570', '41.730514', '-75.377408', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19025, 'S Sterling', 2818, '18460', '570', '41.265205', '-75.373216', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19026, 'South Sterling', 2818, '18460', '570', '41.265205', '-75.373216', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19027, 'Allentown', 2818, '18101', '610', '40.608131', '-75.468887', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19028, 'Albrightsville', 2818, '18210', '570', '40.970916', '-75.562645', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19029, 'Albrightsvlle', 2818, '18210', '570', '40.970916', '-75.562645', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19030, 'Lehightn Bor0', 2818, '18235', '610', '40.837518', '-75.693556', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19031, 'Lehighton', 2818, '18235', '610', '40.837518', '-75.693556', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19032, 'Lehighton Borough', 2818, '18235', '610', '40.837518', '-75.693556', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19033, 'Weissport', 2818, '18235', '610', '40.837518', '-75.693556', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19034, 'Mcadoo', 2818, '18237', '570', '40.886014', '-76.027334', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19035, 'Greentown', 2818, '18426', '570', '41.318277', '-75.233682', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19036, 'Cherryville', 2818, '18035', '610', '40.749399', '-75.540482', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19037, 'Kunkletown', 2818, '18058', '570', '40.889267', '-75.474276', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19038, 'Limeport', 2818, '18060', '610', '40.5088', '-75.4477', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19039, 'E Stroudsburg', 2818, '18301', '570', '41.04001', '-75.133372', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19040, 'East Stroudsburg', 2818, '18301', '570', '41.04001', '-75.133372', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19041, 'Lehman', 2818, '18301', '570', '41.04001', '-75.133372', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19042, 'Mar Lin', 2818, '17951', '570', '40.679679', '-76.244406', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19043, 'Middleport', 2818, '17953', '570', '40.727886', '-76.086987', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19044, 'Dorset', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19045, 'East Brunswick', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19046, 'Hecla', 2818, '17960', '570', '40.69904', '-75.953495', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19047, 'URB Sabana Llana', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19048, 'URB San Martin', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19049, 'URB Sevilla', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19050, 'URB Town Pk', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19051, 'URB Vosburg', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19052, '65th Infantry', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19053, 'Alt De Berwind', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19054, 'Bda El Polvorin', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19055, 'Bda Hernandez', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19056, 'Bda Santo Domingo', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19057, 'Ciudad Central I', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19058, 'Colinas De Monte Carlo', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19059, 'Colinas Verde', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19060, 'Ext Colinas Verde', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19061, 'Ext Town Park', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19062, 'Mans De San Martin', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19063, 'Parc Falu', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19064, 'Parc Hill Brothers', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19065, 'Rio Piedras', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19066, 'San Juan', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19067, 'Sect Los Penas', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19068, 'URB Berwind Est', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19069, 'URB Club Manor', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19070, 'URB Country Club', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19071, 'URB Delicias', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19072, 'URB El Cemi', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19073, 'URB El Comandante', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19074, 'URB Gonzalez Seijo', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19075, 'URB Highland Pk', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19076, 'URB La Vista', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19077, 'URB Las Virtudes', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19078, 'URB Luarca', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19079, 'URB Monte Carlo', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19080, 'URB Sunville', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19081, 'URB Wonderville', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19082, 'Valle San Juan', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19083, 'Villa Blanca', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19084, 'Villa De Caney', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19085, 'Villas Del Sol', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19086, 'Colinas De Bayoan', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19087, 'Est De Cerro Gordo', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19088, 'Ext Rexville', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19089, 'Parc Van Scoy', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19090, 'URB Alhambra', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19091, 'URB Bayamon Gdns', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19092, 'URB Bella Vista', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19093, 'URB Cana', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19094, 'URB Flamingo Hls', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:26', '2018-11-29 04:52:26'),\n(19095, 'URB Flamingo Ter', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19096, 'URB Los Dominicos', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19097, 'URB May Fair', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19098, 'URB Miraflores', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19099, 'URB Montanez', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19100, 'URB Panorama', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19101, 'URB Panorama Vlg', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19102, 'URB Patio De Rexville', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19103, 'URB Rexville', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19104, 'URB Royal Gdns', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19105, 'URB San Fernando', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19106, 'URB Sans Souci', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19107, 'URB Santa Catalina', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19108, 'URB Santa Elena', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19109, 'URB Santa Elenita', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19110, 'URB Santa Monica', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19111, 'URB Sierra Linda', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19112, 'Valle De Cerro Gordo', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19113, 'Villa Arrieta', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19114, 'Vista Alta', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19115, 'Bayamon', 2819, '00958', '787', '18.4008', '-66.1589', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19116, 'Bayamon', 2819, '00960', '787', '18.393064', '-66.154817', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19117, 'Alt De Cana', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19118, 'Alt De Sans Souci', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19119, 'Bayamon', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19120, 'Bda Calderon', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(19121, 'Bo Los Angeles', 2819, '00957', '787', '18.36724', '-66.185126', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19122, 'Villa Capri', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19123, 'Villa Navarra', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19124, 'Villa Olimpica', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19125, 'Villa Prades', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19126, 'Villa Rosales', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19127, 'Vista Del Atlantico', 2819, '00924', '787', '18.400569', '-66.00496', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19128, 'Est De San Geraldo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19129, 'Ext Alameda', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19130, 'Ext Mans De Vilanova', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19131, 'Ext Milaville', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19132, 'Hacienda De Carraizo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19133, 'Ind Victor Fernandez', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19134, 'Jard Botanico Sur', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19135, 'Jard De Caldas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19136, 'Mans Colinas De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19137, 'Mans De Caldas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19138, 'Mans De Park Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19139, 'Mans De Rio Piedras', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19140, 'Mans De Romany', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19141, 'Mans De Villanova', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19142, 'Palmares De Monteverde', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19143, 'Parq Senorial', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19144, 'Paseo Alto', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19145, 'Paseo De La Fuente', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19146, 'Paseo Del Parque', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19147, 'Paseo Del Prado', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19148, 'Paseo Las Brisas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19149, 'Paseo Las Vistas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19150, 'Paseo Mayor', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19151, 'Paseo Real', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19152, 'Paseo San Juan', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19153, 'Qtas De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19154, 'Repto Contemporaneo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19155, 'Repto De Diego', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19156, 'Repto Oyola', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19157, 'Repto Universitario', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19158, 'Repto Veterano', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19159, 'Rio Piedras', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19160, 'San Juan', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19161, 'Sect Betancourt', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19162, 'Sect Hoyo', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19163, 'Sect La Corte', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19164, 'Sect La Marina', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19165, 'Sect Paracochero', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19166, 'URB Alamein', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19167, 'URB Beverly Hills Ct', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19168, 'URB Borinquen Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19169, 'URB Caldas', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19170, 'URB Cambridge Park', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19171, 'URB Caribe', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19172, 'URB Carmen Hls', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19173, 'URB Crown Hls', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19174, 'URB Cupey Gdns', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19175, 'URB El Cerezal', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19176, 'URB El Dorado', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19177, 'URB El Escorial', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:27', '2018-11-29 04:52:27'),\n(19178, 'URB El Mirador', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19179, 'URB El Mirador De Cupey', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19180, 'URB El Paraiso', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19181, 'URB El Pilar', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19182, 'URB El Remanso', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19183, 'URB El Senorial', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19184, 'URB El Vigia', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19185, 'URB Experimental', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19186, 'URB Fairview', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19187, 'URB Garcia', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19188, 'URB Hill Mansions', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19189, 'URB Hillside', 2819, '00926', '787', '18.34646', '-66.062461', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19190, 'Fdez Juncos', 2819, '00910', '787', '18.45', '-66.07', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19191, 'Fernandez Juncos', 2819, '00910', '787', '18.45', '-66.07', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19192, 'San Juan', 2819, '00910', '787', '18.45', '-66.07', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19193, 'Jard De Mamey', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19194, 'Jard De Patillas', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19195, 'Parq Del Sol', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19196, 'Patillas', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19197, 'Portales De Jacaboa', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19198, 'URB El Paraiso', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19199, 'URB Mariani', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19200, 'URB San Benito', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19201, 'URB San Jose', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19202, 'URB San Martin', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19203, 'Valle Alto', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19204, 'Valle De La Providencia', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19205, 'Villas De Patillas', 2819, '00723', '787', '18.025158', '-66.010668', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19206, 'Sect Brisas Del Rosario', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19207, 'Sect El Lido', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19208, 'Sect Lomba', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19209, 'Sect Miraflores', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19210, 'URB Brasilia', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19211, 'URB Cabo Caribe', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19212, 'URB Camino Del Sol', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19213, 'URB Ciara Del Sol', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19214, 'URB El Rosario', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19215, 'URB El Verde', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19216, 'URB Guarico', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19217, 'URB La Cruv', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19218, 'URB Las Delicias', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19219, 'URB Las Flores', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19220, 'URB Las Terrenas', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19221, 'URB Los Almendros', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19222, 'URB Los Hucares', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19223, 'URB Monte Carlo', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19224, 'URB Ocean Front', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19225, 'URB San Agustin', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19226, 'URB San Demetrio', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19227, 'URB San Vicente', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19228, 'URB Vega Baja Lakes', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19229, 'URB Vega Serena', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19230, 'Vega Baja', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19231, 'Villa Del Rosario', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19232, 'Villa Los Pescadores', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19233, 'Villa Pinares', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19234, 'Villa Real', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19235, 'Villa Rosa 2', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19236, 'Villas De La Playa', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19237, 'Vista Verde', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19238, 'Alt De Vega Baja', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19239, 'Bda Collazo', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19240, 'Bda Sandin', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19241, 'Bo Algarrobo', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19242, 'Bo Carmelita', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19243, 'Bo La Trocha', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19244, 'Bo Las Granjas', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19245, 'Bo Ojo De Agua', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19246, 'Bo Pueblo Nuevo', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19247, 'Carolina', 2819, '00986', '787', '18.3828', '-65.9578', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19248, 'Sect Pueblo Nuevo', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19249, 'URB Barinas', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19250, 'URB Buena Vista', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19251, 'URB Costa Sur', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19252, 'URB El Rocio', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19253, 'URB El Rosario', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19254, 'URB Hill View', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19255, 'URB La Quinta', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19256, 'URB Los Angeles', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19257, 'URB Los Pinos', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:28', '2018-11-29 04:52:28'),\n(19258, 'URB Luchetti', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19259, 'URB Mifedo', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19260, 'Brisas De Luquillo', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19261, 'Brisas Del Mar', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19262, 'Est Del Atlantico', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19263, 'Hacienda Margarita', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19264, 'Hacienda Paloma', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19265, 'Hacienda Paloma Ii', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19266, 'Luquillo', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19267, 'URB Alamar', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19268, 'URB Costa Azul', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19269, 'URB Los Paisajes', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19270, 'URB Luquillo Lomas', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19271, 'URB Luquillo Mar', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19272, 'URB Paisaje Del Lago', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19273, 'URB River Edge Hl', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19274, 'URB Solimar', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19275, 'URB Vilomar', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19276, 'Villa Angelina', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19277, 'Vistas De Luquillo', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19278, 'Vistas De Luquillo Ii', 2819, '00773', '787', '18.338815', '-65.720102', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19279, 'Culebra', 2819, '00775', '787', '18.313697', '-65.294233', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19280, 'Puerto Real', 2819, '00740', '787', '18.338024', '-65.593093', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19281, 'Valle Puerto Real', 2819, '00740', '787', '18.338024', '-65.593093', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19282, 'Ceiba', 2819, '00742', '787', '18.2666', '-65.6482', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19283, 'Roosevelt Rds', 2819, '00742', '787', '18.2666', '-65.6482', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19284, 'Roosevelt Roads', 2819, '00742', '787', '18.2666', '-65.6482', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19285, 'Brisas De Emajaguas', 2819, '00707', '787', '18.012675', '-65.915522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19286, 'Jard Los Almendros', 2819, '00707', '787', '18.012675', '-65.915522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19287, 'Maunabo', 2819, '00707', '787', '18.012675', '-65.915522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19288, 'URB San Pedro', 2819, '00707', '787', '18.012675', '-65.915522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19289, 'Villa Alegre', 2819, '00707', '787', '18.012675', '-65.915522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19290, 'Villas De Maunabo', 2819, '00707', '787', '18.012675', '-65.915522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19291, 'Utuado', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19292, 'Bo Lavadero', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19293, 'Colinas Del Oeste', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19294, 'Est Del Rio', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19295, 'Hacienda La Monserrate', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19296, 'Haciendas Constancia', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19297, 'Bucksport', 2821, '29527', '843', '33.762595', '-79.15324', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19298, 'Conway', 2821, '29527', '843', '33.762595', '-79.15324', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19299, 'Coward', 2821, '29530', '843', '33.985334', '-79.742346', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19300, 'Awendaw', 2821, '29429', '843', '32.953846', '-79.687598', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19301, 'Goose Creek', 2821, '29445', '843', '32.98908', '-79.993356', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19302, 'Effingham', 2821, '29541', '843', '34.067265', '-79.726488', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19303, 'Hartsville', 2821, '29550', '843', '34.394586', '-80.081746', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19304, 'Spartanburg', 2821, '29307', '864', '34.988254', '-81.824524', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19305, 'Sptbg', 2821, '29307', '864', '34.988254', '-81.824524', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19306, 'Boiling Spgs', 2821, '29316', '864', '35.041985', '-81.975943', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19307, 'Boiling Springs', 2821, '29316', '864', '35.041985', '-81.975943', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19308, 'Spartanburg', 2821, '29316', '864', '35.041985', '-81.975943', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19309, 'Blenheim', 2821, '29516', '843', '34.428394', '-79.649201', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19310, 'Cades', 2821, '29518', '843', '33.785346', '-79.818246', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19311, 'Hebron', 2821, '29518', '843', '33.785346', '-79.818246', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19312, 'Clio', 2821, '29525', '843', '34.54456', '-79.533836', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19313, 'Branchville', 2821, '29432', '803', '33.249452', '-80.788673', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19314, 'De Kalb', 2821, '29175', '803', '34.429784', '-80.603522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19315, 'Dekalb', 2821, '29175', '803', '34.429784', '-80.603522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19316, 'Westville', 2821, '29175', '803', '34.429784', '-80.603522', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19317, 'Brittons Neck', 2821, '29546', '843', '33.864583', '-79.353691', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19318, 'Gresham', 2821, '29546', '843', '33.864583', '-79.353691', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19319, 'Columbia', 2821, '29230', '803', '34.0009', '-81.0353', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19320, 'Aynor', 2821, '29544', '843', '33.994298', '-79.181232', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19321, 'Galivants Ferry', 2821, '29544', '843', '33.994298', '-79.181232', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19322, 'Galivants Fry', 2821, '29544', '843', '33.994298', '-79.181232', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19323, 'Conway', 2821, '29528', '843', '33.8364', '-79.0483', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19324, 'Bethera', 2821, '29430', '843', '33.177308', '-79.789112', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19325, 'Moncks Corner', 2821, '29430', '843', '33.177308', '-79.789112', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19326, 'Green Pond', 2821, '29446', '843', '32.664878', '-80.525257', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19327, 'Greenpond', 2821, '29446', '843', '32.664878', '-80.525257', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19328, 'Grover', 2821, '29447', '843', '33.1052', '-80.5951', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19329, 'White Rock', 2821, '29177', '803', '34.14073', '-81.269228', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19330, 'Spartanburg', 2821, '29302', '864', '34.884741', '-81.850483', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19331, 'Sptbg', 2821, '29302', '864', '34.884741', '-81.850483', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19332, 'Spartanburg', 2821, '29303', '864', '34.995042', '-81.98219', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19333, 'Sptbg', 2821, '29303', '864', '34.995042', '-81.98219', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19334, 'Dennys Corporation', 2821, '29319', '864', '34.9497', '-81.9325', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19335, 'Spartanburg', 2821, '29319', '864', '34.9497', '-81.9325', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19336, 'Sptbg', 2821, '29319', '864', '34.9497', '-81.9325', '2018-11-29 04:52:29', '2018-11-29 04:52:29'),\n(19337, 'Buffalo', 2821, '29321', '864', '34.720986', '-81.740744', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19338, 'Ritter', 2821, '29488', '843', '32.918354', '-80.699316', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19339, 'Walterboro', 2821, '29488', '843', '32.918354', '-80.699316', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19340, 'Florence', 2821, '29503', '843', '34.1954', '-79.7629', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19341, 'Cheraw', 2821, '29520', '843', '34.66612', '-79.91062', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19342, 'Cross', 2821, '29436', '843', '33.338773', '-80.19452', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19343, 'Dorchester', 2821, '29437', '843', '33.139646', '-80.409542', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19344, 'Edisto', 2821, '29438', '843', '32.567722', '-80.308946', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19345, 'Edisto Beach', 2821, '29438', '843', '32.567722', '-80.308946', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19346, 'Edisto Island', 2821, '29438', '843', '32.567722', '-80.308946', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19347, 'Jacksonboro', 2821, '29452', '843', '32.74015', '-80.495852', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19348, 'Columbia', 2821, '29201', '803', '33.986628', '-81.024826', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19349, 'Market Center', 2821, '29201', '803', '33.986628', '-81.024826', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19350, 'Olympia', 2821, '29201', '803', '33.986628', '-81.024826', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19351, 'State Hospital', 2821, '29201', '803', '33.986628', '-81.024826', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19352, 'Bendale', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19353, 'Columbia', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19354, 'Crafts Farrow', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19355, 'Crane Forest', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19356, 'Denny Terrace', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19357, 'Eau Claire', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19358, 'Fairfield Terrace', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19359, 'Farrow Terrace', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19360, 'Greenview', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19361, 'Charleston', 2821, '29422', '843', '32.7765', '-79.9312', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19362, 'Ladson', 2821, '29485', '843', '32.947923', '-80.189161', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19363, 'Lincolnville', 2821, '29485', '843', '32.947923', '-80.189161', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19364, 'Summ', 2821, '29485', '843', '32.947923', '-80.189161', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19365, 'Summerville', 2821, '29485', '843', '32.947923', '-80.189161', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19366, 'Wadmalaw Is', 2821, '29487', '843', '32.650998', '-80.171374', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19367, 'Wadmalaw Island', 2821, '29487', '843', '32.650998', '-80.171374', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19368, 'Florence', 2821, '29502', '843', '34.1954', '-79.7629', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19369, 'Centenary', 2821, '29519', '843', '34.027342', '-79.36858', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19370, 'Dillon', 2821, '29536', '843', '34.42374', '-79.372282', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19371, 'Cottageville', 2821, '29435', '843', '32.958015', '-80.470652', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19372, 'Folly Beach', 2821, '29439', '843', '32.669611', '-79.949812', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19373, 'West Columbia', 2821, '29171', '803', '33.9933', '-81.0743', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19374, 'Campobello', 2821, '29322', '864', '35.10266', '-82.133136', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19375, 'Kingstree', 2821, '29556', '843', '33.685038', '-79.778058', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19376, 'Lake City', 2821, '29560', '843', '33.851802', '-79.749798', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19377, 'Columbia', 2821, '29290', '803', '34.0009', '-81.0353', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19378, 'Spartanburg', 2821, '29301', '864', '34.933641', '-82.010242', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19379, 'Sptbg', 2821, '29301', '864', '34.933641', '-82.010242', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19380, 'Spartanburg', 2821, '29306', '864', '34.899522', '-81.926117', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19381, 'Sptbg', 2821, '29306', '864', '34.899522', '-81.926117', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19382, 'Johnsonville', 2821, '29555', '843', '33.861862', '-79.475282', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19383, 'Poston', 2821, '29555', '843', '33.861862', '-79.475282', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19384, 'Spartanburg', 2821, '29304', '864', '34.9497', '-81.9325', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19385, 'Sptbg', 2821, '29304', '864', '34.9497', '-81.9325', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19386, 'Florence', 2821, '29504', '843', '34.1954', '-79.7629', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19387, 'Florence', 2821, '29505', '843', '34.121082', '-79.689242', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19388, 'Jamestown', 2821, '29453', '843', '33.20556', '-79.619787', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19389, 'Shulerville', 2821, '29453', '843', '33.20556', '-79.619787', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19390, 'Columbia', 2821, '29202', '803', '34.024354', '-81.028813', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19391, 'Pleasant View', 2823, '37146', '615', '36.400668', '-87.04363', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19392, 'Shelbyville', 2823, '37162', '931', '35.485', '-86.4602', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19393, 'Southside', 2823, '37171', '931', '36.367391', '-87.302249', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19394, 'Donelson', 2823, '37214', '615', '36.167891', '-86.660456', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19395, 'Nashville', 2823, '37214', '615', '36.167891', '-86.660456', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19396, 'Nashville', 2823, '37219', '615', '36.16756', '-86.78392', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19397, 'Nashvle', 2823, '37219', '615', '36.16756', '-86.78392', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19398, 'Bellevue', 2823, '37221', '615', '36.059068', '-86.959797', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19399, 'Nashville', 2823, '37221', '615', '36.059068', '-86.959797', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19400, 'Beershba Spgs', 2823, '37305', '931', '35.479305', '-85.647836', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19401, 'Beersheba Springs', 2823, '37305', '931', '35.479305', '-85.647836', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19402, 'Cleveland', 2823, '37312', '423', '35.226876', '-84.873307', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19403, 'Cleveld', 2823, '37312', '423', '35.226876', '-84.873307', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19404, 'Coker Creek', 2823, '37314', '423', '35.2658', '-84.2859', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19405, 'Dayton', 2823, '37321', '423', '35.505889', '-85.03965', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19406, 'Cleveland', 2823, '37323', '423', '35.099864', '-84.822885', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19407, 'Cleveld', 2823, '37323', '423', '35.099864', '-84.822885', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19408, 'Clevelnd', 2823, '37323', '423', '35.099864', '-84.822885', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19409, 'Grand View', 2823, '37337', '423', '35.782208', '-84.88264', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19410, 'Grandview', 2823, '37337', '423', '35.782208', '-84.88264', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19411, 'Gruetli', 2823, '37339', '931', '35.367812', '-85.710068', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19412, 'Gruetli Laager', 2823, '37339', '931', '35.367812', '-85.710068', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19413, 'Gruetli Laagr', 2823, '37339', '931', '35.367812', '-85.710068', '2018-11-29 04:52:30', '2018-11-29 04:52:30'),\n(19414, 'Laager', 2823, '37339', '931', '35.367812', '-85.710068', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19415, 'Mc Donald', 2823, '37353', '423', '35.126652', '-84.972206', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19416, 'Manchester', 2823, '37355', '931', '35.512156', '-86.068708', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19417, 'Old Fort', 2823, '37362', '423', '35.056005', '-84.645686', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19418, 'Cleveland', 2823, '37364', '423', '35.1595', '-84.8764', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19419, 'Bakewell', 2823, '37373', '423', '35.396008', '-85.116422', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19420, 'Sale Creek', 2823, '37373', '423', '35.396008', '-85.116422', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19421, 'Whiteside', 2823, '37396', '423', '35.053708', '-85.399644', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19422, 'Winchester', 2823, '37398', '931', '35.197573', '-86.129957', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19423, 'Chattanooga', 2823, '37421', '423', '35.02924', '-85.155118', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19424, 'Kingsport', 2823, '37664', '423', '36.501079', '-82.509546', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19425, 'Milligan', 2823, '37682', '423', '36.3017', '-82.2994', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19426, 'Milligan Coll', 2823, '37682', '423', '36.3017', '-82.2994', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19427, 'Milligan College', 2823, '37682', '423', '36.3017', '-82.2994', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19428, 'Caryville', 2823, '37714', '423', '36.296176', '-84.249752', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19429, 'Corryton', 2823, '37721', '865', '36.128968', '-83.811937', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19430, 'Crab Orchard', 2823, '37723', '931', '35.96233', '-84.809525', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19431, 'Jacksboro', 2823, '37757', '423', '36.29274', '-84.143656', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19432, 'Lone Mountain', 2823, '37773', '423', '36.3914', '-83.5855', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19433, 'Maynardville', 2823, '37807', '865', '36.263332', '-83.829417', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19434, 'Morristown', 2823, '37814', '423', '36.228212', '-83.326292', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19435, 'Morristown', 2823, '37816', '423', '36.2137', '-83.2952', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19436, 'Pigeon Forge', 2823, '37864', '865', '35.8681', '-83.5619', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19437, 'Sevierville', 2823, '37864', '865', '35.8681', '-83.5619', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19438, 'Sharps Chapel', 2823, '37866', '865', '36.354537', '-83.859386', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19439, 'Straw Plains', 2823, '37871', '865', '36.048871', '-83.700032', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19440, 'Strawberry Plains', 2823, '37871', '865', '36.048871', '-83.700032', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19441, 'Townsend', 2823, '37882', '865', '35.623491', '-83.795153', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19442, 'Knoxville', 2823, '37916', '865', '35.952714', '-83.932934', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19443, 'Brunswick', 2823, '38014', '901', '35.2664', '-89.7686', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19444, 'Macon', 2823, '38048', '901', '35.1532', '-89.4918', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19445, 'Maury City', 2823, '38050', '731', '35.81573', '-89.222922', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19446, 'Moscow', 2823, '38057', '901', '35.076544', '-89.351224', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19447, 'Tipton', 2823, '38071', '901', '35.4137', '-89.819', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19448, 'Miston', 2823, '38080', '731', '36.251857', '-89.546253', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19449, 'Ridgely', 2823, '38080', '731', '36.251857', '-89.546253', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19450, 'Mem', 2823, '38105', '901', '35.152245', '-90.034648', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19451, 'Memphis', 2823, '38105', '901', '35.152245', '-90.034648', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19452, 'Mphs', 2823, '38105', '901', '35.152245', '-90.034648', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19453, 'Mem', 2823, '38107', '901', '35.172514', '-90.017269', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19454, 'Memphis', 2823, '38107', '901', '35.172514', '-90.017269', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19455, 'Mphs', 2823, '38107', '901', '35.172514', '-90.017269', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19456, 'Mem', 2823, '38114', '901', '35.099027', '-89.98843', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19457, 'Memphis', 2823, '38114', '901', '35.099027', '-89.98843', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19458, 'Mphs', 2823, '38114', '901', '35.099027', '-89.98843', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19459, 'Mem', 2823, '38116', '901', '35.034154', '-90.011699', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19460, 'Memphis', 2823, '38116', '901', '35.034154', '-90.011699', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19461, 'Mphs', 2823, '38116', '901', '35.034154', '-90.011699', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19462, 'Hickory Hill', 2823, '38125', '901', '35.029154', '-89.777046', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19463, 'Mem', 2823, '38125', '901', '35.029154', '-89.777046', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19464, 'Memphis', 2823, '38125', '901', '35.029154', '-89.777046', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19465, 'Mphs', 2823, '38125', '901', '35.029154', '-89.777046', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19466, 'Mem', 2823, '38141', '901', '35.014612', '-89.854254', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19467, 'Memphis', 2823, '38141', '901', '35.014612', '-89.854254', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19468, 'Mphs', 2823, '38141', '901', '35.014612', '-89.854254', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19469, 'First Tenn National Bank', 2823, '38148', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19470, 'Mem', 2823, '38148', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19471, 'Memphis', 2823, '38148', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19472, 'Mphs', 2823, '38148', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19473, 'Mem', 2823, '38150', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19474, 'Memphis', 2823, '38150', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19475, 'Mphs', 2823, '38150', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19476, 'Suntrust Bank', 2823, '38150', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19477, 'Memphis', 2823, '38157', '901', '35.113073', '-89.891931', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19478, 'Memphis', 2823, '38166', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19479, 'Southeast Area', 2823, '38166', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19480, 'Mem', 2823, '38173', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19481, 'Memphis', 2823, '38173', '901', '35.1497', '-90.0487', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19482, 'Como', 2823, '38223', '731', '36.2933', '-88.5119', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19483, 'Hornbeak', 2823, '38232', '731', '36.350544', '-89.333184', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19484, 'Palmersville', 2823, '38241', '731', '36.423807', '-88.607838', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19485, 'Trimble', 2823, '38259', '731', '36.198873', '-89.169304', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19486, 'Milledgeville', 2823, '38359', '731', '35.377472', '-88.367691', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19487, 'Lawton', 2823, '38375', '731', '35.157792', '-88.603708', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19488, 'Selmer', 2823, '38375', '731', '35.157792', '-88.603708', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19489, 'Denmark', 2823, '38391', '731', '35.54528', '-88.988342', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19490, 'Minor Hill', 2823, '38473', '931', '35.035791', '-87.141996', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19491, 'Alpine', 2823, '38543', '931', '36.371396', '-85.160674', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19492, 'Campaign', 2823, '38550', '931', '35.7707', '-85.6312', '2018-11-29 04:52:31', '2018-11-29 04:52:31'),\n(19493, 'Westhoff', 2824, '77994', '830', '29.158779', '-97.495905', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19494, 'Camp Verde', 2824, '78010', '830', '29.899522', '-99.015481', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19495, 'Center Point', 2824, '78010', '830', '29.899522', '-99.015481', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19496, 'Charlotte', 2824, '78011', '830', '28.836109', '-98.695062', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19497, 'Christine', 2824, '78012', '830', '28.806082', '-98.490642', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19498, 'Comfort', 2824, '78013', '830', '29.968944', '-98.821687', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19499, 'Kerrville', 2824, '78029', '830', '30.0472', '-99.1401', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19500, 'El Cenizo', 2824, '78046', '956', '27.37501', '-99.455742', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19501, 'Laredo', 2824, '78046', '956', '27.37501', '-99.455742', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19502, 'Oakville', 2824, '78060', '361', '28.4575', '-98.0437', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19503, 'Cestohowa', 2824, '78113', '830', '28.926921', '-98.143182', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19504, 'Falls City', 2824, '78113', '830', '28.926921', '-98.143182', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19505, 'Mccoy', 2824, '78113', '830', '28.926921', '-98.143182', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19506, 'Pawelekville', 2824, '78113', '830', '28.926921', '-98.143182', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19507, 'Kempner', 2824, '76539', '254', '31.095876', '-98.002333', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19508, 'Rumley', 2824, '76539', '254', '31.095876', '-98.002333', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19509, 'Killeen', 2824, '76543', '254', '31.109378', '-97.669959', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19510, 'Milano', 2824, '76556', '512', '30.72648', '-96.793922', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19511, 'Blooming Grove', 2824, '76626', '903', '32.076533', '-96.686736', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19512, 'Omaha', 2824, '75571', '903', '33.223108', '-94.76974', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19513, 'De Berry', 2824, '75639', '903', '32.277308', '-94.195252', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19514, 'East Side', 2824, '75639', '903', '32.277308', '-94.195252', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19515, 'Domino', 2824, '75572', '903', '33.217464', '-94.149188', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19516, 'Lanark', 2824, '75572', '903', '33.217464', '-94.149188', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19517, 'Queen City', 2824, '75572', '903', '33.217464', '-94.149188', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19518, 'Springdale', 2824, '75572', '903', '33.217464', '-94.149188', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19519, 'West Jordan', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19520, 'West Valley', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19521, 'West Valley City', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19522, 'Wj', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19523, 'Wjrd', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19524, 'Gold Hill', 2825, '84083', '435', '40.271368', '-113.195372', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19525, 'Greenhaven', 2825, '84083', '435', '40.271368', '-113.195372', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19526, 'Partoun', 2825, '84083', '435', '40.271368', '-113.195372', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19527, 'Trout Creek', 2825, '84083', '435', '40.271368', '-113.195372', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19528, 'Wendover', 2825, '84083', '435', '40.271368', '-113.195372', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19529, 'Emigration Canyon', 2825, '84108', '801', '40.786551', '-111.736963', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19530, 'Emigratn Cyn', 2825, '84108', '801', '40.786551', '-111.736963', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19531, 'Salt Lake City', 2825, '84108', '801', '40.786551', '-111.736963', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19532, 'Salt Lake Cty', 2825, '84108', '801', '40.786551', '-111.736963', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19533, 'Slc', 2825, '84108', '801', '40.786551', '-111.736963', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19534, 'S Salt Lake', 2825, '84115', '801', '40.714178', '-111.893089', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19535, 'Salt Lake City', 2825, '84115', '801', '40.714178', '-111.893089', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19536, 'Salt Lake Cty', 2825, '84115', '801', '40.714178', '-111.893089', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19537, 'Slc', 2825, '84115', '801', '40.714178', '-111.893089', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19538, 'South Salt Lake', 2825, '84115', '801', '40.714178', '-111.893089', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19539, 'Ssl', 2825, '84115', '801', '40.714178', '-111.893089', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19540, 'Holladay', 2825, '84124', '801', '40.67642', '-111.731053', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19541, 'Millcreek', 2825, '84124', '801', '40.67642', '-111.731053', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19542, 'Salt Lake City', 2825, '84124', '801', '40.67642', '-111.731053', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19543, 'Salt Lake Cty', 2825, '84124', '801', '40.67642', '-111.731053', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19544, 'Slc', 2825, '84124', '801', '40.67642', '-111.731053', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19545, 'Salt Lake City', 2825, '84131', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19546, 'Salt Lake Cty', 2825, '84131', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19547, 'Slc', 2825, '84131', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19548, 'Salt Lake City', 2825, '84158', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(19549, 'Salt Lake Cty', 2825, '84158', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19550, 'Slc', 2825, '84158', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19551, 'S Salt Lake', 2825, '84165', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19552, 'Salt Lake City', 2825, '84165', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19553, 'Salt Lake Cty', 2825, '84165', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19554, 'Slc', 2825, '84165', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19555, 'South Salt Lake', 2825, '84165', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19556, 'Ssl', 2825, '84165', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19557, 'Salt Lake City', 2825, '84199', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19558, 'Salt Lake Cty', 2825, '84199', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19559, 'Slc', 2825, '84199', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19560, 'Us Postal Service', 2825, '84199', '801', '40.7606', '-111.8903', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19561, 'Internal Revenue Service', 2825, '84201', '801', '41.2234', '-111.9731', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19562, 'Ogden', 2825, '84201', '801', '41.2234', '-111.9731', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19563, 'Cornish', 2825, '84308', '435', '41.94801', '-112.052768', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19564, 'Utida', 2825, '84308', '435', '41.94801', '-112.052768', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19565, 'Bonanza', 2825, '84008', '435', '40.0194', '-109.1767', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19566, 'Coalville', 2825, '84017', '435', '40.965826', '-111.223424', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19567, 'Hoytsville', 2825, '84017', '435', '40.965826', '-111.223424', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19568, 'Pine Cliff', 2825, '84017', '435', '40.965826', '-111.223424', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19569, 'Upton', 2825, '84017', '435', '40.965826', '-111.223424', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19570, 'Wanship', 2825, '84017', '435', '40.965826', '-111.223424', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19571, 'Dugway', 2825, '84022', '435', '40.363053', '-113.069716', '2018-11-29 04:52:32', '2018-11-29 04:52:32'),\n(19572, 'Terra', 2825, '84022', '435', '40.363053', '-113.069716', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19573, 'Bottle Hollow', 2825, '84026', '435', '40.301279', '-109.835644', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19574, 'Fort Duchesne', 2825, '84026', '435', '40.301279', '-109.835644', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19575, 'Gusher', 2825, '84026', '435', '40.301279', '-109.835644', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19576, 'Ouray', 2825, '84026', '435', '40.301279', '-109.835644', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19577, 'Midway', 2825, '84049', '435', '40.526723', '-111.525084', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19578, 'Hill AFB', 2825, '84056', '801', '41.128044', '-111.97232', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19579, 'Hill Air Force Base', 2825, '84056', '801', '41.128044', '-111.97232', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19580, 'Hillfield', 2825, '84056', '801', '41.128044', '-111.97232', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19581, 'Tridell', 2825, '84076', '435', '40.470213', '-109.816047', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19582, 'W Jordan', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19583, 'W Valley', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19584, 'W Valley City', 2825, '84081', '801', '40.599394', '-112.041675', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19585, 'West Bountiful', 2825, '84087', '801', '40.891358', '-111.931429', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19586, 'Woods Cross', 2825, '84087', '801', '40.891358', '-111.931429', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19587, 'Salt Lake City', 2825, '84102', '801', '40.75958', '-111.8624', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19588, 'Salt Lake Cty', 2825, '84102', '801', '40.75958', '-111.8624', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19589, 'Slc', 2825, '84102', '801', '40.75958', '-111.8624', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19590, 'Salt Lake City', 2825, '84104', '801', '40.749546', '-111.96657', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19591, 'Salt Lake Cty', 2825, '84104', '801', '40.749546', '-111.96657', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19592, 'Slc', 2825, '84104', '801', '40.749546', '-111.96657', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19593, 'Brighton', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19594, 'Cottonwd Hgts', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19595, 'Cottonwood', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19596, 'Cottonwood Heights', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19597, 'Cottonwood Heights City', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19598, 'Holladay', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19599, 'Holladay Cottonwood', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19600, 'Holladay Ctwd', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19601, 'Murray', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19602, 'Salt Lake City', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19603, 'Salt Lake Cty', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19604, 'Slc', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19605, 'Solitude', 2825, '84121', '801', '40.616622', '-111.709504', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19606, 'Beneficial Life Insurance', 2825, '84136', '801', '40.7606', '-111.8903', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19607, 'Salt Lake City', 2825, '84136', '801', '40.7606', '-111.8903', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19608, 'Salt Lake Cty', 2825, '84136', '801', '40.7606', '-111.8903', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19609, 'Slc', 2825, '84136', '801', '40.7606', '-111.8903', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19610, 'Salt Lake City', 2825, '84138', '801', '40.7689', '-111.8867', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19611, 'Salt Lake Cty', 2825, '84138', '801', '40.7689', '-111.8867', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19612, 'Slc', 2825, '84138', '801', '40.7689', '-111.8867', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19613, 'Brigham', 2825, '84302', '435', '41.511006', '-112.143314', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19614, 'Brigham City', 2825, '84302', '435', '41.511006', '-112.143314', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19615, 'Bushnell', 2825, '84302', '435', '41.511006', '-112.143314', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19616, 'Perry', 2825, '84302', '435', '41.511006', '-112.143314', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19617, 'Cove', 2825, '84320', '435', '41.953956', '-111.842375', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19618, 'Lewiston', 2825, '84320', '435', '41.953956', '-111.842375', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19619, 'Snowville', 2825, '84336', '435', '41.804184', '-112.658514', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19620, 'Ogden', 2825, '84403', '801', '41.176267', '-111.913002', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19621, 'South Ogden', 2825, '84403', '801', '41.176267', '-111.913002', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19622, 'South Weber', 2825, '84403', '801', '41.176267', '-111.913002', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19623, 'Uintah', 2825, '84403', '801', '41.176267', '-111.913002', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19624, 'Farr West', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19625, 'Harrisville', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19626, 'Marriott', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19627, 'Marriott Slaterville', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19628, 'Marriott-Slaterville City', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19629, 'Nephi', 2825, '84648', '435', '39.571212', '-111.969622', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19630, 'Springville', 2825, '84663', '801', '40.225164', '-111.491577', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19631, 'Mapleton', 2825, '84664', '801', '40.113547', '-111.579104', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19632, 'Springville', 2825, '84664', '801', '40.113547', '-111.579104', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19633, 'Angle', 2825, '84712', '435', '37.940376', '-112.135834', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19634, 'Antimony', 2825, '84712', '435', '37.940376', '-112.135834', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19635, 'Glendale', 2825, '84729', '435', '37.351054', '-112.636225', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19636, 'Greenwich', 2825, '84732', '435', '38.453452', '-111.9043', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19637, 'Brookside', 2825, '84782', '435', '37.347848', '-113.685979', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19638, 'Veyo', 2825, '84782', '435', '37.347848', '-113.685979', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19639, 'Eagle Mountain', 2825, '84005', '385', '40.321532', '-112.004986', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19640, 'Eagle Mtn', 2825, '84005', '385', '40.321532', '-112.004986', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19641, 'Lehi', 2825, '84005', '385', '40.321532', '-112.004986', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19642, 'Draper', 2825, '84020', '801', '40.492959', '-111.87034', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19643, 'Arcadia', 2825, '84021', '435', '40.070195', '-110.473976', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19644, 'Bridgeland', 2825, '84021', '435', '40.070195', '-110.473976', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19645, 'Duchesne', 2825, '84021', '435', '40.070195', '-110.473976', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19646, 'Myton', 2825, '84052', '435', '40.035308', '-110.052912', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19647, 'Neola', 2825, '84053', '435', '40.503479', '-110.101849', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19648, 'Bauer', 2825, '84071', '435', '40.254106', '-112.372046', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19649, 'Ophir', 2825, '84071', '435', '40.254106', '-112.372046', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19650, 'South Rim', 2825, '84071', '435', '40.254106', '-112.372046', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19651, 'Stockton', 2825, '84071', '435', '40.254106', '-112.372046', '2018-11-29 04:52:33', '2018-11-29 04:52:33'),\n(19652, 'W Bountiful', 2825, '84087', '801', '40.891358', '-111.931429', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19653, 'Bountiful', 2825, '84010', '801', '40.876161', '-111.823544', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19654, 'Val Verda', 2825, '84010', '801', '40.876161', '-111.823544', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19655, 'W Bountiful', 2825, '84010', '801', '40.876161', '-111.823544', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19656, 'West Bountiful', 2825, '84010', '801', '40.876161', '-111.823544', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19657, 'Woods Cross', 2825, '84010', '801', '40.876161', '-111.823544', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19658, 'Magna', 2825, '84044', '801', '40.866982', '-112.22144', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19659, 'Pleasant Green', 2825, '84044', '801', '40.866982', '-112.22144', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19660, 'Lehi', 2825, '84045', '385', '40.346595', '-111.914564', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19661, 'Saratoga Spgs', 2825, '84045', '385', '40.346595', '-111.914564', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19662, 'Saratoga Springs', 2825, '84045', '385', '40.346595', '-111.914564', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19663, 'Deer Valley', 2825, '84060', '435', '40.648452', '-111.49896', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19664, 'Park City', 2825, '84060', '435', '40.648452', '-111.49896', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19665, 'Cedar Hills', 2825, '84062', '801', '40.395009', '-111.713361', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19666, 'Pl Grove', 2825, '84062', '801', '40.395009', '-111.713361', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19667, 'Pleasant Grove', 2825, '84062', '801', '40.395009', '-111.713361', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19668, 'Pleasant Grv', 2825, '84062', '801', '40.395009', '-111.713361', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19669, 'Dry Fork', 2825, '84078', '435', '40.160181', '-109.54784', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19670, 'Maeser', 2825, '84078', '435', '40.160181', '-109.54784', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19671, 'Naples', 2825, '84078', '435', '40.160181', '-109.54784', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19672, 'Vernal', 2825, '84078', '435', '40.160181', '-109.54784', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19673, 'Vernal', 2825, '84079', '435', '40.4559', '-109.5283', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19674, 'Salt Lake City', 2825, '84111', '801', '40.756098', '-111.8839', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19675, 'Salt Lake Cty', 2825, '84111', '801', '40.756098', '-111.8839', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19676, 'Slc', 2825, '84111', '801', '40.756098', '-111.8839', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19677, 'Salt Lake City', 2825, '84127', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19678, 'Salt Lake Cty', 2825, '84127', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19679, 'Slc', 2825, '84127', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19680, 'Salt Lake City', 2825, '84128', '801', '40.696701', '-112.043996', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19681, 'Salt Lake Cty', 2825, '84128', '801', '40.696701', '-112.043996', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19682, 'Slc', 2825, '84128', '801', '40.696701', '-112.043996', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19683, 'W Valley City', 2825, '84128', '801', '40.696701', '-112.043996', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19684, 'West Valley', 2825, '84128', '801', '40.696701', '-112.043996', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19685, 'West Valley City', 2825, '84128', '801', '40.696701', '-112.043996', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19686, 'Salt Lake City', 2825, '84147', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19687, 'Salt Lake Cty', 2825, '84147', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19688, 'Slc', 2825, '84147', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19689, 'Salt Lake City', 2825, '84180', '801', '40.770145', '-111.90072', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19690, 'Salt Lake Cty', 2825, '84180', '801', '40.770145', '-111.90072', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19691, 'Slc', 2825, '84180', '801', '40.770145', '-111.90072', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19692, 'Internal Revenue Service', 2825, '84244', '801', '41.2234', '-111.9731', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19693, 'Ogden', 2825, '84244', '801', '41.2234', '-111.9731', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19694, 'Fielding', 2825, '84311', '435', '41.82541', '-112.122796', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19695, 'Garland', 2825, '84312', '435', '41.793815', '-112.186324', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19696, 'Etna', 2825, '84313', '435', '41.496784', '-113.26777', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19697, 'Grouse Creek', 2825, '84313', '435', '41.496784', '-113.26777', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19698, 'Avon', 2825, '84328', '435', '41.537347', '-111.874534', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19699, 'Paradise', 2825, '84328', '435', '41.537347', '-111.874534', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19700, 'Bountiful', 2825, '84011', '801', '40.8895', '-111.8802', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19701, 'Fruitland', 2825, '84027', '435', '40.158536', '-110.98408', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19702, 'Burmester', 2825, '84029', '435', '40.753716', '-112.536972', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19703, 'Grantsville', 2825, '84029', '435', '40.753716', '-112.536972', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19704, 'Lakeside', 2825, '84029', '435', '40.753716', '-112.536972', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19705, 'Skull Valley', 2825, '84029', '435', '40.753716', '-112.536972', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19706, 'Peoa', 2825, '84061', '435', '40.75585', '-111.301986', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19707, 'Rockport', 2825, '84061', '435', '40.75585', '-111.301986', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19708, 'Randlett', 2825, '84063', '435', '40.200198', '-109.724286', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19709, 'Faust', 2825, '84080', '435', '40.067599', '-112.357265', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19710, 'Vernon', 2825, '84080', '435', '40.067599', '-112.357265', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19711, 'Cottonwd Hgts', 2825, '84093', '801', '40.596974', '-111.826214', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19712, 'Cottonwood Heights', 2825, '84093', '801', '40.596974', '-111.826214', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19713, 'Sandy', 2825, '84093', '801', '40.596974', '-111.826214', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19714, 'Herriman', 2825, '84096', '801', '40.489182', '-112.050722', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19715, 'Riverton', 2825, '84096', '801', '40.489182', '-112.050722', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19716, 'Salt Lake City', 2825, '84110', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19717, 'Salt Lake Cty', 2825, '84110', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19718, 'Slc', 2825, '84110', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19719, 'Salt Lake City', 2825, '84145', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19720, 'Salt Lake Cty', 2825, '84145', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19721, 'Slc', 2825, '84145', '801', '40.7606', '-111.8903', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19722, 'Park Valley', 2825, '84329', '435', '41.637283', '-113.362686', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19723, 'Rosette', 2825, '84329', '435', '41.637283', '-113.362686', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19724, 'Ogden', 2825, '84412', '801', '41.2231', '-111.9732', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19725, 'Mexican Hat', 2825, '84531', '435', '37.159146', '-109.998632', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19726, 'Moroni', 2825, '84646', '435', '39.523051', '-111.612019', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19727, 'Bluebell', 2825, '84007', '435', '40.326046', '-110.339275', '2018-11-29 04:52:34', '2018-11-29 04:52:34'),\n(19728, 'Upalco', 2825, '84007', '435', '40.326046', '-110.339275', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19729, 'Dutch John', 2825, '84023', '435', '40.82783', '-109.309694', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19730, 'Greendale', 2825, '84023', '435', '40.82783', '-109.309694', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19731, 'Red Canyon', 2825, '84023', '435', '40.82783', '-109.309694', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19732, 'Lapoint', 2825, '84039', '435', '40.397014', '-109.810246', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19733, 'Littleton', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19734, 'Milton', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19735, 'Morgan', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19736, 'Mountain Green', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19737, 'Mtn Green', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19738, 'Peterson', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19739, 'Porterville', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19740, 'Richville', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19741, 'Stoddard', 2825, '84050', '801', '41.010461', '-111.678166', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19742, 'Bonnie', 2825, '84057', '801', '40.312798', '-111.726202', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19743, 'Bunker', 2825, '84057', '801', '40.312798', '-111.726202', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19744, 'Clyde', 2825, '84057', '801', '40.312798', '-111.726202', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19745, 'Orem', 2825, '84057', '801', '40.312798', '-111.726202', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19746, 'Vineyard', 2825, '84057', '801', '40.312798', '-111.726202', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19747, 'Orem', 2825, '84059', '801', '40.2966', '-111.6936', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19748, 'Ballard', 2825, '84066', '435', '40.539654', '-110.400413', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19749, 'Ioka', 2825, '84066', '435', '40.539654', '-110.400413', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19750, 'Leeton', 2825, '84066', '435', '40.539654', '-110.400413', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19751, 'Monarch', 2825, '84066', '435', '40.539654', '-110.400413', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19752, 'Roosevelt', 2825, '84066', '435', '40.539654', '-110.400413', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19753, 'Talmage', 2825, '84073', '435', '40.243876', '-110.559088', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19754, 'Murray', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19755, 'S Salt Lake', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19756, 'Salt Lake City', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19757, 'Salt Lake Cty', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19758, 'Slc', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19759, 'So Salt Lake', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19760, 'Ssl', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19761, 'Taylorsville', 2825, '84123', '801', '40.658749', '-111.919971', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19762, 'Salt Lake City', 2825, '84148', '801', '40.7606', '-111.8903', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19763, 'Salt Lake Cty', 2825, '84148', '801', '40.7606', '-111.8903', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19764, 'Slc', 2825, '84148', '801', '40.7606', '-111.8903', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19765, 'Veterans Administration Hosp', 2825, '84148', '801', '40.7606', '-111.8903', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19766, 'Church Of Jesus Christ/lds', 2825, '84150', '801', '40.7606', '-111.8903', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19767, 'Salt Lake City', 2825, '84150', '801', '40.7606', '-111.8903', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19768, 'Catharpin', 2826, '20143', '703', '38.848754', '-77.566119', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19769, 'Ashburn', 2826, '20146', '703', '39.0438', '-77.4879', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19770, 'Dulles', 2826, '20146', '703', '39.0438', '-77.4879', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19771, 'New Baltimore', 2826, '20187', '540', '38.722686', '-77.741378', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19772, 'Vint Hill Farms', 2826, '20187', '540', '38.722686', '-77.741378', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19773, 'Vint Hill Frm', 2826, '20187', '540', '38.722686', '-77.741378', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19774, 'Warrenton', 2826, '20187', '540', '38.722686', '-77.741378', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19775, 'Herndon', 2826, '20194', '703', '38.982667', '-77.341454', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19776, 'Reston', 2826, '20194', '703', '38.982667', '-77.341454', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19777, 'Herndon', 2826, '20195', '703', '38.9768', '-77.3485', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19778, 'Reston', 2826, '20195', '703', '38.9768', '-77.3485', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19779, 'Manassas', 2826, '20110', '703', '38.746216', '-77.489106', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19780, 'Sterling', 2826, '20163', '703', '39.006', '-77.429', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19781, 'Centreville', 2826, '20120', '703', '38.85981', '-77.466616', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19782, 'Sully Station', 2826, '20120', '703', '38.85981', '-77.466616', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19783, 'Centreville', 2826, '20121', '703', '38.815894', '-77.460849', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19784, 'Orlean', 2826, '20128', '540', '38.7508', '-77.9626', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19785, 'Gainesville', 2826, '20155', '703', '38.813292', '-77.633941', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19786, 'Haymarket', 2826, '20168', '703', '38.8726', '-77.6484', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19787, 'Paeonian Spgs', 2826, '20129', '540', '39.163444', '-77.601207', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19788, 'Paeonian Springs', 2826, '20129', '540', '39.163444', '-77.601207', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19789, 'Manassas', 2826, '20112', '703', '38.66484', '-77.4339', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19790, 'Lovettsville', 2826, '20180', '540', '39.268742', '-77.629255', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19791, 'Delaplane', 2826, '20144', '540', '38.929195', '-77.938679', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19792, 'Herndon', 2826, '20196', '703', '38.9628', '-77.3372', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19793, 'Hundon', 2826, '20196', '703', '38.9628', '-77.3372', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19794, 'Reston', 2826, '20196', '703', '38.9628', '-77.3372', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19795, 'Sprint', 2826, '20196', '703', '38.9628', '-77.3372', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19796, 'Waterford', 2826, '20197', '540', '39.192409', '-77.6253', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19797, 'Frederiksted', 2827, '00840', '340', '17.712409', '-64.882164', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19798, 'Christiansted', 2827, '00824', '340', '17.7488', '-64.7039', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19799, 'St Croix', 2827, '00824', '340', '17.7488', '-64.7039', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19800, 'Frederiksted', 2827, '00841', '340', '17.7147', '-64.8818', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19801, 'Turtle Lake', 2830, '54889', '715', '45.410477', '-92.17604', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19802, 'Washburn', 2830, '54891', '715', '46.702833', '-91.077753', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19803, 'De Soto', 2830, '54624', '608', '43.427884', '-91.156772', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19804, 'Victory', 2830, '54624', '608', '43.427884', '-91.156772', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19805, 'La Farge', 2830, '54639', '608', '43.607684', '-90.636278', '2018-11-29 04:52:35', '2018-11-29 04:52:35'),\n(19806, 'West Lima', 2830, '54639', '608', '43.607684', '-90.636278', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19807, 'Mather', 2830, '54641', '608', '44.18027', '-90.252474', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19808, 'Chippewa Falls', 2830, '54774', '715', '44.9367', '-91.3928', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19809, 'Chippewa Fls', 2830, '54774', '715', '44.9367', '-91.3928', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19810, 'Mason Shoe', 2830, '54774', '715', '44.9367', '-91.3928', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19811, 'Kennan', 2830, '54537', '715', '45.529698', '-90.596349', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19812, 'Land O Lakes', 2830, '54540', '715', '46.155133', '-89.358226', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19813, 'Phelps', 2830, '54554', '715', '46.065273', '-89.057186', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19814, 'Elk', 2830, '54555', '715', '45.741362', '-90.373277', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19815, 'Hackett', 2830, '54555', '715', '45.741362', '-90.373277', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19816, 'Fremont', 2830, '54940', '920', '44.2055', '-88.840245', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19817, 'Tustin', 2830, '54940', '920', '44.2055', '-88.840245', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19818, 'Greenville', 2830, '54942', '920', '44.301443', '-88.54681', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19819, 'Modena', 2830, '54755', '715', '44.57425', '-91.699264', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19820, 'Mondovi', 2830, '54755', '715', '44.57425', '-91.699264', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19821, 'Mikana', 2830, '54857', '715', '45.59582', '-91.598505', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19822, 'Siren', 2830, '54872', '715', '45.770426', '-92.405974', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19823, 'Wascott', 2830, '54890', '715', '46.1726', '-91.7983', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19824, 'Miles Kimball Co', 2830, '54906', '920', '44.0247', '-88.5426', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19825, 'Oshkosh', 2830, '54906', '920', '44.0247', '-88.5426', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19826, 'Coon Valley', 2830, '54623', '608', '43.740766', '-91.050056', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19827, 'Lynxville', 2830, '54640', '608', '43.3507', '-91.1018', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19828, 'Wheeler', 2830, '54772', '715', '45.094091', '-91.870806', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19829, 'Almena', 2830, '54805', '715', '45.409731', '-92.032672', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19830, 'Fifield', 2830, '54524', '715', '45.844364', '-90.403675', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19831, 'Lac Du Flambeau', 2830, '54538', '715', '45.92821', '-89.907396', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19832, 'Lac Du Flambu', 2830, '54538', '715', '45.92821', '-89.907396', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19833, 'Lake Tomahawk', 2830, '54539', '715', '45.794273', '-89.571112', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19834, 'Blackwell', 2830, '54541', '715', '45.550394', '-88.659092', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19835, 'Laona', 2830, '54541', '715', '45.550394', '-88.659092', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19836, 'Soldier Grove', 2830, '54655', '608', '43.365548', '-90.776691', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19837, 'Soldiers Grove', 2830, '54655', '608', '43.365548', '-90.776691', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19838, 'Bay City', 2830, '54723', '715', '44.623206', '-92.417586', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19839, 'Bloomer', 2830, '54724', '715', '45.102752', '-91.481378', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19840, 'Eagleton', 2830, '54724', '715', '45.102752', '-91.481378', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19841, 'Ringle', 2830, '54471', '715', '44.933906', '-89.426271', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19842, 'Bear Creek', 2830, '54922', '715', '44.54646', '-88.768014', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19843, 'Gordon', 2830, '54838', '715', '46.265806', '-91.800658', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19844, 'Wascott', 2830, '54838', '715', '46.265806', '-91.800658', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19845, 'Grantsburg', 2830, '54840', '715', '45.74655', '-92.699106', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19846, 'Neenah', 2830, '54956', '920', '44.178748', '-88.510875', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19847, 'Neenah', 2830, '54957', '920', '44.1859', '-88.4626', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19848, 'Rosendale', 2830, '54974', '920', '43.78085', '-88.659728', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19849, 'Foxboro', 2830, '54836', '715', '46.444994', '-92.17159', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19850, 'Bateman', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19851, 'Chippewa Falls', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19852, 'Chippewa Fls', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19853, 'Eagle Point', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19854, 'Hallie', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19855, 'Lafayette', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19856, 'Lake Hallie', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19857, 'Lake Wissota', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19858, 'Tilden', 2830, '54729', '715', '44.946203', '-91.40844', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19859, 'Downing', 2830, '54734', '715', '45.088768', '-92.120347', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19860, 'Durand', 2830, '54736', '715', '44.600116', '-91.899664', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19861, 'Gilmanton', 2830, '54743', '715', '44.4708', '-91.6759', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19862, 'Hatfield', 2830, '54754', '715', '44.439903', '-90.796693', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19863, 'Merrillan', 2830, '54754', '715', '44.439903', '-90.796693', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19864, 'Webster', 2830, '54893', '715', '45.859214', '-92.295856', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19865, 'Weyerhaeuser', 2830, '54895', '715', '45.430606', '-91.423996', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19866, 'Almond', 2830, '54909', '715', '44.276635', '-89.348453', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19867, 'Appleton', 2830, '54911', '920', '44.275824', '-88.374477', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19868, 'Grand Chute', 2830, '54911', '920', '44.275824', '-88.374477', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19869, 'Little Chute', 2830, '54911', '920', '44.275824', '-88.374477', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19870, 'Ettrick', 2830, '54627', '608', '44.168082', '-91.232658', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19871, 'Gile', 2830, '54525', '715', '46.424928', '-90.218255', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19872, 'Carey', 2830, '54534', '715', '46.397189', '-90.22972', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19873, 'Hurley', 2830, '54534', '715', '46.397189', '-90.22972', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19874, 'Kimball', 2830, '54534', '715', '46.397189', '-90.22972', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19875, 'Oma', 2830, '54534', '715', '46.397189', '-90.22972', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19876, 'Manitowish Waters', 2830, '54545', '715', '46.133867', '-89.837565', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19877, 'Manitowsh Wtr', 2830, '54545', '715', '46.133867', '-89.837565', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19878, 'Eisenstein', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:52:36', '2018-11-29 04:52:36'),\n(19879, 'Clintonville', 2830, '54929', '715', '44.639994', '-88.757782', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19880, 'Cameron', 2830, '54822', '715', '45.405004', '-91.664044', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19881, 'Grand View', 2830, '54839', '715', '46.336126', '-91.096069', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19882, 'Marengo', 2830, '54855', '715', '46.342631', '-90.8309', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19883, 'Iola', 2830, '54990', '715', '44.5083', '-89.1306', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19884, 'Krause Publ Co', 2830, '54990', '715', '44.5083', '-89.1306', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19885, 'Shawnee', 2832, '82229', '307', '42.891004', '-105.105578', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19886, 'Elmo', 2832, '82327', '307', '41.984137', '-106.56928', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19887, 'Hanna', 2832, '82327', '307', '41.984137', '-106.56928', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19888, 'Kortes Dam', 2832, '82327', '307', '41.984137', '-106.56928', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19889, 'Leo', 2832, '82327', '307', '41.984137', '-106.56928', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19890, 'Medicine Bow', 2832, '82329', '307', '42.062604', '-106.130732', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19891, 'Sinclair', 2832, '82334', '307', '41.808927', '-107.039511', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19892, 'Cowley', 2832, '82420', '307', '44.925098', '-108.43654', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19893, 'Rozet', 2832, '82727', '307', '44.185475', '-105.233658', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19894, 'Dayton', 2832, '82836', '307', '44.802242', '-107.544289', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19895, 'Evanston', 2832, '82931', '307', '41.2683', '-110.9625', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19896, 'Lonetree', 2832, '82936', '307', '41.03474', '-110.159142', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19897, 'Kelly', 2832, '83011', '307', '43.573896', '-110.373345', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19898, 'Big Piney', 2832, '83113', '307', '42.557275', '-110.282458', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19899, 'Cheyenne', 2832, '82005', '307', '41.166616', '-104.862589', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19900, 'Fe Warren AFB', 2832, '82005', '307', '41.166616', '-104.862589', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19901, 'Cheyenne', 2832, '82007', '307', '41.078368', '-104.871922', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19902, 'Centennial', 2832, '82055', '307', '41.305595', '-106.143232', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19903, 'Mammoth', 2832, '82190', '307', '44.567666', '-110.441332', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19904, 'Mammoth Hot Springs', 2832, '82190', '307', '44.567666', '-110.441332', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19905, 'Yellowstone National Park', 2832, '82190', '307', '44.567666', '-110.441332', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19906, 'Yelwstn Nl Pk', 2832, '82190', '307', '44.567666', '-110.441332', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19907, 'Prairie Center', 2832, '82240', '307', '42.0098', '-104.294598', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19908, 'Prairie Ctr', 2832, '82240', '307', '42.0098', '-104.294598', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19909, 'Torrington', 2832, '82240', '307', '42.0098', '-104.294598', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19910, 'Van Tassell', 2832, '82242', '307', '42.637859', '-104.088144', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19911, 'Dixon', 2832, '82323', '307', '41.109034', '-107.544468', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19912, 'Pavillion', 2832, '82523', '307', '43.45978', '-108.946198', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19913, 'Allendale', 2832, '82609', '307', '42.843126', '-106.276372', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19914, 'Bar Nunn', 2832, '82609', '307', '42.843126', '-106.276372', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19915, 'Casper', 2832, '82609', '307', '42.843126', '-106.276372', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19916, 'Osage', 2832, '82723', '307', '44.04375', '-104.433906', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19917, 'Pinedale', 2832, '82941', '307', '42.785306', '-109.727348', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19918, 'Point Of Rocks', 2832, '82942', '307', '41.708633', '-108.827235', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19919, 'Pt Of Rocks', 2832, '82942', '307', '41.708633', '-108.827235', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19920, 'Jelm', 2832, '82063', '307', '41.066066', '-106.026224', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19921, 'Laramie', 2832, '82063', '307', '41.066066', '-106.026224', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19922, 'Woods Landing', 2832, '82063', '307', '41.066066', '-106.026224', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19923, 'Pine Bluffs', 2832, '82082', '307', '41.253298', '-104.162311', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19924, 'Guernsey', 2832, '82214', '307', '42.246792', '-104.780286', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19925, 'Otto', 2832, '82434', '307', '44.409882', '-108.277813', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19926, 'Wapiti', 2832, '82450', '307', '44.4711', '-109.393', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19927, 'Fort Washakie', 2832, '82514', '307', '43.029622', '-108.903592', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19928, 'Hudson', 2832, '82515', '307', '42.844494', '-108.501596', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19929, 'Bill', 2832, '82633', '307', '42.89425', '-105.411908', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19930, 'Douglas', 2832, '82633', '307', '42.89425', '-105.411908', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19931, 'Orin', 2832, '82633', '307', '42.89425', '-105.411908', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19932, 'Gillette', 2832, '82717', '307', '44.43927', '-105.382017', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19933, 'Sheridan', 2832, '82801', '307', '44.805878', '-106.836869', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19934, 'Eden', 2832, '82932', '307', '42.008718', '-109.387077', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19935, 'Farson', 2832, '82932', '307', '42.008718', '-109.387077', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19936, 'Etna', 2832, '83118', '307', '43.156495', '-110.884672', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19937, 'Fairview', 2832, '83119', '307', '42.669515', '-111.016047', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19938, 'Rock Springs', 2832, '82942', '307', '41.708633', '-108.827235', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19939, 'Smoot', 2832, '83126', '307', '42.534034', '-110.901382', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19940, 'Parkerton', 2832, '82637', '307', '42.963055', '-105.857453', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19941, 'Rolling Hills', 2832, '82637', '307', '42.963055', '-105.857453', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19942, 'Beulah', 2832, '82712', '307', '44.513686', '-104.14178', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19943, 'Devils Tower', 2832, '82714', '307', '44.631479', '-104.8727', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19944, 'Leiter', 2832, '82837', '307', '44.7951', '-106.18974', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19945, 'Bear River', 2832, '82930', '307', '41.288046', '-110.762499', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19946, 'Evanston', 2832, '82930', '307', '41.288046', '-110.762499', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19947, 'Robertson', 2832, '82944', '307', '41.119134', '-110.549464', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19948, 'La Barge', 2832, '83123', '307', '42.157951', '-110.309785', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19949, 'Labarge', 2832, '83123', '307', '42.157951', '-110.309785', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19950, 'Cheyenne', 2832, '82008', '307', '41.1335', '-104.8169', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19951, 'Unicover Corp', 2832, '82008', '307', '41.1335', '-104.8169', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19952, 'Bosler', 2832, '82072', '307', '41.440378', '-105.521573', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19953, 'Foxpark', 2832, '82072', '307', '41.440378', '-105.521573', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19954, 'Jelm', 2832, '82072', '307', '41.440378', '-105.521573', '2018-11-29 04:52:37', '2018-11-29 04:52:37'),\n(19955, 'Laramie', 2832, '82072', '307', '41.440378', '-105.521573', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19956, 'Mountain Home', 2832, '82072', '307', '41.440378', '-105.521573', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19957, 'Laramie', 2832, '82073', '307', '41.3136', '-105.5806', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19958, 'Lingle', 2832, '82223', '307', '42.157252', '-104.311051', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19959, 'Rockeagle', 2832, '82223', '307', '42.157252', '-104.311051', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19960, 'Lost Springs', 2832, '82224', '307', '43.005951', '-104.821933', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19961, 'Encampment', 2832, '82325', '307', '41.161128', '-106.819094', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19962, 'Riverside', 2832, '82325', '307', '41.161128', '-106.819094', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19963, 'Shell', 2832, '82441', '307', '44.57981', '-107.735839', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19964, 'Linch', 2832, '82640', '307', '43.561042', '-106.153346', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19965, 'Lost Cabin', 2832, '82642', '307', '43.331602', '-107.723968', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19966, 'Lysite', 2832, '82642', '307', '43.331602', '-107.723968', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19967, 'Recluse', 2832, '82725', '307', '44.820342', '-105.776194', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19968, 'Cora', 2832, '82925', '307', '43.157622', '-109.854947', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19969, 'Afton', 2832, '83110', '307', '42.702194', '-110.903842', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19970, 'Turnerville', 2832, '83110', '307', '42.702194', '-110.903842', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19971, 'Opal', 2832, '83124', '307', '41.768278', '-110.240232', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19972, 'Star Valley Ranch', 2832, '83127', '307', '42.924899', '-110.984193', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19973, 'Star Vly Rnch', 2832, '83127', '307', '42.924899', '-110.984193', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19974, 'Thayne', 2832, '83127', '307', '42.924899', '-110.984193', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19975, 'Cheyenne', 2832, '82001', '307', '41.141842', '-104.779188', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19976, 'Fe Warren AFB', 2832, '82001', '307', '41.141842', '-104.779188', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19977, 'Cheyenne', 2832, '82010', '307', '41.1335', '-104.8169', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19978, 'Cheynne Shared Brm', 2832, '82010', '307', '41.1335', '-104.8169', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19979, 'Burns', 2832, '82053', '307', '41.245026', '-104.359342', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19980, 'Egbert', 2832, '82053', '307', '41.245026', '-104.359342', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19981, 'Hillsdale', 2832, '82060', '307', '41.207056', '-104.493202', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19982, 'Fort Laramie', 2832, '82212', '307', '42.21961', '-104.5536', '2018-11-29 04:52:38', '2018-11-29 04:52:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(19983, 'Jay Em', 2832, '82219', '307', '42.3497', '-104.354094', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19984, 'Lagrange', 2832, '82221', '307', '41.637166', '-104.35299', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19985, 'Yoder', 2832, '82244', '307', '42.014162', '-104.353946', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19986, 'Creston', 2832, '82301', '307', '41.754538', '-107.38299', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19987, 'Fort Steele', 2832, '82301', '307', '41.754538', '-107.38299', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19988, 'Muddy Gap', 2832, '82301', '307', '41.754538', '-107.38299', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19989, 'Rawlins', 2832, '82301', '307', '41.754538', '-107.38299', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19990, 'Riner', 2832, '82301', '307', '41.754538', '-107.38299', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19991, 'Walcott', 2832, '82335', '307', '41.81424', '-106.777822', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19992, 'Clark', 2832, '82435', '307', '44.731303', '-109.124826', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19993, 'Garland', 2832, '82435', '307', '44.731303', '-109.124826', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19994, 'Mantua', 2832, '82435', '307', '44.731303', '-109.124826', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19995, 'Odonnell Spur', 2832, '82435', '307', '44.731303', '-109.124826', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19996, 'Powell', 2832, '82435', '307', '44.731303', '-109.124826', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19997, 'Willwood', 2832, '82435', '307', '44.731303', '-109.124826', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19998, 'Casper', 2832, '82605', '307', '42.8508', '-106.3216', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(19999, 'Edgerton', 2832, '82635', '307', '43.403358', '-106.228133', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(20000, 'Glenrock', 2832, '82637', '307', '42.963055', '-105.857453', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(20001, 'Phoenix', 2782, '85023', '602', '33.631186', '-112.093201', '2018-11-29 04:52:38', '2018-11-29 04:52:38'),\n(20002, 'Phoenix', 2782, '85039', '623', '33.4869', '-112.3113', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20003, 'Phoenix', 2782, '85040', '602', '33.40715', '-112.025909', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20004, 'Phoenix', 2782, '85054', '480', '33.683424', '-111.95136', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20005, 'Maricopa', 2782, '85139', '520', '32.96189', '-112.122167', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20006, 'Mobile', 2782, '85139', '520', '32.96189', '-112.122167', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20007, 'Queen Creek', 2782, '85140', '520', '33.245483', '-111.530217', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20008, 'San Tan Valley', 2782, '85140', '520', '33.245483', '-111.530217', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20009, 'San Tan Vly', 2782, '85140', '520', '33.245483', '-111.530217', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20010, 'Stanfield', 2782, '85172', '520', '32.93627', '-111.928402', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20011, 'Valley Farms', 2782, '85191', '520', '32.984779', '-111.446965', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20012, 'Mesa', 2782, '85205', '480', '33.433576', '-111.718432', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20013, 'Mesa', 2782, '85208', '480', '33.404312', '-111.632641', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20014, 'Chandler', 2782, '85224', '480', '33.324126', '-111.876872', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20015, 'Chandler', 2782, '85225', '480', '33.326048', '-111.82442', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20016, 'Scottsdale', 2782, '85256', '480', '33.503825', '-111.784104', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20017, 'Scottsdale', 2782, '85258', '480', '33.560513', '-111.885972', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20018, 'Glendale', 2782, '85306', '602', '33.624895', '-112.177022', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20019, 'Bouse', 2782, '85325', '928', '33.963942', '-113.917074', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20020, 'Wellton', 2782, '85356', '928', '32.86568', '-114.195903', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20021, 'Wickenburg', 2782, '85358', '623', '33.9689', '-112.7286', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20022, 'Sun City', 2782, '85373', '623', '33.783098', '-112.364429', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20023, 'Payson', 2782, '85541', '928', '34.044276', '-111.23092', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20024, 'Star Valley', 2782, '85541', '928', '34.044276', '-111.23092', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20025, 'Pearce', 2782, '85625', '520', '31.924335', '-109.64416', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20026, 'Sunizona', 2782, '85625', '520', '31.924335', '-109.64416', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20027, 'Sunsites', 2782, '85625', '520', '31.924335', '-109.64416', '2018-11-29 04:52:39', '2018-11-29 04:52:39'),\n(20028, 'Bonita', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20029, 'Chiricahua National Monument', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20030, 'Dos Cabezas', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20031, 'Fort Grant', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20032, 'Ft Grant', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20033, 'Kansas Settlement', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20034, 'Klondyke', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20035, 'Rucker', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20036, 'Sierra Bonita', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20037, 'Sunset', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20038, 'Turkey Creek', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20039, 'Willcox', 2782, '85643', '520', '32.44412', '-109.802772', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20040, 'Mission', 2782, '85706', '520', '32.076994', '-110.898754', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20041, 'Tucson', 2782, '85706', '520', '32.076994', '-110.898754', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20042, 'Pima Community College', 2782, '85709', '520', '32.230328', '-111.016212', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20043, 'Tucson', 2782, '85709', '520', '32.230328', '-111.016212', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20044, 'Arizona Medical Center', 2782, '85724', '520', '32.2217', '-110.9259', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20045, 'Tucson', 2782, '85724', '520', '32.2217', '-110.9259', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20046, 'Tucson', 2782, '85741', '520', '32.33143', '-111.050525', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20047, 'Oro Valley', 2782, '85742', '520', '32.403137', '-111.087882', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20048, 'Tucson', 2782, '85742', '520', '32.403137', '-111.087882', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20049, 'Tucson', 2782, '85743', '520', '32.300289', '-111.165021', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20050, 'Eagar', 2782, '85925', '928', '33.88911', '-109.309176', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20051, 'Snowflake', 2782, '85942', '928', '34.5136', '-110.0776', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20052, 'Woodruff', 2782, '85942', '928', '34.5136', '-110.0776', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20053, 'Holbrook', 2782, '86025', '928', '34.906916', '-110.097564', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20054, 'First Mesa', 2782, '86042', '928', '35.92012', '-110.469887', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20055, 'Hano', 2782, '86042', '928', '35.92012', '-110.469887', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20056, 'Polacca', 2782, '86042', '928', '35.92012', '-110.469887', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20057, 'Sichomovi', 2782, '86042', '928', '35.92012', '-110.469887', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20058, 'Phoenix', 2782, '85005', '602', '33.4606', '-112.1289', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20059, 'Phoenix', 2782, '85006', '602', '33.465829', '-112.047708', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20060, 'Phoenix', 2782, '85007', '602', '33.445879', '-112.091161', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20061, 'Phoenix', 2782, '85021', '602', '33.560458', '-112.093686', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20062, 'Phoenix', 2782, '85022', '602', '33.625572', '-112.054559', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20063, 'Phoenix', 2782, '85038', '602', '33.4486', '-112.0733', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20064, 'Phoenix', 2782, '85072', '602', '33.4486', '-112.0733', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20065, 'Bapchule', 2782, '85121', '480', '32.98897', '-111.75675', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20066, 'Arizona City', 2782, '85123', '520', '32.74564', '-111.679252', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20067, 'Picacho', 2782, '85141', '520', '32.714283', '-111.497432', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20068, 'Apache Jct', 2782, '85190', '520', '0', '0', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20069, 'Tortilla Flat', 2782, '85190', '520', '0', '0', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20070, 'Mesa', 2782, '85207', '480', '33.456539', '-111.63255', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20071, 'Scottsdale', 2782, '85255', '480', '33.663643', '-111.8085', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20072, 'Scottsdale', 2782, '85257', '480', '33.458894', '-111.926374', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20073, 'Mesa', 2782, '85275', '602', '33.4225', '-111.8216', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20074, 'Glendale', 2782, '85307', '623', '33.529412', '-112.315634', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20075, 'Luke AFB', 2782, '85307', '623', '33.529412', '-112.315634', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20076, 'Black Canyon City', 2782, '85324', '623', '34.10512', '-111.856832', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20077, 'Black Cyn Cty', 2782, '85324', '623', '34.10512', '-111.856832', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20078, 'Rock Springs', 2782, '85324', '623', '34.10512', '-111.856832', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20079, 'Lukeville', 2782, '85341', '520', '31.918885', '-112.860023', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20080, 'Waddell', 2782, '85355', '623', '33.551798', '-112.414557', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20081, 'Wenden', 2782, '85357', '928', '33.892159', '-113.54541', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20082, 'Sun City', 2782, '85372', '623', '33.5977', '-112.2713', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20083, 'Miami', 2782, '85539', '928', '33.464501', '-110.980964', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20084, 'Morenci', 2782, '85540', '928', '32.996792', '-109.362371', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20085, 'Bay Acres', 2782, '85607', '520', '31.486183', '-109.420268', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20086, 'Douglas', 2782, '85607', '520', '31.486183', '-109.420268', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20087, 'Paul Spur', 2782, '85607', '520', '31.486183', '-109.420268', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20088, 'Douglas', 2782, '85608', '520', '31.578269', '-109.23042', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20089, 'Dragoon', 2782, '85609', '520', '32.054003', '-110.046703', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20090, 'Oracle', 2782, '85623', '520', '32.605302', '-110.803806', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20091, 'Topawa', 2782, '85639', '520', '31.760874', '-111.774791', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20092, 'Agua Linda', 2782, '85640', '520', '31.64175', '-110.962113', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20093, 'Carmen', 2782, '85640', '520', '31.64175', '-110.962113', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20094, 'Kinsley Ranch', 2782, '85640', '520', '31.64175', '-110.962113', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20095, 'Tumacacori', 2782, '85640', '520', '31.64175', '-110.962113', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20096, 'Corona', 2782, '85641', '520', '31.984346', '-110.685376', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20097, 'Corona De Tuc', 2782, '85641', '520', '31.984346', '-110.685376', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20098, 'Corona De Tucson', 2782, '85641', '520', '31.984346', '-110.685376', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20099, 'Santa Rita', 2782, '85641', '520', '31.984346', '-110.685376', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20100, 'Santa Rita Foothills', 2782, '85641', '520', '31.984346', '-110.685376', '2018-11-29 04:52:40', '2018-11-29 04:52:40'),\n(20101, 'Vail', 2782, '85641', '520', '31.984346', '-110.685376', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20102, 'Marana', 2782, '85658', '520', '32.524914', '-111.167824', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20103, 'Davis Monthan AFB', 2782, '85707', '520', '32.157555', '-110.840723', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20104, 'Dm AFB', 2782, '85707', '520', '32.157555', '-110.840723', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20105, 'Tucson', 2782, '85707', '520', '32.157555', '-110.840723', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20106, 'South Tucson', 2782, '85725', '520', '32.2217', '-110.9259', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20107, 'Tucson', 2782, '85725', '520', '32.2217', '-110.9259', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20108, 'Casas Adobes', 2782, '85740', '520', '32.2217', '-110.9259', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20109, 'Tucson', 2782, '85740', '520', '32.2217', '-110.9259', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20110, 'Mission', 2782, '85756', '520', '32.071354', '-110.90894', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20111, 'Tsn', 2782, '85756', '520', '32.071354', '-110.90894', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20112, 'Tucson', 2782, '85756', '520', '32.071354', '-110.90894', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20113, 'Tuscon', 2782, '85756', '520', '32.071354', '-110.90894', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20114, 'Tucson', 2782, '85757', '520', '32.138874', '-111.115018', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20115, 'Concho', 2782, '85924', '928', '34.42583', '-109.601286', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20116, 'Concho Valley', 2782, '85924', '928', '34.42583', '-109.601286', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20117, 'Fort Apache', 2782, '85926', '928', '34.054564', '-109.880196', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20118, 'Vernon', 2782, '85940', '928', '34.235434', '-109.644992', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20119, 'Flagstaff', 2782, '86024', '928', '34.649797', '-111.463538', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20120, 'Happy Jack', 2782, '86024', '928', '34.649797', '-111.463538', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20121, 'Red Lake', 2782, '86044', '928', '36.751695', '-110.92019', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20122, 'Tonalea', 2782, '86044', '928', '36.751695', '-110.92019', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20123, 'Cottonwood', 2782, '86326', '928', '34.63617', '-112.103482', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20124, 'Dewey', 2782, '86327', '928', '34.504182', '-112.18998', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20125, 'Hackberry', 2782, '86411', '928', '35.232229', '-113.576181', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20126, 'Kingman', 2782, '86411', '928', '35.232229', '-113.576181', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20127, 'Bullhead City', 2782, '86426', '928', '35.007476', '-114.56459', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20128, 'Fort Mohave', 2782, '86426', '928', '35.007476', '-114.56459', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20129, 'Houck', 2782, '86508', '928', '35.2933', '-109.065828', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20130, 'Lupton', 2782, '86508', '928', '35.2933', '-109.065828', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20131, 'Pinon', 2782, '86510', '928', '36.163748', '-110.308705', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20132, 'Cross Canyon', 2782, '86511', '928', '35.593134', '-109.2084', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20133, 'Hunters Point', 2782, '86511', '928', '35.593134', '-109.2084', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20134, 'Saint Michaels', 2782, '86511', '928', '35.593134', '-109.2084', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20135, 'St Michaels', 2782, '86511', '928', '35.593134', '-109.2084', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20136, 'Two Story', 2782, '86511', '928', '35.593134', '-109.2084', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20137, 'Rock Point', 2782, '86545', '928', '36.667668', '-109.555789', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20138, 'San Jose', 2783, '95101', '408', '37.3435', '-121.8887', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20139, 'San Jose', 2783, '95117', '408', '37.312676', '-121.965784', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20140, 'San Jose', 2783, '95118', '408', '37.25549', '-121.889477', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20141, 'Newport Beach', 2783, '92660', '949', '33.637966', '-117.873246', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20142, 'Balboa', 2783, '92662', '949', '33.60115', '-117.891139', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20143, 'Balboa Island', 2783, '92662', '949', '33.60115', '-117.891139', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20144, 'Newport Beach', 2783, '92662', '949', '33.60115', '-117.891139', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20145, 'Mission Viejo', 2783, '92692', '949', '33.604147', '-117.646728', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20146, 'San Juan Capistrano', 2783, '92692', '949', '33.604147', '-117.646728', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20147, 'San Juan Capo', 2783, '92692', '949', '33.604147', '-117.646728', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20148, 'Ladera Ranch', 2783, '92694', '949', '33.555519', '-117.644065', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20149, 'Mission Viejo', 2783, '92694', '949', '33.555519', '-117.644065', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20150, 'Santa Ana', 2783, '92711', '714', '33.7457', '-117.8669', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20151, 'Fountain Valley', 2783, '92728', '714', '33.7094', '-117.9526', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20152, 'Fountain Vly', 2783, '92728', '714', '33.7094', '-117.9526', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20153, 'Santa Ana', 2783, '92728', '714', '33.7094', '-117.9526', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20154, 'Anaheim', 2783, '92809', '714', '33.8444', '-117.9519', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20155, 'Anaheim Hills', 2783, '92809', '714', '33.8444', '-117.9519', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20156, 'Garden Grove', 2783, '92846', '626', '33.7875', '-117.9332', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20157, 'Corona', 2783, '92877', '909', '33.8754', '-117.5659', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20158, 'Santa Paula', 2783, '93060', '805', '34.381456', '-119.106004', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20159, 'Santa Susana', 2783, '93063', '805', '34.293104', '-118.687265', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20160, 'Simi Valley', 2783, '93063', '805', '34.293104', '-118.687265', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20161, 'Goleta', 2783, '93110', '805', '34.437933', '-119.769862', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20162, 'Santa Barbara', 2783, '93110', '805', '34.437933', '-119.769862', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20163, 'Goleta', 2783, '93111', '805', '34.454479', '-119.80085', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20164, 'Santa Barbara', 2783, '93111', '805', '34.454479', '-119.80085', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20165, 'Santa Barbara', 2783, '93130', '805', '34.4233', '-119.7035', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20166, 'Goleta', 2783, '93160', '805', '34.4233', '-119.7035', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20167, 'Santa Barbara', 2783, '93160', '805', '34.4233', '-119.7035', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20168, 'Corcoran', 2783, '93212', '559', '36.043518', '-119.545887', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20169, 'Lemon Cove', 2783, '93244', '559', '36.391727', '-118.98515', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20170, 'Lemoore', 2783, '93246', '559', '36.3008', '-119.7816', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20171, 'Lemoore Nas', 2783, '93246', '559', '36.3008', '-119.7816', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20172, 'Lemoore Naval Air Station', 2783, '93246', '559', '36.3008', '-119.7816', '2018-11-29 04:52:41', '2018-11-29 04:52:41'),\n(20173, 'Nas Lemoore', 2783, '93246', '559', '36.3008', '-119.7816', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20174, 'Naval Air Station Lemoore', 2783, '93246', '559', '36.3008', '-119.7816', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20175, 'Cairns Corner', 2783, '93247', '559', '36.219506', '-119.082482', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20176, 'Lindsay', 2783, '93247', '559', '36.219506', '-119.082482', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20177, 'Tonyville', 2783, '93247', '559', '36.219506', '-119.082482', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20178, 'Richgrove', 2783, '93261', '661', '35.81232', '-119.132758', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20179, 'Bakersfield', 2783, '93311', '661', '35.21092', '-119.202956', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20180, 'Bakersfield', 2783, '93314', '661', '35.404306', '-119.237126', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20181, 'Casmalia', 2783, '93429', '805', '34.83202', '-120.540292', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20182, 'Nipomo', 2783, '93444', '805', '35.039594', '-120.504725', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20183, 'Oceano', 2783, '93445', '805', '35.108158', '-120.613921', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20184, 'Ballard', 2783, '93463', '805', '34.603404', '-120.12301', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20185, 'Solvang', 2783, '93463', '805', '34.603404', '-120.12301', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20186, 'Solvang', 2783, '93464', '805', '34.5959', '-120.1364', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20187, 'Big Pine', 2783, '93513', '760', '37.270172', '-117.945086', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20188, 'Johannesburg', 2783, '93528', '760', '35.359685', '-117.676492', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20189, 'June Lake', 2783, '93529', '760', '37.807602', '-118.979044', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20190, 'June Lake Junction', 2783, '93529', '760', '37.807602', '-118.979044', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20191, 'Keeler', 2783, '93530', '760', '36.544036', '-117.94714', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20192, 'Keene', 2783, '93531', '661', '35.246458', '-118.60072', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20193, 'Argus', 2783, '93562', '760', '35.664973', '-117.379417', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20194, 'Ballarat', 2783, '93562', '760', '35.664973', '-117.379417', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20195, 'Pioneer Point', 2783, '93562', '760', '35.664973', '-117.379417', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20196, 'Trona', 2783, '93562', '760', '35.664973', '-117.379417', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20197, 'Tehachapi', 2783, '93581', '661', '35.1322', '-118.4484', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20198, 'Kingsburg', 2783, '93631', '559', '36.487668', '-119.502982', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20199, 'Shaver Lake', 2783, '93664', '559', '37.148508', '-119.058174', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20200, 'Fresno', 2783, '93715', '209', '36.7475', '-119.7716', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20201, 'Fresno', 2783, '93729', '559', '36.7475', '-119.7716', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20202, 'Fresno', 2783, '93747', '559', '36.7475', '-119.7716', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20203, 'Fresno', 2783, '93764', '559', '36.7475', '-119.7716', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20204, 'Fresno City Utilities', 2783, '93764', '559', '36.7475', '-119.7716', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20205, 'Fresno', 2783, '93779', '559', '36.7475', '-119.7716', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20206, 'Broadmoor Vlg', 2783, '94015', '650', '37.675954', '-122.47618', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20207, 'Daly City', 2783, '94015', '650', '37.675954', '-122.47618', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20208, 'S San Fran', 2783, '94080', '650', '37.657846', '-122.423128', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20209, 'S San Francisco', 2783, '94080', '650', '37.657846', '-122.423128', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20210, 'South San Francisco', 2783, '94080', '650', '37.657846', '-122.423128', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20211, 'Ssf', 2783, '94080', '650', '37.657846', '-122.423128', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20212, 'San Francisco', 2783, '94114', '415', '37.758229', '-122.439512', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20213, 'San Francisco', 2783, '94130', '415', '37.820117', '-122.36897', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20214, 'San Francisco', 2783, '94131', '415', '37.746416', '-122.443587', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20215, 'San Francisco', 2783, '94132', '415', '37.723012', '-122.484759', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20216, 'San Francisco', 2783, '94164', '415', '37.7753', '-122.4186', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20217, 'Sacramento', 2783, '94246', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20218, 'Sacramento', 2783, '94247', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20219, 'Sacramento', 2783, '94249', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20220, 'Sacramento', 2783, '94280', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20221, 'Sacramento', 2783, '94297', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20222, 'Sacramento', 2783, '94298', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20223, 'Ca State Govt Brm', 2783, '94299', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20224, 'Sacramento', 2783, '94299', '916', '38.5819', '-121.4935', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20225, 'Calistoga', 2783, '94515', '707', '38.61842', '-122.585518', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20226, 'Antioch', 2783, '94531', '925', '37.956612', '-121.785171', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20227, 'Hercules', 2783, '94547', '510', '38.008414', '-122.259363', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20228, 'Rodeo', 2783, '94547', '510', '38.008414', '-122.259363', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20229, 'Lafayette', 2783, '94549', '925', '37.890106', '-122.105996', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20230, 'Livermore', 2783, '94550', '925', '37.509776', '-121.638874', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20231, 'Napa', 2783, '94581', '707', '38.2975', '-122.2845', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20232, 'San Ramon', 2783, '94582', '925', '37.763537', '-121.91206', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20233, 'Bel Marin Keyes', 2783, '94949', '415', '38.069771', '-122.544476', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20234, 'Ignacio', 2783, '94949', '415', '38.069771', '-122.544476', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20235, 'Novato', 2783, '94949', '415', '38.069771', '-122.544476', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20236, 'Marin City', 2783, '94965', '415', '37.847226', '-122.53114', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20237, 'Muir Beach', 2783, '94965', '415', '37.847226', '-122.53114', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20238, 'Sausalito', 2783, '94965', '415', '37.847226', '-122.53114', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20239, 'Firemans Fund Ins', 2783, '94998', '415', '38.1076', '-122.5688', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20240, 'Novato', 2783, '94998', '415', '38.1076', '-122.5688', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20241, 'Davenport', 2783, '95017', '831', '37.056948', '-122.217442', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20242, 'Milpitas', 2783, '95035', '408', '37.422039', '-121.816591', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20243, 'Santa Clara', 2783, '95050', '408', '37.351479', '-121.950818', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20244, 'Santa Clara', 2783, '95051', '408', '37.350372', '-121.98475', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20245, 'Santa Cruz', 2783, '95065', '831', '37.034585', '-121.981339', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20246, 'Santa Cruz', 2783, '95067', '831', '36.9742', '-122.0297', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20247, 'Scotts Valley', 2783, '95067', '831', '36.9742', '-122.0297', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20248, 'Redwood Est', 2783, '95044', '408', '37.1564', '-121.9856', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20249, 'Redwood Estates', 2783, '95044', '408', '37.1564', '-121.9856', '2018-11-29 04:52:42', '2018-11-29 04:52:42'),\n(20250, 'Santa Clara', 2783, '95053', '408', '37.34946', '-121.937567', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20251, 'Santa Clara University', 2783, '95053', '408', '37.34946', '-121.937567', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20252, 'Santa Clara', 2783, '95055', '408', '37.3524', '-121.9584', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20253, 'Saratoga', 2783, '95071', '408', '37.2636', '-122.0218', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20254, 'Clinton', 2785, '06413', '860', '41.298722', '-72.535996', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20255, 'Derby', 2785, '06418', '203', '41.326886', '-73.081896', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20256, 'Wauregan', 2785, '06387', '860', '41.7443', '-71.9127', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20257, 'West Wauregan', 2785, '06387', '860', '41.7443', '-71.9127', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20258, 'Norwich', 2785, '06360', '860', '41.549099', '-72.0914', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20259, 'Norwichtown', 2785, '06360', '860', '41.549099', '-72.0914', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20260, 'Occum', 2785, '06360', '860', '41.549099', '-72.0914', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20261, 'Poquetanuck', 2785, '06360', '860', '41.549099', '-72.0914', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20262, 'West Hartford', 2785, '06117', '860', '41.77787', '-72.756911', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20263, 'West Hartfrd', 2785, '06117', '860', '41.77787', '-72.756911', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20264, 'Hartford', 2785, '06119', '860', '41.763783', '-72.72709', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20265, 'W Hartford', 2785, '06119', '860', '41.763783', '-72.72709', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20266, 'Hartford', 2785, '06176', '860', '41.7638', '-72.6859', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20267, 'Hfd', 2785, '06176', '860', '41.7638', '-72.6859', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20268, 'Htfd', 2785, '06176', '860', '41.7638', '-72.6859', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20269, 'Irs', 2785, '06176', '860', '41.7638', '-72.6859', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20270, 'Chaplin', 2785, '06235', '860', '41.789356', '-72.127949', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20271, 'Mansfield Center', 2785, '06235', '860', '41.789356', '-72.127949', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20272, 'Mansfield Ctr', 2785, '06235', '860', '41.789356', '-72.127949', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20273, 'North Windham', 2785, '06235', '860', '41.789356', '-72.127949', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20274, 'Walter Reed Army Med Center', 2786, '20307', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20275, 'Washington', 2786, '20307', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20276, 'Chief Naval Operation', 2786, '20350', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20277, 'General Delivery', 2786, '20090', '202', '38.9009', '-77.0075', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20278, 'Washington', 2786, '20090', '202', '38.9009', '-77.0075', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20279, 'Natl Repub Cong Comm', 2786, '20097', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20280, 'Washington', 2786, '20097', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20281, 'Washington', 2786, '20039', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20282, 'Bank Of America', 2786, '20055', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20283, 'Washington', 2786, '20055', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20284, 'National Academy Of Science', 2786, '20418', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20285, 'Washington', 2786, '20418', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20286, 'Bureau Labor Statistics', 2786, '20214', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20287, 'Washington', 2786, '20214', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20288, 'Labor Management Admin', 2786, '20216', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20289, 'Washington', 2786, '20216', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20290, 'Us Secret Service', 2786, '20223', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20291, 'Washington', 2786, '20223', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20292, 'Resolution Trust Corporation', 2786, '20434', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20293, 'Washington', 2786, '20434', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20294, 'Inter Amer Defense Board', 2786, '20441', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20295, 'Washington', 2786, '20441', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20296, 'Gsa Surplus Sales', 2786, '20468', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20297, 'Washington', 2786, '20468', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20298, 'Bureau Of Prisons', 2786, '20534', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20299, 'Washington', 2786, '20534', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20300, 'Library Of Congress Card Div', 2786, '20541', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20301, 'Washington', 2786, '20541', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20302, 'General Accounting Office', 2786, '20548', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20303, 'Washington', 2786, '20548', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20304, 'Adv Comm Inter Govt Relation', 2786, '20575', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20305, 'Washington', 2786, '20575', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20306, 'Marriott Corp', 2786, '20058', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20307, 'Washington', 2786, '20058', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20308, 'Pepco', 2786, '20067', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20309, 'Washington', 2786, '20067', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20310, 'Washington', 2786, '20005', '202', '38.904224', '-77.031798', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20311, 'Washington', 2786, '20016', '202', '38.93684', '-77.093123', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20312, 'Bolling AFB', 2786, '20032', '202', '38.830147', '-77.009214', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20313, 'Bolling Air Force Bas', 2786, '20032', '202', '38.830147', '-77.009214', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20314, 'Wash', 2786, '20032', '202', '38.830147', '-77.009214', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20315, 'Washing', 2786, '20032', '202', '38.830147', '-77.009214', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20316, 'Washingtn', 2786, '20032', '202', '38.830147', '-77.009214', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20317, 'Washington', 2786, '20032', '202', '38.830147', '-77.009214', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20318, 'Washington', 2786, '20091', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20319, 'Sun Trust Bank Inc', 2786, '20042', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20320, 'Washington', 2786, '20042', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20321, 'Amer Assc Retired Persons', 2786, '20049', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20322, 'Washington', 2786, '20049', '202', '38.895', '-77.0367', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20323, 'Fed Labor Relations Auth', 2786, '20424', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20324, 'Washington', 2786, '20424', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20325, 'Washington', 2786, '20433', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20326, 'World Bank', 2786, '20433', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20327, 'Soc Sec Bureau Hearing App', 2786, '20206', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20328, 'Washington', 2786, '20206', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20329, 'Natl Institute Of Educ', 2786, '20208', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20330, 'Washington', 2786, '20208', '202', '38.8951', '-77.0369', '2018-11-29 04:52:43', '2018-11-29 04:52:43'),\n(20331, 'International Joint Comm', 2786, '20440', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20332, 'Washington', 2786, '20440', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20333, 'Court Of Military Appeals', 2786, '20442', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20334, 'Washington', 2786, '20442', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20335, 'Dept Hlth Human Serv', 2786, '20201', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20336, 'Washington', 2786, '20201', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20337, 'Readasorus', 2786, '20299', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20338, 'Washington', 2786, '20299', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20339, 'Bureau Narc And Dngr Drugs', 2786, '20533', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20340, 'Washington', 2786, '20533', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20341, 'Fbi', 2786, '20535', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20342, 'Washington', 2786, '20535', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20343, 'Securities And Exchange Comm', 2786, '20549', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20344, 'Washington', 2786, '20549', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20345, 'Federal Reserve Board', 2786, '20551', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20346, 'Washington', 2786, '20551', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20347, 'Smithsonian Institute', 2786, '20560', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20348, 'Washington', 2786, '20560', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20349, 'Natl Capitol Planning', 2786, '20576', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20350, 'Washington', 2786, '20576', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20351, 'Washington', 2786, '20501', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20352, 'White House Ofc Of Vice Pres', 2786, '20501', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20353, 'Us Senate', 2786, '20510', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20354, 'Washington', 2786, '20510', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20355, 'Washington', 2786, '20350', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20356, 'Us Citizenship Immigration', 2786, '20529', '202', '38.897648', '-77.00985', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20357, 'Washington', 2786, '20529', '202', '38.897648', '-77.00985', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20358, 'Usps Consumer Affairs', 2786, '20261', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20359, 'Washington', 2786, '20261', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20360, 'Naval Intelligence Support C', 2786, '20395', '202', '38.8951', '-77.0369', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20361, 'Newark', 2787, '19714', '302', '39.7071', '-75.7581', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20362, 'Citibank', 2787, '19721', '302', '39.6618', '-75.5664', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20363, 'New Castle', 2787, '19721', '302', '39.6618', '-75.5664', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20364, 'Newark', 2787, '19715', '302', '39.6837', '-75.7533', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20365, 'Long Neck', 2787, '19966', '302', '38.560754', '-75.249217', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20366, 'Millsboro', 2787, '19966', '302', '38.560754', '-75.249217', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20367, 'Farmington', 2787, '19950', '302', '38.828652', '-75.601384', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20368, 'Greenwood', 2787, '19950', '302', '38.828652', '-75.601384', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20369, 'Kenton', 2787, '19955', '302', '39.226556', '-75.666134', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20370, 'Clayton', 2787, '19938', '302', '39.258434', '-75.694858', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20371, 'Cutler Bay', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20372, 'Cutler Ridge', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20373, 'Miami', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20374, 'Palmetto Bay', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20375, 'Perrine', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20376, 'South Miami Heights', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20377, 'Village Of Palmetto Bay', 2788, '33157', '305', '25.60441', '-80.335216', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20378, 'Florida Power & Light Co', 2788, '33188', '305', '25.7736', '-80.1937', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20379, 'Miami', 2788, '33188', '305', '25.7736', '-80.1937', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20380, 'Cutler Bay', 2788, '33189', '305', '25.57281', '-80.342589', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20381, 'Cutler Ridge', 2788, '33189', '305', '25.57281', '-80.342589', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20382, 'Miami', 2788, '33189', '305', '25.57281', '-80.342589', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20383, 'Perrine', 2788, '33189', '305', '25.57281', '-80.342589', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20384, 'Quail Heights', 2788, '33189', '305', '25.57281', '-80.342589', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20385, 'Aeropost', 2788, '33206', '305', '0', '0', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20386, 'Coral Gables', 2788, '33206', '305', '0', '0', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20387, 'Miami', 2788, '33206', '305', '0', '0', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20388, 'Miami', 2788, '33238', '305', '25.7736', '-80.1937', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20389, 'Carl Fisher', 2788, '33239', '305', '25.7736', '-80.1937', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20390, 'Miami', 2788, '33239', '305', '25.7736', '-80.1937', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20391, 'Miami Beach', 2788, '33239', '305', '25.7736', '-80.1937', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20392, 'Ludlam', 2788, '33255', '305', '25.7539', '-80.2512', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20393, 'Miami', 2788, '33255', '305', '25.7539', '-80.2512', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20394, 'Fort Lauderdale', 2788, '33306', '954', '26.165882', '-80.11488', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20395, 'Ft Lauderdale', 2788, '33306', '954', '26.165882', '-80.11488', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20396, 'Oakland Park', 2788, '33306', '954', '26.165882', '-80.11488', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20397, 'Wilton Manors', 2788, '33306', '954', '26.165882', '-80.11488', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20398, 'Fort Lauderdale', 2788, '33307', '954', '26.1216', '-80.1439', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20399, 'Ft Lauderdale', 2788, '33307', '954', '26.1216', '-80.1439', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20400, 'Oakland Park', 2788, '33307', '954', '26.1216', '-80.1439', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20401, 'Fort Lauderdale', 2788, '33323', '954', '26.157197', '-80.331319', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20402, 'Ft Lauderdale', 2788, '33323', '954', '26.157197', '-80.331319', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20403, 'Plantation', 2788, '33323', '954', '26.157197', '-80.331319', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20404, 'Sunrise', 2788, '33323', '954', '26.157197', '-80.331319', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20405, 'Fort Lauderdale', 2788, '33338', '954', '26.1216', '-80.1439', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20406, 'Ft Lauderdale', 2788, '33338', '954', '26.1216', '-80.1439', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20407, 'Broward Mall', 2788, '33388', '954', '26.120714', '-80.25407', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20408, 'Fort Lauderdale', 2788, '33388', '954', '26.120714', '-80.25407', '2018-11-29 04:52:44', '2018-11-29 04:52:44'),\n(20409, 'Ft Lauderdale', 2788, '33388', '954', '26.120714', '-80.25407', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20410, 'Plantation', 2788, '33388', '954', '26.120714', '-80.25407', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20411, 'West Palm Bch', 2788, '33405', '561', '26.667478', '-80.059131', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20412, 'West Palm Beach', 2788, '33405', '561', '26.667478', '-80.059131', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20413, 'Boynton Beach', 2788, '33424', '561', '26.5253', '-80.0668', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20414, 'Boynton Beach', 2788, '33472', '561', '26.528134', '-80.185124', '2018-11-29 04:52:45', '2018-11-29 04:52:45');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(20415, 'Boynton Beach', 2788, '33474', '561', '26.5252', '-80.0668', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20416, 'Hobe Sound', 2788, '33475', '561', '27.0594', '-80.1369', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20417, 'Brandon', 2788, '33508', '813', '27.9378', '-82.2861', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20418, 'Dade City', 2788, '33523', '352', '28.444826', '-82.235762', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20419, 'Ridge Manor', 2788, '33523', '352', '28.444826', '-82.235762', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20420, 'Odessa', 2788, '33556', '813', '28.141401', '-82.593338', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20421, 'Tampa', 2788, '33605', '813', '27.942863', '-82.42644', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20422, 'Ybor City', 2788, '33605', '813', '27.942863', '-82.42644', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20423, 'Tampa', 2788, '33606', '813', '27.930168', '-82.467877', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20424, 'Univ Of Tampa', 2788, '33606', '813', '27.930168', '-82.467877', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20425, 'University Of Tampa', 2788, '33606', '813', '27.930168', '-82.467877', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20426, 'Macdill AFB', 2788, '33608', '813', '27.8467', '-82.5182', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20427, 'Tampa', 2788, '33608', '813', '27.8467', '-82.5182', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20428, 'Tampa', 2788, '33674', '813', '27.9473', '-82.4588', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20429, 'Tampa', 2788, '33689', '813', '27.9496', '-82.4543', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20430, 'Saint Petersburg', 2788, '33705', '727', '27.74337', '-82.643724', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20431, 'St Petersburg', 2788, '33705', '727', '27.74337', '-82.643724', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20432, 'Kenneth City', 2788, '33709', '727', '27.819915', '-82.731266', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20433, 'Saint Petersburg', 2788, '33709', '727', '27.819915', '-82.731266', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20434, 'St Petersburg', 2788, '33709', '727', '27.819915', '-82.731266', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20435, 'Pass A Grille', 2788, '33741', '727', '27.7355', '-82.7065', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20436, 'Pass A Grille Beach', 2788, '33741', '727', '27.7355', '-82.7065', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20437, 'Saint Petersburg', 2788, '33741', '727', '27.7355', '-82.7065', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20438, 'St Petersburg', 2788, '33741', '727', '27.7355', '-82.7065', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20439, 'Belleair', 2788, '33756', '727', '27.946056', '-82.794788', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20440, 'Clearwater', 2788, '33756', '727', '27.946056', '-82.794788', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20441, 'Clearwater', 2788, '33758', '813', '27.9656', '-82.8006', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20442, 'Miami', 2788, '33155', '305', '25.736516', '-80.310886', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20443, 'South Miami', 2788, '33155', '305', '25.736516', '-80.310886', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20444, 'West Miami', 2788, '33155', '305', '25.736516', '-80.310886', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20445, 'Kendall', 2788, '33173', '305', '25.701627', '-80.35803', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20446, 'Miami', 2788, '33173', '305', '25.701627', '-80.35803', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20447, 'South Miami', 2788, '33173', '305', '25.701627', '-80.35803', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20448, 'Miami', 2788, '33174', '305', '25.761975', '-80.360336', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20449, 'Olympia Heights', 2788, '33174', '305', '25.761975', '-80.360336', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20450, 'Sweetwater', 2788, '33174', '305', '25.761975', '-80.360336', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20451, 'West Miami', 2788, '33174', '305', '25.761975', '-80.360336', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20452, 'Country Lakes', 2788, '33187', '305', '25.601048', '-80.510414', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20453, 'Miami', 2788, '33187', '305', '25.601048', '-80.510414', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20454, 'Perrine', 2788, '33187', '305', '25.601048', '-80.510414', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20455, 'Quail Heights', 2788, '33187', '305', '25.601048', '-80.510414', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20456, 'Cutler Bay', 2788, '33190', '305', '25.557625', '-80.335334', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20457, 'Cutler Ridge', 2788, '33190', '305', '25.557625', '-80.335334', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20458, 'Miami', 2788, '33190', '305', '25.557625', '-80.335334', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20459, 'Perrine', 2788, '33190', '305', '25.557625', '-80.335334', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20460, 'Quail Heights', 2788, '33190', '305', '25.557625', '-80.335334', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20461, 'Doral', 2788, '33222', '305', '25.732872', '-80.241587', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20462, 'Miami', 2788, '33222', '305', '25.732872', '-80.241587', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20463, 'Kendall', 2788, '33256', '305', '25.6789', '-80.3175', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20464, 'Miami', 2788, '33256', '305', '25.6789', '-80.3175', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20465, 'Pinecrest', 2788, '33256', '305', '25.6789', '-80.3175', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20466, 'South Miami', 2788, '33256', '305', '25.6789', '-80.3175', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20467, 'Village Of Pinecrest', 2788, '33256', '305', '25.6789', '-80.3175', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20468, 'Miami', 2788, '33257', '305', '25.7736', '-80.1937', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20469, 'Perrine', 2788, '33257', '305', '25.7736', '-80.1937', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20470, 'Quail Heights', 2788, '33257', '305', '25.7736', '-80.1937', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20471, 'Fort Lauderdale', 2788, '33304', '954', '26.137655', '-80.123016', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20472, 'Ft Lauderdale', 2788, '33304', '954', '26.137655', '-80.123016', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20473, 'Oakland Park', 2788, '33304', '954', '26.137655', '-80.123016', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20474, 'Fort Lauderdale', 2788, '33305', '954', '26.149412', '-80.122798', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20475, 'Ft Lauderdale', 2788, '33305', '954', '26.149412', '-80.122798', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20476, 'Lazy Lake', 2788, '33305', '954', '26.149412', '-80.122798', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20477, 'Oakland Park', 2788, '33305', '954', '26.149412', '-80.122798', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20478, 'Wilton Manors', 2788, '33305', '954', '26.149412', '-80.122798', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20479, 'Fort Lauderdale', 2788, '33321', '954', '26.211912', '-80.26637', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20480, 'Ft Lauderdale', 2788, '33321', '954', '26.211912', '-80.26637', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20481, 'Lauder Hill', 2788, '33321', '954', '26.211912', '-80.26637', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20482, 'Lauderhill', 2788, '33321', '954', '26.211912', '-80.26637', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20483, 'Ldhl', 2788, '33321', '954', '26.211912', '-80.26637', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20484, 'Tamarac', 2788, '33321', '954', '26.211912', '-80.26637', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20485, 'Fort Lauderdale', 2788, '33322', '954', '26.148265', '-80.270519', '2018-11-29 04:52:45', '2018-11-29 04:52:45'),\n(20486, 'Ft Lauderdale', 2788, '33322', '954', '26.148265', '-80.270519', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20487, 'Plantation', 2788, '33322', '954', '26.148265', '-80.270519', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20488, 'Sunrise', 2788, '33322', '954', '26.148265', '-80.270519', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20489, 'Fort Lauderdale', 2788, '33339', '954', '26.1216', '-80.1439', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20490, 'Ft Lauderdale', 2788, '33339', '954', '26.1216', '-80.1439', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20491, 'Fort Lauderdale', 2788, '33340', '954', '26.1216', '-80.1439', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20492, 'Ft Lauderdale', 2788, '33340', '954', '26.1216', '-80.1439', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20493, 'Davie', 2788, '33355', '954', '26.1198', '-80.1282', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20494, 'Fort Lauderdale', 2788, '33355', '954', '26.1198', '-80.1282', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20495, 'Ft Lauderdale', 2788, '33355', '954', '26.1198', '-80.1282', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20496, 'Cloud Lake', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20497, 'Glen Ridge', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20498, 'Lake Clarke', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20499, 'Lake Clarke Shores', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20500, 'Palm Springs', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20501, 'West Palm Bch', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20502, 'West Palm Beach', 2788, '33406', '561', '26.662945', '-80.090513', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20503, 'Mangonia Park', 2788, '33407', '561', '26.757242', '-80.090772', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20504, 'Riviera Beach', 2788, '33407', '561', '26.757242', '-80.090772', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20505, 'West Palm Bch', 2788, '33407', '561', '26.757242', '-80.090772', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20506, 'West Palm Beach', 2788, '33407', '561', '26.757242', '-80.090772', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20507, 'Juno Beach', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20508, 'N Palm Beach', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20509, 'North Palm Beach', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20510, 'Palm Bch Gdns', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20511, 'Palm Beach Gardens', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20512, 'West Palm Bch', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20513, 'West Palm Beach', 2788, '33408', '561', '26.848664', '-80.058839', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20514, 'Deerfield Bch', 2788, '33441', '954', '26.31095', '-80.098325', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20515, 'Deerfield Beach', 2788, '33441', '954', '26.31095', '-80.098325', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20516, 'Moore Haven', 2788, '33471', '863', '26.917265', '-81.230942', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20517, 'Boca Raton', 2788, '33488', '561', '26.3774', '-80.0986', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20518, 'Dade City', 2788, '33525', '352', '28.346039', '-82.236526', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20519, 'Richland', 2788, '33525', '352', '28.346039', '-82.236526', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20520, 'Lake Panasoffkee', 2788, '33538', '352', '28.852702', '-82.203938', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20521, 'Lk Panasoffke', 2788, '33538', '352', '28.852702', '-82.203938', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20522, 'Zephyrhills', 2788, '33539', '813', '28.2333', '-82.1815', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20523, 'Lutz', 2788, '33558', '813', '28.152198', '-82.508767', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20524, 'Tampa', 2788, '33607', '813', '27.972833', '-82.556296', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20525, 'Tampa', 2788, '33623', '813', '27.9473', '-82.4588', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20526, 'Bank Of America', 2788, '33655', '813', '27.9473', '-82.4588', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20527, 'Tampa', 2788, '33655', '813', '27.9473', '-82.4588', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20528, 'Tampa', 2788, '33673', '813', '27.9473', '-82.4588', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20529, 'Tampa', 2788, '33675', '813', '27.9473', '-82.4588', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20530, 'Ybor City', 2788, '33675', '813', '27.9473', '-82.4588', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20531, 'Pass A Grille', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20532, 'Coral', 2788, '33145', '305', '25.75277', '-80.233228', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20533, 'Coral Gables', 2788, '33145', '305', '25.75277', '-80.233228', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20534, 'Miami', 2788, '33145', '305', '25.75277', '-80.233228', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20535, 'Coconut Grove', 2788, '33146', '305', '25.719762', '-80.270216', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20536, 'Coral Gables', 2788, '33146', '305', '25.719762', '-80.270216', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20537, 'Miami', 2788, '33146', '305', '25.719762', '-80.270216', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20538, 'South Miami', 2788, '33146', '305', '25.719762', '-80.270216', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20539, 'Univ Of Miami', 2788, '33146', '305', '25.719762', '-80.270216', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20540, 'University Of Miami', 2788, '33146', '305', '25.719762', '-80.270216', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20541, 'Miami', 2788, '33163', '305', '25.7739', '-80.1937', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20542, 'Ojus', 2788, '33163', '305', '25.7739', '-80.1937', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20543, 'Biscayne Park', 2788, '33181', '305', '25.896948', '-80.15136', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20544, 'Miami', 2788, '33181', '305', '25.896948', '-80.15136', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20545, 'N Miami Beach', 2788, '33181', '305', '25.896948', '-80.15136', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20546, 'Nmb', 2788, '33181', '305', '25.896948', '-80.15136', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20547, 'North Miami', 2788, '33181', '305', '25.896948', '-80.15136', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20548, 'North Miami Beach', 2788, '33181', '305', '25.896948', '-80.15136', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20549, 'Kendall', 2788, '33196', '305', '25.655569', '-80.597178', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20550, 'Miami', 2788, '33196', '305', '25.655569', '-80.597178', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20551, 'West Dade', 2788, '33196', '305', '25.655569', '-80.597178', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20552, 'Brickell', 2788, '33231', '305', '25.7676', '-80.1904', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20553, 'Largo', 2788, '33774', '727', '27.883014', '-82.82732', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20554, 'Auburndale', 2788, '33823', '863', '28.091296', '-81.829502', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20555, 'Eagle Lake', 2788, '33839', '863', '27.983809', '-81.755954', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20556, 'Lorida', 2788, '33857', '863', '27.378547', '-81.144658', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20557, 'Lake Wales', 2788, '33859', '863', '27.881497', '-81.629778', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20558, 'Sebring', 2788, '33872', '863', '27.512029', '-81.514628', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20559, 'Sebring', 2788, '33875', '863', '27.419533', '-81.480493', '2018-11-29 04:52:46', '2018-11-29 04:52:46'),\n(20560, 'Zolfo Springs', 2788, '33890', '863', '27.486423', '-81.708558', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20561, 'Fort Myers', 2788, '33906', '239', '26.6405', '-81.8728', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20562, 'Ft Myers', 2788, '33906', '239', '26.6405', '-81.8728', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20563, 'Cape Coral', 2788, '33909', '239', '26.696063', '-81.938076', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20564, 'Captiva', 2788, '33924', '239', '26.562376', '-82.206166', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20565, 'Leehigh', 2788, '33973', '239', '26.59767', '-81.735454', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20566, 'Leehigh Acres', 2788, '33973', '239', '26.59767', '-81.735454', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20567, 'Lehigh', 2788, '33973', '239', '26.59767', '-81.735454', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20568, 'Lehigh Acres', 2788, '33973', '239', '26.59767', '-81.735454', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20569, 'Miami', 2788, '33165', '305', '25.734918', '-80.359544', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20570, 'Olympia Heights', 2788, '33165', '305', '25.734918', '-80.359544', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20571, 'Olympia Hgts', 2788, '33165', '305', '25.734918', '-80.359544', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20572, 'Westchester', 2788, '33165', '305', '25.734918', '-80.359544', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20573, 'Miami', 2788, '33179', '305', '25.957634', '-80.179325', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20574, 'Miami Gardens', 2788, '33179', '305', '25.957634', '-80.179325', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20575, 'N Miami Beach', 2788, '33179', '305', '25.957634', '-80.179325', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20576, 'North Miami Beach', 2788, '33179', '305', '25.957634', '-80.179325', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20577, 'Doral', 2788, '33182', '305', '25.786346', '-80.413862', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20578, 'Miami', 2788, '33182', '305', '25.786346', '-80.413862', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20579, 'Sweetwater', 2788, '33182', '305', '25.786346', '-80.413862', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20580, 'West Miami', 2788, '33182', '305', '25.786346', '-80.413862', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20581, 'Flinternational Univ', 2788, '33199', '305', '25.75719', '-80.376253', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20582, 'Florida International Univ', 2788, '33199', '305', '25.75719', '-80.376253', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20583, 'Miami', 2788, '33199', '305', '25.75719', '-80.376253', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20584, 'Miami', 2788, '33266', '305', '25.7736', '-80.1937', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20585, 'Miami Springs', 2788, '33266', '305', '25.7736', '-80.1937', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20586, 'Aventura', 2788, '33280', '305', '25.9536', '-80.1568', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20587, 'Miami', 2788, '33280', '305', '25.9536', '-80.1568', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20588, 'Nmb', 2788, '33280', '305', '25.9536', '-80.1568', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20589, 'City Of Sunrise', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20590, 'Fort Lauderdale', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20591, 'Ft Lauderdale', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20592, 'Laud Lakes', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20593, 'Lauderdale Lakes', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20594, 'Lauderhill', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20595, 'Ldhl', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20596, 'Plantation', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20597, 'Sunrise', 2788, '33313', '954', '26.150275', '-80.22983', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20598, 'Fort Lauderdale', 2788, '33315', '954', '26.090962', '-80.153644', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20599, 'Ft Lauderdale', 2788, '33315', '954', '26.090962', '-80.153644', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20600, 'Fort Lauderdale', 2788, '33316', '954', '26.10149', '-80.122776', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20601, 'Ft Lauderdale', 2788, '33316', '954', '26.10149', '-80.122776', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20602, 'Port Everglades', 2788, '33316', '954', '26.10149', '-80.122776', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20603, 'Davie', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20604, 'Everglades Br', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20605, 'Fort Lauderdale', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20606, 'Ft Lauderdale', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20607, 'Pembroke Pines', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20608, 'Southwest Ranches', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20609, 'Sw Ranches', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20610, 'Weston', 2788, '33331', '954', '26.065832', '-80.370922', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20611, 'Fort Lauderdale', 2788, '33346', '954', '26.1216', '-80.1439', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20612, 'Ft Lauderdale', 2788, '33346', '954', '26.1216', '-80.1439', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20613, 'Green Acres', 2788, '33413', '561', '26.66258', '-80.151472', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20614, 'Greenacres', 2788, '33413', '561', '26.66258', '-80.151472', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20615, 'West Palm Bch', 2788, '33413', '561', '26.66258', '-80.151472', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20616, 'Everglades National Park', 2788, '33030', '305', '25.45287', '-80.525474', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20617, 'Homestead', 2788, '33030', '305', '25.45287', '-80.525474', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20618, 'Leisure City', 2788, '33030', '305', '25.45287', '-80.525474', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20619, 'Modello', 2788, '33030', '305', '25.45287', '-80.525474', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20620, 'Miami', 2788, '33141', '305', '25.857127', '-80.139882', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20621, 'Miami Beach', 2788, '33141', '305', '25.857127', '-80.139882', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20622, 'Normandy', 2788, '33141', '305', '25.857127', '-80.139882', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20623, 'Normandy Isle', 2788, '33141', '305', '25.857127', '-80.139882', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20624, 'North Bay Village', 2788, '33141', '305', '25.857127', '-80.139882', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20625, 'North Bay Vlg', 2788, '33141', '305', '25.857127', '-80.139882', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20626, 'Coral Gables', 2788, '33143', '305', '25.703525', '-80.289967', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20627, 'Miami', 2788, '33143', '305', '25.703525', '-80.289967', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20628, 'South Miami', 2788, '33143', '305', '25.703525', '-80.289967', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20629, 'Flamingo Ldge', 2788, '33034', '305', '25.296823', '-80.735295', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20630, 'Flamingo Lodge', 2788, '33034', '305', '25.296823', '-80.735295', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20631, 'Florida City', 2788, '33034', '305', '25.296823', '-80.735295', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20632, 'Homestead', 2788, '33034', '305', '25.296823', '-80.735295', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20633, 'Hollywood', 2788, '33027', '954', '25.982281', '-80.343566', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20634, 'Miramar', 2788, '33027', '954', '25.982281', '-80.343566', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20635, 'Pembroke Pines', 2788, '33027', '954', '25.982281', '-80.343566', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20636, 'Pembroke Pnes', 2788, '33027', '954', '25.982281', '-80.343566', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20637, 'Doral', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20638, 'Medley', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:47', '2018-11-29 04:52:47'),\n(20639, 'Miami', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20640, 'Miami Springs', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20641, 'Milam Dairy', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20642, 'Virginia Gardens', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20643, 'Virginia Gdns', 2788, '33166', '305', '25.835822', '-80.301342', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20644, 'Crossings', 2788, '33186', '305', '25.656028', '-80.414856', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20645, 'Kendall', 2788, '33186', '305', '25.656028', '-80.414856', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20646, 'Miami', 2788, '33186', '305', '25.656028', '-80.414856', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20647, 'Miami', 2788, '33243', '305', '25.7736', '-80.1937', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20648, 'South Miami', 2788, '33243', '305', '25.7736', '-80.1937', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20649, 'Fort Lauderdale', 2788, '33320', '954', '26.1216', '-80.1439', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20650, 'Ft Lauderdale', 2788, '33320', '954', '26.1216', '-80.1439', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20651, 'Tamarac', 2788, '33320', '954', '26.1216', '-80.1439', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20652, 'Fort Lauderdale', 2788, '33327', '954', '26.119065', '-80.415078', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20653, 'Ft Lauderdale', 2788, '33327', '954', '26.119065', '-80.415078', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20654, 'Weston', 2788, '33327', '954', '26.119065', '-80.415078', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20655, 'Palm Bch Shrs', 2788, '33404', '561', '26.790272', '-80.069248', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20656, 'Palm Beach Shores', 2788, '33404', '561', '26.790272', '-80.069248', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20657, 'Riviera Beach', 2788, '33404', '561', '26.790272', '-80.069248', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20658, 'Singer Island', 2788, '33404', '561', '26.790272', '-80.069248', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20659, 'West Palm Bch', 2788, '33404', '561', '26.790272', '-80.069248', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20660, 'West Palm Beach', 2788, '33404', '561', '26.790272', '-80.069248', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20661, 'Haverhill', 2788, '33409', '561', '26.72046', '-80.091082', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20662, 'West Palm Bch', 2788, '33409', '561', '26.72046', '-80.091082', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20663, 'West Palm Beach', 2788, '33409', '561', '26.72046', '-80.091082', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20664, 'Boynton Beach', 2788, '33425', '561', '26.5253', '-80.0668', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20665, 'Conch Key', 2788, '33050', '305', '24.766152', '-80.968028', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20666, 'Duck Key', 2788, '33050', '305', '24.766152', '-80.968028', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20667, 'Grassy Key', 2788, '33050', '305', '24.766152', '-80.968028', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20668, 'Marathon', 2788, '33050', '305', '24.766152', '-80.968028', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20669, 'Marathon Shores', 2788, '33050', '305', '24.766152', '-80.968028', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20670, 'Marathon Shrs', 2788, '33050', '305', '24.766152', '-80.968028', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20671, 'Orlando', 2788, '32891', '407', '28.5382', '-81.3795', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20672, 'Suntrust Service Corporation', 2788, '32891', '407', '28.5382', '-81.3795', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20673, 'Mid Torch Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20674, 'Middle Torch Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20675, 'Ramrod Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20676, 'Sugarlf Shrs', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20677, 'Sugarloaf', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20678, 'Sugarloaf Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20679, 'Sugarloaf Shrs', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20680, 'Summerland Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20681, 'Summrlnd Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20682, 'Upper Sugarloaf Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20683, 'Upr Sugarloaf', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20684, 'Kennedy Sp Ct', 2788, '32899', '321', '28.38702', '-80.60214', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20685, 'Kennedy Space Center', 2788, '32899', '321', '28.38702', '-80.60214', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20686, 'Nasa', 2788, '32899', '321', '28.38702', '-80.60214', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20687, 'Hollywood', 2788, '33028', '954', '26.019434', '-80.344562', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20688, 'Pembroke Pines', 2788, '33028', '954', '26.019434', '-80.344562', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20689, 'Pembroke Pnes', 2788, '33028', '954', '26.019434', '-80.344562', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20690, 'Maysville', 2792, '52773', '563', '41.614928', '-90.76337', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20691, 'Plain View', 2792, '52773', '563', '41.614928', '-90.76337', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20692, 'Walcott', 2792, '52773', '563', '41.614928', '-90.76337', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20693, 'Northfield', 2792, '52637', '319', '41.018426', '-91.131572', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20694, 'Bluff Park', 2792, '52639', '319', '40.533278', '-91.452396', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20695, 'Galland', 2792, '52639', '319', '40.533278', '-91.452396', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20696, 'Montrose', 2792, '52639', '319', '40.533278', '-91.452396', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20697, 'Lime City', 2792, '52778', '563', '41.603189', '-90.99187', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20698, 'Wilton', 2792, '52778', '563', '41.603189', '-90.99187', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20699, 'Davenport', 2792, '52805', '563', '41.5236', '-90.5777', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20700, 'Rathbun', 2792, '52544', '641', '40.706642', '-92.925273', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20701, 'Hayesville', 2792, '52562', '641', '41.264268', '-92.247723', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20702, 'Prairie Grove', 2792, '52655', '319', '40.826632', '-91.220596', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20703, 'W Burlington', 2792, '52655', '319', '40.826632', '-91.220596', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20704, 'West Burlington', 2792, '52655', '319', '40.826632', '-91.220596', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20705, 'Buffalo', 2792, '52728', '563', '41.461598', '-90.728406', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20706, 'Columbus City', 2792, '52737', '319', '41.259283', '-91.374639', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20707, 'Conesville', 2792, '52739', '319', '41.369687', '-91.368052', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20708, 'Donahue', 2792, '52746', '563', '41.72093', '-90.67593', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20709, 'Goddard', 2796, '67052', '316', '37.649391', '-97.571186', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20710, 'Haviland', 2796, '67059', '620', '37.603706', '-99.177074', '2018-11-29 04:52:48', '2018-11-29 04:52:48'),\n(20711, 'Trousdale', 2796, '67059', '620', '37.603706', '-99.177074', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20712, 'Maple City', 2796, '67102', '620', '37.054669', '-96.755336', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20713, 'Medicine Ldg', 2796, '67104', '620', '37.26055', '-98.603575', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20714, 'Medicine Lodge', 2796, '67104', '620', '37.26055', '-98.603575', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20715, 'Mullinville', 2796, '67109', '620', '37.505783', '-99.438902', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20716, 'Peck', 2796, '67120', '316', '37.462967', '-97.368853', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20717, 'Sun City', 2796, '67143', '620', '37.383098', '-98.884643', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20718, 'Wichita', 2796, '67211', '316', '37.668043', '-97.317376', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20719, 'Wichita', 2796, '67218', '316', '37.668266', '-97.280528', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20720, 'Chetopa', 2796, '67336', '620', '37.07501', '-95.049922', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20721, 'Havana', 2796, '67347', '620', '37.125263', '-95.948478', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20722, 'Mound Valley', 2796, '67354', '620', '37.222253', '-95.448185', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20723, 'Salina', 2796, '67402', '785', '38.8406', '-97.6112', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20724, 'Delphos', 2796, '67436', '785', '39.263022', '-97.738034', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20725, 'New Cambria', 2796, '67470', '785', '38.92393', '-97.511238', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20726, 'Hutchinson', 2796, '67504', '620', '38.0609', '-97.9294', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20727, 'Albert', 2796, '67511', '620', '38.42786', '-98.987077', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20728, 'Alexander', 2796, '67513', '785', '38.451274', '-99.529519', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20729, 'Hudson', 2796, '67545', '620', '38.173233', '-98.58268', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20730, 'Ransom', 2796, '67572', '785', '38.624194', '-99.91789', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20731, 'Long Island', 2796, '67647', '785', '39.95825', '-99.543118', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20732, 'Norton', 2796, '67654', '785', '39.827575', '-99.958863', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20733, 'Phillipsburg', 2796, '67661', '785', '39.828202', '-99.35309', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20734, 'Stuttgart', 2796, '67661', '785', '39.828202', '-99.35309', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20735, 'Codell', 2796, '67663', '785', '39.219082', '-99.326512', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20736, 'Plainville', 2796, '67663', '785', '39.219082', '-99.326512', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20737, 'Zurich', 2796, '67663', '785', '39.219082', '-99.326512', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20738, 'Bird City', 2796, '67731', '785', '39.785504', '-101.524342', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20739, 'Grinnell', 2796, '67738', '785', '38.916453', '-100.686044', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20740, 'Saint Francis', 2796, '67756', '785', '39.78572', '-101.815136', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20741, 'St Francis', 2796, '67756', '785', '39.78572', '-101.815136', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20742, 'Wheeler', 2796, '67756', '785', '39.78572', '-101.815136', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20743, 'Englewood', 2796, '67840', '620', '37.15037', '-99.998337', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20744, 'Satanta', 2796, '67870', '620', '37.496846', '-100.862166', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20745, 'Colony', 2796, '66015', '620', '38.08934', '-95.390712', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20746, 'Greeley', 2796, '66033', '785', '38.369801', '-95.143861', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20747, 'Wathena', 2796, '66090', '785', '39.786161', '-94.971274', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20748, 'Kansas City', 2796, '66110', '913', '39.1143', '-94.6273', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20749, 'K U Med Center', 2796, '66160', '913', '39.055524', '-94.610688', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20750, 'Kansas City', 2796, '66160', '913', '39.055524', '-94.610688', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20751, 'Kansas University Med Center', 2796, '66160', '913', '39.055524', '-94.610688', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20752, 'Mission Hills', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20753, 'Overland', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20754, 'Overland Park', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20755, 'Prairie Village', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20756, 'Prairie Vlg', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20757, 'Shawnee Mission', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20758, 'Shawnee Msn', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20759, 'Sm', 2796, '66208', '913', '39.006207', '-94.632938', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20760, 'Lake Quivira', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20761, 'Lenexa', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20762, 'Quivira', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20763, 'Shawnee', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20764, 'Shawnee Mission', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20765, 'Shawnee Msn', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20766, 'Sm', 2796, '66217', '913', '39.018116', '-94.780288', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20767, 'Shawnee', 2796, '66226', '913', '39.025294', '-94.851062', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20768, 'Shawnee Mission', 2796, '66226', '913', '39.025294', '-94.851062', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20769, 'Shawnee Msn', 2796, '66226', '913', '39.025294', '-94.851062', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20770, 'Sm', 2796, '66226', '913', '39.025294', '-94.851062', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20771, 'Lenexa', 2796, '66251', '913', '38.918541', '-94.657952', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20772, 'Op', 2796, '66251', '913', '38.918541', '-94.657952', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20773, 'Overland Park', 2796, '66251', '913', '38.918541', '-94.657952', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20774, 'Shawnee Mission', 2796, '66251', '913', '38.918541', '-94.657952', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20775, 'Shawnee Msn', 2796, '66251', '913', '38.918541', '-94.657952', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20776, 'Sprint Corporation', 2796, '66251', '913', '38.918541', '-94.657952', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20777, 'Lenexa', 2796, '66285', '913', '39.0186', '-94.6662', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20778, 'Shawnee Mission', 2796, '66285', '913', '39.0186', '-94.6662', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20779, 'Shawnee Msn', 2796, '66285', '913', '39.0186', '-94.6662', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20780, 'Sm', 2796, '66285', '913', '39.0186', '-94.6662', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20781, 'Alma', 2796, '66401', '785', '38.974644', '-96.316518', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20782, 'Bern', 2796, '66408', '785', '39.95691', '-95.958164', '2018-11-29 04:52:49', '2018-11-29 04:52:49'),\n(20783, 'Corning', 2796, '66417', '785', '39.653084', '-96.118134', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20784, 'Harlan', 2796, '66967', '785', '39.871834', '-98.785726', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20785, 'Smith Center', 2796, '66967', '785', '39.871834', '-98.785726', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20786, 'Andale', 2796, '67001', '316', '37.764594', '-97.64407', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20787, 'Burden', 2796, '67019', '620', '37.308952', '-96.776401', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20788, 'Byers', 2796, '67021', '620', '37.779125', '-98.903754', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20789, 'Cunningham', 2796, '67035', '620', '37.652601', '-98.401404', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20790, 'Penalosa', 2796, '67035', '620', '37.652601', '-98.401404', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20791, 'Goessel', 2796, '67053', '620', '38.224469', '-97.353486', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20792, 'Haysville', 2796, '67060', '316', '37.543112', '-97.36632', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20793, 'Maize', 2796, '67101', '316', '37.790014', '-97.467577', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20794, 'Sedgwick', 2796, '67135', '316', '37.920984', '-97.454928', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20795, 'Climax', 2796, '67137', '620', '37.685973', '-96.22551', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20796, 'Severy', 2796, '67137', '620', '37.685973', '-96.22551', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20797, 'Walton', 2796, '67151', '620', '38.15257', '-97.23529', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20798, 'Wichita', 2796, '67201', '316', '37.6923', '-97.3374', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20799, 'Wichita', 2796, '67203', '316', '37.70483', '-97.363892', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20800, 'Wichita', 2796, '67205', '316', '37.762156', '-97.427996', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20801, 'Wichita', 2796, '67228', '316', '37.774116', '-97.171478', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20802, 'Wichita', 2796, '67278', '316', '37.6924', '-97.3375', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20803, 'Altamont', 2796, '67330', '620', '37.164722', '-95.322448', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20804, 'Angola', 2796, '67337', '620', '37.074822', '-95.598307', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20805, 'Coffeyville', 2796, '67337', '620', '37.074822', '-95.598307', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20806, 'Grenola', 2796, '67346', '620', '37.401842', '-96.416852', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20807, 'Moline', 2796, '67353', '620', '37.341831', '-96.317445', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20808, 'Cawker City', 2796, '67430', '785', '39.522333', '-98.432449', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20809, 'Glen Elder', 2796, '67446', '785', '39.480368', '-98.376953', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20810, 'Solomon', 2796, '67480', '785', '38.939833', '-97.410866', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20811, 'Tipton', 2796, '67485', '785', '39.335161', '-98.471184', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20812, 'Arlington', 2796, '67514', '620', '37.822589', '-98.176342', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20813, 'Inman', 2796, '67546', '620', '38.239048', '-97.812605', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20814, 'Liebenthal', 2796, '67553', '785', '38.639005', '-99.25392', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20815, 'Olmitz', 2796, '67564', '620', '38.565286', '-98.949842', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20816, 'Stafford', 2796, '67578', '620', '37.918604', '-98.582171', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20817, 'Ellis', 2796, '67637', '785', '38.943095', '-99.409628', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20818, 'Prairie View', 2796, '67664', '785', '39.792206', '-99.549855', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20819, 'Victoria', 2796, '67671', '785', '38.918326', '-99.1323', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20820, 'Herndon', 2796, '67739', '785', '39.871772', '-100.850637', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20821, 'Conway Spgs', 2796, '67031', '620', '37.402302', '-97.621071', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20822, 'Conway Springs', 2796, '67031', '620', '37.402302', '-97.621071', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20823, 'Hillsboro', 2796, '67063', '620', '38.348564', '-97.251942', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20824, 'Park City', 2796, '67147', '316', '37.870307', '-97.335514', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20825, 'Valley Center', 2796, '67147', '316', '37.870307', '-97.335514', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20826, 'Waldron', 2796, '67150', '620', '37.082442', '-98.238184', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20827, 'Oatville', 2796, '67215', '316', '37.615067', '-97.425662', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20828, 'Schulte', 2796, '67215', '316', '37.615067', '-97.425662', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20829, 'Wichita', 2796, '67215', '316', '37.615067', '-97.425662', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20830, 'Caney', 2796, '67333', '620', '37.061924', '-95.875119', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20831, 'Howard', 2796, '67349', '620', '37.50815', '-96.225224', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20832, 'Liberty', 2796, '67351', '620', '37.15819', '-95.597944', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20833, 'Carlton', 2796, '67448', '785', '38.63091', '-97.402969', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20834, 'Gypsum', 2796, '67448', '785', '38.63091', '-97.402969', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20835, 'Delavan', 2796, '67449', '785', '38.674741', '-96.892868', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20836, 'Herington', 2796, '67449', '785', '38.674741', '-96.892868', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20837, 'Latimer', 2796, '67449', '785', '38.674741', '-96.892868', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20838, 'Holyrood', 2796, '67450', '785', '38.624009', '-98.424729', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20839, 'Ada', 2796, '67467', '785', '39.17571', '-97.650247', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20840, 'Minneapolis', 2796, '67467', '785', '39.17571', '-97.650247', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20841, 'Wells', 2796, '67467', '785', '39.17571', '-97.650247', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20842, 'Culver', 2796, '67484', '785', '38.9726', '-97.789164', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20843, 'Tescott', 2796, '67484', '785', '38.9726', '-97.789164', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20844, 'Hutchinson', 2796, '67501', '620', '37.959306', '-97.904047', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20845, 'Willowbrook', 2796, '67501', '620', '37.959306', '-97.904047', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20846, 'Pawnee Rock', 2796, '67567', '620', '38.304766', '-98.977032', '2018-11-29 04:52:50', '2018-11-29 04:52:50');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(20847, 'Plevna', 2796, '67568', '620', '37.999044', '-98.30731', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20848, 'Yoder', 2796, '67585', '620', '38.0138', '-97.9403', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20849, 'Lucas', 2796, '67648', '785', '39.04561', '-98.539962', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20850, 'Morland', 2796, '67650', '785', '39.349486', '-100.068429', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20851, 'Brewster', 2796, '67732', '785', '39.330824', '-101.372048', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20852, 'Dodge City', 2796, '67801', '620', '37.693422', '-100.012388', '2018-11-29 04:52:50', '2018-11-29 04:52:50'),\n(20853, 'Fort Dodge', 2796, '67801', '620', '37.693422', '-100.012388', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20854, 'Cimarron', 2796, '67835', '620', '37.935005', '-100.376302', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20855, 'Kalvesta', 2796, '67835', '620', '37.935005', '-100.376302', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20856, 'Hanston', 2796, '67849', '620', '38.08747', '-99.680014', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20857, 'Healy', 2796, '67850', '620', '38.481993', '-100.595972', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20858, 'Garden City', 2796, '67868', '620', '37.809234', '-100.70644', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20859, 'Pierceville', 2796, '67868', '620', '37.809234', '-100.70644', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20860, 'Dexter', 2796, '67038', '620', '37.129124', '-96.717962', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20861, 'Douglass', 2796, '67039', '316', '37.529625', '-96.998478', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20862, 'Hardtner', 2796, '67057', '620', '37.068824', '-98.716472', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20863, 'Moundridge', 2796, '67107', '620', '38.188498', '-97.518796', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20864, 'Wichita', 2796, '67223', '316', '37.736673', '-97.502749', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20865, 'Wichita', 2796, '67275', '316', '37.6924', '-97.3375', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20866, 'Dearing', 2796, '67340', '620', '37.058514', '-95.712372', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20867, 'Dennis', 2796, '67341', '620', '37.3252', '-95.429198', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20868, 'Labette', 2796, '67356', '620', '37.208338', '-95.154472', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20869, 'Oswego', 2796, '67356', '620', '37.208338', '-95.154472', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20870, 'Brookville', 2796, '67425', '785', '38.77357', '-97.919395', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20871, 'Longford', 2796, '67458', '785', '39.176139', '-97.268798', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20872, 'Lorraine', 2796, '67459', '785', '38.60954', '-98.276283', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20873, 'Portis', 2796, '67474', '785', '39.523977', '-98.729378', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20874, 'Woodbine', 2796, '67492', '785', '38.826886', '-96.955019', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20875, 'Abbyville', 2796, '67510', '620', '38.006416', '-98.206288', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20876, 'Macksville', 2796, '67557', '620', '37.895977', '-98.91252', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20877, 'Nekoma', 2796, '67559', '785', '38.415226', '-99.418313', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20878, 'Gorham', 2796, '67640', '785', '38.895425', '-99.045268', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20879, 'Hill City', 2796, '67642', '785', '39.349571', '-99.813386', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20880, 'Palco', 2796, '67657', '785', '39.263536', '-99.549496', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20881, 'Penokee', 2796, '67659', '785', '39.390508', '-99.929336', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20882, 'Waldo', 2796, '67673', '785', '39.045584', '-98.789387', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20883, 'Walker', 2796, '67674', '785', '38.878616', '-99.085872', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20884, 'Woodston', 2796, '67675', '785', '39.437635', '-99.100935', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20885, 'Levant', 2796, '67743', '785', '39.402693', '-101.22273', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20886, 'Ford', 2796, '67842', '620', '37.586171', '-99.777722', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20887, 'Kingsdown', 2796, '67842', '620', '37.586171', '-99.777722', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20888, 'Kendall', 2796, '67857', '620', '38.045326', '-101.59684', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20889, 'Easton', 2796, '66020', '913', '39.338942', '-95.095595', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20890, 'Louisburg', 2796, '66053', '913', '38.57323', '-94.689594', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20891, 'Mound City', 2796, '66056', '913', '38.154976', '-94.860329', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20892, 'Parker', 2796, '66072', '913', '38.31528', '-94.947682', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20893, 'Tonganoxie', 2796, '66086', '913', '39.11463', '-95.08512', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20894, 'Kansas City', 2796, '66103', '913', '39.06697', '-94.629024', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20895, 'Rosedale', 2796, '66103', '913', '39.06697', '-94.629024', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20896, 'Kansas City', 2796, '66105', '913', '39.085885', '-94.639215', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20897, 'Kansas City', 2796, '66106', '913', '39.073924', '-94.719616', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20898, 'Merriam', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20899, 'Op', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20900, 'Overland', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20901, 'Overland Park', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20902, 'Shawnee', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20903, 'Shawnee Mission', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20904, 'Shawnee Msn', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20905, 'Sm', 2796, '66203', '913', '39.018455', '-94.694145', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20906, 'Lenexa', 2796, '66220', '913', '38.963401', '-94.818729', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20907, 'Shawnee', 2796, '66220', '913', '38.963401', '-94.818729', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20908, 'Shawnee Mission', 2796, '66220', '913', '38.963401', '-94.818729', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20909, 'Shawnee Msn', 2796, '66220', '913', '38.963401', '-94.818729', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20910, 'Sm', 2796, '66220', '913', '38.963401', '-94.818729', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20911, 'Beattie', 2796, '66406', '785', '39.912364', '-96.435722', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20912, 'Belle Plaine', 2796, '67013', '620', '37.377838', '-97.299597', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20913, 'Bentley', 2796, '67016', '316', '37.890634', '-97.518673', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20914, 'Freeport', 2796, '67049', '620', '37.183004', '-97.857227', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20915, 'Isabel', 2796, '67065', '620', '37.478302', '-98.527631', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20916, 'Iuka', 2796, '67066', '620', '37.757553', '-98.747678', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20917, 'Kechi', 2796, '67067', '316', '37.795639', '-97.272178', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20918, 'Rock', 2796, '67131', '620', '37.425474', '-96.93298', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20919, 'Rosalia', 2796, '67132', '620', '37.781318', '-96.611882', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20920, 'Rose Hill', 2796, '67133', '316', '37.577553', '-97.089788', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20921, 'Rosehill', 2796, '67133', '316', '37.577553', '-97.089788', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20922, 'Oaklawn', 2796, '67216', '316', '37.600568', '-97.311118', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20923, 'Wichita', 2796, '67216', '316', '37.600568', '-97.311118', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20924, 'Wichita', 2796, '67232', '316', '37.635748', '-97.171298', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20925, 'Bartlett', 2796, '67332', '620', '37.06039', '-95.231032', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20926, 'Chautauqua', 2796, '67334', '620', '37.02624', '-96.177725', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20927, 'Tyro', 2796, '67364', '620', '37.038119', '-95.821824', '2018-11-29 04:52:51', '2018-11-29 04:52:51'),\n(20928, 'Aurora', 2796, '67417', '785', '39.437699', '-97.535843', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20929, 'Barnard', 2796, '67418', '785', '39.17577', '-98.097854', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20930, 'Chapman', 2796, '67431', '785', '38.972817', '-97.009838', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20931, 'Hope', 2796, '67451', '785', '38.70483', '-97.121925', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20932, 'Navarre', 2796, '67451', '785', '38.70483', '-97.121925', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20933, 'Talmage', 2796, '67482', '785', '39.023322', '-97.259766', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20934, 'Tampa', 2796, '67483', '785', '38.522363', '-97.22474', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20935, 'Bazine', 2796, '67516', '785', '38.480196', '-99.696456', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20936, 'La Crosse', 2796, '67548', '785', '38.531229', '-99.364662', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20937, 'Galatia', 2796, '67565', '785', '38.522816', '-99.087809', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20938, 'Otis', 2796, '67565', '785', '38.522816', '-99.087809', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20939, 'Langdon', 2796, '67583', '620', '37.789752', '-98.465278', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20940, 'Preston', 2796, '67583', '620', '37.789752', '-98.465278', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20941, 'Turon', 2796, '67583', '620', '37.789752', '-98.465278', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20942, 'Damar', 2796, '67632', '785', '39.357936', '-99.548546', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20943, 'Dorrance', 2796, '67634', '785', '38.82771', '-98.577354', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20944, 'Dresden', 2796, '67635', '785', '39.611048', '-100.376426', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20945, 'Luray', 2796, '67649', '785', '39.045976', '-98.677968', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20946, 'Natoma', 2796, '67651', '785', '39.176506', '-98.921388', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20947, 'Hays', 2796, '67667', '785', '38.707884', '-99.338424', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20948, 'Schoenchen', 2796, '67667', '785', '38.707884', '-99.338424', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20949, 'Gem', 2796, '67734', '785', '39.43788', '-100.887281', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20950, 'Goodland', 2796, '67735', '785', '39.350924', '-101.753564', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20951, 'Park', 2796, '67751', '785', '39.002616', '-100.343338', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20952, 'Holcomb', 2796, '67851', '620', '38.046909', '-101.021084', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20953, 'Montezuma', 2796, '67867', '620', '37.584218', '-100.433878', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20954, 'Elkhart', 2796, '67950', '620', '37.191244', '-101.934437', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20955, 'Moscow', 2796, '67952', '620', '37.301026', '-101.312186', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20956, 'Ama', 2798, '70031', '504', '29.859266', '-90.273677', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20957, 'Metairie', 2798, '70033', '504', '29.9839', '-90.1526', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20958, 'Edgard', 2798, '70049', '985', '29.967591', '-90.581558', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20959, 'Wallace', 2798, '70049', '985', '29.967591', '-90.581558', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20960, 'Pilottown', 2798, '70081', '985', '29.25156', '-89.264468', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20961, 'Bohemia', 2798, '70082', '985', '29.541896', '-89.751184', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20962, 'Davant', 2798, '70082', '985', '29.541896', '-89.751184', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20963, 'Pointe A La Hache', 2798, '70082', '985', '29.541896', '-89.751184', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20964, 'Pt A La Hache', 2798, '70082', '985', '29.541896', '-89.751184', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20965, 'New Orleans', 2798, '70113', '504', '29.944064', '-90.083158', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20966, 'New Orleans', 2798, '70165', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20967, 'Sewage Water Board', 2798, '70165', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20968, 'New Orleans', 2798, '70167', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20969, 'New Orleans Pub Serv', 2798, '70167', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20970, 'Houma', 2798, '70364', '985', '29.632742', '-90.667257', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20971, 'Hammond', 2798, '70401', '985', '30.535806', '-90.46436', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20972, 'Hootenville', 2798, '70448', '985', '30.35673', '-90.048993', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20973, 'Lewisburg', 2798, '70448', '985', '30.35673', '-90.048993', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20974, 'Mandeville', 2798, '70448', '985', '30.35673', '-90.048993', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20975, 'Natalbany', 2798, '70451', '985', '30.55192', '-90.485887', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20976, 'Talisheek', 2798, '70464', '985', '30.522646', '-89.886233', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20977, 'Tangipahoa', 2798, '70465', '985', '30.876443', '-90.508925', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20978, 'Angie', 2798, '70467', '985', '30.978325', '-89.755598', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20979, 'Varnado', 2798, '70467', '985', '30.978325', '-89.755598', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20980, 'Lafayette', 2798, '70501', '337', '30.238886', '-91.989448', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20981, 'Breaux Bridge', 2798, '70517', '337', '30.285328', '-91.827846', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20982, 'Butte Larose', 2798, '70517', '337', '30.285328', '-91.827846', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20983, 'Henderson', 2798, '70517', '337', '30.285328', '-91.827846', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20984, 'Broussard', 2798, '70518', '337', '30.119576', '-91.934853', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20985, 'Elton', 2798, '70532', '337', '30.484076', '-92.706621', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20986, 'Erath', 2798, '70533', '337', '29.877707', '-92.06374', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20987, 'Kaplan', 2798, '70548', '337', '29.830887', '-92.400492', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20988, 'St Bernard Grove', 2798, '70075', '504', '29.959468', '-89.893346', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20989, 'Vacherie', 2798, '70090', '225', '29.96765', '-90.70629', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20990, 'Burrwood', 2798, '70091', '985', '29.213034', '-89.358052', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20991, 'Port Eads', 2798, '70091', '985', '29.213034', '-89.358052', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20992, 'South Pass', 2798, '70091', '985', '29.213034', '-89.358052', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20993, 'Venice', 2798, '70091', '985', '29.213034', '-89.358052', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20994, 'Hi Land', 2798, '70092', '504', '29.909623', '-89.860028', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20995, 'Violet', 2798, '70092', '504', '29.909623', '-89.860028', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20996, 'Naval Support Act Westbank', 2798, '70142', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20997, 'New Orleans', 2798, '70142', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20998, 'New Orleans', 2798, '70158', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(20999, 'New Orleans', 2798, '70172', '504', '29.9545', '-90.0753', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(21000, 'Belle Rose', 2798, '70341', '225', '30.034818', '-91.059292', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(21001, 'Bruly Saint Martin', 2798, '70341', '225', '30.034818', '-91.059292', '2018-11-29 04:52:52', '2018-11-29 04:52:52'),\n(21002, 'Magnolia', 2798, '70341', '225', '30.034818', '-91.059292', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21003, 'Golden Meadow', 2798, '70357', '985', '29.27286', '-90.216255', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21004, 'Leeville', 2798, '70357', '985', '29.27286', '-90.216255', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21005, 'Gray', 2798, '70359', '985', '29.68512', '-90.768522', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21006, 'Larose', 2798, '70373', '985', '29.519818', '-90.456038', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21007, 'Napoleonville', 2798, '70390', '985', '29.91052', '-91.036123', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21008, 'Paincourtville', 2798, '70391', '985', '29.990112', '-91.058936', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21009, 'Paincourtvlle', 2798, '70391', '985', '29.990112', '-91.058936', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21010, 'Angie', 2798, '70426', '985', '30.916776', '-89.878944', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21011, 'Chipola', 2798, '70441', '225', '30.875078', '-90.714908', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21012, 'Greensburg', 2798, '70441', '225', '30.875078', '-90.714908', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21013, 'Charenton', 2798, '70523', '337', '29.88017', '-91.533777', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21014, 'Chataignier', 2798, '70524', '337', '30.571162', '-92.320188', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21015, 'Church Point', 2798, '70525', '337', '30.418222', '-92.219885', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21016, 'Gueydan', 2798, '70542', '337', '30.001243', '-92.606658', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21017, 'Milton', 2798, '70558', '337', '30.100514', '-92.063795', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21018, 'Drew', 2798, '70607', '337', '30.066435', '-93.200116', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21019, 'Lake Charles', 2798, '70607', '337', '30.066435', '-93.200116', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21020, 'Reeves', 2798, '70658', '337', '30.532459', '-93.021714', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21021, 'Gonzales', 2798, '70707', '225', '30.2383', '-90.9202', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21022, 'Convent', 2798, '70723', '225', '30.051446', '-90.85151', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21023, 'Denham Spgs', 2798, '70726', '225', '30.432121', '-90.881074', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21024, 'Denham Springs', 2798, '70726', '225', '30.432121', '-90.881074', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21025, 'Dennis Mills', 2798, '70726', '225', '30.432121', '-90.881074', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21026, 'Port Vincent', 2798, '70726', '225', '30.432121', '-90.881074', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21027, 'Grosse Tete', 2798, '70740', '225', '30.338388', '-91.486244', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21028, 'New Roads', 2798, '70760', '225', '30.705368', '-91.46817', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21029, 'Bains', 2798, '70775', '225', '30.863274', '-91.419025', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21030, 'Hardwood', 2798, '70775', '225', '30.863274', '-91.419025', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21031, 'Saint Francisville', 2798, '70775', '225', '30.863274', '-91.419025', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21032, 'St Francisvle', 2798, '70775', '225', '30.863274', '-91.419025', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21033, 'Slaughter', 2798, '70777', '225', '30.744306', '-91.082851', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21034, 'Baton Rouge', 2798, '70808', '225', '30.400303', '-91.144193', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21035, 'Baton Rouge', 2798, '70825', '225', '30.4506', '-91.1547', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21036, 'One Amer Pl', 2798, '70825', '225', '30.4506', '-91.1547', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21037, 'Metairie', 2798, '70006', '504', '30.1067', '-90.19314', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21038, 'Boutte', 2798, '70039', '985', '29.888843', '-90.395164', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21039, 'Belair', 2798, '70040', '504', '29.612727', '-89.677014', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21040, 'Braithwaite', 2798, '70040', '504', '29.612727', '-89.677014', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21041, 'Carlisle', 2798, '70040', '504', '29.612727', '-89.677014', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21042, 'Davant', 2798, '70040', '504', '29.612727', '-89.677014', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21043, 'Buras', 2798, '70041', '985', '29.321819', '-89.517153', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21044, 'Ostrica', 2798, '70041', '985', '29.321819', '-89.517153', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21045, 'Pilottown', 2798, '70041', '985', '29.321819', '-89.517153', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21046, 'Triumph', 2798, '70041', '985', '29.321819', '-89.517153', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21047, 'Metairie', 2798, '70055', '504', '29.9839', '-90.1526', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21048, 'Gretna', 2798, '70056', '504', '29.887218', '-90.027717', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21049, 'Terrytown', 2798, '70056', '504', '29.887218', '-90.027717', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21050, 'Hahnville', 2798, '70057', '985', '29.942201', '-90.471582', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21051, 'Killona', 2798, '70057', '985', '29.942201', '-90.471582', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21052, 'Harvey', 2798, '70058', '504', '29.869716', '-90.064688', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21053, 'Marrero', 2798, '70072', '504', '29.826396', '-90.131019', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21054, 'Marrero', 2798, '70073', '504', '29.8992', '-90.1005', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21055, 'Elmwood', 2798, '70123', '504', '29.949328', '-90.204824', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21056, 'Harahan', 2798, '70123', '504', '29.949328', '-90.204824', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21057, 'Metairie', 2798, '70003', '504', '30.096921', '-90.21268', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21058, 'Gretna', 2798, '70053', '504', '29.914257', '-90.056722', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21059, 'Lutcher', 2798, '70071', '225', '30.066446', '-90.711971', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21060, 'Delacroix', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21061, 'Hopedale', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21062, 'Kenilworth', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21063, 'Poydras', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21064, 'Reggio', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21065, 'Saint Bernard', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21066, 'Shell Beach', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21067, 'St Bernard', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21068, 'Toca', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21069, 'Verret', 2798, '70085', '504', '29.850582', '-89.590604', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21070, '9 Mile Point', 2798, '70094', '504', '29.898888', '-90.20334', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21071, 'Avondale', 2798, '70094', '504', '29.898888', '-90.20334', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21072, 'Bridge City', 2798, '70094', '504', '29.898888', '-90.20334', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21073, 'South Kenner', 2798, '70094', '504', '29.898888', '-90.20334', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21074, 'Waggaman', 2798, '70094', '504', '29.898888', '-90.20334', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21075, 'Westwego', 2798, '70094', '504', '29.898888', '-90.20334', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21076, 'New Orleans', 2798, '70128', '504', '30.096608', '-89.988048', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21077, 'New Orleans', 2798, '70151', '504', '29.9545', '-90.0753', '2018-11-29 04:52:53', '2018-11-29 04:52:53'),\n(21078, 'New Orleans', 2798, '70160', '504', '29.9545', '-90.0753', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21079, 'Nicholls State University', 2798, '70310', '985', '29.7934', '-90.7984', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21080, 'Thibodaux', 2798, '70310', '985', '29.7934', '-90.7984', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21081, 'Gheens', 2798, '70355', '985', '29.674315', '-90.460122', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21082, 'Allemand', 2798, '70360', '985', '29.598949', '-90.822026', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21083, 'Bayou Blue', 2798, '70360', '985', '29.598949', '-90.822026', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21084, 'Houma', 2798, '70360', '985', '29.598949', '-90.822026', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21085, 'Raceland', 2798, '70394', '985', '29.70539', '-90.529984', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21086, 'St Charles', 2798, '70394', '985', '29.70539', '-90.529984', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21087, 'Hammond', 2798, '70403', '985', '30.474164', '-90.469878', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21088, 'Akers', 2798, '70421', '985', '30.2882', '-90.4014', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21089, 'Loranger', 2798, '70446', '985', '30.609478', '-90.355884', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21090, 'Slidell', 2798, '70460', '985', '30.306465', '-89.824154', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21091, 'Cade', 2798, '70519', '337', '30.0875', '-91.9056', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21092, 'Cecilia', 2798, '70521', '337', '30.336406', '-91.8492', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21093, 'Eunice', 2798, '70535', '337', '30.503755', '-92.432275', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21094, 'Evangeline', 2798, '70537', '337', '30.256232', '-92.564194', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21095, 'Washington', 2798, '70589', '337', '30.709556', '-92.036888', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21096, 'Lake Charles', 2798, '70605', '337', '30.127198', '-93.280384', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21097, 'Sweet Lake', 2798, '70605', '337', '30.127198', '-93.280384', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21098, 'Lake Charles', 2798, '70612', '337', '30.2265', '-93.2175', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21099, 'Fields', 2798, '70653', '337', '30.650671', '-93.567134', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21100, 'Merryville', 2798, '70653', '337', '30.650671', '-93.567134', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21101, 'Oberlin', 2798, '70655', '337', '30.620535', '-92.737462', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21102, 'Sulphur', 2798, '70664', '337', '30.2364', '-93.3772', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21103, 'Angola', 2798, '70712', '225', '30.967133', '-91.600616', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21104, 'Gonzales', 2798, '70737', '225', '30.225369', '-90.925334', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21105, 'Jackson', 2798, '70748', '225', '30.798404', '-91.258618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21106, 'The Bluffs', 2798, '70748', '225', '30.798404', '-91.258618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21107, 'Livonia', 2798, '70755', '225', '30.59259', '-91.525523', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21108, 'Baton Rouge', 2798, '70803', '225', '30.41183', '-91.185907', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21109, 'La St Univ', 2798, '70803', '225', '30.41183', '-91.185907', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21110, 'University', 2798, '70803', '225', '30.41183', '-91.185907', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21111, 'Baton Rouge', 2798, '70812', '225', '30.49954', '-91.110564', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21112, 'Baton Rouge', 2798, '70898', '225', '30.4506', '-91.1547', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21113, 'Cullen', 2798, '71021', '318', '32.9721', '-93.449116', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21114, 'Gloster', 2798, '71030', '318', '32.182528', '-93.810092', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21115, 'Kickapoo', 2798, '71030', '318', '32.182528', '-93.810092', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21116, 'Adner', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21117, 'Bellevue', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21118, 'Bodcau', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21119, 'Fillmore', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21120, 'Haughton', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21121, 'Koran', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21122, 'Red Chute', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21123, 'Sligo', 2798, '71037', '318', '32.579801', '-93.533618', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21124, 'Four Forks', 2798, '71046', '318', '32.163841', '-93.942104', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21125, 'Keatchie', 2798, '71046', '318', '32.163841', '-93.942104', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21126, 'Holsey', 2798, '71048', '318', '32.843885', '-92.856669', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21127, 'Lisbon', 2798, '71048', '318', '32.843885', '-92.856669', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21128, 'Madison Park', 2798, '71105', '318', '32.452625', '-93.708751', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21129, 'Shreve Island', 2798, '71105', '318', '32.452625', '-93.708751', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21130, 'Shreveport', 2798, '71105', '318', '32.452625', '-93.708751', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21131, 'Southfield', 2798, '71105', '318', '32.452625', '-93.708751', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21132, 'Youree', 2798, '71105', '318', '32.452625', '-93.708751', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21133, 'Dixie', 2798, '71107', '318', '32.614169', '-93.870748', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21134, 'Industrial', 2798, '71107', '318', '32.614169', '-93.870748', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21135, 'Risinger Woods', 2798, '71107', '318', '32.614169', '-93.870748', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21136, 'Sentell', 2798, '71107', '318', '32.614169', '-93.870748', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21137, 'Shreveport', 2798, '71107', '318', '32.614169', '-93.870748', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21138, 'Bossier City', 2798, '71112', '318', '32.449728', '-93.636786', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21139, 'Shreveport', 2798, '71130', '318', '32.5253', '-93.7501', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21140, 'Shreveport', 2798, '71137', '318', '32.5253', '-93.7501', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21141, 'Bastrop', 2798, '71221', '318', '32.7789', '-91.9143', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21142, 'Oak Ridge', 2798, '71264', '318', '32.596866', '-91.766776', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21143, 'S Dennis', 2799, '02660', '508', '41.713662', '-70.15542', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21144, 'South Dennis', 2799, '02660', '508', '41.713662', '-70.15542', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21145, 'Wellfleet', 2799, '02667', '508', '41.933858', '-70.018763', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21146, 'Attleboro', 2799, '02703', '508', '41.938267', '-71.294158', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21147, 'S Attleboro', 2799, '02703', '508', '41.938267', '-71.294158', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21148, 'South Attleboro', 2799, '02703', '508', '41.938267', '-71.294158', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21149, 'East Freetown', 2799, '02717', '508', '41.7526', '-70.981486', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21150, 'Aquinnah', 2799, '02535', '508', '41.328156', '-70.744782', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21151, 'Chilmark', 2799, '02535', '508', '41.328156', '-70.744782', '2018-11-29 04:52:54', '2018-11-29 04:52:54'),\n(21152, 'Gay Head', 2799, '02535', '508', '41.328156', '-70.744782', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21153, 'Buzzards Bay', 2799, '02542', '508', '41.659229', '-70.552098', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21154, 'Otis A F B', 2799, '02542', '508', '41.659229', '-70.552098', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21155, 'Otis Air National Guard', 2799, '02542', '508', '41.659229', '-70.552098', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21156, 'Otis Ang', 2799, '02542', '508', '41.659229', '-70.552098', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21157, 'Otis Angb', 2799, '02542', '508', '41.659229', '-70.552098', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21158, 'Big Pond', 2799, '01029', '413', '42.192033', '-73.045339', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21159, 'E Otis', 2799, '01029', '413', '42.192033', '-73.045339', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21160, 'East Otis', 2799, '01029', '413', '42.192033', '-73.045339', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21161, 'Newton', 2799, '02460', '617', '42.352287', '-71.207258', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21162, 'Newtonville', 2799, '02460', '617', '42.352287', '-71.207258', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21163, 'Cotuit', 2799, '02635', '508', '41.622297', '-70.43606', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21164, 'Boston', 2799, '02283', '617', '42.3586', '-71.0603', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21165, 'E Bridgewater', 2799, '02333', '508', '42.033736', '-70.942548', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21166, 'E Bridgewtr', 2799, '02333', '508', '42.033736', '-70.942548', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21167, 'East Bridgewater', 2799, '02333', '508', '42.033736', '-70.942548', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21168, 'Middleboro', 2799, '02349', '508', '41.8934', '-70.9117', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21169, 'Middleborough', 2799, '02349', '508', '41.8934', '-70.9117', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21170, 'Ocean Spray', 2799, '02349', '508', '41.8934', '-70.9117', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21171, 'Cambridge', 2799, '02142', '617', '42.36249', '-71.080492', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21172, 'Kendall Square', 2799, '02142', '617', '42.36249', '-71.080492', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21173, 'Islington', 2799, '02090', '781', '42.221173', '-71.199439', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21174, 'Westwood', 2799, '02090', '781', '42.221173', '-71.199439', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21175, 'Boston', 2799, '02108', '617', '42.357322', '-71.0645', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21176, 'Boston', 2799, '02124', '617', '42.28491', '-71.069753', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21177, 'Dorchester', 2799, '02124', '617', '42.28491', '-71.069753', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21178, 'Dorchester Center', 2799, '02124', '617', '42.28491', '-71.069753', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21179, 'Dorchestr Ctr', 2799, '02124', '617', '42.28491', '-71.069753', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21180, 'Boston', 2799, '02131', '617', '42.283528', '-71.121772', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21181, 'Roslindale', 2799, '02131', '617', '42.283528', '-71.121772', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21182, 'Reading', 2799, '01867', '781', '42.533282', '-71.103608', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21183, 'Winchester', 2799, '01890', '781', '42.449942', '-71.14999', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21184, 'Andover', 2799, '01899', '978', '42.6586', '-71.1375', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21185, 'Bar Coded Irs', 2799, '01899', '978', '42.6586', '-71.1375', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21186, 'Lynn', 2799, '01901', '781', '42.460542', '-70.94614', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21187, 'Byfield', 2799, '01922', '978', '42.758286', '-70.917065', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21188, 'Newbury', 2799, '01922', '978', '42.758286', '-70.917065', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21189, 'Lynnfield', 2799, '01940', '781', '42.538193', '-71.030538', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21190, 'South Lynnfield', 2799, '01940', '781', '42.538193', '-71.030538', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21191, 'Hudson', 2799, '01749', '978', '42.389119', '-71.538802', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21192, 'Mendon', 2799, '01756', '508', '42.103812', '-71.544618', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21193, 'Bank Of America', 2799, '01815', '781', '42.4793', '-71.1526', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21194, 'Woburn', 2799, '01815', '781', '42.4793', '-71.1526', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21195, 'Haverhill', 2799, '01831', '978', '42.7763', '-71.0778', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21196, 'Greenbush', 2799, '02040', '781', '42.1792', '-70.7501', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21197, 'Scituate', 2799, '02040', '781', '42.1792', '-70.7501', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21198, 'N Uxbridge', 2799, '01538', '508', '42.0878', '-71.6417', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21199, 'North Uxbridge', 2799, '01538', '508', '42.0878', '-71.6417', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21200, 'Oxford', 2799, '01540', '508', '42.121482', '-71.854026', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21201, 'Greendale', 2799, '01606', '508', '42.313314', '-71.796346', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21202, 'Worcester', 2799, '01606', '508', '42.313314', '-71.796346', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21203, 'North Adams', 2799, '01247', '413', '42.695558', '-73.087992', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21204, 'Wendell', 2799, '01379', '978', '42.554654', '-72.408295', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21205, 'E Templeton', 2799, '01438', '978', '42.565092', '-72.031569', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21206, 'East Templeton', 2799, '01438', '978', '42.565092', '-72.031569', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21207, 'E Pepperell', 2799, '01463', '978', '42.665524', '-71.599356', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21208, 'East Pepperell', 2799, '01463', '978', '42.665524', '-71.599356', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21209, 'Pepperell', 2799, '01463', '978', '42.665524', '-71.599356', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21210, 'Townsend', 2799, '01474', '978', '42.66967', '-71.743376', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21211, 'W Townsend', 2799, '01474', '978', '42.66967', '-71.743376', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21212, 'West Townsend', 2799, '01474', '978', '42.66967', '-71.743376', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21213, 'Leicester', 2799, '01524', '508', '42.240144', '-71.918765', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21214, 'Longmeadow', 2799, '01106', '413', '42.05056', '-72.565884', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21215, 'Spfld (Long)', 2799, '01106', '413', '42.05056', '-72.565884', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21216, 'Springfield', 2799, '01106', '413', '42.05056', '-72.565884', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21217, 'Assoc Of Marian Helpers', 2799, '01263', '413', '42.2878', '-73.3208', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21218, 'Marian Helpers', 2799, '01263', '413', '42.2878', '-73.3208', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21219, 'Marion Fathers', 2799, '01263', '413', '42.2878', '-73.3208', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21220, 'Stockbridge', 2799, '01263', '413', '42.2878', '-73.3208', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21221, 'Colrain', 2799, '01340', '413', '42.675342', '-72.740774', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21222, 'Shattuckville', 2799, '01340', '413', '42.675342', '-72.740774', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21223, 'Hatfield', 2799, '01038', '413', '42.3863', '-72.60588', '2018-11-29 04:52:55', '2018-11-29 04:52:55'),\n(21224, 'West Hatfield', 2799, '01038', '413', '42.3863', '-72.60588', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21225, 'Spfld', 2799, '01138', '413', '42.1015', '-72.5905', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21226, 'Springfield', 2799, '01138', '413', '42.1015', '-72.5905', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21227, 'Ashley Falls', 2799, '01222', '413', '42.065432', '-73.316479', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21228, 'Berkshire', 2799, '01224', '413', '42.503468', '-73.202113', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21229, 'Lanesboro', 2799, '01224', '413', '42.503468', '-73.202113', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21230, 'Lee', 2799, '01238', '413', '42.287955', '-73.206905', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21231, 'W Becket', 2799, '01238', '413', '42.287955', '-73.206905', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21232, 'Clarksburg', 2799, '01247', '413', '42.695558', '-73.087992', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21233, 'Florida', 2799, '01247', '413', '42.695558', '-73.087992', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21234, 'N Adams', 2799, '01247', '413', '42.695558', '-73.087992', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21235, 'No Adams', 2799, '01247', '413', '42.695558', '-73.087992', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21236, 'Shutesbury', 2799, '01072', '413', '42.463022', '-72.419998', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21237, 'W Hatfield', 2799, '01088', '413', '42.388711', '-72.646558', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21238, 'West Hatfield', 2799, '01088', '413', '42.388711', '-72.646558', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21239, 'Fall River', 2799, '02720', '508', '41.73162', '-71.109006', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21240, 'Falmouth', 2799, '02540', '508', '41.578251', '-70.62514', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21241, 'Nantucket', 2799, '02554', '508', '41.315734', '-70.119656', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21242, 'Lexington', 2799, '02420', '781', '42.457706', '-71.216824', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21243, 'Waltham', 2799, '02454', '781', '42.3767', '-71.2363', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21244, 'North Waltham', 2799, '02455', '617', '42.3586', '-71.0605', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21245, 'Waltham', 2799, '02455', '617', '42.3586', '-71.0605', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21246, 'Cummaquid', 2799, '02637', '508', '41.6991', '-70.2777', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21247, 'Boston', 2799, '02222', '617', '42.366297', '-71.062845', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21248, 'Avon', 2799, '02322', '508', '42.128841', '-71.046906', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21249, 'Elmwood', 2799, '02337', '508', '42.0154', '-70.9646', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21250, 'E Watertown', 2799, '02472', '617', '42.372094', '-71.178567', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21251, 'East Watertown', 2799, '02472', '617', '42.372094', '-71.178567', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21252, 'Watertown', 2799, '02472', '617', '42.372094', '-71.178567', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21253, 'East Weymouth', 2799, '02189', '781', '42.21447', '-70.933358', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21254, 'Weymouth', 2799, '02189', '781', '42.21447', '-70.933358', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21255, 'East Carver', 2799, '02355', '508', '41.9272', '-70.7516', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21256, 'North Carver', 2799, '02355', '508', '41.9272', '-70.7516', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21257, 'Stoughton', 2799, '02072', '781', '42.11855', '-71.103346', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21258, 'Boston', 2799, '02204', '617', '42.3586', '-71.0603', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21259, 'Mass Tax', 2799, '02204', '617', '42.3586', '-71.0603', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21260, 'Massachusetts Tax', 2799, '02204', '617', '42.3586', '-71.0603', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21261, 'Boston', 2799, '02206', '617', '42.3586', '-71.0603', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21262, 'State Street Corporation', 2799, '02206', '617', '42.3586', '-71.0603', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21263, 'Wilmington', 2799, '01887', '978', '42.565327', '-71.174652', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21264, 'Woburn', 2799, '01888', '781', '42.4806', '-71.1516', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21265, 'Lynn', 2799, '01902', '781', '42.473415', '-70.942636', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21266, 'Hathorne', 2799, '01937', '978', '42.5834', '-70.9859', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21267, 'Rowley', 2799, '01969', '978', '42.717874', '-70.895394', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21268, 'Vlg Of Nagog Woods', 2799, '01718', '978', '42.519469', '-71.428982', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21269, 'Acton', 2799, '01719', '978', '42.491359', '-71.517726', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21270, 'Boxboro', 2799, '01719', '978', '42.491359', '-71.517726', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21271, 'Boxborough', 2799, '01719', '978', '42.491359', '-71.517726', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21272, 'Acton', 2799, '01720', '978', '42.484174', '-71.439501', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21273, 'W Acton', 2799, '01720', '978', '42.484174', '-71.439501', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21274, 'West Acton', 2799, '01720', '978', '42.484174', '-71.439501', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21275, 'Maynard', 2799, '01754', '978', '42.428493', '-71.45771', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21276, 'Sherborn', 2799, '01770', '508', '42.231344', '-71.374631', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21277, 'Burlington', 2799, '01803', '781', '42.505988', '-71.204536', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21278, 'Billerica', 2799, '01821', '978', '42.549069', '-71.25588', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21279, 'Lowell', 2799, '01852', '978', '42.628515', '-71.296476', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21280, 'Franklin', 2799, '02038', '508', '42.087009', '-71.407757', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21281, 'North Oxford', 2799, '01537', '508', '42.162944', '-71.891157', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21282, 'Dudley Hill', 2799, '01570', '508', '42.058201', '-71.848067', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21283, 'Webster', 2799, '01570', '508', '42.058201', '-71.848067', '2018-11-29 04:52:56', '2018-11-29 04:52:56');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(21284, 'Worcester', 2799, '01604', '508', '42.249198', '-71.764908', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21285, 'Allmerica', 2799, '01653', '508', '42.2627', '-71.8028', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21286, 'Worcester', 2799, '01653', '508', '42.2627', '-71.8028', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21287, 'Verizon', 2799, '01654', '508', '42.2627', '-71.8028', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21288, 'Worcester', 2799, '01654', '508', '42.2627', '-71.8028', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21289, 'Acton', 2799, '01718', '978', '42.519469', '-71.428982', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21290, 'Village Of Nagog Woods', 2799, '01718', '978', '42.519469', '-71.428982', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21291, 'Vlg Nagog Wds', 2799, '01718', '978', '42.519469', '-71.428982', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21292, 'Baldwinville', 2799, '01436', '978', '42.600122', '-72.086316', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21293, 'Otter River', 2799, '01436', '978', '42.600122', '-72.086316', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21294, 'Leominster', 2799, '01453', '978', '42.524468', '-71.772212', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21295, 'Templeton', 2799, '01468', '978', '42.543162', '-72.066854', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21296, 'Townsend', 2799, '01469', '978', '42.659557', '-71.702288', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21297, 'Berlin', 2799, '01503', '978', '42.384234', '-71.629366', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21298, 'Blackstone', 2799, '01504', '508', '42.039526', '-71.530657', '2018-11-29 04:52:56', '2018-11-29 04:52:56'),\n(21299, 'E Blackstone', 2799, '01504', '508', '42.039526', '-71.530657', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21300, 'East Blackstone', 2799, '01504', '508', '42.039526', '-71.530657', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21301, 'Millerville', 2799, '01504', '508', '42.039526', '-71.530657', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21302, 'Holden', 2799, '01520', '508', '42.333798', '-71.853266', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21303, 'Royalston', 2799, '01368', '978', '42.670469', '-72.197026', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21304, 'S Royalston', 2799, '01368', '978', '42.670469', '-72.197026', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21305, 'Lithia', 2799, '01032', '413', '42.454455', '-72.826714', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21306, 'Hadley', 2799, '01035', '413', '42.356251', '-72.585014', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21307, 'North Hadley', 2799, '01035', '413', '42.356251', '-72.585014', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21308, 'Spfld', 2799, '01118', '413', '42.095584', '-72.524304', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21309, 'Springfield', 2799, '01118', '413', '42.095584', '-72.524304', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21310, 'General Mail Facility-Bmc', 2799, '01152', '413', '42.1028', '-72.5921', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21311, 'Springfield', 2799, '01152', '413', '42.1028', '-72.5921', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21312, 'Allendale', 2799, '01201', '413', '42.466531', '-73.289364', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21313, 'Pittsfield', 2799, '01201', '413', '42.466531', '-73.289364', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21314, 'Pittsfield', 2799, '01202', '413', '42.4501', '-73.2456', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21315, 'Pittsfield', 2799, '01203', '413', '42.4501', '-73.2456', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21316, 'Hinsdale', 2799, '01235', '413', '42.3959', '-73.076287', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21317, 'Peru', 2799, '01235', '413', '42.3959', '-73.076287', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21318, 'Oakham', 2799, '01068', '508', '42.353309', '-72.051399', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21319, 'Warren', 2799, '01083', '413', '42.202992', '-72.197431', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21320, 'Montgomery', 2799, '01085', '413', '42.162725', '-72.771374', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21321, 'Westfield', 2799, '01085', '413', '42.162725', '-72.771374', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21322, 'Westfield', 2799, '01086', '413', '42.1253', '-72.7501', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21323, 'Babson Park', 2799, '02457', '781', '42.2988', '-71.2601', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21324, 'Wellesley', 2799, '02457', '781', '42.2988', '-71.2601', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21325, 'Tisbury', 2799, '02575', '508', '41.396092', '-70.640244', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21326, 'West Tisbury', 2799, '02575', '508', '41.396092', '-70.640244', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21327, 'Bryantville', 2799, '02327', '781', '42.0425', '-70.8459', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21328, 'Duxbury', 2799, '02332', '781', '42.045707', '-70.690549', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21329, 'Easton', 2799, '02334', '508', '42.0275', '-71.1279', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21330, 'Arlington', 2799, '02475', '781', '42.4288', '-71.1494', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21331, 'Arlington Heights', 2799, '02475', '781', '42.4288', '-71.1494', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21332, 'Arlington Hts', 2799, '02475', '781', '42.4288', '-71.1494', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21333, 'Field Premium Inc', 2799, '02477', '617', '42.3708', '-71.1833', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21334, 'Watertown', 2799, '02477', '617', '42.3708', '-71.1833', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21335, 'Wellesley', 2799, '02482', '781', '42.2935', '-71.299285', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21336, 'Cambridge', 2799, '02141', '617', '42.370159', '-71.080748', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21337, 'E Cambridge', 2799, '02141', '617', '42.370159', '-71.080748', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21338, 'East Cambridge', 2799, '02141', '617', '42.370159', '-71.080748', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21339, 'Malden', 2799, '02148', '781', '42.43279', '-71.054417', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21340, 'Braintree', 2799, '02184', '781', '42.203355', '-71.004824', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21341, 'Braintree Highlands', 2799, '02184', '781', '42.203355', '-71.004824', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21342, 'Braintree Hld', 2799, '02184', '781', '42.203355', '-71.004824', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21343, 'E Braintree', 2799, '02184', '781', '42.203355', '-71.004824', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21344, 'East Braintree', 2799, '02184', '781', '42.203355', '-71.004824', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21345, 'East Pembroke', 2799, '02359', '781', '42.064865', '-70.798555', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21346, 'Pembroke', 2799, '02359', '781', '42.064865', '-70.798555', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21347, 'Wrentham', 2799, '02093', '508', '42.055321', '-71.371588', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21348, 'Boston', 2799, '02125', '617', '42.315824', '-71.055735', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21349, 'Dorchester', 2799, '02125', '617', '42.315824', '-71.055735', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21350, 'Uphams Corner', 2799, '02125', '617', '42.315824', '-71.055735', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21351, 'N Weymouth', 2799, '02191', '781', '42.246844', '-70.943521', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21352, 'North Weymouth', 2799, '02191', '781', '42.246844', '-70.943521', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21353, 'Weymouth', 2799, '02191', '781', '42.246844', '-70.943521', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21354, 'Boston', 2799, '02132', '617', '42.279314', '-71.165852', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21355, 'W Roxbury', 2799, '02132', '617', '42.279314', '-71.165852', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21356, 'West Roxbury', 2799, '02132', '617', '42.279314', '-71.165852', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21357, 'Allston', 2799, '02134', '617', '42.357649', '-71.128887', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21358, 'Boston', 2799, '02134', '617', '42.357649', '-71.128887', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21359, 'North Reading', 2799, '01864', '978', '42.58049', '-71.087025', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21360, 'Danvers', 2799, '01923', '978', '42.576767', '-70.951352', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21361, 'Newburyport', 2799, '01950', '978', '42.81423', '-70.874524', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21362, 'Plum Island', 2799, '01950', '978', '42.81423', '-70.874524', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21363, 'Pigeon Cove', 2799, '01966', '978', '42.66054', '-70.616169', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21364, 'Rockport', 2799, '01966', '978', '42.66054', '-70.616169', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21365, 'Cohasset', 2799, '02025', '781', '42.232751', '-70.815908', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21366, 'Bedford', 2799, '01730', '781', '42.49988', '-71.275308', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21367, 'Burlington', 2799, '01805', '781', '42.5044', '-71.1964', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21368, 'Lahey Clinic Med Ctr', 2799, '01805', '781', '42.5044', '-71.1964', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21369, 'Haverhill', 2799, '01832', '978', '42.791176', '-71.129295', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21370, 'E Walpole', 2799, '02032', '508', '42.154132', '-71.215034', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21371, 'East Walpole', 2799, '02032', '508', '42.154132', '-71.215034', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21372, 'S Deerfield', 2799, '01373', '413', '42.464914', '-72.61716', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21373, 'So Deerfield', 2799, '01373', '413', '42.464914', '-72.61716', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21374, 'Central Mass P & D Ctr', 2799, '01546', '508', '42.2959', '-71.7134', '2018-11-29 04:52:57', '2018-11-29 04:52:57'),\n(21375, 'Shrewsbury', 2799, '01546', '508', '42.2959', '-71.7134', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21376, 'Globe Village', 2799, '01550', '508', '42.067572', '-72.044007', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21377, 'Sandersdale', 2799, '01550', '508', '42.067572', '-72.044007', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21378, 'Southbridge', 2799, '01550', '508', '42.067572', '-72.044007', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21379, 'Sturbridge', 2799, '01566', '508', '42.101636', '-72.079806', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21380, 'Worcester', 2799, '01614', '508', '42.2627', '-71.8028', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21381, 'Framingham', 2799, '01705', '508', '42.3026', '-71.4236', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21382, 'N Reading', 2799, '01864', '978', '42.58049', '-71.087025', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21383, 'Sandisfield', 2799, '01255', '413', '42.113526', '-73.119992', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21384, 'South Sandisfield', 2799, '01255', '413', '42.113526', '-73.119992', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21385, 'South Deerfield', 2799, '01373', '413', '42.464914', '-72.61716', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21386, 'Ashburnham', 2799, '01430', '978', '42.655656', '-71.922012', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21387, 'South Ashburnham', 2799, '01430', '978', '42.655656', '-71.922012', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21388, 'Westminster', 2799, '01473', '978', '42.559479', '-71.908706', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21389, 'Boylston', 2799, '01505', '508', '42.35397', '-71.717353', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21390, 'Morningdale', 2799, '01505', '508', '42.35397', '-71.717353', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21391, 'Spfld', 2799, '01105', '413', '42.100995', '-72.581566', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21392, 'Springfield', 2799, '01105', '413', '42.100995', '-72.581566', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21393, 'Brightwood', 2799, '01107', '413', '42.121306', '-72.60891', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21394, 'Spfld', 2799, '01107', '413', '42.121306', '-72.60891', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21395, 'Springfield', 2799, '01107', '413', '42.121306', '-72.60891', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21396, 'Bernardston', 2799, '01337', '413', '42.690129', '-72.585089', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21397, 'Leyden', 2799, '01337', '413', '42.690129', '-72.585089', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21398, 'Conway', 2799, '01341', '413', '42.509748', '-72.699049', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21399, 'New Salem', 2799, '01355', '978', '42.426036', '-72.316418', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21400, 'Petersham', 2799, '01366', '978', '42.445872', '-72.213524', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21401, 'Spfld', 2799, '01139', '413', '42.1015', '-72.5905', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21402, 'Springfield', 2799, '01139', '413', '42.1015', '-72.5905', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21403, 'Hancock', 2799, '01237', '413', '42.560748', '-73.244402', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21404, 'Lanesboro', 2799, '01237', '413', '42.560748', '-73.244402', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21405, 'Lanesborough', 2799, '01237', '413', '42.560748', '-73.244402', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21406, 'New Ashford', 2799, '01237', '413', '42.560748', '-73.244402', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21407, 'Bourne', 2799, '02532', '508', '41.727207', '-70.587977', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21408, 'Buzzards Bay', 2799, '02532', '508', '41.727207', '-70.587977', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21409, 'Cataumet', 2799, '02534', '508', '41.666811', '-70.617634', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21410, 'Bourne', 2799, '02559', '508', '41.687945', '-70.622408', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21411, 'Pocasset', 2799, '02559', '508', '41.687945', '-70.622408', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21412, 'Leeds', 2799, '01053', '413', '42.352158', '-72.715494', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21413, 'Southampton', 2799, '01073', '413', '42.230586', '-72.741034', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21414, 'Hardwick', 2799, '01082', '413', '42.288872', '-72.277566', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21415, 'Ware', 2799, '01082', '413', '42.288872', '-72.277566', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21416, 'Worthington', 2799, '01098', '413', '42.390244', '-72.947238', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21417, 'Earleville', 2800, '21919', '410', '39.41956', '-75.92574', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21418, 'Spring Gap', 2800, '21560', '301', '39.563557', '-78.712631', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21419, 'Mccoole', 2800, '21562', '301', '39.485404', '-79.017013', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21420, 'Westernport', 2800, '21562', '301', '39.485404', '-79.017013', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21421, 'Bozman', 2800, '21612', '410', '38.756357', '-76.272812', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21422, 'Libertytown', 2800, '21762', '301', '39.48468', '-77.246711', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21423, 'Mount Airy', 2800, '21771', '301', '39.37407', '-77.156258', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21424, 'Sabillasville', 2800, '21780', '301', '39.675532', '-77.46732', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21425, 'Salisbury', 2800, '21803', '410', '38.3609', '-75.5997', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21426, 'Ingleside', 2800, '21644', '410', '39.119495', '-75.890946', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21427, 'Newcomb', 2800, '21653', '410', '38.752652', '-76.179876', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21428, 'Preston', 2800, '21655', '410', '38.751646', '-75.925658', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21429, 'Tilghman', 2800, '21671', '410', '38.697531', '-76.335209', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21430, 'Frederick', 2800, '21703', '301', '39.361267', '-77.458616', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21431, 'Frederick', 2800, '21705', '301', '39.4142', '-77.4105', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21432, 'Adamstown', 2800, '21710', '301', '39.292024', '-77.443166', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21433, 'Doubs', 2800, '21710', '301', '39.292024', '-77.443166', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21434, 'Baltimore', 2800, '21212', '410', '39.365098', '-76.619574', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21435, 'Govans', 2800, '21212', '410', '39.365098', '-76.619574', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21436, 'Baltimore', 2800, '21217', '410', '39.30754', '-76.637621', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21437, 'Druid', 2800, '21217', '410', '39.30754', '-76.637621', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21438, 'Baltimore', 2800, '21219', '410', '39.227995', '-76.422762', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21439, 'Dundalk Sparrows Point', 2800, '21219', '410', '39.227995', '-76.422762', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21440, 'Edgemere', 2800, '21219', '410', '39.227995', '-76.422762', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21441, 'Sparrows Point', 2800, '21219', '410', '39.227995', '-76.422762', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21442, 'Sparrows Pt', 2800, '21219', '410', '39.227995', '-76.422762', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21443, 'Annapolis', 2800, '21403', '410', '38.941478', '-76.491481', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21444, 'Highland Bch', 2800, '21403', '410', '38.941478', '-76.491481', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21445, 'Cumberland', 2800, '21503', '301', '39.6528', '-78.7626', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21446, 'Barton', 2800, '21521', '301', '39.568408', '-79.059058', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21447, 'Garrison', 2800, '21117', '410', '39.430536', '-76.794319', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21448, 'Owings Mills', 2800, '21117', '410', '39.430536', '-76.794319', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21449, 'Perry Hall', 2800, '21128', '410', '39.406616', '-76.443482', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21450, 'Perryhall', 2800, '21128', '410', '39.406616', '-76.443482', '2018-11-29 04:52:58', '2018-11-29 04:52:58'),\n(21451, 'Baltimore', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21452, 'Brooklyn', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21453, 'Carvel Beach', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21454, 'Chestnut Hill Cove', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21455, 'Chstnt Hl Cv', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21456, 'Clearwater Beach', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21457, 'Colora', 2800, '21917', '410', '39.667489', '-76.101287', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21458, 'Childs', 2800, '21916', '410', '39.6461', '-75.8718', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21459, 'Hhs', 2800, '20857', '301', '39.0839', '-77.1534', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21460, 'Rockville', 2800, '20857', '301', '39.0839', '-77.1534', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21461, 'Clarksburg', 2800, '20871', '301', '39.265621', '-77.286327', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21462, 'Hyattstown', 2800, '20871', '301', '39.265621', '-77.286327', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21463, 'Little Orleans', 2800, '21766', '301', '39.65065', '-78.404428', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21464, 'Ltl Orleans', 2800, '21766', '301', '39.65065', '-78.404428', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21465, 'Crisfield', 2800, '21817', '410', '37.975382', '-75.84962', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21466, 'Baltimore', 2800, '21280', '443', '39.2905', '-76.6125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21467, 'Bank Of America', 2800, '21280', '443', '39.2905', '-76.6125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21468, 'Baltimore', 2800, '21282', '410', '39.2905', '-76.6125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21469, 'Pikesville', 2800, '21282', '410', '39.2905', '-76.6125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21470, 'Millington', 2800, '21651', '410', '39.248948', '-75.878101', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21471, 'Secretary', 2800, '21664', '410', '38.608376', '-75.947614', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21472, 'Frederick', 2800, '21701', '301', '39.46416', '-77.338426', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21473, 'Hood College', 2800, '21701', '301', '39.46416', '-77.338426', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21474, 'Lewistown', 2800, '21701', '301', '39.46416', '-77.338426', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21475, 'Baltimore', 2800, '21298', '443', '39.2905', '-76.6125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21476, 'Baltimore Brm', 2800, '21298', '443', '39.2905', '-76.6125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21477, 'Crellin', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21478, 'Deer Park', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21479, 'Hutton', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21480, 'Loch Lyn Hght', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21481, 'Loch Lynn Heights', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21482, 'Mnt Lake Park', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21483, 'Mountain Lake Park', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21484, 'Mt Lake Park', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21485, 'Mtin Lk Park', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21486, 'Oakland', 2800, '21550', '301', '39.37935', '-79.360037', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21487, 'Perryman', 2800, '21130', '410', '39.466206', '-76.201409', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21488, 'Arbutus', 2800, '21227', '410', '39.241163', '-76.671835', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21489, 'Baltimore', 2800, '21227', '410', '39.241163', '-76.671835', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21490, 'Halethorpe', 2800, '21227', '410', '39.241163', '-76.671835', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21491, 'Elk Mills', 2800, '21920', '410', '39.660991', '-75.828412', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21492, 'Swanton', 2800, '21561', '301', '39.493401', '-79.197903', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21493, 'Emmitsburg', 2800, '21727', '301', '39.67535', '-77.337375', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21494, 'Glenwood', 2800, '21738', '410', '39.281834', '-77.026329', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21495, 'Hagerstown', 2800, '21747', '301', '39.6425', '-77.7151', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21496, 'Ijamsville', 2800, '21754', '301', '39.337817', '-77.304728', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21497, 'Gapland', 2800, '21779', '301', '39.422974', '-77.650352', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21498, 'Rohrersville', 2800, '21779', '301', '39.422974', '-77.650352', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21499, 'Williamsport', 2800, '21795', '301', '39.586459', '-77.825193', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21500, 'Salisbury', 2800, '21804', '410', '38.34458', '-75.515536', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21501, 'Baltimore', 2800, '21286', '410', '39.414596', '-76.571826', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21502, 'Loch Raven', 2800, '21286', '410', '39.414596', '-76.571826', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21503, 'Towson', 2800, '21286', '410', '39.414596', '-76.571826', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21504, 'Denton', 2800, '21629', '410', '38.845956', '-75.83692', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21505, 'Goldsboro', 2800, '21636', '410', '39.019078', '-75.805939', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21506, 'Neavitt', 2800, '21652', '410', '38.7244', '-76.2825', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21507, 'Wye Mills', 2800, '21679', '410', '38.91583', '-76.088125', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21508, 'Frederick', 2800, '21704', '301', '39.344244', '-77.376436', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21509, 'Urbana', 2800, '21704', '301', '39.344244', '-77.376436', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21510, 'Annapolis', 2800, '21404', '410', '38.9785', '-76.4928', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21511, 'Annapolis', 2800, '21409', '410', '39.019922', '-76.454498', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21512, 'Midlothian', 2800, '21543', '301', '39.638455', '-78.951814', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21513, 'Luthvle Timon', 2800, '21093', '410', '39.437602', '-76.638678', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21514, 'Timonium', 2800, '21093', '410', '39.437602', '-76.638678', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21515, 'Lineboro', 2800, '21102', '410', '39.679702', '-76.83906', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21516, 'Manchester', 2800, '21102', '410', '39.679702', '-76.83906', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21517, 'Saint Charles', 2800, '20602', '301', '38.58647', '-76.898935', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21518, 'Waldorf', 2800, '20602', '301', '38.58647', '-76.898935', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21519, 'Accokeek', 2800, '20607', '301', '38.660282', '-77.001033', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21520, 'Bryans Rd', 2800, '20616', '301', '38.653845', '-77.092066', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21521, 'Bryans Road', 2800, '20616', '301', '38.653845', '-77.092066', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21522, 'Marshall Hall', 2800, '20616', '301', '38.653845', '-77.092066', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21523, 'Compton', 2800, '20627', '301', '38.2733', '-76.6944', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21524, 'Laurel', 2800, '20709', '301', '39.0995', '-76.8486', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21525, 'Montpelier', 2800, '20709', '301', '39.0995', '-76.8486', '2018-11-29 04:52:59', '2018-11-29 04:52:59'),\n(21526, 'Highland', 2800, '20777', '301', '39.176254', '-76.97301', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21527, 'Avondale', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21528, 'Chillum', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21529, 'Green Meadow', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21530, 'Hyattsville', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21531, 'Capitol Heights', 2800, '20791', '301', '38.9876', '-76.8806', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21532, 'Capitol Hgts', 2800, '20791', '301', '38.9876', '-76.8806', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21533, 'Suitland', 2800, '20752', '301', '38.8501', '-76.9271', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21534, 'Temple Hills', 2800, '20757', '301', '38.8096', '-76.9272', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21535, 'Bethesda', 2800, '20827', '301', '38.9806', '-77.1008', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21536, 'W Bethesda', 2800, '20827', '301', '38.9806', '-77.1008', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21537, 'Westlake', 2800, '20827', '301', '38.9806', '-77.1008', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21538, 'N Bethesda', 2800, '20852', '301', '39.052614', '-77.123153', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21539, 'No Bethesda', 2800, '20852', '301', '39.052614', '-77.123153', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21540, 'North Bethesda', 2800, '20852', '301', '39.052614', '-77.123153', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21541, 'Rockville', 2800, '20852', '301', '39.052614', '-77.123153', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21542, 'Gaithersburg', 2800, '20884', '301', '39.1434', '-77.2018', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21543, 'Kensington', 2800, '20891', '301', '39.0257', '-77.0768', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21544, 'Aspen Hill', 2800, '20916', '301', '39.0796', '-77.0735', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21545, 'Silver Spring', 2800, '20916', '301', '39.0796', '-77.0735', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21546, 'Capitol Heights', 2800, '20743', '301', '38.887153', '-76.892477', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21547, 'Capitol Hgts', 2800, '20743', '301', '38.887153', '-76.892477', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21548, 'Fairmount Heights', 2800, '20743', '301', '38.887153', '-76.892477', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21549, 'Fairmount Hgt', 2800, '20743', '301', '38.887153', '-76.892477', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21550, 'Seat Pleasant', 2800, '20743', '301', '38.887153', '-76.892477', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21551, 'Forest Hill', 2800, '21050', '410', '39.583839', '-76.396006', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21552, 'Fort Howard', 2800, '21052', '410', '39.206618', '-76.445932', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21553, 'Harmans', 2800, '21077', '410', '39.157552', '-76.701696', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21554, 'Lutherville', 2800, '21093', '410', '39.437602', '-76.638678', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21555, 'Lutherville Timonium', 2800, '21093', '410', '39.437602', '-76.638678', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21556, 'Lewisdale', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21557, 'Prince Georges Metro Ctr', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21558, 'University Pa', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21559, 'University Park', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21560, 'W Hyattsville', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21561, 'West Hyattsville', 2800, '20782', '301', '38.965947', '-76.967548', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21562, 'Church Creek', 2800, '21622', '410', '38.405388', '-76.193868', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21563, 'Cooksville', 2800, '21723', '410', '39.328708', '-77.01809', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21564, 'Hagerstown', 2800, '21742', '301', '39.654173', '-77.654558', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21565, 'Northern', 2800, '21742', '301', '39.654173', '-77.654558', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21566, 'Keedysville', 2800, '21756', '301', '39.449721', '-77.704872', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21567, 'New Windsor', 2800, '21776', '410', '39.514844', '-77.10321', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21568, 'Linwood', 2800, '21791', '410', '39.532848', '-77.187258', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21569, 'Union Bridge', 2800, '21791', '410', '39.532848', '-77.187258', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21570, 'Unionville', 2800, '21792', '301', '39.4748', '-77.1859', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21571, 'Greensboro', 2800, '21639', '410', '38.96416', '-75.800486', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21572, 'Church Hill', 2800, '21656', '410', '39.1414', '-75.9859', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21573, 'Price', 2800, '21656', '410', '39.1414', '-75.9859', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21574, 'Toddville', 2800, '21672', '410', '38.267799', '-76.06694', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21575, 'Aquasco', 2800, '20608', '301', '38.581877', '-76.711782', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21576, 'Eagle Harbor', 2800, '20608', '301', '38.581877', '-76.711782', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21577, 'Coltons Point', 2800, '20626', '301', '38.216684', '-76.798473', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21578, 'Helen', 2800, '20635', '301', '38.3989', '-76.7199', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21579, 'Laurel', 2800, '20726', '301', '39.0995', '-76.8486', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21580, 'Saint Leonard', 2800, '20685', '410', '38.433231', '-76.532714', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21581, 'St Leonard', 2800, '20685', '410', '38.433231', '-76.532714', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21582, 'Deale', 2800, '20751', '410', '38.794002', '-76.557262', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21583, 'Brookeville', 2800, '20833', '301', '39.22093', '-77.056079', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21584, 'Sunshine', 2800, '20833', '301', '39.22093', '-77.056079', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21585, 'Unity', 2800, '20833', '301', '39.22093', '-77.056079', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21586, 'Port Republic', 2800, '20676', '410', '38.495072', '-76.544649', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21587, 'Capitol Heights', 2800, '20799', '301', '38.8807', '-76.8536', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21588, 'Capitol Hgts', 2800, '20799', '301', '38.8807', '-76.8536', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21589, 'Washington Ndc', 2800, '20799', '301', '38.8807', '-76.8536', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21590, 'Severn', 2800, '21144', '410', '39.120234', '-76.68665', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21591, 'Freeland', 2800, '21053', '410', '39.683556', '-76.717436', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21592, 'Hanover', 2800, '21076', '410', '39.172474', '-76.723683', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21593, 'Harmans', 2800, '21076', '410', '39.172474', '-76.723683', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21594, 'Havre De Grace', 2800, '21078', '410', '39.556304', '-76.15074', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21595, 'Hvre De Grace', 2800, '21078', '410', '39.556304', '-76.15074', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21596, 'Long Green', 2800, '21092', '410', '39.4728', '-76.5233', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21597, 'Baltimore', 2800, '21210', '410', '39.356952', '-76.635409', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21598, 'Roland Park', 2800, '21210', '410', '39.356952', '-76.635409', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21599, 'Sandy Spring', 2800, '20860', '301', '39.149912', '-77.029668', '2018-11-29 04:53:00', '2018-11-29 04:53:00'),\n(21600, 'Darnestown', 2800, '20874', '301', '39.139475', '-77.288029', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21601, 'Germantown', 2800, '20874', '301', '39.139475', '-77.288029', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21602, 'Germantown', 2800, '20876', '301', '39.209011', '-77.237202', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21603, 'Church Hill', 2800, '21623', '410', '39.13057', '-75.964996', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21604, 'Hagerstown', 2800, '21740', '301', '39.62895', '-77.7155', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21605, 'Hagerstown', 2800, '21741', '301', '39.6459', '-77.7186', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21606, 'Ladiesburg', 2800, '21759', '301', '39.5765', '-77.2653', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21607, 'Myersville', 2800, '21773', '301', '39.54211', '-77.559434', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21608, 'Lake Linganore', 2800, '21774', '301', '39.41163', '-77.272758', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21609, 'New Market', 2800, '21774', '301', '39.41163', '-77.272758', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21610, 'Tuscarora', 2800, '21790', '301', '39.258663', '-77.50779', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21611, 'Henderson', 2800, '21640', '410', '39.069326', '-75.815982', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21612, 'Hillsboro', 2800, '21641', '410', '38.921552', '-75.941832', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21613, 'Silver Spring', 2800, '20997', '301', '38.9936', '-77.0263', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21614, 'Suburban Md Brm', 2800, '20997', '301', '38.9936', '-77.0263', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21615, 'Baldwin', 2800, '21013', '410', '39.515905', '-76.483446', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21616, 'Clarksville', 2800, '21029', '410', '39.203744', '-76.951126', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21617, 'Ellicott City', 2800, '21029', '410', '39.203744', '-76.951126', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21618, 'Chestertown', 2800, '21690', '410', '39.2091', '-76.0668', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21619, 'Usa Fulfillment', 2800, '21690', '410', '39.2091', '-76.0668', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21620, 'Frederick', 2800, '21709', '301', '39.4142', '-77.4105', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21621, 'State Farm Ins Co', 2800, '21709', '301', '39.4142', '-77.4105', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21622, 'Baltimore', 2800, '21224', '410', '39.278452', '-76.534232', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21623, 'Annapolis', 2800, '21405', '410', '39.02611', '-76.550414', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21624, 'Sherwood Forest', 2800, '21405', '410', '39.02611', '-76.550414', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21625, 'Sherwood Frst', 2800, '21405', '410', '39.02611', '-76.550414', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21626, 'Corriganville', 2800, '21524', '301', '39.707272', '-78.801946', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21627, 'Mc Henry', 2800, '21541', '301', '39.547641', '-79.3763', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21628, 'Mchenry', 2800, '21541', '301', '39.547641', '-79.3763', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21629, 'Sang Run', 2800, '21541', '301', '39.547641', '-79.3763', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21630, 'Pinto', 2800, '21556', '301', '39.5699', '-78.8396', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21631, 'Lake Shore', 2800, '21122', '410', '39.125329', '-76.512115', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21632, 'Millersville', 2800, '21122', '410', '39.125329', '-76.512115', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21633, 'Pasadena', 2800, '21122', '410', '39.125329', '-76.512115', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21634, 'Riviera Beach', 2800, '21122', '410', '39.125329', '-76.512115', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21635, 'Highlandtown', 2800, '21224', '410', '39.278452', '-76.534232', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21636, 'Funkstown', 2800, '21734', '301', '39.60969', '-77.707564', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21637, 'Hagerstown', 2800, '21781', '301', '39.5674', '-77.7474', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21638, 'Saint James', 2800, '21781', '301', '39.5674', '-77.7474', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21639, 'Eldersburg', 2800, '21784', '410', '39.392359', '-76.96728', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21640, 'Gaither', 2800, '21784', '410', '39.392359', '-76.96728', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21641, 'Sykesville', 2800, '21784', '410', '39.392359', '-76.96728', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21642, 'Fishing Creek', 2800, '21634', '410', '38.290241', '-76.179691', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21643, 'Hoopersville', 2800, '21634', '410', '38.290241', '-76.179691', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21644, 'Mcdaniel', 2800, '21647', '410', '38.809988', '-76.283456', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21645, 'Marydel', 2800, '21649', '410', '39.135612', '-75.776344', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21646, 'Massey', 2800, '21650', '410', '39.314615', '-75.80361', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21647, 'Stevensville', 2800, '21666', '410', '38.938033', '-76.332664', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21648, 'Still Pond', 2800, '21667', '410', '39.329847', '-76.050996', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21649, 'Braddock Heights', 2800, '21714', '301', '39.4186', '-77.5038', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21650, 'Baltimore', 2800, '21213', '410', '39.318032', '-76.575253', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21651, 'Clifton', 2800, '21213', '410', '39.318032', '-76.575253', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21652, 'Clifton East End', 2800, '21213', '410', '39.318032', '-76.575253', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21653, 'Baltimore', 2800, '21214', '410', '39.350375', '-76.562924', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21654, 'Hamilton', 2800, '21214', '410', '39.350375', '-76.562924', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21655, 'Baltimore', 2800, '21297', '443', '39.2905', '-76.6125', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21656, 'Firms-Courtesy Reply', 2800, '21297', '443', '39.2905', '-76.6125', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21657, 'Jacksonville', 2800, '21131', '410', '39.499744', '-76.572318', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21658, 'Phoenix', 2800, '21131', '410', '39.499744', '-76.572318', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21659, 'Baltimore', 2800, '21211', '410', '39.328176', '-76.638512', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21660, 'Hampden', 2800, '21211', '410', '39.328176', '-76.638512', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21661, 'Potomac', 2800, '20859', '301', '39.0183', '-77.2089', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21662, 'Rockville', 2800, '20859', '301', '39.0183', '-77.2089', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21663, 'Spencerville', 2800, '20868', '301', '39.122434', '-76.969072', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21664, 'Gaithersburg', 2800, '20877', '301', '39.139295', '-77.180452', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21665, 'Montgomery Village', 2800, '20877', '301', '39.139295', '-77.180452', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21666, 'Montgomry Vlg', 2800, '20877', '301', '39.139295', '-77.180452', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21667, 'Allen Park', 2802, '48101', '313', '42.261979', '-83.208134', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21668, 'Ash Twp', 2802, '48117', '734', '42.037782', '-83.42102', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21669, 'Carleton', 2802, '48117', '734', '42.037782', '-83.42102', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21670, 'Dearborn', 2802, '48124', '313', '42.302659', '-83.245639', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21671, 'Garden City', 2802, '48135', '734', '42.325399', '-83.345118', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21672, 'Augusta Twp', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:01', '2018-11-29 04:53:01'),\n(21673, 'Cone', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21674, 'London Twp', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21675, 'Milan', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21676, 'Milan Twp', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21677, 'Mooreville', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21678, 'Oakville', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21679, 'Stony Creek', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21680, 'York Twp', 2802, '48160', '734', '42.083747', '-83.670218', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21681, 'Brownstown', 2802, '48183', '734', '42.127959', '-83.216993', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21682, 'Brownstown Township', 2802, '48183', '734', '42.127959', '-83.216993', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21683, 'Brownstown Twp', 2802, '48183', '734', '42.127959', '-83.216993', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21684, 'Brownstwn Twp', 2802, '48183', '734', '42.127959', '-83.216993', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21685, 'Trenton', 2802, '48183', '734', '42.127959', '-83.216993', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21686, 'Woodhaven', 2802, '48183', '734', '42.127959', '-83.216993', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21687, 'Riverview', 2802, '48192', '734', '42.209314', '-83.161234', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21688, 'Wyandotte', 2802, '48192', '734', '42.209314', '-83.161234', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21689, 'Detroit', 2802, '48201', '313', '42.346235', '-83.06056', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21690, 'Detroit', 2802, '48219', '313', '42.425699', '-83.253418', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21691, 'Detroit', 2802, '48226', '313', '42.331084', '-83.047069', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21692, 'Detroit', 2802, '48233', '313', '42.3346', '-83.0634', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21693, 'Detroit', 2802, '48235', '313', '42.427001', '-83.194968', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21694, 'Comerica', 2802, '48267', '313', '42.3317', '-83.0456', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21695, 'Detroit', 2802, '48267', '313', '42.3317', '-83.0456', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21696, 'Bloomfield', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21697, 'Bloomfield Hills', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21698, 'Bloomfield Township', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21699, 'Bloomfield Twp', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21700, 'Bloomfield Village', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21701, 'Bloomfld Hls', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21702, 'Bloomfld Twp', 2802, '48301', '248', '42.543752', '-83.279348', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21703, 'Bloomfield', 2802, '48303', '248', '42.5836', '-83.2458', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21704, 'Bloomfield Hills', 2802, '48303', '248', '42.5836', '-83.2458', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21705, 'Bloomfield Township', 2802, '48303', '248', '42.5836', '-83.2458', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21706, 'Bloomfield Twp', 2802, '48303', '248', '42.5836', '-83.2458', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21707, 'Bloomfld Hls', 2802, '48303', '248', '42.5836', '-83.2458', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21708, 'Bloomfld Twp', 2802, '48303', '248', '42.5836', '-83.2458', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21709, 'Rochester', 2802, '48308', '248', '42.6807', '-83.1336', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21710, 'Rochester Hills', 2802, '48308', '248', '42.6807', '-83.1336', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21711, 'Auburn Hills', 2802, '48326', '248', '42.664736', '-83.274612', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21712, 'Lake Angelus', 2802, '48326', '248', '42.664736', '-83.274612', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21713, 'W Bloomfld Tw', 2802, '48328', '248', '42.647122', '-83.355564', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21714, 'Waterford', 2802, '48328', '248', '42.647122', '-83.355564', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21715, 'Waterford Township', 2802, '48328', '248', '42.647122', '-83.355564', '2018-11-29 04:53:02', '2018-11-29 04:53:02');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(21716, 'Farmingtn Hls', 2802, '48333', '248', '42.4647', '-83.3764', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21717, 'Farmington', 2802, '48333', '248', '42.4647', '-83.3764', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21718, 'Farmington Hills', 2802, '48333', '248', '42.4647', '-83.3764', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21719, 'Farmington Hls', 2802, '48333', '248', '42.4647', '-83.3764', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21720, 'Pontiac', 2802, '48342', '248', '42.647581', '-83.28208', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21721, 'Hartland', 2802, '48353', '810', '42.644901', '-83.718586', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21722, 'Round Lake', 2803, '56167', '507', '43.652234', '-95.426261', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21723, 'Russell', 2803, '56169', '507', '44.331138', '-95.957802', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21724, 'Eyota', 2803, '55934', '507', '44.006461', '-92.278928', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21725, 'Predmore', 2803, '55934', '507', '44.006461', '-92.278928', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21726, 'Viola', 2803, '55934', '507', '44.006461', '-92.278928', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21727, 'Fountain', 2803, '55935', '507', '43.717346', '-92.149394', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21728, 'Bennington', 2803, '55936', '507', '43.681468', '-92.569298', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21729, 'Frankford', 2803, '55936', '507', '43.681468', '-92.569298', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21730, 'Grand Meadow', 2803, '55936', '507', '43.681468', '-92.569298', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21731, 'Lansing', 2803, '55950', '507', '43.731475', '-92.965036', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21732, 'Le Roy', 2803, '55951', '507', '43.58731', '-92.5094', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21733, 'Racine', 2803, '55967', '507', '43.790389', '-92.569187', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21734, 'Sturgeon Lake', 2803, '55783', '218', '46.419038', '-92.918685', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21735, 'Swan River', 2803, '55784', '218', '47.068075', '-93.187612', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21736, 'Arcturus', 2803, '55786', '218', '47.312293', '-93.38176', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21737, 'Holman', 2803, '55786', '218', '47.312293', '-93.38176', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21738, 'Lawrence', 2803, '55786', '218', '47.312293', '-93.38176', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21739, 'Savannah', 2803, '55786', '218', '47.312293', '-93.38176', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21740, 'Taconite', 2803, '55786', '218', '47.312293', '-93.38176', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21741, 'Wanamingo', 2803, '55983', '507', '44.272336', '-92.826342', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21742, 'Holyoke', 2803, '55749', '218', '46.469964', '-92.422641', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21743, 'Wrenshall', 2803, '55749', '218', '46.469964', '-92.422641', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21744, 'Ball Bluff', 2803, '55752', '218', '46.940573', '-93.27134', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21745, 'Cornish', 2803, '55752', '218', '46.940573', '-93.27134', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21746, 'Jacobson', 2803, '55752', '218', '46.940573', '-93.27134', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21747, 'Moose Lake', 2803, '55767', '218', '46.457011', '-92.723764', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21748, 'Brownsville', 2803, '55919', '507', '43.651598', '-91.313846', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21749, 'Reno', 2803, '55919', '507', '43.651598', '-91.313846', '2018-11-29 04:53:02', '2018-11-29 04:53:02'),\n(21750, 'Monticello', 2803, '55584', '763', '45.3059', '-93.7938', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21751, 'Monticello', 2803, '55585', '763', '45.3059', '-93.7938', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21752, 'Loretto', 2803, '55599', '763', '45.0544', '-93.6353', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21753, 'Tofte', 2803, '55615', '218', '47.762657', '-90.830648', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21754, 'Two Harbors', 2803, '55616', '218', '47.159632', '-91.610164', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21755, 'Adolph', 2803, '55701', '218', '46.7752', '-92.2836', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21756, 'Duluth', 2803, '55701', '218', '46.7752', '-92.2836', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21757, 'Calumet', 2803, '55716', '218', '47.319748', '-93.273705', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21758, 'Balkan', 2803, '55719', '218', '47.585954', '-92.838578', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21759, 'Chisholm', 2803, '55719', '218', '47.585954', '-92.838578', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21760, 'Cooley', 2803, '55769', '218', '47.50165', '-93.192941', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21761, 'Lone Pine', 2803, '55769', '218', '47.50165', '-93.192941', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21762, 'Nashwauk', 2803, '55769', '218', '47.50165', '-93.192941', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21763, 'Minneapolis', 2803, '55483', '612', '44.98', '-93.2638', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21764, 'Qwest', 2803, '55483', '612', '44.98', '-93.2638', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21765, 'Young America', 2803, '55552', '952', '44.7825', '-93.9135', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21766, 'Minneapolis', 2803, '55418', '612', '45.020467', '-93.245544', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21767, 'Saint Anthony', 2803, '55418', '612', '45.020467', '-93.245544', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21768, 'St Anthny Vlg', 2803, '55418', '612', '45.020467', '-93.245544', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21769, 'St Anthony', 2803, '55418', '612', '45.020467', '-93.245544', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21770, 'St Anthony Village', 2803, '55418', '612', '45.020467', '-93.245544', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21771, 'Coon Rapids', 2803, '55433', '763', '45.157932', '-93.319412', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21772, 'Minneapolis', 2803, '55433', '763', '45.157932', '-93.319412', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21773, 'New Germany', 2803, '55367', '952', '44.896236', '-93.960605', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21774, 'Norwood', 2803, '55383', '952', '44.7685', '-93.9276', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21775, 'Spring Park', 2803, '55384', '952', '44.937102', '-93.630575', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21776, 'Saint Paul', 2803, '55114', '651', '44.965755', '-93.193816', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21777, 'Chanhassen', 2803, '55317', '952', '44.851871', '-93.554242', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21778, 'Gaylord', 2803, '55334', '507', '44.543373', '-94.152294', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21779, 'Randolph', 2803, '55065', '507', '44.543792', '-93.020335', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21780, 'Red Wing', 2803, '55066', '651', '44.527405', '-92.522815', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21781, 'Rock Creek', 2803, '55067', '320', '45.751782', '-92.909013', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21782, 'Minn Mining Boxes', 2803, '55133', '651', '44.9445', '-93.0932', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21783, 'Saint Paul', 2803, '55133', '651', '44.9445', '-93.0932', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21784, 'Cottage Grove', 2803, '55016', '651', '44.814368', '-92.92622', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21785, 'Marine', 2803, '55047', '651', '45.195359', '-92.823589', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21786, 'Marine On Saint Croix', 2803, '55047', '651', '45.195359', '-92.823589', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21787, 'Marine On St Croix', 2803, '55047', '651', '45.195359', '-92.823589', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21788, 'Marine St Crx', 2803, '55047', '651', '45.195359', '-92.823589', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21789, 'New Scandia', 2803, '55047', '651', '45.195359', '-92.823589', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21790, 'St Croix', 2803, '55047', '651', '45.195359', '-92.823589', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21791, 'Brownton', 2803, '55312', '320', '44.717618', '-94.340547', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21792, 'Clear Lake', 2803, '55319', '320', '45.468904', '-93.963683', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21793, 'Cokato', 2803, '55321', '320', '45.081889', '-94.185194', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21794, 'Delano', 2803, '55328', '763', '45.032037', '-93.8173', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21795, 'Independence', 2803, '55328', '763', '45.032037', '-93.8173', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21796, 'Gibbon', 2803, '55335', '507', '44.521451', '-94.543219', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21797, 'Burnsville', 2803, '55337', '952', '44.77951', '-93.275634', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21798, 'Castle Rock', 2803, '55010', '651', '44.544465', '-93.153465', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21799, 'Frontenac', 2803, '55026', '651', '44.520642', '-92.335046', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21800, 'Stacy', 2803, '55078', '651', '45.3987', '-92.9902', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21801, 'Stanchfield', 2803, '55080', '320', '45.666236', '-93.224266', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21802, 'Stanford', 2803, '55080', '320', '45.666236', '-93.224266', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21803, 'Saint Paul', 2803, '55103', '651', '44.968228', '-93.126818', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21804, 'Birchwood', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21805, 'Dellwood', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21806, 'Gem Lake', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21807, 'Grant', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21808, 'Grant Township', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21809, 'Lino Lakes', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21810, 'Saint Paul', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21811, 'Vadnais Heights', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21812, 'Vadnais Hts', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21813, 'White Bear Lake', 2803, '55110', '651', '45.093914', '-93.000052', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21814, 'Antlers Park', 2803, '55044', '952', '44.632288', '-93.30135', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21815, 'Argonne', 2803, '55044', '952', '44.632288', '-93.30135', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21816, 'Lakeville', 2803, '55044', '952', '44.632288', '-93.30135', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21817, 'Brunswick', 2803, '55051', '320', '45.944761', '-93.330547', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21818, 'Knife Lake', 2803, '55051', '320', '45.944761', '-93.330547', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21819, 'Mora', 2803, '55051', '320', '45.944761', '-93.330547', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21820, 'Quamba', 2803, '55051', '320', '45.944761', '-93.330547', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21821, 'Warman', 2803, '55051', '320', '45.944761', '-93.330547', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21822, 'Havana', 2803, '55060', '507', '44.058756', '-93.22607', '2018-11-29 04:53:03', '2018-11-29 04:53:03'),\n(21823, 'Litomysl', 2803, '55060', '507', '44.058756', '-93.22607', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21824, 'Owatonna', 2803, '55060', '507', '44.058756', '-93.22607', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21825, 'Pratt', 2803, '55060', '507', '44.058756', '-93.22607', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21826, 'Tiff City', 2804, '64868', '417', '36.665248', '-94.615271', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21827, 'Argyle', 2804, '65001', '573', '38.287359', '-92.012298', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21828, 'Freeburg', 2804, '65035', '573', '38.361031', '-91.91645', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21829, 'Rich Fountain', 2804, '65035', '573', '38.361031', '-91.91645', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21830, 'Gasconade', 2804, '65036', '573', '38.683696', '-91.594968', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21831, 'Morrison', 2804, '65036', '573', '38.683696', '-91.594968', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21832, 'Hugo', 2804, '65052', '573', '38.06185', '-92.64163', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21833, 'Linn Creek', 2804, '65052', '573', '38.06185', '-92.64163', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21834, 'Portland', 2804, '65067', '573', '38.77943', '-91.713152', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21835, 'Readsville', 2804, '65067', '573', '38.77943', '-91.713152', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21836, 'Gouch Mill', 2804, '65068', '660', '38.809976', '-92.614949', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21837, 'Prairie Home', 2804, '65068', '660', '38.809976', '-92.614949', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21838, 'Americus', 2804, '65069', '573', '38.748222', '-91.563193', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21839, 'Bluffton', 2804, '65069', '573', '38.748222', '-91.563193', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21840, 'Rhineland', 2804, '65069', '573', '38.748222', '-91.563193', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21841, 'Starkenburg', 2804, '65069', '573', '38.748222', '-91.563193', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21842, 'Babbtown', 2804, '65085', '573', '38.400707', '-92.071355', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21843, 'Folk', 2804, '65085', '573', '38.400707', '-92.071355', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21844, 'Westphalia', 2804, '65085', '573', '38.400707', '-92.071355', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21845, 'Cedar City', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21846, 'Honey Creek', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21847, 'Jefferson City', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21848, 'Jefferson Cty', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21849, 'Osage Bend', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21850, 'Osage Bluff', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21851, 'Osage City', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21852, 'Schubert', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21853, 'Taos', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21854, 'Wardsville', 2804, '65101', '573', '38.483407', '-92.123882', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21855, 'Columbia', 2804, '65201', '573', '38.882174', '-92.25231', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21856, 'Deer Park', 2804, '65201', '573', '38.882174', '-92.25231', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21857, 'Elkhurst', 2804, '65201', '573', '38.882174', '-92.25231', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21858, 'Harg', 2804, '65201', '573', '38.882174', '-92.25231', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21859, 'Pierpont', 2804, '65201', '573', '38.882174', '-92.25231', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21860, 'Columbia', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21861, 'Hinton', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21862, 'Lindbergh', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21863, 'Midway', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21864, 'Murry', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21865, 'Prathersville', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21866, 'Shaw', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21867, 'Stephens', 2804, '65202', '573', '39.040647', '-92.262975', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21868, 'Columbia', 2804, '65217', '573', '38.9518', '-92.3336', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21869, 'State Farm Ins', 2804, '65217', '573', '38.9518', '-92.3336', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21870, 'Moberly', 2804, '65270', '660', '39.42261', '-92.401936', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21871, 'Urbandale', 2804, '65270', '660', '39.42261', '-92.401936', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21872, 'Riggs', 2804, '65284', '573', '39.183616', '-92.308324', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21873, 'Sturgeon', 2804, '65284', '573', '39.183616', '-92.308324', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21874, 'Snyder', 2804, '65286', '660', '39.501472', '-93.206221', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21875, 'Triplett', 2804, '65286', '660', '39.501472', '-93.206221', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21876, 'Dresden', 2804, '65301', '660', '38.703164', '-93.236846', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21877, 'Georgetown', 2804, '65301', '660', '38.703164', '-93.236846', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21878, 'Longwood', 2804, '65301', '660', '38.703164', '-93.236846', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21879, 'Sedalia', 2804, '65301', '660', '38.703164', '-93.236846', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21880, 'Springfork', 2804, '65301', '660', '38.703164', '-93.236846', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21881, 'Sedalia', 2804, '65302', '816', '38.7044', '-93.2281', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21882, 'Ionia', 2804, '65335', '660', '38.509298', '-93.305136', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21883, 'Knob Noster', 2804, '65336', '660', '38.771363', '-93.566533', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21884, 'Montserrat', 2804, '65336', '660', '38.771363', '-93.566533', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21885, 'Valley City', 2804, '65336', '660', '38.771363', '-93.566533', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21886, 'La Monte', 2804, '65337', '660', '38.783309', '-93.418031', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21887, 'Lecoma', 2804, '65401', '573', '37.889687', '-91.82741', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21888, 'Rolla', 2804, '65401', '573', '37.889687', '-91.82741', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21889, 'Beulah', 2804, '65436', '573', '37.628076', '-91.874163', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21890, 'Falcon', 2804, '65470', '417', '37.555954', '-92.382992', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21891, 'Nebo', 2804, '65470', '417', '37.555954', '-92.382992', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21892, 'Lebanon', 2804, '65536', '417', '37.700544', '-92.641628', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21893, 'Summersville', 2804, '65571', '417', '37.156224', '-91.739561', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21894, 'Arcola', 2804, '65603', '417', '37.525873', '-93.859775', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21895, 'Battlefield', 2804, '65619', '417', '37.118565', '-93.384074', '2018-11-29 04:53:04', '2018-11-29 04:53:04'),\n(21896, 'Brookline', 2804, '65619', '417', '37.118565', '-93.384074', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21897, 'Brookline Sta', 2804, '65619', '417', '37.118565', '-93.384074', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21898, 'Bruner', 2804, '65620', '417', '37.014266', '-92.958163', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21899, 'Dadeville', 2804, '65635', '417', '37.574925', '-93.7105', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21900, 'Diggins', 2804, '65636', '417', '37.1728', '-92.8545', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21901, 'Forsyth', 2804, '65653', '417', '36.732334', '-93.106879', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21902, 'Brandsville', 2804, '65688', '417', '36.639649', '-91.689342', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21903, 'Oldfield', 2804, '65720', '417', '36.899656', '-92.963845', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21904, 'Finley', 2804, '65721', '417', '36.969067', '-93.209684', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21905, 'Ozark', 2804, '65721', '417', '36.969067', '-93.209684', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21906, 'Quincy', 2804, '65735', '417', '37.999392', '-93.462182', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21907, 'Branson West', 2804, '65737', '417', '36.69318', '-93.37038', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21908, 'Lakeview', 2804, '65737', '417', '36.69318', '-93.37038', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21909, 'Reeds Spring', 2804, '65737', '417', '36.69318', '-93.37038', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21910, 'Elkhead', 2804, '65753', '417', '36.978699', '-93.043613', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21911, 'Sparta', 2804, '65753', '417', '36.978699', '-93.043613', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21912, 'Verona', 2804, '65769', '417', '36.910046', '-93.808541', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21913, 'Walnut Shade', 2804, '65771', '417', '36.773661', '-93.226162', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21914, 'Roach', 2804, '65787', '573', '38.008821', '-92.861539', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21915, 'Elmo', 2804, '64445', '660', '40.506376', '-95.108836', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21916, 'Sheridan', 2804, '64486', '660', '40.478999', '-94.546408', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21917, 'Saint Joseph', 2804, '64502', '816', '39.7689', '-94.8467', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21918, 'Altamont', 2804, '64620', '660', '39.909202', '-94.092684', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21919, 'Bucklin', 2804, '64631', '660', '39.821352', '-92.887059', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21920, 'Harris', 2804, '64645', '660', '40.29252', '-93.324443', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21921, 'Lock Springs', 2804, '64654', '660', '39.858443', '-93.81507', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21922, 'Ludlow', 2804, '64656', '660', '39.655358', '-93.700226', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21923, 'Powersville', 2804, '64672', '660', '40.526344', '-93.289372', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21924, 'Spickard', 2804, '64679', '660', '40.212644', '-93.59317', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21925, 'Wheeling', 2804, '64688', '660', '39.800444', '-93.394531', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21926, 'Collins', 2804, '64738', '417', '37.873962', '-93.690135', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21927, 'Roscoe', 2804, '64781', '417', '37.97992', '-93.808808', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21928, 'Hartwell', 2804, '64788', '660', '38.433158', '-93.965192', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21929, 'Urich', 2804, '64788', '660', '38.433158', '-93.965192', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21930, 'Walker', 2804, '64790', '417', '37.936918', '-94.219195', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21931, 'Jane', 2804, '64856', '417', '36.563854', '-94.305722', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21932, 'Pineville', 2804, '64856', '417', '36.563854', '-94.305722', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21933, 'Camdenton', 2804, '65020', '573', '38.045539', '-92.80269', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21934, 'Greenview', 2804, '65020', '573', '38.045539', '-92.80269', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21935, 'Chamois', 2804, '65024', '573', '38.634029', '-91.752401', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21936, 'Freedom', 2804, '65024', '573', '38.634029', '-91.752401', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21937, 'Mint Hill', 2804, '65024', '573', '38.634029', '-91.752401', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21938, 'Four Seasons', 2804, '65049', '573', '38.210042', '-92.671654', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21939, 'Lake Ozark', 2804, '65049', '573', '38.210042', '-92.671654', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21940, 'Village Of Four Seasons', 2804, '65049', '573', '38.210042', '-92.671654', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21941, 'Vlg Of 4 Ssns', 2804, '65049', '573', '38.210042', '-92.671654', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21942, 'Eldon', 2804, '65072', '573', '38.268473', '-92.731406', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21943, 'Rocky Mount', 2804, '65072', '573', '38.268473', '-92.731406', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21944, 'Income Tax Refund', 2804, '65106', '573', '38.5764', '-92.1736', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21945, 'Jefferson City', 2804, '65106', '573', '38.5764', '-92.1736', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21946, 'Jefferson Cty', 2804, '65106', '573', '38.5764', '-92.1736', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21947, 'Columbia', 2804, '65215', '573', '38.952289', '-92.319306', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21948, 'Stephens College', 2804, '65215', '573', '38.952289', '-92.319306', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21949, 'Auxvasse', 2804, '65231', '573', '38.999267', '-91.885098', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21950, 'Bachelor', 2804, '65231', '573', '38.999267', '-91.885098', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21951, 'Hatton', 2804, '65231', '573', '38.999267', '-91.885098', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21952, 'Estill', 2804, '65274', '660', '39.024226', '-92.67217', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21953, 'New Franklin', 2804, '65274', '660', '39.024226', '-92.67217', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21954, 'Rocheport', 2804, '65279', '573', '39.003229', '-92.511066', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21955, 'Woodlinville', 2804, '65279', '573', '39.003229', '-92.511066', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21956, 'Bynumville', 2804, '65281', '660', '39.46093', '-92.867289', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21957, 'Forest Green', 2804, '65281', '660', '39.46093', '-92.867289', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21958, 'Prairie Hill', 2804, '65281', '660', '39.46093', '-92.867289', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21959, 'Salisbury', 2804, '65281', '660', '39.46093', '-92.867289', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21960, 'Climax Sprgs', 2804, '65324', '573', '38.128374', '-92.956885', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21961, 'Climax Springs', 2804, '65324', '573', '38.128374', '-92.956885', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21962, 'Houstonia', 2804, '65333', '660', '38.911304', '-93.303406', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21963, 'Marshall', 2804, '65340', '660', '39.048676', '-93.199509', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21964, 'Marshall Junction', 2804, '65340', '660', '39.048676', '-93.199509', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21965, 'Napton', 2804, '65340', '660', '39.048676', '-93.199509', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21966, 'Saline City', 2804, '65349', '660', '39.250994', '-92.98736', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21967, 'Sharon', 2804, '65349', '660', '39.250994', '-92.98736', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21968, 'Slater', 2804, '65349', '660', '39.250994', '-92.98736', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21969, 'Boss', 2804, '65440', '573', '37.600742', '-91.181758', '2018-11-29 04:53:05', '2018-11-29 04:53:05'),\n(21970, 'Eldridge', 2804, '65463', '417', '37.821944', '-92.739923', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21971, 'Clara', 2804, '65483', '417', '37.31878', '-91.968308', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21972, 'Houston', 2804, '65483', '417', '37.31878', '-91.968308', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21973, 'Simmons', 2804, '65483', '417', '37.31878', '-91.968308', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21974, 'Tyrone', 2804, '65483', '417', '37.31878', '-91.968308', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21975, 'Buckhorn', 2804, '65583', '573', '37.746544', '-92.255238', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21976, 'Waynesville', 2804, '65583', '573', '37.746544', '-92.255238', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21977, 'Ava', 2804, '65608', '417', '36.877898', '-92.664516', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21978, 'Crane', 2804, '65633', '417', '36.904264', '-93.49354', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21979, 'Dunnegan', 2804, '65640', '417', '37.704621', '-93.532115', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21980, 'Golden', 2804, '65658', '417', '36.547383', '-93.641652', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21981, 'Monett', 2804, '65708', '417', '36.920726', '-93.946473', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21982, 'Merriam Vlg', 2804, '65740', '417', '36.713366', '-93.15784', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21983, 'Merriam Woods Village', 2804, '65740', '417', '36.713366', '-93.15784', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21984, 'Rockaway Bch', 2804, '65740', '417', '36.713366', '-93.15784', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21985, 'Rockaway Beach', 2804, '65740', '417', '36.713366', '-93.15784', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21986, 'Springfield', 2804, '65808', '417', '37.2155', '-93.2981', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21987, 'American Nat Prop & Casualty', 2804, '65899', '417', '37.2155', '-93.2981', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21988, 'Springfield', 2804, '65899', '417', '37.2155', '-93.2981', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21989, 'Delta State', 2805, '38732', '662', '33.762468', '-90.781785', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21990, 'Zumbro', 2805, '38732', '662', '33.762468', '-90.781785', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21991, 'Bear Garden', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21992, 'Darlove', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21993, 'Estill', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21994, 'Foote', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21995, 'Hollandale', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21996, 'James', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21997, 'Murphy', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21998, 'Percy', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(21999, 'Willet', 2805, '38748', '662', '33.182862', '-90.88167', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22000, 'Litton', 2805, '38773', '662', '33.60531', '-90.764208', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22001, 'Shaw', 2805, '38773', '662', '33.60531', '-90.764208', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22002, 'Steiner', 2805, '38773', '662', '33.60531', '-90.764208', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22003, 'Belmont', 2805, '38827', '662', '34.547378', '-88.230514', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22004, 'Bloody Springs', 2805, '38827', '662', '34.547378', '-88.230514', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22005, 'Eggville', 2805, '38866', '662', '34.369864', '-88.668309', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22006, 'Saltillo', 2805, '38866', '662', '34.369864', '-88.668309', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22007, 'Brewer', 2805, '38868', '662', '34.097032', '-88.76277', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22008, 'Old Union', 2805, '38868', '662', '34.097032', '-88.76277', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22009, 'Pine Grove', 2805, '38868', '662', '34.097032', '-88.76277', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22010, 'Shannon', 2805, '38868', '662', '34.097032', '-88.76277', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22011, 'Trebloc', 2805, '38875', '662', '33.8405', '-88.8305', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22012, 'Calhoun City', 2805, '38916', '662', '33.836054', '-89.348828', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22013, 'Schlater', 2805, '38952', '662', '33.611324', '-90.365165', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22014, 'Albin', 2805, '38966', '662', '33.924122', '-90.357688', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22015, 'Webb', 2805, '38966', '662', '33.924122', '-90.357688', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22016, 'Brandon', 2805, '39043', '601', '32.2733', '-89.9856', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22017, 'Crystal Spgs', 2805, '39059', '601', '31.981186', '-90.375524', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22018, 'Crystal Springs', 2805, '39059', '601', '31.981186', '-90.375524', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22019, 'Edwards', 2805, '39066', '601', '32.303449', '-90.592687', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22020, 'Gallman', 2805, '39077', '601', '31.9317', '-90.3895', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22021, 'Carpenter', 2805, '39086', '601', '32.024137', '-90.796533', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22022, 'Hermanville', 2805, '39086', '601', '32.024137', '-90.796533', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22023, 'Madden', 2805, '39109', '601', '32.675554', '-89.335158', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22024, 'Sandhill', 2805, '39161', '601', '32.504722', '-89.869375', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22025, 'Mdn', 2805, '39309', '601', '32.5569', '-88.568414', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22026, 'Meridian', 2805, '39309', '601', '32.5569', '-88.568414', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22027, 'Nas Meridian', 2805, '39309', '601', '32.5569', '-88.568414', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22028, 'Naval Air Sta Meridian', 2805, '39309', '601', '32.5569', '-88.568414', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22029, 'Naval Air Station', 2805, '39309', '601', '32.5569', '-88.568414', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22030, 'Bailey', 2805, '39320', '601', '32.522391', '-88.735476', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22031, 'Collinsville', 2805, '39325', '601', '32.505754', '-88.859524', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22032, 'Decatur', 2805, '39327', '601', '32.449442', '-89.099394', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22033, 'Lawrence', 2805, '39336', '601', '32.285958', '-89.272967', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22034, 'Shuqualak', 2805, '39361', '662', '32.973056', '-88.543684', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22035, 'Pine Ridge', 2805, '39475', '601', '31.151744', '-89.428556', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22036, 'Purvis', 2805, '39475', '601', '31.151744', '-89.428556', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22037, 'Rock Hill', 2805, '39475', '601', '31.151744', '-89.428556', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22038, 'Bay Saint Louis', 2805, '39525', '228', '30.382465', '-89.373916', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22039, 'Bay St Louis', 2805, '39525', '228', '30.382465', '-89.373916', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22040, 'Diamondhead', 2805, '39525', '228', '30.382465', '-89.373916', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22041, 'Pascagoula', 2805, '39568', '228', '30.3658', '-88.5561', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22042, 'Bhaven', 2805, '39602', '601', '31.5828', '-90.4435', '2018-11-29 04:53:06', '2018-11-29 04:53:06'),\n(22043, 'Brookhaven', 2805, '39602', '601', '31.5828', '-90.4435', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22044, 'Jennings', 2805, '39652', '601', '31.107882', '-90.489911', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22045, 'Magnolia', 2805, '39652', '601', '31.107882', '-90.489911', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22046, 'Monticello', 2805, '39654', '601', '31.491272', '-90.121197', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22047, 'Oma', 2805, '39654', '601', '31.491272', '-90.121197', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22048, 'Robinwood', 2805, '39654', '601', '31.491272', '-90.121197', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22049, 'Rosella', 2805, '39654', '601', '31.491272', '-90.121197', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22050, 'Tilton', 2805, '39654', '601', '31.491272', '-90.121197', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22051, 'Wanilla', 2805, '39654', '601', '31.491272', '-90.121197', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22052, 'Cranfield', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22053, 'Garden City', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22054, 'Hamburg', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22055, 'Kirby', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22056, 'Knoxville', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22057, 'Leesdale', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22058, 'Oldenburg', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22059, 'Roxie', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22060, 'White Apple', 2805, '39661', '601', '31.465259', '-91.065985', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22061, 'Union Church', 2805, '39668', '601', '31.725012', '-90.822308', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22062, 'Columbus', 2805, '39702', '662', '33.432478', '-88.357223', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22063, 'Dalton', 2809, '69131', '308', '41.380891', '-103.009693', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22064, 'Keystone', 2809, '69144', '308', '41.288799', '-101.615354', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22065, 'Gandy', 2809, '69163', '308', '41.516352', '-100.482992', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22066, 'Stapleton', 2809, '69163', '308', '41.516352', '-100.482992', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22067, 'Scottsbluff', 2809, '69361', '308', '41.960452', '-103.631858', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22068, 'Bancroft', 2809, '68004', '402', '42.010237', '-96.67105', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22069, 'Decatur', 2809, '68020', '402', '41.981519', '-96.257344', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22070, 'Herman', 2809, '68029', '402', '41.653062', '-96.311504', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22071, 'Lyons', 2809, '68038', '402', '41.959352', '-96.460751', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22072, 'Pender', 2809, '68047', '402', '42.104924', '-96.725675', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22073, 'St Columbans', 2809, '68056', '402', '41.1029', '-95.8732', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22074, 'Uehling', 2809, '68063', '402', '41.726329', '-96.502323', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22075, 'Benson', 2809, '68104', '402', '41.295474', '-95.999814', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22076, 'Omaha', 2809, '68104', '402', '41.295474', '-95.999814', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22077, 'Omaha', 2809, '68124', '402', '41.23518', '-96.053286', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22078, 'Omaha', 2809, '68131', '402', '41.263604', '-95.964912', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22079, 'Omaha', 2809, '68154', '402', '41.263118', '-96.117136', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22080, 'Bar Code', 2809, '68172', '402', '41.2586', '-95.9376', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22081, 'Omaha', 2809, '68172', '402', '41.2586', '-95.9376', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22082, 'Omaha Brm', 2809, '68172', '402', '41.2586', '-95.9376', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22083, '1st National Bank Of Omaha', 2809, '68197', '402', '41.2586', '-95.9376', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22084, 'Omaha', 2809, '68197', '402', '41.2586', '-95.9376', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22085, 'Beaver Crossing', 2809, '68313', '402', '40.771193', '-97.273162', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22086, 'Beaver Xing', 2809, '68313', '402', '40.771193', '-97.273162', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22087, 'Belvidere', 2809, '68315', '402', '40.24528', '-97.538448', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22088, 'Bruning', 2809, '68322', '402', '40.321342', '-97.55241', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22089, 'Burr', 2809, '68324', '402', '40.551852', '-96.293113', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22090, 'Cortland', 2809, '68331', '402', '40.465301', '-96.704173', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22091, 'Highland', 2809, '68331', '402', '40.465301', '-96.704173', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22092, 'Firth', 2809, '68358', '402', '40.523679', '-96.614653', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22093, 'Nehawka', 2809, '68413', '402', '40.842063', '-96.016458', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22094, 'Rulo', 2809, '68431', '402', '40.05777', '-95.386204', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22095, 'Salem', 2809, '68433', '402', '40.044002', '-95.727273', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22096, 'Sprague', 2809, '68438', '402', '40.6268', '-96.7445', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22097, 'Steele City', 2809, '68440', '402', '40.044996', '-96.982948', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22098, 'Utica', 2809, '68456', '402', '40.916315', '-97.301594', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22099, 'Weeping Water', 2809, '68463', '402', '40.885616', '-96.140703', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22100, 'Lincoln', 2809, '68508', '402', '40.817948', '-96.709032', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22101, 'Air Park', 2809, '68524', '402', '40.87698', '-96.825084', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22102, 'Lincoln', 2809, '68524', '402', '40.87698', '-96.825084', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22103, 'Lincoln', 2809, '68531', '402', '40.908174', '-96.715545', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22104, 'Lincoln', 2809, '68542', '402', '40.8002', '-96.6667', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22105, 'Lincoln', 2809, '68588', '402', '40.820131', '-96.702462', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22106, 'University Of Nebraska', 2809, '68588', '402', '40.820131', '-96.702462', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22107, 'Bartlett', 2809, '68622', '308', '41.849033', '-98.557331', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22108, 'Creston', 2809, '68631', '402', '41.656147', '-97.35883', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22109, 'Dodge', 2809, '68633', '402', '41.684592', '-96.876489', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22110, 'North Bend', 2809, '68649', '402', '41.511604', '-96.775697', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22111, 'Spalding', 2809, '68665', '308', '41.697714', '-98.409376', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22112, 'Surprise', 2809, '68667', '402', '41.090551', '-97.310641', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22113, 'Ulysses', 2809, '68667', '402', '41.090551', '-97.310641', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22114, 'Dakota City', 2809, '68731', '402', '42.415943', '-96.470117', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22115, 'Emerson', 2809, '68733', '402', '42.332696', '-96.696694', '2018-11-29 04:53:07', '2018-11-29 04:53:07'),\n(22116, 'Hoskins', 2809, '68740', '402', '42.177815', '-97.309952', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22117, 'Neligh', 2809, '68756', '402', '42.176188', '-97.951333', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22118, 'Foster', 2809, '68765', '402', '42.329637', '-97.572212', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22119, 'Osmond', 2809, '68765', '402', '42.329637', '-97.572212', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22120, 'Pierce', 2809, '68767', '402', '42.177392', '-97.572292', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22121, 'Saint Helena', 2809, '68774', '402', '42.812782', '-97.313499', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22122, 'South Yankton', 2809, '68774', '402', '42.812782', '-97.313499', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22123, 'St Helena', 2809, '68774', '402', '42.812782', '-97.313499', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22124, 'Grand Island', 2809, '68801', '308', '40.941634', '-98.274321', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22125, 'Hall County Regional Airport', 2809, '68801', '308', '40.941634', '-98.274321', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22126, 'Ashton', 2809, '68817', '308', '41.2932', '-98.805514', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22127, 'Schaupps', 2809, '68817', '308', '41.2932', '-98.805514', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22128, 'Gibbon', 2809, '68840', '308', '40.771882', '-98.874144', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22129, 'Lowell', 2809, '68840', '308', '40.771882', '-98.874144', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22130, 'Newark', 2809, '68840', '308', '40.771882', '-98.874144', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22131, 'Kilfoil', 2809, '68856', '308', '41.393796', '-99.8859', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22132, 'Merna', 2809, '68856', '308', '41.393796', '-99.8859', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22133, 'Armada', 2809, '68858', '308', '40.959612', '-99.368818', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22134, 'Miller', 2809, '68858', '308', '40.959612', '-99.368818', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22135, 'Milton', 2809, '68858', '308', '40.959612', '-99.368818', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22136, 'Phillips', 2809, '68865', '402', '40.908266', '-98.18799', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22137, 'Cameron', 2809, '68883', '308', '40.800408', '-98.592766', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22138, 'Martin', 2809, '68883', '308', '40.800408', '-98.592766', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22139, 'Prosser', 2809, '68883', '308', '40.800408', '-98.592766', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22140, 'Wood River', 2809, '68883', '308', '40.800408', '-98.592766', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22141, 'Axtell', 2809, '68924', '308', '40.51776', '-99.113172', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22142, 'Keene', 2809, '68924', '308', '40.51776', '-99.113172', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22143, 'Mirage', 2809, '68924', '308', '40.51776', '-99.113172', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22144, 'Guide Rock', 2809, '68942', '402', '40.089405', '-98.39623', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22145, 'Mc Cook', 2809, '69001', '308', '40.175968', '-100.646918', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22146, 'Mccook', 2809, '69001', '308', '40.175968', '-100.646918', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22147, 'Culbertson', 2809, '69024', '308', '40.17631', '-100.871696', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22148, 'Danbury', 2809, '69026', '308', '40.045818', '-100.419924', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22149, 'Hamlet', 2809, '69040', '308', '40.372224', '-101.164042', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22150, 'Palisade', 2809, '69040', '308', '40.372224', '-101.164042', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22151, 'North Platte', 2809, '69101', '308', '41.111976', '-100.784164', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22152, 'Flats', 2809, '69165', '308', '41.335376', '-101.325547', '2018-11-29 04:53:08', '2018-11-29 04:53:08');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(22153, 'Sutherland', 2809, '69165', '308', '41.335376', '-101.325547', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22154, 'Ainsworth', 2809, '69210', '402', '42.429128', '-99.818329', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22155, 'Ashby', 2809, '69333', '308', '42.00637', '-101.995768', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22156, 'Survey', 2809, '69333', '308', '42.00637', '-101.995768', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22157, 'Bingham', 2809, '69335', '308', '42.197289', '-102.154248', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22158, 'Abie', 2809, '68001', '402', '41.321639', '-96.965816', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22159, 'Arlington', 2809, '68002', '402', '41.516499', '-96.343414', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22160, 'Ashland', 2809, '68003', '402', '41.083782', '-96.39915', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22161, 'Ceresco', 2809, '68017', '402', '41.059931', '-96.640842', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22162, 'Walthill', 2809, '68067', '402', '42.147664', '-96.47791', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22163, 'Omaha', 2809, '68102', '402', '41.26331', '-95.930518', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22164, 'Omaha', 2809, '68118', '402', '41.263003', '-96.180039', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22165, 'Bellevue', 2809, '68133', '402', '41.112671', '-95.998653', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22166, 'Papillion', 2809, '68133', '402', '41.112671', '-95.998653', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22167, 'Omaha', 2809, '68134', '402', '41.29996', '-96.052594', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22168, 'Omaha', 2809, '68183', '402', '41.2586', '-95.9376', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22169, 'Omaha Douglas Civic Ctr', 2809, '68183', '402', '41.2586', '-95.9376', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22170, 'Alexandria', 2809, '68303', '402', '40.274204', '-97.425381', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22171, 'Bradshaw', 2809, '68319', '402', '40.959591', '-97.769154', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22172, 'Brock', 2809, '68320', '402', '40.479704', '-95.981984', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22173, 'Davey', 2809, '68336', '402', '40.962084', '-96.706336', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22174, 'Endicott', 2809, '68350', '402', '40.045045', '-97.086113', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22175, 'Fairbury', 2809, '68352', '402', '40.161227', '-97.190068', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22176, 'Gladstone', 2809, '68352', '402', '40.161227', '-97.190068', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22177, 'Powell', 2809, '68352', '402', '40.161227', '-97.190068', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22178, 'Thompson', 2809, '68352', '402', '40.161227', '-97.190068', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22179, 'Otoe', 2809, '68417', '402', '40.740584', '-96.09266', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22180, 'Palmyra', 2809, '68418', '402', '40.696892', '-96.397361', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22181, 'Pawnee City', 2809, '68420', '402', '40.087768', '-96.123763', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22182, 'Seward', 2809, '68434', '402', '40.902116', '-97.110798', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22183, 'Tamora', 2809, '68434', '402', '40.902116', '-97.110798', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22184, 'Shickley', 2809, '68436', '402', '40.394029', '-97.710172', '2018-11-29 04:53:08', '2018-11-29 04:53:08'),\n(22185, 'Shubert', 2809, '68437', '402', '40.218333', '-95.70014', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22186, 'Ong', 2809, '68452', '402', '40.394028', '-97.881126', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22187, 'Tobias', 2809, '68453', '402', '40.430163', '-97.311833', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22188, 'Unadilla', 2809, '68454', '402', '40.69672', '-96.292498', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22189, 'York', 2809, '68467', '402', '40.836352', '-97.559183', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22190, 'Lincoln', 2809, '68520', '402', '40.789394', '-96.534938', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22191, 'Lincoln', 2809, '68521', '402', '40.860661', '-96.720272', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22192, 'Ames', 2809, '68621', '402', '41.473184', '-96.624583', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22193, 'Elgin', 2809, '68636', '402', '41.937448', '-98.132752', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22194, 'Ericson', 2809, '68637', '308', '41.827076', '-98.643988', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22195, 'Hadar', 2809, '68701', '402', '42.02542', '-97.443801', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22196, 'Norfolk', 2809, '68701', '402', '42.02542', '-97.443801', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22197, 'Brunswick', 2809, '68720', '402', '42.350113', '-97.99013', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22198, 'Maskell', 2809, '68751', '402', '42.674636', '-96.956462', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22199, 'Pilger', 2809, '68768', '402', '42.003922', '-97.146418', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22200, 'Wausa', 2809, '68786', '402', '42.503676', '-97.573226', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22201, 'West Point', 2809, '68788', '402', '41.865406', '-96.739005', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22202, 'Boelus', 2809, '68820', '308', '41.119226', '-98.681402', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22203, 'Brewster', 2809, '68821', '308', '41.913163', '-99.855052', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22204, 'Kronborg', 2809, '68854', '402', '41.018666', '-98.023362', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22205, 'Marquette', 2809, '68854', '402', '41.018666', '-98.023362', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22206, 'Alma', 2809, '68920', '308', '40.161766', '-99.348721', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22207, 'Prairie Dog', 2809, '68920', '308', '40.161766', '-99.348721', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22208, 'Edgar', 2809, '68935', '402', '40.350592', '-97.95727', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22209, 'Sedan', 2809, '68935', '402', '40.350592', '-97.95727', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22210, 'Assumption', 2809, '68955', '402', '40.597067', '-98.543748', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22211, 'Hayland', 2809, '68955', '402', '40.597067', '-98.543748', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22212, 'Juniata', 2809, '68955', '402', '40.597067', '-98.543748', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22213, 'Red Cloud', 2809, '68970', '402', '40.0894', '-98.492974', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22214, 'Huntley', 2809, '68971', '308', '40.13276', '-99.254418', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22215, 'Mullally', 2809, '68971', '308', '40.13276', '-99.254418', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22216, 'Repub City', 2809, '68971', '308', '40.13276', '-99.254418', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22217, 'Republican City', 2809, '68971', '308', '40.13276', '-99.254418', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22218, 'Max', 2809, '69037', '308', '40.111559', '-101.380642', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22219, 'Moorefield', 2809, '69039', '308', '40.52484', '-100.324128', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22220, 'Arthur', 2809, '69121', '308', '41.543186', '-101.696012', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22221, 'Big Springs', 2809, '69122', '308', '41.11942', '-102.109987', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22222, 'Potter', 2809, '69156', '308', '41.250174', '-103.262266', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22223, 'Nenzel', 2809, '69219', '402', '42.683896', '-101.1057', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22224, 'Wood Lake', 2809, '69221', '402', '42.62901', '-100.30866', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22225, 'Chadron', 2809, '69337', '308', '42.762668', '-103.049636', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22226, 'Mc Grew', 2809, '69353', '308', '41.7468', '-103.4172', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22227, 'Mcgrew', 2809, '69353', '308', '41.7468', '-103.4172', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22228, 'Marsland', 2809, '69354', '308', '42.480226', '-103.291253', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22229, 'Cedar Creek', 2809, '68016', '402', '41.042236', '-96.111043', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22230, 'Colon', 2809, '68018', '402', '41.314474', '-96.610111', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22231, 'Craig', 2809, '68019', '402', '41.792406', '-96.37641', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22232, 'Ithaca', 2809, '68033', '402', '41.154144', '-96.523134', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22233, 'Kennard', 2809, '68034', '402', '41.451072', '-96.218418', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22234, 'Omaha', 2809, '68103', '402', '41.2477', '-95.9321', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22235, 'Omaha', 2809, '68116', '402', '41.299012', '-96.167255', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22236, 'Omaha', 2809, '68117', '402', '41.206108', '-96.002172', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22237, 'Air Mail Facility', 2809, '68119', '402', '41.361', '-96.0228', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22238, 'Omaha', 2809, '68119', '402', '41.361', '-96.0228', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22239, 'Omaha', 2809, '68136', '402', '41.168851', '-96.186497', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22240, 'Florence', 2809, '68152', '402', '41.367386', '-95.998578', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22241, 'Omaha', 2809, '68152', '402', '41.367386', '-95.998578', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22242, 'Blue Springs', 2809, '68318', '402', '40.160824', '-96.661788', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22243, 'Gresham', 2809, '68367', '402', '41.003176', '-97.3732', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22244, 'Hebron', 2809, '68370', '402', '40.190802', '-97.670312', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22245, 'Centerville', 2809, '68404', '402', '40.617651', '-96.7528', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22246, 'Martell', 2809, '68404', '402', '40.617651', '-96.7528', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22247, 'Princeton', 2809, '68404', '402', '40.617651', '-96.7528', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22248, 'Lincoln', 2809, '68502', '402', '40.785018', '-96.700191', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22249, 'Columbus', 2809, '68602', '402', '41.4275', '-97.3641', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22250, 'Albion', 2809, '68620', '402', '41.760192', '-98.063227', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22251, 'Boone', 2809, '68620', '402', '41.760192', '-98.063227', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22252, 'Fullerton', 2809, '68638', '308', '41.387659', '-98.117243', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22253, 'Ulysses', 2809, '68669', '402', '41.083468', '-97.225308', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22254, 'Bloomfield', 2809, '68718', '402', '42.655806', '-97.651789', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22255, 'Hadar', 2809, '68738', '402', '42.1053', '-97.4488', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22256, 'Naper', 2809, '68755', '402', '42.90141', '-99.059003', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22257, 'Plainview', 2809, '68769', '402', '42.314692', '-97.815286', '2018-11-29 04:53:09', '2018-11-29 04:53:09'),\n(22258, 'Randolph', 2809, '68771', '402', '42.373557', '-97.348287', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22259, 'Sholes', 2809, '68771', '402', '42.373557', '-97.348287', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22260, 'Grand Island', 2809, '68802', '308', '40.9253', '-98.3418', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22261, 'Aurora', 2809, '68818', '402', '40.829533', '-98.035202', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22262, 'Stockham', 2809, '68818', '402', '40.829533', '-98.035202', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22263, 'Farwell', 2809, '68838', '308', '41.213612', '-98.670666', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22264, 'Clay', 2809, '68852', '308', '41.199015', '-99.091996', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22265, 'Elm', 2809, '68852', '308', '41.199015', '-99.091996', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22266, 'Litchfield', 2809, '68852', '308', '41.199015', '-99.091996', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22267, 'Arapahoe', 2809, '68922', '308', '40.313948', '-99.882966', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22268, 'Edison', 2809, '68936', '308', '40.299662', '-99.786012', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22269, 'Elwood', 2809, '68937', '308', '40.579824', '-99.85963', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22270, 'Johnson Lake', 2809, '68937', '308', '40.579824', '-99.85963', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22271, 'Johnson Lk', 2809, '68937', '308', '40.579824', '-99.85963', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22272, 'Fairfield', 2809, '68938', '402', '40.394178', '-98.10852', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22273, 'Inland', 2809, '68954', '402', '40.567978', '-98.221809', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22274, 'Holdrege', 2809, '68969', '308', '40.307026', '-99.235847', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22275, 'Ragan', 2809, '68969', '308', '40.307026', '-99.235847', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22276, 'Scandinavia', 2809, '68969', '308', '40.307026', '-99.235847', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22277, 'Fremont', 2809, '68025', '402', '41.429776', '-96.47226', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22278, 'Inglewood', 2809, '68025', '402', '41.429776', '-96.47226', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22279, 'Gretna', 2809, '68028', '402', '41.103114', '-96.247892', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22280, 'Mead', 2809, '68041', '402', '41.263256', '-96.504318', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22281, 'South Bend', 2809, '68058', '402', '41.006666', '-96.255319', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22282, 'Omaha', 2809, '68127', '402', '41.206423', '-96.05261', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22283, 'Ralston', 2809, '68127', '402', '41.206423', '-96.05261', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22284, 'Millard', 2809, '68144', '402', '41.233652', '-96.11823', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22285, 'Omaha', 2809, '68144', '402', '41.233652', '-96.11823', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22286, 'Millard', 2809, '68145', '402', '41.2019', '-96.1258', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22287, 'Omaha', 2809, '68145', '402', '41.2019', '-96.1258', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22288, 'Creighton Univ', 2809, '68178', '402', '41.2586', '-95.9376', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22289, 'Omaha', 2809, '68178', '402', '41.2586', '-95.9376', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22290, 'Chester', 2809, '68327', '402', '40.0602', '-97.618817', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22291, 'Friend', 2809, '68359', '402', '40.633184', '-97.255028', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22292, 'Humboldt', 2809, '68376', '402', '40.131093', '-95.897827', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22293, 'Harbine', 2809, '68377', '402', '40.219041', '-97.020272', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22294, 'Jansen', 2809, '68377', '402', '40.219041', '-97.020272', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22295, 'Agnew', 2809, '68428', '402', '40.980532', '-96.796058', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22296, 'Raymond', 2809, '68428', '402', '40.980532', '-96.796058', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22297, 'Reynolds', 2809, '68429', '402', '40.045475', '-97.324942', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22298, 'Stella', 2809, '68442', '402', '40.218262', '-95.756441', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22299, 'Walton', 2809, '68461', '402', '40.762536', '-96.515865', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22300, 'Lincoln', 2809, '68509', '402', '40.8244', '-96.6852', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22301, 'State House', 2809, '68509', '402', '40.8244', '-96.6852', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22302, 'Lincoln', 2809, '68512', '402', '40.734962', '-96.702026', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22303, 'Lincoln', 2809, '68527', '402', '40.849206', '-96.52535', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22304, 'Prairie Home', 2809, '68527', '402', '40.849206', '-96.52535', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22305, 'Havelock', 2809, '68529', '402', '40.8505', '-96.6337', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22306, 'Lincoln', 2809, '68529', '402', '40.8505', '-96.6337', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22307, 'Cedar Rapids', 2809, '68627', '308', '41.545589', '-98.176207', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22308, 'Clarks', 2809, '68628', '308', '41.199894', '-97.855842', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22309, 'Leigh', 2809, '68643', '402', '41.648911', '-97.243189', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22310, 'Shelby', 2809, '68662', '402', '41.257336', '-97.42759', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22311, 'Silver Creek', 2809, '68663', '308', '41.321791', '-97.675594', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22312, 'Concord', 2809, '68728', '402', '42.373657', '-96.94', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22313, 'Bazile Mills', 2809, '68729', '402', '42.508152', '-97.886585', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22314, 'Cerrillos', 2812, '87010', '505', '35.373704', '-106.14085', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22315, 'Madrid', 2812, '87010', '505', '35.373704', '-106.14085', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22316, 'Claunch', 2812, '87011', '505', '34.042831', '-106.02074', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22317, 'La Jara', 2812, '87027', '505', '36.111156', '-106.994866', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22318, 'Llaves', 2812, '87027', '505', '36.111156', '-106.994866', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22319, 'Contreras', 2812, '87028', '505', '34.358942', '-106.762616', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22320, 'La Joya', 2812, '87028', '505', '34.358942', '-106.762616', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22321, 'Holtsville', 2814, '00501', '631', '40.8154', '-73.0456', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22322, 'Internal Revenue Service', 2814, '00501', '631', '40.8154', '-73.0456', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22323, 'Manhattan', 2814, '10171', '212', '40.756091', '-73.974032', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22324, 'New York', 2814, '10171', '212', '40.756091', '-73.974032', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22325, 'New York City', 2814, '10171', '212', '40.756091', '-73.974032', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22326, 'Ny', 2814, '10171', '212', '40.756091', '-73.974032', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22327, 'Ny City', 2814, '10171', '212', '40.756091', '-73.974032', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22328, 'Nyc', 2814, '10171', '212', '40.756091', '-73.974032', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22329, 'Manhattan', 2814, '10271', '212', '40.708678', '-74.010418', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22330, 'New York', 2814, '10271', '212', '40.708678', '-74.010418', '2018-11-29 04:53:10', '2018-11-29 04:53:10'),\n(22331, 'Business Reply', 2814, '10273', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22332, 'New York', 2814, '10273', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22333, 'Manhattan', 2814, '10112', '212', '40.759608', '-73.979808', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22334, 'Hsbc Bank', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22335, 'Manhattan', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22336, 'New York', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22337, 'New York City', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22338, 'Ny', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22339, 'West Hampton Beach', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22340, 'West Hampton Dunes', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22341, 'Westhampton Beach', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22342, 'Westhampton Dunes', 2814, '11978', '631', '40.820942', '-72.615386', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22343, 'Ballston', 2814, '12019', '518', '42.93515', '-73.907162', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22344, 'Ballston Lake', 2814, '12019', '518', '42.93515', '-73.907162', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22345, 'Burnt Hills', 2814, '12019', '518', '42.93515', '-73.907162', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22346, 'Charlton', 2814, '12019', '518', '42.93515', '-73.907162', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22347, 'Malta', 2814, '12019', '518', '42.93515', '-73.907162', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22348, 'Buskirk', 2814, '12028', '518', '42.949211', '-73.450302', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22349, 'Chase Bank', 2814, '11819', '516', '40.7683', '-73.5258', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22350, 'Hicksville', 2814, '11819', '516', '40.7683', '-73.5258', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22351, 'Flanders', 2814, '11901', '631', '40.924315', '-72.642608', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22352, 'Northampton', 2814, '11901', '631', '40.924315', '-72.642608', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22353, 'Riverhead', 2814, '11901', '631', '40.924315', '-72.642608', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22354, 'Greenport', 2814, '11944', '631', '41.102763', '-72.374109', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22355, 'E Yaphank', 2814, '11967', '631', '40.794219', '-72.880184', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22356, 'East Yaphank', 2814, '11967', '631', '40.794219', '-72.880184', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22357, 'Shirley', 2814, '11967', '631', '40.794219', '-72.880184', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22358, 'Smith Point', 2814, '11967', '631', '40.794219', '-72.880184', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22359, 'Smiths Point', 2814, '11967', '631', '40.794219', '-72.880184', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22360, 'P J S', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22361, 'Pjs', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22362, 'Port Jeff Sta', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22363, 'Port Jefferson Station', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22364, 'Prt Jeff Sta', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22365, 'Prt Jefferson Station', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22366, 'Terryville', 2814, '11776', '631', '40.91304', '-73.0428', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22367, 'Rocky Point', 2814, '11778', '631', '40.939563', '-72.934214', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22368, 'Central Islip', 2814, '11749', '631', '40.806466', '-73.174304', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22369, 'Hauppauge', 2814, '11749', '631', '40.806466', '-73.174304', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22370, 'Islandia', 2814, '11749', '631', '40.806466', '-73.174304', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22371, 'Ronkonkoma', 2814, '11749', '631', '40.806466', '-73.174304', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22372, 'Hempstead', 2814, '11551', '516', '40.7064', '-73.6192', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22373, 'Amity Harbor', 2814, '11701', '631', '40.686456', '-73.410472', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22374, 'Amityville', 2814, '11701', '631', '40.686456', '-73.410472', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22375, 'N Amityville', 2814, '11701', '631', '40.686456', '-73.410472', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22376, 'North Amityville', 2814, '11701', '631', '40.686456', '-73.410472', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22377, 'Brookhaven', 2814, '11719', '631', '40.78125', '-72.907486', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22378, 'S Haven', 2814, '11719', '631', '40.78125', '-72.907486', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22379, 'Bellerose', 2814, '11426', '718', '40.738859', '-73.726023', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22380, 'Jamaica', 2814, '11426', '718', '40.738859', '-73.726023', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22381, 'Queens', 2814, '11426', '718', '40.738859', '-73.726023', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22382, 'Lattingtown', 2814, '11560', '516', '40.87707', '-73.591358', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22383, 'Locust Valley', 2814, '11560', '516', '40.87707', '-73.591358', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22384, 'Matinecock', 2814, '11560', '516', '40.87707', '-73.591358', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22385, 'E Hills', 2814, '11576', '516', '40.794386', '-73.648425', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22386, 'East Hills', 2814, '11576', '516', '40.794386', '-73.648425', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22387, 'Roslyn', 2814, '11576', '516', '40.794386', '-73.648425', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22388, 'Roslyn Estates', 2814, '11576', '516', '40.794386', '-73.648425', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22389, 'Roslyn Harbor', 2814, '11576', '516', '40.794386', '-73.648425', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22390, 'Flushing', 2814, '11374', '718', '40.724094', '-73.862457', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22391, 'Queens', 2814, '11374', '718', '40.724094', '-73.862457', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22392, 'Rego Park', 2814, '11374', '718', '40.724094', '-73.862457', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22393, 'Rego Pk', 2814, '11374', '718', '40.724094', '-73.862457', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22394, 'Flushing', 2814, '11385', '718', '40.698203', '-73.880444', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22395, 'Fresh Pond', 2814, '11385', '718', '40.698203', '-73.880444', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22396, 'Glendale', 2814, '11385', '718', '40.698203', '-73.880444', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22397, 'Queens', 2814, '11385', '718', '40.698203', '-73.880444', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22398, 'Ridgewood', 2814, '11385', '718', '40.698203', '-73.880444', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22399, 'Baldwin', 2814, '11510', '516', '40.653816', '-73.608519', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22400, 'Baldwin Harbor', 2814, '11510', '516', '40.653816', '-73.608519', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22401, 'N Baldwin', 2814, '11510', '516', '40.653816', '-73.608519', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22402, 'North Baldwin', 2814, '11510', '516', '40.653816', '-73.608519', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22403, 'Glen Cove', 2814, '11542', '516', '40.873638', '-73.623232', '2018-11-29 04:53:11', '2018-11-29 04:53:11'),\n(22404, 'Brooklyn', 2814, '11242', '718', '40.6963', '-73.9899', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22405, 'Brooklyn', 2814, '11249', '347', '40.6933', '-73.9925', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22406, 'Jamaica', 2814, '11415', '718', '40.70809', '-73.830299', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22407, 'Kew Gardens', 2814, '11415', '718', '40.70809', '-73.830299', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22408, 'Queens', 2814, '11415', '718', '40.70809', '-73.830299', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22409, 'Flushing', 2814, '11367', '718', '40.729383', '-73.827319', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22410, 'Kew Garden Hl', 2814, '11367', '718', '40.729383', '-73.827319', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22411, 'Kew Gardens Hills', 2814, '11367', '718', '40.729383', '-73.827319', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22412, 'Queens', 2814, '11367', '718', '40.729383', '-73.827319', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22413, 'Tappan', 2814, '10983', '845', '41.026268', '-73.949388', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22414, 'Warwick', 2814, '10990', '845', '41.256336', '-74.367714', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22415, 'Brooklyn', 2814, '11206', '718', '40.702353', '-73.942541', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22416, 'Brooklyn', 2814, '11215', '718', '40.66509', '-73.980306', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22417, 'Fort Montgomery', 2814, '10922', '845', '41.3335', '-73.9942', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22418, 'Ft Montgomery', 2814, '10922', '845', '41.3335', '-73.9942', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22419, 'Middletown', 2814, '10940', '845', '41.459264', '-74.479348', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22420, 'Scotchtown', 2814, '10940', '845', '41.459264', '-74.479348', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22421, 'Scotchtown Branch', 2814, '10940', '845', '41.459264', '-74.479348', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22422, 'Clarkstown', 2814, '10956', '845', '41.155532', '-73.990751', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22423, 'New City', 2814, '10956', '845', '41.155532', '-73.990751', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22424, 'New Hampton', 2814, '10958', '845', '41.373452', '-74.431849', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22425, 'Lake Kitchawan', 2814, '10590', '914', '41.251947', '-73.539665', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22426, 'Lewisboro', 2814, '10590', '914', '41.251947', '-73.539665', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22427, 'South Salem', 2814, '10590', '914', '41.251947', '-73.539665', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22428, 'Sloatsburg', 2814, '10974', '845', '41.159623', '-74.153875', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22429, 'Bronx', 2814, '10472', '718', '40.829982', '-73.86599', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22430, 'Bedford', 2814, '10506', '914', '41.187593', '-73.634824', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22431, 'Dobbs Ferry', 2814, '10522', '914', '41.011615', '-73.86929', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22432, 'Garrison', 2814, '10524', '845', '41.378031', '-73.925194', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22433, 'Manitou', 2814, '10524', '845', '41.378031', '-73.925194', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22434, 'East Irvington', 2814, '10533', '914', '41.040583', '-73.859445', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22435, 'Irvington', 2814, '10533', '914', '41.040583', '-73.859445', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22436, 'Irvington On Hudson', 2814, '10533', '914', '41.040583', '-73.859445', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22437, 'Hastings Hdsn', 2814, '10706', '914', '40.990017', '-73.869644', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22438, 'Hastings Hudson', 2814, '10706', '914', '40.990017', '-73.869644', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22439, 'Hastings On Hudson', 2814, '10706', '914', '40.990017', '-73.869644', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22440, 'Yonkers', 2814, '10706', '914', '40.990017', '-73.869644', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22441, 'Deutsche Bank', 2814, '10256', '212', '40.7143', '-74.0067', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22442, 'Manhattan', 2814, '10256', '212', '40.7143', '-74.0067', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22443, 'New York', 2814, '10256', '212', '40.7143', '-74.0067', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22444, 'Ny', 2814, '10256', '212', '40.7143', '-74.0067', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22445, 'Nyc', 2814, '10256', '212', '40.7143', '-74.0067', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22446, 'Bronx', 2814, '10465', '718', '40.832653', '-73.816267', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22447, 'Throggs Neck', 2814, '10465', '718', '40.832653', '-73.816267', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22448, 'Bronx', 2814, '10454', '718', '40.80546', '-73.916947', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22449, 'Mott Haven', 2814, '10454', '718', '40.80546', '-73.916947', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22450, 'Bronx', 2814, '10456', '718', '40.82933', '-73.908134', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22451, 'Morrisania', 2814, '10456', '718', '40.82933', '-73.908134', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22452, 'Bronx', 2814, '10463', '718', '40.879335', '-73.910328', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22453, 'Riverdale', 2814, '10463', '718', '40.879335', '-73.910328', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22454, 'Spuyten Duyvil', 2814, '10463', '718', '40.879335', '-73.910328', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22455, 'Bronx', 2814, '10455', '718', '40.813229', '-73.905183', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22456, 'Hub', 2814, '10455', '718', '40.813229', '-73.905183', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22457, 'Bronx', 2814, '10457', '718', '40.846411', '-73.898446', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22458, 'Columbiaville', 2814, '12050', '518', '42.3307', '-73.7523', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22459, 'E Greenbush', 2814, '12061', '518', '42.603724', '-73.642202', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22460, 'East Greenbush', 2814, '12061', '518', '42.603724', '-73.642202', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22461, 'Guilderland', 2814, '12084', '518', '42.699833', '-73.905116', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22462, 'East Jefferson', 2814, '12093', '607', '42.498374', '-74.61701', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22463, 'Jefferson', 2814, '12093', '607', '42.498374', '-74.61701', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22464, 'North Harpersfield', 2814, '12093', '607', '42.498374', '-74.61701', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22465, 'Bemis Heights', 2814, '12170', '518', '43.001842', '-73.658922', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22466, 'Stillwater', 2814, '12170', '518', '43.001842', '-73.658922', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22467, 'Broadalbin', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22468, 'Fish House', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22469, 'Galway Lake', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22470, 'Honeywell Corners', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22471, 'North Broadalbin', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22472, 'Stevers Mills', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22473, 'Union Mills', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22474, 'Vail Mills', 2814, '12025', '518', '43.097076', '-74.138936', '2018-11-29 04:53:12', '2018-11-29 04:53:12'),\n(22475, 'Burnt Hills', 2814, '12027', '518', '42.925051', '-73.909742', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22476, 'Coeymans', 2814, '12045', '518', '42.47918', '-73.79695', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22477, 'Medusa', 2814, '12120', '518', '42.46221', '-74.140864', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22478, 'Manor Park', 2814, '11950', '631', '40.808294', '-72.855128', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22479, 'Mastic', 2814, '11950', '631', '40.808294', '-72.855128', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22480, 'Rivers Edge', 2814, '11950', '631', '40.808294', '-72.855128', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22481, 'Lake Panamoka', 2814, '11961', '631', '40.889599', '-72.8897', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22482, 'Panamoka', 2814, '11961', '631', '40.889599', '-72.8897', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22483, 'Ridge', 2814, '11961', '631', '40.889599', '-72.8897', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22484, 'S Hampton', 2814, '11968', '631', '40.907731', '-72.41412', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22485, 'South Hampton', 2814, '11968', '631', '40.907731', '-72.41412', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22486, 'Southampton', 2814, '11968', '631', '40.907731', '-72.41412', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22487, 'S Jamesport', 2814, '11970', '631', '40.940331', '-72.572629', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22488, 'South Jamesport', 2814, '11970', '631', '40.940331', '-72.572629', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22489, 'Wainscott', 2814, '11975', '631', '40.939727', '-72.248021', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22490, 'W Hampton', 2814, '11977', '631', '40.813515', '-72.677574', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22491, 'West Hampton', 2814, '11977', '631', '40.813515', '-72.677574', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22492, 'Westhampton', 2814, '11977', '631', '40.813515', '-72.677574', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22493, 'Don Jagoda Assc Inc', 2814, '11775', '631', '40.8257', '-73.5024', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22494, 'Melville', 2814, '11775', '631', '40.8257', '-73.5024', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22495, 'Belle Terre', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22496, 'P J S', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22497, 'Pjs', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22498, 'Port Jeff Sta', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22499, 'Port Jefferson', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22500, 'Port Jefferson Station', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22501, 'Prt Jefferson', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22502, 'Pt Jefferson Station', 2814, '11777', '631', '40.951312', '-73.064734', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22503, 'Briar Park', 2814, '11793', '516', '40.67766', '-73.512061', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22504, 'N Wantagh', 2814, '11793', '516', '40.67766', '-73.512061', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22505, 'Wantagh', 2814, '11793', '516', '40.67766', '-73.512061', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22506, 'Hicksville', 2814, '11802', '516', '40.7683', '-73.5258', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22507, 'Far Rockaway', 2814, '11691', '718', '40.600717', '-73.763518', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22508, 'Queens', 2814, '11691', '718', '40.600717', '-73.763518', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22509, 'Hempstead', 2814, '11550', '516', '40.700705', '-73.620907', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22510, 'S Hempstead', 2814, '11550', '516', '40.700705', '-73.620907', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22511, 'South Hempstead', 2814, '11550', '516', '40.700705', '-73.620907', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22512, 'Commack', 2814, '11725', '631', '40.839532', '-73.280564', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22513, 'Jamaica', 2814, '11425', '718', '40.6917', '-73.8061', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22514, 'Queens', 2814, '11425', '718', '40.6917', '-73.8061', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22515, 'Vet Admin Ext Care Ctr', 2814, '11425', '718', '40.6917', '-73.8061', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22516, 'Bellerose Manor', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22517, 'Bellrs Manor', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22518, 'Hollis Hills', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22519, 'Jamaica', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22520, 'Queens', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22521, 'Queens Village', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22522, 'Queens Vlg', 2814, '11427', '718', '40.728586', '-73.750382', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22523, 'E Hills', 2814, '11577', '516', '40.777572', '-73.63711', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22524, 'East Hills', 2814, '11577', '516', '40.777572', '-73.63711', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22525, 'Roslyn Heights', 2814, '11577', '516', '40.777572', '-73.63711', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22526, 'Roslyn Hts', 2814, '11577', '516', '40.777572', '-73.63711', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22527, 'Addisleigh Park', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22528, 'Addisleigh Pk', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22529, 'Jamaica', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22530, 'Queens', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22531, 'Rochdale', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22532, 'Rochdale Vill', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22533, 'Rochdale Village', 2814, '11434', '718', '40.676236', '-73.774958', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22534, 'Atlantic Bch', 2814, '11509', '516', '40.587562', '-73.7303', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22535, 'Atlantic Beach', 2814, '11509', '516', '40.587562', '-73.7303', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22536, 'Cedarhurst', 2814, '11516', '516', '40.62835', '-73.726012', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22537, 'E Rockaway', 2814, '11518', '516', '40.637562', '-73.668026', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22538, 'East Rockaway', 2814, '11518', '516', '40.637562', '-73.668026', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22539, 'Brooklyn', 2814, '11241', '347', '40.6932', '-73.9912', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22540, 'Jamaica', 2814, '11416', '718', '40.685254', '-73.850286', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22541, 'Ozone Park', 2814, '11416', '718', '40.685254', '-73.850286', '2018-11-29 04:53:13', '2018-11-29 04:53:13'),\n(22542, 'Queens', 2814, '11416', '718', '40.685254', '-73.850286', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22543, 'Hollis', 2814, '11423', '718', '40.718456', '-73.767138', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22544, 'Jamaica', 2814, '11423', '718', '40.718456', '-73.767138', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22545, 'Queens', 2814, '11423', '718', '40.718456', '-73.767138', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22546, 'Baxter Estates', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22547, 'Harbor Acres', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22548, 'Manorhaven', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22549, 'Port Wash', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22550, 'Port Washington', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22551, 'Pr Wash', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22552, 'Pr Wshngtn', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22553, 'Prt Washingtn', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22554, 'Pt Wash', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22555, 'Sands Point', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22556, 'The Terrace', 2814, '11050', '516', '40.837088', '-73.694', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22557, 'Corona', 2814, '11368', '718', '40.75233', '-73.853462', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22558, 'Flushing', 2814, '11368', '718', '40.75233', '-73.853462', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22559, 'Queens', 2814, '11368', '718', '40.75233', '-73.853462', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22560, 'Valley Cottage', 2814, '10989', '845', '41.12222', '-73.92899', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22561, 'Vly Cottage', 2814, '10989', '845', '41.12222', '-73.92899', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22562, 'Brooklyn', 2814, '11207', '718', '40.671296', '-73.895212', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22563, 'Brooklyn', 2814, '11223', '718', '40.59623', '-73.974066', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22564, 'Brooklyn', 2814, '11225', '718', '40.663354', '-73.951438', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22565, 'New Rochelle', 2814, '10805', '914', '40.896265', '-73.781088', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22566, 'Highland Mills', 2814, '10930', '845', '41.36317', '-74.096741', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22567, 'Highland Mls', 2814, '10930', '845', '41.36317', '-74.096741', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22568, 'Rye', 2814, '10580', '914', '40.976722', '-73.691103', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22569, 'Somers', 2814, '10589', '914', '41.311974', '-73.688548', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22570, 'Somers Town', 2814, '10589', '914', '41.311974', '-73.688548', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22571, 'Yorktown', 2814, '10598', '914', '41.285694', '-73.791524', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22572, 'Yorktown Heights', 2814, '10598', '914', '41.285694', '-73.791524', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22573, 'Yorktown Hgts', 2814, '10598', '914', '41.285694', '-73.791524', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22574, 'Yorktown Hts', 2814, '10598', '914', '41.285694', '-73.791524', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22575, 'Baldwin Place', 2814, '10505', '914', '41.342018', '-73.744341', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22576, 'Yonkers', 2814, '10705', '914', '40.917669', '-73.894724', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22577, 'Eastchester', 2814, '10707', '914', '40.962424', '-73.82351', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22578, 'Tuckahoe', 2814, '10707', '914', '40.962424', '-73.82351', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22579, 'Yonkers', 2814, '10707', '914', '40.962424', '-73.82351', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22580, 'Topton', 2818, '19562', '610', '40.50087', '-75.6973', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22581, 'Phila', 2818, '19114', '215', '40.06728', '-75.004884', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22582, 'Philadelphia', 2818, '19114', '215', '40.06728', '-75.004884', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22583, 'Torresdale South', 2818, '19114', '215', '40.06728', '-75.004884', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22584, 'Bensalem', 2818, '19021', '215', '40.087836', '-74.892138', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22585, 'Croydon', 2818, '19021', '215', '40.087836', '-74.892138', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22586, 'Springfield', 2818, '19064', '610', '39.932544', '-75.342975', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22587, 'Newtown Sq', 2818, '19073', '610', '39.984018', '-75.436288', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22588, 'Newtown Square', 2818, '19073', '610', '39.984018', '-75.436288', '2018-11-29 04:53:14', '2018-11-29 04:53:14');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(22589, 'Chesterbrook', 2818, '19087', '610', '40.057236', '-75.403484', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22590, 'Radnor', 2818, '19087', '610', '40.057236', '-75.403484', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22591, 'Saint Davids', 2818, '19087', '610', '40.057236', '-75.403484', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22592, 'St Davids', 2818, '19087', '610', '40.057236', '-75.403484', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22593, 'Strafford', 2818, '19087', '610', '40.057236', '-75.403484', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22594, 'Wayne', 2818, '19087', '610', '40.057236', '-75.403484', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22595, 'Chilton Co', 2818, '19089', '610', '40.0438', '-75.3883', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22596, 'Radnor', 2818, '19089', '610', '40.0438', '-75.3883', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22597, 'Wayne', 2818, '19089', '610', '40.0438', '-75.3883', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22598, 'Fairless Hills', 2818, '19030', '215', '40.175859', '-74.826581', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22599, 'Fairless Hls', 2818, '19030', '215', '40.175859', '-74.826581', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22600, 'Baederwood', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22601, 'Fox Chase Manor', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22602, 'Foxcroft', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22603, 'Foxcroft Sq', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22604, 'Foxcroft Square', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22605, 'Hollywood', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22606, 'Jenkintown', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22607, 'Meadowbrook', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22608, 'Holtwood', 2818, '17532', '717', '39.857946', '-76.303992', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22609, 'Rawlinsville', 2818, '17532', '717', '39.857946', '-76.303992', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22610, 'Intercourse', 2818, '17534', '717', '40.0375', '-76.1054', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22611, 'Beecherstown', 2818, '17307', '717', '39.938891', '-77.308186', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22612, 'Biglerville', 2818, '17307', '717', '39.938891', '-77.308186', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22613, 'Brysonia', 2818, '17307', '717', '39.938891', '-77.308186', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22614, 'Floradale', 2818, '17307', '717', '39.938891', '-77.308186', '2018-11-29 04:53:14', '2018-11-29 04:53:14'),\n(22615, 'Guernsey', 2818, '17307', '717', '39.938891', '-77.308186', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22616, 'Table Rock', 2818, '17307', '717', '39.938891', '-77.308186', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22617, 'Brogue', 2818, '17309', '717', '39.869273', '-76.452824', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22618, 'Shenks Ferry', 2818, '17309', '717', '39.869273', '-76.452824', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22619, 'Emigsville', 2818, '17318', '717', '40.016596', '-76.726938', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22620, 'Longlevel', 2818, '17368', '717', '39.989009', '-76.512624', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22621, 'Wrightsville', 2818, '17368', '717', '39.989009', '-76.512624', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22622, 'Cleversburg', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22623, 'Lees Cross Rd', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22624, 'Mainsville', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22625, 'Blue Ridge Sm', 2818, '17214', '717', '39.739971', '-77.465786', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22626, 'Blue Ridge Summit', 2818, '17214', '717', '39.739971', '-77.465786', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22627, 'Charmian', 2818, '17214', '717', '39.739971', '-77.465786', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22628, 'Middle Spring', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22629, 'Mongul', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22630, 'Mowersville', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22631, 'Pinola', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22632, 'Shippensburg', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22633, 'Stoughstown', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22634, 'Tusculam', 2818, '17257', '717', '40.040631', '-77.497452', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22635, 'Altenwald', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22636, 'Biesecker Gap', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22637, 'Cress', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22638, 'Eastland Hill', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22639, 'Fiveforks', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22640, 'Fox Hill', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22641, 'Glen Forney', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22642, 'Good', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22643, 'Pen Mar', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22644, 'Pennersville', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22645, 'Polktown', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22646, 'Roadside', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22647, 'Tomstown', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22648, 'Wayne Heights', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22649, 'Waynesboro', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22650, 'Weltys', 2818, '17268', '717', '39.797162', '-77.592364', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22651, 'Barrville', 2818, '17084', '717', '40.666197', '-77.616235', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22652, 'Gardenview', 2818, '17084', '717', '40.666197', '-77.616235', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22653, 'Reedsville', 2818, '17084', '717', '40.666197', '-77.616235', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22654, 'Shraders', 2818, '17084', '717', '40.666197', '-77.616235', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22655, 'Blue Shield', 2818, '17089', '717', '40.2397', '-76.9205', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22656, 'Camp Hill', 2818, '17089', '717', '40.2397', '-76.9205', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22657, 'High Mark Blue Shield', 2818, '17089', '717', '40.2397', '-76.9205', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22658, 'Harrisburg', 2818, '17109', '717', '40.289956', '-76.821368', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22659, 'Lower Paxton', 2818, '17109', '717', '40.289956', '-76.821368', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22660, 'Penbrook', 2818, '17109', '717', '40.289956', '-76.821368', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22661, 'Bino', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22662, 'Cosytown', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22663, 'Greencastle', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22664, 'Mason Dixon', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22665, 'Milnor', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22666, 'Upton', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22667, 'Waynecastle', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22668, 'Welsh Run', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22669, 'Worleytown', 2818, '17225', '717', '39.79923', '-77.753444', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22670, 'Harrisburg', 2818, '17123', '717', '40.2688', '-76.8842', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22671, 'Hbg', 2818, '17123', '717', '40.2688', '-76.8842', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22672, 'Traffic Safety', 2818, '17123', '717', '40.2688', '-76.8842', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22673, 'Defense Depot', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22674, 'Goodhope', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22675, 'Hampden Station', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22676, 'Hampden Township', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22677, 'Hampden Twp', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22678, 'Hogestown', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22679, 'Mech', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22680, 'Mechancsbrg', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22681, 'Mechanicsburg', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22682, 'Mechbg', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22683, 'Navy Ships', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22684, 'Navy Sup Dpt', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22685, 'Silver Spg Tp', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:15', '2018-11-29 04:53:15'),\n(22686, 'Silver Spring Township', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22687, 'Trindle Sprg', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22688, 'Wertzville', 2818, '17050', '717', '40.246976', '-77.023234', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22689, 'Arch Rock', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22690, 'Cuba Mills', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22691, 'Denholm', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22692, 'East Salem', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22693, 'Fermanagh', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22694, 'Jericho Mills', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22695, 'Newtn Hamltn', 2818, '17075', '814', '40.393503', '-77.835367', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22696, 'Newton Hamilton', 2818, '17075', '814', '40.393503', '-77.835367', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22697, 'Newton Hamltn', 2818, '17075', '814', '40.393503', '-77.835367', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22698, 'Macedonia', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22699, 'Mifflintown', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22700, 'Van Wert', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22701, 'Walker', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22702, 'Zooks Dam', 2818, '17059', '717', '40.583417', '-77.399332', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22703, 'Berrysburg', 2818, '17005', '717', '40.605254', '-76.808582', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22704, 'Cocolamus', 2818, '17014', '717', '40.656642', '-77.104503', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22705, 'Hartsfield', 2818, '16930', '570', '41.544239', '-77.14655', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22706, 'Liberty', 2818, '16930', '570', '41.544239', '-77.14655', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22707, 'Sebring', 2818, '16930', '570', '41.544239', '-77.14655', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22708, 'Morris Run', 2818, '16939', '570', '41.668125', '-77.048233', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22709, 'Howard', 2818, '16841', '814', '41.009734', '-77.653954', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22710, 'Cresson', 2818, '16630', '814', '40.461984', '-78.58083', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22711, 'Fallentimber', 2818, '16639', '814', '40.676146', '-78.43843', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22712, 'Gallitzin', 2818, '16641', '814', '40.505512', '-78.579955', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22713, 'Hollidaysburg', 2818, '16648', '814', '40.437362', '-78.327034', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22714, 'James Creek', 2818, '16657', '814', '40.342394', '-78.172578', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22715, 'New Enterprise', 2818, '16664', '814', '40.186318', '-78.436028', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22716, 'New Entrprise', 2818, '16664', '814', '40.186318', '-78.436028', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22717, 'Osceola Mills', 2818, '16666', '814', '40.87505', '-78.309655', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22718, 'Ramey', 2818, '16671', '814', '40.80396', '-78.399704', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22719, 'Lecontes Mills', 2818, '16850', '814', '41.0832', '-78.2839', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22720, 'Lecontes Mls', 2818, '16850', '814', '41.0832', '-78.2839', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22721, 'Philipsburg', 2818, '16866', '814', '40.868915', '-78.171064', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22722, 'Erie', 2818, '16507', '814', '42.136228', '-80.083422', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22723, 'Perry Square', 2818, '16507', '814', '42.136228', '-80.083422', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22724, 'Erie', 2818, '16512', '814', '42.1294', '-80.0853', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22725, 'Erie', 2818, '16530', '814', '42.1294', '-80.0853', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22726, 'Erie Ins Exchange', 2818, '16530', '814', '42.1294', '-80.0853', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22727, 'Waterfall', 2818, '16689', '814', '40.08632', '-78.093712', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22728, 'Houtzdale', 2818, '16698', '814', '40.8586', '-78.3876', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22729, 'Sci Houtzdale', 2818, '16698', '814', '40.8586', '-78.3876', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22730, 'Custer City', 2818, '16725', '814', '41.900357', '-78.661586', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22731, 'E Smethport', 2818, '16730', '814', '41.815835', '-78.409058', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22732, 'East Smethport', 2818, '16730', '814', '41.815835', '-78.409058', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22733, 'Snydersburg', 2818, '16257', '814', '41.3328', '-79.3556', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22734, 'Craigsville', 2818, '16262', '724', '40.840738', '-79.649058', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22735, 'Worthington', 2818, '16262', '724', '40.840738', '-79.649058', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22736, 'Lickingville', 2818, '16332', '814', '41.374134', '-79.346184', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22737, 'Waymart', 2818, '18472', '570', '41.573684', '-75.407028', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22738, 'Moosic', 2818, '18507', '570', '41.360924', '-75.672642', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22739, 'Scranton', 2818, '18507', '570', '41.360924', '-75.672642', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22740, 'Wind Gap', 2818, '18091', '610', '40.82547', '-75.326126', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22741, 'Drifton', 2818, '18221', '570', '41.001584', '-75.908794', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22742, 'Milnesville', 2818, '18239', '570', '40.988277', '-75.983596', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22743, 'Weston', 2818, '18256', '570', '40.944945', '-76.135754', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22744, 'Coplay', 2818, '18037', '610', '40.68286', '-75.53335', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22745, 'Ironton', 2818, '18037', '610', '40.68286', '-75.53335', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22746, 'Brodheadsville', 2818, '18322', '570', '40.9286', '-75.407212', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22747, 'Brodheadsvlle', 2818, '18322', '570', '40.9286', '-75.407212', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22748, 'Canadensis', 2818, '18325', '570', '41.211727', '-75.223683', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22749, 'Muir', 2818, '17957', '717', '40.600436', '-76.498634', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22750, 'White Deer', 2818, '17887', '570', '41.076952', '-76.876412', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22751, 'Whtdeer', 2818, '17887', '570', '41.076952', '-76.876412', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22752, 'Dry Valley', 2818, '17889', '570', '40.893649', '-76.89247', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22753, 'Winfield', 2818, '17889', '570', '40.893649', '-76.89247', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22754, 'Ashland', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22755, 'Big Mine Run Junction', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:16', '2018-11-29 04:53:16'),\n(22756, 'Centralia', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22757, 'Fountain Springs', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22758, 'Helfenstein', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22759, 'Homesville', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22760, 'Mable', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22761, 'Mowry', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22762, 'Taylorville', 2818, '17921', '570', '40.774449', '-76.354518', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22763, 'Auburn', 2818, '17922', '570', '40.592968', '-76.12725', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22764, 'Brommerstown', 2818, '17922', '570', '40.592968', '-76.12725', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22765, 'South Manheim', 2818, '17922', '570', '40.592968', '-76.12725', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22766, 'New Columbia', 2818, '17856', '570', '41.054636', '-76.959138', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22767, 'W Milton', 2818, '17856', '570', '41.054636', '-76.959138', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22768, 'Kapp Heights', 2818, '17857', '570', '40.924149', '-76.754028', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22769, 'Lithia Sprs', 2818, '17857', '570', '40.924149', '-76.754028', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22770, 'Northumberland', 2818, '17857', '570', '40.924149', '-76.754028', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22771, 'Northumberlnd', 2818, '17857', '570', '40.924149', '-76.754028', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22772, 'Oak Park', 2818, '17857', '570', '40.924149', '-76.754028', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22773, 'Tivoli', 2818, '17737', '570', '41.2882', '-76.670475', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22774, 'Fields Sta', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22775, 'Gamble', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22776, 'Kelleysburg', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22777, 'Marsh Hill', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22778, 'Pleasant Strm', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22779, 'Trout Run', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22780, 'Wallis Run', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22781, 'White Pine', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22782, 'Lancaster', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22783, 'Leaf Park', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22784, 'Manor Ridge', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22785, 'New Danville', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22786, 'Roherstown', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22787, 'Rohrerstown', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22788, 'West Lancaster', 2818, '17603', '717', '40.006626', '-76.360764', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22789, 'Lancaster', 2818, '17604', '717', '40.0376', '-76.3058', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22790, 'Lancaster', 2818, '17606', '717', '40.0376', '-76.3058', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22791, 'Bella Vista', 2818, '17754', '570', '41.320778', '-76.876868', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22792, 'Farragut', 2818, '17754', '570', '41.320778', '-76.876868', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22793, 'Loyalsockvle', 2818, '17754', '570', '41.320778', '-76.876868', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22794, 'Lyc Co Airprt', 2818, '17754', '570', '41.320778', '-76.876868', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22795, 'Montoursville', 2818, '17754', '570', '41.320778', '-76.876868', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22796, 'Upper Fairfld', 2818, '17754', '570', '41.320778', '-76.876868', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22797, 'Clarkstown', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22798, 'East Muncy', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22799, 'Halls', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22800, 'Huntersville', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22801, 'Moreland', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22802, 'Muncy', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22803, 'Muncy Creek', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22804, 'Opp', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22805, 'Pennsdale', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22806, 'Seagers', 2818, '17756', '570', '41.233862', '-76.741888', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22807, 'Beartown', 2818, '17555', '717', '40.120154', '-75.969428', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22808, 'Churchtown', 2818, '17555', '717', '40.120154', '-75.969428', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22809, 'Fetterville', 2818, '17555', '717', '40.120154', '-75.969428', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22810, 'Narvon', 2818, '17555', '717', '40.120154', '-75.969428', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22811, 'South Hermitage', 2818, '17555', '717', '40.120154', '-75.969428', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22812, 'Pine Forge', 2818, '19548', '610', '40.2826', '-75.6912', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22813, 'Bro Dart', 2818, '17705', '570', '41.2411', '-77.0017', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22814, 'Williamsport', 2818, '17705', '570', '41.2411', '-77.0017', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22815, 'Avis', 2818, '17721', '570', '41.185791', '-77.315072', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22816, 'Bryan Mills', 2818, '17737', '570', '41.2882', '-76.670475', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22817, 'Glen Mawr', 2818, '17737', '570', '41.2882', '-76.670475', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22818, 'Hughesville', 2818, '17737', '570', '41.2882', '-76.670475', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22819, 'York', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22820, 'Yorkana', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22821, 'Blue Ball', 2818, '17506', '717', '40.1189', '-76.0478', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22822, 'Rheems', 2818, '17570', '717', '40.129278', '-76.570228', '2018-11-29 04:53:17', '2018-11-29 04:53:17'),\n(22823, 'Mascot', 2818, '17572', '717', '40.016121', '-76.152306', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22824, 'Ronks', 2818, '17572', '717', '40.016121', '-76.152306', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22825, 'Soudersburg', 2818, '17572', '717', '40.016121', '-76.152306', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22826, 'Alpine', 2818, '17339', '717', '40.13314', '-76.883399', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22827, 'Fortney', 2818, '17339', '717', '40.13314', '-76.883399', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22828, 'Lewisberry', 2818, '17339', '717', '40.13314', '-76.883399', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22829, 'Pinetown', 2818, '17339', '717', '40.13314', '-76.883399', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22830, 'Silver Lake', 2818, '17339', '717', '40.13314', '-76.883399', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22831, 'Railroad', 2818, '17355', '717', '39.759211', '-76.695342', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22832, 'Cedar Lane', 2818, '17519', '717', '40.138646', '-76.025436', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22833, 'East Earl', 2818, '17519', '717', '40.138646', '-76.025436', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22834, 'Weaverland', 2818, '17519', '717', '40.138646', '-76.025436', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22835, 'Willow Hill', 2818, '17271', '717', '40.112029', '-77.783738', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22836, 'Aspers', 2818, '17304', '717', '39.971177', '-77.23718', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22837, 'Center Mills', 2818, '17304', '717', '39.971177', '-77.23718', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22838, 'East York', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22839, 'Fayfield', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22840, 'Glades', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22841, 'Locust Grove', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22842, 'Longstown', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22843, 'Mount Zion', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22844, 'Pleasureville', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22845, 'Spry', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22846, 'Stonybrook', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22847, 'York', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22848, 'Yorklyn', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22849, 'Yorkshire', 2818, '17402', '717', '39.947163', '-76.666526', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22850, 'Botts', 2818, '17403', '717', '39.917144', '-76.712325', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22851, 'Leaders Heights', 2818, '17403', '717', '39.917144', '-76.712325', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22852, 'Ore Valley', 2818, '17403', '717', '39.917144', '-76.712325', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22853, 'Windsor Park', 2818, '17403', '717', '39.917144', '-76.712325', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22854, 'Wyndham Hills', 2818, '17403', '717', '39.917144', '-76.712325', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22855, 'York', 2818, '17403', '717', '39.917144', '-76.712325', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22856, 'Accomac', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22857, 'Hallam', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22858, 'Hellam', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22859, 'Highmount', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22860, 'Kreutz Creek', 2818, '17406', '717', '40.018505', '-76.655886', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22861, 'Shade Gap', 2818, '17255', '814', '40.16954', '-77.870142', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22862, 'Fawn', 2818, '17321', '717', '39.758458', '-76.447383', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22863, 'Fawn Grove', 2818, '17321', '717', '39.758458', '-76.447383', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22864, 'Doylesburg', 2818, '17219', '717', '40.224638', '-77.71285', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22865, 'Fannett', 2818, '17219', '717', '40.224638', '-77.71285', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22866, 'Boggstown', 2818, '17221', '717', '40.059779', '-77.815707', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22867, 'Fannettsburg', 2818, '17221', '717', '40.059779', '-77.815707', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22868, 'Summit Sta', 2818, '17979', '570', '40.561682', '-76.196713', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22869, 'Summit Station', 2818, '17979', '570', '40.561682', '-76.196713', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22870, 'Donaldson', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22871, 'Echo Valley', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22872, 'Frailey', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22873, 'Good Spring', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22874, 'Joliett', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22875, 'Tremont', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22876, 'Zerbe', 2818, '17981', '570', '40.628836', '-76.39684', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22877, 'Slatedale', 2818, '18079', '610', '40.741614', '-75.658794', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22878, 'Emerald', 2818, '18080', '610', '40.736545', '-75.61966', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22879, 'Slatington', 2818, '18080', '610', '40.736545', '-75.61966', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22880, 'Springtown', 2818, '18081', '610', '40.555924', '-75.288248', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22881, 'Boston Run', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22882, 'Bowmans', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22883, 'Coles', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22884, 'Craigs', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22885, 'Hills Terrace', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22886, 'Mahanoy City', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22887, 'Mahanoy Cty', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22888, 'Mahanoy Cy', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22889, 'Morea', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22890, 'Morea Colliery', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22891, 'New Boston', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:18', '2018-11-29 04:53:18'),\n(22892, 'Park Place', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22893, 'Shoemakers', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22894, 'St Nicholas', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22895, 'Penns Creek', 2818, '17862', '570', '40.860896', '-77.060497', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22896, 'Potts Grove', 2818, '17865', '570', '40.984884', '-76.791558', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22897, 'Pottsgrove', 2818, '17865', '570', '40.984884', '-76.791558', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22898, 'Bitumen', 2818, '17778', '814', '41.329021', '-77.945906', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22899, 'Cooks Run', 2818, '17778', '814', '41.329021', '-77.945906', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22900, 'East Keating', 2818, '17778', '814', '41.329021', '-77.945906', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22901, 'Keating', 2818, '17778', '814', '41.329021', '-77.945906', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22902, 'Westport', 2818, '17778', '814', '41.329021', '-77.945906', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22903, 'Caldwell', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22904, 'Crestmont', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22905, 'Dunnstown', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22906, 'Farrandsville', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22907, 'Flemington', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22908, 'Haneyville', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22909, 'Lock Haven', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22910, 'Sagamore Hill', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22911, 'Sunset Pines', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22912, 'Swissdale', 2818, '17745', '570', '41.242232', '-77.44698', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22913, 'Mc Elhattan', 2818, '17748', '570', '41.129032', '-77.367524', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22914, 'Mcelhattan', 2818, '17748', '570', '41.129032', '-77.367524', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22915, 'Youngdale', 2818, '17748', '570', '41.129032', '-77.367524', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22916, 'Picture Rocks', 2818, '17762', '570', '41.279311', '-76.705137', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22917, 'Ralston', 2818, '17763', '570', '41.506277', '-76.942606', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22918, 'Eastpoint', 2818, '17765', '570', '41.546107', '-76.912603', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22919, 'Leolyn', 2818, '17765', '570', '41.546107', '-76.912603', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22920, 'Mcnett', 2818, '17765', '570', '41.546107', '-76.912603', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22921, 'Ogdensburg', 2818, '17765', '570', '41.546107', '-76.912603', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22922, 'Roaring Branch', 2818, '17765', '570', '41.546107', '-76.912603', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22923, 'Mount Hope', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22924, 'Old Line', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22925, 'Sporting Hill', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22926, 'Balls Mills', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22927, 'Cogan Station', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22928, 'Fairlawn', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22929, 'Haleeka', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22930, 'Hepburn', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22931, 'Hepburn Hts', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22932, 'Hepburnville', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22933, 'Lycoming', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22934, 'Perryville', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22935, 'Powys', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22936, 'Quiggleville', 2818, '17728', '570', '41.33542', '-77.060378', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22937, 'Cross Fork', 2818, '17729', '570', '41.478784', '-77.747362', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22938, 'Dewart', 2818, '17730', '570', '41.106284', '-76.87797', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22939, 'Penryn', 2818, '17564', '717', '40.2051', '-76.3689', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22940, 'Terre Hill', 2818, '17581', '717', '40.159094', '-76.050044', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22941, 'Elstonville', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22942, 'Elwyn Terrace', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22943, 'Lancaster Junction', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22944, 'Manheim', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22945, 'Mastersonville', 2818, '17545', '717', '40.169738', '-76.438133', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22946, 'Codorus', 2818, '17311', '717', '39.815689', '-76.840376', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22947, 'Shrewsbury', 2818, '17361', '717', '39.767685', '-76.684672', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22948, 'Rinely', 2818, '17363', '717', '39.769201', '-76.582158', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22949, 'Stewartstown', 2818, '17363', '717', '39.769201', '-76.582158', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22950, 'Thomasville', 2818, '17364', '717', '39.927152', '-76.900272', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22951, 'Quincy', 2818, '17247', '717', '39.8044', '-77.5704', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22952, 'Amberson', 2818, '17210', '717', '40.1703', '-77.6777', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22953, 'Artemas', 2818, '17211', '814', '39.761445', '-78.408648', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22954, 'Inglesmith', 2818, '17211', '814', '39.761445', '-78.408648', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22955, 'Mann', 2818, '17211', '814', '39.761445', '-78.408648', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22956, 'Big Cove Tann', 2818, '17212', '717', '39.806028', '-78.070546', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22957, 'Big Cove Tannery', 2818, '17212', '717', '39.806028', '-78.070546', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22958, 'Mount Union', 2818, '17260', '814', '40.320956', '-77.845062', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22959, 'Shirleysburg', 2818, '17260', '814', '40.320956', '-77.845062', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22960, 'Spring Run', 2818, '17262', '717', '40.180294', '-77.709196', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22961, 'State Line', 2818, '17263', '717', '39.7248', '-77.7244', '2018-11-29 04:53:19', '2018-11-29 04:53:19'),\n(22962, 'Harrisburg', 2818, '17110', '717', '40.318084', '-76.879279', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22963, 'Bressler', 2818, '17113', '717', '40.224254', '-76.83434', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22964, 'Harrisburg', 2818, '17113', '717', '40.224254', '-76.83434', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22965, 'Oberlin', 2818, '17113', '717', '40.224254', '-76.83434', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22966, 'Steelton', 2818, '17113', '717', '40.224254', '-76.83434', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22967, 'Gracey', 2818, '17228', '717', '39.98754', '-78.082946', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22968, 'Harrisonville', 2818, '17228', '717', '39.98754', '-78.082946', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22969, 'Licking Creek', 2818, '17228', '717', '39.98754', '-78.082946', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22970, 'Saluvia', 2818, '17228', '717', '39.98754', '-78.082946', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22971, 'Millerstown', 2818, '17062', '717', '40.551351', '-77.116512', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22972, 'Reward', 2818, '17062', '717', '40.551351', '-77.116512', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22973, 'Seven Stars', 2818, '17062', '717', '40.551351', '-77.116512', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22974, 'Locke Mills', 2818, '17063', '717', '40.76613', '-77.531983', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22975, 'Milroy', 2818, '17063', '717', '40.76613', '-77.531983', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22976, 'Naginey', 2818, '17063', '717', '40.76613', '-77.531983', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22977, 'Roseann', 2818, '17063', '717', '40.76613', '-77.531983', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22978, 'Siglerville', 2818, '17063', '717', '40.76613', '-77.531983', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22979, 'Department Of Revenue', 2818, '17127', '717', '40.2688', '-76.8842', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22980, 'Harrisburg', 2818, '17127', '717', '40.2688', '-76.8842', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22981, 'Hbg', 2818, '17127', '717', '40.2688', '-76.8842', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22982, 'Harrisburg', 2818, '17129', '717', '40.2688', '-76.8842', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22983, 'Hbg', 2818, '17129', '717', '40.2688', '-76.8842', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22984, 'Harrisburg', 2818, '17130', '717', '40.2761', '-76.8875', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22985, 'Hbg', 2818, '17130', '717', '40.2761', '-76.8875', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22986, 'Pheaa', 2818, '17130', '717', '40.2761', '-76.8875', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22987, 'Ono', 2818, '17077', '717', '40.405241', '-76.534158', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22988, 'Coffeetown', 2818, '17078', '717', '40.292796', '-76.586617', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22989, 'N Londonderry', 2818, '17078', '717', '40.292796', '-76.586617', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22990, 'Palmyra', 2818, '17078', '717', '40.292796', '-76.586617', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22991, 'Upper Lawn', 2818, '17078', '717', '40.292796', '-76.586617', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22992, 'Pillow', 2818, '17080', '717', '40.641575', '-76.802416', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22993, 'Lemoyne', 2818, '17043', '717', '40.252496', '-76.89725', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22994, 'Washington Ht', 2818, '17043', '717', '40.252496', '-76.89725', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22995, 'Wormleysbg', 2818, '17043', '717', '40.252496', '-76.89725', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22996, 'Wormleysburg', 2818, '17043', '717', '40.252496', '-76.89725', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22997, 'Bo Yeguada', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22998, 'Brisas De Tortuguero', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(22999, 'Brisas Del Mar', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23000, 'Ciudad Real', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23001, 'Colinas Del Marquez', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23002, 'Comunidad Bethel', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23003, 'Est De Tortuguero', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23004, 'Ext Ocean Front', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23005, 'Hacienda La Arboleda', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23006, 'Haciendas De Monteverde', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23007, 'Jard De Vega Baja', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23008, 'Parc Amadeo', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23009, 'Qtas De Tortuguero', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23010, 'Repto Sobrino', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23011, 'Sect Arenales', 2819, '00693', '787', '18.420721', '-66.403342', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23012, 'Villas Tesoro', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23013, 'Hacienda La Monserrate', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23014, 'Moca', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23015, 'Parc Lomas Verdes', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23016, 'Parc Sabana', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23017, 'Res Edad Dorada', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23018, 'URB Las Palmas', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23019, 'URB Los Robles', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23020, 'URB Moca Gdns', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(23021, 'Villa Deloamit', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23022, 'Villa Mercedes', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23023, 'Villa Soto', 2819, '00676', '787', '18.385559', '-67.082204', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23024, 'Est De Carrizales', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23025, 'Est De La Ceiba', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23026, 'Ext San Ramon', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23027, 'Ext Villa Del Carmen', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23028, 'Alts De Manati', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23029, 'Bda San Jose', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23030, 'Bo Cantera', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23031, 'Brisas De Mar Chiquita', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:20', '2018-11-29 04:53:20'),\n(23032, 'Colina Del Mar', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23033, 'Est De Manati', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23034, 'Est De Valle Verde', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23035, 'Est Marylin', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23036, 'Ext Oneill', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23037, 'Ext San Salvador', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23038, 'Hacienda Hermanas Mena', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23039, 'Hacienda La Monserrate', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23040, 'Jard De Monaco 1', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23041, 'Jard De Monaco 2', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23042, 'Jard De Monaco 3', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23043, 'Lomas Del Manatuabon', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23044, 'Manati', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23045, 'Parc La Luisa', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23046, 'Parc Marquez', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23047, 'Repto Garcia', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23048, 'Repto Geovani', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23049, 'Repto Marista', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23050, 'Repto Rosello', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23051, 'URB Atenas', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23052, 'URB Camino Del Sol Ii', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23053, 'URB Flamboyan', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23054, 'URB Las Gardenias', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23055, 'URB Los Rosales', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23056, 'URB Luchetti', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23057, 'URB Manati Chalets', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23058, 'URB Monte Verde', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23059, 'URB Oneill', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23060, 'URB Portofino', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23061, 'URB San Salvador', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23062, 'URB Santa Teresa', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23063, 'Valle De Tierras Nuevas', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23064, 'Valle Encantado', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23065, 'Valles De Manati', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23066, 'Villa Beatriz', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23067, 'Villa Evangelina', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23068, 'Villa Forestal', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23069, 'Villa Maria', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23070, 'Villa Nitza', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23071, 'Villas Del Manati', 2819, '00674', '787', '18.433168', '-66.498579', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23072, 'Hatillo', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23073, 'Parc Santa Rosa', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23074, 'Sect Aviles', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23075, 'URB Corales De Hatillo', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23076, 'URB Costa Norte', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23077, 'URB Hatillo Del Mar', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23078, 'URB Las Palmas', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23079, 'URB Mar Azul', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23080, 'Valle Verde', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23081, 'Villa Del Carmen', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23082, 'Alt De Hatillo', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23083, 'Bda Clan', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23084, 'Brisas De Hatillo', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23085, 'Colinas De Hatillo', 2819, '00659', '787', '18.416025', '-66.796287', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23086, 'Alt De Penuelas Ii', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23087, 'Alts De Penuelas', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23088, 'Brisas De Guayanes', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23089, 'Colinas De Penuelas', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23090, 'Ext Alts De Penuelas Ii', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23091, 'Jard De Penuelas', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23092, 'Penuelas', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23093, 'Repto Kennedy', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23094, 'Sect Mal Paso', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23095, 'URB El Madrigal', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23096, 'URB Guayanes', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23097, 'URB Llanos De Sabana Palma', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23098, 'URB Monte Verde', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23099, 'URB Penuelas Valley', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23100, 'URB Rio Sol', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23101, 'URB Riverside', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23102, 'URB Sagrado Corazon', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:21', '2018-11-29 04:53:21'),\n(23103, 'Villa Esmeralda', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23104, 'Vista Bahia', 2819, '00624', '787', '18.072797', '-66.724825', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23105, 'Hormigueros', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23106, 'Mans La Monserrate', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23107, 'Parc San Romualdo', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23108, 'URB Montebello', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23109, 'URB Paseo La Ceiba', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23110, 'URB Verdun', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23111, 'URB Verdun Ii', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23112, 'Valle Hermoso', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23113, 'Villa Zoraida', 2819, '00660', '787', '18.138245', '-67.111993', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23114, 'Mansiones', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23115, 'Parc Betances', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23116, 'Parc Elizabeth', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23117, 'Parc Las 35', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23118, 'Parc Las Margaritas', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23119, 'Parc Puerto Real', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23120, 'Paseos De Plan Bonito', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23121, 'Qtas De Cabo Rojo', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23122, 'Repto Miradero', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23123, 'Repto Oliveras', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23124, 'URB Alta Vista', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23125, 'URB Ana Maria', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23126, 'URB Borinquen', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23127, 'URB El Retiro', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23128, 'URB Elizabeth', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23129, 'URB Joyuda Coast', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23130, 'URB Kofresi', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23131, 'URB La Concepcion', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23132, 'URB Las Vistas', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23133, 'URB Monte Grande', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23134, 'URB Monte Rio', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23135, 'URB Montesol', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23136, 'URB Ramirez', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23137, 'URB Remanso De Cabo Rojo', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23138, 'URB San Miguel', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23139, 'URB Sierra Linda', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23140, 'Villa Aida', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23141, 'Villa Del Carmen', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23142, 'Villa Luisa', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23143, 'Villas De Plan Bonito', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23144, 'Alts De Utuado', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23145, 'Bda Nueva', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23146, 'Ext San Martin', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23147, 'Jard De Bubao', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23148, 'Sect Bella Vista', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23149, 'Sect Cercadillo', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23150, 'Sect Vendrell', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23151, 'URB Cabrera', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23152, 'URB Jesus M Lago', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23153, 'URB Perez Matos', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23154, 'URB San Martin', 2819, '00641', '787', '18.279721', '-66.689096', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23155, 'Alts De Joyuda', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23156, 'Alts Del Mar', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23157, 'Bo Ballaja', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23158, 'Bo Monte Grande', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23159, 'Cabo Rojo', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23160, 'Est De Miramar', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23161, 'Est Reales', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23162, 'Ext Elizabeth', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23163, 'Ext La Concepcion', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23164, 'Ext Parc Elizabeth', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23165, 'Ext Sierra Linda', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23166, 'Haciendas De Belvedere', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23167, 'Haciendas De Cabo Rojo', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:22', '2018-11-29 04:53:22'),\n(23168, 'Haciendas De Miramar', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23169, 'Jard Del Puerto', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23170, 'Mans De Cabo Rojo', 2819, '00623', '787', '18.040203', '-67.146574', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23171, 'Maricao', 2819, '00606', '787', '18.166734', '-66.939233', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23172, 'URB San Juan Bautista', 2819, '00606', '787', '18.166734', '-66.939233', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23173, 'Anasco', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23174, 'Brisas De Anasco', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23175, 'Est De Valle Verde', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23176, 'Jard De Anasco', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23177, 'Paseo Del Valle', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23178, 'Repto Daguey', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23179, 'URB San Antonio', 2819, '00610', '787', '18.294649', '-67.130034', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23180, 'URB Monteverde', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23181, 'URB Roosevelt', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23182, 'URB San Francisco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23183, 'URB Turnkey', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23184, 'Villa Milagros', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23185, 'Villa Olimpia', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23186, 'Villas Del Cafetal', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23187, 'Villas Del Cafetal Ii', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23188, 'Vista Real', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23189, 'Vistas De Monte Sol', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23190, 'Vistas Del Palmar', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23191, 'Yauco', 2819, '00698', '787', '18.090875', '-66.867756', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23192, 'Alts De San Blas', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23193, 'Bda Nicolin Perez', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23194, 'Bda Tomei', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23195, 'Est De Lajas', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23196, 'Est Del Parra', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23197, 'Ext El Valle 2', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23198, 'Jard De Lajas', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23199, 'Lajas', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23200, 'Parq Real', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23201, 'URB El Valle', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23202, 'URB Linda Vista', 2819, '00667', '787', '18.010034', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23203, 'Adjuntas', 2819, '00601', '787', '18.196747', '-66.736735', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23204, 'Colinas Del Gigante', 2819, '00601', '787', '18.196747', '-66.736735', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23205, 'Jard De Adjuntas', 2819, '00601', '787', '18.196747', '-66.736735', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23206, 'URB San Joaquin', 2819, '00601', '787', '18.196747', '-66.736735', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23207, 'Villa Auxerre', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23208, 'Villa Interamericana', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23209, 'Villas De Charied', 2819, '00683', '787', '18.099194', '-67.02263', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23210, 'Bda Chinto Rodon', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23211, 'Bda Estalingrado', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23212, 'Bda Paralelo 38', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23213, 'Bda Pueblo Nuevo', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23214, 'Bda Tablastilla', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23215, 'Colinas Verdes', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23216, 'Comunidad Gonzalez', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23217, 'Ext Villa Rita', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23218, 'Jard Guatemala', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23219, 'Repto Pin Mendez', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23220, 'San Sebastian', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23221, 'URB Chinto Rodon', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23222, 'URB El Culebrina', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23223, 'URB El Guayabal', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23224, 'URB La Estancia', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23225, 'URB Los Alamos', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23226, 'URB Olivencia', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23227, 'URB Pedro T Labayen', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23228, 'URB Pepino', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23229, 'URB Venturini', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23230, 'Valle Verde', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23231, 'Villa Rita', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23232, 'Villas De Piedra Blanca', 2819, '00685', '787', '18.316188', '-66.974973', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23233, 'Alt De Florida', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23234, 'Est De Arroyo', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:23', '2018-11-29 04:53:23'),\n(23235, 'Florida', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23236, 'Repto Seoane', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23237, 'URB Altos De Florida', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23238, 'URB Las Flores', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23239, 'URB Vegas De Florida', 2819, '00650', '787', '18.363009', '-66.558109', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23240, 'Bajadero', 2819, '00616', '787', '18.405484', '-66.671233', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23241, 'Brisas Del Valle', 2819, '00616', '787', '18.405484', '-66.671233', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23242, 'URB Santa Maria', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23243, 'URB Vegas De Ceiba', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23244, 'Villa Del Pilar', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23245, 'Villa Flores', 2819, '00735', '787', '18.243581', '-65.653972', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23246, 'Villa Del Sagrado Corazon', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23247, 'Villa Esperanza', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23248, 'Villa Flores', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23249, 'Villa Pampanos', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23250, 'Villa Tabaiba', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23251, 'Vista Point', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23252, 'Vistas Del Mar', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23253, 'Bo Bucana', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23254, 'Bo Campo Alegre', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23255, 'Bo Sabanetas', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23256, 'Bo Tenerias', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23257, 'Comunidad Tabaiba', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23258, 'Est Del Carmen', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23259, 'Ext Alhambra', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23260, 'Ext Alta Vista', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23261, 'Ext Villa Del Carmen', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23262, 'Jard Alhambra', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23263, 'Jard Fagot', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23264, 'Mercedita', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23265, 'Parc Amalia Marin', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23266, 'Parc Sabanetas', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23267, 'Parq Del Rio', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23268, 'Ponce', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23269, 'Repto Anaida', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23270, 'Repto Sabanetas', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23271, 'Sect Los Potes', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23272, 'Sect Playita', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23273, 'Sect Salistral', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23274, 'URB Alhambra', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23275, 'URB Alhambra Ct', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23276, 'URB Alta Vista', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23277, 'URB Anaida', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23278, 'URB Bella Vista', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23279, 'URB Camino Del Sur', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23280, 'URB Costa Caribe', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23281, 'URB Costa Sabana', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23282, 'URB El Monte', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23283, 'URB Flamboyanes', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23284, 'URB Las Monjitas', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23285, 'URB Los Almendros', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23286, 'URB Los Caobos', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23287, 'URB Sagrado Corazon', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23288, 'URB San Tomas', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23289, 'URB Santa Clara', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23290, 'Valle Real', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23291, 'Valle Verde', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23292, 'Villa De Juan', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23293, 'Villa Del Carmen', 2819, '00716', '787', '17.987655', '-66.6236', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23294, 'Mayaguez', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23295, 'Parc Castillo', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23296, 'Parc Mani', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23297, 'Parc Soledad', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23298, 'Parq De La Ceiba', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23299, 'Repto Los Chevres', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23300, 'Repto San Francisco', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23301, 'URB Bella Lomas', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23302, 'URB Buenaventura', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23303, 'URB Ensanche Ramirez', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:24', '2018-11-29 04:53:24'),\n(23304, 'URB Fraternidad', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23305, 'URB Guanajibo Gdns', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23306, 'URB Guanajibo Homes', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23307, 'URB Hostos', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23308, 'URB La Riviera', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23309, 'URB Llavat', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23310, 'URB Los Versalles', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23311, 'URB Mayaguez Terrace', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23312, 'URB Mendoza', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23313, 'URB Miradero Gdns', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23314, 'URB Miradero Hls', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23315, 'URB Petiteville', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23316, 'URB Quinto Centenario', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23317, 'URB Ramirez De Arellano', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23318, 'URB San Jose', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23319, 'URB Santa Rosa De Lima', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23320, 'URB Westernlake Vlg', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23321, 'Villas Del Oeste', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23322, 'Vista Verde', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23323, 'Alt De Algarrobo', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23324, 'Alt De Mayaguez', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23325, 'Bo Dulces Labios', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23326, 'Bo El Seco', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23327, 'Bo Mani', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23328, 'Bo Tras Talleres', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23329, 'Jard De Guanajibo', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23330, 'Jard Del Caribe', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23331, 'Mans De Espana', 2819, '00682', '787', '18.220812', '-67.147741', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23332, 'Adjuntas', 2819, '00631', '787', '18.224554', '-66.867756', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23333, 'Castaner', 2819, '00631', '787', '18.224554', '-66.867756', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23334, 'Barceloneta', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23335, 'Bda Catalana', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23336, 'Brisas De Llanadas', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23337, 'Brisas Del Monte', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23338, 'Est De Barceloneta', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23339, 'Est De Florida', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23340, 'Ext Est De Imbery', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23341, 'Ext Parc Punta Palmas', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23342, 'Parc Garrochales', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23343, 'Parc Imbery', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23344, 'Parc Magueyes', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23345, 'Parc Palenque', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23346, 'Parc Punta Palmas', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23347, 'Parc Tiburon', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23348, 'Repto Las Llanadas', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23349, 'URB Cataluna', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23350, 'URB Cimarrona Ct', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23351, 'URB City Paradise', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23352, 'URB Las Delicias', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23353, 'URB Las Praderas', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23354, 'URB Ortega', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23355, 'URB Plazuela Estates', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23356, 'URB Sol Naciente', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23357, 'Villa Barcelona', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23358, 'Villa Central', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23359, 'Villa Georgetti', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23360, 'Terr Demajagua 2', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23361, 'URB Alhambra', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23362, 'URB Altamira', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23363, 'URB Baralt', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23364, 'URB Batey', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23365, 'URB Fajardo Gdns', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23366, 'URB Garcia Ponce', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23367, 'URB La Costa Gdns Homes', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23368, 'URB Marines', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23369, 'URB Melendez', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23370, 'URB Monte Brisas 2', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23371, 'URB Monte Brisas 3', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:25', '2018-11-29 04:53:25'),\n(23372, 'URB Monte Brisas 5', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23373, 'URB Monte Vista', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23374, 'URB Montemar', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23375, 'URB Naranjo Valley', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23376, 'URB Puertas Del Sol', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23377, 'URB Rafael Bermudez', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23378, 'URB San Pedro', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23379, 'URB Santa Isidra 1', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23380, 'URB Santa Isidra 2', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23381, 'URB Santa Isidra 3', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23382, 'URB Santa Isidra 4', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23383, 'URB Veve Calzada', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23384, 'URB Viera', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23385, 'Valle Verde', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23386, 'Villa Clarita', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23387, 'Villa Marina', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23388, 'Alt De San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23389, 'Bda Roosevelt', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23390, 'Bosque Llano', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23391, 'Ciudad Masso', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23392, 'Ext Alt De San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23393, 'Ext Bda Roosevelt', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23394, 'Ext Jard De San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23395, 'Ext Tamarindo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23396, 'Hacienda Florida', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23397, 'Jard De Cerro Gordo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23398, 'Jard De San Lorenzo', 2819, '00754', '787', '18.142369', '-65.974986', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23399, 'URB Bairoa Golden Gate Ii', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23400, 'URB Bairoa Golden Gates', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23401, 'URB Bairoa Park', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23402, 'URB Bonneville Hts', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23403, 'Vistas Del Convento', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23404, 'Vistas Del Mar', 2819, '00738', '787', '18.30999', '-65.653972', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23405, 'URB Bonneville Manor', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23406, 'URB Bonneville Vly', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23407, 'URB Diamond Vlg', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23408, 'URB El Valle', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23409, 'URB Idamaris Gdns', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23410, 'URB Islabella', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23411, 'URB La Reserva', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23412, 'URB Las Nubes', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23413, 'URB Mirador De Bairoa', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23414, 'URB Palmas Del Turabo', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23415, 'URB Terralinda', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23416, 'URB Turabo Gdns', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23417, 'Valle Tolima', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23418, 'Valle Verde', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23419, 'Villa Caliz', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23420, 'Villa Del Rey 3', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23421, 'Villa Del Rey 4', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23422, 'Villa Del Rey 5', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23423, 'Villa Esperanza', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23424, 'Villa Hermosa', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23425, 'Villa Nueva', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23426, 'Alt De La Fuente', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23427, 'Alt Villa Del Rey', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23428, 'Bosque Verde', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23429, 'Caguas', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23430, 'Chalets De Bairoa', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23431, 'Ciudad Jardin De Bairoa', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23432, 'Est De Bairoa', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23433, 'Est Degetau', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23434, 'Est Del Turabo', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(23435, 'Hacienda San Jose', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23436, 'Jard De Caguas', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23437, 'La Cima I', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23438, 'Mans De Ciudad Jardin Bairoa', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23439, 'Mans El Paraiso', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23440, 'Parq Del Monte', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:26', '2018-11-29 04:53:26'),\n(23441, 'Parq Del Monte 2', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23442, 'Parq Del Rio', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23443, 'Parq Las Haciendas', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23444, 'Repto San Jose', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23445, 'Sect Altos De La Fuente', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23446, 'URB Altomonte', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23447, 'URB Altos De La Fuente', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23448, 'URB Arbolada', 2819, '00727', '787', '18.21671', '-66.055275', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23449, 'Comunidad Estella', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23450, 'Comunidad Stella', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23451, 'Ext Jard De Rincon', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23452, 'Carolina', 2819, '00988', '787', '18.3828', '-65.9578', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23453, 'Guaynabo', 2819, '00971', '787', '18.330223', '-66.114506', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23454, 'San Juan', 2819, '00937', '787', '18.4683', '-66.1061', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23455, 'College Park', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23456, 'Parq De San Ignacio', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23457, 'Pto Nuevo', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23458, 'Puerto Nuevo', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23459, 'Repto Landrau', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23460, 'Repto Metropolitano', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23461, 'Rio Piedras', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23462, 'San Juan', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23463, 'URB Altamesa', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23464, 'URB Caparra Terr', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23465, 'URB College Park Iv', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23466, 'URB Coop V Borinquen', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23467, 'URB La Riviera', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23468, 'URB La Riviera Ind Park', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23469, 'URB Las Americas', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23470, 'URB Las Lomas', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23471, 'URB Puerto Nuevo', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23472, 'URB Santiago Iglesias', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23473, 'Villa El Salvador', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23474, 'Villa Magna', 2819, '00921', '787', '18.390532', '-66.08842', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23475, '65th Infantry', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23476, 'Bo Capetillo', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23477, 'Repto America', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23478, 'Repto San Jose', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23479, 'San Juan', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23480, 'URB Casas Yoyo', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23481, 'URB Del Carmen', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23482, 'URB Dos Pinos', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23483, 'URB Dos Pinos Townhouse', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23484, 'URB Embalse San Jose', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23485, 'URB Los Maestros', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23486, 'URB Matienzo Cintron', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23487, 'URB Open Land', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23488, 'URB San Agustin', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23489, 'URB San Jose', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23490, 'URB Santa Barbara', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23491, 'URB Valencia', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23492, 'URB Victoria', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23493, 'Valle Universitario', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23494, 'Villa Dos Pinos', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23495, 'Villa Granada', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23496, 'Vista Del Cano', 2819, '00923', '787', '18.41138', '-66.033958', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23497, 'Barranquitas', 2819, '00794', '787', '18.200791', '-66.307012', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23498, 'Bda Alemania', 2819, '00794', '787', '18.200791', '-66.307012', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23499, 'URB San Cristobal', 2819, '00794', '787', '18.200791', '-66.307012', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23500, 'Vistas De Montecielo', 2819, '00794', '787', '18.200791', '-66.307012', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23501, 'Alt De Montebrisas', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23502, 'Alts De Hato Nuevo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23503, 'Bda Campamento', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23504, 'Bda Nueva', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23505, 'Ciudad Jardin', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23506, 'Est De Gran Vista', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23507, 'Est De Santa Barbara', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23508, 'Est Siervas De Maria', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23509, 'Ext Llanos De Gurabo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23510, 'Ext Villa Marina', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23511, 'Gurabo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:27', '2018-11-29 04:53:27'),\n(23512, 'Jard De Gurabo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23513, 'Lomas Del Sol', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23514, 'Mans De Navarro', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23515, 'Mans De Santa Barbara', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23516, 'Parc Nuevas', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23517, 'Parq Las Americas', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23518, 'Paseo De Santa Barbara', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23519, 'Praderas De Navarro', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23520, 'Repto San Jose', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23521, 'URB Altapaz', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23522, 'URB Bajo Costo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23523, 'Colinas De San Agustin', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23524, 'Est Del Rocio', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23525, 'Ext La Inmaculada', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23526, 'Ext Las Mercedes', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23527, 'Jard De Oriente', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23528, 'Las Piedras', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23529, 'Mans De Las Piedras', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23530, 'Mans De Los Artesanos', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23531, 'Paseo De Los Artesanos', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23532, 'Portales De Las Piedras', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23533, 'Repto Arenales', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23534, 'URB April Gdns', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23535, 'URB Camino Sereno', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23536, 'URB Campo Real', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23537, 'URB La Estancia', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23538, 'URB La Inmaculada', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23539, 'URB Las Campinas I', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23540, 'URB Las Campinas Ii', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23541, 'URB Las Campinas Iii', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23542, 'URB Olimpic Cts', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23543, 'URB Olimpic Pk', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23544, 'URB Olivia Pk', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23545, 'Jard De Rincon', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23546, 'Rincon', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23547, 'URB Cerro Los Pobres', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23548, 'URB Las Lomas', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23549, 'URB Palma Real', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23550, 'URB Sea Beach Colony', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23551, 'Villas De La Pradera', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23552, 'Vista Azul', 2819, '00677', '939', '18.331739', '-67.231158', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23553, 'Alts El Maestro', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23554, 'Camuy', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23555, 'Sect Pena', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23556, 'URB Del Carmen', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23557, 'URB Las Veredas', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23558, 'URB Linda Vista', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23559, 'Vistas De Camuy', 2819, '00627', '787', '18.425195', '-66.867756', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23560, 'Rosario', 2819, '00636', '787', '18.1647', '-67.0797', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23561, 'Ciales', 2819, '00638', '787', '18.299662', '-66.498579', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23562, 'Qtas De Ciales', 2819, '00638', '787', '18.299662', '-66.498579', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23563, 'URB Dos Rios', 2819, '00638', '787', '18.299662', '-66.498579', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23564, 'URB Los Llanos', 2819, '00638', '787', '18.299662', '-66.498579', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23565, 'URB Monte Rey', 2819, '00638', '787', '18.299662', '-66.498579', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23566, 'Aguada', 2819, '00602', '787', '18.352927', '-67.177532', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23567, 'Alts De Aguada', 2819, '00602', '787', '18.352927', '-67.177532', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23568, 'Bo Guaniquilla', 2819, '00602', '787', '18.352927', '-67.177532', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23569, 'Comunidad Las Flores', 2819, '00602', '787', '18.352927', '-67.177532', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23570, 'Ext Los Robles', 2819, '00602', '787', '18.352927', '-67.177532', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23571, 'URB Isabel La Catolica', 2819, '00602', '787', '18.352927', '-67.177532', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23572, 'Alt De Parq Ecuestre', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23573, 'Bo Buenaventura', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23574, 'Bo Colo', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23575, 'Bo Martin Gonzalez', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:28', '2018-11-29 04:53:28'),\n(23576, 'Brisas De Metropolis', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23577, 'Carolina', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23578, 'Ciudad Central Ii', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23579, 'Ciudad Centro', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23580, 'Ciudad Jardin', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23581, 'Est Del Parque', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23582, 'Ext Parq Ecuestre', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23583, 'Hacienda Real', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23584, 'Isla Verde', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23585, 'Jard De Carolina', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23586, 'Loma Alta', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23587, 'Bda Buena Vista', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23588, 'Bo Buena Vista', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23589, 'Bo Villa Caridad', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23590, 'Bo Villa Esperanza', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23591, 'Bo Villa Justicia', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23592, 'Carolina', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23593, 'Est De San Fernando', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23594, 'Isla Verde', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23595, 'Jard De Borinquen', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23596, 'Jard De Buena Vista', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23597, 'URB Jose S Quinones', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23598, 'URB Rosa Maria', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23599, 'Villa Carolina', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23600, 'Villa Cooperativa', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23601, 'Villas Del Sol', 2819, '00985', '787', '18.406221', '-65.943942', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23602, 'Valle Alto', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23603, 'Villa Dos Rios', 2819, '00730', '787', '18.032129', '-66.6236', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23604, 'Bosque Real', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23605, 'Cidra', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23606, 'Ciudad Primavera', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23607, 'Est Del Bosque', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23608, 'Hacienda Primavera', 2819, '00739', '787', '18.176915', '-66.153424', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23609, 'URB Las Ceibas', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23610, 'URB Las Flores', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23611, 'URB Llanos De Isabela', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23612, 'URB Manuel Corchado', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23613, 'URB Medina', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23614, 'URB Salvador Rios', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23615, 'URB Santa Rosa', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23616, 'URB Santa Teresita', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23617, 'URB Sol Y Mar', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23618, 'Villa Acevedo', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23619, 'Villa Gamal', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23620, 'Villa Karen', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23621, 'Villa Lydia', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23622, 'Villa Mizei', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23623, 'Villa Pesquera', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23624, 'Vista Verde', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23625, 'Vistas Del Atlantico', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23626, 'Alts De Borinquen', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23627, 'Alts De Jayuya', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23628, 'Jard De Jayuya', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23629, 'Jayuya', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23630, 'URB Hayuya', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23631, 'URB La Colina', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23632, 'URB La Monserrate', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23633, 'URB Vega Linda', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23634, 'Valle Verde', 2819, '00664', '787', '18.210309', '-66.581923', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23635, 'Alt Del Mar', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23636, 'Bda La Mayor', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23637, 'Brisas Del Canal', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23638, 'Comunidad Capiro', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23639, 'Comunidad El Canon', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23640, 'Comunidad El Ramal', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:29', '2018-11-29 04:53:29'),\n(23641, 'Comunidad Guanabano', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23642, 'Comunidad Los Pinos', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23643, 'Comunidad Los Ponce', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23644, 'Comunidad Mantilla', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23645, 'Comunidad Ramal', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23646, 'Comunidad Sonuco', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23647, 'Est De Isabela', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23648, 'Est Del Paraiso', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23649, 'Est Velazquez', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23650, 'Ext Villa Espana', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23651, 'Haciendas De Isabela', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23652, 'Isabela', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23653, 'Jard Miramar', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23654, 'Mans Del Atlantico', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23655, 'Parc Cotto', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23656, 'Parc Mora Guerrero', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23657, 'Pradera Real', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23658, 'Qtas Del Atlantico', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23659, 'Repto Apolonio Velez Ramos', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23660, 'Repto Capella', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23661, 'Repto Duran', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23662, 'Repto Jerusalen', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23663, 'Repto Las Brisas', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23664, 'Repto Miraflores', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23665, 'Repto Monte Claro', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23666, 'Repto San Antonio', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23667, 'Repto Santa Maria', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23668, 'Repto Vega Badillo', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23669, 'Repto Villa Y Mar', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23670, 'Repto Yomaira', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23671, 'Res Lomas Del Sol', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23672, 'Sect Cachichuelas', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23673, 'Sect California', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23674, 'Sect Casimiro Perez', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23675, 'Sect La Media Cuerda', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23676, 'Sect La Pra', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23677, 'Sect Las Colinas', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23678, 'Sect Las Marias', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23679, 'Sect Las Uvas', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23680, 'Sect Los Toledo', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23681, 'Sect Pueblo Nuevo', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23682, 'Sect Rotarios', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23683, 'Sect San Antonio De La Tuna', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23684, 'Sect Tocones', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23685, 'Sect Verdum', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23686, 'Sect Villa Luna', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23687, 'URB Cassandra', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23688, 'URB Costa Brava', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23689, 'URB Domenech', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23690, 'URB Figueroa', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23691, 'URB Hau', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23692, 'URB Islazul', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23693, 'URB Lamela', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23694, 'URB Las 3t', 2819, '00662', '787', '18.45613', '-67.02263', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23695, 'Green Sea', 2821, '29545', '843', '34.171663', '-78.972766', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23696, 'Hamer', 2821, '29547', '843', '34.495506', '-79.334156', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23697, 'S Of Border', 2821, '29547', '843', '34.495506', '-79.334156', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23698, 'South Of The Border', 2821, '29547', '843', '34.495506', '-79.334156', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23699, 'Columbia', 2821, '29260', '803', '34.0009', '-81.0353', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23700, 'Aynor', 2821, '29511', '843', '33.974886', '-79.116568', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23701, 'Bennettsville', 2821, '29512', '843', '34.633355', '-79.707302', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23702, 'Whitmire', 2821, '29178', '803', '34.48658', '-81.571043', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23703, 'Columbia', 2821, '29205', '803', '33.986024', '-80.997468', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23704, 'Five Points', 2821, '29205', '803', '33.986024', '-80.997468', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23705, 'Mayo', 2821, '29368', '864', '34.8405', '-82.0946', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23706, 'Moore', 2821, '29369', '864', '34.854975', '-82.027666', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23707, 'Mountville', 2821, '29370', '864', '34.353338', '-81.957505', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23708, 'Wellford', 2821, '29385', '864', '34.973817', '-82.100231', '2018-11-29 04:53:30', '2018-11-29 04:53:30'),\n(23709, 'Charleston', 2821, '29403', '843', '32.800217', '-79.942754', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23710, 'Chas', 2821, '29403', '843', '32.800217', '-79.942754', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23711, 'Charleston', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23712, 'Charleston AFB', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23713, 'Chas', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23714, 'Chas AFB', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23715, 'Joint Base Charleston', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23716, 'Jt Base Chas', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23717, 'N Charleston', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23718, 'No Chas', 2821, '29404', '843', '32.900009', '-80.05428', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23719, 'Orangeburg', 2821, '29118', '803', '33.57115', '-80.891585', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23720, 'Dewees Island', 2821, '29451', '843', '32.814144', '-79.755352', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23721, 'Isle Of Palms', 2821, '29451', '843', '32.814144', '-79.755352', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23722, 'Darlington', 2821, '29540', '843', '34.389659', '-79.869514', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23723, 'Columbia', 2821, '29240', '803', '34.0009', '-81.0353', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23724, 'Columbia', 2821, '29292', '803', '34.0009', '-81.0353', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23725, 'Cross Anchor', 2821, '29331', '864', '34.6425', '-81.8582', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23726, 'Joanna', 2821, '29351', '864', '34.389232', '-81.817563', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23727, 'Lyman', 2821, '29365', '864', '34.983986', '-82.162804', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23728, 'Glenn Springs', 2821, '29374', '864', '34.78655', '-81.853072', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23729, 'Pauline', 2821, '29374', '864', '34.78655', '-81.853072', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23730, 'Charleston', 2821, '29406', '843', '32.928935', '-80.015328', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23731, 'Chas', 2821, '29406', '843', '32.928935', '-80.015328', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23732, 'Pecan Way Terrace', 2821, '29115', '803', '33.4863', '-80.873926', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23733, 'Columbia', 2821, '29250', '803', '34.0009', '-81.0353', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23734, 'Chesnee', 2821, '29323', '864', '35.112112', '-81.920516', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23735, 'Greenbrier', 2821, '29180', '803', '34.357979', '-81.059476', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23736, 'White Oak', 2821, '29180', '803', '34.357979', '-81.059476', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23737, 'Winnsboro', 2821, '29180', '803', '34.357979', '-81.059476', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23738, 'Winnsboro Mills', 2821, '29180', '803', '34.357979', '-81.059476', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23739, 'Reidville', 2821, '29375', '864', '34.862408', '-82.110392', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23740, 'Adams Run', 2821, '29426', '843', '32.802978', '-80.363721', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23741, 'Jericho', 2821, '29426', '843', '32.802978', '-80.363721', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23742, 'Converse', 2821, '29329', '864', '34.9918', '-81.8353', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23743, 'Cowpens', 2821, '29330', '864', '35.061864', '-81.794386', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23744, 'Glendale', 2821, '29346', '864', '34.9447', '-81.8375', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23745, 'Startex', 2821, '29377', '864', '34.932604', '-82.093821', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23746, 'Borden', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23747, 'Boykin', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23748, 'Dunkins Mill', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23749, 'Sullivans Island', 2821, '29482', '843', '32.76455', '-79.839568', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23750, 'Summ', 2821, '29484', '843', '33.0184', '-80.1756', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23751, 'Summerville', 2821, '29484', '843', '33.0184', '-80.1756', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23752, 'Darlington', 2821, '29532', '843', '34.279616', '-79.840008', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23753, 'Ch Hgts', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23754, 'Charleston', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23755, 'Charleston Heights', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23756, 'Charleston Hts', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23757, 'Chas', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23758, 'Chas Hgts', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23759, 'N Charleston', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23760, 'No Chas', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23761, 'North Charleston', 2821, '29418', '843', '32.890078', '-80.058944', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23762, 'Knightsville', 2821, '29483', '843', '33.09643', '-80.19527', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23763, 'Summerville', 2821, '29483', '843', '33.09643', '-80.19527', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23764, 'Florence', 2821, '29501', '843', '34.213396', '-79.820616', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23765, 'Florence', 2821, '29506', '843', '34.191834', '-79.641507', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23766, 'Quinby', 2821, '29506', '843', '34.191834', '-79.641507', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23767, 'Osborn', 2821, '29426', '843', '32.802978', '-80.363721', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23768, 'Bonneau', 2821, '29431', '843', '33.301736', '-79.883888', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23769, 'Georgetown', 2821, '29440', '843', '33.387012', '-79.381422', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23770, 'Maryville', 2821, '29440', '843', '33.387012', '-79.381422', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23771, 'Georgetown', 2821, '29442', '843', '33.3768', '-79.2948', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23772, 'Hollywood', 2821, '29449', '843', '32.704216', '-80.272311', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23773, 'Meggett', 2821, '29449', '843', '32.704216', '-80.272311', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23774, 'Rantowels', 2821, '29449', '843', '32.704216', '-80.272311', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23775, 'Yonges Island', 2821, '29449', '843', '32.704216', '-80.272311', '2018-11-29 04:53:31', '2018-11-29 04:53:31'),\n(23776, 'Cordesville', 2821, '29434', '843', '33.142922', '-79.856286', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23777, 'Harleyville', 2821, '29448', '843', '33.234784', '-80.452543', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23778, 'Haskell Heights', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23779, 'Hollywood Hills', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23780, 'Killian', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23781, 'Lincolnshire', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23782, 'Ridgewood', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23783, 'Stark Terrace', 2821, '29203', '803', '34.098672', '-81.06187', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23784, 'Bayview', 2821, '29204', '803', '34.030827', '-81.001405', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23785, 'Columbia', 2821, '29204', '803', '34.030827', '-81.001405', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23786, 'Edgewood', 2821, '29204', '803', '34.030827', '-81.001405', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23787, 'Enoree', 2821, '29335', '864', '34.665954', '-81.898211', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23788, 'Fingerville', 2821, '29338', '864', '35.136112', '-82.003172', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23789, 'Jonesville', 2821, '29353', '864', '34.809968', '-81.632', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23790, 'Kinards', 2821, '29355', '864', '34.348383', '-81.753418', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23791, 'Pacolet', 2821, '29372', '864', '34.907106', '-81.701541', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23792, 'White Stone', 2821, '29386', '864', '34.9025', '-81.8172', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23793, 'Woodruff', 2821, '29388', '864', '34.771021', '-82.030258', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23794, 'Charleston', 2821, '29402', '843', '32.7765', '-79.9312', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23795, 'Chas', 2821, '29402', '843', '32.7765', '-79.9312', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23796, 'Charleston', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23797, 'Chas', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23798, 'Chas Hgts', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23799, 'N Charleston', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23800, 'No Chas', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23801, 'North Charleston', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23802, 'Pinehaven', 2821, '29405', '843', '32.85048', '-79.982005', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23803, 'Disney Direct Marketing', 2821, '29395', '864', '34.8362', '-81.6924', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23804, 'Jonesville', 2821, '29395', '864', '34.8362', '-81.6924', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23805, 'Sunset Colony', 2822, '57430', '605', '45.790744', '-97.70911', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23806, 'Claremont', 2822, '57432', '605', '45.704508', '-98.03119', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23807, 'Huffton', 2822, '57432', '605', '45.704508', '-98.03119', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23808, 'Groton', 2822, '57445', '605', '45.461838', '-98.14446', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23809, 'James', 2822, '57445', '605', '45.461838', '-98.14446', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23810, 'Putney', 2822, '57445', '605', '45.461838', '-98.14446', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23811, 'Fort Pierre', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23812, 'Frankfort', 2822, '57440', '605', '44.835925', '-98.252371', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23813, 'Spink Colony', 2822, '57440', '605', '44.835925', '-98.252371', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23814, 'Langford', 2822, '57454', '605', '45.609831', '-97.721792', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23815, 'Lebanon', 2822, '57455', '605', '44.985034', '-99.715742', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23816, 'Long Lake', 2822, '57457', '605', '45.853384', '-99.211167', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23817, 'Glen', 2822, '57471', '605', '45.418919', '-99.328623', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23818, 'Columbia', 2822, '57433', '605', '45.632419', '-98.295127', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23819, 'Sand Lake', 2822, '57433', '605', '45.632419', '-98.295127', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23820, 'Tacoma Park', 2822, '57433', '605', '45.632419', '-98.295127', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23821, 'Forest City', 2822, '57442', '605', '45.057025', '-100.130575', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23822, 'Gettysburg', 2822, '57442', '605', '45.057025', '-100.130575', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23823, 'Hecla', 2822, '57446', '605', '45.85681', '-98.165492', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23824, 'Longview', 2824, '75602', '903', '32.451854', '-94.667065', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23825, 'Pinewood', 2824, '75602', '903', '32.451854', '-94.667065', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23826, 'Hallsville', 2824, '75650', '903', '32.515507', '-94.561125', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23827, 'Walkers Mill', 2824, '75650', '903', '32.515507', '-94.561125', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23828, 'Chapman', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23829, 'Church Hill', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23830, 'Craig', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23831, 'Crimcrest', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23832, 'Good Springs', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23833, 'Henderson', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23834, 'Lake Cherokee', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23835, 'Mcknight', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23836, 'New Salem', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23837, 'Pinehill', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23838, 'Pleasant Grove', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23839, 'Stewart', 2824, '75652', '903', '32.257221', '-94.7384', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23840, 'Jonesville', 2824, '75659', '903', '32.4979', '-94.1105', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23841, 'Clarksville City', 2824, '75693', '903', '32.537218', '-94.859596', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23842, 'Clarksvle Cty', 2824, '75693', '903', '32.537218', '-94.859596', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23843, 'White Oak', 2824, '75693', '903', '32.537218', '-94.859596', '2018-11-29 04:53:32', '2018-11-29 04:53:32'),\n(23844, 'Larue', 2824, '75770', '903', '32.136209', '-95.636434', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23845, 'Moore Station', 2824, '75770', '903', '32.136209', '-95.636434', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23846, 'New York', 2824, '75770', '903', '32.136209', '-95.636434', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23847, 'Reklaw', 2824, '75784', '936', '31.898732', '-95.029221', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23848, 'Centralia', 2824, '75834', '936', '31.2579', '-95.0399', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23849, 'Leona', 2824, '75850', '903', '31.141497', '-95.895896', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23850, 'Midway', 2824, '75850', '903', '31.141497', '-95.895896', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23851, 'Stewards Mill', 2824, '75859', '903', '31.886585', '-96.235715', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23852, 'Streetman', 2824, '75859', '903', '31.886585', '-96.235715', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23853, 'Winkler', 2824, '75859', '903', '31.886585', '-96.235715', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23854, 'Massey Lake', 2824, '75861', '903', '31.878693', '-95.91447', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23855, 'Tenn Colony', 2824, '75861', '903', '31.878693', '-95.91447', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23856, 'Tennessee Colony', 2824, '75861', '903', '31.878693', '-95.91447', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23857, 'Yard', 2824, '75861', '903', '31.878693', '-95.91447', '2018-11-29 04:53:33', '2018-11-29 04:53:33');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(23858, 'Lufkin', 2824, '75902', '936', '31.3384', '-94.7286', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23859, 'Chester', 2824, '75936', '936', '30.951597', '-94.423969', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23860, 'Nacogdoches', 2824, '75961', '936', '31.573082', '-94.485118', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23861, 'Antioch', 2824, '75975', '936', '31.825163', '-94.375591', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23862, 'Caledonia', 2824, '75975', '936', '31.825163', '-94.375591', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23863, 'Eulalie', 2824, '75975', '936', '31.825163', '-94.375591', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23864, 'Silas', 2824, '75975', '936', '31.825163', '-94.375591', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23865, 'Stockman', 2824, '75975', '936', '31.825163', '-94.375591', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23866, 'Timpson', 2824, '75975', '936', '31.825163', '-94.375591', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23867, 'Farrsville', 2824, '75977', '409', '31.067225', '-93.805343', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23868, 'Indian Hill', 2824, '75977', '409', '31.067225', '-93.805343', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23869, 'Jamestown', 2824, '75977', '409', '31.067225', '-93.805343', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23870, 'Mattox', 2824, '75977', '409', '31.067225', '-93.805343', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23871, 'Mayflower', 2824, '75977', '409', '31.067225', '-93.805343', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23872, 'Wiergate', 2824, '75977', '409', '31.067225', '-93.805343', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23873, 'Arlington', 2824, '76004', '817', '32.7356', '-97.1075', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23874, 'Alvarado', 2824, '76009', '817', '32.431478', '-97.19752', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23875, 'Haslet', 2824, '76052', '817', '32.982239', '-97.384485', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23876, 'Keene', 2824, '76059', '817', '32.390764', '-97.33389', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23877, 'Mineral Wells', 2824, '76068', '940', '32.8086', '-98.1125', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23878, 'Bedford', 2824, '76095', '817', '32.8437', '-97.1425', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23879, 'Fort Worth', 2824, '76104', '817', '32.725593', '-97.322735', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23880, 'Ft Worth', 2824, '76104', '817', '32.725593', '-97.322735', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23881, 'Benbrook', 2824, '76109', '817', '32.700492', '-97.387779', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23882, 'Fort Worth', 2824, '76109', '817', '32.700492', '-97.387779', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23883, 'Ft Worth', 2824, '76109', '817', '32.700492', '-97.387779', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23884, 'Fort Worth', 2824, '76127', '817', '32.776581', '-97.429254', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23885, 'Ft Worth', 2824, '76127', '817', '32.776581', '-97.429254', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23886, 'Nas/jrb', 2824, '76127', '817', '32.776581', '-97.429254', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23887, 'Naval Air Station/ Jrb', 2824, '76127', '817', '32.776581', '-97.429254', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23888, 'Edgecliff Village', 2824, '76134', '817', '32.64192', '-97.329991', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23889, 'Edgecliff Vlg', 2824, '76134', '817', '32.64192', '-97.329991', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23890, 'Fort Worth', 2824, '76134', '817', '32.64192', '-97.329991', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23891, 'Ft Worth', 2824, '76134', '817', '32.64192', '-97.329991', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23892, 'Fort Worth', 2824, '76177', '817', '32.95912', '-97.292656', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23893, 'Ft Worth', 2824, '76177', '817', '32.95912', '-97.292656', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23894, 'Fort Worth', 2824, '76179', '817', '32.907118', '-97.425687', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23895, 'Ft Worth', 2824, '76179', '817', '32.907118', '-97.425687', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23896, 'Saginaw', 2824, '76179', '817', '32.907118', '-97.425687', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23897, 'Denton', 2824, '76204', '940', '33.2148', '-97.1329', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23898, 'Decatur', 2824, '76234', '940', '33.280768', '-97.518598', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23899, 'Gordonville', 2824, '76245', '903', '33.838022', '-96.851426', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23900, 'Muenster', 2824, '76252', '940', '33.698317', '-97.356848', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23901, 'Ponder', 2824, '76259', '940', '33.205587', '-97.292713', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23902, 'Ringgold', 2824, '76261', '940', '33.808702', '-97.93893', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23903, 'Rosston', 2824, '76263', '940', '33.497376', '-97.420426', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23904, 'Southmayd', 2824, '76268', '903', '33.615344', '-96.761827', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23905, 'Sheppard AFB', 2824, '76311', '940', '33.984691', '-98.503937', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23906, 'Burkburnett', 2824, '76354', '940', '34.09994', '-98.59993', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23907, 'Stephenville', 2824, '76402', '254', '32.216015', '-98.223924', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23908, 'Tarleton State Univ', 2824, '76402', '254', '32.216015', '-98.223924', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23909, 'Caddo', 2824, '76429', '254', '32.707766', '-98.712089', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23910, 'Mingus', 2824, '76463', '254', '32.54324', '-98.4544', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23911, 'Ranger', 2824, '76470', '254', '32.480731', '-98.659423', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23912, 'Santo', 2824, '76472', '940', '32.602565', '-98.200104', '2018-11-29 04:53:33', '2018-11-29 04:53:33'),\n(23913, 'Belton', 2824, '76513', '254', '31.044899', '-97.505945', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23914, 'Morgans Point', 2824, '76513', '254', '31.044899', '-97.505945', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23915, 'Morgans Point Resort', 2824, '76513', '254', '31.044899', '-97.505945', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23916, 'Bassett', 2824, '75574', '903', '33.488696', '-94.577244', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23917, 'Simms', 2824, '75574', '903', '33.488696', '-94.577244', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23918, 'Wards Creek', 2824, '75574', '903', '33.488696', '-94.577244', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23919, 'Elysian Fields', 2824, '75642', '903', '32.3685', '-94.1826', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23920, 'Elysian Flds', 2824, '75642', '903', '32.3685', '-94.1826', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23921, 'Judson', 2824, '75660', '903', '32.5826', '-94.7535', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23922, 'Anadarko', 2824, '75667', '903', '31.958339', '-94.845058', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23923, 'Fussel', 2824, '75667', '903', '31.958339', '-94.845058', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23924, 'Laneville', 2824, '75667', '903', '31.958339', '-94.845058', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23925, 'Pone', 2824, '75667', '903', '31.958339', '-94.845058', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23926, 'Dotson', 2824, '75669', '430', '32.034189', '-94.50717', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23927, 'Long Branch', 2824, '75669', '430', '32.034189', '-94.50717', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23928, 'Tyler', 2824, '75703', '903', '32.230123', '-95.341494', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23929, 'E Texas Ctr', 2824, '75708', '903', '32.419817', '-95.205484', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23930, 'Tyler', 2824, '75708', '903', '32.419817', '-95.205484', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23931, 'Tyler', 2824, '75710', '903', '32.3511', '-95.3009', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23932, 'Chandler', 2824, '75758', '903', '32.253184', '-95.553534', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23933, 'Cushing', 2824, '75760', '936', '31.772238', '-94.869369', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23934, 'Dialville', 2824, '75785', '903', '31.773554', '-95.186305', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23935, 'Rusk', 2824, '75785', '903', '31.773554', '-95.186305', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23936, 'Augusta', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23937, 'Denson Spring', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23938, 'Grapeland', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23939, 'Mound City', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23940, 'Percilla', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23941, 'Refuge', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23942, 'Reynard', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23943, 'Weches', 2824, '75844', '936', '31.49904', '-95.420503', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23944, 'Lovelady', 2824, '75851', '936', '31.087361', '-95.464701', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23945, 'Clay Hill', 2824, '75860', '254', '31.647017', '-96.262488', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23946, 'Cotton Gin', 2824, '75860', '254', '31.647017', '-96.262488', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23947, 'Furney Richardson', 2824, '75860', '254', '31.647017', '-96.262488', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23948, 'Simsboro', 2824, '75860', '254', '31.647017', '-96.262488', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23949, 'Teague', 2824, '75860', '254', '31.647017', '-96.262488', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23950, 'Lufkin', 2824, '75903', '936', '31.3384', '-94.7286', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23951, 'Doucette', 2824, '75942', '409', '30.817288', '-94.39791', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23952, 'Barnes', 2824, '75960', '936', '30.921359', '-94.910184', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23953, 'Moscow', 2824, '75960', '936', '30.921359', '-94.910184', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23954, 'Nacogdoches', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23955, 'Nacogdoches S F Austin Univ', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23956, 'S F A', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23957, 'S F A U', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23958, 'S F Austin U', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23959, 'S F Austin Univ', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23960, 'Sf Austin Univ', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23961, 'Sfa', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23962, 'Stephen F Austin Univ', 2824, '75962', '936', '31.619626', '-94.647176', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23963, 'Wells', 2824, '75976', '936', '31.509895', '-95.000516', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23964, 'Arlington', 2824, '76001', '817', '32.629105', '-97.154734', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23965, 'Grapevine', 2824, '76051', '817', '32.93529', '-97.068689', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23966, 'Kennedale', 2824, '76060', '817', '32.638056', '-97.209325', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23967, 'Fort Wolters', 2824, '76067', '940', '32.782013', '-98.143256', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23968, 'Mineral Wells', 2824, '76067', '940', '32.782013', '-98.143256', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23969, 'Salesville', 2824, '76067', '940', '32.782013', '-98.143256', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23970, 'Grapevine', 2824, '76092', '817', '32.951594', '-97.150991', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23971, 'South Lake', 2824, '76092', '817', '32.951594', '-97.150991', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23972, 'Southlake', 2824, '76092', '817', '32.951594', '-97.150991', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23973, 'Fort Worth', 2824, '76101', '682', '32.7254', '-97.3208', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23974, 'Ft Worth', 2824, '76101', '682', '32.7254', '-97.3208', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23975, 'Fort Worth', 2824, '76110', '817', '32.710264', '-97.336711', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23976, 'Ft Worth', 2824, '76110', '817', '32.710264', '-97.336711', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23977, 'Fort Worth', 2824, '76137', '817', '32.852106', '-97.288062', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23978, 'Ft Worth', 2824, '76137', '817', '32.852106', '-97.288062', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23979, 'Haltom City', 2824, '76137', '817', '32.852106', '-97.288062', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23980, 'Watauga', 2824, '76137', '817', '32.852106', '-97.288062', '2018-11-29 04:53:34', '2018-11-29 04:53:34'),\n(23981, 'Fort Worth', 2824, '76162', '817', '32.7254', '-97.3208', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23982, 'Ft Worth', 2824, '76162', '817', '32.7254', '-97.3208', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23983, 'Denton', 2824, '76201', '940', '33.21924', '-97.149937', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23984, 'Fort Worth', 2824, '76244', '817', '32.9347', '-97.2515', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23985, 'Ft Worth', 2824, '76244', '817', '32.9347', '-97.2515', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23986, 'Keller', 2824, '76244', '817', '32.9347', '-97.2515', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23987, 'Archer City', 2824, '76351', '940', '33.580285', '-98.636066', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23988, 'Kamay', 2824, '76369', '940', '33.8579', '-98.8075', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23989, 'Munday', 2824, '76371', '940', '33.491228', '-99.668017', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23990, 'Vernon', 2824, '76385', '940', '34.1545', '-99.2647', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23991, 'Albany', 2824, '76430', '325', '32.754867', '-99.337002', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23992, 'De Leon', 2824, '76444', '254', '32.154798', '-98.657244', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23993, 'Gordon', 2824, '76453', '254', '32.625458', '-98.345942', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23994, 'Peaster', 2824, '76485', '817', '32.8717', '-97.8666', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23995, 'Poolville', 2824, '76487', '817', '32.96909', '-97.887978', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23996, 'Temple', 2824, '76505', '254', '31.0982', '-97.3427', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23997, 'Ben Arnold', 2824, '76519', '254', '30.967136', '-96.915686', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23998, 'Burlington', 2824, '76519', '254', '30.967136', '-96.915686', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(23999, 'Cyclone', 2824, '76519', '254', '30.967136', '-96.915686', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24000, 'Meeks', 2824, '76519', '254', '30.967136', '-96.915686', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24001, 'Arnett', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24002, 'Ater', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24003, 'Fort Gates', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24004, 'Gatesville', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24005, 'Izoro', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24006, 'Leon Junction', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24007, 'Levita', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24008, 'Mountain', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24009, 'Pidcoke', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24010, 'South Mountain', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24011, 'South Mtn', 2824, '76528', '254', '31.413933', '-97.777636', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24012, 'Chaffee Village', 2824, '76544', '254', '31.237684', '-97.689817', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24013, 'Clear Creek', 2824, '76544', '254', '31.237684', '-97.689817', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24014, 'Fort Hood', 2824, '76544', '254', '31.237684', '-97.689817', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24015, 'Killeen', 2824, '76544', '254', '31.237684', '-97.689817', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24016, 'Mcnair Village', 2824, '76544', '254', '31.237684', '-97.689817', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24017, 'Montague Village', 2824, '76544', '254', '31.237684', '-97.689817', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24018, 'Gatesville', 2824, '76596', '254', '31.43', '-97.7368', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24019, 'Lane Murray Prison', 2824, '76596', '254', '31.43', '-97.7368', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24020, 'Abbott', 2824, '76621', '254', '31.885013', '-97.093645', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24021, 'Menlow', 2824, '76621', '254', '31.885013', '-97.093645', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24022, 'Brandon', 2824, '76628', '254', '32.054786', '-96.975554', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24023, 'Bruceville', 2824, '76630', '254', '31.347069', '-97.219957', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24024, 'Bruceville Eddy', 2824, '76630', '254', '31.347069', '-97.219957', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24025, 'Dawson', 2824, '76639', '254', '31.879287', '-96.665418', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24026, 'Springhill', 2824, '76639', '254', '31.879287', '-96.665418', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24027, 'Golinda', 2824, '76655', '254', '31.401574', '-97.194836', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24028, 'Levi', 2824, '76655', '254', '31.401574', '-97.194836', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24029, 'Lorena', 2824, '76655', '254', '31.401574', '-97.194836', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24030, 'Rosenthal', 2824, '76655', '254', '31.401574', '-97.194836', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24031, 'Eloise', 2824, '76680', '254', '31.248629', '-96.766998', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24032, 'Reagan', 2824, '76680', '254', '31.248629', '-96.766998', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24033, 'Waco', 2824, '76703', '254', '31.5495', '-97.1464', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24034, 'Bellmead', 2824, '76705', '254', '31.628496', '-97.11108', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24035, 'Gholson', 2824, '76705', '254', '31.628496', '-97.11108', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24036, 'Hallsburg', 2824, '76705', '254', '31.628496', '-97.11108', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24037, 'Lacy Lakeview', 2824, '76705', '254', '31.628496', '-97.11108', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24038, 'Northcrest', 2824, '76705', '254', '31.628496', '-97.11108', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24039, 'Waco', 2824, '76705', '254', '31.628496', '-97.11108', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24040, 'Bangs', 2824, '76823', '325', '31.710587', '-99.149868', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24041, 'Burkett', 2824, '76828', '325', '31.998031', '-99.3104', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24042, 'Eden', 2824, '76837', '325', '31.266087', '-99.858361', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24043, 'Caradan', 2824, '76844', '325', '31.415205', '-98.626889', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24044, 'Goldthwaite', 2824, '76844', '325', '31.415205', '-98.626889', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24045, 'Lometa', 2824, '76853', '512', '31.206941', '-98.402294', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24046, 'Scallorn', 2824, '76853', '512', '31.206941', '-98.402294', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24047, 'Mullin', 2824, '76864', '325', '31.563885', '-98.70535', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24048, 'Pontotoc', 2824, '76869', '325', '30.860995', '-99.031017', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24049, 'Richland Spgs', 2824, '76871', '325', '31.319451', '-98.827275', '2018-11-29 04:53:35', '2018-11-29 04:53:35'),\n(24050, 'Richland Springs', 2824, '76871', '325', '31.319451', '-98.827275', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24051, 'Rockwood', 2824, '76873', '325', '31.478884', '-99.377986', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24052, 'Santa Anna', 2824, '76878', '325', '31.640408', '-99.314191', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24053, 'Whon', 2824, '76878', '325', '31.640408', '-99.314191', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24054, 'Houston', 2824, '77005', '713', '29.717416', '-95.418732', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24055, 'Southside Place', 2824, '77005', '713', '29.717416', '-95.418732', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24056, 'W Univ Pl', 2824, '77005', '713', '29.717416', '-95.418732', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24057, 'West University Place', 2824, '77005', '713', '29.717416', '-95.418732', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24058, 'Houston', 2824, '77012', '713', '29.723724', '-95.259234', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24059, 'Houston', 2824, '77021', '713', '29.694948', '-95.356712', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24060, 'Houston', 2824, '77023', '713', '29.72096', '-95.31444', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24061, 'Aldine', 2824, '77039', '281', '29.910815', '-95.337922', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24062, 'Houston', 2824, '77039', '281', '29.910815', '-95.337922', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24063, 'Hilshire Village', 2824, '77055', '713', '29.804863', '-95.49158', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24064, 'Houston', 2824, '77055', '713', '29.804863', '-95.49158', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24065, 'Houston', 2824, '77071', '713', '29.651065', '-95.522394', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24066, 'Houston', 2824, '77096', '713', '29.673597', '-95.477725', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24067, 'Houston', 2824, '77207', '713', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24068, 'Chase Bank', 2824, '77212', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24069, 'Houston', 2824, '77212', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24070, 'Houston', 2824, '77223', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24071, 'Houston', 2824, '77237', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24072, 'Houston', 2824, '77248', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24073, 'Houston', 2824, '77262', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24074, 'Houston', 2824, '77287', '832', '29.7632', '-95.3633', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24075, 'Montgomery', 2824, '77316', '936', '30.311772', '-95.674548', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24076, 'Huntsville', 2824, '77341', '936', '30.714196', '-95.547942', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24077, 'Sam Houston State Univ', 2824, '77341', '936', '30.714196', '-95.547942', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24078, 'Atascocita', 2824, '77346', '281', '29.991559', '-95.17182', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24079, 'Humble', 2824, '77346', '281', '29.991559', '-95.17182', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24080, 'Kingwood', 2824, '77346', '281', '29.991559', '-95.17182', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24081, 'Huntsville', 2824, '77348', '936', '30.7234', '-95.5508', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24082, 'Tx State Prison', 2824, '77348', '936', '30.7234', '-95.5508', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24083, 'New Caney', 2824, '77357', '281', '30.150131', '-95.181081', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24084, 'Roman Forest', 2824, '77357', '281', '30.150131', '-95.181081', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24085, 'Woodbranch', 2824, '77357', '281', '30.150131', '-95.181081', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24086, 'Shepherd', 2824, '77371', '936', '30.491234', '-94.984381', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24087, 'Shenandoah', 2824, '77380', '281', '30.140702', '-95.472433', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24088, 'Spring', 2824, '77380', '281', '30.140702', '-95.472433', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24089, 'The Woodlands', 2824, '77380', '281', '30.140702', '-95.472433', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24090, 'Klein', 2824, '77389', '281', '30.126472', '-95.495', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24091, 'Spring', 2824, '77389', '281', '30.126472', '-95.495', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24092, 'The Woodlands', 2824, '77389', '281', '30.126472', '-95.495', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24093, 'Humble', 2824, '77396', '281', '29.949125', '-95.268992', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24094, 'Danevang', 2824, '77432', '979', '29.081667', '-96.179589', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24095, 'Prairie View', 2824, '77446', '936', '30.083672', '-95.98656', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24096, 'Louise', 2824, '77455', '979', '29.171482', '-96.448354', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24097, 'Provident City', 2824, '77455', '979', '29.171482', '-96.448354', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24098, 'Pattison', 2824, '77466', '281', '29.809799', '-96.007579', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24099, 'Rosenberg', 2824, '77471', '281', '29.533493', '-95.866021', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24100, 'Sugar Land', 2824, '77498', '832', '29.639836', '-95.651065', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24101, 'Pasadena', 2824, '77505', '281', '29.648254', '-95.140251', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24102, 'Pasadena', 2824, '77507', '281', '29.615748', '-95.0732', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24103, 'Anahuac', 2824, '77514', '409', '29.707168', '-94.571509', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24104, 'Monroe City', 2824, '77514', '409', '29.707168', '-94.571509', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24105, 'Baytown', 2824, '77523', '409', '29.717741', '-94.942237', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24106, 'Beach City', 2824, '77523', '409', '29.717741', '-94.942237', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24107, 'Cove', 2824, '77523', '409', '29.717741', '-94.942237', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24108, 'Mont Belvieu', 2824, '77523', '409', '29.717741', '-94.942237', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24109, 'Old River-Winfree', 2824, '77523', '409', '29.717741', '-94.942237', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24110, 'Old Rvr-Wnfre', 2824, '77523', '409', '29.717741', '-94.942237', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24111, 'Channelview', 2824, '77530', '281', '29.786922', '-95.10919', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24112, 'Crosby', 2824, '77532', '281', '29.935714', '-95.059406', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24113, 'Freeport', 2824, '77541', '979', '29.035343', '-95.337212', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24114, 'Jones Creek', 2824, '77541', '979', '29.035343', '-95.337212', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24115, 'Oyster Creek', 2824, '77541', '979', '29.035343', '-95.337212', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24116, 'Quintana', 2824, '77541', '979', '29.035343', '-95.337212', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24117, 'Surfside Bch', 2824, '77541', '979', '29.035343', '-95.337212', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24118, 'Surfside Beach', 2824, '77541', '979', '29.035343', '-95.337212', '2018-11-29 04:53:36', '2018-11-29 04:53:36'),\n(24119, 'Galveston', 2824, '77550', '409', '29.306824', '-94.771914', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24120, 'Gilmer', 2824, '75645', '903', '32.68618', '-94.893617', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24121, 'Mount Enterprise', 2824, '75681', '903', '31.935767', '-94.643119', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24122, 'Mt Enterprise', 2824, '75681', '903', '31.935767', '-94.643119', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24123, 'Tyler', 2824, '75713', '903', '32.3511', '-95.3009', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24124, 'Gallatin', 2824, '75764', '903', '31.888419', '-95.150609', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24125, 'Tyler', 2824, '75798', '903', '32.335053', '-95.282902', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24126, 'Tyler Junior College', 2824, '75798', '903', '32.335053', '-95.282902', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24127, 'Buffalo', 2824, '75831', '903', '31.420051', '-96.003945', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24128, 'Flo', 2824, '75831', '903', '31.420051', '-96.003945', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24129, 'Keechi', 2824, '75831', '903', '31.420051', '-96.003945', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24130, 'Lanely', 2824, '75831', '903', '31.420051', '-96.003945', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24131, 'Cayuga', 2824, '75832', '903', '31.9566', '-95.9746', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24132, 'Latexo', 2824, '75849', '936', '31.40641', '-95.472018', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24133, 'Call', 2824, '75933', '409', '30.51991', '-93.804762', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24134, 'Old Salem', 2824, '75933', '409', '30.51991', '-93.804762', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24135, 'Trout Creek', 2824, '75933', '409', '30.51991', '-93.804762', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24136, 'Nacogdoches', 2824, '75965', '936', '31.730025', '-94.59921', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24137, 'Arlington', 2824, '76013', '817', '32.722022', '-97.162347', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24138, 'Dalworthington Gardens', 2824, '76013', '817', '32.722022', '-97.162347', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24139, 'Dw Gdns', 2824, '76013', '817', '32.722022', '-97.162347', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24140, 'Pantego', 2824, '76013', '817', '32.722022', '-97.162347', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24141, 'Arlington', 2824, '76015', '817', '32.69091', '-97.134446', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24142, 'Pantego', 2824, '76015', '817', '32.69091', '-97.134446', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24143, 'Arlington', 2824, '76016', '817', '32.690856', '-97.191507', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24144, 'Dalworthington Gardens', 2824, '76016', '817', '32.690856', '-97.191507', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24145, 'Cleburne', 2824, '76031', '817', '32.357167', '-97.329762', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24146, 'Cleburne', 2824, '76033', '817', '32.284814', '-97.553819', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24147, 'Mansfield', 2824, '76063', '817', '32.567898', '-97.130456', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24148, 'Midlothian', 2824, '76065', '972', '32.45158', '-96.987283', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24149, 'Cool', 2824, '76066', '940', '32.704131', '-98.002575', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24150, 'Millsap', 2824, '76066', '940', '32.704131', '-98.002575', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24151, 'Burleson', 2824, '76097', '817', '32.5417', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24152, 'Azle', 2824, '76098', '817', '32.8996', '-97.5396', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24153, 'Fort Worth', 2824, '76114', '817', '32.77784', '-97.398652', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24154, 'Ft Worth', 2824, '76114', '817', '32.77784', '-97.398652', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24155, 'River Oaks', 2824, '76114', '817', '32.77784', '-97.398652', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24156, 'Sansom Park', 2824, '76114', '817', '32.77784', '-97.398652', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24157, 'Westworth Village', 2824, '76114', '817', '32.77784', '-97.398652', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24158, 'Westworth Vlg', 2824, '76114', '817', '32.77784', '-97.398652', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24159, 'Fort Worth', 2824, '76115', '817', '32.681995', '-97.330639', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24160, 'Ft Worth', 2824, '76115', '817', '32.681995', '-97.330639', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24161, 'Benbrook', 2824, '76116', '817', '32.725645', '-97.461342', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24162, 'Fort Worth', 2824, '76116', '817', '32.725645', '-97.461342', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24163, 'Ft Worth', 2824, '76116', '817', '32.725645', '-97.461342', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24164, 'Fort Worth', 2824, '76147', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24165, 'Ft Worth', 2824, '76147', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24166, 'Fort Worth', 2824, '76163', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24167, 'Ft Worth', 2824, '76163', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24168, 'Fort Worth', 2824, '76164', '817', '32.778416', '-97.35742', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24169, 'Ft Worth', 2824, '76164', '817', '32.778416', '-97.35742', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24170, 'Cingular Wireless', 2824, '76166', '817', '32.73', '-97.32', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24171, 'Fort Worth', 2824, '76166', '817', '32.73', '-97.32', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24172, 'Ft Worth', 2824, '76166', '817', '32.73', '-97.32', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24173, 'Fort Worth', 2824, '76181', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24174, 'Ft Worth', 2824, '76181', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24175, 'Fort Worth', 2824, '76198', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24176, 'Ft Worth', 2824, '76198', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24177, 'Jp Morgan Chase', 2824, '76198', '817', '32.7254', '-97.3208', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24178, 'Justin', 2824, '76247', '940', '33.087001', '-97.314038', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24179, 'Northlake', 2824, '76247', '940', '33.087001', '-97.314038', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24180, 'Lindsay', 2824, '76250', '940', '33.63039', '-97.260763', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24181, 'Sanger', 2824, '76266', '940', '33.367481', '-97.210645', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24182, 'Slidell', 2824, '76267', '940', '33.3597', '-97.3917', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24183, 'Henrietta', 2824, '76365', '940', '33.810512', '-98.200234', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24184, 'Stephenville', 2824, '76401', '254', '32.232048', '-98.21333', '2018-11-29 04:53:37', '2018-11-29 04:53:37'),\n(24185, 'Blanket', 2824, '76432', '254', '31.824871', '-98.790097', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24186, 'Moran', 2824, '76464', '325', '32.578131', '-99.180131', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24187, 'Morgan Mill', 2824, '76465', '254', '32.3884', '-98.1668', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24188, 'Buckholts', 2824, '76518', '254', '30.87989', '-97.131378', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24189, 'Sharp', 2824, '76518', '254', '30.87989', '-97.131378', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24190, 'Beckville', 2824, '75631', '903', '32.27037', '-94.44364', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24191, 'Fair Play', 2824, '75631', '903', '32.27037', '-94.44364', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24192, 'Grand Bluff', 2824, '75631', '903', '32.27037', '-94.44364', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24193, 'Gladewater', 2824, '75647', '903', '32.526129', '-94.949021', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24194, 'Kilgore', 2824, '75662', '903', '32.383126', '-94.867608', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24195, 'Liberty City', 2824, '75662', '903', '32.383126', '-94.867608', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24196, 'Dogwood City', 2824, '75762', '903', '32.223578', '-95.399234', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24197, 'Flint', 2824, '75762', '903', '32.223578', '-95.399234', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24198, 'Noonday', 2824, '75762', '903', '32.223578', '-95.399234', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24199, 'Berryville', 2824, '75763', '903', '32.053062', '-95.551213', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24200, 'Coffee City', 2824, '75763', '903', '32.053062', '-95.551213', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24201, 'Fincastle', 2824, '75763', '903', '32.053062', '-95.551213', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24202, 'Frankston', 2824, '75763', '903', '32.053062', '-95.551213', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24203, 'Frankston Lake', 2824, '75763', '903', '32.053062', '-95.551213', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24204, 'Kickapoo', 2824, '75763', '903', '32.053062', '-95.551213', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24205, 'Big Sandy', 2824, '75797', '903', '32.5872', '-95.1147', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24206, 'Stratigic Fulfilment', 2824, '75797', '903', '32.5872', '-95.1147', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24207, 'Tyler', 2824, '75799', '903', '32.316034', '-95.252338', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24208, 'University Of Texas At Tyler', 2824, '75799', '903', '32.316034', '-95.252338', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24209, 'Tenn Colony', 2824, '75880', '903', '31.8355', '-95.8386', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24210, 'Tenn Colony Prison Beto 1', 2824, '75880', '903', '31.8355', '-95.8386', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24211, 'Tennessee Colony', 2824, '75880', '903', '31.8355', '-95.8386', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24212, 'Lufkin', 2824, '75915', '936', '31.3384', '-94.7286', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24213, 'Burkeville', 2824, '75932', '409', '30.979914', '-93.640916', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24214, 'Shankleville', 2824, '75932', '409', '30.979914', '-93.640916', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24215, 'Sycamore', 2824, '75932', '409', '30.979914', '-93.640916', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24216, 'Toledo', 2824, '75932', '409', '30.979914', '-93.640916', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24217, 'East Mayfield', 2824, '75948', '409', '31.290602', '-93.769545', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24218, 'Fairdale', 2824, '75948', '409', '31.290602', '-93.769545', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24219, 'Fairmount', 2824, '75948', '409', '31.290602', '-93.769545', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24220, 'Hemphill', 2824, '75948', '409', '31.290602', '-93.769545', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24221, 'Huntington', 2824, '75949', '936', '31.237881', '-94.500414', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24222, 'Newton', 2824, '75966', '409', '30.857598', '-93.727198', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24223, 'Arlington', 2824, '76014', '817', '32.69218', '-97.088994', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24224, 'Brazos Bend', 2824, '76048', '817', '32.411331', '-97.803952', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24225, 'Granbury', 2824, '76048', '817', '32.411331', '-97.803952', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24226, 'Fort Worth', 2824, '76113', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24227, 'Ft Worth', 2824, '76113', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24228, 'Blue Mound', 2824, '76131', '817', '32.881522', '-97.353032', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24229, 'Fort Worth', 2824, '76131', '817', '32.881522', '-97.353032', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24230, 'Ft Worth', 2824, '76131', '817', '32.881522', '-97.353032', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24231, 'Saginaw', 2824, '76131', '817', '32.881522', '-97.353032', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24232, 'Fort Worth', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24233, 'Ft Worth', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24234, 'Haltom City', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24235, 'N Richland Hills', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24236, 'N Richlnd Hls', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24237, 'North Richland Hills', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24238, 'Watauga', 2824, '76148', '817', '32.867288', '-97.253519', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24239, 'Fort Worth', 2824, '76150', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24240, 'Ft Worth', 2824, '76150', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24241, 'Shared Unique', 2824, '76150', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24242, 'Fort Worth', 2824, '76182', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24243, 'Ft Worth', 2824, '76182', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24244, 'N Richland Hills', 2824, '76182', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24245, 'N Richlnd Hls', 2824, '76182', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24246, 'North Richland Hills', 2824, '76182', '817', '32.7254', '-97.3208', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24247, 'Keller', 2824, '76248', '817', '32.931294', '-97.249809', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24248, 'Krum', 2824, '76249', '940', '33.283588', '-97.293261', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24249, 'Sadler', 2824, '76264', '903', '33.751477', '-96.832466', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24250, 'Harrold', 2824, '76364', '940', '34.107908', '-99.078753', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24251, 'Dundee', 2824, '76366', '940', '33.615356', '-98.71738', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24252, 'Holliday', 2824, '76366', '940', '33.615356', '-98.71738', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24253, 'Iowa Park', 2824, '76367', '940', '33.991607', '-98.719829', '2018-11-29 04:53:38', '2018-11-29 04:53:38'),\n(24254, 'Vernon', 2824, '76384', '940', '34.13244', '-99.303298', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24255, 'Olden', 2824, '76466', '254', '32.437784', '-98.736112', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24256, 'Paluxy', 2824, '76467', '254', '32.2707', '-97.9075', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24257, 'Eliasville', 2824, '76481', '940', '33.020702', '-98.725414', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24258, 'South Bend', 2824, '76481', '940', '33.020702', '-98.725414', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24259, 'Throckmorton', 2824, '76483', '940', '33.177898', '-99.212516', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24260, 'Palo Pinto', 2824, '76484', '940', '32.75472', '-98.293256', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24261, 'Moffatt', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24262, 'Oenaville', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24263, 'Oscar', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24264, 'Ratibor', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24265, 'Seaton', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24266, 'Temple', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24267, 'Zabcikville', 2824, '76501', '254', '31.077436', '-97.231046', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24268, 'Shelbyville', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24269, 'Flat Fork', 2824, '75974', '936', '31.934214', '-94.25706', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24270, 'Meldrum', 2824, '75974', '936', '31.934214', '-94.25706', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24271, 'Ramah', 2824, '75974', '936', '31.934214', '-94.25706', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24272, 'Tenaha', 2824, '75974', '936', '31.934214', '-94.25706', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24273, 'Tenoka', 2824, '75974', '936', '31.934214', '-94.25706', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24274, 'Woods', 2824, '75974', '936', '31.934214', '-94.25706', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24275, 'Arlington', 2824, '76007', '817', '32.7356', '-97.1075', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24276, 'Bedford', 2824, '76021', '817', '32.852506', '-97.134106', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24277, 'Bedford', 2824, '76022', '817', '32.830917', '-97.143852', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24278, 'Boyd', 2824, '76023', '940', '33.051258', '-97.609007', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24279, 'Euless', 2824, '76039', '817', '32.859294', '-97.078082', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24280, 'Euless', 2824, '76040', '817', '32.816483', '-97.107439', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24281, 'Joshua', 2824, '76058', '817', '32.467075', '-97.409248', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24282, 'Paradise', 2824, '76073', '940', '33.096893', '-97.733381', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24283, 'Fort Worth', 2824, '76105', '817', '32.724806', '-97.267306', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24284, 'Ft Worth', 2824, '76105', '817', '32.724806', '-97.267306', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24285, 'Fort Worth', 2824, '76108', '817', '32.77766', '-97.521258', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24286, 'Ft Worth', 2824, '76108', '817', '32.77766', '-97.521258', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24287, 'Lakeside', 2824, '76108', '817', '32.77766', '-97.521258', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24288, 'White Settlement', 2824, '76108', '817', '32.77766', '-97.521258', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24289, 'Wht Settlemt', 2824, '76108', '817', '32.77766', '-97.521258', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24290, 'Fort Worth', 2824, '76124', '817', '32.7254', '-97.3208', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24291, 'Ft Worth', 2824, '76124', '817', '32.7254', '-97.3208', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24292, 'Chase Bank', 2824, '76191', '817', '32.7254', '-97.3208', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24293, 'Fort Worth', 2824, '76191', '817', '32.7254', '-97.3208', '2018-11-29 04:53:39', '2018-11-29 04:53:39');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(24294, 'Ft Worth', 2824, '76191', '817', '32.7254', '-97.3208', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24295, 'Denton', 2824, '76205', '940', '33.188906', '-97.127022', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24296, 'Shady Shores', 2824, '76205', '940', '33.188906', '-97.127022', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24297, 'Denton', 2824, '76207', '940', '33.214963', '-97.167658', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24298, 'Corinth', 2824, '76208', '940', '33.209044', '-97.056458', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24299, 'Denton', 2824, '76208', '940', '33.209044', '-97.056458', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24300, 'Shady Shores', 2824, '76208', '940', '33.209044', '-97.056458', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24301, 'Alvord', 2824, '76225', '940', '33.353495', '-97.671101', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24302, 'Nocona', 2824, '76255', '940', '33.833954', '-97.778494', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24303, 'Cashion Cmnty', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24304, 'Cashion Community', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24305, 'Dean', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24306, 'Jolly', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24307, 'Pleasant Valley', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24308, 'Pleasant Vly', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24309, 'Wichita Falls', 2824, '76305', '940', '34.019228', '-98.452472', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24310, 'Lakeside City', 2824, '76308', '940', '33.854936', '-98.533606', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24311, 'Wichita Falls', 2824, '76308', '940', '33.854936', '-98.533606', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24312, 'Wichita Falls', 2824, '76309', '940', '33.896277', '-98.539802', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24313, 'Elbert', 2824, '76372', '940', '33.17902', '-98.799506', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24314, 'Newcastle', 2824, '76372', '940', '33.17902', '-98.799506', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24315, 'Antelope', 2824, '76389', '940', '33.518796', '-98.534479', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24316, 'Windthorst', 2824, '76389', '940', '33.518796', '-98.534479', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24317, 'Breckenridge', 2824, '76424', '254', '32.736007', '-98.835836', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24318, 'Dennis', 2824, '76439', '817', '32.6187', '-97.9267', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24319, 'Comanche', 2824, '76442', '254', '31.895065', '-98.657621', '2018-11-29 04:53:39', '2018-11-29 04:53:39'),\n(24320, 'Hasse', 2824, '76442', '254', '31.895065', '-98.657621', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24321, 'Jacksboro', 2824, '76458', '940', '33.264912', '-98.1698', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24322, 'Jermyn', 2824, '76459', '940', '33.260206', '-98.397905', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24323, 'Strawn', 2824, '76475', '254', '32.699061', '-98.476295', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24324, 'Tolar', 2824, '76476', '254', '32.3822', '-97.908946', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24325, 'Clayton', 2824, '75637', '430', '32.0984', '-94.4747', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24326, 'Daingerfield', 2824, '75638', '903', '33.038826', '-94.736621', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24327, 'Jenkins', 2824, '75638', '903', '33.038826', '-94.736621', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24328, 'Ashland', 2824, '75640', '903', '32.712397', '-94.695291', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24329, 'Diana', 2824, '75640', '903', '32.712397', '-94.695291', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24330, 'New Diana', 2824, '75640', '903', '32.712397', '-94.695291', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24331, 'Marshall', 2824, '75671', '903', '32.5449', '-94.3675', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24332, 'Selman City', 2824, '75689', '903', '32.17511', '-94.951878', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24333, 'Turnertown', 2824, '75689', '903', '32.17511', '-94.951878', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24334, 'Swan', 2824, '75704', '903', '32.399273', '-95.449151', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24335, 'Tyler', 2824, '75704', '903', '32.399273', '-95.449151', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24336, 'Bascom', 2824, '75705', '903', '32.348013', '-95.13214', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24337, 'Omen', 2824, '75705', '903', '32.348013', '-95.13214', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24338, 'Tyler', 2824, '75705', '903', '32.348013', '-95.13214', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24339, 'Ben Wheeler', 2824, '75754', '903', '32.424788', '-95.651358', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24340, 'Edom', 2824, '75754', '903', '32.424788', '-95.651358', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24341, 'Flatwood', 2824, '75754', '903', '32.424788', '-95.651358', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24342, 'Martins Mills', 2824, '75754', '903', '32.424788', '-95.651358', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24343, 'Primrose', 2824, '75754', '903', '32.424788', '-95.651358', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24344, 'Bullard', 2824, '75757', '903', '32.110912', '-95.345267', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24345, 'Emerald Bay', 2824, '75757', '903', '32.110912', '-95.345267', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24346, 'Mount Selman', 2824, '75757', '903', '32.110912', '-95.345267', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24347, 'Old Larissa', 2824, '75757', '903', '32.110912', '-95.345267', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24348, 'Teaselville', 2824, '75757', '903', '32.110912', '-95.345267', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24349, 'Sacul', 2824, '75788', '936', '31.824776', '-94.915501', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24350, 'Griffin', 2824, '75789', '903', '32.053819', '-95.150866', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24351, 'Henrys Chapel', 2824, '75789', '903', '32.053819', '-95.150866', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24352, 'Mixon', 2824, '75789', '903', '32.053819', '-95.150866', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24353, 'Sinclair City', 2824, '75789', '903', '32.053819', '-95.150866', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24354, 'Troup', 2824, '75789', '903', '32.053819', '-95.150866', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24355, 'Walnut Grove', 2824, '75789', '903', '32.053819', '-95.150866', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24356, 'Van', 2824, '75790', '903', '32.55382', '-95.667159', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24357, 'Fairfield', 2824, '75840', '903', '31.813055', '-96.105003', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24358, 'Grindstone', 2824, '75840', '903', '31.813055', '-96.105003', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24359, 'Turlington', 2824, '75840', '903', '31.813055', '-96.105003', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24360, 'Ward Prairie', 2824, '75840', '903', '31.813055', '-96.105003', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24361, 'Young', 2824, '75840', '903', '31.813055', '-96.105003', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24362, 'Butler', 2824, '75855', '903', '31.512324', '-95.837018', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24363, 'Oakwood', 2824, '75855', '903', '31.512324', '-95.837018', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24364, 'Red Lake', 2824, '75855', '903', '31.512324', '-95.837018', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24365, 'Pennington', 2824, '75856', '936', '31.183952', '-95.202121', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24366, 'Lufkin', 2824, '75904', '936', '31.323396', '-94.805957', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24367, 'Asia', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24368, 'Barnum', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24369, 'Carmona', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24370, 'Corrigan', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24371, 'Pleasant Hill', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24372, 'Pluck', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24373, 'Snow Hill', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24374, 'Wakefield', 2824, '75939', '936', '31.020026', '-94.77819', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24375, 'Bleakwood', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24376, 'Bon Ami', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24377, 'Kirbyville', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24378, 'Magnolia Spgs', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24379, 'Magnolia Springs', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24380, 'Mount Union', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24381, 'Roganville', 2824, '75956', '409', '30.695991', '-94.006098', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24382, 'Martinsville', 2824, '75958', '936', '31.6428', '-94.4138', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24383, 'Weatherford', 2824, '76088', '817', '32.849405', '-97.902387', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24384, 'Fort Worth', 2824, '76106', '817', '32.810151', '-97.361312', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24385, 'Ft Worth', 2824, '76106', '817', '32.810151', '-97.361312', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24386, 'Fort Worth', 2824, '76107', '817', '32.74308', '-97.378045', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24387, 'Ft Worth', 2824, '76107', '817', '32.74308', '-97.378045', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24388, 'Westover Hills', 2824, '76107', '817', '32.74308', '-97.378045', '2018-11-29 04:53:40', '2018-11-29 04:53:40'),\n(24389, 'Fort Worth', 2824, '76123', '817', '32.620469', '-97.387245', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24390, 'Ft Worth', 2824, '76123', '817', '32.620469', '-97.387245', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24391, 'Fort Worth', 2824, '76192', '817', '32.7254', '-97.3208', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24392, 'Ft Worth', 2824, '76192', '817', '32.7254', '-97.3208', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24393, 'Kenneth Copeland Ministries', 2824, '76192', '817', '32.7254', '-97.3208', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24394, 'Denton', 2824, '76206', '940', '33.2148', '-97.1329', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24395, 'Callisburg', 2824, '76240', '940', '33.706449', '-97.166749', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24396, 'Gainesville', 2824, '76240', '940', '33.706449', '-97.166749', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24397, 'Lake Kiowa', 2824, '76240', '940', '33.706449', '-97.166749', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24398, 'Oak Ridge', 2824, '76240', '940', '33.706449', '-97.166749', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24399, 'Whitesboro', 2824, '76273', '903', '33.765456', '-96.894808', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24400, 'Wichita Falls', 2824, '76306', '940', '33.951748', '-98.513386', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24401, 'Byers', 2824, '76357', '940', '34.088162', '-98.155923', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24402, 'Oklaunion', 2824, '76373', '940', '34.154267', '-99.119843', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24403, 'Olney', 2824, '76374', '940', '33.334247', '-98.68727', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24404, 'Whitt', 2824, '76490', '940', '32.971925', '-98.021955', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24405, 'Woodson', 2824, '76491', '940', '33.061666', '-99.070918', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24406, 'Scott And White Hospital', 2824, '76508', '254', '31.0982', '-97.3427', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24407, 'Temple', 2824, '76508', '254', '31.0982', '-97.3427', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24408, 'South Purmela', 2824, '76566', '254', '31.489601', '-97.979943', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24409, 'Craine Unit', 2824, '76599', '254', '31.4351', '-97.7439', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24410, 'Gatesville', 2824, '76599', '254', '31.4351', '-97.7439', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24411, 'Bynum', 2824, '76631', '254', '31.985311', '-96.954916', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24412, 'China Spring', 2824, '76633', '254', '31.67167', '-97.332987', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24413, 'Hubbard', 2824, '76648', '254', '31.840139', '-96.809216', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24414, 'Pelham', 2824, '76648', '254', '31.840139', '-96.809216', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24415, 'Italy', 2824, '76651', '972', '32.17864', '-96.873688', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24416, 'Mertens', 2824, '76666', '903', '32.021601', '-96.908066', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24417, 'Fallon', 2824, '76667', '254', '31.675026', '-96.48585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24418, 'Forest Glade', 2824, '76667', '254', '31.675026', '-96.48585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24419, 'Mexia', 2824, '76667', '254', '31.675026', '-96.48585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24420, 'Point Enterprise', 2824, '76667', '254', '31.675026', '-96.48585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24421, 'Prairie Grove', 2824, '76667', '254', '31.675026', '-96.48585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24422, 'Shiloh', 2824, '76667', '254', '31.675026', '-96.48585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24423, 'Satin', 2824, '76685', '254', '31.360171', '-97.010849', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24424, 'Waco', 2824, '76715', '254', '31.5495', '-97.1464', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24425, 'Waco', 2824, '76716', '254', '31.5495', '-97.1464', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24426, 'Brownwood', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24427, 'Grosvenor', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24428, 'Indian Creek', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24429, 'Lake Brownwood', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24430, 'Lake Shore', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24431, 'Shamrock Shores', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24432, 'Thrifty', 2824, '76801', '325', '31.728746', '-99.018736', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24433, 'Cherokee', 2824, '76832', '325', '30.991089', '-98.764868', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24434, 'Coleman', 2824, '76834', '325', '31.847352', '-99.447298', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24435, 'Echo', 2824, '76834', '325', '31.847352', '-99.447298', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24436, 'Fisk', 2824, '76834', '325', '31.847352', '-99.447298', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24437, 'Mozelle', 2824, '76834', '325', '31.847352', '-99.447298', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24438, 'Silver Valley', 2824, '76834', '325', '31.847352', '-99.447298', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24439, 'Junction', 2824, '76849', '830', '30.498729', '-99.709477', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24440, 'Segovia', 2824, '76849', '830', '30.498729', '-99.709477', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24441, 'Lohn', 2824, '76852', '325', '31.34385', '-99.451051', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24442, 'Pear Valley', 2824, '76852', '325', '31.34385', '-99.451051', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24443, 'Waldrip', 2824, '76852', '325', '31.34385', '-99.451051', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24444, 'Grape Creek', 2824, '76901', '325', '31.54699', '-100.560898', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24445, 'San Angelo', 2824, '76901', '325', '31.54699', '-100.560898', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24446, 'Christoval', 2824, '76935', '325', '31.173336', '-100.516954', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24447, 'Silver', 2824, '76949', '325', '32.032233', '-100.699382', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24448, 'Houston', 2824, '77001', '281', '29.7634', '-95.3634', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24449, 'Clutch City', 2824, '77002', '713', '29.750209', '-95.367693', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24450, 'Houston', 2824, '77002', '713', '29.750209', '-95.367693', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24451, 'Houston', 2824, '77017', '713', '29.682276', '-95.257164', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24452, 'Houston', 2824, '77018', '713', '29.826567', '-95.425585', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24453, 'Horton', 2824, '75639', '903', '32.277308', '-94.195252', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24454, 'Henderson', 2824, '75654', '903', '32.061748', '-94.784478', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24455, 'Hughes Spgs', 2824, '75656', '903', '33.038634', '-94.598715', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24456, 'Hughes Springs', 2824, '75656', '903', '33.038634', '-94.598715', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24457, 'Blocker', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24458, 'Cave Springs', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24459, 'Darco', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:41', '2018-11-29 04:53:41'),\n(24460, 'Gill', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24461, 'Grange Hall', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24462, 'Marshall', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24463, 'Nesbitt', 2824, '75670', '903', '32.54166', '-94.41308', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24464, 'Marshall', 2824, '75672', '903', '32.499536', '-94.288574', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24465, 'Price', 2824, '75687', '903', '32.117564', '-94.989891', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24466, 'Scottsville', 2824, '75688', '903', '32.5405', '-94.2383', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24467, 'Lindale', 2824, '75706', '903', '32.459288', '-95.319669', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24468, 'Tyler', 2824, '75706', '903', '32.459288', '-95.319669', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24469, 'Big Sandy', 2824, '75755', '903', '32.631642', '-95.092869', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24470, 'Holly Lake Ranch', 2824, '75755', '903', '32.631642', '-95.092869', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24471, 'Holly Lk Rnch', 2824, '75755', '903', '32.631642', '-95.092869', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24472, 'Pritchett', 2824, '75755', '903', '32.631642', '-95.092869', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24473, 'Rhonesboro', 2824, '75755', '903', '32.631642', '-95.092869', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24474, 'Brownsboro', 2824, '75756', '903', '32.295044', '-95.580267', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24475, 'Edom', 2824, '75756', '903', '32.295044', '-95.580267', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24476, 'Hainesville', 2824, '75773', '903', '32.664157', '-95.470416', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24477, 'Hoard', 2824, '75773', '903', '32.664157', '-95.470416', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24478, 'Mineola', 2824, '75773', '903', '32.664157', '-95.470416', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24479, 'West Mineola', 2824, '75773', '903', '32.664157', '-95.470416', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24480, 'Donie', 2824, '75838', '254', '31.482987', '-96.229988', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24481, 'Elkhart', 2824, '75839', '903', '31.611235', '-95.517467', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24482, 'Salmon', 2824, '75839', '903', '31.611235', '-95.517467', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24483, 'Slocum', 2824, '75839', '903', '31.611235', '-95.517467', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24484, 'Colmesneil', 2824, '75938', '409', '30.903906', '-94.333173', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24485, 'Rockland', 2824, '75938', '409', '30.903906', '-94.333173', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24486, 'Blandlake', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24487, 'Denning', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24488, 'Fords Corner', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24489, 'Macune', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24490, 'Norwood', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24491, 'San Augustine', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24492, 'Sexton', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24493, 'White Rock', 2824, '75972', '936', '31.518162', '-94.191361', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24494, 'Alexanders Store', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24495, 'Dreka', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24496, 'East Hamilton', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24497, 'Goober Hill', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24498, 'Halbert', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24499, 'Hurstown', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24500, 'Huxley', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24501, 'Jordans Store', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24502, 'New Harmony', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24503, 'Patroon', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24504, 'Pauls Store', 2824, '75973', '936', '31.707945', '-93.951655', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24505, 'Heidenheimer', 2824, '76533', '254', '31.0174', '-97.3024', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24506, 'Gatesville', 2824, '76598', '254', '31.4351', '-97.7439', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24507, 'Hilltop Unit Tdc', 2824, '76598', '254', '31.4351', '-97.7439', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24508, 'Coolidge', 2824, '76635', '254', '31.735252', '-96.707168', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24509, 'Echols', 2824, '76635', '254', '31.735252', '-96.707168', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24510, 'Mustang', 2824, '76635', '254', '31.735252', '-96.707168', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24511, 'Meridian', 2824, '76665', '254', '31.91128', '-97.611086', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24512, 'Ross', 2824, '76684', '254', '31.7184', '-97.1186', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24513, 'Va Regional Office', 2824, '76799', '254', '31.5495', '-97.1464', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24514, 'Waco', 2824, '76799', '254', '31.5495', '-97.1464', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24515, 'Norton', 2824, '76865', '325', '31.869174', '-100.131084', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24516, 'Talpa', 2824, '76882', '325', '31.809621', '-99.693888', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24517, 'Telegraph', 2824, '76883', '830', '30.350107', '-100.002425', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24518, 'Valera', 2824, '76884', '325', '31.704075', '-99.542716', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24519, 'San Angelo', 2824, '76902', '325', '31.4638', '-100.4368', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24520, 'Bronte', 2824, '76933', '325', '31.875041', '-100.335002', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24521, 'Carlsbad', 2824, '76934', '325', '31.614709', '-100.731096', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24522, 'Sonora', 2824, '76950', '325', '30.498923', '-100.538495', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24523, 'Houston', 2824, '77016', '713', '29.855823', '-95.29602', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24524, 'Houston', 2824, '77032', '281', '29.961732', '-95.345344', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24525, 'Houston', 2824, '77019', '713', '29.752453', '-95.411683', '2018-11-29 04:53:42', '2018-11-29 04:53:42'),\n(24526, 'Houston', 2824, '77034', '713', '29.61964', '-95.195187', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24527, 'Houston', 2824, '77035', '713', '29.650318', '-95.478553', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24528, 'Houston', 2824, '77052', '832', '29.7634', '-95.3631', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24529, 'Houston', 2824, '77067', '281', '29.951869', '-95.447543', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24530, 'Houston', 2824, '77068', '281', '30.006202', '-95.487942', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24531, 'Houston', 2824, '77083', '281', '29.691621', '-95.651207', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24532, 'Addicks Barker', 2824, '77084', '281', '29.832593', '-95.648185', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24533, 'Houston', 2824, '77084', '281', '29.832593', '-95.648185', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24534, 'Houston', 2824, '77086', '281', '29.921804', '-95.494647', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24535, 'Houston', 2824, '77203', '832', '29.7634', '-95.3627', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24536, 'Chase Bank', 2824, '77216', '832', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24537, 'Houston', 2824, '77216', '832', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24538, 'Houston', 2824, '77219', '713', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24539, 'Houston', 2824, '77234', '832', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24540, 'Houston', 2824, '77251', '713', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24541, 'Houston', 2824, '77266', '713', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24542, 'Houston', 2824, '77268', '281', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24543, 'Houston', 2824, '77270', '713', '29.7632', '-95.3633', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24544, 'Conroe', 2824, '77302', '936', '30.223954', '-95.365004', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24545, 'Grangerland', 2824, '77302', '936', '30.223954', '-95.365004', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24546, 'Woodloch', 2824, '77302', '936', '30.223954', '-95.365004', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24547, 'Conroe', 2824, '77303', '936', '30.381084', '-95.374722', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24548, 'Cut And Shoot', 2824, '77303', '936', '30.381084', '-95.374722', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24549, 'Bobville', 2824, '77333', '936', '30.336456', '-95.772206', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24550, 'Dobbin', 2824, '77333', '936', '30.336456', '-95.772206', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24551, 'Leggett', 2824, '77350', '936', '30.8176', '-94.8703', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24552, 'Seven Oaks', 2824, '77350', '936', '30.8176', '-94.8703', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24553, 'Riverside', 2824, '77367', '936', '30.849623', '-95.391881', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24554, 'Rye', 2824, '77369', '936', '30.459625', '-94.74373', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24555, 'Conroe', 2824, '77384', '936', '30.228879', '-95.50149', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24556, 'Shenandoah', 2824, '77384', '936', '30.228879', '-95.50149', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24557, 'The Woodlands', 2824, '77384', '936', '30.228879', '-95.50149', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24558, 'Oak Ridge N', 2824, '77386', '281', '30.111833', '-95.380647', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24559, 'Oak Ridge North', 2824, '77386', '281', '30.111833', '-95.380647', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24560, 'Spring', 2824, '77386', '281', '30.111833', '-95.380647', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24561, 'The Woodlands', 2824, '77386', '281', '30.111833', '-95.380647', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24562, 'Bellaire', 2824, '77401', '713', '29.708299', '-95.465848', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24563, 'Beasley', 2824, '77417', '979', '29.45618', '-95.979182', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24564, 'Bellview', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24565, 'Bellville', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24566, 'Bellvue', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24567, 'Buckhorn', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24568, 'Burleigh', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24569, 'Cochran', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24570, 'Nelsonville', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24571, 'Raccoon Bend', 2824, '77418', '979', '29.983151', '-96.270853', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24572, 'Chesterville', 2824, '77435', '979', '29.482697', '-96.164538', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24573, 'East Bernard', 2824, '77435', '979', '29.482697', '-96.164538', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24574, 'Tavener', 2824, '77435', '979', '29.482697', '-96.164538', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24575, 'El Campo', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24576, 'Hillje', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24577, 'Jones Creek', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24578, 'New Taiton', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24579, 'Sandy Corner', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24580, 'Taiton', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24581, 'West End', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24582, 'West Payne', 2824, '77437', '979', '29.195521', '-96.219771', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24583, 'Pierce', 2824, '77467', '979', '29.20513', '-96.137056', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24584, 'Booth', 2824, '77469', '281', '29.550312', '-95.718198', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24585, 'Clodine', 2824, '77469', '281', '29.550312', '-95.718198', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24586, 'Crabb', 2824, '77469', '281', '29.550312', '-95.718198', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24587, 'Pleak', 2824, '77469', '281', '29.550312', '-95.718198', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24588, 'Richmond', 2824, '77469', '281', '29.550312', '-95.718198', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24589, 'Rosenberg', 2824, '77469', '281', '29.550312', '-95.718198', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24590, 'Rock Island', 2824, '77470', '979', '29.474466', '-96.579673', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24591, 'Prairie View', 2824, '77484', '936', '30.084616', '-95.932752', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24592, 'Waller', 2824, '77484', '936', '30.084616', '-95.932752', '2018-11-29 04:53:43', '2018-11-29 04:53:43'),\n(24593, 'Golden Acres', 2824, '77503', '281', '29.705383', '-95.153102', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24594, 'Pasadena', 2824, '77503', '281', '29.705383', '-95.153102', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24595, 'Arcadia', 2824, '77517', '409', '29.362568', '-95.133901', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24596, 'Santa Fe', 2824, '77517', '409', '29.362568', '-95.133901', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24597, 'Baytown', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24598, 'Bayway', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24599, 'Beach City', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24600, 'Cedar Point', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24601, 'Cove', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24602, 'Garth', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24603, 'Lakewood', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24604, 'Lynchburg', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24605, 'Mcnair', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24606, 'Mont Belvieu', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24607, 'Old River-Winfree', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24608, 'Old Rvr-Wnfre', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24609, 'Stewart Heights', 2824, '77520', '281', '29.770673', '-94.875436', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24610, 'Galveston', 2824, '77551', '409', '29.277028', '-94.834302', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24611, 'St George', 2825, '84790', '435', '37.064764', '-113.546461', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24612, 'Nsl', 2825, '84054', '801', '40.842062', '-111.91974', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24613, 'Park City', 2825, '84068', '435', '40.6463', '-111.4972', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24614, 'Clover', 2825, '84069', '435', '40.260611', '-112.583398', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24615, 'Rush Valley', 2825, '84069', '435', '40.260611', '-112.583398', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24616, 'Belmont Heights', 2825, '84070', '801', '40.576888', '-111.895178', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24617, 'Crescent', 2825, '84070', '801', '40.576888', '-111.895178', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24618, 'Sandy', 2825, '84070', '801', '40.576888', '-111.895178', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24619, 'Sherwood Park', 2825, '84070', '801', '40.576888', '-111.895178', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24620, 'White City', 2825, '84070', '801', '40.576888', '-111.895178', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24621, 'Whiterocks', 2825, '84085', '435', '40.501117', '-109.902674', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24622, 'S Salt Lake', 2825, '84105', '801', '40.73869', '-111.859231', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24623, 'Salt Lake City', 2825, '84105', '801', '40.73869', '-111.859231', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24624, 'Salt Lake Cty', 2825, '84105', '801', '40.73869', '-111.859231', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24625, 'Slc', 2825, '84105', '801', '40.73869', '-111.859231', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24626, 'Granger', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24627, 'Granger Hunter', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24628, 'S Salt Lake', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24629, 'Salt Lake City', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24630, 'Salt Lake Cty', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24631, 'Slc', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24632, 'So Salt Lake', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24633, 'South Salt Lake', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24634, 'Ssl', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24635, 'W Valley City', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24636, 'West Valley', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24637, 'West Valley City', 2825, '84119', '801', '40.697198', '-111.940701', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24638, 'Hunter', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24639, 'Salt Lake City', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24640, 'Salt Lake Cty', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24641, 'Slc', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24642, 'W Valley City', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24643, 'West Valley', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24644, 'West Valley City', 2825, '84120', '801', '40.696749', '-112.000932', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24645, 'Cottonwd Hgts', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24646, 'Cottonwood', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24647, 'Cottonwood Heights', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24648, 'Cottonwood Heights City', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24649, 'Salt Lake City', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24650, 'Salt Lake Cty', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24651, 'Slc', 2825, '84171', '801', '40.7606', '-111.8903', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24652, 'Clarkston', 2825, '84305', '435', '41.902322', '-112.019218', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24653, 'Beaverdam', 2825, '84306', '435', '41.793118', '-112.065984', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24654, 'Collinston', 2825, '84306', '435', '41.793118', '-112.065984', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24655, 'Wheelon', 2825, '84306', '435', '41.793118', '-112.065984', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24656, 'Logan', 2825, '84322', '435', '41.741583', '-111.810449', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24657, 'Utah State University', 2825, '84322', '435', '41.741583', '-111.810449', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24658, 'Bothwell', 2825, '84337', '435', '41.692738', '-112.266761', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24659, 'Elwood', 2825, '84337', '435', '41.692738', '-112.266761', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24660, 'Penrose', 2825, '84337', '435', '41.692738', '-112.266761', '2018-11-29 04:53:44', '2018-11-29 04:53:44'),\n(24661, 'Thatcher', 2825, '84337', '435', '41.692738', '-112.266761', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24662, 'Tremonton', 2825, '84337', '435', '41.692738', '-112.266761', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24663, 'Elmo', 2825, '84521', '435', '39.287499', '-110.67598', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24664, 'Emery', 2825, '84522', '435', '38.906198', '-110.949936', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24665, 'Aurora', 2825, '84620', '435', '38.909905', '-111.931355', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24666, 'Centerfield', 2825, '84622', '435', '39.115671', '-111.888393', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24667, 'Leamington', 2825, '84638', '435', '39.517537', '-112.258554', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24668, 'Sigurd', 2825, '84657', '435', '38.805697', '-111.886878', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24669, 'Cedar City', 2825, '84720', '435', '37.811408', '-113.172126', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24670, 'Enoch', 2825, '84720', '435', '37.811408', '-113.172126', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24671, 'Pintura', 2825, '84720', '435', '37.811408', '-113.172126', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24672, 'Cedar City', 2825, '84721', '435', '37.6777', '-113.0612', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24673, 'Enoch', 2825, '84721', '435', '37.6777', '-113.0612', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24674, 'Pintura', 2825, '84721', '435', '37.6777', '-113.0612', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24675, 'Ivins', 2825, '84738', '435', '37.175571', '-113.676036', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24676, 'Kayenta', 2825, '84738', '435', '37.175571', '-113.676036', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24677, 'Newcastle', 2825, '84756', '435', '37.876566', '-113.647336', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24678, 'Pinto', 2825, '84756', '435', '37.876566', '-113.647336', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24679, 'New Harmony', 2825, '84757', '435', '37.386304', '-113.324452', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24680, 'Bloomington', 2825, '84790', '435', '37.064764', '-113.546461', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24681, 'Bloomington Hills', 2825, '84790', '435', '37.064764', '-113.546461', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24682, 'Saint George', 2825, '84790', '435', '37.064764', '-113.546461', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24683, 'Mriott Sltrvl', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24684, 'Ms City', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24685, 'Msc', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24686, 'North Ogden', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24687, 'Ogden', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24688, 'Plain City', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24689, 'Pleasant View', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24690, 'Slaterville', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24691, 'Warren', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24692, 'West Warren', 2825, '84404', '801', '41.207131', '-112.211029', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24693, 'Ogden', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24694, 'Riverdale', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24695, 'South Ogden', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24696, 'South Weber', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24697, 'Uintah', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24698, 'Washington Terrace', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24699, 'Washington Tr', 2825, '84405', '801', '41.156315', '-111.934872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24700, 'East Carbon', 2825, '84520', '435', '39.637848', '-110.25872', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24701, 'Ferron', 2825, '84523', '435', '38.856656', '-111.059396', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24702, 'Orangeville', 2825, '84537', '435', '39.442744', '-111.142572', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24703, 'Sunnyside', 2825, '84539', '435', '39.673828', '-110.586553', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24704, 'Provo', 2825, '84605', '801', '40.2337', '-111.6579', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24705, 'Provo', 2825, '84606', '801', '40.2158', '-111.612429', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24706, 'Chester', 2825, '84623', '435', '39.455703', '-111.576716', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24707, 'Lynndyl', 2825, '84640', '435', '39.509068', '-112.48004', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24708, 'Gooseberry', 2825, '84654', '435', '38.900564', '-111.715328', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24709, 'Salina', 2825, '84654', '435', '38.900564', '-111.715328', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24710, 'Scipio', 2825, '84656', '435', '39.220186', '-112.180864', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24711, 'Central', 2825, '84722', '435', '37.422239', '-113.662152', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24712, 'Circleville', 2825, '84723', '435', '38.180062', '-112.249034', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24713, 'Apple Valley', 2825, '84737', '435', '37.249878', '-113.194568', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24714, 'Hurricane', 2825, '84737', '435', '37.249878', '-113.194568', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24715, 'Joseph', 2825, '84739', '435', '38.631585', '-112.251056', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24716, 'Mount Carmel', 2825, '84755', '435', '37.216056', '-112.787824', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24717, 'Diamond Valley', 2825, '84770', '435', '37.265502', '-113.791338', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24718, 'Harrisburg Junction', 2825, '84770', '435', '37.265502', '-113.791338', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24719, 'Middleton', 2825, '84770', '435', '37.265502', '-113.791338', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24720, 'Saint George', 2825, '84770', '435', '37.265502', '-113.791338', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24721, 'St George', 2825, '84770', '435', '37.265502', '-113.791338', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24722, 'Winchester Hills', 2825, '84770', '435', '37.265502', '-113.791338', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24723, 'Summit', 2825, '84772', '435', '37.745776', '-112.82468', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24724, 'Burke', 2826, '22009', '703', '38.7935', '-77.2718', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24725, 'Springfield', 2826, '22009', '703', '38.7935', '-77.2718', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24726, 'Dunn Loring', 2826, '22027', '703', '38.895034', '-77.220454', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24727, 'Vienna', 2826, '22027', '703', '38.895034', '-77.220454', '2018-11-29 04:53:45', '2018-11-29 04:53:45'),\n(24728, 'Marshall', 2826, '20116', '540', '38.7975', '-77.9024', '2018-11-29 04:53:46', '2018-11-29 04:53:46');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(24729, 'Hillsboro', 2826, '20132', '540', '39.173958', '-77.73253', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24730, 'Purcellville', 2826, '20132', '540', '39.173958', '-77.73253', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24731, 'Hamilton', 2826, '20159', '540', '39.1344', '-77.6697', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24732, 'Sterling', 2826, '20164', '703', '39.014127', '-77.399912', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24733, 'Dulles', 2826, '20166', '703', '38.982834', '-77.471524', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24734, 'Sterling', 2826, '20166', '703', '38.982834', '-77.471524', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24735, 'Leesburg', 2826, '20175', '703', '39.052271', '-77.603577', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24736, 'Ashburn', 2826, '20147', '703', '39.039572', '-77.481613', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24737, 'Dumfries', 2826, '22026', '703', '38.567808', '-77.296681', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24738, 'Southbridge', 2826, '22026', '703', '38.567808', '-77.296681', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24739, 'Marshall', 2826, '20115', '540', '38.837836', '-77.898614', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24740, 'Philomont', 2826, '20131', '540', '39.0563', '-77.7409', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24741, 'Rectortown', 2826, '20140', '540', '38.926598', '-77.867263', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24742, 'Amissville', 2826, '20106', '540', '38.694356', '-77.999264', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24743, 'Viewtown', 2826, '20106', '540', '38.694356', '-77.999264', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24744, 'Ashburn', 2826, '20149', '703', '39.0438', '-77.4879', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24745, 'Natl Assn Letter Carriers', 2826, '20149', '703', '39.0438', '-77.4879', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24746, 'Hamilton', 2826, '20158', '540', '39.139526', '-77.654863', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24747, 'Potomac Falls', 2826, '20165', '703', '39.047357', '-77.386479', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24748, 'Sterling', 2826, '20165', '703', '39.047357', '-77.386479', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24749, 'Burke', 2826, '22015', '703', '38.785306', '-77.286075', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24750, 'Springfield', 2826, '22015', '703', '38.785306', '-77.286075', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24751, 'Fairfax', 2826, '22032', '703', '38.820952', '-77.288944', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24752, 'Fairfax', 2826, '22033', '703', '38.879366', '-77.376768', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24753, 'Fairfax', 2826, '22034', '703', '38.4515', '-77.2801', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24754, 'Journal Newspaper', 2826, '22034', '703', '38.4515', '-77.2801', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24755, 'St Thomas', 2827, '00805', '340', '18.3436', '-64.9314', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24756, 'Christiansted', 2827, '00821', '340', '17.7488', '-64.7039', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24757, 'Brookfield', 2830, '53005', '262', '43.060583', '-88.096595', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24758, 'Cedarburg', 2830, '53012', '262', '43.321307', '-88.029664', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24759, 'Glenbeulah', 2830, '53023', '920', '43.771456', '-88.110912', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24760, 'Knowles', 2830, '53048', '920', '43.58034', '-88.450205', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24761, 'Lomira', 2830, '53048', '920', '43.58034', '-88.450205', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24762, 'Sheboygan', 2830, '53082', '920', '43.7506', '-87.7146', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24763, 'Lisbon', 2830, '53089', '262', '43.148761', '-88.245134', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24764, 'Sussex', 2830, '53089', '262', '43.148761', '-88.245134', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24765, 'Theresa', 2830, '53091', '920', '43.484238', '-88.441716', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24766, 'Watertown', 2830, '53098', '920', '43.261627', '-88.72011', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24767, 'Darien', 2830, '53114', '262', '42.612834', '-88.746828', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24768, 'Hales Corners', 2830, '53130', '414', '42.940823', '-88.047702', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24769, 'New Berlin', 2830, '53146', '262', '42.970983', '-88.158046', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24770, 'Pell Lake', 2830, '53157', '262', '42.5383', '-88.3505', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24771, 'Kaiser', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24772, 'Lake', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24773, 'Lymantown', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24774, 'Park Falls', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24775, 'Sherman', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24776, 'Springstead', 2830, '54552', '715', '45.949966', '-90.326467', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24777, 'Onalaska', 2830, '54650', '608', '43.909929', '-91.257189', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24778, 'Readstown', 2830, '54652', '608', '43.469536', '-90.748244', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24779, 'Wilton', 2830, '54670', '608', '43.834479', '-90.497992', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24780, 'Altoona', 2830, '54720', '715', '44.806237', '-91.428349', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24781, 'Boyceville', 2830, '54725', '715', '45.075882', '-92.001285', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24782, 'Connorsville', 2830, '54725', '715', '45.075882', '-92.001285', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24783, 'Hollister', 2830, '54491', '715', '45.247771', '-88.744224', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24784, 'Lily', 2830, '54491', '715', '45.247771', '-88.744224', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24785, 'Markton', 2830, '54491', '715', '45.247771', '-88.744224', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24786, 'White Lake', 2830, '54491', '715', '45.247771', '-88.744224', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24787, 'Hendren', 2830, '54493', '715', '44.697966', '-90.800656', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24788, 'Willard', 2830, '54493', '715', '44.697966', '-90.800656', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24789, 'Wisc Rapids', 2830, '54495', '715', '44.402', '-89.952676', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24790, 'Wisconsin Rapids', 2830, '54495', '715', '44.402', '-89.952676', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24791, 'Cedar', 2830, '54559', '715', '46.501702', '-90.444934', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24792, 'Gurney', 2830, '54559', '715', '46.501702', '-90.444934', '2018-11-29 04:53:46', '2018-11-29 04:53:46'),\n(24793, 'Saxon', 2830, '54559', '715', '46.501702', '-90.444934', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24794, 'Eland', 2830, '54427', '715', '44.80125', '-89.245059', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24795, 'Gilman', 2830, '54434', '715', '45.1668', '-90.8076', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24796, 'Jump River', 2830, '54434', '715', '45.1668', '-90.8076', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24797, 'Corning', 2830, '54452', '715', '45.230576', '-89.725506', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24798, 'Harding', 2830, '54452', '715', '45.230576', '-89.725506', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24799, 'Merrill', 2830, '54452', '715', '45.230576', '-89.725506', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24800, 'Schley', 2830, '54452', '715', '45.230576', '-89.725506', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24801, 'Crandon', 2830, '54520', '715', '45.519408', '-88.923037', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24802, 'Mole Lake', 2830, '54520', '715', '45.519408', '-88.923037', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24803, 'Nashville', 2830, '54520', '715', '45.519408', '-88.923037', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24804, 'Egg Harbor', 2830, '54209', '920', '45.018861', '-87.275216', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24805, 'Ephraim', 2830, '54211', '920', '45.168987', '-87.164106', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24806, 'Two Rivers', 2830, '54241', '920', '44.22501', '-87.618723', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24807, 'Bonduel', 2830, '54107', '715', '44.696149', '-88.435686', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24808, 'Navarino', 2830, '54107', '715', '44.696149', '-88.435686', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24809, 'Goodman', 2830, '54125', '715', '45.634228', '-88.332505', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24810, 'Loomis', 2830, '54159', '715', '45.200494', '-87.830483', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24811, 'Porterfield', 2830, '54159', '715', '45.200494', '-87.830483', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24812, 'Bowler', 2830, '54416', '715', '44.95943', '-88.934214', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24813, 'J W Jung Seed Co', 2830, '53957', '920', '43.5393', '-89.0067', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24814, 'Randolph', 2830, '53957', '920', '43.5393', '-89.0067', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24815, 'Reedsburg', 2830, '53959', '608', '43.541793', '-89.970301', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24816, 'Baldwin', 2830, '54002', '715', '44.969283', '-92.367537', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24817, 'Erin Prairie', 2830, '54002', '715', '44.969283', '-92.367537', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24818, 'Rush River', 2830, '54002', '715', '44.969283', '-92.367537', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24819, 'Boardman', 2830, '54016', '715', '44.970841', '-92.700266', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24820, 'Burkhardt', 2830, '54016', '715', '44.970841', '-92.700266', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24821, 'Hudson', 2830, '54016', '715', '44.970841', '-92.700266', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24822, 'North Hudson', 2830, '54016', '715', '44.970841', '-92.700266', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24823, 'Townsend', 2830, '54175', '715', '45.291822', '-88.616932', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24824, 'Wausaukee', 2830, '54177', '715', '45.40174', '-87.8831', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24825, 'Bonduel', 2830, '54182', '715', '44.7325', '-88.3637', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24826, 'Zachow', 2830, '54182', '715', '44.7325', '-88.3637', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24827, 'Baileys Harbor', 2830, '54202', '920', '45.085524', '-87.141255', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24828, 'Baileys Hbr', 2830, '54202', '920', '45.085524', '-87.141255', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24829, 'Mount Hope', 2830, '53816', '608', '42.97591', '-90.867048', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24830, 'Fall River', 2830, '53932', '920', '43.418383', '-89.05077', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24831, 'Friendship', 2830, '53934', '608', '43.979767', '-89.789898', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24832, 'Loganville', 2830, '53943', '608', '43.389476', '-90.04409', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24833, 'New Lisbon', 2830, '53950', '608', '43.893946', '-90.126976', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24834, 'Amberg', 2830, '54102', '715', '45.499826', '-88.003428', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24835, 'Janesville', 2830, '53548', '608', '42.694544', '-89.131905', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24836, 'Lowell', 2830, '53557', '920', '43.339432', '-88.78633', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24837, 'Marshall', 2830, '53559', '608', '43.173101', '-89.079056', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24838, 'Monroe', 2830, '53566', '608', '42.610512', '-89.629393', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24839, 'Fitchburg', 2830, '53575', '608', '42.932453', '-89.392124', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24840, 'Oregon', 2830, '53575', '608', '42.932453', '-89.392124', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24841, 'Ridgeway', 2830, '53582', '608', '43.013144', '-89.985984', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24842, 'Madison', 2830, '53707', '608', '43.0733', '-89.4012', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24843, 'Madison', 2830, '53714', '608', '43.10124', '-89.312612', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24844, 'Monona', 2830, '53714', '608', '43.10124', '-89.312612', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24845, 'Madison', 2830, '53716', '608', '43.060801', '-89.321005', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24846, 'Monona', 2830, '53716', '608', '43.060801', '-89.321005', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24847, 'Monona Grove', 2830, '53716', '608', '43.060801', '-89.321005', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24848, 'Racine', 2830, '53407', '262', '42.7263', '-87.7829', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24849, 'Wi Natural Gas Co', 2830, '53407', '262', '42.7263', '-87.7829', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24850, 'Barneveld', 2830, '53507', '608', '43.008596', '-89.894515', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24851, 'Cambridge', 2830, '53523', '608', '42.987534', '-89.02765', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24852, 'Clinton', 2830, '53525', '608', '42.558748', '-88.881478', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24853, 'Edgerton', 2830, '53534', '608', '42.851674', '-89.090494', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24854, 'Oconomowoc', 2830, '53066', '262', '43.118714', '-88.518479', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24855, 'Summit', 2830, '53066', '262', '43.118714', '-88.518479', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24856, 'Milwaukee', 2830, '53205', '414', '43.053204', '-87.933156', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24857, 'Bay View', 2830, '53207', '414', '42.977949', '-87.894146', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24858, 'Bayview', 2830, '53207', '414', '42.977949', '-87.894146', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24859, 'Milwaukee', 2830, '53207', '414', '42.977949', '-87.894146', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24860, 'Saint Francis', 2830, '53207', '414', '42.977949', '-87.894146', '2018-11-29 04:53:47', '2018-11-29 04:53:47'),\n(24861, 'St Francis', 2830, '53207', '414', '42.977949', '-87.894146', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24862, 'Milwaukee', 2830, '53214', '414', '43.022305', '-88.015828', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24863, 'W Milwaukee', 2830, '53214', '414', '43.022305', '-88.015828', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24864, 'West Allis', 2830, '53214', '414', '43.022305', '-88.015828', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24865, 'West Milwaukee', 2830, '53214', '414', '43.022305', '-88.015828', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24866, 'Milwaukee', 2830, '53216', '414', '43.088013', '-87.977046', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24867, 'Greenfield', 2830, '53221', '414', '42.951196', '-87.944487', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24868, 'Milwaukee', 2830, '53221', '414', '42.951196', '-87.944487', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24869, 'Hortonville', 2830, '54944', '920', '44.315966', '-88.617885', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24870, 'Medina', 2830, '54944', '920', '44.315966', '-88.617885', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24871, 'Couderay', 2830, '54828', '715', '45.82545', '-91.285941', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24872, 'New Post', 2830, '54828', '715', '45.82545', '-91.285941', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24873, 'Herbster', 2830, '54844', '715', '46.780662', '-91.234474', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24874, 'Luck', 2830, '54853', '715', '45.577274', '-92.447691', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24875, 'Neshkoro', 2830, '54960', '920', '43.940344', '-89.214059', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24876, 'Readfield', 2830, '54969', '920', '44.2727', '-88.7697', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24877, 'Ripon', 2830, '54971', '920', '43.869882', '-88.820978', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24878, 'Tilleda', 2830, '54978', '715', '44.78607', '-88.878684', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24879, 'Chetek', 2830, '54728', '715', '45.300212', '-91.613907', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24880, 'Stone Lake', 2830, '54876', '715', '45.81942', '-91.505005', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24881, 'Loretta', 2830, '54896', '715', '45.810294', '-90.899349', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24882, 'Winter', 2830, '54896', '715', '45.810294', '-90.899349', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24883, 'Eastman', 2830, '54626', '608', '43.230365', '-91.018957', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24884, 'Lynxville', 2830, '54626', '608', '43.230365', '-91.018957', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24885, 'Ferryville', 2830, '54628', '608', '43.42072', '-91.031046', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24886, 'Mindoro', 2830, '54644', '608', '44.028966', '-91.032012', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24887, 'Prairie Farm', 2830, '54762', '715', '45.241305', '-91.998824', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24888, 'Barron', 2830, '54812', '715', '45.412723', '-91.883967', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24889, 'Poskin', 2830, '54812', '715', '45.412723', '-91.883967', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24890, 'Cedar Rapids', 2830, '54526', '715', '45.508704', '-90.85973', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24891, 'Glen Flora', 2830, '54526', '715', '45.508704', '-90.85973', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24892, 'Ingram', 2830, '54526', '715', '45.508704', '-90.85973', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24893, 'Ontario', 2830, '54651', '608', '43.727098', '-90.569367', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24894, 'Rockland', 2830, '54653', '608', '43.844976', '-90.903104', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24895, 'Tomah', 2830, '54660', '608', '44.013434', '-90.492966', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24896, 'Wyeville', 2830, '54660', '608', '44.013434', '-90.492966', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24897, 'Tunnel City', 2830, '54662', '608', '44.0074', '-90.5657', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24898, 'Bloomingdale', 2830, '54667', '608', '43.655303', '-90.846246', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24899, 'Westby', 2830, '54667', '608', '43.655303', '-90.846246', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24900, 'West Salem', 2830, '54669', '608', '43.90449', '-91.090669', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24901, 'Summit Lake', 2830, '54485', '715', '45.387582', '-89.184632', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24902, 'Herrschners', 2830, '54492', '715', '44.5236', '-89.5745', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24903, 'Stevens Point', 2830, '54492', '715', '44.5236', '-89.5745', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24904, 'Plum Lake', 2830, '54560', '715', '46.014852', '-89.535025', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24905, 'Sayner', 2830, '54560', '715', '46.014852', '-89.535025', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24906, 'Clearwater Lake', 2830, '54562', '715', '45.832672', '-89.097574', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24907, 'Clearwater Lk', 2830, '54562', '715', '45.832672', '-89.097574', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24908, 'Three Lakes', 2830, '54562', '715', '45.832672', '-89.097574', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24909, 'Rothschild', 2830, '54474', '715', '44.884374', '-89.61825', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24910, 'Weston', 2830, '54474', '715', '44.884374', '-89.61825', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24911, 'Bay Mills', 2830, '54487', '715', '45.514166', '-89.728896', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24912, 'Jersey City', 2830, '54487', '715', '45.514166', '-89.728896', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24913, 'Tannery', 2830, '54487', '715', '45.514166', '-89.728896', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24914, 'Tomahawk', 2830, '54487', '715', '45.514166', '-89.728896', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24915, 'Milladore', 2830, '54454', '715', '44.598226', '-89.906327', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24916, 'Sherry', 2830, '54454', '715', '44.598226', '-89.906327', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24917, 'Manitowoc', 2830, '54221', '920', '44.0888', '-87.6578', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24918, 'Tisch Mills', 2830, '54240', '920', '44.326436', '-87.62261', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24919, 'Green Bay', 2830, '54305', '920', '44.5195', '-88.0199', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24920, 'Green Bay', 2830, '54306', '920', '44.5195', '-88.0199', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24921, 'Green Bay', 2830, '54307', '920', '44.5195', '-88.0199', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24922, 'Christie', 2830, '54456', '715', '44.552851', '-90.630507', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24923, 'Neillsville', 2830, '54456', '715', '44.552851', '-90.630507', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24924, 'Krakow', 2830, '54137', '920', '44.755694', '-88.260419', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24925, 'Oconto Falls', 2830, '54154', '920', '44.871628', '-88.183652', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24926, 'Ocontofalls', 2830, '54154', '920', '44.871628', '-88.183652', '2018-11-29 04:53:48', '2018-11-29 04:53:48'),\n(24927, 'Beecher', 2830, '54156', '715', '45.611302', '-87.93189', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24928, 'Pembine', 2830, '54156', '715', '45.611302', '-87.93189', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24929, 'Shiocton', 2830, '54170', '920', '44.526368', '-88.590873', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24930, 'Curtiss', 2830, '54422', '715', '44.973085', '-90.453984', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24931, 'Hoard', 2830, '54422', '715', '44.973085', '-90.453984', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24932, 'Packwaukee', 2830, '53953', '608', '43.776896', '-89.460429', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24933, 'Pardeeville', 2830, '53954', '608', '43.566062', '-89.317567', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24934, 'Randolph', 2830, '53956', '920', '43.54235', '-89.018558', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24935, 'Wyocena', 2830, '53969', '608', '43.496086', '-89.308149', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24936, 'Cushing', 2830, '54006', '715', '45.556608', '-92.672573', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24937, 'Laketown', 2830, '54006', '715', '45.556608', '-92.672573', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24938, 'Sterling', 2830, '54006', '715', '45.556608', '-92.672573', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24939, 'Dale', 2830, '54931', '920', '44.2734', '-88.6785', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24940, 'Eldorado', 2830, '54932', '920', '43.82662', '-88.606854', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24941, 'Leopolis', 2830, '54948', '715', '44.791354', '-88.87147', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24942, 'Drummond', 2830, '54832', '715', '46.329317', '-91.302094', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24943, 'Lake Nebagamon', 2830, '54849', '715', '46.478307', '-91.724141', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24944, 'Lk Nebagamon', 2830, '54849', '715', '46.478307', '-91.724141', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24945, 'Pine River', 2830, '54965', '920', '44.156012', '-89.028264', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24946, 'Plainfield', 2830, '54966', '715', '44.230795', '-89.486135', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24947, 'Waupaca', 2830, '54981', '715', '44.31228', '-89.130716', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24948, 'Cornell', 2830, '54732', '715', '45.125663', '-91.199628', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24949, 'Knapp', 2830, '54749', '715', '44.942939', '-92.095621', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24950, 'Bangor', 2830, '54614', '608', '43.900394', '-90.971272', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24951, 'Middle Ridge', 2830, '54614', '608', '43.900394', '-90.971272', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24952, 'Newburg Corners', 2830, '54614', '608', '43.900394', '-90.971272', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24953, 'Blair', 2830, '54616', '608', '44.311628', '-91.25146', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24954, 'Fountain City', 2830, '54629', '608', '44.14428', '-91.704879', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24955, 'Centerville', 2830, '54630', '608', '44.09809', '-91.339993', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24956, 'Galesville', 2830, '54630', '608', '44.09809', '-91.339993', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24957, 'Genoa', 2830, '54632', '608', '43.580775', '-91.148676', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24958, 'Oakdale', 2830, '54649', '608', '43.9594', '-90.3817', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24959, 'Ridgeland', 2830, '54763', '715', '45.179069', '-91.875946', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24960, 'Sheldon', 2830, '54766', '715', '45.322242', '-90.86394', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24961, 'Barronett', 2830, '54813', '715', '45.645138', '-92.014114', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24962, 'Benoit', 2830, '54816', '715', '46.5019', '-91.0768', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24963, 'Mason', 2830, '54816', '715', '46.5019', '-91.0768', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24964, 'Cassian', 2830, '54529', '715', '45.665247', '-89.67838', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24965, 'Goodnow', 2830, '54529', '715', '45.665247', '-89.67838', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24966, 'Harshaw', 2830, '54529', '715', '45.665247', '-89.67838', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24967, 'Hawkins', 2830, '54530', '715', '45.568213', '-90.72986', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24968, 'South Fork', 2830, '54530', '715', '45.568213', '-90.72986', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24969, 'Hazelhurst', 2830, '54531', '715', '45.731656', '-89.770803', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24970, 'Cayuga', 2830, '54546', '715', '46.280261', '-90.736901', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24971, 'Cosy Valley', 2830, '54546', '715', '46.280261', '-90.736901', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24972, 'Mellen', 2830, '54546', '715', '46.280261', '-90.736901', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24973, 'Morse', 2830, '54546', '715', '46.280261', '-90.736901', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24974, 'Minocqua', 2830, '54548', '715', '45.873774', '-89.841359', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24975, 'Viroqua', 2830, '54665', '608', '43.518834', '-90.916312', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24976, 'Riplinger', 2830, '54479', '715', '44.751243', '-90.327261', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24977, 'Spencer', 2830, '54479', '715', '44.751243', '-90.327261', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24978, 'Deer Creek', 2830, '54480', '715', '45.054659', '-90.276524', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24979, 'Stetsonville', 2830, '54480', '715', '45.054659', '-90.276524', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24980, 'Stevens Point', 2830, '54482', '715', '44.530236', '-89.493118', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24981, 'Upson', 2830, '54565', '715', '46.311772', '-90.444972', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24982, 'Elderon', 2830, '54429', '715', '44.7837', '-89.2449', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24983, 'Elton', 2830, '54430', '715', '45.146938', '-88.88648', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24984, 'Galloway', 2830, '54432', '715', '44.7125', '-89.2642', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24985, 'Wittenberg', 2830, '54432', '715', '44.7125', '-89.2642', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24986, 'Brantwood', 2830, '54513', '715', '45.563245', '-90.142398', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24987, 'Green Bay', 2830, '54229', '920', '44.570289', '-87.832851', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24988, 'New Franken', 2830, '54229', '920', '44.570289', '-87.832851', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24989, 'Branch', 2830, '54247', '920', '44.190332', '-87.79128', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24990, 'Whitelaw', 2830, '54247', '920', '44.190332', '-87.79128', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24991, 'Ashwaubenon', 2830, '54313', '920', '44.573606', '-88.11151', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24992, 'Green Bay', 2830, '54313', '920', '44.573606', '-88.11151', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24993, 'Hobart', 2830, '54313', '920', '44.573606', '-88.11151', '2018-11-29 04:53:49', '2018-11-29 04:53:49'),\n(24994, 'Howard', 2830, '54313', '920', '44.573606', '-88.11151', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(24995, 'Suamico', 2830, '54313', '920', '44.573606', '-88.11151', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(24996, 'Phlox', 2830, '54464', '715', '45.0511', '-89.0145', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(24997, 'Combined Lcks', 2830, '54113', '920', '44.266825', '-88.30864', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(24998, 'Combined Locks', 2830, '54113', '920', '44.266825', '-88.30864', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(24999, 'Auburndale', 2830, '54412', '715', '44.670221', '-90.002581', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(25000, 'Babcock', 2830, '54413', '715', '44.292734', '-90.19928', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(25001, 'Dpo', 2776, '34002', '000', '0', '0', '2018-11-29 04:53:50', '2018-11-29 04:53:50'),\n(25002, 'Dpo', 2776, '34004', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25003, 'Dpo', 2776, '34030', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25004, 'Dpo', 2776, '34035', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25005, 'Dpo', 2776, '34039', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25006, 'Apo', 2776, '34078', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25007, 'Dpo', 2776, '34031', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25008, 'Dpo', 2776, '34032', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25009, 'Dpo', 2776, '34024', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25010, 'Dpo', 2776, '34025', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25011, 'Dpo', 2776, '34041', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25012, 'Dpo', 2776, '34060', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25013, 'Dpo', 2776, '34055', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25014, 'Fpo', 2776, '34007', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25015, 'Apo', 2776, '34042', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25016, 'Fpo', 2776, '34090', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25017, 'Fpo', 2776, '34091', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25018, 'Fpo', 2776, '34092', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25019, 'Fpo', 2776, '34098', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25020, 'Fpo', 2776, '34099', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25021, 'Dpo', 2776, '34033', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25022, 'Dpo', 2776, '34034', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25023, 'Fpo', 2776, '34050', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25024, 'Dpo', 2776, '34021', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25025, 'Dpo', 2776, '34037', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25026, 'Apo', 2776, '34038', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25027, 'Fpo', 2776, '34095', '000', '0', '0', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25028, 'Bess', 2779, '35022', '205', '33.333662', '-86.96042', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25029, 'Bessemer', 2779, '35022', '205', '33.333662', '-86.96042', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25030, 'Helena', 2779, '35022', '205', '33.333662', '-86.96042', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25031, 'Blountsville', 2779, '35031', '205', '34.117896', '-86.562142', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25032, 'Calera', 2779, '35040', '205', '33.11094', '-86.717582', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25033, 'Cleveland', 2779, '35049', '205', '33.971302', '-86.60019', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25034, 'Nectar', 2779, '35049', '205', '33.971302', '-86.60019', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25035, 'Cullman', 2779, '35056', '256', '34.2028', '-86.8483', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25036, 'Cullman', 2779, '35058', '256', '34.239018', '-86.748461', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25037, 'Empire', 2779, '35063', '205', '33.819774', '-87.012167', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25038, 'Green Pond', 2779, '35074', '205', '33.226067', '-87.125538', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25039, 'Holly Pond', 2779, '35083', '256', '34.182886', '-86.600875', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25040, 'Locust Fork', 2779, '35097', '205', '33.897739', '-86.624186', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25041, 'Shannon', 2779, '35142', '205', '33.4054', '-86.8716', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25042, 'Sycamore', 2779, '35149', '256', '33.245595', '-86.208252', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25043, 'Birmingham', 2779, '35217', '205', '33.607804', '-86.75931', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25044, 'Tarrant', 2779, '35217', '205', '33.607804', '-86.75931', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25045, 'Birmingham', 2779, '35222', '205', '33.523376', '-86.767463', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25046, 'Birmingham', 2779, '35231', '205', '33.5208', '-86.8027', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25047, 'Bham', 2779, '35283', '205', '33.5208', '-86.8027', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25048, 'Birmingham', 2779, '35283', '205', '33.5208', '-86.8027', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25049, 'Caller Boxes', 2779, '35283', '205', '33.5208', '-86.8027', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25050, 'Bham', 2779, '35290', '205', '33.5208', '-86.8027', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25051, 'Baileyton', 2779, '35019', '256', '34.304454', '-86.635313', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25052, 'Columbiana', 2779, '35051', '205', '33.226176', '-86.610458', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25053, 'Gardendale', 2779, '35071', '205', '33.706944', '-86.863814', '2018-11-29 04:53:51', '2018-11-29 04:53:51'),\n(25054, 'Jemison', 2779, '35085', '205', '32.979137', '-86.733873', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25055, 'Branchville', 2779, '35120', '205', '33.672962', '-86.397935', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25056, 'Odenville', 2779, '35120', '205', '33.672962', '-86.397935', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25057, 'Riverside', 2779, '35135', '205', '33.623474', '-86.20304', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25058, 'Rockford', 2779, '35136', '256', '32.893461', '-86.272484', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25059, 'Saginaw', 2779, '35137', '205', '33.2162', '-86.7919', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25060, 'West Blocton', 2779, '35184', '205', '33.119308', '-87.166764', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25061, 'Westover', 2779, '35185', '205', '33.3494', '-86.5358', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25062, 'Wilsonville', 2779, '35186', '205', '33.261148', '-86.510438', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25063, 'Woodstock', 2779, '35188', '205', '33.185126', '-87.173794', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25064, 'Birmingham', 2779, '35203', '205', '33.51926', '-86.807546', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25065, 'Birmingham', 2779, '35220', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25066, 'Center Point', 2779, '35220', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25067, 'Centerpoint', 2779, '35220', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25068, 'Pinson', 2779, '35126', '205', '33.728668', '-86.646864', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25069, 'Pl Grove', 2779, '35127', '205', '33.491688', '-86.974764', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25070, 'Pleasant Grove', 2779, '35127', '205', '33.491688', '-86.974764', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25071, 'Pleasant Grv', 2779, '35127', '205', '33.491688', '-86.974764', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25072, 'Shelby', 2779, '35143', '205', '33.082103', '-86.548192', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25073, 'Springville', 2779, '35146', '205', '33.78675', '-86.446824', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25074, 'Talladega', 2779, '35161', '256', '33.4277', '-86.1048', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25075, 'Waldo', 2779, '35161', '256', '33.4277', '-86.1048', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25076, 'Vandiver', 2779, '35176', '205', '33.481002', '-86.498032', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25077, 'Birmingham', 2779, '35209', '205', '33.464529', '-86.806566', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25078, 'Homewood', 2779, '35209', '205', '33.464529', '-86.806566', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25079, 'Mountain Brk', 2779, '35209', '205', '33.464529', '-86.806566', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25080, 'Vestavia', 2779, '35209', '205', '33.464529', '-86.806566', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25081, 'Birmingham', 2779, '35213', '205', '33.50846', '-86.738661', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25082, 'Crestline', 2779, '35213', '205', '33.50846', '-86.738661', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25083, 'Crestline Heights', 2779, '35213', '205', '33.50846', '-86.738661', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25084, 'Crestline Hts', 2779, '35213', '205', '33.50846', '-86.738661', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25085, 'Mountain Brk', 2779, '35213', '205', '33.50846', '-86.738661', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25086, 'Birmingham', 2779, '35226', '205', '33.39801', '-86.84067', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25087, 'Bluff Park', 2779, '35226', '205', '33.39801', '-86.84067', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25088, 'Hoover', 2779, '35226', '205', '33.39801', '-86.84067', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25089, 'Vestavia', 2779, '35226', '205', '33.39801', '-86.84067', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25090, 'Vestavia Hills', 2779, '35226', '205', '33.39801', '-86.84067', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25091, 'Vestavia Hls', 2779, '35226', '205', '33.39801', '-86.84067', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25092, 'Birmingham', 2779, '35243', '205', '33.446444', '-86.740832', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25093, 'Cahaba Heights', 2779, '35243', '205', '33.446444', '-86.740832', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25094, 'Cahaba Hts', 2779, '35243', '205', '33.446444', '-86.740832', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25095, 'Mountain Brk', 2779, '35243', '205', '33.446444', '-86.740832', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25096, 'Mtn Brook', 2779, '35243', '205', '33.446444', '-86.740832', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25097, 'Vestavia', 2779, '35243', '205', '33.446444', '-86.740832', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25098, 'Bham', 2779, '35261', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25099, 'Birmingham', 2779, '35261', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25100, 'Bham', 2779, '35293', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25101, 'Birmingham', 2779, '35293', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25102, 'Dept Of Treas Bur Accts', 2779, '35293', '205', '33.5208', '-86.8027', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25103, 'Alex City', 2779, '35010', '256', '32.901124', '-85.917795', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25104, 'Alexander City', 2779, '35010', '256', '32.901124', '-85.917795', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25105, 'Centreville', 2779, '35042', '205', '32.918437', '-87.122843', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25106, 'Eoline', 2779, '35042', '205', '32.918437', '-87.122843', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25107, 'Docena', 2779, '35060', '205', '33.562297', '-86.93591', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25108, 'Lincoln', 2779, '35096', '205', '33.620913', '-86.116838', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25109, 'Margaret', 2779, '35112', '205', '33.678102', '-86.477924', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25110, 'Pell City', 2779, '35128', '205', '33.54221', '-86.348795', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25111, 'Vincent', 2779, '35178', '205', '33.419458', '-86.396571', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25112, 'S Vinemont', 2779, '35179', '256', '34.270616', '-86.940996', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25113, 'South Vinemont', 2779, '35179', '256', '34.270616', '-86.940996', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25114, 'Vinemont', 2779, '35179', '256', '34.270616', '-86.940996', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25115, 'West Point', 2779, '35179', '256', '34.270616', '-86.940996', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25116, 'Birmingham', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25117, 'Irondale', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25118, 'Jefferson Park', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25119, 'Liberty Highlands', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:52', '2018-11-29 04:53:52'),\n(25120, 'Mountain Brk', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25121, 'Overton', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25122, 'Rose Hill', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25123, 'Ruffner', 2779, '35210', '205', '33.543202', '-86.671257', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25124, 'Bham', 2779, '35229', '205', '33.464942', '-86.79529', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25125, 'Birmingham', 2779, '35229', '205', '33.464942', '-86.79529', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25126, 'Samford University', 2779, '35229', '205', '33.464942', '-86.79529', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25127, 'Birmingham', 2779, '35244', '205', '33.351416', '-86.821528', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25128, 'Bluff Park', 2779, '35244', '205', '33.351416', '-86.821528', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25129, 'Hoover', 2779, '35244', '205', '33.351416', '-86.821528', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25130, 'Riverchase', 2779, '35244', '205', '33.351416', '-86.821528', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25131, 'Bham', 2779, '35260', '205', '33.5208', '-86.8027', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25132, 'Birmingham', 2779, '35260', '205', '33.5208', '-86.8027', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25133, 'Brookwood', 2779, '35444', '205', '33.331599', '-87.259008', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25134, 'Epes', 2779, '35460', '205', '32.73416', '-88.220502', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25135, 'Sumterville', 2779, '35460', '205', '32.73416', '-88.220502', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25136, 'Fosters', 2779, '35463', '205', '33.083792', '-87.669329', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25137, 'Panola', 2779, '35477', '205', '32.92498', '-88.258316', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25138, 'Goodsprings', 2779, '35560', '205', '33.6689', '-87.2317', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25139, 'Natural Brg', 2779, '35577', '205', '34.0936', '-87.6019', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25140, 'Natural Bridge', 2779, '35577', '205', '34.0936', '-87.6019', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25141, 'Oakman', 2779, '35579', '205', '33.661365', '-87.335576', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25142, 'Athens', 2779, '35611', '256', '34.765786', '-87.108167', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25143, 'Athens', 2779, '35612', '256', '34.7957', '-86.9705', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25144, 'Lester', 2779, '35647', '256', '34.950854', '-87.128812', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25145, 'Muscle Shoals', 2779, '35661', '256', '34.772352', '-87.554916', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25146, 'Waterloo', 2779, '35677', '256', '34.923538', '-88.031661', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25147, 'Estillfork', 2779, '35745', '256', '34.925695', '-86.190046', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25148, 'New Market', 2779, '35761', '256', '34.895135', '-86.399812', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25149, 'Big Cove', 2779, '35763', '256', '34.629211', '-86.45796', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25150, 'Hampton Cove', 2779, '35763', '256', '34.629211', '-86.45796', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25151, 'Owens Cross Roads', 2779, '35763', '256', '34.629211', '-86.45796', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25152, 'Owens X Rds', 2779, '35763', '256', '34.629211', '-86.45796', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25153, 'Owens X Roads', 2779, '35763', '256', '34.629211', '-86.45796', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25154, 'Huntsville', 2779, '35814', '256', '34.7305', '-86.5863', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25155, 'Huntsville', 2779, '35895', '256', '34.7186', '-86.5685', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25156, 'Huntsville Utilities', 2779, '35895', '256', '34.7186', '-86.5685', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25157, 'Huntsville', 2779, '35896', '256', '34.7305', '-86.5863', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25158, 'Oakwood College', 2779, '35896', '256', '34.7305', '-86.5863', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25159, 'Crossville', 2779, '35962', '256', '34.29675', '-86.040706', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25160, 'Henagar', 2779, '35978', '256', '34.640756', '-85.720746', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25161, 'Madison', 2779, '35757', '256', '34.790305', '-86.754805', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25162, 'Childersburg', 2779, '35044', '256', '33.26363', '-86.384506', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25163, 'Coosa Pines', 2779, '35044', '256', '33.26363', '-86.384506', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25164, 'Clanton', 2779, '35045', '205', '32.826962', '-86.669067', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25165, 'Clanton', 2779, '35046', '205', '32.902608', '-86.556416', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25166, 'Blount Springs', 2779, '35079', '205', '33.932462', '-86.766044', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25167, 'Hayden', 2779, '35079', '205', '33.932462', '-86.766044', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25168, 'Lake View', 2779, '35111', '205', '33.292563', '-87.095025', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25169, 'Mc Calla', 2779, '35111', '205', '33.292563', '-87.095025', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25170, 'Dixiana', 2779, '35126', '205', '33.728668', '-86.646864', '2018-11-29 04:53:53', '2018-11-29 04:53:53');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(25171, 'Adamsville', 2779, '35005', '205', '33.592857', '-86.994015', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25172, 'Alpine', 2779, '35014', '256', '33.345229', '-86.265748', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25173, 'Arab', 2779, '35016', '256', '34.321754', '-86.496857', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25174, 'Bessemer', 2779, '35021', '205', '33.4014', '-86.9547', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25175, 'Cullman', 2779, '35055', '256', '34.14938', '-86.747356', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25176, 'Dodge City', 2779, '35055', '256', '34.14938', '-86.747356', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25177, 'Good Hope', 2779, '35055', '256', '34.14938', '-86.747356', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25178, 'Hollins', 2779, '35082', '256', '33.11691', '-86.16983', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25179, 'Sylacauga', 2779, '35082', '256', '33.11691', '-86.16983', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25180, 'Kellyton', 2779, '35089', '256', '32.94416', '-86.048244', '2018-11-29 04:53:53', '2018-11-29 04:53:53'),\n(25181, 'Logan', 2779, '35098', '256', '34.124058', '-87.040322', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25182, 'Eden', 2779, '35125', '205', '33.630641', '-86.293897', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25183, 'Glen City', 2779, '35125', '205', '33.630641', '-86.293897', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25184, 'Harrisburg', 2779, '35125', '205', '33.630641', '-86.293897', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25185, 'Pell City', 2779, '35125', '205', '33.630641', '-86.293897', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25186, 'Gravleeton', 2779, '35148', '205', '33.756681', '-87.04511', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25187, 'Sumiton', 2779, '35148', '205', '33.756681', '-87.04511', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25188, 'Oak Grove', 2779, '35150', '256', '33.179757', '-86.225824', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25189, 'Sylacauga', 2779, '35150', '256', '33.179757', '-86.225824', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25190, 'Taladga Spgs', 2779, '35150', '256', '33.179757', '-86.225824', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25191, 'Talladega Springs', 2779, '35150', '256', '33.179757', '-86.225824', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25192, 'Trussville', 2779, '35173', '205', '33.64688', '-86.57387', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25193, 'Whites Chapel', 2779, '35173', '205', '33.64688', '-86.57387', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25194, 'Union Grove', 2779, '35175', '256', '34.456297', '-86.510121', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25195, 'Birmingham', 2779, '35214', '205', '33.578614', '-86.893912', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25196, 'Forestdale', 2779, '35214', '205', '33.578614', '-86.893912', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25197, 'Birmingham', 2779, '35255', '205', '33.5208', '-86.8027', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25198, 'Bham', 2779, '35282', '205', '33.5208', '-86.8027', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25199, 'Birmingham', 2779, '35282', '205', '33.5208', '-86.8027', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25200, 'Business Reply Mail', 2779, '35282', '205', '33.5208', '-86.8027', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25201, 'Tuscaloosa', 2779, '35407', '205', '33.2502', '-87.5501', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25202, 'Akron', 2779, '35441', '205', '32.855328', '-87.715739', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25203, 'Stewart', 2779, '35441', '205', '32.855328', '-87.715739', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25204, 'Clinton', 2779, '35448', '205', '32.9138', '-87.9928', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25205, 'Gainesville', 2779, '35464', '205', '32.798222', '-88.175454', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25206, 'Arley', 2779, '35541', '205', '34.078804', '-87.184711', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25207, 'Brilliant', 2779, '35548', '205', '34.050368', '-87.752432', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25208, 'Bessemer', 2779, '35023', '205', '33.462639', '-87.092621', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25209, 'Concord', 2779, '35023', '205', '33.462639', '-87.092621', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25210, 'Hopewell', 2779, '35023', '205', '33.462639', '-87.092621', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25211, 'Hueytown', 2779, '35023', '205', '33.462639', '-87.092621', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25212, 'Bon Air', 2779, '35032', '256', '33.2638', '-86.3359', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25213, 'Cullman', 2779, '35057', '256', '34.108937', '-86.988664', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25214, 'Good Hope', 2779, '35057', '256', '34.108937', '-86.988664', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25215, 'Fairfield', 2779, '35064', '205', '33.475621', '-86.928148', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25216, 'Helena', 2779, '35080', '205', '33.249186', '-86.920428', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25217, 'Kimberly', 2779, '35091', '205', '33.782718', '-86.785842', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25218, 'Maylene', 2779, '35114', '205', '33.226802', '-86.905589', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25219, 'Warrior', 2779, '35180', '205', '33.81369', '-86.825564', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25220, 'Birmingham', 2779, '35205', '205', '33.493464', '-86.800177', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25221, 'South Highlands', 2779, '35205', '205', '33.493464', '-86.800177', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25222, 'Birmingham', 2779, '35216', '205', '33.42109', '-86.783272', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25223, 'Hoover', 2779, '35216', '205', '33.42109', '-86.783272', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25224, 'Mountain Brk', 2779, '35216', '205', '33.42109', '-86.783272', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25225, 'Vestavia', 2779, '35216', '205', '33.42109', '-86.783272', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25226, 'Vestavia Hills', 2779, '35216', '205', '33.42109', '-86.783272', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25227, 'Vestavia Hls', 2779, '35216', '205', '33.42109', '-86.783272', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25228, 'Birmingham', 2779, '35223', '205', '33.493446', '-86.73136', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25229, 'English Village', 2779, '35223', '205', '33.493446', '-86.73136', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25230, 'Mountain Brk', 2779, '35223', '205', '33.493446', '-86.73136', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25231, 'Mountain Brook', 2779, '35223', '205', '33.493446', '-86.73136', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25232, 'Vestavia', 2779, '35223', '205', '33.493446', '-86.73136', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25233, 'Birmingham', 2779, '35234', '205', '33.540737', '-86.801371', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25234, 'Echola', 2779, '35457', '205', '33.290422', '-87.770596', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25235, 'Emelle', 2779, '35459', '205', '32.816579', '-88.286046', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25236, 'Geiger', 2779, '35459', '205', '32.816579', '-88.286046', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25237, 'Kellerman', 2779, '35468', '205', '33.3408', '-87.3044', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25238, 'Searles', 2779, '35468', '205', '33.3408', '-87.3044', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25239, 'N Port', 2779, '35475', '205', '33.443762', '-87.519747', '2018-11-29 04:53:54', '2018-11-29 04:53:54'),\n(25240, 'North Port', 2779, '35475', '205', '33.443762', '-87.519747', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25241, 'Northport', 2779, '35475', '205', '33.443762', '-87.519747', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25242, 'Nport', 2779, '35475', '205', '33.443762', '-87.519747', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25243, 'West Greene', 2779, '35491', '205', '32.9236', '-88.0856', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25244, 'Bear Creek', 2779, '35543', '205', '34.213268', '-87.74189', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25245, 'Kansas', 2779, '35573', '205', '33.9019', '-87.5517', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25246, 'Florence', 2779, '35632', '256', '34.7999', '-87.6774', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25247, 'Univ Of North Ala', 2779, '35632', '256', '34.7999', '-87.6774', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25248, 'Florence', 2779, '35634', '256', '34.904362', '-87.585626', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25249, 'Trinity', 2779, '35673', '256', '34.582843', '-87.128627', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25250, 'Hollywood', 2779, '35752', '256', '34.747635', '-85.93745', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25251, 'Rockledge', 2779, '35954', '256', '34.08229', '-86.058557', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25252, 'Boaz', 2779, '35956', '256', '34.14292', '-86.153064', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25253, 'Sardis City', 2779, '35956', '256', '34.14292', '-86.153064', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25254, 'Steele', 2779, '35987', '256', '33.918254', '-86.249303', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25255, 'Sylvania', 2779, '35988', '256', '34.558996', '-85.786626', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25256, 'Acmar', 2779, '35004', '205', '33.603374', '-86.494434', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25257, 'Moody', 2779, '35004', '205', '33.603374', '-86.494434', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25258, 'Cook Springs', 2779, '35052', '205', '33.587903', '-86.406427', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25259, 'Crane Hill', 2779, '35053', '256', '34.043736', '-87.054085', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25260, 'Cropwell', 2779, '35054', '205', '33.505938', '-86.323944', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25261, 'New Castle', 2779, '35119', '205', '33.646974', '-86.770807', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25262, 'Oak Grove', 2779, '35151', '256', '33.076748', '-86.353673', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25263, 'Sylacauga', 2779, '35151', '256', '33.076748', '-86.353673', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25264, 'Thorsby', 2779, '35171', '205', '32.889486', '-86.749766', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25265, 'Wilton', 2779, '35187', '205', '33.0788', '-86.8819', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25266, 'Birmingham', 2779, '35202', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25267, 'Birmingham', 2779, '35204', '205', '33.522445', '-86.842106', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25268, 'Birmingham', 2779, '35218', '205', '33.508576', '-86.895308', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25269, 'Ensley', 2779, '35218', '205', '33.508576', '-86.895308', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25270, 'Birmingham', 2779, '35221', '205', '33.455634', '-86.900061', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25271, 'Birmingham', 2779, '35253', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25272, 'Mountain Brk', 2779, '35253', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25273, 'Mountain Brook', 2779, '35253', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25274, 'Bham', 2779, '35285', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25275, 'Birmingham', 2779, '35285', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25276, 'S S Payment Ctr', 2779, '35285', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25277, 'Bham', 2779, '35288', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25278, 'Birmingham', 2779, '35288', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25279, 'Regions Bank', 2779, '35288', '205', '33.5208', '-86.8027', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25280, 'Tuscaloosa', 2779, '35403', '205', '33.204268', '-87.527006', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25281, 'Coatopa', 2779, '35470', '205', '32.556069', '-88.113219', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25282, 'Livingston', 2779, '35470', '205', '32.556069', '-88.113219', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25283, 'Jasper', 2779, '35502', '205', '33.8311', '-87.2775', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25284, 'Jasper', 2779, '35503', '205', '33.932792', '-87.306653', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25285, 'Detroit', 2779, '35552', '205', '34.039026', '-88.134774', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25286, 'Double Spgs', 2779, '35553', '205', '34.149277', '-87.380156', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25287, 'Double Springs', 2779, '35553', '205', '34.149277', '-87.380156', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25288, 'Eldridge', 2779, '35554', '205', '33.909863', '-87.671748', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25289, 'Bexar', 2779, '35570', '205', '34.17824', '-87.976578', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25290, 'Hamilton', 2779, '35570', '205', '34.17824', '-87.976578', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25291, 'Atwood', 2779, '35571', '205', '34.3514', '-87.951022', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25292, 'Hodges', 2779, '35571', '205', '34.3514', '-87.951022', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25293, 'Grayson', 2779, '35572', '205', '34.183847', '-87.301762', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25294, 'Houston', 2779, '35572', '205', '34.183847', '-87.301762', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25295, 'Townley', 2779, '35587', '205', '33.787286', '-87.442498', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25296, 'Decatur', 2779, '35603', '256', '34.53877', '-86.969608', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25297, 'Danville', 2779, '35619', '256', '34.406313', '-87.172609', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25298, 'Rogersville', 2779, '35652', '256', '34.837159', '-87.279589', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25299, 'Whitehead', 2779, '35652', '256', '34.837159', '-87.279589', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25300, 'Town Creek', 2779, '35672', '256', '34.641975', '-87.389852', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25301, 'Langston', 2779, '35755', '256', '34.507044', '-86.119729', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25302, 'Toney', 2779, '35773', '256', '34.897392', '-86.709413', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25303, 'East Gadsden', 2779, '35903', '256', '34.035866', '-85.865917', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25304, 'Gadsden', 2779, '35903', '256', '34.035866', '-85.865917', '2018-11-29 04:53:55', '2018-11-29 04:53:55'),\n(25305, 'Hokes Bluff', 2779, '35903', '256', '34.035866', '-85.865917', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25306, 'Gadsden', 2779, '35904', '256', '34.065965', '-85.974296', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25307, 'Gadsden', 2779, '35905', '256', '33.922944', '-85.864712', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25308, 'Glencoe', 2779, '35905', '256', '33.922944', '-85.864712', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25309, 'Attalla', 2779, '35954', '256', '34.08229', '-86.058557', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25310, 'Ivalee', 2779, '35954', '256', '34.08229', '-86.058557', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25311, 'Reece City', 2779, '35954', '256', '34.08229', '-86.058557', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25312, 'Ridgeville', 2779, '35954', '256', '34.08229', '-86.058557', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25313, 'Adger', 2779, '35006', '205', '33.44619', '-87.222997', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25314, 'North Johns', 2779, '35006', '205', '33.44619', '-87.222997', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25315, 'Allgood', 2779, '35013', '205', '33.9119', '-86.5094', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25316, 'Alton', 2779, '35015', '205', '33.5795', '-86.6376', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25317, 'Arkadelphia', 2779, '35033', '256', '33.945896', '-87.013089', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25318, 'Bremen', 2779, '35033', '256', '33.945896', '-87.013089', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25319, 'Goodwater', 2779, '35072', '256', '33.088424', '-86.067168', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25320, 'Mount Olive', 2779, '35117', '205', '33.654253', '-86.885653', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25321, 'Remlap', 2779, '35133', '205', '33.830431', '-86.602567', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25322, 'Sterrett', 2779, '35147', '205', '33.418234', '-86.547404', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25323, 'Westover', 2779, '35147', '205', '33.418234', '-86.547404', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25324, 'Birmingham', 2779, '35233', '205', '33.50826', '-86.804535', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25325, 'Birmingham', 2779, '35242', '205', '33.399602', '-86.682992', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25326, 'Meadowbrook', 2779, '35242', '205', '33.399602', '-86.682992', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25327, 'Shoal Creek', 2779, '35242', '205', '33.399602', '-86.682992', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25328, 'Vestavia', 2779, '35242', '205', '33.399602', '-86.682992', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25329, 'Vestavia Hills', 2779, '35242', '205', '33.399602', '-86.682992', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25330, 'Vestavia Hls', 2779, '35242', '205', '33.399602', '-86.682992', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25331, 'Birmingham', 2779, '35249', '205', '33.5208', '-86.8027', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25332, 'Sawyerville', 2779, '36776', '334', '32.73352', '-87.755594', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25333, 'Benton', 2779, '36785', '334', '32.28015', '-86.818176', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25334, 'Tyler', 2779, '36785', '334', '32.28015', '-86.818176', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25335, 'Opelika', 2779, '36803', '334', '32.6454', '-85.3786', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25336, 'Auburn', 2779, '36830', '334', '32.557826', '-85.479864', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25337, 'Dadeville', 2779, '36853', '256', '32.830089', '-85.752156', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25338, 'Pittsview', 2779, '36871', '334', '32.173169', '-85.120382', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25339, 'Bladon Springs', 2779, '36919', '251', '31.77982', '-88.279018', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25340, 'Bolinger', 2779, '36919', '251', '31.77982', '-88.279018', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25341, 'Silas', 2779, '36919', '251', '31.77982', '-88.279018', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25342, 'Apo', 2780, '96218', '000', '0', '0', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25343, 'Apo', 2780, '96202', '000', '0', '0', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25344, 'Apo', 2780, '96203', '000', '0', '0', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25345, 'Apo', 2780, '96204', '000', '0', '0', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25346, 'Apo', 2780, '96205', '000', '0', '0', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25347, 'Avery', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25348, 'Back Gate', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25349, 'Dumas', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25350, 'Garrett Bridge', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25351, 'Mitchellville', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25352, 'Pendleton', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25353, 'Reedville', 2781, '71639', '870', '33.941122', '-91.467397', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25354, 'Coleman', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25355, 'Cominto', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25356, 'Florence', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25357, 'Lacey', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25358, 'Ladelle', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25359, 'Ashton', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25360, 'Chanticleer', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25361, 'Fairview', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25362, 'Gaines Landing', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25363, 'Jennie', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25364, 'Lake Village', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25365, 'Luna', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25366, 'Macon Lake', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25367, 'Mcmilan Corner', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25368, 'Panther Forest', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25369, 'Red Leaf', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25370, 'Shives', 2781, '71653', '870', '33.362594', '-91.268888', '2018-11-29 04:53:56', '2018-11-29 04:53:56'),\n(25371, 'Bradley Quarters', 2781, '71671', '870', '33.602303', '-92.153597', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25372, 'Carmel', 2781, '71671', '870', '33.602303', '-92.153597', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25373, 'Farmville', 2781, '71671', '870', '33.602303', '-92.153597', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25374, 'Mckinney', 2781, '71671', '870', '33.602303', '-92.153597', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25375, 'Warren', 2781, '71671', '870', '33.602303', '-92.153597', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25376, 'Phoenix', 2782, '85013', '602', '33.50938', '-112.082548', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25377, 'Phoenix', 2782, '85014', '602', '33.509254', '-112.056286', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25378, 'Phoenix', 2782, '85016', '602', '33.516952', '-112.021401', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25379, 'Phoenix', 2782, '85031', '623', '33.495051', '-112.168974', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25380, 'Phoenix', 2782, '85032', '602', '33.625362', '-112.005881', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25381, 'Phoenix', 2782, '85046', '602', '33.4486', '-112.0733', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25382, 'Phoenix', 2782, '85079', '602', '33.4486', '-112.0733', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25383, 'Phoenix', 2782, '85080', '602', '33.4486', '-112.0733', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25384, 'Phoenix', 2782, '85082', '602', '33.4486', '-112.0733', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25385, 'Phoenix', 2782, '85083', '623', '33.724766', '-112.159099', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25386, 'Census Bureau', 2782, '85097', '602', '33.436823', '-112.154287', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25387, 'Phoenix', 2782, '85097', '602', '33.436823', '-112.154287', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25388, 'Ctc Florist', 2782, '85098', '602', '33.4481', '-112.0732', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25389, 'Phoenix', 2782, '85098', '602', '33.4481', '-112.0732', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25390, 'Florence', 2782, '85132', '520', '32.98516', '-111.297855', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25391, 'Mesa', 2782, '85215', '480', '33.531652', '-111.645816', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25392, 'Chandler', 2782, '85249', '480', '33.22633', '-111.785174', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25393, 'Scottsdale', 2782, '85267', '480', '33.5093', '-111.8985', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25394, 'Tempe', 2782, '85281', '480', '33.435698', '-111.927836', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25395, 'Gilbert', 2782, '85299', '602', '33.3526', '-111.7883', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25396, 'Cave Creek', 2782, '85331', '480', '33.841237', '-111.917296', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25397, 'Peoria', 2782, '85381', '623', '33.610588', '-112.233346', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25398, 'Payson', 2782, '85547', '928', '34.2306', '-111.3245', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25399, 'Safford', 2782, '85548', '928', '32.8337', '-109.7069', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25400, 'Arivaca', 2782, '85601', '520', '31.582434', '-111.306244', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25401, 'San Manuel', 2782, '85631', '520', '32.816238', '-110.833015', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25402, 'Tucson', 2782, '85701', '520', '32.217872', '-110.968616', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25403, 'Tucson', 2782, '85717', '520', '32.2217', '-110.9259', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25404, 'Tucson', 2782, '85731', '520', '32.2217', '-110.9259', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25405, 'Sun', 2782, '85733', '520', '32.2217', '-110.9259', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25406, 'Tucson', 2782, '85733', '520', '32.2217', '-110.9259', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25407, 'Rincon', 2782, '85748', '520', '32.191972', '-110.729867', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25408, 'Tucson', 2782, '85748', '520', '32.191972', '-110.729867', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25409, 'Fort Lowell', 2782, '85749', '520', '32.272493', '-110.748308', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25410, 'Ft Lowell', 2782, '85749', '520', '32.272493', '-110.748308', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25411, 'Tucson', 2782, '85749', '520', '32.272493', '-110.748308', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25412, 'Flagstaff', 2782, '86018', '928', '35.212771', '-111.894604', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25413, 'Parks', 2782, '86018', '928', '35.212771', '-111.894604', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25414, 'Parks Comm Po', 2782, '86018', '928', '35.212771', '-111.894604', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25415, 'Baby Rock', 2782, '86033', '928', '36.686761', '-110.375627', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25416, 'Black Mesa', 2782, '86033', '928', '36.686761', '-110.375627', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25417, 'Chilchinbito', 2782, '86033', '928', '36.686761', '-110.375627', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25418, 'Kayenta', 2782, '86033', '928', '36.686761', '-110.375627', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25419, 'Oljato', 2782, '86033', '928', '36.686761', '-110.375627', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25420, 'Jeddito', 2782, '86034', '928', '35.789476', '-110.214845', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25421, 'Keams Canyon', 2782, '86034', '928', '35.789476', '-110.214845', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25422, 'Prescott', 2782, '86302', '928', '34.5401', '-112.4678', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25423, 'Bensch Ranch', 2782, '86333', '928', '34.351264', '-112.029942', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25424, 'Cordes Lakes', 2782, '86333', '928', '34.351264', '-112.029942', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25425, 'Mayer', 2782, '86333', '928', '34.351264', '-112.029942', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25426, 'Spring Valley', 2782, '86333', '928', '34.351264', '-112.029942', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25427, 'Paulden', 2782, '86334', '928', '34.948668', '-112.544428', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25428, 'Rimrock', 2782, '86335', '928', '34.641092', '-111.772054', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25429, 'Sedona', 2782, '86351', '928', '34.769334', '-111.779295', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25430, 'Grasshopper Junction', 2782, '86401', '928', '35.395244', '-113.991614', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25431, 'Kingman', 2782, '86401', '928', '35.395244', '-113.991614', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25432, 'Lake Mead Rancheros', 2782, '86401', '928', '35.395244', '-113.991614', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25433, 'Havasupai Indian Reservation', 2782, '86435', '928', '36.152968', '-112.640236', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25434, 'Supai', 2782, '86435', '928', '36.152968', '-112.640236', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25435, 'Blue Gap', 2782, '86520', '928', '36.067448', '-109.989658', '2018-11-29 04:53:57', '2018-11-29 04:53:57'),\n(25436, 'Pinon', 2782, '86520', '928', '36.067448', '-109.989658', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25437, 'Dennehotso', 2782, '86535', '928', '36.709111', '-109.815888', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25438, 'Teec Nos Pos', 2782, '86535', '928', '36.709111', '-109.815888', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25439, 'Carefree', 2782, '85377', '480', '33.8171', '-111.9035', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25440, 'Surprise', 2782, '85388', '623', '33.609725', '-112.439734', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25441, 'Eden', 2782, '85543', '928', '33.051256', '-110.002758', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25442, 'Pima', 2782, '85543', '928', '33.051256', '-110.002758', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25443, 'Thatcher', 2782, '85552', '928', '32.752995', '-109.865595', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25444, 'Canelo', 2782, '85611', '520', '31.587127', '-110.553757', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25445, 'Elgin', 2782, '85611', '520', '31.587127', '-110.553757', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25446, 'Naco', 2782, '85620', '520', '31.3361', '-109.9474', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25447, 'Green Valley', 2782, '85622', '520', '31.8664', '-110.9931', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25448, 'Sierra Vista', 2782, '85636', '520', '31.5545', '-110.3031', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25449, 'Amado', 2782, '85645', '520', '31.66492', '-111.064059', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25450, 'Cortaro', 2782, '85652', '520', '32.3572', '-111.0873', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25451, 'Oro Valley', 2782, '85704', '520', '32.340732', '-110.981074', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25452, 'Tucson', 2782, '85704', '520', '32.340732', '-110.981074', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25453, 'Coronado', 2782, '85711', '520', '32.214174', '-110.883826', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25454, 'Tucson', 2782, '85711', '520', '32.214174', '-110.883826', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25455, 'Tucson', 2782, '85713', '520', '32.196131', '-111.005014', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25456, 'Tucson', 2782, '85736', '520', '31.770444', '-111.373678', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25457, 'Tucson', 2782, '85752', '520', '32.2217', '-110.9259', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25458, 'Flagstaff', 2782, '86004', '928', '35.263738', '-111.191755', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25459, 'Holbrook', 2782, '86029', '928', '34.9025', '-110.1575', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25460, 'Sun Valley', 2782, '86029', '928', '34.9025', '-110.1575', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25461, 'Bitahochee', 2782, '86031', '928', '35.438325', '-110.075798', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25462, 'Holbrook', 2782, '86031', '928', '35.438325', '-110.075798', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25463, 'Indian Wells', 2782, '86031', '928', '35.438325', '-110.075798', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25464, 'Marble Canyon', 2782, '86036', '928', '36.821476', '-111.730144', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25465, 'Dilkon', 2782, '86047', '928', '35.115102', '-110.290263', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25466, 'Leupp Corner', 2782, '86047', '928', '35.115102', '-110.290263', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25467, 'Tolani', 2782, '86047', '928', '35.115102', '-110.290263', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25468, 'Tolani Lakes', 2782, '86047', '928', '35.115102', '-110.290263', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25469, 'Winslow', 2782, '86047', '928', '35.115102', '-110.290263', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25470, 'Prescott', 2782, '86313', '928', '34.5401', '-112.4678', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25471, 'Camp Verde', 2782, '86322', '928', '34.525073', '-111.856111', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25472, 'Clarkdale', 2782, '86324', '928', '34.825036', '-112.149656', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25473, 'Humboldt', 2782, '86329', '928', '34.5317', '-112.2216', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25474, 'Lake Havasu City', 2782, '86406', '928', '34.426897', '-114.127857', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25475, 'Lk Havasu Cty', 2782, '86406', '928', '34.426897', '-114.127857', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25476, 'Bullhead City', 2782, '86429', '928', '35.179976', '-114.478025', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25477, 'Yucca', 2782, '86438', '928', '34.776966', '-114.174836', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25478, 'Fort Defiance', 2782, '86504', '928', '35.778658', '-109.181904', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25479, 'White Clay', 2782, '86504', '928', '35.778658', '-109.181904', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25480, 'Navajo Indian Reservation', 2782, '86515', '928', '35.665054', '-109.008997', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25481, 'Tse Bonita', 2782, '86515', '928', '35.665054', '-109.008997', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25482, 'Window Rock', 2782, '86515', '928', '35.665054', '-109.008997', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25483, 'Ganado', 2782, '86540', '928', '35.7116', '-109.5415', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25484, 'Nazlini', 2782, '86540', '928', '35.7116', '-109.5415', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25485, 'Chinle', 2782, '86556', '928', '36.336197', '-109.263067', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25486, 'Tsaile', 2782, '86556', '928', '36.336197', '-109.263067', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25487, 'Phoenix', 2782, '85018', '602', '33.502424', '-111.97815', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25488, 'Phoenix', 2782, '85020', '602', '33.571091', '-112.051362', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25489, 'Phoenix', 2782, '85025', '602', '33.6548', '-112.0776', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25490, 'Phoenix', 2782, '85045', '480', '33.303086', '-112.108096', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25491, 'Queen Creek', 2782, '85143', '520', '33.12875', '-111.605343', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25492, 'San Tan Valley', 2782, '85143', '520', '33.12875', '-111.605343', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25493, 'San Tan Vly', 2782, '85143', '520', '33.12875', '-111.605343', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25494, 'Red Rock', 2782, '85145', '520', '32.579336', '-111.328803', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25495, 'Casa Grande', 2782, '85193', '520', '32.879395', '-111.784708', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25496, 'Scottsdale', 2782, '85254', '480', '33.619195', '-111.951657', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25497, 'Fountain Hills', 2782, '85268', '480', '33.60374', '-111.742483', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25498, 'Fountain Hls', 2782, '85268', '480', '33.60374', '-111.742483', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25499, 'Scottsdale', 2782, '85268', '480', '33.60374', '-111.742483', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25500, 'Aguila', 2782, '85320', '928', '33.809034', '-113.187611', '2018-11-29 04:53:58', '2018-11-29 04:53:58'),\n(25501, 'Cave Creek', 2782, '85327', '480', '33.8319', '-111.9436', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25502, 'Palo Verde', 2782, '85343', '623', '33.328365', '-112.711686', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25503, 'Tacna', 2782, '85352', '928', '32.6996', '-113.9509', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25504, 'Quartzsite', 2782, '85359', '928', '33.6669', '-114.2201', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25505, 'Solomon', 2782, '85551', '928', '32.8095', '-109.6208', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25506, 'Double Adobe', 2782, '85617', '520', '31.544465', '-109.667374', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25507, 'Mc Neal', 2782, '85617', '520', '31.544465', '-109.667374', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25508, 'Mcneal', 2782, '85617', '520', '31.544465', '-109.667374', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25509, 'Hilltop', 2782, '85632', '520', '32.063663', '-109.406459', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25510, 'Paradise', 2782, '85632', '520', '32.063663', '-109.406459', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25511, 'Portal', 2782, '85632', '520', '32.063663', '-109.406459', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25512, 'San Simon', 2782, '85632', '520', '32.063663', '-109.406459', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25513, 'Sasabe', 2782, '85633', '520', '31.663864', '-111.466608', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25514, 'Sierra Vista', 2782, '85650', '520', '31.493746', '-110.262148', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25515, 'Fort Lowell', 2782, '85715', '520', '32.252643', '-110.82816', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25516, 'Tucson', 2782, '85715', '520', '32.252643', '-110.82816', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25517, 'Coronado', 2782, '85732', '520', '32.2217', '-110.9259', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25518, 'Tucson', 2782, '85732', '520', '32.2217', '-110.9259', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25519, 'Fort Lowell', 2782, '85750', '520', '32.298749', '-110.840616', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25520, 'Tucson', 2782, '85750', '520', '32.298749', '-110.840616', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25521, 'Show Low', 2782, '85901', '928', '34.088702', '-110.122855', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25522, 'Shumway', 2782, '85901', '928', '34.088702', '-110.122855', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25523, 'Show Low', 2782, '85902', '928', '34.2743', '-110.1868', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25524, 'Nutrioso', 2782, '85932', '928', '33.94484', '-109.228289', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25525, 'Pinetop', 2782, '85935', '928', '34.143044', '-109.907104', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25526, 'Flagstaff', 2782, '86002', '928', '35.1984', '-111.6508', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25527, 'Cameron', 2782, '86016', '928', '35.682666', '-111.4598', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25528, 'Gray Mountain', 2782, '86016', '928', '35.682666', '-111.4598', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25529, 'Flagstaff', 2782, '86017', '928', '34.929248', '-111.620881', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25530, 'Munds Park', 2782, '86017', '928', '34.929248', '-111.620881', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25531, 'Joseph City', 2782, '86032', '928', '35.059196', '-110.45642', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25532, 'Fredonia', 2782, '86052', '928', '36.437924', '-112.230148', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25533, 'North Rim', 2782, '86052', '928', '36.437924', '-112.230148', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25534, 'Kingman', 2782, '86402', '928', '35.1895', '-114.0525', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25535, 'Havasu City', 2782, '86403', '928', '34.47537', '-114.340188', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25536, 'Lake Havasu City', 2782, '86403', '928', '34.47537', '-114.340188', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25537, 'Lk Havasu Cty', 2782, '86403', '928', '34.47537', '-114.340188', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25538, 'Oatman', 2782, '86433', '928', '35.019784', '-114.442234', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25539, 'Grand Canyon Caverns', 2782, '86434', '928', '35.886028', '-113.390111', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25540, 'Peach Springs', 2782, '86434', '928', '35.886028', '-113.390111', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25541, 'Shipley', 2782, '86434', '928', '35.886028', '-113.390111', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25542, 'Truxton', 2782, '86434', '928', '35.886028', '-113.390111', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25543, 'Golden Shores', 2782, '86436', '928', '34.798524', '-114.480465', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25544, 'Topock', 2782, '86436', '928', '34.798524', '-114.480465', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25545, 'Chambers', 2782, '86502', '928', '34.946538', '-109.448968', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25546, 'Wide Ruins', 2782, '86502', '928', '34.946538', '-109.448968', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25547, 'Phoenix', 2782, '85003', '602', '33.449666', '-112.078201', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25548, 'Phoenix', 2782, '85008', '602', '33.46334', '-111.984771', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25549, 'Phoenix', 2782, '85017', '602', '33.509136', '-112.12465', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25550, 'Phoenix', 2782, '85037', '623', '33.486863', '-112.277624', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25551, 'Phoenix', 2782, '85042', '602', '33.370003', '-112.035334', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25552, 'Phoenix', 2782, '85053', '602', '33.632654', '-112.132892', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25553, 'Phoenix', 2782, '85062', '602', '33.4486', '-112.0733', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25554, 'Phoenix', 2782, '85078', '602', '33.4486', '-112.0733', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25555, 'Kearny', 2782, '85137', '520', '33.095479', '-110.926785', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25556, 'Mesa', 2782, '85212', '480', '33.327986', '-111.635556', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25557, 'Chandler', 2782, '85244', '602', '33.3064', '-111.8406', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25558, 'Chandler', 2782, '85246', '480', '33.3176', '-111.8566', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25559, 'Arizona State Univ', 2782, '85287', '480', '33.41838', '-111.933083', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25560, 'Arizona State University', 2782, '85287', '480', '33.41838', '-111.933083', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25561, 'Asu', 2782, '85287', '480', '33.41838', '-111.933083', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25562, 'Tempe', 2782, '85287', '480', '33.41838', '-111.933083', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25563, 'Glendale', 2782, '85303', '623', '33.530804', '-112.219974', '2018-11-29 04:53:59', '2018-11-29 04:53:59'),\n(25564, 'Glendale', 2782, '85310', '623', '33.704467', '-112.177755', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25565, 'Gila Bend', 2782, '85337', '928', '32.931359', '-112.734449', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25566, 'Sun City', 2782, '85351', '623', '33.601982', '-112.286274', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25567, 'Tolleson', 2782, '85353', '623', '33.421242', '-112.272442', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25568, 'Wikieup', 2782, '85360', '928', '34.686134', '-113.580329', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25569, 'Yuma', 2782, '85369', '928', '32.7158', '-114.6215', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25570, 'Poston', 2782, '85371', '928', '33.9865', '-114.3964', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25571, 'Surprise', 2782, '85378', '623', '33.6656', '-112.3544', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25572, 'Elfrida', 2782, '85610', '520', '31.715164', '-109.54308', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25573, 'Gleeson', 2782, '85610', '520', '31.715164', '-109.54308', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25574, 'Fairbank', 2782, '85621', '520', '31.464272', '-110.994375', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25575, 'Nogales', 2782, '85621', '520', '31.464272', '-110.994375', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25576, 'Nogales', 2782, '85628', '520', '31.3404', '-110.9339', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25577, 'Fry', 2782, '85635', '520', '31.586057', '-110.172918', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25578, 'Sierra Vista', 2782, '85635', '520', '31.586057', '-110.172918', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25579, 'Greaterville', 2782, '85637', '520', '31.685125', '-110.792548', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25580, 'Sonoita', 2782, '85637', '520', '31.685125', '-110.792548', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25581, 'Tucson', 2782, '85703', '520', '32.2217', '-110.9259', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25582, 'Tucson', 2782, '85721', '520', '32.230831', '-110.950361', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25583, 'Univ Of Arizona', 2782, '85721', '520', '32.230831', '-110.950361', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25584, 'Hawley Lake', 2782, '85930', '928', '34.044476', '-109.690422', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25585, 'Mcnary', 2782, '85930', '928', '34.044476', '-109.690422', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25586, 'Grand Canyon', 2782, '86023', '928', '35.895428', '-112.072696', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25587, 'Grand Canyon National Park', 2782, '86023', '928', '35.895428', '-112.072696', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25588, 'Tusayan', 2782, '86023', '928', '35.895428', '-112.072696', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25589, 'Prescott Valley', 2782, '86314', '928', '34.655971', '-112.304724', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25590, 'Prescott Vly', 2782, '86314', '928', '34.655971', '-112.304724', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25591, 'Kirkland', 2782, '86332', '928', '34.418792', '-112.855216', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25592, 'Peeples Valley', 2782, '86332', '928', '34.418792', '-112.855216', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25593, 'Peeples Vly', 2782, '86332', '928', '34.418792', '-112.855216', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25594, 'Sedona', 2782, '86339', '928', '34.8697', '-111.7604', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25595, 'Hualapai', 2782, '86412', '928', '35.9185', '-113.1118', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25596, 'Kingman', 2782, '86412', '928', '35.9185', '-113.1118', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25597, 'Bullhead City', 2782, '86430', '928', '35.340835', '-114.521173', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25598, 'Bullhead City', 2782, '86439', '928', '35.1479', '-114.5676', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25599, 'Walpi', 2782, '86042', '928', '35.92012', '-110.469887', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25600, 'Mishongnovi', 2782, '86043', '928', '35.898322', '-110.637061', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25601, 'Second Mesa', 2782, '86043', '928', '35.898322', '-110.637061', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25602, 'Shipolovi', 2782, '86043', '928', '35.898322', '-110.637061', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25603, 'Shongopovi', 2782, '86043', '928', '35.898322', '-110.637061', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25604, 'Toreva', 2782, '86043', '928', '35.898322', '-110.637061', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25605, 'Sedona', 2782, '86341', '928', '34.8705', '-111.7647', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25606, 'Bullhead City', 2782, '86442', '928', '34.936788', '-114.1342', '2018-11-29 04:54:00', '2018-11-29 04:54:00');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(25607, 'Burnt Water', 2782, '86512', '928', '35.149733', '-109.294336', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25608, 'Sanders', 2782, '86512', '928', '35.149733', '-109.294336', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25609, 'Red Valley', 2782, '86544', '928', '36.9075', '-109.1023', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25610, 'Teec Nos Pos', 2782, '86544', '928', '36.9075', '-109.1023', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25611, 'Phoenix', 2782, '85002', '602', '33.4486', '-112.0733', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25612, 'Phoenix', 2782, '85011', '602', '33.4486', '-112.0733', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25613, 'Phoenix', 2782, '85027', '623', '33.678258', '-112.099816', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25614, 'Phoenix', 2782, '85043', '623', '33.428058', '-112.186166', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25615, 'Phoenix', 2782, '85068', '602', '33.4486', '-112.0733', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25616, 'Phoenix', 2782, '85075', '602', '33.4486', '-112.0733', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25617, 'Chandler Heights', 2782, '85127', '480', '33.209749', '-111.687964', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25618, 'Chandler Hts', 2782, '85127', '480', '33.209749', '-111.687964', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25619, 'Mesa', 2782, '85202', '480', '33.385764', '-111.875586', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25620, 'Mesa', 2782, '85204', '480', '33.397254', '-111.78584', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25621, 'Mesa', 2782, '85211', '602', '33.4225', '-111.8216', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25622, 'Scottsdale', 2782, '85252', '602', '33.5093', '-111.8985', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25623, 'Scottsdale', 2782, '85259', '480', '33.589936', '-111.808845', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25624, 'Scottsdale', 2782, '85261', '602', '33.5093', '-111.8985', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25625, 'Mesa', 2782, '85277', '602', '33.4225', '-111.8216', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25626, 'Tempe', 2782, '85284', '480', '33.33469', '-111.932486', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25627, 'Chandler', 2782, '85286', '480', '33.269825', '-111.828842', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25628, 'Glendale', 2782, '85302', '623', '33.56741', '-112.18117', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25629, 'Glendale', 2782, '85311', '602', '33.5389', '-112.1854', '2018-11-29 04:54:00', '2018-11-29 04:54:00'),\n(25630, 'Glendale', 2782, '85318', '602', '33.5389', '-112.1854', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25631, 'Cashion', 2782, '85329', '623', '33.431642', '-112.29586', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25632, 'Ehrenberg', 2782, '85334', '928', '33.667036', '-114.446298', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25633, 'Gadsden', 2782, '85336', '928', '32.528084', '-114.77466', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25634, 'San Luis', 2782, '85336', '928', '32.528084', '-114.77466', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25635, 'Avondale-Goodyear', 2782, '85338', '623', '33.370118', '-112.405908', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25636, 'Goodyear', 2782, '85338', '623', '33.370118', '-112.405908', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25637, 'Peoria', 2782, '85345', '623', '33.573522', '-112.259596', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25638, 'Wittmann', 2782, '85361', '623', '33.725021', '-112.604291', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25639, 'Sun City', 2782, '85379', '623', '33.602183', '-112.384286', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25640, 'Surprise', 2782, '85379', '623', '33.602183', '-112.384286', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25641, 'Goodyear', 2782, '85395', '623', '33.483096', '-112.401205', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25642, 'Fort Thomas', 2782, '85536', '928', '32.982684', '-109.984733', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25643, 'Roosevelt', 2782, '85545', '928', '33.740654', '-111.09601', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25644, 'Young', 2782, '85554', '928', '34.087722', '-111.018966', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25645, 'Continental', 2782, '85629', '520', '31.957425', '-110.995337', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25646, 'Sahuarita', 2782, '85629', '520', '31.957425', '-110.995337', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25647, 'Tucson', 2782, '85702', '520', '32.2217', '-110.9259', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25648, 'Catalina', 2782, '85738', '520', '32.4997', '-110.9216', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25649, 'Tucson', 2782, '85738', '520', '32.4997', '-110.9216', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25650, 'Cibecue', 2782, '85911', '928', '34.154227', '-110.5129', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25651, 'Show Low', 2782, '85911', '928', '34.154227', '-110.5129', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25652, 'Alpine', 2782, '85920', '928', '33.818798', '-109.201533', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25653, 'Blue', 2782, '85922', '928', '33.663867', '-109.076934', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25654, 'Forest Lakes', 2782, '85931', '928', '34.425916', '-110.91132', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25655, 'Heber', 2782, '85931', '928', '34.425916', '-110.91132', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25656, 'Richville', 2782, '85936', '928', '34.516206', '-109.314972', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25657, 'Saint Johns', 2782, '85936', '928', '34.516206', '-109.314972', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25658, 'Salado', 2782, '85936', '928', '34.516206', '-109.314972', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25659, 'St Johns', 2782, '85936', '928', '34.516206', '-109.314972', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25660, 'Witch Wells', 2782, '85936', '928', '34.516206', '-109.314972', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25661, 'Shonto', 2782, '86054', '928', '36.722203', '-110.573352', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25662, 'Tonalea', 2782, '86054', '928', '36.722203', '-110.573352', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25663, 'Prescott', 2782, '86304', '928', '34.5401', '-112.4678', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25664, 'Prescott Valley', 2782, '86315', '928', '34.678697', '-112.294284', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25665, 'Prescott Vly', 2782, '86315', '928', '34.678697', '-112.294284', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25666, 'Ash Fork', 2782, '86320', '928', '35.186204', '-112.630206', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25667, 'Jerome', 2782, '86331', '928', '34.715301', '-112.161154', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25668, 'Skull Valley', 2782, '86338', '928', '34.598043', '-112.770132', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25669, 'Golden Valley', 2782, '86413', '928', '35.25007', '-114.362302', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25670, 'Kingman', 2782, '86413', '928', '35.25007', '-114.362302', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25671, 'Winwood', 2782, '85603', '520', '31.478964', '-109.902932', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25672, 'Bowie', 2782, '85605', '520', '32.286823', '-109.462911', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25673, 'Mount Lemmon', 2782, '85619', '520', '32.410618', '-110.77458', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25674, 'Tubac', 2782, '85646', '520', '31.630455', '-111.098916', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25675, 'Marana', 2782, '85653', '520', '32.379799', '-111.463788', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25676, 'Douglas', 2782, '85655', '520', '31.3444', '-109.5449', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25677, 'Nogales', 2782, '85662', '520', '31.3404', '-110.9339', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25678, 'Sierra Vista', 2782, '85671', '520', '31.5545', '-110.3031', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25679, 'Tucson', 2782, '85705', '520', '32.269386', '-111.004044', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25680, 'Coronado', 2782, '85712', '520', '32.254758', '-110.88362', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25681, 'Tucson', 2782, '85712', '520', '32.254758', '-110.88362', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25682, 'Mission', 2782, '85714', '520', '32.171121', '-110.945302', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25683, 'Tucson', 2782, '85714', '520', '32.171121', '-110.945302', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25684, 'Sun', 2782, '85719', '520', '32.248016', '-110.947413', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25685, 'Tucson', 2782, '85719', '520', '32.248016', '-110.947413', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25686, 'Tucson', 2782, '85728', '520', '32.2217', '-110.9259', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25687, 'Rincon', 2782, '85730', '520', '32.175636', '-110.796666', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25688, 'Tucson', 2782, '85730', '520', '32.175636', '-110.796666', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25689, 'Tucson', 2782, '85735', '520', '32.095448', '-111.309363', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25690, 'Catalina', 2782, '85739', '520', '32.488631', '-110.881062', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25691, 'Saddlebrooke', 2782, '85739', '520', '32.488631', '-110.881062', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25692, 'Tucson', 2782, '85739', '520', '32.488631', '-110.881062', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25693, 'Tucson', 2782, '85746', '520', '32.089821', '-111.086167', '2018-11-29 04:54:01', '2018-11-29 04:54:01'),\n(25694, 'White Mountain Lake', 2782, '85912', '928', '34.2887', '-110.0516', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25695, 'White Mtn Lk', 2782, '85912', '928', '34.2887', '-110.0516', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25696, 'Flagstaff', 2782, '86003', '928', '35.1984', '-111.6508', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25697, 'Colorado City', 2782, '86021', '928', '36.600204', '-112.952465', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25698, 'Kaibeto', 2782, '86053', '928', '36.494992', '-111.317384', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25699, 'Tonalea', 2782, '86053', '928', '36.494992', '-111.317384', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25700, 'Chino Valley', 2782, '86323', '928', '34.83896', '-112.396769', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25701, 'Kingman', 2782, '86437', '928', '35.1895', '-114.0525', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25702, 'Valentine', 2782, '86437', '928', '35.1895', '-114.0525', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25703, 'Dolan Springs', 2782, '86441', '928', '35.581022', '-114.376483', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25704, 'Chinle', 2782, '86507', '928', '36.467899', '-109.250431', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25705, 'Greasewood Springs', 2782, '86507', '928', '36.467899', '-109.250431', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25706, 'Lukachukai', 2782, '86507', '928', '36.467899', '-109.250431', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25707, 'Upper Greasewood Trading Pos', 2782, '86507', '928', '36.467899', '-109.250431', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25708, 'Upper Wheatfields', 2782, '86507', '928', '36.467899', '-109.250431', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25709, 'Immanuel Mission', 2782, '86514', '928', '36.623226', '-109.461538', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25710, 'Mexican Water', 2782, '86514', '928', '36.623226', '-109.461538', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25711, 'Red Mesa', 2782, '86514', '928', '36.623226', '-109.461538', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25712, 'Teec Nos Pos', 2782, '86514', '928', '36.623226', '-109.461538', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25713, 'Tolacon', 2782, '86514', '928', '36.623226', '-109.461538', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25714, 'San Jose', 2783, '95112', '408', '37.341544', '-121.881824', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25715, 'San Jose', 2783, '95130', '408', '37.285156', '-121.977821', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25716, 'San Jose', 2783, '95139', '408', '37.224722', '-121.762976', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25717, 'San Jose', 2783, '95164', '408', '37.3353', '-121.8938', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25718, 'San Jose', 2783, '95196', '408', '37.3353', '-121.8938', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25719, 'San Jose Water Company', 2783, '95196', '408', '37.3353', '-121.8938', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25720, 'Stkn', 2783, '95205', '209', '37.96183', '-121.260795', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25721, 'Stockton', 2783, '95205', '209', '37.96183', '-121.260795', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25722, 'Arnold', 2783, '95223', '209', '38.370797', '-120.161415', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25723, 'Bear Valley', 2783, '95223', '209', '38.370797', '-120.161415', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25724, 'Camp Connell', 2783, '95223', '209', '38.370797', '-120.161415', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25725, 'Dorrington', 2783, '95223', '209', '38.370797', '-120.161415', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25726, 'Copperopolis', 2783, '95228', '209', '37.933404', '-120.693497', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25727, 'Ballico', 2783, '95303', '209', '37.465794', '-120.676446', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25728, 'Cressey', 2783, '95312', '209', '37.420142', '-120.665231', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25729, 'Hickman', 2783, '95323', '209', '37.604422', '-120.641009', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25730, 'Sonora', 2783, '95373', '209', '37.9844', '-120.3814', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25731, 'Standard', 2783, '95373', '209', '37.9844', '-120.3814', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25732, 'Cleone', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25733, 'Fort Bragg', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25734, 'Inglenook', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25735, 'Noyo', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25736, 'Pudding Creek', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25737, 'Redwood Lodge', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25738, 'Sherwood Valley Rancheria', 2783, '95437', '707', '39.48602', '-123.693637', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25739, 'Fulton', 2783, '95439', '707', '38.495168', '-122.777818', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25740, 'Nice', 2783, '95464', '707', '39.100653', '-122.837616', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25741, 'Rio Nido', 2783, '95471', '707', '38.523816', '-122.978615', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25742, 'Stewarts Point', 2783, '95480', '707', '38.697084', '-123.357458', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25743, 'Stewarts Point Rancheria', 2783, '95480', '707', '38.697084', '-123.357458', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25744, 'Stewarts Pt', 2783, '95480', '707', '38.697084', '-123.357458', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25745, 'Ukiah', 2783, '95482', '707', '39.131039', '-123.244058', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25746, 'Blocksburg', 2783, '95514', '707', '40.292948', '-123.643163', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25747, 'Crescent City', 2783, '95532', '707', '41.7563', '-124.2009', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25748, 'Pelican Bay State Prison', 2783, '95532', '707', '41.7563', '-124.2009', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25749, 'Orick', 2783, '95555', '707', '41.3645', '-124.012863', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25750, 'Rio Dell', 2783, '95562', '707', '40.480542', '-124.145454', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25751, 'Weott', 2783, '95571', '707', '40.307348', '-123.903526', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25752, 'Shelter Cove', 2783, '95589', '707', '40.002553', '-124.007093', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25753, 'Whitethorn', 2783, '95589', '707', '40.002553', '-124.007093', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25754, 'Auburn Lake Trails', 2783, '95614', '530', '38.883283', '-120.988196', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25755, 'Cool', 2783, '95614', '530', '38.883283', '-120.988196', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25756, 'Citrus Heights', 2783, '95621', '916', '38.693223', '-121.312214', '2018-11-29 04:54:02', '2018-11-29 04:54:02'),\n(25757, 'Citrus Hts', 2783, '95621', '916', '38.693223', '-121.312214', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25758, 'El Dorado', 2783, '95623', '530', '38.609249', '-120.848287', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25759, 'Nashville', 2783, '95623', '530', '38.609249', '-120.848287', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25760, 'Folsom', 2783, '95630', '916', '38.664532', '-121.145', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25761, 'Lake Natoma', 2783, '95630', '916', '38.664532', '-121.145', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25762, 'Mormon Island', 2783, '95630', '916', '38.664532', '-121.145', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25763, 'Pine Bluff', 2783, '95630', '916', '38.664532', '-121.145', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25764, 'White Rock', 2783, '95630', '916', '38.664532', '-121.145', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25765, 'Andrus Island', 2783, '95641', '916', '38.164247', '-121.597474', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25766, 'Bouldin Island', 2783, '95641', '916', '38.164247', '-121.597474', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25767, 'Brannan Island', 2783, '95641', '916', '38.164247', '-121.597474', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25768, 'Isleton', 2783, '95641', '916', '38.164247', '-121.597474', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25769, 'Pilot Hill', 2783, '95664', '530', '38.793544', '-121.045828', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25770, 'Zamora', 2783, '95698', '530', '38.816608', '-121.919729', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25771, 'Dutch Flat', 2783, '95714', '530', '39.194757', '-120.83053', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25772, 'Echo Lake', 2783, '95721', '530', '38.819647', '-120.088683', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25773, 'Twin Bridges', 2783, '95721', '530', '38.819647', '-120.088683', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25774, 'Sacramento', 2783, '95814', '916', '38.581667', '-121.495908', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25775, 'Sacramento', 2783, '95816', '916', '38.57586', '-121.464416', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25776, 'Sacramento', 2783, '95823', '916', '38.474242', '-121.443101', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25777, 'Sacramento', 2783, '95825', '916', '38.585164', '-121.401198', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25778, 'Sacramento', 2783, '95832', '916', '38.447962', '-121.496765', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25779, 'Sacramento', 2783, '95864', '916', '38.585315', '-121.377632', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25780, 'Sacramento', 2783, '95866', '916', '38.5817', '-121.4936', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25781, 'Colusa', 2783, '95932', '530', '39.256569', '-122.065335', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25782, 'Elk Creek', 2783, '95939', '530', '39.53155', '-122.631569', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25783, 'Grindstone Creek Rancheria', 2783, '95939', '530', '39.53155', '-122.631569', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25784, 'Forbestown', 2783, '95941', '530', '39.588494', '-121.190971', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25785, 'East Gridley', 2783, '95948', '530', '39.354575', '-121.762508', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25786, 'Gridley', 2783, '95948', '530', '39.354575', '-121.762508', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25787, 'Manzanita', 2783, '95948', '530', '39.354575', '-121.762508', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25788, 'Oroville', 2783, '95966', '530', '39.467614', '-121.409068', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25789, 'Chico', 2783, '95973', '530', '39.86419', '-121.869696', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25790, 'Cohasset', 2783, '95973', '530', '39.86419', '-121.869696', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25791, 'Nord', 2783, '95973', '530', '39.86419', '-121.869696', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25792, 'Richardson Springs', 2783, '95973', '530', '39.86419', '-121.869696', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25793, 'Rough And Ready', 2783, '95975', '530', '39.225852', '-121.150217', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25794, 'Rough Ready', 2783, '95975', '530', '39.225852', '-121.150217', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25795, 'Belden', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25796, 'Oroville', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25797, 'Rock Creek', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25798, 'Rock Crest', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25799, 'Rogers Flat', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25800, 'Storrie', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25801, 'Tobin', 2783, '95980', '916', '39.9071', '-121.3454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25802, 'Tierra Buena', 2783, '95991', '530', '39.032378', '-121.605116', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25803, 'Yuba City', 2783, '95991', '530', '39.032378', '-121.605116', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25804, 'Anderson', 2783, '96007', '530', '40.45064', '-122.316441', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25805, 'Olinda', 2783, '96007', '530', '40.45064', '-122.316441', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25806, 'Callahan', 2783, '96014', '530', '41.355668', '-122.738418', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25807, 'San Jose', 2783, '95108', '408', '37.3355', '-121.8938', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25808, 'San Jose', 2783, '95110', '408', '37.342165', '-121.906775', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25809, 'San Jose', 2783, '95125', '408', '37.297218', '-121.895102', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25810, 'San Jose', 2783, '95126', '408', '37.324144', '-121.915012', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25811, 'San Jose', 2783, '95141', '408', '37.171731', '-121.751504', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25812, 'San Jose', 2783, '95157', '408', '37.3353', '-121.8938', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25813, 'San Jose', 2783, '95158', '408', '37.3353', '-121.8938', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25814, 'San Jose', 2783, '95159', '408', '37.3353', '-121.8938', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25815, 'Campo Seco', 2783, '95226', '209', '38.23663', '-120.861838', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25816, 'Valley Spgs', 2783, '95226', '209', '38.23663', '-120.861838', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25817, 'Valley Springs', 2783, '95226', '209', '38.23663', '-120.861838', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25818, 'Lodi', 2783, '95242', '209', '38.147096', '-121.431446', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25819, 'Wilseyville', 2783, '95257', '209', '38.379026', '-120.442454', '2018-11-29 04:54:03', '2018-11-29 04:54:03'),\n(25820, 'Columbia', 2783, '95310', '209', '38.051089', '-120.396989', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25821, 'Hughson', 2783, '95326', '209', '37.593466', '-120.847062', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25822, 'Pinecrest', 2783, '95375', '209', '38.2072', '-119.9974', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25823, 'Strawberry', 2783, '95375', '209', '38.2072', '-119.9974', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25824, 'Tracy', 2783, '95376', '209', '37.653296', '-121.459717', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25825, 'Tracy', 2783, '95377', '209', '37.617928', '-121.46118', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25826, 'Tracy', 2783, '95378', '209', '37.7398', '-121.4243', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25827, 'Mountain House', 2783, '95391', '209', '37.759412', '-121.59902', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25828, 'Mtn House', 2783, '95391', '209', '37.759412', '-121.59902', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25829, 'Tracy', 2783, '95391', '209', '37.759412', '-121.59902', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25830, 'Asti', 2783, '95425', '707', '38.778786', '-123.04363', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25831, 'Cloverdale', 2783, '95425', '707', '38.778786', '-123.04363', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25832, 'The Geysers', 2783, '95425', '707', '38.778786', '-123.04363', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25833, 'Comptche', 2783, '95427', '707', '39.276736', '-123.576295', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25834, 'Keene Summit', 2783, '95427', '707', '39.276736', '-123.576295', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25835, 'Graton', 2783, '95444', '707', '38.43053', '-122.862309', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25836, 'Manchester', 2783, '95459', '707', '39.023336', '-123.606673', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25837, 'La Selva Bch', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25838, 'La Selva Beach', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25839, 'Mt Madonna', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25840, 'Pajaro', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25841, 'Royal Oaks', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25842, 'Watsonville', 2783, '95076', '831', '36.942773', '-121.724031', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25843, 'Watsonville', 2783, '95077', '831', '36.9105', '-121.7558', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25844, 'Mount Hamilton', 2783, '95140', '408', '37.36817', '-121.685279', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25845, 'Mt Hamilton', 2783, '95140', '408', '37.36817', '-121.685279', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25846, 'San Jose', 2783, '95140', '408', '37.36817', '-121.685279', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25847, 'San Jose', 2783, '95160', '408', '37.3353', '-121.8938', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25848, 'San Jose', 2783, '95192', '408', '37.335939', '-121.88175', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25849, 'San Jose State University', 2783, '95192', '408', '37.335939', '-121.88175', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25850, 'I B M', 2783, '95193', '408', '37.3353', '-121.8938', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25851, 'San Jose', 2783, '95193', '408', '37.3353', '-121.8938', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25852, 'California Water Service', 2783, '95194', '408', '37.3353', '-121.8938', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25853, 'San Jose', 2783, '95194', '408', '37.3353', '-121.8938', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25854, 'Stkn', 2783, '95207', '209', '38.000256', '-121.324666', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25855, 'Stockton', 2783, '95207', '209', '38.000256', '-121.324666', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25856, 'Stkn', 2783, '95208', '209', '37.8335', '-121.2165', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25857, 'Stockton', 2783, '95208', '209', '37.8335', '-121.2165', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25858, 'Stkn', 2783, '95209', '209', '38.046747', '-121.349437', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25859, 'Stockton', 2783, '95209', '209', '38.046747', '-121.349437', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25860, 'Stkn', 2783, '95210', '209', '38.025278', '-121.305386', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25861, 'Stockton', 2783, '95210', '209', '38.025278', '-121.305386', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25862, 'Avery', 2783, '95224', '209', '38.223555', '-120.334731', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25863, 'Burson', 2783, '95225', '209', '38.184016', '-120.897454', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25864, 'Clements', 2783, '95227', '209', '38.224277', '-121.039503', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25865, 'Lodi', 2783, '95241', '209', '38.1304', '-121.2716', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25866, 'Woodbridge', 2783, '95258', '209', '38.169055', '-121.312919', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25867, 'Chinese Camp', 2783, '95309', '209', '37.856684', '-120.401441', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25868, 'Hilmar', 2783, '95324', '209', '37.396994', '-120.895144', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25869, 'Hornitos', 2783, '95325', '209', '37.452356', '-120.265176', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25870, 'Jamestown', 2783, '95327', '209', '37.878546', '-120.490311', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25871, 'Merced', 2783, '95341', '209', '37.24531', '-120.488822', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25872, 'Merced', 2783, '95344', '209', '37.3022', '-120.4816', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25873, 'Knights Ferry', 2783, '95361', '209', '37.777081', '-120.760866', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25874, 'Oakdale', 2783, '95361', '209', '37.777081', '-120.760866', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25875, 'Valley Home', 2783, '95361', '209', '37.777081', '-120.760866', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25876, 'Stevinson', 2783, '95374', '209', '37.330485', '-120.890864', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25877, 'Cobb', 2783, '95426', '707', '38.833133', '-122.71384', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25878, 'Geyserville', 2783, '95441', '707', '38.747328', '-122.883332', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25879, 'Glen Ellen', 2783, '95442', '707', '38.37612', '-122.51655', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25880, 'Blue Lake', 2783, '95525', '707', '40.926246', '-123.858349', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25881, 'Burnt Ranch', 2783, '95527', '530', '40.786087', '-123.414854', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25882, 'Carlotta', 2783, '95528', '707', '40.478584', '-123.938371', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25883, 'Garberville', 2783, '95542', '707', '40.131496', '-123.896654', '2018-11-29 04:54:04', '2018-11-29 04:54:04'),\n(25884, 'Gasquet', 2783, '95543', '707', '41.901238', '-123.815536', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25885, 'Phillipsville', 2783, '95559', '707', '40.18814', '-123.751895', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25886, 'Carmichael', 2783, '95609', '916', '38.6173', '-121.3275', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25887, 'Elverta', 2783, '95626', '916', '38.740202', '-121.459544', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25888, 'Clinton', 2783, '95642', '209', '38.33367', '-120.751344', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25889, 'Jackson', 2783, '95642', '209', '38.33367', '-120.751344', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25890, 'Kit Carson', 2783, '95644', '209', '38.5324', '-120.2872', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25891, 'Pioneer', 2783, '95644', '209', '38.5324', '-120.2872', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25892, 'Roseville', 2783, '95661', '916', '38.743875', '-121.258704', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25893, 'Robbins', 2783, '95676', '530', '38.93447', '-121.707401', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25894, 'Rocklin', 2783, '95677', '916', '38.796035', '-121.235214', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25895, 'San Jose', 2783, '95116', '408', '37.349931', '-121.850704', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25896, 'San Jose', 2783, '95134', '408', '37.424813', '-121.945999', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25897, 'San Jose', 2783, '95135', '408', '37.275824', '-121.714637', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25898, 'Stkn', 2783, '95202', '209', '37.959926', '-121.287709', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25899, 'Stockton', 2783, '95202', '209', '37.959926', '-121.287709', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25900, 'Stkn', 2783, '95219', '209', '38.02907', '-121.455145', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25901, 'Stockton', 2783, '95219', '209', '38.02907', '-121.455145', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25902, 'Valley Spgs', 2783, '95252', '209', '38.163789', '-120.830425', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25903, 'Valley Springs', 2783, '95252', '209', '38.163789', '-120.830425', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25904, 'Le Grand', 2783, '95333', '209', '37.283745', '-120.206499', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25905, 'Livingston', 2783, '95334', '209', '37.365197', '-120.748866', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25906, 'Manteca', 2783, '95336', '209', '37.83236', '-121.187128', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25907, 'Modesto', 2783, '95351', '209', '37.634944', '-120.984909', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25908, 'Modesto', 2783, '95352', '209', '37.6395', '-120.9956', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25909, 'Waterford', 2783, '95386', '209', '37.688133', '-120.65647', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25910, 'Santa Rosa', 2783, '95402', '707', '38.4408', '-122.7156', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25911, 'Larkfield', 2783, '95403', '707', '38.502811', '-122.753536', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25912, 'Santa Rosa', 2783, '95403', '707', '38.502811', '-122.753536', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25913, 'Branscomb', 2783, '95417', '707', '39.662061', '-123.631827', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25914, 'Laytonville', 2783, '95417', '707', '39.662061', '-123.631827', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25915, 'Calpella', 2783, '95418', '707', '39.2346', '-123.2031', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25916, 'Ukiah', 2783, '95418', '707', '39.2346', '-123.2031', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25917, 'El Verano', 2783, '95433', '707', '38.2987', '-122.4938', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25918, 'Forestville', 2783, '95436', '707', '38.49652', '-122.903903', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25919, 'Hidden Valley Lake', 2783, '95467', '707', '38.792546', '-122.534984', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25920, 'Hidden Vl Lk', 2783, '95467', '707', '38.792546', '-122.534984', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25921, 'Potter Valley', 2783, '95469', '707', '39.383233', '-123.068219', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25922, 'Eureka', 2783, '95502', '707', '40.814702', '-124.080428', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25923, 'Eureka', 2783, '95503', '707', '40.721386', '-124.09941', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25924, 'Mckinleyville', 2783, '95519', '707', '40.957484', '-124.030581', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25925, 'Loleta', 2783, '95551', '707', '40.68585', '-124.251', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25926, 'Mad River', 2783, '95552', '707', '40.33383', '-123.390892', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25927, 'Miranda', 2783, '95553', '707', '40.217632', '-123.865505', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25928, 'Leggett', 2783, '95585', '707', '39.832994', '-123.693574', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25929, 'Diamond Spgs', 2783, '95619', '530', '38.677496', '-120.80906', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25930, 'Diamond Springs', 2783, '95619', '530', '38.677496', '-120.80906', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25931, 'Greenwood', 2783, '95635', '530', '38.918432', '-120.903777', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25932, 'Loomis', 2783, '95650', '916', '38.815286', '-121.167418', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25933, 'Lotus', 2783, '95651', '530', '38.829662', '-120.929718', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25934, 'Bucks Bar', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25935, 'Cedar Ravine', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25936, 'Five Mile Terrace', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25937, 'Gold Hill', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25938, 'Kelsey', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25939, 'Newtown', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25940, 'Old Fort Jim', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25941, 'Placerville', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25942, 'Pleasant Valley', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25943, 'Swansboro Country', 2783, '95667', '530', '38.750626', '-120.788516', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25944, 'Gold River', 2783, '95670', '916', '38.60476', '-121.269191', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25945, 'Nimbus', 2783, '95670', '916', '38.60476', '-121.269191', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25946, 'Rancho Cordova', 2783, '95670', '916', '38.60476', '-121.269191', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25947, 'Rncho Cordova', 2783, '95670', '916', '38.60476', '-121.269191', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25948, 'Fair Play', 2783, '95684', '530', '38.597874', '-120.534826', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25949, 'Omo Ranch', 2783, '95684', '530', '38.597874', '-120.534826', '2018-11-29 04:54:05', '2018-11-29 04:54:05'),\n(25950, 'Outingdale', 2783, '95684', '530', '38.597874', '-120.534826', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25951, 'Somerset', 2783, '95684', '530', '38.597874', '-120.534826', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25952, 'Sutter Creek', 2783, '95685', '209', '38.433738', '-120.782084', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25953, 'Sutter Hill', 2783, '95685', '209', '38.433738', '-120.782084', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25954, 'San Jose', 2783, '95120', '408', '37.192676', '-121.834112', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25955, 'San Jose', 2783, '95122', '408', '37.330525', '-121.838229', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25956, 'San Jose', 2783, '95129', '408', '37.307495', '-122.002234', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25957, 'San Jose', 2783, '95138', '408', '37.248212', '-121.73568', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25958, 'San Jose', 2783, '95156', '408', '37.3353', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25959, 'San Jose', 2783, '95170', '650', '37.3353', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25960, 'San Jose', 2783, '95172', '408', '37.3353', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25961, 'San Jose', 2783, '95190', '408', '37.3353', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25962, 'San Jose Mercury News', 2783, '95190', '408', '37.3353', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25963, 'Stkn', 2783, '95204', '209', '37.974448', '-121.325159', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25964, 'Stockton', 2783, '95204', '209', '37.974448', '-121.325159', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25965, 'Acampo', 2783, '95220', '209', '38.19398', '-121.198856', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25966, 'French Camp', 2783, '95231', '209', '37.881708', '-121.29109', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25967, 'Linden', 2783, '95236', '209', '38.067469', '-121.029666', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25968, 'Lodi', 2783, '95240', '209', '38.125442', '-121.149877', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25969, 'Mokelumne Hill', 2783, '95245', '209', '38.318496', '-120.527071', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25970, 'Mokelumne Hl', 2783, '95245', '209', '38.318496', '-120.527071', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25971, 'Murphys', 2783, '95247', '209', '38.099378', '-120.463625', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25972, 'Catheys Valley', 2783, '95306', '209', '37.401966', '-120.150425', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25973, 'Catheys Vly', 2783, '95306', '209', '37.401966', '-120.150425', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25974, 'Delhi', 2783, '95315', '209', '37.425552', '-120.762651', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25975, 'La Grange', 2783, '95329', '209', '37.687243', '-120.406068', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25976, 'Midpines', 2783, '95345', '209', '37.586344', '-119.982788', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25977, 'Moccasin', 2783, '95347', '209', '37.8106', '-120.2988', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25978, 'Sonora', 2783, '95370', '209', '37.98387', '-120.389676', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25979, 'Turlock', 2783, '95381', '209', '37.4948', '-120.8459', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25980, 'Santa Rosa', 2783, '95406', '707', '38.4408', '-122.7136', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25981, 'Dos Rios', 2783, '95429', '707', '39.703553', '-123.363204', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25982, 'Navarro', 2783, '95463', '707', '39.187927', '-123.546868', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25983, 'Occidental', 2783, '95465', '707', '38.404332', '-123.020779', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25984, 'Willits', 2783, '95490', '707', '39.487969', '-123.358414', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25985, 'Kneeland', 2783, '95549', '707', '40.655909', '-123.891158', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25986, 'Orleans', 2783, '95556', '530', '41.272236', '-123.559686', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25987, 'Salyer', 2783, '95563', '530', '40.830617', '-123.588459', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25988, 'Auburn', 2783, '95604', '530', '39.2432', '-120.0714', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25989, 'Bowman', 2783, '95604', '530', '39.2432', '-120.0714', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25990, 'Brooks', 2783, '95606', '530', '38.800894', '-122.252446', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25991, 'Coloma', 2783, '95613', '530', '38.796262', '-120.884177', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25992, 'Fiddletown', 2783, '95629', '209', '38.521466', '-120.647003', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25993, 'Mount Aukum', 2783, '95656', '530', '38.5503', '-120.7307', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25994, 'Allendale', 2783, '95688', '707', '38.415742', '-122.010393', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25995, 'Vacaville', 2783, '95688', '707', '38.415742', '-122.010393', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25996, 'San Jose', 2783, '95103', '408', '37.3355', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25997, 'San Jose', 2783, '95148', '408', '37.332803', '-121.77142', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25998, 'San Jose', 2783, '95155', '408', '37.3353', '-121.8938', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(25999, 'Stkn', 2783, '95203', '209', '37.953597', '-121.328221', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26000, 'Stockton', 2783, '95203', '209', '37.953597', '-121.328221', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26001, 'Altaville', 2783, '95221', '209', '38.075742', '-120.552421', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26002, 'Angels Camp', 2783, '95221', '209', '38.075742', '-120.552421', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26003, 'Farmington', 2783, '95230', '209', '37.965556', '-120.843453', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26004, 'Lockeford', 2783, '95237', '209', '38.16708', '-121.136629', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26005, 'Mountain Ranch', 2783, '95246', '209', '38.223338', '-120.521164', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26006, 'Mtn Ranch', 2783, '95246', '209', '38.223338', '-120.521164', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26007, 'Sheep Ranch', 2783, '95246', '209', '38.223338', '-120.521164', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26008, 'Sheepranch', 2783, '95246', '209', '38.223338', '-120.521164', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26009, 'West Point', 2783, '95255', '209', '38.434656', '-120.377066', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26010, 'Big Oak Flat', 2783, '95305', '209', '37.820921', '-120.259157', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26011, 'Groveland', 2783, '95321', '209', '37.861699', '-119.914598', '2018-11-29 04:54:06', '2018-11-29 04:54:06'),\n(26012, 'Mi Wuk Village', 2783, '95346', '209', '38.028865', '-120.149404', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26013, 'Mi Wuk Vlg', 2783, '95346', '209', '38.028865', '-120.149404', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26014, 'Merced', 2783, '95348', '209', '37.364502', '-120.521614', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26015, 'Turlock', 2783, '95380', '209', '37.477871', '-120.860749', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26016, 'Tuolumne Mdws', 2783, '95389', '209', '37.74796', '-119.523649', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26017, 'Tuolumne Meadows', 2783, '95389', '209', '37.74796', '-119.523649', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26018, 'Wawona', 2783, '95389', '209', '37.74796', '-119.523649', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26019, 'Yosemite', 2783, '95389', '209', '37.74796', '-119.523649', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26020, 'Yosemite National Park', 2783, '95389', '209', '37.74796', '-119.523649', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26021, 'Yosemite Ntpk', 2783, '95389', '209', '37.74796', '-119.523649', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26022, 'Cazadero', 2783, '95421', '707', '38.630798', '-123.250082', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26023, 'Duncans Mills', 2783, '95430', '707', '38.450751', '-123.055742', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26024, 'Elk', 2783, '95432', '707', '39.143651', '-123.669394', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26025, 'Healdsburg', 2783, '95448', '707', '38.630114', '-122.865664', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26026, 'Monte Rio', 2783, '95462', '707', '38.465888', '-123.021455', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26027, 'Russian River', 2783, '95462', '707', '38.465888', '-123.021455', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26028, 'Russian River Mdws', 2783, '95462', '707', '38.465888', '-123.021455', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26029, 'Sebastopol', 2783, '95473', '707', '38.4024', '-122.8225', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26030, 'Vineburg', 2783, '95487', '707', '38.2699', '-122.4419', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26031, 'Fields Landing', 2783, '95537', '707', '40.729148', '-124.216676', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26032, 'Fields Ldg', 2783, '95537', '707', '40.729148', '-124.216676', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26033, 'Klamath', 2783, '95548', '707', '41.611701', '-124.036216', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26034, 'Piercy', 2783, '95587', '707', '39.916534', '-123.708228', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26035, 'San Jose', 2783, '95113', '408', '37.334064', '-121.892073', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26036, 'San Jose', 2783, '95131', '408', '37.387448', '-121.90226', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26037, 'San Jose', 2783, '95136', '408', '37.272482', '-121.843473', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26038, 'Stkn', 2783, '95206', '209', '37.944718', '-121.402842', '2018-11-29 04:54:07', '2018-11-29 04:54:07');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(26039, 'Stockton', 2783, '95206', '209', '37.944718', '-121.402842', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26040, 'Stkn', 2783, '95215', '209', '37.960718', '-121.128971', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26041, 'Stockton', 2783, '95215', '209', '37.960718', '-121.128971', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26042, 'Angels Camp', 2783, '95222', '209', '38.043599', '-120.580002', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26043, 'Gustine', 2783, '95322', '209', '37.196524', '-120.957966', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26044, 'Santa Nella', 2783, '95322', '209', '37.196524', '-120.957966', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26045, 'Mariposa', 2783, '95338', '209', '37.510832', '-119.980478', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26046, 'Modesto', 2783, '95354', '209', '37.637378', '-120.970083', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26047, 'Modesto', 2783, '95356', '209', '37.721914', '-121.04368', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26048, 'Diablo Grande', 2783, '95363', '209', '37.509275', '-121.250104', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26049, 'Grayson', 2783, '95363', '209', '37.509275', '-121.250104', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26050, 'Patterson', 2783, '95363', '209', '37.509275', '-121.250104', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26051, 'Santa Rosa', 2783, '95404', '707', '38.452546', '-122.640334', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26052, 'Clearlake Park', 2783, '95424', '707', '38.970393', '-122.665566', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26053, 'Clearlake Pk', 2783, '95424', '707', '38.970393', '-122.665566', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26054, 'Eldridge', 2783, '95431', '707', '38.348559', '-122.515792', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26055, 'Anchor Bay', 2783, '95445', '707', '38.836954', '-123.445663', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26056, 'Gualala', 2783, '95445', '707', '38.836954', '-123.445663', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26057, 'Little River', 2783, '95456', '707', '39.263503', '-123.737796', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26058, 'Littleriver', 2783, '95456', '707', '39.263503', '-123.737796', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26059, 'Freestone', 2783, '95472', '707', '38.401691', '-122.87424', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26060, 'Sebastopol', 2783, '95472', '707', '38.401691', '-122.87424', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26061, 'Talmage', 2783, '95481', '707', '39.130998', '-123.1629', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26062, 'Rockport', 2783, '95488', '707', '39.688571', '-123.721297', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26063, 'Westport', 2783, '95488', '707', '39.688571', '-123.721297', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26064, 'The Sea Ranch', 2783, '95497', '707', '38.728295', '-123.474098', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26065, 'Crescent City', 2783, '95538', '707', '41.8677', '-124.1488', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26066, 'Fort Dick', 2783, '95538', '707', '41.8677', '-124.1488', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26067, 'Fortuna', 2783, '95540', '707', '40.585522', '-124.131187', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26068, 'Scotia', 2783, '95565', '707', '40.448628', '-124.013587', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26069, 'Courtland', 2783, '95615', '916', '38.307161', '-121.551749', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26070, 'Paintersville', 2783, '95615', '916', '38.307161', '-121.551749', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26071, 'Randall Island', 2783, '95615', '916', '38.307161', '-121.551749', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26072, 'Alta', 2783, '95701', '530', '39.247589', '-120.747636', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26073, 'Twin Bridges', 2783, '95735', '530', '38.807585', '-120.12826', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26074, 'Weimar', 2783, '95736', '530', '39.009734', '-120.978404', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26075, 'Sacramento', 2783, '95817', '916', '38.551659', '-121.450744', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26076, 'Sacramento', 2783, '95834', '916', '38.642109', '-121.523052', '2018-11-29 04:54:07', '2018-11-29 04:54:07'),\n(26077, 'Sacramento', 2783, '95836', '916', '38.718222', '-121.530604', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26078, 'Sacramento', 2783, '95851', '916', '38.5817', '-121.4936', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26079, 'Hallwood', 2783, '95901', '530', '39.154519', '-121.457867', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26080, 'Hammonton', 2783, '95901', '530', '39.154519', '-121.457867', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26081, 'Linda', 2783, '95901', '530', '39.154519', '-121.457867', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26082, 'Loma Rica', 2783, '95901', '530', '39.154519', '-121.457867', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26083, 'Marysville', 2783, '95901', '530', '39.154519', '-121.457867', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26084, 'Brownsville', 2783, '95919', '530', '39.423716', '-121.282776', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26085, 'Live Oak', 2783, '95953', '530', '39.242718', '-121.759367', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26086, 'Pennington', 2783, '95953', '530', '39.242718', '-121.759367', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26087, 'Palermo', 2783, '95968', '530', '39.430514', '-121.553992', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26088, 'Paradise', 2783, '95969', '530', '39.726057', '-121.654901', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26089, 'Twain', 2783, '95984', '530', '40.031208', '-121.118713', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26090, 'Virgilia', 2783, '95984', '530', '40.031208', '-121.118713', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26091, 'Keswick', 2783, '96001', '530', '40.624664', '-122.465895', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26092, 'Redding', 2783, '96001', '530', '40.624664', '-122.465895', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26093, 'Redding', 2783, '96002', '530', '40.528596', '-122.317354', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26094, 'Chester', 2783, '96020', '530', '40.25644', '-121.29327', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26095, 'Gerber', 2783, '96035', '530', '40.029838', '-122.191282', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26096, 'Oak Run', 2783, '96069', '530', '40.704042', '-121.966164', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26097, 'Scott Bar', 2783, '96085', '530', '41.780137', '-122.981726', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26098, 'Seiad Valley', 2783, '96086', '530', '41.84209', '-123.244212', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26099, 'Shingletown', 2783, '96088', '530', '40.517957', '-121.857594', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26100, 'Viola', 2783, '96088', '530', '40.517957', '-121.857594', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26101, 'Alturas', 2783, '96101', '530', '41.5132', '-120.515579', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26102, 'Alturas Rancheria', 2783, '96101', '530', '41.5132', '-120.515579', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26103, 'California Pines', 2783, '96101', '530', '41.5132', '-120.515579', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26104, 'Xl Ranch Indian Reservation', 2783, '96101', '530', '41.5132', '-120.515579', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26105, 'Loyalton', 2783, '96118', '530', '39.67064', '-120.158868', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26106, 'Milford', 2783, '96121', '530', '40.180311', '-120.394886', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26107, 'Vinton', 2783, '96135', '530', '39.72328', '-120.224979', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26108, 'S Lake Tahoe', 2783, '96152', '530', '38.9459', '-119.9704', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26109, 'South Lake Tahoe', 2783, '96152', '530', '38.9459', '-119.9704', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26110, 'S Lake Tahoe', 2783, '96154', '530', '38.9459', '-119.9704', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26111, 'South Lake Tahoe', 2783, '96154', '530', '38.9459', '-119.9704', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26112, 'Meyers', 2783, '96155', '530', '38.9502', '-120.7902', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26113, 'S Lake Tahoe', 2783, '96155', '530', '38.9502', '-120.7902', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26114, 'South Lake Tahoe', 2783, '96155', '530', '38.9502', '-120.7902', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26115, 'Tahoe Paradise', 2783, '96155', '530', '38.9502', '-120.7902', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26116, 'Stkn', 2783, '95267', '209', '37.9578', '-121.2899', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26117, 'Stockton', 2783, '95267', '209', '37.9578', '-121.2899', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26118, 'Stkn', 2783, '95269', '209', '37.9578', '-121.2899', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26119, 'Stockton', 2783, '95269', '209', '37.9578', '-121.2899', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26120, 'Atwater', 2783, '95301', '209', '37.29314', '-120.645957', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26121, 'El Portal', 2783, '95318', '209', '37.671532', '-119.86481', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26122, 'Empire', 2783, '95319', '209', '37.6414', '-120.9067', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26123, 'Cold Springs', 2783, '95335', '209', '38.196691', '-119.979341', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26124, 'Long Barn', 2783, '95335', '209', '38.196691', '-119.979341', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26125, 'Modesto', 2783, '95350', '209', '37.667655', '-121.014765', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26126, 'Riverbank', 2783, '95367', '209', '37.732714', '-120.947489', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26127, 'Salida', 2783, '95368', '209', '37.71665', '-121.089633', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26128, 'Twain Harte', 2783, '95383', '209', '38.048368', '-120.208711', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26129, 'B H Springs', 2783, '95416', '707', '38.3176', '-122.485', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26130, 'Boyes Hot Spg', 2783, '95416', '707', '38.3176', '-122.485', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26131, 'Boyes Hot Springs', 2783, '95416', '707', '38.3176', '-122.485', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26132, 'Boyes Springs', 2783, '95416', '707', '38.3176', '-122.485', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26133, 'Fetters Hot Springs', 2783, '95416', '707', '38.3176', '-122.485', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26134, 'Finley', 2783, '95435', '707', '39.0027', '-122.8746', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26135, 'Kenwood', 2783, '95452', '707', '38.428506', '-122.535671', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26136, 'Lakeport', 2783, '95453', '707', '39.045837', '-122.966212', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26137, 'Philo', 2783, '95466', '707', '39.085907', '-123.548386', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26138, 'Point Arena', 2783, '95468', '707', '38.91046', '-123.544546', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26139, 'Point Arena Air Force Statio', 2783, '95468', '707', '38.91046', '-123.544546', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26140, 'Upper Lake', 2783, '95485', '707', '39.215998', '-122.920326', '2018-11-29 04:54:08', '2018-11-29 04:54:08'),\n(26141, 'Villa Grande', 2783, '95486', '707', '38.4656', '-123.0353', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26142, 'Eureka', 2783, '95501', '707', '40.799466', '-124.1527', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26143, 'Arcata', 2783, '95518', '707', '40.8668', '-124.083', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26144, 'Korbel', 2783, '95550', '707', '40.737347', '-123.798566', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26145, 'Amador City', 2783, '95601', '209', '38.430698', '-120.838638', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26146, 'Auburn', 2783, '95602', '530', '38.986902', '-121.120194', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26147, 'Dixon', 2783, '95620', '707', '38.395507', '-121.817449', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26148, 'Liberty Farms', 2783, '95620', '707', '38.395507', '-121.817449', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26149, 'Garden Valley', 2783, '95633', '530', '38.853496', '-120.830558', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26150, 'Buffalo Hill', 2783, '95634', '530', '38.917075', '-120.670258', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26151, 'Georgetown', 2783, '95634', '530', '38.917075', '-120.670258', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26152, 'Virner', 2783, '95634', '530', '38.917075', '-120.670258', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26153, 'Volcanoville', 2783, '95634', '530', '38.917075', '-120.670258', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26154, 'Wentworth Springs', 2783, '95634', '530', '38.917075', '-120.670258', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26155, 'Mcclellan', 2783, '95652', '916', '38.664556', '-121.403704', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26156, 'Madison', 2783, '95653', '530', '38.688646', '-121.9821', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26157, 'Thornton', 2783, '95686', '209', '38.188316', '-121.487917', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26158, 'Vacaville', 2783, '95687', '707', '38.350466', '-121.919628', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26159, 'Applegate', 2783, '95703', '530', '38.989185', '-120.993062', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26160, 'Heather Glen', 2783, '95703', '530', '38.989185', '-120.993062', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26161, 'Gold Run', 2783, '95717', '530', '39.158464', '-120.846554', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26162, 'Magra', 2783, '95717', '530', '39.158464', '-120.846554', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26163, 'Kyburz', 2783, '95720', '530', '38.786928', '-120.224934', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26164, 'Silver Fork', 2783, '95720', '530', '38.786928', '-120.224934', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26165, 'Sacramento', 2783, '95835', '916', '38.670652', '-121.525618', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26166, 'Sacramento', 2783, '95837', '916', '38.696054', '-121.596083', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26167, 'Sacramento', 2783, '95852', '916', '38.5817', '-121.4936', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26168, 'Sacramento', 2783, '95853', '916', '38.5817', '-121.4936', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26169, 'Franchise Tax Brd Refunds', 2783, '95867', '916', '38.5817', '-121.4936', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26170, 'Sacramento', 2783, '95867', '916', '38.5817', '-121.4936', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26171, 'Sacramento', 2783, '95887', '916', '38.5817', '-121.4936', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26172, 'Dobbins', 2783, '95935', '530', '39.371828', '-121.207743', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26173, 'Downieville', 2783, '95936', '530', '39.611484', '-120.847559', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26174, 'Dunnigan', 2783, '95937', '530', '38.840418', '-122.078514', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26175, 'Hamilton City', 2783, '95951', '530', '39.7319', '-121.989984', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26176, 'Mills Orchard', 2783, '95951', '530', '39.7319', '-121.989984', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26177, 'Magalia', 2783, '95954', '530', '39.927401', '-121.545711', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26178, 'Nimshew', 2783, '95954', '530', '39.927401', '-121.545711', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26179, 'Paradise Pines', 2783, '95954', '530', '39.927401', '-121.545711', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26180, 'Codora', 2783, '95970', '530', '39.407448', '-122.073103', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26181, 'Princeton', 2783, '95970', '530', '39.407448', '-122.073103', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26182, 'Bucks Lake', 2783, '95971', '530', '39.904605', '-121.018862', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26183, 'East Quincy', 2783, '95971', '530', '39.904605', '-121.018862', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26184, 'Massack', 2783, '95971', '530', '39.904605', '-121.018862', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26185, 'Quincy', 2783, '95971', '530', '39.904605', '-121.018862', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26186, 'Spanish Ranch', 2783, '95971', '530', '39.904605', '-121.018862', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26187, 'Spring Garden', 2783, '95971', '530', '39.904605', '-121.018862', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26188, 'Washington', 2783, '95986', '530', '39.338994', '-120.791136', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26189, 'Leesville', 2783, '95987', '530', '39.099886', '-122.270845', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26190, 'Wilbur Springs', 2783, '95987', '530', '39.099886', '-122.270845', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26191, 'Williams', 2783, '95987', '530', '39.099886', '-122.270845', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26192, 'Central Valley', 2783, '96019', '530', '40.68938', '-122.379513', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26193, 'Central Vly', 2783, '96019', '530', '40.68938', '-122.379513', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26194, 'Shasta Lake', 2783, '96019', '530', '40.68938', '-122.379513', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26195, 'Corning', 2783, '96021', '530', '39.937912', '-122.262277', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26196, 'Greenview', 2783, '96037', '530', '41.527284', '-122.961777', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26197, 'Grenada', 2783, '96038', '530', '41.58584', '-122.540172', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26198, 'Lookout', 2783, '96054', '530', '41.339134', '-120.97489', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26199, 'Nubieber', 2783, '96068', '530', '41.083991', '-121.190777', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26200, 'Old Station', 2783, '96071', '530', '40.592113', '-121.494816', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26201, 'Shasta', 2783, '96087', '530', '40.611449', '-122.499661', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26202, 'Chilcoot', 2783, '96105', '530', '39.809002', '-120.226586', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26203, 'Crystal Springs', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26204, 'Emigrant Trail', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26205, 'Fredricksburg', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26206, 'Hope Valley', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:09', '2018-11-29 04:54:09'),\n(26207, 'Markleeville', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26208, 'Mesa Vista', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26209, 'Woodfords', 2783, '96120', '530', '38.725445', '-119.816989', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26210, 'Wendel', 2783, '96136', '530', '40.37623', '-120.29072', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26211, 'San Jose', 2783, '95109', '408', '37.3355', '-121.8938', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26212, 'San Jose', 2783, '95124', '408', '37.255446', '-121.92535', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26213, 'San Jose', 2783, '95127', '408', '37.373842', '-121.793157', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26214, 'A M O R C', 2783, '95191', '408', '37.3353', '-121.8938', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26215, 'San Jose', 2783, '95191', '408', '37.3353', '-121.8938', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26216, 'Coulterville', 2783, '95311', '209', '37.698238', '-120.104693', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26217, 'Merced', 2783, '95343', '209', '37.3022', '-120.4816', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26218, 'Modesto', 2783, '95358', '209', '37.611695', '-121.108803', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26219, 'Newman', 2783, '95360', '209', '37.280938', '-121.211508', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26220, 'Kenwood', 2783, '95409', '707', '38.45884', '-122.606721', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26221, 'Santa Rosa', 2783, '95409', '707', '38.45884', '-122.606721', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26222, 'Albion', 2783, '95410', '707', '39.208008', '-123.680006', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26223, 'Covelo', 2783, '95428', '707', '39.74068', '-123.1797', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26224, 'Glenhaven', 2783, '95443', '707', '39.029858', '-122.737042', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26225, 'Lucerne', 2783, '95458', '707', '39.065564', '-122.787559', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26226, 'Mendocino', 2783, '95460', '707', '39.318437', '-123.70796', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26227, 'Anderson Springs', 2783, '95461', '707', '38.788978', '-122.591177', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26228, 'Loch Lomond', 2783, '95461', '707', '38.788978', '-122.591177', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26229, 'Middletown', 2783, '95461', '707', '38.788978', '-122.591177', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26230, 'Agua Caliente', 2783, '95476', '707', '38.245511', '-122.462108', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26231, 'Schellville', 2783, '95476', '707', '38.245511', '-122.462108', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26232, 'Sonoma', 2783, '95476', '707', '38.245511', '-122.462108', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26233, 'Yorkville', 2783, '95494', '707', '38.93089', '-123.300184', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26234, 'Redway', 2783, '95560', '707', '40.127109', '-123.876829', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26235, 'Citrus Heights', 2783, '95610', '916', '38.692609', '-121.267626', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26236, 'Citrus Hts', 2783, '95610', '916', '38.692609', '-121.267626', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26237, 'Elmira', 2783, '95625', '707', '38.34906', '-121.903548', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26238, 'Esparto', 2783, '95627', '530', '38.73239', '-122.017728', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26239, 'Fair Oaks', 2783, '95628', '916', '38.64957', '-121.254058', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26240, 'Knights Landing', 2783, '95645', '530', '38.841753', '-121.764116', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26241, 'Knights Lndg', 2783, '95645', '530', '38.841753', '-121.764116', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26242, 'Newcastle', 2783, '95658', '916', '38.874453', '-121.152408', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26243, 'East Nicolaus', 2783, '95659', '530', '38.852065', '-121.564224', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26244, 'Nicolaus', 2783, '95659', '530', '38.852065', '-121.564224', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26245, 'Trowbridge', 2783, '95659', '530', '38.852065', '-121.564224', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26246, 'Verona', 2783, '95659', '530', '38.852065', '-121.564224', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26247, 'Verona Landing', 2783, '95659', '530', '38.852065', '-121.564224', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26248, 'Orangevale', 2783, '95662', '916', '38.684442', '-121.225163', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26249, 'Ovale', 2783, '95662', '916', '38.684442', '-121.225163', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26250, 'Mount Aukum', 2783, '95675', '209', '38.544648', '-120.742725', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26251, 'River Pines', 2783, '95675', '209', '38.544648', '-120.742725', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26252, 'Winters', 2783, '95694', '530', '38.577279', '-122.01084', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26253, 'Chicago Park', 2783, '95712', '530', '39.1737', '-120.932', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26254, 'Elk Grove', 2783, '95759', '916', '38.4086', '-121.3706', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26255, 'El Dorado Hills', 2783, '95762', '916', '38.682678', '-121.075501', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26256, 'El Dorado Hls', 2783, '95762', '916', '38.682678', '-121.075501', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26257, 'Folsom', 2783, '95762', '916', '38.682678', '-121.075501', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26258, 'Sacramento', 2783, '95811', '916', '38.583952', '-121.491028', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26259, 'Sacramento', 2783, '95827', '916', '38.555802', '-121.324214', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26260, 'Sacramento', 2783, '95842', '916', '38.682251', '-121.349353', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26261, 'Sacramento', 2783, '95860', '916', '38.5817', '-121.4936', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26262, 'Alleghany', 2783, '95910', '530', '39.485083', '-120.832582', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26263, 'Forest City', 2783, '95910', '530', '39.485083', '-120.832582', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26264, 'Chico', 2783, '95926', '530', '39.743164', '-121.8397', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26265, 'Chico', 2783, '95927', '530', '39.7289', '-121.8365', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26266, 'Goodyears Bar', 2783, '95944', '530', '39.546138', '-120.803386', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26267, 'Lake Wildwood', 2783, '95946', '530', '39.176326', '-121.204075', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26268, 'Penn Valley', 2783, '95946', '530', '39.176326', '-121.204075', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26269, 'Big Bar', 2783, '96010', '530', '40.807877', '-123.180884', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26270, 'Big Bend', 2783, '96011', '530', '41.053398', '-121.934933', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26271, 'Burney', 2783, '96013', '530', '40.948119', '-121.668416', '2018-11-29 04:54:10', '2018-11-29 04:54:10'),\n(26272, 'Johnson Park', 2783, '96013', '530', '40.948119', '-121.668416', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26273, 'Fall River Mills', 2783, '96028', '530', '41.050936', '-121.49611', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26274, 'Fl River Mls', 2783, '96028', '530', '41.050936', '-121.49611', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26275, 'Platina', 2783, '96076', '530', '40.368185', '-122.929934', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26276, 'Wildwood', 2783, '96076', '530', '40.368185', '-122.929934', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26277, 'Central Valley', 2783, '96079', '530', '40.6814', '-122.3507', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26278, 'Central Vly', 2783, '96079', '530', '40.6814', '-122.3507', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26279, 'Project City', 2783, '96079', '530', '40.6814', '-122.3507', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26280, 'Shasta Lake', 2783, '96079', '530', '40.6814', '-122.3507', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26281, 'Weaverville', 2783, '96093', '530', '40.744019', '-122.954361', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26282, 'Edgewood', 2783, '96094', '530', '41.455464', '-122.45855', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26283, 'Hammond Ranch', 2783, '96094', '530', '41.455464', '-122.45855', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26284, 'Weed', 2783, '96094', '530', '41.455464', '-122.45855', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26285, 'Floriston', 2783, '96111', '530', '39.397254', '-120.05088', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26286, 'Truckee', 2783, '96111', '530', '39.397254', '-120.05088', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26287, 'Standish', 2783, '96128', '530', '40.356891', '-120.383367', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26288, 'San Jose', 2783, '95121', '408', '37.303173', '-121.807734', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26289, 'San Jose', 2783, '95123', '408', '37.240714', '-121.826883', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26290, 'San Jose', 2783, '95128', '408', '37.316284', '-121.936394', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26291, 'San Jose', 2783, '95153', '408', '37.3353', '-121.8938', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26292, 'San Jose', 2783, '95173', '408', '37.3353', '-121.8938', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26293, 'Morada', 2783, '95212', '209', '38.037508', '-121.223506', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26294, 'Stkn', 2783, '95212', '209', '38.037508', '-121.223506', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26295, 'Stockton', 2783, '95212', '209', '38.037508', '-121.223506', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26296, 'Rail Rd Flat', 2783, '95248', '209', '38.3408', '-120.5162', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26297, 'Rail Road Flat', 2783, '95248', '209', '38.3408', '-120.5162', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26298, 'Railroad Flat', 2783, '95248', '209', '38.3408', '-120.5162', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26299, 'Victor', 2783, '95253', '209', '38.1384', '-121.2053', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26300, 'Defense Dist Region', 2783, '95296', '209', '37.9578', '-121.2899', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26301, 'Lyoth', 2783, '95296', '209', '37.9578', '-121.2899', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26302, 'Stockton', 2783, '95296', '209', '37.9578', '-121.2899', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26303, 'Ceres', 2783, '95307', '209', '37.55659', '-120.964058', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26304, 'Keyes', 2783, '95328', '209', '37.557464', '-120.913645', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26305, 'Lathrop', 2783, '95330', '209', '37.811927', '-121.321915', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26306, 'Manteca', 2783, '95337', '209', '37.739595', '-121.243541', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26307, 'Modesto', 2783, '95353', '209', '37.6395', '-120.9956', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26308, 'Modesto', 2783, '95355', '209', '37.672154', '-120.943096', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26309, 'Modesto', 2783, '95357', '209', '37.674075', '-120.892979', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26310, 'Dardanelle', 2783, '95364', '209', '38.343472', '-119.918361', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26311, 'Pinecrest', 2783, '95364', '209', '38.343472', '-119.918361', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26312, 'Turlock', 2783, '95382', '209', '37.527435', '-120.843844', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26313, 'Westley', 2783, '95387', '209', '37.539532', '-121.289166', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26314, 'Santa Rosa', 2783, '95405', '707', '38.438724', '-122.674988', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26315, 'Roseland', 2783, '95407', '707', '38.391664', '-122.751124', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26316, 'Santa Rosa', 2783, '95407', '707', '38.391664', '-122.751124', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26317, 'Annapolis', 2783, '95412', '707', '38.70171', '-123.352096', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26318, 'Clearlake Oaks', 2783, '95423', '707', '39.136454', '-122.6329', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26319, 'Clearlake Oks', 2783, '95423', '707', '39.136454', '-122.6329', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26320, 'Sulphur Bank Rancheria', 2783, '95423', '707', '39.136454', '-122.6329', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26321, 'Guerneville', 2783, '95446', '707', '38.51898', '-123.007902', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26322, 'Guernewood', 2783, '95446', '707', '38.51898', '-123.007902', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26323, 'Lower Lake', 2783, '95457', '707', '38.878292', '-122.557231', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26324, 'Arcata', 2783, '95521', '707', '40.839561', '-124.038436', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26325, 'Manila', 2783, '95521', '707', '40.839561', '-124.038436', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26326, 'Mc Kinleyville', 2783, '95521', '707', '40.839561', '-124.038436', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26327, 'Mckinleyville', 2783, '95521', '707', '40.839561', '-124.038436', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26328, 'Tamarac', 2788, '33319', '954', '26.182712', '-80.229844', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26329, 'Fort Lauderdale', 2788, '33335', '954', '26.1216', '-80.1439', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26330, 'Ft Lauderdale', 2788, '33335', '954', '26.1216', '-80.1439', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26331, 'Plantation', 2788, '33325', '954', '26.112992', '-80.322173', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26332, 'Sunrise', 2788, '33325', '954', '26.112992', '-80.322173', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26333, 'American Express', 2788, '33336', '954', '26.11', '-80.27', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26334, 'Fort Lauderdale', 2788, '33336', '954', '26.11', '-80.27', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26335, 'Ft Lauderdale', 2788, '33336', '954', '26.11', '-80.27', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26336, 'West Palm Bch', 2788, '33402', '561', '26.715', '-80.0537', '2018-11-29 04:54:11', '2018-11-29 04:54:11'),\n(26337, 'West Palm Beach', 2788, '33402', '561', '26.715', '-80.0537', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26338, 'Royal Palm Beach', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26339, 'Royal Plm Bch', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26340, 'Royal Plm Beach', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26341, 'Ryl Palm Bch', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26342, 'Wellington', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26343, 'West Palm Bch', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26344, 'West Palm Beach', 2788, '33411', '561', '26.709696', '-80.202463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26345, 'Boca Raton', 2788, '33429', '561', '26.3583', '-80.0834', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26346, 'Boca Raton', 2788, '33434', '561', '26.381251', '-80.170572', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26347, 'Green Acres', 2788, '33454', '561', '26.6214', '-80.0578', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26348, 'Greenacres', 2788, '33454', '561', '26.6214', '-80.0578', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26349, 'Lake Worth', 2788, '33454', '561', '26.6214', '-80.0578', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26350, 'Jupiter', 2788, '33468', '561', '26.9338', '-80.0944', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26351, 'Brandon', 2788, '33511', '813', '27.899471', '-82.298257', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26352, 'Wesley Chapel', 2788, '33543', '813', '28.205222', '-82.319927', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26353, 'Zephyrhills', 2788, '33543', '813', '28.205222', '-82.319927', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26354, 'Trilby', 2788, '33593', '352', '28.4625', '-82.1951', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26355, 'Tampa', 2788, '33604', '813', '28.01454', '-82.449698', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26356, 'Tampa', 2788, '33609', '813', '27.942685', '-82.523702', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26357, 'Tampa', 2788, '33611', '813', '27.886668', '-82.510692', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26358, 'Palma Ceia', 2788, '33629', '813', '27.921808', '-82.508953', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26359, 'Tampa', 2788, '33629', '813', '27.921808', '-82.508953', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26360, 'Tampa', 2788, '33661', '813', '27.9473', '-82.4588', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26361, 'Time Inc', 2788, '33661', '813', '27.9473', '-82.4588', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26362, 'Tampa', 2788, '33663', '813', '27.9453', '-82.5056', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26363, 'Time Customer Service Inc', 2788, '33663', '813', '27.9453', '-82.5056', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26364, 'Tampa', 2788, '33677', '813', '27.9473', '-82.4588', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26365, 'Tampa', 2788, '33679', '813', '27.9473', '-82.4588', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26366, 'Carrollwood', 2788, '33688', '813', '28.0054', '-82.4877', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26367, 'Tampa', 2788, '33688', '813', '28.0054', '-82.4877', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26368, 'Saint Petersburg', 2788, '33704', '727', '27.796466', '-82.630284', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26369, 'St Petersburg', 2788, '33704', '727', '27.796466', '-82.630284', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26370, 'Saint Petersburg', 2788, '33713', '727', '27.788749', '-82.677464', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26371, 'St Petersburg', 2788, '33713', '727', '27.788749', '-82.677464', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26372, 'Clearwater', 2788, '33763', '727', '28.01203', '-82.746232', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26373, 'Belleair Bch', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26374, 'Belleair Beach', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26375, 'Belleair Shores', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26376, 'Belleair Shrs', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26377, 'Indian Rk Bch', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26378, 'Indian Rks Beach', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26379, 'Indian Rocks Beach', 2788, '33786', '727', '27.923308', '-82.839516', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26380, 'Winter Haven', 2788, '33883', '863', '28.0218', '-81.7332', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26381, 'Winter Hvn', 2788, '33883', '863', '28.0218', '-81.7332', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26382, 'F M', 2788, '33901', '239', '26.623392', '-81.875204', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26383, 'Fmy', 2788, '33901', '239', '26.623392', '-81.875204', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26384, 'Fort Myers', 2788, '33901', '239', '26.623392', '-81.875204', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26385, 'Ft Myers', 2788, '33901', '239', '26.623392', '-81.875204', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26386, 'Cape Coral', 2788, '33914', '239', '26.567517', '-82.018611', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26387, 'Port Charlotte', 2788, '33949', '941', '26.9756', '-82.0909', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26388, 'Pt Charlotte', 2788, '33949', '941', '26.9756', '-82.0909', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26389, 'Punta Gorda', 2788, '33950', '941', '26.912444', '-82.03396', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26390, 'Florida Gulf Coast Univ', 2788, '33965', '239', '26.5929', '-81.8463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26391, 'Fort Myers', 2788, '33965', '239', '26.5929', '-81.8463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26392, 'Ft Myers', 2788, '33965', '239', '26.5929', '-81.8463', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26393, 'Fort Myers', 2788, '33966', '239', '26.579592', '-81.828676', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26394, 'Ft Myers', 2788, '33966', '239', '26.579592', '-81.828676', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26395, 'Port Charlotte', 2788, '33983', '941', '27.000001', '-82.019663', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26396, 'Pt Charlotte', 2788, '33983', '941', '27.000001', '-82.019663', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26397, 'Punta Gorda', 2788, '33983', '941', '27.000001', '-82.019663', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26398, 'Barefoot Bch', 2788, '34134', '239', '26.347548', '-81.844804', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26399, 'Barefoot Beach', 2788, '34134', '239', '26.347548', '-81.844804', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26400, 'Bonita Beach', 2788, '34134', '239', '26.347548', '-81.844804', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26401, 'Bonita Spgs', 2788, '34134', '239', '26.347548', '-81.844804', '2018-11-29 04:54:12', '2018-11-29 04:54:12'),\n(26402, 'Bonita Springs', 2788, '34134', '239', '26.347548', '-81.844804', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26403, 'Bradenton', 2788, '34202', '941', '27.413426', '-82.378182', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26404, 'Lakewood Ranch', 2788, '34202', '941', '27.413426', '-82.378182', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26405, 'Lakewood Rch', 2788, '34202', '941', '27.413426', '-82.378182', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26406, 'Sarasota', 2788, '34234', '941', '27.37041', '-82.536162', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26407, 'Sarasota', 2788, '34235', '941', '27.366469', '-82.476214', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26408, 'Terra Ceia', 2788, '34250', '941', '27.569576', '-82.597136', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26409, 'Terra Ceia Is', 2788, '34250', '941', '27.569576', '-82.597136', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26410, 'Terra Ceia Island', 2788, '34250', '941', '27.569576', '-82.597136', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26411, 'Myakka City', 2788, '34251', '941', '27.372506', '-82.191417', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26412, 'Bradenton', 2788, '34282', '941', '27.4987', '-82.5752', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26413, 'Venice', 2788, '34285', '941', '27.091088', '-82.429966', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26414, 'Citrus Spgs', 2788, '34433', '352', '28.995093', '-82.544934', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26415, 'Citrus Springs', 2788, '34433', '352', '28.995093', '-82.544934', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26416, 'Dunnellon', 2788, '34433', '352', '28.995093', '-82.544934', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26417, 'Citrus Spgs', 2788, '34434', '352', '28.99422', '-82.417716', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26418, 'Citrus Springs', 2788, '34434', '352', '28.99422', '-82.417716', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26419, 'Dunnellon', 2788, '34434', '352', '28.99422', '-82.417716', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26420, 'Inverness', 2788, '34452', '352', '28.77649', '-82.394286', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26421, 'Brooksville', 2788, '34602', '352', '28.512849', '-82.28557', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26422, 'Rolling Acres', 2788, '34602', '352', '28.512849', '-82.28557', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26423, 'New Port Richey', 2788, '34653', '727', '28.24507', '-82.692714', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26424, 'New Prt Rchy', 2788, '34653', '727', '28.24507', '-82.692714', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26425, 'New Pt Richey', 2788, '34653', '727', '28.24507', '-82.692714', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26426, 'Gotha', 2788, '34734', '407', '28.539036', '-81.524682', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26427, 'Wildwood', 2788, '34785', '352', '28.843342', '-82.053307', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26428, 'Windermere', 2788, '34786', '407', '28.480217', '-81.555979', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26429, 'Fort Pierce', 2788, '34951', '772', '27.513946', '-80.418176', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26430, 'Fort Pierce', 2788, '34952', '772', '27.296666', '-80.291752', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26431, 'Port Saint Lucie', 2788, '34952', '772', '27.296666', '-80.291752', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26432, 'Port St Lucie', 2788, '34952', '772', '27.296666', '-80.291752', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26433, 'Fort Pierce', 2788, '34954', '772', '27.4464', '-80.3259', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26434, 'Fort Pierce', 2788, '34985', '772', '27.4464', '-80.3259', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26435, 'Port Saint Lucie', 2788, '34985', '772', '27.4464', '-80.3259', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26436, 'Port St Lucie', 2788, '34985', '772', '27.4464', '-80.3259', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26437, 'Fort Pierce', 2788, '34987', '772', '27.290974', '-80.496789', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26438, 'Port Saint Lucie', 2788, '34987', '772', '27.290974', '-80.496789', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26439, 'Port St Lucie', 2788, '34987', '772', '27.290974', '-80.496789', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26440, 'Saint Lucie West', 2788, '34987', '772', '27.290974', '-80.496789', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26441, 'St Lucie West', 2788, '34987', '772', '27.290974', '-80.496789', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26442, 'Fort Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26443, 'Ft Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26444, 'N Fort Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26445, 'N Ft Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26446, 'No Fort Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26447, 'No Ft Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26448, 'North Fort Myers', 2788, '33903', '239', '26.698105', '-81.937054', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26449, 'Fort Myers', 2788, '33912', '239', '26.550302', '-81.832578', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26450, 'Ft Myers', 2788, '33912', '239', '26.550302', '-81.832578', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26451, 'S Fort Myers', 2788, '33912', '239', '26.550302', '-81.832578', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26452, 'San Carlos Park', 2788, '33912', '239', '26.550302', '-81.832578', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26453, 'Estero', 2788, '33928', '941', '26.405436', '-81.710132', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26454, 'Fort Denaud', 2788, '33935', '863', '26.642046', '-81.345252', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26455, 'Ft Denaud', 2788, '33935', '863', '26.642046', '-81.345252', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26456, 'La Belle', 2788, '33935', '863', '26.642046', '-81.345252', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26457, 'Labelle', 2788, '33935', '863', '26.642046', '-81.345252', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26458, 'Palmdale', 2788, '33944', '863', '26.978814', '-81.301006', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26459, 'Port Charlotte', 2788, '33953', '941', '26.995642', '-82.200752', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26460, 'Pt Charlotte', 2788, '33953', '941', '26.995642', '-82.200752', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26461, 'Venus', 2788, '33960', '863', '27.088654', '-81.365676', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26462, 'Jerome', 2788, '34141', '239', '25.988082', '-81.133', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26463, 'Ochopee', 2788, '34141', '239', '25.988082', '-81.133', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26464, 'Ave Maria', 2788, '34143', '239', '26.4288', '-81.4387', '2018-11-29 04:54:13', '2018-11-29 04:54:13'),\n(26465, 'Immokalee', 2788, '34143', '239', '26.4288', '-81.4387', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26466, 'Bradenton', 2788, '34208', '941', '27.4912', '-82.51116', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26467, 'Samoset', 2788, '34208', '941', '27.4912', '-82.51116', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26468, 'Englewood', 2788, '34224', '941', '26.943286', '-82.298722', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26469, 'Grove City', 2788, '34224', '941', '26.943286', '-82.298722', '2018-11-29 04:54:14', '2018-11-29 04:54:14');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(26470, 'Inglewood', 2788, '34224', '941', '26.943286', '-82.298722', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26471, 'Lakewood Ranch', 2788, '34240', '941', '27.331463', '-82.34187', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26472, 'Lakewood Rch', 2788, '34240', '941', '27.331463', '-82.34187', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26473, 'Sarasota', 2788, '34240', '941', '27.331463', '-82.34187', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26474, 'Sarasota', 2788, '34241', '941', '27.224923', '-82.254726', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26475, 'Sarasota', 2788, '34243', '941', '27.404804', '-82.519154', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26476, 'Nokomis', 2788, '34274', '941', '27.1186', '-82.4447', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26477, 'Sarasota', 2788, '34277', '941', '27.3363', '-82.5308', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26478, 'North Port', 2788, '34291', '941', '27.122444', '-82.225944', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26479, 'Venice', 2788, '34291', '941', '27.122444', '-82.225944', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26480, 'Venice', 2788, '34292', '941', '27.09536', '-82.336919', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26481, 'Venice', 2788, '34293', '941', '27.041813', '-82.350172', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26482, 'Ocala', 2788, '34474', '352', '29.151405', '-82.193334', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26483, 'Ocala', 2788, '34476', '352', '29.079766', '-82.201361', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26484, 'Summerfield', 2788, '34491', '352', '29.003883', '-82.036925', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26485, 'Safety Harbor', 2788, '34695', '727', '28.013464', '-82.692276', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26486, 'Kissimmee', 2788, '34742', '407', '28.2917', '-81.4079', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26487, 'Buena Ventura Lakes', 2788, '34743', '407', '28.326164', '-81.351486', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26488, 'Bvl', 2788, '34743', '407', '28.326164', '-81.351486', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26489, 'Kissimmee', 2788, '34743', '407', '28.326164', '-81.351486', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26490, 'Kissimmee', 2788, '34759', '863', '28.083434', '-81.442665', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26491, 'Poinciana', 2788, '34759', '863', '28.083434', '-81.442665', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26492, 'Ocoee', 2788, '34761', '407', '28.570418', '-81.535782', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26493, 'Fort Pierce', 2788, '34979', '772', '27.4464', '-80.3259', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26494, 'Stuart', 2788, '34995', '561', '27.1974', '-80.2532', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26495, 'Pass A Grille Beach', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26496, 'Saint Pete Beach', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26497, 'Saint Petersburg', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26498, 'St Pete Bch', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26499, 'St Pete Beach', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26500, 'St Petersburg', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26501, 'St Petersburg Beach', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26502, 'Treasure Is', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26503, 'Treasure Island', 2788, '33706', '727', '27.734528', '-82.754323', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26504, 'Gulfport', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26505, 'Pasadena', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26506, 'S Pasadena', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26507, 'Saint Petersburg', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26508, 'South Pasadena', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26509, 'St Pete Beach', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26510, 'St Petersburg', 2788, '33707', '727', '27.753894', '-82.728277', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26511, 'Johns Pass', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26512, 'Madeira Beach', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26513, 'N Redngtn Bch', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26514, 'North Redington Beach', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26515, 'Redingtn Shor', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26516, 'Redington Bch', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26517, 'Redington Beach', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26518, 'Redington Shores', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26519, 'Saint Petersburg', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26520, 'St Petersburg', 2788, '33708', '727', '27.810054', '-82.801894', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26521, 'Saint Petersburg', 2788, '33740', '727', '27.7709', '-82.6795', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26522, 'St Petersburg', 2788, '33740', '727', '27.7709', '-82.6795', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26523, 'Treasure Is', 2788, '33740', '727', '27.7709', '-82.6795', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26524, 'Treasure Island', 2788, '33740', '727', '27.7709', '-82.6795', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26525, 'Clearwater', 2788, '33757', '727', '27.9656', '-82.8006', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26526, 'Clearwater', 2788, '33759', '727', '27.983288', '-82.689934', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26527, 'Largo', 2788, '33773', '727', '27.879865', '-82.750922', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26528, 'Seminole', 2788, '33775', '727', '27.9156', '-82.8065', '2018-11-29 04:54:14', '2018-11-29 04:54:14'),\n(26529, 'Lakeland', 2788, '33806', '863', '28.0429', '-81.9577', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26530, 'Lakeland', 2788, '33809', '863', '28.206535', '-81.967938', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26531, 'Avon Park', 2788, '33826', '863', '27.6023', '-81.5116', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26532, 'Eaton Park', 2788, '33840', '863', '28.0068', '-81.9089', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26533, 'Loughman', 2788, '33858', '863', '28.2358', '-81.5718', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26534, 'Sebring', 2788, '33876', '863', '27.42558', '-81.343204', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26535, 'Fort Myers', 2788, '33907', '239', '26.559056', '-81.873038', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26536, 'Ft Myers', 2788, '33907', '239', '26.559056', '-81.873038', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26537, 'Saint James City', 2788, '33956', '239', '26.552121', '-82.09162', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26538, 'St James City', 2788, '33956', '239', '26.552121', '-82.09162', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26539, 'Cape Coral', 2788, '33991', '239', '26.632738', '-82.017936', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26540, 'Matlacha Isle', 2788, '33991', '239', '26.632738', '-82.017936', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26541, 'Matlacha Isles', 2788, '33991', '239', '26.632738', '-82.017936', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26542, 'Valrico', 2788, '33596', '813', '27.886544', '-82.230442', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26543, 'Tampa', 2788, '33603', '813', '27.985979', '-82.463793', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26544, 'Northdale', 2788, '33626', '813', '28.067196', '-82.613677', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26545, 'Tampa', 2788, '33626', '813', '28.067196', '-82.613677', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26546, 'Westchase', 2788, '33626', '813', '28.067196', '-82.613677', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26547, 'Tampa', 2788, '33635', '813', '28.016174', '-82.611958', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26548, 'Tampa', 2788, '33694', '813', '27.9496', '-82.4543', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26549, 'Saint Petersburg', 2788, '33701', '727', '27.770612', '-82.636238', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26550, 'St Petersburg', 2788, '33701', '727', '27.770612', '-82.636238', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26551, 'Saint Petersburg', 2788, '33703', '727', '27.814576', '-82.622648', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26552, 'St Petersburg', 2788, '33703', '727', '27.814576', '-82.622648', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26553, 'Bay Pines', 2788, '33744', '727', '27.8144', '-82.7784', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26554, 'Clearwater', 2788, '33762', '727', '27.898208', '-82.671348', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26555, 'Clearwater', 2788, '33769', '727', '27.9846', '-82.8248', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26556, 'Readers Digest', 2788, '33769', '727', '27.9846', '-82.8248', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26557, 'Largo', 2788, '33778', '727', '27.88322', '-82.801058', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26558, 'Seminole', 2788, '33778', '727', '27.88322', '-82.801058', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26559, 'Pinellas Park', 2788, '33780', '727', '27.8427', '-82.6999', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26560, 'Gibsonia', 2788, '33805', '863', '28.094722', '-81.945372', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26561, 'Lakeland', 2788, '33805', '863', '28.094722', '-81.945372', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26562, 'Lakeland', 2788, '33810', '863', '28.127336', '-82.015046', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26563, 'Lakeland', 2788, '33812', '863', '27.97743', '-81.886486', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26564, 'Lake Wales', 2788, '33853', '863', '27.84212', '-81.422994', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26565, 'Indian Lake Estates', 2788, '33855', '863', '27.8012', '-81.3374', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26566, 'Indian Lk Est', 2788, '33855', '863', '27.8012', '-81.3374', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26567, 'Lake Wales', 2788, '33855', '863', '27.8012', '-81.3374', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26568, 'Mulberry', 2788, '33860', '863', '27.810426', '-81.986616', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26569, 'Pinecraft', 2788, '34278', '941', '27.3356', '-82.5364', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26570, 'Sarasota', 2788, '34278', '941', '27.3356', '-82.5364', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26571, 'Bradenton', 2788, '34280', '941', '27.4987', '-82.5752', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26572, 'Palma Sola', 2788, '34280', '941', '27.4987', '-82.5752', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26573, 'North Port', 2788, '34287', '941', '27.05246', '-82.242386', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26574, 'Venice', 2788, '34287', '941', '27.05246', '-82.242386', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26575, 'Homosassa', 2788, '34448', '352', '28.778465', '-82.606553', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26576, 'Homosassa Spg', 2788, '34448', '352', '28.778465', '-82.606553', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26577, 'Homosassa Springs', 2788, '34448', '352', '28.778465', '-82.606553', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26578, 'Ocala', 2788, '34473', '352', '29.011095', '-82.19471', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26579, 'Yankeetown', 2788, '34498', '352', '29.026756', '-82.726763', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26580, 'Brooksville', 2788, '34607', '352', '28.505764', '-82.628232', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26581, 'Hernando Bch', 2788, '34607', '352', '28.505764', '-82.628232', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26582, 'Hernando Beach', 2788, '34607', '352', '28.505764', '-82.628232', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26583, 'Spring Hill', 2788, '34607', '352', '28.505764', '-82.628232', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26584, 'Weeki Wachee', 2788, '34607', '352', '28.505764', '-82.628232', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26585, 'Land O Lakes', 2788, '34637', '813', '28.283592', '-82.461176', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26586, 'Port Richey', 2788, '34673', '727', '28.2715', '-82.7198', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26587, 'Elfers', 2788, '34680', '727', '28.2159', '-82.7204', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26588, 'Tarpon Spgs', 2788, '34689', '727', '28.146852', '-82.761878', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26589, 'Tarpon Spngs', 2788, '34689', '727', '28.146852', '-82.761878', '2018-11-29 04:54:15', '2018-11-29 04:54:15'),\n(26590, 'Tarpon Springs', 2788, '34689', '727', '28.146852', '-82.761878', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26591, 'Clermont', 2788, '34714', '352', '28.41523', '-81.787918', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26592, 'South Clermont', 2788, '34714', '352', '28.41523', '-81.787918', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26593, 'Groveland', 2788, '34737', '352', '28.693713', '-81.806032', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26594, 'Golden Gate', 2788, '34116', '239', '26.186278', '-81.711026', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26595, 'Naples', 2788, '34116', '239', '26.186278', '-81.711026', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26596, 'American Express', 2788, '33337', '954', '26.131816', '-80.260707', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26597, 'Fort Lauderdale', 2788, '33337', '954', '26.131816', '-80.260707', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26598, 'Ft Lauderdale', 2788, '33337', '954', '26.131816', '-80.260707', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26599, 'Fort Lauderdale', 2788, '33351', '954', '26.186882', '-80.274688', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26600, 'Ft Lauderdale', 2788, '33351', '954', '26.186882', '-80.274688', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26601, 'Lauderhill', 2788, '33351', '954', '26.186882', '-80.274688', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26602, 'Sunrise', 2788, '33351', '954', '26.186882', '-80.274688', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26603, 'Tamarac', 2788, '33351', '954', '26.186882', '-80.274688', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26604, 'West Palm Bch', 2788, '33401', '561', '26.719692', '-80.069451', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26605, 'West Palm Beach', 2788, '33401', '561', '26.719692', '-80.069451', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26606, 'Lake Park', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26607, 'N Palm Beach', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26608, 'North Palm Beach', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26609, 'Palm Bch Gdns', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26610, 'Palm Beach Gardens', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26611, 'Riviera Beach', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26612, 'W Plm Bch', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26613, 'West Palm Bch', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26614, 'West Palm Beach', 2788, '33403', '561', '26.804388', '-80.074771', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26615, 'Palm Bch Gdns', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26616, 'Palm Beach Gardens', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26617, 'Royal Palm Beach', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26618, 'Royal Plm Bch', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26619, 'Ryl Palm Bch', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26620, 'West Palm Bch', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26621, 'West Palm Beach', 2788, '33412', '561', '26.830085', '-80.212742', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26622, 'Haverhill', 2788, '33417', '561', '26.726277', '-80.132183', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26623, 'West Palm Bch', 2788, '33417', '561', '26.726277', '-80.132183', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26624, 'West Palm Beach', 2788, '33417', '561', '26.726277', '-80.132183', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26625, 'Riviera Beach', 2788, '33419', '561', '26.7753', '-80.0584', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26626, 'West Palm Bch', 2788, '33419', '561', '26.7753', '-80.0584', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26627, 'West Palm Beach', 2788, '33419', '561', '26.7753', '-80.0584', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26628, 'Boca Raton', 2788, '33428', '561', '26.348604', '-80.21901', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26629, 'Boynton Beach', 2788, '33435', '561', '26.524058', '-80.064158', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26630, 'Briny Breezes', 2788, '33435', '561', '26.524058', '-80.064158', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26631, 'Ocean Ridge', 2788, '33435', '561', '26.524058', '-80.064158', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26632, 'Boynton Beach', 2788, '33437', '561', '26.509746', '-80.148071', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26633, 'Delray Beach', 2788, '33444', '561', '26.457057', '-80.079577', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26634, 'Green Acres', 2788, '33467', '561', '26.595016', '-80.175844', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26635, 'Greenacres', 2788, '33467', '561', '26.595016', '-80.175844', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26636, 'Lake Worth', 2788, '33467', '561', '26.595016', '-80.175844', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26637, 'Wellington', 2788, '33467', '561', '26.595016', '-80.175844', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26638, 'Pahokee', 2788, '33476', '561', '26.815472', '-80.629881', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26639, 'Jupiter', 2788, '33478', '561', '26.954231', '-80.219606', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26640, 'Boca Raton', 2788, '33487', '561', '26.408635', '-80.092348', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26641, 'Highland Bch', 2788, '33487', '561', '26.408635', '-80.092348', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26642, 'Highland Beach', 2788, '33487', '561', '26.408635', '-80.092348', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26643, 'Balm', 2788, '33503', '813', '27.753', '-82.2883', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26644, 'Brandon', 2788, '33510', '813', '27.95828', '-82.295234', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26645, 'Wesley Chapel', 2788, '33544', '813', '28.270444', '-82.370737', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26646, 'Zephyrhills', 2788, '33544', '813', '28.270444', '-82.370737', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26647, 'Riverview', 2788, '33569', '813', '27.85347', '-82.282469', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26648, 'San Antonio', 2788, '33576', '352', '28.320804', '-82.310525', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26649, 'Tampa', 2788, '33601', '813', '27.9475', '-82.4588', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26650, 'Tampa', 2788, '33610', '813', '28.001528', '-82.376779', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26651, 'Tampa', 2788, '33612', '813', '28.050914', '-82.45074', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26652, 'Tampa', 2788, '33660', '813', '27.9473', '-82.4588', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26653, 'Time Inc', 2788, '33660', '813', '27.9473', '-82.4588', '2018-11-29 04:54:16', '2018-11-29 04:54:16'),\n(26654, 'Tampa', 2788, '33685', '813', '27.9473', '-82.4588', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26655, 'Saint Petersburg', 2788, '33712', '727', '27.735917', '-82.665496', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26656, 'St Petersburg', 2788, '33712', '727', '27.735917', '-82.665496', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26657, 'Saint Petersburg', 2788, '33737', '727', '27.7484', '-82.7038', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26658, 'St Petersburg', 2788, '33737', '727', '27.7484', '-82.7038', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26659, 'Clearwater', 2788, '33755', '727', '27.979046', '-82.78302', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26660, 'Clearwater', 2788, '33760', '727', '27.900792', '-82.714424', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26661, 'Largo', 2788, '33771', '727', '27.908029', '-82.755291', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26662, 'Belleair Bch', 2788, '33785', '727', '27.873287', '-82.843409', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26663, 'Belleair Beach', 2788, '33785', '727', '27.873287', '-82.843409', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26664, 'Indian Rk Bch', 2788, '33785', '727', '27.873287', '-82.843409', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26665, 'Indian Rks Beach', 2788, '33785', '727', '27.873287', '-82.843409', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26666, 'Indian Rocks Beach', 2788, '33785', '727', '27.873287', '-82.843409', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26667, 'Indian Shores', 2788, '33785', '727', '27.873287', '-82.843409', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26668, 'Lakeland', 2788, '33801', '863', '28.042681', '-81.906626', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26669, 'Davenport', 2788, '33837', '863', '28.193955', '-81.633987', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26670, 'Haines City', 2788, '33844', '863', '28.069822', '-81.568352', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26671, 'Lake Placid', 2788, '33862', '863', '27.3154', '-81.3766', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26672, 'Sebring', 2788, '33871', '863', '27.4954', '-81.4411', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26673, 'Florence Vill', 2788, '33885', '863', '27.9901', '-81.68', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26674, 'Florence Villa', 2788, '33885', '863', '27.9901', '-81.68', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26675, 'Winter Haven', 2788, '33885', '863', '27.9901', '-81.68', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26676, 'Champions Gate', 2788, '33896', '863', '28.265519', '-81.583708', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26677, 'Champions Gt', 2788, '33896', '863', '28.265519', '-81.583708', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26678, 'Davenport', 2788, '33896', '863', '28.265519', '-81.583708', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26679, 'Cape Coral', 2788, '33910', '239', '26.5626', '-81.9499', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26680, 'Cape Coral S', 2788, '33910', '239', '26.5626', '-81.9499', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26681, 'Cape Coral South', 2788, '33910', '239', '26.5626', '-81.9499', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26682, 'Boca Grande', 2788, '33921', '941', '26.694224', '-82.238225', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26683, 'Lehigh', 2788, '33971', '239', '26.648392', '-81.718512', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26684, 'Lehigh Acres', 2788, '33971', '239', '26.648392', '-81.718512', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26685, 'Naples', 2788, '34102', '239', '26.132305', '-81.798729', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26686, 'Naples', 2788, '34104', '239', '26.15308', '-81.73657', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26687, 'Bonita Spgs', 2788, '34136', '941', '26.3319', '-81.7522', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26688, 'Bonita Springs', 2788, '34136', '941', '26.3319', '-81.7522', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26689, 'Bradenton', 2788, '34204', '941', '27.4044', '-82.4667', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26690, 'Palmetto', 2788, '34220', '941', '27.5213', '-82.5728', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26691, 'Sarasota', 2788, '34231', '941', '27.255856', '-82.517414', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26692, 'Sarasota', 2788, '34238', '941', '27.218566', '-82.468255', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26693, 'Tallevast', 2788, '34270', '941', '27.4024', '-82.5427', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26694, 'Bradenton', 2788, '34281', '941', '27.4987', '-82.5752', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26695, 'Trailer Est', 2788, '34281', '941', '27.4987', '-82.5752', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26696, 'Trailer Estates', 2788, '34281', '941', '27.4987', '-82.5752', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26697, 'N Port', 2788, '34288', '941', '27.056545', '-82.124235', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26698, 'No Port', 2788, '34288', '941', '27.056545', '-82.124235', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26699, 'North Port', 2788, '34288', '941', '27.056545', '-82.124235', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26700, 'Northport', 2788, '34288', '941', '27.056545', '-82.124235', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26701, 'Belleview', 2788, '34420', '352', '29.051363', '-82.040487', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26702, 'Crystal River', 2788, '34429', '352', '28.863152', '-82.621451', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26703, 'Homosassa Spg', 2788, '34447', '352', '28.8033', '-82.5763', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26704, 'Homosassa Springs', 2788, '34447', '352', '28.8033', '-82.5763', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26705, 'Beverly Hills', 2788, '34465', '352', '28.928754', '-82.482217', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26706, 'Pine Ridge', 2788, '34465', '352', '28.928754', '-82.482217', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26707, 'Land O Lakes', 2788, '34638', '727', '28.25825', '-82.547342', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26708, 'New Port Richey', 2788, '34656', '727', '28.2437', '-82.7197', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26709, 'New Prt Rchy', 2788, '34656', '727', '28.2437', '-82.7197', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26710, 'New Pt Richey', 2788, '34656', '727', '28.2437', '-82.7197', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26711, 'Hudson', 2788, '34674', '727', '28.3571', '-82.6873', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26712, 'Port Richey', 2788, '34674', '727', '28.3571', '-82.6873', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26713, 'Crystal Beach', 2788, '34681', '727', '28.089343', '-82.777832', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26714, 'Clermont', 2788, '34713', '352', '28.5492', '-81.7734', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26715, 'South Clermont', 2788, '34713', '352', '28.5492', '-81.7734', '2018-11-29 04:54:17', '2018-11-29 04:54:17'),\n(26716, 'Killarney', 2788, '34740', '407', '28.5469', '-81.6506', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26717, 'Oakland', 2788, '34740', '407', '28.5469', '-81.6506', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26718, 'Montverde', 2788, '34756', '407', '28.582029', '-81.680581', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26719, 'Saint Cloud', 2788, '34772', '407', '28.15704', '-81.25345', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26720, 'Howey In Hls', 2788, '34797', '352', '28.751053', '-81.81342', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26721, 'Howey In The Hills', 2788, '34797', '352', '28.751053', '-81.81342', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26722, 'Yalaha', 2788, '34797', '352', '28.751053', '-81.81342', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26723, 'Fort Pierce', 2788, '34947', '772', '27.4434', '-80.388286', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26724, 'Indiantown', 2788, '34956', '561', '27.082025', '-80.635349', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26725, 'Basinger', 2788, '34972', '863', '27.42778', '-80.896975', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26726, 'Okeechobee', 2788, '34972', '863', '27.42778', '-80.896975', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26727, 'Yeehaw', 2788, '34972', '863', '27.42778', '-80.896975', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26728, 'Yeehaw Junction', 2788, '34972', '863', '27.42778', '-80.896975', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26729, 'West Palm Beach', 2788, '33413', '561', '26.66258', '-80.151472', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26730, 'West Palm Bch', 2788, '33416', '561', '26.715', '-80.0537', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26731, 'West Palm Beach', 2788, '33416', '561', '26.715', '-80.0537', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26732, 'Boca Raton', 2788, '33431', '561', '26.378146', '-80.102036', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26733, 'Boca Raton', 2788, '33432', '561', '26.346542', '-80.08339', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26734, 'Delray Beach', 2788, '33446', '561', '26.454256', '-80.189141', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26735, 'W Delray Bch', 2788, '33446', '561', '26.454256', '-80.189141', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26736, 'West Delray Beach', 2788, '33446', '561', '26.454256', '-80.189141', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26737, 'Green Acres', 2788, '33463', '561', '26.595642', '-80.128972', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26738, 'Greenacres', 2788, '33463', '561', '26.595642', '-80.128972', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26739, 'Lake Worth', 2788, '33463', '561', '26.595642', '-80.128972', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26740, 'Boca Raton', 2788, '33464', '561', '26.6156', '-80.0573', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26741, 'National Enquirer', 2788, '33464', '561', '26.6156', '-80.0573', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26742, 'Palm Beach', 2788, '33480', '561', '26.678858', '-80.039237', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26743, 'S Palm Bch', 2788, '33480', '561', '26.678858', '-80.039237', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26744, 'South Palm Beach', 2788, '33480', '561', '26.678858', '-80.039237', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26745, 'Boca Raton', 2788, '33481', '561', '26.3583', '-80.0835', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26746, 'Boca Raton', 2788, '33496', '561', '26.409103', '-80.162687', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26747, 'Boca Raton', 2788, '33498', '561', '26.397396', '-80.227452', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26748, 'Boca Raton', 2788, '33499', '561', '26.3583', '-80.0835', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26749, 'Seta Corporation', 2788, '33499', '561', '26.3583', '-80.0835', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26750, 'Durant', 2788, '33530', '813', '27.9074', '-82.1792', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26751, 'Mango', 2788, '33550', '813', '27.9798', '-82.3085', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26752, 'Wimauma', 2788, '33598', '813', '27.701331', '-82.300026', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26753, 'Tampa', 2788, '33614', '813', '28.004875', '-82.505808', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26754, 'Tampa', 2788, '33631', '813', '27.9473', '-82.4588', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26755, 'Tampa', 2788, '33647', '813', '28.123308', '-82.351912', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26756, 'Tampa Palms', 2788, '33647', '813', '28.123308', '-82.351912', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26757, 'Tampa', 2788, '33664', '813', '27.9453', '-82.5056', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26758, 'Time Cs Brm Unique', 2788, '33664', '813', '27.9453', '-82.5056', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26759, 'Time Customer Service Inc', 2788, '33664', '813', '27.9453', '-82.5056', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26760, 'Time Inc', 2788, '33664', '813', '27.9453', '-82.5056', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26761, 'Saint Petersburg', 2788, '33715', '727', '27.647323', '-82.725692', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26762, 'St Petersburg', 2788, '33715', '727', '27.647323', '-82.725692', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26763, 'Tierra Verde', 2788, '33715', '727', '27.647323', '-82.725692', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26764, 'Lakeland', 2788, '33802', '863', '28.0327', '-81.9518', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26765, 'Babson Park', 2788, '33827', '863', '27.831697', '-81.535966', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26766, 'Frostproof', 2788, '33843', '863', '27.728732', '-81.403172', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26767, 'Lake Wales', 2788, '33854', '863', '27.8566', '-81.4126', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26768, 'Lakeshore', 2788, '33854', '863', '27.8566', '-81.4126', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26769, 'Waverly', 2788, '33877', '863', '27.986171', '-81.621366', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26770, 'Alva', 2788, '33920', '863', '26.721131', '-81.663344', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26771, 'Estero', 2788, '33929', '941', '26.441136', '-81.788474', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26772, 'Cape Haze', 2788, '33947', '941', '26.880925', '-82.269925', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26773, 'Placida', 2788, '33947', '941', '26.880925', '-82.269925', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26774, 'Rotonda West', 2788, '33947', '941', '26.880925', '-82.269925', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26775, 'Ft Charlotte', 2788, '33952', '941', '26.985684', '-82.098558', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26776, 'Port Charlotte', 2788, '33952', '941', '26.985684', '-82.098558', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26777, 'Pt Charlotte', 2788, '33952', '941', '26.985684', '-82.098558', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26778, 'Naples', 2788, '34105', '239', '26.186046', '-81.761076', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26779, 'Naples', 2788, '34112', '239', '26.114606', '-81.743982', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26780, 'Palmetto', 2788, '34221', '941', '27.574568', '-82.549598', '2018-11-29 04:54:18', '2018-11-29 04:54:18'),\n(26781, 'Rubonia', 2788, '34221', '941', '27.574568', '-82.549598', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26782, 'Arcadia', 2788, '34269', '941', '27.111662', '-81.981288', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26783, 'Lake Suzy', 2788, '34269', '941', '27.111662', '-81.981288', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26784, 'Boca Raton', 2788, '33427', '561', '26.3583', '-80.0834', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26785, 'Boynton Beach', 2788, '33436', '561', '26.527764', '-80.110461', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26786, 'Golf', 2788, '33436', '561', '26.527764', '-80.110461', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26787, 'Village Of Golf', 2788, '33436', '561', '26.527764', '-80.110461', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26788, 'Vlg Of Golf', 2788, '33436', '561', '26.527764', '-80.110461', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26789, 'Deerfield Bch', 2788, '33443', '561', '26.3182', '-80.1001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26790, 'Deerfield Beach', 2788, '33443', '561', '26.3182', '-80.1001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26791, 'Lox', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26792, 'Loxahatchee', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26793, 'Loxahatchee Groves', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26794, 'Lxhtchee Grvs', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26795, 'Village Of Wellington', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26796, 'Vlg Wellingtn', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26797, 'Wellington', 2788, '33470', '561', '26.777868', '-80.43183', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26798, 'Brandon', 2788, '33509', '813', '27.9378', '-82.2861', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26799, 'Riverview', 2788, '33568', '813', '27.8494', '-82.3132', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26800, 'Seffner', 2788, '33584', '813', '28.003254', '-82.294413', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26801, 'Carrollwood', 2788, '33618', '813', '28.076922', '-82.497732', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26802, 'Tampa', 2788, '33618', '813', '28.076922', '-82.497732', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26803, 'Tampa', 2788, '33620', '813', '28.061832', '-82.412479', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26804, 'Univ Of S Fl', 2788, '33620', '813', '28.061832', '-82.412479', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26805, 'Univ Of So Florida', 2788, '33620', '813', '28.061832', '-82.412479', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26806, 'University Of South Florida', 2788, '33620', '813', '28.061832', '-82.412479', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26807, 'Usf', 2788, '33620', '813', '28.061832', '-82.412479', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26808, 'Tampa', 2788, '33634', '813', '28.003866', '-82.545317', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26809, 'Time Cs Brm Unique', 2788, '33634', '813', '28.003866', '-82.545317', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26810, 'Tampa', 2788, '33686', '813', '27.9473', '-82.4588', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26811, 'Home Shopping', 2788, '33729', '727', '27.882938', '-82.667247', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26812, 'Saint Petersburg', 2788, '33729', '727', '27.882938', '-82.667247', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26813, 'St Petersburg', 2788, '33729', '727', '27.882938', '-82.667247', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26814, 'Saint Petersburg', 2788, '33743', '727', '27.7709', '-82.6795', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26815, 'St Petersburg', 2788, '33743', '727', '27.7709', '-82.6795', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26816, 'Clearwater', 2788, '33761', '727', '28.029978', '-82.723744', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26817, 'Belleair Blf', 2788, '33770', '727', '27.91632', '-82.802949', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26818, 'Belleair Bluffs', 2788, '33770', '727', '27.91632', '-82.802949', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26819, 'Largo', 2788, '33770', '727', '27.91632', '-82.802949', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26820, 'Lakeland', 2788, '33804', '863', '28.0325', '-81.9558', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26821, 'Alturas', 2788, '33820', '863', '27.8717', '-81.716', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26822, 'Dundee', 2788, '33838', '863', '28.005006', '-81.616662', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26823, 'Nichols', 2788, '33863', '863', '27.8945', '-82.0316', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26824, 'Polk City', 2788, '33868', '863', '28.230451', '-81.809174', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26825, 'Fort Myers', 2788, '33902', '239', '26.6405', '-81.8728', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26826, 'Ft Myers', 2788, '33902', '239', '26.6405', '-81.8728', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26827, 'Cape Coral', 2788, '33904', '239', '26.574237', '-81.943902', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26828, 'Fort Myers', 2788, '33911', '239', '26.6405', '-81.8728', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26829, 'Ft Myers', 2788, '33911', '239', '26.6405', '-81.8728', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26830, 'Fort Myers', 2788, '33913', '239', '26.537276', '-81.683322', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26831, 'Ft Myers', 2788, '33913', '239', '26.537276', '-81.683322', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26832, 'Miromar Lakes', 2788, '33913', '239', '26.537276', '-81.683322', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26833, 'Fort Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26834, 'Ft Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26835, 'N Fort Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26836, 'N Ft Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26837, 'No Fort Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26838, 'North Fort Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26839, 'North Ft Myers', 2788, '33918', '239', '26.5549', '-81.9001', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26840, 'Lehigh', 2788, '33936', '863', '26.60673', '-81.614999', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26841, 'Lehigh Acres', 2788, '33936', '863', '26.60673', '-81.614999', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26842, 'Pineland', 2788, '33945', '941', '26.579571', '-82.210061', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26843, 'Port Charlotte', 2788, '33954', '941', '27.023142', '-82.12543', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26844, 'Pt Charlotte', 2788, '33954', '941', '27.023142', '-82.12543', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26845, 'Lehigh Acres', 2788, '33970', '863', '26.6252', '-81.6251', '2018-11-29 04:54:19', '2018-11-29 04:54:19'),\n(26846, 'Naples', 2788, '34113', '239', '26.037363', '-81.741456', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26847, 'Naples', 2788, '34120', '239', '26.322766', '-81.559226', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26848, 'Chokoloskee', 2788, '34138', '239', '25.836919', '-81.358542', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26849, 'Marco Island', 2788, '34145', '239', '25.93777', '-81.699725', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26850, 'Bradenton', 2788, '34206', '941', '27.4987', '-82.5752', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26851, 'Osprey', 2788, '34229', '941', '27.189292', '-82.484544', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26852, 'N Port', 2788, '34286', '941', '27.099079', '-82.138576', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26853, 'No Port', 2788, '34286', '941', '27.099079', '-82.138576', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26854, 'North Port', 2788, '34286', '941', '27.099079', '-82.138576', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26855, 'Northport', 2788, '34286', '941', '27.099079', '-82.138576', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26856, 'Venice', 2788, '34286', '941', '27.099079', '-82.138576', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26857, 'Englewood', 2788, '34295', '941', '26.9618', '-82.3526', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26858, 'Inglewood', 2788, '34295', '941', '26.9618', '-82.3526', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26859, 'Maricamp', 2788, '34472', '352', '29.124148', '-81.990476', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26860, 'Ocala', 2788, '34472', '352', '29.124148', '-81.990476', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26861, 'Ocala', 2788, '34481', '352', '29.119735', '-82.324701', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26862, 'Silver Spgs', 2788, '34488', '352', '29.219673', '-81.931903', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26863, 'Silver Springs', 2788, '34488', '352', '29.219673', '-81.931903', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26864, 'Brooksville', 2788, '34604', '352', '28.483845', '-82.429676', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26865, 'Masaryktown', 2788, '34604', '352', '28.483845', '-82.429676', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26866, 'Spring Hill', 2788, '34604', '352', '28.483845', '-82.429676', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26867, 'Brooksville', 2788, '34606', '352', '28.477346', '-82.60096', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26868, 'Spring Hill', 2788, '34606', '352', '28.477346', '-82.60096', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26869, 'Weeki Wachee', 2788, '34606', '352', '28.477346', '-82.60096', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26870, 'New Port Richey', 2788, '34654', '727', '28.299046', '-82.625357', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26871, 'New Prt Rchy', 2788, '34654', '727', '28.299046', '-82.625357', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26872, 'New Pt Richey', 2788, '34654', '727', '28.299046', '-82.625357', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26873, 'Tarpon Spgs', 2788, '34688', '727', '28.145195', '-82.691306', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26874, 'Tarpon Spngs', 2788, '34688', '727', '28.145195', '-82.691306', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26875, 'Tarpon Springs', 2788, '34688', '727', '28.145195', '-82.691306', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26876, 'Clermont', 2788, '34715', '352', '28.621672', '-81.740656', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26877, 'Minneola', 2788, '34715', '352', '28.621672', '-81.740656', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26878, 'South Clermont', 2788, '34715', '352', '28.621672', '-81.740656', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26879, 'Fruitland Park', 2788, '34731', '352', '28.875535', '-81.902104', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26880, 'Fruitland Pk', 2788, '34731', '352', '28.875535', '-81.902104', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26881, 'Haines Creek', 2788, '34788', '352', '28.884399', '-81.794694', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26882, 'Leesburg', 2788, '34788', '352', '28.884399', '-81.794694', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26883, 'Fort Pierce', 2788, '34949', '772', '27.467162', '-80.295308', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26884, 'Hutchinson Is', 2788, '34949', '772', '27.467162', '-80.295308', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26885, 'Hutchinson Island', 2788, '34949', '772', '27.467162', '-80.295308', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26886, 'Palm City', 2788, '34990', '561', '27.098008', '-80.319316', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26887, 'Naples', 2788, '34114', '239', '26.00557', '-81.533029', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26888, 'Naples', 2788, '34119', '239', '26.267982', '-81.713744', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26889, 'Marco Island', 2788, '34146', '239', '25.9415', '-81.7199', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26890, 'Braden River', 2788, '34203', '941', '27.438872', '-82.506838', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26891, 'Bradenton', 2788, '34203', '941', '27.438872', '-82.506838', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26892, 'Lakewood Ranch', 2788, '34203', '941', '27.438872', '-82.506838', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26893, 'Lakewood Rch', 2788, '34203', '941', '27.438872', '-82.506838', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26894, 'Bradenton', 2788, '34205', '941', '27.485396', '-82.583414', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26895, 'Cedar Hammock', 2788, '34205', '941', '27.485396', '-82.583414', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26896, 'West Bradenton', 2788, '34205', '941', '27.485396', '-82.583414', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26897, 'Bradenton', 2788, '34212', '941', '27.491738', '-82.399122', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26898, 'Lakewood Ranch', 2788, '34212', '941', '27.491738', '-82.399122', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26899, 'Lakewood Rch', 2788, '34212', '941', '27.491738', '-82.399122', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26900, 'Sarasota', 2788, '34239', '941', '27.311222', '-82.521426', '2018-11-29 04:54:20', '2018-11-29 04:54:20');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(26901, 'Belleview', 2788, '34421', '352', '29.0552', '-82.0626', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26902, 'Dunnellon', 2788, '34430', '352', '29.0187', '-82.4395', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26903, 'Homosassa', 2788, '34446', '352', '28.74943', '-82.513978', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26904, 'Homosassa Spg', 2788, '34446', '352', '28.74943', '-82.513978', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26905, 'Homosassa Springs', 2788, '34446', '352', '28.74943', '-82.513978', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26906, 'Inverness', 2788, '34453', '352', '28.873786', '-82.337995', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26907, 'Beverly Hills', 2788, '34464', '352', '28.9125', '-82.3301', '2018-11-29 04:54:20', '2018-11-29 04:54:20'),\n(26908, 'Ocala', 2788, '34478', '352', '29.1866', '-82.1404', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26909, 'Homosassa', 2788, '34487', '352', '28.7814', '-82.6156', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26910, 'Silver Spgs', 2788, '34489', '352', '29.2166', '-82.0578', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26911, 'Miami', 2788, '33151', '305', '25.7739', '-80.1937', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26912, 'Kendall', 2788, '33176', '305', '25.657725', '-80.358996', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26913, 'Miami', 2788, '33176', '305', '25.657725', '-80.358996', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26914, 'Palmetto Bay', 2788, '33176', '305', '25.657725', '-80.358996', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26915, 'Richmond Heights', 2788, '33176', '305', '25.657725', '-80.358996', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26916, 'Snapper Creek', 2788, '33176', '305', '25.657725', '-80.358996', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26917, 'South Miami', 2788, '33176', '305', '25.657725', '-80.358996', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26918, 'Miami', 2788, '33185', '305', '25.71946', '-80.465004', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26919, 'Olympia Heights', 2788, '33185', '305', '25.71946', '-80.465004', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26920, 'Olympia Hgts', 2788, '33185', '305', '25.71946', '-80.465004', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26921, 'Miami', 2788, '33269', '305', '25.7736', '-80.1937', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26922, 'Bonaventure', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26923, 'Davie', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26924, 'Fort Lauderdale', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26925, 'Ft Lauderdale', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26926, 'P E Chevron Cs', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26927, 'Sunrise', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26928, 'Weston', 2788, '33326', '954', '26.111645', '-80.374021', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26929, 'Deerfield Bch', 2788, '33442', '954', '26.308466', '-80.143286', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26930, 'Deerfield Beach', 2788, '33442', '954', '26.308466', '-80.143286', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26931, 'Atlantis', 2788, '33462', '561', '26.574566', '-80.075928', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26932, 'Hypoluxo', 2788, '33462', '561', '26.574566', '-80.075928', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26933, 'Lake Worth', 2788, '33462', '561', '26.574566', '-80.075928', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26934, 'Lantana', 2788, '33462', '561', '26.574566', '-80.075928', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26935, 'Manalapan', 2788, '33462', '561', '26.574566', '-80.075928', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26936, 'Lacoochee', 2788, '33537', '352', '28.4672', '-82.1736', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26937, 'Zephyrhills', 2788, '33542', '813', '28.233394', '-82.176953', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26938, 'Plant City', 2788, '33567', '813', '27.917755', '-82.124587', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26939, 'Clair Mel', 2788, '33619', '813', '27.919386', '-82.380352', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26940, 'Clair Mel City', 2788, '33619', '813', '27.919386', '-82.380352', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26941, 'Tampa', 2788, '33619', '813', '27.919386', '-82.380352', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26942, 'Tampa', 2788, '33621', '813', '27.84522', '-82.503388', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26943, 'Tampa', 2788, '33637', '813', '28.049979', '-82.363446', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26944, 'Temple Ter', 2788, '33637', '813', '28.049979', '-82.363446', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26945, 'Temple Terr', 2788, '33637', '813', '28.049979', '-82.363446', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26946, 'Temple Terrace', 2788, '33637', '813', '28.049979', '-82.363446', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26947, 'Tampa', 2788, '33646', '813', '27.95', '-82.46', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26948, 'Tampa', 2788, '33662', '813', '27.9473', '-82.4588', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26949, 'Time Inc', 2788, '33662', '813', '27.9473', '-82.4588', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26950, 'Tampa', 2788, '33687', '813', '27.9473', '-82.4588', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26951, 'Temple Ter', 2788, '33687', '813', '27.9473', '-82.4588', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26952, 'Saint Petersburg', 2788, '33710', '727', '27.788998', '-82.728388', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26953, 'St Petersburg', 2788, '33710', '727', '27.788998', '-82.728388', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26954, 'Largo', 2788, '33776', '727', '27.848742', '-82.827965', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26955, 'Seminole', 2788, '33776', '727', '27.848742', '-82.827965', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26956, 'Lakeland', 2788, '33803', '863', '28.015437', '-81.935205', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26957, 'Bartow', 2788, '33830', '863', '27.868661', '-81.807385', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26958, 'Bradley', 2788, '33835', '863', '27.697854', '-81.926055', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26959, 'Highland City', 2788, '33846', '863', '27.9652', '-81.8793', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26960, 'Eloise', 2788, '33880', '863', '27.982552', '-81.770884', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26961, 'Jpv', 2788, '33880', '863', '27.982552', '-81.770884', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26962, 'Wahneta', 2788, '33880', '863', '27.982552', '-81.770884', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26963, 'Winter Haven', 2788, '33880', '863', '27.982552', '-81.770884', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26964, 'Fort Myers', 2788, '33905', '239', '26.669151', '-81.755788', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26965, 'Ft Myers', 2788, '33905', '239', '26.669151', '-81.755788', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26966, 'Tice', 2788, '33905', '239', '26.669151', '-81.755788', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26967, 'Fort Myers', 2788, '33919', '239', '26.558494', '-81.903332', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26968, 'Ft Myers', 2788, '33919', '239', '26.558494', '-81.903332', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26969, 'Felda', 2788, '33930', '863', '26.60466', '-81.472672', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26970, 'Cape Haze', 2788, '33946', '941', '26.832745', '-82.244008', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26971, 'Placida', 2788, '33946', '941', '26.832745', '-82.244008', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26972, 'Punta Gorda', 2788, '33955', '941', '26.824158', '-81.968858', '2018-11-29 04:54:21', '2018-11-29 04:54:21'),\n(26973, 'Port Charlotte', 2788, '33980', '941', '26.980088', '-82.05226', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26974, 'Pt Charlotte', 2788, '33980', '941', '26.980088', '-82.05226', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26975, 'Punta Gorda', 2788, '33980', '941', '26.980088', '-82.05226', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26976, 'E Fort Myers', 2788, '33994', '239', '26.6355', '-81.8675', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26977, 'Fort Myers', 2788, '33994', '239', '26.6355', '-81.8675', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26978, 'Ft Myers', 2788, '33994', '239', '26.6355', '-81.8675', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26979, 'Howey In Hls', 2788, '34737', '352', '28.693713', '-81.806032', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26980, 'Howey In The Hills', 2788, '34737', '352', '28.693713', '-81.806032', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26981, 'Kenansville', 2788, '34739', '407', '27.863212', '-81.103679', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26982, 'Kissimmee', 2788, '34746', '407', '28.242338', '-81.44534', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26983, 'Okahumpka', 2788, '34762', '352', '28.739292', '-81.898226', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26984, 'Oakland', 2788, '34787', '407', '28.477579', '-81.634501', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26985, 'Winter Garden', 2788, '34787', '407', '28.477579', '-81.634501', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26986, 'Fort Pierce', 2788, '34946', '772', '27.511186', '-80.362514', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26987, 'Okeechobee', 2788, '34973', '941', '27.2439', '-80.8302', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26988, 'Sewalls Point', 2788, '34996', '772', '27.207746', '-80.195161', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26989, 'Stuart', 2788, '34996', '772', '27.207746', '-80.195161', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26990, 'Bonita Spgs', 2788, '34135', '941', '26.368316', '-81.732811', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26991, 'Bonita Springs', 2788, '34135', '941', '26.368316', '-81.732811', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26992, 'Braden River', 2788, '34201', '941', '27.406715', '-82.46604', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26993, 'Bradenton', 2788, '34201', '941', '27.406715', '-82.46604', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26994, 'University Park', 2788, '34201', '941', '27.406715', '-82.46604', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26995, 'University Pk', 2788, '34201', '941', '27.406715', '-82.46604', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26996, 'Sarasota', 2788, '34233', '941', '27.283988', '-82.472932', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26997, 'Arcadia', 2788, '34266', '863', '27.187045', '-81.828782', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26998, 'Lake Suzy', 2788, '34266', '863', '27.187045', '-81.828782', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(26999, 'Sidell', 2788, '34266', '863', '27.187045', '-81.828782', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27000, 'Fort Ogden', 2788, '34267', '941', '27.0866', '-81.9786', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27001, 'Ft Ogden', 2788, '34267', '941', '27.0866', '-81.9786', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27002, 'Nocatee', 2788, '34268', '863', '27.159902', '-81.875508', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27003, 'Venice', 2788, '34284', '941', '27.0994', '-82.4545', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27004, 'Floral City', 2788, '34436', '352', '28.730515', '-82.304376', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27005, 'Inverness', 2788, '34451', '352', '28.8356', '-82.3306', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27006, 'Ocala', 2788, '34482', '352', '29.253482', '-82.282214', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27007, 'Ocala', 2788, '34483', '352', '29.1194', '-82.0203', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27008, 'Oxford', 2788, '34484', '352', '28.927335', '-82.083214', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27009, 'Brooksville', 2788, '34601', '352', '28.591662', '-82.349188', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27010, 'Brooksville', 2788, '34603', '352', '28.5666', '-82.3798', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27011, 'New Port Richey', 2788, '34652', '727', '28.239571', '-82.739948', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27012, 'New Prt Rchy', 2788, '34652', '727', '28.239571', '-82.739948', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27013, 'New Pt Richey', 2788, '34652', '727', '28.239571', '-82.739948', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27014, 'Nw Prt Rchy', 2788, '34652', '727', '28.239571', '-82.739948', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27015, 'Bayonet Point', 2788, '34667', '727', '28.38243', '-82.650382', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27016, 'Hudson', 2788, '34667', '727', '28.38243', '-82.650382', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27017, 'Port Richey', 2788, '34667', '727', '28.38243', '-82.650382', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27018, 'Port Richey', 2788, '34668', '727', '28.30475', '-82.705003', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27019, 'Palm Harbor', 2788, '34684', '727', '28.085997', '-82.723632', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27020, 'Naples', 2788, '34101', '239', '26.1418', '-81.795', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27021, 'Naples', 2788, '34117', '239', '26.090887', '-81.515957', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27022, 'Bonita Spgs', 2788, '34133', '941', '26.3319', '-81.7522', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27023, 'Bonita Springs', 2788, '34133', '941', '26.3319', '-81.7522', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27024, 'Cortez', 2788, '34215', '941', '27.472656', '-82.684018', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27025, 'Anna Maria', 2788, '34216', '941', '27.529729', '-82.732549', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27026, 'Bradenton Bch', 2788, '34217', '941', '27.491696', '-82.717821', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27027, 'Bradenton Beach', 2788, '34217', '941', '27.491696', '-82.717821', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27028, 'Holmes Beach', 2788, '34217', '941', '27.491696', '-82.717821', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27029, 'Bradenton Bch', 2788, '34218', '941', '27.4664', '-82.7042', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27030, 'Bradenton Beach', 2788, '34218', '941', '27.4664', '-82.7042', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27031, 'Holmes Beach', 2788, '34218', '941', '27.4664', '-82.7042', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27032, 'Sarasota', 2788, '34232', '941', '27.326204', '-82.472231', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27033, 'Arcadia', 2788, '34265', '863', '27.1978', '-81.8729', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27034, 'Saint Petersburg', 2788, '33716', '727', '27.880442', '-82.631234', '2018-11-29 04:54:22', '2018-11-29 04:54:22'),\n(27035, 'St Petersburg', 2788, '33716', '727', '27.880442', '-82.631234', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27036, 'Saint Petersburg', 2788, '33731', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27037, 'St Petersburg', 2788, '33731', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27038, 'Saint Petersburg', 2788, '33733', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27039, 'St Pete', 2788, '33733', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27040, 'St Petersburg', 2788, '33733', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27041, 'Saint Petersburg', 2788, '33734', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27042, 'St Petersburg', 2788, '33734', '727', '27.7709', '-82.6795', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27043, 'Clearwater', 2788, '33764', '727', '27.919809', '-82.73724', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27044, 'Pinellas Park', 2788, '33781', '727', '27.840702', '-82.716176', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27045, 'Pinellas Park', 2788, '33782', '727', '27.863507', '-82.710014', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27046, 'Bartow', 2788, '33831', '863', '27.8993', '-81.8271', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27047, 'Kathleen', 2788, '33849', '863', '28.215428', '-82.06306', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27048, 'Lake Alfred', 2788, '33850', '863', '28.094226', '-81.722625', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27049, 'Lake Hamilton', 2788, '33851', '863', '28.044185', '-81.626246', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27050, 'Florence Villa', 2788, '33881', '863', '28.066007', '-81.710856', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27051, 'Winter Haven', 2788, '33881', '863', '28.066007', '-81.710856', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27052, 'Winter Haven', 2788, '33882', '863', '28.0218', '-81.7332', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27053, 'Lake Wales', 2788, '33898', '863', '27.9021', '-81.389515', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27054, 'Fort Myers', 2788, '33916', '239', '26.637643', '-81.836143', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27055, 'Ft Myers', 2788, '33916', '239', '26.637643', '-81.836143', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27056, 'Fort Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27057, 'Ft Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27058, 'N Fort Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27059, 'N Ft Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27060, 'No Fort Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27061, 'No Ft Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27062, 'North Fort Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27063, 'North Ft Myers', 2788, '33917', '239', '26.730507', '-81.845898', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27064, 'Fort Myers Beach', 2788, '33931', '239', '26.448023', '-81.925899', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27065, 'Ft Myers Bch', 2788, '33931', '239', '26.448023', '-81.925899', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27066, 'Ft Myers Beach', 2788, '33931', '239', '26.448023', '-81.925899', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27067, 'Fort Myers Beach', 2788, '33932', '239', '26.4514', '-81.9484', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27068, 'Ft Myers Bch', 2788, '33932', '239', '26.4514', '-81.9484', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27069, 'Ft Myers Beach', 2788, '33932', '239', '26.4514', '-81.9484', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27070, 'Port Charlotte', 2788, '33948', '941', '26.971598', '-82.154825', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27071, 'Pt Charlotte', 2788, '33948', '941', '26.971598', '-82.154825', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27072, 'Punta Gorda', 2788, '33951', '941', '26.9294', '-82.0459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27073, 'Port Charlotte', 2788, '33981', '941', '26.930111', '-82.215363', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27074, 'Pt Charlotte', 2788, '33981', '941', '26.930111', '-82.215363', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27075, 'Punta Gorda', 2788, '33982', '941', '26.901981', '-81.791609', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27076, 'Miami', 2788, '33231', '305', '25.7676', '-80.1904', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27077, 'Kendall', 2788, '33296', '305', '25.6789', '-80.3175', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27078, 'Miami', 2788, '33296', '305', '25.6789', '-80.3175', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27079, 'Dania Beach', 2788, '33314', '954', '26.069628', '-80.224512', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27080, 'Davie', 2788, '33314', '954', '26.069628', '-80.224512', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27081, 'Fort Lauderdale', 2788, '33314', '954', '26.069628', '-80.224512', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27082, 'Ft Lauderdale', 2788, '33314', '954', '26.069628', '-80.224512', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27083, 'Davie', 2788, '33332', '954', '26.089989', '-80.416459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27084, 'Fort Lauderdale', 2788, '33332', '954', '26.089989', '-80.416459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27085, 'Ft Lauderdale', 2788, '33332', '954', '26.089989', '-80.416459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27086, 'Southwest Ranches', 2788, '33332', '954', '26.089989', '-80.416459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27087, 'Sw Ranches', 2788, '33332', '954', '26.089989', '-80.416459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27088, 'Weston', 2788, '33332', '954', '26.089989', '-80.416459', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27089, 'Fort Lauderdale', 2788, '33348', '954', '26.1198', '-80.1282', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27090, 'Ft Lauderdale', 2788, '33348', '954', '26.1198', '-80.1282', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27091, 'Belle Glade', 2788, '33430', '561', '26.66642', '-80.663373', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27092, 'Delray Beach', 2788, '33448', '561', '26.4613', '-80.0732', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27093, 'W Delray Bch', 2788, '33448', '561', '26.4613', '-80.0732', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27094, 'West Delray Beach', 2788, '33448', '561', '26.4613', '-80.0732', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27095, 'Lake Worth', 2788, '33449', '561', '26.597547', '-80.238442', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27096, 'Village Of Wellington', 2788, '33449', '561', '26.597547', '-80.238442', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27097, 'Wellington', 2788, '33449', '561', '26.597547', '-80.238442', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27098, 'Lake Worth', 2788, '33465', '561', '26.6156', '-80.0573', '2018-11-29 04:54:23', '2018-11-29 04:54:23'),\n(27099, 'Lantana', 2788, '33465', '561', '26.6156', '-80.0573', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27100, 'Lake Worth', 2788, '33466', '561', '26.6156', '-80.0573', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27101, 'Delray Beach', 2788, '33482', '561', '26.4608', '-80.0797', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27102, 'Delray Beach', 2788, '33483', '561', '26.462875', '-80.063821', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27103, 'Gulf Stream', 2788, '33483', '561', '26.462875', '-80.063821', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27104, 'Center Hill', 2788, '33514', '352', '28.638213', '-82.004467', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27105, 'Centerhill', 2788, '33514', '352', '28.638213', '-82.004467', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27106, 'Lutz', 2788, '33548', '813', '28.142038', '-82.481823', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27107, 'Plant City', 2788, '33563', '813', '28.018279', '-82.13814', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27108, 'Plant City', 2788, '33566', '813', '27.994802', '-82.129572', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27109, 'Tampa', 2788, '33613', '813', '28.091812', '-82.44147', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27110, 'Tampa', 2788, '33616', '813', '27.86402', '-82.530682', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27111, 'Tampa', 2788, '33617', '813', '28.04321', '-82.390212', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27112, 'Temple Ter', 2788, '33617', '813', '28.04321', '-82.390212', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27113, 'Temple Terr', 2788, '33617', '813', '28.04321', '-82.390212', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27114, 'Temple Terrace', 2788, '33617', '813', '28.04321', '-82.390212', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27115, 'Tampa', 2788, '33630', '813', '27.9473', '-82.4588', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27116, 'Business Reply', 2788, '33633', '813', '27.9473', '-82.4588', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27117, 'Tampa', 2788, '33633', '813', '27.9473', '-82.4588', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27118, 'Tampa Brm Unique', 2788, '33633', '813', '27.9473', '-82.4588', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27119, 'Tampa', 2788, '33681', '813', '27.9473', '-82.4588', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27120, 'Tampa', 2788, '33682', '813', '27.9473', '-82.4588', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27121, 'Saint Petersburg', 2788, '33732', '727', '27.7709', '-82.6795', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27122, 'St Petersburg', 2788, '33732', '727', '27.7709', '-82.6795', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27123, 'Saint Petersburg', 2788, '33747', '727', '27.7908', '-82.6887', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27124, 'St Petersburg', 2788, '33747', '727', '27.7908', '-82.6887', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27125, 'Clearwater', 2788, '33766', '727', '27.9656', '-82.8006', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27126, 'Bowling Green', 2788, '33834', '863', '27.553132', '-81.988008', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27127, 'Homeland', 2788, '33847', '863', '27.805282', '-81.841108', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27128, 'Intercession City', 2788, '33848', '407', '28.262616', '-81.505194', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27129, 'Intrcsion Cty', 2788, '33848', '407', '28.262616', '-81.505194', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27130, 'Lake Wales', 2788, '33867', '863', '27.770868', '-81.199551', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27131, 'River Ranch', 2788, '33867', '863', '27.770868', '-81.199551', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27132, 'Cypress Gardens', 2788, '33884', '863', '27.977115', '-81.676568', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27133, 'Cypress Gdns', 2788, '33884', '863', '27.977115', '-81.676568', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27134, 'Winter Haven', 2788, '33884', '863', '27.977115', '-81.676568', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27135, 'Cape Coral', 2788, '33915', '239', '26.5626', '-81.9499', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27136, 'Fort Myers', 2788, '33967', '239', '26.468551', '-81.814248', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27137, 'Ft Myers', 2788, '33967', '239', '26.468551', '-81.814248', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27138, 'S Fort Myers', 2788, '33967', '239', '26.468551', '-81.814248', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27139, 'San Carlos Park', 2788, '33967', '239', '26.468551', '-81.814248', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27140, 'Bal Harbour', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27141, 'Bay Harbor Is', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27142, 'Bay Harbor Islands', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27143, 'Ind Crk Vlg', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27144, 'Indian Creek', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27145, 'Indian Creek Village', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27146, 'Miami', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27147, 'Miami Beach', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27148, 'Surfside', 2788, '33154', '305', '25.896634', '-80.131287', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27149, 'Coral Gables', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27150, 'Gables By The Sea', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27151, 'Kendall', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27152, 'Miami', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27153, 'Pinecrest', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27154, 'Richmond Heights', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27155, 'South Miami', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27156, 'Village Of Pinecrest', 2788, '33156', '305', '25.660595', '-80.292332', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27157, 'Doral', 2788, '33172', '305', '25.789886', '-80.361262', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27158, 'Miami', 2788, '33172', '305', '25.789886', '-80.361262', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27159, 'Sweetwater', 2788, '33172', '305', '25.789886', '-80.361262', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27160, 'West Miami', 2788, '33172', '305', '25.789886', '-80.361262', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27161, 'Davie', 2788, '33324', '954', '26.10902', '-80.27241', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27162, 'Fort Lauderdale', 2788, '33324', '954', '26.10902', '-80.27241', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27163, 'Ft Lauderdale', 2788, '33324', '954', '26.10902', '-80.27241', '2018-11-29 04:54:24', '2018-11-29 04:54:24'),\n(27164, 'Plantation', 2788, '33324', '954', '26.10902', '-80.27241', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27165, 'Royal Palm Beach', 2788, '33421', '561', '26.7132', '-80.0723', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27166, 'Royal Plm Bch', 2788, '33421', '561', '26.7132', '-80.0723', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27167, 'Ryl Palm Bch', 2788, '33421', '561', '26.7132', '-80.0723', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27168, 'Wellington', 2788, '33421', '561', '26.7132', '-80.0723', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27169, 'West Palm Bch', 2788, '33421', '561', '26.7132', '-80.0723', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27170, 'West Palm Beach', 2788, '33421', '561', '26.7132', '-80.0723', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27171, 'Labelle', 2788, '33975', '863', '26.707942', '-81.317586', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27172, 'Leehigh', 2788, '33976', '239', '26.586381', '-81.687654', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27173, 'Leehigh Acres', 2788, '33976', '239', '26.586381', '-81.687654', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27174, 'Lehigh', 2788, '33976', '239', '26.586381', '-81.687654', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27175, 'Lehigh Acres', 2788, '33976', '239', '26.586381', '-81.687654', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27176, 'Cape Coral', 2788, '33993', '239', '26.67495', '-82.042753', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27177, 'Fort Myers', 2788, '33993', '239', '26.67495', '-82.042753', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27178, 'Matlacha', 2788, '33993', '239', '26.67495', '-82.042753', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27179, 'Naples', 2788, '34103', '239', '26.191556', '-81.804294', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27180, 'Copeland', 2788, '34137', '239', '26.028349', '-81.402564', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27181, 'Everglades', 2788, '34139', '239', '25.851994', '-81.378441', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27182, 'Everglades City', 2788, '34139', '239', '25.851994', '-81.378441', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27183, 'Duette', 2788, '34219', '941', '27.558805', '-82.327206', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27184, 'Parrish', 2788, '34219', '941', '27.558805', '-82.327206', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27185, 'Long Boat Key', 2788, '34228', '941', '27.385102', '-82.636254', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27186, 'Longboat Key', 2788, '34228', '941', '27.385102', '-82.636254', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27187, 'Sarasota', 2788, '34230', '941', '27.3364', '-82.5308', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27188, 'Sarasota', 2788, '34237', '941', '27.337582', '-82.514076', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27189, 'Oneco', 2788, '34264', '941', '27.4466', '-82.5467', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27190, 'N Port', 2788, '34289', '941', '27.086994', '-82.13655', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27191, 'No Port', 2788, '34289', '941', '27.086994', '-82.13655', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27192, 'North Port', 2788, '34289', '941', '27.086994', '-82.13655', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27193, 'Northport', 2788, '34289', '941', '27.086994', '-82.13655', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27194, 'Crystal River', 2788, '34423', '352', '28.9023', '-82.5928', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27195, 'Crystal River', 2788, '34428', '352', '28.963213', '-82.654283', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27196, 'Maricamp', 2788, '34471', '352', '29.168302', '-82.096408', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27197, 'Ocala', 2788, '34471', '352', '29.168302', '-82.096408', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27198, 'Maricamp', 2788, '34480', '352', '29.090828', '-82.094999', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27199, 'Ocala', 2788, '34480', '352', '29.090828', '-82.094999', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27200, 'Brooksville', 2788, '34605', '352', '28.5551', '-82.3882', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27201, 'Brooksville', 2788, '34614', '352', '28.616791', '-82.555716', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27202, 'Weeki Wachee', 2788, '34614', '352', '28.616791', '-82.555716', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27203, 'Land O Lakes', 2788, '34639', '813', '28.255106', '-82.411838', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27204, 'Land O\\' Lakes', 2788, '34639', '813', '28.255106', '-82.411838', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27205, 'Palm Harbor', 2788, '34682', '727', '28.0778', '-82.7637', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27206, 'Dunedin', 2788, '34698', '727', '28.040529', '-82.786511', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27207, 'Astatula', 2788, '34705', '352', '28.711321', '-81.720391', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27208, 'Clermont', 2788, '34712', '352', '28.5492', '-81.7734', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27209, 'Leesburg', 2788, '34748', '352', '28.754404', '-81.86266', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27210, 'Harmony', 2788, '34773', '407', '28.135225', '-81.047837', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27211, 'Saint Cloud', 2788, '34773', '407', '28.135225', '-81.047837', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27212, 'Jensen Beach', 2788, '34957', '772', '27.296988', '-80.238806', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27213, 'Ocean Breeze Park', 2788, '34957', '772', '27.296988', '-80.238806', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27214, 'Ocean Brz Pk', 2788, '34957', '772', '27.296988', '-80.238806', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27215, 'Fort Pierce', 2788, '34982', '772', '27.362412', '-80.302116', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27216, 'Palm City', 2788, '34991', '561', '27.2298', '-80.2978', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27217, 'Naples', 2788, '34106', '239', '26.1418', '-81.795', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27218, 'Naples', 2788, '34109', '239', '26.242099', '-81.762694', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27219, 'Naples', 2788, '34110', '239', '26.299119', '-81.78955', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27220, 'Goodland', 2788, '34140', '239', '25.9239', '-81.6464', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27221, 'Ave Maria', 2788, '34142', '239', '26.335794', '-81.231157', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27222, 'Immokalee', 2788, '34142', '239', '26.335794', '-81.231157', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27223, 'Bradenton', 2788, '34209', '941', '27.493626', '-82.644394', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27224, 'Palma Sola', 2788, '34209', '941', '27.493626', '-82.644394', '2018-11-29 04:54:25', '2018-11-29 04:54:25'),\n(27225, 'Bradenton', 2788, '34210', '941', '27.449218', '-82.642741', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27226, 'Manasota', 2788, '34260', '941', '27.4219', '-82.5405', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27227, 'Sarasota', 2788, '34260', '941', '27.4219', '-82.5405', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27228, 'Sarasota', 2788, '34276', '941', '27.3363', '-82.5308', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27229, 'North Port', 2788, '34290', '941', '27.04', '-82.24', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27230, 'Venice', 2788, '34290', '941', '27.04', '-82.24', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27231, 'Hernando', 2788, '34441', '352', '0', '0', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27232, 'Lecanto', 2788, '34460', '352', '28.8305', '-82.494', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27233, 'Ocala', 2788, '34475', '352', '29.261728', '-82.163838', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27234, 'Brooksville', 2788, '34611', '352', '28.5666', '-82.3798', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27235, 'Spring Hill', 2788, '34611', '352', '28.5666', '-82.3798', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27236, 'Oldsmar', 2788, '34677', '813', '28.042768', '-82.679542', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27237, 'Holiday', 2788, '34691', '727', '28.20031', '-82.769283', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27238, 'Tarpon Spgs', 2788, '34691', '727', '28.20031', '-82.769283', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27239, 'Tarpon Spngs', 2788, '34691', '727', '28.20031', '-82.769283', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27240, 'Tarpon Springs', 2788, '34691', '727', '28.20031', '-82.769283', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27241, 'Holiday', 2788, '34692', '727', '28.19', '-82.74', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27242, 'Clermont', 2788, '34711', '352', '28.519622', '-81.748256', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27243, 'Kissimmee', 2788, '34744', '407', '28.28883', '-81.321574', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27244, 'Oakland', 2788, '34760', '407', '28.554024', '-81.633314', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27245, 'Fort Pierce', 2788, '34945', '772', '27.434131', '-80.534101', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27246, 'Port Salerno', 2788, '34992', '772', '27.1438', '-80.2006', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27247, 'Stuart', 2788, '34994', '561', '27.201881', '-80.258428', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27248, 'Weskan', 2796, '67762', '785', '38.915519', '-101.930657', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27249, 'Monument', 2796, '67764', '785', '38.951582', '-101.231794', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27250, 'Russell Spg', 2796, '67764', '785', '38.951582', '-101.231794', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27251, 'Russell Spgs', 2796, '67764', '785', '38.951582', '-101.231794', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27252, 'Russell Springs', 2796, '67764', '785', '38.951582', '-101.231794', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27253, 'Winona', 2796, '67764', '785', '38.951582', '-101.231794', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27254, 'Garden City', 2796, '67846', '620', '38.00073', '-100.794745', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27255, 'Big Bow', 2796, '67855', '620', '37.563274', '-101.689524', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27256, 'Johnson', 2796, '67855', '620', '37.563274', '-101.689524', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27257, 'Manter', 2796, '67862', '620', '37.563806', '-101.947108', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27258, 'Meade', 2796, '67864', '620', '37.238105', '-100.307653', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27259, 'Friend', 2796, '67871', '620', '38.475563', '-100.906378', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27260, 'Scott City', 2796, '67871', '620', '38.475563', '-100.906378', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27261, 'Ulysses', 2796, '67880', '620', '37.562101', '-101.308212', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27262, 'Victory', 2797, '40729', '606', '37.255428', '-84.157974', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27263, 'Lily', 2797, '40740', '606', '37.02322', '-84.045905', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27264, 'London', 2797, '40745', '606', '37.1286', '-84.0834', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27265, 'Siler', 2797, '40763', '606', '36.694552', '-83.96163', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27266, 'Baxter', 2797, '40806', '606', '36.878206', '-83.285829', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27267, 'Keith', 2797, '40806', '606', '36.878206', '-83.285829', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27268, 'Chevrolet', 2797, '40831', '606', '36.769578', '-83.353561', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27269, 'Harlan', 2797, '40831', '606', '36.769578', '-83.353561', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27270, 'Smith', 2797, '40831', '606', '36.769578', '-83.353561', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27271, 'Lejunior', 2797, '40849', '606', '36.884944', '-83.125477', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27272, 'Loyall', 2797, '40854', '606', '36.849258', '-83.354802', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27273, 'Miracle', 2797, '40856', '606', '36.713988', '-83.526129', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27274, 'Putney', 2797, '40865', '606', '36.912589', '-83.235298', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27275, 'Beverly', 2797, '40913', '606', '36.923028', '-83.619258', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27276, 'Red Bird', 2797, '40913', '606', '36.923028', '-83.619258', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27277, 'Heidrick', 2797, '40949', '606', '36.899291', '-83.872275', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27278, 'Oneida', 2797, '40972', '606', '37.283366', '-83.637953', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27279, 'Saul', 2797, '40981', '606', '37.2727', '-83.4956', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27280, 'Stoney Fork', 2797, '40988', '606', '36.866549', '-83.532322', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27281, 'Walker', 2797, '40997', '606', '36.880852', '-83.681358', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27282, 'Covington', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27283, 'Kentonvale', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27284, 'Latonia', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27285, 'Latonia Lakes', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:26', '2018-11-29 04:54:26'),\n(27286, 'Latonia Lks', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27287, 'Rosedale', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27288, 'Ryland', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27289, 'Ryland Heights', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27290, 'Ryland Hght', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27291, 'Ryland Hgts', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27292, 'Taylor Mill', 2797, '41015', '859', '38.982544', '-84.478776', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27293, 'Broadwell', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27294, 'Buena Vista', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27295, 'Colville', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27296, 'Connersville', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27297, 'Cynthiana', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27298, 'Hooktown', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27299, 'Lair', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27300, 'Lees Lick', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27301, 'Leesburg', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27302, 'Morningglory', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27303, 'Oddville', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27304, 'Poindexter', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27305, 'Ruddels Mills', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27306, 'Rutland', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27307, 'Shadynook', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27308, 'Shawhan', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27309, 'Sunrise', 2797, '41031', '859', '38.43018', '-84.278599', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27310, 'Brownings Corner', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27311, 'Falmouth', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27312, 'Four Oaks', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27313, 'Goforth', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27314, 'Lenoxburg', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27315, 'Locust Grove', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27316, 'Mckinneysburg', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27317, 'Morgan', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27318, 'Neave', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27319, 'Pendletn Cnty', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27320, 'Pendleton County', 2797, '41040', '859', '38.655924', '-84.346956', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27321, 'Muses Mills', 2797, '41065', '606', '38.3501', '-83.5274', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27322, 'Newport', 2797, '41072', '859', '39.0916', '-84.4955', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27323, 'Plummers Landing', 2797, '41081', '606', '38.3186', '-83.5612', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27324, 'Plummers Lndg', 2797, '41081', '606', '38.3186', '-83.5612', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27325, 'Plummers Mill', 2797, '41081', '606', '38.3186', '-83.5612', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27326, 'Blaine', 2797, '41124', '606', '38.029048', '-82.865396', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27327, 'Cordell', 2797, '41124', '606', '38.029048', '-82.865396', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27328, 'Wilbur', 2797, '41124', '606', '38.029048', '-82.865396', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27329, 'Firebrick', 2797, '41174', '606', '38.707979', '-83.00708', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27330, 'S Portsmouth', 2797, '41174', '606', '38.707979', '-83.00708', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27331, 'South Portsmouth', 2797, '41174', '606', '38.707979', '-83.00708', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27332, 'Worthington', 2797, '41183', '606', '38.550957', '-82.734762', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27333, 'Nippa', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27334, 'Offutt', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(27335, 'Paintsville', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27336, 'Riceville', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27337, 'Swamp Branch', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27338, 'Thealka', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27339, 'Whitehouse', 2797, '41240', '606', '37.852884', '-82.739043', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27340, 'Hode', 2797, '41267', '606', '37.863128', '-82.438992', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27341, 'Warfield', 2797, '41267', '606', '37.863128', '-82.438992', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27342, 'Wittensville', 2797, '41274', '606', '37.869378', '-82.824087', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27343, 'Lone', 2797, '41347', '606', '37.5302', '-83.6037', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27344, 'Rogers', 2797, '41365', '606', '37.724922', '-83.658788', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27345, 'Rowdy', 2797, '41367', '606', '37.412496', '-83.218355', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27346, 'Zoe', 2797, '41397', '606', '37.661645', '-83.67853', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27347, 'Falcon', 2797, '41426', '606', '37.781594', '-82.999082', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27348, 'Burdine', 2797, '41517', '606', '37.1894', '-82.5995', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27349, 'Fords Branch', 2797, '41526', '606', '37.4331', '-82.5112', '2018-11-29 04:54:27', '2018-11-29 04:54:27'),\n(27350, 'Lookout', 2797, '41542', '606', '37.3133', '-82.4669', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27351, 'Ivel', 2797, '41642', '606', '37.574222', '-82.658554', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27352, 'Minnie', 2797, '41651', '606', '37.466465', '-82.759142', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27353, 'Weeksbury', 2797, '41667', '606', '37.31832', '-82.690858', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27354, 'Bearville', 2797, '41740', '606', '37.34582', '-83.052342', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27355, 'Emmalena', 2797, '41740', '606', '37.34582', '-83.052342', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27356, 'Tina', 2797, '41740', '606', '37.34582', '-83.052342', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27357, 'Farler', 2797, '41774', '606', '37.158744', '-83.122036', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27358, 'Fusonia', 2797, '41774', '606', '37.158744', '-83.122036', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27359, 'Viper', 2797, '41774', '606', '37.158744', '-83.122036', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27360, 'Ermine', 2797, '41815', '606', '37.160523', '-82.798881', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27361, 'Seco', 2797, '41849', '606', '37.171709', '-82.729768', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27362, 'Crown', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27363, 'Day Rural', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27364, 'Democrat', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27365, 'Dongola', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27366, 'Kings Creek', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27367, 'Kona', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27368, 'Oscaloosa', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27369, 'Van', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27370, 'Whitesburg', 2797, '41858', '606', '37.148985', '-82.809978', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27371, 'Hazel', 2797, '42049', '270', '36.536406', '-88.327334', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27372, 'Dogwood', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27373, 'Folsomdale', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27374, 'Hickory', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27375, 'Kaler', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27376, 'Pottsville', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27377, 'Viola', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27378, 'West Viola', 2797, '42051', '270', '36.849084', '-88.641633', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27379, 'Ledbetter', 2797, '42058', '270', '37.053713', '-88.459731', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27380, 'Melber', 2797, '42069', '270', '36.910002', '-88.750764', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27381, 'Bowling Green', 2797, '42101', '270', '37.018244', '-86.463026', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27382, 'Bowling Grn', 2797, '42101', '270', '37.018244', '-86.463026', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27383, 'Hadley', 2797, '42101', '270', '37.018244', '-86.463026', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27384, 'Plum Springs', 2797, '42101', '270', '37.018244', '-86.463026', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27385, 'Richardsville', 2797, '42101', '270', '37.018244', '-86.463026', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27386, 'Franklin', 2797, '42135', '270', '36.7223', '-86.5772', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27387, 'Hestand', 2797, '42151', '270', '36.652144', '-85.567262', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27388, 'Park City', 2797, '42160', '270', '37.06412', '-86.074136', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27389, 'Brownsville', 2797, '42210', '270', '37.230502', '-86.261146', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27390, 'Huff', 2797, '42210', '270', '37.230502', '-86.261146', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27391, 'Lindseyville', 2797, '42210', '270', '37.230502', '-86.261146', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27392, 'Sunfish', 2797, '42210', '270', '37.230502', '-86.261146', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27393, 'Cave Spring', 2797, '42276', '270', '36.87022', '-86.874972', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27394, 'Spottsville', 2797, '42458', '270', '37.860974', '-87.426778', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27395, 'Middleburg', 2797, '42541', '606', '37.383679', '-84.805438', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27396, 'Cecilia', 2797, '42724', '270', '37.670112', '-86.061726', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27397, 'Stephensburg', 2797, '42724', '270', '37.670112', '-86.061726', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27398, 'Vertrees', 2797, '42724', '270', '37.670112', '-86.061726', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27399, 'Glendale', 2797, '42740', '270', '37.58813', '-85.945807', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27400, 'Leitchfield', 2797, '42755', '270', '37.4803', '-86.2937', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27401, 'Seminary', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27402, 'Seventy Six', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27403, 'Snow', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27404, 'Static', 2797, '42602', '606', '36.751734', '-85.121708', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27405, 'Leitchfield', 2797, '42754', '270', '37.493972', '-86.321309', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27406, 'Marrowbone', 2797, '42759', '270', '36.824398', '-85.503352', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27407, 'Cool Springs', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27408, 'Echols', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27409, 'Horton', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27410, 'Nineteen', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:28', '2018-11-29 04:54:28'),\n(27411, 'Prentiss', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27412, 'Render', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27413, 'Schultztown', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27414, 'Taylor Mines', 2797, '42320', '270', '37.353872', '-86.863956', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27415, 'Calhoun', 2797, '42327', '270', '37.584051', '-87.294558', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27416, 'Olaton', 2797, '42361', '270', '37.525822', '-86.694212', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27417, 'Baskett', 2797, '42402', '270', '37.8709', '-87.4626', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27418, 'Manitou', 2797, '42436', '270', '37.417514', '-87.555122', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27419, 'Sturgis', 2797, '42459', '270', '37.558184', '-88.019465', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27420, 'Bronston', 2797, '42518', '606', '36.911768', '-84.637246', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27421, 'E Town', 2797, '42702', '270', '37.697', '-85.8621', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27422, 'Elizabethtown', 2797, '42702', '270', '37.697', '-85.8621', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27423, 'Campbellsville', 2797, '42718', '270', '37.37764', '-85.382518', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27424, 'Campbellsvlle', 2797, '42718', '270', '37.37764', '-85.382518', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27425, 'Finley', 2797, '42718', '270', '37.37764', '-85.382518', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27426, 'White Mills', 2797, '42788', '270', '37.514886', '-86.02637', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27427, 'Summersville', 2797, '42782', '270', '37.341145', '-85.632354', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27428, 'Ruston', 2798, '71273', '318', '32.5233', '-92.6376', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27429, 'Spencer', 2798, '71280', '318', '32.689102', '-92.063759', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27430, 'Sterlington', 2798, '71280', '318', '32.689102', '-92.063759', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27431, 'Ashley', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27432, 'Englewood', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27433, 'Mound', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27434, 'Quimby', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27435, 'Richmond', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27436, 'Tallulah', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27437, 'Thomastown', 2798, '71282', '318', '32.376888', '-91.211482', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27438, 'Alex', 2798, '71307', '318', '31.3113', '-92.4453', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27439, 'Alexandria', 2798, '71307', '318', '31.3113', '-92.4453', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27440, 'Chambers', 2798, '71346', '318', '31.110895', '-92.362726', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27441, 'Chickama', 2798, '71346', '318', '31.110895', '-92.362726', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27442, 'Lamourie', 2798, '71346', '318', '31.110895', '-92.362726', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27443, 'Latanier', 2798, '71346', '318', '31.110895', '-92.362726', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27444, 'Lecompte', 2798, '71346', '318', '31.110895', '-92.362726', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27445, 'Meeker', 2798, '71346', '318', '31.110895', '-92.362726', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27446, 'Fellowship', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27447, 'Little Creek', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27448, 'Searcy', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27449, 'Trout', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27450, 'Whatley Landing', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27451, 'White Sulphur Springs', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27452, 'Zenoria', 2798, '71371', '318', '31.676497', '-92.26045', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27453, 'Kelly', 2798, '71441', '318', '31.957058', '-92.135798', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27454, 'Coopers', 2798, '71446', '337', '31.134288', '-93.180345', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27455, 'Hawthorne', 2798, '71446', '337', '31.134288', '-93.180345', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27456, 'Hicks', 2798, '71446', '337', '31.134288', '-93.180345', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27457, 'Leesville', 2798, '71446', '337', '31.134288', '-93.180345', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27458, 'Pickering', 2798, '71446', '337', '31.134288', '-93.180345', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27459, 'Sandy Hill', 2798, '71446', '337', '31.134288', '-93.180345', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27460, 'Longleaf', 2798, '71448', '318', '31.0067', '-92.5525', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27461, 'Friendship', 2798, '71473', '318', '32.057787', '-92.441547', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27462, 'Hart', 2798, '71473', '318', '32.057787', '-92.441547', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27463, 'Hebron', 2798, '71473', '318', '32.057787', '-92.441547', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27464, 'Hickory Valley', 2798, '71473', '318', '32.057787', '-92.441547', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27465, 'Sikes', 2798, '71473', '318', '32.057787', '-92.441547', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27466, 'Urania', 2798, '71480', '318', '31.859225', '-92.287352', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27467, 'Banks Springs', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27468, 'Bellview', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27469, 'Big Ridge', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27470, 'Brownville', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27471, 'Burroughs', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27472, 'Columbia', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:29', '2018-11-29 04:54:29'),\n(27473, 'Columbia Heights', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27474, 'Copenhagen', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27475, 'Duty Ferry', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27476, 'Eastside', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27477, 'Hearn Island', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27478, 'Hebert', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27479, 'Longlake', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27480, 'Riverton', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27481, 'Vixen', 2798, '71418', '318', '32.113862', '-92.089868', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27482, 'Gorum', 2798, '71434', '318', '31.466105', '-92.94176', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27483, 'Ajax', 2798, '71450', '318', '31.787188', '-93.415298', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27484, 'Bethel', 2798, '71450', '318', '31.787188', '-93.415298', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27485, 'Boline', 2798, '71450', '318', '31.787188', '-93.415298', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27486, 'Little Egypt', 2798, '71450', '318', '31.787188', '-93.415298', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27487, 'Marthaville', 2798, '71450', '318', '31.787188', '-93.415298', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27488, 'Antonia', 2798, '71467', '318', '31.568964', '-92.344576', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27489, 'Breezy Hill', 2798, '71467', '318', '31.568964', '-92.344576', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27490, 'Fishville', 2798, '71467', '318', '31.568964', '-92.344576', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27491, 'Pollock', 2798, '71467', '318', '31.568964', '-92.344576', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27492, 'Simms', 2798, '71467', '318', '31.568964', '-92.344576', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27493, 'Allen', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27494, 'Fort Jessup', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27495, 'Harmony', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27496, 'Robeline', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27497, 'Shamrock', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27498, 'Spanish Lake', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27499, 'Vowells Mill', 2798, '71469', '318', '31.716322', '-93.243771', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27500, 'Zwolle', 2798, '71486', '318', '31.635582', '-93.673939', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27501, 'One American Place', 2798, '70825', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27502, 'Baton Rouge', 2798, '70826', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27503, 'General Mail Facility', 2798, '70826', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27504, 'Gmf', 2798, '70826', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27505, 'Baton Rouge', 2798, '70874', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27506, 'Scotlandville', 2798, '70874', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27507, 'Baton Rouge', 2798, '70891', '225', '30.45', '-91.18', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27508, 'Entergy Corp', 2798, '70891', '225', '30.45', '-91.18', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27509, 'Baton Rouge', 2798, '70892', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27510, 'Baton Rouge', 2798, '70893', '225', '30.4506', '-91.1547', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27511, 'Springhill', 2798, '71075', '318', '32.988234', '-93.482026', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27512, 'Fairgrounds', 2798, '71109', '318', '32.461686', '-93.813188', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27513, 'Flournoy', 2798, '71109', '318', '32.461686', '-93.813188', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27514, 'Shreveport', 2798, '71109', '318', '32.461686', '-93.813188', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27515, 'Shreveport', 2798, '71161', '318', '32.5253', '-93.7501', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27516, 'Monroe', 2798, '71211', '318', '32.5092', '-92.1195', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27517, 'Calhoun', 2798, '71225', '318', '32.500766', '-92.338036', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27518, 'Carlton', 2798, '71225', '318', '32.500766', '-92.338036', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27519, 'Forksville', 2798, '71225', '318', '32.500766', '-92.338036', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27520, 'Indian Village', 2798, '71225', '318', '32.500766', '-92.338036', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27521, 'Chatham', 2798, '71226', '318', '32.256946', '-92.443822', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27522, 'Womack', 2798, '71226', '318', '32.256946', '-92.443822', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27523, 'Extension', 2798, '71243', '318', '31.965276', '-91.810466', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27524, 'Fort Necessity', 2798, '71243', '318', '31.965276', '-91.810466', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27525, 'Ft Necessity', 2798, '71243', '318', '31.965276', '-91.810466', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27526, 'Grambling', 2798, '71245', '318', '32.524527', '-92.723079', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27527, 'Mangham', 2798, '71259', '318', '32.277271', '-91.846294', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27528, 'New Light', 2798, '71259', '318', '32.277271', '-91.846294', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27529, 'Haile', 2798, '71260', '318', '32.879379', '-92.264099', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27530, 'Linville', 2798, '71260', '318', '32.879379', '-92.264099', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27531, 'Litroe', 2798, '71260', '318', '32.879379', '-92.264099', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27532, 'Marion', 2798, '71260', '318', '32.879379', '-92.264099', '2018-11-29 04:54:30', '2018-11-29 04:54:30'),\n(27533, 'Oakland', 2798, '71260', '318', '32.879379', '-92.264099', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27534, 'Montcalm', 2798, '71275', '318', '32.503524', '-92.818286', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27535, 'Simsboro', 2798, '71275', '318', '32.503524', '-92.818286', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27536, 'Bawcomville', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27537, 'Brownsville', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27538, 'Cheniere', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27539, 'Lapine', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27540, 'Luna', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27541, 'Olinkraft', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27542, 'Siegle', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27543, 'West Monroe', 2798, '71292', '318', '32.394659', '-92.227327', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27544, 'Bushes', 2798, '71295', '318', '32.130896', '-91.712577', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27545, 'Liddieville', 2798, '71295', '318', '32.130896', '-91.712577', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27546, 'Swampers', 2798, '71295', '318', '32.130896', '-91.712577', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27547, 'Winnsboro', 2798, '71295', '318', '32.130896', '-91.712577', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27548, 'Blade', 2798, '71342', '318', '31.557234', '-92.165185', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27549, 'Good Pine', 2798, '71342', '318', '31.557234', '-92.165185', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27550, 'Jena', 2798, '71342', '318', '31.557234', '-92.165185', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27551, 'Nebo', 2798, '71342', '318', '31.557234', '-92.165185', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27552, 'Rogers', 2798, '71342', '318', '31.557234', '-92.165185', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27553, 'Routon', 2798, '71342', '318', '31.557234', '-92.165185', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27554, 'Archie', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27555, 'Book', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27556, 'Jonesville', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27557, 'Larto', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27558, 'Lismore', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27559, 'Manifest', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27560, 'Mayna', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27561, 'Parhams', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27562, 'Quaid', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27563, 'Trinity', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27564, 'Utility', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27565, 'Wallace Ridge', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27566, 'Walters', 2798, '71343', '318', '31.496188', '-91.802755', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27567, 'Bayou Petite Prairie', 2798, '71345', '337', '30.72713', '-91.967508', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27568, 'Lebeau', 2798, '71345', '337', '30.72713', '-91.967508', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27569, 'Rosa', 2798, '71345', '337', '30.72713', '-91.967508', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27570, 'Camp Beauregard', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27571, 'Cp Beauregard', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27572, 'Esler', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27573, 'Green Gables', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27574, 'Kingsville', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27575, 'Kolin', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27576, 'Lakeside', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27577, 'Paradise', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27578, 'Pineville', 2798, '71360', '318', '31.290028', '-92.390528', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27579, 'Alfalfa', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27580, 'Boyce', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27581, 'Cotile', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27582, 'Metairie', 2798, '70011', '504', '29.9839', '-90.1526', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27583, 'Gramercy', 2798, '70052', '225', '30.101687', '-90.713926', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27584, 'New Orleans', 2798, '70129', '504', '30.08974', '-89.811925', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27585, 'Navy Reg Data Auto Ctr', 2798, '70145', '504', '29.9545', '-90.0753', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27586, 'New Orleans', 2798, '70145', '504', '29.9545', '-90.0753', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27587, 'New Orleans', 2798, '70152', '504', '29.9545', '-90.0753', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27588, 'New Orleans', 2798, '70170', '504', '29.9587', '-90.0695', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27589, 'Donner', 2798, '70352', '985', '29.6942', '-90.9462', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27590, 'Galliano', 2798, '70354', '985', '29.401282', '-90.285232', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27591, 'Labadieville', 2798, '70372', '985', '29.812332', '-90.960878', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27592, 'Schriever', 2798, '70395', '985', '29.694432', '-90.872624', '2018-11-29 04:54:31', '2018-11-29 04:54:31'),\n(27593, 'Bogalusa', 2798, '70429', '985', '30.7908', '-89.8488', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27594, 'Madisonville', 2798, '70447', '985', '30.348058', '-90.184022', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27595, 'Pearl River', 2798, '70452', '985', '30.440201', '-89.755644', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27596, 'Metairie', 2798, '70005', '504', '30.083764', '-90.126831', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27597, 'Gentilly', 2798, '70122', '504', '30.080803', '-90.060584', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27598, 'New Orleans', 2798, '70122', '504', '30.080803', '-90.060584', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27599, 'New Orleans', 2798, '70124', '504', '30.083768', '-90.098352', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27600, 'Broadmoor', 2798, '70125', '504', '29.953485', '-90.10297', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27601, 'New Orleans', 2798, '70125', '504', '29.953485', '-90.10297', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27602, 'New Orleans', 2798, '70139', '504', '29.9582', '-90.0676', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27603, 'New Orleans', 2798, '70141', '504', '29.9925', '-90.2584', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27604, 'New Orleans', 2798, '70156', '504', '29.9545', '-90.0753', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27605, 'New Orleans', 2798, '70175', '504', '29.9545', '-90.0753', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27606, 'New Orleans', 2798, '70190', '504', '29.9545', '-90.0753', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27607, 'Pierre Part', 2798, '70339', '985', '29.937694', '-91.170954', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27608, 'Amelia', 2798, '70340', '985', '29.6574', '-91.1179', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27609, 'Berwick', 2798, '70342', '985', '29.635193', '-91.173144', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27610, 'Glenwild', 2798, '70342', '985', '29.635193', '-91.173144', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27611, 'Lockport', 2798, '70374', '985', '29.559136', '-90.42645', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27612, 'Mathews', 2798, '70375', '985', '29.677659', '-90.517936', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27613, 'Calumet', 2798, '70392', '985', '29.621636', '-91.333303', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27614, 'Idlewild', 2798, '70392', '985', '29.621636', '-91.333303', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27615, 'Patterson', 2798, '70392', '985', '29.621636', '-91.333303', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27616, 'Husser', 2798, '70442', '985', '30.691714', '-90.339728', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27617, 'Arcola', 2798, '70456', '985', '30.794099', '-90.498408', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27618, 'Roseland', 2798, '70456', '985', '30.794099', '-90.498408', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27619, 'Slidell', 2798, '70459', '985', '30.275', '-89.7811', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27620, 'Lafayette', 2798, '70506', '337', '30.188241', '-92.07598', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27621, 'Lafayette', 2798, '70507', '337', '30.283358', '-92.031265', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27622, 'Lafayette', 2798, '70509', '337', '30.2236', '-92.0198', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27623, 'Crowley', 2798, '70526', '337', '30.235536', '-92.394574', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27624, 'Grand Coteau', 2798, '70541', '337', '30.420054', '-92.049236', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27625, 'Lawtell', 2798, '70550', '337', '30.516253', '-92.18405', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27626, 'Leonville', 2798, '70551', '337', '30.4704', '-91.9786', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27627, 'Parks', 2798, '70582', '337', '30.265387', '-91.645057', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27628, 'Saint Martinville', 2798, '70582', '337', '30.265387', '-91.645057', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27629, 'St Martinvlle', 2798, '70582', '337', '30.265387', '-91.645057', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27630, 'Energy Center', 2798, '70598', '337', '30.2247', '-92.0198', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27631, 'Lafayette', 2798, '70598', '337', '30.2247', '-92.0198', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27632, 'Grand Lake', 2798, '70601', '337', '30.24003', '-93.226983', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27633, 'Lake Charles', 2798, '70601', '337', '30.24003', '-93.226983', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27634, 'Lake Charles', 2798, '70615', '337', '30.253142', '-93.11028', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27635, 'Kinder', 2798, '70648', '337', '30.509384', '-92.926211', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27636, 'Lacassine', 2798, '70650', '337', '30.060311', '-92.927856', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27637, 'Sulphur', 2798, '70665', '337', '30.133411', '-93.442264', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27638, 'Brittany', 2798, '70718', '225', '30.2117', '-90.8816', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27639, 'Fordoche', 2798, '70732', '225', '30.610622', '-91.647852', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27640, 'Jarreau', 2798, '70749', '225', '30.639197', '-91.405857', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27641, 'Baton Rouge', 2798, '70816', '225', '30.42821', '-91.019292', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27642, 'Baton Rouge', 2798, '70817', '225', '30.379332', '-90.971524', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27643, 'Baton Rouge', 2798, '70833', '225', '30.4506', '-91.1547', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27644, 'La Lottery', 2798, '70833', '225', '30.4506', '-91.1547', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27645, 'Louisiana Lottery', 2798, '70833', '225', '30.4506', '-91.1547', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27646, 'Baton Rouge', 2798, '70884', '225', '30.4506', '-91.1547', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27647, 'Commerce Park', 2798, '70884', '225', '30.4506', '-91.1547', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27648, 'Castor', 2798, '71016', '318', '32.259165', '-93.081798', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27649, 'Roy', 2798, '71016', '318', '32.259165', '-93.081798', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27650, 'Armistead', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27651, 'Coushatta', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27652, 'East Point', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27653, 'Edgefield', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27654, 'Gahagan', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:32', '2018-11-29 04:54:32'),\n(27655, 'Hanna', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27656, 'Harmon', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27657, 'Martin', 2798, '71019', '318', '32.051082', '-93.364248', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27658, 'Hall Summit', 2798, '71034', '318', '32.1753', '-93.307923', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27659, 'Elm Grove', 2798, '71051', '318', '32.342082', '-93.497292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27660, 'Loggy Bayou', 2798, '71051', '318', '32.342082', '-93.497292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27661, 'Mcdade', 2798, '71051', '318', '32.342082', '-93.497292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27662, 'Poole', 2798, '71051', '318', '32.342082', '-93.497292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27663, 'Taylortown', 2798, '71051', '318', '32.342082', '-93.497292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27664, 'Lawhon', 2798, '71068', '318', '32.322959', '-93.30878', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27665, 'Ringgold', 2798, '71068', '318', '32.322959', '-93.30878', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27666, 'Woodardville', 2798, '71068', '318', '32.322959', '-93.30878', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27667, 'La Chute', 2798, '71101', '318', '32.507238', '-93.744351', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27668, 'Shreveport', 2798, '71101', '318', '32.507238', '-93.744351', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27669, 'Shreveport', 2798, '71103', '318', '32.491848', '-93.776226', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27670, 'Shreveport', 2798, '71118', '318', '32.388432', '-93.807162', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27671, 'Shreveport', 2798, '71133', '318', '32.5253', '-93.7501', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27672, 'Shreveport', 2798, '71136', '318', '32.5253', '-93.7501', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27673, 'Dowus', 2798, '71153', '318', '32.5253', '-93.7501', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27674, 'Shreveport', 2798, '71153', '318', '32.5253', '-93.7501', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27675, 'Water Department', 2798, '71153', '318', '32.5253', '-93.7501', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27676, 'Shreveport', 2798, '71166', '318', '32.5253', '-93.7501', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27677, 'Alto', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27678, 'Bee Bayou', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27679, 'Crew Lake', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27680, 'Dehlco', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27681, 'Girard', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27682, 'Holly Ridge', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27683, 'Jonesburg', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27684, 'Rayville', 2798, '71269', '318', '32.439523', '-91.807287', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27685, 'Alex', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27686, 'Alexandria', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27687, 'Anandale', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27688, 'Camp Stafford', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27689, 'Castle Village', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27690, 'Chandler Park', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27691, 'Charles Park', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27692, 'Cherokee Village', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27693, 'Martin Park', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27694, 'Moreland', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27695, 'Tanglewood', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27696, 'Timber Trails', 2798, '71301', '318', '31.255722', '-92.474154', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27697, 'Alex', 2798, '71303', '318', '31.278806', '-92.53292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27698, 'Alexandria', 2798, '71303', '318', '31.278806', '-92.53292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27699, 'Magda', 2798, '71303', '318', '31.278806', '-92.53292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27700, 'Roxana', 2798, '71303', '318', '31.278806', '-92.53292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27701, 'Weil', 2798, '71303', '318', '31.278806', '-92.53292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27702, 'Wilshire Park', 2798, '71303', '318', '31.278806', '-92.53292', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27703, 'Bordelonville', 2798, '71320', '318', '31.180565', '-91.771859', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27704, 'Concordia Lake', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27705, 'Delta Garden', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27706, 'Doty Garden', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27707, 'Dunbarton', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27708, 'Ferriday', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27709, 'Frogmore', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27710, 'Lake Saint John', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27711, 'Levee Heights', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27712, 'Levens Addition', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27713, 'Minorca', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27714, 'Panola', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27715, 'Ridgecrest', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27716, 'Spokane', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27717, 'Turtle Lake', 2798, '71334', '318', '31.655254', '-91.594992', '2018-11-29 04:54:33', '2018-11-29 04:54:33'),\n(27718, 'Arabi', 2798, '70032', '504', '29.965632', '-89.989536', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27719, 'Kenner', 2798, '70065', '504', '30.118491', '-90.250284', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27720, 'Jean Lafitte', 2798, '70067', '504', '29.606318', '-90.075454', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27721, 'Lafitte', 2798, '70067', '504', '29.606318', '-90.075454', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27722, 'Paradis', 2798, '70080', '985', '29.872269', '-90.437309', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27723, 'New Orleans', 2798, '70115', '504', '29.926454', '-90.098248', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27724, 'Custom House', 2798, '70116', '504', '29.965815', '-90.065678', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27725, 'New Orleans', 2798, '70116', '504', '29.965815', '-90.065678', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27726, 'Bywater', 2798, '70117', '504', '29.965999', '-90.028489', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27727, 'New Orleans', 2798, '70117', '504', '29.965999', '-90.028489', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27728, 'Lafayette Square', 2798, '70130', '504', '29.938805', '-90.07235', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27729, 'New Orleans', 2798, '70130', '504', '29.938805', '-90.07235', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27730, 'New Orleans', 2798, '70148', '504', '30.030932', '-90.043625', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27731, 'University Of New Orleans', 2798, '70148', '504', '30.030932', '-90.043625', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27732, 'New Orleans', 2798, '70150', '504', '29.9545', '-90.0753', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27733, 'La Power Light', 2798, '70164', '504', '29.9545', '-90.0753', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27734, 'New Orleans', 2798, '70164', '504', '29.9545', '-90.0753', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27735, 'New Orleans', 2798, '70166', '504', '29.9545', '-90.0753', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27736, 'South Central Bell', 2798, '70166', '504', '29.9545', '-90.0753', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27737, 'New Orleans', 2798, '70183', '504', '29.9659', '-90.0646', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27738, 'Morgan City', 2798, '70381', '985', '29.6995', '-91.2064', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27739, 'Bush', 2798, '70431', '985', '30.598448', '-89.92916', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27740, 'Covington', 2798, '70434', '504', '30.4755', '-90.1009', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27741, 'Maurepas', 2798, '70449', '225', '30.260055', '-90.607528', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27742, 'Mount Hermon', 2798, '70450', '985', '30.918209', '-90.270092', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27743, 'Basile', 2798, '70515', '337', '30.450948', '-92.55422', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27744, 'Estherwood', 2798, '70534', '337', '30.171949', '-92.456967', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27745, 'Cankton', 2798, '70584', '337', '30.384261', '-92.09368', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27746, 'Sunset', 2798, '70584', '337', '30.384261', '-92.09368', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27747, 'Turkey Creek', 2798, '70585', '337', '30.870786', '-92.403836', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27748, 'Lake Charles', 2798, '70616', '337', '30.2265', '-93.2175', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27749, 'Dequincy', 2798, '70633', '337', '30.426884', '-93.384609', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27750, 'Agawam', 2799, '01001', '413', '42.065842', '-72.620948', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27751, 'Goshen', 2799, '01032', '413', '42.454455', '-72.826714', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27752, 'Prides Crossing', 2799, '01965', '978', '42.559', '-70.8253', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27753, 'Prides Crssng', 2799, '01965', '978', '42.559', '-70.8253', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27754, 'Dedham', 2799, '02026', '781', '42.244598', '-71.181152', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27755, 'Bolton', 2799, '01740', '978', '42.438164', '-71.60489', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27756, 'Concord', 2799, '01742', '978', '42.460612', '-71.364231', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27757, 'W Concord', 2799, '01742', '978', '42.460612', '-71.364231', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27758, 'West Concord', 2799, '01742', '978', '42.460612', '-71.364231', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27759, 'Southboro', 2799, '01772', '508', '42.296533', '-71.535209', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27760, 'Southborough', 2799, '01772', '508', '42.296533', '-71.535209', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27761, 'Billerica', 2799, '01822', '978', '42.5586', '-71.2695', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27762, 'Chelmsford', 2799, '01824', '978', '42.587771', '-71.35176', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27763, 'Kates Corner', 2799, '01824', '978', '42.587771', '-71.35176', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27764, 'S Chelmsford', 2799, '01824', '978', '42.587771', '-71.35176', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27765, 'Georgetown', 2799, '01833', '978', '42.723822', '-70.97822', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27766, 'Haverhill', 2799, '01833', '978', '42.723822', '-70.97822', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27767, 'Lawrence', 2799, '01840', '978', '42.70594', '-71.159753', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27768, 'New Braintree', 2799, '01531', '508', '42.320452', '-72.129492', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27769, 'Westboro', 2799, '01581', '508', '42.266153', '-71.60922', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27770, 'Westborough', 2799, '01581', '508', '42.266153', '-71.60922', '2018-11-29 04:54:34', '2018-11-29 04:54:34');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(27771, 'Sutton', 2799, '01590', '508', '42.135437', '-71.755846', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27772, 'Wilkinsonvile', 2799, '01590', '508', '42.135437', '-71.755846', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27773, 'Wilkinsonville', 2799, '01590', '508', '42.135437', '-71.755846', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27774, 'Worcester', 2799, '01608', '508', '42.258592', '-71.803034', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27775, 'Worcester', 2799, '01613', '508', '42.2627', '-71.8028', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27776, 'Worcester', 2799, '01615', '508', '42.2627', '-71.8028', '2018-11-29 04:54:34', '2018-11-29 04:54:34'),\n(27777, 'Gardner', 2799, '01440', '978', '42.589966', '-71.986054', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27778, 'W Groton', 2799, '01472', '978', '42.6006', '-71.6302', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27779, 'West Groton', 2799, '01472', '978', '42.6006', '-71.6302', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27780, 'Brookfield', 2799, '01506', '508', '42.194498', '-72.103822', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27781, 'Spfld', 2799, '01104', '413', '42.12954', '-72.569176', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27782, 'Springfield', 2799, '01104', '413', '42.12954', '-72.569176', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27783, 'Lake Pleasant', 2799, '01347', '413', '42.5567', '-72.5186', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27784, 'Millers Falls', 2799, '01349', '413', '42.573938', '-72.484196', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27785, 'Halyoke', 2799, '01040', '413', '42.222692', '-72.640474', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27786, 'Holyoke', 2799, '01040', '413', '42.222692', '-72.640474', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27787, 'Bay State W Tower', 2799, '01115', '413', '42.1015', '-72.5905', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27788, 'Springfield', 2799, '01115', '413', '42.1015', '-72.5905', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27789, 'Glendale', 2799, '01229', '413', '42.2836', '-73.3445', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27790, 'Ludlow', 2799, '01056', '413', '42.192007', '-72.45872', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27791, 'North Hampton', 2799, '01063', '413', '42.31822', '-72.637674', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27792, 'Northampton', 2799, '01063', '413', '42.31822', '-72.637674', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27793, 'Smith College', 2799, '01063', '413', '42.31822', '-72.637674', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27794, 'Plainfield', 2799, '01070', '413', '42.519603', '-72.925186', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27795, 'Wilbraham', 2799, '01095', '413', '42.134675', '-72.432176', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27796, 'Woronoco', 2799, '01097', '413', '42.1594', '-72.8751', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27797, 'Amherst', 2799, '01004', '413', '42.3736', '-72.5209', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27798, 'Chicopee', 2799, '01013', '413', '42.160827', '-72.603375', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27799, 'Willimansett', 2799, '01013', '413', '42.160827', '-72.603375', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27800, 'Gilbertville', 2799, '01031', '413', '42.3611', '-72.20382', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27801, 'Old Furnace', 2799, '01031', '413', '42.3611', '-72.20382', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27802, 'Amherst', 2799, '01003', '413', '42.39115', '-72.524316', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27803, 'Barre', 2799, '01005', '978', '42.420844', '-72.10623', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27804, 'Sheffield', 2799, '01257', '413', '42.10393', '-73.367684', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27805, 'Stockbridge', 2799, '01262', '413', '42.296779', '-73.32588', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27806, 'Lee', 2799, '01264', '413', '42.22651', '-73.197611', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27807, 'Tyringham', 2799, '01264', '413', '42.22651', '-73.197611', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27808, 'Ashfield', 2799, '01330', '413', '42.525896', '-72.80934', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27809, 'South Ashfield', 2799, '01330', '413', '42.525896', '-72.80934', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27810, 'Charlemont', 2799, '01339', '413', '42.63166', '-72.878137', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27811, 'Hawley', 2799, '01339', '413', '42.63166', '-72.878137', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27812, 'West Hawley', 2799, '01339', '413', '42.63166', '-72.878137', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27813, 'Blissville', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27814, 'Eagleville', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27815, 'Lake Mattawa', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27816, 'N Orange', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27817, 'New Salem', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27818, 'North Orange', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27819, 'Orange', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27820, 'Warwick', 2799, '01364', '978', '42.620458', '-72.294444', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27821, 'Alford', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27822, 'Berkshire Heights', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27823, 'Egremont', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27824, 'Great Barrington', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27825, 'Gt Barrington', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27826, 'Hartsville', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27827, 'N Egremont', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27828, 'New Marlboro', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27829, 'New Marlborou', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27830, 'New Marlborough', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27831, 'North Egremont', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27832, 'Risingdale', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27833, 'Simons Rock', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27834, 'Van Deusenville', 2799, '01230', '413', '42.171162', '-73.330261', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27835, 'Monson', 2799, '01057', '413', '42.095536', '-72.312918', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27836, 'Bay State Village', 2799, '01062', '413', '42.330067', '-72.692655', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27837, 'Bay State Vlg', 2799, '01062', '413', '42.330067', '-72.692655', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27838, 'Florence', 2799, '01062', '413', '42.330067', '-72.692655', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27839, 'North Hampton', 2799, '01062', '413', '42.330067', '-72.692655', '2018-11-29 04:54:35', '2018-11-29 04:54:35'),\n(27840, 'Northampton', 2799, '01062', '413', '42.330067', '-72.692655', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27841, 'Russell', 2799, '01071', '413', '42.169224', '-72.854502', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27842, 'Three Rivers', 2799, '01080', '413', '42.178348', '-72.370504', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27843, 'Spfld', 2799, '01199', '413', '42.1015', '-72.5905', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27844, 'Springfield', 2799, '01199', '413', '42.1015', '-72.5905', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27845, 'Lenox', 2799, '01240', '413', '42.366471', '-73.271106', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27846, 'East Leverett', 2799, '01054', '413', '42.475356', '-72.487555', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27847, 'Leverett', 2799, '01054', '413', '42.475356', '-72.487555', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27848, 'North Leverett', 2799, '01054', '413', '42.475356', '-72.487555', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27849, 'Thorndike', 2799, '01079', '413', '42.1968', '-72.3271', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27850, 'Wales', 2799, '01081', '413', '42.061818', '-72.231415', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27851, 'W Springfield', 2799, '01090', '413', '42.1068', '-72.6206', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27852, 'West Springfield', 2799, '01090', '413', '42.1068', '-72.6206', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27853, 'Chicopee', 2799, '01020', '413', '42.17762', '-72.562566', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27854, 'Chicopee', 2799, '01022', '413', '42.195565', '-72.542478', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27855, 'Westover AFB', 2799, '01022', '413', '42.195565', '-72.542478', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27856, 'Delavan', 2803, '56023', '507', '43.768136', '-94.005456', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27857, 'Good Thunder', 2803, '56037', '507', '43.985896', '-94.048309', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27858, 'Janesville', 2803, '56048', '507', '44.072864', '-93.682906', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27859, 'Lake Crystal', 2803, '56055', '507', '44.133714', '-94.240883', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27860, 'Revere', 2803, '56166', '507', '44.210107', '-95.396506', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27861, 'Bratsberg', 2803, '55971', '507', '43.831962', '-91.7556', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27862, 'Hart', 2803, '55971', '507', '43.831962', '-91.7556', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27863, 'Rushford', 2803, '55971', '507', '43.831962', '-91.7556', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27864, 'Rushford Village', 2803, '55971', '507', '43.831962', '-91.7556', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27865, 'Rushford Vlg', 2803, '55971', '507', '43.831962', '-91.7556', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27866, 'South Rushford', 2803, '55971', '507', '43.831962', '-91.7556', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27867, 'Le Center', 2803, '56057', '507', '44.369664', '-93.707252', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27868, 'Madelia', 2803, '56062', '507', '44.036386', '-94.369204', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27869, 'Essig', 2803, '56073', '507', '44.32625', '-94.458232', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27870, 'Klossner', 2803, '56073', '507', '44.32625', '-94.458232', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27871, 'New Ulm', 2803, '56073', '507', '44.32625', '-94.458232', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27872, 'Searles', 2803, '56073', '507', '44.32625', '-94.458232', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27873, 'Kinmount', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27874, 'Leiding', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27875, 'Orr', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27876, 'Portage', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27877, 'Vermilion Dam', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27878, 'Sawyer', 2803, '55780', '218', '46.688601', '-92.693274', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27879, 'Wright', 2803, '55798', '218', '46.722174', '-92.94206', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27880, 'Duluth', 2803, '55807', '218', '46.736185', '-92.173058', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27881, 'West Duluth', 2803, '55807', '218', '46.736185', '-92.173058', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27882, 'Dlth Fed Pris', 2803, '55814', '218', '46.8362', '-92.1974', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27883, 'Duluth', 2803, '55814', '218', '46.8362', '-92.1974', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27884, 'Duluth Federal Prison', 2803, '55814', '218', '46.8362', '-92.1974', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27885, 'Sargeant', 2803, '55973', '507', '43.805034', '-92.749455', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27886, 'Grand Rapids', 2803, '55730', '218', '47.2374', '-93.5301', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27887, 'Brooklyn', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27888, 'Hibbing', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27889, 'Kelly Lake', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27890, 'Kitzville', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27891, 'Lavinia', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27892, 'Leetonia', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27893, 'Little Swan', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27894, 'Lynwood', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27895, 'North Hibbing', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27896, 'Ruby Junction', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27897, 'Silica', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27898, 'Stuntz', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27899, 'Wilpen', 2803, '55746', '218', '47.370391', '-92.875912', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27900, 'Greenway', 2803, '55764', '218', '47.319871', '-93.30412', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27901, 'Marble', 2803, '55764', '218', '47.319871', '-93.30412', '2018-11-29 04:54:36', '2018-11-29 04:54:36'),\n(27902, 'Monticello', 2803, '55580', '763', '45.3059', '-93.7938', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27903, 'Monticello', 2803, '55589', '763', '45.3059', '-93.7938', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27904, 'Loretto', 2803, '55596', '763', '45.0544', '-93.6353', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27905, 'Grand Portage', 2803, '55605', '218', '47.948634', '-89.688018', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27906, 'Lutsen', 2803, '55612', '218', '47.752358', '-90.6452', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27907, 'Aurora', 2803, '55705', '218', '47.4792', '-92.139091', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27908, 'Palo', 2803, '55705', '218', '47.4792', '-92.139091', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27909, 'Pineville', 2803, '55705', '218', '47.4792', '-92.139091', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27910, 'White', 2803, '55705', '218', '47.4792', '-92.139091', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27911, 'Bass Brook', 2803, '55721', '218', '47.251591', '-93.675919', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27912, 'Cohasset', 2803, '55721', '218', '47.251591', '-93.675919', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27913, 'Ash Lake', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27914, 'Buyck', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27915, 'Cusson', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27916, 'Gheen', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27917, 'Glendale', 2803, '55771', '218', '48.157884', '-92.890598', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27918, 'Minneapolis', 2803, '55455', '612', '44.973898', '-93.236376', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27919, 'Macys', 2803, '55478', '612', '44.98', '-93.2638', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27920, 'Minneapolis', 2803, '55478', '612', '44.98', '-93.2638', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27921, 'Minneapolis', 2803, '55480', '612', '44.98', '-93.2638', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27922, 'Belen', 2805, '38609', '662', '34.287588', '-90.37642', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27923, 'Bowman', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27924, 'Cold Water', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27925, 'Coldwater', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27926, 'Cottonville', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27927, 'Evansville', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27928, 'Poagville', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27929, 'Wakefield', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27930, 'Wallhill', 2805, '38618', '662', '34.706454', '-89.972578', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27931, 'Darling', 2805, '38623', '662', '34.34257', '-90.273616', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27932, 'Myrtle', 2805, '38650', '662', '34.51371', '-89.144834', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27933, 'Bethlehem', 2805, '38659', '662', '34.608949', '-89.352428', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27934, 'Cornersville', 2805, '38659', '662', '34.608949', '-89.352428', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27935, 'Lake Center', 2805, '38659', '662', '34.608949', '-89.352428', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27936, 'Lebanon', 2805, '38659', '662', '34.608949', '-89.352428', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27937, 'Potts Camp', 2805, '38659', '662', '34.608949', '-89.352428', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27938, 'Winborn', 2805, '38659', '662', '34.608949', '-89.352428', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27939, 'Barr', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27940, 'Crockett', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27941, 'Looxahoma', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27942, 'New Town', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27943, 'Northwest Junior College', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27944, 'Nw Jr College', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27945, 'Senatobia', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27946, 'Thyatira', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27947, 'Tyro', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27948, 'Wyatte', 2805, '38668', '662', '34.616085', '-89.89817', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27949, 'Benoit', 2805, '38725', '662', '33.656478', '-91.067132', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27950, 'Bolivar', 2805, '38725', '662', '33.656478', '-91.067132', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27951, 'Dahomey', 2805, '38725', '662', '33.656478', '-91.067132', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27952, 'Creighton', 2809, '68729', '402', '42.508152', '-97.886585', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27953, 'Jackson', 2809, '68743', '402', '42.466643', '-96.636143', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27954, 'Niobrara', 2809, '68760', '402', '42.761754', '-98.01536', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27955, 'Verdel', 2809, '68760', '402', '42.761754', '-98.01536', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27956, 'Grattan', 2809, '68763', '402', '42.602266', '-98.603293', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27957, 'O\\' Neill', 2809, '68763', '402', '42.602266', '-98.603293', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27958, 'Oneill', 2809, '68763', '402', '42.602266', '-98.603293', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27959, 'Shields', 2809, '68763', '402', '42.602266', '-98.603293', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27960, 'Willowdale', 2809, '68763', '402', '42.602266', '-98.603293', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27961, 'Alda', 2809, '68810', '308', '40.843728', '-98.44422', '2018-11-29 04:54:37', '2018-11-29 04:54:37'),\n(27962, 'Amherst', 2809, '68812', '308', '40.902344', '-99.292829', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27963, 'Kearney', 2809, '68845', '308', '40.73898', '-99.197949', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27964, 'Odessa', 2809, '68861', '308', '40.706883', '-99.264696', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27965, 'Overton', 2809, '68863', '308', '40.764092', '-99.516768', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27966, 'Harvard', 2809, '68944', '402', '40.633246', '-98.053512', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27967, 'Eaton', 2809, '68945', '308', '40.558292', '-98.780995', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27968, 'Heartwell', 2809, '68945', '308', '40.558292', '-98.780995', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27969, 'Hendley', 2809, '68946', '308', '40.089012', '-99.967554', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27970, 'Farnam', 2809, '69029', '308', '40.743632', '-100.166474', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27971, 'Trenton', 2809, '69044', '308', '40.13351', '-101.041148', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27972, 'Wauneta', 2809, '69045', '308', '40.524514', '-101.443073', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27973, 'Chappell', 2809, '69129', '308', '41.112167', '-102.423535', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27974, 'Cozad', 2809, '69130', '308', '40.87375', '-100.015262', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27975, 'Darr', 2809, '69130', '308', '40.87375', '-100.015262', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27976, 'Lemoyne', 2809, '69146', '308', '41.401688', '-101.823232', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27977, 'Lewellen', 2809, '69147', '308', '41.441112', '-102.055696', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27978, 'Seneca', 2809, '69161', '308', '42.077468', '-100.697977', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27979, 'Cody', 2809, '69211', '402', '42.719347', '-101.385436', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27980, 'Crookston', 2809, '69212', '402', '42.890798', '-100.787491', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27981, 'Johnstown', 2809, '69214', '402', '42.465612', '-100.20469', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27982, 'Harrison', 2809, '69346', '308', '42.501448', '-103.748704', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27983, 'Hay Springs', 2809, '69347', '308', '42.630023', '-102.731912', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27984, 'Scottsbluff', 2809, '69363', '308', '41.8664', '-103.6668', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27985, 'Whiteclay', 2809, '69365', '308', '42.933219', '-102.484478', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27986, 'Bartley', 2809, '69020', '308', '40.262597', '-100.256507', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27987, 'Benkelman', 2809, '69021', '308', '40.176516', '-101.550605', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27988, 'Doane', 2809, '69021', '308', '40.176516', '-101.550605', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27989, 'Lebanon', 2809, '69036', '308', '40.088692', '-100.250176', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27990, 'Arnold', 2809, '69120', '308', '41.530412', '-100.15697', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27991, 'Cliff', 2809, '69120', '308', '41.530412', '-100.15697', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27992, 'Bucktail', 2809, '69155', '308', '41.199096', '-101.403949', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27993, 'Paxton', 2809, '69155', '308', '41.199096', '-101.403949', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27994, 'Sarben', 2809, '69155', '308', '41.199096', '-101.403949', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27995, 'Thune', 2809, '69155', '308', '41.199096', '-101.403949', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27996, 'Wallace', 2809, '69169', '308', '40.848916', '-101.180586', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27997, 'Wellfleet', 2809, '69170', '308', '40.815593', '-100.744765', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27998, 'Sparks', 2809, '69220', '402', '42.923099', '-100.277436', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(27999, 'Crawford', 2809, '69339', '308', '42.735476', '-103.400628', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28000, 'Fort Robinson', 2809, '69339', '308', '42.735476', '-103.400628', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28001, 'Glen', 2809, '69339', '308', '42.735476', '-103.400628', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28002, 'Minatare', 2809, '69356', '308', '41.887236', '-103.467242', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28003, 'Bellevue', 2809, '68005', '402', '41.122968', '-95.890562', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28004, 'Macy', 2809, '68039', '402', '42.118725', '-96.336071', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28005, 'Plattsmouth', 2809, '68048', '402', '40.96935', '-95.949839', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28006, 'Omaha', 2809, '68107', '402', '41.211264', '-95.950603', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28007, 'Florence', 2809, '68112', '402', '41.372998', '-95.956517', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28008, 'Omaha', 2809, '68112', '402', '41.372998', '-95.956517', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28009, 'Omaha', 2809, '68137', '402', '41.207176', '-96.119824', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28010, 'Omaha', 2809, '68155', '402', '41.2829', '-96.0094', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28011, 'Bellevue', 2809, '68157', '402', '41.176208', '-96.000278', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28012, 'Omaha', 2809, '68157', '402', '41.176208', '-96.000278', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28013, 'Papillion', 2809, '68157', '402', '41.176208', '-96.000278', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28014, 'Omaha', 2809, '68164', '402', '41.301358', '-96.110077', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28015, 'Benedict', 2809, '68316', '402', '41.01016', '-97.59747', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28016, 'Cordova', 2809, '68330', '402', '40.727805', '-97.349236', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28017, 'Elk Creek', 2809, '68348', '402', '40.305574', '-96.151514', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28018, 'Filley', 2809, '68357', '402', '40.312918', '-96.558', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28019, 'Lewiston', 2809, '68380', '402', '40.218873', '-96.406956', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28020, 'Ohiowa', 2809, '68416', '402', '40.408509', '-97.425592', '2018-11-29 04:54:38', '2018-11-29 04:54:38'),\n(28021, 'Steinauer', 2809, '68441', '402', '40.218671', '-96.236696', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28022, 'Talmage', 2809, '68448', '402', '40.56653', '-96.009694', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28023, 'Sicily', 2809, '68466', '402', '40.066574', '-96.643254', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28024, 'Wymore', 2809, '68466', '402', '40.066574', '-96.643254', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28025, 'Lincoln', 2809, '68507', '402', '40.863626', '-96.612999', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28026, 'Lincoln', 2809, '68523', '402', '40.735864', '-96.758671', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28027, 'Rokeby', 2809, '68523', '402', '40.735864', '-96.758671', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28028, 'Lincoln', 2809, '68532', '402', '40.792027', '-96.853539', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28029, 'David City', 2809, '68632', '402', '41.265781', '-97.13875', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28030, 'Garrison', 2809, '68632', '402', '41.265781', '-97.13875', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28031, 'Octavia', 2809, '68632', '402', '41.265781', '-97.13875', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28032, 'Morse Bluff', 2809, '68648', '402', '41.401978', '-96.820264', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28033, 'Primrose', 2809, '68655', '308', '41.639802', '-98.233778', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28034, 'Bassett', 2809, '68714', '402', '42.429357', '-99.455908', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28035, 'Rose', 2809, '68714', '402', '42.429357', '-99.455908', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28036, 'Emmet', 2809, '68734', '402', '42.436392', '-98.83074', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28037, 'Newport', 2809, '68759', '402', '42.61929', '-99.33785', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28038, 'Wakefield', 2809, '68784', '402', '42.249928', '-96.900862', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28039, 'Winnetoon', 2809, '68789', '402', '42.52452', '-98.013703', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28040, 'Archer', 2809, '68816', '308', '41.169636', '-98.126312', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28041, 'Midland', 2809, '68816', '308', '41.169636', '-98.126312', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28042, 'Lexington', 2809, '68850', '308', '40.847667', '-99.73027', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28043, 'Deweese', 2809, '68934', '402', '40.393938', '-98.184168', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28044, 'Spring Ranch', 2809, '68934', '402', '40.393938', '-98.184168', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28045, 'Ash Grove', 2809, '68939', '308', '40.176056', '-98.900618', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28046, 'Franklin', 2809, '68939', '308', '40.176056', '-98.900618', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28047, 'Macon', 2809, '68939', '308', '40.176056', '-98.900618', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28048, 'Glenvil', 2809, '68941', '402', '40.448739', '-98.27429', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28049, 'Hanover', 2809, '68941', '402', '40.448739', '-98.27429', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28050, 'Little Blue', 2809, '68941', '402', '40.448739', '-98.27429', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28051, 'Pauline', 2809, '68941', '402', '40.448739', '-98.27429', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28052, 'Hardy', 2809, '68943', '402', '40.045755', '-97.934441', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28053, 'Holbrook', 2809, '68948', '308', '40.307358', '-100.019833', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28054, 'Oak', 2809, '68964', '402', '40.263316', '-97.877627', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28055, 'Orleans', 2809, '68966', '308', '40.169283', '-99.461344', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28056, 'Lake', 2809, '68982', '308', '40.35797', '-99.169989', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28057, 'Oneida', 2809, '68982', '308', '40.35797', '-99.169989', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28058, 'Sherman', 2809, '68982', '308', '40.35797', '-99.169989', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28059, 'Wilcox', 2809, '68982', '308', '40.35797', '-99.169989', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28060, 'Hayes Center', 2809, '69032', '308', '40.52482', '-101.061348', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28061, 'Brady', 2809, '69123', '308', '41.032715', '-100.357277', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28062, 'Broadwater', 2809, '69125', '308', '41.591218', '-102.791089', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28063, 'Gurley', 2809, '69141', '308', '41.286548', '-102.98452', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28064, 'Lisco', 2809, '69148', '308', '41.573165', '-102.557104', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28065, 'Madrid', 2809, '69150', '308', '40.850706', '-101.534444', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28066, 'Bayard', 2809, '69334', '308', '41.72045', '-103.324302', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28067, 'Hyannis', 2809, '69350', '308', '41.958704', '-101.707696', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28068, 'Lyman', 2809, '69352', '308', '41.813739', '-103.951986', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28069, 'Haig', 2809, '69357', '308', '41.939145', '-103.803418', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28070, 'Mitchell', 2809, '69357', '308', '41.939145', '-103.803418', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28071, 'Bernalillo', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28072, 'El Llanito', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28073, 'Ranchitos', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28074, 'Abeytas', 2812, '87006', '505', '34.508', '-106.809395', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28075, 'Bernardo', 2812, '87006', '505', '34.508', '-106.809395', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28076, 'Bosque', 2812, '87006', '505', '34.508', '-106.809395', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28077, 'Sabinal', 2812, '87006', '505', '34.508', '-106.809395', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28078, 'San Francisco', 2812, '87006', '505', '34.508', '-106.809395', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28079, 'Jemez', 2812, '87024', '505', '35.705562', '-106.740891', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28080, 'Jemez Pueblo', 2812, '87024', '505', '35.705562', '-106.740891', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28081, 'Bosque Farms', 2812, '87042', '505', '34.858536', '-106.562102', '2018-11-29 04:54:39', '2018-11-29 04:54:39'),\n(28082, 'Peralta', 2812, '87042', '505', '34.858536', '-106.562102', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28083, 'Cochiti Lake', 2812, '87083', '505', '35.648618', '-106.340415', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28084, 'Albuquerque', 2812, '87101', '505', '35.0846', '-106.6516', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28085, 'Counselor', 2812, '87018', '505', '36.121582', '-106.938716', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28086, 'Ambrosia Lake', 2812, '87020', '505', '35.278362', '-107.77172', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28087, 'Anaconda', 2812, '87020', '505', '35.278362', '-107.77172', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28088, 'Broadview Acres', 2812, '87020', '505', '35.278362', '-107.77172', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28089, 'Grants', 2812, '87020', '505', '35.278362', '-107.77172', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28090, 'San Mateo', 2812, '87020', '505', '35.278362', '-107.77172', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28091, 'San Ysidro', 2812, '87053', '505', '35.55204', '-106.763578', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28092, 'Zia Pueblo', 2812, '87053', '505', '35.55204', '-106.763578', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28093, 'Clines Corners', 2812, '87070', '505', '35.0089', '-105.6688', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28094, 'Clines Cors', 2812, '87070', '505', '35.0089', '-105.6688', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28095, 'Coyote', 2812, '87012', '505', '36.177392', '-106.65396', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28096, 'Mesa Poleo', 2812, '87012', '505', '36.177392', '-106.65396', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28097, 'Cuba', 2812, '87013', '505', '35.920857', '-107.255986', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28098, 'Ojo Encino', 2812, '87013', '505', '35.920857', '-107.255986', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28099, 'Pueblo Pintado', 2812, '87013', '505', '35.920857', '-107.255986', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28100, 'Ponderosa', 2812, '87044', '505', '35.714904', '-106.536201', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28101, 'Prewitt', 2812, '87045', '505', '35.349264', '-108.10365', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28102, 'Torreon', 2812, '87061', '505', '34.743117', '-106.376279', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28103, 'Lucy', 2812, '87063', '505', '34.504066', '-106.008632', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28104, 'Progresso', 2812, '87063', '505', '34.504066', '-106.008632', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28105, 'Willard', 2812, '87063', '505', '34.504066', '-106.008632', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28106, 'Cedar Crest', 2812, '87008', '505', '35.131834', '-106.380414', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28107, 'Gallina', 2812, '87017', '505', '36.165017', '-106.608938', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28108, 'Isleta', 2812, '87022', '505', '34.892442', '-106.69441', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28109, 'Stanley', 2812, '87056', '505', '35.188939', '-105.945166', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28110, 'Cochiti Publo', 2812, '87072', '505', '35.604171', '-106.38388', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28111, 'Cochiti Pueblo', 2812, '87072', '505', '35.604171', '-106.38388', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28112, 'Albuquerque', 2812, '87106', '505', '35.062202', '-106.619756', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28113, 'Unm', 2812, '87106', '505', '35.062202', '-106.619756', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28114, 'Cedarvale', 2812, '87009', '505', '34.457114', '-105.650201', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28115, 'Estancia', 2812, '87016', '505', '34.734198', '-106.139834', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28116, 'Tajique', 2812, '87016', '505', '34.734198', '-106.139834', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28117, 'Jemez Springs', 2812, '87025', '505', '35.828651', '-106.700277', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28118, 'Pena Blanca', 2812, '87041', '505', '35.606996', '-106.345194', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28119, 'Sile', 2812, '87041', '505', '35.606996', '-106.345194', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28120, 'Albuquerque', 2812, '87107', '505', '35.14461', '-106.646549', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28121, 'Los Ranchos', 2812, '87107', '505', '35.14461', '-106.646549', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28122, 'Los Ranchos De Abq', 2812, '87107', '505', '35.14461', '-106.646549', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28123, 'Casa Blanca', 2812, '87007', '505', '34.984733', '-107.320751', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28124, 'Paraje', 2812, '87007', '505', '34.984733', '-107.320751', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28125, 'Seama', 2812, '87007', '505', '34.984733', '-107.320751', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28126, 'Jarales', 2812, '87023', '505', '34.760507', '-106.975734', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28127, 'Mcintosh', 2812, '87032', '505', '34.83563', '-105.96471', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28128, 'Acoma', 2812, '87034', '505', '34.840788', '-107.714004', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28129, 'Acomita', 2812, '87034', '505', '34.840788', '-107.714004', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28130, 'Pblo Of Acoma', 2812, '87034', '505', '34.840788', '-107.714004', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28131, 'Pueblo Of Acoma', 2812, '87034', '505', '34.840788', '-107.714004', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28132, 'Rito De Las Sillas', 2812, '87064', '505', '36.135212', '-106.548105', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28133, 'Youngsville', 2812, '87064', '505', '36.135212', '-106.548105', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28134, 'Nageezi', 2812, '87037', '505', '36.188601', '-107.830334', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28135, 'Kewa', 2812, '87052', '505', '35.542643', '-106.393602', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28136, 'Santo Domingo Pueblo', 2812, '87052', '505', '35.542643', '-106.393602', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28137, 'St Dmng Pblo', 2812, '87052', '505', '35.542643', '-106.393602', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28138, 'Albuquerque', 2812, '87102', '505', '35.078262', '-106.64553', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28139, 'Albuquerque', 2812, '87103', '505', '35.0844', '-106.6509', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28140, 'Albuquerque', 2812, '87104', '505', '35.104091', '-106.674548', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28141, 'Albuquerque', 2812, '87105', '505', '34.998383', '-106.647454', '2018-11-29 04:54:40', '2018-11-29 04:54:40'),\n(28142, 'Los Padillas', 2812, '87105', '505', '34.998383', '-106.647454', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28143, 'Paguate', 2812, '87040', '505', '35.110656', '-107.365271', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28144, 'Golden', 2812, '87047', '505', '35.218828', '-106.293006', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28145, 'San Antonito', 2812, '87047', '505', '35.218828', '-106.293006', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28146, 'Sandia Park', 2812, '87047', '505', '35.218828', '-106.293006', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28147, 'Mccartys', 2812, '87049', '505', '35.142693', '-107.669326', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28148, 'San Fidel', 2812, '87049', '505', '35.142693', '-107.669326', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28149, 'San Rafael', 2812, '87051', '505', '35.1112', '-107.8839', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28150, 'Sandia Pueblo', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28151, 'Santa Ana Pue', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28152, 'Santa Ana Pueblo', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28153, 'Tamaya', 2812, '87004', '505', '35.383335', '-106.635767', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28154, 'Bluewater', 2812, '87005', '505', '35.095304', '-108.22003', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28155, 'Moriarty', 2812, '87035', '505', '34.869311', '-105.735862', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28156, 'Mountainair', 2812, '87036', '505', '34.45227', '-106.286444', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28157, 'Encinal', 2812, '87038', '505', '35.079256', '-107.453006', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28158, 'New Laguna', 2812, '87038', '505', '35.079256', '-107.453006', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28159, 'Bosque Farms', 2812, '87068', '505', '34.944297', '-106.773655', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28160, 'Peralta', 2812, '87068', '505', '34.944297', '-106.773655', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28161, 'Ny City', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28162, 'Nyc', 2814, '10259', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28163, 'Jp Morgan Bank', 2814, '10260', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28164, 'New York', 2814, '10260', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28165, 'New York City', 2814, '10260', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28166, 'Ny', 2814, '10260', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28167, 'Ny City', 2814, '10260', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28168, 'Nyc', 2814, '10260', '212', '40.7143', '-74.0067', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28169, 'Depauville', 2814, '13632', '315', '44.1383', '-76.0659', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28170, 'Knoxboro', 2814, '13362', '315', '42.9865', '-75.5176', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28171, 'Colgate', 2814, '13346', '315', '42.822176', '-75.547018', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28172, 'Hamilton', 2814, '13346', '315', '42.822176', '-75.547018', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28173, 'Randallsville', 2814, '13346', '315', '42.822176', '-75.547018', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28174, 'Cullen', 2814, '13439', '315', '42.855568', '-74.984132', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28175, 'Richfield', 2814, '13439', '315', '42.855568', '-74.984132', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28176, 'Richfield Springs', 2814, '13439', '315', '42.855568', '-74.984132', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28177, 'Savannah', 2814, '13146', '315', '43.089946', '-76.76259', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28178, 'Canoga', 2814, '13148', '315', '42.909495', '-76.782209', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28179, 'Seneca Falls', 2814, '13148', '315', '42.909495', '-76.782209', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28180, 'Tyre', 2814, '13148', '315', '42.909495', '-76.782209', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28181, 'Warners', 2814, '13164', '315', '43.098075', '-76.322819', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28182, 'Syr', 2814, '13203', '315', '43.061855', '-76.137746', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28183, 'Syracuse', 2814, '13203', '315', '43.061855', '-76.137746', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28184, 'Groton', 2814, '13073', '607', '42.586974', '-76.393344', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28185, 'Groton City', 2814, '13073', '607', '42.586974', '-76.393344', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28186, 'W Groton', 2814, '13073', '607', '42.586974', '-76.393344', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28187, 'West Groton', 2814, '13073', '607', '42.586974', '-76.393344', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28188, 'Little York', 2814, '13087', '607', '42.6955', '-76.1648', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28189, 'Memphis', 2814, '13112', '315', '43.09765', '-76.414502', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28190, 'New Haven', 2814, '13121', '315', '43.4798', '-76.3157', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28191, 'Dryden', 2814, '13053', '607', '42.476063', '-76.270066', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28192, 'Etna', 2814, '13062', '607', '42.487876', '-76.37893', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28193, 'Holcombville', 2814, '12853', '518', '43.68906', '-73.941212', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28194, 'Igerna', 2814, '12853', '518', '43.68906', '-73.941212', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28195, 'North Creek', 2814, '12853', '518', '43.68906', '-73.941212', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28196, 'North Hudson', 2814, '12855', '518', '44.011553', '-73.819733', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28197, 'Fort Covington', 2814, '12937', '518', '44.942494', '-74.491515', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28198, 'Ft Covington', 2814, '12937', '518', '44.942494', '-74.491515', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28199, 'Gabriels', 2814, '12939', '518', '44.4319', '-74.1815', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28200, 'Keeseville', 2814, '12944', '518', '44.45055', '-73.478573', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28201, 'Lake Placid', 2814, '12946', '518', '44.23893', '-73.992546', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28202, 'Duane', 2814, '12953', '518', '44.739078', '-74.243114', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28203, 'Malone', 2814, '12953', '518', '44.739078', '-74.243114', '2018-11-29 04:54:41', '2018-11-29 04:54:41'),\n(28204, 'Morrisonville', 2814, '12962', '518', '44.708236', '-73.594494', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28205, 'West Plattsburgh', 2814, '12962', '518', '44.708236', '-73.594494', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28206, 'New Russia', 2814, '12964', '518', '44.145283', '-73.607234', '2018-11-29 04:54:42', '2018-11-29 04:54:42');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(28207, 'Mountain View', 2814, '12969', '518', '44.717701', '-74.076502', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28208, 'Owls Head', 2814, '12969', '518', '44.717701', '-74.076502', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28209, 'White Sulphur Springs', 2814, '12787', '845', '41.803479', '-74.844264', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28210, 'Wht Sphr Spgs', 2814, '12787', '845', '41.803479', '-74.844264', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28211, 'Woodridge', 2814, '12789', '845', '41.712392', '-74.57679', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28212, 'Blue Mountain Lake', 2814, '12812', '518', '43.832938', '-74.42408', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28213, 'Blue Mtn Lake', 2814, '12812', '518', '43.832938', '-74.42408', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28214, 'Stony Creek', 2814, '12878', '518', '43.429564', '-74.011864', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28215, 'Dresden Station', 2814, '12887', '518', '43.574936', '-73.382172', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28216, 'Low Hampton', 2814, '12887', '518', '43.574936', '-73.382172', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28217, 'Whitehall', 2814, '12887', '518', '43.574936', '-73.382172', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28218, 'Salt Point', 2814, '12578', '845', '41.805378', '-73.79543', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28219, 'Staatsburg', 2814, '12580', '845', '41.853476', '-73.867644', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28220, 'Staatsburgh', 2814, '12580', '845', '41.853476', '-73.867644', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28221, 'Bloomingburg', 2814, '12721', '845', '41.585829', '-74.429191', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28222, 'Hampton', 2814, '12837', '518', '43.500938', '-73.272354', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28223, 'Kattskill Bay', 2814, '12844', '518', '43.489773', '-73.62117', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28224, 'Pilot Knob', 2814, '12844', '518', '43.489773', '-73.62117', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28225, 'Glen Spey', 2814, '12737', '845', '41.517512', '-74.810505', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28226, 'Long Eddy', 2814, '12760', '845', '41.911083', '-75.115178', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28227, 'Mongaup Valley', 2814, '12762', '845', '41.687412', '-74.789521', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28228, 'Mongaup Vly', 2814, '12762', '845', '41.687412', '-74.789521', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28229, 'Denver', 2814, '12421', '607', '42.250427', '-74.520073', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28230, 'Jewett', 2814, '12444', '518', '42.273052', '-74.281131', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28231, 'Hughsonville', 2814, '12537', '845', '41.5808', '-73.9278', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28232, 'Mellenville', 2814, '12544', '518', '42.2531', '-73.6683', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28233, 'Mid Hudson', 2814, '12555', '845', '41.5052', '-74.0136', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28234, 'Newburgh', 2814, '12555', '845', '41.5052', '-74.0136', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28235, 'Albany', 2814, '12246', '518', '42.6525', '-73.7567', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28236, 'S U N Y 99 Wash', 2814, '12246', '518', '42.6525', '-73.7567', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28237, 'Albany', 2814, '12260', '518', '42.6525', '-73.7567', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28238, 'Schenectady', 2814, '12301', '518', '42.8148', '-73.9393', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28239, 'Schdy', 2814, '12303', '518', '42.755197', '-73.913474', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28240, 'Schenectady', 2814, '12303', '518', '42.755197', '-73.913474', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28241, 'Rifton', 2814, '12471', '845', '41.835574', '-74.041188', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28242, 'Valley Falls', 2814, '12185', '518', '42.903807', '-73.525768', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28243, 'West Valley Falls', 2814, '12185', '518', '42.903807', '-73.525768', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28244, 'Patria', 2814, '12187', '518', '42.617396', '-74.431868', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28245, 'Warnerville', 2814, '12187', '518', '42.617396', '-74.431868', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28246, 'Albany', 2814, '12203', '518', '42.684718', '-73.831653', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28247, 'Mckownville', 2814, '12203', '518', '42.684718', '-73.831653', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28248, 'Pine', 2814, '12203', '518', '42.684718', '-73.831653', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28249, 'Stuyvesant Plaza', 2814, '12203', '518', '42.684718', '-73.831653', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28250, 'Stuyvsnt Plz', 2814, '12203', '518', '42.684718', '-73.831653', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28251, 'Westmere', 2814, '12203', '518', '42.684718', '-73.831653', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28252, 'Albany', 2814, '12210', '518', '42.659419', '-73.757724', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28253, 'Eddyville', 2814, '12401', '845', '41.933424', '-74.062764', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28254, 'Kingston', 2814, '12401', '845', '41.933424', '-74.062764', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28255, 'Saint Remy', 2814, '12401', '845', '41.933424', '-74.062764', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28256, 'St Remy', 2814, '12401', '845', '41.933424', '-74.062764', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28257, 'Big Indian', 2814, '12410', '845', '42.085684', '-74.46987', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28258, 'Oliverea', 2814, '12410', '845', '42.085684', '-74.46987', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28259, 'Latham', 2814, '12128', '518', '42.7466', '-73.7594', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28260, 'Newtonville', 2814, '12128', '518', '42.7466', '-73.7594', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28261, 'Defreestville', 2814, '12144', '518', '42.626327', '-73.707155', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28262, 'Rensselaer', 2814, '12144', '518', '42.626327', '-73.707155', '2018-11-29 04:54:42', '2018-11-29 04:54:42'),\n(28263, 'Coxsackie', 2814, '12051', '518', '42.348461', '-73.846051', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28264, 'East Chatham', 2814, '12060', '518', '42.417708', '-73.48915', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28265, 'Red Rock', 2814, '12060', '518', '42.417708', '-73.48915', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28266, 'East Nassau', 2814, '12062', '518', '42.528672', '-73.504613', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28267, 'Hoag Corners', 2814, '12062', '518', '42.528672', '-73.504613', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28268, 'Gilboa', 2814, '12076', '607', '42.416492', '-74.38959', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28269, 'Surprise', 2814, '12176', '518', '42.39249', '-73.959004', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28270, 'Alplaus', 2814, '12008', '518', '42.858553', '-73.902092', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28271, 'Schenectady', 2814, '12008', '518', '42.858553', '-73.902092', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28272, 'Amsterdam', 2814, '12010', '518', '42.940526', '-74.169392', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28273, 'Perth', 2814, '12010', '518', '42.940526', '-74.169392', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28274, 'West Charlton', 2814, '12010', '518', '42.940526', '-74.169392', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28275, 'West Glenville', 2814, '12010', '518', '42.940526', '-74.169392', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28276, 'Central Brg', 2814, '12035', '518', '42.731351', '-74.386251', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28277, 'Central Bridge', 2814, '12035', '518', '42.731351', '-74.386251', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28278, 'Climax', 2814, '12042', '518', '42.379016', '-73.868012', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28279, 'Oakdale', 2814, '11769', '631', '40.738598', '-73.128636', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28280, 'Plainview', 2814, '11803', '516', '40.782376', '-73.47405', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28281, 'Jericho', 2814, '11853', '516', '40.7918', '-73.5403', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28282, 'Uhc Berdon', 2814, '11853', '516', '40.7918', '-73.5403', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28283, 'Baiting Hollo', 2814, '11933', '631', '40.920518', '-72.748315', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28284, 'Baiting Hollow', 2814, '11933', '631', '40.920518', '-72.748315', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28285, 'Calverton', 2814, '11933', '631', '40.920518', '-72.748315', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28286, 'Cutchogue', 2814, '11935', '631', '41.000261', '-72.483128', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28287, 'Nassau Point', 2814, '11935', '631', '41.000261', '-72.483128', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28288, 'E Quogue', 2814, '11942', '631', '40.854848', '-72.580723', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28289, 'East Quogue', 2814, '11942', '631', '40.854848', '-72.580723', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28290, 'Peconic', 2814, '11958', '631', '41.045273', '-72.469254', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28291, 'S Hampton', 2814, '11969', '631', '40.8843', '-72.3903', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28292, 'South Hampton', 2814, '11969', '631', '40.8843', '-72.3903', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28293, 'Southampton', 2814, '11969', '631', '40.8843', '-72.3903', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28294, 'E Setauket', 2814, '11733', '631', '40.930424', '-73.11205', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28295, 'East Setauket', 2814, '11733', '631', '40.930424', '-73.11205', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28296, 'Old Field', 2814, '11733', '631', '40.930424', '-73.11205', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28297, 'Seaford', 2814, '11783', '516', '40.673556', '-73.494024', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28298, 'Manhattan', 2814, '10174', '212', '40.7519', '-73.9778', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28299, 'New York', 2814, '10174', '212', '40.7519', '-73.9778', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28300, 'New York City', 2814, '10174', '212', '40.7519', '-73.9778', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28301, 'Bank Of New York', 2814, '10257', '212', '40.7143', '-74.0067', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28302, 'New York', 2814, '10257', '212', '40.7143', '-74.0067', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28303, 'Barclay Bank', 2814, '10265', '212', '40.7143', '-74.0067', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28304, 'New York', 2814, '10265', '212', '40.7143', '-74.0067', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28305, 'Manhattan', 2814, '10172', '212', '40.7555', '-73.974468', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28306, 'New York', 2814, '10172', '212', '40.7555', '-73.974468', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28307, 'New York City', 2814, '10172', '212', '40.7555', '-73.974468', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28308, 'Ny', 2814, '10172', '212', '40.7555', '-73.974468', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28309, 'Ny City', 2814, '10172', '212', '40.7555', '-73.974468', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28310, 'Nyc', 2814, '10172', '212', '40.7555', '-73.974468', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28311, 'Business Reply', 2814, '10138', '212', '40.7143', '-74.0067', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28312, 'Midtown', 2814, '10138', '212', '40.7143', '-74.0067', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28313, 'Manhattan', 2814, '10173', '212', '40.754305', '-73.979564', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28314, 'New York', 2814, '10173', '212', '40.754305', '-73.979564', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28315, 'New York City', 2814, '10173', '212', '40.754305', '-73.979564', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28316, 'Ny', 2814, '10173', '212', '40.754305', '-73.979564', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28317, 'Ny City', 2814, '10173', '212', '40.754305', '-73.979564', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28318, 'Nyc', 2814, '10173', '212', '40.754305', '-73.979564', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28319, 'Manhattan', 2814, '10280', '212', '40.709822', '-74.017661', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28320, 'New York', 2814, '10280', '212', '40.709822', '-74.017661', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28321, 'Nyc', 2814, '10280', '212', '40.709822', '-74.017661', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28322, 'Manhattan', 2814, '10282', '212', '40.716626', '-74.014494', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28323, 'New York', 2814, '10282', '212', '40.716626', '-74.014494', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28324, 'New York City', 2814, '10282', '212', '40.716626', '-74.014494', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28325, 'Ny', 2814, '10282', '212', '40.716626', '-74.014494', '2018-11-29 04:54:43', '2018-11-29 04:54:43'),\n(28326, 'Ny City', 2814, '10282', '212', '40.716626', '-74.014494', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28327, 'Nyc', 2814, '10282', '212', '40.716626', '-74.014494', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28328, 'Manhattan', 2814, '10155', '917', '40.7629', '-73.9695', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28329, 'New York', 2814, '10155', '917', '40.7629', '-73.9695', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28330, 'New York City', 2814, '10155', '917', '40.7629', '-73.9695', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28331, 'Ny', 2814, '10155', '917', '40.7629', '-73.9695', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28332, 'Ny City', 2814, '10155', '917', '40.7629', '-73.9695', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28333, 'Nyc', 2814, '10155', '917', '40.7629', '-73.9695', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28334, 'Manhattan', 2814, '10178', '212', '40.7479', '-73.9793', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28335, 'New York', 2814, '10178', '212', '40.7479', '-73.9793', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28336, 'New York City', 2814, '10178', '212', '40.7479', '-73.9793', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28337, 'Ny', 2814, '10178', '212', '40.7479', '-73.9793', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28338, 'Ny City', 2814, '10178', '212', '40.7479', '-73.9793', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28339, 'Nyc', 2814, '10178', '212', '40.7479', '-73.9793', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28340, 'Business Reply', 2814, '10212', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28341, 'Manhattan', 2814, '10212', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28342, 'New York', 2814, '10212', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28343, 'Business Reply', 2814, '10164', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28344, 'New York', 2814, '10164', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28345, 'Manhattan', 2814, '10153', '212', '40.763737', '-73.97268', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28346, 'New York', 2814, '10153', '212', '40.763737', '-73.97268', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28347, 'New York City', 2814, '10153', '212', '40.763737', '-73.97268', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28348, 'Ny', 2814, '10153', '212', '40.763737', '-73.97268', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28349, 'Ny City', 2814, '10153', '212', '40.763737', '-73.97268', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28350, 'Nyc', 2814, '10153', '212', '40.763737', '-73.97268', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28351, 'Business Reply', 2814, '10157', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28352, 'Bank Of New York Brm', 2814, '10203', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28353, 'New York', 2814, '10203', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28354, 'New York', 2814, '10157', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28355, 'Manhattan', 2814, '10162', '212', '40.769414', '-73.950358', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28356, 'New York', 2814, '10162', '212', '40.769414', '-73.950358', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28357, 'New York City', 2814, '10162', '212', '40.769414', '-73.950358', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28358, 'Ny', 2814, '10162', '212', '40.769414', '-73.950358', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28359, 'Ny City', 2814, '10162', '212', '40.769414', '-73.950358', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28360, 'Nyc', 2814, '10162', '212', '40.769414', '-73.950358', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28361, 'Jp Morgan Bank', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28362, 'Manhattan', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28363, 'New York', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28364, 'New York City', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28365, 'Carey', 2815, '43316', '419', '40.952171', '-83.374339', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28366, 'De Graff', 2815, '43318', '937', '40.308202', '-83.908896', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28367, 'Upper Sandsky', 2815, '43351', '419', '40.821894', '-83.313675', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28368, 'Upper Sandusky', 2815, '43351', '419', '40.821894', '-83.313675', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28369, 'Elliston', 2815, '43432', '419', '41.567724', '-83.251338', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28370, 'Graytown', 2815, '43432', '419', '41.567724', '-83.251338', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28371, 'Helena', 2815, '43435', '419', '41.329572', '-83.320839', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28372, 'Millersville', 2815, '43435', '419', '41.329572', '-83.320839', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28373, 'Pemberville', 2815, '43450', '419', '41.39878', '-83.483433', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28374, 'Wayne', 2815, '43466', '419', '41.297348', '-83.520208', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28375, 'W Millgrove', 2815, '43467', '419', '41.249061', '-83.488065', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28376, 'West Millgrove', 2815, '43467', '419', '41.249061', '-83.488065', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28377, 'Archbold', 2815, '43502', '419', '41.537647', '-84.296291', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28378, 'Edon', 2815, '43518', '419', '41.591965', '-84.73778', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28379, 'Evansport', 2815, '43519', '419', '41.4263', '-84.3966', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28380, 'Stryker', 2815, '43519', '419', '41.4263', '-84.3966', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28381, 'Lyons', 2815, '43533', '419', '41.685954', '-84.087169', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28382, 'Grelton', 2815, '43534', '419', '41.352098', '-83.941317', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28383, 'Mc Clure', 2815, '43534', '419', '41.352098', '-83.941317', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28384, 'Mcclure', 2815, '43534', '419', '41.352098', '-83.941317', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28385, 'Ney', 2815, '43549', '419', '41.379325', '-84.525552', '2018-11-29 04:54:44', '2018-11-29 04:54:44'),\n(28386, 'Waterville', 2815, '43566', '419', '41.49923', '-83.757908', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28387, 'Toledo', 2815, '43601', '419', '41.6525', '-83.5486', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28388, 'Belmont', 2815, '43718', '740', '40.005236', '-80.984319', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28389, 'Cambridge', 2815, '43750', '740', '39.9961', '-81.5008', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28390, 'Kipling', 2815, '43750', '740', '39.9961', '-81.5008', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28391, 'Laings', 2815, '43752', '740', '39.7166', '-81.0128', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28392, 'Norwich', 2815, '43767', '740', '40.014983', '-81.805569', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28393, 'Somerset', 2815, '43783', '740', '39.806422', '-82.265106', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28394, 'Stafford', 2815, '43786', '740', '39.7141', '-81.2755', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28395, 'Plainfield', 2815, '43836', '740', '40.2112', '-81.7164', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28396, 'Alledonia', 2815, '43902', '740', '39.897198', '-80.967183', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28397, 'Calcutta', 2815, '43920', '330', '40.677032', '-80.586868', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28398, 'E Liverpool', 2815, '43920', '330', '40.677032', '-80.586868', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28399, 'East Liverpool', 2815, '43920', '330', '40.677032', '-80.586868', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28400, 'Armstrong Mills', 2815, '43933', '740', '39.948402', '-80.89135', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28401, 'Armstrong Mls', 2815, '43933', '740', '39.948402', '-80.89135', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28402, 'Jacobsburg', 2815, '43933', '740', '39.948402', '-80.89135', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28403, 'Stewartsville', 2815, '43933', '740', '39.948402', '-80.89135', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28404, 'Blainesville', 2815, '43937', '740', '40.1184', '-80.8722', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28405, 'Maynard', 2815, '43937', '740', '40.1184', '-80.8722', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28406, 'Lafferty', 2815, '43951', '740', '40.098119', '-81.019664', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28407, 'New Rumley', 2815, '43984', '740', '40.4018', '-81.0314', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28408, 'Andover', 2815, '44003', '440', '41.62374', '-80.607357', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28409, 'Cherry Valley', 2815, '44003', '440', '41.62374', '-80.607357', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28410, 'West Andover', 2815, '44003', '440', '41.62374', '-80.607357', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28411, 'Elyria', 2815, '44036', '440', '41.3686', '-82.1076', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28412, 'Lorain', 2815, '44052', '440', '41.451698', '-82.155998', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28413, 'Lorain', 2815, '44053', '440', '41.425196', '-82.222372', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28414, 'Sheffield Twp', 2815, '44053', '440', '41.425196', '-82.222372', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28415, 'North Olmsted', 2815, '44070', '440', '41.416152', '-81.922022', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28416, 'Thompson', 2815, '44086', '440', '41.674012', '-81.060738', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28417, 'Cleveland', 2815, '44104', '216', '41.480473', '-81.63099', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28418, 'Cleveland', 2815, '44119', '216', '41.586524', '-81.545867', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28419, 'Euclid', 2815, '44119', '216', '41.586524', '-81.545867', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28420, 'Atwater', 2815, '44201', '330', '41.031394', '-81.173077', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28421, 'Aurora', 2815, '44202', '330', '41.316488', '-81.343332', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28422, 'Homer', 2815, '43027', '740', '40.2525', '-82.5179', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28423, 'Mingo', 2815, '43047', '937', '40.2084', '-83.6431', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28424, 'Saint Paris', 2815, '43072', '937', '40.126382', '-83.947107', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28425, 'St Paris', 2815, '43072', '937', '40.126382', '-83.947107', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28426, 'Amanda', 2815, '43102', '740', '39.648529', '-82.749343', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28427, 'Carbon Hill', 2815, '43111', '740', '39.498645', '-82.241262', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28428, 'Circleville', 2815, '43113', '740', '39.59806', '-82.94528', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28429, 'Thatcher', 2815, '43113', '740', '39.59806', '-82.94528', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28430, 'Haydenville', 2815, '43127', '740', '39.482035', '-82.326352', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28431, 'Lithopolis', 2815, '43136', '614', '39.803007', '-82.808146', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28432, 'Laurelville', 2815, '43152', '740', '39.38605', '-82.637994', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28433, 'S Bloomingvil', 2815, '43152', '740', '39.38605', '-82.637994', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28434, 'S Bloomingville', 2815, '43152', '740', '39.38605', '-82.637994', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28435, 'So Bloomingville', 2815, '43152', '740', '39.38605', '-82.637994', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28436, 'South Bloomingville', 2815, '43152', '740', '39.38605', '-82.637994', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28437, 'Gap Inc Direct', 2815, '43195', '614', '39.8614', '-82.8916', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28438, 'Groveport', 2815, '43195', '614', '39.8614', '-82.8916', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28439, 'Columbus', 2815, '43204', '614', '39.961402', '-83.08451', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28440, 'San Margherita', 2815, '43204', '614', '39.961402', '-83.08451', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28441, 'Valleyview', 2815, '43204', '614', '39.961402', '-83.08451', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28442, 'Columbus', 2815, '43222', '614', '39.960474', '-83.036488', '2018-11-29 04:54:45', '2018-11-29 04:54:45'),\n(28443, 'Columbus', 2815, '43279', '614', '39.9615', '-82.9986', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28444, 'Shared Zip Code', 2815, '43279', '614', '39.9615', '-82.9986', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28445, 'Fulfillment Corp Of Amer Brm', 2815, '43306', '740', '40.5887', '-83.1288', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28446, 'Marion', 2815, '43306', '740', '40.5887', '-83.1288', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28447, 'Bellefontaine', 2815, '43311', '937', '40.370826', '-83.73854', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28448, 'Bellefontne', 2815, '43311', '937', '40.370826', '-83.73854', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28449, 'Bellfntn', 2815, '43311', '937', '40.370826', '-83.73854', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28450, 'Lakeview', 2815, '43331', '937', '40.499922', '-83.924914', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28451, 'Orchard Island', 2815, '43331', '937', '40.499922', '-83.924914', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28452, 'Rushsylvania', 2815, '43347', '937', '40.462303', '-83.660756', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28453, 'Bradner', 2815, '43406', '419', '41.341236', '-83.437884', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28454, 'Fremont', 2815, '43420', '419', '41.355268', '-83.117809', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28455, 'Gibsonburg', 2815, '43431', '419', '41.39234', '-83.32917', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28456, 'Bono', 2815, '43445', '419', '41.584538', '-83.283699', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28457, 'Martin', 2815, '43445', '419', '41.584538', '-83.283699', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28458, 'Millbury', 2815, '43447', '419', '41.56569', '-83.430236', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28459, 'Put In Bay', 2815, '43456', '419', '41.66308', '-82.818292', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28460, 'Stony Ridge', 2815, '43463', '419', '41.5103', '-83.5075', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28461, 'Berkey', 2815, '43504', '419', '41.690198', '-83.830067', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28462, 'Custar', 2815, '43511', '419', '41.25567', '-83.814616', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28463, 'Delta', 2815, '43515', '419', '41.586125', '-84.018156', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28464, 'Kunkle', 2815, '43531', '419', '41.634826', '-84.491512', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28465, 'Mark Center', 2815, '43536', '419', '41.31083', '-84.6504', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28466, 'Holiday City', 2815, '43554', '419', '41.648411', '-84.574222', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28467, 'Pioneer', 2815, '43554', '419', '41.648411', '-84.574222', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28468, 'Archbold', 2815, '43570', '419', '41.58992', '-84.449914', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28469, 'West Unity', 2815, '43570', '419', '41.58992', '-84.449914', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28470, 'Toledo', 2815, '43604', '419', '41.650726', '-83.53667', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28471, 'Russells Pt', 2815, '43348', '937', '40.465202', '-83.881925', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28472, 'Gypsum', 2815, '43433', '419', '41.4934', '-82.8759', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28473, 'Harbor View', 2815, '43434', '419', '41.6936', '-83.4445', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28474, 'Catawba Island', 2815, '43452', '419', '41.515107', '-82.965048', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28475, 'Middle Bass', 2815, '43452', '419', '41.515107', '-82.965048', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28476, 'Port Clinton', 2815, '43452', '419', '41.515107', '-82.965048', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28477, 'Pt Clinton', 2815, '43452', '419', '41.515107', '-82.965048', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28478, 'Williston', 2815, '43468', '419', '41.605332', '-83.347672', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28479, 'Alvordton', 2815, '43501', '419', '41.663872', '-84.456829', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28480, 'Perrysburg', 2815, '43551', '419', '41.536223', '-83.564239', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28481, 'Perrysburg', 2815, '43552', '419', '41.5568', '-83.6273', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28482, 'Wauseon', 2815, '43567', '419', '41.573649', '-84.143512', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28483, 'Oregon', 2815, '43616', '419', '41.659652', '-83.448176', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28484, 'Sylvania Township', 2815, '43617', '419', '41.667276', '-83.722526', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28485, 'Sylvania Twp', 2815, '43617', '419', '41.667276', '-83.722526', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28486, 'Toledo', 2815, '43617', '419', '41.667276', '-83.722526', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28487, 'Northwood', 2815, '43619', '419', '41.59642', '-83.485802', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28488, 'Toledo', 2815, '43635', '419', '41.6639', '-83.5554', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28489, 'Toledo', 2815, '43652', '419', '41.6639', '-83.5554', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28490, 'Toledo Edison', 2815, '43652', '419', '41.6639', '-83.5554', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28491, 'Dept Of Public Utilities', 2815, '43667', '419', '41.6639', '-83.5554', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28492, 'Brinkhaven', 2815, '43006', '740', '40.464729', '-82.13552', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28493, 'Blacklick', 2815, '43004', '614', '40.015054', '-82.805262', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28494, 'Centerburg', 2815, '43011', '740', '40.31636', '-82.676988', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28495, 'Croton', 2815, '43013', '740', '40.234792', '-82.686302', '2018-11-29 04:54:46', '2018-11-29 04:54:46'),\n(28496, 'Gambier', 2815, '43022', '740', '40.336037', '-82.349517', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28497, 'Irwin', 2815, '43029', '740', '40.107325', '-83.450324', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28498, 'Magnetic Spgs', 2815, '43036', '937', '40.35351', '-83.263138', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28499, 'Magnetic Spring', 2815, '43036', '937', '40.35351', '-83.263138', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28500, 'Magnetic Springs', 2815, '43036', '937', '40.35351', '-83.263138', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28501, 'Milford Center', 2815, '43045', '937', '40.169864', '-83.459994', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28502, 'Milford Ctr', 2815, '43045', '937', '40.169864', '-83.459994', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28503, 'New Albany', 2815, '43054', '614', '40.086964', '-82.808031', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28504, 'Ostrander', 2815, '43061', '740', '40.285328', '-83.187469', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28505, 'Rosewood', 2815, '43070', '937', '40.21798', '-83.959496', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28506, 'Unionville Center', 2815, '43077', '740', '40.138067', '-83.348597', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28507, 'Unionvlle Ctr', 2815, '43077', '740', '40.138067', '-83.348597', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28508, 'Logan', 2815, '43138', '740', '39.524902', '-82.40962', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28509, 'New Holland', 2815, '43145', '740', '39.56164', '-83.257632', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28510, 'Etna', 2815, '43147', '614', '39.899895', '-82.746661', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28511, 'Pickerington', 2815, '43147', '614', '39.899895', '-82.746661', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28512, 'Columbus', 2815, '43202', '614', '40.020272', '-83.017128', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28513, 'Columbus', 2815, '43211', '614', '40.007744', '-82.965964', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28514, 'Columbus', 2815, '43213', '614', '39.97194', '-82.863748', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28515, 'Whitehall', 2815, '43213', '614', '39.97194', '-82.863748', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28516, 'Columbus', 2815, '43220', '614', '40.048746', '-83.07203', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28517, 'Upper Arlington', 2815, '43220', '614', '40.048746', '-83.07203', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28518, 'Upper Arlngtn', 2815, '43220', '614', '40.048746', '-83.07203', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28519, 'Columbus', 2815, '43227', '614', '39.944182', '-82.884778', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28520, 'Columbus', 2815, '43236', '614', '39.9602', '-82.9989', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28521, 'Green Camp', 2815, '43322', '740', '40.535892', '-83.200902', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28522, 'Middleburg', 2815, '43336', '937', '40.293325', '-83.582915', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28523, 'Ridgeway', 2815, '43345', '937', '40.540768', '-83.576228', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28524, 'Hide Away Hills', 2815, '43107', '740', '39.684221', '-82.412319', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28525, 'Hideaway Hls', 2815, '43107', '740', '39.684221', '-82.412319', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28526, 'Groveport', 2815, '43125', '614', '39.841454', '-82.888434', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28527, 'London', 2815, '43140', '740', '39.887224', '-83.387036', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28528, 'Summerford', 2815, '43140', '740', '39.887224', '-83.387036', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28529, 'Mount Sterling', 2815, '43143', '740', '39.722294', '-83.293157', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28530, 'Mt Sterling', 2815, '43143', '740', '39.722294', '-83.293157', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28531, 'Columbus', 2815, '43207', '614', '39.89075', '-82.956005', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28532, 'Obetz', 2815, '43207', '614', '39.89075', '-82.956005', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28533, 'Columbus', 2815, '43210', '614', '40.004678', '-83.02779', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28534, 'Columbus', 2815, '43226', '614', '39.9614', '-82.9988', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28535, 'Harpster', 2815, '43323', '740', '40.730855', '-83.263545', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28536, 'Hepburn', 2815, '43326', '419', '40.637719', '-83.623356', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28537, 'Kenton', 2815, '43326', '419', '40.637719', '-83.623356', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28538, 'Mount Victory', 2815, '43340', '937', '40.561584', '-83.489074', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28539, 'Wharton', 2815, '43359', '419', '40.868759', '-83.448068', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28540, 'Burgoon', 2815, '43407', '419', '41.278872', '-83.245042', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28541, 'Lakeside', 2815, '43440', '419', '41.527298', '-82.781762', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28542, 'Lakeside Marblehead', 2815, '43440', '419', '41.527298', '-82.781762', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28543, 'Lakeside-Marblehead', 2815, '43440', '419', '41.527298', '-82.781762', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28544, 'Lksid Marblhd', 2815, '43440', '419', '41.527298', '-82.781762', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28545, 'Marblehead', 2815, '43440', '419', '41.527298', '-82.781762', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28546, 'Lindsey', 2815, '43442', '419', '41.415632', '-83.219504', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28547, 'Rossford', 2815, '43460', '419', '41.580679', '-83.567134', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28548, 'Colton', 2815, '43510', '419', '41.4615', '-83.9473', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28549, 'Haskins', 2815, '43525', '419', '41.466547', '-83.705812', '2018-11-29 04:54:47', '2018-11-29 04:54:47'),\n(28550, 'Toledo', 2815, '43610', '419', '41.678158', '-83.559558', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28551, 'Toledo', 2815, '43611', '419', '41.696234', '-83.486543', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28552, 'Champion Spark Plug', 2815, '43661', '419', '41.6639', '-83.5554', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28553, 'Toledo', 2815, '43661', '419', '41.6639', '-83.5554', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28554, 'Caldwell', 2815, '43724', '740', '39.741605', '-81.490987', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28555, 'Cambridge', 2815, '43725', '740', '40.03198', '-81.581682', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28556, 'Claysville', 2815, '43725', '740', '40.03198', '-81.581682', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28557, 'Roseville', 2815, '43777', '740', '39.821069', '-82.085352', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28558, 'Salesville', 2815, '43778', '740', '40.023389', '-81.376588', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28559, 'Antioch', 2815, '43793', '740', '39.751726', '-81.100854', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28560, 'Woodsfield', 2815, '43793', '740', '39.751726', '-81.100854', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28561, 'Trinway', 2815, '43842', '740', '40.139776', '-82.003404', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28562, 'Walhonding', 2815, '43843', '740', '40.348262', '-82.16365', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28563, 'Bridgeport', 2815, '43912', '740', '40.097368', '-80.787594', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28564, 'Empire', 2815, '43926', '740', '40.509321', '-80.625843', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28565, 'Connorsville', 2815, '43943', '740', '40.235968', '-80.729126', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28566, 'Glen Robbins', 2815, '43943', '740', '40.235968', '-80.729126', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28567, 'Rayland', 2815, '43943', '740', '40.235968', '-80.729126', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28568, 'Flushing', 2815, '43977', '740', '40.126312', '-81.08945', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28569, 'Austinburg', 2815, '44010', '440', '41.765719', '-80.856552', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28570, 'Avon', 2815, '44011', '440', '41.448524', '-82.019296', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28571, 'Avon Lake', 2815, '44012', '440', '41.496847', '-82.017594', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28572, 'Columbia Sta', 2815, '44028', '440', '41.305728', '-81.939778', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28573, 'Columbia Station', 2815, '44028', '440', '41.305728', '-81.939778', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28574, 'No Eaton', 2815, '44028', '440', '41.305728', '-81.939778', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28575, 'Green Springs', 2815, '44836', '419', '41.244564', '-83.035993', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28576, 'Greenwich', 2815, '44837', '419', '40.988802', '-82.488298', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28577, 'Shenandoah', 2815, '44837', '419', '40.988802', '-82.488298', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28578, 'Blue Ball', 2815, '45005', '937', '39.53117', '-84.306658', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28579, 'Carlisle', 2815, '45005', '937', '39.53117', '-84.306658', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28580, 'Franklin', 2815, '45005', '937', '39.53117', '-84.306658', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28581, 'Middletown', 2815, '45005', '937', '39.53117', '-84.306658', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28582, 'Oceola', 2815, '44860', '419', '40.844832', '-83.092726', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28583, 'Bethany', 2815, '45042', '513', '39.547031', '-84.438184', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28584, 'Liberty Twp', 2815, '45042', '513', '39.547031', '-84.438184', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28585, 'Middletown', 2815, '45042', '513', '39.547031', '-84.438184', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28586, 'W Middletown', 2815, '45042', '513', '39.547031', '-84.438184', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28587, 'Trenton', 2815, '45067', '513', '39.482442', '-84.479908', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28588, 'Aberdeen', 2815, '45101', '937', '38.69645', '-83.752175', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28589, 'Ellsberry', 2815, '45101', '937', '38.69645', '-83.752175', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28590, 'Lynchburg', 2815, '45142', '937', '39.199261', '-83.788906', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28591, 'Redoak', 2815, '45167', '937', '38.771356', '-83.805296', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28592, 'Ripley', 2815, '45167', '937', '38.771356', '-83.805296', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28593, 'Terrace Park', 2815, '45174', '513', '39.158204', '-84.311138', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28594, 'Cincinnati', 2815, '45203', '513', '39.101628', '-84.532229', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28595, 'Queen City', 2815, '45203', '513', '39.101628', '-84.532229', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28596, 'Cincinnati', 2815, '45217', '513', '39.166772', '-84.497686', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28597, 'Ivorydale', 2815, '45217', '513', '39.166772', '-84.497686', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28598, 'Saint Bernard', 2815, '45217', '513', '39.166772', '-84.497686', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28599, 'Cincinnati', 2815, '45224', '513', '39.197018', '-84.529958', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28600, 'College Hl', 2815, '45224', '513', '39.197018', '-84.529958', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28601, 'Finneytown', 2815, '45224', '513', '39.197018', '-84.529958', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28602, 'N College Hl', 2815, '45224', '513', '39.197018', '-84.529958', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28603, 'Cincinnati', 2815, '45226', '513', '39.106323', '-84.418373', '2018-11-29 04:54:48', '2018-11-29 04:54:48'),\n(28604, 'East End', 2815, '45226', '513', '39.106323', '-84.418373', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28605, 'Cincinnati', 2815, '45267', '513', '39.1616', '-84.4569', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28606, 'Univ Cinc Med Sciences', 2815, '45267', '513', '39.1616', '-84.4569', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28607, 'University Hospital', 2815, '45267', '513', '39.1616', '-84.4569', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28608, 'Cincinnati', 2815, '45269', '513', '39.1616', '-84.4569', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28609, 'Provident Bank', 2815, '45269', '513', '39.1616', '-84.4569', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28610, 'Alpha', 2815, '45301', '937', '39.710337', '-84.022883', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28611, 'Ansonia', 2815, '45303', '937', '40.218356', '-84.652582', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28612, 'Bradford', 2815, '45308', '937', '40.12143', '-84.467012', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28613, 'Fletcher', 2815, '45326', '937', '40.133231', '-84.09379', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28614, 'Gettysburg', 2815, '45328', '937', '40.11281', '-84.494936', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28615, 'Pemberton', 2815, '45353', '937', '40.297508', '-84.023326', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28616, 'Pitsburg', 2815, '45358', '937', '39.985611', '-84.487046', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28617, 'Port Jefferson', 2815, '45360', '937', '40.330735', '-84.091114', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28618, 'Prt Jefferson', 2815, '45360', '937', '40.330735', '-84.091114', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28619, 'S Vienna', 2815, '45369', '937', '39.95103', '-83.601904', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28620, 'So Vienna', 2815, '45369', '937', '39.95103', '-83.601904', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28621, 'South Vienna', 2815, '45369', '937', '39.95103', '-83.601904', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28622, 'Beavercrk Twp', 2815, '45385', '937', '39.676683', '-83.902802', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28623, 'Sugarcreek Township', 2815, '45385', '937', '39.676683', '-83.902802', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28624, 'Sugarcrk Twp', 2815, '45385', '937', '39.676683', '-83.902802', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28625, 'Xenia', 2815, '45385', '937', '39.676683', '-83.902802', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28626, 'Dayton', 2815, '45401', '937', '39.7587', '-84.1919', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28627, 'Dayton', 2815, '45426', '937', '39.797416', '-84.319017', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28628, 'Trotwood', 2815, '45426', '937', '39.797416', '-84.319017', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28629, 'Dayton', 2815, '45428', '937', '39.7587', '-84.1919', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28630, 'Veterans Administration', 2815, '45428', '937', '39.7587', '-84.1919', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28631, 'Dayton', 2815, '45435', '937', '39.777786', '-84.066138', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28632, 'Wright State University', 2815, '45435', '937', '39.777786', '-84.066138', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28633, 'Dayton', 2815, '45469', '937', '39.7579', '-84.1935', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28634, 'Univ Dayton', 2815, '45469', '937', '39.7579', '-84.1935', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28635, 'Madison-On-The-Lake', 2815, '44057', '440', '41.778718', '-81.069764', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28636, 'North Madison', 2815, '44057', '440', '41.778718', '-81.069764', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28637, 'South Madison', 2815, '44057', '440', '41.778718', '-81.069764', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28638, 'Parkman', 2815, '44080', '440', '41.372151', '-81.066484', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28639, 'Beulah Beach', 2815, '44089', '440', '41.388619', '-82.371754', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28640, 'Linwood Park', 2815, '44089', '440', '41.388619', '-82.371754', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28641, 'Vermilion', 2815, '44089', '440', '41.388619', '-82.371754', '2018-11-29 04:54:49', '2018-11-29 04:54:49');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(28642, 'Vermilion On The Lake', 2815, '44089', '440', '41.388619', '-82.371754', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28643, 'Cleveland', 2815, '44107', '216', '41.482537', '-81.803525', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28644, 'Edgewater', 2815, '44107', '216', '41.482537', '-81.803525', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28645, 'Lakewood', 2815, '44107', '216', '41.482537', '-81.803525', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28646, 'Cleveland', 2815, '44114', '216', '41.51766', '-81.675188', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28647, 'Cleveland', 2815, '44116', '440', '41.469992', '-81.84886', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28648, 'Rocky River', 2815, '44116', '440', '41.469992', '-81.84886', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28649, 'Cleveland', 2815, '44121', '216', '41.527544', '-81.532414', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28650, 'Cleveland Heights', 2815, '44121', '216', '41.527544', '-81.532414', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28651, 'Cleveland Hts', 2815, '44121', '216', '41.527544', '-81.532414', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28652, 'South Euclid', 2815, '44121', '216', '41.527544', '-81.532414', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28653, 'Cleveland', 2815, '44130', '440', '41.384526', '-81.794714', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28654, 'Middlebrg Hts', 2815, '44130', '440', '41.384526', '-81.794714', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28655, 'Middleburg Heights', 2815, '44130', '440', '41.384526', '-81.794714', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28656, 'Toledo', 2815, '43667', '419', '41.6639', '-83.5554', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28657, 'Beallsville', 2815, '43716', '740', '39.853969', '-81.00155', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28658, 'Old Washingtn', 2815, '43768', '740', '40.036304', '-81.442043', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28659, 'Old Washington', 2815, '43768', '740', '40.036304', '-81.442043', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28660, 'Bakersville', 2815, '43803', '740', '40.3558', '-81.6458', '2018-11-29 04:54:49', '2018-11-29 04:54:49'),\n(28661, 'Adena', 2815, '43901', '740', '40.224358', '-80.856416', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28662, 'Dillonvale', 2815, '43917', '740', '40.230477', '-80.812283', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28663, 'Dunglen', 2815, '43917', '740', '40.230477', '-80.812283', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28664, 'Lansing', 2815, '43934', '740', '40.083088', '-80.794792', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28665, 'Steubenville', 2815, '43952', '740', '40.396747', '-80.675505', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28666, 'Wintersville', 2815, '43952', '740', '40.396747', '-80.675505', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28667, 'Holloway', 2815, '43985', '740', '40.1625', '-81.1325', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28668, 'Jewett', 2815, '43986', '740', '40.389002', '-80.99162', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28669, 'Amherst', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28670, 'Brownhelm', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28671, 'Henrietta', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28672, 'S Amherst', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28673, 'So Amherst', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28674, 'South Amherst', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28675, 'Vermilion', 2815, '44001', '440', '41.371182', '-82.26007', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28676, 'Berea', 2815, '44017', '440', '41.367062', '-81.867074', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28677, 'Elyria', 2815, '44035', '440', '41.36916', '-82.126053', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28678, 'N Ridgeville', 2815, '44035', '440', '41.36916', '-82.126053', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28679, 'North Ridgeville', 2815, '44035', '440', '41.36916', '-82.126053', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28680, 'Ridgeville', 2815, '44035', '440', '41.36916', '-82.126053', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28681, 'Sheffield Village', 2815, '44035', '440', '41.36916', '-82.126053', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28682, 'Sheffield Vlg', 2815, '44035', '440', '41.36916', '-82.126053', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28683, 'Lorain', 2815, '44054', '440', '41.461302', '-82.099472', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28684, 'Sheffield Lake', 2815, '44054', '440', '41.461302', '-82.099472', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28685, 'Sheffield Lk', 2815, '44054', '440', '41.461302', '-82.099472', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28686, 'Sheffield Twp', 2815, '44054', '440', '41.461302', '-82.099472', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28687, 'Sheffield Village', 2815, '44054', '440', '41.461302', '-82.099472', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28688, 'Sheffield Vlg', 2815, '44054', '440', '41.461302', '-82.099472', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28689, 'Roaming Shores', 2815, '44084', '440', '41.669406', '-80.90633', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28690, 'Roaming Shrs', 2815, '44084', '440', '41.669406', '-80.90633', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28691, 'Rock Creek', 2815, '44084', '440', '41.669406', '-80.90633', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28692, 'Twinsburg', 2815, '44087', '330', '41.315344', '-81.440422', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28693, 'Cleveland', 2815, '44102', '216', '41.476005', '-81.7388', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28694, 'Cleveland', 2815, '44103', '216', '41.522116', '-81.644425', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28695, 'Cleveland', 2815, '44117', '216', '41.569964', '-81.526498', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28696, 'Euclid', 2815, '44117', '216', '41.569964', '-81.526498', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28697, 'Cleveland', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28698, 'Cleveland Heights', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28699, 'Cleveland Hts', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28700, 'E Cleveland', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28701, 'East Cleveland', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28702, 'Shaker Heights', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28703, 'Shaker Hts', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28704, 'South Euclid', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28705, 'University Heights', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28706, 'University Ht', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28707, 'University Hts', 2815, '44118', '216', '41.504386', '-81.554126', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28708, 'Cleveland', 2815, '44120', '216', '41.473684', '-81.576502', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28709, 'Shaker Heights', 2815, '44120', '216', '41.473684', '-81.576502', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28710, 'Shaker Hts', 2815, '44120', '216', '41.473684', '-81.576502', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28711, 'Cleveland', 2815, '44134', '440', '41.385833', '-81.709896', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28712, 'Parma', 2815, '44134', '440', '41.385833', '-81.709896', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28713, 'Cleveland', 2815, '44135', '216', '41.423865', '-81.816799', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28714, 'Linndale', 2815, '44135', '216', '41.423865', '-81.816799', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28715, 'Puritas Pk', 2815, '44135', '216', '41.423865', '-81.816799', '2018-11-29 04:54:50', '2018-11-29 04:54:50'),\n(28716, 'Riveredge', 2815, '44135', '216', '41.423865', '-81.816799', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28717, 'Hiram', 2815, '44234', '330', '41.333865', '-81.150672', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28718, 'Hudson', 2815, '44236', '330', '41.244422', '-81.462623', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28719, 'Allstate Ins Co', 2815, '44237', '330', '41.2402', '-81.4409', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28720, 'Hudson', 2815, '44237', '330', '41.2402', '-81.4409', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28721, 'Westfield Center', 2815, '44251', '330', '41.030236', '-81.93269', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28722, 'Westfield Ctr', 2815, '44251', '330', '41.030236', '-81.93269', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28723, 'Litchfield', 2815, '44253', '330', '41.166473', '-82.035751', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28724, 'Wayland', 2815, '44285', '330', '41.1607', '-81.0717', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28725, 'Akron', 2815, '44301', '330', '41.044168', '-81.525446', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28726, 'Firestone Park', 2815, '44301', '330', '41.044168', '-81.525446', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28727, 'Brookfield', 2815, '44403', '330', '41.242949', '-80.574852', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28728, 'Yankee Lake', 2815, '44403', '330', '41.242949', '-80.574852', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28729, 'Girard', 2815, '44420', '330', '41.171267', '-80.679898', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28730, 'North Lima', 2815, '44452', '330', '40.952288', '-80.659731', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28731, 'Orangeville', 2815, '44453', '330', '41.3394', '-80.5193', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28732, 'Struthers', 2815, '44471', '330', '41.048931', '-80.588192', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28733, 'Business Reply', 2815, '44488', '330', '41.2376', '-80.8186', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28734, 'Warren', 2815, '44488', '330', '41.2376', '-80.8186', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28735, 'Youngstown', 2815, '44503', '330', '41.10024', '-80.646822', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28736, 'Youngstown', 2815, '44505', '330', '41.132977', '-80.62478', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28737, 'Youngstown', 2815, '44555', '330', '41.105984', '-80.64854', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28738, 'Youngstown State Univ', 2815, '44555', '330', '41.105984', '-80.64854', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28739, 'Columbia', 2815, '44622', '330', '40.551237', '-81.473047', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28740, 'Dover', 2815, '44622', '330', '40.551237', '-81.473047', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28741, 'Parral', 2815, '44622', '330', '40.551237', '-81.473047', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28742, 'Winfield', 2815, '44622', '330', '40.551237', '-81.473047', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28743, 'Lakeville', 2815, '44638', '419', '40.64386', '-82.133066', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28744, 'Mczena', 2815, '44638', '419', '40.64386', '-82.133066', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28745, 'Middlebranch', 2815, '44652', '330', '40.8903', '-81.3289', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28746, 'Midvale', 2815, '44653', '330', '40.433162', '-81.371158', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28747, 'Paris', 2815, '44669', '330', '40.799502', '-81.160636', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28748, 'Robertsville', 2815, '44670', '330', '40.763038', '-81.187875', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28749, 'Walnut Creek', 2815, '44687', '330', '40.5416', '-81.7218', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28750, 'Wilmot', 2815, '44689', '330', '40.643628', '-81.664329', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28751, 'Canton', 2815, '44703', '330', '40.808906', '-81.380028', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28752, 'Ashland', 2815, '44805', '419', '40.859834', '-82.313485', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28753, 'Bailey Lakes', 2815, '44805', '419', '40.859834', '-82.313485', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28754, 'Olivesburg', 2815, '44805', '419', '40.859834', '-82.313485', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28755, 'Widowville', 2815, '44805', '419', '40.859834', '-82.313485', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28756, 'Grand River', 2815, '44045', '440', '41.7451', '-81.2852', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28757, 'Concord Twp', 2815, '44060', '440', '41.67762', '-81.329808', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28758, 'Kirtland Hills', 2815, '44060', '440', '41.67762', '-81.329808', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28759, 'Mentor', 2815, '44060', '440', '41.67762', '-81.329808', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28760, 'Mentor On The', 2815, '44060', '440', '41.67762', '-81.329808', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28761, 'Mentor On The Lake', 2815, '44060', '440', '41.67762', '-81.329808', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28762, 'Mol', 2815, '44060', '440', '41.67762', '-81.329808', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28763, 'Mentor', 2815, '44061', '440', '41.6662', '-81.3399', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28764, 'Williamsfield', 2815, '44093', '440', '41.534636', '-80.616273', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28765, 'Cleveland', 2815, '44129', '440', '41.386894', '-81.735204', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28766, 'Parma', 2815, '44129', '440', '41.386894', '-81.735204', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28767, 'Brook Park', 2815, '44142', '216', '41.40252', '-81.833846', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28768, 'Brookpark', 2815, '44142', '216', '41.40252', '-81.833846', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28769, 'Cleveland', 2815, '44142', '216', '41.40252', '-81.833846', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28770, 'Cleveland', 2815, '44145', '440', '41.444585', '-81.931246', '2018-11-29 04:54:51', '2018-11-29 04:54:51'),\n(28771, 'Westlake', 2815, '44145', '440', '41.444585', '-81.931246', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28772, 'Cleveland', 2815, '44194', '216', '41.4997', '-81.6956', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28773, 'Key Bank', 2815, '44194', '216', '41.4997', '-81.6956', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28774, 'Brunswick', 2815, '44212', '330', '41.23894', '-81.831613', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28775, 'Sterling', 2815, '44276', '330', '40.934976', '-81.836516', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28776, 'Akron', 2815, '44309', '330', '41.0816', '-81.5192', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28777, 'Akron', 2815, '44310', '330', '41.105854', '-81.497568', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28778, 'Chapel Hill Mall', 2815, '44310', '330', '41.105854', '-81.497568', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28779, 'North Hill', 2815, '44310', '330', '41.105854', '-81.497568', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28780, 'Akron', 2815, '44312', '330', '41.014479', '-81.443288', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28781, 'Ellet', 2815, '44312', '330', '41.014479', '-81.443288', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28782, 'Bazetta', 2815, '44410', '330', '41.359922', '-80.714342', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28783, 'Cortland', 2815, '44410', '330', '41.359922', '-80.714342', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28784, 'Mecca', 2815, '44410', '330', '41.359922', '-80.714342', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28785, 'West Mecca', 2815, '44410', '330', '41.359922', '-80.714342', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28786, 'Deerfield', 2815, '44411', '330', '41.029031', '-81.049252', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28787, 'Yale', 2815, '44411', '330', '41.029031', '-81.049252', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28788, 'Diamond', 2815, '44412', '330', '41.09739', '-81.011876', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28789, 'E Palestine', 2815, '44413', '330', '40.845142', '-80.561405', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28790, 'East Palestine', 2815, '44413', '330', '40.845142', '-80.561405', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28791, 'Leavittsburg', 2815, '44430', '330', '41.239973', '-80.906987', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28792, 'Braceville', 2815, '44444', '330', '41.182967', '-80.978246', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28793, 'Newton Falls', 2815, '44444', '330', '41.182967', '-80.978246', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28794, 'Winona', 2815, '44493', '330', '40.8283', '-80.8966', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28795, 'Cornersburg', 2815, '44511', '330', '41.067643', '-80.698137', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28796, 'Youngstown', 2815, '44511', '330', '41.067643', '-80.698137', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28797, 'Boardman', 2815, '44513', '330', '41.0243', '-80.6634', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28798, 'Youngstown', 2815, '44513', '330', '41.0243', '-80.6634', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28799, 'Gnadenhutten', 2815, '44629', '740', '40.349012', '-81.444136', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28800, 'Malvern', 2815, '44644', '330', '40.68499', '-81.178623', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28801, 'Oneida', 2815, '44644', '330', '40.68499', '-81.178623', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28802, 'Marshallville', 2815, '44645', '330', '40.917183', '-81.723784', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28803, 'Massillon', 2815, '44646', '330', '40.81827', '-81.492994', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28804, 'Nashville', 2815, '44661', '330', '40.596112', '-82.112212', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28805, 'Harmon', 2815, '44662', '330', '40.705422', '-81.56033', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28806, 'Justus', 2815, '44662', '330', '40.705422', '-81.56033', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28807, 'Navarre', 2815, '44662', '330', '40.705422', '-81.56033', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28808, 'Smithville', 2815, '44677', '330', '40.871157', '-81.855319', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28809, 'Zoar', 2815, '44697', '330', '40.610744', '-81.426094', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28810, 'Canton', 2815, '44711', '330', '40.7987', '-81.3788', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28811, 'Canton', 2815, '44714', '330', '40.834507', '-81.3604', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28812, 'Canton', 2815, '44730', '330', '40.761866', '-81.262708', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28813, 'East Canton', 2815, '44730', '330', '40.761866', '-81.262708', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28814, 'Mapleton', 2815, '44730', '330', '40.761866', '-81.262708', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28815, 'Osnaburg', 2815, '44730', '330', '40.761866', '-81.262708', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28816, 'Flat Rock', 2815, '44828', '419', '41.233562', '-82.868552', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28817, 'Adairo', 2815, '44878', '419', '40.939221', '-82.507374', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28818, 'Shenadoah', 2815, '44878', '419', '40.939221', '-82.507374', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28819, 'Shiloh', 2815, '44878', '419', '40.939221', '-82.507374', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28820, 'Sullivan', 2815, '44880', '419', '41.03854', '-82.235409', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28821, 'City View Heights', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28822, 'Fairfield', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28823, 'Hamilton', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28824, 'Indian Spgs', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28825, 'Liberty Twp', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:52', '2018-11-29 04:54:52'),\n(28826, 'New Miami', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28827, 'Saint Clair', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28828, 'Village Of Indian Springs', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28829, 'West Chester', 2815, '45011', '513', '39.426896', '-84.497486', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28830, 'Hamilton', 2815, '45013', '513', '39.419776', '-84.649132', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28831, 'Indian Spgs', 2815, '45013', '513', '39.419776', '-84.649132', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28832, 'Millville', 2815, '45013', '513', '39.419776', '-84.649132', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28833, 'Rossville', 2815, '45013', '513', '39.419776', '-84.649132', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28834, 'Village Of Indian Springs', 2815, '45013', '513', '39.419776', '-84.649132', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28835, 'Reminderville', 2815, '44202', '330', '41.316488', '-81.343332', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28836, 'Cuyahoga Falls', 2815, '44221', '330', '41.143544', '-81.473725', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28837, 'Cuyahoga Fls', 2815, '44221', '330', '41.143544', '-81.473725', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28838, 'Albion', 2815, '44287', '419', '40.93851', '-82.1178', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28839, 'Congress', 2815, '44287', '419', '40.93851', '-82.1178', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28840, 'Lattasburg', 2815, '44287', '419', '40.93851', '-82.1178', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28841, 'Pleasant Home', 2815, '44287', '419', '40.93851', '-82.1178', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28842, 'West Salem', 2815, '44287', '419', '40.93851', '-82.1178', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28843, 'Akron', 2815, '44319', '330', '40.97834', '-81.524345', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28844, 'New Franklin', 2815, '44319', '330', '40.97834', '-81.524345', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28845, 'Akron', 2815, '44320', '330', '41.076858', '-81.578998', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28846, 'Maple Valley', 2815, '44320', '330', '41.076858', '-81.578998', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28847, 'Bristolville', 2815, '44402', '330', '41.386793', '-80.865658', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28848, 'Burghill', 2815, '44404', '330', '41.329745', '-80.558665', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28849, 'Campbell', 2815, '44405', '330', '41.077522', '-80.591894', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28850, 'Coitsville', 2815, '44436', '330', '41.05968', '-80.548133', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28851, 'Lowellville', 2815, '44436', '330', '41.05968', '-80.548133', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28852, 'Masury', 2815, '44438', '330', '41.23527', '-80.543258', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28853, 'North Jackson', 2815, '44451', '330', '41.071992', '-80.873725', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28854, 'Packard Elec Co Div Gm', 2815, '44486', '330', '41.2376', '-80.8186', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28855, 'Warren', 2815, '44486', '330', '41.2376', '-80.8186', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28856, 'Youngstown', 2815, '44502', '330', '41.087712', '-80.642058', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28857, 'Youngstown', 2815, '44504', '330', '41.124017', '-80.655218', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28858, 'Damascus', 2815, '44619', '330', '40.90181', '-80.957555', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28859, 'Dellroy', 2815, '44620', '330', '40.581016', '-81.228936', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28860, 'Kidron', 2815, '44636', '330', '40.7409', '-81.7452', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28861, 'Killbuck', 2815, '44637', '330', '40.48394', '-82.040652', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28862, 'Layland', 2815, '44637', '330', '40.48394', '-82.040652', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28863, 'Stillwell', 2815, '44637', '330', '40.48394', '-82.040652', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28864, 'Sandyville', 2815, '44671', '330', '40.64255', '-81.36485', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28865, 'Sebring', 2815, '44672', '330', '40.919568', '-81.022332', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28866, 'Uniontown', 2815, '44685', '330', '40.961292', '-81.42904', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28867, 'Waynesburg', 2815, '44688', '330', '40.68563', '-81.262475', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28868, 'Canton', 2815, '44704', '330', '40.799162', '-81.346086', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28869, 'Mckinley', 2815, '44704', '330', '40.799162', '-81.346086', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28870, 'Akron Canton Region Airport', 2815, '44720', '330', '40.896635', '-81.434908', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28871, 'Canton', 2815, '44720', '330', '40.896635', '-81.434908', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28872, 'Lake Slagle', 2815, '44720', '330', '40.896635', '-81.434908', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28873, 'Mcdonaldsville', 2815, '44720', '330', '40.896635', '-81.434908', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28874, 'North Canton', 2815, '44720', '330', '40.896635', '-81.434908', '2018-11-29 04:54:53', '2018-11-29 04:54:53'),\n(28875, 'Arcadia', 2815, '44804', '419', '41.117197', '-83.535487', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28876, 'Butler', 2815, '44822', '419', '40.509526', '-82.407324', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28877, 'North Liberty', 2815, '44822', '419', '40.509526', '-82.407324', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28878, 'Hayesville', 2815, '44838', '419', '40.772051', '-82.259546', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28879, 'Ceylon', 2815, '44839', '419', '41.377038', '-82.53513', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28880, 'Huron', 2815, '44839', '419', '41.377038', '-82.53513', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28881, 'Mitiwanga', 2815, '44839', '419', '41.377038', '-82.53513', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28882, 'Ruggles Beach', 2815, '44839', '419', '41.377038', '-82.53513', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28883, 'Shinrock', 2815, '44839', '419', '41.377038', '-82.53513', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28884, 'New Washingtn', 2815, '44854', '419', '40.942533', '-82.846255', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28885, 'New Washington', 2815, '44854', '419', '40.942533', '-82.846255', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28886, 'Sandusky', 2815, '44871', '419', '41.4486', '-82.7084', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28887, 'Lexington', 2815, '44904', '419', '40.677049', '-82.571503', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28888, 'Mansfield', 2815, '44904', '419', '40.677049', '-82.571503', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28889, 'Steam Corners', 2815, '44904', '419', '40.677049', '-82.571503', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28890, 'Cool Ridge Heights', 2815, '44905', '419', '40.779089', '-82.465577', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28891, 'East Mansfield', 2815, '44905', '419', '40.779089', '-82.465577', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28892, 'Mansfield', 2815, '44905', '419', '40.779089', '-82.465577', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28893, 'Collinsville', 2815, '45004', '937', '39.5155', '-84.6094', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28894, 'Oregonia', 2815, '45054', '513', '39.461347', '-84.064086', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28895, 'Darrtown', 2815, '45056', '513', '39.482992', '-84.713286', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28896, 'Miami', 2815, '45056', '513', '39.482992', '-84.713286', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28897, 'Miami Univ', 2815, '45056', '513', '39.482992', '-84.713286', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28898, 'Miami University', 2815, '45056', '513', '39.482992', '-84.713286', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28899, 'Oxford', 2815, '45056', '513', '39.482992', '-84.713286', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28900, 'Reily', 2815, '45056', '513', '39.482992', '-84.713286', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28901, 'West Elkton', 2815, '45070', '937', '39.586794', '-84.556463', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28902, 'Bethel', 2815, '45106', '513', '38.931545', '-84.027952', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28903, 'Mount Olive', 2815, '45106', '513', '38.931545', '-84.027952', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28904, 'Felicity', 2815, '45120', '513', '38.827935', '-84.098104', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28905, 'Stringtown', 2815, '45120', '513', '38.827935', '-84.098104', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28906, 'Ash Ridge', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28907, 'Brown County', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28908, 'East Ashtabula', 2815, '44004', '440', '41.85198', '-80.790472', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28909, 'Edgewood', 2815, '44004', '440', '41.85198', '-80.790472', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28910, 'Plymouth Twp', 2815, '44004', '440', '41.85198', '-80.790472', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28911, 'Chardon', 2815, '44024', '440', '41.570124', '-81.190731', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28912, 'Concord Township', 2815, '44024', '440', '41.570124', '-81.190731', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28913, 'Concord Twp', 2815, '44024', '440', '41.570124', '-81.190731', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28914, 'Kirtland', 2815, '44024', '440', '41.570124', '-81.190731', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28915, 'Kipton', 2815, '44049', '440', '41.267101', '-82.304334', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28916, 'Rochester', 2815, '44090', '440', '41.171481', '-82.212594', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28917, 'Wellington', 2815, '44090', '440', '41.171481', '-82.212594', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28918, 'Cleveland', 2815, '44106', '216', '41.506698', '-81.605352', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28919, 'Cleveland Heights', 2815, '44106', '216', '41.506698', '-81.605352', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28920, 'Cleveland Hts', 2815, '44106', '216', '41.506698', '-81.605352', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28921, 'Cleveland', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28922, 'Lyn May', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28923, 'Lyndhurst', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28924, 'Mayfield', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28925, 'Mayfield Heights', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28926, 'Mayfield Hts', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:54', '2018-11-29 04:54:54'),\n(28927, 'Pepper Pike', 2815, '44124', '440', '41.496789', '-81.471739', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28928, 'Cleveland', 2815, '44133', '440', '41.314626', '-81.743504', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28929, 'N Royalton', 2815, '44133', '440', '41.314626', '-81.743504', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28930, 'North Royalton', 2815, '44133', '440', '41.314626', '-81.743504', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28931, 'Cleveland', 2815, '44138', '440', '41.378847', '-81.930683', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28932, 'Olmsted Falls', 2815, '44138', '440', '41.378847', '-81.930683', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28933, 'Olmsted Twp', 2815, '44138', '440', '41.378847', '-81.930683', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28934, 'Strongsville', 2815, '44149', '440', '41.312901', '-81.84944', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28935, 'Cleveland', 2815, '44190', '216', '41.4997', '-81.6956', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28936, 'Key Bank', 2815, '44190', '216', '41.4997', '-81.6956', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28937, 'Brm Unique Firm Zip', 2815, '44197', '216', '41.4997', '-81.6956', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28938, 'Cleveland', 2815, '44197', '216', '41.4997', '-81.6956', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28939, 'Briarwood Beach', 2815, '44215', '330', '41.066753', '-81.905521', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28940, 'Chippewa Lake', 2815, '44215', '330', '41.066753', '-81.905521', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28941, 'Chippewa On The Lake', 2815, '44215', '330', '41.066753', '-81.905521', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28942, 'Gloria Glens', 2815, '44215', '330', '41.066753', '-81.905521', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28943, 'Medina', 2815, '44215', '330', '41.066753', '-81.905521', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28944, 'Creston', 2815, '44217', '330', '40.950574', '-81.919968', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28945, 'Garrettsville', 2815, '44231', '330', '41.309528', '-81.07258', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28946, 'Nelson', 2815, '44231', '330', '41.309528', '-81.07258', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28947, 'Kent', 2815, '44242', '330', '41.1538', '-81.3582', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28948, 'Kent State University', 2815, '44242', '330', '41.1538', '-81.3582', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28949, 'Medina', 2815, '44258', '330', '41.1383', '-81.8639', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28950, 'Akron', 2815, '44306', '330', '41.04069', '-81.479723', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28951, 'South Arlington', 2815, '44306', '330', '41.04069', '-81.479723', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28952, 'Akron', 2815, '44317', '330', '41.0816', '-81.5192', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28953, 'Firestone Tire & Rub Co', 2815, '44317', '330', '41.0816', '-81.5192', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28954, 'Akron', 2815, '44372', '330', '41.0816', '-81.5192', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28955, 'Mineral Ridge', 2815, '44440', '330', '41.14778', '-80.782419', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28956, 'New Middletown', 2815, '44442', '330', '40.96587', '-80.54954', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28957, 'New Middletwn', 2815, '44442', '330', '40.96587', '-80.54954', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28958, 'Champion', 2815, '44483', '330', '41.268089', '-80.817179', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28959, 'Warren', 2815, '44483', '330', '41.268089', '-80.817179', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28960, 'Youngstown', 2815, '44501', '330', '41.0994', '-80.6494', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28961, 'Charm', 2815, '44617', '330', '40.5064', '-81.7852', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28962, 'Limaville', 2815, '44640', '330', '40.985008', '-81.147021', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28963, 'Mechanicstown', 2815, '44651', '330', '40.625924', '-80.955666', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28964, 'Lindentree', 2815, '44656', '330', '40.57956', '-81.339216', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28965, 'Mineral City', 2815, '44656', '330', '40.57956', '-81.339216', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28966, 'New Cumberland', 2815, '44656', '330', '40.57956', '-81.339216', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28967, 'Zoarville', 2815, '44656', '330', '40.57956', '-81.339216', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28968, 'Craigton', 2815, '44676', '330', '40.679137', '-82.025182', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28969, 'Shreve', 2815, '44676', '330', '40.679137', '-82.025182', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28970, 'Ragersville', 2815, '44681', '330', '40.485557', '-81.676554', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28971, 'Shanesville', 2815, '44681', '330', '40.485557', '-81.676554', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28972, 'Sugarcreek', 2815, '44681', '330', '40.485557', '-81.676554', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28973, 'Feed Springs', 2815, '44683', '740', '40.356801', '-81.309602', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28974, 'Riverside Park', 2815, '44683', '740', '40.356801', '-81.309602', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28975, 'Roanoke', 2815, '44683', '740', '40.356801', '-81.309602', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28976, 'Rush', 2815, '44683', '740', '40.356801', '-81.309602', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28977, 'Uhrichsville', 2815, '44683', '740', '40.356801', '-81.309602', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28978, 'Canton', 2815, '44735', '330', '40.7987', '-81.3788', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28979, 'Canton', 2815, '44767', '330', '40.7987', '-81.3788', '2018-11-29 04:54:55', '2018-11-29 04:54:55'),\n(28980, 'Suarez Corporation', 2815, '44767', '330', '40.7987', '-81.3788', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28981, 'Bloomdale', 2815, '44817', '419', '41.207301', '-83.552302', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28982, 'Castalia', 2815, '44824', '419', '41.385394', '-82.813111', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28983, 'Ottawa Hills', 2815, '43606', '419', '41.674272', '-83.60292', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28984, 'Toledo', 2815, '43606', '419', '41.674272', '-83.60292', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28985, 'Blue Cross Hosp Serv', 2815, '43656', '419', '41.6639', '-83.5554', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28986, 'Toledo', 2815, '43656', '419', '41.6639', '-83.5554', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28987, 'Toledo', 2815, '43697', '419', '41.6639', '-83.5554', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28988, 'Barnesville', 2815, '43713', '740', '39.995196', '-81.161531', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28989, 'Somerton', 2815, '43713', '740', '39.995196', '-81.161531', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28990, 'Fultonham', 2815, '43738', '740', '39.855846', '-82.14227', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28991, 'Guernsey', 2815, '43749', '740', '40.159202', '-81.548724', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28992, 'Kimbolton', 2815, '43749', '740', '40.159202', '-81.548724', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28993, 'Lewisville', 2815, '43754', '740', '39.757134', '-81.228881', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28994, 'Sycamore Valley', 2815, '43754', '740', '39.757134', '-81.228881', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28995, 'Sycamore Vly', 2815, '43754', '740', '39.757134', '-81.228881', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28996, 'Pleasant City', 2815, '43772', '740', '39.882596', '-81.536615', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28997, 'Bellaire', 2815, '43906', '740', '40.000916', '-80.806221', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28998, 'Georges Run', 2815, '43938', '740', '40.302426', '-80.670133', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(28999, 'Mingo Jct', 2815, '43938', '740', '40.302426', '-80.670133', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29000, 'Mingo Junction', 2815, '43938', '740', '40.302426', '-80.670133', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29001, 'New Alexandria', 2815, '43938', '740', '40.302426', '-80.670133', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29002, 'Bannock', 2815, '43972', '740', '40.100592', '-80.973498', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29003, 'Scio', 2815, '43988', '740', '40.408719', '-81.107796', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29004, 'Macedonia', 2815, '44056', '330', '41.313498', '-81.496454', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29005, 'Northfield', 2815, '44056', '330', '41.313498', '-81.496454', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29006, 'Newbury', 2815, '44065', '440', '41.461808', '-81.248896', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29007, 'North Perry', 2815, '44081', '440', '41.769646', '-81.14721', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29008, 'Perry', 2815, '44081', '440', '41.769646', '-81.14721', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29009, 'Windsor', 2815, '44099', '440', '41.553339', '-80.969054', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29010, 'Windsor Mills', 2815, '44099', '440', '41.553339', '-80.969054', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29011, 'Cleveland', 2815, '44113', '216', '41.485803', '-81.694412', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29012, 'Beachwood', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29013, 'Cleveland', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29014, 'Highland Hills', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29015, 'Highland Hls', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29016, 'Orange Village', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29017, 'Pepper Pike', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29018, 'Shaker Heights', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29019, 'Shaker Hts', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29020, 'University Heights', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29021, 'University Ht', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29022, 'Warrensville Heights', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29023, 'Warrensville Hts', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29024, 'Warrensvl Hts', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29025, 'Woodmere', 2815, '44122', '216', '41.479516', '-81.511897', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29026, 'Brooklyn Heights', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29027, 'Brooklyn Hts', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29028, 'Cleveland', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29029, 'Independence', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29030, 'Parma', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29031, 'Seven Hills', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29032, 'Valley View', 2815, '44131', '216', '41.391674', '-81.641418', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29033, 'Cleveland', 2815, '44181', '216', '41.4997', '-81.6956', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29034, 'Cleveland', 2815, '44188', '216', '41.4997', '-81.6956', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29035, 'Firestone Tire & Rub Co', 2815, '44188', '216', '41.4997', '-81.6956', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29036, 'Cleveland', 2815, '44199', '216', '41.4997', '-81.6956', '2018-11-29 04:54:56', '2018-11-29 04:54:56'),\n(29037, 'Cuyahoga Falls', 2815, '44222', '330', '41.1338', '-81.4848', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29038, 'Cuyahoga Fls', 2815, '44222', '330', '41.1338', '-81.4848', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29039, 'Hinckley', 2815, '44233', '330', '41.236478', '-81.736265', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29040, 'Edinburg', 2815, '44272', '330', '41.086614', '-81.170558', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29041, 'Rootstown', 2815, '44272', '330', '41.086614', '-81.170558', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29042, 'Akron', 2815, '44315', '330', '41.0816', '-81.5192', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29043, 'Lockhead Martin', 2815, '44315', '330', '41.0816', '-81.5192', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29044, 'Akron', 2815, '44333', '330', '41.156262', '-81.635924', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29045, 'Fairlawn', 2815, '44333', '330', '41.156262', '-81.635924', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29046, 'Montrose', 2815, '44333', '330', '41.156262', '-81.635924', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29047, 'Canfield', 2815, '44406', '330', '41.013906', '-80.772766', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29048, 'Columbiana', 2815, '44408', '330', '40.885004', '-80.67998', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29049, 'Farmdale', 2815, '44417', '330', '41.42478', '-80.670518', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29050, 'Gustavus', 2815, '44417', '330', '41.42478', '-80.670518', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29051, 'Mayburn Corners', 2815, '44417', '330', '41.42478', '-80.670518', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29052, 'Greenford', 2815, '44422', '330', '40.9436', '-80.7919', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29053, 'Hartford', 2815, '44424', '330', '41.3114', '-80.5687', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29054, 'Leetonia', 2815, '44431', '330', '40.851534', '-80.75263', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29055, 'Washingtonville', 2815, '44490', '330', '40.897919', '-80.766502', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29056, 'Akron', 2815, '44325', '330', '41.073452', '-81.51315', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29057, 'Univ Of Akron', 2815, '44325', '330', '41.073452', '-81.51315', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29058, 'Akron', 2815, '44398', '330', '41.0816', '-81.5192', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29059, 'Akron Business Reply', 2815, '44398', '330', '41.0816', '-81.5192', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29060, 'Fairlawn', 2815, '44398', '330', '41.0816', '-81.5192', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29061, 'Lisbon', 2815, '44432', '330', '40.733534', '-80.749993', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29062, 'Mesopotamia', 2815, '44439', '440', '41.4584', '-80.9554', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29063, 'W Farmington', 2815, '44491', '330', '41.369836', '-80.981042', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29064, 'West Farmington', 2815, '44491', '330', '41.369836', '-80.981042', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29065, 'Youngstown', 2815, '44509', '330', '41.108632', '-80.690531', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29066, 'Poland', 2815, '44514', '330', '41.002184', '-80.619386', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29067, 'Youngstown', 2815, '44514', '330', '41.002184', '-80.619386', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29068, 'Homeworth', 2815, '44634', '330', '40.828757', '-81.061252', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29069, 'Fairhope', 2815, '44641', '330', '40.874175', '-81.233446', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29070, 'Louisville', 2815, '44641', '330', '40.874175', '-81.233446', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29071, 'Massillon', 2815, '44648', '330', '40.7974', '-81.2159', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29072, 'Sherrodsville', 2815, '44675', '740', '40.504725', '-81.244207', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29073, 'Deersville', 2815, '44693', '740', '40.309065', '-81.187644', '2018-11-29 04:54:57', '2018-11-29 04:54:57');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(29074, 'Belden Village Mall', 2815, '44718', '330', '40.844133', '-81.440854', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29075, 'Canton', 2815, '44718', '330', '40.844133', '-81.440854', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29076, 'Jacksn Belden', 2815, '44718', '330', '40.844133', '-81.440854', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29077, 'Jackson Belden', 2815, '44718', '330', '40.844133', '-81.440854', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29078, 'Lake Cable', 2815, '44718', '330', '40.844133', '-81.440854', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29079, 'Birmingham', 2815, '44816', '440', '41.336398', '-82.354585', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29080, 'Bloomville', 2815, '44818', '419', '41.00115', '-82.989163', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29081, 'Lykens', 2815, '44818', '419', '41.00115', '-82.989163', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29082, 'Chatfield', 2815, '44825', '419', '40.94683', '-82.94255', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29083, 'Crestline', 2815, '44827', '419', '40.827592', '-82.755554', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29084, 'North Robinson', 2815, '44827', '419', '40.827592', '-82.755554', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29085, 'Kansas', 2815, '44841', '419', '41.257268', '-83.307488', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29086, 'Nankin', 2815, '44848', '419', '40.9255', '-82.2761', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29087, 'Polk', 2815, '44866', '419', '40.9154', '-82.195656', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29088, 'Redhaw', 2815, '44866', '419', '40.9154', '-82.195656', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29089, 'Rowsburg', 2815, '44866', '419', '40.9154', '-82.195656', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29090, 'Belle Vernon', 2815, '44882', '419', '40.950019', '-83.144364', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29091, 'Benton', 2815, '44882', '419', '40.950019', '-83.144364', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29092, 'Deunquat', 2815, '44882', '419', '40.950019', '-83.144364', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29093, 'Lemert', 2815, '44882', '419', '40.950019', '-83.144364', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29094, 'Plankton', 2815, '44882', '419', '40.950019', '-83.144364', '2018-11-29 04:54:57', '2018-11-29 04:54:57'),\n(29095, 'Sycamore', 2815, '44882', '419', '40.950019', '-83.144364', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29096, 'Mansfield', 2815, '44907', '419', '40.725647', '-82.52743', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29097, 'Fairfield', 2815, '45018', '513', '39.3996', '-84.5615', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29098, 'Hamilton', 2815, '45018', '513', '39.3996', '-84.5615', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29099, 'Kings Island', 2815, '45034', '513', '39.359873', '-84.247838', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29100, 'Kings Mills', 2815, '45034', '513', '39.359873', '-84.247838', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29101, 'Corwin', 2815, '45068', '513', '39.532544', '-84.067378', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29102, 'Lytle', 2815, '45068', '513', '39.532544', '-84.067378', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29103, 'Mount Holly', 2815, '45068', '513', '39.532544', '-84.067378', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29104, 'Waynesville', 2815, '45068', '513', '39.532544', '-84.067378', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29105, 'Blanchester', 2815, '45107', '937', '39.279915', '-83.9549', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29106, 'Gist Settlement', 2815, '45159', '937', '39.348038', '-83.698188', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29107, 'New Vienna', 2815, '45159', '937', '39.348038', '-83.698188', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29108, 'Wilmington', 2815, '45177', '937', '39.453394', '-83.824154', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29109, 'Carthage', 2815, '45216', '513', '39.201555', '-84.478023', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29110, 'Cincinnati', 2815, '45216', '513', '39.201555', '-84.478023', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29111, 'Elmwood Pl', 2815, '45216', '513', '39.201555', '-84.478023', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29112, 'Elmwood Place', 2815, '45216', '513', '39.201555', '-84.478023', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29113, 'Saint Bernard', 2815, '45216', '513', '39.201555', '-84.478023', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29114, 'Valleydale', 2815, '45216', '513', '39.201555', '-84.478023', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29115, 'Cincinnati', 2815, '45227', '513', '39.159187', '-84.372066', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29116, 'Fairfax', 2815, '45227', '513', '39.159187', '-84.372066', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29117, 'Mariemont', 2815, '45227', '513', '39.159187', '-84.372066', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29118, 'Cincinnati', 2815, '45234', '513', '39.1616', '-84.4569', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29119, 'Cincinnati', 2815, '45243', '513', '39.183314', '-84.345901', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29120, 'Columbia Township', 2815, '45243', '513', '39.183314', '-84.345901', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29121, 'Whitehouse', 2815, '43571', '419', '41.511388', '-83.81205', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29122, 'Toledo', 2815, '43603', '419', '41.6639', '-83.5554', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29123, 'Northwood', 2815, '43605', '419', '41.656709', '-83.50832', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29124, 'Oregon', 2815, '43605', '419', '41.656709', '-83.50832', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29125, 'Toledo', 2815, '43605', '419', '41.656709', '-83.50832', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29126, 'Toledo', 2815, '43607', '419', '41.647277', '-83.604088', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29127, 'Toledo', 2815, '43614', '419', '41.6018', '-83.633822', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29128, 'Chrysler Corp Toledo Assy', 2815, '43657', '419', '41.6639', '-83.5554', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29129, 'Toledo', 2815, '43657', '419', '41.6639', '-83.5554', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29130, 'Business Reply Firm Zip', 2815, '43682', '419', '41.6639', '-83.5554', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29131, 'Toledo', 2815, '43682', '419', '41.6639', '-83.5554', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29132, 'New Lexington', 2815, '43764', '740', '39.723696', '-82.178695', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29133, 'Pennsville', 2815, '43787', '740', '39.5356', '-81.818284', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29134, 'Stockport', 2815, '43787', '740', '39.5356', '-81.818284', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29135, 'Blissfield', 2815, '43805', '740', '40.3994', '-81.9656', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29136, 'Newcomerstown', 2815, '43832', '740', '40.284816', '-81.564744', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29137, 'Wolf', 2815, '43832', '740', '40.284816', '-81.564744', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29138, 'Cream City', 2815, '43932', '330', '40.525286', '-80.751236', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29139, 'Irondale', 2815, '43932', '330', '40.525286', '-80.751236', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29140, 'Freeport', 2815, '43973', '740', '40.230554', '-81.2176', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29141, 'Auburn Township', 2815, '44023', '440', '41.390165', '-81.304147', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29142, 'Auburn Twp', 2815, '44023', '440', '41.390165', '-81.304147', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29143, 'Bainbridge Township', 2815, '44023', '440', '41.390165', '-81.304147', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29144, 'Chagrin Falls', 2815, '44023', '440', '41.390165', '-81.304147', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29145, 'Conneaut', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29146, 'Conneaut Harbor', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29147, 'East Conneaut', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29148, 'Farnham', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29149, 'Kelloggsville', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:58', '2018-11-29 04:54:58'),\n(29150, 'Monroe Center', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29151, 'Monroe Twp', 2815, '44030', '440', '41.897946', '-80.616392', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29152, 'Dorset', 2815, '44032', '440', '41.676629', '-80.665753', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29153, 'Huntsburg', 2815, '44046', '440', '41.534847', '-81.058638', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29154, 'Montville', 2815, '44064', '440', '41.602988', '-81.046682', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29155, 'Asm International', 2815, '44073', '440', '41.4944', '-81.3409', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29156, 'Materials Park', 2815, '44073', '440', '41.4944', '-81.3409', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29157, 'Novelty', 2815, '44073', '440', '41.4944', '-81.3409', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29158, 'Pierpont', 2815, '44082', '440', '41.753992', '-80.572716', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29159, 'Cleveland', 2815, '44125', '216', '41.399407', '-81.633004', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29160, 'Cuyahoga Heights', 2815, '44125', '216', '41.399407', '-81.633004', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29161, 'Garfield', 2815, '44125', '216', '41.399407', '-81.633004', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29162, 'Garfield Heights', 2815, '44125', '216', '41.399407', '-81.633004', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29163, 'Garfield Hts', 2815, '44125', '216', '41.399407', '-81.633004', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29164, 'Valley View', 2815, '44125', '216', '41.399407', '-81.633004', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29165, 'Clinton', 2815, '44216', '330', '40.939617', '-81.562508', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29166, 'New Franklin', 2815, '44216', '330', '40.939617', '-81.562508', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29167, 'Doylestown', 2815, '44230', '330', '40.96266', '-81.694752', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29168, 'Green', 2815, '44232', '330', '40.9318', '-81.465', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29169, 'Greensburg', 2815, '44232', '330', '40.9318', '-81.465', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29170, 'Streetsboro', 2815, '44241', '330', '41.239251', '-81.333941', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29171, 'Black Horse', 2815, '44266', '330', '41.168285', '-81.175345', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29172, 'Campbellsport', 2815, '44266', '330', '41.168285', '-81.175345', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29173, 'Charlestown', 2815, '44266', '330', '41.168285', '-81.175345', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29174, 'Proctor', 2815, '44266', '330', '41.168285', '-81.175345', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29175, 'Ravenna', 2815, '44266', '330', '41.168285', '-81.175345', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29176, 'Cable', 2815, '43009', '937', '40.158706', '-83.648739', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29177, 'Granville', 2815, '43023', '740', '40.082693', '-82.546226', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29178, 'Marysville', 2815, '43040', '937', '40.26356', '-83.368674', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29179, 'Pataskala', 2815, '43073', '614', '39.9969', '-82.7523', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29180, 'Summit Sta', 2815, '43073', '614', '39.9969', '-82.7523', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29181, 'Summit Station', 2815, '43073', '614', '39.9969', '-82.7523', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29182, 'Sunbury', 2815, '43074', '740', '40.26728', '-82.854572', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29183, 'Newark', 2815, '43093', '740', '40.0581', '-82.4014', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29184, 'State Farm Insurance', 2815, '43093', '740', '40.0581', '-82.4014', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29185, 'Darbydale', 2815, '43123', '614', '39.863966', '-83.128864', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29186, 'Grove City', 2815, '43123', '614', '39.863966', '-83.128864', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29187, 'Urbancrest', 2815, '43123', '614', '39.863966', '-83.128864', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29188, 'Harrisburg', 2815, '43126', '614', '39.810877', '-83.171778', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29189, 'Milledgeville', 2815, '43142', '740', '39.5912', '-83.588122', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29190, 'Laurelville', 2815, '43156', '740', '39.55318', '-82.77758', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29191, 'Tarlton', 2815, '43156', '740', '39.55318', '-82.77758', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29192, 'Union Furnace', 2815, '43158', '740', '39.461752', '-82.367999', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29193, 'Columbus', 2815, '43223', '614', '39.922874', '-83.046764', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29194, 'Columbus', 2815, '43224', '614', '40.041778', '-82.963237', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29195, 'Columbus', 2815, '43240', '614', '40.146034', '-82.980006', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29196, 'Columbus', 2815, '43260', '614', '39.9602', '-82.9989', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29197, 'Huntington National Bank', 2815, '43260', '614', '39.9602', '-82.9989', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29198, 'Belle Center', 2815, '43310', '937', '40.58013', '-83.769524', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29199, 'Iberia', 2815, '43325', '419', '40.6704', '-82.8436', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29200, 'Prospect', 2815, '43342', '740', '40.478372', '-83.187338', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29201, 'West Liberty', 2815, '43357', '937', '40.2518', '-83.737394', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29202, 'Clyde', 2815, '43410', '419', '41.321244', '-82.948687', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29203, 'Hamler', 2815, '43524', '419', '41.225001', '-84.035919', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29204, 'Milton Center', 2815, '43541', '419', '41.301188', '-83.829596', '2018-11-29 04:54:59', '2018-11-29 04:54:59'),\n(29205, 'Monclova', 2815, '43542', '419', '41.569269', '-83.774642', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29206, 'Holiday City', 2815, '43543', '419', '41.606669', '-84.632215', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29207, 'Montpelier', 2815, '43543', '419', '41.606669', '-84.632215', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29208, 'Evansport', 2815, '43557', '419', '41.49117', '-84.401557', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29209, 'Stryker', 2815, '43557', '419', '41.49117', '-84.401557', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29210, 'Sylvania', 2815, '43560', '419', '41.693126', '-83.728676', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29211, 'Toledo', 2815, '43660', '419', '41.6639', '-83.5554', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29212, 'Toledo Blade', 2815, '43660', '419', '41.6639', '-83.5554', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29213, 'Chandlersville', 2815, '43727', '740', '39.863444', '-81.798905', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29214, 'Chandlersvlle', 2815, '43727', '740', '39.863444', '-81.798905', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29215, 'Chesterhill', 2815, '43728', '740', '39.49209', '-81.912043', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29216, 'Morristown', 2815, '43759', '740', '40.0633', '-81.0744', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29217, 'Moxahala', 2815, '43761', '740', '39.6626', '-82.1366', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29218, 'Conesville', 2815, '43811', '740', '40.18436', '-81.920674', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29219, 'Warsaw', 2815, '43844', '740', '40.327352', '-82.047266', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29220, 'W Lafayette', 2815, '43845', '740', '40.249576', '-81.726492', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29221, 'West Lafayette', 2815, '43845', '740', '40.249576', '-81.726492', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29222, 'Bergholz', 2815, '43908', '740', '40.499678', '-80.866064', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29223, 'Bloomingdale', 2815, '43910', '740', '40.37862', '-80.794723', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29224, 'Unionport', 2815, '43910', '740', '40.37862', '-80.794723', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29225, 'Fairpoint', 2815, '43927', '740', '40.118586', '-80.945035', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29226, 'Glencoe', 2815, '43928', '740', '40.010118', '-80.894782', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29227, 'Powhatan Point', 2815, '43942', '740', '39.871123', '-80.847352', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29228, 'Powhatan Pt', 2815, '43942', '740', '39.871123', '-80.847352', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29229, 'Richmond', 2815, '43944', '740', '40.42507', '-80.771465', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29230, 'Hopedale', 2815, '43976', '740', '40.363234', '-80.910295', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29231, 'Grafton', 2815, '44044', '440', '41.268386', '-82.045765', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29232, 'North Eaton', 2815, '44044', '440', '41.268386', '-82.045765', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29233, 'Middlefield', 2815, '44062', '440', '41.452814', '-81.026466', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29234, 'Kirtland', 2815, '44094', '440', '41.638178', '-81.37721', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29235, 'Kirtland Hills', 2815, '44094', '440', '41.638178', '-81.37721', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29236, 'Waite Hill', 2815, '44094', '440', '41.638178', '-81.37721', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29237, 'Willoughby', 2815, '44094', '440', '41.638178', '-81.37721', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29238, 'Willoughby Hills', 2815, '44094', '440', '41.638178', '-81.37721', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29239, 'Wiloughby Hls', 2815, '44094', '440', '41.638178', '-81.37721', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29240, 'Eastlake', 2815, '44095', '440', '41.65913', '-81.444604', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29241, 'Lakeline', 2815, '44095', '440', '41.65913', '-81.444604', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29242, 'Timberlake', 2815, '44095', '440', '41.65913', '-81.444604', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29243, 'Willoughby', 2815, '44095', '440', '41.65913', '-81.444604', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29244, 'Willowick', 2815, '44095', '440', '41.65913', '-81.444604', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29245, 'Cleveland', 2815, '44111', '216', '41.459845', '-81.794778', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29246, 'Bedford Heights', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29247, 'Bedford Hts', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29248, 'Cleveland', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29249, 'Garfield Heights', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29250, 'Garfield Hts', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29251, 'Highland Hills', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29252, 'Highland Hls', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29253, 'North Randall', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29254, 'Orange Village', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29255, 'Warrensville Heights', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29256, 'Warrensville Hts', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29257, 'Warrensvl Hts', 2815, '44128', '216', '41.437734', '-81.535746', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29258, 'Brooklyn', 2815, '44144', '216', '41.438596', '-81.74119', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29259, 'Cleveland', 2815, '44144', '216', '41.438596', '-81.74119', '2018-11-29 04:55:00', '2018-11-29 04:55:00'),\n(29260, 'Cleveland', 2815, '44192', '216', '41.4997', '-81.6956', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29261, 'Huntington Bank', 2815, '44192', '216', '41.4997', '-81.6956', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29262, 'Cleveland', 2815, '44193', '216', '41.4997', '-81.6956', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29263, 'National City Bank', 2815, '44193', '216', '41.4997', '-81.6956', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29264, 'Brady Lake', 2815, '44211', '330', '41.1595', '-81.3173', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29265, 'Mogadore', 2815, '44260', '330', '41.030958', '-81.336329', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29266, 'Suffield', 2815, '44260', '330', '41.030958', '-81.336329', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29267, 'Munroe Falls', 2815, '44262', '330', '41.138246', '-81.43348', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29268, 'Akron', 2815, '44311', '330', '41.064871', '-81.523195', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29269, 'Akron', 2815, '44313', '330', '41.147634', '-81.565349', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29270, 'Akron', 2815, '44326', '330', '41.0816', '-81.5192', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29271, 'Akron Public Lib', 2815, '44326', '330', '41.0816', '-81.5192', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29272, 'Akron', 2815, '44328', '330', '41.0816', '-81.5192', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29273, 'Akron Beacon Journal', 2815, '44328', '330', '41.0816', '-81.5192', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29274, 'Kensington', 2815, '44427', '330', '40.719655', '-80.938946', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29275, 'New Waterford', 2815, '44445', '330', '40.846276', '-80.619546', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29276, 'Berlin', 2815, '44610', '330', '40.559126', '-81.797619', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29277, 'Brewster', 2815, '44613', '330', '40.714165', '-81.598365', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29278, 'Stillwater', 2815, '44679', '740', '40.3236', '-81.3089', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29279, 'Strasburg', 2815, '44680', '330', '40.606512', '-81.553612', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29280, 'Bowerston', 2815, '44695', '740', '40.444222', '-81.165944', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29281, 'Conotton', 2815, '44695', '740', '40.444222', '-81.165944', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29282, 'New Hagerstown', 2815, '44695', '740', '40.444222', '-81.165944', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29283, 'Bellevue', 2815, '44811', '419', '41.24838', '-82.841503', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29284, 'Berlin Heights', 2815, '44814', '419', '41.324396', '-82.452', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29285, 'Berlin Hts', 2815, '44814', '419', '41.324396', '-82.452', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29286, 'Berlinville', 2815, '44814', '419', '41.324396', '-82.452', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29287, 'Amsden', 2815, '44830', '419', '41.16428', '-83.403278', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29288, 'Fostoria', 2815, '44830', '419', '41.16428', '-83.403278', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29289, 'Milan', 2815, '44846', '419', '41.31588', '-82.608204', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29290, 'Old Fort', 2815, '44861', '419', '41.244352', '-83.154772', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29291, 'Hamilton', 2815, '45015', '513', '39.359594', '-84.529662', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29292, 'Indian Spgs', 2815, '45015', '513', '39.359594', '-84.529662', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29293, 'Lindenwald', 2815, '45015', '513', '39.359594', '-84.529662', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29294, 'Princeton', 2815, '45015', '513', '39.359594', '-84.529662', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29295, 'Village Of Indian Springs', 2815, '45015', '513', '39.359594', '-84.529662', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29296, 'Waldo', 2815, '43356', '740', '40.452753', '-83.049016', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29297, 'Cygnet', 2815, '43413', '419', '41.246606', '-83.664814', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29298, 'Is St George', 2815, '43436', '419', '41.71534', '-82.82101', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29299, 'Isle Saint George', 2815, '43436', '419', '41.71534', '-82.82101', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29300, 'Isle St George', 2815, '43436', '419', '41.71534', '-82.82101', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29301, 'Kelleys Is', 2815, '43438', '419', '41.604634', '-82.704473', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29302, 'Kelleys Island', 2815, '43438', '419', '41.604634', '-82.704473', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29303, 'Farmer', 2815, '43520', '419', '41.3833', '-84.6308', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29304, 'Hoytville', 2815, '43529', '419', '41.18789', '-83.784304', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29305, 'Metamora', 2815, '43540', '419', '41.69546', '-83.939026', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29306, 'Florida', 2815, '43545', '419', '41.391174', '-84.121099', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29307, 'Napoleon', 2815, '43545', '419', '41.391174', '-84.121099', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29308, 'Okolona', 2815, '43545', '419', '41.391174', '-84.121099', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29309, 'Sherwood', 2815, '43556', '419', '41.318059', '-84.556501', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29310, 'Tontogany', 2815, '43565', '419', '41.418802', '-83.740336', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29311, 'Ottawa Hills', 2815, '43615', '419', '41.650256', '-83.674474', '2018-11-29 04:55:01', '2018-11-29 04:55:01'),\n(29312, 'Sylvania Township', 2815, '43615', '419', '41.650256', '-83.674474', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29313, 'Sylvania Twp', 2815, '43615', '419', '41.650256', '-83.674474', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29314, 'Toledo', 2815, '43615', '419', '41.650256', '-83.674474', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29315, 'Courtesy Reply Firm Zip', 2815, '43681', '419', '41.6639', '-83.5554', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29316, 'Toledo', 2815, '43681', '419', '41.6639', '-83.5554', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29317, 'Blue Rock', 2815, '43720', '740', '39.815012', '-81.876284', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29318, 'Mcconnelsville', 2815, '43756', '740', '39.696102', '-81.817152', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29319, 'Mcconnelsvle', 2815, '43756', '740', '39.696102', '-81.817152', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29320, 'Reinersville', 2815, '43756', '740', '39.696102', '-81.817152', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29321, 'Summerfield', 2815, '43788', '740', '39.790386', '-81.347511', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29322, 'Frazeysburg', 2815, '43822', '740', '40.168968', '-82.161732', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29323, 'Clarington', 2815, '43915', '740', '39.750368', '-80.902551', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29324, 'Neffs', 2815, '43940', '740', '40.027368', '-80.817809', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29325, 'New Athens', 2815, '43981', '740', '40.184972', '-80.995456', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29326, 'Bentleyville', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29327, 'Chagrin Falls', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29328, 'Chagrin Township', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29329, 'Hunting Valley', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29330, 'Moreland Hills', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29331, 'Moreland Hls', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29332, 'Munson Twp', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29333, 'Newbury Twp', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29334, 'Orange', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29335, 'Orange Village', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29336, 'Russell Township', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29337, 'South Russell', 2815, '44022', '440', '41.451328', '-81.393304', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29338, 'East Claridon', 2815, '44033', '440', '41.5327', '-81.1156', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29339, 'Gates Mills', 2815, '44040', '440', '41.534214', '-81.415502', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29340, 'Mayfield Village', 2815, '44040', '440', '41.534214', '-81.415502', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29341, 'Mayfield Vlg', 2815, '44040', '440', '41.534214', '-81.415502', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29342, 'Jefferson', 2815, '44047', '440', '41.700393', '-80.720215', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29343, 'Lenox', 2815, '44047', '440', '41.700393', '-80.720215', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29344, 'New Lyme', 2815, '44047', '440', '41.700393', '-80.720215', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29345, 'Novelty', 2815, '44072', '440', '41.470096', '-81.332149', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29346, 'Russell', 2815, '44072', '440', '41.470096', '-81.332149', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29347, 'Russell Township', 2815, '44072', '440', '41.470096', '-81.332149', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29348, 'Elyria', 2815, '44074', '440', '41.290583', '-82.224245', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29349, 'New Russia Township', 2815, '44074', '440', '41.290583', '-82.224245', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29350, 'Oberlin', 2815, '44074', '440', '41.290583', '-82.224245', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29351, 'Unionville', 2815, '44088', '440', '41.7826', '-81.0024', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29352, 'Eastlake', 2815, '44097', '440', '41.6419', '-81.4059', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29353, 'Willoughby', 2815, '44097', '440', '41.6419', '-81.4059', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29354, 'Bratenahl', 2815, '44108', '216', '41.545362', '-81.608045', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29355, 'Cleveland', 2815, '44108', '216', '41.545362', '-81.608045', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29356, 'Cleveland', 2815, '44115', '216', '41.487585', '-81.67769', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29357, 'Bay Village', 2815, '44140', '440', '41.490973', '-81.921456', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29358, 'Cleveland', 2815, '44140', '440', '41.490973', '-81.921456', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29359, 'Broadview Heights', 2815, '44147', '440', '41.314092', '-81.67343', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29360, 'Broadview Hts', 2815, '44147', '440', '41.314092', '-81.67343', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29361, 'Cleveland', 2815, '44147', '440', '41.314092', '-81.67343', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29362, 'Cuyahoga Falls', 2815, '44224', '330', '41.170156', '-81.450318', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29363, 'Cuyahoga Fls', 2815, '44224', '330', '41.170156', '-81.450318', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29364, 'Hudson', 2815, '44224', '330', '41.170156', '-81.450318', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29365, 'Silver Lake', 2815, '44224', '330', '41.170156', '-81.450318', '2018-11-29 04:55:02', '2018-11-29 04:55:02'),\n(29366, 'Stow', 2815, '44224', '330', '41.170156', '-81.450318', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29367, 'Kent', 2815, '44240', '330', '41.135236', '-81.329012', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29368, 'Chatham', 2815, '44256', '330', '41.133799', '-81.855068', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29369, 'Medina', 2815, '44256', '330', '41.133799', '-81.855068', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29370, 'Randolph', 2815, '44265', '330', '41.0329', '-81.2488', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29371, 'Sharon Center', 2815, '44274', '330', '41.0999', '-81.7356', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29372, 'Wadsworth', 2815, '44281', '330', '41.062166', '-81.753718', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29373, 'E Springfield', 2815, '43925', '740', '40.450009', '-80.860184', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29374, 'East Springfield', 2815, '43925', '740', '40.450009', '-80.860184', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29375, 'Salineville', 2815, '43945', '330', '40.615362', '-80.842779', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29376, 'Stratton', 2815, '43961', '740', '40.527873', '-80.630411', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29377, 'Summitville', 2815, '43962', '330', '40.685757', '-80.882348', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29378, 'Chesterland', 2815, '44026', '440', '41.534844', '-81.317048', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29379, 'East Orwell', 2815, '44076', '440', '41.526518', '-80.809486', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29380, 'Orwell', 2815, '44076', '440', '41.526518', '-80.809486', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29381, 'Concord Twp', 2815, '44077', '440', '41.712452', '-81.202486', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29382, 'Fairport Harbor', 2815, '44077', '440', '41.712452', '-81.202486', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29383, 'Fairport Hbr', 2815, '44077', '440', '41.712452', '-81.202486', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29384, 'Painesville', 2815, '44077', '440', '41.712452', '-81.202486', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29385, 'Wickliffe', 2815, '44092', '440', '41.598473', '-81.464146', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29386, 'Willoughby Hills', 2815, '44092', '440', '41.598473', '-81.464146', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29387, 'Wiloughby Hls', 2815, '44092', '440', '41.598473', '-81.464146', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29388, 'Brooklyn Heights', 2815, '44109', '216', '41.44465', '-81.695784', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29389, 'Cleveland', 2815, '44109', '216', '41.44465', '-81.695784', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29390, 'Cleveland', 2815, '44110', '216', '41.565154', '-81.565028', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29391, 'E Cleveland', 2815, '44110', '216', '41.565154', '-81.565028', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29392, 'East Cleveland', 2815, '44110', '216', '41.565154', '-81.565028', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29393, 'Cleveland', 2815, '44112', '216', '41.538254', '-81.573102', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29394, 'Cleveland Heights', 2815, '44112', '216', '41.538254', '-81.573102', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29395, 'Cleveland Hts', 2815, '44112', '216', '41.538254', '-81.573102', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29396, 'E Cleveland', 2815, '44112', '216', '41.538254', '-81.573102', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29397, 'East Cleveland', 2815, '44112', '216', '41.538254', '-81.573102', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29398, 'Cleveland', 2815, '44126', '440', '41.44105', '-81.848302', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29399, 'Fairview Park', 2815, '44126', '440', '41.44105', '-81.848302', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29400, 'Fairview Pk', 2815, '44126', '440', '41.44105', '-81.848302', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29401, 'Parkview', 2815, '44126', '440', '41.44105', '-81.848302', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29402, 'Cleveland', 2815, '44127', '216', '41.473855', '-81.64734', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29403, 'Cuyahoga Heights', 2815, '44127', '216', '41.473855', '-81.64734', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29404, 'Cuyahoga Hts', 2815, '44127', '216', '41.473855', '-81.64734', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29405, 'Newburgh Heights', 2815, '44127', '216', '41.473855', '-81.64734', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29406, 'Newburgh Hts', 2815, '44127', '216', '41.473855', '-81.64734', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29407, 'Cleveland', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29408, 'Euclid', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29409, 'Highland Heights', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29410, 'Highland Hgts', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29411, 'Highland Hts', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29412, 'Mayfield', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29413, 'Mayfield Hts', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29414, 'Mayfield Village', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29415, 'Mayfield Vlg', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29416, 'Richmond Heights', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29417, 'Richmond Hts', 2815, '44143', '440', '41.558861', '-81.477408', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29418, 'Cleveland', 2815, '44195', '216', '41.4997', '-81.6956', '2018-11-29 04:55:03', '2018-11-29 04:55:03'),\n(29419, 'Cleveland Clinic Foundation', 2815, '44195', '216', '41.4997', '-81.6956', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29420, 'Bath', 2815, '44210', '330', '41.1887', '-81.6365', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29421, 'Kent', 2815, '44243', '330', '41.148272', '-81.342984', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29422, 'Tallmadge', 2815, '44278', '330', '41.096351', '-81.419444', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29423, 'Akron', 2815, '44396', '330', '41.0816', '-81.5192', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29424, 'Target', 2815, '44396', '330', '41.0816', '-81.5192', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29425, 'Kinsman', 2815, '44428', '330', '41.428411', '-80.592236', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29426, 'Vernon', 2815, '44428', '330', '41.428411', '-80.592236', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29427, 'Craig Beach', 2815, '44429', '330', '41.097705', '-80.97554', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29428, 'Lake Milton', 2815, '44429', '330', '41.097705', '-80.97554', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29429, 'New Springfield', 2815, '44443', '330', '40.926132', '-80.58255', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29430, 'New Springfld', 2815, '44443', '330', '40.926132', '-80.58255', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29431, 'Niles', 2815, '44446', '330', '41.186228', '-80.744883', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29432, 'Patmos', 2815, '44460', '330', '40.907432', '-80.861575', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29433, 'Salem', 2815, '44460', '330', '40.907432', '-80.861575', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29434, 'Youngstown', 2815, '44510', '330', '41.120425', '-80.677485', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29435, 'Boardman', 2815, '44512', '330', '41.024497', '-80.669852', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29436, 'Youngstown', 2815, '44512', '330', '41.024497', '-80.669852', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29437, 'Big Prairie', 2815, '44611', '330', '40.596659', '-82.076662', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29438, 'Bolivar', 2815, '44612', '330', '40.631048', '-81.457913', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29439, 'Fredericksbg', 2815, '44627', '330', '40.663253', '-81.820414', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29440, 'Fredericksbrg', 2815, '44627', '330', '40.663253', '-81.820414', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29441, 'Fredericksburg', 2815, '44627', '330', '40.663253', '-81.820414', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29442, 'Glenmont', 2815, '44628', '330', '40.537004', '-82.128594', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29443, 'Greer', 2815, '44628', '330', '40.537004', '-82.128594', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29444, 'Greentown', 2815, '44630', '330', '40.9277', '-81.4033', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29445, 'Massillon', 2815, '44647', '330', '40.798195', '-81.574848', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29446, 'Mount Hope', 2815, '44660', '330', '40.6236', '-81.7849', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29447, 'Salt Creek', 2815, '44660', '330', '40.6236', '-81.7849', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29448, 'New Phila', 2815, '44663', '330', '40.455522', '-81.463798', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29449, 'New Philadelphia', 2815, '44663', '330', '40.455522', '-81.463798', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29450, 'Somerdale', 2815, '44678', '330', '40.559175', '-81.35229', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29451, 'Bellville', 2815, '44813', '419', '40.604788', '-82.502833', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29452, 'North Woodbury', 2815, '44813', '419', '40.604788', '-82.502833', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29453, 'Mc Cutchenville', 2815, '44844', '419', '40.992677', '-83.252621', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29454, 'Mc Cutchenvle', 2815, '44844', '419', '40.992677', '-83.252621', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29455, 'Mccutchenville', 2815, '44844', '419', '40.992677', '-83.252621', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29456, 'Melmore', 2815, '44845', '419', '41.0088', '-83.1294', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29457, 'Kimball', 2815, '44847', '419', '41.226692', '-82.714115', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29458, 'Monroeville', 2815, '44847', '419', '41.226692', '-82.714115', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29459, 'North Monroeville', 2815, '44847', '419', '41.226692', '-82.714115', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29460, 'Ridgefield', 2815, '44847', '419', '41.226692', '-82.714115', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29461, 'Steuben', 2815, '44847', '419', '41.226692', '-82.714115', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29462, 'Ontario', 2815, '44862', '419', '40.7595', '-82.5903', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29463, 'Perrysville', 2815, '44864', '419', '40.663981', '-82.315447', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29464, 'Sulphur Spgs', 2815, '44881', '419', '40.8714', '-82.8744', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29465, 'Sulphur Springs', 2815, '44881', '419', '40.8714', '-82.8744', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29466, 'Hamilton', 2815, '45012', '513', '39.3996', '-84.5615', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29467, 'Fairfield', 2815, '45014', '513', '39.334144', '-84.565295', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29468, 'Hamilton', 2815, '45014', '513', '39.334144', '-84.565295', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29469, 'Indian Spgs', 2815, '45014', '513', '39.334144', '-84.565295', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29470, 'Village Of Indian Springs', 2815, '45014', '513', '39.334144', '-84.565295', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29471, 'West Chester', 2815, '45014', '513', '39.334144', '-84.565295', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29472, 'Chilo', 2815, '45112', '513', '38.793378', '-84.147356', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29473, 'Midland', 2815, '45148', '937', '39.284209', '-83.878065', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29474, 'Westboro', 2815, '45148', '937', '39.284209', '-83.878065', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29475, 'Cincinnati', 2815, '45213', '513', '39.180009', '-84.421456', '2018-11-29 04:55:04', '2018-11-29 04:55:04'),\n(29476, 'Kennedy Heights', 2815, '45213', '513', '39.180009', '-84.421456', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29477, 'Pleasant Ridge', 2815, '45213', '513', '39.180009', '-84.421456', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29478, 'Taft', 2815, '45213', '513', '39.180009', '-84.421456', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29479, 'Cincinnati', 2815, '45214', '513', '39.120405', '-84.548681', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29480, 'Fairmount', 2815, '45214', '513', '39.120405', '-84.548681', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29481, 'Queen City', 2815, '45214', '513', '39.120405', '-84.548681', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29482, 'Anderson Township', 2815, '45230', '513', '39.077778', '-84.385358', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29483, 'Anderson Twp', 2815, '45230', '513', '39.077778', '-84.385358', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29484, 'Cincinnati', 2815, '45230', '513', '39.077778', '-84.385358', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29485, 'Mount Washing', 2815, '45230', '513', '39.077778', '-84.385358', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29486, 'Mount Washington', 2815, '45230', '513', '39.077778', '-84.385358', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29487, 'Cincinnati', 2815, '45231', '513', '39.258113', '-84.532367', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29488, 'Finneytown', 2815, '45231', '513', '39.258113', '-84.532367', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29489, 'Mount Healthy', 2815, '45231', '513', '39.258113', '-84.532367', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29490, 'N College Hl', 2815, '45231', '513', '39.258113', '-84.532367', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29491, 'Wyoming', 2815, '45231', '513', '39.258113', '-84.532367', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29492, 'Cherry Grove', 2815, '45245', '513', '39.06793', '-84.280473', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29493, 'Cincinnati', 2815, '45245', '513', '39.06793', '-84.280473', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29494, 'Withamsville', 2815, '45245', '513', '39.06793', '-84.280473', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29495, 'Cincinnati', 2815, '45246', '513', '39.289123', '-84.471212', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29496, 'Glendale', 2815, '45246', '513', '39.289123', '-84.471212', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29497, 'Parkdale', 2815, '45246', '513', '39.289123', '-84.471212', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29498, 'Springdale', 2815, '45246', '513', '39.289123', '-84.471212', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29499, 'West Chester', 2815, '45246', '513', '39.289123', '-84.471212', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29500, 'Middleburg Hts', 2815, '44130', '440', '41.384526', '-81.794714', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29501, 'Parma', 2815, '44130', '440', '41.384526', '-81.794714', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29502, 'Parma Heights', 2815, '44130', '440', '41.384526', '-81.794714', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29503, 'Bedford', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(29504, 'Bedford Heights', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29505, 'Bedford Hts', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29506, 'Cleveland', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29507, 'Oakwood Village', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29508, 'Oakwood Vlg', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29509, 'Orange Village', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29510, 'Walton Hills', 2815, '44146', '440', '41.389206', '-81.536542', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29511, 'Cleveland', 2815, '44191', '216', '41.4997', '-81.6956', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29512, 'Key Corp', 2815, '44191', '216', '41.4997', '-81.6956', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29513, 'Cleveland', 2815, '44198', '216', '41.4997', '-81.6956', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29514, 'Ohio Motorists', 2815, '44198', '216', '41.4997', '-81.6956', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29515, 'Burbank', 2815, '44214', '330', '40.940368', '-82.003032', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29516, 'Cuyahoga Falls', 2815, '44223', '330', '41.169922', '-81.531382', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29517, 'Cuyahoga Fls', 2815, '44223', '330', '41.169922', '-81.531382', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29518, 'Lakemore', 2815, '44250', '330', '41.022856', '-81.436334', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29519, 'Valley City', 2815, '44280', '330', '41.23491', '-81.9217', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29520, 'Wadsworth', 2815, '44282', '330', '41.0307', '-81.7388', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29521, 'Akron', 2815, '44305', '330', '41.07324', '-81.459032', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29522, 'East Akron', 2815, '44305', '330', '41.07324', '-81.459032', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29523, 'Akron', 2815, '44307', '330', '41.072288', '-81.546654', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29524, 'West Akron', 2815, '44307', '330', '41.072288', '-81.546654', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29525, 'Akron', 2815, '44316', '330', '41.0816', '-81.5192', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29526, 'Goodyear Tire', 2815, '44316', '330', '41.0816', '-81.5192', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29527, 'Hanoverton', 2815, '44423', '330', '40.762512', '-80.898238', '2018-11-29 04:55:05', '2018-11-29 04:55:05'),\n(29528, 'New Garden', 2815, '44423', '330', '40.762512', '-80.898238', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29529, 'Vienna', 2815, '44473', '330', '41.245728', '-80.664202', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29530, 'Warren', 2815, '44482', '330', '41.2376', '-80.8186', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29531, 'Howland', 2815, '44484', '330', '41.239102', '-80.753412', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29532, 'Warren', 2815, '44484', '330', '41.239102', '-80.753412', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29533, 'Augusta', 2815, '44607', '330', '40.6856', '-81.0211', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29534, 'Beloit', 2815, '44609', '330', '40.908086', '-80.983505', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29535, 'Westville Lake', 2815, '44609', '330', '40.908086', '-80.983505', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29536, 'Dalton', 2815, '44618', '330', '40.765022', '-81.67671', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29537, 'Magnolia', 2815, '44643', '330', '40.646074', '-81.302336', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29538, 'Morges', 2815, '44643', '330', '40.646074', '-81.302336', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29539, 'Maximo', 2815, '44650', '330', '40.8764', '-81.1723', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29540, 'Mount Eaton', 2815, '44659', '330', '40.695261', '-81.701939', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29541, 'Tuscarawas', 2815, '44682', '740', '40.398206', '-81.398398', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29542, 'Wooster', 2815, '44691', '330', '40.80032', '-81.975258', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29543, 'Attica', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29544, 'Attica Junction', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29545, 'Buckeye Village', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29546, 'Caroline', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29547, 'Carrothers', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29548, 'Reed', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29549, 'Reedtown', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29550, 'Siam', 2815, '44807', '419', '41.059695', '-82.878752', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29551, 'Bascom', 2815, '44809', '419', '41.132404', '-83.27565', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29552, 'New Haven', 2815, '44850', '419', '41.036016', '-82.676266', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29553, 'Bronson', 2815, '44857', '419', '41.2205', '-82.590176', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29554, 'Hartland', 2815, '44857', '419', '41.2205', '-82.590176', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29555, 'Norwalk', 2815, '44857', '419', '41.2205', '-82.590176', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29556, 'Olena', 2815, '44857', '419', '41.2205', '-82.590176', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29557, 'Nova', 2815, '44859', '419', '41.016701', '-82.338656', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29558, 'Bethlehem', 2815, '44875', '419', '40.893901', '-82.650883', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29559, 'Ganges', 2815, '44875', '419', '40.893901', '-82.650883', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29560, 'Little London', 2815, '44875', '419', '40.893901', '-82.650883', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29561, 'Sharon Township', 2815, '44875', '419', '40.893901', '-82.650883', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29562, 'Shelby', 2815, '44875', '419', '40.893901', '-82.650883', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29563, 'Taylortown', 2815, '44875', '419', '40.893901', '-82.650883', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29564, 'Mansfield', 2815, '44902', '419', '40.759782', '-82.509923', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29565, 'Harveysburg', 2815, '45032', '513', '39.500054', '-84.006971', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29566, 'Massie', 2815, '45032', '513', '39.500054', '-84.006971', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29567, 'Miamitown', 2815, '45041', '513', '39.211893', '-84.701726', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29568, 'Liberty Tnsp', 2815, '45050', '513', '39.444413', '-84.362224', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29569, 'Liberty Twnship', 2815, '45050', '513', '39.444413', '-84.362224', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29570, 'Liberty Twp', 2815, '45050', '513', '39.444413', '-84.362224', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29571, 'Monroe', 2815, '45050', '513', '39.444413', '-84.362224', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29572, 'Camp Dennison', 2815, '45111', '513', '39.199652', '-84.28617', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29573, 'Loveland', 2815, '45111', '513', '39.199652', '-84.28617', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29574, 'Fayetteville', 2815, '45118', '513', '39.172516', '-83.931299', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29575, 'Marathon', 2815, '45118', '513', '39.172516', '-83.931299', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29576, 'Saint Martin', 2815, '45118', '513', '39.172516', '-83.931299', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29577, 'Reesville', 2815, '45166', '937', '39.4823', '-83.6769', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29578, 'Bridgetown', 2815, '45211', '513', '39.158378', '-84.597748', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29579, 'Cheviot', 2815, '45211', '513', '39.158378', '-84.597748', '2018-11-29 04:55:06', '2018-11-29 04:55:06'),\n(29580, 'Cincinnati', 2815, '45211', '513', '39.158378', '-84.597748', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29581, 'Fairmont', 2815, '45211', '513', '39.158378', '-84.597748', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29582, 'Mack', 2815, '45211', '513', '39.158378', '-84.597748', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29583, 'Blue Ash', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29584, 'Cincinnati', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29585, 'Deer Park', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29586, 'Kenwood', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29587, 'Reading', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29588, 'Rossmoyne', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29589, 'Silverton', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29590, 'Sycamore Twp', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29591, 'Taft', 2815, '45236', '513', '39.207085', '-84.396842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29592, 'Cincinnati', 2815, '45250', '513', '39.1616', '-84.4569', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29593, 'Amf', 2815, '45275', '513', '39.045131', '-84.668593', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29594, 'Cin Arprt', 2815, '45275', '513', '39.045131', '-84.668593', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29595, 'Cincinnati', 2815, '45275', '513', '39.045131', '-84.668593', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29596, 'Jackson Center', 2815, '45334', '937', '40.434108', '-84.054345', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29597, 'Jackson Ctr', 2815, '45334', '937', '40.434108', '-84.054345', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29598, 'Wilberforce', 2815, '45384', '937', '39.708212', '-83.882824', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29599, 'Dayton', 2815, '45402', '937', '39.760237', '-84.197386', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29600, 'Dayton', 2815, '45409', '937', '39.723916', '-84.185931', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29601, 'Kettering', 2815, '45409', '937', '39.723916', '-84.185931', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29602, 'Moraine', 2815, '45409', '937', '39.723916', '-84.185931', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29603, 'Cheshire', 2815, '45620', '740', '38.946387', '-82.132511', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29604, 'Franklin Furnace', 2815, '45629', '740', '38.642338', '-82.79114', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29605, 'Frankln Frnce', 2815, '45629', '740', '38.642338', '-82.79114', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29606, 'Stream Side', 2815, '45629', '740', '38.642338', '-82.79114', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29607, 'Haverhill', 2815, '45636', '740', '38.5848', '-82.8324', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29608, 'Alexandria', 2815, '43001', '740', '40.08851', '-82.612354', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29609, 'Dublin', 2815, '43016', '614', '40.100256', '-83.139142', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29610, 'Mount Vernon', 2815, '43050', '740', '40.37855', '-82.50401', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29611, 'Etna', 2815, '43068', '614', '39.957992', '-82.768439', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29612, 'Pataskala', 2815, '43068', '614', '39.957992', '-82.768439', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29613, 'Reynoldsburg', 2815, '43068', '614', '39.957992', '-82.768439', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29614, 'Westerville', 2815, '43081', '614', '40.106049', '-82.898116', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29615, 'Rockbridge', 2815, '43149', '740', '39.527819', '-82.580804', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29616, 'Columbus', 2815, '43201', '614', '39.995575', '-82.999464', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29617, 'Columbus', 2815, '43217', '614', '39.816625', '-82.935179', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29618, 'Rickenbacker Air Force Base', 2815, '43217', '614', '39.816625', '-82.935179', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29619, 'Columbus', 2815, '43218', '614', '39.9614', '-82.9988', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29620, 'Columbus', 2815, '43231', '614', '40.08449', '-82.93766', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29621, 'Columbus', 2815, '43232', '614', '39.922525', '-82.87637', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29622, 'Columbus', 2815, '43251', '614', '39.9602', '-82.9989', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29623, 'National City Bank', 2815, '43251', '614', '39.9602', '-82.9989', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29624, 'Marion', 2815, '43302', '740', '40.583872', '-83.152798', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29625, 'Shauck', 2815, '43349', '419', '40.6194', '-82.665', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29626, 'Sparta', 2815, '43350', '419', '40.395016', '-82.699095', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29627, 'Bowling Green', 2815, '43402', '419', '41.39897', '-83.68613', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29628, 'Elmore', 2815, '43416', '419', '41.48965', '-83.270373', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29629, 'Oak Harbor', 2815, '43449', '419', '41.525998', '-83.141842', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29630, 'Portage', 2815, '43451', '419', '41.314319', '-83.621168', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29631, 'Moline', 2815, '43465', '419', '41.565442', '-83.501993', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29632, 'Walbridge', 2815, '43465', '419', '41.565442', '-83.501993', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29633, 'Woodville', 2815, '43469', '419', '41.455638', '-83.360706', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29634, 'Deshler', 2815, '43516', '419', '41.225808', '-83.901016', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29635, 'Edgerton', 2815, '43517', '419', '41.448577', '-84.717657', '2018-11-29 04:55:07', '2018-11-29 04:55:07'),\n(29636, 'Liberty Center', 2815, '43532', '419', '41.453863', '-83.989291', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29637, 'Liberty Ctr', 2815, '43532', '419', '41.453863', '-83.989291', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29638, 'Malinta', 2815, '43535', '419', '41.30536', '-84.01775', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29639, 'Napoleon', 2815, '43550', '419', '41.3555', '-84.2178', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29640, 'Okolona', 2815, '43550', '419', '41.3555', '-84.2178', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29641, 'Weston', 2815, '43569', '419', '41.349962', '-83.796225', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29642, 'Owens Illinois', 2815, '43666', '419', '41.6639', '-83.5554', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29643, 'Toledo', 2815, '43666', '419', '41.6639', '-83.5554', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29644, 'Toledo', 2815, '43699', '419', '41.6639', '-83.5554', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29645, 'S Zanesville', 2815, '43701', '740', '39.962926', '-81.988471', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29646, 'Sonora', 2815, '43701', '740', '39.962926', '-81.988471', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29647, 'South Zanesville', 2815, '43701', '740', '39.962926', '-81.988471', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29648, 'Zanesville', 2815, '43701', '740', '39.962926', '-81.988471', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29649, 'S Zanesville', 2815, '43702', '740', '39.9406', '-82.0133', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29650, 'South Zanesville', 2815, '43702', '740', '39.9406', '-82.0133', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29651, 'Zanesville', 2815, '43702', '740', '39.9406', '-82.0133', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29652, 'Belle Valley', 2815, '43717', '740', '39.789101', '-81.554662', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29653, 'Bethesda', 2815, '43719', '740', '39.998664', '-81.076123', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29654, 'Derwent', 2815, '43733', '740', '39.9232', '-81.5445', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29655, 'Duncan Falls', 2815, '43734', '740', '39.888404', '-81.90154', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29656, 'E Fultonham', 2815, '43735', '740', '39.854738', '-82.118644', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29657, 'East Fultonham', 2815, '43735', '740', '39.854738', '-82.118644', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29658, 'Fairview', 2815, '43736', '740', '40.0573', '-81.2316', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29659, 'Quaker City', 2815, '43736', '740', '40.0573', '-81.2316', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29660, 'New Straitsville', 2815, '43766', '740', '39.595291', '-82.250087', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29661, 'New Straitsvl', 2815, '43766', '740', '39.595291', '-82.250087', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29662, 'Adamsville', 2815, '43802', '740', '40.074454', '-81.845755', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29663, 'Amsterdam', 2815, '43903', '740', '40.470688', '-80.9414', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29664, 'Martins Ferry', 2815, '43935', '740', '40.116093', '-80.757785', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29665, 'Saint Clairsville', 2815, '43950', '740', '40.083718', '-80.931777', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29666, 'St Clairsville', 2815, '43950', '740', '40.083718', '-80.931777', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29667, 'St Clairsvle', 2815, '43950', '740', '40.083718', '-80.931777', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29668, 'Steubenville', 2815, '43953', '740', '40.349386', '-80.697148', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29669, 'Wintersville', 2815, '43953', '740', '40.349386', '-80.697148', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29670, 'Warnock', 2815, '43967', '740', '40.024359', '-80.942413', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29671, 'Wellsville', 2815, '43968', '330', '40.640436', '-80.686625', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29672, 'Wolf Run', 2815, '43970', '740', '40.4673', '-80.8897', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29673, 'Lagrange', 2815, '44050', '440', '41.254814', '-82.124265', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29674, 'Macedonia', 2815, '44067', '330', '41.312534', '-81.543827', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29675, 'Northfield', 2815, '44067', '330', '41.312534', '-81.543827', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29676, 'Northfield Center', 2815, '44067', '330', '41.312534', '-81.543827', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29677, 'Northfield Village', 2815, '44067', '330', '41.312534', '-81.543827', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29678, 'Sagamore Hills', 2815, '44067', '330', '41.312534', '-81.543827', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29679, 'Sagamore Hls', 2815, '44067', '330', '41.312534', '-81.543827', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29680, 'N Kingsville', 2815, '44068', '440', '41.8909', '-80.6766', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29681, 'North Kingsville', 2815, '44068', '440', '41.8909', '-80.6766', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29682, 'Hartsgrove', 2815, '44085', '440', '41.611038', '-80.86106', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29683, 'New Lyme', 2815, '44085', '440', '41.611038', '-80.86106', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29684, 'Roaming Rock Shores', 2815, '44085', '440', '41.611038', '-80.86106', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29685, 'Roaming Shores', 2815, '44085', '440', '41.611038', '-80.86106', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29686, 'Roaming Shrs', 2815, '44085', '440', '41.611038', '-80.86106', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29687, 'Rome', 2815, '44085', '440', '41.611038', '-80.86106', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29688, 'Cleveland', 2815, '44101', '216', '41.4995', '-81.6959', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29689, 'Cleveland', 2815, '44136', '440', '41.313165', '-81.811094', '2018-11-29 04:55:08', '2018-11-29 04:55:08'),\n(29690, 'Strongsville', 2815, '44136', '440', '41.313165', '-81.811094', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29691, 'Cleveland', 2815, '44137', '216', '41.404794', '-81.556658', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29692, 'Maple Heights', 2815, '44137', '216', '41.404794', '-81.556658', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29693, 'Maple Hts', 2815, '44137', '216', '41.404794', '-81.556658', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29694, 'Barb', 2815, '44203', '330', '41.019188', '-81.620346', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29695, 'Barberton', 2815, '44203', '330', '41.019188', '-81.620346', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29696, 'New Franklin', 2815, '44203', '330', '41.019188', '-81.620346', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29697, 'Norton', 2815, '44203', '330', '41.019188', '-81.620346', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29698, 'Homerville', 2815, '44235', '330', '41.038835', '-82.113924', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29699, 'Lodi', 2815, '44254', '330', '41.045632', '-82.008264', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29700, 'Easton', 2815, '44270', '330', '40.970614', '-81.777888', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29701, 'Rittman', 2815, '44270', '330', '40.970614', '-81.777888', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29702, 'Richfield', 2815, '44286', '330', '41.232775', '-81.636018', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29703, 'Richfield Heights', 2815, '44286', '330', '41.232775', '-81.636018', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29704, 'West Richfield', 2815, '44286', '330', '41.232775', '-81.636018', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29705, 'Drakesburg', 2815, '44288', '330', '41.247808', '-81.074357', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29706, 'Freedom', 2815, '44288', '330', '41.247808', '-81.074357', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29707, 'Windham', 2815, '44288', '330', '41.247808', '-81.074357', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29708, 'Akron', 2815, '44302', '330', '41.090446', '-81.53871', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29709, 'Akron', 2815, '44303', '330', '41.104033', '-81.536473', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29710, 'Akron', 2815, '44304', '330', '41.086435', '-81.510063', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29711, 'Akron', 2815, '44321', '330', '41.100456', '-81.641005', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29712, 'Copley', 2815, '44321', '330', '41.100456', '-81.641005', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29713, 'Akron', 2815, '44334', '330', '41.0816', '-81.5192', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29714, 'Fairlawn', 2815, '44334', '330', '41.0816', '-81.5192', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29715, 'Berlin Center', 2815, '44401', '330', '41.024731', '-80.928666', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29716, 'Fowler', 2815, '44418', '330', '41.329938', '-80.606794', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29717, 'Mc Donald', 2815, '44437', '330', '41.155057', '-80.731928', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29718, 'Petersburg', 2815, '44454', '330', '40.923424', '-80.547779', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29719, 'Clarkson', 2815, '44455', '330', '40.781338', '-80.603309', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29720, 'Rogers', 2815, '44455', '330', '40.781338', '-80.603309', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29721, 'Southington', 2815, '44470', '330', '41.284605', '-80.959254', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29722, 'Warren', 2815, '44485', '330', '41.236212', '-80.843883', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29723, 'Dennison', 2815, '44621', '740', '40.433855', '-81.292243', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29724, 'Becks Mills', 2815, '44654', '330', '40.525123', '-81.861987', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29725, 'Bunker Hill', 2815, '44654', '330', '40.525123', '-81.861987', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29726, 'Millersburg', 2815, '44654', '330', '40.525123', '-81.861987', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29727, 'Canton', 2815, '44702', '330', '40.800182', '-81.379426', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29728, 'Canton', 2815, '44705', '330', '40.830074', '-81.33586', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29729, 'N E Waterworks', 2815, '44705', '330', '40.830074', '-81.33586', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29730, 'Canton', 2815, '44721', '330', '40.891965', '-81.324185', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29731, 'N Canton', 2815, '44721', '330', '40.891965', '-81.324185', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29732, 'Alvada', 2815, '44802', '419', '41.042322', '-83.424719', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29733, 'Bucyrus', 2815, '44820', '419', '40.81325', '-82.973802', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29734, 'New Winchester', 2815, '44820', '419', '40.81325', '-82.973802', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29735, 'Berwick', 2815, '44853', '419', '41.049297', '-83.285492', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29736, 'Zullinger', 2818, '17272', '717', '39.77', '-77.6303', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29737, 'Airville', 2818, '17302', '717', '39.818704', '-76.424645', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29738, 'Collinsville', 2818, '17302', '717', '39.818704', '-76.424645', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29739, 'Kyleville', 2818, '17302', '717', '39.818704', '-76.424645', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29740, 'Muddy Creek Forks', 2818, '17302', '717', '39.818704', '-76.424645', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29741, 'Sunnyburn', 2818, '17302', '717', '39.818704', '-76.424645', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29742, 'Woodbine', 2818, '17302', '717', '39.818704', '-76.424645', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29743, 'Arendtsville', 2818, '17303', '717', '39.9241', '-77.2966', '2018-11-29 04:55:09', '2018-11-29 04:55:09'),\n(29744, 'Carroll Valley', 2818, '17320', '717', '39.781224', '-77.365398', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29745, 'Charnita', 2818, '17320', '717', '39.781224', '-77.365398', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29746, 'York New Salem', 2818, '17371', '717', '39.9052', '-76.7844', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29747, 'York Nw Salem', 2818, '17371', '717', '39.9052', '-76.7844', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29748, 'York', 2818, '17405', '717', '39.9626', '-76.7284', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29749, 'Charlestown', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29750, 'Claylick', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29751, 'Cove Gap', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29752, 'Dickey', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29753, 'Kasiesville', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29754, 'Markes', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29755, 'Mercersburg', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29756, 'Peters', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29757, 'Shimpstown', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29758, 'Sylvan', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29759, 'Mont Alto', 2818, '17237', '717', '39.840783', '-77.55412', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29760, 'Belfast', 2818, '17238', '717', '39.860447', '-78.124744', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29761, 'Needmore', 2818, '17238', '717', '39.860447', '-78.124744', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29762, 'Sipes Mill', 2818, '17238', '717', '39.860447', '-78.124744', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29763, 'Saltillo', 2818, '17253', '814', '40.210241', '-78.005911', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29764, 'Fairfield', 2818, '17320', '717', '39.781224', '-77.365398', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29765, 'Greenstone', 2818, '17320', '717', '39.781224', '-77.365398', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29766, 'Chambersburg', 2818, '17202', '717', '39.926268', '-77.694286', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29767, 'Guilford Township', 2818, '17202', '717', '39.926268', '-77.694286', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29768, 'Guilford Twp', 2818, '17202', '717', '39.926268', '-77.694286', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29769, 'Dry Run', 2818, '17220', '717', '40.181061', '-77.729068', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29770, 'Richland', 2818, '17087', '717', '40.398694', '-76.264127', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29771, 'Harrisburg', 2818, '17103', '717', '40.274121', '-76.862777', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29772, 'Hbg', 2818, '17103', '717', '40.274121', '-76.862777', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29773, 'Penbrook', 2818, '17103', '717', '40.274121', '-76.862777', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29774, 'Harrisburg', 2818, '17104', '717', '40.255556', '-76.861924', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29775, 'Hbg', 2818, '17104', '717', '40.255556', '-76.861924', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29776, 'Harrisburg', 2818, '17120', '717', '40.2682', '-76.8822', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29777, 'Africa', 2818, '17236', '717', '39.829497', '-77.97253', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29778, 'New Buffalo', 2818, '17069', '717', '40.454118', '-76.970617', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29779, 'Hbg', 2818, '17120', '717', '40.2682', '-76.8822', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29780, 'State Of Pennsylvania', 2818, '17120', '717', '40.2682', '-76.8822', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29781, 'Hoernerstown', 2818, '17036', '717', '40.286355', '-76.699198', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29782, 'Hummelstown', 2818, '17036', '717', '40.286355', '-76.699198', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29783, 'South Hanover', 2818, '17036', '717', '40.286355', '-76.699198', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29784, 'Stoverdale', 2818, '17036', '717', '40.286355', '-76.699198', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29785, 'Waltonville', 2818, '17036', '717', '40.286355', '-76.699198', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29786, 'Bellegrove', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29787, 'East Hanover', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29788, 'Ft Indiantown', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29789, 'Harper Tavern', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29790, 'Boqueron', 2819, '00622', '787', '17.992876', '-67.153699', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29791, 'Villa Taina', 2819, '00622', '787', '17.992876', '-67.153699', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29792, 'Villas De La Sabana', 2819, '00617', '787', '18.429792', '-66.558109', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29793, 'URB Olympic Ville', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29794, 'URB Oriente', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29795, 'URB Palma Royale', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29796, 'URB Park Hurst', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29797, 'Valle Piedras', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29798, 'Villa Las Mercedes', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29799, 'Villas De San Cristobal', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29800, 'Villas De San Cristobal Ii', 2819, '00771', '787', '18.19644', '-65.87203', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29801, 'URB Campinas De Navarro', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:10', '2018-11-29 04:55:10'),\n(29802, 'URB El Vivero', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29803, 'URB Gran Vista I', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29804, 'URB Gran Vista Ii', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29805, 'URB Heavenly Vw Est', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29806, 'URB Horizonte', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29807, 'URB Llanos De Gurabo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29808, 'URB Los Flamboyanes', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29809, 'URB Los Robles', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29810, 'URB Los Suenos', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29811, 'URB Monte Subacio', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29812, 'URB Oreilly', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29813, 'URB Paraiso De Gurabo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29814, 'URB Preciosa', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29815, 'URB Reina De Los Angeles', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29816, 'URB Sabanera Del Rio', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29817, 'Eagleville', 2823, '37060', '615', '35.746288', '-86.635458', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29818, 'Franklin', 2823, '37069', '615', '35.991394', '-86.914652', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29819, 'Gladeville', 2823, '37071', '615', '36.1126', '-86.4157', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29820, 'Lascassas', 2823, '37085', '615', '35.948726', '-86.290984', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29821, 'Lebanon', 2823, '37087', '615', '36.278882', '-86.27368', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29822, 'Flatwoods', 2823, '37096', '931', '35.576787', '-87.842265', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29823, 'Linden', 2823, '37096', '931', '35.576787', '-87.842265', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29824, 'Mount Juliet', 2823, '37121', '615', '36.1974', '-86.4365', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29825, 'Mt Juliet', 2823, '37121', '615', '36.1974', '-86.4365', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29826, 'Mboro', 2823, '37130', '615', '35.892497', '-86.316986', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29827, 'Murfreesboro', 2823, '37130', '615', '35.892497', '-86.316986', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29828, 'Murfreesbr', 2823, '37130', '615', '35.892497', '-86.316986', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29829, 'Petersburg', 2823, '37144', '931', '35.306614', '-86.685582', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29830, 'Rockvale', 2823, '37153', '615', '35.761899', '-86.55654', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29831, 'Tenn Ridge', 2823, '37178', '931', '36.31845', '-87.782547', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29832, 'Tennessee Rdg', 2823, '37178', '931', '36.31845', '-87.782547', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29833, 'Tennessee Ridge', 2823, '37178', '931', '36.31845', '-87.782547', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29834, 'Tn Ridge', 2823, '37178', '931', '36.31845', '-87.782547', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29835, 'Whites Creek', 2823, '37189', '615', '36.286939', '-86.830372', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29836, 'Nashville', 2823, '37212', '615', '36.132309', '-86.803621', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29837, 'Nashville', 2823, '37228', '615', '36.194044', '-86.805068', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29838, 'Nashville', 2823, '37230', '615', '36.1656', '-86.7845', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29839, 'Nashville', 2823, '37244', '615', '36.1649', '-86.7817', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29840, 'Nashville', 2823, '37246', '615', '36.1656', '-86.7845', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29841, 'Nashville Elec Serv', 2823, '37246', '615', '36.1656', '-86.7845', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29842, 'Elora', 2823, '37328', '931', '35.033947', '-86.375031', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29843, 'Kelso', 2823, '37348', '931', '35.115106', '-86.43347', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29844, 'Athens', 2823, '37371', '423', '35.4428', '-84.5934', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29845, 'Tracy City', 2823, '37387', '931', '35.272727', '-85.705746', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29846, 'Chattanooga', 2823, '37403', '423', '35.047003', '-85.29306', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29847, 'East Tn State Univ', 2823, '37614', '423', '36.302954', '-82.367254', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29848, 'Etsu', 2823, '37614', '423', '36.302954', '-82.367254', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29849, 'Jc', 2823, '37614', '423', '36.302954', '-82.367254', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29850, 'Johnson City', 2823, '37614', '423', '36.302954', '-82.367254', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29851, 'Kingsport', 2823, '37662', '423', '36.5486', '-82.5619', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29852, 'Laurel Blmry', 2823, '37680', '423', '36.552243', '-81.722211', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29853, 'Laurel Bloomery', 2823, '37680', '423', '36.552243', '-81.722211', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29854, 'Roan Mountain', 2823, '37687', '423', '36.184737', '-82.099814', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29855, 'Andersonville', 2823, '37705', '865', '36.229947', '-84.021649', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29856, 'Helenwood', 2823, '37755', '423', '36.417475', '-84.558079', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29857, 'New River', 2823, '37755', '423', '36.417475', '-84.558079', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29858, 'Kodak', 2823, '37764', '865', '35.972969', '-83.619411', '2018-11-29 04:55:11', '2018-11-29 04:55:11'),\n(29859, 'Lenoir City', 2823, '37771', '865', '35.829463', '-84.313793', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29860, 'Philadelphia', 2823, '37846', '865', '35.695655', '-84.469442', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29861, 'Powder Spgs', 2823, '37848', '865', '36.23422', '-83.681153', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29862, 'Powder Springs', 2823, '37848', '865', '36.23422', '-83.681153', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29863, 'Surgoinsville', 2823, '37873', '423', '36.515092', '-82.852962', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29864, 'Knoxville', 2823, '37914', '865', '35.982844', '-83.792592', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29865, 'Karns', 2823, '37921', '865', '35.984897', '-83.992755', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29866, 'Knoxville', 2823, '37921', '865', '35.984897', '-83.992755', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29867, 'Lonsdale', 2823, '37921', '865', '35.984897', '-83.992755', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29868, 'Knoxville', 2823, '37939', '865', '35.9648', '-83.9196', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29869, 'Bogota', 2823, '38007', '731', '36.1639', '-89.4386', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29870, 'Cordova', 2823, '38016', '901', '35.179897', '-89.766503', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29871, 'Drummonds', 2823, '38023', '901', '35.449501', '-90.009608', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29872, 'Grand Jct', 2823, '38039', '731', '35.073688', '-89.191234', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29873, 'Grand Junction', 2823, '38039', '731', '35.073688', '-89.191234', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29874, 'Somerville', 2823, '38075', '731', '35.337286', '-89.142982', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29875, 'Whiteville', 2823, '38075', '731', '35.337286', '-89.142982', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29876, 'Mem', 2823, '38130', '901', '35.0707', '-89.9906', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29877, 'Memphis', 2823, '38130', '901', '35.0707', '-89.9906', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29878, 'Mphs', 2823, '38130', '901', '35.0707', '-89.9906', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29879, 'Mem', 2823, '38132', '901', '35.068299', '-90.002884', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29880, 'Memphis', 2823, '38132', '901', '35.068299', '-90.002884', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29881, 'Mphs', 2823, '38132', '901', '35.068299', '-90.002884', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29882, 'Germantown', 2823, '38139', '901', '35.081126', '-89.760238', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29883, 'Mem', 2823, '38139', '901', '35.081126', '-89.760238', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29884, 'Memphis', 2823, '38139', '901', '35.081126', '-89.760238', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29885, 'Mphs', 2823, '38139', '901', '35.081126', '-89.760238', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29886, 'Mem', 2823, '38182', '901', '35.1497', '-90.0487', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29887, 'Memphis', 2823, '38182', '901', '35.1497', '-90.0487', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29888, 'Mphs', 2823, '38182', '901', '35.1497', '-90.0487', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29889, 'Greenfield', 2823, '38230', '731', '36.151085', '-88.801712', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29890, 'Sharon', 2823, '38255', '731', '36.241834', '-88.859825', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29891, 'South Fulton', 2823, '38257', '731', '36.453128', '-88.874728', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29892, 'Jackson', 2823, '38305', '731', '35.717724', '-88.788382', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29893, 'Enville', 2823, '38332', '731', '35.4218', '-88.425745', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29894, 'Guys', 2823, '38339', '731', '35.056278', '-88.512253', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29895, 'Lavinia', 2823, '38348', '731', '35.861245', '-88.640598', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29896, 'Michie', 2823, '38357', '731', '35.06553', '-88.415045', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29897, 'Trenton', 2823, '38382', '731', '35.974302', '-88.997494', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29898, 'Clifton', 2823, '38425', '931', '35.399066', '-87.938734', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29899, 'Five Points', 2823, '38457', '931', '35.033628', '-87.290628', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29900, 'Frankewing', 2823, '38459', '931', '35.194426', '-86.777404', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29901, 'Olivehill', 2823, '38475', '731', '35.255403', '-88.021884', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29902, 'Allons', 2823, '38541', '931', '36.513301', '-85.356758', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29903, 'Crossville', 2823, '38557', '931', '35.9486', '-85.0266', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29904, 'Doyle', 2823, '38559', '931', '35.839122', '-85.514352', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29905, 'Hilham', 2823, '38568', '931', '36.416362', '-85.468032', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29906, 'Monroe', 2823, '38573', '931', '36.48799', '-85.214182', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29907, 'Moss', 2823, '38575', '931', '36.559658', '-85.648208', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29908, 'Silver Point', 2823, '38582', '931', '36.097907', '-85.758954', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29909, 'Halls Crossing', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29910, 'Halls Xing', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29911, 'Hite', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29912, 'Irish Green', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29913, 'Lake Powell', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29914, 'Natural Bridges', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:12', '2018-11-29 04:55:12'),\n(29915, 'Ticaboo', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29916, 'East Wellington', 2825, '84542', '435', '39.539331', '-110.675736', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29917, 'Wellington', 2825, '84542', '435', '39.539331', '-110.675736', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29918, 'Provo', 2825, '84601', '801', '40.221349', '-111.738672', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29919, 'Elberta', 2825, '84626', '801', '39.879489', '-111.998388', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29920, 'Goshen', 2825, '84633', '801', '39.943839', '-111.882318', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29921, 'Manti', 2825, '84642', '435', '39.202406', '-111.55094', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29922, 'Wales', 2825, '84667', '435', '39.444382', '-111.67817', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29923, 'Bowery Haven', 2825, '84701', '435', '38.71877', '-111.763728', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29924, 'Burrville', 2825, '84701', '435', '38.71877', '-111.763728', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29925, 'Fish Lake', 2825, '84701', '435', '38.71877', '-111.763728', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29926, 'Richfield', 2825, '84701', '435', '38.71877', '-111.763728', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29927, 'Venice', 2825, '84701', '435', '38.71877', '-111.763728', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29928, 'Kanarraville', 2825, '84742', '435', '37.5387', '-113.1836', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29929, 'Modena', 2825, '84753', '435', '37.75629', '-113.970876', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29930, 'Uvada', 2825, '84753', '435', '37.75629', '-113.970876', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29931, 'Orderville', 2825, '84758', '435', '37.250985', '-112.718303', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29932, 'Paragonah', 2825, '84760', '435', '37.99944', '-112.749112', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29933, 'Salt Lake Cty', 2825, '84150', '801', '40.7606', '-111.8903', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29934, 'Slc', 2825, '84150', '801', '40.7606', '-111.8903', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29935, 'American Express Co', 2825, '84184', '801', '40.7606', '-111.8903', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29936, 'Salt Lake City', 2825, '84184', '801', '40.7606', '-111.8903', '2018-11-29 04:55:13', '2018-11-29 04:55:13');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(29937, 'Salt Lake Cty', 2825, '84184', '801', '40.7606', '-111.8903', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29938, 'Slc', 2825, '84184', '801', '40.7606', '-111.8903', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29939, 'Howell', 2825, '84316', '435', '41.79071', '-112.493155', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29940, 'Logan', 2825, '84323', '801', '41.7358', '-111.8336', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29941, 'Providence', 2825, '84332', '435', '41.673152', '-111.8145', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29942, 'Riverside', 2825, '84334', '435', '41.792122', '-112.152476', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29943, 'Logan', 2825, '84341', '435', '41.771602', '-111.807466', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29944, 'N Logan', 2825, '84341', '435', '41.771602', '-111.807466', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29945, 'North Logan', 2825, '84341', '435', '41.771602', '-111.807466', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29946, 'Ogden', 2825, '84402', '801', '41.2231', '-111.9732', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29947, 'Green River', 2825, '84525', '435', '38.985031', '-110.552396', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29948, 'Montezuma Creek', 2825, '84534', '435', '37.21223', '-109.271306', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29949, 'Montezuma Crk', 2825, '84534', '435', '37.21223', '-109.271306', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29950, 'Ephraim', 2825, '84627', '435', '39.358568', '-111.46641', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29951, 'Gunnison', 2825, '84634', '435', '39.186539', '-111.861128', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29952, 'Holden', 2825, '84636', '435', '39.07427', '-112.313244', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29953, 'Redmond', 2825, '84652', '435', '38.926685', '-112.02542', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29954, 'Enterprise', 2825, '84725', '435', '37.515175', '-113.822836', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29955, 'Kingston', 2825, '84743', '435', '38.323963', '-112.105365', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29956, 'Arches', 2825, '84532', '435', '38.720009', '-109.355393', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29957, 'Canyonlands', 2825, '84532', '435', '38.720009', '-109.355393', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29958, 'Castle Valley', 2825, '84532', '435', '38.720009', '-109.355393', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29959, 'Castleton', 2825, '84532', '435', '38.720009', '-109.355393', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29960, 'Moab', 2825, '84532', '435', '38.720009', '-109.355393', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29961, 'Natural Bridges', 2825, '84532', '435', '38.720009', '-109.355393', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29962, 'Annabella', 2825, '84711', '435', '38.714448', '-112.064496', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29963, 'Cannonville', 2825, '84718', '435', '37.57519', '-112.139689', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29964, 'Henrieville', 2825, '84736', '435', '37.642656', '-111.92499', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29965, 'Minersville', 2825, '84752', '435', '38.214765', '-112.961999', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29966, 'Parowan', 2825, '84761', '435', '37.827645', '-112.809276', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29967, 'Saint George', 2825, '84791', '435', '37.1055', '-113.5778', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29968, 'St George', 2825, '84791', '435', '37.1055', '-113.5778', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29969, 'Eden', 2825, '84310', '801', '41.34354', '-111.859002', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29970, 'Liberty', 2825, '84310', '801', '41.34354', '-111.859002', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29971, 'Huntsville', 2825, '84317', '801', '41.304719', '-111.674235', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29972, 'Willard', 2825, '84340', '435', '41.360772', '-112.151423', '2018-11-29 04:55:13', '2018-11-29 04:55:13'),\n(29973, 'Ogden', 2825, '84408', '801', '41.191988', '-111.942931', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29974, 'Weber State University', 2825, '84408', '801', '41.191988', '-111.942931', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29975, 'Bullfrog', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29976, 'Fry Canyon', 2825, '84533', '435', '37.530686', '-110.393704', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29977, 'Plymouth', 2825, '84330', '435', '41.890299', '-112.138927', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29978, 'Bluff', 2825, '84512', '435', '37.19574', '-109.523962', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29979, 'Kenilworth', 2825, '84529', '435', '39.691782', '-110.806636', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29980, 'Eureka', 2825, '84628', '435', '39.782011', '-112.341452', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29981, 'Mammoth', 2825, '84628', '435', '39.782011', '-112.341452', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29982, 'Birdseye', 2825, '84629', '435', '39.679887', '-111.482854', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29983, 'Fairview', 2825, '84629', '435', '39.679887', '-111.482854', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29984, 'Indianola', 2825, '84629', '435', '39.679887', '-111.482854', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29985, 'Milburn', 2825, '84629', '435', '39.679887', '-111.482854', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29986, 'Oak Creek', 2825, '84629', '435', '39.679887', '-111.482854', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29987, 'Thistle', 2825, '84629', '435', '39.679887', '-111.482854', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29988, 'Mona', 2825, '84645', '435', '39.857584', '-111.849094', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29989, 'Rocky Ridge', 2825, '84645', '435', '39.857584', '-111.849094', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29990, 'Rocky Ridge Town', 2825, '84645', '435', '39.857584', '-111.849094', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29991, 'Mount Pleasant', 2825, '84647', '435', '39.486721', '-111.49738', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29992, 'Mt Pleasant', 2825, '84647', '435', '39.486721', '-111.49738', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29993, 'Spring City', 2825, '84662', '435', '39.410155', '-111.422056', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29994, 'Beryl', 2825, '84714', '435', '37.909586', '-113.630485', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29995, 'Beryl Junction', 2825, '84714', '435', '37.909586', '-113.630485', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29996, 'La Verkin', 2825, '84745', '435', '37.22774', '-113.303621', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29997, 'Fremont', 2825, '84747', '435', '38.4036', '-111.69523', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29998, 'Loa', 2825, '84747', '435', '38.4036', '-111.69523', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(29999, 'Rockville', 2825, '84763', '435', '37.1614', '-113.0377', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(30000, 'Pine Valley', 2825, '84781', '435', '37.344857', '-113.501711', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(30001, 'Dpo', 2776, '34008', '000', '0', '0', '2018-11-29 04:55:14', '2018-11-29 04:55:14'),\n(30002, 'Dpo', 2776, '34023', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30003, 'Fpo', 2776, '34058', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30004, 'Fpo', 2776, '34093', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30005, 'Apo', 2777, '09801', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30006, 'Dpo', 2777, '09817', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30007, 'Apo', 2777, '09818', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30008, 'Apo', 2777, '09832', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30009, 'Dpo', 2777, '09739', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30010, 'Dpo', 2777, '09762', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30011, 'Apo', 2777, '09803', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30012, 'Fpo', 2777, '09805', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30013, 'Dpo', 2777, '09812', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30014, 'Dpo', 2777, '09828', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30015, 'Dpo', 2777, '09830', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30016, 'Fpo', 2777, '09837', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30017, 'Fpo', 2777, '09578', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30018, 'Fpo', 2777, '09594', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30019, 'Apo', 2777, '09301', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30020, 'Apo', 2777, '09328', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30021, 'Apo', 2777, '09703', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30022, 'Dpo', 2777, '09710', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30023, 'Apo', 2777, '09003', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30024, 'Apo', 2777, '09010', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30025, 'Apo', 2777, '09053', '000', '0', '0', '2018-11-29 04:55:15', '2018-11-29 04:55:15'),\n(30026, 'Dpo', 2777, '09378', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30027, 'Fpo', 2777, '09394', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30028, 'Apo', 2777, '09403', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30029, 'Apo', 2777, '09494', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30030, 'Fpo', 2777, '09503', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30031, 'Apo', 2777, '09067', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30032, 'Apo', 2777, '09112', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30033, 'Apo', 2777, '09137', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30034, 'Apo', 2777, '09735', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30035, 'Dpo', 2777, '09750', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30036, 'Apo', 2777, '09798', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30037, 'Apo', 2777, '09815', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30038, 'Dpo', 2777, '09816', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30039, 'Fpo', 2777, '09517', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30040, 'Fpo', 2777, '09534', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30041, 'Fpo', 2777, '09550', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30042, 'Fpo', 2777, '09564', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30043, 'Fpo', 2777, '09618', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30044, 'Fpo', 2777, '09631', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30045, 'Apo', 2777, '09633', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30046, 'Apo', 2777, '09866', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30047, 'Fpo', 2777, '09866', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30048, 'Apo', 2777, '09263', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30049, 'Apo', 2777, '09264', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30050, 'Dpo', 2777, '09265', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30051, 'Apo', 2777, '09267', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30052, 'Apo', 2777, '09330', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30053, 'Dpo', 2777, '09348', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30054, 'Apo', 2777, '09364', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30055, 'Dpo', 2777, '09701', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30056, 'Dpo', 2777, '09716', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30057, 'Dpo', 2777, '09718', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30058, 'Fpo', 2777, '09733', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30059, 'Apo', 2777, '09013', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30060, 'Apo', 2777, '09046', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30061, 'Apo', 2777, '09383', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30062, 'Apo', 2777, '09399', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30063, 'Dpo', 2777, '09498', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30064, 'Fpo', 2777, '09501', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30065, 'Apo', 2777, '09081', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30066, 'Apo', 2777, '09099', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30067, 'Dpo', 2777, '09736', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30068, 'Fpo', 2777, '09747', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30069, 'Apo', 2777, '09804', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30070, 'Dpo', 2777, '09811', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30071, 'Apo', 2777, '09822', '000', '0', '0', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30072, 'Anchorage', 2778, '99502', '907', '61.163342', '-150.094862', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30073, 'Anchorage', 2778, '99521', '907', '61.2181', '-149.9003', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30074, 'Mtgy', 2779, '36117', '334', '32.372453', '-86.133934', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30075, 'Al Power Co', 2779, '36133', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30076, 'Montg', 2779, '36133', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30077, 'Montgomery', 2779, '36133', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30078, 'Mtgy', 2779, '36133', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30079, 'Al Income Tax', 2779, '36135', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30080, 'Montg', 2779, '36135', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30081, 'Montgomery', 2779, '36135', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30082, 'Mtgy', 2779, '36135', '334', '32.3667', '-86.3002', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30083, 'Ashland', 2779, '36251', '256', '33.230215', '-85.867824', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30084, 'Bluff Spring', 2779, '36251', '256', '33.230215', '-85.867824', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30085, 'Carr Mill', 2779, '36251', '256', '33.230215', '-85.867824', '2018-11-29 04:55:16', '2018-11-29 04:55:16'),\n(30086, 'Gibsonville', 2779, '36251', '256', '33.230215', '-85.867824', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30087, 'Harkins Crossroads', 2779, '36251', '256', '33.230215', '-85.867824', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30088, 'Idaho', 2779, '36251', '256', '33.230215', '-85.867824', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30089, 'Eastaboga', 2779, '36260', '256', '33.586465', '-86.001101', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30090, 'Muscadine', 2779, '36269', '256', '33.735075', '-85.387887', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30091, 'Almond', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30092, 'Dickert', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30093, 'Forester Chapel', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30094, 'Goldville', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30095, 'Levelroad', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30096, 'Motley', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30097, 'Sikesville', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30098, 'Wadley', 2779, '36276', '256', '33.115953', '-85.60725', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30099, 'Corinth', 2779, '36278', '256', '33.331888', '-85.510222', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30100, 'Haywood', 2779, '36278', '256', '33.331888', '-85.510222', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30101, 'Malone', 2779, '36278', '256', '33.331888', '-85.510222', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30102, 'Wedowee', 2779, '36278', '256', '33.331888', '-85.510222', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30103, 'Dothan', 2779, '36303', '334', '31.266985', '-85.418302', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30104, 'Kinsey', 2779, '36303', '334', '31.266985', '-85.418302', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30105, 'Rehobeth', 2779, '36303', '334', '31.266985', '-85.418302', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30106, 'New Brockton', 2779, '36351', '334', '31.401556', '-85.926825', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30107, 'Fort Rucker', 2779, '36362', '334', '31.400884', '-85.70131', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30108, 'Coy', 2779, '36435', '334', '31.882136', '-87.356149', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30109, 'River Falls', 2779, '36476', '334', '31.359057', '-86.551498', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30110, 'Atmore', 2779, '36503', '251', '31.0239', '-87.4938', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30111, 'Gulf Shores', 2779, '36542', '251', '30.283142', '-87.799794', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30112, 'Irvington', 2779, '36544', '251', '30.477624', '-88.228237', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30113, 'Loxley', 2779, '36551', '251', '30.640279', '-87.737705', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30114, 'Bell Fountain', 2779, '36567', '251', '30.614865', '-87.564862', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30115, 'Elsanor', 2779, '36567', '251', '30.614865', '-87.564862', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30116, 'Gateswood', 2779, '36567', '251', '30.614865', '-87.564862', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30117, 'Robertsdale', 2779, '36567', '251', '30.614865', '-87.564862', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30118, 'Rosinton', 2779, '36567', '251', '30.614865', '-87.564862', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30119, 'Saraland', 2779, '36571', '251', '30.873601', '-88.095336', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30120, 'Mobile', 2779, '36603', '251', '30.685531', '-88.05223', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30121, 'Mobile', 2779, '36612', '251', '30.751428', '-88.112888', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30122, 'Whistler', 2779, '36612', '251', '30.751428', '-88.112888', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30123, 'Mobile', 2779, '36671', '251', '30.6945', '-88.0431', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30124, 'Mc Williams', 2779, '36753', '251', '31.8356', '-87.1016', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30125, 'Brookley Field', 2779, '36615', '251', '30.632259', '-88.067572', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30126, 'Brookley Fld', 2779, '36615', '251', '30.632259', '-88.067572', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30127, 'Mobile', 2779, '36615', '251', '30.632259', '-88.067572', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30128, 'Mobile', 2779, '36616', '251', '30.7006', '-88.0455', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30129, 'Linden', 2779, '36748', '334', '32.288776', '-87.83664', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30130, 'Higdon', 2779, '35979', '256', '34.816876', '-85.611373', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30131, 'Fitzpatrick', 2779, '36029', '334', '32.176785', '-85.914908', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30132, 'Fort Davis', 2779, '36031', '334', '32.229535', '-85.733666', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30133, 'Troy', 2779, '36079', '334', '31.744504', '-85.990024', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30134, 'Titus', 2779, '36080', '334', '32.697587', '-86.289924', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30135, 'Troy', 2779, '36081', '334', '31.903154', '-85.869093', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30136, 'Maxwell AFB', 2779, '36112', '334', '32.383876', '-86.356764', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30137, 'Montgomery', 2779, '36112', '334', '32.383876', '-86.356764', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30138, 'Mtgy', 2779, '36112', '334', '32.383876', '-86.356764', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30139, 'Montgomery', 2779, '36131', '334', '32.3667', '-86.3002', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30140, 'Mtgy', 2779, '36131', '334', '32.3667', '-86.3002', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30141, 'State Dept Industrial Relat', 2779, '36131', '334', '32.3667', '-86.3002', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30142, 'Hawk', 2779, '36280', '256', '33.383415', '-85.393084', '2018-11-29 04:55:17', '2018-11-29 04:55:17'),\n(30143, 'Newell', 2779, '36280', '256', '33.383415', '-85.393084', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30144, 'Woodland', 2779, '36280', '256', '33.383415', '-85.393084', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30145, 'Fulton', 2779, '36446', '334', '31.769378', '-87.606572', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30146, 'Goodway', 2779, '36449', '251', '31.3364', '-87.4248', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30147, 'Hybart', 2779, '36481', '334', '31.694539', '-87.371788', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30148, 'Vredenburgh', 2779, '36481', '334', '31.694539', '-87.371788', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30149, 'Bradley', 2779, '36483', '334', '31.128572', '-86.641524', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30150, 'Wing', 2779, '36483', '334', '31.128572', '-86.641524', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30151, 'Calvert', 2779, '36513', '251', '31.171377', '-87.993215', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30152, 'Fair Hope', 2779, '36532', '251', '30.482441', '-87.866974', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30153, 'Fairhope', 2779, '36532', '251', '30.482441', '-87.866974', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30154, 'Point Clear', 2779, '36564', '251', '30.472192', '-87.924555', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30155, 'Sunflower', 2779, '36581', '251', '31.356815', '-87.988143', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30156, 'Saltaire', 2779, '36582', '251', '30.500838', '-88.203232', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30157, 'Theodore', 2779, '36582', '251', '30.500838', '-88.203232', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30158, 'Birmingham', 2779, '35290', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30159, 'Wells Fargo', 2779, '35290', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30160, 'Al Power Co', 2779, '35292', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30161, 'Bham', 2779, '35292', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30162, 'Birmingham', 2779, '35292', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30163, 'Bham', 2779, '35297', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30164, 'Birmingham', 2779, '35297', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30165, 'State Farm Insurance', 2779, '35297', '205', '33.5208', '-86.8027', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30166, 'N Port', 2779, '35476', '205', '33.22379', '-87.610688', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30167, 'North Port', 2779, '35476', '205', '33.22379', '-87.610688', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30168, 'Northport', 2779, '35476', '205', '33.22379', '-87.610688', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30169, 'Nport', 2779, '35476', '205', '33.22379', '-87.610688', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30170, 'Carbon Hill', 2779, '35549', '205', '33.832254', '-87.531158', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30171, 'Spruce Pine', 2779, '35585', '256', '34.415454', '-87.837994', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30172, 'Decatur', 2779, '35601', '256', '34.620893', '-87.013675', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30173, 'Anderson', 2779, '35610', '256', '34.939154', '-87.246764', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30174, 'Cloverdale', 2779, '35617', '256', '34.9386', '-87.7716', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30175, 'Florence', 2779, '35631', '256', '34.7999', '-87.6774', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30176, 'Florence', 2779, '35633', '256', '34.868787', '-87.809086', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30177, 'Mooresville', 2779, '35649', '256', '34.622187', '-86.872685', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30178, 'Mount Hope', 2779, '35651', '256', '34.456163', '-87.469311', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30179, 'Decatur', 2779, '35699', '256', '34.6059', '-86.9836', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30180, 'Master Charge', 2779, '35699', '256', '34.6059', '-86.9836', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30181, 'Harvest', 2779, '35749', '256', '34.821601', '-86.731102', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30182, 'Hollytree', 2779, '35751', '256', '34.808878', '-86.255212', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30183, 'Madison', 2779, '35758', '256', '34.709737', '-86.742356', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30184, 'Triana', 2779, '35758', '256', '34.709737', '-86.742356', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30185, 'Pisgah', 2779, '35765', '256', '34.680647', '-85.823487', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30186, 'Barney', 2779, '35550', '205', '33.737392', '-87.15343', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30187, 'Cordova', 2779, '35550', '205', '33.737392', '-87.15343', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30188, 'Lynn', 2779, '35575', '205', '34.048596', '-87.543358', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30189, 'Burntout', 2779, '35593', '256', '34.35448', '-88.069142', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30190, 'Vina', 2779, '35593', '256', '34.35448', '-88.069142', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30191, 'Decatur', 2779, '35609', '256', '34.6056', '-86.9833', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30192, 'Cherokee', 2779, '35616', '256', '34.741038', '-87.992533', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30193, 'Courtland', 2779, '35618', '256', '34.671852', '-87.288651', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30194, 'N Courtland', 2779, '35618', '256', '34.671852', '-87.288651', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30195, 'North Courtland', 2779, '35618', '256', '34.671852', '-87.288651', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30196, 'Hillsboro', 2779, '35643', '256', '34.647808', '-87.20862', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30197, 'Lexington', 2779, '35648', '256', '34.945599', '-87.372926', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30198, 'Moulton', 2779, '35650', '256', '34.460601', '-87.318804', '2018-11-29 04:55:18', '2018-11-29 04:55:18'),\n(30199, 'Gurley', 2779, '35748', '256', '34.727256', '-86.383704', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30200, 'Hazel Green', 2779, '35750', '256', '34.933182', '-86.571721', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30201, 'Gadsden', 2779, '35902', '256', '34.0145', '-86.0064', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30202, 'Albertville', 2779, '35950', '256', '34.251568', '-86.25698', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30203, 'Altoona', 2779, '35952', '205', '34.045616', '-86.285992', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30204, 'Snead', 2779, '35952', '205', '34.045616', '-86.285992', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30205, 'Susan Moore', 2779, '35952', '205', '34.045616', '-86.285992', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30206, 'Collinsville', 2779, '35961', '256', '34.292002', '-85.8838', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30207, 'Fabius', 2779, '35966', '256', '34.814528', '-85.700649', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30208, 'Flat Rock', 2779, '35966', '256', '34.814528', '-85.700649', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30209, 'Elmore', 2779, '36025', '334', '32.545881', '-86.330016', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30210, 'Bakerhill', 2779, '36027', '334', '31.941874', '-85.207438', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30211, 'Eufaula', 2779, '36027', '334', '31.941874', '-85.207438', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30212, 'Highland Home', 2779, '36041', '334', '31.937585', '-86.309998', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30213, 'Banks', 2779, '36061', '334', '31.936081', '-85.705688', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30214, 'Perote', 2779, '36061', '334', '31.936081', '-85.705688', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30215, 'Prattville', 2779, '36066', '334', '32.500665', '-86.419379', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30216, 'Pville', 2779, '36066', '334', '32.500665', '-86.419379', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30217, 'Prattville', 2779, '36068', '334', '32.4645', '-86.4597', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30218, 'Pville', 2779, '36068', '334', '32.4645', '-86.4597', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30219, 'Verbena', 2779, '36091', '205', '32.74574', '-86.513239', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30220, 'Wetumpka', 2779, '36093', '334', '32.501399', '-86.16453', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30221, 'Montgomery', 2779, '36111', '334', '32.340714', '-86.267264', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30222, 'Mtgy', 2779, '36111', '334', '32.340714', '-86.267264', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30223, 'Montgomery', 2779, '36116', '334', '32.25215', '-86.208627', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30224, 'Mtgy', 2779, '36116', '334', '32.25215', '-86.208627', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30225, 'Gunter Afs', 2779, '36118', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30226, 'Gunter Afs-Eci', 2779, '36118', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30227, 'Gunter Eci', 2779, '36118', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30228, 'Montgomery', 2779, '36118', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30229, 'Mtgy', 2779, '36118', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30230, 'Bass Anglers Sports Soc', 2779, '36141', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30231, 'Montg', 2779, '36141', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30232, 'Montgomery', 2779, '36141', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30233, 'Mtgy', 2779, '36141', '334', '32.3667', '-86.3002', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30234, 'Anniston', 2779, '36202', '256', '33.6594', '-85.8317', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30235, 'Munford', 2779, '36268', '256', '33.490064', '-85.904183', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30236, 'Headland', 2779, '36345', '334', '31.349864', '-85.321351', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30237, 'Slocomb', 2779, '36375', '334', '31.10208', '-85.534154', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30238, 'Andalusia', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30239, 'Babbie', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30240, 'Carolina', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30241, 'Dixie', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30242, 'Heath', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30243, 'Libertyville', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30244, 'Pleasant Home', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30245, 'Rome', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30246, 'Sanford', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30247, 'Straughn', 2779, '36420', '334', '31.223546', '-86.601949', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30248, 'Beatrice', 2779, '36425', '251', '31.740868', '-87.108083', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30249, 'Buena Vista', 2779, '36425', '251', '31.740868', '-87.108083', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30250, 'Lenox', 2779, '36454', '251', '31.321205', '-87.195352', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30251, 'Fountain', 2779, '36461', '251', '31.5276', '-87.3244', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30252, 'Monroeville', 2779, '36461', '251', '31.5276', '-87.3244', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30253, 'Mville', 2779, '36461', '251', '31.5276', '-87.3244', '2018-11-29 04:55:19', '2018-11-29 04:55:19'),\n(30254, 'Claiborne', 2779, '36470', '251', '31.497088', '-87.543067', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30255, 'Perdue Hill', 2779, '36470', '251', '31.497088', '-87.543067', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30256, 'Bon Secour', 2779, '36511', '251', '30.312316', '-87.742554', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30257, 'Chatom', 2779, '36518', '251', '31.5119', '-88.264942', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30258, 'Foley', 2779, '36536', '251', '30.4064', '-87.6838', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30259, 'Huxford', 2779, '36543', '251', '31.2214', '-87.4603', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30260, 'Mobile', 2779, '36602', '251', '30.688342', '-88.033005', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30261, 'Mobile', 2779, '36609', '251', '30.659271', '-88.158554', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30262, 'Mobile', 2779, '36618', '251', '30.739591', '-88.170248', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30263, 'Mobile', 2779, '36670', '251', '30.6945', '-88.0431', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30264, 'Selma', 2779, '36702', '334', '32.4074', '-87.0213', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30265, 'Campbell', 2779, '36727', '334', '31.956012', '-88.051802', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30266, 'Farmersville', 2779, '36761', '334', '32.094484', '-86.982836', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30267, 'Minter', 2779, '36761', '334', '32.094484', '-86.982836', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30268, 'Myrtlewood', 2779, '36763', '334', '32.251526', '-87.975356', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30269, 'Alabaster', 2779, '35007', '205', '33.218709', '-86.783546', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30270, 'Clay', 2779, '35048', '205', '33.7027', '-86.5998', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30271, 'Alden', 2779, '35073', '205', '33.667544', '-86.974336', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30272, 'Blossburg', 2779, '35073', '205', '33.667544', '-86.974336', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30273, 'Graysville', 2779, '35073', '205', '33.667544', '-86.974336', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30274, 'Morris', 2779, '35116', '205', '33.726373', '-86.768351', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30275, 'Palmerdale', 2779, '35123', '205', '33.7306', '-86.6495', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30276, 'Praco', 2779, '35130', '205', '33.636244', '-87.140289', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30277, 'Quinton', 2779, '35130', '205', '33.636244', '-87.140289', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30278, 'W Jefferson', 2779, '35130', '205', '33.636244', '-87.140289', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30279, 'West Jefferson', 2779, '35130', '205', '33.636244', '-87.140289', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30280, 'Sayre', 2779, '35139', '205', '33.712832', '-86.958212', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30281, 'Coal City', 2779, '35182', '205', '33.6608', '-86.2636', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30282, 'Wattsville', 2779, '35182', '205', '33.6608', '-86.2636', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30283, 'Birmingham', 2779, '35207', '205', '33.564818', '-86.835872', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30284, 'Birmingham', 2779, '35232', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30285, 'Birmingham', 2779, '35259', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30286, 'Homewood', 2779, '35259', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30287, 'Mountain Brk', 2779, '35259', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30288, 'Bham', 2779, '35266', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30289, 'Birmingham', 2779, '35266', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30290, 'Mountain Brk', 2779, '35266', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30291, 'Vestavia', 2779, '35266', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30292, 'Vestavia Hills', 2779, '35266', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30293, 'Vestavia Hls', 2779, '35266', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30294, 'Al Power Co', 2779, '35291', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30295, 'Bham', 2779, '35291', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30296, 'Birmingham', 2779, '35291', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30297, 'Bham', 2779, '35298', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30298, 'Birmingham', 2779, '35298', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30299, 'Blue Cross-Shield', 2779, '35298', '205', '33.5208', '-86.8027', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30300, 'Gordo', 2779, '35466', '205', '33.294188', '-87.917596', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30301, 'N Port', 2779, '35473', '205', '33.276438', '-87.583446', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30302, 'North Port', 2779, '35473', '205', '33.276438', '-87.583446', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30303, 'Northport', 2779, '35473', '205', '33.276438', '-87.583446', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30304, 'Nport', 2779, '35473', '205', '33.276438', '-87.583446', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30305, 'Samantha', 2779, '35482', '205', '33.4224', '-87.6053', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30306, 'Bazemore', 2779, '35559', '205', '33.900534', '-87.730449', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30307, 'Glen Allen', 2779, '35559', '205', '33.900534', '-87.730449', '2018-11-29 04:55:20', '2018-11-29 04:55:20'),\n(30308, 'Red Bay', 2779, '35582', '256', '34.45138', '-88.061962', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30309, 'Sipsey', 2779, '35584', '205', '33.819835', '-87.083121', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30310, 'Brownsboro', 2779, '35741', '256', '34.722068', '-86.468098', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30311, 'Meridianville', 2779, '35759', '256', '34.865972', '-86.558214', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30312, 'Princeton', 2779, '35766', '256', '34.873952', '-86.264142', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30313, 'Huntsville', 2779, '35802', '256', '34.669181', '-86.56031', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30314, 'Huntsville', 2779, '35809', '256', '34.6546', '-86.6455', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30315, 'Redstone Arsenal', 2779, '35809', '256', '34.6546', '-86.6455', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30316, 'Huntsville', 2779, '35893', '256', '34.7305', '-86.5863', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30317, 'Redstone Fed Credit Union', 2779, '35893', '256', '34.7305', '-86.5863', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30318, 'Gadsden', 2779, '35907', '256', '33.895177', '-86.022722', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30319, 'Southside', 2779, '35907', '256', '33.895177', '-86.022722', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30320, 'Cedar Bluff', 2779, '35959', '256', '34.254859', '-85.610168', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30321, 'Fort Payne', 2779, '35968', '256', '34.499572', '-85.799514', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30322, 'Ft Payne', 2779, '35968', '256', '34.499572', '-85.799514', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30323, 'Pine Ridge', 2779, '35968', '256', '34.499572', '-85.799514', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30324, 'Groveoak', 2779, '35975', '256', '34.434732', '-86.072566', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30325, 'Powell', 2779, '35986', '256', '34.514366', '-85.829862', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30326, 'Rainsville', 2779, '35986', '256', '34.514366', '-85.829862', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30327, 'Shiloh', 2779, '35986', '256', '34.514366', '-85.829862', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30328, 'Brantley', 2779, '36009', '334', '31.557284', '-86.317495', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30329, 'Mathews', 2779, '36052', '334', '32.16948', '-86.033806', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30330, 'Shorter', 2779, '36075', '334', '32.383676', '-85.903946', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30331, 'Montgomery', 2779, '36102', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30332, 'Mtgy', 2779, '36102', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30333, 'Montgomery', 2779, '36109', '334', '32.390383', '-86.241172', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30334, 'Mtgy', 2779, '36109', '334', '32.390383', '-86.241172', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30335, 'Montgomery', 2779, '36125', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30336, 'Mtgy', 2779, '36125', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30337, 'First Alabama Bank', 2779, '36134', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30338, 'Montg', 2779, '36134', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30339, 'Montgomery', 2779, '36134', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30340, 'Mtgy', 2779, '36134', '334', '32.3667', '-86.3002', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30341, 'Alexandria', 2779, '36250', '256', '33.76942', '-85.903943', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30342, 'Dothan', 2779, '36302', '334', '31.2234', '-85.3906', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30343, 'Ariton', 2779, '36311', '334', '31.612372', '-85.696016', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30344, 'Cottonwood', 2779, '36320', '334', '31.052749', '-85.32373', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30345, 'Madrid', 2779, '36320', '334', '31.052749', '-85.32373', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30346, 'Gordon', 2779, '36343', '334', '31.095784', '-85.119624', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30347, 'Grangeburg', 2779, '36343', '334', '31.095784', '-85.119624', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30348, 'Midland City', 2779, '36350', '334', '31.411345', '-85.495512', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30349, 'Brewton', 2779, '36427', '251', '31.1052', '-87.0725', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30350, 'Frisco City', 2779, '36445', '251', '31.440041', '-87.467818', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30351, 'Atmore', 2779, '36504', '251', '31.0239', '-87.4938', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30352, 'Spanish Fort', 2779, '36527', '251', '30.741272', '-87.900287', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30353, 'Timber Creek', 2779, '36527', '251', '30.741272', '-87.900287', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30354, 'Deer Park', 2779, '36529', '251', '31.20026', '-88.291625', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30355, 'Hawthorne', 2779, '36529', '251', '31.20026', '-88.291625', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30356, 'Seaboard', 2779, '36529', '251', '31.20026', '-88.291625', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30357, 'Montrose', 2779, '36559', '251', '30.566672', '-87.903787', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30358, 'Bham', 2779, '35294', '205', '33.5208', '-86.8027', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30359, 'Birmingham', 2779, '35294', '205', '33.5208', '-86.8027', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30360, 'Univ Of Alabama Bir', 2779, '35294', '205', '33.5208', '-86.8027', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30361, 'Buhl', 2779, '35446', '205', '33.238311', '-87.745537', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30362, 'Romulus', 2779, '35446', '205', '33.238311', '-87.745537', '2018-11-29 04:55:21', '2018-11-29 04:55:21'),\n(30363, 'Ethelsville', 2779, '35461', '205', '33.404399', '-88.198328', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30364, 'Peterson', 2779, '35478', '205', '33.2325', '-87.4239', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30365, 'Ralph', 2779, '35480', '205', '33.095096', '-87.776899', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30366, 'Beaverton', 2779, '35544', '205', '33.951082', '-88.037888', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30367, 'Hackleburg', 2779, '35564', '205', '34.257938', '-87.851493', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30368, 'Nauvoo', 2779, '35578', '205', '33.977732', '-87.487972', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30369, 'Saragossa', 2779, '35578', '205', '33.977732', '-87.487972', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30370, 'Athens', 2779, '35613', '256', '34.831706', '-86.875951', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30371, 'Florence', 2779, '35630', '256', '34.830274', '-87.664543', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30372, 'North Florence', 2779, '35630', '256', '34.830274', '-87.664543', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30373, 'Saint Florian', 2779, '35630', '256', '34.830274', '-87.664543', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30374, 'Leighton', 2779, '35646', '256', '34.668356', '-87.530076', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30375, 'Muscle Shoals', 2779, '35662', '256', '34.7651', '-87.6986', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30376, 'Alabama A And M', 2779, '35762', '256', '34.7869', '-86.5719', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30377, 'Normal', 2779, '35762', '256', '34.7869', '-86.5719', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30378, 'Huntsville', 2779, '35811', '256', '34.81362', '-86.50345', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30379, 'Huntsville', 2779, '35812', '256', '34.7305', '-86.5863', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30380, 'Huntsville', 2779, '35813', '256', '34.6733', '-86.7521', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30381, 'Huntsville', 2779, '35898', '256', '34.62855', '-86.65491', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30382, 'Redstone Arsenal', 2779, '35898', '256', '34.62855', '-86.65491', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30383, 'Redstone Central', 2779, '35898', '256', '34.62855', '-86.65491', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30384, 'Horton', 2779, '35980', '256', '34.167492', '-86.375508', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30385, 'Chapman', 2779, '36015', '334', '31.6711', '-86.7122', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30386, 'Dozier', 2779, '36028', '334', '31.518858', '-86.362677', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30387, 'Forest Home', 2779, '36030', '334', '31.858024', '-86.792817', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30388, 'Kent', 2779, '36045', '334', '32.6186', '-85.9489', '2018-11-29 04:55:22', '2018-11-29 04:55:22');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(30389, 'Tallassee', 2779, '36045', '334', '32.6186', '-85.9489', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30390, 'Lapine', 2779, '36046', '334', '31.992347', '-86.335366', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30391, 'Letohatchee', 2779, '36047', '334', '32.080073', '-86.515085', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30392, 'Pine Level', 2779, '36065', '334', '32.052531', '-86.051182', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30393, 'Troy', 2779, '36082', '334', '31.801029', '-85.956644', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30394, 'Troy State University', 2779, '36082', '334', '31.801029', '-85.956644', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30395, 'Maxwell AFB', 2779, '36113', '334', '32.380666', '-86.344103', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30396, 'Montgomery', 2779, '36113', '334', '32.380666', '-86.344103', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30397, 'Bessemer', 2779, '35020', '205', '33.401858', '-86.943222', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30398, 'Brighton', 2779, '35020', '205', '33.401858', '-86.943222', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30399, 'Brent', 2779, '35034', '205', '32.923422', '-87.276234', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30400, 'Brierfield', 2779, '35035', '205', '33.069403', '-86.979053', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30401, 'Brookside', 2779, '35036', '205', '33.639205', '-86.910431', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30402, 'Cardiff', 2779, '35036', '205', '33.639205', '-86.910431', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30403, 'Coalburg', 2779, '35068', '205', '33.612225', '-86.822093', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30404, 'Fulton Springs', 2779, '35068', '205', '33.612225', '-86.822093', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30405, 'Fultondale', 2779, '35068', '205', '33.612225', '-86.822093', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30406, 'Garden City', 2779, '35070', '256', '34.009409', '-86.747729', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30407, 'Joppa', 2779, '35087', '256', '34.306726', '-86.581374', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30408, 'Maytown', 2779, '35118', '205', '33.543002', '-87.042694', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30409, 'Mulga', 2779, '35118', '205', '33.543002', '-87.042694', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30410, 'Sylvan Spgs', 2779, '35118', '205', '33.543002', '-87.042694', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30411, 'Sylvan Springs', 2779, '35118', '205', '33.543002', '-87.042694', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30412, 'Highland Lake', 2779, '35121', '205', '33.946378', '-86.434454', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30413, 'Hoods Crossroads', 2779, '35121', '205', '33.946378', '-86.434454', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30414, 'Oneonta', 2779, '35121', '205', '33.946378', '-86.434454', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30415, 'Rosa', 2779, '35121', '205', '33.946378', '-86.434454', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30416, 'Straight Mountain', 2779, '35121', '205', '33.946378', '-86.434454', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30417, 'Birmingham', 2779, '35201', '205', '33.5208', '-86.8027', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30418, 'Alex City', 2779, '35011', '256', '32.9394', '-85.9466', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30419, 'Alexander City', 2779, '35011', '256', '32.9394', '-85.9466', '2018-11-29 04:55:22', '2018-11-29 04:55:22'),\n(30420, 'Chelsea', 2779, '35043', '205', '33.314781', '-86.668362', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30421, 'Dolomite', 2779, '35061', '205', '33.467352', '-86.96125', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30422, 'Dora', 2779, '35062', '205', '33.719829', '-87.042008', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30423, 'Hanceville', 2779, '35077', '256', '34.015502', '-86.826142', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30424, 'Harpersville', 2779, '35078', '205', '33.324922', '-86.454339', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30425, 'Leeds', 2779, '35094', '205', '33.513635', '-86.577822', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30426, 'Alabaster', 2779, '35144', '205', '33.2442', '-86.8166', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30427, 'Elliotsville', 2779, '35144', '205', '33.2442', '-86.8166', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30428, 'Elliotsvl', 2779, '35144', '205', '33.2442', '-86.8166', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30429, 'Elliotsvle', 2779, '35144', '205', '33.2442', '-86.8166', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30430, 'Siluria', 2779, '35144', '205', '33.2442', '-86.8166', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30431, 'Hytop', 2779, '35768', '256', '34.782119', '-86.088229', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30432, 'Scottsboro', 2779, '35768', '256', '34.782119', '-86.088229', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30433, 'Valhermoso Sp', 2779, '35775', '256', '34.545637', '-86.692212', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30434, 'Valhermoso Spg', 2779, '35775', '256', '34.545637', '-86.692212', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30435, 'Valhermoso Springs', 2779, '35775', '256', '34.545637', '-86.692212', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30436, 'Vlhrmoso Spgs', 2779, '35775', '256', '34.545637', '-86.692212', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30437, 'Huntsville', 2779, '35807', '256', '34.7305', '-86.5863', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30438, 'Huntsville', 2779, '35816', '256', '34.742266', '-86.629628', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30439, 'Boaz', 2779, '35957', '256', '34.187622', '-86.19741', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30440, 'Sardis City', 2779, '35957', '256', '34.187622', '-86.19741', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30441, 'Mentone', 2779, '35984', '256', '34.55965', '-85.578364', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30442, 'Clayton', 2779, '36016', '334', '31.858753', '-85.411036', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30443, 'Glenwood', 2779, '36034', '334', '31.607801', '-86.105532', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30444, 'Grady', 2779, '36036', '334', '31.959839', '-86.139567', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30445, 'Hope Hull', 2779, '36043', '334', '32.186454', '-86.43636', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30446, 'Montg', 2779, '36177', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30447, 'Montgomery', 2779, '36177', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30448, 'Montgomery Business Reply Ma', 2779, '36177', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30449, 'Mtgy', 2779, '36177', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30450, 'Alfa Ins Co', 2779, '36191', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30451, 'Montgomery', 2779, '36191', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30452, 'Mtgy', 2779, '36191', '334', '32.3667', '-86.3002', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30453, 'Edwardsville', 2779, '36261', '256', '33.7075', '-85.5095', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30454, 'Spring Garden', 2779, '36275', '256', '33.9728', '-85.5537', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30455, 'Weaver', 2779, '36277', '256', '33.756856', '-85.825622', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30456, 'Coffee Spgs', 2779, '36318', '334', '31.174105', '-85.951746', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30457, 'Coffee Springs', 2779, '36318', '334', '31.174105', '-85.951746', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30458, 'Newton', 2779, '36352', '334', '31.275109', '-85.621913', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30459, 'Waterford', 2779, '36352', '334', '31.275109', '-85.621913', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30460, 'Ozark', 2779, '36361', '334', '31.4588', '-85.6406', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30461, 'Pansey', 2779, '36370', '334', '31.121957', '-85.154714', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30462, 'Dickinson', 2779, '36436', '334', '31.727596', '-87.657608', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30463, 'Scyrene', 2779, '36436', '334', '31.727596', '-87.657608', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30464, 'Repton', 2779, '36475', '251', '31.442735', '-87.184234', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30465, 'Samson', 2779, '36477', '334', '31.132109', '-86.0698', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30466, 'Atmore', 2779, '36502', '251', '31.174268', '-87.494964', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30467, 'Canoe', 2779, '36502', '251', '31.174268', '-87.494964', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30468, 'Mc Cullough', 2779, '36502', '251', '31.174268', '-87.494964', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30469, 'Mccullough', 2779, '36502', '251', '31.174268', '-87.494964', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30470, 'Bayou La Batre', 2779, '36509', '251', '30.404099', '-88.260304', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30471, 'Bayou Labatre', 2779, '36509', '251', '30.404099', '-88.260304', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30472, 'Jackson', 2779, '36545', '251', '31.46492', '-87.890716', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30473, 'Salipta', 2779, '36545', '251', '31.46492', '-87.890716', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30474, 'Walker Spgs', 2779, '36545', '251', '31.46492', '-87.890716', '2018-11-29 04:55:23', '2018-11-29 04:55:23'),\n(30475, 'Walker Springs', 2779, '36545', '251', '31.46492', '-87.890716', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30476, 'Mobile', 2779, '36604', '251', '30.684648', '-88.067275', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30477, 'Chickasaw', 2779, '36611', '251', '30.775593', '-88.079468', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30478, 'Mobile', 2779, '36611', '251', '30.775593', '-88.079468', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30479, 'Mobile', 2779, '36652', '251', '30.6945', '-88.0431', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30480, 'Mobile', 2779, '36688', '251', '30.695894', '-88.182407', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30481, 'University Of South Alabama', 2779, '36688', '251', '30.695894', '-88.182407', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30482, 'Mobile', 2779, '36695', '251', '30.631045', '-88.298522', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30483, 'Alberta', 2779, '36720', '334', '32.146356', '-87.347604', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30484, 'Dixons Mills', 2779, '36736', '334', '32.068185', '-87.779951', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30485, 'Pine Apple', 2779, '36768', '251', '31.93847', '-87.015682', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30486, 'Snow Hill', 2779, '36768', '251', '31.93847', '-87.015682', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30487, 'Birmingham', 2779, '35235', '205', '33.627296', '-86.653268', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30488, 'Center Point', 2779, '35235', '205', '33.627296', '-86.653268', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30489, 'Centerpoint', 2779, '35235', '205', '33.627296', '-86.653268', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30490, 'Grayson Valley', 2779, '35235', '205', '33.627296', '-86.653268', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30491, 'Huffman', 2779, '35235', '205', '33.627296', '-86.653268', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30492, 'Roebuck Plaza', 2779, '35235', '205', '33.627296', '-86.653268', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30493, 'Birmingham', 2779, '35236', '205', '33.5208', '-86.8027', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30494, 'Hoover', 2779, '35236', '205', '33.5208', '-86.8027', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30495, 'Birmingham', 2779, '35237', '205', '33.5208', '-86.8027', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30496, 'Bham', 2779, '35238', '205', '33.4975', '-86.7638', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30497, 'Birmingham', 2779, '35238', '205', '33.4975', '-86.7638', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30498, 'Bham', 2779, '35287', '205', '33.5208', '-86.8027', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30499, 'Birmingham', 2779, '35287', '205', '33.5208', '-86.8027', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30500, 'Regions Bank', 2779, '35287', '205', '33.5208', '-86.8027', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30501, 'Tusc', 2779, '35402', '205', '33.2098', '-87.5692', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30502, 'Tuscaloosa', 2779, '35402', '205', '33.2098', '-87.5692', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30503, 'Tuscaloosa', 2779, '35404', '205', '33.216329', '-87.498292', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30504, 'Coker', 2779, '35452', '205', '33.287686', '-87.683046', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30505, 'Mc Shan', 2779, '35471', '205', '33.406543', '-88.149467', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30506, 'Tuscaloosa', 2779, '35486', '205', '33.2094', '-87.5695', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30507, 'Sulligent', 2779, '35586', '205', '33.840625', '-88.107107', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30508, 'Decatur', 2779, '35602', '256', '34.6056', '-86.9833', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30509, 'Russellville', 2779, '35654', '256', '34.482322', '-87.623067', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30510, 'Tanner', 2779, '35671', '256', '34.66291', '-86.988182', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30511, 'Ardmore', 2779, '35739', '256', '34.956162', '-86.811034', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30512, 'Laceys Spring', 2779, '35754', '256', '34.525124', '-86.61267', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30513, 'Banks', 2779, '36005', '334', '31.810721', '-85.761834', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30514, 'Coosada', 2779, '36020', '334', '32.498019', '-86.316538', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30515, 'Greenville', 2779, '36037', '334', '31.744197', '-86.646382', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30516, 'Millbrook', 2779, '36054', '334', '32.467355', '-86.359491', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30517, 'Tuskegee Inst', 2779, '36088', '334', '32.41806', '-85.712348', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30518, 'Tuskegee Institute', 2779, '36088', '334', '32.41806', '-85.712348', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30519, 'Tuskegee University', 2779, '36088', '334', '32.41806', '-85.712348', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30520, 'Montgomery', 2779, '36104', '334', '32.392516', '-86.328764', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30521, 'Mtgy', 2779, '36104', '334', '32.392516', '-86.328764', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30522, 'Montgomery', 2779, '36121', '334', '32.3667', '-86.3002', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30523, 'Mtgy', 2779, '36121', '334', '32.3667', '-86.3002', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30524, 'Al Revenue Dept', 2779, '36140', '334', '32.3667', '-86.3002', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30525, 'Montg', 2779, '36140', '334', '32.3667', '-86.3002', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30526, 'Montgomery', 2779, '36140', '334', '32.3667', '-86.3002', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30527, 'Mtgy', 2779, '36140', '334', '32.3667', '-86.3002', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30528, 'Anniston', 2779, '36206', '256', '33.73585', '-85.803104', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30529, 'Anniston', 2779, '36207', '256', '33.694836', '-85.73373', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30530, 'Choccolocco', 2779, '36254', '256', '33.6566', '-85.7016', '2018-11-29 04:55:24', '2018-11-29 04:55:24'),\n(30531, 'Daviston', 2779, '36256', '256', '33.03109', '-85.705658', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30532, 'New Site', 2779, '36256', '256', '33.03109', '-85.705658', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30533, 'De Armanville', 2779, '36257', '256', '33.6246', '-85.7513', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30534, 'Roanoke', 2779, '36274', '334', '33.17202', '-85.379819', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30535, 'Elba', 2779, '36323', '334', '31.419842', '-86.089185', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30536, 'Pinckard', 2779, '36371', '334', '31.306947', '-85.554549', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30537, 'Lockhart', 2779, '36455', '334', '31.013055', '-86.349964', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30538, 'Chunchula', 2779, '36521', '251', '30.960928', '-88.18828', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30539, 'Fellowship', 2779, '36521', '251', '30.960928', '-88.18828', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30540, 'Georgetown', 2779, '36521', '251', '30.960928', '-88.18828', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30541, 'Gulf Crest', 2779, '36521', '251', '30.960928', '-88.18828', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30542, 'Turnerville', 2779, '36521', '251', '30.960928', '-88.18828', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30543, 'Citronelle', 2779, '36522', '251', '31.034107', '-88.265638', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30544, 'Alabama Port', 2779, '36523', '251', '30.381477', '-88.187407', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30545, 'Coden', 2779, '36523', '251', '30.381477', '-88.187407', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30546, 'Heron Bay', 2779, '36523', '251', '30.381477', '-88.187407', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30547, 'Mon Louis', 2779, '36523', '251', '30.381477', '-88.187407', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30548, 'Frankville', 2779, '36538', '251', '31.642921', '-88.141471', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30549, 'Silver Cross', 2779, '36538', '251', '31.642921', '-88.141471', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30550, 'Grand Bay', 2779, '36541', '251', '30.486229', '-88.3308', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30551, 'Magnolia Spgs', 2779, '36555', '251', '30.398775', '-87.776247', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30552, 'Mtgy', 2779, '36113', '334', '32.380666', '-86.344103', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30553, 'Gunter AFB', 2779, '36114', '334', '32.4045', '-86.2459', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30554, 'Mafb Gun Annx', 2779, '36114', '334', '32.4045', '-86.2459', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30555, 'Maxwell Afb Gunter Annex', 2779, '36114', '334', '32.4045', '-86.2459', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30556, 'Montgomery', 2779, '36114', '334', '32.4045', '-86.2459', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30557, 'Mtgy', 2779, '36114', '334', '32.4045', '-86.2459', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30558, 'Al Revenue Dept', 2779, '36132', '334', '32.3667', '-86.3002', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30559, 'Montg', 2779, '36132', '334', '32.3667', '-86.3002', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30560, 'Montgomery', 2779, '36132', '334', '32.3667', '-86.3002', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30561, 'Mtgy', 2779, '36132', '334', '32.3667', '-86.3002', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30562, 'Jacksonville', 2779, '36265', '256', '33.855077', '-85.77596', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30563, 'Wellington', 2779, '36279', '256', '33.869967', '-85.896014', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30564, 'Black', 2779, '36314', '334', '31.020682', '-85.780766', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30565, 'Battens Crossroads', 2779, '36316', '334', '31.183797', '-85.873454', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30566, 'Chancellor', 2779, '36316', '334', '31.183797', '-85.873454', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30567, 'Enterprise', 2779, '36331', '334', '31.3153', '-85.8554', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30568, 'Eprise', 2779, '36331', '334', '31.3153', '-85.8554', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30569, 'Chestnut Grove', 2779, '36346', '334', '31.535729', '-85.955565', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30570, 'Jack', 2779, '36346', '334', '31.535729', '-85.955565', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30571, 'Victoria', 2779, '36346', '334', '31.535729', '-85.955565', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30572, 'Malvern', 2779, '36349', '334', '31.141258', '-85.507684', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30573, 'Chrysler', 2779, '36480', '251', '31.330526', '-87.623678', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30574, 'Uriah', 2779, '36480', '251', '31.330526', '-87.623678', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30575, 'Gosport', 2779, '36482', '251', '31.636075', '-87.622689', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30576, 'Suggsville', 2779, '36482', '251', '31.636075', '-87.622689', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30577, 'Whatley', 2779, '36482', '251', '31.636075', '-87.622689', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30578, 'Carlton', 2779, '36515', '251', '31.326031', '-87.837604', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30579, 'Elberta', 2779, '36530', '251', '30.407426', '-87.54188', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30580, 'Josephine', 2779, '36530', '251', '30.407426', '-87.54188', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30581, 'Miflin', 2779, '36530', '251', '30.407426', '-87.54188', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30582, 'Perdido Beach', 2779, '36530', '251', '30.407426', '-87.54188', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30583, 'Carson', 2779, '36548', '251', '31.475368', '-87.962711', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30584, 'Leroy', 2779, '36548', '251', '31.475368', '-87.962711', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30585, 'Prestwick', 2779, '36548', '251', '31.475368', '-87.962711', '2018-11-29 04:55:25', '2018-11-29 04:55:25'),\n(30586, 'Little River', 2779, '36550', '251', '31.206554', '-87.795105', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30587, 'Mobile', 2779, '36617', '251', '30.717539', '-88.093979', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30588, 'Prichard', 2779, '36617', '251', '30.717539', '-88.093979', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30589, 'Jones', 2779, '36749', '334', '32.548952', '-86.854721', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30590, 'Nanafalia', 2779, '36764', '334', '32.1125', '-87.9882', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30591, 'Univ Of Alabama Hospital', 2779, '35249', '205', '33.5208', '-86.8027', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30592, 'Tuscaloosa', 2779, '35401', '205', '33.173002', '-87.6135', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30593, 'Veterans Hospital', 2779, '35401', '205', '33.173002', '-87.6135', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30594, 'Tuscaloosa', 2779, '35406', '205', '33.345952', '-87.473363', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30595, 'Abernant', 2779, '35440', '205', '33.2906', '-87.1981', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30596, 'Coaling', 2779, '35449', '205', '33.1588', '-87.3406', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30597, 'Duncanville', 2779, '35456', '205', '33.076997', '-87.422476', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30598, 'Elrod', 2779, '35458', '205', '33.376844', '-87.793073', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30599, 'Coal Fire', 2779, '35481', '205', '33.412996', '-88.03808', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30600, 'Reform', 2779, '35481', '205', '33.412996', '-88.03808', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30601, 'Stansel', 2779, '35481', '205', '33.412996', '-88.03808', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30602, 'Vance', 2779, '35490', '205', '33.217255', '-87.228658', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30603, 'Jasper', 2779, '35501', '205', '33.81175', '-87.28349', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30604, 'Delmar', 2779, '35551', '205', '34.17', '-87.6059', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30605, 'Haleyville', 2779, '35565', '205', '34.218232', '-87.613208', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30606, 'Fernbank', 2779, '35576', '205', '33.57534', '-88.135618', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30607, 'Millport', 2779, '35576', '205', '33.57534', '-88.135618', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30608, 'Hartselle', 2779, '35640', '256', '34.432986', '-86.931126', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30609, 'Bridgeport', 2779, '35740', '256', '34.937566', '-85.777605', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30610, 'Capshaw', 2779, '35742', '256', '34.819176', '-86.80068', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30611, 'Woodville', 2779, '35776', '256', '34.651585', '-86.231891', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30612, 'Huntsville', 2779, '35810', '256', '34.804218', '-86.59235', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30613, 'Huntsville', 2779, '35824', '256', '34.645902', '-86.752326', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30614, 'Huntsville', 2779, '35894', '256', '34.7305', '-86.5863', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30615, 'Intergraph Corporation', 2779, '35894', '256', '34.7305', '-86.5863', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30616, 'Bryant', 2779, '35958', '256', '34.909606', '-85.650924', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30617, 'Leesburg', 2779, '35983', '256', '34.170708', '-85.758333', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30618, 'Sand Rock', 2779, '35983', '256', '34.170708', '-85.758333', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30619, 'Sandrock', 2779, '35983', '256', '34.170708', '-85.758333', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30620, 'Blue Springs', 2779, '36017', '334', '31.693228', '-85.562028', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30621, 'Clio', 2779, '36017', '334', '31.693228', '-85.562028', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30622, 'Central', 2779, '36024', '334', '32.63024', '-86.024291', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30623, 'Eclectic', 2779, '36024', '334', '32.63024', '-86.024291', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30624, 'Bolling', 2779, '36033', '334', '31.653652', '-86.736544', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30625, 'Georgiana', 2779, '36033', '334', '31.653652', '-86.736544', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30626, 'Tallassee', 2779, '36078', '334', '32.556198', '-85.912822', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30627, 'Montgomery', 2779, '36103', '334', '32.3667', '-86.3002', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30628, 'Mtgy', 2779, '36103', '334', '32.3667', '-86.3002', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30629, 'Montgomery', 2779, '36117', '334', '32.372453', '-86.133934', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30630, 'Magnolia Springs', 2779, '36555', '251', '30.398775', '-87.776247', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30631, 'Malcolm', 2779, '36556', '251', '31.210047', '-87.973292', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30632, 'Aquilla', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30633, 'Barlow', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30634, 'Bigbee', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30635, 'Copeland', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30636, 'Healing Springs', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30637, 'Koenton', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30638, 'Millry', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30639, 'Yarbo', 2779, '36558', '251', '31.605932', '-88.277556', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30640, 'Robertsdale', 2779, '36574', '251', '30.530269', '-87.475889', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30641, 'Seminole', 2779, '36574', '251', '30.530269', '-87.475889', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30642, 'Mobile', 2779, '36605', '251', '30.598161', '-88.089824', '2018-11-29 04:55:26', '2018-11-29 04:55:26'),\n(30643, 'Mobile', 2779, '36607', '251', '30.701232', '-88.102566', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30644, 'Mobile', 2779, '36608', '251', '30.66657', '-88.266256', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30645, 'Mobile', 2779, '36641', '251', '30.6945', '-88.0431', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30646, 'Mobile', 2779, '36691', '251', '30.6945', '-88.0431', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30647, 'Scottsboro', 2779, '35769', '256', '34.574276', '-86.100556', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30648, 'Huntsville', 2779, '35803', '256', '34.561159', '-86.526028', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30649, 'Huntsville', 2779, '35804', '256', '34.7305', '-86.5863', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30650, 'Gadsden', 2779, '35906', '256', '33.92832', '-86.09608', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30651, 'Rainbow City', 2779, '35906', '256', '33.92832', '-86.09608', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30652, 'Rbc', 2779, '35906', '256', '33.92832', '-86.09608', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30653, 'Ashville', 2779, '35953', '205', '33.817665', '-86.213044', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30654, 'Fyffe', 2779, '35971', '256', '34.469611', '-85.954492', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30655, 'Lakeview', 2779, '35971', '256', '34.469611', '-85.954492', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30656, 'Gallant', 2779, '35972', '256', '33.993805', '-86.234921', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30657, 'Hardaway', 2779, '36039', '334', '32.309274', '-85.797615', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30658, 'Gordonville', 2779, '36040', '334', '32.197305', '-86.653884', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30659, 'Hayneville', 2779, '36040', '334', '32.197305', '-86.653884', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30660, 'Rutledge', 2779, '36071', '334', '31.720431', '-86.382781', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30661, 'Montgomery', 2779, '36107', '334', '32.383155', '-86.281965', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30662, 'Mtgy', 2779, '36107', '334', '32.383155', '-86.281965', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30663, 'Montgomery', 2779, '36120', '334', '32.3667', '-86.3002', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30664, 'Mtgy', 2779, '36120', '334', '32.3667', '-86.3002', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30665, 'Montgomery', 2779, '36123', '334', '32.3667', '-86.3002', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30666, 'Mtgy', 2779, '36123', '334', '32.3667', '-86.3002', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30667, 'Shakespeare', 2779, '36123', '334', '32.3667', '-86.3002', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30668, 'Anniston', 2779, '36205', '256', '33.722696', '-85.793515', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30669, 'Fort Mc Clellan', 2779, '36205', '256', '33.722696', '-85.793515', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30670, 'Ft Mc Clellan', 2779, '36205', '256', '33.722696', '-85.793515', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30671, 'Ft Mcclellan', 2779, '36205', '256', '33.722696', '-85.793515', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30672, 'Cragford', 2779, '36255', '256', '33.173602', '-85.728615', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30673, 'Mellow Valley', 2779, '36255', '256', '33.173602', '-85.728615', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30674, 'Borden Springs', 2779, '36272', '256', '33.913376', '-85.594802', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30675, 'Brdn Sprngs', 2779, '36272', '256', '33.913376', '-85.594802', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30676, 'Piedmont', 2779, '36272', '256', '33.913376', '-85.594802', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30677, 'Macedonia', 2779, '36273', '256', '33.560539', '-85.393439', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30678, 'Ranburne', 2779, '36273', '256', '33.560539', '-85.393439', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30679, 'Dothan', 2779, '36304', '334', '31.2234', '-85.3906', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30680, 'Cowarts', 2779, '36321', '334', '31.213476', '-85.299528', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30681, 'Clayhatchee', 2779, '36322', '334', '31.232988', '-85.738221', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30682, 'Daleville', 2779, '36322', '334', '31.232988', '-85.738221', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30683, 'Level Plains', 2779, '36322', '334', '31.232988', '-85.738221', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30684, 'Eunola', 2779, '36340', '334', '31.076365', '-85.907536', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30685, 'Geneva', 2779, '36340', '334', '31.076365', '-85.907536', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30686, 'Bertha', 2779, '36374', '334', '31.586522', '-85.533559', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30687, 'Skipperville', 2779, '36374', '334', '31.586522', '-85.533559', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30688, 'Andalusia', 2779, '36421', '334', '31.33536', '-86.408769', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30689, 'Excel', 2779, '36439', '251', '31.4285', '-87.3396', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30690, 'Flomaton', 2779, '36441', '251', '31.059606', '-87.259381', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30691, 'Pollard', 2779, '36441', '251', '31.059606', '-87.259381', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30692, 'Mc Kenzie', 2779, '36456', '334', '31.559356', '-86.754754', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30693, 'Mckenzie', 2779, '36456', '334', '31.559356', '-86.754754', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30694, 'Megargel', 2779, '36457', '251', '31.3796', '-87.4286', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30695, 'Range', 2779, '36473', '251', '31.323156', '-87.31626', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30696, 'Red Level', 2779, '36474', '334', '31.446554', '-86.593714', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30697, 'Axis', 2779, '36505', '251', '30.954331', '-88.018212', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30698, 'Lemoyne', 2779, '36505', '251', '30.954331', '-88.018212', '2018-11-29 04:55:27', '2018-11-29 04:55:27'),\n(30699, 'Coffeeville', 2779, '36524', '251', '31.791973', '-88.030584', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30700, 'Creola', 2779, '36525', '251', '30.935892', '-87.996768', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30701, 'Fruitdale', 2779, '36539', '251', '31.343302', '-88.304693', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30702, 'Yellow Pine', 2779, '36539', '251', '31.343302', '-88.304693', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30703, 'Gainestown', 2779, '36540', '251', '31.465684', '-87.671899', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30704, 'Theodore', 2779, '36590', '251', '30.5475', '-88.1753', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30705, 'Mobile', 2779, '36606', '251', '30.665624', '-88.103864', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30706, 'Mobile', 2779, '36625', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30707, 'Morrisons Cafeteria', 2779, '36625', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30708, 'Mobile', 2779, '36689', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30709, 'Arlington', 2779, '36722', '334', '32.076245', '-87.562152', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30710, 'Forkland', 2779, '36740', '334', '32.643682', '-87.908989', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30711, 'Furman', 2779, '36741', '251', '32.0064', '-86.9666', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30712, 'Gallion', 2779, '36742', '334', '32.477765', '-87.718781', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30713, 'Providence', 2779, '36742', '334', '32.477765', '-87.718781', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30714, 'Plantersville', 2779, '36758', '334', '32.618788', '-86.891513', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30715, 'Eight Mile', 2779, '36613', '251', '30.80885', '-88.178103', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30716, 'Mobile', 2779, '36613', '251', '30.80885', '-88.178103', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30717, 'Prichard', 2779, '36613', '251', '30.80885', '-88.178103', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30718, 'Mobile', 2779, '36630', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30719, 'Press Register Inc', 2779, '36630', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30720, 'Mobile', 2779, '36633', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30721, 'Eight Mile', 2779, '36663', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30722, 'Mobile', 2779, '36663', '251', '30.6945', '-88.0431', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30723, 'Demopolis', 2779, '36732', '334', '32.415375', '-87.918823', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30724, 'Maplesville', 2779, '36750', '334', '32.791824', '-86.856422', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30725, 'Newbern', 2779, '36765', '334', '32.590418', '-87.564084', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30726, 'Oak Hill', 2779, '36766', '251', '31.9217', '-87.0814', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30727, 'Oakhill', 2779, '36766', '251', '31.9217', '-87.0814', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30728, 'Orrville', 2779, '36767', '334', '32.24971', '-87.20397', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30729, 'Talladega', 2779, '35160', '256', '33.376143', '-86.071249', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30730, 'Waldo', 2779, '35160', '256', '33.376143', '-86.071249', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30731, 'Birmingham', 2779, '35211', '205', '33.456572', '-86.860266', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30732, 'Wenonah', 2779, '35211', '205', '33.456572', '-86.860266', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30733, 'Birmingham', 2779, '35212', '205', '33.550306', '-86.744878', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30734, 'Birmingham', 2779, '35228', '205', '33.456278', '-86.917396', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30735, 'Midfield', 2779, '35228', '205', '33.456278', '-86.917396', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30736, 'Bham', 2779, '35246', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30737, 'Birmingham', 2779, '35246', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30738, 'Regions Bank', 2779, '35246', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30739, 'Al Gas Corp', 2779, '35295', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30740, 'Bham', 2779, '35295', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30741, 'Birmingham', 2779, '35295', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30742, 'Bham', 2779, '35296', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30743, 'Birmingham', 2779, '35296', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30744, 'Compass Bank', 2779, '35296', '205', '33.5208', '-86.8027', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30745, 'Boligee', 2779, '35443', '205', '32.771772', '-88.029342', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30746, 'Mount Hebron', 2779, '35443', '205', '32.771772', '-88.029342', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30747, 'Carrollton', 2779, '35447', '205', '33.259046', '-88.13287', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30748, 'Pickensville', 2779, '35447', '205', '33.259046', '-88.13287', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30749, 'Eutaw', 2779, '35462', '205', '32.946504', '-88.008885', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30750, 'Union', 2779, '35462', '205', '32.946504', '-88.008885', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30751, 'Belk', 2779, '35545', '205', '33.642616', '-87.924528', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30752, 'Berry', 2779, '35546', '205', '33.621728', '-87.56701', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30753, 'Gu-Win', 2779, '35563', '205', '33.979409', '-87.896644', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30754, 'Guin', 2779, '35563', '205', '33.979409', '-87.896644', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30755, 'Parrish', 2779, '35580', '205', '33.695224', '-87.267032', '2018-11-29 04:55:28', '2018-11-29 04:55:28'),\n(30756, 'Winfield', 2779, '35594', '205', '33.94739', '-87.782826', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30757, 'Athens', 2779, '35614', '256', '34.882935', '-87.0601', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30758, 'Killen', 2779, '35645', '256', '34.901468', '-87.50142', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30759, 'Dutton', 2779, '35744', '256', '34.606424', '-85.915036', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30760, 'Fackler', 2779, '35746', '256', '34.816596', '-85.999549', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30761, 'Grant', 2779, '35747', '256', '34.507324', '-86.323954', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30762, 'Paint Rock', 2779, '35764', '256', '34.697173', '-86.309601', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30763, 'Huntsville', 2779, '35897', '256', '34.7305', '-86.5863', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30764, 'Munitions Missle Com Sch', 2779, '35897', '256', '34.7305', '-86.5863', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30765, 'Dawson', 2779, '35963', '256', '34.357885', '-85.927973', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30766, 'Douglas', 2779, '35964', '256', '34.1738', '-86.3239', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30767, 'Ider', 2779, '35981', '256', '34.712308', '-85.64089', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30768, 'Cecil', 2779, '36013', '334', '32.31605', '-85.984662', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30769, 'Fort Deposit', 2779, '36032', '334', '31.979611', '-86.585376', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30770, 'Louisville', 2779, '36048', '334', '31.81018', '-85.573246', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30771, 'Petrey', 2779, '36062', '334', '31.8489', '-86.2079', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30772, 'Pike Road', 2779, '36064', '334', '32.307547', '-86.088348', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30773, 'Gunter A F B', 2779, '36115', '334', '32.406326', '-86.249433', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30774, 'Gunter A F S', 2779, '36115', '334', '32.406326', '-86.249433', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30775, 'Gunter AFB', 2779, '36115', '334', '32.406326', '-86.249433', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30776, 'Gunter Afs', 2779, '36115', '334', '32.406326', '-86.249433', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30777, 'Montgomery', 2779, '36115', '334', '32.406326', '-86.249433', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30778, 'Mtgy', 2779, '36115', '334', '32.406326', '-86.249433', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30779, 'Al Revenue Dept', 2779, '36130', '334', '32.3667', '-86.3002', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30780, 'Al State Govt Mail', 2779, '36130', '334', '32.3667', '-86.3002', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30781, 'Montgomery', 2779, '36130', '334', '32.3667', '-86.3002', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30782, 'Mtgy', 2779, '36130', '334', '32.3667', '-86.3002', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30783, 'Fruithurst', 2779, '36262', '256', '33.780186', '-85.489042', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30784, 'Graham', 2779, '36263', '256', '33.462309', '-85.36611', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30785, 'Hightower', 2779, '36263', '256', '33.462309', '-85.36611', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30786, 'Chulafinnee', 2779, '36264', '256', '33.62075', '-85.553122', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30787, 'Heflin', 2779, '36264', '256', '33.62075', '-85.553122', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30788, 'Hollis Crossroads', 2779, '36264', '256', '33.62075', '-85.553122', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30789, 'Barfield', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30790, 'Campbells Crossroads', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30791, 'Erin', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30792, 'Highland', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30793, 'Lineville', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30794, 'Ofelia', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30795, 'Pyriton', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30796, 'Shinebone', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30797, 'Watts Mill', 2779, '36266', '256', '33.334066', '-85.75278', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30798, 'Bellwood', 2779, '36313', '334', '31.176208', '-85.800795', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30799, 'Enterprise', 2779, '36330', '334', '31.368425', '-85.869335', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30800, 'Eprise', 2779, '36330', '334', '31.368425', '-85.869335', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30801, 'Brooklyn', 2779, '36429', '251', '31.2666', '-86.7715', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30802, 'Castleberry', 2779, '36432', '251', '31.329014', '-87.016231', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30803, 'Fairhope', 2779, '36533', '251', '30.5229', '-87.9033', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30804, 'Gulf Shores', 2779, '36547', '251', '30.2455', '-87.7009', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30805, 'Lillian', 2779, '36549', '251', '30.416925', '-87.4495', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30806, 'Summerdale', 2779, '36580', '251', '30.47357', '-87.695914', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30807, 'Tibbie', 2779, '36583', '251', '31.383468', '-88.269749', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30808, 'Orange Beach', 2779, '36561', '251', '30.28222', '-87.56498', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30809, 'Saint Elmo', 2779, '36568', '251', '30.5036', '-88.2528', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30810, 'Spanish Fort', 2779, '36577', '251', '30.665411', '-87.941996', '2018-11-29 04:55:29', '2018-11-29 04:55:29'),\n(30811, 'Stockton', 2779, '36579', '251', '31.080303', '-87.828992', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30812, 'Vinegar Bend', 2779, '36584', '251', '31.27418', '-88.38229', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30813, 'Mobile', 2779, '36693', '251', '30.626775', '-88.150728', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30814, 'Dayton', 2779, '36738', '334', '32.393012', '-87.619438', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30815, 'Faunsdale', 2779, '36738', '334', '32.393012', '-87.619438', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30816, 'Jefferson', 2779, '36745', '334', '32.3867', '-87.8984', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30817, 'Burkville', 2779, '36752', '334', '32.296901', '-86.64294', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30818, 'Lowndesboro', 2779, '36752', '334', '32.296901', '-86.64294', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30819, 'Magnolia', 2779, '36754', '334', '32.130815', '-87.708717', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30820, 'Ryland', 2779, '35767', '256', '34.7699', '-86.4809', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30821, 'Huntsville', 2779, '35808', '256', '34.682517', '-86.649546', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30822, 'Redstone Arsenal', 2779, '35808', '256', '34.682517', '-86.649546', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30823, 'Huntsville', 2779, '35899', '256', '34.7305', '-86.5863', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30824, 'Univ Of Alabama Hsv', 2779, '35899', '256', '34.7305', '-86.5863', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30825, 'Fort Payne', 2779, '35967', '256', '34.40712', '-85.704552', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30826, 'Geraldine', 2779, '35974', '256', '34.364127', '-86.021756', '2018-11-29 04:55:30', '2018-11-29 04:55:30');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(30827, 'Guntersville', 2779, '35976', '256', '34.335984', '-86.310172', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30828, 'Equality', 2779, '36026', '256', '32.789475', '-86.105122', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30829, 'Nixburg', 2779, '36026', '256', '32.789475', '-86.105122', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30830, 'Honoraville', 2779, '36042', '334', '31.864634', '-86.424208', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30831, 'Marbury', 2779, '36051', '205', '32.665584', '-86.483434', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30832, 'Mountain Creek', 2779, '36051', '205', '32.665584', '-86.483434', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30833, 'Prattville', 2779, '36067', '334', '32.513622', '-86.584751', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30834, 'Pville', 2779, '36067', '334', '32.513622', '-86.584751', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30835, 'Ramer', 2779, '36069', '334', '32.105151', '-86.164646', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30836, 'Tuskegee', 2779, '36083', '334', '32.373374', '-85.691031', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30837, 'Veterans Admin. Fac.', 2779, '36083', '334', '32.373374', '-85.691031', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30838, 'Montgomery', 2779, '36101', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30839, 'Mtgy', 2779, '36101', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30840, 'Dannelly', 2779, '36108', '334', '32.3375', '-86.404014', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30841, 'Montgomery', 2779, '36108', '334', '32.3375', '-86.404014', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30842, 'Mtgy', 2779, '36108', '334', '32.3375', '-86.404014', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30843, 'Chisolm', 2779, '36110', '334', '32.447435', '-86.25298', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30844, 'Montgomery', 2779, '36110', '334', '32.447435', '-86.25298', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30845, 'Mtgy', 2779, '36110', '334', '32.447435', '-86.25298', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30846, 'Montgomery', 2779, '36119', '334', '32.3744', '-86.3043', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30847, 'Mtgy', 2779, '36119', '334', '32.3744', '-86.3043', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30848, 'Montgomery', 2779, '36124', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30849, 'Mtgy', 2779, '36124', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30850, 'Colonial Mortgage', 2779, '36142', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30851, 'Montg', 2779, '36142', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30852, 'Montgomery', 2779, '36142', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30853, 'Mtgy', 2779, '36142', '334', '32.3667', '-86.3002', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30854, 'Anniston', 2779, '36201', '256', '33.677138', '-85.91992', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30855, 'Anniston', 2779, '36203', '256', '33.57543', '-85.849327', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30856, 'Oxford', 2779, '36203', '256', '33.57543', '-85.849327', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30857, 'Bynum', 2779, '36253', '256', '33.6133', '-85.9611', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30858, 'Millerville', 2779, '36267', '256', '33.143778', '-85.94018', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30859, 'Clopton', 2779, '36317', '334', '31.626422', '-85.411459', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30860, 'Columbia', 2779, '36319', '334', '31.336355', '-85.16261', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30861, 'Haleburg', 2779, '36319', '334', '31.336355', '-85.16261', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30862, 'Hartford', 2779, '36344', '334', '31.095364', '-85.71676', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30863, 'Highbluff', 2779, '36344', '334', '31.095364', '-85.71676', '2018-11-29 04:55:30', '2018-11-29 04:55:30'),\n(30864, 'Burnt Corn', 2779, '36401', '251', '31.494984', '-86.913842', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30865, 'Egreen', 2779, '36401', '251', '31.494984', '-86.913842', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30866, 'Evergreen', 2779, '36401', '251', '31.494984', '-86.913842', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30867, 'Franklin', 2779, '36444', '251', '31.661608', '-87.465572', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30868, 'Monroeville', 2779, '36460', '251', '31.499156', '-87.329404', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30869, 'Mville', 2779, '36460', '251', '31.499156', '-87.329404', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30870, 'Horn Hill', 2779, '36467', '334', '31.276788', '-86.28336', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30871, 'Onycha', 2779, '36467', '334', '31.276788', '-86.28336', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30872, 'Opp', 2779, '36467', '334', '31.276788', '-86.28336', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30873, 'Foley', 2779, '36535', '251', '30.383821', '-87.715678', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30874, 'Huggers Landing', 2779, '36535', '251', '30.383821', '-87.715678', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30875, 'Oyster Bay', 2779, '36535', '251', '30.383821', '-87.715678', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30876, 'Vernant Park', 2779, '36535', '251', '30.383821', '-87.715678', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30877, 'Chastang', 2779, '36560', '251', '31.089512', '-88.04101', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30878, 'Mount Vernon', 2779, '36560', '251', '31.089512', '-88.04101', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30879, 'Perdido', 2779, '36562', '251', '31.039348', '-87.661802', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30880, 'Saint Stephens', 2779, '36569', '251', '31.536547', '-88.035735', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30881, 'St Stephens', 2779, '36569', '251', '31.536547', '-88.035735', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30882, 'Silverhill', 2779, '36576', '251', '30.519944', '-87.763628', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30883, 'Bassetts Creek', 2779, '36585', '251', '31.400455', '-88.057374', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30884, 'Cortelyou', 2779, '36585', '251', '31.400455', '-88.057374', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30885, 'Hawthorn', 2779, '36585', '251', '31.400455', '-88.057374', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30886, 'Wagarville', 2779, '36585', '251', '31.400455', '-88.057374', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30887, 'Wilmer', 2779, '36587', '251', '30.821916', '-88.32829', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30888, 'Mobile', 2779, '36601', '251', '30.6945', '-88.0431', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30889, 'Mobile', 2779, '36619', '251', '30.593573', '-88.18934', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30890, 'Theodore', 2779, '36619', '251', '30.593573', '-88.18934', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30891, 'Mobile', 2779, '36685', '251', '30.6674', '-88.1804', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30892, 'Selma', 2779, '36701', '334', '32.46503', '-87.025998', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30893, 'Valley Grande', 2779, '36701', '334', '32.46503', '-87.025998', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30894, 'Selma', 2779, '36703', '334', '32.438442', '-86.898766', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30895, 'Valley Grande', 2779, '36703', '334', '32.438442', '-86.898766', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30896, 'Annemanie', 2779, '36721', '334', '32.0555', '-87.5662', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30897, 'Camden', 2779, '36726', '334', '31.989288', '-87.285678', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30898, 'Millers Ferry', 2779, '36726', '334', '31.989288', '-87.285678', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30899, 'Birmingham', 2779, '35219', '205', '33.5208', '-86.8027', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30900, 'Homewd', 2779, '35219', '205', '33.5208', '-86.8027', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30901, 'Homewood', 2779, '35219', '205', '33.5208', '-86.8027', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30902, 'Mountain Brk', 2779, '35219', '205', '33.5208', '-86.8027', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30903, 'Bham', 2779, '35254', '205', '33.514326', '-86.854418', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30904, 'Birmingham', 2779, '35254', '205', '33.514326', '-86.854418', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30905, 'Birmingham Southern College', 2779, '35254', '205', '33.514326', '-86.854418', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30906, 'Birmingham', 2779, '35270', '205', '0', '0', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30907, 'North American Mg', 2779, '35270', '205', '0', '0', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30908, 'Skyland', 2779, '35405', '205', '33.110098', '-87.552052', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30909, 'Tuscaloosa', 2779, '35405', '205', '33.110098', '-87.552052', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30910, 'Coaling', 2779, '35453', '205', '33.171115', '-87.38133', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30911, 'Cottondale', 2779, '35453', '205', '33.171115', '-87.38133', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30912, 'Knoxville', 2779, '35469', '205', '32.97188', '-87.791861', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30913, 'Tuscaloosa', 2779, '35485', '205', '33.2094', '-87.5695', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30914, 'Tuscaloosa', 2779, '35487', '205', '33.218225', '-87.545291', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30915, 'University Of Alabama', 2779, '35487', '205', '33.218225', '-87.545291', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30916, 'Jasper', 2779, '35504', '205', '33.905336', '-87.17559', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30917, 'Bluff', 2779, '35555', '205', '33.643583', '-87.82754', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30918, 'Fayette', 2779, '35555', '205', '33.643583', '-87.82754', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30919, 'Elkmont', 2779, '35620', '256', '34.923717', '-86.979201', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30920, 'Eva', 2779, '35621', '256', '34.353179', '-86.73374', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30921, 'Falkville', 2779, '35622', '256', '34.350259', '-86.916338', '2018-11-29 04:55:31', '2018-11-29 04:55:31'),\n(30922, 'Littleville', 2779, '35653', '256', '34.540384', '-87.880266', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30923, 'Russellville', 2779, '35653', '256', '34.540384', '-87.880266', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30924, 'Somerville', 2779, '35670', '256', '34.47429', '-86.750238', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30925, 'Madison', 2779, '35756', '256', '34.656364', '-86.814394', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30926, 'Section', 2779, '35771', '256', '34.542956', '-86.008073', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30927, 'Stevenson', 2779, '35772', '256', '34.86781', '-85.916422', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30928, 'Huntsville', 2779, '35805', '256', '34.706075', '-86.628803', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30929, 'Huntsville', 2779, '35806', '256', '34.759182', '-86.689641', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30930, 'Gaylesville', 2779, '35973', '256', '34.367864', '-85.567582', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30931, 'Hammondville', 2779, '35989', '256', '34.62197', '-85.636075', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30932, 'Valley Head', 2779, '35989', '256', '34.62197', '-85.636075', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30933, 'Walnut Grove', 2779, '35990', '205', '34.068144', '-86.306316', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30934, 'Autaugaville', 2779, '36003', '334', '32.456314', '-86.714785', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30935, 'Billingsley', 2779, '36006', '205', '32.621763', '-86.713741', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30936, 'Deatsville', 2779, '36022', '334', '32.610801', '-86.420152', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30937, 'E Tallassee', 2779, '36023', '256', '32.5313', '-85.8746', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30938, 'East Tallassee', 2779, '36023', '256', '32.5313', '-85.8746', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30939, 'Tallassee', 2779, '36023', '256', '32.5313', '-85.8746', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30940, 'Gantt', 2779, '36038', '334', '31.43578', '-86.408166', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30941, 'Comer', 2779, '36053', '334', '32.0682', '-85.425766', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30942, 'Midway', 2779, '36053', '334', '32.0682', '-85.425766', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30943, 'Three Notch', 2779, '36053', '334', '32.0682', '-85.425766', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30944, 'Mount Meigs', 2779, '36057', '334', '32.3994', '-86.1066', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30945, 'Eufaula', 2779, '36072', '334', '31.8913', '-85.1459', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30946, 'Tuskegee Inst', 2779, '36087', '334', '32.415', '-85.6804', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30947, 'Tuskegee Institute', 2779, '36087', '334', '32.415', '-85.6804', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30948, 'Armstrong', 2779, '36089', '334', '32.149025', '-85.680008', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30949, 'Roba', 2779, '36089', '334', '32.149025', '-85.680008', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30950, 'Union Springs', 2779, '36089', '334', '32.149025', '-85.680008', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30951, 'Montgomery', 2779, '36105', '334', '32.234544', '-86.284059', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30952, 'Mtgy', 2779, '36105', '334', '32.234544', '-86.284059', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30953, 'Montgomery', 2779, '36106', '334', '32.35213', '-86.257552', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30954, 'Mtgy', 2779, '36106', '334', '32.35213', '-86.257552', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30955, 'Anniston', 2779, '36204', '256', '33.6594', '-85.8317', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30956, 'Blue Mountain', 2779, '36204', '256', '33.6594', '-85.8317', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30957, 'Ohatchee', 2779, '36271', '256', '33.778026', '-86.029122', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30958, 'Dothan', 2779, '36305', '334', '31.198754', '-85.484864', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30959, 'Rehobeth', 2779, '36305', '334', '31.198754', '-85.484864', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30960, 'Taylor', 2779, '36305', '334', '31.198754', '-85.484864', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30961, 'Shorterville', 2779, '36373', '334', '31.501726', '-85.1233', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30962, 'Mexia', 2779, '36458', '251', '31.5061', '-87.3878', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30963, 'Peterman', 2779, '36471', '251', '31.640671', '-87.237945', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30964, 'Bay Minette', 2779, '36507', '251', '30.886059', '-87.758137', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30965, 'Bromley', 2779, '36507', '251', '30.886059', '-87.758137', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30966, 'Pinegrove', 2779, '36507', '251', '30.886059', '-87.758137', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30967, 'Satsuma', 2779, '36572', '251', '30.83156', '-88.017825', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30968, 'Semmes', 2779, '36575', '251', '30.783878', '-88.271423', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30969, 'Mobile', 2779, '36640', '251', '30.6945', '-88.0431', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30970, 'Mobile', 2779, '36675', '251', '30.6945', '-88.0431', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30971, 'Mobile P&dc', 2779, '36675', '251', '30.6945', '-88.0431', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30972, 'Boykin', 2779, '36723', '334', '32.093615', '-87.282594', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30973, 'Marion', 2779, '36756', '334', '32.679007', '-87.271504', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30974, 'Sprott', 2779, '36756', '334', '32.679007', '-87.271504', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30975, 'Marion Jct', 2779, '36759', '334', '32.402254', '-87.26474', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30976, 'Marion Junction', 2779, '36759', '334', '32.402254', '-87.26474', '2018-11-29 04:55:32', '2018-11-29 04:55:32'),\n(30977, 'Apo', 2780, '96337', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30978, 'Fpo', 2780, '96370', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30979, 'Fpo', 2780, '96387', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30980, 'Fpo', 2780, '96522', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30981, 'Fpo', 2780, '96538', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30982, 'Fpo', 2780, '96670', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30983, 'Fpo', 2780, '96687', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30984, 'Dpo', 2780, '96209', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30985, 'Apo', 2780, '96266', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30986, 'Apo', 2780, '96284', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30987, 'Fpo', 2780, '96309', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30988, 'Apo', 2780, '96323', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30989, 'Fpo', 2780, '96348', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30990, 'Fpo', 2780, '96350', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30991, 'Fpo', 2780, '96375', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30992, 'Dpo', 2780, '96507', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30993, 'Apo', 2780, '96541', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30994, 'Apo', 2780, '96543', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30995, 'Fpo', 2780, '96543', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30996, 'Apo', 2780, '96548', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30997, 'Apo', 2780, '96577', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30998, 'Fpo', 2780, '96675', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(30999, 'Fpo', 2780, '96677', '000', '0', '0', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31000, 'Dunsmuir', 2783, '96025', '530', '41.225247', '-122.342375', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31001, 'Fort Jones', 2783, '96032', '530', '41.615624', '-122.93635', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31002, 'Happy Camp', 2783, '96039', '530', '41.835252', '-123.406909', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31003, 'Montague', 2783, '96064', '530', '41.75888', '-122.323822', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31004, 'Paynes Creek', 2783, '96075', '530', '40.366536', '-121.839944', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31005, 'Dairyville', 2783, '96080', '530', '40.152142', '-122.415206', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31006, 'Red Bluff', 2783, '96080', '530', '40.152142', '-122.415206', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31007, 'Round Mountain', 2783, '96084', '530', '40.923122', '-122.025144', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31008, 'Round Mtn', 2783, '96084', '530', '40.923122', '-122.025144', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31009, 'Doyle', 2783, '96109', '530', '39.922961', '-120.144709', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31010, 'Likely', 2783, '96116', '530', '41.285707', '-120.489427', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31011, 'Ravendale', 2783, '96123', '530', '40.938678', '-120.182295', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31012, 'S Lake Tahoe', 2783, '96150', '530', '38.885134', '-120.042372', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31013, 'South Lake Tahoe', 2783, '96150', '530', '38.885134', '-120.042372', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31014, 'W Sacramento', 2783, '95799', '916', '38.5809', '-121.5295', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31015, 'West Sacramento', 2783, '95799', '916', '38.5809', '-121.5295', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31016, 'North Sacramento', 2783, '95815', '916', '38.6057', '-121.445876', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31017, 'Sacramento', 2783, '95815', '916', '38.6057', '-121.445876', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31018, 'Sacramento', 2783, '95822', '916', '38.513839', '-121.498894', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31019, 'Sacramento', 2783, '95833', '916', '38.613055', '-121.514585', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31020, 'Franchise Tax Board', 2783, '95840', '916', '38.5817', '-121.4936', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31021, 'Sacramento', 2783, '95840', '916', '38.5817', '-121.4936', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31022, 'Durham', 2783, '95958', '530', '39.6466', '-121.7988', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31023, 'Nelson', 2783, '95958', '530', '39.6466', '-121.7988', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31024, 'Newville', 2783, '95963', '530', '39.711466', '-122.377344', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31025, 'Orland', 2783, '95963', '530', '39.711466', '-122.377344', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31026, 'Richvale', 2783, '95974', '530', '39.495949', '-121.747182', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31027, 'La Porte', 2783, '95981', '530', '39.696707', '-121.016623', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31028, 'Strawberry Valley', 2783, '95981', '530', '39.696707', '-121.016623', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31029, 'Strawbrry Vly', 2783, '95981', '530', '39.696707', '-121.016623', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31030, 'Genesee', 2783, '95983', '530', '40.045084', '-120.740954', '2018-11-29 04:55:33', '2018-11-29 04:55:33'),\n(31031, 'Taylorsville', 2783, '95983', '530', '40.045084', '-120.740954', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31032, 'Bella Vista', 2783, '96008', '530', '40.72014', '-122.087097', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31033, 'Canby', 2783, '96015', '530', '41.556423', '-121.027822', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31034, 'Hat Creek', 2783, '96040', '530', '40.847118', '-121.445185', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31035, 'Redding', 2783, '96049', '530', '40.855', '-122.3412', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31036, 'Little Valley', 2783, '96056', '530', '41.09114', '-121.083458', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31037, 'Mcarthur', 2783, '96056', '530', '41.09114', '-121.083458', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31038, 'Pittville', 2783, '96056', '530', '41.09114', '-121.083458', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31039, 'Macdoel', 2783, '96058', '530', '41.788809', '-121.897189', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31040, 'Clio', 2783, '96106', '530', '39.742604', '-120.534297', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31041, 'Davis Creek', 2783, '96108', '530', '41.738338', '-120.761508', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31042, 'Willow Ranch', 2783, '96108', '530', '41.738338', '-120.761508', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31043, 'Calpine', 2783, '96124', '530', '39.577308', '-120.513493', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31044, 'Sattley', 2783, '96124', '530', '39.577308', '-120.513493', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31045, 'Topaz', 2783, '96133', '530', '38.612372', '-119.524604', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31046, 'S Lake Tahoe', 2783, '96158', '530', '38.9459', '-119.9704', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31047, 'South Lake Tahoe', 2783, '96158', '530', '38.9459', '-119.9704', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31048, 'Sunset Whitney Ranch', 2783, '95677', '916', '38.796035', '-121.235214', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31049, 'Wheatland', 2783, '95692', '530', '39.051042', '-121.397656', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31050, 'Camino', 2783, '95709', '530', '38.749471', '-120.671398', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31051, 'Cedar Grove', 2783, '95709', '530', '38.749471', '-120.671398', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31052, 'Eight Mile House', 2783, '95709', '530', '38.749471', '-120.671398', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31053, 'Snowline Camp', 2783, '95709', '530', '38.749471', '-120.671398', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31054, 'Fresh Pond', 2783, '95726', '530', '38.78718', '-120.501888', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31055, 'Pacific House', 2783, '95726', '530', '38.78718', '-120.501888', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31056, 'Pollock Pines', 2783, '95726', '530', '38.78718', '-120.501888', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31057, 'Rancho Cordova', 2783, '95742', '916', '38.581896', '-121.2067', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31058, 'Rncho Cordova', 2783, '95742', '916', '38.581896', '-121.2067', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31059, 'Sacramento', 2783, '95828', '916', '38.488811', '-121.402828', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31060, 'Sacramento', 2783, '95829', '916', '38.490801', '-121.334852', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31061, 'Arbuckle', 2783, '95912', '530', '39.030658', '-122.016459', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31062, 'College City', 2783, '95912', '530', '39.030658', '-122.016459', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31063, 'Butte Creek', 2783, '95928', '530', '39.711055', '-121.810484', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31064, 'Chapmantown', 2783, '95928', '530', '39.711055', '-121.810484', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31065, 'Chico', 2783, '95928', '530', '39.711055', '-121.810484', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31066, 'Dayton', 2783, '95928', '530', '39.711055', '-121.810484', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31067, 'Ca State Univ Chico', 2783, '95929', '530', '39.7289', '-121.8365', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31068, 'Chico', 2783, '95929', '530', '39.7289', '-121.8365', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31069, 'Alta Hill', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31070, 'Alta Sierra', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31071, 'Bear River Pines', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31072, 'Boston Ravine', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31073, 'Glenbrook Heights', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31074, 'Grass Valley', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31075, 'Hills Flat', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31076, 'La Barr Meadows', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31077, 'Peardale', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31078, 'Spring Hill', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31079, 'Sunset View', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31080, 'Union Hill', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31081, 'Willaura Estates', 2783, '95945', '530', '39.220195', '-120.900844', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31082, 'Arboga', 2783, '95961', '530', '39.057612', '-121.556453', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31083, 'Olivehurst', 2783, '95961', '530', '39.057612', '-121.556453', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31084, 'Plumas Lake', 2783, '95961', '530', '39.057612', '-121.556453', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31085, 'West Linda', 2783, '95961', '530', '39.057612', '-121.556453', '2018-11-29 04:55:34', '2018-11-29 04:55:34'),\n(31086, 'Stirling City', 2783, '95978', '530', '39.903758', '-121.527948', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31087, 'Yuba City', 2783, '95993', '530', '39.060829', '-121.700864', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31088, 'Hilt', 2783, '96044', '530', '41.928022', '-122.547865', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31089, 'Hornbrook', 2783, '96044', '530', '41.928022', '-122.547865', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31090, 'Hyampom', 2783, '96046', '530', '40.640622', '-123.492432', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31091, 'Mill Creek', 2783, '96061', '530', '40.341215', '-121.461881', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31092, 'Mineral', 2783, '96061', '530', '40.341215', '-121.461881', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31093, 'Millville', 2783, '96062', '530', '40.564809', '-122.08588', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31094, 'Lassen Volcanic National Par', 2783, '96063', '530', '40.349498', '-121.513204', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31095, 'Mineral', 2783, '96063', '530', '40.349498', '-121.513204', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31096, 'Whiskeytown', 2783, '96095', '530', '40.623942', '-122.568791', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31097, 'Eagleville', 2783, '96110', '530', '41.300188', '-120.112567', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31098, 'Herlong', 2783, '96113', '530', '40.24368', '-120.228197', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31099, 'Patton Village', 2783, '96113', '530', '40.24368', '-120.228197', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31100, 'Sierra Army Depot', 2783, '96113', '530', '40.24368', '-120.228197', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31101, 'Sierraville', 2783, '96126', '530', '39.576818', '-120.218991', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31102, 'Beckwourth', 2783, '96129', '530', '39.8205', '-120.3775', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31103, 'Portola', 2783, '96129', '530', '39.8205', '-120.3775', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31104, 'Brockway', 2783, '96143', '530', '39.26931', '-120.043352', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31105, 'Kings Beach', 2783, '96143', '530', '39.26931', '-120.043352', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31106, 'Alpine Mdws', 2783, '96145', '530', '39.141161', '-120.175474', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31107, 'Alpine Meadows', 2783, '96145', '530', '39.141161', '-120.175474', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31108, 'Tahoe City', 2783, '96145', '530', '39.141161', '-120.175474', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31109, 'Beach Center', 2783, '92648', '714', '33.67674', '-118.02116', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31110, 'Huntingtn Bch', 2783, '92648', '714', '33.67674', '-118.02116', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31111, 'Huntington Beach', 2783, '92648', '714', '33.67674', '-118.02116', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31112, 'San Clemente', 2783, '92673', '949', '33.465829', '-117.618662', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31113, 'Mission Viejo', 2783, '92691', '949', '33.604221', '-117.667659', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31114, 'San Juan Capistrano', 2783, '92691', '949', '33.604221', '-117.667659', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31115, 'San Juan Capo', 2783, '92691', '949', '33.604221', '-117.667659', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31116, 'Aliso Viejo', 2783, '92698', '949', '33.6695', '-117.8223', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31117, 'Fluor Corp', 2783, '92698', '949', '33.6695', '-117.8223', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31118, 'Parcel Return Service', 2786, '56944', '202', '38.86', '-76.99', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31119, 'Parcel Return Svc', 2786, '56944', '202', '38.86', '-76.99', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31120, 'Prs', 2786, '56944', '202', '38.86', '-76.99', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31121, 'Parcel Return Service', 2786, '56945', '202', '38.895092', '-77.036555', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31122, 'Parcel Return Svc', 2786, '56945', '202', '38.895092', '-77.036555', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31123, 'Prs', 2786, '56945', '202', '38.895092', '-77.036555', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31124, 'Parcel Return Service', 2786, '56902', '202', '38.895094', '-77.036557', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31125, 'Parcel Return Svc', 2786, '56902', '202', '38.895094', '-77.036557', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31126, 'Prs', 2786, '56902', '202', '38.895094', '-77.036557', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31127, 'Parcel Return Svc', 2786, '56935', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31128, 'Prs', 2786, '56935', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31129, 'Parcel Return Service', 2786, '56967', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31130, 'Parcel Return Svc', 2786, '56967', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31131, 'Prs', 2786, '56967', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31132, 'Parcel Return Service', 2786, '56901', '202', '38.9', '-77.04', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31133, 'Parcel Return Svc', 2786, '56901', '202', '38.9', '-77.04', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31134, 'Prs', 2786, '56901', '202', '38.9', '-77.04', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31135, 'Parcel Return Service', 2786, '56933', '202', '38.86', '-76.99', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31136, 'Parcel Return Svc', 2786, '56933', '202', '38.86', '-76.99', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31137, 'Prs', 2786, '56933', '202', '38.86', '-76.99', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31138, 'Parcel Return Service', 2786, '56965', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31139, 'Parcel Return Svc', 2786, '56965', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31140, 'Prs', 2786, '56965', '202', '0', '0', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31141, 'Key West', 2788, '33045', '305', '24.5554', '-81.7828', '2018-11-29 04:55:35', '2018-11-29 04:55:35'),\n(31142, 'Ge Capital', 2788, '32896', '321', '0', '0', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31143, 'Orlando', 2788, '32896', '321', '0', '0', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31144, 'Silver Springs', 2788, '34489', '352', '29.2166', '-82.0578', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31145, 'New Port Richey', 2788, '34655', '727', '28.215462', '-82.661169', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31146, 'New Prt Rchy', 2788, '34655', '727', '28.215462', '-82.661169', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31147, 'New Pt Richey', 2788, '34655', '727', '28.215462', '-82.661169', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31148, 'Seven Springs', 2788, '34655', '727', '28.215462', '-82.661169', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31149, 'Trinity', 2788, '34655', '727', '28.215462', '-82.661169', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31150, 'Kissimmee', 2788, '34741', '407', '28.306895', '-81.42294', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31151, 'Minneola', 2788, '34755', '352', '28.5745', '-81.7464', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31152, 'Magnolia Sq', 2788, '34771', '407', '28.256158', '-81.10709', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31153, 'Magnolia Square', 2788, '34771', '407', '28.256158', '-81.10709', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31154, 'Saint Cloud', 2788, '34771', '407', '28.256158', '-81.10709', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31155, 'Leesburg', 2788, '34789', '352', '28.8107', '-81.8784', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31156, 'Fort Pierce', 2788, '34948', '772', '27.4464', '-80.3259', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31157, 'Naples', 2788, '34107', '239', '26.2695', '-81.7878', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31158, 'Vanderbilt', 2788, '34107', '239', '26.2695', '-81.7878', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31159, 'Coco River', 2788, '34108', '239', '26.244492', '-81.808154', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31160, 'Naples', 2788, '34108', '239', '26.244492', '-81.808154', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31161, 'Bayshore Gardens', 2788, '34207', '941', '27.437405', '-82.577601', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31162, 'Bradenton', 2788, '34207', '941', '27.437405', '-82.577601', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31163, 'Englewood', 2788, '34223', '941', '26.978678', '-82.366384', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31164, 'Englewood Beach', 2788, '34223', '941', '26.978678', '-82.366384', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31165, 'Inglewood', 2788, '34223', '941', '26.978678', '-82.366384', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31166, 'Crescent Beach', 2788, '34242', '941', '27.25744', '-82.540334', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31167, 'Sarasota', 2788, '34242', '941', '27.25744', '-82.540334', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31168, 'Siesta Key', 2788, '34242', '941', '27.25744', '-82.540334', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31169, 'Nokomis', 2788, '34275', '941', '27.150252', '-82.429542', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31170, 'North Venice', 2788, '34275', '941', '27.150252', '-82.429542', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31171, 'Citrus Hills', 2788, '34442', '352', '28.92867', '-82.371706', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31172, 'Hernando', 2788, '34442', '352', '28.92867', '-82.371706', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31173, 'Lecanto', 2788, '34461', '352', '28.810046', '-82.47891', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31174, 'Ocala', 2788, '34477', '352', '29.1866', '-82.1404', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31175, 'Summerfield', 2788, '34492', '352', '29.0083', '-82.0351', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31176, 'Brooksville', 2788, '34608', '352', '28.483764', '-82.549578', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31177, 'Spring Hill', 2788, '34608', '352', '28.483764', '-82.549578', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31178, 'Brooksville', 2788, '34609', '352', '28.483807', '-82.512124', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31179, 'Spring Hill', 2788, '34609', '352', '28.483807', '-82.512124', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31180, 'Brooksville', 2788, '34610', '727', '28.37758', '-82.492062', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31181, 'Shady Hills', 2788, '34610', '727', '28.37758', '-82.492062', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31182, 'Spring Hill', 2788, '34610', '727', '28.37758', '-82.492062', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31183, 'Ozona', 2788, '34660', '727', '28.0679', '-82.7783', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31184, 'Nobleton', 2788, '34661', '352', '28.6099', '-82.238572', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31185, 'Kissimmee', 2788, '34745', '407', '28.2917', '-81.4079', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31186, 'Kissimmee', 2788, '34758', '407', '28.205608', '-81.495691', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31187, 'Poinciana', 2788, '34758', '407', '28.205608', '-81.495691', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31188, 'Winter Garden', 2788, '34777', '407', '28.565', '-81.5866', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31189, 'Winter Garden', 2788, '34778', '407', '28.565', '-81.5866', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31190, 'Wintergarden', 2788, '34778', '407', '28.565', '-81.5866', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31191, 'Haverhill', 2788, '33422', '561', '26.7132', '-80.0723', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31192, 'West Palm Bch', 2788, '33422', '561', '26.7132', '-80.0723', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31193, 'West Palm Beach', 2788, '33422', '561', '26.7132', '-80.0723', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31194, 'Bryant', 2788, '33438', '561', '26.9187', '-80.656967', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31195, 'Canal Point', 2788, '33438', '561', '26.9187', '-80.656967', '2018-11-29 04:55:36', '2018-11-29 04:55:36'),\n(31196, 'Clewiston', 2788, '33440', '863', '26.607526', '-80.989253', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31197, 'Hobe Sound', 2788, '33455', '561', '27.067922', '-80.166395', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31198, 'Jupiter', 2788, '33458', '561', '26.936947', '-80.135437', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31199, 'Boynton Beach', 2788, '33473', '561', '26.509038', '-80.202273', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31200, 'Crystal Spgs', 2788, '33524', '813', '28.1815', '-82.1588', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31201, 'Crystal Springs', 2788, '33524', '813', '28.1815', '-82.1588', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31202, 'Zephyrhills', 2788, '33540', '813', '28.213184', '-82.143894', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31203, 'Zephyrhills', 2788, '33541', '813', '28.231478', '-82.219326', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31204, 'Apollo Beach', 2788, '33572', '813', '27.764182', '-82.400958', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31205, 'Ruskin', 2788, '33572', '813', '27.764182', '-82.400958', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31206, 'Ruskin', 2788, '33573', '813', '27.731144', '-82.361996', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31207, 'Sun City Center', 2788, '33573', '813', '27.731144', '-82.361996', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31208, 'Sun City Ctr', 2788, '33573', '813', '27.731144', '-82.361996', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31209, 'Saint Leo', 2788, '33574', '352', '28.3162', '-82.2455', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31210, 'Ruskin', 2788, '33575', '813', '27.717', '-82.434', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31211, 'Sun City Center', 2788, '33575', '813', '27.717', '-82.434', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31212, 'Sun City Ctr', 2788, '33575', '813', '27.717', '-82.434', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31213, 'Thonotosassa', 2788, '33592', '813', '28.096694', '-82.271033', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31214, 'Tampa', 2788, '33622', '813', '27.9473', '-82.4588', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31215, 'Northdale', 2788, '33624', '813', '28.075134', '-82.524322', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31216, 'Tampa', 2788, '33624', '813', '28.075134', '-82.524322', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31217, 'Carrollwood', 2788, '33625', '813', '28.072387', '-82.561246', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31218, 'Tampa', 2788, '33625', '813', '28.072387', '-82.561246', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31219, 'Tampa', 2788, '33672', '813', '27.9473', '-82.4588', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31220, 'Saint Petersburg', 2788, '33742', '727', '27.7709', '-82.6795', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31221, 'St Petersburg', 2788, '33742', '727', '27.7709', '-82.6795', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31222, 'Seminole', 2788, '33772', '727', '27.841789', '-82.795438', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31223, 'Lakeland', 2788, '33807', '863', '27.9866', '-81.9538', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31224, 'Avon Park', 2788, '33825', '863', '27.583771', '-81.384624', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31225, 'Fort Meade', 2788, '33841', '863', '27.737151', '-81.779919', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31226, 'Lake Wales', 2788, '33856', '863', '27.9012', '-81.5861', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31227, 'Nalcrest', 2788, '33856', '863', '27.9012', '-81.5861', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31228, 'Wauchula', 2788, '33873', '863', '27.524875', '-81.779442', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31229, 'Fort Myers', 2788, '33908', '239', '26.487279', '-81.923678', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31230, 'Ft Myers', 2788, '33908', '239', '26.487279', '-81.923678', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31231, 'Sanibel', 2788, '33957', '239', '26.470098', '-82.103068', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31232, 'Leehigh', 2788, '33974', '863', '26.559548', '-81.613016', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31233, 'Leehigh Acres', 2788, '33974', '863', '26.559548', '-81.613016', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31234, 'Lehigh', 2788, '33974', '863', '26.559548', '-81.613016', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31235, 'Lehigh Acres', 2788, '33974', '863', '26.559548', '-81.613016', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31236, 'Cape Coral', 2788, '33990', '239', '26.629093', '-81.943062', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31237, 'Dunnellon', 2788, '34432', '352', '29.101094', '-82.341955', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31238, 'Inglis', 2788, '34449', '352', '29.163436', '-82.720038', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31239, 'Inverness', 2788, '34450', '352', '28.83165', '-82.261', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31240, 'Istachatta', 2788, '34636', '352', '28.6577', '-82.2787', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31241, 'Hudson', 2788, '34669', '727', '28.360606', '-82.617173', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31242, 'Port Richey', 2788, '34669', '727', '28.360606', '-82.617173', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31243, 'Palm Harbor', 2788, '34683', '727', '28.085862', '-82.762398', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31244, 'Palm Harbor', 2788, '34685', '727', '28.09784', '-82.687927', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31245, 'Groveland', 2788, '34736', '352', '28.538633', '-81.867368', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31246, 'Mascotte', 2788, '34753', '352', '28.578212', '-81.895304', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31247, 'Saint Cloud', 2788, '34769', '407', '28.240874', '-81.288785', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31248, 'Saint Cloud', 2788, '34770', '407', '28.2486', '-81.2817', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31249, 'Fort Pierce', 2788, '34950', '772', '27.44248', '-80.33073', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31250, 'Fort Pierce', 2788, '34953', '561', '27.250109', '-80.383096', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31251, 'Port Saint Lucie', 2788, '34953', '561', '27.250109', '-80.383096', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31252, 'Port St Lucie', 2788, '34953', '561', '27.250109', '-80.383096', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31253, 'Saint Lucie West', 2788, '34953', '561', '27.250109', '-80.383096', '2018-11-29 04:55:37', '2018-11-29 04:55:37'),\n(31254, 'St Lucie West', 2788, '34953', '561', '27.250109', '-80.383096', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31255, 'Fort Pierce', 2788, '34984', '772', '27.253327', '-80.332', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31256, 'Port Saint Lucie', 2788, '34984', '772', '27.253327', '-80.332', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31257, 'Port St Lucie', 2788, '34984', '772', '27.253327', '-80.332', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31258, 'Fort Pierce', 2788, '34986', '772', '27.334112', '-80.411474', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31259, 'Port Saint Lucie', 2788, '34986', '772', '27.334112', '-80.411474', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31260, 'Port St Lucie', 2788, '34986', '772', '27.334112', '-80.411474', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31261, 'Saint Lucie West', 2788, '34986', '772', '27.334112', '-80.411474', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31262, 'St Lucie West', 2788, '34986', '772', '27.334112', '-80.411474', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31263, 'Anahola', 2791, '96703', '808', '22.16491', '-159.350997', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31264, 'Hilo', 2791, '96720', '808', '19.682922', '-155.273204', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31265, 'Hilo', 2791, '96721', '808', '19.7297', '-155.0901', '2018-11-29 04:55:38', '2018-11-29 04:55:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(31266, 'Ocean View', 2791, '96737', '808', '19.4962', '-155.9219', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31267, 'Kailua Kona', 2791, '96739', '808', '19.5729', '-155.9544', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31268, 'Keauhou', 2791, '96739', '808', '19.5729', '-155.9544', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31269, 'Kailua Kona', 2791, '96740', '808', '19.711576', '-155.892994', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31270, 'Kihei', 2791, '96753', '808', '20.738403', '-156.431439', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31271, 'Wailea', 2791, '96753', '808', '20.738403', '-156.431439', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31272, 'Kapaau', 2791, '96755', '808', '20.173092', '-155.79612', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31273, 'Koloa', 2791, '96756', '808', '21.910539', '-159.44834', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31274, 'Maunaloa', 2791, '96770', '808', '21.153838', '-157.206533', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31275, 'Mountain View', 2791, '96771', '808', '19.529994', '-155.099147', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31276, 'Naalehu', 2791, '96772', '808', '19.073547', '-155.697349', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31277, 'Ninole', 2791, '96773', '808', '19.877021', '-155.221473', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31278, 'Mililani', 2791, '96789', '808', '21.451621', '-157.952887', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31279, 'Hon', 2791, '96822', '808', '21.322174', '-157.814104', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31280, 'Hono', 2791, '96822', '808', '21.322174', '-157.814104', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31281, 'Honolulu', 2791, '96822', '808', '21.322174', '-157.814104', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31282, 'Hon', 2791, '96823', '808', '21.3069', '-157.8584', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31283, 'Hono', 2791, '96823', '808', '21.3069', '-157.8584', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31284, 'Honolulu', 2791, '96823', '808', '21.3069', '-157.8584', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31285, 'Fairfield', 2792, '52557', '641', '41.021322', '-91.963298', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31286, 'Maharishi University Of Mgmt', 2792, '52557', '641', '41.021322', '-91.963298', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31287, 'Nichols', 2792, '52766', '319', '41.466553', '-91.285008', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31288, 'Pleasant Valley', 2792, '52767', '563', '41.566033', '-90.416634', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31289, 'Pleasant Vly', 2792, '52767', '563', '41.566033', '-90.416634', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31290, 'Stockton', 2792, '52769', '563', '41.607996', '-90.841874', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31291, 'Salem', 2792, '52649', '319', '40.842774', '-91.602983', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31292, 'Davenport', 2792, '52802', '563', '41.495268', '-90.6314', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31293, 'Davenport', 2792, '52803', '563', '41.536654', '-90.55302', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31294, 'Welton', 2792, '52774', '563', '41.880007', '-90.617465', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31295, 'Centerdale', 2792, '52776', '319', '41.582908', '-91.28006', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31296, 'West Liberty', 2792, '52776', '319', '41.582908', '-91.28006', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31297, 'Toronto', 2792, '52777', '563', '41.847801', '-90.857054', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31298, 'Delta', 2792, '52550', '641', '41.319671', '-92.353827', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31299, 'Drakesville', 2792, '52552', '641', '40.821374', '-92.539686', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31300, 'Melrose', 2792, '52569', '641', '40.986944', '-92.995546', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31301, 'Clinton', 2792, '52736', '563', '41.8446', '-90.1886', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31302, 'Promotional Fulfillment Corp', 2792, '52736', '563', '41.8446', '-90.1886', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31303, 'Grandview', 2792, '52752', '319', '41.280098', '-91.189764', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31304, 'Solon', 2792, '52333', '319', '41.793004', '-91.489117', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31305, 'Twin View Heights', 2792, '52333', '319', '41.793004', '-91.489117', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31306, 'Walford', 2792, '52351', '319', '41.877346', '-91.831606', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31307, 'Promise City', 2792, '52583', '641', '40.793864', '-93.183411', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31308, 'Richland', 2792, '52585', '319', '41.195841', '-91.985618', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31309, 'Rubio', 2792, '52585', '319', '41.195841', '-91.985618', '2018-11-29 04:55:38', '2018-11-29 04:55:38'),\n(31310, 'Veo', 2792, '52585', '319', '41.195841', '-91.985618', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31311, 'Clutier', 2792, '52217', '319', '42.07617', '-92.415824', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31312, 'Hiawatha', 2792, '52233', '319', '42.05365', '-91.68684', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31313, 'Cedar Rapids', 2792, '52401', '319', '41.974698', '-91.655401', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31314, 'Calmar', 2792, '52132', '563', '43.187293', '-91.962128', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31315, 'Conover', 2792, '52132', '563', '43.187293', '-91.962128', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31316, 'Chester', 2792, '52134', '563', '43.464736', '-92.434866', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31317, 'Ladora', 2792, '52251', '319', '41.70862', '-92.202309', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31318, 'Genoa Bluff', 2792, '52301', '319', '41.775372', '-92.113429', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31319, 'Marengo', 2792, '52301', '319', '41.775372', '-92.113429', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31320, 'Newhall', 2792, '52315', '319', '41.999681', '-91.969194', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31321, 'Shellsburg', 2792, '52332', '319', '42.101909', '-91.892863', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31322, 'Cascade', 2792, '52033', '563', '42.276124', '-91.009521', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31323, 'Fillmore', 2792, '52033', '563', '42.276124', '-91.009521', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31324, 'Ridgeway', 2792, '52165', '563', '43.300976', '-91.974691', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31325, 'Vail', 2792, '51465', '712', '42.092023', '-95.203414', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31326, 'Wall Lake', 2792, '51466', '712', '42.275337', '-95.081332', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31327, 'Elliott', 2792, '51532', '712', '41.145479', '-95.118226', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31328, 'Logan', 2792, '51546', '712', '41.641414', '-95.760886', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31329, 'Macedonia', 2792, '51549', '712', '41.189076', '-95.44206', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31330, 'Clayton', 2792, '52049', '563', '42.891974', '-91.205649', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31331, 'Garnavillo', 2792, '52049', '563', '42.891974', '-91.205649', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31332, 'Chillicothe', 2792, '52548', '641', '41.086147', '-92.529924', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31333, 'Clinton', 2792, '52732', '563', '41.908232', '-90.265321', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31334, 'Elvira', 2792, '52732', '563', '41.908232', '-90.265321', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31335, 'Hauntown', 2792, '52732', '563', '41.908232', '-90.265321', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31336, 'Six Mile', 2792, '52732', '563', '41.908232', '-90.265321', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31337, 'Le Claire', 2792, '52753', '563', '41.6294', '-90.39576', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31338, 'Leclaire', 2792, '52753', '563', '41.6294', '-90.39576', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31339, 'Lone Tree', 2792, '52755', '319', '41.485638', '-91.44732', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31340, 'River Junction', 2792, '52755', '319', '41.485638', '-91.44732', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31341, 'Low Moor', 2792, '52757', '563', '41.802064', '-90.355396', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31342, 'Stanwood', 2792, '52337', '563', '41.891648', '-91.127644', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31343, 'Haven', 2792, '52339', '641', '41.923916', '-92.591152', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31344, 'Tama', 2792, '52339', '641', '41.923916', '-92.591152', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31345, 'Webster', 2792, '52355', '319', '41.463265', '-92.178634', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31346, 'Limby', 2792, '52580', '319', '41.119808', '-92.087289', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31347, 'Packwood', 2792, '52580', '319', '41.119808', '-92.087289', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31348, 'Pekin', 2792, '52580', '319', '41.119808', '-92.087289', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31349, 'Danville', 2792, '52623', '319', '40.846604', '-91.346169', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31350, 'Hills', 2792, '52235', '319', '41.55464', '-91.53532', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31351, 'Hopkinton', 2792, '52237', '563', '42.364741', '-91.266414', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31352, 'Sand Spring', 2792, '52237', '563', '42.364741', '-91.266414', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31353, 'Iowa City', 2792, '52246', '319', '41.651269', '-91.609741', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31354, 'University Heights', 2792, '52246', '319', '41.651269', '-91.609741', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31355, 'Lisbon', 2792, '52253', '319', '41.897658', '-91.357714', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31356, 'Sutliff', 2792, '52253', '319', '41.897658', '-91.357714', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31357, 'Lowden', 2792, '52255', '563', '41.870328', '-90.966675', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31358, 'Massillon', 2792, '52255', '563', '41.870328', '-90.966675', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31359, 'Morley', 2792, '52312', '319', '42.006316', '-91.245993', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31360, 'Tabor', 2792, '51653', '712', '40.869047', '-95.670834', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31361, 'Center Grove', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31362, 'Dubuque', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31363, 'Eagle Point', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31364, 'Julien', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31365, 'Key West', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31366, 'Massey', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:39', '2018-11-29 04:55:39'),\n(31367, 'Rockdale', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31368, 'Sageville', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31369, 'Shawondasse', 2792, '52001', '563', '42.558964', '-90.696098', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31370, 'Saint Paul', 2792, '52657', '319', '40.763067', '-91.525889', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31371, 'West Point', 2792, '52657', '319', '40.763067', '-91.525889', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31372, 'Wever', 2792, '52658', '319', '40.71338', '-91.23201', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31373, 'Winfield', 2792, '52659', '319', '41.133172', '-91.438245', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31374, 'Yarmouth', 2792, '52660', '319', '40.997858', '-91.297529', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31375, 'Mc Causland', 2792, '52758', '563', '41.744426', '-90.444046', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31376, 'Tiffin', 2792, '52340', '319', '41.712566', '-91.681615', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31377, 'Toledo', 2792, '52342', '641', '42.036422', '-92.532616', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31378, 'Daytonville', 2792, '52356', '319', '41.4769', '-91.852218', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31379, 'Wellman', 2792, '52356', '319', '41.4769', '-91.852218', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31380, 'Brazil', 2792, '52574', '641', '40.800112', '-92.964249', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31381, 'Garfield', 2792, '52574', '641', '40.800112', '-92.964249', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31382, 'Mystic', 2792, '52574', '641', '40.800112', '-92.964249', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31383, 'Walnut City', 2792, '52574', '641', '40.800112', '-92.964249', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31384, 'Lancaster', 2792, '52591', '641', '41.326952', '-92.173551', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31385, 'Sigourney', 2792, '52591', '641', '41.326952', '-92.173551', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31386, 'Denmark', 2792, '52624', '319', '40.740126', '-91.350429', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31387, 'Farmington', 2792, '52626', '319', '40.632953', '-91.722823', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31388, 'Fort Madison', 2792, '52627', '319', '40.650454', '-91.373762', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31389, 'Sawyer', 2792, '52627', '319', '40.650454', '-91.373762', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31390, 'Dysart', 2792, '52224', '319', '42.170672', '-92.31438', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31391, 'Iowa City', 2792, '52240', '319', '41.642647', '-91.541636', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31392, 'Coralville', 2792, '52241', '319', '41.692814', '-91.587516', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31393, 'Iowa City', 2792, '52241', '319', '41.692814', '-91.587516', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31394, 'Oakdale', 2792, '52241', '319', '41.692814', '-91.587516', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31395, 'West Chester', 2792, '52359', '319', '41.351024', '-91.802101', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31396, 'Cedar Rapids', 2792, '52408', '319', '42.0083', '-91.6437', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31397, 'Cedar', 2792, '52543', '641', '41.214556', '-92.520729', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31398, 'Glasgow', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31399, 'Maharishi Vedic City', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31400, 'Perlee', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31401, 'Salina', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31402, 'Vedic City', 2792, '52556', '641', '41.024981', '-91.921848', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31403, 'Fremont', 2792, '52561', '641', '41.231624', '-92.442075', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31404, 'Farson', 2792, '52563', '641', '41.17325', '-92.286721', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31405, 'Hedrick', 2792, '52563', '641', '41.17325', '-92.286721', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31406, 'Atalissa', 2792, '52720', '563', '41.596835', '-91.158937', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31407, 'Urbana', 2792, '52345', '319', '42.231728', '-91.890216', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31408, 'Houghton', 2792, '52631', '319', '40.74066', '-91.689491', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31409, 'Troy Mills', 2792, '52344', '319', '42.2901', '-91.6896', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31410, 'Mount Sterling', 2792, '52573', '319', '40.651134', '-91.89096', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31411, 'Mt Sterling', 2792, '52573', '319', '40.651134', '-91.89096', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31412, 'Crawfordsville', 2792, '52621', '319', '41.206456', '-91.51701', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31413, 'Crawfordsvlle', 2792, '52621', '319', '41.206456', '-91.51701', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31414, 'Wyman', 2792, '52621', '319', '41.206456', '-91.51701', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31415, 'Kingston', 2792, '52637', '319', '41.018426', '-91.131572', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31416, 'Kossuth', 2792, '52637', '319', '41.018426', '-91.131572', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31417, 'Mediapolis', 2792, '52637', '319', '41.018426', '-91.131572', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31418, 'Prairieburg', 2792, '52219', '319', '42.236656', '-91.422125', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31419, 'Guernsey', 2792, '52221', '319', '41.644986', '-92.337898', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31420, 'Fairfax', 2792, '52228', '319', '41.898428', '-91.788339', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31421, 'Stockport', 2792, '52651', '319', '40.871502', '-91.780646', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31422, 'Swedesburg', 2792, '52652', '319', '41.097883', '-91.55406', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31423, 'Moscow', 2792, '52760', '563', '41.576788', '-91.099184', '2018-11-29 04:55:40', '2018-11-29 04:55:40'),\n(31424, 'Muscatine', 2792, '52761', '563', '41.379614', '-91.038892', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31425, 'Davenport', 2792, '52809', '563', '41.5236', '-90.5777', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31426, 'Dodgeville', 2792, '52650', '319', '40.942836', '-91.159164', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31427, 'Sperry', 2792, '52650', '319', '40.942836', '-91.159164', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31428, 'Davenport', 2792, '52801', '563', '41.520447', '-90.57351', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31429, 'Cincinnati', 2792, '52549', '641', '40.630154', '-92.936547', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31430, 'Livingston', 2792, '52549', '641', '40.630154', '-92.936547', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31431, 'Keosauqua', 2792, '52565', '319', '40.744468', '-92.005986', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31432, 'Kirkville', 2792, '52566', '641', '41.149175', '-92.503454', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31433, 'Libertyville', 2792, '52567', '641', '40.953205', '-92.078106', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31434, 'Martinsburg', 2792, '52568', '641', '41.180471', '-92.240536', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31435, 'Andover', 2792, '52701', '563', '41.98961', '-90.162128', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31436, 'Fruitland', 2792, '52749', '563', '41.348664', '-91.128819', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31437, 'Grand Mound', 2792, '52751', '563', '41.843193', '-90.701336', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31438, 'Vining', 2792, '52348', '641', '41.983034', '-92.380977', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31439, 'Pulaski', 2792, '52584', '641', '40.655373', '-92.236208', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31440, 'Keokuk', 2792, '52632', '319', '40.450002', '-91.448686', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31441, 'Mooar', 2792, '52632', '319', '40.450002', '-91.448686', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31442, 'Sandusky', 2792, '52632', '319', '40.450002', '-91.448686', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31443, 'Summitville', 2792, '52632', '319', '40.450002', '-91.448686', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31444, 'Central City', 2792, '52214', '319', '42.187658', '-91.5204', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31445, 'Waubeek', 2792, '52214', '319', '42.187658', '-91.5204', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31446, 'Chelsea', 2792, '52215', '641', '41.899466', '-92.395438', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31447, 'Coggon', 2792, '52218', '319', '42.301232', '-91.561314', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31448, 'Harper', 2792, '52231', '641', '41.357787', '-92.07268', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31449, 'Clear Creek', 2792, '52248', '641', '41.357198', '-91.91726', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31450, 'Keota', 2792, '52248', '641', '41.357198', '-91.91726', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31451, 'Aegon Usa', 2792, '52499', '319', '42.0083', '-91.6437', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31452, 'Cedar Rapids', 2792, '52499', '319', '42.0083', '-91.6437', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31453, 'Life Investors Inc', 2792, '52499', '319', '42.0083', '-91.6437', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31454, 'Bladensburg', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31455, 'Cliffland', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31456, 'Dahlonega', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31457, 'Dudley', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31458, 'Ottumwa', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31459, 'Ottumwa Junction', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31460, 'Rutledge', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31461, 'South Ottumwa', 2792, '52501', '641', '41.030568', '-92.411704', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31462, 'Hesper', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31463, 'Locust', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31464, 'Nordness', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31465, 'Quandahl', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31466, 'Sattre', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31467, 'Castalia', 2792, '52133', '563', '43.108197', '-91.682838', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31468, 'Highlandville', 2792, '52149', '563', '43.4425', '-91.6684', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31469, 'Talleyrand', 2792, '52248', '641', '41.357198', '-91.91726', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31470, 'Keystone', 2792, '52249', '319', '42.007516', '-92.211056', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31471, 'Norway', 2792, '52318', '319', '41.890569', '-91.890505', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31472, 'Bernard', 2792, '52032', '563', '42.286442', '-90.847282', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31473, 'Randalia', 2792, '52164', '563', '42.846573', '-91.892091', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31474, 'Mc Clelland', 2792, '51548', '712', '41.314734', '-95.637099', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31475, 'Mcclelland', 2792, '51548', '712', '41.314734', '-95.637099', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31476, 'Greeley', 2792, '52050', '563', '42.606618', '-91.327358', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31477, 'Green Island', 2792, '52064', '563', '42.104544', '-90.30745', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31478, 'Miles', 2792, '52064', '563', '42.104544', '-90.30745', '2018-11-29 04:55:41', '2018-11-29 04:55:41'),\n(31479, 'Bluffton', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31480, 'Burr Oak', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31481, 'Decorah', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31482, 'Freeport', 2792, '52101', '563', '43.334647', '-91.779261', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31483, 'Gaza', 2792, '51245', '712', '43.069618', '-95.614356', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31484, 'Primghar', 2792, '51245', '712', '43.069618', '-95.614356', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31485, 'Carmel', 2792, '51247', '712', '43.178085', '-96.352886', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31486, 'Rock Valley', 2792, '51247', '712', '43.178085', '-96.352886', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31487, 'Sanborn', 2792, '51248', '712', '43.200522', '-95.65383', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31488, 'Arnolds Park', 2792, '51331', '712', '43.359165', '-95.13223', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31489, 'Harris', 2792, '51345', '712', '43.406883', '-95.442166', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31490, 'Superior', 2792, '51363', '712', '43.46519', '-94.944455', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31491, 'Wallingford', 2792, '51365', '712', '43.298534', '-94.737688', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31492, 'Mount Pleasant', 2792, '52641', '319', '41.019813', '-91.59576', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31493, 'Mt Pleasant', 2792, '52641', '319', '41.019813', '-91.59576', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31494, 'Rome', 2792, '52642', '319', '40.9637', '-91.5575', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31495, 'Mount Union', 2792, '52644', '319', '41.0382', '-91.42897', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31496, 'Mt Union', 2792, '52644', '319', '41.0382', '-91.42897', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31497, 'Wheatland', 2792, '52777', '563', '41.847801', '-90.857054', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31498, 'Davenport', 2792, '52808', '563', '41.5236', '-90.5777', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31499, 'Huron', 2792, '52646', '319', '41.075985', '-91.032018', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31500, 'Oakville', 2792, '52646', '319', '41.075985', '-91.032018', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31501, 'Middletown', 2792, '52638', '319', '40.84384', '-91.254658', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31502, 'Morning Sun', 2792, '52640', '319', '41.096135', '-91.283986', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31503, 'Coppock', 2792, '52654', '319', '41.145029', '-91.672878', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31504, 'Milton', 2792, '52570', '641', '40.663239', '-92.135713', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31505, 'Wayland', 2792, '52654', '319', '41.145029', '-91.672878', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31506, 'Bettendorf', 2792, '52722', '563', '41.565051', '-90.455908', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31507, 'Panorama Park', 2792, '52722', '563', '41.565051', '-90.455908', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31508, 'Riverdale', 2792, '52722', '563', '41.565051', '-90.455908', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31509, 'Cranston', 2792, '52754', '319', '41.34788', '-91.247704', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31510, 'Letts', 2792, '52754', '319', '41.34788', '-91.247704', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31511, 'Plano', 2792, '52581', '641', '40.804613', '-93.059435', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31512, 'Rose Hill', 2792, '52586', '641', '41.344582', '-92.466856', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31513, 'Selma', 2792, '52588', '641', '40.860097', '-92.124058', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31514, 'White Elm', 2792, '52588', '641', '40.860097', '-92.124058', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31515, 'Bonaparte', 2792, '52620', '319', '40.740493', '-91.776328', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31516, 'Conroy', 2792, '52220', '319', '41.741682', '-91.968127', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31517, 'Deep River', 2792, '52222', '641', '41.59899', '-92.325644', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31518, 'Iowa City', 2792, '52245', '319', '41.669005', '-91.513853', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31519, 'Indian Creek', 2792, '52302', '319', '42.060472', '-91.583262', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31520, 'Marion', 2792, '52302', '319', '42.060472', '-91.583262', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31521, 'Midway', 2792, '52302', '319', '42.060472', '-91.583262', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31522, 'Delaware', 2792, '52036', '563', '42.490556', '-91.346773', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31523, 'Dundee', 2792, '52038', '563', '42.593154', '-91.548959', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31524, 'Bankston', 2792, '52045', '563', '42.448893', '-90.925477', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31525, 'Epworth', 2792, '52045', '563', '42.448893', '-90.925477', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31526, 'Protivin', 2792, '52163', '563', '43.21785', '-92.090635', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31527, 'Alburnett', 2792, '52202', '319', '42.163459', '-91.637988', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31528, 'Amana', 2792, '52204', '319', '41.8002', '-91.8708', '2018-11-29 04:55:42', '2018-11-29 04:55:42'),\n(31529, 'Amana Refrigeration Inc', 2792, '52204', '319', '41.8002', '-91.8708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31530, 'Ralston', 2792, '51459', '712', '42.040898', '-94.633616', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31531, 'Magnolia', 2792, '51550', '712', '41.6924', '-95.871981', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31532, 'Otter Creek', 2792, '52079', '563', '42.277576', '-90.715634', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31533, 'Zwingle', 2792, '52079', '563', '42.277576', '-90.715634', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31534, 'Little Rock', 2792, '51243', '712', '43.43002', '-95.929414', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31535, 'Lebanon', 2792, '51250', '712', '43.070278', '-96.234131', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31536, 'Sioux Center', 2792, '51250', '712', '43.070278', '-96.234131', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31537, 'Gillett Grove', 2792, '51341', '712', '43.014652', '-95.03778', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31538, 'Neola', 2792, '51559', '712', '41.45531', '-95.668139', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31539, 'Shelby', 2792, '51570', '712', '41.525109', '-95.481714', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31540, 'Walnut', 2792, '51577', '712', '41.455006', '-95.212537', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31541, 'Imogene', 2792, '51645', '712', '40.872574', '-95.441961', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31542, 'Alta', 2792, '51002', '712', '42.691393', '-95.308982', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31543, 'Oelwein', 2792, '50662', '319', '42.690244', '-91.932102', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31544, 'Center Point', 2792, '52213', '319', '42.18702', '-91.771574', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31545, 'Ely', 2792, '52227', '319', '41.902836', '-91.556896', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31546, 'Homestead', 2792, '52236', '319', '41.730812', '-91.890658', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31547, 'Frytown', 2792, '52247', '319', '41.505112', '-91.725708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31548, 'Joetown', 2792, '52247', '319', '41.505112', '-91.725708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31549, 'Kalona', 2792, '52247', '319', '41.505112', '-91.725708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31550, 'Williamstown', 2792, '52247', '319', '41.505112', '-91.725708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31551, 'Williamsburg', 2792, '52361', '319', '41.64921', '-92.00799', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31552, 'Cedar Rapids', 2792, '52402', '319', '42.024733', '-91.66133', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31553, 'Cedar Rapids', 2792, '52411', '319', '42.051373', '-91.736708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31554, 'Robins', 2792, '52411', '319', '42.051373', '-91.736708', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31555, 'Blakesburg', 2792, '52536', '641', '40.975151', '-92.600934', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31556, 'Munterville', 2792, '52536', '641', '40.975151', '-92.600934', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31557, 'Hawkeye', 2792, '52147', '563', '42.945967', '-91.95844', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31558, 'Langworthy', 2792, '52252', '319', '42.1911', '-91.2236', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31559, 'Elwood', 2792, '52254', '563', '41.953096', '-90.815664', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31560, 'Lost Nation', 2792, '52254', '563', '41.953096', '-90.815664', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31561, 'Olin', 2792, '52320', '319', '42.008323', '-91.147135', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31562, 'Cosgrove', 2792, '52322', '319', '41.698394', '-91.735782', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31563, 'Oxford', 2792, '52322', '319', '41.698394', '-91.735782', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31564, 'Windham', 2792, '52322', '319', '41.698394', '-91.735782', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31565, 'Sidney', 2792, '51652', '712', '40.7709', '-95.61931', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31566, 'Dubuque', 2792, '52004', '563', '42.5006', '-90.6647', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31567, 'Clayton Center', 2792, '52043', '563', '42.839426', '-91.396052', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31568, 'Communia', 2792, '52043', '563', '42.839426', '-91.396052', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31569, 'Elkader', 2792, '52043', '563', '42.839426', '-91.396052', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31570, 'Mederville', 2792, '52043', '563', '42.839426', '-91.396052', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31571, 'Osborne', 2792, '52043', '563', '42.839426', '-91.396052', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31572, 'Ossian', 2792, '52161', '563', '43.125899', '-91.753092', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31573, 'Spillville', 2792, '52168', '563', '43.20319', '-91.952924', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31574, 'Dalby', 2792, '52170', '563', '43.217608', '-91.310331', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31575, 'Elon', 2792, '52170', '563', '43.217608', '-91.310331', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31576, 'Waterville', 2792, '52170', '563', '43.217608', '-91.310331', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31577, 'Co Bluffs', 2792, '51502', '712', '41.272729', '-95.797518', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31578, 'Council Blfs', 2792, '51502', '712', '41.272729', '-95.797518', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31579, 'Council Bluffs', 2792, '51502', '712', '41.272729', '-95.797518', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31580, 'Defiance', 2792, '51527', '712', '41.827011', '-95.345594', '2018-11-29 04:55:43', '2018-11-29 04:55:43'),\n(31581, 'Hancock', 2792, '51536', '712', '41.375448', '-95.374677', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31582, 'La Motte', 2792, '52054', '563', '42.302113', '-90.621753', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31583, 'Centralia', 2792, '52068', '563', '42.423112', '-90.808686', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31584, 'Peosta', 2792, '52068', '563', '42.423112', '-90.808686', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31585, 'Granite', 2792, '51241', '712', '43.437681', '-96.46574', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31586, 'Larchwood', 2792, '51241', '712', '43.437681', '-96.46574', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31587, 'Greenville', 2792, '51343', '712', '43.010422', '-95.111992', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31588, 'Melvin', 2792, '51350', '712', '43.30895', '-95.584542', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31589, 'Pacific Jct', 2792, '51561', '712', '41.012342', '-95.809821', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31590, 'Pacific Junction', 2792, '51561', '712', '41.012342', '-95.809821', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31591, 'Harlan', 2792, '51593', '712', '41.3053', '-95.6126', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31592, 'Coin', 2792, '51636', '712', '40.669368', '-95.236749', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31593, 'Bronson', 2792, '51007', '712', '42.399455', '-96.170036', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31594, 'Calumet', 2792, '51009', '712', '42.960862', '-95.564146', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31595, 'Cushing', 2792, '51018', '712', '42.444202', '-95.661749', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31596, 'Remsen', 2792, '51050', '712', '42.793713', '-95.948316', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31597, 'Breda', 2792, '51436', '712', '42.174107', '-95.033082', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31598, 'Ida Grove', 2792, '51445', '712', '42.334726', '-95.458775', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31599, 'Klinger', 2792, '50668', '319', '42.68606', '-92.209662', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31600, 'Knittel', 2792, '50668', '319', '42.68606', '-92.209662', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31601, 'Readlyn', 2792, '50668', '319', '42.68606', '-92.209662', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31602, 'Traer', 2792, '50675', '319', '42.210099', '-92.496496', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31603, 'Cumberland', 2792, '50843', '712', '41.22948', '-94.871289', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31604, 'Beaman', 2792, '50609', '641', '42.235421', '-92.815868', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31605, 'Dumont', 2792, '50625', '641', '42.738201', '-92.984238', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31606, 'Gilbertville', 2792, '50634', '319', '42.418472', '-92.212722', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31607, 'Prescott', 2792, '50859', '641', '41.068387', '-94.604363', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31608, 'Communications Data Service', 2792, '50950', '515', '41.6007', '-93.6088', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31609, 'Des Moines', 2792, '50950', '515', '41.6007', '-93.6088', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31610, 'Thor', 2792, '50591', '515', '42.680958', '-94.040561', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31611, 'Boyd', 2792, '50659', '641', '43.081995', '-92.327502', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31612, 'Jerico', 2792, '50659', '641', '43.081995', '-92.327502', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31613, 'N Washington', 2792, '50659', '641', '43.081995', '-92.327502', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31614, 'New Hampton', 2792, '50659', '641', '43.081995', '-92.327502', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31615, 'North Washington', 2792, '50659', '641', '43.081995', '-92.327502', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31616, 'Vincent', 2792, '50594', '515', '42.593383', '-94.030776', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31617, 'Persia', 2792, '51563', '712', '41.56698', '-95.593802', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31618, 'Woodbine', 2792, '51579', '712', '41.762547', '-95.70283', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31619, 'Clarinda', 2792, '51632', '712', '40.758162', '-95.055159', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31620, 'New Market', 2792, '51646', '712', '40.724164', '-94.864342', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31621, 'Northboro', 2792, '51647', '712', '40.61003', '-95.354622', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31622, 'Chatsworth', 2792, '51011', '712', '42.922366', '-96.525622', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31623, 'Larrabee', 2792, '51029', '712', '42.873454', '-95.54414', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31624, 'Lawton', 2792, '51030', '712', '42.50269', '-96.174154', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31625, 'Le Mars', 2792, '51031', '712', '42.786854', '-96.203488', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31626, 'Lemars', 2792, '51031', '712', '42.786854', '-96.203488', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31627, 'Struble', 2792, '51031', '712', '42.786854', '-96.203488', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31628, 'Germantown', 2792, '51046', '712', '42.968257', '-95.662963', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31629, 'Paullina', 2792, '51046', '712', '42.968257', '-95.662963', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31630, 'Peterson', 2792, '51047', '712', '42.945297', '-95.370253', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31631, 'Pierson', 2792, '51048', '712', '42.576332', '-95.883865', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31632, 'Kirkman', 2792, '51447', '712', '41.732744', '-95.21138', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31633, 'Red Line', 2792, '51447', '712', '41.732744', '-95.21138', '2018-11-29 04:55:44', '2018-11-29 04:55:44'),\n(31634, 'Lake City', 2792, '51449', '712', '42.275574', '-94.721281', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31635, 'Afton', 2792, '50830', '641', '41.045308', '-94.190202', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31636, 'Fontanelle', 2792, '50846', '641', '41.28759', '-94.560162', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31637, 'Sioux City', 2792, '51111', '712', '42.414476', '-96.387926', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31638, 'Bristow', 2792, '50611', '641', '42.810758', '-92.897996', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31639, 'Elma', 2792, '50628', '641', '43.320774', '-92.396539', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31640, 'Lourdes', 2792, '50628', '641', '43.320774', '-92.396539', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31641, 'Finchford', 2792, '50647', '319', '42.649223', '-92.475572', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31642, 'Janesville', 2792, '50647', '319', '42.649223', '-92.475572', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31643, 'Shannon City', 2792, '50861', '641', '40.941182', '-94.24288', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31644, 'Sharpsburg', 2792, '50862', '641', '40.81682', '-94.64308', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31645, 'Blue Grass', 2792, '52726', '563', '41.504934', '-90.770564', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31646, 'Bryant', 2792, '52727', '563', '41.968065', '-90.344388', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31647, 'De Witt', 2792, '52742', '563', '41.83893', '-90.495325', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31648, 'Dewitt', 2792, '52742', '563', '41.83893', '-90.495325', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31649, 'Montpelier', 2792, '52759', '563', '41.829014', '-90.758628', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31650, 'Ollie', 2792, '52576', '641', '41.216137', '-92.113133', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31651, 'Evans', 2792, '52577', '641', '41.266174', '-92.665158', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31652, 'Keomah Village', 2792, '52577', '641', '41.266174', '-92.665158', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31653, 'Keomah Vlg', 2792, '52577', '641', '41.266174', '-92.665158', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31654, 'Oskaloosa', 2792, '52577', '641', '41.266174', '-92.665158', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31655, 'Wright', 2792, '52577', '641', '41.266174', '-92.665158', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31656, 'Seymour', 2792, '52590', '641', '40.663946', '-93.148053', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31657, 'Delhi', 2792, '52223', '563', '42.411697', '-91.321774', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31658, 'Hazel Green', 2792, '52223', '563', '42.411697', '-91.321774', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31659, 'Elberon', 2792, '52225', '319', '42.023878', '-92.337956', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31660, 'American College Testing', 2792, '52243', '319', '41.6611', '-91.5302', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31661, 'Iowa City', 2792, '52243', '319', '41.6611', '-91.5302', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31662, 'Cedar Rapids', 2792, '52407', '319', '42.0083', '-91.6437', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31663, 'Brighton', 2792, '52540', '319', '41.159167', '-91.821276', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31664, 'East Pleasant Plain', 2792, '52540', '319', '41.159167', '-91.821276', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31665, 'Germanville', 2792, '52540', '319', '41.159167', '-91.821276', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31666, 'Pleasant Plain', 2792, '52540', '319', '41.159167', '-91.821276', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31667, 'Dorchester', 2792, '52140', '563', '43.430132', '-91.559727', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31668, 'Albany', 2792, '52142', '563', '42.811312', '-91.779689', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31669, 'Donnan', 2792, '52142', '563', '42.811312', '-91.779689', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31670, 'Fayette', 2792, '52142', '563', '42.811312', '-91.779689', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31671, 'Lima', 2792, '52142', '563', '42.811312', '-91.779689', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31672, 'Giard', 2792, '52157', '563', '42.99665', '-91.236934', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31673, 'Mc Gregor', 2792, '52157', '563', '42.99665', '-91.236934', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31674, 'Luzerne', 2792, '52257', '319', '41.905948', '-92.181548', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31675, 'Mechanicsville', 2792, '52306', '563', '41.89246', '-91.273666', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31676, 'Mechanicsvlle', 2792, '52306', '563', '41.89246', '-91.273666', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31677, 'Middle', 2792, '52307', '319', '41.785419', '-91.881338', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31678, 'Middle Amana', 2792, '52307', '319', '41.785419', '-91.881338', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31679, 'Covington', 2792, '52324', '319', '42.077368', '-91.805323', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31680, 'Palo', 2792, '52324', '319', '42.077368', '-91.805323', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31681, 'Dubuque', 2792, '52003', '563', '42.438765', '-90.640776', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31682, 'New Albin', 2792, '52160', '563', '43.433012', '-91.332632', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31683, 'Wadena', 2792, '52169', '563', '42.842003', '-91.671464', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31684, 'Amana', 2792, '52203', '319', '41.817926', '-91.863264', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31685, 'East Amana', 2792, '52203', '319', '41.817926', '-91.863264', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31686, 'High', 2792, '52203', '319', '41.817926', '-91.863264', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31687, 'High Amana', 2792, '52203', '319', '41.817926', '-91.863264', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31688, 'West Amana', 2792, '52203', '319', '41.817926', '-91.863264', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31689, 'Brandon', 2792, '52210', '319', '42.330158', '-91.999869', '2018-11-29 04:55:45', '2018-11-29 04:55:45'),\n(31690, 'Carter Lake', 2792, '51510', '712', '41.286898', '-95.916891', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31691, 'Griswold', 2792, '51535', '712', '41.238082', '-95.118033', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31692, 'Honey Creek', 2792, '51542', '712', '41.433207', '-95.831744', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31693, 'Holy Cross', 2792, '52053', '563', '42.612452', '-90.965094', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31694, 'Cloverdale', 2792, '51249', '712', '43.40825', '-95.751789', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31695, 'Sibley', 2792, '51249', '712', '43.40825', '-95.751789', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31696, 'Lost Island Lake', 2792, '51358', '712', '43.139076', '-94.884741', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31697, 'Ruthven', 2792, '51358', '712', '43.139076', '-94.884741', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31698, 'Underwood', 2792, '51576', '712', '41.383672', '-95.708075', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31699, 'Shenandoah', 2792, '51601', '712', '40.727465', '-95.327745', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31700, 'Hornick', 2792, '51026', '712', '42.255677', '-96.082792', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31701, 'Rodney', 2792, '51051', '712', '42.190476', '-95.961942', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31702, 'Carroll', 2792, '51401', '712', '42.072342', '-94.87957', '2018-11-29 04:55:46', '2018-11-29 04:55:46');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(31703, 'Maple River', 2792, '51401', '712', '42.072342', '-94.87957', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31704, 'Mount Carmel', 2792, '51401', '712', '42.072342', '-94.87957', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31705, 'Roselle', 2792, '51401', '712', '42.072342', '-94.87957', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31706, 'Willey', 2792, '51401', '712', '42.072342', '-94.87957', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31707, 'Auburn', 2792, '51433', '712', '42.289283', '-94.888536', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31708, 'Grant City', 2792, '51433', '712', '42.289283', '-94.888536', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31709, 'Yetter', 2792, '51433', '712', '42.289283', '-94.888536', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31710, 'Odebolt', 2792, '51458', '712', '42.31466', '-95.235764', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31711, 'Buckcreek', 2792, '50674', '563', '42.839879', '-92.124434', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31712, 'Sumner', 2792, '50674', '563', '42.839879', '-92.124434', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31713, 'Westgate', 2792, '50681', '563', '42.773968', '-92.012035', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31714, 'Waterloo', 2792, '50701', '319', '42.429256', '-92.313378', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31715, 'Creston', 2792, '50801', '641', '41.057353', '-94.403944', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31716, 'Arispe', 2792, '50831', '641', '40.9498', '-94.2188', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31717, 'Bedford', 2792, '50833', '712', '40.685005', '-94.716725', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31718, 'Conway', 2792, '50833', '712', '40.685005', '-94.716725', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31719, 'Campbell Hill', 2794, '62916', '618', '37.926128', '-89.579665', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31720, 'Shiloh Hill', 2794, '62916', '618', '37.926128', '-89.579665', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31721, 'Cypress', 2794, '62923', '618', '37.341446', '-89.012525', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31722, 'Grand Chain', 2794, '62941', '618', '37.240137', '-88.971677', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31723, 'Hillerman', 2794, '62941', '618', '37.240137', '-88.971677', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31724, 'New Grand Chain', 2794, '62941', '618', '37.240137', '-88.971677', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31725, 'Marion', 2794, '62959', '618', '37.722908', '-88.87762', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31726, 'Spillertown', 2794, '62959', '618', '37.722908', '-88.87762', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31727, 'La Fayette', 2795, '47903', '765', '40.4168', '-86.875', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31728, 'Lafayette', 2795, '47903', '765', '40.4168', '-86.875', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31729, 'Battle Ground', 2795, '47920', '765', '40.544808', '-86.794839', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31730, 'Boswell', 2795, '47921', '765', '40.480284', '-87.368581', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31731, 'Ladoga', 2795, '47954', '765', '39.908676', '-86.827072', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31732, 'Linden', 2795, '47955', '765', '40.190289', '-86.866458', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31733, 'Veedersburg', 2795, '47987', '765', '40.123691', '-87.233337', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31734, 'Terre Haute', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31735, 'Wonder Lake', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31736, 'Woodgate', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31737, 'Woodgate East', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31738, 'Youngstown', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31739, 'Harmony', 2795, '47853', '812', '39.536367', '-87.070306', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31740, 'Hymera', 2795, '47855', '812', '39.185464', '-87.299561', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31741, 'Catlin', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31742, 'Coloma', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31743, 'Guion', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31744, 'Hollandsburg', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:46', '2018-11-29 04:55:46'),\n(31745, 'Judson', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31746, 'Mansfield', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31747, 'Milligan', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31748, 'Nyesville', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31749, 'Rockville', 2795, '47872', '765', '39.77997', '-87.197532', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31750, 'Eureka', 2795, '47635', '812', '37.89276', '-87.130114', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31751, 'Fayette', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31752, 'Ferguson Hill', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31753, 'Kenwood', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31754, 'Larimer Hill', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31755, 'Libertyville', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31756, 'Liggett', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31757, 'Marion Heights', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31758, 'Pine Ridge', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31759, 'Sandford', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31760, 'Shirkleville', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31761, 'South Lake', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31762, 'Sycamore Park', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31763, 'Tecumseh', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31764, 'Toad Hop', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31765, 'Vermillion Acres', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31766, 'W Terre Haute', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31767, 'Buck Creek', 2795, '47924', '765', '40.487603', '-86.764015', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31768, 'Burnettsville', 2795, '47926', '574', '40.787898', '-86.582253', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31769, 'Darlington', 2795, '47940', '765', '40.130156', '-86.752806', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31770, 'Kentland', 2795, '47951', '219', '40.794208', '-87.439777', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31771, 'Mecca', 2795, '47860', '765', '39.718096', '-87.340502', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31772, 'Paxton', 2795, '47865', '812', '39.020136', '-87.391702', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31773, 'Atherton', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31774, 'Coal Bluff', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31775, 'Coxville', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31776, 'Diamond', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31777, 'Florida', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31778, 'Jessup', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31779, 'Lyford', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31780, 'Northpine Estates', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31781, 'Numa', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31782, 'Rosedale', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31783, 'West Atherton', 2795, '47874', '765', '39.630219', '-87.272906', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31784, 'Barnhart Town', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31785, 'Champion', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31786, 'Dresser', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31787, 'Chesterfield', 2799, '01012', '413', '42.365393', '-72.819914', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31788, 'Chicopee', 2799, '01021', '413', '42.1486', '-72.6085', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31789, 'E Longmeadow', 2799, '01028', '413', '42.06166', '-72.498771', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31790, 'East Longmeadow', 2799, '01028', '413', '42.06166', '-72.498771', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31791, 'Feeding Hills', 2799, '01030', '413', '42.070474', '-72.675174', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31792, 'Sagamore Bch', 2799, '02562', '508', '41.792226', '-70.518358', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31793, 'Sagamore Beach', 2799, '02562', '508', '41.792226', '-70.518358', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31794, 'Sandwich', 2799, '02563', '508', '41.71962', '-70.477866', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31795, 'Nantucket', 2799, '02564', '508', '41.2623', '-69.9668', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31796, 'Sconset', 2799, '02564', '508', '41.2623', '-69.9668', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31797, 'Siasconset', 2799, '02564', '508', '41.2623', '-69.9668', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31798, 'Palmer', 2799, '01069', '413', '42.192062', '-72.307682', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31799, 'W Chesterfld', 2799, '01084', '413', '42.386792', '-72.879415', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31800, 'West Chesterfield', 2799, '01084', '413', '42.386792', '-72.879415', '2018-11-29 04:55:47', '2018-11-29 04:55:47'),\n(31801, 'White Horse Beach', 2799, '02381', '508', '41.9317', '-70.56', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31802, 'Wht Horse Bch', 2799, '02381', '508', '41.9317', '-70.56', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31803, 'Newton', 2799, '02462', '617', '42.33117', '-71.256202', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31804, 'Newton L F', 2799, '02462', '617', '42.33117', '-71.256202', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31805, 'Newton Lower Falls', 2799, '02462', '617', '42.33117', '-71.256202', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31806, 'Newtonville', 2799, '02462', '617', '42.33117', '-71.256202', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31807, 'Newton', 2799, '02464', '617', '42.313194', '-71.218719', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31808, 'Newton U F', 2799, '02464', '617', '42.313194', '-71.218719', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31809, 'Newton Upper Falls', 2799, '02464', '617', '42.313194', '-71.218719', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31810, 'Brewster', 2799, '02631', '508', '41.746943', '-70.069488', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31811, 'Centerville', 2799, '02632', '508', '41.657055', '-70.347382', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31812, 'Harwich Port', 2799, '02646', '508', '41.672796', '-70.069212', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31813, 'Harwichport', 2799, '02646', '508', '41.672796', '-70.069212', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31814, 'Marstons Mills', 2799, '02648', '508', '41.670439', '-70.413412', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31815, 'Marstons Mls', 2799, '02648', '508', '41.670439', '-70.413412', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31816, 'Boston', 2799, '02228', '617', '42.3739', '-71.015', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31817, 'East Boston', 2799, '02228', '617', '42.3739', '-71.015', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31818, 'Carver', 2799, '02330', '508', '41.874056', '-70.764752', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31819, 'Middleboro', 2799, '02346', '508', '41.882196', '-70.879797', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31820, 'Middleborough', 2799, '02346', '508', '41.882196', '-70.879797', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31821, 'Somerville', 2799, '02145', '617', '42.391354', '-71.092668', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31822, 'Winter Hill', 2799, '02145', '617', '42.391354', '-71.092668', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31823, 'Kingston', 2799, '02364', '781', '41.978084', '-70.746086', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31824, 'Rocky Nook', 2799, '02364', '781', '41.978084', '-70.746086', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31825, 'Silver Lake', 2799, '02364', '781', '41.978084', '-70.746086', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31826, 'Hull', 2799, '02045', '781', '42.284262', '-70.888204', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31827, 'Nantasket Beach', 2799, '02045', '781', '42.284262', '-70.888204', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31828, 'Humarock', 2799, '02047', '781', '42.1361', '-70.6908', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31829, 'N Scituate', 2799, '02060', '781', '42.2187', '-70.7861', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31830, 'North Scituate', 2799, '02060', '781', '42.2187', '-70.7861', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31831, 'Scituate', 2799, '02060', '781', '42.2187', '-70.7861', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31832, 'Norwell', 2799, '02061', '781', '42.151425', '-70.821397', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31833, 'Norwood', 2799, '02062', '781', '42.181894', '-71.19668', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31834, 'Boston', 2799, '02110', '617', '42.358162', '-71.054065', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31835, 'Boston', 2799, '02112', '617', '42.3586', '-71.0605', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31836, 'Boston', 2799, '02196', '617', '42.3586', '-71.0603', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31837, 'General Elec Co', 2799, '01910', '781', '42.4667', '-70.9503', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31838, 'Lynn', 2799, '01910', '781', '42.4667', '-70.9503', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31839, 'Amesbury', 2799, '01913', '978', '42.853164', '-70.951838', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31840, 'Manchester', 2799, '01944', '978', '42.57953', '-70.765114', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31841, 'Manchester By The Sea', 2799, '01944', '978', '42.57953', '-70.765114', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31842, 'Marblehead', 2799, '01945', '781', '42.500168', '-70.864898', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31843, 'Mhead', 2799, '01945', '781', '42.500168', '-70.864898', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31844, 'Dover', 2799, '02030', '508', '42.241727', '-71.287522', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31845, 'Cochituate', 2799, '01778', '508', '42.36119', '-71.362933', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31846, 'Wayland', 2799, '01778', '508', '42.36119', '-71.362933', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31847, 'Andover', 2799, '01810', '978', '42.649578', '-71.166028', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31848, 'Dracut', 2799, '01826', '978', '42.69256', '-71.309028', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31849, 'Dunstable', 2799, '01827', '978', '42.673198', '-71.502242', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31850, 'Lawrence', 2799, '01843', '978', '42.691573', '-71.161102', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31851, 'S Lawrence', 2799, '01843', '978', '42.691573', '-71.161102', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31852, 'South Lawrence', 2799, '01843', '978', '42.691573', '-71.161102', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31853, 'N Andover', 2799, '01845', '978', '42.673022', '-71.088049', '2018-11-29 04:55:48', '2018-11-29 04:55:48'),\n(31854, 'North Andover', 2799, '01845', '978', '42.673022', '-71.088049', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31855, 'N Billerica', 2799, '01862', '978', '42.568284', '-71.29229', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31856, 'North Billerica', 2799, '01862', '978', '42.568284', '-71.29229', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31857, 'Rutland', 2799, '01543', '508', '42.383117', '-71.961566', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31858, 'Edgemere', 2799, '01545', '508', '42.28678', '-71.713616', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31859, 'Shrewsbury', 2799, '01545', '508', '42.28678', '-71.713616', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31860, 'Paxton', 2799, '01612', '508', '42.315184', '-71.934535', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31861, 'Worcester', 2799, '01612', '508', '42.315184', '-71.934535', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31862, 'Turners Falls', 2799, '01376', '413', '42.593404', '-72.540041', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31863, 'Littleton', 2799, '01460', '978', '42.537958', '-71.484974', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31864, 'Pingryville', 2799, '01460', '978', '42.537958', '-71.484974', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31865, 'Winchendon', 2799, '01475', '978', '42.660866', '-72.048898', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31866, 'Manchaug', 2799, '01526', '508', '42.0945', '-71.7482', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31867, 'Mount Washington', 2799, '01258', '413', '42.102233', '-73.46408', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31868, 'Mt Washington', 2799, '01258', '413', '42.102233', '-73.46408', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31869, 'S Egremont', 2799, '01258', '413', '42.102233', '-73.46408', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31870, 'So Egremont', 2799, '01258', '413', '42.102233', '-73.46408', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31871, 'South Egremont', 2799, '01258', '413', '42.102233', '-73.46408', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31872, 'Halyoke', 2799, '01041', '413', '42.2043', '-72.6167', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31873, 'Holyoke', 2799, '01041', '413', '42.2043', '-72.6167', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31874, 'Spfld', 2799, '01128', '413', '42.095804', '-72.485598', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31875, 'Springfield', 2799, '01128', '413', '42.095804', '-72.485598', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31876, 'South Barre', 2799, '01074', '978', '42.3824', '-72.0998', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31877, 'W Warren', 2799, '01092', '413', '42.202417', '-72.221696', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31878, 'West Warren', 2799, '01092', '413', '42.202417', '-72.221696', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31879, 'Whately', 2799, '01093', '413', '42.4399', '-72.6353', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31880, 'Belchertown', 2799, '01007', '413', '42.274798', '-72.401922', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31881, 'Cummington', 2799, '01026', '413', '42.441033', '-72.915573', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31882, 'West Cummington', 2799, '01026', '413', '42.441033', '-72.915573', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31883, 'E Hampton', 2799, '01027', '413', '42.292895', '-72.717599', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31884, 'Easthampton', 2799, '01027', '413', '42.292895', '-72.717599', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31885, 'Loudville', 2799, '01027', '413', '42.292895', '-72.717599', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31886, 'Mount Tom', 2799, '01027', '413', '42.292895', '-72.717599', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31887, 'Westhampton', 2799, '01027', '413', '42.292895', '-72.717599', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31888, 'China', 2802, '48054', '810', '42.770956', '-82.542665', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31889, 'China Township', 2802, '48054', '810', '42.770956', '-82.542665', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31890, 'East China', 2802, '48054', '810', '42.770956', '-82.542665', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31891, 'East China Township', 2802, '48054', '810', '42.770956', '-82.542665', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31892, 'East China Twp', 2802, '48054', '810', '42.770956', '-82.542665', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31893, 'Royal Oak', 2802, '48073', '248', '42.521767', '-83.164726', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31894, 'Southfield', 2802, '48086', '248', '42.4736', '-83.2216', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31895, 'Warren', 2802, '48089', '586', '42.472038', '-82.996936', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31896, 'Clawson', 2802, '48017', '248', '42.536941', '-83.144523', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31897, 'Southfield', 2802, '48033', '248', '42.466061', '-83.288855', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31898, 'Warren', 2802, '48092', '586', '42.513631', '-83.057316', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31899, 'Port Huron', 2802, '48060', '810', '42.987736', '-82.466475', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31900, 'Port Huron Township', 2802, '48060', '810', '42.987736', '-82.466475', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31901, 'Pleasant Rdg', 2802, '48069', '248', '42.471543', '-83.144234', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31902, 'Pleasant Ridge', 2802, '48069', '248', '42.471543', '-83.144234', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31903, 'Kimball', 2802, '48074', '810', '42.947352', '-82.571438', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31904, 'Kimball Township', 2802, '48074', '810', '42.947352', '-82.571438', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31905, 'Smiths Creek', 2802, '48074', '810', '42.947352', '-82.571438', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31906, 'Troy', 2802, '48083', '248', '42.556121', '-83.117606', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31907, 'Anchorville', 2802, '48004', '586', '42.6913', '-82.6889', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31908, 'Armada', 2802, '48005', '586', '42.849244', '-82.923362', '2018-11-29 04:55:49', '2018-11-29 04:55:49'),\n(31909, 'Armada Township', 2802, '48005', '586', '42.849244', '-82.923362', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31910, 'Avoca', 2802, '48006', '810', '43.073854', '-82.696338', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31911, 'Fargo', 2802, '48006', '810', '43.073854', '-82.696338', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31912, 'Greenwood', 2802, '48006', '810', '43.073854', '-82.696338', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31913, 'Greenwood Township', 2802, '48006', '810', '43.073854', '-82.696338', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31914, 'Kenockee', 2802, '48006', '810', '43.073854', '-82.696338', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31915, 'Kenockee Township', 2802, '48006', '810', '43.073854', '-82.696338', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31916, 'Clinton Township', 2802, '48038', '586', '42.598972', '-82.931124', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31917, 'Clinton Twp', 2802, '48038', '586', '42.598972', '-82.931124', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31918, 'Frazee', 2803, '56544', '218', '46.722536', '-95.576783', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31919, 'Kragnes', 2803, '56560', '218', '46.846544', '-96.701416', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31920, 'Moorhead', 2803, '56560', '218', '46.846544', '-96.701416', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31921, 'Avon', 2803, '56310', '320', '45.618166', '-94.43617', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31922, 'Farwell', 2803, '56327', '320', '45.774233', '-95.642854', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31923, 'Foley', 2803, '56329', '320', '45.708082', '-93.899256', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31924, 'Oak Park', 2803, '56329', '320', '45.708082', '-93.899256', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31925, 'Ronneby', 2803, '56329', '320', '45.708082', '-93.899256', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31926, 'Kensington', 2803, '56343', '320', '45.814879', '-95.665178', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31927, 'Elmdale', 2803, '56345', '320', '45.988889', '-94.392634', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31928, 'Little Falls', 2803, '56345', '320', '45.988889', '-94.392634', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31929, 'Sobieski', 2803, '56345', '320', '45.988889', '-94.392634', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31930, 'Clinton', 2803, '56225', '320', '45.455866', '-96.366814', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31931, 'Correll', 2803, '56227', '320', '45.294616', '-96.172634', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31932, 'Hanley Falls', 2803, '56245', '507', '44.673997', '-95.726535', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31933, 'Parkers Pr', 2803, '56361', '218', '46.16162', '-95.364994', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31934, 'Parkers Prairie', 2803, '56361', '218', '46.16162', '-95.364994', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31935, 'Lake Henry', 2803, '56362', '320', '45.393705', '-94.706027', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31936, 'Tenstrike', 2803, '56683', '218', '47.722517', '-94.745076', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31937, 'Rosewood', 2803, '56701', '218', '48.087645', '-96.16969', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31938, 'Thief River Falls', 2803, '56701', '218', '48.087645', '-96.16969', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31939, 'Thief Rvr Fls', 2803, '56701', '218', '48.087645', '-96.16969', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31940, 'Tr Falls', 2803, '56701', '218', '48.087645', '-96.16969', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31941, 'Greenbush', 2803, '56726', '218', '48.681262', '-96.180501', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31942, 'Afton', 2803, '55001', '651', '44.910563', '-92.813053', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31943, 'Bayport', 2803, '55003', '651', '45.017462', '-92.779711', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31944, 'Baytown', 2803, '55003', '651', '45.017462', '-92.779711', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31945, 'Douglas', 2803, '55003', '651', '45.017462', '-92.779711', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31946, 'Nerstrand', 2803, '55053', '507', '44.352564', '-93.064407', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31947, 'Wheeling', 2803, '55053', '507', '44.352564', '-93.064407', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31948, 'Alvarado', 2803, '56710', '218', '48.216802', '-96.977852', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31949, 'Argyle', 2803, '56713', '218', '48.326345', '-96.904521', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31950, 'Ogema', 2803, '56569', '218', '47.107935', '-95.999505', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31951, 'Ottertail', 2803, '56571', '218', '46.437175', '-95.532335', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31952, 'Maine', 2803, '56586', '218', '46.327583', '-95.825899', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31953, 'Underwood', 2803, '56586', '218', '46.327583', '-95.825899', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31954, 'Bagley', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31955, 'Copley', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31956, 'Ebro', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31957, 'Falk', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31958, 'Ranier', 2803, '56668', '218', '48.61156', '-93.346077', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31959, 'Redlake', 2803, '56671', '218', '47.84124', '-95.074262', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31960, 'Detroit Lakes', 2803, '56501', '218', '46.8739', '-95.730266', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31961, 'Borup', 2803, '56519', '218', '47.194656', '-96.563176', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31962, 'Callaway', 2803, '56521', '218', '47.021046', '-95.872604', '2018-11-29 04:55:50', '2018-11-29 04:55:50'),\n(31963, 'Nora', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31964, 'Popple', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31965, 'Zerkel', 2803, '56621', '218', '47.371659', '-95.425406', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31966, 'Deer Riv', 2803, '56636', '218', '47.388554', '-93.997198', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31967, 'Lengby', 2803, '56651', '218', '47.543078', '-95.618588', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31968, 'Margie', 2803, '56658', '218', '48.0953', '-93.9398', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31969, 'Kennedy', 2803, '56733', '218', '48.630233', '-96.977492', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31970, 'Brooks', 2803, '56715', '218', '47.803986', '-96.031178', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31971, 'Perley', 2803, '56574', '218', '47.194101', '-96.765706', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31972, 'Wendell', 2803, '56590', '218', '46.064772', '-96.142032', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31973, 'Winger', 2803, '56592', '218', '47.543028', '-96.004984', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31974, 'Elbow Lake', 2803, '56531', '218', '46.02102', '-96.017861', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31975, 'Erdahl', 2803, '56531', '218', '46.02102', '-96.017861', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31976, 'Elizabeth', 2803, '56533', '218', '46.412966', '-96.137357', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31977, 'Bena', 2803, '56626', '218', '47.325288', '-94.20186', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31978, 'Akeley', 2803, '56433', '218', '47.003454', '-94.689542', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31979, 'Clarissa', 2803, '56440', '218', '46.179634', '-94.914062', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31980, 'Cross Lake', 2803, '56442', '218', '46.688656', '-94.099154', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31981, 'Crosslake', 2803, '56442', '218', '46.688656', '-94.099154', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31982, 'Manhattan Bch', 2803, '56442', '218', '46.688656', '-94.099154', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31983, 'Manhattan Beach', 2803, '56442', '218', '46.688656', '-94.099154', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31984, 'Jenkins', 2803, '56456', '218', '46.653132', '-94.330431', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31985, 'Lake George', 2803, '56458', '218', '47.195402', '-94.911985', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31986, 'Fertile', 2803, '56540', '218', '47.500428', '-96.259544', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31987, 'Rindal', 2803, '56540', '218', '47.500428', '-96.259544', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31988, 'Nashua', 2803, '56565', '218', '46.065062', '-96.327487', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31989, 'Brandon', 2803, '56315', '320', '45.984549', '-95.594043', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31990, 'Millerville', 2803, '56315', '320', '45.984549', '-95.594043', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31991, 'Gilman', 2803, '56333', '320', '45.7349', '-93.9498', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31992, 'Little Sauk', 2803, '56347', '320', '45.976558', '-94.879083', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31993, 'Long Prairie', 2803, '56347', '320', '45.976558', '-94.879083', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31994, 'Merrifield', 2803, '56465', '218', '46.521638', '-94.11098', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31995, 'Mantrap', 2803, '56467', '218', '46.978127', '-94.800934', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31996, 'Nebish', 2803, '56467', '218', '46.978127', '-94.800934', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31997, 'Nevis', 2803, '56467', '218', '46.978127', '-94.800934', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31998, 'Young America', 2803, '55553', '952', '44.7825', '-93.9135', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(31999, 'Young America', 2803, '55564', '952', '44.7825', '-93.9135', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32000, 'Maple Grove', 2803, '55569', '763', '45.1236', '-93.4576', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32001, 'Osseo', 2803, '55569', '763', '45.1236', '-93.4576', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32002, 'Columbia Heights', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32003, 'Columbia Hts', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32004, 'Fridley', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32005, 'Hilltop', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32006, 'Minneapolis', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32007, 'Saint Anthony', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32008, 'St Anthony', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32009, 'St Anthony Village', 2803, '55421', '763', '45.052377', '-93.246592', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32010, 'Saint Paul', 2803, '55171', '651', '44.9445', '-93.0932', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32011, 'Us Bank Visa', 2803, '55171', '651', '44.9445', '-93.0932', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32012, 'Monticello', 2803, '55362', '763', '45.311652', '-93.801732', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32013, 'Otsego', 2803, '55362', '763', '45.311652', '-93.801732', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32014, 'Minnetrista', 2803, '55364', '952', '44.934838', '-93.66798', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32015, 'Mound', 2803, '55364', '952', '44.934838', '-93.66798', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32016, 'Orono', 2803, '55364', '952', '44.934838', '-93.66798', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32017, 'Shorewood', 2803, '55364', '952', '44.934838', '-93.66798', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32018, 'Savage', 2803, '55378', '952', '44.757934', '-93.368478', '2018-11-29 04:55:51', '2018-11-29 04:55:51'),\n(32019, 'Maple Lake', 2803, '55380', '320', '45.3293', '-93.9522', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32020, 'Silver Creek', 2803, '55380', '320', '45.3293', '-93.9522', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32021, 'Minnetrista', 2803, '55387', '952', '44.854542', '-93.773464', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32022, 'Waconia', 2803, '55387', '952', '44.854542', '-93.773464', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32023, 'Hopkins', 2803, '55305', '952', '44.951959', '-93.43609', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32024, 'Minnetonka', 2803, '55305', '952', '44.951959', '-93.43609', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32025, 'Buffalo Lake', 2803, '55314', '320', '44.767863', '-94.594713', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32026, 'Hamburg', 2803, '55339', '952', '44.735142', '-93.959712', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32027, 'Maplewood', 2803, '55119', '651', '44.940248', '-93.014801', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32028, 'Saint Paul', 2803, '55119', '651', '44.940248', '-93.014801', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32029, 'Saint Paul', 2803, '55130', '651', '44.973752', '-93.083074', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32030, '3m Corp', 2803, '55144', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32031, 'Maplewood', 2803, '55144', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32032, 'Saint Paul', 2803, '55144', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32033, 'Saint Paul', 2803, '55146', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32034, 'State Tax Dept', 2803, '55146', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32035, 'Saint Paul', 2803, '55155', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32036, 'State Offices', 2803, '55155', '651', '44.9445', '-93.0932', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32037, 'Center City', 2803, '55012', '651', '45.454804', '-92.783739', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32038, 'Chisago Lake', 2803, '55012', '651', '45.454804', '-92.783739', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32039, 'Faribault', 2803, '55021', '507', '44.312828', '-93.292709', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32040, 'Vermillion', 2803, '55085', '651', '44.674467', '-92.967959', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32041, 'Saint Paul', 2803, '55105', '651', '44.931869', '-93.162692', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32042, 'Berner', 2803, '56644', '218', '47.847123', '-95.445719', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32043, 'Gonvick', 2803, '56644', '218', '47.847123', '-95.445719', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32044, 'Hangaard', 2803, '56644', '218', '47.847123', '-95.445719', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32045, 'Pine Lake', 2803, '56644', '218', '47.847123', '-95.445719', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32046, 'Winsor', 2803, '56644', '218', '47.847123', '-95.445719', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32047, 'Gully', 2803, '56646', '218', '47.804532', '-95.6443', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32048, 'Olga', 2803, '56646', '218', '47.804532', '-95.6443', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32049, 'Viking', 2803, '56760', '218', '48.26823', '-96.489082', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32050, 'Angus', 2803, '56762', '218', '48.195556', '-96.717246', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32051, 'Radium', 2803, '56762', '218', '48.195556', '-96.717246', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32052, 'Warren', 2803, '56762', '218', '48.195556', '-96.717246', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32053, 'Basswood', 2803, '56576', '218', '46.471397', '-95.7068', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32054, 'Richville', 2803, '56576', '218', '46.471397', '-95.7068', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32055, 'Rochert', 2803, '56578', '218', '46.93049', '-95.671338', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32056, 'Becida', 2803, '56678', '218', '47.475451', '-95.098352', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32057, 'Lammers', 2803, '56678', '218', '47.475451', '-95.098352', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32058, 'Solway', 2803, '56678', '218', '47.475451', '-95.098352', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32059, 'S Int Falls', 2803, '56679', '218', '48.5852', '-93.4012', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32060, 'S Intl Falls', 2803, '56679', '218', '48.5852', '-93.4012', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32061, 'South International Falls', 2803, '56679', '218', '48.5852', '-93.4012', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32062, 'Oslund', 2803, '56680', '218', '47.628753', '-93.882525', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32063, 'Sand Lake', 2803, '56680', '218', '47.628753', '-93.882525', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32064, 'Spring Lake', 2803, '56680', '218', '47.628753', '-93.882525', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32065, 'Sebeka', 2803, '56477', '218', '46.641003', '-95.034444', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32066, 'Audubon', 2803, '56511', '218', '46.847676', '-96.014089', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32067, 'Dent', 2803, '56528', '218', '46.520712', '-95.787552', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32068, 'Big Falls', 2803, '56627', '218', '48.186118', '-93.836453', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32069, 'Grand Falls', 2803, '56627', '218', '48.186118', '-93.836453', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32070, 'Nett River', 2803, '56627', '218', '48.186118', '-93.836453', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32071, 'Bigfork', 2803, '56628', '218', '47.695384', '-93.548942', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32072, 'Stokes', 2803, '56628', '218', '47.695384', '-93.548942', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32073, 'Birchdale', 2803, '56629', '218', '48.523489', '-94.254845', '2018-11-29 04:55:52', '2018-11-29 04:55:52'),\n(32074, 'Indus', 2803, '56629', '218', '48.523489', '-94.254845', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32075, 'Manitou', 2803, '56629', '218', '48.523489', '-94.254845', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32076, 'Alvwood', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32077, 'Battle River', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32078, 'Birch', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32079, 'Blackduck', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32080, 'Cormant', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32081, 'Funkley', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32082, 'Hornet', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32083, 'Langor', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32084, 'Moose Park', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32085, 'Quiring', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32086, 'Summit', 2803, '56630', '218', '47.702209', '-94.360421', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32087, 'Fingerhut Sweepstakes', 2803, '56393', '320', '45.5608', '-94.1624', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32088, 'Saint Cloud', 2803, '56393', '320', '45.5608', '-94.1624', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32089, 'Fingerhut', 2803, '56395', '320', '45.5608', '-94.1624', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32090, 'Saint Cloud', 2803, '56395', '320', '45.5608', '-94.1624', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32091, 'Cuyuna', 2803, '56444', '218', '46.424106', '-93.883891', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32092, 'Deerwood', 2803, '56444', '218', '46.424106', '-93.883891', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32093, 'Eckles', 2803, '56687', '218', '47.498623', '-95.007342', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32094, 'Wilton', 2803, '56687', '218', '47.498623', '-95.007342', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32095, 'Donaldson', 2803, '56720', '218', '48.586941', '-96.845571', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32096, 'E G Forks', 2803, '56721', '218', '48.018571', '-96.964824', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32097, 'E Grand Forks', 2803, '56721', '218', '48.018571', '-96.964824', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32098, 'East Grand Forks', 2803, '56721', '218', '48.018571', '-96.964824', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32099, 'Oteneagen', 2803, '56636', '218', '47.388554', '-93.997198', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32100, 'Zemple', 2803, '56636', '218', '47.388554', '-93.997198', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32101, 'Happyland', 2803, '56653', '218', '48.258232', '-93.443073', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32102, 'Lindford', 2803, '56653', '218', '48.258232', '-93.443073', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32103, 'Littlefork', 2803, '56653', '218', '48.258232', '-93.443073', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32104, 'Holt', 2803, '56738', '218', '48.285591', '-96.24151', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32105, 'Newfolden', 2803, '56738', '218', '48.285591', '-96.24151', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32106, 'Saint Hilaire', 2803, '56754', '218', '48.006316', '-96.287982', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32107, 'Saint Vincent', 2803, '56755', '218', '48.941029', '-97.15093', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32108, 'Florissant', 2804, '63032', '314', '38.7893', '-90.3226', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32109, 'Hazelwood', 2804, '63043', '314', '38.730854', '-90.45571', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32110, 'Maryland Heights', 2804, '63043', '314', '38.730854', '-90.45571', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32111, 'Maryland Hts', 2804, '63043', '314', '38.730854', '-90.45571', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32112, 'Herculaneum', 2804, '63048', '636', '38.261521', '-90.396292', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32113, 'Liguori', 2804, '63057', '636', '38.3383', '-90.3989', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32114, 'Campbellton', 2804, '63068', '573', '38.549829', '-91.245714', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32115, 'Detmold', 2804, '63068', '573', '38.549829', '-91.245714', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32116, 'Dissen', 2804, '63068', '573', '38.549829', '-91.245714', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32117, 'Lyon', 2804, '63068', '573', '38.549829', '-91.245714', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32118, 'New Haven', 2804, '63068', '573', '38.549829', '-91.245714', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32119, 'Stony Hill', 2804, '63068', '573', '38.549829', '-91.245714', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32120, 'Rosebud', 2804, '63091', '573', '38.353532', '-91.38014', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32121, 'Saint Louis', 2804, '63102', '314', '38.635551', '-90.189665', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32122, 'Saint Louis', 2804, '63116', '314', '38.581532', '-90.268444', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32123, 'Bella Villa', 2804, '63125', '314', '38.519778', '-90.296696', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32124, 'Lemay', 2804, '63125', '314', '38.519778', '-90.296696', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32125, 'Saint Louis', 2804, '63125', '314', '38.519778', '-90.296696', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32126, 'Berkeley', 2804, '63134', '314', '38.743803', '-90.341562', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32127, 'Edmundson', 2804, '63134', '314', '38.743803', '-90.341562', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32128, 'Saint Louis', 2804, '63134', '314', '38.743803', '-90.341562', '2018-11-29 04:55:53', '2018-11-29 04:55:53'),\n(32129, 'Woodson Terrace', 2804, '63134', '314', '38.743803', '-90.341562', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32130, 'Saint Louis', 2804, '63177', '314', '38.6272', '-90.1978', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32131, 'Ibssc Acs Asc', 2804, '63182', '314', '38.6272', '-90.1978', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32132, 'Saint Louis', 2804, '63182', '314', '38.6272', '-90.1978', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32133, 'Auburn', 2804, '63343', '573', '39.165668', '-90.835705', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32134, 'Elsberry', 2804, '63343', '573', '39.165668', '-90.835705', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32135, 'New Hope', 2804, '63343', '573', '39.165668', '-90.835705', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32136, 'High Hill', 2804, '63350', '636', '38.918534', '-91.353768', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32137, 'Lake Sherwood', 2804, '63357', '636', '38.639274', '-91.135233', '2018-11-29 04:55:54', '2018-11-29 04:55:54');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(32138, 'Marthasville', 2804, '63357', '636', '38.639274', '-91.135233', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32139, 'Middletown', 2804, '63359', '573', '39.147864', '-91.344456', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32140, 'New Hartford', 2804, '63359', '573', '39.147864', '-91.344456', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32141, 'Cottleville', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32142, 'Dardenne', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32143, 'Dardenne Pr', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32144, 'Dardenne Prairie', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32145, 'O Fallon', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32146, 'Ofallon', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32147, 'Saint Paul', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32148, 'Saint Peters', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32149, 'St Peters', 2804, '63366', '636', '38.853499', '-90.70267', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32150, 'Corso', 2804, '63377', '573', '39.106455', '-91.080524', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32151, 'Millwood', 2804, '63377', '573', '39.106455', '-91.080524', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32152, 'Silex', 2804, '63377', '573', '39.106455', '-91.080524', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32153, 'Lewistown', 2804, '63452', '573', '40.100597', '-91.834756', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32154, 'Tolona', 2804, '63452', '573', '40.100597', '-91.834756', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32155, 'Saint Patrick', 2804, '63466', '660', '40.31746', '-91.664495', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32156, 'Callao', 2804, '63534', '660', '39.741257', '-92.643649', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32157, 'Kaseyville', 2804, '63534', '660', '39.741257', '-92.643649', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32158, 'Glenwood', 2804, '63541', '660', '40.510288', '-92.631369', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32159, 'Gorin', 2804, '63543', '660', '40.352528', '-92.004011', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32160, 'Queen City', 2804, '63561', '660', '40.410481', '-92.588826', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32161, 'Worthington', 2804, '63561', '660', '40.410481', '-92.588826', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32162, 'North Salem', 2804, '63566', '660', '40.04363', '-92.933054', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32163, 'Winigan', 2804, '63566', '660', '40.04363', '-92.933054', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32164, 'Annapolis', 2804, '63620', '573', '37.415184', '-90.608626', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32165, 'Glover', 2804, '63620', '573', '37.415184', '-90.608626', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32166, 'Des Arc', 2804, '63636', '573', '37.312603', '-90.616883', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32167, 'Iron Mountain', 2804, '63650', '573', '37.6209', '-90.649302', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32168, 'Ironton', 2804, '63650', '573', '37.6209', '-90.649302', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32169, 'Rosel', 2804, '63650', '573', '37.6209', '-90.649302', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32170, 'Benton', 2804, '63736', '573', '37.089416', '-89.526274', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32171, 'Haywood City', 2804, '63736', '573', '37.089416', '-89.526274', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32172, 'Lambert', 2804, '63736', '573', '37.089416', '-89.526274', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32173, 'New Hamburg', 2804, '63736', '573', '37.089416', '-89.526274', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32174, 'Gipsy', 2804, '63750', '573', '37.130131', '-90.186858', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32175, 'Gordonville', 2804, '63752', '573', '37.3114', '-89.6792', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32176, 'Old Appleton', 2804, '63770', '573', '37.591198', '-89.705846', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32177, 'Vanduser', 2804, '63784', '573', '36.984478', '-89.69303', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32178, 'Bloomfield', 2804, '63825', '573', '36.929552', '-89.960665', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32179, 'Bragg City', 2804, '63827', '573', '36.260236', '-89.867055', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32180, 'Holcomb', 2804, '63852', '573', '36.389615', '-89.997195', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32181, 'Morehouse', 2804, '63868', '573', '36.794968', '-89.678269', '2018-11-29 04:55:54', '2018-11-29 04:55:54'),\n(32182, 'Steele', 2804, '63877', '573', '36.116368', '-89.822823', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32183, 'Poplar Bluff', 2804, '63902', '573', '36.7631', '-90.4063', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32184, 'Harviell', 2804, '63945', '573', '36.677378', '-90.565212', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32185, 'Qulin', 2804, '63961', '573', '36.573269', '-90.285426', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32186, 'Bates City', 2804, '64011', '816', '38.957108', '-94.067304', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32187, 'Greenwood', 2804, '64034', '816', '38.846292', '-94.284388', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32188, 'Lake Winnebago', 2804, '64034', '816', '38.846292', '-94.284388', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32189, 'Lk Winnebago', 2804, '64034', '816', '38.846292', '-94.284388', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32190, 'Independence', 2804, '64052', '816', '39.072493', '-94.449825', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32191, 'Kingsville', 2804, '64061', '816', '38.788336', '-94.088852', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32192, 'Liberty', 2804, '64068', '816', '39.26767', '-94.389255', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32193, 'Pleasant Valley', 2804, '64068', '816', '39.26767', '-94.389255', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32194, 'Pleasant Vly', 2804, '64068', '816', '39.26767', '-94.389255', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32195, 'Kansas City', 2804, '64102', '816', '39.092001', '-94.601628', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32196, 'Kansas City', 2804, '64127', '816', '39.089378', '-94.53805', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32197, 'Kansas City', 2804, '64138', '816', '38.968906', '-94.475201', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32198, 'Raytown', 2804, '64138', '816', '38.968906', '-94.475201', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32199, 'Kansas City', 2804, '64145', '816', '38.88085', '-94.596219', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32200, 'Kansas City', 2804, '64152', '816', '39.217586', '-94.74676', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32201, 'Parkville', 2804, '64152', '816', '39.217586', '-94.74676', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32202, 'Weatherby Lake', 2804, '64152', '816', '39.217586', '-94.74676', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32203, 'Wthrby Lake', 2804, '64152', '816', '39.217586', '-94.74676', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32204, 'Kansas City', 2804, '64154', '816', '39.278657', '-94.631823', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32205, 'Birmingham', 2804, '64161', '816', '39.160716', '-94.449162', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32206, 'Kansas City', 2804, '64161', '816', '39.160716', '-94.449162', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32207, 'Randolph', 2804, '64161', '816', '39.160716', '-94.449162', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32208, 'Internal Revenue Service', 2804, '64170', '816', '39.0997', '-94.5784', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32209, 'Kansas City', 2804, '64170', '816', '39.0997', '-94.5784', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32210, 'Midwest Service Center', 2804, '64170', '816', '39.0997', '-94.5784', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32211, 'Kansas City', 2804, '64179', '816', '39.0997', '-94.5784', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32212, 'Kansas City Brm', 2804, '64179', '816', '39.0997', '-94.5784', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32213, 'Kansas City', 2804, '64195', '816', '39.3052', '-94.7157', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32214, 'Albany', 2804, '64402', '660', '40.274629', '-94.360138', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32215, 'Gentryville', 2804, '64402', '660', '40.274629', '-94.360138', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32216, 'Amity', 2804, '64422', '816', '39.900884', '-94.497397', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32217, 'Bolckow', 2804, '64427', '816', '40.085927', '-94.878464', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32218, 'Cameron', 2804, '64429', '816', '39.75472', '-94.262314', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32219, 'Cosby', 2804, '64436', '816', '39.865127', '-94.689884', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32220, 'Darlington', 2804, '64438', '660', '40.194132', '-94.40572', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32221, 'Gower', 2804, '64454', '816', '39.603432', '-94.611586', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32222, 'Hopkins', 2804, '64461', '660', '40.538671', '-94.821394', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32223, 'King City', 2804, '64463', '660', '40.068192', '-94.517019', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32224, 'Saint Joseph', 2804, '64504', '816', '39.683078', '-94.921281', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32225, 'Coffey', 2804, '64636', '660', '40.104768', '-94.002428', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32226, 'Mercer', 2804, '64661', '660', '40.526181', '-93.49906', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32227, 'Pattonsburg', 2804, '64670', '660', '40.0532', '-94.135426', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32228, 'Sumner', 2804, '64681', '660', '39.638394', '-93.203982', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32229, 'Nj Income Tax', 2811, '08645', '609', '40.2167', '-74.7433', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32230, 'State Income Tax', 2811, '08645', '609', '40.2167', '-74.7433', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32231, 'Trenton', 2811, '08645', '609', '40.2167', '-74.7433', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32232, 'Division Of Revenue', 2811, '08646', '609', '40.2167', '-74.7433', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32233, 'Nj Taxation Dept', 2811, '08646', '609', '40.2167', '-74.7433', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32234, 'Trenton', 2811, '08646', '609', '40.2167', '-74.7433', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32235, 'Lawrence', 2811, '08648', '609', '40.279936', '-74.713504', '2018-11-29 04:55:55', '2018-11-29 04:55:55'),\n(32236, 'Lawrence Township', 2811, '08648', '609', '40.279936', '-74.713504', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32237, 'Lawrence Twp', 2811, '08648', '609', '40.279936', '-74.713504', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32238, 'Lawrenceville', 2811, '08648', '609', '40.279936', '-74.713504', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32239, 'Trenton', 2811, '08648', '609', '40.279936', '-74.713504', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32240, 'Island Heights', 2811, '08732', '732', '39.941114', '-74.141774', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32241, 'Island Hgts', 2811, '08732', '732', '39.941114', '-74.141774', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32242, 'Jacobstown', 2811, '08562', '609', '40.064814', '-74.603187', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32243, 'North Hanover', 2811, '08562', '609', '40.064814', '-74.603187', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32244, 'Wrightstown', 2811, '08562', '609', '40.064814', '-74.603187', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32245, 'Gandys Beach', 2811, '08345', '856', '39.24932', '-75.169416', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32246, 'Newport', 2811, '08345', '856', '39.24932', '-75.169416', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32247, 'Brick', 2811, '08724', '732', '40.098105', '-74.109616', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32248, 'Bricktown', 2811, '08724', '732', '40.098105', '-74.109616', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32249, 'Wall', 2811, '08724', '732', '40.098105', '-74.109616', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32250, 'Wall Township', 2811, '08724', '732', '40.098105', '-74.109616', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32251, 'Wall Twp', 2811, '08724', '732', '40.098105', '-74.109616', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32252, 'Lakehurst', 2811, '08733', '732', '40.010535', '-74.413915', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32253, 'Lakehurst Nae', 2811, '08733', '732', '40.010535', '-74.413915', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32254, 'Lakehurst Naec', 2811, '08733', '732', '40.010535', '-74.413915', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32255, 'Manchester', 2811, '08733', '732', '40.010535', '-74.413915', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32256, 'Jamesburg', 2811, '08831', '609', '40.331234', '-74.41699', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32257, 'Monroe', 2811, '08831', '609', '40.331234', '-74.41699', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32258, 'Monroe Township', 2811, '08831', '609', '40.331234', '-74.41699', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32259, 'Monroe Twp', 2811, '08831', '609', '40.331234', '-74.41699', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32260, 'S Bound Brook', 2811, '08880', '732', '40.552387', '-74.530023', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32261, 'South Bound Brook', 2811, '08880', '732', '40.552387', '-74.530023', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32262, 'Glen Gardner', 2811, '08826', '908', '40.718648', '-74.90588', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32263, 'Branchburg', 2811, '08853', '908', '40.529128', '-74.740359', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32264, 'Manhattan', 2814, '10170', '212', '40.752862', '-73.976096', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32265, 'New York', 2814, '10170', '212', '40.752862', '-73.976096', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32266, 'New York City', 2814, '10170', '212', '40.752862', '-73.976096', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32267, 'Ny', 2814, '10170', '212', '40.752862', '-73.976096', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32268, 'Ny City', 2814, '10170', '212', '40.752862', '-73.976096', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32269, 'Nyc', 2814, '10170', '212', '40.752862', '-73.976096', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32270, 'Lenox Hill', 2814, '10131', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32271, 'New York', 2814, '10131', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32272, 'Manhattan', 2814, '10154', '212', '40.757989', '-73.972668', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32273, 'New York', 2814, '10154', '212', '40.757989', '-73.972668', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32274, 'New York City', 2814, '10154', '212', '40.757989', '-73.972668', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32275, 'Ny', 2814, '10154', '212', '40.757989', '-73.972668', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32276, 'Ny City', 2814, '10154', '212', '40.757989', '-73.972668', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32277, 'Nyc', 2814, '10154', '212', '40.757989', '-73.972668', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32278, 'Manhattan', 2814, '10156', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32279, 'New York', 2814, '10156', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32280, 'New York City', 2814, '10156', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32281, 'Ny', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32282, 'Ny City', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32283, 'Nyc', 2814, '10087', '212', '40.7143', '-74.0067', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32284, 'Manhattan', 2814, '10123', '212', '40.7516', '-73.9899', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32285, 'New York', 2814, '10123', '212', '40.7516', '-73.9899', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32286, 'New York City', 2814, '10123', '212', '40.7516', '-73.9899', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32287, 'Ny', 2814, '10123', '212', '40.7516', '-73.9899', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32288, 'Ny City', 2814, '10123', '212', '40.7516', '-73.9899', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32289, 'Nyc', 2814, '10123', '212', '40.7516', '-73.9899', '2018-11-29 04:55:56', '2018-11-29 04:55:56'),\n(32290, 'Manhattan', 2814, '10128', '212', '40.78154', '-73.948758', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32291, 'New York', 2814, '10128', '212', '40.78154', '-73.948758', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32292, 'New York City', 2814, '10128', '212', '40.78154', '-73.948758', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32293, 'Ny', 2814, '10128', '212', '40.78154', '-73.948758', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32294, 'Ny City', 2814, '10128', '212', '40.78154', '-73.948758', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32295, 'Nyc', 2814, '10128', '212', '40.78154', '-73.948758', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32296, 'Business Reply', 2814, '10130', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32297, 'Gracie', 2814, '10130', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32298, 'New York', 2814, '10130', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32299, 'Lincolnton', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32300, 'Manhattan', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32301, 'New York', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32302, 'New York City', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32303, 'Ny', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32304, 'Ny City', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32305, 'Nyc', 2814, '10037', '212', '40.813732', '-73.938243', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32306, 'Manhattan', 2814, '10055', '212', '40.7579', '-73.9743', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32307, 'New York', 2814, '10055', '212', '40.7579', '-73.9743', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32308, 'New York City', 2814, '10055', '212', '40.7579', '-73.9743', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32309, 'Ny', 2814, '10055', '212', '40.7579', '-73.9743', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32310, 'Ny City', 2814, '10055', '212', '40.7579', '-73.9743', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32311, 'Nyc', 2814, '10055', '212', '40.7579', '-73.9743', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32312, 'Empire State', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32313, 'Gpo', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32314, 'Greeley Square', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32315, 'Macys Finance', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32316, 'Manhattan', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32317, 'New York', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32318, 'New York City', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32319, 'Ny', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32320, 'Ny City', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32321, 'Nyc', 2814, '10001', '212', '40.7508', '-73.996122', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32322, 'New York', 2814, '10032', '212', '40.83479', '-73.949315', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32323, 'New York City', 2814, '10032', '212', '40.83479', '-73.949315', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32324, 'Ny', 2814, '10032', '212', '40.83479', '-73.949315', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32325, 'Ny City', 2814, '10032', '212', '40.83479', '-73.949315', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32326, 'Nyc', 2814, '10032', '212', '40.83479', '-73.949315', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32327, 'Grand Central', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32328, 'Manhattan', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32329, 'New York', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32330, 'New York City', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32331, 'Ny', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32332, 'New York', 2814, '10138', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32333, 'Manhattan', 2814, '10165', '212', '40.752351', '-73.978925', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32334, 'New York', 2814, '10165', '212', '40.752351', '-73.978925', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32335, 'New York City', 2814, '10165', '212', '40.752351', '-73.978925', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32336, 'Ny', 2814, '10165', '212', '40.752351', '-73.978925', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32337, 'Ny City', 2814, '10165', '212', '40.752351', '-73.978925', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32338, 'Nyc', 2814, '10165', '212', '40.752351', '-73.978925', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32339, 'Jp Morgan Bank', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32340, 'Manhattan', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32341, 'New York', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32342, 'New York City', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32343, 'Ny', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:57', '2018-11-29 04:55:57'),\n(32344, 'Ny City', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32345, 'Nyc', 2814, '10081', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32346, 'Manhattan', 2814, '10104', '212', '40.7611', '-73.9777', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32347, 'New York', 2814, '10104', '212', '40.7611', '-73.9777', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32348, 'New York City', 2814, '10104', '212', '40.7611', '-73.9777', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32349, 'Ny', 2814, '10104', '212', '40.7611', '-73.9777', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32350, 'Manhattan', 2814, '10036', '212', '40.759477', '-73.989871', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32351, 'New York', 2814, '10036', '212', '40.759477', '-73.989871', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32352, 'New York City', 2814, '10036', '212', '40.759477', '-73.989871', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32353, 'Ny', 2814, '10036', '212', '40.759477', '-73.989871', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32354, 'Ny City', 2814, '10036', '212', '40.759477', '-73.989871', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32355, 'Nyc', 2814, '10036', '212', '40.759477', '-73.989871', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32356, 'Ny City', 2814, '10104', '212', '40.7611', '-73.9777', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32357, 'Nyc', 2814, '10104', '212', '40.7611', '-73.9777', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32358, 'Manhattan', 2814, '10106', '212', '40.7668', '-73.9822', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32359, 'New York', 2814, '10106', '212', '40.7668', '-73.9822', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32360, 'New York City', 2814, '10106', '212', '40.7668', '-73.9822', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32361, 'Ny', 2814, '10106', '212', '40.7668', '-73.9822', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32362, 'Ny City', 2814, '10106', '212', '40.7668', '-73.9822', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32363, 'Nyc', 2814, '10106', '212', '40.7668', '-73.9822', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32364, 'Federal Reserve', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32365, 'Manhattan', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32366, 'New York', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32367, 'New York City', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32368, 'Ny', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32369, 'Ny City', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32370, 'Nyc', 2814, '10045', '646', '40.7106', '-74.0156', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32371, 'New York', 2814, '10065', '917', '40.764253', '-73.962466', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32372, 'Manhattan', 2814, '10029', '212', '40.791708', '-73.943319', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32373, 'New York', 2814, '10029', '212', '40.791708', '-73.943319', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32374, 'New York City', 2814, '10029', '212', '40.791708', '-73.943319', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32375, 'Ny', 2814, '10029', '212', '40.791708', '-73.943319', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32376, 'Ny City', 2814, '10029', '212', '40.791708', '-73.943319', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32377, 'Nyc', 2814, '10029', '212', '40.791708', '-73.943319', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32378, 'Ny', 2814, '10169', '212', '40.754608', '-73.976204', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32379, 'Ny City', 2814, '10169', '212', '40.754608', '-73.976204', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32380, 'Nyc', 2814, '10169', '212', '40.754608', '-73.976204', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32381, 'Manhattan', 2814, '10268', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32382, 'New York', 2814, '10268', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32383, 'Business Reply', 2814, '10269', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32384, 'New York', 2814, '10269', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32385, 'New York', 2814, '10285', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32386, 'Shearson American Express', 2814, '10285', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32387, 'Bank Of New York', 2814, '10286', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32388, 'Manhattan', 2814, '10286', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32389, 'New York', 2814, '10286', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32390, 'Ny', 2814, '10286', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32391, 'Nyc', 2814, '10286', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32392, 'Manhattan', 2814, '10185', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32393, 'New York', 2814, '10185', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32394, 'New York City', 2814, '10185', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32395, 'Ny', 2814, '10185', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32396, 'Ny City', 2814, '10185', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32397, 'Nyc', 2814, '10185', '212', '40.7143', '-74.0067', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32398, 'Gpo Official Mail', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32399, 'Manhattan', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:58', '2018-11-29 04:55:58'),\n(32400, 'New York', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32401, 'New York City', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32402, 'Ny', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32403, 'Ny City', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32404, 'Nyc', 2814, '10199', '212', '40.7427', '-73.9934', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32405, 'Manhattan', 2814, '10116', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32406, 'New York', 2814, '10116', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32407, 'New York City', 2814, '10116', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32408, 'Ny', 2814, '10116', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32409, 'Ny City', 2814, '10116', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32410, 'Nyc', 2814, '10116', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32411, 'Business Reply', 2814, '10117', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32412, 'New York', 2814, '10117', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32413, 'Manhattan', 2814, '10119', '212', '40.750533', '-73.993087', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32414, 'New York', 2814, '10119', '212', '40.750533', '-73.993087', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32415, 'New York City', 2814, '10119', '212', '40.750533', '-73.993087', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32416, 'Ny', 2814, '10119', '212', '40.750533', '-73.993087', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32417, 'Ny City', 2814, '10119', '212', '40.750533', '-73.993087', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32418, 'Nyc', 2814, '10119', '212', '40.750533', '-73.993087', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32419, 'Manhattan', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32420, 'New York', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32421, 'New York City', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32422, 'Ny', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32423, 'Ny City', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32424, 'Nyc', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32425, 'Washington Bridge', 2814, '10033', '212', '40.858549', '-73.93955', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32426, 'Ny City', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32427, 'Nyc', 2814, '10017', '212', '40.752516', '-73.973072', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32428, 'Manhattan', 2814, '10019', '212', '40.767192', '-73.99181', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32429, 'New York', 2814, '10019', '212', '40.767192', '-73.99181', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32430, 'New York City', 2814, '10019', '212', '40.767192', '-73.99181', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32431, 'Ny', 2814, '10019', '212', '40.767192', '-73.99181', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32432, 'Ny City', 2814, '10019', '212', '40.767192', '-73.99181', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32433, 'Nyc', 2814, '10019', '212', '40.767192', '-73.99181', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32434, 'Manhattan', 2814, '10032', '212', '40.83479', '-73.949315', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32435, 'Business Reply', 2814, '10132', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32436, 'New York', 2814, '10132', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32437, 'Manhattan', 2814, '10151', '212', '40.7644', '-73.9754', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32438, 'New York', 2814, '10151', '212', '40.7644', '-73.9754', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32439, 'New York City', 2814, '10151', '212', '40.7644', '-73.9754', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32440, 'Ny', 2814, '10151', '212', '40.7644', '-73.9754', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32441, 'Ny City', 2814, '10151', '212', '40.7644', '-73.9754', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32442, 'Nyc', 2814, '10151', '212', '40.7644', '-73.9754', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32443, 'Manhattan', 2814, '10152', '212', '40.758613', '-73.972242', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32444, 'New York', 2814, '10152', '212', '40.758613', '-73.972242', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32445, 'Nyc', 2814, '10152', '212', '40.758613', '-73.972242', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32446, 'Manhattan', 2814, '10118', '212', '40.7486', '-73.9904', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32447, 'New York', 2814, '10118', '212', '40.7486', '-73.9904', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32448, 'New York City', 2814, '10118', '212', '40.7486', '-73.9904', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32449, 'Ny', 2814, '10118', '212', '40.7486', '-73.9904', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32450, 'Ny City', 2814, '10118', '212', '40.7486', '-73.9904', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32451, 'Nyc', 2814, '10118', '212', '40.7486', '-73.9904', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32452, 'Business Reply', 2814, '10102', '212', '40.7143', '-74.0067', '2018-11-29 04:55:59', '2018-11-29 04:55:59'),\n(32453, 'New York', 2814, '10102', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32454, 'New York City', 2814, '10102', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32455, 'Ny', 2814, '10102', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32456, 'Ny City', 2814, '10102', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32457, 'Nyc', 2814, '10102', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32458, 'Manhattan', 2814, '10034', '212', '40.870285', '-73.924245', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32459, 'New York', 2814, '10034', '212', '40.870285', '-73.924245', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32460, 'New York City', 2814, '10034', '212', '40.870285', '-73.924245', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32461, 'Ny', 2814, '10034', '212', '40.870285', '-73.924245', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32462, 'Ny City', 2814, '10034', '212', '40.870285', '-73.924245', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32463, 'Nyc', 2814, '10034', '212', '40.870285', '-73.924245', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32464, 'New York', 2814, '10069', '212', '40.775925', '-73.990202', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32465, 'Elmira', 2814, '14903', '607', '42.122035', '-76.880639', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32466, 'Elmira Heights', 2814, '14903', '607', '42.122035', '-76.880639', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32467, 'Elmira Hgts', 2814, '14903', '607', '42.122035', '-76.880639', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32468, 'Elmira Hts', 2814, '14903', '607', '42.122035', '-76.880639', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32469, 'Whitesville', 2814, '14897', '607', '42.04298', '-77.791497', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32470, 'Wellsburg', 2814, '14894', '607', '42.029097', '-76.761517', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32471, 'Bar Code Church Street', 2814, '10242', '212', '40.7417', '-73.9935', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32472, 'New York', 2814, '10242', '212', '40.7417', '-73.9935', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32473, 'New York', 2814, '10274', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32474, 'Manhattan', 2814, '10175', '212', '40.7564', '-73.9827', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32475, 'New York', 2814, '10175', '212', '40.7564', '-73.9827', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32476, 'New York City', 2814, '10175', '212', '40.7564', '-73.9827', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32477, 'Ny', 2814, '10175', '212', '40.7564', '-73.9827', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32478, 'Ny City', 2814, '10175', '212', '40.7564', '-73.9827', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32479, 'Nyc', 2814, '10175', '212', '40.7564', '-73.9827', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32480, 'Manhattan', 2814, '10177', '212', '40.755207', '-73.976082', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32481, 'New York', 2814, '10177', '212', '40.755207', '-73.976082', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32482, 'New York City', 2814, '10177', '212', '40.755207', '-73.976082', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32483, 'Ny', 2814, '10177', '212', '40.755207', '-73.976082', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32484, 'Ny City', 2814, '10177', '212', '40.755207', '-73.976082', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32485, 'Nyc', 2814, '10177', '212', '40.755207', '-73.976082', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32486, 'Business Reply', 2814, '10125', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32487, 'New York', 2814, '10125', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32488, 'Manhattan', 2814, '10107', '212', '40.7659', '-73.9814', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32489, 'New York', 2814, '10107', '212', '40.7659', '-73.9814', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32490, 'New York City', 2814, '10107', '212', '40.7659', '-73.9814', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32491, 'Ny', 2814, '10107', '212', '40.7659', '-73.9814', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32492, 'Ny City', 2814, '10107', '212', '40.7659', '-73.9814', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32493, 'Nyc', 2814, '10107', '212', '40.7659', '-73.9814', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32494, 'Manhattan', 2814, '10108', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32495, 'New York', 2814, '10108', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32496, 'New York City', 2814, '10108', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32497, 'Ny', 2814, '10108', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32498, 'Ny City', 2814, '10108', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32499, 'Nyc', 2814, '10108', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32500, 'Business Reply', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32501, 'Manhattan', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32502, 'New York', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32503, 'New York City', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32504, 'Ny', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:00', '2018-11-29 04:56:00'),\n(32505, 'Ny City', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32506, 'Nyc', 2814, '10109', '212', '40.7143', '-74.0067', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32507, 'Manhattan', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32508, 'New York', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32509, 'New York City', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32510, 'Ny', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32511, 'Ny City', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32512, 'Nyc', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32513, 'Planetarium', 2814, '10024', '212', '40.797364', '-73.97785', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32514, 'Manhattan', 2814, '10008', '212', '40.7144', '-74.0065', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32515, 'New York', 2814, '10008', '212', '40.7144', '-74.0065', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32516, 'New York City', 2814, '10008', '212', '40.7144', '-74.0065', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32517, 'Ny', 2814, '10008', '212', '40.7144', '-74.0065', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32518, 'Ny City', 2814, '10008', '212', '40.7144', '-74.0065', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32519, 'Nyc', 2814, '10008', '212', '40.7144', '-74.0065', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32520, 'Manhattan', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32521, 'New York', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32522, 'New York City', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32523, 'Ny', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32524, 'Columbia Twp', 2815, '45243', '513', '39.183314', '-84.345901', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32525, 'Indian Hill', 2815, '45243', '513', '39.183314', '-84.345901', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32526, 'Madeira', 2815, '45243', '513', '39.183314', '-84.345901', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32527, 'Cincinnati', 2815, '45268', '513', '39.1616', '-84.4569', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32528, 'Envir Pro Agency', 2815, '45268', '513', '39.1616', '-84.4569', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32529, 'Anna', 2815, '45302', '937', '40.396377', '-84.215741', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32530, 'Camden', 2815, '45311', '937', '39.626258', '-84.647127', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32531, 'Morning Sun', 2815, '45311', '937', '39.626258', '-84.647127', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32532, 'Beaverton', 2817, '97005', '503', '45.496454', '-122.799882', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32533, 'Progress', 2817, '97005', '503', '45.496454', '-122.799882', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32534, 'Dufur', 2817, '97021', '541', '45.39678', '-121.153706', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32535, 'Friend', 2817, '97021', '541', '45.39678', '-121.153706', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32536, 'Estacada', 2817, '97023', '503', '45.209005', '-122.213147', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32537, 'Maupin', 2817, '97037', '541', '45.042993', '-121.397418', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32538, 'Ryde', 2818, '17051', '717', '40.473684', '-77.75337', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32539, 'Bankstown', 2818, '17052', '814', '40.383434', '-77.977768', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32540, 'Barneytown', 2818, '17052', '814', '40.383434', '-77.977768', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32541, 'Birdville', 2818, '17052', '814', '40.383434', '-77.977768', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32542, 'Knightsville', 2818, '17052', '814', '40.383434', '-77.977768', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32543, 'Mapleton Dep', 2818, '17052', '814', '40.383434', '-77.977768', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32544, 'Mapleton Depot', 2818, '17052', '814', '40.383434', '-77.977768', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32545, 'Marysville', 2818, '17053', '717', '40.328118', '-77.024476', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32546, 'Andersontown', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32547, 'Bowmansdale', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32548, 'Brandtsville', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32549, 'Defense Depot', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32550, 'Lisburn', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32551, 'Locust Point', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32552, 'Mech', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32553, 'Mechancsbrg', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32554, 'Mechanicsburg', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32555, 'Mechbg', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32556, 'Mount Allen', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:01', '2018-11-29 04:56:01'),\n(32557, 'Navy Ships', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32558, 'Navy Sup Dpt', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32559, 'Shepherdstown', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32560, 'Upper Allen', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32561, 'Williams Grv', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32562, 'Winding Hill', 2818, '17055', '717', '40.175227', '-76.99349', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32563, 'Honey Grove', 2818, '17035', '717', '40.432412', '-77.59141', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32564, 'Mccullochs Ml', 2818, '17035', '717', '40.432412', '-77.59141', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32565, 'Reeds Gap', 2818, '17035', '717', '40.432412', '-77.59141', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32566, 'Ickesburg', 2818, '17037', '717', '40.453648', '-77.380151', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32567, 'E Waterford', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32568, 'East Waterford', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32569, 'Ewaterfrd', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32570, 'Ewtrford', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32571, 'Perulack', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32572, 'Scyoc', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32573, 'Spears Grove', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32574, 'Waterloo', 2818, '17021', '717', '40.353684', '-77.662028', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32575, 'Kennedy', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32576, 'Knapp', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32577, 'Daggett', 2818, '16936', '570', '41.955722', '-76.983784', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32578, 'Jackson Smt', 2818, '16936', '570', '41.955722', '-76.983784', '2018-11-29 04:56:02', '2018-11-29 04:56:02');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(32579, 'Jobs Corners', 2818, '16936', '570', '41.955722', '-76.983784', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32580, 'Millerton', 2818, '16936', '570', '41.955722', '-76.983784', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32581, 'Camp Hill', 2818, '17001', '717', '40.2398', '-76.9205', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32582, 'Allensville', 2818, '17002', '717', '40.522944', '-77.85696', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32583, 'James City', 2818, '16734', '814', '41.538303', '-78.886213', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32584, 'Penn St Univ', 2818, '16802', '814', '40.809272', '-77.863366', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32585, 'Penn State University', 2818, '16802', '814', '40.809272', '-77.863366', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32586, 'State College', 2818, '16802', '814', '40.809272', '-77.863366', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32587, 'University Park', 2818, '16802', '814', '40.809272', '-77.863366', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32588, 'University Pk', 2818, '16802', '814', '40.809272', '-77.863366', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32589, 'State College', 2818, '16803', '814', '40.805608', '-77.902466', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32590, 'State College', 2818, '16804', '814', '40.7936', '-77.8604', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32591, 'Allport', 2818, '16821', '814', '40.957558', '-78.197527', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32592, 'Drifting', 2818, '16834', '814', '41.046076', '-78.102705', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32593, 'Glen Richey', 2818, '16837', '814', '40.936354', '-78.477764', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32594, 'Shippen', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32595, 'Stokesdale', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32596, 'Stonyfork', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32597, 'Wellsboro', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32598, 'Ginter', 2818, '16651', '814', '40.846416', '-78.373328', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32599, 'Houtzdale', 2818, '16651', '814', '40.846416', '-78.373328', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32600, 'Sci Houtzdale', 2818, '16651', '814', '40.846416', '-78.373328', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32601, 'Patton', 2818, '16668', '814', '40.63487', '-78.620768', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32602, 'Petersburg', 2818, '16669', '814', '40.6391', '-77.960314', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32603, 'Madisonburg', 2818, '16852', '814', '40.930596', '-77.517958', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32604, 'Ansonia', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32605, 'Asaph', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32606, 'Charleston', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32607, 'Delmar', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32608, 'Draper', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:02', '2018-11-29 04:56:02'),\n(32609, 'Duncan', 2818, '16901', '570', '41.731323', '-77.3646', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32610, 'Girard', 2818, '16417', '814', '41.972954', '-80.316792', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32611, 'Erie', 2818, '16534', '814', '42.12144', '-80.08527', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32612, 'Tipton', 2818, '16684', '814', '40.6356', '-78.2962', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32613, 'Bradford', 2818, '16701', '814', '41.920426', '-78.725285', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32614, 'Kendall Creek', 2818, '16701', '814', '41.920426', '-78.725285', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32615, 'Oil City', 2818, '16301', '814', '41.426585', '-79.636946', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32616, 'Oil Creek', 2818, '16301', '814', '41.426585', '-79.636946', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32617, 'Cranberry', 2818, '16319', '814', '41.330291', '-79.674147', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32618, 'Blair Corp', 2818, '16366', '814', '41.8437', '-79.1454', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32619, 'Warren', 2818, '16366', '814', '41.8437', '-79.1454', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32620, 'Times Publishing Co', 2818, '16534', '814', '42.12144', '-80.08527', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32621, 'Altoona', 2818, '16601', '814', '40.534759', '-78.426537', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32622, 'Altoona', 2818, '16603', '814', '40.5188', '-78.3952', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32623, 'Antis', 2818, '16617', '814', '40.631364', '-78.360819', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32624, 'Bellwood', 2818, '16617', '814', '40.631364', '-78.360819', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32625, 'Blandburg', 2818, '16619', '814', '40.684113', '-78.414557', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32626, 'Darlington', 2818, '16115', '724', '40.786736', '-80.437494', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32627, 'Jackson Center', 2818, '16133', '724', '41.281702', '-80.108844', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32628, 'Jackson Ctr', 2818, '16133', '724', '41.281702', '-80.108844', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32629, 'Sharpsville', 2818, '16150', '724', '41.289396', '-80.418326', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32630, 'Sheakleyville', 2818, '16151', '724', '41.44404', '-80.207328', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32631, 'Kittanning', 2818, '16201', '724', '40.816818', '-79.49864', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32632, 'Albion', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32633, 'Cherry Hill', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32634, 'Conneaut Twp', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32635, 'Elk Creek Twp', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32636, 'Lundys Lane', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32637, 'Pageville', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32638, 'Pont', 2818, '16401', '814', '41.88622', '-80.372518', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32639, 'Cambridg Spgs', 2818, '16403', '814', '41.785317', '-80.057395', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32640, 'Cambridge Springs', 2818, '16403', '814', '41.785317', '-80.057395', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32641, 'Elton', 2818, '15934', '814', '40.275775', '-78.798993', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32642, 'Saint Michael', 2818, '15951', '814', '40.341034', '-78.771746', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32643, 'Butler', 2818, '16001', '724', '40.917378', '-79.928832', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32644, 'Meridian', 2818, '16001', '724', '40.917378', '-79.928832', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32645, 'Butler', 2818, '16002', '724', '40.815408', '-79.85602', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32646, 'Boyers', 2818, '16016', '724', '41.1086', '-79.8995', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32647, 'Social Security Admin', 2818, '16016', '724', '41.1086', '-79.8995', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32648, 'Boyers', 2818, '16017', '724', '41.1086', '-79.8995', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32649, 'Office Of Personnel Mgmt', 2818, '16017', '724', '41.1086', '-79.8995', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32650, 'Forestville', 2818, '16035', '724', '41.104342', '-80.000397', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32651, 'Petrolia', 2818, '16050', '724', '41.047239', '-79.768405', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32652, 'Prospect', 2818, '16052', '724', '40.904756', '-80.078176', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32653, 'Limestone', 2818, '16234', '814', '41.131148', '-79.336944', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32654, 'Rural Valley', 2818, '16249', '724', '40.7752', '-79.292072', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32655, 'Frostburg', 2818, '15767', '814', '40.956472', '-78.984704', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32656, 'Juneau', 2818, '15767', '814', '40.956472', '-78.984704', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32657, 'Punxsutawney', 2818, '15767', '814', '40.956472', '-78.984704', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32658, 'Worthville', 2818, '15784', '814', '41.039307', '-79.118234', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32659, 'Driftwood', 2818, '15832', '814', '41.34649', '-78.19755', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32660, 'Penfield', 2818, '15849', '814', '41.157968', '-78.565214', '2018-11-29 04:56:03', '2018-11-29 04:56:03'),\n(32661, 'Reynoldsville', 2818, '15851', '814', '41.090561', '-78.904116', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32662, 'Troutville', 2818, '15866', '814', '41.025636', '-78.786936', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32663, 'Manor', 2818, '15665', '724', '40.336911', '-79.661906', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32664, 'Mount Pleasant', 2818, '15666', '724', '40.157952', '-79.487324', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32665, 'Mt Pleasant', 2818, '15666', '724', '40.157952', '-79.487324', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32666, 'Yukon', 2818, '15698', '724', '40.216077', '-79.680821', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32667, 'Greenville', 2818, '16125', '724', '41.403217', '-80.363363', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32668, 'Shenango', 2818, '16125', '724', '41.403217', '-80.363363', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32669, 'Adrian', 2818, '16210', '724', '40.900598', '-79.518148', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32670, 'Beyer', 2818, '16211', '724', '40.7867', '-79.2017', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32671, 'Lamartine', 2818, '16375', '814', '41.2226', '-79.6345', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32672, 'Loretto', 2818, '15940', '814', '40.517906', '-78.62847', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32673, 'Nanty Glo', 2818, '15943', '814', '40.476111', '-78.822061', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32674, 'Twin Rocks', 2818, '15960', '814', '40.509374', '-78.90793', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32675, 'Karns City', 2818, '16041', '724', '41.006024', '-79.722954', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32676, 'Climax', 2818, '16242', '814', '41.022428', '-79.33298', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32677, 'New Bethlehem', 2818, '16242', '814', '41.022428', '-79.33298', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32678, 'Nu Mine', 2818, '16244', '724', '40.801582', '-79.27206', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32679, 'Mc Intyre', 2818, '15756', '724', '40.567614', '-79.294506', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32680, 'Mcintyre', 2818, '15756', '724', '40.567614', '-79.294506', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32681, 'Spangler', 2818, '15775', '814', '40.62326', '-78.777489', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32682, 'Rockton', 2818, '15856', '814', '41.083321', '-78.625441', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32683, 'Johnstown', 2818, '15907', '814', '40.3269', '-78.9223', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32684, 'Hyde Park', 2818, '15641', '724', '40.631431', '-79.590129', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32685, 'North Apollo', 2818, '15673', '724', '40.594257', '-79.556606', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32686, 'Norvelt', 2818, '15674', '724', '40.207626', '-79.495484', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32687, 'Penn', 2818, '15675', '724', '40.331894', '-79.636476', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32688, 'Pleasant Unity', 2818, '15676', '724', '40.243175', '-79.463422', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32689, 'Pleasant Unty', 2818, '15676', '724', '40.243175', '-79.463422', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32690, 'Park', 2818, '15690', '724', '40.627158', '-79.551256', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32691, 'Vandergrift', 2818, '15690', '724', '40.627158', '-79.551256', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32692, 'Westmoreland City', 2818, '15692', '724', '40.330451', '-79.679952', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32693, 'Westmrlnd Cty', 2818, '15692', '724', '40.330451', '-79.679952', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32694, 'Ernest', 2818, '15739', '724', '40.715892', '-79.023644', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32695, 'Glen Campbell', 2818, '15742', '814', '40.828974', '-78.869728', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32696, 'Bolivar', 2818, '15923', '724', '40.353096', '-79.180962', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32697, 'Cairnbrook', 2818, '15924', '814', '40.110174', '-78.783064', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32698, 'Fort Hill', 2818, '15540', '814', '39.791494', '-79.240771', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32699, 'Schellsburg', 2818, '15559', '814', '40.059006', '-78.67439', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32700, 'Allegheny Power', 2818, '15606', '724', '40.3017', '-79.5395', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32701, 'Greensburg', 2818, '15606', '724', '40.3017', '-79.5395', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32702, 'Crabtree', 2818, '15624', '724', '40.360924', '-79.468263', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32703, 'Hunker', 2818, '15639', '724', '40.207835', '-79.587944', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32704, 'Chestnut Rdg', 2818, '15422', '724', '39.97949', '-79.81875', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32705, 'Chestnut Ridge', 2818, '15422', '724', '39.97949', '-79.81875', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32706, 'Coal Center', 2818, '15423', '724', '40.078986', '-79.927862', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32707, 'Connellsville', 2818, '15425', '724', '40.0306', '-79.566651', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32708, 'Greene Junction', 2818, '15425', '724', '40.0306', '-79.566651', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32709, 'S Connellsvl', 2818, '15425', '724', '40.0306', '-79.566651', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32710, 'S Connelsvl', 2818, '15425', '724', '40.0306', '-79.566651', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32711, 'Gibbon Glade', 2818, '15440', '724', '39.736099', '-79.614376', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32712, 'Grindstone', 2818, '15442', '724', '40.013244', '-79.833336', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32713, 'Leisenring', 2818, '15455', '724', '39.998103', '-79.641538', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32714, 'Lemont Fce', 2818, '15456', '724', '39.933746', '-79.650444', '2018-11-29 04:56:04', '2018-11-29 04:56:04'),\n(32715, 'Lemont Frnc', 2818, '15456', '724', '39.933746', '-79.650444', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32716, 'Lemont Frnce', 2818, '15456', '724', '39.933746', '-79.650444', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32717, 'Lemont Furnace', 2818, '15456', '724', '39.933746', '-79.650444', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32718, 'Lamberton', 2818, '15458', '724', '39.891198', '-79.863084', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32719, 'Mc Clellandtown', 2818, '15458', '724', '39.891198', '-79.863084', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32720, 'Mcclellandtown', 2818, '15458', '724', '39.891198', '-79.863084', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32721, 'Mcclellandtwn', 2818, '15458', '724', '39.891198', '-79.863084', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32722, 'Liverpool', 2818, '17045', '717', '40.582556', '-77.008231', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32723, 'Mount Patrick', 2818, '17045', '717', '40.582556', '-77.008231', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32724, 'Oriental', 2818, '17045', '717', '40.582556', '-77.008231', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32725, 'Lebanon', 2818, '17046', '717', '40.396578', '-76.432158', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32726, 'Hbg', 2818, '17101', '717', '40.260808', '-76.887096', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32727, 'Harrisburg', 2818, '17106', '717', '40.2736', '-76.8847', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32728, 'Hbg', 2818, '17106', '717', '40.2736', '-76.8847', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32729, 'Andover', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32730, 'Cito', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32731, 'Knobsville', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32732, 'Mc Connellsbg', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32733, 'Mc Connellsburg', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32734, 'Mcconnellsburg', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32735, 'Webster Mills', 2818, '17233', '717', '39.950728', '-77.989534', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32736, 'Frystown', 2818, '17067', '717', '40.385843', '-76.316928', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32737, 'Greble', 2818, '17067', '717', '40.385843', '-76.316928', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32738, 'Millardsville', 2818, '17067', '717', '40.385843', '-76.316928', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32739, 'Myerstown', 2818, '17067', '717', '40.385843', '-76.316928', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32740, 'Myerstwn', 2818, '17067', '717', '40.385843', '-76.316928', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32741, 'Reistville', 2818, '17067', '717', '40.385843', '-76.316928', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32742, 'Bailey', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32743, 'East Newport', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32744, 'Everhartville', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32745, 'Howe', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32746, 'Mannsville', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32747, 'Markelsville', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32748, 'Montgomery Fy', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32749, 'Newport', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32750, 'Newprt', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32751, 'Nwprt', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32752, 'Harrisburg', 2818, '17124', '717', '40.2688', '-76.8842', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32753, 'Hbg', 2818, '17124', '717', '40.2688', '-76.8842', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32754, 'State Liquor Control', 2818, '17124', '717', '40.2688', '-76.8842', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32755, 'Doyles Mills', 2818, '17058', '717', '40.566376', '-77.416031', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32756, 'Mccoysville', 2818, '17058', '717', '40.566376', '-77.416031', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32757, 'Mifflin', 2818, '17058', '717', '40.566376', '-77.416031', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32758, 'Nook', 2818, '17058', '717', '40.566376', '-77.416031', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32759, 'Saville', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32760, 'Walnut Grove', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32761, 'Wila', 2818, '17074', '717', '40.497497', '-77.145606', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32762, 'Aberdeen', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32763, 'Bellaire', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32764, 'Deodate', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32765, 'Elizabethtown', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32766, 'Elizabthtwn', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:05', '2018-11-29 04:56:05'),\n(32767, 'Etown', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32768, 'West Donegal', 2818, '17022', '717', '40.168048', '-76.607356', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32769, 'Elliottsburg', 2818, '17024', '717', '40.409744', '-77.307666', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32770, 'Erly', 2818, '17024', '717', '40.409744', '-77.307666', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32771, 'Green Park', 2818, '17024', '717', '40.409744', '-77.307666', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32772, 'Greenpark', 2818, '17024', '717', '40.409744', '-77.307666', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32773, 'Little German', 2818, '17024', '717', '40.409744', '-77.307666', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32774, 'Mansville', 2818, '17024', '717', '40.409744', '-77.307666', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32775, 'Bungy', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32776, 'Canoe Camp', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32777, 'Cherry Flats', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32778, 'E Charleston', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32779, 'Kellytown', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32780, 'Lambs Creek', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32781, 'Mansfield', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32782, 'Rutland', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32783, 'Whitneyville', 2818, '16933', '570', '41.82955', '-77.057707', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32784, 'Nelson', 2818, '16940', '570', '41.970082', '-77.23711', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32785, 'Troy', 2818, '16947', '570', '41.767924', '-76.75094', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32786, 'W Burlington', 2818, '16947', '570', '41.767924', '-76.75094', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32787, 'West Burlington Township', 2818, '16947', '570', '41.767924', '-76.75094', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32788, 'Beech Creek', 2818, '16822', '570', '41.155542', '-77.705357', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32789, 'Hawk Run', 2818, '16840', '814', '40.933384', '-78.190993', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32790, 'Colesburg', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32791, 'Coudersport', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32792, 'Eulalia', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32793, 'Homer', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32794, 'Steelstown', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32795, 'Syner', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32796, 'West Annville', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32797, 'Bermudian', 2818, '17019', '717', '40.091179', '-77.025104', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32798, 'Clear Spring', 2818, '17019', '717', '40.091179', '-77.025104', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32799, 'Dillsburg', 2818, '17019', '717', '40.091179', '-77.025104', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32800, 'Siddonsburg', 2818, '17019', '717', '40.091179', '-77.025104', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32801, 'Cove', 2818, '17020', '717', '40.408486', '-77.032046', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32802, 'Dellville', 2818, '17020', '717', '40.408486', '-77.032046', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32803, 'Duncannon', 2818, '17020', '717', '40.408486', '-77.032046', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32804, 'Perdix', 2818, '17020', '717', '40.408486', '-77.032046', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32805, 'Watts', 2818, '17020', '717', '40.408486', '-77.032046', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32806, 'Wheatfield', 2818, '17020', '717', '40.408486', '-77.032046', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32807, 'Blackwell', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32808, 'Hoytville', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32809, 'Lorenton', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32810, 'Morris', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32811, 'Nauvoo', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32812, 'Oregon Hill', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32813, 'Plank', 2818, '16938', '570', '41.52609', '-77.331634', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32814, 'Annville', 2818, '17003', '717', '40.362874', '-76.575347', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32815, 'East Kane', 2818, '16735', '814', '41.679886', '-78.687587', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32816, 'Kane', 2818, '16735', '814', '41.679886', '-78.687587', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32817, 'Aaronsburg', 2818, '16820', '814', '40.910552', '-77.406999', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32818, 'Fleming', 2818, '16835', '814', '40.9072', '-77.8793', '2018-11-29 04:56:06', '2018-11-29 04:56:06'),\n(32819, 'Elkland', 2818, '16920', '814', '41.980819', '-77.297281', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32820, 'Elk', 2818, '16921', '814', '41.676356', '-77.522066', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32821, 'Gaines', 2818, '16921', '814', '41.676356', '-77.522066', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32822, 'Manhattan', 2818, '16921', '814', '41.676356', '-77.522066', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32823, 'Marshlands', 2818, '16921', '814', '41.676356', '-77.522066', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32824, 'Rexford', 2818, '16921', '814', '41.676356', '-77.522066', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32825, 'Watrous', 2818, '16921', '814', '41.676356', '-77.522066', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32826, 'Dysart', 2818, '16636', '814', '40.603613', '-78.523294', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32827, 'Huntingdon', 2818, '16652', '814', '40.562763', '-77.911918', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32828, 'Queen', 2818, '16670', '814', '40.270662', '-78.503048', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32829, 'Milesburg', 2818, '16853', '814', '40.941503', '-77.793243', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32830, 'Millheim', 2818, '16854', '814', '40.89998', '-77.467884', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32831, 'Port Matilda', 2818, '16870', '814', '40.812455', '-78.055758', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32832, 'Garland', 2818, '16416', '814', '41.829313', '-79.458531', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32833, 'Spartansburg', 2818, '16434', '814', '41.786157', '-79.697483', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32834, 'Springboro', 2818, '16435', '814', '41.81211', '-80.380112', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32835, 'Erie', 2818, '16501', '814', '42.123703', '-80.087238', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32836, 'Todd', 2818, '16685', '814', '40.267436', '-78.111913', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32837, 'Sagamore', 2818, '16250', '724', '40.774124', '-79.237366', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32838, 'Ludlow', 2818, '16333', '814', '41.79996', '-78.865556', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32839, 'Blooming Valley', 2818, '16335', '814', '41.644006', '-80.169837', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32840, 'Kerrtown', 2818, '16335', '814', '41.644006', '-80.169837', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32841, 'Meadville', 2818, '16335', '814', '41.644006', '-80.169837', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32842, 'Sugar Grove', 2818, '16350', '814', '41.927108', '-79.306366', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32843, 'Sugargrove', 2818, '16350', '814', '41.927108', '-79.306366', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32844, 'Starr', 2818, '16353', '814', '41.495434', '-79.239094', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32845, 'Tionesta', 2818, '16353', '814', '41.495434', '-79.239094', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32846, 'New Process Co', 2818, '16367', '814', '41.8437', '-79.1454', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32847, 'Warren', 2818, '16367', '814', '41.8437', '-79.1454', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32848, 'Crossing Pointe', 2818, '16368', '814', '41.8395', '-79.2686', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32849, 'Warren', 2818, '16368', '814', '41.8395', '-79.2686', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32850, 'Crossing Pointe', 2818, '16369', '814', '41.8395', '-79.2686', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32851, 'Warren', 2818, '16369', '814', '41.8395', '-79.2686', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32852, 'Altoona', 2818, '16602', '814', '40.511291', '-78.366292', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32853, 'Brisbin', 2818, '16620', '814', '40.840702', '-78.353691', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32854, 'Edinburg', 2818, '16116', '724', '41.037677', '-80.451452', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32855, 'Ellport', 2818, '16117', '724', '40.872688', '-80.25031', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32856, 'Ellwood City', 2818, '16117', '724', '40.872688', '-80.25031', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32857, 'Hillsville', 2818, '16132', '724', '41.006645', '-80.490797', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32858, 'Bear Lake', 2818, '16402', '814', '41.952589', '-79.455263', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32859, 'Hollsopple', 2818, '15935', '814', '40.199206', '-78.96456', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32860, 'Evans City', 2818, '16033', '724', '40.793298', '-80.045994', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32861, 'Fenelton', 2818, '16034', '724', '40.864049', '-79.737236', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32862, 'Portersville', 2818, '16051', '724', '40.942671', '-80.148384', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32863, 'Lucinda', 2818, '16235', '814', '41.312062', '-79.345998', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32864, 'Josephine', 2818, '15750', '724', '40.4775', '-79.1814', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32865, 'Dagus Mines', 2818, '15831', '814', '41.3539', '-78.6059', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32866, 'Emporium', 2818, '15834', '814', '41.52138', '-78.286264', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32867, 'Sykesville', 2818, '15865', '814', '41.050613', '-78.821293', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32868, 'Weedville', 2818, '15868', '814', '41.274102', '-78.457085', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32869, 'Johnstown', 2818, '15901', '814', '40.328106', '-78.910516', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32870, 'Hbg', 2818, '17177', '717', '40.2736', '-76.8847', '2018-11-29 04:56:07', '2018-11-29 04:56:07'),\n(32871, 'Blairs Mills', 2818, '17213', '814', '40.266254', '-77.780354', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32872, 'Lack', 2818, '17213', '814', '40.266254', '-77.780354', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32873, 'Nossville', 2818, '17213', '814', '40.266254', '-77.780354', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32874, 'Richvale', 2818, '17213', '814', '40.266254', '-77.780354', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32875, 'Shade Valley', 2818, '17213', '814', '40.266254', '-77.780354', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32876, 'Tell', 2818, '17213', '814', '40.266254', '-77.780354', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32877, 'Harrisburg', 2818, '17111', '717', '40.268518', '-76.789084', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32878, 'Paxtang', 2818, '17111', '717', '40.268518', '-76.789084', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32879, 'Swatara', 2818, '17111', '717', '40.268518', '-76.789084', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32880, 'Hustontown', 2818, '17229', '717', '40.070938', '-78.023722', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32881, 'Hustontwn', 2818, '17229', '717', '40.070938', '-78.023722', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32882, 'Oakland Mills', 2818, '17076', '717', '40.609469', '-77.316276', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32883, 'Bratton', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32884, 'Colonial Hill', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32885, 'Hawstone', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32886, 'Horningford', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32887, 'Juniata Terr', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32888, 'Klondyke', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32889, 'Lewistown', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32890, 'Lewistown Jun', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32891, 'Lewistwn', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32892, 'Longfellow', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32893, 'Maitland', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32894, 'Paintersville', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32895, 'Strodes Mills', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32896, 'Vira', 2818, '17044', '717', '40.584187', '-77.585102', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32897, 'Campbelltown', 2818, '17010', '717', '40.279386', '-76.580126', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32898, 'Camp Hill', 2818, '17011', '717', '40.238132', '-76.92478', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32899, 'Camp Hill Brm', 2818, '17011', '717', '40.238132', '-76.92478', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32900, 'Shiremanstown', 2818, '17011', '717', '40.238132', '-76.92478', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32901, 'Grantham', 2818, '17027', '717', '40.152991', '-77.002044', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32902, 'Messiah Coll', 2818, '17027', '717', '40.152991', '-77.002044', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32903, 'Messiah College', 2818, '17027', '717', '40.152991', '-77.002044', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32904, 'Anderson', 2818, '17029', '717', '40.552287', '-77.62445', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32905, 'Cowley', 2818, '16926', '570', '41.659832', '-76.710588', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32906, 'Granville Ctr', 2818, '16926', '570', '41.659832', '-76.710588', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32907, 'Granville Smt', 2818, '16926', '570', '41.659832', '-76.710588', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32908, 'Granville Summit', 2818, '16926', '570', '41.659832', '-76.710588', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32909, 'Windfall', 2818, '16926', '570', '41.659832', '-76.710588', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32910, 'Austinburg', 2818, '16928', '814', '41.972288', '-77.438342', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32911, 'Deerfield', 2818, '16928', '814', '41.972288', '-77.438342', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32912, 'Knoxville', 2818, '16928', '814', '41.972288', '-77.438342', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32913, 'Cathead', 2818, '16943', '814', '41.840866', '-77.590616', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32914, 'Hector', 2818, '16943', '814', '41.840866', '-77.590616', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32915, 'Sabinsville', 2818, '16943', '814', '41.840866', '-77.590616', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32916, 'Sunderlinvle', 2818, '16943', '814', '41.840866', '-77.590616', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32917, 'Granville', 2818, '17029', '717', '40.552287', '-77.62445', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32918, 'Port Allegany', 2818, '16743', '814', '41.788906', '-78.258842', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32919, 'Pt Allegany', 2818, '16743', '814', '41.788906', '-78.258842', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32920, 'Rixford', 2818, '16745', '814', '41.934186', '-78.48485', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32921, 'Karthaus', 2818, '16845', '814', '41.151512', '-77.998607', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32922, 'Arnot', 2818, '16911', '570', '41.666405', '-77.1603', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32923, 'Bloss', 2818, '16911', '570', '41.666405', '-77.1603', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32924, 'Blakes', 2818, '16912', '570', '41.638405', '-77.114612', '2018-11-29 04:56:08', '2018-11-29 04:56:08'),\n(32925, 'Blossburg', 2818, '16912', '570', '41.638405', '-77.114612', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32926, 'Glen Hope', 2818, '16645', '814', '40.802094', '-78.500932', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32927, 'Martinsburg', 2818, '16662', '814', '40.270558', '-78.31054', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32928, 'Munson', 2818, '16860', '814', '40.950849', '-78.162045', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32929, 'Waterford', 2818, '16441', '814', '41.95635', '-79.996178', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32930, 'Erie', 2818, '16510', '814', '42.107235', '-79.95382', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32931, 'Wesleyville', 2818, '16510', '814', '42.107235', '-79.95382', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32932, 'Westover', 2818, '16692', '814', '40.759288', '-78.713528', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32933, 'Woodbury', 2818, '16695', '814', '40.203792', '-78.357186', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32934, 'Cyclone', 2818, '16726', '814', '41.820102', '-78.579127', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32935, 'Ormsby', 2818, '16726', '814', '41.820102', '-78.579127', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32936, 'Duke Center', 2818, '16729', '814', '41.962155', '-78.498949', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32937, 'Templeton', 2818, '16259', '724', '40.949306', '-79.456774', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32938, 'Vowinckel', 2818, '16260', '814', '41.373683', '-79.206816', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32939, 'Widnoon', 2818, '16261', '724', '40.9613', '-79.4677', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32940, 'Carlton', 2818, '16311', '814', '41.457677', '-80.041192', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32941, 'Guys Mills', 2818, '16327', '814', '41.635648', '-79.957195', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32942, 'Reno', 2818, '16343', '814', '41.419434', '-79.747553', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32943, 'Erie', 2818, '16544', '814', '42.1206', '-80.0829', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32944, 'Saint Vincent Health', 2818, '16544', '814', '42.1206', '-80.0829', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32945, 'Lower Mifflin', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32946, 'Mccrea', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32947, 'Newville', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32948, 'North Newton', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32949, 'Upper Frankfd', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32950, 'Upper Mifflin', 2818, '17241', '717', '40.174022', '-77.407278', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32951, 'Blacklog', 2818, '17243', '814', '40.244275', '-77.893344', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32952, 'Maddensville', 2818, '17243', '814', '40.244275', '-77.893344', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32953, 'Meadow Gap', 2818, '17243', '814', '40.244275', '-77.893344', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32954, 'Orbisonia', 2818, '17243', '814', '40.244275', '-77.893344', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32955, 'South Newton', 2818, '17266', '717', '40.085298', '-77.412532', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32956, 'Walnut Bottom', 2818, '17266', '717', '40.085298', '-77.412532', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32957, 'Harrisburg', 2818, '17107', '717', '40.2736', '-76.8847', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32958, 'Hbg', 2818, '17107', '717', '40.2736', '-76.8847', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32959, 'Usps Official', 2818, '17107', '717', '40.2736', '-76.8847', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32960, 'Mount Gretna', 2818, '17064', '717', '40.247496', '-76.470138', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32961, 'Mt Gretna', 2818, '17064', '717', '40.247496', '-76.470138', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32962, 'Mt Gretna Hts', 2818, '17064', '717', '40.247496', '-76.470138', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32963, 'Aughwick', 2818, '17066', '814', '40.36102', '-77.877623', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32964, 'Lucy Furnace', 2818, '17066', '814', '40.36102', '-77.877623', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32965, 'Fayetteville', 2818, '17222', '717', '39.887718', '-77.488488', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32966, 'Rexmont', 2818, '17085', '717', '40.2773', '-76.3825', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32967, 'Evendale', 2818, '17086', '717', '40.71161', '-77.153793', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32968, 'Richfield', 2818, '17086', '717', '40.71161', '-77.153793', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32969, 'West Perry', 2818, '17086', '717', '40.71161', '-77.153793', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32970, 'Marion', 2818, '17235', '717', '39.858808', '-77.699177', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32971, 'Harrisburg', 2818, '17121', '717', '40.2688', '-76.8842', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32972, 'Hbg', 2818, '17121', '717', '40.2688', '-76.8842', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32973, 'State Employment Security', 2818, '17121', '717', '40.2688', '-76.8842', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32974, 'Mattawana', 2818, '17054', '717', '40.4962', '-77.7294', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32975, 'Bordnersville', 2818, '17038', '717', '40.45986', '-76.552028', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32976, 'Green Point', 2818, '17038', '717', '40.45986', '-76.552028', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32977, 'Jonestown', 2818, '17038', '717', '40.45986', '-76.552028', '2018-11-29 04:56:09', '2018-11-29 04:56:09'),\n(32978, 'Jonestwn', 2818, '17038', '717', '40.45986', '-76.552028', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32979, 'Mcgillstown', 2818, '17038', '717', '40.45986', '-76.552028', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32980, 'Alexander Spr', 2818, '17004', '717', '40.584763', '-77.733706', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32981, 'Alexander Springs', 2818, '17004', '717', '40.584763', '-77.733706', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32982, 'Belleville', 2818, '17004', '717', '40.584763', '-77.733706', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32983, 'Menno', 2818, '17004', '717', '40.584763', '-77.733706', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32984, 'Union Mills', 2818, '17004', '717', '40.584763', '-77.733706', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32985, 'Dauphin', 2818, '17018', '717', '40.406906', '-76.883958', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32986, 'Ellendale', 2818, '17018', '717', '40.406906', '-76.883958', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32987, 'Middle Paxton', 2818, '17018', '717', '40.406906', '-76.883958', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32988, 'Singersville', 2818, '17018', '717', '40.406906', '-76.883958', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32989, 'Water Gap', 2818, '17018', '717', '40.406906', '-76.883958', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32990, 'Crooked Creek', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32991, 'Keeneyville', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32992, 'Mdby Center', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32993, 'Middlebry Ctr', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32994, 'Middlebury', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32995, 'Middlebury Center', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32996, 'Niles Valley', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32997, 'Shortsville', 2818, '16935', '570', '41.897763', '-77.31355', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32998, 'Mills', 2818, '16937', '814', '41.96619', '-77.716752', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(32999, 'State College', 2818, '16801', '814', '40.786815', '-77.844376', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33000, 'Frenchville', 2818, '16836', '814', '41.14233', '-78.252011', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33001, 'Dudley', 2818, '16634', '814', '40.217534', '-78.169876', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33002, 'Duncansville', 2818, '16635', '814', '40.42402', '-78.479899', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33003, 'E Freedom', 2818, '16637', '814', '40.316212', '-78.451549', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33004, 'East Freedom', 2818, '16637', '814', '40.316212', '-78.451549', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33005, 'Hopewell', 2818, '16650', '814', '40.108742', '-78.284862', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33006, 'Osterburg', 2818, '16667', '814', '40.176646', '-78.536037', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33007, 'Saint Clairsv', 2818, '16667', '814', '40.176646', '-78.536037', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33008, 'Saint Clairsville', 2818, '16667', '814', '40.176646', '-78.536037', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33009, 'St Clairsville', 2818, '16667', '814', '40.176646', '-78.536037', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33010, 'St Clrsville', 2818, '16667', '814', '40.176646', '-78.536037', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33011, 'Lemont', 2818, '16851', '814', '40.811324', '-77.814834', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33012, 'Pine Grove Mills', 2818, '16868', '814', '40.7339', '-77.8876', '2018-11-29 04:56:10', '2018-11-29 04:56:10');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(33013, 'Pine Grv Mls', 2818, '16868', '814', '40.7339', '-77.8876', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33014, 'Pottersdale', 2818, '16871', '814', '41.197863', '-78.02641', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33015, 'Saegertown', 2818, '16433', '814', '41.741434', '-80.133097', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33016, 'Spring Creek', 2818, '16436', '814', '41.847987', '-79.558327', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33017, 'Erie', 2818, '16502', '814', '42.110436', '-80.100438', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33018, 'Mount Union', 2818, '17066', '814', '40.36102', '-77.877623', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33019, 'Mt Union', 2818, '17066', '814', '40.36102', '-77.877623', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33020, 'Silver Ford', 2818, '17066', '814', '40.36102', '-77.877623', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33021, 'Kleinfeltersv', 2818, '17039', '717', '40.3006', '-76.2496', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33022, 'Kleinfeltersville', 2818, '17039', '717', '40.3006', '-76.2496', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33023, 'Lawn', 2818, '17041', '717', '40.224026', '-76.530507', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33024, 'Boiling Spgs', 2818, '17007', '717', '40.1218', '-77.11567', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33025, 'Boiling Sprgs', 2818, '17007', '717', '40.1218', '-77.11567', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33026, 'Boiling Springs', 2818, '17007', '717', '40.1218', '-77.11567', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33027, 'South Middleton', 2818, '17007', '717', '40.1218', '-77.11567', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33028, 'Burnham', 2818, '17009', '717', '40.635891', '-77.565717', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33029, 'E Pennsboro', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:10', '2018-11-29 04:56:10'),\n(33030, 'East Pennsboro', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33031, 'Enola', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33032, 'South Enola', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33033, 'W Fairview', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33034, 'West Enola', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33035, 'West Fairview', 2818, '17025', '717', '40.29195', '-77.000084', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33036, 'Bentley Creek', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33037, 'Berrytown', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33038, 'Fassett', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33039, 'Gillett', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33040, 'Mosherville', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33041, 'South Creek', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33042, 'Wells', 2818, '16925', '570', '41.949376', '-76.780688', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33043, 'Genesee', 2818, '16941', '814', '41.970876', '-77.765594', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33044, 'North Bingham', 2818, '16941', '814', '41.970876', '-77.765594', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33045, 'Bingham', 2818, '16948', '814', '41.83983', '-77.751347', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33046, 'Brookland', 2818, '16948', '814', '41.83983', '-77.751347', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33047, 'Newfield', 2818, '16948', '814', '41.83983', '-77.751347', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33048, 'Ulysses', 2818, '16948', '814', '41.83983', '-77.751347', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33049, 'Brookfield', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33050, 'Cowanesque', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33051, 'Elmer', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33052, 'Harrison Twp', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33053, 'Little Marsh', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33054, 'North Fork', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33055, 'Potter Brook', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33056, 'Westfield', 2818, '16950', '814', '41.918275', '-77.555265', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33057, 'Millport', 2818, '16748', '814', '41.90913', '-78.163339', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33058, 'Shinglehouse', 2818, '16748', '814', '41.90913', '-78.163339', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33059, 'Shinglehse', 2818, '16748', '814', '41.90913', '-78.163339', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33060, 'State College', 2818, '16805', '814', '40.7936', '-77.8604', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33061, 'Clearfield', 2818, '16830', '814', '41.089616', '-78.441064', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33062, 'Coburn', 2818, '16832', '814', '40.844382', '-77.479122', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33063, 'Grassflat', 2818, '16839', '814', '41.020561', '-78.101742', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33064, 'Cassville', 2818, '16623', '814', '40.272606', '-78.040092', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33065, 'Hastings', 2818, '16646', '814', '40.680824', '-78.710906', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33066, 'Imler', 2818, '16655', '814', '40.2566', '-78.555426', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33067, 'Bakers Summit', 2818, '16673', '814', '40.311938', '-78.398807', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33068, 'Roaring Spg', 2818, '16673', '814', '40.311938', '-78.398807', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33069, 'Roaring Spring', 2818, '16673', '814', '40.311938', '-78.398807', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33070, 'Lamar', 2818, '16848', '570', '41.011972', '-77.534803', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33071, 'Shawville', 2818, '16873', '814', '41.0695', '-78.3585', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33072, 'Spring Mills', 2818, '16875', '814', '40.847556', '-77.566223', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33073, 'Woodward', 2818, '16882', '814', '40.898584', '-77.337532', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33074, 'Crossingville', 2818, '16412', '814', '41.881038', '-80.16148', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33075, 'Edinboro', 2818, '16412', '814', '41.881038', '-80.16148', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33076, 'Harborcreek', 2818, '16421', '814', '42.174425', '-79.939478', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33077, 'Riceville', 2818, '16432', '814', '41.7776', '-79.8032', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33078, 'Wells Tannery', 2818, '16691', '814', '40.09956', '-78.143096', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33079, 'Gifford', 2818, '16732', '814', '41.851051', '-78.557405', '2018-11-29 04:56:11', '2018-11-29 04:56:11'),\n(33080, 'Sligo', 2818, '16255', '814', '41.134999', '-79.455347', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33081, 'Franklin', 2818, '16323', '814', '41.429237', '-79.826132', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33082, 'Rocky Grove', 2818, '16323', '814', '41.429237', '-79.826132', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33083, 'Seneca', 2818, '16346', '814', '41.372425', '-79.660461', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33084, 'Utica', 2818, '16362', '814', '41.475382', '-79.958346', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33085, 'Erie', 2818, '16541', '814', '42.1285', '-80.086', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33086, 'Gannon University', 2818, '16541', '814', '42.1285', '-80.086', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33087, 'Broad Top', 2818, '16621', '814', '40.232899', '-78.130094', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33088, 'Bessemer', 2818, '16112', '724', '40.957993', '-80.493479', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33089, 'Clarks Mills', 2818, '16114', '724', '41.405545', '-80.177427', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33090, 'Sharon', 2818, '16146', '724', '41.234593', '-80.497276', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33091, 'Hermitage', 2818, '16148', '724', '41.227614', '-80.438528', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33092, 'Sharon', 2818, '16148', '724', '41.227614', '-80.438528', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33093, 'Stoneboro', 2818, '16153', '724', '41.330552', '-80.103487', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33094, 'Villa Maria', 2818, '16155', '724', '41.068996', '-80.511', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33095, 'Clarion', 2818, '16214', '814', '41.219849', '-79.353051', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33096, 'Distant', 2818, '16223', '814', '40.953982', '-79.375847', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33097, 'Youngsville', 2818, '16371', '814', '41.850306', '-79.330976', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33098, 'Emlenton', 2818, '16373', '724', '41.211108', '-79.715692', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33099, 'Columbus Boro', 2818, '16407', '814', '41.922375', '-79.685038', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33100, 'Corry', 2818, '16407', '814', '41.922375', '-79.685038', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33101, 'Jerome', 2818, '15937', '814', '40.211344', '-78.988046', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33102, 'Seanor', 2818, '15953', '814', '40.213782', '-78.885376', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33103, 'Butler', 2818, '16003', '724', '40.8613', '-79.8958', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33104, 'Plumville', 2818, '16246', '724', '40.792221', '-79.180252', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33105, 'Hillsdale', 2818, '15746', '814', '40.7514', '-78.8854', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33106, 'Benezett', 2818, '15821', '814', '41.317756', '-78.343236', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33107, 'Benezette', 2818, '15821', '814', '41.317756', '-78.343236', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33108, 'Kersey', 2818, '15846', '814', '41.330361', '-78.603273', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33109, 'Sarver', 2818, '16055', '724', '40.738154', '-79.736928', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33110, 'Jones Mills', 2818, '15646', '724', '40.079104', '-79.314762', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33111, 'Luxor', 2818, '15662', '724', '40.331416', '-79.478168', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33112, 'Southwest', 2818, '15685', '724', '40.194894', '-79.524688', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33113, 'Stahlstown', 2818, '15687', '724', '40.1356', '-79.286866', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33114, 'Clymer', 2818, '15728', '724', '40.667064', '-78.954641', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33115, 'Coolspring', 2818, '15730', '814', '41.04166', '-79.078369', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33116, 'Elmora', 2818, '15737', '814', '40.6029', '-78.7476', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33117, 'Sci Somerset', 2818, '15510', '814', '40.0084', '-79.0784', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33118, 'Somerset', 2818, '15510', '814', '40.0084', '-79.0784', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33119, 'Bellefonte', 2818, '16823', '814', '40.951093', '-77.76013', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33120, 'Hublersburg', 2818, '16823', '814', '40.951093', '-77.76013', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33121, 'Pleasant Gap', 2818, '16823', '814', '40.951093', '-77.76013', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33122, 'Wingate', 2818, '16823', '814', '40.951093', '-77.76013', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33123, 'Bigler', 2818, '16825', '814', '40.983863', '-78.30657', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33124, 'Austinville', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33125, 'Big Pond', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33126, 'Col X Rds', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33127, 'Columbia Cross Roads', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33128, 'Columbia X Rd', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33129, 'Snedekerville', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33130, 'Wetona', 2818, '16914', '570', '41.84468', '-76.791454', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33131, 'Eleven Mile', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33132, 'Ellisburg', 2818, '16923', '814', '41.907508', '-77.866565', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33133, 'Mineral Spgs', 2818, '16855', '814', '40.998264', '-78.373545', '2018-11-29 04:56:12', '2018-11-29 04:56:12'),\n(33134, 'Mineral Springs', 2818, '16855', '814', '40.998264', '-78.373545', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33135, 'Orviston', 2818, '16864', '570', '41.12529', '-77.779673', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33136, 'Lake City', 2818, '16423', '814', '42.01972', '-80.3261', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33137, 'N Springfield', 2818, '16430', '814', '42.0059', '-80.421752', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33138, 'North Springfield', 2818, '16430', '814', '42.0059', '-80.421752', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33139, 'Erie', 2818, '16505', '814', '42.113985', '-80.148263', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33140, 'Erie', 2818, '16514', '814', '42.1294', '-80.0853', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33141, 'Smithmill', 2818, '16680', '814', '40.75855', '-78.398918', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33142, 'Sproul', 2818, '16682', '814', '40.271858', '-78.45878', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33143, 'Seminole', 2818, '16253', '814', '40.955502', '-79.343393', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33144, 'Chandlers Valley', 2818, '16312', '814', '41.9344', '-79.3037', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33145, 'Chandlrs Vly', 2818, '16312', '814', '41.9344', '-79.3037', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33146, 'Cochranton', 2818, '16314', '814', '41.523322', '-80.07424', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33147, 'East Hickory', 2818, '16321', '814', '41.557536', '-79.369604', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33148, 'Endeavor', 2818, '16321', '814', '41.557536', '-79.369604', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33149, 'New Castle', 2818, '16103', '724', '41.003', '-80.3467', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33150, 'Castle', 2818, '16105', '724', '41.054103', '-80.331032', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33151, 'Neshannock', 2818, '16105', '724', '41.054103', '-80.331032', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33152, 'New Castle', 2818, '16105', '724', '41.054103', '-80.331032', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33153, 'Fombell', 2818, '16123', '724', '40.825106', '-80.199528', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33154, 'Curllsville', 2818, '16221', '814', '41.0979', '-79.4477', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33155, 'Ford Cliff', 2818, '16228', '724', '40.760796', '-79.535596', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33156, 'Hawthorn', 2818, '16230', '814', '41.022069', '-79.273894', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33157, 'Columbus', 2818, '16405', '814', '41.945794', '-79.550624', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33158, 'Davidsville', 2818, '15928', '814', '40.245657', '-78.91358', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33159, 'New Florence', 2818, '15944', '724', '40.355975', '-79.085378', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33160, 'Sidman', 2818, '15955', '814', '40.324498', '-78.700002', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33161, 'Branchton', 2818, '16021', '724', '41.0728', '-79.9855', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33162, 'Eau Claire', 2818, '16030', '724', '41.137638', '-79.798623', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33163, 'Mars', 2818, '16046', '724', '40.701419', '-80.044534', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33164, 'Venus', 2818, '16364', '814', '41.369848', '-79.510685', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33165, 'Erie', 2818, '16546', '814', '42.1172', '-80.0703', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33166, 'Mercyhurst Univ', 2818, '16546', '814', '42.1172', '-80.0703', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33167, 'Beccaria', 2818, '16616', '814', '40.756983', '-78.444886', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33168, 'Farrell', 2818, '16121', '724', '41.204678', '-80.493412', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33169, 'Hadley', 2818, '16130', '724', '41.43239', '-80.200295', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33170, 'Mercer', 2818, '16137', '724', '41.222842', '-80.249382', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33171, 'Cadogan', 2818, '16212', '724', '40.752536', '-79.581543', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33172, 'Dunlo', 2818, '15930', '814', '40.293478', '-78.717561', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33173, 'Portage', 2818, '15946', '814', '40.387064', '-78.65005', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33174, 'Puritan', 2818, '15946', '814', '40.387064', '-78.65005', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33175, 'Wilmore', 2818, '15962', '814', '40.3887', '-78.7188', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33176, 'Cabot', 2818, '16023', '724', '40.793136', '-79.757877', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33177, 'Marwood', 2818, '16023', '724', '40.793136', '-79.757877', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33178, 'East Brady', 2818, '16028', '724', '40.967546', '-79.63449', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33179, 'Harmony', 2818, '16037', '724', '40.858338', '-80.124643', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33180, 'Herman', 2818, '16039', '724', '40.8303', '-79.8115', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33181, 'Renfrew', 2818, '16053', '724', '40.805119', '-79.982857', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33182, 'Huey', 2818, '16248', '814', '41.042226', '-79.5101', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33183, 'Rimersburg', 2818, '16248', '814', '41.042226', '-79.5101', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33184, 'La Jose', 2818, '15753', '814', '40.810546', '-78.653384', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33185, 'Marsteller', 2818, '15760', '814', '40.643333', '-78.801004', '2018-11-29 04:56:13', '2018-11-29 04:56:13'),\n(33186, 'Nicktown', 2818, '15762', '814', '40.60383', '-78.827863', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33187, 'Oliveburg', 2818, '15764', '814', '41.005383', '-79.044945', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33188, 'Timblin', 2818, '15778', '814', '40.975024', '-79.191108', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33189, 'Summerville', 2818, '15864', '814', '41.098588', '-79.210558', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33190, 'Johnstown', 2818, '15905', '814', '40.289923', '-78.976344', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33191, 'Laughlintown', 2818, '15655', '724', '40.175481', '-79.163872', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33192, 'Lowber', 2818, '15660', '724', '40.241486', '-79.774238', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33193, 'Rillton', 2818, '15678', '724', '40.284318', '-79.716247', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33194, 'Salina', 2818, '15680', '724', '40.529905', '-79.500092', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33195, 'Indiana', 2818, '15705', '724', '40.615415', '-79.159486', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33196, 'Indiana Univ Of Pa', 2818, '15705', '724', '40.615415', '-79.159486', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33197, 'Arcadia', 2818, '15712', '814', '40.793078', '-78.846965', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33198, 'Burnside', 2818, '15721', '814', '40.811914', '-78.781029', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33199, 'Beaverdale', 2818, '15921', '814', '40.3162', '-78.6956', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33200, 'Somerset', 2818, '15501', '814', '40.037788', '-79.123666', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33201, 'Clearville', 2818, '15535', '814', '39.844384', '-78.468694', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33202, 'Everett', 2818, '15537', '814', '39.965826', '-78.37186', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33203, 'New Baltimore', 2818, '15553', '814', '39.98282', '-78.772293', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33204, 'Mellon Bank', 2818, '15262', '412', '40.4409', '-79.9963', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33205, 'Erie', 2818, '16503', '814', '42.126747', '-80.060254', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33206, 'Birmingham', 2818, '16686', '814', '40.636366', '-78.2394', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33207, 'Tyrone', 2818, '16686', '814', '40.636366', '-78.2394', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33208, 'Austin', 2818, '16720', '814', '41.593948', '-78.015167', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33209, 'Conneaut Lake', 2818, '16316', '814', '41.607948', '-80.290365', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33210, 'Conneaut Lake Park', 2818, '16316', '814', '41.607948', '-80.290365', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33211, 'Geneva', 2818, '16316', '814', '41.607948', '-80.290365', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33212, 'Cooperstown', 2818, '16317', '814', '41.522948', '-79.853929', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33213, 'Marble', 2818, '16334', '814', '41.320886', '-79.489714', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33214, 'Tidioute', 2818, '16351', '814', '41.705172', '-79.363341', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33215, 'Tiona', 2818, '16352', '814', '41.767609', '-79.036343', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33216, 'Erie', 2818, '16550', '814', '42.1315', '-80.0869', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33217, 'Upmc Hamot', 2818, '16550', '814', '42.1315', '-80.0869', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33218, 'Erie', 2818, '16553', '814', '42.1294', '-80.0853', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33219, 'Pnc Bank', 2818, '16553', '814', '42.1294', '-80.0853', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33220, 'New Castle', 2818, '16102', '724', '40.960694', '-80.407165', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33221, 'Jamestown', 2818, '16134', '724', '41.504942', '-80.449096', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33222, 'Westford', 2818, '16134', '724', '41.504942', '-80.449096', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33223, 'Cooksburg', 2818, '16217', '814', '41.340052', '-79.187544', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33224, 'Cowansville', 2818, '16218', '724', '40.925986', '-79.571528', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33225, 'Revloc', 2818, '15948', '814', '40.489839', '-78.763488', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33226, 'Robinson', 2818, '15949', '724', '40.412682', '-79.129942', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33227, 'Salix', 2818, '15952', '814', '40.301131', '-78.763685', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33228, 'Annandale', 2818, '16018', '724', '41.1086', '-79.8995', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33229, 'Boyers', 2818, '16018', '724', '41.1086', '-79.8995', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33230, 'Natl Agency For Check Inqu', 2818, '16018', '724', '41.1086', '-79.8995', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33231, 'Parker', 2818, '16049', '724', '41.089511', '-79.678648', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33232, 'Knox', 2818, '16232', '814', '41.238052', '-79.545532', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33233, 'Leeper', 2818, '16233', '814', '41.361108', '-79.288452', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33234, 'Mc Grann', 2818, '16236', '724', '40.785442', '-79.521298', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33235, 'Mcgrann', 2818, '16236', '724', '40.785442', '-79.521298', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33236, 'Graceton', 2818, '15748', '724', '40.521474', '-79.115306', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33237, 'Homer City', 2818, '15748', '724', '40.521474', '-79.115306', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33238, 'Waterman', 2818, '15748', '724', '40.521474', '-79.115306', '2018-11-29 04:56:14', '2018-11-29 04:56:14'),\n(33239, 'Penn Run', 2818, '15765', '724', '40.594882', '-78.994074', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33240, 'Walston', 2818, '15781', '814', '40.965284', '-78.991267', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33241, 'West Lebanon', 2818, '15783', '724', '40.595498', '-79.348336', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33242, 'Du Bois', 2818, '15801', '814', '41.124858', '-78.702648', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33243, 'Dubois', 2818, '15801', '814', '41.124858', '-78.702648', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33244, 'Luthersburg', 2818, '15848', '814', '41.03521', '-78.73524', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33245, 'Cranberry Township', 2818, '16066', '724', '40.708769', '-80.101183', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33246, 'Cranberry Twp', 2818, '16066', '724', '40.708769', '-80.101183', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33247, 'Castle', 2818, '16102', '724', '40.960694', '-80.407165', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33248, 'Latrobe', 2818, '15650', '724', '40.294672', '-79.381047', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33249, 'Saltsburg', 2818, '15681', '724', '40.512734', '-79.45261', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33250, 'Schenley', 2818, '15682', '724', '40.6845', '-79.6617', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33251, 'Scottdale', 2818, '15683', '724', '40.112523', '-79.604793', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33252, 'Indiana', 2818, '15701', '724', '40.620555', '-79.144662', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33253, 'Blairsville', 2818, '15717', '724', '40.462672', '-79.207982', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33254, 'Coral', 2818, '15731', '724', '40.501656', '-79.172806', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33255, 'Creekside', 2818, '15732', '724', '40.723204', '-79.223124', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33256, 'De Lancey', 2818, '15733', '814', '40.986717', '-78.961379', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33257, 'Dixonville', 2818, '15734', '724', '40.722656', '-79.009068', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33258, 'Uledi', 2818, '15484', '724', '39.895288', '-79.795099', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33259, 'Boynton', 2818, '15532', '814', '39.767551', '-79.061997', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33260, 'Breezewood', 2818, '15533', '814', '39.961092', '-78.245269', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33261, 'Buffalo Mills', 2818, '15534', '814', '39.903186', '-78.69098', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33262, 'Jennerstown', 2818, '15547', '814', '40.158113', '-79.057864', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33263, 'W Salisbury', 2818, '15565', '814', '39.7542', '-79.0955', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33264, 'West Salisbury', 2818, '15565', '814', '39.7542', '-79.0955', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33265, 'Gbg', 2818, '15601', '724', '40.332034', '-79.534355', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33266, 'Greensburg', 2818, '15601', '724', '40.332034', '-79.534355', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33267, 'Ardara', 2818, '15615', '724', '40.359842', '-79.733382', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33268, 'Arona', 2818, '15617', '724', '40.268174', '-79.657485', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33269, 'Everson', 2818, '15631', '724', '40.089409', '-79.585815', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33270, 'Forbes Rd', 2818, '15633', '724', '40.362004', '-79.520341', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33271, 'Forbes Road', 2818, '15633', '724', '40.362004', '-79.520341', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33272, 'Brier Hill', 2818, '15415', '724', '39.9806', '-79.8286', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33273, 'Brownsville', 2818, '15417', '724', '40.011176', '-79.92646', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33274, 'West Brownsville', 2818, '15417', '724', '40.011176', '-79.92646', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33275, 'Isabella', 2818, '15447', '724', '39.946249', '-79.939325', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33276, 'Mill Run', 2818, '15464', '724', '39.920457', '-79.434576', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33277, 'Meadow Lands', 2818, '15347', '724', '40.214089', '-80.22874', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33278, 'Millsboro', 2818, '15348', '724', '39.990722', '-79.99527', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33279, 'Pittsburgh', 2818, '15230', '412', '40.4409', '-79.9963', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33280, 'Kilbuck', 2818, '15233', '412', '40.460517', '-80.032052', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33281, 'Grapeville', 2818, '15634', '724', '40.321432', '-79.597868', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33282, 'Dickerson Run', 2818, '15430', '724', '40.039866', '-79.655472', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33283, 'Dunbar', 2818, '15431', '724', '39.946412', '-79.601818', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33284, 'Dunlevy', 2818, '15432', '724', '40.113148', '-79.857657', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33285, 'Keisterville', 2818, '15449', '724', '39.9615', '-79.7829', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33286, 'Newell', 2818, '15466', '724', '40.074305', '-79.889137', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33287, 'New Geneva', 2818, '15467', '724', '39.7886', '-79.9095', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33288, 'Macys Dept Store', 2818, '15281', '412', '40.4409', '-79.9963', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33289, 'Pittsburgh', 2818, '15281', '412', '40.4409', '-79.9963', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33290, 'Duquesne Univ', 2818, '15282', '412', '40.436933', '-79.989261', '2018-11-29 04:56:15', '2018-11-29 04:56:15'),\n(33291, 'Pittsburgh', 2818, '15282', '412', '40.436933', '-79.989261', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33292, 'Bentleyville', 2818, '15314', '724', '40.141442', '-80.017789', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33293, 'Bobtown', 2818, '15315', '724', '39.760046', '-79.981224', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33294, 'Brave', 2818, '15316', '724', '39.764972', '-80.267274', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33295, 'Eighty Four', 2818, '15330', '724', '40.175252', '-80.107791', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33296, 'Fredericktown', 2818, '15333', '724', '40.030302', '-80.010516', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33297, 'Sycamore', 2818, '15364', '724', '39.946992', '-80.289926', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33298, 'Pgh', 2818, '15232', '412', '40.452866', '-79.930866', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33299, 'Pitt', 2818, '15232', '412', '40.452866', '-79.930866', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33300, 'Pittsburgh', 2818, '15232', '412', '40.452866', '-79.930866', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33301, 'Shadyside', 2818, '15232', '412', '40.452866', '-79.930866', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33302, 'Pittsburgh', 2818, '15250', '412', '40.4409', '-79.9963', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33303, 'Oakland', 2818, '15213', '412', '40.443428', '-79.954968', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33304, 'Pittsburgh', 2818, '15213', '412', '40.443428', '-79.954968', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33305, 'Mckeesport', 2818, '15131', '412', '40.328414', '-79.802371', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33306, 'White Oak', 2818, '15131', '412', '40.328414', '-79.802371', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33307, 'Mckeesport', 2818, '15133', '412', '40.327858', '-79.860009', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33308, 'Port Vue', 2818, '15133', '412', '40.327858', '-79.860009', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33309, 'Wall', 2818, '15148', '412', '40.390739', '-79.79243', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33310, 'Wilmerding', 2818, '15148', '412', '40.390739', '-79.79243', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33311, 'Castanea', 2818, '17726', '570', '41.1248', '-77.43', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33312, 'Brownstown', 2818, '17508', '717', '40.124518', '-76.219125', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33313, 'Providence', 2818, '17560', '717', '39.910716', '-76.230398', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33314, 'Smithville', 2818, '17560', '717', '39.910716', '-76.230398', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33315, 'Reamstown', 2818, '17567', '717', '40.2117', '-76.1236', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33316, 'Smoketown', 2818, '17576', '717', '40.035659', '-76.19153', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33317, 'West Willow', 2818, '17583', '717', '39.9726', '-76.2885', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33318, 'Direct Brands', 2818, '17335', '717', '0', '0', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33319, 'Hanover', 2818, '17335', '717', '0', '0', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33320, 'Kingsdale', 2818, '17340', '717', '39.7647', '-77.115144', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33321, 'Littlestown', 2818, '17340', '717', '39.7647', '-77.115144', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33322, 'White Hall', 2818, '17340', '717', '39.7647', '-77.115144', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33323, 'Loganville', 2818, '17342', '717', '39.848', '-76.7096', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33324, 'Rockhill Furn', 2818, '17249', '814', '40.240738', '-77.899171', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33325, 'Rockhill Furnace', 2818, '17249', '814', '40.240738', '-77.899171', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33326, 'Blue Shield', 2818, '17140', '717', '40.2736', '-76.8847', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33327, 'Harrisburg', 2818, '17140', '717', '40.2736', '-76.8847', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33328, 'Hbg', 2818, '17140', '717', '40.2736', '-76.8847', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33329, 'Pa Blue Shield', 2818, '17140', '717', '40.2736', '-76.8847', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33330, 'Amaranth', 2818, '17267', '717', '39.834472', '-78.260422', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33331, 'Buck Valley', 2818, '17267', '717', '39.834472', '-78.260422', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33332, 'Dott', 2818, '17267', '717', '39.834472', '-78.260422', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33333, 'Stoneybreak', 2818, '17267', '717', '39.834472', '-78.260422', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33334, 'Warfordsburg', 2818, '17267', '717', '39.834472', '-78.260422', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33335, 'Wiconisco', 2818, '17097', '717', '40.588748', '-76.707138', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33336, 'Bricker Dev', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33337, 'Cowans Gap', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33338, 'Cowans Vlg', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33339, 'Fort Loudon', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33340, 'Ft Loudon', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33341, 'Metal', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33342, 'Richmond Furn', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:16', '2018-11-29 04:56:16'),\n(33343, 'Tuscarora Hts', 2818, '17224', '717', '39.982594', '-77.84978', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33344, 'New Kingstown', 2818, '17072', '717', '40.23364', '-77.079648', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33345, 'Harrisburg', 2818, '17126', '717', '40.2688', '-76.8842', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33346, 'Hbg', 2818, '17126', '717', '40.2688', '-76.8842', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33347, 'State Dept Of Education', 2818, '17126', '717', '40.2688', '-76.8842', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33348, 'Mexico', 2818, '17056', '717', '40.5377', '-77.3536', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33349, 'Blain', 2818, '17006', '717', '40.309138', '-77.504053', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33350, 'Carlisle', 2818, '17015', '717', '40.171395', '-77.212294', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33351, 'W Pennsboro', 2818, '17015', '717', '40.171395', '-77.212294', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33352, 'West Pennsboro', 2818, '17015', '717', '40.171395', '-77.212294', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33353, 'Dalmatia', 2818, '17017', '570', '40.651762', '-76.879369', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33354, 'Andersonburg', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33355, 'Bixler', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33356, 'Cisna Run', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33357, 'Couchtown', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33358, 'Fort Robinson', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33359, 'Loysville', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33360, 'Ne Madison', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33361, 'Sw Madison', 2818, '17047', '717', '40.364951', '-77.426184', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33362, 'Lewis Run', 2818, '16738', '814', '41.824394', '-78.685995', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33363, 'Mount Jewett', 2818, '16740', '814', '41.739405', '-78.65361', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33364, 'Westline', 2818, '16740', '814', '41.739405', '-78.65361', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33365, 'Keating Summit', 2818, '16749', '814', '41.786924', '-78.494251', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33366, 'Smethport', 2818, '16749', '814', '41.786924', '-78.494251', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33367, 'Grampian', 2818, '16838', '814', '40.994192', '-78.626302', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33368, 'Abbott', 2818, '16922', '814', '41.690959', '-77.74371', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33369, 'Carter Camp', 2818, '16922', '814', '41.690959', '-77.74371', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33370, 'Galeton', 2818, '16922', '814', '41.690959', '-77.74371', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33371, 'West Branch', 2818, '16922', '814', '41.690959', '-77.74371', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33372, 'West Pike', 2818, '16922', '814', '41.690959', '-77.74371', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33373, 'Curryville', 2818, '16631', '814', '40.276866', '-78.348697', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33374, 'Defiance', 2818, '16633', '814', '40.160228', '-78.234638', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33375, 'Flinton', 2818, '16640', '814', '40.701212', '-78.554624', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33376, 'Hesston', 2818, '16647', '814', '40.394736', '-78.108155', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33377, 'Huntingdon', 2818, '16654', '814', '40.4885', '-78.0155', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33378, 'Sci Huntingdon', 2818, '16654', '814', '40.4885', '-78.0155', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33379, 'Irvona', 2818, '16656', '814', '40.82264', '-78.566772', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33380, 'Mingoville', 2818, '16856', '814', '40.930366', '-77.646927', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33381, 'Morrisdale', 2818, '16858', '814', '41.002512', '-78.201299', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33382, 'Olanta', 2818, '16863', '814', '40.910732', '-78.463408', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33383, 'Elgin', 2818, '16413', '814', '41.9035', '-79.7446', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33384, 'Fairview', 2818, '16415', '814', '42.033528', '-80.22713', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33385, 'Venango', 2818, '16440', '814', '41.785381', '-80.128598', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33386, 'Erie', 2818, '16504', '814', '42.108026', '-80.05089', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33387, 'Citizens Bank', 2818, '16522', '814', '42.1294', '-80.0853', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33388, 'Erie', 2818, '16522', '814', '42.1294', '-80.0853', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33389, 'Erie', 2818, '16531', '814', '42.1294', '-80.0853', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33390, 'General Electric Co', 2818, '16531', '814', '42.1294', '-80.0853', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33391, 'Smokerun', 2818, '16681', '814', '40.801599', '-78.427311', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33392, 'Spruce Creek', 2818, '16683', '814', '40.650316', '-78.067766', '2018-11-29 04:56:17', '2018-11-29 04:56:17'),\n(33393, 'Cresson', 2818, '16699', '814', '40.4598', '-78.5918', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33394, 'Sci Cresson', 2818, '16699', '814', '40.4598', '-78.5918', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33395, 'Smicksburg', 2818, '16256', '724', '40.85975', '-79.138728', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33396, 'Irvine', 2818, '16329', '814', '41.8477', '-79.281618', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33397, 'Kossuth', 2818, '16331', '814', '41.289098', '-79.591774', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33398, 'Pittsfield', 2818, '16340', '814', '41.829949', '-79.439083', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33399, 'Behrend College', 2818, '16563', '814', '42.1246', '-79.9836', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33400, 'Erie', 2818, '16563', '814', '42.1246', '-79.9836', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33401, 'New Wilmington', 2818, '16172', '724', '41.117588', '-80.330108', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33402, 'New Wilmngtn', 2818, '16172', '724', '41.117588', '-80.330108', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33403, 'Westminster College', 2818, '16172', '724', '41.117588', '-80.330108', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33404, 'Callensburg', 2818, '16213', '814', '41.142696', '-79.576973', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33405, 'Crown', 2818, '16220', '814', '41.3897', '-79.2714', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33406, 'West Hickory', 2818, '16370', '814', '41.580121', '-79.421612', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33407, 'Clintonville', 2818, '16372', '814', '41.194589', '-79.872936', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33408, 'Meadville', 2818, '16388', '814', '41.6414', '-80.1517', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33409, 'Warren Industries', 2818, '16388', '814', '41.6414', '-80.1517', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33410, 'Dilltown', 2818, '15929', '814', '40.474183', '-78.996866', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33411, 'Ebensburg', 2818, '15931', '814', '40.517696', '-78.774106', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33412, 'Swatara Township', 2818, '17046', '717', '40.396578', '-76.432158', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33413, 'Swatara Twp', 2818, '17046', '717', '40.396578', '-76.432158', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33414, 'Killinger', 2818, '17061', '717', '40.574759', '-76.912132', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33415, 'Lenkerville', 2818, '17061', '717', '40.574759', '-76.912132', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33416, 'Millersbg', 2818, '17061', '717', '40.574759', '-76.912132', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33417, 'Millersburg', 2818, '17061', '717', '40.574759', '-76.912132', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33418, 'Rife', 2818, '17061', '717', '40.574759', '-76.912132', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33419, 'Upper Paxton', 2818, '17061', '717', '40.574759', '-76.912132', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33420, 'Donnally Mill', 2818, '17062', '717', '40.551351', '-77.116512', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33421, 'Eshcol', 2818, '17062', '717', '40.551351', '-77.116512', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33422, 'Knousetown', 2818, '17062', '717', '40.551351', '-77.116512', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33423, 'Carlisle', 2818, '17013', '717', '40.23171', '-77.199899', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33424, 'Carlisle Barracks', 2818, '17013', '717', '40.23171', '-77.199899', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33425, 'Carlisle Brks', 2818, '17013', '717', '40.23171', '-77.199899', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33426, 'Fredericksbrg', 2818, '17026', '717', '40.465569', '-76.432259', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33427, 'Fredericksburg', 2818, '17026', '717', '40.465569', '-76.432259', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33428, 'Harrison', 2818, '16927', '814', '41.956946', '-77.68887', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33429, 'Harrison Twp', 2818, '16927', '814', '41.956946', '-77.68887', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33430, 'Harrison Valley', 2818, '16927', '814', '41.956946', '-77.68887', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33431, 'Harrison Vly', 2818, '16927', '814', '41.956946', '-77.68887', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33432, 'Westfield', 2818, '16927', '814', '41.956946', '-77.68887', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33433, 'Sylvania', 2818, '16945', '570', '41.8052', '-76.8573', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33434, 'Tioga', 2818, '16946', '570', '41.908406', '-77.146227', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33435, 'Clarence', 2818, '16829', '814', '41.093046', '-77.904519', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33436, 'Julian', 2818, '16844', '814', '40.916181', '-77.936355', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33437, 'Claysburg', 2818, '16625', '814', '40.293854', '-78.531378', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33438, 'Coalport', 2818, '16627', '814', '40.756101', '-78.51434', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33439, 'Loysburg', 2818, '16659', '814', '40.157533', '-78.385686', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33440, 'Saint Boniface', 2818, '16675', '814', '40.6664', '-78.6811', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33441, 'St Boniface', 2818, '16675', '814', '40.6664', '-78.6811', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33442, 'Moshannon', 2818, '16859', '814', '41.040976', '-78.02997', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33443, 'New Millport', 2818, '16861', '814', '40.877854', '-78.510508', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33444, 'Wallaceton', 2818, '16876', '814', '40.962766', '-78.290034', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33445, 'West Decatur', 2818, '16878', '814', '40.954998', '-78.36119', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33446, 'Winburne', 2818, '16879', '814', '40.9652', '-78.152388', '2018-11-29 04:56:18', '2018-11-29 04:56:18'),\n(33447, 'Mc Kean', 2818, '16426', '814', '41.977586', '-80.137078', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33448, 'Mckean', 2818, '16426', '814', '41.977586', '-80.137078', '2018-11-29 04:56:19', '2018-11-29 04:56:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(33449, 'Mclane', 2818, '16426', '814', '41.977586', '-80.137078', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33450, 'Lowville', 2818, '16442', '814', '42.030108', '-79.832306', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33451, 'Phillipsville', 2818, '16442', '814', '42.030108', '-79.832306', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33452, 'Wattsburg', 2818, '16442', '814', '42.030108', '-79.832306', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33453, 'W Springfield', 2818, '16443', '814', '41.93145', '-80.470706', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33454, 'West Springfield', 2818, '16443', '814', '41.93145', '-80.470706', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33455, 'Edinboro', 2818, '16444', '814', '41.873417', '-80.123039', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33456, 'Edinboro University', 2818, '16444', '814', '41.873417', '-80.123039', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33457, 'Erie', 2818, '16511', '814', '42.173149', '-79.985496', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33458, 'Wood', 2818, '16694', '814', '40.166649', '-78.140276', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33459, 'Derrick City', 2818, '16727', '814', '41.979435', '-78.536997', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33460, 'Strattanville', 2818, '16258', '814', '41.230496', '-79.29176', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33461, 'Fryburg', 2818, '16326', '814', '41.38098', '-79.412473', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33462, 'Hydetown', 2818, '16328', '814', '41.6525', '-79.7272', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33463, 'Rouseville', 2818, '16344', '814', '41.470868', '-79.684168', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33464, 'Tylersburg', 2818, '16361', '814', '41.384892', '-79.340345', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33465, 'New Castle', 2818, '16107', '724', '41.0035', '-80.3487', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33466, 'New Castle', 2818, '16108', '724', '40.983', '-80.3201', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33467, 'Adamsville', 2818, '16110', '724', '41.494537', '-80.38227', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33468, 'Fredonia', 2818, '16124', '724', '41.32776', '-80.261514', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33469, 'Pulaski', 2818, '16143', '724', '41.109938', '-80.451706', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33470, 'Wampum', 2818, '16157', '724', '40.878228', '-80.33618', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33471, 'W Middlesex', 2818, '16159', '724', '41.153332', '-80.448398', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33472, 'West Middlesex', 2818, '16159', '724', '41.153332', '-80.448398', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33473, 'W Pittsburg', 2818, '16160', '724', '40.924284', '-80.362046', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33474, 'West Pittsburg', 2818, '16160', '724', '40.924284', '-80.362046', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33475, 'Fairmount City', 2818, '16224', '814', '41.060698', '-79.281826', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33476, 'Fairmount Cty', 2818, '16224', '814', '41.060698', '-79.281826', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33477, 'Fisher', 2818, '16225', '814', '41.239166', '-79.236572', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33478, 'Summerhill', 2818, '15958', '814', '40.389185', '-78.734842', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33479, 'Tire Hill', 2818, '15959', '814', '40.2687', '-78.9162', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33480, 'Callery', 2818, '16024', '724', '40.740609', '-80.038593', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33481, 'Chicora', 2818, '16025', '724', '40.94061', '-79.742925', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33482, 'Mahaffey', 2818, '15757', '814', '40.889707', '-78.714962', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33483, 'Mc Gees Mills', 2818, '15757', '814', '40.889707', '-78.714962', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33484, 'Mcgees Mills', 2818, '15757', '814', '40.889707', '-78.714962', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33485, 'Marchand', 2818, '15758', '724', '40.902354', '-79.061126', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33486, 'Marion Center', 2818, '15759', '724', '40.774306', '-79.009226', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33487, 'Saint Benedict', 2818, '15773', '814', '40.623258', '-78.728122', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33488, 'St Benedict', 2818, '15773', '814', '40.623258', '-78.728122', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33489, 'Shelocta', 2818, '15774', '724', '40.65309', '-79.333616', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33490, 'Brockport', 2818, '15823', '814', '41.270679', '-78.709508', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33491, 'Brockway', 2818, '15824', '814', '41.266263', '-78.831319', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33492, 'Brookville', 2818, '15825', '814', '41.162967', '-79.038354', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33493, 'Hazen', 2818, '15825', '814', '41.162967', '-79.038354', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33494, 'Force', 2818, '15841', '814', '41.258475', '-78.524736', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33495, 'Hallton', 2818, '15860', '814', '41.340201', '-79.03759', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33496, 'Sigel', 2818, '15860', '814', '41.340201', '-79.03759', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33497, 'Conemaugh', 2818, '15909', '814', '40.40616', '-78.874335', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33498, 'Johnstown', 2818, '15909', '814', '40.40616', '-78.874335', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33499, 'Slippery Rock', 2818, '16057', '724', '41.033894', '-80.067478', '2018-11-29 04:56:19', '2018-11-29 04:56:19'),\n(33500, 'Turkey City', 2818, '16058', '814', '41.1856', '-79.6137', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33501, 'Hutchinson', 2818, '15640', '724', '40.231078', '-79.728253', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33502, 'Irwin', 2818, '15642', '724', '40.316734', '-79.724204', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33503, 'N Huntingdon', 2818, '15642', '724', '40.316734', '-79.724204', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33504, 'No Huntingdon', 2818, '15642', '724', '40.316734', '-79.724204', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33505, 'North Huntingdon', 2818, '15642', '724', '40.316734', '-79.724204', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33506, 'North Irwin', 2818, '15642', '724', '40.316734', '-79.724204', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33507, 'Ligonier', 2818, '15658', '724', '40.245546', '-79.237599', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33508, 'Wilpen', 2818, '15658', '724', '40.245546', '-79.237599', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33509, 'Chambersville', 2818, '15723', '724', '40.708731', '-79.155062', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33510, 'Cherry Tree', 2818, '15724', '814', '40.732157', '-78.817912', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33511, 'Gipsy', 2818, '15741', '814', '40.798962', '-78.868434', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33512, 'Cassandra', 2818, '15925', '814', '40.408274', '-78.640979', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33513, 'White', 2818, '15490', '724', '40.068042', '-79.463004', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33514, 'Fishertown', 2818, '15539', '814', '40.13012', '-78.592108', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33515, 'Friedens', 2818, '15541', '814', '40.06531', '-78.967618', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33516, 'Rockwood', 2818, '15557', '814', '39.912624', '-79.205895', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33517, 'Salisbury', 2818, '15558', '814', '39.755239', '-79.084826', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33518, 'Champion', 2818, '15622', '814', '40.034518', '-79.316676', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33519, 'Darragh', 2818, '15625', '724', '40.256798', '-79.685576', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33520, 'Confluence', 2818, '15424', '814', '39.834742', '-79.325735', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33521, 'Listonburg', 2818, '15424', '814', '39.834742', '-79.325735', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33522, 'Ursina', 2818, '15424', '814', '39.834742', '-79.325735', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33523, 'Markleysburg', 2818, '15459', '724', '39.772822', '-79.456948', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33524, 'Oliver', 2818, '15472', '724', '39.918276', '-79.716863', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33525, 'Layton', 2818, '15473', '724', '40.069668', '-79.77295', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33526, 'Perryopolis', 2818, '15473', '724', '40.069668', '-79.77295', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33527, 'Whitsett', 2818, '15473', '724', '40.069668', '-79.77295', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33528, 'Point Marion', 2818, '15474', '724', '39.75396', '-79.895973', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33529, 'Pittsburgh', 2818, '15224', '412', '40.46424', '-79.946913', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33530, 'Pgh', 2818, '15225', '412', '40.506252', '-80.112285', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33531, 'Pitt', 2818, '15225', '412', '40.506252', '-80.112285', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33532, 'Pittsburgh', 2818, '15225', '412', '40.506252', '-80.112285', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33533, 'Pittsburgh', 2818, '15274', '412', '40.4396', '-79.9867', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33534, 'Pittsburgh', 2818, '15275', '412', '40.451294', '-80.17983', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33535, 'Carnegie Mellon Univ', 2818, '15289', '412', '40.444374', '-79.941817', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33536, 'Pittsburgh', 2818, '15289', '412', '40.444374', '-79.941817', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33537, 'Mc Connellstown', 2818, '16660', '814', '40.4547', '-78.0835', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33538, 'Madera', 2818, '16661', '814', '40.832816', '-78.467414', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33539, 'Sandy Ridge', 2818, '16677', '814', '40.787896', '-78.288767', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33540, 'Saxton', 2818, '16678', '814', '40.217522', '-78.291558', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33541, 'Warriors Mark', 2818, '16877', '814', '40.693794', '-78.135474', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33542, 'Cranesville', 2818, '16410', '814', '41.921692', '-80.302744', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33543, 'E Springfield', 2818, '16411', '814', '41.982296', '-80.453531', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33544, 'East Springfield', 2818, '16411', '814', '41.982296', '-80.453531', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33545, 'Mill Village', 2818, '16427', '814', '41.875478', '-79.972372', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33546, 'North East', 2818, '16428', '814', '42.177695', '-79.846599', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33547, 'Albion', 2818, '16475', '814', '41.8906', '-80.3667', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33548, 'Inez', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33549, 'Ladona', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33550, 'Mina', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33551, 'Odin', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:20', '2018-11-29 04:56:20'),\n(33552, 'Oswayo', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33553, 'Summit', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33554, 'Sweden', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33555, 'Sweden Valley', 2818, '16915', '814', '41.769569', '-77.938198', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33556, 'Morann', 2818, '16663', '814', '40.795908', '-78.375626', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33557, 'Newry', 2818, '16665', '814', '40.393192', '-78.435672', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33558, 'Lanse', 2818, '16849', '814', '40.96412', '-78.112947', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33559, 'Pa Furnace', 2818, '16865', '814', '40.730252', '-77.967707', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33560, 'Pennsylvania Furnace', 2818, '16865', '814', '40.730252', '-77.967707', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33561, 'Grand Valley', 2818, '16420', '814', '41.773162', '-79.548828', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33562, 'Harmonsburg', 2818, '16422', '814', '41.661302', '-80.31686', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33563, 'Erie', 2818, '16506', '814', '42.063381', '-80.165843', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33564, 'Presque Isle', 2818, '16506', '814', '42.063381', '-80.165843', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33565, 'Eldred', 2818, '16731', '814', '41.939176', '-78.379712', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33566, 'Yatesboro', 2818, '16263', '724', '40.805588', '-79.333089', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33567, 'Clarendon', 2818, '16313', '814', '41.719181', '-79.199117', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33568, 'Sheffield', 2818, '16347', '814', '41.687969', '-79.02148', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33569, 'Titusville', 2818, '16354', '814', '41.710858', '-79.679998', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33570, 'North Warren', 2818, '16365', '814', '41.847985', '-79.100394', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33571, 'Warren', 2818, '16365', '814', '41.847985', '-79.100394', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33572, 'Ashville', 2818, '16613', '814', '40.541398', '-78.542314', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33573, 'Calvin', 2818, '16622', '814', '40.303028', '-78.042088', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33574, 'Atlantic', 2818, '16111', '814', '41.526225', '-80.278395', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33575, 'Clark', 2818, '16113', '724', '41.279306', '-80.428306', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33576, 'Hartstown', 2818, '16131', '814', '41.551479', '-80.383013', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33577, 'Koppel', 2818, '16136', '724', '40.834943', '-80.321225', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33578, 'Sandy Lake', 2818, '16145', '724', '41.385276', '-80.08194', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33579, 'Volant', 2818, '16156', '724', '41.103544', '-80.216653', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33580, 'Wheatland', 2818, '16161', '724', '41.197518', '-80.496718', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33581, 'Dayton', 2818, '16222', '814', '40.860622', '-79.25677', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33582, 'Centerville', 2818, '16404', '814', '41.721532', '-79.780136', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33583, 'Conneautville', 2818, '16406', '814', '41.74097', '-80.380166', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33584, 'Colver', 2818, '15927', '814', '40.535368', '-78.784872', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33585, 'Hooversville', 2818, '15936', '814', '40.159014', '-78.900438', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33586, 'Saint Petersburg', 2818, '16054', '724', '41.156842', '-79.64818', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33587, 'St Petersburg', 2818, '16054', '724', '41.156842', '-79.64818', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33588, 'Kent', 2818, '15752', '724', '40.547407', '-79.28036', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33589, 'Northpoint', 2818, '15763', '724', '40.909164', '-79.129596', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33590, 'Starford', 2818, '15777', '724', '40.69198', '-78.963846', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33591, 'Corsica', 2818, '15829', '814', '41.17146', '-79.19316', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33592, 'Johnsonburg', 2818, '15845', '814', '41.506993', '-78.686926', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33593, 'Sinnamahoning', 2818, '15861', '814', '41.367134', '-78.043526', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33594, 'Johnstown', 2818, '15902', '814', '40.318048', '-78.873124', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33595, 'Saxonburg', 2818, '16056', '724', '40.723579', '-79.834622', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33596, 'West Sunbury', 2818, '16061', '724', '41.013944', '-79.886988', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33597, 'Zelienople', 2818, '16063', '724', '40.7495', '-80.120336', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33598, 'New Alexandri', 2818, '15670', '724', '40.4139', '-79.419604', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33599, 'New Alexandria', 2818, '15670', '724', '40.4139', '-79.419604', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33600, 'New Stanton', 2818, '15672', '724', '40.244057', '-79.631213', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33601, 'Rector', 2818, '15677', '724', '40.17548', '-79.22826', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33602, 'Spring Church', 2818, '15686', '724', '40.623407', '-79.443326', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33603, 'Tarrs', 2818, '15688', '724', '40.160678', '-79.583508', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33604, 'Carrolltown', 2818, '15722', '814', '40.592634', '-78.716392', '2018-11-29 04:56:21', '2018-11-29 04:56:21'),\n(33605, 'Acosta', 2818, '15520', '814', '40.120255', '-79.063428', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33606, 'Fairhope', 2818, '15538', '814', '39.8645', '-78.844656', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33607, 'Glencoe', 2818, '15538', '814', '39.8645', '-78.844656', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33608, 'New Paris', 2818, '15554', '814', '40.123129', '-78.622293', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33609, 'Stoystown', 2818, '15563', '814', '40.090231', '-78.95282', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33610, 'Adamsburg', 2818, '15611', '724', '40.295279', '-79.655446', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33611, 'Barnesboro', 2818, '15714', '814', '40.626683', '-78.828916', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33612, 'N Cambria', 2818, '15714', '814', '40.626683', '-78.828916', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33613, 'Northern Cambria', 2818, '15714', '814', '40.626683', '-78.828916', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33614, 'Johnstown', 2818, '15915', '814', '40.3268', '-78.9217', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33615, 'Van Voorhis', 2818, '15366', '724', '40.1564', '-79.9744', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33616, 'Smock', 2818, '15480', '724', '39.981948', '-79.776252', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33617, 'Listie', 2818, '15549', '814', '40.0282', '-79.0136', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33618, 'Manns Choice', 2818, '15550', '814', '39.988308', '-78.653492', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33619, 'Export', 2818, '15632', '724', '40.436754', '-79.605718', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33620, 'Murrysville', 2818, '15632', '724', '40.436754', '-79.605718', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33621, 'Albion Correctional Inst', 2818, '16475', '814', '41.8906', '-80.3667', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33622, 'Erie', 2818, '16508', '814', '42.095028', '-80.093022', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33623, 'South Erie', 2818, '16508', '814', '42.095028', '-80.093022', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33624, 'Belle Valley', 2818, '16509', '814', '42.057788', '-80.04347', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33625, 'Erie', 2818, '16509', '814', '42.057788', '-80.04347', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33626, 'Six Mile Run', 2818, '16679', '814', '40.160791', '-78.193706', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33627, 'Ganister', 2818, '16693', '814', '40.452394', '-78.238926', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33628, 'Williamsburg', 2818, '16693', '814', '40.452394', '-78.238926', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33629, 'De Young', 2818, '16728', '814', '41.5748', '-78.9114', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33630, 'Pleasantville', 2818, '16341', '814', '41.545494', '-79.552128', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33631, 'Polk', 2818, '16342', '814', '41.31821', '-79.920828', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33632, 'Townville', 2818, '16360', '814', '41.67884', '-79.899637', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33633, 'Alexandria', 2818, '16611', '814', '40.552519', '-78.11695', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33634, 'Barree', 2818, '16611', '814', '40.552519', '-78.11695', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33635, 'Grove City', 2818, '16127', '724', '41.16806', '-80.069044', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33636, 'New Galilee', 2818, '16141', '724', '40.870966', '-80.386982', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33637, 'New Wilmington', 2818, '16142', '724', '41.144356', '-80.33724', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33638, 'New Wilmngtn', 2818, '16142', '724', '41.144356', '-80.33724', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33639, 'Ford City', 2818, '16226', '724', '40.713538', '-79.498321', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33640, 'Central City', 2818, '15926', '814', '40.060242', '-78.819208', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33641, 'Mineral Point', 2818, '15942', '814', '40.405088', '-78.812445', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33642, 'Strongstown', 2818, '15957', '814', '40.543296', '-78.917231', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33643, 'Connoquenessing', 2818, '16027', '724', '40.816114', '-80.014684', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33644, 'Connoqunsg', 2818, '16027', '724', '40.816114', '-80.014684', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33645, 'Hilliards', 2818, '16040', '724', '41.087978', '-79.841265', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33646, 'Sprankle Mills', 2818, '15776', '814', '41.01075', '-79.107158', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33647, 'Sprankle Mls', 2818, '15776', '814', '41.01075', '-79.107158', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33648, 'Falls Creek', 2818, '15840', '814', '41.173731', '-78.823544', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33649, 'Saint Marys', 2818, '15857', '814', '41.455198', '-78.53418', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33650, 'St Marys', 2818, '15857', '814', '41.455198', '-78.53418', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33651, 'Valencia', 2818, '16059', '724', '40.706486', '-79.940279', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33652, 'Leechburg', 2818, '15656', '724', '40.639936', '-79.621119', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33653, 'N Leechburg', 2818, '15656', '724', '40.639936', '-79.621119', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33654, 'North Leechburg', 2818, '15656', '724', '40.639936', '-79.621119', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33655, 'W Leechburg', 2818, '15656', '724', '40.639936', '-79.621119', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33656, 'West Leechburg', 2818, '15656', '724', '40.639936', '-79.621119', '2018-11-29 04:56:22', '2018-11-29 04:56:22'),\n(33657, 'United', 2818, '15689', '724', '40.221596', '-79.490035', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33658, 'Wendel', 2818, '15691', '724', '40.2959', '-79.6869', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33659, 'Whitney', 2818, '15693', '724', '40.25141', '-79.407817', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33660, 'Clarksburg', 2818, '15725', '724', '40.521604', '-79.353156', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33661, 'W Leisenring', 2818, '15489', '724', '39.953769', '-79.694012', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33662, 'West Leisenring', 2818, '15489', '724', '39.953769', '-79.694012', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33663, 'Wickhaven', 2818, '15492', '724', '40.117353', '-79.763192', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33664, 'Bedford', 2818, '15522', '814', '39.941541', '-78.567934', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33665, 'Garrett', 2818, '15542', '814', '39.870182', '-79.084455', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33666, 'Claridge', 2818, '15623', '724', '40.367211', '-79.623292', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33667, 'Delmont', 2818, '15626', '724', '40.41379', '-79.571782', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33668, 'Gans', 2818, '15439', '724', '39.7428', '-79.8246', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33669, 'Lake Lynn', 2818, '15439', '724', '39.7428', '-79.8246', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33670, 'Republic', 2818, '15475', '724', '39.961873', '-79.900902', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33671, 'Pittsburgh', 2818, '15272', '412', '40.4409', '-79.9963', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33672, 'Hickory', 2818, '15340', '724', '40.283709', '-80.316644', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33673, 'Holbrook', 2818, '15341', '724', '39.83849', '-80.348227', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33674, 'Houston', 2818, '15342', '724', '40.24954', '-80.223212', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33675, 'Pgh', 2818, '15239', '412', '40.481444', '-79.74371', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33676, 'Pitt', 2818, '15239', '412', '40.481444', '-79.74371', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33677, 'Pittsburgh', 2818, '15239', '412', '40.481444', '-79.74371', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33678, 'Plum', 2818, '15239', '412', '40.481444', '-79.74371', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33679, 'Pgh', 2818, '15240', '412', '40.4765', '-79.8948', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33680, 'Pitt', 2818, '15240', '412', '40.4765', '-79.8948', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33681, 'Pittsburgh', 2818, '15240', '412', '40.4765', '-79.8948', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33682, 'Veterans Hospital', 2818, '15240', '412', '40.4765', '-79.8948', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33683, 'Noblestown', 2818, '15071', '412', '40.406637', '-80.20095', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33684, 'Oakdale', 2818, '15071', '412', '40.406637', '-80.20095', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33685, 'Rochester', 2818, '15074', '724', '40.732299', '-80.229258', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33686, 'Baden', 2818, '15005', '724', '40.639084', '-80.174774', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33687, 'Bairdford', 2818, '15006', '724', '40.629342', '-79.880853', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33688, 'Bakerstown', 2818, '15007', '724', '40.653788', '-79.933804', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33689, 'W Mifflin/pleasant Hills', 2818, '15123', '412', '40.3386', '-79.9377', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33690, 'West Mifflin', 2818, '15123', '412', '40.3386', '-79.9377', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33691, 'West Mifflin Century Mall', 2818, '15123', '412', '40.3386', '-79.9377', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33692, 'Oakmont', 2818, '15139', '412', '40.52183', '-79.831914', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33693, 'Monroeville', 2818, '15140', '412', '40.409696', '-79.77642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33694, 'Pitcairn', 2818, '15140', '412', '40.409696', '-79.77642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33695, 'Aliq', 2818, '15001', '724', '40.589134', '-80.326642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33696, 'Aliquippa', 2818, '15001', '724', '40.589134', '-80.326642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33697, 'Mac Arthur', 2818, '15001', '724', '40.589134', '-80.326642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33698, 'Macarthur', 2818, '15001', '724', '40.589134', '-80.326642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33699, 'W Aliquippa', 2818, '15001', '724', '40.589134', '-80.326642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33700, 'West Aliquippa', 2818, '15001', '724', '40.589134', '-80.326642', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33701, 'Springdale', 2818, '15144', '724', '40.548436', '-79.78336', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33702, 'Bulger', 2818, '15019', '724', '40.415976', '-80.32871', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33703, 'Coulters', 2818, '15028', '412', '40.298571', '-79.801998', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33704, 'Donora', 2818, '15033', '724', '40.178853', '-79.871114', '2018-11-29 04:56:23', '2018-11-29 04:56:23'),\n(33705, 'Freedom', 2818, '15042', '724', '40.681708', '-80.20753', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33706, 'Berlin', 2818, '15530', '814', '39.924534', '-78.907966', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33707, 'Jenners', 2818, '15546', '814', '40.136206', '-79.048013', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33708, 'Markleton', 2818, '15551', '814', '39.889648', '-79.25952', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33709, 'Quecreek', 2818, '15555', '814', '40.0898', '-79.0796', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33710, 'Shanksville', 2818, '15560', '814', '40.017437', '-78.906695', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33711, 'Springs', 2818, '15562', '814', '39.743064', '-79.123398', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33712, 'Acme', 2818, '15610', '724', '40.114993', '-79.445456', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33713, 'Alverton', 2818, '15612', '724', '40.134766', '-79.600152', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33714, 'Bovard', 2818, '15619', '724', '40.3207', '-79.4964', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33715, 'Pittsburgh', 2818, '15262', '412', '40.4409', '-79.9963', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33716, 'Westland', 2818, '15378', '724', '40.277802', '-80.274568', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33717, 'Oliphant Furnace', 2818, '15401', '724', '39.886586', '-79.739605', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33718, 'Uniontown', 2818, '15401', '724', '39.886586', '-79.739605', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33719, 'Fairbank', 2818, '15435', '724', '39.9433', '-79.8494', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33720, 'Farmington', 2818, '15437', '724', '39.80015', '-79.607146', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33721, 'Martin', 2818, '15460', '724', '39.806056', '-79.907447', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33722, 'Normalville', 2818, '15469', '724', '40.011872', '-79.407028', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33723, 'Smithfield', 2818, '15478', '724', '39.79307', '-79.809166', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33724, 'Mt Lebanon', 2818, '15228', '412', '40.368814', '-80.043894', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33725, 'Pgh', 2818, '15228', '412', '40.368814', '-80.043894', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33726, 'Pitt', 2818, '15228', '412', '40.368814', '-80.043894', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33727, 'Pittsburgh', 2818, '15276', '412', '40.429309', '-80.124713', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33728, 'Aleppo', 2818, '15310', '724', '39.795428', '-80.466429', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33729, 'Cecil', 2818, '15321', '724', '40.323646', '-80.197542', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33730, 'Graysville', 2818, '15337', '724', '39.938102', '-80.351064', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33731, 'Mather', 2818, '15346', '724', '39.943454', '-80.079261', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33732, 'Carson', 2818, '15203', '412', '40.42265', '-79.978795', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33733, 'Pgh', 2818, '15203', '412', '40.42265', '-79.978795', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33734, 'Pitt', 2818, '15203', '412', '40.42265', '-79.978795', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33735, 'Pittsburgh', 2818, '15203', '412', '40.42265', '-79.978795', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33736, 'Pittsburgh', 2818, '15228', '412', '40.368814', '-80.043894', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33737, 'Greentree', 2818, '15242', '412', '40.4409', '-79.9963', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33738, 'Pittsburgh', 2818, '15242', '412', '40.4409', '-79.9963', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33739, 'Slovan', 2818, '15078', '724', '40.36339', '-80.383612', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33740, 'Mount Oliver', 2818, '15210', '412', '40.405768', '-79.983661', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33741, 'Mt Oliver', 2818, '15210', '412', '40.405768', '-79.983661', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33742, 'Pgh', 2818, '15210', '412', '40.405768', '-79.983661', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33743, 'Pitt', 2818, '15210', '412', '40.405768', '-79.983661', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33744, 'Pittsburgh', 2818, '15210', '412', '40.405768', '-79.983661', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33745, 'Pittsburgh', 2818, '15217', '412', '40.43045', '-79.92035', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33746, 'Squirrel Hill', 2818, '15217', '412', '40.43045', '-79.92035', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33747, 'Pittsburgh', 2818, '15219', '412', '40.443321', '-79.997339', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33748, 'Johnstown', 2818, '15945', '814', '40.359058', '-78.868996', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33749, 'Parkhill', 2818, '15945', '814', '40.359058', '-78.868996', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33750, 'Boltz', 2818, '15954', '814', '40.409552', '-79.00769', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33751, 'Cramer', 2818, '15954', '814', '40.409552', '-79.00769', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33752, 'Seward', 2818, '15954', '814', '40.409552', '-79.00769', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33753, 'Ehrenfeld', 2818, '15956', '814', '40.347187', '-78.7816', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33754, 'South Fork', 2818, '15956', '814', '40.347187', '-78.7816', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33755, 'Annandale', 2818, '16020', '724', '41.110632', '-79.895124', '2018-11-29 04:56:24', '2018-11-29 04:56:24'),\n(33756, 'Boyers', 2818, '16020', '724', '41.110632', '-79.895124', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33757, 'Bruin', 2818, '16022', '724', '41.056341', '-79.731318', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33758, 'Foxburg', 2818, '16036', '724', '41.147825', '-79.658808', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33759, 'Lyndora', 2818, '16045', '724', '40.852818', '-79.917415', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33760, 'Manorville', 2818, '16238', '724', '40.787941', '-79.520989', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33761, 'Mayport', 2818, '16240', '814', '41.045272', '-79.219712', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33762, 'Oak Ridge', 2818, '16245', '814', '41.000984', '-79.295426', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33763, 'Home', 2818, '15747', '724', '40.757203', '-79.138544', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33764, 'Lucernemines', 2818, '15754', '724', '40.559257', '-79.149384', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33765, 'Ringgold', 2818, '15770', '814', '40.999343', '-79.147094', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33766, 'Rossiter', 2818, '15772', '814', '40.870562', '-78.917214', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33767, 'Knox Dale', 2818, '15847', '814', '41.082621', '-79.025082', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33768, 'Wilcox', 2818, '15870', '814', '41.57263', '-78.617182', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33769, 'Johnstown', 2818, '15904', '814', '40.312314', '-78.85568', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33770, 'Larimer', 2818, '15647', '724', '40.34096', '-79.723402', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33771, 'Loyalhanna', 2818, '15661', '724', '40.320486', '-79.354312', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33772, 'Wyano', 2818, '15695', '724', '40.198631', '-79.68766', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33773, 'Anita', 2818, '15711', '814', '41.01053', '-78.950487', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33774, 'Aultman', 2818, '15713', '724', '40.570894', '-79.262418', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33775, 'Brush Valley', 2818, '15720', '724', '40.545348', '-79.072531', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33776, 'Elderton', 2818, '15736', '724', '40.693934', '-79.341906', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33777, 'Bridgeville', 2818, '15017', '412', '40.342634', '-80.12805', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33778, 'Clinton', 2818, '15026', '724', '40.510744', '-80.345635', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33779, 'E Mc Keesport', 2818, '15035', '412', '40.384437', '-79.80753', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33780, 'E Mckeesport', 2818, '15035', '412', '40.384437', '-79.80753', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33781, 'East Mc Keesport', 2818, '15035', '412', '40.384437', '-79.80753', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33782, 'East Mckeesport', 2818, '15035', '412', '40.384437', '-79.80753', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33783, 'Gibsonia', 2818, '15044', '724', '40.635574', '-79.951248', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33784, 'Indianola', 2818, '15051', '412', '40.567896', '-79.864827', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33785, 'Joffre', 2818, '15053', '724', '40.3803', '-80.36143', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33786, 'Langeloth', 2818, '15054', '724', '40.361952', '-80.408224', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33787, 'Lawrence', 2818, '15055', '724', '40.302898', '-80.125345', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33788, 'Leetsdale', 2818, '15056', '724', '40.565198', '-80.212851', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33789, 'Brackenridge', 2818, '15014', '724', '40.608206', '-79.74207', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33790, 'Bradfordwoods', 2818, '15015', '724', '40.636386', '-80.082794', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33791, 'Curtisville', 2818, '15032', '724', '40.6422', '-79.8513', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33792, 'Crescent', 2818, '15046', '724', '40.557667', '-80.229232', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33793, 'Glenwillard', 2818, '15046', '724', '40.557667', '-80.229232', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33794, 'Monongahela', 2818, '15063', '724', '40.205064', '-79.925743', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33795, 'New Brighton', 2818, '15066', '724', '40.759094', '-80.246062', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33796, 'Seven Fields', 2818, '16046', '724', '40.701419', '-80.044534', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33797, 'N Washington', 2818, '16048', '724', '41.055', '-79.8136', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33798, 'North Washington', 2818, '16048', '724', '41.055', '-79.8136', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33799, 'Marienville', 2818, '16239', '814', '41.459765', '-79.082194', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33800, 'Rochester Mills', 2818, '15771', '724', '40.824486', '-78.984', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33801, 'Rochester Mls', 2818, '15771', '724', '40.824486', '-78.984', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33802, 'Valier', 2818, '15780', '724', '40.922956', '-79.044575', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33803, 'Clarington', 2818, '15828', '814', '41.328757', '-79.14988', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33804, 'Portland Mills', 2818, '15853', '814', '41.400511', '-78.788242', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33805, 'Portland Mls', 2818, '15853', '814', '41.400511', '-78.788242', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33806, 'Ridgway', 2818, '15853', '814', '41.400511', '-78.788242', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33807, 'Jeannette', 2818, '15644', '724', '40.342291', '-79.61247', '2018-11-29 04:56:25', '2018-11-29 04:56:25'),\n(33808, 'New Derry', 2818, '15671', '724', '40.361192', '-79.317314', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33809, 'Youngstown', 2818, '15696', '724', '40.278795', '-79.365455', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33810, 'Alverda', 2818, '15710', '814', '40.636618', '-78.862735', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33811, 'Ursina', 2818, '15485', '814', '39.814634', '-79.331947', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33812, 'Alum Bank', 2818, '15521', '814', '40.204788', '-78.628555', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33813, 'Gray', 2818, '15544', '814', '40.137727', '-79.092714', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33814, 'Bureau Of Voc Rehab', 2818, '15605', '724', '40.3017', '-79.5395', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33815, 'Greensburg', 2818, '15605', '724', '40.3017', '-79.5395', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33816, 'Donegal', 2818, '15628', '724', '40.099338', '-79.374254', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33817, 'Pittsburgh', 2818, '15260', '412', '40.437212', '-79.944642', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33818, 'Univ Of Pittsburgh', 2818, '15260', '412', '40.437212', '-79.944642', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33819, 'W Alexander', 2818, '15376', '724', '40.102491', '-80.478898', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33820, 'West Alexander', 2818, '15376', '724', '40.102491', '-80.478898', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33821, 'Adah', 2818, '15410', '724', '39.915542', '-79.904406', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33822, 'Chalk Hill', 2818, '15421', '724', '39.8442', '-79.6168', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33823, 'Dawson', 2818, '15428', '724', '40.082122', '-79.691268', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33824, 'Lake Lynn', 2818, '15451', '724', '39.74459', '-79.820336', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33825, 'Melcroft', 2818, '15462', '724', '40.06609', '-79.374238', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33826, 'Brookline', 2818, '15226', '412', '40.39946', '-80.015886', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33827, 'Pgh', 2818, '15226', '412', '40.39946', '-80.015886', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33828, 'Pitt', 2818, '15226', '412', '40.39946', '-80.015886', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33829, 'Pittsburgh', 2818, '15226', '412', '40.39946', '-80.015886', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33830, 'Duguesne', 2818, '15267', '412', '40.4409', '-79.9963', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33831, 'Pittsburgh', 2818, '15267', '412', '40.4409', '-79.9963', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33832, 'Jefferson', 2818, '15344', '724', '39.917338', '-80.053274', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33833, 'Nemacolin', 2818, '15351', '724', '39.875373', '-79.929736', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33834, 'Pitt', 2818, '15201', '412', '40.473924', '-79.955892', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33835, 'Pitts', 2818, '15201', '412', '40.473924', '-79.955892', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33836, 'Pittsburgh', 2818, '15201', '412', '40.473924', '-79.955892', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33837, 'Mc Knight', 2818, '15237', '412', '40.546125', '-80.048934', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33838, 'Mcknight', 2818, '15237', '412', '40.546125', '-80.048934', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33839, 'Pgh', 2818, '15237', '412', '40.546125', '-80.048934', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33840, 'Pitt', 2818, '15237', '412', '40.546125', '-80.048934', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33841, 'Pittsburgh', 2818, '15237', '412', '40.546125', '-80.048934', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33842, 'Montour', 2818, '15244', '412', '40.4409', '-79.9963', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33843, 'Pittsburgh', 2818, '15244', '412', '40.4409', '-79.9963', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33844, 'Ambridge', 2818, '15003', '724', '40.60277', '-80.209436', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33845, 'Fair Oaks', 2818, '15003', '724', '40.60277', '-80.209436', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33846, 'Duquesne', 2818, '15110', '412', '40.373009', '-79.8514', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33847, 'E Pittsburgh', 2818, '15112', '412', '40.408774', '-79.839649', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33848, 'East Pgh', 2818, '15112', '412', '40.408774', '-79.839649', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33849, 'East Pittsburgh', 2818, '15112', '412', '40.408774', '-79.839649', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33850, 'N Versailles', 2818, '15137', '412', '40.378972', '-79.811445', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33851, 'North Versailles', 2818, '15137', '412', '40.378972', '-79.811445', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33852, 'Arsenal', 2818, '15201', '412', '40.473924', '-79.955892', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33853, 'Pgh', 2818, '15201', '412', '40.473924', '-79.955892', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33854, 'Lomas De Carolina', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33855, 'Mans De Carolina', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:26', '2018-11-29 04:56:26'),\n(33856, 'Parq Ecuestre', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33857, 'Parq Ind Jn Matos', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33858, 'Paseo De La Alhambra', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33859, 'Paseo Del Prado', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33860, 'Qtas De Campeche', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33861, 'Terrs De Carolina', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33862, 'URB Carolina Alta', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33863, 'URB Colinitas De Cacao', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33864, 'URB Los Arboles', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33865, 'URB Los Caciques', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33866, 'URB Los Colobos', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33867, 'URB Metropolis', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33868, 'URB Mountain Vw', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33869, 'URB Paraiso De Carolina', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33870, 'URB Remanzo Taino', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33871, 'URB Rolling Hls', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33872, 'Valle Escondido', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33873, 'Villa De San Anton', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33874, 'Villa Del Madrigal', 2819, '00987', '787', '18.331133', '-65.950318', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33875, 'Canistota', 2822, '57012', '605', '43.586746', '-97.308869', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33876, 'Rumpus Ridge', 2822, '57012', '605', '43.586746', '-97.308869', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33877, 'Centerville', 2822, '57014', '605', '43.089283', '-96.973199', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33878, 'Dalesburg', 2822, '57014', '605', '43.089283', '-96.973199', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33879, 'Flandreau', 2822, '57028', '605', '44.065077', '-96.621084', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33880, 'Alcester', 2822, '57001', '605', '43.003944', '-96.610094', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33881, 'Big Springs', 2822, '57001', '605', '43.003944', '-96.610094', '2018-11-29 04:56:27', '2018-11-29 04:56:27');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(33882, 'Nora', 2822, '57001', '605', '43.003944', '-96.610094', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33883, 'Hartford', 2822, '57033', '605', '43.630666', '-96.970136', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33884, 'Wall Lake', 2822, '57033', '605', '43.630666', '-96.970136', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33885, 'Humboldt', 2822, '57035', '605', '43.638019', '-97.06957', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33886, 'Colman', 2822, '57017', '605', '44.028842', '-96.838669', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33887, 'Baltic', 2822, '57003', '605', '43.739644', '-96.761142', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33888, 'Alsen', 2822, '57004', '605', '43.062022', '-96.805624', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33889, 'Beresford', 2822, '57004', '605', '43.062022', '-96.805624', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33890, 'Emmet', 2822, '57004', '605', '43.062022', '-96.805624', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33891, 'Brookings', 2822, '57006', '605', '44.347919', '-96.817433', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33892, 'Lake Campbell', 2822, '57006', '605', '44.347919', '-96.817433', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33893, 'Davis', 2822, '57021', '605', '43.272474', '-96.983486', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33894, 'Freeland', 2829, '98249', '360', '48.027238', '-122.542416', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33895, 'Friday Harbor', 2829, '98250', '360', '48.570192', '-123.098544', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33896, 'Roche Harbor', 2829, '98250', '360', '48.570192', '-123.098544', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33897, 'San Juan Island', 2829, '98250', '360', '48.570192', '-123.098544', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33898, 'Granite Falls', 2829, '98252', '360', '48.048951', '-121.749054', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33899, 'Fox Is', 2829, '98333', '253', '47.248023', '-122.630144', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33900, 'Fox Island', 2829, '98333', '253', '47.248023', '-122.630144', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33901, 'Shorewood Beach', 2829, '98333', '253', '47.248023', '-122.630144', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33902, 'Sylvan', 2829, '98333', '253', '47.248023', '-122.630144', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33903, 'Arletta', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33904, 'Artondale', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33905, 'Crescent Valley', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33906, 'Cromwell', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:27', '2018-11-29 04:56:27'),\n(33907, 'Elgin', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33908, 'Gig Harbor', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33909, 'Glencove', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33910, 'Key Center', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33911, 'Picnic Point', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33912, 'Point Fosdick', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33913, 'Pt Fosdick', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33914, 'Purdy', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33915, 'Raft Is', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33916, 'Raft Island', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33917, 'Rosedale', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33918, 'Shore Acres', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33919, 'Sunny Bay', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33920, 'Sunrise Beach', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33921, 'Victor', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33922, 'Warren', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33923, 'Wauna Shores', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33924, 'Wollochet', 2829, '98335', '253', '47.295332', '-122.622708', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33925, 'Carriage Hill', 2829, '98336', '360', '46.550878', '-122.106589', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33926, 'Silver Beach', 2829, '98226', '360', '48.790826', '-122.464204', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33927, 'Bellingham', 2829, '98227', '360', '48.7597', '-122.4869', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33928, 'Deer Harbor', 2829, '98243', '360', '48.612884', '-123.018696', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33929, 'Hartford', 2829, '98258', '425', '48.048586', '-122.059596', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33930, 'Lake Stevens', 2829, '98258', '425', '48.048586', '-122.059596', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33931, 'N Lakewood', 2829, '98259', '360', '48.1525', '-122.2063', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33932, 'North Lakewood', 2829, '98259', '360', '48.1525', '-122.2063', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33933, 'Langley', 2829, '98260', '360', '48.040235', '-122.414566', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33934, 'Ault Field', 2829, '98277', '360', '48.321962', '-122.631953', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33935, 'Oak Harbor', 2829, '98277', '360', '48.321962', '-122.631953', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33936, 'Sultan', 2829, '98294', '360', '47.880068', '-121.452596', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33937, 'Bremerton', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33938, 'Brownsville', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33939, 'Crosby', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33940, 'East Bremerton', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33941, 'Gilberton', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33942, 'Meadowdale', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33943, 'Sheridan Park', 2829, '98310', '360', '47.594289', '-122.626472', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33944, 'Carlsborg', 2829, '98324', '360', '48.0909', '-123.1705', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33945, 'Suquamish', 2829, '98392', '360', '47.732049', '-122.564236', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33946, 'Vaughn', 2829, '98394', '253', '47.325309', '-122.77785', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33947, 'Olympia', 2829, '98508', '360', '47.0153', '-122.8742', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33948, 'Lacey', 2829, '98509', '360', '47.0344', '-122.8237', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33949, 'Olympia', 2829, '98509', '360', '47.0344', '-122.8237', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33950, 'Belfair', 2829, '98528', '360', '47.439332', '-122.926238', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33951, 'Deckerville', 2829, '98541', '360', '47.065132', '-123.367728', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33952, 'Elma', 2829, '98541', '360', '47.065132', '-123.367728', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33953, 'Saginaw', 2829, '98541', '360', '47.065132', '-123.367728', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33954, 'South Elma', 2829, '98541', '360', '47.065132', '-123.367728', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33955, 'Whites', 2829, '98541', '360', '47.065132', '-123.367728', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33956, 'Quinault', 2829, '98575', '360', '47.408453', '-123.716947', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33957, 'Firdale', 2829, '98577', '360', '46.645202', '-123.633592', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33958, 'Frances', 2829, '98577', '360', '46.645202', '-123.633592', '2018-11-29 04:56:28', '2018-11-29 04:56:28'),\n(33959, 'Holcomb', 2829, '98577', '360', '46.645202', '-123.633592', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33960, 'Old Willapa', 2829, '98577', '360', '46.645202', '-123.633592', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33961, 'Deming', 2829, '98244', '360', '48.79646', '-122.07681', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33962, 'Glacier', 2829, '98244', '360', '48.79646', '-122.07681', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33963, 'Kendall', 2829, '98244', '360', '48.79646', '-122.07681', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33964, 'Nooksack Indian Reservation', 2829, '98244', '360', '48.79646', '-122.07681', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33965, 'Welcome', 2829, '98244', '360', '48.79646', '-122.07681', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33966, 'Mukilteo', 2829, '98275', '425', '47.913148', '-122.303782', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33967, 'Everson', 2829, '98276', '360', '48.9278', '-122.3203', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33968, 'Nooksack', 2829, '98276', '360', '48.9278', '-122.3203', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33969, 'Snohomish', 2829, '98291', '206', '47.9132', '-122.0966', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33970, 'Camano City', 2829, '98292', '360', '48.20515', '-122.301139', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33971, 'Camano Island', 2829, '98292', '360', '48.20515', '-122.301139', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33972, 'Elger Bay', 2829, '98292', '360', '48.20515', '-122.301139', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33973, 'Stanwood', 2829, '98292', '360', '48.20515', '-122.301139', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33974, 'Startup', 2829, '98293', '360', '47.8681', '-121.7395', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33975, 'Bremerton', 2829, '98311', '360', '47.630698', '-122.63768', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33976, 'Sheridan Park', 2829, '98311', '360', '47.630698', '-122.63768', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33977, 'Chimacum', 2829, '98325', '360', '47.975534', '-122.781', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33978, 'Shine', 2829, '98325', '360', '47.975534', '-122.781', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33979, 'Indianola', 2829, '98342', '360', '47.754381', '-122.528091', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33980, 'Agate Beach', 2829, '98343', '360', '48.1359', '-123.7349', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33981, 'Crane', 2829, '98343', '360', '48.1359', '-123.7349', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33982, 'Crescent Beach', 2829, '98343', '360', '48.1359', '-123.7349', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33983, 'Joyce', 2829, '98343', '360', '48.1359', '-123.7349', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33984, 'Puyallup', 2829, '98374', '253', '47.126648', '-122.252518', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33985, 'South Hill', 2829, '98374', '253', '47.126648', '-122.252518', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33986, 'Puyallup', 2829, '98375', '253', '47.102446', '-122.326731', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33987, 'South Hill', 2829, '98375', '253', '47.102446', '-122.326731', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33988, 'Bonney Lake', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33989, 'Bonney Lk', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33990, 'Cedarview', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33991, 'Driftwood', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33992, 'Inlet Island', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33993, 'Lake Tapps', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33994, 'Lakeridge', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33995, 'Ponderosa Estates', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33996, 'Prairie Ridge', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33997, 'Rhododendron Park', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33998, 'Snag Island', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(33999, 'Sumner', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34000, 'Tapps Island', 2829, '98391', '253', '47.172383', '-122.174216', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34001, 'Tracyton', 2829, '98393', '360', '47.6094', '-122.6537', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34002, 'Tacoma', 2829, '98411', '253', '47.2534', '-122.4432', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34003, 'Tacoma', 2829, '98443', '253', '47.205917', '-122.37413', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34004, 'Tacoma', 2829, '98493', '253', '47.2534', '-122.4432', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34005, 'Veterans Hospital', 2829, '98493', '253', '47.2534', '-122.4432', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34006, 'Olympia', 2829, '98511', '360', '46.9542', '-123.025', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34007, 'Tumwater', 2829, '98511', '360', '46.9542', '-123.025', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34008, 'Galvin', 2829, '98544', '360', '46.7425', '-123.0259', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34009, 'Mc Kenna', 2829, '98558', '360', '46.9238', '-122.5536', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34010, 'Mckenna', 2829, '98558', '360', '46.9238', '-122.5536', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34011, 'Matlock', 2829, '98560', '360', '47.319776', '-123.412673', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34012, 'Menlo', 2829, '98561', '360', '46.6214', '-123.6456', '2018-11-29 04:56:29', '2018-11-29 04:56:29'),\n(34013, 'Rainier', 2829, '98576', '360', '46.842895', '-122.639602', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34014, 'Vail', 2829, '98576', '360', '46.842895', '-122.639602', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34015, 'Union', 2829, '98592', '360', '47.327497', '-123.072103', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34016, 'Cohasset Beach', 2829, '98595', '360', '46.878828', '-124.110077', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34017, 'Westport', 2829, '98595', '360', '46.878828', '-124.110077', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34018, 'Carson', 2829, '98610', '509', '45.791905', '-121.855312', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34019, 'Seaview', 2829, '98644', '360', '46.331597', '-124.051178', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34020, 'Orchards', 2829, '98662', '360', '45.693617', '-122.574766', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34021, 'Vancouver', 2829, '98662', '360', '45.693617', '-122.574766', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34022, 'Yacolt', 2829, '98675', '360', '45.802342', '-122.387598', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34023, 'Ardenvoir', 2829, '98811', '509', '47.728274', '-120.368456', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34024, 'Loomis', 2829, '98827', '509', '48.84406', '-119.740415', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34025, 'Malaga', 2829, '98828', '509', '47.321189', '-120.192929', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34026, 'Chesaw', 2829, '98844', '509', '48.900049', '-119.299095', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34027, 'Molson', 2829, '98844', '509', '48.900049', '-119.299095', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34028, 'Oroville', 2829, '98844', '509', '48.900049', '-119.299095', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34029, 'Bodie', 2829, '98859', '509', '48.827012', '-118.973275', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34030, 'Wauconda', 2829, '98859', '509', '48.827012', '-118.973275', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34031, 'Winthrop', 2829, '98862', '509', '48.504752', '-120.123756', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34032, 'Ellensburg', 2829, '98926', '509', '47.034538', '-120.391408', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34033, 'Thrali', 2829, '98926', '509', '47.034538', '-120.391408', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34034, 'Elk', 2829, '99009', '509', '48.02032', '-117.259618', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34035, 'Farmington', 2829, '99128', '509', '47.084335', '-117.126704', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34036, 'Birch Bay', 2829, '98230', '360', '48.930015', '-122.686612', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34037, 'Blaine', 2829, '98230', '360', '48.930015', '-122.686612', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34038, 'Ferndale', 2829, '98248', '360', '48.863927', '-122.611488', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34039, 'Pleasant Valley', 2829, '98248', '360', '48.863927', '-122.611488', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34040, 'Hamilton', 2829, '98255', '360', '48.5225', '-121.9901', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34041, 'Lynden', 2829, '98264', '360', '48.932437', '-122.419769', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34042, 'Snohomish', 2829, '98296', '360', '47.851802', '-122.098201', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34043, 'Anderson Is', 2829, '98303', '253', '47.155691', '-122.707718', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34044, 'Anderson Island', 2829, '98303', '253', '47.155691', '-122.707718', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34045, 'Villa Beach', 2829, '98303', '253', '47.155691', '-122.707718', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34046, 'Yoman Ferry', 2829, '98303', '253', '47.155691', '-122.707718', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34047, 'Bremerton', 2829, '98314', '360', '47.55798', '-122.642484', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34048, 'Puget Sound Naval Shipyard', 2829, '98314', '360', '47.55798', '-122.642484', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34049, 'Buckley', 2829, '98321', '360', '46.985834', '-121.836183', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34050, 'Burnett', 2829, '98321', '360', '46.985834', '-121.836183', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34051, 'Carbonado', 2829, '98323', '360', '47.013766', '-121.99133', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34052, 'Alder', 2829, '98328', '360', '46.87134', '-122.220335', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34053, 'Eatonville', 2829, '98328', '360', '46.87134', '-122.220335', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34054, 'Cape Flattery', 2829, '98357', '360', '48.332856', '-124.639563', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34055, 'Makah AFB', 2829, '98357', '360', '48.332856', '-124.639563', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34056, 'Neah Bay', 2829, '98357', '360', '48.332856', '-124.639563', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34057, 'Tatoosh Is', 2829, '98357', '360', '48.332856', '-124.639563', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34058, 'Tatoosh Island', 2829, '98357', '360', '48.332856', '-124.639563', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34059, 'Blaine', 2829, '98231', '360', '48.9936', '-122.7455', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34060, 'Lyman', 2829, '98263', '360', '48.6626', '-121.8879', '2018-11-29 04:56:30', '2018-11-29 04:56:30'),\n(34061, 'Monroe', 2829, '98272', '360', '47.87395', '-121.889982', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34062, 'Novelty', 2829, '98272', '360', '47.87395', '-121.889982', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34063, 'Point Roberts', 2829, '98281', '360', '48.986727', '-123.056189', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34064, 'Grotto', 2829, '98288', '360', '47.632586', '-121.331634', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34065, 'Scenic', 2829, '98288', '360', '47.632586', '-121.331634', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34066, 'Skykomish', 2829, '98288', '360', '47.632586', '-121.331634', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34067, 'Waldron', 2829, '98297', '360', '48.698977', '-123.037756', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34068, 'Bangor', 2829, '98315', '360', '47.724419', '-122.719176', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34069, 'Bangor Submarine Base', 2829, '98315', '360', '47.724419', '-122.719176', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34070, 'Silverdale', 2829, '98315', '360', '47.724419', '-122.719176', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34071, 'Gig Harbor', 2829, '98329', '253', '47.374396', '-122.716152', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34072, 'Keyport', 2829, '98345', '360', '47.698376', '-122.62361', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34073, 'Port Angeles', 2829, '98363', '360', '48.017263', '-123.824588', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34074, 'Prt Angeles', 2829, '98363', '360', '48.017263', '-123.824588', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34075, 'Pt Angeles', 2829, '98363', '360', '48.017263', '-123.824588', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34076, 'Breidablick', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34077, 'Central Valley', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34078, 'Island Lake', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34079, 'Lemolo', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34080, 'Lofall', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34081, 'Pearson', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34082, 'Poulsbo', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34083, 'Sandy Hook Park', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34084, 'Scandia', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34085, 'Virginia', 2829, '98370', '360', '47.754262', '-122.620321', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34086, 'Edgewood', 2829, '98372', '253', '47.211534', '-122.254921', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34087, 'Puyallup', 2829, '98372', '253', '47.211534', '-122.254921', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34088, 'Hoko', 2829, '98381', '360', '48.1502', '-124.516022', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34089, 'Sekiu', 2829, '98381', '360', '48.1502', '-124.516022', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34090, 'Tacoma', 2829, '98413', '253', '47.2533', '-122.4391', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34091, 'Browns Point', 2829, '98422', '253', '47.289478', '-122.389582', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34092, 'Dash Point', 2829, '98422', '253', '47.289478', '-122.389582', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34093, 'Tacoma', 2829, '98422', '253', '47.289478', '-122.389582', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34094, 'Parkland', 2829, '98445', '253', '47.13189', '-122.41185', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34095, 'Tacoma', 2829, '98445', '253', '47.13189', '-122.41185', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34096, 'Tacoma', 2829, '98490', '253', '0', '0', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34097, 'Aberdeen', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34098, 'Aberdeen Gardens', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34099, 'Bay City', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34100, 'Bench Drive', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34101, 'Central Park', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34102, 'Junction City', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34103, 'Markham', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34104, 'Ocosta', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34105, 'South Aberdeen', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34106, 'Wishkah', 2829, '98520', '360', '47.091776', '-123.852641', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34107, 'Curtis', 2829, '98538', '360', '46.483696', '-123.128024', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34108, 'Kalber', 2829, '98538', '360', '46.483696', '-123.128024', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34109, 'Darrington', 2829, '98241', '360', '48.161632', '-121.295053', '2018-11-29 04:56:31', '2018-11-29 04:56:31'),\n(34110, 'La Conner', 2829, '98257', '360', '48.414552', '-122.511322', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34111, 'Mount Vernon', 2829, '98274', '360', '48.359311', '-122.13588', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34112, 'Clallam Bay', 2829, '98326', '360', '48.174774', '-124.303656', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34113, 'Lake Ozette', 2829, '98326', '360', '48.174774', '-124.303656', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34114, 'Ozette', 2829, '98326', '360', '48.174774', '-124.303656', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34115, 'Dupont', 2829, '98327', '253', '47.08965', '-122.663354', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34116, 'Kapowsin', 2829, '98344', '360', '46.9856', '-122.2244', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34117, 'Fort Flagler', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34118, 'Ft Flagler', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34119, 'Indian Is', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34120, 'Indian Island', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34121, 'Marrowstone Is', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34122, 'Marrowstone Island', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34123, 'Nordland', 2829, '98358', '360', '48.055983', '-122.708436', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34124, 'Fragaria', 2829, '98359', '253', '47.43302', '-122.577411', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34125, 'Olalla', 2829, '98359', '253', '47.43302', '-122.577411', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34126, 'Olalla Valley', 2829, '98359', '253', '47.43302', '-122.577411', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34127, 'Crocker', 2829, '98360', '360', '46.999312', '-122.08056', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34128, 'Electron', 2829, '98360', '360', '46.999312', '-122.08056', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34129, 'Ohop', 2829, '98360', '360', '46.999312', '-122.08056', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34130, 'Orting', 2829, '98360', '360', '46.999312', '-122.08056', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34131, 'Packwood', 2829, '98361', '360', '46.68713', '-121.680929', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34132, 'Center', 2829, '98376', '360', '47.828884', '-122.831904', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34133, 'Dabob', 2829, '98376', '360', '47.828884', '-122.831904', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34134, 'East Quilcene', 2829, '98376', '360', '47.828884', '-122.831904', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34135, 'Mount Walker', 2829, '98376', '360', '47.828884', '-122.831904', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34136, 'Quilcene', 2829, '98376', '360', '47.828884', '-122.831904', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34137, 'Randle', 2829, '98377', '360', '46.585719', '-121.758657', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34138, 'Tacoma', 2829, '98408', '253', '47.198256', '-122.448168', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34139, 'Lakewood', 2829, '98409', '253', '47.21367', '-122.472908', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34140, 'Tacoma', 2829, '98409', '253', '47.21367', '-122.472908', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34141, 'Fife', 2829, '98424', '253', '47.23785', '-122.360279', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34142, 'Tacoma', 2829, '98424', '253', '47.23785', '-122.360279', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34143, 'Parkland', 2829, '98444', '253', '47.146696', '-122.451562', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34144, 'Tacoma', 2829, '98444', '253', '47.146696', '-122.451562', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34145, 'Amanda Park', 2829, '98526', '360', '47.411564', '-123.993594', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34146, 'Bay Center', 2829, '98527', '360', '46.620184', '-123.954369', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34147, 'Ethel', 2829, '98542', '360', '46.530994', '-122.723507', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34148, 'Malone', 2829, '98559', '360', '46.958686', '-123.326762', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34149, 'Vader', 2829, '98593', '360', '46.421716', '-122.998822', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34150, 'Carrolls', 2829, '98609', '360', '46.0719', '-122.8614', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34151, 'Castle Rock', 2829, '98611', '360', '46.293574', '-122.863521', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34152, 'Kalama', 2829, '98625', '360', '46.047436', '-122.744738', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34153, 'Kelso', 2829, '98626', '360', '46.142133', '-122.774797', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34154, 'Ridgefield', 2829, '98642', '360', '45.803174', '-122.701491', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34155, 'Vancouver', 2829, '98660', '360', '45.6988', '-122.719775', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34156, 'Vancouver', 2829, '98661', '360', '45.643225', '-122.634972', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34157, 'Blewett', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34158, 'Chumstick', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34159, 'Brinnon', 2829, '98320', '360', '47.73899', '-123.170947', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34160, 'Bogachiel', 2829, '98331', '360', '47.851473', '-124.28411', '2018-11-29 04:56:32', '2018-11-29 04:56:32'),\n(34161, 'Clearwater', 2829, '98331', '360', '47.851473', '-124.28411', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34162, 'Forks', 2829, '98331', '360', '47.851473', '-124.28411', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34163, 'Kalalock', 2829, '98331', '360', '47.851473', '-124.28411', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34164, 'Queets', 2829, '98331', '360', '47.851473', '-124.28411', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34165, 'Upper Hoh', 2829, '98331', '360', '47.851473', '-124.28411', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34166, 'Hansville', 2829, '98340', '360', '47.912226', '-122.570534', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34167, 'Milton', 2829, '98354', '253', '47.249888', '-122.315024', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34168, 'Lindberg', 2829, '98356', '360', '46.528763', '-122.23149', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34169, 'Morton', 2829, '98356', '360', '46.528763', '-122.23149', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34170, 'Port Hadlock', 2829, '98365', '360', '47.903073', '-122.699314', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34171, 'Port Ludlow', 2829, '98365', '360', '47.903073', '-122.699314', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34172, 'Ketron Is', 2829, '98388', '253', '47.166933', '-122.607517', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34173, 'Ketron Island', 2829, '98388', '253', '47.166933', '-122.607517', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34174, 'Mcneil Island', 2829, '98388', '253', '47.166933', '-122.607517', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34175, 'Steilacoom', 2829, '98388', '253', '47.166933', '-122.607517', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34176, 'Tacoma', 2829, '98404', '253', '47.210276', '-122.409189', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34177, 'Tacoma', 2829, '98406', '253', '47.261056', '-122.510467', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34178, 'Tacoma', 2829, '98415', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34179, 'Jb Lewis Mcchord', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34180, 'Jblm', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34181, 'Joint Base Lewis Mcchord', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34182, 'Lewis Mcchord', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34183, 'Madigan Army Medical Center', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34184, 'Madigan Hosp', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34185, 'Madigan Hospital', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34186, 'Tacoma', 2829, '98431', '253', '47.2534', '-122.4432', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34187, 'Jb Lewis Mcchord', 2829, '98438', '253', '47.126892', '-122.48286', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34188, 'Jblm', 2829, '98438', '253', '47.126892', '-122.48286', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34189, 'Joint Base Lewis Mcchord', 2829, '98438', '253', '47.126892', '-122.48286', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34190, 'Lewis Mcchord', 2829, '98438', '253', '47.126892', '-122.48286', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34191, 'Mcchord AFB', 2829, '98438', '253', '47.126892', '-122.48286', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34192, 'Tacoma', 2829, '98438', '253', '47.126892', '-122.48286', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34193, 'Tacoma', 2829, '98465', '253', '47.24913', '-122.531727', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34194, 'Joint Base Lewis Mcchord', 2829, '98499', '253', '47.165782', '-122.503179', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34195, 'Lakewood', 2829, '98499', '253', '47.165782', '-122.503179', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34196, 'Lewis Mcchord', 2829, '98499', '253', '47.165782', '-122.503179', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34197, 'Mc Chord AFB', 2829, '98499', '253', '47.165782', '-122.503179', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34198, 'Mcchord AFB', 2829, '98499', '253', '47.165782', '-122.503179', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34199, 'Tacoma', 2829, '98499', '253', '47.165782', '-122.503179', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34200, 'Lacey', 2829, '98506', '360', '47.105254', '-122.870278', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34201, 'Olympia', 2829, '98506', '360', '47.105254', '-122.870278', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34202, 'Lacey', 2829, '98513', '360', '46.994116', '-122.731954', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34203, 'Olympia', 2829, '98513', '360', '46.994116', '-122.731954', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34204, 'Adna', 2829, '98522', '360', '46.6293', '-123.06', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34205, 'Allyn', 2829, '98524', '360', '47.362148', '-122.871812', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34206, 'Centralia', 2829, '98531', '360', '46.743624', '-122.979334', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34207, 'Fords Prairie', 2829, '98531', '360', '46.743624', '-122.979334', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34208, 'Grand Mound', 2829, '98531', '360', '46.743624', '-122.979334', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34209, 'Waunch Prairie', 2829, '98531', '360', '46.743624', '-122.979334', '2018-11-29 04:56:33', '2018-11-29 04:56:33'),\n(34210, 'Grayland', 2829, '98547', '360', '46.818982', '-123.873638', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34211, 'Heather', 2829, '98547', '360', '46.818982', '-123.873638', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34212, 'Lebam', 2829, '98554', '360', '46.5593', '-123.5475', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34213, 'Napavine', 2829, '98565', '360', '46.582682', '-122.914718', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34214, 'Ryderwood', 2829, '98581', '360', '46.329704', '-123.09749', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34215, 'Bellingham', 2829, '98229', '360', '48.686322', '-122.408787', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34216, 'Clinton', 2829, '98236', '360', '47.956158', '-122.417732', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34217, 'Maxwelton', 2829, '98236', '360', '47.956158', '-122.417732', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34218, 'Possession', 2829, '98236', '360', '47.956158', '-122.417732', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34219, 'Everson', 2829, '98247', '360', '48.899796', '-122.323051', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34220, 'Strandell', 2829, '98247', '360', '48.899796', '-122.323051', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34221, 'Van Buren', 2829, '98247', '360', '48.899796', '-122.323051', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34222, 'Index', 2829, '98256', '360', '47.844', '-121.439177', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34223, 'Clearview', 2829, '98290', '360', '47.942667', '-122.013759', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34224, 'Larimers Corner', 2829, '98290', '360', '47.942667', '-122.013759', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34225, 'Machias', 2829, '98290', '360', '47.942667', '-122.013759', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34226, 'Maltby', 2829, '98290', '360', '47.942667', '-122.013759', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34227, 'Snohomish', 2829, '98290', '360', '47.942667', '-122.013759', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34228, 'Clearbrook', 2829, '98295', '360', '48.949928', '-122.2338', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34229, 'Sumas', 2829, '98295', '360', '48.949928', '-122.2338', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34230, 'Ashford', 2829, '98304', '360', '46.818662', '-122.029432', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34231, 'National', 2829, '98304', '360', '46.818662', '-122.029432', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34232, 'Allen', 2829, '98232', '360', '48.565942', '-122.445702', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34233, 'Bow', 2829, '98232', '360', '48.565942', '-122.445702', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34234, 'Edison', 2829, '98232', '360', '48.565942', '-122.445702', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34235, 'Samish Island', 2829, '98232', '360', '48.565942', '-122.445702', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34236, 'Clearlake', 2829, '98235', '360', '48.460164', '-122.23389', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34237, 'Marblemount', 2829, '98267', '360', '48.613592', '-121.339026', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34238, 'Sedro Woolley', 2829, '98284', '360', '48.51408', '-121.99016', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34239, 'Shaw Island', 2829, '98286', '360', '48.570953', '-122.960001', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34240, 'Gig Harbor', 2829, '98332', '253', '47.364929', '-122.605331', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34241, 'Lakebay', 2829, '98351', '253', '47.205837', '-122.768352', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34242, 'Longbranch', 2829, '98351', '253', '47.205837', '-122.768352', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34243, 'Annapolis', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34244, 'Colby', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34245, 'Colchester', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34246, 'East Port Orchard', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34247, 'Fernwood', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34248, 'Forest City', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34249, 'Harper', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34250, 'Horseshoe Lake', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34251, 'Lake Holiday', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34252, 'Long Lake', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34253, 'Orchard Heights', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34254, 'Overlook', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34255, 'Parkwood', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34256, 'Port Orchard', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34257, 'Pt Orchard', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34258, 'S Park Vil', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34259, 'S Park Vlg', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:34', '2018-11-29 04:56:34'),\n(34260, 'South Park Village', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34261, 'Sunnyslope', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34262, 'View Park', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34263, 'Waterman', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34264, 'Wautauga Beach', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34265, 'Wye Lake', 2829, '98366', '360', '47.54492', '-122.581523', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34266, 'South Prairie', 2829, '98385', '360', '47.138774', '-122.097086', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34267, 'Tacoma', 2829, '98402', '253', '47.262712', '-122.465653', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34268, 'Tacoma', 2829, '98416', '253', '47.26265', '-122.481656', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34269, 'University Of Puget Sound', 2829, '98416', '253', '47.26265', '-122.481656', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34270, 'Tacoma', 2829, '98417', '253', '0', '0', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34271, 'Tacoma', 2829, '98419', '253', '0', '0', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34272, 'Fort Lewis', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34273, 'Ft Lewis', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34274, 'Jb Lewis Mcchord', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34275, 'Jblm', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34276, 'Joint Base Lewis Mcchord', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34277, 'Lewis Mcchord', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34278, 'Tacoma', 2829, '98433', '253', '47.06188', '-122.565857', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34279, 'Carlisle', 2829, '98536', '360', '47.154643', '-124.105604', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34280, 'Copalis Crossing', 2829, '98536', '360', '47.154643', '-124.105604', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34281, 'Copalis Xing', 2829, '98536', '360', '47.154643', '-124.105604', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34282, 'Chenois Creek', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34283, 'Raymond', 2829, '98577', '360', '46.645202', '-123.633592', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34284, 'Willapa', 2829, '98577', '360', '46.645202', '-123.633592', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34285, 'Glenoma', 2829, '98336', '360', '46.550878', '-122.106589', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34286, 'Kosmos', 2829, '98336', '360', '46.550878', '-122.106589', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34287, 'La Push', 2829, '98350', '360', '47.900896', '-124.601115', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34288, 'Port Orchard', 2829, '98367', '360', '47.466162', '-122.648176', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34289, 'Olympic View', 2829, '98383', '360', '47.676127', '-122.716104', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34290, 'Silverdale', 2829, '98383', '360', '47.676127', '-122.716104', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34291, 'Tacoma', 2829, '98401', '253', '47.2534', '-122.4432', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34292, 'Tacoma', 2829, '98403', '253', '47.265751', '-122.457932', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34293, 'Tacoma', 2829, '98467', '253', '47.199302', '-122.543195', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34294, 'University Pl', 2829, '98467', '253', '47.199302', '-122.543195', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34295, 'University Place', 2829, '98467', '253', '47.199302', '-122.543195', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34296, 'Boston Harbor', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34297, 'Maytown', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34298, 'Nisqually', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34299, 'Offutt Lake', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34300, 'Oly', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34301, 'Olympia', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34302, 'Schneiders Prairie', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34303, 'South Bay', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34304, 'South Sound', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34305, 'Thompson Place', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34306, 'Tumwater', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:35', '2018-11-29 04:56:35'),\n(34307, 'Union Mills', 2829, '98501', '360', '46.978044', '-122.873505', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34308, 'Olympia', 2829, '98502', '360', '47.103917', '-123.05241', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34309, 'Lacey', 2829, '98503', '360', '47.02645', '-122.796894', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34310, 'Olympia', 2829, '98503', '360', '47.02645', '-122.796894', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34311, 'Lacey', 2829, '98516', '360', '47.113056', '-122.770108', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34312, 'Olympia', 2829, '98516', '360', '47.113056', '-122.770108', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34313, 'Satsop', 2829, '98583', '360', '47.0033', '-123.4822', '2018-11-29 04:56:36', '2018-11-29 04:56:36');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(34314, 'Ariel', 2829, '98603', '360', '46.029234', '-122.455534', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34315, 'Yale', 2829, '98603', '360', '46.029234', '-122.455534', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34316, 'Goldendale', 2829, '98620', '509', '45.8424', '-120.758078', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34317, 'Maryhill', 2829, '98620', '509', '45.8424', '-120.758078', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34318, 'Vancouver', 2829, '98686', '360', '45.728982', '-122.630416', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34319, 'E Wenatchee', 2829, '98802', '509', '47.494001', '-120.193856', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34320, 'East Wenatchee', 2829, '98802', '509', '47.494001', '-120.193856', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34321, 'Wenatchee', 2829, '98802', '509', '47.494001', '-120.193856', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34322, 'Chelan Falls', 2829, '98817', '509', '47.796107', '-120.000832', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34323, 'Monitor', 2829, '98836', '509', '47.475498', '-120.41043', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34324, 'Stehekin', 2829, '98852', '509', '48.258292', '-120.582417', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34325, 'Stratford', 2829, '98853', '509', '47.408304', '-119.263817', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34326, 'Fairview', 2829, '98903', '509', '46.52659', '-120.69566', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34327, 'South Broadway', 2829, '98903', '509', '46.52659', '-120.69566', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34328, 'Sumach', 2829, '98903', '509', '46.52659', '-120.69566', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34329, 'Union Gap', 2829, '98903', '509', '46.52659', '-120.69566', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34330, 'Yakima', 2829, '98903', '509', '46.52659', '-120.69566', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34331, 'Brownstown', 2829, '98920', '509', '46.4045', '-120.6058', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34332, 'Cliffdell', 2829, '98937', '509', '46.766906', '-121.058618', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34333, 'Goose Prairie', 2829, '98937', '509', '46.766906', '-121.058618', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34334, 'Naches', 2829, '98937', '509', '46.766906', '-121.058618', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34335, 'Nile', 2829, '98937', '509', '46.766906', '-121.058618', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34336, 'Rimrock', 2829, '98937', '509', '46.766906', '-121.058618', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34337, 'White Pass', 2829, '98937', '509', '46.766906', '-121.058618', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34338, 'Airway Heights', 2829, '99001', '509', '47.635512', '-117.582485', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34339, 'Airway Hgts', 2829, '99001', '509', '47.635512', '-117.582485', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34340, 'Chattaroy', 2829, '99003', '509', '47.929569', '-117.267042', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34341, 'Milan', 2829, '99003', '509', '47.929569', '-117.267042', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34342, 'Amber', 2829, '99004', '509', '47.420572', '-117.641582', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34343, 'Cheney', 2829, '99004', '509', '47.420572', '-117.641582', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34344, 'Tyler', 2829, '99004', '509', '47.420572', '-117.641582', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34345, 'Marshall', 2829, '99020', '509', '47.562617', '-117.496841', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34346, 'Tum Tum', 2829, '99034', '509', '47.889817', '-117.745472', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34347, 'Tumtum', 2829, '99034', '509', '47.889817', '-117.745472', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34348, 'Belmont', 2829, '99104', '509', '47.0882', '-117.1616', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34349, 'Farmington', 2829, '99104', '509', '47.0882', '-117.1616', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34350, 'Cusick', 2829, '99119', '509', '48.501067', '-117.380438', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34351, 'Hay', 2829, '99136', '509', '46.685734', '-117.947082', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34352, 'Marcus', 2829, '99151', '509', '48.66416', '-118.063955', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34353, 'Metaline', 2829, '99152', '509', '48.896911', '-117.385342', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34354, 'Saint John', 2829, '99171', '509', '47.087458', '-117.625164', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34355, 'Wilbur', 2829, '99185', '509', '47.722458', '-118.613022', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34356, 'Liberty Park', 2829, '99202', '509', '47.656466', '-117.380343', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34357, 'Spokane', 2829, '99202', '509', '47.656466', '-117.380343', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34358, 'Manito', 2829, '99203', '509', '47.628179', '-117.407401', '2018-11-29 04:56:36', '2018-11-29 04:56:36'),\n(34359, 'Spokane', 2829, '99203', '509', '47.628179', '-117.407401', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34360, 'Liberty Park', 2829, '99220', '509', '47.6588', '-117.4252', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34361, 'Spokane', 2829, '99220', '509', '47.6588', '-117.4252', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34362, 'Bickleton', 2829, '99322', '509', '45.908358', '-120.165979', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34363, 'Kennewick', 2829, '99337', '509', '46.070807', '-119.09749', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34364, 'Richland', 2829, '99353', '509', '46.31805', '-119.376981', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34365, 'West Richland', 2829, '99353', '509', '46.31805', '-119.376981', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34366, 'Richland', 2829, '99354', '509', '46.368554', '-119.333397', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34367, 'Asotin', 2829, '99402', '509', '46.171622', '-117.103453', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34368, 'Coupeville', 2829, '98239', '360', '48.177812', '-122.66956', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34369, 'Greenbank', 2829, '98253', '360', '48.09562', '-122.57552', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34370, 'Lummi Island', 2829, '98262', '360', '48.694616', '-122.665463', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34371, 'Marysville', 2829, '98271', '360', '48.089312', '-122.237439', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34372, 'Tulalip', 2829, '98271', '360', '48.089312', '-122.237439', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34373, 'Mount Vernon', 2829, '98273', '360', '48.396978', '-122.358748', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34374, 'Nas Whidbey', 2829, '98278', '360', '48.340408', '-122.660124', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34375, 'Naval Air Station', 2829, '98278', '360', '48.340408', '-122.660124', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34376, 'Oak Harbor', 2829, '98278', '360', '48.340408', '-122.660124', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34377, 'Whidbey Island Naval Air', 2829, '98278', '360', '48.340408', '-122.660124', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34378, 'Whidbey Nas', 2829, '98278', '360', '48.340408', '-122.660124', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34379, 'Orcas', 2829, '98280', '360', '48.616543', '-122.909458', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34380, 'Beaver', 2829, '98305', '360', '48.059506', '-124.247278', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34381, 'Sappho', 2829, '98305', '360', '48.059506', '-124.247278', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34382, 'Eglon', 2829, '98346', '360', '47.819212', '-122.528439', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34383, 'Kingston', 2829, '98346', '360', '47.819212', '-122.528439', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34384, 'La Grande', 2829, '98348', '360', '46.8359', '-122.3184', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34385, 'Manchester', 2829, '98353', '360', '47.553648', '-122.545787', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34386, 'Carlson', 2829, '98355', '360', '46.675048', '-122.210943', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34387, 'Mineral', 2829, '98355', '360', '46.675048', '-122.210943', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34388, 'Alderton', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34389, 'Edgewood', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34390, 'Firwood', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34391, 'Jovita', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34392, 'Maplewood', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34393, 'Meeker', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34394, 'Puy', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34395, 'Puyallup', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34396, 'Summit', 2829, '98371', '253', '47.206756', '-122.331148', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34397, 'Retsil', 2829, '98378', '360', '47.5291', '-122.5931', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34398, 'Maple Beach', 2829, '98380', '360', '47.565476', '-122.908802', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34399, 'Miami Beach', 2829, '98380', '360', '47.565476', '-122.908802', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34400, 'Seabeck', 2829, '98380', '360', '47.565476', '-122.908802', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34401, 'Blyn', 2829, '98382', '360', '48.025762', '-123.061784', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34402, 'Diamond Point', 2829, '98382', '360', '48.025762', '-123.061784', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34403, 'Diamond Pt', 2829, '98382', '360', '48.025762', '-123.061784', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34404, 'Dungeness', 2829, '98382', '360', '48.025762', '-123.061784', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34405, 'Gardiner', 2829, '98382', '360', '48.025762', '-123.061784', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34406, 'Sequim', 2829, '98382', '360', '48.025762', '-123.061784', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34407, 'Wilkeson', 2829, '98396', '360', '47.116394', '-122.017182', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34408, 'Paradise', 2829, '98398', '253', '47.1576', '-122.5684', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34409, 'Alger', 2829, '98233', '360', '48.534074', '-122.359742', '2018-11-29 04:56:37', '2018-11-29 04:56:37'),\n(34410, 'Burlington', 2829, '98233', '360', '48.534074', '-122.359742', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34411, 'Upper Skagit Indian Reservat', 2829, '98233', '360', '48.534074', '-122.359742', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34412, 'Gold Bar', 2829, '98251', '360', '47.822901', '-121.582371', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34413, 'Maple Falls', 2829, '98266', '360', '48.952692', '-122.072982', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34414, 'Camano Island', 2829, '98282', '360', '48.16265', '-122.447717', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34415, 'Stanwood', 2829, '98282', '360', '48.16265', '-122.447717', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34416, 'Diablo', 2829, '98283', '360', '48.576502', '-121.144726', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34417, 'Newhalem', 2829, '98283', '360', '48.576502', '-121.144726', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34418, 'Rockport', 2829, '98283', '360', '48.576502', '-121.144726', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34419, 'Herron Is', 2829, '98349', '253', '47.268116', '-122.74143', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34420, 'Herron Island', 2829, '98349', '253', '47.268116', '-122.74143', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34421, 'Home', 2829, '98349', '253', '47.268116', '-122.74143', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34422, 'Lakebay', 2829, '98349', '253', '47.268116', '-122.74143', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34423, 'Recreational Equipment Inc', 2829, '98352', '253', '47.2034', '-122.2395', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34424, 'Rei', 2829, '98352', '253', '47.2034', '-122.2395', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34425, 'Sumner', 2829, '98352', '253', '47.2034', '-122.2395', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34426, 'Adelma Beach', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34427, 'Beckett Point', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34428, 'Discovery Bay', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34429, 'Fort Worden', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34430, 'Ft Worden', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34431, 'Glen Cove', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34432, 'Leland', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34433, 'Mats Mats', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34434, 'Port Townsend', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34435, 'Protection Is', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34436, 'Protection Island', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34437, 'Pt Townsend', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34438, 'Townsend', 2829, '98368', '360', '48.034826', '-122.84934', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34439, 'South Colby', 2829, '98384', '360', '47.5225', '-122.5361', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34440, 'Southworth', 2829, '98386', '360', '47.5125', '-122.5009', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34441, 'Tacoma', 2829, '98418', '253', '47.22404', '-122.446374', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34442, 'Fircrest', 2829, '98466', '253', '47.228909', '-122.541416', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34443, 'Tacoma', 2829, '98466', '253', '47.228909', '-122.541416', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34444, 'University Pl', 2829, '98466', '253', '47.228909', '-122.541416', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34445, 'University Place', 2829, '98466', '253', '47.228909', '-122.541416', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34446, 'Cinebar', 2829, '98533', '360', '46.600944', '-122.539228', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34447, 'Copalis Beach', 2829, '98535', '360', '47.090197', '-124.105895', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34448, 'Neilton', 2829, '98566', '360', '47.4131', '-123.8794', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34449, 'Harstine', 2829, '98584', '360', '47.247052', '-123.125058', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34450, 'Kamilche', 2829, '98584', '360', '47.247052', '-123.125058', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34451, 'Shelton', 2829, '98584', '360', '47.247052', '-123.125058', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34452, 'Skok', 2829, '98584', '360', '47.247052', '-123.125058', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34453, 'Skokomish', 2829, '98584', '360', '47.247052', '-123.125058', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34454, 'Skokomish Nation', 2829, '98584', '360', '47.247052', '-123.125058', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34455, 'Leavenworth', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34456, 'Merritt', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34457, 'Luger', 2830, '54555', '715', '45.741362', '-90.373277', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34458, 'Lugerville', 2830, '54555', '715', '45.741362', '-90.373277', '2018-11-29 04:56:38', '2018-11-29 04:56:38'),\n(34459, 'Phillips', 2830, '54555', '715', '45.741362', '-90.373277', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34460, 'Worcester', 2830, '54555', '715', '45.741362', '-90.373277', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34461, 'Prentice', 2830, '54556', '715', '45.541442', '-90.313071', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34462, 'Seneca', 2830, '54654', '608', '43.291831', '-90.985411', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34463, 'Steuben', 2830, '54657', '608', '43.197784', '-90.921872', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34464, 'Stoddard', 2830, '54658', '608', '43.674367', '-91.17742', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34465, 'Arkansaw', 2830, '54721', '715', '44.613288', '-92.077568', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34466, 'Augusta', 2830, '54722', '715', '44.726774', '-91.126412', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34467, 'Alban', 2830, '54473', '715', '44.669887', '-89.357012', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34468, 'Rosholt', 2830, '54473', '715', '44.669887', '-89.357012', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34469, 'Unity', 2830, '54488', '715', '44.82961', '-90.316538', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34470, 'Westboro', 2830, '54490', '715', '45.335027', '-90.433963', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34471, 'Polonia', 2830, '54423', '715', '44.582723', '-89.399468', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34472, 'Deerbrook', 2830, '54424', '715', '45.284502', '-89.205678', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34473, 'Kempster', 2830, '54424', '715', '45.284502', '-89.205678', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34474, 'Neva Corners', 2830, '54424', '715', '45.284502', '-89.205678', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34475, 'Ashwaubenon', 2830, '54304', '920', '44.489906', '-88.069911', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34476, 'Green Bay', 2830, '54304', '920', '44.489906', '-88.069911', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34477, 'Amherst Jct', 2830, '54407', '715', '44.533547', '-89.304548', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34478, 'Amherst Junction', 2830, '54407', '715', '44.533547', '-89.304548', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34479, 'Lake Emily', 2830, '54407', '715', '44.533547', '-89.304548', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34480, 'Armstrong Creek', 2830, '54103', '715', '45.683074', '-88.497996', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34481, 'Armstrong Crk', 2830, '54103', '715', '45.683074', '-88.497996', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34482, 'Florence', 2830, '54121', '715', '45.869651', '-88.315284', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34483, 'Lena', 2830, '54139', '920', '44.936396', '-88.113362', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34484, 'Stiles', 2830, '54139', '920', '44.936396', '-88.113362', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34485, 'Krakow', 2830, '54171', '920', '44.728532', '-88.120692', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34486, 'Sobieski', 2830, '54171', '920', '44.728532', '-88.120692', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34487, 'Suamico', 2830, '54173', '920', '44.634449', '-88.030328', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34488, 'Chili', 2830, '54420', '715', '44.59844', '-90.37571', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34489, 'Custer', 2830, '54423', '715', '44.582723', '-89.399468', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34490, 'Beldenville', 2830, '54003', '715', '44.792542', '-92.439962', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34491, 'El Paso', 2830, '54003', '715', '44.792542', '-92.439962', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34492, 'Arland', 2830, '54004', '715', '45.295314', '-92.118542', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34493, 'Clayton', 2830, '54004', '715', '45.295314', '-92.118542', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34494, 'Reeve', 2830, '54004', '715', '45.295314', '-92.118542', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34495, 'Richardson', 2830, '54004', '715', '45.295314', '-92.118542', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34496, 'East Farmington', 2830, '54020', '715', '45.283784', '-92.631024', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34497, 'Nye', 2830, '54020', '715', '45.283784', '-92.631024', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34498, 'Osceola', 2830, '54020', '715', '45.283784', '-92.631024', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34499, 'Oak Grove', 2830, '54021', '715', '44.720232', '-92.716594', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34500, 'Prescott', 2830, '54021', '715', '44.720232', '-92.716594', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34501, 'Roberts', 2830, '54023', '715', '44.97971', '-92.55295', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34502, 'Warren', 2830, '54023', '715', '44.97971', '-92.55295', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34503, 'Madison', 2830, '53788', '608', '43.0733', '-89.4012', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34504, 'Madison Gas And Electric', 2830, '53788', '608', '43.0733', '-89.4012', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34505, 'Madison', 2830, '53789', '608', '43.0733', '-89.4012', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34506, 'Wi Dept Ind Labor Human Rel', 2830, '53789', '608', '43.0733', '-89.4012', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34507, 'Potosi', 2830, '53820', '608', '42.672196', '-90.726243', '2018-11-29 04:56:39', '2018-11-29 04:56:39'),\n(34508, 'Pr Du Chien', 2830, '53821', '608', '43.010318', '-91.041006', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34509, 'Prairie Du Chien', 2830, '53821', '608', '43.010318', '-91.041006', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34510, 'Hillpoint', 2830, '53937', '608', '43.376004', '-90.151559', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34511, 'Kingston', 2830, '53939', '920', '43.690086', '-89.131633', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34512, 'Linden', 2830, '53553', '608', '42.907118', '-90.30487', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34513, 'Lodi', 2830, '53555', '608', '43.315839', '-89.561778', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34514, 'Montfort', 2830, '53569', '608', '42.984526', '-90.422868', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34515, 'Fitchburg', 2830, '53719', '608', '43.028486', '-89.490915', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34516, 'Madison', 2830, '53719', '608', '43.028486', '-89.490915', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34517, 'Rochester', 2830, '53167', '262', '42.742486', '-88.22251', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34518, 'Silver Lake', 2830, '53170', '262', '42.554854', '-88.170102', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34519, 'Bayview', 2830, '53235', '414', '42.97297', '-87.871975', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34520, 'Milwaukee', 2830, '53235', '414', '42.97297', '-87.871975', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34521, 'Saint Francis', 2830, '53235', '414', '42.97297', '-87.871975', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34522, 'St Francis', 2830, '53235', '414', '42.97297', '-87.871975', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34523, 'Milwaukee', 2830, '53237', '414', '43.0389', '-87.9065', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34524, 'Chase Bank', 2830, '53267', '414', '43.0389', '-87.9065', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34525, 'Milwaukee', 2830, '53267', '414', '43.0389', '-87.9065', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34526, 'Mount Pleasant', 2830, '53401', '262', '42.7263', '-87.7829', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34527, 'Mt Pleasant', 2830, '53401', '262', '42.7263', '-87.7829', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34528, 'Racine', 2830, '53401', '262', '42.7263', '-87.7829', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34529, 'Mount Pleasant', 2830, '53403', '262', '42.693361', '-87.833226', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34530, 'Mt Pleasant', 2830, '53403', '262', '42.693361', '-87.833226', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34531, 'Racine', 2830, '53403', '262', '42.693361', '-87.833226', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34532, 'Arena', 2830, '53503', '608', '43.140324', '-89.936754', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34533, 'Okauchee', 2830, '53069', '262', '43.1155', '-88.432246', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34534, 'Vernon', 2830, '53186', '262', '43.029094', '-88.213516', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34535, 'Waukesha', 2830, '53186', '262', '43.029094', '-88.213516', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34536, 'Waukesha', 2830, '53187', '262', '43.0114', '-88.2314', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34537, 'Milwaukee', 2830, '53202', '414', '43.042922', '-87.894274', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34538, 'Milwaukee', 2830, '53204', '414', '43.019578', '-87.92536', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34539, 'Bayside', 2830, '53217', '414', '43.145761', '-87.919719', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34540, 'Fox Point', 2830, '53217', '414', '43.145761', '-87.919719', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34541, 'Glendale', 2830, '53217', '414', '43.145761', '-87.919719', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34542, 'Milwaukee', 2830, '53217', '414', '43.145761', '-87.919719', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34543, 'River Hills', 2830, '53217', '414', '43.145761', '-87.919719', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34544, 'Whitefish Bay', 2830, '53217', '414', '43.145761', '-87.919719', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34545, 'Milwaukee', 2830, '53218', '414', '43.115512', '-87.994002', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34546, 'Cable', 2830, '54821', '715', '46.24332', '-91.237893', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34547, 'Comstock', 2830, '54826', '715', '45.503236', '-92.150312', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34548, 'Hawthorne', 2830, '54842', '715', '46.517397', '-91.846389', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34549, 'High Bridge', 2830, '54846', '715', '46.392792', '-90.736186', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34550, 'Highbridge', 2830, '54846', '715', '46.392792', '-90.736186', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34551, 'Marengo', 2830, '54846', '715', '46.392792', '-90.736186', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34552, 'Winnebago', 2830, '54985', '920', '44.075084', '-88.518548', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34553, 'Downsville', 2830, '54735', '715', '44.7748', '-91.9318', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34554, 'Brackett', 2830, '54742', '715', '44.766635', '-91.276166', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34555, 'East Troy', 2830, '53120', '262', '42.794388', '-88.399486', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34556, 'New Berlin', 2830, '53151', '262', '42.9734', '-88.102985', '2018-11-29 04:56:40', '2018-11-29 04:56:40'),\n(34557, 'New Munster', 2830, '53152', '262', '42.5795', '-88.2275', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34558, 'Stockton', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34559, 'Whiting', 2830, '54481', '715', '44.553864', '-89.567606', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34560, 'Spirit Falls', 2830, '54564', '715', '45.609993', '-89.944556', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34561, 'Tripoli', 2830, '54564', '715', '45.609993', '-89.944556', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34562, 'Loyal', 2830, '54446', '715', '44.755964', '-90.456498', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34563, 'Spokeville', 2830, '54446', '715', '44.755964', '-90.456498', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34564, 'Little Chicago', 2830, '54448', '715', '44.967548', '-89.826925', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34565, 'Ltl Chicago', 2830, '54448', '715', '44.967548', '-89.826925', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34566, 'Marathon', 2830, '54448', '715', '44.967548', '-89.826925', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34567, 'Marathon City', 2830, '54448', '715', '44.967548', '-89.826925', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34568, 'Bakerville', 2830, '54449', '715', '44.639059', '-90.18815', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34569, 'Lindsey', 2830, '54449', '715', '44.639059', '-90.18815', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34570, 'Marshfield', 2830, '54449', '715', '44.639059', '-90.18815', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34571, 'Mcmillan', 2830, '54449', '715', '44.639059', '-90.18815', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34572, 'Franzen', 2830, '54499', '715', '44.797542', '-89.153727', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34573, 'Shepley', 2830, '54499', '715', '44.797542', '-89.153727', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34574, 'Wittenberg', 2830, '54499', '715', '44.797542', '-89.153727', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34575, 'Butternut', 2830, '54514', '715', '46.039618', '-90.581976', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34576, 'Fish Creek', 2830, '54212', '920', '45.137204', '-87.258235', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34577, 'Forestville', 2830, '54213', '920', '44.697011', '-87.524371', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34578, 'Kellnersville', 2830, '54215', '920', '44.224006', '-87.79927', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34579, 'Mishicot', 2830, '54228', '920', '44.271286', '-87.644238', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34580, 'Washington Is', 2830, '54246', '920', '45.361546', '-86.882824', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34581, 'Washington Island', 2830, '54246', '920', '45.361546', '-86.882824', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34582, 'Pearson', 2830, '54462', '715', '45.386574', '-88.999168', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34583, 'Cecil', 2830, '54111', '715', '44.81582', '-88.389503', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34584, 'Coleman', 2830, '54112', '920', '45.040556', '-88.04308', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34585, 'Gresham', 2830, '54128', '715', '44.87725', '-88.795749', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34586, 'Hilbert', 2830, '54129', '920', '44.141648', '-88.22721', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34587, 'Freedom', 2830, '54130', '920', '44.320256', '-88.246838', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34588, 'Kaukauna', 2830, '54130', '920', '44.320256', '-88.246838', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34589, 'Pound', 2830, '54161', '920', '45.113429', '-88.106984', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34590, 'Freedom', 2830, '54165', '920', '44.501453', '-88.305274', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34591, 'Hofa Park', 2830, '54165', '920', '44.501453', '-88.305274', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34592, 'Isaar', 2830, '54165', '920', '44.501453', '-88.305274', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34593, 'Seymour', 2830, '54165', '920', '44.501453', '-88.305274', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34594, 'Birnamwood', 2830, '54414', '715', '44.950122', '-89.164272', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34595, 'Norrie', 2830, '54414', '715', '44.950122', '-89.164272', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34596, 'Rock Springs', 2830, '53961', '608', '43.452749', '-89.930338', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34597, 'Waupun', 2830, '53963', '920', '43.640248', '-88.742914', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34598, 'Westfield', 2830, '53964', '608', '43.900046', '-89.531644', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34599, 'Ellsworth', 2830, '54011', '715', '44.696229', '-92.470036', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34600, 'Lostcreek', 2830, '54011', '715', '44.696229', '-92.470036', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34601, 'Moeville', 2830, '54011', '715', '44.696229', '-92.470036', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34602, 'Trimbelle', 2830, '54011', '715', '44.696229', '-92.470036', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34603, 'Wrightstown', 2830, '54180', '920', '44.332469', '-88.169238', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34604, 'Madison', 2830, '53779', '608', '43.0733', '-89.4012', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34605, 'Swiss Colony', 2830, '53779', '608', '43.0733', '-89.4012', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34606, 'Baraboo', 2830, '53913', '608', '43.465286', '-89.758772', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34607, 'West Baraboo', 2830, '53913', '608', '43.465286', '-89.758772', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34608, 'Elroy', 2830, '53929', '608', '43.756453', '-90.292147', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34609, 'Endeavor', 2830, '53930', '608', '43.68657', '-89.481226', '2018-11-29 04:56:41', '2018-11-29 04:56:41'),\n(34610, 'Lyndon Sta', 2830, '53944', '608', '43.67524', '-89.933146', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34611, 'Lyndon Station', 2830, '53944', '608', '43.67524', '-89.933146', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34612, 'Wawatosa', 2830, '53226', '414', '43.051033', '-88.038152', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34613, 'Janesville', 2830, '53545', '608', '42.728275', '-89.050274', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34614, 'Merrimac', 2830, '53561', '608', '43.399972', '-89.627702', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34615, 'Milton', 2830, '53563', '608', '42.781575', '-88.930354', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34616, 'Orfordville', 2830, '53576', '608', '42.621677', '-89.229899', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34617, 'Plain', 2830, '53577', '608', '43.30908', '-90.050256', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34618, 'Fitchburg', 2830, '53593', '608', '42.994872', '-89.567738', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34619, 'Verona', 2830, '53593', '608', '42.994872', '-89.567738', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34620, 'Waterloo', 2830, '53594', '920', '43.16679', '-88.960096', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34621, 'General Casualty Co', 2830, '53596', '608', '43.1836', '-89.2139', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34622, 'Sun Prairie', 2830, '53596', '608', '43.1836', '-89.2139', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34623, 'Madison', 2830, '53744', '608', '43.0733', '-89.4012', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34624, 'Greenfield', 2830, '53228', '414', '42.964772', '-88.043482', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34625, 'Milwaukee', 2830, '53228', '414', '42.964772', '-88.043482', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34626, 'New Berlin', 2830, '53228', '414', '42.964772', '-88.043482', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34627, 'Milwaukee', 2830, '53259', '414', '43.0389', '-87.9065', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34628, 'Us Bank', 2830, '53259', '414', '43.0389', '-87.9065', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34629, 'Milwaukee', 2830, '53295', '414', '43.0386', '-87.9058', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34630, 'Zablocki Va Medical Ctr', 2830, '53295', '414', '43.0386', '-87.9058', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34631, 'Cobb', 2830, '53526', '608', '42.971211', '-90.352077', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34632, 'Cottage Grove', 2830, '53527', '608', '43.071079', '-89.188466', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34633, 'Cross Plains', 2830, '53528', '608', '43.12394', '-89.643184', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34634, 'Dane', 2830, '53529', '608', '43.240478', '-89.510072', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34635, 'Mount Pleasant', 2830, '53177', '262', '42.698744', '-87.93459', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34636, 'Mt Pleasant', 2830, '53177', '262', '42.698744', '-87.93459', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34637, 'Sturtevant', 2830, '53177', '262', '42.698744', '-87.93459', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34638, 'Wilmot', 2830, '53192', '262', '42.512068', '-88.183588', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34639, 'Brown Deer', 2830, '53209', '414', '43.14093', '-87.941696', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34640, 'Glendale', 2830, '53209', '414', '43.14093', '-87.941696', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34641, 'Milwaukee', 2830, '53209', '414', '43.14093', '-87.941696', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34642, 'Remington', 2830, '54413', '715', '44.292734', '-90.19928', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34643, 'Blenker', 2830, '54415', '715', '44.6134', '-89.9209', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34644, 'Union Center', 2830, '53962', '608', '43.685239', '-90.268093', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34645, 'Diamond Bluff', 2830, '54014', '715', '44.656762', '-92.570554', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34646, 'Hager City', 2830, '54014', '715', '44.656762', '-92.570554', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34647, 'Swiss Colony', 2830, '53778', '608', '43.0733', '-89.4012', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34648, 'Madison', 2830, '53794', '608', '43.0733', '-89.4012', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34649, 'Swiss Colony', 2830, '53794', '608', '43.0733', '-89.4012', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34650, 'Kieler', 2830, '53812', '608', '42.5814', '-90.6028', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34651, 'Dellwood', 2830, '53927', '608', '43.9844', '-89.9388', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34652, 'Manchester', 2830, '53946', '920', '43.725154', '-89.064654', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34653, 'Markesan', 2830, '53946', '920', '43.725154', '-89.064654', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34654, 'Hollandale', 2830, '53544', '608', '42.875104', '-89.93148', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34655, 'Janesville', 2830, '53546', '608', '42.667221', '-88.945415', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34656, 'Mazomanie', 2830, '53560', '608', '43.188755', '-89.750774', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34657, 'Middleton', 2830, '53562', '608', '43.114822', '-89.521325', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34658, 'Rewey', 2830, '53580', '608', '42.856618', '-90.375082', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34659, 'Dodgeville', 2830, '53595', '608', '42.9605', '-90.1303', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34660, 'Lands End', 2830, '53595', '608', '42.9605', '-90.1303', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34661, 'American Family Ins Co', 2830, '53777', '608', '43.0733', '-89.4012', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34662, 'Madison', 2830, '53777', '608', '43.0733', '-89.4012', '2018-11-29 04:56:42', '2018-11-29 04:56:42'),\n(34663, 'Madison', 2830, '53778', '608', '43.0733', '-89.4012', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34664, 'Milwaukee', 2830, '53278', '414', '43.0389', '-87.9065', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34665, 'Us Bank', 2830, '53278', '414', '43.0389', '-87.9065', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34666, 'Belmont', 2830, '53510', '608', '42.736658', '-90.320298', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34667, 'Beloit', 2830, '53511', '608', '42.558546', '-89.098596', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34668, 'Beloit', 2830, '53512', '608', '42.5086', '-89.0319', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34669, 'Sullivan', 2830, '53178', '262', '43.026028', '-88.60247', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34670, 'Woodworth', 2830, '53194', '262', '42.5581', '-88.0014', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34671, 'Zenda', 2830, '53195', '262', '42.513436', '-88.484318', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34672, 'Glendale', 2830, '53212', '414', '43.074668', '-87.906528', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34673, 'Milwaukee', 2830, '53212', '414', '43.074668', '-87.906528', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34674, 'Plum City', 2830, '54761', '715', '44.619484', '-92.18083', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34675, 'Stanley', 2830, '54768', '715', '44.878346', '-90.924534', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34676, 'Strum', 2830, '54770', '715', '44.556096', '-91.383794', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34677, 'Glidden', 2830, '54527', '715', '46.15447', '-90.67543', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34678, 'Mc Naughton', 2830, '54543', '715', '45.734584', '-89.531198', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34679, 'Mcnaughton', 2830, '54543', '715', '45.734584', '-89.531198', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34680, 'Montreal', 2830, '54550', '715', '46.359962', '-90.269942', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34681, 'Pence', 2830, '54550', '715', '46.359962', '-90.269942', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34682, 'Taylor', 2830, '54659', '715', '44.28545', '-91.090023', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34683, 'Trempealeau', 2830, '54661', '608', '44.066368', '-91.446426', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34684, 'Rib Lake', 2830, '54470', '715', '45.274029', '-90.167383', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34685, 'Rudolph', 2830, '54475', '715', '44.474782', '-89.786194', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34686, 'Rozellville', 2830, '54484', '715', '44.799904', '-90.07316', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34687, 'Stratford', 2830, '54484', '715', '44.799904', '-90.07316', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34688, 'Star Lake', 2830, '54561', '715', '46.062182', '-89.455267', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34689, 'Starlake', 2830, '54561', '715', '46.062182', '-89.455267', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34690, 'Dorchester', 2830, '54425', '715', '45.010324', '-90.306919', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34691, 'Hewitt', 2830, '54441', '715', '44.644797', '-90.102314', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34692, 'Howards Grove', 2830, '53083', '920', '43.826678', '-87.773894', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34693, 'Howards Grove Br #4', 2830, '53083', '920', '43.826678', '-87.773894', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34694, 'Sheboygan', 2830, '53083', '920', '43.826678', '-87.773894', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34695, 'Sheboygan Falls', 2830, '53085', '920', '43.74108', '-87.851031', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34696, 'Sheboygan Fls', 2830, '53085', '920', '43.74108', '-87.851031', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34697, 'Slinger', 2830, '53086', '262', '43.324808', '-88.26858', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34698, 'Benet Lake', 2830, '53102', '262', '42.5388', '-88.0243', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34699, 'Trevor', 2830, '53102', '262', '42.5388', '-88.0243', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34700, 'Dousman', 2830, '53118', '262', '42.971027', '-88.48835', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34701, 'Eagle', 2830, '53119', '262', '42.889684', '-88.485878', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34702, 'Muskego', 2830, '53150', '262', '42.877666', '-88.132172', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34703, 'Oak Creek', 2830, '53154', '414', '42.886284', '-87.888551', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34704, 'Edgar', 2830, '54426', '715', '44.901871', '-90.031777', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34705, 'Fenwood', 2830, '54426', '715', '44.901871', '-90.031777', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34706, 'Poniatowski', 2830, '54426', '715', '44.901871', '-90.031777', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34707, 'Rib Falls', 2830, '54426', '715', '44.901871', '-90.031777', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34708, 'Clam Lake', 2830, '54517', '715', '46.274524', '-90.893887', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34709, 'Institute', 2830, '54235', '920', '44.839983', '-87.399715', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34710, 'Jacksonport', 2830, '54235', '920', '44.839983', '-87.399715', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34711, 'Sevastopol', 2830, '54235', '920', '44.839983', '-87.399715', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34712, 'Sturgeon Bay', 2830, '54235', '920', '44.839983', '-87.399715', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34713, 'Valmy', 2830, '54235', '920', '44.839983', '-87.399715', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34714, 'Employers Health Insure Cos', 2830, '54344', '920', '44.5195', '-88.0199', '2018-11-29 04:56:43', '2018-11-29 04:56:43'),\n(34715, 'Employers Hlt Ins Co', 2830, '54344', '920', '44.5195', '-88.0199', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34716, 'Green Bay', 2830, '54344', '920', '44.5195', '-88.0199', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34717, 'Atwood', 2830, '54460', '715', '44.96948', '-90.546086', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34718, 'Green Grove', 2830, '54460', '715', '44.96948', '-90.546086', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34719, 'Owen', 2830, '54460', '715', '44.96948', '-90.546086', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34720, 'Dunbar', 2830, '54119', '715', '45.630861', '-88.140589', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34721, 'Pembine', 2830, '54119', '715', '45.630861', '-88.140589', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34722, 'Gillett', 2830, '54124', '920', '44.916061', '-88.348086', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34723, 'Pulcifer', 2830, '54124', '920', '44.916061', '-88.348086', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34724, 'Underhill', 2830, '54124', '920', '44.916061', '-88.348086', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34725, 'Greenleaf', 2830, '54126', '920', '44.291411', '-88.009342', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34726, 'Wayside', 2830, '54126', '920', '44.291411', '-88.009342', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34727, 'Rio', 2830, '53960', '920', '43.390192', '-89.254525', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34728, 'Wisc Dells', 2830, '53965', '608', '43.69647', '-89.760225', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34729, 'Wisconsin Dells', 2830, '53965', '608', '43.69647', '-89.760225', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34730, 'Amery', 2830, '54001', '715', '45.343745', '-92.36489', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34731, 'Deronda', 2830, '54001', '715', '45.343745', '-92.36489', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34732, 'Joel', 2830, '54001', '715', '45.343745', '-92.36489', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34733, 'Little Falls', 2830, '54001', '715', '45.343745', '-92.36489', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34734, 'Range', 2830, '54001', '715', '45.343745', '-92.36489', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34735, 'Wanderoos', 2830, '54001', '715', '45.343745', '-92.36489', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34736, 'Alden', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34737, 'Cylon', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34738, 'Erin', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34739, 'Huntington', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34740, 'Jewett', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34741, 'New Johannesburg', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34742, 'New Richmond', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34743, 'Stanton', 2830, '54017', '715', '45.125398', '-92.502232', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34744, 'Star Prairie', 2830, '54026', '715', '45.238178', '-92.534457', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34745, 'Madison', 2830, '53790', '608', '43.0733', '-89.4012', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34746, 'Wi Dept Revenue Box 268', 2830, '53790', '608', '43.0733', '-89.4012', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34747, 'Cassville', 2830, '53806', '608', '42.737681', '-90.92532', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34748, 'Sinsinawa', 2830, '53824', '608', '42.5237', '-90.5395', '2018-11-29 04:56:44', '2018-11-29 04:56:44');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(34749, 'Portage', 2830, '53901', '608', '43.546082', '-89.467568', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34750, 'Cazenovia', 2830, '53924', '608', '43.458348', '-90.267836', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34751, 'Dalton', 2830, '53926', '920', '43.671054', '-89.216076', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34752, 'Janesville', 2830, '53547', '608', '42.6825', '-89.0188', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34753, 'Mc Farland', 2830, '53558', '608', '43.006407', '-89.287991', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34754, 'Mineral Point', 2830, '53565', '608', '42.841364', '-90.159419', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34755, 'Boaz', 2830, '53581', '608', '43.371541', '-90.429814', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34756, 'Richland Center', 2830, '53581', '608', '43.371541', '-90.429814', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34757, 'Richland Ctr', 2830, '53581', '608', '43.371541', '-90.429814', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34758, 'Madison', 2830, '53706', '608', '43.074766', '-89.411213', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34759, 'Madison', 2830, '53708', '608', '43.0733', '-89.4012', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34760, 'Madison', 2830, '53715', '608', '43.061918', '-89.397477', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34761, 'S Milwaukee', 2830, '53172', '414', '42.911723', '-87.860712', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34762, 'South Milwaukee', 2830, '53172', '414', '42.911723', '-87.860712', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34763, 'Milwaukee', 2830, '53290', '414', '43.0389', '-87.9065', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34764, 'We Energies', 2830, '53290', '414', '43.0389', '-87.9065', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34765, 'Mount Pleasant', 2830, '53406', '262', '42.733335', '-87.874706', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34766, 'Mt Pleasant', 2830, '53406', '262', '42.733335', '-87.874706', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34767, 'Racine', 2830, '53406', '262', '42.733335', '-87.874706', '2018-11-29 04:56:44', '2018-11-29 04:56:44'),\n(34768, 'Avoca', 2830, '53506', '608', '43.143259', '-90.266258', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34769, 'Gotham', 2830, '53540', '608', '43.221257', '-90.29405', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34770, 'Brookfield', 2830, '53072', '262', '43.080391', '-88.261808', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34771, 'Brookfld', 2830, '53072', '262', '43.080391', '-88.261808', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34772, 'Pewaukee', 2830, '53072', '262', '43.080391', '-88.261808', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34773, 'Twin Lakes', 2830, '53181', '262', '42.52461', '-88.242094', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34774, 'Milwaukee', 2830, '53213', '414', '43.049349', '-87.999716', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34775, 'Wauwatosa', 2830, '53213', '414', '43.049349', '-87.999716', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34776, 'Wawatosa', 2830, '53213', '414', '43.049349', '-87.999716', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34777, 'Adell', 2830, '53001', '920', '43.605446', '-88.050818', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34778, 'Eden', 2830, '53019', '920', '43.702237', '-88.30787', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34779, 'West Bend', 2830, '53095', '262', '43.380904', '-88.17084', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34780, 'Westbend', 2830, '53095', '262', '43.380904', '-88.17084', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34781, 'Cudahy', 2830, '53110', '414', '42.948379', '-87.86528', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34782, 'Fontana', 2830, '53125', '262', '42.54315', '-88.558168', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34783, 'Kenosha', 2830, '53142', '262', '42.538501', '-87.934343', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34784, 'Kenosha', 2830, '53143', '262', '42.559217', '-87.828762', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34785, 'Kenosha', 2830, '53144', '262', '42.625016', '-87.942444', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34786, 'Ashippun', 2830, '53003', '920', '43.20746', '-88.508451', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34787, 'Colgate', 2830, '53017', '262', '43.204866', '-88.25057', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34788, 'Delafield', 2830, '53018', '262', '43.042472', '-88.389086', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34789, 'Hubertus', 2830, '53033', '262', '43.239473', '-88.261312', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34790, 'Hustisford', 2830, '53034', '920', '43.34775', '-88.616928', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34791, 'Iron Ridge', 2830, '53035', '920', '43.392617', '-88.53475', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34792, 'Jackson', 2830, '53037', '262', '43.316366', '-88.149818', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34793, 'Cascade', 2830, '53011', '920', '43.662948', '-88.062771', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34794, 'Kiel', 2830, '53042', '920', '43.969097', '-87.95997', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34795, 'Brookfield', 2830, '53045', '262', '43.060772', '-88.155724', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34796, 'Chenequa', 2830, '53058', '262', '43.111178', '-88.40346', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34797, 'Nashotah', 2830, '53058', '262', '43.111178', '-88.40346', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34798, 'Neosho', 2830, '53059', '920', '43.28825', '-88.534982', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34799, 'New Holstein', 2830, '53061', '920', '43.949793', '-88.092318', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34800, 'Brussels', 2830, '54204', '920', '44.753902', '-87.621656', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34801, 'Madison', 2830, '53785', '608', '43.0733', '-89.4012', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34802, 'Wi Dept Revenue Box 59', 2830, '53785', '608', '43.0733', '-89.4012', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34803, 'Benton', 2830, '53803', '608', '42.556332', '-90.34344', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34804, 'Boscobel', 2830, '53805', '608', '43.156515', '-90.674746', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34805, 'Brandon', 2830, '53919', '920', '43.734897', '-88.769833', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34806, 'Morrisonville', 2830, '53571', '608', '43.278408', '-89.358715', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34807, 'Paddock Lake', 2830, '53168', '262', '42.582694', '-88.137215', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34808, 'Salem', 2830, '53168', '262', '42.582694', '-88.137215', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34809, 'Chase Bank', 2830, '53268', '414', '43.0389', '-87.9065', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34810, 'Milwaukee', 2830, '53268', '414', '43.0389', '-87.9065', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34811, 'Mount Pleasant', 2830, '53404', '262', '42.7527', '-87.810524', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34812, 'Mt Pleasant', 2830, '53404', '262', '42.7527', '-87.810524', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34813, 'Racine', 2830, '53404', '262', '42.7527', '-87.810524', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34814, 'Argyle', 2830, '53504', '608', '42.694032', '-89.86404', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34815, 'Brooklyn', 2830, '53521', '608', '42.842378', '-89.380216', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34816, 'Footville', 2830, '53537', '608', '42.666314', '-89.213328', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34817, 'Walworth', 2830, '53184', '262', '42.53869', '-88.597084', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34818, 'Waterford', 2830, '53185', '262', '42.787004', '-88.209086', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34819, 'Wind Lake', 2830, '53185', '262', '42.787004', '-88.209086', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34820, 'Milwaukee', 2830, '53201', '414', '43.0386', '-87.9067', '2018-11-29 04:56:45', '2018-11-29 04:56:45'),\n(34821, 'Milwaukee', 2830, '53203', '414', '43.037676', '-87.915168', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34822, 'Greenfield', 2830, '53220', '414', '42.959577', '-87.992855', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34823, 'Milwaukee', 2830, '53220', '414', '42.959577', '-87.992855', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34824, 'Bassett', 2830, '53101', '262', '42.5409', '-88.2275', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34825, 'Big Bend', 2830, '53103', '262', '42.885832', '-88.218567', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34826, 'Helenville', 2830, '53137', '262', '43.005844', '-88.667483', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34827, 'North Prairie', 2830, '53153', '262', '42.937381', '-88.403338', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34828, 'Waldo', 2830, '53093', '920', '43.64228', '-87.964802', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34829, 'Camp Lake', 2830, '53109', '262', '42.5348', '-88.1437', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34830, 'Genesee Depot', 2830, '53127', '262', '42.9667', '-88.3713', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34831, 'Allenton', 2830, '53002', '262', '43.46912', '-88.351158', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34832, 'Elkhart Lake', 2830, '53020', '920', '43.856066', '-88.000051', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34833, 'Mayville', 2830, '53050', '920', '43.508931', '-88.547685', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34834, 'Menomonee Falls', 2830, '53051', '262', '43.148492', '-88.124379', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34835, 'Menomonee Fls', 2830, '53051', '262', '43.148492', '-88.124379', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34836, 'Menomonee Falls', 2830, '53052', '262', '43.1789', '-88.1174', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34837, 'Menomonee Fls', 2830, '53052', '262', '43.1789', '-88.1174', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34838, 'River Hills', 2830, '53209', '414', '43.14093', '-87.941696', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34839, 'Milwaukee', 2830, '53226', '414', '43.051033', '-88.038152', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34840, 'Wauwatosa', 2830, '53226', '414', '43.051033', '-88.038152', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34841, 'Junction City', 2830, '54443', '715', '44.600198', '-89.749816', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34842, 'Argonne', 2830, '54511', '715', '45.727806', '-88.81012', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34843, 'Cavour', 2830, '54511', '715', '45.727806', '-88.81012', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34844, 'Hiles', 2830, '54511', '715', '45.727806', '-88.81012', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34845, 'Newald', 2830, '54511', '715', '45.727806', '-88.81012', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34846, 'Kewaunee', 2830, '54216', '920', '44.439919', '-87.587498', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34847, 'Maribel', 2830, '54227', '920', '44.282247', '-87.800672', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34848, 'Saint Nazianz', 2830, '54232', '920', '44.009926', '-87.931446', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34849, 'St Nazianz', 2830, '54232', '920', '44.009926', '-87.931446', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34850, 'Sister Bay', 2830, '54234', '920', '45.18449', '-87.104683', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34851, 'Green Bay', 2830, '54302', '920', '44.505506', '-87.967989', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34852, 'Preble', 2830, '54302', '920', '44.505506', '-87.967989', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34853, 'Wausau', 2830, '54402', '715', '44.9595', '-89.6303', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34854, 'Antigo', 2830, '54409', '715', '45.105913', '-89.191014', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34855, 'Ogema', 2830, '54459', '715', '45.44336', '-90.298976', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34856, 'City Point', 2830, '54466', '715', '44.388954', '-90.31906', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34857, 'Dexterville', 2830, '54466', '715', '44.388954', '-90.31906', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34858, 'Pittsville', 2830, '54466', '715', '44.388954', '-90.31906', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34859, 'Pray', 2830, '54466', '715', '44.388954', '-90.31906', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34860, 'Veedum', 2830, '54466', '715', '44.388954', '-90.31906', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34861, 'Green Valley', 2830, '54127', '715', '44.795997', '-88.26927', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34862, 'Wonewoc', 2830, '53968', '608', '43.632276', '-90.21327', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34863, 'Deer Park', 2830, '54007', '715', '45.197984', '-92.349526', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34864, 'Electronic Data Systems', 2830, '53784', '608', '43.0733', '-89.4012', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34865, 'Madison', 2830, '53784', '608', '43.0733', '-89.4012', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34866, 'Cuba City', 2830, '53807', '608', '42.608938', '-90.486662', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34867, 'Fennimore', 2830, '53809', '608', '42.985294', '-90.623379', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34868, 'Platteville', 2830, '53818', '608', '42.7422', '-90.492781', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34869, 'Cambria', 2830, '53923', '920', '43.576898', '-89.126884', '2018-11-29 04:56:46', '2018-11-29 04:56:46'),\n(34870, 'Friesland', 2830, '53923', '920', '43.576898', '-89.126884', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34871, 'Columbus', 2830, '53925', '920', '43.339732', '-89.055531', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34872, 'Mauston', 2830, '53948', '608', '43.77371', '-90.036778', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34873, 'Houlton', 2830, '54082', '715', '45.074509', '-92.751928', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34874, 'Stoughton', 2830, '53589', '608', '42.93215', '-89.205772', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34875, 'Madison', 2830, '53718', '608', '43.10802', '-89.269283', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34876, 'Madison', 2830, '53725', '608', '43.0733', '-89.4012', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34877, 'Somers', 2830, '53171', '262', '42.6405', '-87.9103', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34878, 'Mount Pleasant', 2830, '53405', '262', '42.733967', '-87.821138', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34879, 'Mt Pleasant', 2830, '53405', '262', '42.733967', '-87.821138', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34880, 'Racine', 2830, '53405', '262', '42.733967', '-87.821138', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34881, 'Blanchardville', 2830, '53516', '608', '42.793248', '-89.877421', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34882, 'Blanchardvlle', 2830, '53516', '608', '42.793248', '-89.877421', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34883, 'De Forest', 2830, '53532', '608', '43.231054', '-89.345398', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34884, 'North Lake', 2830, '53064', '262', '43.1564', '-88.3708', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34885, 'Union Grove', 2830, '53182', '262', '42.70649', '-88.041902', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34886, 'Brown Deer', 2830, '53223', '414', '43.163245', '-87.994068', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34887, 'Milwaukee', 2830, '53223', '414', '43.163245', '-87.994068', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34888, 'Franklin', 2830, '53132', '414', '42.887021', '-88.009704', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34889, 'Lyons', 2830, '53148', '262', '42.650608', '-88.360713', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34890, 'Milwaukee', 2830, '53222', '414', '43.082451', '-88.037994', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34891, 'Wauwatosa', 2830, '53222', '414', '43.082451', '-88.037994', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34892, 'Wawatosa', 2830, '53222', '414', '43.082451', '-88.037994', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34893, 'Saint Cloud', 2830, '53079', '920', '43.79738', '-88.195392', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34894, 'Sheboygan', 2830, '53081', '920', '43.706994', '-87.743121', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34895, 'Mequon', 2830, '53097', '262', '43.236256', '-87.98338', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34896, 'Thiensville', 2830, '53097', '262', '43.236256', '-87.98338', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34897, 'Woodland', 2830, '53099', '920', '43.3705', '-88.5186', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34898, 'Bristol', 2830, '53104', '262', '42.553687', '-88.024523', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34899, 'Delavan', 2830, '53115', '262', '42.659076', '-88.65956', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34900, 'Honey Creek', 2830, '53138', '262', '42.7483', '-88.3075', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34901, 'Kenosha', 2830, '53140', '262', '42.624328', '-87.828556', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34902, 'Belgium', 2830, '53004', '262', '43.499537', '-87.875874', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34903, 'Hingham', 2830, '53031', '920', '43.6388', '-87.9143', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34904, 'Malone', 2830, '53049', '920', '43.884606', '-88.30262', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34905, 'Merton', 2830, '53056', '262', '43.1519', '-88.3144', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34906, 'Butler', 2830, '53007', '262', '43.107924', '-88.07139', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34907, 'Chilton', 2830, '53014', '920', '44.002523', '-88.190402', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34908, 'Clyman', 2830, '53016', '920', '43.312482', '-88.719292', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34909, 'Horicon', 2830, '53032', '920', '43.433911', '-88.632646', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34910, 'Mount Calvary', 2830, '53057', '920', '43.795529', '-88.257229', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34911, 'Greenbush', 2830, '53026', '920', '43.7764', '-88.0838', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34912, 'Newburg', 2830, '53060', '262', '43.4317', '-88.0466', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34913, 'Redville', 2830, '54498', '715', '45.038605', '-90.607002', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34914, 'Withee', 2830, '54498', '715', '45.038605', '-90.607002', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34915, 'Tony', 2830, '54563', '715', '45.473372', '-90.971819', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34916, 'Carter', 2830, '54566', '715', '45.421685', '-88.627729', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34917, 'Padus', 2830, '54566', '715', '45.421685', '-88.627729', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34918, 'Soperton', 2830, '54566', '715', '45.421685', '-88.627729', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34919, 'Wabeno', 2830, '54566', '715', '45.421685', '-88.627729', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34920, 'Lublin', 2830, '54447', '715', '45.075362', '-90.739523', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34921, 'Boulder Jct', 2830, '54512', '715', '46.054926', '-89.679427', '2018-11-29 04:56:47', '2018-11-29 04:56:47'),\n(34922, 'Boulder Junction', 2830, '54512', '715', '46.054926', '-89.679427', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34923, 'Catawba', 2830, '54515', '715', '45.493433', '-90.525668', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34924, 'Francis Creek', 2830, '54214', '920', '44.200529', '-87.719722', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34925, 'Cato', 2830, '54230', '920', '44.150592', '-87.902824', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34926, 'Reedsville', 2830, '54230', '920', '44.150592', '-87.902824', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34927, 'Valders', 2830, '54245', '920', '44.024904', '-87.909882', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34928, 'Pelican Lake', 2830, '54463', '715', '45.496874', '-89.20862', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34929, 'Pickerel', 2830, '54465', '715', '45.35194', '-88.907796', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34930, 'Beaver', 2830, '54114', '715', '45.24844', '-88.103079', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34931, 'Crivitz', 2830, '54114', '715', '45.24844', '-88.103079', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34932, 'Middle Inlet', 2830, '54114', '715', '45.24844', '-88.103079', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34933, 'Freedom', 2830, '54131', '920', '44.3641', '-88.2626', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34934, 'Kaukauna', 2830, '54131', '920', '44.3641', '-88.2626', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34935, 'Angelica', 2830, '54162', '920', '44.673924', '-88.283218', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34936, 'Kunesh', 2830, '54162', '920', '44.673924', '-88.283218', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34937, 'Pulaski', 2830, '54162', '920', '44.673924', '-88.283218', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34938, 'South Chase', 2830, '54162', '920', '44.673924', '-88.283218', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34939, 'Emerald', 2830, '54013', '715', '45.076972', '-92.247752', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34940, 'Glenwood City', 2830, '54013', '715', '45.076972', '-92.247752', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34941, 'Glen Haven', 2830, '53810', '608', '42.825432', '-91.004114', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34942, 'Hazel Green', 2830, '53811', '608', '42.544409', '-90.51448', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34943, 'Lancaster', 2830, '53813', '608', '42.850716', '-90.689558', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34944, 'Woodman', 2830, '53827', '608', '43.043117', '-90.835771', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34945, 'Arlington', 2830, '53911', '608', '43.32196', '-89.354137', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34946, 'Doylestown', 2830, '53928', '920', '43.426914', '-89.14983', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34947, 'Fairwater', 2830, '53931', '920', '43.732076', '-88.865345', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34948, 'Marquette', 2830, '53947', '920', '43.741902', '-89.142366', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34949, 'Slag Pile', 2830, '54028', '715', '44.946023', '-92.267834', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34950, 'Wildwood', 2830, '54028', '715', '44.946023', '-92.267834', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34951, 'Woodville', 2830, '54028', '715', '44.946023', '-92.267834', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34952, 'Greenfield', 2830, '53227', '414', '42.994286', '-88.042868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34953, 'Milwaukee', 2830, '53227', '414', '42.994286', '-88.042868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34954, 'Highland', 2830, '53543', '608', '43.050273', '-90.33266', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34955, 'Pr Du Sac', 2830, '53578', '608', '43.31454', '-89.798076', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34956, 'Prairie Du Sac', 2830, '53578', '608', '43.31454', '-89.798076', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34957, 'Reeseville', 2830, '53579', '920', '43.296853', '-88.88129', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34958, 'Fitchburg', 2830, '53711', '608', '43.020436', '-89.412671', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34959, 'Madison', 2830, '53711', '608', '43.020436', '-89.412671', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34960, 'Fitchburg', 2830, '53713', '608', '43.03725', '-89.386868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34961, 'Madison', 2830, '53713', '608', '43.03725', '-89.386868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34962, 'Monona', 2830, '53713', '608', '43.03725', '-89.386868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34963, 'Powers Lake', 2830, '53159', '262', '42.5537', '-88.2946', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34964, 'Springfield', 2830, '53176', '262', '42.643553', '-88.397928', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34965, 'New Berlin', 2830, '53227', '414', '42.994286', '-88.042868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34966, 'West Allis', 2830, '53227', '414', '42.994286', '-88.042868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34967, 'Milwaukee', 2830, '53293', '414', '43.0389', '-87.9065', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34968, 'Wi Dept Transportion', 2830, '53293', '414', '43.0389', '-87.9065', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34969, 'Darlington', 2830, '53530', '608', '42.704681', '-90.132202', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34970, 'Salvatorian Center', 2830, '53062', '920', '43.9485', '-88.0849', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34971, 'Salvtrian Ctr', 2830, '53062', '920', '43.9485', '-88.0849', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34972, 'Society Of The Divine Savior', 2830, '53062', '920', '43.9485', '-88.0849', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34973, 'Trevor', 2830, '53179', '262', '42.517352', '-88.127868', '2018-11-29 04:56:48', '2018-11-29 04:56:48'),\n(34974, 'Milwaukee', 2830, '53210', '414', '43.068024', '-87.977309', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34975, 'Wauwatosa', 2830, '53210', '414', '43.068024', '-87.977309', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34976, 'Wawatosa', 2830, '53210', '414', '43.068024', '-87.977309', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34977, 'Glendale', 2830, '53211', '414', '43.081652', '-87.890288', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34978, 'Milwaukee', 2830, '53211', '414', '43.081652', '-87.890288', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34979, 'Shorewood', 2830, '53211', '414', '43.081652', '-87.890288', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34980, 'Whitefish Bay', 2830, '53211', '414', '43.081652', '-87.890288', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34981, 'Random Lake', 2830, '53075', '920', '43.571829', '-88.01052', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34982, 'Richfield', 2830, '53076', '262', '43.268096', '-88.211866', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34983, 'Rubicon', 2830, '53078', '262', '43.311616', '-88.468776', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34984, 'Mequon', 2830, '53092', '262', '43.22145', '-87.948345', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34985, 'Thiensville', 2830, '53092', '262', '43.22145', '-87.948345', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34986, 'Johnson Creek', 2830, '53094', '920', '43.132397', '-88.726081', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34987, 'Watertown', 2830, '53094', '920', '43.132397', '-88.726081', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34988, 'Franksville', 2830, '53126', '262', '42.79102', '-87.995284', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34989, 'Mount Pleasant', 2830, '53126', '262', '42.79102', '-87.995284', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34990, 'Genoa City', 2830, '53128', '262', '42.537975', '-88.351465', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34991, 'Brookfield', 2830, '53008', '262', '43.0606', '-88.1065', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34992, 'Campbellsport', 2830, '53010', '920', '43.630288', '-88.290502', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34993, 'Hartford', 2830, '53027', '262', '43.317888', '-88.363684', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34994, 'Kohler', 2830, '53044', '920', '43.739443', '-87.785102', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34995, 'New Holstein', 2830, '53062', '920', '43.9485', '-88.0849', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34996, 'Appleton', 2830, '54919', '920', '44.2617', '-88.4153', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34997, 'Thrivent Finan For Lutherans', 2830, '54919', '920', '44.2617', '-88.4153', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34998, 'Bancroft', 2830, '54921', '715', '44.283318', '-89.587144', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(34999, 'Caroline', 2830, '54928', '715', '44.738168', '-88.889719', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(35000, 'King', 2830, '54946', '715', '44.2666', '-89.1272', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(35001, 'Apo', 2777, '09075', '000', '0', '0', '2018-11-29 04:56:49', '2018-11-29 04:56:49'),\n(35002, 'Apo', 2777, '09095', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35003, 'Apo', 2777, '09102', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35004, 'Apo', 2777, '09104', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35005, 'Dpo', 2777, '09836', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35006, 'Fpo', 2777, '09838', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35007, 'Fpo', 2777, '09543', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35008, 'Fpo', 2777, '09568', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35009, 'Fpo', 2777, '09570', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35010, 'Fpo', 2777, '09579', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35011, 'Fpo', 2777, '09636', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35012, 'Apo', 2777, '09143', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35013, 'Apo', 2777, '09177', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35014, 'Apo', 2777, '09245', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35015, 'Apo', 2777, '09304', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35016, 'Apo', 2777, '09309', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35017, 'Apo', 2777, '09352', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35018, 'Fpo', 2777, '09363', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35019, 'Apo', 2777, '09370', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35020, 'Apo', 2777, '09704', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35021, 'Apo', 2777, '09720', '000', '0', '0', '2018-11-29 04:56:50', '2018-11-29 04:56:50'),\n(35022, 'Apo', 2777, '09722', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35023, 'Dpo', 2777, '09727', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35024, 'Apo', 2777, '09009', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35025, 'Apo', 2777, '09020', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35026, 'Dpo', 2777, '09393', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35027, 'Apo', 2777, '09461', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35028, 'Apo', 2777, '09468', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35029, 'Apo', 2777, '09470', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35030, 'Dpo', 2777, '09744', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35031, 'Dpo', 2777, '09769', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35032, 'Apo', 2777, '09844', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35033, 'Fpo', 2777, '09844', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35034, 'Apo', 2777, '09603', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35035, 'Apo', 2777, '09605', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35036, 'Apo', 2777, '09630', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35037, 'Dpo', 2777, '09880', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35038, 'Apo', 2777, '09201', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35039, 'Apo', 2777, '09226', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35040, 'Fpo', 2777, '09312', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35041, 'Apo', 2777, '09353', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35042, 'Apo', 2777, '09360', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35043, 'Fpo', 2777, '09369', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35044, 'Apo', 2777, '09705', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35045, 'Apo', 2777, '09028', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35046, 'Apo', 2777, '09387', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35047, 'Fpo', 2777, '09505', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35048, 'Fpo', 2777, '09510', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35049, 'Apo', 2777, '09060', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35050, 'Apo', 2777, '09069', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35051, 'Apo', 2777, '09092', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35052, 'Apo', 2777, '09103', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35053, 'Dpo', 2777, '09737', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35054, 'Apo', 2777, '09780', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35055, 'Dpo', 2777, '09814', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35056, 'Apo', 2777, '09821', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35057, 'Apo', 2777, '09839', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35058, 'Dpo', 2777, '09846', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35059, 'Fpo', 2777, '09569', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35060, 'Fpo', 2777, '09587', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35061, 'Apo', 2777, '09610', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35062, 'Fpo', 2777, '09621', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35063, 'Apo', 2777, '09853', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35064, 'Apo', 2777, '09855', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35065, 'Apo', 2777, '09142', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35066, 'Apo', 2777, '09237', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35067, 'Apo', 2777, '09310', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35068, 'Apo', 2777, '09337', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35069, 'Apo', 2777, '09714', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35070, 'Apo', 2777, '09719', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35071, 'Dpo', 2777, '09728', '000', '0', '0', '2018-11-29 04:56:51', '2018-11-29 04:56:51'),\n(35072, 'Dpo', 2777, '09730', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35073, 'Dpo', 2777, '09758', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35074, 'Dpo', 2777, '09759', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35075, 'Fpo', 2777, '09809', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35076, 'Apo', 2777, '09810', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35077, 'Dpo', 2777, '09823', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35078, 'Dpo', 2777, '09825', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35079, 'Dpo', 2777, '09826', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35080, 'Fpo', 2777, '09840', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35081, 'Fpo', 2777, '09573', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35082, 'Fpo', 2777, '09576', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35083, 'Fpo', 2777, '09589', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35084, 'Fpo', 2777, '09590', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35085, 'Apo', 2777, '09606', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35086, 'Fpo', 2777, '09623', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35087, 'Fpo', 2777, '09626', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35088, 'Dpo', 2777, '09642', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35089, 'Fpo', 2777, '09859', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35090, 'Apo', 2777, '09139', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35091, 'Apo', 2777, '09306', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35092, 'Apo', 2777, '09307', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35093, 'Apo', 2777, '09339', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35094, 'Apo', 2777, '09340', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35095, 'Apo', 2777, '09357', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35096, 'Fpo', 2777, '09372', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35097, 'Dpo', 2777, '09374', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35098, 'Apo', 2777, '09709', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35099, 'Dpo', 2777, '09723', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35100, 'Apo', 2777, '09012', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35101, 'Apo', 2777, '09042', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35102, 'Apo', 2777, '09421', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35103, 'Apo', 2777, '09469', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35104, 'Apo', 2777, '09496', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35105, 'Apo', 2777, '09094', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35106, 'Apo', 2777, '09126', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35107, 'Apo', 2777, '09128', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35108, 'Apo', 2777, '09058', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35109, 'Apo', 2777, '09090', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35110, 'Apo', 2777, '09107', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35111, 'Apo', 2777, '09123', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35112, 'Dpo', 2777, '09738', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35113, 'Apo', 2777, '09745', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35114, 'Dpo', 2777, '09777', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35115, 'Dpo', 2777, '09806', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35116, 'Dpo', 2777, '09813', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35117, 'Dpo', 2777, '09827', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35118, 'Apo', 2777, '09829', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35119, 'Dpo', 2777, '09845', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35120, 'Apo', 2777, '09852', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35121, 'Fpo', 2777, '09520', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35122, 'Fpo', 2777, '09554', '000', '0', '0', '2018-11-29 04:56:52', '2018-11-29 04:56:52'),\n(35123, 'Fpo', 2777, '09577', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35124, 'Fpo', 2777, '09588', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35125, 'Apo', 2777, '09602', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35126, 'Apo', 2777, '09604', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35127, 'Apo', 2777, '09613', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35128, 'Fpo', 2777, '09622', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35129, 'Fpo', 2777, '09645', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35130, 'Apo', 2777, '09211', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35131, 'Apo', 2777, '09229', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35132, 'Apo', 2777, '09261', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35133, 'Apo', 2777, '09302', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35134, 'Apo', 2777, '09313', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35135, 'Apo', 2777, '09320', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35136, 'Apo', 2777, '09354', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35137, 'Apo', 2777, '09368', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35138, 'Apo', 2777, '09702', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35139, 'Fpo', 2777, '09729', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35140, 'Apo', 2777, '09757', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35141, 'Apo', 2777, '09824', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35142, 'Fpo', 2777, '09556', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35143, 'Fpo', 2777, '09557', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35144, 'Fpo', 2777, '09574', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35145, 'Fpo', 2777, '09607', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35146, 'Fpo', 2777, '09608', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35147, 'Dpo', 2777, '09624', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35148, 'Fpo', 2777, '09625', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35149, 'Apo', 2777, '09858', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35150, 'Dpo', 2777, '09874', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35151, 'Dpo', 2777, '09876', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35152, 'Apo', 2777, '09890', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35153, 'Dpo', 2777, '09890', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35154, 'Apo', 2777, '09172', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35155, 'Apo', 2777, '09005', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35156, 'Apo', 2777, '09008', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35157, 'Fpo', 2777, '09506', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35158, 'Fpo', 2777, '09507', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35159, 'Apo', 2777, '09007', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35160, 'Apo', 2777, '09038', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35161, 'Apo', 2777, '09054', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35162, 'Fpo', 2777, '09509', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35163, 'Apo', 2777, '09136', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35164, 'Dpo', 2777, '09741', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35165, 'Dpo', 2777, '09742', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35166, 'Apo', 2777, '09743', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35167, 'Dpo', 2777, '09807', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35168, 'Apo', 2777, '09841', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35169, 'Dpo', 2777, '09842', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35170, 'Apo', 2777, '09522', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35171, 'Fpo', 2777, '09522', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35172, 'Fpo', 2777, '09524', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35173, 'Fpo', 2777, '09575', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35174, 'Fpo', 2777, '09591', '000', '0', '0', '2018-11-29 04:56:53', '2018-11-29 04:56:53'),\n(35175, 'Fpo', 2777, '09609', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35176, 'Apo', 2777, '09643', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35177, 'Dpo', 2777, '09873', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35178, 'Dpo', 2777, '09875', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35179, 'Dpo', 2777, '09892', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35180, 'Apo', 2777, '09138', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35181, 'Apo', 2777, '09140', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35182, 'Apo', 2777, '09173', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35183, 'Dpo', 2777, '09308', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35184, 'Apo', 2777, '09323', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35185, 'Apo', 2777, '09355', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35186, 'Fpo', 2777, '09373', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35187, 'Dpo', 2777, '09707', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35188, 'Apo', 2777, '09724', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35189, 'Dpo', 2777, '09726', '000', '0', '0', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35190, 'Anchorage', 2778, '99503', '907', '61.189063', '-149.886241', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35191, 'Anchorage', 2778, '99504', '907', '61.207482', '-149.74147', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35192, 'Anch', 2778, '99505', '907', '61.274626', '-149.643433', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35193, 'Anchorage', 2778, '99505', '907', '61.274626', '-149.643433', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35194, 'Fort Richardson', 2778, '99505', '907', '61.274626', '-149.643433', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35195, 'Ft Richardson', 2778, '99505', '907', '61.274626', '-149.643433', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35196, 'Jber', 2778, '99505', '907', '61.274626', '-149.643433', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35197, 'Anchorage', 2778, '99506', '907', '61.275689', '-149.787651', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35198, 'Elmendorf AFB', 2778, '99506', '907', '61.275689', '-149.787651', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35199, 'Jber', 2778, '99506', '907', '61.275689', '-149.787651', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35200, 'Anchorage', 2778, '99519', '907', '61.2181', '-149.9003', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35201, 'Anchorage', 2778, '99520', '907', '61.2181', '-149.9003', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35202, 'Akutan', 2778, '99553', '907', '54.16727', '-165.747981', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35203, 'Anchor Point', 2778, '99556', '907', '59.81156', '-151.640287', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35204, 'Nikolaevsk', 2778, '99556', '907', '59.81156', '-151.640287', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35205, 'Goodnews Bay', 2778, '99589', '907', '58.947547', '-161.710552', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35206, 'Hooper Bay', 2778, '99604', '907', '61.501903', '-165.44894', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35207, 'Iliamna', 2778, '99606', '907', '59.67983', '-155.557717', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35208, 'Kokhanok', 2778, '99606', '907', '59.67983', '-155.557717', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35209, 'Kokhonak', 2778, '99606', '907', '59.67983', '-155.557717', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35210, 'Kodiak', 2778, '99619', '907', '57.7903', '-152.4075', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35211, 'Uscgs', 2778, '99619', '907', '57.7903', '-152.4075', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35212, 'Kwigillingok', 2778, '99622', '907', '59.893258', '-163.00375', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35213, 'Ninilchik', 2778, '99639', '907', '60.031154', '-151.426449', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35214, 'Wasilla', 2778, '99654', '907', '61.493489', '-149.767459', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35215, 'Quinhagak', 2778, '99655', '907', '59.660381', '-161.099902', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35216, 'Soldotna', 2778, '99669', '907', '60.396127', '-150.962582', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35217, 'S Naknek', 2778, '99670', '907', '58.732084', '-156.914533', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35218, 'South Naknek', 2778, '99670', '907', '58.732084', '-156.914533', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35219, 'Valdez', 2778, '99686', '907', '60.605332', '-146.856312', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35220, 'Wasilla', 2778, '99687', '907', '61.361762', '-150.077446', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35221, 'Yakutat', 2778, '99689', '907', '59.74337', '-139.502946', '2018-11-29 04:56:54', '2018-11-29 04:56:54');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(35222, 'Deering', 2778, '99736', '907', '66.015195', '-163.100623', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35223, 'Delta Jct', 2778, '99737', '907', '63.780185', '-145.36958', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35224, 'Delta Junction', 2778, '99737', '907', '63.780185', '-145.36958', '2018-11-29 04:56:54', '2018-11-29 04:56:54'),\n(35225, 'Dot Lake', 2778, '99737', '907', '63.780185', '-145.36958', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35226, 'Elim', 2778, '99739', '907', '64.687022', '-162.091514', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35227, 'Fort Yukon', 2778, '99740', '907', '66.442517', '-145.755329', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35228, 'Ft Yukon', 2778, '99740', '907', '66.442517', '-145.755329', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35229, 'Selawik', 2778, '99770', '907', '66.298044', '-159.940988', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35230, 'Shishmaref', 2778, '99772', '907', '66.078272', '-165.75569', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35231, 'Chalkyitsik', 2778, '99788', '907', '66.641779', '-143.750702', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35232, 'Fort Yukon', 2778, '99788', '907', '66.641779', '-143.750702', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35233, 'Barrow', 2778, '99789', '907', '69.836916', '-152.148914', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35234, 'Nuiqsut', 2778, '99789', '907', '69.836916', '-152.148914', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35235, 'Auke Bay', 2778, '99821', '907', '58.3833', '-134.6591', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35236, 'Juneau', 2778, '99821', '907', '58.3833', '-134.6591', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35237, 'Hydaburg', 2778, '99922', '907', '55.09599', '-132.618224', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35238, 'Anchorage', 2778, '99514', '907', '61.2181', '-149.9003', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35239, 'Kongiganak', 2778, '99545', '907', '0', '0', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35240, 'Chefornak', 2778, '99561', '907', '60.159414', '-164.068411', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35241, 'Kenai', 2778, '99611', '907', '60.756211', '-150.520266', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35242, 'Nikiski', 2778, '99611', '907', '60.756211', '-150.520266', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35243, 'King Cove', 2778, '99612', '907', '55.38226', '-161.945536', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35244, 'Kipnuk', 2778, '99614', '907', '59.933784', '-164.070364', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35245, 'Meadow Lake', 2778, '99629', '907', '61.58', '-149.44', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35246, 'Wasilla', 2778, '99629', '907', '61.58', '-149.44', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35247, 'Mekoryuk', 2778, '99630', '907', '60.088095', '-166.481491', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35248, 'Ouzinkie', 2778, '99644', '907', '57.929975', '-152.425193', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35249, 'Palmer', 2778, '99645', '907', '61.772', '-148.182587', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35250, 'Iliamna', 2778, '99647', '907', '59.839534', '-154.037942', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35251, 'Pedro Bay', 2778, '99647', '907', '59.839534', '-154.037942', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35252, 'Seldovia', 2778, '99663', '907', '59.319224', '-151.69941', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35253, 'Hughes', 2778, '99745', '907', '65.96155', '-153.955466', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35254, 'Huslia', 2778, '99746', '907', '65.695383', '-156.324495', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35255, 'Kaltag', 2778, '99748', '907', '64.338994', '-158.712205', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35256, 'Northway', 2778, '99764', '907', '63.000768', '-141.69352', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35257, 'Teller', 2778, '99778', '907', '65.061886', '-166.428628', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35258, 'Juneau', 2778, '99812', '907', '58.28', '-134.4', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35259, 'State Of Alaska  Brm', 2778, '99812', '907', '58.28', '-134.4', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35260, 'Kake', 2778, '99830', '907', '56.967612', '-133.936153', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35261, 'Anchorage', 2778, '99515', '907', '61.110408', '-149.90433', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35262, 'Chignik Lagn', 2778, '99565', '907', '56.30741', '-158.49604', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35263, 'Chignik Lagoon', 2778, '99565', '907', '56.30741', '-158.49604', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35264, 'Chugiak', 2778, '99567', '907', '61.423518', '-149.329945', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35265, 'Kasilof', 2778, '99610', '907', '60.353592', '-151.277367', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35266, 'Akhiok', 2778, '99615', '907', '57.687364', '-153.378962', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35267, 'Chiniak', 2778, '99615', '907', '57.687364', '-153.378962', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35268, 'Kodiak', 2778, '99615', '907', '57.687364', '-153.378962', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35269, 'Pilot Point', 2778, '99649', '907', '57.806578', '-157.139176', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35270, 'Saint Marys', 2778, '99658', '907', '62.27055', '-163.300246', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35271, 'St Marys', 2778, '99658', '907', '62.27055', '-163.300246', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35272, 'Saint Paul', 2778, '99660', '907', '57.180953', '-170.267225', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35273, 'Saint Paul Island', 2778, '99660', '907', '57.180953', '-170.267225', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35274, 'St Paul', 2778, '99660', '907', '57.180953', '-170.267225', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35275, 'St Paul Island', 2778, '99660', '907', '57.180953', '-170.267225', '2018-11-29 04:56:55', '2018-11-29 04:56:55'),\n(35276, 'St Paul Isle', 2778, '99660', '907', '57.180953', '-170.267225', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35277, 'Skwentna', 2778, '99667', '907', '61.93926', '-151.735321', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35278, 'Talkeetna', 2778, '99676', '907', '62.427257', '-148.767307', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35279, 'Bethel', 2778, '99690', '907', '60.497861', '-164.812707', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35280, 'Nightmute', 2778, '99690', '907', '60.497861', '-164.812707', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35281, 'Houston', 2778, '99694', '907', '61.659783', '-149.807672', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35282, 'Fairbanks', 2778, '99708', '907', '64.8379', '-147.7166', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35283, 'Bettles', 2778, '99726', '907', '67.277654', '-150.945403', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35284, 'Bettles Field', 2778, '99726', '907', '67.277654', '-150.945403', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35285, 'Anderson', 2778, '99744', '907', '64.2816', '-149.131769', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35286, 'Nenana', 2778, '99744', '907', '64.2816', '-149.131769', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35287, 'Kiana', 2778, '99749', '907', '67.563649', '-160.305093', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35288, 'Kobuk', 2778, '99751', '907', '67.058942', '-155.96794', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35289, 'Wales', 2778, '99783', '907', '65.672559', '-167.587124', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35290, 'Brevig Mission', 2778, '99785', '907', '65.441346', '-166.939622', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35291, 'Brevig Msn', 2778, '99785', '907', '65.441346', '-166.939622', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35292, 'Juneau', 2778, '99801', '907', '58.380109', '-134.177531', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35293, 'Kupreanof', 2778, '99833', '907', '56.711501', '-133.132822', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35294, 'Petersburg', 2778, '99833', '907', '56.711501', '-133.132822', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35295, 'Edna Bay', 2778, '99901', '907', '55.583689', '-131.393027', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35296, 'Kasaan', 2778, '99901', '907', '55.583689', '-131.393027', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35297, 'Ketchikan', 2778, '99901', '907', '55.583689', '-131.393027', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35298, 'Naukati Bay', 2778, '99901', '907', '55.583689', '-131.393027', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35299, 'Saxman', 2778, '99901', '907', '55.583689', '-131.393027', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35300, 'Ketchikan', 2778, '99919', '907', '55.651482', '-132.542306', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35301, 'Thorne Bay', 2778, '99919', '907', '55.651482', '-132.542306', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35302, 'Anchorage', 2778, '99508', '907', '61.209675', '-149.823238', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35303, 'Anchorage', 2778, '99540', '907', '61.000835', '-149.536529', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35304, 'Bird Creek', 2778, '99540', '907', '61.000835', '-149.536529', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35305, 'Indian', 2778, '99540', '907', '61.000835', '-149.536529', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35306, 'Akiachak', 2778, '99551', '907', '60.878536', '-161.425504', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35307, 'Anvik', 2778, '99558', '907', '63.30264', '-159.868254', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35308, 'Chenega Bay', 2778, '99574', '907', '60.491937', '-143.810382', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35309, 'Cordova', 2778, '99574', '907', '60.491937', '-143.810382', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35310, 'False Pass', 2778, '99583', '907', '54.711928', '-163.743349', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35311, 'Larsen Bay', 2778, '99624', '907', '57.487226', '-153.993635', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35312, 'Lower Kalskag', 2778, '99626', '907', '61.428069', '-160.56124', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35313, 'Naknek', 2778, '99633', '907', '58.835515', '-156.711103', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35314, 'Shageluk', 2778, '99665', '907', '62.601333', '-159.75036', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35315, 'Chickaloon', 2778, '99674', '907', '61.86396', '-148.442525', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35316, 'Sutton', 2778, '99674', '907', '61.86396', '-148.442525', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35317, 'Dutch Harbor', 2778, '99692', '907', '53.547528', '-166.967179', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35318, 'Unalaska', 2778, '99692', '907', '53.547528', '-166.967179', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35319, 'Fairbanks', 2778, '99710', '907', '64.8379', '-147.7166', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35320, 'Steese', 2778, '99710', '907', '64.8379', '-147.7166', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35321, 'Anchorage', 2778, '99509', '907', '61.2181', '-149.9003', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35322, 'Anchorage', 2778, '99516', '907', '61.080278', '-149.701828', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35323, 'Port Lions', 2778, '99550', '907', '57.901192', '-153.012361', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35324, 'Atmautluak', 2778, '99559', '907', '60.912509', '-161.9762', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35325, 'Bethel', 2778, '99559', '907', '60.912509', '-161.9762', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35326, 'Napaskiak', 2778, '99559', '907', '60.912509', '-161.9762', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35327, 'Newtok', 2778, '99559', '907', '60.912509', '-161.9762', '2018-11-29 04:56:56', '2018-11-29 04:56:56'),\n(35328, 'Crooked Creek', 2778, '99575', '907', '61.796974', '-157.956801', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35329, 'Kalskag', 2778, '99607', '907', '61.614712', '-160.177953', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35330, 'Kasigluk', 2778, '99609', '907', '60.887358', '-162.530154', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35331, 'Napakiak', 2778, '99634', '907', '60.687056', '-161.752377', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35332, 'Pilot Station', 2778, '99650', '907', '61.689502', '-163.177482', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35333, 'Nunam Iqua', 2778, '99666', '907', '62.195365', '-165.169144', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35334, 'Sleetmute', 2778, '99668', '907', '61.586056', '-157.000901', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35335, 'Cordova', 2778, '99677', '907', '60.5426', '-145.7578', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35336, 'Tatitlek', 2778, '99677', '907', '60.5426', '-145.7578', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35337, 'Ester', 2778, '99725', '907', '64.84392', '-148.030983', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35338, 'Kivalina', 2778, '99750', '907', '67.641648', '-163.716673', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35339, 'Ruby', 2778, '99768', '907', '64.361229', '-155.99124', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35340, 'Atqasuk', 2778, '99791', '907', '70.489114', '-157.39876', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35341, 'Barrow', 2778, '99791', '907', '70.489114', '-157.39876', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35342, 'Juneau', 2778, '99811', '907', '58.3016', '-134.4194', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35343, 'Elfin Cove', 2778, '99825', '907', '58.125642', '-135.963104', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35344, 'Port Alexander', 2778, '99836', '907', '56.2477', '-133.6438', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35345, 'Prt Alexander', 2778, '99836', '907', '56.2477', '-133.6438', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35346, 'Sitka', 2778, '99836', '907', '56.2477', '-133.6438', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35347, 'Minto', 2778, '99758', '907', '65.029085', '-149.671599', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35348, 'Nenana', 2778, '99760', '907', '64.603439', '-148.603537', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35349, 'Fairbanks', 2778, '99767', '907', '65.435538', '-149.826568', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35350, 'Rampart', 2778, '99767', '907', '65.435538', '-149.826568', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35351, 'Savoonga', 2778, '99769', '907', '63.333045', '-170.271064', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35352, 'Metlakatla', 2778, '99926', '907', '55.145032', '-131.543885', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35353, 'Ward Cove', 2778, '99928', '907', '55.4104', '-131.7237', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35354, 'Akiak', 2778, '99552', '907', '60.91462', '-161.294456', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35355, 'Aleknagik', 2778, '99555', '907', '59.344639', '-158.774876', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35356, 'Adak', 2778, '99571', '907', '55.849607', '-161.11259', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35357, 'Cold Bay', 2778, '99571', '907', '55.849607', '-161.11259', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35358, 'Nelson Lagoon', 2778, '99571', '907', '55.849607', '-161.11259', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35359, 'Gakona', 2778, '99586', '907', '62.417714', '-143.413904', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35360, 'Gulkana', 2778, '99586', '907', '62.417714', '-143.413904', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35361, 'Miers Lake', 2778, '99586', '907', '62.417714', '-143.413904', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35362, 'Slana', 2778, '99586', '907', '62.417714', '-143.413904', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35363, 'Girdwood', 2778, '99587', '907', '60.973065', '-149.11936', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35364, 'Glennallen', 2778, '99588', '907', '62.045455', '-145.040551', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35365, 'Kotlik', 2778, '99620', '907', '62.956805', '-163.90414', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35366, 'New Stuyahok', 2778, '99636', '907', '59.529522', '-157.646641', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35367, 'Bethel', 2778, '99637', '907', '60.7923', '-161.7555', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35368, 'Toksook Bay', 2778, '99637', '907', '60.7923', '-161.7555', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35369, 'Nikolski', 2778, '99638', '907', '53.006753', '-169.548592', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35370, 'Port Alsworth', 2778, '99653', '907', '60.330013', '-154.190532', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35371, 'Stebbins', 2778, '99671', '907', '63.518569', '-162.439662', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35372, 'Sterling', 2778, '99672', '907', '60.518804', '-150.790776', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35373, 'Fort Wainwright', 2778, '99703', '907', '64.832026', '-147.627188', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35374, 'Ft Wainwright', 2778, '99703', '907', '64.832026', '-147.627188', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35375, 'Anaktuvuk', 2778, '99721', '907', '68.136652', '-151.696756', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35376, 'Anaktuvuk Pass', 2778, '99721', '907', '68.136652', '-151.696756', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35377, 'Arctic Village', 2778, '99722', '907', '68.151868', '-145.485017', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35378, 'Arctic Vlg', 2778, '99722', '907', '68.151868', '-145.485017', '2018-11-29 04:56:57', '2018-11-29 04:56:57'),\n(35379, 'Barrow', 2778, '99723', '907', '70.29235', '-156.597982', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35380, 'Koyukuk', 2778, '99754', '907', '64.893256', '-157.68507', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35381, 'Juneau', 2778, '99803', '907', '58.3016', '-134.4194', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35382, 'Angoon', 2778, '99820', '907', '57.712628', '-133.669726', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35383, 'Anchorage', 2778, '99511', '907', '61.2181', '-149.9003', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35384, 'Anchorage', 2778, '99529', '907', '61.183435', '-149.988226', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35385, 'Adak', 2778, '99546', '907', '51.854871', '-177.088812', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35386, 'Eek', 2778, '99578', '907', '59.761734', '-161.904122', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35387, 'Egegik', 2778, '99579', '907', '58.082788', '-156.443555', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35388, 'Ekwok', 2778, '99580', '907', '59.528899', '-157.653496', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35389, 'Emmonak', 2778, '99581', '907', '62.697866', '-163.46605', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35390, 'Igiugig', 2778, '99613', '907', '58.746236', '-156.549078', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35391, 'King Salmon', 2778, '99613', '907', '58.746236', '-156.549078', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35392, 'Moose Pass', 2778, '99631', '907', '60.618219', '-149.279283', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35393, 'Perryville', 2778, '99648', '907', '55.938078', '-159.190058', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35394, 'Sand Point', 2778, '99661', '907', '55.264164', '-160.585536', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35395, 'Seward', 2778, '99664', '907', '60.316025', '-149.215646', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35396, 'Bethel', 2778, '99679', '907', '61.108836', '-160.95451', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35397, 'Tuluksak', 2778, '99679', '907', '61.108836', '-160.95451', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35398, 'Bethel', 2778, '99680', '907', '60.7925', '-161.7559', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35399, 'Tuntutuliak', 2778, '99680', '907', '60.7925', '-161.7559', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35400, 'Tununak', 2778, '99681', '907', '60.6138', '-164.719006', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35401, 'Anchorage', 2778, '99695', '907', '61.2181', '-149.9004', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35402, 'Badger', 2778, '99711', '907', '64.7981', '-147.5304', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35403, 'Hyder', 2778, '99923', '907', '55.582801', '-131.119272', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35404, 'Apo', 2780, '96271', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35405, 'Apo', 2780, '96319', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35406, 'Fpo', 2780, '96321', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35407, 'Apo', 2780, '96336', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35408, 'Apo', 2780, '96338', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35409, 'Fpo', 2780, '96339', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35410, 'Fpo', 2780, '96372', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35411, 'Fpo', 2780, '96388', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35412, 'Fpo', 2780, '96502', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35413, 'Dpo', 2780, '96520', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35414, 'Fpo', 2780, '96603', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35415, 'Fpo', 2780, '96604', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35416, 'Fpo', 2780, '96605', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35417, 'Fpo', 2780, '96619', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35418, 'Fpo', 2780, '96620', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35419, 'Fpo', 2780, '96622', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35420, 'Fpo', 2780, '96671', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35421, 'Fpo', 2780, '96672', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35422, 'Fpo', 2780, '96673', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35423, 'Fpo', 2780, '96686', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35424, 'Apo', 2780, '96260', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35425, 'Apo', 2780, '96278', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35426, 'Fpo', 2780, '96377', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35427, 'Apo', 2780, '96378', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35428, 'Fpo', 2780, '96379', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35429, 'Fpo', 2780, '96427', '000', '0', '0', '2018-11-29 04:56:58', '2018-11-29 04:56:58'),\n(35430, 'Fpo', 2780, '96444', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35431, 'Apo', 2780, '96447', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35432, 'Fpo', 2780, '96544', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35433, 'Apo', 2780, '96546', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35434, 'Dpo', 2780, '96562', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35435, 'Fpo', 2780, '96578', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35436, 'Fpo', 2780, '96598', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35437, 'Fpo', 2780, '96679', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35438, 'Fpo', 2780, '96681', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35439, 'Fpo', 2780, '96698', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35440, 'Fpo', 2780, '96310', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35441, 'Fpo', 2780, '96346', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35442, 'Fpo', 2780, '96362', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35443, 'Fpo', 2780, '96511', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35444, 'Fpo', 2780, '96595', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35445, 'Fpo', 2780, '96614', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35446, 'Fpo', 2780, '96628', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35447, 'Fpo', 2780, '96678', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35448, 'Apo', 2780, '96201', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35449, 'Apo', 2780, '96206', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35450, 'Apo', 2780, '96267', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35451, 'Fpo', 2780, '96349', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35452, 'Apo', 2780, '96365', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35453, 'Fpo', 2780, '96501', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35454, 'Fpo', 2780, '96510', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35455, 'Dpo', 2780, '96551', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35456, 'Fpo', 2780, '96608', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35457, 'Fpo', 2780, '96610', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35458, 'Fpo', 2780, '96665', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35459, 'Fpo', 2780, '96674', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35460, 'Apo', 2780, '96207', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35461, 'Apo', 2780, '96214', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35462, 'Apo', 2780, '96275', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35463, 'Apo', 2780, '96343', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35464, 'Fpo', 2780, '96384', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35465, 'Fpo', 2780, '96534', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35466, 'Fpo', 2780, '96602', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35467, 'Fpo', 2780, '96616', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35468, 'Fpo', 2780, '96643', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35469, 'Fpo', 2780, '96650', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35470, 'Fpo', 2780, '96666', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35471, 'Fpo', 2780, '96668', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35472, 'Apo', 2780, '96257', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35473, 'Apo', 2780, '96264', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35474, 'Apo', 2780, '96368', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35475, 'Fpo', 2780, '96373', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35476, 'Fpo', 2780, '96516', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35477, 'Dpo', 2780, '96532', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35478, 'Apo', 2780, '96550', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35479, 'Apo', 2780, '96552', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35480, 'Apo', 2780, '96557', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35481, 'Fpo', 2780, '96607', '000', '0', '0', '2018-11-29 04:56:59', '2018-11-29 04:56:59'),\n(35482, 'Fpo', 2780, '96609', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35483, 'Fpo', 2780, '96657', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35484, 'Fpo', 2780, '96269', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35485, 'Dpo', 2780, '96303', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35486, 'Fpo', 2780, '96322', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35487, 'Apo', 2780, '96386', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35488, 'Fpo', 2780, '96503', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35489, 'Dpo', 2780, '96521', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35490, 'Fpo', 2780, '96537', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35491, 'Apo', 2780, '96553', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35492, 'Dpo', 2780, '96554', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35493, 'Apo', 2780, '96555', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35494, 'Fpo', 2780, '96606', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35495, 'Fpo', 2780, '96621', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35496, 'Fpo', 2780, '96682', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35497, 'Apo', 2780, '96213', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35498, 'Apo', 2780, '96328', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35499, 'Apo', 2780, '96330', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35500, 'Fpo', 2780, '96347', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35501, 'Dpo', 2780, '96530', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35502, 'Fpo', 2780, '96531', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35503, 'Fpo', 2780, '96611', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35504, 'Fpo', 2780, '96613', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35505, 'Fpo', 2780, '96629', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35506, 'Fpo', 2780, '96661', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35507, 'Fpo', 2780, '96662', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35508, 'Fpo', 2780, '96663', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35509, 'Fpo', 2780, '96664', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35510, 'Apo', 2780, '96224', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35511, 'Apo', 2780, '96258', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35512, 'Apo', 2780, '96276', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35513, 'Apo', 2780, '96283', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35514, 'Apo', 2780, '96367', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35515, 'Apo', 2780, '96376', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35516, 'Dpo', 2780, '96515', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35517, 'Apo', 2780, '96542', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35518, 'Fpo', 2780, '96542', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35519, 'Dpo', 2780, '96549', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35520, 'Fpo', 2780, '96615', '000', '0', '0', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35521, 'Sacramento', 2783, '95831', '916', '38.491586', '-121.531258', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35522, 'Artois', 2783, '95913', '530', '39.639794', '-122.207136', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35523, 'Belden', 2783, '95915', '530', '39.95885', '-121.299244', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35524, 'Caribou', 2783, '95915', '530', '39.95885', '-121.299244', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35525, 'Ganser Bar', 2783, '95915', '530', '39.95885', '-121.299244', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35526, 'Oroville', 2783, '95915', '530', '39.95885', '-121.299244', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35527, 'Biggs', 2783, '95917', '530', '39.413544', '-121.757765', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35528, 'Almanor', 2783, '95947', '530', '40.189174', '-120.90946', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35529, 'Greenville', 2783, '95947', '530', '40.189174', '-120.90946', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35530, 'Butte Valley', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:00', '2018-11-29 04:57:00'),\n(35531, 'Cherokee', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35532, 'Honcut', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35533, 'Hurleton', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35534, 'Jarbo', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35535, 'Las Plumas', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35536, 'Oak Grove', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35537, 'Oregon City', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35538, 'Oroville', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35539, 'Pentz', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35540, 'Pulga', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35541, 'Robinsons Corner', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35542, 'South Oroville', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35543, 'Thermalito', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35544, 'Villa Verona', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35545, 'Wyandotte', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35546, 'Yankee Hill', 2783, '95965', '530', '39.651026', '-121.644342', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35547, 'Rackerby', 2783, '95972', '530', '39.404649', '-121.326679', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35548, 'Yuba City', 2783, '95992', '530', '39.1408', '-121.6159', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35549, 'Adin', 2783, '96006', '530', '41.153904', '-120.897743', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35550, 'Cottonwood', 2783, '96022', '530', '40.338206', '-122.516904', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35551, 'Forks Of Salmon', 2783, '96031', '530', '41.290744', '-123.092985', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35552, 'Frk Of Salmon', 2783, '96031', '530', '41.290744', '-123.092985', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35553, 'Igo', 2783, '96047', '530', '40.472306', '-122.73707', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35554, 'Ono', 2783, '96047', '530', '40.472306', '-122.73707', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35555, 'Mount Shasta', 2783, '96067', '530', '41.359014', '-122.347361', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35556, 'Tehama', 2783, '96090', '530', '40.02159', '-122.128876', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35557, 'Vina', 2783, '96092', '530', '39.957806', '-122.013962', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35558, 'Yreka', 2783, '96097', '530', '41.754029', '-122.67418', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35559, 'Redding', 2783, '96099', '530', '40.5864', '-122.3906', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35560, 'Lake City', 2783, '96115', '530', '41.707128', '-120.142925', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35561, 'Delleker', 2783, '96122', '530', '39.89138', '-120.373608', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35562, 'Portola', 2783, '96122', '530', '39.89138', '-120.373608', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35563, 'Agate Bay', 2783, '96140', '530', '39.240183', '-120.10629', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35564, 'Carnelian Bay', 2783, '96140', '530', '39.240183', '-120.10629', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35565, 'Cedar Flat', 2783, '96140', '530', '39.240183', '-120.10629', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35566, 'Flick Point', 2783, '96140', '530', '39.240183', '-120.10629', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35567, 'Fulton Acres', 2783, '96140', '530', '39.240183', '-120.10629', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35568, 'Ridgewood', 2783, '96140', '530', '39.240183', '-120.10629', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35569, 'Fallen Leaf', 2783, '96151', '530', '38.8831', '-120.0719', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35570, 'S Lake Tahoe', 2783, '96151', '530', '38.8831', '-120.0719', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35571, 'South Lake Tahoe', 2783, '96151', '530', '38.8831', '-120.0719', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35572, 'Bijou', 2783, '96156', '530', '38.9467', '-119.9676', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35573, 'Camp Richardson', 2783, '96156', '530', '38.9467', '-119.9676', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35574, 'S Lake Tahoe', 2783, '96156', '530', '38.9467', '-119.9676', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35575, 'South Lake Tahoe', 2783, '96156', '530', '38.9467', '-119.9676', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35576, 'Hoopa', 2783, '95546', '530', '41.228708', '-123.753834', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35577, 'Hoopa Valley Indian Reservat', 2783, '95546', '530', '41.228708', '-123.753834', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35578, 'Resighini Rancheria', 2783, '95546', '530', '41.228708', '-123.753834', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35579, 'Weitchpec', 2783, '95546', '530', '41.228708', '-123.753834', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35580, 'Samoa', 2783, '95564', '707', '40.793912', '-124.203023', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35581, 'Willow Creek', 2783, '95573', '530', '40.962011', '-123.642928', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35582, 'Broderick', 2783, '95605', '916', '38.59252', '-121.542299', '2018-11-29 04:57:01', '2018-11-29 04:57:01'),\n(35583, 'Bryte', 2783, '95605', '916', '38.59252', '-121.542299', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35584, 'River Bank', 2783, '95605', '916', '38.59252', '-121.542299', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35585, 'W Sacramento', 2783, '95605', '916', '38.59252', '-121.542299', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35586, 'West Sacramento', 2783, '95605', '916', '38.59252', '-121.542299', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35587, 'Capay', 2783, '95607', '530', '38.71053', '-122.115569', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35588, 'Esparto', 2783, '95607', '530', '38.71053', '-122.115569', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35589, 'Galt', 2783, '95632', '209', '38.273407', '-121.224374', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35590, 'Hood', 2783, '95639', '916', '38.372064', '-121.507152', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35591, 'Amador Station', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35592, 'Black Station', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35593, 'Buckhorn', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35594, 'Hams Station', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35595, 'Iron Mountain', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35596, 'Kirkwood', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35597, 'Peddler Hill', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35598, 'Pioneer', 2783, '95646', '209', '38.632659', '-119.998681', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35599, 'Mather', 2783, '95655', '916', '38.552332', '-121.288627', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35600, 'Folsom Prison', 2783, '95671', '916', '38.6734', '-121.1498', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35601, 'Represa', 2783, '95671', '916', '38.6734', '-121.1498', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35602, 'Rio Linda', 2783, '95673', '916', '38.688777', '-121.456792', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35603, 'Cameron Park', 2783, '95682', '530', '38.616424', '-120.973156', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35604, 'Latrobe', 2783, '95682', '530', '38.616424', '-120.973156', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35605, 'Shingle Spgs', 2783, '95682', '530', '38.616424', '-120.973156', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35606, 'Shingle Springs', 2783, '95682', '530', '38.616424', '-120.973156', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35607, 'Volcano', 2783, '95689', '209', '38.470405', '-120.608306', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35608, 'Vacaville', 2783, '95696', '707', '38.3559', '-121.9884', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35609, 'Granite Bay', 2783, '95746', '916', '38.754388', '-121.170859', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35610, 'Roseville', 2783, '95746', '916', '38.754388', '-121.170859', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35611, 'San Jose', 2783, '95150', '408', '37.3353', '-121.8938', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35612, 'Stkn', 2783, '95201', '209', '37.9578', '-121.2897', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35613, 'Stockton', 2783, '95201', '209', '37.9578', '-121.2897', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35614, 'Glencoe', 2783, '95232', '209', '38.356464', '-120.58496', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35615, 'San Andreas', 2783, '95249', '209', '38.194374', '-120.580566', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35616, 'Denair', 2783, '95316', '209', '37.553811', '-120.677645', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35617, 'El Nido', 2783, '95317', '209', '37.129644', '-120.520604', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35618, 'Ripon', 2783, '95366', '209', '37.75729', '-121.121905', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35619, 'Snelling', 2783, '95369', '209', '37.534812', '-120.412067', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35620, 'Vernalis', 2783, '95385', '209', '37.63', '-121.249776', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35621, 'Santa Rosa', 2783, '95401', '707', '38.453382', '-122.781362', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35622, 'Camp Meeker', 2783, '95419', '707', '38.423457', '-122.956923', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35623, 'Fort Ross', 2783, '95450', '707', '38.495072', '-123.174129', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35624, 'Jenner', 2783, '95450', '707', '38.495072', '-123.174129', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35625, 'Kelseyville', 2783, '95451', '707', '38.943074', '-122.791482', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35626, 'Davis', 2783, '95616', '530', '38.562963', '-121.81601', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35627, 'Lincoln', 2783, '95648', '916', '38.931475', '-121.323351', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35628, 'Pioneer', 2783, '95666', '209', '38.562724', '-120.34895', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35629, 'Silver Lake', 2783, '95666', '209', '38.562724', '-120.34895', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35630, 'Ryde', 2783, '95680', '916', '38.2388', '-121.5594', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35631, 'W Sacramento', 2783, '95691', '916', '38.62953', '-121.586344', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35632, 'West Sacramento', 2783, '95691', '916', '38.62953', '-121.586344', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35633, 'Rancho Cordova', 2783, '95741', '916', '38.5895', '-121.3018', '2018-11-29 04:57:02', '2018-11-29 04:57:02'),\n(35634, 'Rncho Cordova', 2783, '95741', '916', '38.5895', '-121.3018', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35635, 'Elk Grove', 2783, '95757', '916', '38.341726', '-121.433934', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35636, 'W Sacramento', 2783, '95798', '916', '38.5809', '-121.5295', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35637, 'West Sacramento', 2783, '95798', '916', '38.5809', '-121.5295', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35638, 'West Sacto', 2783, '95798', '916', '38.5809', '-121.5295', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35639, 'Challenge', 2783, '95925', '530', '39.459404', '-121.187602', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35640, 'Woodleaf', 2783, '95925', '530', '39.459404', '-121.187602', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35641, 'Grimes', 2783, '95950', '530', '39.050953', '-121.894136', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35642, 'Maxwell', 2783, '95955', '530', '39.319987', '-122.161675', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35643, 'Meridian', 2783, '95957', '530', '39.054442', '-121.784874', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35644, 'Sycamore', 2783, '95957', '530', '39.054442', '-121.784874', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35645, 'Gazelle', 2783, '96034', '530', '41.446325', '-122.649804', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35646, 'Hayfork', 2783, '96041', '530', '40.51464', '-123.130424', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35647, 'Peanut', 2783, '96041', '530', '40.51464', '-123.130424', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35648, 'Helena', 2783, '96048', '530', '40.827491', '-123.049039', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35649, 'Junction City', 2783, '96048', '530', '40.827491', '-123.049039', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35650, 'Horse Creek', 2783, '96050', '530', '41.874185', '-122.93292', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35651, 'Klamath River', 2783, '96050', '530', '41.874185', '-122.93292', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35652, 'Manton', 2783, '96059', '530', '40.436152', '-121.843484', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35653, 'Janesville', 2783, '96114', '530', '40.155027', '-120.538407', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35654, 'Termo', 2783, '96132', '530', '40.891882', '-120.550648', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35655, 'Homewood', 2783, '96141', '530', '39.06725', '-120.236086', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35656, 'Tahoe Pines', 2783, '96141', '530', '39.06725', '-120.236086', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35657, 'Tahoe Vista', 2783, '96148', '530', '39.24652', '-120.0573', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35658, 'S Lake Tahoe', 2783, '96157', '530', '38.9459', '-119.9704', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35659, 'South Lake Tahoe', 2783, '96157', '530', '38.9459', '-119.9704', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35660, 'Stateline', 2783, '96157', '530', '38.9459', '-119.9704', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35661, 'Manchester Rancheria', 2783, '95459', '707', '39.023336', '-123.606673', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35662, 'Windsor', 2783, '95492', '707', '38.54388', '-122.810608', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35663, 'Upper Lake', 2783, '95493', '707', '39.189339', '-122.974075', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35664, 'Witter Spgs', 2783, '95493', '707', '39.189339', '-122.974075', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35665, 'Witter Springs', 2783, '95493', '707', '39.189339', '-122.974075', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35666, 'Alderpoint', 2783, '95511', '707', '40.172812', '-123.627099', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35667, 'Bridgeville', 2783, '95526', '707', '40.411426', '-123.617776', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35668, 'Mad River', 2783, '95526', '707', '40.411426', '-123.617776', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35669, 'Ruth', 2783, '95526', '707', '40.411426', '-123.617776', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35670, 'Honeydew', 2783, '95545', '707', '40.310759', '-124.091007', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35671, 'Petrolia', 2783, '95558', '707', '40.28681', '-124.208755', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35672, 'Zenia', 2783, '95595', '707', '40.20318', '-123.383558', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35673, 'Carmichael', 2783, '95608', '916', '38.62315', '-121.328098', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35674, 'Citrus Heights', 2783, '95611', '916', '38.7072', '-121.28', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35675, 'Citrus Hts', 2783, '95611', '916', '38.7072', '-121.28', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35676, 'Clarksburg', 2783, '95612', '916', '38.408352', '-121.577166', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35677, 'N Highlands', 2783, '95660', '916', '38.669679', '-121.381308', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35678, 'North Highlands', 2783, '95660', '916', '38.669679', '-121.381308', '2018-11-29 04:57:03', '2018-11-29 04:57:03');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(35679, 'Roseville', 2783, '95678', '916', '38.763448', '-121.279723', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35680, 'Wilton', 2783, '95693', '916', '38.398772', '-121.254699', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35681, 'Woodland', 2783, '95695', '530', '38.691881', '-121.861588', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35682, 'Cisco', 2783, '95728', '530', '39.417438', '-120.469796', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35683, 'Kingvale', 2783, '95728', '530', '39.417438', '-120.469796', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35684, 'Serene Lakes', 2783, '95728', '530', '39.417438', '-120.469796', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35685, 'Soda Springs', 2783, '95728', '530', '39.417438', '-120.469796', '2018-11-29 04:57:03', '2018-11-29 04:57:03'),\n(35686, 'The Cedars', 2783, '95728', '530', '39.417438', '-120.469796', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35687, 'Woodland', 2783, '95776', '530', '38.684834', '-121.68239', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35688, 'Sacramento', 2783, '95812', '916', '38.5817', '-121.4934', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35689, 'Sacramento', 2783, '95826', '916', '38.54908', '-121.383143', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35690, 'Walsh Station', 2783, '95826', '916', '38.54908', '-121.383143', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35691, 'Antelope', 2783, '95843', '916', '38.715216', '-121.356133', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35692, 'Sacramento', 2783, '95843', '916', '38.715216', '-121.356133', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35693, 'Ca Dept Motor Vehicle', 2783, '95894', '916', '38.5817', '-121.4936', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35694, 'Sacramento', 2783, '95894', '916', '38.5817', '-121.4936', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35695, 'Bayliss', 2783, '95943', '530', '39.592192', '-122.02988', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35696, 'Glenn', 2783, '95943', '530', '39.592192', '-122.02988', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35697, 'Ordbend', 2783, '95943', '530', '39.592192', '-122.02988', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35698, 'Cherokee', 2783, '95959', '530', '39.350488', '-120.917992', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35699, 'Graniteville', 2783, '95959', '530', '39.350488', '-120.917992', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35700, 'Nevada City', 2783, '95959', '530', '39.350488', '-120.917992', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35701, 'North Bloomfield', 2783, '95959', '530', '39.350488', '-120.917992', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35702, 'North Columbia', 2783, '95959', '530', '39.350488', '-120.917992', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35703, 'N San Juan', 2783, '95960', '530', '39.374332', '-121.080846', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35704, 'North San Juan', 2783, '95960', '530', '39.374332', '-121.080846', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35705, 'Pike', 2783, '95960', '530', '39.374332', '-121.080846', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35706, 'Sweetland', 2783, '95960', '530', '39.374332', '-121.080846', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35707, 'Oregon House', 2783, '95962', '530', '39.320044', '-121.239441', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35708, 'Renaissance', 2783, '95962', '530', '39.320044', '-121.239441', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35709, 'Blue Shield Of Cal', 2783, '95976', '530', '39.7286', '-121.8367', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35710, 'Chico', 2783, '95976', '530', '39.7286', '-121.8367', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35711, 'Big Oak Valley', 2783, '95977', '530', '39.175252', '-121.282126', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35712, 'Big Oak Vly', 2783, '95977', '530', '39.175252', '-121.282126', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35713, 'French Corral', 2783, '95977', '530', '39.175252', '-121.282126', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35714, 'Smartsville', 2783, '95977', '530', '39.175252', '-121.282126', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35715, 'Fouts Springs', 2783, '95979', '530', '39.271407', '-122.497326', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35716, 'Lodoga', 2783, '95979', '530', '39.271407', '-122.497326', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35717, 'Sites', 2783, '95979', '530', '39.271407', '-122.497326', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35718, 'Stonyford', 2783, '95979', '530', '39.271407', '-122.497326', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35719, 'Bieber', 2783, '96009', '530', '41.041524', '-121.111168', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35720, 'Etna', 2783, '96027', '530', '41.453124', '-122.873669', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35721, 'Sawyers Bar', 2783, '96027', '530', '41.453124', '-122.873669', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35722, 'Corning', 2783, '96029', '530', '39.893376', '-122.51187', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35723, 'Flournoy', 2783, '96029', '530', '39.893376', '-122.51187', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35724, 'Proberta', 2783, '96078', '530', '40.0819', '-122.1717', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35725, 'Whitmore', 2783, '96096', '530', '40.645664', '-121.839902', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35726, 'Fort Bidwell', 2783, '96112', '530', '41.875347', '-120.116013', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35727, 'Ft Bidwell', 2783, '96112', '530', '41.875347', '-120.116013', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35728, 'Susanville', 2783, '96127', '530', '40.4168', '-120.6553', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35729, 'California Conservation Cent', 2783, '96130', '530', '40.556326', '-120.67791', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35730, 'Eagle Lake Resort', 2783, '96130', '530', '40.556326', '-120.67791', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35731, 'Johnstonville', 2783, '96130', '530', '40.556326', '-120.67791', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35732, 'Spaulding', 2783, '96130', '530', '40.556326', '-120.67791', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35733, 'Susanville', 2783, '96130', '530', '40.556326', '-120.67791', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35734, 'Boca', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35735, 'Donner Lake', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35736, 'Glenshire', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:04', '2018-11-29 04:57:04'),\n(35737, 'Hobart Mills', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35738, 'Northstar', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35739, 'Prosser Lakeview', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35740, 'Tahoe Donner', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35741, 'Truckee', 2783, '96161', '530', '39.333969', '-120.19417', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35742, 'Sacramento', 2783, '95821', '916', '38.627822', '-121.384332', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35743, 'Sacramento', 2783, '95830', '916', '38.49424', '-121.270047', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35744, 'Sacramento', 2783, '95841', '916', '38.666594', '-121.352274', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35745, 'Bangor', 2783, '95914', '530', '39.411976', '-121.372915', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35746, 'Berry Creek', 2783, '95916', '530', '39.703908', '-121.345331', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35747, 'Brush Creek', 2783, '95916', '530', '39.703908', '-121.345331', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35748, 'Canyon Dam', 2783, '95923', '530', '40.15975', '-121.153881', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35749, 'Canyondam', 2783, '95923', '530', '40.15975', '-121.153881', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35750, 'Prattville', 2783, '95923', '530', '40.15975', '-121.153881', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35751, 'Seneca', 2783, '95923', '530', '40.15975', '-121.153881', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35752, 'Clipper Mills', 2783, '95930', '530', '39.566646', '-121.146228', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35753, 'Sutter', 2783, '95982', '530', '39.208599', '-121.831582', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35754, 'Cassel', 2783, '96016', '530', '40.905188', '-121.51117', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35755, 'Dorris', 2783, '96023', '530', '41.903322', '-122.058859', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35756, 'Los Molinos', 2783, '96055', '530', '40.06805', '-122.068715', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35757, 'Mccloud', 2783, '96057', '530', '41.274663', '-121.957152', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35758, 'Palo Cedro', 2783, '96073', '530', '40.568133', '-122.212625', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35759, 'Shasta Lake', 2783, '96089', '530', '40.6873', '-122.3997', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35760, 'Summit City', 2783, '96089', '530', '40.6873', '-122.3997', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35761, 'Trinity Center', 2783, '96091', '530', '41.105815', '-122.709845', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35762, 'Trinity Ctr', 2783, '96091', '530', '41.105815', '-122.709845', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35763, 'Coleville', 2783, '96107', '530', '38.327388', '-119.406482', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35764, 'Walker', 2783, '96107', '530', '38.327388', '-119.406482', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35765, 'Bassetts', 2783, '96125', '530', '39.549639', '-120.67438', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35766, 'Sierra City', 2783, '96125', '530', '39.549639', '-120.67438', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35767, 'Lava Beds National Monument', 2783, '96134', '530', '41.738198', '-121.459041', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35768, 'Medicine Lake Lodge', 2783, '96134', '530', '41.738198', '-121.459041', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35769, 'Newell', 2783, '96134', '530', '41.738198', '-121.459041', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35770, 'Tionesta', 2783, '96134', '530', '41.738198', '-121.459041', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35771, 'Tulelake', 2783, '96134', '530', '41.738198', '-121.459041', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35772, 'Sutter Island', 2783, '95615', '916', '38.307161', '-121.551749', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35773, 'Baker Ranch', 2783, '95631', '530', '39.068278', '-120.64862', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35774, 'Foresthill', 2783, '95631', '530', '39.068278', '-120.64862', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35775, 'Michigan Bluff', 2783, '95631', '530', '39.068278', '-120.64862', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35776, 'Todd Valley', 2783, '95631', '530', '39.068278', '-120.64862', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35777, 'Pine Grove', 2783, '95665', '209', '38.393028', '-120.658807', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35778, 'Drytown', 2783, '95699', '209', '38.4516', '-120.8629', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35779, 'Sutter Creek', 2783, '95699', '209', '38.4516', '-120.8629', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35780, 'Alta', 2783, '95715', '530', '39.246991', '-120.645382', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35781, 'Blue Canyon', 2783, '95715', '530', '39.246991', '-120.645382', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35782, 'Emigrant Gap', 2783, '95715', '530', '39.246991', '-120.645382', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35783, 'Meadow Vista', 2783, '95722', '530', '39.002005', '-121.037146', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35784, 'Elk Grove', 2783, '95758', '916', '38.43268', '-121.439432', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35785, 'Rocklin', 2783, '95765', '916', '38.817886', '-121.276169', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35786, 'Sacramento', 2783, '95813', '916', '38.5817', '-121.4934', '2018-11-29 04:57:05', '2018-11-29 04:57:05'),\n(35787, 'Sacramento', 2783, '95824', '916', '38.517728', '-121.440928', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35788, 'Anaheim', 2783, '92816', '714', '33.8355', '-117.9136', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35789, 'Fullerton', 2783, '92832', '714', '33.870302', '-117.92562', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35790, 'Anaheim', 2783, '92850', '714', '33.8355', '-117.9136', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35791, 'Household Finance', 2783, '92850', '714', '33.8355', '-117.9136', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35792, 'Orange', 2783, '92857', '714', '33.7878', '-117.8523', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35793, 'Orange', 2783, '92866', '714', '33.784189', '-117.842801', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35794, 'Carpinteria', 2783, '93014', '805', '34.3986', '-119.5177', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35795, 'Meiners Oaks', 2783, '93023', '805', '34.521006', '-119.247667', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35796, 'Ojai', 2783, '93023', '805', '34.521006', '-119.247667', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35797, 'Somis', 2783, '93066', '805', '34.299256', '-119.041069', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35798, 'Calif Hot Spg', 2783, '93207', '661', '35.8998', '-118.85492', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35799, 'California Hot Springs', 2783, '93207', '661', '35.8998', '-118.85492', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35800, 'Farmersville', 2783, '93223', '559', '36.297388', '-119.203086', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35801, 'Hanford', 2783, '93232', '559', '36.3275', '-119.6447', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35802, 'Lamont', 2783, '93241', '661', '35.255167', '-118.914136', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35803, 'Gorman', 2783, '93243', '661', '34.665478', '-118.93139', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35804, 'Lebec', 2783, '93243', '661', '34.665478', '-118.93139', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35805, 'Stratford', 2783, '93266', '559', '36.130746', '-119.811357', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35806, 'Tulare', 2783, '93275', '559', '36.2076', '-119.3465', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35807, 'Corcoran', 2783, '93282', '559', '36.117869', '-119.518538', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35808, 'Waukena', 2783, '93282', '559', '36.117869', '-119.518538', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35809, 'Bakersfield', 2783, '93384', '661', '35.3736', '-119.0176', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35810, 'Orcutt', 2783, '93457', '805', '34.8654', '-120.4351', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35811, 'Santa Maria', 2783, '93457', '805', '34.8654', '-120.4351', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35812, 'Aerial Acres', 2783, '93523', '661', '34.983063', '-117.885774', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35813, 'Edward', 2783, '93523', '661', '34.983063', '-117.885774', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35814, 'Edwards', 2783, '93523', '661', '34.983063', '-117.885774', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35815, 'Edwards Air Force Base', 2783, '93523', '661', '34.983063', '-117.885774', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35816, 'North Edwards', 2783, '93523', '661', '34.983063', '-117.885774', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35817, 'Inyokern', 2783, '93527', '760', '35.721447', '-117.94727', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35818, 'Pearsonville', 2783, '93527', '760', '35.721447', '-117.94727', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35819, 'Elizabeth Lake', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35820, 'Elizabeth Lk', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35821, 'Lake Elizabeth', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35822, 'Lake Hughes', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35823, 'Leona Valley', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35824, 'Sandberg', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35825, 'Three Points', 2783, '93532', '661', '34.693192', '-118.532227', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35826, 'Palmdale', 2783, '93552', '661', '34.561682', '-118.021226', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35827, 'Lake La', 2783, '93591', '661', '34.609119', '-117.818425', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35828, 'Lake Los Angeles', 2783, '93591', '661', '34.609119', '-117.818425', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35829, 'Palmdale', 2783, '93591', '661', '34.609119', '-117.818425', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35830, 'Caruthers', 2783, '93609', '559', '36.528618', '-119.863402', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35831, 'Fowler', 2783, '93625', '559', '36.62102', '-119.655535', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35832, 'Lakeshore', 2783, '93634', '559', '37.280476', '-119.230196', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35833, 'Shaver Lake', 2783, '93634', '559', '37.280476', '-119.230196', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35834, 'North Fork', 2783, '93643', '559', '37.278769', '-119.473788', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35835, 'Raisin City', 2783, '93652', '559', '36.593734', '-119.903434', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35836, 'Orange Cove', 2783, '93675', '559', '36.742289', '-119.192664', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35837, 'Squaw Valley', 2783, '93675', '559', '36.742289', '-119.192664', '2018-11-29 04:57:06', '2018-11-29 04:57:06'),\n(35838, 'Fresno', 2783, '93718', '559', '36.7475', '-119.7716', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35839, 'Fresno', 2783, '93761', '559', '36.7475', '-119.7716', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35840, 'United Faith Found', 2783, '93761', '559', '36.7475', '-119.7716', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35841, 'Fresno', 2783, '93775', '559', '36.7475', '-119.7716', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35842, 'Fresno', 2783, '93786', '559', '36.7475', '-119.7716', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35843, 'Fresno Bee', 2783, '93786', '559', '36.7475', '-119.7716', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35844, 'Daly City', 2783, '94016', '650', '37.7074', '-122.4587', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35845, 'Atherton', 2783, '94027', '650', '37.450128', '-122.205016', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35846, 'Menlo Park', 2783, '94027', '650', '37.450128', '-122.205016', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35847, 'Mountain View', 2783, '94043', '650', '37.419156', '-122.075413', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35848, 'Sunnyvale', 2783, '94086', '408', '37.36965', '-122.02421', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35849, 'San Francisco', 2783, '94111', '415', '37.798853', '-122.398599', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35850, 'San Francisco', 2783, '94120', '415', '37.7753', '-122.4186', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35851, 'San Francisco', 2783, '94134', '415', '37.722892', '-122.410056', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35852, 'Sacramento', 2783, '94252', '916', '38.5819', '-121.4935', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35853, 'Sacramento', 2783, '94254', '916', '38.5819', '-121.4935', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35854, 'Sacramento', 2783, '94259', '916', '38.5819', '-121.4935', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35855, 'Sacramento', 2783, '94261', '916', '38.5819', '-121.4935', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35856, 'Sacramento', 2783, '94295', '916', '38.5819', '-121.4935', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35857, 'Palo Alto', 2783, '94304', '650', '37.404315', '-122.167274', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35858, 'San Mateo', 2783, '94402', '650', '37.539793', '-122.329699', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35859, 'Alameda', 2783, '94502', '510', '37.734264', '-122.243905', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35860, 'Hayward', 2783, '94545', '510', '37.632707', '-122.114122', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35861, 'San Leandro', 2783, '94579', '510', '37.687825', '-122.156491', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35862, 'Walnut Creek', 2783, '94595', '925', '37.870035', '-122.070516', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35863, 'Oakland', 2783, '94613', '510', '37.780022', '-122.18172', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35864, 'Oakland', 2783, '94620', '510', '37.8046', '-122.2699', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35865, 'Piedmont', 2783, '94620', '510', '37.8046', '-122.2699', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35866, 'Oakland', 2783, '94661', '510', '37.8046', '-122.2699', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35867, 'El Sobrante', 2783, '94820', '510', '37.9772', '-122.2943', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35868, 'Richmond', 2783, '94820', '510', '37.9772', '-122.2943', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35869, 'Bel Tiburon', 2783, '94920', '415', '37.886474', '-122.462812', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35870, 'Belvedere', 2783, '94920', '415', '37.886474', '-122.462812', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35871, 'Belvedere Tiburon', 2783, '94920', '415', '37.886474', '-122.462812', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35872, 'Tiburon', 2783, '94920', '415', '37.886474', '-122.462812', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35873, 'Lagunitas', 2783, '94938', '415', '38.010802', '-122.70492', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35874, 'Black Point', 2783, '94945', '415', '38.13111', '-122.552773', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35875, 'Novato', 2783, '94945', '415', '38.13111', '-122.552773', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35876, 'San Marin', 2783, '94945', '415', '38.13111', '-122.552773', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35877, 'Petaluma', 2783, '94954', '707', '38.222404', '-122.559603', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35878, 'Point Reyes Station', 2783, '94956', '415', '38.009522', '-122.79327', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35879, 'Pt Reyes Sta', 2783, '94956', '415', '38.009522', '-122.79327', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35880, 'San Geronimo', 2783, '94963', '415', '38.004228', '-122.677422', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35881, 'Coyote', 2783, '95013', '408', '37.208342', '-121.755417', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35882, 'Santa Clara', 2783, '95054', '408', '37.396312', '-121.961396', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35883, 'Santa Clara', 2783, '95056', '408', '37.3524', '-121.9584', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35884, 'Alpine Mdws', 2783, '96146', '530', '39.193412', '-120.222742', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35885, 'Alpine Meadows', 2783, '96146', '530', '39.193412', '-120.222742', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35886, 'Olympic Valley', 2783, '96146', '530', '39.193412', '-120.222742', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35887, 'Olympic Vly', 2783, '96146', '530', '39.193412', '-120.222742', '2018-11-29 04:57:07', '2018-11-29 04:57:07'),\n(35888, 'Tahoe City', 2783, '96146', '530', '39.193412', '-120.222742', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35889, 'Donner', 2783, '96162', '530', '39.326668', '-120.34231', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35890, 'Truckee', 2783, '96162', '530', '39.326668', '-120.34231', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35891, 'West Truckee', 2783, '96162', '530', '39.326668', '-120.34231', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35892, 'Cutten', 2783, '95534', '707', '40.7635', '-124.1451', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35893, 'Eureka', 2783, '95534', '707', '40.7635', '-124.1451', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35894, 'Ferndale', 2783, '95536', '707', '40.479848', '-124.229739', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35895, 'Smith River', 2783, '95567', '707', '41.936338', '-124.128562', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35896, 'Somes Bar', 2783, '95568', '530', '41.61334', '-123.361608', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35897, 'Somesbar', 2783, '95568', '530', '41.61334', '-123.361608', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35898, 'Redcrest', 2783, '95569', '707', '40.346488', '-123.874482', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35899, 'Trinidad', 2783, '95570', '707', '41.132387', '-124.047723', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35900, 'Auburn', 2783, '95603', '530', '38.919999', '-121.074776', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35901, 'Christian Valley', 2783, '95603', '530', '38.919999', '-121.074776', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35902, 'Clipper Gap', 2783, '95603', '530', '38.919999', '-121.074776', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35903, 'Lake Of The Pines', 2783, '95603', '530', '38.919999', '-121.074776', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35904, 'Ophir', 2783, '95603', '530', '38.919999', '-121.074776', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35905, 'Davis', 2783, '95617', '530', '38.5452', '-121.7397', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35906, 'Davis', 2783, '95618', '530', '38.551484', '-121.66029', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35907, 'El Macero', 2783, '95618', '530', '38.551484', '-121.66029', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35908, 'Grizzly Flats', 2783, '95636', '530', '38.667086', '-120.50419', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35909, 'Guinda', 2783, '95637', '530', '38.846267', '-122.201505', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35910, 'Pleasant Grove', 2783, '95668', '916', '38.838274', '-121.500258', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35911, 'Pleasant Grv', 2783, '95668', '916', '38.838274', '-121.500258', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35912, 'Plymouth', 2783, '95669', '209', '38.482402', '-120.882535', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35913, 'Sacramento', 2783, '95818', '916', '38.557106', '-121.49749', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35914, 'Sacramento', 2783, '95819', '916', '38.570932', '-121.435773', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35915, 'Fruitridge', 2783, '95820', '916', '38.538246', '-121.446682', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35916, 'Sacramento', 2783, '95820', '916', '38.538246', '-121.446682', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35917, 'Beale AFB', 2783, '95903', '530', '39.111004', '-121.367601', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35918, 'Marysville', 2783, '95903', '530', '39.111004', '-121.367601', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35919, 'Browns Valley', 2783, '95918', '530', '39.300472', '-121.327028', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35920, 'Afton', 2783, '95920', '530', '39.460376', '-121.936819', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35921, 'Butte City', 2783, '95920', '530', '39.460376', '-121.936819', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35922, 'Crescent Mills', 2783, '95934', '530', '40.06361', '-120.915238', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35923, 'Crescent Mls', 2783, '95934', '530', '40.06361', '-120.915238', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35924, 'Fruto', 2783, '95988', '530', '39.544795', '-122.266428', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35925, 'Willows', 2783, '95988', '530', '39.544795', '-122.266428', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35926, 'Redding', 2783, '96003', '530', '40.661955', '-122.278012', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35927, 'Lakehead', 2783, '96051', '530', '40.949659', '-122.341798', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35928, 'Lewiston', 2783, '96052', '530', '40.84712', '-122.829531', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35929, 'Lakehead', 2783, '96070', '530', '40.8189', '-122.3234', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35930, 'Obrien', 2783, '96070', '530', '40.8189', '-122.3234', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35931, 'Blairsden', 2783, '96103', '530', '39.800523', '-120.694806', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35932, 'Blairsden-Graeagle', 2783, '96103', '530', '39.800523', '-120.694806', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35933, 'Blrsdn-Greagl', 2783, '96103', '530', '39.800523', '-120.694806', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35934, 'Cromberg', 2783, '96103', '530', '39.800523', '-120.694806', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35935, 'Graeagle', 2783, '96103', '530', '39.800523', '-120.694806', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35936, 'Johnsville', 2783, '96103', '530', '39.800523', '-120.694806', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35937, 'Cedarville', 2783, '96104', '530', '41.393204', '-120.152662', '2018-11-29 04:57:08', '2018-11-29 04:57:08'),\n(35938, 'Madeline', 2783, '96119', '530', '41.075056', '-120.528439', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35939, 'Clear Creek', 2783, '96137', '530', '40.269174', '-121.086099', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35940, 'Lake Almanor', 2783, '96137', '530', '40.269174', '-121.086099', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35941, 'Lake Almanor Sports & Spirit', 2783, '96137', '530', '40.269174', '-121.086099', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35942, 'Westwood', 2783, '96137', '530', '40.269174', '-121.086099', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35943, 'Tahoe Valley', 2783, '96158', '530', '38.9459', '-119.9704', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35944, 'Truckee', 2783, '96160', '530', '39.3282', '-120.1822', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35945, 'Rico', 2784, '81332', '970', '37.747867', '-108.052732', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35946, 'Montrose', 2784, '81402', '970', '38.4784', '-107.8759', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35947, 'Olathe', 2784, '81425', '970', '38.493166', '-108.246272', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35948, 'Ouray', 2784, '81427', '970', '37.967754', '-107.67406', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35949, 'Red Mountain', 2784, '81427', '970', '37.967754', '-107.67406', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35950, 'Grand Jct', 2784, '81507', '970', '39.055363', '-108.641315', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35951, 'Grand Junction', 2784, '81507', '970', '39.055363', '-108.641315', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35952, 'Craig', 2784, '81625', '970', '40.612046', '-107.732212', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35953, 'Lay', 2784, '81625', '970', '40.612046', '-107.732212', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35954, 'Axel', 2784, '81641', '970', '40.019555', '-107.649187', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35955, 'Buford', 2784, '81641', '970', '40.019555', '-107.649187', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35956, 'Meeker', 2784, '81641', '970', '40.019555', '-107.649187', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35957, 'Parcel Return Service', 2786, '56972', '202', '38.86', '-76.99', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35958, 'Parcel Return Svc', 2786, '56972', '202', '38.86', '-76.99', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35959, 'Prs', 2786, '56972', '202', '38.86', '-76.99', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35960, 'Parcel Return Service', 2786, '56999', ' ', '0', '0', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35961, 'Parcel Return Svc', 2786, '56999', ' ', '0', '0', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35962, 'Prs', 2786, '56999', ' ', '0', '0', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35963, 'Parcel Return Service', 2786, '56915', '202', '38.92', '-76.99', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35964, 'Parcel Return Svc', 2786, '56915', '202', '38.92', '-76.99', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35965, 'Prs', 2786, '56915', '202', '38.92', '-76.99', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35966, 'Parcel Return Service', 2786, '56935', '202', '0', '0', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35967, 'Parcel Return Service', 2786, '56920', '202', '38.9', '-77.04', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35968, 'Parcel Return Svc', 2786, '56920', '202', '38.9', '-77.04', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35969, 'Prs', 2786, '56920', '202', '38.9', '-77.04', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35970, 'Coral Springs', 2788, '33076', '954', '26.310788', '-80.273372', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35971, 'Parkland', 2788, '33076', '954', '26.310788', '-80.273372', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35972, 'Pompano Beach', 2788, '33076', '954', '26.310788', '-80.273372', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35973, 'Homestead', 2788, '33092', '305', '25.4683', '-80.4779', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35974, 'Naranja', 2788, '33092', '305', '25.4683', '-80.4779', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35975, 'Princeton', 2788, '33092', '305', '25.4683', '-80.4779', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35976, 'Miami', 2788, '33101', '305', '25.7738', '-80.1936', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35977, 'Hillcrest', 2788, '33081', '954', '26.0108', '-80.1499', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35978, 'Hollywood', 2788, '33081', '954', '26.0108', '-80.1499', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35979, 'International Service Center', 2788, '33112', '305', '25.7738', '-80.1936', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35980, 'Miami', 2788, '33112', '305', '25.7738', '-80.1936', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35981, 'Indian River Shores', 2788, '32963', '772', '27.705196', '-80.388115', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35982, 'Indn Riv Shrs', 2788, '32963', '772', '27.705196', '-80.388115', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35983, 'Orchid', 2788, '32963', '772', '27.705196', '-80.388115', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35984, 'Vero Beach', 2788, '32963', '772', '27.705196', '-80.388115', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35985, 'Hialeah', 2788, '33012', '305', '25.865987', '-80.302736', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35986, 'Homestead', 2788, '33090', '305', '25.4683', '-80.4779', '2018-11-29 04:57:09', '2018-11-29 04:57:09'),\n(35987, 'Vero Beach', 2788, '32967', '772', '27.715891', '-80.467374', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35988, 'Citrus Ridge', 2788, '32969', '561', '27.6407', '-80.3958', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35989, 'Vero Beach', 2788, '32969', '561', '27.6407', '-80.3958', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35990, 'Conch Key', 2788, '33001', '305', '24.823259', '-80.815715', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35991, 'Fiesta Key', 2788, '33001', '305', '24.823259', '-80.815715', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35992, 'Layton', 2788, '33001', '305', '24.823259', '-80.815715', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35993, 'Long Key', 2788, '33001', '305', '24.823259', '-80.815715', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35994, 'Winter Beach', 2788, '32971', '772', '27.7189', '-80.4208', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35995, 'South Florida', 2788, '33082', '954', '26.0108', '-80.1499', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35996, 'Coral Gables', 2788, '33114', '305', '25.7212', '-80.2689', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35997, 'Miami', 2788, '33114', '305', '25.7212', '-80.2689', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35998, 'Vero Beach', 2788, '32964', '561', '27.6383', '-80.3976', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(35999, 'Pembroke Pines', 2788, '33082', '954', '26.0108', '-80.1499', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36000, 'Pembroke Pnes', 2788, '33082', '954', '26.0108', '-80.1499', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36001, 'Citrus Ridge', 2788, '32968', '772', '27.58827', '-80.513161', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36002, 'Vero Beach', 2788, '32968', '772', '27.58827', '-80.513161', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36003, 'Hialeah', 2788, '33011', '305', '25.8572', '-80.2786', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36004, 'Key West', 2788, '33041', '305', '24.5554', '-81.7828', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36005, 'Ky Wst', 2788, '33041', '305', '24.5554', '-81.7828', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36006, 'Stock Island', 2788, '33041', '305', '24.5554', '-81.7828', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36007, 'Barefoot Bay', 2788, '32976', '772', '27.86617', '-80.556826', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36008, 'Micco', 2788, '32976', '772', '27.86617', '-80.556826', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36009, 'Sebastian', 2788, '32976', '772', '27.86617', '-80.556826', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36010, 'Golden Isles', 2788, '33008', '954', '25.9808', '-80.1486', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36011, 'Hallandale', 2788, '33008', '954', '25.9808', '-80.1486', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36012, 'Hallandale Beach', 2788, '33008', '954', '25.9808', '-80.1486', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36013, 'Hallandle Bch', 2788, '33008', '954', '25.9808', '-80.1486', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36014, 'Hollywood', 2788, '33083', '954', '26.0108', '-80.1499', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36015, 'Vero Beach', 2788, '32960', '561', '27.639135', '-80.403336', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36016, 'Ellijay', 2789, '30536', '706', '34.656876', '-84.347972', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36017, 'Gillsville', 2789, '30543', '770', '34.287126', '-83.644935', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36018, 'Helen', 2789, '30545', '706', '34.730886', '-83.768226', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36019, 'Lula', 2789, '30554', '770', '34.40717', '-83.645358', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36020, 'Rabun Gap', 2789, '30568', '706', '34.953357', '-83.410306', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36021, 'Atl', 2789, '30348', '404', '33.7486', '-84.3884', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36022, 'Atlanta', 2789, '30348', '404', '33.7486', '-84.3884', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36023, 'Dallas', 2789, '30132', '770', '33.992321', '-84.861112', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36024, 'Waco', 2789, '30182', '770', '33.647892', '-85.250964', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36025, 'Flovilla', 2789, '30216', '770', '33.243248', '-83.887774', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36026, 'Indian Springs', 2789, '30216', '770', '33.243248', '-83.887774', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36027, 'Marietta', 2789, '30064', '770', '33.927555', '-84.620166', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36028, 'Mar', 2789, '30065', '770', '33.9525', '-84.55', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36029, 'Marietta', 2789, '30065', '770', '33.9525', '-84.55', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36030, 'Mreta', 2789, '30065', '770', '33.9525', '-84.55', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36031, 'Smyrna', 2789, '30080', '770', '33.86504', '-84.498238', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36032, 'Smyrna', 2789, '30081', '770', '33.8837', '-84.5144', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36033, 'Smyrna', 2789, '30082', '770', '33.856346', '-84.529486', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36034, 'Berkeley Lake', 2789, '30096', '770', '33.982442', '-84.151079', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36035, 'Duluth', 2789, '30096', '770', '33.982442', '-84.151079', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36036, 'Duluth', 2789, '30097', '770', '34.028646', '-84.146826', '2018-11-29 04:57:10', '2018-11-29 04:57:10'),\n(36037, 'Johns Creek', 2789, '30097', '770', '34.028646', '-84.146826', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36038, 'Buchanan', 2789, '30113', '770', '33.848858', '-85.196054', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36039, 'Canton', 2789, '30115', '770', '34.206758', '-84.394374', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36040, 'Holly Springs', 2789, '30115', '770', '34.206758', '-84.394374', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36041, 'Duluth', 2789, '30029', '770', '33.9908', '-84.1533', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36042, 'North Metro', 2789, '30029', '770', '33.9908', '-84.1533', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36043, 'Decatur', 2789, '30030', '404', '33.7709', '-84.292375', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36044, 'Lawrenceville', 2789, '30045', '770', '33.9348', '-83.953589', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36045, 'Lawrenceville', 2789, '30046', '770', '33.9562', '-83.9884', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36046, 'Lilburn', 2789, '30047', '770', '33.864146', '-84.114088', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36047, 'Atlanta', 2789, '30345', '404', '33.845094', '-84.280948', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36048, 'Cedartown', 2789, '30125', '770', '34.00146', '-85.26163', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36049, 'Powder Spgs', 2789, '30127', '770', '33.882478', '-84.700324', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36050, 'Powder Springs', 2789, '30127', '770', '33.882478', '-84.700324', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36051, 'Douglasville', 2789, '30134', '770', '33.780866', '-84.776918', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36052, 'Hiram', 2789, '30141', '770', '33.863491', '-84.770379', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36053, 'Kennesaw', 2789, '30152', '770', '33.989644', '-84.645468', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36054, 'Ephesus', 2789, '30170', '770', '33.436054', '-85.186104', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36055, 'Roopville', 2789, '30170', '770', '33.436054', '-85.186104', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36056, 'Talking Rock', 2789, '30175', '706', '34.563058', '-84.517426', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36057, 'White Stone', 2789, '30175', '706', '34.563058', '-84.517426', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36058, 'White', 2789, '30184', '770', '34.256108', '-84.71776', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36059, 'Atl', 2789, '30318', '404', '33.793085', '-84.445357', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36060, 'Marietta', 2789, '30061', '770', '33.9525', '-84.55', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36061, 'Norcross', 2789, '30093', '770', '33.905946', '-84.180733', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36062, 'Bowdon Jct', 2789, '30109', '770', '33.6622', '-85.1486', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36063, 'Bowdon Junction', 2789, '30109', '770', '33.6622', '-85.1486', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36064, 'Clarkdale', 2789, '30111', '770', '33.8274', '-84.6568', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36065, 'Jenkinsburg', 2789, '30234', '770', '33.326884', '-84.020029', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36066, 'Mableton', 2789, '30126', '770', '33.8138', '-84.550292', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36067, 'Douglasville', 2789, '30135', '770', '33.667396', '-84.734631', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36068, 'Tallapoosa', 2789, '30176', '770', '33.78129', '-85.291924', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36069, 'Lake Arrowhead', 2789, '30183', '770', '34.331818', '-84.589206', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36070, 'Waleska', 2789, '30183', '770', '34.331818', '-84.589206', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36071, 'Centralhatchee', 2789, '30217', '706', '33.278096', '-85.132738', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36072, 'Ctrlhatchee', 2789, '30217', '706', '33.278096', '-85.132738', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36073, 'Franklin', 2789, '30217', '706', '33.278096', '-85.132738', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36074, 'Glenn', 2789, '30219', '706', '33.1546', '-85.203', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36075, 'Atl', 2789, '30310', '404', '33.724113', '-84.43129', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36076, 'Atlanta', 2789, '30310', '404', '33.724113', '-84.43129', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36077, 'Fort Mcpherson', 2789, '30310', '404', '33.724113', '-84.43129', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36078, 'Atl', 2789, '30312', '404', '33.743358', '-84.383243', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36079, 'Atlanta', 2789, '30312', '404', '33.743358', '-84.383243', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36080, 'Snellville', 2789, '30078', '770', '33.860766', '-84.007709', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36081, 'Berkeley Lake', 2789, '30092', '770', '33.968149', '-84.226788', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36082, 'Stillmore', 2789, '30464', '912', '32.425014', '-82.22883', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36083, 'Crawford', 2789, '30630', '706', '33.898154', '-83.163111', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36084, 'Atl', 2789, '30366', '770', '33.885', '-84.2995', '2018-11-29 04:57:11', '2018-11-29 04:57:11'),\n(36085, 'Atlanta', 2789, '30366', '770', '33.885', '-84.2995', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36086, 'Chamblee', 2789, '30366', '770', '33.885', '-84.2995', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36087, 'Georgia State Penitentiary', 2789, '30499', '912', '32.0864', '-82.1181', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36088, 'Reidsville', 2789, '30499', '912', '32.0864', '-82.1181', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36089, 'Blue Ridge', 2789, '30513', '706', '34.793329', '-84.32739', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36090, 'Atl', 2789, '30329', '404', '33.826738', '-84.32473', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36091, 'Atlanta', 2789, '30329', '404', '33.826738', '-84.32473', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36092, 'Briarcliff', 2789, '30329', '404', '33.826738', '-84.32473', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36093, 'Atl', 2789, '30332', '404', '33.7759', '-84.3927', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36094, 'Atlanta', 2789, '30332', '404', '33.7759', '-84.3927', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36095, 'Georgia Tech', 2789, '30332', '404', '33.7759', '-84.3927', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36096, 'Atl', 2789, '30333', '404', '33.7788', '-84.3361', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36097, 'Atlanta', 2789, '30333', '404', '33.7788', '-84.3361', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36098, 'Druid Hills', 2789, '30333', '404', '33.7788', '-84.3361', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36099, 'Eastanollee', 2789, '30538', '706', '34.48124', '-83.264488', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36100, 'East Ellijay', 2789, '30539', '706', '34.67909', '-84.46592', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36101, 'Fry', 2789, '30555', '706', '34.963828', '-84.43383', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36102, 'Mc Caysville', 2789, '30555', '706', '34.963828', '-84.43383', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36103, 'Mccaysville', 2789, '30555', '706', '34.963828', '-84.43383', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36104, 'Tallulah Falls', 2789, '30573', '706', '34.7361', '-83.3915', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36105, 'Tallulah Fls', 2789, '30573', '706', '34.7361', '-83.3915', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36106, 'Talmo', 2789, '30575', '706', '34.194526', '-83.716276', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36107, 'Boneville', 2789, '30806', '706', '33.4335', '-82.4411', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36108, 'Collins', 2789, '30421', '912', '32.18877', '-82.105865', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36109, 'Dover', 2789, '30424', '912', '32.5769', '-81.7155', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36110, 'Garfield', 2789, '30425', '478', '32.638643', '-82.008073', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36111, 'Rocky Ford', 2789, '30455', '912', '32.701912', '-81.81322', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36112, 'Athens', 2789, '30606', '706', '33.93744', '-83.43611', '2018-11-29 04:57:12', '2018-11-29 04:57:12');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(36113, 'Navy Supply Corps School', 2789, '30606', '706', '33.93744', '-83.43611', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36114, 'Athens', 2789, '30607', '706', '34.027471', '-83.449954', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36115, 'Athens', 2789, '30608', '706', '33.9605', '-83.3784', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36116, 'Bostwick', 2789, '30623', '706', '33.7366', '-83.5147', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36117, 'Bowman', 2789, '30624', '706', '34.198376', '-83.020416', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36118, 'Atl', 2789, '30355', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36119, 'Atlanta', 2789, '30355', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36120, 'Atl', 2789, '30371', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36121, 'Atlanta', 2789, '30371', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36122, 'Atl', 2789, '30388', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36123, 'Atlanta', 2789, '30388', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36124, 'Avon', 2789, '30388', '404', '33.7486', '-84.3884', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36125, 'Gainesville', 2789, '30506', '770', '34.32142', '-83.880483', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36126, 'Gainesville', 2789, '30507', '770', '34.263988', '-83.7724', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36127, 'Atl', 2789, '30338', '770', '33.944716', '-84.318059', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36128, 'Atlanta', 2789, '30338', '770', '33.944716', '-84.318059', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36129, 'Dunwoody', 2789, '30338', '770', '33.944716', '-84.318059', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36130, 'North Springs', 2789, '30338', '770', '33.944716', '-84.318059', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36131, 'Sandy Spgs', 2789, '30338', '770', '33.944716', '-84.318059', '2018-11-29 04:57:12', '2018-11-29 04:57:12'),\n(36132, 'Sandy Springs', 2789, '30338', '770', '33.944716', '-84.318059', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36133, 'Atl', 2789, '30340', '770', '33.898914', '-84.254032', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36134, 'Atlanta', 2789, '30340', '770', '33.898914', '-84.254032', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36135, 'Doraville', 2789, '30340', '770', '33.898914', '-84.254032', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36136, 'Atl', 2789, '30341', '770', '33.890567', '-84.276228', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36137, 'Atlanta', 2789, '30341', '770', '33.890567', '-84.276228', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36138, 'Chamblee', 2789, '30341', '770', '33.890567', '-84.276228', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36139, 'Decatur', 2789, '30036', '404', '33.7749', '-84.2965', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36140, 'Cartersville', 2789, '30120', '770', '34.19193', '-84.844584', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36141, 'Euharlee', 2789, '30120', '770', '34.19193', '-84.844584', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36142, 'North Corners', 2789, '30120', '770', '34.19193', '-84.844584', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36143, 'Atl', 2789, '30354', '404', '33.659412', '-84.389532', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36144, 'Atlanta', 2789, '30354', '404', '33.659412', '-84.389532', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36145, 'Marietta', 2789, '30066', '770', '34.024356', '-84.500434', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36146, 'Roswell', 2789, '30075', '770', '34.056136', '-84.379465', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36147, 'Sandy Plains', 2789, '30075', '770', '34.056136', '-84.379465', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36148, 'Roswell', 2789, '30077', '770', '34.0231', '-84.3614', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36149, 'Tucker', 2789, '30084', '770', '33.856022', '-84.213682', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36150, 'Carrollton', 2789, '30116', '770', '33.546669', '-85.008711', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36151, 'Avondale Est', 2789, '30002', '404', '33.771036', '-84.259312', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36152, 'Avondale Estates', 2789, '30002', '404', '33.771036', '-84.259312', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36153, 'Jersey', 2789, '30018', '770', '33.7135', '-83.7877', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36154, 'Social Circle', 2789, '30025', '770', '33.654155', '-83.691822', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36155, 'Cumming', 2789, '30041', '770', '34.202484', '-84.109612', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36156, 'Lawrenceville', 2789, '30043', '770', '34.004652', '-84.013', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36157, 'Homer', 2789, '30547', '706', '34.362982', '-83.458766', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36158, 'Hoschton', 2789, '30548', '706', '34.097648', '-83.776834', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36159, 'Arcade', 2789, '30549', '706', '34.096364', '-83.574561', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36160, 'Jefferson', 2789, '30549', '706', '34.096364', '-83.574561', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36161, 'Mount Airy', 2789, '30563', '706', '34.553895', '-83.461881', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36162, 'Murrayville', 2789, '30564', '770', '34.472575', '-83.897177', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36163, 'Nicholson', 2789, '30565', '706', '34.086308', '-83.414402', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36164, 'Turnerville', 2789, '30580', '706', '34.6918', '-83.4259', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36165, 'Nunez', 2789, '30448', '912', '32.50059', '-82.363528', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36166, 'Aaron', 2789, '30450', '912', '32.552493', '-81.942658', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36167, 'Portal', 2789, '30450', '912', '32.552493', '-81.942658', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36168, 'Marietta', 2789, '30006', '678', '33.9527', '-84.5502', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36169, 'Clarkston', 2789, '30021', '404', '33.807873', '-84.239082', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36170, 'Alpharetta', 2789, '30022', '770', '34.020538', '-84.248746', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36171, 'Johns Creek', 2789, '30022', '770', '34.020538', '-84.248746', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36172, 'Alpharetta', 2789, '30023', '770', '34.0758', '-84.2956', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36173, 'Snellville', 2789, '30039', '770', '33.796495', '-84.03312', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36174, 'Cartersville', 2789, '30121', '770', '34.202164', '-84.777662', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36175, 'Fairmount', 2789, '30139', '706', '34.436647', '-84.693053', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36176, 'Felton', 2789, '30140', '770', '33.8914', '-85.196', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36177, 'Shannon', 2789, '30172', '706', '34.3429', '-85.0858', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36178, 'Silver Creek', 2789, '30173', '706', '34.138237', '-85.133012', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36179, 'Winston', 2789, '30187', '770', '33.659016', '-84.84418', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36180, 'Woodstock', 2789, '30189', '770', '34.127756', '-84.575753', '2018-11-29 04:57:13', '2018-11-29 04:57:13'),\n(36181, 'Barnesville', 2789, '30204', '770', '33.055011', '-84.151168', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36182, 'Brooks', 2789, '30205', '770', '33.263575', '-84.46185', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36183, 'Porterdale', 2789, '30070', '678', '33.574607', '-83.897595', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36184, 'Pine Lake', 2789, '30072', '770', '33.790696', '-84.205062', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36185, 'Stone Mountain', 2789, '30088', '770', '33.756882', '-84.17504', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36186, 'Stone Mtn', 2789, '30088', '770', '33.756882', '-84.17504', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36187, 'Aragon', 2789, '30104', '770', '34.089312', '-85.064934', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36188, 'Austell', 2789, '30106', '770', '33.833506', '-84.62475', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36189, 'Griffin', 2789, '30224', '770', '33.1962', '-84.273274', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36190, 'Charles', 2789, '30474', '912', '32.206023', '-82.434996', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36191, 'Kibbee', 2789, '30474', '912', '32.206023', '-82.434996', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36192, 'Normantown', 2789, '30474', '912', '32.206023', '-82.434996', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36193, 'Petross', 2789, '30474', '912', '32.206023', '-82.434996', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36194, 'Atl', 2789, '30358', '404', '33.7486', '-84.3884', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36195, 'Atlanta', 2789, '30358', '404', '33.7486', '-84.3884', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36196, 'Sandy Spgs', 2789, '30358', '404', '33.7486', '-84.3884', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36197, 'Sandy Springs', 2789, '30358', '404', '33.7486', '-84.3884', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36198, 'Atl', 2789, '30374', '404', '33.7486', '-84.3884', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36199, 'Atlanta', 2789, '30374', '404', '33.7486', '-84.3884', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36200, 'Vidalia', 2789, '30474', '912', '32.206023', '-82.434996', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36201, 'Vidalia', 2789, '30475', '912', '32.2148', '-82.4107', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36202, 'Atl', 2789, '30321', '404', '33.6403', '-84.3952', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36203, 'Atlanta', 2789, '30321', '404', '33.6403', '-84.3952', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36204, 'Suches', 2789, '30572', '706', '34.740112', '-84.064834', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36205, 'Rock Spring', 2789, '30739', '706', '34.805201', '-85.213972', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36206, 'Fort Oglethorpe', 2789, '30742', '706', '34.936216', '-85.243782', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36207, 'Ft Oglethorpe', 2789, '30742', '706', '34.936216', '-85.243782', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36208, 'Rossville', 2789, '30742', '706', '34.936216', '-85.243782', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36209, 'Wildwood', 2789, '30757', '706', '34.92818', '-85.43365', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36210, 'Dearing', 2789, '30808', '706', '33.387212', '-82.382428', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36211, 'Evans', 2789, '30809', '706', '33.558757', '-82.154005', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36212, 'Center', 2789, '30474', '912', '32.206023', '-82.434996', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36213, 'Tamuning', 2790, '96931', '671', '13.4839', '144.7769', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36214, 'Agana', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36215, 'Agana Heights', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36216, 'Asan', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36217, 'Chalan Pago', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36218, 'Hagatna', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36219, 'Maite', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36220, 'Mongmong', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36221, 'Ordot', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36222, 'Sinajana', 2790, '96910', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36223, 'Inarajan', 2790, '96917', '671', '0', '0', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36224, 'Barrigada', 2790, '96913', '671', '13.4686', '144.7989', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36225, 'Harmon', 2790, '96913', '671', '13.4686', '144.7989', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36226, 'Mangilao', 2790, '96913', '671', '13.4686', '144.7989', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36227, 'Tamuning', 2790, '96913', '671', '13.4686', '144.7989', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36228, 'Tiyan', 2790, '96913', '671', '13.4686', '144.7989', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36229, 'Tumon', 2790, '96913', '671', '13.4686', '144.7989', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36230, 'Inarajan', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:14', '2018-11-29 04:57:14'),\n(36231, 'Merizo', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36232, 'Piti', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36233, 'Santa Rita', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36234, 'Talofofo', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36235, 'Umatac', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36236, 'Yona', 2790, '96915', '671', '13.3862', '144.6689', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36237, 'Barrigada', 2790, '96929', '671', '13.5346', '144.8858', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36238, 'Dededo', 2790, '96929', '671', '13.5346', '144.8858', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36239, 'Yigo', 2790, '96929', '671', '13.5346', '144.8858', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36240, 'Agana', 2790, '96932', '671', '13.4744', '144.7478', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36241, 'Hagatna', 2790, '96932', '671', '13.4744', '144.7478', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36242, 'Barrigada', 2790, '96921', '671', '13.4686', '144.7989', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36243, 'Mangilao', 2790, '96923', '671', '13.4391', '144.7976', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36244, 'Agat', 2790, '96928', '671', '13.3815', '144.6544', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36245, 'Haiku', 2791, '96708', '808', '20.85508', '-156.266818', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36246, 'Kalaupapa', 2791, '96742', '808', '21.170704', '-156.953848', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36247, 'Keaau', 2791, '96749', '808', '19.628242', '-155.001868', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36248, 'Kurtistown', 2791, '96760', '808', '19.565269', '-155.050784', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36249, 'Ookala', 2791, '96774', '808', '19.991354', '-155.269368', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36250, 'Paauilo', 2791, '96776', '808', '19.784799', '-155.504292', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36251, 'Volcano', 2791, '96785', '808', '19.496204', '-155.21751', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36252, 'Hon', 2791, '96810', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36253, 'Hono', 2791, '96810', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36254, 'Honolulu', 2791, '96810', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36255, 'Hon', 2791, '96819', '808', '21.350026', '-157.879691', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36256, 'Hono', 2791, '96819', '808', '21.350026', '-157.879691', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36257, 'Honolulu', 2791, '96819', '808', '21.350026', '-157.879691', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36258, 'Hon', 2791, '96844', '808', '21.298362', '-157.817808', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36259, 'Hono', 2791, '96844', '808', '21.298362', '-157.817808', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36260, 'Honolulu', 2791, '96844', '808', '21.298362', '-157.817808', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36261, 'University Of Hawaii', 2791, '96844', '808', '21.298362', '-157.817808', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36262, 'Bancorp', 2791, '96849', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36263, 'Bancorp Hawaii', 2791, '96849', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36264, 'Honolulu', 2791, '96849', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36265, 'Fort Shafter', 2791, '96858', '808', '21.338836', '-157.888553', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36266, 'Hanamaulu', 2791, '96715', '808', '21.9976', '-159.3573', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36267, 'Lihue', 2791, '96715', '808', '21.9976', '-159.3573', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36268, 'Kapolei', 2791, '96709', '808', '21.3214', '-158.0073', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36269, 'Hawaii National Park', 2791, '96718', '808', '19.368804', '-155.33088', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36270, 'Hawaii Natl Park', 2791, '96718', '808', '19.368804', '-155.33088', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36271, 'Hi Natl Park', 2791, '96718', '808', '19.368804', '-155.33088', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36272, 'Holualoa', 2791, '96725', '808', '19.556469', '-155.787391', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36273, 'Kahului', 2791, '96732', '808', '20.875914', '-156.45583', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36274, 'Kalaheo', 2791, '96741', '808', '21.969243', '-159.510927', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36275, 'Kualapuu', 2791, '96757', '808', '21.15632', '-156.992095', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36276, 'Lihue', 2791, '96766', '808', '21.985465', '-159.417695', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36277, 'Puunene', 2791, '96784', '808', '20.8638', '-156.4531', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36278, 'Wahiawa', 2791, '96786', '808', '21.505834', '-158.023342', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36279, 'Wailuku', 2791, '96793', '808', '20.902968', '-156.544936', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36280, 'Hon', 2791, '96802', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36281, 'Hono', 2791, '96802', '808', '21.3069', '-157.8584', '2018-11-29 04:57:15', '2018-11-29 04:57:15'),\n(36282, 'Honolulu', 2791, '96802', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36283, 'Hon', 2791, '96807', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36284, 'Hono', 2791, '96807', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36285, 'Honolulu', 2791, '96807', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36286, 'Hon', 2791, '96825', '808', '21.290569', '-157.685918', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36287, 'Hono', 2791, '96825', '808', '21.290569', '-157.685918', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36288, 'Honolulu', 2791, '96825', '808', '21.290569', '-157.685918', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36289, 'Board Of Water Supply', 2791, '96843', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36290, 'Honolulu', 2791, '96843', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36291, 'Hon', 2791, '96850', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36292, 'Hono', 2791, '96850', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36293, 'Honolulu', 2791, '96850', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36294, 'Tripler Amc', 2791, '96859', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36295, 'Tripler Army Med Ctr', 2791, '96859', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36296, 'Tripler Army Medical Center', 2791, '96859', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36297, 'Captain Cook', 2791, '96704', '808', '19.314929', '-155.783296', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36298, 'Ocean View', 2791, '96704', '808', '19.314929', '-155.783296', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36299, 'Eleele', 2791, '96705', '808', '21.90608', '-159.546536', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36300, 'Ewa Beach', 2791, '96706', '808', '21.339912', '-158.013128', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36301, 'Princeville', 2791, '96722', '808', '22.149449', '-159.524168', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36302, 'Waikoloa', 2791, '96738', '808', '19.9353', '-155.813748', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36303, 'Pukalani', 2791, '96788', '808', '20.8364', '-156.3368', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36304, 'Pukalani Maui', 2791, '96788', '808', '20.8364', '-156.3368', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36305, 'Hon', 2791, '96804', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36306, 'Hono', 2791, '96804', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36307, 'Honolulu', 2791, '96804', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36308, 'Hon', 2791, '96805', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36309, 'Hono', 2791, '96805', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36310, 'Honolulu', 2791, '96805', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36311, 'Hon', 2791, '96837', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36312, 'Hono', 2791, '96837', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36313, 'Honolulu', 2791, '96837', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36314, 'Hawaiian Electric Company', 2791, '96840', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36315, 'Honolulu', 2791, '96840', '808', '21.3069', '-157.8584', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36316, 'Hickam AFB', 2791, '96853', '808', '21.329688', '-157.947534', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36317, 'Jb Pearl Harbor Hickam', 2791, '96853', '808', '21.329688', '-157.947534', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36318, 'Jbphh', 2791, '96853', '808', '21.329688', '-157.947534', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36319, 'Joint Base Pearl Hbr Hickam', 2791, '96853', '808', '21.329688', '-157.947534', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36320, 'Wheeler Aaf', 2791, '96854', '808', '21.4859', '-158.0365', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36321, 'Wheeler Army Airfield', 2791, '96854', '808', '21.4859', '-158.0365', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36322, 'Helemano Mltry Res', 2791, '96857', '808', '21.47329', '-158.097658', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36323, 'Helemano Mltry Reservation', 2791, '96857', '808', '21.47329', '-158.097658', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36324, 'Schofield', 2791, '96857', '808', '21.47329', '-158.097658', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36325, 'Schofield Barracks', 2791, '96857', '808', '21.47329', '-158.097658', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36326, 'Kalaeloa', 2791, '96707', '808', '21.374251', '-158.08103', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36327, 'Kapolei', 2791, '96707', '808', '21.374251', '-158.08103', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36328, 'Makakilo', 2791, '96707', '808', '21.374251', '-158.08103', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36329, 'Hanapepe', 2791, '96716', '808', '22.026012', '-159.582815', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36330, 'Ahualoa', 2791, '96727', '808', '20.064838', '-155.552699', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36331, 'Honokaa', 2791, '96727', '808', '20.064838', '-155.552699', '2018-11-29 04:57:16', '2018-11-29 04:57:16'),\n(36332, 'Paauhau', 2791, '96727', '808', '20.064838', '-155.552699', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36333, 'Kailua', 2791, '96734', '808', '21.396104', '-157.744706', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36334, 'Kekaha', 2791, '96752', '808', '22.026324', '-159.726234', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36335, 'Pahala', 2791, '96777', '808', '19.297591', '-155.543151', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36336, 'Waialua', 2791, '96791', '808', '21.551553', '-158.172907', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36337, 'Hon', 2791, '96811', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36338, 'Kamuela', 2791, '96743', '808', '19.902857', '-155.742878', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36339, 'Kawaihae', 2791, '96743', '808', '19.902857', '-155.742878', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36340, 'Kealakekua', 2791, '96750', '808', '19.522494', '-155.9296', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36341, 'Kunia', 2791, '96759', '808', '21.43034', '-158.080146', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36342, 'Lahaina', 2791, '96761', '808', '20.902854', '-156.618542', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36343, 'Makawao', 2791, '96768', '808', '20.844808', '-156.324796', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36344, 'Pearl City', 2791, '96782', '808', '21.412796', '-157.924213', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36345, 'Hon', 2791, '96809', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36346, 'Hono', 2791, '96809', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36347, 'Honolulu', 2791, '96809', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36348, 'Camp H M Smith', 2791, '96861', '808', '21.386472', '-157.906173', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36349, 'Camp Smith', 2791, '96861', '808', '21.386472', '-157.906173', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36350, 'Kilauea', 2791, '96754', '808', '22.202668', '-159.399794', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36351, 'Kula', 2791, '96790', '808', '20.668658', '-156.417026', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36352, 'Hon', 2791, '96803', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36353, 'Hono', 2791, '96803', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36354, 'Honolulu', 2791, '96803', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36355, 'Hon', 2791, '96806', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36356, 'Hono', 2791, '96806', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36357, 'Honolulu', 2791, '96806', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36358, 'Hon', 2791, '96820', '808', '21.3085', '-157.8617', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36359, 'Hono', 2791, '96820', '808', '21.3085', '-157.8617', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36360, 'Honolulu', 2791, '96820', '808', '21.3085', '-157.8617', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36361, 'Hon', 2791, '96821', '808', '21.299808', '-157.751686', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36362, 'Hono', 2791, '96821', '808', '21.299808', '-157.751686', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36363, 'Honolulu', 2791, '96821', '808', '21.299808', '-157.751686', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36364, 'Hon', 2791, '96838', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36365, 'Hono', 2791, '96838', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36366, 'Honolulu', 2791, '96838', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36367, 'Hon', 2791, '96839', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36368, 'Hono', 2791, '96839', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36369, 'Honolulu', 2791, '96839', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36370, 'Hono', 2791, '96824', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36371, 'Honolulu', 2791, '96824', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36372, 'Haleiwa', 2791, '96712', '808', '21.60542', '-158.019089', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36373, 'Hana', 2791, '96713', '808', '20.750172', '-156.116844', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36374, 'Hana Maui', 2791, '96713', '808', '20.750172', '-156.116844', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36375, 'Hanalei', 2791, '96714', '808', '22.206884', '-159.462239', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36376, 'Kahuku', 2791, '96731', '808', '21.661471', '-157.976589', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36377, 'Kailua Kona', 2791, '96745', '808', '19.6484', '-155.9968', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36378, 'Laie', 2791, '96762', '808', '21.623598', '-157.939521', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36379, 'Laupahoehoe', 2791, '96764', '808', '19.934024', '-155.267382', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36380, 'Papaaloa', 2791, '96780', '808', '19.887691', '-155.24089', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36381, 'Waimea', 2791, '96796', '808', '22.057348', '-159.694881', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36382, 'Hon', 2791, '96812', '808', '21.3069', '-157.8584', '2018-11-29 04:57:17', '2018-11-29 04:57:17'),\n(36383, 'Hono', 2791, '96812', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36384, 'Honolulu', 2791, '96812', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36385, 'Hon', 2791, '96813', '808', '21.328602', '-157.828594', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36386, 'Hono', 2791, '96813', '808', '21.328602', '-157.828594', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36387, 'Honolulu', 2791, '96813', '808', '21.328602', '-157.828594', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36388, 'Hon', 2791, '96814', '808', '21.293856', '-157.846709', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36389, 'Hono', 2791, '96814', '808', '21.293856', '-157.846709', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36390, 'Honolulu', 2791, '96814', '808', '21.293856', '-157.846709', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36391, 'Hon', 2791, '96830', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36392, 'Hono', 2791, '96830', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36393, 'Honolulu', 2791, '96830', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36394, 'First Hawaiian Bank', 2791, '96847', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36395, 'Honolulu', 2791, '96847', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36396, 'East West Center', 2791, '96848', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36397, 'Hon', 2791, '96848', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36398, 'Hono', 2791, '96848', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36399, 'Honolulu', 2791, '96848', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36400, 'Wake Island', 2791, '96898', '808', '19.2833', '-166.6', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36401, 'Kaaawa', 2791, '96730', '808', '21.530767', '-157.873137', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36402, 'Kaumakani', 2791, '96747', '808', '21.916427', '-159.620952', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36403, 'Lanai City', 2791, '96763', '808', '20.83067', '-156.933993', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36404, 'Papaikou', 2791, '96781', '808', '19.784766', '-155.210604', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36405, 'Waimanalo', 2791, '96795', '808', '21.343676', '-157.704184', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36406, 'Waipahu', 2791, '96797', '808', '21.41492', '-158.032948', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36407, 'Hon', 2791, '96815', '808', '21.271982', '-157.821362', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36408, 'Hono', 2791, '96815', '808', '21.271982', '-157.821362', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36409, 'Honolulu', 2791, '96815', '808', '21.271982', '-157.821362', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36410, 'Bank Of Hawaii', 2791, '96846', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36411, 'Honolulu', 2791, '96846', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36412, 'Mcbh K Bay', 2791, '96863', '808', '21.45075', '-157.768442', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36413, 'Mcbh Kaneohe Bay', 2791, '96863', '808', '21.45075', '-157.768442', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36414, 'Aiea', 2791, '96701', '808', '21.396288', '-157.896389', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36415, 'Hauula', 2791, '96717', '808', '21.566945', '-157.907288', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36416, 'Honaunau', 2791, '96726', '808', '19.416318', '-155.908096', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36417, 'Kahului', 2791, '96733', '808', '20.8944', '-156.47', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36418, 'Kaneohe', 2791, '96744', '808', '21.449642', '-157.827578', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36419, 'Lahaina', 2791, '96767', '808', '20.8786', '-156.6825', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36420, 'Nanakuli', 2791, '96792', '808', '21.465651', '-158.153756', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36421, 'Waianae', 2791, '96792', '808', '21.465651', '-158.153756', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36422, 'Hon', 2791, '96801', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36423, 'Hono', 2791, '96801', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36424, 'Honolulu', 2791, '96801', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36425, 'Hon', 2791, '96808', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36426, 'Hono', 2791, '96808', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36427, 'Honolulu', 2791, '96808', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36428, 'Hon', 2791, '96817', '808', '21.338849', '-157.837351', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36429, 'Hono', 2791, '96817', '808', '21.338849', '-157.837351', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36430, 'Honolulu', 2791, '96817', '808', '21.338849', '-157.837351', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36431, 'Hon', 2791, '96824', '808', '21.3069', '-157.8584', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36432, 'N Buena Vista', 2792, '52066', '563', '42.695846', '-90.956026', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36433, 'North Buena Vista', 2792, '52066', '563', '42.695846', '-90.956026', '2018-11-29 04:57:18', '2018-11-29 04:57:18'),\n(36434, 'Dubuque', 2792, '52099', '563', '42.5136', '-90.6845', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36435, 'Mcgraw Hill Companies', 2792, '52099', '563', '42.5136', '-90.6845', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36436, 'Lake Park', 2792, '51347', '712', '43.421381', '-95.299132', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36437, 'Terril', 2792, '51364', '712', '43.307052', '-94.964198', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36438, 'Pisgah', 2792, '51564', '712', '41.794917', '-95.90587', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36439, 'Portsmouth', 2792, '51565', '712', '41.645894', '-95.53837', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36440, 'Percival', 2792, '51648', '712', '40.729762', '-95.806042', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36441, 'Randolph', 2792, '51649', '712', '40.844308', '-95.53741', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36442, 'Kingsley', 2792, '51028', '712', '42.591034', '-95.997277', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36443, 'Arcadia', 2792, '51430', '712', '42.051702', '-95.034016', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36444, 'Aspinwall', 2792, '51432', '712', '41.9074', '-95.1509', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36445, 'Boyer', 2792, '51448', '712', '42.192215', '-95.29457', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36446, 'Kiron', 2792, '51448', '712', '42.192215', '-95.29457', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36447, 'Artesian', 2792, '50677', '319', '42.78005', '-92.426332', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36448, 'Bremer', 2792, '50677', '319', '42.78005', '-92.426332', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36449, 'Horton', 2792, '50677', '319', '42.78005', '-92.426332', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36450, 'Murphy', 2792, '50677', '319', '42.78005', '-92.426332', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36451, 'Waverly', 2792, '50677', '319', '42.78005', '-92.426332', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36452, 'Washta', 2792, '51061', '712', '42.572225', '-95.721945', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36453, 'Alvord', 2792, '51230', '712', '43.35273', '-96.311648', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36454, 'Archer', 2792, '51231', '712', '43.098868', '-95.742816', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36455, 'Ashton', 2792, '51232', '712', '43.302253', '-95.792082', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36456, 'Webster City', 2792, '50595', '515', '42.441537', '-93.825426', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36457, 'Fredericksbrg', 2792, '50630', '563', '42.961478', '-92.209367', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36458, 'Fredericksburg', 2792, '50630', '563', '42.961478', '-92.209367', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36459, 'Hudson', 2792, '50643', '319', '42.368014', '-92.457748', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36460, 'Voorhies', 2792, '50643', '319', '42.368014', '-92.457748', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36461, 'Zaneta', 2792, '50643', '319', '42.368014', '-92.457748', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36462, 'Communications Data Service', 2792, '50947', '515', '41.6007', '-93.6088', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36463, 'Des Moines', 2792, '50947', '515', '41.6007', '-93.6088', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36464, 'New Hartford', 2792, '50660', '319', '42.585249', '-92.633224', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36465, 'N Washington', 2792, '50661', '641', '43.0593', '-92.3178', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36466, 'North Washington', 2792, '50661', '641', '43.0593', '-92.3178', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36467, 'Eldora', 2792, '50627', '641', '42.33983', '-93.09283', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36468, 'Fairbank', 2792, '50629', '319', '42.645728', '-92.062155', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36469, 'Doris', 2792, '50644', '319', '42.477278', '-91.885026', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36470, 'Independence', 2792, '50644', '319', '42.477278', '-91.885026', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36471, 'Otterville', 2792, '50644', '319', '42.477278', '-91.885026', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36472, 'Bassett', 2792, '50645', '641', '43.016686', '-92.435877', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36473, 'Chickasaw', 2792, '50645', '641', '43.016686', '-92.435877', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36474, 'Ionia', 2792, '50645', '641', '43.016686', '-92.435877', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36475, 'Tingley', 2792, '50863', '641', '40.854619', '-94.185902', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36476, 'Morton Mills', 2792, '50864', '712', '41.001302', '-95.014203', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36477, 'Tenville Junction', 2792, '50864', '712', '41.001302', '-95.014203', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36478, 'Villisca', 2792, '50864', '712', '41.001302', '-95.014203', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36479, 'Des Moines', 2792, '50980', '515', '41.6007', '-93.6088', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36480, 'Hp-Sc/ye', 2792, '50980', '515', '41.6007', '-93.6088', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36481, 'Des Moines', 2792, '50981', '515', '41.6007', '-93.6088', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36482, 'Hp-Sc/ye', 2792, '50981', '515', '41.6007', '-93.6088', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36483, 'Varina', 2792, '50593', '712', '42.654308', '-94.905466', '2018-11-29 04:57:19', '2018-11-29 04:57:19'),\n(36484, 'Clinton', 2792, '52771', '563', '41.8444', '-90.1888', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36485, 'Teeds Grove', 2792, '52771', '563', '41.8444', '-90.1888', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36486, 'Floris', 2792, '52560', '641', '40.84572', '-92.25585', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36487, 'Toddville', 2792, '52341', '319', '42.108263', '-91.73625', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36488, 'Cedar Valley', 2792, '52358', '319', '41.686972', '-91.300744', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36489, 'Downey', 2792, '52358', '319', '41.686972', '-91.300744', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36490, 'Herbert Hoover National Hist', 2792, '52358', '319', '41.686972', '-91.300744', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36491, 'Oasis', 2792, '52358', '319', '41.686972', '-91.300744', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36492, 'Udell', 2792, '52593', '641', '40.779145', '-92.746055', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36493, 'Unionville', 2792, '52594', '641', '40.833828', '-92.663323', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36494, 'Donnellson', 2792, '52625', '319', '40.673884', '-91.569294', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36495, 'Franklin', 2792, '52625', '319', '40.673884', '-91.569294', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36496, 'Mt Hamill', 2792, '52625', '319', '40.673884', '-91.569294', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36497, 'Primrose', 2792, '52625', '319', '40.673884', '-91.569294', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36498, 'Iowa City', 2792, '52242', '319', '41.659608', '-91.546956', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36499, 'Springdale', 2792, '52358', '319', '41.686972', '-91.300744', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36500, 'West Branch', 2792, '52358', '319', '41.686972', '-91.300744', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36501, 'Cedar Rapids', 2792, '52409', '319', '42.0083', '-91.6437', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36502, 'Cedar Rapids', 2792, '52410', '319', '42.0083', '-91.6437', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36503, 'Cantril', 2792, '52542', '319', '40.664434', '-92.019168', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36504, 'Brainard', 2792, '52141', '563', '42.930027', '-91.637065', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36505, 'Elgin', 2792, '52141', '563', '42.930027', '-91.637065', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36506, 'Marquette', 2792, '52158', '563', '43.069892', '-91.235856', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36507, 'Monona', 2792, '52159', '563', '43.091602', '-91.33681', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36508, 'Rossville', 2792, '52159', '563', '43.091602', '-91.33681', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36509, 'Volney', 2792, '52159', '563', '43.091602', '-91.33681', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36510, 'Watson', 2792, '52159', '563', '43.091602', '-91.33681', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36511, 'Canton', 2792, '52309', '563', '42.120074', '-90.876373', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36512, 'Monmouth', 2792, '52309', '563', '42.120074', '-90.876373', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36513, 'Monticello', 2792, '52310', '319', '42.22063', '-91.18816', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36514, 'Scotch Grove', 2792, '52310', '319', '42.22063', '-91.18816', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36515, 'Oxford Jct', 2792, '52323', '563', '41.97991', '-90.984864', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36516, 'Oxford Junction', 2792, '52323', '563', '41.97991', '-90.984864', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36517, 'Oxford Mills', 2792, '52323', '563', '41.97991', '-90.984864', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36518, 'Holbrook', 2792, '52325', '319', '41.56247', '-91.922142', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36519, 'Parnell', 2792, '52325', '319', '41.56247', '-91.922142', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36520, 'Durango', 2792, '52039', '563', '42.53511', '-90.840689', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36521, 'Dyersville', 2792, '52040', '563', '42.517796', '-91.136158', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36522, 'Petersburg', 2792, '52040', '563', '42.517796', '-91.136158', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36523, 'Atkins', 2792, '52206', '319', '41.982022', '-91.892233', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36524, 'Belle Plaine', 2792, '52208', '319', '41.880681', '-92.253881', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36525, 'Koszta', 2792, '52208', '319', '41.880681', '-92.253881', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36526, 'Avoca', 2792, '51521', '712', '41.478638', '-95.379492', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36527, 'Mineola', 2792, '51554', '712', '41.144198', '-95.684058', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36528, 'Dutchtown', 2792, '52057', '563', '42.494424', '-91.448473', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36529, 'Manchester', 2792, '52057', '563', '42.494424', '-91.448473', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36530, 'Oneida', 2792, '52057', '563', '42.494424', '-91.448473', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36531, 'Thorpe', 2792, '52057', '563', '42.494424', '-91.448473', '2018-11-29 04:57:20', '2018-11-29 04:57:20'),\n(36532, 'Saint Olaf', 2792, '52072', '563', '42.928584', '-91.385391', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36533, 'Inwood', 2792, '51240', '712', '43.310906', '-96.459742', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36534, 'Allendorf', 2792, '51354', '712', '43.406623', '-95.555126', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36535, 'May City', 2792, '51354', '712', '43.406623', '-95.555126', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36536, 'Ocheyedan', 2792, '51354', '712', '43.406623', '-95.555126', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36537, 'Red Oak', 2792, '51591', '712', '41.0096', '-95.2279', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36538, 'Essex', 2792, '51638', '712', '40.842104', '-95.266068', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36539, 'Farragut', 2792, '51639', '712', '40.721202', '-95.456498', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36540, 'Anthon', 2792, '51004', '712', '42.370804', '-95.922355', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36541, 'Battle Creek', 2792, '51006', '712', '42.290696', '-95.640098', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36542, 'Galva', 2792, '51020', '712', '42.495106', '-95.417036', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36543, 'Granville', 2792, '51022', '712', '42.982218', '-95.840616', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36544, 'Moville', 2792, '51039', '712', '42.447869', '-96.053188', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36545, 'Dinsdale', 2792, '50669', '319', '42.326126', '-92.611852', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36546, 'Reinbeck', 2792, '50669', '319', '42.326126', '-92.611852', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36547, 'Shell Rock', 2792, '50670', '319', '42.683933', '-92.62588', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36548, 'Stanley', 2792, '50671', '319', '42.650478', '-91.804802', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36549, 'Washburn', 2792, '50702', '319', '42.459504', '-92.316012', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36550, 'Waterloo', 2792, '50702', '319', '42.459504', '-92.316012', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36551, 'Waterloo', 2792, '50704', '319', '42.4929', '-92.3426', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36552, 'Carbon', 2792, '50839', '641', '41.0492', '-94.8249', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36553, 'Mount Ayr', 2792, '50854', '641', '40.691767', '-94.243266', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36554, 'Sioux City', 2792, '51104', '712', '42.534992', '-96.402406', '2018-11-29 04:57:21', '2018-11-29 04:57:21');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(36555, 'Sioux City', 2792, '51105', '712', '42.513319', '-96.370708', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36556, 'Alta Vista', 2792, '50603', '641', '43.175431', '-92.465778', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36557, 'Clarksville', 2792, '50619', '319', '42.793086', '-92.672412', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36558, 'Packard', 2792, '50619', '319', '42.793086', '-92.672412', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36559, 'Gladbrook', 2792, '50635', '641', '42.187821', '-92.693846', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36560, 'Des Moines', 2792, '50936', '515', '41.6007', '-93.6088', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36561, 'Hp-Proactive', 2792, '50936', '515', '41.6007', '-93.6088', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36562, 'Pilot Grove', 2792, '52648', '319', '40.7637', '-91.5357', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36563, 'Elrick', 2792, '52653', '319', '41.194538', '-91.169785', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36564, 'Toolesboro', 2792, '52653', '319', '41.194538', '-91.169785', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36565, 'Wapello', 2792, '52653', '319', '41.194538', '-91.169785', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36566, 'Davenport', 2792, '52807', '563', '41.578178', '-90.530681', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36567, 'Cedar Rapids', 2792, '52405', '319', '41.987898', '-91.752546', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36568, 'Cedar Rapids', 2792, '52498', '319', '42.0083', '-91.6437', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36569, 'Rockwell Collins', 2792, '52498', '319', '42.0083', '-91.6437', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36570, 'Centerville', 2792, '52544', '641', '40.706642', '-92.925273', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36571, 'Numa', 2792, '52544', '641', '40.706642', '-92.925273', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36572, 'Clermont', 2792, '52135', '563', '43.021471', '-91.680775', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36573, 'Festina', 2792, '52144', '563', '43.133894', '-91.957615', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36574, 'Fort Atkinson', 2792, '52144', '563', '43.133894', '-91.957615', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36575, 'Martelle', 2792, '52305', '319', '42.021646', '-91.350473', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36576, 'Robinson', 2792, '52330', '563', '42.36534', '-91.480424', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36577, 'Ryan', 2792, '52330', '563', '42.36534', '-91.480424', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36578, 'Delmar', 2792, '52037', '563', '41.956321', '-90.629826', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36579, 'North Welton', 2792, '52037', '563', '41.956321', '-90.629826', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36580, 'Center Jct', 2792, '52212', '563', '42.103399', '-91.082846', '2018-11-29 04:57:21', '2018-11-29 04:57:21'),\n(36581, 'Center Junction', 2792, '52212', '563', '42.103399', '-91.082846', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36582, 'Crescent', 2792, '51526', '712', '41.377675', '-95.89634', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36583, 'Buck Grove', 2792, '51528', '712', '41.950252', '-95.51766', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36584, 'Dow City', 2792, '51528', '712', '41.950252', '-95.51766', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36585, 'Harlan', 2792, '51537', '712', '41.633384', '-95.267237', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36586, 'Tennant', 2792, '51537', '712', '41.633384', '-95.267237', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36587, 'Lewis', 2792, '51544', '712', '41.310018', '-95.089342', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36588, 'Malvern', 2792, '51551', '712', '41.008996', '-95.58527', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36589, 'Minden', 2792, '51553', '712', '41.40503', '-95.544351', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36590, 'Fulton', 2792, '52060', '563', '42.098356', '-90.677465', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36591, 'Hurstville', 2792, '52060', '563', '42.098356', '-90.677465', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36592, 'Ironhills', 2792, '52060', '563', '42.098356', '-90.677465', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36593, 'Maquoketa', 2792, '52060', '563', '42.098356', '-90.677465', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36594, 'Nashville', 2792, '52060', '563', '42.098356', '-90.677465', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36595, 'Graettinger', 2792, '51342', '712', '43.226774', '-94.719161', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36596, 'Milford', 2792, '51351', '712', '43.320865', '-95.210358', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36597, 'Old Town', 2792, '51351', '712', '43.320865', '-95.210358', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36598, 'W Okoboji', 2792, '51351', '712', '43.320865', '-95.210358', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36599, 'West Okoboji', 2792, '51351', '712', '43.320865', '-95.210358', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36600, 'Crandalls Lodge', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36601, 'Egralharve', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36602, 'Methodist Camp', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36603, 'Montgomery', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36604, 'Orleans', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36605, 'Spirit Lake', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36606, 'Templar Park', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36607, 'Triboji Beach', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36608, 'Wahpeton', 2792, '51360', '712', '43.421631', '-95.101768', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36609, 'Oakland', 2792, '51560', '712', '41.314142', '-95.382166', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36610, 'Westphalia', 2792, '51578', '712', '41.696261', '-95.392705', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36611, 'College Sprgs', 2792, '51637', '712', '40.60833', '-95.117922', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36612, 'College Springs', 2792, '51637', '712', '40.60833', '-95.117922', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36613, 'Des Moines', 2792, '50983', '712', '0', '0', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36614, 'Hp Enterprise Services', 2792, '50983', '712', '0', '0', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36615, 'Akron', 2792, '51001', '712', '42.822492', '-96.46364', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36616, 'Ruble', 2792, '51001', '712', '42.822492', '-96.46364', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36617, 'Brunsville', 2792, '51008', '712', '42.80924', '-96.269193', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36618, 'Climbing Hill', 2792, '51015', '712', '42.3425', '-96.0773', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36619, 'Hinton', 2792, '51024', '712', '42.618076', '-96.271016', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36620, 'Neptune', 2792, '51024', '712', '42.618076', '-96.271016', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36621, 'Linn Grove', 2792, '51033', '712', '42.90272', '-95.259556', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36622, 'Onawa', 2792, '51040', '712', '41.99592', '-96.102455', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36623, 'Turin', 2792, '51040', '712', '41.99592', '-96.102455', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36624, 'Quimby', 2792, '51049', '712', '42.634122', '-95.643215', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36625, 'Lanesboro', 2792, '51451', '712', '42.173604', '-94.715706', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36626, 'Lohrville', 2792, '51453', '712', '42.267432', '-94.561811', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36627, 'Fern', 2792, '50665', '319', '42.574796', '-92.76123', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36628, 'Parkersburg', 2792, '50665', '319', '42.574796', '-92.76123', '2018-11-29 04:57:22', '2018-11-29 04:57:22'),\n(36629, 'Sinclair', 2792, '50665', '319', '42.574796', '-92.76123', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36630, 'Raymond', 2792, '50667', '319', '42.471884', '-92.222985', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36631, 'Benton', 2792, '50835', '641', '40.726017', '-94.390476', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36632, 'Ritter', 2792, '51201', '712', '43.178388', '-95.861164', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36633, 'Sheldon', 2792, '51201', '712', '43.178388', '-95.861164', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36634, 'Doon', 2792, '51235', '712', '43.294095', '-96.234984', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36635, 'West Bend', 2792, '50597', '515', '42.972528', '-94.433404', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36636, 'Ackley', 2792, '50601', '641', '42.565648', '-93.06705', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36637, 'Cleves', 2792, '50601', '641', '42.565648', '-93.06705', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36638, 'Faulkner', 2792, '50601', '641', '42.565648', '-93.06705', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36639, 'Macy', 2792, '50601', '641', '42.565648', '-93.06705', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36640, 'Robertson', 2792, '50601', '641', '42.565648', '-93.06705', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36641, 'Dike', 2792, '50624', '319', '42.459688', '-92.641682', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36642, 'Frederika', 2792, '50631', '319', '42.881158', '-92.303077', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36643, 'Holland', 2792, '50642', '319', '42.43407', '-92.8123', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36644, 'Hebron', 2792, '50858', '641', '41.223319', '-94.423056', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36645, 'Orient', 2792, '50858', '641', '41.223319', '-94.423056', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36646, 'Zion', 2792, '50858', '641', '41.223319', '-94.423056', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36647, 'Communications Data Service', 2792, '50940', '515', '41.6007', '-93.6088', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36648, 'Des Moines', 2792, '50940', '515', '41.6007', '-93.6088', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36649, 'North Liberty', 2792, '52317', '319', '41.764916', '-91.631482', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36650, 'Bellevue', 2792, '52031', '563', '42.272116', '-90.478254', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36651, 'Farmersburg', 2792, '52047', '563', '42.97213', '-91.344686', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36652, 'Froelich', 2792, '52047', '563', '42.97213', '-91.344686', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36653, 'National', 2792, '52047', '563', '42.97213', '-91.344686', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36654, 'Garber', 2792, '52048', '563', '42.742066', '-91.248032', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36655, 'Saint Lucas', 2792, '52166', '563', '43.067798', '-91.930725', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36656, 'St Lucas', 2792, '52166', '563', '43.067798', '-91.930725', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36657, 'Ainsworth', 2792, '52201', '319', '41.337197', '-91.5514', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36658, 'Haskins', 2792, '52201', '319', '41.337197', '-91.5514', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36659, 'Scranton', 2792, '51462', '712', '42.007507', '-94.541798', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36660, 'Templeton', 2792, '51463', '712', '41.906614', '-94.918225', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36661, 'Dunlap', 2792, '51529', '712', '41.856224', '-95.661004', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36662, 'Earling', 2792, '51530', '712', '41.790825', '-95.44126', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36663, 'Elk Horn', 2792, '51531', '712', '41.56782', '-95.075218', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36664, 'New Vienna', 2792, '52065', '563', '42.582384', '-91.102055', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36665, 'Edna', 2792, '51246', '712', '43.415111', '-96.154056', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36666, 'Rock Rapids', 2792, '51246', '712', '43.415111', '-96.154056', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36667, 'Hartley', 2792, '51346', '712', '43.184116', '-95.4666', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36668, 'Moneta', 2792, '51346', '712', '43.184116', '-95.4666', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36669, 'Red Oak', 2792, '51566', '712', '41.02316', '-95.218402', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36670, 'Blanchard', 2792, '51630', '712', '40.608402', '-95.211431', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36671, 'Braddyville', 2792, '51631', '712', '40.599439', '-95.015606', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36672, 'Cherokee', 2792, '51012', '712', '42.736754', '-95.584146', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36673, 'Cleghorn', 2792, '51014', '712', '42.793648', '-95.701609', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36674, 'Oyens', 2792, '51045', '712', '42.820633', '-96.057213', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36675, 'Arthur', 2792, '51431', '712', '42.34152', '-95.361718', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36676, 'Irwin', 2792, '51446', '712', '41.769242', '-95.199642', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36677, 'Wellsburg', 2792, '50680', '641', '42.452254', '-92.915019', '2018-11-29 04:57:23', '2018-11-29 04:57:23'),\n(36678, 'Diagonal', 2792, '50845', '641', '40.848045', '-94.357068', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36679, 'Grant', 2792, '50847', '712', '41.142754', '-94.989656', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36680, 'Adaville', 2792, '51062', '712', '42.710513', '-96.524534', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36681, 'Millnerville', 2792, '51062', '712', '42.710513', '-96.524534', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36682, 'Westfield', 2792, '51062', '712', '42.710513', '-96.524534', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36683, 'Whiting', 2792, '51063', '712', '42.149291', '-96.158056', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36684, 'Buckingham', 2792, '50612', '319', '42.284939', '-92.377745', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36685, 'Blackhawk Village', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36686, 'Brookside', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36687, 'Cedar City', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36688, 'Cedar Falls', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36689, 'Cedarfalls', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36690, 'College Square', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36691, 'North Cedar', 2792, '50613', '319', '42.516968', '-92.49115', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36692, 'Eddyville', 2792, '52553', '641', '41.157492', '-92.659298', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36693, 'Exline', 2792, '52555', '641', '40.635084', '-92.818974', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36694, 'Bennett', 2792, '52721', '563', '41.752897', '-90.956979', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36695, 'Camanche', 2792, '52730', '563', '41.771708', '-90.333428', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36696, 'Folletts', 2792, '52730', '563', '41.771708', '-90.333428', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36697, 'Shaffton', 2792, '52730', '563', '41.771708', '-90.333428', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36698, 'Eldridge', 2792, '52748', '563', '41.672898', '-90.554126', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36699, 'Park View', 2792, '52748', '563', '41.672898', '-90.554126', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36700, 'Van Horne', 2792, '52346', '319', '42.014343', '-92.086435', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36701, 'Grace Hill', 2792, '52353', '319', '41.3007', '-91.742908', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36702, 'Washington', 2792, '52353', '319', '41.3007', '-91.742908', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36703, 'Iconium', 2792, '52571', '641', '40.888165', '-92.858039', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36704, 'Moravia', 2792, '52571', '641', '40.888165', '-92.858039', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36705, 'Hillsboro', 2792, '52630', '319', '40.80792', '-91.660884', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36706, 'Iowa City', 2792, '52244', '319', '41.6611', '-91.5302', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36707, 'Hale', 2792, '52362', '563', '42.061392', '-91.017698', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36708, 'Wyoming', 2792, '52362', '563', '42.061392', '-91.017698', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36709, 'Bertram', 2792, '52403', '319', '41.973311', '-91.576922', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36710, 'Cedar Rapids', 2792, '52403', '319', '41.973311', '-91.576922', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36711, 'Agency', 2792, '52530', '641', '40.991592', '-92.301628', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36712, 'Bloomfield', 2792, '52537', '641', '40.765291', '-92.408398', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36713, 'West Grove', 2792, '52537', '641', '40.765291', '-92.408398', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36714, 'Egan', 2792, '52146', '563', '43.178372', '-91.189047', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36715, 'Harpers Ferry', 2792, '52146', '563', '43.178372', '-91.189047', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36716, 'Waukon Junction', 2792, '52146', '563', '43.178372', '-91.189047', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36717, 'Bonair', 2792, '52155', '563', '43.410389', '-92.297566', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36718, 'Lime Springs', 2792, '52155', '563', '43.410389', '-92.297566', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36719, 'Saratoga', 2792, '52155', '563', '43.410389', '-92.297566', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36720, 'Mount Vernon', 2792, '52314', '319', '41.932946', '-91.453885', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36721, 'Onslow', 2792, '52321', '563', '42.14109', '-90.966468', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36722, 'Robins', 2792, '52328', '319', '42.076761', '-91.66629', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36723, 'Shambaugh', 2792, '51651', '712', '40.66893', '-95.047381', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36724, 'Andrew', 2792, '52030', '563', '42.153311', '-90.59175', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36725, 'Colesburg', 2792, '52035', '563', '42.659932', '-91.17969', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36726, 'Osterdock', 2792, '52035', '563', '42.659932', '-91.17969', '2018-11-29 04:57:24', '2018-11-29 04:57:24'),\n(36727, 'Elkport', 2792, '52044', '563', '42.764495', '-91.317651', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36728, 'Farley', 2792, '52046', '563', '42.453667', '-91.033726', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36729, 'Frankville', 2792, '52162', '563', '43.091322', '-91.55915', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36730, 'Gunder', 2792, '52162', '563', '43.091322', '-91.55915', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36731, 'Postville', 2792, '52162', '563', '43.091322', '-91.55915', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36732, 'Alpha', 2792, '52171', '563', '43.085414', '-92.032724', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36733, 'Jackson Jct', 2792, '52171', '563', '43.085414', '-92.032724', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36734, 'Jackson Junction', 2792, '52171', '563', '43.085414', '-92.032724', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36735, 'Waucoma', 2792, '52171', '563', '43.085414', '-92.032724', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36736, 'Amber', 2792, '52205', '319', '42.116702', '-91.277422', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36737, 'Anamosa', 2792, '52205', '319', '42.116702', '-91.277422', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36738, 'Fairview', 2792, '52205', '319', '42.116702', '-91.277422', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36739, 'Ricketts', 2792, '51460', '712', '42.182432', '-95.622802', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36740, 'Quasqueton', 2792, '52326', '319', '42.393853', '-91.754822', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36741, 'Earlville', 2792, '52041', '563', '42.523571', '-91.255413', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36742, 'Edgewood', 2792, '52042', '563', '42.66758', '-91.376154', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36743, 'Littleport', 2792, '52042', '563', '42.66758', '-91.376154', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36744, 'Wood', 2792, '52042', '563', '42.66758', '-91.376154', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36745, 'Baldwin', 2792, '52207', '563', '42.105373', '-90.826837', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36746, 'Emeline', 2792, '52207', '563', '42.105373', '-90.826837', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36747, 'Blairstown', 2792, '52209', '319', '41.913115', '-92.09576', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36748, 'Blencoe', 2792, '51523', '712', '41.914432', '-96.081814', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36749, 'Hastings', 2792, '51540', '712', '41.016211', '-95.499237', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36750, 'Luxemburg', 2792, '52056', '563', '42.60254', '-91.071848', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36751, 'Douds', 2792, '52551', '641', '40.829112', '-92.024067', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36752, 'Leando', 2792, '52551', '641', '40.829112', '-92.024067', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36753, 'Clinton', 2792, '52733', '563', '41.8446', '-90.1886', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36754, 'Clinton', 2792, '52734', '563', '0', '0', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36755, 'Seventh Avenue', 2792, '52734', '563', '0', '0', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36756, 'Goose Lake', 2792, '52750', '563', '41.924283', '-90.396204', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36757, 'Gooselake', 2792, '52750', '563', '41.924283', '-90.396204', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36758, 'South Amana', 2792, '52334', '319', '41.739', '-91.936317', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36759, 'Kinross', 2792, '52335', '319', '41.452828', '-92.065936', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36760, 'South English', 2792, '52335', '319', '41.452828', '-92.065936', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36761, 'Vinton', 2792, '52349', '319', '42.166934', '-91.988136', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36762, 'Burlington', 2792, '52601', '319', '40.841262', '-91.113796', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36763, 'Argyle', 2792, '52619', '319', '40.520801', '-91.563936', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36764, 'Charleston', 2792, '52619', '319', '40.520801', '-91.563936', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36765, 'Sand Prairie', 2792, '52619', '319', '40.520801', '-91.563936', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36766, 'Four Corners', 2792, '52635', '319', '40.988276', '-91.765921', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36767, 'Lockridge', 2792, '52635', '319', '40.988276', '-91.765921', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36768, 'Clarence', 2792, '52216', '563', '41.882941', '-91.034244', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36769, 'Hartwick', 2792, '52232', '319', '41.79758', '-92.33765', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36770, 'Abingdon', 2792, '52533', '641', '41.013274', '-92.140628', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36771, 'Batavia', 2792, '52533', '641', '41.013274', '-92.140628', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36772, 'Beacon', 2792, '52534', '641', '41.274599', '-92.68147', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36773, 'Evans Junction', 2792, '52534', '641', '41.274599', '-92.68147', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36774, 'Birmingham', 2792, '52535', '319', '40.864218', '-91.948674', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36775, 'Kilbourn', 2792, '52535', '319', '40.864218', '-91.948674', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36776, 'Church', 2792, '52151', '563', '43.344486', '-91.259817', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36777, 'Lansing', 2792, '52151', '563', '43.344486', '-91.259817', '2018-11-29 04:57:25', '2018-11-29 04:57:25'),\n(36778, 'Village Creek', 2792, '52151', '563', '43.344486', '-91.259817', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36779, 'North English', 2792, '52316', '319', '41.540575', '-92.067491', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36780, 'White Pigeon', 2792, '52316', '319', '41.540575', '-92.067491', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36781, 'Arco', 2793, '83213', '208', '43.53271', '-113.307338', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36782, 'Butte City', 2793, '83213', '208', '43.53271', '-113.307338', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36783, 'Craters Of The Moon National', 2793, '83213', '208', '43.53271', '-113.307338', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36784, 'Geneva', 2793, '83238', '208', '42.325732', '-111.092869', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36785, 'Raymond', 2793, '83238', '208', '42.325732', '-111.092869', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36786, 'Inkom', 2793, '83245', '208', '42.809549', '-112.225886', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36787, 'Saint Charles', 2793, '83272', '208', '42.077233', '-111.426398', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36788, 'St Charles', 2793, '83272', '208', '42.077233', '-111.426398', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36789, 'Ammon', 2793, '83406', '208', '43.433913', '-111.898', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36790, 'Idaho Falls', 2793, '83406', '208', '43.433913', '-111.898', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36791, 'Idaho Falls', 2793, '83415', '208', '43.4667', '-112.0335', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36792, 'Idaho National Lab', 2793, '83415', '208', '43.4667', '-112.0335', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36793, 'Scoville', 2793, '83415', '208', '43.4667', '-112.0335', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36794, 'Bates', 2793, '83422', '208', '43.738243', '-111.223352', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36795, 'Driggs', 2793, '83422', '208', '43.738243', '-111.223352', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36796, 'Parker', 2793, '83438', '208', '43.9595', '-111.7569', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36797, 'Archer', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36798, 'Burton', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36799, 'Edmonds', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36800, 'Lyman', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36801, 'Plano', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36802, 'Rexburg', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36803, 'Sunnydell', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36804, 'Thornton', 2793, '83440', '208', '43.778181', '-111.688932', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36805, 'Swan Valley', 2793, '83449', '208', '43.357395', '-111.314255', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36806, 'Ucon', 2793, '83454', '208', '43.5943', '-111.9629', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36807, 'Cottonwood', 2793, '83533', '208', '46.116102', '-116.291664', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36808, 'Greencreek', 2793, '83533', '208', '46.116102', '-116.291664', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36809, 'Cooperville', 2793, '83554', '208', '45.758722', '-116.217535', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36810, 'White Bird', 2793, '83554', '208', '45.758722', '-116.217535', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36811, 'Centerville', 2793, '83631', '208', '43.833068', '-115.852554', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36812, 'Idaho City', 2793, '83631', '208', '43.833068', '-115.852554', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36813, 'New Centerville', 2793, '83631', '208', '43.833068', '-115.852554', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36814, 'Pioneerville', 2793, '83631', '208', '43.833068', '-115.852554', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36815, 'Star Ranch', 2793, '83631', '208', '43.833068', '-115.852554', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36816, 'Steirman', 2793, '83631', '208', '43.833068', '-115.852554', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36817, 'Boise', 2793, '83708', '208', '43.5545', '-116.1616', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36818, 'Boise', 2793, '83713', '208', '43.633927', '-116.339582', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36819, 'Boise', 2793, '83724', '208', '43.6139', '-116.2025', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36820, 'Federal Bldg', 2793, '83724', '208', '43.6139', '-116.2025', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36821, 'Oldtown', 2793, '83822', '208', '48.17493', '-116.973402', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36822, 'Harrison', 2793, '83833', '208', '47.513754', '-116.688527', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36823, 'Medimont', 2793, '83842', '208', '47.445229', '-116.528337', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36824, 'Naples', 2793, '83847', '208', '48.600385', '-116.31468', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36825, 'Rathdrum', 2793, '83858', '208', '47.8445', '-116.892346', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36826, 'Twin Lakes', 2793, '83858', '208', '47.8445', '-116.892346', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36827, 'Silverton', 2793, '83867', '208', '47.50029', '-115.973857', '2018-11-29 04:57:26', '2018-11-29 04:57:26'),\n(36828, 'La Fayette', 2795, '47904', '765', '40.440278', '-86.877244', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36829, 'Lafayette', 2795, '47904', '765', '40.440278', '-86.877244', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36830, 'La Fayette', 2795, '47906', '765', '40.478859', '-86.95724', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36831, 'Lafayette', 2795, '47906', '765', '40.478859', '-86.95724', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36832, 'W Lafayette', 2795, '47906', '765', '40.478859', '-86.95724', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36833, 'West Lafayette', 2795, '47906', '765', '40.478859', '-86.95724', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36834, 'Brook', 2795, '47922', '219', '40.88135', '-87.357942', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36835, 'Newtown', 2795, '47969', '765', '40.197872', '-87.156828', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36836, 'Otterbein', 2795, '47970', '765', '40.471963', '-87.141151', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36837, 'Oxford', 2795, '47971', '765', '40.526448', '-87.234277', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36838, 'Wallace', 2795, '47988', '765', '39.9865', '-87.1483', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36839, 'Graysville', 2795, '47852', '812', '39.1185', '-87.5587', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36840, 'Prairieton', 2795, '47870', '812', '39.3753', '-87.5034', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36841, 'Terre Haute', 2795, '47804', '812', '39.499717', '-87.391991', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36842, 'Bridgeton', 2795, '47836', '765', '39.658062', '-87.180986', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36843, 'Carbon', 2795, '47837', '812', '39.62301', '-87.106229', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36844, 'Perth', 2795, '47837', '812', '39.62301', '-87.106229', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36845, 'Pontiac', 2795, '47837', '812', '39.62301', '-87.106229', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36846, 'Smockville', 2795, '47837', '812', '39.62301', '-87.106229', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36847, 'Mackey', 2795, '47654', '812', '38.25604', '-87.38729', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36848, 'Princeton', 2795, '47670', '812', '38.346764', '-87.612664', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36849, 'Evansville', 2795, '47704', '812', '37.9744', '-87.5555', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36850, 'Evansville', 2795, '47719', '812', '37.9744', '-87.5555', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36851, 'Darmstadt', 2795, '47720', '812', '38.064297', '-87.636379', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36852, 'Evansville', 2795, '47720', '812', '38.064297', '-87.636379', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36853, 'Evansville', 2795, '47722', '812', '37.971714', '-87.531692', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36854, 'University Of Evansville', 2795, '47722', '812', '37.971714', '-87.531692', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36855, 'Evansville', 2795, '47735', '812', '37.9744', '-87.5555', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36856, 'Cannelton', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36857, 'Cannelton Heights', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36858, 'Cannelton Hts', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36859, 'Magnet', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36860, 'Mount Pleasant', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36861, 'Mt Pleasant', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36862, 'Tobinsport', 2795, '47520', '812', '37.92023', '-86.66769', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36863, 'Fulda', 2795, '47536', '812', '38.113026', '-86.835858', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36864, 'Alfordsville', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36865, 'Bramble', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36866, 'Burns City', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36867, 'Loogootee', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36868, 'Reeve', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36869, 'Rutherford', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36870, 'Scenic Hill', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36871, 'Whitfield', 2795, '47553', '812', '38.67206', '-86.927038', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36872, 'Bartlettsville', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36873, 'Bedford', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36874, 'Bedford Heights', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36875, 'Bedford Hts', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36876, 'Brook Knoll', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:27', '2018-11-29 04:57:27'),\n(36877, 'Buddha', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36878, 'Coveyville', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36879, 'East Oolitic', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36880, 'Englewood', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36881, 'Fayetteville', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36882, 'Jasonville', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36883, 'Patronville', 2795, '47635', '812', '37.89276', '-87.130114', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36884, 'Reo', 2795, '47635', '812', '37.89276', '-87.130114', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36885, 'Rockport', 2795, '47635', '812', '37.89276', '-87.130114', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36886, 'Folsomville', 2795, '47637', '812', '38.129324', '-87.141275', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36887, 'Folsomvl', 2795, '47637', '812', '38.129324', '-87.141275', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36888, 'Folsomvle', 2795, '47637', '812', '38.129324', '-87.141275', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36889, 'Tennyson', 2795, '47637', '812', '38.129324', '-87.141275', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36890, 'Blairsville', 2795, '47638', '812', '38.072091', '-87.784649', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36891, 'Youngstown Acres', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36892, 'Youngstown Meadows', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36893, 'Terre Haute', 2795, '47803', '812', '39.461898', '-87.314822', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36894, 'Apache Acres', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36895, 'Bartley', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36896, 'Burnett', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36897, 'Cemar Estates', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36898, 'Ehrmandale', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36899, 'Grouseland', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36900, 'Marquette Farm', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36901, 'N Terre Haute', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36902, 'North Terre Haute', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36903, 'Progress Acres', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36904, 'Rose Hill Gardens', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36905, 'Sandcut', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36906, 'Shawville', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36907, 'Spelterville', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36908, 'Springwood', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36909, 'Tera North', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36910, 'Terre Haute', 2795, '47805', '812', '39.549874', '-87.329988', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36911, 'Parkers Settlement', 2795, '47638', '812', '38.072091', '-87.784649', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36912, 'Wadesville', 2795, '47638', '812', '38.072091', '-87.784649', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36913, 'Evansville', 2795, '47703', '812', '37.9744', '-87.5555', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36914, 'Evansville', 2795, '47705', '812', '37.9744', '-87.5555', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36915, 'Evansville', 2795, '47737', '812', '37.9744', '-87.5555', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36916, 'Allendale', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36917, 'Dowden Acres', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36918, 'Holly Hills', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36919, 'Honey Creek Square', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36920, 'Keller', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36921, 'Kingswood Terra', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36922, 'Lake Noji', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36923, 'Lakeview Estates', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36924, 'Lakewood', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36925, 'Maryland', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36926, 'Marywood', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:28', '2018-11-29 04:57:28'),\n(36927, 'Oak Grove', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36928, 'Paint Mill Lake', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36929, 'Prairie Village', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36930, 'Southwood', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36931, 'Spring Hill Estates', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36932, 'Spring Valley Estates', 2795, '47802', '812', '39.35742', '-87.430409', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36933, 'Lockhart', 2795, '47585', '812', '38.268841', '-87.145978', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36934, 'Stendal', 2795, '47585', '812', '38.268841', '-87.145978', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36935, 'Zoar', 2795, '47585', '812', '38.268841', '-87.145978', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36936, 'Burglen Hills', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36937, 'Fenn Haven', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36938, 'Franklin Hills', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36939, 'Franklin Hls', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36940, 'Gatchel', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36941, 'Lilly Dale', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36942, 'Scenic Heights', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36943, 'Scenic Hts', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36944, 'Tell City', 2795, '47586', '812', '38.026706', '-86.687716', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36945, 'Darmstadt', 2795, '47618', '812', '38.1081', '-87.5589', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36946, 'Inglefield', 2795, '47618', '812', '38.1081', '-87.5589', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36947, 'Mount Vernon', 2795, '47620', '812', '37.927768', '-87.898404', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36948, 'Solitude', 2795, '47620', '812', '37.927768', '-87.898404', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36949, 'Oolitic', 2795, '47451', '812', '38.893378', '-86.52368', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36950, 'Bromer', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36951, 'Northeast', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36952, 'Orangeville', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36953, 'Orleans', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36954, 'Pumpkin Center', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36955, 'Pumpkin Ctr', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36956, 'Syria', 2795, '47452', '812', '38.604801', '-86.46598', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36957, 'Gentryville', 2795, '47537', '812', '38.11432', '-87.069208', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36958, 'Avoca', 2795, '47420', '812', '38.915134', '-86.552668', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36959, 'Patricksburg', 2795, '47455', '812', '39.312455', '-86.956282', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36960, 'Unionville', 2795, '47468', '812', '39.273983', '-86.401034', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36961, 'Antiville', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36962, 'Bellefountain', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36963, 'Blaine', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36964, 'Bluff Point', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36965, 'Boundry', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36966, 'Brice', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36967, 'College Cnr', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36968, 'College Corner', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36969, 'Collett', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36970, 'Como', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36971, 'Liber', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36972, 'New Mount Pleasant', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36973, 'New Mt Pleasant', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36974, 'Noble', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36975, 'Portland', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36976, 'Helmsburg', 2795, '47435', '812', '39.2773', '-86.3001', '2018-11-29 04:57:29', '2018-11-29 04:57:29'),\n(36977, 'Huron', 2795, '47437', '812', '38.7229', '-86.6697', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36978, 'Bogle Corner', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36979, 'Buchanan Cnr', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36980, 'Buchanan Corner', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36981, 'Gilmour', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36982, 'Howesville', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36983, 'La Fayette', 2795, '47902', '765', '40.4168', '-86.875', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36984, 'Lafayette', 2795, '47902', '765', '40.4168', '-86.875', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36985, 'La Fayette', 2795, '47907', '765', '40.42404', '-86.9173', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36986, 'Lafayette', 2795, '47907', '765', '40.42404', '-86.9173', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36987, 'W Lafayette', 2795, '47907', '765', '40.42404', '-86.9173', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36988, 'West Lafayette', 2795, '47907', '765', '40.42404', '-86.9173', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36989, 'Lafayette', 2795, '47909', '765', '40.31491', '-86.886206', '2018-11-29 04:57:30', '2018-11-29 04:57:30');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(36990, 'Shadeland', 2795, '47909', '765', '40.31491', '-86.886206', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36991, 'Alamo', 2795, '47916', '765', '39.983878', '-87.05552', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36992, 'Brookston', 2795, '47923', '765', '40.612549', '-86.920431', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36993, 'Covington', 2795, '47932', '765', '40.107521', '-87.411428', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36994, 'Dayton', 2795, '47941', '765', '40.376706', '-86.768222', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36995, 'Cates', 2795, '47952', '765', '39.955335', '-87.28168', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36996, 'Kingman', 2795, '47952', '765', '39.955335', '-87.28168', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36997, 'Tangier', 2795, '47952', '765', '39.955335', '-87.28168', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36998, 'Monon', 2795, '47959', '219', '40.866675', '-86.914955', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(36999, 'Newport', 2795, '47966', '765', '39.89184', '-87.415782', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37000, 'Knightsville', 2795, '47857', '812', '39.5298', '-87.0986', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37001, 'Universal', 2795, '47884', '765', '39.621606', '-87.45407', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37002, 'Richland', 2795, '47634', '812', '37.92589', '-87.186755', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37003, 'Terre Haute', 2795, '47807', '812', '39.469728', '-87.402756', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37004, 'Indiana State University', 2795, '47809', '812', '39.472382', '-87.401122', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37005, 'Terre Haute', 2795, '47809', '812', '39.472382', '-87.401122', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37006, 'Annapolis', 2795, '47832', '765', '39.836264', '-87.285966', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37007, 'Colburn', 2795, '47905', '765', '40.42166', '-86.808472', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37008, 'La Fayette', 2795, '47905', '765', '40.42166', '-86.808472', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37009, 'Lafayette', 2795, '47905', '765', '40.42166', '-86.808472', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37010, 'Fowler', 2795, '47986', '765', '40.6168', '-87.3206', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37011, 'Templeton', 2795, '47986', '765', '40.6168', '-87.3206', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37012, 'Waveland', 2795, '47989', '765', '39.90128', '-87.006485', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37013, 'Alta', 2795, '47854', '765', '39.804551', '-87.420082', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37014, 'Highland', 2795, '47854', '765', '39.804551', '-87.420082', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37015, 'Hillsdale', 2795, '47854', '765', '39.804551', '-87.420082', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37016, 'Prairie Creek', 2795, '47869', '812', '39.2808', '-87.4927', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37017, 'Riley', 2795, '47871', '812', '39.3894', '-87.2995', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37018, 'Bucktown', 2795, '47838', '812', '38.96684', '-87.409804', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37019, 'Carlisle', 2795, '47838', '812', '38.96684', '-87.409804', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37020, 'Haddon', 2795, '47838', '812', '38.96684', '-87.409804', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37021, 'Mass Mutual Life Ins Co', 2799, '01111', '413', '42.1015', '-72.5905', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37022, 'Springfield', 2799, '01111', '413', '42.1015', '-72.5905', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37023, 'Southfield', 2799, '01259', '413', '42.079208', '-73.238182', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37024, 'Erving', 2799, '01344', '978', '42.608914', '-72.42456', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37025, 'Farley', 2799, '01344', '978', '42.608914', '-72.42456', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37026, 'Stoneville', 2799, '01344', '978', '42.608914', '-72.42456', '2018-11-29 04:57:30', '2018-11-29 04:57:30'),\n(37027, 'N Field', 2799, '01360', '413', '42.666519', '-72.446882', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37028, 'No Field', 2799, '01360', '413', '42.666519', '-72.446882', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37029, 'Northfield', 2799, '01360', '413', '42.666519', '-72.446882', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37030, 'Springfield', 2799, '01144', '413', '42.1032', '-72.5916', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37031, 'Dalton', 2799, '01227', '413', '42.4739', '-73.1667', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37032, 'Middlefield', 2799, '01243', '413', '42.348104', '-73.002747', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37033, 'Mill River', 2799, '01244', '413', '42.137294', '-73.195265', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37034, 'Amherst', 2799, '01059', '413', '42.3738', '-72.5205', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37035, 'North Amherst', 2799, '01059', '413', '42.3738', '-72.5205', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37036, 'Southwick', 2799, '01077', '413', '42.049922', '-72.772197', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37037, 'Chartley', 2799, '02712', '508', '41.9488', '-71.2266', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37038, 'Nonantum', 2799, '02495', '617', '42.3367', '-71.2094', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37039, 'W Bridgewater', 2799, '02379', '508', '42.017525', '-71.023459', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37040, 'West Bridgewater', 2799, '02379', '508', '42.017525', '-71.023459', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37041, 'Brookline', 2799, '02446', '617', '42.343335', '-71.122762', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37042, 'Brookline', 2799, '02447', '617', '42.3336', '-71.1237', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37043, 'Brookline Village', 2799, '02447', '617', '42.3336', '-71.1237', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37044, 'Brookline Vlg', 2799, '02447', '617', '42.3336', '-71.1237', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37045, 'Newton', 2799, '02461', '617', '42.314007', '-71.20848', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37046, 'Newton Highlands', 2799, '02461', '617', '42.314007', '-71.20848', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37047, 'Newton Hlds', 2799, '02461', '617', '42.314007', '-71.20848', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37048, 'Newton', 2799, '02465', '617', '42.350429', '-71.225614', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37049, 'W Newton', 2799, '02465', '617', '42.350429', '-71.225614', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37050, 'West Newton', 2799, '02465', '617', '42.350429', '-71.225614', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37051, 'Hyannis Port', 2799, '02647', '508', '41.635079', '-70.307345', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37052, 'Bank Of America', 2799, '02212', '617', '42.3362', '-71.0176', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37053, 'Boston', 2799, '02212', '617', '42.3362', '-71.0176', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37054, 'Duxbury', 2799, '02331', '781', '42.0414', '-70.6726', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37055, 'Manomet', 2799, '02345', '508', '41.8975', '-70.5426', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37056, 'Lakeville', 2799, '02347', '508', '41.84096', '-70.956121', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37057, 'Lakeville', 2799, '02348', '508', '41.8934', '-70.9117', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37058, 'Middleboro', 2799, '02348', '508', '41.8934', '-70.9117', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37059, 'Middleborough', 2799, '02348', '508', '41.8934', '-70.9117', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37060, 'Talbots', 2799, '02348', '508', '41.8934', '-70.9117', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37061, 'Belmont', 2799, '02478', '617', '42.3955', '-71.182105', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37062, 'Newton', 2799, '02495', '617', '42.3367', '-71.2094', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37063, 'Somerville', 2799, '02144', '617', '42.402311', '-71.12037', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37064, 'W Somerville', 2799, '02144', '617', '42.402311', '-71.12037', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37065, 'West Somerville', 2799, '02144', '617', '42.402311', '-71.12037', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37066, 'Plymouth', 2799, '02361', '508', '41.9583', '-70.6675', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37067, 'Boston', 2799, '02130', '617', '42.310509', '-71.117394', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37068, 'Jamaica Plain', 2799, '02130', '617', '42.310509', '-71.117394', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37069, 'Bank Of America', 2799, '02211', '617', '42.3586', '-71.0603', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37070, 'Boston', 2799, '02211', '617', '42.3586', '-71.0603', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37071, 'Tyngsboro', 2799, '01879', '978', '42.658821', '-71.432972', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37072, 'Tyngsborough', 2799, '01879', '978', '42.658821', '-71.432972', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37073, 'Wakefield', 2799, '01880', '781', '42.501286', '-71.066727', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37074, 'Essex', 2799, '01929', '978', '42.632303', '-70.77843', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37075, 'Peabody', 2799, '01960', '978', '42.532576', '-70.97366', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37076, 'West Peabody', 2799, '01960', '978', '42.532576', '-70.97366', '2018-11-29 04:57:31', '2018-11-29 04:57:31'),\n(37077, 'Dedham', 2799, '02027', '781', '42.2472', '-71.1664', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37078, 'Fayville', 2799, '01745', '508', '42.291501', '-71.500158', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37079, 'Southboro', 2799, '01745', '508', '42.291501', '-71.500158', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37080, 'Southborough', 2799, '01745', '508', '42.291501', '-71.500158', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37081, 'N Sudbury', 2799, '01776', '978', '42.388828', '-71.42304', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37082, 'North Sudbury', 2799, '01776', '978', '42.388828', '-71.42304', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37083, 'Sudbury', 2799, '01776', '978', '42.388828', '-71.42304', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37084, 'Andover', 2799, '01812', '978', '42.6585', '-71.1377', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37085, 'Internal Revenue Service', 2799, '01812', '978', '42.6585', '-71.1377', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37086, 'Mellon Financial Services', 2799, '01813', '781', '42.4793', '-71.1526', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37087, 'Woburn', 2799, '01813', '781', '42.4793', '-71.1526', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37088, 'Millville', 2799, '01529', '508', '42.039469', '-71.577323', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37089, 'Rochdale', 2799, '01542', '508', '42.201258', '-71.910758', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37090, 'Worcester', 2799, '01610', '508', '42.242612', '-71.810432', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37091, 'Cherry Valley', 2799, '01611', '508', '42.235219', '-71.876892', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37092, 'N Chelmsford', 2799, '01863', '978', '42.631398', '-71.388618', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37093, 'North Chelmsford', 2799, '01863', '978', '42.631398', '-71.388618', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37094, 'Sunderland', 2799, '01375', '413', '42.466106', '-72.555454', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37095, 'Orange', 2799, '01378', '978', '42.666338', '-72.344874', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37096, 'Warwick', 2799, '01378', '978', '42.666338', '-72.344874', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37097, 'Winchdon Spgs', 2799, '01477', '978', '42.7021', '-72.0237', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37098, 'Winchendon Springs', 2799, '01477', '978', '42.7021', '-72.0237', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37099, 'Clinton', 2799, '01510', '978', '42.4132', '-71.69127', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37100, 'Saxonville', 2799, '01701', '508', '42.323168', '-71.435188', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37101, 'Framingham', 2799, '01702', '508', '42.278748', '-71.443616', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37102, 'Framingham', 2799, '01704', '508', '42.3026', '-71.4236', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37103, 'Fitchburg', 2799, '01420', '978', '42.582812', '-71.80659', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37104, 'Groton', 2799, '01450', '978', '42.61619', '-71.576808', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37105, 'Hubbardston', 2799, '01452', '978', '42.484168', '-72.011197', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37106, 'Groton', 2799, '01470', '978', '42.6112', '-71.5752', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37107, 'New England Business Brm', 2799, '01470', '978', '42.6112', '-71.5752', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37108, 'Auburn', 2799, '01501', '508', '42.195675', '-71.84607', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37109, 'Fiskdale', 2799, '01518', '508', '42.106473', '-72.114044', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37110, 'Sturbridge', 2799, '01518', '508', '42.106473', '-72.114044', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37111, 'Grafton', 2799, '01519', '508', '42.202961', '-71.68107', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37112, 'Hassanamisco Indian Reservat', 2799, '01519', '508', '42.202961', '-71.68107', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37113, 'Spfld', 2799, '01103', '413', '42.103366', '-72.590557', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37114, 'Springfield', 2799, '01103', '413', '42.103366', '-72.590557', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37115, 'East Windsor', 2799, '01270', '413', '42.51307', '-73.050235', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37116, 'Windsor', 2799, '01270', '413', '42.51307', '-73.050235', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37117, 'Greenfield', 2799, '01301', '413', '42.631883', '-72.59742', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37118, 'Leyden', 2799, '01301', '413', '42.631883', '-72.59742', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37119, 'Greenfield', 2799, '01302', '413', '42.5878', '-72.6003', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37120, 'Montague', 2799, '01351', '413', '42.548217', '-72.511166', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37121, 'Hoosac Tunnel', 2799, '01367', '413', '42.69587', '-72.934949', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37122, 'Rowe', 2799, '01367', '413', '42.69587', '-72.934949', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37123, 'Zoar', 2799, '01367', '413', '42.69587', '-72.934949', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37124, 'Granby', 2799, '01033', '413', '42.257915', '-72.505683', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37125, 'Granville', 2799, '01034', '413', '42.092408', '-72.949682', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37126, 'Granville Center', 2799, '01034', '413', '42.092408', '-72.949682', '2018-11-29 04:57:32', '2018-11-29 04:57:32'),\n(37127, 'Tolland', 2799, '01034', '413', '42.092408', '-72.949682', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37128, 'West Granville', 2799, '01034', '413', '42.092408', '-72.949682', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37129, 'Hampden', 2799, '01036', '413', '42.072956', '-72.416626', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37130, 'Hampton', 2799, '01036', '413', '42.072956', '-72.416626', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37131, 'E Longmeadow', 2799, '01116', '413', '42.0647', '-72.5131', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37132, 'East Longmeadow', 2799, '01116', '413', '42.0647', '-72.5131', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37133, 'Longmeadow', 2799, '01116', '413', '42.0647', '-72.5131', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37134, 'Indian Orch', 2799, '01151', '413', '42.151278', '-72.510524', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37135, 'Indian Orchard', 2799, '01151', '413', '42.151278', '-72.510524', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37136, 'Spfld', 2799, '01151', '413', '42.151278', '-72.510524', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37137, 'Springfield', 2799, '01151', '413', '42.151278', '-72.510524', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37138, 'Housatonic', 2799, '01236', '413', '42.263088', '-73.383452', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37139, 'Spfld', 2799, '01101', '413', '42.105696', '-72.598079', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37140, 'Springfield', 2799, '01101', '413', '42.105696', '-72.598079', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37141, 'Spfld', 2799, '01102', '413', '42.1015', '-72.5905', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37142, 'Springfield', 2799, '01102', '413', '42.1015', '-72.5905', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37143, 'Amherst', 2799, '01002', '413', '42.372901', '-72.450902', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37144, 'Cushman', 2799, '01002', '413', '42.372901', '-72.450902', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37145, 'Pelham', 2799, '01002', '413', '42.372901', '-72.450902', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37146, 'South Amherst', 2799, '01002', '413', '42.372901', '-72.450902', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37147, 'Chester', 2799, '01011', '413', '42.268566', '-72.980845', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37148, 'Southfield', 2802, '48075', '248', '42.464807', '-83.230731', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37149, 'Saint Clair Shores', 2802, '48082', '586', '42.525648', '-82.882792', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37150, 'St Clair Shores', 2802, '48082', '586', '42.525648', '-82.882792', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37151, 'St Clair Shrs', 2802, '48082', '586', '42.525648', '-82.882792', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37152, 'St Clr Shores', 2802, '48082', '586', '42.525648', '-82.882792', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37153, 'St Clr Shrs', 2802, '48082', '586', '42.525648', '-82.882792', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37154, 'Troy', 2802, '48007', '248', '42.6058', '-83.1502', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37155, 'Grant Township', 2802, '48032', '810', '43.135762', '-82.593812', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37156, 'Grant Twp', 2802, '48032', '810', '43.135762', '-82.593812', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37157, 'Jeddo', 2802, '48032', '810', '43.135762', '-82.593812', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37158, 'Worth Township', 2802, '48032', '810', '43.135762', '-82.593812', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37159, 'Warren', 2802, '48093', '586', '42.514486', '-83.011981', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37160, 'Richmond', 2802, '48062', '586', '42.84521', '-82.799522', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37161, 'Richmond Township', 2802, '48062', '586', '42.84521', '-82.799522', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37162, 'Casco', 2802, '48064', '586', '42.767247', '-82.672362', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37163, 'Casco Township', 2802, '48064', '586', '42.767247', '-82.672362', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37164, 'Huntingtn Wds', 2802, '48070', '248', '42.481896', '-83.165645', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37165, 'Huntington Wd', 2802, '48070', '248', '42.481896', '-83.165645', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37166, 'Huntington Woods', 2802, '48070', '248', '42.481896', '-83.165645', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37167, 'Warren', 2802, '48088', '586', '42.515378', '-82.984401', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37168, 'Warren', 2802, '48090', '586', '42.4775', '-83.0279', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37169, 'Almont', 2802, '48003', '810', '42.935514', '-83.043964', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37170, 'Almont Township', 2802, '48003', '810', '42.935514', '-83.043964', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37171, 'Emmett', 2802, '48022', '810', '43.02736', '-82.810409', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37172, 'Emmett Township', 2802, '48022', '810', '43.02736', '-82.810409', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37173, 'Fair Haven', 2802, '48023', '586', '42.694813', '-82.668824', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37174, 'Ira', 2802, '48023', '586', '42.694813', '-82.668824', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37175, 'Ira Township', 2802, '48023', '586', '42.694813', '-82.668824', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37176, 'Ira Twp', 2802, '48023', '586', '42.694813', '-82.668824', '2018-11-29 04:57:33', '2018-11-29 04:57:33'),\n(37177, 'Madison Heights', 2802, '48071', '248', '42.505416', '-83.105407', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37178, 'Madison Hts', 2802, '48071', '248', '42.505416', '-83.105407', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37179, 'Berkley', 2802, '48072', '248', '42.499401', '-83.181114', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37180, 'East Detroit', 2802, '48021', '586', '42.465208', '-82.9441', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37181, 'Eastpointe', 2802, '48021', '586', '42.465208', '-82.9441', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37182, 'Clinton Township', 2802, '48036', '586', '42.59859', '-82.91368', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37183, 'Clinton Twp', 2802, '48036', '586', '42.59859', '-82.91368', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37184, 'Southfield', 2802, '48037', '248', '42.4736', '-83.2219', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37185, 'Cottrellville', 2802, '48039', '810', '42.69406', '-82.549691', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37186, 'Cottrellville Township', 2802, '48039', '810', '42.69406', '-82.549691', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37187, 'Cottrellville Twp', 2802, '48039', '810', '42.69406', '-82.549691', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37188, 'Marine City', 2802, '48039', '810', '42.69406', '-82.549691', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37189, 'Birch Beach', 2803, '56686', '218', '48.876243', '-95.073725', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37190, 'Long Point', 2803, '56686', '218', '48.876243', '-95.073725', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37191, 'Lude', 2803, '56686', '218', '48.876243', '-95.073725', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37192, 'Williams', 2803, '56686', '218', '48.876243', '-95.073725', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37193, 'Wirt', 2803, '56688', '218', '47.716451', '-93.969974', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37194, 'Euclid', 2803, '56722', '218', '47.990384', '-96.654857', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37195, 'Talmoon', 2803, '56637', '218', '47.579594', '-93.78548', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37196, 'Clover', 2803, '56652', '218', '47.631738', '-95.369358', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37197, 'Dudley', 2803, '56652', '218', '47.631738', '-95.369358', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37198, 'Holst', 2803, '56652', '218', '47.631738', '-95.369358', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37199, 'Leonard', 2803, '56652', '218', '47.631738', '-95.369358', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37200, 'Sinclair', 2803, '56652', '218', '47.631738', '-95.369358', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37201, 'Roosevelt', 2803, '56682', '218', '48.843626', '-95.28668', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37202, 'Swift', 2803, '56682', '218', '48.843626', '-95.28668', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37203, 'Badger', 2803, '56714', '218', '48.82253', '-96.18503', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37204, 'Crookston', 2803, '56716', '218', '47.803238', '-96.545854', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37205, 'Gentilly', 2803, '56716', '218', '47.803238', '-96.545854', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37206, 'Erie', 2803, '56725', '218', '48.053508', '-95.717388', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37207, 'Goodridge', 2803, '56725', '218', '48.053508', '-95.717388', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37208, 'Karlstad', 2803, '56732', '218', '48.615997', '-96.583553', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37209, 'Federal Dam', 2803, '56641', '218', '47.206244', '-94.254641', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37210, 'Max', 2803, '56659', '218', '47.641749', '-94.00786', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37211, 'Oak Island', 2803, '56741', '218', '49.250393', '-94.873547', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37212, 'Red Lake Falls', 2803, '56750', '218', '47.861686', '-96.287955', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37213, 'Rl Falls', 2803, '56750', '218', '47.861686', '-96.287955', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37214, 'Ponsford', 2803, '56575', '218', '47.027068', '-95.399678', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37215, 'Faith', 2803, '56584', '218', '47.238338', '-96.251557', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37216, 'Fossum', 2803, '56584', '218', '47.238338', '-96.251557', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37217, 'Syre', 2803, '56584', '218', '47.238338', '-96.251557', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37218, 'Twin Valley', 2803, '56584', '218', '47.238338', '-96.251557', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37219, 'Arnesen', 2803, '56673', '218', '48.809228', '-95.162831', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37220, 'Laona', 2803, '56673', '218', '48.809228', '-95.162831', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37221, 'Roosevelt', 2803, '56673', '218', '48.809228', '-95.162831', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37222, 'Climax', 2803, '56523', '218', '47.673446', '-96.759236', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37223, 'Eldred', 2803, '56523', '218', '47.673446', '-96.759236', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37224, 'Baudette', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:57:34', '2018-11-29 04:57:34'),\n(37225, 'Oklee', 2803, '56742', '218', '47.804607', '-95.87012', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37226, 'Florian', 2803, '56758', '218', '48.456862', '-96.451408', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37227, 'Strandquist', 2803, '56758', '218', '48.456862', '-96.451408', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37228, 'Osage', 2803, '56570', '218', '46.900034', '-95.345622', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37229, 'Snellman', 2803, '56570', '218', '46.900034', '-95.345622', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37230, 'Ulen', 2803, '56585', '218', '47.078992', '-96.185288', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37231, 'Vergas', 2803, '56587', '218', '46.639713', '-95.846508', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37232, 'Vining', 2803, '56588', '218', '46.212004', '-95.490394', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37233, 'Bemidji', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37234, 'Grant Valley', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37235, 'Jones', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37236, 'Northern', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37237, 'Nymore', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37238, 'Port Hope', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37239, 'Sugar Bush', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37240, 'Ten Lake', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37241, 'Turtle River', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37242, 'Wilton', 2803, '56601', '218', '47.513248', '-94.745644', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37243, 'Bemidji', 2803, '56619', '218', '47.4739', '-94.8801', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37244, 'Redby', 2803, '56670', '218', '47.844626', '-94.903495', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37245, 'Leech Lake', 2803, '56484', '218', '47.093449', '-94.473945', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37246, 'Onigum', 2803, '56484', '218', '47.093449', '-94.473945', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37247, 'Shingobee', 2803, '56484', '218', '47.093449', '-94.473945', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37248, 'Turtle Lake', 2803, '56484', '218', '47.093449', '-94.473945', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37249, 'Walker', 2803, '56484', '218', '47.093449', '-94.473945', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37250, 'Whipholt', 2803, '56484', '218', '47.093449', '-94.473945', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37251, 'Breckenridge', 2803, '56520', '218', '46.326375', '-96.4686', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37252, 'Brushvale', 2803, '56520', '218', '46.326375', '-96.4686', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37253, 'Everdell', 2803, '56520', '218', '46.326375', '-96.4686', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37254, 'Wahkon', 2803, '56386', '320', '46.067852', '-93.51005', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37255, 'Waite Park', 2803, '56387', '320', '45.540102', '-94.233188', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37256, 'Baxter', 2803, '56401', '218', '46.321725', '-94.116804', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37257, 'Brainerd', 2803, '56401', '218', '46.321725', '-94.116804', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37258, 'E Gull Lake', 2803, '56401', '218', '46.321725', '-94.116804', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37259, 'East Gull Lake', 2803, '56401', '218', '46.321725', '-94.116804', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37260, 'Backus', 2803, '56435', '218', '46.814408', '-94.533288', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37261, 'Benedict', 2803, '56436', '218', '47.121226', '-94.69467', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37262, 'Bertha', 2803, '56437', '218', '46.238166', '-95.031098', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37263, 'Hewitt', 2803, '56453', '218', '46.318112', '-95.076544', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37264, 'Erskine', 2803, '56535', '218', '47.674802', '-96.017896', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37265, 'Carlisle', 2803, '56537', '218', '46.269778', '-96.087332', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37266, 'Fergus Falls', 2803, '56537', '218', '46.269778', '-96.087332', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37267, 'Nielsville', 2803, '56568', '218', '47.542365', '-96.757382', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37268, 'Carlos', 2803, '56319', '320', '45.998445', '-95.2556', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37269, 'Cold Spring', 2803, '56320', '320', '45.470584', '-94.412265', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37270, 'Meire Grove', 2803, '56352', '320', '45.636887', '-94.817089', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37271, 'Melrose', 2803, '56352', '320', '45.636887', '-94.817089', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37272, 'Spring Hill', 2803, '56352', '320', '45.636887', '-94.817089', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37273, 'Arago', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:35', '2018-11-29 04:57:35'),\n(37274, 'Dorset', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37275, 'Hubbard', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37276, 'Lake Emma', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37277, 'Lake Itasca', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37278, 'Park Rapids', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37279, 'Todd', 2803, '56470', '218', '47.061849', '-95.147864', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37280, 'Wilmont', 2803, '56185', '507', '43.77592', '-95.812794', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37281, 'Echo', 2803, '56237', '507', '44.649038', '-95.422732', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37282, 'Kerkhoven', 2803, '56252', '320', '45.217317', '-95.297986', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37283, 'Morris', 2803, '56267', '320', '45.585583', '-96.006093', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37284, 'Searles', 2803, '56084', '507', '44.2288', '-94.4347', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37285, 'Cobden', 2803, '56085', '507', '44.277642', '-94.742929', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37286, 'Evan', 2803, '56085', '507', '44.277642', '-94.742929', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37287, 'Sleepy Eye', 2803, '56085', '507', '44.277642', '-94.742929', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37288, 'Delft', 2803, '56101', '507', '43.884148', '-95.218123', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37289, 'Wilder', 2803, '56101', '507', '43.884148', '-95.218123', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37290, 'Windom', 2803, '56101', '507', '43.884148', '-95.218123', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37291, 'Bigelow', 2803, '56117', '507', '43.543709', '-95.673972', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37292, 'Bingham Lake', 2803, '56118', '507', '43.934402', '-95.040298', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37293, 'Craigville', 2803, '56639', '218', '47.872335', '-93.537354', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37294, 'Effie', 2803, '56639', '218', '47.872335', '-93.537354', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37295, 'Kelliher', 2803, '56650', '218', '47.975849', '-94.610886', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37296, 'Saum', 2803, '56650', '218', '47.975849', '-94.610886', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37297, 'Shotley', 2803, '56650', '218', '47.975849', '-94.610886', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37298, 'Marcell', 2803, '56657', '218', '47.56186', '-93.626418', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37299, 'Lake Bronson', 2803, '56734', '218', '48.857645', '-96.601987', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37300, 'Plummer', 2803, '56748', '218', '47.90577', '-95.903407', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37301, 'Strathcona', 2803, '56759', '218', '48.587204', '-96.125701', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37302, 'Perham', 2803, '56573', '218', '46.609958', '-95.541014', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37303, 'White Earth', 2803, '56591', '218', '47.0964', '-95.8433', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37304, 'Clough', 2803, '56475', '320', '46.0904', '-94.518824', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37305, 'Parker', 2803, '56475', '320', '46.0904', '-94.518824', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37306, 'Randall', 2803, '56475', '320', '46.0904', '-94.518824', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37307, 'Wadena', 2803, '56482', '218', '46.477951', '-95.15502', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37308, 'Barnesville', 2803, '56514', '218', '46.702686', '-96.401856', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37309, 'Downer', 2803, '56514', '218', '46.702686', '-96.401856', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37310, 'Bejou', 2803, '56516', '218', '47.455694', '-95.93596', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37311, 'Comstock', 2803, '56525', '218', '46.659453', '-96.746732', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37312, 'Clearbrook', 2803, '56634', '218', '47.84687', '-95.339274', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37313, 'Eddy', 2803, '56634', '218', '47.84687', '-95.339274', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37314, 'Greenwood', 2803, '56634', '218', '47.84687', '-95.339274', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37315, 'Leon', 2803, '56634', '218', '47.84687', '-95.339274', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37316, 'Minnewaska', 2803, '56634', '218', '47.84687', '-95.339274', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37317, 'Sauk Centre', 2803, '56389', '320', '45.801245', '-95.07935', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37318, 'West Union', 2803, '56389', '320', '45.801245', '-95.07935', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37319, 'Saint Cloud', 2803, '56398', '320', '45.5471', '-94.1665', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37320, 'Ah Gwah Ching', 2803, '56430', '218', '47.0788', '-94.5672', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37321, 'Ironton', 2803, '56455', '218', '46.451716', '-93.998794', '2018-11-29 04:57:36', '2018-11-29 04:57:36'),\n(37322, 'Riverton', 2803, '56455', '218', '46.451716', '-93.998794', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37323, 'Blueberry', 2803, '56464', '218', '46.771946', '-95.090157', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37324, 'Erhard', 2803, '56534', '218', '46.470688', '-96.009012', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37325, 'Naytahwaush', 2803, '56566', '218', '47.238144', '-95.61514', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37326, 'Garfield', 2803, '56332', '320', '45.987244', '-95.507266', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37327, 'Hoffman', 2803, '56339', '320', '45.832804', '-95.789679', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37328, 'Mc Grath', 2803, '56350', '320', '46.315795', '-93.24243', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37329, 'Huntersville', 2803, '56464', '218', '46.771946', '-95.090157', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37330, 'Menahga', 2803, '56464', '218', '46.771946', '-95.090157', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37331, 'Midway', 2803, '56464', '218', '46.771946', '-95.090157', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37332, 'Runeberg', 2803, '56464', '218', '46.771946', '-95.090157', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37333, 'Shell River', 2803, '56464', '218', '46.771946', '-95.090157', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37334, 'Motley', 2803, '56466', '218', '46.390437', '-94.647506', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37335, 'Pillager', 2803, '56473', '218', '46.403969', '-94.464467', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37336, 'Sylvan', 2803, '56473', '218', '46.403969', '-94.464467', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37337, 'Belview', 2803, '56214', '507', '44.599439', '-95.320742', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37338, 'Chokio', 2803, '56221', '320', '45.498804', '-96.179238', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37339, 'Clarkfield', 2803, '56223', '320', '44.761247', '-95.848582', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37340, 'Ghent', 2803, '56239', '507', '44.483448', '-95.89778', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37341, 'Lucan', 2803, '56255', '507', '44.40243', '-95.411354', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37342, 'Evan', 2803, '56266', '507', '44.401374', '-94.91646', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37343, 'Morgan', 2803, '56266', '507', '44.401374', '-94.91646', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37344, 'De Graff', 2803, '56271', '320', '45.245896', '-95.39739', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37345, 'Murdock', 2803, '56271', '320', '45.245896', '-95.39739', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37346, 'Saint Stephen', 2803, '56375', '320', '45.695522', '-94.281918', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37347, 'St Stephen', 2803, '56375', '320', '45.695522', '-94.281918', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37348, 'Swanville', 2803, '56382', '320', '45.918703', '-94.643096', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37349, 'St Clair', 2803, '56080', '507', '44.065552', '-93.828468', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37350, 'Waldorf', 2803, '56091', '507', '43.911542', '-93.687488', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37351, 'Avoca', 2803, '56114', '507', '43.986425', '-95.582827', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37352, 'Porter', 2803, '56280', '507', '44.674454', '-96.154492', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37353, 'Clarks Grove', 2803, '56016', '507', '43.760113', '-93.329148', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37354, 'Cormorant', 2803, '56572', '218', '46.601572', '-96.093614', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37355, 'Pel Rapids', 2803, '56572', '218', '46.601572', '-96.093614', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37356, 'Pelican Rapids', 2803, '56572', '218', '46.601572', '-96.093614', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37357, 'Charlesville', 2803, '56583', '218', '45.978282', '-96.421341', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37358, 'Tenney', 2803, '56583', '218', '45.978282', '-96.421341', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37359, 'Tintah', 2803, '56583', '218', '45.978282', '-96.421341', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37360, 'Boy River', 2803, '56672', '218', '47.041652', '-93.968594', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37361, 'Lima', 2803, '56672', '218', '47.041652', '-93.968594', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37362, 'Remer', 2803, '56672', '218', '47.041652', '-93.968594', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37363, 'Slater', 2803, '56672', '218', '47.041652', '-93.968594', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37364, 'Smoky Hollow', 2803, '56672', '218', '47.041652', '-93.968594', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37365, 'Thunder Lake', 2803, '56672', '218', '47.041652', '-93.968594', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37366, 'Pine River', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37367, 'Ponto Lake', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37368, 'Swanburg', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37369, 'Walden', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37370, 'Wilson', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:37', '2018-11-29 04:57:37'),\n(37371, 'Woodrow', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37372, 'Amor', 2803, '56515', '218', '46.284312', '-95.705742', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37373, 'Battle Lake', 2803, '56515', '218', '46.284312', '-95.705742', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37374, 'Campbell', 2803, '56522', '218', '46.11198', '-96.374122', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37375, 'Doran', 2803, '56522', '218', '46.11198', '-96.374122', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37376, 'Bowstring', 2803, '56631', '218', '47.5432', '-93.7965', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37377, 'Cass Lake', 2803, '56633', '218', '47.289672', '-94.559888', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37378, 'Farden', 2803, '56633', '218', '47.289672', '-94.559888', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37379, 'Farris', 2803, '56633', '218', '47.289672', '-94.559888', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37380, 'Pike Bay', 2803, '56633', '218', '47.289672', '-94.559888', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37381, 'Schley', 2803, '56633', '218', '47.289672', '-94.559888', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37382, 'Wilkinson', 2803, '56633', '218', '47.289672', '-94.559888', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37383, 'Saint Cloud', 2803, '56397', '320', '45.5471', '-94.1665', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37384, 'Mentor', 2803, '56736', '218', '47.672944', '-96.209613', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37385, 'Emily', 2803, '56447', '218', '46.741276', '-93.903484', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37386, 'Fort Ripley', 2803, '56449', '218', '46.198074', '-94.249678', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37387, 'Dale', 2803, '56549', '218', '46.917748', '-96.305416', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37388, 'Hawley', 2803, '56549', '218', '46.917748', '-96.305416', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37389, 'Rollag', 2803, '56549', '218', '46.917748', '-96.305416', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37390, 'Alex', 2803, '56308', '320', '45.893294', '-95.397092', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37391, 'Alexandria', 2803, '56308', '320', '45.893294', '-95.397092', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37392, 'Dalton', 2803, '56324', '218', '46.173863', '-95.894556', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37393, 'Freeport', 2803, '56331', '320', '45.651109', '-94.665006', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37394, 'Saint Rosa', 2803, '56331', '320', '45.651109', '-94.665006', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37395, 'Holdingford', 2803, '56340', '320', '45.752696', '-94.426988', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37396, 'New Munich', 2803, '56356', '320', '45.628397', '-94.75387', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37397, 'Breezy Point', 2803, '56472', '218', '46.634521', '-94.357134', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37398, 'Jenkins', 2803, '56472', '218', '46.634521', '-94.357134', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37399, 'Pequot Lakes', 2803, '56472', '218', '46.634521', '-94.357134', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37400, 'Barclay', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37401, 'Blind Lake', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37402, 'Chickamaw Beach', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37403, 'Jenkins', 2803, '56474', '218', '46.7029', '-94.470045', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37404, 'Appleton', 2803, '56208', '320', '45.28206', '-95.952036', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37405, 'Clements', 2803, '56224', '507', '44.398177', '-95.05702', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37406, 'Holloway', 2803, '56249', '320', '45.325709', '-95.901706', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37407, 'Milroy', 2803, '56263', '507', '44.421155', '-95.563673', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37408, 'Fingerhut Bus Reply', 2803, '56372', '320', '45.5608', '-94.1624', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37409, 'Saint Cloud', 2803, '56372', '320', '45.5608', '-94.1624', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37410, 'Arco', 2803, '56113', '507', '44.415794', '-96.181512', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37411, 'Balaton', 2803, '56115', '507', '44.210717', '-95.885988', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37412, 'Hills', 2803, '56138', '507', '43.543968', '-96.372828', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37413, 'Ihlen', 2803, '56140', '507', '43.902638', '-96.35904', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37414, 'Lake Benton', 2803, '56149', '507', '44.284846', '-96.326179', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37415, 'Magnolia', 2803, '56158', '507', '43.645115', '-96.082706', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37416, 'Norcross', 2803, '56274', '320', '45.890999', '-96.130143', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37417, 'Delhi', 2803, '56283', '507', '44.528154', '-95.148344', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37418, 'North Redwood', 2803, '56283', '507', '44.528154', '-95.148344', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37419, 'Redwood Falls', 2803, '56283', '507', '44.528154', '-95.148344', '2018-11-29 04:57:38', '2018-11-29 04:57:38'),\n(37420, 'Stockton', 2803, '55988', '507', '44.023202', '-91.777571', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37421, 'Mankato', 2803, '56006', '507', '44.1556', '-93.9942', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37422, 'Good Hope', 2803, '56681', '218', '47.628966', '-94.176446', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37423, 'Squaw Lake', 2803, '56681', '218', '47.628966', '-94.176446', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37424, 'Gatzke', 2803, '56724', '218', '48.440226', '-95.786777', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37425, 'Humboldt', 2803, '56731', '218', '48.900056', '-97.106704', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37426, 'Hagali', 2803, '56647', '218', '47.758976', '-94.677246', '2018-11-29 04:57:39', '2018-11-29 04:57:39');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(37427, 'Hines', 2803, '56647', '218', '47.758976', '-94.677246', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37428, 'International Falls', 2803, '56649', '218', '48.512308', '-93.441198', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37429, 'Intl Falls', 2803, '56649', '218', '48.512308', '-93.441198', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37430, 'Noyes', 2803, '56740', '218', '48.94833', '-97.150244', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37431, 'Pencer', 2803, '56751', '218', '48.76931', '-95.66937', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37432, 'Pinecreek', 2803, '56751', '218', '48.76931', '-95.66937', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37433, 'Roseau', 2803, '56751', '218', '48.76931', '-95.66937', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37434, 'Ross', 2803, '56751', '218', '48.76931', '-95.66937', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37435, 'Salol', 2803, '56756', '218', '48.849895', '-95.538779', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37436, 'Shelly', 2803, '56581', '218', '47.454578', '-96.725935', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37437, 'Alaska', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37438, 'Durand', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37439, 'Liberty', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37440, 'Maple Ridge', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37441, 'Nebish', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37442, 'O Brien', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37443, 'Puposky', 2803, '56667', '218', '47.737745', '-94.999288', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37444, 'Alida', 2803, '56676', '218', '47.503732', '-95.188974', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37445, 'Bear Creek', 2803, '56676', '218', '47.503732', '-95.188974', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37446, 'Moose Creek', 2803, '56676', '218', '47.503732', '-95.188974', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37447, 'Pinewood', 2803, '56676', '218', '47.503732', '-95.188974', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37448, 'Shevlin', 2803, '56676', '218', '47.503732', '-95.188974', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37449, 'Oylen', 2803, '56481', '218', '46.463461', '-94.946903', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37450, 'Thomastown', 2803, '56481', '218', '46.463461', '-94.946903', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37451, 'Verndale', 2803, '56481', '218', '46.463461', '-94.946903', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37452, 'Wing River', 2803, '56481', '218', '46.463461', '-94.946903', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37453, 'Beltrami', 2803, '56517', '218', '47.586572', '-96.49382', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37454, 'Clitherall', 2803, '56524', '218', '46.217924', '-95.617798', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37455, 'Waite Park', 2803, '56388', '320', '45.558', '-94.225', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37456, 'Fulfillment Distribution Ctr', 2803, '56399', '320', '45.5608', '-94.1624', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37457, 'Saint Cloud', 2803, '56399', '320', '45.5608', '-94.1624', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37458, 'Aitkin', 2803, '56431', '218', '46.455476', '-93.641385', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37459, 'Fosston', 2803, '56542', '218', '47.586412', '-95.746407', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37460, 'Averill', 2803, '56547', '218', '46.890862', '-96.546544', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37461, 'Glyndon', 2803, '56547', '218', '46.890862', '-96.546544', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37462, 'Mcintosh', 2803, '56556', '218', '47.673414', '-95.889122', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37463, 'Butler', 2803, '56567', '218', '46.564478', '-95.38078', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37464, 'New York Mills', 2803, '56567', '218', '46.564478', '-95.38078', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37465, 'New York Mls', 2803, '56567', '218', '46.564478', '-95.38078', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37466, 'Bock', 2803, '56313', '320', '45.785202', '-93.553106', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37467, 'Hillman', 2803, '56338', '320', '46.019962', '-93.883595', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37468, 'Lowry', 2803, '56349', '320', '45.736776', '-95.523233', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37469, 'Benson', 2803, '56215', '320', '45.282192', '-95.552648', '2018-11-29 04:57:39', '2018-11-29 04:57:39'),\n(37470, 'Graceville', 2803, '56240', '320', '45.541952', '-96.367258', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37471, 'Marshall', 2803, '56258', '507', '44.471199', '-95.745994', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37472, 'Montevideo', 2803, '56265', '320', '45.017805', '-95.696002', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37473, 'Ogilvie', 2803, '56358', '320', '45.834313', '-93.437245', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37474, 'Pease', 2803, '56363', '320', '45.698372', '-93.649257', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37475, 'Saint Joseph', 2803, '56374', '320', '45.616364', '-94.358256', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37476, 'St Joseph', 2803, '56374', '320', '45.616364', '-94.358256', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37477, 'Saint James', 2803, '56081', '507', '43.993095', '-94.612635', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37478, 'St James', 2803, '56081', '507', '43.993095', '-94.612635', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37479, 'Truman', 2803, '56088', '507', '43.815', '-94.429896', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37480, 'Vernon Center', 2803, '56090', '507', '43.978174', '-94.248842', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37481, 'Walters', 2803, '56097', '507', '43.713655', '-93.75777', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37482, 'Wells', 2803, '56097', '507', '43.713655', '-93.75777', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37483, 'Luverne', 2803, '56156', '507', '43.674747', '-96.312937', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37484, 'Prinsburg', 2803, '56281', '320', '44.949425', '-95.166581', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37485, 'Spicer', 2803, '56288', '320', '45.240198', '-94.955514', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37486, 'Wood Lake', 2803, '56297', '507', '44.623752', '-95.54363', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37487, 'Ardenhurst', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37488, 'Bergville', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37489, 'Dora Lake', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37490, 'Oslo', 2803, '56744', '218', '48.195082', '-97.097068', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37491, 'Swift', 2803, '56763', '218', '48.865576', '-95.372526', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37492, 'Warroad', 2803, '56763', '218', '48.865576', '-95.372526', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37493, 'Rothsay', 2803, '56579', '218', '46.513328', '-96.279993', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37494, 'Wolverton', 2803, '56594', '218', '46.543667', '-96.597497', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37495, 'Grattan', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37496, 'Kinghurst', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37497, 'Nore', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37498, 'Northome', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37499, 'Shooks', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37500, 'Wildwood', 2803, '56661', '218', '47.834048', '-94.097364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37501, 'Cushing', 2803, '56443', '218', '46.195214', '-94.554634', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37502, 'Guthrie', 2803, '56461', '218', '47.257052', '-94.908242', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37503, 'La Porte', 2803, '56461', '218', '47.257052', '-94.908242', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37504, 'Laporte', 2803, '56461', '218', '47.257052', '-94.908242', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37505, 'Foxhome', 2803, '56543', '218', '46.238726', '-96.326348', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37506, 'Moorhead', 2803, '56561', '218', '46.8737', '-96.7674', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37507, 'Flensburg', 2803, '56328', '320', '45.944348', '-94.550743', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37508, 'Lastrup', 2803, '56344', '320', '46.0394', '-94.0634', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37509, 'Barry', 2803, '56210', '320', '45.542998', '-96.555153', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37510, 'Cottonwood', 2803, '56229', '507', '44.5732', '-95.721912', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37511, 'Hancock', 2803, '56244', '320', '45.491924', '-95.811364', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37512, 'Maynard', 2803, '56260', '320', '44.970486', '-95.483356', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37513, 'Sauk Rapids', 2803, '56379', '320', '45.647398', '-94.085088', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37514, 'Alpha', 2803, '56111', '507', '43.638486', '-94.905017', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37515, 'Dunnell', 2803, '56127', '507', '43.55891', '-94.774459', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37516, 'Jackson', 2803, '56143', '507', '43.674502', '-94.980985', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37517, 'Wanda', 2803, '56294', '507', '44.318408', '-95.218098', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37518, 'Zumbrota', 2803, '55992', '507', '44.302396', '-92.708426', '2018-11-29 04:57:40', '2018-11-29 04:57:40'),\n(37519, 'Angle Inlet', 2803, '56711', '218', '49.331764', '-94.914356', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37520, 'Penasse', 2803, '56711', '218', '49.331764', '-94.914356', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37521, 'Grygla', 2803, '56727', '218', '48.35635', '-95.592826', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37522, 'Hallock', 2803, '56728', '218', '48.790147', '-96.99965', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37523, 'Northcote', 2803, '56728', '218', '48.790147', '-96.99965', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37524, 'Halma', 2803, '56729', '218', '48.673319', '-96.584534', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37525, 'Forest Grove', 2803, '56660', '218', '47.991514', '-94.171355', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37526, 'Gemmell', 2803, '56660', '218', '47.991514', '-94.171355', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37527, 'Mizpah', 2803, '56660', '218', '47.991514', '-94.171355', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37528, 'Mozeppa', 2803, '56660', '218', '47.991514', '-94.171355', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37529, 'Skime', 2803, '56761', '218', '48.628656', '-95.734181', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37530, 'Wannaska', 2803, '56761', '218', '48.628656', '-95.734181', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37531, 'Richwood', 2803, '56577', '218', '46.942142', '-95.897342', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37532, 'Baker', 2803, '56580', '218', '46.717802', '-96.547379', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37533, 'Sabin', 2803, '56580', '218', '46.717802', '-96.547379', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37534, 'Wolf Lake', 2803, '56593', '218', '46.85343', '-95.404774', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37535, 'Beulah', 2803, '56662', '218', '46.846609', '-93.902712', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37536, 'Crooked Lake', 2803, '56662', '218', '46.846609', '-93.902712', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37537, 'Outing', 2803, '56662', '218', '46.846609', '-93.902712', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37538, 'Rheiderland', 2803, '56662', '218', '46.846609', '-93.902712', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37539, 'Trelipe', 2803, '56662', '218', '46.846609', '-93.902712', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37540, 'Blackduck', 2803, '56663', '218', '47.486499', '-94.469174', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37541, 'Pennington', 2803, '56663', '218', '47.486499', '-94.469174', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37542, 'Nimrod', 2803, '56478', '218', '46.6375', '-94.8822', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37543, 'Moran', 2803, '56479', '218', '46.390632', '-94.799699', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37544, 'Poplar', 2803, '56479', '218', '46.390632', '-94.799699', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37545, 'Staples', 2803, '56479', '218', '46.390632', '-94.799699', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37546, 'Ada', 2803, '56510', '218', '47.36885', '-96.506493', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37547, 'Lockhart', 2803, '56510', '218', '47.36885', '-96.506493', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37548, 'Deer Creek', 2803, '56527', '218', '46.376443', '-95.313447', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37549, 'Dilworth', 2803, '56529', '218', '46.880146', '-96.704454', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37550, 'Fingerhut (Pre Paid)', 2803, '56396', '320', '45.5608', '-94.1624', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37551, 'Saint Cloud', 2803, '56396', '320', '45.5608', '-94.1624', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37552, 'Eagle Bend', 2803, '56446', '218', '46.114028', '-95.099339', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37553, 'Lake Hubert', 2803, '56459', '218', '46.5022', '-94.2574', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37554, 'Gary', 2803, '56545', '218', '47.369168', '-96.194886', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37555, 'Georgetown', 2803, '56546', '218', '47.092871', '-96.701926', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37556, 'Concordia College', 2803, '56562', '218', '46.864692', '-96.770198', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37557, 'Moorhead', 2803, '56562', '218', '46.864692', '-96.770198', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37558, 'Moorhead', 2803, '56563', '218', '46.866722', '-96.757936', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37559, 'Moorhead State University', 2803, '56563', '218', '46.866722', '-96.757936', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37560, 'Ashby', 2803, '56309', '218', '46.083962', '-95.780384', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37561, 'Barrett', 2803, '56311', '320', '45.890604', '-95.882469', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37562, 'Belgrade', 2803, '56312', '320', '45.473744', '-94.958698', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37563, 'Regal', 2803, '56312', '320', '45.473744', '-94.958698', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37564, 'Spring Hill', 2803, '56312', '320', '45.473744', '-94.958698', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37565, 'Evansville', 2803, '56326', '218', '46.000462', '-95.666458', '2018-11-29 04:57:41', '2018-11-29 04:57:41'),\n(37566, 'Isle', 2803, '56342', '320', '46.128851', '-93.388212', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37567, 'Atwater', 2803, '56209', '320', '45.141945', '-94.789141', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37568, 'Beardsley', 2803, '56211', '320', '45.615236', '-96.725013', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37569, 'Bellingham', 2803, '56212', '320', '45.16751', '-96.33951', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37570, 'Clontarf', 2803, '56226', '320', '45.38901', '-95.685807', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37571, 'Cosmos', 2803, '56228', '320', '44.942822', '-94.671086', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37572, 'Grove City', 2803, '56243', '320', '45.141616', '-94.680664', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37573, 'Milan', 2803, '56262', '320', '45.097306', '-95.886252', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37574, 'Onamia', 2803, '56359', '320', '46.077208', '-93.663564', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37575, 'Osakis', 2803, '56360', '320', '45.871182', '-95.139944', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37576, 'Saint Martin', 2803, '56376', '320', '45.49345', '-94.655343', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37577, 'St Martin', 2803, '56376', '320', '45.49345', '-94.655343', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37578, 'Sartell', 2803, '56377', '320', '45.644626', '-94.219908', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37579, 'Meriden', 2803, '56093', '507', '44.065772', '-93.53721', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37580, 'Otisco', 2803, '56093', '507', '44.065772', '-93.53721', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37581, 'Waseca', 2803, '56093', '507', '44.065772', '-93.53721', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37582, 'Dovray', 2803, '56125', '507', '44.052134', '-95.492446', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37583, 'Edgerton', 2803, '56128', '507', '43.870251', '-96.150106', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37584, 'Ivanhoe', 2803, '56142', '507', '44.53057', '-96.208916', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37585, 'Jeffers', 2803, '56145', '507', '44.093598', '-95.120287', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37586, 'Vesta', 2803, '56292', '507', '44.499308', '-95.45248', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37587, 'Hammond', 2803, '55991', '507', '44.253663', '-92.407476', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37588, 'Zumbro Falls', 2803, '55991', '507', '44.253663', '-92.407476', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37589, 'Amboy', 2803, '56010', '507', '43.89865', '-94.188656', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37590, 'Belle Plaine', 2803, '56011', '952', '44.619221', '-93.781668', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37591, 'Three Bridges', 2811, '08887', '908', '40.527424', '-74.785566', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37592, 'Highland Park', 2811, '08904', '732', '40.501927', '-74.428894', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37593, 'New Brunswick', 2811, '08904', '732', '40.501927', '-74.428894', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37594, 'Millstone Twp', 2811, '08535', '732', '40.225237', '-74.441352', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37595, 'Perrineville', 2811, '08535', '732', '40.225237', '-74.441352', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37596, 'Princeton', 2811, '08542', '609', '40.354528', '-74.658748', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37597, 'Princeton', 2811, '08544', '609', '40.344272', '-74.655018', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37598, 'Princeton University', 2811, '08544', '609', '40.344272', '-74.655018', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37599, 'East Amwell', 2811, '08551', '908', '40.440804', '-74.836716', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37600, 'East Amwell Township', 2811, '08551', '908', '40.440804', '-74.836716', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37601, 'East Amwell Twp', 2811, '08551', '908', '40.440804', '-74.836716', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37602, 'Ringoes', 2811, '08551', '908', '40.440804', '-74.836716', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37603, 'Montgomery', 2811, '08558', '609', '40.408516', '-74.694682', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37604, 'Skillman', 2811, '08558', '609', '40.408516', '-74.694682', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37605, 'Trenton', 2811, '08608', '609', '40.218775', '-74.766755', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37606, 'Dividing Crk', 2811, '08315', '856', '39.2743', '-75.1114', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37607, 'Heislerville', 2811, '08324', '856', '39.242868', '-74.985907', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37608, 'Thompson Beach', 2811, '08324', '856', '39.242868', '-74.985907', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37609, 'Mizpah', 2811, '08342', '609', '39.4914', '-74.8328', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37610, 'Bivalve', 2811, '08349', '856', '39.263236', '-75.065952', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37611, 'Port Norris', 2811, '08349', '856', '39.263236', '-75.065952', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37612, 'Atlantic City', 2811, '08401', '609', '39.371579', '-74.452032', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37613, 'Allentown', 2811, '08501', '609', '40.139731', '-74.548414', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37614, 'Upper Freehold', 2811, '08501', '609', '40.139731', '-74.548414', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37615, 'Rio Grande', 2811, '08242', '609', '39.017188', '-74.870632', '2018-11-29 04:57:42', '2018-11-29 04:57:42'),\n(37616, 'Dividing Creek', 2811, '08315', '856', '39.2743', '-75.1114', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37617, 'Imlaystown', 2811, '08526', '609', '40.1665', '-74.5138', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37618, 'Oak Valley', 2811, '08090', '856', '39.79685', '-75.149982', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37619, 'Wenonah', 2811, '08090', '856', '39.79685', '-75.149982', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37620, 'Cedar Run', 2811, '08092', '609', '39.660589', '-74.287743', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37621, 'Eagleswood Township', 2811, '08092', '609', '39.660589', '-74.287743', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37622, 'Mayetta', 2811, '08092', '609', '39.660589', '-74.287743', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37623, 'Staffordville', 2811, '08092', '609', '39.660589', '-74.287743', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37624, 'West Creek', 2811, '08092', '609', '39.660589', '-74.287743', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37625, 'Camden', 2811, '08101', '856', '39.9258', '-75.12', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37626, 'Audubon', 2811, '08106', '856', '39.89147', '-75.072944', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37627, 'Audubon Park', 2811, '08106', '856', '39.89147', '-75.072944', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37628, 'Collingswood', 2811, '08108', '856', '39.91376', '-75.063757', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37629, 'Haddon Township', 2811, '08108', '856', '39.91376', '-75.063757', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37630, 'Haddon Twp', 2811, '08108', '856', '39.91376', '-75.063757', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37631, 'Westmont', 2811, '08108', '856', '39.91376', '-75.063757', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37632, 'Gibbsboro', 2811, '08026', '856', '39.832258', '-74.966534', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37633, 'Camden', 2811, '08105', '856', '39.953133', '-75.089276', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37634, 'East Camden', 2811, '08105', '856', '39.953133', '-75.089276', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37635, 'Avalon', 2811, '08202', '609', '39.089892', '-74.730746', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37636, 'Brigantine', 2811, '08203', '609', '39.407459', '-74.37652', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37637, 'Brigantine City', 2811, '08203', '609', '39.407459', '-74.37652', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37638, 'Pemberton', 2811, '08068', '609', '39.95679', '-74.653352', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37639, 'Mc Guire AFB', 2811, '08641', '609', '40.029421', '-74.589072', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37640, 'Mc Guire Air Force Base', 2811, '08641', '609', '40.029421', '-74.589072', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37641, 'Trenton', 2811, '08641', '609', '40.029421', '-74.589072', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37642, 'Hamilton', 2811, '08650', '609', '40.2241', '-74.7648', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37643, 'Trenton', 2811, '08650', '609', '40.2241', '-74.7648', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37644, 'Hamilton', 2811, '08691', '609', '40.214552', '-74.575996', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37645, 'Hamilton Township', 2811, '08691', '609', '40.214552', '-74.575996', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37646, 'Hamilton Twp', 2811, '08691', '609', '40.214552', '-74.575996', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37647, 'Robbinsville', 2811, '08691', '609', '40.214552', '-74.575996', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37648, 'Trenton', 2811, '08691', '609', '40.214552', '-74.575996', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37649, 'Uppr Free Twp', 2811, '08691', '609', '40.214552', '-74.575996', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37650, 'Pine Beach', 2811, '08741', '732', '39.933404', '-74.166991', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37651, 'Hopelawn', 2811, '08861', '732', '40.521502', '-74.275771', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37652, 'Perth Amboy', 2811, '08861', '732', '40.521502', '-74.275771', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37653, 'Pennington', 2811, '08534', '609', '40.328228', '-74.79563', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37654, 'Sergeantsville', 2811, '08557', '609', '40.4458', '-74.9437', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37655, 'Sergeantsvlle', 2811, '08557', '609', '40.4458', '-74.9437', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37656, 'Trenton', 2811, '08607', '609', '40.2167', '-74.7433', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37657, 'Sea Girt', 2811, '08750', '732', '40.130897', '-74.045923', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37658, 'Wall', 2811, '08750', '732', '40.130897', '-74.045923', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37659, 'Wall Township', 2811, '08750', '732', '40.130897', '-74.045923', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37660, 'Wall Twp', 2811, '08750', '732', '40.130897', '-74.045923', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37661, 'S Seaside Pk', 2811, '08752', '732', '39.908228', '-74.086514', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37662, 'Seaside Park', 2811, '08752', '732', '39.908228', '-74.086514', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37663, 'Carmel', 2811, '08332', '856', '39.330558', '-75.022765', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37664, 'Laurel Lake', 2811, '08332', '856', '39.330558', '-75.022765', '2018-11-29 04:57:43', '2018-11-29 04:57:43'),\n(37665, 'Millville', 2811, '08332', '856', '39.330558', '-75.022765', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37666, 'Richland', 2811, '08350', '856', '39.490382', '-74.879736', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37667, 'Margate', 2811, '08402', '609', '39.330254', '-74.50623', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37668, 'Margate City', 2811, '08402', '609', '39.330254', '-74.50623', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37669, 'Hopewell', 2811, '08525', '609', '40.409141', '-74.785804', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37670, 'Hopewell Township', 2811, '08525', '609', '40.409141', '-74.785804', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37671, 'Hopewell Twp', 2811, '08525', '609', '40.409141', '-74.785804', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37672, 'Bargaintown', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37673, 'Egg Harbor Township', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37674, 'Egg Harbor Twp', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37675, 'Egg Hbr Twp', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37676, 'Farmington', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37677, 'Mckee City', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37678, 'Pleasantville', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37679, 'West Atlantic City', 2811, '08232', '609', '39.394661', '-74.517904', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37680, 'Tuckahoe', 2811, '08250', '609', '39.2898', '-74.7405', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37681, 'Berlin Township', 2811, '08091', '856', '39.80487', '-74.929939', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37682, 'Toms River', 2811, '08754', '732', '39.9539', '-74.1985', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37683, 'Bound Brk', 2811, '08805', '732', '40.57143', '-74.537362', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37684, 'Bound Brook', 2811, '08805', '732', '40.57143', '-74.537362', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37685, 'Franklin Park', 2811, '08823', '732', '40.438364', '-74.56708', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37686, 'Edison', 2811, '08837', '732', '40.518491', '-74.349682', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37687, 'Menlo Park', 2811, '08837', '732', '40.518491', '-74.349682', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37688, 'Metuchen', 2811, '08840', '732', '40.543364', '-74.34919', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37689, 'Bayville', 2811, '08721', '732', '39.90437', '-74.211415', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37690, 'Berkeley Township', 2811, '08721', '732', '39.90437', '-74.211415', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37691, 'Berkeley Twp', 2811, '08721', '732', '39.90437', '-74.211415', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37692, 'Beachwood', 2811, '08722', '732', '39.928362', '-74.201634', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37693, 'Piscataway', 2811, '08854', '732', '40.551764', '-74.464675', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37694, 'Sayreville', 2811, '08871', '732', '40.4595', '-74.3616', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37695, 'Plainsboro', 2811, '08536', '609', '40.337513', '-74.58755', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37696, 'Rosemont', 2811, '08556', '609', '40.433651', '-75.000868', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37697, 'Trenton', 2811, '08603', '609', '40.2167', '-74.7433', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37698, 'Fairton', 2811, '08320', '856', '39.3818', '-75.2206', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37699, 'Franklinville', 2811, '08322', '856', '39.618266', '-75.037741', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37700, 'Shiloh', 2811, '08353', '856', '39.461703', '-75.297033', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37701, 'Longport', 2811, '08403', '609', '39.315216', '-74.537153', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37702, 'Atlantic City', 2811, '08405', '609', '39.3645', '-74.4236', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37703, 'Nat Aviation Fac Exp Ctr', 2811, '08405', '609', '39.3645', '-74.4236', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37704, 'Blawenburg', 2811, '08504', '609', '40.4076', '-74.7032', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37705, 'Ewing', 2811, '08638', '609', '40.25623', '-74.75848', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37706, 'Ewing Township', 2811, '08638', '609', '40.25623', '-74.75848', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37707, 'Ewing Twp', 2811, '08638', '609', '40.25623', '-74.75848', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37708, 'Trenton', 2811, '08638', '609', '40.25623', '-74.75848', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37709, 'Leeds Point', 2811, '08220', '609', '39.4917', '-74.4295', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37710, 'Whitesboro', 2811, '08252', '609', '39.038425', '-74.85771', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37711, 'Belleplain', 2811, '08270', '609', '39.283572', '-74.787158', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37712, 'Corbin City', 2811, '08270', '609', '39.283572', '-74.787158', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37713, 'Eldora', 2811, '08270', '609', '39.283572', '-74.787158', '2018-11-29 04:57:44', '2018-11-29 04:57:44'),\n(37714, 'Petersburg', 2811, '08270', '609', '39.283572', '-74.787158', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37715, 'Steelmantown', 2811, '08270', '609', '39.283572', '-74.787158', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37716, 'Woodbine', 2811, '08270', '609', '39.283572', '-74.787158', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37717, 'Camden', 2811, '08104', '856', '39.9154', '-75.112456', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37718, 'Haddon Township', 2811, '08104', '856', '39.9154', '-75.112456', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37719, 'Haddon Twp', 2811, '08104', '856', '39.9154', '-75.112456', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37720, 'South Camden', 2811, '08104', '856', '39.9154', '-75.112456', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37721, 'Cape May', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37722, 'Cold Spring', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37723, 'Toms River', 2811, '08756', '732', '39.9539', '-74.1985', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37724, 'Bridgewater', 2811, '08807', '908', '40.592786', '-74.616295', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37725, 'Flagtown', 2811, '08821', '908', '40.520553', '-74.681953', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37726, 'Flemington', 2811, '08822', '908', '40.518392', '-74.868072', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37727, 'Kendall Park', 2811, '08824', '732', '40.417792', '-74.550996', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37728, 'Pt Pleasant B', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37729, 'Pt Pleasant Beach', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37730, 'Ortley Beach', 2811, '08751', '732', '39.949298', '-74.081814', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37731, 'Pelican Island', 2811, '08751', '732', '39.949298', '-74.081814', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37732, 'Seaside Heights', 2811, '08751', '732', '39.949298', '-74.081814', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37733, 'Seaside Hgts', 2811, '08751', '732', '39.949298', '-74.081814', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37734, 'Dorothy', 2811, '08317', '609', '39.401547', '-74.802769', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37735, 'Milmay', 2811, '08340', '609', '39.431408', '-74.870893', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37736, 'East Vineland', 2811, '08360', '856', '39.48571', '-74.97276', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37737, 'South Vineland', 2811, '08360', '856', '39.48571', '-74.97276', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37738, 'Vineland', 2811, '08360', '856', '39.48571', '-74.97276', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37739, 'Devonshire', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37740, 'Egg Harbor', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37741, 'Egg Harbor City', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37742, 'Egg Harbor Cy', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37743, 'Egg Hbr City', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37744, 'Germania', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37745, 'Green Bank', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37746, 'Lower Bank', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37747, 'South Egg Harbor', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37748, 'Weekstown', 2811, '08215', '609', '39.57123', '-74.58939', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37749, 'Oceanville', 2811, '08231', '609', '39.4713', '-74.4606', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37750, 'Del Haven', 2811, '08251', '609', '39.028074', '-74.927888', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37751, 'Miami Beach', 2811, '08251', '609', '39.028074', '-74.927888', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37752, 'Villas', 2811, '08251', '609', '39.028074', '-74.927888', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37753, 'Pedricktown', 2811, '08067', '856', '39.734624', '-75.41305', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37754, 'Erial', 2811, '08081', '856', '39.732983', '-74.969494', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37755, 'Sicklerville', 2811, '08081', '856', '39.732983', '-74.969494', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37756, 'Bernardsville', 2811, '07924', '908', '40.726228', '-74.592083', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37757, 'Far Hills', 2811, '07931', '908', '40.714482', '-74.657395', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37758, 'Bellmawr', 2811, '08031', '856', '39.865802', '-75.09234', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37759, 'Gloucester', 2811, '08031', '856', '39.865802', '-75.09234', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37760, 'Gloucstr City', 2811, '08031', '856', '39.865802', '-75.09234', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37761, 'East Haddonfield', 2811, '08033', '856', '39.895188', '-75.040811', '2018-11-29 04:57:45', '2018-11-29 04:57:45'),\n(37762, 'Haddonfield', 2811, '08033', '856', '39.895188', '-75.040811', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37763, 'Tavistock', 2811, '08033', '856', '39.895188', '-75.040811', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37764, 'Magnolia', 2811, '08049', '856', '39.853565', '-75.034454', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37765, 'Mantua', 2811, '08051', '856', '39.786768', '-75.183872', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37766, 'Mantua Heights', 2811, '08051', '856', '39.786768', '-75.183872', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37767, 'West Deptford', 2811, '08051', '856', '39.786768', '-75.183872', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37768, 'Augusta', 2811, '07822', '973', '41.140154', '-74.697343', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37769, 'Murray Hill', 2811, '07974', '908', '40.697883', '-74.403979', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37770, 'New Providence', 2811, '07974', '908', '40.697883', '-74.403979', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37771, 'Manchester Township', 2811, '08733', '732', '40.010535', '-74.413915', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37772, 'Manchester Twp', 2811, '08733', '732', '40.010535', '-74.413915', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37773, 'Lavallette', 2811, '08735', '732', '39.980903', '-74.07165', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37774, 'Neshanic Sta', 2811, '08853', '908', '40.529128', '-74.740359', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37775, 'Neshanic Station', 2811, '08853', '908', '40.529128', '-74.740359', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37776, 'Raritan', 2811, '08869', '908', '40.570235', '-74.638706', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37777, 'New Egypt', 2811, '08533', '609', '40.081881', '-74.496446', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37778, 'Plumsted', 2811, '08533', '609', '40.081881', '-74.496446', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37779, 'Plumsted Township', 2811, '08533', '609', '40.081881', '-74.496446', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37780, 'Plumsted Twp', 2811, '08533', '609', '40.081881', '-74.496446', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37781, 'Ewing', 2811, '08560', '609', '40.312271', '-74.857913', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37782, 'Titusville', 2811, '08560', '609', '40.312271', '-74.857913', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37783, 'Trenton', 2811, '08601', '609', '40.2167', '-74.7433', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37784, 'Hamilton', 2811, '08610', '609', '40.184628', '-74.706784', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37785, 'Hamilton Township', 2811, '08610', '609', '40.184628', '-74.706784', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37786, 'Hamilton Twp', 2811, '08610', '609', '40.184628', '-74.706784', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37787, 'Trenton', 2811, '08610', '609', '40.184628', '-74.706784', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37788, 'Hamilton', 2811, '08619', '609', '40.239656', '-74.700038', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37789, 'Hamilton Township', 2811, '08619', '609', '40.239656', '-74.700038', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37790, 'Hamilton Twp', 2811, '08619', '609', '40.239656', '-74.700038', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37791, 'Mercerville', 2811, '08619', '609', '40.239656', '-74.700038', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37792, 'Trenton', 2811, '08619', '609', '40.239656', '-74.700038', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37793, 'Landisville', 2811, '08326', '856', '39.535322', '-74.931311', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37794, 'Clarksburg', 2811, '08510', '609', '40.18859', '-74.432069', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37795, 'Millstone', 2811, '08510', '609', '40.18859', '-74.432069', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37796, 'Millstone Township', 2811, '08510', '609', '40.18859', '-74.432069', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37797, 'Millstone Twp', 2811, '08510', '609', '40.18859', '-74.432069', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37798, 'Elwood', 2811, '08217', '609', '39.57652', '-74.719578', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37799, 'New Gretna', 2811, '08224', '609', '39.594227', '-74.459343', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37800, 'Ocean City', 2811, '08226', '609', '39.25359', '-74.602945', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37801, 'Pomona', 2811, '08240', '609', '39.4704', '-74.5793', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37802, 'Anglesea', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37803, 'Grassy Sound', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37804, 'N Wildwood', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37805, 'North Wildwood', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37806, 'Shaw Crest', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37807, 'West Wildwood', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37808, 'Wildwood', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37809, 'Wildwood City', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37810, 'Wildwood Crest', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37811, 'Wildwood Crst', 2811, '08260', '609', '38.985715', '-74.829413', '2018-11-29 04:57:46', '2018-11-29 04:57:46'),\n(37812, 'Buena', 2811, '08310', '856', '39.528906', '-74.902713', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37813, 'Buena Vista Township', 2811, '08310', '856', '39.528906', '-74.902713', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37814, 'Mickleton', 2811, '08056', '856', '39.787836', '-75.251419', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37815, 'Bellmawr', 2811, '08099', '856', '39.8676', '-75.095', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37816, 'Absecon', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37817, 'Absecon City', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37818, 'Absecon Heights', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37819, 'Absecon Highlands', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37820, 'Galloway', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37821, 'Galloway Township', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37822, 'Pinehurst', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37823, 'Smithville', 2811, '08201', '609', '39.417806', '-74.502952', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37824, 'Columbus', 2811, '08022', '609', '40.059442', '-74.6961', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37825, 'Mansfield', 2811, '08022', '609', '40.059442', '-74.6961', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37826, 'Richwood', 2811, '08074', '856', '39.717098', '-75.17352', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37827, 'Wickatunk', 2811, '07765', '732', '40.3502', '-74.2483', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37828, 'Eatontown', 2811, '07799', '732', '40.3764', '-74.0888', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37829, 'Dover', 2811, '07806', '973', '40.8866', '-74.5807', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37830, 'Picatinny Ars', 2811, '07806', '973', '40.8866', '-74.5807', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37831, 'Picatinny Arsenal', 2811, '07806', '973', '40.8866', '-74.5807', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37832, 'Whippany', 2811, '07999', '973', '40.7146', '-74.3615', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37833, 'Colts Neck', 2811, '07722', '732', '40.285978', '-74.162793', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37834, 'Earle Naval Weapons Station', 2811, '07722', '732', '40.285978', '-74.162793', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37835, 'Phalanx', 2811, '07722', '732', '40.285978', '-74.162793', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37836, 'Pittstown', 2811, '08867', '908', '40.571264', '-74.972265', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37837, 'Millstone', 2811, '08535', '732', '40.225237', '-74.441352', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37838, 'Millstone Township', 2811, '08535', '732', '40.225237', '-74.441352', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37839, 'Waretown', 2811, '08758', '609', '39.801649', '-74.25746', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37840, 'Edison', 2811, '08817', '732', '40.519247', '-74.396829', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37841, 'Helmetta', 2811, '08828', '732', '40.377969', '-74.424156', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37842, 'Lebanon', 2811, '08833', '908', '40.643468', '-74.81999', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37843, 'Manville', 2811, '08835', '908', '40.542036', '-74.588432', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37844, 'Hillsborough', 2811, '08844', '908', '40.498993', '-74.684705', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37845, 'Millstone', 2811, '08844', '908', '40.498993', '-74.684705', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37846, 'Stanton', 2811, '08885', '908', '40.5751', '-74.8382', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37847, 'Fort Dix', 2811, '08640', '609', '40.010398', '-74.614838', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37848, 'Ft Dix', 2811, '08640', '609', '40.010398', '-74.614838', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37849, 'Allenwood', 2811, '08720', '732', '40.143292', '-74.103285', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37850, 'Mantoloking', 2811, '08738', '732', '40.024676', '-74.058356', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37851, 'East Millstone', 2811, '08873', '732', '40.49887', '-74.525118', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37852, 'Franklin Twp', 2811, '08873', '732', '40.49887', '-74.525118', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37853, 'Middlebush', 2811, '08873', '732', '40.49887', '-74.525118', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37854, 'Rocky Hill', 2811, '08553', '609', '40.400527', '-74.639536', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37855, 'Fortescue', 2811, '08321', '856', '39.232966', '-75.169967', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37856, 'Ventnor', 2811, '08406', '609', '39.343737', '-74.483061', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37857, 'Ventnor City', 2811, '08406', '609', '39.343737', '-74.483061', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37858, 'Ventnor Heights', 2811, '08406', '609', '39.343737', '-74.483061', '2018-11-29 04:57:47', '2018-11-29 04:57:47'),\n(37859, 'Bordentown', 2811, '08505', '609', '40.092941', '-74.741363', '2018-11-29 04:57:47', '2018-11-29 04:57:47');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(37860, 'Fieldsboro', 2811, '08505', '609', '40.092941', '-74.741363', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37861, 'Bridgeton', 2811, '08302', '856', '39.427194', '-75.257508', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37862, 'Deerfield Twp', 2811, '08302', '856', '39.427194', '-75.257508', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37863, 'Fairfield Twp', 2811, '08302', '856', '39.427194', '-75.257508', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37864, 'Stow Creek Twp', 2811, '08302', '856', '39.427194', '-75.257508', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37865, 'Upper Deerfield Twp', 2811, '08302', '856', '39.427194', '-75.257508', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37866, 'Camden', 2811, '08103', '856', '39.93381', '-75.110563', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37867, 'Lakewood', 2811, '08701', '732', '40.072114', '-74.204978', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37868, 'Oldwick', 2811, '08858', '908', '40.680034', '-74.735506', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37869, 'Bay Head', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37870, 'Point Pleasant', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37871, 'Point Pleasant Beach', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37872, 'Point Pleasant Boro', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37873, 'Pt Pleas Bch', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37874, 'Pt Pleasant', 2811, '08742', '732', '40.081694', '-74.063294', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37875, 'Berkeley', 2811, '08753', '732', '39.985751', '-74.159522', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37876, 'Dover Township', 2811, '08753', '732', '39.985751', '-74.159522', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37877, 'Dover Twp', 2811, '08753', '732', '39.985751', '-74.159522', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37878, 'Toms River', 2811, '08753', '732', '39.985751', '-74.159522', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37879, 'Annandale', 2811, '08801', '908', '40.63305', '-74.891656', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37880, 'Baptistown', 2811, '08803', '908', '40.5217', '-75.0066', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37881, 'Broadway', 2811, '08808', '908', '40.7318', '-75.0516', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37882, 'Dayton', 2811, '08810', '732', '40.371972', '-74.497447', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37883, 'South Brunswick', 2811, '08810', '732', '40.371972', '-74.497447', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37884, 'Somerset', 2811, '08873', '732', '40.49887', '-74.525118', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37885, 'Zarepath', 2811, '08873', '732', '40.49887', '-74.525118', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37886, 'Whitehouse', 2811, '08888', '908', '40.6184', '-74.7444', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37887, 'Edison', 2811, '08906', '732', '40.4894', '-74.4494', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37888, 'Kilmer Gmf', 2811, '08906', '732', '40.4894', '-74.4494', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37889, 'New Brunswick', 2811, '08906', '732', '40.4894', '-74.4494', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37890, 'Merrill Lynch', 2811, '08989', '732', '40.4863', '-74.4525', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37891, 'New Brunswick', 2811, '08989', '732', '40.4863', '-74.4525', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37892, 'Spotswood', 2811, '08884', '732', '40.394237', '-74.39003', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37893, 'Stewartsville', 2811, '08886', '908', '40.693555', '-75.110315', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37894, 'N Brunswick', 2811, '08902', '732', '40.439188', '-74.482138', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37895, 'New Brunswick', 2811, '08902', '732', '40.439188', '-74.482138', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37896, 'North Brunswick', 2811, '08902', '732', '40.439188', '-74.482138', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37897, 'Branchburg', 2811, '08876', '908', '40.58606', '-74.664666', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37898, 'Finderne', 2811, '08876', '908', '40.58606', '-74.664666', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37899, 'North Branch', 2811, '08876', '908', '40.58606', '-74.664666', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37900, 'Somerville', 2811, '08876', '908', '40.58606', '-74.664666', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37901, 'South Branch', 2811, '08876', '908', '40.58606', '-74.664666', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37902, 'New Brunswick', 2811, '08901', '732', '40.487751', '-74.441096', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37903, 'New Brunswick', 2811, '08903', '732', '40.4863', '-74.4525', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37904, 'Johnson & Johnson', 2811, '08933', '732', '40.4863', '-74.4525', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37905, 'New Brunswick', 2811, '08933', '732', '40.4863', '-74.4525', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37906, 'South Seaside Park', 2811, '08752', '732', '39.908228', '-74.086514', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37907, 'Lakehurst', 2811, '08759', '732', '39.955304', '-74.364642', '2018-11-29 04:57:48', '2018-11-29 04:57:48'),\n(37908, 'Manchester', 2811, '08759', '732', '39.955304', '-74.364642', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37909, 'Manchester Township', 2811, '08759', '732', '39.955304', '-74.364642', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37910, 'Manchester Tw', 2811, '08759', '732', '39.955304', '-74.364642', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37911, 'Whiting', 2811, '08759', '732', '39.955304', '-74.364642', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37912, 'Edison', 2811, '08820', '732', '40.576904', '-74.367461', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37913, 'Frenchtown', 2811, '08825', '908', '40.508317', '-75.014244', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37914, 'Milltown', 2811, '08850', '732', '40.44983', '-74.44494', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37915, 'Business Reply', 2814, '10275', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37916, 'New York', 2814, '10275', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37917, 'Manhattan', 2814, '10276', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37918, 'New York', 2814, '10276', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37919, 'Nyc', 2814, '10276', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37920, 'Bache Halsey Stuart Shields', 2814, '10292', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37921, 'New York', 2814, '10292', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37922, 'Business Reply', 2814, '10211', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37923, 'Cooper', 2814, '10211', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37924, 'New York', 2814, '10211', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37925, 'Manhattan', 2814, '10159', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37926, 'New York', 2814, '10159', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37927, 'New York City', 2814, '10159', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37928, 'Ny', 2814, '10159', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37929, 'Ny City', 2814, '10159', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37930, 'Nyc', 2814, '10159', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37931, 'New York', 2814, '10161', '212', '40.7457', '-73.9937', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37932, 'New York City', 2814, '10161', '212', '40.7457', '-73.9937', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37933, 'Ny', 2814, '10161', '212', '40.7457', '-73.9937', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37934, 'Ny City', 2814, '10161', '212', '40.7457', '-73.9937', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37935, 'Nyc', 2814, '10161', '212', '40.7457', '-73.9937', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37936, 'New York', 2814, '10075', '212', '40.77355', '-73.955621', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37937, 'Business Reply', 2814, '10124', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37938, 'New York', 2814, '10124', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37939, 'Manhattan', 2814, '10041', '212', '40.703119', '-74.010022', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37940, 'New York', 2814, '10041', '212', '40.703119', '-74.010022', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37941, 'New York City', 2814, '10041', '212', '40.703119', '-74.010022', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37942, 'Manhattan', 2814, '10025', '212', '40.798345', '-73.963158', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37943, 'New York', 2814, '10025', '212', '40.798345', '-73.963158', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37944, 'New York City', 2814, '10025', '212', '40.798345', '-73.963158', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37945, 'Ny', 2814, '10025', '212', '40.798345', '-73.963158', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37946, 'Ny City', 2814, '10025', '212', '40.798345', '-73.963158', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37947, 'Nyc', 2814, '10025', '212', '40.798345', '-73.963158', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37948, 'Morningside', 2814, '10026', '212', '40.80405', '-73.952833', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37949, 'New York', 2814, '10026', '212', '40.80405', '-73.952833', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37950, 'European American Bank', 2814, '10258', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37951, 'New York', 2814, '10258', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37952, 'Jp Morgan Bank', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37953, 'Manhattan', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37954, 'New York', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37955, 'New York City', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37956, 'Ny', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:49', '2018-11-29 04:57:49'),\n(37957, 'Ny City', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37958, 'Nyc', 2814, '10261', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37959, 'Church Street Boxes', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37960, 'Manhattan', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37961, 'New York', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37962, 'New York City', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37963, 'Ny', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37964, 'Ny City', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37965, 'Nyc', 2814, '10249', '212', '40.7407', '-73.9949', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37966, 'New York City', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37967, 'Ny', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37968, 'Ny City', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37969, 'Nyc', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37970, 'Prince', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37971, 'New York City', 2814, '10167', '212', '40.755149', '-73.97497', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37972, 'Ny', 2814, '10167', '212', '40.755149', '-73.97497', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37973, 'Ny City', 2814, '10167', '212', '40.755149', '-73.97497', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37974, 'Nyc', 2814, '10167', '212', '40.755149', '-73.97497', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37975, 'Business Reply', 2814, '10133', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37976, 'New York', 2814, '10133', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37977, 'Manhattan', 2814, '10150', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37978, 'New York', 2814, '10150', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37979, 'New York City', 2814, '10150', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37980, 'Ny', 2814, '10150', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37981, 'Ny City', 2814, '10150', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37982, 'Nyc', 2814, '10150', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37983, 'Manhattan', 2814, '10166', '212', '40.7545', '-73.9757', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37984, 'New York', 2814, '10166', '212', '40.7545', '-73.9757', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37985, 'New York City', 2814, '10166', '212', '40.7545', '-73.9757', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37986, 'Ny', 2814, '10166', '212', '40.7545', '-73.9757', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37987, 'Ny City', 2814, '10166', '212', '40.7545', '-73.9757', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37988, 'Nyc', 2814, '10166', '212', '40.7545', '-73.9757', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37989, 'Manhattan', 2814, '10167', '212', '40.755149', '-73.97497', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37990, 'New York', 2814, '10167', '212', '40.755149', '-73.97497', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37991, 'Manhattan', 2814, '10101', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37992, 'New York', 2814, '10101', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37993, 'New York City', 2814, '10101', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37994, 'Ny', 2814, '10101', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37995, 'Ny City', 2814, '10101', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37996, 'Nyc', 2814, '10101', '212', '40.7143', '-74.0067', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37997, 'Manhattan', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37998, 'New York', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(37999, 'New York City', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(38000, 'Ny', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(38001, 'Ny City', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(38002, 'Nyc', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(38003, 'Randalls Island', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(38004, 'Triborough', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:50', '2018-11-29 04:57:50'),\n(38005, 'Wards Is', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38006, 'Wards Island', 2814, '10035', '212', '40.795273', '-73.930107', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38007, 'Merrill Lynch', 2814, '10080', '212', '40.7143', '-74.0067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38008, 'New York', 2814, '10080', '212', '40.7143', '-74.0067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38009, 'New York City', 2814, '10080', '212', '40.7143', '-74.0067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38010, 'Ny', 2814, '10080', '212', '40.7143', '-74.0067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38011, 'Ny City', 2814, '10080', '212', '40.7143', '-74.0067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38012, 'Nyc', 2814, '10080', '212', '40.7143', '-74.0067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38013, 'Manhattan', 2814, '10103', '212', '40.760912', '-73.977862', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38014, 'New York', 2814, '10103', '212', '40.760912', '-73.977862', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38015, 'New York City', 2814, '10103', '212', '40.760912', '-73.977862', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38016, 'Ny', 2814, '10103', '212', '40.760912', '-73.977862', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38017, 'Ny City', 2814, '10103', '212', '40.760912', '-73.977862', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38018, 'Nyc', 2814, '10103', '212', '40.760912', '-73.977862', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38019, 'Manhattan', 2814, '10021', '212', '40.769831', '-73.958514', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38020, 'New York', 2814, '10021', '212', '40.769831', '-73.958514', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38021, 'New York City', 2814, '10021', '212', '40.769831', '-73.958514', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38022, 'Ny', 2814, '10021', '212', '40.769831', '-73.958514', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38023, 'Ny City', 2814, '10021', '212', '40.769831', '-73.958514', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38024, 'Nyc', 2814, '10021', '212', '40.769831', '-73.958514', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38025, 'Manhattan', 2814, '10023', '212', '40.773726', '-73.980067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38026, 'New York', 2814, '10023', '212', '40.773726', '-73.980067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38027, 'New York City', 2814, '10023', '212', '40.773726', '-73.980067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38028, 'Ny', 2814, '10023', '212', '40.773726', '-73.980067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38029, 'Ny City', 2814, '10023', '212', '40.773726', '-73.980067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38030, 'Nyc', 2814, '10023', '212', '40.773726', '-73.980067', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38031, 'Cooper', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38032, 'Manhattan', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38033, 'New York', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38034, 'New York City', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38035, 'Ny', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38036, 'Ny City', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38037, 'Nyc', 2814, '10003', '212', '40.731392', '-73.9884', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38038, 'Manhattan', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38039, 'New York', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38040, 'New York City', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38041, 'Ny', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38042, 'Ny City', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38043, 'Nyc', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38044, 'Wall Street', 2814, '10005', '212', '40.706172', '-74.008596', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38045, 'Manhattan', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38046, 'New York', 2814, '10012', '212', '40.725568', '-73.998208', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38047, 'College', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38048, 'Manhattan', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38049, 'New York', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38050, 'New York City', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38051, 'Ny', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:51', '2018-11-29 04:57:51'),\n(38052, 'Ny City', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38053, 'Nyc', 2814, '10030', '212', '40.818433', '-73.942274', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38054, 'Canal Street', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38055, 'Chinatown', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38056, 'Manhattan', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38057, 'New York', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38058, 'New York City', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38059, 'Ny', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38060, 'Ny City', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38061, 'Nyc', 2814, '10013', '212', '40.720921', '-74.008878', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38062, 'Ny', 2814, '10156', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38063, 'Ny City', 2814, '10156', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38064, 'Nyc', 2814, '10156', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38065, 'Manhattan', 2814, '10113', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38066, 'New York', 2814, '10113', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38067, 'New York City', 2814, '10113', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38068, 'Ny', 2814, '10113', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38069, 'Ny City', 2814, '10113', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38070, 'Nyc', 2814, '10113', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38071, 'Manhattan', 2814, '10115', '212', '40.8109', '-73.963755', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38072, 'New York', 2814, '10115', '212', '40.8109', '-73.963755', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38073, 'New York City', 2814, '10115', '212', '40.8109', '-73.963755', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38074, 'Ny', 2814, '10115', '212', '40.8109', '-73.963755', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38075, 'Ny City', 2814, '10115', '212', '40.8109', '-73.963755', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38076, 'Nyc', 2814, '10115', '212', '40.8109', '-73.963755', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38077, 'New York', 2814, '10095', '718', '40.7288', '-73.9998', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38078, 'New York City', 2814, '10095', '718', '40.7288', '-73.9998', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38079, 'Ny', 2814, '10095', '718', '40.7288', '-73.9998', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38080, 'Ny City', 2814, '10095', '718', '40.7288', '-73.9998', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38081, 'Nyc', 2814, '10095', '718', '40.7288', '-73.9998', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38082, 'Manhattan', 2814, '10122', '212', '40.749', '-73.9885', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38083, 'New York', 2814, '10122', '212', '40.749', '-73.9885', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38084, 'New York City', 2814, '10122', '212', '40.749', '-73.9885', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38085, 'Ny', 2814, '10122', '212', '40.749', '-73.9885', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38086, 'Ny City', 2814, '10122', '212', '40.749', '-73.9885', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38087, 'Nyc', 2814, '10122', '212', '40.749', '-73.9885', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38088, 'Business Reply', 2814, '10131', '212', '40.7143', '-74.0067', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38089, 'Fort George', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38090, 'Manhattan', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38091, 'New York', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38092, 'New York City', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38093, 'Ny', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38094, 'Ny City', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38095, 'Nyc', 2814, '10040', '212', '40.85694', '-73.928491', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38096, 'Bowling Green', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38097, 'Manhattan', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38098, 'New York', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:52', '2018-11-29 04:57:52'),\n(38099, 'New York City', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38100, 'Ny', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38101, 'Ny City', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38102, 'Nyc', 2814, '10004', '212', '40.695383', '-74.026525', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38103, 'Manhattan', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38104, 'New York', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38105, 'New York City', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38106, 'Ny', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38107, 'Ny City', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38108, 'Nyc', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38109, 'Trinity', 2814, '10006', '212', '40.707932', '-74.013335', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38110, 'Manhattan', 2814, '10014', '212', '40.734332', '-74.010112', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38111, 'New York', 2814, '10014', '212', '40.734332', '-74.010112', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38112, 'New York City', 2814, '10014', '212', '40.734332', '-74.010112', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38113, 'Ny', 2814, '10014', '212', '40.734332', '-74.010112', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38114, 'Ny City', 2814, '10014', '212', '40.734332', '-74.010112', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38115, 'Nyc', 2814, '10014', '212', '40.734332', '-74.010112', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38116, 'New York', 2814, '10112', '212', '40.759608', '-73.979808', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38117, 'New York City', 2814, '10112', '212', '40.759608', '-73.979808', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38118, 'Ny', 2814, '10112', '212', '40.759608', '-73.979808', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38119, 'Ny City', 2814, '10112', '212', '40.759608', '-73.979808', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38120, 'Nyc', 2814, '10112', '212', '40.759608', '-73.979808', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38121, 'Business Reply', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38122, 'Manhattan', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38123, 'New York', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38124, 'New York City', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38125, 'Ny', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38126, 'Ny City', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38127, 'Nyc', 2814, '10114', '212', '40.7143', '-74.0067', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38128, 'Manhattan', 2814, '10121', '212', '40.7509', '-73.9935', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38129, 'New York', 2814, '10121', '212', '40.7509', '-73.9935', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38130, 'New York City', 2814, '10121', '212', '40.7509', '-73.9935', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38131, 'Ny', 2814, '10121', '212', '40.7509', '-73.9935', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38132, 'Ny City', 2814, '10121', '212', '40.7509', '-73.9935', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38133, 'Nyc', 2814, '10121', '212', '40.7509', '-73.9935', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38134, 'Colonial Park', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38135, 'Manhattan', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38136, 'New York', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38137, 'New York City', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38138, 'Ny', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38139, 'Ny City', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38140, 'Nyc', 2814, '10039', '212', '40.82799', '-73.938908', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38141, 'Manhattan', 2814, '10105', '212', '40.7644', '-73.978', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38142, 'New York', 2814, '10105', '212', '40.7644', '-73.978', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38143, 'New York City', 2814, '10105', '212', '40.7644', '-73.978', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38144, 'Ny', 2814, '10105', '212', '40.7644', '-73.978', '2018-11-29 04:57:53', '2018-11-29 04:57:53'),\n(38145, 'Ny City', 2814, '10105', '212', '40.7644', '-73.978', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38146, 'Nyc', 2814, '10105', '212', '40.7644', '-73.978', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38147, 'Manhattan', 2814, '10028', '212', '40.776127', '-73.952597', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38148, 'New York', 2814, '10028', '212', '40.776127', '-73.952597', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38149, 'New York City', 2814, '10028', '212', '40.776127', '-73.952597', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38150, 'Ny', 2814, '10028', '212', '40.776127', '-73.952597', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38151, 'Ny City', 2814, '10028', '212', '40.776127', '-73.952597', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38152, 'Nyc', 2814, '10028', '212', '40.776127', '-73.952597', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38153, 'Ny', 2814, '10174', '212', '40.7519', '-73.9778', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38154, 'Ny City', 2814, '10174', '212', '40.7519', '-73.9778', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38155, 'Business Reply', 2814, '10277', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38156, 'New York', 2814, '10277', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38157, 'Manhattan', 2814, '10278', '212', '40.715642', '-74.004128', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38158, 'New York', 2814, '10278', '212', '40.715642', '-74.004128', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38159, 'New York City', 2814, '10278', '212', '40.715642', '-74.004128', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38160, 'Ny', 2814, '10278', '212', '40.715642', '-74.004128', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38161, 'Ny City', 2814, '10278', '212', '40.715642', '-74.004128', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38162, 'Nyc', 2814, '10278', '212', '40.715642', '-74.004128', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38163, 'Nyc', 2814, '10174', '212', '40.7519', '-73.9778', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38164, 'Manhattan', 2814, '10176', '212', '40.7525', '-73.9792', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38165, 'New York', 2814, '10176', '212', '40.7525', '-73.9792', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38166, 'New York City', 2814, '10176', '212', '40.7525', '-73.9792', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38167, 'Ny', 2814, '10176', '212', '40.7525', '-73.9792', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38168, 'Ny City', 2814, '10176', '212', '40.7525', '-73.9792', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38169, 'Nyc', 2814, '10176', '212', '40.7525', '-73.9792', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38170, 'New York', 2814, '10111', '212', '40.759224', '-73.977762', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38171, 'New York City', 2814, '10111', '212', '40.759224', '-73.977762', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38172, 'Ny', 2814, '10111', '212', '40.759224', '-73.977762', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38173, 'Ny City', 2814, '10111', '212', '40.759224', '-73.977762', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38174, 'Nyc', 2814, '10111', '212', '40.759224', '-73.977762', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38175, 'Manhattan', 2814, '10158', '212', '40.7193', '-73.9759', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38176, 'New York', 2814, '10158', '212', '40.7193', '-73.9759', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38177, 'New York City', 2814, '10158', '212', '40.7193', '-73.9759', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38178, 'Ny', 2814, '10158', '212', '40.7193', '-73.9759', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38179, 'Ny City', 2814, '10158', '212', '40.7193', '-73.9759', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38180, 'Nyc', 2814, '10158', '212', '40.7193', '-73.9759', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38181, 'Business Reply', 2814, '10160', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38182, 'New York', 2814, '10160', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38183, 'Business Reply', 2814, '10126', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38184, 'Franklin D Roosevelt', 2814, '10126', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38185, 'New York', 2814, '10126', '212', '40.7143', '-74.0067', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38186, 'Manhattan', 2814, '10110', '212', '40.7414', '-73.9903', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38187, 'New York', 2814, '10110', '212', '40.7414', '-73.9903', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38188, 'New York City', 2814, '10110', '212', '40.7414', '-73.9903', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38189, 'Ny', 2814, '10110', '212', '40.7414', '-73.9903', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38190, 'Ny City', 2814, '10110', '212', '40.7414', '-73.9903', '2018-11-29 04:57:54', '2018-11-29 04:57:54'),\n(38191, 'Nyc', 2814, '10110', '212', '40.7414', '-73.9903', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38192, 'Manhattan', 2814, '10111', '212', '40.759224', '-73.977762', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38193, 'Manhattan', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38194, 'Manhattanville', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38195, 'New York', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38196, 'New York City', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38197, 'Ny', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38198, 'Ny City', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38199, 'Citibank', 2814, '10043', '212', '40.7143', '-74.0067', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38200, 'New York', 2814, '10043', '212', '40.7143', '-74.0067', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38201, 'New York City', 2814, '10043', '212', '40.7143', '-74.0067', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38202, 'Ny', 2814, '10043', '212', '40.7143', '-74.0067', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38203, 'Ny City', 2814, '10043', '212', '40.7143', '-74.0067', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38204, 'Nyc', 2814, '10043', '212', '40.7143', '-74.0067', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38205, 'Church Street', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38206, 'Manhattan', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38207, 'New York', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38208, 'New York City', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38209, 'Ny', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38210, 'Ny City', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38211, 'Nyc', 2814, '10007', '212', '40.714216', '-74.008168', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38212, 'Nyc', 2814, '10027', '212', '40.812908', '-73.953194', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38213, 'New York City', 2814, '10026', '212', '40.80405', '-73.952833', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38214, 'Ny', 2814, '10026', '212', '40.80405', '-73.952833', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38215, 'Ny City', 2814, '10026', '212', '40.80405', '-73.952833', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38216, 'Nyc', 2814, '10026', '212', '40.80405', '-73.952833', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38217, 'Ny', 2814, '10041', '212', '40.703119', '-74.010022', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38218, 'Ny City', 2814, '10041', '212', '40.703119', '-74.010022', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38219, 'Nyc', 2814, '10041', '212', '40.703119', '-74.010022', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38220, 'New York', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38221, 'New York City', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38222, 'Ny', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38223, 'Ny City', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38224, 'Nyc', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38225, 'Roosevelt Isl', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38226, 'Roosevelt Island', 2814, '10044', '212', '40.761173', '-73.950806', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38227, 'New York', 2814, '10060', '646', '40.7431', '-73.9915', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38228, 'New York City', 2814, '10060', '646', '40.7431', '-73.9915', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38229, 'Ny', 2814, '10060', '646', '40.7431', '-73.9915', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38230, 'Ny City', 2814, '10060', '646', '40.7431', '-73.9915', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38231, 'Nyc', 2814, '10060', '646', '40.7431', '-73.9915', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38232, 'Madison Square', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38233, 'Manhattan', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38234, 'New York', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38235, 'New York City', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38236, 'Ny', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38237, 'Ny City', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:55', '2018-11-29 04:57:55'),\n(38238, 'Nyc', 2814, '10010', '212', '40.738634', '-73.982937', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38239, 'Elmira', 2814, '14902', '607', '42.0898', '-76.8082', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38240, 'Elmira', 2814, '14925', '607', '42.09', '-76.8075', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38241, 'Trumansburg', 2814, '14886', '607', '42.510628', '-76.68294', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38242, 'Troupsburg', 2814, '14885', '607', '42.048458', '-77.560732', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38243, 'Van Etten', 2814, '14889', '607', '42.211127', '-76.602396', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38244, 'Watkins Glen', 2814, '14891', '607', '42.366116', '-76.960029', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38245, 'Ny City', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38246, 'Nyc', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38247, 'Peter Stuyvesant', 2814, '10009', '212', '40.72698', '-73.980115', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38248, 'Woodhull', 2814, '14898', '607', '42.072914', '-77.430358', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38249, 'Wellsville', 2814, '14895', '585', '42.091074', '-77.941625', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38250, 'Waverly', 2814, '14892', '607', '42.060714', '-76.541114', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38251, 'Elmira', 2814, '14901', '607', '42.07487', '-76.727235', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38252, 'Fairview', 2817, '97024', '503', '45.544528', '-122.439432', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38253, 'Interlachen', 2817, '97024', '503', '45.544528', '-122.439432', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38254, 'Wood Village', 2817, '97024', '503', '45.544528', '-122.439432', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38255, 'Moro', 2817, '97039', '541', '45.424924', '-120.573351', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38256, 'Deer Island', 2817, '97054', '503', '45.935575', '-122.923615', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38257, 'Sandy', 2817, '97055', '503', '45.36174', '-122.165869', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38258, 'Monitor', 2817, '97071', '503', '45.140616', '-122.844265', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38259, 'Woodburn', 2817, '97071', '503', '45.140616', '-122.844265', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38260, 'Banks', 2817, '97106', '503', '45.668223', '-123.135393', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38261, 'Bay City', 2817, '97107', '503', '45.573931', '-123.856938', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38262, 'Helvetia', 2817, '97124', '503', '45.590536', '-122.956073', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38263, 'Hillsboro', 2817, '97124', '503', '45.590536', '-122.956073', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38264, 'Orenco', 2817, '97124', '503', '45.590536', '-122.956073', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38265, 'West Union', 2817, '97124', '503', '45.590536', '-122.956073', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38266, 'Cape Meares', 2817, '97141', '503', '45.472916', '-123.639492', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38267, 'Lees Camp', 2817, '97141', '503', '45.472916', '-123.639492', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38268, 'Tillamook', 2817, '97141', '503', '45.472916', '-123.639492', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38269, 'Portland', 2817, '97205', '503', '45.515476', '-122.698767', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38270, 'Portland', 2817, '97206', '503', '45.479927', '-122.600566', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38271, 'Pacific Power', 2817, '97256', '503', '45.5239', '-122.6751', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38272, 'Pacificorp', 2817, '97256', '503', '45.5239', '-122.6751', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38273, 'Portland', 2817, '97256', '503', '45.5239', '-122.6751', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38274, 'Portland', 2817, '97258', '503', '45.4894', '-122.6846', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38275, 'Salem', 2817, '97306', '503', '44.843076', '-123.089824', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38276, 'Keizer', 2817, '97307', '503', '44.9903', '-123.0251', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38277, 'Salem', 2817, '97307', '503', '44.9903', '-123.0251', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38278, 'Noti', 2817, '97461', '541', '44.139453', '-123.514485', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38279, 'Roseburg', 2817, '97470', '541', '43.235227', '-123.415946', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38280, 'Rsbg', 2817, '97470', '541', '43.235227', '-123.415946', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38281, 'Sutherlin', 2817, '97479', '541', '43.415502', '-123.128466', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38282, 'Tiller', 2817, '97484', '541', '43.01182', '-122.636204', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38283, 'Winchester', 2817, '97495', '541', '43.2832', '-123.3479', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38284, 'Medford', 2817, '97504', '541', '42.322754', '-122.793404', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38285, 'O Brien', 2817, '97534', '541', '42.060771', '-123.727682', '2018-11-29 04:57:56', '2018-11-29 04:57:56'),\n(38286, 'Klamath Falls', 2817, '97602', '541', '42.2251', '-121.7796', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38287, 'Crater Lake', 2817, '97604', '541', '42.928318', '-122.125018', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38288, 'Keno', 2817, '97627', '541', '42.452354', '-122.057738', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38289, 'Paisley', 2817, '97636', '541', '42.736035', '-120.640278', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38290, 'Ashwood', 2817, '97711', '541', '44.69112', '-120.654181', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38291, 'Athena', 2817, '97813', '541', '45.888277', '-118.554022', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38292, 'Elgin', 2817, '97827', '541', '45.647214', '-117.915562', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38293, 'Heppner', 2817, '97836', '541', '45.305924', '-119.516275', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38294, 'Richland', 2817, '97870', '541', '44.741164', '-117.26299', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38295, 'Drewsey', 2817, '97904', '541', '43.855006', '-118.591485', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38296, 'Beulah', 2817, '97911', '541', '43.866052', '-117.992656', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38297, 'Jonesboro', 2817, '97911', '541', '43.866052', '-117.992656', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38298, 'Juntura', 2817, '97911', '541', '43.866052', '-117.992656', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38299, 'Westfall', 2817, '97920', '541', '44.003626', '-117.777179', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38300, 'Beaverton', 2817, '97006', '503', '45.522217', '-122.859176', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38301, 'Hillsboro', 2817, '97006', '503', '45.522217', '-122.859176', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38302, 'Aloha', 2817, '97007', '503', '45.446188', '-122.882264', '2018-11-29 04:57:57', '2018-11-29 04:57:57');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(38303, 'Beaverton', 2817, '97007', '503', '45.446188', '-122.882264', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38304, 'Dover', 2817, '97022', '503', '45.348227', '-122.316931', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38305, 'Eagle Creek', 2817, '97022', '503', '45.348227', '-122.316931', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38306, 'Mosier', 2817, '97040', '541', '45.63907', '-121.377141', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38307, 'Boring', 2817, '97089', '503', '45.421672', '-122.439902', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38308, 'Damascus', 2817, '97089', '503', '45.421672', '-122.439902', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38309, 'Happy Valley', 2817, '97089', '503', '45.421672', '-122.439902', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38310, 'Hebo', 2817, '97122', '503', '45.169336', '-123.8123', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38311, 'Cornelius', 2817, '97123', '503', '45.444382', '-122.988927', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38312, 'Hillsboro', 2817, '97123', '503', '45.444382', '-122.988927', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38313, 'Orenco', 2817, '97123', '503', '45.444382', '-122.988927', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38314, 'Scholls', 2817, '97123', '503', '45.444382', '-122.988927', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38315, 'Elsie', 2817, '97138', '503', '45.958152', '-123.676225', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38316, 'Gearhart', 2817, '97138', '503', '45.958152', '-123.676225', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38317, 'Jewell', 2817, '97138', '503', '45.958152', '-123.676225', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38318, 'Seaside', 2817, '97138', '503', '45.958152', '-123.676225', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38319, 'Portland', 2817, '97207', '503', '45.5239', '-122.6751', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38320, 'Portland', 2817, '97208', '503', '45.5239', '-122.6751', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38321, 'Portland', 2817, '97221', '503', '45.498286', '-122.727761', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38322, 'Milwaukie', 2817, '97222', '503', '45.442184', '-122.61861', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38323, 'Oak Grove', 2817, '97222', '503', '45.442184', '-122.61861', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38324, 'Portland', 2817, '97222', '503', '45.442184', '-122.61861', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38325, 'Portland', 2817, '97238', '503', '45.5239', '-122.6751', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38326, 'Portland', 2817, '97239', '503', '45.48798', '-122.692654', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38327, 'Cedar Mill', 2817, '97291', '503', '45.5251', '-122.8097', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38328, 'Portland', 2817, '97291', '503', '45.5251', '-122.8097', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38329, 'Salem', 2817, '97308', '503', '44.9431', '-123.0336', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38330, 'Albany', 2817, '97321', '541', '44.633389', '-123.139563', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38331, 'Albany', 2817, '97322', '541', '44.638213', '-123.018717', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38332, 'Alsea', 2817, '97324', '541', '44.329998', '-123.6207', '2018-11-29 04:57:57', '2018-11-29 04:57:57'),\n(38333, 'Dallas', 2817, '97338', '503', '44.923122', '-123.351385', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38334, 'Logsden', 2817, '97357', '541', '44.767846', '-123.795384', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38335, 'Scio', 2817, '97374', '503', '44.676874', '-122.735124', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38336, 'Gleneden Bch', 2817, '97388', '541', '44.88', '-124.0218', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38337, 'Gleneden Beach', 2817, '97388', '541', '44.88', '-124.0218', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38338, 'Agness', 2817, '97406', '541', '42.612638', '-124.008967', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38339, 'Cottage Grove', 2817, '97424', '541', '43.694791', '-122.976079', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38340, 'Curtin', 2817, '97424', '541', '43.694791', '-122.976079', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38341, 'Saginaw', 2817, '97424', '541', '43.694791', '-122.976079', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38342, 'Walden', 2817, '97424', '541', '43.694791', '-122.976079', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38343, 'Eugene', 2817, '97440', '541', '44.0525', '-123.0858', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38344, 'Gardiner', 2817, '97441', '541', '43.76814', '-124.147888', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38345, 'Myrtle Creek', 2817, '97457', '541', '43.062105', '-123.190423', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38346, 'Leaburg', 2817, '97489', '541', '44.139812', '-122.642413', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38347, 'Walterville', 2817, '97489', '541', '44.139812', '-122.642413', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38348, 'Christmas Valley', 2817, '97641', '541', '43.251636', '-120.595978', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38349, 'Christmas Vly', 2817, '97641', '541', '43.251636', '-120.595978', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38350, 'Bend', 2817, '97707', '541', '43.849955', '-121.488014', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38351, 'Sunriver', 2817, '97707', '541', '43.849955', '-121.488014', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38352, 'Bend', 2817, '97708', '541', '44.0586', '-121.3142', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38353, 'Bend', 2817, '97709', '541', '44.0586', '-121.3142', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38354, 'E Lake', 2817, '97739', '541', '43.913276', '-121.367736', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38355, 'East Lake', 2817, '97739', '541', '43.913276', '-121.367736', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38356, 'La Pine', 2817, '97739', '541', '43.913276', '-121.367736', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38357, 'Riley', 2817, '97758', '541', '43.242276', '-119.5669', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38358, 'Black Butte Ranch', 2817, '97759', '541', '44.291256', '-121.568671', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38359, 'Blk Btte Rnch', 2817, '97759', '541', '44.291256', '-121.568671', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38360, 'Sisters', 2817, '97759', '541', '44.291256', '-121.568671', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38361, 'Tollgate', 2817, '97759', '541', '44.291256', '-121.568671', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38362, 'Echo', 2817, '97826', '541', '45.651496', '-119.196861', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38363, 'Oxbow', 2817, '97840', '541', '44.94532', '-116.92426', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38364, 'Ione', 2817, '97843', '541', '45.511562', '-119.720602', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38365, 'Spray', 2817, '97874', '541', '44.916251', '-119.796546', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38366, 'Central Point', 2817, '97502', '541', '42.419502', '-122.933637', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38367, 'Medford', 2817, '97502', '541', '42.419502', '-122.933637', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38368, 'Grants Pass', 2817, '97543', '541', '42.383412', '-123.618024', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38369, 'Wilderville', 2817, '97543', '541', '42.383412', '-123.618024', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38370, 'Adel', 2817, '97620', '541', '42.249128', '-119.807363', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38371, 'Silver Lake', 2817, '97638', '541', '43.278986', '-120.622033', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38372, 'Bend', 2817, '97702', '541', '43.972165', '-121.256474', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38373, 'Burns', 2817, '97720', '541', '43.52854', '-118.760002', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38374, 'Lawen', 2817, '97720', '541', '43.52854', '-118.760002', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38375, 'Frenchglen', 2817, '97736', '541', '42.719965', '-119.11817', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38376, 'Hines', 2817, '97738', '541', '43.319431', '-119.368415', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38377, 'Kah Nee Ta', 2817, '97761', '541', '44.697021', '-121.453939', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38378, 'Kahneeta', 2817, '97761', '541', '44.697021', '-121.453939', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38379, 'Warm Springs', 2817, '97761', '541', '44.697021', '-121.453939', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38380, 'Canyon City', 2817, '97820', '541', '44.383508', '-118.948738', '2018-11-29 04:57:58', '2018-11-29 04:57:58'),\n(38381, 'John Day', 2817, '97845', '541', '44.446416', '-119.213204', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38382, 'Arlington', 2817, '97861', '541', '45.7169', '-120.1997', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38383, 'Mikkalo', 2817, '97861', '541', '45.7169', '-120.1997', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38384, 'Granite', 2817, '97877', '541', '44.726458', '-118.333832', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38385, 'Greenhorn', 2817, '97877', '541', '44.726458', '-118.333832', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38386, 'Sumpter', 2817, '97877', '541', '44.726458', '-118.333832', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38387, 'Weston', 2817, '97886', '541', '45.798268', '-118.2871', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38388, 'Vernonia', 2817, '97064', '503', '45.888422', '-123.173138', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38389, 'Beaver', 2817, '97112', '503', '45.220181', '-123.735282', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38390, 'Cloverdale', 2817, '97112', '503', '45.220181', '-123.735282', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38391, 'Dayton', 2817, '97114', '503', '45.209906', '-123.076351', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38392, 'Grand Island', 2817, '97114', '503', '45.209906', '-123.076351', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38393, 'Dundee', 2817, '97115', '503', '45.265494', '-123.021414', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38394, 'Forest Grove', 2817, '97116', '503', '45.596046', '-123.272167', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38395, 'Glenwood', 2817, '97116', '503', '45.596046', '-123.272167', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38396, 'Verboort', 2817, '97116', '503', '45.596046', '-123.272167', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38397, 'Mohler', 2817, '97131', '503', '45.669273', '-123.680554', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38398, 'Neahkahnie', 2817, '97131', '503', '45.669273', '-123.680554', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38399, 'Nehalem', 2817, '97131', '503', '45.669273', '-123.680554', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38400, 'Wheeler', 2817, '97147', '503', '45.68351', '-123.88838', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38401, 'Neskowin', 2817, '97149', '503', '45.091849', '-123.868149', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38402, 'Portland', 2817, '97214', '503', '45.513936', '-122.644123', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38403, 'Portland', 2817, '97216', '503', '45.51342', '-122.558336', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38404, 'Cedar Mill', 2817, '97229', '503', '45.554376', '-122.811306', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38405, 'Forest Heights', 2817, '97229', '503', '45.554376', '-122.811306', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38406, 'Portland', 2817, '97229', '503', '45.554376', '-122.811306', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38407, 'Rock Creek', 2817, '97229', '503', '45.554376', '-122.811306', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38408, 'Portland', 2817, '97232', '503', '45.529642', '-122.643912', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38409, 'Portland', 2817, '97281', '503', '45.4667', '-122.7484', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38410, 'Tigard', 2817, '97281', '503', '45.4667', '-122.7484', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38411, 'Portland', 2817, '97296', '503', '45.5239', '-122.6751', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38412, 'Adair Village', 2817, '97330', '541', '44.642031', '-123.275878', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38413, 'Corvallis', 2817, '97330', '541', '44.642031', '-123.275878', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38414, 'Corvallis', 2817, '97333', '541', '44.475074', '-123.329056', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38415, 'Grand Ronde', 2817, '97347', '503', '45.09744', '-123.675624', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38416, 'Agate Beach', 2817, '97365', '541', '44.676773', '-124.014662', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38417, 'Newport', 2817, '97365', '541', '44.676773', '-124.014662', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38418, 'Stayton', 2817, '97383', '503', '44.801652', '-122.738706', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38419, 'Blue River', 2817, '97413', '541', '44.285973', '-122.109019', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38420, 'Ckenzie Bridge', 2817, '97413', '541', '44.285973', '-122.109019', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38421, 'Mc Kenzie Brg', 2817, '97413', '541', '44.285973', '-122.109019', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38422, 'Mckenzie Bridge', 2817, '97413', '541', '44.285973', '-122.109019', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38423, 'Broadbent', 2817, '97414', '541', '43.00247', '-124.128335', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38424, 'Dillard', 2817, '97432', '541', '43.1049', '-123.4264', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38425, 'Idleyld Park', 2817, '97447', '541', '43.294312', '-122.527573', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38426, 'Oakridge', 2817, '97463', '541', '43.687086', '-122.234162', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38427, 'Ophir', 2817, '97464', '541', '42.5633', '-124.3842', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38428, 'Port Orford', 2817, '97465', '541', '42.73413', '-124.379721', '2018-11-29 04:57:59', '2018-11-29 04:57:59'),\n(38429, 'Powers', 2817, '97466', '541', '42.825339', '-124.009532', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38430, 'Reedsport', 2817, '97467', '541', '43.695735', '-123.841947', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38431, 'Win Bay', 2817, '97467', '541', '43.695735', '-123.841947', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38432, 'Winchester Bay', 2817, '97467', '541', '43.695735', '-123.841947', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38433, 'Winchestr Bay', 2817, '97467', '541', '43.695735', '-123.841947', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38434, 'Swisshome', 2817, '97480', '541', '44.128767', '-123.811722', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38435, 'Yoncalla', 2817, '97499', '541', '43.576998', '-123.254845', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38436, 'Merrill', 2817, '97633', '541', '42.045244', '-121.570542', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38437, 'Crescent', 2817, '97733', '541', '43.486217', '-121.876514', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38438, 'Crescent Lake', 2817, '97733', '541', '43.486217', '-121.876514', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38439, 'Culver', 2817, '97734', '541', '44.505832', '-121.211518', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38440, 'Mitchell', 2817, '97750', '541', '44.601734', '-120.020006', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38441, 'Kimberly', 2817, '97848', '541', '44.69649', '-119.580758', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38442, 'Island City', 2817, '97850', '541', '45.221116', '-118.263354', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38443, 'La Grande', 2817, '97850', '541', '45.221116', '-118.263354', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38444, 'Mount Vernon', 2817, '97865', '541', '44.444227', '-119.197476', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38445, 'Mt Vernon', 2817, '97865', '541', '44.444227', '-119.197476', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38446, 'Pilot Rock', 2817, '97868', '541', '45.279948', '-118.841174', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38447, 'Vale', 2817, '97918', '541', '44.081128', '-117.265085', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38448, 'Willowcreek', 2817, '97918', '541', '44.081128', '-117.265085', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38449, 'Damascus', 2817, '97030', '503', '45.508212', '-122.430306', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38450, 'Gresham', 2817, '97030', '503', '45.508212', '-122.430306', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38451, 'Hubbard', 2817, '97032', '503', '45.178848', '-122.793374', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38452, 'Tygh Valley', 2817, '97063', '541', '45.202065', '-121.373427', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38453, 'Wamic', 2817, '97063', '541', '45.202065', '-121.373427', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38454, 'Cascade Locks', 2817, '97014', '541', '45.60958', '-121.842286', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38455, 'Dodson', 2817, '97014', '541', '45.60958', '-121.842286', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38456, 'Carver', 2817, '97015', '503', '45.411384', '-122.527274', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38457, 'Clackamas', 2817, '97015', '503', '45.411384', '-122.527274', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38458, 'Damascus', 2817, '97015', '503', '45.411384', '-122.527274', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38459, 'Happy Valley', 2817, '97015', '503', '45.411384', '-122.527274', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38460, 'Hood River', 2817, '97031', '541', '45.563575', '-121.660007', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38461, 'Prescott', 2817, '97048', '503', '46.053228', '-122.97133', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38462, 'Rainier', 2817, '97048', '503', '46.053228', '-122.97133', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38463, 'Tualatin', 2817, '97062', '503', '45.365315', '-122.760192', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38464, 'Newberg', 2817, '97132', '503', '45.322413', '-122.982907', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38465, 'Warrenton', 2817, '97146', '503', '46.125806', '-123.910204', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38466, 'Portland', 2817, '97213', '503', '45.537794', '-122.600806', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38467, 'Portland', 2817, '97215', '503', '45.513957', '-122.599404', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38468, 'Parkrose', 2817, '97230', '503', '45.562444', '-122.501725', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38469, 'Portland', 2817, '97230', '503', '45.562444', '-122.501725', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38470, 'Portland', 2817, '97233', '503', '45.513755', '-122.496404', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38471, 'Rockwood', 2817, '97233', '503', '45.513755', '-122.496404', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38472, 'Portland', 2817, '97266', '503', '45.481702', '-122.557409', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38473, 'Portland', 2817, '97282', '503', '45.5239', '-122.6751', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38474, 'Portland', 2817, '97283', '503', '45.5239', '-122.6751', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38475, 'Corvallis', 2817, '97331', '541', '44.564406', '-123.280036', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38476, 'Oregon State Univ', 2817, '97331', '541', '44.564406', '-123.280036', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38477, 'Gates', 2817, '97346', '503', '44.733616', '-122.277088', '2018-11-29 04:58:00', '2018-11-29 04:58:00'),\n(38478, 'Halsey', 2817, '97348', '541', '44.404626', '-123.126678', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38479, 'Neotsu', 2817, '97364', '541', '44.998473', '-123.986543', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38480, 'Newport', 2817, '97366', '541', '44.57332', '-124.051501', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38481, 'South Beach', 2817, '97366', '541', '44.57332', '-124.051501', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38482, 'Siletz', 2817, '97380', '541', '44.805567', '-123.88003', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38483, 'Silverton', 2817, '97381', '503', '44.945764', '-122.643534', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38484, 'Camas Valley', 2817, '97416', '541', '42.997249', '-123.694292', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38485, 'Junction City', 2817, '97448', '541', '44.218883', '-123.290674', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38486, 'Langlois', 2817, '97450', '541', '42.906541', '-124.37446', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38487, 'Tenmile', 2817, '97481', '541', '43.123622', '-123.557561', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38488, 'Sunnyvalley', 2817, '97497', '541', '42.649538', '-123.384326', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38489, 'Wolf Creek', 2817, '97497', '541', '42.649538', '-123.384326', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38490, 'Yachats', 2817, '97498', '541', '44.322927', '-124.030834', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38491, 'Cave Junction', 2817, '97531', '541', '42.215102', '-123.681437', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38492, 'Kerby', 2817, '97531', '541', '42.215102', '-123.681437', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38493, 'Colton', 2817, '97017', '503', '45.147848', '-122.366036', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38494, 'Government Camp', 2817, '97028', '503', '45.289119', '-121.79728', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38495, 'Government Cp', 2817, '97028', '503', '45.289119', '-121.79728', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38496, 'Timberline Lodge', 2817, '97028', '503', '45.289119', '-121.79728', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38497, 'Timbrline Ldg', 2817, '97028', '503', '45.289119', '-121.79728', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38498, 'Saint Helens', 2817, '97051', '503', '45.869878', '-122.892258', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38499, 'St Helens', 2817, '97051', '503', '45.869878', '-122.892258', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38500, 'Warren', 2817, '97053', '503', '45.823666', '-122.872447', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38501, 'Celilo', 2817, '97058', '541', '45.554246', '-121.187003', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38502, 'Rowena', 2817, '97058', '541', '45.554246', '-121.187003', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38503, 'The Dalles', 2817, '97058', '541', '45.554246', '-121.187003', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38504, 'Beaverton', 2817, '97076', '503', '45.4875', '-122.8026', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38505, 'Gales Creek', 2817, '97117', '503', '45.605867', '-123.288483', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38506, 'Gaston', 2817, '97119', '503', '45.47796', '-123.270508', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38507, 'North Plains', 2817, '97133', '503', '45.680367', '-123.038905', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38508, 'Timber', 2817, '97144', '503', '45.730163', '-123.332264', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38509, 'Portland', 2817, '97201', '503', '45.507416', '-122.689838', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38510, 'Portland', 2817, '97203', '503', '45.611119', '-122.741338', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38511, 'Portland', 2817, '97219', '503', '45.451024', '-122.695013', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38512, 'Jennings Lodge', 2817, '97267', '503', '45.401784', '-122.614626', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38513, 'Johnson City', 2817, '97267', '503', '45.401784', '-122.614626', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38514, 'Milwaukie', 2817, '97267', '503', '45.401784', '-122.614626', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38515, 'Oak Grove', 2817, '97267', '503', '45.401784', '-122.614626', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38516, 'Oak Lodge', 2817, '97267', '503', '45.401784', '-122.614626', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38517, 'Portland', 2817, '97267', '503', '45.401784', '-122.614626', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38518, 'Milwaukie', 2817, '97269', '503', '45.4465', '-122.6382', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38519, 'Portland', 2817, '97269', '503', '45.4465', '-122.6382', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38520, 'Keizer', 2817, '97303', '503', '45.026101', '-123.017464', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38521, 'Salem', 2817, '97303', '503', '45.026101', '-123.017464', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38522, 'Salem', 2817, '97312', '503', '44.9431', '-123.0336', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38523, 'State Accident Ins', 2817, '97312', '503', '44.9431', '-123.0336', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38524, 'Detroit', 2817, '97342', '503', '44.790774', '-122.07136', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38525, 'Falls City', 2817, '97344', '503', '44.858934', '-123.572439', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38526, 'Independence', 2817, '97351', '503', '44.826885', '-123.160189', '2018-11-29 04:58:01', '2018-11-29 04:58:01'),\n(38527, 'Mill City', 2817, '97360', '503', '44.713541', '-122.437473', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38528, 'Otter Rock', 2817, '97369', '541', '44.7473', '-124.0605', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38529, 'Rickreall', 2817, '97371', '503', '44.995524', '-123.200004', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38530, 'Willamina', 2817, '97396', '503', '45.09774', '-123.557782', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38531, 'Blachly', 2817, '97412', '541', '44.20499', '-123.555878', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38532, 'Eugene', 2817, '97412', '541', '44.20499', '-123.555878', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38533, 'Triangle Lake', 2817, '97412', '541', '44.20499', '-123.555878', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38534, 'Canyonville', 2817, '97417', '541', '42.936623', '-123.234834', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38535, 'Gold Beach', 2817, '97444', '541', '42.488112', '-124.354073', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38536, 'Harrisburg', 2817, '97446', '541', '44.274696', '-123.087933', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38537, 'Vaughn', 2817, '97487', '541', '43.95919', '-123.444396', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38538, 'Veneta', 2817, '97487', '541', '43.95919', '-123.444396', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38539, 'Wilbur', 2817, '97494', '541', '43.3188', '-123.3405', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38540, 'Camas Valley', 2817, '97496', '541', '43.036026', '-123.50608', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38541, 'Winston', 2817, '97496', '541', '43.036026', '-123.50608', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38542, 'Grants Pass', 2817, '97526', '541', '42.60122', '-123.590778', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38543, 'Hugo', 2817, '97526', '541', '42.60122', '-123.590778', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38544, 'Williams', 2817, '97544', '541', '42.169014', '-123.326913', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38545, 'Beatty', 2817, '97621', '541', '42.424234', '-121.185978', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38546, 'Plush', 2817, '97637', '541', '42.622839', '-119.920888', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38547, 'Brothers', 2817, '97712', '541', '43.558094', '-120.206613', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38548, 'Princeton', 2817, '97721', '541', '42.722053', '-118.660469', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38549, 'Powell Butte', 2817, '97753', '541', '44.237922', '-121.000191', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38550, 'Hereford', 2817, '97837', '541', '44.491917', '-117.955638', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38551, 'Joseph', 2817, '97846', '541', '45.360883', '-117.047794', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38552, 'Prairie City', 2817, '97869', '541', '44.518627', '-118.592871', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38553, 'Durkee', 2817, '97905', '541', '44.599164', '-117.511471', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38554, 'Weatherby', 2817, '97905', '541', '44.599164', '-117.511471', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38555, 'Antelope', 2817, '97001', '541', '44.922938', '-120.731174', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38556, 'Clarno', 2817, '97001', '541', '44.922938', '-120.731174', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38557, 'Beaverton', 2817, '97008', '503', '45.457517', '-122.797656', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38558, 'Corbett', 2817, '97019', '503', '45.539214', '-122.0795', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38559, 'Gervais', 2817, '97026', '503', '45.115162', '-122.938085', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38560, 'Saint Louis', 2817, '97026', '503', '45.115162', '-122.938085', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38561, 'Lake Grove', 2817, '97035', '503', '45.411379', '-122.724075', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38562, 'Lake Oswego', 2817, '97035', '503', '45.411379', '-122.724075', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38563, 'Mountain Park', 2817, '97035', '503', '45.411379', '-122.724075', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38564, 'Odell', 2817, '97044', '541', '45.572018', '-121.4812', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38565, 'Welches', 2817, '97067', '503', '45.267731', '-121.929319', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38566, 'Wemme', 2817, '97067', '503', '45.267731', '-121.929319', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38567, 'Astoria', 2817, '97103', '503', '46.110334', '-123.679913', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38568, 'Tongue Point', 2817, '97103', '503', '46.110334', '-123.679913', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38569, 'Beaver', 2817, '97108', '503', '45.288776', '-123.728607', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38570, 'Cannon Beach', 2817, '97110', '503', '45.891347', '-123.954022', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38571, 'Aurora', 2817, '97002', '503', '45.238932', '-122.805608', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38572, 'Butteville', 2817, '97002', '503', '45.238932', '-122.805608', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38573, 'Brightwood', 2817, '97011', '503', '45.336254', '-121.994138', '2018-11-29 04:58:02', '2018-11-29 04:58:02'),\n(38574, 'Birkenfeld', 2817, '97016', '503', '46.093741', '-123.541689', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38575, 'Clatskanie', 2817, '97016', '503', '46.093741', '-123.541689', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38576, 'Mist', 2817, '97016', '503', '46.093741', '-123.541689', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38577, 'Westport', 2817, '97016', '503', '46.093741', '-123.541689', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38578, 'Columbia City', 2817, '97018', '503', '45.895039', '-122.814518', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38579, 'Marylhurst', 2817, '97036', '503', '45.3962', '-122.6491', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38580, 'Oregon City', 2817, '97045', '503', '45.323633', '-122.523197', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38581, 'Redland', 2817, '97045', '503', '45.323633', '-122.523197', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38582, 'Rufus', 2817, '97050', '541', '45.660861', '-120.686734', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38583, 'Beaverton', 2817, '97075', '503', '45.4875', '-122.8026', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38584, 'Carlton', 2817, '97111', '503', '45.293302', '-123.225016', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38585, 'Garibaldi', 2817, '97118', '503', '45.563674', '-123.908838', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38586, 'Lafayette', 2817, '97127', '503', '45.246351', '-123.111201', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38587, 'Maywood Park', 2817, '97220', '503', '45.55191', '-122.555333', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38588, 'Maywood Pk', 2817, '97220', '503', '45.55191', '-122.555333', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38589, 'Parkrose', 2817, '97220', '503', '45.55191', '-122.555333', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38590, 'Portland', 2817, '97220', '503', '45.55191', '-122.555333', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38591, 'Portland', 2817, '97225', '503', '45.500519', '-122.779164', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38592, 'West Slope', 2817, '97225', '503', '45.500519', '-122.779164', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38593, 'Portland', 2817, '97227', '503', '45.540279', '-122.676962', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38594, 'Portland', 2817, '97236', '503', '45.482627', '-122.502278', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38595, 'Portland', 2817, '97286', '503', '45.5239', '-122.6751', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38596, 'Portland', 2817, '97293', '503', '45.5239', '-122.6751', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38597, 'Salem', 2817, '97304', '503', '45.027948', '-123.100224', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38598, 'Eddyville', 2817, '97343', '541', '44.562152', '-123.736042', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38599, 'Foster', 2817, '97345', '541', '44.43911', '-122.516924', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38600, 'Jefferson', 2817, '97352', '541', '44.749038', '-123.025792', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38601, 'Otis', 2817, '97368', '541', '45.008201', '-123.907249', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38602, 'Philomath', 2817, '97370', '541', '44.596134', '-123.458725', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38603, 'Shedd', 2817, '97377', '541', '44.453062', '-123.104215', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38604, 'Eugene', 2817, '97402', '541', '44.028103', '-123.248479', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38605, 'Alvadore', 2817, '97409', '541', '44.1269', '-123.2609', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38606, 'Elkton', 2817, '97436', '541', '43.653765', '-123.593049', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38607, 'Lowell', 2817, '97452', '541', '43.873036', '-122.702248', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38608, 'Pine Grove', 2817, '97037', '541', '45.042993', '-121.397418', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38609, 'Liberal', 2817, '97038', '503', '45.04318', '-122.45295', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38610, 'Molalla', 2817, '97038', '503', '45.04318', '-122.45295', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38611, 'Scappoose', 2817, '97056', '503', '45.799642', '-122.973841', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38612, 'Shaniko', 2817, '97057', '541', '45.08028', '-120.75966', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38613, 'Hammond', 2817, '97121', '503', '46.209481', '-123.96682', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38614, 'Sherwood', 2817, '97140', '503', '45.359444', '-122.864139', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38615, 'Portland', 2817, '97204', '503', '45.518154', '-122.674155', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38616, 'Portland', 2817, '97223', '503', '45.446863', '-122.795568', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38617, 'Tigard', 2817, '97223', '503', '45.446863', '-122.795568', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38618, 'Durham', 2817, '97224', '503', '45.405302', '-122.798574', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38619, 'King City', 2817, '97224', '503', '45.405302', '-122.798574', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38620, 'Portland', 2817, '97224', '503', '45.405302', '-122.798574', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38621, 'Tigard', 2817, '97224', '503', '45.405302', '-122.798574', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38622, 'Portland', 2817, '97240', '503', '45.5239', '-122.6751', '2018-11-29 04:58:03', '2018-11-29 04:58:03'),\n(38623, 'Portland', 2817, '97290', '503', '45.5239', '-122.6751', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38624, 'Brooks', 2817, '97305', '503', '45.022994', '-122.913816', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38625, 'Salem', 2817, '97305', '503', '45.022994', '-122.913816', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38626, 'Aumsville', 2817, '97325', '503', '44.819948', '-122.86428', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38627, 'West Stayton', 2817, '97325', '503', '44.819948', '-122.86428', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38628, 'Corvallis', 2817, '97339', '541', '44.5649', '-123.2608', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38629, 'Lebanon', 2817, '97355', '541', '44.512797', '-122.786305', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38630, 'Lyons', 2817, '97358', '503', '44.792524', '-122.507821', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38631, 'Saint Benedict', 2817, '97373', '503', '45.0489', '-122.7594', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38632, 'St Benedict', 2817, '97373', '503', '45.0489', '-122.7594', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38633, 'Scotts Mills', 2817, '97375', '503', '44.981768', '-122.583976', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38634, 'Tidewater', 2817, '97390', '541', '44.340764', '-123.854613', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38635, 'Fall Creek', 2817, '97438', '541', '43.941525', '-122.691061', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38636, 'Jasper', 2817, '97438', '541', '43.941525', '-122.691061', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38637, 'Eugene', 2817, '97455', '541', '43.943783', '-122.909555', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38638, 'P Hill', 2817, '97455', '541', '43.943783', '-122.909555', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38639, 'Pleasant Hill', 2817, '97455', '541', '43.943783', '-122.909555', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38640, 'Springfield', 2817, '97475', '541', '0', '0', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38641, 'Finn Rock', 2817, '97488', '541', '44.156351', '-122.453054', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38642, 'Vida', 2817, '97488', '541', '44.156351', '-122.453054', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38643, 'Wedderburn', 2817, '97491', '541', '42.4295', '-124.4161', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38644, 'Butte Falls', 2817, '97522', '541', '42.563607', '-122.453005', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38645, 'Gold Hill', 2817, '97525', '541', '42.436305', '-123.0929', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38646, 'Shady Cove', 2817, '97539', '541', '42.599886', '-122.758741', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38647, 'Summer Lake', 2817, '97640', '541', '42.916816', '-121.136606', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38648, 'Diamond', 2817, '97722', '541', '43.5866', '-119.0531', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38649, 'Condon', 2817, '97823', '541', '45.271031', '-120.158364', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38650, 'Lonerock', 2817, '97823', '541', '45.271031', '-120.158364', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38651, 'Cove', 2817, '97824', '541', '45.348512', '-117.837438', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38652, 'Dayville', 2817, '97825', '541', '44.481779', '-119.517669', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38653, 'Lexington', 2817, '97839', '541', '45.5295', '-119.657113', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38654, 'Imbler', 2817, '97841', '541', '45.449996', '-117.849647', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38655, 'Imnaha', 2817, '97842', '541', '45.538276', '-116.864308', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38656, 'Meacham', 2817, '97859', '541', '45.526794', '-118.429334', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38657, 'Seneca', 2817, '97873', '541', '44.151948', '-119.208002', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38658, 'Jamieson', 2817, '97909', '541', '44.189254', '-117.442785', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38659, 'Mcminnville', 2817, '97128', '503', '45.183172', '-123.26356', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38660, 'Pacific City', 2817, '97135', '503', '45.198172', '-123.949384', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38661, 'Portland', 2817, '97212', '503', '45.544168', '-122.64307', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38662, 'Portland', 2817, '97242', '503', '45.5239', '-122.6751', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38663, 'Portland', 2817, '97292', '503', '45.5239', '-122.6751', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38664, 'Portland', 2817, '97294', '503', '45.5239', '-122.6751', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38665, 'Salem', 2817, '97301', '503', '44.958602', '-123.002551', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38666, 'Salem', 2817, '97310', '503', '44.9394', '-123.0298', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38667, 'State Government', 2817, '97310', '503', '44.9394', '-123.0298', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38668, 'Beavercreek', 2817, '97004', '503', '45.245566', '-122.461277', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38669, 'Aloha', 2817, '97006', '503', '45.522217', '-122.859176', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38670, 'Boring', 2817, '97009', '503', '45.416566', '-122.337912', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38671, 'Damascus', 2817, '97009', '503', '45.416566', '-122.337912', '2018-11-29 04:58:04', '2018-11-29 04:58:04'),\n(38672, 'Lake Grove', 2817, '97034', '503', '45.410836', '-122.679536', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38673, 'Lake Oswego', 2817, '97034', '503', '45.410836', '-122.679536', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38674, 'Oswego', 2817, '97034', '503', '45.410836', '-122.679536', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38675, 'Rivergrove', 2817, '97034', '503', '45.410836', '-122.679536', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38676, 'W Linn', 2817, '97068', '503', '45.341183', '-122.662403', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38677, 'Wankers Corners', 2817, '97068', '503', '45.341183', '-122.662403', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38678, 'West Linn', 2817, '97068', '503', '45.341183', '-122.662403', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38679, 'Willamette', 2817, '97068', '503', '45.341183', '-122.662403', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38680, 'Charbonneau', 2817, '97070', '503', '45.3085', '-122.77941', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38681, 'Wilsonville', 2817, '97070', '503', '45.3085', '-122.77941', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38682, 'Beaverton', 2817, '97077', '503', '45.4875', '-122.8026', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38683, 'Tektronix', 2817, '97077', '503', '45.4875', '-122.8026', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38684, 'Banks', 2817, '97109', '503', '45.731896', '-123.211972', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38685, 'Buxton', 2817, '97109', '503', '45.731896', '-123.211972', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38686, 'Tolovana Park', 2817, '97145', '503', '45.881328', '-123.949798', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38687, 'Portland', 2817, '97202', '503', '45.480312', '-122.645115', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38688, 'Portland', 2817, '97211', '503', '45.577318', '-122.641624', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38689, 'Oak Grove', 2817, '97268', '503', '45.4166', '-122.6386', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38690, 'Portland', 2817, '97268', '503', '45.4166', '-122.6386', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38691, 'Brownsville', 2817, '97327', '541', '44.336986', '-122.940276', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38692, 'Sweet Home', 2817, '97386', '541', '44.33843', '-122.615535', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38693, 'Charleston', 2817, '97420', '541', '43.359572', '-124.13164', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38694, 'Coos Bay', 2817, '97420', '541', '43.359572', '-124.13164', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38695, 'Coos Head Naval Facility', 2817, '97420', '541', '43.359572', '-124.13164', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38696, 'Eastside', 2817, '97420', '541', '43.359572', '-124.13164', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38697, 'Days Creek', 2817, '97429', '541', '42.997361', '-123.049665', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38698, 'Spfd', 2817, '97477', '541', '44.057032', '-123.006387', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38699, 'Spfld', 2817, '97477', '541', '44.057032', '-123.006387', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38700, 'Springfield', 2817, '97477', '541', '44.057032', '-123.006387', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38701, 'Westlake', 2817, '97493', '541', '43.922344', '-124.023086', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38702, 'Emeigh', 2818, '15738', '814', '40.6949', '-78.7874', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38703, 'Belsano', 2818, '15922', '814', '40.5195', '-78.8717', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38704, 'Van Meter', 2818, '15479', '724', '40.156446', '-79.728271', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38705, 'Vanderbilt', 2818, '15486', '724', '40.031099', '-79.703548', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38706, 'Waltersburg', 2818, '15488', '724', '39.977315', '-79.745662', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38707, 'Hidden Valley', 2818, '15502', '814', '40.0083', '-79.0802', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38708, 'Hyndman', 2818, '15545', '814', '39.80752', '-78.798154', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38709, 'Meyersdale', 2818, '15552', '814', '39.809831', '-79.004635', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38710, 'Myersdale', 2818, '15552', '814', '39.809831', '-79.004635', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38711, 'Sipesville', 2818, '15561', '814', '40.0994', '-79.0914', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38712, 'Harrison City', 2818, '15636', '724', '40.36564', '-79.653798', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38713, 'Heilwood', 2818, '15745', '814', '40.626878', '-78.921829', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38714, 'Vestaburg', 2818, '15368', '724', '40.01409', '-79.985638', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38715, 'Allison', 2818, '15413', '724', '39.98426', '-79.87139', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38716, 'Cardale', 2818, '15420', '724', '39.957234', '-79.867935', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38717, 'Daisytown', 2818, '15427', '724', '40.06884', '-79.972218', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38718, 'Hopwood', 2818, '15445', '724', '39.86597', '-79.651606', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38719, 'Leckrone', 2818, '15454', '724', '39.868144', '-79.864131', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38720, 'Merrittstown', 2818, '15463', '724', '39.96135', '-79.86447', '2018-11-29 04:58:05', '2018-11-29 04:58:05'),\n(38721, 'New Salem', 2818, '15468', '724', '39.943545', '-79.849554', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38722, 'Smithton', 2818, '15479', '724', '40.156446', '-79.728271', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38723, 'National City Bank', 2818, '15268', '412', '40.4409', '-79.9963', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38724, 'Pittsburgh', 2818, '15268', '412', '40.4409', '-79.9963', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38725, 'Eastern Area', 2818, '15277', '412', '40.4409', '-79.9963', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38726, 'Pittsburgh', 2818, '15277', '412', '40.4409', '-79.9963', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38727, 'Carmichaels', 2818, '15320', '724', '39.865194', '-80.010376', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38728, 'Fairdale', 2818, '15320', '724', '39.865194', '-80.010376', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38729, 'Dilliner', 2818, '15327', '724', '39.755346', '-79.974691', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38730, 'Gastonville', 2818, '15336', '724', '40.2573', '-79.9962', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38731, 'Avalon', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38732, 'Bellevue', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38733, 'Bellvue', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38734, 'Ben Avon', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38735, 'Ben Avon Heights', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38736, 'Emsworth', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(38737, 'Pgh', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38738, 'Pitt', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38739, 'Pittsburgh', 2818, '15202', '412', '40.50683', '-80.077026', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38740, 'Baldwin', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38741, 'Baldwin Township', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38742, 'Bra# 52', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38743, 'Castl Shannon', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38744, 'Castle Shann', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38745, 'Castle Shannon', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38746, 'Pgh', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38747, 'Pitt', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38748, 'Pittsburgh', 2818, '15234', '412', '40.370948', '-80.022066', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38749, 'Pgh', 2818, '15236', '412', '40.349776', '-79.976521', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38750, 'Pitt', 2818, '15236', '412', '40.349776', '-79.976521', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38751, 'Pittsburgh', 2818, '15236', '412', '40.349776', '-79.976521', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38752, 'Pleasant Hills', 2818, '15236', '412', '40.349776', '-79.976521', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38753, 'Pleasant Hls', 2818, '15236', '412', '40.349776', '-79.976521', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38754, 'West Mifflin', 2818, '15236', '412', '40.349776', '-79.976521', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38755, 'Mellon Bank', 2818, '15252', '412', '40.4409', '-79.9963', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38756, 'Pittsburgh', 2818, '15252', '412', '40.4409', '-79.9963', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38757, 'Shippingport', 2818, '15077', '724', '40.634067', '-80.413714', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38758, 'Bulk Mail Ctr', 2818, '15095', '724', '40.6534', '-80.0798', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38759, 'Warrendale', 2818, '15095', '724', '40.6534', '-80.0798', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38760, 'Mckeesport', 2818, '15134', '412', '40.3427', '-79.8524', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38761, 'Turtle Creek', 2818, '15145', '412', '40.412114', '-79.823719', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38762, 'Buena Vista', 2818, '15018', '412', '40.269454', '-79.791734', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38763, 'Bunola', 2818, '15020', '412', '40.232838', '-79.945188', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38764, 'Conway', 2818, '15027', '724', '40.663686', '-80.240024', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38765, 'Rockledge', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38766, 'Rydal', 2818, '19046', '215', '40.097875', '-75.10785', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38767, 'Lawton', 2818, '18828', '570', '41.76682', '-76.051443', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38768, 'Rushville', 2818, '18828', '570', '41.76682', '-76.051443', '2018-11-29 04:58:06', '2018-11-29 04:58:06'),\n(38769, 'Rome', 2818, '18837', '570', '41.872948', '-76.29619', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38770, 'Springville', 2818, '18844', '570', '41.711394', '-75.895689', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38771, 'Philadelphia', 2818, '19019', '215', '39.9525', '-75.1644', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38772, 'Wilkes Barre', 2818, '18703', '570', '41.243', '-75.8907', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38773, 'Hunlock Creek', 2818, '18621', '570', '41.247199', '-76.082083', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38774, 'Hunlock Township', 2818, '18621', '570', '41.247199', '-76.082083', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38775, 'Hunlock Twp', 2818, '18621', '570', '41.247199', '-76.082083', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38776, 'Lopez', 2818, '18628', '570', '41.442032', '-76.291189', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38777, 'Social Sec Admin', 2818, '18769', '570', '41.2463', '-75.8867', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38778, 'Wilkes Barre', 2818, '18769', '570', '41.2463', '-75.8867', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38779, 'Great Bend', 2818, '18821', '570', '41.976881', '-75.707776', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38780, 'Lackawaxen', 2818, '18435', '570', '41.529776', '-75.057416', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38781, 'Covington Township', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38782, 'Covington Twp', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38783, 'Elmhurst Township', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38784, 'Elmhurst Twp', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38785, 'Madison Township', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38786, 'Madison Twp', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38787, 'Moscow', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38788, 'Roaring Bk Tp', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38789, 'Roaring Brook Twp', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38790, 'Spring Brook Township', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38791, 'Sprng Brk Twp', 2818, '18444', '570', '41.332148', '-75.549782', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38792, 'Pittston', 2818, '18644', '570', '41.33615', '-75.872472', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38793, 'West Wyoming', 2818, '18644', '570', '41.33615', '-75.872472', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38794, 'Apollo', 2818, '15613', '724', '40.547914', '-79.555875', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38795, 'Bradenville', 2818, '15620', '724', '40.328732', '-79.337678', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38796, 'Derry', 2818, '15627', '724', '40.35657', '-79.287714', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38797, 'E Vandergrift', 2818, '15629', '724', '40.597121', '-79.562966', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38798, 'East Vandergrift', 2818, '15629', '724', '40.597121', '-79.562966', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38799, 'W Middletown', 2818, '15379', '724', '40.242715', '-80.42502', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38800, 'West Middletown', 2818, '15379', '724', '40.242715', '-80.42502', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38801, 'Fayette City', 2818, '15438', '724', '40.073905', '-79.852588', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38802, 'Hibbs', 2818, '15443', '724', '39.917035', '-79.888516', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38803, 'Roscoe', 2818, '15477', '724', '40.078202', '-79.867702', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38804, 'Mellon Bank', 2818, '15286', '412', '40.4409', '-79.9963', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38805, 'Pittsburgh', 2818, '15286', '412', '40.4409', '-79.9963', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38806, 'Pittsburgh', 2818, '15295', '412', '40.4747', '-79.9521', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38807, 'Prosperity', 2818, '15329', '724', '40.02875', '-80.255346', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38808, 'Marianna', 2818, '15345', '724', '40.027275', '-80.099131', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38809, 'Southview', 2818, '15361', '724', '40.333896', '-80.26922', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38810, 'Rural Ridge', 2818, '15075', '724', '40.586318', '-79.826848', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38811, 'Tarentum', 2818, '15084', '724', '40.617725', '-79.804186', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38812, 'Pgh', 2818, '15218', '412', '40.425124', '-79.891584', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38813, 'Pitt', 2818, '15218', '412', '40.425124', '-79.891584', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38814, 'Pittsburgh', 2818, '15218', '412', '40.425124', '-79.891584', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38815, 'Swissvale', 2818, '15218', '412', '40.425124', '-79.891584', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38816, 'Pgh', 2818, '15220', '412', '40.418232', '-80.049084', '2018-11-29 04:58:07', '2018-11-29 04:58:07'),\n(38817, 'Pitt', 2818, '15220', '412', '40.418232', '-80.049084', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38818, 'Pittsburgh', 2818, '15220', '412', '40.418232', '-80.049084', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38819, 'Rook', 2818, '15220', '412', '40.418232', '-80.049084', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38820, 'Wabash', 2818, '15220', '412', '40.418232', '-80.049084', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38821, 'Calumet', 2818, '15621', '724', '40.2105', '-79.4858', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38822, 'Hannastown', 2818, '15635', '724', '40.353413', '-79.496356', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38823, 'Herminie', 2818, '15637', '724', '40.262425', '-79.715943', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38824, 'Hamilton', 2818, '15744', '724', '40.917105', '-79.083356', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38825, 'Allenport', 2818, '15412', '724', '40.08893', '-79.86201', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38826, 'California', 2818, '15419', '724', '40.053896', '-79.89108', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38827, 'Hiller', 2818, '15444', '724', '40.009092', '-79.907666', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38828, 'Indian Head', 2818, '15446', '724', '40.057742', '-79.401518', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38829, 'Ronco', 2818, '15476', '724', '39.870295', '-79.919842', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38830, 'National City Bank', 2818, '15278', '412', '40.4409', '-79.9963', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38831, 'Pittsburgh', 2818, '15278', '412', '40.4409', '-79.9963', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38832, 'Wash', 2818, '15301', '724', '40.155184', '-80.248404', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38833, 'Burgettstn', 2818, '15021', '724', '40.380166', '-80.424138', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38834, 'Burgettstown', 2818, '15021', '724', '40.380166', '-80.424138', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38835, 'Eldersville', 2818, '15021', '724', '40.380166', '-80.424138', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38836, 'Paris', 2818, '15021', '724', '40.380166', '-80.424138', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38837, 'Cheswick', 2818, '15024', '724', '40.580282', '-79.845276', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38838, 'Elrama', 2818, '15038', '412', '40.251798', '-79.924947', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38839, 'Mc Donald', 2818, '15057', '724', '40.361607', '-80.242374', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38840, 'Mcdonald', 2818, '15057', '724', '40.361607', '-80.242374', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38841, 'Clarksville', 2818, '15322', '724', '39.979614', '-80.051536', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38842, 'Cokeburg', 2818, '15324', '724', '40.101062', '-80.063648', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38843, 'Crucible', 2818, '15325', '724', '39.946674', '-79.96955', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38844, 'Hendersonville', 2818, '15339', '724', '40.2993', '-80.1525', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38845, 'Hendersonvlle', 2818, '15339', '724', '40.2993', '-80.1525', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38846, 'Rices Landing', 2818, '15357', '724', '39.954801', '-79.98475', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38847, 'Blawnox', 2818, '15238', '412', '40.535644', '-79.872766', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38848, 'Fox Chapel', 2818, '15238', '412', '40.535644', '-79.872766', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38849, 'Pgh', 2818, '15238', '412', '40.535644', '-79.872766', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38850, 'Pitt', 2818, '15238', '412', '40.535644', '-79.872766', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38851, 'Pittsburgh', 2818, '15238', '412', '40.535644', '-79.872766', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38852, 'Mellon Bank', 2818, '15257', '412', '40.4409', '-79.9963', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38853, 'Pittsburgh', 2818, '15257', '412', '40.4409', '-79.9963', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38854, 'Mellon Bank', 2818, '15258', '412', '40.4409', '-79.9963', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38855, 'Pittsburgh', 2818, '15258', '412', '40.4409', '-79.9963', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38856, 'Pricedale', 2818, '15072', '724', '40.138976', '-79.856088', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38857, 'East Liberty', 2818, '15206', '412', '40.46771', '-79.911112', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38858, 'Pittsburgh', 2818, '15206', '412', '40.46771', '-79.911112', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38859, 'Hazelwood', 2818, '15207', '412', '40.394688', '-79.935274', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38860, 'Pittsburgh', 2818, '15207', '412', '40.394688', '-79.935274', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38861, 'Homewood', 2818, '15208', '412', '40.451147', '-79.900948', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38862, 'Pgh', 2818, '15208', '412', '40.451147', '-79.900948', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38863, 'Pitt', 2818, '15208', '412', '40.451147', '-79.900948', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38864, 'Pittsburgh', 2818, '15208', '412', '40.451147', '-79.900948', '2018-11-29 04:58:08', '2018-11-29 04:58:08'),\n(38865, 'Etna', 2818, '15223', '412', '40.50663', '-79.953661', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38866, 'Pgh', 2818, '15223', '412', '40.50663', '-79.953661', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38867, 'Pitt', 2818, '15223', '412', '40.50663', '-79.953661', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38868, 'Pittsburgh', 2818, '15223', '412', '40.50663', '-79.953661', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38869, 'West Newton', 2818, '15089', '724', '40.212093', '-79.73874', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38870, 'Wexford', 2818, '15090', '724', '40.627036', '-80.07888', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38871, 'Braddock', 2818, '15104', '412', '40.403364', '-79.863845', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38872, 'Rankin', 2818, '15104', '412', '40.403364', '-79.863845', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38873, 'Carnegie', 2818, '15106', '412', '40.406736', '-80.111302', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38874, 'Collier Township', 2818, '15106', '412', '40.406736', '-80.111302', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38875, 'Collier Twp', 2818, '15106', '412', '40.406736', '-80.111302', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38876, 'Heidelberg', 2818, '15106', '412', '40.406736', '-80.111302', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38877, 'Rennerdale', 2818, '15106', '412', '40.406736', '-80.111302', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38878, 'Elizabeth', 2818, '15037', '412', '40.259273', '-79.853118', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38879, 'Midway', 2818, '15060', '724', '40.365019', '-80.289589', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38880, 'Monessen', 2818, '15062', '724', '40.149082', '-79.88208', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38881, 'Courtney', 2818, '15067', '724', '40.214489', '-79.958796', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38882, 'Washington', 2818, '15301', '724', '40.155184', '-80.248404', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38883, 'Avella', 2818, '15312', '724', '40.248517', '-80.429468', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38884, 'Rea', 2818, '15312', '724', '40.248517', '-80.429468', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38885, 'Canonsburg', 2818, '15317', '724', '40.270503', '-80.170961', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38886, 'Mc Murray', 2818, '15317', '724', '40.270503', '-80.170961', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38887, 'Mcmurray', 2818, '15317', '724', '40.270503', '-80.170961', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38888, 'Nineveh', 2818, '15353', '724', '40.004257', '-80.294255', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38889, 'Scenery Hill', 2818, '15360', '724', '40.084854', '-80.084948', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38890, 'Spraggs', 2818, '15362', '724', '39.773954', '-80.242892', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38891, 'Penn Hills', 2818, '15235', '412', '40.460122', '-79.835972', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38892, 'Pgh', 2818, '15235', '412', '40.460122', '-79.835972', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38893, 'Pitt', 2818, '15235', '412', '40.460122', '-79.835972', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38894, 'Pittsburgh', 2818, '15235', '412', '40.460122', '-79.835972', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38895, 'Universal', 2818, '15235', '412', '40.460122', '-79.835972', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38896, 'Pittsburgh', 2818, '15251', '412', '40.4409', '-79.9963', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38897, 'Mellon Bank', 2818, '15253', '412', '40.4409', '-79.9963', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38898, 'Pittsburgh', 2818, '15253', '412', '40.4409', '-79.9963', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38899, 'New Eagle', 2818, '15067', '724', '40.214489', '-79.958796', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38900, 'Alcoa Center', 2818, '15069', '724', '40.5699', '-79.7651', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38901, 'New Kensingtn', 2818, '15069', '724', '40.5699', '-79.7651', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38902, 'New Kensington', 2818, '15069', '724', '40.5699', '-79.7651', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38903, 'Russellton', 2818, '15076', '724', '40.614799', '-79.842524', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38904, 'Trafford', 2818, '15085', '412', '40.383627', '-79.722455', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38905, 'Allegheny', 2818, '15212', '412', '40.467755', '-80.01214', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38906, 'Pgh', 2818, '15212', '412', '40.467755', '-80.01214', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38907, 'Pitt', 2818, '15212', '412', '40.467755', '-80.01214', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38908, 'Pittsburgh', 2818, '15212', '412', '40.467755', '-80.01214', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38909, 'Beaver Falls', 2818, '15010', '724', '40.769602', '-80.355701', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38910, 'Patterson Heights', 2818, '15010', '724', '40.769602', '-80.355701', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38911, 'Patterson Hts', 2818, '15010', '724', '40.769602', '-80.355701', '2018-11-29 04:58:09', '2018-11-29 04:58:09'),\n(38912, 'Racine', 2818, '15010', '724', '40.769602', '-80.355701', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38913, 'Webster', 2818, '15087', '724', '40.179999', '-79.858592', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38914, 'Allison Park', 2818, '15101', '412', '40.576388', '-79.950646', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38915, 'Imperial', 2818, '15126', '724', '40.457336', '-80.286341', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38916, 'Boston', 2818, '15135', '412', '40.300176', '-79.808453', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38917, 'Mckeesport', 2818, '15135', '412', '40.300176', '-79.808453', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38918, 'Presto', 2818, '15142', '412', '40.384656', '-80.116712', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38919, 'Clairton', 2818, '15025', '412', '40.292964', '-79.923758', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38920, 'Floreffe', 2818, '15025', '412', '40.292964', '-79.923758', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38921, 'Jefferson Hills', 2818, '15025', '412', '40.292964', '-79.923758', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38922, 'Jefferson Hls', 2818, '15025', '412', '40.292964', '-79.923758', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38923, 'Large', 2818, '15025', '412', '40.292964', '-79.923758', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38924, 'Dravosburg', 2818, '15034', '412', '40.349442', '-79.888224', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38925, 'Georgetown', 2818, '15043', '724', '40.559449', '-80.478469', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38926, 'Industry', 2818, '15052', '724', '40.680583', '-80.42023', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38927, 'Midland', 2818, '15059', '724', '40.679872', '-80.479936', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38928, 'Warrendale', 2818, '15086', '724', '40.664557', '-80.093449', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38929, 'Bethel Park', 2818, '15102', '412', '40.322241', '-80.035504', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38930, 'Homestead', 2818, '15120', '412', '40.395552', '-79.905378', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38931, 'Munhall', 2818, '15120', '412', '40.395552', '-79.905378', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38932, 'W Homestead', 2818, '15120', '412', '40.395552', '-79.905378', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38933, 'West Homestead', 2818, '15120', '412', '40.395552', '-79.905378', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38934, 'Ingomar', 2818, '15127', '412', '40.5809', '-80.0612', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38935, 'Mc Kees Rocks', 2818, '15136', '412', '40.471952', '-80.109288', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38936, 'Mckees Rocks', 2818, '15136', '412', '40.471952', '-80.109288', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38937, 'Castle', 2818, '16101', '724', '40.965638', '-80.307319', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38938, 'New Castle', 2818, '16101', '724', '40.965638', '-80.307319', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38939, 'Mammoth', 2818, '15664', '724', '40.2008', '-79.4636', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38940, 'Slickville', 2818, '15684', '724', '40.46826', '-79.511176', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38941, 'Big Run', 2818, '15715', '814', '40.973671', '-78.873054', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38942, 'Black Lick', 2818, '15716', '724', '40.476602', '-79.191915', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38943, 'Taylorstown', 2818, '15365', '724', '40.1597', '-80.3785', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38944, 'Venetia', 2818, '15367', '724', '40.265526', '-80.056275', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38945, 'Star Junction', 2818, '15482', '724', '40.075101', '-79.735496', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38946, 'Stockdale', 2818, '15483', '724', '40.082103', '-79.84913', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38947, 'Boswell', 2818, '15531', '814', '40.198458', '-79.069096', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38948, 'Kantner', 2818, '15548', '814', '40.1014', '-78.9372', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38949, 'Wellersburg', 2818, '15564', '814', '39.7326', '-78.8509', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38950, 'Armbrust', 2818, '15616', '724', '40.24628', '-79.569837', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38951, 'Pittsburgh', 2818, '15264', '412', '40.402', '-79.9316', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38952, 'Pittsburgh', 2818, '15265', '412', '40.4409', '-79.9963', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38953, 'Wind Ridge', 2818, '15380', '724', '39.87199', '-80.464896', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38954, 'Brownfield', 2818, '15416', '724', '39.8697', '-79.7155', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38955, 'E Millsboro', 2818, '15433', '724', '39.972837', '-79.958194', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38956, 'East Millsboro', 2818, '15433', '724', '39.972837', '-79.958194', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38957, 'Jacobs Creek', 2818, '15448', '724', '40.134512', '-79.729267', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38958, 'La Belle', 2818, '15450', '724', '39.994783', '-79.978468', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38959, 'Mount Braddock', 2818, '15465', '724', '39.9454', '-79.6473', '2018-11-29 04:58:10', '2018-11-29 04:58:10'),\n(38960, 'Mt Braddock', 2818, '15465', '724', '39.9454', '-79.6473', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38961, 'Pnc Bank', 2818, '15265', '412', '40.4409', '-79.9963', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38962, 'At & T', 2818, '15283', '412', '40.4409', '-79.9963', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38963, 'Pittsburgh', 2818, '15283', '412', '40.4409', '-79.9963', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38964, 'Beallsville', 2818, '15313', '724', '40.060356', '-80.015052', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38965, 'Ellsworth', 2818, '15331', '724', '40.107388', '-80.021598', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38966, 'Finleyville', 2818, '15332', '724', '40.235313', '-79.984911', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38967, 'Davistown', 2818, '15349', '724', '39.765271', '-80.092588', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38968, 'Mount Morris', 2818, '15349', '724', '39.765271', '-80.092588', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38969, 'Mt Morris', 2818, '15349', '724', '39.765271', '-80.092588', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38970, 'Muse', 2818, '15350', '724', '40.293721', '-80.200468', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38971, 'Strabane', 2818, '15363', '724', '40.250213', '-80.198079', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38972, 'Pgh Int Arprt', 2818, '15231', '412', '40.486831', '-80.267533', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38973, 'Pittsburgh', 2818, '15231', '412', '40.486831', '-80.267533', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38974, 'Sutersville', 2818, '15083', '724', '40.243304', '-79.792622', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38975, 'Observatory', 2818, '15214', '412', '40.483219', '-80.015918', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38976, 'Pgh', 2818, '15214', '412', '40.483219', '-80.015918', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38977, 'Pitt', 2818, '15214', '412', '40.483219', '-80.015918', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38978, 'Pittsburgh', 2818, '15214', '412', '40.483219', '-80.015918', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38979, 'Aspinwall', 2818, '15215', '412', '40.505249', '-79.912744', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38980, 'Pgh', 2818, '15215', '412', '40.505249', '-79.912744', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38981, 'Pitt', 2818, '15215', '412', '40.505249', '-79.912744', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38982, 'Pittsburgh', 2818, '15215', '412', '40.505249', '-79.912744', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38983, 'Sharpsburg', 2818, '15215', '412', '40.505249', '-79.912744', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38984, 'Glenshaw', 2818, '15116', '412', '40.542613', '-79.95523', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38985, 'Library', 2818, '15129', '412', '40.295037', '-79.995729', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38986, 'South Park', 2818, '15129', '412', '40.295037', '-79.995729', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38987, 'Mckeesport', 2818, '15132', '412', '40.338018', '-79.850124', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38988, 'Creighton', 2818, '15030', '724', '40.582158', '-79.784264', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38989, 'Cuddy', 2818, '15031', '412', '40.355588', '-80.170094', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38990, 'Greenock', 2818, '15047', '412', '40.3125', '-79.8067', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38991, 'Harwick', 2818, '15049', '724', '40.555781', '-79.804442', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38992, 'Morgan', 2818, '15064', '412', '40.355128', '-80.147712', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38993, 'Natrona Heights', 2818, '15065', '724', '40.637376', '-79.726371', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38994, 'Natrona Hts', 2818, '15065', '724', '40.637376', '-79.726371', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38995, 'Pgh', 2818, '15233', '412', '40.460517', '-80.032052', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38996, 'Pitt', 2818, '15233', '412', '40.460517', '-80.032052', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38997, 'Pittsburgh', 2818, '15233', '412', '40.460517', '-80.032052', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38998, 'South Heights', 2818, '15081', '724', '40.575667', '-80.236982', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(38999, 'Sturgeon', 2818, '15082', '724', '40.379205', '-80.210572', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39000, 'Beechview', 2818, '15216', '412', '40.40514', '-80.035507', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39001, 'Dormont', 2818, '15216', '412', '40.40514', '-80.035507', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39002, 'Pgh', 2818, '15216', '412', '40.40514', '-80.035507', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39003, 'Pitt', 2818, '15216', '412', '40.40514', '-80.035507', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39004, 'Pittsburgh', 2818, '15216', '412', '40.40514', '-80.035507', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39005, 'South Hills', 2818, '15216', '412', '40.40514', '-80.035507', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39006, 'Belle Vernon', 2818, '15012', '724', '40.158367', '-79.823883', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39007, 'Belle Vrn Br', 2818, '15012', '724', '40.158367', '-79.823883', '2018-11-29 04:58:11', '2018-11-29 04:58:11'),\n(39008, 'Soc Auto Engineers', 2818, '15096', '724', '40.6534', '-80.0798', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39009, 'Warrendale', 2818, '15096', '724', '40.6534', '-80.0798', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39010, 'Monroeville', 2818, '15146', '412', '40.423561', '-79.760774', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39011, 'Verona', 2818, '15147', '412', '40.495048', '-79.831778', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39012, 'N Bell Vernon', 2818, '15012', '724', '40.158367', '-79.823883', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39013, 'N Belle Vernon', 2818, '15012', '724', '40.158367', '-79.823883', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39014, 'N Belle Vrn', 2818, '15012', '724', '40.158367', '-79.823883', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39015, 'North Belle Vernon', 2818, '15012', '724', '40.158367', '-79.823883', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39016, 'Bo Buena Vista', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39017, 'Bo Cantera', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39018, 'Bo Carcel', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39019, 'Bo Colombia', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39020, 'Bo La Quinta', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39021, 'Bo Liceo', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39022, 'Bo Mineral', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39023, 'Bo Paris', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39024, 'Bo Rio Hondo', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39025, 'Bo Sabalos', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39026, 'Bo Salud', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39027, 'Bo Santurce', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39028, 'Ext Belmonte', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39029, 'Lomas Verdes', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39030, 'Mayaguez', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39031, 'Repto Antillano', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39032, 'Repto Brisas De Rio Hondo', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39033, 'Repto Flamboyan', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39034, 'Repto Macias', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39035, 'Repto San Miguel', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39036, 'URB Alemany', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39037, 'URB Belmonte', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39038, 'URB Ensanche Ramirez', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39039, 'URB Ensanche Vivaldi', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39040, 'URB Flor Del Valle', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39041, 'URB La Estancia', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39042, 'URB Monterey', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39043, 'URB Paraiso De Mayaguez', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39044, 'URB Ponce De Leon', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39045, 'URB Pura Brisa', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39046, 'URB Rio Cristal', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39047, 'URB Santa Maria', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39048, 'URB Sultana', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39049, 'Villa Angelica', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39050, 'Villa Gerena', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39051, 'Villa India', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39052, 'Villa Sultanita', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39053, 'Villas De Felisa', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39054, 'Villas Del Rio', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:12', '2018-11-29 04:58:12'),\n(39055, 'Villas Del Sol', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39056, 'Brisas Del Norte', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39057, 'Brisas Del Rio', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39058, 'URB Veredas', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39059, 'Valle De Ensueno', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39060, 'Valle De Santa Barbara', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39061, 'Valle Del Tesoro', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39062, 'Villa Alegre', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39063, 'Villa Marina', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39064, 'Villas De Gurabo', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39065, 'Villas Del Carmen', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39066, 'Vista Lago', 2819, '00778', '787', '18.258919', '-65.974639', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39067, 'Rio Blanco', 2819, '00744', '787', '18.2202', '-65.7902', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39068, 'Bda Baldorioty', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39069, 'Bo Magueyes', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39070, 'Bosque Senorial', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39071, 'Brisas Del Mar', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39072, 'Comunidad Punta Diamante', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39073, 'Ext Jard Del Caribe', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39074, 'Ext Las Delicias 2', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39075, 'Ext Punto Oro', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39076, 'Ext Villa Paraiso', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39077, 'Hacienda La Matilde', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39078, 'Hacienda Las Lomas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39079, 'Jard Del Caribe', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39080, 'Jard Del Caribe 5', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39081, 'Parc El Tuque', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39082, 'Parc Magueyes', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39083, 'Parc Nueva Vida', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39084, 'Parc Nuevas Magueyes', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39085, 'Parc Quebrada Limon', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39086, 'Ponce', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39087, 'Qtas Del Sur', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39088, 'Res Canas Housing', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39089, 'Res Perla Del Bucana', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39090, 'Sect La Cotorra', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39091, 'Sect Las Batatas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39092, 'Sect Las Cucharas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39093, 'Sect Playita', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39094, 'URB Baldorioty', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39095, 'URB Baramaya', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39096, 'URB Bello Horizonte', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39097, 'URB Canas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39098, 'URB Casa Mia', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39099, 'URB La Providencia', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39100, 'URB Las Delicias', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39101, 'URB Las Margaritas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:13', '2018-11-29 04:58:13'),\n(39102, 'URB Morell Campos', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39103, 'URB Punto Oro', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39104, 'URB Rio Canas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39105, 'URB San Antonio', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39106, 'URB San Jose', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39107, 'Valle Altamira', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39108, 'Valle De Andalucia', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39109, 'Valle Del Rey', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39110, 'Villa Delicias', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39111, 'Villa Paraiso', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39112, 'Villa Rio Canas', 2819, '00728', '787', '18.019233', '-66.65337', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39113, 'Vega Baja', 2819, '00694', '787', '18.4465', '-66.3884', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39114, 'Jard De Russe', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39115, 'Morovis', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39116, 'Parc Barahona', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39117, 'Parc Torrecillas', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39118, 'Praderas De Morovis Sur', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39119, 'Qtas De Morovis', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39120, 'Repto Los Torres', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39121, 'Sect Berio', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39122, 'Sect La Alianza', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39123, 'Sect Marrero', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39124, 'Sect Pabon', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39125, 'URB Cruz Rosario', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39126, 'URB Las Cumbres', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39127, 'URB Rose Valley', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39128, 'URB Russe', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39129, 'Valle Barahona', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39130, 'Valles De San Luis', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39131, 'Villa Roca', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39132, 'Villas Del Norte', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39133, 'Vista Verde', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39134, 'Bo Balboa', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39135, 'Bo Barcelona', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39136, 'Bo Broadway', 2819, '00680', '787', '18.210009', '-67.106035', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39137, 'Floyd Dale', 2821, '29536', '843', '34.42374', '-79.372282', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39138, 'Floyd Dl', 2821, '29536', '843', '34.42374', '-79.372282', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39139, 'Hemingway', 2821, '29554', '843', '33.695933', '-79.393298', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39140, 'Stuckey', 2821, '29554', '843', '33.695933', '-79.393298', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39141, 'Spartanburg', 2821, '29305', '864', '34.9497', '-81.9325', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39142, 'Sptbg', 2821, '29305', '864', '34.9497', '-81.9325', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39143, 'Arcadia', 2821, '29320', '864', '34.95707', '-81.992976', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39144, 'North Augusta', 2821, '29861', '803', '33.5128', '-81.9384', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39145, 'Beaufort', 2821, '29902', '843', '32.373247', '-80.700634', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39146, 'Laurel Bay', 2821, '29902', '843', '32.373247', '-80.700634', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39147, 'Parksville', 2821, '29845', '864', '33.828019', '-82.215146', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39148, 'Plum Branch', 2821, '29845', '864', '33.828019', '-82.215146', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39149, 'Sycamore', 2821, '29846', '803', '33.043686', '-81.222871', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39150, 'Coosawhatchie', 2821, '29912', '843', '32.5886', '-80.9265', '2018-11-29 04:58:14', '2018-11-29 04:58:14'),\n(39151, 'Dale', 2821, '29914', '843', '32.5564', '-80.69', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39152, 'Fairfield', 2821, '29928', '843', '32.172838', '-80.748747', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39153, 'Hilton Head', 2821, '29928', '843', '32.172838', '-80.748747', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39154, 'Hilton Head Island', 2821, '29928', '843', '32.172838', '-80.748747', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39155, 'Lobeco', 2821, '29931', '843', '32.5527', '-80.7436', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39156, 'Luray', 2821, '29932', '803', '32.856066', '-81.239014', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39157, 'Fort Lawn', 2821, '29714', '803', '34.697509', '-80.923151', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39158, 'Ft Lawn', 2821, '29714', '803', '34.697509', '-80.923151', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39159, 'Pageland', 2821, '29728', '843', '34.75518', '-80.426351', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39160, 'Barnwell', 2821, '29812', '803', '33.212405', '-81.346837', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39161, 'Kline', 2821, '29812', '803', '33.212405', '-81.346837', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39162, 'Snelling', 2821, '29812', '803', '33.212405', '-81.346837', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39163, 'Dunbarton', 2821, '29831', '803', '33.304614', '-81.836434', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39164, 'Jackson', 2821, '29831', '803', '33.304614', '-81.836434', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39165, 'Savannah River Plant', 2821, '29831', '803', '33.304614', '-81.836434', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39166, 'Lake View', 2821, '29563', '843', '34.364714', '-79.214766', '2018-11-29 04:58:15', '2018-11-29 04:58:15');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(39167, 'Lane', 2821, '29564', '843', '33.43194', '-79.825143', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39168, 'Calhoun Falls', 2821, '29628', '864', '34.111098', '-82.610617', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39169, 'Fountain Inn', 2821, '29644', '864', '34.670845', '-82.196902', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39170, 'Greenwood', 2821, '29647', '864', '34.1954', '-82.1616', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39171, 'Gwd', 2821, '29647', '864', '34.1954', '-82.1616', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39172, 'Park Seed Co', 2821, '29647', '864', '34.1954', '-82.1616', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39173, 'Mountain Rest', 2821, '29664', '864', '34.889812', '-83.17278', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39174, 'Seneca', 2821, '29678', '864', '34.614628', '-82.933188', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39175, 'Hodges', 2821, '29695', '864', '34.2876', '-82.2444', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39176, 'Wayside Nurseries', 2821, '29695', '864', '34.2876', '-82.2444', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39177, 'Gillisonville', 2821, '29936', '843', '32.497686', '-80.95528', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39178, 'Mitchellville', 2821, '29936', '843', '32.497686', '-80.95528', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39179, 'Ridgeland', 2821, '29936', '843', '32.497686', '-80.95528', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39180, 'Switzerland', 2821, '29936', '843', '32.497686', '-80.95528', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39181, 'Hilton Head', 2821, '29938', '843', '32.2161', '-80.7525', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39182, 'Hilton Head Island', 2821, '29938', '843', '32.2161', '-80.7525', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39183, 'Windsor', 2821, '29856', '803', '33.472985', '-81.513201', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39184, 'Beaufort', 2821, '29903', '843', '32.4316', '-80.67', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39185, 'Beaufort', 2821, '29906', '843', '32.433253', '-80.771357', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39186, 'Brighton', 2821, '29922', '803', '32.634628', '-81.272013', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39187, 'Garnett', 2821, '29922', '803', '32.634628', '-81.272013', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39188, 'Robertville', 2821, '29922', '803', '32.634628', '-81.272013', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39189, 'Shirley', 2821, '29922', '803', '32.634628', '-81.272013', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39190, 'Gifford', 2821, '29923', '803', '32.864959', '-81.244748', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39191, 'Catawba', 2821, '29704', '803', '34.817657', '-80.920202', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39192, 'Chester', 2821, '29706', '803', '34.698629', '-81.258532', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39193, 'Hosiery Corp Of America', 2821, '29722', '803', '34.7206', '-80.7711', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39194, 'Lancaster', 2821, '29722', '803', '34.7206', '-80.7711', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39195, 'Aiken', 2821, '29804', '803', '33.5606', '-81.7194', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39196, 'Montmorenci', 2821, '29839', '803', '33.5278', '-81.6364', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39197, 'Loris', 2821, '29569', '843', '34.022878', '-78.913156', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39198, 'Conestee', 2821, '29636', '864', '34.7683', '-82.3503', '2018-11-29 04:58:15', '2018-11-29 04:58:15'),\n(39199, 'Donalds', 2821, '29638', '864', '34.369423', '-82.344772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39200, 'Shoals Jct', 2821, '29638', '864', '34.369423', '-82.344772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39201, 'Shoals Junction', 2821, '29638', '864', '34.369423', '-82.344772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39202, 'Seneca', 2821, '29672', '864', '34.75486', '-82.946642', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39203, 'Tamassee', 2821, '29686', '864', '34.898459', '-83.039342', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39204, 'Townville', 2821, '29689', '864', '34.524024', '-82.865714', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39205, 'Gaston', 2821, '29053', '803', '33.81994', '-81.103085', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39206, 'Batesburg-Leesville', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39207, 'Beech Island', 2821, '29841', '803', '33.524176', '-81.941782', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39208, 'Belvedere', 2821, '29841', '803', '33.524176', '-81.941782', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39209, 'Clearwater', 2821, '29841', '803', '33.524176', '-81.941782', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39210, 'North Augusta', 2821, '29841', '803', '33.524176', '-81.941782', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39211, 'Olar', 2821, '29843', '803', '33.170678', '-81.167941', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39212, 'Bellinger', 2821, '29927', '843', '32.251824', '-81.021977', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39213, 'Harbville', 2821, '29927', '843', '32.251824', '-81.021977', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39214, 'Hardeeville', 2821, '29927', '843', '32.251824', '-81.021977', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39215, 'Limehouse', 2821, '29927', '843', '32.251824', '-81.021977', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39216, 'Purysburgh', 2821, '29927', '843', '32.251824', '-81.021977', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39217, 'Greenville', 2821, '29616', '864', '34.8525', '-82.3944', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39218, 'Gville', 2821, '29616', '864', '34.8525', '-82.3944', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39219, 'Fort Mill', 2821, '29707', '803', '34.99001', '-80.851832', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39220, 'Burbank', 2822, '57010', '605', '42.821602', '-96.835033', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39221, 'Chancellor', 2822, '57015', '605', '43.422123', '-96.983786', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39222, 'Egan', 2822, '57024', '605', '43.97849', '-96.64723', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39223, 'Elkton', 2822, '57026', '605', '44.254664', '-96.550343', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39224, 'Ward', 2822, '57026', '605', '44.254664', '-96.550343', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39225, 'Aurora', 2822, '57002', '605', '44.296619', '-96.672983', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39226, 'Elk Point', 2822, '57025', '605', '42.744148', '-96.665772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39227, 'Junction City', 2822, '57025', '605', '42.744148', '-96.665772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39228, 'Richland', 2822, '57025', '605', '42.744148', '-96.665772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39229, 'Spink', 2822, '57025', '605', '42.744148', '-96.665772', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39230, 'Fairview', 2822, '57027', '605', '43.197379', '-96.508095', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39231, 'Hudson', 2822, '57034', '605', '43.13428', '-96.561959', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39232, 'Moe', 2822, '57034', '605', '43.13428', '-96.561959', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39233, 'Norway Center', 2822, '57034', '605', '43.13428', '-96.561959', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39234, 'Wellington', 2822, '57035', '605', '43.638019', '-97.06957', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39235, 'Canton', 2822, '57013', '605', '43.301388', '-96.618714', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39236, 'Freeman', 2822, '57029', '605', '43.328409', '-97.46877', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39237, 'Garretson', 2822, '57030', '605', '43.747166', '-96.572136', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39238, 'Palisade', 2822, '57030', '605', '43.747166', '-96.572136', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39239, 'Sherman', 2822, '57030', '605', '43.747166', '-96.572136', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39240, 'Gayville', 2822, '57031', '605', '42.861877', '-97.200274', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39241, 'Dell Rapids', 2822, '57022', '605', '43.819294', '-96.731176', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39242, 'Flyger', 2822, '57036', '605', '43.279054', '-97.141738', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39243, 'Chester', 2822, '57016', '605', '43.891659', '-97.008842', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39244, 'Franklin', 2822, '57016', '605', '43.891659', '-97.008842', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39245, 'Lake Brandt', 2822, '57016', '605', '43.891659', '-97.008842', '2018-11-29 04:58:16', '2018-11-29 04:58:16'),\n(39246, 'Harrisburg', 2822, '57032', '605', '43.417138', '-96.697474', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39247, 'Lake Alvin', 2822, '57032', '605', '43.417138', '-96.697474', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39248, 'Academy', 2824, '76554', '254', '30.974702', '-97.36658', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39249, 'Little River Academy', 2824, '76554', '254', '30.974702', '-97.36658', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39250, 'Ltl Rvr Acad', 2824, '76554', '254', '30.974702', '-97.36658', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39251, 'Cavitt', 2824, '76561', '254', '31.423215', '-97.558446', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39252, 'Oglesby', 2824, '76561', '254', '31.423215', '-97.558446', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39253, 'Pecangrove', 2824, '76561', '254', '31.423215', '-97.558446', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39254, 'Baileyville', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39255, 'Briary', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39256, 'Cedar Springs', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39257, 'New Clarkson', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39258, 'Rosebud', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39259, 'Terrys Chapel', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39260, 'Wilderville', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39261, 'Zipperlenville', 2824, '76570', '254', '31.101457', '-96.978254', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39262, 'Detmold', 2824, '76577', '512', '30.58515', '-97.166327', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39263, 'Gano', 2824, '76577', '512', '30.58515', '-97.166327', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39264, 'Lilac', 2824, '76577', '512', '30.58515', '-97.166327', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39265, 'Nile', 2824, '76577', '512', '30.58515', '-97.166327', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39266, 'San Gabriel', 2824, '76577', '512', '30.58515', '-97.166327', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39267, 'Thorndale', 2824, '76577', '512', '30.58515', '-97.166327', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39268, 'Belfalls', 2824, '76579', '254', '31.198031', '-97.27004', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39269, 'Troy', 2824, '76579', '254', '31.198031', '-97.27004', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39270, 'Alfred P Hughes Unit', 2824, '76597', '254', '31.4351', '-97.7439', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39271, 'Altamont', 2825, '84001', '435', '40.396881', '-110.467608', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39272, 'Boneta', 2825, '84001', '435', '40.396881', '-110.467608', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39273, 'Anchorage', 2825, '84015', '801', '41.113822', '-112.087162', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39274, 'Arsenal', 2825, '84015', '801', '41.113822', '-112.087162', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39275, 'Clearfield', 2825, '84015', '801', '41.113822', '-112.087162', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39276, 'Clinton', 2825, '84015', '801', '41.113822', '-112.087162', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39277, 'Sunset', 2825, '84015', '801', '41.113822', '-112.087162', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39278, 'West Point', 2825, '84015', '801', '41.113822', '-112.087162', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39279, 'Echo', 2825, '84024', '435', '40.976086', '-111.434001', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39280, 'Emory', 2825, '84024', '435', '40.976086', '-111.434001', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39281, 'Lindon', 2825, '84042', '801', '40.34074', '-111.71528', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39282, 'Bonnie', 2825, '84058', '801', '40.281338', '-111.769518', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39283, 'Bunker', 2825, '84058', '801', '40.281338', '-111.769518', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39284, 'Clyde', 2825, '84058', '801', '40.281338', '-111.769518', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39285, 'Lakeview', 2825, '84058', '801', '40.281338', '-111.769518', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39286, 'Orem', 2825, '84058', '801', '40.281338', '-111.769518', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39287, 'Vineyard', 2825, '84058', '801', '40.281338', '-111.769518', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39288, 'Holladay', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39289, 'Holladay Cottonwood', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39290, 'Holladay Ctwd', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39291, 'Millcreek', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39292, 'Murray', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39293, 'Salt Lake City', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39294, 'Salt Lake Cty', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:17', '2018-11-29 04:58:17'),\n(39295, 'Slc', 2825, '84117', '801', '40.660678', '-111.833806', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39296, 'Salt Lake City', 2825, '84133', '801', '40.7695', '-111.8647', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39297, 'Salt Lake Cty', 2825, '84133', '801', '40.7695', '-111.8647', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39298, 'Slc', 2825, '84133', '801', '40.7695', '-111.8647', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39299, 'Salt Lake City', 2825, '84151', '801', '40.7606', '-111.8903', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39300, 'Salt Lake Cty', 2825, '84151', '801', '40.7606', '-111.8903', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39301, 'Slc', 2825, '84151', '801', '40.7606', '-111.8903', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39302, 'Bear River City', 2825, '84301', '435', '41.610808', '-112.13349', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39303, 'Bear River Cy', 2825, '84301', '435', '41.610808', '-112.13349', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39304, 'Amalga', 2825, '84335', '435', '41.831864', '-111.902597', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39305, 'Benson', 2825, '84335', '435', '41.831864', '-111.902597', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39306, 'Smithfield', 2825, '84335', '435', '41.831864', '-111.902597', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39307, 'Hooper', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39308, 'Marriott Slaterville', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39309, 'Marriott-Slaterville City', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39310, 'Mriott Sltrvl', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39311, 'Ms City', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39312, 'Msc', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39313, 'Ogden', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39314, 'Roy', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39315, 'Taylor', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39316, 'West Haven', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39317, 'West Weber', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39318, 'Cripple Creek', 2826, '24322', '276', '36.797258', '-81.107605', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39319, 'Draper', 2826, '24324', '540', '36.977167', '-80.782812', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39320, 'Glade Spring', 2826, '24340', '276', '36.758574', '-81.77078', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39321, 'Speedwell', 2826, '24374', '276', '36.789103', '-81.198264', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39322, 'Clifton Forge', 2826, '24422', '540', '37.824113', '-79.74883', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39323, 'Goshen', 2826, '24439', '540', '38.000353', '-79.491918', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39324, 'Glasgow', 2826, '24555', '540', '37.675802', '-79.475078', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39325, 'Bristol', 2826, '24205', '276', '0', '0', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39326, 'Bristol Merchandise Return', 2826, '24205', '276', '0', '0', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39327, 'Castlewood', 2826, '24224', '276', '36.866282', '-82.255302', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39328, 'Dickensonville', 2826, '24224', '276', '36.866282', '-82.255302', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39329, 'Haysi', 2826, '24256', '276', '37.198961', '-82.278485', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39330, 'Hiltons', 2826, '24258', '276', '36.652092', '-82.428974', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39331, 'Meherrin', 2826, '23954', '434', '37.077476', '-78.382703', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39332, 'Nottoway', 2826, '23955', '434', '37.1292', '-78.0783', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39333, 'Cambria', 2826, '24073', '540', '37.12483', '-80.414256', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39334, 'Christiansbrg', 2826, '24073', '540', '37.12483', '-80.414256', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39335, 'Christiansburg', 2826, '24073', '540', '37.12483', '-80.414256', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39336, 'Christnsbrg', 2826, '24073', '540', '37.12483', '-80.414256', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39337, 'Prices Fork', 2826, '24073', '540', '37.12483', '-80.414256', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39338, 'Elliston', 2826, '24087', '540', '37.230547', '-80.266692', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39339, 'Ironto', 2826, '24087', '540', '37.230547', '-80.266692', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39340, 'Lafayette', 2826, '24087', '540', '37.230547', '-80.266692', '2018-11-29 04:58:18', '2018-11-29 04:58:18'),\n(39341, 'Charity', 2826, '24088', '540', '36.883106', '-80.076745', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39342, 'Endicott', 2826, '24088', '540', '36.883106', '-80.076745', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39343, 'Ferrum', 2826, '24088', '540', '36.883106', '-80.076745', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39344, 'Fieldale', 2826, '24089', '276', '36.713621', '-79.971414', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39345, 'Fincastle', 2826, '24090', '540', '37.514247', '-79.895158', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39346, 'Indian Valley', 2826, '24105', '540', '36.903644', '-80.582286', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39347, 'Moneta', 2826, '24121', '540', '37.172301', '-79.626847', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39348, 'Scruggs', 2826, '24121', '540', '37.172301', '-79.626847', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39349, 'Jewell Ridge', 2826, '24622', '276', '37.219606', '-81.810976', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39350, 'Jewell Valley', 2826, '24622', '276', '37.219606', '-81.810976', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39351, 'Crockett', 2826, '24323', '276', '36.871658', '-81.205153', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39352, 'Greenville', 2826, '24440', '540', '37.986694', '-79.134998', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39353, 'Grottoes', 2826, '24441', '540', '38.231122', '-78.835876', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39354, 'Halifax', 2826, '24558', '434', '36.774757', '-78.965548', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39355, 'Stuart', 2826, '24171', '276', '36.697229', '-80.227043', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39356, 'Blackwater', 2826, '24221', '276', '36.644076', '-83.022598', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39357, 'Davenport', 2826, '24239', '276', '37.062054', '-82.128856', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39358, 'Nickelsville', 2826, '24271', '276', '36.75785', '-82.416456', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39359, 'Nora', 2826, '24272', '276', '37.020216', '-82.348884', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39360, 'Esserville', 2826, '24273', '276', '36.967851', '-82.644439', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39361, 'Norton', 2826, '24273', '276', '36.967851', '-82.644439', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39362, 'Weber City', 2826, '24290', '276', '36.614434', '-82.570339', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39363, 'Alum Ridge', 2826, '24091', '540', '36.899891', '-80.32823', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39364, 'Floyd', 2826, '24091', '540', '36.899891', '-80.32823', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39365, 'Chesterfield', 2826, '23838', '804', '37.322187', '-77.637816', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39366, 'Dendron', 2826, '23839', '757', '37.081356', '-76.917324', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39367, 'Roanoke', 2826, '24004', '540', '37.2709', '-79.9418', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39368, 'Roanoke', 2826, '24005', '540', '37.2709', '-79.9418', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39369, 'Roanoke', 2826, '24022', '540', '37.2709', '-79.9418', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39370, 'Roanoke', 2826, '24023', '540', '37.2743', '-79.9358', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39371, 'Roanoke', 2826, '24038', '540', '37.2709', '-79.9418', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39372, 'Roanoke', 2826, '24040', '540', '37.2709', '-79.9418', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39373, 'Wachovia', 2826, '24040', '540', '37.2709', '-79.9418', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39374, 'Norfolk', 2826, '23521', '757', '36.917666', '-76.163655', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39375, 'Hampton', 2826, '23605', '757', '37.021345', '-76.438377', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39376, 'Newport News', 2826, '23605', '757', '37.021345', '-76.438377', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39377, 'Freeman', 2826, '23856', '434', '36.790738', '-77.716158', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39378, 'Mc Kenney', 2826, '23872', '804', '36.988398', '-77.735714', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39379, 'Mckenney', 2826, '23872', '804', '36.988398', '-77.735714', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39380, 'Wakefield', 2826, '23888', '757', '36.946392', '-76.974758', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39381, 'Buckingham', 2826, '23921', '434', '37.617896', '-78.605722', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39382, 'Charlotte C H', 2826, '23923', '434', '37.088625', '-78.646468', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39383, 'Charlotte Ch', 2826, '23923', '434', '37.088625', '-78.646468', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39384, 'Charlotte Court House', 2826, '23923', '434', '37.088625', '-78.646468', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39385, 'Evergreen', 2826, '23939', '434', '37.314829', '-78.770376', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39386, 'Suffolk', 2826, '23436', '757', '36.89514', '-76.517356', '2018-11-29 04:58:19', '2018-11-29 04:58:19'),\n(39387, 'Holland', 2826, '23437', '757', '36.640325', '-76.801337', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39388, 'Cana', 2826, '24317', '276', '36.610952', '-80.67698', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39389, 'Fancy Gap', 2826, '24328', '276', '36.657194', '-80.699344', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39390, 'Churchville', 2826, '24421', '540', '38.253304', '-79.151072', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39391, 'Fairfield', 2826, '24435', '540', '37.877015', '-79.294542', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39392, 'Clinchport', 2826, '24244', '276', '36.713147', '-82.832044', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39393, 'Duffield', 2826, '24244', '276', '36.713147', '-82.832044', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39394, 'Mc Clure', 2826, '24269', '276', '37.083401', '-82.381464', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39395, 'Mcclure', 2826, '24269', '276', '37.083401', '-82.381464', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39396, 'Darlingtn Hts', 2826, '23958', '434', '37.276263', '-78.620482', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39397, 'Darlington Heights', 2826, '23958', '434', '37.276263', '-78.620482', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39398, 'Pamplin', 2826, '23958', '434', '37.276263', '-78.620482', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39399, 'Prospect', 2826, '23960', '434', '37.320331', '-78.551204', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39400, 'Claudville', 2826, '24076', '276', '36.608473', '-80.45016', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39401, 'Ceres', 2826, '24318', '276', '37.015464', '-81.358977', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39402, 'Nebo', 2826, '24318', '276', '37.015464', '-81.358977', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39403, 'Hillsville', 2826, '24343', '276', '36.778672', '-80.671189', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39404, 'Littlevine', 2826, '24343', '276', '36.778672', '-80.671189', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39405, 'Richardson', 2826, '24343', '276', '36.778672', '-80.671189', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39406, 'Laurel Fork', 2826, '24352', '276', '36.713055', '-80.53806', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39407, 'Clinchburg', 2826, '24361', '276', '36.766349', '-81.850404', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39408, 'Meadowview', 2826, '24361', '276', '36.766349', '-81.850404', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39409, 'Saltville', 2826, '24370', '276', '36.921271', '-81.691949', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39410, 'Augusta Spgs', 2826, '24411', '540', '38.1028', '-79.3186', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39411, 'Augusta Sprgs', 2826, '24411', '540', '38.1028', '-79.3186', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39412, 'Augusta Springs', 2826, '24411', '540', '38.1028', '-79.3186', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39413, 'Bacova Jnctn', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39414, 'Bacova Junction', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39415, 'Falling Spring', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39416, 'Gladys', 2826, '24554', '434', '37.135923', '-79.089386', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39417, 'Catawba', 2826, '24070', '540', '37.393771', '-80.17361', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39418, 'Stanleytown', 2826, '24168', '276', '36.735316', '-79.948696', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39419, 'Bristol', 2826, '24202', '276', '36.685122', '-82.205598', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39420, 'Dryden', 2826, '24243', '276', '36.800688', '-82.91157', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39421, 'Fort Blackmore', 2826, '24250', '276', '36.775033', '-82.629408', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39422, 'Ft Blackmore', 2826, '24250', '276', '36.775033', '-82.629408', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39423, 'Pound', 2826, '24279', '276', '37.106026', '-82.624375', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39424, 'Falling Sprng', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39425, 'Dublin', 2826, '24084', '540', '37.128402', '-80.69507', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39426, 'Glen Lyn', 2826, '24093', '540', '37.375897', '-80.865222', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39427, 'Henry', 2826, '24102', '540', '36.842623', '-79.999136', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39428, 'Meadows Dan', 2826, '24120', '276', '36.709562', '-80.413834', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39429, 'Meadows Of Dan', 2826, '24120', '276', '36.709562', '-80.413834', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39430, 'Radford', 2826, '24143', '540', '37.1319', '-80.5767', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39431, 'Rice', 2826, '23966', '434', '37.306988', '-78.283742', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39432, 'Skipwith', 2826, '23968', '434', '36.725298', '-78.516161', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39433, 'Roanoke', 2826, '24002', '540', '37.2709', '-79.9418', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39434, 'Roanoke', 2826, '24009', '540', '37.2709', '-79.9418', '2018-11-29 04:58:20', '2018-11-29 04:58:20'),\n(39435, 'Roanoke', 2826, '24016', '540', '37.270534', '-79.959281', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39436, 'Roanoke', 2826, '24027', '540', '37.2709', '-79.9418', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39437, 'Norfolk Southern Rwy Brm', 2826, '24043', '540', '37.2709', '-79.9418', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39438, 'Roanoke', 2826, '24043', '540', '37.2709', '-79.9418', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39439, 'Hanover Direct', 2826, '24050', '540', '37.3334', '-79.9616', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39440, 'Roanoke', 2826, '24050', '540', '37.3334', '-79.9616', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39441, 'Bent Mountain', 2826, '24059', '540', '37.154456', '-80.126876', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39442, 'Norfolk', 2826, '23541', '757', '36.8468', '-76.2859', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39443, 'Ivor', 2826, '23866', '757', '36.914926', '-76.867396', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39444, 'Sussex', 2826, '23884', '434', '36.915', '-77.2794', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39445, 'Farmville', 2826, '23909', '434', '37.300518', '-78.397849', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39446, 'Longwood University', 2826, '23909', '434', '37.300518', '-78.397849', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39447, 'Andersonville', 2826, '23936', '434', '37.526397', '-78.495196', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39448, 'Dillwyn', 2826, '23936', '434', '37.526397', '-78.495196', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39449, 'Sprouses Corn', 2826, '23936', '434', '37.526397', '-78.495196', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39450, 'Sprouses Corner', 2826, '23936', '434', '37.526397', '-78.495196', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39451, 'Farmville', 2826, '23943', '434', '37.241682', '-78.472659', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39452, 'Hampden Sydney', 2826, '23943', '434', '37.241682', '-78.472659', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39453, 'Hmpden Sydney', 2826, '23943', '434', '37.241682', '-78.472659', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39454, 'Black Ridge', 2826, '23950', '434', '36.678756', '-78.076025', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39455, 'Blackridge', 2826, '23950', '434', '36.678756', '-78.076025', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39456, 'Forksville', 2826, '23950', '434', '36.678756', '-78.076025', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39457, 'La Crosse', 2826, '23950', '434', '36.678756', '-78.076025', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39458, 'Battle Ground', 2829, '98604', '360', '45.800978', '-122.484174', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39459, 'Battleground', 2829, '98604', '360', '45.800978', '-122.484174', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39460, 'Centerville', 2829, '98613', '509', '45.743965', '-120.974896', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39461, 'Heisson', 2829, '98622', '360', '45.8253', '-122.49', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39462, 'La Center', 2829, '98629', '360', '45.873814', '-122.61512', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39463, 'Naselle', 2829, '98638', '360', '46.38785', '-123.6643', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39464, 'Vancouver', 2829, '98663', '360', '45.652291', '-122.6638', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39465, 'Vancouver', 2829, '98665', '360', '45.679855', '-122.649732', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39466, 'Appleyard', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39467, 'Grant Road Addition', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39468, 'Kenroy', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39469, 'Mission Square', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39470, 'Pearcot', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39471, 'Wenatchee', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39472, 'Wenatchee Heights', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39473, 'West Wenatchee', 2829, '98801', '509', '47.451974', '-120.330783', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39474, 'Conconully', 2829, '98819', '509', '48.602292', '-119.819095', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39475, 'Methow', 2829, '98834', '509', '48.076586', '-120.052444', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39476, 'Adco', 2829, '98851', '509', '47.42118', '-119.437382', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39477, 'Adrian', 2829, '98851', '509', '47.42118', '-119.437382', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39478, 'Lakeview Park', 2829, '98851', '509', '47.42118', '-119.437382', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39479, 'Soap Lake', 2829, '98851', '509', '47.42118', '-119.437382', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39480, 'East Selah', 2829, '98901', '509', '46.6748', '-120.336803', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39481, 'Sumach', 2829, '98901', '509', '46.6748', '-120.336803', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39482, 'Union Gap', 2829, '98901', '509', '46.6748', '-120.336803', '2018-11-29 04:58:21', '2018-11-29 04:58:21'),\n(39483, 'Yakima', 2829, '98901', '509', '46.6748', '-120.336803', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39484, 'Yakima Firing Center', 2829, '98901', '509', '46.6748', '-120.336803', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39485, 'Gleed', 2829, '98904', '509', '46.6584', '-120.6123', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39486, 'Yakima', 2829, '98904', '509', '46.6584', '-120.6123', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39487, 'Buena', 2829, '98921', '509', '46.4288', '-120.3124', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39488, 'Kittitas', 2829, '98934', '509', '46.983087', '-120.417852', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39489, 'Mabton', 2829, '98935', '509', '46.179961', '-120.104402', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39490, 'Donald', 2829, '98951', '509', '46.444336', '-120.484255', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39491, 'Sawyer', 2829, '98951', '509', '46.444336', '-120.484255', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39492, 'Wapato', 2829, '98951', '509', '46.444336', '-120.484255', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39493, 'Zillah', 2829, '98953', '509', '46.43516', '-120.23209', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39494, 'Liberty Lake', 2829, '99019', '509', '47.629594', '-117.08576', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39495, 'Valleyford', 2829, '99036', '509', '47.524635', '-117.27089', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39496, 'City Of Spokane Valley', 2829, '99037', '509', '47.632845', '-117.194195', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39497, 'Spokane Valley', 2829, '99037', '509', '47.632845', '-117.194195', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39498, 'Spokane Vly', 2829, '99037', '509', '47.632845', '-117.194195', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39499, 'Veradale', 2829, '99037', '509', '47.632845', '-117.194195', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39500, 'Albion', 2829, '99102', '509', '46.79934', '-117.256964', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39501, 'Almira', 2829, '99103', '509', '47.725638', '-118.87919', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39502, 'Danville', 2829, '99121', '509', '48.94312', '-118.443664', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39503, 'Cedonia', 2829, '99137', '509', '48.151059', '-118.118142', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39504, 'Hunters', 2829, '99137', '509', '48.151059', '-118.118142', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39505, 'Ritzville', 2829, '99169', '509', '47.137897', '-118.470479', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39506, 'Spokane', 2829, '99204', '509', '47.647692', '-117.427044', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39507, 'Spokane', 2829, '99218', '509', '47.759956', '-117.410708', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39508, 'Spokane', 2829, '99219', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39509, 'Sunset Hill', 2829, '99219', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39510, 'Pasco', 2829, '99302', '509', '46.2289', '-119.0994', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39511, 'Tri Cities', 2829, '99302', '509', '46.2289', '-119.0994', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39512, 'Benton City', 2829, '99320', '509', '46.305809', '-119.506988', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39513, 'Kiona', 2829, '99320', '509', '46.305809', '-119.506988', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39514, 'Beverly', 2829, '99321', '509', '46.865451', '-119.925484', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39515, 'Schawana', 2829, '99321', '509', '46.865451', '-119.925484', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39516, 'Hanford Works', 2829, '99352', '509', '46.249723', '-119.302544', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39517, 'Richland', 2829, '99352', '509', '46.249723', '-119.302544', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39518, 'West Richland', 2829, '99352', '509', '46.249723', '-119.302544', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39519, 'Clarkston', 2829, '99403', '509', '46.23128', '-117.257444', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39520, 'Fruitland', 2829, '99129', '509', '47.979022', '-118.231738', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39521, 'Hunters', 2829, '99129', '509', '47.979022', '-118.231738', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39522, 'Thornton', 2829, '99176', '509', '47.107768', '-117.369758', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39523, 'Uniontown', 2829, '99179', '509', '46.502419', '-117.127299', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39524, 'Spokane', 2829, '99210', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39525, 'City Of Spokane Valley', 2829, '99213', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39526, 'Cty Spok Val', 2829, '99213', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39527, 'Spokane', 2829, '99213', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39528, 'Spokane Valley', 2829, '99213', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39529, 'Spokane Vly', 2829, '99213', '509', '47.6588', '-117.425', '2018-11-29 04:58:22', '2018-11-29 04:58:22'),\n(39530, 'Public Safety Bldg', 2829, '99260', '509', '47.6588', '-117.425', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39531, 'Spokane', 2829, '99260', '509', '47.6588', '-117.425', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39532, 'Dixie', 2829, '99329', '509', '46.120298', '-118.149533', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39533, 'Paterson', 2829, '99345', '509', '45.942724', '-119.662142', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39534, 'Lowden', 2829, '99360', '509', '46.127392', '-118.711357', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39535, 'Touchet', 2829, '99360', '509', '46.127392', '-118.711357', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39536, 'Burton', 2829, '98013', '206', '47.3895', '-122.4597', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39537, 'Vashon', 2829, '98013', '206', '47.3895', '-122.4597', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39538, 'Crystal Mountain', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39539, 'Cumberland', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39540, 'Enumclaw', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39541, 'Greenwater', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39542, 'Krain', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39543, 'Osceola', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39544, 'Wabash', 2829, '98022', '360', '47.088064', '-121.711476', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39545, 'Kent', 2829, '98031', '253', '47.4139', '-122.19809', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39546, 'Brier', 2829, '98036', '425', '47.804768', '-122.286194', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39547, 'Lynnwood', 2829, '98036', '425', '47.804768', '-122.286194', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39548, 'Four Corners', 2829, '98038', '425', '47.403768', '-122.005863', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39549, 'Maple Valley', 2829, '98038', '425', '47.403768', '-122.005863', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39550, 'Wilderness Village', 2829, '98038', '425', '47.403768', '-122.005863', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39551, 'Auburn', 2829, '98047', '253', '47.258574', '-122.2461', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39552, 'Pacific', 2829, '98047', '253', '47.258574', '-122.2461', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39553, 'Hazelwood', 2829, '98056', '425', '47.508872', '-122.19496', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39554, 'Highlands', 2829, '98056', '425', '47.508872', '-122.19496', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39555, 'Kennydale', 2829, '98056', '425', '47.508872', '-122.19496', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39556, 'Newcastle', 2829, '98056', '425', '47.508872', '-122.19496', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39557, 'Renton', 2829, '98056', '425', '47.508872', '-122.19496', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39558, 'Cottage Lake', 2829, '98072', '425', '47.769045', '-122.13025', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39559, 'Woodinville', 2829, '98072', '425', '47.769045', '-122.13025', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39560, 'International', 2829, '98104', '206', '47.602134', '-122.328431', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39561, 'Pioneer Square', 2829, '98104', '206', '47.602134', '-122.328431', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39562, 'Seattle', 2829, '98104', '206', '47.602134', '-122.328431', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39563, 'East Union', 2829, '98122', '206', '47.613527', '-122.297335', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39564, 'Seattle', 2829, '98122', '206', '47.613527', '-122.297335', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39565, 'Seattle', 2829, '98145', '206', '47.6064', '-122.3308', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39566, 'Seattle', 2829, '98154', '206', '47.60632', '-122.333596', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39567, 'Amazon.com', 2829, '98170', '206', '47.6064', '-122.3308', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39568, 'Seattle', 2829, '98170', '206', '47.6064', '-122.3308', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39569, 'Macys', 2829, '98181', '206', '47.6064', '-122.3308', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39570, 'Seattle', 2829, '98181', '206', '47.6064', '-122.3308', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39571, 'Everett', 2829, '98213', '425', '47.98', '-122.2', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39572, 'Acme', 2829, '98220', '360', '48.682707', '-122.19435', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39573, 'Saxon', 2829, '98220', '360', '48.682707', '-122.19435', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39574, 'Duvall', 2829, '98019', '425', '47.7332', '-121.799327', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39575, 'Bothell', 2829, '98028', '425', '47.754876', '-122.247104', '2018-11-29 04:58:23', '2018-11-29 04:58:23'),\n(39576, 'Kenmore', 2829, '98028', '425', '47.754876', '-122.247104', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39577, 'Lynnwood', 2829, '98037', '425', '47.838804', '-122.288414', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39578, 'Renton', 2829, '98055', '425', '47.45108', '-122.196316', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39579, 'Burien', 2829, '98062', '206', '47.4696', '-122.3605', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39580, 'Seahurst', 2829, '98062', '206', '47.4696', '-122.3605', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39581, 'Kent', 2829, '98064', '253', '47.3814', '-122.2339', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39582, 'Auburn', 2829, '98071', '206', '47.3076', '-122.2275', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39583, 'Lynnwood', 2829, '98087', '425', '47.867462', '-122.263248', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39584, 'Greenwood', 2829, '98103', '206', '47.670294', '-122.348306', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39585, 'Seattle', 2829, '98103', '206', '47.670294', '-122.348306', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39586, 'Wallingford', 2829, '98103', '206', '47.670294', '-122.348306', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39587, 'Madison Park', 2829, '98112', '206', '47.631975', '-122.287411', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39588, 'Seattle', 2829, '98112', '206', '47.631975', '-122.287411', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39589, 'Seattle', 2829, '98114', '206', '47.6064', '-122.3308', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39590, 'Seattle', 2829, '98121', '206', '47.613476', '-122.347381', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39591, 'Seattle', 2829, '98139', '206', '47.61', '-122.33', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39592, 'Beacon Hill', 2829, '98144', '206', '47.583944', '-122.291488', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39593, 'Seattle', 2829, '98144', '206', '47.583944', '-122.291488', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39594, 'Burien', 2829, '98148', '206', '47.446545', '-122.321828', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39595, 'Des Moines', 2829, '98148', '206', '47.446545', '-122.321828', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39596, 'Normandy Park', 2829, '98148', '206', '47.446545', '-122.321828', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39597, 'Seatac', 2829, '98148', '206', '47.446545', '-122.321828', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39598, 'Seattle', 2829, '98148', '206', '47.446545', '-122.321828', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39599, 'Forest Park', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39600, 'Paradise Inn', 2829, '98398', '253', '47.1576', '-122.5684', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39601, 'Tacoma', 2829, '98412', '253', '47.2534', '-122.4432', '2018-11-29 04:58:24', '2018-11-29 04:58:24');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(39602, 'Tacoma', 2829, '98421', '253', '47.259358', '-122.396924', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39603, 'Entiat', 2829, '98822', '509', '47.885389', '-120.47078', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39604, 'Okanogan', 2829, '98840', '509', '48.319264', '-119.60089', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39605, 'Peshastin', 2829, '98847', '509', '47.456872', '-120.674601', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39606, 'Riverside', 2829, '98849', '509', '48.577206', '-119.579012', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39607, 'Synarep', 2829, '98849', '509', '48.577206', '-119.579012', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39608, 'Yakima', 2829, '98908', '509', '46.629766', '-120.705334', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39609, 'Ronald', 2829, '98940', '509', '47.405703', '-121.095185', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39610, 'Deer Park', 2829, '99006', '509', '47.968031', '-117.533038', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39611, 'Wellpinit', 2829, '99040', '509', '47.882892', '-118.010225', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39612, 'Coulee City', 2829, '99115', '509', '47.544081', '-119.320186', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39613, 'Elmer City', 2829, '99124', '509', '48.000324', '-118.953073', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39614, 'Keller', 2829, '99140', '509', '48.065676', '-118.595985', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39615, 'Valley', 2829, '99181', '509', '48.136947', '-117.814644', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39616, 'City Of Spokane Valley', 2829, '99206', '509', '47.634343', '-117.244048', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39617, 'Spokane', 2829, '99206', '509', '47.634343', '-117.244048', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39618, 'Spokane Valley', 2829, '99206', '509', '47.634343', '-117.244048', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39619, 'Spokane Vly', 2829, '99206', '509', '47.634343', '-117.244048', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39620, 'Spokane', 2829, '99208', '509', '47.782248', '-117.455323', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39621, 'Spokane', 2829, '99217', '509', '47.74221', '-117.256672', '2018-11-29 04:58:24', '2018-11-29 04:58:24'),\n(39622, 'Spokane', 2829, '99224', '509', '47.639764', '-117.550836', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39623, 'Spokane', 2829, '99256', '509', '47.6588', '-117.425', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39624, 'Spokane City Trea', 2829, '99256', '509', '47.6588', '-117.425', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39625, 'Gonzaga Univ', 2829, '99258', '509', '47.6588', '-117.425', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39626, 'Spokane', 2829, '99258', '509', '47.6588', '-117.425', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39627, 'Pasco', 2829, '99301', '509', '46.465932', '-118.734438', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39628, 'Hooper', 2829, '99333', '509', '46.7546', '-118.1466', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39629, 'Roosevelt', 2829, '99356', '509', '45.84536', '-120.269996', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39630, 'Conway', 2829, '98238', '360', '48.319658', '-122.353437', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39631, 'Custer', 2829, '98240', '360', '48.946096', '-122.617074', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39632, 'Eastsound', 2829, '98245', '360', '48.679472', '-122.959922', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39633, 'Lopez Island', 2829, '98261', '360', '48.506621', '-122.90847', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39634, 'Port Stanley', 2829, '98261', '360', '48.506621', '-122.90847', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39635, 'Marysville', 2829, '98270', '360', '48.056192', '-122.161521', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39636, 'Doebay', 2829, '98279', '360', '48.650311', '-122.813291', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39637, 'Olga', 2829, '98279', '360', '48.650311', '-122.813291', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39638, 'Burley', 2829, '98322', '253', '47.4184', '-122.6294', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39639, 'Graham', 2829, '98338', '253', '47.015937', '-122.29728', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39640, 'Harbor Heights', 2829, '98338', '253', '47.015937', '-122.29728', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39641, 'Thrift', 2829, '98338', '253', '47.015937', '-122.29728', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39642, 'Dieringer', 2829, '98390', '253', '47.213571', '-122.234769', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39643, 'Edgewood', 2829, '98390', '253', '47.213571', '-122.234769', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39644, 'Sumner', 2829, '98390', '253', '47.213571', '-122.234769', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39645, 'Wauna', 2829, '98395', '253', '47.3792', '-122.6415', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39646, 'Longmire', 2829, '98397', '360', '46.75', '-121.8117', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39647, 'Pacific Lutheran University', 2829, '98447', '253', '47.145836', '-122.443748', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39648, 'Tacoma', 2829, '98447', '253', '47.145836', '-122.443748', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39649, 'Tacoma', 2829, '98481', '253', '47.2534', '-122.4432', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39650, 'World Vision', 2829, '98481', '253', '47.2534', '-122.4432', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39651, 'Lakewood', 2829, '98497', '253', '47.2534', '-122.4432', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39652, 'Oakbrook', 2829, '98497', '253', '47.2534', '-122.4432', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39653, 'Tacoma', 2829, '98497', '253', '47.2534', '-122.4432', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39654, 'Olympia', 2829, '98504', '360', '47.0442', '-122.9007', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39655, 'Washington State Department', 2829, '98504', '360', '47.0442', '-122.9007', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39656, 'East Olympia', 2829, '98540', '360', '46.9679', '-122.8345', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39657, 'Kellys Korner', 2829, '98540', '360', '46.9679', '-122.8345', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39658, 'Littlerock', 2829, '98556', '360', '46.9019', '-123.0168', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39659, 'Alder Grove', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39660, 'Brady', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39661, 'Grisdale', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39662, 'Melbourne', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39663, 'Montesano', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39664, 'Preachers Slough', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39665, 'South Montesano', 2829, '98563', '360', '47.371663', '-123.763526', '2018-11-29 04:58:25', '2018-11-29 04:58:25'),\n(39666, 'Gate', 2829, '98579', '360', '46.801948', '-123.156377', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39667, 'Rochester', 2829, '98579', '360', '46.801948', '-123.156377', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39668, 'Tahuya', 2829, '98588', '360', '47.44656', '-123.013615', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39669, 'North Cove', 2829, '98590', '360', '46.747518', '-123.984444', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39670, 'Tokeland', 2829, '98590', '360', '46.747518', '-123.984444', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39671, 'Yelm', 2829, '98597', '360', '46.871348', '-122.483245', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39672, 'Olympia', 2829, '98599', '360', '47.0381', '-122.8995', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39673, 'Olympia Brm', 2829, '98599', '360', '47.0381', '-122.8995', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39674, 'Long Beach', 2829, '98631', '360', '46.388858', '-124.03733', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39675, 'Oceanside', 2829, '98631', '360', '46.388858', '-124.03733', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39676, 'Ocean Park', 2829, '98640', '360', '46.535884', '-124.046363', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39677, 'Skamokawa', 2829, '98647', '360', '46.32149', '-123.435624', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39678, 'Bridgeport', 2829, '98813', '509', '47.958902', '-119.741593', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39679, 'George', 2829, '98824', '509', '47.0793', '-119.8547', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39680, 'Mazama', 2829, '98833', '509', '48.704874', '-120.208873', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39681, 'Harrah', 2829, '98933', '509', '46.409148', '-120.61784', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39682, 'Edwall', 2829, '99008', '509', '47.539461', '-117.931742', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39683, 'Spangle', 2829, '99031', '509', '47.436135', '-117.353682', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39684, 'Tekoa', 2829, '99033', '509', '47.244621', '-117.155746', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39685, 'Creston', 2829, '99117', '509', '47.754681', '-118.486923', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39686, 'Gifford', 2829, '99131', '509', '48.300432', '-118.122', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39687, 'Rice', 2829, '99167', '509', '48.426275', '-118.117794', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39688, 'Spokane', 2829, '99201', '509', '47.664781', '-117.437532', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39689, 'City Of Spokane Valley', 2829, '99215', '509', '47.6588', '-117.425', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39690, 'Cty Spok Val', 2829, '99215', '509', '47.6588', '-117.425', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39691, 'Spokane', 2829, '99215', '509', '47.6588', '-117.425', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39692, 'Spokane Valley', 2829, '99215', '509', '47.6588', '-117.425', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39693, 'Spokane Vly', 2829, '99215', '509', '47.6588', '-117.425', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39694, 'College Place', 2829, '99324', '509', '46.042452', '-118.408067', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39695, 'Desert Aire', 2829, '99349', '509', '46.778382', '-119.671193', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39696, 'Mattawa', 2829, '99349', '509', '46.778382', '-119.671193', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39697, 'Algona', 2829, '98001', '253', '47.307492', '-122.26591', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39698, 'Auburn', 2829, '98001', '253', '47.307492', '-122.26591', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39699, 'Federal Way', 2829, '98001', '253', '47.307492', '-122.26591', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39700, 'Kent', 2829, '98032', '253', '47.392329', '-122.264592', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39701, 'Midway', 2829, '98032', '253', '47.392329', '-122.264592', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39702, 'Woodmont Beach', 2829, '98032', '253', '47.392329', '-122.264592', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39703, 'Juanita', 2829, '98034', '425', '47.715193', '-122.210637', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39704, 'Kingsgate', 2829, '98034', '425', '47.715193', '-122.210637', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39705, 'Kirkland', 2829, '98034', '425', '47.715193', '-122.210637', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39706, 'Totem Lake', 2829, '98034', '425', '47.715193', '-122.210637', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39707, 'Preston', 2829, '98050', '425', '47.5239', '-121.9259', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39708, 'Kanaskat', 2829, '98051', '360', '47.35672', '-121.917912', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39709, 'Palmer', 2829, '98051', '360', '47.35672', '-121.917912', '2018-11-29 04:58:26', '2018-11-29 04:58:26'),\n(39710, 'Ravensdale', 2829, '98051', '360', '47.35672', '-121.917912', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39711, 'Snoqualmie', 2829, '98065', '425', '47.569345', '-121.777016', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39712, 'Bothell', 2829, '98082', '425', '47.7511', '-122.2128', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39713, 'Mill Creek', 2829, '98082', '425', '47.7511', '-122.2128', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39714, 'Seattle', 2829, '98101', '206', '47.611012', '-122.333523', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39715, 'Times Square', 2829, '98101', '206', '47.611012', '-122.333523', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39716, 'Broadway', 2829, '98102', '206', '47.635749', '-122.324362', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39717, 'Capitol Hill', 2829, '98102', '206', '47.635749', '-122.324362', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39718, 'Seattle', 2829, '98102', '206', '47.635749', '-122.324362', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39719, 'Columbia', 2829, '98118', '206', '47.541963', '-122.267649', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39720, 'Seattle', 2829, '98118', '206', '47.541963', '-122.267649', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39721, 'Seattle', 2829, '98134', '206', '47.571247', '-122.337752', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39722, 'Safeco Plaza', 2829, '98185', '206', '47.6064', '-122.3308', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39723, 'Seattle', 2829, '98185', '206', '47.6064', '-122.3308', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39724, 'Fort Lawton', 2829, '98199', '206', '47.651422', '-122.406207', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39725, 'Magnolia', 2829, '98199', '206', '47.651422', '-122.406207', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39726, 'Seattle', 2829, '98199', '206', '47.651422', '-122.406207', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39727, 'Tacoma', 2829, '98471', '253', '47.2534', '-122.4432', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39728, 'World Vision Brm', 2829, '98471', '253', '47.2534', '-122.4432', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39729, 'Olympia', 2829, '98507', '360', '47.0381', '-122.8997', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39730, 'Cosmopolis', 2829, '98537', '360', '46.837397', '-123.579684', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39731, 'Cushman Dam', 2829, '98548', '360', '47.445384', '-123.218834', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39732, 'Hoodsport', 2829, '98548', '360', '47.445384', '-123.218834', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39733, 'Moclips', 2829, '98562', '360', '47.244793', '-124.11592', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39734, 'Tenino', 2829, '98589', '360', '46.85073', '-122.823991', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39735, 'Evaline', 2829, '98596', '360', '46.48947', '-122.902645', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39736, 'Saint Urbans', 2829, '98596', '360', '46.48947', '-122.902645', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39737, 'Winlock', 2829, '98596', '360', '46.48947', '-122.902645', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39738, 'Bingen', 2829, '98605', '509', '45.78161', '-121.545638', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39739, 'Cook', 2829, '98605', '509', '45.78161', '-121.545638', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39740, 'Camas', 2829, '98607', '360', '45.641503', '-122.386076', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39741, 'Cougar', 2829, '98616', '360', '46.084956', '-122.302858', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39742, 'N Bonneville', 2829, '98639', '509', '45.678656', '-121.967356', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39743, 'North Bonneville', 2829, '98639', '509', '45.678656', '-121.967356', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39744, 'Wishram', 2829, '98673', '509', '45.660498', '-120.947935', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39745, 'Vancouver', 2829, '98682', '360', '45.677123', '-122.47168', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39746, 'Aeneas', 2829, '98855', '509', '48.675766', '-119.289794', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39747, 'Ellisford', 2829, '98855', '509', '48.675766', '-119.289794', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39748, 'Havillah', 2829, '98855', '509', '48.675766', '-119.289794', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39749, 'Nighthawk', 2829, '98855', '509', '48.675766', '-119.289794', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39750, 'Tonasket', 2829, '98855', '509', '48.675766', '-119.289794', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39751, 'Warden', 2829, '98857', '509', '47.020842', '-119.071403', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39752, 'Yakima', 2829, '98907', '509', '46.6022', '-120.5048', '2018-11-29 04:58:27', '2018-11-29 04:58:27'),\n(39753, 'Granger', 2829, '98932', '509', '46.342912', '-120.160629', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39754, 'Parker', 2829, '98939', '509', '46.5011', '-120.4643', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39755, 'Toppenish', 2829, '98948', '509', '46.299176', '-120.355735', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39756, 'Doris', 2829, '98950', '509', '46.868478', '-119.992102', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39757, 'Ellensburg', 2829, '98950', '509', '46.868478', '-119.992102', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39758, 'Vantage', 2829, '98950', '509', '46.868478', '-119.992102', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39759, 'Colbert', 2829, '99005', '509', '47.848466', '-117.359821', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39760, 'Four Lakes', 2829, '99014', '509', '47.5614', '-117.5933', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39761, 'Mica', 2829, '99023', '509', '47.547429', '-117.152495', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39762, 'Valleyford', 2829, '99023', '509', '47.547429', '-117.152495', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39763, 'Sprague', 2829, '99032', '509', '47.31378', '-118.04672', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39764, 'Boyds', 2829, '99107', '509', '48.74066', '-118.379397', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39765, 'Kettle Falls', 2829, '99107', '509', '48.74066', '-118.379397', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39766, 'Coulee Dam', 2829, '99116', '509', '48.211838', '-119.289908', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39767, 'Mason City', 2829, '99116', '509', '48.211838', '-119.289908', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39768, 'Endicott', 2829, '99125', '509', '46.939619', '-117.778716', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39769, 'Harrington', 2829, '99134', '509', '47.415879', '-118.355094', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39770, 'Ione', 2829, '99139', '509', '48.668022', '-117.331224', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39771, 'Kettle Falls', 2829, '99141', '509', '48.728595', '-118.064953', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39772, 'Pullman', 2829, '99164', '509', '46.726324', '-117.152132', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39773, 'Washington State University', 2829, '99164', '509', '46.726324', '-117.152132', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39774, 'Springdale', 2829, '99173', '509', '48.004258', '-117.876005', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39775, 'City Of Spokane Valley', 2829, '99214', '509', '47.6588', '-117.425', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39776, 'Cty Spok Val', 2829, '99214', '509', '47.6588', '-117.425', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39777, 'Spokane', 2829, '99214', '509', '47.6588', '-117.425', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39778, 'Spokane Valley', 2829, '99214', '509', '47.6588', '-117.425', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39779, 'Spokane Vly', 2829, '99214', '509', '47.6588', '-117.425', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39780, 'Prescott', 2829, '99348', '509', '46.430173', '-118.497824', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39781, 'Klickitat', 2829, '98628', '509', '45.837757', '-121.115745', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39782, 'Rosburg', 2829, '98643', '360', '46.306175', '-123.629422', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39783, 'Silverlake', 2829, '98645', '360', '46.315197', '-122.781546', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39784, 'Brewster', 2829, '98812', '509', '48.223555', '-119.817326', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39785, 'Monse', 2829, '98812', '509', '48.223555', '-119.817326', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39786, 'Rocky Butte', 2829, '98812', '509', '48.223555', '-119.817326', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39787, 'Malott', 2829, '98829', '509', '48.29122', '-119.751958', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39788, 'Yakima', 2829, '98909', '509', '46.6022', '-120.5048', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39789, 'Selah', 2829, '98942', '509', '46.767171', '-120.687245', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39790, 'Sunnyside', 2829, '98944', '509', '46.389422', '-120.017278', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39791, 'Thorp', 2829, '98946', '509', '47.009393', '-120.924552', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39792, 'Fairchild AFB', 2829, '99011', '509', '47.618866', '-117.65633', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39793, 'Fairchild Air Force Base', 2829, '99011', '509', '47.618866', '-117.65633', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39794, 'Fairfield', 2829, '99012', '509', '47.397672', '-117.192168', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39795, 'Ford', 2829, '99013', '509', '47.888124', '-117.821446', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39796, 'Nine Mile Falls', 2829, '99026', '509', '47.808625', '-117.620003', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39797, 'Nine Mile Fls', 2829, '99026', '509', '47.808625', '-117.620003', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39798, 'Reardan', 2829, '99029', '509', '47.716393', '-117.851813', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39799, 'Clayton', 2829, '99110', '509', '47.986542', '-117.583242', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39800, 'Colfax', 2829, '99111', '509', '46.866818', '-117.451173', '2018-11-29 04:58:28', '2018-11-29 04:58:28'),\n(39801, 'Diamond', 2829, '99111', '509', '46.866818', '-117.451173', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39802, 'Colton', 2829, '99113', '509', '46.568738', '-117.237998', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39803, 'La Crosse', 2829, '99143', '509', '46.694044', '-117.843582', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39804, 'Lacrosse', 2829, '99143', '509', '46.694044', '-117.843582', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39805, 'Lamona', 2829, '99144', '509', '47.3594', '-118.4816', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39806, 'Odessa', 2829, '99144', '509', '47.3594', '-118.4816', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39807, 'Kettle Falls', 2829, '99160', '509', '48.82904', '-118.264873', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39808, 'Orient', 2829, '99160', '509', '48.82904', '-118.264873', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39809, 'Spokane', 2829, '99228', '509', '47.6588', '-117.425', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39810, 'Pomeroy', 2829, '99347', '509', '46.350756', '-117.546011', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39811, 'Walla Walla', 2829, '99362', '509', '46.149812', '-118.309474', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39812, 'Wallula', 2829, '99363', '509', '46.069382', '-118.905993', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39813, 'Auburn', 2829, '98002', '253', '47.31005', '-122.209182', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39814, 'Beaux Arts', 2829, '98004', '425', '47.617746', '-122.210797', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39815, 'Beaux Arts Village', 2829, '98004', '425', '47.617746', '-122.210797', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39816, 'Bellevue', 2829, '98004', '425', '47.617746', '-122.210797', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39817, 'Clyde Hill', 2829, '98004', '425', '47.617746', '-122.210797', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39818, 'Hunts Point', 2829, '98004', '425', '47.617746', '-122.210797', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39819, 'Yarrow Point', 2829, '98004', '425', '47.617746', '-122.210797', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39820, 'Edmonds', 2829, '98020', '425', '47.806122', '-122.375454', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39821, 'Woodway', 2829, '98020', '425', '47.806122', '-122.375454', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39822, 'Issaquah', 2829, '98029', '425', '47.559603', '-122.02395', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39823, 'Cedar Falls', 2829, '98045', '425', '47.461032', '-121.544749', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39824, 'Denny Creek', 2829, '98045', '425', '47.461032', '-121.544749', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39825, 'North Bend', 2829, '98045', '425', '47.461032', '-121.544749', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39826, 'Auburn', 2829, '98063', '253', '47.3076', '-122.2275', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39827, 'Federal Way', 2829, '98063', '253', '47.3076', '-122.2275', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39828, 'Dockton', 2829, '98070', '206', '47.420728', '-122.450942', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39829, 'Vashon', 2829, '98070', '206', '47.420728', '-122.450942', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39830, 'Vashon Island', 2829, '98070', '206', '47.420728', '-122.450942', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39831, 'Seattle', 2829, '98113', '206', '47.61', '-122.33', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39832, 'Reg Lib Handicapped', 2829, '98129', '206', '47.6064', '-122.3308', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39833, 'Seattle', 2829, '98129', '206', '47.6064', '-122.3308', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39834, 'Seattle', 2829, '98131', '206', '47.6719', '-122.2743', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39835, 'Seattle', 2829, '98136', '206', '47.53603', '-122.393154', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39836, 'Westwood', 2829, '98136', '206', '47.53603', '-122.393154', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39837, 'Seattle', 2829, '98195', '206', '47.654216', '-122.300316', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39838, 'Univ Of Washington', 2829, '98195', '206', '47.654216', '-122.300316', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39839, 'Anacortes', 2829, '98222', '360', '48.566204', '-122.799833', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39840, 'Blakely Is', 2829, '98222', '360', '48.566204', '-122.799833', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39841, 'Blakely Island', 2829, '98222', '360', '48.566204', '-122.799833', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39842, 'Bellevue', 2829, '98007', '425', '47.619741', '-122.142986', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39843, 'Eastgate', 2829, '98007', '425', '47.619741', '-122.142986', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39844, 'Hobart', 2829, '98025', '360', '47.438574', '-121.889326', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39845, 'Renton', 2829, '98057', '206', '47.472721', '-122.218338', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39846, 'Redmond', 2829, '98073', '206', '47.6742', '-122.1206', '2018-11-29 04:58:29', '2018-11-29 04:58:29'),\n(39847, 'Seattle', 2829, '98126', '206', '47.55178', '-122.372222', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39848, 'Westwood Village', 2829, '98126', '206', '47.55178', '-122.372222', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39849, 'Richmond Beach', 2829, '98160', '206', '47.7699', '-122.3889', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39850, 'Seattle', 2829, '98160', '206', '47.7699', '-122.3889', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39851, 'Seattle', 2829, '98194', '206', '47.61', '-122.33', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39852, 'Everett', 2829, '98207', '425', '47.9793', '-122.2006', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39853, 'Naval Station Everett', 2829, '98207', '425', '47.9793', '-122.2006', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39854, 'Bakerview', 2829, '98226', '360', '48.790826', '-122.464204', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39855, 'Bellingham', 2829, '98226', '360', '48.790826', '-122.464204', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39856, 'Gray Gables', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39857, 'Grays Harbor City', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39858, 'Hoquiam', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39859, 'New London', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39860, 'Newton', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39861, 'Nisson', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39862, 'Oyhat', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39863, 'Woodlawn', 2829, '98550', '360', '47.109222', '-123.970227', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39864, 'Humptulips', 2829, '98552', '360', '47.323556', '-123.928398', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39865, 'Cedarville', 2829, '98568', '360', '46.87144', '-123.312772', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39866, 'Gibson Creek', 2829, '98568', '360', '46.87144', '-123.312772', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39867, 'Oakville', 2829, '98568', '360', '46.87144', '-123.312772', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39868, 'Ocean City', 2829, '98569', '360', '47.012036', '-124.143205', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39869, 'Ocean Shores', 2829, '98569', '360', '47.012036', '-124.143205', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39870, 'Alpha', 2829, '98570', '360', '46.579324', '-122.69588', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39871, 'Lacamas', 2829, '98570', '360', '46.579324', '-122.69588', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39872, 'Onalaska', 2829, '98570', '360', '46.579324', '-122.69588', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39873, 'Nemah', 2829, '98586', '360', '46.579552', '-123.793242', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39874, 'South Bend', 2829, '98586', '360', '46.579552', '-123.793242', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39875, 'Amboy', 2829, '98601', '360', '45.976161', '-122.400794', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39876, 'Chelatchie', 2829, '98601', '360', '45.976161', '-122.400794', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39877, 'Dallesport', 2829, '98617', '509', '45.619501', '-121.171387', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39878, 'Lyle', 2829, '98635', '509', '45.750628', '-121.21816', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39879, 'Vancouver', 2829, '98668', '360', '45.6387', '-122.6606', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39880, 'Vancouver', 2829, '98683', '360', '45.602584', '-122.516174', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39881, 'Vancouver', 2829, '98685', '360', '45.71708', '-122.693761', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39882, 'Vancouver', 2829, '98687', '360', '45.6387', '-122.6606', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39883, 'Bellevue', 2829, '98008', '425', '47.60563', '-122.108288', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39884, 'Bellevue', 2829, '98009', '425', '47.6106', '-122.1997', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39885, 'Black Diamond', 2829, '98010', '360', '47.31424', '-121.994964', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39886, 'Morganville', 2829, '98010', '360', '47.31424', '-121.994964', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39887, 'Edmonds', 2829, '98026', '425', '47.835642', '-122.325836', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39888, 'Covington', 2829, '98042', '253', '47.364511', '-122.102081', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39889, 'Kent', 2829, '98042', '253', '47.364511', '-122.102081', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39890, 'Lake Sawyer', 2829, '98042', '253', '47.364511', '-122.102081', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39891, 'Mountlake Ter', 2829, '98043', '425', '47.792222', '-122.30721', '2018-11-29 04:58:30', '2018-11-29 04:58:30'),\n(39892, 'Mountlake Terrace', 2829, '98043', '425', '47.792222', '-122.30721', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39893, 'Newcastle', 2829, '98059', '425', '47.504128', '-122.109663', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39894, 'Renton', 2829, '98059', '425', '47.504128', '-122.109663', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39895, 'Redmond', 2829, '98074', '425', '47.628788', '-122.042372', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39896, 'Sammamish', 2829, '98074', '425', '47.628788', '-122.042372', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39897, 'Woodinville', 2829, '98077', '425', '47.752374', '-122.058564', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39898, 'Auburn', 2829, '98092', '253', '47.28985', '-122.109621', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39899, 'Auburn', 2829, '98093', '253', '47.3076', '-122.2275', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39900, 'Federal Way', 2829, '98093', '253', '47.3076', '-122.2275', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39901, 'Ballard', 2829, '98107', '206', '47.664823', '-122.383784', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39902, 'Seattle', 2829, '98107', '206', '47.664823', '-122.383784', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39903, 'Seattle', 2829, '98108', '206', '47.541083', '-122.313312', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39904, 'Tukwila', 2829, '98108', '206', '47.541083', '-122.313312', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39905, 'Queen Anne', 2829, '98109', '206', '47.634444', '-122.3419', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39906, 'Seattle', 2829, '98109', '206', '47.634444', '-122.3419', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39907, 'Seattle', 2829, '98124', '206', '47.6064', '-122.3308', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39908, 'Seattle', 2829, '98127', '206', '47.61', '-122.33', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39909, 'Seattle', 2829, '98175', '206', '47.61', '-122.33', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39910, 'Capital One', 2829, '98190', '206', '47.6064', '-122.3308', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39911, 'Seattle', 2829, '98190', '206', '47.6064', '-122.3308', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39912, 'Qwest', 2829, '98191', '206', '47.6064', '-122.3308', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39913, 'Seattle', 2829, '98191', '206', '47.6064', '-122.3308', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39914, 'Everett', 2829, '98208', '425', '47.9008', '-122.194521', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39915, 'Baring', 2829, '98224', '360', '47.73809', '-121.462362', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39916, 'Saukville', 2830, '53080', '262', '43.410544', '-87.980605', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39917, 'Burlington', 2830, '53105', '262', '42.63477', '-88.276593', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39918, 'Elkhorn', 2830, '53121', '262', '42.724692', '-88.533116', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39919, 'Kansasville', 2830, '53139', '262', '42.691814', '-88.129577', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39920, 'Kenosha', 2830, '53141', '262', '42.5848', '-87.8211', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39921, 'Ixonia', 2830, '53036', '920', '43.173735', '-88.577658', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39922, 'Mattoon', 2830, '54450', '715', '45.0015', '-89.047', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39923, 'Bellevue', 2830, '54311', '920', '44.519511', '-87.90283', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39924, 'Green Bay', 2830, '54311', '920', '44.519511', '-87.90283', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39925, 'Little Suamico', 2830, '54141', '920', '44.747131', '-87.989472', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39926, 'Ltl Suamico', 2830, '54141', '920', '44.747131', '-87.989472', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39927, 'Marinette', 2830, '54143', '715', '45.09188', '-87.67188', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39928, 'Menekaunee', 2830, '54143', '715', '45.09188', '-87.67188', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39929, 'Neopit', 2830, '54150', '715', '45.012498', '-88.873254', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39930, 'Nichols', 2830, '54152', '920', '44.559956', '-88.47432', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39931, 'Peshtigo', 2830, '54157', '715', '45.04917', '-87.793508', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39932, 'Shawano', 2830, '54166', '715', '44.753555', '-88.668795', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39933, 'Thornton', 2830, '54166', '715', '44.753555', '-88.668795', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39934, 'Athens', 2830, '54411', '715', '45.05641', '-89.972933', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39935, 'Hamburg', 2830, '54411', '715', '45.05641', '-89.972933', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39936, 'Milan', 2830, '54411', '715', '45.05641', '-89.972933', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39937, 'Weurtsburg', 2830, '54411', '715', '45.05641', '-89.972933', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39938, 'Bryant', 2830, '54418', '715', '45.204857', '-88.9777', '2018-11-29 04:58:31', '2018-11-29 04:58:31'),\n(39939, 'Polar', 2830, '54418', '715', '45.204857', '-88.9777', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39940, 'Dresser', 2830, '54009', '715', '45.35438', '-92.596696', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39941, 'Sandlake', 2830, '54009', '715', '45.35438', '-92.596696', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39942, 'Ubet', 2830, '54009', '715', '45.35438', '-92.596696', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39943, 'Somerset', 2830, '54025', '715', '45.129962', '-92.676982', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39944, 'Collins', 2830, '54207', '920', '44.091596', '-87.988674', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39945, 'Madison', 2830, '53782', '608', '43.0733', '-89.4012', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39946, 'Wi Cheeseman', 2830, '53782', '608', '43.0733', '-89.4012', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39947, 'Madison', 2830, '53791', '608', '43.0733', '-89.4012', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39948, 'Madison Business Reply Mail', 2830, '53791', '608', '43.0733', '-89.4012', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39949, 'Madison', 2830, '53793', '608', '43.0733', '-89.4012', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39950, 'Swiss Colony Bus Reply', 2830, '53793', '608', '43.0733', '-89.4012', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39951, 'Stitzer', 2830, '53825', '608', '42.91967', '-90.582124', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39952, 'Beaver Dam', 2830, '53916', '920', '43.466453', '-88.855802', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39953, 'South Beaver Dam', 2830, '53916', '920', '43.466453', '-88.855802', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39954, 'La Valle', 2830, '53941', '608', '43.560208', '-90.125182', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39955, 'Cady', 2830, '54027', '715', '44.929547', '-92.207112', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39956, 'Hersey', 2830, '54027', '715', '44.929547', '-92.207112', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39957, 'Wilson', 2830, '54027', '715', '44.929547', '-92.207112', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39958, 'Juda', 2830, '53550', '608', '42.565144', '-89.48925', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39959, 'Muscoda', 2830, '53573', '608', '43.194547', '-90.45888', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39960, 'Sextonville', 2830, '53584', '608', '43.2786', '-90.2906', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39961, 'Lake Windsor', 2830, '53598', '608', '43.202501', '-89.342158', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39962, 'Windsor', 2830, '53598', '608', '43.202501', '-89.342158', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39963, 'Brooks', 2830, '53952', '608', '43.792876', '-89.584594', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39964, 'Oxford', 2830, '53952', '608', '43.792876', '-89.584594', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39965, 'Avalon', 2830, '53505', '608', '42.659', '-88.83059', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39966, 'Gratiot', 2830, '53541', '608', '42.579738', '-90.042964', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39967, 'Plymouth', 2830, '53073', '920', '43.761186', '-88.00073', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39968, 'Waukesha', 2830, '53189', '262', '42.94221', '-88.296474', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39969, 'Williams Bay', 2830, '53191', '262', '42.576498', '-88.538698', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39970, 'Milwaukee', 2830, '53225', '414', '43.111588', '-88.040388', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39971, 'Wauwatosa', 2830, '53225', '414', '43.111588', '-88.040388', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39972, 'Fredonia', 2830, '53021', '262', '43.488256', '-88.000502', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39973, 'Waubeka', 2830, '53021', '262', '43.488256', '-88.000502', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39974, 'Juneau', 2830, '53039', '920', '43.37162', '-88.705662', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39975, 'Lannon', 2830, '53046', '262', '43.154492', '-88.16387', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39976, 'Cheyenne', 2832, '82002', '307', '41.1335', '-104.8169', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39977, 'State Of Wyoming', 2832, '82002', '307', '41.1335', '-104.8169', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39978, 'Archer', 2832, '82009', '307', '41.383139', '-104.731026', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39979, 'Cheyenne', 2832, '82009', '307', '41.383139', '-104.731026', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39980, 'Iron Mountain', 2832, '82009', '307', '41.383139', '-104.731026', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39981, 'Buford', 2832, '82052', '307', '41.149939', '-105.440435', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39982, 'Horse Creek', 2832, '82061', '307', '41.446179', '-105.14179', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39983, 'Bosler', 2832, '82070', '307', '41.263828', '-105.80111', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39984, 'Foxpark', 2832, '82070', '307', '41.263828', '-105.80111', '2018-11-29 04:58:32', '2018-11-29 04:58:32'),\n(39985, 'Jelm', 2832, '82070', '307', '41.263828', '-105.80111', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39986, 'Laramie', 2832, '82070', '307', '41.263828', '-105.80111', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39987, 'Tie Siding', 2832, '82084', '307', '41.048322', '-105.433068', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39988, 'Red Desert', 2832, '82336', '307', '41.561816', '-108.043161', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39989, 'Tipton', 2832, '82336', '307', '41.561816', '-108.043161', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39990, 'Wamsutter', 2832, '82336', '307', '41.561816', '-108.043161', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39991, 'Dubois', 2832, '82513', '307', '43.508149', '-109.643646', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39992, 'Casper', 2832, '82638', '307', '42.8668', '-106.3125', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39993, 'Hiland', 2832, '82638', '307', '42.8668', '-106.3125', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39994, 'Moneta', 2832, '82638', '307', '42.8668', '-106.3125', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39995, 'Hulett', 2832, '82720', '307', '44.80063', '-104.708462', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39996, 'New Haven', 2832, '82720', '307', '44.80063', '-104.708462', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39997, 'Sundance', 2832, '82729', '307', '44.424084', '-104.375619', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39998, 'Arvada', 2832, '82831', '307', '44.777844', '-106.002396', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(39999, 'Wyarno', 2832, '82845', '307', '44.752276', '-106.67196', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(40000, 'Daniel', 2832, '83115', '307', '42.902871', '-110.26641', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(40001, 'Apo', 2777, '09356', '000', '0', '0', '2018-11-29 04:58:33', '2018-11-29 04:58:33'),\n(40002, 'Apo', 2777, '09706', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40003, 'Apo', 2777, '09708', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40004, 'Apo', 2777, '09725', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40005, 'Apo', 2777, '09055', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40006, 'Apo', 2777, '09088', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40007, 'Apo', 2777, '09004', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40008, 'Apo', 2777, '09006', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40009, 'Apo', 2777, '09021', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40010, 'Apo', 2777, '09459', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40011, 'Fpo', 2777, '09508', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40012, 'Fpo', 2777, '09834', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40013, 'Fpo', 2777, '09835', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40014, 'Apo', 2777, '09848', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40015, 'Fpo', 2777, '09565', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40016, 'Fpo', 2777, '09567', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40017, 'Fpo', 2777, '09581', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40018, 'Fpo', 2777, '09599', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40019, 'Apo', 2777, '09617', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40020, 'Apo', 2777, '09868', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40021, 'Dpo', 2777, '09213', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40022, 'Apo', 2777, '09214', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40023, 'Apo', 2777, '09250', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40024, 'Apo', 2777, '09315', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40025, 'Apo', 2777, '09347', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40026, 'Apo', 2777, '09365', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40027, 'Apo', 2777, '09366', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40028, 'Fpo', 2777, '09649', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40029, 'Apo', 2777, '09717', '000', '0', '0', '2018-11-29 04:58:34', '2018-11-29 04:58:34'),\n(40030, 'Apo', 2777, '09063', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40031, 'Apo', 2777, '09096', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40032, 'Apo', 2777, '09114', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40033, 'Apo', 2777, '09131', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40034, 'Apo', 2777, '09033', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40035, 'Apo', 2777, '09382', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40036, 'Apo', 2777, '09447', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40037, 'Dpo', 2777, '09748', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40038, 'Apo', 2777, '09749', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40039, 'Apo', 2777, '09751', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40040, 'Apo', 2777, '09833', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40041, 'Fpo', 2777, '09532', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40042, 'Fpo', 2777, '09549', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40043, 'Fpo', 2777, '09566', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40044, 'Fpo', 2777, '09582', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40045, 'Fpo', 2777, '09648', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(40046, 'Fpo', 2777, '09865', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40047, 'Apo', 2777, '09898', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40048, 'Apo', 2777, '09180', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40049, 'Apo', 2777, '09314', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40050, 'Apo', 2777, '09367', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40051, 'Dpo', 2777, '09715', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40052, 'Dpo', 2777, '09731', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40053, 'Apo', 2777, '09732', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40054, 'Dpo', 2777, '09734', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40055, 'Apo', 2777, '09014', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40056, 'Apo', 2777, '09049', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40057, 'Apo', 2777, '09380', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40058, 'Apo', 2777, '09397', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40059, 'Apo', 2777, '09464', '000', '0', '0', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40060, 'Anchorage', 2778, '99522', '907', '61.2181', '-149.9003', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40061, 'Alakanuk', 2778, '99554', '907', '62.723427', '-163.8538', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40062, 'Clarks Point', 2778, '99569', '907', '58.832661', '-157.861912', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40063, 'Cooper Landing', 2778, '99572', '907', '60.449316', '-150.036542', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40064, 'Cooper Lndg', 2778, '99572', '907', '60.449316', '-150.036542', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40065, 'English Bay', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40066, 'Fritz Creek', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40067, 'Halibut Cove', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40068, 'Homer', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40069, 'Kachemak', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40070, 'Nanwalek', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40071, 'Port Graham', 2778, '99603', '907', '59.571809', '-151.185592', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40072, 'Hope', 2778, '99605', '907', '60.885768', '-149.459365', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40073, 'Kwethluk', 2778, '99621', '907', '60.77896', '-161.396394', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40074, 'Big Lake', 2778, '99623', '907', '61.552884', '-149.862667', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40075, 'Houston', 2778, '99623', '907', '61.552884', '-149.862667', '2018-11-29 04:58:35', '2018-11-29 04:58:35'),\n(40076, 'Meadow Lake', 2778, '99623', '907', '61.552884', '-149.862667', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40077, 'Wasilla', 2778, '99623', '907', '61.552884', '-149.862667', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40078, 'Red Devil', 2778, '99656', '907', '61.713281', '-157.693584', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40079, 'Willow', 2778, '99688', '907', '61.611858', '-150.314412', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40080, 'Clear', 2778, '99704', '907', '64.749761', '-148.928394', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40081, 'Nenana', 2778, '99704', '907', '64.749761', '-148.928394', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40082, 'Fairbanks', 2778, '99705', '907', '64.729584', '-147.387896', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40083, 'North Pole', 2778, '99705', '907', '64.729584', '-147.387896', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40084, 'Fairbanks', 2778, '99706', '907', '64.8379', '-147.7166', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40085, 'Allakaket', 2778, '99720', '907', '66.534416', '-152.720306', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40086, 'Eagle', 2778, '99738', '907', '64.452624', '-141.224684', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40087, 'Koyuk', 2778, '99753', '907', '65.017771', '-161.035312', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40088, 'Denali National Park', 2778, '99755', '907', '63.580221', '-150.748066', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40089, 'Denali Park', 2778, '99755', '907', '63.580221', '-150.748066', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40090, 'Manley Hot Springs', 2778, '99756', '907', '65.160932', '-150.987476', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40091, 'Manley Spgs', 2778, '99756', '907', '65.160932', '-150.987476', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40092, 'Shaktoolik', 2778, '99771', '907', '64.695585', '-160.456996', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40093, 'Shungnak', 2778, '99773', '907', '66.733264', '-156.979206', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40094, 'Ambler', 2778, '99786', '907', '67.6806', '-156.875819', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40095, 'Fairbanks', 2778, '99790', '907', '64.8424', '-147.7185', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40096, 'Skagway', 2778, '99840', '907', '59.571902', '-135.353436', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40097, 'Ketchikan', 2778, '99903', '907', '55.723233', '-132.229524', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40098, 'Meyers Chuck', 2778, '99903', '907', '55.723233', '-132.229524', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40099, 'Craig', 2778, '99921', '907', '55.451702', '-132.992635', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40100, 'Fairbanks', 2778, '99711', '907', '64.7981', '-147.5304', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40101, 'Fairbanks', 2778, '99712', '907', '65.167944', '-146.590259', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40102, 'Fairbanks', 2778, '99714', '907', '64.691305', '-145.542698', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40103, 'Salcha', 2778, '99714', '907', '64.691305', '-145.542698', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40104, 'Central', 2778, '99730', '907', '65.232699', '-144.425723', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40105, 'Nulato', 2778, '99765', '907', '64.811372', '-158.052676', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40106, 'Mentasta Lake', 2778, '99780', '907', '63.867306', '-143.020004', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40107, 'Tok', 2778, '99780', '907', '63.867306', '-143.020004', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40108, 'Hoonah', 2778, '99829', '907', '58.031175', '-135.740702', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40109, 'Anchorage', 2778, '99513', '907', '61.214414', '-149.88525', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40110, 'Anchorage', 2778, '99530', '907', '61.262396', '-149.982738', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40111, 'Atka', 2778, '99547', '907', '52.210572', '-173.820056', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40112, 'Chevak', 2778, '99563', '907', '61.472368', '-164.837465', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40113, 'Chignik', 2778, '99564', '907', '56.304672', '-158.401254', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40114, 'Manokotak', 2778, '99628', '907', '58.883272', '-158.932643', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40115, 'Scammon Bay', 2778, '99662', '907', '61.802441', '-165.071643', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40116, 'Togiak', 2778, '99678', '907', '59.173478', '-160.715548', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40117, 'Kodiak', 2778, '99697', '907', '57.484237', '-153.402508', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40118, 'Cantwell', 2778, '99729', '907', '63.336685', '-148.086366', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40119, 'Delta Jct', 2778, '99731', '907', '63.885985', '-145.685734', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40120, 'Delta Junction', 2778, '99731', '907', '63.885985', '-145.685734', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40121, 'Fort Greely', 2778, '99731', '907', '63.885985', '-145.685734', '2018-11-29 04:58:36', '2018-11-29 04:58:36'),\n(40122, 'Kaktovik', 2778, '99747', '907', '70.120461', '-143.677878', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40123, 'Noatak', 2778, '99761', '907', '67.328764', '-162.768589', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40124, 'Diomede', 2778, '99762', '907', '65.144104', '-165.06972', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40125, 'Golovin', 2778, '99762', '907', '65.144104', '-165.06972', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40126, 'Little Diomede', 2778, '99762', '907', '65.144104', '-165.06972', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40127, 'Ltl Diomede', 2778, '99762', '907', '65.144104', '-165.06972', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40128, 'Nome', 2778, '99762', '907', '65.144104', '-165.06972', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40129, 'Noorvik', 2778, '99763', '907', '66.866576', '-159.851148', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40130, 'Venetie', 2778, '99781', '907', '67.008205', '-146.378047', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40131, 'Wrangell', 2778, '99929', '907', '56.179952', '-132.030401', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40132, 'Norwalk', 2785, '06856', '203', '41.1176', '-73.4086', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40133, 'Old Greenwich', 2785, '06870', '203', '41.033174', '-73.570009', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40134, 'Westport', 2785, '06881', '203', '41.1417', '-73.3585', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40135, 'Stamford', 2785, '06904', '203', '41.0535', '-73.5394', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40136, 'Conn National Bank', 2785, '06920', '203', '41.0535', '-73.5394', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40137, 'Stamford', 2785, '06920', '203', '41.0535', '-73.5394', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40138, 'Cornwall Brg', 2785, '06754', '860', '41.787124', '-73.35746', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40139, 'Cornwall Bridge', 2785, '06754', '860', '41.787124', '-73.35746', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40140, 'Warren', 2785, '06754', '860', '41.787124', '-73.35746', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40141, 'Marble Dale', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40142, 'Uniroyal Inc', 2785, '06749', '203', '41.5584', '-73.0516', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40143, 'Waterbury', 2785, '06749', '203', '41.5584', '-73.0516', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40144, 'South Kent', 2785, '06785', '860', '41.700596', '-73.459347', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40145, 'Danbury', 2785, '06817', '203', '41.3948', '-73.4544', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40146, 'Union Carbide Corp', 2785, '06817', '203', '41.3948', '-73.4544', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40147, 'N Haven', 2785, '06534', '203', '41.3083', '-72.9287', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40148, 'New Haven', 2785, '06534', '203', '41.3083', '-72.9287', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40149, 'Bridgeport', 2785, '06601', '203', '41.1667', '-73.2054', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40150, 'Stratford', 2785, '06614', '203', '41.230203', '-73.1248', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40151, 'Bridgeport', 2785, '06699', '203', '41.1667', '-73.2054', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40152, 'Controlled Distribution', 2785, '06699', '203', '41.1667', '-73.2054', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40153, 'Us Postal Service', 2785, '06701', '203', '41.5584', '-73.0516', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40154, 'Waterbury', 2785, '06701', '203', '41.5584', '-73.0516', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40155, 'Wtby', 2785, '06701', '203', '41.5584', '-73.0516', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40156, 'Norwalk', 2785, '06851', '203', '41.139682', '-73.405374', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40157, 'Marlboro', 2785, '06447', '860', '41.637948', '-72.455882', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40158, 'Marlborough', 2785, '06447', '860', '41.637948', '-72.455882', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40159, 'Meriden', 2785, '06450', '203', '41.537229', '-72.779368', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40160, 'Milldale', 2785, '06467', '203', '41.5655', '-72.8922', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40161, 'Huntington', 2785, '06484', '203', '41.315669', '-73.134957', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40162, 'Shelton', 2785, '06484', '203', '41.315669', '-73.134957', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40163, 'Westbrook', 2785, '06498', '860', '41.308479', '-72.465275', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40164, 'Hamden', 2785, '06514', '203', '41.371201', '-72.939707', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40165, 'N Haven', 2785, '06514', '203', '41.371201', '-72.939707', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40166, 'New Haven', 2785, '06514', '203', '41.371201', '-72.939707', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40167, 'N Haven', 2785, '06515', '203', '41.329074', '-72.969592', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40168, 'New Haven', 2785, '06515', '203', '41.329074', '-72.969592', '2018-11-29 04:58:37', '2018-11-29 04:58:37'),\n(40169, 'Westville', 2785, '06515', '203', '41.329074', '-72.969592', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40170, 'Stamford', 2785, '06902', '203', '41.060298', '-73.545275', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40171, 'Bantam', 2785, '06750', '860', '41.722714', '-73.257592', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40172, 'Bethlehem', 2785, '06751', '203', '41.637391', '-73.209538', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40173, 'Plymouth', 2785, '06782', '860', '41.657477', '-73.045766', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40174, 'Woodbury', 2785, '06798', '203', '41.56175', '-73.205931', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40175, 'Danbury', 2785, '06816', '203', '41.3948', '-73.4544', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40176, 'Grolier Entrprz Inc', 2785, '06816', '203', '41.3948', '-73.4544', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40177, 'West Haven', 2785, '06516', '203', '41.27317', '-72.959573', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40178, 'Hamden', 2785, '06517', '203', '41.350618', '-72.904194', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40179, 'New Haven', 2785, '06517', '203', '41.350618', '-72.904194', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40180, 'Whitneyville', 2785, '06517', '203', '41.350618', '-72.904194', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40181, 'N Haven', 2785, '06531', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40182, 'New Haven', 2785, '06531', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40183, 'Norwalk', 2785, '06852', '203', '41.1176', '-73.4086', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40184, 'Meriden', 2785, '06451', '203', '41.538363', '-72.818792', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40185, 'Rockfall', 2785, '06481', '860', '41.534506', '-72.699706', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40186, 'Sandy Hook', 2785, '06482', '203', '41.40497', '-73.249334', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40187, 'N Haven', 2785, '06516', '203', '41.27317', '-72.959573', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40188, 'W Haven', 2785, '06516', '203', '41.27317', '-72.959573', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40189, 'Stamford', 2785, '06901', '203', '41.054956', '-73.538734', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40190, 'Waterbury', 2785, '06726', '203', '41.5584', '-73.0516', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40191, 'Wtby', 2785, '06726', '203', '41.5584', '-73.0516', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40192, 'New Milford', 2785, '06776', '860', '41.587333', '-73.415842', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40193, 'Northville', 2785, '06776', '860', '41.587333', '-73.415842', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40194, 'Harwinton', 2785, '06792', '860', '41.77', '-73.06', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40195, 'Mbi Inc', 2785, '06792', '860', '41.77', '-73.06', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40196, 'Torrington', 2785, '06792', '860', '41.77', '-73.06', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40197, 'Fairfield', 2785, '06824', '203', '41.17451', '-73.284305', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40198, 'Fairfield', 2785, '06825', '203', '41.196335', '-73.244392', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40199, 'Conn Bank & Trust Co', 2785, '06540', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40200, 'New Haven', 2785, '06540', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40201, 'Bridgeport', 2785, '06607', '203', '41.17589', '-73.164916', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40202, 'Waterbury', 2785, '06706', '203', '41.534804', '-73.02277', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40203, 'Wtby', 2785, '06706', '203', '41.534804', '-73.02277', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40204, 'Waterbury', 2785, '06724', '203', '41.5584', '-73.0516', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40205, 'Wtby', 2785, '06724', '203', '41.5584', '-73.0516', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40206, 'Ivoryton', 2785, '06442', '860', '41.347904', '-72.44607', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40207, 'Wallingford', 2785, '06492', '203', '41.456625', '-72.810304', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40208, 'Yalesville', 2785, '06492', '203', '41.456625', '-72.810304', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40209, 'N Haven', 2785, '06506', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40210, 'New Haven', 2785, '06506', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40211, 'N Haven', 2785, '06507', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40212, 'New Haven', 2785, '06507', '203', '41.3083', '-72.9287', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40213, 'Waterbury', 2785, '06725', '203', '41.5584', '-73.0516', '2018-11-29 04:58:38', '2018-11-29 04:58:38'),\n(40214, 'Wtby', 2785, '06725', '203', '41.5584', '-73.0516', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40215, 'Norwalk', 2785, '06858', '203', '41.1176', '-73.4086', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40216, 'Setan Industries', 2785, '06858', '203', '41.1176', '-73.4086', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40217, 'Norwalk', 2785, '06860', '203', '41.1176', '-73.4086', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40218, 'Shared Zip For Brm', 2785, '06860', '203', '41.1176', '-73.4086', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40219, 'Redding Cen', 2785, '06875', '203', '41.3025', '-73.3839', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40220, 'Redding Center', 2785, '06875', '203', '41.3025', '-73.3839', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40221, 'Redding Ridge', 2785, '06876', '203', '41.3136', '-73.3505', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40222, 'Southport', 2785, '06890', '203', '41.148668', '-73.290929', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40223, 'Stamford', 2785, '06910', '203', '41.0489', '-73.5575', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40224, 'Norwalk', 2785, '06853', '203', '41.070442', '-73.437653', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40225, 'Rowayton', 2785, '06853', '203', '41.070442', '-73.437653', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40226, 'International Masters Pub', 2785, '06928', '203', '41.0535', '-73.5394', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40227, 'Stamford', 2785, '06928', '203', '41.0535', '-73.5394', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40228, 'New Preston', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40229, 'New Preston Marble Dale', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40230, 'New Preston Marbledale', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40231, 'New Preston-Marble Dale', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40232, 'Warren', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40233, 'Washington', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40234, 'Washington Depot', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40235, 'Washington Dt', 2785, '06777', '860', '41.69228', '-73.334194', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40236, 'Oakville', 2785, '06779', '860', '41.595414', '-73.080204', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40237, 'Watertown', 2785, '06779', '860', '41.595414', '-73.080204', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40238, 'Pequabuck', 2785, '06781', '860', '41.6729', '-72.9939', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40239, 'Terryville', 2785, '06786', '860', '41.664262', '-73.026039', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40240, 'Danbury', 2785, '06813', '203', '41.3948', '-73.4544', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40241, 'Darien', 2785, '06820', '203', '41.075974', '-73.481568', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40242, 'Noroton', 2785, '06820', '203', '41.075974', '-73.481568', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40243, 'Noroton Heights', 2785, '06820', '203', '41.075974', '-73.481568', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40244, 'Tokeneke', 2785, '06820', '203', '41.075974', '-73.481568', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40245, 'Glenville', 2785, '06831', '203', '41.08048', '-73.663465', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40246, 'N Haven', 2785, '06520', '203', '41.3083', '-72.9287', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40247, 'New Haven', 2785, '06520', '203', '41.3083', '-72.9287', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40248, 'Bridgeport', 2785, '06602', '203', '41.1738', '-73.1965', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40249, 'Bridgeport', 2785, '06604', '203', '41.183653', '-73.2099', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40250, 'Plaza', 2785, '06704', '203', '41.58446', '-73.03393', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40251, 'Waterbury', 2785, '06704', '203', '41.58446', '-73.03393', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40252, 'Wtby', 2785, '06704', '203', '41.58446', '-73.03393', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40253, 'Greenwich', 2785, '06831', '203', '41.08048', '-73.663465', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40254, 'Greens Farms', 2785, '06838', '203', '41.122939', '-73.315902', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40255, 'E Haven', 2785, '06513', '203', '41.315555', '-72.86361', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40256, 'East Haven', 2785, '06513', '203', '41.315555', '-72.86361', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40257, 'Fair Haven', 2785, '06513', '203', '41.315555', '-72.86361', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40258, 'N Haven', 2785, '06513', '203', '41.315555', '-72.86361', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40259, 'New Haven', 2785, '06513', '203', '41.315555', '-72.86361', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40260, 'Gaylordsville', 2785, '06755', '860', '41.648328', '-73.484458', '2018-11-29 04:58:39', '2018-11-29 04:58:39'),\n(40261, 'Thomaston', 2785, '06787', '860', '41.656803', '-73.096012', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40262, 'Advertising Distr Co', 2785, '06537', '203', '41.3083', '-72.9287', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40263, 'N Haven', 2785, '06537', '203', '41.3083', '-72.9287', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40264, 'New Haven', 2785, '06537', '203', '41.3083', '-72.9287', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40265, 'Bridgeport', 2785, '06605', '203', '41.162298', '-73.216444', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40266, 'Bridgeport', 2785, '06610', '203', '41.206456', '-73.171486', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40267, 'Prospect', 2785, '06712', '203', '41.499114', '-72.976396', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40268, 'Waterbury', 2785, '06712', '203', '41.499114', '-72.976396', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40269, 'Waterbury', 2785, '06721', '203', '41.5584', '-73.0516', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40270, 'Wtby', 2785, '06721', '203', '41.5584', '-73.0516', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40271, 'Marion', 2785, '06444', '860', '41.5625', '-72.9343', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40272, 'Portland', 2785, '06480', '860', '41.598382', '-72.589099', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40273, 'N Haven', 2785, '06505', '203', '41.3083', '-72.9287', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40274, 'New Haven', 2785, '06505', '203', '41.3083', '-72.9287', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40275, 'Norwalk', 2785, '06854', '203', '41.083487', '-73.421231', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40276, 'South Norwalk', 2785, '06854', '203', '41.083487', '-73.421231', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40277, 'Wilton', 2785, '06897', '203', '41.20936', '-73.441722', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40278, 'Shared Zip For Brm', 2785, '06913', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40279, 'Stamford', 2785, '06913', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40280, 'Clairol Co', 2785, '06922', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40281, 'Stamford', 2785, '06922', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40282, 'Bridgewater', 2785, '06752', '860', '41.51671', '-73.35779', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40283, 'Morris', 2785, '06763', '860', '41.690327', '-73.20843', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40284, 'Oakville', 2785, '06795', '860', '41.615192', '-73.11412', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40285, 'Watertown', 2785, '06795', '860', '41.615192', '-73.11412', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40286, 'Brookfield', 2785, '06804', '203', '41.467638', '-73.387889', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40287, 'Brookfield Center', 2785, '06804', '203', '41.467638', '-73.387889', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40288, 'Brookfld Ctr', 2785, '06804', '203', '41.467638', '-73.387889', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40289, 'Georgetown', 2785, '06829', '203', '41.2557', '-73.4353', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40290, 'Norwalk', 2785, '06859', '203', '41.1176', '-73.4086', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40291, 'Perkin Elmer Corp', 2785, '06859', '203', '41.1176', '-73.4086', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40292, 'Springdale', 2785, '06907', '203', '41.096524', '-73.518455', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40293, 'Stamford', 2785, '06907', '203', '41.096524', '-73.518455', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40294, 'Conn Bank & Trust', 2785, '06925', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40295, 'Stamford', 2785, '06925', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40296, 'Pitney Bowes Inc', 2785, '06926', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40297, 'Stamford', 2785, '06926', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40298, 'Gecc', 2785, '06927', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40299, 'Stamford', 2785, '06927', '203', '41.0535', '-73.5394', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40300, 'Kent', 2785, '06757', '860', '41.742712', '-73.44834', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40301, 'Harwinton', 2785, '06791', '860', '41.752989', '-73.059862', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40302, 'Torrington', 2785, '06791', '860', '41.752989', '-73.059862', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40303, 'Washington', 2785, '06793', '860', '41.639272', '-73.296241', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40304, 'Washington Depot', 2785, '06793', '860', '41.639272', '-73.296241', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40305, 'Washington Dt', 2785, '06793', '860', '41.639272', '-73.296241', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40306, 'Washington Green', 2785, '06793', '860', '41.639272', '-73.296241', '2018-11-29 04:58:40', '2018-11-29 04:58:40'),\n(40307, 'Cos Cob', 2785, '06807', '203', '41.059566', '-73.590086', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40308, 'Bridgeport', 2785, '06606', '203', '41.20862', '-73.211428', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40309, 'Waterbury', 2785, '06708', '203', '41.55146', '-73.064841', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40310, 'Wtby', 2785, '06708', '203', '41.55146', '-73.064841', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40311, 'Waterbury', 2785, '06710', '203', '41.571625', '-73.045416', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40312, 'Wtby', 2785, '06710', '203', '41.571625', '-73.045416', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40313, 'Waterbury', 2785, '06723', '203', '41.5584', '-73.0516', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40314, 'Wtby', 2785, '06723', '203', '41.5584', '-73.0516', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40315, 'Middle Haddam', 2785, '06456', '860', '41.5568', '-72.5548', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40316, 'Middletown', 2785, '06457', '860', '41.549521', '-72.651825', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40317, 'Middletown', 2785, '06459', '860', '41.556473', '-72.65569', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40318, 'Wesleyan', 2785, '06459', '860', '41.556473', '-72.65569', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40319, 'Fenwick', 2785, '06475', '860', '41.301527', '-72.387936', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40320, 'Old Saybrook', 2785, '06475', '860', '41.301527', '-72.387936', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40321, 'Southington', 2785, '06489', '860', '41.600693', '-72.876222', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40322, 'Centerville-Mount Carmel', 2785, '06518', '203', '41.417583', '-72.907432', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40323, 'Hamden', 2785, '06518', '203', '41.417583', '-72.907432', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40324, 'Mount Carmel', 2785, '06518', '203', '41.417583', '-72.907432', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40325, 'N Haven', 2785, '06518', '203', '41.417583', '-72.907432', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40326, 'New Haven', 2785, '06518', '203', '41.417583', '-72.907432', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40327, 'Advertising Distr Co', 2785, '06538', '203', '41.3083', '-72.9287', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40328, 'N Haven', 2785, '06538', '203', '41.3083', '-72.9287', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40329, 'New Haven', 2785, '06538', '203', '41.3083', '-72.9287', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40330, 'Trumbull', 2785, '06611', '203', '41.261696', '-73.20786', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40331, 'Greenwich', 2785, '06836', '203', '41.0266', '-73.6287', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40332, 'Madison', 2785, '06443', '203', '41.343418', '-72.601912', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40333, 'Milford', 2785, '06461', '203', '41.238246', '-73.065889', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40334, 'Orange', 2785, '06477', '203', '41.27948', '-73.033412', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40335, 'Southbury', 2785, '06488', '203', '41.467383', '-73.235445', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40336, 'International Masters Pub', 2785, '06495', '203', '41.4588', '-72.8041', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40337, 'Wallingford', 2785, '06495', '203', '41.4588', '-72.8041', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40338, 'N Haven', 2785, '06502', '203', '41.3083', '-72.9287', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40339, 'New Haven', 2785, '06502', '203', '41.3083', '-72.9287', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40340, 'N Haven', 2785, '06504', '203', '41.303647', '-72.934946', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40341, 'New Haven', 2785, '06504', '203', '41.303647', '-72.934946', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40342, 'Peace Corps', 2786, '20526', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40343, 'Washington', 2786, '20526', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40344, 'Dept Ag Ofc Outside Hq', 2786, '20251', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40345, 'Washington', 2786, '20251', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40346, 'Gsa Crystal City', 2786, '20406', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40347, 'Washington', 2786, '20406', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40348, 'Housing And Urban Dev', 2786, '20410', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40349, 'Washington', 2786, '20410', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40350, 'Geological Survey', 2786, '20244', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40351, 'Washington', 2786, '20244', '202', '38.8951', '-77.0369', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40352, 'Usps Headquarters', 2786, '20260', '202', '38.8928', '-77.0293', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40353, 'Washington', 2786, '20260', '202', '38.8928', '-77.0293', '2018-11-29 04:58:41', '2018-11-29 04:58:41'),\n(40354, 'Naval Telecommunications Com', 2786, '20394', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40355, 'Washington', 2786, '20394', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40356, 'Dept Of State', 2786, '20520', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40357, 'Washington', 2786, '20520', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40358, 'Gpo Field Serv Div', 2786, '20403', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40359, 'Washington', 2786, '20403', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40360, 'Gen Services Admin', 2786, '20405', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40361, 'Washington', 2786, '20405', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40362, 'Action', 2786, '20525', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40363, 'Washington', 2786, '20525', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40364, 'Bureau Narc Dngr Drugs Lab', 2786, '20532', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40365, 'Washington', 2786, '20532', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40366, 'Dept Transportation', 2786, '20591', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40367, 'Washington', 2786, '20591', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40368, 'Bureau Of Mines', 2786, '20241', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40369, 'Washington', 2786, '20241', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40370, 'Military Sealift Command', 2786, '20398', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40371, 'Washington', 2786, '20398', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40372, 'Washington Na', 2786, '20398', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40373, 'Washington Navy Yard', 2786, '20398', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40374, 'Gsa Region 3', 2786, '20407', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40375, 'Washington', 2786, '20407', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40376, 'Fed Records Center', 2786, '20409', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40377, 'Washington', 2786, '20409', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40378, 'Washington', 2786, '20511', '202', '38.98', '-77.05', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40379, 'Dept Homeland Security', 2786, '20528', '202', '38.896802', '-77.026961', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40380, 'Washington', 2786, '20528', '202', '38.896802', '-77.026961', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40381, 'Dept Justice', 2786, '20530', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40382, 'Washington', 2786, '20530', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40383, 'Law Enforce Assist Adm', 2786, '20531', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40384, 'Washington', 2786, '20531', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40385, 'Bureau Of Indian Affairs', 2786, '20245', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40386, 'Washington', 2786, '20245', '202', '38.8951', '-77.0369', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40387, 'Parcel Return Service', 2786, '56904', '202', '38.895096', '-77.036559', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40388, 'Parcel Return Svc', 2786, '56904', '202', '38.895096', '-77.036559', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40389, 'Prs', 2786, '56904', '202', '38.895096', '-77.036559', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40390, 'Washington', 2786, '20030', '202', '38.895', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40391, 'Washington', 2786, '20057', '202', '38.909122', '-77.075356', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40392, 'Howard Univ', 2786, '20059', '202', '38.923584', '-77.02055', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40393, 'Washington', 2786, '20059', '202', '38.923584', '-77.02055', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40394, 'Natl Repub Cong Comm', 2786, '20082', '202', '38.895', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40395, 'Washington', 2786, '20082', '202', '38.895', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40396, 'Vietnam Vet Mem Fund', 2786, '20098', '202', '38.895', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40397, 'Washington', 2786, '20098', '202', '38.895', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40398, 'Army Criminal Invest', 2786, '20318', '202', '38.8926', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40399, 'Joint Staff', 2786, '20318', '202', '38.8926', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40400, 'Washington', 2786, '20318', '202', '38.8926', '-77.0367', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40401, 'Dulles International Airp', 2786, '20041', '202', '38.932332', '-77.443741', '2018-11-29 04:58:42', '2018-11-29 04:58:42'),\n(40402, 'Washington', 2786, '20041', '202', '38.932332', '-77.443741', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40403, 'Pentagon', 2786, '20050', '202', '38.8713', '-77.0555', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40404, 'Washington', 2786, '20050', '202', '38.8713', '-77.0555', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40405, 'Georgetown Univ', 2786, '20057', '202', '38.909122', '-77.075356', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40406, 'Comm On Civil Rights', 2786, '20425', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40407, 'Washington', 2786, '20425', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40408, 'Consumer Product Safety Comm', 2786, '20207', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40409, 'Washington', 2786, '20207', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40410, 'Philatelic Sales', 2786, '20266', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40411, 'Washington', 2786, '20266', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40412, 'Cnsmr Fnncl Prtct Brd', 2786, '20552', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40413, 'Washington', 2786, '20552', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40414, 'Us Copyright Office', 2786, '20559', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40415, 'Washington', 2786, '20559', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40416, 'John F Kennedy Center', 2786, '20566', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40417, 'Washington', 2786, '20566', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40418, 'Inter American Dev Bank', 2786, '20577', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40419, 'Washington', 2786, '20577', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40420, 'Equal Emp Opportunity Comm', 2786, '20507', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40421, 'Washington', 2786, '20507', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40422, 'Washington', 2786, '20509', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40423, 'White House Ofc Staff', 2786, '20509', '202', '38.8951', '-77.0369', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40424, 'Newark', 2787, '19716', '302', '39.678733', '-75.753479', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40425, 'Odessa', 2787, '19730', '302', '39.455482', '-75.659468', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40426, 'Dupont Inc', 2787, '19898', '302', '39.7459', '-75.5466', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40427, 'Wilmington', 2787, '19898', '302', '39.7459', '-75.5466', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40428, 'Bethany Beach', 2787, '19930', '302', '38.556086', '-75.06921', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40429, 'S Bethany', 2787, '19930', '302', '38.556086', '-75.06921', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40430, 'South Bethany', 2787, '19930', '302', '38.556086', '-75.06921', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40431, 'Marydel', 2787, '19964', '302', '39.10573', '-75.715946', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40432, 'Greenville', 2787, '19807', '302', '39.795501', '-75.614412', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40433, 'Wilmington', 2787, '19807', '302', '39.795501', '-75.614412', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40434, 'Wilmington', 2787, '19850', '302', '39.7579', '-75.5474', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40435, 'Wilmington', 2787, '19880', '302', '39.7464', '-75.5468', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40436, 'Bank Of America', 2787, '19891', '302', '39.7459', '-75.5466', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40437, 'Wilmington', 2787, '19891', '302', '39.7459', '-75.5466', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40438, 'Newark', 2787, '19711', '302', '39.715481', '-75.731829', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40439, 'Hockessin', 2787, '19707', '302', '39.7866', '-75.685016', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40440, 'Avon Products Inc', 2787, '19712', '302', '39.6837', '-75.7501', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40441, 'Key Biscayne', 2788, '33149', '305', '25.711367', '-80.163164', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40442, 'Miami', 2788, '33149', '305', '25.711367', '-80.163164', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40443, 'Homestead', 2788, '33032', '305', '25.523963', '-80.37761', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40444, 'Naranja', 2788, '33032', '305', '25.523963', '-80.37761', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40445, 'Princeton', 2788, '33032', '305', '25.523963', '-80.37761', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40446, 'Redland', 2788, '33032', '305', '25.523963', '-80.37761', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40447, 'Miami Beach', 2788, '33140', '305', '25.822666', '-80.139628', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40448, 'Sunset Island', 2788, '33140', '305', '25.822666', '-80.139628', '2018-11-29 04:58:43', '2018-11-29 04:58:43'),\n(40449, 'Cross Key', 2788, '33037', '305', '25.187234', '-80.379294', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40450, 'Key Largo', 2788, '33037', '305', '25.187234', '-80.379294', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40451, 'Ocean Reef Club', 2788, '33037', '305', '25.187234', '-80.379294', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40452, 'Upper Key Largo', 2788, '33037', '305', '25.187234', '-80.379294', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40453, 'Wabasso', 2788, '32970', '772', '27.751249', '-80.450129', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40454, 'Dania', 2788, '33004', '954', '26.063048', '-80.137732', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40455, 'Dania Beach', 2788, '33004', '954', '26.063048', '-80.137732', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40456, 'El Portal', 2788, '33150', '305', '25.852597', '-80.209076', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40457, 'Miami', 2788, '33150', '305', '25.852597', '-80.209076', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40458, 'Miami', 2788, '33142', '305', '25.812534', '-80.24044', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40459, 'Coral Gables', 2788, '33144', '305', '25.762862', '-80.311957', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40460, 'Miami', 2788, '33144', '305', '25.762862', '-80.311957', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40461, 'Sweetwater', 2788, '33144', '305', '25.762862', '-80.311957', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40462, 'West Miami', 2788, '33144', '305', '25.762862', '-80.311957', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40463, 'Homestead', 2788, '33035', '305', '25.377047', '-80.321418', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40464, 'Coral Springs', 2788, '33073', '954', '26.300892', '-80.176926', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40465, 'Margate', 2788, '33073', '954', '26.300892', '-80.176926', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40466, 'Parkland', 2788, '33073', '954', '26.300892', '-80.176926', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40467, 'Pompano Beach', 2788, '33073', '954', '26.300892', '-80.176926', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40468, 'Miami', 2788, '33106', '305', '25.695039', '-80.448876', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40469, 'Skyshop Logistics Inc', 2788, '33106', '305', '25.695039', '-80.448876', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40470, 'Rockledge', 2788, '32955', '321', '28.283189', '-80.765212', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40471, 'Viera', 2788, '32955', '321', '28.283189', '-80.765212', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40472, 'Rockledge', 2788, '32956', '321', '28.3507', '-80.7256', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40473, 'Dr Martin Luther King Jr', 2788, '33147', '305', '25.851486', '-80.237422', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40474, 'Miami', 2788, '33147', '305', '25.851486', '-80.237422', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40475, 'Redland', 2788, '33031', '305', '25.518278', '-80.51563', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40476, 'Coconut Creek', 2788, '33093', '954', '26.2318', '-80.1225', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40477, 'Coconutcreek', 2788, '33093', '954', '26.2318', '-80.1225', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40478, 'Margate', 2788, '33093', '954', '26.2318', '-80.1225', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40479, 'Pompano Beach', 2788, '33093', '954', '26.2318', '-80.1225', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40480, 'Miami', 2788, '33116', '305', '25.7738', '-80.1936', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40481, 'Sharpes', 2788, '32959', '321', '28.4317', '-80.7603', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40482, 'Air Mail Facility', 2788, '33122', '305', '25.797074', '-80.300742', '2018-11-29 04:58:44', '2018-11-29 04:58:44');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(40483, 'Hialeah', 2788, '33013', '305', '25.860064', '-80.271484', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40484, 'Hialeah', 2788, '33014', '305', '25.904766', '-80.300764', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40485, 'Hialeah Lakes', 2788, '33014', '305', '25.904766', '-80.300764', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40486, 'Miami Gardens', 2788, '33014', '305', '25.904766', '-80.300764', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40487, 'Miami Lakes', 2788, '33014', '305', '25.904766', '-80.300764', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40488, 'Coconut Creek', 2788, '33097', '954', '26.2318', '-80.1225', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40489, 'Pompano Beach', 2788, '33097', '954', '26.2318', '-80.1225', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40490, 'Vero Beach', 2788, '32962', '772', '27.592104', '-80.385349', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40491, 'Vero Beach', 2788, '32965', '561', '27.6383', '-80.3976', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40492, 'Sebastian', 2788, '32978', '772', '27.8162', '-80.4706', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40493, 'Miami', 2788, '33119', '305', '25.7738', '-80.1936', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40494, 'Miami Beach', 2788, '33119', '305', '25.7738', '-80.1936', '2018-11-29 04:58:44', '2018-11-29 04:58:44'),\n(40495, 'Commerce', 2789, '30529', '706', '34.220806', '-83.498174', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40496, 'Lakemont', 2789, '30552', '706', '34.763442', '-83.44472', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40497, 'Avalon', 2789, '30577', '706', '34.550762', '-83.308086', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40498, 'Toccoa', 2789, '30577', '706', '34.550762', '-83.308086', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40499, 'Appling', 2789, '30802', '706', '33.600279', '-82.30347', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40500, 'Leah', 2789, '30802', '706', '33.600279', '-82.30347', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40501, 'Phinizy', 2789, '30802', '706', '33.600279', '-82.30347', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40502, 'Pollards Corner', 2789, '30802', '706', '33.600279', '-82.30347', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40503, 'Gough', 2789, '30811', '706', '33.0918', '-82.2269', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40504, 'Aline', 2789, '30420', '912', '32.262106', '-82.125958', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40505, 'Cobbtown', 2789, '30420', '912', '32.262106', '-82.125958', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40506, 'Hagan', 2789, '30429', '912', '32.161264', '-81.939687', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40507, 'Grange', 2789, '30434', '478', '32.98685', '-82.427247', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40508, 'Louisville', 2789, '30434', '478', '32.98685', '-82.427247', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40509, 'Rosier', 2789, '30434', '478', '32.98685', '-82.427247', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40510, 'Vidette', 2789, '30434', '478', '32.98685', '-82.427247', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40511, 'Rockledge', 2789, '30454', '478', '32.444016', '-82.725647', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40512, 'Statesboro', 2789, '30461', '912', '32.519842', '-81.707465', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40513, 'Athens', 2789, '30604', '706', '33.9605', '-83.3784', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40514, 'Bethlehem', 2789, '30620', '770', '33.927952', '-83.766243', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40515, 'Comer', 2789, '30629', '706', '34.078975', '-83.096169', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40516, 'Hapeville', 2789, '30354', '404', '33.659412', '-84.389532', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40517, 'Atl', 2789, '30370', '404', '33.7486', '-84.3884', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40518, 'Atlanta', 2789, '30370', '404', '33.7486', '-84.3884', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40519, 'Atl', 2789, '30375', '404', '33.7486', '-84.3884', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40520, 'Atlanta', 2789, '30375', '404', '33.7486', '-84.3884', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40521, 'Att Bellsouth', 2789, '30375', '404', '33.7486', '-84.3884', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40522, 'Baldwin', 2789, '30511', '706', '34.453632', '-83.472203', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40523, 'Buford', 2789, '30518', '770', '34.130792', '-84.019264', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40524, 'Rest Haven', 2789, '30518', '770', '34.130792', '-84.019264', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40525, 'Sugar Hill', 2789, '30518', '770', '34.130792', '-84.019264', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40526, 'Sugarhill', 2789, '30518', '770', '34.130792', '-84.019264', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40527, 'Atl', 2789, '30320', '404', '33.642533', '-84.444178', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40528, 'Atlanta', 2789, '30320', '404', '33.642533', '-84.444178', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40529, 'Logistics & Distribution Ctr', 2789, '30320', '404', '33.642533', '-84.444178', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40530, 'Atl', 2789, '30334', '404', '33.74865', '-84.387445', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40531, 'Atlanta', 2789, '30334', '404', '33.74865', '-84.387445', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40532, 'Atl', 2789, '30336', '404', '33.74089', '-84.563616', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40533, 'Atlanta', 2789, '30336', '404', '33.74089', '-84.563616', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40534, 'Industrial', 2789, '30336', '404', '33.74089', '-84.563616', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40535, 'Cassville', 2789, '30123', '770', '34.2432', '-84.8505', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40536, 'Cave Spring', 2789, '30124', '706', '34.129332', '-85.346249', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40537, 'Emerson', 2789, '30137', '770', '34.12651', '-84.7685', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40538, 'Esom Hill', 2789, '30138', '770', '33.9495', '-85.3881', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40539, 'Douglasville', 2789, '30154', '770', '34.7515', '-84.7475', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40540, 'Holly Springs', 2789, '30188', '770', '34.120573', '-84.447901', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40541, 'Woodstock', 2789, '30188', '770', '34.120573', '-84.447901', '2018-11-29 04:58:45', '2018-11-29 04:58:45'),\n(40542, 'Norcross', 2789, '30071', '770', '33.945111', '-84.21212', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40543, 'Peachtree Corners', 2789, '30071', '770', '33.945111', '-84.21212', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40544, 'Lithonia', 2789, '30074', '770', '33.746', '-84.1369', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40545, 'Redan', 2789, '30074', '770', '33.746', '-84.1369', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40546, 'Armuchee', 2789, '30105', '706', '34.477244', '-85.149384', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40547, 'Ball Ground', 2789, '30107', '770', '34.341886', '-84.353919', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40548, 'Greenville', 2789, '30222', '706', '33.051264', '-84.743581', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40549, 'Stovall', 2789, '30222', '706', '33.051264', '-84.743581', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40550, 'Alpharetta', 2789, '30004', '770', '34.128581', '-84.294854', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40551, 'Milton', 2789, '30004', '770', '34.128581', '-84.294854', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40552, 'Alpharetta', 2789, '30005', '770', '34.090544', '-84.218282', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40553, 'Johns Creek', 2789, '30005', '770', '34.090544', '-84.218282', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40554, 'Marietta', 2789, '30007', '770', '33.9527', '-84.5502', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40555, 'Cumming', 2789, '30040', '770', '34.210999', '-84.179291', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40556, 'Oxford', 2789, '30054', '770', '33.67948', '-83.873989', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40557, 'East Ellijay', 2789, '30540', '706', '34.709086', '-84.524167', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40558, 'Ellijay', 2789, '30540', '706', '34.709086', '-84.524167', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40559, 'Epworth', 2789, '30541', '706', '34.921611', '-84.496384', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40560, 'Flowery Br', 2789, '30542', '770', '34.170932', '-83.918101', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40561, 'Flowery Branch', 2789, '30542', '770', '34.170932', '-83.918101', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40562, 'Avalon', 2789, '30557', '706', '34.49816', '-83.197692', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40563, 'Martin', 2789, '30557', '706', '34.49816', '-83.197692', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40564, 'Maysville', 2789, '30558', '706', '34.283128', '-83.577584', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40565, 'Rocky Face', 2789, '30740', '706', '34.756084', '-85.08997', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40566, 'Rossville', 2789, '30741', '706', '34.93652', '-85.273624', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40567, 'Varnell', 2789, '30756', '706', '34.9027', '-84.9743', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40568, 'Camak', 2789, '30807', '706', '33.479284', '-82.639128', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40569, 'Daisy', 2789, '30423', '912', '32.146187', '-81.832468', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40570, 'Manassas', 2789, '30438', '912', '32.095699', '-82.05252', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40571, 'Excelsior', 2789, '30439', '912', '32.408958', '-82.086546', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40572, 'Metter', 2789, '30439', '912', '32.408958', '-82.086546', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40573, 'Coleman Lake', 2789, '30441', '478', '32.817293', '-82.250371', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40574, 'Colemans Lake', 2789, '30441', '478', '32.817293', '-82.250371', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40575, 'Green Way', 2789, '30441', '478', '32.817293', '-82.250371', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40576, 'Greenway', 2789, '30441', '478', '32.817293', '-82.250371', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40577, 'Herndon', 2789, '30441', '478', '32.817293', '-82.250371', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40578, 'Midville', 2789, '30441', '478', '32.817293', '-82.250371', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40579, 'Sardis', 2789, '30456', '478', '32.975329', '-81.784321', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40580, 'Soperton', 2789, '30457', '912', '32.400141', '-82.565486', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40581, 'Statesboro', 2789, '30458', '912', '32.392009', '-81.839531', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40582, 'Uvalda', 2789, '30473', '912', '32.032723', '-82.483565', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40583, 'Athens', 2789, '30605', '706', '33.903155', '-83.322928', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40584, 'Bogart', 2789, '30622', '706', '33.921738', '-83.520702', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40585, 'Buckhead', 2789, '30625', '706', '33.532889', '-83.350913', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40586, 'Atl', 2789, '30356', '404', '33.9626', '-84.3434', '2018-11-29 04:58:46', '2018-11-29 04:58:46'),\n(40587, 'Atlanta', 2789, '30356', '404', '33.9626', '-84.3434', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40588, 'Dunwoody', 2789, '30356', '404', '33.9626', '-84.3434', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40589, 'Atl', 2789, '30357', '404', '33.7486', '-84.3884', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40590, 'Atlanta', 2789, '30357', '404', '33.7486', '-84.3884', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40591, 'Atl', 2789, '30322', '404', '33.795903', '-84.328337', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40592, 'Atlanta', 2789, '30322', '404', '33.795903', '-84.328337', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40593, 'Emory University', 2789, '30322', '404', '33.795903', '-84.328337', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40594, 'Atl', 2789, '30324', '404', '33.819787', '-84.360213', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40595, 'Atlanta', 2789, '30324', '404', '33.819787', '-84.360213', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40596, 'Atl', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40597, 'Atlanta', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40598, 'Cumberland', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40599, 'Overlook Sru', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40600, 'Sandy Spgs', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40601, 'Sandy Springs', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40602, 'Vinings', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40603, 'Vinnings', 2789, '30339', '770', '33.875915', '-84.454631', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40604, 'Kennesaw', 2789, '30156', '770', '33.9919', '-84.6543', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40605, 'Dallas', 2789, '30157', '770', '33.894328', '-84.86081', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40606, 'Rydal', 2789, '30171', '770', '34.364406', '-84.746793', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40607, 'Concord', 2789, '30206', '770', '33.100515', '-84.454541', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40608, 'Smoke Rise', 2789, '30087', '770', '33.81578', '-84.132568', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40609, 'Stone Mountain', 2789, '30087', '770', '33.81578', '-84.132568', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40610, 'Stone Mtn', 2789, '30087', '770', '33.81578', '-84.132568', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40611, 'Marietta', 2789, '30090', '770', '33.9525', '-84.55', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40612, 'Griffin', 2789, '30223', '770', '33.28786', '-84.275054', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40613, 'Jonesboro', 2789, '30238', '770', '33.497617', '-84.382529', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40614, 'Decatur', 2789, '30037', '404', '33.7749', '-84.2965', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40615, 'Lithonia', 2789, '30038', '770', '33.659282', '-84.142881', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40616, 'Mansfield', 2789, '30055', '770', '33.503105', '-83.737978', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40617, 'Newborn', 2789, '30056', '770', '33.484102', '-83.645077', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40618, 'Lithia Spgs', 2789, '30122', '770', '33.759169', '-84.64516', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40619, 'Lithia Springs', 2789, '30122', '770', '33.759169', '-84.64516', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40620, 'Commerce', 2789, '30530', '706', '34.227535', '-83.379823', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40621, 'Oakwood', 2789, '30566', '770', '34.238014', '-83.894632', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40622, 'Wiley', 2789, '30581', '706', '34.795463', '-83.422208', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40623, 'Young Harris', 2789, '30582', '706', '34.930265', '-83.900079', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40624, 'Plainville', 2789, '30733', '706', '34.41051', '-85.053924', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40625, 'Ranger', 2789, '30734', '706', '34.53299', '-84.688108', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40626, 'Summerville', 2789, '30747', '706', '34.515587', '-85.285974', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40627, 'Lookout Mountain', 2789, '30750', '706', '34.929409', '-85.409488', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40628, 'Lookout Mtn', 2789, '30750', '706', '34.929409', '-85.409488', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40629, 'Norristown', 2789, '30447', '478', '32.503875', '-82.488244', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40630, 'Toccoa Falls', 2789, '30598', '706', '34.602025', '-83.361568', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40631, 'Baker-Taylor', 2789, '30599', '706', '34.2038', '-83.4573', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40632, 'Commerce', 2789, '30599', '706', '34.2038', '-83.4573', '2018-11-29 04:58:47', '2018-11-29 04:58:47'),\n(40633, 'Crawfordville', 2789, '30631', '706', '33.569343', '-82.847031', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40634, 'Atl', 2789, '30396', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40635, 'Atlanta', 2789, '30396', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40636, 'Georgia Power', 2789, '30396', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40637, 'Buford', 2789, '30515', '770', '34.1046', '-84.0037', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40638, 'Norcross', 2789, '30092', '770', '33.968149', '-84.226788', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40639, 'Parkway', 2789, '30092', '770', '33.968149', '-84.226788', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40640, 'Peachtree Corners', 2789, '30092', '770', '33.968149', '-84.226788', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40641, 'Carrollton', 2789, '30117', '770', '33.576764', '-85.132925', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40642, 'University Of West Georgia', 2789, '30117', '770', '33.576764', '-85.132925', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40643, 'Carrollton', 2789, '30119', '770', '33.5665', '-85.0756', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40644, 'Hampton', 2789, '30228', '770', '33.408048', '-84.303024', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40645, 'Ringgold', 2789, '30736', '706', '34.877644', '-85.119492', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40646, 'Grovetown', 2789, '30813', '706', '33.461572', '-82.220743', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40647, 'Glennville', 2789, '30427', '912', '31.931982', '-81.988948', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40648, 'Mendes', 2789, '30427', '912', '31.931982', '-81.988948', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40649, 'Mount Vernon', 2789, '30445', '912', '32.171454', '-82.587564', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40650, 'Statesboro', 2789, '30459', '912', '32.4486', '-81.7833', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40651, 'Tarrytown', 2789, '30470', '912', '32.298069', '-82.53515', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40652, 'Athens', 2789, '30602', '706', '33.949416', '-83.376226', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40653, 'University Of Georgia', 2789, '30602', '706', '33.949416', '-83.376226', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40654, 'Carlton', 2789, '30627', '706', '33.973118', '-82.939512', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40655, 'Atl', 2789, '30368', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40656, 'Atlanta', 2789, '30368', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40657, 'Suntrust', 2789, '30368', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40658, 'Moxley', 2789, '30477', '478', '32.862623', '-82.445522', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40659, 'Wadley', 2789, '30477', '478', '32.862623', '-82.445522', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40660, 'Chestnut Mountain', 2789, '30502', '770', '34.1723', '-83.8384', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40661, 'Chestnut Mtn', 2789, '30502', '770', '34.1723', '-83.8384', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40662, 'Oakwood', 2789, '30502', '770', '34.1723', '-83.8384', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40663, 'Gainesville', 2789, '30504', '770', '34.273884', '-83.892904', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40664, 'Atlanta', 2789, '30318', '404', '33.793085', '-84.445357', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40665, 'Atl', 2789, '30343', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40666, 'Atlanta', 2789, '30343', '404', '33.7486', '-84.3884', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40667, 'Mountain City', 2789, '30562', '706', '34.919611', '-83.385646', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40668, 'Saute Nacoche', 2789, '30571', '706', '34.718709', '-83.706786', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40669, 'Saute-Nacoche', 2789, '30571', '706', '34.718709', '-83.706786', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40670, 'Sautee', 2789, '30571', '706', '34.718709', '-83.706786', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40671, 'Sautee Nacoochee', 2789, '30571', '706', '34.718709', '-83.706786', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40672, 'Tiger', 2789, '30576', '706', '34.811204', '-83.436919', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40673, 'Claxton', 2789, '30417', '912', '32.164356', '-81.903494', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40674, 'Girard', 2789, '30426', '478', '33.048308', '-81.680524', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40675, 'Birdsville', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40676, 'Butts', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40677, 'Emmalane', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40678, 'Millen', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40679, 'Perkins', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:48', '2018-11-29 04:58:48'),\n(40680, 'Scarboro', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40681, 'Thrift', 2789, '30442', '478', '32.78349', '-82.007944', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40682, 'Pulaski', 2789, '30451', '912', '32.3901', '-81.9569', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40683, 'Reidsville', 2789, '30453', '912', '32.028985', '-82.10923', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40684, 'Canoochee', 2789, '30471', '478', '32.545996', '-82.14868', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40685, 'Twin City', 2789, '30471', '478', '32.545996', '-82.14868', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40686, 'Athens', 2789, '30612', '706', '33.9605', '-83.3784', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40687, 'Colbert', 2789, '30628', '706', '34.027522', '-83.208268', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40688, 'Atl', 2789, '30362', '404', '33.9024', '-84.2739', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40689, 'Atlanta', 2789, '30362', '404', '33.9024', '-84.2739', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40690, 'Doraville', 2789, '30362', '404', '33.9024', '-84.2739', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40691, 'Blun', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40692, 'Blundale', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40693, 'Gainesville', 2789, '30503', '770', '34.2975', '-83.8242', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40694, 'Alto', 2789, '30510', '706', '34.447466', '-83.577798', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40695, 'Covena', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40696, 'Dellwood', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40697, 'Gary', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40698, 'Kemp', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40699, 'Lexsy', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40700, 'Modoc', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40701, 'Oak Park', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40702, 'Summertown', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40703, 'Swainsboro', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40704, 'Wesley', 2789, '30401', '478', '32.555031', '-82.349264', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40705, 'Ailey', 2789, '30410', '912', '32.169944', '-82.511736', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40706, 'Higgston', 2789, '30410', '912', '32.169944', '-82.511736', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40707, 'Marietta', 2789, '30008', '770', '33.90085', '-84.587091', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40708, 'Grayson', 2789, '30017', '770', '33.886536', '-83.960086', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40709, 'Cumming', 2789, '30028', '678', '34.28676', '-84.172777', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40710, 'Decatur', 2789, '30035', '404', '33.733176', '-84.203162', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40711, 'Snapfinger', 2789, '30035', '404', '33.733176', '-84.203162', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40712, 'Lawrenceville', 2789, '30044', '770', '33.921576', '-84.067254', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40713, 'Southwire', 2789, '30119', '770', '33.5665', '-85.0756', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40714, 'Cornelia', 2789, '30531', '706', '34.499496', '-83.587139', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40715, 'Dahlonega', 2789, '30533', '706', '34.57947', '-84.024881', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40716, 'Pendergrass', 2789, '30567', '706', '34.190675', '-83.679279', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40717, 'Berzelia', 2789, '30814', '706', '33.448664', '-82.321849', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40718, 'Newington', 2789, '30446', '912', '32.594583', '-81.477406', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40719, 'Oliver', 2789, '30449', '912', '32.5217', '-81.5333', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40720, 'Dahlonega', 2789, '30597', '706', '34.528686', '-83.984592', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40721, 'North Georgia College', 2789, '30597', '706', '34.528686', '-83.984592', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40722, 'Danielsville', 2789, '30633', '706', '34.164941', '-83.25963', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40723, 'Atlanta', 2789, '30363', '404', '33.793139', '-84.396139', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40724, 'Atl', 2789, '30364', '404', '33.7486', '-84.3884', '2018-11-29 04:58:49', '2018-11-29 04:58:49'),\n(40725, 'Atlanta', 2789, '30364', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40726, 'East Point', 2789, '30364', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40727, 'Atl', 2789, '30380', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40728, 'Atlanta', 2789, '30380', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40729, 'Atlanta Postal Credit Union', 2789, '30380', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40730, 'Atl', 2789, '30398', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40731, 'Atlanta', 2789, '30398', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40732, 'Bank America', 2789, '30398', '404', '33.7486', '-84.3884', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40733, 'Blairsville', 2789, '30514', '706', '34.8786', '-84.0317', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40734, 'Bowersville', 2789, '30516', '706', '34.376711', '-83.036291', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40735, 'Atl', 2789, '30331', '404', '33.724791', '-84.580202', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40736, 'Atlanta', 2789, '30331', '404', '33.724791', '-84.580202', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40737, 'Decatur', 2789, '30031', '404', '33.7749', '-84.2965', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40738, 'Lilburn', 2789, '30048', '678', '33.8903', '-84.1432', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40739, 'Lawrenceville', 2789, '30049', '770', '33.9563', '-83.9881', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40740, 'Atl', 2789, '30346', '770', '33.924714', '-84.337984', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40741, 'Atlanta', 2789, '30346', '770', '33.924714', '-84.337984', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40742, 'Dunwoody', 2789, '30346', '770', '33.924714', '-84.337984', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40743, 'Lebanon', 2789, '30146', '770', '34.1454', '-84.5098', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40744, 'Mount Berry', 2789, '30149', '706', '34.290845', '-85.190016', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40745, 'Rome', 2789, '30149', '706', '34.290845', '-85.190016', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40746, 'Rome', 2789, '30162', '706', '34.2566', '-85.1649', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40747, 'Rome', 2789, '30164', '706', '34.2566', '-85.1649', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40748, 'Villa Rica', 2789, '30180', '770', '33.708896', '-84.91315', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40749, 'Experiment', 2789, '30212', '770', '33.266', '-84.2806', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40750, 'Fayetteville', 2789, '30214', '770', '33.480465', '-84.480396', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40751, 'Woolsey', 2789, '30214', '770', '33.480465', '-84.480396', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40752, 'Fayetteville', 2789, '30215', '770', '33.375765', '-84.469356', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40753, 'Atl', 2789, '30314', '404', '33.757234', '-84.433969', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40754, 'Atlanta', 2789, '30314', '404', '33.757234', '-84.433969', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40755, 'Scottdale', 2789, '30079', '404', '33.7947', '-84.25864', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40756, 'Duluth', 2789, '30095', '770', '33.9906', '-84.1531', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40757, 'Canton', 2789, '30114', '770', '34.254681', '-84.509153', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40758, 'Holly Springs', 2789, '30114', '770', '34.254681', '-84.509153', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40759, 'Dededo', 2790, '96912', '671', '13.5156', '144.8364', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40760, 'Honomu', 2791, '96728', '808', '19.862738', '-155.134918', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40761, 'Hoolehua', 2791, '96729', '808', '21.144823', '-157.123882', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40762, 'Kapaa', 2791, '96746', '808', '22.122312', '-159.395424', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40763, 'Kaunakakai', 2791, '96748', '808', '21.111677', '-156.900725', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40764, 'Lawai', 2791, '96765', '808', '21.9217', '-159.5096', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40765, 'Pahoa', 2791, '96778', '808', '19.436772', '-155.022298', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40766, 'Paia', 2791, '96779', '808', '20.902945', '-156.382707', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40767, 'Hon', 2791, '96828', '808', '21.3069', '-157.8584', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40768, 'Hono', 2791, '96828', '808', '21.3069', '-157.8584', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40769, 'Honolulu', 2791, '96828', '808', '21.3069', '-157.8584', '2018-11-29 04:58:50', '2018-11-29 04:58:50'),\n(40770, 'Juniata', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40771, 'Lakeside', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40772, 'Storm Lake', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40773, 'Sulphur Springs', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40774, 'West Storm Lake', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40775, 'Lincoln', 2792, '50652', '641', '42.289644', '-92.738674', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40776, 'Aureola', 2792, '50653', '641', '42.965584', '-92.878718', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40777, 'Marble Rock', 2792, '50653', '641', '42.965584', '-92.878718', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40778, 'Oakwood', 2792, '50653', '641', '42.965584', '-92.878718', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40779, 'Maynard', 2792, '50655', '563', '42.774289', '-91.902898', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40780, 'Spragueville', 2792, '52074', '563', '42.11506', '-90.486236', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40781, 'Springbrook', 2792, '52075', '563', '42.165704', '-90.479197', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40782, 'George', 2792, '51237', '712', '43.345229', '-95.988596', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40783, 'Hull', 2792, '51239', '712', '43.199934', '-96.147474', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40784, 'Perkins', 2792, '51239', '712', '43.199934', '-96.147474', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40785, 'Everly', 2792, '51338', '712', '43.176896', '-95.308901', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40786, 'Fostoria', 2792, '51340', '712', '43.2148', '-95.2127', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40787, 'Okoboji', 2792, '51355', '712', '43.392922', '-95.141313', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40788, 'Silver City', 2792, '51571', '712', '41.138394', '-95.601488', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40789, 'Soldier', 2792, '51572', '712', '41.986445', '-95.788638', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40790, 'Stanton', 2792, '51573', '712', '40.983824', '-95.089788', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40791, 'Aurelia', 2792, '51005', '712', '42.717349', '-95.436895', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40792, 'Diamond Center', 2792, '51005', '712', '42.717349', '-95.436895', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40793, 'Merrill', 2792, '51038', '712', '42.706678', '-96.272624', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40794, 'Sergeant Blf', 2792, '51054', '712', '42.377952', '-96.330068', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40795, 'Dedham', 2792, '51440', '712', '41.906414', '-94.802604', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40796, 'Manning', 2792, '51455', '712', '41.877334', '-95.053768', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40797, 'Athlestan', 2792, '50836', '641', '40.648391', '-94.490288', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40798, 'Blockton', 2792, '50836', '641', '40.648391', '-94.490288', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40799, 'Maloy', 2792, '50836', '641', '40.648391', '-94.490288', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40800, 'Platteville', 2792, '50836', '641', '40.648391', '-94.490288', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40801, 'Massena', 2792, '50853', '712', '41.237602', '-94.757708', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40802, 'Sergeant Bluff', 2792, '51054', '712', '42.377952', '-96.330068', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40803, 'Sgt Bluff', 2792, '51054', '712', '42.377952', '-96.330068', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40804, 'Sloan', 2792, '51055', '712', '42.214499', '-96.242657', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40805, 'Sioux City', 2792, '51103', '712', '42.520656', '-96.441598', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40806, 'Sioux City', 2792, '51106', '712', '42.460387', '-96.32263', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40807, 'Aredale', 2792, '50605', '641', '42.839868', '-93.015328', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40808, 'Conrad', 2792, '50621', '641', '42.242658', '-92.923514', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40809, 'Denver', 2792, '50622', '319', '42.671778', '-92.335003', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40810, 'Hardin', 2792, '52156', '563', '43.057038', '-91.45172', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40811, 'Luana', 2792, '52156', '563', '43.057038', '-91.45172', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40812, 'Millersburg', 2792, '52308', '319', '41.591725', '-92.167337', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40813, 'Yorktown', 2792, '51656', '712', '40.749661', '-95.189838', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40814, 'Auburn Douglas', 2792, '52175', '563', '42.992853', '-91.825796', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40815, 'Douglas', 2792, '52175', '563', '42.992853', '-91.825796', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40816, 'Eldorado', 2792, '52175', '563', '42.992853', '-91.825796', '2018-11-29 04:58:51', '2018-11-29 04:58:51'),\n(40817, 'West Union', 2792, '52175', '563', '42.992853', '-91.825796', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40818, 'Henderson', 2792, '51541', '712', '41.136416', '-95.413211', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40819, 'Missouri Valley', 2792, '51555', '712', '41.558674', '-95.939044', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40820, 'Missouri Vly', 2792, '51555', '712', '41.558674', '-95.939044', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40821, 'Mo Valley', 2792, '51555', '712', '41.558674', '-95.939044', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40822, 'Modale', 2792, '51556', '712', '41.646583', '-96.019171', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40823, 'Sherrill', 2792, '52073', '563', '42.619596', '-90.814858', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40824, 'Strawberry Point', 2792, '52076', '563', '42.696708', '-91.494644', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40825, 'Strawberry Pt', 2792, '52076', '563', '42.696708', '-91.494644', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40826, 'Hospers', 2792, '51238', '712', '43.076607', '-95.8896', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40827, 'Newkirk', 2792, '51238', '712', '43.076607', '-95.8896', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40828, 'Rossie', 2792, '51357', '712', '43.061505', '-95.269749', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40829, 'Royal', 2792, '51357', '712', '43.061505', '-95.269749', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40830, 'Mondamin', 2792, '51557', '712', '41.740024', '-96.007057', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40831, 'Hamburg', 2792, '51640', '712', '40.635146', '-95.583602', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40832, 'Alton', 2792, '51003', '712', '42.982565', '-95.989615', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40833, 'Carnes', 2792, '51003', '712', '42.982565', '-95.989615', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40834, 'Danbury', 2792, '51019', '712', '42.290492', '-95.722935', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40835, 'Hawarden', 2792, '51023', '712', '43.022988', '-96.436947', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40836, 'Maurice', 2792, '51036', '712', '42.975133', '-96.194456', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40837, 'Meriden', 2792, '51037', '712', '42.815526', '-95.642436', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40838, 'Schaller', 2792, '51053', '712', '42.48727', '-95.269499', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40839, 'Charter Oak', 2792, '51439', '712', '42.089693', '-95.585136', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40840, 'Botna', 2792, '51454', '712', '41.89314', '-95.208904', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40841, 'Manilla', 2792, '51454', '712', '41.89314', '-95.208904', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40842, 'Steamboat Rk', 2792, '50672', '641', '42.43088', '-93.058652', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40843, 'Steamboat Rock', 2792, '50672', '641', '42.43088', '-93.058652', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40844, 'Waterloo', 2792, '50703', '319', '42.555086', '-92.257593', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40845, 'Bridgewater', 2792, '50837', '641', '41.248272', '-94.669246', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40846, 'Smithland', 2792, '51056', '712', '42.247731', '-95.957564', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40847, 'Allison', 2792, '50602', '319', '42.738012', '-92.790251', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40848, 'Aplington', 2792, '50604', '319', '42.605326', '-92.898284', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40849, 'Colwell', 2792, '50620', '641', '43.1557', '-92.5945', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40850, 'Greene', 2792, '50636', '641', '42.89879', '-92.839326', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40851, 'Powersville', 2792, '50636', '641', '42.89879', '-92.839326', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40852, 'Grundy Center', 2792, '50638', '319', '42.37629', '-92.836407', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40853, 'Siam', 2792, '50833', '712', '40.685005', '-94.716725', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40854, 'Clearfield', 2792, '50840', '641', '40.783686', '-94.528634', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40855, 'Sutherland', 2792, '51058', '712', '42.974049', '-95.466183', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40856, 'Berne', 2792, '51060', '712', '42.04472', '-95.71087', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40857, 'Ute', 2792, '51060', '712', '42.04472', '-95.71087', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40858, 'Sioux City', 2792, '51101', '712', '42.491558', '-96.399435', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40859, 'Wickham Spur', 2792, '51101', '712', '42.491558', '-96.399435', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40860, 'James', 2792, '51108', '712', '42.55493', '-96.344724', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40861, 'Sioux City', 2792, '51108', '712', '42.55493', '-96.344724', '2018-11-29 04:58:52', '2018-11-29 04:58:52'),\n(40862, 'Dunkerton', 2792, '50626', '319', '42.582459', '-92.180424', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40863, 'Geneva', 2792, '50633', '641', '42.665472', '-93.105148', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40864, 'Truesdale', 2792, '50592', '712', '42.727076', '-95.18613', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40865, 'Westside', 2792, '51467', '712', '42.080765', '-95.130104', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40866, 'Co Bluffs', 2792, '51501', '712', '41.23296', '-95.877363', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40867, 'Council Blfs', 2792, '51501', '712', '41.23296', '-95.877363', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40868, 'Council Bluffs', 2792, '51501', '712', '41.23296', '-95.877363', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40869, 'Manawa', 2792, '51501', '712', '41.23296', '-95.877363', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40870, 'Co Bluffs', 2792, '51503', '712', '41.246274', '-95.772066', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40871, 'Council Blfs', 2792, '51503', '712', '41.246274', '-95.772066', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40872, 'Council Bluffs', 2792, '51503', '712', '41.246274', '-95.772066', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40873, 'Emerson', 2792, '51533', '712', '41.037764', '-95.365593', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40874, 'Preston', 2792, '52069', '563', '42.05949', '-90.422414', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40875, 'Saint Donatus', 2792, '52071', '563', '42.35318', '-90.541908', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40876, 'Worthington', 2792, '52078', '563', '42.390062', '-91.118861', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40877, 'Lester', 2792, '51242', '712', '43.440357', '-96.335289', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40878, 'Matlock', 2792, '51244', '712', '43.242652', '-95.93404', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40879, 'Spencer', 2792, '51301', '712', '43.136831', '-95.151154', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40880, 'Dickens', 2792, '51333', '712', '43.14001', '-94.98368', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40881, 'Moorhead', 2792, '51558', '712', '41.921222', '-95.845192', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40882, 'Panama', 2792, '51562', '712', '41.732826', '-95.499668', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40883, 'Earl May Seed', 2792, '51603', '712', '40.7657', '-95.3717', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40884, 'Shenandoah', 2792, '51603', '712', '40.7657', '-95.3717', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40885, 'Castana', 2792, '51010', '712', '42.100536', '-95.93356', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40886, 'Ticonic', 2792, '51010', '712', '42.100536', '-95.93356', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40887, 'Marcus', 2792, '51035', '712', '42.771232', '-95.790764', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40888, 'Oto', 2792, '51044', '712', '42.28764', '-95.90323', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40889, 'Denison', 2792, '51442', '712', '42.023083', '-95.372934', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40890, 'Halbur', 2792, '51444', '712', '42.008082', '-94.985627', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40891, 'Tripoli', 2792, '50676', '319', '42.818728', '-92.268961', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40892, 'Cromwell', 2792, '50842', '641', '41.0424', '-94.4619', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40893, 'Greenfield', 2792, '50849', '641', '41.309281', '-94.394289', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40894, 'Stanzel', 2792, '50849', '641', '41.309281', '-94.394289', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40895, 'Kent', 2792, '50851', '641', '40.909758', '-94.528686', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40896, 'Lenox', 2792, '50851', '641', '40.909758', '-94.528686', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40897, 'Stringtown', 2792, '50851', '641', '40.909758', '-94.528686', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40898, 'Woolstock', 2792, '50599', '515', '42.579805', '-93.82377', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40899, 'Arlington', 2792, '50606', '563', '42.759758', '-91.673514', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40900, 'Maryville', 2792, '50606', '563', '42.759758', '-91.673514', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40901, 'Austinville', 2792, '50608', '319', '42.614808', '-92.976546', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40902, 'Kesley', 2792, '50649', '319', '42.700792', '-92.84942', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40903, 'Delphos', 2792, '50860', '641', '40.626832', '-94.3571', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40904, 'Redding', 2792, '50860', '641', '40.626832', '-94.3571', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40905, 'Attica', 2795, '47918', '765', '40.305332', '-87.204599', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40906, 'Buffalo', 2795, '47925', '219', '40.881392', '-86.74183', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40907, 'Medaryville', 2795, '47957', '219', '41.085451', '-86.880114', '2018-11-29 04:58:53', '2018-11-29 04:58:53'),\n(40908, 'Fowler', 2795, '47984', '765', '40.5054', '-87.4545', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40909, 'Talbot', 2795, '47984', '765', '40.5054', '-87.4545', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40910, 'West Lebanon', 2795, '47991', '765', '40.283502', '-87.445471', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40911, 'Pimento', 2795, '47866', '812', '39.291853', '-87.3238', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40912, 'Atkinsonville', 2795, '47868', '812', '39.397183', '-86.899705', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40913, 'Greybrook Lake', 2795, '47868', '812', '39.397183', '-86.899705', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40914, 'Hoosier Highlands', 2795, '47868', '812', '39.397183', '-86.899705', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40915, 'Jordan', 2795, '47868', '812', '39.397183', '-86.899705', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40916, 'Poland', 2795, '47868', '812', '39.397183', '-86.899705', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40917, 'Barrick Corner', 2795, '47841', '812', '39.258892', '-87.131133', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40918, 'Clay City', 2795, '47841', '812', '39.258892', '-87.131133', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40919, 'Martz', 2795, '47841', '812', '39.258892', '-87.131133', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40920, 'Dugger', 2795, '47848', '812', '39.044051', '-87.261967', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40921, 'Ellis', 2795, '47848', '812', '39.044051', '-87.261967', '2018-11-29 04:58:54', '2018-11-29 04:58:54');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(40922, 'Gambill', 2795, '47848', '812', '39.044051', '-87.261967', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40923, 'Farmersburg', 2795, '47850', '812', '39.237696', '-87.430276', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40924, 'Ragsdale', 2795, '47573', '812', '38.7463', '-87.3242', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40925, 'Haubstadt', 2795, '47639', '812', '38.170161', '-87.577713', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40926, 'Warrenton', 2795, '47639', '812', '38.170161', '-87.577713', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40927, 'Fort Branch', 2795, '47648', '812', '38.252527', '-87.576742', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40928, 'Patoka', 2795, '47666', '812', '38.445558', '-87.641516', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40929, 'Carter', 2795, '47523', '812', '38.17553', '-87.02126', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40930, 'Dale', 2795, '47523', '812', '38.17553', '-87.02126', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40931, 'Heilman', 2795, '47523', '812', '38.17553', '-87.02126', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40932, 'Pigeon', 2795, '47523', '812', '38.17553', '-87.02126', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40933, 'Selvin', 2795, '47523', '812', '38.17553', '-87.02126', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40934, 'Spurgeon', 2795, '47584', '812', '38.25832', '-87.22563', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40935, 'Fritchton', 2795, '47591', '812', '38.640518', '-87.502987', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40936, 'Vincennes', 2795, '47591', '812', '38.640518', '-87.502987', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40937, 'Iva', 2795, '47564', '812', '38.477689', '-87.080363', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40938, 'Otwell', 2795, '47564', '812', '38.477689', '-87.080363', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40939, 'Blmgtn', 2795, '47407', '812', '39.1679', '-86.5035', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40940, 'Bloomington', 2795, '47407', '812', '39.1679', '-86.5035', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40941, 'Stinesville', 2795, '47464', '812', '39.298345', '-86.651652', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40942, 'Bruceville', 2795, '47516', '812', '38.771309', '-87.410692', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40943, 'New Lisbon', 2795, '47366', '765', '39.8635', '-85.2632', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40944, 'Koleen', 2795, '47439', '812', '38.9726', '-86.8278', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40945, 'Muncie', 2795, '47305', '765', '40.195292', '-85.386242', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40946, 'Saratoga', 2795, '47382', '765', '40.235944', '-84.915872', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40947, 'Grant City', 2795, '47384', '765', '39.922592', '-85.548406', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40948, 'Shirley', 2795, '47384', '765', '39.922592', '-85.548406', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40949, 'Wanda Lake', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40950, 'West Terre Haute', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40951, 'Whitcomb Heights', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40952, 'Windemere Lake', 2795, '47885', '812', '39.477894', '-87.457567', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40953, 'Stewartsville', 2795, '47633', '812', '38.165822', '-87.790724', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40954, 'Terre Haute', 2795, '47808', '812', '39.4668', '-87.4137', '2018-11-29 04:58:54', '2018-11-29 04:58:54'),\n(40955, 'Bowling Green', 2795, '47833', '812', '39.363702', '-86.968974', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40956, 'Ashboro', 2795, '47840', '812', '39.406106', '-87.05519', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40957, 'Center Point', 2795, '47840', '812', '39.406106', '-87.05519', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40958, 'Centerpoint', 2795, '47840', '812', '39.406106', '-87.05519', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40959, 'Saline City', 2795, '47840', '812', '39.406106', '-87.05519', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40960, 'Sugar Ridge', 2795, '47840', '812', '39.406106', '-87.05519', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40961, 'Rome', 2795, '47574', '812', '37.946462', '-86.58947', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40962, 'Tobin', 2795, '47574', '812', '37.946462', '-86.58947', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40963, 'Oil', 2795, '47576', '812', '38.190748', '-86.59941', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40964, 'Saint Croix', 2795, '47576', '812', '38.190748', '-86.59941', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40965, 'St Croix', 2795, '47576', '812', '38.190748', '-86.59941', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40966, 'Hazleton', 2795, '47640', '812', '38.4629', '-87.487381', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40967, 'Francisco', 2795, '47649', '812', '38.344388', '-87.453014', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40968, 'Evansville', 2795, '47708', '812', '37.972776', '-87.574574', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40969, 'Evansville', 2795, '47715', '812', '37.970826', '-87.484816', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40970, 'Evansville', 2795, '47724', '812', '37.9744', '-87.5555', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40971, 'Evansville', 2795, '47731', '812', '37.9744', '-87.5555', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40972, 'Evansville', 2795, '47733', '812', '37.9744', '-87.5555', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40973, 'Terre Haute', 2795, '47801', '812', '39.4668', '-87.4112', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40974, 'Cran Nav Dpo', 2795, '47522', '812', '38.824984', '-86.793758', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40975, 'Crane', 2795, '47522', '812', '38.824984', '-86.793758', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40976, 'Crane Nav Dpt', 2795, '47522', '812', '38.824984', '-86.793758', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40977, 'Crane Nav Weap Spt', 2795, '47522', '812', '38.824984', '-86.793758', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40978, 'Crane Naval Depot', 2795, '47522', '812', '38.824984', '-86.793758', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40979, 'Crane Naval Weapons Support', 2795, '47522', '812', '38.824984', '-86.793758', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40980, 'Cale', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40981, 'Dover Hill', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40982, 'East Shoals', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40983, 'Halbert', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40984, 'Hindostan Falls', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40985, 'Hindostan Fls', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40986, 'Indian Springs', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40987, 'Ironton', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40988, 'Rollins', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40989, 'Shoals', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40990, 'Trinity Sprgs', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40991, 'Trinity Springs', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40992, 'Willow Valley', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40993, 'Windom', 2795, '47581', '812', '38.671711', '-86.786612', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40994, 'Grandview', 2795, '47615', '812', '37.973288', '-86.909287', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40995, 'Newtonville', 2795, '47615', '812', '37.973288', '-86.909287', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40996, 'Hatfield', 2795, '47617', '812', '37.9027', '-87.2249', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40997, 'Bugtown', 2795, '47633', '812', '38.165822', '-87.790724', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40998, 'Poseyville', 2795, '47633', '812', '38.165822', '-87.790724', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(40999, 'Bretzville', 2795, '47542', '812', '38.291162', '-86.952199', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(41000, 'Duff', 2795, '47542', '812', '38.291162', '-86.952199', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(41001, 'Huntingburg', 2795, '47542', '812', '38.291162', '-86.952199', '2018-11-29 04:58:55', '2018-11-29 04:58:55'),\n(41002, 'Johnsburg', 2795, '47542', '812', '38.291162', '-86.952199', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41003, 'Maltersville', 2795, '47542', '812', '38.291162', '-86.952199', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41004, 'Tunnelton', 2795, '47467', '812', '38.768252', '-86.344442', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41005, 'Capehart', 2795, '47501', '812', '38.624828', '-87.185608', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41006, 'Maysville', 2795, '47501', '812', '38.624828', '-87.185608', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41007, 'S Washington', 2795, '47501', '812', '38.624828', '-87.185608', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41008, 'South Washington', 2795, '47501', '812', '38.624828', '-87.185608', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41009, 'Veale', 2795, '47501', '812', '38.624828', '-87.185608', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41010, 'Washington', 2795, '47501', '812', '38.624828', '-87.185608', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41011, 'Bristow', 2795, '47515', '812', '38.173711', '-86.708068', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41012, 'Siberia', 2795, '47515', '812', '38.173711', '-86.708068', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41013, 'Uniontown', 2795, '47515', '812', '38.173711', '-86.708068', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41014, 'Ball State Univ', 2795, '47306', '765', '40.206458', '-85.40807', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41015, 'Ball State University', 2795, '47306', '765', '40.206458', '-85.40807', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41016, 'Muncie', 2795, '47306', '765', '40.206458', '-85.40807', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41017, 'Bentonville', 2795, '47322', '765', '39.7517', '-85.2403', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41018, 'Salamonia', 2795, '47381', '765', '40.38242', '-84.864942', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41019, 'Salomonia', 2795, '47381', '765', '40.38242', '-84.864942', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41020, 'Gaston', 2795, '47342', '765', '40.310092', '-85.502626', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41021, 'Wheeling', 2795, '47342', '765', '40.310092', '-85.502626', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41022, 'Lonetree', 2795, '47438', '812', '39.177496', '-87.174159', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41023, 'Powers', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41024, 'Westchester', 2795, '47371', '765', '40.418059', '-84.976616', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41025, 'Luray', 2795, '47386', '765', '40.051326', '-85.383367', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41026, 'Springport', 2795, '47386', '765', '40.051326', '-85.383367', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41027, 'Eaton', 2795, '47338', '765', '40.336912', '-85.342256', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41028, 'Granville', 2795, '47338', '765', '40.336912', '-85.342256', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41029, 'Niles', 2795, '47338', '765', '40.336912', '-85.342256', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41030, 'Shideler', 2795, '47338', '765', '40.336912', '-85.342256', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41031, 'Kennard', 2795, '47351', '765', '39.90524', '-85.520503', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41032, 'Blountsville', 2795, '47354', '765', '40.050863', '-85.204516', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41033, 'Losantville', 2795, '47354', '765', '40.050863', '-85.204516', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41034, 'Armiesburg', 2795, '47862', '765', '39.825238', '-87.338423', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41035, 'Montezuma', 2795, '47862', '765', '39.825238', '-87.338423', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41036, 'Reserve', 2795, '47862', '765', '39.825238', '-87.338423', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41037, 'West Union', 2795, '47862', '765', '39.825238', '-87.338423', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41038, 'Bellmore', 2795, '47830', '765', '39.7614', '-87.1027', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41039, 'Coalmont', 2795, '47845', '812', '39.1934', '-87.2307', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41040, 'Saint Meinrad', 2795, '47577', '812', '38.147236', '-86.818388', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41041, 'St Meinrad', 2795, '47577', '812', '38.147236', '-86.818388', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41042, 'Christmas Lake Village', 2795, '47579', '812', '38.12391', '-86.942145', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41043, 'Oakland City', 2795, '47660', '812', '38.309305', '-87.295491', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41044, 'Darmstadt', 2795, '47710', '812', '38.029854', '-87.579662', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41045, 'Evansville', 2795, '47710', '812', '38.029854', '-87.579662', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41046, 'North Park', 2795, '47710', '812', '38.029854', '-87.579662', '2018-11-29 04:58:56', '2018-11-29 04:58:56'),\n(41047, 'Darmstadt', 2795, '47711', '812', '38.028262', '-87.534747', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41048, 'Daylight', 2795, '47711', '812', '38.028262', '-87.534747', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41049, 'Evansville', 2795, '47711', '812', '38.028262', '-87.534747', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41050, 'Evansville Dress Regional Ai', 2795, '47711', '812', '38.028262', '-87.534747', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41051, 'Knight', 2795, '47711', '812', '38.028262', '-87.534747', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41052, 'Mccutchanville', 2795, '47711', '812', '38.028262', '-87.534747', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41053, 'Christmas Lk', 2795, '47579', '812', '38.12391', '-86.942145', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41054, 'Santa Claus', 2795, '47579', '812', '38.12391', '-86.942145', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41055, 'Xmas Lake Vlg', 2795, '47579', '812', '38.12391', '-86.942145', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41056, 'Xmas Lk Vlg', 2795, '47579', '812', '38.12391', '-86.942145', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41057, 'Elberfeld', 2795, '47613', '812', '38.193607', '-87.408152', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41058, 'Wheatonville', 2795, '47613', '812', '38.193607', '-87.408152', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41059, 'Cayuga', 2795, '47928', '765', '39.91761', '-87.443422', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41060, 'Chalmers', 2795, '47929', '219', '40.684832', '-86.934604', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41061, 'Francesville', 2795, '47946', '219', '40.984491', '-86.87804', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41062, 'Mount Ayr', 2795, '47964', '219', '40.953054', '-87.298701', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41063, 'Lafayette', 2795, '47996', '765', '40.4167', '-86.8751', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41064, 'W Lafayette', 2795, '47996', '765', '40.4167', '-86.8751', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41065, 'West Lafayette', 2795, '47996', '765', '40.4167', '-86.8751', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41066, 'Yeoman', 2795, '47997', '765', '40.671098', '-86.720561', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41067, 'Gill', 2795, '47861', '812', '39.060884', '-87.550312', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41068, 'Merom', 2795, '47861', '812', '39.060884', '-87.550312', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41069, 'Riverton', 2795, '47861', '812', '39.060884', '-87.550312', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41070, 'New Goshen', 2795, '47863', '812', '39.58055', '-87.461156', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41071, 'Seelyville', 2795, '47878', '812', '39.4921', '-87.2651', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41072, 'Tabertown', 2795, '47878', '812', '39.4921', '-87.2651', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41073, 'Curry', 2795, '47879', '812', '39.193504', '-87.382906', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41074, 'East Shelburn', 2795, '47879', '812', '39.193504', '-87.382906', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41075, 'Jackson Hill', 2795, '47879', '812', '39.193504', '-87.382906', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41076, 'Scott City', 2795, '47879', '812', '39.193504', '-87.382906', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41077, 'Shelburn', 2795, '47879', '812', '39.193504', '-87.382906', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41078, 'Wilfred', 2795, '47879', '812', '39.193504', '-87.382906', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41079, 'Cory', 2795, '47846', '812', '39.367594', '-87.183737', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41080, 'Evansville', 2795, '47712', '812', '37.944239', '-87.661141', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41081, 'Evansville', 2795, '47713', '812', '37.950702', '-87.561177', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41082, 'Evansville', 2795, '47728', '812', '37.9744', '-87.5555', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41083, 'Schnellville', 2795, '47580', '812', '38.349667', '-86.767756', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41084, 'Westphalia', 2795, '47596', '812', '38.8553', '-87.226892', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41085, 'Steen', 2795, '47597', '812', '38.657952', '-87.302374', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41086, 'Wheatland', 2795, '47597', '812', '38.657952', '-87.302374', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41087, 'Chrisney', 2795, '47611', '812', '38.032374', '-86.948506', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41088, 'Cynthiana', 2795, '47612', '812', '38.1814', '-87.725366', '2018-11-29 04:58:57', '2018-11-29 04:58:57'),\n(41089, 'Newburgh', 2795, '47629', '812', '37.9445', '-87.4053', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41090, 'Dayville', 2795, '47630', '812', '37.945745', '-87.351473', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41091, 'Newburgh', 2795, '47630', '812', '37.945745', '-87.351473', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41092, 'Paradise', 2795, '47630', '812', '37.945745', '-87.351473', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41093, 'Yankeetown', 2795, '47630', '812', '37.945745', '-87.351473', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41094, 'River Vale', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41095, 'Stonington', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41096, 'Yockey', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41097, 'Ireland', 2795, '47545', '812', '38.413924', '-87.00136', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41098, 'Stanford', 2795, '47463', '812', '39.0908', '-86.6627', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41099, 'Birdseye', 2795, '47513', '812', '38.290058', '-86.705138', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41100, 'Mentor', 2795, '47513', '812', '38.290058', '-86.705138', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41101, 'Riceville', 2795, '47513', '812', '38.290058', '-86.705138', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41102, 'Mcnatts', 2795, '47359', '765', '40.552097', '-85.27991', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41103, 'Montpelier', 2795, '47359', '765', '40.552097', '-85.27991', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41104, 'Mooreland', 2795, '47360', '765', '40.015496', '-85.259774', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41105, 'Mount Summit', 2795, '47361', '765', '40.004242', '-85.385438', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41106, 'Clear Creek', 2795, '47426', '812', '39.1123', '-86.54', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41107, 'Ellettsville', 2795, '47429', '812', '39.27486', '-86.619828', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41108, 'Bryantsville', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41109, 'Georgia', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41110, 'Lawrenceport', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41111, 'Mitchell', 2795, '47446', '812', '38.750177', '-86.471815', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41112, 'Bryant', 2795, '47326', '260', '40.541383', '-84.976202', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41113, 'Fiat', 2795, '47326', '260', '40.541383', '-84.976202', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41114, 'Jay City', 2795, '47326', '260', '40.541383', '-84.976202', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41115, 'Poling', 2795, '47326', '260', '40.541383', '-84.976202', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41116, 'West Liberty', 2795, '47326', '260', '40.541383', '-84.976202', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41117, 'Dalton', 2795, '47346', '765', '39.935692', '-85.163675', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41118, 'Graceland Heights', 2795, '47346', '765', '39.935692', '-85.163675', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41119, 'Graceland Hts', 2795, '47346', '765', '39.935692', '-85.163675', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41120, 'Hagerstown', 2795, '47346', '765', '39.935692', '-85.163675', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41121, 'Montmorenci', 2795, '47962', '765', '40.4744', '-87.0295', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41122, 'Collegeville', 2795, '47978', '219', '40.997947', '-87.122916', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41123, 'Rensselaer', 2795, '47978', '219', '40.997947', '-87.122916', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41124, 'Reynolds', 2795, '47980', '219', '40.753458', '-86.909919', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41125, 'Romney', 2795, '47981', '765', '40.250919', '-86.920712', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41126, 'Crystal', 2795, '47527', '812', '38.459167', '-86.782764', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41127, 'Dubois', 2795, '47527', '812', '38.459167', '-86.782764', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41128, 'Dubois Crossroads', 2795, '47527', '812', '38.459167', '-86.782764', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41129, 'Dubois Xrds', 2795, '47527', '812', '38.459167', '-86.782764', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41130, 'Harbison', 2795, '47527', '812', '38.459167', '-86.782764', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41131, 'Kellerville', 2795, '47527', '812', '38.459167', '-86.782764', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41132, 'Edwardsport', 2795, '47528', '812', '38.82725', '-87.227714', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41133, 'Elmore', 2795, '47529', '812', '38.815693', '-87.082601', '2018-11-29 04:58:58', '2018-11-29 04:58:58'),\n(41134, 'Elnora', 2795, '47529', '812', '38.815693', '-87.082601', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41135, 'Boone', 2795, '47546', '812', '38.423875', '-86.940136', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41136, 'Hall', 2795, '47546', '812', '38.423875', '-86.940136', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41137, 'Jasper', 2795, '47546', '812', '38.423875', '-86.940136', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41138, 'Portersville', 2795, '47546', '812', '38.423875', '-86.940136', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41139, 'Adel', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41140, 'Carp', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41141, 'Cataract', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41142, 'Freeman', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41143, 'Heights Corner', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41144, 'Hts Crnr', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41145, 'New Hope', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41146, 'Pottersville', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41147, 'Romona', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41148, 'Spencer', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41149, 'Vandalia', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41150, 'Vilas', 2795, '47460', '812', '39.300099', '-86.800939', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41151, 'Hobbieville', 2795, '47462', '812', '38.95223', '-86.632016', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41152, 'Popcorn', 2795, '47462', '812', '38.95223', '-86.632016', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41153, 'Springville', 2795, '47462', '812', '38.95223', '-86.632016', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41154, 'Bicknell', 2795, '47512', '812', '38.794346', '-87.328048', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41155, 'Indian Creek Settlement', 2795, '47512', '812', '38.794346', '-87.328048', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41156, 'Indian Crk Stlmt', 2795, '47512', '812', '38.794346', '-87.328048', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41157, 'Jonestown', 2795, '47512', '812', '38.794346', '-87.328048', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41158, 'Coal City', 2795, '47427', '812', '39.247876', '-86.989162', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41159, 'Daggett', 2795, '47427', '812', '39.247876', '-86.989162', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41160, 'Denmark', 2795, '47427', '812', '39.247876', '-86.989162', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41161, 'Hubbell', 2795, '47427', '812', '39.247876', '-86.989162', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41162, 'Lyons', 2795, '47443', '812', '38.956476', '-87.093138', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41163, 'Marco', 2795, '47443', '812', '38.956476', '-87.093138', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41164, 'Greensboro', 2795, '47344', '765', '39.875753', '-85.466699', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41165, 'Greens Fork', 2795, '47345', '765', '39.888979', '-85.058817', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41166, 'Atchison', 2796, '66002', '913', '39.526716', '-95.117009', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41167, 'Potter', 2796, '66002', '913', '39.526716', '-95.117009', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41168, 'Kincaid', 2796, '66039', '620', '38.110214', '-95.187902', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41169, 'Kansas City', 2796, '66104', '913', '39.153278', '-94.687542', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41170, 'Kansas City', 2796, '66119', '913', '39.1143', '-94.6273', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41171, 'Leawood', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41172, 'Overland', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41173, 'Overland Park', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41174, 'Prairie Village', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41175, 'Prairie Vlg', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41176, 'Shawnee Mission', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41177, 'Shawnee Msn', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41178, 'Sm', 2796, '66206', '913', '38.958506', '-94.619244', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41179, 'Lenexa', 2796, '66219', '913', '38.950243', '-94.78819', '2018-11-29 04:58:59', '2018-11-29 04:58:59'),\n(41180, 'Shawnee', 2796, '66219', '913', '38.950243', '-94.78819', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41181, 'Shawnee Mission', 2796, '66219', '913', '38.950243', '-94.78819', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41182, 'Shawnee Msn', 2796, '66219', '913', '38.950243', '-94.78819', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41183, 'Sm', 2796, '66219', '913', '38.950243', '-94.78819', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41184, 'Overland', 2796, '66221', '913', '38.861928', '-94.714393', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41185, 'Overland Park', 2796, '66221', '913', '38.861928', '-94.714393', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41186, 'Shawnee Mission', 2796, '66221', '913', '38.861928', '-94.714393', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41187, 'Shawnee Msn', 2796, '66221', '913', '38.861928', '-94.714393', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41188, 'Sm', 2796, '66221', '913', '38.861928', '-94.714393', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41189, 'Stanley', 2796, '66221', '913', '38.861928', '-94.714393', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41190, 'Overland', 2796, '66223', '913', '38.861929', '-94.667802', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41191, 'Overland Park', 2796, '66223', '913', '38.861929', '-94.667802', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41192, 'Shawnee Mission', 2796, '66223', '913', '38.861929', '-94.667802', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41193, 'Shawnee Msn', 2796, '66223', '913', '38.861929', '-94.667802', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41194, 'Sm', 2796, '66223', '913', '38.861929', '-94.667802', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41195, 'Stanley', 2796, '66223', '913', '38.861929', '-94.667802', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41196, 'Axtell', 2796, '66403', '785', '39.892306', '-96.285683', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41197, 'Baileyville', 2796, '66404', '785', '39.892247', '-96.182789', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41198, 'Anthony', 2796, '67003', '620', '37.104699', '-98.02106', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41199, 'Beaumont', 2796, '67012', '620', '37.679757', '-96.55343', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41200, 'Belvidere', 2796, '67028', '620', '37.514009', '-98.902923', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41201, 'Coats', 2796, '67028', '620', '37.514009', '-98.902923', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41202, 'Derby', 2796, '67037', '316', '37.570124', '-97.228801', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41203, 'Ashton', 2796, '67051', '620', '37.085488', '-97.171281', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41204, 'Geuda Springs', 2796, '67051', '620', '37.085488', '-97.171281', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41205, 'Mayfield', 2796, '67103', '620', '37.286502', '-97.53052', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41206, 'Nashville', 2796, '67112', '620', '37.463818', '-98.409807', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41207, 'Oxford', 2796, '67119', '620', '37.223666', '-97.177167', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41208, 'Sieboldt', 2796, '67119', '620', '37.223666', '-97.177167', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41209, 'Planeview', 2796, '67210', '316', '37.620836', '-97.244182', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41210, 'Wichita', 2796, '67210', '316', '37.620836', '-97.244182', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41211, 'Wichita', 2796, '67212', '316', '37.702456', '-97.433951', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41212, 'Bel Aire', 2796, '67226', '316', '37.774061', '-97.226056', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41213, 'Comotara', 2796, '67226', '316', '37.774061', '-97.226056', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41214, 'Wichita', 2796, '67226', '316', '37.774061', '-97.226056', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41215, 'Wichita', 2796, '67260', '316', '37.716761', '-97.296513', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41216, 'Wichita State University', 2796, '67260', '316', '37.716761', '-97.296513', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41217, 'Cherryvale', 2796, '67335', '620', '37.281695', '-95.578971', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41218, 'Abilene', 2796, '67410', '785', '38.921734', '-97.213652', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41219, 'Industry', 2796, '67410', '785', '38.921734', '-97.213652', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41220, 'Manchester', 2796, '67410', '785', '38.921734', '-97.213652', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41221, 'Geneseo', 2796, '67444', '620', '38.550349', '-98.16945', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41222, 'Lincoln', 2796, '67455', '785', '39.001604', '-98.095615', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41223, 'Westfall', 2796, '67455', '785', '39.001604', '-98.095615', '2018-11-29 04:59:00', '2018-11-29 04:59:00'),\n(41224, 'Marquette', 2796, '67464', '785', '38.573046', '-97.890768', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41225, 'Simpson', 2796, '67478', '785', '39.349812', '-97.985222', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41226, 'Wakefield', 2796, '67487', '785', '39.200703', '-97.073024', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41227, 'Alden', 2796, '67512', '620', '38.238812', '-98.316499', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41228, 'Belpre', 2796, '67519', '620', '37.91273', '-99.104723', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41229, 'Cedar', 2796, '67628', '785', '39.662218', '-98.926036', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41230, 'Logan', 2796, '67646', '785', '39.654322', '-99.515488', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41231, 'Ludell', 2796, '67744', '785', '39.87186', '-100.944533', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41232, 'Syracuse', 2796, '67878', '620', '37.999775', '-101.785848', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41233, 'Liberal', 2796, '67905', '620', '37.0432', '-100.9209', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41234, 'Richfield', 2796, '67953', '620', '37.258084', '-101.719344', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41235, 'Jc Penney Co', 2796, '66276', '913', '39.0217', '-94.6664', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41236, 'Shawnee Mission', 2796, '66276', '913', '39.0217', '-94.6664', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41237, 'Shawnee Msn', 2796, '66276', '913', '39.0217', '-94.6664', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41238, 'Sm', 2796, '66276', '913', '39.0217', '-94.6664', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41239, 'Overland Park', 2796, '66283', '913', '39.0186', '-94.6662', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41240, 'Shawnee Mission', 2796, '66283', '913', '39.0186', '-94.6662', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41241, 'Shawnee Msn', 2796, '66283', '913', '39.0186', '-94.6662', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41242, 'Sm', 2796, '66283', '913', '39.0186', '-94.6662', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41243, 'Stanley', 2796, '66283', '913', '39.0186', '-94.6662', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41244, 'Laurence', 2796, '66046', '785', '38.903195', '-95.210578', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41245, 'Lawrence', 2796, '66046', '785', '38.903195', '-95.210578', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41246, 'Osawatomie', 2796, '66064', '913', '38.473164', '-94.987557', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41247, 'Princeton', 2796, '66078', '785', '38.480501', '-95.258406', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41248, 'Richmond', 2796, '66080', '785', '38.402378', '-95.26767', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41249, 'Lenexa', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41250, 'Overland', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41251, 'Overland Park', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41252, 'Shawnee', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41253, 'Shawnee Mission', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41254, 'Shawnee Msn', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41255, 'Sm', 2796, '66214', '913', '38.964112', '-94.711638', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41256, 'Carbondale', 2796, '66414', '785', '38.818866', '-95.693884', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41257, 'Baldwin', 2796, '66006', '785', '38.800624', '-95.23696', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41258, 'Baldwin City', 2796, '66006', '785', '38.800624', '-95.23696', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41259, 'Bendena', 2796, '66008', '785', '39.703756', '-95.175924', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41260, 'Blue Mound', 2796, '66010', '913', '38.102794', '-94.968402', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41261, 'Denton', 2796, '66017', '785', '39.696666', '-95.283427', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41262, 'Elwood', 2796, '66024', '913', '39.760374', '-94.879546', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41263, 'Lacygne', 2796, '66040', '913', '38.370928', '-94.765317', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41264, 'Linn Valley', 2796, '66040', '913', '38.370928', '-94.765317', '2018-11-29 04:59:01', '2018-11-29 04:59:01'),\n(41265, 'Olathe', 2796, '66051', '913', '38.8815', '-94.8187', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41266, 'Muscotah', 2796, '66058', '785', '39.532848', '-95.521132', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41267, 'Spring Hill', 2796, '66083', '913', '38.73058', '-94.83745', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41268, 'Kansas City', 2796, '66115', '913', '39.136726', '-94.61971', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41269, 'Kansas City', 2796, '66117', '913', '39.1222', '-94.6287', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41270, 'Lenexa', 2796, '66210', '913', '38.924532', '-94.70487', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41271, 'Overland', 2796, '66210', '913', '38.924532', '-94.70487', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41272, 'Overland Park', 2796, '66210', '913', '38.924532', '-94.70487', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41273, 'Shawnee Mission', 2796, '66210', '913', '38.924532', '-94.70487', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41274, 'Shawnee Msn', 2796, '66210', '913', '38.924532', '-94.70487', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41275, 'Sm', 2796, '66210', '913', '38.924532', '-94.70487', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41276, 'Leawood', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41277, 'Overland', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41278, 'Overland Park', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41279, 'Shawnee Mission', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41280, 'Shawnee Msn', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41281, 'Sm', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41282, 'Stanley', 2796, '66224', '913', '38.860254', '-94.628632', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41283, 'Basehor', 2796, '66012', '913', '39.052724', '-94.919573', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41284, 'Bonner Springs', 2796, '66012', '913', '39.052724', '-94.919573', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41285, 'Bonner Sprngs', 2796, '66012', '913', '39.052724', '-94.919573', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41286, 'Lake Of The Forest', 2796, '66012', '913', '39.052724', '-94.919573', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41287, 'Lk Of The Fst', 2796, '66012', '913', '39.052724', '-94.919573', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41288, 'Gardner', 2796, '66030', '913', '38.80467', '-94.936196', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41289, 'Olathe', 2796, '66061', '913', '38.884133', '-94.901561', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41290, 'Lenexa', 2796, '66062', '913', '38.852656', '-94.778942', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41291, 'Olathe', 2796, '66062', '913', '38.852656', '-94.778942', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41292, 'Overland Park', 2796, '66062', '913', '38.852656', '-94.778942', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41293, 'Rantoul', 2796, '66079', '785', '38.528864', '-95.120075', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41294, 'White Cloud', 2796, '66094', '785', '39.928475', '-95.319299', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41295, 'Winchester', 2796, '66097', '913', '39.326578', '-95.245205', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41296, 'Edwardsville', 2796, '66111', '913', '39.086186', '-94.792032', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41297, 'Kansas City', 2796, '66111', '913', '39.086186', '-94.792032', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41298, 'Kansas City', 2796, '66112', '913', '39.107977', '-94.767613', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41299, 'Edwardsville', 2796, '66113', '913', '39.057954', '-94.827145', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41300, 'Kansas City', 2796, '66113', '913', '39.057954', '-94.827145', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41301, 'Leawood', 2796, '66211', '913', '38.925578', '-94.638286', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41302, 'Overland', 2796, '66211', '913', '38.925578', '-94.638286', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41303, 'Overland Park', 2796, '66211', '913', '38.925578', '-94.638286', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41304, 'Shawnee Mission', 2796, '66211', '913', '38.925578', '-94.638286', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41305, 'Shawnee Msn', 2796, '66211', '913', '38.925578', '-94.638286', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41306, 'Sm', 2796, '66211', '913', '38.925578', '-94.638286', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41307, 'Overland', 2796, '66212', '913', '38.956198', '-94.681126', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41308, 'Overland Park', 2796, '66212', '913', '38.956198', '-94.681126', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41309, 'Shawnee Mission', 2796, '66212', '913', '38.956198', '-94.681126', '2018-11-29 04:59:02', '2018-11-29 04:59:02'),\n(41310, 'Shawnee Msn', 2796, '66212', '913', '38.956198', '-94.681126', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41311, 'Lenexa', 2796, '66213', '913', '38.898367', '-94.705002', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41312, 'Overland', 2796, '66213', '913', '38.898367', '-94.705002', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41313, 'Overland Park', 2796, '66213', '913', '38.898367', '-94.705002', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41314, 'Shawnee Mission', 2796, '66213', '913', '38.898367', '-94.705002', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41315, 'Shawnee Msn', 2796, '66213', '913', '38.898367', '-94.705002', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41316, 'Sm', 2796, '66213', '913', '38.898367', '-94.705002', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41317, 'Cummings', 2796, '66016', '913', '39.487997', '-95.249561', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41318, 'Eudora', 2796, '66025', '785', '38.884422', '-95.09181', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41319, 'Garnett', 2796, '66032', '785', '38.279347', '-95.286584', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41320, 'Lansing', 2796, '66043', '913', '39.248489', '-94.905616', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41321, 'Leavenworth', 2796, '66043', '913', '39.248489', '-94.905616', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41322, 'Kansas City', 2796, '66118', '913', '39.102846', '-94.614068', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41323, 'Leawood', 2796, '66209', '913', '38.898418', '-94.637889', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41324, 'Overland', 2796, '66209', '913', '38.898418', '-94.637889', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41325, 'Overland Park', 2796, '66209', '913', '38.898418', '-94.637889', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41326, 'Shawnee Mission', 2796, '66209', '913', '38.898418', '-94.637889', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41327, 'Shawnee Msn', 2796, '66209', '913', '38.898418', '-94.637889', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41328, 'Sm', 2796, '66209', '913', '38.898418', '-94.637889', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41329, 'Lenexa', 2796, '66216', '913', '39.0156', '-94.74243', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41330, 'Shawnee', 2796, '66216', '913', '39.0156', '-94.74243', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41331, 'Shawnee Mission', 2796, '66216', '913', '39.0156', '-94.74243', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41332, 'Shawnee Msn', 2796, '66216', '913', '39.0156', '-94.74243', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41333, 'Sm', 2796, '66216', '913', '39.0156', '-94.74243', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41334, 'Overland', 2796, '66225', '913', '39.0185', '-94.6648', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41335, 'Overland Park', 2796, '66225', '913', '39.0185', '-94.6648', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41336, 'Shawnee Mission', 2796, '66225', '913', '39.0185', '-94.6648', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41337, 'Shawnee Msn', 2796, '66225', '913', '39.0185', '-94.6648', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41338, 'Sm', 2796, '66225', '913', '39.0185', '-94.6648', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41339, 'Jc Penney Co', 2796, '66250', '913', '39.0241', '-94.6646', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41340, 'Shawnee Mission', 2796, '66250', '913', '39.0241', '-94.6646', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41341, 'Shawnee Msn', 2796, '66250', '913', '39.0241', '-94.6646', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41342, 'Sm', 2796, '66250', '913', '39.0241', '-94.6646', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41343, 'Overland', 2796, '66282', '913', '39.0186', '-94.6662', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41344, 'Overland Park', 2796, '66282', '913', '39.0186', '-94.6662', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41345, 'Shawnee Mission', 2796, '66282', '913', '39.0186', '-94.6662', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41346, 'Shawnee Msn', 2796, '66282', '913', '39.0186', '-94.6662', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41347, 'Sm', 2796, '66282', '913', '39.0186', '-94.6662', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41348, 'Berryton', 2796, '66409', '785', '38.92054', '-95.548746', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41349, 'Delia', 2796, '66418', '785', '39.303658', '-95.91467', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41350, 'Clearview City', 2796, '66019', '913', '38.945466', '-95.003687', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41351, 'Clearview Cty', 2796, '66019', '913', '38.945466', '-95.003687', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41352, 'De Soto', 2796, '66019', '913', '38.945466', '-95.003687', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41353, 'Edgerton', 2796, '66021', '913', '38.759551', '-95.019402', '2018-11-29 04:59:03', '2018-11-29 04:59:03'),\n(41354, 'Hillsdale', 2796, '66036', '913', '38.6656', '-94.852', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41355, 'Linwood', 2796, '66052', '913', '39.006443', '-95.03853', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41356, 'Mc Louth', 2796, '66054', '913', '39.199672', '-95.182628', '2018-11-29 04:59:04', '2018-11-29 04:59:04');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(41357, 'Ozawkie', 2796, '66070', '785', '39.197827', '-95.455853', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41358, 'Paola', 2796, '66071', '913', '38.570795', '-94.880126', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41359, 'Severance', 2796, '66087', '785', '39.76364', '-95.166543', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41360, 'Troy', 2796, '66087', '785', '39.76364', '-95.166543', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41361, 'Valley Falls', 2796, '66088', '785', '39.350707', '-95.449654', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41362, 'Kansas City', 2796, '66102', '913', '39.10963', '-94.689499', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41363, 'Merriam', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41364, 'Overland', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41365, 'Overland Park', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41366, 'Prairie Village', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41367, 'Prairie Vlg', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41368, 'Shawnee Mission', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41369, 'Shawnee Msn', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41370, 'Sm', 2796, '66204', '913', '38.992836', '-94.677351', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41371, 'Fairway', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41372, 'Mission', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41373, 'Mission Woods', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41374, 'Roeland Park', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41375, 'Shawnee Mission', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41376, 'Shawnee Msn', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41377, 'Sm', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41378, 'Westwood', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41379, 'Westwood Hills', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41380, 'Westwood Hls', 2796, '66205', '913', '39.029485', '-94.628273', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41381, 'Mission', 2796, '66222', '913', '39.0177', '-94.6837', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41382, 'Shawnee Mission', 2796, '66222', '913', '39.0177', '-94.6837', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41383, 'Shawnee Msn', 2796, '66222', '913', '39.0177', '-94.6837', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41384, 'Sm', 2796, '66222', '913', '39.0177', '-94.6837', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41385, 'Lenexa', 2796, '66286', '913', '38.9558', '-94.8802', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41386, 'Shawnee', 2796, '66286', '913', '38.9558', '-94.8802', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41387, 'Shawnee Mission', 2796, '66286', '913', '38.9558', '-94.8802', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41388, 'Shawnee Msn', 2796, '66286', '913', '38.9558', '-94.8802', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41389, 'Cooperstown', 2797, '42276', '270', '36.87022', '-86.874972', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41390, 'Daysville', 2797, '42276', '270', '36.87022', '-86.874972', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41391, 'Gordonsville', 2797, '42276', '270', '36.87022', '-86.874972', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41392, 'Oakville', 2797, '42276', '270', '36.87022', '-86.874972', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41393, 'Russellville', 2797, '42276', '270', '36.87022', '-86.874972', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41394, 'Owensboro', 2797, '42301', '270', '37.761962', '-87.259761', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41395, 'Saint Joseph', 2797, '42301', '270', '37.761962', '-87.259761', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41396, 'St Joseph', 2797, '42301', '270', '37.761962', '-87.259761', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41397, 'Stanley', 2797, '42301', '270', '37.761962', '-87.259761', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41398, 'Owensboro', 2797, '42303', '270', '37.762006', '-87.04234', '2018-11-29 04:59:04', '2018-11-29 04:59:04'),\n(41399, 'Centertown', 2797, '42328', '270', '37.413404', '-87.021', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41400, 'Lewisport', 2797, '42351', '270', '37.893486', '-86.882794', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41401, 'Powderly', 2797, '42367', '270', '37.237934', '-87.16', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41402, 'Earlington', 2797, '42410', '270', '37.263854', '-87.514704', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41403, 'Boxville', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41404, 'Grove Center', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41405, 'Henshaw', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41406, 'Morganfield', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41407, 'Morganfld', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41408, 'Pride', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41409, 'Spring Grove', 2797, '42437', '270', '37.663032', '-87.909396', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41410, 'Poole', 2797, '42444', '270', '37.641531', '-87.639226', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41411, 'Somerset', 2797, '42503', '606', '37.150004', '-84.507494', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41412, 'Alpine', 2797, '42519', '606', '36.93785', '-84.520739', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41413, 'Burnside', 2797, '42519', '606', '36.93785', '-84.520739', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41414, 'Sloans Valley', 2797, '42519', '606', '36.93785', '-84.520739', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41415, 'Cains Store', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41416, 'Faubush', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41417, 'Ingle', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41418, 'Jabez', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41419, 'Nancy', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41420, 'Naomi', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41421, 'Pointer', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41422, 'Trimble', 2797, '42544', '606', '37.057052', '-84.787225', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41423, 'E Town', 2797, '42701', '270', '37.69027', '-85.865194', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41424, 'Elizabethtown', 2797, '42701', '270', '37.69027', '-85.865194', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41425, 'Big Clifty', 2797, '42712', '270', '37.56513', '-86.163493', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41426, 'Metairie', 2798, '70002', '504', '30.102084', '-90.150988', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41427, 'Metairie', 2798, '70009', '504', '29.9839', '-90.1526', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41428, 'Barataria', 2798, '70036', '504', '29.629856', '-90.132318', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41429, 'Gretna', 2798, '70054', '504', '29.9145', '-90.0537', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41430, 'La Place', 2798, '70068', '985', '30.148161', '-90.425645', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41431, 'Laplace', 2798, '70068', '985', '30.148161', '-90.425645', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41432, 'South Chatham', 2799, '02659', '508', '41.683908', '-70.022303', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41433, 'South Harwich', 2799, '02661', '508', '41.676199', '-70.039702', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41434, 'Truro', 2799, '02666', '508', '41.998127', '-70.040339', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41435, 'Yarmouth Port', 2799, '02675', '508', '41.707586', '-70.229984', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41436, 'Yarmouthport', 2799, '02675', '508', '41.707586', '-70.229984', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41437, 'Assonet', 2799, '02702', '508', '41.78528', '-71.066659', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41438, 'East Taunton', 2799, '02718', '508', '41.867286', '-71.015712', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41439, 'Baltimore', 2800, '21209', '410', '39.366522', '-76.669726', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41440, 'Mount Washington', 2800, '21209', '410', '39.366522', '-76.669726', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41441, 'Mt Washington', 2800, '21209', '410', '39.366522', '-76.669726', '2018-11-29 04:59:05', '2018-11-29 04:59:05'),\n(41442, 'Glyndon', 2800, '21136', '410', '39.485704', '-76.798994', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41443, 'Reisterstown', 2800, '21136', '410', '39.485704', '-76.798994', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41444, 'Simpsonville', 2800, '21150', '410', '39.1857', '-76.8776', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41445, 'Glencoe', 2800, '21152', '410', '39.548284', '-76.685072', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41446, 'Sparks', 2800, '21152', '410', '39.548284', '-76.685072', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41447, 'Sparks Glenco', 2800, '21152', '410', '39.548284', '-76.685072', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41448, 'Sparks Glencoe', 2800, '21152', '410', '39.548284', '-76.685072', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41449, 'Columbia', 2800, '21045', '410', '39.207766', '-76.82643', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41450, 'Glen Burnie', 2800, '21061', '410', '39.162631', '-76.63987', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41451, 'Elkridge', 2800, '21075', '410', '39.200371', '-76.747374', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41452, 'Avenue', 2800, '20609', '301', '38.26928', '-76.749718', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41453, 'Cobb Island', 2800, '20625', '301', '38.262471', '-76.850906', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41454, 'Great Mills', 2800, '20634', '301', '38.243081', '-76.494239', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41455, 'Lusby', 2800, '20657', '410', '38.377857', '-76.44326', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41456, 'Laurel', 2800, '20725', '410', '39.0995', '-76.8486', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41457, 'Beachville', 2800, '20684', '301', '38.140264', '-76.408228', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41458, 'Saint Inigoes', 2800, '20684', '301', '38.140264', '-76.408228', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41459, 'St Inigoes', 2800, '20684', '301', '38.140264', '-76.408228', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41460, 'Bowie', 2800, '20716', '301', '38.926683', '-76.711804', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41461, 'Mitchellville', 2800, '20716', '301', '38.926683', '-76.711804', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41462, 'S Bowie', 2800, '20716', '301', '38.926683', '-76.711804', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41463, 'South Bowie', 2800, '20716', '301', '38.926683', '-76.711804', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41464, 'Bowie', 2800, '20718', '301', '39.0064', '-76.7795', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41465, 'Kettering', 2800, '20775', '301', '38.8147', '-76.7519', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41466, 'Upper Marlboro', 2800, '20775', '301', '38.8147', '-76.7519', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41467, 'Uppr Marlboro', 2800, '20775', '301', '38.8147', '-76.7519', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41468, 'Oxon Hill', 2800, '20750', '301', '38.8033', '-76.9901', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41469, 'Fulton', 2800, '20759', '301', '39.162302', '-76.927766', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41470, 'Cabin John', 2800, '20818', '301', '38.977042', '-77.162837', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41471, 'Port Tobacco', 2800, '20677', '301', '38.496492', '-77.043544', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41472, 'Daniels', 2800, '21043', '410', '39.256902', '-76.791739', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41473, 'Ellicott', 2800, '21043', '410', '39.256902', '-76.791739', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41474, 'Ellicott City', 2800, '21043', '410', '39.256902', '-76.791739', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41475, 'Ilchester', 2800, '21043', '410', '39.256902', '-76.791739', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41476, 'Oella', 2800, '21043', '410', '39.256902', '-76.791739', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41477, 'Bethesda', 2800, '20811', '301', '38.9806', '-77.1008', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41478, 'Geico', 2800, '20811', '301', '38.9806', '-77.1008', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41479, 'Silver Spring', 2800, '20902', '301', '39.04107', '-77.045049', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41480, 'Wheaton', 2800, '20902', '301', '39.04107', '-77.045049', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41481, 'Silver Spring', 2800, '20911', '301', '38.9909', '-77.0267', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41482, 'College Park', 2800, '20741', '301', '38.9808', '-76.9373', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41483, 'Ellicott City', 2800, '21041', '410', '39.2673', '-76.7986', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41484, 'Baltimore', 2800, '21230', '410', '39.264256', '-76.621678', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41485, 'Baltimore', 2800, '21231', '410', '39.287896', '-76.592319', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41486, 'Patterson', 2800, '21231', '410', '39.287896', '-76.592319', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41487, 'Baltimore', 2800, '21233', '443', '39.2905', '-76.6125', '2018-11-29 04:59:06', '2018-11-29 04:59:06'),\n(41488, 'Baltimore', 2800, '21264', '443', '39.2905', '-76.6125', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41489, 'M T Bank', 2800, '21264', '443', '39.2905', '-76.6125', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41490, 'Bel Air', 2800, '21015', '410', '39.54745', '-76.294404', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41491, 'Crownsville', 2800, '21032', '410', '39.029961', '-76.607438', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41492, 'Fruitland', 2800, '21826', '410', '38.322016', '-75.622382', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41493, 'Baltimore', 2800, '21263', '443', '39.2905', '-76.6125', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41494, 'Bank Of America', 2800, '21263', '443', '39.2905', '-76.6125', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41495, 'Arnold', 2800, '21012', '410', '39.043002', '-76.49421', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41496, 'Bel Air', 2800, '21014', '410', '39.538192', '-76.352622', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41497, 'Cockeysville', 2800, '21030', '410', '39.491855', '-76.664958', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41498, 'Cockysvil', 2800, '21030', '410', '39.491855', '-76.664958', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41499, 'Hunt Valley', 2800, '21030', '410', '39.491855', '-76.664958', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41500, 'Hunt Valley', 2800, '21031', '410', '39.486098', '-76.657503', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41501, 'Baltimore', 2800, '21235', '410', '39.3118', '-76.7326', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41502, 'Social Security Administrat', 2800, '21235', '410', '39.3118', '-76.7326', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41503, 'Belcamp', 2800, '21017', '410', '39.475271', '-76.237342', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41504, 'Riverside', 2800, '21017', '410', '39.475271', '-76.237342', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41505, 'Churchville', 2800, '21028', '410', '39.566944', '-76.236252', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41506, 'Silver Spring', 2800, '20918', '301', '38.9909', '-77.0267', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41507, 'Boring', 2800, '21020', '410', '39.5314', '-76.8232', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41508, 'Darlington', 2800, '21034', '410', '39.647942', '-76.214459', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41509, 'Brownsville', 2800, '21715', '301', '39.3817', '-77.6607', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41510, 'Brunswick', 2800, '21716', '301', '39.316387', '-77.622296', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41511, 'Knoxville', 2800, '21716', '301', '39.316387', '-77.622296', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41512, 'Pittsville', 2800, '21850', '410', '38.369547', '-75.392657', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41513, 'Tyaskin', 2800, '21865', '410', '38.286406', '-75.835688', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41514, 'Tylerton', 2800, '21866', '410', '37.967802', '-76.021337', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41515, 'Burkittsville', 2800, '21718', '301', '39.39575', '-77.632997', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41516, 'Cavetown', 2800, '21720', '301', '39.6444', '-77.5864', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41517, 'Big Spring', 2800, '21722', '301', '39.65344', '-77.901485', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41518, 'Marion', 2800, '21838', '410', '38.023564', '-75.725928', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41519, 'Marion Sta', 2800, '21838', '410', '38.023564', '-75.725928', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41520, 'Marion Station', 2800, '21838', '410', '38.023564', '-75.725928', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41521, 'Whaleyville', 2800, '21872', '410', '38.409746', '-75.289594', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41522, 'Rising Sun', 2800, '21911', '410', '39.671336', '-76.047648', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41523, 'Ewell', 2800, '21824', '410', '37.996614', '-76.010262', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41524, 'Rhodes Point', 2800, '21824', '410', '37.996614', '-76.010262', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41525, 'Ocean City', 2800, '21843', '410', '38.3898', '-75.0842', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41526, 'Rehobeth', 2800, '21857', '410', '38.0388', '-75.6636', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41527, 'Willards', 2800, '21874', '410', '38.388543', '-75.358251', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41528, 'Baltimore', 2800, '21239', '410', '39.362666', '-76.587313', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41529, 'Idlewylde', 2800, '21239', '410', '39.362666', '-76.587313', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41530, 'Loch Hill', 2800, '21239', '410', '39.362666', '-76.587313', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41531, 'Northwood', 2800, '21239', '410', '39.362666', '-76.587313', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41532, 'Baltimore', 2800, '21241', '410', '39.2905', '-76.6125', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41533, 'Social Security Admin', 2800, '21241', '410', '39.2905', '-76.6125', '2018-11-29 04:59:07', '2018-11-29 04:59:07'),\n(41534, 'Baltimore', 2800, '21273', '443', '39.2905', '-76.6125', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41535, 'Bank Of America', 2800, '21273', '443', '39.2905', '-76.6125', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41536, 'Aber Prov Grd', 2800, '21005', '410', '39.436746', '-76.15742', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41537, 'Aberdeen Proving Ground', 2800, '21005', '410', '39.436746', '-76.15742', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41538, 'Apg', 2800, '21005', '410', '39.436746', '-76.15742', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41539, 'Butler', 2800, '21023', '410', '39.5354', '-76.7286', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41540, 'Edgewood', 2800, '21040', '410', '39.432812', '-76.292424', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41541, 'Nanticoke', 2800, '21840', '410', '38.258592', '-75.891404', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41542, 'Newark', 2800, '21841', '410', '38.258332', '-75.287359', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41543, 'Quantico', 2800, '21856', '410', '38.319392', '-75.79533', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41544, 'Whitehaven', 2800, '21856', '410', '38.319392', '-75.79533', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41545, 'St Clr Shrs', 2802, '48080', '586', '42.464644', '-82.899699', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41546, 'New Haven', 2802, '48050', '586', '42.785704', '-82.797534', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41547, 'Burtchville', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41548, 'Burtchville Township', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41549, 'Fort Gratiot', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41550, 'Fort Gratiot Township', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41551, 'Lakeport', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41552, 'N Lakeport', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41553, 'North Lakeport', 2802, '48059', '810', '43.086914', '-82.500216', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41554, 'Mount Clemens', 2802, '48043', '586', '42.598061', '-82.878802', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41555, 'Warren', 2802, '48091', '586', '42.469338', '-83.054939', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41556, 'Roseville', 2802, '48066', '586', '42.509668', '-82.935955', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41557, 'Lenox', 2802, '48050', '586', '42.785704', '-82.797534', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41558, 'Lenox Township', 2802, '48050', '586', '42.785704', '-82.797534', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41559, 'Bham', 2802, '48012', '248', '42.5464', '-83.2116', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41560, 'Birmingham', 2802, '48012', '248', '42.5464', '-83.2116', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41561, 'Bruce', 2802, '48065', '586', '42.843738', '-83.039918', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41562, 'Bruce Township', 2802, '48065', '586', '42.843738', '-83.039918', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41563, 'Bruce Twp', 2802, '48065', '586', '42.843738', '-83.039918', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41564, 'Romeo', 2802, '48065', '586', '42.843738', '-83.039918', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41565, 'Port Huron', 2802, '48061', '810', '42.9755', '-82.4243', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41566, 'Columbus', 2802, '48063', '586', '42.85596', '-82.676964', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41567, 'Columbus Township', 2802, '48063', '586', '42.85596', '-82.676964', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41568, 'Saint Clair Shores', 2802, '48080', '586', '42.464644', '-82.899699', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41569, 'St Clair Shores', 2802, '48080', '586', '42.464644', '-82.899699', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41570, 'St Clair Shrs', 2802, '48080', '586', '42.464644', '-82.899699', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41571, 'St Clr Shores', 2802, '48080', '586', '42.464644', '-82.899699', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41572, 'Lenox', 2802, '48048', '586', '42.741741', '-82.797752', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41573, 'Lenox Township', 2802, '48048', '586', '42.741741', '-82.797752', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41574, 'New Haven', 2802, '48048', '586', '42.741741', '-82.797752', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41575, 'Harrison Township', 2802, '48045', '586', '42.585618', '-82.817239', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41576, 'Harrison Twp', 2802, '48045', '586', '42.585618', '-82.817239', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41577, 'Sang', 2802, '48045', '586', '42.585618', '-82.817239', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41578, 'Selfridge', 2802, '48045', '586', '42.585618', '-82.817239', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41579, 'Selfridge Air Natl Guard', 2802, '48045', '586', '42.585618', '-82.817239', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41580, 'Selfridge Angb', 2802, '48045', '586', '42.585618', '-82.817239', '2018-11-29 04:59:08', '2018-11-29 04:59:08'),\n(41581, 'Mount Clemens', 2802, '48046', '586', '42.5972', '-82.8783', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41582, 'Deer River', 2803, '56636', '218', '47.388554', '-93.997198', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41583, 'Inger', 2803, '56636', '218', '47.388554', '-93.997198', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41584, 'Morse', 2803, '56636', '218', '47.388554', '-93.997198', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41585, 'Villard', 2803, '56385', '320', '45.70809', '-95.216658', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41586, 'Westport', 2803, '56385', '320', '45.70809', '-95.216658', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41587, 'Almora', 2803, '56551', '218', '46.304654', '-95.428448', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41588, 'Henning', 2803, '56551', '218', '46.304654', '-95.428448', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41589, 'Hitterdal', 2803, '56552', '218', '46.992549', '-96.22585', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41590, 'Kent', 2803, '56553', '218', '46.413027', '-96.68827', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41591, 'Buckman', 2803, '56317', '320', '45.8977', '-94.0936', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41592, 'Collegeville', 2803, '56321', '320', '45.5947', '-94.3626', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41593, 'Libby', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41594, 'Logan', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41595, 'Morrison', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41596, 'Palisade', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41597, 'Verdon', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41598, 'Waukenabo', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41599, 'Workman', 2803, '56469', '218', '46.729214', '-93.568784', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41600, 'Willmar', 2803, '56201', '320', '45.11337', '-95.021661', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41601, 'Browns Valley', 2803, '56219', '320', '45.672803', '-96.746776', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41602, 'Donnelly', 2803, '56235', '320', '45.71616', '-96.118428', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41603, 'Dumont', 2803, '56236', '320', '45.665505', '-96.42918', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41604, 'Blue Earth', 2803, '56013', '507', '43.619616', '-94.097768', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41605, 'Paynesville', 2803, '56362', '320', '45.393705', '-94.706027', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41606, 'Spring Hill', 2803, '56362', '320', '45.393705', '-94.706027', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41607, 'Sauk Centre', 2803, '56378', '320', '45.716', '-94.97705', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41608, 'Westport', 2803, '56378', '320', '45.716', '-94.97705', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41609, 'Adrian', 2803, '56110', '507', '43.608881', '-95.934164', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41610, 'Jasper', 2803, '56144', '507', '43.849245', '-96.372613', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41611, 'Trosky', 2803, '56144', '507', '43.849245', '-96.372613', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41612, 'Odessa', 2803, '56276', '320', '45.315306', '-96.297978', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41613, 'Olivia', 2803, '56277', '320', '44.760652', '-94.981018', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41614, 'Ortonville', 2803, '56278', '320', '45.379252', '-96.560932', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41615, 'Pennock', 2803, '56279', '320', '45.230446', '-95.165016', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41616, 'Wabasso', 2803, '56293', '507', '44.423664', '-95.248637', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41617, 'Watson', 2803, '56295', '320', '45.02942', '-95.826657', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41618, 'Alden', 2803, '56009', '507', '43.632702', '-93.568589', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41619, 'Butterfield', 2803, '56120', '507', '43.992498', '-94.799016', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41620, 'Seaforth', 2803, '56287', '507', '44.507062', '-95.300296', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41621, 'Comfrey', 2803, '56019', '507', '44.113891', '-94.969727', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41622, 'Johnson', 2803, '56236', '320', '45.665505', '-96.42918', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41623, 'Morton', 2803, '56270', '507', '44.557362', '-95.001529', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41624, 'Rice', 2803, '56367', '320', '45.754056', '-94.175354', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41625, 'Richmond', 2803, '56368', '320', '45.441882', '-94.531549', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41626, 'Roscoe', 2803, '56371', '320', '45.437092', '-94.629812', '2018-11-29 04:59:09', '2018-11-29 04:59:09'),\n(41627, 'Springfield', 2803, '56087', '507', '44.231124', '-94.996618', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41628, 'Hardwick', 2803, '56134', '507', '43.804939', '-96.252144', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41629, 'Hendricks', 2803, '56136', '507', '44.501358', '-96.387234', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41630, 'Heron Lake', 2803, '56137', '507', '43.855146', '-95.338674', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41631, 'Lakefield', 2803, '56150', '507', '43.631016', '-95.214752', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41632, 'Hadley', 2803, '56151', '507', '44.02291', '-95.923967', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41633, 'Lake Wilson', 2803, '56151', '507', '44.02291', '-95.923967', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41634, 'Slayton', 2803, '56151', '507', '44.02291', '-95.923967', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41635, 'Leota', 2803, '56153', '507', '43.80496', '-95.992618', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41636, 'Renville', 2803, '56284', '320', '44.7752', '-95.198456', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41637, 'Saint Augusta', 2803, '56301', '320', '45.493912', '-94.242586', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41638, 'Saint Cloud', 2803, '56301', '320', '45.493912', '-94.242586', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41639, 'Sartell', 2803, '56301', '320', '45.493912', '-94.242586', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41640, 'Saint Cloud', 2803, '56302', '320', '45.5605', '-94.1622', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41641, 'Forada', 2803, '56303', '320', '45.580789', '-94.21518', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41642, 'Saint Cloud', 2803, '56303', '320', '45.580789', '-94.21518', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41643, 'Mankato', 2803, '56001', '507', '44.130736', '-93.993792', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41644, 'Skyline', 2803, '56001', '507', '44.130736', '-93.993792', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41645, 'Mankato', 2803, '56002', '507', '44.1637', '-93.9993', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41646, 'N Mankato', 2803, '56002', '507', '44.1637', '-93.9993', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41647, 'No Mankato', 2803, '56002', '507', '44.1637', '-93.9993', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41648, 'North Mankato', 2803, '56002', '507', '44.1637', '-93.9993', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41649, 'Cleveland', 2803, '56017', '507', '44.311913', '-93.811369', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41650, 'Conger', 2803, '56020', '507', '43.600764', '-93.528274', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41651, 'Waskish', 2803, '56685', '218', '48.19285', '-94.490879', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41652, 'Black River', 2803, '56654', '218', '48.537334', '-93.895377', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41653, 'Loman', 2803, '56654', '218', '48.537334', '-93.895377', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41654, 'Boy Lake', 2803, '56655', '218', '47.030736', '-94.172576', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41655, 'Brevik', 2803, '56655', '218', '47.030736', '-94.172576', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41656, 'Inguadona', 2803, '56655', '218', '47.030736', '-94.172576', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41657, 'Kego', 2803, '56655', '218', '47.030736', '-94.172576', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41658, 'Longville', 2803, '56655', '218', '47.030736', '-94.172576', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41659, 'Wabedo', 2803, '56655', '218', '47.030736', '-94.172576', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41660, 'Lancaster', 2803, '56735', '218', '48.902061', '-96.86468', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41661, 'Orleans', 2803, '56735', '218', '48.902061', '-96.86468', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41662, 'Middle River', 2803, '56737', '218', '48.455824', '-96.037414', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41663, 'Kabetogama', 2803, '56669', '218', '48.400012', '-93.140978', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41664, 'Ray', 2803, '56669', '218', '48.400012', '-93.140978', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41665, 'Detroit Lakes', 2803, '56502', '218', '46.8175', '-95.845', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41666, 'Bluffton', 2803, '56518', '218', '46.481296', '-95.22805', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41667, 'Upsala', 2803, '56384', '320', '45.815379', '-94.566191', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41668, 'Aldrich', 2803, '56434', '218', '46.379597', '-94.929342', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41669, 'Browerville', 2803, '56438', '320', '46.114496', '-94.772307', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41670, 'Hackensack', 2803, '56452', '218', '46.950896', '-94.46857', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41671, 'Felton', 2803, '56536', '218', '47.064302', '-96.496122', '2018-11-29 04:59:10', '2018-11-29 04:59:10'),\n(41672, 'Fergus Falls', 2803, '56538', '218', '46.2834', '-96.0772', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41673, 'Lake Park', 2803, '56554', '218', '46.891146', '-96.106776', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41674, 'Saint Cloud', 2803, '56304', '320', '45.519125', '-94.048246', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41675, 'Burtrum', 2803, '56318', '320', '45.859207', '-94.667497', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41676, 'Glenwood', 2803, '56334', '320', '45.594452', '-95.321215', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41677, 'Long Beach', 2803, '56334', '320', '45.594452', '-95.321215', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41678, 'Sedan', 2803, '56334', '320', '45.594452', '-95.321215', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41679, 'Terrace', 2803, '56334', '320', '45.594452', '-95.321215', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41680, 'Greenwald', 2803, '56335', '320', '45.599678', '-94.856486', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41681, 'Grey Eagle', 2803, '56336', '320', '45.803011', '-94.830544', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41682, 'Milaca', 2803, '56353', '320', '45.781414', '-93.615053', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41683, 'Miltona', 2803, '56354', '218', '46.06183', '-95.290586', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41684, 'Lake Edwards', 2803, '56468', '218', '46.473113', '-94.298186', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41685, 'Lake Hubert', 2803, '56468', '218', '46.473113', '-94.298186', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41686, 'Lake Shore', 2803, '56468', '218', '46.473113', '-94.298186', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41687, 'Nisswa', 2803, '56468', '218', '46.473113', '-94.298186', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41688, 'Woodstock', 2803, '56186', '507', '44.02262', '-96.083954', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41689, 'Worthington', 2803, '56187', '507', '43.652611', '-95.593948', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41690, 'Boyd', 2803, '56218', '320', '44.848674', '-95.97061', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41691, 'Canby', 2803, '56220', '507', '44.703376', '-96.272488', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41692, 'Kandiyohi', 2803, '56251', '320', '45.135938', '-94.920116', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41693, 'Lake Lillian', 2803, '56253', '320', '44.979192', '-94.890319', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41694, 'Rockville', 2803, '56369', '320', '45.471334', '-94.336278', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41695, 'Sanborn', 2803, '56083', '507', '44.209566', '-95.137909', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41696, 'Brewster', 2803, '56119', '507', '43.719185', '-95.512734', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41697, 'Lamberton', 2803, '56152', '507', '44.231624', '-95.269214', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41698, 'Sacred Heart', 2803, '56285', '320', '44.78243', '-95.361204', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41699, 'Berne', 2803, '55985', '507', '44.167379', '-92.922816', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41700, 'Concord', 2803, '55985', '507', '44.167379', '-92.922816', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41701, 'West Concord', 2803, '55985', '507', '44.167379', '-92.922816', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41702, 'Mankato', 2803, '56003', '507', '44.211951', '-94.066977', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41703, 'N Mankato', 2803, '56003', '507', '44.211951', '-94.066977', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41704, 'No Mankato', 2803, '56003', '507', '44.211951', '-94.066977', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41705, 'North Mankato', 2803, '56003', '507', '44.211951', '-94.066977', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41706, 'Border', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41707, 'Carp', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41708, 'Clementson', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41709, 'Hackett', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41710, 'Pitt', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41711, 'Spooner', 2803, '56623', '218', '48.683535', '-94.35294', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41712, 'Crosby', 2803, '56441', '218', '46.579342', '-93.959866', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41713, 'Trommald', 2803, '56441', '218', '46.579342', '-93.959866', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41714, 'Fifty Lakes', 2803, '56448', '218', '46.78225', '-94.091272', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41715, 'Garrison', 2803, '56450', '320', '46.256792', '-93.827926', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41716, 'Flom', 2803, '56541', '218', '47.1661', '-96.1306', '2018-11-29 04:59:11', '2018-11-29 04:59:11'),\n(41717, 'Hendrum', 2803, '56550', '218', '47.252294', '-96.768726', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41718, 'Bowlus', 2803, '56314', '320', '45.814476', '-94.413902', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41719, 'Elmdale', 2803, '56314', '320', '45.814476', '-94.413902', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41720, 'Cyrus', 2803, '56323', '320', '45.542608', '-95.691026', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41721, 'Foreston', 2803, '56330', '320', '45.728296', '-93.72407', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41722, 'Nelson', 2803, '56355', '320', '45.926206', '-95.229124', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41723, 'Danube', 2803, '56230', '320', '44.767529', '-95.087528', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41724, 'Minneota', 2803, '56264', '507', '44.624681', '-95.961328', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41725, 'Saint Leo', 2803, '56264', '507', '44.624681', '-95.961328', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41726, 'Royalton', 2803, '56373', '320', '45.845268', '-94.220279', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41727, 'Winnebago', 2803, '56098', '507', '43.760769', '-94.192336', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41728, 'Ceylon', 2803, '56121', '507', '43.544214', '-94.603435', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41729, 'Currie', 2803, '56123', '507', '44.087314', '-95.633282', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41730, 'Iona', 2803, '56141', '507', '43.891449', '-95.784062', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41731, 'Lynd', 2803, '56157', '507', '44.39896', '-95.948034', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41732, 'Sunburg', 2803, '56289', '320', '45.325728', '-95.170849', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41733, 'Taunton', 2803, '56291', '507', '44.586932', '-96.05318', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41734, 'Hurley', 2804, '65675', '417', '36.930278', '-93.463196', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41735, 'Capps Creek', 2804, '65707', '417', '37.230362', '-93.820772', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41736, 'Grays Point', 2804, '65707', '417', '37.230362', '-93.820772', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41737, 'Miller', 2804, '65707', '417', '37.230362', '-93.820772', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41738, 'Nixa', 2804, '65714', '417', '37.019514', '-93.319409', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41739, 'Purdy', 2804, '65734', '417', '36.805626', '-93.901059', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41740, 'Taneyville', 2804, '65759', '417', '36.745235', '-93.039096', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41741, 'Udall', 2804, '65766', '417', '36.529982', '-92.242582', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41742, 'Zanoni', 2804, '65784', '417', '36.703736', '-92.307213', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41743, 'Pomona', 2804, '65789', '417', '36.862216', '-91.89713', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41744, 'Newtonia', 2804, '64853', '417', '36.8686', '-94.3675', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41745, 'Hartsburg', 2804, '65039', '573', '38.697608', '-92.285838', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41746, 'Wilton', 2804, '65039', '573', '38.697608', '-92.285838', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41747, 'Olean', 2804, '65064', '573', '38.401467', '-92.475904', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41748, 'Tebbetts', 2804, '65080', '573', '38.644124', '-91.96559', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41749, 'Div Of Income Tax Due', 2804, '65107', '573', '38.5764', '-92.1736', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41750, 'Jefferson City', 2804, '65107', '573', '38.5764', '-92.1736', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41751, 'Jefferson Cty', 2804, '65107', '573', '38.5764', '-92.1736', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41752, 'Columbia', 2804, '65205', '573', '38.9518', '-92.3336', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41753, 'Benton City', 2804, '65232', '573', '39.104905', '-91.773386', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41754, 'Cairo', 2804, '65239', '660', '39.523301', '-92.41757', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41755, 'Hallsville', 2804, '65255', '573', '39.08802', '-92.251442', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41756, 'Higbee', 2804, '65257', '660', '39.266988', '-92.557782', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41757, 'Yates', 2804, '65257', '660', '39.266988', '-92.557782', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41758, 'Green Ridge', 2804, '65332', '660', '38.613747', '-93.418754', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41759, 'Fristoe', 2804, '65355', '660', '38.219617', '-93.308405', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41760, 'Old Fredonia', 2804, '65355', '660', '38.219617', '-93.308405', '2018-11-29 04:59:12', '2018-11-29 04:59:12'),\n(41761, 'Racket', 2804, '65355', '660', '38.219617', '-93.308405', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41762, 'Warsaw', 2804, '65355', '660', '38.219617', '-93.308405', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41763, 'Whitakerville', 2804, '65355', '660', '38.219617', '-93.308405', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41764, 'Wisdom', 2804, '65355', '660', '38.219617', '-93.308405', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41765, 'Devils Elbow', 2804, '65457', '573', '37.810114', '-92.065744', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41766, 'Alley Springs', 2804, '65466', '573', '37.17285', '-91.452704', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41767, 'Eminence', 2804, '65466', '573', '37.17285', '-91.452704', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41768, 'Ink', 2804, '65466', '573', '37.17285', '-91.452704', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41769, 'Owls Bend', 2804, '65466', '573', '37.17285', '-91.452704', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41770, 'Round Spring', 2804, '65466', '573', '37.17285', '-91.452704', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41771, 'West Eminence', 2804, '65466', '573', '37.17285', '-91.452704', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41772, 'Lake Spring', 2804, '65532', '573', '37.770608', '-91.667753', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41773, 'Lenox', 2804, '65541', '573', '37.633001', '-91.727134', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41774, 'Vichy', 2804, '65580', '573', '38.104395', '-91.789074', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41775, 'Montreal', 2804, '65591', '573', '37.970178', '-92.540197', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41776, 'Caplinger Mills', 2804, '65607', '417', '37.7942', '-93.8043', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41777, 'Caplinger Mls', 2804, '65607', '417', '37.7942', '-93.8043', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41778, 'Butterfield', 2804, '65625', '417', '36.686938', '-93.811508', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41779, 'Cassville', 2804, '65625', '417', '36.686938', '-93.811508', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41780, 'Conway', 2804, '65632', '417', '37.495946', '-92.802662', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41781, 'Cross Timbers', 2804, '65634', '417', '38.014877', '-93.206436', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41782, 'Fair Grove', 2804, '65648', '417', '37.386979', '-93.174101', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41783, 'Halltown', 2804, '65664', '417', '37.193981', '-93.627547', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41784, 'Hardenville', 2804, '65666', '417', '36.590591', '-92.371244', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41785, 'Jefferson Cty', 2804, '65108', '573', '38.5764', '-92.1736', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41786, 'Columbia', 2804, '65211', '573', '38.93714', '-92.315215', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41787, 'University Of Missouri', 2804, '65211', '573', '38.93714', '-92.315215', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41788, 'Columbia', 2804, '65212', '573', '38.9518', '-92.3336', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41789, 'Umc Hospital Clinics', 2804, '65212', '573', '38.9518', '-92.3336', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41790, 'Renick', 2804, '65278', '660', '39.341115', '-92.410131', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41791, 'Cole Camp', 2804, '65325', '660', '38.448192', '-93.1817', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41792, 'Mount Hulda', 2804, '65325', '660', '38.448192', '-93.1817', '2018-11-29 04:59:13', '2018-11-29 04:59:13');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(41793, 'Florence', 2804, '65329', '660', '38.605361', '-92.981051', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41794, 'Miami', 2804, '65344', '660', '39.303568', '-93.201432', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41795, 'Mora', 2804, '65345', '660', '38.562892', '-93.041198', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41796, 'Windsor', 2804, '65360', '660', '38.541132', '-93.520483', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41797, 'Brinktown', 2804, '65443', '573', '38.086265', '-92.111766', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41798, 'Cherryville', 2804, '65446', '573', '37.786752', '-91.267609', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41799, 'Dixon', 2804, '65459', '573', '37.975376', '-92.055649', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41800, 'Hayden', 2804, '65459', '573', '37.975376', '-92.055649', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41801, 'Lynchburg', 2804, '65543', '417', '37.518443', '-92.315824', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41802, 'Montier', 2804, '65546', '573', '36.9869', '-91.5753', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41803, 'Billings', 2804, '65610', '417', '37.057497', '-93.505717', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41804, 'Browns Spring', 2804, '65610', '417', '37.057497', '-93.505717', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41805, 'Union City', 2804, '65610', '417', '37.057497', '-93.505717', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41806, 'Blue Eye', 2804, '65611', '417', '36.560646', '-93.448788', '2018-11-29 04:59:13', '2018-11-29 04:59:13'),\n(41807, 'Bolivar', 2804, '65613', '417', '37.642408', '-93.394495', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41808, 'Cherkee Hmstd', 2804, '65613', '417', '37.642408', '-93.394495', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41809, 'Cherokee Homestead Village', 2804, '65613', '417', '37.642408', '-93.394495', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41810, 'Slagle', 2804, '65613', '417', '37.642408', '-93.394495', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41811, 'Elkland', 2804, '65644', '417', '37.436298', '-93.017711', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41812, 'Everton', 2804, '65646', '417', '37.323474', '-93.708939', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41813, 'Graff', 2804, '65660', '417', '37.335684', '-92.274318', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41814, 'Greenfield', 2804, '65661', '417', '37.46201', '-93.825673', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41815, 'Goodson', 2804, '65663', '417', '37.643716', '-93.256753', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41816, 'Half Way', 2804, '65663', '417', '37.643716', '-93.256753', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41817, 'Manes', 2804, '65711', '417', '37.26594', '-92.269685', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41818, 'Mountain Grove', 2804, '65711', '417', '37.26594', '-92.269685', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41819, 'Mountain Grv', 2804, '65711', '417', '37.26594', '-92.269685', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41820, 'Hoberg', 2804, '65712', '417', '37.09837', '-93.770372', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41821, 'Mount Vernon', 2804, '65712', '417', '37.09837', '-93.770372', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41822, 'Ponce De Leon', 2804, '65728', '417', '36.898623', '-93.364327', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41823, 'Seligman', 2804, '65745', '417', '36.535247', '-93.93133', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41824, 'Cedar Gap', 2804, '65746', '417', '37.117886', '-92.794001', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41825, 'Seymour', 2804, '65746', '417', '37.117886', '-92.794001', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41826, 'Sycamore', 2804, '65760', '417', '36.623691', '-92.315385', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41827, 'Tecumseh', 2804, '65760', '417', '36.623691', '-92.315385', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41828, 'Moody', 2804, '65777', '417', '36.55891', '-91.984643', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41829, 'West Plains', 2804, '65777', '417', '36.55891', '-91.984643', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41830, 'Willow Spgs', 2804, '65793', '417', '36.987236', '-91.909154', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41831, 'Willow Springs', 2804, '65793', '417', '36.987236', '-91.909154', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41832, 'Springfield', 2804, '65810', '417', '37.116477', '-93.32051', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41833, 'Missouri State University', 2804, '65897', '417', '37.197212', '-93.276596', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41834, 'Smsu', 2804, '65897', '417', '37.197212', '-93.276596', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41835, 'Springfield', 2804, '65897', '417', '37.197212', '-93.276596', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41836, 'Sw Mo State', 2804, '65897', '417', '37.197212', '-93.276596', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41837, 'Rucker', 2804, '65243', '573', '39.274508', '-92.332182', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41838, 'Clifton Hill', 2804, '65244', '660', '39.409586', '-92.656405', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41839, 'Thomas Hill', 2804, '65244', '660', '39.409586', '-92.656405', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41840, 'Darksville', 2804, '65259', '660', '39.447798', '-92.581269', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41841, 'Huntsville', 2804, '65259', '660', '39.447798', '-92.581269', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41842, 'Keytesville', 2804, '65261', '660', '39.480014', '-92.924938', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41843, 'Musselfork', 2804, '65261', '660', '39.480014', '-92.924938', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41844, 'Kingdom City', 2804, '65262', '573', '38.954838', '-91.95205', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41845, 'Goss', 2804, '65275', '660', '39.50077', '-91.999186', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41846, 'Granville', 2804, '65275', '660', '39.50077', '-91.999186', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41847, 'Paris', 2804, '65275', '660', '39.50077', '-91.999186', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41848, 'Strother', 2804, '65275', '660', '39.50077', '-91.999186', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41849, 'Emma', 2804, '65327', '660', '38.97411', '-93.494714', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41850, 'Missouri S & T', 2804, '65409', '314', '37.954741', '-91.774097', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41851, 'Rolla', 2804, '65409', '314', '37.954741', '-91.774097', '2018-11-29 04:59:14', '2018-11-29 04:59:14'),\n(41852, 'Duke', 2804, '65461', '573', '37.669586', '-91.97472', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41853, 'Jerome', 2804, '65529', '573', '37.922144', '-91.982942', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41854, 'Bakersfield', 2804, '65609', '417', '36.544527', '-92.132528', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41855, 'Caulfield', 2804, '65626', '417', '36.589892', '-92.109557', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41856, 'Grovespring', 2804, '65662', '417', '37.425368', '-92.551099', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41857, 'Isabella', 2804, '65676', '417', '36.570916', '-92.607072', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41858, 'Kirbyville', 2804, '65679', '417', '36.582006', '-93.093315', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41859, 'Mildred', 2804, '65679', '417', '36.582006', '-93.093315', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41860, 'Mincy', 2804, '65679', '417', '36.582006', '-93.093315', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41861, 'Eudora', 2804, '65710', '417', '37.481735', '-93.429595', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41862, 'Morrisville', 2804, '65710', '417', '37.481735', '-93.429595', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41863, 'Point Lookout', 2804, '65726', '417', '36.6196', '-93.2397', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41864, 'Rueter', 2804, '65744', '417', '36.607316', '-92.908595', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41865, 'Nottinghill', 2804, '65762', '417', '36.71375', '-92.641196', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41866, 'Thornfield', 2804, '65762', '417', '36.71375', '-92.641196', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41867, 'Enon', 2804, '65074', '573', '38.490345', '-92.467922', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41868, 'Russellville', 2804, '65074', '573', '38.490345', '-92.467922', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41869, 'Sunrise Beach', 2804, '65079', '573', '38.149037', '-92.724883', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41870, 'Div Of Employment Sec', 2804, '65104', '573', '38.5764', '-92.1736', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41871, 'Jefferson City', 2804, '65104', '573', '38.5764', '-92.1736', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41872, 'Jefferson Cty', 2804, '65104', '573', '38.5764', '-92.1736', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41873, 'Centralia', 2804, '65240', '573', '39.192922', '-92.130029', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41874, 'Rowena', 2804, '65240', '573', '39.192922', '-92.130029', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41875, 'Harrisburg', 2804, '65256', '573', '39.130358', '-92.437988', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41876, 'Woodlandville', 2804, '65256', '573', '39.130358', '-92.437988', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41877, 'Columbia', 2804, '65299', '573', '39.0234', '-92.2501', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41878, 'Blackwater', 2804, '65322', '660', '38.980915', '-92.94872', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41879, 'Birch Tree', 2804, '65438', '573', '36.926371', '-91.504022', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41880, 'Teresita', 2804, '65438', '573', '36.926371', '-91.504022', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41881, 'Thomasville', 2804, '65438', '573', '36.926371', '-91.504022', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41882, 'Richland', 2804, '65556', '573', '37.826154', '-92.388637', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41883, 'Swedeborg', 2804, '65556', '573', '37.826154', '-92.388637', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41884, 'Cedar Ridge', 2804, '65590', '417', '37.572626', '-92.932279', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41885, 'Long Lane', 2804, '65590', '417', '37.572626', '-92.932279', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41886, 'Branson', 2804, '65615', '417', '36.6436', '-93.2185', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41887, 'Cape Fair', 2804, '65624', '417', '36.73271', '-93.505867', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41888, 'Galena', 2804, '65624', '417', '36.73271', '-93.505867', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41889, 'Clever', 2804, '65631', '417', '37.020465', '-93.428828', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41890, 'Exeter', 2804, '65647', '417', '36.687934', '-93.985708', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41891, 'Galena', 2804, '65656', '417', '36.77062', '-93.473036', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41892, 'Hollister', 2804, '65672', '417', '36.569667', '-93.209602', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41893, 'Lampe', 2804, '65681', '417', '36.571366', '-93.456282', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41894, 'Koshkonong', 2804, '65692', '417', '36.589232', '-91.657494', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41895, 'Marshfield', 2804, '65706', '417', '37.319323', '-92.883835', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41896, 'Noble', 2804, '65715', '417', '36.748063', '-92.585991', '2018-11-29 04:59:15', '2018-11-29 04:59:15'),\n(41897, 'Pittsburg', 2804, '65724', '417', '37.848651', '-93.335134', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41898, 'Powersite', 2804, '65731', '417', '36.6513', '-93.123082', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41899, 'Linden', 2804, '65742', '417', '37.145466', '-93.093242', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41900, 'Rogersville', 2804, '65742', '417', '37.145466', '-93.093242', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41901, 'Stotts City', 2804, '65756', '417', '37.111214', '-93.958133', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41902, 'Vineyard', 2804, '65756', '417', '37.111214', '-93.958133', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41903, 'Turners', 2804, '65765', '417', '37.1817', '-93.1566', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41904, 'Urbana', 2804, '65767', '417', '37.838169', '-93.118714', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41905, 'Willard', 2804, '65781', '417', '37.357558', '-93.415773', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41906, 'Windyville', 2804, '65783', '417', '37.69798', '-92.946627', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41907, 'Springfield', 2804, '65817', '417', '37.2155', '-93.2981', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41908, 'Latham', 2804, '65050', '660', '38.545474', '-92.683364', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41909, 'Linn', 2804, '65051', '573', '38.46877', '-91.794566', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41910, 'Bem', 2804, '65066', '573', '38.356292', '-91.476023', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41911, 'Brush Creek', 2804, '65066', '573', '38.356292', '-91.476023', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41912, 'Drake', 2804, '65066', '573', '38.356292', '-91.476023', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41913, 'Old Woollam', 2804, '65066', '573', '38.356292', '-91.476023', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41914, 'Owensville', 2804, '65066', '573', '38.356292', '-91.476023', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41915, 'Div Of Family Services', 2804, '65103', '573', '38.5764', '-92.1736', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41916, 'Jefferson City', 2804, '65103', '573', '38.5764', '-92.1736', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41917, 'Jefferson Cty', 2804, '65103', '573', '38.5764', '-92.1736', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41918, 'Columbia', 2804, '65203', '573', '38.881448', '-92.397253', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41919, 'Easley', 2804, '65203', '573', '38.881448', '-92.397253', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41920, 'Huntsdale', 2804, '65203', '573', '38.881448', '-92.397253', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41921, 'Mcbaine', 2804, '65203', '573', '38.881448', '-92.397253', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41922, 'Sapp', 2804, '65203', '573', '38.881448', '-92.397253', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41923, 'Columbia', 2804, '65218', '573', '38.9518', '-92.3336', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41924, 'Shelter Insurance', 2804, '65218', '573', '38.9518', '-92.3336', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41925, 'Billingsville', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41926, 'Boonville', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41927, 'Clarks Fork', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41928, 'Gooch Mill', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41929, 'Lamine', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41930, 'Overton', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41931, 'Speed', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41932, 'Windsor Place', 2804, '65233', '660', '38.900194', '-92.719676', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41933, 'Brunswick', 2804, '65236', '660', '39.422276', '-93.110226', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41934, 'Indian Grove', 2804, '65236', '660', '39.422276', '-93.110226', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41935, 'Bunceton', 2804, '65237', '660', '38.771511', '-92.82108', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41936, 'Cotton', 2804, '65237', '660', '38.771511', '-92.82108', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41937, 'Lone Elm', 2804, '65237', '660', '38.771511', '-92.82108', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41938, 'Pisgah', 2804, '65237', '660', '38.771511', '-92.82108', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41939, 'Boonesboro', 2804, '65250', '660', '39.05119', '-92.84523', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41940, 'Franklin', 2804, '65250', '660', '39.05119', '-92.84523', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41941, 'Petersburg', 2804, '65250', '660', '39.05119', '-92.84523', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41942, 'Thompson', 2804, '65285', '573', '39.202096', '-92.039393', '2018-11-29 04:59:16', '2018-11-29 04:59:16'),\n(41943, 'Arrow Rock', 2804, '65320', '660', '39.082933', '-92.937076', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41944, 'Syracuse', 2804, '65354', '660', '38.639096', '-92.887456', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41945, 'Rolla', 2804, '65402', '573', '37.9473', '-91.7606', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41946, 'Crocker', 2804, '65452', '573', '37.942192', '-92.281752', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41947, 'Eunice', 2804, '65468', '417', '37.259387', '-91.793594', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41948, 'Huggins', 2804, '65484', '417', '37.305834', '-92.178382', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41949, 'Laquey', 2804, '65534', '573', '37.670524', '-92.297868', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41950, 'Leasburg', 2804, '65535', '573', '38.076944', '-91.274915', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41951, 'Evening Shade', 2804, '65552', '417', '37.491539', '-92.163221', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41952, 'Palace', 2804, '65552', '417', '37.491539', '-92.163221', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41953, 'Plato', 2804, '65552', '417', '37.491539', '-92.163221', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41954, 'Saint Robert', 2804, '65584', '573', '37.838616', '-92.143222', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41955, 'Saint Roberts', 2804, '65584', '573', '37.838616', '-92.143222', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41956, 'St Robert', 2804, '65584', '573', '37.838616', '-92.143222', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41957, 'St Roberts', 2804, '65584', '573', '37.838616', '-92.143222', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41958, 'Wesco', 2804, '65586', '573', '37.850128', '-91.343778', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41959, 'Winona', 2804, '65588', '573', '37.062299', '-91.20232', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41960, 'Dora', 2804, '65637', '417', '36.752548', '-92.212419', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41961, 'Fordland', 2804, '65652', '417', '37.103798', '-92.935404', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41962, 'Freistatt', 2804, '65654', '417', '37.008095', '-93.888318', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41963, 'Kimberling City', 2804, '65686', '417', '36.633148', '-93.448103', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41964, 'Kimberling Cy', 2804, '65686', '417', '36.633148', '-93.448103', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41965, 'Macomb', 2804, '65702', '417', '37.097747', '-92.479476', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41966, 'Marionville', 2804, '65705', '417', '37.004211', '-93.589138', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41967, 'Republic', 2804, '65738', '417', '37.128636', '-93.516755', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41968, 'Squires', 2804, '65755', '417', '36.791732', '-92.618683', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41969, 'Walnut Grove', 2804, '65770', '417', '37.407731', '-93.527853', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41970, 'Stockton', 2804, '65785', '417', '37.736222', '-93.778231', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41971, 'Versailles', 2804, '65084', '573', '38.4216', '-92.820168', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41972, 'Jefferson City', 2804, '65102', '573', '38.5764', '-92.1736', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41973, 'Jefferson Cty', 2804, '65102', '573', '38.5764', '-92.1736', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41974, 'Calwood', 2804, '65251', '573', '38.825875', '-91.952928', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41975, 'Carrington', 2804, '65251', '573', '38.825875', '-91.952928', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41976, 'Fulton', 2804, '65251', '573', '38.825875', '-91.952928', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41977, 'Millersburg', 2804, '65251', '573', '38.825875', '-91.952928', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41978, 'Wooldridge', 2804, '65287', '660', '38.898562', '-92.53994', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41979, 'Hughesville', 2804, '65334', '660', '38.849497', '-93.22103', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41980, 'Longwood', 2804, '65334', '660', '38.849497', '-93.22103', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41981, 'Bahner', 2804, '65350', '660', '38.655702', '-93.11739', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41982, 'Beaman', 2804, '65350', '660', '38.655702', '-93.11739', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41983, 'Smithton', 2804, '65350', '660', '38.655702', '-93.11739', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41984, 'Cretcher', 2804, '65351', '660', '38.957041', '-93.445016', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41985, 'Dunksburg', 2804, '65351', '660', '38.957041', '-93.445016', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41986, 'Salt Pond', 2804, '65351', '660', '38.957041', '-93.445016', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41987, 'Sweet Springs', 2804, '65351', '660', '38.957041', '-93.445016', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41988, 'Cuba', 2804, '65453', '573', '38.133435', '-91.420133', '2018-11-29 04:59:17', '2018-11-29 04:59:17'),\n(41989, 'Iberia', 2804, '65486', '573', '38.111662', '-92.303618', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41990, 'Jadwin', 2804, '65501', '573', '37.484394', '-91.556477', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41991, 'Success', 2804, '65570', '417', '37.442346', '-92.062181', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41992, 'Aldrich', 2804, '65601', '417', '37.528589', '-93.544725', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41993, 'Ash Grove', 2804, '65604', '417', '37.288298', '-93.578998', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41994, 'Brixey', 2804, '65618', '417', '36.753973', '-92.395184', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41995, 'Drury', 2804, '65638', '417', '36.930446', '-92.363928', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41996, 'Hermitage', 2804, '65668', '417', '37.902034', '-93.275658', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41997, 'Highlandville', 2804, '65669', '417', '36.914538', '-93.274964', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41998, 'Louisburg', 2804, '65685', '417', '37.714009', '-93.14662', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(41999, 'Mansfield', 2804, '65704', '417', '37.166416', '-92.579341', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42000, 'S Greenfield', 2804, '65752', '417', '37.366751', '-93.841205', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42001, 'South Greenfield', 2804, '65752', '417', '37.366751', '-93.841205', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42002, 'Spokane', 2804, '65754', '417', '36.858798', '-93.28073', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42003, 'Vanzant', 2804, '65768', '417', '36.97143', '-92.199549', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42004, 'Branch', 2804, '65786', '573', '37.986264', '-92.961725', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42005, 'Macks Creek', 2804, '65786', '573', '37.986264', '-92.961725', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42006, 'Peace Valley', 2804, '65788', '417', '36.820004', '-91.706929', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42007, 'Springfield', 2804, '65802', '417', '37.22078', '-93.328184', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42008, 'Springfield', 2804, '65803', '417', '37.304223', '-93.305528', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42009, 'Springfield', 2804, '65804', '417', '37.148812', '-93.255436', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42010, 'Springfield', 2804, '65805', '417', '37.2155', '-93.2981', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42011, 'Case', 2804, '65041', '573', '38.652924', '-91.504868', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42012, 'Hermann', 2804, '65041', '573', '38.652924', '-91.504868', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42013, 'Mckittrick', 2804, '65041', '573', '38.652924', '-91.504868', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42014, 'Swiss', 2804, '65041', '573', '38.652924', '-91.504868', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42015, 'Holts Summit', 2804, '65043', '573', '38.622623', '-92.088688', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42016, 'Lake Mykee Town', 2804, '65043', '573', '38.622623', '-92.088688', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42017, 'Wainwright', 2804, '65043', '573', '38.622623', '-92.088688', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42018, 'Mokane', 2804, '65059', '573', '38.701173', '-91.832172', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42019, 'Fredericksburg', 2804, '65061', '573', '38.598978', '-91.642343', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42020, 'Gasconade', 2804, '65061', '573', '38.598978', '-91.642343', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42021, 'Hope', 2804, '65061', '573', '38.598978', '-91.642343', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42022, 'Morrison', 2804, '65061', '573', '38.598978', '-91.642343', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42023, 'Pershing', 2804, '65061', '573', '38.598978', '-91.642343', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42024, 'Saint Elizabeth', 2804, '65075', '573', '38.260795', '-92.260071', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42025, 'St Elizabeth', 2804, '65075', '573', '38.260795', '-92.260071', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42026, 'Saint Thomas', 2804, '65076', '573', '38.374607', '-92.179504', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42027, 'Reform', 2804, '65077', '573', '38.762663', '-91.784002', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42028, 'Steedman', 2804, '65077', '573', '38.762663', '-91.784002', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42029, 'Stover', 2804, '65078', '573', '38.37699', '-92.99498', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42030, 'Jefferson City', 2804, '65110', '573', '38.5764', '-92.1736', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42031, 'Jefferson Cty', 2804, '65110', '573', '38.5764', '-92.1736', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42032, 'Clark', 2804, '65243', '573', '39.274508', '-92.332182', '2018-11-29 04:59:18', '2018-11-29 04:59:18'),\n(42033, 'Savannah', 2804, '64485', '816', '39.930284', '-94.827021', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42034, 'Worth', 2804, '64499', '660', '40.42862', '-94.423023', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42035, 'Avalon', 2804, '64601', '660', '39.754668', '-93.509932', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42036, 'Chillicothe', 2804, '64601', '660', '39.754668', '-93.509932', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42037, 'Carrollton', 2804, '64633', '660', '39.355109', '-93.477894', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42038, 'Laclede', 2804, '64651', '660', '39.771714', '-93.189093', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42039, 'Laredo', 2804, '64652', '660', '40.010428', '-93.446194', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42040, 'Harwood', 2804, '64750', '417', '37.949418', '-94.118708', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42041, 'Hume', 2804, '64752', '660', '38.029866', '-94.528158', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42042, 'Stotesbury', 2804, '64752', '660', '38.029866', '-94.528158', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42043, 'Joplin', 2804, '64802', '417', '37.0842', '-94.5132', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42044, 'Neosho', 2804, '64850', '417', '36.875266', '-94.417166', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42045, 'Stark City', 2804, '64866', '417', '36.869262', '-94.140627', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42046, 'Stella', 2804, '64867', '417', '36.715404', '-94.22912', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42047, 'Internal Revenue Service', 2804, '64999', '816', '39.0994', '-94.5783', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42048, 'K C', 2804, '64999', '816', '39.0994', '-94.5783', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42049, 'Kansas City', 2804, '64999', '816', '39.0994', '-94.5783', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42050, 'Ks City', 2804, '64999', '816', '39.0994', '-94.5783', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42051, 'Bonnots Mill', 2804, '65016', '573', '38.580242', '-91.921022', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42052, 'Frankenstein', 2804, '65016', '573', '38.580242', '-91.921022', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42053, 'Luystown', 2804, '65016', '573', '38.580242', '-91.921022', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42054, 'Brumley', 2804, '65017', '573', '38.106701', '-92.495037', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42055, 'California', 2804, '65018', '573', '38.62568', '-92.53297', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42056, 'Kliever', 2804, '65018', '573', '38.62568', '-92.53297', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42057, 'Lohman', 2804, '65053', '573', '38.53699', '-92.377222', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42058, 'Ulman', 2804, '65083', '573', '38.125894', '-92.445899', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42059, 'Glensted', 2804, '65084', '573', '38.4216', '-92.820168', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42060, 'Marvin', 2804, '65084', '573', '38.4216', '-92.820168', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42061, 'Glenville', 2807, '28736', '828', '35.173643', '-83.097069', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42062, 'Marion', 2807, '28752', '828', '35.738921', '-82.049676', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42063, 'Marshall', 2807, '28753', '828', '35.880346', '-82.703324', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42064, 'Andrews', 2807, '28901', '828', '35.197799', '-83.810292', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42065, 'Culberson', 2807, '28903', '828', '34.9919', '-84.1679', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42066, 'Hayesville', 2807, '28904', '828', '35.073862', '-83.705197', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42067, 'Bluff', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42068, 'Hot Springs', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42069, 'Joe', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42070, 'Luck', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42071, 'Paint Rock', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42072, 'Spring Creek', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42073, 'Trust', 2807, '28743', '828', '35.815431', '-82.854804', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42074, 'Franklin', 2807, '28744', '828', '35.1824', '-83.3777', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42075, 'Assembly', 2807, '28745', '828', '35.525165', '-82.973064', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42076, 'Lake Junaluska', 2807, '28745', '828', '35.525165', '-82.973064', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42077, 'Lk Junaluska', 2807, '28745', '828', '35.525165', '-82.973064', '2018-11-29 04:59:19', '2018-11-29 04:59:19'),\n(42078, 'Naples', 2807, '28760', '828', '35.3927', '-82.5006', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42079, 'Nebo', 2807, '28761', '828', '35.686899', '-81.915453', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42080, 'Old Fort', 2807, '28762', '828', '35.627437', '-82.192988', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42081, 'Baldwin', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42082, 'Beaver Creek', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42083, 'Idlewild', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42084, 'Index', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42085, 'Smethport', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42086, 'Treetop', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42087, 'W Jefferson', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42088, 'West Jefferson', 2807, '28694', '336', '36.360784', '-81.473539', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42089, 'Swannanoa', 2807, '28778', '828', '35.628148', '-82.406266', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42090, 'Abshers', 2807, '28685', '336', '36.354474', '-81.030234', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42091, 'Dockery', 2807, '28685', '336', '36.354474', '-81.030234', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42092, 'Joynes', 2807, '28685', '336', '36.354474', '-81.030234', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42093, 'Moxley', 2807, '28685', '336', '36.354474', '-81.030234', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42094, 'Traphill', 2807, '28685', '336', '36.354474', '-81.030234', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42095, 'Asheville', 2807, '28801', '828', '35.590094', '-82.558245', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42096, 'Asheville', 2807, '28802', '828', '35.6006', '-82.5545', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42097, 'Brasstown', 2807, '28902', '828', '35.028354', '-83.962106', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42098, 'Gerton', 2807, '28735', '828', '35.480696', '-82.353628', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42099, 'Maggie Valley', 2807, '28751', '828', '35.514344', '-83.11087', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42100, 'Bennington', 2809, '68007', '402', '41.37878', '-96.205508', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42101, 'Bruno', 2809, '68014', '402', '41.263608', '-96.966066', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42102, 'Fort Calhoun', 2809, '68023', '402', '41.469588', '-96.009046', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42103, 'Louisville', 2809, '68037', '402', '41.006919', '-96.145072', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42104, 'Rosalie', 2809, '68055', '402', '42.060252', '-96.470332', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42105, 'Yutan', 2809, '68073', '402', '41.226476', '-96.40691', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42106, 'Omaha', 2809, '68105', '402', '41.23912', '-95.968591', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42107, 'Omaha', 2809, '68130', '402', '41.233712', '-96.193829', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42108, 'Omaha', 2809, '68132', '402', '41.263883', '-96.001903', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42109, 'Omaha', 2809, '68139', '402', '41.2595', '-95.9371', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42110, 'Blue Cross Blue Shield', 2809, '68180', '402', '41.2586', '-95.9376', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42111, 'Omaha', 2809, '68180', '402', '41.2586', '-95.9376', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42112, 'Omaha', 2809, '68182', '402', '41.257059', '-96.009628', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42113, 'Univ Of Ne Omaha', 2809, '68182', '402', '41.257059', '-96.009628', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42114, 'Omaha', 2809, '68198', '402', '41.255132', '-95.977392', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42115, 'Un Med Center', 2809, '68198', '402', '41.255132', '-95.977392', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42116, 'Univ Of Ne Med Center', 2809, '68198', '402', '41.255132', '-95.977392', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42117, 'University Of Nebraska Medic', 2809, '68198', '402', '41.255132', '-95.977392', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42118, 'Auburn', 2809, '68305', '402', '40.348802', '-95.900297', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42119, 'Glenrock', 2809, '68305', '402', '40.348802', '-95.900297', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42120, 'Howe', 2809, '68305', '402', '40.348802', '-95.900297', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42121, 'North Auburn', 2809, '68305', '402', '40.348802', '-95.900297', '2018-11-29 04:59:20', '2018-11-29 04:59:20'),\n(42122, 'Rohrs', 2809, '68305', '402', '40.348802', '-95.900297', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42123, 'Avoca', 2809, '68307', '402', '40.79143', '-96.131136', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42124, 'Bee', 2809, '68314', '402', '41.010188', '-97.044101', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42125, 'Brownville', 2809, '68321', '402', '40.40719', '-95.710495', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42126, 'Dunbar', 2809, '68346', '402', '40.660852', '-96.047246', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42127, 'Lorton', 2809, '68346', '402', '40.660852', '-96.047246', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42128, 'Barada', 2809, '68355', '402', '40.131031', '-95.532305', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42129, 'Falls City', 2809, '68355', '402', '40.131031', '-95.532305', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42130, 'Preston', 2809, '68355', '402', '40.131031', '-95.532305', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42131, 'Greenwood', 2809, '68366', '402', '40.979822', '-96.420721', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42132, 'Henderson', 2809, '68371', '402', '40.785614', '-97.797416', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42133, 'Lushton', 2809, '68371', '402', '40.785614', '-97.797416', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42134, 'Murdock', 2809, '68407', '402', '40.924847', '-96.264806', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42135, 'Wabash', 2809, '68407', '402', '40.924847', '-96.264806', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42136, 'Pleasant Dale', 2809, '68423', '402', '40.821279', '-96.948991', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42137, 'Roca', 2809, '68430', '402', '40.661204', '-96.65842', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42138, 'Saltillo', 2809, '68430', '402', '40.661204', '-96.65842', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42139, 'Staplehurst', 2809, '68439', '402', '41.003125', '-97.215291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42140, 'Graf', 2809, '68450', '402', '40.349264', '-96.264898', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42141, 'Tecumseh', 2809, '68450', '402', '40.349264', '-96.264898', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42142, 'Verdon', 2809, '68457', '402', '40.131122', '-95.72801', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42143, 'Western', 2809, '68464', '402', '40.429612', '-97.103216', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42144, 'Bethany', 2809, '68505', '402', '40.824266', '-96.61544', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42145, 'Lincoln', 2809, '68505', '402', '40.824266', '-96.61544', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42146, 'Lincoln', 2809, '68516', '402', '40.733542', '-96.644325', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42147, 'Chambers', 2809, '68725', '402', '42.132186', '-98.745571', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42148, 'Dixon', 2809, '68732', '402', '42.47385', '-96.957918', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42149, 'Orchard', 2809, '68764', '402', '42.40785', '-98.220881', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42150, 'Page', 2809, '68766', '402', '42.4369', '-98.388011', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42151, 'Ansley', 2809, '68814', '308', '41.328756', '-99.381236', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42152, 'Berwyn', 2809, '68814', '308', '41.328756', '-99.381236', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42153, 'Myrtle', 2809, '68814', '308', '41.328756', '-99.381236', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42154, 'Weissert', 2809, '68814', '308', '41.328756', '-99.381236', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42155, 'Callaway', 2809, '68825', '308', '41.191366', '-100.065291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42156, 'Custer', 2809, '68825', '308', '41.191366', '-100.065291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42157, 'Delight', 2809, '68825', '308', '41.191366', '-100.065291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42158, 'Elim', 2809, '68825', '308', '41.191366', '-100.065291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42159, 'Ryno', 2809, '68825', '308', '41.191366', '-100.065291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42160, 'Triumph', 2809, '68825', '308', '41.191366', '-100.065291', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42161, 'Doniphan', 2809, '68832', '402', '40.773723', '-98.397152', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42162, 'South Platte', 2809, '68832', '402', '40.773723', '-98.397152', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42163, 'Giltner', 2809, '68841', '402', '40.763742', '-98.149462', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42164, 'Kearney', 2809, '68848', '308', '40.6996', '-99.0812', '2018-11-29 04:59:21', '2018-11-29 04:59:21'),\n(42165, 'Enterprise', 2809, '68859', '308', '41.490654', '-98.808769', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42166, 'Eureka', 2809, '68859', '308', '41.490654', '-98.808769', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42167, 'Independent', 2809, '68859', '308', '41.490654', '-98.808769', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42168, 'North Loup', 2809, '68859', '308', '41.490654', '-98.808769', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42169, 'Palmer', 2809, '68864', '308', '41.21288', '-98.221608', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42170, 'Cushing', 2809, '68873', '308', '41.256654', '-98.450814', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42171, 'Saint Paul', 2809, '68873', '308', '41.256654', '-98.450814', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42172, 'St Paul', 2809, '68873', '308', '41.256654', '-98.450814', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42173, 'Horace', 2809, '68875', '308', '41.556677', '-98.636392', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42174, 'Scotia', 2809, '68875', '308', '41.556677', '-98.636392', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42175, 'Brayton', 2809, '68882', '308', '41.434974', '-98.420359', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42176, 'Wolbach', 2809, '68882', '308', '41.434974', '-98.420359', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42177, 'Ayr', 2809, '68925', '402', '40.422945', '-98.429602', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42178, 'Zero', 2809, '68925', '402', '40.422945', '-98.429602', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42179, 'Denver', 2809, '68950', '402', '40.437248', '-98.667214', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42180, 'Holstein', 2809, '68950', '402', '40.437248', '-98.667214', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42181, 'Saronville', 2809, '68975', '402', '40.568138', '-97.976096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42182, 'Champion', 2809, '69023', '308', '40.523992', '-101.868209', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42183, 'Lamar', 2809, '69023', '308', '40.523992', '-101.868209', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42184, 'Indianola', 2809, '69034', '308', '40.219365', '-100.41997', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42185, 'Mullen', 2809, '69152', '308', '42.092175', '-101.11794', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42186, 'Purdum', 2809, '69157', '308', '41.963151', '-100.09316', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42187, 'Gering', 2809, '69341', '308', '41.777934', '-103.657645', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42188, 'Terrytown', 2809, '69341', '308', '41.777934', '-103.657645', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42189, 'Whitman', 2809, '69366', '308', '42.080975', '-101.453086', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42190, 'Hamilton', 2811, '08690', '609', '40.233598', '-74.655096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42191, 'Hamilton Sq', 2811, '08690', '609', '40.233598', '-74.655096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42192, 'Hamilton Square', 2811, '08690', '609', '40.233598', '-74.655096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42193, 'Hamilton Township', 2811, '08690', '609', '40.233598', '-74.655096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42194, 'Hamilton Twp', 2811, '08690', '609', '40.233598', '-74.655096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42195, 'Trenton', 2811, '08690', '609', '40.233598', '-74.655096', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42196, 'Brick', 2811, '08723', '732', '40.045766', '-74.109236', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42197, 'Bricktown', 2811, '08723', '732', '40.045766', '-74.109236', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42198, 'Osbornville', 2811, '08723', '732', '40.045766', '-74.109236', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42199, 'Normandy Bch', 2811, '08739', '732', '40.0025', '-74.0609', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42200, 'Normandy Beach', 2811, '08739', '732', '40.0025', '-74.0609', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42201, 'Ocean Gate', 2811, '08740', '732', '39.926661', '-74.135528', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42202, 'Piscataway', 2811, '08855', '732', '40.4992', '-74.3996', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42203, 'Old Bridge', 2811, '08857', '732', '40.391002', '-74.325559', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42204, 'Sayreville', 2811, '08872', '732', '40.461874', '-74.336484', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42205, 'Princeton', 2811, '08540', '609', '40.378246', '-74.662206', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42206, 'Princeton Township', 2811, '08540', '609', '40.378246', '-74.662206', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42207, 'Princeton Twp', 2811, '08540', '609', '40.378246', '-74.662206', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42208, 'Roebling', 2811, '08554', '609', '40.114836', '-74.780404', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42209, 'Roosevelt', 2811, '08555', '732', '40.213319', '-74.471792', '2018-11-29 04:59:22', '2018-11-29 04:59:22'),\n(42210, 'Trenton', 2811, '08604', '609', '40.2167', '-74.7433', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42211, 'Trenton', 2811, '08605', '609', '40.2167', '-74.7433', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42212, 'Trenton', 2811, '08606', '609', '40.2167', '-74.7433', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42213, 'Groveville', 2811, '08620', '609', '40.162043', '-74.651025', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42214, 'Hamilton', 2811, '08620', '609', '40.162043', '-74.651025', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42215, 'Hamilton Township', 2811, '08620', '609', '40.162043', '-74.651025', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42216, 'Hamilton Twp', 2811, '08620', '609', '40.162043', '-74.651025', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42217, 'Trenton', 2811, '08620', '609', '40.162043', '-74.651025', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42218, 'Estell Manor', 2811, '08319', '609', '39.352266', '-74.812041', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42219, 'Atlantic City', 2811, '08404', '609', '39.3645', '-74.4236', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42220, 'E Windsor', 2811, '08520', '609', '40.249122', '-74.5151', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42221, 'East Windsor', 2811, '08520', '609', '40.249122', '-74.5151', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42222, 'Hightstown', 2811, '08520', '609', '40.249122', '-74.5151', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42223, 'Toms River', 2811, '08755', '732', '40.005382', '-74.225583', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42224, 'Berkeley', 2811, '08757', '732', '39.967816', '-74.251437', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42225, 'Berkeley Township', 2811, '08757', '732', '39.967816', '-74.251437', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42226, 'Berkeley Twp', 2811, '08757', '732', '39.967816', '-74.251437', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42227, 'S Toms River', 2811, '08757', '732', '39.967816', '-74.251437', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42228, 'South Toms River', 2811, '08757', '732', '39.967816', '-74.251437', '2018-11-29 04:59:23', '2018-11-29 04:59:23');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(42229, 'Toms River', 2811, '08757', '732', '39.967816', '-74.251437', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42230, 'Bloomsbury', 2811, '08804', '908', '40.643578', '-75.097413', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42231, 'Palmyra', 2811, '08065', '856', '40.003412', '-75.03544', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42232, 'Riverton', 2811, '08076', '856', '40.0122', '-75.0154', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42233, 'Hi Nella', 2811, '08083', '856', '39.842598', '-75.029744', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42234, 'Somerdale', 2811, '08083', '856', '39.842598', '-75.029744', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42235, 'Berkeley Hts', 2811, '07922', '908', '40.675582', '-74.42022', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42236, 'Gillette', 2811, '07933', '908', '40.698313', '-74.47384', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42237, 'Madison', 2811, '07940', '973', '40.758346', '-74.420134', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42238, 'Juliustown', 2811, '08042', '609', '40.01603', '-74.66342', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42239, 'Whippany', 2811, '07981', '973', '40.823395', '-74.422224', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42240, 'Alloway', 2811, '08001', '856', '39.55658', '-75.360196', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42241, 'Paradise Lakes', 2811, '08001', '856', '39.55658', '-75.360196', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42242, 'Beach Haven', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42243, 'Brant Beach', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42244, 'Harvey Cedars', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42245, 'Harvey Cedars Boro', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42246, 'High Bar Harbor', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42247, 'Long Bch Twp', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42248, 'Long Beach', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42249, 'Long Beach Township', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42250, 'Loveladies', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42251, 'North Beach', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42252, 'Ship Bottom', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42253, 'Ship Bottom Boro', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42254, 'Surf City', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42255, 'Surf City Boro', 2811, '08008', '609', '39.637942', '-74.198938', '2018-11-29 04:59:23', '2018-11-29 04:59:23'),\n(42256, 'Holmdel', 2811, '07733', '732', '40.37571', '-74.172726', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42257, 'Holmdel Village', 2811, '07733', '732', '40.37571', '-74.172726', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42258, 'Delaware', 2811, '07833', '908', '40.899443', '-75.07152', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42259, 'Allamuchy Twp', 2811, '07840', '908', '40.864954', '-74.822685', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42260, 'Hackettstown', 2811, '07840', '908', '40.864954', '-74.822685', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42261, 'Lake Hopatcong', 2811, '07849', '973', '40.974278', '-74.582322', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42262, 'Lk Hopatcong', 2811, '07849', '973', '40.974278', '-74.582322', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42263, 'Mount Arlington', 2811, '07856', '973', '40.917384', '-74.638452', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42264, 'Mt Arlington', 2811, '07856', '973', '40.917384', '-74.638452', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42265, 'Wallpack Center', 2811, '07881', '973', '41.1254', '-74.9101', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42266, 'Wallpack Ctr', 2811, '07881', '973', '41.1254', '-74.9101', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42267, 'Berkeley Heights', 2811, '07922', '908', '40.675582', '-74.42022', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42268, 'Englewood', 2811, '07631', '201', '40.889551', '-73.972656', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42269, 'Saddle Brook', 2811, '07663', '201', '40.905218', '-74.09605', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42270, 'Green Creek', 2811, '08219', '609', '39.0461', '-74.9014', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42271, 'Linwood', 2811, '08221', '609', '39.34184', '-74.567658', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42272, 'Medford Lakes', 2811, '08055', '609', '39.863995', '-74.811906', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42273, 'Medford Lakes Boro', 2811, '08055', '609', '39.863995', '-74.811906', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42274, 'Medford Township', 2811, '08055', '609', '39.863995', '-74.811906', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42275, 'Camden', 2811, '08102', '856', '39.953287', '-75.120036', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42276, 'Chatsworth', 2811, '08019', '609', '39.759956', '-74.494152', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42277, 'Pennsville', 2811, '08070', '856', '39.631474', '-75.505081', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42278, 'Quinton', 2811, '08072', '856', '39.545223', '-75.41559', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42279, 'Auburn', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42280, 'Logan', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42281, 'Logan Township', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42282, 'Logan Twp', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42283, 'Swedesboro', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42284, 'Woolwich', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42285, 'Woolwich Township', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42286, 'Woolwich Twp', 2811, '08085', '856', '39.761812', '-75.354066', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42287, 'Haddon Heights', 2811, '08035', '856', '39.879591', '-75.065764', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42288, 'Haddon Hgts', 2811, '08035', '856', '39.879591', '-75.065764', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42289, 'Haddon Hts', 2811, '08035', '856', '39.879591', '-75.065764', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42290, 'Hancocks Brg', 2811, '08038', '856', '39.463402', '-75.495698', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42291, 'Hancocks Bridge', 2811, '08038', '856', '39.463402', '-75.495698', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42292, 'Maple Shade', 2811, '08052', '856', '39.949884', '-74.992983', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42293, 'Evesboro', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42294, 'Evesham', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42295, 'Evesham Twp', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42296, 'Kresson', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42297, 'Marlton', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42298, 'Marlton Lakes', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42299, 'North Marlton', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42300, 'Pine Grove', 2811, '08053', '856', '39.850583', '-74.90814', '2018-11-29 04:59:24', '2018-11-29 04:59:24'),\n(42301, 'Masonville', 2811, '08054', '856', '39.957002', '-74.916229', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42302, 'Mount Laurel', 2811, '08054', '856', '39.957002', '-74.916229', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42303, 'Mount Laurel Township', 2811, '08054', '856', '39.957002', '-74.916229', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42304, 'Rancocas Woods', 2811, '08054', '856', '39.957002', '-74.916229', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42305, 'Medford', 2811, '08055', '609', '39.863995', '-74.811906', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42306, 'Allamuchy', 2811, '07820', '908', '40.9219', '-74.8106', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42307, 'Andover', 2811, '07821', '973', '40.961952', '-74.755438', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42308, 'Byram Township', 2811, '07821', '973', '40.961952', '-74.755438', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42309, 'Byram Twp', 2811, '07821', '973', '40.961952', '-74.755438', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42310, 'Green Township', 2811, '07821', '973', '40.961952', '-74.755438', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42311, 'Green Twp', 2811, '07821', '973', '40.961952', '-74.755438', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42312, 'Cherry Hill', 2811, '08002', '856', '39.928792', '-75.024335', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42313, 'Cherry Hill Township', 2811, '08002', '856', '39.928792', '-75.024335', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42314, 'Ellisburg', 2811, '08002', '856', '39.928792', '-75.024335', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42315, 'Erlton', 2811, '08002', '856', '39.928792', '-75.024335', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42316, 'Cherry Hill', 2811, '08003', '856', '39.890037', '-74.973617', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42317, 'Cherry Hill Township', 2811, '08003', '856', '39.890037', '-74.973617', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42318, 'Woodcrest', 2811, '08003', '856', '39.890037', '-74.973617', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42319, 'Barnegat', 2811, '08005', '609', '39.802168', '-74.29905', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42320, 'Barnegat Township', 2811, '08005', '609', '39.802168', '-74.29905', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42321, 'Warren Grove', 2811, '08005', '609', '39.802168', '-74.29905', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42322, 'Denville', 2811, '07834', '973', '40.883154', '-74.490456', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42323, 'Layton', 2811, '07851', '973', '41.203116', '-74.841491', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42324, 'Sandyston', 2811, '07851', '973', '41.203116', '-74.841491', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42325, 'Paramus', 2811, '07653', '201', '40.9447', '-74.0758', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42326, 'Cliffwood Bch', 2811, '07735', '732', '40.43954', '-74.196676', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42327, 'Cliffwood Beach', 2811, '07735', '732', '40.43954', '-74.196676', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42328, 'Keyport', 2811, '07735', '732', '40.43954', '-74.196676', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42329, 'Union Beach', 2811, '07735', '732', '40.43954', '-74.196676', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42330, 'Leonardo', 2811, '07737', '732', '40.411188', '-74.061408', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42331, 'Neptune', 2811, '07754', '732', '40.2017', '-74.0306', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42332, 'Lionshead Lake', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42333, 'Mountain View', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42334, 'Packanack Lake', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42335, 'Packanack Lk', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42336, 'Pines Lake', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42337, 'Preakness', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42338, 'Wayne', 2811, '07470', '973', '40.948353', '-74.24241', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42339, 'Hillcrest', 2811, '07502', '973', '40.918505', '-74.193977', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42340, 'Paterson', 2811, '07502', '973', '40.918505', '-74.193977', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42341, 'Totowa', 2811, '07502', '973', '40.918505', '-74.193977', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42342, 'Avon', 2811, '07717', '732', '40.191384', '-74.016735', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42343, 'Avon By Sea', 2811, '07717', '732', '40.191384', '-74.016735', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42344, 'Avon By The Sea', 2811, '07717', '732', '40.191384', '-74.016735', '2018-11-29 04:59:25', '2018-11-29 04:59:25'),\n(42345, 'Belford', 2811, '07718', '732', '40.42058', '-74.0842', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42346, 'Roselle', 2811, '07203', '908', '40.650436', '-74.259668', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42347, 'Jersey City', 2811, '07302', '201', '40.720101', '-74.043134', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42348, 'Hackensack', 2811, '07602', '201', '40.8859', '-74.0439', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42349, 'Clark', 2811, '07066', '732', '40.621882', '-74.316892', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42350, 'Colonia', 2811, '07067', '732', '40.591264', '-74.314584', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42351, 'Roseland', 2811, '07068', '973', '40.823227', '-74.305498', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42352, 'Chestnut', 2811, '07083', '908', '40.693475', '-74.267224', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42353, 'Townley', 2811, '07083', '908', '40.693475', '-74.267224', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42354, 'Union', 2811, '07083', '908', '40.693475', '-74.267224', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42355, 'Union Center', 2811, '07083', '908', '40.693475', '-74.267224', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42356, 'Kearny', 2811, '07099', '973', '40.7683', '-74.1443', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42357, 'Usps', 2811, '07099', '973', '40.7683', '-74.1443', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42358, 'Academy', 2811, '07102', '973', '40.735502', '-74.172845', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42359, 'Midtown', 2811, '07102', '973', '40.735502', '-74.172845', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42360, 'Newark', 2811, '07102', '973', '40.735502', '-74.172845', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42361, 'Washington Park', 2811, '07102', '973', '40.735502', '-74.172845', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42362, 'Oakland', 2811, '07436', '201', '41.028064', '-74.237178', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42363, 'Glen Rock', 2811, '07452', '201', '40.960638', '-74.123216', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42364, 'East Orange', 2811, '07018', '973', '40.756553', '-74.217979', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42365, 'Va Hospital', 2811, '07018', '973', '40.756553', '-74.217979', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42366, 'East Orange', 2811, '07019', '973', '40.7672', '-74.2054', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42367, 'Arlington', 2811, '07032', '201', '40.751805', '-74.119776', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42368, 'Kearny', 2811, '07032', '201', '40.751805', '-74.119776', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42369, 'South Kearny', 2811, '07032', '201', '40.751805', '-74.119776', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42370, 'West Arlington', 2811, '07032', '201', '40.751805', '-74.119776', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42371, 'Newtonville', 2811, '08346', '609', '39.567866', '-74.857907', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42372, 'Cookstown', 2811, '08511', '609', '40.023547', '-74.553531', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42373, 'Cranbury', 2811, '08512', '609', '40.324688', '-74.53315', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42374, 'E Windsor', 2811, '08512', '609', '40.324688', '-74.53315', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42375, 'East Windsor', 2811, '08512', '609', '40.324688', '-74.53315', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42376, 'Mayville', 2811, '08210', '609', '39.111452', '-74.817887', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42377, 'Swainton', 2811, '08210', '609', '39.111452', '-74.817887', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42378, 'Ocean View', 2811, '08230', '609', '39.205855', '-74.710545', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42379, 'Palermo', 2811, '08230', '609', '39.205855', '-74.710545', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42380, 'Seaville', 2811, '08230', '609', '39.205855', '-74.710545', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42381, 'Cedarville', 2811, '08311', '856', '39.322436', '-75.189418', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42382, 'Deerfield', 2811, '08313', '856', '39.529287', '-75.226691', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42383, 'Deerfield St', 2811, '08313', '856', '39.529287', '-75.226691', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42384, 'Deerfield Street', 2811, '08313', '856', '39.529287', '-75.226691', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42385, 'Winslow', 2811, '08095', '609', '39.656982', '-74.862716', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42386, 'Burleigh', 2811, '08210', '609', '39.111452', '-74.817887', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42387, 'Cape May Ch', 2811, '08210', '609', '39.111452', '-74.817887', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42388, 'Cape May Court House', 2811, '08210', '609', '39.111452', '-74.817887', '2018-11-29 04:59:26', '2018-11-29 04:59:26'),\n(42389, 'Clermont', 2811, '08210', '609', '39.111452', '-74.817887', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42390, 'Mount Royal', 2811, '08061', '856', '39.803878', '-75.201968', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42391, 'Runnemede', 2811, '08078', '856', '39.851916', '-75.07379', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42392, 'Brookside', 2811, '07926', '973', '40.7945', '-74.5685', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42393, 'Cedar Knolls', 2811, '07927', '973', '40.822284', '-74.45634', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42394, 'Chatham', 2811, '07928', '973', '40.72204', '-74.40365', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42395, 'Chatham Twp', 2811, '07928', '973', '40.72204', '-74.40365', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42396, 'Gibbstown', 2811, '08027', '856', '39.824678', '-75.292391', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42397, 'Aura', 2811, '08028', '856', '39.698372', '-75.130848', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42398, 'Glassboro', 2811, '08028', '856', '39.698372', '-75.130848', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42399, 'Willingboro', 2811, '08046', '609', '40.027416', '-74.886572', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42400, 'Morristown', 2811, '07962', '973', '40.7968', '-74.4816', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42401, 'Stirling', 2811, '07980', '908', '40.681752', '-74.491948', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42402, 'East Freehold', 2811, '07728', '732', '40.230166', '-74.295424', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42403, 'Freehold', 2811, '07728', '732', '40.230166', '-74.295424', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42404, 'Georgia', 2811, '07728', '732', '40.230166', '-74.295424', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42405, 'Jerseyville', 2811, '07728', '732', '40.230166', '-74.295424', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42406, 'Millhurst', 2811, '07728', '732', '40.230166', '-74.295424', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42407, 'Hopatcong', 2811, '07843', '973', '40.941435', '-74.664865', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42408, 'Hope', 2811, '07844', '908', '40.9112', '-74.9679', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42409, 'Ironia', 2811, '07845', '973', '40.8225', '-74.6264', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42410, 'Johnsonburg', 2811, '07846', '908', '40.967466', '-74.881257', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42411, 'Succasunna', 2811, '07876', '973', '40.856746', '-74.653219', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42412, 'Mount Tabor', 2811, '07878', '973', '40.870949', '-74.479349', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42413, 'Tabor', 2811, '07878', '973', '40.870949', '-74.479349', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42414, 'Dumont', 2811, '07628', '201', '40.945685', '-73.993193', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42415, 'Little Ferry', 2811, '07643', '201', '40.843804', '-74.045945', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42416, 'River Edge', 2811, '07661', '201', '40.926371', '-74.038052', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42417, 'Rochelle Park', 2811, '07662', '201', '40.905451', '-74.079832', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42418, 'Locust', 2811, '07760', '732', '40.370889', '-74.008603', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42419, 'Rumson', 2811, '07760', '732', '40.370889', '-74.008603', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42420, 'Sea Bright', 2811, '07760', '732', '40.370889', '-74.008603', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42421, 'Spring Heights', 2811, '07762', '732', '40.15362', '-74.038347', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42422, 'Spring Lake', 2811, '07762', '732', '40.15362', '-74.038347', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42423, 'Spring Lake Heights', 2811, '07762', '732', '40.15362', '-74.038347', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42424, 'Wall', 2811, '07762', '732', '40.15362', '-74.038347', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42425, 'Wall Township', 2811, '07762', '732', '40.15362', '-74.038347', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42426, 'Wall Twp', 2811, '07762', '732', '40.15362', '-74.038347', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42427, 'Mahwah', 2811, '07495', '201', '41.0944', '-74.1504', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42428, 'Westwood', 2811, '07677', '201', '41.029927', '-74.055362', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42429, 'Woodcliff Lake', 2811, '07677', '201', '41.029927', '-74.055362', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42430, 'Erma', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42431, 'Fishing Creek', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42432, 'N Cape May', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42433, 'North Cape May', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:59:27', '2018-11-29 04:59:27'),\n(42434, 'Town Bank', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42435, 'West Cape May', 2811, '08204', '609', '38.985802', '-74.906163', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42436, 'Absecon', 2811, '08205', '609', '39.485979', '-74.453728', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42437, 'Galloway', 2811, '08205', '609', '39.485979', '-74.453728', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42438, 'Galloway Township', 2811, '08205', '609', '39.485979', '-74.453728', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42439, 'Smithville', 2811, '08205', '609', '39.485979', '-74.453728', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42440, 'Cedar Brook', 2811, '08018', '609', '39.7154', '-74.9011', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42441, 'Clarksboro', 2811, '08020', '856', '39.799302', '-75.21969', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42442, 'Clementon', 2811, '08021', '856', '39.804754', '-75.006042', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42443, 'Laurel Spgs', 2811, '08021', '856', '39.804754', '-75.006042', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42444, 'Laurel Springs', 2811, '08021', '856', '39.804754', '-75.006042', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42445, 'Lindenwold', 2811, '08021', '856', '39.804754', '-75.006042', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42446, 'Pine Hill', 2811, '08021', '856', '39.804754', '-75.006042', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42447, 'Pine Valley', 2811, '08021', '856', '39.804754', '-75.006042', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42448, 'Pitman', 2811, '08071', '856', '39.73329', '-75.13512', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42449, 'Thorofare', 2811, '08086', '856', '39.840372', '-75.194911', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42450, 'West Deptford', 2811, '08086', '856', '39.840372', '-75.194911', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42451, 'Green Village', 2811, '07935', '973', '40.735904', '-74.451299', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42452, 'Hainesport', 2811, '08036', '609', '39.972194', '-74.833804', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42453, 'Hainesport Township', 2811, '08036', '609', '39.972194', '-74.833804', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42454, 'Hainesprt Twp', 2811, '08036', '609', '39.972194', '-74.833804', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42455, 'Dover', 2811, '07801', '973', '40.934342', '-74.541784', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42456, 'Victory Gardens', 2811, '07801', '973', '40.934342', '-74.541784', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42457, 'Dover', 2811, '07802', '973', '40.8838', '-74.5625', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42458, 'East Keansburg', 2811, '07734', '732', '40.443247', '-74.132377', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42459, 'Ideal Beach', 2811, '07734', '732', '40.443247', '-74.132377', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42460, 'Long Valley', 2811, '07853', '908', '40.78307', '-74.803724', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42461, 'Dover', 2811, '07869', '973', '40.842115', '-74.58229', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42462, 'Randolph', 2811, '07869', '973', '40.842115', '-74.58229', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42463, 'Wharton', 2811, '07885', '973', '40.937489', '-74.580866', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42464, 'Summit', 2811, '07902', '908', '40.7169', '-74.3609', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42465, 'Basking Ridge', 2811, '07920', '908', '40.676082', '-74.56337', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42466, 'Paramus', 2811, '07652', '201', '40.94459', '-74.070169', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42467, 'Tenafly', 2811, '07670', '201', '40.916003', '-73.952052', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42468, 'Keansburg', 2811, '07734', '732', '40.443247', '-74.132377', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42469, 'W Keansburg', 2811, '07734', '732', '40.443247', '-74.132377', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42470, 'West Keansburg', 2811, '07734', '732', '40.443247', '-74.132377', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42471, 'Morganville', 2811, '07751', '732', '40.359512', '-74.261824', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42472, 'Navesink', 2811, '07752', '732', '40.3994', '-74.0355', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42473, 'Paterson', 2811, '07501', '973', '40.909786', '-74.17417', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42474, 'Paterson', 2811, '07503', '973', '40.898444', '-74.15003', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42475, 'South Paterson', 2811, '07503', '973', '40.898444', '-74.15003', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42476, 'Jersey City', 2811, '07303', '201', '40.7282', '-74.0784', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42477, 'Allendale', 2811, '07401', '201', '41.033262', '-74.13346', '2018-11-29 04:59:28', '2018-11-29 04:59:28'),\n(42478, 'Franklin Lakes', 2811, '07417', '201', '41.01229', '-74.208029', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42479, 'Franklin Lks', 2811, '07417', '201', '41.01229', '-74.208029', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42480, 'Haskell', 2811, '07420', '973', '41.028199', '-74.302975', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42481, 'Hack', 2811, '07601', '201', '40.886144', '-74.046312', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42482, 'Hackensack', 2811, '07601', '201', '40.886144', '-74.046312', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42483, 'Alpine', 2811, '07620', '201', '40.959648', '-73.918824', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42484, 'Plainfield', 2811, '07069', '908', '40.641608', '-74.442228', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42485, 'Watchung', 2811, '07069', '908', '40.641608', '-74.442228', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42486, 'Newark', 2811, '07101', '973', '40.7357', '-74.1725', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42487, 'Ridgewood', 2811, '07450', '201', '40.98145', '-74.110992', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42488, 'N Plainfield', 2811, '07063', '908', '40.606669', '-74.444356', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42489, 'White House Station', 2811, '08889', '908', '40.608443', '-74.76805', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42490, 'White Hse Sta', 2811, '08889', '908', '40.608443', '-74.76805', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42491, 'Whitehouse Station', 2811, '08889', '908', '40.608443', '-74.76805', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42492, 'Zarephath', 2811, '08890', '908', '40.5366', '-74.5752', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42493, 'Vanderburg', 2811, '07722', '732', '40.285978', '-74.162793', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42494, 'Eatontown', 2811, '07724', '732', '40.2926', '-74.073417', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42495, 'Monmouth', 2811, '07724', '732', '40.2926', '-74.073417', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42496, 'Shrewsbury Township', 2811, '07724', '732', '40.2926', '-74.073417', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42497, 'Tinton Falls', 2811, '07724', '732', '40.2926', '-74.073417', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42498, 'Vail Homes', 2811, '07724', '732', '40.2926', '-74.073417', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42499, 'Changewater', 2811, '07831', '908', '40.7383', '-74.9447', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42500, 'Hibernia', 2811, '07842', '973', '40.940498', '-74.516667', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42501, 'Port Murray', 2811, '07865', '908', '40.786862', '-74.901131', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42502, 'Harrington Park', 2811, '07640', '201', '40.990544', '-73.980791', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42503, 'Harrington Pk', 2811, '07640', '201', '40.990544', '-73.980791', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42504, 'Park Ridge', 2811, '07656', '201', '41.035313', '-74.044024', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42505, 'Lincroft', 2811, '07738', '732', '40.341478', '-74.12412', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42506, 'Erskine Lakes', 2811, '07456', '973', '41.111832', '-74.279671', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42507, 'Ringwood', 2811, '07456', '973', '41.111832', '-74.279671', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42508, 'Skyline Lakes', 2811, '07456', '973', '41.111832', '-74.279671', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42509, 'Waldwick', 2811, '07463', '201', '41.013875', '-74.122565', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42510, 'Midvale', 2811, '07465', '973', '41.048714', '-74.287475', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42511, 'Wanaque', 2811, '07465', '973', '41.048714', '-74.287475', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42512, 'Haledon', 2811, '07508', '973', '40.953837', '-74.199525', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42513, 'Roselle Park', 2811, '07204', '908', '40.665443', '-74.265982', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42514, 'Elizabeth', 2811, '07206', '908', '40.65335', '-74.186924', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42515, 'Elizabethport', 2811, '07206', '908', '40.65335', '-74.186924', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42516, 'Jersey City', 2811, '07304', '201', '40.715356', '-74.063073', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42517, 'Barry Lakes', 2811, '07422', '973', '41.191098', '-74.441756', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42518, 'Highland Lakes', 2811, '07422', '973', '41.191098', '-74.441756', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42519, 'Highland Lks', 2811, '07422', '973', '41.191098', '-74.441756', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42520, 'North Haledon', 2811, '07508', '973', '40.953837', '-74.199525', '2018-11-29 04:59:29', '2018-11-29 04:59:29'),\n(42521, 'Paterson', 2811, '07508', '973', '40.953837', '-74.199525', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42522, 'Prospect Park', 2811, '07508', '973', '40.953837', '-74.199525', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42523, 'Prospect Pk', 2811, '07508', '973', '40.953837', '-74.199525', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42524, 'Haledon', 2811, '07538', '973', '40.9358', '-74.1867', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42525, 'North Haledon', 2811, '07538', '973', '40.9358', '-74.1867', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42526, 'Paterson', 2811, '07538', '973', '40.9358', '-74.1867', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42527, 'Prospect Park', 2811, '07538', '973', '40.9358', '-74.1867', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42528, 'S Hackensack', 2811, '07606', '201', '40.864572', '-74.048865', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42529, 'South Hackensack', 2811, '07606', '201', '40.864572', '-74.048865', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42530, 'Closter', 2811, '07624', '201', '40.970804', '-73.968137', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42531, 'North Plainfield', 2811, '07063', '908', '40.606669', '-74.444356', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42532, 'Plainfield', 2811, '07063', '908', '40.606669', '-74.444356', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42533, 'South Orange', 2811, '07079', '973', '40.748895', '-74.258602', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42534, 'Vauxhall', 2811, '07088', '908', '40.717577', '-74.28538', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42535, 'Westfield', 2811, '07090', '908', '40.653229', '-74.346126', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42536, 'Newark', 2811, '07106', '973', '40.741195', '-74.229329', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42537, 'Vailsburg', 2811, '07106', '973', '40.741195', '-74.229329', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42538, 'Great Notch', 2811, '07424', '973', '40.88356', '-74.216776', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42539, 'Little Falls', 2811, '07424', '973', '40.88356', '-74.216776', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42540, 'Singac', 2811, '07424', '973', '40.88356', '-74.216776', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42541, 'W Paterson', 2811, '07424', '973', '40.88356', '-74.216776', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42542, 'West Paterson', 2811, '07424', '973', '40.88356', '-74.216776', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42543, 'Woodland Park', 2811, '07424', '973', '40.88356', '-74.216776', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42544, 'Cozy Lake', 2811, '07438', '973', '41.037606', '-74.517839', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42545, 'Jefferson Township', 2811, '07438', '973', '41.037606', '-74.517839', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42546, 'Jefferson Twp', 2811, '07438', '973', '41.037606', '-74.517839', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42547, 'Lake Swannanoa', 2811, '07438', '973', '41.037606', '-74.517839', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42548, 'Oak Ridge', 2811, '07438', '973', '41.037606', '-74.517839', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42549, 'Cupsaw Lake', 2811, '07456', '973', '41.111832', '-74.279671', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42550, 'Erskine', 2811, '07456', '973', '41.111832', '-74.279671', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42551, 'Clifton', 2811, '07011', '973', '40.878262', '-74.142536', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42552, 'Main Avenue Station', 2811, '07011', '973', '40.878262', '-74.142536', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42553, 'Edgewater', 2811, '07020', '201', '40.822907', '-73.973867', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42554, 'Linden', 2811, '07036', '908', '40.624754', '-74.249144', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42555, 'Tremley', 2811, '07036', '908', '40.624754', '-74.249144', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42556, 'Tremley Point', 2811, '07036', '908', '40.624754', '-74.249144', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42557, 'Winfield Park', 2811, '07036', '908', '40.624754', '-74.249144', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42558, 'Bank Of New York', 2811, '07195', '973', '40.7357', '-74.1725', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42559, 'Newark', 2811, '07195', '973', '40.7357', '-74.1725', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42560, 'Berlin Twp', 2811, '08091', '856', '39.80487', '-74.929939', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42561, 'West Berlin', 2811, '08091', '856', '39.80487', '-74.929939', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42562, 'Ewan', 2811, '08025', '856', '39.6987', '-75.1864', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42563, 'New Lisbon', 2811, '08064', '609', '39.961598', '-74.6407', '2018-11-29 04:59:30', '2018-11-29 04:59:30'),\n(42564, 'Bridgeboro', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42565, 'Delanco', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42566, 'Delanco Township', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42567, 'Delran', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42568, 'Delran Township', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42569, 'North Delran', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42570, 'Riverside', 2811, '08075', '856', '40.030134', '-74.94756', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42571, 'Florham Park', 2811, '07932', '973', '40.774552', '-74.401', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42572, 'Greystone Park', 2811, '07950', '973', '40.844511', '-74.490424', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42573, 'Greystone Pk', 2811, '07950', '973', '40.844511', '-74.490424', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42574, 'Morris Plains', 2811, '07950', '973', '40.844511', '-74.490424', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42575, 'Jobstown', 2811, '08041', '609', '40.036753', '-74.685912', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42576, 'Lumberton', 2811, '08048', '609', '39.960416', '-74.807668', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42577, 'Lumberton Township', 2811, '08048', '609', '39.960416', '-74.807668', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42578, 'Lumberton Twp', 2811, '08048', '609', '39.960416', '-74.807668', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42579, 'West Long Branch', 2811, '07764', '732', '40.289428', '-74.019191', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42580, 'Califon', 2811, '07830', '908', '40.715336', '-74.802461', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42581, 'Tewksbury Township', 2811, '07830', '908', '40.715336', '-74.802461', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42582, 'Tewksbury Twp', 2811, '07830', '908', '40.715336', '-74.802461', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42583, 'Bridgeport', 2811, '08014', '856', '39.807892', '-75.356205', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42584, 'Hazlet', 2811, '07730', '732', '40.423754', '-74.17428', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42585, 'Greendell', 2811, '07839', '973', '40.9737', '-74.8217', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42586, 'Netcong', 2811, '07857', '973', '40.896421', '-74.698078', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42587, 'Vienna', 2811, '07880', '908', '40.8688', '-74.8896', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42588, 'Washington', 2811, '07882', '908', '40.757961', '-75.016148', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42589, 'Haworth', 2811, '07641', '201', '40.961772', '-74.000627', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42590, 'Norwood', 2811, '07648', '201', '40.993784', '-73.94843', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42591, 'Palisades Park', 2811, '07650', '201', '40.846099', '-73.995642', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42592, 'Palisades Pk', 2811, '07650', '201', '40.846099', '-73.995642', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42593, 'Morsemere', 2811, '07657', '201', '40.829894', '-74.011812', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42594, 'Ridgefield', 2811, '07657', '201', '40.829894', '-74.011812', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42595, 'Little Silver', 2811, '07739', '732', '40.336643', '-74.038496', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42596, 'Little Silver Point', 2811, '07739', '732', '40.336643', '-74.038496', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42597, 'W Long Branch', 2811, '07764', '732', '40.289428', '-74.019191', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42598, 'Hawthorne', 2811, '07507', '973', '40.9493', '-74.1543', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42599, 'Atlantic Highlands', 2811, '07716', '732', '40.399018', '-74.041103', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42600, 'Atlantic Hl', 2811, '07716', '732', '40.399018', '-74.041103', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42601, 'Atlantic Hlds', 2811, '07716', '732', '40.399018', '-74.041103', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42602, 'Hillside', 2811, '07205', '908', '40.692857', '-74.23063', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42603, 'Ind Hillside', 2811, '07205', '908', '40.692857', '-74.23063', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42604, 'Industrial Hillside', 2811, '07205', '908', '40.692857', '-74.23063', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42605, 'Jersey City', 2811, '07307', '201', '40.752244', '-74.053636', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42606, 'Butler', 2811, '07405', '973', '40.988022', '-74.379764', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42607, 'Fayson Lake', 2811, '07405', '973', '40.988022', '-74.379764', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42608, 'Fayson Lakes', 2811, '07405', '973', '40.988022', '-74.379764', '2018-11-29 04:59:31', '2018-11-29 04:59:31'),\n(42609, 'High Crest', 2811, '07405', '973', '40.988022', '-74.379764', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42610, 'Kinnelon', 2811, '07405', '973', '40.988022', '-74.379764', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42611, 'Lindy Lake', 2811, '07405', '973', '40.988022', '-74.379764', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42612, 'Elmwood Park', 2811, '07407', '201', '40.905696', '-74.117889', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42613, 'Beaver Lake', 2811, '07416', '973', '41.110632', '-74.592667', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42614, 'Franklin', 2811, '07416', '973', '41.110632', '-74.592667', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42615, 'Paterson', 2811, '07514', '973', '40.928988', '-74.142465', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42616, 'Leonia', 2811, '07605', '201', '40.863688', '-73.990845', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42617, 'Bergenfield', 2811, '07621', '201', '40.923094', '-73.998585', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42618, 'Mahwah', 2811, '07430', '201', '41.077976', '-74.176374', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42619, 'Midland Park', 2811, '07432', '201', '40.99487', '-74.142414', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42620, 'Midland Pk', 2811, '07432', '201', '40.99487', '-74.142414', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42621, 'Ogdensburg', 2811, '07439', '973', '41.078874', '-74.596249', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42622, 'Allwood', 2811, '07012', '973', '40.848174', '-74.161005', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42623, 'Clifton', 2811, '07012', '973', '40.848174', '-74.161005', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42624, 'Clifton', 2811, '07014', '973', '40.832426', '-74.13984', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42625, 'Delawanna', 2811, '07014', '973', '40.832426', '-74.13984', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42626, 'Bank Of New York', 2811, '07198', '973', '40.7357', '-74.1725', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42627, 'Newark', 2811, '07198', '973', '40.7357', '-74.1725', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42628, 'Woodcliff Lk', 2811, '07677', '201', '41.029927', '-74.055362', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42629, 'Jersey Central Power Light', 2811, '07709', '732', '40.2362', '-74.0013', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42630, 'Red Bank', 2811, '07709', '732', '40.2362', '-74.0013', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42631, 'Allenhurst', 2811, '07711', '732', '40.239172', '-74.00761', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42632, 'Loch Arbour', 2811, '07711', '732', '40.239172', '-74.00761', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42633, 'W Allenhurst', 2811, '07711', '732', '40.239172', '-74.00761', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42634, 'West Allenhurst', 2811, '07711', '732', '40.239172', '-74.00761', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42635, 'Jersey City', 2811, '07395', '201', '40.73', '-74.08', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42636, 'Usps', 2811, '07395', '201', '40.73', '-74.08', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42637, 'Paterson', 2811, '07512', '973', '40.902786', '-74.223068', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42638, 'Totowa', 2811, '07512', '973', '40.902786', '-74.223068', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42639, 'Totowa Boro', 2811, '07512', '973', '40.902786', '-74.223068', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42640, 'Paterson', 2811, '07543', '973', '40.9169', '-74.1723', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42641, 'Peoples Park', 2811, '07543', '973', '40.9169', '-74.1723', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42642, 'Westfield', 2811, '07091', '908', '40.6589', '-74.3479', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42643, 'Mountainside', 2811, '07092', '908', '40.681856', '-74.359385', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42644, 'Newark', 2811, '07107', '973', '40.765293', '-74.188786', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42645, 'Roseville', 2811, '07107', '973', '40.765293', '-74.188786', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42646, 'Newark', 2811, '07108', '973', '40.722392', '-74.20091', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42647, 'Pompton Plains', 2811, '07444', '973', '40.969496', '-74.306654', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42648, 'Pompton Plns', 2811, '07444', '973', '40.969496', '-74.306654', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42649, 'Cliff Park', 2811, '07010', '201', '40.820423', '-73.987696', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42650, 'Cliffside Park', 2811, '07010', '201', '40.820423', '-73.987696', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42651, 'Cliffside Pk', 2811, '07010', '201', '40.820423', '-73.987696', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42652, 'Fort Lee', 2811, '07024', '201', '40.848516', '-73.969654', '2018-11-29 04:59:32', '2018-11-29 04:59:32'),\n(42653, 'Palisade', 2811, '07024', '201', '40.848516', '-73.969654', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42654, 'West Fort Lee', 2811, '07024', '201', '40.848516', '-73.969654', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42655, 'Garfield', 2811, '07026', '973', '40.87784', '-74.11088', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42656, 'Outwater', 2811, '07026', '973', '40.87784', '-74.11088', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42657, 'Ritz', 2811, '07026', '973', '40.87784', '-74.11088', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42658, 'Verona', 2811, '07044', '973', '40.833454', '-74.24075', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42659, 'Newark', 2811, '07175', '973', '40.7325', '-74.1732', '2018-11-29 04:59:33', '2018-11-29 04:59:33');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(42660, 'Usps', 2811, '07175', '973', '40.7325', '-74.1732', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42661, 'Newark', 2811, '07191', '973', '40.7357', '-74.1725', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42662, 'Wachovia Bank', 2811, '07191', '973', '40.7357', '-74.1725', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42663, 'Jp Morgan Chase', 2811, '07193', '973', '40.7357', '-74.1725', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42664, 'Newark', 2811, '07193', '973', '40.7357', '-74.1725', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42665, 'Bloomfield', 2811, '07003', '973', '40.80851', '-74.187986', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42666, 'Brookdale', 2811, '07003', '973', '40.80851', '-74.187986', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42667, 'Grove', 2811, '07003', '973', '40.80851', '-74.187986', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42668, 'North Center', 2811, '07003', '973', '40.80851', '-74.187986', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42669, 'Dundee', 2811, '07055', '973', '40.856', '-74.128157', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42670, 'Passaic', 2811, '07055', '973', '40.856', '-74.128157', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42671, 'Passaic Park', 2811, '07055', '973', '40.856', '-74.128157', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42672, 'Pine Brook', 2811, '07058', '973', '40.865816', '-74.339967', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42673, 'Pinebrook', 2811, '07058', '973', '40.865816', '-74.339967', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42674, 'Warren', 2811, '07059', '908', '40.630433', '-74.513404', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42675, 'Lake Hiawatha', 2811, '07034', '973', '40.88079', '-74.379406', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42676, 'Lk Hiawatha', 2811, '07034', '973', '40.88079', '-74.379406', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42677, 'Orange', 2811, '07050', '973', '40.770832', '-74.237157', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42678, 'Merrill Lynch Inc', 2811, '07199', '973', '40.7357', '-74.1725', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42679, 'Newark', 2811, '07199', '973', '40.7357', '-74.1725', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42680, 'Avenel', 2811, '07001', '732', '40.585624', '-74.270698', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42681, 'Town Center', 2811, '07052', '973', '40.79136', '-74.26299', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42682, 'West Orange', 2811, '07052', '973', '40.79136', '-74.26299', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42683, 'Ampere', 2811, '07017', '973', '40.77224', '-74.206592', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42684, 'Doddtown', 2811, '07017', '973', '40.77224', '-74.206592', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42685, 'East Orange', 2811, '07017', '973', '40.77224', '-74.206592', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42686, 'Kenilworth', 2811, '07033', '908', '40.677453', '-74.291471', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42687, 'Caldwell', 2811, '07007', '973', '40.8397', '-74.2768', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42688, 'West Caldwell', 2811, '07007', '973', '40.8397', '-74.2768', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42689, 'Carteret', 2811, '07008', '732', '40.581602', '-74.232666', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42690, 'Elberon', 2811, '07740', '732', '40.294334', '-73.993546', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42691, 'Long Branch', 2811, '07740', '732', '40.294334', '-73.993546', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42692, 'West End', 2811, '07740', '732', '40.294334', '-73.993546', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42693, 'Nnj Metro P&dc', 2811, '07699', '201', '40.853393', '-74.068545', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42694, 'Teterboro', 2811, '07699', '201', '40.853393', '-74.068545', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42695, 'Usps', 2811, '07699', '201', '40.853393', '-74.068545', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42696, 'Belmar', 2811, '07715', '732', '40.1783', '-74.0222', '2018-11-29 04:59:33', '2018-11-29 04:59:33'),\n(42697, 'Nj Natural Gas Co', 2811, '07715', '732', '40.1783', '-74.0222', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42698, 'Paterson', 2811, '07524', '973', '40.932945', '-74.157351', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42699, 'Paterson', 2811, '07533', '973', '40.9169', '-74.1723', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42700, 'South Paterson', 2811, '07533', '973', '40.9169', '-74.1723', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42701, 'Rutherford', 2811, '07070', '201', '40.826191', '-74.10824', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42702, 'Carlstadt', 2811, '07072', '201', '40.828115', '-74.066646', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42703, 'Woodbridge', 2811, '07095', '732', '40.554584', '-74.29181', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42704, 'Newark', 2811, '07104', '973', '40.767098', '-74.166826', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42705, 'Clifton', 2811, '07013', '973', '40.87354', '-74.169158', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42706, 'Fairview', 2811, '07022', '201', '40.817794', '-74.00231', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42707, 'East Newark', 2811, '07029', '973', '40.743983', '-74.15002', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42708, 'Harrison', 2811, '07029', '973', '40.743983', '-74.15002', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42709, 'N Arlington', 2811, '07031', '201', '40.787501', '-74.127373', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42710, 'North Arlington', 2811, '07031', '201', '40.787501', '-74.127373', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42711, 'Swartswood', 2811, '07877', '973', '41.0868', '-74.8276', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42712, 'Hillsdale', 2811, '07642', '201', '41.00693', '-74.048312', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42713, 'Ridgefield Park', 2811, '07660', '201', '40.853815', '-74.019996', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42714, 'Ridgefield Pk', 2811, '07660', '201', '40.853815', '-74.019996', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42715, 'Bradevelt', 2811, '07746', '732', '40.313518', '-74.257216', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42716, 'Marlboro', 2811, '07746', '732', '40.313518', '-74.257216', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42717, 'Cliffwood Lake', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42718, 'Gerard', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42719, 'Hardyston', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42720, 'Lake Stockholm', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42721, 'Lake Tamarack', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42722, 'Silver Lake', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42723, 'Stockholm', 2811, '07460', '973', '41.112803', '-74.496232', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42724, 'Vernon', 2811, '07462', '973', '41.189373', '-74.495913', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42725, 'Adelphia', 2811, '07710', '732', '40.2183', '-74.2569', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42726, 'Elizabeth', 2811, '07208', '908', '40.681346', '-74.227812', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42727, 'North Elizabeth', 2811, '07208', '908', '40.681346', '-74.227812', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42728, 'Five Corners', 2811, '07308', '201', '40.7285', '-74.0725', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42729, 'Jersey City', 2811, '07308', '201', '40.7285', '-74.0725', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42730, 'Jersey City', 2811, '07310', '201', '40.729066', '-74.036211', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42731, 'Jersey City', 2811, '07311', '201', '40.7246', '-74.0599', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42732, 'Paterson', 2811, '07509', '973', '40.9169', '-74.1723', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42733, 'Paterson', 2811, '07510', '973', '40.9169', '-74.1723', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42734, 'Cresskill', 2811, '07626', '201', '40.94025', '-73.956792', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42735, 'Sewaren', 2811, '07077', '732', '40.552372', '-74.252485', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42736, 'Guttenberg', 2811, '07093', '201', '40.786482', '-74.007782', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42737, 'Monitor', 2811, '07093', '201', '40.786482', '-74.007782', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42738, 'Taurus', 2811, '07093', '201', '40.786482', '-74.007782', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42739, 'West New York', 2811, '07093', '201', '40.786482', '-74.007782', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42740, 'Secaucus', 2811, '07094', '201', '40.778264', '-74.064532', '2018-11-29 04:59:34', '2018-11-29 04:59:34'),\n(42741, 'Belleville', 2811, '07109', '973', '40.792061', '-74.162355', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42742, 'Mc Afee', 2811, '07428', '973', '41.181155', '-74.518396', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42743, 'Mcafee', 2811, '07428', '973', '41.181155', '-74.518396', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42744, 'West Carteret', 2811, '07008', '732', '40.581602', '-74.232666', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42745, 'Millburn', 2811, '07041', '973', '40.735442', '-74.302671', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42746, 'Montclair', 2811, '07043', '973', '40.847066', '-74.20048', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42747, 'Upper Montclair', 2811, '07043', '973', '40.847066', '-74.20048', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42748, 'Upr Montclair', 2811, '07043', '973', '40.847066', '-74.20048', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42749, 'Irvington', 2811, '07111', '973', '40.725853', '-74.232236', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42750, 'Township Of Irvington', 2811, '07111', '973', '40.725853', '-74.232236', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42751, 'Newark', 2811, '07192', '973', '40.7357', '-74.1725', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42752, 'Wachovia Bank', 2811, '07192', '973', '40.7357', '-74.1725', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42753, 'Plainfield', 2811, '07061', '908', '40.6339', '-74.4076', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42754, 'High Bridge', 2811, '08829', '908', '40.669932', '-74.894934', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42755, 'Iselin', 2811, '08830', '732', '40.56932', '-74.314984', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42756, 'Middlesex', 2811, '08846', '732', '40.574029', '-74.498354', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42757, 'Milford', 2811, '08848', '908', '40.585373', '-75.102426', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42758, 'Division Of Revenue', 2811, '08695', '609', '40.2167', '-74.7433', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42759, 'Nj Taxation Dept', 2811, '08695', '609', '40.2167', '-74.7433', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42760, 'Trenton', 2811, '08695', '609', '40.2167', '-74.7433', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42761, 'Alpha', 2811, '08865', '908', '40.691176', '-75.132025', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42762, 'Delaware Park', 2811, '08865', '908', '40.691176', '-75.132025', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42763, 'Harmony Township', 2811, '08865', '908', '40.691176', '-75.132025', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42764, 'Lopatcong', 2811, '08865', '908', '40.691176', '-75.132025', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42765, 'Phillipsburg', 2811, '08865', '908', '40.691176', '-75.132025', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42766, 'Windsor', 2811, '08561', '609', '40.250309', '-74.5826', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42767, 'Ewing', 2811, '08628', '609', '40.264532', '-74.81816', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42768, 'Ewing Township', 2811, '08628', '609', '40.264532', '-74.81816', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42769, 'Newfield', 2811, '08344', '856', '39.568959', '-75.019318', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42770, 'Willow Grove', 2811, '08344', '856', '39.568959', '-75.019318', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42771, 'Norma', 2811, '08347', '856', '39.4963', '-75.0886', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42772, 'Vineland', 2811, '08362', '856', '39.4811', '-75.0095', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42773, 'Ewing Twp', 2811, '08628', '609', '40.264532', '-74.81816', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42774, 'Trenton', 2811, '08628', '609', '40.264532', '-74.81816', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42775, 'West Trenton', 2811, '08628', '609', '40.264532', '-74.81816', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42776, 'Cape May Point', 2811, '08212', '609', '38.936932', '-74.965756', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42777, 'Cape May Pt', 2811, '08212', '609', '38.936932', '-74.965756', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42778, 'Cologne', 2811, '08213', '609', '39.5015', '-74.6063', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42779, 'S Seaville', 2811, '08246', '609', '39.1789', '-74.7605', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42780, 'South Seaville', 2811, '08246', '609', '39.1789', '-74.7605', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42781, 'Stone Harbor', 2811, '08247', '609', '39.045444', '-74.767639', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42782, 'Clayton', 2811, '08312', '856', '39.662454', '-75.081568', '2018-11-29 04:59:35', '2018-11-29 04:59:35'),\n(42783, 'Eastamptn Twp', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42784, 'Cecil', 2811, '08094', '856', '39.639721', '-74.973074', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42785, 'Collings Lakes', 2811, '08094', '856', '39.639721', '-74.973074', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42786, 'Williamstown', 2811, '08094', '856', '39.639721', '-74.973074', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42787, 'Eastampton', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42788, 'Eastampton Township', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42789, 'Mount Holly', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42790, 'Mount Holly Township', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42791, 'Westampton', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42792, 'Westampton Township', 2811, '08060', '609', '40.014698', '-74.789695', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42793, 'Edison', 2811, '08899', '732', '40.5247', '-74.3806', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42794, 'Caldwell', 2811, '07006', '973', '40.854771', '-74.284949', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42795, 'N Caldwell', 2811, '07006', '973', '40.854771', '-74.284949', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42796, 'North Caldwell', 2811, '07006', '973', '40.854771', '-74.284949', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42797, 'W Caldwell', 2811, '07006', '973', '40.854771', '-74.284949', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42798, 'West Caldwell', 2811, '07006', '973', '40.854771', '-74.284949', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42799, 'Dunellen', 2811, '08812', '732', '40.599805', '-74.484271', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42800, 'Green Brook', 2811, '08812', '732', '40.599805', '-74.484271', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42801, 'Keasbey', 2811, '08832', '732', '40.508844', '-74.309488', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42802, 'Laurence Harbor', 2811, '08879', '732', '40.467406', '-74.275836', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42803, 'Laurence Hbr', 2811, '08879', '732', '40.467406', '-74.275836', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42804, 'Morgan', 2811, '08879', '732', '40.467406', '-74.275836', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42805, 'South Amboy', 2811, '08879', '732', '40.467406', '-74.275836', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42806, 'South River', 2811, '08882', '732', '40.446696', '-74.378658', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42807, 'Nj Income Tax', 2811, '08647', '609', '40.2167', '-74.7433', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42808, 'Trenton', 2811, '08647', '609', '40.2167', '-74.7433', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42809, 'Brielle', 2811, '08730', '732', '40.104966', '-74.064567', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42810, 'Forked River', 2811, '08731', '609', '39.857796', '-74.2665', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42811, 'Lacey', 2811, '08731', '609', '39.857796', '-74.2665', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42812, 'Perth Amboy', 2811, '08862', '732', '40.5067', '-74.2655', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42813, 'Fords', 2811, '08863', '732', '40.538692', '-74.312858', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42814, 'Perth Amboy', 2811, '08863', '732', '40.538692', '-74.312858', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42815, 'Kingston', 2811, '08528', '609', '40.387093', '-74.62099', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42816, 'Lambertville', 2811, '08530', '609', '40.363934', '-74.896109', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42817, 'West Amwell', 2811, '08530', '609', '40.363934', '-74.896109', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42818, 'Leesburg', 2811, '08327', '856', '39.243504', '-74.993732', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42819, 'Malaga', 2811, '08328', '856', '39.579614', '-75.0589', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42820, 'Mauricetown', 2811, '08329', '856', '39.275878', '-75.006441', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42821, 'Belcoville', 2811, '08330', '609', '39.470248', '-74.729667', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42822, 'English Creek', 2811, '08330', '609', '39.470248', '-74.729667', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42823, 'Mays Landing', 2811, '08330', '609', '39.470248', '-74.729667', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42824, 'Scullville', 2811, '08330', '609', '39.470248', '-74.729667', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42825, 'Weymouth', 2811, '08330', '609', '39.470248', '-74.729667', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42826, 'Vineland', 2811, '08361', '856', '39.449755', '-74.958602', '2018-11-29 04:59:36', '2018-11-29 04:59:36'),\n(42827, 'Cream Ridge', 2811, '08514', '609', '40.13', '-74.49402', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42828, 'Creamridge', 2811, '08514', '609', '40.13', '-74.49402', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42829, 'Upper Freehold Township', 2811, '08514', '609', '40.13', '-74.49402', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42830, 'Chesterfield', 2811, '08515', '609', '40.135089', '-74.653062', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42831, 'Chesterfield Township', 2811, '08515', '609', '40.135089', '-74.653062', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42832, 'Crosswicks', 2811, '08515', '609', '40.135089', '-74.653062', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42833, 'Hamilton', 2811, '08629', '609', '40.220435', '-74.730604', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42834, 'Hamilton Township', 2811, '08629', '609', '40.220435', '-74.730604', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42835, 'Hamilton Twp', 2811, '08629', '609', '40.220435', '-74.730604', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42836, 'Trenton', 2811, '08629', '609', '40.220435', '-74.730604', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42837, 'Dennisville', 2811, '08214', '609', '39.1932', '-74.8256', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42838, 'North Dennis', 2811, '08214', '609', '39.1932', '-74.8256', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42839, 'Somers Point', 2811, '08244', '609', '39.315729', '-74.595012', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42840, 'South Dennis', 2811, '08245', '609', '39.177606', '-74.815787', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42841, 'Delmont', 2811, '08314', '856', '39.215506', '-74.950948', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42842, 'Almonesson', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42843, 'Blackwood Ter', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42844, 'Blackwood Terrace', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42845, 'Deptford', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42846, 'Deptford Township', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42847, 'Jericho', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42848, 'West Deptford', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42849, 'Woodbury', 2811, '08096', '856', '39.823294', '-75.130176', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42850, 'Deptford', 2811, '08097', '856', '39.814814', '-75.150958', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42851, 'Woodbury', 2811, '08097', '856', '39.814814', '-75.150958', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42852, 'Woodbury Heights', 2811, '08097', '856', '39.814814', '-75.150958', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42853, 'Woodbury Hgts', 2811, '08097', '856', '39.814814', '-75.150958', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42854, 'Woodbury Hts', 2811, '08097', '856', '39.814814', '-75.150958', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42855, 'Delair', 2811, '08110', '856', '39.965194', '-75.06697', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42856, 'Pennsauken', 2811, '08110', '856', '39.965194', '-75.06697', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42857, 'Mannington', 2811, '08079', '856', '39.531916', '-75.446286', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42858, 'Mannington Township', 2811, '08079', '856', '39.531916', '-75.446286', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42859, 'Salem', 2811, '08079', '856', '39.531916', '-75.446286', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42860, 'Mendham', 2811, '07945', '973', '40.787038', '-74.59394', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42861, 'Mendham Twsp', 2811, '07945', '973', '40.787038', '-74.59394', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42862, 'Echelon', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42863, 'Kirkwd Voorhs', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42864, 'Kirkwd Vrhes', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42865, 'Kirkwood', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42866, 'Voorhees', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42867, 'Voorhees Kirkwood', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42868, 'Voorhees Township', 2811, '08043', '856', '39.841896', '-74.963312', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42869, 'Branchville', 2811, '07826', '973', '41.19239', '-74.758226', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42870, 'Sandyston', 2811, '07826', '973', '41.19239', '-74.758226', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42871, 'Budd Lake', 2811, '07828', '973', '40.878861', '-74.756197', '2018-11-29 04:59:37', '2018-11-29 04:59:37'),\n(42872, 'Mount Olive', 2811, '07828', '973', '40.878861', '-74.756197', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42873, 'Convent Sta', 2811, '07961', '973', '40.7782', '-74.4415', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42874, 'Convent Station', 2811, '07961', '973', '40.7782', '-74.4415', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42875, 'Morristown', 2811, '07961', '973', '40.7782', '-74.4415', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42876, 'Morristown', 2811, '07963', '973', '40.7968', '-74.4816', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42877, 'Peapack', 2811, '07977', '908', '40.71035', '-74.650904', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42878, 'Pluckemin', 2811, '07978', '908', '40.6457', '-74.6396', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42879, 'Beverly', 2811, '08010', '609', '40.048572', '-74.916366', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42880, 'Edgewater Park', 2811, '08010', '609', '40.048572', '-74.916366', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42881, 'Edgewater Prk', 2811, '08010', '609', '40.048572', '-74.916366', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42882, 'Birmingham', 2811, '08011', '609', '39.97516', '-74.714363', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42883, 'Farmingdale', 2811, '07727', '732', '40.200101', '-74.179482', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42884, 'Tinton Falls', 2811, '07727', '732', '40.200101', '-74.179482', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42885, 'Wall', 2811, '07727', '732', '40.200101', '-74.179482', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42886, 'Wall Township', 2811, '07727', '732', '40.200101', '-74.179482', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42887, 'Wall Twp', 2811, '07727', '732', '40.200101', '-74.179482', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42888, 'Fredon', 2811, '07860', '973', '41.0644', '-74.803428', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42889, 'Fredon Township', 2811, '07860', '973', '41.0644', '-74.803428', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42890, 'Fredon Twp', 2811, '07860', '973', '41.0644', '-74.803428', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42891, 'Newton', 2811, '07860', '973', '41.0644', '-74.803428', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42892, 'Oxford', 2811, '07863', '908', '40.817577', '-74.965464', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42893, 'Carneys Point', 2811, '08069', '856', '39.706464', '-75.449672', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42894, 'Carneys Point Township', 2811, '08069', '856', '39.706464', '-75.449672', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42895, 'Penns Grove', 2811, '08069', '856', '39.706464', '-75.449672', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42896, 'Leh', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42897, 'Little Egg Harbor', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42898, 'Little Egg Harbor Twp', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42899, 'Ltl Egg Hbr', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42900, 'Mystic Islands', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42901, 'Mystic Islnds', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42902, 'Parkertown', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42903, 'Tuckerton', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42904, 'Tuckerton Boro', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42905, 'West Tuckerton', 2811, '08087', '609', '39.62152', '-74.386263', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42906, 'Indian Mills', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42907, 'Shamong', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42908, 'Shamong Township', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42909, 'Southampton', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42910, 'Southampton Twp', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42911, 'Tabernacle', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42912, 'Tabernacle Twp', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42913, 'Vincentown', 2811, '08088', '609', '39.81156', '-74.612547', '2018-11-29 04:59:38', '2018-11-29 04:59:38'),\n(42914, 'East Hanover', 2811, '07936', '973', '40.820286', '-74.36802', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42915, 'Liberty Cor', 2811, '07938', '908', '40.6644', '-74.5775', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42916, 'Liberty Corner', 2811, '07938', '908', '40.6644', '-74.5775', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42917, 'Ancora', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42918, 'Batsto', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42919, 'Blue Anchor', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42920, 'Braddock', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42921, 'Elm', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42922, 'Folsom', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42923, 'Hammonton', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42924, 'Nesco', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42925, 'Rosedale', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42926, 'Sweetwater', 2811, '08037', '609', '39.623268', '-74.762584', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42927, 'Dover', 2811, '07803', '973', '40.880137', '-74.600716', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42928, 'Thoreau', 2812, '87323', '505', '35.592228', '-107.668152', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42929, 'Pinehill', 2812, '87357', '505', '34.854728', '-108.278736', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42930, 'Ramah', 2812, '87357', '505', '34.854728', '-108.278736', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42931, 'Farmington', 2812, '87402', '505', '36.792091', '-108.142447', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42932, 'El Llano', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42933, 'El Rancho', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42934, 'Espanola', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42935, 'Guachupangue', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42936, 'La Mesilla', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42937, 'La Puebla', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42938, 'Pajarito', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42939, 'Quarteles', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42940, 'Riverside', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42941, 'San Pedro', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42942, 'Santa Clara Pueblo', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42943, 'Sombrillo', 2812, '87532', '505', '35.979378', '-106.147046', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42944, 'Valmora', 2812, '87750', '505', '35.794096', '-104.918083', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42945, 'Watrous', 2812, '87750', '505', '35.794096', '-104.918083', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42946, 'Levy', 2812, '87752', '505', '36.002017', '-104.655482', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42947, 'Wagon Mound', 2812, '87752', '505', '36.002017', '-104.655482', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42948, 'Pie Town', 2812, '87827', '505', '34.313013', '-108.266744', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42949, 'Garfield', 2812, '87936', '505', '32.748915', '-107.264881', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42950, 'Albuquerque', 2812, '87154', '505', '35.0844', '-106.6508', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42951, 'Rehoboth', 2812, '87322', '505', '35.533229', '-108.650182', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42952, 'Biklabito', 2812, '87420', '505', '36.500883', '-108.64777', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42953, 'Little Water', 2812, '87420', '505', '36.500883', '-108.64777', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42954, 'Shiprock', 2812, '87420', '505', '36.500883', '-108.64777', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42955, 'Tocito', 2812, '87420', '505', '36.500883', '-108.64777', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42956, 'Chamisal', 2812, '87521', '505', '36.121748', '-105.577108', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42957, 'Albuquerque', 2812, '87115', '505', '34.92562', '-106.499882', '2018-11-29 04:59:39', '2018-11-29 04:59:39'),\n(42958, 'Manzano Base', 2812, '87115', '505', '34.92562', '-106.499882', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42959, 'Sandia Base', 2812, '87115', '505', '34.92562', '-106.499882', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42960, 'Albuquerque', 2812, '87124', '505', '35.284205', '-106.746147', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42961, 'Panorama Heights', 2812, '87124', '505', '35.284205', '-106.746147', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42962, 'Rancho West', 2812, '87124', '505', '35.284205', '-106.746147', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42963, 'Rio Rancho', 2812, '87124', '505', '35.284205', '-106.746147', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42964, 'Albuquerque', 2812, '87151', '505', '35.084', '-106.651', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42965, 'Metropolitan Detention Ctr', 2812, '87151', '505', '35.084', '-106.651', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42966, 'Albuquerque', 2812, '87176', '505', '35.0844', '-106.6508', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42967, 'Albuquerque', 2812, '87181', '505', '35.0844', '-106.6508', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42968, 'Albuquerque', 2812, '87190', '505', '35.0844', '-106.6508', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42969, 'Albuquerque', 2812, '87199', '505', '35.0844', '-106.6508', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42970, 'Fence Lake', 2812, '87315', '505', '34.769431', '-108.756878', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42971, 'Trechado', 2812, '87315', '505', '34.769431', '-108.756878', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42972, 'Chi Chll Tah', 2812, '87326', '505', '35.299352', '-108.841952', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42973, 'Gallup', 2812, '87326', '505', '35.299352', '-108.841952', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42974, 'Vanderwagen', 2812, '87326', '505', '35.299352', '-108.841952', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42975, 'Kirtland', 2812, '87417', '505', '36.764059', '-108.36342', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42976, 'Falconer', 2814, '14733', '716', '42.144623', '-79.189054', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42977, 'Himrod', 2814, '14842', '607', '42.591925', '-76.951448', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42978, 'Lindley', 2814, '14858', '607', '42.044968', '-77.115805', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42979, 'Odessa', 2814, '14869', '607', '42.377247', '-76.767663', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42980, 'Reading Center', 2814, '14876', '607', '42.4303', '-76.9332', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42981, 'Reading Ctr', 2814, '14876', '607', '42.4303', '-76.9332', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42982, 'Rochester', 2814, '14608', '585', '43.152505', '-77.624994', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42983, 'Brighton', 2814, '14610', '585', '43.145395', '-77.546451', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42984, 'Rochester', 2814, '14610', '585', '43.145395', '-77.546451', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42985, 'Houghton', 2814, '14744', '585', '42.427797', '-78.213177', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42986, 'Knapp Creek', 2814, '14760', '585', '42.082179', '-78.41623', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42987, 'Olean', 2814, '14760', '585', '42.082179', '-78.41623', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42988, 'Portland', 2814, '14769', '716', '42.377263', '-79.475693', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42989, 'Stow', 2814, '14785', '716', '42.1569', '-79.4017', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42990, 'Cayuta', 2814, '14824', '607', '42.272258', '-76.68636', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42991, 'Lima', 2814, '14485', '585', '42.885076', '-77.597859', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42992, 'North Greece', 2814, '14515', '585', '43.2549', '-77.733', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42993, 'Irondequoit', 2814, '14617', '585', '43.22494', '-77.589287', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42994, 'Rochester', 2814, '14617', '585', '43.22494', '-77.589287', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42995, 'Eastman Kodak', 2814, '14651', '585', '43.1544', '-77.6155', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42996, 'Rochester', 2814, '14651', '585', '43.1544', '-77.6155', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42997, 'Rochester', 2814, '14694', '585', '43.1544', '-77.6155', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42998, 'West Group', 2814, '14694', '585', '43.1544', '-77.6155', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(42999, 'Jamestown', 2814, '14701', '716', '42.103658', '-79.256196', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(43000, 'West Ellicott', 2814, '14701', '716', '42.103658', '-79.256196', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(43001, 'Cattaraugus', 2814, '14719', '716', '42.341868', '-78.863408', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(43002, 'Conewango Valley', 2814, '14726', '716', '42.265478', '-79.031129', '2018-11-29 04:59:40', '2018-11-29 04:59:40'),\n(43003, 'Conewango Vly', 2814, '14726', '716', '42.265478', '-79.031129', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43004, 'Sodus', 2814, '14551', '315', '43.210196', '-77.038897', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43005, 'Sodus Center', 2814, '14551', '315', '43.210196', '-77.038897', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43006, 'South Lima', 2814, '14558', '585', '42.8556', '-77.6756', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43007, 'York', 2814, '14592', '585', '42.8713', '-77.8856', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43008, 'Youngstown', 2814, '14174', '716', '43.239778', '-79.008677', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43009, 'Buffalo', 2814, '14201', '716', '42.894456', '-78.886924', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43010, 'Buffalo', 2814, '14206', '716', '42.880964', '-78.814568', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43011, 'Cheektowaga', 2814, '14206', '716', '42.880964', '-78.814568', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43012, 'West Seneca', 2814, '14206', '716', '42.880964', '-78.814568', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43013, 'Buffalo', 2814, '14215', '716', '42.933362', '-78.809134', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43014, 'Cheektowaga', 2814, '14215', '716', '42.933362', '-78.809134', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43015, 'Conesus', 2814, '14435', '585', '42.703342', '-77.663142', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43016, 'E Williamson', 2814, '14449', '315', '43.2306', '-77.1457', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43017, 'East Williamson', 2814, '14449', '315', '43.2306', '-77.1457', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43018, 'Freedom', 2814, '14065', '585', '42.476379', '-78.302092', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43019, 'Sandusky', 2814, '14065', '585', '42.476379', '-78.302092', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43020, 'Gasport', 2814, '14067', '716', '43.208391', '-78.565822', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43021, 'Grand Island', 2814, '14072', '716', '43.012364', '-78.957902', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43022, 'Lewiston', 2814, '14092', '716', '43.170412', '-78.987974', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43023, 'Knickerbocker', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43024, 'Manhattan', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43025, 'New York', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43026, 'Tyrone', 2814, '14887', '607', '42.4083', '-77.0587', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43027, 'Ny', 2814, '10018', '212', '40.755256', '-73.996684', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43028, 'Ny City', 2814, '10018', '212', '40.755256', '-73.996684', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43029, 'Nyc', 2814, '10018', '212', '40.755256', '-73.996684', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43030, 'New York City', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43031, 'Ny', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43032, 'Ny City', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43033, 'Nyc', 2814, '10002', '212', '40.722296', '-73.985506', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43034, 'Andover', 2814, '14806', '607', '42.148774', '-77.757786', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43035, 'Arkport', 2814, '14807', '607', '42.422331', '-77.716811', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43036, 'Erin', 2814, '14838', '607', '42.185267', '-76.671843', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43037, 'Mendon', 2814, '14506', '585', '42.999729', '-77.504396', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43038, 'Irondequoit', 2814, '14621', '585', '43.187003', '-77.600342', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43039, 'Rochester', 2814, '14621', '585', '43.187003', '-77.600342', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43040, 'Allegany', 2814, '14706', '716', '42.10973', '-78.535482', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43041, 'Buffalo', 2814, '14272', '716', '42.8866', '-78.8789', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43042, 'Silhouette Books', 2814, '14272', '716', '42.8866', '-78.8789', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43043, 'Ontario Center', 2814, '14520', '315', '43.2258', '-77.3063', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43044, 'Ontario Ctr', 2814, '14520', '315', '43.2258', '-77.3063', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43045, 'Palmyra', 2814, '14522', '315', '43.057857', '-77.220548', '2018-11-29 04:59:41', '2018-11-29 04:59:41'),\n(43046, 'Portageville', 2814, '14536', '585', '42.540214', '-78.090552', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43047, 'Rossburg', 2814, '14536', '585', '42.540214', '-78.090552', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43048, 'Port Gibson', 2814, '14537', '315', '43.0357', '-77.156', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43049, 'Wayland', 2814, '14572', '585', '42.55396', '-77.565167', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43050, 'Williamson', 2814, '14589', '315', '43.239674', '-77.16657', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43051, 'Rochester', 2814, '14603', '585', '43.1544', '-77.6156', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43052, 'Rochester', 2814, '14605', '585', '43.166867', '-77.604104', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43053, 'Wilson', 2814, '14172', '716', '43.276112', '-78.82858', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43054, 'Buffalo', 2814, '14205', '716', '42.8864', '-78.8788', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43055, 'N Falls', 2814, '14305', '716', '43.118816', '-79.021806', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43056, 'Niagara Falls', 2814, '14305', '716', '43.118816', '-79.021806', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43057, 'Geneseo', 2814, '14454', '585', '42.783348', '-77.781176', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43058, 'Gowanda', 2814, '14070', '716', '42.445712', '-78.891429', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43059, 'Lake View', 2814, '14085', '716', '42.716876', '-78.929843', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43060, 'Lakeview', 2814, '14085', '716', '42.716876', '-78.929843', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43061, 'Blasdell', 2814, '14219', '716', '42.789404', '-78.82929', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43062, 'Buffalo', 2814, '14219', '716', '42.789404', '-78.82929', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43063, 'Amherst', 2814, '14221', '716', '42.98525', '-78.722374', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43064, 'Buffalo', 2814, '14221', '716', '42.98525', '-78.722374', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43065, 'Williamsville', 2814, '14221', '716', '42.98525', '-78.722374', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43066, 'Binghamton', 2814, '13901', '607', '42.164801', '-75.878634', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43067, 'Glen Castle', 2814, '13901', '607', '42.164801', '-75.878634', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43068, 'Kattelville', 2814, '13901', '607', '42.164801', '-75.878634', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43069, 'Nimmonsburg', 2814, '13901', '607', '42.164801', '-75.878634', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43070, 'Port Dickinson', 2814, '13901', '607', '42.164801', '-75.878634', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43071, 'Alden', 2814, '14004', '716', '42.899699', '-78.493494', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43072, 'Marilla', 2814, '14102', '716', '42.835094', '-78.556922', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43073, 'Versailles', 2814, '14168', '716', '42.5139', '-78.9893', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43074, 'Emmons', 2814, '13820', '607', '42.490421', '-75.030888', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43075, 'Milford Center', 2814, '13820', '607', '42.490421', '-75.030888', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43076, 'North Franklin', 2814, '13820', '607', '42.490421', '-75.030888', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43077, 'Oneonta', 2814, '13820', '607', '42.490421', '-75.030888', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43078, 'West End', 2814, '13820', '607', '42.490421', '-75.030888', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43079, 'Townline', 2814, '14004', '716', '42.899699', '-78.493494', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43080, 'Batavia', 2814, '14020', '585', '42.98971', '-78.224356', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43081, 'Bushville', 2814, '14020', '585', '42.98971', '-78.224356', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43082, 'Batavia', 2814, '14021', '585', '42.9982', '-78.1875', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43083, 'Collins Center', 2814, '14035', '716', '42.4936', '-78.8518', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43084, 'Collins Ctr', 2814, '14035', '716', '42.4936', '-78.8518', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43085, 'Cowlesville', 2814, '14037', '585', '42.807933', '-78.458969', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43086, 'East Aurora', 2814, '14052', '716', '42.768153', '-78.580085', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43087, 'South Colton', 2814, '13687', '315', '44.486862', '-74.83336', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43088, 'Henderson', 2814, '13650', '315', '43.818858', '-76.282966', '2018-11-29 04:59:42', '2018-11-29 04:59:42'),\n(43089, 'Jefferson Park', 2814, '13650', '315', '43.818858', '-76.282966', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43090, 'Rural Hill', 2814, '13650', '315', '43.818858', '-76.282966', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43091, 'Woodville', 2814, '13650', '315', '43.818858', '-76.282966', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43092, 'Henderson Harbor', 2814, '13651', '315', '43.8643', '-76.2025', '2018-11-29 04:59:43', '2018-11-29 04:59:43');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(43093, 'Henderson Hbr', 2814, '13651', '315', '43.8643', '-76.2025', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43094, 'Grantville', 2814, '13667', '315', '44.832238', '-74.949092', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43095, 'Norfolk', 2814, '13667', '315', '44.832238', '-74.949092', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43096, 'Royalton', 2814, '14105', '716', '43.192322', '-78.485767', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43097, 'Shelby', 2814, '14105', '716', '43.192322', '-78.485767', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43098, 'S Dayton', 2814, '14138', '716', '42.375358', '-79.073633', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43099, 'South Dayton', 2814, '14138', '716', '42.375358', '-79.073633', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43100, 'Wales Center', 2814, '14169', '716', '42.7686', '-78.5306', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43101, 'Alexander', 2814, '14005', '585', '42.917547', '-78.270016', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43102, 'Harford', 2814, '13784', '607', '42.4178', '-76.243', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43103, 'Harford Mills', 2814, '13835', '607', '42.381902', '-76.17073', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43104, 'Richford', 2814, '13835', '607', '42.381902', '-76.17073', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43105, 'Barton', 2814, '13734', '607', '42.082836', '-76.400405', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43106, 'Berkshire', 2814, '13736', '607', '42.309836', '-76.186974', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43107, 'East Berkshire', 2814, '13736', '607', '42.309836', '-76.186974', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43108, 'Jenksville', 2814, '13736', '607', '42.309836', '-76.186974', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43109, 'Ketchumville', 2814, '13736', '607', '42.309836', '-76.186974', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43110, 'Speedsville', 2814, '13736', '607', '42.309836', '-76.186974', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43111, 'Mc Donough', 2814, '13801', '607', '42.50141', '-75.778324', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43112, 'Mcdonough', 2814, '13801', '607', '42.50141', '-75.778324', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43113, 'Maine', 2814, '13802', '607', '42.225214', '-76.058641', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43114, 'Hermon', 2814, '13652', '315', '44.432868', '-75.205044', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43115, 'Bucks Bridge', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43116, 'Canton', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43117, 'Crary Mills', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43118, 'Eddy', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43119, 'Langdon Corners', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43120, 'Morley', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43121, 'North Russell', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43122, 'Pierrepont', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43123, 'West Pierrepont', 2814, '13617', '315', '44.588391', '-75.162062', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43124, 'Ogd', 2814, '13669', '315', '44.674961', '-75.482229', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43125, 'Ogdensburg', 2814, '13669', '315', '44.674961', '-75.482229', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43126, 'Red Mills', 2814, '13669', '315', '44.674961', '-75.482229', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43127, 'Lower Oswegatchie', 2814, '13670', '315', '44.2176', '-75.108322', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43128, 'Oswegatchie', 2814, '13670', '315', '44.2176', '-75.108322', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43129, 'Big Brook', 2814, '13486', '315', '43.350731', '-75.338859', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43130, 'Frenchville', 2814, '13486', '315', '43.350731', '-75.338859', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43131, 'Westernville', 2814, '13486', '315', '43.350731', '-75.338859', '2018-11-29 04:59:43', '2018-11-29 04:59:43'),\n(43132, 'Horseheads', 2814, '14845', '607', '42.209577', '-76.836666', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43133, 'Millport', 2814, '14864', '607', '42.279894', '-76.844503', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43134, 'Savona', 2814, '14879', '607', '42.317052', '-77.193593', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43135, 'Slaterville Springs', 2814, '14881', '607', '42.400504', '-76.351629', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43136, 'Slatervle Spg', 2814, '14881', '607', '42.400504', '-76.351629', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43137, 'Ithaca', 2814, '14882', '607', '42.577479', '-76.567064', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43138, 'Lansing', 2814, '14882', '607', '42.577479', '-76.567064', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43139, 'Rochester', 2814, '14611', '585', '43.141007', '-77.650657', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43140, 'Rochester', 2814, '14614', '585', '43.158497', '-77.615439', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43141, 'Saint Bonaventure', 2814, '14778', '716', '42.0911', '-78.5049', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43142, 'St Bonas', 2814, '14778', '716', '42.0911', '-78.5049', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43143, 'St Bonaventure', 2814, '14778', '716', '42.0911', '-78.5049', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43144, 'Sherman', 2814, '14781', '716', '42.168052', '-79.60856', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43145, 'Sinclairville', 2814, '14782', '716', '42.264622', '-79.24988', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43146, 'Belmont', 2814, '14813', '585', '42.241046', '-77.976084', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43147, 'Big Flats', 2814, '14814', '607', '42.15821', '-76.953829', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43148, 'Mumford', 2814, '14511', '585', '42.9939', '-77.8576', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43149, 'Naples', 2814, '14512', '585', '42.65614', '-77.38481', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43150, 'East Palmyra', 2814, '14513', '315', '43.073786', '-77.097582', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43151, 'Newark', 2814, '14513', '315', '43.073786', '-77.097582', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43152, 'Bemus Point', 2814, '14712', '716', '42.168736', '-79.37496', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43153, 'Alma', 2814, '14715', '585', '42.072448', '-78.151402', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43154, 'Bolivar', 2814, '14715', '585', '42.072448', '-78.151402', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43155, 'South Bolivar', 2814, '14715', '585', '42.072448', '-78.151402', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43156, 'Dewittville', 2814, '14728', '716', '42.2623', '-79.410764', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43157, 'Ellicottville', 2814, '14731', '716', '42.307531', '-78.65312', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43158, 'Buffalo', 2814, '14280', '716', '42.8866', '-78.8789', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43159, 'Shared Brm', 2814, '14280', '716', '42.8866', '-78.8789', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43160, 'Perry', 2814, '14530', '585', '42.726362', '-78.006588', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43161, 'Groveland', 2814, '14545', '585', '42.653468', '-77.70186', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43162, 'Scottsburg', 2814, '14545', '585', '42.653468', '-77.70186', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43163, 'Scottsville', 2814, '14546', '585', '43.035438', '-77.780713', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43164, 'Wheatland', 2814, '14546', '585', '43.035438', '-77.780713', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43165, 'Stanley', 2814, '14561', '585', '42.827681', '-77.132084', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43166, 'Union Hill', 2814, '14563', '315', '43.2181', '-77.3834', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43167, 'Buffalo', 2814, '14213', '716', '42.916747', '-78.892782', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43168, 'Churchville', 2814, '14428', '585', '43.070896', '-77.840841', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43169, 'Clifton', 2814, '14428', '585', '43.070896', '-77.840841', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43170, 'Clarkson', 2814, '14430', '585', '43.2331', '-77.9278', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43171, 'E Rochester', 2814, '14445', '585', '43.111453', '-77.496672', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43172, 'East Rochester', 2814, '14445', '585', '43.111453', '-77.496672', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43173, 'Hall', 2814, '14463', '585', '42.7981', '-77.064', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43174, 'Forestville', 2814, '14062', '716', '42.43493', '-79.16317', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43175, 'Buffalo', 2814, '14227', '716', '42.884778', '-78.74716', '2018-11-29 04:59:44', '2018-11-29 04:59:44'),\n(43176, 'Cheektowaga', 2814, '14227', '716', '42.884778', '-78.74716', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43177, 'S Cheek', 2814, '14227', '716', '42.884778', '-78.74716', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43178, 'S Cheektowaga', 2814, '14227', '716', '42.884778', '-78.74716', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43179, 'South Cheektowaga', 2814, '14227', '716', '42.884778', '-78.74716', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43180, 'Wells Bridge', 2814, '13859', '607', '42.370797', '-75.252596', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43181, 'N Boston', 2814, '14110', '716', '42.6856', '-78.7793', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43182, 'North Boston', 2814, '14110', '716', '42.6856', '-78.7793', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43183, 'N Collins', 2814, '14111', '716', '42.573719', '-78.900466', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43184, 'North Collins', 2814, '14111', '716', '42.573719', '-78.900466', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43185, 'N Java', 2814, '14113', '585', '42.656561', '-78.341132', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43186, 'Allentown', 2814, '14707', '585', '42.0816', '-78.0609', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43187, 'Angelica', 2814, '14709', '585', '42.35276', '-77.992922', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43188, 'Cuba', 2814, '14727', '585', '42.22732', '-78.293651', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43189, 'Pavilion', 2814, '14525', '585', '42.87962', '-78.003977', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43190, 'Pittsford', 2814, '14534', '585', '43.054901', '-77.522972', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43191, 'Rock Glen', 2814, '14550', '585', '42.678996', '-78.100146', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43192, 'Silver Spgs', 2814, '14550', '585', '42.678996', '-78.100146', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43193, 'Silver Springs', 2814, '14550', '585', '42.678996', '-78.100146', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43194, 'Walworth', 2814, '14568', '315', '43.148402', '-77.282162', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43195, 'Buffalo', 2814, '14207', '716', '42.950754', '-78.900782', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43196, 'Town Of Tonawanda', 2814, '14207', '716', '42.950754', '-78.900782', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43197, 'Buffalo', 2814, '14209', '716', '42.917905', '-78.865429', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43198, 'Buffalo', 2814, '14214', '716', '42.940576', '-78.839724', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43199, 'University Buffalo', 2814, '14214', '716', '42.940576', '-78.839724', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43200, 'Dresden', 2814, '14441', '315', '42.687288', '-76.953766', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43201, 'Fairport', 2814, '14450', '585', '43.104336', '-77.426228', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43202, 'Fancher', 2814, '14452', '585', '43.2447', '-78.0916', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43203, 'Hilton', 2814, '14468', '585', '43.283182', '-77.814752', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43204, 'Kent', 2814, '14477', '585', '43.328851', '-78.137431', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43205, 'Eden', 2814, '14057', '716', '42.64287', '-78.878165', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43206, 'Buffalo', 2814, '14216', '716', '42.9439', '-78.860554', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43207, 'Bflo', 2814, '14241', '716', '42.89', '-78.8701', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43208, 'Buffalo', 2814, '14241', '716', '42.89', '-78.8701', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43209, 'Buffalo Airport Retail', 2814, '14241', '716', '42.89', '-78.8701', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43210, 'Usps Buffalo Amf', 2814, '14241', '716', '42.89', '-78.8701', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43211, 'Model City', 2814, '14107', '716', '43.185', '-78.9838', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43212, 'Niagara Univ', 2814, '14109', '716', '43.13802', '-79.036533', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43213, 'Niagara University', 2814, '14109', '716', '43.13802', '-79.036533', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43214, 'Springville', 2814, '14141', '716', '42.526575', '-78.689043', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43215, 'Otego', 2814, '13825', '607', '42.439922', '-75.219074', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43216, 'Otsdawa', 2814, '13825', '607', '42.439922', '-75.219074', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43217, 'Clarence Center', 2814, '14032', '716', '43.04623', '-78.630405', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43218, 'Clarence Ctr', 2814, '14032', '716', '43.04623', '-78.630405', '2018-11-29 04:59:45', '2018-11-29 04:59:45'),\n(43219, 'Chadwick Bay', 2814, '14048', '716', '42.489583', '-79.328065', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43220, 'Dunkirk', 2814, '14048', '716', '42.489583', '-79.328065', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43221, 'Great Valley', 2814, '14741', '716', '42.21577', '-78.592072', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43222, 'Hornell', 2814, '14843', '607', '42.314336', '-77.630808', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43223, 'North Hornell', 2814, '14843', '607', '42.314336', '-77.630808', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43224, 'Ithaca', 2814, '14852', '607', '42.4407', '-76.4966', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43225, 'Lowman', 2814, '14861', '607', '42.096902', '-76.681336', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43226, 'Rochester', 2814, '14607', '585', '43.151737', '-77.583039', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43227, 'Humphrey', 2814, '14741', '716', '42.21577', '-78.592072', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43228, 'Hinsdale', 2814, '14743', '716', '42.198629', '-78.41512', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43229, 'Ischua', 2814, '14743', '716', '42.198629', '-78.41512', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43230, 'Lily Dale', 2814, '14752', '716', '42.3518', '-79.32', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43231, 'Otto', 2814, '14766', '716', '42.351', '-78.8193', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43232, 'Breesport', 2814, '14816', '607', '42.191441', '-76.748678', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43233, 'Burdett', 2814, '14818', '607', '42.443071', '-76.832833', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43234, 'Chemung', 2814, '14825', '607', '42.058959', '-76.613664', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43235, 'Dalton', 2814, '14836', '585', '42.504631', '-77.923667', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43236, 'Middlesex', 2814, '14507', '585', '42.701166', '-77.26201', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43237, 'Panorama', 2814, '14625', '585', '43.149856', '-77.507951', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43238, 'Rochester', 2814, '14625', '585', '43.149856', '-77.507951', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43239, 'Rochester', 2814, '14627', '585', '43.128078', '-77.628132', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43240, 'Kodak Park', 2814, '14652', '585', '43.1544', '-77.6155', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43241, 'Rochester', 2814, '14652', '585', '43.1544', '-77.6155', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43242, 'Van Buren Bay', 2814, '14048', '716', '42.489583', '-79.328065', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43243, 'Bartlett Hollow', 2814, '13775', '607', '42.345917', '-75.148646', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43244, 'East Sidney', 2814, '13775', '607', '42.345917', '-75.148646', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43245, 'Franklin', 2814, '13775', '607', '42.345917', '-75.148646', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43246, 'Leonta', 2814, '13775', '607', '42.345917', '-75.148646', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43247, 'Guilford', 2814, '13780', '607', '42.415854', '-75.47824', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43248, 'Guilford Center', 2814, '13780', '607', '42.415854', '-75.47824', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43249, 'Hamden', 2814, '13782', '607', '42.170465', '-74.978195', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43250, 'East Masonville', 2814, '13839', '607', '42.241856', '-75.258444', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43251, 'Franklin Depot', 2814, '13839', '607', '42.241856', '-75.258444', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43252, 'Ivanhoe', 2814, '13839', '607', '42.241856', '-75.258444', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43253, 'Merrickville', 2814, '13839', '607', '42.241856', '-75.258444', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43254, 'Sidney Center', 2814, '13839', '607', '42.241856', '-75.258444', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43255, 'Afton', 2814, '13730', '607', '42.2209', '-75.529596', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43256, 'Afton Lake', 2814, '13730', '607', '42.2209', '-75.529596', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43257, 'Nineveh Junction', 2814, '13730', '607', '42.2209', '-75.529596', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43258, 'North Afton', 2814, '13730', '607', '42.2209', '-75.529596', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43259, 'Fine', 2814, '13639', '315', '44.26401', '-75.165364', '2018-11-29 04:59:46', '2018-11-29 04:59:46'),\n(43260, 'Diana', 2814, '13648', '315', '44.153372', '-75.28333', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43261, 'East Pitcairn', 2814, '13648', '315', '44.153372', '-75.28333', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43262, 'Geers Corners', 2814, '13648', '315', '44.153372', '-75.28333', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43263, 'Harrisville', 2814, '13648', '315', '44.153372', '-75.28333', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43264, 'Lake Bonaparte', 2814, '13648', '315', '44.153372', '-75.28333', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43265, 'Arverne', 2814, '11692', '718', '40.594452', '-73.796212', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43266, 'Far Rockaway', 2814, '11692', '718', '40.594452', '-73.796212', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43267, 'Queens', 2814, '11692', '718', '40.594452', '-73.796212', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43268, 'Poquott', 2814, '11733', '631', '40.930424', '-73.11205', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43269, 'Setauket', 2814, '11733', '631', '40.930424', '-73.11205', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43270, 'Strongs Neck', 2814, '11733', '631', '40.930424', '-73.11205', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43271, 'E Farmingdale', 2814, '11735', '631', '40.73245', '-73.433781', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43272, 'East Farmingdale', 2814, '11735', '631', '40.73245', '-73.433781', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43273, 'Farmingdale', 2814, '11735', '631', '40.73245', '-73.433781', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43274, 'S Farmingdale', 2814, '11735', '631', '40.73245', '-73.433781', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43275, 'South Farmingdale', 2814, '11735', '631', '40.73245', '-73.433781', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43276, 'Islandia', 2814, '11760', '631', '40.683', '-73.4455', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43277, 'Nesconset', 2814, '11767', '631', '40.844173', '-73.14432', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43278, 'Bellmore', 2814, '11710', '516', '40.673658', '-73.537939', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43279, 'N Bellmore', 2814, '11710', '516', '40.673658', '-73.537939', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43280, 'North Bellmore', 2814, '11710', '516', '40.673658', '-73.537939', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43281, 'Cold Spg Hbr', 2814, '11724', '631', '40.861176', '-73.453387', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43282, 'Cold Spring Harbor', 2814, '11724', '631', '40.861176', '-73.453387', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43283, 'Frewsburg', 2814, '14738', '716', '42.052682', '-79.035486', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43284, 'Kanona', 2814, '14856', '607', '42.3725', '-77.3663', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43285, 'Prattsburgh', 2814, '14873', '607', '42.5067', '-77.278437', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43286, 'Pulteney', 2814, '14874', '607', '42.533808', '-77.178638', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43287, 'Limestone', 2814, '14753', '716', '42.078952', '-78.611274', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43288, 'Mayville', 2814, '14757', '716', '42.227779', '-79.508997', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43289, 'Portville', 2814, '14770', '585', '42.0483', '-78.295344', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43290, 'Alpine', 2814, '14805', '607', '42.362456', '-76.740006', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43291, 'Campbell', 2814, '14821', '607', '42.22619', '-77.218454', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43292, 'Friendship', 2814, '14739', '585', '42.201702', '-78.160093', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43293, 'Gerry', 2814, '14740', '716', '42.211268', '-79.172511', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43294, 'Jacksonville', 2814, '14854', '607', '42.5083', '-76.6154', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43295, 'Jasper', 2814, '14855', '607', '42.14554', '-77.516746', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43296, 'Painted Post', 2814, '14870', '607', '42.177514', '-77.139967', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43297, 'Pine City', 2814, '14871', '607', '42.048836', '-76.909135', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43298, 'Little Genese', 2814, '14754', '585', '42.031444', '-78.195112', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43299, 'Little Genesee', 2814, '14754', '585', '42.031444', '-78.195112', '2018-11-29 04:59:47', '2018-11-29 04:59:47'),\n(43300, 'Little Valley', 2814, '14755', '716', '42.253772', '-78.802101', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43301, 'Maple Springs', 2814, '14756', '716', '42.1968', '-79.4242', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43302, 'Weston Mills', 2814, '14788', '585', '42.0612', '-78.3788', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43303, 'Westons Mills', 2814, '14788', '585', '42.0612', '-78.3788', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43304, 'Elmira', 2814, '14904', '607', '42.069237', '-76.803688', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43305, 'Elmira', 2814, '14905', '607', '42.094616', '-76.843532', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43306, 'Canisteo', 2814, '14823', '607', '42.237956', '-77.581595', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43307, 'Hammondsport', 2814, '14840', '607', '42.446928', '-77.200513', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43308, 'Livonia Center', 2814, '14488', '585', '42.8215', '-77.6387', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43309, 'Livonia Ctr', 2814, '14488', '585', '42.8215', '-77.6387', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43310, 'Lyons', 2814, '14489', '315', '43.079694', '-77.007992', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43311, 'Marion', 2814, '14505', '315', '43.155061', '-77.175823', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43312, 'Brighton', 2814, '14620', '585', '43.128941', '-77.604543', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43313, 'Rochester', 2814, '14620', '585', '43.128941', '-77.604543', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43314, 'Irondequoit', 2814, '14622', '585', '43.214122', '-77.55267', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43315, 'Rochester', 2814, '14622', '585', '43.214122', '-77.55267', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43316, 'Rochester', 2814, '14623', '585', '43.089216', '-77.650817', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43317, 'Hsbc', 2814, '14639', '585', '43.1544', '-77.6155', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43318, 'Rochester', 2814, '14639', '585', '43.1544', '-77.6155', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43319, 'Celoron', 2814, '14720', '716', '42.1093', '-79.2745', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43320, 'Ceres', 2814, '14721', '585', '42.021289', '-78.27176', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43321, 'Buffalo', 2814, '14269', '716', '42.8866', '-78.8789', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43322, 'Harlequin Books', 2814, '14269', '716', '42.8866', '-78.8789', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43323, 'Hayt Corners', 2814, '14521', '607', '42.683871', '-76.789941', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43324, 'Ovid', 2814, '14521', '607', '42.683871', '-76.789941', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43325, 'Pultneyville', 2814, '14538', '315', '43.2794', '-77.1865', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43326, 'Retsof', 2814, '14539', '585', '42.8398', '-77.8742', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43327, 'Waterport', 2814, '14571', '585', '43.33623', '-78.24077', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43328, 'Gates', 2814, '14606', '585', '43.171926', '-77.692254', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43329, 'Rochester', 2814, '14606', '585', '43.171926', '-77.692254', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43330, 'Buffalo', 2814, '14202', '716', '42.888298', '-78.885398', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43331, 'N Falls', 2814, '14304', '716', '43.099585', '-78.954254', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43332, 'Niagara Falls', 2814, '14304', '716', '43.099585', '-78.954254', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43333, 'Wheatfield', 2814, '14304', '716', '43.099585', '-78.954254', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43334, 'Byron', 2814, '14422', '585', '43.074407', '-78.073768', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43335, 'Fishers', 2814, '14453', '585', '43.0089', '-77.4651', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43336, 'Bloomfield', 2814, '14469', '585', '42.865447', '-77.472091', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43337, 'E Bloomfield', 2814, '14469', '585', '42.865447', '-77.472091', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43338, 'East Bloomfield', 2814, '14469', '585', '42.865447', '-77.472091', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43339, 'Holcomb', 2814, '14469', '585', '42.865447', '-77.472091', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43340, 'Holley', 2814, '14470', '585', '43.215428', '-78.073067', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43341, 'Hulberton', 2814, '14470', '585', '43.215428', '-78.073067', '2018-11-29 04:59:48', '2018-11-29 04:59:48'),\n(43342, 'Lancaster', 2814, '14086', '716', '42.90711', '-78.626353', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43343, 'Buffalo', 2814, '14222', '716', '42.918268', '-78.875041', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43344, 'Binghamton', 2814, '13902', '607', '42.0989', '-75.9184', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43345, 'Akron', 2814, '14001', '716', '43.034758', '-78.507929', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43346, 'Newstead', 2814, '14001', '716', '43.034758', '-78.507929', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43347, 'Medina', 2814, '14103', '585', '43.21377', '-78.359441', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43348, 'Middleport', 2814, '14105', '716', '43.192322', '-78.485767', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43349, 'Manhattan', 2814, '10016', '212', '40.744594', '-73.978088', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43350, 'New York', 2814, '10016', '212', '40.744594', '-73.978088', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43351, 'New York City', 2814, '10016', '212', '40.744594', '-73.978088', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43352, 'Ny', 2814, '10016', '212', '40.744594', '-73.978088', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43353, 'Ny City', 2814, '10016', '212', '40.744594', '-73.978088', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43354, 'Nyc', 2814, '10016', '212', '40.744594', '-73.978088', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43355, 'Manhattan', 2814, '10018', '212', '40.755256', '-73.996684', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43356, 'New York', 2814, '10018', '212', '40.755256', '-73.996684', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43357, 'New York City', 2814, '10018', '212', '40.755256', '-73.996684', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43358, 'Catawba', 2815, '43010', '937', '40.000444', '-83.6215', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43359, 'Fredericktown', 2815, '43019', '740', '40.486458', '-82.557202', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43360, 'Fredricktwn', 2815, '43019', '740', '40.486458', '-82.557202', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43361, 'Lewis Center', 2815, '43035', '740', '40.188354', '-82.996063', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43362, 'Etna', 2815, '43046', '740', '39.898461', '-82.548058', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43363, 'Millersport', 2815, '43046', '740', '39.898461', '-82.548058', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43364, 'Hanover', 2815, '43055', '740', '40.12158', '-82.382202', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43365, 'Marne', 2815, '43055', '740', '40.12158', '-82.382202', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43366, 'Newark', 2815, '43055', '740', '40.12158', '-82.382202', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43367, 'Saint Louisville', 2815, '43071', '740', '40.185548', '-82.357826', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43368, 'Saint Louisvl', 2815, '43071', '740', '40.185548', '-82.357826', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43369, 'St Louisville', 2815, '43071', '740', '40.185548', '-82.357826', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43370, 'Etna', 2815, '43080', '740', '40.238923', '-82.410655', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43371, 'Utica', 2815, '43080', '740', '40.238923', '-82.410655', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43372, 'Columbus', 2815, '43085', '614', '40.100474', '-83.013908', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43373, 'Linworth', 2815, '43085', '614', '40.100474', '-83.013908', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43374, 'Mount Air', 2815, '43085', '614', '40.100474', '-83.013908', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43375, 'Riverlea', 2815, '43085', '614', '40.100474', '-83.013908', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43376, 'Worthington', 2815, '43085', '614', '40.100474', '-83.013908', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43377, 'Canal Whchstr', 2815, '43110', '614', '39.83291', '-82.799688', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43378, 'Canal Winchester', 2815, '43110', '614', '39.83291', '-82.799688', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43379, 'Canal Wnchstr', 2815, '43110', '614', '39.83291', '-82.799688', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43380, 'Cnl Wnchstr', 2815, '43110', '614', '39.83291', '-82.799688', '2018-11-29 04:59:49', '2018-11-29 04:59:49'),\n(43381, 'Galloway', 2815, '43119', '614', '39.940301', '-83.203715', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43382, 'Laurelville', 2815, '43135', '740', '39.463908', '-82.68984', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43383, 'Murray City', 2815, '43144', '740', '39.516916', '-82.16672', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43384, 'Columbus', 2815, '43205', '614', '39.9579', '-82.962282', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43385, 'Columbus', 2815, '43212', '614', '39.985613', '-83.044498', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43386, 'Grandview', 2815, '43212', '614', '39.985613', '-83.044498', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43387, 'Grandview Heights', 2815, '43212', '614', '39.985613', '-83.044498', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43388, 'Marble Cliff', 2815, '43212', '614', '39.985613', '-83.044498', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43389, 'Upper Arlington', 2815, '43212', '614', '39.985613', '-83.044498', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43390, 'Upper Arlngtn', 2815, '43212', '614', '39.985613', '-83.044498', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43391, 'Columbus', 2815, '43214', '614', '40.053144', '-83.021024', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43392, 'Columbus', 2815, '43228', '614', '39.955048', '-83.134338', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43393, 'New Rome', 2815, '43228', '614', '39.955048', '-83.134338', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43394, 'Columbus', 2815, '43230', '614', '40.034462', '-82.86752', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43395, 'Gahanna', 2815, '43230', '614', '40.034462', '-82.86752', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43396, 'Roundhead', 2815, '43346', '937', '40.545494', '-83.847034', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43397, 'Bowling Green', 2815, '43403', '419', '41.3773', '-83.623002', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43398, 'Bowling Green St University', 2815, '43403', '419', '41.3773', '-83.623002', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43399, 'Bowling Green State Univ', 2815, '43403', '419', '41.3773', '-83.623002', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43400, 'Curtice', 2815, '43412', '419', '41.640274', '-83.290428', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43401, 'Reno Beach', 2815, '43412', '419', '41.640274', '-83.290428', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43402, 'Blakeslee', 2815, '43505', '419', '41.5242', '-84.7305', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43403, 'Jnctn City', 2815, '43748', '740', '39.679524', '-82.307999', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43404, 'Junction City', 2815, '43748', '740', '39.679524', '-82.307999', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43405, 'Lore City', 2815, '43755', '740', '40.050105', '-81.43381', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43406, 'Malaga', 2815, '43757', '740', '39.8604', '-81.1482', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43407, 'New Concord', 2815, '43762', '740', '40.020578', '-81.73417', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43408, 'Philo', 2815, '43771', '740', '39.836303', '-81.938825', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43409, 'Quaker City', 2815, '43773', '740', '39.978358', '-81.301364', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43410, 'Coshocton', 2815, '43812', '740', '40.302768', '-81.864768', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43411, 'Adams Mills', 2815, '43821', '740', '40.106786', '-81.973715', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43412, 'Dresden', 2815, '43821', '740', '40.106786', '-81.973715', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43413, 'Nashport', 2815, '43830', '740', '40.070316', '-82.138048', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43414, 'Port Washington', 2815, '43837', '740', '40.30827', '-81.466815', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43415, 'Prt Washingtn', 2815, '43837', '740', '40.30827', '-81.466815', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43416, 'Hammondsville', 2815, '43930', '740', '40.578345', '-80.784516', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43417, 'Piney Fork', 2815, '43941', '740', '40.2726', '-80.8323', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43418, 'Sardis', 2815, '43946', '740', '39.657253', '-80.95075', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43419, 'Yorkville', 2815, '43971', '740', '40.162412', '-80.715595', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43420, 'Ashtabula', 2815, '44005', '440', '41.8664', '-80.7933', '2018-11-29 04:59:50', '2018-11-29 04:59:50'),\n(43421, 'Geneva', 2815, '44041', '440', '41.773016', '-80.945471', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43422, 'Geneva On The Lake', 2815, '44041', '440', '41.773016', '-80.945471', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43423, 'Kingsville', 2815, '44048', '440', '41.84737', '-80.642577', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43424, 'Lorain', 2815, '44055', '440', '41.434819', '-82.13479', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43425, 'Sheffield', 2815, '44055', '440', '41.434819', '-82.13479', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43426, 'South Lorain', 2815, '44055', '440', '41.434819', '-82.13479', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43427, 'Willoughby', 2815, '44096', '440', '41.6419', '-81.4059', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43428, 'Cleveland', 2815, '44105', '216', '41.449525', '-81.633384', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43429, 'Cuyahoga Heights', 2815, '44105', '216', '41.449525', '-81.633384', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43430, 'Garfield Heights', 2815, '44105', '216', '41.449525', '-81.633384', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43431, 'Garfield Hts', 2815, '44105', '216', '41.449525', '-81.633384', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43432, 'Newburgh Heights', 2815, '44105', '216', '41.449525', '-81.633384', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43433, 'Newburgh Hts', 2815, '44105', '216', '41.449525', '-81.633384', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43434, 'Cleveland', 2815, '44123', '216', '41.603642', '-81.526109', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43435, 'Euclid', 2815, '44123', '216', '41.603642', '-81.526109', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43436, 'Cleveland', 2815, '44132', '216', '41.608234', '-81.500969', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43437, 'Euclid', 2815, '44132', '216', '41.608234', '-81.500969', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43438, 'Cleveland', 2815, '44139', '440', '41.38648', '-81.440255', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43439, 'Glenwillow', 2815, '44139', '440', '41.38648', '-81.440255', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43440, 'Solon', 2815, '44139', '440', '41.38648', '-81.440255', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43441, 'Brecksville', 2815, '44141', '440', '41.30627', '-81.615074', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43442, 'Cleveland', 2815, '44141', '440', '41.30627', '-81.615074', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43443, 'Mantua', 2815, '44255', '330', '41.326244', '-81.223859', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43444, 'Shalersville', 2815, '44255', '330', '41.326244', '-81.223859', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43445, 'Everett', 2815, '44264', '330', '41.234057', '-81.553504', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43446, 'Peninsula', 2815, '44264', '330', '41.234057', '-81.553504', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43447, 'Blake', 2815, '44273', '330', '41.037085', '-81.88642', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43448, 'Guilford', 2815, '44273', '330', '41.037085', '-81.88642', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43449, 'Seville', 2815, '44273', '330', '41.037085', '-81.88642', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43450, 'River Corners', 2815, '44275', '330', '41.096498', '-82.092097', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43451, 'Barlow', 2817, '97013', '503', '45.216509', '-122.660792', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43452, 'Canby', 2817, '97013', '503', '45.216509', '-122.660792', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43453, 'Grass Valley', 2817, '97029', '541', '45.3012', '-120.798539', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43454, 'Rhododendron', 2817, '97049', '503', '45.384554', '-121.869712', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43455, 'Zigzag', 2817, '97049', '503', '45.384554', '-121.869712', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43456, 'Biggs', 2817, '97065', '541', '45.613375', '-120.709517', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43457, 'Biggs Junction', 2817, '97065', '541', '45.613375', '-120.709517', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43458, 'Wasco', 2817, '97065', '541', '45.613375', '-120.709517', '2018-11-29 04:59:51', '2018-11-29 04:59:51'),\n(43459, 'Damascus', 2817, '97080', '503', '45.470682', '-122.379236', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43460, 'Gresham', 2817, '97080', '503', '45.470682', '-122.379236', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43461, 'Cornelius', 2817, '97113', '503', '45.5195', '-123.045269', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43462, 'Manzanita', 2817, '97130', '503', '45.718082', '-123.935184', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43463, 'Yamhill', 2817, '97148', '503', '45.354875', '-123.271962', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43464, 'Burlington', 2817, '97231', '503', '45.712144', '-122.840044', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43465, 'Portland', 2817, '97231', '503', '45.712144', '-122.840044', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43466, 'Portland', 2817, '97280', '503', '45.5239', '-122.6751', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43467, 'Portland', 2817, '97298', '503', '45.4917', '-122.774', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43468, 'Dept Motor Vehicle', 2817, '97314', '503', '44.9431', '-123.0336', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43469, 'Salem', 2817, '97314', '503', '44.9431', '-123.0336', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43470, 'Idanha', 2817, '97350', '503', '44.687717', '-121.93204', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43471, 'Brookings', 2817, '97415', '541', '42.254825', '-124.101297', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43472, 'Harbor', 2817, '97415', '541', '42.254825', '-124.101297', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43473, 'Deadwood', 2817, '97430', '541', '44.16848', '-123.750371', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43474, 'Greenleaf', 2817, '97430', '541', '44.16848', '-123.750371', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43475, 'Depoe Bay', 2817, '97341', '541', '44.839552', '-124.011512', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43476, 'Tangent', 2817, '97389', '541', '44.536317', '-123.089143', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43477, 'Toledo', 2817, '97391', '541', '44.615733', '-123.918966', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43478, 'Eugene', 2817, '97405', '541', '43.929185', '-123.123934', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43479, 'Pleasant Hill', 2817, '97405', '541', '43.929185', '-123.123934', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43480, 'Allegany', 2817, '97407', '541', '43.4266', '-124.0316', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43481, 'Coburg', 2817, '97408', '541', '44.140789', '-123.08135', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43482, 'Eugene', 2817, '97408', '541', '44.140789', '-123.08135', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43483, 'Coquille', 2817, '97423', '541', '43.14995', '-124.191955', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43484, 'Dunes City', 2817, '97439', '541', '44.070437', '-124.01228', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43485, 'Florence', 2817, '97439', '541', '44.070437', '-124.01228', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43486, 'Glendale', 2817, '97442', '541', '42.834075', '-123.536116', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43487, 'Alpine', 2817, '97456', '541', '44.343002', '-123.346939', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43488, 'Monroe', 2817, '97456', '541', '44.343002', '-123.346939', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43489, 'Myrtle Point', 2817, '97458', '541', '43.087314', '-123.986559', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43490, 'Norway', 2817, '97458', '541', '43.087314', '-123.986559', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43491, 'Remote', 2817, '97458', '541', '43.087314', '-123.986559', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43492, 'Greenacres', 2817, '97473', '541', '43.689777', '-123.767841', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43493, 'Murphys Camp', 2817, '97473', '541', '43.689777', '-123.767841', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43494, 'Scottsburg', 2817, '97473', '541', '43.689777', '-123.767841', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43495, 'Walton', 2817, '97490', '541', '43.985778', '-123.626293', '2018-11-29 04:59:52', '2018-11-29 04:59:52'),\n(43496, 'Westfir', 2817, '97492', '541', '43.759354', '-122.518044', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43497, 'Cave Junction', 2817, '97523', '541', '42.112634', '-123.583137', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43498, 'Kerby', 2817, '97523', '541', '42.112634', '-123.583137', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43499, 'Eagle Point', 2817, '97524', '541', '42.475114', '-122.628881', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43500, 'Talent', 2817, '97540', '541', '42.19499', '-122.810916', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43501, 'Trail', 2817, '97541', '541', '42.751648', '-122.78273', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43502, 'Bly', 2817, '97622', '541', '42.331937', '-121.006091', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43503, 'Bonanza', 2817, '97623', '541', '42.369786', '-121.340162', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43504, 'Chiloquin', 2817, '97624', '541', '42.73603', '-121.54235', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43505, 'Dairy', 2817, '97625', '541', '42.221472', '-121.590825', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43506, 'Klamath Falls', 2817, '97625', '541', '42.221472', '-121.590825', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43507, 'Chiloquin', 2817, '97639', '541', '42.393044', '-121.459837', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43508, 'Sprague River', 2817, '97639', '541', '42.393044', '-121.459837', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43509, 'Madras', 2817, '97741', '541', '44.65026', '-121.056273', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43510, 'Metolius', 2817, '97741', '541', '44.65026', '-121.056273', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43511, 'Eagle Crest', 2817, '97756', '541', '44.273805', '-121.260487', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43512, 'Redmond', 2817, '97756', '541', '44.273805', '-121.260487', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43513, 'Fox', 2817, '97856', '541', '44.770275', '-119.20453', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43514, 'Long Creek', 2817, '97856', '541', '44.770275', '-119.20453', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43515, 'Ritter', 2817, '97856', '541', '44.770275', '-119.20453', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43516, 'Lostine', 2817, '97857', '541', '45.45241', '-117.432161', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43517, 'Stanfield', 2817, '97875', '541', '45.801855', '-119.216575', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43518, 'Summerville', 2817, '97876', '541', '45.512312', '-118.019177', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43519, 'Harper', 2817, '97906', '541', '43.790706', '-117.484572', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43520, 'Huntington', 2817, '97907', '541', '44.458854', '-117.385043', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43521, 'Lime', 2817, '97907', '541', '44.458854', '-117.385043', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43522, 'Rye Valley', 2817, '97907', '541', '44.458854', '-117.385043', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43523, 'Ironside', 2817, '97908', '541', '44.194366', '-117.882111', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43524, 'Merlin', 2817, '97532', '541', '42.563378', '-123.550353', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43525, 'Malin', 2817, '97632', '541', '42.030705', '-121.432442', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43526, 'Midland', 2817, '97634', '541', '42.130452', '-121.818224', '2018-11-29 04:59:53', '2018-11-29 04:59:53');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(43527, 'Bend', 2817, '97701', '541', '44.086767', '-121.257448', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43528, 'Paulina', 2817, '97751', '541', '44.158264', '-119.899713', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43529, 'Boardman', 2817, '97818', '541', '45.737228', '-119.811432', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43530, 'Haines', 2817, '97833', '541', '44.952271', '-117.958478', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43531, 'Halfway', 2817, '97834', '541', '44.91163', '-117.135006', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43532, 'Mcnary', 2817, '97882', '541', '45.914234', '-119.283774', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43533, 'Umatilla', 2817, '97882', '541', '45.914234', '-119.283774', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43534, 'Union', 2817, '97883', '541', '45.210488', '-117.646125', '2018-11-29 04:59:53', '2018-11-29 04:59:53'),\n(43535, 'Unity', 2817, '97884', '541', '44.411132', '-118.293849', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43536, 'Baker City', 2817, '97814', '541', '44.820112', '-117.752996', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43537, 'Keating', 2817, '97814', '541', '44.820112', '-117.752996', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43538, 'Medical Spgs', 2817, '97814', '541', '44.820112', '-117.752996', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43539, 'Medical Springs', 2817, '97814', '541', '44.820112', '-117.752996', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43540, 'Bates', 2817, '97817', '541', '44.494443', '-118.479929', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43541, 'N Powder', 2817, '97867', '541', '45.081702', '-117.995117', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43542, 'North Powder', 2817, '97867', '541', '45.081702', '-117.995117', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43543, 'Adrian', 2817, '97901', '541', '43.464293', '-117.265102', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43544, 'Riverside', 2817, '97917', '541', '43.331557', '-117.765406', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43545, 'Dexter', 2817, '97431', '541', '43.863605', '-122.758994', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43546, 'Lakeside', 2817, '97449', '541', '43.571127', '-124.080896', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43547, 'Applegate', 2817, '97530', '541', '42.17918', '-123.038852', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43548, 'Jacksonville', 2817, '97530', '541', '42.17918', '-123.038852', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43549, 'Murphy', 2817, '97533', '541', '42.3481', '-123.3312', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43550, 'Chemult', 2817, '97731', '541', '43.021359', '-121.815894', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43551, 'Diamond Lake', 2817, '97731', '541', '43.021359', '-121.815894', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43552, 'Crane', 2817, '97732', '541', '43.43318', '-118.408624', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43553, 'Cayuse', 2817, '97801', '541', '45.617181', '-118.74085', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43554, 'Pendleton', 2817, '97801', '541', '45.617181', '-118.74085', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43555, 'Baker', 2817, '97814', '541', '44.820112', '-117.752996', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43556, 'Vicksburg', 2818, '17883', '570', '40.9387', '-76.9883', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43557, 'Salona', 2818, '17767', '570', '41.084011', '-77.46282', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43558, 'Slate Run', 2818, '17769', '570', '41.4717', '-77.5029', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43559, 'Kreamer', 2818, '17833', '570', '40.797833', '-76.957246', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43560, 'Verdilla', 2818, '17870', '570', '40.821734', '-76.911546', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43561, 'Swengel', 2818, '17880', '570', '40.9066', '-77.1011', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43562, 'Troxelville', 2818, '17882', '570', '40.806919', '-77.212054', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43563, 'Hartleton', 2818, '17829', '570', '40.902832', '-77.156621', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43564, 'Camp Grove', 2818, '17830', '570', '40.691862', '-76.775845', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43565, 'Hebe', 2818, '17830', '570', '40.691862', '-76.775845', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43566, 'Herndon', 2818, '17830', '570', '40.691862', '-76.775845', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43567, 'Mandata', 2818, '17830', '570', '40.691862', '-76.775845', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43568, 'Urban', 2818, '17830', '570', '40.691862', '-76.775845', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43569, 'Bechtelsville', 2818, '19505', '610', '40.378966', '-75.620953', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43570, 'Eshbach', 2818, '19505', '610', '40.378966', '-75.620953', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43571, 'Passmore', 2818, '19505', '610', '40.378966', '-75.620953', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43572, 'Kintnersville', 2818, '18930', '610', '40.53642', '-75.221547', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43573, 'Revere', 2818, '18953', '610', '40.5154', '-75.1615', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43574, 'Richlandtown', 2818, '18955', '215', '40.489548', '-75.314719', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43575, 'Dunmore', 2818, '18510', '570', '41.408015', '-75.635027', '2018-11-29 04:59:54', '2018-11-29 04:59:54'),\n(43576, 'Scranton', 2818, '18510', '570', '41.408015', '-75.635027', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43577, 'Blakeslee', 2818, '18610', '570', '41.037256', '-75.509729', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43578, 'Saint Peters', 2818, '19470', '610', '40.18', '-75.7311', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43579, 'St Peters', 2818, '19470', '610', '40.18', '-75.7311', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43580, 'Adamstown', 2818, '19501', '717', '40.243858', '-76.060405', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43581, 'Dublin', 2818, '18917', '215', '40.372893', '-75.204454', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43582, 'Mechanicsville', 2818, '18934', '215', '40.358601', '-75.061424', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43583, 'Mechanicsvlle', 2818, '18934', '215', '40.358601', '-75.061424', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43584, 'Milford Sq', 2818, '18935', '215', '40.4369', '-75.3992', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43585, 'Milford Square', 2818, '18935', '215', '40.4369', '-75.3992', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43586, 'Point Pleasant', 2818, '18950', '215', '40.4225', '-75.0664', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43587, 'Pt Pleasant', 2818, '18950', '215', '40.4225', '-75.0664', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43588, 'Charleroi', 2818, '15022', '724', '40.134832', '-79.932448', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43589, 'N Charleroi', 2818, '15022', '724', '40.134832', '-79.932448', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43590, 'North Charleroi', 2818, '15022', '724', '40.134832', '-79.932448', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43591, 'Trevorton', 2818, '17881', '570', '40.765848', '-76.64959', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43592, 'Hummels Wharf', 2818, '17831', '570', '40.8314', '-76.8363', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43593, 'North Wales', 2818, '19477', '215', '40.18675', '-75.231805', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43594, 'Spring House', 2818, '19477', '215', '40.18675', '-75.231805', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43595, 'Springhouse', 2818, '19477', '215', '40.18675', '-75.231805', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43596, 'Spring Mount', 2818, '19478', '610', '40.277123', '-75.458421', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43597, 'Gardenville', 2818, '18926', '215', '40.3725', '-75.1082', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43598, 'Salfordville', 2818, '18958', '215', '40.2979', '-75.4298', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43599, 'Pottstown', 2818, '19465', '610', '40.194472', '-75.67102', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43600, 'Worcester', 2818, '19490', '610', '40.2011', '-75.3469', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43601, 'Blooming Glen', 2818, '18911', '215', '40.3696', '-75.2489', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43602, 'Carversville', 2818, '18913', '215', '40.383937', '-75.044124', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43603, 'Lahaska', 2818, '18931', '215', '40.3467', '-75.0316', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43604, 'Pipersville', 2818, '18947', '215', '40.434892', '-75.11697', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43605, 'Bear Creek', 2818, '18602', '570', '41.184992', '-75.754357', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43606, 'Kenhorst', 2818, '19607', '610', '40.288197', '-75.961363', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43607, 'Reading', 2818, '19607', '610', '40.288197', '-75.961363', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43608, 'Shillington', 2818, '19607', '610', '40.288197', '-75.961363', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43609, 'Wyoming', 2818, '18644', '570', '41.33615', '-75.872472', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43610, 'Milford', 2818, '18337', '570', '41.338348', '-74.886056', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43611, 'Mount Pocono', 2818, '18344', '570', '41.118129', '-75.347608', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43612, 'Stroudsburg', 2818, '18360', '570', '40.958738', '-75.299196', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43613, 'Archbald', 2818, '18403', '570', '41.48303', '-75.532202', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43614, 'Eynon', 2818, '18403', '570', '41.48303', '-75.532202', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43615, 'Chinchilla', 2818, '18410', '570', '41.4687', '-75.6724', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43616, 'Tyler Hill', 2818, '18469', '570', '41.690141', '-75.152474', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43617, 'Trexlertown', 2818, '18087', '610', '40.550859', '-75.599368', '2018-11-29 04:59:55', '2018-11-29 04:59:55'),\n(43618, 'Hazle Township', 2818, '18201', '570', '40.948752', '-75.979893', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43619, 'Hazle Townshp', 2818, '18201', '570', '40.948752', '-75.979893', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43620, 'Hazleton', 2818, '18201', '570', '40.948752', '-75.979893', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43621, 'Sybertsville', 2818, '18251', '570', '41.007516', '-76.08669', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43622, 'Factoryville', 2818, '18419', '570', '41.591899', '-75.7597', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43623, 'Browndale', 2818, '18421', '570', '41.678524', '-75.43444', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43624, 'Clifford Township', 2818, '18421', '570', '41.678524', '-75.43444', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43625, 'Clifford Twp', 2818, '18421', '570', '41.678524', '-75.43444', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43626, 'Forest City', 2818, '18421', '570', '41.678524', '-75.43444', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43627, 'Richmondale', 2818, '18421', '570', '41.678524', '-75.43444', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43628, 'Vandling', 2818, '18421', '570', '41.678524', '-75.43444', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43629, 'Lehigh Valley', 2818, '18003', '610', '40.6428', '-75.4328', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43630, 'Bethlehem', 2818, '18017', '610', '40.658955', '-75.389265', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43631, 'Butztown', 2818, '18017', '610', '40.658955', '-75.389265', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43632, 'Freemansburg', 2818, '18017', '610', '40.658955', '-75.389265', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43633, 'College Hill', 2818, '18042', '610', '40.655162', '-75.222839', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43634, 'Easton', 2818, '18042', '610', '40.655162', '-75.222839', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43635, 'Glendon', 2818, '18042', '610', '40.655162', '-75.222839', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43636, 'West Easton', 2818, '18042', '610', '40.655162', '-75.222839', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43637, 'Williams Township', 2818, '18042', '610', '40.655162', '-75.222839', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43638, 'Williams Twp', 2818, '18042', '610', '40.655162', '-75.222839', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43639, 'Germansville', 2818, '18053', '610', '40.725995', '-75.715405', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43640, 'Orefield', 2818, '18069', '610', '40.623466', '-75.622248', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43641, 'Cresco', 2818, '18326', '570', '41.164434', '-75.25419', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43642, 'Laanna', 2818, '18326', '570', '41.164434', '-75.25419', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43643, 'Paradise Valley', 2818, '18326', '570', '41.164434', '-75.25419', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43644, 'Paradise Vly', 2818, '18326', '570', '41.164434', '-75.25419', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43645, 'Tatamy', 2818, '18085', '610', '40.741113', '-75.255246', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43646, 'Business Reply Mail', 2818, '18003', '610', '40.6428', '-75.4328', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43647, 'Atlas', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43648, 'Connersville', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43649, 'Diamondtown', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43650, 'Dooleyville', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43651, 'Merrian', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43652, 'Mount Carmel', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43653, 'Mt Carmel', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43654, 'Mt Carmel Township', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43655, 'Natalie', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43656, 'Strong', 2818, '17851', '570', '40.794188', '-76.435462', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43657, 'Coon Hunter', 2818, '17842', '570', '40.787842', '-77.018074', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43658, 'Kissimmee', 2818, '17842', '570', '40.787842', '-77.018074', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43659, 'Meiser', 2818, '17842', '570', '40.787842', '-77.018074', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43660, 'Middleburg', 2818, '17842', '570', '40.787842', '-77.018074', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43661, 'Middleswarth', 2818, '17842', '570', '40.787842', '-77.018074', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43662, 'Swineford', 2818, '17842', '570', '40.787842', '-77.018074', '2018-11-29 04:59:56', '2018-11-29 04:59:56'),\n(43663, 'Cowan', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43664, 'Dice', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43665, 'Foresthill', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43666, 'Mifflinburg', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43667, 'Red Bank', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43668, 'West Buffalo', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43669, 'Whitesprings', 2818, '17844', '570', '40.965026', '-77.061725', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43670, 'Allenwood', 2818, '17810', '570', '41.124887', '-77.030078', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43671, 'Elimsport', 2818, '17810', '570', '41.124887', '-77.030078', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43672, 'Gregg', 2818, '17810', '570', '41.124887', '-77.030078', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43673, 'Level Corner', 2818, '17744', '570', '41.252812', '-77.157559', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43674, 'Linden', 2818, '17744', '570', '41.252812', '-77.157559', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43675, 'Pine Run', 2818, '17744', '570', '41.252812', '-77.157559', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43676, 'Mc Ewensville', 2818, '17749', '570', '41.072338', '-76.818352', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43677, 'Mcewensville', 2818, '17749', '570', '41.072338', '-76.818352', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43678, 'Lancaster', 2818, '17608', '717', '40.0376', '-76.3058', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43679, 'New Salem Borough', 2818, '17408', '717', '39.943596', '-76.804015', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43680, 'New Salem Bro', 2818, '17408', '717', '39.943596', '-76.804015', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43681, 'W Manchester', 2818, '17408', '717', '39.943596', '-76.804015', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43682, 'West Manchester Twp', 2818, '17408', '717', '39.943596', '-76.804015', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43683, 'York', 2818, '17408', '717', '39.943596', '-76.804015', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43684, 'New Freedom', 2818, '17349', '717', '39.776408', '-76.684534', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43685, 'Tolna', 2818, '17349', '717', '39.776408', '-76.684534', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43686, 'Freysville', 2818, '17356', '717', '39.897098', '-76.558544', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43687, 'Denver', 2818, '17517', '717', '40.243052', '-76.127294', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43688, 'Fivepointville', 2818, '17517', '717', '40.243052', '-76.127294', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43689, 'Hopeland', 2818, '17533', '717', '40.2337', '-76.2625', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43690, 'Buyerstown', 2818, '17535', '717', '40.010303', '-76.043462', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43691, 'Kinzers', 2818, '17535', '717', '40.010303', '-76.043462', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43692, 'New Milltown', 2818, '17535', '717', '40.010303', '-76.043462', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43693, 'Bareville', 2818, '17540', '717', '40.100992', '-76.187884', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43694, 'Leacock', 2818, '17540', '717', '40.100992', '-76.187884', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43695, 'Leola', 2818, '17540', '717', '40.100992', '-76.187884', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43696, 'Oregon', 2818, '17540', '717', '40.100992', '-76.187884', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43697, 'Rockrimmin Ridge', 2818, '17540', '717', '40.100992', '-76.187884', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43698, 'Bendersville', 2818, '17306', '717', '39.978696', '-77.249556', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43699, 'New Bridgeville', 2818, '17356', '717', '39.897098', '-76.558544', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43700, 'Pleasant View', 2818, '17356', '717', '39.897098', '-76.558544', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43701, 'Red Lion', 2818, '17356', '717', '39.897098', '-76.558544', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43702, 'Snyder Corner', 2818, '17356', '717', '39.897098', '-76.558544', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43703, 'Springvale', 2818, '17356', '717', '39.897098', '-76.558544', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43704, 'Rossville', 2818, '17358', '717', '40.0638', '-76.9146', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43705, 'Seven Valleys', 2818, '17360', '717', '39.861448', '-76.756155', '2018-11-29 04:59:57', '2018-11-29 04:59:57'),\n(43706, 'Newburg', 2818, '17240', '717', '40.150397', '-77.571814', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43707, 'Roxbury', 2818, '17251', '717', '40.1103', '-77.6622', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43708, 'Dryville', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43709, 'Fredericksville', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43710, 'Hancock', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43711, 'Klines Corner', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43712, 'Longswamp', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43713, 'Lower Longswamp', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43714, 'Mertztown', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43715, 'Oreville', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43716, 'Shamrock Station', 2818, '19539', '610', '40.488636', '-75.686574', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43717, 'Pittsburgh', 2818, '15290', '412', '40.4422', '-79.9944', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43718, 'Claysville', 2818, '15323', '724', '40.108608', '-80.41203', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43719, 'Greensboro', 2818, '15338', '724', '39.81366', '-79.968541', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43720, 'Richeyville', 2818, '15358', '724', '40.053544', '-79.997387', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43721, 'Pittsburgh', 2818, '15241', '412', '40.330906', '-80.082836', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43722, 'South Hills Village', 2818, '15241', '412', '40.330906', '-80.082836', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43723, 'Upper Saint Clair', 2818, '15241', '412', '40.330906', '-80.082836', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43724, 'Upper St Clair', 2818, '15241', '412', '40.330906', '-80.082836', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43725, 'Uppr St Clair', 2818, '15241', '412', '40.330906', '-80.082836', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43726, 'Bell Telephone Co', 2818, '15255', '412', '40.4409', '-79.9963', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43727, 'Pittsburgh', 2818, '15255', '412', '40.4409', '-79.9963', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43728, 'Crafton', 2818, '15205', '412', '40.435089', '-80.108698', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43729, 'Ingram', 2818, '15205', '412', '40.435089', '-80.108698', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43730, 'Pgh', 2818, '15205', '412', '40.435089', '-80.108698', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43731, 'Pitt', 2818, '15205', '412', '40.435089', '-80.108698', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43732, 'Pittsburgh', 2818, '15205', '412', '40.435089', '-80.108698', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43733, 'Braddock Hills', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43734, 'Churchill', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43735, 'Forest Hills', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43736, 'Pgh', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43737, 'Pitt', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43738, 'Pittsburgh', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43739, 'Wilkinsburg', 2818, '15221', '412', '40.436124', '-79.86733', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43740, 'Pgh', 2818, '15222', '412', '40.447804', '-79.993547', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43741, 'Pitt', 2818, '15222', '412', '40.447804', '-79.993547', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43742, 'Pittsburgh', 2818, '15222', '412', '40.447804', '-79.993547', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43743, 'Bloomfield', 2818, '15224', '412', '40.46424', '-79.946913', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43744, 'Pgh', 2818, '15224', '412', '40.46424', '-79.946913', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43745, 'Pitt', 2818, '15224', '412', '40.46424', '-79.946913', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43746, 'Atlasburg', 2818, '15004', '724', '40.346678', '-80.382624', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43747, 'W Elizabeth', 2818, '15088', '412', '40.272037', '-79.896674', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43748, 'West Elizabeth', 2818, '15088', '412', '40.272037', '-79.896674', '2018-11-29 04:59:58', '2018-11-29 04:59:58'),\n(43749, 'Wildwood', 2818, '15091', '724', '40.5943', '-79.9703', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43750, 'Carpolis', 2818, '15108', '412', '40.509041', '-80.194641', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43751, 'Coraopolis', 2818, '15108', '412', '40.509041', '-80.194641', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43752, 'Coropolis', 2818, '15108', '412', '40.509041', '-80.194641', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43753, 'Moon Township', 2818, '15108', '412', '40.509041', '-80.194641', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43754, 'Moon Twp', 2818, '15108', '412', '40.509041', '-80.194641', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43755, 'Pittsburgh', 2818, '15122', '412', '40.362986', '-79.901734', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43756, 'W Mifflin/pleasant Hills', 2818, '15122', '412', '40.362986', '-79.901734', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43757, 'West Mifflin', 2818, '15122', '412', '40.362986', '-79.901734', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43758, 'Zieglersville', 2818, '19492', '610', '40.281712', '-75.495455', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43759, 'Zieglerville', 2818, '19492', '610', '40.281712', '-75.495455', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43760, 'Providian Agon', 2818, '19493', '610', '40.0968', '-75.4701', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43761, 'Valley Forge', 2818, '19493', '610', '40.0968', '-75.4701', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43762, 'Providian Agon', 2818, '19494', '610', '40.0968', '-75.4701', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43763, 'Valley Forge', 2818, '19494', '610', '40.0968', '-75.4701', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43764, 'Blandon', 2818, '19510', '610', '40.450856', '-75.879411', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43765, 'George School', 2818, '18940', '215', '40.264967', '-74.956331', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43766, 'Amelia Ind Park', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43767, 'Caparra Hls Ind Park', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43768, 'Ext Alts De San Patricio', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43769, 'Guaynabo', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43770, 'Metro Office Park', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43771, 'Parq San Patricio', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43772, 'Rexco Ind Park', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43773, 'URB Caparra Hls', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43774, 'URB Golden Gate', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43775, 'URB Parkside', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43776, 'URB San Patricio', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43777, 'URB San Patricio Meadows', 2819, '00968', '787', '18.414026', '-66.108363', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43778, 'Alt De Santa Maria', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43779, 'Alt De Torrimar', 2819, '00969', '787', '18.330998', '-66.112285', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43780, 'URB El Conquistador', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43781, 'URB Entrerios', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43782, 'URB Golden Hls', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43783, 'URB Interamericana Gdn', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43784, 'URB La Cima', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43785, 'URB Lago Alto', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43786, 'URB Lantigua', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43787, 'URB Lourdes', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43788, 'URB Monte Trujillo', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43789, 'URB Montebello Est', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43790, 'URB Pacifica', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43791, 'URB Primavera', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 04:59:59', '2018-11-29 04:59:59'),\n(43792, 'URB Riachuelo', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43793, 'URB Rincon Espanol', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43794, 'URB Rio Cristal', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43795, 'URB Riverwalk', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43796, 'URB Round Hls', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43797, 'URB San Rafael Vlg', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43798, 'Bureau Of Census', 2819, '00975', '787', '18.4683', '-66.1064', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43799, 'San Juan', 2819, '00975', '787', '18.4683', '-66.1064', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43800, 'Alt De Fairview', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43801, 'Alt Interamericana', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43802, 'Bda Gonzalez', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43803, 'Bosque Del Lago', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43804, 'Ciudad Universitaria', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43805, 'Colinas De Fairview', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43806, 'Jard De Trujillo', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43807, 'Lomas De Trujillo', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43808, 'Mans San Rafael', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43809, 'Parc Saint Just', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43810, 'Parq Del Monte', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43811, 'Parq Del Rio', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43812, 'Parq Montebello', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43813, 'Repto San Rafael', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43814, 'Saint Just', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43815, 'Terr De Cupey', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43816, 'Trujillo Alto', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43817, 'URB Altavilla', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43818, 'URB Antillana', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43819, 'URB Corrientes', 2819, '00976', '787', '18.337034', '-65.990043', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43820, 'Blake', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43821, 'Gardens Corner', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43822, 'Pocataligo', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43823, 'Salkehatchie', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43824, 'White Hall', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43825, 'Whitehall', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43826, 'Yemassee', 2821, '29945', '843', '32.653959', '-80.738516', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43827, 'Williamston', 2821, '29697', '864', '34.641331', '-82.544862', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43828, 'Eureka', 2821, '29847', '803', '33.700086', '-81.850008', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43829, 'Trenton', 2821, '29847', '803', '33.700086', '-81.850008', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43830, 'Crocketville', 2821, '29913', '803', '32.9167', '-81.0777', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43831, 'Ashton', 2821, '29929', '843', '32.920811', '-80.951226', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43832, 'Islandton', 2821, '29929', '843', '32.920811', '-80.951226', '2018-11-29 05:00:00', '2018-11-29 05:00:00'),\n(43833, 'Moselle', 2821, '29929', '843', '32.920811', '-80.951226', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43834, 'Rock Hill', 2821, '29730', '803', '34.885711', '-81.020911', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43835, 'Rock Hill', 2821, '29731', '803', '34.9248', '-81.0256', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43836, 'Hilda', 2821, '29813', '803', '33.2448', '-81.3588', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43837, 'Batsbrg-Levil', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43838, 'Delmar', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43839, 'Fairview Crossroads', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43840, 'Lake Murray Shores', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43841, 'Leesville', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43842, 'Steedman', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43843, 'Summit', 2821, '29070', '803', '33.890334', '-81.4308', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43844, 'Cayce', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43845, 'Dixiana', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43846, 'Kathwood', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43847, 'Pineridge', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43848, 'Saluda Gardens', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43849, 'Saluda Terrace', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43850, 'South Congaree', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43851, 'Springdale', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43852, 'West Columbia', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43853, 'Westover Acres', 2821, '29169', '803', '33.990967', '-81.100879', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43854, 'Cayce', 2821, '29170', '803', '33.937501', '-81.144934', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43855, 'West Columbia', 2821, '29170', '803', '33.937501', '-81.144934', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43856, 'Parksville', 2821, '29844', '864', '33.782043', '-82.211221', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43857, 'Hilton Head', 2821, '29926', '843', '32.22204', '-80.753069', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43858, 'Hilton Head Island', 2821, '29926', '843', '32.22204', '-80.753069', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43859, 'Greenville', 2821, '29617', '864', '34.90611', '-82.465784', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43860, 'Gville', 2821, '29617', '864', '34.90611', '-82.465784', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43861, 'Van Wyck', 2821, '29744', '803', '34.9573', '-80.8349', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43862, 'Aiken', 2821, '29808', '803', '33.248356', '-81.613174', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43863, 'Ei Dupont Corp', 2821, '29808', '803', '33.248356', '-81.613174', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43864, 'Allendale', 2821, '29810', '803', '33.003336', '-81.370486', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43865, 'Seigling', 2821, '29810', '803', '33.003336', '-81.370486', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43866, 'Mayesville', 2821, '29104', '803', '34.001985', '-80.208312', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43867, 'Saint Charles', 2821, '29104', '803', '34.001985', '-80.208312', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43868, 'Scottsville', 2821, '29104', '803', '34.001985', '-80.208312', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43869, 'Antioch', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43870, 'Camden', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43871, 'Dusty Bend', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43872, 'Kirkland', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43873, 'Kirkwood', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43874, 'Red Hill', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43875, 'Shamokin', 2821, '29020', '803', '34.316466', '-80.587212', '2018-11-29 05:00:01', '2018-11-29 05:00:01'),\n(43876, 'Bigcreek', 2821, '29037', '864', '34.224632', '-81.879916', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43877, 'Chappells', 2821, '29037', '864', '34.224632', '-81.879916', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43878, 'Varnville', 2821, '29944', '803', '32.822572', '-81.009868', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43879, 'Myrtle Beach', 2821, '29577', '843', '33.698113', '-78.903338', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43880, 'Carolina Forest', 2821, '29579', '843', '33.744235', '-78.909453', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43881, 'Myrtle Beach', 2821, '29579', '843', '33.744235', '-78.909453', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43882, 'Columbia', 2821, '29227', '803', '34.0009', '-81.0353', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43883, 'Wells Fargo', 2821, '29227', '803', '34.0009', '-81.0353', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43884, 'Columbia', 2821, '29228', '803', '34.0036', '-81.0344', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43885, 'Columbia Amf', 2821, '29228', '803', '34.0036', '-81.0344', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43886, 'Columbia', 2821, '29229', '803', '34.134982', '-80.887256', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43887, 'Elgin', 2821, '29045', '803', '34.191438', '-80.813086', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43888, 'Pontiac', 2821, '29045', '803', '34.191438', '-80.813086', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43889, 'Elliott', 2821, '29046', '803', '34.102104', '-80.155002', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43890, 'Bowyer', 2821, '29059', '803', '33.322911', '-80.431875', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43891, 'Holly Hill', 2821, '29059', '803', '33.322911', '-80.431875', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43892, 'Horatio', 2821, '29062', '803', '34.019338', '-80.572198', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43893, 'Sardinia', 2821, '29143', '803', '33.8206', '-80.0819', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43894, 'Silverstreet', 2821, '29145', '803', '34.214952', '-81.74836', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43895, 'Cartersville', 2821, '29161', '843', '34.112447', '-79.941909', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43896, 'Peniel Crossroads', 2821, '29161', '843', '34.112447', '-79.941909', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43897, 'Sardis', 2821, '29161', '843', '34.112447', '-79.941909', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43898, 'Timmonsville', 2821, '29161', '843', '34.112447', '-79.941909', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43899, 'Bethune', 2821, '29009', '843', '34.445598', '-80.384544', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43900, 'North', 2821, '29112', '803', '33.6326', '-81.101348', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43901, 'Norway', 2821, '29113', '803', '33.419706', '-81.126564', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43902, 'Bowman', 2821, '29018', '803', '33.340634', '-80.627162', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43903, 'Andrews', 2821, '29510', '843', '33.45549', '-79.634884', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43904, 'Hartsville', 2821, '29551', '843', '34.3736', '-80.0738', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43905, 'Clifton', 2821, '29324', '864', '34.9794', '-81.8183', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43906, 'Ballentine', 2821, '29002', '803', '34.1245', '-81.2375', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43907, 'Clyde', 2821, '29101', '843', '34.477001', '-80.255618', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43908, 'Mc Bee', 2821, '29101', '843', '34.477001', '-80.255618', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43909, 'Mcbee', 2821, '29101', '843', '34.477001', '-80.255618', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43910, 'Robinson', 2821, '29101', '843', '34.477001', '-80.255618', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43911, 'Charleston', 2821, '29417', '843', '32.7765', '-79.9312', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43912, 'Chas', 2821, '29417', '843', '32.7765', '-79.9312', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43913, 'Beaufort', 2821, '29905', '843', '32.3373', '-80.692', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43914, 'Parris Island', 2821, '29905', '843', '32.3373', '-80.692', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43915, 'Abbeville', 2821, '29620', '864', '34.184602', '-82.433348', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43916, 'And', 2821, '29621', '864', '34.49087', '-82.60857', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43917, 'Anderson', 2821, '29621', '864', '34.49087', '-82.60857', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43918, 'Bowling Green', 2821, '29703', '803', '35.1497', '-81.2128', '2018-11-29 05:00:02', '2018-11-29 05:00:02'),\n(43919, 'Lancaster', 2821, '29720', '803', '34.766228', '-80.698876', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43920, 'Aiken', 2821, '29805', '803', '33.65034', '-81.638934', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43921, 'Colliers', 2821, '29838', '864', '33.72456', '-82.188385', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43922, 'Modoc', 2821, '29838', '864', '33.72456', '-82.188385', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43923, 'Marion', 2821, '29571', '843', '34.132172', '-79.422174', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43924, 'Myrtle Beach', 2821, '29572', '843', '33.765429', '-78.795692', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43925, 'Honea Path', 2821, '29654', '864', '34.452168', '-82.348743', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43926, 'Iva', 2821, '29655', '864', '34.27106', '-82.636968', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43927, 'Taylors', 2821, '29687', '864', '34.988059', '-82.320804', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43928, 'Johns Island', 2821, '29455', '843', '32.718663', '-80.098045', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43929, 'Kiawah Island', 2821, '29455', '843', '32.718663', '-80.098045', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43930, 'Seabrook Isl', 2821, '29455', '843', '32.718663', '-80.098045', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43931, 'Seabrook Island', 2821, '29455', '843', '32.718663', '-80.098045', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43932, 'Pinopolis', 2821, '29469', '843', '33.245828', '-80.104755', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43933, 'Ravenel', 2821, '29470', '843', '32.825688', '-80.23864', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43934, 'Berlin', 2821, '29137', '803', '33.597812', '-81.342221', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43935, 'Kitchings Mill', 2821, '29137', '803', '33.597812', '-81.342221', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43936, 'Perry', 2821, '29137', '803', '33.597812', '-81.342221', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43937, 'Salley', 2821, '29137', '803', '33.597812', '-81.342221', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43938, 'Emory', 2821, '29138', '864', '34.021663', '-81.777177', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43939, 'Fruit Hill', 2821, '29138', '864', '34.021663', '-81.777177', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43940, 'Richland Springs', 2821, '29138', '864', '34.021663', '-81.777177', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43941, 'Saluda', 2821, '29138', '864', '34.021663', '-81.777177', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43942, 'Columbia', 2821, '29221', '803', '34.0009', '-81.0353', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43943, 'Gadsden', 2821, '29052', '803', '33.844308', '-80.739168', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43944, 'Kingville', 2821, '29052', '803', '33.844308', '-80.739168', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43945, 'Gilbert', 2821, '29054', '803', '33.933185', '-81.377103', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43946, 'Lexington', 2821, '29071', '803', '33.9816', '-81.2365', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43947, 'Sumter', 2821, '29153', '803', '33.972677', '-80.299618', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43948, 'Sumter', 2821, '29154', '803', '33.872718', '-80.469144', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43949, 'Wedgefield', 2821, '29168', '803', '33.827911', '-80.538509', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43950, 'Cayce', 2821, '29171', '803', '33.9933', '-81.0743', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43951, 'Coosaw', 2821, '29940', '843', '32.56797', '-80.701546', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43952, 'Seabrook', 2821, '29940', '843', '32.56797', '-80.701546', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43953, 'Estill', 2821, '29939', '803', '32.666409', '-81.237821', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43954, 'Scotia', 2821, '29939', '803', '32.666409', '-81.237821', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43955, 'Ft Mill', 2821, '29707', '803', '34.99001', '-80.851832', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43956, 'Indian Land', 2821, '29707', '803', '34.99001', '-80.851832', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43957, 'Chesterfield', 2821, '29709', '843', '34.722495', '-80.111852', '2018-11-29 05:00:03', '2018-11-29 05:00:03');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(43958, 'Rock Hill', 2821, '29734', '803', '34.926', '-81.0238', '2018-11-29 05:00:03', '2018-11-29 05:00:03'),\n(43959, 'Smyrna', 2821, '29743', '803', '35.018732', '-81.417678', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43960, 'New Ellenton', 2821, '29809', '803', '33.414469', '-81.690532', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43961, 'Bath', 2821, '29816', '803', '33.50128', '-81.871522', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43962, 'Barton', 2821, '29827', '803', '32.886699', '-81.285711', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43963, 'Fairfax', 2821, '29827', '803', '32.886699', '-81.285711', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43964, 'Johnston', 2821, '29832', '803', '33.791881', '-81.805253', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43965, 'Breeze Hill', 2821, '29834', '803', '33.511974', '-81.865082', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43966, 'Langley', 2821, '29834', '803', '33.511974', '-81.865082', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43967, 'Myrtle Beach', 2821, '29575', '843', '33.62789', '-78.967328', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43968, 'Surfside', 2821, '29575', '843', '33.62789', '-78.967328', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43969, 'And', 2821, '29623', '864', '34.5034', '-82.6503', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43970, 'Anderson', 2821, '29623', '864', '34.5034', '-82.6503', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43971, 'Fair Play', 2821, '29643', '864', '34.5158', '-82.97718', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43972, 'Greer', 2821, '29652', '864', '34.9389', '-82.2275', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43973, 'Lowndesville', 2821, '29659', '864', '34.2098', '-82.647474', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43974, 'Piedmont', 2821, '29673', '864', '34.726711', '-82.468301', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43975, 'Powdersville', 2821, '29673', '864', '34.726711', '-82.468301', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43976, 'Mount Carmel', 2821, '29840', '864', '33.969052', '-82.452006', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43977, 'White Pond', 2821, '29853', '803', '33.406037', '-81.407227', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43978, 'Williston', 2821, '29853', '803', '33.406037', '-81.407227', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43979, 'Beaufort', 2821, '29904', '843', '32.4507', '-80.6733', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43980, 'Dataw Island', 2821, '29920', '843', '32.37773', '-80.53973', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43981, 'Fripp Island', 2821, '29920', '843', '32.37773', '-80.53973', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43982, 'Frogmore', 2821, '29920', '843', '32.37773', '-80.53973', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43983, 'Harbor Isl', 2821, '29920', '843', '32.37773', '-80.53973', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43984, 'Saint Helena Island', 2821, '29920', '843', '32.37773', '-80.53973', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43985, 'St Helena Is', 2821, '29920', '843', '32.37773', '-80.53973', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43986, 'Furman', 2821, '29921', '803', '32.668153', '-81.16679', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43987, 'And', 2821, '29622', '864', '34.5034', '-82.6503', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43988, 'Anderson', 2821, '29622', '864', '34.5034', '-82.6503', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43989, 'Lancaster', 2821, '29721', '803', '34.7206', '-80.7711', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43990, 'Aiken', 2821, '29803', '803', '33.449644', '-81.69616', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43991, 'Clarks Hill', 2821, '29821', '864', '33.626732', '-82.107436', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43992, 'Clearwater', 2821, '29822', '803', '33.496878', '-81.895435', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43993, 'Martin', 2821, '29836', '803', '33.048156', '-81.515679', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43994, 'Mc Coll', 2821, '29570', '843', '34.680121', '-79.553256', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43995, 'Mccoll', 2821, '29570', '843', '34.680121', '-79.553256', '2018-11-29 05:00:04', '2018-11-29 05:00:04'),\n(43996, 'Due West', 2821, '29639', '864', '34.291626', '-82.42562', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(43997, 'Hodges', 2821, '29653', '864', '34.301822', '-82.226289', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(43998, 'La France', 2821, '29656', '864', '34.622424', '-82.764627', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(43999, 'Pelzer', 2821, '29669', '864', '34.63186', '-82.435558', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44000, 'Pendleton', 2821, '29670', '864', '34.643334', '-82.715232', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44001, 'Pickens', 2821, '29671', '864', '34.934924', '-82.713315', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44002, 'Tigerville', 2821, '29688', '864', '35.104208', '-82.362425', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44003, 'Fort Motte', 2821, '29135', '803', '33.726184', '-80.813264', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44004, 'Hammond Crossroads', 2821, '29135', '803', '33.726184', '-80.813264', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44005, 'Saint Matthews', 2821, '29135', '803', '33.726184', '-80.813264', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44006, 'Singleton', 2821, '29135', '803', '33.726184', '-80.813264', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44007, 'St Matthews', 2821, '29135', '803', '33.726184', '-80.813264', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44008, 'Columbia', 2821, '29218', '803', '34.0009', '-81.0353', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44009, 'Sc Electric And Gas', 2821, '29218', '803', '34.0009', '-81.0353', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44010, 'Blue Cross Blue Shield Od Sc', 2821, '29219', '803', '34.0009', '-81.0353', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44011, 'Columbia', 2821, '29219', '803', '34.0009', '-81.0353', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44012, 'Baptist Medical Center', 2821, '29220', '803', '34.0009', '-81.0353', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44013, 'Columbia', 2821, '29220', '803', '34.0009', '-81.0353', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44014, 'Gable', 2821, '29051', '803', '33.845539', '-80.136792', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44015, 'Cypress Crossroads', 2821, '29069', '843', '34.193058', '-80.075956', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44016, 'Lamar', 2821, '29069', '843', '34.193058', '-80.075956', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44017, 'Oats', 2821, '29069', '843', '34.193058', '-80.075956', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44018, 'Sumter', 2821, '29151', '803', '33.9206', '-80.3418', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44019, 'Shaw AFB', 2821, '29152', '803', '33.976492', '-80.460064', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44020, 'Brandon', 2822, '57005', '605', '43.580054', '-96.581822', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44021, 'Corson', 2822, '57005', '605', '43.580054', '-96.581822', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44022, 'Rowena', 2822, '57005', '605', '43.580054', '-96.581822', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44023, 'Crooks', 2822, '57020', '605', '43.681439', '-96.820958', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44024, 'Renner', 2822, '57020', '605', '43.681439', '-96.820958', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44025, 'Suffolk', 2826, '23437', '757', '36.640325', '-76.801337', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44026, 'Suffolk', 2826, '23438', '757', '36.59305', '-76.724567', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44027, 'Whaleyville', 2826, '23438', '757', '36.59305', '-76.724567', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44028, 'Virginia Bch', 2826, '23453', '757', '36.782218', '-76.077854', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44029, 'Virginia Beach', 2826, '23453', '757', '36.782218', '-76.077854', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44030, 'Virginia Bch', 2826, '23454', '757', '36.826122', '-76.026148', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44031, 'Virginia Beach', 2826, '23454', '757', '36.826122', '-76.026148', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44032, 'Virginia Bch', 2826, '23455', '757', '36.919017', '-76.143352', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44033, 'Virginia Beach', 2826, '23455', '757', '36.919017', '-76.143352', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44034, 'Portsmouth', 2826, '23703', '757', '36.881148', '-76.37447', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44035, 'Portsmouth', 2826, '23704', '757', '36.82201', '-76.317128', '2018-11-29 05:00:05', '2018-11-29 05:00:05'),\n(44036, 'Matoaca', 2826, '23803', '804', '37.205962', '-77.46609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44037, 'North Dinwiddie', 2826, '23803', '804', '37.205962', '-77.46609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44038, 'Petersburg', 2826, '23803', '804', '37.205962', '-77.46609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44039, 'S Chesterfld', 2826, '23803', '804', '37.205962', '-77.46609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44040, 'South Chesterfield', 2826, '23803', '804', '37.205962', '-77.46609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44041, 'Petersburg', 2826, '23806', '804', '37.238228', '-77.419735', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44042, 'Va State Univ', 2826, '23806', '804', '37.238228', '-77.419735', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44043, 'Virginia State Univ', 2826, '23806', '804', '37.238228', '-77.419735', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44044, 'Virginia State University', 2826, '23806', '804', '37.238228', '-77.419735', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44045, 'Alberta', 2826, '23821', '434', '36.883408', '-77.925096', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44046, 'Ammon', 2826, '23822', '804', '37.1609', '-77.5883', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44047, 'Assawoman', 2826, '23302', '757', '37.856054', '-75.528235', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44048, 'Battery Park', 2826, '23304', '757', '36.991803', '-76.569649', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44049, 'Chesapeake', 2826, '23320', '757', '36.764063', '-76.199408', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44050, 'Willis Wharf', 2826, '23486', '757', '37.5178', '-75.8103', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44051, 'Norfolk', 2826, '23505', '757', '36.91072', '-76.29874', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44052, 'N Chesterfld', 2826, '23237', '804', '37.399706', '-77.475197', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44053, 'North Chesterfield', 2826, '23237', '804', '37.399706', '-77.475197', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44054, 'Richmond', 2826, '23237', '804', '37.399706', '-77.475197', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44055, 'Locustville', 2826, '23404', '757', '37.636339', '-75.674492', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44056, 'Oyster', 2826, '23419', '757', '37.2875', '-75.9257', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44057, 'Pungoteague', 2826, '23422', '757', '37.6328', '-75.8161', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44058, 'Sandy Hook', 2826, '23153', '804', '37.783412', '-77.941505', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44059, 'Trevilians', 2826, '23170', '540', '38.0516', '-78.0732', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44060, 'Henrico', 2826, '23255', '804', '37.5483', '-77.3953', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44061, 'Richmond', 2826, '23255', '804', '37.5483', '-77.3953', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44062, 'Rich', 2826, '23286', '804', '37.5537', '-77.4609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44063, 'Richmond', 2826, '23286', '804', '37.5537', '-77.4609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44064, 'Richmond Brm', 2826, '23286', '804', '37.5537', '-77.4609', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44065, 'Henrico', 2826, '23288', '804', '37.5944', '-77.5568', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44066, 'Koger Executive Ctr', 2826, '23288', '804', '37.5944', '-77.5568', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44067, 'Rich', 2826, '23288', '804', '37.5944', '-77.5568', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44068, 'Richmond', 2826, '23288', '804', '37.5944', '-77.5568', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44069, 'Columbia', 2826, '23038', '804', '37.754721', '-78.136475', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44070, 'Hallieford', 2826, '23068', '804', '37.493322', '-76.347474', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44071, 'Hanover', 2826, '23069', '804', '37.7632', '-77.333322', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44072, 'Mangohick', 2826, '23069', '804', '37.7632', '-77.333322', '2018-11-29 05:00:06', '2018-11-29 05:00:06'),\n(44073, 'Hardyville', 2826, '23070', '804', '37.559601', '-76.389499', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44074, 'Hartfield', 2826, '23071', '804', '37.542711', '-76.439698', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44075, 'Capitol', 2826, '23218', '804', '37.5539', '-77.4608', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44076, 'Richmond', 2826, '23218', '804', '37.5539', '-77.4608', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44077, 'Capitol', 2826, '23219', '804', '37.540847', '-77.439298', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44078, 'Richmond', 2826, '23219', '804', '37.540847', '-77.439298', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44079, 'Comers Rock', 2826, '24326', '276', '36.725074', '-81.191316', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44080, 'Elk Creek', 2826, '24326', '276', '36.725074', '-81.191316', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44081, 'Fort Chiswell', 2826, '24360', '276', '36.959965', '-80.903689', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44082, 'Foster Falls', 2826, '24360', '276', '36.959965', '-80.903689', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44083, 'Max Meadows', 2826, '24360', '276', '36.959965', '-80.903689', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44084, 'Staunton', 2826, '24401', '540', '38.1413', '-79.064659', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44085, 'Staunton Park', 2826, '24401', '540', '38.1413', '-79.064659', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44086, 'Western State Hospital', 2826, '24401', '540', '38.1413', '-79.064659', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44087, 'Bacova', 2826, '24412', '540', '38.057965', '-79.849513', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44088, 'Head Waters', 2826, '24442', '540', '38.303832', '-79.431534', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44089, 'Mclean', 2826, '22106', '703', '38.9375', '-77.1787', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44090, 'Firm Zip', 2826, '22156', '703', '38.7893', '-77.1878', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44091, 'Springfield', 2826, '22156', '703', '38.7893', '-77.1878', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44092, 'Little Creek Naval Amphibiou', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44093, 'Nav Amph Base', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44094, 'Naval Amphib Base', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44095, 'Naval Amphibious Base', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44096, 'Virginia Bch', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44097, 'Virginia Beach', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44098, 'Wardtown', 2826, '23482', '757', '37.5375', '-75.8714', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44099, 'Norfolk', 2826, '23509', '757', '36.882082', '-76.263058', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44100, 'Mears', 2826, '23409', '757', '37.876792', '-75.645569', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44101, 'New Point', 2826, '23125', '804', '37.347684', '-76.280613', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44102, 'Quinton', 2826, '23141', '804', '37.528366', '-77.15531', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44103, 'Sandston', 2826, '23150', '804', '37.503766', '-77.263513', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44104, 'Urbanna', 2826, '23175', '804', '37.649384', '-76.607456', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44105, 'Warner', 2826, '23175', '804', '37.649384', '-76.607456', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44106, 'County Of Henrico', 2826, '23273', '804', '37.5537', '-77.4609', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44107, 'Henrico', 2826, '23273', '804', '37.5537', '-77.4609', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44108, 'Richmond', 2826, '23273', '804', '37.5537', '-77.4609', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44109, 'Fork Union', 2826, '23055', '434', '37.781817', '-78.214565', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44110, 'Glen Allen', 2826, '23059', '804', '37.70859', '-77.543686', '2018-11-29 05:00:07', '2018-11-29 05:00:07'),\n(44111, 'Glenallen', 2826, '23059', '804', '37.70859', '-77.543686', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44112, 'Gln Alln', 2826, '23059', '804', '37.70859', '-77.543686', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44113, 'Henrico', 2826, '23075', '804', '37.549682', '-77.316375', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44114, 'Highland Spgs', 2826, '23075', '804', '37.549682', '-77.316375', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44115, 'Highland Springs', 2826, '23075', '804', '37.549682', '-77.316375', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44116, 'Wicomico', 2826, '23184', '804', '37.285183', '-76.529801', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44117, 'Fishersville', 2826, '22939', '540', '38.093826', '-78.985045', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44118, 'Locust Dale', 2826, '22948', '540', '38.359933', '-78.118364', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44119, 'Piney River', 2826, '22964', '434', '37.717042', '-78.985993', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44120, 'Kents Store', 2826, '23084', '434', '37.880251', '-78.106509', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44121, 'Lanexa', 2826, '23089', '804', '37.463767', '-76.89484', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44122, 'Midlothian', 2826, '23114', '804', '37.48645', '-77.659282', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44123, 'Dayton', 2826, '22821', '540', '38.476685', '-79.072383', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44124, 'Montezuma', 2826, '22821', '540', '38.476685', '-79.072383', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44125, 'Fulks Run', 2826, '22830', '540', '38.656596', '-78.997434', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44126, 'Ashaiiu', 2826, '23005', '804', '37.755478', '-77.495898', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44127, 'Ashland', 2826, '23005', '804', '37.755478', '-77.495898', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44128, 'Beaumont', 2826, '23014', '804', '37.6738', '-77.8971', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44129, 'Lebanon Ch', 2826, '22641', '540', '39.073508', '-78.386752', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44130, 'Lebanon Church', 2826, '22641', '540', '39.073508', '-78.386752', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44131, 'Strasburg', 2826, '22641', '540', '39.073508', '-78.386752', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44132, 'Woodstock', 2826, '22664', '540', '38.891647', '-78.53407', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44133, 'Brandy', 2826, '22714', '540', '38.519933', '-77.88393', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44134, 'Brandy Sta', 2826, '22714', '540', '38.519933', '-77.88393', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44135, 'Brandy Station', 2826, '22714', '540', '38.519933', '-77.88393', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44136, 'Radiant', 2826, '22732', '540', '38.314479', '-78.198788', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44137, 'Irvington', 2826, '22480', '804', '37.664679', '-76.415555', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44138, 'Lively', 2826, '22507', '804', '37.757628', '-76.495857', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44139, 'Gether', 2826, '22514', '804', '37.960341', '-77.243082', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44140, 'Milford', 2826, '22514', '804', '37.960341', '-77.243082', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44141, 'Ruther Glen', 2826, '22546', '804', '37.949726', '-77.437624', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44142, 'Rutherglen', 2826, '22546', '804', '37.949726', '-77.437624', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44143, 'Stafford', 2826, '22555', '540', '38.4216', '-77.4089', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44144, 'Wolftown', 2826, '22748', '540', '38.3559', '-78.3478', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44145, 'Alexandria', 2826, '22314', '703', '38.81403', '-77.063962', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44146, 'Falmouth', 2826, '22405', '540', '38.31984', '-77.411584', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44147, 'Fred', 2826, '22405', '540', '38.31984', '-77.411584', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44148, 'Fredericksbg', 2826, '22405', '540', '38.31984', '-77.411584', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44149, 'Fredericksbrg', 2826, '22405', '540', '38.31984', '-77.411584', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44150, 'Fredericksburg', 2826, '22405', '540', '38.31984', '-77.411584', '2018-11-29 05:00:08', '2018-11-29 05:00:08'),\n(44151, 'Falmouth', 2826, '22412', '540', '38.2834', '-77.4984', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44152, 'Montvale', 2826, '24122', '540', '37.408658', '-79.692381', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44153, 'Lake Ridge', 2826, '22192', '703', '38.676479', '-77.31705', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44154, 'Prince William', 2826, '22192', '703', '38.676479', '-77.31705', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44155, 'Prince Wm', 2826, '22192', '703', '38.676479', '-77.31705', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44156, 'Woodbridge', 2826, '22192', '703', '38.676479', '-77.31705', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44157, 'Arlington', 2826, '22207', '703', '38.909812', '-77.12016', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44158, 'Arlington', 2826, '22209', '703', '38.892914', '-77.072571', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44159, 'Rosslyn', 2826, '22209', '703', '38.892914', '-77.072571', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44160, 'Arlington', 2826, '22225', '703', '38.8696', '-77.0576', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44161, 'Dept Of The Navy', 2826, '22225', '703', '38.8696', '-77.0576', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44162, 'Arlington', 2826, '22227', '703', '38.8801', '-77.1118', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44163, 'Us Air', 2826, '22227', '703', '38.8801', '-77.1118', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44164, 'Alexandria', 2826, '22307', '703', '38.772065', '-77.058721', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44165, 'Belleview', 2826, '22307', '703', '38.772065', '-77.058721', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44166, 'Alexandria', 2826, '22308', '703', '38.731352', '-77.061923', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44167, 'Fort Hunt', 2826, '22308', '703', '38.731352', '-77.061923', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44168, 'Colonial Bch', 2826, '22443', '804', '38.177557', '-76.984687', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44169, 'Colonial Beach', 2826, '22443', '804', '38.177557', '-76.984687', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44170, 'Oak Grove', 2826, '22443', '804', '38.177557', '-76.984687', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44171, 'Washgtns Brhp', 2826, '22443', '804', '38.177557', '-76.984687', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44172, 'Washingtons Birthplace', 2826, '22443', '804', '38.177557', '-76.984687', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44173, 'Regina', 2826, '22503', '804', '37.733783', '-76.529851', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44174, 'Port Royal', 2826, '22535', '804', '38.119938', '-77.24986', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44175, 'Snell', 2826, '22553', '540', '38.275272', '-77.62609', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44176, 'Spotsylvania', 2826, '22553', '540', '38.275272', '-77.62609', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44177, 'Lahore', 2826, '22567', '540', '38.238659', '-77.926338', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44178, 'Unionville', 2826, '22567', '540', '38.238659', '-77.926338', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44179, 'Harrisburg', 2826, '22801', '540', '38.41421', '-78.892628', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44180, 'Harrisonburg', 2826, '22801', '540', '38.41421', '-78.892628', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44181, 'Fred', 2826, '22402', '540', '38.3026', '-77.4604', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44182, 'Fredericksbrg', 2826, '22402', '540', '38.3026', '-77.4604', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44183, 'Fredericksburg', 2826, '22402', '540', '38.3026', '-77.4604', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44184, 'Caret', 2826, '22436', '804', '38.103377', '-77.101182', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44185, 'Supply', 2826, '22436', '804', '38.103377', '-77.101182', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44186, 'Tysons', 2826, '22182', '703', '38.936148', '-77.267598', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44187, 'Tysons Corner', 2826, '22182', '703', '38.936148', '-77.267598', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44188, 'Vienna', 2826, '22182', '703', '38.936148', '-77.267598', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44189, 'Arlington', 2826, '22201', '703', '38.886594', '-77.094726', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44190, 'Arlington', 2826, '22202', '703', '38.859829', '-77.053278', '2018-11-29 05:00:09', '2018-11-29 05:00:09'),\n(44191, 'Crystal City', 2826, '22202', '703', '38.859829', '-77.053278', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44192, 'Arlington', 2826, '22219', '703', '38.8753', '-77.1087', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44193, 'Engineering Support Center', 2826, '22082', '703', '38.8745', '-77.2272', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44194, 'Merrifield', 2826, '22082', '703', '38.8745', '-77.2272', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44195, 'Maclean', 2826, '22101', '703', '38.935853', '-77.162141', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44196, 'Mc Lean', 2826, '22101', '703', '38.935853', '-77.162141', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44197, 'Mclean', 2826, '22101', '703', '38.935853', '-77.162141', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44198, 'Mcb Quantico', 2826, '22134', '703', '38.563766', '-77.422682', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44199, 'Quantico', 2826, '22134', '703', '38.563766', '-77.422682', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44200, 'Quantico Naval Hospital', 2826, '22134', '703', '38.563766', '-77.422682', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44201, 'Broadford', 2826, '24316', '276', '36.941637', '-81.651338', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44202, 'Fries', 2826, '24330', '276', '36.717474', '-81.025911', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44203, 'Stevens Creek', 2826, '24330', '276', '36.717474', '-81.025911', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44204, 'Willis', 2826, '24380', '540', '36.880654', '-80.49498', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44205, 'Stones Mill', 2826, '24382', '276', '36.940042', '-81.136538', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44206, 'Wytheville', 2826, '24382', '276', '36.940042', '-81.136538', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44207, 'Deerfield', 2826, '24432', '540', '38.147908', '-79.412595', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44208, 'Doe Hill', 2826, '24433', '540', '38.396002', '-79.486182', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44209, 'Evington', 2826, '24550', '434', '37.235788', '-79.262796', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44210, 'Vinton', 2826, '24179', '540', '37.278286', '-79.786756', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44211, 'Andover', 2826, '24215', '276', '36.922406', '-82.795279', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44212, 'Jonesville', 2826, '24263', '276', '36.676582', '-83.178204', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44213, 'Keokee', 2826, '24265', '276', '36.832552', '-82.956', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44214, 'Randolph', 2826, '23962', '434', '36.95244', '-78.713234', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44215, 'Red House', 2826, '23963', '434', '37.189888', '-78.821416', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44216, 'Copper Hill', 2826, '24079', '540', '37.049531', '-80.160136', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44217, 'Kings Store', 2826, '24079', '540', '37.049531', '-80.160136', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44218, 'Critz', 2826, '24082', '276', '36.621047', '-80.131908', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44219, 'Martinsville', 2826, '24114', '276', '36.6915', '-79.8728', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44220, 'Martinsville', 2826, '24115', '276', '36.6915', '-79.8728', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44221, 'Baileys Crossroads', 2826, '22041', '703', '38.851211', '-77.14477', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44222, 'Baileys Xrds', 2826, '22041', '703', '38.851211', '-77.14477', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44223, 'Falls Church', 2826, '22041', '703', '38.851211', '-77.14477', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44224, 'Falls Church', 2826, '22042', '703', '38.862956', '-77.193872', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44225, 'Mosby', 2826, '22042', '703', '38.862956', '-77.193872', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44226, 'Fort Belvoir', 2826, '22060', '703', '38.710648', '-77.158488', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44227, 'Ft Belvoir', 2826, '22060', '703', '38.710648', '-77.158488', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44228, 'Mc Lean', 2826, '22108', '703', '38.9327', '-77.1828', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44229, 'Usa Today', 2826, '22108', '703', '38.9327', '-77.1828', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44230, 'Mc Lean', 2826, '22109', '703', '38.9327', '-77.1828', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44231, 'Wachovia Bank', 2826, '22109', '703', '38.9327', '-77.1828', '2018-11-29 05:00:10', '2018-11-29 05:00:10'),\n(44232, 'Oakton', 2826, '22124', '703', '38.893116', '-77.328886', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44233, 'Vienna', 2826, '22124', '703', '38.893116', '-77.328886', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44234, 'Army Times', 2826, '22159', '703', '38.7893', '-77.1878', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44235, 'Firm Zip', 2826, '22159', '703', '38.7893', '-77.1878', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44236, 'Springfield', 2826, '22159', '703', '38.7893', '-77.1878', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44237, 'Keen Mountain', 2826, '24624', '276', '37.200965', '-81.976353', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44238, 'Sugar Grove', 2826, '24375', '276', '36.776065', '-81.400272', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44239, 'Glen Wilton', 2826, '24438', '540', '37.7528', '-79.8195', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44240, 'Goode', 2826, '24556', '540', '37.370879', '-79.399738', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44241, 'Gretna', 2826, '24557', '434', '36.974728', '-79.289774', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44242, 'Thaxton', 2826, '24174', '540', '37.361096', '-79.663661', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44243, 'Check', 2826, '24072', '540', '37.029557', '-80.234958', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44244, 'Simpsons', 2826, '24072', '540', '37.029557', '-80.234958', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44245, 'Huddleston', 2826, '24104', '540', '37.139844', '-79.478326', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44246, 'Pilot', 2826, '24138', '540', '37.058536', '-80.323636', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44247, 'Pittsville', 2826, '24139', '434', '37.007766', '-79.479456', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44248, 'Fairlawn', 2826, '24141', '540', '37.114775', '-80.593744', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44249, 'Radford', 2826, '24141', '540', '37.114775', '-80.593744', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44250, 'Courtland', 2826, '23837', '757', '36.759084', '-77.091162', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44251, 'South Hill', 2826, '23970', '434', '36.744534', '-78.186564', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44252, 'Southill', 2826, '23970', '434', '36.744534', '-78.186564', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44253, 'Union Level', 2826, '23970', '434', '36.744534', '-78.186564', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44254, 'Roanoke', 2826, '24006', '540', '37.2709', '-79.9418', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44255, 'Roanoke', 2826, '24024', '540', '37.2709', '-79.9418', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44256, 'Roanoke', 2826, '24037', '540', '37.2709', '-79.9418', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44257, 'Bassett', 2826, '24055', '276', '36.750567', '-79.981754', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44258, 'Bassett Forks', 2826, '24055', '276', '36.750567', '-79.981754', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44259, 'Oaklevel', 2826, '24055', '276', '36.750567', '-79.981754', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44260, 'Philpott', 2826, '24055', '276', '36.750567', '-79.981754', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44261, 'Sanville', 2826, '24055', '276', '36.750567', '-79.981754', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44262, 'Meredithville', 2826, '23873', '434', '36.8068', '-77.9567', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44263, 'Valentines', 2826, '23887', '434', '36.572202', '-77.814526', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44264, 'Brodnax', 2826, '23920', '434', '36.724117', '-77.980542', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44265, 'Drakes Branch', 2826, '23937', '434', '36.934018', '-78.527294', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44266, 'Portsmouth', 2826, '23705', '757', '36.8361', '-76.2987', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44267, 'Chesapeake', 2826, '23321', '757', '36.806946', '-76.414346', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44268, 'Windsor', 2826, '23487', '757', '36.862753', '-76.714326', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44269, 'Withams', 2826, '23488', '757', '37.950177', '-75.606014', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44270, 'Norfolk', 2826, '23502', '757', '36.856749', '-76.212514', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44271, 'Norfolk', 2826, '23504', '757', '36.862764', '-76.261355', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44272, 'Norfolk', 2826, '23506', '757', '36.8468', '-76.2859', '2018-11-29 05:00:11', '2018-11-29 05:00:11'),\n(44273, 'N Chesterfld', 2826, '23236', '804', '37.467781', '-77.58848', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44274, 'North Chesterfield', 2826, '23236', '804', '37.467781', '-77.58848', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44275, 'Richmond', 2826, '23236', '804', '37.467781', '-77.58848', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44276, 'Henrico', 2826, '23238', '804', '37.607168', '-77.636598', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44277, 'Richmond', 2826, '23238', '804', '37.607168', '-77.636598', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44278, 'Chincoteague', 2826, '23336', '757', '37.942039', '-75.326264', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44279, 'Chincoteague Island', 2826, '23336', '757', '37.942039', '-75.326264', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44280, 'Toano', 2826, '23168', '757', '37.39155', '-76.830929', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44281, 'Syringa', 2826, '23169', '804', '37.592954', '-76.453954', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44282, 'Topping', 2826, '23169', '804', '37.592954', '-76.453954', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44283, 'College Of William & Mary', 2826, '23186', '757', '37.269465', '-76.725121', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44284, 'Williamsburg', 2826, '23186', '757', '37.269465', '-76.725121', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44285, 'Wlmg', 2826, '23186', '757', '37.269465', '-76.725121', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44286, 'Williamsburg', 2826, '23188', '757', '37.358168', '-76.741868', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44287, 'Wlmg', 2826, '23188', '757', '37.358168', '-76.741868', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44288, 'Richmond', 2826, '23221', '804', '37.552095', '-77.500073', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44289, 'Stewart', 2826, '23221', '804', '37.552095', '-77.500073', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44290, 'Earlysville', 2826, '22936', '434', '38.156572', '-78.5093', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44291, 'Lyndhurst', 2826, '22952', '540', '37.962248', '-78.959991', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44292, 'Sherando', 2826, '22952', '540', '37.962248', '-78.959991', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44293, 'Rockfish', 2826, '22971', '434', '37.751712', '-78.803236', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44294, 'Shipman', 2826, '22971', '434', '37.751712', '-78.803236', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44295, 'King William', 2826, '23086', '804', '37.663268', '-77.045424', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44296, 'Manakin', 2826, '23103', '804', '37.646326', '-77.727202', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44297, 'Manakin Sabot', 2826, '23103', '804', '37.646326', '-77.727202', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44298, 'Sabot', 2826, '23103', '804', '37.646326', '-77.727202', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44299, 'Moon', 2826, '23119', '804', '37.445036', '-76.272334', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44300, 'Criders', 2826, '22820', '540', '38.720286', '-79.017037', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44301, 'Linville', 2826, '22834', '540', '38.562187', '-78.885091', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44302, 'Luray', 2826, '22835', '540', '38.693469', '-78.480224', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44303, 'Shenandoah National Park', 2826, '22835', '540', '38.693469', '-78.480224', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44304, 'Shndoh Nat Pk', 2826, '22835', '540', '38.693469', '-78.480224', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44305, 'Bohannon', 2826, '23021', '804', '37.388486', '-76.369327', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44306, 'Gore', 2826, '22637', '540', '39.253719', '-78.348104', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44307, 'Catalpa', 2826, '22701', '540', '38.43995', '-78.010048', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44308, 'Culpeper', 2826, '22701', '540', '38.43995', '-78.010048', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44309, 'Raccoon Ford', 2826, '22701', '540', '38.43995', '-78.010048', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44310, 'Winston', 2826, '22701', '540', '38.43995', '-78.010048', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44311, 'Elkwood', 2826, '22718', '540', '38.469332', '-77.814684', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44312, 'Etlan', 2826, '22719', '540', '38.509532', '-78.26432', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44313, 'Madison', 2826, '22719', '540', '38.509532', '-78.26432', '2018-11-29 05:00:12', '2018-11-29 05:00:12'),\n(44314, 'Boonesville', 2826, '22935', '434', '38.255105', '-78.568058', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44315, 'Dyke', 2826, '22935', '434', '38.255105', '-78.568058', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44316, 'Nortonsville', 2826, '22935', '434', '38.255105', '-78.568058', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44317, 'St George', 2826, '22935', '434', '38.255105', '-78.568058', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44318, 'Dogue', 2826, '22451', '540', '38.2316', '-77.2164', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44319, 'Hague', 2826, '22469', '804', '38.062622', '-76.659761', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44320, 'King George', 2826, '22485', '540', '38.271078', '-77.172762', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44321, 'Owens', 2826, '22485', '540', '38.271078', '-77.172762', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44322, 'Shiloh', 2826, '22485', '540', '38.271078', '-77.172762', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44323, 'Alfonso', 2826, '22503', '804', '37.733783', '-76.529851', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44324, 'Lancaster', 2826, '22503', '804', '37.733783', '-76.529851', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44325, 'Millenbeck', 2826, '22503', '804', '37.733783', '-76.529851', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44326, 'Arlington', 2826, '22215', '703', '38.8795', '-77.1134', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44327, 'Journal Newspaper', 2826, '22036', '703', '38.8021', '-77.4302', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44328, 'Merrifield', 2826, '22081', '703', '38.8742', '-77.2303', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44329, 'Northern Virginia', 2826, '22081', '703', '38.8742', '-77.2303', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44330, 'Northern Virginia Facility', 2826, '22081', '703', '38.8742', '-77.2303', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44331, 'Mc Lean', 2826, '22106', '703', '38.9375', '-77.1787', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44332, 'Alpine', 2826, '22844', '540', '38.632357', '-78.663675', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44333, 'New Market', 2826, '22844', '540', '38.632357', '-78.663675', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44334, 'Flint Hill', 2826, '22627', '540', '38.765121', '-78.083626', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44335, 'Huntly', 2826, '22627', '540', '38.765121', '-78.083626', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44336, 'Markham', 2826, '22643', '540', '38.896094', '-78.004455', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44337, 'Middletown', 2826, '22645', '540', '39.023552', '-78.269751', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44338, 'Lignum', 2826, '22726', '540', '38.399344', '-77.8145', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44339, 'Midland', 2826, '22728', '540', '38.576878', '-77.679954', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44340, 'Hustle', 2826, '22476', '804', '38.038781', '-77.068756', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44341, 'Lake Of The Woods', 2826, '22508', '540', '38.311255', '-77.783957', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44342, 'Lake Of Woods', 2826, '22508', '540', '38.311255', '-77.783957', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44343, 'Locust Grove', 2826, '22508', '540', '38.311255', '-77.783957', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44344, 'Mine Run', 2826, '22508', '540', '38.311255', '-77.783957', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44345, 'Loretto', 2826, '22509', '804', '38.081703', '-77.039341', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44346, 'Sandy Point', 2826, '22577', '804', '38.0642', '-76.5592', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44347, 'Sumerduck', 2826, '22742', '540', '38.460762', '-77.71565', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44348, 'Fred', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44349, 'Fredbg', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44350, 'Frederickbg', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44351, 'Frederickbur', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44352, 'Fredericksbg', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44353, 'Fredericksbrg', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44354, 'Fredericksbur', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:13', '2018-11-29 05:00:13'),\n(44355, 'Fredericksburg', 2826, '22408', '540', '38.208853', '-77.402934', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44356, 'Bentonville', 2826, '22610', '540', '38.818464', '-78.27854', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44357, 'Browntown', 2826, '22610', '540', '38.818464', '-78.27854', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44358, 'Overall', 2826, '22610', '540', '38.818464', '-78.27854', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44359, 'Dale City', 2826, '22193', '703', '38.642531', '-77.348454', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44360, 'Dalecity', 2826, '22193', '703', '38.642531', '-77.348454', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44361, 'Woodbridge', 2826, '22193', '703', '38.642531', '-77.348454', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44362, 'Arlington', 2826, '22210', '703', '38.8804', '-77.1119', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44363, 'Arlington', 2826, '22226', '703', '38.8797', '-77.1117', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44364, 'Fdic', 2826, '22226', '703', '38.8797', '-77.1117', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44365, 'Arlington', 2826, '22244', '703', '38.8803', '-77.1154', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44366, 'Assistant Secretary Of Navy', 2826, '22244', '703', '38.8803', '-77.1154', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44367, 'Alexandria', 2826, '22311', '703', '38.833893', '-77.122082', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44368, 'Richmond', 2826, '23295', '804', '37.5537', '-77.4609', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44369, 'Cape Charles', 2826, '23310', '757', '37.215856', '-75.902652', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44370, 'Chrstn Brdcst Network', 2826, '23463', '757', '36.798551', '-76.192694', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44371, 'Virginia Bch', 2826, '23463', '757', '36.798551', '-76.192694', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44372, 'Virginia Beach', 2826, '23463', '757', '36.798551', '-76.192694', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44373, 'Wachapreague', 2826, '23480', '757', '37.604325', '-75.673878', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44374, 'Fleet', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44375, 'Joint Forces Staff College', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44376, 'Naval Base', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44377, 'Naval Communications Area Ma', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44378, 'Norfolk', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44379, 'Norfolk Naval Air Station', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44380, 'Norfolk Naval Public Works C', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44381, 'Norfolk Naval Station', 2826, '23511', '757', '36.940419', '-76.30013', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44382, 'Norfolk', 2826, '23513', '757', '36.889734', '-76.235176', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44383, 'Staples Mill', 2826, '23228', '804', '37.624342', '-77.496277', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44384, 'Henrico', 2826, '23229', '804', '37.593879', '-77.5748', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44385, 'Regency', 2826, '23229', '804', '37.593879', '-77.5748', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44386, 'Richmond', 2826, '23229', '804', '37.593879', '-77.5748', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44387, 'Tuckahoe', 2826, '23229', '804', '37.593879', '-77.5748', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44388, 'Westbury', 2826, '23229', '804', '37.593879', '-77.5748', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44389, 'Melfa', 2826, '23410', '757', '37.621788', '-75.758337', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44390, 'Seaview', 2826, '23429', '757', '37.2628', '-75.9483', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44391, 'James Store', 2826, '23128', '804', '37.462541', '-76.376528', '2018-11-29 05:00:14', '2018-11-29 05:00:14');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(44392, 'North', 2826, '23128', '804', '37.462541', '-76.376528', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44393, 'Rockville', 2826, '23146', '804', '37.723864', '-77.712476', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44394, 'Main Office', 2826, '23260', '804', '37.5537', '-77.4609', '2018-11-29 05:00:14', '2018-11-29 05:00:14'),\n(44395, 'Richmond', 2826, '23260', '804', '37.5537', '-77.4609', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44396, 'Richmond', 2826, '23278', '804', '37.5537', '-77.4609', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44397, 'Wachovia Bank', 2826, '23278', '804', '37.5537', '-77.4609', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44398, 'Glen Allen', 2826, '23060', '804', '37.661738', '-77.531268', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44399, 'Glen Allenw', 2826, '23060', '804', '37.661738', '-77.531268', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44400, 'Glenallen', 2826, '23060', '804', '37.661738', '-77.531268', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44401, 'Gln Alln', 2826, '23060', '804', '37.661738', '-77.531268', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44402, 'Bellamy', 2826, '23061', '804', '37.44086', '-76.557096', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44403, 'Gloucester', 2826, '23061', '804', '37.44086', '-76.557096', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44404, 'Naxera', 2826, '23061', '804', '37.44086', '-76.557096', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44405, 'Pinero', 2826, '23061', '804', '37.44086', '-76.557096', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44406, 'Zanoni', 2826, '23061', '804', '37.44086', '-76.557096', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44407, 'Jamaica', 2826, '23079', '804', '37.730806', '-76.672338', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44408, 'Henrico', 2826, '23228', '804', '37.624342', '-77.496277', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44409, 'Richmond', 2826, '23228', '804', '37.624342', '-77.496277', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44410, 'Louisa', 2826, '23093', '540', '37.987107', '-78.057094', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44411, 'Mechanicsville', 2826, '23111', '804', '37.613414', '-77.257154', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44412, 'Mechanicsvlle', 2826, '23111', '804', '37.613414', '-77.257154', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44413, 'Midlothian', 2826, '23112', '804', '37.438113', '-77.67246', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44414, 'Bridgewater', 2826, '22812', '540', '38.371346', '-79.038014', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44415, 'Mount Jackson', 2826, '22842', '540', '38.789202', '-78.698054', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44416, 'South Jackson', 2826, '22842', '540', '38.789202', '-78.698054', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44417, 'Mount Solon', 2826, '22843', '540', '38.370049', '-79.173194', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44418, 'Orkney Spgs', 2826, '22845', '540', '38.782664', '-78.816188', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44419, 'Orkney Springs', 2826, '22845', '540', '38.782664', '-78.816188', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44420, 'Orkney Sprngs', 2826, '22845', '540', '38.782664', '-78.816188', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44421, 'Aylett', 2826, '23009', '804', '37.809509', '-77.186544', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44422, 'Barhamsville', 2826, '23011', '757', '37.47822', '-76.806394', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44423, 'Fishers Hill', 2826, '22626', '540', '38.9788', '-78.402206', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44424, 'Toms Brook', 2826, '22660', '540', '38.954501', '-78.431139', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44425, 'Aroda', 2826, '22709', '540', '38.306596', '-78.252223', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44426, 'Banco', 2826, '22711', '540', '38.470124', '-78.283448', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44427, 'Bealeton', 2826, '22712', '540', '38.549229', '-77.75582', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44428, 'Morrisville', 2826, '22712', '540', '38.549229', '-77.75582', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44429, 'Leon', 2826, '22725', '540', '38.442694', '-78.138404', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44430, 'Aroda', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44431, 'Aylor', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44432, 'Banco', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44433, 'Criglersville', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:15', '2018-11-29 05:00:15'),\n(44434, 'Etlan', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44435, 'Graves Mill', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44436, 'Madison', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44437, 'Shelby', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44438, 'Twymans Mill', 2826, '22727', '540', '38.394258', '-78.323079', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44439, 'Ninde', 2826, '22526', '540', '38.2712', '-77.0564', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44440, 'Rollins Fork', 2826, '22544', '540', '38.1844', '-77.0627', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44441, 'Ruby', 2826, '22545', '540', '38.5044', '-77.5158', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44442, 'Weems', 2826, '22576', '804', '37.690607', '-76.42689', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44443, 'Bowling Green', 2826, '22428', '804', '38.0496', '-77.3467', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44444, 'Boy Scouts Of America', 2826, '22428', '804', '38.0496', '-77.3467', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44445, 'Berryville', 2826, '22611', '540', '39.175319', '-77.97529', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44446, 'Mount Weather', 2826, '22611', '540', '39.175319', '-77.97529', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44447, 'Grapefield', 2826, '24314', '276', '37.155171', '-81.215583', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44448, 'Hicksville', 2826, '24314', '276', '37.155171', '-81.215583', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44449, 'Bland', 2826, '24315', '276', '37.149072', '-81.052019', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44450, 'Bland Correct', 2826, '24315', '276', '37.149072', '-81.052019', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44451, 'Bland Correctional Farm', 2826, '24315', '276', '37.149072', '-81.052019', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44452, 'Ivanhoe', 2826, '24350', '276', '36.821454', '-81.008728', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44453, 'Rocky Gap', 2826, '24366', '276', '37.230582', '-81.193847', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44454, 'Woodlawn', 2826, '24381', '276', '36.731392', '-80.85636', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44455, 'Blue Grass', 2826, '24413', '540', '38.529268', '-79.594728', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44456, 'Craigsville', 2826, '24430', '540', '38.11003', '-79.340415', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44457, 'Crimora', 2826, '24431', '540', '38.169561', '-78.82911', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44458, 'Appalachia', 2826, '24216', '276', '36.945726', '-82.765757', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44459, 'Exeter', 2826, '24216', '276', '36.945726', '-82.765757', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44460, 'Stonega', 2826, '24216', '276', '36.945726', '-82.765757', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44461, 'Coeburn', 2826, '24230', '276', '36.972358', '-82.490804', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44462, 'Barnett', 2826, '24266', '276', '36.89605', '-82.025442', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44463, 'Bolton', 2826, '24266', '276', '36.89605', '-82.025442', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44464, 'Carterton', 2826, '24266', '276', '36.89605', '-82.025442', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44465, 'Hansonville', 2826, '24266', '276', '36.89605', '-82.025442', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44466, 'Lebanon', 2826, '24266', '276', '36.89605', '-82.025442', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44467, 'Rose Hill', 2826, '24281', '276', '36.646142', '-83.336217', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44468, 'Bastian', 2826, '24314', '276', '37.155171', '-81.215583', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44469, 'Clearfork', 2826, '24314', '276', '37.155171', '-81.215583', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44470, 'Cove Creek', 2826, '24314', '276', '37.155171', '-81.215583', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44471, 'Martinsville', 2826, '24112', '276', '36.739734', '-79.888412', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44472, 'Oriskany', 2826, '24130', '540', '37.6177', '-79.9846', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44473, 'Rich Creek', 2826, '24147', '540', '37.400989', '-80.840154', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44474, 'Ridgeway', 2826, '24148', '276', '36.597444', '-79.858436', '2018-11-29 05:00:16', '2018-11-29 05:00:16'),\n(44475, 'Roanoke', 2826, '24013', '540', '37.26514', '-79.92294', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44476, 'Garden City', 2826, '24014', '540', '37.218198', '-79.910444', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44477, 'Roanoke', 2826, '24014', '540', '37.218198', '-79.910444', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44478, 'South Roanoke', 2826, '24014', '540', '37.218198', '-79.910444', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44479, 'Grandin Road', 2826, '24015', '540', '37.254203', '-79.976483', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44480, 'Roanoke', 2826, '24015', '540', '37.254203', '-79.976483', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44481, 'Roanoke', 2826, '24029', '540', '37.2709', '-79.9418', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44482, 'Roanoke', 2826, '24031', '540', '37.2709', '-79.9418', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44483, 'Roanoke', 2826, '24032', '540', '37.2709', '-79.9418', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44484, 'Yale', 2826, '23897', '434', '36.823898', '-77.296084', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44485, 'Zuni', 2826, '23898', '757', '36.8323', '-76.858437', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44486, 'Hampton', 2826, '23662', '757', '37.135436', '-76.353588', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44487, 'Poquoson', 2826, '23662', '757', '37.135436', '-76.353588', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44488, 'Hampton', 2826, '23681', '757', '37.0301', '-76.3403', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44489, 'Nasa', 2826, '23681', '757', '37.0301', '-76.3403', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44490, 'Seaford', 2826, '23696', '757', '37.191757', '-76.426592', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44491, 'Branchville', 2826, '23828', '757', '36.594426', '-77.287184', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44492, 'Capron', 2826, '23829', '434', '36.733166', '-77.231672', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44493, 'Capital One', 2826, '23295', '804', '37.5537', '-77.4609', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44494, 'Dalhart', 2826, '24333', '276', '36.669428', '-80.940081', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44495, 'Galax', 2826, '24333', '276', '36.669428', '-80.940081', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44496, 'Meadowcreek', 2826, '24333', '276', '36.669428', '-80.940081', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44497, 'Allisonia', 2826, '24347', '540', '36.958522', '-80.666929', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44498, 'Hiwassee', 2826, '24347', '540', '36.958522', '-80.666929', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44499, 'Independence', 2826, '24348', '276', '36.641299', '-81.181812', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44500, 'Mouth Of Wilson', 2826, '24363', '276', '36.624136', '-81.366198', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44501, 'Mouth Wilson', 2826, '24363', '276', '36.624136', '-81.366198', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44502, 'Volney', 2826, '24363', '276', '36.624136', '-81.366198', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44503, 'Brownsburg', 2826, '24415', '540', '37.936629', '-79.322048', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44504, 'Buena Vista', 2826, '24416', '540', '37.729954', '-79.348546', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44505, 'E Stone Gap', 2826, '24246', '276', '36.8702', '-82.7398', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44506, 'East Stone Gap', 2826, '24246', '276', '36.8702', '-82.7398', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44507, 'Ewing', 2826, '24248', '276', '36.63386', '-83.539492', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44508, 'Willow Tree', 2826, '24248', '276', '36.63386', '-83.539492', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44509, 'Rosedale', 2826, '24280', '276', '36.971132', '-81.893353', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44510, 'Saint Charles', 2826, '24282', '276', '36.828483', '-83.05009', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44511, 'Saint Paul', 2826, '24283', '276', '36.942463', '-82.363777', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44512, 'Barren Spgs', 2826, '24313', '276', '36.90675', '-80.811574', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44513, 'Barren Springs', 2826, '24313', '276', '36.90675', '-80.811574', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44514, 'Martinsville', 2826, '24113', '276', '36.6915', '-79.8728', '2018-11-29 05:00:17', '2018-11-29 05:00:17'),\n(44515, 'Paint Bank', 2826, '24131', '540', '37.577574', '-80.239805', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44516, 'Parrott', 2826, '24132', '540', '37.210649', '-80.65126', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44517, 'Fairview', 2826, '24149', '540', '37.027288', '-80.43428', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44518, 'Riner', 2826, '24149', '540', '37.027288', '-80.43428', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44519, 'Red Oak', 2826, '23964', '434', '36.774012', '-78.623653', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44520, 'Blacksburg', 2826, '24062', '540', '37.2294', '-80.4144', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44521, 'Boones Mill', 2826, '24065', '540', '37.109738', '-79.944968', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44522, 'Norfolk', 2826, '23529', '757', '36.888004', '-76.305408', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44523, 'Old Dominion University', 2826, '23529', '757', '36.888004', '-76.305408', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44524, 'Elberon', 2826, '23846', '757', '37.065156', '-76.821356', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44525, 'Skippers', 2826, '23879', '434', '36.594442', '-77.591891', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44526, 'Stony Creek', 2826, '23882', '434', '36.913408', '-77.395506', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44527, 'Newport News', 2826, '23628', '757', '36.9786', '-76.4284', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44528, 'Us Army Trng Support Ctr', 2826, '23628', '757', '36.9786', '-76.4284', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44529, 'Family Fashions By Avon', 2826, '23630', '757', '36.9786', '-76.4284', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44530, 'Hampton', 2826, '23630', '757', '36.9786', '-76.4284', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44531, 'Hampton', 2826, '23663', '757', '37.033959', '-76.3196', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44532, 'Chester', 2826, '23831', '804', '37.335931', '-77.457246', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44533, 'Henrico', 2826, '23294', '804', '37.628006', '-77.543697', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44534, 'Richmond', 2826, '23294', '804', '37.628006', '-77.543697', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44535, 'Capeville', 2826, '23313', '757', '37.2047', '-75.9584', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44536, 'Chesapeake', 2826, '23328', '757', '36.8187', '-76.2753', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44537, 'Virginia Bch', 2826, '23461', '757', '36.785631', '-75.960723', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44538, 'Virginia Beach', 2826, '23461', '757', '36.785631', '-75.960723', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44539, 'Virginia Bch', 2826, '23462', '757', '36.835688', '-76.14661', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44540, 'Virginia Beach', 2826, '23462', '757', '36.835688', '-76.14661', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44541, 'Norfolk', 2826, '23514', '757', '36.8409', '-76.2848', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44542, 'Oak Hall', 2826, '23396', '757', '37.934', '-75.5755', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44543, 'Modest Town', 2826, '23412', '757', '37.8159', '-75.5687', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44544, 'Nelsonia', 2826, '23414', '757', '37.8258', '-75.5885', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44545, 'Saxis', 2826, '23427', '757', '37.915792', '-75.71741', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44546, 'Smithfield', 2826, '23430', '757', '37.01214', '-76.664417', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44547, 'Newtown', 2826, '23126', '804', '37.918346', '-77.143893', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44548, 'Shadow', 2826, '23163', '804', '37.341074', '-76.305051', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44549, 'Susan', 2826, '23163', '804', '37.341074', '-76.305051', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44550, 'Main Office', 2826, '23261', '804', '37.5537', '-77.4609', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44551, 'Richmond', 2826, '23261', '804', '37.5537', '-77.4609', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44552, 'Anthem/blue Cross Blue Shiel', 2826, '23279', '804', '37.5537', '-77.4609', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44553, 'Rich', 2826, '23279', '804', '37.5537', '-77.4609', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44554, 'Richmond', 2826, '23279', '804', '37.5537', '-77.4609', '2018-11-29 05:00:18', '2018-11-29 05:00:18'),\n(44555, 'Deltaville', 2826, '23043', '804', '37.567441', '-76.349367', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44556, 'Fife', 2826, '23063', '804', '37.7264', '-77.985335', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44557, 'Goochland', 2826, '23063', '804', '37.7264', '-77.985335', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44558, 'Richmond', 2826, '23227', '804', '37.614952', '-77.442099', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44559, 'Greenwood', 2826, '22943', '540', '38.042969', '-78.781769', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44560, 'Keene', 2826, '22946', '434', '37.846179', '-78.57107', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44561, 'North Garden', 2826, '22959', '434', '37.935536', '-78.637951', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44562, 'South Garden', 2826, '22959', '434', '37.935536', '-78.637951', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44563, 'Mattaponi', 2826, '23110', '804', '37.562425', '-76.778758', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44564, 'Midlothian', 2826, '23113', '804', '37.545826', '-77.670741', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44565, 'Sycamore Square', 2826, '23113', '804', '37.545826', '-77.670741', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44566, 'Bergton', 2826, '22811', '540', '38.80098', '-78.981802', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44567, 'Greenbay', 2826, '23942', '434', '37.137108', '-78.301746', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44568, 'Tangier', 2826, '23440', '757', '37.878206', '-76.009142', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44569, 'Newport News', 2826, '23608', '757', '37.154698', '-76.545796', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44570, 'Fort Monroe', 2826, '23651', '757', '37.008378', '-76.304759', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44571, 'Hampton', 2826, '23651', '757', '37.008378', '-76.304759', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44572, 'Hampton', 2826, '23665', '757', '37.088047', '-76.386472', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44573, 'Langley', 2826, '23665', '757', '37.088047', '-76.386472', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44574, 'Langley AFB', 2826, '23665', '757', '37.088047', '-76.386472', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44575, 'Langley Air Force Base', 2826, '23665', '757', '37.088047', '-76.386472', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44576, 'Hampton', 2826, '23669', '757', '37.050603', '-76.349191', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44577, 'Yorktown', 2826, '23690', '757', '37.237163', '-76.55165', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44578, 'Fort Lee', 2826, '23801', '804', '37.235265', '-77.337332', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44579, 'Petersburg', 2826, '23801', '804', '37.235265', '-77.337332', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44580, 'Accomac', 2826, '23301', '757', '37.67035', '-75.657008', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44581, 'Virginia Bch', 2826, '23467', '757', '36.8526', '-75.9783', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44582, 'Virginia Beach', 2826, '23467', '757', '36.8526', '-75.9783', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44583, 'Norfolk', 2826, '23508', '757', '36.882451', '-76.308338', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44584, 'Greenbackvile', 2826, '23356', '757', '38.00016', '-75.410018', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44585, 'Greenbackville', 2826, '23356', '757', '38.00016', '-75.410018', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44586, 'Onancock', 2826, '23417', '757', '37.734116', '-75.777336', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44587, 'Ordinary', 2826, '23131', '804', '37.3155', '-76.5139', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44588, 'Ruthville', 2826, '23147', '804', '37.3672', '-77.0414', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44589, 'Capital One', 2826, '23276', '804', '37.5537', '-77.4609', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44590, 'Richmond', 2826, '23276', '804', '37.5537', '-77.4609', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44591, 'Dominion Virginia Power', 2826, '23290', '804', '37.5537', '-77.4609', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44592, 'Richmond', 2826, '23290', '804', '37.5537', '-77.4609', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44593, 'Doswell', 2826, '23047', '804', '37.859086', '-77.482716', '2018-11-29 05:00:19', '2018-11-29 05:00:19'),\n(44594, 'Glen Allen', 2826, '23058', '804', '37.6656', '-77.5069', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44595, 'Glenallen', 2826, '23058', '804', '37.6656', '-77.5069', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44596, 'Gln Alln', 2826, '23058', '804', '37.6656', '-77.5069', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44597, 'Wake', 2826, '23176', '804', '37.56631', '-76.429644', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44598, 'Woods Cr Rds', 2826, '23190', '804', '37.4817', '-76.6191', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44599, 'Woods Cross Rds', 2826, '23190', '804', '37.4817', '-76.6191', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44600, 'Woods Cross Roads', 2826, '23190', '804', '37.4817', '-76.6191', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44601, 'Woods Crs Rds', 2826, '23190', '804', '37.4817', '-76.6191', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44602, 'Richmond', 2826, '23222', '804', '37.581314', '-77.41543', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44603, 'N Chesterfld', 2826, '23224', '804', '37.496402', '-77.470836', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44604, 'North Chesterfield', 2826, '23224', '804', '37.496402', '-77.470836', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44605, 'Richmond', 2826, '23224', '804', '37.496402', '-77.470836', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44606, 'Boswells Tavern', 2826, '22942', '540', '38.092188', '-78.147576', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44607, 'Gordonsville', 2826, '22942', '540', '38.092188', '-78.147576', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44608, 'Zion', 2826, '22942', '540', '38.092188', '-78.147576', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44609, 'Zion Crossrds', 2826, '22942', '540', '38.092188', '-78.147576', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44610, 'Zion Crossroads', 2826, '22942', '540', '38.092188', '-78.147576', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44611, 'Boyd Tavern', 2826, '22947', '434', '38.053411', '-78.318596', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44612, 'Campbell', 2826, '22947', '434', '38.053411', '-78.318596', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44613, 'Cismont', 2826, '22947', '434', '38.053411', '-78.318596', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44614, 'Cobham', 2826, '22947', '434', '38.053411', '-78.318596', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44615, 'Keswick', 2826, '22947', '434', '38.053411', '-78.318596', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44616, 'Shadwell', 2826, '22947', '434', '38.053411', '-78.318596', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44617, 'Nellysford', 2826, '22958', '434', '37.8963', '-78.891608', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44618, 'Wintergreen', 2826, '22958', '434', '37.8963', '-78.891608', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44619, 'Quinque', 2826, '22965', '434', '38.25', '-78.3982', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44620, 'Old Somerset', 2826, '22972', '540', '38.217776', '-78.225162', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44621, 'Somerset', 2826, '22972', '540', '38.217776', '-78.225162', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44622, 'Locust Hill', 2826, '23092', '804', '37.588712', '-76.510468', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44623, 'Manquin', 2826, '23106', '804', '37.725854', '-77.208391', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44624, 'Mascot', 2826, '23108', '804', '37.618838', '-76.730162', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44625, 'Charlottesville', 2826, '22906', '434', '38.0295', '-78.4769', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44626, 'Charlottesvle', 2826, '22906', '434', '38.0295', '-78.4769', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44627, 'Charlottesville', 2826, '22908', '434', '38.0295', '-78.4769', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44628, 'Bremo Bluff', 2826, '23022', '434', '37.741121', '-78.262648', '2018-11-29 05:00:20', '2018-11-29 05:00:20'),\n(44629, 'Christchurch', 2826, '23031', '804', '37.6044', '-76.5349', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44630, 'Huntly', 2826, '22640', '540', '38.81168', '-78.125185', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44631, 'Brightwood', 2826, '22715', '540', '38.412038', '-78.170982', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44632, 'Charlottesvle', 2826, '22908', '434', '38.0295', '-78.4769', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44633, 'Un Va Med Ctr', 2826, '22908', '434', '38.0295', '-78.4769', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44634, 'Univ Of Va Med Ctr', 2826, '22908', '434', '38.0295', '-78.4769', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44635, 'Dunnsville', 2826, '22454', '804', '37.848319', '-76.83924', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44636, 'Howertons', 2826, '22454', '804', '37.848319', '-76.83924', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44637, 'Garrisonville', 2826, '22463', '540', '38.4826', '-77.4268', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44638, 'Kinsale', 2826, '22488', '804', '38.041722', '-76.587492', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44639, 'Butylo', 2826, '22504', '804', '37.757496', '-76.726784', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44640, 'Laneview', 2826, '22504', '804', '37.757496', '-76.726784', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44641, 'Merry Point', 2826, '22513', '804', '37.7337', '-76.4826', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44642, 'Raphanck Acad', 2826, '22538', '804', '38.20372', '-77.244974', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44643, 'Rappahannock Academy', 2826, '22538', '804', '38.20372', '-77.244974', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44644, 'Rappnhanck', 2826, '22538', '804', '38.20372', '-77.244974', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44645, 'Wicomico Chur', 2826, '22579', '804', '37.800312', '-76.34639', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44646, 'Wicomico Church', 2826, '22579', '804', '37.800312', '-76.34639', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44647, 'Sperryville', 2826, '22740', '540', '38.635333', '-78.254739', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44648, 'Woodville', 2826, '22749', '540', '38.619249', '-78.183596', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44649, 'Alexandria', 2826, '22313', '703', '38.8049', '-77.0475', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44650, 'Alexandria', 2826, '22331', '703', '38.8016', '-77.0704', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44651, 'Fred', 2826, '22404', '540', '38.2946', '-77.4554', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44652, 'Fredericksbrg', 2826, '22404', '540', '38.2946', '-77.4554', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44653, 'Fredericksburg', 2826, '22404', '540', '38.2946', '-77.4554', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44654, 'Falmouth', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44655, 'Fred', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44656, 'Fredbg', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44657, 'Frederickbg', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44658, 'Frederickbur', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44659, 'Fredericksbg', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44660, 'Fredericksbrg', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44661, 'Fredericksbur', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44662, 'Fredericksburg', 2826, '22406', '540', '38.402857', '-77.54719', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44663, 'Zacata', 2826, '22581', '804', '38.1201', '-76.7825', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44664, 'Winchester', 2826, '22604', '540', '39.3103', '-78.32', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44665, 'Woodbridge', 2826, '22195', '703', '38.6581', '-77.2501', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44666, 'Arlington', 2826, '22206', '703', '38.840858', '-77.08902', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44667, 'Newbern', 2826, '24126', '540', '37.0719', '-80.6855', '2018-11-29 05:00:21', '2018-11-29 05:00:21'),\n(44668, 'Newport', 2826, '24128', '540', '37.318572', '-80.520212', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44669, 'Radford', 2826, '24142', '540', '37.138652', '-80.550574', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44670, 'Franklin Heights', 2826, '24151', '540', '36.962184', '-79.86338', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44671, 'Rocky Mount', 2826, '24151', '540', '36.962184', '-79.86338', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44672, 'Wylliesburg', 2826, '23976', '434', '36.843028', '-78.621654', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44673, 'Roanoke', 2826, '24003', '540', '37.2709', '-79.9418', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44674, 'Roanoke', 2826, '24008', '540', '37.2709', '-79.9418', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44675, 'Roanoke', 2826, '24010', '540', '37.2709', '-79.9418', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44676, 'Hollins', 2826, '24019', '540', '37.342066', '-79.955325', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44677, 'Hollins Clg', 2826, '24019', '540', '37.342066', '-79.955325', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44678, 'Roanoke', 2826, '24019', '540', '37.342066', '-79.955325', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44679, 'Roanoke', 2826, '24026', '540', '37.2709', '-79.9418', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44680, 'Blacksburg', 2826, '24060', '540', '37.266757', '-80.436765', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44681, 'Neusons', 2826, '23874', '757', '36.609128', '-77.103566', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44682, 'Newsoms', 2826, '23874', '757', '36.609128', '-77.103566', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44683, 'Surry', 2826, '23883', '757', '37.142647', '-76.745377', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44684, 'Farmville', 2826, '23901', '434', '37.296336', '-78.407659', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44685, 'Boydton', 2826, '23917', '434', '36.640471', '-78.269951', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44686, 'Palmer Springs', 2826, '23917', '434', '36.640471', '-78.269951', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44687, 'Palmersprings', 2826, '23917', '434', '36.640471', '-78.269951', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44688, 'Green Bay', 2826, '23942', '434', '37.137108', '-78.301746', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44689, 'Mavisdale', 2826, '24627', '276', '37.187997', '-82.219834', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44690, 'Emory', 2826, '24327', '276', '36.770516', '-81.819862', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44691, 'Marion', 2826, '24354', '276', '36.812468', '-81.56948', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44692, 'Seven Mile Fd', 2826, '24354', '276', '36.812468', '-81.56948', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44693, 'Seven Mile Ford', 2826, '24354', '276', '36.812468', '-81.56948', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44694, 'Stony Battery', 2826, '24354', '276', '36.812468', '-81.56948', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44695, 'The Cedars', 2826, '24354', '276', '36.812468', '-81.56948', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44696, 'Thomas Bridge', 2826, '24354', '276', '36.812468', '-81.56948', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44697, 'Christiansburg', 2826, '24068', '540', '37.1299', '-80.4092', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44698, 'Vesta', 2826, '24177', '276', '36.7164', '-80.3592', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44699, 'Abingdon', 2826, '24211', '276', '36.666506', '-81.966482', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44700, 'Ben Hur', 2826, '24218', '276', '36.733954', '-83.065272', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44701, 'Birchleaf', 2826, '24220', '276', '37.157765', '-82.23577', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44702, 'Cleveland', 2826, '24225', '276', '36.990989', '-82.116501', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44703, 'Dungannon', 2826, '24245', '276', '36.815926', '-82.514921', '2018-11-29 05:00:22', '2018-11-29 05:00:22'),\n(44704, 'Penningtn Gap', 2826, '24277', '276', '36.762398', '-83.026814', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44705, 'Pennington', 2826, '24277', '276', '36.762398', '-83.026814', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44706, 'Pennington Gap', 2826, '24277', '276', '36.762398', '-83.026814', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44707, 'Wise', 2826, '24293', '276', '37.016201', '-82.603629', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44708, 'Phenix', 2826, '23959', '434', '37.0975', '-78.804253', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44709, 'Eggleston', 2826, '24086', '540', '37.279312', '-80.655068', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44710, 'Mc Coy', 2826, '24111', '540', '37.2183', '-80.5985', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44711, 'New Castle', 2826, '24127', '540', '37.488236', '-80.222353', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44712, 'Pearisburg', 2826, '24134', '540', '37.25511', '-80.751601', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44713, 'Pembroke', 2826, '24136', '540', '37.358431', '-80.567326', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44714, 'Goldbond', 2826, '24150', '540', '37.398322', '-80.604642', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44715, 'Kimballton', 2826, '24150', '540', '37.398322', '-80.604642', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44716, 'Ripplemead', 2826, '24150', '540', '37.398322', '-80.604642', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44717, 'Beach', 2826, '23832', '804', '37.408834', '-77.608472', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44718, 'Chesterfield', 2826, '23832', '804', '37.408834', '-77.608472', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44719, 'Chesterfld', 2826, '23832', '804', '37.408834', '-77.608472', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44720, 'Colonial Heights', 2826, '23834', '804', '37.287969', '-77.389106', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44721, 'Colonial Hgts', 2826, '23834', '804', '37.287969', '-77.389106', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44722, 'S Chesterfld', 2826, '23834', '804', '37.287969', '-77.389106', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44723, 'South Chesterfield', 2826, '23834', '804', '37.287969', '-77.389106', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44724, 'Chester', 2826, '23836', '804', '37.357266', '-77.32524', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44725, 'Dinwiddie', 2826, '23841', '804', '37.044274', '-77.552702', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44726, 'Roanoke', 2826, '24011', '540', '37.270794', '-79.941354', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44727, 'Roanoke', 2826, '24025', '540', '37.2709', '-79.9418', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44728, 'Blacksburg', 2826, '24061', '540', '37.2286', '-80.4149', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44729, 'Virginia Tech', 2826, '24061', '540', '37.2286', '-80.4149', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44730, 'Christiansbrg', 2826, '24068', '540', '37.1299', '-80.4092', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44731, 'Norfolk', 2826, '23518', '757', '36.909298', '-76.215043', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44732, 'Ford', 2826, '23850', '804', '37.163342', '-77.751422', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44733, 'Lawrenceville', 2826, '23868', '434', '36.718682', '-77.814538', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44734, 'Triplet', 2826, '23868', '434', '36.718682', '-77.814538', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44735, 'Sussex Correctional Facility', 2826, '23891', '804', '37.0394', '-77.1013', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44736, 'Waverly', 2826, '23891', '804', '37.0394', '-77.1013', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44737, 'Clarksville', 2826, '23927', '434', '36.63491', '-78.480598', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44738, 'Cullen', 2826, '23934', '434', '37.14934', '-78.625186', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44739, 'Townsend', 2826, '23443', '757', '37.1856', '-75.9601', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44740, 'Virginia Bch', 2826, '23457', '757', '36.622813', '-76.021397', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44741, 'Nav Wpns Sta', 2826, '23691', '757', '37.24371', '-76.579466', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44742, 'Naval Weapons Sta', 2826, '23691', '757', '37.24371', '-76.579466', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44743, 'Naval Weapons Station', 2826, '23691', '757', '37.24371', '-76.579466', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44744, 'Yorktown', 2826, '23691', '757', '37.24371', '-76.579466', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44745, 'Yorktown Naval Weapons Stati', 2826, '23691', '757', '37.24371', '-76.579466', '2018-11-29 05:00:23', '2018-11-29 05:00:23'),\n(44746, 'Portsmouth', 2826, '23702', '757', '36.804031', '-76.323415', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44747, 'Portsmouth', 2826, '23709', '757', '36.820078', '-76.300926', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44748, 'Richmond', 2826, '23293', '804', '37.5537', '-77.4609', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44749, 'Richmond Newspapers', 2826, '23293', '804', '37.5537', '-77.4609', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44750, 'Birdsnest', 2826, '23307', '757', '37.417632', '-75.794253', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44751, 'Carrollton', 2826, '23314', '757', '36.965132', '-76.518011', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44752, 'Cheriton', 2826, '23316', '757', '37.283541', '-75.967327', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44753, 'Chesapeake', 2826, '23323', '757', '36.702894', '-76.37291', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44754, 'Virginia Beach', 2826, '23457', '757', '36.622813', '-76.021397', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44755, 'Fort Story', 2826, '23459', '757', '36.920331', '-76.01877', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44756, 'Arcola', 2826, '20148', '703', '39.001489', '-77.515588', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44757, 'Ashburn', 2826, '20148', '703', '39.001489', '-77.515588', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44758, 'Manassas', 2826, '20109', '703', '38.793688', '-77.53645', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44759, 'Sudley Spgs', 2826, '20109', '703', '38.793688', '-77.53645', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44760, 'Sudley Springs', 2826, '20109', '703', '38.793688', '-77.53645', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44761, 'Brambleton', 2826, '20148', '703', '39.001489', '-77.515588', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44762, 'Broadlands', 2826, '20148', '703', '39.001489', '-77.515588', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44763, 'Herndon', 2826, '20191', '703', '38.93112', '-77.351394', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44764, 'Reston', 2826, '20191', '703', '38.93112', '-77.351394', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44765, 'Auburn', 2829, '98023', '253', '47.303898', '-122.375736', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44766, 'Federal Way', 2829, '98023', '253', '47.303898', '-122.375736', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44767, 'Fall City', 2829, '98024', '425', '47.615395', '-121.78244', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44768, 'Lake Alice', 2829, '98024', '425', '47.615395', '-121.78244', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44769, 'Spring Glen', 2829, '98024', '425', '47.615395', '-121.78244', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44770, 'Mercer Island', 2829, '98040', '206', '47.565229', '-122.233149', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44771, 'Bothell', 2829, '98041', '425', '47.7602', '-122.2044', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44772, 'Cascade', 2829, '98058', '425', '47.435088', '-122.116522', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44773, 'Fairwood', 2829, '98058', '425', '47.435088', '-122.116522', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44774, 'Renton', 2829, '98058', '425', '47.435088', '-122.116522', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44775, 'Issaquah', 2829, '98075', '425', '47.588294', '-122.034863', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44776, 'Sammamish', 2829, '98075', '425', '47.588294', '-122.034863', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44777, 'Lake Forest Park', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44778, 'Lk Forest Park', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44779, 'Lk Forest Pk', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44780, 'North City', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44781, 'Seattle', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44782, 'Shoreline', 2829, '98155', '206', '47.755304', '-122.295911', '2018-11-29 05:00:24', '2018-11-29 05:00:24'),\n(44783, 'Bryn Mawr', 2829, '98178', '206', '47.496368', '-122.251943', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44784, 'Seattle', 2829, '98178', '206', '47.496368', '-122.251943', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44785, 'Skyway', 2829, '98178', '206', '47.496368', '-122.251943', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44786, 'Tukwila', 2829, '98178', '206', '47.496368', '-122.251943', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44787, 'Everett', 2829, '98205', '425', '47.997924', '-122.132392', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44788, 'Anacortes', 2829, '98221', '360', '48.518056', '-122.677899', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44789, 'Decatur Island', 2829, '98221', '360', '48.518056', '-122.677899', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44790, 'Guemes', 2829, '98221', '360', '48.518056', '-122.677899', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44791, 'Guemes Island', 2829, '98221', '360', '48.518056', '-122.677899', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44792, 'Similk Beach', 2829, '98221', '360', '48.518056', '-122.677899', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44793, 'Houghton', 2829, '98033', '425', '47.673156', '-122.197628', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44794, 'Juanita', 2829, '98033', '425', '47.673156', '-122.197628', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44795, 'Kirkland', 2829, '98033', '425', '47.673156', '-122.197628', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44796, 'Totem Lake', 2829, '98033', '425', '47.673156', '-122.197628', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44797, 'Adelaide', 2829, '98052', '425', '47.680496', '-122.120938', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44798, 'Ames Lake', 2829, '98052', '425', '47.680496', '-122.120938', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44799, 'Avondale', 2829, '98052', '425', '47.680496', '-122.120938', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44800, 'Earlmount', 2829, '98052', '425', '47.680496', '-122.120938', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44801, 'Redmond', 2829, '98052', '425', '47.680496', '-122.120938', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44802, 'Seattle', 2829, '98115', '206', '47.683612', '-122.278022', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44803, 'Seattle Naval Support Activi', 2829, '98115', '206', '47.683612', '-122.278022', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44804, 'Wedgwood', 2829, '98115', '206', '47.683612', '-122.278022', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44805, 'Bainbridge Is', 2829, '98110', '206', '47.647614', '-122.535452', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44806, 'Bainbridge Island', 2829, '98110', '206', '47.647614', '-122.535452', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44807, 'Seattle', 2829, '98110', '206', '47.647614', '-122.535452', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44808, 'Lake City', 2829, '98125', '206', '47.715789', '-122.293458', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44809, 'Northgate', 2829, '98125', '206', '47.715789', '-122.293458', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44810, 'Seattle', 2829, '98125', '206', '47.715789', '-122.293458', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44811, 'Seattle', 2829, '98141', '206', '47.61', '-122.33', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44812, 'Seatac', 2829, '98158', '206', '47.450518', '-122.306023', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44813, 'Seatac Airport', 2829, '98158', '206', '47.450518', '-122.306023', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44814, 'Seattle', 2829, '98158', '206', '47.450518', '-122.306023', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44815, 'Seattle', 2829, '98174', '206', '47.604718', '-122.335237', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44816, 'Bitter Lake', 2829, '98177', '206', '47.739168', '-122.375316', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44817, 'Richmond Beach', 2829, '98177', '206', '47.739168', '-122.375316', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44818, 'Seattle', 2829, '98177', '206', '47.739168', '-122.375316', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44819, 'Shoreline', 2829, '98177', '206', '47.739168', '-122.375316', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44820, 'The Highlands', 2829, '98177', '206', '47.739168', '-122.375316', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44821, 'Bellingham', 2829, '98225', '360', '48.747652', '-122.522235', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44822, 'Chuckanut', 2829, '98225', '360', '48.747652', '-122.522235', '2018-11-29 05:00:25', '2018-11-29 05:00:25'),\n(44823, 'Fairhaven', 2829, '98225', '360', '48.747652', '-122.522235', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44824, 'Marietta', 2829, '98225', '360', '48.747652', '-122.522235', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44825, 'Plain', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 05:00:26', '2018-11-29 05:00:26');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(44826, 'Telma', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44827, 'Winton', 2829, '98826', '509', '47.82259', '-120.825267', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44828, 'Orondo', 2829, '98843', '509', '47.688683', '-120.075917', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44829, 'Palisades', 2829, '98845', '509', '47.42096', '-119.878328', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44830, 'Wilson Creek', 2829, '98860', '509', '47.468189', '-119.148012', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44831, 'S Cle Elum', 2829, '98943', '509', '47.184308', '-120.975295', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44832, 'South Cle Elum', 2829, '98943', '509', '47.184308', '-120.975295', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44833, 'City Of Spokane Valley', 2829, '99027', '509', '47.710498', '-117.119107', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44834, 'Otis Orchards', 2829, '99027', '509', '47.710498', '-117.119107', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44835, 'Spokane Valley', 2829, '99027', '509', '47.710498', '-117.119107', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44836, 'Spokane Vly', 2829, '99027', '509', '47.710498', '-117.119107', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44837, 'Evans', 2829, '99126', '509', '48.730056', '-117.946548', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44838, 'Kettle Falls', 2829, '99126', '509', '48.730056', '-117.946548', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44839, 'Laurier', 2829, '99146', '509', '48.952204', '-118.284692', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44840, 'Palouse', 2829, '99161', '509', '46.892922', '-117.155204', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44841, 'Pullman', 2829, '99163', '509', '46.724487', '-117.254549', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44842, 'Usk', 2829, '99180', '509', '48.315788', '-117.33827', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44843, 'City Of Spokane Valley', 2829, '99211', '509', '47.6588', '-117.425', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44844, 'Cty Spok Val', 2829, '99211', '509', '47.6588', '-117.425', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44845, 'Spokane', 2829, '99211', '509', '47.6588', '-117.425', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44846, 'Spokane Valley', 2829, '99211', '509', '47.6588', '-117.425', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44847, 'Spokane Vly', 2829, '99211', '509', '47.6588', '-117.425', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44848, 'City Of Spokane Valley', 2829, '99212', '509', '47.667211', '-117.313556', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44849, 'Cty Spok Val', 2829, '99212', '509', '47.667211', '-117.313556', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44850, 'Millwood', 2829, '99212', '509', '47.667211', '-117.313556', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44851, 'Spokane', 2829, '99212', '509', '47.667211', '-117.313556', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44852, 'Spokane Valley', 2829, '99212', '509', '47.667211', '-117.313556', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44853, 'Spokane Vly', 2829, '99212', '509', '47.667211', '-117.313556', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44854, 'Dayton', 2829, '99328', '509', '46.31183', '-117.872953', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44855, 'Eltopia', 2829, '99330', '509', '46.481871', '-119.075228', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44856, 'Hatton', 2829, '99344', '509', '46.796441', '-119.122467', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44857, 'Othello', 2829, '99344', '509', '46.796441', '-119.122467', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44858, 'Royal Slope', 2829, '99344', '509', '46.796441', '-119.122467', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44859, 'Plymouth', 2829, '99346', '509', '46.002846', '-119.288998', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44860, 'Waitsburg', 2829, '99361', '509', '46.297', '-118.147748', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44861, 'Harmony', 2829, '98585', '360', '46.551496', '-122.487586', '2018-11-29 05:00:26', '2018-11-29 05:00:26'),\n(44862, 'Silver Creek', 2829, '98585', '360', '46.551496', '-122.487586', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44863, 'Appleton', 2829, '98602', '509', '45.891799', '-121.200134', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44864, 'Glenwood', 2829, '98619', '509', '45.977146', '-121.291227', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44865, 'Trout Lake', 2829, '98650', '509', '45.975444', '-121.514646', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44866, 'Troutlake', 2829, '98650', '509', '45.975444', '-121.514646', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44867, 'Underwood', 2829, '98651', '509', '45.738806', '-121.577588', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44868, 'Klickitat', 2829, '98670', '509', '45.85955', '-121.146148', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44869, 'Wahkiacus', 2829, '98670', '509', '45.85955', '-121.146148', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44870, 'Vancouver', 2829, '98684', '360', '45.62971', '-122.510009', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44871, 'Mae', 2829, '98837', '509', '47.168269', '-119.269258', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44872, 'Moses Lake', 2829, '98837', '509', '47.168269', '-119.269258', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44873, 'Raugust', 2829, '98837', '509', '47.168269', '-119.269258', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44874, 'Wheeler', 2829, '98837', '509', '47.168269', '-119.269258', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44875, 'Ahtanum', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44876, 'Fruitvale', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44877, 'Harwood', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44878, 'Pomona', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44879, 'Tampico', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44880, 'Weikel', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44881, 'West Side', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44882, 'Yakima', 2829, '98902', '509', '46.598271', '-120.52754', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44883, 'Moxee', 2829, '98936', '509', '46.605393', '-120.17728', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44884, 'Moxee City', 2829, '98936', '509', '46.605393', '-120.17728', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44885, 'White Swan', 2829, '98952', '509', '46.368574', '-120.770518', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44886, 'Latah', 2829, '99018', '509', '47.296274', '-117.177726', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44887, 'Green Bluff', 2829, '99021', '509', '47.826115', '-117.237496', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44888, 'Mead', 2829, '99021', '509', '47.826115', '-117.237496', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44889, 'Addy', 2829, '99101', '509', '48.348678', '-117.939335', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44890, 'Curlew', 2829, '99118', '509', '48.879447', '-118.60419', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44891, 'Hartline', 2829, '99135', '509', '47.686409', '-119.14979', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44892, 'Inchelium', 2829, '99138', '509', '48.261679', '-118.492994', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44893, 'Kewa', 2829, '99138', '509', '48.261679', '-118.492994', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44894, 'Metaline Falls', 2829, '99153', '509', '48.887524', '-117.297978', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44895, 'Metaline Fls', 2829, '99153', '509', '48.887524', '-117.297978', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44896, 'Harrington', 2829, '99154', '509', '47.363136', '-118.357561', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44897, 'Mohler', 2829, '99154', '509', '47.363136', '-118.357561', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44898, 'Nespelem', 2829, '99155', '509', '48.192642', '-119.058098', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44899, 'Plaza', 2829, '99170', '509', '47.258312', '-117.401259', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44900, 'Rosalia', 2829, '99170', '509', '47.258312', '-117.401259', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44901, 'Bellevue', 2829, '98015', '425', '47.6106', '-122.1997', '2018-11-29 05:00:27', '2018-11-29 05:00:27'),\n(44902, 'Kent', 2829, '98035', '253', '47.3814', '-122.2336', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44903, 'Alpental', 2829, '98068', '425', '47.423129', '-121.373075', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44904, 'Hyak', 2829, '98068', '425', '47.423129', '-121.373075', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44905, 'Snoqualmie Pass', 2829, '98068', '425', '47.423129', '-121.373075', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44906, 'Snoqualmie Ps', 2829, '98068', '425', '47.423129', '-121.373075', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44907, 'Kirkland', 2829, '98083', '425', '47.6817', '-122.2078', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44908, 'Seattle', 2829, '98116', '206', '47.576292', '-122.400639', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44909, 'West Seattle', 2829, '98116', '206', '47.576292', '-122.400639', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44910, 'Crown Hill', 2829, '98117', '206', '47.688575', '-122.384168', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44911, 'Seattle', 2829, '98117', '206', '47.688575', '-122.384168', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44912, 'Seattle', 2829, '98132', '206', '47.6824', '-122.2846', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44913, 'Bitter Lake', 2829, '98133', '206', '47.739569', '-122.344948', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44914, 'Richmond Highlands', 2829, '98133', '206', '47.739569', '-122.344948', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44915, 'Seattle', 2829, '98133', '206', '47.739569', '-122.344948', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44916, 'Shoreline', 2829, '98133', '206', '47.739569', '-122.344948', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44917, 'Seattle', 2829, '98165', '206', '47.61', '-122.33', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44918, 'Burien', 2829, '98166', '206', '47.447958', '-122.358397', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44919, 'Normandy Park', 2829, '98166', '206', '47.447958', '-122.358397', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44920, 'Seattle', 2829, '98166', '206', '47.447958', '-122.358397', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44921, 'Burien', 2829, '98168', '206', '47.49011', '-122.291531', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44922, 'Seatac', 2829, '98168', '206', '47.49011', '-122.291531', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44923, 'Seattle', 2829, '98168', '206', '47.49011', '-122.291531', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44924, 'Tukwila', 2829, '98168', '206', '47.49011', '-122.291531', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44925, 'Everett', 2829, '98201', '425', '47.990834', '-122.199021', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44926, 'Shadle Garland', 2829, '99205', '509', '47.696064', '-117.459319', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44927, 'Spokane', 2829, '99205', '509', '47.696064', '-117.459319', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44928, 'Avista Corp', 2829, '99252', '509', '47.6588', '-117.425', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44929, 'Spokane', 2829, '99252', '509', '47.6588', '-117.425', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44930, 'Kahlotus', 2829, '99335', '509', '46.66696', '-118.560581', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44931, 'Finley', 2829, '99336', '509', '46.219314', '-119.178059', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44932, 'Kenn', 2829, '99336', '509', '46.219314', '-119.178059', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44933, 'Kennewick', 2829, '99336', '509', '46.219314', '-119.178059', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44934, 'Kennewick', 2829, '99338', '509', '46.082917', '-119.37583', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44935, 'Washtucna', 2829, '99371', '509', '46.894672', '-118.26201', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44936, 'Agnew', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44937, 'Fairholm', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44938, 'Gales Addition', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44939, 'Lake Crescent', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:28', '2018-11-29 05:00:28'),\n(44940, 'Maple Grove', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44941, 'Mount Pleasant', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44942, 'Physt', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44943, 'Port Angeles', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44944, 'Pt Angeles', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44945, 'Sol Duc Hot Springs', 2829, '98362', '360', '47.99614', '-123.38281', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44946, 'Puyallup', 2829, '98373', '253', '47.147712', '-122.325229', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44947, 'South Hill', 2829, '98373', '253', '47.147712', '-122.325229', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44948, 'Tacoma', 2829, '98405', '253', '47.248975', '-122.472922', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44949, 'Camp Murray', 2829, '98430', '253', '47.119017', '-122.568539', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44950, 'Camp Murray Natl Guard', 2829, '98430', '253', '47.119017', '-122.568539', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44951, 'Tacoma', 2829, '98430', '253', '47.119017', '-122.568539', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44952, 'Parkland', 2829, '98446', '253', '47.128024', '-122.375538', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44953, 'Tacoma', 2829, '98446', '253', '47.128024', '-122.375538', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44954, 'Parkland', 2829, '98448', '253', '47.25287', '-122.444317', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44955, 'Tacoma', 2829, '98448', '253', '47.25287', '-122.444317', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44956, 'Evergreen State College', 2829, '98505', '360', '47.067958', '-122.97249', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44957, 'Olympia', 2829, '98505', '360', '47.067958', '-122.97249', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44958, 'Doty', 2829, '98539', '360', '46.63844', '-123.281152', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44959, 'Eldon', 2829, '98555', '360', '47.534288', '-123.182659', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44960, 'Lilliwaup', 2829, '98555', '360', '47.534288', '-123.182659', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44961, 'Ajlune', 2829, '98564', '360', '46.470012', '-122.43718', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44962, 'Mossyrock', 2829, '98564', '360', '46.470012', '-122.43718', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44963, 'Aloha', 2829, '98571', '360', '47.189056', '-124.130075', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44964, 'Pacific Beach', 2829, '98571', '360', '47.189056', '-124.130075', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44965, 'Taholah', 2829, '98587', '360', '47.389256', '-124.206714', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44966, 'Nahcotta', 2829, '98637', '360', '46.4989', '-124.0322', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44967, 'Skamania', 2829, '98648', '509', '45.986388', '-121.886841', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44968, 'Stevenson', 2829, '98648', '509', '45.986388', '-121.886841', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44969, 'Wenatchee', 2829, '98807', '509', '47.4236', '-120.3092', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44970, 'Chelan', 2829, '98816', '509', '47.901204', '-120.139618', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44971, 'Holden Village', 2829, '98816', '509', '47.901204', '-120.139618', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44972, 'Lakeside', 2829, '98816', '509', '47.901204', '-120.139618', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44973, 'Lucerne', 2829, '98816', '509', '47.901204', '-120.139618', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44974, 'Krupp', 2829, '98832', '509', '47.334198', '-119.163432', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44975, 'Marlin', 2829, '98832', '509', '47.334198', '-119.163432', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44976, 'Ruff', 2829, '98832', '509', '47.334198', '-119.163432', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44977, 'Disautel', 2829, '98841', '509', '48.410752', '-119.389291', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44978, 'Omak', 2829, '98841', '509', '48.410752', '-119.389291', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44979, 'Azwell', 2829, '98846', '509', '48.102335', '-119.950474', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44980, 'Pateros', 2829, '98846', '509', '48.102335', '-119.950474', '2018-11-29 05:00:29', '2018-11-29 05:00:29'),\n(44981, 'George', 2829, '98848', '509', '47.206033', '-119.799343', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44982, 'Quincy', 2829, '98848', '509', '47.206033', '-119.799343', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44983, 'Trinidad', 2829, '98848', '509', '47.206033', '-119.799343', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44984, 'Winchester', 2829, '98848', '509', '47.206033', '-119.799343', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44985, 'Easton', 2829, '98925', '509', '47.373422', '-121.261481', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44986, 'Grandview', 2829, '98930', '509', '46.24999', '-119.931103', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44987, 'Rocklyn', 2829, '98941', '509', '47.238691', '-120.974036', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44988, 'Roslyn', 2829, '98941', '509', '47.238691', '-120.974036', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44989, 'Chewelah', 2829, '99109', '509', '48.2745', '-117.745184', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44990, 'Electric City', 2829, '99123', '509', '47.876659', '-119.114963', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44991, 'Garfield', 2829, '99130', '509', '46.999838', '-117.166019', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44992, 'Malo', 2829, '99150', '509', '48.817326', '-118.633036', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44993, 'Odessa', 2829, '99159', '509', '47.334284', '-118.73272', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44994, 'Spokane', 2829, '99207', '509', '47.6898', '-117.387428', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44995, 'Shadle Garland', 2829, '99209', '509', '47.6588', '-117.4252', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44996, 'Spokane', 2829, '99209', '509', '47.6588', '-117.4252', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44997, 'Manito', 2829, '99223', '509', '47.591052', '-117.351139', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44998, 'Spokane', 2829, '99223', '509', '47.591052', '-117.351139', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(44999, 'Spokane Valley', 2829, '99223', '509', '47.591052', '-117.351139', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(45000, 'Spokane Vly', 2829, '99223', '509', '47.591052', '-117.351139', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(45001, 'Apo', 2777, '09011', '000', '0', '0', '2018-11-29 05:00:30', '2018-11-29 05:00:30'),\n(45002, 'Apo', 2777, '09034', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45003, 'Apo', 2777, '09454', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45004, 'Apo', 2777, '09463', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45005, 'Fpo', 2777, '09502', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45006, 'Fpo', 2777, '09511', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45007, 'Fpo', 2777, '09513', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45008, 'Apo', 2777, '09068', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45009, 'Apo', 2777, '09079', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45010, 'Apo', 2777, '09086', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45011, 'Apo', 2777, '09100', '000', '0', '0', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45012, 'Aniak', 2778, '99557', '907', '61.476572', '-156.713567', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45013, 'Chuathbaluk', 2778, '99557', '907', '61.476572', '-156.713567', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45014, 'Stony River', 2778, '99557', '907', '61.476572', '-156.713567', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45015, 'Clam Gulch', 2778, '99568', '907', '60.210537', '-151.409868', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45016, 'Copper Center', 2778, '99573', '907', '61.798703', '-143.851898', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45017, 'Saint George Island', 2778, '99591', '907', '56.576877', '-169.630379', '2018-11-29 05:00:31', '2018-11-29 05:00:31'),\n(45018, 'Saint Paul Island', 2778, '99591', '907', '56.576877', '-169.630379', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45019, 'St George', 2778, '99591', '907', '56.576877', '-169.630379', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45020, 'St George Is', 2778, '99591', '907', '56.576877', '-169.630379', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45021, 'St Paul Isle', 2778, '99591', '907', '56.576877', '-169.630379', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45022, 'Mc Grath', 2778, '99627', '907', '63.200505', '-154.890084', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45023, 'Mcgrath', 2778, '99627', '907', '63.200505', '-154.890084', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45024, 'Mountain Village', 2778, '99632', '907', '62.205144', '-164.478331', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45025, 'Mountain Vlg', 2778, '99632', '907', '62.205144', '-164.478331', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45026, 'Old Harbor', 2778, '99643', '907', '57.220492', '-153.32133', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45027, 'Saint Michael', 2778, '99659', '907', '63.287729', '-161.806562', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45028, 'St Michael', 2778, '99659', '907', '63.287729', '-161.806562', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45029, 'Mc Grath', 2778, '99675', '907', '62.970178', '-156.083305', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45030, 'Takotna', 2778, '99675', '907', '62.970178', '-156.083305', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45031, 'Unalakleet', 2778, '99684', '907', '63.572968', '-160.58448', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45032, 'Buckland', 2778, '99727', '907', '65.874808', '-160.50992', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45033, 'Prudhoe Bay', 2778, '99734', '907', '70.057818', '-149.38322', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45034, 'Healy', 2778, '99743', '907', '64.002817', '-148.631418', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45035, 'Lake Minchumina', 2778, '99757', '907', '63.811917', '-152.373516', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45036, 'Lk Minchumina', 2778, '99757', '907', '63.811917', '-152.373516', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45037, 'Barrow', 2778, '99759', '907', '69.872384', '-162.459817', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45038, 'Point Lay', 2778, '99759', '907', '69.872384', '-162.459817', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45039, 'Fairbanks', 2778, '99775', '907', '64.860571', '-147.837761', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45040, 'Univ Of Ak', 2778, '99775', '907', '64.860571', '-147.837761', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45041, 'Tanana', 2778, '99777', '907', '65.33369', '-151.799544', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45042, 'Wainwright', 2778, '99782', '907', '70.697074', '-159.325209', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45043, 'Juneau', 2778, '99802', '907', '58.3016', '-134.4194', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45044, 'Pelican', 2778, '99832', '907', '57.957835', '-136.114626', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45045, 'Point Baker', 2778, '99927', '907', '56.151318', '-133.348994', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45046, 'Anchorage', 2778, '99501', '907', '61.222463', '-149.867694', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45047, 'Anchorage', 2778, '99510', '907', '61.2181', '-149.9003', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45048, 'Anchorage', 2778, '99517', '907', '61.19072', '-149.941008', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45049, 'Anchorage', 2778, '99524', '907', '61.2181', '-149.9003', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45050, 'King Salmon', 2778, '99549', '907', '57.102228', '-158.268032', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45051, 'Port Heiden', 2778, '99549', '907', '57.102228', '-158.268032', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45052, 'Dillingham', 2778, '99576', '907', '59.212234', '-159.722152', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45053, 'Koliganek', 2778, '99576', '907', '59.212234', '-159.722152', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45054, 'Twin Hills', 2778, '99576', '907', '59.212234', '-159.722152', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45055, 'Marshall', 2778, '99585', '907', '61.744488', '-161.882386', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45056, 'Grayling', 2778, '99590', '907', '64.072829', '-159.694194', '2018-11-29 05:00:32', '2018-11-29 05:00:32'),\n(45057, 'Anchorage', 2778, '99599', '907', '61.1689', '-149.9451', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45058, 'Karluk', 2778, '99608', '907', '57.601515', '-154.37443', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45059, 'Kenai', 2778, '99635', '907', '60.865757', '-150.862702', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45060, 'Nikishka', 2778, '99635', '907', '60.865757', '-150.862702', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45061, 'Nikiski', 2778, '99635', '907', '60.865757', '-150.862702', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45062, 'Nondalton', 2778, '99640', '907', '60.031238', '-154.555429', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45063, 'Platinum', 2778, '99651', '907', '58.925712', '-161.401163', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45064, 'Trapper Creek', 2778, '99683', '907', '61.434299', '-150.299797', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45065, 'Willow', 2778, '99683', '907', '61.434299', '-150.299797', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45066, 'Unalaska', 2778, '99685', '907', '53.859159', '-166.679991', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45067, 'Fairbanks', 2778, '99701', '907', '64.560788', '-147.67281', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45068, 'Beaver', 2778, '99724', '907', '66.387197', '-147.32548', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45069, 'Circle', 2778, '99733', '907', '65.627924', '-143.449118', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45070, 'Gambell', 2778, '99742', '907', '63.751381', '-171.694185', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45071, 'Stevens Village', 2778, '99774', '907', '66.026224', '-149.264776', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45072, 'Stevens Vlg', 2778, '99774', '907', '66.026224', '-149.264776', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45073, 'Tanacross', 2778, '99776', '907', '63.378719', '-143.39367', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45074, 'Tok', 2778, '99776', '907', '63.378719', '-143.39367', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45075, 'Douglas', 2778, '99824', '907', '58.273787', '-134.401283', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45076, 'Juneau', 2778, '99824', '907', '58.273787', '-134.401283', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45077, 'Gustavus', 2778, '99826', '907', '58.836726', '-136.968144', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45078, 'Sitka', 2778, '99835', '907', '57.087445', '-135.490539', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45079, 'Pine Bluff', 2781, '71613', '870', '34.2286', '-92.0034', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45080, 'Boueff', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45081, 'Chicot', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45082, 'Endoka', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45083, 'Beech Creek', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45084, 'Berea', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45085, 'Berlin', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45086, 'Bovine', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45087, 'Fountain Prairie', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45088, 'Gulledge', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45089, 'Hamburg', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45090, 'Milo', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45091, 'Mist', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45092, 'Old Milo', 2781, '71646', '870', '33.222038', '-91.811637', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45093, 'Linwood', 2781, '71659', '870', '34.153782', '-91.81116', '2018-11-29 05:00:33', '2018-11-29 05:00:33'),\n(45094, 'Moscow', 2781, '71659', '870', '34.153782', '-91.81116', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45095, 'Manning', 2781, '71763', '870', '33.916439', '-92.77234', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45096, 'Sparkman', 2781, '71763', '870', '33.916439', '-92.77234', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45097, 'Cale', 2781, '71828', '870', '33.610324', '-93.285778', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45098, 'Lewisville', 2781, '71845', '870', '33.351097', '-93.636301', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45099, 'Lockesburg', 2781, '71846', '870', '33.93543', '-94.097128', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45100, 'Taylor', 2781, '71861', '870', '33.138746', '-93.465086', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45101, 'Glenwood', 2781, '71943', '870', '34.33879', '-93.575144', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45102, 'Lodi', 2781, '71943', '870', '34.33879', '-93.575144', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45103, 'Okolona', 2781, '71962', '870', '34.044898', '-93.31865', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45104, 'Bald Knob', 2781, '72010', '501', '35.323328', '-91.505782', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45105, 'Catholic Point', 2781, '72027', '501', '35.380287', '-92.582411', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45106, 'Center Ridge', 2781, '72027', '501', '35.380287', '-92.582411', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45107, 'Lick Mountain', 2781, '72027', '501', '35.380287', '-92.582411', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45108, 'Middleton', 2781, '72027', '501', '35.380287', '-92.582411', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45109, 'Clarendon', 2781, '72029', '870', '34.581237', '-91.18797', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45110, 'Barney', 2781, '72047', '501', '35.240468', '-92.226159', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45111, 'Enola', 2781, '72047', '501', '35.240468', '-92.226159', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45112, 'Center Point', 2781, '72064', '870', '34.754797', '-91.598092', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45113, 'Hazen', 2781, '72064', '870', '34.754797', '-91.598092', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45114, 'Screeton', 2781, '72064', '870', '34.754797', '-91.598092', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45115, 'Maumelle', 2781, '72113', '501', '34.862469', '-92.404514', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45116, 'N Little Rock', 2781, '72113', '501', '34.862469', '-92.404514', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45117, 'Nlr', 2781, '72113', '501', '34.862469', '-92.404514', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45118, 'No Little Rock', 2781, '72113', '501', '34.862469', '-92.404514', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45119, 'North Little Rock', 2781, '72113', '501', '34.862469', '-92.404514', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45120, 'Hill Creek', 2781, '72127', '501', '35.15294', '-92.59038', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45121, 'Plumerville', 2781, '72127', '501', '35.15294', '-92.59038', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45122, 'Poyen', 2781, '72128', '501', '34.361804', '-92.618004', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45123, 'Hiram', 2781, '72179', '501', '35.495604', '-91.864676', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45124, 'Wilburn', 2781, '72179', '501', '35.495604', '-91.864676', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45125, 'Woodson', 2781, '72180', '501', '34.533921', '-92.20897', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45126, 'Little Rock', 2781, '72295', '501', '34.7425', '-92.2857', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45127, 'Aubrey', 2781, '72311', '870', '34.688942', '-90.984046', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45128, 'Barton', 2781, '72312', '870', '34.5471', '-90.7682', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45129, 'Bassett', 2781, '72313', '870', '35.459482', '-90.221166', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45130, 'Hickory Ridge', 2781, '72347', '870', '35.394436', '-90.996815', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45131, 'Marion', 2781, '72364', '870', '35.218398', '-90.183161', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45132, 'Reverie Tn', 2781, '72395', '870', '35.51354', '-90.003082', '2018-11-29 05:00:34', '2018-11-29 05:00:34'),\n(45133, 'Wilson', 2781, '72395', '870', '35.51354', '-90.003082', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45134, 'Beech Grove', 2781, '72412', '870', '36.126716', '-90.698844', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45135, 'Black Oak', 2781, '72414', '870', '35.782206', '-90.376815', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45136, 'Greenway', 2781, '72430', '870', '36.335026', '-90.220718', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45137, 'Grubbs', 2781, '72431', '870', '35.651511', '-91.088944', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45138, 'Reyno', 2781, '72462', '870', '36.374433', '-90.767706', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45139, 'Saint Francis', 2781, '72464', '870', '36.474349', '-90.156304', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45140, 'Franklin', 2781, '72512', '870', '36.145606', '-91.768548', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45141, 'Horseshoe Bend', 2781, '72512', '870', '36.145606', '-91.768548', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45142, 'Horseshoe Bnd', 2781, '72512', '870', '36.145606', '-91.768548', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45143, 'Dolph', 2781, '72528', '870', '36.227688', '-92.104668', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45144, 'Cherokee Village', 2781, '72529', '870', '36.294829', '-91.57575', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45145, 'Cherokee Vlg', 2781, '72529', '870', '36.294829', '-91.57575', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45146, 'Hardy', 2781, '72529', '870', '36.294829', '-91.57575', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45147, 'Evening Shade', 2781, '72532', '870', '36.090566', '-91.568091', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45148, 'Newark', 2781, '72562', '870', '35.730294', '-91.380574', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45149, 'Pine Bluff', 2781, '71611', '870', '34.2286', '-92.0034', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45150, 'Pine Bluff', 2781, '71612', '870', '34.2517', '-92.0789', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45151, 'White Hall', 2781, '71612', '870', '34.2517', '-92.0789', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45152, 'Grady', 2781, '71644', '870', '34.004253', '-91.700857', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45153, 'Shannon', 2781, '71644', '870', '34.004253', '-91.700857', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45154, 'Tamo', 2781, '71644', '870', '34.004253', '-91.700857', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45155, 'Hebron', 2781, '71660', '870', '33.779842', '-92.189118', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45156, 'New Edinburg', 2781, '71660', '870', '33.779842', '-92.189118', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45157, 'Orlando', 2781, '71660', '870', '33.779842', '-92.189118', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45158, 'Empire', 2781, '71661', '870', '33.133876', '-91.52153', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45159, 'Parkdale', 2781, '71661', '870', '33.133876', '-91.52153', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45160, 'Gourd', 2781, '71662', '870', '33.80889', '-91.38089', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45161, 'Pickens', 2781, '71662', '870', '33.80889', '-91.38089', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45162, 'Tyro', 2781, '71662', '870', '33.80889', '-91.38089', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45163, 'Portland', 2781, '71663', '870', '33.223219', '-91.443879', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45164, 'Wilmot', 2781, '71676', '870', '33.068182', '-91.578895', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45165, 'Winchester', 2781, '71677', '870', '33.776245', '-91.471293', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45166, 'Yukon', 2781, '71677', '870', '33.776245', '-91.471293', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45167, 'Yorktown', 2781, '71678', '870', '34.036025', '-91.775494', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45168, 'Harrell', 2781, '71745', '870', '33.483757', '-92.381815', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45169, 'Smackover', 2781, '71762', '870', '33.330293', '-92.768143', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45170, 'Stamps', 2781, '71860', '870', '33.31404', '-93.524905', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45171, 'Hot Springs', 2781, '71910', '501', '34.4967', '-93.0725', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45172, 'Hot Springs National Park', 2781, '71910', '501', '34.4967', '-93.0725', '2018-11-29 05:00:35', '2018-11-29 05:00:35'),\n(45173, 'Hot Springs Village', 2781, '71910', '501', '34.4967', '-93.0725', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45174, 'Hatfield', 2781, '71945', '870', '34.503082', '-94.356767', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45175, 'Bauxite', 2781, '72011', '501', '34.511118', '-92.479778', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45176, 'Beebe', 2781, '72012', '501', '35.114592', '-91.906734', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45177, 'Bee Branch', 2781, '72013', '501', '35.431884', '-92.408974', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45178, 'Beedeville', 2781, '72014', '870', '35.427447', '-91.111458', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45179, 'Choctaw', 2781, '72028', '501', '35.511943', '-92.416438', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45180, 'Brewer', 2781, '72044', '501', '35.642551', '-92.17006', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45181, 'Edgemont', 2781, '72044', '501', '35.642551', '-92.17006', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45182, 'Parma', 2781, '72044', '501', '35.642551', '-92.17006', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45183, 'England', 2781, '72046', '501', '34.543234', '-91.9408', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45184, 'Guy', 2781, '72061', '501', '35.323857', '-92.287819', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45185, 'Jefferson', 2781, '72079', '501', '34.381404', '-92.130442', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45186, 'Algoa', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45187, 'Auvergne', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45188, 'Bengall', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45189, 'Blackville', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45190, 'Fitzgerald', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45191, 'Ingleside', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45192, 'Johnstown', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45193, 'Murphys Corner', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45194, 'New Pr', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45195, 'Newport', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45196, 'Eudora', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45197, 'Grand Lake', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45198, 'Indian', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45199, 'Readland', 2781, '71640', '870', '33.145656', '-91.252035', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45200, 'Hermitage', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45201, 'Johnsville', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45202, 'Mount Olive', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45203, 'Patsville', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45204, 'Rock Island Junction', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45205, 'Smearney', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45206, 'Sumpter', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45207, 'Vick', 2781, '71647', '870', '33.357473', '-92.115832', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45208, 'Cornerville', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45209, 'Crigler', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45210, 'Glendale', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45211, 'Griffith Spring', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45212, 'Nebo', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45213, 'Palmyra', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:36', '2018-11-29 05:00:36'),\n(45214, 'Relfs Bluff', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45215, 'Star City', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45216, 'Tarry', 2781, '71667', '870', '33.942571', '-91.846724', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45217, 'El Dorado', 2781, '71731', '870', '33.2077', '-92.6663', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45218, 'Genoa', 2781, '71840', '870', '33.3839', '-93.9097', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45219, 'Horatio', 2781, '71842', '870', '33.889122', '-94.273473', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45220, 'Mc Caskill', 2781, '71847', '870', '33.932872', '-93.614726', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45221, 'Mineral Spgs', 2781, '71851', '870', '33.86528', '-93.948998', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45222, 'Mineral Springs', 2781, '71851', '870', '33.86528', '-93.948998', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45223, 'Bonnerdale', 2781, '71933', '870', '34.374024', '-93.329558', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45224, 'Mazarn', 2781, '71933', '870', '34.374024', '-93.329558', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45225, 'Bowen', 2781, '71940', '870', '34.055632', '-93.506176', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45226, 'Delight', 2781, '71940', '870', '34.055632', '-93.506176', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45227, 'Pike', 2781, '71940', '870', '34.055632', '-93.506176', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45228, 'Piney Grove', 2781, '71940', '870', '34.055632', '-93.506176', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45229, 'Pisgah', 2781, '71940', '870', '34.055632', '-93.506176', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45230, 'Tobin', 2781, '71940', '870', '34.055632', '-93.506176', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45231, 'Friendship', 2781, '71942', '501', '34.221824', '-92.991198', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45232, 'Woodstock Valley', 2785, '06282', '860', '41.942186', '-72.062232', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45233, 'Woodstock Vly', 2785, '06282', '860', '41.942186', '-72.062232', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45234, 'Canterbury', 2785, '06331', '860', '41.697506', '-71.988436', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45235, 'South Canterbury', 2785, '06331', '860', '41.697506', '-71.988436', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45236, 'East Lyme', 2785, '06333', '860', '41.376501', '-72.236964', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45237, 'Bozrah', 2785, '06334', '860', '41.547243', '-72.17754', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45238, 'Fitchville', 2785, '06334', '860', '41.547243', '-72.17754', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45239, 'Norwich', 2785, '06365', '860', '41.516775', '-71.99183', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45240, 'Pomfret', 2785, '06258', '860', '41.8975', '-71.9631', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45241, 'E Hartford', 2785, '06138', '860', '41.7568', '-72.6217', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45242, 'East Hartford', 2785, '06138', '860', '41.7568', '-72.6217', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45243, 'Hartford', 2785, '06138', '860', '41.7568', '-72.6217', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45244, 'Silver Lane', 2785, '06138', '860', '41.7568', '-72.6217', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45245, 'Aetna Life', 2785, '06156', '860', '41.7638', '-72.6859', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45246, 'Hartford', 2785, '06156', '860', '41.7638', '-72.6859', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45247, 'Hfd', 2785, '06156', '860', '41.7638', '-72.6859', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45248, 'Htfd', 2785, '06156', '860', '41.7638', '-72.6859', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45249, 'East Berlin', 2785, '06023', '860', '41.615878', '-72.720382', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45250, 'Hartford', 2785, '06106', '860', '41.745017', '-72.685657', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45251, 'Htfd', 2785, '06106', '860', '41.745017', '-72.685657', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45252, 'West Hartford', 2785, '06106', '860', '41.745017', '-72.685657', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45253, 'E Hartford', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45254, 'East Hartford', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45255, 'East Htfd', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:37', '2018-11-29 05:00:37'),\n(45256, 'Forbes Village', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45257, 'Hartford', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45258, 'Hartfrd', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45259, 'Hfd', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45260, 'Htfd', 2785, '06108', '860', '41.777484', '-72.621944', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45261, 'Hotchkiss School', 2785, '06039', '860', '41.950747', '-73.428777', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45262, 'Lakeville', 2785, '06039', '860', '41.950747', '-73.428777', '2018-11-29 05:00:38', '2018-11-29 05:00:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(45263, 'Bakersville', 2785, '06057', '860', '41.846708', '-73.00754', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45264, 'Nepaug', 2785, '06057', '860', '41.846708', '-73.00754', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45265, 'New Hartford', 2785, '06057', '860', '41.846708', '-73.00754', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45266, 'Connecticut State Prison', 2785, '06071', '860', '41.990812', '-72.436453', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45267, 'Somers', 2785, '06071', '860', '41.990812', '-72.436453', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45268, 'S Glastonbury', 2785, '06073', '860', '41.645614', '-72.566352', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45269, 'South Glastonbury', 2785, '06073', '860', '41.645614', '-72.566352', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45270, 'Bissell', 2785, '06074', '860', '41.833966', '-72.571689', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45271, 'South Windsor', 2785, '06074', '860', '41.833966', '-72.571689', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45272, 'Wapping', 2785, '06074', '860', '41.833966', '-72.571689', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45273, 'Northeast Area', 2785, '06006', '860', '41.8525', '-72.6443', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45274, 'Windsor', 2785, '06006', '860', '41.8525', '-72.6443', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45275, 'Htfd', 2785, '06167', '860', '41.7638', '-72.6859', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45276, 'Columbia', 2785, '06237', '860', '41.690983', '-72.297783', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45277, 'E Woodstock', 2785, '06244', '860', '41.9874', '-71.9754', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45278, 'East Woodstock', 2785, '06244', '860', '41.9874', '-71.9754', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45279, 'Hartford', 2785, '06142', '860', '41.7638', '-72.6859', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45280, 'Hfd', 2785, '06142', '860', '41.7638', '-72.6859', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45281, 'Htfd', 2785, '06142', '860', '41.7638', '-72.6859', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45282, 'Aetna Insurance', 2785, '06160', '860', '41.7638', '-72.6859', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45283, 'Hartford', 2785, '06160', '860', '41.7638', '-72.6859', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45284, 'Mbi Inc', 2785, '06857', '203', '41.1176', '-73.4086', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45285, 'Norwalk', 2785, '06857', '203', '41.1176', '-73.4086', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45286, 'Ridgefield', 2785, '06877', '203', '41.307379', '-73.494562', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45287, 'East Norwalk', 2785, '06855', '203', '41.10032', '-73.398393', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45288, 'Norwalk', 2785, '06855', '203', '41.10032', '-73.398393', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45289, 'Websters Unified', 2785, '06889', '203', '41.1417', '-73.3585', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45290, 'Westport', 2785, '06889', '203', '41.1417', '-73.3585', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45291, 'Redding', 2785, '06896', '203', '41.302196', '-73.388026', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45292, 'West Redding', 2785, '06896', '203', '41.302196', '-73.388026', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45293, 'Shared Zip For Brm', 2785, '06914', '203', '41.0535', '-73.5394', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45294, 'Lakeside', 2785, '06758', '860', '41.677197', '-73.243071', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45295, 'Litchfield', 2785, '06759', '860', '41.75564', '-73.218392', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45296, 'Torrington', 2785, '06790', '860', '41.839633', '-73.12607', '2018-11-29 05:00:38', '2018-11-29 05:00:38'),\n(45297, 'Danbury', 2785, '06810', '203', '41.378688', '-73.472131', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45298, 'Bethany', 2785, '06524', '203', '41.426601', '-72.994356', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45299, 'New Haven', 2785, '06524', '203', '41.426601', '-72.994356', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45300, 'N Haven', 2785, '06525', '203', '41.352946', '-73.001883', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45301, 'New Haven', 2785, '06525', '203', '41.352946', '-73.001883', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45302, 'Woodbridge', 2785, '06525', '203', '41.352946', '-73.001883', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45303, 'Bridgeport', 2785, '06608', '203', '41.188238', '-73.180174', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45304, 'Bridgeport', 2785, '06673', '203', '41.1667', '-73.2054', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45305, 'Promotion Marketing Ser Inc', 2785, '06673', '203', '41.1667', '-73.2054', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45306, 'New Canaan', 2785, '06840', '203', '41.162414', '-73.502092', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45307, 'Hadlyme', 2785, '06439', '860', '41.4216', '-72.4194', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45308, 'Hawleyville', 2785, '06440', '203', '41.4276', '-73.3558', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45309, 'Higganum', 2785, '06441', '860', '41.462974', '-72.582682', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45310, 'Northford', 2785, '06472', '203', '41.376411', '-72.769162', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45311, 'No Haven', 2785, '06473', '203', '41.383474', '-72.85947', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45312, 'North Haven', 2785, '06473', '203', '41.383474', '-72.85947', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45313, 'N Westchester', 2785, '06474', '860', '41.5805', '-72.4017', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45314, 'North Westchester', 2785, '06474', '860', '41.5805', '-72.4017', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45315, 'Stevenson', 2785, '06491', '203', '41.3833', '-73.185', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45316, 'N Haven', 2785, '06508', '203', '41.3083', '-72.9287', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45317, 'New Haven', 2785, '06508', '203', '41.3083', '-72.9287', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45318, 'N Haven', 2785, '06509', '203', '41.3083', '-72.9287', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45319, 'New Haven', 2785, '06509', '203', '41.3083', '-72.9287', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45320, 'Weston', 2785, '06883', '203', '41.222568', '-73.376709', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45321, 'Stamford', 2785, '06914', '203', '41.0535', '-73.5394', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45322, 'Northfield', 2785, '06778', '860', '41.70732', '-73.104778', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45323, 'Thomaston', 2785, '06778', '860', '41.70732', '-73.104778', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45324, 'Washington', 2785, '06794', '860', '41.650253', '-73.316694', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45325, 'Washington Depot', 2785, '06794', '860', '41.650253', '-73.316694', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45326, 'Washington Dt', 2785, '06794', '860', '41.650253', '-73.316694', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45327, 'New Fairfield', 2785, '06812', '203', '41.487616', '-73.482182', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45328, 'Belle Haven', 2785, '06830', '203', '41.039806', '-73.625848', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45329, 'Greenwich', 2785, '06830', '203', '41.039806', '-73.625848', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45330, 'N Haven', 2785, '06530', '203', '41.3083', '-72.9287', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45331, 'New Haven', 2785, '06530', '203', '41.3083', '-72.9287', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45332, 'Middlefield', 2785, '06455', '860', '41.515715', '-72.71311', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45333, 'Milford', 2785, '06460', '203', '41.210994', '-73.05192', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45334, 'Moodus', 2785, '06469', '860', '41.510894', '-72.44333', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45335, 'N Branford', 2785, '06471', '203', '41.338705', '-72.780914', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45336, 'North Branford', 2785, '06471', '203', '41.338705', '-72.780914', '2018-11-29 05:00:39', '2018-11-29 05:00:39'),\n(45337, 'South Britain', 2785, '06487', '203', '41.4705', '-73.2517', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45338, 'N Haven', 2785, '06510', '203', '41.307716', '-72.927354', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45339, 'New Haven', 2785, '06510', '203', '41.307716', '-72.927354', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45340, 'East Haven', 2785, '06512', '203', '41.283517', '-72.866298', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45341, 'N Haven', 2785, '06512', '203', '41.283517', '-72.866298', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45342, 'New Haven', 2785, '06512', '203', '41.283517', '-72.866298', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45343, 'Roxbury', 2785, '06783', '860', '41.55329', '-73.29964', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45344, 'Sherman', 2785, '06784', '860', '41.592224', '-73.491172', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45345, 'Bethel', 2785, '06801', '203', '41.38183', '-73.392979', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45346, 'N Haven', 2785, '06532', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45347, 'New Haven', 2785, '06532', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45348, 'N Haven', 2785, '06533', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45349, 'New Haven', 2785, '06533', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45350, 'Stratford', 2785, '06615', '203', '41.173882', '-73.136492', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45351, 'Bridgeport', 2785, '06650', '203', '41.1895', '-73.1284', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45352, 'Stratmar Fulfillment Corp', 2785, '06650', '203', '41.1895', '-73.1284', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45353, 'Waterbury', 2785, '06716', '203', '41.598904', '-72.977545', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45354, 'Wolcott', 2785, '06716', '203', '41.598904', '-72.977545', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45355, 'Norwalk', 2785, '06850', '203', '41.126856', '-73.440972', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45356, 'Seymour', 2785, '06483', '203', '41.383578', '-73.094573', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45357, 'N Haven', 2785, '06501', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45358, 'New Haven', 2785, '06501', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45359, 'Goshen', 2785, '06756', '860', '41.844544', '-73.236882', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45360, 'Naugatuck', 2785, '06770', '203', '41.487861', '-73.05288', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45361, 'Union City', 2785, '06770', '203', '41.487861', '-73.05288', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45362, 'Danbury', 2785, '06811', '203', '41.42384', '-73.479174', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45363, 'N Haven', 2785, '06536', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45364, 'New Haven', 2785, '06536', '203', '41.3083', '-72.9287', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45365, 'Waterbury', 2785, '06702', '203', '41.557411', '-73.038908', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45366, 'Wtby', 2785, '06702', '203', '41.557411', '-73.038908', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45367, 'Waterbury', 2785, '06720', '203', '41.5584', '-73.0516', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45368, 'Wtby', 2785, '06720', '203', '41.5584', '-73.0516', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45369, 'Waterbury', 2785, '06722', '203', '41.5584', '-73.0516', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45370, 'Wtby', 2785, '06722', '203', '41.5584', '-73.0516', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45371, 'Haddam', 2785, '06438', '860', '41.460544', '-72.504362', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45372, 'Monroe', 2785, '06468', '203', '41.342188', '-73.231554', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45373, 'Stepney', 2785, '06468', '203', '41.342188', '-73.231554', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45374, 'Upper Stepney', 2785, '06468', '203', '41.342188', '-73.231554', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45375, 'Newtown', 2785, '06470', '203', '41.395394', '-73.318419', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45376, 'Plantsville', 2785, '06479', '860', '41.577707', '-72.900673', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45377, 'Ct Gen Med Claims Office', 2785, '06493', '203', '41.4539', '-72.8185', '2018-11-29 05:00:40', '2018-11-29 05:00:40'),\n(45378, 'Publishers Clearing House', 2785, '06493', '203', '41.4539', '-72.8185', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45379, 'Wallingford', 2785, '06493', '203', '41.4539', '-72.8185', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45380, 'Hamden', 2785, '06511', '203', '41.309418', '-72.924686', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45381, 'New Haven', 2785, '06511', '203', '41.309418', '-72.924686', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45382, 'Promotion Systems Inc', 2785, '06879', '203', '41.2815', '-73.4989', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45383, 'Ridgefield', 2785, '06879', '203', '41.2815', '-73.4989', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45384, 'Promotional Dev Inc', 2785, '06888', '203', '41.1417', '-73.3585', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45385, 'Westport', 2785, '06888', '203', '41.1417', '-73.3585', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45386, 'Glenbrook', 2785, '06906', '203', '41.072214', '-73.52213', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45387, 'Stamford', 2785, '06906', '203', '41.072214', '-73.52213', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45388, 'Stamford', 2785, '06911', '203', '41.0535', '-73.5394', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45389, 'Jordan Village', 2785, '06385', '860', '41.358637', '-72.160086', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45390, 'Millstone', 2785, '06385', '860', '41.358637', '-72.160086', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45391, 'Waterford', 2785, '06385', '860', '41.358637', '-72.160086', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45392, 'Beacon Falls', 2785, '06403', '203', '41.436511', '-73.05881', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45393, 'Cheshire', 2785, '06410', '203', '41.505875', '-72.908242', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45394, 'Deep River', 2785, '06419', '860', '41.37317', '-72.579718', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45395, 'Killingworth', 2785, '06419', '860', '41.37317', '-72.579718', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45396, 'Essex', 2785, '06426', '860', '41.349058', '-72.402204', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45397, 'Guilford', 2785, '06437', '203', '41.33858', '-72.689532', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45398, 'Hfd', 2785, '06160', '860', '41.7638', '-72.6859', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45399, 'Htfd', 2785, '06160', '860', '41.7638', '-72.6859', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45400, 'Storrs', 2785, '06269', '860', '41.807038', '-72.251674', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45401, 'Storrs Manfld', 2785, '06269', '860', '41.807038', '-72.251674', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45402, 'Storrs Mansfield', 2785, '06269', '860', '41.807038', '-72.251674', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45403, 'Storrs/mansfield', 2785, '06269', '860', '41.807038', '-72.251674', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45404, 'University Of Ct', 2785, '06269', '860', '41.807038', '-72.251674', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45405, 'Gales Ferry', 2785, '06335', '860', '41.440253', '-72.059486', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45406, 'A A R P Pharmacy', 2785, '06167', '860', '41.7638', '-72.6859', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45407, 'Hartford', 2785, '06167', '860', '41.7638', '-72.6859', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45408, 'Hfd', 2785, '06167', '860', '41.7638', '-72.6859', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45409, 'Dept Interior', 2786, '20240', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45410, 'Washington', 2786, '20240', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45411, 'National Park Service', 2786, '20242', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45412, 'Washington', 2786, '20242', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45413, 'Gov Printing Office', 2786, '20401', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45414, 'Washington', 2786, '20401', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45415, 'Us House Of Representatives', 2786, '20515', '202', '38.8951', '-77.0369', '2018-11-29 05:00:41', '2018-11-29 05:00:41'),\n(45416, 'Washington', 2786, '20515', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45417, 'Passport Office', 2786, '20524', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45418, 'Washington', 2786, '20524', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45419, 'Navy Observatory', 2786, '20392', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45420, 'Washington', 2786, '20392', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45421, 'Natl Archives And Records', 2786, '20408', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45422, 'Washington', 2786, '20408', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45423, 'Gpo Procurement Div', 2786, '20404', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45424, 'Washington', 2786, '20404', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45425, 'State Department', 2786, '20521', '202', '38.8943', '-77.0496', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45426, 'Washington', 2786, '20521', '202', '38.8943', '-77.0496', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45427, 'Washington', 2786, '20522', '202', '38.8927', '-77.0366', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45428, 'Social Securtiy Admin', 2786, '20254', '202', '38.8926', '-77.0367', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45429, 'Washington', 2786, '20254', '202', '38.8926', '-77.0367', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45430, 'Gpo Supt Of Documents', 2786, '20402', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45431, 'Washington', 2786, '20402', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45432, 'Dept Of State Intrntl Div', 2786, '20523', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45433, 'Washington', 2786, '20523', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45434, 'Oversea Pvt Inves Corp', 2786, '20527', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45435, 'Washington', 2786, '20527', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45436, 'Bureau Of Public Debt', 2786, '20239', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45437, 'Washington', 2786, '20239', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45438, 'Dept Navy Fed Credit Union', 2786, '20391', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45439, 'Washington', 2786, '20391', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45440, 'Washington Na', 2786, '20391', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45441, 'Washington Navy Yard', 2786, '20391', '202', '38.8951', '-77.0369', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45442, 'Kirkwood', 2787, '19708', '302', '39.5717', '-75.6969', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45443, 'Homestead', 2788, '33033', '305', '25.485107', '-80.400271', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45444, 'Leisure City', 2788, '33033', '305', '25.485107', '-80.400271', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45445, 'Naranja', 2788, '33033', '305', '25.485107', '-80.400271', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45446, 'Coral Springs', 2788, '33071', '954', '26.24364', '-80.265397', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45447, 'Pompano Beach', 2788, '33071', '954', '26.24364', '-80.265397', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45448, 'Coconut Creek', 2788, '33073', '954', '26.300892', '-80.176926', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45449, 'Lghthse Point', 2788, '33074', '954', '26.2754', '-80.0875', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45450, 'Lighthouse Point', 2788, '33074', '954', '26.2754', '-80.0875', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45451, 'Lighthouse Pt', 2788, '33074', '954', '26.2754', '-80.0875', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45452, 'Pompano Beach', 2788, '33074', '954', '26.2754', '-80.0875', '2018-11-29 05:00:42', '2018-11-29 05:00:42'),\n(45453, 'Sebastian', 2788, '32958', '772', '27.801256', '-80.488578', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45454, 'Hialeah', 2788, '33010', '305', '25.828395', '-80.28649', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45455, 'Hialeah Gardens', 2788, '33010', '305', '25.828395', '-80.28649', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45456, 'Big Torch Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45457, 'Cudjoe Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45458, 'Little Torch Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45459, 'Lower Sugarloaf Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45460, 'Ltl Torch Key', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45461, 'Lwr Sugarloaf', 2788, '33042', '305', '24.67502', '-81.48491', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45462, 'Coral Springs', 2788, '33075', '954', '26.2585', '-80.1633', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45463, 'Pompano Beach', 2788, '33075', '954', '26.2585', '-80.1633', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45464, 'Coral Springs', 2788, '33077', '954', '26.2377', '-80.1252', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45465, 'Pompano Beach', 2788, '33077', '954', '26.2377', '-80.1252', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45466, 'Miami', 2788, '33102', '305', '25.7738', '-80.1936', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45467, 'Miami', 2788, '33111', '305', '25.7738', '-80.1936', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45468, 'Citrus Ridge', 2788, '32966', '561', '27.649412', '-80.651695', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45469, 'Vero Beach', 2788, '32966', '561', '27.649412', '-80.651695', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45470, 'Hialeah', 2788, '33002', '305', '25.8579', '-80.2783', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45471, 'Homestead', 2788, '33039', '305', '25.496133', '-80.388883', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45472, 'Homestead AFB', 2788, '33039', '305', '25.496133', '-80.388883', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45473, 'Homestead Air Force Base', 2788, '33039', '305', '25.496133', '-80.388883', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45474, 'Tavernier', 2788, '33070', '305', '25.00841', '-80.523148', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45475, 'Pompano Beach', 2788, '33072', '954', '26.2939', '-80.0794', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45476, 'E Rockland Key', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45477, 'E Rockland Ky', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45478, 'East Rockland Key', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45479, 'Fort Jefferson National Mon', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45480, 'Key West', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45481, 'Key West Nas', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45482, 'Key West Naval Air Station', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45483, 'Munson Island', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45484, 'Raccoon Key', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45485, 'Stock Island', 2788, '33040', '305', '24.600416', '-81.857909', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45486, 'Islamorada', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45487, 'Lower Matecumbe Key', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45488, 'Matecumbe Key', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45489, 'Plantation Key', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:43', '2018-11-29 05:00:43'),\n(45490, 'Upper Matecumbe Key', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45491, 'Venetian Shores', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45492, 'Windley Key', 2788, '33036', '305', '24.906735', '-80.657856', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45493, 'Atl', 2789, '30349', '770', '33.62189', '-84.521194', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45494, 'Atlanta', 2789, '30349', '770', '33.62189', '-84.521194', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45495, 'College Park', 2789, '30349', '770', '33.62189', '-84.521194', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45496, 'Coosa', 2789, '30129', '706', '34.2539', '-85.3548', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45497, 'Lindale', 2789, '30147', '706', '34.142475', '-85.220216', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45498, 'Marble Hill', 2789, '30148', '770', '34.457553', '-84.285992', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45499, 'Marblehill', 2789, '30148', '770', '34.457553', '-84.285992', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45500, 'Rome', 2789, '30163', '706', '34.2216', '-85.1864', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45501, 'Rome', 2789, '30165', '706', '34.30936', '-85.269632', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45502, 'Temple', 2789, '30179', '770', '33.780081', '-84.99752', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45503, 'Fairburn', 2789, '30213', '770', '33.578556', '-84.601902', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45504, 'Atl', 2789, '30313', '404', '33.761368', '-84.400934', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45505, 'Atlanta', 2789, '30313', '404', '33.761368', '-84.400934', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45506, 'Atl', 2789, '30315', '404', '33.706736', '-84.37952', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45507, 'Atlanta', 2789, '30315', '404', '33.706736', '-84.37952', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45508, 'Atl', 2789, '30316', '404', '33.717587', '-84.332246', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45509, 'Atlanta', 2789, '30316', '404', '33.717587', '-84.332246', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45510, 'Marietta', 2789, '30062', '770', '34.005912', '-84.47078', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45511, 'Lockheed', 2789, '30063', '770', '33.9525', '-84.55', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45512, 'Marietta', 2789, '30063', '770', '33.9525', '-84.55', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45513, 'Duluth', 2789, '30098', '770', '33.9906', '-84.1531', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45514, 'State Farm Insurance Co', 2789, '30098', '770', '33.9906', '-84.1531', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45515, 'Duluth', 2789, '30099', '770', '33.9906', '-84.1531', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45516, 'Primerica Financial Services', 2789, '30099', '770', '33.9906', '-84.1531', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45517, 'Carrollton', 2789, '30112', '770', '33.58', '-85.079', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45518, 'Haralson', 2789, '30229', '770', '33.2257', '-84.5698', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45519, 'Hogansville', 2789, '30230', '706', '33.144292', '-84.92205', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45520, 'Conyers', 2789, '30012', '770', '33.719683', '-84.007168', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45521, 'Conyers', 2789, '30013', '770', '33.64035', '-83.967642', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45522, 'Covington', 2789, '30014', '770', '33.563126', '-83.843042', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45523, 'Porterdale', 2789, '30014', '770', '33.563126', '-83.843042', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45524, 'Walnut Grove', 2789, '30014', '770', '33.563126', '-83.843042', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45525, 'Covington', 2789, '30015', '770', '33.5515', '-83.8961', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45526, 'Belvedere', 2789, '30032', '404', '33.749544', '-84.273674', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45527, 'Decatur', 2789, '30032', '404', '33.749544', '-84.273674', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45528, 'Dunaire', 2789, '30032', '404', '33.749544', '-84.273674', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45529, 'North Decatur', 2789, '30033', '404', '33.816389', '-84.286399', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45530, 'Vista Grove', 2789, '30033', '404', '33.816389', '-84.286399', '2018-11-29 05:00:44', '2018-11-29 05:00:44'),\n(45531, 'Lithonia', 2789, '30058', '770', '33.74122', '-84.097555', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45532, 'Atlanta Naval Air Station', 2789, '30060', '770', '33.927088', '-84.541128', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45533, 'Dobbins AFB', 2789, '30060', '770', '33.927088', '-84.541128', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45534, 'Dobbins Air Force Base', 2789, '30060', '770', '33.927088', '-84.541128', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45535, 'Atl', 2789, '30353', '404', '33.7486', '-84.3884', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45536, 'Atlanta', 2789, '30353', '404', '33.7486', '-84.3884', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45537, 'Douglasville', 2789, '30133', '770', '33.7516', '-84.7478', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45538, 'Holly Springs', 2789, '30142', '770', '34.1739', '-84.5007', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45539, 'Nelson', 2789, '30151', '770', '34.3826', '-84.3694', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45540, 'Braswell', 2789, '30153', '770', '33.975753', '-85.057702', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45541, 'Rockmart', 2789, '30153', '770', '33.975753', '-85.057702', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45542, 'Kennesaw', 2789, '30160', '770', '33.9919', '-84.6543', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45543, 'Marietta', 2789, '30060', '770', '33.927088', '-84.541128', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45544, 'Memorial Square', 2789, '30083', '404', '33.784859', '-84.19864', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45545, 'St Mountain', 2789, '30083', '404', '33.784859', '-84.19864', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45546, 'St Mtn', 2789, '30083', '404', '33.784859', '-84.19864', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45547, 'Stone Mountain', 2789, '30083', '404', '33.784859', '-84.19864', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45548, 'Stone Mtn', 2789, '30083', '404', '33.784859', '-84.19864', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45549, 'Conyers', 2789, '30094', '770', '33.614684', '-84.061082', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45550, 'Acworth', 2789, '30101', '770', '34.032149', '-84.702587', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45551, 'Oak Grove', 2789, '30101', '770', '34.032149', '-84.702587', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45552, 'Bowdon', 2789, '30108', '770', '33.53076', '-85.260163', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45553, 'Bremen', 2789, '30110', '770', '33.745112', '-85.147698', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45554, 'Jackson', 2789, '30233', '770', '33.312214', '-83.979896', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45555, 'Jonesboro', 2789, '30237', '678', '33.5215', '-84.3539', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45556, 'Norcross', 2789, '30010', '770', '33.9378', '-84.2013', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45557, 'Peachtree Corners', 2789, '30010', '770', '33.9378', '-84.2013', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45558, 'Duluth', 2789, '30026', '770', '33.9908', '-84.1533', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45559, 'North Metro', 2789, '30026', '770', '33.9908', '-84.1533', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45560, 'Decatur', 2789, '30033', '404', '33.816389', '-84.286399', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45561, 'Cleveland', 2789, '30528', '706', '34.617535', '-83.775948', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45562, 'Morganton', 2789, '30560', '706', '34.882001', '-84.191289', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45563, 'Resaca', 2789, '30735', '706', '34.6017', '-84.892344', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45564, 'Trion', 2789, '30753', '706', '34.584798', '-85.298117', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45565, 'Edge Hill', 2789, '30810', '706', '33.220358', '-82.578739', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45566, 'Gibson', 2789, '30810', '706', '33.220358', '-82.578739', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45567, 'Glenwood', 2789, '30428', '912', '32.157932', '-82.682803', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45568, 'Hiltonia', 2789, '30467', '912', '32.78561', '-81.608215', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45569, 'Sylvania', 2789, '30467', '912', '32.78561', '-81.608215', '2018-11-29 05:00:45', '2018-11-29 05:00:45'),\n(45570, 'Athens', 2789, '30601', '706', '34.00174', '-83.350823', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45571, 'Athens', 2789, '30603', '706', '33.9605', '-83.3784', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45572, 'Arnoldsville', 2789, '30619', '706', '33.872019', '-83.234537', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45573, 'Bishop', 2789, '30621', '706', '33.798298', '-83.479847', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45574, 'N High Shoals', 2789, '30621', '706', '33.798298', '-83.479847', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45575, 'North High Shoals', 2789, '30621', '706', '33.798298', '-83.479847', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45576, 'Atlanta', 2789, '30369', '404', '33.7535', '-84.3977', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45577, 'Atl', 2789, '30385', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45578, 'Atlanta', 2789, '30385', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45579, 'Att Bellsouth', 2789, '30385', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45580, 'Atl', 2789, '30392', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45581, 'Atlanta', 2789, '30392', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45582, 'Atl', 2789, '30394', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45583, 'Atlanta', 2789, '30394', '404', '33.7486', '-84.3884', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45584, 'Braselton', 2789, '30517', '706', '34.130286', '-83.789534', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45585, 'Buford', 2789, '30519', '770', '34.093222', '-83.935938', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45586, 'Atl', 2789, '30319', '404', '33.877272', '-84.334042', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45587, 'Atlanta', 2789, '30319', '404', '33.877272', '-84.334042', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45588, 'North Atlanta', 2789, '30319', '404', '33.877272', '-84.334042', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45589, 'Sandy Spgs', 2789, '30319', '404', '33.877272', '-84.334042', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45590, 'Sandy Springs', 2789, '30319', '404', '33.877272', '-84.334042', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45591, 'Atl', 2789, '30350', '770', '33.983238', '-84.323001', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45592, 'Atlanta', 2789, '30350', '770', '33.983238', '-84.323001', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45593, 'Dunwoody', 2789, '30350', '770', '33.983238', '-84.323001', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45594, 'Sandy Spgs', 2789, '30350', '770', '33.983238', '-84.323001', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45595, 'Sandy Springs', 2789, '30350', '770', '33.983238', '-84.323001', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45596, 'Big Canoe', 2789, '30143', '706', '34.466286', '-84.427658', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45597, 'Jasper', 2789, '30143', '706', '34.466286', '-84.427658', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45598, 'Euharlee', 2789, '30145', '770', '34.240566', '-84.985464', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45599, 'Kingston', 2789, '30145', '770', '34.240566', '-84.985464', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45600, 'Mount Zion', 2789, '30150', '770', '33.6327', '-85.1861', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45601, 'Rome', 2789, '30161', '706', '34.266233', '-85.221543', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45602, 'Austell', 2789, '30168', '770', '33.780616', '-84.588178', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45603, 'Tate', 2789, '30177', '770', '34.423814', '-84.37771', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45604, 'Gay', 2789, '30218', '706', '33.123475', '-84.59035', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45605, 'Grantville', 2789, '30220', '770', '33.253026', '-84.849283', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45606, 'Atl', 2789, '30311', '404', '33.725872', '-84.468764', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45607, 'Atlanta', 2789, '30311', '404', '33.725872', '-84.468764', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45608, 'Marietta', 2789, '30068', '770', '33.972174', '-84.441108', '2018-11-29 05:00:46', '2018-11-29 05:00:46'),\n(45609, 'St Mountain', 2789, '30086', '404', '33.8547', '-84.2172', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45610, 'Stone Mountain', 2789, '30086', '404', '33.8547', '-84.2172', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45611, 'Stone Mtn', 2789, '30086', '404', '33.8547', '-84.2172', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45612, 'Norcross', 2789, '30091', '404', '33.9412', '-84.2137', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45613, 'Acworth', 2789, '30102', '770', '34.108712', '-84.637923', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45614, 'Carrollton', 2789, '30118', '770', '33.572128', '-85.103328', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45615, 'University Of West Georgia', 2789, '30118', '770', '33.572128', '-85.103328', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45616, 'Jonesboro', 2789, '30236', '770', '33.51787', '-84.323622', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45617, 'Lake Spivey', 2789, '30236', '770', '33.51787', '-84.323622', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45618, 'Alpharetta', 2789, '30009', '770', '34.0244', '-84.2524', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45619, 'Milton', 2789, '30009', '770', '34.0244', '-84.2524', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45620, 'Auburn', 2789, '30011', '770', '34.01969', '-83.834749', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45621, 'Covington', 2789, '30016', '770', '33.513284', '-83.950174', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45622, 'Porterdale', 2789, '30016', '770', '33.513284', '-83.950174', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45623, 'Decatur', 2789, '30034', '404', '33.687301', '-84.250304', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45624, 'Loganville', 2789, '30052', '770', '33.809392', '-83.889349', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45625, 'Walnut Grove', 2789, '30052', '770', '33.809392', '-83.889349', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45626, 'Dawsonville', 2789, '30534', '706', '34.46068', '-84.151836', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45627, 'Mineral Bluff', 2789, '30559', '706', '34.935518', '-84.25011', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45628, 'Rising Fawn', 2789, '30738', '706', '34.785315', '-85.477523', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45629, 'Trenton', 2789, '30752', '706', '34.900097', '-85.52062', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45630, 'Cedar Crossing', 2789, '30436', '912', '32.162738', '-82.304027', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45631, 'Lyons', 2789, '30436', '912', '32.162738', '-82.304027', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45632, 'Ohoopee', 2789, '30436', '912', '32.162738', '-82.304027', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45633, 'Santa Claus', 2789, '30436', '912', '32.162738', '-82.304027', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45634, 'Register', 2789, '30452', '912', '32.320094', '-81.882024', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45635, 'Athens', 2789, '30609', '706', '33.89559', '-83.374496', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45636, 'University Of Georgia', 2789, '30609', '706', '33.89559', '-83.374496', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45637, 'Atl', 2789, '30359', '404', '33.8132', '-84.3364', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45638, 'Atlanta', 2789, '30359', '404', '33.8132', '-84.3364', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45639, 'Atl', 2789, '30361', '404', '33.7496', '-84.3877', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45640, 'Atlanta', 2789, '30361', '404', '33.7496', '-84.3877', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45641, 'Atl', 2789, '30377', '404', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45642, 'Atlanta', 2789, '30377', '404', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45643, 'Atl', 2789, '30384', '404', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45644, 'Atlanta', 2789, '30384', '404', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45645, 'Bank America', 2789, '30384', '404', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45646, 'Atl', 2789, '30325', '770', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45647, 'Atlanta', 2789, '30325', '770', '33.7486', '-84.3884', '2018-11-29 05:00:47', '2018-11-29 05:00:47'),\n(45648, 'Atl', 2789, '30327', '404', '33.864887', '-84.423887', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45649, 'Atlanta', 2789, '30327', '404', '33.864887', '-84.423887', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45650, 'Sandy Spgs', 2789, '30327', '404', '33.864887', '-84.423887', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45651, 'Sandy Springs', 2789, '30327', '404', '33.864887', '-84.423887', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45652, 'Merizo', 2790, '96916', '671', '13.2635', '144.6697', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45653, 'Hono', 2791, '96811', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45654, 'Honolulu', 2791, '96811', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45655, 'Hon', 2791, '96816', '808', '21.295429', '-157.78921', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45656, 'Hono', 2791, '96816', '808', '21.295429', '-157.78921', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45657, 'Honolulu', 2791, '96816', '808', '21.295429', '-157.78921', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45658, 'Honolulu', 2791, '96818', '808', '21.345634', '-157.932287', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45659, 'Hon', 2791, '96836', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45660, 'Hono', 2791, '96836', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45661, 'Honolulu', 2791, '96836', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45662, 'Hawaiian Telcom', 2791, '96841', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45663, 'Honolulu', 2791, '96841', '808', '21.3069', '-157.8584', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45664, 'Jesup', 2792, '50664', '319', '42.6999', '-92.0738', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45665, 'Oran', 2792, '50664', '319', '42.6999', '-92.0738', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45666, 'Hanover', 2792, '51002', '712', '42.691393', '-95.308982', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45667, 'Correctionville', 2792, '51016', '712', '42.45864', '-95.835392', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45668, 'Correctionvle', 2792, '51016', '712', '42.45864', '-95.835392', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45669, 'Middleburg', 2792, '51041', '712', '43.026178', '-96.076689', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45670, 'Orange City', 2792, '51041', '712', '43.026178', '-96.076689', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45671, 'Luton', 2792, '51052', '712', '42.322833', '-96.26029', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45672, 'Owego', 2792, '51052', '712', '42.322833', '-96.26029', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45673, 'Salix', 2792, '51052', '712', '42.322833', '-96.26029', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45674, 'Stout', 2792, '50673', '319', '42.525839', '-92.712014', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45675, 'Winthrop', 2792, '50682', '319', '42.444484', '-91.692056', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45676, 'Elk Run Heights', 2792, '50707', '319', '42.48069', '-92.270795', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45677, 'Elk Run Hgts', 2792, '50707', '319', '42.48069', '-92.270795', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45678, 'Evansdale', 2792, '50707', '319', '42.48069', '-92.270795', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45679, 'Raymar', 2792, '50707', '319', '42.48069', '-92.270795', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45680, 'Waterloo', 2792, '50707', '319', '42.48069', '-92.270795', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45681, 'Gravity', 2792, '50848', '712', '40.813722', '-94.76691', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45682, 'Guss', 2792, '50857', '712', '40.942832', '-94.871278', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45683, 'Nodaway', 2792, '50857', '712', '40.942832', '-94.871278', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45684, 'Sioux City', 2792, '51102', '712', '42.5', '-96.4', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45685, 'Whittemore', 2792, '50598', '515', '43.089167', '-94.422802', '2018-11-29 05:00:48', '2018-11-29 05:00:48'),\n(45686, 'Cedar Falls', 2792, '50614', '319', '42.51318', '-92.459234', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45687, 'University Of Northern Iowa', 2792, '50614', '319', '42.51318', '-92.459234', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45688, 'Garwin', 2792, '50632', '641', '42.072358', '-92.727558', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45689, 'Green Mountain', 2792, '50632', '641', '42.072358', '-92.727558', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45690, 'Green Mtn', 2792, '50632', '641', '42.072358', '-92.727558', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45691, 'Jesup', 2792, '50648', '319', '42.462284', '-92.086434', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45692, 'Littleton', 2792, '50648', '319', '42.462284', '-92.086434', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45693, 'Shady Grove', 2792, '50648', '319', '42.462284', '-92.086434', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45694, 'Des Moines', 2792, '50982', '712', '0', '0', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45695, 'Hp Enterprise Services', 2792, '50982', '712', '0', '0', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45696, 'Masonville', 2792, '50654', '563', '42.455502', '-91.590951', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45697, 'La Porte City', 2792, '50651', '319', '42.312057', '-92.210821', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45698, 'Laporte City', 2792, '50651', '319', '42.312057', '-92.210821', '2018-11-29 05:00:49', '2018-11-29 05:00:49');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(45699, 'Nashua', 2792, '50658', '641', '42.962843', '-92.544613', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45700, 'Swea City', 2792, '50590', '515', '43.406472', '-94.275955', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45701, 'Fair Oaks', 2795, '47943', '219', '41.05282', '-87.252018', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45702, 'Idaville', 2795, '47950', '574', '40.780724', '-86.648554', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45703, 'New Ross', 2795, '47968', '765', '39.99614', '-86.752367', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45704, 'Pine Village', 2795, '47975', '765', '40.443513', '-87.26358', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45705, 'Remington', 2795, '47977', '219', '40.750606', '-87.165128', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45706, 'State Line', 2795, '47982', '765', '40.196184', '-87.526517', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45707, 'Marshfield', 2795, '47993', '765', '40.293512', '-87.401548', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45708, 'Pence', 2795, '47993', '765', '40.293512', '-87.401548', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45709, 'Williamsport', 2795, '47993', '765', '40.293512', '-87.401548', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45710, 'Howard', 2795, '47859', '765', '39.910318', '-87.176269', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45711, 'Marshall', 2795, '47859', '765', '39.910318', '-87.176269', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45712, 'Saint Bernice', 2795, '47875', '765', '39.6872', '-87.5146', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45713, 'St Bernice', 2795, '47875', '765', '39.6872', '-87.5146', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45714, 'Lake Sullivan', 2795, '47882', '812', '39.08427', '-87.421025', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45715, 'New Lebanon', 2795, '47882', '812', '39.08427', '-87.421025', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45716, 'Sullivan', 2795, '47882', '812', '39.08427', '-87.421025', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45717, 'Turman', 2795, '47882', '812', '39.08427', '-87.421025', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45718, 'Evansville', 2795, '47716', '812', '37.9744', '-87.5555', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45719, 'Evansville', 2795, '47734', '812', '37.9744', '-87.5555', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45720, 'Evansville', 2795, '47750', '812', '37.9744', '-87.5555', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45721, 'Saint Marys Medical Center', 2795, '47750', '812', '37.9744', '-87.5555', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45722, 'Annandale Est', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:49', '2018-11-29 05:00:49'),\n(45723, 'Annandale Estates', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45724, 'Belmont', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45725, 'Cloud Crest Hills', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45726, 'Cloud Crst Hls', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45727, 'Coffey Subdiv', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45728, 'Coffey Subdivision', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45729, 'Elkinsville', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45730, 'Gnaw Bone', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45731, 'Nashville', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45732, 'Trevlac', 2795, '47448', '812', '39.180302', '-86.22801', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45733, 'Buffaloville', 2795, '47550', '812', '38.059698', '-86.913733', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45734, 'Kennedy', 2795, '47550', '812', '38.059698', '-86.913733', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45735, 'Lamar', 2795, '47550', '812', '38.059698', '-86.913733', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45736, 'Monroe City', 2795, '47557', '812', '38.57656', '-87.341771', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45737, 'Hendricksville', 2795, '47459', '812', '39.10375', '-86.764644', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45738, 'Hendricksvle', 2795, '47459', '812', '39.10375', '-86.764644', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45739, 'Newark', 2795, '47459', '812', '39.10375', '-86.764644', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45740, 'Solsberry', 2795, '47459', '812', '39.10375', '-86.764644', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45741, 'Milton', 2795, '47357', '765', '39.759198', '-85.148826', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45742, 'Cuzco', 2795, '47432', '812', '38.48684', '-86.655589', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45743, 'French Lick', 2795, '47432', '812', '38.48684', '-86.655589', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45744, 'Hillham', 2795, '47432', '812', '38.48684', '-86.655589', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45745, 'Lost River', 2795, '47432', '812', '38.48684', '-86.655589', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45746, 'Norton', 2795, '47432', '812', '38.48684', '-86.655589', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45747, 'Muncie', 2795, '47307', '765', '40.1934', '-85.3866', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45748, 'Redkey', 2795, '47373', '765', '40.350794', '-85.156608', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45749, 'Richmond', 2795, '47375', '765', '39.8287', '-84.8903', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45750, 'Economy', 2795, '47339', '765', '39.964681', '-85.10185', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45751, 'Hartford City', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45752, 'Lake Mohee', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45753, 'Licking', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45754, 'Mill Grove', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45755, 'Roll', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45756, 'Shamrock Lakes', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45757, 'Shamrock Lks', 2795, '47348', '765', '40.465544', '-85.333292', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45758, 'Bloomingdale', 2795, '47832', '765', '39.836264', '-87.285966', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45759, 'Sylvania', 2795, '47832', '765', '39.836264', '-87.285966', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45760, 'Alma Lake', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45761, 'Art', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:50', '2018-11-29 05:00:50'),\n(45762, 'Asherville', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45763, 'Bee Ridge', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45764, 'Benwood', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45765, 'Billtown', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45766, 'Billville', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45767, 'Brazil', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45768, 'Cardonia', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45769, 'Cloverland', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45770, 'Dick Johnson', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45771, 'Hoosierville', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45772, 'Lena', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45773, 'Prairie City', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45774, 'Rocky Fork Lake', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45775, 'Stearleyville', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45776, 'Turner', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45777, 'Wey Lake', 2795, '47834', '812', '39.540513', '-87.13601', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45778, 'Kyana', 2795, '47575', '812', '38.329134', '-86.823484', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45779, 'Saint Anthony', 2795, '47575', '812', '38.329134', '-86.823484', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45780, 'St Anthony', 2795, '47575', '812', '38.329134', '-86.823484', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45781, 'Darmstadt', 2795, '47725', '812', '38.096246', '-87.532628', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45782, 'Daylight', 2795, '47725', '812', '38.096246', '-87.532628', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45783, 'Evansville', 2795, '47725', '812', '38.096246', '-87.532628', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45784, 'Evansville Dress Regional Ai', 2795, '47725', '812', '38.096246', '-87.532628', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45785, 'Mccutchanville', 2795, '47725', '812', '38.096246', '-87.532628', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45786, 'Evansville', 2795, '47732', '812', '37.9744', '-87.5555', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45787, 'Derby', 2795, '47525', '812', '38.037648', '-86.544518', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45788, 'Dexter', 2795, '47525', '812', '38.037648', '-86.544518', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45789, 'Arthur', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45790, 'Augusta', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45791, 'Ayrshire', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45792, 'Cato', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45793, 'Coe', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45794, 'Muren', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45795, 'Whiteoak', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45796, 'Winslow', 2795, '47598', '812', '38.378966', '-87.214214', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45797, 'Griffin', 2795, '47616', '812', '38.19352', '-87.906524', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45798, 'Ferdinand', 2795, '47532', '812', '38.200533', '-86.849171', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45799, 'St Henry', 2795, '47532', '812', '38.200533', '-86.849171', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45800, 'Holland', 2795, '47541', '812', '38.247151', '-87.047801', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45801, 'Blmgtn', 2795, '47405', '812', '39.167936', '-86.521293', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45802, 'Bloomington', 2795, '47405', '812', '39.167936', '-86.521293', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45803, 'Scotland', 2795, '47457', '812', '38.9148', '-86.9025', '2018-11-29 05:00:51', '2018-11-29 05:00:51'),\n(45804, 'Bandon', 2795, '47514', '812', '38.14388', '-86.607975', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45805, 'Branchville', 2795, '47514', '812', '38.14388', '-86.607975', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45806, 'Crete', 2795, '47355', '765', '40.050663', '-84.931634', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45807, 'Lynn', 2795, '47355', '765', '40.050663', '-84.931634', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45808, 'Spartanburg', 2795, '47355', '765', '40.050663', '-84.931634', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45809, 'Harrodsburg', 2795, '47434', '812', '39.0118', '-86.5473', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45810, 'Island City', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45811, 'Linton', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45812, 'Stockton', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45813, 'Vicksburg', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45814, 'Victoria', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45815, 'West Linton', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45816, 'Whites Crossing', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45817, 'Whites Xing', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45818, 'Wright', 2795, '47441', '812', '39.062924', '-87.146653', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45819, 'Brownsville', 2795, '47325', '765', '39.68483', '-85.004612', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45820, 'Philomath', 2795, '47325', '765', '39.68483', '-85.004612', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45821, 'Springersville', 2795, '47325', '765', '39.68483', '-85.004612', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45822, 'Abington', 2795, '47330', '765', '39.799024', '-85.024415', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45823, 'Centerville', 2795, '47330', '765', '39.799024', '-85.024415', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45824, 'Deerfield', 2795, '47380', '765', '40.301256', '-85.029406', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45825, 'Randolph', 2795, '47380', '765', '40.301256', '-85.029406', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45826, 'Ridgeville', 2795, '47380', '765', '40.301256', '-85.029406', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45827, 'Bethel', 2795, '47341', '765', '39.969478', '-84.894176', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45828, 'Fountain City', 2795, '47341', '765', '39.969478', '-84.894176', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45829, 'Arba', 2795, '47355', '765', '40.050663', '-84.931634', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45830, 'Bloomingport', 2795, '47355', '765', '40.050663', '-84.931634', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45831, 'Carlos City', 2795, '47355', '765', '40.050663', '-84.931634', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45832, 'Ambia', 2795, '47917', '765', '40.494806', '-87.471624', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45833, 'Mellott', 2795, '47958', '765', '40.162208', '-87.148419', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45834, 'New Market', 2795, '47965', '765', '39.946139', '-86.923982', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45835, 'Westpoint', 2795, '47992', '765', '40.313128', '-87.046006', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45836, 'Brown Jug Corner', 2795, '47858', '812', '39.25182', '-87.226298', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45837, 'Lewis', 2795, '47858', '812', '39.25182', '-87.226298', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45838, 'Fort Ritner', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45839, 'Guthrie', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45840, 'Hartleyville', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45841, 'Judah', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45842, 'Leesville', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45843, 'Needmore', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45844, 'Patton Hill', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:52', '2018-11-29 05:00:52'),\n(45845, 'Peerless', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45846, 'Pinhook', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45847, 'Shawswick', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45848, 'Walnut Heights', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45849, 'Walnut Hts', 2795, '47421', '812', '38.870981', '-86.466136', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45850, 'Abbey Dell', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45851, 'Northwest', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45852, 'Prospect', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45853, 'Roland', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45854, 'W Baden Spgs', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45855, 'W Baden Sprgs', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45856, 'West Baden Springs', 2795, '47469', '812', '38.619749', '-86.59359', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45857, 'Point Commerce', 2795, '47471', '812', '39.125185', '-87.010722', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45858, 'Pt Commerce', 2795, '47471', '812', '39.125185', '-87.010722', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45859, 'Worthington', 2795, '47471', '812', '39.125185', '-87.010722', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45860, 'Balbee', 2795, '47369', '260', '40.512904', '-85.146536', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45861, 'Pennville', 2795, '47369', '260', '40.512904', '-85.146536', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45862, 'E Germantown', 2795, '47370', '765', '39.827', '-85.1315', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45863, 'East Germantown', 2795, '47370', '765', '39.827', '-85.1315', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45864, 'Pershing', 2795, '47370', '765', '39.827', '-85.1315', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45865, 'Country Terr', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45866, 'Country Terrace', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45867, 'Desoto', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45868, 'Hamilton Park', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45869, 'Muncie', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45870, 'Royerton', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45871, 'Woodlawn Park', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45872, 'Brewington Wds', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45873, 'Brewington Woods', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45874, 'Cammack', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45875, 'Muncie', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45876, 'West Acres', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45877, 'Westport Addition', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45878, 'Westport Addn', 2795, '47304', '765', '40.23879', '-85.46398', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45879, 'Dudley', 2795, '47387', '765', '39.830451', '-85.286974', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45880, 'Straughn', 2795, '47387', '765', '39.830451', '-85.286974', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45881, 'Sulphur Spgs', 2795, '47388', '765', '40.0255', '-85.4401', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45882, 'Sulphur Springs', 2795, '47388', '765', '40.0255', '-85.4401', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45883, 'Daleville', 2795, '47334', '765', '40.14424', '-85.509316', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45884, 'Dublin', 2795, '47335', '765', '39.8144', '-85.2053', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45885, 'Crumley Crossing', 2795, '47336', '765', '40.39912', '-85.208618', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45886, 'Crumley Xing', 2795, '47336', '765', '40.39912', '-85.208618', '2018-11-29 05:00:53', '2018-11-29 05:00:53'),\n(45887, 'Dunkirk', 2795, '47336', '765', '40.39912', '-85.208618', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45888, 'Billingsville', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45889, 'Cottagegrove', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45890, 'Dunlapsville', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45891, 'Liberty', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45892, 'Lotus', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45893, 'Roseburg', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45894, 'Treaty Line Museum', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45895, 'Treaty Ln Mus', 2795, '47353', '765', '39.623392', '-84.92527', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45896, 'Willisville', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45897, 'Owensville', 2795, '47665', '812', '38.296868', '-87.804983', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45898, 'Evansville', 2795, '47701', '812', '37.9744', '-87.5555', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45899, 'Evansville', 2795, '47706', '812', '37.9744', '-87.5555', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45900, 'Decker', 2795, '47524', '812', '38.481018', '-87.600968', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45901, 'Velpen', 2795, '47590', '812', '38.360141', '-87.104588', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45902, 'Boonville', 2795, '47601', '812', '38.061852', '-87.25307', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45903, 'Bullocktown', 2795, '47601', '812', '38.061852', '-87.25307', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45904, 'De Gonia', 2795, '47601', '812', '38.061852', '-87.25307', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45905, 'Greenbrier', 2795, '47601', '812', '38.061852', '-87.25307', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45906, 'Midway', 2795, '47601', '812', '38.061852', '-87.25307', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45907, 'Pelzer', 2795, '47601', '812', '38.061852', '-87.25307', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45908, 'New Harmony', 2795, '47631', '812', '38.11263', '-87.907354', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45909, 'Newberry', 2795, '47449', '812', '38.939406', '-87.0303', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45910, 'Evanston', 2795, '47531', '812', '38.031416', '-86.86436', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45911, 'Jasper', 2795, '47549', '812', '38.3917', '-86.9313', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45912, 'Kimball International', 2795, '47549', '812', '38.3917', '-86.9313', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45913, 'Kimball Intl', 2795, '47549', '812', '38.3917', '-86.9313', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45914, 'Corning', 2795, '47558', '812', '38.614602', '-87.026348', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45915, 'Glendale', 2795, '47558', '812', '38.614602', '-87.026348', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45916, 'Hudsonville', 2795, '47558', '812', '38.614602', '-87.026348', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45917, 'Montgomery', 2795, '47558', '812', '38.614602', '-87.026348', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45918, 'Alford', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45919, 'Algiers', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45920, 'Bowman', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45921, 'Glezen', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45922, 'Little', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45923, 'Logan', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45924, 'Oatsville', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45925, 'Petersburg', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45926, 'Blmgtn', 2795, '47406', '812', '39.175126', '-86.513514', '2018-11-29 05:00:54', '2018-11-29 05:00:54'),\n(45927, 'Bloomington', 2795, '47406', '812', '39.175126', '-86.513514', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45928, 'Blmgtn', 2795, '47408', '812', '39.243552', '-86.455526', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45929, 'Bloomington', 2795, '47408', '812', '39.243552', '-86.455526', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45930, 'Woodbridge', 2795, '47408', '812', '39.243552', '-86.455526', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45931, 'Smithville', 2795, '47458', '812', '39.0715', '-86.5066', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45932, 'Middletown', 2795, '47356', '765', '40.026352', '-85.504646', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45933, 'Modoc', 2795, '47358', '765', '40.055409', '-85.109478', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45934, 'Arney', 2795, '47431', '812', '39.210515', '-86.850578', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45935, 'Farmers', 2795, '47431', '812', '39.210515', '-86.850578', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45936, 'Freedom', 2795, '47431', '812', '39.210515', '-86.850578', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45937, 'Alpine', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45938, 'Alquina', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45939, 'Connersville', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45940, 'East Connersville', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45941, 'Everton', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45942, 'Harrisburg', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45943, 'Jennings', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45944, 'Lyonsville', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45945, 'Nulltown', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45946, 'Orange', 2795, '47331', '765', '39.646242', '-85.151845', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45947, 'Chester', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45948, 'East Haven', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45949, 'Gateway Shopping Center', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45950, 'Gateway Shopping Ctr', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45951, 'Middleboro', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45952, 'Richmond', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45953, 'Richmond Sq', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45954, 'Richmond Square', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45955, 'Spring Grove', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45956, 'Spring Grove Heights', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45957, 'Spring Grv Hts', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45958, 'Whitewater', 2795, '47374', '765', '39.846248', '-84.904012', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45959, 'Pleasantville', 2795, '47838', '812', '38.96684', '-87.409804', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45960, 'Bogard', 2795, '47568', '812', '38.788367', '-87.193535', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45961, 'Cornettsville', 2795, '47568', '812', '38.788367', '-87.193535', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45962, 'Epsom', 2795, '47568', '812', '38.788367', '-87.193535', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45963, 'Plainville', 2795, '47568', '812', '38.788367', '-87.193535', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45964, 'Evansville', 2795, '47702', '812', '37.9744', '-87.5555', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45965, 'Evansville', 2795, '47721', '812', '37.9744', '-87.5555', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45966, 'Mead Johnson Co', 2795, '47721', '812', '37.9744', '-87.5555', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45967, 'Evansville', 2795, '47736', '812', '37.9744', '-87.5555', '2018-11-29 05:00:55', '2018-11-29 05:00:55'),\n(45968, 'Barr', 2795, '47519', '812', '38.69676', '-86.970829', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45969, 'Cannelburg', 2795, '47519', '812', '38.69676', '-86.970829', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45970, 'Celestine', 2795, '47521', '812', '38.39661', '-86.746559', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45971, 'Huffman', 2795, '47588', '812', '37.995882', '-86.789998', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45972, 'Troy', 2795, '47588', '812', '37.995882', '-86.789998', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45973, 'Lynnville', 2795, '47619', '812', '38.183316', '-87.296538', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45974, 'Dresden', 2795, '47453', '812', '38.949174', '-86.756824', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45975, 'Owensburg', 2795, '47453', '812', '38.949174', '-86.756824', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45976, 'Braxton', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45977, 'Chambersburg', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45978, 'Paoli', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45979, 'Stampers Creek', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45980, 'Stampers Crk', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45981, 'Freelandville', 2795, '47535', '812', '38.873244', '-87.311106', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45982, 'Lake Lincoln', 2795, '47552', '812', '38.130332', '-86.989186', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45983, 'Lincoln Boyhood National Mem', 2795, '47552', '812', '38.130332', '-86.989186', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45984, 'Lincoln Boyhood Natl Mem', 2795, '47552', '812', '38.130332', '-86.989186', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45985, 'Lincoln City', 2795, '47552', '812', '38.130332', '-86.989186', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45986, 'Bloomington', 2795, '47403', '812', '39.07901', '-86.607109', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45987, 'Blmgtn', 2795, '47404', '812', '39.251124', '-86.613988', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45988, 'Bloomington', 2795, '47404', '812', '39.251124', '-86.613988', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45989, 'Wildwood Lake', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45990, 'Youngs Creek', 2795, '47454', '812', '38.522977', '-86.439437', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45991, 'Silverville', 2795, '47470', '812', '38.784898', '-86.666222', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45992, 'Williams', 2795, '47470', '812', '38.784898', '-86.666222', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45993, 'Parker', 2795, '47368', '765', '40.177796', '-85.200646', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45994, 'Parker City', 2795, '47368', '765', '40.177796', '-85.200646', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45995, 'Windsor', 2795, '47368', '765', '40.177796', '-85.200646', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45996, 'Chapelhill', 2795, '47436', '812', '38.951144', '-86.391349', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45997, 'Heltonville', 2795, '47436', '812', '38.951144', '-86.391349', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45998, 'Pleasant Run', 2795, '47436', '812', '38.951144', '-86.391349', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(45999, 'Albany', 2795, '47320', '765', '40.269329', '-85.26314', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46000, 'Spiceland', 2795, '47385', '765', '39.832528', '-85.456898', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46001, 'Blmgtn', 2795, '47401', '812', '39.07944', '-86.444578', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46002, 'Bloomington', 2795, '47401', '812', '39.07944', '-86.444578', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46003, 'Blmgtn', 2795, '47402', '812', '39.1652', '-86.5292', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46004, 'Bloomington', 2795, '47402', '812', '39.1652', '-86.5292', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46005, 'Blmgtn', 2795, '47403', '812', '39.07901', '-86.607109', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46006, 'Dunreith', 2795, '47337', '765', '39.808488', '-85.44026', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46007, 'Lewisville', 2795, '47352', '765', '39.794854', '-85.37478', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46008, 'Clarks Hill', 2795, '47930', '765', '40.250847', '-86.744794', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46009, 'Fowler', 2795, '47944', '765', '40.599248', '-87.31132', '2018-11-29 05:00:56', '2018-11-29 05:00:56'),\n(46010, 'Goodland', 2795, '47948', '219', '40.772403', '-87.29643', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46011, 'Morocco', 2795, '47963', '219', '40.971674', '-87.401534', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46012, 'Wolcott', 2795, '47995', '219', '40.757934', '-87.007444', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46013, 'Shepardsville', 2795, '47880', '812', '39.6024', '-87.4148', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46014, 'Staunton', 2795, '47881', '812', '39.487485', '-87.18954', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46015, 'Blanford', 2795, '47831', '765', '39.6664', '-87.5196', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46016, 'Dana', 2795, '47847', '765', '39.837236', '-87.469943', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46017, 'Helt', 2795, '47847', '765', '39.837236', '-87.469943', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46018, 'Quaker', 2795, '47847', '765', '39.837236', '-87.469943', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46019, 'Sandborn', 2795, '47578', '812', '38.870566', '-87.18458', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46020, 'Buckskin', 2795, '47647', '812', '38.223136', '-87.4375', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46021, 'Evansville', 2795, '47714', '812', '37.942158', '-87.520559', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46022, 'Evansville', 2795, '47730', '812', '37.9744', '-87.5555', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46023, 'Deaconess Hospital', 2795, '47747', '812', '37.9744', '-87.5555', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46024, 'Evansville', 2795, '47747', '812', '37.9744', '-87.5555', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46025, 'Chandler', 2795, '47610', '812', '38.072866', '-87.404171', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46026, 'Busseron', 2795, '47561', '812', '38.833608', '-87.416013', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46027, 'Emison', 2795, '47561', '812', '38.833608', '-87.416013', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46028, 'Oaktown', 2795, '47561', '812', '38.833608', '-87.416013', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46029, 'Widner', 2795, '47561', '812', '38.833608', '-87.416013', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46030, 'Farlen', 2795, '47562', '812', '38.815776', '-86.961336', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46031, 'Odon', 2795, '47562', '812', '38.815776', '-86.961336', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46032, 'Raglesville', 2795, '47562', '812', '38.815776', '-86.961336', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46033, 'Cadiz', 2795, '47362', '765', '39.950063', '-85.371693', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46034, 'Henry', 2795, '47362', '765', '39.950063', '-85.371693', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46035, 'Messick', 2795, '47362', '765', '39.950063', '-85.371693', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46036, 'Millville', 2795, '47362', '765', '39.950063', '-85.371693', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46037, 'New Castle', 2795, '47362', '765', '39.950063', '-85.371693', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46038, 'Westwood', 2795, '47362', '765', '39.950063', '-85.371693', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46039, 'Midland', 2795, '47445', '812', '39.12434', '-87.189452', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46040, 'Cambridge City', 2795, '47327', '765', '39.837635', '-85.178224', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46041, 'Cambridge Cty', 2795, '47327', '765', '39.837635', '-85.178224', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46042, 'Jacksonburg', 2795, '47327', '765', '39.837635', '-85.178224', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46043, 'Mount Auburn', 2795, '47327', '765', '39.837635', '-85.178224', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46044, 'Williamsburg', 2795, '47393', '765', '39.972289', '-84.993082', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46045, 'Rural', 2795, '47394', '765', '40.17146', '-84.987686', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46046, 'Snow Hill', 2795, '47394', '765', '40.17146', '-84.987686', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46047, 'Stone', 2795, '47394', '765', '40.17146', '-84.987686', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46048, 'Winchester', 2795, '47394', '765', '40.17146', '-84.987686', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46049, 'West Muncie', 2795, '47396', '765', '40.198591', '-85.518077', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46050, 'Yorktown', 2795, '47396', '765', '40.198591', '-85.518077', '2018-11-29 05:00:57', '2018-11-29 05:00:57'),\n(46051, 'Centenary', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46052, 'Clinton', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46053, 'Crompton Hill', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46054, 'Fairview Park', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46055, 'Jacksonville', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46056, 'Jonestown', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46057, 'Sandytown', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46058, 'Summit Grove', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46059, 'Syndicate', 2795, '47842', '765', '39.683908', '-87.456386', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46060, 'West Petersburg', 2795, '47567', '812', '38.463336', '-87.307312', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46061, 'Bucyrus', 2796, '66013', '913', '38.735833', '-94.684595', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46062, 'Centerville', 2796, '66014', '913', '38.220783', '-94.95957', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46063, 'Fort Leavenworth', 2796, '66027', '913', '39.360602', '-94.916392', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46064, 'Ft Leavenworth', 2796, '66027', '913', '39.360602', '-94.916392', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46065, 'Ft Leavnwrth', 2796, '66027', '913', '39.360602', '-94.916392', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46066, 'Laurence', 2796, '66044', '785', '39.039436', '-95.203129', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46067, 'Lawrence', 2796, '66044', '785', '39.039436', '-95.203129', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46068, 'Laurence', 2796, '66045', '785', '38.957116', '-95.253092', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46069, 'Lawrence', 2796, '66045', '785', '38.957116', '-95.253092', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46070, 'Lwrnce', 2796, '66045', '785', '38.957116', '-95.253092', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46071, 'University Of Kansas', 2796, '66045', '785', '38.957116', '-95.253092', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46072, 'Laurence', 2796, '66047', '785', '38.884269', '-95.348463', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46073, 'Lawrence', 2796, '66047', '785', '38.884269', '-95.348463', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46074, 'Lwrnce', 2796, '66047', '785', '38.884269', '-95.348463', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46075, 'Olathe', 2796, '66063', '913', '38.8815', '-94.8187', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46076, 'Williamsburg', 2796, '66095', '785', '38.471992', '-95.434318', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46077, 'Bremen', 2796, '66412', '785', '39.906935', '-96.768148', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46078, 'Burlingame', 2796, '66413', '785', '38.782372', '-95.835092', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46079, 'Basehor', 2796, '66007', '913', '39.149938', '-94.947109', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46080, 'Huron', 2796, '66041', '913', '39.592826', '-95.315745', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46081, 'Lancaster', 2796, '66041', '913', '39.592826', '-95.315745', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46082, 'Leavenworth', 2796, '66048', '913', '39.295579', '-94.984438', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46083, 'Lecompton', 2796, '66050', '785', '39.005896', '-95.415592', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46084, 'Perry', 2796, '66073', '785', '39.094341', '-95.395508', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46085, 'Pleasanton', 2796, '66075', '913', '38.19842', '-94.70702', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46086, 'Westphalia', 2796, '66093', '785', '38.214104', '-95.4926', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46087, 'Countryside', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46088, 'Merriam', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46089, 'Mission', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46090, 'Overland', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46091, 'Overland Park', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:58', '2018-11-29 05:00:58'),\n(46092, 'Prairie Village', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46093, 'Prairie Vlg', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46094, 'Roeland Park', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46095, 'Shawnee Mission', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46096, 'Shawnee Msn', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46097, 'Sm', 2796, '66202', '913', '39.024654', '-94.669995', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46098, 'Leawood', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46099, 'Overland', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46100, 'Overland Park', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46101, 'Prairie Village', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46102, 'Prairie Vlg', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46103, 'Shawnee Mission', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46104, 'Shawnee Msn', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46105, 'Sm', 2796, '66207', '913', '38.955665', '-94.644264', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46106, 'Lenexa', 2796, '66227', '913', '38.970626', '-94.875746', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46107, 'Shawnee', 2796, '66227', '913', '38.970626', '-94.875746', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46108, 'Shawnee Mission', 2796, '66227', '913', '38.970626', '-94.875746', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46109, 'Shawnee Msn', 2796, '66227', '913', '38.970626', '-94.875746', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46110, 'Sm', 2796, '66227', '913', '38.970626', '-94.875746', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46111, 'Belvue', 2796, '66407', '785', '39.257298', '-96.184108', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46112, 'Blue Rapids', 2796, '66411', '785', '39.660531', '-96.635394', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46113, 'De Soto', 2796, '66018', '913', '38.943597', '-94.971426', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46114, 'Effingham', 2796, '66023', '913', '39.506938', '-95.426095', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46115, 'Oskaloosa', 2796, '66066', '785', '39.19814', '-95.34827', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46116, 'Welda', 2796, '66091', '785', '38.169461', '-95.31997', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46117, 'Kansas City', 2796, '66109', '913', '39.171342', '-94.821143', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46118, 'Shawnee', 2796, '66218', '913', '39.016384', '-94.817625', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46119, 'Shawnee Mission', 2796, '66218', '913', '39.016384', '-94.817625', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46120, 'Shawnee Msn', 2796, '66218', '913', '39.016384', '-94.817625', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46121, 'Sm', 2796, '66218', '913', '39.016384', '-94.817625', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46122, 'Auburn', 2796, '66402', '785', '38.913214', '-95.85422', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46123, 'Circleville', 2796, '66416', '785', '39.521823', '-95.855086', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46124, 'Centralia', 2796, '66415', '785', '39.74022', '-96.18301', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46125, 'Fontana', 2796, '66026', '913', '38.393112', '-94.875664', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46126, 'New Century', 2796, '66031', '913', '38.830495', '-94.892841', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46127, 'Highland', 2796, '66035', '785', '39.860432', '-95.246298', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46128, 'Lane', 2796, '66042', '785', '38.433412', '-95.083808', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46129, 'Laurence', 2796, '66049', '785', '38.973858', '-95.348832', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46130, 'Lawrence', 2796, '66049', '785', '38.973858', '-95.348832', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46131, 'Lwrnce', 2796, '66049', '785', '38.973858', '-95.348832', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46132, 'Nortonville', 2796, '66060', '913', '39.412262', '-95.364052', '2018-11-29 05:00:59', '2018-11-29 05:00:59');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(46133, 'Centropolis', 2796, '66067', '785', '38.622669', '-95.28774', '2018-11-29 05:00:59', '2018-11-29 05:00:59'),\n(46134, 'Ottawa', 2796, '66067', '785', '38.622669', '-95.28774', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46135, 'Pomona', 2796, '66076', '785', '38.609612', '-95.424262', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46136, 'Overland Park', 2796, '66085', '913', '38.801362', '-94.656411', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46137, 'Stilwell', 2796, '66085', '913', '38.801362', '-94.656411', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46138, 'Wellsville', 2796, '66092', '785', '38.6953', '-95.127998', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46139, 'Kansas City', 2796, '66101', '913', '39.11752', '-94.623843', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46140, 'Mission', 2796, '66201', '913', '39.0276', '-94.6559', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46141, 'Overland Park', 2796, '66201', '913', '39.0276', '-94.6559', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46142, 'Shawnee Mission', 2796, '66201', '913', '39.0276', '-94.6559', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46143, 'Shawnee Msn', 2796, '66201', '913', '39.0276', '-94.6559', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46144, 'Sm', 2796, '66201', '913', '39.0276', '-94.6559', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46145, 'Lenexa', 2796, '66215', '913', '38.950621', '-94.740082', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46146, 'Overland', 2796, '66215', '913', '38.950621', '-94.740082', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46147, 'Overland Park', 2796, '66215', '913', '38.950621', '-94.740082', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46148, 'Shawnee Mission', 2796, '66215', '913', '38.950621', '-94.740082', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46149, 'Shawnee Msn', 2796, '66215', '913', '38.950621', '-94.740082', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46150, 'Sm', 2796, '66215', '913', '38.950621', '-94.740082', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46151, 'Sun', 2798, '70463', '985', '30.657085', '-89.907878', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46152, 'Mandeville', 2798, '70470', '504', '30.3584', '-90.0657', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46153, 'Lafayette', 2798, '70504', '337', '30.222033', '-92.044906', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46154, 'Univ Of La At Lafayette', 2798, '70504', '337', '30.222033', '-92.044906', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46155, 'Centerville', 2798, '70522', '337', '29.7597', '-91.4285', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46156, 'Duson', 2798, '70529', '337', '30.186262', '-92.17318', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46157, 'New Iberia', 2798, '70563', '337', '30.045851', '-91.7458', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46158, 'Ville Platte', 2798, '70586', '337', '30.767957', '-92.385334', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46159, 'Lake Charles', 2798, '70602', '337', '30.2265', '-93.2175', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46160, 'Cal Marne Twr', 2798, '70629', '337', '30.2265', '-93.2175', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46161, 'Calcasieu Marine Tower', 2798, '70629', '337', '30.2265', '-93.2175', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46162, 'Lake Charles', 2798, '70629', '337', '30.2265', '-93.2175', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46163, 'Cameron', 2798, '70631', '337', '29.871399', '-93.366031', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46164, 'Johnson Bayou', 2798, '70631', '337', '29.871399', '-93.366031', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46165, 'Johnsons Bayou', 2798, '70631', '337', '29.871399', '-93.366031', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46166, 'Fullerton', 2798, '70656', '318', '30.974193', '-92.946308', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46167, 'Pitkin', 2798, '70656', '318', '30.974193', '-92.946308', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46168, 'Albany', 2798, '70711', '225', '30.534002', '-90.606666', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46169, 'Bueche', 2798, '70729', '225', '30.602793', '-91.329054', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46170, 'Erwinville', 2798, '70729', '225', '30.602793', '-91.329054', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46171, 'Watson', 2798, '70786', '225', '30.5759', '-90.9533', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46172, 'Bayou Goula', 2798, '70788', '225', '30.132322', '-91.175927', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46173, 'White Castle', 2798, '70788', '225', '30.132322', '-91.175927', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46174, 'Baton Rouge', 2798, '70804', '225', '30.4506', '-91.1547', '2018-11-29 05:01:00', '2018-11-29 05:01:00'),\n(46175, 'Baton Rouge', 2798, '70822', '225', '30.4506', '-91.1547', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46176, 'La Dept Of Revenue', 2798, '70822', '225', '30.4506', '-91.1547', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46177, 'La Dept Reven', 2798, '70822', '225', '30.4506', '-91.1547', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46178, 'Baton Rouge', 2798, '70895', '225', '30.4506', '-91.1547', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46179, 'Goldonna', 2798, '71031', '318', '31.999377', '-92.90766', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46180, 'Pelican', 2798, '71063', '318', '31.910584', '-93.534986', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46181, 'Pleasant Hill', 2798, '71065', '318', '31.795261', '-93.518814', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46182, 'Shongaloo', 2798, '71072', '318', '32.932046', '-93.318137', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46183, 'Caspiana', 2798, '71115', '318', '32.339548', '-93.594899', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46184, 'Shreveport', 2798, '71115', '318', '32.339548', '-93.594899', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46185, 'Shreveport', 2798, '71138', '318', '32.5253', '-93.7501', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46186, 'Shreveport', 2798, '71156', '318', '32.5253', '-93.7501', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46187, 'Swepco', 2798, '71156', '318', '32.5253', '-93.7501', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46188, 'Bossier City', 2798, '71172', '318', '32.5155', '-93.7318', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46189, 'Monroe', 2798, '71213', '318', '32.5092', '-92.1195', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46190, 'East Hodge', 2798, '71247', '318', '32.262566', '-92.734887', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46191, 'Hodge', 2798, '71247', '318', '32.262566', '-92.734887', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46192, 'North Hodge', 2798, '71247', '318', '32.262566', '-92.734887', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46193, 'La Tech', 2798, '71272', '318', '32.5233', '-92.6376', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46194, 'Louisiana Tech', 2798, '71272', '318', '32.5233', '-92.6376', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46195, 'Louisiana Tech Univ', 2798, '71272', '318', '32.5233', '-92.6376', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46196, 'Ruston', 2798, '71272', '318', '32.5233', '-92.6376', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46197, 'Chase', 2798, '71324', '318', '32.0967', '-91.6986', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46198, 'Palmetto', 2798, '71358', '337', '30.698327', '-91.876771', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46199, 'Rhinehart', 2798, '71363', '318', '31.6361', '-92.0015', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46200, 'Belmont', 2798, '71406', '318', '31.717799', '-93.53383', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46201, 'Dodson', 2798, '71422', '318', '32.059582', '-92.65042', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46202, 'Gaars Mill', 2798, '71422', '318', '32.059582', '-92.65042', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46203, 'Gansville', 2798, '71422', '318', '32.059582', '-92.65042', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46204, 'Hudson', 2798, '71422', '318', '32.059582', '-92.65042', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46205, 'Tannehill', 2798, '71422', '318', '32.059582', '-92.65042', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46206, 'Blanche', 2798, '71433', '318', '31.018264', '-92.639634', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46207, 'Calcasieu', 2798, '71433', '318', '31.018264', '-92.639634', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46208, 'Glenmora', 2798, '71433', '318', '31.018264', '-92.639634', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46209, 'Mcnary', 2798, '71433', '318', '31.018264', '-92.639634', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46210, 'Melder', 2798, '71433', '318', '31.018264', '-92.639634', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46211, 'Pawnee', 2798, '71433', '318', '31.018264', '-92.639634', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46212, 'Burns Town', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46213, 'Castor Lane', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46214, 'Chopin', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46215, 'Clifton', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:01', '2018-11-29 05:01:01'),\n(46216, 'Galbraith', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46217, 'Gooberville', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46218, 'Lena', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46219, 'Marco', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46220, 'Monette Ferry', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46221, 'Rock Quarry', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46222, 'Sharp', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46223, 'Taylor Hill', 2798, '71447', '318', '31.411021', '-92.811107', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46224, 'Clare', 2798, '71449', '318', '31.525396', '-93.531478', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46225, 'Many', 2798, '71449', '318', '31.525396', '-93.531478', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46226, 'Pendleton', 2798, '71449', '318', '31.525396', '-93.531478', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46227, 'Rattan', 2798, '71449', '318', '31.525396', '-93.531478', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46228, 'Sabine', 2798, '71449', '318', '31.525396', '-93.531478', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46229, 'Toledo Bend', 2798, '71449', '318', '31.525396', '-93.531478', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46230, 'Beaver', 2798, '71463', '318', '30.843343', '-92.66782', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46231, 'Bond', 2798, '71463', '318', '30.843343', '-92.66782', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46232, 'Oakdale', 2798, '71463', '318', '30.843343', '-92.66782', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46233, 'Ward', 2798, '71463', '318', '30.843343', '-92.66782', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46234, 'Olla', 2798, '71465', '318', '31.911968', '-92.270114', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46235, 'Pleasant Ridge', 2798, '71465', '318', '31.911968', '-92.270114', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46236, 'Rosefield', 2798, '71465', '318', '31.911968', '-92.270114', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46237, 'Standard', 2798, '71465', '318', '31.911968', '-92.270114', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46238, 'Summerville', 2798, '71465', '318', '31.911968', '-92.270114', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46239, 'Natch', 2798, '71497', '318', '31.7609', '-93.0861', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46240, 'Natchitoches', 2798, '71497', '318', '31.7609', '-93.0861', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46241, 'Nsu', 2798, '71497', '318', '31.7609', '-93.0861', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46242, 'Vinton', 2798, '70668', '337', '30.183672', '-93.601678', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46243, 'Fr Settlement', 2798, '70733', '225', '30.313755', '-90.778956', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46244, 'French Settlement', 2798, '70733', '225', '30.313755', '-90.778956', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46245, 'Geismar', 2798, '70734', '225', '30.207032', '-91.009018', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46246, 'Plaquemine', 2798, '70765', '225', '30.2887', '-91.2343', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46247, 'Port Allen', 2798, '70767', '225', '30.466558', '-91.34044', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46248, 'Tunica', 2798, '70782', '225', '30.960166', '-91.539637', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46249, 'Ventress', 2798, '70783', '225', '30.692546', '-91.415475', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46250, 'Baton Rouge', 2798, '70801', '225', '30.449191', '-91.187592', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46251, 'Baton Rouge', 2798, '70835', '225', '30.4506', '-91.1547', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46252, 'Gateway', 2798, '70835', '225', '30.4506', '-91.1547', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46253, 'Arcadia', 2798, '71001', '318', '32.579453', '-92.906749', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46254, 'Cotton Valley', 2798, '71018', '318', '32.791962', '-93.474873', '2018-11-29 05:01:02', '2018-11-29 05:01:02'),\n(46255, 'Logansport', 2798, '71049', '318', '32.011946', '-93.954445', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46256, 'Stanley', 2798, '71049', '318', '32.011946', '-93.954445', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46257, 'Powhatan', 2798, '71066', '318', '31.871825', '-93.195119', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46258, 'Princeton', 2798, '71067', '318', '32.610526', '-93.511903', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46259, 'Rodessa', 2798, '71069', '318', '32.97575', '-93.985683', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46260, 'Zylks', 2798, '71069', '318', '32.97575', '-93.985683', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46261, 'Shreveport', 2798, '71119', '318', '32.481257', '-93.917098', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46262, 'Shreveport', 2798, '71134', '318', '32.5253', '-93.7501', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46263, 'Shreveport', 2798, '71135', '318', '32.5253', '-93.7501', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46264, 'Shreveport', 2798, '71150', '318', '32.386', '-93.928', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46265, 'Arkansas Louisiana Gas', 2798, '71151', '318', '32.5253', '-93.7501', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46266, 'Arkla Gas', 2798, '71151', '318', '32.5253', '-93.7501', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46267, 'Shreveport', 2798, '71151', '318', '32.5253', '-93.7501', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46268, 'Logtown', 2798, '71202', '318', '32.379854', '-92.04951', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46269, 'Monroe', 2798, '71202', '318', '32.379854', '-92.04951', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46270, 'Richwood', 2798, '71202', '318', '32.379854', '-92.04951', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46271, 'Lakeshore', 2798, '71203', '318', '32.59787', '-92.032354', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46272, 'Monroe', 2798, '71203', '318', '32.59787', '-92.032354', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46273, 'Monroe', 2798, '71217', '318', '32.49', '-92.1', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46274, 'Archibald', 2798, '71218', '318', '32.363107', '-91.769668', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46275, 'Bastrop', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46276, 'Beekman', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46277, 'Dewdrop', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46278, 'Log Cabin', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46279, 'Perryville', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46280, 'Shelton', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46281, 'Upland', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46282, 'Wardville', 2798, '71220', '318', '32.84388', '-91.89775', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46283, 'Delta', 2798, '71233', '318', '32.3269', '-90.9245', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46284, 'Downsville', 2798, '71234', '318', '32.65279', '-92.332347', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46285, 'Eureka', 2798, '71234', '318', '32.65279', '-92.332347', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46286, 'Frost Town', 2798, '71234', '318', '32.65279', '-92.332347', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46287, 'Point', 2798, '71234', '318', '32.65279', '-92.332347', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46288, 'Willhite', 2798, '71234', '318', '32.65279', '-92.332347', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46289, 'Corinth', 2798, '71235', '318', '32.680654', '-92.682513', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46290, 'Dubach', 2798, '71235', '318', '32.680654', '-92.682513', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46291, 'Hilly', 2798, '71235', '318', '32.680654', '-92.682513', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46292, 'Unionville', 2798, '71235', '318', '32.680654', '-92.682513', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46293, 'Jones', 2798, '71250', '318', '32.941803', '-91.582137', '2018-11-29 05:01:03', '2018-11-29 05:01:03'),\n(46294, 'Kilbourne', 2798, '71253', '318', '32.994934', '-91.316914', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46295, 'Ansley', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46296, 'Barnet Springs', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46297, 'Kellys', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46298, 'Ruston', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46299, 'Vernon', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46300, 'New Orleans', 2798, '70123', '504', '29.949328', '-90.204824', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46301, 'River Ridge', 2798, '70123', '504', '29.949328', '-90.204824', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46302, 'New Orleans', 2798, '70157', '504', '29.9545', '-90.0753', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46303, 'New Orleans', 2798, '70174', '504', '29.9545', '-90.0753', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46304, 'New Orleans', 2798, '70189', '504', '29.9545', '-90.0753', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46305, 'Gibson', 2798, '70356', '985', '29.586893', '-91.0534', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46306, 'Grand Isle', 2798, '70358', '985', '29.228843', '-89.998297', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46307, 'Independence', 2798, '70443', '985', '30.629205', '-90.540302', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46308, 'Saint Benedict', 2798, '70457', '985', '30.5264', '-90.1128', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46309, 'St Benedict', 2798, '70457', '985', '30.5264', '-90.1128', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46310, 'North Shore', 2798, '70458', '985', '30.258107', '-89.813418', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46311, 'Slidell', 2798, '70458', '985', '30.258107', '-89.813418', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46312, 'Lafayette', 2798, '70508', '337', '30.154594', '-92.028314', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46313, 'Garden City', 2798, '70540', '337', '29.761615', '-91.464796', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46314, 'Mermentau', 2798, '70556', '337', '30.197267', '-92.558468', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46315, 'Midland', 2798, '70559', '337', '30.132999', '-92.495192', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46316, 'Morse', 2798, '70559', '337', '30.132999', '-92.495192', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46317, 'New Iberia', 2798, '70560', '337', '29.908758', '-91.86226', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46318, 'Welsh', 2798, '70591', '337', '30.264244', '-92.826628', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46319, 'Fenton', 2798, '70640', '337', '30.36554', '-92.91219', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46320, 'Addis', 2798, '70710', '225', '30.349842', '-91.233844', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46321, 'Denham Spgs', 2798, '70727', '225', '30.4864', '-90.9561', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46322, 'Denham Springs', 2798, '70727', '225', '30.4864', '-90.9561', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46323, 'Hester', 2798, '70743', '225', '30.027152', '-90.764054', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46324, 'Saint Amant', 2798, '70774', '225', '30.209048', '-90.754663', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46325, 'Iberville', 2798, '70776', '225', '30.250262', '-91.090074', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46326, 'Saint Gabriel', 2798, '70776', '225', '30.250262', '-91.090074', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46327, 'Zachary', 2798, '70791', '225', '30.645493', '-91.138479', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46328, 'Baton Rouge', 2798, '70809', '225', '30.386954', '-91.064119', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46329, 'Baton Rouge', 2798, '70810', '225', '30.354931', '-91.078947', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46330, 'Bear Creek', 2798, '71008', '318', '32.337942', '-92.962993', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46331, 'Bienville', 2798, '71008', '318', '32.337942', '-92.962993', '2018-11-29 05:01:04', '2018-11-29 05:01:04'),\n(46332, 'Bryceland', 2798, '71008', '318', '32.337942', '-92.962993', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46333, 'Danville', 2798, '71008', '318', '32.337942', '-92.962993', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46334, 'Liberty Hill', 2798, '71008', '318', '32.337942', '-92.962993', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46335, 'Lucky', 2798, '71008', '318', '32.337942', '-92.962993', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46336, 'Blanchard', 2798, '71009', '318', '32.571888', '-93.887009', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46337, 'Frierson', 2798, '71027', '318', '32.244343', '-93.657366', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46338, 'Ida', 2798, '71044', '318', '32.950846', '-93.89679', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46339, 'Mira', 2798, '71044', '318', '32.950846', '-93.89679', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46340, 'Minden', 2798, '71058', '318', '32.6154', '-93.2864', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46341, 'Mooringsport', 2798, '71060', '318', '32.626681', '-93.952296', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46342, 'Stonewall', 2798, '71078', '318', '32.272357', '-93.81124', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46343, 'Barksdale AFB', 2798, '71110', '318', '32.515307', '-93.634488', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46344, 'Monroe', 2798, '71209', '318', '32.527957', '-92.072427', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46345, 'Northeast Univ', 2798, '71209', '318', '32.527957', '-92.072427', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46346, 'Forest', 2798, '71242', '318', '32.7916', '-91.4135', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46347, 'Omega', 2798, '71276', '318', '32.564413', '-91.222738', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46348, 'Roosevelt', 2798, '71276', '318', '32.564413', '-91.222738', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46349, 'Sanbeimer', 2798, '71276', '318', '32.564413', '-91.222738', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46350, 'Sondheimer', 2798, '71276', '318', '32.564413', '-91.222738', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46351, 'Talla Bena', 2798, '71276', '318', '32.564413', '-91.222738', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46352, 'Lockhart', 2798, '71277', '318', '32.922953', '-92.557739', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46353, 'Mount Union', 2798, '71277', '318', '32.922953', '-92.557739', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46354, 'Spearsville', 2798, '71277', '318', '32.922953', '-92.557739', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46355, 'West Monroe', 2798, '71294', '318', '32.5184', '-92.1475', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46356, 'Alexandria', 2798, '71309', '318', '31.3113', '-92.4453', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46357, 'Iota', 2798, '70543', '337', '30.347706', '-92.523292', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46358, 'Perry', 2798, '70575', '337', '29.9483', '-92.1568', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46359, 'Pine Prairie', 2798, '70576', '337', '30.783143', '-92.416414', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46360, 'Youngsville', 2798, '70592', '337', '30.07821', '-92.014015', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46361, 'Lafayette', 2798, '70593', '337', '30.2237', '-92.0197', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46362, 'Lake Charles', 2798, '70606', '337', '30.2265', '-93.2175', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46363, 'Lake Charles', 2798, '70609', '337', '30.179773', '-93.216234', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46364, 'Mcneese State University', 2798, '70609', '337', '30.179773', '-93.216234', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46365, 'Grand Chenier', 2798, '70643', '337', '29.777699', '-92.843692', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46366, 'Ragley', 2798, '70657', '337', '30.500417', '-93.153212', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46367, 'Rosepine', 2798, '70659', '337', '30.923062', '-93.270556', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46368, 'Singer', 2798, '70660', '337', '30.558811', '-93.489374', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46369, 'Darrow', 2798, '70725', '225', '30.152697', '-90.949903', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46370, 'Maringouin', 2798, '70757', '225', '30.4451', '-91.574369', '2018-11-29 05:01:05', '2018-11-29 05:01:05'),\n(46371, 'Ramah', 2798, '70757', '225', '30.4451', '-91.574369', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46372, 'Labarre', 2798, '70759', '225', '30.694624', '-91.618851', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46373, 'Morganza', 2798, '70759', '225', '30.694624', '-91.618851', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46374, 'Uncle Sam', 2798, '70792', '225', '30.025107', '-90.774252', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46375, 'Baton Rouge', 2798, '70807', '225', '30.553637', '-91.227444', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46376, 'Scotlandville', 2798, '70807', '225', '30.553637', '-91.227444', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46377, 'Baton Rouge', 2798, '70827', '225', '30.5494', '-91.1174', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46378, 'Baton Rouge', 2798, '70894', '225', '30.4506', '-91.1547', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46379, 'Dubberly', 2798, '71024', '318', '32.48033', '-93.193756', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46380, 'Hosston', 2798, '71043', '318', '32.883382', '-93.877826', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46381, 'Caddo', 2798, '71061', '318', '32.74505', '-93.93786', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46382, 'Oil City', 2798, '71061', '318', '32.74505', '-93.93786', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46383, 'Shreveport', 2798, '71108', '318', '32.44317', '-93.79314', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46384, 'Southern Hills', 2798, '71108', '318', '32.44317', '-93.79314', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46385, 'Summer Grove', 2798, '71108', '318', '32.44317', '-93.79314', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46386, 'Sunset Acres', 2798, '71108', '318', '32.44317', '-93.79314', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46387, 'Bossier City', 2798, '71111', '318', '32.569513', '-93.694145', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46388, 'Monroe', 2798, '71210', '318', '32.5092', '-92.1195', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46389, 'Cartwright', 2798, '71227', '318', '32.522472', '-92.477968', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46390, 'Choudrant', 2798, '71227', '318', '32.522472', '-92.477968', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46391, 'Mer Rouge', 2798, '71261', '318', '32.800144', '-91.666154', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46392, 'Cheneyville', 2798, '71325', '318', '31.031352', '-92.318993', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46393, 'Clearwater', 2798, '71325', '318', '31.031352', '-92.318993', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46394, 'Loyds Bridge', 2798, '71325', '318', '31.031352', '-92.318993', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46395, 'Clayton', 2798, '71326', '318', '31.794588', '-91.544854', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46396, 'Clayton Junction', 2798, '71326', '318', '31.794588', '-91.544854', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46397, 'Foules', 2798, '71326', '318', '31.794588', '-91.544854', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46398, 'Junks', 2798, '71326', '318', '31.794588', '-91.544854', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46399, 'Red Gum', 2798, '71326', '318', '31.794588', '-91.544854', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46400, 'Cottonport', 2798, '71327', '318', '30.965042', '-92.05784', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46401, 'Crackville', 2798, '71327', '318', '30.965042', '-92.05784', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46402, 'Dora Bend', 2798, '71327', '318', '30.965042', '-92.05784', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46403, 'Hickory', 2798, '71327', '318', '30.965042', '-92.05784', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46404, 'Longbridge', 2798, '71327', '318', '30.965042', '-92.05784', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46405, 'Pineville', 2798, '71361', '318', '31.362', '-92.3865', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46406, 'Wildsville', 2798, '71377', '318', '31.60953', '-91.7808', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46407, 'Campti', 2798, '71411', '318', '31.896138', '-93.085388', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46408, 'Enterprise', 2798, '71425', '318', '31.889204', '-91.865858', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46409, 'Flora', 2798, '71428', '318', '31.6128', '-93.0954', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46410, 'Florien', 2798, '71429', '318', '31.351708', '-93.462001', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46411, 'Gandy Spur', 2798, '71429', '318', '31.351708', '-93.462001', '2018-11-29 05:01:06', '2018-11-29 05:01:06'),\n(46412, 'Mount Carmel', 2798, '71429', '318', '31.351708', '-93.462001', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46413, 'Peason', 2798, '71429', '318', '31.351708', '-93.462001', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46414, 'Toro', 2798, '71429', '318', '31.351708', '-93.462001', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46415, 'Kurthwood', 2798, '71443', '318', '31.3375', '-93.1657', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46416, 'Dogwood Terrace', 2798, '71459', '337', '31.07759', '-93.162256', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46417, 'Fort Polk', 2798, '71459', '337', '31.07759', '-93.162256', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46418, 'Leesville', 2798, '71459', '337', '31.07759', '-93.162256', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46419, 'Ebarb', 2798, '71462', '318', '31.661874', '-93.735329', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46420, 'Noble', 2798, '71462', '318', '31.661874', '-93.735329', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46421, 'Vines Loop', 2798, '71462', '318', '31.661874', '-93.735329', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46422, 'New Orleans', 2798, '70161', '504', '29.9545', '-90.0753', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46423, 'New Orleans', 2798, '70195', '504', '29.9545', '-90.0753', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46424, 'Whitney National Bank', 2798, '70195', '504', '29.9545', '-90.0753', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46425, 'Thibodaux', 2798, '70302', '985', '29.7958', '-90.8225', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46426, 'Houma', 2798, '70361', '985', '29.5956', '-90.7197', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46427, 'Montegut', 2798, '70377', '985', '29.397655', '-90.502056', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46428, 'Hammond', 2798, '70404', '985', '30.5044', '-90.4612', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46429, 'Amite', 2798, '70422', '985', '30.739334', '-90.563257', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46430, 'Grangeville', 2798, '70422', '985', '30.739334', '-90.563257', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46431, 'Hillsdale', 2798, '70422', '985', '30.739334', '-90.563257', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46432, 'Montpelier', 2798, '70422', '985', '30.739334', '-90.563257', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46433, 'Bogalusa', 2798, '70427', '985', '30.75352', '-89.90875', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46434, 'Lees Creek', 2798, '70427', '985', '30.75352', '-89.90875', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46435, 'Mitch', 2798, '70427', '985', '30.75352', '-89.90875', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46436, 'Mitchell City', 2798, '70427', '985', '30.75352', '-89.90875', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46437, 'Plainview', 2798, '70427', '985', '30.75352', '-89.90875', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46438, 'Rio', 2798, '70427', '985', '30.75352', '-89.90875', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46439, 'Fluker', 2798, '70436', '985', '30.81812', '-90.533402', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46440, 'Lacombe', 2798, '70445', '985', '30.315474', '-89.971338', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46441, 'Ponchatoula', 2798, '70454', '985', '30.364893', '-90.394912', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46442, 'Slidell', 2798, '70461', '985', '30.247512', '-89.676735', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46443, 'Lafayette', 2798, '70502', '337', '30.2236', '-92.0198', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46444, 'Abbeville', 2798, '70511', '337', '29.9747', '-92.1345', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46445, 'Crowley', 2798, '70527', '337', '30.2139', '-92.3744', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46446, 'Mamou', 2798, '70554', '337', '30.640757', '-92.473523', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46447, 'Opelousas', 2798, '70570', '337', '30.533426', '-92.106957', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46448, 'Port Barre', 2798, '70577', '337', '30.543026', '-91.849782', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46449, 'Lake Charles', 2798, '70611', '337', '30.331891', '-93.19495', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46450, 'Moss Bluff', 2798, '70611', '337', '30.331891', '-93.19495', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46451, 'Elizabeth', 2798, '70638', '318', '30.854595', '-92.781494', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46452, 'Hackberry', 2798, '70645', '337', '29.967291', '-93.466584', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46453, 'Starks', 2798, '70661', '337', '30.357307', '-93.642711', '2018-11-29 05:01:07', '2018-11-29 05:01:07'),\n(46454, 'Baker', 2798, '70704', '225', '30.5884', '-91.1684', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46455, 'Clinton', 2798, '70722', '225', '30.838088', '-90.957052', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46456, 'Livingston', 2798, '70754', '225', '30.402064', '-90.74993', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46457, 'Blanks', 2798, '70756', '225', '30.5275', '-91.641982', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46458, 'Lottie', 2798, '70756', '225', '30.5275', '-91.641982', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46459, 'Rosedale', 2798, '70772', '225', '30.444487', '-91.458439', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46460, 'Baton Rouge', 2798, '70806', '225', '30.451015', '-91.127718', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46461, 'Baton Rouge', 2798, '70820', '225', '30.372872', '-91.181468', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46462, 'Baton Rouge', 2798, '70836', '225', '30.388291', '-91.08529', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46463, 'Belcher', 2798, '71004', '318', '32.764512', '-93.856132', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46464, 'Benton', 2798, '71006', '318', '32.710432', '-93.642742', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46465, 'Ivan', 2798, '71006', '318', '32.710432', '-93.642742', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46466, 'Arizona', 2798, '71040', '318', '32.777245', '-92.970261', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46467, 'Barron', 2798, '71328', '318', '31.358817', '-92.201625', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46468, 'Big Island', 2798, '71328', '318', '31.358817', '-92.201625', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46469, 'Buckeye', 2798, '71328', '318', '31.358817', '-92.201625', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46470, 'Deville', 2798, '71328', '318', '31.358817', '-92.201625', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46471, 'Hickory Grove', 2798, '71328', '318', '31.358817', '-92.201625', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46472, 'Holloway', 2798, '71328', '318', '31.358817', '-92.201625', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46473, 'La College', 2798, '71359', '318', '31.3222', '-92.4343', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46474, 'Louisiana College', 2798, '71359', '318', '31.3222', '-92.4343', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46475, 'Pineville', 2798, '71359', '318', '31.3222', '-92.4343', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46476, 'Bodoc', 2798, '71362', '318', '30.876987', '-91.913384', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46477, 'Choupique', 2798, '71362', '318', '30.876987', '-91.913384', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46478, 'Plaucheville', 2798, '71362', '318', '30.876987', '-91.913384', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46479, 'Azucena', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46480, 'Consuella', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46481, 'Cooters Point', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46482, 'Goldman', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46483, 'Helena', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46484, 'Highland', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46485, 'Montecello', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46486, 'Waterproof', 2798, '71375', '318', '31.809191', '-91.332766', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46487, 'Elam', 2798, '71378', '318', '31.956639', '-91.715554', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46488, 'Holly Grove', 2798, '71378', '318', '31.956639', '-91.715554', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46489, 'Wisner', 2798, '71378', '318', '31.956639', '-91.715554', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46490, 'Calvin', 2798, '71410', '318', '31.946005', '-92.795275', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46491, 'Negreet', 2798, '71460', '318', '31.4695', '-93.5747', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46492, 'Flat Creek', 2798, '71479', '318', '31.87444', '-92.368472', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46493, 'Tullos', 2798, '71479', '318', '31.87444', '-92.368472', '2018-11-29 05:01:08', '2018-11-29 05:01:08'),\n(46494, 'New Orleans', 2798, '70153', '504', '29.9545', '-90.0753', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46495, 'New Orleans', 2798, '70185', '504', '29.9545', '-90.0753', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46496, 'Cascade', 2800, '21719', '301', '39.70263', '-77.496664', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46497, 'Fort Ritchie', 2800, '21719', '301', '39.70263', '-77.496664', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46498, 'Highfield', 2800, '21719', '301', '39.70263', '-77.496664', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46499, 'Chewsville', 2800, '21721', '301', '39.6472', '-77.6308', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46500, 'Berlin', 2800, '21862', '410', '38.394336', '-75.208998', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46501, 'Showell', 2800, '21862', '410', '38.394336', '-75.208998', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46502, 'Linkwood', 2800, '21835', '410', '38.5379', '-75.933896', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46503, 'Mardela', 2800, '21837', '410', '38.473851', '-75.772464', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46504, 'Mardela Spgs', 2800, '21837', '410', '38.473851', '-75.772464', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46505, 'Mardela Springs', 2800, '21837', '410', '38.473851', '-75.772464', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46506, 'Stockton', 2800, '21864', '410', '38.045654', '-75.40797', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46507, 'Elliott', 2800, '21869', '410', '38.397594', '-75.885954', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46508, 'Salem', 2800, '21869', '410', '38.397594', '-75.885954', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46509, 'Vienna', 2800, '21869', '410', '38.397594', '-75.885954', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46510, 'Perryville', 2800, '21903', '410', '39.573079', '-76.043644', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46511, 'Hebron', 2800, '21830', '410', '38.406682', '-75.749888', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46512, 'Baltimore', 2800, '21229', '410', '39.280964', '-76.693617', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46513, 'Carroll', 2800, '21229', '410', '39.280964', '-76.693617', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46514, 'Baltimore', 2800, '21270', '443', '39.2905', '-76.6125', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46515, 'Reisterstown Rd Plaza', 2800, '21270', '443', '39.2905', '-76.6125', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46516, 'Baltimore', 2800, '21275', '443', '39.2905', '-76.6125', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46517, 'Silver Spring', 2800, '20993', '301', '39.033471', '-76.986628', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46518, 'Us Food And Drug Admin', 2800, '20993', '301', '39.033471', '-76.986628', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46519, 'Benson', 2800, '21018', '410', '39.5054', '-76.3869', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46520, 'Dayton', 2800, '21036', '410', '39.235848', '-77.008132', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46521, 'Ellicott', 2800, '21041', '410', '39.2673', '-76.7986', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46522, 'Oriole', 2800, '21853', '410', '38.195122', '-75.705796', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46523, 'Princess Anne', 2800, '21853', '410', '38.195122', '-75.705796', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46524, 'Easton Correctional Inst', 2800, '21871', '410', '38.090052', '-75.72983', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46525, 'Kingston', 2800, '21871', '410', '38.090052', '-75.72983', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46526, 'Rumbley', 2800, '21871', '410', '38.090052', '-75.72983', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46527, 'Westover', 2800, '21871', '410', '38.090052', '-75.72983', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46528, 'Warwick', 2800, '21912', '410', '39.431088', '-75.822895', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46529, 'Charlestown', 2800, '21914', '410', '39.574378', '-75.979622', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46530, 'Baltimore', 2800, '21240', '410', '39.17463', '-76.670921', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46531, 'Millersville', 2800, '21240', '410', '39.17463', '-76.670921', '2018-11-29 05:01:09', '2018-11-29 05:01:09'),\n(46532, 'Baltimore', 2800, '21244', '410', '39.333482', '-76.784446', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46533, 'Windsor Mill', 2800, '21244', '410', '39.333482', '-76.784446', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46534, 'Aber Prov Grd', 2800, '21010', '410', '39.367349', '-76.295893', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46535, 'Aberdeen Proving Ground', 2800, '21010', '410', '39.367349', '-76.295893', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46536, 'Edgewood Arsenal', 2800, '21010', '410', '39.367349', '-76.295893', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46537, 'Gunpowder', 2800, '21010', '410', '39.367349', '-76.295893', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46538, 'Clearwatr Bch', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46539, 'Curtis Bay', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46540, 'Greenland Bch', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46541, 'Greenland Beach', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46542, 'Orchard Beach', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46543, 'Stoney Beach', 2800, '21226', '410', '39.20697', '-76.561976', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46544, 'Baltimore', 2800, '21228', '410', '39.267542', '-76.74459', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46545, 'Catonsville', 2800, '21228', '410', '39.267542', '-76.74459', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46546, 'Baltimore', 2800, '21237', '410', '39.339096', '-76.495039', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46547, 'Rosedale', 2800, '21237', '410', '39.339096', '-76.495039', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46548, 'Baltimore', 2800, '21251', '443', '39.34227', '-76.582096', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46549, 'Morgan State University', 2800, '21251', '443', '39.34227', '-76.582096', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46550, 'Aberdeen', 2800, '21001', '410', '39.498258', '-76.198885', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46551, 'Davidsonville', 2800, '21035', '410', '38.936788', '-76.642206', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46552, 'Eden', 2800, '21822', '410', '38.278906', '-75.650992', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46553, 'Manokin', 2800, '21836', '410', '38.1156', '-75.7564', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46554, 'Sharptown', 2800, '21861', '410', '38.539369', '-75.719092', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46555, 'Snow Hill', 2800, '21863', '410', '38.196566', '-75.416196', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46556, 'Perry Point', 2800, '21902', '410', '39.553467', '-76.06333', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46557, 'Bainbridge', 2800, '21904', '410', '39.628905', '-76.069972', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46558, 'Port Deposit', 2800, '21904', '410', '39.628905', '-76.069972', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46559, 'Cecilton', 2800, '21913', '410', '39.404358', '-75.867785', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46560, 'Pocomoke', 2800, '21851', '410', '38.089986', '-75.545562', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46561, 'Pocomoke City', 2800, '21851', '410', '38.089986', '-75.545562', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46562, 'Fairmount', 2800, '21867', '410', '38.110246', '-75.79208', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46563, 'Upper Fairmount', 2800, '21867', '410', '38.110246', '-75.79208', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46564, 'Upper Fairmt', 2800, '21867', '410', '38.110246', '-75.79208', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46565, 'Upper Hill', 2800, '21867', '410', '38.110246', '-75.79208', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46566, 'North East', 2800, '21901', '410', '39.575594', '-75.949194', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46567, 'Northeast', 2800, '21901', '410', '39.575594', '-75.949194', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46568, 'Chesapeake City', 2800, '21915', '410', '39.502666', '-75.850436', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46569, 'Chesapeake Cy', 2800, '21915', '410', '39.502666', '-75.850436', '2018-11-29 05:01:10', '2018-11-29 05:01:10');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(46570, 'Brooklandville', 2800, '21022', '410', '39.4204', '-76.6704', '2018-11-29 05:01:10', '2018-11-29 05:01:10'),\n(46571, 'Brooklandvl', 2800, '21022', '410', '39.4204', '-76.6704', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46572, 'Edgewater', 2800, '21037', '410', '38.922855', '-76.544119', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46573, 'North Ocean City', 2800, '21842', '410', '38.387232', '-75.102379', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46574, 'Ocean City', 2800, '21842', '410', '38.387232', '-75.102379', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46575, 'West Ocean City', 2800, '21842', '410', '38.387232', '-75.102379', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46576, 'Delmar', 2800, '21875', '410', '38.451046', '-75.579051', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46577, 'Eastern Correctional Inst', 2800, '21890', '410', '38.0897', '-75.8286', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46578, 'Easton Correctional Inst', 2800, '21890', '410', '38.0897', '-75.8286', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46579, 'Westover', 2800, '21890', '410', '38.0897', '-75.8286', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46580, 'Braddock Hts', 2800, '21714', '301', '39.4186', '-77.5038', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46581, 'Buckeystown', 2800, '21717', '301', '39.33778', '-77.437001', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46582, 'Parsonsburg', 2800, '21849', '410', '38.376983', '-75.471158', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46583, 'Saint Clair', 2802, '48079', '810', '42.855632', '-82.546097', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46584, 'Saint Clair Township', 2802, '48079', '810', '42.855632', '-82.546097', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46585, 'St Clair', 2802, '48079', '810', '42.855632', '-82.546097', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46586, 'St Clair Township', 2802, '48079', '810', '42.855632', '-82.546097', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46587, 'St Clair Twp', 2802, '48079', '810', '42.855632', '-82.546097', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46588, 'Saint Clair Shores', 2802, '48081', '586', '42.493103', '-82.898505', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46589, 'Saint Clair Shrs', 2802, '48081', '586', '42.493103', '-82.898505', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46590, 'St Clair Shores', 2802, '48081', '586', '42.493103', '-82.898505', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46591, 'St Clair Shrs', 2802, '48081', '586', '42.493103', '-82.898505', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46592, 'St Clr Shores', 2802, '48081', '586', '42.493103', '-82.898505', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46593, 'St Clr Shrs', 2802, '48081', '586', '42.493103', '-82.898505', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46594, 'Capac', 2802, '48014', '810', '43.025795', '-82.937762', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46595, 'Mussey', 2802, '48014', '810', '43.025795', '-82.937762', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46596, 'Harsens Is', 2802, '48028', '810', '42.582765', '-82.612783', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46597, 'Harsens Island', 2802, '48028', '810', '42.582765', '-82.612783', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46598, 'Hazel Park', 2802, '48030', '248', '42.461706', '-83.098698', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46599, 'Chesterfield', 2802, '48047', '586', '42.675405', '-82.777588', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46600, 'Chesterfield Township', 2802, '48047', '586', '42.675405', '-82.777588', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46601, 'New Baltimore', 2802, '48047', '586', '42.675405', '-82.777588', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46602, 'Clay', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46603, 'Clay Township', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46604, 'Clay Twp', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46605, 'Pearl Beach', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46606, 'Russell Is', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46607, 'Russell Island', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46608, 'Macomb', 2802, '48044', '586', '42.650606', '-82.926036', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46609, 'Macomb Township', 2802, '48044', '586', '42.650606', '-82.926036', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46610, 'Macomb Twp', 2802, '48044', '586', '42.650606', '-82.926036', '2018-11-29 05:01:11', '2018-11-29 05:01:11'),\n(46611, 'Chesterfield', 2802, '48051', '586', '42.675152', '-82.813712', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46612, 'Chesterfield Township', 2802, '48051', '586', '42.675152', '-82.813712', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46613, 'New Baltimore', 2802, '48051', '586', '42.675152', '-82.813712', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46614, 'Royal Oak', 2802, '48067', '248', '42.4894', '-83.141672', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46615, 'Lathrup Village', 2802, '48076', '248', '42.498193', '-83.232213', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46616, 'Lathrup Vlg', 2802, '48076', '248', '42.498193', '-83.232213', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46617, 'Southfield', 2802, '48076', '248', '42.498193', '-83.232213', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46618, 'Algonac', 2802, '48001', '810', '42.635156', '-82.582461', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46619, 'Allenton', 2802, '48002', '810', '42.938888', '-82.92052', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46620, 'Berlin', 2802, '48002', '810', '42.938888', '-82.92052', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46621, 'Berlin Township', 2802, '48002', '810', '42.938888', '-82.92052', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46622, 'Berlin Twp', 2802, '48002', '810', '42.938888', '-82.92052', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46623, 'Berville', 2802, '48002', '810', '42.938888', '-82.92052', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46624, 'Bham', 2802, '48009', '248', '42.545787', '-83.215454', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46625, 'Birmingham', 2802, '48009', '248', '42.545787', '-83.215454', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46626, 'Beverly Hills', 2802, '48025', '248', '42.517744', '-83.266962', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46627, 'Bingham Farms', 2802, '48025', '248', '42.517744', '-83.266962', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46628, 'Franklin', 2802, '48025', '248', '42.517744', '-83.266962', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46629, 'Southfield Township', 2802, '48025', '248', '42.517744', '-83.266962', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46630, 'Goodells', 2802, '48027', '810', '42.944213', '-82.691863', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46631, 'Wales', 2802, '48027', '810', '42.944213', '-82.691863', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46632, 'Wales Township', 2802, '48027', '810', '42.944213', '-82.691863', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46633, 'Southfield', 2802, '48034', '248', '42.496992', '-83.290632', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46634, 'Memphis', 2802, '48041', '810', '42.932152', '-82.802907', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46635, 'Riley', 2802, '48041', '810', '42.932152', '-82.802907', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46636, 'Riley Township', 2802, '48041', '810', '42.932152', '-82.802907', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46637, 'Royal Oak', 2802, '48068', '248', '42.4894', '-83.1449', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46638, 'Troy', 2802, '48084', '248', '42.556376', '-83.177078', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46639, 'Dovray', 2803, '56183', '507', '44.03979', '-95.431962', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46640, 'Westbrook', 2803, '56183', '507', '44.03979', '-95.431962', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46641, 'Clara City', 2803, '56222', '320', '44.98542', '-95.350572', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46642, 'Danvers', 2803, '56231', '320', '45.281794', '-95.758048', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46643, 'Louisburg', 2803, '56256', '320', '45.012766', '-96.10843', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46644, 'Madison', 2803, '56256', '320', '45.012766', '-96.10843', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46645, 'Starbuck', 2803, '56381', '320', '45.549424', '-95.562642', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46646, 'Chandler', 2803, '56122', '507', '43.906457', '-95.936774', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46647, 'Ellsworth', 2803, '56129', '507', '43.53643', '-95.978568', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46648, 'Dundee', 2803, '56131', '507', '43.862799', '-95.565497', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46649, 'Fulda', 2803, '56131', '507', '43.862799', '-95.565497', '2018-11-29 05:01:12', '2018-11-29 05:01:12'),\n(46650, 'Kinbrae', 2803, '56131', '507', '43.862799', '-95.565497', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46651, 'Kenneth', 2803, '56147', '507', '43.761568', '-96.083149', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46652, 'Fillmore', 2803, '55990', '507', '43.719066', '-92.26942', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46653, 'Wykoff', 2803, '55990', '507', '43.719066', '-92.26942', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46654, 'Bland', 2804, '65014', '573', '38.316264', '-91.640199', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46655, 'Canaan', 2804, '65014', '573', '38.316264', '-91.640199', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46656, 'Cleavesville', 2804, '65014', '573', '38.316264', '-91.640199', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46657, 'Cooper Hill', 2804, '65014', '573', '38.316264', '-91.640199', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46658, 'Old Woolam', 2804, '65014', '573', '38.316264', '-91.640199', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46659, 'Red Bird', 2804, '65014', '573', '38.316264', '-91.640199', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46660, 'Cedron', 2804, '65046', '660', '38.783099', '-92.483423', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46661, 'Jamestown', 2804, '65046', '660', '38.783099', '-92.483423', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46662, 'Lupus', 2804, '65046', '660', '38.783099', '-92.483423', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46663, 'Sandy Hook', 2804, '65046', '660', '38.783099', '-92.483423', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46664, 'Mc Girk', 2804, '65055', '573', '38.6111', '-92.4808', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46665, 'Equality', 2804, '65082', '573', '38.230777', '-92.432972', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46666, 'Tuscumbia', 2804, '65082', '573', '38.230777', '-92.432972', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46667, 'Jefferson City', 2804, '65105', '573', '38.5764', '-92.1736', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46668, 'Jefferson Cty', 2804, '65105', '573', '38.5764', '-92.1736', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46669, 'Mo Dept Of Revenue', 2804, '65105', '573', '38.5764', '-92.1736', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46670, 'Columbia', 2804, '65216', '573', '38.957885', '-92.32657', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46671, 'Columbia College', 2804, '65216', '573', '38.957885', '-92.32657', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46672, 'Fayette', 2804, '65248', '660', '39.12117', '-92.662141', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46673, 'Martinsburg', 2804, '65264', '573', '39.080045', '-91.696486', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46674, 'Rush Hill', 2804, '65280', '573', '39.200724', '-91.73216', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46675, 'Santa Fe', 2804, '65282', '573', '39.420755', '-91.841102', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46676, 'Whiteman AFB', 2804, '65305', '660', '38.732844', '-93.564134', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46677, 'Whiteman Air Force Base', 2804, '65305', '660', '38.732844', '-93.564134', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46678, 'Blackburn', 2804, '65321', '660', '39.085157', '-93.41183', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46679, 'Elmwood', 2804, '65321', '660', '39.085157', '-93.41183', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46680, 'Gilliam', 2804, '65330', '660', '39.259966', '-92.959062', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46681, 'Grand Pass', 2804, '65339', '660', '39.225404', '-93.388963', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46682, 'Malta Bend', 2804, '65339', '660', '39.225404', '-93.388963', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46683, 'Otterville', 2804, '65348', '660', '38.70777', '-92.957182', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46684, 'Fort Leonard Wood', 2804, '65473', '573', '37.700396', '-92.117963', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46685, 'Ft Leonard Wd', 2804, '65473', '573', '37.700396', '-92.117963', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46686, 'Big Piney', 2804, '65550', '573', '37.872261', '-91.922575', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46687, 'Newburg', 2804, '65550', '573', '37.872261', '-91.922575', '2018-11-29 05:01:13', '2018-11-29 05:01:13'),\n(46688, 'Steelville', 2804, '65566', '573', '37.724343', '-91.122988', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46689, 'Viburnum', 2804, '65566', '573', '37.724343', '-91.122988', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46690, 'Branson', 2804, '65616', '417', '36.665488', '-93.241526', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46691, 'Bull Creek Village', 2804, '65616', '417', '36.665488', '-93.241526', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46692, 'Gretna', 2804, '65616', '417', '36.665488', '-93.241526', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46693, 'Marvel Cav Pk', 2804, '65616', '417', '36.665488', '-93.241526', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46694, 'Marvel Cave Park', 2804, '65616', '417', '36.665488', '-93.241526', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46695, 'Silver Dollar City', 2804, '65616', '417', '36.665488', '-93.241526', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46696, 'Butterfield', 2804, '65623', '417', '36.743855', '-93.925439', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46697, 'Cassville', 2804, '65623', '417', '36.743855', '-93.925439', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46698, 'Chestnutridge', 2804, '65630', '417', '36.84363', '-93.164608', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46699, 'Saddlebrooke', 2804, '65630', '417', '36.84363', '-93.164608', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46700, 'Flemington', 2804, '65650', '417', '37.773433', '-93.450698', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46701, 'Gainesville', 2804, '65655', '417', '36.581203', '-92.404958', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46702, 'Hollister', 2804, '65673', '417', '36.6239', '-93.2085', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46703, 'Kissee Mills', 2804, '65680', '417', '36.649904', '-92.994092', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46704, 'Lockwood', 2804, '65682', '417', '37.433515', '-93.93175', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46705, 'Berwick', 2804, '65723', '417', '36.927373', '-94.096674', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46706, 'Pierce City', 2804, '65723', '417', '36.927373', '-94.096674', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46707, 'Pleasant Hope', 2804, '65725', '417', '37.421055', '-93.260466', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46708, 'Preston', 2804, '65732', '417', '37.940906', '-93.1633', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46709, 'Ridgedale', 2804, '65739', '417', '36.527528', '-93.264568', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46710, 'Rockbridge', 2804, '65741', '417', '36.7913', '-92.4234', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46711, 'Strafford', 2804, '65757', '417', '37.287429', '-93.090557', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46712, 'Tunas', 2804, '65764', '417', '37.822776', '-92.966311', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46713, 'Souder', 2804, '65773', '417', '36.727252', '-92.540358', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46714, 'Wasola', 2804, '65773', '417', '36.727252', '-92.540358', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46715, 'Lanton', 2804, '65775', '417', '36.712532', '-91.885615', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46716, 'West Plains', 2804, '65775', '417', '36.712532', '-91.885615', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46717, 'Thayer', 2804, '65791', '417', '36.572927', '-91.560854', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46718, 'Springfield', 2804, '65809', '417', '37.157684', '-93.186204', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46719, 'Springfield', 2804, '65814', '417', '37.2155', '-93.2981', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46720, 'Bass Pro Shops', 2804, '65898', '417', '37.2155', '-93.2981', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46721, 'Springfield', 2804, '65898', '417', '37.2155', '-93.2981', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46722, 'Marys Home', 2804, '65032', '573', '38.345542', '-92.361675', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46723, 'Spring Garden', 2804, '65032', '573', '38.345542', '-92.361675', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46724, 'Gravois Mills', 2804, '65037', '573', '38.26391', '-92.854319', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46725, 'Koeltztown', 2804, '65048', '573', '38.316283', '-92.056096', '2018-11-29 05:01:14', '2018-11-29 05:01:14'),\n(46726, 'Bland', 2804, '65062', '573', '38.484138', '-91.598205', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46727, 'Mount Sterling', 2804, '65062', '573', '38.484138', '-91.598205', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46728, 'Mt Sterling', 2804, '65062', '573', '38.484138', '-91.598205', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46729, 'Armstrong', 2804, '65230', '660', '39.270064', '-92.702254', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46730, 'Roanoke', 2804, '65230', '660', '39.270064', '-92.702254', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46731, 'Dalton', 2804, '65246', '660', '39.389936', '-92.994042', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46732, 'Calhoun', 2804, '65323', '660', '38.450014', '-93.60835', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46733, 'Bixby', 2804, '65439', '573', '37.664084', '-91.068774', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46734, 'Bourbon', 2804, '65441', '573', '38.107868', '-91.218736', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46735, 'Elk Creek', 2804, '65464', '417', '37.185599', '-91.925037', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46736, 'Grogan', 2804, '65464', '417', '37.185599', '-91.925037', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46737, 'Tyrone', 2804, '65464', '417', '37.185599', '-91.925037', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46738, 'Mountain View', 2804, '65548', '417', '36.974296', '-91.769685', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46739, 'Raymondville', 2804, '65555', '417', '37.351732', '-91.770385', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46740, 'Roby', 2804, '65557', '417', '37.49679', '-92.098196', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46741, 'Solo', 2804, '65564', '417', '37.24161', '-91.968106', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46742, 'Vienna', 2804, '65582', '573', '38.200924', '-91.91922', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46743, 'Yukon', 2804, '65589', '417', '37.208824', '-91.81548', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46744, 'Aurora', 2804, '65605', '417', '36.889241', '-93.672592', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46745, 'Jenkins', 2804, '65605', '417', '36.889241', '-93.672592', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46746, 'Bradleyville', 2804, '65614', '417', '36.726974', '-92.876122', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46747, 'Eagle Rock', 2804, '65641', '417', '36.576293', '-93.761747', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46748, 'Garrison', 2804, '65657', '417', '36.8425', '-93.002376', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46749, 'Cabool', 2804, '65689', '417', '37.171989', '-92.05291', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46750, 'Springfield', 2804, '65807', '417', '37.171008', '-93.331857', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46751, 'Ellis Prairie', 2804, '65444', '417', '37.371542', '-92.060104', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46752, 'Edgar Springs', 2804, '65462', '573', '37.710992', '-91.915973', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46753, 'Hartshorn', 2804, '65479', '417', '37.292362', '-91.702432', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46754, 'High Gate', 2804, '65559', '573', '37.985202', '-91.607846', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46755, 'Rosati', 2804, '65559', '573', '37.985202', '-91.607846', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46756, 'Safe', 2804, '65559', '573', '37.985202', '-91.607846', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46757, 'Saint James', 2804, '65559', '573', '37.985202', '-91.607846', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46758, 'Doss', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46759, 'Gladden', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46760, 'Maples', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46761, 'Salem', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46762, 'Shannondale', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46763, 'Sligo', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46764, 'Timber', 2804, '65560', '573', '37.527651', '-91.439184', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46765, 'Bois D Arc', 2804, '65612', '417', '37.225108', '-93.578921', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46766, 'Cedarcreek', 2804, '65627', '417', '36.565726', '-93.016641', '2018-11-29 05:01:15', '2018-11-29 05:01:15'),\n(46767, 'Chadwick', 2804, '65629', '417', '36.8777', '-93.004508', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46768, 'Morrisville', 2804, '65645', '417', '37.4825', '-93.5378', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46769, 'Niangua', 2804, '65713', '417', '37.395604', '-92.749678', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46770, 'Bolivar', 2804, '65727', '417', '37.7598', '-93.295242', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46771, 'Polk', 2804, '65727', '417', '37.7598', '-93.295242', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46772, 'Pontiac', 2804, '65729', '417', '36.542323', '-92.554635', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46773, 'Powell', 2804, '65730', '417', '36.575192', '-94.173297', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46774, 'Dugginsville', 2804, '65761', '417', '36.604976', '-92.729818', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46775, 'Longrun', 2804, '65761', '417', '36.604976', '-92.729818', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46776, 'Ocie', 2804, '65761', '417', '36.604976', '-92.729818', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46777, 'Theodosia', 2804, '65761', '417', '36.604976', '-92.729818', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46778, 'Myrtle', 2804, '65778', '417', '36.526096', '-91.24829', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46779, 'Galmey', 2804, '65779', '417', '37.938649', '-93.388236', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46780, 'Wheatland', 2804, '65779', '417', '37.938649', '-93.388236', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46781, 'Utica', 2804, '64686', '660', '39.733492', '-93.600901', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46782, 'Adrian', 2804, '64720', '816', '38.433513', '-94.398772', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46783, 'Amoret', 2804, '64722', '660', '38.268391', '-94.562796', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46784, 'Foster', 2804, '64745', '660', '38.171077', '-94.552651', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46785, 'Garden City', 2804, '64747', '816', '38.572983', '-94.15553', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46786, 'Gunn City', 2804, '64747', '816', '38.572983', '-94.15553', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46787, 'Latour', 2804, '64747', '816', '38.572983', '-94.15553', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46788, 'Leeton', 2804, '64761', '660', '38.590232', '-93.681106', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46789, 'Lowry City', 2804, '64763', '417', '38.148512', '-93.679516', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46790, 'Montrose', 2804, '64770', '660', '38.270481', '-93.972808', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46791, 'Joplin', 2804, '64804', '417', '37.01267', '-94.492934', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46792, 'Loma Linda', 2804, '64804', '417', '37.01267', '-94.492934', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46793, 'Anderson', 2804, '64831', '417', '36.677418', '-94.453959', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46794, 'Lanagan', 2804, '64847', '417', '36.600247', '-94.460425', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46795, 'South West City', 2804, '64863', '417', '36.565178', '-94.5842', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46796, 'South West Cy', 2804, '64863', '417', '36.565178', '-94.5842', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46797, 'Hart', 2804, '64865', '417', '36.871054', '-94.541728', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46798, 'Hornet', 2804, '64865', '417', '36.871054', '-94.541728', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46799, 'Seneca', 2804, '64865', '417', '36.871054', '-94.541728', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46800, 'Gravois Mills', 2804, '65038', '573', '38.2067', '-92.8374', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46801, 'Laurie', 2804, '65038', '573', '38.2067', '-92.8374', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46802, 'Loose Creek', 2804, '65054', '573', '38.458279', '-91.95357', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46803, 'Osage Beach', 2804, '65065', '573', '38.121778', '-92.671313', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46804, 'Tipton', 2804, '65081', '660', '38.637043', '-92.782568', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46805, 'Ardmore', 2804, '65247', '660', '39.650046', '-92.46001', '2018-11-29 05:01:16', '2018-11-29 05:01:16'),\n(46806, 'College Mound', 2804, '65247', '660', '39.650046', '-92.46001', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46807, 'Excello', 2804, '65247', '660', '39.650046', '-92.46001', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46808, 'Woodville', 2804, '65247', '660', '39.650046', '-92.46001', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46809, 'Glasgow', 2804, '65254', '660', '39.218385', '-92.825054', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46810, 'Holliday', 2804, '65258', '660', '39.4787', '-92.14356', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46811, 'Ash', 2804, '65263', '660', '39.502222', '-92.213236', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46812, 'Madison', 2804, '65263', '660', '39.502222', '-92.213236', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46813, 'Middle Grove', 2804, '65263', '660', '39.502222', '-92.213236', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46814, 'Woodlawn', 2804, '65263', '660', '39.502222', '-92.213236', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46815, 'Mexico', 2804, '65265', '573', '39.200202', '-91.840596', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46816, 'Riversville', 2804, '65265', '573', '39.200202', '-91.840596', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46817, 'Vandiver', 2804, '65265', '573', '39.200202', '-91.840596', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46818, 'Vandiver Village', 2804, '65265', '573', '39.200202', '-91.840596', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46819, 'Florida', 2804, '65283', '573', '39.533531', '-91.825521', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46820, 'Stoutsville', 2804, '65283', '573', '39.533531', '-91.825521', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46821, 'Lakeview Heights', 2804, '65338', '660', '38.440118', '-93.401491', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46822, 'Lincoln', 2804, '65338', '660', '38.440118', '-93.401491', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46823, 'Palopinto', 2804, '65338', '660', '38.440118', '-93.401491', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46824, 'Nelson', 2804, '65347', '660', '38.98929', '-93.041205', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46825, 'Cook Sta', 2804, '65449', '573', '37.871728', '-91.460772', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46826, 'Davisville', 2804, '65456', '573', '37.785339', '-91.187232', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46827, 'Licking', 2804, '65542', '573', '37.492688', '-91.920349', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46828, 'Berryman', 2804, '65565', '573', '37.9098', '-91.310473', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46829, 'Courtois', 2804, '65565', '573', '37.9098', '-91.310473', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46830, 'Steelville', 2804, '65565', '573', '37.9098', '-91.310473', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46831, 'Stoutland', 2804, '65567', '417', '37.85936', '-92.507634', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46832, 'Alton', 2804, '65606', '417', '36.749953', '-91.398924', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46833, 'Brighton', 2804, '65617', '417', '37.458203', '-93.34517', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46834, 'Buffalo', 2804, '65622', '417', '37.614374', '-93.107448', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46835, 'Fair Play', 2804, '65649', '417', '37.625318', '-93.632328', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46836, 'Hartville', 2804, '65667', '417', '37.329502', '-92.534512', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46837, 'Humansville', 2804, '65674', '417', '37.774897', '-93.554614', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46838, 'Couch', 2804, '65690', '417', '36.572032', '-91.29041', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46839, 'Norwood', 2804, '65717', '417', '37.0595', '-92.414321', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46840, 'Phillipsburg', 2804, '65722', '417', '37.577118', '-92.759622', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46841, 'Protem', 2804, '65733', '417', '36.547422', '-92.836116', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46842, 'Shell Knob', 2804, '65747', '417', '36.596359', '-93.5752', '2018-11-29 05:01:17', '2018-11-29 05:01:17'),\n(46843, 'Viola', 2804, '65747', '417', '36.596359', '-93.5752', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46844, 'Washburn', 2804, '65772', '417', '36.565746', '-93.972274', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46845, 'Weaubleau', 2804, '65774', '417', '37.869164', '-93.5158', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46846, 'Pottersville', 2804, '65790', '417', '36.689298', '-92.056881', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46847, 'Springfield', 2804, '65801', '417', '37.2155', '-93.2981', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46848, 'Springfield', 2804, '65806', '417', '37.206124', '-93.303335', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46849, 'Springfield', 2804, '65890', '417', '37.2155', '-93.2981', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46850, 'Springfield Brm', 2804, '65890', '417', '37.2155', '-93.2981', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46851, 'Asheville', 2807, '28806', '828', '35.571619', '-82.621572', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46852, 'West Ashville', 2807, '28806', '828', '35.571619', '-82.621572', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46853, 'Asheville', 2807, '28813', '828', '35.6006', '-82.5545', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46854, 'Biltmor', 2807, '28813', '828', '35.6006', '-82.5545', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46855, 'Valdese', 2807, '28690', '828', '35.733204', '-81.581153', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46856, 'Goshen', 2807, '28697', '336', '36.137742', '-81.158399', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46857, 'Wilkesboro', 2807, '28697', '336', '36.137742', '-81.158399', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46858, 'Scotts', 2807, '28699', '704', '35.8425', '-81.0097', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46859, 'Arden', 2807, '28704', '828', '35.462322', '-82.575759', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46860, 'Oak Park', 2807, '28704', '828', '35.462322', '-82.575759', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46861, 'Royal Pines', 2807, '28704', '828', '35.462322', '-82.575759', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46862, 'West Haven', 2807, '28704', '828', '35.462322', '-82.575759', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46863, 'Alarka', 2807, '28713', '828', '35.445608', '-83.642504', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46864, 'Bryson City', 2807, '28713', '828', '35.445608', '-83.642504', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46865, 'Ela', 2807, '28713', '828', '35.445608', '-83.642504', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46866, 'Needmore', 2807, '28713', '828', '35.445608', '-83.642504', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46867, 'Sapphire', 2807, '28774', '828', '35.094063', '-83.003242', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46868, 'Lowes Co Inc', 2807, '28656', '336', '36.1585', '-81.1478', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46869, 'N Wilkesboro', 2807, '28656', '336', '36.1585', '-81.1478', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46870, 'North Wilkesboro', 2807, '28656', '336', '36.1585', '-81.1478', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46871, 'Columbus', 2807, '28722', '828', '35.250922', '-82.116662', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46872, 'Hudson', 2807, '28638', '828', '35.841336', '-81.477371', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46873, 'Winterville', 2807, '28590', '252', '35.522956', '-77.411902', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46874, 'Balm', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46875, 'Banner Elk', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46876, 'Hendersonville', 2807, '28758', '828', '35.376148', '-82.494136', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46877, 'Mountain Home', 2807, '28758', '828', '35.376148', '-82.494136', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46878, 'Mills River', 2807, '28759', '828', '35.373951', '-82.59792', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46879, 'Murphy', 2807, '28906', '828', '35.139744', '-84.103558', '2018-11-29 05:01:18', '2018-11-29 05:01:18'),\n(46880, 'Reese', 2807, '28692', '828', '36.278405', '-81.80394', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46881, 'Biltmore Lake', 2807, '28715', '828', '35.51259', '-82.714158', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46882, 'Candler', 2807, '28715', '828', '35.51259', '-82.714158', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46883, 'Penland', 2807, '28765', '828', '35.936027', '-82.111198', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46884, 'Hendersonville', 2807, '28793', '828', '35.3186', '-82.4613', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46885, 'Hendersonvlle', 2807, '28793', '828', '35.3186', '-82.4613', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46886, 'Asheville', 2807, '28810', '828', '35.5977', '-82.5566', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46887, 'Warne', 2807, '28909', '828', '35.011807', '-83.918818', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46888, 'Osbornville', 2807, '28689', '704', '36.041314', '-80.91722', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46889, 'Union Grove', 2807, '28689', '704', '36.041314', '-80.91722', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46890, 'Banner Elk', 2807, '28691', '828', '36.2107', '-81.8847', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46891, 'Valle Crucis', 2807, '28691', '828', '36.2107', '-81.8847', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46892, 'Balsam', 2807, '28707', '828', '35.418728', '-83.07925', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46893, 'Burnsville', 2807, '28714', '828', '35.891669', '-82.312339', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46894, 'Canton', 2807, '28716', '828', '35.459788', '-82.86773', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46895, 'Penrose', 2807, '28766', '828', '35.26116', '-82.624363', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46896, 'Tryon', 2807, '28782', '828', '35.228951', '-82.175788', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46897, 'Whittier', 2807, '28789', '828', '35.432342', '-83.266014', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46898, 'Pleasant Grove', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46899, 'Sunnyside', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46900, 'Altamont', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46901, 'Beech Bottom', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46902, 'Chestnut Dale', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46903, 'Cranberry Gap', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46904, 'Frank', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46905, 'Hughes', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46906, 'Ingalls', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46907, 'Newland', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46908, 'Pyatte', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46909, 'Roaring Creek', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46910, 'Senia', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46911, 'Spear', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46912, 'Stamey Branch', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46913, 'Three Mile', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46914, 'Valley', 2807, '28657', '828', '36.026391', '-81.933475', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46915, 'Icard', 2807, '28666', '828', '35.726121', '-81.47174', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46916, 'Sherrills Ford', 2807, '28673', '828', '35.601448', '-80.994261', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46917, 'Sherrills Frd', 2807, '28673', '828', '35.601448', '-80.994261', '2018-11-29 05:01:19', '2018-11-29 05:01:19'),\n(46918, 'Baton', 2807, '28630', '828', '35.836248', '-81.44957', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46919, 'Dudley Shoals', 2807, '28630', '828', '35.836248', '-81.44957', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46920, 'Grace Chapel', 2807, '28630', '828', '35.836248', '-81.44957', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46921, 'Granite Falls', 2807, '28630', '828', '35.836248', '-81.44957', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46922, 'Sawmills', 2807, '28630', '828', '35.836248', '-81.44957', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46923, 'Hildebran', 2807, '28637', '828', '35.720059', '-81.423754', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46924, 'Snow Hill', 2807, '28580', '252', '35.45113', '-77.655968', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46925, 'Bridgewater', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46926, 'Brindle Town', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46927, 'Burkemont', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46928, 'Calvin', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46929, 'Enola', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46930, 'Joy', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46931, 'Morganton', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46932, 'Oak Hill', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46933, 'Beech Mnt', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46934, 'Beech Mountain', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46935, 'Elk Valley', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46936, 'Foscoe', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46937, 'Grandfather', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46938, 'Kellersville', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46939, 'Matney', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46940, 'Norwood Hollow', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46941, 'Rominger', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46942, 'Seven Devils', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46943, 'Sugar Mountain', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46944, 'Sugar Mtn', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46945, 'White Rock', 2807, '28604', '828', '36.187108', '-81.831167', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46946, 'Boomer', 2807, '28606', '336', '36.058088', '-81.316149', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46947, 'Conover', 2807, '28613', '828', '35.741044', '-81.215278', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46948, 'Moravian Falls', 2807, '28654', '336', '36.064597', '-81.137997', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46949, 'Moravian Fls', 2807, '28654', '336', '36.064597', '-81.137997', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46950, 'Davis', 2807, '28524', '252', '34.790556', '-76.470922', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46951, 'Jacksonville', 2807, '28540', '910', '34.729522', '-77.498376', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46952, 'New River Marine Corps Air S', 2807, '28540', '910', '34.729522', '-77.498376', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46953, 'Merritt', 2807, '28556', '252', '35.116111', '-76.675154', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46954, 'New Bern', 2807, '28563', '252', '35.1084', '-77.0446', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46955, 'Cranberry', 2807, '28622', '828', '36.203675', '-81.952829', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46956, 'Darkridge', 2807, '28622', '828', '36.203675', '-81.952829', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46957, 'Elk Park', 2807, '28622', '828', '36.203675', '-81.952829', '2018-11-29 05:01:20', '2018-11-29 05:01:20'),\n(46958, 'Flat Springs', 2807, '28622', '828', '36.203675', '-81.952829', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46959, 'Heaton', 2807, '28622', '828', '36.203675', '-81.952829', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46960, 'Whaley', 2807, '28622', '828', '36.203675', '-81.952829', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46961, 'Raynham', 2807, '28340', '910', '34.440291', '-79.14981', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46962, 'Castle Hayne', 2807, '28429', '910', '34.337664', '-77.899708', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46963, 'Chadbourn', 2807, '28431', '910', '34.326844', '-78.849239', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46964, 'Holly Ridge', 2807, '28445', '910', '34.49116', '-77.544888', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46965, 'Surf City', 2807, '28445', '910', '34.49116', '-77.544888', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46966, 'Topsail Beach', 2807, '28445', '910', '34.49116', '-77.544888', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46967, 'Ivanhoe', 2807, '28447', '910', '34.580912', '-78.236162', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46968, 'Maple Hill', 2807, '28454', '910', '34.615399', '-77.747989', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46969, 'Tabor City', 2807, '28463', '910', '34.09293', '-78.791954', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46970, 'Whiteville', 2807, '28472', '910', '34.285434', '-78.63755', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46971, 'Hoffman', 2807, '28347', '910', '35.050194', '-79.549889', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46972, 'Linden', 2807, '28356', '910', '35.23131', '-78.783586', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46973, 'Olde Farm', 2807, '28390', '910', '35.228317', '-78.983116', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46974, 'Spring Lake', 2807, '28390', '910', '35.228317', '-78.983116', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46975, 'Wilm', 2807, '28406', '910', '34.2259', '-77.9451', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46976, 'Wilmington', 2807, '28406', '910', '34.2259', '-77.9451', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46977, 'Polkville', 2807, '28136', '704', '35.4108', '-81.6447', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46978, 'Shelby', 2807, '28136', '704', '35.4108', '-81.6447', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46979, 'Rockwell', 2807, '28138', '704', '35.52046', '-80.455747', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46980, 'Charlotte', 2807, '28270', '704', '35.113086', '-80.761833', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46981, 'Charlotte', 2807, '28272', '704', '35.2229', '-80.8452', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46982, 'Charlotte', 2807, '28288', '704', '35.2267', '-80.8434', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46983, 'Wachovia Bank', 2807, '28288', '704', '35.2267', '-80.8434', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46984, 'Fayetteville', 2807, '28304', '910', '35.017952', '-78.993155', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46985, 'Lafayette', 2807, '28304', '910', '35.017952', '-78.993155', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46986, 'Fayetteville', 2807, '28311', '910', '35.171484', '-78.895655', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46987, 'Aberdeen', 2807, '28315', '910', '35.123312', '-79.460264', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46988, 'Clinton', 2807, '28329', '910', '35.0021', '-78.3309', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46989, 'Fairmont', 2807, '28340', '910', '34.440291', '-79.14981', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46990, 'Horse Shoe', 2807, '28742', '828', '35.382408', '-82.64102', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46991, 'Barnardsville', 2807, '28709', '828', '35.75313', '-82.410935', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46992, 'Brevard', 2807, '28712', '828', '35.211194', '-82.75938', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46993, 'Skyland', 2807, '28776', '828', '35.4892', '-82.5246', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46994, 'Spruce Pine', 2807, '28777', '828', '35.90612', '-82.067116', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46995, 'Call', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46996, 'Cricket', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46997, 'Fairplains', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46998, 'Hunting Creek', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(46999, 'Mulberry', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:21', '2018-11-29 05:01:21'),\n(47000, 'N Wilkesboro', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47001, 'North Wilkesboro', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47002, 'Quarry', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47003, 'Spurgeon', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:22', '2018-11-29 05:01:22');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(47004, 'Windy Gap', 2807, '28659', '336', '36.168302', '-81.063274', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47005, 'E Flat Rock', 2807, '28726', '828', '35.28099', '-82.419278', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47006, 'East Flat Rock', 2807, '28726', '828', '35.28099', '-82.419278', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47007, 'Edneyville', 2807, '28727', '828', '35.3922', '-82.3425', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47008, 'Jonas Ridge', 2807, '28641', '828', '35.9725', '-81.8951', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47009, 'Apple Grove', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47010, 'Ball', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47011, 'Bly', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47012, 'Brandon', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47013, 'Comet', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47014, 'Dolinger', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47015, 'Farmers Store', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47016, 'Husk', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47017, 'Lansing', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47018, 'Little Horse Creek', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47019, 'Sturgills', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47020, 'Tuckerdale', 2807, '28643', '336', '36.517855', '-81.546664', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47021, 'Stony Point', 2807, '28678', '704', '35.839522', '-81.057495', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47022, 'Seven Springs', 2807, '28578', '919', '35.203394', '-77.885312', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47023, 'Appalachian State Univ', 2807, '28608', '828', '36.21414', '-81.678913', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47024, 'Boone', 2807, '28608', '828', '36.21414', '-81.678913', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47025, 'Albertson', 2807, '28508', '252', '35.093107', '-77.8212', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47026, 'Dover', 2807, '28526', '252', '35.260896', '-77.387335', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47027, 'Fort Barnwell', 2807, '28526', '252', '35.260896', '-77.387335', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47028, 'Asheville', 2807, '28814', '828', '35.6006', '-82.5545', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47029, 'Grace Sta', 2807, '28814', '828', '35.6006', '-82.5545', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47030, 'Asheville', 2807, '28816', '828', '35.6006', '-82.5545', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47031, 'W Asheville', 2807, '28816', '828', '35.6006', '-82.5545', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47032, 'Lake Lure', 2807, '28746', '828', '35.460404', '-82.178756', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47033, 'Micaville', 2807, '28755', '828', '35.91886', '-82.211551', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47034, 'Montreat', 2807, '28757', '828', '35.650341', '-82.299689', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47035, 'Hendersonville', 2807, '28792', '828', '35.389476', '-82.380912', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47036, 'Hendersonvlle', 2807, '28792', '828', '35.389476', '-82.380912', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47037, 'Kapps Mill', 2807, '28676', '336', '36.334376', '-80.864206', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47038, 'Mountain Park', 2807, '28676', '336', '36.334376', '-80.864206', '2018-11-29 05:01:22', '2018-11-29 05:01:22'),\n(47039, 'Dillsboro', 2807, '28725', '828', '35.371991', '-83.257232', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47040, 'Statesville', 2807, '28625', '704', '35.888144', '-80.891066', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47041, 'Glen Alpine', 2807, '28628', '828', '35.7287', '-81.7795', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47042, 'Laurel Spgs', 2807, '28644', '336', '36.439295', '-81.268174', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47043, 'Laurel Springs', 2807, '28644', '336', '36.439295', '-81.268174', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47044, 'State Rd', 2807, '28676', '336', '36.334376', '-80.864206', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47045, 'State Road', 2807, '28676', '336', '36.334376', '-80.864206', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47046, 'Bradfords Cross Roads', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47047, 'Celeste Hinkle', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47048, 'Charles', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47049, 'East Monbo', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47050, 'Elmwood', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47051, 'Eufola', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47052, 'Loray', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47053, 'Love Valley', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47054, 'Sharon', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47055, 'Statesville', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47056, 'Statesville West', 2807, '28677', '704', '35.722874', '-80.909847', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47057, 'Alliance', 2807, '28509', '252', '35.1477', '-76.8108', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47058, 'Arapahoe', 2807, '28510', '252', '35.001486', '-76.8044', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47059, 'Minnesott Bch', 2807, '28510', '252', '35.001486', '-76.8044', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47060, 'Minnesott Beach', 2807, '28510', '252', '35.001486', '-76.8044', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47061, 'Jacksonville', 2807, '28541', '910', '34.7538', '-77.4309', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47062, 'New Bern', 2807, '28560', '252', '35.099246', '-76.981852', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47063, 'New Bern', 2807, '28561', '252', '35.1084', '-77.0446', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47064, 'Shallotte', 2807, '28459', '910', '33.9593', '-78.431', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47065, 'Watha', 2807, '28478', '910', '34.63641', '-78.044986', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47066, 'Willard', 2807, '28478', '910', '34.63641', '-78.044986', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47067, 'Falcon', 2807, '28342', '910', '35.192968', '-78.649276', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47068, 'Stedman', 2807, '28391', '910', '35.032929', '-78.698866', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47069, 'Wilm', 2807, '28408', '910', '34.2296', '-77.9389', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47070, 'Wilmington', 2807, '28408', '910', '34.2296', '-77.9389', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47071, 'Wilm', 2807, '28411', '910', '34.294059', '-77.796455', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47072, 'Wilmington', 2807, '28411', '910', '34.294059', '-77.796455', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47073, 'Charlotte', 2807, '28274', '704', '35.189283', '-80.834012', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47074, 'Queens College', 2807, '28274', '704', '35.189283', '-80.834012', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47075, 'Charlotte', 2807, '28277', '704', '35.050811', '-80.822143', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47076, 'Hazelwood', 2807, '28738', '828', '35.4785', '-83.004', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47077, 'Double Island', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47078, 'Green Mountain', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:23', '2018-11-29 05:01:23'),\n(47079, 'Green Mt', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47080, 'Green Mtn', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47081, 'Greenmountain', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47082, 'Grn Mountain', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47083, 'Lower Pig Pen', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47084, 'Pleasant Gap', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47085, 'Relief', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47086, 'Upper Pig Pen', 2807, '28740', '828', '36.018059', '-82.268152', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47087, 'Little Switzerland', 2807, '28749', '828', '35.848319', '-82.077401', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47088, 'Ltl Switzrlnd', 2807, '28749', '828', '35.848319', '-82.077401', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47089, 'Mill Spring', 2807, '28756', '828', '35.335904', '-82.164235', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47090, 'Bayonne', 2811, '07002', '201', '40.67078', '-74.106366', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47091, 'Bergen Point', 2811, '07002', '201', '40.67078', '-74.106366', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47092, 'Pamrapo', 2811, '07002', '201', '40.67078', '-74.106366', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47093, 'Lk Intervale', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47094, 'Lyonsville', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47095, 'Meriden', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47096, 'Powerville', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47097, 'Rockaway Valley', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47098, 'Taylortown', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47099, 'Boonton', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47100, 'Boonton Township', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47101, 'Boonton Twp', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47102, 'Lake Intervale', 2811, '07005', '973', '40.935483', '-74.421716', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47103, 'N Plainfield', 2811, '07062', '908', '40.632206', '-74.402826', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47104, 'North Plainfield', 2811, '07062', '908', '40.632206', '-74.402826', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47105, 'Plainfield', 2811, '07062', '908', '40.632206', '-74.402826', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47106, 'New Providnce', 2811, '07974', '908', '40.697883', '-74.403979', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47107, 'New Vernon', 2811, '07976', '973', '40.733919', '-74.478482', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47108, 'Barnegat Lgt', 2811, '08006', '609', '39.7534', '-74.108586', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47109, 'Barnegat Light', 2811, '08006', '609', '39.7534', '-74.108586', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47110, 'Barnegat Light Boro', 2811, '08006', '609', '39.7534', '-74.108586', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47111, 'Browns Mills', 2811, '08015', '609', '39.941818', '-74.550074', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47112, 'Howell', 2811, '07731', '732', '40.152174', '-74.184991', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47113, 'Wall', 2811, '07731', '732', '40.152174', '-74.184991', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47114, 'Wall Township', 2811, '07731', '732', '40.152174', '-74.184991', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47115, 'Wall Twp', 2811, '07731', '732', '40.152174', '-74.184991', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47116, 'Kenvil', 2811, '07847', '973', '40.88601', '-74.622969', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47117, 'Stanhope', 2811, '07874', '973', '40.928471', '-74.719924', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47118, 'Branchville', 2811, '07890', '973', '41.1464', '-74.7528', '2018-11-29 05:01:24', '2018-11-29 05:01:24'),\n(47119, 'Selected Risks Insurance Co', 2811, '07890', '973', '41.1464', '-74.7528', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47120, 'Northvale', 2811, '07647', '201', '41.008074', '-73.9454', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47121, 'Rockleigh', 2811, '07647', '201', '41.008074', '-73.9454', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47122, 'Oradell', 2811, '07649', '201', '40.95625', '-74.026897', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47123, 'Aberdeen', 2811, '07747', '732', '40.414684', '-74.255162', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47124, 'Matawan', 2811, '07747', '732', '40.414684', '-74.255162', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47125, 'Strathmore', 2811, '07747', '732', '40.414684', '-74.255162', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47126, 'Ocean Grove', 2811, '07756', '732', '40.212384', '-74.007857', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47127, 'Cedar Beach', 2811, '07758', '732', '40.430575', '-74.102484', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47128, 'Port Monmouth', 2811, '07758', '732', '40.430575', '-74.102484', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47129, 'Tennent', 2811, '07763', '732', '40.2797', '-74.3349', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47130, 'Wayne', 2811, '07474', '201', '40.9255', '-74.2766', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47131, 'Wyckoff', 2811, '07481', '201', '40.99852', '-74.165079', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47132, 'Paterson', 2811, '07504', '973', '40.911227', '-74.143126', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47133, 'Hawthorne', 2811, '07506', '973', '40.95882', '-74.156467', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47134, 'Jersey City', 2811, '07306', '201', '40.74081', '-74.070422', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47135, 'Jersey City', 2811, '07399', '201', '40.7282', '-74.0784', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47136, 'Pershing', 2811, '07399', '201', '40.7282', '-74.0784', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47137, 'Paterson', 2811, '07513', '973', '40.907715', '-74.14672', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47138, 'Peoples Park', 2811, '07513', '973', '40.907715', '-74.14672', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47139, 'Paterson', 2811, '07522', '973', '40.922939', '-74.179487', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47140, 'Teterboro', 2811, '07608', '201', '40.854779', '-74.06303', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47141, 'Rahway', 2811, '07065', '732', '40.608682', '-74.280353', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47142, 'Springfield', 2811, '07081', '973', '40.698974', '-74.329094', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47143, 'Jersey City', 2811, '07097', '201', '40.7286', '-74.0775', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47144, 'Nj International And Bmc', 2811, '07097', '201', '40.7286', '-74.0775', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47145, 'Pequannock', 2811, '07440', '973', '40.947294', '-74.295484', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47146, 'Pequannock Township', 2811, '07440', '973', '40.947294', '-74.295484', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47147, 'Clifton', 2811, '07015', '973', '40.8583', '-74.1642', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47148, 'Maplecrest', 2811, '07040', '973', '40.736917', '-74.267956', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47149, 'Maplewood', 2811, '07040', '973', '40.736917', '-74.267956', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47150, 'Lower Montville', 2811, '07045', '973', '40.914421', '-74.366953', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47151, 'Montville', 2811, '07045', '973', '40.914421', '-74.366953', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47152, 'Montville Township', 2811, '07045', '973', '40.914421', '-74.366953', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47153, 'North Bergen', 2811, '07047', '201', '40.790389', '-74.020966', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47154, 'Tyler Park', 2811, '07047', '201', '40.790389', '-74.020966', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47155, 'Woodcliff', 2811, '07047', '201', '40.790389', '-74.020966', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47156, 'Jp Morgan Chase', 2811, '07188', '973', '40.7357', '-74.1725', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47157, 'Wallington', 2811, '07057', '973', '40.852622', '-74.108346', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47158, 'Muhlenberg', 2811, '07060', '908', '40.619705', '-74.427944', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47159, 'N Plainfield', 2811, '07060', '908', '40.619705', '-74.427944', '2018-11-29 05:01:25', '2018-11-29 05:01:25'),\n(47160, 'North Plainfield', 2811, '07060', '908', '40.619705', '-74.427944', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47161, 'Plainfield', 2811, '07060', '908', '40.619705', '-74.427944', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47162, 'Blackwood', 2811, '08012', '856', '39.785363', '-75.050033', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47163, 'Blenheim', 2811, '08012', '856', '39.785363', '-75.050033', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47164, 'Chews Landing', 2811, '08012', '856', '39.785363', '-75.050033', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47165, 'Hilltop', 2811, '08012', '856', '39.785363', '-75.050033', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47166, 'Lakeland', 2811, '08012', '856', '39.785363', '-75.050033', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47167, 'Turnersville', 2811, '08012', '856', '39.785363', '-75.050033', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47168, 'Englishtown', 2811, '07726', '732', '40.276909', '-74.362408', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47169, 'Manalapan', 2811, '07726', '732', '40.276909', '-74.362408', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47170, 'Tranquility', 2811, '07879', '973', '40.9564', '-74.8086', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47171, 'Lodi', 2811, '07644', '973', '40.878301', '-74.081916', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47172, 'Montvale', 2811, '07645', '201', '41.054986', '-74.045945', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47173, 'Township Of Washington', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47174, 'Twp Washingtn', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47175, 'Twp Washinton', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47176, 'Washington Tnshp', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47177, 'Washington Township', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47178, 'Washington Twnshp', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47179, 'Washington Twp', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47180, 'Washington Twps', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47181, 'Saddle River', 2811, '07458', '201', '41.045696', '-74.097748', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47182, 'U Saddle Riv', 2811, '07458', '201', '41.045696', '-74.097748', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47183, 'Upper Saddle River', 2811, '07458', '201', '41.045696', '-74.097748', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47184, 'Beemerville', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47185, 'Colesville', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47186, 'High Point', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47187, 'High Point Park', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47188, 'Sussex', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47189, 'Wallkill Lake', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47190, 'Wantage', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47191, 'Wantage Twp', 2811, '07461', '973', '41.2484', '-74.601089', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47192, 'Washington Twsp', 2811, '07676', '201', '40.988744', '-74.063214', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47193, 'Asbury Park', 2811, '07712', '732', '40.246726', '-74.049037', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47194, 'Interlaken', 2811, '07712', '732', '40.246726', '-74.049037', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47195, 'Ocean', 2811, '07712', '732', '40.246726', '-74.049037', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47196, 'Tinton Falls', 2811, '07712', '732', '40.246726', '-74.049037', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47197, 'Wanamassa', 2811, '07712', '732', '40.246726', '-74.049037', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47198, 'Wayside', 2811, '07712', '732', '40.246726', '-74.049037', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47199, 'Fair Lawn', 2811, '07410', '201', '40.936252', '-74.119497', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47200, 'Fairlawn', 2811, '07410', '201', '40.936252', '-74.119497', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47201, 'Radburn', 2811, '07410', '201', '40.936252', '-74.119497', '2018-11-29 05:01:26', '2018-11-29 05:01:26'),\n(47202, 'Paterson', 2811, '07511', '973', '40.9169', '-74.1723', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47203, 'Totowa', 2811, '07511', '973', '40.9169', '-74.1723', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47204, 'Paterson', 2811, '07544', '973', '40.9169', '-74.1723', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47205, 'Demarest', 2811, '07627', '201', '40.954255', '-73.956208', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47206, 'Moonachie', 2811, '07074', '201', '40.839267', '-74.058904', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47207, 'Wood Ridge', 2811, '07075', '201', '40.851668', '-74.086864', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47208, 'Wood-Ridge', 2811, '07075', '201', '40.851668', '-74.086864', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47209, 'Scotch Plains', 2811, '07076', '908', '40.639706', '-74.366586', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47210, 'Nutley', 2811, '07110', '973', '40.821634', '-74.156726', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47211, 'Pompton Falls', 2811, '07442', '973', '41.002956', '-74.285106', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47212, 'Pompton Lakes', 2811, '07442', '973', '41.002956', '-74.285106', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47213, 'Cedar Grove', 2811, '07009', '973', '40.857168', '-74.228125', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47214, 'Overbrook', 2811, '07009', '973', '40.857168', '-74.228125', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47215, 'Garwood', 2811, '07027', '908', '40.650181', '-74.323077', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47216, 'Montclair', 2811, '07042', '973', '40.811988', '-74.215975', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47217, 'Port Republic', 2811, '08241', '609', '39.528519', '-74.464416', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47218, 'Sea Isle City', 2811, '08243', '609', '39.151466', '-74.693372', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47219, 'Townsend Inlt', 2811, '08243', '609', '39.151466', '-74.693372', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47220, 'Townsends Inlet', 2811, '08243', '609', '39.151466', '-74.693372', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47221, 'Strathmere', 2811, '08248', '609', '39.194632', '-74.661566', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47222, 'Lenola', 2811, '08057', '856', '39.976434', '-74.943091', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47223, 'Moorestown', 2811, '08057', '856', '39.976434', '-74.943091', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47224, 'Verga', 2811, '08093', '856', '39.862913', '-75.14872', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47225, 'West Deptford', 2811, '08093', '856', '39.862913', '-75.14872', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47226, 'Westville', 2811, '08093', '856', '39.862913', '-75.14872', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47227, 'Westville Grove', 2811, '08093', '856', '39.862913', '-75.14872', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47228, 'Collingswood', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47229, 'Haddon Township', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47230, 'Haddon Twp', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47231, 'Oaklyn', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47232, 'W Colls', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47233, 'West Collingswood', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47234, 'Woodlynne', 2811, '08107', '856', '39.90816', '-75.083576', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47235, 'Billingsport', 2811, '08066', '856', '39.834349', '-75.218005', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47236, 'Paulsboro', 2811, '08066', '856', '39.834349', '-75.218005', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47237, 'West Deptford', 2811, '08066', '856', '39.834349', '-75.218005', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47238, 'Rancocas', 2811, '08073', '609', '40.010161', '-74.86302', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47239, 'Stratford', 2811, '08084', '856', '39.830214', '-75.016135', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47240, 'Gladstone', 2811, '07934', '908', '40.715468', '-74.685409', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47241, 'Basking Ridge', 2811, '07939', '908', '40.7061', '-74.5494', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47242, 'Lyons', 2811, '07939', '908', '40.7061', '-74.5494', '2018-11-29 05:01:27', '2018-11-29 05:01:27'),\n(47243, 'Grenloch', 2811, '08032', '856', '39.780073', '-75.060278', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47244, 'Harrisonville', 2811, '08039', '856', '39.679861', '-75.267731', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47245, 'Beach Haven West', 2811, '08050', '609', '39.704254', '-74.263674', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47246, 'Cedar Bonnet Island', 2811, '08050', '609', '39.704254', '-74.263674', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47247, 'Manahawkin', 2811, '08050', '609', '39.704254', '-74.263674', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47248, 'Stafford Township', 2811, '08050', '609', '39.704254', '-74.263674', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47249, 'Stafford Twp', 2811, '08050', '609', '39.704254', '-74.263674', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47250, 'Belvidere', 2811, '07823', '908', '40.827938', '-75.031956', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47251, 'Barrington', 2811, '08007', '856', '39.863954', '-75.053658', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47252, 'Deal', 2811, '07723', '732', '40.250587', '-74.00244', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47253, 'Deal Park', 2811, '07723', '732', '40.250587', '-74.00244', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47254, 'Columbia', 2811, '07832', '908', '41.027788', '-74.992774', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47255, 'Landing', 2811, '07850', '973', '40.906889', '-74.665282', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47256, 'Stillwater', 2811, '07875', '973', '41.0359', '-74.8787', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47257, 'Englewd Clfs', 2811, '07632', '201', '40.882714', '-73.947163', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47258, 'Englewood', 2811, '07632', '201', '40.882714', '-73.947163', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47259, 'Englewood Cliffs', 2811, '07632', '201', '40.882714', '-73.947163', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47260, 'Teaneck', 2811, '07666', '201', '40.888461', '-74.012066', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47261, 'West Englewood', 2811, '07666', '201', '40.888461', '-74.012066', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47262, 'Old Tappan', 2811, '07675', '201', '41.009864', '-74.007072', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47263, 'River Vale', 2811, '07675', '201', '41.009864', '-74.007072', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47264, 'Rivervale', 2811, '07675', '201', '41.009864', '-74.007072', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47265, 'Westwood', 2811, '07675', '201', '41.009864', '-74.007072', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47266, 'Monmouth Bch', 2811, '07750', '732', '40.334033', '-73.985298', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47267, 'Monmouth Beach', 2811, '07750', '732', '40.334033', '-73.985298', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47268, 'Elberon Park', 2811, '07755', '732', '40.2636', '-74.02166', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47269, 'Oakhurst', 2811, '07755', '732', '40.2636', '-74.02166', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47270, 'Pompton Junction', 2811, '07457', '973', '40.9927', '-74.312467', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47271, 'Riverdale', 2811, '07457', '973', '40.9927', '-74.312467', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47272, 'Gordon Lakes', 2811, '07480', '973', '41.083456', '-74.379682', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47273, 'Pine Cliff Lake', 2811, '07480', '973', '41.083456', '-74.379682', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47274, 'Shady Lake', 2811, '07480', '973', '41.083456', '-74.379682', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47275, 'West Milford', 2811, '07480', '973', '41.083456', '-74.379682', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47276, 'West Milford Lakes', 2811, '07480', '973', '41.083456', '-74.379682', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47277, 'Paterson', 2811, '07505', '973', '40.91758', '-74.172967', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47278, 'Elizabeth', 2811, '07207', '908', '40.6639', '-74.2111', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47279, 'Ellis Island', 2811, '07305', '201', '40.692524', '-74.075359', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47280, 'Greenville', 2811, '07305', '201', '40.692524', '-74.075359', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47281, 'Jersey City', 2811, '07305', '201', '40.692524', '-74.075359', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47282, 'Awosting', 2811, '07421', '973', '41.164454', '-74.354031', '2018-11-29 05:01:28', '2018-11-29 05:01:28'),\n(47283, 'Greenwood Lake', 2811, '07421', '973', '41.164454', '-74.354031', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47284, 'Hewitt', 2811, '07421', '973', '41.164454', '-74.354031', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47285, 'Upper Greenwood Lake', 2811, '07421', '973', '41.164454', '-74.354031', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47286, 'Maywood', 2811, '07607', '201', '40.902152', '-74.06149', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47287, 'Port Reading', 2811, '07064', '732', '40.569336', '-74.248632', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47288, 'E Rutherford', 2811, '07073', '201', '40.820006', '-74.090955', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47289, 'East Rutherford', 2811, '07073', '201', '40.820006', '-74.090955', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47290, 'Short Hills', 2811, '07078', '973', '40.739018', '-74.332002', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47291, 'Bergenline', 2811, '07087', '201', '40.766727', '-74.030336', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47292, 'Summit Avenue', 2811, '07087', '201', '40.766727', '-74.030336', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47293, 'Union City', 2811, '07087', '201', '40.766727', '-74.030336', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47294, 'Newark', 2811, '07103', '973', '40.738732', '-74.194526', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47295, 'Ironbound', 2811, '07105', '973', '40.723698', '-74.145958', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47296, 'Newark', 2811, '07105', '973', '40.723698', '-74.145958', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47297, 'Darlington', 2811, '07446', '201', '41.060624', '-74.144466', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47298, 'Ramsey', 2811, '07446', '201', '41.060624', '-74.144466', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47299, 'Essex Fells', 2811, '07021', '973', '40.82369', '-74.279738', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47300, 'Castle Point', 2811, '07030', '201', '40.744718', '-74.029994', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47301, 'Hoboken', 2811, '07030', '201', '40.744718', '-74.029994', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47302, 'Uptown', 2811, '07030', '201', '40.744718', '-74.029994', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47303, 'Washington Street', 2811, '07030', '201', '40.744718', '-74.029994', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47304, 'Mountain Lakes', 2811, '07046', '973', '40.89304', '-74.440746', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47305, 'Mountain Lks', 2811, '07046', '973', '40.89304', '-74.440746', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47306, 'Newark', 2811, '07112', '973', '40.710512', '-74.210148', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47307, 'Weequahic', 2811, '07112', '973', '40.710512', '-74.210148', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47308, 'Bank Of America', 2811, '07189', '973', '40.7357', '-74.1725', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47309, 'Newark', 2811, '07189', '973', '40.7357', '-74.1725', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47310, 'Clinton', 2811, '08809', '908', '40.656346', '-74.926185', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47311, 'Edison', 2811, '08818', '732', '40.5248', '-74.3827', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47312, 'Hampton', 2811, '08827', '908', '40.672857', '-74.975125', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47313, 'Martinsville', 2811, '08836', '732', '40.6009', '-74.554096', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47314, 'Nj Motor Vehicles', 2811, '08666', '609', '40.2167', '-74.7433', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47315, 'Trenton', 2811, '08666', '609', '40.2167', '-74.7433', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47316, 'Lacey Township', 2811, '08734', '609', '39.864732', '-74.171546', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47317, 'Lanoka Harbor', 2811, '08734', '609', '39.864732', '-74.171546', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47318, 'Manasquan', 2811, '08736', '732', '40.119616', '-74.068731', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47319, 'Wall', 2811, '08736', '732', '40.119616', '-74.068731', '2018-11-29 05:01:29', '2018-11-29 05:01:29'),\n(47320, 'Wall Township', 2811, '08736', '732', '40.119616', '-74.068731', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47321, 'Wall Twp', 2811, '08736', '732', '40.119616', '-74.068731', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47322, 'Quakertown', 2811, '08868', '908', '40.5658', '-74.9418', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47323, 'Readington', 2811, '08870', '908', '40.5688', '-74.7383', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47324, 'Trenton', 2811, '08602', '609', '40.2167', '-74.7433', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47325, 'Hamilton', 2811, '08609', '609', '40.226132', '-74.738273', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47326, 'Trenton', 2811, '08609', '609', '40.226132', '-74.738273', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47327, 'Ewing', 2811, '08618', '609', '40.25444', '-74.78759', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47328, 'Ewing Township', 2811, '08618', '609', '40.25444', '-74.78759', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47329, 'Ewing Twp', 2811, '08618', '609', '40.25444', '-74.78759', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47330, 'Trenton', 2811, '08618', '609', '40.25444', '-74.78759', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47331, 'Dorchester', 2811, '08316', '856', '39.273713', '-74.971977', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47332, 'Centerton', 2811, '08318', '856', '39.544563', '-75.202683', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47333, 'Daretown', 2811, '08318', '856', '39.544563', '-75.202683', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47334, 'Elmer', 2811, '08318', '856', '39.544563', '-75.202683', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47335, 'Pittsgrov Twp', 2811, '08318', '856', '39.544563', '-75.202683', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47336, 'Pittsgrove', 2811, '08318', '856', '39.544563', '-75.202683', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47337, 'Pittsgrove Township', 2811, '08318', '856', '39.544563', '-75.202683', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47338, 'Greenwich', 2811, '08323', '856', '39.390832', '-75.36485', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47339, 'Greenwich Township', 2811, '08323', '856', '39.390832', '-75.36485', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47340, 'Rosenhayn', 2811, '08352', '856', '39.473915', '-75.130026', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47341, 'Florence', 2811, '08518', '609', '40.116099', '-74.807352', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47342, 'Beesleys Point', 2811, '08223', '609', '39.265074', '-74.660984', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47343, 'Marmora', 2811, '08223', '609', '39.265074', '-74.660984', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47344, 'Palermo', 2811, '08223', '609', '39.265074', '-74.660984', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47345, 'Northfield', 2811, '08225', '609', '39.356934', '-74.538148', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47346, 'Bargaintown', 2811, '08234', '609', '39.38696', '-74.624018', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47347, 'Egg Harbor Township', 2811, '08234', '609', '39.38696', '-74.624018', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47348, 'Egg Harbor Twp', 2811, '08234', '609', '39.38696', '-74.624018', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47349, 'Egg Hbr Twp', 2811, '08234', '609', '39.38696', '-74.624018', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47350, 'Mckee City', 2811, '08234', '609', '39.38696', '-74.624018', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47351, 'Steelmanville', 2811, '08234', '609', '39.38696', '-74.624018', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47352, 'Harrison Township', 2811, '08062', '856', '39.712472', '-75.21305', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47353, 'Mullica Hill', 2811, '08062', '856', '39.712472', '-75.21305', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47354, 'S Harrisn Twp', 2811, '08062', '856', '39.712472', '-75.21305', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47355, 'S Harrison Twp', 2811, '08062', '856', '39.712472', '-75.21305', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47356, 'South Harrison Township', 2811, '08062', '856', '39.712472', '-75.21305', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47357, 'National Park', 2811, '08063', '856', '39.868718', '-75.184378', '2018-11-29 05:01:30', '2018-11-29 05:01:30'),\n(47358, 'West Deptford', 2811, '08063', '856', '39.868718', '-75.184378', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47359, 'Cinnaminson', 2811, '08077', '856', '40.002367', '-74.994698', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47360, 'Cinnaminson Township', 2811, '08077', '856', '40.002367', '-74.994698', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47361, 'Riverton', 2811, '08077', '856', '40.002367', '-74.994698', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47362, 'Barnsboro', 2811, '08080', '856', '39.762752', '-75.120951', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47363, 'Cross Keys', 2811, '08080', '856', '39.762752', '-75.120951', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47364, 'Hurffville', 2811, '08080', '856', '39.762752', '-75.120951', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47365, 'Sewell', 2811, '08080', '856', '39.762752', '-75.120951', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47366, 'Chester', 2811, '07930', '908', '40.78468', '-74.68242', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47367, 'Millington', 2811, '07946', '908', '40.679124', '-74.505077', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47368, 'Morristown', 2811, '07960', '973', '40.7818', '-74.49472', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47369, 'Glendora', 2811, '08029', '856', '39.841876', '-75.068196', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47370, 'Brooklawn', 2811, '08030', '856', '39.890602', '-75.118556', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47371, 'Gloucester', 2811, '08030', '856', '39.890602', '-75.118556', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47372, 'Gloucester City', 2811, '08030', '856', '39.890602', '-75.118556', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47373, 'Gloucester Cy', 2811, '08030', '856', '39.890602', '-75.118556', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47374, 'Gloucstr City', 2811, '08030', '856', '39.890602', '-75.118556', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47375, 'Lawnside', 2811, '08045', '856', '39.868573', '-75.030106', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47376, 'Branchville', 2811, '07827', '973', '41.288743', '-74.758189', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47377, 'Montague', 2811, '07827', '973', '41.288743', '-74.758189', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47378, 'Sandyston', 2811, '07827', '973', '41.288743', '-74.758189', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47379, 'Buttzville', 2811, '07829', '908', '40.8324', '-75.0068', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47380, 'Pottersville', 2811, '07979', '908', '40.70492', '-74.727092', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47381, 'Mine Hill', 2811, '07803', '973', '40.880137', '-74.600716', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47382, 'Mount Freedom', 2811, '07970', '973', '40.810961', '-74.575269', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47383, 'Atco', 2811, '08004', '856', '39.774364', '-74.837627', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47384, 'Waterford Township', 2811, '08004', '856', '39.774364', '-74.837627', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47385, 'West Atco', 2811, '08004', '856', '39.774364', '-74.837627', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47386, 'West Belmar', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47387, 'Bradley Beach', 2811, '07720', '732', '40.201914', '-74.012138', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47388, 'Cliffwood', 2811, '07721', '732', '40.436851', '-74.233976', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47389, 'Flanders', 2811, '07836', '973', '40.852094', '-74.701031', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47390, 'Roxbury Township', 2811, '07836', '973', '40.852094', '-74.701031', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47391, 'Roxbury Twp', 2811, '07836', '973', '40.852094', '-74.701031', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47392, 'Glasser', 2811, '07837', '973', '40.9901', '-74.6205', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47393, 'Great Meadows', 2811, '07838', '908', '40.884326', '-74.919792', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47394, 'Ledgewood', 2811, '07852', '973', '40.882014', '-74.662266', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47395, 'Schooleys Mountain', 2811, '07870', '908', '40.7994', '-74.8142', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47396, 'Schooleys Mtn', 2811, '07870', '908', '40.7994', '-74.8142', '2018-11-29 05:01:31', '2018-11-29 05:01:31'),\n(47397, 'Sparta', 2811, '07871', '973', '41.054158', '-74.612805', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47398, 'Summit', 2811, '07901', '908', '40.71228', '-74.361706', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47399, 'Bedminster', 2811, '07921', '908', '40.656005', '-74.685524', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47400, 'Neptune', 2811, '07753', '732', '40.216897', '-74.074201', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47401, 'Neptune City', 2811, '07753', '732', '40.216897', '-74.074201', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47402, 'Shark River Hills', 2811, '07753', '732', '40.216897', '-74.074201', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47403, 'Tinton Falls', 2811, '07753', '732', '40.216897', '-74.074201', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47404, 'Wall', 2811, '07753', '732', '40.216897', '-74.074201', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47405, 'Wall Township', 2811, '07753', '732', '40.216897', '-74.074201', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47406, 'Red Bank', 2811, '07701', '732', '40.356745', '-74.075105', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47407, 'Tinton Falls', 2811, '07701', '732', '40.356745', '-74.075105', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47408, 'Westboro', 2811, '07701', '732', '40.356745', '-74.075105', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47409, 'Red Bank', 2811, '07702', '732', '40.326683', '-74.056884', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47410, 'Shrewsbury', 2811, '07702', '732', '40.326683', '-74.056884', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47411, 'Fort Monmouth', 2811, '07703', '732', '40.305622', '-74.060064', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47412, 'Red Bank', 2811, '07703', '732', '40.305622', '-74.060064', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47413, 'Fair Haven', 2811, '07704', '732', '40.359386', '-74.036692', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47414, 'Red Bank', 2811, '07704', '732', '40.359386', '-74.036692', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47415, 'Belmar', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47416, 'Lake Como', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47417, 'S Belmar', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47418, 'Shark River Manor', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47419, 'South Belmar', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47420, 'W Belmar', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47421, 'Wall', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47422, 'Wall Township', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47423, 'Wall Twp', 2811, '07719', '732', '40.165618', '-74.073624', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47424, 'Union Square', 2811, '07201', '908', '40.67229', '-74.177876', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47425, 'Bayway', 2811, '07202', '908', '40.65083', '-74.215865', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47426, 'Elizabeth', 2811, '07202', '908', '40.65083', '-74.215865', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47427, 'Elmora', 2811, '07202', '908', '40.65083', '-74.215865', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47428, 'Parkandbush', 2811, '07202', '908', '40.65083', '-74.215865', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47429, 'Bloomingdale', 2811, '07403', '973', '41.033381', '-74.331649', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47430, 'Glenwood', 2811, '07418', '973', '41.24294', '-74.49403', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47431, 'Hamburg', 2811, '07419', '973', '41.152966', '-74.571815', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47432, 'Hardyston', 2811, '07419', '973', '41.152966', '-74.571815', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47433, 'Bogota', 2811, '07603', '201', '40.87528', '-74.030141', '2018-11-29 05:01:32', '2018-11-29 05:01:32');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(47434, 'Hasbrouck Heights', 2811, '07604', '201', '40.862624', '-74.074318', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47435, 'Hasbrouck Hts', 2811, '07604', '201', '40.862624', '-74.074318', '2018-11-29 05:01:32', '2018-11-29 05:01:32'),\n(47436, 'Towaco', 2811, '07082', '973', '40.925551', '-74.347589', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47437, 'Weehawken', 2811, '07086', '201', '40.768654', '-74.016939', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47438, 'Green Pond', 2811, '07435', '973', '41.070738', '-74.453244', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47439, 'Greenpond', 2811, '07435', '973', '41.070738', '-74.453244', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47440, 'Newfoundland', 2811, '07435', '973', '41.070738', '-74.453244', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47441, 'Ridgewood', 2811, '07451', '201', '40.9792', '-74.1168', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47442, 'Cranford', 2811, '07016', '908', '40.656317', '-74.303959', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47443, 'Lincoln Park', 2811, '07035', '973', '40.927546', '-74.304312', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47444, 'Orange', 2811, '07051', '973', '40.7708', '-74.2333', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47445, 'Cenlar Bank', 2811, '07184', '973', '40.7357', '-74.1725', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47446, 'Newark', 2811, '07184', '973', '40.7357', '-74.1725', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47447, 'Betsytown', 2811, '07201', '908', '40.67229', '-74.177876', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47448, 'Elizabeth', 2811, '07201', '908', '40.67229', '-74.177876', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47449, 'Peterstown', 2811, '07201', '908', '40.67229', '-74.177876', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47450, 'Newark', 2811, '07188', '973', '40.7357', '-74.1725', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47451, 'Fairfield', 2811, '07004', '973', '40.876582', '-74.297628', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47452, 'Parsippany', 2811, '07054', '973', '40.854216', '-74.404497', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47453, 'Parsippany Troy Hills', 2811, '07054', '973', '40.854216', '-74.404497', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47454, 'Troy Hills', 2811, '07054', '973', '40.854216', '-74.404497', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47455, 'Albuquerque', 2812, '87108', '505', '35.06928', '-106.577461', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47456, 'Albuquerque', 2812, '87131', '505', '35.091192', '-106.620256', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47457, 'Univ Of New Mexico', 2812, '87131', '505', '35.091192', '-106.620256', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47458, 'Unm', 2812, '87131', '505', '35.091192', '-106.620256', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47459, 'Albuquerque', 2812, '87158', '505', '35.0844', '-106.6508', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47460, 'Public Service Co', 2812, '87158', '505', '35.0844', '-106.6508', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47461, 'Albuquerque', 2812, '87192', '505', '35.0844', '-106.6508', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47462, 'Fort Wingate Army Depot', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47463, 'Gallup', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47464, 'Manuelito', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47465, 'Pinedale', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47466, 'Senator Clarke Field', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47467, 'Tohlakai', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47468, 'Twin Lakes', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47469, 'Williams Acres', 2812, '87301', '505', '35.389999', '-108.622265', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47470, 'Brimhall', 2812, '87310', '505', '35.81305', '-108.576602', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47471, 'Gallup', 2812, '87310', '505', '35.81305', '-108.576602', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47472, 'Albuquerque', 2812, '87120', '505', '35.123559', '-106.761221', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47473, 'Albuquerque', 2812, '87122', '505', '35.171354', '-106.496047', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47474, 'Albuquerque', 2812, '87187', '505', '35.0848', '-106.6517', '2018-11-29 05:01:33', '2018-11-29 05:01:33'),\n(47475, 'Gallup', 2812, '87302', '505', '35.5281', '-108.7418', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47476, 'Sw Indian Foundation', 2812, '87302', '505', '35.5281', '-108.7418', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47477, 'Gallup', 2812, '87305', '505', '35.357029', '-108.809494', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47478, 'Mexican Spgs', 2812, '87320', '505', '35.778357', '-108.845964', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47479, 'Mexican Springs', 2812, '87320', '505', '35.778357', '-108.845964', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47480, 'El Morro National Monument', 2812, '87321', '505', '35.132444', '-108.505004', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47481, 'Ramah', 2812, '87321', '505', '35.132444', '-108.505004', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47482, 'Tinaja', 2812, '87321', '505', '35.132444', '-108.505004', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47483, 'Santa Fe', 2812, '87504', '505', '35.6868', '-105.9372', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47484, 'Jaconita', 2812, '87506', '505', '35.798604', '-106.028904', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47485, 'Nambe', 2812, '87506', '505', '35.798604', '-106.028904', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47486, 'San Ildefonso', 2812, '87506', '505', '35.798604', '-106.028904', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47487, 'San Ildefonso Pueblo', 2812, '87506', '505', '35.798604', '-106.028904', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47488, 'Santa Fe', 2812, '87506', '505', '35.798604', '-106.028904', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47489, 'Chimayo', 2812, '87522', '505', '36.027324', '-105.777971', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47490, 'Cundiyo', 2812, '87522', '505', '36.027324', '-105.777971', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47491, 'El Portero', 2812, '87522', '505', '36.027324', '-105.777971', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47492, 'El Rincon De Los Trujillos', 2812, '87522', '505', '36.027324', '-105.777971', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47493, 'Rio Chiquito', 2812, '87522', '505', '36.027324', '-105.777971', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47494, 'Sanctuario', 2812, '87522', '505', '36.027324', '-105.777971', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47495, 'Cordova', 2812, '87523', '505', '36.0076', '-105.8609', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47496, 'Chili', 2812, '87537', '505', '36.054845', '-106.250123', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47497, 'El Duende', 2812, '87537', '505', '36.054845', '-106.250123', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47498, 'Hernandez', 2812, '87537', '505', '36.054845', '-106.250123', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47499, 'La Madera', 2812, '87539', '505', '36.293792', '-106.116561', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47500, 'Servilleta Plaza', 2812, '87539', '505', '36.293792', '-106.116561', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47501, 'Pilar', 2812, '87571', '505', '36.410918', '-105.525839', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47502, 'Pot Creek', 2812, '87571', '505', '36.410918', '-105.525839', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47503, 'Ranchito', 2812, '87571', '505', '36.410918', '-105.525839', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47504, 'Taos', 2812, '87571', '505', '36.410918', '-105.525839', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47505, 'Taos Pueblo', 2812, '87571', '505', '36.410918', '-105.525839', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47506, 'Valle Escondido', 2812, '87571', '505', '36.410918', '-105.525839', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47507, 'Aragon', 2812, '87820', '505', '33.95296', '-108.655365', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47508, 'Datil', 2812, '87820', '505', '33.95296', '-108.655365', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47509, 'Lemitar', 2812, '87823', '505', '34.171063', '-106.913518', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47510, 'Hatch', 2812, '87937', '505', '32.624387', '-107.103596', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47511, 'Rodey', 2812, '87937', '505', '32.624387', '-107.103596', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47512, 'Las Cruces', 2812, '88006', '505', '32.3123', '-106.7776', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47513, 'Las Cruces', 2812, '88007', '505', '32.399078', '-106.913106', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47514, 'Fierro', 2812, '88041', '505', '32.893038', '-108.086197', '2018-11-29 05:01:34', '2018-11-29 05:01:34'),\n(47515, 'Hanover', 2812, '88041', '505', '32.893038', '-108.086197', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47516, 'San Lorenzo', 2812, '88041', '505', '32.893038', '-108.086197', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47517, 'Sherman', 2812, '88041', '505', '32.893038', '-108.086197', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47518, 'Radium Spgs', 2812, '88054', '505', '32.5017', '-106.9256', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47519, 'Radium Sprgs', 2812, '88054', '505', '32.5017', '-106.9256', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47520, 'Radium Springs', 2812, '88054', '505', '32.5017', '-106.9256', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47521, 'Lordsburg', 2812, '88055', '505', '32.780772', '-108.857084', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47522, 'Redrock', 2812, '88055', '505', '32.780772', '-108.857084', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47523, 'Vado', 2812, '88072', '505', '32.1194', '-106.631658', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47524, 'House', 2812, '88121', '505', '34.759423', '-103.953556', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47525, 'Melrose', 2812, '88124', '505', '34.54883', '-103.660834', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47526, 'Carlsbad', 2812, '88221', '505', '32.4206', '-104.2286', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47527, 'Loving', 2812, '88256', '505', '32.202912', '-104.02233', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47528, 'Fort Stanton', 2812, '88323', '505', '33.490004', '-105.538606', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47529, 'Ft Stanton', 2812, '88323', '505', '33.490004', '-105.538606', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47530, 'Elk', 2812, '88339', '505', '32.881714', '-105.504128', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47531, 'Flying H', 2812, '88339', '505', '32.881714', '-105.504128', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47532, 'Mayhill', 2812, '88339', '505', '32.881714', '-105.504128', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47533, 'Mescalero', 2812, '88340', '505', '33.196596', '-105.6241', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47534, 'Albuquerque', 2812, '87117', '505', '35.0565', '-106.559', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47535, 'Kirtland AFB', 2812, '87117', '505', '35.0565', '-106.559', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47536, 'Albuquerque', 2812, '87174', '505', '35.0844', '-106.6508', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47537, 'Rio Rancho', 2812, '87174', '505', '35.0844', '-106.6508', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47538, 'Gallup', 2812, '87317', '505', '35.596584', '-108.753482', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47539, 'Gamerco', 2812, '87317', '505', '35.596584', '-108.753482', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47540, 'Bisti', 2812, '87401', '505', '36.464714', '-108.139779', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47541, 'Farmington', 2812, '87401', '505', '36.464714', '-108.139779', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47542, 'Farmington Municipal Airport', 2812, '87401', '505', '36.464714', '-108.139779', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47543, 'Agua Fria', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47544, 'Chupadero', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47545, 'Cuyamungue', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47546, 'Hyde Park Estates', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47547, 'Jacona', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47548, 'Nambe', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47549, 'Pojoaque', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47550, 'San Ildefonso Pueblo', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47551, 'Albuquerque', 2812, '87119', '505', '35.0621', '-106.6148', '2018-11-29 05:01:35', '2018-11-29 05:01:35'),\n(47552, 'Albuquerque', 2812, '87121', '505', '35.026574', '-106.784444', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47553, 'Five Points', 2812, '87121', '505', '35.026574', '-106.784444', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47554, 'Albuquerque', 2812, '87153', '505', '35.0844', '-106.6508', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47555, 'Albuquerque', 2812, '87185', '505', '35.0844', '-106.6508', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47556, 'Defiance', 2812, '87319', '505', '35.49352', '-108.894194', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47557, 'Gallup', 2812, '87319', '505', '35.49352', '-108.894194', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47558, 'Mentmore', 2812, '87319', '505', '35.49352', '-108.894194', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47559, 'Navajo Dam', 2812, '87419', '505', '36.840934', '-107.694888', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47560, 'Waterflow', 2812, '87421', '505', '36.796648', '-108.385154', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47561, 'Newcomb', 2812, '87455', '505', '36.282198', '-108.714806', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47562, 'New Mexico State Capitol', 2812, '87503', '505', '35.6868', '-105.9372', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47563, 'Santa Fe', 2812, '87503', '505', '35.6868', '-105.9372', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47564, 'La Cienga', 2812, '87505', '505', '35.614824', '-105.878783', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47565, 'Santa Fe', 2812, '87505', '505', '35.614824', '-105.878783', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47566, 'Chama', 2812, '87520', '505', '36.89712', '-106.604868', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47567, 'Guadalupita', 2812, '87722', '505', '36.108326', '-105.123252', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47568, 'Holman', 2812, '87723', '505', '36.060661', '-105.377597', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47569, 'Watrous', 2812, '87753', '505', '35.9178', '-104.952504', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47570, 'Datil', 2812, '87821', '505', '33.890316', '-108.205292', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47571, 'Horse Springs', 2812, '87821', '505', '33.890316', '-108.205292', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47572, 'Las Cruces', 2812, '88005', '505', '32.283761', '-107.002487', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47573, 'Anthony', 2812, '88021', '505', '31.990619', '-106.651897', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47574, 'Chaparral', 2812, '88021', '505', '31.990619', '-106.651897', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47575, 'La Union', 2812, '88021', '505', '31.990619', '-106.651897', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47576, 'Bayard', 2812, '88023', '505', '32.716868', '-107.888929', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47577, 'Vanadium', 2812, '88023', '505', '32.716868', '-107.888929', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47578, 'Gila', 2812, '88038', '505', '33.051662', '-108.424346', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47579, 'Hobbs', 2812, '88240', '505', '32.637764', '-103.439314', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47580, 'Oil Center', 2812, '88240', '505', '32.637764', '-103.439314', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47581, 'Hobbs', 2812, '88241', '505', '32.7028', '-103.1356', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47582, 'Loco Hills', 2812, '88255', '505', '32.724619', '-103.982434', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47583, 'Hi Rls Mtn Pk', 2812, '88325', '505', '32.818124', '-105.839394', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47584, 'Hi Rolls Mt Park', 2812, '88325', '505', '32.818124', '-105.839394', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47585, 'High Rolls', 2812, '88325', '505', '32.818124', '-105.839394', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47586, 'High Rolls Mountain Park', 2812, '88325', '505', '32.818124', '-105.839394', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47587, 'Mountain Park', 2812, '88325', '505', '32.818124', '-105.839394', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47588, 'Orogrande', 2812, '88342', '505', '32.3714', '-106.0839', '2018-11-29 05:01:36', '2018-11-29 05:01:36'),\n(47589, 'Bunkerville', 2813, '89007', '702', '36.721871', '-114.134987', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47590, 'Sanitaria Spg', 2814, '13833', '607', '42.195913', '-75.760719', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47591, 'Sanitaria Springs', 2814, '13833', '607', '42.195913', '-75.760719', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47592, 'Darien Center', 2814, '14040', '585', '42.879751', '-78.38577', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47593, 'Delevan', 2814, '14042', '716', '42.467144', '-78.481822', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47594, 'Amherst', 2814, '14051', '716', '43.044214', '-78.698155', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47595, 'E Amherst', 2814, '14051', '716', '43.044214', '-78.698155', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47596, 'East Amherst', 2814, '14051', '716', '43.044214', '-78.698155', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47597, 'Swormville', 2814, '14051', '716', '43.044214', '-78.698155', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47598, 'Endicott', 2814, '13763', '607', '42.0984', '-76.0497', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47599, 'Fishs Eddy', 2814, '13774', '607', '41.959336', '-75.186196', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47600, 'Sidney', 2814, '13838', '607', '42.292668', '-75.389864', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47601, 'Smithboro', 2814, '13840', '607', '42.0339', '-76.4009', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47602, 'Richville', 2814, '13681', '315', '44.433526', '-75.37161', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47603, 'Andes', 2814, '13731', '845', '42.13337', '-74.779703', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47604, 'Bovina Center', 2814, '13740', '607', '42.272066', '-74.749724', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47605, 'Elm Grove', 2814, '13808', '607', '42.529028', '-75.255752', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47606, 'Filer Corners', 2814, '13808', '607', '42.529028', '-75.255752', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47607, 'Maple Grove', 2814, '13808', '607', '42.529028', '-75.255752', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47608, 'Morris', 2814, '13808', '607', '42.529028', '-75.255752', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47609, 'Fineview', 2814, '13640', '315', '44.324063', '-75.988917', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47610, 'Wellesley Is', 2814, '13640', '315', '44.324063', '-75.988917', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47611, 'Wellesley Island', 2814, '13640', '315', '44.324063', '-75.988917', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47612, 'Natural Brg', 2814, '13665', '315', '44.098954', '-75.506644', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47613, 'Natural Bridge', 2814, '13665', '315', '44.098954', '-75.506644', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47614, 'Colliersville', 2814, '13747', '607', '42.4908', '-74.9825', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47615, 'Brownville', 2814, '13615', '315', '44.007406', '-75.976794', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47616, 'Paddy Hill', 2814, '13615', '315', '44.007406', '-75.976794', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47617, 'Clayton', 2814, '13624', '315', '44.220101', '-76.105619', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47618, 'Frontenac', 2814, '13624', '315', '44.220101', '-76.105619', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47619, 'Grenell', 2814, '13624', '315', '44.220101', '-76.105619', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47620, 'Grindstone', 2814, '13624', '315', '44.220101', '-76.105619', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47621, 'Murray Isle', 2814, '13624', '315', '44.220101', '-76.105619', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47622, 'Pierrepnt Mnr', 2814, '13674', '315', '43.7353', '-76.0592', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47623, 'Pierrepont Manor', 2814, '13674', '315', '43.7353', '-76.0592', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47624, 'Brm Customer', 2814, '13449', '315', '43.2125', '-75.4562', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47625, 'Rome', 2814, '13449', '315', '43.2125', '-75.4562', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47626, 'Paris', 2814, '13456', '315', '43.001387', '-75.25179', '2018-11-29 05:01:37', '2018-11-29 05:01:37'),\n(47627, 'Sauquoit', 2814, '13456', '315', '43.001387', '-75.25179', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47628, 'Solsville', 2814, '13465', '315', '42.9107', '-75.5181', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47629, 'Hecla', 2814, '13490', '315', '43.116139', '-75.431483', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47630, 'Westmoreland', 2814, '13490', '315', '43.116139', '-75.431483', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47631, 'Pitcairn', 2814, '13648', '315', '44.153372', '-75.28333', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47632, 'Newton Falls', 2814, '13666', '315', '44.209658', '-74.973552', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47633, 'Davenport', 2814, '13750', '607', '42.473914', '-74.844305', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47634, 'North Kortright', 2814, '13750', '607', '42.473914', '-74.844305', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47635, 'Sturges Corner', 2814, '13750', '607', '42.473914', '-74.844305', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47636, 'Utica', 2814, '13505', '315', '43.1009', '-75.2331', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47637, 'Adams', 2814, '13605', '315', '43.807456', '-76.041142', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47638, 'Smithville', 2814, '13605', '315', '43.807456', '-76.041142', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47639, 'Alex Bay', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47640, 'Alexandra Bay', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47641, 'Alexandria', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47642, 'Alexandria Bay', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47643, 'Collins Landing', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47644, 'Edgewood Park', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47645, 'Point Vivian', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47646, 'St Lawrence Park', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47647, 'Westminster Park', 2814, '13607', '315', '44.31534', '-75.930942', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47648, 'Chase Mills', 2814, '13621', '315', '44.847876', '-75.06696', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47649, 'Sangerfield', 2814, '13455', '315', '42.9137', '-75.3796', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47650, 'Bonney', 2814, '13464', '607', '42.665742', '-75.624686', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47651, 'Smyrna', 2814, '13464', '607', '42.665742', '-75.624686', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47652, 'Upperville', 2814, '13464', '607', '42.665742', '-75.624686', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47653, 'Annsville', 2814, '13471', '315', '43.380382', '-75.61964', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47654, 'Point Rock', 2814, '13471', '315', '43.380382', '-75.61964', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47655, 'Taberg', 2814, '13471', '315', '43.380382', '-75.61964', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47656, 'Houseville', 2814, '13473', '315', '43.650668', '-75.435912', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47657, 'Turin', 2814, '13473', '315', '43.650668', '-75.435912', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47658, 'W Burlington', 2814, '13482', '607', '42.698995', '-75.168', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47659, 'West Burlington', 2814, '13482', '607', '42.698995', '-75.168', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47660, 'Stela Niagara', 2814, '14092', '716', '43.170412', '-78.987974', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47661, 'Stella Niagara', 2814, '14092', '716', '43.170412', '-78.987974', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47662, 'Snyder', 2814, '14215', '716', '42.933362', '-78.809134', '2018-11-29 05:01:38', '2018-11-29 05:01:38'),\n(47663, 'Buffalo', 2814, '14224', '716', '42.83708', '-78.748415', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47664, 'West Seneca', 2814, '14224', '716', '42.83708', '-78.748415', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47665, 'Buffalo', 2814, '14240', '716', '42.8885', '-78.8246', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47666, 'W Windsor', 2814, '13865', '607', '42.069028', '-75.645361', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47667, 'West Windsor', 2814, '13865', '607', '42.069028', '-75.645361', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47668, 'Windsor', 2814, '13865', '607', '42.069028', '-75.645361', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47669, 'Olcott', 2814, '14126', '716', '43.3366', '-78.7192', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47670, 'Ransomville', 2814, '14131', '716', '43.235123', '-78.906692', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47671, 'Tonawanda', 2814, '14151', '716', '43.0205', '-78.8807', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47672, 'Varysburg', 2814, '14167', '585', '42.738926', '-78.318626', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47673, 'Fenton', 2814, '13833', '607', '42.195913', '-75.760719', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47674, 'Port Crane', 2814, '13833', '607', '42.195913', '-75.760719', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47675, 'Whites Store', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47676, 'Pyrites', 2814, '13677', '315', '44.5149', '-75.1862', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47677, 'Thous Is Pk', 2814, '13692', '315', '44.3008', '-76.0192', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47678, 'Thousand Island Park', 2814, '13692', '315', '44.3008', '-76.0192', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47679, 'Thousnd Is Pk', 2814, '13692', '315', '44.3008', '-76.0192', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47680, 'Waddington', 2814, '13694', '315', '44.849699', '-75.198932', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47681, 'Laurens', 2814, '13796', '607', '42.546094', '-75.153585', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47682, 'West Laurens', 2814, '13796', '607', '42.546094', '-75.153585', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47683, 'Mount Vision', 2814, '13810', '607', '42.609378', '-75.114821', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47684, 'Hailesboro', 2814, '13645', '315', '44.3102', '-75.4467', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47685, 'Castle Creek', 2814, '13744', '607', '42.233562', '-75.899332', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47686, 'Chenango Brg', 2814, '13745', '607', '42.1664', '-75.8628', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47687, 'Chenango Bridge', 2814, '13745', '607', '42.1664', '-75.8628', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47688, 'Yorkville', 2814, '13495', '315', '43.110103', '-75.283015', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47689, 'Colton', 2814, '13625', '315', '44.350964', '-74.839908', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47690, 'Deferiet', 2814, '13628', '315', '44.0359', '-75.6842', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47691, 'Sherburne', 2814, '13460', '607', '42.695779', '-75.457763', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47692, 'Sherrill', 2814, '13461', '315', '43.068868', '-75.60325', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47693, 'Vernon', 2814, '13476', '315', '43.090529', '-75.510998', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47694, 'Vernon Center', 2814, '13477', '315', '43.036593', '-75.524381', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47695, 'Hicksville', 2814, '11854', '516', '40.7683', '-73.5258', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47696, 'Hicksville Firms', 2814, '11854', '516', '40.7683', '-73.5258', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47697, 'E Marion', 2814, '11939', '631', '41.127965', '-72.333841', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47698, 'East Marion', 2814, '11939', '631', '41.127965', '-72.333841', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47699, 'Moriches', 2814, '11955', '631', '40.804375', '-72.823556', '2018-11-29 05:01:39', '2018-11-29 05:01:39'),\n(47700, 'New Suffolk', 2814, '11956', '631', '40.980132', '-72.468378', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47701, 'Speonk', 2814, '11972', '631', '40.818115', '-72.701414', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47702, 'Upton', 2814, '11973', '631', '40.8696', '-72.8875', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47703, 'Ocean Beach', 2814, '11770', '631', '40.645722', '-73.154261', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47704, 'Seaview', 2814, '11770', '631', '40.645722', '-73.154261', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47705, 'Centre Island', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47706, 'Cove Neck', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47707, 'Laurel Hollow', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47708, 'Muttontown', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47709, 'Oyster Bay', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47710, 'Oyster Bay Cove', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47711, 'Upper Brookville', 2814, '11771', '516', '40.875368', '-73.52824', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47712, 'Smithtown', 2814, '11787', '631', '40.861506', '-73.209306', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47713, 'Village Of The Branch', 2814, '11787', '631', '40.861506', '-73.209306', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47714, 'Hauppauge', 2814, '11788', '631', '40.819432', '-73.210127', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47715, 'Smithtown', 2814, '11788', '631', '40.819432', '-73.210127', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47716, 'Head Of The Harbor', 2814, '11790', '631', '40.90604', '-73.125124', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47717, 'Stony Brook', 2814, '11790', '631', '40.90604', '-73.125124', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47718, 'Stonybrook', 2814, '11790', '631', '40.90604', '-73.125124', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47719, 'Island Trees', 2814, '11756', '516', '40.723513', '-73.517345', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47720, 'Levittown', 2814, '11756', '516', '40.723513', '-73.517345', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47721, 'Plainedge', 2814, '11756', '516', '40.723513', '-73.517345', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47722, 'Babylon', 2814, '11704', '631', '40.716392', '-73.367108', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47723, 'W Babylon', 2814, '11704', '631', '40.716392', '-73.367108', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47724, 'West Babylon', 2814, '11704', '631', '40.716392', '-73.367108', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47725, 'Center Port', 2814, '11721', '631', '40.894403', '-73.371354', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47726, 'Centerport', 2814, '11721', '631', '40.894403', '-73.371354', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47727, 'Lakeview', 2814, '11570', '516', '40.668417', '-73.638891', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47728, 'Rockville Center', 2814, '11570', '516', '40.668417', '-73.638891', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47729, 'Rockville Centre', 2814, '11570', '516', '40.668417', '-73.638891', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47730, 'Rockville Ctr', 2814, '11570', '516', '40.668417', '-73.638891', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47731, 'Rvc', 2814, '11570', '516', '40.668417', '-73.638891', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47732, 'Oceanside', 2814, '11572', '516', '40.634438', '-73.638572', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47733, 'Rockville Center', 2814, '11572', '516', '40.634438', '-73.638572', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47734, 'Rockville Centre', 2814, '11572', '516', '40.634438', '-73.638572', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47735, 'Rockville Ctr', 2814, '11572', '516', '40.634438', '-73.638572', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47736, 'Rvc', 2814, '11572', '516', '40.634438', '-73.638572', '2018-11-29 05:01:40', '2018-11-29 05:01:40'),\n(47737, 'New Cassel', 2814, '11590', '516', '40.756502', '-73.580142', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47738, 'Westbury', 2814, '11590', '516', '40.756502', '-73.580142', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47739, 'Brooklyn', 2814, '11236', '718', '40.639866', '-73.899428', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47740, 'Jamaica', 2814, '11405', '718', '40.6917', '-73.8061', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47741, 'Motor Vehicle Bureau', 2814, '11405', '718', '40.6917', '-73.8061', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47742, 'Queens', 2814, '11405', '718', '40.6917', '-73.8061', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47743, 'Jamaica', 2814, '11419', '718', '40.688364', '-73.822763', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47744, 'Queens', 2814, '11419', '718', '40.688364', '-73.822763', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47745, 'S Richmond Hill', 2814, '11419', '718', '40.688364', '-73.822763', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47746, 'S Richmond Hl', 2814, '11419', '718', '40.688364', '-73.822763', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47747, 'South Richmond Hill', 2814, '11419', '718', '40.688364', '-73.822763', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47748, 'Astoria', 2814, '11102', '718', '40.770844', '-73.92606', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47749, 'Long Is City', 2814, '11102', '718', '40.770844', '-73.92606', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47750, 'Long Island City', 2814, '11102', '718', '40.770844', '-73.92606', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47751, 'Queens', 2814, '11102', '718', '40.770844', '-73.92606', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47752, 'Tomkins Cove', 2814, '10986', '845', '41.280132', '-73.988315', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47753, 'Tuxedo', 2814, '10987', '845', '41.2081', '-74.245117', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47754, 'Tuxedo Park', 2814, '10987', '845', '41.2081', '-74.245117', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47755, 'Great Neck', 2814, '11020', '516', '40.771945', '-73.712534', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47756, 'Great Nk', 2814, '11020', '516', '40.771945', '-73.712534', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47757, 'Grt Neck', 2814, '11020', '516', '40.771945', '-73.712534', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47758, 'Gt Neck', 2814, '11020', '516', '40.771945', '-73.712534', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47759, 'Lake Success', 2814, '11020', '516', '40.771945', '-73.712534', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47760, 'University Gardens', 2814, '11020', '516', '40.771945', '-73.712534', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47761, 'Citicorp', 2814, '11120', '718', '40.7448', '-73.9494', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47762, 'Long Is City', 2814, '11120', '718', '40.7448', '-73.9494', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47763, 'Long Island City', 2814, '11120', '718', '40.7448', '-73.9494', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47764, 'Queens', 2814, '11120', '718', '40.7448', '-73.9494', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47765, 'Brooklyn', 2814, '11219', '718', '40.633388', '-73.996767', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47766, 'Brooklyn', 2814, '11221', '718', '40.692502', '-73.927079', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47767, 'New Rochelle', 2814, '10801', '914', '40.91574', '-73.782885', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47768, 'New Rochelle', 2814, '10802', '914', '40.9116', '-73.7826', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47769, 'New Rochelle', 2814, '10804', '914', '40.950516', '-73.78768', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47770, 'Wykagyl', 2814, '10804', '914', '40.950516', '-73.78768', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47771, 'Airmont', 2814, '10901', '845', '41.138464', '-74.106053', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47772, 'Montebello', 2814, '10901', '845', '41.138464', '-74.106053', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47773, 'Suffern', 2814, '10901', '845', '41.138464', '-74.106053', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47774, 'Florida', 2814, '10921', '845', '41.316278', '-74.363374', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47775, 'Harpursville', 2814, '13787', '607', '42.209062', '-75.674202', '2018-11-29 05:01:41', '2018-11-29 05:01:41'),\n(47776, 'South Nineveh', 2814, '13787', '607', '42.209062', '-75.674202', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47777, 'Freetown', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47778, 'Freetown Corners', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47779, 'Galatia', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47780, 'Hunts Corners', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47781, 'Lapeer', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47782, 'Marathon', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47783, 'Messengerville', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47784, 'Texas Valley', 2814, '13803', '607', '42.481796', '-76.073612', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47785, 'Masonville', 2814, '13804', '607', '42.200847', '-75.379554', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47786, 'Whitman', 2814, '13804', '607', '42.200847', '-75.379554', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47787, 'Pamelia', 2814, '13637', '315', '44.093665', '-75.8258', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47788, 'Pamelia Four Corners', 2814, '13637', '315', '44.093665', '-75.8258', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47789, 'Heuvelton', 2814, '13654', '315', '44.590653', '-75.447463', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47790, 'Pope Mills', 2814, '13654', '315', '44.590653', '-75.447463', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47791, 'Davenport Center', 2814, '13751', '607', '42.452574', '-74.886024', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47792, 'Davenport Ctr', 2814, '13751', '607', '42.452574', '-74.886024', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47793, 'Delhi', 2814, '13753', '607', '42.304516', '-74.926074', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47794, 'Fraser', 2814, '13753', '607', '42.304516', '-74.926074', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47795, 'Lake Delaware', 2814, '13753', '607', '42.304516', '-74.926074', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47796, 'Meredith', 2814, '13753', '607', '42.304516', '-74.926074', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47797, 'West Delhi', 2814, '13753', '607', '42.304516', '-74.926074', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47798, 'Barbourville', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47799, 'China', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47800, 'Deposit', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47801, 'Hambletville', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47802, 'Mcclure', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47803, 'North Sanford', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47804, 'Deerfield', 2814, '13502', '315', '43.149544', '-75.168373', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47805, 'Schuyler', 2814, '13502', '315', '43.149544', '-75.168373', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47806, 'Utica', 2814, '13502', '315', '43.149544', '-75.168373', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47807, 'Glen Park', 2814, '13601', '315', '43.988667', '-75.905714', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47808, 'Watertown', 2814, '13601', '315', '43.988667', '-75.905714', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47809, 'Wtown', 2814, '13601', '315', '43.988667', '-75.905714', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47810, 'Fort Drum', 2814, '13603', '315', '44.041944', '-75.771615', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47811, 'Watertown', 2814, '13603', '315', '44.041944', '-75.771615', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47812, 'Cape Vincent', 2814, '13618', '315', '44.110648', '-76.28134', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47813, 'Castorland', 2814, '13620', '315', '43.89247', '-75.466663', '2018-11-29 05:01:42', '2018-11-29 05:01:42'),\n(47814, 'Stratford', 2814, '13470', '315', '43.210957', '-74.63542', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47815, 'Westdale', 2814, '13483', '315', '43.40507', '-75.820333', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47816, 'West Eaton', 2814, '13484', '315', '42.8544', '-75.6566', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47817, 'South Brookfield', 2814, '13485', '315', '42.768036', '-75.296048', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47818, 'West Edmeston', 2814, '13485', '315', '42.768036', '-75.296048', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47819, 'Hewittville', 2814, '13668', '315', '44.749305', '-74.989754', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47820, 'Knapps Station', 2814, '13668', '315', '44.749305', '-74.989754', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47821, 'Cabinhill', 2814, '13752', '607', '42.155902', '-74.911366', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47822, 'Delancey', 2814, '13752', '607', '42.155902', '-74.911366', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47823, 'Utica', 2814, '13501', '315', '43.074372', '-75.234212', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47824, 'Utica', 2814, '13503', '315', '43.1009', '-75.2331', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47825, 'Fort Drum', 2814, '13602', '315', '44.138338', '-75.637858', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47826, 'Watertown', 2814, '13602', '315', '44.138338', '-75.637858', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47827, 'Wtown', 2814, '13602', '315', '44.138338', '-75.637858', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47828, 'Carthage', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47829, 'Champion', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47830, 'Champion Huddle', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47831, 'Herrings', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47832, 'W Carthage', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47833, 'West Carthage', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47834, 'Wilna', 2814, '13619', '315', '43.979755', '-75.557349', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47835, 'North Stockholm', 2814, '13668', '315', '44.749305', '-74.989754', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47836, 'Norwood', 2814, '13668', '315', '44.749305', '-74.989754', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47837, 'Yaleville', 2814, '13668', '315', '44.749305', '-74.989754', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47838, 'Roseboom', 2814, '13450', '607', '42.709706', '-74.810052', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47839, 'Crum Creek', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47840, 'Johnsville', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47841, 'Kringsbush', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47842, 'Lassellsville', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47843, 'Saint Johnsville', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47844, 'Scotchbush', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47845, 'St Johnsville', 2814, '13452', '518', '43.04337', '-74.610518', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47846, 'Springfield Center', 2814, '13468', '315', '42.843032', '-74.85245', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47847, 'Springfld Center', 2814, '13468', '315', '42.843032', '-74.85245', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47848, 'Springfld Ctr', 2814, '13468', '315', '42.843032', '-74.85245', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47849, 'Stittville', 2814, '13469', '315', '43.227341', '-75.302118', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47850, 'North Java', 2814, '14113', '585', '42.656561', '-78.341132', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47851, 'Stela Niagara', 2814, '14144', '716', '43.2013', '-79.0413', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47852, 'Stella Niagara', 2814, '14144', '716', '43.2013', '-79.0413', '2018-11-29 05:01:43', '2018-11-29 05:01:43'),\n(47853, 'Harpursville', 2814, '13826', '607', '42.102644', '-75.632472', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47854, 'Ouaquaga', 2814, '13826', '607', '42.102644', '-75.632472', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47855, 'Barker', 2814, '14012', '716', '43.328097', '-78.549834', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47856, 'Bowmansville', 2814, '14026', '716', '42.941219', '-78.687016', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47857, 'Burt', 2814, '14028', '716', '43.312678', '-78.736818', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47858, 'Centerville', 2814, '14029', '585', '42.4797', '-78.2502', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47859, 'Kirk', 2814, '13844', '607', '42.600765', '-75.661564', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47860, 'North Pharsalia', 2814, '13844', '607', '42.600765', '-75.661564', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47861, 'So Plymouth', 2814, '13844', '607', '42.600765', '-75.661564', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47862, 'South Plymouth', 2814, '13844', '607', '42.600765', '-75.661564', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47863, 'Tioga', 2814, '13845', '607', '42.0544', '-76.3493', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47864, 'Tioga Center', 2814, '13845', '607', '42.0544', '-76.3493', '2018-11-29 05:01:44', '2018-11-29 05:01:44');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(47865, 'Franklin', 2814, '13846', '607', '42.362376', '-75.055848', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47866, 'Treadwell', 2814, '13846', '607', '42.362376', '-75.055848', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47867, 'Wanakena', 2814, '13695', '315', '44.112337', '-75.07524', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47868, 'Killawog', 2814, '13794', '607', '42.4007', '-76.0211', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47869, 'Fivemile Point', 2814, '13795', '607', '42.061282', '-75.790215', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47870, 'Kirkwood', 2814, '13795', '607', '42.061282', '-75.790215', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47871, 'Langdon', 2814, '13795', '607', '42.061282', '-75.790215', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47872, 'Woodgate', 2814, '13494', '315', '43.53196', '-75.160143', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47873, 'Deer River', 2814, '13627', '315', '43.9299', '-75.5897', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47874, 'Plessis', 2814, '13675', '315', '44.282569', '-75.834165', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47875, 'Rome', 2814, '13442', '315', '43.2125', '-75.4562', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47876, 'Sharon Spgs', 2814, '13459', '518', '42.775702', '-74.564851', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47877, 'Sharon Springs', 2814, '13459', '518', '42.775702', '-74.564851', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47878, 'Van Hornesville', 2814, '13475', '315', '42.88485', '-74.814354', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47879, 'Van Hornesvle', 2814, '13475', '315', '42.88485', '-74.814354', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47880, 'Chippewa Bay', 2814, '13623', '315', '44.4416', '-75.7575', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47881, 'Oxbow', 2814, '13671', '315', '44.1993', '-75.6074', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47882, 'Phila', 2814, '13673', '315', '44.17371', '-75.70379', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47883, 'Philadelphia', 2814, '13673', '315', '44.17371', '-75.70379', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47884, 'Rome', 2814, '13441', '315', '43.2067', '-75.3905', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47885, 'West Leyden', 2814, '13489', '315', '43.480586', '-75.556527', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47886, 'East Winfield', 2814, '13491', '315', '42.865924', '-75.178879', '2018-11-29 05:01:44', '2018-11-29 05:01:44'),\n(47887, 'Readburn', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47888, 'Walton', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47889, 'Spring Brook', 2814, '14140', '716', '42.8184', '-78.6755', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47890, 'Springbrook', 2814, '14140', '716', '42.8184', '-78.6755', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47891, 'Chenango Lake', 2814, '13815', '607', '42.54667', '-75.562385', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47892, 'Kings Settlement', 2814, '13815', '607', '42.54667', '-75.562385', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47893, 'Norwich', 2814, '13815', '607', '42.54667', '-75.562385', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47894, 'Springvale', 2814, '13815', '607', '42.54667', '-75.562385', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47895, 'Woods Corners', 2814, '13815', '607', '42.54667', '-75.562385', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47896, 'Angola', 2814, '14006', '716', '42.636601', '-79.027547', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47897, 'Bliss', 2814, '14024', '585', '42.574541', '-78.246684', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47898, 'Clarence', 2814, '14031', '716', '42.998562', '-78.61438', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47899, 'Colden', 2814, '14033', '716', '42.657115', '-78.68629', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47900, 'Derby', 2814, '14047', '716', '42.69035', '-78.994504', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47901, 'Apex', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47902, 'Cadosia', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47903, 'French Woods', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47904, 'Hales Eddy', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47905, 'Hancock', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47906, 'Kelsey', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47907, 'Lordville', 2814, '13783', '607', '41.983426', '-75.277636', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47908, 'Trout Creek', 2814, '13847', '607', '42.2036', '-75.2798', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47909, 'Cleaver', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47910, 'Colchester', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47911, 'Hawleys', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47912, 'Rooseveltown', 2814, '13683', '315', '44.9729', '-74.7317', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47913, 'Bainbridge', 2814, '13733', '607', '42.29577', '-75.513048', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47914, 'Bennettsville', 2814, '13733', '607', '42.29577', '-75.513048', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47915, 'Coventryville', 2814, '13733', '607', '42.29577', '-75.513048', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47916, 'New Berlin Junction', 2814, '13733', '607', '42.29577', '-75.513048', '2018-11-29 05:01:45', '2018-11-29 05:01:45'),\n(47917, 'West Bainbridge', 2814, '13733', '607', '42.29577', '-75.513048', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47918, 'Hobart', 2814, '13788', '607', '42.356904', '-74.65405', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47919, 'Centerlisle', 2814, '13797', '607', '42.330902', '-76.043783', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47920, 'Lisle', 2814, '13797', '607', '42.330902', '-76.043783', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47921, 'Felts Mills', 2814, '13638', '315', '44.022626', '-75.750118', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47922, 'Rutland', 2814, '13638', '315', '44.022626', '-75.750118', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47923, 'Hannawa Falls', 2814, '13647', '315', '44.6137', '-74.9736', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47924, 'Lisbon', 2814, '13658', '315', '44.74278', '-75.282487', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47925, 'Corbettsville', 2814, '13749', '607', '42.0156', '-75.7906', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47926, 'Utica', 2814, '13504', '315', '43.1009', '-75.2331', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47927, 'Antwerp', 2814, '13608', '315', '44.246868', '-75.620466', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47928, 'Oxbow', 2814, '13608', '315', '44.246868', '-75.620466', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47929, 'Wegatchie', 2814, '13608', '315', '44.246868', '-75.620466', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47930, 'Brasher Falls', 2814, '13613', '315', '44.85241', '-74.743572', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47931, 'Parishville', 2814, '13672', '315', '44.541346', '-74.773526', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47932, 'Salisbury Center', 2814, '13454', '315', '43.235378', '-74.785264', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47933, 'Salisbury Ctr', 2814, '13454', '315', '43.235378', '-74.785264', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47934, 'Brasie Corners', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47935, 'Elmdale', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47936, 'Emeryville', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47937, 'Fowler', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47938, 'Fullerville', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47939, 'Gouverneur', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47940, 'Macomb', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47941, 'Natural Dam', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47942, 'Pierces Corner', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47943, 'Somerville', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47944, 'Great Bend', 2814, '13643', '315', '44.0344', '-75.7193', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47945, 'Gt Bend', 2814, '13643', '315', '44.0344', '-75.7193', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47946, 'Diamond', 2814, '13659', '315', '43.741584', '-75.866404', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47947, 'Lorraine', 2814, '13659', '315', '43.741584', '-75.866404', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47948, 'Worth', 2814, '13659', '315', '43.741584', '-75.866404', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47949, 'Madrid', 2814, '13660', '315', '44.775786', '-75.151953', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47950, 'Madrid Springs', 2814, '13660', '315', '44.775786', '-75.151953', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47951, 'Mannsville', 2814, '13661', '315', '43.722502', '-76.070008', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47952, 'Massena', 2814, '13662', '315', '44.927819', '-74.910434', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47953, 'Massena Center', 2814, '13662', '315', '44.927819', '-74.910434', '2018-11-29 05:01:46', '2018-11-29 05:01:46'),\n(47954, 'Massena Springs', 2814, '13662', '315', '44.927819', '-74.910434', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47955, 'Hubbardtown', 2814, '13743', '607', '42.225427', '-76.342318', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47956, 'West Candor', 2814, '13743', '607', '42.225427', '-76.342318', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47957, 'Chenango Fks', 2814, '13746', '607', '42.271013', '-75.8119', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47958, 'Chenango Forks', 2814, '13746', '607', '42.271013', '-75.8119', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47959, 'North Fenton', 2814, '13746', '607', '42.271013', '-75.8119', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47960, 'Quinneville', 2814, '13746', '607', '42.271013', '-75.8119', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47961, 'Belleville', 2814, '13611', '315', '43.786612', '-76.133355', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47962, 'Black River', 2814, '13612', '315', '43.986829', '-75.788562', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47963, 'Barnes Corners', 2814, '13626', '315', '43.835452', '-75.703944', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47964, 'Barnes Cors', 2814, '13626', '315', '43.835452', '-75.703944', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47965, 'Copenhagen', 2814, '13626', '315', '43.835452', '-75.703944', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47966, 'S Rutland', 2814, '13626', '315', '43.835452', '-75.703944', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47967, 'South Rutland', 2814, '13626', '315', '43.835452', '-75.703944', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47968, 'Eben', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47969, 'Parishville Center', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47970, 'Potsdam', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47971, 'Sandfordville', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47972, 'Sissonville', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47973, 'Slab City', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47974, 'West Parishville', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47975, 'West Potsdam', 2814, '13676', '315', '44.646306', '-74.887768', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47976, 'Verona', 2814, '13478', '315', '43.14724', '-75.580183', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47977, 'Cameron', 2814, '14819', '607', '42.21622', '-77.449402', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47978, 'Mount Morris', 2814, '14510', '585', '42.686115', '-77.877978', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47979, 'Tuscarora', 2814, '14510', '585', '42.686115', '-77.877978', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47980, 'Gates', 2814, '14624', '585', '43.126831', '-77.729464', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47981, 'Rochester', 2814, '14624', '585', '43.126831', '-77.729464', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47982, 'Westgate', 2814, '14624', '585', '43.126831', '-77.729464', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47983, 'Ashville', 2814, '14710', '716', '42.085752', '-79.420406', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47984, 'Caneadea', 2814, '14717', '585', '42.361292', '-78.186533', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47985, 'Clymer', 2814, '14724', '716', '42.068085', '-79.644774', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47986, 'Buffalo', 2814, '14265', '716', '42.8866', '-78.8789', '2018-11-29 05:01:47', '2018-11-29 05:01:47'),\n(47987, 'Ind Order Of Foresters', 2814, '14265', '716', '42.8866', '-78.8789', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47988, 'Buffalo', 2814, '14267', '716', '42.8866', '-78.8789', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47989, 'M And T Bank', 2814, '14267', '716', '42.8866', '-78.8789', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47990, 'Nunda', 2814, '14517', '585', '42.591275', '-77.86981', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47991, 'Piffard', 2814, '14533', '585', '42.84254', '-77.887288', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47992, 'Wadsworth', 2814, '14533', '585', '42.84254', '-77.887288', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47993, 'Rose', 2814, '14542', '315', '43.1537', '-76.8786', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47994, 'Springwater', 2814, '14560', '585', '42.673988', '-77.577353', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47995, 'Webster Crossing', 2814, '14560', '585', '42.673988', '-77.577353', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47996, 'Webster Crsng', 2814, '14560', '585', '42.673988', '-77.577353', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47997, 'W Bloomfield', 2814, '14585', '585', '42.888831', '-77.548643', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47998, 'West Bloomfield', 2814, '14585', '585', '42.888831', '-77.548643', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(47999, 'Wolcott', 2814, '14590', '315', '43.238459', '-76.845456', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48000, 'Bellona', 2814, '14415', '585', '42.75435', '-77.021842', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48001, 'Canandaigua', 2814, '14424', '585', '42.830397', '-77.315064', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48002, 'Kendall', 2814, '14476', '585', '43.33082', '-78.030633', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48003, 'E Pembroke', 2814, '14056', '585', '42.997', '-78.3128', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48004, 'East Pembroke', 2814, '14056', '585', '42.997', '-78.3128', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48005, 'Irving', 2814, '14081', '716', '42.555132', '-79.04321', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48006, 'Java Village', 2814, '14083', '585', '42.682998', '-78.428494', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48007, 'Machias', 2814, '14101', '716', '42.38372', '-78.552232', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48008, 'Bflo', 2814, '14231', '716', '42.9241', '-78.8144', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48009, 'Buffalo', 2814, '14231', '716', '42.9241', '-78.8144', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48010, 'Williamsville', 2814, '14231', '716', '42.9241', '-78.8144', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48011, 'Willet', 2814, '13863', '607', '42.447419', '-75.902044', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48012, 'Newfane', 2814, '14108', '716', '43.261329', '-78.724938', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48013, 'Sandusky', 2814, '14133', '585', '42.4959', '-78.3847', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48014, 'Doraville', 2814, '13813', '607', '42.165528', '-75.540362', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48015, 'Nineveh', 2814, '13813', '607', '42.165528', '-75.540362', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48016, 'Vallonia Springs', 2814, '13813', '607', '42.165528', '-75.540362', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48017, 'Appleton', 2814, '14008', '716', '43.303691', '-78.635814', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48018, 'Burnwood', 2814, '13756', '607', '42.016286', '-75.112966', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48019, 'East Branch', 2814, '13756', '607', '42.016286', '-75.112966', '2018-11-29 05:01:48', '2018-11-29 05:01:48'),\n(48020, 'Harvard', 2814, '13756', '607', '42.016286', '-75.112966', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48021, 'Peakville', 2814, '13756', '607', '42.016286', '-75.112966', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48022, 'E Pharsalia', 2814, '13758', '607', '42.5581', '-75.7178', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48023, 'East Pharsalia', 2814, '13758', '607', '42.5581', '-75.7178', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48024, 'S Kortright', 2814, '13842', '607', '42.386375', '-74.726148', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48025, 'South Kortright', 2814, '13842', '607', '42.386375', '-74.726148', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48026, 'Unadilla', 2814, '13849', '607', '42.304095', '-75.305987', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48027, 'Youngs', 2814, '13849', '607', '42.304095', '-75.305987', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48028, 'Benson Mines', 2814, '13690', '315', '44.155502', '-74.99682', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48029, 'Star Lake', 2814, '13690', '315', '44.155502', '-74.99682', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48030, 'Winthrop', 2814, '13697', '315', '44.754132', '-74.788188', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48031, 'Clarkson University', 2814, '13699', '315', '44.6618', '-74.994714', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48032, 'Potsdam', 2814, '13699', '315', '44.6618', '-74.994714', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48033, 'Blodgett Mills', 2814, '13738', '607', '42.5685', '-76.1262', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48034, 'Blodgett Mls', 2814, '13738', '607', '42.5685', '-76.1262', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48035, 'East Maine', 2814, '13790', '607', '42.164152', '-76.004302', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48036, 'Johnson City', 2814, '13790', '607', '42.164152', '-76.004302', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48037, 'Westover', 2814, '13790', '607', '42.164152', '-76.004302', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48038, 'Meridale', 2814, '13806', '607', '42.381862', '-74.980715', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48039, 'Helena', 2814, '13649', '315', '44.9219', '-74.7264', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48040, 'La Fargeville', 2814, '13656', '315', '44.192318', '-75.960664', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48041, 'Lafargeville', 2814, '13656', '315', '44.192318', '-75.960664', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48042, 'Omar', 2814, '13656', '315', '44.192318', '-75.960664', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48043, 'Stone Mills', 2814, '13656', '315', '44.192318', '-75.960664', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48044, 'Brm Customer', 2814, '13599', '315', '43.1009', '-75.2331', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48045, 'Utica', 2814, '13599', '315', '43.1009', '-75.2331', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48046, 'Adams Center', 2814, '13606', '315', '43.862672', '-76.007044', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48047, 'Chaumont', 2814, '13622', '315', '44.095684', '-76.112518', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48048, 'Bartlett', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48049, 'Camroden', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48050, 'Coonrod', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48051, 'Floyd', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48052, 'Fort Stanwix National Monume', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48053, 'Greenway', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48054, 'Lake Delta', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48055, 'Lee', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:49', '2018-11-29 05:01:49'),\n(48056, 'Ridge Mills', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48057, 'Rome', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48058, 'Seifert Corners', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48059, 'Spencer Settlement', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48060, 'Stanwix', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48061, 'Stanwix Heights', 2814, '13440', '315', '43.21339', '-75.474235', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48062, 'Thendara', 2814, '13472', '315', '43.7001', '-75.0024', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48063, 'Washingtn Mls', 2814, '13479', '315', '43.05', '-75.2736', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48064, 'Washington Mills', 2814, '13479', '315', '43.05', '-75.2736', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48065, 'Maple Valley', 2814, '13488', '607', '42.690241', '-74.748123', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48066, 'Westford', 2814, '13488', '607', '42.690241', '-74.748123', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48067, 'Fleetwood', 2814, '10552', '914', '40.92372', '-73.825188', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48068, 'Mount Vernon', 2814, '10552', '914', '40.92372', '-73.825188', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48069, 'Mt Vernon', 2814, '10552', '914', '40.92372', '-73.825188', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48070, 'Cortlandt Manor', 2814, '10567', '845', '41.28489', '-73.909138', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48071, 'Cortlandt Mnr', 2814, '10567', '845', '41.28489', '-73.909138', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48072, 'Shenorock', 2814, '10587', '914', '41.3201', '-73.7371', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48073, 'White Plains', 2814, '10602', '914', '41.0337', '-73.7635', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48074, 'Baychester', 2814, '10469', '718', '40.86995', '-73.844118', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48075, 'Bronx', 2814, '10469', '718', '40.86995', '-73.844118', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48076, 'Esplanade', 2814, '10469', '718', '40.86995', '-73.844118', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48077, 'Hillside', 2814, '10469', '718', '40.86995', '-73.844118', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48078, 'Bronx', 2814, '10470', '718', '40.902462', '-73.862432', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48079, 'Ardsley Hdsn', 2814, '10503', '914', '41.025547', '-73.875129', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48080, 'Ardsley On Hudson', 2814, '10503', '914', '41.025547', '-73.875129', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48081, 'Cross River', 2814, '10518', '914', '41.279032', '-73.598109', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48082, 'Croton Falls', 2814, '10519', '845', '41.340487', '-73.663686', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48083, 'Jefferson Valley', 2814, '10535', '914', '41.335657', '-73.799687', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48084, 'Lake Mohegan', 2814, '10547', '914', '41.312691', '-73.850494', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48085, 'Mohegan Lake', 2814, '10547', '914', '41.312691', '-73.850494', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48086, 'Copiague', 2814, '11726', '631', '40.682652', '-73.39424', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48087, 'Marconiville', 2814, '11726', '631', '40.682652', '-73.39424', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48088, 'Point Lookout', 2814, '11569', '516', '40.610252', '-73.593073', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48089, 'Pt Lookout', 2814, '11569', '516', '40.610252', '-73.593073', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48090, 'Garden City', 2814, '11599', '516', '40.7314', '-73.6127', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48091, 'Addisleigh Park', 2814, '11433', '718', '40.697441', '-73.786854', '2018-11-29 05:01:50', '2018-11-29 05:01:50'),\n(48092, 'Addisleigh Pk', 2814, '11433', '718', '40.697441', '-73.786854', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48093, 'Jamaica', 2814, '11433', '718', '40.697441', '-73.786854', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48094, 'Queens', 2814, '11433', '718', '40.697441', '-73.786854', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48095, 'Briarwood', 2814, '11435', '718', '40.700956', '-73.809976', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48096, 'Jamaica', 2814, '11435', '718', '40.700956', '-73.809976', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48097, 'Queens', 2814, '11435', '718', '40.700956', '-73.809976', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48098, 'Jamaica', 2814, '11451', '718', '40.6917', '-73.8061', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48099, 'Queens', 2814, '11451', '718', '40.6917', '-73.8061', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48100, 'York College', 2814, '11451', '718', '40.6917', '-73.8061', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48101, 'Amf/jfk Incoming Express Mai', 2814, '11499', '718', '40.6917', '-73.8061', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48102, 'Jamaica', 2814, '11499', '718', '40.6917', '-73.8061', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48103, 'Mineola', 2814, '11501', '516', '40.745837', '-73.639408', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48104, 'Brooklyn', 2814, '11231', '718', '40.676516', '-74.004016', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48105, 'Brooklyn', 2814, '11256', '718', '40.6949', '-73.9884', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48106, 'Flushing', 2814, '11351', '347', '40.7553', '-73.8268', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48107, 'Queens', 2814, '11351', '347', '40.7553', '-73.8268', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48108, 'Lake Success', 2814, '11042', '516', '40.760453', '-73.699851', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48109, 'N New Hyde Pk', 2814, '11042', '516', '40.760453', '-73.699851', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48110, 'New Hyde Park', 2814, '11042', '516', '40.760453', '-73.699851', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48111, 'North New Hyde Park', 2814, '11042', '516', '40.760453', '-73.699851', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48112, 'Port Washington', 2814, '11051', '516', '40.8257', '-73.6986', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48113, 'Prt Washingtn', 2814, '11051', '516', '40.8257', '-73.6986', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48114, 'Publishers Clearing Hse Brm', 2814, '11051', '516', '40.8257', '-73.6986', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48115, 'Bay Terrace', 2814, '11360', '718', '40.780742', '-73.779546', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48116, 'Bayside', 2814, '11360', '718', '40.780742', '-73.779546', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48117, 'Flushing', 2814, '11360', '718', '40.780742', '-73.779546', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48118, 'Queens', 2814, '11360', '718', '40.780742', '-73.779546', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48119, 'Sugar Loaf', 2814, '10981', '845', '41.3208', '-74.2859', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48120, 'Washingtonville', 2814, '10992', '845', '41.429494', '-74.168558', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48121, 'Washingtonvle', 2814, '10992', '845', '41.429494', '-74.168558', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48122, 'Brooklyn', 2814, '11208', '718', '40.674837', '-73.871913', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48123, 'Brooklyn', 2814, '11217', '718', '40.681293', '-73.980954', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48124, 'Brooklyn', 2814, '11224', '718', '40.577309', '-73.986022', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48125, 'Hillburn', 2814, '10931', '845', '41.124708', '-74.169848', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48126, 'Great Neck', 2814, '11022', '516', '40.7913', '-73.7412', '2018-11-29 05:01:51', '2018-11-29 05:01:51'),\n(48127, 'Lake Gardens', 2814, '11022', '516', '40.7913', '-73.7412', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48128, 'Great Neck', 2814, '11024', '516', '40.817992', '-73.739812', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48129, 'Kenilworth', 2814, '11024', '516', '40.817992', '-73.739812', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48130, 'Kings Point', 2814, '11024', '516', '40.817992', '-73.739812', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48131, 'Garden City P', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48132, 'Garden City Park', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48133, 'Gdn City Park', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48134, 'Herricks', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48135, 'Hillside Manor', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48136, 'Hillside Mnr', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48137, 'Lake Success', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48138, 'Lakeville Estates', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48139, 'Manhasset Hil', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48140, 'Manhasset Hills', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48141, 'N H P', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48142, 'N New Hyde Pk', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48143, 'New Hyde Park', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48144, 'No New Hyde Park', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48145, 'North Hills', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48146, 'North New Hyde Park', 2814, '11040', '516', '40.74517', '-73.681052', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48147, 'Adams Corners', 2814, '10579', '845', '41.400498', '-73.821525', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48148, 'Crofts Corners', 2814, '10579', '845', '41.400498', '-73.821525', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48149, 'Oscawana Lake', 2814, '10579', '845', '41.400498', '-73.821525', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48150, 'Putnam Valley', 2814, '10579', '845', '41.400498', '-73.821525', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48151, 'Tompkins Corners', 2814, '10579', '845', '41.400498', '-73.821525', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48152, 'Edgemont', 2814, '10583', '914', '40.989434', '-73.794574', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48153, 'Heathcote', 2814, '10583', '914', '40.989434', '-73.794574', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48154, 'Scarsdale', 2814, '10583', '914', '40.989434', '-73.794574', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48155, 'Scarsdale Park', 2814, '10583', '914', '40.989434', '-73.794574', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48156, 'Waccabuc', 2814, '10597', '914', '41.293466', '-73.595343', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48157, 'Chestnut Ridge', 2814, '10965', '845', '41.061656', '-74.012633', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48158, 'Pearl River', 2814, '10965', '845', '41.061656', '-74.012633', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48159, 'Armonk', 2814, '10504', '914', '41.124742', '-73.708646', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48160, 'North Castle', 2814, '10504', '914', '41.124742', '-73.708646', '2018-11-29 05:01:52', '2018-11-29 05:01:52'),\n(48161, 'Lincolndale', 2814, '10540', '914', '41.3293', '-73.7275', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48162, 'Bronxville', 2814, '10708', '914', '40.938404', '-73.828671', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48163, 'Yonkers', 2814, '10708', '914', '40.938404', '-73.828671', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48164, 'Ithaca', 2814, '14851', '607', '42.4407', '-76.4966', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48165, 'Ithaca', 2814, '14853', '607', '42.447119', '-76.478184', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48166, 'Greenhurst', 2814, '14742', '716', '42.1194', '-79.3106', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48167, 'Steamburg', 2814, '14783', '716', '42.090887', '-78.866541', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48168, 'Addison', 2814, '14801', '607', '42.109412', '-77.303376', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48169, 'Alfred Sta', 2814, '14803', '607', '42.250448', '-77.789161', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48170, 'Alfred Station', 2814, '14803', '607', '42.250448', '-77.789161', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48171, 'Brooktondale', 2814, '14817', '607', '42.362776', '-76.347724', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48172, 'Fillmore', 2814, '14735', '585', '42.45401', '-78.109487', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48173, 'Lodi', 2814, '14860', '607', '42.587223', '-76.838801', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48174, 'Newfield', 2814, '14867', '607', '42.351566', '-76.611053', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48175, 'Rock Stream', 2814, '14878', '607', '42.453646', '-76.956008', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48176, 'Spencer', 2814, '14883', '607', '42.246954', '-76.482958', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48177, 'West Danby', 2814, '14883', '607', '42.246954', '-76.482958', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48178, 'Leon', 2814, '14751', '716', '42.2931', '-79.0164', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48179, 'Niobe', 2814, '14758', '716', '42.0126', '-79.4498', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48180, 'Panama', 2814, '14767', '716', '42.058533', '-79.503558', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48181, 'Richburg', 2814, '14774', '585', '42.0884', '-78.1537', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48182, 'Atlanta', 2814, '14808', '585', '42.561935', '-77.472149', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48183, 'N Cohocton', 2814, '14808', '585', '42.561935', '-77.472149', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48184, 'North Cohocton', 2814, '14808', '585', '42.561935', '-77.472149', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48185, 'Bath', 2814, '14810', '607', '42.362354', '-77.361198', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48186, 'Veterans Administration', 2814, '14810', '607', '42.362354', '-77.361198', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48187, 'Veterans Admn', 2814, '14810', '607', '42.362354', '-77.361198', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48188, 'Cohocton', 2814, '14826', '585', '42.47918', '-77.500368', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48189, 'Morton', 2814, '14508', '585', '43.3236', '-78.0006', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48190, 'Rochester', 2814, '14619', '585', '43.13556', '-77.649299', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48191, 'Greece', 2814, '14626', '585', '43.21478', '-77.71816', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48192, 'Ridgemont', 2814, '14626', '585', '43.21478', '-77.71816', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48193, 'Rochester', 2814, '14626', '585', '43.21478', '-77.71816', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48194, 'Rochester', 2814, '14642', '585', '43.123002', '-77.623446', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48195, 'Strong Memorial Hospital', 2814, '14642', '585', '43.123002', '-77.623446', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48196, 'Rochester', 2814, '14644', '585', '43.1544', '-77.6155', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48197, 'Xerox', 2814, '14644', '585', '43.1544', '-77.6155', '2018-11-29 05:01:53', '2018-11-29 05:01:53'),\n(48198, 'Roch Gas & Elec Corp', 2814, '14649', '585', '43.1544', '-77.6155', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48199, 'Rochester', 2814, '14649', '585', '43.1544', '-77.6155', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48200, 'Rochester', 2814, '14692', '585', '43.1544', '-77.6155', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48201, 'Alma', 2814, '14708', '585', '42.022718', '-78.039121', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48202, 'Buffalo', 2814, '14276', '716', '42.8866', '-78.8789', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48203, 'Scoreball', 2814, '14276', '716', '42.8866', '-78.8789', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48204, 'N Falls', 2814, '14301', '716', '43.09771', '-79.035937', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48205, 'Niagara Falls', 2814, '14301', '716', '43.09771', '-79.035937', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48206, 'Penfield', 2814, '14526', '585', '43.145695', '-77.447352', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48207, 'Rushville', 2814, '14544', '585', '42.765162', '-77.237993', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48208, 'Silver Lake', 2814, '14549', '585', '42.6999', '-78.0179', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48209, 'Warsaw', 2814, '14569', '585', '42.741147', '-78.164712', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48210, 'Buffalo', 2814, '14208', '716', '42.915692', '-78.851748', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48211, 'Adams Basin', 2814, '14410', '585', '43.192434', '-77.859225', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48212, 'Clyde', 2814, '14433', '315', '43.074402', '-76.878259', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48213, 'Henrietta', 2814, '14467', '585', '43.043294', '-77.614181', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48214, 'Elba', 2814, '14058', '585', '43.10613', '-78.174994', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48215, 'Buffalo', 2814, '14217', '716', '42.975316', '-78.881182', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48216, 'Kenmore', 2814, '14217', '716', '42.975316', '-78.881182', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48217, 'Tn Of Tona', 2814, '14217', '716', '42.975316', '-78.881182', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48218, 'Tonawanda', 2814, '14217', '716', '42.975316', '-78.881182', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48219, 'Town Of Tonawanda', 2814, '14217', '716', '42.975316', '-78.881182', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48220, 'Amherst', 2814, '14226', '716', '42.974865', '-78.793492', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48221, 'Buffalo', 2814, '14226', '716', '42.974865', '-78.793492', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48222, 'Eggertsville', 2814, '14226', '716', '42.974865', '-78.793492', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48223, 'Snyder', 2814, '14226', '716', '42.974865', '-78.793492', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48224, 'Snyder Square', 2814, '14226', '716', '42.974865', '-78.793492', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48225, 'Buffalo', 2814, '14233', '716', '42.8866', '-78.8789', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48226, 'Jingo', 2814, '14233', '716', '42.8866', '-78.8789', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48227, 'Northfield', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48228, 'Pineville', 2814, '13856', '607', '42.15493', '-75.192617', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48229, 'Corfu', 2814, '14036', '585', '42.983276', '-78.372948', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48230, 'Pembroke', 2814, '14036', '585', '42.983276', '-78.372948', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48231, 'Crittenden', 2814, '14038', '716', '42.9462', '-78.4853', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48232, 'E Bethany', 2814, '14054', '585', '42.911976', '-78.122044', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48233, 'East Bethany', 2814, '14054', '585', '42.911976', '-78.122044', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48234, 'Concord', 2814, '14055', '716', '42.552728', '-78.619354', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48235, 'E Concord', 2814, '14055', '716', '42.552728', '-78.619354', '2018-11-29 05:01:54', '2018-11-29 05:01:54'),\n(48236, 'Oquaga Lake', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48237, 'Sanford', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48238, 'Stilesville', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48239, 'Tompkins', 2814, '13754', '607', '42.094369', '-75.46134', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48240, 'Harpersfield', 2814, '13786', '607', '42.450559', '-74.696808', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48241, 'West Harpersfield', 2814, '13786', '607', '42.450559', '-74.696808', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48242, 'Belden', 2814, '13787', '607', '42.209062', '-75.674202', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48243, 'Vestal', 2814, '13851', '607', '42.0851', '-76.0543', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48244, 'Clare', 2814, '13684', '315', '44.366483', '-75.061338', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48245, 'Degrasse', 2814, '13684', '315', '44.366483', '-75.061338', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48246, 'Hatchs Corner', 2814, '13684', '315', '44.366483', '-75.061338', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48247, 'Russell', 2814, '13684', '315', '44.366483', '-75.061338', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48248, 'South Russell', 2814, '13684', '315', '44.366483', '-75.061338', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48249, 'Boultons Beach', 2814, '13685', '315', '43.934601', '-76.092828', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48250, 'Hounsfield', 2814, '13685', '315', '43.934601', '-76.092828', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48251, 'Sackets Harbor', 2814, '13685', '315', '43.934601', '-76.092828', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48252, 'Sackets Hbr', 2814, '13685', '315', '43.934601', '-76.092828', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48253, 'Bible Sch Pk', 2814, '13737', '607', '42.1078', '-75.9743', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48254, 'Bible School Park', 2814, '13737', '607', '42.1078', '-75.9743', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48255, 'Centre Village', 2814, '13787', '607', '42.209062', '-75.674202', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48256, 'Colesville', 2814, '13787', '607', '42.209062', '-75.674202', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48257, 'Hunt', 2814, '14846', '585', '42.532421', '-78.007996', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48258, 'Montour Falls', 2814, '14865', '607', '42.347905', '-76.844124', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48259, 'Scio', 2814, '14880', '585', '42.171909', '-77.964555', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48260, 'Greece', 2814, '14612', '585', '43.257356', '-77.668092', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48261, 'Rochester', 2814, '14612', '585', '43.257356', '-77.668092', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48262, 'Rochester', 2814, '14613', '585', '43.180514', '-77.63984', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48263, 'Hume', 2814, '14745', '585', '42.4726', '-78.1364', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48264, 'Kennedy', 2814, '14747', '716', '42.152206', '-79.09617', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48265, 'Bradford', 2814, '14815', '607', '42.358308', '-77.097554', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48266, 'North Chili', 2814, '14514', '585', '43.090077', '-77.804011', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48267, 'Perkinsville', 2814, '14529', '585', '42.5398', '-77.6286', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48268, 'Victor', 2814, '14564', '585', '42.977148', '-77.431486', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48269, 'Webster', 2814, '14580', '585', '43.224623', '-77.451318', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48270, 'Albion', 2814, '14411', '585', '43.234929', '-78.200418', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48271, 'Eagle Harbor', 2814, '14411', '585', '43.234929', '-78.200418', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48272, 'Clarendon', 2814, '14429', '585', '43.1936', '-78.065', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48273, 'Gorham', 2814, '14461', '585', '42.7989', '-77.1317', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48274, 'Groveland', 2814, '14462', '585', '42.68689', '-77.755736', '2018-11-29 05:01:55', '2018-11-29 05:01:55'),\n(48275, 'Knowlesville', 2814, '14479', '585', '43.2418', '-78.3109', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48276, 'Fredonia', 2814, '14063', '716', '42.40112', '-79.323884', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48277, 'Holland', 2814, '14080', '716', '42.642857', '-78.543421', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48278, 'Lockport', 2814, '14094', '716', '43.17051', '-78.700736', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48279, 'Pendleton', 2814, '14094', '716', '43.17051', '-78.700736', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48280, 'Amherst', 2814, '14228', '716', '43.038732', '-78.778498', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48281, 'Buffalo', 2814, '14228', '716', '43.038732', '-78.778498', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48282, 'W Amherst', 2814, '14228', '716', '43.038732', '-78.778498', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48283, 'West Amherst', 2814, '14228', '716', '43.038732', '-78.778498', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48284, 'Amherst', 2814, '14260', '716', '43.001821', '-78.785536', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48285, 'Buffalo', 2814, '14260', '716', '43.001821', '-78.785536', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48286, 'University At Buffalo', 2814, '14260', '716', '43.001821', '-78.785536', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48287, 'University Buffalo', 2814, '14260', '716', '43.001821', '-78.785536', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48288, 'Amherst', 2814, '14261', '716', '42.8866', '-78.8789', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48289, 'Buffalo', 2814, '14261', '716', '42.8866', '-78.8789', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48290, 'University At Buffalo', 2814, '14261', '716', '42.8866', '-78.8789', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48291, 'University Buffalo', 2814, '14261', '716', '42.8866', '-78.8789', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48292, 'Orchard Park', 2814, '14127', '716', '42.739434', '-78.736791', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48293, 'Perrysburg', 2814, '14129', '716', '42.479438', '-79.003261', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48294, 'Pike', 2814, '14130', '585', '42.5554', '-78.1542', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48295, 'Stafford', 2814, '14143', '585', '42.976898', '-78.069955', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48296, 'Sheldon', 2814, '14145', '585', '42.731855', '-78.445162', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48297, 'Strykersville', 2814, '14145', '585', '42.731855', '-78.445162', '2018-11-29 05:01:56', '2018-11-29 05:01:56');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(48298, 'Welcome', 2814, '13810', '607', '42.609378', '-75.114821', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48299, 'East Nichols', 2814, '13812', '607', '42.045306', '-76.374332', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48300, 'Hoopers Valley', 2814, '13812', '607', '42.045306', '-76.374332', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48301, 'Lounsberry', 2814, '13812', '607', '42.045306', '-76.374332', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48302, 'Nichols', 2814, '13812', '607', '42.045306', '-76.374332', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48303, 'Catatonk', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48304, 'Flemingville', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48305, 'Foster', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48306, 'Gaskill', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48307, 'Hullsville', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48308, 'Owego', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48309, 'South Owego', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48310, 'Straits Corners', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48311, 'Waits', 2814, '13827', '607', '42.096985', '-76.276895', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48312, 'Attica', 2814, '14011', '585', '42.832401', '-78.29968', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48313, 'Cowlesville', 2814, '14011', '585', '42.832401', '-78.29968', '2018-11-29 05:01:56', '2018-11-29 05:01:56'),\n(48314, 'Alabama', 2814, '14013', '585', '43.077728', '-78.408137', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48315, 'Basom', 2814, '14013', '585', '43.077728', '-78.408137', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48316, 'Brant', 2814, '14027', '716', '42.5883', '-79.0184', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48317, 'Chaffee', 2814, '14030', '716', '42.557523', '-78.507982', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48318, 'Depew', 2814, '14043', '716', '42.898978', '-78.708008', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48319, 'Campville', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48320, 'Crestview Heights', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48321, 'Endicott', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48322, 'Endwell', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48323, 'Union Center', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48324, 'West Corners', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48325, 'West Endicott', 2814, '13760', '607', '42.144074', '-76.079437', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48326, 'Butternuts', 2814, '13776', '607', '42.457068', '-75.338384', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48327, 'Gilbertsville', 2814, '13776', '607', '42.457068', '-75.338384', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48328, 'Lockwood', 2814, '14859', '607', '42.122665', '-76.534281', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48329, 'Rexville', 2814, '14877', '607', '42.064733', '-77.683058', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48330, 'Irondequoit', 2814, '14609', '585', '43.178447', '-77.551366', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48331, 'Rochester', 2814, '14609', '585', '43.178447', '-77.551366', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48332, 'Greece', 2814, '14616', '585', '43.228832', '-77.671998', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48333, 'Stockton', 2814, '14784', '716', '42.315967', '-79.388161', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48334, 'Alfred', 2814, '14802', '607', '42.253826', '-77.790645', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48335, 'Avoca', 2814, '14809', '607', '42.423536', '-77.437047', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48336, 'Wallace', 2814, '14809', '607', '42.423536', '-77.437047', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48337, 'Rochester', 2814, '14616', '585', '43.228832', '-77.671998', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48338, 'Jp Morgan Bank', 2814, '14643', '585', '43.1544', '-77.6155', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48339, 'Rochester', 2814, '14643', '585', '43.1544', '-77.6155', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48340, 'Cassadaga', 2814, '14718', '716', '42.343252', '-79.27211', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48341, 'North Rose', 2814, '14516', '315', '43.202856', '-76.905936', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48342, 'Industry', 2814, '14543', '585', '42.99757', '-77.65925', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48343, 'Rush', 2814, '14543', '585', '42.99757', '-77.65925', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48344, 'West Rush', 2814, '14543', '585', '42.99757', '-77.65925', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48345, 'South Byron', 2814, '14557', '585', '43.0486', '-78.0655', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48346, 'Rochester', 2814, '14602', '585', '43.1544', '-77.6156', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48347, 'Bergen', 2814, '14416', '585', '43.081418', '-78.017904', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48348, 'Branchport', 2814, '14418', '315', '42.624416', '-77.221826', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48349, 'Caledonia', 2814, '14423', '585', '42.92693', '-77.826271', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48350, 'Clifton Spgs', 2814, '14432', '315', '42.962912', '-77.150726', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48351, 'Clifton Springs', 2814, '14432', '315', '42.962912', '-77.150726', '2018-11-29 05:01:57', '2018-11-29 05:01:57'),\n(48352, 'E Bloomfield', 2814, '14443', '585', '42.8952', '-77.4351', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48353, 'East Bloomfield', 2814, '14443', '585', '42.8952', '-77.4351', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48354, 'Hemlock', 2814, '14466', '585', '42.773364', '-77.59305', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48355, 'Elma', 2814, '14059', '716', '42.82837', '-78.626633', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48356, 'Gainesville', 2814, '14066', '585', '42.61336', '-78.194809', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48357, 'Hamburg', 2814, '14075', '716', '42.707914', '-78.829464', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48358, 'Java Center', 2814, '14082', '585', '42.661879', '-78.387053', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48359, 'Lyndonville', 2814, '14098', '585', '43.324436', '-78.373162', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48360, 'Buffalo', 2814, '14218', '716', '42.81554', '-78.817302', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48361, 'Lackawanna', 2814, '14218', '716', '42.81554', '-78.817302', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48362, 'W Seneca', 2814, '14218', '716', '42.81554', '-78.817302', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48363, 'West Seneca', 2814, '14218', '716', '42.81554', '-78.817302', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48364, 'Buffalo', 2814, '14223', '716', '42.974484', '-78.84835', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48365, 'Hiler', 2814, '14223', '716', '42.974484', '-78.84835', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48366, 'Kenmore', 2814, '14223', '716', '42.974484', '-78.84835', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48367, 'Tn Of Tona', 2814, '14223', '716', '42.974484', '-78.84835', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48368, 'Tonawanda', 2814, '14223', '716', '42.974484', '-78.84835', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48369, 'Town Of Tonawanda', 2814, '14223', '716', '42.974484', '-78.84835', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48370, 'Buffalo', 2814, '14225', '716', '42.925832', '-78.748306', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48371, 'Cheektowaga', 2814, '14225', '716', '42.925832', '-78.748306', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48372, 'Gridleyville', 2814, '13864', '607', '42.284672', '-76.39807', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48373, 'South Danby', 2814, '13864', '607', '42.284672', '-76.39807', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48374, 'Willseyville', 2814, '13864', '607', '42.284672', '-76.39807', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48375, 'S Wales', 2814, '14139', '716', '42.718096', '-78.543383', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48376, 'South Wales', 2814, '14139', '716', '42.718096', '-78.543383', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48377, 'North Norwich', 2814, '13814', '607', '42.6166', '-75.5275', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48378, 'Brisben', 2814, '13830', '607', '42.445349', '-75.638588', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48379, 'East Mcdonough', 2814, '13830', '607', '42.445349', '-75.638588', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48380, 'Oxford', 2814, '13830', '607', '42.445349', '-75.638588', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48381, 'Preston', 2814, '13830', '607', '42.445349', '-75.638588', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48382, 'South Oxford', 2814, '13830', '607', '42.445349', '-75.638588', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48383, 'Tyner', 2814, '13830', '607', '42.445349', '-75.638588', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48384, 'Beaver Meadow', 2814, '13832', '607', '42.659424', '-75.659522', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48385, 'Plymouth', 2814, '13832', '607', '42.659424', '-75.659522', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48386, 'Arcade', 2814, '14009', '585', '42.578302', '-78.377682', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48387, 'Collins', 2814, '14034', '716', '42.492597', '-78.864693', '2018-11-29 05:01:58', '2018-11-29 05:01:58'),\n(48388, 'Helmuth', 2814, '14034', '716', '42.492597', '-78.864693', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48389, 'Dale', 2814, '14039', '585', '42.838212', '-78.167503', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48390, 'Dayton', 2814, '14041', '716', '42.399101', '-78.973578', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48391, 'Corbett', 2814, '13755', '607', '42.083706', '-75.016339', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48392, 'Downsville', 2814, '13755', '607', '42.083706', '-75.016339', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48393, 'Gregorytown', 2814, '13755', '607', '42.083706', '-75.016339', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48394, 'Shinhopple', 2814, '13755', '607', '42.083706', '-75.016339', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48395, 'Ross Corners', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48396, 'South Vestal', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48397, 'Tracy Creek', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48398, 'Twin Orchards', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48399, 'Vestal', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48400, 'Vestal Center', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48401, 'Vestal Gardens', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48402, 'Willow Point', 2814, '13850', '607', '42.056784', '-76.025392', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48403, 'E Rodman', 2814, '13682', '315', '43.846594', '-75.879917', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48404, 'Rodman', 2814, '13682', '315', '43.846594', '-75.879917', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48405, 'Theresa', 2814, '13691', '315', '44.217946', '-75.761226', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48406, 'W Stockholm', 2814, '13696', '315', '44.734002', '-74.915935', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48407, 'West Stockholm', 2814, '13696', '315', '44.734002', '-74.915935', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48408, 'Bloomville', 2814, '13739', '607', '42.370756', '-74.783432', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48409, 'Doonan Corners', 2814, '13739', '607', '42.370756', '-74.783432', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48410, 'Kortright', 2814, '13739', '607', '42.370756', '-74.783432', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48411, 'Kortright Center', 2814, '13739', '607', '42.370756', '-74.783432', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48412, 'Fishers Landing', 2814, '13641', '315', '44.2766', '-76.0086', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48413, 'Fishers Lndg', 2814, '13641', '315', '44.2766', '-76.0086', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48414, 'Edwardsville', 2814, '13646', '315', '44.450228', '-75.661068', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48415, 'Hammond', 2814, '13646', '315', '44.450228', '-75.661068', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48416, 'Rossie', 2814, '13646', '315', '44.450228', '-75.661068', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48417, 'Ruby Corner', 2814, '13646', '315', '44.450228', '-75.661068', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48418, 'Akwesasne', 2814, '13655', '518', '44.976471', '-74.648944', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48419, 'Hogansburg', 2814, '13655', '518', '44.976471', '-74.648944', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48420, 'Limerick', 2814, '13657', '315', '44.0292', '-76.0434', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48421, 'Conklin', 2814, '13748', '607', '42.044054', '-75.810842', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48422, 'Brier Hill', 2814, '13614', '315', '44.541811', '-75.689647', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48423, 'Glen Aubrey', 2814, '13777', '607', '42.252092', '-75.996261', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48424, 'Ambierville', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:01:59', '2018-11-29 05:01:59'),\n(48425, 'Holmesville', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48426, 'Lathams Corners', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48427, 'Rockwells Mills', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48428, 'S New Berlin', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48429, 'South New Berlin', 2814, '13843', '607', '42.515638', '-75.375592', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48430, 'Franklinville', 2814, '14737', '716', '42.335942', '-78.431447', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48431, 'Lakemont', 2814, '14857', '607', '42.515885', '-76.92077', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48432, 'Pine Valley', 2814, '14872', '607', '42.225379', '-76.864009', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48433, 'Randolph', 2814, '14772', '716', '42.149865', '-78.924833', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48434, 'Westfield', 2814, '14787', '716', '42.308108', '-79.5611', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48435, 'Almond', 2814, '14804', '607', '42.319758', '-77.847046', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48436, 'Cameron Mills', 2814, '14820', '607', '42.19087', '-77.382116', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48437, 'Canaseraga', 2814, '14822', '607', '42.440259', '-77.836214', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48438, 'Dundee', 2814, '14837', '607', '42.493283', '-77.01558', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48439, 'Greenwood', 2814, '14839', '607', '42.135665', '-77.630777', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48440, 'Linwood', 2814, '14486', '585', '42.892357', '-77.918034', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48441, 'Livonia', 2814, '14487', '585', '42.809642', '-77.624532', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48442, 'Manchester', 2814, '14504', '585', '42.968824', '-77.236803', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48443, 'Bank Of America', 2814, '14638', '585', '43.1544', '-77.6155', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48444, 'Rochester', 2814, '14638', '585', '43.1544', '-77.6155', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48445, 'Kodak Apparatus Division', 2814, '14653', '585', '43.1544', '-77.6155', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48446, 'Rochester', 2814, '14653', '585', '43.1544', '-77.6155', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48447, 'Chautauqua', 2814, '14722', '716', '42.2076', '-79.4672', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48448, 'Cherry Creek', 2814, '14723', '716', '42.313713', '-79.1437', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48449, 'Buffalo', 2814, '14270', '716', '42.8866', '-78.8789', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48450, 'Hsbc Bank', 2814, '14270', '716', '42.8866', '-78.8789', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48451, 'Marine Midland', 2814, '14270', '716', '42.8866', '-78.8789', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48452, 'N Falls', 2814, '14302', '716', '43.0936', '-79.0565', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48453, 'Ontario', 2814, '14519', '315', '43.222744', '-77.30828', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48454, 'Sodus Point', 2814, '14555', '315', '43.254812', '-76.983022', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48455, 'Sonyea', 2814, '14556', '585', '42.6786', '-77.8278', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48456, 'W Henrietta', 2814, '14586', '585', '43.046388', '-77.689263', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48457, 'West Henrietta', 2814, '14586', '585', '43.046388', '-77.689263', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48458, 'Willard', 2814, '14588', '607', '42.6824', '-76.8687', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48459, 'Rochester', 2814, '14604', '585', '43.15686', '-77.605191', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48460, 'West Falls', 2814, '14170', '716', '42.703514', '-78.670264', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48461, 'W Valley', 2814, '14171', '716', '42.407401', '-78.633519', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48462, 'West Valley', 2814, '14171', '716', '42.407401', '-78.633519', '2018-11-29 05:02:00', '2018-11-29 05:02:00'),\n(48463, 'Buffalo', 2814, '14203', '716', '42.867092', '-78.864266', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48464, 'Buffalo', 2814, '14204', '716', '42.883323', '-78.863792', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48465, 'Niagara Falls', 2814, '14302', '716', '43.0936', '-79.0565', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48466, 'N Falls', 2814, '14303', '716', '43.083727', '-79.03684', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48467, 'Niagara Falls', 2814, '14303', '716', '43.083727', '-79.03684', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48468, 'Brockport', 2814, '14420', '585', '43.209971', '-77.914262', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48469, 'Dansville', 2814, '14437', '585', '42.573264', '-77.727083', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48470, 'Geneva', 2814, '14456', '315', '42.850514', '-76.989419', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48471, 'Honeoye', 2814, '14471', '585', '42.746656', '-77.477538', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48472, 'Honeoye Falls', 2814, '14472', '585', '42.967906', '-77.601897', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48473, 'East Concord', 2814, '14055', '716', '42.552728', '-78.619354', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48474, 'Getzville', 2814, '14068', '716', '43.029188', '-78.766594', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48475, 'Glenwood', 2814, '14069', '716', '42.597386', '-78.634549', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48476, 'Buffalo', 2814, '14220', '716', '42.844897', '-78.821799', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48477, 'W Seneca', 2814, '14220', '716', '42.844897', '-78.821799', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48478, 'West Seneca', 2814, '14220', '716', '42.844897', '-78.821799', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48479, 'Binghamton', 2814, '13903', '607', '42.051146', '-75.920828', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48480, 'Conklin Forks', 2814, '13903', '607', '42.051146', '-75.920828', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48481, 'East Vestal', 2814, '13903', '607', '42.051146', '-75.920828', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48482, 'Hawleyton', 2814, '13903', '607', '42.051146', '-75.920828', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48483, 'Park Terrace', 2814, '13903', '607', '42.051146', '-75.920828', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48484, 'Binghamton', 2814, '13904', '607', '42.1298', '-75.792379', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48485, 'Hospital', 2814, '13904', '607', '42.1298', '-75.792379', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48486, 'West Colesville', 2814, '13904', '607', '42.1298', '-75.792379', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48487, 'N Tonawanda', 2814, '14120', '716', '43.070646', '-78.82139', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48488, 'No Tonawanda', 2814, '14120', '716', '43.070646', '-78.82139', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48489, 'North Tonawanda', 2814, '14120', '716', '43.070646', '-78.82139', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48490, 'Pendleton', 2814, '14120', '716', '43.070646', '-78.82139', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48491, 'Wheatfield', 2814, '14120', '716', '43.070646', '-78.82139', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48492, 'Sheridan', 2814, '14135', '716', '42.4885', '-79.2378', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48493, 'Silver Creek', 2814, '14136', '716', '42.522794', '-79.163523', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48494, 'W Falls', 2814, '14170', '716', '42.703514', '-78.670264', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48495, 'Portlandville', 2814, '13834', '607', '42.504534', '-74.981073', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48496, 'Ellington', 2814, '14732', '716', '42.2168', '-79.1045', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48497, 'Interlaken', 2814, '14847', '607', '42.602362', '-76.732411', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48498, 'Mecklenburg', 2814, '14863', '607', '42.4577', '-76.7109', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48499, 'Greece', 2814, '14615', '585', '43.210731', '-77.650142', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48500, 'Rochester', 2814, '14615', '585', '43.210731', '-77.650142', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48501, 'Kill Buck', 2814, '14748', '716', '42.146432', '-78.633024', '2018-11-29 05:02:01', '2018-11-29 05:02:01'),\n(48502, 'Killbuck', 2814, '14748', '716', '42.146432', '-78.633024', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48503, 'Salamanca', 2814, '14779', '716', '42.150336', '-78.828929', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48504, 'Beaver Dams', 2814, '14812', '607', '42.296606', '-76.973939', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48505, 'Corning', 2814, '14830', '607', '42.138227', '-77.028758', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48506, 'South Corning', 2814, '14830', '607', '42.138227', '-77.028758', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48507, 'Corning', 2814, '14831', '607', '42.1429', '-77.0553', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48508, 'Corning Inc', 2814, '14831', '607', '42.1429', '-77.0553', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48509, 'Frontier', 2814, '14646', '585', '43.1544', '-77.6155', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48510, 'Rochester', 2814, '14646', '585', '43.1544', '-77.6155', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48511, 'Excellus Bcbs', 2814, '14647', '585', '43.1544', '-77.6155', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48512, 'Rochester', 2814, '14647', '585', '43.1544', '-77.6155', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48513, 'Black Creek', 2814, '14714', '585', '42.2892', '-78.222778', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48514, 'East Otto', 2814, '14729', '716', '42.402792', '-78.735172', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48515, 'East Randolph', 2814, '14730', '716', '42.1745', '-78.9467', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48516, 'Roswell Park Memorial Instit', 2814, '14263', '716', '42.8868', '-78.8765', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48517, 'Buffalo', 2814, '14264', '716', '42.8866', '-78.8789', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48518, 'Nat Fuel Gas Co', 2814, '14264', '716', '42.8866', '-78.8789', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48519, 'Seneca Castle', 2814, '14547', '585', '42.8868', '-77.0966', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48520, 'Shortsville', 2814, '14548', '585', '42.978958', '-77.25127', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48521, 'Buffalo', 2814, '14210', '716', '42.862789', '-78.830148', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48522, 'W Seneca', 2814, '14210', '716', '42.862789', '-78.830148', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48523, 'West Seneca', 2814, '14210', '716', '42.862789', '-78.830148', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48524, 'Buffalo', 2814, '14211', '716', '42.907575', '-78.819133', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48525, 'Cheektowaga', 2814, '14211', '716', '42.907575', '-78.819133', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48526, 'Buffalo', 2814, '14212', '716', '42.896036', '-78.819042', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48527, 'Cheektowaga', 2814, '14212', '716', '42.896036', '-78.819042', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48528, 'Sloan', 2814, '14212', '716', '42.896036', '-78.819042', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48529, 'Alton', 2814, '14413', '315', '43.2229', '-76.9705', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48530, 'Avon', 2814, '14414', '585', '42.903024', '-77.74857', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48531, 'Hamlin', 2814, '14464', '585', '43.324301', '-77.925539', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48532, 'Bluff Point', 2814, '14478', '315', '42.567416', '-77.12294', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48533, 'Keuka Park', 2814, '14478', '315', '42.567416', '-77.12294', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48534, 'Lakeville', 2814, '14480', '585', '42.839616', '-77.703089', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48535, 'Leicester', 2814, '14481', '585', '42.760947', '-77.917384', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48536, 'Farmersville', 2814, '14060', '585', '42.43418', '-78.305962', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48537, 'Farmersville Station', 2814, '14060', '585', '42.43418', '-78.305962', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48538, 'Farmersvl Sta', 2814, '14060', '585', '42.43418', '-78.305962', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48539, 'Farnham', 2814, '14061', '716', '42.5941', '-79.081', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48540, 'Lockport', 2814, '14095', '716', '43.1709', '-78.6906', '2018-11-29 05:02:02', '2018-11-29 05:02:02'),\n(48541, 'Buffalo', 2814, '14263', '716', '42.8868', '-78.8765', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48542, 'W Davenport', 2814, '13860', '607', '42.4455', '-74.9637', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48543, 'West Davenport', 2814, '13860', '607', '42.4455', '-74.9637', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48544, 'West Oneonta', 2814, '13861', '607', '42.486148', '-75.145988', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48545, 'Clough Corners', 2814, '13862', '607', '42.322369', '-75.9377', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48546, 'Itaska', 2814, '13862', '607', '42.322369', '-75.9377', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48547, 'Upper Lisle', 2814, '13862', '607', '42.322369', '-75.9377', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48548, 'Whitney Point', 2814, '13862', '607', '42.322369', '-75.9377', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48549, 'N Evans', 2814, '14112', '716', '42.698', '-78.9395', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48550, 'North Evans', 2814, '14112', '716', '42.698', '-78.9395', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48551, 'Newark Valley', 2814, '13811', '607', '42.238553', '-76.170324', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48552, 'Tiona', 2814, '13811', '607', '42.238553', '-76.170324', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48553, 'Weltonville', 2814, '13811', '607', '42.238553', '-76.170324', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48554, 'West Newark', 2814, '13811', '607', '42.238553', '-76.170324', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48555, 'Athol Springs', 2814, '14010', '716', '42.7694', '-78.8669', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48556, 'Endicott', 2814, '13761', '607', '42.0984', '-76.0497', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48557, 'Endwell', 2814, '13762', '607', '42.1128', '-76.0215', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48558, 'Coventry', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48559, 'Genegantslet', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48560, 'Greene', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48561, 'Lower Genegantslet Corner', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48562, 'Smithville', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48563, 'Smithville Center', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48564, 'Triangle', 2814, '13778', '607', '42.338924', '-75.739522', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48565, 'Raymondville', 2814, '13678', '315', '44.8391', '-74.9833', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48566, 'Redwood', 2814, '13679', '315', '44.337791', '-75.751838', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48567, 'Three Mile Bay', 2814, '13693', '315', '44.034564', '-76.254641', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48568, 'Three Mle Bay', 2814, '13693', '315', '44.034564', '-76.254641', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48569, 'Candor', 2814, '13743', '607', '42.225427', '-76.342318', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48570, 'Mount Upton', 2814, '13809', '607', '42.412766', '-75.39646', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48571, 'Rockdale', 2814, '13809', '607', '42.412766', '-75.39646', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48572, 'Balmat', 2814, '13642', '315', '44.356658', '-75.469168', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48573, 'Donald', 2817, '97020', '503', '45.226092', '-122.836883', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48574, 'Gladstone', 2817, '97027', '503', '45.388265', '-122.597485', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48575, 'Mount Hood', 2817, '97041', '541', '45.420266', '-121.618847', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48576, 'Mount Hood Parkdale', 2817, '97041', '541', '45.420266', '-121.618847', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48577, 'Mount Hood-Parkdale', 2817, '97041', '541', '45.420266', '-121.618847', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48578, 'Mt Hood', 2817, '97041', '541', '45.420266', '-121.618847', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48579, 'Mt Hood Prkdl', 2817, '97041', '541', '45.420266', '-121.618847', '2018-11-29 05:02:03', '2018-11-29 05:02:03'),\n(48580, 'Parkdale', 2817, '97041', '541', '45.420266', '-121.618847', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48581, 'Clackamas', 2817, '97086', '503', '45.443206', '-122.532454', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48582, 'Happy Valley', 2817, '97086', '503', '45.443206', '-122.532454', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48583, 'Portland', 2817, '97086', '503', '45.443206', '-122.532454', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48584, 'Arch Cape', 2817, '97102', '503', '45.844179', '-123.863237', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48585, 'Banks', 2817, '97125', '503', '45.66405', '-123.203663', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48586, 'Manning', 2817, '97125', '503', '45.66405', '-123.203663', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48587, 'Oceanside', 2817, '97134', '503', '45.461604', '-123.96837', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48588, 'Brighton', 2817, '97136', '503', '45.624665', '-123.914096', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48589, 'Manhattan Beach', 2817, '97136', '503', '45.624665', '-123.914096', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48590, 'Rockaway', 2817, '97136', '503', '45.624665', '-123.914096', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48591, 'Rockaway Bch', 2817, '97136', '503', '45.624665', '-123.914096', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48592, 'Rockaway Beach', 2817, '97136', '503', '45.624665', '-123.914096', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48593, 'Twin Rocks', 2817, '97136', '503', '45.624665', '-123.914096', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48594, 'Netarts', 2817, '97143', '503', '45.441114', '-123.945955', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48595, 'Netarts Bay', 2817, '97143', '503', '45.441114', '-123.945955', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48596, 'Portland', 2817, '97209', '503', '45.533458', '-122.681501', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48597, 'Portland', 2817, '97218', '503', '45.580879', '-122.600304', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48598, 'Salem', 2817, '97302', '503', '44.90324', '-123.066454', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48599, 'Salem', 2817, '97309', '503', '44.9431', '-123.0336', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48600, 'Dept Employment', 2817, '97311', '503', '44.9431', '-123.0336', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48601, 'Salem', 2817, '97311', '503', '44.9431', '-123.0336', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48602, 'Cascadia', 2817, '97329', '541', '44.433324', '-122.475859', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48603, 'Crawfordsville', 2817, '97336', '541', '44.3578', '-122.8517', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48604, 'Crawfordsvlle', 2817, '97336', '541', '44.3578', '-122.8517', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48605, 'Monmouth', 2817, '97361', '503', '44.785191', '-123.354334', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48606, 'Mehama', 2817, '97384', '503', '44.7905', '-122.6181', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48607, 'Eugene', 2817, '97404', '541', '44.103392', '-123.133906', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48608, 'Santa Clara', 2817, '97404', '541', '44.103392', '-123.133906', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48609, 'Bandon', 2817, '97411', '541', '43.104465', '-124.354099', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48610, 'Culp Creek', 2817, '97434', '541', '43.73993', '-122.909812', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48611, 'Dorena', 2817, '97434', '541', '43.73993', '-122.909812', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48612, 'Glide', 2817, '97443', '541', '43.246747', '-122.767271', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48613, 'Marcola', 2817, '97454', '541', '44.201814', '-122.740734', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48614, 'North Bend', 2817, '97459', '541', '43.434044', '-124.020842', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48615, 'Umpqua', 2817, '97486', '541', '43.38674', '-123.635668', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48616, 'Ashland', 2817, '97520', '541', '42.200267', '-122.638182', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48617, 'Grants Pass', 2817, '97527', '541', '42.407716', '-123.39724', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48618, 'Prospect', 2817, '97536', '541', '42.807194', '-122.484352', '2018-11-29 05:02:04', '2018-11-29 05:02:04'),\n(48619, 'Selma', 2817, '97538', '541', '42.359214', '-123.697753', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48620, 'Post', 2817, '97752', '541', '44.017604', '-120.261948', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48621, 'Prineville', 2817, '97754', '541', '44.240166', '-120.604891', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48622, 'Hermiston', 2817, '97838', '541', '45.834575', '-119.344204', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48623, 'Arock', 2817, '97902', '541', '43.9345', '-117.0842', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48624, 'Arcadia', 2817, '97913', '541', '43.822182', '-117.12459', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48625, 'Nyssa', 2817, '97913', '541', '43.822182', '-117.12459', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48626, 'Owyhee Corners', 2817, '97913', '541', '43.822182', '-117.12459', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48627, 'Salem', 2817, '97317', '503', '44.901494', '-122.905573', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48628, 'Blodgett', 2817, '97326', '541', '44.629504', '-123.656296', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48629, 'Crabtree', 2817, '97335', '541', '44.6343', '-122.8939', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48630, 'Lincoln City', 2817, '97367', '541', '44.931986', '-123.883055', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48631, 'Rose Lodge', 2817, '97367', '541', '44.931986', '-123.883055', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48632, 'Seal Rock', 2817, '97376', '541', '44.50551', '-123.960003', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48633, 'Sheridan', 2817, '97378', '503', '45.12704', '-123.445707', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48634, 'Marion', 2817, '97392', '503', '44.788832', '-122.942138', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48635, 'Turner', 2817, '97392', '503', '44.788832', '-122.942138', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48636, 'Waldport', 2817, '97394', '541', '44.421248', '-123.980541', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48637, 'Emu U Of Or', 2817, '97403', '541', '44.035917', '-123.051936', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48638, 'Eugene', 2817, '97403', '541', '44.035917', '-123.051936', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48639, 'Azalea', 2817, '97410', '541', '42.828053', '-123.116844', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48640, 'Elmira', 2817, '97437', '541', '44.096339', '-123.378101', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48641, 'Lorane', 2817, '97451', '541', '43.844574', '-123.292594', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48642, 'Rogue Elk', 2817, '97451', '541', '43.844574', '-123.292594', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48643, 'Mapleton', 2817, '97453', '541', '43.987568', '-123.847978', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48644, 'Riddle', 2817, '97469', '541', '42.911261', '-123.38162', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48645, 'Medford', 2817, '97501', '541', '42.256944', '-122.896766', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48646, 'Medford', 2817, '97503', '541', '42.543978', '-122.900607', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48647, 'White City', 2817, '97503', '541', '42.543978', '-122.900607', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48648, 'Phoenix', 2817, '97535', '541', '42.268244', '-122.813437', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48649, 'Rogue River', 2817, '97537', '541', '42.594724', '-123.087546', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48650, 'Fort Klamath', 2817, '97626', '541', '42.643727', '-122.035418', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48651, 'Lakeview', 2817, '97630', '541', '42.234359', '-120.555841', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48652, 'Fort Rock', 2817, '97735', '541', '43.454097', '-121.070895', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48653, 'Crkd Rvr Rnch', 2817, '97760', '541', '44.426016', '-121.201721', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48654, 'Crooked River', 2817, '97760', '541', '44.426016', '-121.201721', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48655, 'Crooked River Ranch', 2817, '97760', '541', '44.426016', '-121.201721', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48656, 'Terrebonne', 2817, '97760', '541', '44.426016', '-121.201721', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48657, 'Enterprise', 2817, '97828', '541', '45.576664', '-117.534056', '2018-11-29 05:02:05', '2018-11-29 05:02:05'),\n(48658, 'Helix', 2817, '97835', '541', '45.903388', '-118.861341', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48659, 'Milton Freewater', 2817, '97862', '541', '45.885288', '-118.3098', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48660, 'Milton Frwtr', 2817, '97862', '541', '45.885288', '-118.3098', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48661, 'Milton-Freewater', 2817, '97862', '541', '45.885288', '-118.3098', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48662, 'Dale', 2817, '97880', '541', '45.097058', '-118.892465', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48663, 'Ukiah', 2817, '97880', '541', '45.097058', '-118.892465', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48664, 'Kaseville', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48665, 'Mahoning', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48666, 'Mausdale', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48667, 'Mooresburg', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48668, 'Ottawa', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48669, 'Ridgeville', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48670, 'Rushtown', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48671, 'Strawberry Rg', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48672, 'Valley', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48673, 'West Hemlock', 2818, '17821', '570', '40.985176', '-76.653281', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48674, 'Danville', 2818, '17822', '570', '40.9634', '-76.6134', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48675, 'Geisinger Med', 2818, '17822', '570', '40.9634', '-76.6134', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48676, 'Geisinger Medical Center', 2818, '17822', '570', '40.9634', '-76.6134', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48677, 'Dornsife', 2818, '17823', '570', '40.720216', '-76.713156', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48678, 'Little Mahany', 2818, '17823', '570', '40.720216', '-76.713156', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48679, 'Red Cross', 2818, '17823', '570', '40.720216', '-76.713156', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48680, 'Limerick', 2818, '19468', '610', '40.198792', '-75.535322', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48681, 'Linfield', 2818, '19468', '610', '40.198792', '-75.535322', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48682, 'Royersford', 2818, '19468', '610', '40.198792', '-75.535322', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48683, 'Colmar', 2818, '18915', '215', '40.271538', '-75.257663', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48684, 'Earlington', 2818, '18918', '215', '40.3281', '-75.3757', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48685, 'Quakertown', 2818, '18951', '215', '40.458938', '-75.323708', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48686, 'Scranton', 2818, '18515', '570', '41.4095', '-75.6658', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48687, 'Scranton', 2818, '18517', '570', '41.393356', '-75.716824', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48688, 'Taylor', 2818, '18517', '570', '41.393356', '-75.716824', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48689, 'Trenton', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48690, 'Wiggans', 2818, '17948', '570', '40.810998', '-76.13845', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48691, 'Roaring Brnch', 2818, '17765', '570', '41.546107', '-76.912603', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48692, 'Marion Height', 2818, '17832', '570', '40.803748', '-76.4647', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48693, 'Marion Heights', 2818, '17832', '570', '40.803748', '-76.4647', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48694, 'Gwynedd', 2818, '19454', '215', '40.220277', '-75.241267', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48695, 'Montgomery Twp', 2818, '19454', '215', '40.220277', '-75.241267', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48696, 'North Wales', 2818, '19454', '215', '40.220277', '-75.241267', '2018-11-29 05:02:06', '2018-11-29 05:02:06'),\n(48697, 'Sassamansville', 2818, '19472', '610', '40.339349', '-75.566787', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48698, 'Sassamansvlle', 2818, '19472', '610', '40.339349', '-75.566787', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48699, 'Valley Forge', 2818, '19481', '610', '40.0968', '-75.4701', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48700, 'Angelica', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48701, 'Beckersville', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48702, 'Hummels Store', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48703, 'Knauers', 2818, '19540', '610', '40.23915', '-75.974295', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48704, 'Kingston', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48705, 'Larksville', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48706, 'Pringle', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48707, 'Swoyersville', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48708, 'Wilkes Barre', 2818, '18704', '570', '41.28117', '-75.900648', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48709, 'Erwinna', 2818, '18920', '610', '40.497989', '-75.100522', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48710, 'Forest Grove', 2818, '18922', '215', '40.2925', '-75.0595', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48711, 'Hilltown', 2818, '18927', '215', '40.31828', '-75.24765', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48712, 'Montgomeryville', 2818, '18936', '215', '40.223194', '-75.227976', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48713, 'Montgomeryvle', 2818, '18936', '215', '40.223194', '-75.227976', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48714, 'Richboro', 2818, '18954', '215', '40.225146', '-75.000635', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48715, 'Southampton', 2818, '18954', '215', '40.225146', '-75.000635', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48716, 'Cherry Run', 2818, '17885', '570', '40.862276', '-77.290624', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48717, 'Weikert', 2818, '17885', '570', '40.862276', '-77.290624', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48718, 'Bear Gap', 2818, '17824', '570', '40.845938', '-76.543359', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48719, 'Elysburg', 2818, '17824', '570', '40.845938', '-76.543359', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48720, 'Fisherdale', 2818, '17824', '570', '40.845938', '-76.543359', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48721, 'Happy Valley', 2818, '17824', '570', '40.845938', '-76.543359', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48722, 'Knoebels Grv', 2818, '17824', '570', '40.845938', '-76.543359', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48723, 'Reeders Grove', 2818, '17824', '570', '40.845938', '-76.543359', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48724, 'Bear Valley', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48725, 'Boydtown', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48726, 'Coal', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48727, 'Doutyville', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48728, 'Dunkelbergers', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48729, 'Gowen City', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48730, 'Hunter', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(48731, 'Luke Fidler', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48732, 'Marshallton', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48733, 'Ralpho', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48734, 'Sagon', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48735, 'Shamokin', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:07', '2018-11-29 05:02:07'),\n(48736, 'Sunnyside', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48737, 'Tharptown', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48738, 'Weigh Scale', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48739, 'West Cameron', 2818, '17872', '570', '40.762901', '-76.496297', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48740, 'Buttonwood', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48741, 'Calvert', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48742, 'Cascade', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48743, 'Cogan House', 2818, '17771', '570', '41.44049', '-76.989686', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48744, 'Brook Park', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48745, 'Buffalo X Rds', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48746, 'College Park', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48747, 'East Buffalo', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48748, 'Fairville', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48749, 'Kelly', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48750, 'Kelly Point', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48751, 'Kelly X Rds', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48752, 'Lewisburg', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48753, 'Linntown', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48754, 'Lochiel', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48755, 'Mazeppa', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48756, 'West Acres', 2818, '17837', '570', '40.989922', '-76.982404', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48757, 'Lightstreet', 2818, '17839', '570', '41.0036', '-76.4553', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48758, 'Oaks', 2818, '19456', '610', '40.1314', '-75.46', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48759, 'Skippack', 2818, '19474', '610', '40.223842', '-75.404147', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48760, 'Barto', 2818, '19504', '610', '40.402867', '-75.597014', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48761, 'Congo', 2818, '19504', '610', '40.402867', '-75.597014', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48762, 'Dale', 2818, '19504', '610', '40.402867', '-75.597014', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48763, 'Harlem', 2818, '19504', '610', '40.402867', '-75.597014', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48764, 'Niantic', 2818, '19504', '610', '40.402867', '-75.597014', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48765, 'Schultzville', 2818, '19504', '610', '40.402867', '-75.597014', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48766, 'Bernville', 2818, '19506', '610', '40.46239', '-76.121839', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48767, 'Garfield', 2818, '19506', '610', '40.46239', '-76.121839', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48768, 'New Schaefferstown', 2818, '19506', '610', '40.46239', '-76.121839', '2018-11-29 05:02:08', '2018-11-29 05:02:08'),\n(48769, 'North Heidelberg', 2818, '19506', '610', '40.46239', '-76.121839', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48770, 'Upper Bern', 2818, '19506', '610', '40.46239', '-76.121839', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48771, 'Jamison', 2818, '18929', '215', '40.257112', '-75.076601', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48772, 'New Hope', 2818, '18938', '215', '40.353916', '-75.001612', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48773, 'Rushland', 2818, '18956', '215', '40.2598', '-75.0287', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48774, 'Old Forge', 2818, '18518', '570', '41.370639', '-75.741114', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48775, 'Scranton', 2818, '18518', '570', '41.370639', '-75.741114', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48776, 'Scranton', 2818, '18577', '570', '41.4088', '-75.6626', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48777, 'United Parcel Service', 2818, '18577', '570', '41.4088', '-75.6626', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48778, 'Washingtonville', 2818, '17884', '570', '41.05567', '-76.670818', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48779, 'Washingtonvle', 2818, '17884', '570', '41.05567', '-76.670818', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48780, 'Lewisburg', 2818, '17886', '570', '41.021711', '-76.874577', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48781, 'New Columbia', 2818, '17886', '570', '41.021711', '-76.874577', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48782, 'Kulpmont', 2818, '17834', '570', '40.791508', '-76.470248', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48783, 'Leck Kill', 2818, '17836', '570', '40.7026', '-76.602122', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48784, 'Leckkill', 2818, '17836', '570', '40.7026', '-76.602122', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48785, 'Upper Mahanoy', 2818, '17836', '570', '40.7026', '-76.602122', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48786, 'Snydertown', 2818, '17877', '570', '40.872488', '-76.670154', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48787, 'Fox', 2818, '17768', '570', '41.530967', '-76.746448', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48788, 'Shunk', 2818, '17768', '570', '41.530967', '-76.746448', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48789, 'Wheelerville', 2818, '17768', '570', '41.530967', '-76.746448', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48790, 'Freeburg', 2818, '17827', '570', '40.762217', '-76.944424', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48791, 'Valley Forge', 2818, '19484', '610', '40.1109', '-75.4027', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48792, 'West Point', 2818, '19486', '215', '40.2064', '-75.2998', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48793, 'Bally', 2818, '19503', '610', '40.400978', '-75.587049', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48794, 'Danboro', 2818, '18916', '215', '40.3547', '-75.1334', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48795, 'Line Lexington', 2818, '18932', '215', '40.2914', '-75.255508', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48796, 'Line Lxngtn', 2818, '18932', '215', '40.2914', '-75.255508', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48797, 'Doylestown', 2818, '18933', '267', '40.374148', '-75.035235', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48798, 'Lumberville', 2818, '18933', '267', '40.374148', '-75.035235', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48799, 'Plumsteadville', 2818, '18949', '215', '40.3874', '-75.1468', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48800, 'Plumsteadvlle', 2818, '18949', '215', '40.3874', '-75.1468', '2018-11-29 05:02:09', '2018-11-29 05:02:09'),\n(48801, 'Harriet Carter Gifts', 2818, '19455', '215', '40.2105', '-75.2788', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48802, 'North Wales', 2818, '19455', '215', '40.2105', '-75.2788', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48803, 'Plymouth Meeting', 2818, '19462', '610', '40.116408', '-75.275553', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48804, 'Plymouth Mtng', 2818, '19462', '610', '40.116408', '-75.275553', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48805, 'Plymouth Valley', 2818, '19462', '610', '40.116408', '-75.275553', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48806, 'Naval Hospital', 2821, '29902', '843', '32.373247', '-80.700634', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48807, 'Barkersville', 2821, '29916', '843', '32.709437', '-80.953499', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48808, 'Early Branch', 2821, '29916', '843', '32.709437', '-80.953499', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48809, 'Fechtig', 2821, '29916', '843', '32.709437', '-80.953499', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48810, 'Grays', 2821, '29916', '843', '32.709437', '-80.953499', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48811, 'Estill', 2821, '29918', '803', '32.693506', '-81.237721', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48812, 'Nixville', 2821, '29918', '803', '32.693506', '-81.237721', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48813, 'Coosawhatchie', 2821, '29936', '843', '32.497686', '-80.95528', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48814, 'Fort Mill', 2821, '29716', '803', '35.0072', '-80.9454', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48815, 'Jefferson', 2821, '29718', '843', '34.625046', '-80.328894', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48816, 'Mount Croghan', 2821, '29727', '843', '34.73887', '-80.241802', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48817, 'Aiken', 2821, '29802', '803', '33.5606', '-81.7194', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48818, 'Blackville', 2821, '29817', '803', '33.362063', '-81.289278', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48819, 'Bordeaux', 2821, '29835', '864', '33.897392', '-82.230254', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48820, 'Britts', 2821, '29835', '864', '33.897392', '-82.230254', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48821, 'Mc Cormick', 2821, '29835', '864', '33.897392', '-82.230254', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48822, 'Willington', 2821, '29835', '864', '33.897392', '-82.230254', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48823, 'Little Rock', 2821, '29567', '843', '34.548848', '-79.433947', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48824, 'Mullins', 2821, '29574', '843', '34.157795', '-79.254626', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48825, 'And', 2821, '29626', '864', '34.442022', '-82.755252', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48826, 'Anderson', 2821, '29626', '864', '34.442022', '-82.755252', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48827, 'Easley', 2821, '29640', '864', '34.893334', '-82.580276', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48828, 'Greenwood', 2821, '29649', '864', '34.247997', '-82.148454', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48829, 'Gwd', 2821, '29649', '864', '34.247997', '-82.148454', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48830, 'Long Creek', 2821, '29658', '864', '34.728984', '-83.28222', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48831, 'Newry', 2821, '29665', '864', '34.741651', '-82.900707', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48832, 'Travelers Rest', 2821, '29690', '864', '35.076598', '-82.412888', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48833, 'Travelers Rst', 2821, '29690', '864', '35.076598', '-82.412888', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48834, 'College Park', 2821, '29456', '843', '32.990207', '-80.117138', '2018-11-29 05:02:10', '2018-11-29 05:02:10'),\n(48835, 'Ladson', 2821, '29456', '843', '32.990207', '-80.117138', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48836, 'Rowesville', 2821, '29133', '803', '33.374002', '-80.805538', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48837, 'Columbia', 2821, '29208', '803', '33.998363', '-81.028028', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48838, 'University Of Sc', 2821, '29208', '803', '33.998363', '-81.028028', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48839, 'Usc', 2821, '29208', '803', '33.998363', '-81.028028', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48840, 'Bell South', 2821, '29215', '803', '34.0009', '-81.0353', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48841, 'Columbia', 2821, '29215', '803', '34.0009', '-81.0353', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48842, 'City Of Columbia', 2821, '29217', '803', '34.0009', '-81.0353', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48843, 'Columbia', 2821, '29217', '803', '34.0009', '-81.0353', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48844, 'Columbia', 2821, '29222', '803', '34.0009', '-81.0353', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48845, 'Elloree', 2821, '29047', '803', '33.526515', '-80.575052', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48846, 'Felderville', 2821, '29047', '803', '33.526515', '-80.575052', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48847, 'Greeleyville', 2821, '29056', '843', '33.611847', '-79.998514', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48848, 'Jenkinsville', 2821, '29065', '803', '34.268266', '-81.269982', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48849, 'Monticello', 2821, '29065', '803', '34.268266', '-81.269982', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48850, 'Sun City', 2821, '29909', '843', '32.327675', '-80.893306', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48851, 'Brunson', 2821, '29911', '803', '32.927705', '-81.143043', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48852, 'Hilton Head', 2821, '29925', '843', '32.2161', '-80.7525', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48853, 'Hilton Head Island', 2821, '29925', '843', '32.2161', '-80.7525', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48854, 'Pineland', 2821, '29934', '843', '32.605473', '-81.149256', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48855, 'Kings Creek', 2821, '29702', '864', '35.100616', '-81.470938', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48856, 'Batesburg', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48857, 'Batesburg-Leesville', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48858, 'Batsbrg-Levil', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48859, 'Holtson Crossroads', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48860, 'Kneece', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48861, 'New Holland Crossroads', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48862, 'Samaria', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48863, 'Summerland', 2821, '29006', '803', '33.889613', '-81.563456', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48864, 'Carlisle', 2821, '29031', '864', '34.616548', '-81.434086', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48865, 'Leeds', 2821, '29031', '864', '34.616548', '-81.434086', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48866, 'Tuckertown', 2821, '29031', '864', '34.616548', '-81.434086', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48867, 'Cayce', 2821, '29033', '803', '33.95965', '-81.060075', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48868, 'Cayce W Cola', 2821, '29033', '803', '33.95965', '-81.060075', '2018-11-29 05:02:11', '2018-11-29 05:02:11'),\n(48869, 'West Columbia', 2821, '29033', '803', '33.95965', '-81.060075', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48870, 'Cope', 2821, '29038', '803', '33.361226', '-80.978887', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48871, 'Alcot', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48872, 'Ashland', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48873, 'Bishopville', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48874, 'Lucknow', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48875, 'Manville', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48876, 'Mccutchen Crossroads', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48877, 'Mechanicsville', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48878, 'Stokes Bridge', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48879, 'Wisacky', 2821, '29010', '803', '34.208746', '-80.277149', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48880, 'Lugoff', 2821, '29078', '803', '34.197972', '-80.706275', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48881, 'Lydia', 2821, '29079', '843', '34.29761', '-80.104732', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48882, 'Longs', 2821, '29568', '843', '33.894921', '-78.773658', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48883, 'And', 2821, '29625', '864', '34.571365', '-82.756324', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48884, 'Anderson', 2821, '29625', '864', '34.571365', '-82.756324', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48885, 'Easley', 2821, '29641', '864', '34.8299', '-82.6017', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48886, 'Greenwood', 2821, '29648', '864', '34.1954', '-82.1616', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48887, 'Gwd', 2821, '29648', '864', '34.1954', '-82.1616', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48888, 'Liberty', 2821, '29657', '864', '34.763606', '-82.684718', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48889, 'Ninety Six', 2821, '29666', '864', '34.101898', '-81.998895', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48890, 'Starr', 2821, '29684', '864', '34.377748', '-82.724722', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48891, 'Walhalla', 2821, '29691', '864', '34.797241', '-83.071443', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48892, 'Madison', 2821, '29693', '864', '34.654352', '-83.125615', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48893, 'Westminster', 2821, '29693', '864', '34.654352', '-83.125615', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48894, 'Mount Pleasant', 2821, '29466', '843', '32.861784', '-79.795762', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48895, 'Mt Pleasant', 2821, '29466', '843', '32.861784', '-79.795762', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48896, 'Bluff Estates', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48897, 'Capitol View', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48898, 'Cedar Terrace', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48899, 'Columbia', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48900, 'Eastmont', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48901, 'Galaxy', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48902, 'Hazelwood Acres', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:12', '2018-11-29 05:02:12'),\n(48903, 'Leesburg', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48904, 'Mountain Brook', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48905, 'Twin Lake Hill', 2821, '29209', '803', '33.937179', '-80.952847', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48906, 'Columbia', 2821, '29216', '803', '34.0009', '-81.0353', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48907, 'Sc Dept Of Motor Vehicles', 2821, '29216', '803', '34.0009', '-81.0353', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48908, 'Columbia', 2821, '29225', '803', '34.0009', '-81.0353', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48909, 'Univ Of Sc Students Mail', 2821, '29225', '803', '34.0009', '-81.0353', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48910, 'Beckhamville', 2821, '29055', '803', '34.537276', '-80.934252', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48911, 'Great Falls', 2821, '29055', '803', '34.537276', '-80.934252', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48912, 'Bethcar', 2821, '29164', '803', '33.649008', '-81.415754', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48913, 'H L Crossroads', 2821, '29164', '803', '33.649008', '-81.415754', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48914, 'New Holland', 2821, '29164', '803', '33.649008', '-81.415754', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48915, 'Rocky Springs', 2821, '29164', '803', '33.649008', '-81.415754', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48916, 'Seivern', 2821, '29164', '803', '33.649008', '-81.415754', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48917, 'Wagener', 2821, '29164', '803', '33.649008', '-81.415754', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48918, 'Ward', 2821, '29166', '803', '33.891826', '-81.744161', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48919, 'West Union', 2821, '29696', '864', '34.785098', '-83.00611', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48920, 'Troy', 2821, '29848', '864', '34.006341', '-82.192765', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48921, 'Daufuskie Is', 2821, '29915', '843', '32.114057', '-80.868003', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48922, 'Daufuskie Island', 2821, '29915', '843', '32.114057', '-80.868003', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48923, 'Edgemoor', 2821, '29712', '803', '34.794633', '-80.989067', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48924, 'Lando', 2821, '29729', '803', '34.688119', '-81.008508', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48925, 'Richburg', 2821, '29729', '803', '34.688119', '-81.008508', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48926, 'York', 2821, '29745', '803', '34.984723', '-81.204674', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48927, 'Gloverville', 2821, '29828', '803', '33.523415', '-81.829545', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48928, 'Graniteville', 2821, '29829', '803', '33.57601', '-81.849487', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48929, 'Clemson', 2821, '29631', '864', '34.680495', '-82.816747', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48930, 'Gray Court', 2821, '29645', '864', '34.57314', '-82.122133', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48931, 'Ora', 2821, '29645', '864', '34.57314', '-82.122133', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48932, 'Greenwood', 2821, '29646', '864', '34.143112', '-82.133526', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48933, 'Gwd', 2821, '29646', '864', '34.143112', '-82.133526', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48934, 'Marietta', 2821, '29661', '864', '35.068332', '-82.54423', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48935, 'Mauldin', 2821, '29662', '864', '34.777376', '-82.305064', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48936, 'Simpsonville', 2821, '29680', '864', '34.694454', '-82.295983', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48937, 'Simpsonville', 2821, '29681', '864', '34.767581', '-82.221576', '2018-11-29 05:02:13', '2018-11-29 05:02:13'),\n(48938, 'Mount Pleasant', 2821, '29464', '843', '32.821494', '-79.852362', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48939, 'Mt Pleasant', 2821, '29464', '843', '32.821494', '-79.852362', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48940, 'Myrtle Beach', 2821, '29578', '843', '33.6889', '-78.8867', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48941, 'Nichols', 2821, '29581', '843', '34.212874', '-79.111228', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48942, 'Ridge Spring', 2821, '29129', '803', '33.838104', '-81.666819', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48943, 'Capitol', 2821, '29211', '803', '34.0004', '-81.0344', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48944, 'Columbia', 2821, '29211', '803', '34.0004', '-81.0344', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48945, 'Columbia', 2821, '29212', '803', '34.08797', '-81.198659', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48946, 'Harbison', 2821, '29212', '803', '34.08797', '-81.198659', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48947, 'Hopkins', 2821, '29061', '803', '33.881494', '-80.847488', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48948, 'Horrel Hill', 2821, '29061', '803', '33.881494', '-80.847488', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48949, 'Springfield', 2821, '29146', '803', '33.49976', '-81.288426', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48950, 'Blair', 2821, '29015', '803', '34.442837', '-81.326752', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48951, 'Denmark', 2821, '29042', '803', '33.319175', '-81.14625', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48952, 'Gville', 2821, '29615', '864', '34.859824', '-82.294004', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48953, 'Fort Mill', 2821, '29715', '803', '35.022587', '-80.926208', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48954, 'Hickory Grove', 2821, '29717', '803', '34.943032', '-81.436184', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48955, 'Mc Connells', 2821, '29726', '803', '34.863298', '-81.226008', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48956, 'Mcconnells', 2821, '29726', '803', '34.863298', '-81.226008', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48957, 'Aiken', 2821, '29801', '803', '33.601929', '-81.661132', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48958, 'Vaucluse', 2821, '29801', '803', '33.601929', '-81.661132', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48959, 'Cleora', 2821, '29824', '803', '33.804369', '-82.029947', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48960, 'Edgefield', 2821, '29824', '803', '33.804369', '-82.029947', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48961, 'Meeting Street', 2821, '29824', '803', '33.804369', '-82.029947', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48962, 'Pleasant Lane', 2821, '29824', '803', '33.804369', '-82.029947', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48963, 'And', 2821, '29624', '864', '34.432052', '-82.62736', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48964, 'Anderson', 2821, '29624', '864', '34.432052', '-82.62736', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48965, 'Easley', 2821, '29642', '864', '34.77103', '-82.566624', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48966, 'Powdersville', 2821, '29642', '864', '34.77103', '-82.566624', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48967, 'Cateechee', 2821, '29667', '864', '34.76357', '-82.757064', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48968, 'Norris', 2821, '29667', '864', '34.76357', '-82.757064', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48969, 'Sunset', 2821, '29685', '864', '34.978514', '-82.84952', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48970, 'Mc Clellanville', 2821, '29458', '843', '33.107653', '-79.479785', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48971, 'Mcclellanville', 2821, '29458', '843', '33.107653', '-79.479785', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48972, 'Mcclellanvle', 2821, '29458', '843', '33.107653', '-79.479785', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48973, 'Irmo', 2821, '29063', '803', '34.142575', '-81.215952', '2018-11-29 05:02:14', '2018-11-29 05:02:14'),\n(48974, 'Parlers', 2821, '29142', '803', '33.468821', '-80.529717', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48975, 'Santee', 2821, '29142', '803', '33.468821', '-80.529717', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48976, 'Beech Island', 2821, '29842', '803', '33.444599', '-81.868095', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48977, 'Clearwater', 2821, '29842', '803', '33.444599', '-81.868095', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48978, 'Burnettown', 2821, '29851', '803', '33.513751', '-81.82404', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48979, 'Mixville', 2821, '29851', '803', '33.513751', '-81.82404', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48980, 'Stiefeltown', 2821, '29851', '803', '33.513751', '-81.82404', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48981, 'Warrenville', 2821, '29851', '803', '33.513751', '-81.82404', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48982, 'North Augusta', 2821, '29860', '803', '33.61364', '-81.970853', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48983, 'Mc Cormick', 2821, '29899', '864', '33.9076', '-82.3003', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48984, 'Mccormick Correctional Inst', 2821, '29899', '864', '33.9076', '-82.3003', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48985, 'Miley', 2821, '29933', '803', '32.9478', '-81.0318', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48986, 'Port Royal', 2821, '29935', '843', '32.385183', '-80.697409', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48987, 'Central', 2821, '29630', '864', '34.733401', '-82.797098', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48988, 'Seneca', 2821, '29679', '864', '34.6856', '-82.9534', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48989, 'Moncks Corner', 2821, '29461', '843', '33.152023', '-80.015996', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48990, 'Nesmith', 2821, '29580', '843', '33.61771', '-79.57078', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48991, 'Hagood', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48992, 'Pisgah', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48993, 'Rembert', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48994, 'Spring Hill', 2821, '29128', '803', '34.069958', '-80.501788', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48995, 'Columbia', 2821, '29210', '803', '34.038521', '-81.11301', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48996, 'Dutch Fork', 2821, '29210', '803', '34.038521', '-81.11301', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48997, 'Columbia', 2821, '29226', '803', '34.0009', '-81.0353', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48998, 'Wells Fargo', 2821, '29226', '803', '34.0009', '-81.0353', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(48999, 'Mcentire Air National Guard', 2821, '29044', '803', '33.921504', '-80.71861', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49000, 'Wateree', 2821, '29044', '803', '33.921504', '-80.71861', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49001, 'Swansea', 2821, '29160', '803', '33.727277', '-81.097007', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49002, 'Turbeville', 2821, '29162', '843', '33.874858', '-79.997876', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49003, 'Vance', 2821, '29163', '803', '33.429212', '-80.437334', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49004, 'New Zion', 2821, '29111', '843', '33.771809', '-80.01535', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49005, 'Oak Dale', 2821, '29111', '843', '33.771809', '-80.01535', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49006, 'Oakdale', 2821, '29111', '843', '33.771809', '-80.01535', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49007, 'Union Crossroads', 2821, '29111', '843', '33.771809', '-80.01535', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49008, 'Workman', 2821, '29111', '843', '33.771809', '-80.01535', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49009, 'Cameron', 2821, '29030', '803', '33.572648', '-80.636167', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49010, 'Creston', 2821, '29030', '803', '33.572648', '-80.636167', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49011, 'Lone Star', 2821, '29030', '803', '33.572648', '-80.636167', '2018-11-29 05:02:15', '2018-11-29 05:02:15'),\n(49012, 'Cassatt', 2821, '29032', '803', '34.355138', '-80.468803', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49013, 'Davis Station', 2821, '29041', '803', '33.6028', '-80.2644', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49014, 'Atkins', 2821, '29080', '803', '34.011928', '-80.068908', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49015, 'Lynchburg', 2821, '29080', '803', '34.011928', '-80.068908', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49016, 'Motbridge', 2821, '29080', '803', '34.011928', '-80.068908', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49017, 'Shiloh', 2821, '29080', '803', '34.011928', '-80.068908', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49018, 'South Lynchburg', 2821, '29080', '803', '34.011928', '-80.068908', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49019, 'Mckenzie Crossroads', 2821, '29114', '843', '33.954654', '-79.933836', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49020, 'Olanta', 2821, '29114', '843', '33.954654', '-79.933836', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49021, 'Newberry', 2821, '29108', '803', '34.268458', '-81.639332', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49022, 'Bolen Town', 2821, '29115', '803', '33.4863', '-80.873926', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49023, 'Jamison', 2821, '29115', '803', '33.4863', '-80.873926', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49024, 'Orangeburg', 2821, '29115', '803', '33.4863', '-80.873926', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49025, 'Congaree', 2821, '29044', '803', '33.921504', '-80.71861', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49026, 'Eastover', 2821, '29044', '803', '33.921504', '-80.71861', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49027, 'Blacksburg', 2821, '29702', '864', '35.100616', '-81.470938', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49028, 'Cherokee Falls', 2821, '29702', '864', '35.100616', '-81.470938', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49029, 'Cherokee Fls', 2821, '29702', '864', '35.100616', '-81.470938', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49030, 'Vaucluse', 2821, '29850', '803', '33.612852', '-81.825835', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49031, 'Beaufort', 2821, '29907', '843', '32.430232', '-80.619388', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49032, 'Ladies Island', 2821, '29907', '843', '32.430232', '-80.619388', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49033, 'Ladys Island', 2821, '29907', '843', '32.430232', '-80.619388', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49034, 'Bluffton', 2821, '29909', '843', '32.327675', '-80.893306', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49035, 'Callawassie Island', 2821, '29909', '843', '32.327675', '-80.893306', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49036, 'Okatie', 2821, '29909', '843', '32.327675', '-80.893306', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49037, 'Spring Island', 2821, '29909', '843', '32.327675', '-80.893306', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49038, 'Sheldon', 2821, '29941', '843', '32.575611', '-80.822385', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49039, 'Tarboro', 2821, '29943', '843', '32.46515', '-81.122402', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49040, 'Tillman', 2821, '29943', '843', '32.46515', '-81.122402', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49041, 'El Paso', 2824, '88525', '915', '31.7588', '-106.4866', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49042, 'El Paso', 2824, '88542', '915', '31.7588', '-106.4866', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49043, 'El Paso', 2824, '88556', '915', '31.7588', '-106.4866', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49044, 'Gatesville', 2824, '76597', '254', '31.4351', '-97.7439', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49045, 'Aquilla', 2824, '76622', '254', '31.847838', '-97.24401', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49046, 'Blum', 2824, '76627', '254', '32.102072', '-97.372457', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49047, 'Covington', 2824, '76636', '254', '32.149005', '-97.250764', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49048, 'Crawford', 2824, '76638', '254', '31.544081', '-97.448594', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49049, 'Ocee', 2824, '76638', '254', '31.544081', '-97.448594', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49050, 'Amer Income Life Ins', 2824, '76797', '254', '31.5495', '-97.1464', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49051, 'Waco', 2824, '76797', '254', '31.5495', '-97.1464', '2018-11-29 05:02:16', '2018-11-29 05:02:16'),\n(49052, 'Art', 2824, '76820', '325', '30.796382', '-99.037643', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49053, 'Mason', 2824, '76856', '830', '30.719552', '-99.224134', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49054, 'Streeter', 2824, '76856', '830', '30.719552', '-99.224134', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49055, 'Priddy', 2824, '76870', '325', '31.691754', '-98.503001', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49056, 'Leaday', 2824, '76888', '325', '31.594145', '-99.632434', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49057, 'Voss', 2824, '76888', '325', '31.594145', '-99.632434', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49058, 'Houston', 2824, '77020', '713', '29.773116', '-95.316263', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49059, 'Houston', 2824, '77031', '713', '29.657023', '-95.549696', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49060, 'Houston', 2824, '77038', '281', '29.91999', '-95.442366', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49061, 'Bammel', 2824, '77040', '713', '29.868074', '-95.535919', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49062, 'Houston', 2824, '77040', '713', '29.868074', '-95.535919', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49063, 'Jersey Village', 2824, '77040', '713', '29.868074', '-95.535919', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49064, 'Jersey Vlg', 2824, '77040', '713', '29.868074', '-95.535919', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49065, 'Kohrville', 2824, '77040', '713', '29.868074', '-95.535919', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49066, 'Satsuma', 2824, '77040', '713', '29.868074', '-95.535919', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49067, 'Houston', 2824, '77047', '713', '29.614261', '-95.391041', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49068, 'Houston', 2824, '77065', '281', '29.921504', '-95.609378', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49069, 'Jersey Village', 2824, '77065', '281', '29.921504', '-95.609378', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49070, 'Jersey Vlg', 2824, '77065', '281', '29.921504', '-95.609378', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49071, 'Houston', 2824, '77070', '281', '29.977821', '-95.575588', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49072, 'Addicks', 2824, '77079', '281', '29.774952', '-95.601865', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49073, 'Houston', 2824, '77079', '281', '29.774952', '-95.601865', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49074, 'Houston', 2824, '77088', '281', '29.88144', '-95.45443', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49075, 'Houston', 2824, '77220', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49076, 'Houston', 2824, '77222', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49077, 'Houston', 2824, '77224', '713', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49078, 'Memorial Park', 2824, '77224', '713', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49079, 'Houston', 2824, '77263', '713', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49080, 'Houston', 2824, '77274', '281', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49081, 'Houston', 2824, '77279', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49082, 'Memorial Park', 2824, '77279', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49083, 'Houston', 2824, '77288', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49084, 'Chase Bank', 2824, '77297', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49085, 'Houston', 2824, '77297', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49086, 'Bank Of America', 2824, '77299', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49087, 'Houston', 2824, '77299', '832', '29.7632', '-95.3633', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49088, 'Conroe', 2824, '77304', '936', '30.321756', '-95.52217', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49089, 'Panorama Village', 2824, '77304', '936', '30.321756', '-95.52217', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49090, 'Panorama Vlg', 2824, '77304', '936', '30.321756', '-95.52217', '2018-11-29 05:02:17', '2018-11-29 05:02:17'),\n(49091, 'North Houston', 2824, '77315', '281', '29.9255', '-95.5152', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49092, 'Crabbs Prairie', 2824, '77340', '936', '30.626677', '-95.586412', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49093, 'Huntsville', 2824, '77340', '936', '30.626677', '-95.586412', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49094, 'Phelps', 2824, '77340', '936', '30.626677', '-95.586412', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49095, 'Decker Pr', 2824, '77354', '281', '30.209785', '-95.662342', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49096, 'Decker Prairie', 2824, '77354', '281', '30.209785', '-95.662342', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49097, 'Magnolia', 2824, '77354', '281', '30.209785', '-95.662342', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49098, 'The Woodlands', 2824, '77354', '281', '30.209785', '-95.662342', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49099, 'Plantersville', 2824, '77363', '936', '30.32792', '-95.853423', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49100, 'Todd Mission', 2824, '77363', '936', '30.32792', '-95.853423', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49101, 'Dogwood Acres', 2824, '77365', '281', '30.100161', '-95.271968', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49102, 'Porter', 2824, '77365', '281', '30.100161', '-95.271968', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49103, 'Sorters', 2824, '77365', '281', '30.100161', '-95.271968', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49104, 'Timberlane Acres', 2824, '77365', '281', '30.100161', '-95.271968', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49105, 'Woody Acres', 2824, '77365', '281', '30.100161', '-95.271968', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49106, 'Patton Village', 2824, '77372', '281', '30.236898', '-95.182604', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49107, 'Patton Vlg', 2824, '77372', '281', '30.236898', '-95.182604', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49108, 'Splendora', 2824, '77372', '281', '30.236898', '-95.182604', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49109, 'Thicket', 2824, '77374', '409', '30.376395', '-94.636116', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49110, 'Escapees', 2824, '77399', '281', '30.7153', '-94.9414', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49111, 'Escapees Rv Club', 2824, '77399', '281', '30.7153', '-94.9414', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49112, 'Livingston', 2824, '77399', '281', '30.7153', '-94.9414', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49113, 'Cedar Lane', 2824, '77415', '979', '28.923566', '-95.724902', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49114, 'Cypress', 2824, '77429', '281', '29.985744', '-95.654759', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49115, 'Hockley', 2824, '77447', '281', '30.046703', '-95.821434', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49116, 'Hockley Mine', 2824, '77447', '281', '30.046703', '-95.821434', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49117, 'Old Ocean', 2824, '77463', '979', '29.135067', '-95.788108', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49118, 'Sugar Land', 2824, '77479', '281', '29.557763', '-95.633612', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49119, 'Burr', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49120, 'Crescent', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49121, 'Dinsmore', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49122, 'Mackay', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49123, 'Magnet', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49124, 'Spanish Camp', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49125, 'Wharton', 2824, '77488', '979', '29.267269', '-96.147974', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49126, 'Anchor', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49127, 'Angleton', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49128, 'Baileys Prairie', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49129, 'Bonney', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:18', '2018-11-29 05:02:18'),\n(49130, 'Holiday Lakes', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49131, 'Mcbeth', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49132, 'Richwood', 2824, '77515', '979', '29.175306', '-95.453146', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49133, 'Daisetta', 2824, '77533', '936', '30.110404', '-94.66002', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49134, 'Friendswood', 2824, '77549', '281', '29.5183', '-95.2037', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49135, 'Clear Lake Shores', 2824, '77565', '281', '29.535133', '-95.032746', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49136, 'Clear Lk Shrs', 2824, '77565', '281', '29.535133', '-95.032746', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49137, 'Kemah', 2824, '77565', '281', '29.535133', '-95.032746', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49138, 'La Porte', 2824, '77572', '281', '29.6657', '-95.0195', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49139, 'League City', 2824, '77574', '281', '29.5074', '-95.0949', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49140, 'China', 2824, '77613', '409', '30.010858', '-94.362968', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49141, 'Evadale', 2824, '77615', '409', '30.312916', '-94.073078', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49142, 'Griffing', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49143, 'Griffing Park', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49144, 'Pear Ridge', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49145, 'Port Acres', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49146, 'Port Arthur', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49147, 'Pt Acres', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49148, 'Sabine', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49149, 'West Port Arthur', 2824, '77640', '409', '29.757493', '-94.096672', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49150, 'Village Mills', 2824, '77663', '409', '30.519572', '-94.412945', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49151, 'Wildwood', 2824, '77663', '409', '30.519572', '-94.412945', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49152, 'Winnie', 2824, '77665', '409', '29.791596', '-94.349882', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49153, 'College Sta', 2824, '77842', '979', '30.6279', '-96.3344', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49154, 'College Station', 2824, '77842', '979', '30.6279', '-96.3344', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49155, 'Franklin', 2824, '77856', '979', '31.099531', '-96.426204', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49156, 'Ridge', 2824, '77856', '979', '31.099531', '-96.426204', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49157, 'North Zulch', 2824, '77872', '936', '30.931056', '-96.098996', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49158, 'Wellborn', 2824, '77881', '979', '30.5351', '-96.3017', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49159, 'Hochheim', 2824, '77967', '361', '29.3129', '-97.2908', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49160, 'Nursery', 2824, '77976', '361', '28.9244', '-97.1008', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49161, 'Campbellton', 2824, '78008', '830', '28.750547', '-98.254741', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49162, 'Fashing', 2824, '78008', '830', '28.750547', '-98.254741', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49163, 'Jourdanton', 2824, '78026', '830', '28.807301', '-98.504142', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49164, 'Laredo', 2824, '78040', '956', '27.508492', '-99.503633', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49165, 'Laredo', 2824, '78042', '956', '27.5062', '-99.5075', '2018-11-29 05:02:19', '2018-11-29 05:02:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(49166, 'Castroville', 2824, '78056', '830', '29.541948', '-98.91915', '2018-11-29 05:02:19', '2018-11-29 05:02:19'),\n(49167, 'Mico', 2824, '78056', '830', '29.541948', '-98.91915', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49168, 'Waring', 2824, '78074', '830', '29.975292', '-98.794806', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49169, 'Zapata', 2824, '78076', '956', '26.90548', '-99.173965', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49170, 'Cibolo', 2824, '78108', '210', '29.567162', '-98.223216', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49171, 'Schertz', 2824, '78108', '210', '29.567162', '-98.223216', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49172, 'Geronimo', 2824, '78115', '830', '29.6628', '-97.9668', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49173, 'Hobson', 2824, '78117', '830', '28.94247', '-97.983084', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49174, 'Fredericksbrg', 2826, '22412', '540', '38.2834', '-77.4984', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49175, 'Fredericksburg', 2826, '22412', '540', '38.2834', '-77.4984', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49176, 'Geico Insurance', 2826, '22412', '540', '38.2834', '-77.4984', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49177, 'Brooke', 2826, '22430', '540', '38.3868', '-77.3799', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49178, 'Stafford', 2826, '22430', '540', '38.3868', '-77.3799', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49179, 'Burgess', 2826, '22432', '804', '37.858898', '-76.340852', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49180, 'Chester Gap', 2826, '22623', '540', '38.8535', '-78.1355', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49181, 'Arlington', 2826, '22214', '703', '38.8787', '-77.1155', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49182, 'Arlington', 2826, '22230', '703', '38.8803', '-77.1154', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49183, 'National Science Foundation', 2826, '22230', '703', '38.8803', '-77.1154', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49184, 'Fairfax Sta', 2826, '22039', '703', '38.754931', '-77.310158', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49185, 'Fairfax Station', 2826, '22039', '703', '38.754931', '-77.310158', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49186, 'Fx Station', 2826, '22039', '703', '38.754931', '-77.310158', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49187, 'Falls Church', 2826, '22046', '703', '38.88828', '-77.18096', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49188, 'Maclean', 2826, '22103', '703', '38.9335', '-77.1791', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49189, 'Mc Lean', 2826, '22103', '703', '38.9335', '-77.1791', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49190, 'Mclean', 2826, '22103', '703', '38.9335', '-77.1791', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49191, 'West Mclean', 2826, '22103', '703', '38.9335', '-77.1791', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49192, 'Mount Vernon', 2826, '22121', '703', '38.7078', '-77.0865', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49193, 'Springfield', 2826, '22153', '703', '38.745468', '-77.232529', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49194, 'Hartwood', 2826, '22471', '540', '38.4022', '-77.5658', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49195, 'Heathsville', 2826, '22473', '804', '37.883894', '-76.395546', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49196, 'Sharps', 2826, '22548', '804', '37.825157', '-76.704667', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49197, 'Somerville', 2826, '22739', '540', '38.5217', '-77.6098', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49198, 'Stevensburg', 2826, '22741', '540', '38.441348', '-77.866682', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49199, 'Viewtown', 2826, '22746', '540', '38.637604', '-78.029938', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49200, 'Lincolnia', 2826, '22312', '703', '38.817522', '-77.152674', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49201, 'Fred', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49202, 'Fredbg', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49203, 'Frederickbg', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49204, 'Frederickbur', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49205, 'Fredericksbg', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:20', '2018-11-29 05:02:20'),\n(49206, 'Fredericksbrg', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49207, 'Fredericksbur', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49208, 'Fredericksburg', 2826, '22407', '540', '38.263428', '-77.598161', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49209, 'Center Cross', 2826, '22437', '804', '37.796048', '-76.731963', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49210, 'Vienna', 2826, '22180', '703', '38.897426', '-77.252868', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49211, 'Arlington', 2826, '22203', '703', '38.874993', '-77.122609', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49212, 'Arlington', 2826, '22212', '703', '38.8675', '-77.1035', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49213, 'Navy Mutual Aid Assoc', 2826, '22212', '703', '38.8675', '-77.1035', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49214, 'Arlington', 2826, '22246', '703', '38.8862', '-77.0952', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49215, 'Us Unmanned Aerial Vehicles', 2826, '22246', '703', '38.8862', '-77.0952', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49216, 'Alexandria', 2826, '22303', '703', '38.790068', '-77.081205', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49217, 'Jefferson Manor', 2826, '22303', '703', '38.790068', '-77.081205', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49218, 'Jefferson Mnr', 2826, '22303', '703', '38.790068', '-77.081205', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49219, 'Alexandria', 2826, '22305', '703', '38.836316', '-77.065006', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49220, 'George Washington', 2826, '22305', '703', '38.836316', '-77.065006', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49221, 'Herndon', 2826, '22096', '703', '38.9627', '-77.3373', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49222, 'Reston', 2826, '22096', '703', '38.9627', '-77.3373', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49223, 'Sprint', 2826, '22096', '703', '38.9627', '-77.3373', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49224, 'Merrifield', 2826, '22119', '703', '38.8745', '-77.2272', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49225, 'Navy Federal Credit Union', 2826, '22119', '703', '38.8745', '-77.2272', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49226, 'Alexandria', 2826, '22312', '703', '38.817522', '-77.152674', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49227, 'Syria', 2826, '22743', '540', '38.54204', '-78.377953', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49228, 'Bowling Green', 2826, '22427', '804', '38.024761', '-77.249305', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49229, 'Bowling Grn', 2826, '22427', '804', '38.024761', '-77.249305', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49230, 'Fort A P Hill', 2826, '22427', '804', '38.024761', '-77.249305', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49231, 'Ft Ap Hill', 2826, '22427', '804', '38.024761', '-77.249305', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49232, 'Coles Point', 2826, '22442', '804', '38.1439', '-76.6358', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49233, 'Ragged Point Beach', 2826, '22442', '804', '38.1439', '-76.6358', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49234, 'Wdbg', 2826, '22191', '703', '38.623346', '-77.26364', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49235, 'Woodbridge', 2826, '22191', '703', '38.623346', '-77.26364', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49236, 'Woodbridge', 2826, '22194', '703', '38.6581', '-77.2501', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49237, 'Arlington', 2826, '22241', '703', '38.8803', '-77.1154', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49238, 'Naval Supply System Command', 2826, '22241', '703', '38.8803', '-77.1154', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49239, 'Arlington', 2826, '22242', '703', '38.8803', '-77.1154', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49240, 'Navy Sea Systems Command', 2826, '22242', '703', '38.8803', '-77.1154', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49241, 'Arlington', 2826, '22243', '703', '38.8803', '-77.1154', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49242, 'Naval Air System Command', 2826, '22243', '703', '38.8803', '-77.1154', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49243, 'Alexandria', 2826, '22309', '703', '38.718398', '-77.107164', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49244, 'Engleside', 2826, '22309', '703', '38.718398', '-77.107164', '2018-11-29 05:02:21', '2018-11-29 05:02:21'),\n(49245, 'Alexandria', 2826, '22310', '703', '38.782006', '-77.122048', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49246, 'Franconia', 2826, '22310', '703', '38.782006', '-77.122048', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49247, 'Falls Church', 2826, '22040', '703', '38.8669', '-77.1528', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49248, 'Falls Church', 2826, '22043', '703', '38.899288', '-77.191356', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49249, 'Pimmit', 2826, '22043', '703', '38.899288', '-77.191356', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49250, 'Gannett', 2826, '22107', '703', '38.9327', '-77.1828', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49251, 'Mc Lean', 2826, '22107', '703', '38.9327', '-77.1828', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49252, 'Occoquan', 2826, '22125', '703', '38.682862', '-77.258905', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49253, 'Army Times', 2826, '22158', '703', '38.7893', '-77.1878', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49254, 'Springfield', 2826, '22158', '703', '38.7893', '-77.1878', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49255, 'Springfield Brm', 2826, '22158', '703', '38.7893', '-77.1878', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49256, 'National Right To Work Comm', 2826, '22160', '703', '38.7893', '-77.1878', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49257, 'Springfield', 2826, '22160', '703', '38.7893', '-77.1878', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49258, 'Narrows', 2826, '24124', '540', '37.305901', '-80.912156', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49259, 'Penhook', 2826, '24137', '540', '36.922914', '-79.674419', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49260, 'Home Shopping Network', 2826, '24155', '540', '37.2935', '-80.0553', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49261, 'Roanoke', 2826, '24155', '540', '37.2935', '-80.0553', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49262, 'Home Shopping Network', 2826, '24157', '540', '37.2935', '-80.0553', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49263, 'Roanoke', 2826, '24157', '540', '37.2935', '-80.0553', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49264, 'Dewitt', 2826, '23840', '804', '37.046471', '-77.658062', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49265, 'Victoria', 2826, '23974', '434', '36.966086', '-78.258968', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49266, 'Roanoke', 2826, '24007', '540', '37.2709', '-79.9418', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49267, 'Hollins Clg', 2826, '24020', '540', '37.357095', '-79.941099', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49268, 'Hollins College', 2826, '24020', '540', '37.357095', '-79.941099', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49269, 'Roanoke', 2826, '24020', '540', '37.357095', '-79.941099', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49270, 'Axton', 2826, '24054', '276', '36.679556', '-79.708068', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49271, 'Norfolk', 2826, '23519', '757', '36.8503', '-76.2873', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49272, 'Norfolk', 2826, '23520', '757', '36.9371', '-76.2923', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49273, 'Lee Hall', 2826, '23603', '757', '37.19214', '-76.567594', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49274, 'Newport News', 2826, '23603', '757', '37.19214', '-76.567594', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49275, 'Fort Eustis', 2826, '23604', '757', '37.120502', '-76.594969', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49276, 'Newport News', 2826, '23604', '757', '37.120502', '-76.594969', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49277, 'Newport News', 2826, '23606', '757', '37.065054', '-76.528166', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49278, 'Gasburg', 2826, '23857', '434', '36.577512', '-77.891144', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49279, 'Greenville Correctional Ctr', 2826, '23870', '434', '36.8086', '-77.4645', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49280, 'Jarratt', 2826, '23870', '434', '36.8086', '-77.4645', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49281, 'Warfield', 2826, '23889', '434', '36.894527', '-77.747658', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49282, 'Waverly', 2826, '23890', '804', '36.997302', '-77.104758', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49283, 'Burkeville', 2826, '23922', '434', '37.181928', '-78.223116', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49284, 'Dundas', 2826, '23938', '434', '36.91124', '-78.021922', '2018-11-29 05:02:22', '2018-11-29 05:02:22'),\n(49285, 'Suffolk', 2826, '23439', '757', '36.7283', '-76.5838', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49286, 'Virginia Bch', 2826, '23452', '757', '36.849396', '-76.095534', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49287, 'Virginia Beach', 2826, '23452', '757', '36.849396', '-76.095534', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49288, 'Hampton', 2826, '23670', '757', '37.0308', '-76.3476', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49289, 'Petersburg', 2826, '23804', '804', '37.2303', '-77.4052', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49290, 'North Dinwiddie', 2826, '23805', '804', '37.117515', '-77.405858', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49291, 'Petersburg', 2826, '23805', '804', '37.117515', '-77.405858', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49292, 'South Prince George', 2826, '23805', '804', '37.117515', '-77.405858', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49293, 'Walnut Hill', 2826, '23805', '804', '37.117515', '-77.405858', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49294, 'Atlantic', 2826, '23303', '757', '37.902488', '-75.5175', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49295, 'Chesapeake', 2826, '23322', '757', '36.643075', '-76.278472', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49296, 'Virginia Bch', 2826, '23471', '757', '36.8598', '-75.9812', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49297, 'Virginia Beach', 2826, '23471', '757', '36.8598', '-75.9812', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49298, 'Norfolk', 2826, '23503', '757', '36.948056', '-76.256983', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49299, 'Bon Air', 2826, '23235', '804', '37.502614', '-77.569416', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49300, 'N Chesterfld', 2826, '23235', '804', '37.502614', '-77.569416', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49301, 'North Chesterfield', 2826, '23235', '804', '37.502614', '-77.569416', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49302, 'Richmond', 2826, '23235', '804', '37.502614', '-77.569416', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49303, 'Chincoteague', 2826, '23337', '757', '37.868382', '-75.453698', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49304, 'Chincoteague Island', 2826, '23337', '757', '37.868382', '-75.453698', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49305, 'Wallops Is', 2826, '23337', '757', '37.868382', '-75.453698', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49306, 'Wallops Island', 2826, '23337', '757', '37.868382', '-75.453698', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49307, 'Bayford', 2826, '23354', '757', '37.474832', '-75.898066', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49308, 'Franktown', 2826, '23354', '757', '37.474832', '-75.898066', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49309, 'Harborton', 2826, '23389', '757', '37.650101', '-75.828705', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49310, 'Machipongo', 2826, '23405', '757', '37.424192', '-75.913558', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49311, 'Painter', 2826, '23420', '757', '37.570836', '-75.74331', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49312, 'Lee Mont', 2826, '23421', '757', '37.785877', '-75.627646', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49313, 'Parksley', 2826, '23421', '757', '37.785877', '-75.627646', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49314, 'Bavon', 2826, '23138', '804', '37.374955', '-76.301351', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49315, 'Peary', 2826, '23138', '804', '37.374955', '-76.301351', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49316, 'Port Haywood', 2826, '23138', '804', '37.374955', '-76.301351', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49317, 'Schley', 2826, '23154', '804', '37.3897', '-76.4556', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49318, 'Severn', 2826, '23155', '804', '37.2943', '-76.4156', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49319, 'Div Motor Veh', 2826, '23269', '804', '37.5537', '-77.4609', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49320, 'Rich', 2826, '23269', '804', '37.5537', '-77.4609', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49321, 'Richmond', 2826, '23269', '804', '37.5537', '-77.4609', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49322, 'Rich', 2826, '23285', '804', '37.5537', '-77.4609', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49323, 'Richmnd', 2826, '23285', '804', '37.5537', '-77.4609', '2018-11-29 05:02:23', '2018-11-29 05:02:23'),\n(49324, 'Richmond', 2826, '23285', '804', '37.5537', '-77.4609', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49325, 'Blakes', 2826, '23035', '804', '37.506604', '-76.372794', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49326, 'Cobbs Creek', 2826, '23035', '804', '37.506604', '-76.372794', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49327, 'Williamsburg', 2826, '23185', '757', '37.233951', '-76.736472', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49328, 'Wlmg', 2826, '23185', '757', '37.233951', '-76.736472', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49329, 'Wmsbg', 2826, '23185', '757', '37.233951', '-76.736472', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49330, 'Williamsburg', 2826, '23187', '757', '37.2707', '-76.7078', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49331, 'Wlmg', 2826, '23187', '757', '37.2707', '-76.7078', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49332, 'Stanley', 2826, '22851', '540', '38.559952', '-78.512896', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49333, 'Timberville', 2826, '22853', '540', '38.669107', '-78.759322', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49334, 'Charlottesville', 2826, '22902', '434', '37.95376', '-78.469502', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49335, 'Charlottesvle', 2826, '22902', '434', '37.95376', '-78.469502', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49336, 'Monticello', 2826, '22902', '434', '37.95376', '-78.469502', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49337, 'Achilles', 2826, '23001', '804', '37.292271', '-76.40987', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49338, 'Amelia', 2826, '23002', '804', '37.3479', '-77.963641', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49339, 'Amelia Ch', 2826, '23002', '804', '37.3479', '-77.963641', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49340, 'Amelia Court House', 2826, '23002', '804', '37.3479', '-77.963641', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49341, 'Amelia Ct Hse', 2826, '23002', '804', '37.3479', '-77.963641', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49342, 'Akunia', 2826, '23004', '434', '37.671226', '-78.417266', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49343, 'Arvonia', 2826, '23004', '434', '37.671226', '-78.417266', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49344, 'Bena', 2826, '23018', '804', '37.2706', '-76.4556', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49345, 'Rileyville', 2826, '22650', '540', '38.759252', '-78.36151', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49346, 'Goldvein', 2826, '22720', '540', '38.47597', '-77.641952', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49347, 'Ladysmith', 2826, '22501', '804', '38.0178', '-77.5159', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49348, 'Montross', 2826, '22520', '804', '38.109482', '-76.807728', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49349, 'Spotsylvania', 2826, '22551', '540', '38.178874', '-77.697837', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49350, 'Sparta', 2826, '22552', '804', '37.9914', '-77.2306', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49351, 'Reva', 2826, '22735', '540', '38.483014', '-78.165428', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49352, 'Richardsville', 2826, '22736', '540', '38.393957', '-77.695736', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49353, 'Alexandria', 2826, '22333', '703', '38.8049', '-77.0475', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49354, 'Us Army Mat Com', 2826, '22333', '703', '38.8049', '-77.0475', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49355, 'Alexandria', 2826, '22334', '703', '38.8049', '-77.0475', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49356, 'Sun Trust Bank', 2826, '22334', '703', '38.8049', '-77.0475', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49357, 'Alexandria', 2826, '22350', '703', '38.799584', '-77.049179', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49358, 'Dept Of Defense', 2826, '22350', '703', '38.799584', '-77.049179', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49359, 'Dod', 2826, '22350', '703', '38.799584', '-77.049179', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49360, 'Enon', 2826, '22401', '540', '38.298282', '-77.491386', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49361, 'Fred', 2826, '22401', '540', '38.298282', '-77.491386', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49362, 'Fredericksbrg', 2826, '22401', '540', '38.298282', '-77.491386', '2018-11-29 05:02:24', '2018-11-29 05:02:24'),\n(49363, 'Fredericksburg', 2826, '22401', '540', '38.298282', '-77.491386', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49364, 'Callao', 2826, '22435', '804', '37.933486', '-76.569604', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49365, 'Walmsley', 2826, '22435', '804', '37.933486', '-76.569604', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49366, 'Winchester', 2826, '22601', '540', '39.168183', '-78.169274', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49367, 'Winchester', 2826, '22602', '540', '39.151073', '-78.277218', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49368, 'Hayfield', 2826, '22603', '540', '39.290399', '-78.193323', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49369, 'Winchester', 2826, '22603', '540', '39.290399', '-78.193323', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49370, 'Boyce', 2826, '22620', '540', '39.065415', '-78.032456', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49371, 'New River', 2826, '24129', '540', '37.1355', '-80.5917', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49372, 'Redwood', 2826, '24146', '540', '37.0199', '-79.8156', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49373, 'Spencer', 2826, '24165', '276', '36.588321', '-80.066837', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49374, 'Bonsack', 2826, '24012', '540', '37.324045', '-79.900699', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49375, 'Roanoke', 2826, '24012', '540', '37.324045', '-79.900699', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49376, 'Roanoke', 2826, '24030', '540', '37.2709', '-79.9418', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49377, 'Blacksburg', 2826, '24063', '540', '37.2294', '-80.4144', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49378, 'Blue Ridge', 2826, '24064', '540', '37.389508', '-79.770072', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49379, 'Ebony', 2826, '23845', '434', '36.59052', '-77.990181', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49380, 'Emporia', 2826, '23847', '434', '36.688366', '-77.532918', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49381, 'Sedley', 2826, '23878', '757', '36.816454', '-77.031112', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49382, 'Spring Grove', 2826, '23881', '757', '37.20494', '-76.975024', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49383, 'Baskerville', 2826, '23915', '434', '36.710159', '-78.278096', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49384, 'Crewe', 2826, '23930', '434', '37.142058', '-78.089707', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49385, 'Keysville', 2826, '23947', '434', '37.040454', '-78.46089', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49386, 'Newport News', 2826, '23612', '757', '36.9786', '-76.4284', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49387, 'Hampton', 2826, '23661', '757', '37.007832', '-76.386636', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49388, 'Hampton', 2826, '23664', '757', '37.068666', '-76.289951', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49389, 'Carson', 2826, '23830', '434', '37.019662', '-77.383392', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49390, 'Defense General Supply Ct', 2826, '23297', '804', '37.4528', '-77.4743', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49391, 'Rich', 2826, '23297', '804', '37.4528', '-77.4743', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49392, 'Richmond', 2826, '23297', '804', '37.4528', '-77.4743', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49393, 'Chesapeake', 2826, '23327', '757', '36.8187', '-76.2753', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49394, 'Vab', 2826, '23464', '757', '36.798671', '-76.178112', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49395, 'Virginia Bch', 2826, '23464', '757', '36.798671', '-76.178112', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49396, 'Virginia Beach', 2826, '23464', '757', '36.798671', '-76.178112', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49397, 'Lillian Vernon', 2826, '23479', '757', '36.8526', '-75.9783', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49398, 'Virginia Bch', 2826, '23479', '757', '36.8526', '-75.9783', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49399, 'Virginia Beach', 2826, '23479', '757', '36.8526', '-75.9783', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49400, 'Richmond', 2826, '23230', '804', '37.586649', '-77.489859', '2018-11-29 05:02:25', '2018-11-29 05:02:25'),\n(49401, 'Davis Wharf', 2826, '23345', '757', '37.5564', '-75.8751', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49402, 'Eastville', 2826, '23347', '757', '37.350994', '-75.939361', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49403, 'Horntown', 2826, '23395', '757', '37.974335', '-75.471174', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49404, 'Isle Of Wight', 2826, '23397', '757', '36.9126', '-76.7167', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49405, 'Nassawadox', 2826, '23413', '757', '37.445921', '-75.781337', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49406, 'Weirwood', 2826, '23413', '757', '37.445921', '-75.781337', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49407, 'Norge', 2826, '23127', '757', '37.3688', '-76.7709', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49408, 'Oilville', 2826, '23129', '804', '37.700888', '-77.785674', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49409, 'Onemo', 2826, '23130', '804', '37.39772', '-76.277378', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49410, 'State Farm', 2826, '23160', '804', '37.645169', '-77.844639', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49411, 'Stevensville', 2826, '23161', '804', '37.715555', '-76.926087', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49412, 'Studley', 2826, '23162', '804', '37.6756', '-77.2911', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49413, 'Diggs', 2826, '23045', '804', '37.426919', '-76.275966', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49414, 'Glou Point', 2826, '23062', '804', '37.256372', '-76.504307', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49415, 'Gloucester Point', 2826, '23062', '804', '37.256372', '-76.504307', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49416, 'Gloucester Pt', 2826, '23062', '804', '37.256372', '-76.504307', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49417, 'Glouster Point', 2826, '23062', '804', '37.256372', '-76.504307', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49418, 'Hudgins', 2826, '23076', '804', '37.475616', '-76.31646', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49419, 'Redart', 2826, '23076', '804', '37.475616', '-76.31646', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49420, 'Walkerton', 2826, '23177', '804', '37.745459', '-77.013302', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49421, 'Ware Neck', 2826, '23178', '804', '37.397091', '-76.458012', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49422, 'Water View', 2826, '23180', '804', '37.705282', '-76.611582', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49423, 'Ivy', 2826, '22945', '434', '38.0564', '-78.5969', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49424, 'Madison Mills', 2826, '22960', '540', '38.216981', '-78.036551', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49425, 'Montford', 2826, '22960', '540', '38.216981', '-78.036551', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49426, 'Nasons', 2826, '22960', '540', '38.216981', '-78.036551', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49427, 'Orange', 2826, '22960', '540', '38.216981', '-78.036551', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49428, 'Thornhill', 2826, '22960', '540', '38.216981', '-78.036551', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49429, 'Roseland', 2826, '22976', '434', '37.832139', '-79.054567', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49430, 'Tyro', 2826, '22976', '434', '37.832139', '-79.054567', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49431, 'Basye', 2826, '22810', '540', '38.822486', '-78.78706', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49432, 'Elkton', 2826, '22827', '540', '38.35895', '-78.615034', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49433, 'Cartersville', 2826, '23027', '804', '37.63334', '-78.148186', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49434, 'Tamworth', 2826, '23027', '804', '37.63334', '-78.148186', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49435, 'Cross Jnct', 2826, '22625', '540', '39.380196', '-78.306115', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49436, 'Cross Junction', 2826, '22625', '540', '39.380196', '-78.306115', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49437, 'Whitacre', 2826, '22625', '540', '39.380196', '-78.306115', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49438, 'Linden', 2826, '22642', '540', '38.904856', '-78.065006', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49439, 'Maurertown', 2826, '22644', '540', '38.963719', '-78.53644', '2018-11-29 05:02:26', '2018-11-29 05:02:26'),\n(49440, 'Charlottesville', 2826, '22909', '434', '38.0446', '-78.4726', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49441, 'Charlottesvle', 2826, '22909', '434', '38.0446', '-78.4726', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49442, 'State Farm Insurance', 2826, '22909', '434', '38.0446', '-78.4726', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49443, 'Charlottesville', 2826, '22910', '434', '38.0295', '-78.4769', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49444, 'Charlottesvle', 2826, '22910', '434', '38.0295', '-78.4769', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49445, 'Embarq', 2826, '22910', '434', '38.0295', '-78.4769', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49446, 'Charlottesville', 2826, '22911', '434', '38.096663', '-78.399441', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49447, 'Charlottesvle', 2826, '22911', '434', '38.096663', '-78.399441', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49448, 'Farnham', 2826, '22460', '804', '37.86389', '-76.619216', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49449, 'Lewisetta', 2826, '22511', '804', '37.990736', '-76.495479', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49450, 'Lottsburg', 2826, '22511', '804', '37.990736', '-76.495479', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49451, 'Nuttsville', 2826, '22528', '804', '37.7933', '-76.5512', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49452, 'Rhoadesville', 2826, '22542', '540', '38.302044', '-77.900928', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49453, 'Stratford', 2826, '22558', '804', '38.1208', '-76.8113', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49454, 'Tappahannock', 2826, '22560', '804', '37.913586', '-76.977738', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49455, 'White Stone', 2826, '22578', '804', '37.641205', '-76.377794', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49456, 'Whitestone', 2826, '22578', '804', '37.641205', '-76.377794', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49457, 'Richmond', 2826, '23220', '804', '37.551325', '-77.458757', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49458, 'Saunders', 2826, '23220', '804', '37.551325', '-77.458757', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49459, 'Esmont', 2826, '22937', '434', '37.819234', '-78.615299', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49460, 'Advance Mills', 2826, '22968', '434', '38.255022', '-78.376775', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49461, 'Ruckersville', 2826, '22968', '434', '38.255022', '-78.376775', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49462, 'Schuyler', 2826, '22969', '434', '37.783994', '-78.698008', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49463, 'King And Qn C H', 2826, '23085', '804', '37.726138', '-76.831094', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49464, 'King And Queen Court House', 2826, '23085', '804', '37.726138', '-76.831094', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49465, 'King Queen Ch', 2826, '23085', '804', '37.726138', '-76.831094', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49466, 'Kingqueen Court House', 2826, '23085', '804', '37.726138', '-76.831094', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49467, 'Dabneys', 2826, '23102', '804', '37.718875', '-77.828672', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49468, 'Maidens', 2826, '23102', '804', '37.718875', '-77.828672', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49469, 'Moseley', 2826, '23120', '804', '37.413328', '-77.781582', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49470, 'Charlottesville', 2826, '22901', '434', '38.096352', '-78.556894', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49471, 'Charlottesvle', 2826, '22901', '434', '38.096352', '-78.556894', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49472, 'Chville', 2826, '22901', '434', '38.096352', '-78.556894', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49473, 'Charlottesville', 2826, '22903', '434', '38.002721', '-78.608875', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49474, 'Charlottesvle', 2826, '22903', '434', '38.002721', '-78.608875', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49475, 'University', 2826, '22903', '434', '38.002721', '-78.608875', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49476, 'Charlottesville', 2826, '22904', '434', '38.037046', '-78.517947', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49477, 'Charlottesvle', 2826, '22904', '434', '38.037046', '-78.517947', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49478, 'Newcomb Hall', 2826, '22904', '434', '38.037046', '-78.517947', '2018-11-29 05:02:27', '2018-11-29 05:02:27'),\n(49479, 'White Hall', 2826, '22987', '434', '38.1179', '-78.6617', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49480, 'Akk', 2826, '23003', '804', '37.4383', '-76.5764', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49481, 'Ark', 2826, '23003', '804', '37.4383', '-76.5764', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49482, 'Fort Valley', 2826, '22652', '540', '38.845832', '-78.434596', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49483, 'Saint Davids Church', 2826, '22652', '540', '38.845832', '-78.434596', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49484, 'Seven Fountains', 2826, '22652', '540', '38.845832', '-78.434596', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49485, 'Seven Fountns', 2826, '22652', '540', '38.845832', '-78.434596', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49486, 'St Davids Ch', 2826, '22652', '540', '38.845832', '-78.434596', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49487, 'Afton', 2826, '22920', '540', '37.975038', '-78.824356', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49488, 'Mollusk', 2826, '22517', '804', '37.7302', '-76.5385', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49489, 'Partlow', 2826, '22534', '540', '38.067824', '-77.67717', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49490, 'Village', 2826, '22570', '804', '37.9488', '-76.6045', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49491, 'Remington', 2826, '22734', '540', '38.528158', '-77.823134', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49492, 'Rixeyville', 2826, '22737', '540', '38.589829', '-78.008185', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49493, 'Harrisonburg', 2826, '22802', '540', '38.486284', '-78.850636', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49494, 'Harrisonburg', 2826, '22803', '540', '38.5056', '-78.9398', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49495, 'Falmouth', 2826, '22403', '540', '38.3008', '-77.4621', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49496, 'Fred', 2826, '22403', '540', '38.3008', '-77.4621', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49497, 'Fredericksbrg', 2826, '22403', '540', '38.3008', '-77.4621', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49498, 'Fredericksburg', 2826, '22403', '540', '38.3008', '-77.4621', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49499, 'Burr Hill', 2826, '22433', '540', '38.3614', '-77.866638', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49500, 'Lorton', 2826, '22199', '703', '38.7045', '-77.2282', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49501, 'Arlington', 2826, '22216', '703', '38.8774', '-77.1155', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49502, 'Arlington', 2826, '22217', '703', '38.869', '-77.1039', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49503, 'Office Of Naval Research', 2826, '22217', '703', '38.869', '-77.1039', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49504, 'Alexandria', 2826, '22301', '703', '38.818362', '-77.060432', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49505, 'Potomac', 2826, '22301', '703', '38.818362', '-77.060432', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49506, 'Alexandria', 2826, '22302', '703', '38.830715', '-77.093618', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49507, 'Greenway', 2826, '22067', '703', '38.971267', '-77.230548', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49508, 'Mc Lean', 2826, '22067', '703', '38.971267', '-77.230548', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49509, 'Merrifield', 2826, '22116', '703', '38.8745', '-77.2272', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49510, 'Bank Of America', 2826, '22118', '703', '38.8745', '-77.2272', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49511, 'Merrifield', 2826, '22118', '703', '38.8745', '-77.2272', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49512, 'Springfield', 2826, '22150', '703', '38.76113', '-77.186046', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49513, 'Tasley', 2826, '23441', '757', '37.712633', '-75.699168', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49514, 'Virginia Bch', 2826, '23450', '757', '36.8598', '-75.9812', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49515, 'Virginia Beach', 2826, '23450', '757', '36.8598', '-75.9812', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49516, 'Tabb', 2826, '23693', '757', '37.121112', '-76.447328', '2018-11-29 05:02:28', '2018-11-29 05:02:28'),\n(49517, 'Yorktown', 2826, '23693', '757', '37.121112', '-76.447328', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49518, 'Portsmouth', 2826, '23707', '757', '36.841234', '-76.336338', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49519, 'Chesapeake', 2826, '23325', '757', '36.813695', '-76.238736', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49520, 'Virginia Bch', 2826, '23466', '757', '36.8526', '-75.9783', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49521, 'Virginia Beach', 2826, '23466', '757', '36.8526', '-75.9783', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49522, 'Richmond', 2826, '23232', '804', '37.544', '-77.4507', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49523, 'Richmond Main', 2826, '23232', '804', '37.544', '-77.4507', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49524, 'Oak Hall', 2826, '23416', '757', '37.949706', '-75.59115', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49525, 'Quinby', 2826, '23423', '757', '37.52365', '-75.703098', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49526, 'Macon', 2826, '23139', '804', '37.552907', '-77.941096', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49527, 'Powhatan', 2826, '23139', '804', '37.552907', '-77.941096', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49528, 'Powhatand', 2826, '23139', '804', '37.552907', '-77.941096', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49529, 'Powhatano', 2826, '23139', '804', '37.552907', '-77.941096', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49530, 'Richmond', 2826, '23173', '804', '37.575548', '-77.542178', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49531, 'Univ Of Rich', 2826, '23173', '804', '37.575548', '-77.542178', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49532, 'University Of Rich', 2826, '23173', '804', '37.575548', '-77.542178', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49533, 'University Of Richmond', 2826, '23173', '804', '37.575548', '-77.542178', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49534, 'Air Mail Facility', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49535, 'Henrico', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49536, 'Rich', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49537, 'Rich Int Ap', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49538, 'Richmnd', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49539, 'Richmond', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49540, 'Richmond Int Airport', 2826, '23250', '804', '37.50545', '-77.319929', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49541, 'Richmond', 2826, '23282', '804', '37.5537', '-77.4609', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49542, 'Va Dept Tax', 2826, '23282', '804', '37.5537', '-77.4609', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49543, 'Richmond', 2826, '23284', '804', '37.5537', '-77.4609', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49544, 'Vcu/west', 2826, '23284', '804', '37.5537', '-77.4609', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49545, 'Internal Revenue Service', 2826, '23289', '804', '37.5436', '-77.4487', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49546, 'Rich', 2826, '23289', '804', '37.5436', '-77.4487', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49547, 'Richmond', 2826, '23289', '804', '37.5436', '-77.4487', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49548, 'Richmond', 2826, '23291', '804', '37.5537', '-77.4609', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49549, 'Suntrust Bank', 2826, '23291', '804', '37.5537', '-77.4609', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49550, 'Grimstead', 2826, '23064', '804', '37.502622', '-76.301522', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49551, 'Gwyme', 2826, '23066', '804', '37.492563', '-76.289171', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49552, 'Gwynn', 2826, '23066', '804', '37.492563', '-76.289171', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49553, 'Forest Hill', 2826, '23225', '804', '37.516878', '-77.499402', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49554, 'N Chesterfld', 2826, '23225', '804', '37.516878', '-77.499402', '2018-11-29 05:02:29', '2018-11-29 05:02:29'),\n(49555, 'North Chesterfield', 2826, '23225', '804', '37.516878', '-77.499402', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49556, 'Richmond', 2826, '23225', '804', '37.516878', '-77.499402', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49557, 'Stanardsville', 2826, '22973', '434', '38.342546', '-78.484864', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49558, 'Mannboro', 2826, '23105', '804', '37.2517', '-77.8238', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49559, 'Beaverlett', 2826, '23109', '804', '37.43734', '-76.332434', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49560, 'Mathews', 2826, '23109', '804', '37.43734', '-76.332434', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49561, 'New Canton', 2826, '23123', '434', '37.642328', '-78.295652', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49562, 'Harrisonburg', 2826, '22807', '540', '38.43324', '-78.866333', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49563, 'Hburg', 2826, '22807', '540', '38.43324', '-78.866333', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49564, 'James Madison University', 2826, '22807', '540', '38.43324', '-78.866333', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49565, 'Keezletown', 2826, '22832', '540', '38.4421', '-78.766767', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49566, 'Penn Laird', 2826, '22846', '540', '38.365463', '-78.790832', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49567, 'Singers Glen', 2826, '22850', '540', '38.571887', '-78.916794', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49568, 'Charlottesvile Brm', 2826, '22907', '434', '38.0295', '-78.4769', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49569, 'Charlottesville', 2826, '22907', '434', '38.0295', '-78.4769', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49570, 'Charlottesvle', 2826, '22907', '434', '38.0295', '-78.4769', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49571, 'Wdberry Forst', 2826, '22989', '540', '38.293834', '-78.118024', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49572, 'Woodberry For', 2826, '22989', '540', '38.293834', '-78.118024', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49573, 'Woodberry Forest', 2826, '22989', '540', '38.293834', '-78.118024', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49574, 'Charles City', 2826, '23030', '804', '37.356787', '-77.071575', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49575, 'Church View', 2826, '23032', '804', '37.669068', '-76.672139', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49576, 'Millwood', 2826, '22646', '540', '39.065041', '-78.037901', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49577, 'Stephens City', 2826, '22655', '540', '39.048236', '-78.238658', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49578, 'Lebanon Church', 2826, '22657', '540', '39.00921', '-78.35077', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49579, 'Strasburg', 2826, '22657', '540', '39.00921', '-78.35077', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49580, 'Crozet', 2826, '22932', '434', '38.130301', '-78.685998', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49581, 'Yancey Mills', 2826, '22932', '434', '38.130301', '-78.685998', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49582, 'Kilmarnock', 2826, '22482', '804', '37.739132', '-76.351509', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49583, 'Morattico', 2826, '22523', '804', '37.7894', '-76.6297', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49584, 'Ophelia', 2826, '22530', '804', '37.9102', '-76.2838', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49585, 'Reedville', 2826, '22539', '804', '37.861652', '-76.287024', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49586, 'Woodford', 2826, '22580', '804', '38.126492', '-77.441282', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49587, 'Alexandria', 2826, '22332', '703', '38.8052', '-77.0473', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49588, 'Arlington', 2826, '22205', '703', '38.882248', '-77.141056', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49589, 'Corbin', 2826, '22446', '804', '38.1996', '-77.3893', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49590, 'Dahlgren', 2826, '22448', '540', '38.33901', '-77.03275', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49591, 'Naval Surface Weapons Center', 2826, '22448', '540', '38.33901', '-77.03275', '2018-11-29 05:02:30', '2018-11-29 05:02:30'),\n(49592, 'Fairfax', 2826, '22037', '703', '38.8596', '-77.2269', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49593, 'Mobil Oil Corp', 2826, '22037', '703', '38.8596', '-77.2269', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49594, '7 Corners', 2826, '22044', '703', '38.861478', '-77.155248', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49595, 'Falls Church', 2826, '22044', '703', '38.861478', '-77.155248', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49596, 'Seven Corners', 2826, '22044', '703', '38.861478', '-77.155248', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49597, 'Dugspur', 2826, '24325', '276', '36.833764', '-80.608731', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49598, 'Grosclose', 2826, '24368', '276', '36.890922', '-81.280828', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49599, 'Rural Retreat', 2826, '24368', '276', '36.890922', '-81.280828', '2018-11-29 05:02:31', '2018-11-29 05:02:31');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(49600, 'Tannersville', 2826, '24377', '276', '36.98738', '-81.61367', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49601, 'Staunton', 2826, '24402', '540', '38.13', '-79.1978', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49602, 'Haymakertown', 2826, '24175', '540', '37.416856', '-79.931434', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49603, 'Troutville', 2826, '24175', '540', '37.416856', '-79.931434', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49604, 'Burnt Chimney', 2826, '24184', '540', '37.081852', '-79.78665', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49605, 'Wirtz', 2826, '24184', '540', '37.081852', '-79.78665', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49606, 'Bristol', 2826, '24209', '276', '36.5965', '-82.1889', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49607, 'Damascus', 2826, '24236', '276', '36.651356', '-81.743118', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49608, 'Mendota', 2826, '24270', '276', '36.713824', '-82.257791', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49609, 'Atkins', 2826, '24311', '276', '36.883624', '-81.388513', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49610, 'Lunenburg', 2826, '23952', '434', '36.91684', '-78.275732', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49611, 'Cloverdale', 2826, '24077', '540', '37.368044', '-79.900728', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49612, 'Goodview', 2826, '24095', '540', '37.211382', '-79.758618', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49613, 'Sandy Level', 2826, '24161', '434', '36.991038', '-79.54756', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49614, 'Cave Spring', 2826, '24018', '540', '37.216714', '-80.038642', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49615, 'Poages Mill', 2826, '24018', '540', '37.216714', '-80.038642', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49616, 'Roanoke', 2826, '24018', '540', '37.216714', '-80.038642', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49617, 'Roanoke', 2826, '24034', '540', '37.2709', '-79.9418', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49618, 'Roanoke', 2826, '24036', '540', '37.2709', '-79.9418', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49619, 'Buchanan', 2826, '24066', '540', '37.532946', '-79.669103', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49620, 'Lithia', 2826, '24066', '540', '37.532946', '-79.669103', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49621, 'Norfolk', 2826, '23523', '757', '36.832048', '-76.269869', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49622, 'Newport News', 2826, '23602', '757', '37.114094', '-76.514428', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49623, 'Dolphin', 2826, '23843', '434', '36.849752', '-77.8058', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49624, 'Prince George', 2826, '23875', '804', '37.241925', '-77.267272', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49625, 'White Plains', 2826, '23893', '434', '36.600702', '-77.913836', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49626, 'Fort Mitchell', 2826, '23941', '434', '36.9183', '-78.4865', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49627, 'Newport News', 2826, '23607', '757', '36.975898', '-76.439879', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49628, 'Newport News', 2826, '23609', '757', '36.9786', '-76.4284', '2018-11-29 05:02:31', '2018-11-29 05:02:31'),\n(49629, 'Hampton', 2826, '23666', '757', '37.062782', '-76.40522', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49630, 'Hampton', 2826, '23668', '757', '37.020366', '-76.332127', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49631, 'Hampton University', 2826, '23668', '757', '37.020366', '-76.332127', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49632, 'Boykins', 2826, '23827', '757', '36.611606', '-77.203756', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49633, 'Richmond', 2826, '23298', '804', '37.542787', '-77.429651', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49634, 'Vcu/mcv East', 2826, '23298', '804', '37.542787', '-77.429651', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49635, 'Norfolk', 2826, '23507', '757', '36.865551', '-76.302195', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49636, 'Ampthill', 2826, '23234', '804', '37.458422', '-77.469799', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49637, 'N Chesterfld', 2826, '23234', '804', '37.458422', '-77.469799', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49638, 'North Chesterfield', 2826, '23234', '804', '37.458422', '-77.469799', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49639, 'Richmond', 2826, '23234', '804', '37.458422', '-77.469799', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49640, 'Central Sta', 2826, '23241', '804', '37.5537', '-77.4609', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49641, 'Rich', 2826, '23241', '804', '37.5537', '-77.4609', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49642, 'Richmnd', 2826, '23241', '804', '37.5537', '-77.4609', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49643, 'Richmond', 2826, '23241', '804', '37.5537', '-77.4609', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49644, 'Craddockville', 2826, '23341', '757', '37.585', '-75.8686', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49645, 'Exmore', 2826, '23350', '757', '37.512861', '-75.876586', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49646, 'Greenbush', 2826, '23357', '757', '37.762843', '-75.680758', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49647, 'Hallwood', 2826, '23359', '757', '37.87965', '-75.589496', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49648, 'Jamesville', 2826, '23398', '757', '37.5176', '-75.9329', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49649, 'Mappsville', 2826, '23407', '757', '37.839607', '-75.538899', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49650, 'Onley', 2826, '23418', '757', '37.669713', '-75.687447', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49651, 'Chuckatuck', 2826, '23432', '757', '36.876868', '-76.558878', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49652, 'Suffolk', 2826, '23432', '757', '36.876868', '-76.558878', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49653, 'Suffolk', 2826, '23434', '757', '36.704066', '-76.617011', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49654, 'Cauthornville', 2826, '23148', '804', '37.86086', '-77.055519', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49655, 'Indian Neck', 2826, '23148', '804', '37.86086', '-77.055519', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49656, 'Saint Stephens Church', 2826, '23148', '804', '37.86086', '-77.055519', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49657, 'St Stephens Church', 2826, '23148', '804', '37.86086', '-77.055519', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49658, 'St Stephns Ch', 2826, '23148', '804', '37.86086', '-77.055519', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49659, 'Crozier', 2826, '23039', '804', '37.656199', '-77.807748', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49660, 'Dutton', 2826, '23050', '804', '37.490124', '-76.433945', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49661, 'Richmond', 2826, '23223', '804', '37.558198', '-77.376967', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49662, 'Mntpelier Sta', 2826, '22957', '540', '38.226914', '-78.183036', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49663, 'Montpelier Station', 2826, '22957', '540', '38.226914', '-78.183036', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49664, 'Little Plymouth', 2826, '23091', '804', '37.652141', '-76.792408', '2018-11-29 05:02:32', '2018-11-29 05:02:32'),\n(49665, 'Little Plymth', 2826, '23091', '804', '37.652141', '-76.792408', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49666, 'Maryus', 2826, '23107', '804', '37.2795', '-76.4034', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49667, 'Mechanicsville', 2826, '23116', '804', '37.675456', '-77.32502', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49668, 'Mechanicsvlle', 2826, '23116', '804', '37.675456', '-77.32502', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49669, 'Crosskeys', 2826, '22841', '540', '38.335456', '-78.896883', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49670, 'Mount Crawford', 2826, '22841', '540', '38.335456', '-78.896883', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49671, 'Mt Crawford', 2826, '22841', '540', '38.335456', '-78.896883', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49672, 'Pleasant Valley', 2826, '22848', '540', '38.3844', '-78.8977', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49673, 'Pleasant Vly', 2826, '22848', '540', '38.3844', '-78.8977', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49674, 'Charlottesville', 2826, '22905', '434', '38.0295', '-78.4769', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49675, 'Charlottesvle', 2826, '22905', '434', '38.0295', '-78.4769', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49676, 'Park', 2826, '22980', '540', '38.107415', '-78.903737', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49677, 'Waynesboro', 2826, '22980', '540', '38.107415', '-78.903737', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49678, 'Bruington', 2826, '23023', '804', '37.784555', '-76.923408', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49679, 'Cardinal', 2826, '23025', '804', '37.416298', '-76.37556', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49680, 'Miles', 2826, '23025', '804', '37.416298', '-76.37556', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49681, 'Front Royal', 2826, '22630', '540', '38.922448', '-78.172554', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49682, 'Lake Frederick', 2826, '22630', '540', '38.922448', '-78.172554', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49683, 'Lk Frederick', 2826, '22630', '540', '38.922448', '-78.172554', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49684, 'Riverton', 2826, '22630', '540', '38.922448', '-78.172554', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49685, 'Hume', 2826, '22639', '540', '38.811261', '-78.020928', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49686, 'Castleton', 2826, '22716', '540', '38.621137', '-78.099233', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49687, 'Hood', 2826, '22723', '540', '38.34236', '-78.396386', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49688, 'Oakpark', 2826, '22730', '540', '38.358245', '-78.170013', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49689, 'Barboursville', 2826, '22923', '434', '38.186576', '-78.326984', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49690, 'Burnleys', 2826, '22923', '434', '38.186576', '-78.326984', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49691, 'Eheart', 2826, '22923', '434', '38.186576', '-78.326984', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49692, 'North Springfield', 2826, '22151', '703', '38.801644', '-77.210894', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49693, 'Springfield', 2826, '22151', '703', '38.801644', '-77.210894', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49694, 'Springfield', 2826, '22152', '703', '38.776093', '-77.23345', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49695, 'W Springfield', 2826, '22152', '703', '38.776093', '-77.23345', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49696, 'West Springfield', 2826, '22152', '703', '38.776093', '-77.23345', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49697, 'Cascade', 2826, '24069', '434', '36.595305', '-79.616411', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49698, 'Leakesville Junction', 2826, '24069', '434', '36.595305', '-79.616411', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49699, 'Union Hall', 2826, '24176', '540', '36.994533', '-79.670534', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49700, 'Villamont', 2826, '24178', '540', '37.3961', '-79.779', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49701, 'Bristol', 2826, '24201', '276', '36.614615', '-82.174827', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49702, 'Bristol', 2826, '24203', '276', '36.5965', '-82.1889', '2018-11-29 05:02:33', '2018-11-29 05:02:33'),\n(49703, 'Abingdon', 2826, '24210', '276', '36.769686', '-82.090472', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49704, 'Osceola', 2826, '24210', '276', '36.769686', '-82.090472', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49705, 'Abingdon', 2826, '24212', '276', '36.7084', '-81.9688', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49706, 'Gate City', 2826, '24251', '276', '36.701936', '-82.635476', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49707, 'Snowflake', 2826, '24251', '276', '36.701936', '-82.635476', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49708, 'Council', 2826, '24260', '276', '37.0406', '-81.975487', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49709, 'Elk Garden', 2826, '24260', '276', '37.0406', '-81.975487', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49710, 'Honaker', 2826, '24260', '276', '37.0406', '-81.975487', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49711, 'Putnam', 2826, '24260', '276', '37.0406', '-81.975487', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49712, 'Venia', 2826, '24260', '276', '37.0406', '-81.975487', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49713, 'Austinville', 2826, '24312', '276', '36.832513', '-80.862876', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49714, 'Daleville', 2826, '24083', '540', '37.410196', '-79.918068', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49715, 'Hardy', 2826, '24101', '540', '37.181625', '-79.80131', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49716, 'Allegany Spring', 2826, '24162', '540', '37.139756', '-80.255032', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49717, 'Shawsville', 2826, '24162', '540', '37.139756', '-80.255032', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49718, 'Staffordsville', 2826, '24167', '540', '37.247852', '-80.741909', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49719, 'Staffordsvlle', 2826, '24167', '540', '37.247852', '-80.741909', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49720, 'Church Road', 2826, '23833', '804', '37.210032', '-77.666686', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49721, 'Saxe', 2826, '23967', '434', '36.925715', '-78.618706', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49722, 'Roanoke', 2826, '24035', '540', '37.2709', '-79.9418', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49723, 'Belspring', 2826, '24058', '540', '37.191932', '-80.56953', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49724, 'N N', 2826, '23601', '757', '37.04677', '-76.485306', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49725, 'Newport News', 2826, '23601', '757', '37.04677', '-76.485306', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49726, 'Franklin', 2826, '23851', '757', '36.676318', '-76.956512', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49727, 'Rawlings', 2826, '23876', '434', '36.947372', '-77.839531', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49728, 'Sutherland', 2826, '23885', '804', '37.17973', '-77.576844', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49729, 'Wilsons', 2826, '23894', '804', '37.12931', '-77.841789', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49730, 'Claremont', 2826, '23899', '757', '37.222478', '-76.964066', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49731, 'Bracey', 2826, '23919', '434', '36.596225', '-78.143688', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49732, 'Chase City', 2826, '23924', '434', '36.809819', '-78.41804', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49733, 'Virginia Bch', 2826, '23456', '757', '36.67483', '-76.011469', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49734, 'Virginia Beach', 2826, '23456', '757', '36.67483', '-76.011469', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49735, 'Vienna', 2826, '22183', '703', '38.9014', '-77.2656', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49736, 'A T & T', 2826, '22185', '703', '38.9014', '-77.2656', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49737, 'At&t', 2826, '22185', '703', '38.9014', '-77.2656', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49738, 'Oakton', 2826, '22185', '703', '38.9014', '-77.2656', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49739, 'Vienna', 2826, '22185', '703', '38.9014', '-77.2656', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49740, 'Great Falls', 2826, '22066', '703', '39.004448', '-77.308098', '2018-11-29 05:02:34', '2018-11-29 05:02:34'),\n(49741, 'Maclean', 2826, '22102', '703', '38.959942', '-77.224902', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49742, 'Mc Lean', 2826, '22102', '703', '38.959942', '-77.224902', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49743, 'Mclean', 2826, '22102', '703', '38.959942', '-77.224902', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49744, 'Tysons', 2826, '22102', '703', '38.959942', '-77.224902', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49745, 'Tysons Corner', 2826, '22102', '703', '38.959942', '-77.224902', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49746, 'West Mclean', 2826, '22102', '703', '38.959942', '-77.224902', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49747, 'Fbi Academy', 2826, '22135', '703', '38.5225', '-77.2938', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49748, 'Quantico', 2826, '22135', '703', '38.5225', '-77.2938', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49749, 'N Springfield', 2826, '22151', '703', '38.801644', '-77.210894', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49750, 'N Springfld', 2826, '22151', '703', '38.801644', '-77.210894', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49751, 'Fairfax', 2826, '22038', '703', '38.8458', '-77.3075', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49752, 'Business Reply Mail', 2826, '22095', '703', '38.9696', '-77.3866', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49753, 'Herndon', 2826, '22095', '703', '38.9696', '-77.3866', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49754, 'Reston', 2826, '22095', '703', '38.9696', '-77.3866', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49755, 'Newington', 2826, '22122', '703', '38.7386', '-77.1853', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49756, 'Dept Of Commerce', 2826, '22161', '703', '38.7893', '-77.1878', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49757, 'Grafton', 2826, '23692', '757', '37.178494', '-76.470709', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49758, 'Yorktown', 2826, '23692', '757', '37.178494', '-76.470709', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49759, 'Portsmouth', 2826, '23701', '757', '36.812324', '-76.36945', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49760, 'Blackstone', 2826, '23824', '434', '37.084758', '-77.954306', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49761, 'Chesapeake', 2826, '23324', '757', '36.80152', '-76.276521', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49762, 'South Norfolk', 2826, '23324', '757', '36.80152', '-76.276521', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49763, 'Chesapeake', 2826, '23326', '757', '36.8187', '-76.2753', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49764, 'Coast Guard Finance Center', 2826, '23326', '757', '36.8187', '-76.2753', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49765, 'Virginia Bch', 2826, '23458', '757', '36.8525', '-75.9786', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49766, 'Virginia Beach', 2826, '23458', '757', '36.8525', '-75.9786', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49767, 'Virginia Bch', 2826, '23460', '757', '36.81268', '-76.03407', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49768, 'Virginia Beach', 2826, '23460', '757', '36.81268', '-76.03407', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49769, 'Norfolk', 2826, '23501', '757', '36.8511', '-76.2784', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49770, 'Norfolk', 2826, '23510', '757', '36.8522', '-76.294156', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49771, 'Henrico', 2826, '23233', '804', '37.651178', '-77.61969', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49772, 'Richmond', 2826, '23233', '804', '37.651178', '-77.61969', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49773, 'Ridge', 2826, '23233', '804', '37.651178', '-77.61969', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49774, 'Henrico', 2826, '23242', '804', '37.5603', '-77.4602', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49775, 'Rich', 2826, '23242', '804', '37.5603', '-77.4602', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49776, 'Richmnd', 2826, '23242', '804', '37.5603', '-77.4602', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49777, 'Richmond', 2826, '23242', '804', '37.5603', '-77.4602', '2018-11-29 05:02:35', '2018-11-29 05:02:35'),\n(49778, 'Mcguire Veterans Hospital', 2826, '23249', '804', '37.5537', '-77.4609', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49779, 'Hacks Neck', 2826, '23358', '757', '37.645422', '-75.863487', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49780, 'Hacksneck', 2826, '23358', '757', '37.645422', '-75.863487', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49781, 'Richmond', 2826, '23249', '804', '37.5537', '-77.4609', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49782, 'Cumberland', 2826, '23040', '804', '37.525651', '-78.258119', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49783, 'Hadensville', 2826, '23067', '804', '37.8253', '-78.0002', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49784, 'Jamestown', 2826, '23081', '757', '37.2081', '-76.7746', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49785, 'Williamsburg', 2826, '23081', '757', '37.2081', '-76.7746', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49786, 'Richmond', 2826, '23226', '804', '37.584398', '-77.518046', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49787, 'Faber', 2826, '22938', '434', '37.849966', '-78.805866', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49788, 'Free Union', 2826, '22940', '434', '38.208712', '-78.624924', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49789, 'Mission Home', 2826, '22940', '434', '38.208712', '-78.624924', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49790, 'Lovingston', 2826, '22949', '434', '37.791306', '-78.86945', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49791, 'Bybee', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49792, 'Cunningham', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49793, 'Lake Montcelo', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49794, 'Lake Monticello', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49795, 'Palmyra', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49796, 'Wildwood', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49797, 'Wilmington', 2826, '22963', '434', '37.835663', '-78.283957', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49798, 'Lowesville', 2826, '22967', '434', '37.821473', '-79.038449', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49799, 'Massies Mill', 2826, '22967', '434', '37.821473', '-79.038449', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49800, 'Massies Ml', 2826, '22967', '434', '37.821473', '-79.038449', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49801, 'Roseland', 2826, '22967', '434', '37.821473', '-79.038449', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49802, 'Wintergreen Resort', 2826, '22967', '434', '37.821473', '-79.038449', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49803, 'Wintergrn Rst', 2826, '22967', '434', '37.821473', '-79.038449', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49804, 'Troy', 2826, '22974', '434', '37.962299', '-78.263335', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49805, 'Millers Tavern', 2826, '23115', '804', '37.806328', '-76.918218', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49806, 'Millers Tavrn', 2826, '23115', '804', '37.806328', '-76.918218', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49807, 'Massanutten', 2826, '22840', '540', '38.379778', '-78.751812', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49808, 'Mc Gaheysville', 2826, '22840', '540', '38.379778', '-78.751812', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49809, 'Mc Gaheysvlle', 2826, '22840', '540', '38.379778', '-78.751812', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49810, 'Mcgaheysville', 2826, '22840', '540', '38.379778', '-78.751812', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49811, 'Shenandoah', 2826, '22849', '540', '38.526899', '-78.603117', '2018-11-29 05:02:36', '2018-11-29 05:02:36'),\n(49812, 'Beaverdam', 2826, '23015', '804', '37.936614', '-77.618417', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49813, 'Middletown', 2826, '22649', '540', '39.002052', '-78.257026', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49814, 'Reliance', 2826, '22649', '540', '39.002052', '-78.257026', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49815, 'Star Tannery', 2826, '22654', '540', '39.063737', '-78.450477', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49816, 'Stephenson', 2826, '22656', '540', '39.213555', '-78.08284', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49817, 'White Post', 2826, '22663', '540', '39.056207', '-78.114527', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49818, 'Boston', 2826, '22713', '540', '38.539248', '-78.141492', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49819, 'Haywood', 2826, '22722', '540', '38.460708', '-78.233546', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49820, 'Jeffersonton', 2826, '22724', '540', '38.62973', '-77.905724', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49821, 'Pratts', 2826, '22731', '540', '38.355484', '-78.27508', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49822, 'Rapidan', 2826, '22733', '540', '38.33335', '-78.041879', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49823, 'Arrington', 2826, '22922', '434', '37.68187', '-78.927548', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49824, 'Tye River', 2826, '22922', '434', '37.68187', '-78.927548', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49825, 'Batesville', 2826, '22924', '540', '38.00048', '-78.722625', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49826, 'Edwardsville', 2826, '22456', '804', '37.9066', '-76.3658', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49827, 'Jersey', 2826, '22481', '540', '38.2114', '-77.1397', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49828, 'Mount Holly', 2826, '22524', '804', '38.0914', '-76.7183', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49829, 'Sealston', 2826, '22547', '540', '38.2616', '-77.3322', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49830, 'Stafford', 2826, '22556', '540', '38.502596', '-77.495303', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49831, 'Rochelle', 2826, '22738', '540', '38.27541', '-78.252938', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49832, 'Uno', 2826, '22738', '540', '38.27541', '-78.252938', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49833, 'Wash', 2826, '22747', '540', '38.73078', '-78.171971', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49834, 'Washington', 2826, '22747', '540', '38.73078', '-78.171971', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49835, 'Alexandria', 2826, '22315', '703', '38.7575', '-77.136609', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49836, 'Franconia', 2826, '22315', '703', '38.7575', '-77.136609', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49837, 'Kingstowne', 2826, '22315', '703', '38.7575', '-77.136609', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49838, 'Alexandria', 2826, '22320', '703', '38.8049', '-77.0475', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49839, 'George Mason', 2826, '22320', '703', '38.8049', '-77.0475', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49840, 'Clear Brook', 2826, '22624', '540', '39.271646', '-78.099894', '2018-11-29 05:02:37', '2018-11-29 05:02:37'),\n(49841, 'Springfield', 2826, '22161', '703', '38.7893', '-77.1878', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49842, 'Alexandria', 2826, '22306', '703', '38.759052', '-77.087124', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49843, 'Community', 2826, '22306', '703', '38.759052', '-77.087124', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49844, 'Wells', 2828, '05774', '802', '43.447171', '-73.181794', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49845, 'Beebe Plain', 2828, '05823', '802', '45.0053', '-72.1413', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49846, 'Adamant', 2828, '05640', '802', '44.351662', '-72.498199', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49847, 'Bliss Pond', 2828, '05640', '802', '44.351662', '-72.498199', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49848, 'Graniteville', 2828, '05654', '802', '44.147256', '-72.479035', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49849, 'Lake Elmore', 2828, '05657', '802', '44.541439', '-72.529073', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49850, 'Lk Elmore', 2828, '05657', '802', '44.541439', '-72.529073', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49851, 'Cuttingsville', 2828, '05738', '802', '43.548864', '-72.848728', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49852, 'North Shrewsbury', 2828, '05738', '802', '43.548864', '-72.848728', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49853, 'Russellville', 2828, '05738', '802', '43.548864', '-72.848728', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49854, 'Shrewsbury', 2828, '05738', '802', '43.548864', '-72.848728', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49855, 'Chipman Lake', 2828, '05739', '802', '43.352171', '-72.992568', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49856, 'Danby', 2828, '05739', '802', '43.352171', '-72.992568', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49857, 'Danby Corners', 2828, '05739', '802', '43.352171', '-72.992568', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49858, 'Mount Tabor', 2828, '05739', '802', '43.352171', '-72.992568', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49859, 'Scottsville', 2828, '05739', '802', '43.352171', '-72.992568', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49860, 'South End', 2828, '05739', '802', '43.352171', '-72.992568', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49861, 'E Middlebury', 2828, '05740', '802', '43.9734', '-73.1064', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49862, 'East Middlebury', 2828, '05740', '802', '43.9734', '-73.1064', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49863, 'Stockbridge', 2828, '05772', '802', '43.773638', '-72.740246', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49864, 'Newport Center', 2828, '05857', '802', '44.922956', '-72.297462', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49865, 'Newport Ctr', 2828, '05857', '802', '44.922956', '-72.297462', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49866, 'Burke', 2828, '05871', '802', '44.675866', '-71.938815', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49867, 'Newark', 2828, '05871', '802', '44.675866', '-71.938815', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49868, 'Newark Hollow', 2828, '05871', '802', '44.675866', '-71.938815', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49869, 'West Burke', 2828, '05871', '802', '44.675866', '-71.938815', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49870, 'Charleston', 2828, '05872', '802', '44.863513', '-72.045785', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49871, 'W Charleston', 2828, '05872', '802', '44.863513', '-72.045785', '2018-11-29 05:02:38', '2018-11-29 05:02:38'),\n(49872, 'West Charleston', 2828, '05872', '802', '44.863513', '-72.045785', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49873, 'Joes Pond', 2828, '05873', '802', '44.416422', '-72.204239', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49874, 'Walden', 2828, '05873', '802', '44.416422', '-72.204239', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49875, 'West Danville', 2828, '05873', '802', '44.416422', '-72.204239', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49876, 'Westfield', 2828, '05874', '802', '44.880767', '-72.452388', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49877, 'East Concord', 2828, '05906', '802', '44.470037', '-71.70119', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49878, 'Lunenburg', 2828, '05906', '802', '44.470037', '-71.70119', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49879, 'South Lunenburg', 2828, '05906', '802', '44.470037', '-71.70119', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49880, 'Bellevue', 2829, '98005', '425', '47.620068', '-122.173086', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49881, 'Redmond', 2829, '98053', '425', '47.661044', '-122.020607', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49882, 'Seattle', 2829, '98105', '206', '47.6604', '-122.28053', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49883, 'University', 2829, '98105', '206', '47.6604', '-122.28053', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49884, 'Burien', 2829, '98146', '206', '47.500346', '-122.363335', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49885, 'Seattle', 2829, '98146', '206', '47.500346', '-122.363335', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49886, 'Shorewood', 2829, '98146', '206', '47.500346', '-122.363335', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49887, 'White Center', 2829, '98146', '206', '47.500346', '-122.363335', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49888, 'Seattle', 2829, '98164', '206', '47.606138', '-122.331845', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49889, 'Arlington', 2829, '98223', '360', '48.180566', '-121.951264', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49890, 'Bryant', 2829, '98223', '360', '48.180566', '-121.951264', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49891, 'Oso', 2829, '98223', '360', '48.180566', '-121.951264', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49892, 'Smokey Point', 2829, '98223', '360', '48.180566', '-121.951264', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49893, 'Lind', 2829, '99341', '509', '46.908545', '-118.722753', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49894, 'Starbuck', 2829, '99359', '509', '46.494012', '-118.136281', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49895, 'Bellevue', 2829, '98006', '425', '47.552758', '-122.150589', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49896, 'Eastgate', 2829, '98006', '425', '47.552758', '-122.150589', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49897, 'Newport Hills', 2829, '98006', '425', '47.552758', '-122.150589', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49898, 'Bothell', 2829, '98011', '425', '47.75028', '-122.204651', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49899, 'Inglewood', 2829, '98011', '425', '47.75028', '-122.204651', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49900, 'Klaber', 2829, '98538', '360', '46.483696', '-123.128024', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49901, 'Wildwood', 2829, '98538', '360', '46.483696', '-123.128024', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49902, 'Pe Ell', 2829, '98572', '360', '46.509398', '-123.228691', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49903, 'Peell', 2829, '98572', '360', '46.509398', '-123.228691', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49904, 'Brush Prairie', 2829, '98606', '360', '45.732062', '-122.456463', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49905, 'Ilwaco', 2829, '98624', '360', '46.316722', '-123.999237', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49906, 'Toutle', 2829, '98649', '360', '46.217508', '-122.50536', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49907, 'White Salmon', 2829, '98672', '509', '45.828616', '-121.436096', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49908, 'Woodland', 2829, '98674', '360', '45.940172', '-122.596034', '2018-11-29 05:02:39', '2018-11-29 05:02:39'),\n(49909, 'Cashmere', 2829, '98815', '509', '47.53593', '-120.494571', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49910, 'Manson', 2829, '98831', '509', '47.936954', '-120.11896', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49911, 'Twisp', 2829, '98856', '509', '48.362722', '-120.276176', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49912, 'Douglas', 2829, '98858', '509', '47.63324', '-119.720841', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49913, 'Farmer', 2829, '98858', '509', '47.63324', '-119.720841', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49914, 'Waterville', 2829, '98858', '509', '47.63324', '-119.720841', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49915, 'Withrow', 2829, '98858', '509', '47.63324', '-119.720841', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49916, 'Cle Elum', 2829, '98922', '509', '47.346665', '-120.998664', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49917, 'Liberty', 2829, '98922', '509', '47.346665', '-120.998664', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49918, 'Suncadia', 2829, '98922', '509', '47.346665', '-120.998664', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49919, 'Teanaway', 2829, '98922', '509', '47.346665', '-120.998664', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49920, 'Outlook', 2829, '98938', '509', '46.400466', '-120.03883', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49921, 'Tieton', 2829, '98947', '509', '46.682007', '-120.833466', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49922, 'Lamont', 2829, '99017', '509', '47.14583', '-117.775742', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49923, 'Sprague', 2829, '99017', '509', '47.14583', '-117.775742', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49924, 'Espanola', 2829, '99022', '509', '47.608932', '-117.719008', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49925, 'Medical Lake', 2829, '99022', '509', '47.608932', '-117.719008', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49926, 'Davenport', 2829, '99122', '509', '47.686914', '-118.172315', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49927, 'Deer Meadows', 2829, '99122', '509', '47.686914', '-118.172315', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49928, 'Seven Bays', 2829, '99122', '509', '47.686914', '-118.172315', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49929, 'Grand Coulee', 2829, '99133', '509', '48.004426', '-119.042663', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49930, 'Creston', 2829, '99147', '509', '47.841139', '-118.437817', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49931, 'Lincoln', 2829, '99147', '509', '47.841139', '-118.437817', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49932, 'Pine Lake', 2829, '98027', '425', '47.496383', '-121.990901', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49933, 'Manitou Beach', 2829, '98061', '206', '47.6559', '-122.5094', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49934, 'Rollingbay', 2829, '98061', '206', '47.6559', '-122.5094', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49935, 'Seattle', 2829, '98106', '206', '47.547734', '-122.352668', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49936, 'White Center', 2829, '98106', '206', '47.547734', '-122.352668', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49937, 'Seattle', 2829, '98111', '206', '47.6064', '-122.3308', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49938, 'Seattle', 2829, '98138', '206', '47.6064', '-122.3308', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49939, 'Tukwila', 2829, '98138', '206', '47.6064', '-122.3308', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49940, 'Seattle', 2829, '98161', '206', '47.6015', '-122.3304', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49941, 'Duwamish', 2829, '98188', '206', '47.44821', '-122.277851', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49942, 'Mcmicken Heights', 2829, '98188', '206', '47.44821', '-122.277851', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49943, 'Riverton', 2829, '98188', '206', '47.44821', '-122.277851', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49944, 'Seatac', 2829, '98188', '206', '47.44821', '-122.277851', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49945, 'Seattle', 2829, '98188', '206', '47.44821', '-122.277851', '2018-11-29 05:02:40', '2018-11-29 05:02:40'),\n(49946, 'Tukwila', 2829, '98188', '206', '47.44821', '-122.277851', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49947, 'Eastmont', 2829, '98204', '425', '47.898328', '-122.26071', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49948, 'Everett', 2829, '98204', '425', '47.898328', '-122.26071', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49949, 'Silver Lake', 2829, '98204', '425', '47.898328', '-122.26071', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49950, 'Everett', 2829, '98206', '425', '48.0131', '-122.3202', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49951, 'Queensgate', 2829, '98011', '425', '47.75028', '-122.204651', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49952, 'Coal Creek', 2829, '98027', '425', '47.496383', '-121.990901', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49953, 'Issaquah', 2829, '98027', '425', '47.496383', '-121.990901', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49954, 'Malden', 2829, '99149', '509', '47.214011', '-117.460912', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49955, 'Newport', 2829, '99156', '509', '48.208562', '-117.268701', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49956, 'Oakesdale', 2829, '99158', '509', '47.106164', '-117.265206', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49957, 'Colfax', 2829, '99174', '509', '47.0064', '-117.3553', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49958, 'Steptoe', 2829, '99174', '509', '47.0064', '-117.3553', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49959, 'Spokane', 2829, '99251', '509', '47.753913', '-117.419446', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49960, 'Whitworth University', 2829, '99251', '509', '47.753913', '-117.419446', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49961, 'Connell', 2829, '99326', '509', '46.67903', '-118.742432', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49962, 'Anatone', 2829, '99401', '509', '46.121622', '-117.152995', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49963, 'Fall Creek', 2830, '54742', '715', '44.766635', '-91.276166', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49964, 'Cedar Falls', 2830, '54751', '715', '44.839902', '-91.943036', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49965, 'Menomonie', 2830, '54751', '715', '44.839902', '-91.943036', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49966, 'North Menomonie', 2830, '54751', '715', '44.839902', '-91.943036', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49967, 'Rusk', 2830, '54751', '715', '44.839902', '-91.943036', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49968, 'Ojibwa', 2830, '54862', '715', '45.817356', '-91.141973', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49969, 'Oshkosh', 2830, '54901', '920', '44.046416', '-88.493382', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49970, 'Appleton', 2830, '54912', '920', '44.2617', '-88.4153', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49971, 'Grand Chute', 2830, '54912', '920', '44.2617', '-88.4153', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49972, 'Camp Douglas', 2830, '54637', '608', '43.880222', '-90.270749', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49973, 'Hustler', 2830, '54637', '608', '43.880222', '-90.270749', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49974, 'Alvin', 2830, '54542', '715', '45.927024', '-88.766394', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49975, 'Long Lake', 2830, '54542', '715', '45.927024', '-88.766394', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49976, 'Nelma', 2830, '54542', '715', '45.927024', '-88.766394', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49977, 'Popple River', 2830, '54542', '715', '45.927024', '-88.766394', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49978, 'Tipler', 2830, '54542', '715', '45.927024', '-88.766394', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49979, 'Caryville', 2830, '54701', '715', '44.749683', '-91.51487', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49980, 'Eau Claire', 2830, '54701', '715', '44.749683', '-91.51487', '2018-11-29 05:02:41', '2018-11-29 05:02:41'),\n(49981, 'Dyckesville', 2830, '54217', '920', '44.563314', '-87.711286', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49982, 'Luxemburg', 2830, '54217', '920', '44.563314', '-87.711286', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49983, 'Maplewood', 2830, '54226', '920', '44.7477', '-87.4793', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49984, 'Rib Mountain', 2830, '54401', '715', '44.956927', '-89.714022', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49985, 'Wausau', 2830, '54401', '715', '44.956927', '-89.714022', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49986, 'Arpin', 2830, '54410', '715', '44.539942', '-90.012628', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49987, 'Bethel', 2830, '54410', '715', '44.539942', '-90.012628', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49988, 'Buena Vista', 2830, '54467', '715', '44.424344', '-89.531832', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49989, 'Coddington', 2830, '54467', '715', '44.424344', '-89.531832', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49990, 'Plover', 2830, '54467', '715', '44.424344', '-89.531832', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49991, 'Brillion', 2830, '54110', '920', '44.168258', '-88.101025', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49992, 'De Pere', 2830, '54115', '920', '44.409663', '-88.098253', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49993, 'Hobart', 2830, '54115', '920', '44.409663', '-88.098253', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49994, 'Mountain', 2830, '54149', '715', '45.205876', '-88.487756', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49995, 'Niagara', 2830, '54151', '715', '45.727172', '-87.979877', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49996, 'Sherwood', 2830, '54169', '920', '44.180945', '-88.274179', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49997, 'Suring', 2830, '54174', '920', '45.047354', '-88.381109', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49998, 'Lands End', 2830, '53958', '608', '43.5282', '-90.0016', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(49999, 'Reedsburg', 2830, '53958', '608', '43.5282', '-90.0016', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(50000, 'E Ellsworth', 2830, '54010', '715', '44.7321', '-92.4616', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(50001, 'Pine Bluff', 2781, '71602', '870', '34.280294', '-92.121521', '2018-11-29 05:02:42', '2018-11-29 05:02:42'),\n(50002, 'White Hall', 2781, '71602', '870', '34.280294', '-92.121521', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50003, 'Pine Bluff', 2781, '71603', '870', '34.122016', '-92.105343', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50004, 'Jersey', 2781, '71651', '870', '33.327847', '-92.291594', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50005, 'Morobay', 2781, '71651', '870', '33.327847', '-92.291594', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50006, 'Kingsland', 2781, '71652', '870', '33.894351', '-92.293674', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50007, 'Saline', 2781, '71652', '870', '33.894351', '-92.293674', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50008, 'Masonville', 2781, '71654', '870', '33.6283', '-91.365622', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50009, 'Mc Gehee', 2781, '71654', '870', '33.6283', '-91.365622', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50010, 'Mcarthur', 2781, '71654', '870', '33.6283', '-91.365622', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50011, 'Mcgehee', 2781, '71654', '870', '33.6283', '-91.365622', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50012, 'Trippe', 2781, '71654', '870', '33.6283', '-91.365622', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50013, 'Selma', 2781, '71670', '870', '33.697233', '-91.501486', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50014, 'Tillar', 2781, '71670', '870', '33.697233', '-91.501486', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50015, 'Camden', 2781, '71701', '870', '33.600469', '-92.901227', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50016, 'East Camden', 2781, '71701', '870', '33.600469', '-92.901227', '2018-11-29 05:02:43', '2018-11-29 05:02:43'),\n(50017, 'Bearden', 2781, '71720', '870', '33.731137', '-92.672267', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50018, 'Beirne', 2781, '71721', '870', '33.8887', '-93.2037', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50019, 'Magnolia', 2781, '71753', '870', '33.241951', '-93.180758', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50020, 'Village', 2781, '71753', '870', '33.241951', '-93.180758', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50021, 'Magnolia', 2781, '71754', '870', '33.2641', '-93.2353', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50022, 'Hope', 2781, '71802', '870', '33.6586', '-93.5914', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50023, 'Texarkana', 2781, '71854', '870', '33.462776', '-93.883159', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50024, 'Hot Springs', 2781, '71902', '501', '34.5038', '-93.0552', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50025, 'Hot Springs National', 2781, '71902', '501', '34.5038', '-93.0552', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50026, 'Hot Springs National Park', 2781, '71902', '501', '34.5038', '-93.0552', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50027, 'Alpine', 2781, '71920', '870', '34.2287', '-93.3776', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50028, 'Story', 2781, '71970', '870', '34.671906', '-93.504488', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50029, 'Athens', 2781, '71971', '870', '34.273461', '-94.095754', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50030, 'Umpire', 2781, '71971', '870', '34.273461', '-94.095754', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50031, 'Vandervoort', 2781, '71972', '870', '34.399738', '-94.29988', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50032, 'Alexander', 2781, '72002', '501', '34.659006', '-92.548656', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50033, 'Almyra', 2781, '72003', '870', '34.388534', '-91.396373', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50034, 'Amagon', 2781, '72005', '870', '35.557875', '-91.089788', '2018-11-29 05:02:44', '2018-11-29 05:02:44');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(50035, 'Banks', 2781, '71631', '870', '33.5654', '-92.254464', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50036, 'Gravelridge', 2781, '71631', '870', '33.5654', '-92.254464', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50037, 'Lanark', 2781, '71631', '870', '33.5654', '-92.254464', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50038, 'Baxter', 2781, '71638', '870', '33.514929', '-91.406691', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50039, 'Bellaire', 2781, '71638', '870', '33.514929', '-91.406691', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50040, 'Collins', 2781, '71638', '870', '33.514929', '-91.406691', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50041, 'Dermott', 2781, '71638', '870', '33.514929', '-91.406691', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50042, 'Halley', 2781, '71638', '870', '33.514929', '-91.406691', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50043, 'Halley Junction', 2781, '71638', '870', '33.514929', '-91.406691', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50044, 'Calion', 2781, '71724', '870', '33.32598', '-92.546435', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50045, 'Emerson', 2781, '71740', '870', '33.104692', '-93.190952', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50046, 'Fordyce', 2781, '71742', '870', '33.884866', '-92.459904', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50047, 'Huttig', 2781, '71747', '870', '33.060931', '-92.203896', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50048, 'Junction City', 2781, '71749', '870', '33.099409', '-92.775984', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50049, 'Whelen Spgs', 2781, '71772', '870', '33.8306', '-93.1264', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50050, 'Whelen Springs', 2781, '71772', '870', '33.8306', '-93.1264', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50051, 'Ashdown', 2781, '71822', '870', '33.689482', '-94.129676', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50052, 'Columbus', 2781, '71831', '870', '33.801828', '-93.799123', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50053, 'Rosston', 2781, '71858', '870', '33.55781', '-93.293643', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50054, 'Wilton', 2781, '71865', '870', '33.752533', '-94.104125', '2018-11-29 05:02:44', '2018-11-29 05:02:44'),\n(50055, 'Pencil Bluff', 2781, '71965', '870', '34.64903', '-93.740153', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50056, 'Y City', 2781, '71965', '870', '34.64903', '-93.740153', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50057, 'Biscoe', 2781, '72017', '870', '34.833101', '-91.52847', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50058, 'Casscoe', 2781, '72026', '870', '34.50827', '-91.294612', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50059, 'Childress', 2781, '72040', '870', '34.971825', '-91.518992', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50060, 'Des Arc', 2781, '72040', '870', '34.971825', '-91.518992', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50061, 'Four Mile Corner', 2781, '72040', '870', '34.971825', '-91.518992', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50062, 'Hayley', 2781, '72040', '870', '34.971825', '-91.518992', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50063, 'Little Dixie', 2781, '72040', '870', '34.971825', '-91.518992', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50064, 'Sand Hill', 2781, '72040', '870', '34.971825', '-91.518992', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50065, 'De Luce', 2781, '72042', '870', '34.297146', '-91.320872', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50066, 'De Witt', 2781, '72042', '870', '34.297146', '-91.320872', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50067, 'Dewitt', 2781, '72042', '870', '34.297146', '-91.320872', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50068, 'Fox', 2781, '72051', '870', '35.775435', '-92.304394', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50069, 'Mozart', 2781, '72051', '870', '35.775435', '-92.304394', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50070, 'East End', 2781, '72065', '501', '34.522188', '-92.266289', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50071, 'Hensley', 2781, '72065', '501', '34.522188', '-92.266289', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50072, 'Hunter', 2781, '72074', '870', '35.04518', '-91.106364', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50073, 'Judsonia', 2781, '72081', '501', '35.360308', '-91.639114', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50074, 'Providence', 2781, '72081', '501', '35.360308', '-91.639114', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50075, 'Steprock', 2781, '72081', '501', '35.360308', '-91.639114', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50076, 'Letona', 2781, '72085', '501', '35.367208', '-91.822114', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50077, 'Jacksonville', 2781, '72099', '501', '34.907709', '-92.137929', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50078, 'Little Rck AFB', 2781, '72099', '501', '34.907709', '-92.137929', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50079, 'Arsenal', 2781, '71601', '870', '34.196858', '-91.904929', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50080, 'Hardin', 2781, '71601', '870', '34.196858', '-91.904929', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50081, 'Jefferson Square', 2781, '71601', '870', '34.196858', '-91.904929', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50082, 'Pine Bluff', 2781, '71601', '870', '34.196858', '-91.904929', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50083, 'Crossett', 2781, '71635', '870', '33.147673', '-92.00193', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50084, 'Meridian', 2781, '71635', '870', '33.147673', '-92.00193', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50085, 'Mc Neil', 2781, '71752', '870', '33.385183', '-93.181596', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50086, 'Waldo', 2781, '71770', '870', '33.34701', '-93.3264', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50087, 'Emmet', 2781, '71835', '870', '33.657106', '-93.42328', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50088, 'Fulton', 2781, '71838', '870', '33.637237', '-93.827272', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50089, 'Nashville', 2781, '71852', '870', '34.018886', '-93.881711', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50090, 'Hot Springs', 2781, '71903', '501', '34.5023', '-93.0288', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50091, 'Hot Springs National Park', 2781, '71903', '501', '34.5023', '-93.0288', '2018-11-29 05:02:45', '2018-11-29 05:02:45'),\n(50092, 'Alpine', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50093, 'Amity', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50094, 'Caney Valley', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50095, 'Elm', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50096, 'Fendley', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50097, 'Point Cedar', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50098, 'Rosboro', 2781, '71921', '870', '34.250232', '-93.333423', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50099, 'Antoine', 2781, '71922', '870', '34.030032', '-93.424747', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50100, 'Cove', 2781, '71937', '870', '34.398004', '-94.375464', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50101, 'Hatton', 2781, '71937', '870', '34.398004', '-94.375464', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50102, 'Langley', 2781, '71952', '870', '34.302656', '-93.830506', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50103, 'Acorn', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50104, 'Big Fork', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50105, 'Black Fork', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50106, 'Dallas', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50107, 'Ink', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50108, 'Mena', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50109, 'Menos', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50110, 'Mountain Fork', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50111, 'Nunley', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50112, 'Potter', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50113, 'Potter Junction', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50114, 'Rocky', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50115, 'Yocana', 2781, '71953', '870', '34.590398', '-94.195043', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50116, 'Monticello', 2781, '71657', '870', '33.6286', '-91.7903', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50117, 'Lawson', 2781, '71750', '870', '33.1964', '-92.4828', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50118, 'Norphlet', 2781, '71759', '870', '33.32501', '-92.661608', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50119, 'Stephens', 2781, '71764', '870', '33.421707', '-93.033681', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50120, 'Blevins', 2781, '71825', '870', '33.901839', '-93.537113', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50121, 'Laneburg', 2781, '71857', '870', '33.839504', '-93.292167', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50122, 'Prescott', 2781, '71857', '870', '33.839504', '-93.292167', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50123, 'Reader', 2781, '71857', '870', '33.839504', '-93.292167', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50124, 'Okay', 2781, '71859', '870', '33.749422', '-93.93599', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50125, 'Saratoga', 2781, '71859', '870', '33.749422', '-93.93599', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50126, 'Willisville', 2781, '71864', '870', '33.49894', '-93.298516', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50127, 'Board Camp', 2781, '71932', '870', '34.5378', '-94.0956', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50128, 'Opal', 2781, '71932', '870', '34.5378', '-94.0956', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50129, 'Mount Ida', 2781, '71957', '870', '34.581222', '-93.661449', '2018-11-29 05:02:46', '2018-11-29 05:02:46'),\n(50130, 'Newhope', 2781, '71959', '870', '34.24923', '-93.881591', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50131, 'Wickes', 2781, '71973', '870', '34.310133', '-94.355807', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50132, 'Arkadelphia', 2781, '71998', '870', '34.127184', '-93.053511', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50133, 'Ouachita Baptist University', 2781, '71998', '870', '34.127184', '-93.053511', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50134, 'Balch', 2781, '72005', '870', '35.557875', '-91.089788', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50135, 'Benton', 2781, '72019', '501', '34.62428', '-92.672405', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50136, 'Bryant', 2781, '72019', '501', '34.62428', '-92.672405', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50137, 'Bradford', 2781, '72020', '501', '35.482353', '-91.48838', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50138, 'Conway', 2781, '72035', '501', '35.075725', '-92.458692', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50139, 'Uca', 2781, '72035', '501', '35.075725', '-92.458692', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50140, 'Univ Of Central', 2781, '72035', '501', '35.075725', '-92.458692', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50141, 'University Of Central Ar', 2781, '72035', '501', '35.075725', '-92.458692', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50142, 'Coy', 2781, '72037', '501', '34.5387', '-91.8739', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50143, 'Damascus', 2781, '72039', '501', '35.310296', '-92.41799', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50144, 'Gravesville', 2781, '72039', '501', '35.310296', '-92.41799', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50145, 'Martinville', 2781, '72039', '501', '35.310296', '-92.41799', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50146, 'Twin Groves', 2781, '72039', '501', '35.310296', '-92.41799', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50147, 'Houston', 2781, '72070', '501', '35.010786', '-92.708081', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50148, 'Oakgrove', 2781, '72070', '501', '35.010786', '-92.708081', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50149, 'Stony Point', 2781, '72070', '501', '35.010786', '-92.708081', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50150, 'Lonsdale', 2781, '72087', '501', '34.616999', '-92.843196', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50151, 'Owensville', 2781, '72087', '501', '34.616999', '-92.843196', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50152, 'Bryant', 2781, '72089', '501', '34.5956', '-92.4887', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50153, 'Mabelvale', 2781, '72103', '501', '34.582055', '-92.381846', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50154, 'Royal Oak', 2781, '72103', '501', '34.582055', '-92.381846', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50155, 'Shannon Hills', 2781, '72103', '501', '34.582055', '-92.381846', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50156, 'Brown Springs', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50157, 'Butterfield', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50158, 'Durian', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50159, 'Gifford', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50160, 'Glen Rose', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50161, 'Magnet Cove', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50162, 'Malvern', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50163, 'Perla', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50164, 'Rockport', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50165, 'Rolla', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50166, 'Social Hill', 2781, '72104', '501', '34.341836', '-92.905749', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50167, 'Jones Mill', 2781, '72105', '501', '34.434587', '-92.884961', '2018-11-29 05:02:47', '2018-11-29 05:02:47'),\n(50168, 'Malvern', 2781, '72105', '501', '34.434587', '-92.884961', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50169, 'N Little Rock', 2781, '72120', '501', '34.894327', '-92.238748', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50170, 'Nlr', 2781, '72120', '501', '34.894327', '-92.238748', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50171, 'No Little Rock', 2781, '72120', '501', '34.894327', '-92.238748', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50172, 'North Little Rock', 2781, '72120', '501', '34.894327', '-92.238748', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50173, 'Sherwood', 2781, '72120', '501', '34.894327', '-92.238748', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50174, 'Tupelo', 2781, '72169', '870', '35.39368', '-91.220493', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50175, 'Little Rock', 2781, '72204', '501', '34.710049', '-92.354565', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50176, 'Little Rock', 2781, '72205', '501', '34.744879', '-92.346546', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50177, 'Little Rock', 2781, '72219', '501', '34.7465', '-92.2894', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50178, 'Bba Solutions', 2781, '72255', '501', '0', '0', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50179, 'Little Rock', 2781, '72255', '501', '0', '0', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50180, 'West Memphis', 2781, '72303', '870', '35.1467', '-90.1847', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50181, 'Burdette', 2781, '72321', '870', '35.80677', '-89.999331', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50182, 'Tukertown', 2781, '72321', '870', '35.80677', '-89.999331', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50183, 'Caldwell', 2781, '72322', '870', '35.056154', '-90.828886', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50184, 'Forrest City', 2781, '72336', '870', '35.0085', '-90.7835', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50185, 'Lexa', 2781, '72355', '870', '34.545748', '-90.762018', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50186, 'Palestine', 2781, '72372', '870', '35.013649', '-90.943011', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50187, 'Vanndale', 2781, '72387', '870', '35.324464', '-90.771042', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50188, 'Pollard', 2781, '72456', '870', '36.436769', '-90.337571', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50189, 'Trumann', 2781, '72472', '870', '35.58669', '-90.552666', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50190, 'Batesville', 2781, '72503', '870', '35.7698', '-91.6409', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50191, 'Cave City', 2781, '72521', '870', '35.9403', '-91.50045', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50192, 'Rosie', 2781, '72571', '870', '35.636944', '-91.538019', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50193, 'Saffell', 2781, '72572', '870', '35.910684', '-91.289508', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50194, 'Sage', 2781, '72573', '870', '36.033357', '-91.8223', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50195, 'Compton', 2781, '72624', '870', '36.069031', '-93.33434', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50196, 'Cozahome', 2781, '72639', '870', '35.977714', '-92.50426', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50197, 'Harriet', 2781, '72639', '870', '35.977714', '-92.50426', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50198, 'Hasty', 2781, '72640', '870', '36.016918', '-93.046976', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50199, 'Mountain Home', 2781, '72654', '870', '36.3378', '-92.3767', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50200, 'Mtn Home', 2781, '72654', '870', '36.3378', '-92.3767', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50201, 'Bass', 2781, '72655', '870', '35.841192', '-93.053102', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50202, 'Mount Judea', 2781, '72655', '870', '35.841192', '-93.053102', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50203, 'Little Flock', 2781, '72756', '479', '36.322756', '-94.001661', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50204, 'Rogers', 2781, '72756', '479', '36.322756', '-94.001661', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50205, 'Rogers', 2781, '72757', '479', '36.3317', '-94.1183', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50206, 'Altus', 2781, '72821', '479', '35.461443', '-93.746955', '2018-11-29 05:02:48', '2018-11-29 05:02:48'),\n(50207, 'Wiederkehr Vg', 2781, '72821', '479', '35.461443', '-93.746955', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50208, 'Wiederkehr Village', 2781, '72821', '479', '35.461443', '-93.746955', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50209, 'Gravelly', 2781, '72838', '479', '34.890392', '-93.673529', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50210, 'Ozone', 2781, '72854', '870', '35.710527', '-93.421796', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50211, 'Ark City', 2781, '71630', '870', '33.583266', '-91.247204', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50212, 'Arkansas City', 2781, '71630', '870', '33.583266', '-91.247204', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50213, 'Carthage', 2781, '71725', '870', '34.022168', '-92.613886', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50214, 'Ivan', 2781, '71748', '870', '33.928388', '-92.445616', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50215, 'Thornton', 2781, '71766', '870', '33.749862', '-92.46365', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50216, 'Ben Lomond', 2781, '71823', '870', '33.811547', '-94.125242', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50217, 'Garland City', 2781, '71839', '870', '33.310897', '-93.753728', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50218, 'Arkadelphia', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50219, 'Caddo Valley', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50220, 'Dalark', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50221, 'Degray', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50222, 'Griffithtown', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50223, 'Gum Springs', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50224, 'Hearn', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50225, 'Hollywood', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50226, 'Joan', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50227, 'Richwood', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50228, 'West Gum Springs', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50229, 'Witherspoon', 2781, '71923', '870', '34.049477', '-93.08168', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50230, 'Kirby', 2781, '71950', '870', '34.219484', '-93.63939', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50231, 'Bigelow', 2781, '72016', '501', '34.997197', '-92.643809', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50232, 'Conway', 2781, '72016', '501', '34.997197', '-92.643809', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50233, 'Benton', 2781, '72018', '501', '34.5644', '-92.5864', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50234, 'Arkadelphia', 2781, '71999', '870', '34.127458', '-93.059032', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50235, 'Henderson State University', 2781, '71999', '870', '34.127458', '-93.059032', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50236, 'Adona', 2781, '72001', '501', '35.068766', '-92.905648', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50237, 'Benton', 2781, '72015', '501', '34.534538', '-92.62191', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50238, 'Bryant', 2781, '72015', '501', '34.534538', '-92.62191', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50239, 'Haskell', 2781, '72015', '501', '34.534538', '-92.62191', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50240, 'Tull', 2781, '72015', '501', '34.534538', '-92.62191', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50241, 'Carlisle', 2781, '72024', '870', '34.74584', '-91.742255', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50242, 'Hamilton', 2781, '72024', '870', '34.74584', '-91.742255', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50243, 'Alread', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50244, 'Botkinburg', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:49', '2018-11-29 05:02:49'),\n(50245, 'Clinton', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50246, 'Crabtree', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50247, 'Culpeper', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50248, 'Formosa', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50249, 'Koch Ridge', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50250, 'Plant', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50251, 'Rex', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50252, 'Rupert', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50253, 'Walnut Grove', 2781, '72031', '501', '35.56504', '-92.588855', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50254, 'Keo', 2781, '72083', '501', '34.589202', '-92.00233', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50255, 'Dabney', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50256, 'Hickory Hill', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50257, 'Lanty', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50258, 'Lewisburg', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50259, 'Morrilton', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50260, 'Oppelo', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50261, 'Riverview', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50262, 'Sandtown', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50263, 'Wesley Chapel', 2781, '72110', '501', '35.168496', '-92.79702', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50264, 'N Little Rock', 2781, '72115', '501', '34.7697', '-92.2669', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50265, 'No Little Rock', 2781, '72115', '501', '34.7697', '-92.2669', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50266, 'North Little Rock', 2781, '72115', '501', '34.7697', '-92.2669', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50267, 'Baucum', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50268, 'Booker', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50269, 'Galloway', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50270, 'Marche', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50271, 'Mcalmont', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50272, 'N L R', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50273, 'N Little Rock', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50274, 'N Lr', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50275, 'Nlr', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50276, 'No Little Rock', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50277, 'North Little Rock', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50278, 'Rixey', 2781, '72117', '501', '34.782052', '-92.15282', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50279, 'Natural Steps', 2781, '72135', '501', '34.90365', '-92.600732', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50280, 'Northpoint', 2781, '72135', '501', '34.90365', '-92.600732', '2018-11-29 05:02:50', '2018-11-29 05:02:50'),\n(50281, 'Pinnacle', 2781, '72135', '501', '34.90365', '-92.600732', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50282, 'Roland', 2781, '72135', '501', '34.90365', '-92.600732', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50283, 'Saint Charles', 2781, '72140', '870', '34.316616', '-91.104014', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50284, 'Hamiter', 2781, '72142', '501', '34.710004', '-92.073256', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50285, 'Kerr', 2781, '72142', '501', '34.710004', '-92.073256', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50286, 'Scott', 2781, '72142', '501', '34.710004', '-92.073256', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50287, 'Toltec', 2781, '72142', '501', '34.710004', '-92.073256', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50288, 'Thida', 2781, '72165', '870', '35.563117', '-91.44832', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50289, 'Camp Robinson', 2781, '72199', '501', '34.887273', '-92.318996', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50290, 'N Little Rock', 2781, '72199', '501', '34.887273', '-92.318996', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50291, 'Little Rock AFB', 2781, '72099', '501', '34.907709', '-92.137929', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50292, 'Little Rock Air Force Base', 2781, '72099', '501', '34.907709', '-92.137929', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50293, 'Lr AFB', 2781, '72099', '501', '34.907709', '-92.137929', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50294, 'Lrafb', 2781, '72099', '501', '34.907709', '-92.137929', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50295, 'Fair Oaks', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50296, 'Grays', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50297, 'Hillemann', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50298, 'Howell', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50299, 'Mc Crory', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50300, 'Mccrory', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50301, 'Morton', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50302, 'Pumpkin Bend', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50303, 'Riverside', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50304, 'Wiville', 2781, '72101', '870', '35.274058', '-91.158236', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50305, 'Monroe', 2781, '72108', '870', '34.73097', '-91.098903', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50306, 'N Little Rock', 2781, '72124', '501', '34.7697', '-92.2669', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50307, 'Nlr', 2781, '72124', '501', '34.7697', '-92.2669', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50308, 'No Little Rock', 2781, '72124', '501', '34.7697', '-92.2669', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50309, 'North Little Rock', 2781, '72124', '501', '34.7697', '-92.2669', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50310, 'Sherwood', 2781, '72124', '501', '34.7697', '-92.2669', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50311, 'Aplin', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50312, 'Cherry Hill', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50313, 'Deberrie', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:51', '2018-11-29 05:02:51'),\n(50314, 'Nimrod', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50315, 'Perryville', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50316, 'Thornburg', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50317, 'Williams Junction', 2781, '72126', '501', '34.900454', '-92.991545', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50318, 'Reydell', 2781, '72133', '870', '34.11588', '-91.520735', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50319, 'Harding University', 2781, '72149', '501', '35.24728', '-91.726791', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50320, 'Searcy', 2781, '72149', '501', '35.24728', '-91.726791', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50321, 'Fenter', 2781, '72167', '501', '34.429874', '-92.660636', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50322, 'Traskwood', 2781, '72167', '501', '34.429874', '-92.660636', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50323, 'Butlerville', 2781, '72176', '501', '34.99191', '-91.88751', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50324, 'Sylvania', 2781, '72176', '501', '34.99191', '-91.88751', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50325, 'Ward', 2781, '72176', '501', '34.99191', '-91.88751', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50326, 'Little Rock', 2781, '72201', '501', '34.746722', '-92.280058', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50327, 'Little Rock', 2781, '72217', '501', '34.7465', '-92.2894', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50328, 'Little Rock', 2781, '72260', '501', '34.7476', '-92.2814', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50329, 'Blytheville', 2781, '72315', '870', '35.892967', '-89.862262', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50330, 'Gosnell', 2781, '72315', '870', '35.892967', '-89.862262', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50331, 'Blytheville', 2781, '72319', '870', '35.959', '-89.9709', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50332, 'Gosnell', 2781, '72319', '870', '35.959', '-89.9709', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50333, 'Helena', 2781, '72342', '870', '34.469061', '-90.681076', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50334, 'Brookland', 2781, '72417', '870', '35.921793', '-90.535224', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50335, 'Manila', 2781, '72442', '870', '35.81259', '-90.18041', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50336, 'Maynard', 2781, '72444', '870', '36.398697', '-90.864461', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50337, 'O Kean', 2781, '72449', '870', '36.163138', '-90.825927', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50338, 'St University', 2781, '72467', '870', '35.954224', '-90.459967', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50339, 'State Univ', 2781, '72467', '870', '35.954224', '-90.459967', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50340, 'State University', 2781, '72467', '870', '35.954224', '-90.459967', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50341, 'Calamine', 2781, '72469', '870', '35.972328', '-91.3424', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50342, 'Strawberry', 2781, '72469', '870', '35.972328', '-91.3424', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50343, 'Walcott', 2781, '72474', '870', '36.0435', '-90.6712', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50344, 'Light', 2781, '72476', '870', '36.037536', '-90.910019', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50345, 'Walnut Ridge', 2781, '72476', '870', '36.037536', '-90.910019', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50346, 'Williams Baptist College', 2781, '72476', '870', '36.037536', '-90.910019', '2018-11-29 05:02:52', '2018-11-29 05:02:52'),\n(50347, 'Wms College', 2781, '72476', '870', '36.037536', '-90.910019', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50348, 'Calico Rock', 2781, '72519', '870', '36.136309', '-92.210689', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50349, 'Jordan', 2781, '72519', '870', '36.136309', '-92.210689', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50350, 'Cord', 2781, '72524', '870', '35.828948', '-91.308238', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50351, 'Cushman', 2781, '72526', '870', '35.874572', '-91.754944', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50352, 'Fifty Six', 2781, '72533', '870', '36.019812', '-92.213905', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50353, 'De Valls Blf', 2781, '72041', '870', '34.706934', '-91.536009', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50354, 'Phoenix', 2782, '85001', '623', '33.4486', '-112.0733', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50355, 'Phoenix', 2782, '85010', '602', '33.4486', '-112.0733', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50356, 'Phoenix', 2782, '85026', '928', '33.4526', '-112.0734', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50357, 'Phoenix', 2782, '85028', '602', '33.575779', '-112.009036', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50358, 'Phoenix', 2782, '85076', '602', '33.4486', '-112.0733', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50359, 'Phoenix', 2782, '85085', '520', '33.74981', '-112.113988', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50360, 'Apache Jct', 2782, '85119', '480', '33.419778', '-111.514859', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50361, 'Apache Junction', 2782, '85119', '480', '33.419778', '-111.514859', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50362, 'Casa Grande', 2782, '85194', '480', '32.911196', '-111.654148', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50363, 'Mesa', 2782, '85203', '480', '33.456665', '-111.812317', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50364, 'Chandler', 2782, '85226', '480', '33.266332', '-111.943009', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50365, 'Scottsdale', 2782, '85251', '480', '33.494096', '-111.922881', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50366, 'Paradise Valley', 2782, '85253', '480', '33.545998', '-111.969375', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50367, 'Paradise Vly', 2782, '85253', '480', '33.545998', '-111.969375', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50368, 'Scottsdale', 2782, '85253', '480', '33.545998', '-111.969375', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50369, 'Scottsdale', 2782, '85271', '480', '33.5093', '-111.8985', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50370, 'Tempe', 2782, '85285', '480', '33.4148', '-111.9088', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50371, 'Glendale', 2782, '85301', '623', '33.538168', '-112.185914', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50372, 'Cibola', 2782, '85328', '928', '33.545746', '-114.492629', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50373, 'El Mirage', 2782, '85335', '623', '33.590717', '-112.330897', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50374, 'Quartzsite', 2782, '85346', '928', '33.638698', '-114.273612', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50375, 'Yarnell', 2782, '85362', '928', '34.349196', '-112.589711', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50376, 'Sun City West', 2782, '85376', '623', '33.6088', '-112.2747', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50377, 'Peoria', 2782, '85385', '623', '33.6099', '-112.2261', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50378, 'Sun City', 2782, '85387', '623', '33.725264', '-112.458877', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50379, 'Sun City West', 2782, '85387', '623', '33.725264', '-112.458877', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50380, 'Surprise', 2782, '85387', '623', '33.725264', '-112.458877', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50381, 'Buckeye', 2782, '85396', '623', '33.551108', '-112.589754', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50382, 'Tonto Basin', 2782, '85553', '928', '33.785698', '-111.294654', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50383, 'Saint David', 2782, '85630', '520', '31.887796', '-110.21265', '2018-11-29 05:02:53', '2018-11-29 05:02:53'),\n(50384, 'Willcox', 2782, '85644', '520', '32.2528', '-109.8317', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50385, 'Rincon', 2782, '85710', '520', '32.213772', '-110.823808', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50386, 'Tucson', 2782, '85710', '520', '32.213772', '-110.823808', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50387, 'Oro Valley', 2782, '85737', '520', '32.401553', '-110.953036', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50388, 'Tucson', 2782, '85737', '520', '32.401553', '-110.953036', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50389, 'Ibm Corp', 2782, '85744', '520', '32.2217', '-110.9259', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50390, 'Tucson', 2782, '85744', '520', '32.2217', '-110.9259', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50391, 'Oro Valley', 2782, '85755', '520', '32.467676', '-110.984872', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50392, 'Tucson', 2782, '85755', '520', '32.467676', '-110.984872', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50393, 'Heber', 2782, '85928', '928', '34.447766', '-110.658009', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50394, 'Snowflake', 2782, '85937', '928', '34.594534', '-110.028422', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50395, 'Taylor', 2782, '85939', '928', '34.42527', '-110.070742', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50396, 'Holbrook', 2782, '86028', '928', '35.065836', '-109.783144', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50397, 'Petrified For', 2782, '86028', '928', '35.065836', '-109.783144', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50398, 'Petrified Forest Natl Pk', 2782, '86028', '928', '35.065836', '-109.783144', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50399, 'Bacobi', 2782, '86030', '928', '36.21339', '-110.528805', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50400, 'Hotevilla', 2782, '86030', '928', '36.21339', '-110.528805', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50401, 'Dennebito', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50402, 'Hard Rock', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50403, 'Hopi Indian Reservation', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50404, 'Kykotsmovi', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50405, 'Kykotsmovi Village', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50406, 'New Oraibi', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50407, 'Old Oraibi', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50408, 'Oraibi', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50409, 'Sand Springs', 2782, '86039', '928', '35.653866', '-110.500729', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50410, 'Williams', 2782, '86046', '928', '35.619576', '-112.531472', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50411, 'Iron Springs', 2782, '86305', '928', '34.71059', '-112.880866', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50412, 'Prescott', 2782, '86305', '928', '34.71059', '-112.880866', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50413, 'Prescott Valley', 2782, '86312', '928', '34.61', '-112.3153', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50414, 'Prescott Vly', 2782, '86312', '928', '34.61', '-112.3153', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50415, 'Bagdad', 2782, '86321', '928', '34.666998', '-113.188464', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50416, 'Seligman', 2782, '86337', '928', '35.136356', '-113.028553', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50417, 'Lake Havasu City', 2782, '86405', '928', '34.4838', '-114.3219', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50418, 'Lk Havasu Cty', 2782, '86405', '928', '34.4838', '-114.3219', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50419, 'Beaver Dam', 2782, '86432', '928', '36.375678', '-113.549619', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50420, 'Littlefield', 2782, '86432', '928', '36.375678', '-113.549619', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50421, 'Bullhead City', 2782, '86446', '928', '34.9268', '-114.5992', '2018-11-29 05:02:54', '2018-11-29 05:02:54'),\n(50422, 'Mohave Valley', 2782, '86446', '928', '34.9268', '-114.5992', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50423, 'Cornfields', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50424, 'Ganado', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50425, 'Greasewood', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50426, 'Hubbell Trading Post Nationa', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50427, 'Kin-Li-Chee', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50428, 'Klagetoh', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50429, 'Mennonite Mission', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50430, 'Navajo Station', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50431, 'Steamboat Canyon', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50432, 'Sunrise Springs', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50433, 'Toyei', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50434, 'Woodsprings', 2782, '86505', '928', '35.658432', '-109.523262', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50435, 'Los Angeles', 2783, '90005', '213', '34.058384', '-118.311342', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50436, 'Sanford', 2783, '90005', '213', '34.058384', '-118.311342', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50437, 'Los Angeles', 2783, '90025', '310', '34.045358', '-118.443574', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50438, 'W Los Angeles', 2783, '90025', '310', '34.045358', '-118.443574', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50439, 'West Los Angeles', 2783, '90025', '310', '34.045358', '-118.443574', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50440, 'Wla', 2783, '90025', '310', '34.045358', '-118.443574', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50441, 'Eagle Rock', 2783, '90041', '323', '34.1341', '-118.205333', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50442, 'Los Angeles', 2783, '90041', '323', '34.1341', '-118.205333', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50443, 'Los Angeles', 2783, '90050', '213', '34.0522', '-118.2429', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50444, 'Los Angeles', 2783, '90064', '310', '34.037084', '-118.427894', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50445, 'Rancho Park', 2783, '90064', '310', '34.037084', '-118.427894', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50446, 'Culver Cty', 2783, '90066', '310', '34.00015', '-118.432598', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50447, 'Los Angeles', 2783, '90066', '310', '34.00015', '-118.432598', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50448, 'Mar Vista', 2783, '90066', '310', '34.00015', '-118.432598', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50449, 'Los Angeles', 2783, '90082', '213', '34.0522', '-118.2429', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50450, 'Compton', 2783, '90223', '562', '33.8959', '-118.2192', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50451, 'Culver City', 2783, '90232', '310', '34.019322', '-118.393494', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50452, 'Downey', 2783, '90241', '562', '33.938979', '-118.125611', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50453, 'Manhattan Bch', 2783, '90266', '310', '33.889494', '-118.400897', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50454, 'Bradley International', 2783, '90045', '310', '33.955074', '-118.402', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50455, 'Los Angeles', 2783, '90045', '310', '33.955074', '-118.402', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50456, 'Playa Vista', 2783, '90045', '310', '33.955074', '-118.402', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50457, 'Westchester', 2783, '90045', '310', '33.955074', '-118.402', '2018-11-29 05:02:55', '2018-11-29 05:02:55'),\n(50458, 'Los Angeles', 2783, '90060', '323', '34.0522', '-118.2429', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50459, 'August F Haw', 2783, '90061', '323', '33.920602', '-118.273928', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50460, 'Los Angeles', 2783, '90061', '323', '33.920602', '-118.273928', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50461, 'South', 2783, '90061', '323', '33.920602', '-118.273928', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50462, 'Hazard', 2783, '90063', '323', '34.043832', '-118.187484', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50463, 'Los Angeles', 2783, '90063', '323', '34.043832', '-118.187484', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50464, 'Los Angeles', 2783, '90079', '213', '34.0529', '-118.2407', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50465, 'Textile Boxes', 2783, '90079', '213', '34.0529', '-118.2407', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50466, 'Los Angeles', 2783, '90093', '323', '34.0522', '-118.2429', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50467, 'Los Angeles', 2783, '90094', '323', '33.976228', '-118.417096', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50468, 'Playa Vista', 2783, '90094', '323', '33.976228', '-118.417096', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50469, 'Beverly Hills', 2783, '90211', '310', '34.064588', '-118.381369', '2018-11-29 05:02:56', '2018-11-29 05:02:56');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(50470, 'Beverly Hills', 2783, '90212', '310', '34.061062', '-118.402054', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50471, 'Gardena', 2783, '90247', '310', '33.894633', '-118.299208', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50472, 'Lawndale', 2783, '90260', '310', '33.887418', '-118.356098', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50473, 'Lynwood', 2783, '90262', '310', '33.925311', '-118.203077', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50474, 'Malibu', 2783, '90263', '310', '34.039856', '-118.707747', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50475, 'Malibu', 2783, '90264', '310', '34.0415', '-118.6365', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50476, 'Redondo Beach', 2783, '90278', '310', '33.874488', '-118.372031', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50477, 'Venice', 2783, '90294', '310', '33.9905', '-118.4595', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50478, 'Inglewood', 2783, '90310', '310', '33.9617', '-118.3523', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50479, 'Inglewood', 2783, '90312', '310', '33.9617', '-118.3523', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50480, 'Santa Monica', 2783, '90411', '310', '34.0195', '-118.4906', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50481, 'Cypress', 2783, '90630', '714', '33.818927', '-118.037008', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50482, 'Pico Rivera', 2783, '90662', '562', '33.9833', '-118.0958', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50483, 'Lakewood', 2783, '90713', '562', '33.850506', '-118.109299', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50484, 'C S U Dom Hls', 2783, '90747', '310', '33.862564', '-118.257241', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50485, 'Ca State Univ Dom Hills', 2783, '90747', '310', '33.862564', '-118.257241', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50486, 'Carson', 2783, '90747', '310', '33.862564', '-118.257241', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50487, 'Long Beach', 2783, '90747', '310', '33.862564', '-118.257241', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50488, 'Wilmington', 2783, '90748', '310', '33.78', '-118.2619', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50489, 'Long Beach', 2783, '90813', '562', '33.777769', '-118.203827', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50490, 'Carson', 2783, '90895', '562', '33.840247', '-118.218305', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50491, 'Lakeshore Learning', 2783, '90895', '562', '33.840247', '-118.218305', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50492, 'Long Beach', 2783, '90895', '562', '33.840247', '-118.218305', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50493, 'Monrovia', 2783, '91016', '626', '34.153509', '-117.974083', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50494, 'Pasadena', 2783, '91115', '626', '34.1478', '-118.1436', '2018-11-29 05:02:56', '2018-11-29 05:02:56'),\n(50495, 'Woodland Hills', 2783, '91364', '818', '34.154169', '-118.59944', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50496, 'Woodland Hls', 2783, '91364', '818', '34.154169', '-118.59944', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50497, 'Woodland Hills', 2783, '91365', '818', '34.1684', '-118.605', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50498, 'Woodland Hls', 2783, '91365', '818', '34.1684', '-118.605', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50499, 'Woodland Hills', 2783, '91367', '818', '34.174899', '-118.615271', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50500, 'Woodland Hls', 2783, '91367', '818', '34.174899', '-118.615271', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50501, 'Newhall', 2783, '91381', '661', '34.37075', '-118.616305', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50502, 'Santa Clarita', 2783, '91381', '661', '34.37075', '-118.616305', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50503, 'Stevenson Ranch', 2783, '91381', '661', '34.37075', '-118.616305', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50504, 'Stevenson Rnh', 2783, '91381', '661', '34.37075', '-118.616305', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50505, 'Valencia', 2783, '91381', '661', '34.37075', '-118.616305', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50506, 'Santa Clarita', 2783, '91382', '661', '34.3796', '-118.5278', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50507, 'N Hollywood', 2783, '91617', '818', '34.1722', '-118.3782', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50508, 'Firestone Park', 2783, '90001', '323', '33.973593', '-118.247897', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50509, 'Firestone Pk', 2783, '90001', '323', '33.973593', '-118.247897', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50510, 'Los Angeles', 2783, '90001', '323', '33.973593', '-118.247897', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50511, 'Los Angeles', 2783, '90002', '323', '33.949009', '-118.245976', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50512, 'Watts', 2783, '90002', '323', '33.949009', '-118.245976', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50513, 'Los Angeles', 2783, '90004', '323', '34.076067', '-118.310767', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50514, 'Oakwood', 2783, '90004', '323', '34.076067', '-118.310767', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50515, 'Los Angeles', 2783, '90035', '310', '34.052107', '-118.385271', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50516, 'Preuss', 2783, '90035', '310', '34.052107', '-118.385271', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50517, 'Los Angeles', 2783, '90052', '213', '34.0522', '-118.2429', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50518, 'Los Angeles', 2783, '90054', '213', '34.0522', '-118.2429', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50519, 'Los Angeles', 2783, '90069', '310', '34.094175', '-118.38091', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50520, 'W Hollywood', 2783, '90069', '310', '34.094175', '-118.38091', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50521, 'West Hollywood', 2783, '90069', '310', '34.094175', '-118.38091', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50522, 'Los Angeles', 2783, '90086', '213', '34.0522', '-118.2429', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50523, 'Los Angeles', 2783, '90088', '213', '34.0522', '-118.2429', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50524, 'Wells Fargo', 2783, '90088', '213', '34.0522', '-118.2429', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50525, 'Compton', 2783, '90221', '310', '33.880072', '-118.201276', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50526, 'E Rncho Dmngz', 2783, '90221', '310', '33.880072', '-118.201276', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50527, 'East Rancho Dominguez', 2783, '90221', '310', '33.880072', '-118.201276', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50528, 'Hermosa Beach', 2783, '90254', '310', '33.864786', '-118.397186', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50529, 'Huntington Park', 2783, '90255', '323', '33.977482', '-118.212979', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50530, 'Huntington Pk', 2783, '90255', '323', '33.977482', '-118.212979', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50531, 'Walnut Park', 2783, '90255', '323', '33.977482', '-118.212979', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50532, 'Bell Gardens', 2783, '90270', '323', '33.988426', '-118.187323', '2018-11-29 05:02:57', '2018-11-29 05:02:57'),\n(50533, 'Maywood', 2783, '90270', '323', '33.988426', '-118.187323', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50534, 'Pacific Palisades', 2783, '90272', '310', '34.078345', '-118.5475', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50535, 'Pacific Plsds', 2783, '90272', '310', '34.078345', '-118.5475', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50536, 'Inglewood', 2783, '90304', '310', '33.934563', '-118.361284', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50537, 'Lennox', 2783, '90304', '310', '33.934563', '-118.361284', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50538, 'Inglewood', 2783, '90305', '323', '33.959984', '-118.33094', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50539, 'Santa Monica', 2783, '90402', '310', '34.035004', '-118.502192', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50540, 'Santa Monica', 2783, '90404', '310', '34.02684', '-118.471847', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50541, 'Torrance', 2783, '90504', '310', '33.872637', '-118.331348', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50542, 'Buena Park', 2783, '90620', '714', '33.841658', '-118.007763', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50543, 'La Mirada', 2783, '90638', '562', '33.900831', '-118.007176', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50544, 'Lamirada', 2783, '90638', '562', '33.900831', '-118.007176', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50545, 'Mirada', 2783, '90638', '562', '33.900831', '-118.007176', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50546, 'Biola University', 2783, '90639', '562', '33.906793', '-118.015356', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50547, 'La Mirada', 2783, '90639', '562', '33.906793', '-118.015356', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50548, 'Montebello', 2783, '90640', '323', '34.007912', '-118.107451', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50549, 'Avalon', 2783, '90704', '310', '33.391487', '-118.448455', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50550, 'Catalina', 2783, '90704', '310', '33.391487', '-118.448455', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50551, 'Santa Catalina', 2783, '90704', '310', '33.391487', '-118.448455', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50552, 'Long Beach', 2783, '90806', '562', '33.810948', '-118.174942', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50553, 'Bixby Knolls', 2783, '90807', '562', '33.830707', '-118.175336', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50554, 'Long Beach', 2783, '90807', '562', '33.830707', '-118.175336', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50555, 'Signal Hill', 2783, '90807', '562', '33.830707', '-118.175336', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50556, 'Montrose', 2783, '91021', '818', '34.2067', '-118.2236', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50557, 'Pasadena', 2783, '91105', '626', '34.144298', '-118.168104', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50558, 'Pasadena', 2783, '91107', '626', '34.162012', '-118.08942', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50559, 'J P Morgan', 2783, '91189', '626', '34.1478', '-118.1436', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50560, 'Pasadena', 2783, '91189', '626', '34.1478', '-118.1436', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50561, 'Glendale', 2783, '91205', '818', '34.134615', '-118.24156', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50562, 'Glendale', 2783, '91206', '818', '34.166494', '-118.218728', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50563, 'Glendale', 2783, '91221', '818', '34.1427', '-118.2544', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50564, 'Del Valle Finance', 2783, '90015', '213', '34.040499', '-118.267022', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50565, 'Dowtown Carrier Annex', 2783, '90015', '213', '34.040499', '-118.267022', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50566, 'Los Angeles', 2783, '90015', '213', '34.040499', '-118.267022', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50567, 'Textile Finance', 2783, '90015', '213', '34.040499', '-118.267022', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50568, 'Los Angeles', 2783, '90024', '310', '34.065677', '-118.434088', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50569, 'Village', 2783, '90024', '310', '34.065677', '-118.434088', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50570, 'Lincoln Heights', 2783, '90031', '323', '34.07913', '-118.218128', '2018-11-29 05:02:58', '2018-11-29 05:02:58'),\n(50571, 'Lincoln Hts', 2783, '90031', '323', '34.07913', '-118.218128', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50572, 'Los Angeles', 2783, '90031', '323', '34.07913', '-118.218128', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50573, 'Boyle Heights', 2783, '90033', '323', '34.049662', '-118.211313', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50574, 'Los Angeles', 2783, '90033', '323', '34.049662', '-118.211313', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50575, 'Barrington', 2783, '90049', '310', '34.086348', '-118.48826', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50576, 'Los Angeles', 2783, '90049', '310', '34.086348', '-118.48826', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50577, 'Baldwin Hills', 2783, '90056', '310', '33.994486', '-118.374313', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50578, 'Crenshaw', 2783, '90056', '310', '33.994486', '-118.374313', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50579, 'Los Angeles', 2783, '90056', '310', '33.994486', '-118.374313', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50580, 'Windsor Hills', 2783, '90056', '310', '33.994486', '-118.374313', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50581, 'Glassell', 2783, '90065', '323', '34.111484', '-118.228648', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50582, 'Glassell Park', 2783, '90065', '323', '34.111484', '-118.228648', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50583, 'Los Angeles', 2783, '90065', '323', '34.111484', '-118.228648', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50584, 'Bank Of America', 2783, '90074', '213', '34.0522', '-118.2429', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50585, 'Los Angeles', 2783, '90074', '213', '34.0522', '-118.2429', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50586, 'Dodgertown', 2783, '90090', '213', '34.072662', '-118.245296', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50587, 'Los Angeles', 2783, '90090', '213', '34.072662', '-118.245296', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50588, 'Los Angeles Dodgers', 2783, '90090', '213', '34.072662', '-118.245296', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50589, 'Los Angeles', 2783, '90101', '213', '34.0588', '-118.2478', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50590, 'Compton', 2783, '90224', '310', '33.8959', '-118.2192', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50591, 'Rancho Dominguez', 2783, '90224', '310', '33.8959', '-118.2192', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50592, 'Rncho Domingz', 2783, '90224', '310', '33.8959', '-118.2192', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50593, 'Gardena', 2783, '90249', '310', '33.899712', '-118.317669', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50594, 'Hawthorne', 2783, '90251', '310', '33.9167', '-118.3514', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50595, 'Palos Verdes Estates', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50596, 'Palos Verdes Peninsula', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50597, 'Pls Vrds Est', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50598, 'Pls Vrds Pnsl', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50599, 'Rllng Hls Est', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50600, 'Rolling Hills', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50601, 'Rolling Hills Estates', 2783, '90274', '310', '33.7734', '-118.372012', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50602, 'Topanga', 2783, '90290', '310', '34.089936', '-118.609224', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50603, 'Inglewood', 2783, '90306', '310', '33.9617', '-118.3523', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50604, 'Inglewood', 2783, '90308', '310', '33.9617', '-118.3523', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50605, 'Santa Monica', 2783, '90401', '310', '34.01533', '-118.493592', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50606, 'Torrance', 2783, '90501', '310', '33.830237', '-118.313538', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50607, 'Torrance', 2783, '90508', '310', '33.8355', '-118.3399', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50608, 'Whittier', 2783, '90608', '818', '33.9792', '-118.0317', '2018-11-29 05:02:59', '2018-11-29 05:02:59'),\n(50609, 'Buena Park', 2783, '90624', '714', '33.8677', '-117.9974', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50610, 'Norwalk', 2783, '90651', '562', '33.9024', '-118.0806', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50611, 'Wilmington', 2783, '90744', '310', '33.778916', '-118.25927', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50612, 'Carson', 2783, '90749', '310', '33.8317', '-118.2811', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50613, 'Long Beach', 2783, '90749', '310', '33.8317', '-118.2811', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50614, 'Belmont Shore', 2783, '90803', '562', '33.759576', '-118.13021', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50615, 'Long Beach', 2783, '90803', '562', '33.759576', '-118.13021', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50616, 'Naples', 2783, '90803', '562', '33.759576', '-118.13021', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50617, 'Cabrillo', 2783, '90810', '562', '33.818316', '-118.223102', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50618, 'Carson', 2783, '90810', '562', '33.818316', '-118.223102', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50619, 'Dominguez', 2783, '90810', '562', '33.818316', '-118.223102', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50620, 'Long Beach', 2783, '90810', '562', '33.818316', '-118.223102', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50621, 'Long Beach', 2783, '90833', '424', '33.7808', '-118.1589', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50622, 'Long Beach', 2783, '90853', '562', '33.7668', '-118.1886', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50623, 'Altadena', 2783, '91001', '626', '34.196307', '-118.135582', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50624, 'Altadena', 2783, '91003', '626', '34.1897', '-118.1303', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50625, 'Pasadena', 2783, '91101', '626', '34.146829', '-118.138157', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50626, 'Glendale', 2783, '91210', '818', '34.1445', '-118.2567', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50627, 'Glendale Galleria', 2783, '91210', '818', '34.1445', '-118.2567', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50628, 'Glendale', 2783, '91226', '818', '34.1427', '-118.2544', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50629, 'Agoura', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50630, 'Agoura Hills', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50631, 'Calabasas', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50632, 'Calabasas Hills', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50633, 'Calabasas Hls', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50634, 'Cornell', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50635, 'Oak Park', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50636, 'Los Angeles', 2783, '90006', '213', '34.047604', '-118.292271', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50637, 'Pico Heights', 2783, '90006', '213', '34.047604', '-118.292271', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50638, 'Commerce', 2783, '90022', '323', '34.029386', '-118.151264', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50639, 'East Los Angeles', 2783, '90022', '323', '34.029386', '-118.151264', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50640, 'Est Ls Angls', 2783, '90022', '323', '34.029386', '-118.151264', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50641, 'Los Angeles', 2783, '90022', '323', '34.029386', '-118.151264', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50642, 'Century City', 2783, '90067', '310', '34.05775', '-118.4138', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50643, 'Los Angeles', 2783, '90067', '310', '34.05775', '-118.4138', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50644, 'Los Angeles', 2783, '90072', '213', '34.0522', '-118.2429', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50645, 'Santa Western', 2783, '90072', '213', '34.0522', '-118.2429', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50646, 'Los Angeles', 2783, '90076', '323', '34.0522', '-118.2429', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50647, 'Los Angeles', 2783, '90083', '213', '34.0522', '-118.2429', '2018-11-29 05:03:00', '2018-11-29 05:03:00'),\n(50648, 'Bar Code Term Annex', 2783, '90099', '818', '34.0597', '-118.2489', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50649, 'Los Angeles', 2783, '90099', '818', '34.0597', '-118.2489', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50650, 'Los Angeles Brm', 2783, '90099', '818', '34.0597', '-118.2489', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50651, 'Culver City', 2783, '90231', '310', '34.0212', '-118.3956', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50652, 'Culver City', 2783, '90233', '310', '34.0212', '-118.3956', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50653, 'Marina Del Rey', 2783, '90292', '310', '33.977854', '-118.445271', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50654, 'Marina Dl Rey', 2783, '90292', '310', '33.977854', '-118.445271', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50655, 'Venice', 2783, '90292', '310', '33.977854', '-118.445271', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50656, 'Santa Monica', 2783, '90408', '310', '34.0195', '-118.4906', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50657, 'Los Angeles', 2783, '90010', '213', '34.063288', '-118.312069', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50658, 'Sanford', 2783, '90010', '213', '34.063288', '-118.312069', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50659, 'Hollywood', 2783, '90027', '323', '34.128046', '-118.289065', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50660, 'Los Angeles', 2783, '90027', '323', '34.128046', '-118.289065', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50661, 'Los Feliz', 2783, '90027', '323', '34.128046', '-118.289065', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50662, 'Hollywood', 2783, '90028', '323', '34.099603', '-118.327532', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50663, 'Los Angeles', 2783, '90028', '323', '34.099603', '-118.327532', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50664, 'Los Angeles', 2783, '90062', '323', '34.003654', '-118.309719', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50665, 'Westvern', 2783, '90062', '323', '34.003654', '-118.309719', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50666, 'Barrington', 2783, '90077', '310', '34.102676', '-118.452472', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50667, 'Los Angeles', 2783, '90077', '310', '34.102676', '-118.452472', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50668, 'Los Angeles', 2783, '90096', '323', '34.0765', '-118.2093', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50669, 'Shared Firm Zip Code', 2783, '90096', '323', '34.0765', '-118.2093', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50670, 'El Segundo', 2783, '90245', '310', '33.916064', '-118.404075', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50671, 'South Gate', 2783, '90280', '323', '33.938527', '-118.190404', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50672, 'Marina Del Rey', 2783, '90295', '310', '33.9813', '-118.4387', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50673, 'Marina Dl Rey', 2783, '90295', '310', '33.9813', '-118.4387', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50674, 'Venice', 2783, '90295', '310', '33.9813', '-118.4387', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50675, 'Playa Del Rey', 2783, '90296', '310', '33.9487', '-118.4449', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50676, 'Venice', 2783, '90296', '310', '33.9487', '-118.4449', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50677, 'Inglewood', 2783, '90311', '310', '33.9609', '-118.3514', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50678, 'La Habra', 2783, '90631', '562', '33.939338', '-117.955881', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50679, 'La Habra Heights', 2783, '90631', '562', '33.939338', '-117.955881', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50680, 'La Habra Hgts', 2783, '90631', '562', '33.939338', '-117.955881', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50681, 'La Habra Hts', 2783, '90631', '562', '33.939338', '-117.955881', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50682, 'Pico Rivera', 2783, '90661', '562', '33.9833', '-118.0958', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50683, 'Stanton', 2783, '90680', '714', '33.795232', '-117.998295', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50684, 'Lakewood', 2783, '90712', '562', '33.845386', '-118.146368', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50685, 'Lakewood', 2783, '90714', '562', '33.8539', '-118.1333', '2018-11-29 05:03:01', '2018-11-29 05:03:01'),\n(50686, 'Long Beach', 2783, '90814', '562', '33.771097', '-118.142338', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50687, 'Long Beach', 2783, '90815', '562', '33.793544', '-118.114442', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50688, 'Long Beach', 2783, '90832', '562', '33.7668', '-118.1886', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50689, 'S Pasadena', 2783, '91030', '626', '34.113024', '-118.156517', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50690, 'South Pasadena', 2783, '91030', '626', '34.113024', '-118.156517', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50691, 'S Pasadena', 2783, '91031', '626', '34.1162', '-118.1497', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50692, 'South Pasadena', 2783, '91031', '626', '34.1162', '-118.1497', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50693, 'Arcadia', 2783, '91066', '626', '34.1398', '-118.0346', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50694, 'Ambassador I C Foundation', 2783, '91129', '626', '34.1478', '-118.1436', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50695, 'Pasadena', 2783, '91129', '626', '34.1478', '-118.1436', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50696, 'Fuller Theological Seminary', 2783, '91182', '626', '34.1478', '-118.1436', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50697, 'Pasadena', 2783, '91182', '626', '34.1478', '-118.1436', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50698, 'City National Bank', 2783, '91199', '626', '34.17', '-118.12', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50699, 'Pasadena', 2783, '91199', '626', '34.17', '-118.12', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50700, 'Glendale', 2783, '91214', '818', '34.231248', '-118.245509', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50701, 'La Crescenta', 2783, '91214', '818', '34.231248', '-118.245509', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50702, 'Chatsworth', 2783, '91313', '818', '34.2575', '-118.6005', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50703, 'Los Angeles', 2783, '90011', '323', '34.009842', '-118.258642', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50704, 'Federal', 2783, '90012', '213', '34.065549', '-118.24054', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50705, 'Los Angeles', 2783, '90012', '213', '34.065549', '-118.24054', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50706, 'Los Angeles', 2783, '90029', '323', '34.089679', '-118.292618', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50707, 'Vermont', 2783, '90029', '323', '34.089679', '-118.292618', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50708, 'Los Angeles', 2783, '90030', '213', '34.0522', '-118.2429', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50709, 'August F Haw', 2783, '90044', '323', '33.953125', '-118.291963', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50710, 'Hancock', 2783, '90044', '323', '33.953125', '-118.291963', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50711, 'Los Angeles', 2783, '90044', '323', '33.953125', '-118.291963', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50712, 'Encino', 2783, '91316', '818', '34.162104', '-118.516442', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50713, 'Van Nuys', 2783, '91316', '818', '34.162104', '-118.516442', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50714, 'Arleta', 2783, '91331', '818', '34.256679', '-118.418553', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50715, 'Hansen Hills', 2783, '91331', '818', '34.256679', '-118.418553', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50716, 'Lakeview Terrace', 2783, '91331', '818', '34.256679', '-118.418553', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50717, 'Pacoima', 2783, '91331', '818', '34.256679', '-118.418553', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50718, 'Pacoima', 2783, '91333', '818', '34.2628', '-118.4264', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50719, 'Agua Dulce', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50720, 'Bouquet Canyon', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50721, 'Green Valley', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50722, 'Mint Canyon', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:02', '2018-11-29 05:03:02'),\n(50723, 'Santa Clarita', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50724, 'Saugus', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50725, 'Sleepy Valley', 2783, '91350', '661', '34.424243', '-118.507344', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50726, 'Santa Clarita', 2783, '91383', '661', '34.4309', '-118.57', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50727, 'Deluxe Check', 2783, '91482', '818', '34.1869', '-118.4484', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50728, 'Van Nuys', 2783, '91482', '818', '34.1869', '-118.4484', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50729, 'N Hollywood', 2783, '91614', '818', '34.1722', '-118.3782', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50730, 'North Hollywood', 2783, '91614', '818', '34.1722', '-118.3782', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50731, 'Studio City', 2783, '91614', '818', '34.1722', '-118.3782', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50732, 'N Hollywood', 2783, '91616', '818', '34.1722', '-118.3782', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50733, 'North Hollywood', 2783, '91616', '818', '34.1722', '-118.3782', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50734, 'Alta Loma', 2783, '91701', '909', '34.146419', '-117.591137', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50735, 'Rancho Cucamonga', 2783, '91701', '909', '34.146419', '-117.591137', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50736, 'Rch Cucamonga', 2783, '91701', '909', '34.146419', '-117.591137', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50737, 'City Industry', 2783, '91714', '626', '34.0945', '-118.1256', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50738, 'City Of Industry', 2783, '91714', '626', '34.0945', '-118.1256', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50739, 'El Monte', 2783, '91731', '626', '34.07994', '-118.045357', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50740, 'El Monte', 2783, '91734', '626', '34.0689', '-118.0268', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50741, 'City Industry', 2783, '91748', '626', '33.979848', '-117.903167', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50742, 'City Of Industry', 2783, '91748', '626', '33.979848', '-117.903167', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50743, 'La Puente', 2783, '91748', '626', '33.979848', '-117.903167', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50744, 'Rowland Heights', 2783, '91748', '626', '33.979848', '-117.903167', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50745, 'Rowland Hghts', 2783, '91748', '626', '33.979848', '-117.903167', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50746, 'Rowland Hgts', 2783, '91748', '626', '33.979848', '-117.903167', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50747, 'Pomona', 2783, '91767', '909', '34.085676', '-117.735111', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50748, 'Upland', 2783, '91784', '909', '34.14987', '-117.65723', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50749, 'Alhambra', 2783, '91801', '626', '34.090526', '-118.134604', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50750, 'Imperial Bch', 2783, '91932', '619', '32.572114', '-117.113381', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50751, 'Imperial Beach', 2783, '91932', '619', '32.572114', '-117.113381', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50752, 'Jacumba', 2783, '91934', '619', '32.63496', '-116.192646', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50753, 'Jamul', 2783, '91935', '619', '32.67617', '-116.804753', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50754, 'Mount Laguna', 2783, '91948', '619', '32.841014', '-116.445713', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50755, 'Lincoln Acres', 2783, '91950', '619', '32.666812', '-117.088848', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50756, 'National City', 2783, '91950', '619', '32.666812', '-117.088848', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50757, 'Oceanside', 2783, '92051', '760', '33.1959', '-117.3789', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50758, 'Santa Monica', 2783, '90410', '310', '34.0195', '-118.4906', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50759, 'Torrance', 2783, '90510', '818', '33.8355', '-118.3399', '2018-11-29 05:03:03', '2018-11-29 05:03:03'),\n(50760, 'City Industry', 2783, '90601', '562', '34.00327', '-118.026117', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50761, 'City Of Industry', 2783, '90601', '562', '34.00327', '-118.026117', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50762, 'Pico Rivera', 2783, '90601', '562', '34.00327', '-118.026117', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50763, 'Whittier', 2783, '90601', '562', '34.00327', '-118.026117', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50764, 'Los Nietos', 2783, '90610', '562', '33.9685', '-118.0698', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50765, 'Whittier', 2783, '90610', '562', '33.9685', '-118.0698', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50766, 'La Habra', 2783, '90633', '562', '33.9319', '-117.9455', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50767, 'Pico Rivera', 2783, '90660', '562', '33.986641', '-118.086329', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50768, 'Artesia', 2783, '90701', '562', '33.866827', '-118.080138', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50769, 'Cerritos', 2783, '90701', '562', '33.866827', '-118.080138', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50770, 'San Pedro', 2783, '90733', '310', '33.7358', '-118.2916', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50771, 'Sunset Beach', 2783, '90742', '562', '33.717789', '-118.071046', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50772, 'Long Beach', 2783, '90801', '626', '33.7668', '-118.1886', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50773, 'Long Beach', 2783, '90808', '562', '33.828732', '-118.110168', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50774, 'Department Of Gas & Water', 2783, '90842', '562', '33.7668', '-118.1886', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50775, 'Long Beach', 2783, '90842', '562', '33.7668', '-118.1886', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50776, 'Long Beach', 2783, '90844', '562', '33.7668', '-118.1886', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50777, 'Press Telegram', 2783, '90844', '562', '33.7668', '-118.1886', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50778, 'Bradbury', 2783, '91008', '626', '34.154308', '-117.968588', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50779, 'Duarte', 2783, '91008', '626', '34.154308', '-117.968588', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50780, 'Bradbury', 2783, '91010', '626', '34.141507', '-117.957065', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50781, 'Duarte', 2783, '91010', '626', '34.141507', '-117.957065', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50782, 'Irwindale', 2783, '91010', '626', '34.141507', '-117.957065', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50783, 'Tujunga', 2783, '91042', '818', '34.280082', '-118.235202', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50784, 'Pasadena', 2783, '91103', '626', '34.167659', '-118.169566', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50785, 'Pasadena', 2783, '91117', '626', '34.1478', '-118.1436', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50786, 'Mellon Regional Lockbox Netw', 2783, '91185', '626', '34.1478', '-118.1436', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50787, 'Pasadena', 2783, '91185', '626', '34.1478', '-118.1436', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50788, 'Glendale', 2783, '91201', '818', '34.171454', '-118.291629', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50789, 'Castaic', 2783, '91310', '661', '34.4864', '-118.5786', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50790, 'Santa Clarita', 2783, '91310', '661', '34.4864', '-118.5786', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50791, 'Newbury Park', 2783, '91319', '805', '34.1843', '-118.9097', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50792, 'Thousand Oaks', 2783, '91319', '805', '34.1843', '-118.9097', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50793, 'Northridge', 2783, '91328', '818', '34.2284', '-118.5356', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50794, 'Reseda', 2783, '91337', '213', '34.2012', '-118.5356', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50795, 'Kagel Canyon', 2783, '91342', '818', '34.350182', '-118.302561', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50796, 'Lake View Ter', 2783, '91342', '818', '34.350182', '-118.302561', '2018-11-29 05:03:04', '2018-11-29 05:03:04'),\n(50797, 'Saratoga Hills', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50798, 'Saratoga Hls', 2783, '91301', '818', '34.143464', '-118.763206', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50799, 'Friendly Valley', 2783, '91321', '661', '34.360423', '-118.462416', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50800, 'Newhall', 2783, '91321', '661', '34.360423', '-118.462416', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50801, 'Santa Clarita', 2783, '91321', '661', '34.360423', '-118.462416', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50802, 'Northridge', 2783, '91326', '818', '34.280752', '-118.557341', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50803, 'Porter Ranch', 2783, '91326', '818', '34.280752', '-118.557341', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50804, 'Sun Valley', 2783, '91353', '818', '34.2177', '-118.3694', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50805, 'Thousand Oaks', 2783, '91360', '805', '34.213406', '-118.88138', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50806, 'Pierce College', 2783, '91371', '818', '34.183567', '-118.579743', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50807, 'Woodland Hills', 2783, '91371', '818', '34.183567', '-118.579743', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50808, 'Woodland Hls', 2783, '91371', '818', '34.183567', '-118.579743', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50809, 'Agoura', 2783, '91376', '818', '34.1232', '-118.77', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50810, 'Agoura Hills', 2783, '91376', '818', '34.1232', '-118.77', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50811, 'Santa Clarita', 2783, '91385', '818', '34.2007', '-118.5393', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50812, 'Valencia', 2783, '91385', '818', '34.2007', '-118.5393', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50813, 'Canoga Park', 2783, '91396', '818', '34.2083', '-118.5752', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50814, 'Winnetka', 2783, '91396', '818', '34.2083', '-118.5752', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50815, 'Sherman Oaks', 2783, '91403', '818', '34.145572', '-118.466216', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50816, 'Van Nuys', 2783, '91403', '818', '34.145572', '-118.466216', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50817, 'Van Nuys', 2783, '91410', '818', '34.1869', '-118.4484', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50818, 'Us Purchasing Exchange', 2783, '91496', '818', '34.1869', '-118.4484', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50819, 'Van Nuys', 2783, '91496', '818', '34.1869', '-118.4484', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50820, 'N Hollywood', 2783, '91610', '818', '34.1722', '-118.3782', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50821, 'North Hollywood', 2783, '91610', '818', '34.1722', '-118.3782', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50822, 'Toluca Lake', 2783, '91610', '818', '34.1722', '-118.3782', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50823, 'N Hollywood', 2783, '91612', '818', '34.1722', '-118.3782', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50824, 'North Hollywood', 2783, '91612', '818', '34.1722', '-118.3782', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50825, 'Us Purchasing Exchange', 2783, '91612', '818', '34.1722', '-118.3782', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50826, 'Cucamonga', 2783, '91730', '909', '34.099404', '-117.576336', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50827, 'Rancho Cucamonga', 2783, '91730', '909', '34.099404', '-117.576336', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50828, 'Rch Cucamonga', 2783, '91730', '909', '34.099404', '-117.576336', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50829, 'El Monte', 2783, '91735', '626', '34.0689', '-118.0268', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50830, 'Wells Fargo Bank', 2783, '91735', '626', '34.0689', '-118.0268', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50831, 'Alta Loma', 2783, '91737', '909', '34.152626', '-117.579114', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50832, 'Rancho Cucamonga', 2783, '91737', '909', '34.152626', '-117.579114', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50833, 'Rch Cucamonga', 2783, '91737', '909', '34.152626', '-117.579114', '2018-11-29 05:03:05', '2018-11-29 05:03:05'),\n(50834, 'Rosemead', 2783, '91771', '626', '34.0806', '-118.0716', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50835, 'So Cal Edison Co', 2783, '91771', '626', '34.0806', '-118.0716', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50836, 'San Gabriel', 2783, '91778', '626', '34.0962', '-118.1052', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50837, 'Alhambra', 2783, '91896', '626', '34.0954', '-118.1263', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50838, 'Chula Vista', 2783, '91912', '619', '32.6403', '-117.0834', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50839, 'Chula Vista', 2783, '91921', '619', '32.6474', '-117.0549', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50840, 'Pine Valley', 2783, '91962', '619', '32.813033', '-116.46233', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50841, 'Glendale', 2783, '91222', '818', '34.1427', '-118.2544', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50842, 'Glendale', 2783, '91224', '818', '34.1427', '-118.2544', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50843, 'La Crescenta', 2783, '91224', '818', '34.1427', '-118.2544', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50844, 'Glendale', 2783, '91225', '818', '34.1427', '-118.2544', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50845, 'Canoga Park', 2783, '91305', '818', '34.2012', '-118.5975', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50846, 'Canoga Park', 2783, '91306', '818', '34.210587', '-118.575386', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50847, 'Winnetka', 2783, '91306', '818', '34.210587', '-118.575386', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50848, 'Northridge', 2783, '91325', '818', '34.233017', '-118.519216', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50849, 'Sherwood Forest', 2783, '91325', '818', '34.233017', '-118.519216', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50850, 'Sherwood Frst', 2783, '91325', '818', '34.233017', '-118.519216', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50851, 'Santa Clarita', 2783, '91355', '661', '34.420919', '-118.606354', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50852, 'Valencia', 2783, '91355', '661', '34.420919', '-118.606354', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50853, 'Thousand Oaks', 2783, '91358', '805', '34.1707', '-118.8364', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50854, 'Calabasas', 2783, '91372', '818', '34.1575', '-118.6375', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50855, 'Woodland Hills', 2783, '91372', '818', '34.1575', '-118.6375', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50856, 'Woodland Hls', 2783, '91372', '818', '34.1575', '-118.6375', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50857, 'Sherman Oaks', 2783, '91423', '818', '34.146527', '-118.431076', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50858, 'Van Nuys', 2783, '91423', '818', '34.146527', '-118.431076', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50859, 'Burbank', 2783, '91505', '818', '34.178106', '-118.347839', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50860, 'Burbank', 2783, '91507', '818', '34.1808', '-118.3083', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50861, 'Magnolia Park', 2783, '91507', '818', '34.1808', '-118.3083', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50862, 'Burbank', 2783, '91522', '818', '34.148504', '-118.336966', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50863, 'Burbank Studios', 2783, '91522', '818', '34.148504', '-118.336966', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50864, 'Burbank', 2783, '91523', '818', '34.154588', '-118.333212', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50865, 'Nbc Tv Network', 2783, '91523', '818', '34.154588', '-118.333212', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50866, 'N Hollywood', 2783, '91606', '818', '34.186684', '-118.390718', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50867, 'North Hollywood', 2783, '91606', '818', '34.186684', '-118.390718', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50868, 'Valley Glen', 2783, '91606', '818', '34.186684', '-118.390718', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50869, 'N Hollywood', 2783, '91608', '818', '34.137606', '-118.353032', '2018-11-29 05:03:06', '2018-11-29 05:03:06'),\n(50870, 'North Hollywood', 2783, '91608', '818', '34.137606', '-118.353032', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50871, 'Universal City', 2783, '91608', '818', '34.137606', '-118.353032', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50872, 'Universal Cty', 2783, '91608', '818', '34.137606', '-118.353032', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50873, 'Chino', 2783, '91708', '909', '33.953884', '-117.647655', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50874, 'Etiwanda', 2783, '91739', '909', '34.124596', '-117.521412', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50875, 'Rancho Cucamonga', 2783, '91739', '909', '34.124596', '-117.521412', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50876, 'Rch Cucamonga', 2783, '91739', '909', '34.124596', '-117.521412', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50877, 'Mt Baldy', 2783, '91759', '909', '34.248674', '-117.552412', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50878, 'San Dimas', 2783, '91773', '909', '34.115422', '-117.812964', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50879, 'San Gabriel', 2783, '91775', '626', '34.116316', '-118.092668', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50880, 'West Covina', 2783, '91791', '626', '34.062023', '-117.887351', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50881, 'Bonita', 2783, '91908', '619', '32.6576', '-117.0293', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50882, 'Chula Vista', 2783, '91909', '619', '32.6403', '-117.0834', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50883, 'Spring Valley', 2783, '91976', '619', '32.7449', '-116.9981', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50884, 'Carlsbad', 2783, '92008', '760', '33.15084', '-117.31325', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50885, 'Carlsbad', 2783, '92010', '760', '33.155588', '-117.279445', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50886, 'Escondido', 2783, '92025', '760', '33.09023', '-117.007239', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50887, 'Lakeside', 2783, '92040', '619', '32.903014', '-116.86547', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50888, 'Oceanside', 2783, '92058', '760', '33.28575', '-117.35608', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50889, 'Pacific Beach', 2783, '92109', '858', '32.7907', '-117.233586', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50890, 'San Diego', 2783, '92109', '858', '32.7907', '-117.233586', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50891, 'San Diego', 2783, '92124', '858', '32.819976', '-117.09177', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50892, 'San Diego', 2783, '92142', '619', '32.7154', '-117.1565', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50893, 'San Diego', 2783, '92159', '619', '32.7154', '-117.1565', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50894, 'Blythe', 2783, '92225', '760', '33.584304', '-114.626252', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50895, 'Mesa Verde', 2783, '92225', '760', '33.584304', '-114.626252', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50896, 'Ripley', 2783, '92225', '760', '33.584304', '-114.626252', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50897, 'El Centro', 2783, '92244', '760', '32.7919', '-115.5622', '2018-11-29 05:03:07', '2018-11-29 05:03:07');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(50898, 'San Jose', 2783, '95106', '408', '37.3355', '-121.8938', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50899, 'San Jose', 2783, '95111', '408', '37.28204', '-121.832097', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50900, 'San Jose', 2783, '95154', '408', '37.3353', '-121.8938', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50901, 'San Jose', 2783, '95161', '408', '37.3353', '-121.8938', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50902, 'Stkn', 2783, '95211', '209', '37.979797', '-121.312666', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50903, 'Stockton', 2783, '95211', '209', '37.979797', '-121.312666', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50904, 'Univ Of The Pacific', 2783, '95211', '209', '37.979797', '-121.312666', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50905, 'Stkn', 2783, '95213', '209', '37.9904', '-121.2874', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50906, 'Stockton', 2783, '95213', '209', '37.9904', '-121.2874', '2018-11-29 05:03:07', '2018-11-29 05:03:07'),\n(50907, 'Douglas Flat', 2783, '95229', '209', '38.1147', '-120.4537', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50908, 'Vallecito', 2783, '95229', '209', '38.1147', '-120.4537', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50909, 'Wallace', 2783, '95254', '209', '38.191273', '-120.95693', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50910, 'Stockton', 2783, '95297', '209', '37.9578', '-121.2899', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50911, 'Stockton Brm Zip', 2783, '95297', '209', '37.9578', '-121.2899', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50912, 'Dockweiler', 2783, '90007', '213', '34.02654', '-118.282786', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50913, 'Los Angeles', 2783, '90007', '213', '34.02654', '-118.282786', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50914, 'Los Angeles', 2783, '90009', '310', '34.0522', '-118.2425', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50915, 'Los Angeles AFB', 2783, '90009', '310', '34.0522', '-118.2425', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50916, 'Los Angeles International', 2783, '90009', '310', '34.0522', '-118.2425', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50917, 'Los Angls AFB', 2783, '90009', '310', '34.0522', '-118.2425', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50918, 'Commerce', 2783, '90023', '323', '34.017238', '-118.200211', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50919, 'Los Angeles', 2783, '90023', '323', '34.017238', '-118.200211', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50920, 'Lugo', 2783, '90023', '323', '34.017238', '-118.200211', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50921, 'Los Angeles', 2783, '90032', '323', '34.082594', '-118.177274', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50922, 'Los Angeles', 2783, '90073', '310', '34.059232', '-118.451407', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50923, 'Veterans Adm', 2783, '90073', '310', '34.059232', '-118.451407', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50924, 'Veterans Admin', 2783, '90073', '310', '34.059232', '-118.451407', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50925, 'Veterans Administration', 2783, '90073', '310', '34.059232', '-118.451407', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50926, 'Veterans Admn', 2783, '90073', '310', '34.059232', '-118.451407', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50927, 'Los Angeles', 2783, '90084', '310', '34.0617', '-118.4474', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50928, 'Wells Fargo', 2783, '90084', '310', '34.0617', '-118.4474', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50929, 'Los Angeles', 2783, '90089', '323', '34.021843', '-118.288333', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50930, 'University Of Southern Ca', 2783, '90089', '323', '34.021843', '-118.288333', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50931, 'Citibank', 2783, '90189', '213', '34.0583', '-118.2476', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50932, 'Los Angeles', 2783, '90189', '213', '34.0583', '-118.2476', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50933, 'Whittier', 2783, '90602', '562', '33.968424', '-118.030328', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50934, 'Whittier', 2783, '90609', '562', '33.9792', '-118.0317', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50935, 'La Habra', 2783, '90632', '562', '33.9319', '-117.9455', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50936, 'Norwalk', 2783, '90652', '562', '33.9024', '-118.0806', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50937, 'Hawaiian Gardens', 2783, '90716', '562', '33.831326', '-118.072919', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50938, 'Hawaiian Gdns', 2783, '90716', '562', '33.831326', '-118.072919', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50939, 'Lakewood', 2783, '90716', '562', '33.831326', '-118.072919', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50940, 'Surfside', 2783, '90743', '562', '33.728399', '-118.085506', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50941, 'Long Beach', 2783, '90802', '562', '33.746545', '-118.213256', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50942, 'Cal Tech', 2783, '91125', '626', '34.1478', '-118.1436', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50943, 'Pasadena', 2783, '91125', '626', '34.1478', '-118.1436', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50944, 'Calabasas', 2783, '91302', '818', '34.121058', '-118.664614', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50945, 'Hidden Hills', 2783, '91302', '818', '34.121058', '-118.664614', '2018-11-29 05:03:08', '2018-11-29 05:03:08'),\n(50946, 'Monte Nido', 2783, '91302', '818', '34.121058', '-118.664614', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50947, 'Woodland Hills', 2783, '91302', '818', '34.121058', '-118.664614', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50948, 'Woodland Hls', 2783, '91302', '818', '34.121058', '-118.664614', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50949, 'Box Canyon', 2783, '91304', '818', '34.229635', '-118.63071', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50950, 'Canoga Park', 2783, '91304', '818', '34.229635', '-118.63071', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50951, 'West Hills', 2783, '91304', '818', '34.229635', '-118.63071', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50952, 'Dos Vientos Ranch', 2783, '91320', '805', '34.142458', '-118.976227', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50953, 'Newbury Park', 2783, '91320', '805', '34.142458', '-118.976227', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50954, 'Thousand Oaks', 2783, '91320', '805', '34.142458', '-118.976227', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50955, 'Agoura Hills', 2783, '91377', '818', '34.18816', '-118.764801', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50956, 'Oak Park', 2783, '91377', '818', '34.18816', '-118.764801', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50957, 'Canyon Cntry', 2783, '91386', '661', '34.42', '-118.45', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50958, 'Canyon Country', 2783, '91386', '661', '34.42', '-118.45', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50959, 'Santa Clarita', 2783, '91386', '661', '34.42', '-118.45', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50960, 'Mission Hills', 2783, '91395', '818', '34.2575', '-118.4663', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50961, 'Panorama City', 2783, '91402', '818', '34.228828', '-118.444434', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50962, 'Van Nuys', 2783, '91402', '818', '34.228828', '-118.444434', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50963, 'Van Nuys', 2783, '91409', '818', '34.1869', '-118.4484', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50964, 'Burbank', 2783, '91502', '818', '34.177273', '-118.309626', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50965, 'N Hollywood', 2783, '91602', '818', '34.149752', '-118.366435', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50966, 'North Hollywood', 2783, '91602', '818', '34.149752', '-118.366435', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50967, 'Studio City', 2783, '91602', '818', '34.149752', '-118.366435', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50968, 'Toluca Lake', 2783, '91602', '818', '34.149752', '-118.366435', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50969, 'W Toluca Lake', 2783, '91602', '818', '34.149752', '-118.366435', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50970, 'West Toluca Lake', 2783, '91602', '818', '34.149752', '-118.366435', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50971, 'N Hollywood', 2783, '91604', '818', '34.139095', '-118.391455', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50972, 'North Hollywood', 2783, '91604', '818', '34.139095', '-118.391455', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50973, 'Federal', 2783, '90013', '213', '34.045639', '-118.241644', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50974, 'Los Angeles', 2783, '90013', '213', '34.045639', '-118.241644', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50975, 'Echo Park', 2783, '90026', '213', '34.076068', '-118.262339', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50976, 'Edendale', 2783, '90026', '213', '34.076068', '-118.262339', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50977, 'Los Angeles', 2783, '90026', '213', '34.076068', '-118.262339', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50978, 'Silver Lake', 2783, '90026', '213', '34.076068', '-118.262339', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50979, 'La Tijera', 2783, '90043', '323', '33.985471', '-118.337998', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50980, 'Los Angeles', 2783, '90043', '323', '33.985471', '-118.337998', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50981, 'View Park', 2783, '90043', '323', '33.985471', '-118.337998', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50982, 'Windsor Hills', 2783, '90043', '323', '33.985471', '-118.337998', '2018-11-29 05:03:09', '2018-11-29 05:03:09'),\n(50983, 'Los Angeles', 2783, '90046', '323', '34.10727', '-118.36889', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50984, 'W Hollywood', 2783, '90046', '323', '34.10727', '-118.36889', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50985, 'West Hollywood', 2783, '90046', '323', '34.10727', '-118.36889', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50986, 'Hollywood', 2783, '90078', '213', '34.0522', '-118.2429', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50987, 'Los Angeles', 2783, '90078', '213', '34.0522', '-118.2429', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50988, 'Los Angeles', 2783, '90080', '213', '34.0522', '-118.2429', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50989, 'Los Angeles', 2783, '90095', '310', '34.071042', '-118.443236', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50990, 'Uc Los Angeles', 2783, '90095', '310', '34.071042', '-118.443236', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50991, 'Beverly Hills', 2783, '90210', '310', '34.103131', '-118.416253', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50992, 'Beverly Hills', 2783, '90213', '310', '34.0738', '-118.3994', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50993, 'Culver City', 2783, '90230', '310', '33.995436', '-118.399869', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50994, 'Los Angeles', 2783, '90230', '310', '33.995436', '-118.399869', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50995, 'Lawndale', 2783, '90261', '310', '33.895363', '-118.376895', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50996, 'Redondo Beach', 2783, '90277', '310', '33.830793', '-118.387452', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50997, 'Lakewood', 2783, '90715', '562', '33.840564', '-118.078756', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50998, 'Fort Macarthur', 2783, '90731', '310', '33.743297', '-118.275432', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(50999, 'Ft Macarthur', 2783, '90731', '310', '33.743297', '-118.275432', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51000, 'San Pedro', 2783, '90731', '310', '33.743297', '-118.275432', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51001, 'Terminal Island', 2783, '90731', '310', '33.743297', '-118.275432', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51002, 'Rockville', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51003, 'Talcottville', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51004, 'Turnpike', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51005, 'Vernon', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51006, 'Vernon Rockville', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51007, 'Vernon Rockvl', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51008, 'Vernon-Rockville', 2785, '06066', '860', '41.836454', '-72.463295', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51009, 'Enfield', 2785, '06083', '860', '41.9761', '-72.5922', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51010, 'Hartford', 2785, '06147', '860', '41.7638', '-72.6859', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51011, 'Hfd', 2785, '06147', '860', '41.7638', '-72.6859', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51012, 'Htfd', 2785, '06147', '860', '41.7638', '-72.6859', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51013, 'Bradley International Airpor', 2785, '06096', '860', '41.92326', '-72.654944', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51014, 'Windsor Locks', 2785, '06096', '860', '41.92326', '-72.654944', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51015, 'Barry Square', 2785, '06114', '860', '41.740216', '-72.674882', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51016, 'Hartford', 2785, '06114', '860', '41.740216', '-72.674882', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51017, 'Htfd', 2785, '06114', '860', '41.740216', '-72.674882', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51018, 'Versailles', 2785, '06383', '860', '41.6017', '-72.0379', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51019, 'Colchester', 2785, '06415', '860', '41.546794', '-72.342931', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51020, 'Cromwell', 2785, '06416', '860', '41.606133', '-72.666812', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51021, 'Deep River', 2785, '06417', '860', '41.368053', '-72.45324', '2018-11-29 05:03:10', '2018-11-29 05:03:10'),\n(51022, 'Cheshire', 2785, '06408', '203', '41.4989', '-72.9011', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51023, 'Macys By Mail', 2785, '06408', '203', '41.4989', '-72.9011', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51024, 'East Haddam', 2785, '06423', '860', '41.475914', '-72.391838', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51025, 'Avon', 2785, '06001', '860', '41.79163', '-72.854526', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51026, 'Bristol', 2785, '06010', '860', '41.681368', '-72.94049', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51027, 'Forestville', 2785, '06010', '860', '41.681368', '-72.94049', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51028, 'Htfd', 2785, '06112', '860', '41.791489', '-72.697629', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51029, 'Bishop\\'s Corner', 2785, '06117', '860', '41.77787', '-72.756911', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51030, 'Hartford', 2785, '06117', '860', '41.77787', '-72.756911', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51031, 'W Hartford', 2785, '06117', '860', '41.77787', '-72.756911', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51032, 'W Htfd', 2785, '06117', '860', '41.77787', '-72.756911', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51033, 'Granby', 2785, '06035', '860', '41.960094', '-72.799348', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51034, 'New Britain', 2785, '06053', '860', '41.690259', '-72.791084', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51035, 'Plainville', 2785, '06062', '860', '41.673817', '-72.85416', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51036, 'Sharon', 2785, '06069', '860', '41.855594', '-73.434241', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51037, 'Sharon Valley', 2785, '06069', '860', '41.855594', '-73.434241', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51038, 'West Woods', 2785, '06069', '860', '41.855594', '-73.434241', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51039, 'Suffield', 2785, '06078', '860', '41.989507', '-72.653976', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51040, 'Mystic', 2785, '06388', '860', '41.3544', '-71.9669', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51041, 'West Mystic', 2785, '06388', '860', '41.3544', '-71.9669', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51042, 'Bloomingdales By Mail Ltd', 2785, '06411', '203', '41.4989', '-72.9011', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51043, 'Cheshire', 2785, '06411', '203', '41.4989', '-72.9011', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51044, 'Colchester', 2785, '06420', '860', '41.485775', '-72.269776', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51045, 'Salem', 2785, '06420', '860', '41.485775', '-72.269776', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51046, 'East Thompson', 2785, '06277', '860', '41.975726', '-71.861033', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51047, 'Mechanicsville', 2785, '06277', '860', '41.975726', '-71.861033', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51048, 'Thompson', 2785, '06277', '860', '41.975726', '-71.861033', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51049, 'Gilman', 2785, '06336', '860', '41.578076', '-72.19679', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51050, 'Ledyard', 2785, '06338', '860', '41.464687', '-71.972803', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51051, 'Mashantucket', 2785, '06338', '860', '41.464687', '-71.972803', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51052, 'Bkln', 2785, '06234', '860', '41.7855', '-71.95449', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51053, 'Brooklyn', 2785, '06234', '860', '41.7855', '-71.95449', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51054, 'E Killingly', 2785, '06243', '860', '41.84333', '-71.806556', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51055, 'East Killingly', 2785, '06243', '860', '41.84333', '-71.806556', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51056, 'Killingly', 2785, '06243', '860', '41.84333', '-71.806556', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51057, 'Fabyan', 2785, '06245', '860', '42.0137', '-71.9406', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51058, 'Franklin', 2785, '06254', '860', '41.613941', '-72.149048', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51059, 'Franklin Hill', 2785, '06254', '860', '41.613941', '-72.149048', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51060, 'N Franklin', 2785, '06254', '860', '41.613941', '-72.149048', '2018-11-29 05:03:11', '2018-11-29 05:03:11'),\n(51061, 'North Franklin', 2785, '06254', '860', '41.613941', '-72.149048', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51062, 'Tolland', 2785, '06084', '860', '41.883916', '-72.362992', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51063, 'Hartford', 2785, '06127', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51064, 'W Hartford', 2785, '06127', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51065, 'West Hartford', 2785, '06127', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51066, 'West Hartfrd', 2785, '06127', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51067, 'Hartford', 2785, '06129', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51068, 'Weathersfield', 2785, '06129', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51069, 'Wethersfield', 2785, '06129', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51070, 'Wethersfld', 2785, '06129', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51071, 'Hartford', 2785, '06134', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51072, 'Hartford', 2785, '06145', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51073, 'Hfd', 2785, '06145', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51074, 'Htfd', 2785, '06145', '860', '41.7638', '-72.6859', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51075, 'E Glastonbury', 2785, '06025', '860', '41.6972', '-72.5347', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51076, 'E Glstnbry', 2785, '06025', '860', '41.6972', '-72.5347', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51077, 'East Glastonbury', 2785, '06025', '860', '41.6972', '-72.5347', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51078, 'Hartford', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51079, 'Hfd', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51080, 'Htfd', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51081, 'Weathersfield', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51082, 'Weth', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51083, 'Wethersfield', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51084, 'Wethersfld', 2785, '06109', '860', '41.697806', '-72.657788', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51085, 'New Britain', 2785, '06050', '860', '41.6612', '-72.7801', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51086, 'Pine Meadow', 2785, '06061', '860', '41.8757', '-72.9667', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51087, 'Staffordville', 2785, '06077', '860', '41.9938', '-72.2594', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51088, 'Bloomfield', 2785, '06002', '860', '41.852981', '-72.736005', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51089, 'Rogers', 2785, '06263', '860', '41.8404', '-71.9064', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51090, 'S Willington', 2785, '06265', '860', '41.8564', '-72.2998', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51091, 'South Willington', 2785, '06265', '860', '41.8564', '-72.2998', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51092, 'South Windham', 2785, '06266', '860', '41.668636', '-72.16952', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51093, 'Windham', 2785, '06280', '860', '41.696284', '-72.138868', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51094, 'Baltic', 2785, '06330', '860', '41.642835', '-72.075404', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51095, 'Sprague', 2785, '06330', '860', '41.642835', '-72.075404', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51096, 'Amston', 2785, '06231', '860', '41.628816', '-72.373095', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51097, 'Hebron', 2785, '06248', '860', '41.687935', '-72.402115', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51098, 'Exeter', 2785, '06249', '860', '41.626576', '-72.245833', '2018-11-29 05:03:12', '2018-11-29 05:03:12'),\n(51099, 'Lebanon', 2785, '06249', '860', '41.626576', '-72.245833', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51100, 'Mansfield', 2785, '06250', '860', '41.781562', '-72.206786', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51101, 'Mansfield Center', 2785, '06250', '860', '41.781562', '-72.206786', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51102, 'Mansfield Ctr', 2785, '06250', '860', '41.781562', '-72.206786', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51103, 'Mansfield Hollow', 2785, '06250', '860', '41.781562', '-72.206786', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51104, 'West Ashford', 2785, '06250', '860', '41.781562', '-72.206786', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51105, 'Killingly', 2785, '06263', '860', '41.8404', '-71.9064', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51106, 'Mcdougal Correctional Fclty', 2785, '06080', '860', '41.9856', '-72.6423', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51107, 'Suffield', 2785, '06080', '860', '41.9856', '-72.6423', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51108, 'Borough', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51109, 'Center Groton', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51110, 'Groton', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51111, 'Groton Long Point', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51112, 'Jupiter Point', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51113, 'Noank', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51114, 'Poquonock Bridge', 2785, '06340', '860', '41.358008', '-72.038482', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51115, 'Masons Island', 2785, '06355', '860', '41.372195', '-71.974616', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51116, 'Mystic', 2785, '06355', '860', '41.372195', '-71.974616', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51117, 'Oneco', 2785, '06373', '860', '41.669529', '-71.805544', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51118, 'Quaker Hill', 2785, '06375', '860', '41.398932', '-72.131372', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51119, 'Dayville', 2785, '06241', '860', '41.853273', '-71.864336', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51120, 'Killingly', 2785, '06241', '860', '41.853273', '-71.864336', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51121, 'Killingly Center', 2785, '06241', '860', '41.853273', '-71.864336', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51122, 'N Grosvenordl', 2785, '06255', '860', '41.978592', '-71.90204', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51123, 'North Grosvendale', 2785, '06255', '860', '41.978592', '-71.90204', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51124, 'North Grosvenordale', 2785, '06255', '860', '41.978592', '-71.90204', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51125, 'Hartford', 2785, '06140', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51126, 'Hfd', 2785, '06140', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51127, 'Htfd', 2785, '06140', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51128, 'Hartford', 2785, '06155', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51129, 'Hartford Insurance Group', 2785, '06155', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51130, 'Hfd', 2785, '06155', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51131, 'Htfd', 2785, '06155', '860', '41.7638', '-72.6859', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51132, 'East Canaan', 2785, '06024', '860', '42.012216', '-73.285', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51133, 'Weatogue', 2785, '06089', '860', '41.838743', '-72.823856', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51134, 'West Granby', 2785, '06090', '860', '41.957361', '-72.865304', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51135, 'Jc Penney Co', 2785, '06041', '860', '41.7759', '-72.5219', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51136, 'Manchester', 2785, '06041', '860', '41.7759', '-72.5219', '2018-11-29 05:03:13', '2018-11-29 05:03:13'),\n(51137, 'Norfolk', 2785, '06058', '860', '41.957252', '-73.200952', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51138, 'S Woodstock', 2785, '06267', '860', '41.9395', '-71.9589', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51139, 'South Woodstock', 2785, '06267', '860', '41.9395', '-71.9589', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51140, 'Central Village', 2785, '06332', '860', '41.7322', '-71.9057', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51141, 'Central Vlg', 2785, '06332', '860', '41.7322', '-71.9057', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51142, 'Groton', 2785, '06349', '860', '41.39466', '-72.093358', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51143, 'Naval Submarine Base', 2785, '06349', '860', '41.39466', '-72.093358', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51144, 'Navsub Base', 2785, '06349', '860', '41.39466', '-72.093358', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51145, 'Sub Base New London', 2785, '06349', '860', '41.39466', '-72.093358', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51146, 'Submarine Base', 2785, '06349', '860', '41.39466', '-72.093358', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51147, 'Hanover', 2785, '06350', '860', '41.6425', '-72.0658', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51148, 'Hartford', 2785, '06183', '860', '41.7639', '-72.6798', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51149, 'Hfd', 2785, '06183', '860', '41.7639', '-72.6798', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51150, 'Htfd', 2785, '06183', '860', '41.7639', '-72.6798', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51151, 'Travelers Ins', 2785, '06183', '860', '41.7639', '-72.6798', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51152, 'Ballouville', 2785, '06233', '860', '41.8767', '-71.8618', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51153, 'Killingly', 2785, '06233', '860', '41.8767', '-71.8618', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51154, 'Tariffville', 2785, '06081', '860', '41.906904', '-72.767326', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51155, 'Enfield', 2785, '06082', '860', '41.984371', '-72.5581', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51156, 'Hazardville', 2785, '06082', '860', '41.984371', '-72.5581', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51157, 'North Thompsonville', 2785, '06082', '860', '41.984371', '-72.5581', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51158, 'Scitico', 2785, '06082', '860', '41.984371', '-72.5581', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51159, 'Thompsonville', 2785, '06082', '860', '41.984371', '-72.5581', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51160, 'Hartford', 2785, '06132', '860', '41.7638', '-72.6859', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51161, 'Bank Of America', 2785, '06150', '860', '41.7638', '-72.6859', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51162, 'Hartford', 2785, '06150', '860', '41.7638', '-72.6859', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51163, 'Hartford Natl Bank', 2785, '06150', '860', '41.7638', '-72.6859', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51164, 'Hfd', 2785, '06150', '860', '41.7638', '-72.6859', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51165, 'Htfd', 2785, '06150', '860', '41.7638', '-72.6859', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51166, 'East Willington', 2785, '06279', '860', '41.894361', '-72.262586', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51167, 'W Willington', 2785, '06279', '860', '41.894361', '-72.262586', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51168, 'Willington', 2785, '06279', '860', '41.894361', '-72.262586', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51169, 'Ft Trumbull', 2785, '06320', '860', '41.345754', '-72.105722', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51170, 'New London', 2785, '06320', '860', '41.345754', '-72.105722', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51171, 'United States Coast Guard', 2785, '06320', '860', '41.345754', '-72.105722', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51172, 'Us Coast Guard Acad', 2785, '06320', '860', '41.345754', '-72.105722', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51173, 'Moosup', 2785, '06354', '860', '41.703763', '-71.847486', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51174, 'E Hartford', 2785, '06118', '860', '41.74875', '-72.613704', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51175, 'E Htfd', 2785, '06118', '860', '41.74875', '-72.613704', '2018-11-29 05:03:14', '2018-11-29 05:03:14'),\n(51176, 'East Hartford', 2785, '06118', '860', '41.74875', '-72.613704', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51177, 'Hartford', 2785, '06118', '860', '41.74875', '-72.613704', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51178, 'Ct Dept Of Motor Vehicles', 2785, '06161', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51179, 'Hartford', 2785, '06161', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51180, 'Wethersfield', 2785, '06161', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51181, 'Elliot', 2785, '06259', '860', '41.858004', '-71.995071', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51182, 'Pomfret Center', 2785, '06259', '860', '41.858004', '-71.995071', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51183, 'Pomfret Ctr', 2785, '06259', '860', '41.858004', '-71.995071', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51184, 'Pomfret Landing', 2785, '06259', '860', '41.858004', '-71.995071', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51185, 'Ponfret Center', 2785, '06259', '860', '41.858004', '-71.995071', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51186, 'Hartford', 2785, '06143', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51187, 'Hfd', 2785, '06143', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51188, 'Htfd', 2785, '06143', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51189, 'Hartford', 2785, '06152', '860', '41.7666', '-72.6825', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51190, 'Hfd', 2785, '06152', '860', '41.7666', '-72.6825', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51191, 'Htfd', 2785, '06152', '860', '41.7666', '-72.6825', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51192, 'C T Mutual Insurance Co', 2785, '06154', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51193, 'Hartford', 2785, '06154', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51194, 'Hfd', 2785, '06154', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51195, 'Htfd', 2785, '06154', '860', '41.7638', '-72.6859', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51196, 'Canaan', 2785, '06018', '860', '42.024547', '-73.296278', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51197, 'No Canaan', 2785, '06018', '860', '42.024547', '-73.296278', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51198, 'North Canaan', 2785, '06018', '860', '42.024547', '-73.296278', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51199, 'W Suffield', 2785, '06093', '860', '41.994921', '-72.728301', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51200, 'West Suffield', 2785, '06093', '860', '41.994921', '-72.728301', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51201, 'Wilson', 2785, '06095', '860', '41.863194', '-72.679525', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51202, 'Windsor', 2785, '06095', '860', '41.863194', '-72.679525', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51203, 'Hartford', 2785, '06111', '860', '41.685889', '-72.731474', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51204, 'Hfd', 2785, '06111', '860', '41.685889', '-72.731474', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51205, 'Htfd', 2785, '06111', '860', '41.685889', '-72.731474', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51206, 'Newington', 2785, '06111', '860', '41.685889', '-72.731474', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51207, 'Ellington', 2785, '06029', '860', '41.907038', '-72.422811', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51208, 'Bolton', 2785, '06043', '860', '41.766414', '-72.438889', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51209, 'Manchester', 2785, '06045', '860', '41.7759', '-72.5219', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51210, 'North Canton', 2785, '06059', '860', '41.960138', '-72.943458', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51211, 'Taconic', 2785, '06079', '860', '41.9834', '-73.4219', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51212, 'Twin Lakes', 2785, '06079', '860', '41.9834', '-73.4219', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51213, 'Hartford', 2785, '06107', '860', '41.753138', '-72.758694', '2018-11-29 05:03:15', '2018-11-29 05:03:15'),\n(51214, 'W Hartford', 2785, '06107', '860', '41.753138', '-72.758694', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51215, 'W Htfd', 2785, '06107', '860', '41.753138', '-72.758694', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51216, 'West Hartford', 2785, '06107', '860', '41.753138', '-72.758694', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51217, 'West Hartfrd', 2785, '06107', '860', '41.753138', '-72.758694', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51218, 'Bristol', 2785, '06011', '860', '41.6714', '-72.9494', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51219, 'Manchester', 2785, '06040', '860', '41.762222', '-72.522655', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51220, 'Somersville', 2785, '06072', '860', '41.9828', '-72.4884', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51221, 'Taftville', 2785, '06380', '860', '41.562845', '-72.054591', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51222, 'Glasgo', 2785, '06384', '860', '41.57771', '-71.835824', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51223, 'Voluntown', 2785, '06384', '860', '41.57771', '-71.835824', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51224, 'Farmington', 2785, '06030', '860', '41.7197', '-72.8326', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51225, 'University Of Ct Health Ctr', 2785, '06030', '860', '41.7197', '-72.8326', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51226, 'Falls Village', 2785, '06031', '860', '41.946985', '-73.308842', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51227, 'South Canaan', 2785, '06031', '860', '41.946985', '-73.308842', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51228, 'Farmington', 2785, '06032', '860', '41.724962', '-72.827648', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51229, 'Talcott Village', 2785, '06032', '860', '41.724962', '-72.827648', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51230, 'The Exchange At Talcott Vill', 2785, '06032', '860', '41.724962', '-72.827648', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51231, 'West Farms Mall', 2785, '06032', '860', '41.724962', '-72.827648', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51232, 'Poquonock', 2785, '06064', '860', '41.9048', '-72.6795', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51233, 'Hartford', 2785, '06120', '860', '41.788334', '-72.66607', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51234, 'Unity Plaza', 2785, '06120', '860', '41.788334', '-72.66607', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51235, 'Canton Center', 2785, '06020', '860', '41.874296', '-72.899338', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51236, 'Cherry Brook', 2785, '06020', '860', '41.874296', '-72.899338', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51237, 'East Hartland', 2785, '06027', '860', '42.00429', '-72.914885', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51238, 'Hartford', 2785, '06102', '860', '41.7569', '-72.6855', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51239, 'Hartford', 2785, '06104', '860', '41.7959', '-72.6628', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51240, 'Main Office', 2785, '06104', '860', '41.7959', '-72.6628', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51241, 'Farmington', 2785, '06034', '860', '41.7197', '-72.8326', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51242, 'New Britain', 2785, '06052', '860', '41.657118', '-72.803642', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51243, 'Salisbury', 2785, '06068', '860', '42.008199', '-73.415942', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51244, 'Simbury', 2785, '06070', '860', '41.868372', '-72.817214', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51245, 'Simsbury', 2785, '06070', '860', '41.868372', '-72.817214', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51246, 'Stafford', 2785, '06075', '860', '41.9848', '-72.2896', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51247, 'Mansfield Depot', 2785, '06251', '860', '41.8014', '-72.3066', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51248, 'Mansfield Dpt', 2785, '06251', '860', '41.8014', '-72.3066', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51249, 'Merrow', 2785, '06251', '860', '41.8014', '-72.3066', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51250, 'Quinebaug', 2785, '06262', '860', '42.019926', '-71.945954', '2018-11-29 05:03:16', '2018-11-29 05:03:16'),\n(51251, 'W Htfd', 2785, '06119', '860', '41.763783', '-72.72709', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51252, 'West Hartford', 2785, '06119', '860', '41.763783', '-72.72709', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51253, 'West Hartfrd', 2785, '06119', '860', '41.763783', '-72.72709', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51254, 'Bishops Cor', 2785, '06137', '860', '41.5812', '-72.8697', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51255, 'Bishops Corner', 2785, '06137', '860', '41.5812', '-72.8697', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51256, 'Hartford', 2785, '06137', '860', '41.5812', '-72.8697', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51257, 'W Hartford', 2785, '06137', '860', '41.5812', '-72.8697', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51258, 'West Hartford', 2785, '06137', '860', '41.5812', '-72.8697', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51259, 'West Hartfrd', 2785, '06137', '860', '41.5812', '-72.8697', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51260, 'Bank Of America', 2785, '06151', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51261, 'Hartford', 2785, '06151', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51262, 'Hfd', 2785, '06151', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51263, 'Htfd', 2785, '06151', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51264, 'Allstate', 2785, '06153', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51265, 'Hartford', 2785, '06153', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51266, 'Hfd', 2785, '06153', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51267, 'Htfd', 2785, '06153', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51268, 'Accr A Data', 2785, '06087', '860', '41.7576', '-72.8869', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51269, 'Unionville', 2785, '06087', '860', '41.7576', '-72.8869', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51270, 'Winchester', 2785, '06094', '860', '41.9019', '-73.136', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51271, 'Winchester Center', 2785, '06094', '860', '41.9019', '-73.136', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51272, 'Winchestr Ctr', 2785, '06094', '860', '41.9019', '-73.136', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51273, 'Central', 2785, '06103', '860', '41.76521', '-72.67197', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51274, 'Hartford', 2785, '06103', '860', '41.76521', '-72.67197', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51275, 'Corbins Corner', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51276, 'Elmwood', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51277, 'Hartford', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51278, 'W Hartford', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51279, 'W Htfd', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51280, 'West Hartford', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51281, 'West Hartfrd', 2785, '06110', '860', '41.734077', '-72.738332', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51282, 'Blue Hills', 2785, '06112', '860', '41.791489', '-72.697629', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51283, 'Hartford', 2785, '06112', '860', '41.791489', '-72.697629', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51284, 'Sawyer District', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51285, 'Lake Garda', 2785, '06085', '860', '41.746852', '-72.886981', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51286, 'Unionville', 2785, '06085', '860', '41.746852', '-72.886981', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51287, 'Hartford', 2785, '06126', '860', '41.7638', '-72.6859', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51288, 'East Hartford', 2785, '06128', '860', '41.7823', '-72.6128', '2018-11-29 05:03:17', '2018-11-29 05:03:17'),\n(51289, 'Hartford', 2785, '06128', '860', '41.7823', '-72.6128', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51290, 'Hartford', 2785, '06144', '860', '41.7638', '-72.6859', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51291, 'Hfd', 2785, '06144', '860', '41.7638', '-72.6859', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51292, 'Htfd', 2785, '06144', '860', '41.7638', '-72.6859', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51293, 'Hartford', 2785, '06146', '860', '41.7638', '-72.6859', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51294, 'Canton', 2785, '06019', '860', '41.86312', '-72.913404', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51295, 'Collinsville', 2785, '06019', '860', '41.86312', '-72.913404', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51296, 'E Windsor Hl', 2785, '06028', '860', '41.8478', '-72.5961', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51297, 'Hartford', 2785, '06101', '860', '41.7826', '-72.6613', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51298, 'Htd', 2785, '06101', '860', '41.7826', '-72.6613', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51299, 'Htfd', 2785, '06101', '860', '41.7826', '-72.6613', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51300, 'East Windsor Hill', 2785, '06028', '860', '41.8478', '-72.5961', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51301, 'Berlin', 2785, '06037', '860', '41.603421', '-72.776083', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51302, 'Kenington', 2785, '06037', '860', '41.603421', '-72.776083', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51303, 'Kensington', 2785, '06037', '860', '41.603421', '-72.776083', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51304, 'Manchester', 2785, '06042', '860', '41.80026', '-72.527573', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51305, 'North Granby', 2785, '06060', '860', '41.996784', '-72.843489', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51306, 'Stafford Sp', 2785, '06076', '860', '41.986493', '-72.253458', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51307, 'Stafford Spgs', 2785, '06076', '860', '41.986493', '-72.253458', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51308, 'Stafford Springs', 2785, '06076', '860', '41.986493', '-72.253458', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51309, 'Union', 2785, '06076', '860', '41.986493', '-72.253458', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51310, 'West Stafford', 2785, '06076', '860', '41.986493', '-72.253458', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51311, 'Durham', 2785, '06422', '860', '41.461754', '-72.677525', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51312, 'Old Lyme', 2785, '06371', '860', '41.359226', '-72.341172', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51313, 'Point O Woods', 2785, '06376', '860', '41.294774', '-72.256424', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51314, 'South Lyme', 2785, '06376', '860', '41.294774', '-72.256424', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51315, 'Chestnut Hill', 2785, '06226', '860', '41.703182', '-72.20971', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51316, 'Conantville', 2785, '06226', '860', '41.703182', '-72.20971', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51317, 'Perkins Corner', 2785, '06226', '860', '41.703182', '-72.20971', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51318, 'Willimantic', 2785, '06226', '860', '41.703182', '-72.20971', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51319, 'Grosvenor Dale', 2785, '06246', '860', '41.9685', '-71.8953', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51320, 'Grosvenor Dl', 2785, '06246', '860', '41.9685', '-71.8953', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51321, 'East Putnam', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51322, 'Laurel Hill', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51323, 'Putman', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51324, 'Putnam', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51325, 'Putnam Heights', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51326, 'Putnm', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:18', '2018-11-29 05:03:18'),\n(51327, 'Rhodesville', 2785, '06260', '860', '41.900998', '-71.86577', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51328, 'Preston', 2785, '06365', '860', '41.516775', '-71.99183', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51329, 'Bank Of America', 2785, '06180', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51330, 'Hartford', 2785, '06180', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51331, 'Hfd', 2785, '06180', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(51332, 'Htfd', 2785, '06180', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51333, 'Hartford', 2785, '06199', '860', '41.7944', '-72.6594', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51334, 'Hfd', 2785, '06199', '860', '41.7944', '-72.6594', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51335, 'Htfd', 2785, '06199', '860', '41.7944', '-72.6594', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51336, 'Abington', 2785, '06230', '860', '41.8608', '-72.0072', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51337, 'Andover', 2785, '06232', '860', '41.731918', '-72.373882', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51338, 'Hampton', 2785, '06247', '860', '41.765127', '-72.067894', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51339, 'Hartford', 2785, '06131', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51340, 'Newington', 2785, '06131', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51341, 'Elmwood', 2785, '06133', '860', '41.7502', '-72.705', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51342, 'Hartford', 2785, '06133', '860', '41.7502', '-72.705', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51343, 'W Hartford', 2785, '06133', '860', '41.7502', '-72.705', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51344, 'West Hartford', 2785, '06133', '860', '41.7502', '-72.705', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51345, 'West Hartfrd', 2785, '06133', '860', '41.7502', '-72.705', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51346, 'Winchester', 2785, '06098', '860', '41.958816', '-73.094492', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51347, 'Winchester Center', 2785, '06098', '860', '41.958816', '-73.094492', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51348, 'Winchestr Ctr', 2785, '06098', '860', '41.958816', '-73.094492', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51349, 'Winsted', 2785, '06098', '860', '41.958816', '-73.094492', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51350, 'Hartford', 2785, '06115', '860', '41.7672', '-72.6729', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51351, 'Hfd', 2785, '06115', '860', '41.7672', '-72.6729', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51352, 'Htfd', 2785, '06115', '860', '41.7672', '-72.6729', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51353, 'Main Office', 2785, '06115', '860', '41.7672', '-72.6729', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51354, 'Niantic', 2785, '06357', '860', '41.326995', '-72.21539', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51355, 'Coventry', 2785, '06238', '860', '41.777064', '-72.335271', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51356, 'Eastford', 2785, '06242', '860', '41.892976', '-72.098516', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51357, 'Hartford', 2785, '06123', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51358, 'Hartford', 2785, '06141', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51359, 'Hfd', 2785, '06141', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51360, 'Htfd', 2785, '06141', '860', '41.7638', '-72.6859', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51361, 'Colbrook', 2785, '06021', '860', '42.01505', '-73.105694', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51362, 'Colebrook', 2785, '06021', '860', '42.01505', '-73.105694', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51363, 'Collinsville', 2785, '06022', '860', '41.815832', '-72.941774', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51364, 'East Windsor', 2785, '06088', '860', '41.904084', '-72.591952', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51365, 'Scantic', 2785, '06088', '860', '41.904084', '-72.591952', '2018-11-29 05:03:19', '2018-11-29 05:03:19'),\n(51366, 'Warehouse Point', 2785, '06088', '860', '41.904084', '-72.591952', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51367, 'West Hartland', 2785, '06091', '860', '42.013182', '-72.978128', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51368, 'Hartford', 2785, '06105', '860', '41.77607', '-72.700117', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51369, 'Hfd', 2785, '06105', '860', '41.77607', '-72.700117', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51370, 'Htfd', 2785, '06105', '860', '41.77607', '-72.700117', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51371, 'West Hartford', 2785, '06105', '860', '41.77607', '-72.700117', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51372, 'Glastonbury', 2785, '06033', '860', '41.699979', '-72.550419', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51373, 'Barkhamsted', 2785, '06063', '860', '41.926558', '-72.970956', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51374, 'Pleasant Valley', 2785, '06063', '860', '41.926558', '-72.970956', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51375, 'Pleasant Vly', 2785, '06063', '860', '41.926558', '-72.970956', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51376, 'Winsted', 2785, '06063', '860', '41.926558', '-72.970956', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51377, 'Riverton', 2785, '06065', '860', '41.976157', '-73.007264', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51378, 'Burlington', 2785, '06013', '860', '41.761312', '-72.95722', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51379, 'Unionville', 2785, '06013', '860', '41.761312', '-72.95722', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51380, 'Washington', 2786, '20395', '202', '38.8951', '-77.0369', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51381, 'Hud Fed Housing Adm', 2786, '20411', '202', '38.8951', '-77.0369', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51382, 'Dept Agriculture', 2786, '20250', '202', '38.8951', '-77.0369', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51383, 'Washington', 2786, '20250', '202', '38.8951', '-77.0369', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51384, 'Navy Security Group', 2786, '20393', '202', '38.8951', '-77.0369', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51385, 'Washington', 2786, '20393', '202', '38.8951', '-77.0369', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51386, 'Middletown', 2787, '19709', '302', '39.477098', '-75.671734', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51387, 'Montchanin', 2787, '19710', '302', '39.783662', '-75.59095', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51388, 'Miami', 2788, '33152', '305', '25.7739', '-80.1937', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51389, 'Miami', 2788, '33168', '305', '25.892731', '-80.208953', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51390, 'Miami Shores', 2788, '33168', '305', '25.892731', '-80.208953', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51391, 'North Miami', 2788, '33168', '305', '25.892731', '-80.208953', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51392, 'Country Lakes', 2788, '33170', '305', '25.562784', '-80.464851', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51393, 'Cutler Ridge', 2788, '33170', '305', '25.562784', '-80.464851', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51394, 'Goulds', 2788, '33170', '305', '25.562784', '-80.464851', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51395, 'Miami', 2788, '33170', '305', '25.562784', '-80.464851', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51396, 'Perrine', 2788, '33170', '305', '25.562784', '-80.464851', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51397, 'Quail Heights', 2788, '33170', '305', '25.562784', '-80.464851', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51398, 'Miami', 2788, '33175', '305', '25.735166', '-80.407478', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51399, 'Olympia Heights', 2788, '33175', '305', '25.735166', '-80.407478', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51400, 'Olympia Hgts', 2788, '33175', '305', '25.735166', '-80.407478', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51401, 'Kendall', 2788, '33193', '305', '25.69885', '-80.448256', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51402, 'Miami', 2788, '33193', '305', '25.69885', '-80.448256', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51403, 'Fort Lauderdale', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:20', '2018-11-29 05:03:20'),\n(51404, 'Ft Lauderdale', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51405, 'Laud Lakes', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51406, 'Lauderdale Lakes', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51407, 'Lauderhill', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51408, 'Oakland Park', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51409, 'Plantation', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51410, 'Wilton Manors', 2788, '33311', '954', '26.143764', '-80.17348', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51411, 'Fort Lauderdale', 2788, '33334', '954', '26.18409', '-80.134724', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51412, 'Ft Lauderdale', 2788, '33334', '954', '26.18409', '-80.134724', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51413, 'Oakland Park', 2788, '33334', '954', '26.18409', '-80.134724', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51414, 'Wilton Manors', 2788, '33334', '954', '26.18409', '-80.134724', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51415, 'Fort Lauderdale', 2788, '33345', '954', '26.1216', '-80.1439', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51416, 'Ft Lauderdale', 2788, '33345', '954', '26.1216', '-80.1439', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51417, 'Sunrise', 2788, '33345', '954', '26.1216', '-80.1439', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51418, 'Fort Lauderdale', 2788, '33359', '954', '26.1837', '-80.2216', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51419, 'Ft Lauderdale', 2788, '33359', '954', '26.1837', '-80.2216', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51420, 'Tamarac', 2788, '33359', '954', '26.1837', '-80.2216', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51421, 'Palm Bch Gdns', 2788, '33418', '561', '26.854197', '-80.190148', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51422, 'Palm Beach Gardens', 2788, '33418', '561', '26.854197', '-80.190148', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51423, 'Riviera Beach', 2788, '33418', '561', '26.854197', '-80.190148', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51424, 'West Palm Bch', 2788, '33418', '561', '26.854197', '-80.190148', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51425, 'West Palm Beach', 2788, '33418', '561', '26.854197', '-80.190148', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51426, 'Palm Bch Gdns', 2788, '33420', '561', '26.7977', '-80.116', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51427, 'Palm Beach Gardens', 2788, '33420', '561', '26.7977', '-80.116', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51428, 'West Palm Bch', 2788, '33420', '561', '26.7977', '-80.116', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51429, 'West Palm Beach', 2788, '33420', '561', '26.7977', '-80.116', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51430, 'Delray Beach', 2788, '33445', '561', '26.454055', '-80.104004', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51431, 'Lake Harbor', 2788, '33459', '561', '26.6928', '-80.8147', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51432, 'Lake Worth', 2788, '33461', '561', '26.617588', '-80.090682', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51433, 'Saint Paul', 2792, '52656', '319', '40.722582', '-91.46292', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51434, 'West Point', 2792, '52656', '319', '40.722582', '-91.46292', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51435, 'Calamus', 2792, '52729', '563', '41.800101', '-90.740097', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51436, 'Charlotte', 2792, '52731', '563', '41.966046', '-90.46599', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51437, 'Petersville', 2792, '52731', '563', '41.966046', '-90.46599', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51438, 'Sugar Creek', 2792, '52731', '563', '41.966046', '-90.46599', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51439, 'Cairo', 2792, '52738', '319', '41.300022', '-91.341596', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51440, 'Columbus Jct', 2792, '52738', '319', '41.300022', '-91.341596', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51441, 'Columbus Junction', 2792, '52738', '319', '41.300022', '-91.341596', '2018-11-29 05:03:21', '2018-11-29 05:03:21'),\n(51442, 'Cotter', 2792, '52738', '319', '41.300022', '-91.341596', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51443, 'Fredonia', 2792, '52738', '319', '41.300022', '-91.341596', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51444, 'Gladwin', 2792, '52738', '319', '41.300022', '-91.341596', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51445, 'Big Rock', 2792, '52745', '563', '41.711272', '-90.746454', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51446, 'Dixon', 2792, '52745', '563', '41.711272', '-90.746454', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51447, 'Durant', 2792, '52747', '563', '41.597092', '-90.928166', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51448, 'Gambrill', 2792, '52756', '563', '41.726576', '-90.537184', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51449, 'Long Grove', 2792, '52756', '563', '41.726576', '-90.537184', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51450, 'Wildwood Camp', 2792, '52756', '563', '41.726576', '-90.537184', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51451, 'Springville', 2792, '52336', '319', '42.06323', '-91.442728', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51452, 'Viola', 2792, '52336', '319', '42.06323', '-91.442728', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51453, 'Whittier', 2792, '52336', '319', '42.06323', '-91.442728', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51454, 'Cou Falls', 2792, '52338', '319', '41.828488', '-91.701574', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51455, 'Shueyville', 2792, '52338', '319', '41.828488', '-91.701574', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51456, 'Swisher', 2792, '52338', '319', '41.828488', '-91.701574', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51457, 'Carnforth', 2792, '52347', '319', '41.711389', '-92.281393', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51458, 'Victor', 2792, '52347', '319', '41.711389', '-92.281393', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51459, 'Walker', 2792, '52352', '319', '42.280582', '-91.764829', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51460, 'Watkins', 2792, '52354', '319', '41.912662', '-91.988696', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51461, 'Dean', 2792, '52572', '641', '40.678764', '-92.678962', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51462, 'Moulton', 2792, '52572', '641', '40.678764', '-92.678962', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51463, 'Univ Park', 2792, '52595', '641', '41.286724', '-92.619519', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51464, 'University Park', 2792, '52595', '641', '41.286724', '-92.619519', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51465, 'University Pk', 2792, '52595', '641', '41.286724', '-92.619519', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51466, 'Garrison', 2792, '52229', '319', '42.145158', '-92.153324', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51467, 'Cedar Rapids', 2792, '52404', '319', '41.912432', '-91.706338', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51468, 'Shueyville', 2792, '52404', '319', '41.912432', '-91.706338', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51469, 'Cedar Rapids', 2792, '52406', '319', '42.0083', '-91.6437', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51470, 'Cedar Rapids', 2792, '52497', '319', '42.0083', '-91.6437', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51471, 'Nordstrom', 2792, '52497', '319', '42.0083', '-91.6437', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51472, 'Albia', 2792, '52531', '641', '41.029841', '-92.811818', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51473, 'New Liberty', 2792, '52765', '563', '41.720626', '-90.856453', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51474, 'Lowell', 2792, '52645', '319', '40.90014', '-91.393486', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51475, 'New London', 2792, '52645', '319', '40.90014', '-91.393486', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51476, 'Davenport', 2792, '52804', '563', '41.555996', '-90.59138', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51477, 'Anderson', 2795, '46014', '765', '40.1056', '-85.6805', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51478, 'Anderson', 2795, '46016', '765', '40.10124', '-85.67243', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51479, 'Anderson', 2795, '46017', '765', '40.070184', '-85.604965', '2018-11-29 05:03:22', '2018-11-29 05:03:22'),\n(51480, 'Chesterfield', 2795, '46017', '765', '40.070184', '-85.604965', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51481, 'Carmel', 2795, '46033', '317', '39.976153', '-86.075894', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51482, 'Ingalls', 2795, '46048', '317', '39.958054', '-85.798685', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51483, 'Kirklin', 2795, '46050', '765', '40.203466', '-86.354528', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51484, 'Lapel', 2795, '46051', '765', '40.060156', '-85.834365', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51485, 'Rossville', 2795, '46065', '765', '40.431423', '-86.619432', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51486, 'Sedalia', 2795, '46067', '765', '40.4159', '-86.5144', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51487, 'Carthage', 2795, '46115', '765', '39.73898', '-85.565556', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51488, 'Lizton', 2795, '46149', '317', '39.878592', '-86.570314', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51489, 'North Salem', 2795, '46165', '765', '39.849518', '-86.635974', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51490, 'Paragon', 2795, '46166', '765', '39.427256', '-86.5721', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51491, 'Waldron', 2795, '46182', '765', '39.458324', '-85.678573', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51492, 'Indianapolis', 2795, '46217', '317', '39.678135', '-86.198532', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51493, 'Southport', 2795, '46217', '317', '39.678135', '-86.198532', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51494, 'Clermont', 2795, '46234', '317', '39.810294', '-86.33641', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51495, 'Indianapolis', 2795, '46234', '317', '39.810294', '-86.33641', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51496, 'Chase Bank', 2795, '46266', '317', '39.7683', '-86.1582', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51497, 'Indianapolis', 2795, '46266', '317', '39.7683', '-86.1582', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51498, 'Indianapolis', 2795, '46268', '317', '39.896883', '-86.23239', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51499, 'New Augusta', 2795, '46268', '317', '39.896883', '-86.23239', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51500, 'Greater Indiana District', 2795, '46298', '317', '39.7746', '-86.1105', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51501, 'Indianapolis', 2795, '46298', '317', '39.7746', '-86.1105', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51502, 'La Crosse', 2795, '46348', '219', '41.299208', '-86.84224', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51503, 'Lake Village', 2795, '46349', '219', '41.108339', '-87.420642', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51504, 'Mill Creek', 2795, '46365', '219', '41.605938', '-86.543709', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51505, 'North Judson', 2795, '46366', '219', '41.208361', '-86.756328', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51506, 'Valparaiso', 2795, '46384', '219', '41.4732', '-87.0611', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51507, 'Valpo', 2795, '46384', '219', '41.4732', '-87.0611', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51508, 'Gary', 2795, '46401', '219', '41.5936', '-87.3467', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51509, 'Gary', 2795, '46402', '219', '41.613476', '-87.342944', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51510, 'Nappanee', 2795, '46550', '574', '41.431318', '-85.992528', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51511, 'S Bend', 2795, '46601', '574', '41.672515', '-86.253312', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51512, 'So Bend', 2795, '46601', '574', '41.672515', '-86.253312', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51513, 'South Bend', 2795, '46601', '574', '41.672515', '-86.253312', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51514, 'South Bend', 2795, '46616', '574', '41.696423', '-86.266024', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51515, 'Business Reply', 2795, '46699', '574', '41.6833', '-86.2503', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51516, 'S Bend', 2795, '46699', '574', '41.6833', '-86.2503', '2018-11-29 05:03:23', '2018-11-29 05:03:23'),\n(51517, 'So Bend', 2795, '46699', '574', '41.6833', '-86.2503', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51518, 'South Bend', 2795, '46699', '574', '41.6833', '-86.2503', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51519, 'South Bend Brm', 2795, '46699', '574', '41.6833', '-86.2503', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51520, 'Albion', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51521, 'New Orleans', 2798, '70187', '504', '29.9545', '-90.0753', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51522, 'Thibodaux', 2798, '70301', '985', '29.802804', '-90.741462', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51523, 'Chauvin', 2798, '70344', '985', '29.3901', '-90.626967', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51524, 'Cocodrie', 2798, '70344', '985', '29.3901', '-90.626967', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51525, 'Little Caillou', 2798, '70344', '985', '29.3901', '-90.626967', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51526, 'Dulac', 2798, '70353', '985', '29.257312', '-90.675926', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51527, 'Kraemer', 2798, '70371', '985', '29.8664', '-90.6966', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51528, 'Bayou Vista', 2798, '70380', '985', '29.798613', '-91.23186', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51529, 'Morgan City', 2798, '70380', '985', '29.798613', '-91.23186', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51530, 'Covington', 2798, '70435', '985', '30.582618', '-90.105774', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51531, 'Folsom', 2798, '70437', '985', '30.61344', '-90.211187', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51532, 'Uneedus', 2798, '70437', '985', '30.61344', '-90.211187', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51533, 'Pine Grove', 2798, '70453', '225', '30.6849', '-90.785548', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51534, 'Slidell', 2798, '70469', '985', '30.275', '-89.7811', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51535, 'Lafayette', 2798, '70503', '337', '30.171749', '-92.059928', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51536, 'Delcambre', 2798, '70528', '337', '29.938094', '-91.989543', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51537, 'Jennings', 2798, '70546', '337', '30.240443', '-92.671486', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51538, 'Opelousas', 2798, '70571', '337', '30.5336', '-92.0817', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51539, 'Rayne', 2798, '70578', '337', '30.221468', '-92.262971', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51540, 'Lafayette', 2798, '70596', '337', '30.2341', '-92.0088', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51541, 'Evans', 2798, '70639', '337', '30.967583', '-93.514802', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51542, 'Sugartown', 2798, '70662', '337', '30.81508', '-93.018628', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51543, 'Baker', 2798, '70714', '225', '30.57763', '-91.128806', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51544, 'Carville', 2798, '70721', '225', '30.213859', '-91.101857', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51545, 'Greenwel Spgs', 2798, '70739', '225', '30.592273', '-90.951133', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51546, 'Greenwell Springs', 2798, '70739', '225', '30.592273', '-90.951133', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51547, 'Holden', 2798, '70744', '225', '30.529165', '-90.664965', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51548, 'Lettsworth', 2798, '70753', '225', '30.95399', '-91.72487', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51549, 'Sorrento', 2798, '70778', '225', '30.167754', '-90.855748', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51550, 'Wilson', 2798, '70789', '225', '30.932799', '-91.058161', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51551, 'Baton Rouge', 2798, '70821', '225', '30.4506', '-91.1547', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51552, 'Baton Rouge', 2798, '70837', '225', '30.4506', '-91.1547', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51553, 'Central', 2798, '70837', '225', '30.4506', '-91.1547', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51554, 'Athens', 2798, '71003', '318', '32.647366', '-93.045094', '2018-11-29 05:03:24', '2018-11-29 05:03:24'),\n(51555, 'Dixie Inn', 2798, '71055', '318', '32.702042', '-93.282664', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51556, 'Gilark', 2798, '71055', '318', '32.702042', '-93.282664', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51557, 'Mcintyre', 2798, '71055', '318', '32.702042', '-93.282664', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51558, 'Minden', 2798, '71055', '318', '32.702042', '-93.282664', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51559, 'Pace', 2798, '71055', '318', '32.702042', '-93.282664', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51560, 'Calloway Corners', 2798, '71073', '318', '32.52234', '-93.293894', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51561, 'Noles Landing', 2798, '71073', '318', '32.52234', '-93.293894', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51562, 'Sibley', 2798, '71073', '318', '32.52234', '-93.293894', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51563, 'Taylor', 2798, '71080', '318', '32.5453', '-93.1185', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51564, 'Shreveport', 2798, '71148', '318', '32.5253', '-93.7501', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51565, 'Shreveport', 2798, '71162', '318', '32.5253', '-93.7501', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51566, 'Shreveport', 2798, '71164', '318', '32.5253', '-93.7501', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51567, 'Bossier City', 2798, '71171', '318', '32.5155', '-93.7318', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51568, 'Monroe', 2798, '71212', '318', '32.5092', '-92.1195', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51569, 'Northeast Univ', 2798, '71212', '318', '32.5092', '-92.1195', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51570, 'Crowville', 2798, '71230', '318', '32.2405', '-91.5883', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51571, 'Epps', 2798, '71237', '318', '32.598265', '-91.496022', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51572, 'Farmerville', 2798, '71241', '318', '32.773934', '-92.301764', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51573, 'Rocky Branch', 2798, '71241', '318', '32.773934', '-92.301764', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51574, 'Cheniere', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51575, 'Dean Chapel', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51576, 'Drew', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51577, 'Forest Park', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51578, 'Highland Park', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51579, 'Kiroli Woods', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51580, 'Splane Place', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51581, 'Wall Lake', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51582, 'West Monroe', 2798, '71291', '318', '32.570157', '-92.189907', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51583, 'Acme', 2798, '71316', '318', '31.259622', '-91.755482', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51584, 'New Era', 2798, '71316', '318', '31.259622', '-91.755482', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51585, 'Echo', 2798, '71330', '318', '31.109296', '-92.239483', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51586, 'Hamburg', 2798, '71339', '318', '31.001548', '-91.88003', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51587, 'Hessmer', 2798, '71341', '318', '31.064478', '-92.160668', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51588, 'New Belledeau', 2798, '71341', '318', '31.064478', '-92.160668', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51589, 'Libuse', 2798, '71348', '318', '31.3537', '-92.3336', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51590, 'Balmoral', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51591, 'Flowers Landing', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:25', '2018-11-29 05:03:25'),\n(51592, 'Lake Bruin', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51593, 'Newellton', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51594, 'Newlight', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51595, 'Notnac', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51596, 'Somerset', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51597, 'Tensas Bluff', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51598, 'Westwood', 2798, '71357', '318', '32.092106', '-91.256684', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51599, 'Locust Ridge', 2798, '71366', '318', '31.953764', '-91.371884', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51600, 'Mayflower', 2798, '71366', '318', '31.953764', '-91.371884', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51601, 'Saint Joseph', 2798, '71366', '318', '31.953764', '-91.371884', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51602, 'Saranac', 2798, '71366', '318', '31.953764', '-91.371884', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51603, 'St Joseph', 2798, '71366', '318', '31.953764', '-91.371884', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51604, 'Wilsona', 2798, '71366', '318', '31.953764', '-91.371884', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51605, 'Ball', 2798, '71405', '318', '31.409608', '-92.398602', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51606, 'Pineville', 2798, '71405', '318', '31.409608', '-92.398602', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51607, 'Pollock', 2798, '71405', '318', '31.409608', '-92.398602', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51608, 'Creola', 2798, '71423', '318', '31.600471', '-92.546498', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51609, 'Dry Prong', 2798, '71423', '318', '31.600471', '-92.546498', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51610, 'Rock Hill', 2798, '71423', '318', '31.600471', '-92.546498', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51611, 'Williana', 2798, '71423', '318', '31.600471', '-92.546498', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51612, 'Bennetts Bay', 2798, '71430', '318', '31.048338', '-92.505894', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51613, 'Blue Lake', 2798, '71430', '318', '31.048338', '-92.505894', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51614, 'Bucks Landing', 2798, '71430', '318', '31.048338', '-92.505894', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51615, 'Camp Claiborne', 2798, '71430', '318', '31.048338', '-92.505894', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51616, 'Forest Hill', 2798, '71430', '318', '31.048338', '-92.505894', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51617, 'Midway', 2798, '71430', '318', '31.048338', '-92.505894', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51618, 'Hornbeck', 2798, '71439', '318', '31.33661', '-93.336148', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51619, 'Mora', 2798, '71455', '318', '31.372072', '-92.930104', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51620, 'Cypress', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51621, 'Hagewood', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51622, 'Irma', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51623, 'Natch', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51624, 'Natchitoches', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51625, 'Northwestern', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51626, 'Nsu', 2798, '71457', '318', '31.710774', '-93.064954', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51627, 'Gilbert', 2798, '71336', '318', '32.000835', '-91.615056', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51628, 'Kendricks Ferry', 2798, '71336', '318', '32.000835', '-91.615056', '2018-11-29 05:03:26', '2018-11-29 05:03:26'),\n(51629, 'Bayou Current', 2798, '71353', '337', '30.701328', '-91.779866', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51630, 'Bayou Rouge', 2798, '71353', '337', '30.701328', '-91.779866', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51631, 'Elba', 2798, '71353', '337', '30.701328', '-91.779866', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51632, 'Goodwood', 2798, '71353', '337', '30.701328', '-91.779866', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51633, 'Melville', 2798, '71353', '337', '30.701328', '-91.779866', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51634, 'Woodside', 2798, '71353', '337', '30.701328', '-91.779866', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51635, 'Aimwell', 2798, '71401', '318', '31.76018', '-91.987862', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51636, 'Benson', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51637, 'Converse', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51638, 'Hatcher', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51639, 'Houston Spur', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51640, 'Mitchell', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51641, 'Sardis', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51642, 'Union Springs', 2798, '71419', '318', '31.790629', '-93.737976', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51643, 'Grayson', 2798, '71435', '318', '32.080406', '-92.158643', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51644, 'Bellwood', 2798, '71468', '318', '31.504948', '-93.07021', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51645, 'Kisatchie', 2798, '71468', '318', '31.504948', '-93.07021', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51646, 'Provencal', 2798, '71468', '318', '31.504948', '-93.07021', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51647, 'St Rose', 2798, '70087', '504', '29.995182', '-90.320016', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51648, 'New Orleans', 2798, '70112', '504', '29.95822', '-90.076714', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51649, 'Jefferson', 2798, '70121', '504', '29.957698', '-90.156662', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51650, 'New Orleans', 2798, '70121', '504', '29.957698', '-90.156662', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51651, 'Shrewsbury', 2798, '70121', '504', '29.957698', '-90.156662', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51652, 'Chef Menteur', 2798, '70126', '504', '30.074361', '-90.00017', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51653, 'New Orleans', 2798, '70126', '504', '30.074361', '-90.00017', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51654, 'First Natl Bank Commerce', 2798, '70162', '504', '29.9545', '-90.0753', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51655, 'New Orleans', 2798, '70162', '504', '29.9545', '-90.0753', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51656, 'New Orleans', 2798, '70176', '504', '29.9545', '-90.0753', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51657, 'New Orleans', 2798, '70178', '504', '29.9545', '-90.0753', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51658, 'Donaldsonville', 2798, '70346', '225', '30.126073', '-91.010534', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51659, 'Donaldsonvlle', 2798, '70346', '225', '30.126073', '-91.010534', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51660, 'Mccall', 2798, '70346', '225', '30.126073', '-91.010534', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51661, 'Modeste', 2798, '70346', '225', '30.126073', '-91.010534', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51662, 'Kentwood', 2798, '70444', '985', '30.890012', '-90.483541', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51663, 'New Zion', 2798, '70444', '985', '30.890012', '-90.483541', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51664, 'Springcreek', 2798, '70444', '985', '30.890012', '-90.483541', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51665, 'Sunnyhill', 2798, '70444', '985', '30.890012', '-90.483541', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51666, 'Robert', 2798, '70455', '985', '30.521889', '-90.321183', '2018-11-29 05:03:27', '2018-11-29 05:03:27'),\n(51667, 'Head Of Island', 2798, '70462', '225', '30.377173', '-90.583374', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51668, 'Killian', 2798, '70462', '225', '30.377173', '-90.583374', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51669, 'Springfield', 2798, '70462', '225', '30.377173', '-90.583374', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51670, 'Mandeville', 2798, '70471', '985', '30.327015', '-90.059297', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51671, 'Lafayette', 2798, '70505', '337', '30.2236', '-92.0198', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51672, 'Abbeville', 2798, '70510', '337', '29.799826', '-92.186244', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51673, 'Cow Island', 2798, '70510', '337', '29.799826', '-92.186244', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51674, 'Meaux', 2798, '70510', '337', '29.799826', '-92.186244', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51675, 'Arnaudville', 2798, '70512', '337', '30.433516', '-91.923968', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51676, 'Baldwin', 2798, '70514', '337', '29.85432', '-91.556033', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51677, 'Jeanerette', 2798, '70544', '337', '29.886362', '-91.5091', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51678, 'Maurice', 2798, '70555', '337', '30.081241', '-92.155216', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51679, 'New Iberia', 2798, '70562', '337', '30.0034', '-91.8189', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51680, 'Lydia', 2798, '70569', '337', '29.9192', '-91.7956', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51681, 'Reddell', 2798, '70580', '337', '30.675013', '-92.426416', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51682, 'Bell City', 2798, '70630', '337', '30.053992', '-93.019147', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51683, 'Dry Creek', 2798, '70637', '337', '30.684539', '-93.019768', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51684, 'Grant', 2798, '70644', '337', '30.796206', '-92.951702', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51685, 'Hayes', 2798, '70646', '337', '30.096993', '-92.914815', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51686, 'Westlake', 2798, '70669', '337', '30.241443', '-93.271128', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51687, 'Brusly', 2798, '70719', '225', '30.386134', '-91.27258', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51688, 'Duplessis', 2798, '70728', '225', '30.2697', '-90.9384', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51689, 'Ethel', 2798, '70730', '225', '30.818004', '-91.126483', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51690, 'Oscar', 2798, '70762', '225', '30.570389', '-91.458265', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51691, 'Torbert', 2798, '70762', '225', '30.570389', '-91.458265', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51692, 'Plaquemine', 2798, '70764', '225', '30.200753', '-91.299698', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51693, 'Galvez', 2798, '70769', '225', '30.300788', '-90.924976', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51694, 'Lake', 2798, '70769', '225', '30.300788', '-90.924976', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51695, 'Prairieville', 2798, '70769', '225', '30.300788', '-90.924976', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51696, 'Rougon', 2798, '70773', '225', '30.601756', '-91.370311', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51697, 'Sunshine', 2798, '70780', '225', '30.298225', '-91.1745', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51698, 'Weyanoke', 2798, '70787', '225', '30.960429', '-91.473456', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51699, 'Baton Rouge', 2798, '70805', '225', '30.4893', '-91.153112', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51700, 'Baton Rouge', 2798, '70814', '225', '30.489375', '-91.073722', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51701, 'Baton Rouge', 2798, '70823', '225', '30.4506', '-91.1547', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51702, 'La Dept Of Revenue', 2798, '70823', '225', '30.4506', '-91.1547', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51703, 'La Dept Reven', 2798, '70823', '225', '30.4506', '-91.1547', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51704, 'Baton Rouge', 2798, '70873', '225', '30.45', '-91.18', '2018-11-29 05:03:28', '2018-11-29 05:03:28'),\n(51705, 'Baton Rouge', 2798, '70896', '225', '30.4506', '-91.1547', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51706, 'Bethany', 2798, '71007', '318', '32.381387', '-94.004597', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51707, 'Doyline', 2798, '71023', '318', '32.469193', '-93.388239', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51708, 'Gibsland', 2798, '71028', '318', '32.475906', '-93.065606', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51709, 'Mount Lebanon', 2798, '71028', '318', '32.475906', '-93.065606', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51710, 'Sailes', 2798, '71028', '318', '32.475906', '-93.065606', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51711, 'Dona', 2798, '71032', '318', '32.094172', '-93.769557', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51712, 'Grand Cane', 2798, '71032', '318', '32.094172', '-93.769557', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51713, 'Holly', 2798, '71032', '318', '32.094172', '-93.769557', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51714, 'Kingston', 2798, '71032', '318', '32.094172', '-93.769557', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51715, 'Heflin', 2798, '71039', '318', '32.435897', '-93.292508', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51716, 'Plain Dealing', 2798, '71064', '318', '32.900895', '-93.65736', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51717, 'Porterville', 2798, '71071', '318', '32.9075', '-93.445215', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51718, 'Sarepta', 2798, '71071', '318', '32.9075', '-93.445215', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51719, 'Trees', 2798, '71082', '318', '32.799456', '-93.948519', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51720, 'Vivian', 2798, '71082', '318', '32.799456', '-93.948519', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51721, 'Monroe', 2798, '71207', '318', '32.5092', '-92.1195', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51722, 'Bonita', 2798, '71223', '318', '32.908198', '-91.686831', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51723, 'Delhi', 2798, '71232', '318', '32.421878', '-91.543713', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51724, 'Dunn', 2798, '71232', '318', '32.421878', '-91.543713', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51725, 'Warden', 2798, '71232', '318', '32.421878', '-91.543713', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51726, 'Waverly', 2798, '71232', '318', '32.421878', '-91.543713', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51727, 'Pioneer', 2798, '71266', '318', '32.691048', '-91.490219', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51728, 'Center Point', 2798, '71323', '318', '31.26571', '-92.200474', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51729, 'Borodino', 2798, '71355', '318', '31.072084', '-91.858362', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51730, 'Lemoine Town', 2798, '71355', '318', '31.072084', '-91.858362', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51731, 'Moreauville', 2798, '71355', '318', '31.072084', '-91.858362', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51732, 'Aycock', 2798, '71040', '318', '32.777245', '-92.970261', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51733, 'Homer', 2798, '71040', '318', '32.777245', '-92.970261', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51734, 'Summerfield', 2798, '71079', '318', '32.936984', '-92.817756', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51735, 'Centenary', 2798, '71104', '318', '32.485435', '-93.729147', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51736, 'Shreveport', 2798, '71104', '318', '32.485435', '-93.729147', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51737, 'Cedar Grove', 2798, '71106', '318', '32.393759', '-93.728562', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51738, 'Forbing', 2798, '71106', '318', '32.393759', '-93.728562', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51739, 'Shreveport', 2798, '71106', '318', '32.393759', '-93.728562', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51740, 'Spring Lake', 2798, '71106', '318', '32.393759', '-93.728562', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51741, 'Bossier City', 2798, '71113', '318', '32.5155', '-93.7318', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51742, 'Shreveport', 2798, '71149', '318', '32.5253', '-93.7501', '2018-11-29 05:03:29', '2018-11-29 05:03:29'),\n(51743, 'Shreveport', 2798, '71163', '318', '32.5253', '-93.7501', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51744, 'Cadeville', 2798, '71238', '318', '32.357397', '-92.386187', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51745, 'Eros', 2798, '71238', '318', '32.357397', '-92.386187', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51746, 'Okaloosa', 2798, '71238', '318', '32.357397', '-92.386187', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51747, 'Jigger', 2798, '71249', '318', '32.0344', '-91.7464', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51748, 'Junction City', 2798, '71256', '318', '32.950818', '-92.695429', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51749, 'Lillie', 2798, '71256', '318', '32.950818', '-92.695429', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51750, 'Chickasaw', 2798, '71263', '318', '32.873172', '-91.433395', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51751, 'Concord', 2798, '71263', '318', '32.873172', '-91.433395', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51752, 'Goodwill', 2798, '71263', '318', '32.873172', '-91.433395', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51753, 'Oak Grove', 2798, '71263', '318', '32.873172', '-91.433395', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51754, 'Terry', 2798, '71263', '318', '32.873172', '-91.433395', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51755, 'Start', 2798, '71279', '318', '32.4865', '-91.8594', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51756, 'Swartz', 2798, '71281', '318', '32.5716', '-91.9828', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51757, 'Effie', 2798, '71331', '318', '31.270385', '-92.089954', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51758, 'Vick', 2798, '71331', '318', '31.270385', '-92.089954', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51759, 'Le Moyen', 2798, '71356', '318', '30.847158', '-92.028588', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51760, 'Morrow', 2798, '71356', '318', '30.847158', '-92.028588', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51761, 'Ruby', 2798, '71365', '318', '31.1892', '-92.2489', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51762, 'Clarks', 2798, '71415', '318', '32.03436', '-92.138178', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51763, 'Elmer', 2798, '71424', '318', '31.183224', '-92.67146', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51764, 'Hineston', 2798, '71438', '318', '31.110944', '-92.848365', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51765, 'La Camp', 2798, '71438', '318', '31.110944', '-92.848365', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51766, 'Lacamp', 2798, '71438', '318', '31.110944', '-92.848365', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51767, 'Leander', 2798, '71438', '318', '31.110944', '-92.848365', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51768, 'East Winnfield', 2798, '71440', '318', '31.9379', '-92.5858', '2018-11-29 05:03:30', '2018-11-29 05:03:30');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(51769, 'Gorhamtown', 2798, '71440', '318', '31.9379', '-92.5858', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51770, 'Joyce', 2798, '71440', '318', '31.9379', '-92.5858', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51771, 'Cane River', 2798, '71456', '318', '31.635456', '-92.973552', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51772, 'Natchez', 2798, '71456', '318', '31.635456', '-92.973552', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51773, 'Simpson', 2798, '71474', '337', '31.251656', '-93.020522', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51774, 'Temple', 2798, '71474', '337', '31.251656', '-93.020522', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51775, 'Rexmere', 2798, '71355', '318', '31.072084', '-91.858362', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51776, 'Voorhies', 2798, '71355', '318', '31.072084', '-91.858362', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51777, 'Zimmer', 2798, '71355', '318', '31.072084', '-91.858362', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51778, 'Black Hawk', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51779, 'Bougere', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51780, 'Deer Park', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:30', '2018-11-29 05:03:30'),\n(51781, 'Fairview', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51782, 'Green Acres', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51783, 'Hammet', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51784, 'Lucerne', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51785, 'Morville', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51786, 'Shaw', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51787, 'St Genevieve', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51788, 'Taconey', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51789, 'Vidalia', 2798, '71373', '318', '31.440813', '-91.530852', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51790, 'Bentley', 2798, '71407', '318', '31.513487', '-92.481084', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51791, 'Prospect', 2798, '71407', '318', '31.513487', '-92.481084', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51792, 'Clarence', 2798, '71414', '318', '31.815768', '-93.01685', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51793, 'Cloutierville', 2798, '71416', '318', '31.544912', '-92.874092', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51794, 'Derry', 2798, '71416', '318', '31.544912', '-92.874092', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51795, 'Georgetown', 2798, '71432', '318', '31.748413', '-92.456524', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51796, 'Mudville', 2798, '71432', '318', '31.748413', '-92.456524', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51797, 'Selma', 2798, '71432', '318', '31.748413', '-92.456524', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51798, 'Zion', 2798, '71432', '318', '31.748413', '-92.456524', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51799, 'Otis', 2798, '71466', '318', '31.227524', '-92.767303', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51800, 'Saint Maurice', 2798, '71471', '318', '31.7594', '-92.9586', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51801, 'St Maurice', 2798, '71471', '318', '31.7594', '-92.9586', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51802, 'Slagle', 2798, '71475', '337', '31.2022', '-93.1275', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51803, 'Leesville', 2798, '71496', '337', '31.1433', '-93.2605', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51804, 'Vienna', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51805, 'Woodville', 2798, '71270', '318', '32.494027', '-92.647467', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51806, 'Tallulah', 2798, '71284', '318', '32.4083', '-91.1867', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51807, 'Transylvania', 2798, '71286', '318', '32.666798', '-91.231426', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51808, 'Alex', 2798, '71302', '318', '31.209402', '-92.350384', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51809, 'Alexandria', 2798, '71302', '318', '31.209402', '-92.350384', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51810, 'Willow Glen', 2798, '71302', '318', '31.209402', '-92.350384', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51811, 'Evergreen', 2798, '71333', '318', '30.911677', '-92.070822', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51812, 'Goudeau', 2798, '71333', '318', '30.911677', '-92.070822', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51813, 'Melrose', 2798, '71452', '318', '31.610248', '-92.974477', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51814, 'Campground', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51815, 'Crews', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51816, 'Fletcher', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:31', '2018-11-29 05:03:31'),\n(51817, 'Hall', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51818, 'Hargis', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51819, 'Jowers', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51820, 'Kadesh', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51821, 'Montgomery', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51822, 'Mount Zion', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51823, 'Nantatchie', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51824, 'New Hope', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51825, 'New Salem', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51826, 'New Verda', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51827, 'Odra', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51828, 'Patch Leg', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51829, 'Pecan Acres', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51830, 'Shell Point', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51831, 'Three Bridges', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51832, 'Union Grove', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51833, 'Union Hill', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51834, 'Verda', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51835, 'Wheeling', 2798, '71454', '318', '31.683286', '-92.84996', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51836, 'Brookwood', 2798, '71485', '318', '31.155283', '-92.528803', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51837, 'Castor Plunge', 2798, '71485', '318', '31.155283', '-92.528803', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51838, 'Indian Creek', 2798, '71485', '318', '31.155283', '-92.528803', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51839, 'Timberlake', 2798, '71485', '318', '31.155283', '-92.528803', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51840, 'Woodworth', 2798, '71485', '318', '31.155283', '-92.528803', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51841, 'Andover', 2799, '05501', '978', '42.6495', '-71.1838', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51842, 'Internal Revenue Service', 2799, '05501', '978', '42.6495', '-71.1838', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51843, 'Lansdowne', 2800, '21227', '410', '39.241163', '-76.671835', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51844, 'Baltimore', 2800, '21234', '410', '39.391936', '-76.529468', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51845, 'Parkville', 2800, '21234', '410', '39.391936', '-76.529468', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51846, 'Baltimore', 2800, '21236', '410', '39.389278', '-76.488265', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51847, 'Nottingham', 2800, '21236', '410', '39.389278', '-76.488265', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51848, 'Baltimore', 2800, '21250', '410', '39.252078', '-76.708412', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51849, 'Catonsville', 2800, '21250', '410', '39.252078', '-76.708412', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51850, 'Univ Of Md Baltimore County', 2800, '21250', '410', '39.252078', '-76.708412', '2018-11-29 05:03:32', '2018-11-29 05:03:32'),\n(51851, 'Baltimore', 2800, '21252', '410', '39.387026', '-76.617784', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51852, 'Towson', 2800, '21252', '410', '39.387026', '-76.617784', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51853, 'Towson State University', 2800, '21252', '410', '39.387026', '-76.617784', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51854, 'Abingdon', 2800, '21009', '410', '39.473352', '-76.287036', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51855, 'Chase', 2800, '21027', '410', '39.3636', '-76.3714', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51856, 'Madison', 2801, '04950', '207', '44.835365', '-69.804684', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51857, 'Adamstown Twp', 2801, '04964', '207', '44.874401', '-70.73334', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51858, 'Oquossoc', 2801, '04964', '207', '44.874401', '-70.73334', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51859, 'Avon', 2801, '04966', '207', '44.864346', '-70.413982', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51860, 'Madrid Twp', 2801, '04966', '207', '44.864346', '-70.413982', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51861, 'Phillips', 2801, '04966', '207', '44.864346', '-70.413982', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51862, 'Searsmont', 2801, '04973', '207', '44.35982', '-69.20033', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51863, 'Shawmut', 2801, '04975', '207', '44.6205', '-69.5881', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51864, 'Temple', 2801, '04984', '207', '44.6976', '-70.281658', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51865, 'Vassalboro', 2801, '04989', '207', '44.430027', '-69.647541', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51866, 'Whiting', 2801, '04691', '207', '44.854761', '-67.08073', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51867, 'Rockland', 2801, '04841', '207', '44.125254', '-69.133633', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51868, 'Islesboro', 2801, '04848', '207', '44.312018', '-68.914', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51869, 'Port Clyde', 2801, '04855', '207', '43.9276', '-69.2603', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51870, 'Gouldsboro', 2801, '04607', '207', '44.523335', '-68.074402', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51871, 'S Gouldsboro', 2801, '04607', '207', '44.523335', '-68.074402', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51872, 'South Gouldsboro', 2801, '04607', '207', '44.523335', '-68.074402', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51873, 'Blue Hill', 2801, '04614', '207', '44.408537', '-68.587088', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51874, 'Centerville', 2801, '04623', '207', '44.691495', '-67.711899', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51875, 'Columbia', 2801, '04623', '207', '44.691495', '-67.711899', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51876, 'Estcourt Sta', 2801, '04741', '207', '47.369607', '-69.188449', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51877, 'Estcourt Station', 2801, '04741', '207', '47.369607', '-69.188449', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51878, 'Stillwater', 2801, '04489', '207', '44.9086', '-68.6869', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51879, 'Vanceboro', 2801, '04491', '207', '45.553292', '-67.475434', '2018-11-29 05:03:33', '2018-11-29 05:03:33'),\n(51880, 'China Village', 2801, '04926', '207', '44.4788', '-69.5176', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51881, 'China Vlg', 2801, '04926', '207', '44.4788', '-69.5176', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51882, 'Corinna', 2801, '04928', '207', '44.945902', '-69.23408', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51883, 'Fort Kent Mills', 2801, '04744', '207', '47.2386', '-68.5845', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51884, 'Ft Kent Mls', 2801, '04744', '207', '47.2386', '-68.5845', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51885, 'Grand Isle', 2801, '04746', '207', '47.265778', '-68.130983', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51886, 'Lille', 2801, '04746', '207', '47.265778', '-68.130983', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51887, 'Monticello', 2801, '04760', '207', '46.346535', '-67.867783', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51888, 'Houlton', 2801, '04761', '207', '46.119063', '-67.972604', '2018-11-29 05:03:34', '2018-11-29 05:03:34'),\n(51889, 'New Limerick', 2801, '04761', '207', '46.119063', '-67.972604', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51890, 'New Sweden', 2801, '04762', '207', '46.969894', '-68.121028', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51891, 'Sherman', 2801, '04776', '207', '45.809432', '-68.304412', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51892, 'Sherman Mills', 2801, '04776', '207', '45.809432', '-68.304412', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51893, 'Silver Ridge', 2801, '04776', '207', '45.809432', '-68.304412', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51894, 'Silver Ridge Twp', 2801, '04776', '207', '45.809432', '-68.304412', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51895, 'Herseytown Twp', 2801, '04777', '207', '45.856356', '-68.481414', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51896, 'Hrsytown Twp', 2801, '04777', '207', '45.856356', '-68.481414', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51897, 'Sherman Sta', 2801, '04777', '207', '45.856356', '-68.481414', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51898, 'Sherman Station', 2801, '04777', '207', '45.856356', '-68.481414', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51899, 'West Tremont', 2801, '04612', '207', '44.250113', '-68.353979', '2018-11-29 05:03:35', '2018-11-29 05:03:35'),\n(51900, 'Fort Kent', 2801, '04743', '207', '47.109638', '-68.689342', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51901, 'New Canada', 2801, '04743', '207', '47.109638', '-68.689342', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51902, 'St John Plt', 2801, '04743', '207', '47.109638', '-68.689342', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51903, 'Frenchville', 2801, '04745', '207', '47.278097', '-68.391046', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51904, 'Upper Frenchville', 2801, '04745', '207', '47.278097', '-68.391046', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51905, 'Upper Frnchvl', 2801, '04745', '207', '47.278097', '-68.391046', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51906, 'Winn', 2801, '04495', '207', '45.463754', '-68.323293', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51907, 'Cutler', 2801, '04626', '207', '44.687476', '-67.223715', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51908, 'Harrington', 2801, '04643', '207', '44.576334', '-67.817968', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51909, 'Hulls Cove', 2801, '04644', '207', '44.4193', '-68.2514', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51910, 'Atkinson', 2801, '04426', '207', '45.238598', '-69.204766', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51911, 'Bowerbank', 2801, '04426', '207', '45.238598', '-69.204766', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51912, 'Dover Foxcroft', 2801, '04426', '207', '45.238598', '-69.204766', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51913, 'Belmont', 2801, '04952', '207', '44.404428', '-69.156969', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51914, 'Morrill', 2801, '04952', '207', '44.404428', '-69.156969', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51915, 'New Sharon', 2801, '04955', '207', '44.644647', '-70.00737', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51916, 'Plymouth', 2801, '04969', '207', '44.771673', '-69.214974', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51917, 'Coplin Plt', 2801, '04970', '207', '44.967262', '-70.63882', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51918, 'Dallas Plt', 2801, '04970', '207', '44.967262', '-70.63882', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51919, 'Lang Twp', 2801, '04970', '207', '44.967262', '-70.63882', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51920, 'Jim Pond Twp', 2801, '04936', '207', '45.400842', '-70.630941', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51921, 'Brooksville', 2801, '04617', '207', '44.366149', '-68.7406', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51922, 'Newport', 2801, '04953', '207', '44.859006', '-69.224352', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51923, 'N New Portlnd', 2801, '04954', '207', '44.87974', '-70.042414', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51924, 'New Portland', 2801, '04954', '207', '44.87974', '-70.042414', '2018-11-29 05:03:36', '2018-11-29 05:03:36'),\n(51925, 'North New Portland', 2801, '04954', '207', '44.87974', '-70.042414', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51926, 'Saint Albans', 2801, '04971', '207', '44.922447', '-69.390448', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51927, 'Matinicus', 2801, '04851', '207', '43.848106', '-68.891844', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51928, 'Waterville', 2801, '04903', '207', '44.5517', '-69.6322', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51929, 'Brooks', 2801, '04921', '207', '44.565952', '-69.164214', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51930, 'Jackson', 2801, '04921', '207', '44.565952', '-69.164214', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51931, 'Defense Finance Accounting', 2801, '04751', '207', '46.959914', '-67.886698', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51932, 'Limestone', 2801, '04751', '207', '46.959914', '-67.886698', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51933, 'Greenville', 2801, '04485', '207', '45.3646', '-69.6212', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51934, 'Shirley', 2801, '04485', '207', '45.3646', '-69.6212', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51935, 'Shirley Mills', 2801, '04485', '207', '45.3646', '-69.6212', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51936, 'Machias', 2801, '04654', '207', '44.795059', '-67.57089', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51937, 'Marshfield', 2801, '04654', '207', '44.795059', '-67.57089', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51938, 'Northfield', 2801, '04654', '207', '44.795059', '-67.57089', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51939, 'Roque Bluffs', 2801, '04654', '207', '44.795059', '-67.57089', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51940, 'Whitneyville', 2801, '04654', '207', '44.795059', '-67.57089', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51941, 'E Moxie Twp', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51942, 'East Moxie Twp', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51943, 'Indian Stream', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51944, 'Indian Stream Twp', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51945, 'Moxie Gore', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51946, 'Moxie Gore Twp', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51947, 'The Forks Plt', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51948, 'West Forks', 2801, '04985', '207', '45.427521', '-69.975224', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51949, 'Knox', 2801, '04986', '207', '44.573891', '-69.23161', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51950, 'Thorndike', 2801, '04986', '207', '44.573891', '-69.23161', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51951, 'Machias', 2801, '04686', '207', '44.7153', '-67.4619', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51952, 'Wesley', 2801, '04686', '207', '44.7153', '-67.4619', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51953, 'Wade', 2801, '04786', '207', '46.787579', '-68.166406', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51954, 'Washburn', 2801, '04786', '207', '46.787579', '-68.166406', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51955, 'Benton', 2801, '04901', '207', '44.557281', '-69.580299', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51956, 'Waterville', 2801, '04901', '207', '44.557281', '-69.580299', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51957, 'Winslow', 2801, '04901', '207', '44.557281', '-69.580299', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51958, 'Bingham', 2801, '04920', '207', '45.14199', '-69.879158', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51959, 'Concord Twp', 2801, '04920', '207', '45.14199', '-69.879158', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51960, 'Moscow', 2801, '04920', '207', '45.14199', '-69.879158', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51961, 'Pleasant Ridge Plt', 2801, '04920', '207', '45.14199', '-69.879158', '2018-11-29 05:03:37', '2018-11-29 05:03:37'),\n(51962, 'Plsnt Rdg Plt', 2801, '04920', '207', '45.14199', '-69.879158', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51963, 'E Vassalboro', 2801, '04935', '207', '44.4478', '-69.6066', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51964, 'East Vassalboro', 2801, '04935', '207', '44.4478', '-69.6066', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51965, 'Chain Of Pnds', 2801, '04936', '207', '45.400842', '-70.630941', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51966, 'Chain Of Ponds Twp', 2801, '04936', '207', '45.400842', '-70.630941', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51967, 'Coburn Gore', 2801, '04936', '207', '45.400842', '-70.630941', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51968, 'Eustis', 2801, '04936', '207', '45.400842', '-70.630941', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51969, 'Hinckley', 2801, '04944', '207', '44.6859', '-69.6332', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51970, 'N Vassalboro', 2801, '04962', '207', '44.467508', '-69.60767', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51971, 'North Vassalboro', 2801, '04962', '207', '44.467508', '-69.60767', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51972, 'Oakland', 2801, '04963', '207', '44.564851', '-69.805955', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51973, 'Rome', 2801, '04963', '207', '44.564851', '-69.805955', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51974, 'Glen Cove', 2801, '04846', '207', '44.1363', '-69.0957', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51975, 'Albion', 2801, '04910', '207', '44.520622', '-69.44417', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51976, 'Bar Harbor', 2801, '04609', '207', '44.35722', '-68.28679', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51977, 'Bernard', 2801, '04612', '207', '44.250113', '-68.353979', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51978, 'Solon', 2801, '04979', '207', '44.984748', '-69.802981', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51979, 'Winter Harbor', 2801, '04693', '207', '44.378704', '-68.093256', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51980, 'Appleton', 2801, '04862', '207', '44.26582', '-69.279608', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51981, 'Union', 2801, '04862', '207', '44.26582', '-69.279608', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51982, 'Vinalhaven', 2801, '04863', '207', '44.081538', '-68.844472', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51983, 'Troy', 2802, '48099', '248', '42.6057', '-83.1502', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51984, 'Ann Arbor', 2802, '48108', '734', '42.223407', '-83.729175', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51985, 'Erie', 2802, '48133', '734', '41.786094', '-83.487384', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51986, 'Livonia', 2802, '48151', '734', '42.3685', '-83.3529', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51987, 'Northville', 2802, '48167', '248', '42.44098', '-83.522422', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51988, 'Northville Township', 2802, '48167', '248', '42.44098', '-83.522422', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51989, 'Northville Tw', 2802, '48167', '248', '42.44098', '-83.522422', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51990, 'Dexter Twp', 2802, '48169', '734', '42.459222', '-83.944687', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51991, 'Pinckney', 2802, '48169', '734', '42.459222', '-83.944687', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51992, 'Putnam Twp', 2802, '48169', '734', '42.459222', '-83.944687', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51993, 'Brownstown', 2802, '48174', '734', '42.202913', '-83.344162', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51994, 'Brownstown Township', 2802, '48174', '734', '42.202913', '-83.344162', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51995, 'Brownstown Twp', 2802, '48174', '734', '42.202913', '-83.344162', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51996, 'Brownstwn Twp', 2802, '48174', '734', '42.202913', '-83.344162', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51997, 'Romulus', 2802, '48174', '734', '42.202913', '-83.344162', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51998, 'Saline', 2802, '48176', '734', '42.144392', '-83.817346', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(51999, 'Detroit', 2802, '48210', '313', '42.337771', '-83.12543', '2018-11-29 05:03:38', '2018-11-29 05:03:38'),\n(52000, 'Delray', 2802, '48217', '313', '42.275796', '-83.153529', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52001, 'Detroit', 2802, '48217', '313', '42.275796', '-83.153529', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52002, 'Detroit', 2802, '48224', '313', '42.41165', '-82.939445', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52003, 'Grosse Pointe', 2802, '48224', '313', '42.41165', '-82.939445', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52004, 'Grosse Pointe Park', 2802, '48224', '313', '42.41165', '-82.939445', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52005, 'Detroit', 2802, '48242', '734', '42.215646', '-83.350854', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52006, 'Detroit', 2802, '48244', '313', '42.3317', '-83.0456', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52007, 'Detroit', 2802, '48260', '313', '42.3317', '-83.0456', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52008, 'Dte', 2802, '48260', '313', '42.3317', '-83.0456', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52009, 'St Heights', 2802, '48310', '586', '42.564518', '-83.068943', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52010, 'Sterling Heights', 2802, '48310', '586', '42.564518', '-83.068943', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52011, 'Sterling Hts', 2802, '48310', '586', '42.564518', '-83.068943', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52012, 'White Lake', 2802, '48383', '248', '42.655596', '-83.529724', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52013, 'Applegate', 2802, '48401', '810', '43.345032', '-82.669878', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52014, 'Argyle', 2802, '48410', '810', '43.5707', '-82.9563', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52015, 'Carsonville', 2802, '48419', '810', '43.43376', '-82.660837', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52016, 'Kendrick', 2805, '38834', '662', '34.897706', '-88.579443', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52017, 'Kossuth', 2805, '38834', '662', '34.897706', '-88.579443', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52018, 'Wenasoga', 2805, '38834', '662', '34.897706', '-88.579443', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52019, 'Houlka', 2805, '38850', '662', '34.081149', '-89.003837', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52020, 'Old Houlka', 2805, '38850', '662', '34.081149', '-89.003837', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52021, 'Eastport', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52022, 'Gravel Siding', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52023, 'Holcut', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52024, 'Iuka', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52025, 'Midway', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52026, 'North Crossroads', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52027, 'Oldham', 2805, '38852', '662', '34.825648', '-88.223142', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52028, 'Grenada', 2805, '38902', '662', '33.7689', '-89.8083', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52029, 'Alva', 2805, '38925', '662', '33.614991', '-89.652365', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52030, 'Cedar Hill', 2805, '38925', '662', '33.614991', '-89.652365', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52031, 'Duck Hill', 2805, '38925', '662', '33.614991', '-89.652365', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52032, 'Sweatman', 2805, '38925', '662', '33.614991', '-89.652365', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52033, 'Enid', 2805, '38927', '662', '34.124662', '-90.030644', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52034, 'Teasdale', 2805, '38927', '662', '34.124662', '-90.030644', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52035, 'Mc Carley', 2805, '38943', '662', '33.581746', '-89.856504', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52036, 'Mccarley', 2805, '38943', '662', '33.581746', '-89.856504', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52037, 'Macel', 2805, '38950', '662', '33.757841', '-90.225026', '2018-11-29 05:03:39', '2018-11-29 05:03:39'),\n(52038, 'Philipp', 2805, '38950', '662', '33.757841', '-90.225026', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52039, 'Sumner', 2805, '38957', '662', '33.979854', '-90.340074', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52040, 'Itta Bena', 2805, '38959', '662', '33.311022', '-90.412636', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52041, 'Swiftown', 2805, '38959', '662', '33.311022', '-90.412636', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52042, 'Delta City', 2805, '39061', '662', '33.070159', '-90.839143', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52043, 'Mize', 2805, '39116', '601', '31.856514', '-89.553503', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52044, 'Grand Gulf', 2805, '39150', '601', '31.986249', '-91.057181', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52045, 'Port Gibson', 2805, '39150', '601', '31.986249', '-91.057181', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52046, 'Fitler', 2805, '39159', '662', '32.718087', '-90.986463', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52047, 'Onward', 2805, '39159', '662', '32.718087', '-90.986463', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52048, 'Rolling Fork', 2805, '39159', '662', '32.718087', '-90.986463', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52049, 'Cayuga', 2805, '39175', '601', '32.080983', '-90.583928', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52050, 'Hinds Junior College', 2805, '39175', '601', '32.080983', '-90.583928', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52051, 'Utica', 2805, '39175', '601', '32.080983', '-90.583928', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52052, 'Utica Junior College', 2805, '39175', '601', '32.080983', '-90.583928', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52053, 'Valley Park', 2805, '39177', '601', '32.556689', '-90.839726', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52054, 'Jackson', 2805, '39236', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52055, 'Jax', 2805, '39236', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52056, 'Jksn', 2805, '39236', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52057, 'Jxn', 2805, '39236', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52058, 'Jackson', 2805, '39250', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52059, 'Jax', 2805, '39250', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52060, 'Jksn', 2805, '39250', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52061, 'Jxn', 2805, '39250', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52062, 'Regions Bank', 2805, '39250', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52063, 'Jackson', 2805, '39284', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52064, 'Jax', 2805, '39284', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52065, 'Jksn', 2805, '39284', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52066, 'Jxn', 2805, '39284', '601', '32.2986', '-90.1849', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52067, 'Newton', 2805, '39345', '601', '32.316932', '-89.17376', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52068, 'Choctaw', 2805, '39350', '601', '32.776031', '-89.122819', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52069, 'Philadelphia', 2805, '39350', '601', '32.776031', '-89.122819', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52070, 'Eastabuchie', 2805, '39436', '601', '31.456956', '-89.303362', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52071, 'Agricola', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52072, 'Basin', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52073, 'Harleston', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52074, 'Latonia', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:40', '2018-11-29 05:03:40'),\n(52075, 'Lucedale', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52076, 'Merrill', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52077, 'Movella', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52078, 'Shipman', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52079, 'Vernal', 2805, '39452', '601', '30.80578', '-88.647225', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52080, 'Neely', 2805, '39461', '601', '31.198557', '-88.735414', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52081, 'Barth', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52082, 'Crossroads', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52083, 'Derby', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52084, 'Fords Creek', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52085, 'Hillsdale', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52086, 'Poplarville', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52087, 'Savannah', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52088, 'West Poplarville', 2805, '39470', '601', '30.817142', '-89.588432', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52089, 'Eminence', 2805, '39479', '601', '31.538185', '-89.475246', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52090, 'Gandsi', 2805, '39479', '601', '31.538185', '-89.475246', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52091, 'Sanford', 2805, '39479', '601', '31.538185', '-89.475246', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52092, 'Seminary', 2805, '39479', '601', '31.538185', '-89.475246', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52093, 'Escatawpa', 2805, '39552', '228', '30.4403', '-88.5436', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52094, 'Mc Henry', 2805, '39561', '601', '30.710794', '-89.176514', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52095, 'Mchenry', 2805, '39561', '601', '30.710794', '-89.176514', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52096, 'Whites Crossing', 2805, '39577', '601', '30.900519', '-89.095252', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52097, 'Wiggins', 2805, '39577', '601', '30.900519', '-89.095252', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52098, 'Navy Homeport', 2805, '39595', '228', '30.3627', '-88.5463', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52099, 'Pascagoula', 2805, '39595', '228', '30.3627', '-88.5463', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52100, 'Pascagoula Naval Air Station', 2805, '39595', '228', '30.3627', '-88.5463', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52101, 'Darbun', 2805, '39643', '601', '31.243137', '-89.99083', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52102, 'Kokomo', 2805, '39643', '601', '31.243137', '-89.99083', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52103, 'Liberty', 2805, '39645', '601', '31.174407', '-90.755404', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52104, 'Columbus', 2805, '39704', '662', '33.691327', '-88.32873', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52105, 'Eutaw', 2805, '38725', '662', '33.656478', '-91.067132', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52106, 'Grapeland', 2805, '38725', '662', '33.656478', '-91.067132', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52107, 'Longshot', 2805, '38725', '662', '33.656478', '-91.067132', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52108, 'Merigold', 2805, '38759', '662', '33.8242', '-90.663544', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52109, 'Rome', 2805, '38768', '662', '33.957453', '-90.522658', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52110, 'Winterville', 2805, '38782', '662', '33.5059', '-91.0628', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52111, 'Biggersville', 2805, '38834', '662', '34.897706', '-88.579443', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52112, 'Corinth', 2805, '38834', '662', '34.897706', '-88.579443', '2018-11-29 05:03:41', '2018-11-29 05:03:41'),\n(52113, 'Farmington', 2805, '38834', '662', '34.897706', '-88.579443', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52114, 'Marble', 2807, '28905', '828', '35.161114', '-83.927575', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52115, 'Eure', 2807, '27935', '252', '36.424173', '-76.858867', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52116, 'Durants Neck', 2807, '27944', '252', '36.184575', '-76.391049', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52117, 'Hertford', 2807, '27944', '252', '36.184575', '-76.391049', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52118, 'Mccullers', 2807, '27603', '919', '35.683682', '-78.664144', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52119, 'Raleigh', 2807, '27603', '919', '35.683682', '-78.664144', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52120, 'Crabtree Valley', 2807, '27612', '919', '35.851876', '-78.702013', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52121, 'Duraleigh', 2807, '27612', '919', '35.851876', '-78.702013', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52122, 'Raleigh', 2807, '27612', '919', '35.851876', '-78.702013', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52123, 'Raleigh', 2807, '27621', '919', '35.7719', '-78.6388', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52124, 'Raleigh', 2807, '27626', '919', '35.7719', '-78.6388', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52125, 'Grimesland', 2807, '27837', '252', '35.513026', '-77.201504', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52126, 'Essex', 2807, '27844', '252', '36.251473', '-77.932841', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52127, 'Hollister', 2807, '27844', '252', '36.251473', '-77.932841', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52128, 'Murfreesboro', 2807, '27855', '252', '36.420116', '-77.065312', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52129, 'Pantego', 2807, '27860', '252', '35.623305', '-76.718936', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52130, 'Cary', 2807, '27512', '919', '35.7917', '-78.7816', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52131, 'Kittrell', 2807, '27544', '252', '36.199648', '-78.45392', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52132, 'Lillington', 2807, '27546', '910', '35.345167', '-78.868212', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52133, 'Nc Library', 2807, '27635', '919', '35.7719', '-78.6388', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52134, 'Raleigh', 2807, '27635', '919', '35.7719', '-78.6388', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52135, 'Morrisville', 2807, '27560', '919', '35.861991', '-78.818149', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52136, 'New Hill', 2807, '27562', '919', '35.641473', '-78.967191', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52137, 'Wake Forest', 2807, '27587', '919', '35.981296', '-78.550181', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52138, 'Bakersville', 2807, '28705', '828', '36.043874', '-82.232506', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52139, 'Lake Santeetlah', 2807, '28771', '828', '35.341744', '-83.847258', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52140, 'Lk Santeetlah', 2807, '28771', '828', '35.341744', '-83.847258', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52141, 'Robbinsville', 2807, '28771', '828', '35.341744', '-83.847258', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52142, 'Tapoco', 2807, '28771', '828', '35.341744', '-83.847258', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52143, 'Saluda', 2807, '28773', '828', '35.253586', '-82.321447', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52144, 'Hendersonville', 2807, '28791', '828', '35.363026', '-82.511119', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52145, 'Hendersonvlle', 2807, '28791', '828', '35.363026', '-82.511119', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52146, 'Plumtree', 2807, '28664', '704', '36.0267', '-82.0082', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52147, 'Clyde', 2807, '28721', '828', '35.649276', '-82.97283', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52148, 'Carolina Hills', 2807, '28732', '828', '35.45761', '-82.482468', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52149, 'Fletcher', 2807, '28732', '828', '35.45761', '-82.482468', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52150, 'Morganton', 2807, '28680', '828', '35.7456', '-81.6852', '2018-11-29 05:03:42', '2018-11-29 05:03:42'),\n(52151, 'Stella', 2807, '28582', '910', '34.75852', '-77.143284', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52152, 'Vandemere', 2807, '28587', '252', '35.188808', '-76.66897', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52153, 'Williston', 2807, '28589', '252', '34.805568', '-76.499234', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52154, 'Adams', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52155, 'Boone', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52156, 'Deerfield', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52157, 'Grandview Heights', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52158, 'Hillcrest', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52159, 'Hodges Gap', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52160, 'Laxon', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52161, 'Meat Camp', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52162, 'Perkinsville', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52163, 'Rutherwood', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52164, 'Sands', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52165, 'Shulls Mills', 2807, '28607', '828', '36.225041', '-81.656946', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52166, 'Chinquapin', 2807, '28521', '910', '34.819234', '-77.734893', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52167, 'Cove City', 2807, '28523', '252', '35.205071', '-77.288321', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52168, 'Hobucken', 2807, '28537', '252', '35.25232', '-76.539976', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52169, 'Hubert', 2807, '28539', '910', '34.660524', '-77.259458', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52170, 'Jacksonville', 2807, '28546', '910', '34.817584', '-77.375096', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52171, 'Morehead City', 2807, '28557', '252', '34.738947', '-76.766436', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52172, 'New Bern', 2807, '28562', '252', '35.071026', '-77.114132', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52173, 'Trent Woods', 2807, '28562', '252', '35.071026', '-77.114132', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52174, 'Magnolia', 2807, '28453', '910', '34.874702', '-78.076328', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52175, 'Teachey', 2807, '28464', '910', '34.776228', '-78.021058', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52176, 'Pollocksville', 2807, '28573', '252', '35.024252', '-77.232858', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52177, 'Laurinburg', 2807, '28353', '910', '34.7736', '-79.4632', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52178, 'Lemon Springs', 2807, '28355', '919', '35.3686', '-79.1856', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52179, 'Pinebluff', 2807, '28373', '910', '35.086934', '-79.510052', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52180, 'Rockingham', 2807, '28380', '910', '34.9496', '-79.7549', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52181, 'Southern Pines', 2807, '28387', '910', '35.172066', '-79.389525', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52182, 'Southern Pnes', 2807, '28387', '910', '35.172066', '-79.389525', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52183, 'Wagram', 2807, '28396', '910', '34.903002', '-79.425993', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52184, 'New Hanover County Airport', 2807, '28405', '910', '34.27068', '-77.859495', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52185, 'Wilm', 2807, '28405', '910', '34.27068', '-77.859495', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52186, 'Wilmington', 2807, '28405', '910', '34.27068', '-77.859495', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52187, 'Atkinson', 2807, '28421', '910', '34.508993', '-78.188812', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52188, 'Gilkey', 2807, '28139', '828', '35.334654', '-82.035952', '2018-11-29 05:03:43', '2018-11-29 05:03:43'),\n(52189, 'Logan Station', 2807, '28139', '828', '35.334654', '-82.035952', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52190, 'Ruth', 2807, '28139', '828', '35.334654', '-82.035952', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52191, 'Charlotte', 2807, '28280', '704', '35.2229', '-80.8452', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52192, 'Charlotte', 2807, '28287', '704', '35.2229', '-80.8452', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52193, 'Branch Bank And Trust (Bb&t)', 2807, '28289', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52194, 'Charlotte', 2807, '28289', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52195, 'Charlotte', 2807, '28296', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52196, 'Wachovia Bank', 2807, '28296', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52197, 'Fayetteville', 2807, '28305', '910', '35.056344', '-78.908696', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52198, 'Haymount', 2807, '28305', '910', '35.056344', '-78.908696', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52199, 'Fayetteville', 2807, '28314', '910', '35.06445', '-79.018656', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52200, 'Bunnlevel', 2807, '28323', '910', '35.315817', '-78.855056', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52201, 'Erwin', 2807, '28339', '910', '35.327042', '-78.741944', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52202, 'Gastonia', 2807, '28055', '704', '35.2616', '-81.1875', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52203, 'Rutherfordton', 2807, '28139', '828', '35.334654', '-82.035952', '2018-11-29 05:03:44', '2018-11-29 05:03:44');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(52204, 'Shingle Hollow', 2807, '28139', '828', '35.334654', '-82.035952', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52205, 'Westminster', 2807, '28139', '828', '35.334654', '-82.035952', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52206, 'Charlotte', 2807, '28221', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52207, 'Charlotte', 2807, '28228', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52208, 'United States Postal Service', 2807, '28228', '704', '35.2267', '-80.8434', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52209, 'Plymouth', 2807, '27962', '252', '35.813176', '-76.753124', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52210, 'Roduco', 2807, '27969', '252', '36.4614', '-76.8125', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52211, 'Marshville', 2807, '28103', '704', '35.005014', '-80.35865', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52212, 'Olive Branch', 2807, '28103', '704', '35.005014', '-80.35865', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52213, 'Aquadale', 2807, '28128', '704', '35.218841', '-80.159832', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52214, 'Cottonville', 2807, '28128', '704', '35.218841', '-80.159832', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52215, 'Norwood', 2807, '28128', '704', '35.218841', '-80.159832', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52216, 'Porter', 2807, '28128', '704', '35.218841', '-80.159832', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52217, 'Sharpsburg', 2807, '27878', '252', '35.865594', '-77.83036', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52218, 'Sims', 2807, '27880', '252', '35.738707', '-78.107894', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52219, 'Tillery', 2807, '27887', '252', '36.2514', '-77.4856', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52220, 'Asheville', 2807, '28805', '828', '35.621282', '-82.479158', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52221, 'East Franklin', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52222, 'Ellijay', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52223, 'Franklin', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52224, 'Hickory Knoll', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52225, 'Higdonville', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:44', '2018-11-29 05:03:44'),\n(52226, 'Iotla', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52227, 'Prentiss', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52228, 'Riverside', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52229, 'Union', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52230, 'Watauga', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52231, 'Glenwood', 2807, '28737', '828', '35.6145', '-81.9824', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52232, 'Marion', 2807, '28737', '828', '35.6145', '-81.9824', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52233, 'Lynn', 2807, '28750', '828', '35.2284', '-82.2333', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52234, 'Petersburg', 2807, '28655', '828', '35.761193', '-81.723971', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52235, 'Wrightsville Beach', 2807, '28480', '910', '34.216897', '-77.793306', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52236, 'Writsvlle Bch', 2807, '28480', '910', '34.216897', '-77.793306', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52237, 'Atlantic Bch', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52238, 'Atlantic Beach', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52239, 'Atlanticbeach', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52240, 'Fort Macon Coast Guard Base', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52241, 'Indian Beach', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52242, 'Pine Knoll Shores', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52243, 'Pks', 2807, '28512', '252', '34.697271', '-76.792974', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52244, 'Maysville', 2807, '28555', '910', '34.852952', '-77.233579', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52245, 'Cerro Gordo', 2807, '28430', '910', '34.287423', '-78.924698', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52246, 'Fair Bluff', 2807, '28439', '910', '34.304215', '-79.019428', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52247, 'Kelly', 2807, '28448', '910', '34.504955', '-78.309872', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52248, 'Rocky Point', 2807, '28457', '910', '34.474315', '-77.89169', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52249, 'Hope Mills', 2807, '28348', '910', '34.925262', '-78.916161', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52250, 'Asheville', 2807, '28803', '828', '35.532014', '-82.522711', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52251, 'Biltmore Forest', 2807, '28803', '828', '35.532014', '-82.522711', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52252, 'Biltmore Frst', 2807, '28803', '828', '35.532014', '-82.522711', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52253, 'Brownwood', 2807, '28684', '336', '36.334618', '-81.61625', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52254, 'Tamarack', 2807, '28684', '336', '36.334618', '-81.61625', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52255, 'Todd', 2807, '28684', '336', '36.334618', '-81.61625', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52256, 'Toliver', 2807, '28684', '336', '36.334618', '-81.61625', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52257, 'Woodford', 2807, '28684', '336', '36.334618', '-81.61625', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52258, 'Alexander', 2807, '28701', '828', '35.706464', '-82.650825', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52259, 'Almond', 2807, '28702', '828', '35.383864', '-83.637434', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52260, 'Cashiers', 2807, '28717', '828', '35.078206', '-83.093726', '2018-11-29 05:03:45', '2018-11-29 05:03:45'),\n(52261, 'Pisgah Forest', 2807, '28768', '828', '35.285473', '-82.695061', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52262, 'Ridgecrest', 2807, '28770', '828', '35.6209', '-82.2829', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52263, 'Hazelwood', 2807, '28786', '828', '35.45009', '-82.978773', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52264, 'Waynesville', 2807, '28786', '828', '35.45009', '-82.978773', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52265, 'Rhodhiss', 2807, '28667', '828', '35.7739', '-81.4315', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52266, 'Rhodhizz', 2807, '28667', '828', '35.7739', '-81.4315', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52267, 'Roaring Gap', 2807, '28668', '336', '36.386325', '-81.01965', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52268, 'Lomax', 2807, '28669', '336', '36.220033', '-80.996731', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52269, 'Roaring River', 2807, '28669', '336', '36.220033', '-80.996731', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52270, 'Chimney Rock', 2807, '28720', '828', '35.4393', '-82.2469', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52271, 'Burningtown', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52272, 'Cartoogechaye', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52273, 'Cowee', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52274, 'Cullasaja', 2807, '28734', '828', '35.163665', '-83.433889', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52275, 'Cape Carteret', 2807, '28584', '252', '34.74003', '-77.109483', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52276, 'Cedar Point', 2807, '28584', '252', '34.74003', '-77.109483', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52277, 'Peletier', 2807, '28584', '252', '34.74003', '-77.109483', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52278, 'Swansboro', 2807, '28584', '252', '34.74003', '-77.109483', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52279, 'Trenton', 2807, '28585', '252', '35.081038', '-77.482354', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52280, 'Vanceboro', 2807, '28586', '252', '35.310312', '-77.181617', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52281, 'Chestnut Hill', 2807, '28617', '336', '36.481406', '-81.37388', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52282, 'Crumpler', 2807, '28617', '336', '36.481406', '-81.37388', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52283, 'Nathans Creek', 2807, '28617', '336', '36.481406', '-81.37388', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52284, 'Shatley Springs', 2807, '28617', '336', '36.481406', '-81.37388', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52285, 'Kinston', 2807, '28502', '252', '35.2625', '-77.5817', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52286, 'Kinston', 2807, '28503', '252', '35.2625', '-77.5817', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52287, 'Beaufort', 2807, '28516', '252', '34.891116', '-76.53507', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52288, 'Cape Lookout National Seasho', 2807, '28516', '252', '34.891116', '-76.53507', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52289, 'Weaversford', 2807, '28617', '336', '36.481406', '-81.37388', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52290, 'Delco', 2807, '28436', '910', '34.272167', '-78.26213', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52291, 'Fort Fisher Air Force Statio', 2807, '28449', '910', '33.970858', '-77.922954', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52292, 'Kure Beach', 2807, '28449', '910', '33.970858', '-77.922954', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52293, 'Lake Waccamaw', 2807, '28450', '910', '34.34308', '-78.523971', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52294, 'Belville', 2807, '28451', '910', '34.253876', '-78.103084', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52295, 'Leland', 2807, '28451', '910', '34.253876', '-78.103084', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52296, 'Navassa', 2807, '28451', '910', '34.253876', '-78.103084', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52297, 'Northwest', 2807, '28451', '910', '34.253876', '-78.103084', '2018-11-29 05:03:46', '2018-11-29 05:03:46'),\n(52298, 'Calabash', 2807, '28467', '910', '33.911555', '-78.595532', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52299, 'Carolina Shor', 2807, '28467', '910', '33.911555', '-78.595532', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52300, 'Carolina Shores', 2807, '28467', '910', '33.911555', '-78.595532', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52301, 'Ocean Isl Bch', 2807, '28467', '910', '33.911555', '-78.595532', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52302, 'Ocean Isle Beach', 2807, '28467', '910', '33.911555', '-78.595532', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52303, 'Ocean Isl Bch', 2807, '28469', '910', '33.936146', '-78.454755', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52304, 'Ocean Isle', 2807, '28469', '910', '33.936146', '-78.454755', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52305, 'Ocean Isle Beach', 2807, '28469', '910', '33.936146', '-78.454755', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52306, 'Shallotte', 2807, '28469', '910', '33.936146', '-78.454755', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52307, 'Laurel Hill', 2807, '28351', '910', '34.8928', '-79.570087', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52308, 'E Laurinburg', 2807, '28352', '910', '34.759283', '-79.46481', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52309, 'East Laurinburg', 2807, '28352', '910', '34.759283', '-79.46481', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52310, 'Laurinburg', 2807, '28352', '910', '34.759283', '-79.46481', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52311, 'Newton Grove', 2807, '28366', '910', '35.24335', '-78.36939', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52312, 'Orrum', 2807, '28369', '910', '34.426164', '-79.035678', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52313, 'Raynham', 2807, '28383', '910', '34.56014', '-79.278751', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52314, 'Rowland', 2807, '28383', '910', '34.56014', '-79.278751', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52315, 'Cape Fear', 2807, '28401', '910', '34.265871', '-77.969741', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52316, 'Wilm', 2807, '28401', '910', '34.265871', '-77.969741', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52317, 'Wilmington', 2807, '28401', '910', '34.265871', '-77.969741', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52318, 'Wilm', 2807, '28402', '910', '34.2259', '-77.9451', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52319, 'Wilmington', 2807, '28402', '910', '34.2259', '-77.9451', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52320, 'Pineville', 2807, '28134', '704', '35.077531', '-80.890748', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52321, 'Polkton', 2807, '28135', '704', '35.01056', '-80.181062', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52322, 'Charlotte', 2807, '28265', '704', '35.2267', '-80.8434', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52323, 'Fayetteville', 2807, '28302', '910', '35.0527', '-78.8789', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52324, 'Autryville', 2807, '28318', '910', '35.0241', '-78.616769', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52325, 'Barnesville', 2807, '28319', '910', '34.4086', '-79.0477', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52326, 'Dunn', 2807, '28334', '910', '35.277056', '-78.542477', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52327, 'Kingstown', 2807, '28150', '704', '35.364426', '-81.5682', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52328, 'Patterson Springs', 2807, '28150', '704', '35.364426', '-81.5682', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52329, 'Shelby', 2807, '28150', '704', '35.364426', '-81.5682', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52330, 'Shelby', 2807, '28151', '704', '35.2923', '-81.5356', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52331, 'Charlotte', 2807, '28201', '704', '35.2287', '-80.8458', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52332, 'Wanchese', 2807, '27981', '252', '35.839141', '-75.639946', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52333, 'Waves', 2807, '27982', '252', '35.562896', '-75.473837', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52334, 'Kannapolis', 2807, '28082', '704', '35.4874', '-80.6218', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52335, 'Lowell', 2807, '28098', '704', '35.271061', '-81.099142', '2018-11-29 05:03:47', '2018-11-29 05:03:47'),\n(52336, 'Mc Adenville', 2807, '28101', '704', '35.256762', '-81.079574', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52337, 'Mc Farlan', 2807, '28102', '704', '34.824542', '-79.960128', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52338, 'Doolie', 2807, '28115', '704', '35.588778', '-80.762717', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52339, 'Mayhew', 2807, '28115', '704', '35.588778', '-80.762717', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52340, 'Mazeppa', 2807, '28115', '704', '35.588778', '-80.762717', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52341, 'Mooresville', 2807, '28115', '704', '35.588778', '-80.762717', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52342, 'Stantonsburg', 2807, '27883', '252', '35.61021', '-77.8062', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52343, 'Albemarle', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52344, 'Millingport', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52345, 'North Albemarle', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52346, 'Palestine', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52347, 'Plyler', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52348, 'River Haven', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52349, 'South Albemarle', 2807, '28001', '704', '35.338477', '-80.209994', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52350, 'Boiling Spgs', 2807, '28017', '704', '35.255584', '-81.649487', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52351, 'Tuckasegee', 2807, '28783', '828', '35.223296', '-83.034901', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52352, 'Webster', 2807, '28788', '828', '35.3462', '-83.2194', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52353, 'Etowah', 2807, '28729', '828', '35.31871', '-82.600841', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52354, 'Champion', 2807, '28624', '336', '36.120335', '-81.424922', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52355, 'Darby', 2807, '28624', '336', '36.120335', '-81.424922', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52356, 'Denny', 2807, '28624', '336', '36.120335', '-81.424922', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52357, 'Ferguson', 2807, '28624', '336', '36.120335', '-81.424922', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52358, 'Hendrix', 2807, '28624', '336', '36.120335', '-81.424922', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52359, 'Glendale Spgs', 2807, '28629', '336', '36.336276', '-81.370352', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52360, 'Glendale Springs', 2807, '28629', '336', '36.336276', '-81.370352', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52361, 'Halls Mills', 2807, '28649', '336', '36.325466', '-81.207254', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52362, 'Mc Grady', 2807, '28649', '336', '36.325466', '-81.207254', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52363, 'Mcgrady', 2807, '28649', '336', '36.325466', '-81.207254', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52364, 'Smyrna', 2807, '28579', '252', '34.787934', '-76.507202', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52365, 'Williston', 2807, '28579', '252', '34.787934', '-76.507202', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52366, 'Radical', 2807, '28649', '336', '36.325466', '-81.207254', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52367, 'Ayden', 2807, '28513', '252', '35.439358', '-77.380616', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52368, 'Grantsboro', 2807, '28529', '252', '35.093022', '-76.877464', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52369, 'Kennells Beach', 2807, '28529', '252', '35.093022', '-76.877464', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52370, 'Hookerton', 2807, '28538', '252', '35.420665', '-77.552571', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52371, 'Maury', 2807, '28554', '252', '35.48797', '-77.60043', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52372, 'Bogue', 2807, '28570', '252', '34.775636', '-76.885927', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52373, 'Sunset Harbor', 2807, '28422', '910', '34.01517', '-78.169214', '2018-11-29 05:03:48', '2018-11-29 05:03:48'),\n(52374, 'Caswell Beach', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52375, 'Fort Caswell', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52376, 'Ft Caswell', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52377, 'Long Beach', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52378, 'Oak Island', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52379, 'Sunny Point Mil Ocean', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52380, 'Sunny Point Military Ocean T', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52381, 'Yaupon Beach', 2807, '28465', '910', '33.907604', '-78.124192', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52382, 'S Brunswick', 2807, '28470', '910', '33.956706', '-78.400999', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52383, 'Shallotte', 2807, '28470', '910', '33.956706', '-78.400999', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52384, 'South Brunswick', 2807, '28470', '910', '33.956706', '-78.400999', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52385, 'Newport', 2807, '28570', '252', '34.775636', '-76.885927', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52386, 'Richlands', 2807, '28574', '910', '34.852617', '-77.567756', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52387, 'Charlotte', 2807, '28256', '704', '35.2267', '-80.8434', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52388, 'Mount Olive', 2807, '28365', '919', '35.179611', '-78.078328', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52389, 'Pinehurst', 2807, '28370', '910', '35.1995', '-79.4706', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52390, 'Pembroke', 2807, '28372', '910', '34.690823', '-79.168973', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52391, 'Wade', 2807, '28395', '910', '35.127098', '-78.740525', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52392, 'Wilm', 2807, '28404', '910', '34.2259', '-77.9451', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52393, 'Wilmington', 2807, '28404', '910', '34.2259', '-77.9451', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52394, 'Ash', 2807, '28420', '910', '34.07299', '-78.451468', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52395, 'Bolivia', 2807, '28422', '910', '34.01517', '-78.169214', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52396, 'Charlotte', 2807, '28297', '704', '35.2267', '-80.8434', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52397, 'Ellerbe', 2807, '28338', '910', '35.098764', '-79.7509', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52398, 'Salisbury', 2807, '28147', '704', '35.694216', '-80.558152', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52399, 'Charlotte', 2807, '28206', '704', '35.251784', '-80.820887', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52400, 'Charlotte', 2807, '28211', '704', '35.171222', '-80.792094', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52401, 'Charlotte', 2807, '28231', '704', '35.2267', '-80.8434', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52402, 'Mount Holly', 2807, '28120', '704', '35.323088', '-81.016616', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52403, 'Mt Holly', 2807, '28120', '704', '35.323088', '-81.016616', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52404, 'Frog Pond', 2807, '28129', '704', '35.226778', '-80.328652', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52405, 'Oakboro', 2807, '28129', '704', '35.226778', '-80.328652', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52406, 'Red Cross', 2807, '28129', '704', '35.226778', '-80.328652', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52407, 'Roanoke Rapids Air Force Sta', 2807, '27870', '252', '36.414812', '-77.714025', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52408, 'Ronok Rpd Afs', 2807, '27870', '252', '36.414812', '-77.714025', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52409, 'Roxobel', 2807, '27872', '252', '36.189308', '-77.248841', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52410, 'Severn', 2807, '27877', '252', '36.509969', '-77.174996', '2018-11-29 05:03:49', '2018-11-29 05:03:49'),\n(52411, 'Leggett', 2807, '27886', '252', '35.885969', '-77.506034', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52412, 'Princeville', 2807, '27886', '252', '35.885969', '-77.506034', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52413, 'Tarboro', 2807, '27886', '252', '35.885969', '-77.506034', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52414, 'Walstonburg', 2807, '27888', '252', '35.589088', '-77.727333', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52415, 'Hendersonville', 2807, '28739', '828', '35.252604', '-82.533283', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52416, 'Hendersonvlle', 2807, '28739', '828', '35.252604', '-82.533283', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52417, 'Laurel Park', 2807, '28739', '828', '35.252604', '-82.533283', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52418, 'Highlands', 2807, '28741', '828', '35.075484', '-83.202772', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52419, 'Leicester', 2807, '28748', '828', '35.651255', '-82.765954', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52420, 'Sherwood', 2807, '28692', '828', '36.278405', '-81.80394', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52421, 'Vilas', 2807, '28692', '828', '36.278405', '-81.80394', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52422, 'Clifton', 2807, '28693', '336', '36.461478', '-81.55572', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52423, 'Warrensville', 2807, '28693', '336', '36.461478', '-81.55572', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52424, 'Balsam Grove', 2807, '28708', '828', '35.235347', '-82.891952', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52425, 'Bat Cave', 2807, '28710', '828', '35.467298', '-82.286808', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52426, 'Black Mountain', 2807, '28711', '828', '35.605042', '-82.276717', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52427, 'Black Mtn', 2807, '28711', '828', '35.605042', '-82.276717', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52428, 'Scaly Mountain', 2807, '28775', '828', '35.024245', '-83.322908', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52429, 'Scaly Mtn', 2807, '28775', '828', '35.024245', '-83.322908', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52430, 'Blackburn', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52431, 'Drums Crossroads', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52432, 'Duan', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52433, 'Newton', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52434, 'Olivers Crossroads', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52435, 'Propst Crossroads', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52436, 'South Newton', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52437, 'Startown', 2807, '28658', '828', '35.644075', '-81.242969', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52438, 'Olin', 2807, '28660', '704', '35.971251', '-80.86293', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52439, 'Happy Valley', 2807, '28661', '828', '35.9886', '-81.5588', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52440, 'Patterson', 2807, '28661', '828', '35.9886', '-81.5588', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52441, 'Edwards Crossroads', 2807, '28675', '336', '36.482727', '-81.153858', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52442, 'Sparta', 2807, '28675', '336', '36.482727', '-81.153858', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52443, 'Stratford', 2807, '28675', '336', '36.482727', '-81.153858', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52444, 'Twin Oaks', 2807, '28675', '336', '36.482727', '-81.153858', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52445, 'Whitehead', 2807, '28675', '336', '36.482727', '-81.153858', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52446, 'Enka', 2807, '28728', '828', '35.4572', '-82.7746', '2018-11-29 05:03:50', '2018-11-29 05:03:50'),\n(52447, 'Enka Village', 2807, '28728', '828', '35.4572', '-82.7746', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52448, 'Fleetwood', 2807, '28626', '336', '36.289116', '-81.496806', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52449, 'Cherry Lane', 2807, '28627', '336', '36.441796', '-81.003008', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52450, 'Glade Valley', 2807, '28627', '336', '36.441796', '-81.003008', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52451, 'Hare', 2807, '28627', '336', '36.441796', '-81.003008', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52452, 'Arlington', 2807, '28642', '336', '36.221775', '-80.8137', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52453, 'Jonesville', 2807, '28642', '336', '36.221775', '-80.8137', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52454, 'Brown Mountain Beach', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52455, 'Cajahs Mountain', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52456, 'Cajahs Mtn', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52457, 'Cedar Rock', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52458, 'Edgemont', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52459, 'Gamewell', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52460, 'Joyceton', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52461, 'Kings Creek', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52462, 'Laytown', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52463, 'Lenoir', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52464, 'Mortimer', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52465, 'Upton', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52466, 'Valmead', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52467, 'Warrior', 2807, '28645', '828', '35.95583', '-81.531037', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52468, 'Sealevel', 2807, '28577', '252', '34.887097', '-76.387851', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52469, 'Emerald Isle', 2807, '28594', '252', '34.663864', '-77.006645', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52470, 'Catawba', 2807, '28609', '828', '35.687117', '-81.039168', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52471, 'Longisland', 2807, '28609', '828', '35.687117', '-81.039168', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52472, 'Claremont', 2807, '28610', '828', '35.735012', '-81.138793', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52473, 'Collettsville', 2807, '28611', '828', '36.005759', '-81.752853', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52474, 'Atlantic', 2807, '28511', '252', '34.890044', '-76.357502', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52475, 'Deep Run', 2807, '28525', '252', '35.135847', '-77.69497', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52476, 'Ernul', 2807, '28527', '252', '35.289239', '-77.018329', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52477, 'Camp Lejeune', 2807, '28542', '910', '34.644914', '-77.321171', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52478, 'Cp Lejeune Mcb', 2807, '28542', '910', '34.644914', '-77.321171', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52479, 'Cp Lejeunemcb', 2807, '28542', '910', '34.644914', '-77.321171', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52480, 'Jacksonville', 2807, '28542', '910', '34.644914', '-77.321171', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52481, 'Lejeune', 2807, '28542', '910', '34.644914', '-77.321171', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52482, 'Jacksonville', 2807, '28543', '910', '34.735572', '-77.378745', '2018-11-29 05:03:51', '2018-11-29 05:03:51'),\n(52483, 'Tarawa', 2807, '28543', '910', '34.735572', '-77.378745', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52484, 'Tarawa Ter', 2807, '28543', '910', '34.735572', '-77.378745', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52485, 'Tarawa Terrace', 2807, '28543', '910', '34.735572', '-77.378745', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52486, 'Tarawa Tr', 2807, '28543', '910', '34.735572', '-77.378745', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52487, 'Jacksonville', 2807, '28544', '910', '34.73567', '-77.312931', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52488, 'Midway Park', 2807, '28544', '910', '34.73567', '-77.312931', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52489, 'Garland', 2807, '28441', '910', '34.80422', '-78.402139', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52490, 'Ingold', 2807, '28441', '910', '34.80422', '-78.402139', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52491, 'Hallsboro', 2807, '28442', '910', '34.283244', '-78.600218', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52492, 'Greenevers', 2807, '28458', '910', '34.81779', '-78.085027', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52493, 'Rose Hill', 2807, '28458', '910', '34.81779', '-78.085027', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52494, 'N Topsail Bch', 2807, '28460', '910', '34.512118', '-77.42675', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52495, 'N Topsail Beach', 2807, '28460', '910', '34.512118', '-77.42675', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52496, 'Sneads Ferry', 2807, '28460', '910', '34.512118', '-77.42675', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52497, 'Salter Path', 2807, '28575', '252', '34.688782', '-76.88671', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52498, 'Branch Bank And Trust (Bb&t)', 2807, '28258', '704', '35.2267', '-80.8434', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52499, 'Charlotte', 2807, '28258', '704', '35.2267', '-80.8434', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52500, 'Gibson', 2807, '28343', '910', '34.761667', '-79.582282', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52501, 'Godwin', 2807, '28344', '910', '35.167305', '-78.63051', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52502, 'Pinehurst', 2807, '28374', '910', '35.202868', '-79.46094', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52503, 'Tar Heel', 2807, '28392', '910', '34.753016', '-78.809476', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52504, 'Bedford Fair Industries', 2807, '28410', '910', '34.2257', '-77.9451', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52505, 'Willow Ridge', 2807, '28410', '910', '34.2257', '-77.9451', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52506, 'Wilm', 2807, '28410', '910', '34.2257', '-77.9451', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52507, 'Wilmington', 2807, '28410', '910', '34.2257', '-77.9451', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52508, 'Charlotte', 2807, '28260', '704', '35.2267', '-80.8434', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52509, 'Fayetteville', 2807, '28307', '910', '35.146635', '-78.990966', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52510, 'Fort Bragg', 2807, '28307', '910', '35.146635', '-78.990966', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52511, 'Calypso', 2807, '28325', '919', '35.152295', '-78.102314', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52512, 'Cameron', 2807, '28326', '919', '35.287932', '-79.181772', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52513, 'Harris', 2807, '28074', '704', '35.2425', '-81.8753', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52514, 'Spindale', 2807, '28160', '828', '35.362562', '-81.925473', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52515, 'Charlotte', 2807, '28207', '704', '35.195578', '-80.826754', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52516, 'Charlotte', 2807, '28241', '704', '35.2267', '-80.8434', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52517, 'Charlotte', 2807, '28242', '704', '35.2267', '-80.8434', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52518, 'Duke Power Co', 2807, '28242', '704', '35.2267', '-80.8434', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52519, 'Shawboro', 2807, '27973', '252', '36.358956', '-76.086698', '2018-11-29 05:03:52', '2018-11-29 05:03:52'),\n(52520, 'Boger City', 2807, '28092', '704', '35.480518', '-81.250199', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52521, 'Terrell', 2807, '28682', '828', '35.578588', '-80.961581', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52522, 'Statesville', 2807, '28687', '704', '35.7827', '-80.8875', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52523, 'Mabel', 2807, '28698', '828', '36.344038', '-81.737562', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52524, 'Silverstone', 2807, '28698', '828', '36.344038', '-81.737562', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52525, 'Zionville', 2807, '28698', '828', '36.344038', '-81.737562', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52526, 'Pineola', 2807, '28662', '828', '36.026197', '-81.836697', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52527, 'Rutherford College', 2807, '28671', '828', '35.752818', '-81.53405', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52528, 'Rutherfrd Col', 2807, '28671', '828', '35.752818', '-81.53405', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52529, 'Cullowhee', 2807, '28723', '828', '35.252109', '-83.103672', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52530, 'East Laport', 2807, '28723', '828', '35.252109', '-83.103672', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52531, 'Erastus', 2807, '28723', '828', '35.252109', '-83.103672', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52532, 'Norton', 2807, '28723', '828', '35.252109', '-83.103672', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52533, 'Speedwell', 2807, '28723', '828', '35.252109', '-83.103672', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52534, 'Fairview', 2807, '28730', '828', '35.527078', '-82.377088', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52535, 'Barrett', 2807, '28623', '336', '36.523334', '-80.968815', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52536, 'Ennice', 2807, '28623', '336', '36.523334', '-80.968815', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52537, 'Saddle', 2807, '28623', '336', '36.523334', '-80.968815', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52538, 'Linville', 2807, '28646', '828', '36.080158', '-81.864924', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52539, 'Aho', 2807, '28605', '828', '36.122346', '-81.749738', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52540, 'Bamboo', 2807, '28605', '828', '36.122346', '-81.749738', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52541, 'Blowing Rock', 2807, '28605', '828', '36.122346', '-81.749738', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52542, 'Mayview Park', 2807, '28605', '828', '36.122346', '-81.749738', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52543, 'Connelly Spg', 2807, '28612', '828', '35.671746', '-81.555475', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52544, 'Connelly Springs', 2807, '28612', '828', '35.671746', '-81.555475', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52545, 'Grifton', 2807, '28530', '252', '35.384636', '-77.414483', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52546, 'Havelock', 2807, '28532', '252', '34.897706', '-76.867361', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52547, 'New Bern', 2807, '28564', '252', '35.1084', '-77.0446', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52548, 'Elkin', 2807, '28621', '336', '36.319026', '-80.852816', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52549, 'Bolton', 2807, '28423', '910', '34.270989', '-78.40211', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52550, 'Carolina Bch', 2807, '28428', '910', '34.037844', '-77.903582', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52551, 'Carolina Beach', 2807, '28428', '910', '34.037844', '-77.903582', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52552, 'Clarendon', 2807, '28432', '910', '34.176032', '-78.796542', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52553, 'Nakina', 2807, '28455', '910', '34.105218', '-78.627993', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52554, 'Holden Beach', 2807, '28462', '910', '34.058711', '-78.321656', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52555, 'Supply', 2807, '28462', '910', '34.058711', '-78.321656', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52556, 'Oriental', 2807, '28571', '252', '35.056788', '-76.699534', '2018-11-29 05:03:53', '2018-11-29 05:03:53'),\n(52557, 'Bank Of America', 2807, '28255', '704', '35.2267', '-80.8434', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52558, 'Charlotte', 2807, '28255', '704', '35.2267', '-80.8434', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52559, 'Nc Natl Bank', 2807, '28255', '704', '35.2267', '-80.8434', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52560, 'Maxton', 2807, '28364', '910', '34.715876', '-79.336443', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52561, 'Parkton', 2807, '28371', '910', '34.902011', '-78.993091', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52562, 'University Of Nc', 2807, '28403', '910', '34.22192', '-77.870397', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52563, 'Wilm', 2807, '28403', '910', '34.22192', '-77.870397', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52564, 'Wilmington', 2807, '28403', '910', '34.22192', '-77.870397', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52565, 'Wilm', 2807, '28407', '910', '34.2259', '-77.9451', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52566, 'Wilmington', 2807, '28407', '910', '34.2259', '-77.9451', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52567, 'Pooletown', 2807, '28137', '704', '35.503388', '-80.262548', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52568, 'Richfield', 2807, '28137', '704', '35.503388', '-80.262548', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52569, 'Charlotte', 2807, '28273', '704', '35.123281', '-80.933955', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52570, 'Clinton', 2807, '28328', '910', '34.986013', '-78.34307', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52571, 'Cordova', 2807, '28330', '910', '34.910118', '-79.821664', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52572, 'Gold Hill', 2807, '28071', '704', '35.510274', '-80.320814', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52573, 'Granite Qry', 2807, '28146', '704', '35.62448', '-80.397511', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52574, 'Granite Quarry', 2807, '28146', '704', '35.62448', '-80.397511', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52575, 'Salisbury', 2807, '28146', '704', '35.62448', '-80.397511', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52576, 'Marvin', 2807, '28173', '704', '34.925912', '-80.73473', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52577, 'Waxhaw', 2807, '28173', '704', '34.925912', '-80.73473', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52578, 'Charlotte', 2807, '28214', '704', '35.279208', '-80.955158', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52579, 'Charlotte', 2807, '28223', '704', '35.303614', '-80.733927', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52580, 'Unc Charlotte', 2807, '28223', '704', '35.303614', '-80.733927', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52581, 'Charlotte', 2807, '28237', '704', '35.2267', '-80.8434', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52582, 'Charlotte', 2807, '28246', '704', '35.2226', '-80.8452', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52583, 'Monroe', 2807, '28112', '704', '34.901772', '-80.538084', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52584, 'Mooresboro', 2807, '28114', '828', '35.256957', '-81.733427', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52585, 'Morven', 2807, '28119', '704', '34.86325', '-80.013399', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52586, 'Caroleen', 2807, '28019', '828', '35.280566', '-81.790526', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52587, 'Cherryville', 2807, '28021', '704', '35.3991', '-81.393842', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52588, 'Flay', 2807, '28021', '704', '35.3991', '-81.393842', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52589, 'Gastonia', 2807, '28053', '704', '35.2616', '-81.1875', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52590, 'Bethel', 2807, '27812', '252', '35.756616', '-77.38589', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52591, 'Wilson', 2807, '27894', '252', '35.7213', '-77.9155', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52592, 'Ahoskie', 2807, '27910', '252', '36.296771', '-77.018298', '2018-11-29 05:03:54', '2018-11-29 05:03:54'),\n(52593, 'Fayetteville', 2807, '28309', '910', '35.0527', '-78.8789', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52594, 'Carthage', 2807, '28327', '910', '35.354624', '-79.436892', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52595, 'Whisper Pnes', 2807, '28327', '910', '35.354624', '-79.436892', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52596, 'Whispering Pines', 2807, '28327', '910', '35.354624', '-79.436892', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52597, 'Grover', 2807, '28073', '704', '35.205958', '-81.475715', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52598, 'Henrietta', 2807, '28076', '828', '35.25135', '-81.779506', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52599, 'Spencer', 2807, '28159', '704', '35.692742', '-80.431704', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52600, 'Charlotte', 2807, '28209', '704', '35.17662', '-80.852575', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52601, 'Charlotte', 2807, '28226', '704', '35.106787', '-80.829246', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52602, 'Charlotte', 2807, '28227', '704', '35.185389', '-80.649343', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52603, 'Mint Hill', 2807, '28227', '704', '35.185389', '-80.649343', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52604, 'At&t', 2807, '28243', '704', '35.2267', '-80.8434', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52605, 'Charlotte', 2807, '28243', '704', '35.2267', '-80.8434', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52606, 'Merry Hill', 2807, '27957', '252', '36.073224', '-76.767058', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52607, 'Lilesville', 2807, '28091', '704', '34.990347', '-79.963184', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52608, 'Lincolnton', 2807, '28093', '704', '35.4736', '-81.2547', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52609, 'Mineral Spgs', 2807, '28108', '704', '34.9379', '-80.6688', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52610, 'Mineral Springs', 2807, '28108', '704', '34.9379', '-80.6688', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52611, 'Misenheimer', 2807, '28109', '704', '35.486712', '-80.287975', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52612, 'Monroe', 2807, '28110', '704', '35.070306', '-80.529505', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52613, 'Unionville', 2807, '28110', '704', '35.070306', '-80.529505', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52614, 'Mooresville', 2807, '28123', '704', '35.5432', '-80.8475', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52615, 'Mount Mourne', 2807, '28123', '704', '35.5432', '-80.8475', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52616, 'Mt Mourne', 2807, '28123', '704', '35.5432', '-80.8475', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52617, 'Mount Pleasant', 2807, '28124', '704', '35.391344', '-80.409069', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52618, 'Mt Pleasant', 2807, '28124', '704', '35.391344', '-80.409069', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52619, 'Badin Lake', 2807, '28127', '704', '35.454222', '-80.202565', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52620, 'New London', 2807, '28127', '704', '35.454222', '-80.202565', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52621, 'Nw London', 2807, '28127', '704', '35.454222', '-80.202565', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52622, 'Saratoga', 2807, '27873', '252', '35.653671', '-77.775303', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52623, 'Seaboard', 2807, '27876', '252', '36.488374', '-77.39631', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52624, 'Wash', 2807, '27889', '252', '35.596535', '-77.006273', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52625, 'Washington', 2807, '27889', '252', '35.596535', '-77.006273', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52626, 'Weldon', 2807, '27890', '252', '36.411282', '-77.5906', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52627, 'Bear Grass', 2807, '27892', '252', '35.806785', '-77.057044', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52628, 'Beargrass', 2807, '27892', '252', '35.806785', '-77.057044', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52629, 'Williamston', 2807, '27892', '252', '35.806785', '-77.057044', '2018-11-29 05:03:55', '2018-11-29 05:03:55'),\n(52630, 'Wilson', 2807, '27893', '252', '35.677489', '-77.912469', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52631, 'Ansonville', 2807, '28007', '704', '35.106882', '-80.102552', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52632, 'Cliffside', 2807, '28024', '828', '35.2381', '-81.7701', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52633, 'Faith', 2807, '28041', '704', '35.5867', '-80.4633', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52634, 'Aurora', 2807, '27806', '252', '35.307614', '-76.773972', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52635, 'Royal', 2807, '27806', '252', '35.307614', '-76.773972', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52636, 'Bath', 2807, '27808', '252', '35.473271', '-76.760011', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52637, 'Battleboro', 2807, '27809', '252', '36.025296', '-77.777548', '2018-11-29 05:03:56', '2018-11-29 05:03:56');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(52638, 'Drake', 2807, '27809', '252', '36.025296', '-77.777548', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52639, 'Elizabeth City', 2807, '27907', '252', '36.3018', '-76.2238', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52640, 'Elizabeth Cty', 2807, '27907', '252', '36.3018', '-76.2238', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52641, 'Eliz City', 2807, '27909', '252', '36.317064', '-76.27538', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52642, 'Elizabeth City', 2807, '27909', '252', '36.317064', '-76.27538', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52643, 'Elizabeth City Coast Guard A', 2807, '27909', '252', '36.317064', '-76.27538', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52644, 'Elizabeth Cty', 2807, '27909', '252', '36.317064', '-76.27538', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52645, 'Colerain', 2807, '27924', '252', '36.164306', '-76.844594', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52646, 'Corapeake', 2807, '27926', '252', '36.496654', '-76.590876', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52647, 'Harrellsville', 2807, '27942', '252', '36.295528', '-76.774504', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52648, 'Hatteras', 2807, '27943', '252', '35.219386', '-75.687242', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52649, 'Raleigh', 2807, '27606', '919', '35.737593', '-78.721192', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52650, 'Five Points', 2807, '27608', '919', '35.809159', '-78.645188', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52651, 'Raleigh', 2807, '27608', '919', '35.809159', '-78.645188', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52652, 'Raleigh', 2807, '27623', '919', '35.872317', '-78.798618', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52653, 'Westgate', 2807, '27623', '919', '35.872317', '-78.798618', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52654, 'Raleigh', 2807, '27625', '919', '35.7719', '-78.6388', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52655, 'Fairfield', 2807, '27826', '252', '35.599023', '-76.260656', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52656, 'Halifax', 2807, '27839', '252', '36.288649', '-77.559248', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52657, 'Oak City', 2807, '27857', '252', '35.975238', '-77.307596', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52658, 'Greenville', 2807, '27858', '252', '35.523838', '-77.288253', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52659, 'Bunn', 2807, '27508', '919', '35.959052', '-78.247241', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52660, 'Raleigh', 2807, '27690', '919', '35.7719', '-78.6388', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52661, 'Raleigh Brm', 2807, '27690', '919', '35.7719', '-78.6388', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52662, 'Durham', 2807, '27709', '919', '35.913747', '-78.86333', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52663, 'Research Triangle Park', 2807, '27709', '919', '35.913747', '-78.86333', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52664, 'Rtp', 2807, '27709', '919', '35.913747', '-78.86333', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52665, 'Soapstone Mountain', 2807, '27355', '336', '35.796228', '-79.56882', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52666, 'Staley', 2807, '27355', '336', '35.796228', '-79.56882', '2018-11-29 05:03:56', '2018-11-29 05:03:56'),\n(52667, 'Flint Hill', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52668, 'Lovejoy', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52669, 'Moratock', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52670, 'Okeewemee', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52671, 'Ophir', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52672, 'Queen', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52673, 'Troy', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52674, 'Uwharie', 2807, '27371', '910', '35.431521', '-79.953804', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52675, 'Country Park Acres', 2807, '27408', '336', '36.102377', '-79.815407', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52676, 'Greensboro', 2807, '27408', '336', '36.102377', '-79.815407', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52677, 'Guilford Courthouse National', 2807, '27408', '336', '36.102377', '-79.815407', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52678, 'Plaza', 2807, '27408', '336', '36.102377', '-79.815407', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52679, 'Emit', 2807, '27557', '252', '35.787673', '-78.203331', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52680, 'Middlesex', 2807, '27557', '252', '35.787673', '-78.203331', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52681, 'Santa Fe', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52682, 'Seton Village', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52683, 'Sf', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52684, 'Tesuque Pueblo', 2812, '87501', '505', '35.837206', '-105.851313', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52685, 'Abiquiu', 2812, '87510', '505', '36.145872', '-106.236957', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52686, 'Barranca', 2812, '87510', '505', '36.145872', '-106.236957', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52687, 'Canjilon', 2812, '87515', '505', '36.485514', '-106.405737', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52688, 'Cerro', 2812, '87519', '505', '36.728371', '-105.64623', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52689, 'Costilla', 2812, '87524', '505', '36.888417', '-105.468989', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52690, 'Espanola', 2812, '87533', '505', '36.0007', '-106.0725', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52691, 'Fairview', 2812, '87533', '505', '36.0007', '-106.0725', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52692, 'Galisteo', 2812, '87540', '505', '35.386986', '-105.903298', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52693, 'Lamy', 2812, '87540', '505', '35.386986', '-105.903298', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52694, 'Santa Fe', 2812, '87540', '505', '35.386986', '-105.903298', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52695, 'San Jose', 2812, '87565', '505', '35.503181', '-105.462495', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52696, 'Soham', 2812, '87565', '505', '35.503181', '-105.462495', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52697, 'South San Ysidro', 2812, '87565', '505', '35.503181', '-105.462495', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52698, 'Santa Cruz', 2812, '87567', '505', '35.950456', '-106.03617', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52699, 'Santo Nino', 2812, '87567', '505', '35.950456', '-106.03617', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52700, 'Albuquerque', 2812, '87110', '505', '35.109102', '-106.577492', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52701, 'Albuquerque', 2812, '87113', '505', '35.181275', '-106.592831', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52702, 'Church Rock', 2812, '87311', '505', '35.591482', '-108.499012', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52703, 'Navajo Wingate Village', 2812, '87311', '505', '35.591482', '-108.499012', '2018-11-29 05:03:57', '2018-11-29 05:03:57'),\n(52704, 'Springstead', 2812, '87311', '505', '35.591482', '-108.499012', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52705, 'Crystal', 2812, '87328', '505', '35.86335', '-108.886884', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52706, 'Navajo', 2812, '87328', '505', '35.86335', '-108.886884', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52707, 'Sheep Springs', 2812, '87364', '505', '36.144904', '-108.718234', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52708, 'Blanco', 2812, '87412', '505', '36.613034', '-107.744779', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52709, 'Gobernador', 2812, '87412', '505', '36.613034', '-107.744779', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52710, 'Turley', 2812, '87412', '505', '36.613034', '-107.744779', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52711, 'Bloomfield', 2812, '87413', '505', '36.619882', '-107.758426', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52712, 'Chaco Canyon National Monume', 2812, '87413', '505', '36.619882', '-107.758426', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52713, 'El Huerfano', 2812, '87413', '505', '36.619882', '-107.758426', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52714, 'Alcalde', 2812, '87511', '505', '36.08938', '-105.988116', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52715, 'La Villita', 2812, '87511', '505', '36.08938', '-105.988116', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52716, 'Los Luceros', 2812, '87511', '505', '36.08938', '-105.988116', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52717, 'Dulce', 2812, '87528', '505', '36.541746', '-107.202124', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52718, 'Jicarilla Apache Indian Rese', 2812, '87528', '505', '36.541746', '-107.202124', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52719, 'Lumberton', 2812, '87528', '505', '36.541746', '-107.202124', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52720, 'El Rito', 2812, '87530', '505', '36.369919', '-106.298527', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52721, 'Las Placitas', 2812, '87530', '505', '36.369919', '-106.298527', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52722, 'Embudo', 2812, '87531', '505', '36.148548', '-106.014601', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52723, 'Junta', 2812, '87531', '505', '36.148548', '-106.014601', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52724, 'La Bolsa', 2812, '87531', '505', '36.148548', '-106.014601', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52725, 'La Junta', 2812, '87531', '505', '36.148548', '-106.014601', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52726, 'Rinconado', 2812, '87531', '505', '36.148548', '-106.014601', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52727, 'Valdez', 2812, '87580', '505', '36.576802', '-105.510998', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52728, 'Las Tablas', 2812, '87581', '505', '36.661259', '-106.207287', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52729, 'Lower Ranchito', 2812, '87581', '505', '36.661259', '-106.207287', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52730, 'Vallecitos', 2812, '87581', '505', '36.661259', '-106.207287', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52731, 'Chacon', 2812, '87713', '505', '36.173738', '-105.386766', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52732, 'Omega', 2812, '87829', '505', '34.251549', '-108.734152', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52733, 'Quemado', 2812, '87829', '505', '34.251549', '-108.734152', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52734, 'Red Hill', 2812, '87829', '505', '34.251549', '-108.734152', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52735, 'Las Cruces', 2812, '88013', '505', '32.31', '-106.79', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52736, 'Mesilla', 2812, '88046', '505', '32.2701', '-106.8024', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52737, 'Mesilla Park', 2812, '88047', '505', '32.219705', '-106.71692', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52738, 'Mesquite', 2812, '88048', '505', '32.135641', '-106.623477', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52739, 'Sunland Park', 2812, '88063', '505', '31.803014', '-106.571528', '2018-11-29 05:03:58', '2018-11-29 05:03:58'),\n(52740, 'Causey', 2812, '88113', '505', '33.800837', '-103.149961', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52741, 'Garrison', 2812, '88132', '505', '33.952872', '-103.189859', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52742, 'Rogers', 2812, '88132', '505', '33.952872', '-103.189859', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52743, 'Eunice', 2812, '88231', '505', '32.45888', '-103.253332', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52744, 'Hope', 2812, '88250', '505', '32.839641', '-105.011936', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52745, 'Malaga', 2812, '88263', '505', '32.120494', '-104.007589', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52746, 'Cloudcroft', 2812, '88317', '505', '32.503672', '-105.612598', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52747, 'Sunspot', 2812, '88349', '505', '32.7844', '-105.8187', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52748, 'Bueyeros', 2812, '88415', '505', '36.261664', '-103.398378', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52749, 'Clapham', 2812, '88415', '505', '36.261664', '-103.398378', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52750, 'Clayton', 2812, '88415', '505', '36.261664', '-103.398378', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52751, 'Seneca', 2812, '88415', '505', '36.261664', '-103.398378', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52752, 'Stead', 2812, '88415', '505', '36.261664', '-103.398378', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52753, 'Thomas', 2812, '88415', '505', '36.261664', '-103.398378', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52754, 'Nara Visa', 2812, '88430', '505', '35.613464', '-103.210667', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52755, 'Glenrio', 2812, '88434', '505', '35.130559', '-103.30199', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52756, 'San Jon', 2812, '88434', '505', '35.130559', '-103.30199', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52757, 'Albuquerque', 2812, '87111', '505', '35.129602', '-106.49471', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52758, 'Rio Rancho', 2812, '87144', '505', '35.309335', '-106.676598', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52759, 'Albuquerque', 2812, '87195', '505', '35.0844', '-106.6508', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52760, 'Albuquerque', 2812, '87196', '505', '35.0844', '-106.6508', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52761, 'Univ Of New Mexico', 2812, '87196', '505', '35.0844', '-106.6508', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52762, 'Univ Of Nm', 2812, '87196', '505', '35.0844', '-106.6508', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52763, 'Unm', 2812, '87196', '505', '35.0844', '-106.6508', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52764, 'Albuquerque', 2812, '87197', '505', '35.0844', '-106.6508', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52765, 'Continental Divide', 2812, '87312', '505', '35.46836', '-108.448304', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52766, 'Contnental Dv', 2812, '87312', '505', '35.46836', '-108.448304', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52767, 'Coolidge', 2812, '87312', '505', '35.46836', '-108.448304', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52768, 'Crownpoint', 2812, '87313', '505', '35.719282', '-107.88084', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52769, 'Dalton Pass', 2812, '87313', '505', '35.719282', '-107.88084', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52770, 'Lake Valley', 2812, '87313', '505', '35.719282', '-107.88084', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52771, 'Standing Rock', 2812, '87313', '505', '35.719282', '-107.88084', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52772, 'Continental Divide', 2812, '87347', '505', '35.430374', '-108.451898', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52773, 'Contnental Dv', 2812, '87347', '505', '35.430374', '-108.451898', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52774, 'Jamestown', 2812, '87347', '505', '35.430374', '-108.451898', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52775, 'Los Alamos', 2812, '87545', '505', '35.8849', '-106.3236', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52776, 'Scientific Lab', 2812, '87545', '505', '35.8849', '-106.3236', '2018-11-29 05:03:59', '2018-11-29 05:03:59'),\n(52777, 'Medalanes', 2812, '87548', '505', '36.175454', '-106.150784', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52778, 'Medanales', 2812, '87548', '505', '36.175454', '-106.150784', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52779, 'Medenales', 2812, '87548', '505', '36.175454', '-106.150784', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52780, 'San Cristobal', 2812, '87564', '505', '36.637005', '-105.618159', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52781, 'Truchas', 2812, '87578', '505', '36.052888', '-105.774698', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52782, 'Angostura', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52783, 'El Rancho Loma Linda', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52784, 'Pine View', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52785, 'Placita', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52786, 'Rodarte', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52787, 'Tres Ritos', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52788, 'Vadito', 2812, '87579', '505', '36.141476', '-105.593438', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52789, 'Buena Vista', 2812, '87712', '505', '35.884491', '-105.209454', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52790, 'Albuquerque', 2812, '87112', '505', '35.099877', '-106.516004', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52791, 'Albuquerque', 2812, '87194', '505', '35.0844', '-106.6508', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52792, 'Black Rock', 2812, '87327', '505', '35.133039', '-108.774591', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52793, 'Lower Nutria', 2812, '87327', '505', '35.133039', '-108.774591', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52794, 'Pescado', 2812, '87327', '505', '35.133039', '-108.774591', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52795, 'Ramah Community', 2812, '87327', '505', '35.133039', '-108.774591', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52796, 'Zuni', 2812, '87327', '505', '35.133039', '-108.774591', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52797, 'Zuni Pueblo', 2812, '87327', '505', '35.133039', '-108.774591', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52798, 'Sanostee', 2812, '87461', '505', '36.44719', '-108.784465', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52799, 'Amalia', 2812, '87512', '505', '36.889269', '-105.38484', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52800, 'Ventero', 2812, '87512', '505', '36.889269', '-105.38484', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52801, 'Arroyo Hondo', 2812, '87513', '505', '36.551628', '-105.627324', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52802, 'Arroyo Seco', 2812, '87514', '505', '36.494232', '-105.618806', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52803, 'Des Montes', 2812, '87529', '505', '36.478768', '-105.616768', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52804, 'El Prado', 2812, '87529', '505', '36.478768', '-105.616768', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52805, 'Rencona', 2812, '87562', '505', '35.3026', '-105.6629', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52806, 'Rowe', 2812, '87562', '505', '35.3026', '-105.6629', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52807, 'Maxwell', 2812, '87728', '505', '36.54593', '-104.629436', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52808, 'Miami', 2812, '87729', '505', '36.2956', '-104.773045', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52809, 'Springer', 2812, '87729', '505', '36.2956', '-104.773045', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52810, 'Beulah', 2812, '87745', '505', '35.786281', '-105.15327', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52811, 'Las Vegas', 2812, '87745', '505', '35.786281', '-105.15327', '2018-11-29 05:04:00', '2018-11-29 05:04:00'),\n(52812, 'Sapello', 2812, '87745', '505', '35.786281', '-105.15327', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52813, 'Solano', 2812, '87746', '505', '35.861046', '-104.17692', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52814, 'Abbott', 2812, '87747', '505', '36.408015', '-104.433593', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52815, 'Springer', 2812, '87747', '505', '36.408015', '-104.433593', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52816, 'Apache Creek', 2812, '87830', '505', '33.67028', '-108.714424', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52817, 'Cruzville', 2812, '87830', '505', '33.67028', '-108.714424', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52818, 'Lower San Francisco Plaza', 2812, '87830', '505', '33.67028', '-108.714424', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52819, 'Reserve', 2812, '87830', '505', '33.67028', '-108.714424', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52820, 'San Francisco Plaza', 2812, '87830', '505', '33.67028', '-108.714424', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52821, 'Arrey', 2812, '87930', '505', '32.763925', '-107.415304', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52822, 'Caballo', 2812, '87931', '505', '33.027956', '-107.506433', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52823, 'Columbus', 2812, '88029', '505', '31.91363', '-107.756821', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52824, 'Deming', 2812, '88030', '505', '32.194518', '-107.763247', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52825, 'Denning', 2812, '88030', '505', '32.194518', '-107.763247', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52826, 'Sunshine', 2812, '88030', '505', '32.194518', '-107.763247', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52827, 'Dona Ana', 2812, '88032', '505', '32.3876', '-106.8162', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52828, 'Mimbres', 2812, '88049', '505', '32.9486', '-107.9121', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52829, 'Tyrone', 2812, '88065', '505', '32.669192', '-108.279232', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52830, 'Elida', 2812, '88116', '505', '33.943628', '-103.688621', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52831, 'Saint Vrain', 2812, '88133', '505', '34.39809', '-103.450612', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52832, 'St Vrain', 2812, '88133', '505', '34.39809', '-103.450612', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52833, 'Caprock', 2812, '88213', '505', '33.442322', '-103.640167', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52834, 'Tatum', 2812, '88213', '505', '33.442322', '-103.640167', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52835, 'Dexter', 2812, '88230', '505', '33.211326', '-104.379498', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52836, 'Midway', 2812, '88230', '505', '33.211326', '-104.379498', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52837, 'Maljamar', 2812, '88264', '505', '32.842144', '-103.723948', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52838, 'Monument', 2812, '88265', '575', '32.61948', '-103.268298', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52839, 'Bent', 2812, '88314', '505', '33.156748', '-105.897709', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52840, 'Holloman AFB', 2812, '88330', '505', '32.82656', '-106.118021', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52841, 'Holloman Air Force Base', 2812, '88330', '505', '32.82656', '-106.118021', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52842, 'Artesia Camp', 2812, '88347', '505', '32.765672', '-105.624921', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52843, 'Sacramento', 2812, '88347', '505', '32.765672', '-105.624921', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52844, 'San Patricio', 2812, '88348', '505', '33.365458', '-105.344164', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52845, 'Cloudcroft', 2812, '88350', '505', '32.637836', '-105.65204', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52846, 'Timberon', 2812, '88350', '505', '32.637836', '-105.65204', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52847, 'Capulin', 2812, '88414', '505', '36.743267', '-103.97182', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52848, 'Capulin Mountain National Mo', 2812, '88414', '505', '36.743267', '-103.97182', '2018-11-29 05:04:01', '2018-11-29 05:04:01'),\n(52849, 'Conchas Dam', 2812, '88416', '505', '35.471875', '-104.03247', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52850, 'Tucumcari', 2812, '88416', '505', '35.471875', '-104.03247', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52851, 'Lea County Correctional Fac', 2812, '88244', '505', '32.7052', '-103.1355', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52852, 'Buckeye', 2812, '88260', '505', '32.849642', '-103.43841', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52853, 'Lovington', 2812, '88260', '505', '32.849642', '-103.43841', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52854, 'Mc Donald', 2812, '88262', '505', '33.14454', '-103.360745', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52855, 'Mcdonald', 2812, '88262', '505', '33.14454', '-103.360745', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52856, 'Ancho', 2812, '88301', '505', '33.667908', '-105.959392', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52857, 'Carrizozo', 2812, '88301', '505', '33.667908', '-105.959392', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52858, 'Duran', 2812, '88301', '505', '33.667908', '-105.959392', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52859, 'Jicarilla', 2812, '88301', '505', '33.667908', '-105.959392', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52860, 'Oscuro', 2812, '88301', '505', '33.667908', '-105.959392', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52861, 'White Oaks', 2812, '88301', '505', '33.667908', '-105.959392', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52862, 'La Luz', 2812, '88337', '505', '33.03294', '-105.866009', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52863, 'Ruidoso Downs', 2812, '88346', '505', '33.35848', '-105.497538', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52864, 'Pastura', 2812, '88435', '505', '34.89995', '-104.694618', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52865, 'Pintada', 2812, '88435', '505', '34.89995', '-104.694618', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52866, 'Puerta D Luna', 2812, '88435', '505', '34.89995', '-104.694618', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52867, 'Puerta De Luna', 2812, '88435', '505', '34.89995', '-104.694618', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52868, 'Santa Rosa', 2812, '88435', '505', '34.89995', '-104.694618', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52869, 'Cubero', 2812, '87014', '505', '34.94204', '-107.854637', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52870, 'Seboyeta', 2812, '87014', '505', '34.94204', '-107.854637', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52871, 'Corrales', 2812, '87048', '505', '35.239888', '-106.624036', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52872, 'Chilili', 2812, '87059', '505', '35.005536', '-106.312669', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52873, 'Escobosa', 2812, '87059', '505', '35.005536', '-106.312669', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52874, 'Sedillo', 2812, '87059', '505', '35.005536', '-106.312669', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52875, 'Tijeras', 2812, '87059', '505', '35.005536', '-106.312669', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52876, 'El Valle', 2812, '87521', '505', '36.121748', '-105.577108', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52877, 'Ojo Sarco', 2812, '87521', '505', '36.121748', '-105.577108', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52878, 'Ilfeld', 2812, '87538', '505', '35.4225', '-105.5609', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52879, 'North San Ysidro', 2812, '87538', '505', '35.4225', '-105.5609', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52880, 'Penasco', 2812, '87553', '505', '36.224958', '-105.72489', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52881, 'Picuris', 2812, '87553', '505', '36.224958', '-105.72489', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52882, 'Rio Lucio', 2812, '87553', '505', '36.224958', '-105.72489', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52883, 'Petaca', 2812, '87554', '505', '36.5033', '-106.0114', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52884, 'Columbine', 2812, '87556', '505', '36.698505', '-105.464774', '2018-11-29 05:04:02', '2018-11-29 05:04:02'),\n(52885, 'Lama', 2812, '87556', '505', '36.698505', '-105.464774', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52886, 'Questa', 2812, '87556', '505', '36.698505', '-105.464774', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52887, 'Cowles', 2812, '87573', '505', '35.727199', '-105.590854', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52888, 'Tererro', 2812, '87573', '505', '35.727199', '-105.590854', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52889, 'Colfax', 2812, '87740', '505', '36.738024', '-104.571433', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52890, 'Raton', 2812, '87740', '505', '36.738024', '-104.571433', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52891, 'Luna', 2812, '87824', '505', '33.911449', '-108.876716', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52892, 'Monticello', 2812, '87939', '505', '33.386942', '-107.471996', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52893, 'Rincon', 2812, '87940', '505', '32.695371', '-106.999311', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52894, 'Salem', 2812, '87941', '505', '32.715617', '-107.218246', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52895, 'Las Cruces', 2812, '88004', '505', '32.191182', '-106.920539', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52896, 'Arenas Valley', 2812, '88022', '505', '32.796971', '-108.184464', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52897, 'Silver City', 2812, '88022', '505', '32.796971', '-108.184464', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52898, 'Anthony', 2812, '88024', '505', '32.065092', '-106.613346', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52899, 'Berino', 2812, '88024', '505', '32.065092', '-106.613346', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52900, 'Alma', 2812, '88039', '505', '33.325916', '-108.627616', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52901, 'Glenwood', 2812, '88039', '505', '33.325916', '-108.627616', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52902, 'Mogollon', 2812, '88039', '505', '33.325916', '-108.627616', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52903, 'Pleasanton', 2812, '88039', '505', '33.325916', '-108.627616', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52904, 'Hachita', 2812, '88040', '505', '31.939948', '-108.371031', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52905, 'Rodeo', 2812, '88056', '505', '31.843095', '-108.944747', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52906, 'Kenna', 2812, '88122', '505', '33.8423', '-103.7714', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52907, 'Lingo', 2812, '88123', '505', '33.679444', '-103.194856', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52908, 'Portales', 2812, '88123', '505', '33.679444', '-103.194856', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52909, 'Glencoe', 2812, '88324', '575', '33.395303', '-105.521727', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52910, 'Lincoln', 2812, '88338', '505', '33.507394', '-105.508048', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52911, 'Grenville', 2812, '88424', '505', '36.679195', '-103.426814', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52912, 'Mount Dora', 2812, '88424', '505', '36.679195', '-103.426814', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52913, 'Mt Dora', 2812, '88424', '505', '36.679195', '-103.426814', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52914, 'Sofia', 2812, '88424', '505', '36.679195', '-103.426814', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52915, 'Trementina', 2812, '88439', '505', '35.580248', '-104.553566', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52916, 'Smith Lake', 2812, '87365', '505', '35.5226', '-108.1405', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52917, 'Aztec', 2812, '87410', '505', '36.871784', '-107.951175', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52918, 'Cedar Hill', 2812, '87410', '505', '36.871784', '-107.951175', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52919, 'Flora Vista', 2812, '87415', '505', '36.84599', '-108.102596', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52920, 'Farmington', 2812, '87499', '505', '36.7576', '-108.1085', '2018-11-29 05:04:03', '2018-11-29 05:04:03'),\n(52921, 'Santa Fe', 2812, '87508', '505', '35.517928', '-105.955471', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52922, 'Carson', 2812, '87517', '505', '36.32133', '-105.814337', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52923, 'Canyoncito', 2812, '87535', '505', '35.609116', '-105.788304', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52924, 'Glorieta', 2812, '87535', '505', '35.609116', '-105.788304', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52925, 'La Cueva', 2812, '87535', '505', '35.609116', '-105.788304', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52926, 'Bandelier National Monument', 2812, '87544', '505', '35.838418', '-106.314784', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52927, 'Los Alamos', 2812, '87544', '505', '35.838418', '-106.314784', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52928, 'White Rock', 2812, '87544', '505', '35.838418', '-106.314784', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52929, 'Coruco', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52930, 'El Ancon', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52931, 'El Pueblo', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52932, 'Gonzales Ranch', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52933, 'Gonzales Rnch', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52934, 'Lagunita', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52935, 'Leyba', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52936, 'Ribera', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52937, 'Sena', 2812, '87560', '505', '35.296804', '-105.495632', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52938, 'Cerritos', 2812, '87583', '505', '35.298798', '-105.341844', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52939, 'El Cerrito', 2812, '87583', '505', '35.298798', '-105.341844', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52940, 'Guagolotes', 2812, '87583', '505', '35.298798', '-105.341844', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52941, 'Villanueva', 2812, '87583', '505', '35.298798', '-105.341844', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52942, 'Santa Fe', 2812, '87592', '505', '35.6866', '-105.9374', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52943, 'Dilia', 2812, '87724', '505', '35.191666', '-105.081414', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52944, 'La Loma', 2812, '87724', '505', '35.191666', '-105.081414', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52945, 'Ojo Feliz', 2812, '87735', '505', '36.095666', '-105.128416', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52946, 'Wagon Mound', 2812, '87735', '505', '36.095666', '-105.128416', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52947, 'Ute Park', 2812, '87749', '505', '36.5582', '-105.1147', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52948, 'Polvadera', 2812, '87828', '505', '34.08093', '-106.835805', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52949, 'Derry', 2812, '87933', '505', '32.861774', '-107.00062', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52950, 'Las Cruces', 2812, '88001', '505', '32.285823', '-106.744852', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52951, 'Tortugas', 2812, '88001', '505', '32.285823', '-106.744852', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52952, 'Central', 2812, '88026', '505', '32.783176', '-108.165059', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52953, 'Santa Clara', 2812, '88026', '505', '32.783176', '-108.165059', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52954, 'Hillsboro', 2812, '88042', '505', '32.868054', '-107.585035', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52955, 'Kingston', 2812, '88042', '505', '32.868054', '-107.585035', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52956, 'Silver City', 2812, '88062', '505', '32.7702', '-108.2797', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52957, 'Bellview', 2812, '88112', '505', '34.810883', '-103.128796', '2018-11-29 05:04:04', '2018-11-29 05:04:04'),\n(52958, 'Broadview', 2812, '88112', '505', '34.810883', '-103.128796', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52959, 'Pep', 2812, '88126', '505', '33.76132', '-103.381885', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52960, 'Border Hill', 2812, '88201', '505', '33.465216', '-104.41449', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52961, 'Elkins', 2812, '88201', '505', '33.465216', '-104.41449', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52962, 'Pine Lodge', 2812, '88201', '505', '33.465216', '-104.41449', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52963, 'Roswell', 2812, '88201', '505', '33.465216', '-104.41449', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52964, 'Roswell Industrial Air Cente', 2812, '88201', '505', '33.465216', '-104.41449', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52965, 'Roswell', 2812, '88203', '505', '33.262522', '-104.539816', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52966, 'Hobbs', 2812, '88242', '505', '32.823919', '-103.169717', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52967, 'Hobbs', 2812, '88244', '505', '32.7052', '-103.1355', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52968, 'Chloride', 2812, '87943', '505', '33.287727', '-107.73955', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52969, 'Dusty', 2812, '87943', '505', '33.287727', '-107.73955', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52970, 'Winston', 2812, '87943', '505', '33.287727', '-107.73955', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52971, 'Animas', 2812, '88020', '505', '31.65596', '-108.62913', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52972, 'Cloverdale', 2812, '88020', '505', '31.65596', '-108.62913', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52973, 'Cotton City', 2812, '88020', '505', '31.65596', '-108.62913', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52974, 'Buckhorn', 2812, '88025', '505', '32.906585', '-108.743486', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52975, 'Chamberino', 2812, '88027', '505', '32.03698', '-106.685173', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52976, 'Arenas Valley', 2812, '88061', '505', '32.85019', '-108.261664', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52977, 'Gila Cliff Dwellings Nationa', 2812, '88061', '505', '32.85019', '-108.261664', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52978, 'Little Walnut Village', 2812, '88061', '505', '32.85019', '-108.261664', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52979, 'Mangas Springs', 2812, '88061', '505', '32.85019', '-108.261664', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52980, 'Silver City', 2812, '88061', '505', '32.85019', '-108.261664', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52981, 'Floyd', 2812, '88118', '505', '34.34007', '-103.725832', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52982, 'Cameron', 2812, '88120', '505', '34.81228', '-103.337319', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52983, 'Grady', 2812, '88120', '505', '34.81228', '-103.337319', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52984, 'Taiban', 2812, '88134', '505', '34.347956', '-104.080036', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52985, 'Tolar', 2812, '88134', '505', '34.347956', '-104.080036', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52986, 'Lon', 2812, '88136', '505', '34.344828', '-104.570726', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52987, 'Ramon', 2812, '88136', '505', '34.344828', '-104.570726', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52988, 'Yeso', 2812, '88136', '505', '34.344828', '-104.570726', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52989, 'Roswell', 2812, '88202', '505', '33.3942', '-104.5228', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52990, 'Corona', 2812, '88318', '505', '34.08532', '-105.408672', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52991, 'Hondo', 2812, '88336', '505', '33.442071', '-105.371447', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52992, 'Weed', 2812, '88354', '505', '32.714035', '-105.478845', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52993, 'Mc Alister', 2812, '88427', '505', '34.744142', '-103.680576', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52994, 'Mcalister', 2812, '88427', '505', '34.744142', '-103.680576', '2018-11-29 05:04:05', '2018-11-29 05:04:05'),\n(52995, 'Ojo Caliente', 2812, '87549', '505', '36.612715', '-105.864533', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(52996, 'Brazos', 2812, '87551', '505', '36.684628', '-106.645677', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(52997, 'Los Ojos', 2812, '87551', '505', '36.684628', '-106.645677', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(52998, 'Rutheron', 2812, '87551', '505', '36.684628', '-106.645677', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(52999, 'Querinda Park', 2812, '87558', '505', '36.703795', '-105.404388', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53000, 'Red River', 2812, '87558', '505', '36.703795', '-105.404388', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53001, 'Tesuque', 2812, '87574', '505', '35.7635', '-105.9336', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53002, 'Angel Fire', 2812, '87710', '505', '36.393545', '-105.177518', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53003, 'Eagle Nest', 2812, '87710', '505', '36.393545', '-105.177518', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53004, 'Elephant Btte', 2812, '87935', '505', '33.300356', '-107.231601', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53005, 'Elephant Butte', 2812, '87935', '505', '33.300356', '-107.231601', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53006, 'Engle', 2812, '87935', '505', '33.300356', '-107.231601', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53007, 'Rock Canyon', 2812, '87935', '505', '33.300356', '-107.231601', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53008, 'Las Cruces', 2812, '88003', '505', '32.278072', '-106.746958', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53009, 'University Park', 2812, '88003', '505', '32.278072', '-106.746958', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53010, 'Santa Teresa', 2812, '88008', '505', '31.849544', '-106.638748', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53011, 'Las Cruces', 2812, '88012', '505', '32.614135', '-106.774444', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53012, 'Cliff', 2812, '88028', '505', '32.9622', '-108.6108', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53013, 'Mule Creek', 2812, '88051', '505', '33.036809', '-108.891535', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53014, 'San Miguel', 2812, '88058', '505', '32.1561', '-106.7344', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53015, 'Cannon AFB', 2812, '88101', '505', '34.509263', '-103.280274', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53016, 'Cannon Air Force Base', 2812, '88101', '505', '34.509263', '-103.280274', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53017, 'Clovis', 2812, '88101', '505', '34.509263', '-103.280274', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53018, 'Cannon AFB', 2812, '88103', '505', '34.384548', '-103.316387', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53019, 'Cannon Air Force Base', 2812, '88103', '505', '34.384548', '-103.316387', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53020, 'Clovis', 2812, '88103', '505', '34.384548', '-103.316387', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53021, 'Dunken', 2812, '88344', '505', '32.658483', '-105.097968', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53022, 'Pinon', 2812, '88344', '505', '32.658483', '-105.097968', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53023, 'Mescalero Apache Indian Rese', 2812, '88340', '505', '33.196596', '-105.6241', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53024, 'Nogal', 2812, '88341', '505', '33.504024', '-105.736965', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53025, 'Ruidoso', 2812, '88355', '505', '33.3338', '-105.6808', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53026, 'Farley', 2812, '88422', '505', '36.30316', '-103.853074', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53027, 'Gladstone', 2812, '88422', '505', '36.30316', '-103.853074', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53028, 'Los Ranchos De Albuquerque', 2812, '87107', '505', '35.14461', '-106.646549', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53029, 'Los Rnchs Abq', 2812, '87107', '505', '35.14461', '-106.646549', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53030, 'Village Of Los Ranchos', 2812, '87107', '505', '35.14461', '-106.646549', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53031, 'Albuquerque', 2812, '87116', '505', '35.007364', '-106.538294', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53032, 'Sandia Base', 2812, '87116', '505', '35.007364', '-106.538294', '2018-11-29 05:04:06', '2018-11-29 05:04:06'),\n(53033, 'Albuquerque', 2812, '87191', '505', '35.0844', '-106.6508', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53034, 'Albuquerque', 2812, '87193', '505', '35.0848', '-106.6517', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53035, 'Albuquerque', 2812, '87198', '505', '35.0844', '-106.6508', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53036, 'Fruitland', 2812, '87416', '505', '36.767675', '-108.437718', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53037, 'New Mexico Tax Rev Dept', 2812, '87509', '505', '35.6868', '-105.9372', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53038, 'Santa Fe', 2812, '87509', '505', '35.6868', '-105.9372', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53039, 'Canones', 2812, '87516', '505', '36.103905', '-106.468697', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53040, 'El Vado', 2812, '87575', '505', '36.618469', '-106.564314', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53041, 'Ensenada', 2812, '87575', '505', '36.618469', '-106.564314', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53042, 'La Puente', 2812, '87575', '505', '36.618469', '-106.564314', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53043, 'Nutrias', 2812, '87575', '505', '36.618469', '-106.564314', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53044, 'Tierra Amarilla', 2812, '87575', '505', '36.618469', '-106.564314', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53045, 'Tira Amarilla', 2812, '87575', '505', '36.618469', '-106.564314', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53046, 'Canova', 2812, '87582', '505', '36.160598', '-105.973444', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53047, 'Lyden', 2812, '87582', '505', '36.160598', '-105.973444', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53048, 'Velarde', 2812, '87582', '505', '36.160598', '-105.973444', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53049, 'Rainsville', 2812, '87736', '505', '35.98156', '-105.176845', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53050, 'Roy', 2812, '87743', '505', '36.001992', '-104.029142', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53051, 'Las Cruces', 2812, '88002', '505', '32.298923', '-106.479606', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53052, 'White Sands', 2812, '88002', '505', '32.298923', '-106.479606', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53053, 'White Sands Missile Range', 2812, '88002', '505', '32.298923', '-106.479606', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53054, 'Las Cruces', 2812, '88011', '505', '32.302486', '-106.641604', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53055, 'Faywood', 2812, '88034', '505', '32.5055', '-107.9949', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53056, 'Fort Bayard', 2812, '88036', '505', '32.85112', '-108.124716', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53057, 'Ft Bayard', 2812, '88036', '505', '32.85112', '-108.124716', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53058, 'Silver City', 2812, '88036', '505', '32.85112', '-108.124716', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53059, 'Lordsburg', 2812, '88045', '505', '32.349154', '-108.786582', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53060, 'Road Forks', 2812, '88045', '505', '32.349154', '-108.786582', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53061, 'Separ', 2812, '88045', '505', '32.349154', '-108.786582', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53062, 'Virden', 2812, '88045', '505', '32.349154', '-108.786582', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53063, 'Organ', 2812, '88052', '505', '32.455084', '-106.59802', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53064, 'Clovis', 2812, '88102', '505', '34.4047', '-103.2047', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53065, 'Artesia', 2812, '88211', '505', '32.8425', '-104.4028', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53066, 'Carlsbad', 2812, '88220', '505', '32.312153', '-104.287489', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53067, 'Carlsbad Caverns National Pa', 2812, '88220', '505', '32.312153', '-104.287489', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53068, 'Happy Valley', 2812, '88220', '505', '32.312153', '-104.287489', '2018-11-29 05:04:07', '2018-11-29 05:04:07');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(53069, 'Bennett', 2812, '88252', '505', '32.262182', '-103.393754', '2018-11-29 05:04:07', '2018-11-29 05:04:07'),\n(53070, 'Jal', 2812, '88252', '505', '32.262182', '-103.393754', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53071, 'Lakewood', 2812, '88254', '505', '32.646383', '-104.478972', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53072, 'Seven Rivers', 2812, '88254', '505', '32.646383', '-104.478972', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53073, 'Whites City', 2812, '88268', '505', '32.217098', '-104.361081', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53074, 'Alamogordo', 2812, '88311', '505', '32.8996', '-105.9597', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53075, 'Picacho', 2812, '88343', '505', '33.413849', '-105.055741', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53076, 'Bard', 2812, '88411', '505', '35.183448', '-103.190244', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53077, 'San Jon', 2812, '88411', '505', '35.183448', '-103.190244', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53078, 'Sedan', 2812, '88436', '505', '36.260964', '-103.148694', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53079, 'Bernal', 2812, '87569', '505', '35.342638', '-105.254821', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53080, 'Chapelle', 2812, '87569', '505', '35.342638', '-105.254821', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53081, 'Serafina', 2812, '87569', '505', '35.342638', '-105.254821', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53082, 'Trampas', 2812, '87576', '505', '36.1347', '-105.7556', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53083, 'Santa Fe', 2812, '87594', '505', '35.6866', '-105.9374', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53084, 'Las Vegas', 2812, '87701', '505', '35.542482', '-105.089475', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53085, 'Romeroville', 2812, '87701', '505', '35.542482', '-105.089475', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53086, 'West Las Vegas', 2812, '87701', '505', '35.542482', '-105.089475', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53087, 'Albert', 2812, '87733', '505', '35.738058', '-103.673006', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53088, 'Mosquero', 2812, '87733', '505', '35.738058', '-103.673006', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53089, 'Pendaries', 2812, '87742', '505', '35.818412', '-105.336242', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53090, 'Rociada', 2812, '87742', '505', '35.818412', '-105.336242', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53091, 'Campus', 2812, '87801', '505', '33.9683', '-106.584703', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53092, 'Escondida', 2812, '87801', '505', '33.9683', '-106.584703', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53093, 'Florida', 2812, '87801', '505', '33.9683', '-106.584703', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53094, 'Luis Lopez', 2812, '87801', '505', '33.9683', '-106.584703', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53095, 'Socorro', 2812, '87801', '505', '33.9683', '-106.584703', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53096, 'Cuchillo', 2812, '87901', '505', '33.184832', '-106.960032', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53097, 'T Or C', 2812, '87901', '505', '33.184832', '-106.960032', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53098, 'Truth Consq', 2812, '87901', '505', '33.184832', '-106.960032', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53099, 'Truth Or Consequences', 2812, '87901', '505', '33.184832', '-106.960032', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53100, 'Las Palomas', 2812, '87942', '505', '33.17646', '-107.347964', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53101, 'Williamsburg', 2812, '87942', '505', '33.17646', '-107.347964', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53102, 'Fairacres', 2812, '88033', '505', '32.164703', '-107.084882', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53103, 'Old Picacho', 2812, '88033', '505', '32.164703', '-107.084882', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53104, 'La Mesa', 2812, '88044', '505', '32.005513', '-106.945168', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53105, 'Santo Tomas', 2812, '88044', '505', '32.005513', '-106.945168', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53106, 'Pinos Altos', 2812, '88053', '505', '32.880751', '-108.209132', '2018-11-29 05:04:08', '2018-11-29 05:04:08'),\n(53107, 'Silver City', 2812, '88053', '505', '32.880751', '-108.209132', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53108, 'Fort Sumner', 2812, '88119', '505', '34.387466', '-104.282684', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53109, 'Ft Sumner', 2812, '88119', '505', '34.387466', '-104.282684', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53110, 'Lake Sumner', 2812, '88119', '505', '34.387466', '-104.282684', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53111, 'Pleasant Hill', 2812, '88135', '505', '34.525659', '-103.10256', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53112, 'Texico', 2812, '88135', '505', '34.525659', '-103.10256', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53113, 'Artesia', 2812, '88210', '505', '32.722931', '-104.328138', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53114, 'Atoka', 2812, '88210', '505', '32.722931', '-104.328138', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53115, 'Lake Arthur', 2812, '88253', '505', '33.004003', '-104.445856', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53116, 'Tatum', 2812, '88267', '505', '33.355574', '-103.409955', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53117, 'Alamogordo', 2812, '88310', '505', '32.769898', '-106.098978', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53118, 'White Sands National Monumen', 2812, '88310', '505', '32.769898', '-106.098978', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53119, 'Alto', 2812, '88312', '505', '33.424663', '-105.667941', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53120, 'Sierra Vista', 2812, '88312', '505', '33.424663', '-105.667941', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53121, 'Encino', 2812, '88321', '505', '34.661366', '-105.561656', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53122, 'Milagro', 2812, '88321', '505', '34.661366', '-105.561656', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53123, 'Tucumcari', 2812, '88401', '505', '35.092802', '-103.755274', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53124, 'Amistad', 2812, '88410', '505', '35.911051', '-103.208108', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53125, 'Hayden', 2812, '88410', '505', '35.911051', '-103.208108', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53126, 'Rosebud', 2812, '88410', '505', '35.911051', '-103.208108', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53127, 'Gallegos', 2812, '88426', '505', '35.44638', '-103.339327', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53128, 'Logan', 2812, '88426', '505', '35.44638', '-103.339327', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53129, 'Golondrinas', 2812, '87712', '505', '35.884491', '-105.209454', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53130, 'Cimarron', 2812, '87714', '505', '36.627696', '-105.038472', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53131, 'Philmont', 2812, '87714', '505', '36.627696', '-105.038472', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53132, 'Cleveland', 2812, '87715', '505', '35.976556', '-105.542076', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53133, 'Mills', 2812, '87730', '505', '36.124308', '-104.286524', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53134, 'El Porvenir', 2812, '87731', '505', '35.664404', '-105.421551', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53135, 'Gallinas', 2812, '87731', '505', '35.664404', '-105.421551', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53136, 'Montezuma', 2812, '87731', '505', '35.664404', '-105.421551', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53137, 'Ledoux', 2812, '87732', '505', '36.050601', '-105.361963', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53138, 'Mora', 2812, '87732', '505', '36.050601', '-105.361963', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53139, 'North Carmen', 2812, '87732', '505', '36.050601', '-105.361963', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53140, 'Alamillo', 2812, '87831', '505', '34.269675', '-106.853441', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53141, 'San Acacia', 2812, '87831', '505', '34.269675', '-106.853441', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53142, 'Bingham', 2812, '87832', '505', '33.982462', '-106.503142', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53143, 'San Antonio', 2812, '87832', '505', '33.982462', '-106.503142', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53144, 'Deming', 2812, '88031', '505', '32.2687', '-107.7584', '2018-11-29 05:04:09', '2018-11-29 05:04:09'),\n(53145, 'Anthony', 2812, '88081', '505', '32.05039', '-106.42477', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53146, 'Chaparral', 2812, '88081', '505', '32.05039', '-106.42477', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53147, 'Crossroads', 2812, '88114', '505', '33.507816', '-103.345045', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53148, 'Dora', 2812, '88115', '505', '33.930568', '-103.388341', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53149, 'Arch', 2812, '88130', '505', '34.084605', '-103.330748', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53150, 'Portales', 2812, '88130', '505', '34.084605', '-103.330748', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53151, 'Hagerman', 2812, '88232', '505', '33.0667', '-104.218606', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53152, 'Angus', 2812, '88316', '505', '33.750132', '-105.314557', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53153, 'Capitan', 2812, '88316', '505', '33.750132', '-105.314557', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53154, 'Cuervo', 2812, '88417', '505', '34.995861', '-104.363977', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53155, 'Bell Ranch', 2812, '88431', '505', '35.134469', '-104.240519', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53156, 'Newkirk', 2812, '88431', '505', '35.134469', '-104.240519', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53157, 'Quay', 2812, '88433', '575', '34.9519', '-103.772', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53158, 'Qway', 2812, '88433', '575', '34.9519', '-103.772', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53159, 'Arabela', 2812, '88351', '505', '33.330917', '-105.152276', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53160, 'Tinnie', 2812, '88351', '505', '33.330917', '-105.152276', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53161, 'East Vaughn', 2812, '88353', '505', '34.669051', '-105.102306', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53162, 'Vaughn', 2812, '88353', '505', '34.669051', '-105.102306', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53163, 'Folsom', 2812, '88419', '505', '36.883024', '-103.729639', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53164, 'Garita', 2812, '88421', '575', '35.341615', '-104.518385', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53165, 'Galena', 2813, '89511', '775', '39.368173', '-119.871506', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53166, 'Pleasant Valley', 2813, '89511', '775', '39.368173', '-119.871506', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53167, 'Reno', 2813, '89511', '775', '39.368173', '-119.871506', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53168, 'Steamboat', 2813, '89511', '775', '39.368173', '-119.871506', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53169, 'Virginia Foothills', 2813, '89511', '775', '39.368173', '-119.871506', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53170, 'Grand Sierra Hotel', 2813, '89595', '775', '39.5297', '-119.8129', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53171, 'Reno', 2813, '89595', '775', '39.5297', '-119.8129', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53172, 'Carson City', 2813, '89711', '775', '39.1637', '-119.7667', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53173, 'Nevada Motor Vehicle', 2813, '89711', '775', '39.1637', '-119.7667', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53174, 'Carson City', 2813, '89712', '775', '39.1637', '-119.7667', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53175, 'Nevada Highway Dept', 2813, '89712', '775', '39.1637', '-119.7667', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53176, 'Jarbidge', 2813, '89826', '775', '41.832211', '-115.366346', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53177, 'Lamoille', 2813, '89828', '775', '40.829972', '-115.469506', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53178, 'Alamo', 2813, '89001', '775', '37.446549', '-115.364016', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53179, 'Rachel', 2813, '89001', '775', '37.446549', '-115.364016', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53180, 'Tempiute', 2813, '89001', '775', '37.446549', '-115.364016', '2018-11-29 05:04:10', '2018-11-29 05:04:10'),\n(53181, 'Henderson', 2813, '89016', '702', '36.0394', '-114.9813', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53182, 'Ash Springs', 2813, '89017', '775', '37.716104', '-115.157625', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53183, 'Crystal Springs', 2813, '89017', '775', '37.716104', '-115.157625', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53184, 'Hiko', 2813, '89017', '775', '37.716104', '-115.157625', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53185, 'College Park', 2813, '89032', '702', '36.217572', '-115.173024', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53186, 'N Las Vegas', 2813, '89032', '702', '36.217572', '-115.173024', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53187, 'North Las Vegas', 2813, '89032', '702', '36.217572', '-115.173024', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53188, 'Mesquite', 2813, '89034', '775', '36.874646', '-114.125345', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53189, 'N Las Vegas', 2813, '89085', '702', '36.30956', '-115.198032', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53190, 'North Las Vegas', 2813, '89085', '702', '36.30956', '-115.198032', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53191, 'Las Vegas', 2813, '89102', '702', '36.142723', '-115.180873', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53192, 'Las Vegas', 2813, '89117', '702', '36.142384', '-115.279341', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53193, 'Las Vegas', 2813, '89119', '702', '36.089547', '-115.149607', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53194, 'Las Vegas', 2813, '89132', '702', '36.1753', '-115.1364', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53195, 'Las Vegas', 2813, '89134', '702', '36.197818', '-115.310378', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53196, 'Las Vegas', 2813, '89150', '702', '36.1753', '-115.1364', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53197, 'Sw Gas Co', 2813, '89150', '702', '36.1753', '-115.1364', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53198, 'Las Vegas', 2813, '89169', '702', '36.122534', '-115.143863', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53199, 'Eureka', 2813, '89316', '775', '39.72506', '-116.197925', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53200, 'Mc Gill', 2813, '89318', '775', '39.491158', '-114.754146', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53201, 'Steptoe', 2813, '89318', '775', '39.491158', '-114.754146', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53202, 'Crystal Bay', 2813, '89402', '775', '39.2261', '-120.0032', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53203, 'Luning', 2813, '89420', '775', '38.42438', '-118.156308', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53204, 'Sparks', 2813, '89435', '775', '39.5353', '-119.7517', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53205, 'Incline Village', 2813, '89450', '775', '39.2516', '-119.9719', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53206, 'Incline Vlg', 2813, '89450', '775', '39.2516', '-119.9719', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53207, 'Hidden Valley', 2813, '89502', '775', '39.489562', '-119.752051', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53208, 'Reno', 2813, '89502', '775', '39.489562', '-119.752051', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53209, 'Lawton', 2813, '89503', '775', '39.544546', '-119.843924', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53210, 'Reno', 2813, '89503', '775', '39.544546', '-119.843924', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53211, 'Reno', 2813, '89519', '775', '39.484951', '-119.854377', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53212, 'Reno', 2813, '89520', '775', '39.5297', '-119.8129', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53213, 'Carson City', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53214, 'Carson City Mall', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53215, 'Carson Colony', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:11', '2018-11-29 05:04:11'),\n(53216, 'Carson Meadows', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53217, 'Clear Creek', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53218, 'Jacks Valley', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53219, 'Lakeview', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53220, 'New Empire', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53221, 'New Washoe City', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53222, 'Stewart', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53223, 'Washoe', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53224, 'Washoe Valley', 2813, '89701', '775', '39.148441', '-119.662901', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53225, 'Carson City', 2813, '89702', '775', '39.1637', '-119.7667', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53226, 'Carson City', 2813, '89703', '775', '39.16416', '-119.885661', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53227, 'Branch #1', 2813, '89704', '775', '39.252704', '-119.781782', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53228, 'Carson City', 2813, '89704', '775', '39.252704', '-119.781782', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53229, 'Washoe Valley', 2813, '89704', '775', '39.252704', '-119.781782', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53230, 'Beatty', 2813, '89003', '775', '36.899863', '-116.774156', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53231, 'Rhyolite', 2813, '89003', '775', '36.899863', '-116.774156', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53232, 'Logandale', 2813, '89021', '702', '36.702186', '-114.509752', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53233, 'Moapa Valley', 2813, '89021', '702', '36.702186', '-114.509752', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53234, 'Jackass Flats', 2813, '89023', '702', '36.6649', '-115.9986', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53235, 'Mercury', 2813, '89023', '702', '36.6649', '-115.9986', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53236, 'Laughlin', 2813, '89028', '702', '35.1676', '-114.5723', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53237, 'Coyote Spgs', 2813, '89037', '702', '36.54', '-114.44', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53238, 'Coyote Springs', 2813, '89037', '702', '36.54', '-114.44', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53239, 'Moapa', 2813, '89037', '702', '36.54', '-114.44', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53240, 'Las Vegas', 2813, '89105', '702', '35.99', '-115.09', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53241, 'Las Vegas', 2813, '89112', '702', '36.1753', '-115.1364', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53242, 'Las Vegas', 2813, '89148', '702', '36.060255', '-115.297232', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53243, 'Las Vegas', 2813, '89153', '702', '36.1753', '-115.1364', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53244, 'Lv Valley Water Co', 2813, '89153', '702', '36.1753', '-115.1364', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53245, 'Clark Co Courthouse', 2813, '89155', '702', '36.1753', '-115.1364', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53246, 'Las Vegas', 2813, '89155', '702', '36.1753', '-115.1364', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53247, 'Empire', 2813, '89405', '775', '40.325859', '-119.66621', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53248, 'Winnemucca', 2813, '89446', '775', '40.9733', '-117.7348', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53249, 'Fallon', 2813, '89496', '775', '39.4736', '-118.7765', '2018-11-29 05:04:12', '2018-11-29 05:04:12'),\n(53250, 'Fallon Naval Air Station', 2813, '89496', '775', '39.4736', '-118.7765', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53251, 'Reno', 2813, '89507', '775', '39.5297', '-119.8129', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53252, 'University', 2813, '89507', '775', '39.5297', '-119.8129', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53253, 'Reno', 2813, '89521', '775', '39.385645', '-119.686873', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53254, 'V C Highlands', 2813, '89521', '775', '39.385645', '-119.686873', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53255, 'Vc Highlands', 2813, '89521', '775', '39.385645', '-119.686873', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53256, 'Parcel Return Reno', 2813, '89555', '775', '39.5297', '-119.8129', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53257, 'Reno', 2813, '89555', '775', '39.5297', '-119.8129', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53258, 'Carson City', 2813, '89705', '775', '39.08267', '-119.827304', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53259, 'Boulder City', 2813, '89006', '702', '35.9787', '-114.8317', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53260, 'Amargosa Valley', 2813, '89020', '775', '37.080478', '-116.530405', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53261, 'Amargosa Vly', 2813, '89020', '775', '37.080478', '-116.530405', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53262, 'Lathrop Wells', 2813, '89020', '775', '37.080478', '-116.530405', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53263, 'Laughlin', 2813, '89029', '702', '35.140958', '-114.737982', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53264, 'N Las Vegas', 2813, '89031', '702', '36.257804', '-115.166694', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53265, 'North Las Vegas', 2813, '89031', '702', '36.257804', '-115.166694', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53266, 'Las Vegas', 2813, '89054', '702', '35.924785', '-115.202005', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53267, 'Sloan', 2813, '89054', '702', '35.924785', '-115.202005', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53268, 'Las Vegas', 2813, '89104', '702', '36.151397', '-115.10976', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53269, 'Las Vegas', 2813, '89140', '702', '36.115312', '-115.313518', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53270, 'Las Vegas', 2813, '89165', '702', '35.99', '-115.09', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53271, 'Las Vegas', 2813, '89170', '702', '36.1062', '-115.1374', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53272, 'Las Vegas', 2813, '89179', '702', '35.991082', '-115.251368', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53273, 'Las Vegas', 2813, '89195', '702', '36.1753', '-115.1364', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53274, 'Las Vegas Brm', 2813, '89195', '702', '36.1753', '-115.1364', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53275, 'Riverside', 2813, '89007', '702', '36.721871', '-114.134987', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53276, 'Dyer', 2813, '89010', '775', '37.75382', '-118.050926', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53277, 'Mesquite', 2813, '89024', '702', '36.777563', '-114.002446', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53278, 'Echo Bay', 2813, '89040', '702', '36.433846', '-114.572205', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53279, 'Moapa Valley', 2813, '89040', '702', '36.433846', '-114.572205', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53280, 'Overton', 2813, '89040', '702', '36.433846', '-114.572205', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53281, 'Overton Beach', 2813, '89040', '702', '36.433846', '-114.572205', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53282, 'Stewarts Point', 2813, '89040', '702', '36.433846', '-114.572205', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53283, 'Valley Of Fire', 2813, '89040', '702', '36.433846', '-114.572205', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53284, 'Caselton', 2813, '89043', '775', '38.200752', '-114.524832', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53285, 'Dry Valley', 2813, '89043', '775', '38.200752', '-114.524832', '2018-11-29 05:04:13', '2018-11-29 05:04:13'),\n(53286, 'Eagle Valley', 2813, '89043', '775', '38.200752', '-114.524832', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53287, 'Pioche', 2813, '89043', '775', '38.200752', '-114.524832', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53288, 'Rose Valley', 2813, '89043', '775', '38.200752', '-114.524832', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53289, 'Ursine', 2813, '89043', '775', '38.200752', '-114.524832', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53290, 'Henderson', 2813, '89074', '702', '36.031252', '-115.073868', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53291, 'Las Vegas', 2813, '89109', '702', '36.122508', '-115.158589', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53292, 'Las Vegas', 2813, '89110', '702', '36.173908', '-115.052913', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53293, 'Las Vegas', 2813, '89141', '702', '35.990387', '-115.211564', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53294, 'Las Vegas', 2813, '89142', '702', '36.14903', '-115.03175', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53295, 'Las Vegas', 2813, '89143', '702', '36.317329', '-115.298879', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53296, 'Las Vegas', 2813, '89160', '702', '36.1753', '-115.1364', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53297, 'Indian Springs Air Force Aux', 2813, '89191', '702', '36.243636', '-114.990414', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53298, 'Isafa', 2813, '89191', '702', '36.243636', '-114.990414', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53299, 'Las Vegas', 2813, '89191', '702', '36.243636', '-114.990414', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53300, 'Nellis AFB', 2813, '89191', '702', '36.243636', '-114.990414', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53301, 'Nellis Air Force Base', 2813, '89191', '702', '36.243636', '-114.990414', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53302, 'Las Vegas', 2813, '89193', '702', '36.1753', '-115.1364', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53303, 'Austin', 2813, '89310', '775', '39.73953', '-117.198428', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53304, 'Ione', 2813, '89310', '775', '39.73953', '-117.198428', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53305, 'Kingston', 2813, '89310', '775', '39.73953', '-117.198428', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53306, 'Reese River', 2813, '89310', '775', '39.73953', '-117.198428', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53307, 'Genoa', 2813, '89411', '775', '39.013566', '-119.822838', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53308, 'Paradise Valley', 2813, '89426', '775', '41.652531', '-117.405557', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53309, 'Paradise Vly', 2813, '89426', '775', '41.652531', '-117.405557', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53310, 'Caliente', 2813, '89008', '775', '37.375515', '-114.534354', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53311, 'Carp', 2813, '89008', '775', '37.375515', '-114.534354', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53312, 'Elgin', 2813, '89008', '775', '37.375515', '-114.534354', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53313, 'Henderson', 2813, '89009', '702', '36.0394', '-114.9813', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53314, 'Mesquite', 2813, '89027', '702', '36.79552', '-114.086822', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53315, 'Crystal', 2813, '89041', '775', '36.2552', '-116.0393', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53316, 'Johnnie', 2813, '89041', '775', '36.2552', '-116.0393', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53317, 'Pahrump', 2813, '89041', '775', '36.2552', '-116.0393', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53318, 'Panaca', 2813, '89042', '775', '37.703566', '-114.268608', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53319, 'Henderson', 2813, '89077', '702', '36.004', '-115.1007', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53320, 'Calico Basin', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53321, 'Callville Bay', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53322, 'Cold Creek', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:14', '2018-11-29 05:04:14'),\n(53323, 'Corn Creek', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53324, 'Enterprise', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53325, 'Las Vegas', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53326, 'Mount Charleston', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53327, 'Mountain Sprg', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53328, 'Mountain Springs', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53329, 'Mt Charleston', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53330, 'Old Nevada', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53331, 'Sloan', 2813, '89124', '702', '36.003304', '-115.434436', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53332, 'Las Vegas', 2813, '89125', '702', '36.1753', '-115.1364', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53333, 'Las Vegas', 2813, '89157', '702', '36.18', '-115.14', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53334, 'City Center', 2813, '89158', '702', '36.108047', '-115.176789', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53335, 'Las Vegas', 2813, '89158', '702', '36.108047', '-115.176789', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53336, 'Las Vegas', 2813, '89161', '702', '36.048718', '-115.391162', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53337, 'Mountain Sprg', 2813, '89161', '702', '36.048718', '-115.391162', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53338, 'Mountain Springs', 2813, '89161', '702', '36.048718', '-115.391162', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53339, 'Fernley', 2813, '89408', '775', '39.62118', '-119.165825', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53340, 'Hazen', 2813, '89408', '775', '39.62118', '-119.165825', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53341, 'Gabbs', 2813, '89409', '775', '38.726414', '-117.715614', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53342, 'Schurz', 2813, '89427', '775', '38.924454', '-118.695426', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53343, 'Sheelite', 2813, '89427', '775', '38.924454', '-118.695426', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53344, 'Aurora', 2813, '89444', '775', '38.781281', '-119.398648', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53345, 'Simpson', 2813, '89444', '775', '38.781281', '-119.398648', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53346, 'Sweetwater', 2813, '89444', '775', '38.781281', '-119.398648', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53347, 'Topaz Ranch Estates', 2813, '89444', '775', '38.781281', '-119.398648', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53348, 'Wellington', 2813, '89444', '775', '38.781281', '-119.398648', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53349, 'Bottle Creek', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53350, 'Cosgrave', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53351, 'Grass Valley', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53352, 'Jungo', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53353, 'Paradise Hill', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53354, 'Sulphur', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53355, 'Weso', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53356, 'Winnemucca', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53357, 'Winnemucca Colony', 2813, '89445', '775', '41.167736', '-118.192768', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53358, 'Cannon International Airport', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:15', '2018-11-29 05:04:15'),\n(53359, 'Cottonwood Creek', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53360, 'Palomino Valley', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53361, 'Pyramid', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53362, 'Reno', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53363, 'Sand Pass', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53364, 'Sutcliffe', 2813, '89510', '775', '39.881942', '-119.617604', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53365, 'Gold Point', 2813, '89013', '775', '37.548676', '-117.406503', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53366, 'Goldfield', 2813, '89013', '775', '37.548676', '-117.406503', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53367, 'Lida', 2813, '89013', '775', '37.548676', '-117.406503', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53368, 'Manhattan', 2813, '89022', '775', '38.639563', '-117.006141', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53369, 'N Las Vegas', 2813, '89036', '702', '36.1986', '-115.1168', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53370, 'North Las Vegas', 2813, '89036', '702', '36.1986', '-115.1168', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53371, 'Silverpeak', 2813, '89047', '775', '37.738188', '-117.946956', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53372, 'N Las Vegas', 2813, '89081', '702', '36.258182', '-115.102844', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53373, 'North Las Vegas', 2813, '89081', '702', '36.258182', '-115.102844', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53374, 'Las Vegas', 2813, '89106', '702', '36.181024', '-115.163961', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53375, 'Las Vegas', 2813, '89113', '702', '36.060082', '-115.26444', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53376, 'Las Vegas', 2813, '89115', '702', '36.239873', '-115.04381', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53377, 'Las Vegas', 2813, '89138', '702', '36.168458', '-115.360754', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53378, 'Las Vegas', 2813, '89145', '702', '36.170189', '-115.283822', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53379, 'Las Vegas', 2813, '89156', '702', '36.21657', '-114.974983', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53380, 'Denio', 2813, '89404', '775', '41.477808', '-118.888944', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53381, 'Dike', 2813, '89404', '775', '41.477808', '-118.888944', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53382, 'Highway 40', 2813, '89404', '775', '41.477808', '-118.888944', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53383, 'Jackson Mountain', 2813, '89404', '775', '41.477808', '-118.888944', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53384, 'Pueblo Valley', 2813, '89404', '775', '41.477808', '-118.888944', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53385, 'Quinn River Crossing', 2813, '89404', '775', '41.477808', '-118.888944', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53386, 'Glenbrook', 2813, '89413', '775', '39.034913', '-119.914785', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53387, 'Lincoln Park', 2813, '89413', '775', '39.034913', '-119.914785', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53388, 'Mina', 2813, '89422', '775', '38.202448', '-118.278387', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53389, 'Nixon', 2813, '89424', '775', '39.973208', '-119.419763', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53390, 'Mason', 2813, '89447', '775', '38.872128', '-119.074881', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53391, 'Pizen Switch', 2813, '89447', '775', '38.872128', '-119.074881', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53392, 'Wabuska', 2813, '89447', '775', '38.872128', '-119.074881', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53393, 'Weed Heights', 2813, '89447', '775', '38.872128', '-119.074881', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53394, 'Yerington', 2813, '89447', '775', '38.872128', '-119.074881', '2018-11-29 05:04:16', '2018-11-29 05:04:16'),\n(53395, 'Carson City', 2813, '89706', '775', '39.179854', '-119.545991', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53396, 'Mound House', 2813, '89706', '775', '39.179854', '-119.545991', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53397, 'Carson City', 2813, '89713', '775', '39.1637', '-119.7667', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53398, 'Nevada Employment Security', 2813, '89713', '775', '39.1637', '-119.7667', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53399, 'Jiggs', 2813, '89815', '775', '40.580284', '-115.565328', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53400, 'Spring Creek', 2813, '89815', '775', '40.580284', '-115.565328', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53401, 'Moapa', 2813, '89025', '702', '36.638908', '-114.753508', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53402, 'Jean', 2813, '89026', '702', '35.7786', '-115.3231', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53403, 'So Nev Correctional Ctr', 2813, '89026', '702', '35.7786', '-115.3231', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53404, 'Henderson', 2813, '89044', '702', '35.940321', '-115.097277', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53405, 'Las Vegas', 2813, '89044', '702', '35.940321', '-115.097277', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53406, 'Pahrump', 2813, '89060', '775', '36.291234', '-116.071228', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53407, 'Las Vegas', 2813, '89107', '702', '36.170153', '-115.208648', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53408, 'Las Vegas', 2813, '89108', '702', '36.21435', '-115.213179', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53409, 'Las Vegas', 2813, '89126', '702', '36.1753', '-115.1364', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53410, 'Las Vegas', 2813, '89127', '702', '36.1753', '-115.1364', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53411, 'Las Vegas', 2813, '89144', '702', '36.177022', '-115.314718', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53412, 'Las Vegas', 2813, '89159', '702', '36.1753', '-115.1364', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53413, 'Shared Firm Zip Code', 2813, '89159', '702', '36.1753', '-115.1364', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53414, 'Las Vegas', 2813, '89177', '702', '36.1753', '-115.1364', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53415, 'Mgm Properties', 2813, '89177', '702', '36.1753', '-115.1364', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53416, 'Baker', 2813, '89311', '775', '39.142137', '-114.339374', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53417, 'Lehman Caves', 2813, '89311', '775', '39.142137', '-114.339374', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53418, 'Centerville', 2813, '89410', '775', '38.786464', '-119.578173', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53419, 'Dresslerville', 2813, '89410', '775', '38.786464', '-119.578173', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53420, 'Gardnerville', 2813, '89410', '775', '38.786464', '-119.578173', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53421, 'Sheridan', 2813, '89410', '775', '38.786464', '-119.578173', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53422, 'Topaz Lake', 2813, '89410', '775', '38.786464', '-119.578173', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53423, 'Topaz Lodge', 2813, '89410', '775', '38.786464', '-119.578173', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53424, 'King River', 2813, '89425', '775', '41.697306', '-118.054407', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53425, 'Orovada', 2813, '89425', '775', '41.697306', '-118.054407', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53426, 'Rebel Creek', 2813, '89425', '775', '41.697306', '-118.054407', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53427, 'Silver City', 2813, '89428', '775', '39.258984', '-119.651593', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53428, 'Spanish Spgs', 2813, '89441', '775', '39.679595', '-119.675218', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53429, 'Spanish Springs', 2813, '89441', '775', '39.679595', '-119.675218', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53430, 'Sparks', 2813, '89441', '775', '39.679595', '-119.675218', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53431, 'Olinghouse', 2813, '89442', '775', '39.744468', '-119.28628', '2018-11-29 05:04:17', '2018-11-29 05:04:17'),\n(53432, 'Wadsworth', 2813, '89442', '775', '39.744468', '-119.28628', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53433, 'Gardnerville', 2813, '89460', '775', '38.910495', '-119.823556', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53434, 'Bordertown', 2813, '89508', '775', '39.801066', '-119.887482', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53435, 'Cold Springs', 2813, '89508', '775', '39.801066', '-119.887482', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53436, 'Reno', 2813, '89508', '775', '39.801066', '-119.887482', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53437, 'Silver Knolls', 2813, '89508', '775', '39.801066', '-119.887482', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53438, 'Reno', 2813, '89509', '775', '39.497002', '-119.828246', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53439, 'Citibank', 2813, '88905', '702', '36.04', '-114.9835', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53440, 'The Lakes', 2813, '88905', '702', '36.04', '-114.9835', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53441, 'Henderson', 2813, '89012', '702', '36.008494', '-115.039983', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53442, 'Goodsprings', 2813, '89019', '702', '35.784687', '-115.471393', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53443, 'Jean', 2813, '89019', '702', '35.784687', '-115.471393', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53444, 'Primm', 2813, '89019', '702', '35.784687', '-115.471393', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53445, 'Sandy Valley', 2813, '89019', '702', '35.784687', '-115.471393', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53446, 'Cottonwood Cv', 2813, '89046', '702', '35.515149', '-114.971024', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53447, 'Nelson', 2813, '89046', '702', '35.515149', '-114.971024', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53448, 'Searchlight', 2813, '89046', '702', '35.515149', '-114.971024', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53449, 'Henderson', 2813, '89053', '702', '36.0385', '-115.062', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53450, 'N Las Vegas', 2813, '89087', '702', '36.2', '-115.12', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53451, 'North Las Vegas', 2813, '89087', '702', '36.2', '-115.12', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53452, 'Las Vegas', 2813, '89139', '702', '36.033466', '-115.212051', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53453, 'Las Vegas', 2813, '89146', '702', '36.142398', '-115.22485', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53454, 'Citibank', 2813, '89164', '702', '36.1753', '-115.1364', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53455, 'Las Vegas', 2813, '89164', '702', '36.1753', '-115.1364', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53456, 'The Lakes', 2813, '89164', '702', '36.1753', '-115.1364', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53457, 'Las Vegas', 2813, '89180', '702', '36.1753', '-115.1364', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53458, 'Cordero', 2813, '89421', '775', '41.878743', '-117.973254', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53459, 'Mc Dermitt', 2813, '89421', '775', '41.878743', '-117.973254', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53460, 'Mcdermitt', 2813, '89421', '775', '41.878743', '-117.973254', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53461, 'Minden', 2813, '89423', '775', '38.977004', '-119.578285', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53462, 'Reno', 2813, '89505', '775', '39.5297', '-119.8129', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53463, 'Reno', 2813, '89557', '775', '39.5297', '-119.8129', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53464, 'Univ Nv Reno', 2813, '89557', '775', '39.5297', '-119.8129', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53465, 'Carson City', 2813, '89714', '775', '39.1637', '-119.7667', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53466, 'Nevada Industrial Comm', 2813, '89714', '775', '39.1637', '-119.7667', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53467, 'Carson City', 2813, '89721', '775', '39.1637', '-119.7667', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53468, 'Deeth', 2813, '89823', '775', '41.45605', '-115.456321', '2018-11-29 05:04:18', '2018-11-29 05:04:18'),\n(53469, 'Contact', 2813, '89825', '775', '41.705174', '-115.177419', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53470, 'Jackpot', 2813, '89825', '775', '41.705174', '-115.177419', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53471, 'San Jacinto', 2813, '89825', '775', '41.705174', '-115.177419', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53472, 'Montello', 2813, '89830', '775', '41.281955', '-114.231873', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53473, 'Ely', 2813, '89315', '775', '39.2551', '-114.8685', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53474, 'Carroll Station', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53475, 'Cold Spring', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53476, 'Dixie Valley', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53477, 'Fallon', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53478, 'Fallon Colony', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53479, 'Frenchman', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53480, 'Middlegate', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53481, 'Peterson', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53482, 'Ragtown', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53483, 'Salt Wells', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53484, 'Stillwater', 2813, '89406', '775', '39.537984', '-118.343593', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53485, 'Babbitt', 2813, '89415', '775', '38.554216', '-118.511047', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53486, 'Hawthorne', 2813, '89415', '775', '38.554216', '-118.511047', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53487, 'Hawthorne Army Ammunition Pl', 2813, '89415', '775', '38.554216', '-118.511047', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53488, 'Thorne', 2813, '89415', '775', '38.554216', '-118.511047', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53489, 'Walker Lake', 2813, '89415', '775', '38.554216', '-118.511047', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53490, 'Whiskey Flats', 2813, '89415', '775', '38.554216', '-118.511047', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53491, 'Silver Spgs', 2813, '89429', '775', '39.432179', '-119.265274', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53492, 'Silver Springs', 2813, '89429', '775', '39.432179', '-119.265274', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53493, 'Stagecoach', 2813, '89429', '775', '39.432179', '-119.265274', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53494, 'Greenbrae', 2813, '89431', '775', '39.543034', '-119.736852', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53495, 'Happy Valley', 2813, '89431', '775', '39.543034', '-119.736852', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53496, 'Sparks', 2813, '89431', '775', '39.543034', '-119.736852', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53497, 'Sun Valley', 2813, '89431', '775', '39.543034', '-119.736852', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53498, 'Carlin', 2813, '89822', '775', '40.637608', '-116.119925', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53499, 'Ruby Valley', 2813, '89833', '775', '40.385376', '-115.232894', '2018-11-29 05:04:19', '2018-11-29 05:04:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(53500, 'Shantytown', 2813, '89833', '775', '40.385376', '-115.232894', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53501, 'Boulder City', 2813, '89005', '702', '35.92822', '-114.832658', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53502, 'Willow Beach', 2813, '89005', '702', '35.92822', '-114.832658', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53503, 'Green Valley', 2813, '89014', '702', '36.058827', '-115.057395', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53504, 'Henderson', 2813, '89014', '702', '36.058827', '-115.057395', '2018-11-29 05:04:19', '2018-11-29 05:04:19'),\n(53505, 'N Las Vegas', 2813, '89030', '702', '36.214232', '-115.129269', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53506, 'No Las Vegas', 2813, '89030', '702', '36.214232', '-115.129269', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53507, 'North Las Vegas', 2813, '89030', '702', '36.214232', '-115.129269', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53508, 'Cal Nev Ari', 2813, '89039', '702', '35.4611', '-114.9197', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53509, 'Palm Gardens', 2813, '89039', '702', '35.4611', '-114.9197', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53510, 'Searchlight', 2813, '89039', '702', '35.4611', '-114.9197', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53511, 'Crystal', 2813, '89048', '775', '36.124087', '-116.005344', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53512, 'Johnnie', 2813, '89048', '775', '36.124087', '-116.005344', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53513, 'Pahrump', 2813, '89048', '775', '36.124087', '-116.005344', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53514, 'Las Vegas', 2813, '89103', '702', '36.111646', '-115.211941', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53515, 'Las Vegas', 2813, '89114', '702', '36.1753', '-115.1364', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53516, 'Las Vegas', 2813, '89121', '702', '36.12281', '-115.089015', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53517, 'Las Vegas', 2813, '89123', '702', '36.035396', '-115.149548', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53518, 'Las Vegas', 2813, '89128', '702', '36.197963', '-115.265816', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53519, 'Las Vegas', 2813, '89130', '702', '36.247519', '-115.236704', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53520, 'Las Vegas', 2813, '89137', '702', '36.1753', '-115.1364', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53521, 'Las Vegas', 2813, '89162', '702', '36.1753', '-115.1364', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53522, 'Las Vegas', 2813, '89173', '702', '36.1062', '-115.1374', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53523, 'Las Vegas', 2813, '89178', '702', '36.026015', '-115.280108', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53524, 'Duckwater', 2813, '89314', '775', '38.976279', '-115.671013', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53525, 'Fallon', 2813, '89407', '775', '39.4737', '-118.7764', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53526, 'Gerlach', 2813, '89412', '775', '41.22429', '-119.652119', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53527, 'Smoke Creek', 2813, '89412', '775', '41.22429', '-119.652119', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53528, 'Golconda', 2813, '89414', '775', '40.977086', '-117.331152', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53529, 'Midas', 2813, '89414', '775', '40.977086', '-117.331152', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53530, 'Red House', 2813, '89414', '775', '40.977086', '-117.331152', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53531, 'Central Valley', 2813, '89430', '775', '38.764079', '-119.310078', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53532, 'Smith', 2813, '89430', '775', '38.764079', '-119.310078', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53533, 'Sparks', 2813, '89432', '775', '39.5353', '-119.7517', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53534, 'Verdi', 2813, '89439', '775', '39.553061', '-120.022171', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53535, 'Cave Rock', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53536, 'Elk Point', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53537, 'Elks Point', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53538, 'Kelmont East', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53539, 'Kingsbury', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53540, 'Lake Village', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53541, 'Marla Bay', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53542, 'Pinewild', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:04:20', '2018-11-29 05:04:20'),\n(53543, 'Coaldale', 2813, '89049', '775', '38.05894', '-117.217647', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53544, 'Tonopah', 2813, '89049', '775', '38.05894', '-117.217647', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53545, 'Warm Springs', 2813, '89049', '775', '38.05894', '-117.217647', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53546, 'N Las Vegas', 2813, '89084', '702', '36.300552', '-115.15284', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53547, 'North Las Vegas', 2813, '89084', '702', '36.300552', '-115.15284', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53548, 'Las Vegas', 2813, '89116', '702', '36.1753', '-115.1364', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53549, 'Las Vegas', 2813, '89133', '702', '36.1753', '-115.1364', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53550, 'Las Vegas', 2813, '89135', '702', '36.12114', '-115.350771', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53551, 'Las Vegas', 2813, '89149', '702', '36.27865', '-115.286877', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53552, 'Las Vegas', 2813, '89151', '702', '36.1753', '-115.1364', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53553, 'Nevada Power', 2813, '89151', '702', '36.1753', '-115.1364', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53554, 'Embarq Telphone', 2813, '89152', '702', '36.1753', '-115.1364', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53555, 'Las Vegas', 2813, '89152', '702', '36.1753', '-115.1364', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53556, 'Las Vegas', 2813, '89183', '702', '35.987793', '-115.148167', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53557, 'Ruth', 2813, '89319', '775', '39.2794', '-114.9874', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53558, 'Apache', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53559, 'Humboldt', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53560, 'Imlay', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53561, 'Mill City', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53562, 'Nevada Mass', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53563, 'Thunder Mountain', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53564, 'Tungsten', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53565, 'Unionville', 2813, '89418', '775', '40.54906', '-117.976962', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53566, 'Sun Valley', 2813, '89433', '775', '39.600367', '-119.775674', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53567, 'Reno', 2813, '89533', '775', '39.5297', '-119.8129', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53568, 'Elko', 2813, '89801', '775', '41.177457', '-115.892493', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53569, 'Halleck', 2813, '89801', '775', '41.177457', '-115.892493', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53570, 'Lee', 2813, '89801', '775', '41.177457', '-115.892493', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53571, 'North Fork', 2813, '89801', '775', '41.177457', '-115.892493', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53572, 'Beowawe', 2813, '89821', '775', '40.5339', '-116.322325', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53573, 'Crescent Valley', 2813, '89821', '775', '40.5339', '-116.322325', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53574, 'Crescent Vly', 2813, '89821', '775', '40.5339', '-116.322325', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53575, 'Dunphy', 2813, '89821', '775', '40.5339', '-116.322325', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53576, 'Emigrant Pass', 2813, '89821', '775', '40.5339', '-116.322325', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53577, 'Tuscarora', 2813, '89834', '775', '41.161586', '-116.615658', '2018-11-29 05:04:21', '2018-11-29 05:04:21'),\n(53578, 'Arthur', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53579, 'Cobre', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53580, 'Cover City', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53581, 'Metropolis', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53582, 'Oasis', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53583, 'Pequop', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53584, 'Shafter', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53585, 'Thousand Springs', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53586, 'Wells', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53587, 'Wilkins', 2813, '89835', '775', '41.056436', '-114.690479', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53588, 'Henderson', 2813, '89002', '702', '35.998478', '-114.9589', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53589, 'Creech Air Force Base', 2813, '89018', '702', '36.548801', '-115.40879', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53590, 'Indian Spgs', 2813, '89018', '702', '36.548801', '-115.40879', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53591, 'Indian Springs', 2813, '89018', '702', '36.548801', '-115.40879', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53592, 'N Las Vegas', 2813, '89033', '702', '36.321204', '-115.143505', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53593, 'North Las Vegas', 2813, '89033', '702', '36.321204', '-115.143505', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53594, 'Henderson', 2813, '89052', '702', '35.981602', '-115.113204', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53595, 'Coyote Spgs', 2813, '89067', '702', '36.54', '-114.44', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53596, 'Coyote Springs', 2813, '89067', '702', '36.54', '-114.44', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53597, 'Moapa', 2813, '89067', '702', '36.54', '-114.44', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53598, 'Las Vegas', 2813, '89101', '702', '36.173634', '-115.12637', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53599, 'Citibank', 2813, '88901', '702', '36.04', '-114.9835', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53600, 'The Lakes', 2813, '88901', '702', '36.04', '-114.9835', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53601, 'Calico Ridge', 2813, '89015', '702', '36.011129', '-114.949676', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53602, 'Henderson', 2813, '89015', '702', '36.011129', '-114.949676', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53603, 'Eastchester', 2814, '10709', '914', '40.955632', '-73.808228', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53604, 'Yonkers', 2814, '10709', '914', '40.955632', '-73.808228', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53605, 'N Tarrytown', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53606, 'North Tarrytown', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53607, 'Philipse Manor', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53608, 'Pocantico Hills', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53609, 'Sleepy Hollow', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53610, 'Sleepy Hollow Manor', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53611, 'Tarrytown', 2814, '10591', '914', '41.082914', '-73.849989', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53612, 'Gedney', 2814, '10605', '914', '41.007673', '-73.743984', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53613, 'White Plains', 2814, '10605', '914', '41.007673', '-73.743984', '2018-11-29 05:04:22', '2018-11-29 05:04:22'),\n(53614, 'Palisades', 2814, '10964', '845', '41.011761', '-73.920514', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53615, 'Southfields', 2814, '10975', '845', '41.237702', '-74.132766', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53616, 'Bronx', 2814, '10473', '718', '40.816461', '-73.862173', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53617, 'Cold Spring', 2814, '10516', '845', '41.447135', '-73.909172', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53618, 'Nelsonville', 2814, '10516', '845', '41.447135', '-73.909172', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53619, 'North Highland', 2814, '10516', '845', '41.447135', '-73.909172', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53620, 'Philipstown', 2814, '10516', '845', '41.447135', '-73.909172', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53621, 'Elmsford', 2814, '10523', '914', '41.06022', '-73.819639', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53622, 'Lake Lincolnd', 2814, '10541', '845', '41.374535', '-73.752144', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53623, 'Lake Lincolndale', 2814, '10541', '845', '41.374535', '-73.752144', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53624, 'Lake Mahopac', 2814, '10541', '845', '41.374535', '-73.752144', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53625, 'Bronx', 2814, '10466', '718', '40.891958', '-73.844969', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53626, 'Wakefield', 2814, '10466', '718', '40.891958', '-73.844969', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53627, 'Lake Secor', 2814, '10541', '845', '41.374535', '-73.752144', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53628, 'Mahopac', 2814, '10541', '845', '41.374535', '-73.752144', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53629, 'Millwood', 2814, '10546', '914', '41.195843', '-73.79625', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53630, 'Staten Island', 2814, '10309', '718', '40.53115', '-74.217755', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53631, 'Staten Island', 2814, '10310', '718', '40.633155', '-74.116182', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53632, 'Boulevard', 2814, '10459', '718', '40.825698', '-73.89237', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53633, 'Bronx', 2814, '10459', '718', '40.825698', '-73.89237', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53634, 'Longwood', 2814, '10459', '718', '40.825698', '-73.89237', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53635, 'Bronx', 2814, '10462', '718', '40.842679', '-73.855548', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53636, 'Mahopac Falls', 2814, '10542', '845', '41.3716', '-73.7622', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53637, 'Mamaroneck', 2814, '10543', '914', '40.951282', '-73.736789', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53638, 'Staten Island', 2814, '10301', '718', '40.624729', '-74.094544', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53639, 'Staten Island', 2814, '10302', '718', '40.629255', '-74.137896', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53640, 'Islip Terrace', 2814, '11752', '631', '40.759565', '-73.17845', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53641, 'Asharoken', 2814, '11768', '631', '40.913952', '-73.332852', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53642, 'Crab Meadow', 2814, '11768', '631', '40.913952', '-73.332852', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53643, 'Eatons Neck', 2814, '11768', '631', '40.913952', '-73.332852', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53644, 'Fort Salonga', 2814, '11768', '631', '40.913952', '-73.332852', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53645, 'Northport', 2814, '11768', '631', '40.913952', '-73.332852', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53646, 'Bayville', 2814, '11709', '516', '40.907728', '-73.557637', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53647, 'Bohemia', 2814, '11716', '631', '40.770228', '-73.124984', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53648, 'Lawrence', 2814, '11559', '516', '40.620506', '-73.716682', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53649, 'Meadowmere Park', 2814, '11559', '516', '40.620506', '-73.716682', '2018-11-29 05:04:23', '2018-11-29 05:04:23'),\n(53650, 'Old Westbury', 2814, '11568', '516', '40.787054', '-73.590871', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53651, 'Westbury', 2814, '11568', '516', '40.787054', '-73.590871', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53652, 'Elmhurst', 2814, '11373', '718', '40.738341', '-73.877886', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53653, 'Flushing', 2814, '11373', '718', '40.738341', '-73.877886', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53654, 'Queens', 2814, '11373', '718', '40.738341', '-73.877886', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53655, 'Flushing', 2814, '11375', '718', '40.723074', '-73.842196', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53656, 'Forest Hills', 2814, '11375', '718', '40.723074', '-73.842196', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53657, 'Forest Hls', 2814, '11375', '718', '40.723074', '-73.842196', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53658, 'Parkside', 2814, '11375', '718', '40.723074', '-73.842196', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53659, 'Queens', 2814, '11375', '718', '40.723074', '-73.842196', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53660, 'Flushing', 2814, '11377', '718', '40.747995', '-73.906412', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53661, 'Queens', 2814, '11377', '718', '40.747995', '-73.906412', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53662, 'Woodside', 2814, '11377', '718', '40.747995', '-73.906412', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53663, 'Bayside', 2814, '11359', '718', '40.791835', '-73.776523', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53664, 'Flushing', 2814, '11359', '718', '40.791835', '-73.776523', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53665, 'Fort Totten', 2814, '11359', '718', '40.791835', '-73.776523', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53666, 'Queens', 2814, '11359', '718', '40.791835', '-73.776523', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53667, 'Jamaica', 2814, '11418', '718', '40.699576', '-73.831452', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53668, 'Kew Gardens', 2814, '11418', '718', '40.699576', '-73.831452', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53669, 'Queens', 2814, '11418', '718', '40.699576', '-73.831452', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53670, 'Richmond Hill', 2814, '11418', '718', '40.699576', '-73.831452', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53671, 'Tallman', 2814, '10982', '845', '41.1111', '-74.1003', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53672, 'Westtown', 2814, '10998', '845', '41.32708', '-74.546906', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53673, 'Long Is City', 2814, '11109', '718', '40.744496', '-73.957744', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53674, 'Long Island City', 2814, '11109', '718', '40.744496', '-73.957744', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53675, 'Queens', 2814, '11109', '718', '40.744496', '-73.957744', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53676, 'Brooklyn', 2814, '11218', '718', '40.644512', '-73.978228', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53677, 'Blooming Grove', 2814, '10914', '845', '41.4121', '-74.1914', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53678, 'Blooming Grv', 2814, '10914', '845', '41.4121', '-74.1914', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53679, 'S Bloomng Grv', 2814, '10914', '845', '41.4121', '-74.1914', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53680, 'Greenwood Lake', 2814, '10925', '845', '41.208099', '-74.305281', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53681, 'Greenwood Lk', 2814, '10925', '845', '41.208099', '-74.305281', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53682, 'Howells', 2814, '10932', '845', '41.4797', '-74.4659', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53683, 'Kiryas Joel', 2814, '10950', '845', '41.318388', '-74.206344', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53684, 'Monroe', 2814, '10950', '845', '41.318388', '-74.206344', '2018-11-29 05:04:24', '2018-11-29 05:04:24'),\n(53685, 'S Bloomng Grv', 2814, '10950', '845', '41.318388', '-74.206344', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53686, 'New Milford', 2814, '10959', '845', '41.2345', '-74.4144', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53687, 'Montrose', 2814, '10548', '914', '41.24281', '-73.944832', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53688, 'East White Plains', 2814, '10604', '914', '41.051724', '-73.730429', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53689, 'W Harrison', 2814, '10604', '914', '41.051724', '-73.730429', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53690, 'West Harrison', 2814, '10604', '914', '41.051724', '-73.730429', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53691, 'Westchester County Airport', 2814, '10604', '914', '41.051724', '-73.730429', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53692, 'White Plains', 2814, '10604', '914', '41.051724', '-73.730429', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53693, 'Grand View-On-Hudson', 2814, '10968', '845', '41.040922', '-73.912591', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53694, 'Piermont', 2814, '10968', '845', '41.040922', '-73.912591', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53695, 'Bronx', 2814, '10468', '718', '40.869982', '-73.900709', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53696, 'Jerome', 2814, '10468', '718', '40.869982', '-73.900709', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53697, 'Amawalk', 2814, '10501', '914', '41.295208', '-73.757628', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53698, 'Yonkers', 2814, '10702', '914', '40.9311', '-73.8995', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53699, 'Fishers Island', 2814, '06390', '631', '41.270904', '-71.980214', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53700, 'Fishers Isle', 2814, '06390', '631', '41.270904', '-71.980214', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53701, 'Saint James', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53702, 'St James', 2814, '11780', '631', '40.893181', '-73.181556', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53703, 'Cherry Grove', 2814, '11782', '631', '40.711974', '-73.066076', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53704, 'Fire Is Pines', 2814, '11782', '631', '40.711974', '-73.066076', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53705, 'Fire Island Pines', 2814, '11782', '631', '40.711974', '-73.066076', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53706, 'Sayville', 2814, '11782', '631', '40.711974', '-73.066076', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53707, 'Woodbury', 2814, '11797', '516', '40.81805', '-73.470583', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53708, 'Dix Hills', 2814, '11747', '631', '40.785118', '-73.404965', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53709, 'Huntingtn Sta', 2814, '11747', '631', '40.785118', '-73.404965', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53710, 'Huntington Station', 2814, '11747', '631', '40.785118', '-73.404965', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53711, 'Melville', 2814, '11747', '631', '40.785118', '-73.404965', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53712, 'Miller Place', 2814, '11764', '631', '40.935352', '-72.980496', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53713, 'Breezy Point', 2814, '11697', '718', '40.555117', '-73.910063', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53714, 'Far Rockaway', 2814, '11697', '718', '40.555117', '-73.910063', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53715, 'Queens', 2814, '11697', '718', '40.555117', '-73.910063', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53716, 'Rockaway Point', 2814, '11697', '718', '40.555117', '-73.910063', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53717, 'Rockaway Pt', 2814, '11697', '718', '40.555117', '-73.910063', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53718, 'Bellerose Manor', 2814, '11428', '718', '40.72163', '-73.742737', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53719, 'Bellrs Manor', 2814, '11428', '718', '40.72163', '-73.742737', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53720, 'Jamaica', 2814, '11428', '718', '40.72163', '-73.742737', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53721, 'Queens', 2814, '11428', '718', '40.72163', '-73.742737', '2018-11-29 05:04:25', '2018-11-29 05:04:25'),\n(53722, 'Queens Village', 2814, '11428', '718', '40.72163', '-73.742737', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53723, 'Queens Vlg', 2814, '11428', '718', '40.72163', '-73.742737', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53724, 'Jamaica', 2814, '11429', '718', '40.711012', '-73.740235', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53725, 'Queens', 2814, '11429', '718', '40.711012', '-73.740235', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53726, 'Queens Village', 2814, '11429', '718', '40.711012', '-73.740235', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53727, 'Queens Vlg', 2814, '11429', '718', '40.711012', '-73.740235', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53728, 'Jamaica', 2814, '11430', '718', '40.6433', '-73.788321', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53729, 'Jf Kennedy Ap', 2814, '11430', '718', '40.6433', '-73.788321', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53730, 'Jfk Airport', 2814, '11430', '718', '40.6433', '-73.788321', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53731, 'John F Kennedy Airport', 2814, '11430', '718', '40.6433', '-73.788321', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53732, 'Queens', 2814, '11430', '718', '40.6433', '-73.788321', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53733, 'Hewlett Neck', 2814, '11598', '516', '40.630464', '-73.711925', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53734, 'Woodmere', 2814, '11598', '516', '40.630464', '-73.711925', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53735, 'Woodsburgh', 2814, '11598', '516', '40.630464', '-73.711925', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53736, 'Carle Place', 2814, '11514', '516', '40.75028', '-73.612468', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53737, 'Garden City', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53738, 'Garden City S', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53739, 'Garden City South', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53740, 'Mitchell Field', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53741, 'Roosevelt Field', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53742, 'Stewart Manor', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53743, 'Village Of Garden City', 2814, '11530', '516', '40.727166', '-73.63508', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53744, 'Brooklyn', 2814, '11229', '718', '40.601296', '-73.940215', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53745, 'Far Rockaway', 2814, '11096', '516', '40.620332', '-73.75402', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53746, 'Inwood', 2814, '11096', '516', '40.620332', '-73.75402', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53747, 'Franklin Sq', 2814, '11010', '516', '40.700271', '-73.673991', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53748, 'Franklin Square', 2814, '11010', '516', '40.700271', '-73.673991', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53749, 'Brooklyn', 2814, '11214', '718', '40.597689', '-74.000986', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53750, 'Yonkers', 2814, '10710', '914', '40.966828', '-73.846755', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53751, 'Bellvale', 2814, '10912', '845', '41.2506', '-74.3113', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53752, 'Great Neck', 2814, '11027', '516', '40.8007', '-73.7288', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53753, 'Crotonville', 2814, '10562', '914', '41.188562', '-73.837451', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53754, 'Kitchawan', 2814, '10562', '914', '41.188562', '-73.837451', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53755, 'Ossining', 2814, '10562', '914', '41.188562', '-73.837451', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53756, 'Purdy Station', 2814, '10578', '914', '41.315982', '-73.675584', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53757, 'Purdys', 2814, '10578', '914', '41.315982', '-73.675584', '2018-11-29 05:04:26', '2018-11-29 05:04:26'),\n(53758, 'Orangeburg', 2814, '10962', '845', '41.05244', '-73.962378', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53759, 'Sparkill', 2814, '10976', '845', '41.021196', '-73.912273', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53760, 'Briarcliff', 2814, '10510', '914', '41.142792', '-73.841185', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53761, 'Briarcliff Manor', 2814, '10510', '914', '41.142792', '-73.841185', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53762, 'Briarcliff Mnr', 2814, '10510', '914', '41.142792', '-73.841185', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53763, 'Scarborough', 2814, '10510', '914', '41.142792', '-73.841185', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53764, 'Carmel', 2814, '10512', '845', '41.43128', '-73.725599', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53765, 'Kent Cliffs', 2814, '10512', '845', '41.43128', '-73.725599', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53766, 'Kent Lakes', 2814, '10512', '845', '41.43128', '-73.725599', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53767, 'Lake Carmel', 2814, '10512', '845', '41.43128', '-73.725599', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53768, 'White Plains', 2814, '10610', '914', '41.0342', '-73.7632', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53769, 'Centuck', 2814, '10710', '914', '40.966828', '-73.846755', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53770, 'Pound Ridge', 2814, '10576', '914', '41.208544', '-73.567918', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53771, 'Scotts Corners', 2814, '10576', '914', '41.208544', '-73.567918', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53772, 'Otisville', 2814, '10963', '845', '41.464513', '-74.54013', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53773, 'Chestnut Rdg', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53774, 'Chestnut Ridge', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53775, 'Kaser', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53776, 'New Hempstead', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53777, 'New Square', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53778, 'Spring Valley', 2814, '10977', '845', '41.115562', '-74.047621', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53779, 'Brewster', 2814, '10509', '845', '41.418603', '-73.597038', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53780, 'Sears Corners', 2814, '10509', '845', '41.418603', '-73.597038', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53781, 'Southeast', 2814, '10509', '845', '41.418603', '-73.597038', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53782, 'Buchanan', 2814, '10511', '914', '41.263146', '-73.948804', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53783, 'Staten Island', 2814, '10311', '718', '40.6151', '-74.1727', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53784, 'Staten Island', 2814, '10303', '718', '40.632564', '-74.168239', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53785, 'Bronx', 2814, '10451', '718', '40.818953', '-73.920406', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53786, 'Bronx', 2814, '10452', '718', '40.837314', '-73.922428', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53787, 'Highbridge', 2814, '10452', '718', '40.837314', '-73.922428', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53788, 'Stadium', 2814, '10452', '718', '40.837314', '-73.922428', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53789, 'University Heights', 2814, '10452', '718', '40.837314', '-73.922428', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53790, 'Jefferson Vly', 2814, '10535', '914', '41.335657', '-73.799687', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53791, 'Katonah', 2814, '10536', '914', '41.267512', '-73.68948', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53792, 'Lake Katonah', 2814, '10536', '914', '41.267512', '-73.68948', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53793, 'Lake Peekskill', 2814, '10537', '845', '41.336722', '-73.883972', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53794, 'Lk Peekskill', 2814, '10537', '845', '41.336722', '-73.883972', '2018-11-29 05:04:27', '2018-11-29 05:04:27'),\n(53795, 'Yonkers', 2814, '10703', '914', '40.959226', '-73.881584', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53796, 'Akron', 2815, '44308', '330', '41.080055', '-81.517023', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53797, 'Elkton', 2815, '44415', '330', '40.7616', '-80.6988', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53798, 'North Benton', 2815, '44449', '330', '40.990722', '-81.040202', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53799, 'Lordstown', 2815, '44481', '330', '41.23795', '-80.86049', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53800, 'Warren', 2815, '44481', '330', '41.23795', '-80.86049', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53801, 'Austintown', 2815, '44515', '330', '41.100859', '-80.760578', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53802, 'Youngstown', 2815, '44515', '330', '41.100859', '-80.760578', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53803, 'Alliance', 2815, '44601', '330', '40.91726', '-81.131786', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53804, 'Mt Union', 2815, '44601', '330', '40.91726', '-81.131786', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53805, 'Carrollton', 2815, '44615', '330', '40.584079', '-81.068253', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53806, 'Harlem Spgs', 2815, '44615', '330', '40.584079', '-81.068253', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53807, 'Harlem Springs', 2815, '44615', '330', '40.584079', '-81.068253', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53808, 'Kilgore', 2815, '44615', '330', '40.584079', '-81.068253', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53809, 'New Harrisburg', 2815, '44615', '330', '40.584079', '-81.068253', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53810, 'Scroggsfield', 2815, '44615', '330', '40.584079', '-81.068253', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53811, 'East Sparta', 2815, '44626', '330', '40.683302', '-81.382403', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53812, 'Howenstein', 2815, '44626', '330', '40.683302', '-81.382403', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53813, 'Holmesville', 2815, '44633', '330', '40.630086', '-81.93436', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53814, 'Burton City', 2815, '44667', '330', '40.828812', '-81.760832', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53815, 'Orrville', 2815, '44667', '330', '40.828812', '-81.760832', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53816, 'Riceland', 2815, '44667', '330', '40.828812', '-81.760832', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53817, 'Winesburg', 2815, '44690', '330', '40.61643', '-81.691634', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53818, 'Canton', 2815, '44706', '330', '40.757434', '-81.424365', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53819, 'Dueber', 2815, '44706', '330', '40.757434', '-81.424365', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53820, 'New Riegel', 2815, '44853', '419', '41.049297', '-83.285492', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53821, 'N Fairfield', 2815, '44855', '419', '41.103659', '-82.566884', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53822, 'North Fairfield', 2815, '44855', '419', '41.103659', '-82.566884', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53823, 'N Robinson', 2815, '44856', '419', '40.79356', '-82.856817', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53824, 'North Robinson', 2815, '44856', '419', '40.79356', '-82.856817', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53825, 'Bay View', 2815, '44870', '419', '41.413066', '-82.735002', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53826, 'Bloomingville', 2815, '44870', '419', '41.413066', '-82.735002', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53827, 'Sandusky', 2815, '44870', '419', '41.413066', '-82.735002', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53828, 'Tiro', 2815, '44887', '419', '40.905433', '-82.789877', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53829, 'R R Donnelly', 2815, '44888', '419', '41.0531', '-82.7265', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53830, 'Willard', 2815, '44888', '419', '41.0531', '-82.7265', '2018-11-29 05:04:28', '2018-11-29 05:04:28'),\n(53831, 'Clarksfield', 2815, '44889', '440', '41.247825', '-82.383232', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53832, 'Wakeman', 2815, '44889', '440', '41.247825', '-82.383232', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53833, 'West Clarksfield', 2815, '44889', '440', '41.247825', '-82.383232', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53834, 'Little Washington', 2815, '44903', '419', '40.771522', '-82.53824', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53835, 'Mansfield', 2815, '44903', '419', '40.771522', '-82.53824', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53836, 'Ontario', 2815, '44903', '419', '40.771522', '-82.53824', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53837, 'Pavonia', 2815, '44903', '419', '40.771522', '-82.53824', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53838, 'Mansfield', 2815, '44906', '419', '40.752368', '-82.591484', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53839, 'Ontario', 2815, '44906', '419', '40.752368', '-82.591484', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53840, 'College Cor', 2815, '45003', '513', '39.577506', '-84.761531', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53841, 'College Corner', 2815, '45003', '513', '39.577506', '-84.761531', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53842, 'Lebanon', 2815, '45036', '513', '39.4537', '-84.211576', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53843, 'Liberty Twp', 2815, '45036', '513', '39.4537', '-84.211576', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53844, 'Foster', 2815, '45039', '513', '39.328894', '-84.242726', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53845, 'Hamilton Township', 2815, '45039', '513', '39.328894', '-84.242726', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53846, 'Hamilton Twp', 2815, '45039', '513', '39.328894', '-84.242726', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53847, 'Landon', 2815, '45039', '513', '39.328894', '-84.242726', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53848, 'Maineville', 2815, '45039', '513', '39.328894', '-84.242726', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53849, 'Mason', 2815, '45040', '513', '39.352362', '-84.300317', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53850, 'Okeana', 2815, '45053', '513', '39.355632', '-84.779551', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53851, 'West Chester', 2815, '45071', '513', '39.3304', '-84.4086', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53852, 'Bentonville', 2815, '45105', '937', '38.7494', '-83.6133', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53853, 'Buford', 2815, '45171', '937', '39.005591', '-83.805296', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53854, 'Lake Waynoka', 2815, '45171', '937', '39.005591', '-83.805296', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53855, 'Sardinia', 2815, '45171', '937', '39.005591', '-83.805296', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53856, 'Cincinnati', 2815, '45204', '513', '39.09917', '-84.58793', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53857, 'Queen City', 2815, '45204', '513', '39.09917', '-84.58793', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53858, 'Cincinnati', 2815, '45205', '513', '39.110361', '-84.577335', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53859, 'Price Hill', 2815, '45205', '513', '39.110361', '-84.577335', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53860, 'Cincinnati', 2815, '45206', '513', '39.127052', '-84.482707', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53861, 'Walnut Hills', 2815, '45206', '513', '39.127052', '-84.482707', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53862, 'Cincinnati', 2815, '45222', '513', '39.1616', '-84.4569', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53863, 'Roselawn', 2815, '45222', '513', '39.1616', '-84.4569', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53864, 'Cincinnati', 2815, '45238', '513', '39.110006', '-84.607442', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53865, 'Covedale', 2815, '45238', '513', '39.110006', '-84.607442', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53866, 'Crosby', 2815, '45030', '513', '39.245661', '-84.73096', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53867, 'Fort Scott Camps', 2815, '45030', '513', '39.245661', '-84.73096', '2018-11-29 05:04:29', '2018-11-29 05:04:29'),\n(53868, 'Harrison', 2815, '45030', '513', '39.245661', '-84.73096', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53869, 'New Baltimore', 2815, '45030', '513', '39.245661', '-84.73096', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53870, 'Somerville', 2815, '45064', '937', '39.563292', '-84.618528', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53871, 'Cuba', 2815, '45114', '937', '39.362246', '-83.863958', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53872, 'Hamersville', 2815, '45130', '937', '38.905435', '-84.003991', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53873, 'Poetown', 2815, '45130', '937', '38.905435', '-84.003991', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53874, 'Yankeetown', 2815, '45130', '937', '38.905435', '-84.003991', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53875, 'Higginsport', 2815, '45131', '937', '38.79036', '-83.968191', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53876, 'Highland', 2815, '45132', '937', '39.344106', '-83.600582', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53877, 'Miamiville', 2815, '45147', '513', '39.211', '-84.3017', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53878, 'Arlington Heights', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53879, 'Arlington Hts', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53880, 'Cincinnati', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53881, 'Evendale', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53882, 'Lincoln Heights', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53883, 'Lockland', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53884, 'Reading', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53885, 'Woodlawn', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53886, 'Wyoming', 2815, '45215', '513', '39.238097', '-84.459697', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53887, 'Cincinnati', 2815, '45232', '513', '39.180629', '-84.515224', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53888, 'Saint Bernard', 2815, '45232', '513', '39.180629', '-84.515224', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53889, 'Bevis', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53890, 'Cincinnati', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53891, 'Colerain Township', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53892, 'Colerain Twp', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53893, 'Dent', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53894, 'Dunlap', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53895, 'Green Township', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53896, 'Groesbeck', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53897, 'White Oak', 2815, '45247', '513', '39.220945', '-84.65126', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53898, 'Cincinnati', 2815, '45264', '513', '39.1616', '-84.4569', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53899, 'First National Bank', 2815, '45264', '513', '39.1616', '-84.4569', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53900, 'Clayton', 2815, '45315', '937', '39.854542', '-84.335566', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53901, 'Greenville', 2815, '45331', '937', '40.09417', '-84.649655', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53902, 'New Weston', 2815, '45348', '937', '40.316734', '-84.640662', '2018-11-29 05:04:30', '2018-11-29 05:04:30'),\n(53903, 'Rossburg', 2815, '45348', '937', '40.316734', '-84.640662', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53904, 'Russia', 2815, '45363', '937', '40.248124', '-84.395266', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53905, 'Versailles', 2815, '45380', '937', '40.245575', '-84.523688', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53906, 'Beaver Creek', 2815, '45432', '937', '39.739064', '-84.073966', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53907, 'Beavercreek', 2815, '45432', '937', '39.739064', '-84.073966', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53908, 'Dayton', 2815, '45432', '937', '39.739064', '-84.073966', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53909, 'Kettering', 2815, '45432', '937', '39.739064', '-84.073966', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53910, 'Ross', 2815, '45061', '513', '39.3116', '-84.6503', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53911, 'Seven Mile', 2815, '45062', '513', '39.477356', '-84.554347', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53912, 'Shandon', 2815, '45063', '513', '39.3266', '-84.7147', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53913, 'South Lebanon', 2815, '45065', '513', '39.371876', '-84.200198', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53914, 'Clarksville', 2815, '45113', '937', '39.398771', '-83.98642', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53915, 'Byrd', 2815, '45115', '937', '38.814896', '-83.704304', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53916, 'Decatur', 2815, '45115', '937', '38.814896', '-83.704304', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53917, 'Martinsville', 2815, '45146', '937', '39.314609', '-83.792082', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53918, 'Butlerville', 2815, '45162', '513', '39.271506', '-84.074538', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53919, 'Edenton', 2815, '45162', '513', '39.271506', '-84.074538', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53920, 'Pleasant Plain', 2815, '45162', '513', '39.271506', '-84.074538', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53921, 'Pleasant Pln', 2815, '45162', '513', '39.271506', '-84.074538', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53922, 'Port William', 2815, '45164', '937', '39.547637', '-83.768468', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53923, 'Cincinnati', 2815, '45212', '513', '39.16372', '-84.452407', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53924, 'Norwood', 2815, '45212', '513', '39.16372', '-84.452407', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53925, 'Avondale', 2815, '45229', '513', '39.153504', '-84.485512', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53926, 'Dayton', 2815, '45481', '937', '39.7587', '-84.1919', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53927, 'Dayton Courtesy Reply Mail', 2815, '45481', '937', '39.7587', '-84.1919', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53928, 'Dayton', 2815, '45482', '937', '39.7587', '-84.1919', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53929, 'Dayton Business Reply Mail', 2815, '45482', '937', '39.7587', '-84.1919', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53930, 'Friendship', 2815, '45630', '740', '38.6978', '-83.0939', '2018-11-29 05:04:31', '2018-11-29 05:04:31');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(53931, 'Lucasville', 2815, '45648', '740', '38.910112', '-83.030315', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53932, 'Lyndon', 2815, '45681', '937', '39.305768', '-83.231125', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53933, 'South Salem', 2815, '45681', '937', '39.305768', '-83.231125', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53934, 'South Webster', 2815, '45682', '740', '38.820968', '-82.690189', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53935, 'Stockdale', 2815, '45683', '740', '38.9463', '-82.8592', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53936, 'Bartlett', 2815, '45713', '740', '39.41604', '-81.828391', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53937, 'New Marshfield', 2815, '45766', '740', '39.334892', '-82.245952', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53938, 'New Marshfld', 2815, '45766', '740', '39.334892', '-82.245952', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53939, 'Bluffton', 2815, '45817', '419', '40.872944', '-83.88062', '2018-11-29 05:04:31', '2018-11-29 05:04:31'),\n(53940, 'Cols Grove', 2815, '45830', '419', '40.912108', '-84.100726', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53941, 'Columbus Grove', 2815, '45830', '419', '40.912108', '-84.100726', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53942, 'Columbus Grv', 2815, '45830', '419', '40.912108', '-84.100726', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53943, 'Convoy', 2815, '45832', '419', '40.921139', '-84.716742', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53944, 'Montezuma', 2815, '45866', '419', '40.485886', '-84.547445', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53945, 'Rawson', 2815, '45881', '419', '40.940417', '-83.775149', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53946, 'Williamstown', 2815, '45897', '419', '40.833994', '-83.656097', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53947, 'Cincinnati', 2815, '45999', '513', '39.1619', '-84.4569', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53948, 'Internal Revenue Service', 2815, '45999', '513', '39.1619', '-84.4569', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53949, 'Browntown', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53950, 'Clermont Cnty', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53951, 'Clermont County', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53952, 'Georgetown', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53953, 'Hillman', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53954, 'Utopia', 2815, '45121', '937', '38.88134', '-83.916696', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53955, 'Cozaddale', 2815, '45122', '513', '39.232288', '-84.107574', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53956, 'Edenton', 2815, '45122', '513', '39.232288', '-84.107574', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53957, 'Goshen', 2815, '45122', '513', '39.232288', '-84.107574', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53958, 'Lees Creek', 2815, '45138', '937', '39.4201', '-83.6495', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53959, 'Mowrystown', 2815, '45155', '937', '39.035238', '-83.751304', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53960, 'Neville', 2815, '45156', '513', '38.81004', '-84.211304', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53961, 'Cincinnati', 2815, '45221', '513', '39.1616', '-84.4569', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53962, 'University Of Cincinnati', 2815, '45221', '513', '39.1616', '-84.4569', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53963, 'Cincinnati', 2815, '45223', '513', '39.165023', '-84.554182', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53964, 'Cumminsville', 2815, '45223', '513', '39.165023', '-84.554182', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53965, 'Northside', 2815, '45223', '513', '39.165023', '-84.554182', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53966, 'Brookwood', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53967, 'Cincinnati', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53968, 'Colerain Township', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53969, 'Colerain Twp', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53970, 'Groesbeck', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53971, 'N College Hl', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53972, 'North College Hill', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53973, 'White Oak', 2815, '45239', '513', '39.199368', '-84.575337', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53974, 'Cincinnati', 2815, '45274', '513', '39.1616', '-84.4569', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53975, 'Commercial Accounts', 2815, '45274', '513', '39.1616', '-84.4569', '2018-11-29 05:04:32', '2018-11-29 05:04:32'),\n(53976, 'Commercial Accts', 2815, '45274', '513', '39.1616', '-84.4569', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53977, 'Eldorado', 2815, '45321', '937', '39.87244', '-84.666407', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53978, 'Lewisburg', 2815, '45338', '937', '39.83924', '-84.567471', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53979, 'Hobart Corp', 2815, '45374', '937', '40.0394', '-84.2033', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53980, 'Troy', 2815, '45374', '937', '40.0394', '-84.2033', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53981, 'Christiansbg', 2815, '45389', '937', '40.055976', '-84.02548', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53982, 'Christiansbrg', 2815, '45389', '937', '40.055976', '-84.02548', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53983, 'Christiansburg', 2815, '45389', '937', '40.055976', '-84.02548', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53984, 'Dayton', 2815, '45390', '937', '40.21155', '-84.743202', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53985, 'Union City', 2815, '45390', '937', '40.21155', '-84.743202', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53986, 'Dayton', 2815, '45439', '937', '39.70187', '-84.224838', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53987, 'Kettering', 2815, '45439', '937', '39.70187', '-84.224838', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53988, 'Moraine', 2815, '45439', '937', '39.70187', '-84.224838', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53989, 'W Carrollton', 2815, '45439', '937', '39.70187', '-84.224838', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53990, 'West Carrollton', 2815, '45439', '937', '39.70187', '-84.224838', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53991, 'West Carrollton City', 2815, '45439', '937', '39.70187', '-84.224838', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53992, 'Crown City', 2815, '45623', '740', '38.623801', '-82.275454', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53993, 'Jackson', 2815, '45640', '740', '39.022346', '-82.621186', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53994, 'Otway', 2815, '45657', '740', '38.857314', '-83.226082', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53995, 'Ray', 2815, '45672', '740', '39.203839', '-82.675373', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53996, 'Hockingport', 2815, '45739', '740', '39.1883', '-81.7517', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53997, 'Reedsville', 2815, '45772', '740', '39.134398', '-81.834564', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53998, 'Reno', 2815, '45773', '740', '39.408058', '-81.326496', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(53999, 'Whipple', 2815, '45788', '740', '39.4956', '-81.366901', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54000, 'Carthagena', 2815, '45822', '419', '40.538649', '-84.62867', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54001, 'Celina', 2815, '45822', '419', '40.538649', '-84.62867', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54002, 'Findlay', 2815, '45839', '419', '41.0444', '-83.65', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54003, 'Leipsic', 2815, '45856', '419', '41.10173', '-84.025576', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54004, 'W Leipsic', 2815, '45856', '419', '41.10173', '-84.025576', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54005, 'West Leipsic', 2815, '45856', '419', '41.10173', '-84.025576', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54006, 'Mc Comb', 2815, '45858', '419', '41.097682', '-83.784806', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54007, 'Overpeck', 2815, '45055', '513', '39.4506', '-84.5146', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54008, 'Batavia', 2815, '45103', '513', '39.095573', '-84.152305', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54009, 'Stonelick', 2815, '45103', '513', '39.095573', '-84.152305', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54010, 'Greenfield', 2815, '45123', '937', '39.337372', '-83.385134', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54011, 'Rainsboro', 2815, '45123', '937', '39.337372', '-83.385134', '2018-11-29 05:04:33', '2018-11-29 05:04:33'),\n(54012, 'Ross County', 2815, '45123', '937', '39.337372', '-83.385134', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54013, 'Epworth Heights', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54014, 'Loveland', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54015, 'Montgomery', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54016, 'Murdock', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54017, 'Seilcrest Acres', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54018, 'Springvale', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54019, 'Steelville', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54020, 'Symmes Twp', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54021, 'Twenty Mile Stand', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54022, 'Twightwee', 2815, '45140', '513', '39.255337', '-84.243508', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54023, 'Moscow', 2815, '45153', '513', '38.864554', '-84.17798', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54024, 'Bardwell', 2815, '45154', '937', '39.067924', '-83.918838', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54025, 'Five Mile', 2815, '45154', '937', '39.067924', '-83.918838', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54026, 'Mount Orab', 2815, '45154', '937', '39.067924', '-83.918838', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54027, 'Laurel', 2815, '45157', '513', '38.949981', '-84.221665', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54028, 'Mount Pisgah', 2815, '45157', '513', '38.949981', '-84.221665', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54029, 'New Richmond', 2815, '45157', '513', '38.949981', '-84.221665', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54030, 'Sinking Spg', 2815, '45172', '937', '39.07441', '-83.386947', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54031, 'Sinking Spring', 2815, '45172', '937', '39.07441', '-83.386947', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54032, 'Cincinnati', 2815, '45207', '513', '39.14538', '-84.468998', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54033, 'Evanston', 2815, '45207', '513', '39.14538', '-84.468998', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54034, 'Burnet Woods', 2815, '45220', '513', '39.147425', '-84.520238', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54035, 'Cincinnati', 2815, '45220', '513', '39.147425', '-84.520238', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54036, 'Amberley', 2815, '45237', '513', '39.191907', '-84.451057', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54037, 'Bond Hill', 2815, '45237', '513', '39.191907', '-84.451057', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54038, 'Cincinnati', 2815, '45237', '513', '39.191907', '-84.451057', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54039, 'Golf Manor', 2815, '45237', '513', '39.191907', '-84.451057', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54040, 'Losantiville', 2815, '45237', '513', '39.191907', '-84.451057', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54041, 'Roselawn', 2815, '45237', '513', '39.191907', '-84.451057', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54042, 'Anderson', 2815, '45254', '513', '39.1352', '-84.4785', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54043, 'Cincinnati', 2815, '45254', '513', '39.1352', '-84.4785', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54044, 'Cincinnati', 2815, '45271', '513', '39.1616', '-84.4569', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54045, 'Key Bank', 2815, '45271', '513', '39.1616', '-84.4569', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54046, 'Arcanum', 2815, '45304', '937', '39.985863', '-84.535255', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54047, 'Castine', 2815, '45304', '937', '39.985863', '-84.535255', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54048, 'Gordon', 2815, '45304', '937', '39.985863', '-84.535255', '2018-11-29 05:04:34', '2018-11-29 05:04:34'),\n(54049, 'Ithaca', 2815, '45304', '937', '39.985863', '-84.535255', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54050, 'Botkins', 2815, '45306', '937', '40.453674', '-84.18356', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54051, 'Bowersville', 2815, '45307', '937', '39.581469', '-83.722467', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54052, 'Englewood', 2815, '45322', '937', '39.886652', '-84.333375', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54053, 'Union', 2815, '45322', '937', '39.886652', '-84.333375', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54054, 'Laura', 2815, '45337', '937', '39.984911', '-84.426788', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54055, 'Potsdm', 2815, '45337', '937', '39.984911', '-84.426788', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54056, 'Maplewood', 2815, '45340', '937', '40.366616', '-84.055367', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54057, 'Phillipsburg', 2815, '45354', '937', '39.904553', '-84.401798', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54058, 'Piqua', 2815, '45356', '937', '40.173408', '-84.217811', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54059, 'Tremont City', 2815, '45372', '937', '40.013', '-83.8328', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54060, 'Yellow Spgs', 2815, '45387', '937', '39.799306', '-83.851621', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54061, 'Yellow Springs', 2815, '45387', '937', '39.799306', '-83.851621', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54062, 'Parker Ford', 2818, '19457', '610', '40.205158', '-75.588101', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54063, 'Parkerford', 2818, '19457', '610', '40.205158', '-75.588101', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54064, 'Collegeville', 2818, '19473', '610', '40.255362', '-75.48157', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54065, 'Delphi', 2818, '19473', '610', '40.255362', '-75.48157', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54066, 'Fruitville', 2818, '19473', '610', '40.255362', '-75.48157', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54067, 'Neiffer', 2818, '19473', '610', '40.255362', '-75.48157', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54068, 'Schwenksville', 2818, '19473', '610', '40.255362', '-75.48157', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54069, 'Eagle', 2818, '19480', '610', '40.0768', '-75.6884', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54070, 'Uwchland', 2818, '19480', '610', '40.0768', '-75.6884', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54071, 'Valley Forge', 2818, '19482', '610', '40.0968', '-75.4701', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54072, 'Boyertown', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54073, 'Colebrookdale', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54074, 'Buckingham', 2818, '18912', '215', '40.3238', '-75.0605', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54075, 'Pineville', 2818, '18946', '215', '40.2962', '-75.0062', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54076, 'Dickson City', 2818, '18519', '570', '41.463024', '-75.631111', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54077, 'Scranton', 2818, '18519', '570', '41.463024', '-75.631111', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54078, 'Beach Haven', 2818, '18601', '570', '41.072107', '-76.162906', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54079, 'Berwick', 2818, '18603', '570', '41.10031', '-76.261752', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54080, 'Sellersville', 2818, '18960', '215', '40.35964', '-75.317369', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54081, 'Newtown', 2818, '18940', '215', '40.264967', '-74.956331', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54082, 'Upper Makefield', 2818, '18940', '215', '40.264967', '-74.956331', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54083, 'Upr Makefield', 2818, '18940', '215', '40.264967', '-74.956331', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54084, 'Wrightstown', 2818, '18940', '215', '40.264967', '-74.956331', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54085, 'Ottsville', 2818, '18942', '610', '40.470828', '-75.16083', '2018-11-29 05:04:35', '2018-11-29 05:04:35'),\n(54086, 'N Scranton', 2818, '18508', '570', '41.450022', '-75.653594', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54087, 'North Scranton', 2818, '18508', '570', '41.450022', '-75.653594', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54088, 'Scranton', 2818, '18508', '570', '41.450022', '-75.653594', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54089, 'Brm Zip', 2818, '18540', '570', '41.4088', '-75.6626', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54090, 'Scranton', 2818, '18540', '570', '41.4088', '-75.6626', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54091, 'Phoenixville', 2818, '19460', '610', '40.13033', '-75.521458', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54092, 'Spring City', 2818, '19475', '610', '40.170936', '-75.606215', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54093, 'Providian Agon', 2818, '19495', '610', '40.0968', '-75.4701', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54094, 'Valley Forge', 2818, '19495', '610', '40.0968', '-75.4701', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54095, 'Baumstown', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54096, 'Birdsboro', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54097, 'Gibraltar', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54098, 'Lincoln Heights', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54099, 'Ridgewood', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54100, 'Robeson', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54101, 'Seyfert', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54102, 'Stonersville', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54103, 'Stonetown', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54104, 'White Bear', 2818, '19508', '610', '40.253698', '-75.823376', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54105, 'Bowers', 2818, '19511', '610', '40.487016', '-75.740994', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54106, 'Fountainville', 2818, '18923', '215', '40.347714', '-75.17069', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54107, 'Franconia', 2818, '18924', '215', '40.3143', '-75.3406', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54108, 'Furlong', 2818, '18925', '215', '40.287839', '-75.053194', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54109, 'Penns Park', 2818, '18943', '215', '40.2655', '-74.9985', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54110, 'Salford', 2818, '18957', '610', '40.2958', '-75.4544', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54111, 'Dunmore', 2818, '18509', '570', '41.430386', '-75.643086', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54112, 'Scranton', 2818, '18509', '570', '41.430386', '-75.643086', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54113, 'Comunidad Juan Otero', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54114, 'Ext Torrecillas', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54115, 'Jard De Montellano', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54116, 'Jard De Romany', 2819, '00687', '787', '18.322194', '-66.415246', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54117, 'Haciendas De Borinquen Ii', 2819, '00669', '787', '18.291418', '-66.867756', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54118, 'Lares', 2819, '00669', '787', '18.291418', '-66.867756', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54119, 'URB Buena Vista', 2819, '00669', '787', '18.291418', '-66.867756', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54120, 'Aguadilla', 2819, '00605', '787', '18.4289', '-67.1538', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54121, 'Lexington', 2821, '29073', '803', '33.902971', '-81.235802', '2018-11-29 05:04:36', '2018-11-29 05:04:36'),\n(54122, 'Little Mountain', 2821, '29075', '803', '34.189704', '-81.358626', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54123, 'Little Mtn', 2821, '29075', '803', '34.189704', '-81.358626', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54124, 'Lodge', 2821, '29082', '843', '33.042487', '-80.974634', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54125, 'Hibernia', 2821, '29105', '803', '33.798593', '-81.576361', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54126, 'Jones Crossroads', 2821, '29105', '803', '33.798593', '-81.576361', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54127, 'Monetta', 2821, '29105', '803', '33.798593', '-81.576361', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54128, 'Watsonia', 2821, '29105', '803', '33.798593', '-81.576361', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54129, 'Livingston', 2821, '29107', '803', '33.530506', '-81.102693', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54130, 'Neeses', 2821, '29107', '803', '33.530506', '-81.102693', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54131, 'Blythewood', 2821, '29016', '803', '34.197222', '-80.995601', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54132, 'Richland', 2821, '29675', '864', '34.6775', '-83.0259', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54133, 'Sandy Springs', 2821, '29677', '864', '34.587611', '-82.748105', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54134, 'Six Mile', 2821, '29682', '864', '34.84541', '-82.833332', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54135, 'Johns Island', 2821, '29457', '843', '32.7924', '-80.1083', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54136, 'Surfside Bch', 2821, '29575', '843', '33.62789', '-78.967328', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54137, 'Surfside Beach', 2821, '29575', '843', '33.62789', '-78.967328', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54138, 'Atlantic Bch', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54139, 'Atlantic Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54140, 'Cherry Grove', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54141, 'Cherry Grove Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54142, 'Crescent Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54143, 'N Myrtle Bch', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54144, 'N Myrtle Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54145, 'North Myrtle Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54146, 'Ocean Dr Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54147, 'Ocean Drive', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54148, 'Ocean Drive Beach', 2821, '29582', '843', '33.834782', '-78.66205', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54149, 'Columbia', 2821, '29207', '803', '34.011692', '-80.941552', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54150, 'Fort Jackson', 2821, '29207', '803', '34.011692', '-80.941552', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54151, 'Columbia', 2821, '29223', '803', '34.063004', '-80.85323', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54152, 'North Pointe', 2821, '29223', '803', '34.063004', '-80.85323', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54153, 'Northeast', 2821, '29223', '803', '34.063004', '-80.85323', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54154, 'Davis Crossroads', 2821, '29148', '803', '33.553912', '-80.364673', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54155, 'Goat Island Resort', 2821, '29148', '803', '33.553912', '-80.364673', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54156, 'St Paul', 2821, '29148', '803', '33.553912', '-80.364673', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54157, 'Summerton', 2821, '29148', '803', '33.553912', '-80.364673', '2018-11-29 05:04:37', '2018-11-29 05:04:37'),\n(54158, 'Bon Air', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54159, 'Brogdon', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54160, 'Frens', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54161, 'Highway Four Forty One', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54162, 'Hoyt Heights', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54163, 'Oswego', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54164, 'Stateburg', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54165, 'Sumter', 2821, '29150', '803', '33.874579', '-80.354089', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54166, 'Blackstock', 2821, '29014', '803', '34.538892', '-81.118985', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54167, 'Cornwell', 2821, '29014', '803', '34.538892', '-81.118985', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54168, 'Douglass', 2821, '29014', '803', '34.538892', '-81.118985', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54169, 'Stover', 2821, '29014', '803', '34.538892', '-81.118985', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54170, 'Woodward', 2821, '29014', '803', '34.538892', '-81.118985', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54171, 'Antioch', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54172, 'Camden', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54173, 'Dusty Bend', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54174, 'Kirkland', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54175, 'Alcolu', 2821, '29001', '803', '33.773887', '-80.132433', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54176, 'Bamberg', 2821, '29003', '803', '33.257893', '-80.957722', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54177, 'Midway', 2821, '29003', '803', '33.257893', '-80.957722', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54178, 'Bloomville', 2821, '29102', '803', '33.626788', '-80.198532', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54179, 'Foreston', 2821, '29102', '803', '33.626788', '-80.198532', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54180, 'Jordan', 2821, '29102', '803', '33.626788', '-80.198532', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54181, 'Manning', 2821, '29102', '803', '33.626788', '-80.198532', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54182, 'Paxville', 2821, '29102', '803', '33.626788', '-80.198532', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54183, 'Wilson', 2821, '29102', '803', '33.626788', '-80.198532', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54184, 'Cordova', 2821, '29039', '803', '33.40877', '-80.916764', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54185, 'Kirkwood', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54186, 'Red Hill', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54187, 'Shamokin', 2821, '29021', '843', '34.56', '-80.58', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54188, 'Rock Hill', 2821, '29732', '803', '34.965936', '-81.077579', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54189, 'Ruby', 2821, '29741', '843', '34.73114', '-80.202394', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54190, 'Little River', 2821, '29566', '843', '33.886234', '-78.6522', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54191, 'Belton', 2821, '29627', '864', '34.489438', '-82.46132', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54192, 'Clemson', 2821, '29632', '864', '34.674757', '-82.834174', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54193, 'Clemson University', 2821, '29632', '864', '34.674757', '-82.834174', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54194, 'Clemson', 2821, '29634', '864', '34.6825', '-82.8161', '2018-11-29 05:04:38', '2018-11-29 05:04:38'),\n(54195, 'Clemson University', 2821, '29634', '864', '34.6825', '-82.8161', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54196, 'Greer', 2821, '29650', '864', '34.900123', '-82.267104', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54197, 'Pineville', 2821, '29468', '843', '33.390803', '-80.091104', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54198, 'Longtown', 2821, '29130', '803', '34.327281', '-80.883682', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54199, 'Ridgeway', 2821, '29130', '803', '34.327281', '-80.883682', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54200, 'Smallwood', 2821, '29130', '803', '34.327281', '-80.883682', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54201, 'Rion', 2821, '29132', '803', '34.30815', '-81.127164', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54202, 'Columbia', 2821, '29214', '803', '34.0009', '-81.0353', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54203, 'Sc Tax Comm', 2821, '29214', '803', '34.0009', '-81.0353', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54204, 'Eutaw Springs', 2821, '29048', '803', '33.375454', '-80.313259', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54205, 'Eutawville', 2821, '29048', '803', '33.375454', '-80.313259', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54206, 'El Paso', 2824, '88514', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54207, 'El Paso', 2824, '88516', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54208, 'El Paso', 2824, '88532', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54209, 'El Paso', 2824, '88566', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54210, 'El Paso', 2824, '88581', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54211, 'El Paso', 2824, '88515', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54212, 'El Paso', 2824, '88517', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54213, 'El Paso', 2824, '88531', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54214, 'El Paso', 2824, '88533', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54215, 'El Paso', 2824, '88534', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54216, 'El Paso', 2824, '88548', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54217, 'El Paso', 2824, '88549', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54218, 'El Paso', 2824, '88550', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54219, 'El Paso', 2824, '88565', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54220, 'El Paso', 2824, '88553', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54221, 'El Paso', 2824, '88578', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54222, 'El Paso', 2824, '88587', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54223, 'El Paso', 2824, '88547', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54224, 'El Paso', 2824, '88567', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54225, 'El Paso', 2824, '88582', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54226, 'El Paso', 2824, '88583', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54227, 'El Paso', 2824, '88584', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54228, 'El Paso', 2824, '88510', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54229, 'El Paso', 2824, '88512', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54230, 'El Paso', 2824, '88519', '915', '31.7588', '-106.4866', '2018-11-29 05:04:39', '2018-11-29 05:04:39'),\n(54231, 'El Paso', 2824, '88528', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54232, 'El Paso', 2824, '88530', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54233, 'El Paso', 2824, '88546', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54234, 'El Paso', 2824, '88555', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54235, 'El Paso', 2824, '88562', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54236, 'El Paso', 2824, '88580', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54237, 'El Paso', 2824, '88585', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54238, 'El Paso', 2824, '88518', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54239, 'El Paso', 2824, '88527', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54240, 'El Paso', 2824, '88543', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54241, 'El Paso', 2824, '88545', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54242, 'El Paso', 2824, '88554', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54243, 'El Paso', 2824, '88570', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54244, 'El Paso', 2824, '88577', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54245, 'El Paso', 2824, '88595', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54246, 'El Paso', 2824, '88524', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54247, 'El Paso', 2824, '88539', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54248, 'El Paso', 2824, '88559', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54249, 'El Paso', 2824, '88574', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54250, 'El Paso', 2824, '88575', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54251, 'El Paso', 2824, '88523', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54252, 'El Paso', 2824, '88540', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54253, 'El Paso', 2824, '88541', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54254, 'El Paso', 2824, '88557', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54255, 'El Paso', 2824, '88558', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54256, 'El Paso', 2824, '88572', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54257, 'El Paso', 2824, '88573', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54258, 'El Paso', 2824, '88576', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54259, 'El Paso', 2824, '88589', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54260, 'El Paso', 2824, '88590', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54261, 'El Paso', 2824, '88511', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54262, 'El Paso', 2824, '88513', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54263, 'El Paso', 2824, '88538', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54264, 'El Paso', 2824, '88561', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54265, 'El Paso', 2824, '88588', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54266, 'El Paso', 2824, '88521', '915', '31.7588', '-106.4866', '2018-11-29 05:04:40', '2018-11-29 05:04:40'),\n(54267, 'El Paso', 2824, '88526', '915', '31.7588', '-106.4866', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54268, 'El Paso', 2824, '88535', '915', '31.7588', '-106.4866', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54269, 'El Paso', 2824, '88544', '915', '31.7588', '-106.4866', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54270, 'El Paso', 2824, '88560', '915', '31.7588', '-106.4866', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54271, 'El Paso', 2824, '88569', '915', '31.7588', '-106.4866', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54272, 'El Paso', 2824, '88571', '915', '31.7588', '-106.4866', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54273, 'Wilson', 2825, '84401', '801', '41.249058', '-111.9737', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54274, 'Aneth', 2825, '84510', '435', '37.229819', '-109.392005', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54275, 'Castle Gate', 2825, '84526', '435', '39.678236', '-110.794234', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54276, 'Helper', 2825, '84526', '435', '39.678236', '-110.794234', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54277, 'Martin', 2825, '84526', '435', '39.678236', '-110.794234', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54278, 'Scofield', 2825, '84526', '435', '39.678236', '-110.794234', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54279, 'Spring Glen', 2825, '84526', '435', '39.678236', '-110.794234', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54280, 'Standardville', 2825, '84526', '435', '39.678236', '-110.794234', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54281, 'Oak City', 2825, '84649', '435', '39.37656', '-112.28617', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54282, 'Benjamin', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54283, 'Cover Bridge Canyon', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54284, 'Covered Bridge', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54285, 'Lake Shore', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54286, 'Leland', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54287, 'Palmyra', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54288, 'Spanish Fork', 2825, '84660', '801', '40.058904', '-111.646291', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54289, 'Elsinore', 2825, '84724', '435', '38.689182', '-112.146735', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54290, 'Escalante', 2825, '84726', '435', '37.843439', '-111.674478', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54291, 'Bethel', 2825, '84728', '435', '39.062738', '-113.413716', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54292, 'Eskdale', 2825, '84728', '435', '39.062738', '-113.413716', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54293, 'Garrison', 2825, '84728', '435', '39.062738', '-113.413716', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54294, 'Petra', 2825, '84728', '435', '39.062738', '-113.413716', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54295, 'Gunlock', 2825, '84733', '435', '37.235899', '-113.85239', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54296, 'Toquerville', 2825, '84774', '435', '37.270564', '-113.2644', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54297, 'Dammeron', 2825, '84783', '435', '37.24975', '-113.683734', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54298, 'Dammeron Valley', 2825, '84783', '435', '37.24975', '-113.683734', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54299, 'Dammeron Vly', 2825, '84783', '435', '37.24975', '-113.683734', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54300, 'Beaulieus Corner', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54301, 'East Highgate', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54302, 'Highgate', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54303, 'Highgate Center', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:41', '2018-11-29 05:04:41'),\n(54304, 'Highgate Ctr', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54305, 'Highgate Falls', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54306, 'Rixford', 2828, '05459', '802', '44.963314', '-73.00964', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54307, 'Berlin', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54308, 'East Montpelier Center', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54309, 'Gould Hill', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54310, 'Jones Brook', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54311, 'Middlesex', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54312, 'Middlesex Center', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54313, 'Middlesex Ctr', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54314, 'Montpelier', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54315, 'Montpelier Jct', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54316, 'Montpelier Junction', 2828, '05602', '802', '44.279964', '-72.609412', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54317, 'S Burlington', 2828, '05407', '802', '44.4756', '-73.2126', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54318, 'So Burlington', 2828, '05407', '802', '44.4756', '-73.2126', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54319, 'South Burlington', 2828, '05407', '802', '44.4756', '-73.2126', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54320, 'Barnumsville', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54321, 'N Bennington', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54322, 'No Bennington', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54323, 'North Bennington', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54324, 'Paper Mill Village', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54325, 'Sodom', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54326, 'Wolumsak', 2828, '05257', '802', '42.964386', '-73.242846', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54327, 'Brattleboro', 2828, '05302', '802', '42.8509', '-72.5584', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54328, 'East Dover', 2828, '05341', '802', '42.954899', '-72.78056', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54329, 'N Springfield', 2828, '05150', '802', '43.338714', '-72.524403', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54330, 'N Springfld', 2828, '05150', '802', '43.338714', '-72.524403', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54331, 'North Springfield', 2828, '05150', '802', '43.338714', '-72.524403', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54332, 'Bethel', 2828, '05032', '802', '43.794058', '-72.660149', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54333, 'East Bethel', 2828, '05032', '802', '43.794058', '-72.660149', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54334, 'Lillieville', 2828, '05032', '802', '43.794058', '-72.660149', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54335, 'Olympus', 2828, '05032', '802', '43.794058', '-72.660149', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54336, 'Brgwtr', 2828, '05034', '802', '43.573407', '-72.642531', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54337, 'Bridgewater', 2828, '05034', '802', '43.573407', '-72.642531', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54338, 'W Bridgewater', 2828, '05034', '802', '43.573407', '-72.642531', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54339, 'West Bridgewater', 2828, '05034', '802', '43.573407', '-72.642531', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54340, 'East Brookfield', 2828, '05041', '802', '43.949019', '-72.539024', '2018-11-29 05:04:42', '2018-11-29 05:04:42'),\n(54341, 'East Randolph', 2828, '05041', '802', '43.949019', '-72.539024', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54342, 'North Randolph', 2828, '05041', '802', '43.949019', '-72.539024', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54343, 'Quechee', 2828, '05059', '802', '43.658016', '-72.433168', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54344, 'East Barnard', 2828, '05068', '802', '43.781083', '-72.539533', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54345, 'Royalton', 2828, '05068', '802', '43.781083', '-72.539533', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54346, 'S Royalton', 2828, '05068', '802', '43.781083', '-72.539533', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54347, 'North Pownal', 2828, '05260', '802', '42.813468', '-73.26552', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54348, 'Barnard', 2828, '05031', '802', '43.733622', '-72.591802', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54349, 'Hartland Cors', 2828, '05049', '802', '43.5466', '-72.4252', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54350, 'Hartland Four Corners', 2828, '05049', '802', '43.5466', '-72.4252', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54351, 'Plymouth', 2828, '05056', '802', '43.528302', '-72.722152', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54352, 'Plymouth Kingdom', 2828, '05056', '802', '43.528302', '-72.722152', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54353, 'Plymouth Union', 2828, '05056', '802', '43.528302', '-72.722152', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54354, 'Post Mills', 2828, '05058', '802', '43.884125', '-72.266402', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54355, 'South Pomfret', 2828, '05067', '802', '43.689518', '-72.53658', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54356, 'West Minster', 2828, '05158', '802', '43.09778', '-72.476978', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54357, 'Westminster', 2828, '05158', '802', '43.09778', '-72.476978', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54358, 'South Royalton', 2828, '05068', '802', '43.781083', '-72.539533', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54359, 'Pittsfield', 2828, '05762', '802', '43.775876', '-72.890268', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54360, 'Blissville', 2828, '05764', '802', '43.525218', '-73.182204', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54361, 'Lake St Catherine', 2828, '05764', '802', '43.525218', '-73.182204', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54362, 'Poultney', 2828, '05764', '802', '43.525218', '-73.182204', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54363, 'Rareville', 2828, '05764', '802', '43.525218', '-73.182204', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54364, 'South Poultney', 2828, '05764', '802', '43.525218', '-73.182204', '2018-11-29 05:04:43', '2018-11-29 05:04:43');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(54365, 'Sheffield', 2828, '05866', '802', '44.637063', '-72.134324', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54366, 'Sheffield Square', 2828, '05866', '802', '44.637063', '-72.134324', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54367, 'Lowell', 2828, '05847', '802', '44.786663', '-72.452698', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54368, 'Lower Waterford', 2828, '05848', '802', '44.3547', '-71.9077', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54369, 'Lwr Waterford', 2828, '05848', '802', '44.3547', '-71.9077', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54370, 'Ripton', 2828, '05766', '802', '43.98408', '-72.985649', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54371, 'Beecher Falls', 2828, '05902', '802', '45.004698', '-71.510151', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54372, 'Morrisvle', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54373, 'Mud City', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54374, 'Hill West', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54375, 'S Franklin', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54376, 'Samsonville', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:43', '2018-11-29 05:04:43'),\n(54377, 'So Franklin', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54378, 'West Berkshire', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54379, 'West Enosburg', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54380, 'Woodpecker Village', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54381, 'E Franklin', 2828, '05457', '802', '44.958573', '-72.912382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54382, 'East Franklin', 2828, '05457', '802', '44.958573', '-72.912382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54383, 'Franklin', 2828, '05457', '802', '44.958573', '-72.912382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54384, 'Lake Carmi', 2828, '05457', '802', '44.958573', '-72.912382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54385, 'Morses Line', 2828, '05457', '802', '44.958573', '-72.912382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54386, 'Shawville', 2828, '05457', '802', '44.958573', '-72.912382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54387, 'Owls Head Harbor', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54388, 'Panton', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54389, 'Potash Bay', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54390, 'Potash Point', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54391, 'Summer Point', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54392, 'Vergennes', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54393, 'Waltham', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54394, 'West Addison', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54395, 'West Ferrisburgh', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54396, 'Montpelier', 2828, '05609', '802', '44.2601', '-72.5759', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54397, 'State Of Vermont', 2828, '05609', '802', '44.2601', '-72.5759', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54398, 'South Windham', 2828, '05359', '802', '43.146071', '-72.719228', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54399, 'W Townshend', 2828, '05359', '802', '43.146071', '-72.719228', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54400, 'West Townshend', 2828, '05359', '802', '43.146071', '-72.719228', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54401, 'Windham', 2828, '05359', '802', '43.146071', '-72.719228', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54402, 'Burlington', 2828, '05402', '802', '44.4756', '-73.2126', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54403, 'Bakersfield', 2828, '05441', '802', '44.782857', '-72.751601', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54404, 'Jonesville', 2828, '05466', '802', '44.3836', '-72.9382', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54405, 'Arlington', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54406, 'Arlington Center', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54407, 'Chiselville', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54408, 'Sandgate', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54409, 'Sunderland', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54410, 'West Arlingtn', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54411, 'West Arlington', 2828, '05250', '802', '43.122999', '-73.175492', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54412, 'East Jamaica', 2828, '05343', '802', '43.102245', '-72.813372', '2018-11-29 05:04:44', '2018-11-29 05:04:44'),\n(54413, 'Jamaica', 2828, '05343', '802', '43.102245', '-72.813372', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54414, 'Pikes Falls', 2828, '05343', '802', '43.102245', '-72.813372', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54415, 'Berkshire Center', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54416, 'Bordoville', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54417, 'East Enosburg', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54418, 'East Sheldon', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54419, 'Enosburg', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54420, 'Enosburg Center', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54421, 'West Pawlet', 2828, '05775', '802', '43.361126', '-73.218126', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54422, 'Chippenhook', 2828, '05777', '802', '43.571372', '-73.049234', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54423, 'Clarendn Spgs', 2828, '05777', '802', '43.571372', '-73.049234', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54424, 'Clarendon Springs', 2828, '05777', '802', '43.571372', '-73.049234', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54425, 'Ira', 2828, '05777', '802', '43.571372', '-73.049234', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54426, 'West Rutland', 2828, '05777', '802', '43.571372', '-73.049234', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54427, 'Saxtons River', 2828, '05154', '802', '43.143482', '-72.509056', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54428, 'Harmonyville', 2828, '05353', '802', '43.069349', '-72.692638', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54429, 'Mary Meyer', 2828, '05353', '802', '43.069349', '-72.692638', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54430, 'Simpsonville', 2828, '05353', '802', '43.069349', '-72.692638', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54431, 'Townshend', 2828, '05353', '802', '43.069349', '-72.692638', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54432, 'Chelsea', 2828, '05038', '802', '43.99547', '-72.46001', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54433, 'N Thetford', 2828, '05054', '802', '43.85676', '-72.18486', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54434, 'North Thetford', 2828, '05054', '802', '43.85676', '-72.18486', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54435, 'Castleton', 2828, '05735', '802', '43.653949', '-73.165581', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54436, 'Castleton State College', 2828, '05735', '802', '43.653949', '-73.165581', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54437, 'East Hubbardton', 2828, '05735', '802', '43.653949', '-73.165581', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54438, 'West Rupert', 2828, '05776', '802', '43.265585', '-73.188532', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54439, 'Craftsbury', 2828, '05826', '802', '44.654076', '-72.389794', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54440, 'East Craftsbury', 2828, '05826', '802', '44.654076', '-72.389794', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54441, 'Greensboro Bend', 2828, '05842', '802', '44.565536', '-72.218341', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54442, 'Greensbro Bnd', 2828, '05842', '802', '44.565536', '-72.218341', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54443, 'Grnsboro Bend', 2828, '05842', '802', '44.565536', '-72.218341', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54444, 'Stannard', 2828, '05842', '802', '44.565536', '-72.218341', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54445, 'Hubbardton', 2828, '05735', '802', '43.653949', '-73.165581', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54446, 'Bowlsville', 2828, '05742', '802', '43.426181', '-72.888618', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54447, 'E Wallingford', 2828, '05742', '802', '43.426181', '-72.888618', '2018-11-29 05:04:45', '2018-11-29 05:04:45'),\n(54448, 'East Wallingford', 2828, '05742', '802', '43.426181', '-72.888618', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54449, 'Chipmans Point', 2828, '05760', '802', '43.787774', '-73.298882', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54450, 'Lake Hortonia', 2828, '05760', '802', '43.787774', '-73.298882', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54451, 'North Orwell', 2828, '05760', '802', '43.787774', '-73.298882', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54452, 'Orwell', 2828, '05760', '802', '43.787774', '-73.298882', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54453, 'East Warren', 2828, '05674', '802', '44.108529', '-72.852488', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54454, 'Sugarbush Valley', 2828, '05674', '802', '44.108529', '-72.852488', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54455, 'Sugarbush Vly', 2828, '05674', '802', '44.108529', '-72.852488', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54456, 'Warren', 2828, '05674', '802', '44.108529', '-72.852488', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54457, 'Essex', 2828, '05451', '802', '44.5215', '-73.0608', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54458, 'Essex Center', 2828, '05451', '802', '44.5215', '-73.0608', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54459, 'Adams Landing', 2828, '05458', '802', '44.723144', '-73.299926', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54460, 'Grand Isle', 2828, '05458', '802', '44.723144', '-73.299926', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54461, 'Pearl', 2828, '05458', '802', '44.723144', '-73.299926', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54462, 'Point Farm', 2828, '05458', '802', '44.723144', '-73.299926', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54463, 'Highgate Spgs', 2828, '05460', '802', '44.9766', '-73.1054', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54464, 'Highgate Sprg', 2828, '05460', '802', '44.9766', '-73.1054', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54465, 'Highgate Springs', 2828, '05460', '802', '44.9766', '-73.1054', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54466, 'Belvidere Center', 2828, '05492', '802', '44.719678', '-72.76642', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54467, 'Belvidere Junction', 2828, '05492', '802', '44.719678', '-72.76642', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54468, 'Waterville', 2828, '05492', '802', '44.719678', '-72.76642', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54469, 'Brookside', 2828, '05494', '802', '44.603384', '-73.027348', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54470, 'Westford', 2828, '05494', '802', '44.603384', '-73.027348', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54471, 'Binghamville', 2828, '05444', '802', '44.648159', '-72.907013', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54472, 'Richford', 2828, '05476', '802', '44.955183', '-72.650886', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54473, 'Bennington', 2828, '05201', '802', '42.909722', '-73.140554', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54474, 'Bennington College', 2828, '05201', '802', '42.909722', '-73.140554', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54475, 'Old Bennington', 2828, '05201', '802', '42.909722', '-73.140554', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54476, 'Woodford', 2828, '05201', '802', '42.909722', '-73.140554', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54477, 'Bondville', 2828, '05340', '802', '43.162644', '-72.932236', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54478, 'Winhall', 2828, '05340', '802', '43.162644', '-72.932236', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54479, 'Cambridge', 2828, '05444', '802', '44.648159', '-72.907013', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54480, 'Cambridgeboro', 2828, '05444', '802', '44.648159', '-72.907013', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54481, 'Cloverdale', 2828, '05444', '802', '44.648159', '-72.907013', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54482, 'Fletcher', 2828, '05444', '802', '44.648159', '-72.907013', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54483, 'Pleasant Valley', 2828, '05444', '802', '44.648159', '-72.907013', '2018-11-29 05:04:46', '2018-11-29 05:04:46'),\n(54484, 'East Corinth', 2828, '05076', '802', '44.13125', '-72.241166', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54485, 'Topsham', 2828, '05076', '802', '44.13125', '-72.241166', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54486, 'Topsham Four Corners', 2828, '05076', '802', '44.13125', '-72.241166', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54487, 'Wells River', 2828, '05081', '802', '44.138568', '-72.0879', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54488, 'Cavendish', 2828, '05142', '802', '43.400492', '-72.583604', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54489, 'Grahamville', 2828, '05149', '802', '43.398882', '-72.709738', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54490, 'Lake Rescue', 2828, '05149', '802', '43.398882', '-72.709738', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54491, 'Ludlow', 2828, '05149', '802', '43.398882', '-72.709738', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54492, 'Smithville', 2828, '05149', '802', '43.398882', '-72.709738', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54493, 'Tyson', 2828, '05149', '802', '43.398882', '-72.709738', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54494, 'Greenbush', 2828, '05151', '802', '43.393446', '-72.48008', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54495, 'Perkinsville', 2828, '05151', '802', '43.393446', '-72.48008', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54496, 'Weathersfield', 2828, '05151', '802', '43.393446', '-72.48008', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54497, 'Weathersfield Center', 2828, '05151', '802', '43.393446', '-72.48008', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54498, 'Rochester', 2828, '05767', '802', '43.867307', '-72.84853', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54499, 'East Sutton Ridge', 2828, '05867', '802', '44.664254', '-72.041961', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54500, 'Sutton', 2828, '05867', '802', '44.664254', '-72.041961', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54501, 'East Lyndon', 2828, '05851', '802', '44.546291', '-72.05016', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54502, 'Lyndonville', 2828, '05851', '802', '44.546291', '-72.05016', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54503, 'Red Village', 2828, '05851', '802', '44.546291', '-72.05016', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54504, 'South Wheelock', 2828, '05851', '802', '44.546291', '-72.05016', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54505, 'Wheelock', 2828, '05851', '802', '44.546291', '-72.05016', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54506, 'Morgan', 2828, '05853', '802', '44.88426', '-71.984377', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54507, 'Morgan Ctr', 2828, '05853', '802', '44.88426', '-71.984377', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54508, 'Underhill Center', 2828, '05490', '802', '44.5077', '-72.9', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54509, 'Underhill Ctr', 2828, '05490', '802', '44.5077', '-72.9', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54510, 'Fayston', 2828, '05673', '802', '44.200827', '-72.848134', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54511, 'Irasville', 2828, '05673', '802', '44.200827', '-72.848134', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54512, 'Mad River Glen', 2828, '05673', '802', '44.200827', '-72.848134', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54513, 'Waitsfield', 2828, '05673', '802', '44.200827', '-72.848134', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54514, 'Waitsfield Common', 2828, '05673', '802', '44.200827', '-72.848134', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54515, 'Essex Jct', 2828, '05453', '802', '44.4908', '-73.1116', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54516, 'Essex Junction', 2828, '05453', '802', '44.4908', '-73.1116', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54517, 'Queen City', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54518, 'Queen City Park', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:47', '2018-11-29 05:04:47'),\n(54519, 'S Btv', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54520, 'S Burl', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54521, 'S Burlington', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54522, 'So Burlington', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54523, 'South Burlington', 2828, '05403', '802', '44.454475', '-73.184981', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54524, 'Burlington', 2828, '05405', '802', '44.47761', '-73.195632', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54525, 'Univ Of Vermont', 2828, '05405', '802', '44.47761', '-73.195632', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54526, 'Uvm', 2828, '05405', '802', '44.47761', '-73.195632', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54527, 'Barnumtown', 2828, '05472', '802', '44.141539', '-73.164032', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54528, 'Brookville', 2828, '05472', '802', '44.141539', '-73.164032', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54529, 'New Haven', 2828, '05472', '802', '44.141539', '-73.164032', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54530, 'New Haven Jct', 2828, '05472', '802', '44.141539', '-73.164032', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54531, 'New Haven Junction', 2828, '05472', '802', '44.141539', '-73.164032', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54532, 'New Haven Mills', 2828, '05472', '802', '44.141539', '-73.164032', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54533, 'Brattleboro', 2828, '05303', '802', '42.8509', '-72.5584', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54534, 'Brattleboro', 2828, '05304', '802', '42.8509', '-72.5584', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54535, 'Swamp Rd', 2828, '05069', '802', '44.151152', '-72.163906', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54536, 'S Woodstock', 2828, '05071', '802', '43.563604', '-72.570078', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54537, 'South Woodstock', 2828, '05071', '802', '43.563604', '-72.570078', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54538, 'East Orange', 2828, '05086', '802', '44.127523', '-72.308048', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54539, 'Waits River', 2828, '05086', '802', '44.127523', '-72.308048', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54540, 'West Topsham', 2828, '05086', '802', '44.127523', '-72.308048', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54541, 'Peru', 2828, '05152', '802', '43.220797', '-72.896006', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54542, 'Proctorsville', 2828, '05153', '802', '43.416681', '-72.626577', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54543, 'South Reading', 2828, '05153', '802', '43.416681', '-72.626577', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54544, 'Brdgewtr Cors', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54545, 'Brgwtr Cors', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54546, 'Bridgewater Center', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54547, 'Bridgewater Corn', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54548, 'Bridgewater Corners', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54549, 'Bridgewtr Cor', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54550, 'Bridgewtr Ct', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54551, 'W Bridgewater', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54552, 'West Bridgewater', 2828, '05035', '802', '43.604408', '-72.69438', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54553, 'Brownsville', 2828, '05037', '802', '43.463316', '-72.479116', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54554, 'N Hartland', 2828, '05052', '802', '43.597046', '-72.348348', '2018-11-29 05:04:48', '2018-11-29 05:04:48'),\n(54555, 'North Hartland', 2828, '05052', '802', '43.597046', '-72.348348', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54556, 'North Pomfret', 2828, '05053', '802', '43.72165', '-72.501345', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54557, 'West Barnet', 2828, '05821', '802', '44.316294', '-72.082797', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54558, 'Concord', 2828, '05824', '802', '44.438108', '-71.851258', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54559, 'Concord Corner', 2828, '05824', '802', '44.438108', '-71.851258', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54560, 'Kirby', 2828, '05824', '802', '44.438108', '-71.851258', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54561, 'Ralston Corner', 2828, '05824', '802', '44.438108', '-71.851258', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54562, 'Barton', 2828, '05839', '802', '44.677822', '-72.221718', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54563, 'Glover', 2828, '05839', '802', '44.677822', '-72.221718', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54564, 'Greensboro', 2828, '05841', '802', '44.603972', '-72.289069', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54565, 'Greensborough', 2828, '05841', '802', '44.603972', '-72.289069', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54566, 'Hyde Park', 2828, '05655', '802', '44.62893', '-72.564211', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54567, 'Middletown Springs', 2828, '05757', '802', '43.484096', '-73.123104', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54568, 'Middletwn Spg', 2828, '05757', '802', '43.484096', '-73.123104', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54569, 'Keeler Bay', 2828, '05486', '802', '44.625673', '-73.309252', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54570, 'Keelers Bay', 2828, '05486', '802', '44.625673', '-73.309252', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54571, 'S Hero', 2828, '05486', '802', '44.625673', '-73.309252', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54572, 'So Hero', 2828, '05486', '802', '44.625673', '-73.309252', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54573, 'South Hero', 2828, '05486', '802', '44.625673', '-73.309252', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54574, 'Fonda', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54575, 'Fonda Jct', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54576, 'Green Corner', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54577, 'Hog Island', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54578, 'Lakewood', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54579, 'Maquam', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54580, 'Popsquash', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54581, 'Swanton', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54582, 'W Swanton', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54583, 'West Swanton', 2828, '05488', '802', '44.902072', '-73.133964', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54584, 'Underhill', 2828, '05489', '802', '44.54955', '-72.891354', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54585, 'Underhill Flats', 2828, '05489', '802', '44.54955', '-72.891354', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54586, 'Stowe', 2828, '05672', '802', '44.480794', '-72.717655', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54587, 'Fairfax', 2828, '05454', '802', '44.716346', '-73.017241', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54588, 'Georgia', 2828, '05454', '802', '44.716346', '-73.017241', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54589, 'Ferrisburg', 2828, '05456', '802', '44.212922', '-73.266968', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54590, 'Ferrisburgh', 2828, '05456', '802', '44.212922', '-73.266968', '2018-11-29 05:04:49', '2018-11-29 05:04:49'),\n(54591, 'Montpelier', 2828, '05604', '802', '44.2601', '-72.5759', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54592, 'National Life Ins', 2828, '05604', '802', '44.2601', '-72.5759', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54593, 'South Wardsboro', 2828, '05355', '802', '43.021464', '-72.813208', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54594, 'Wardsboro', 2828, '05355', '802', '43.021464', '-72.813208', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54595, 'Wardsborough', 2828, '05355', '802', '43.021464', '-72.813208', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54596, 'Mount Snow', 2828, '05356', '802', '42.973371', '-72.896974', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54597, 'Mt Snow', 2828, '05356', '802', '42.973371', '-72.896974', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54598, 'W Dover', 2828, '05356', '802', '42.973371', '-72.896974', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54599, 'West Dover', 2828, '05356', '802', '42.973371', '-72.896974', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54600, 'Winooski', 2828, '05404', '802', '44.49486', '-73.183567', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54601, 'Burlington', 2828, '05406', '802', '44.4756', '-73.2126', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54602, 'Chiselville', 2828, '05252', '802', '43.070921', '-73.073236', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54603, 'E Arlington', 2828, '05252', '802', '43.070921', '-73.073236', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54604, 'East Arlington', 2828, '05252', '802', '43.070921', '-73.073236', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54605, 'Kansas', 2828, '05252', '802', '43.070921', '-73.073236', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54606, 'Sunderland', 2828, '05252', '802', '43.070921', '-73.073236', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54607, 'Bromley Mountain', 2828, '05254', '802', '43.162543', '-73.070029', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54608, 'Manchester', 2828, '05254', '802', '43.162543', '-73.070029', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54609, 'Manchester Village', 2828, '05254', '802', '43.162543', '-73.070029', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54610, 'Barnumville', 2828, '05255', '802', '43.16966', '-73.066116', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54611, 'Manchester Center', 2828, '05255', '802', '43.16966', '-73.066116', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54612, 'Manchestr Ctr', 2828, '05255', '802', '43.16966', '-73.066116', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54613, 'Manchster Ctr', 2828, '05255', '802', '43.16966', '-73.066116', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54614, 'S Strafford', 2828, '05070', '802', '43.822875', '-72.359428', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54615, 'So Strafford', 2828, '05070', '802', '43.822875', '-72.359428', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54616, 'South Strafford', 2828, '05070', '802', '43.822875', '-72.359428', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54617, 'Strafford', 2828, '05072', '802', '43.877069', '-72.381186', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54618, 'Wilder', 2828, '05088', '802', '43.67804', '-72.308184', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54619, 'Rawsonville', 2828, '05155', '802', '43.183274', '-72.803439', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54620, 'S Londonderry', 2828, '05155', '802', '43.183274', '-72.803439', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54621, 'South Londonderry', 2828, '05155', '802', '43.183274', '-72.803439', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54622, 'Vernon', 2828, '05354', '802', '42.77556', '-72.512069', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54623, 'Brookfield', 2828, '05036', '802', '44.026306', '-72.582288', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54624, 'Brookfield Center', 2828, '05036', '802', '44.026306', '-72.582288', '2018-11-29 05:04:50', '2018-11-29 05:04:50'),\n(54625, 'Norwich', 2828, '05055', '802', '43.747833', '-72.301863', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54626, 'Stratton Mnt', 2828, '05155', '802', '43.183274', '-72.803439', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54627, 'Stratton Mountain', 2828, '05155', '802', '43.183274', '-72.803439', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54628, 'Stratton Mtn', 2828, '05155', '802', '43.183274', '-72.803439', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54629, 'Brighton', 2828, '05846', '802', '44.779842', '-71.845163', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54630, 'Island Pond', 2828, '05846', '802', '44.779842', '-71.845163', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54631, 'Bloomfield', 2828, '05905', '802', '44.719137', '-71.618654', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54632, 'Brunswick', 2828, '05905', '802', '44.719137', '-71.618654', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54633, 'Ferdinand', 2828, '05905', '802', '44.719137', '-71.618654', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54634, 'Guildhall', 2828, '05905', '802', '44.719137', '-71.618654', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54635, 'Lemington', 2828, '05905', '802', '44.719137', '-71.618654', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54636, 'Maidstone', 2828, '05905', '802', '44.719137', '-71.618654', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54637, 'Norton', 2828, '05907', '802', '44.932076', '-71.811435', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54638, 'Barton', 2828, '05822', '802', '44.744998', '-72.147225', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54639, 'West Glover', 2828, '05822', '802', '44.744998', '-72.147225', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54640, 'Westmore', 2828, '05822', '802', '44.744998', '-72.147225', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54641, 'East Haven', 2828, '05837', '802', '44.666529', '-71.828896', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54642, 'E St Johnsbry', 2828, '05838', '802', '44.4387', '-71.9463', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54643, 'East Saint Johnsbury', 2828, '05838', '802', '44.4387', '-71.9463', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54644, 'Granby', 2828, '05840', '802', '44.602518', '-71.72031', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54645, 'Eden', 2828, '05653', '802', '44.702792', '-72.490247', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54646, 'Eden Mills', 2828, '05653', '802', '44.702792', '-72.490247', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54647, 'East Johnson', 2828, '05656', '802', '44.646401', '-72.680382', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54648, 'Johnson', 2828, '05656', '802', '44.646401', '-72.680382', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54649, 'Chittenden', 2828, '05737', '802', '43.710296', '-72.925325', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54650, 'Buels Gore', 2828, '05487', '802', '44.236003', '-73.003136', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54651, 'South Starksboro', 2828, '05487', '802', '44.236003', '-73.003136', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54652, 'Starksboro', 2828, '05487', '802', '44.236003', '-73.003136', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54653, 'South Barre', 2828, '05670', '802', '44.1679', '-72.5002', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54654, 'State Of Vermont', 2828, '05671', '802', '44.3379', '-72.7564', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54655, 'Waterbury', 2828, '05671', '802', '44.3379', '-72.7564', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54656, 'Fairfield', 2828, '05455', '802', '44.809174', '-72.969978', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54657, 'Sheldon', 2828, '05455', '802', '44.809174', '-72.969978', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54658, 'Dept Motor Vehicles', 2828, '05603', '802', '44.2601', '-72.5759', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54659, 'Montpelier', 2828, '05603', '802', '44.2601', '-72.5759', '2018-11-29 05:04:51', '2018-11-29 05:04:51'),\n(54660, 'Montpelier', 2828, '05620', '802', '44.2601', '-72.5759', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54661, 'State Of Vermont', 2828, '05620', '802', '44.2601', '-72.5759', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54662, 'Colchester', 2828, '05439', '802', '44.5437', '-73.1485', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54663, 'St Michaels College', 2828, '05439', '802', '44.5437', '-73.1485', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54664, 'Montgomery', 2828, '05470', '802', '44.9025', '-72.6386', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54665, 'Alpine Haven', 2828, '05471', '802', '44.854104', '-72.587924', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54666, 'Hectorville', 2828, '05471', '802', '44.854104', '-72.587924', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54667, 'Hutchins', 2828, '05471', '802', '44.854104', '-72.587924', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54668, 'Montgomery Center', 2828, '05471', '802', '44.854104', '-72.587924', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54669, 'Montgomry Ctr', 2828, '05471', '802', '44.854104', '-72.587924', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54670, 'Kimballs', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54671, 'Long Point', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54672, 'Monkton Ridge', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54673, 'Mount Philo', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54674, 'Mt Philo', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54675, 'N Ferrisburgh', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54676, 'No Ferrisburgh', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54677, 'North Ferrisburgh', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54678, 'The Hollow', 2828, '05473', '802', '44.244494', '-73.203646', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54679, 'E Dorset', 2828, '05253', '802', '43.257198', '-73.008613', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54680, 'East Dorset', 2828, '05253', '802', '43.257198', '-73.008613', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54681, 'Lake Emerald', 2828, '05253', '802', '43.257198', '-73.008613', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54682, 'West Newbury', 2828, '05085', '802', '44.07096', '-72.147712', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54683, 'Rupert', 2828, '05768', '802', '43.2576', '-73.2255', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54684, 'Bridport', 2828, '05734', '802', '43.944874', '-73.33395', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54685, 'Coventry', 2828, '05825', '802', '44.856872', '-72.235489', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54686, 'Craftsbry Cmn', 2828, '05827', '802', '44.682376', '-72.358566', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54687, 'Craftsbury Cm', 2828, '05827', '802', '44.682376', '-72.358566', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54688, 'Craftsbury Common', 2828, '05827', '802', '44.682376', '-72.358566', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54689, 'Mill Village', 2828, '05827', '802', '44.682376', '-72.358566', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54690, 'East Hardwick', 2828, '05836', '802', '44.5224', '-72.247738', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54691, 'Hardwick', 2828, '05843', '802', '44.524114', '-72.326255', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54692, 'Mackville', 2828, '05843', '802', '44.524114', '-72.326255', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54693, 'East Calais', 2828, '05650', '802', '44.390511', '-72.433596', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54694, 'North Calais', 2828, '05650', '802', '44.390511', '-72.433596', '2018-11-29 05:04:52', '2018-11-29 05:04:52'),\n(54695, 'South Woodbury', 2828, '05650', '802', '44.390511', '-72.433596', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54696, 'Cadys Falls', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54697, 'Cleveland Corner', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54698, 'Elmore', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54699, 'Garfield', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54700, 'Lake Lamoille', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54701, 'Morristown', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54702, 'Morrisville', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54703, 'Shelburne', 2828, '05482', '802', '44.394886', '-73.230426', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54704, 'Addison', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54705, 'Arnold Bay', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54706, 'Basin Harbor', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54707, 'Button Bay', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54708, 'Chimney Point', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54709, 'Crown Point', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54710, 'Mile Point', 2828, '05491', '802', '44.125631', '-73.305775', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54711, 'Morrisvl', 2828, '05661', '802', '44.541157', '-72.637343', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54712, 'South Walden', 2828, '05843', '802', '44.524114', '-72.326255', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54713, 'Lyndon', 2828, '05849', '802', '44.5145', '-72.0116', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54714, 'Lyndon Corners', 2828, '05849', '802', '44.5145', '-72.0116', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54715, 'Lake Valley', 2828, '05681', '802', '44.449835', '-72.412264', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54716, 'Woodbury', 2828, '05681', '802', '44.449835', '-72.412264', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54717, 'N Middlesex', 2828, '05682', '802', '44.397746', '-72.572618', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54718, 'North Middlesex', 2828, '05682', '802', '44.397746', '-72.572618', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54719, 'Worcester', 2828, '05682', '802', '44.397746', '-72.572618', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54720, 'Belmont', 2828, '05730', '802', '43.421144', '-72.820736', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54721, 'Benson', 2828, '05731', '802', '43.7066', '-73.3118', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54722, 'Derby', 2828, '05829', '802', '44.954694', '-72.082626', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54723, 'Derby Line', 2828, '05830', '802', '44.970167', '-72.021396', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54724, 'Holland', 2828, '05830', '802', '44.970167', '-72.021396', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54725, 'Burke Mountain', 2828, '05832', '802', '44.594343', '-71.900911', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54726, 'E Burke', 2828, '05832', '802', '44.594343', '-71.900911', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54727, 'East Burke', 2828, '05832', '802', '44.594343', '-71.900911', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54728, 'Georgia', 2828, '05478', '802', '44.818326', '-73.126686', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54729, 'Saint Albans', 2828, '05478', '802', '44.818326', '-73.126686', '2018-11-29 05:04:53', '2018-11-29 05:04:53'),\n(54730, 'St Albans', 2828, '05478', '802', '44.818326', '-73.126686', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54731, 'Eastern Reg Serv Ctr', 2828, '05479', '802', '44.8106', '-73.0836', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54732, 'Saint Albans', 2828, '05479', '802', '44.8106', '-73.0836', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54733, 'Us Citizenship & Immigration', 2828, '05479', '802', '44.8106', '-73.0836', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54734, 'Moscow', 2828, '05662', '802', '44.4415', '-72.7159', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54735, 'Northfield', 2828, '05663', '802', '44.137891', '-72.685056', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54736, 'Norwich University', 2828, '05663', '802', '44.137891', '-72.685056', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54737, 'Riverton', 2828, '05663', '802', '44.137891', '-72.685056', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54738, 'West Berlin', 2828, '05663', '802', '44.137891', '-72.685056', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54739, 'Northfield Falls', 2828, '05664', '802', '44.169954', '-72.649876', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54740, 'Northfield Fl', 2828, '05664', '802', '44.169954', '-72.649876', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54741, 'Northfld Fls', 2828, '05664', '802', '44.169954', '-72.649876', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54742, 'Hinesburg', 2828, '05461', '802', '44.315623', '-73.090922', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54743, 'Lake Iroquois', 2828, '05461', '802', '44.315623', '-73.090922', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54744, 'Mechanicsburg', 2828, '05461', '802', '44.315623', '-73.090922', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54745, 'Jeffersonville', 2828, '05464', '802', '44.641023', '-72.813533', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54746, 'Jeffersonvlle', 2828, '05464', '802', '44.641023', '-72.813533', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54747, 'Madonna', 2828, '05464', '802', '44.641023', '-72.813533', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54748, 'Smugglers Notch', 2828, '05464', '802', '44.641023', '-72.813533', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54749, 'Smuglrs Ntch', 2828, '05464', '802', '44.641023', '-72.813533', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54750, 'Saint George', 2828, '05495', '802', '44.424416', '-73.087094', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54751, 'St George', 2828, '05495', '802', '44.424416', '-73.087094', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54752, 'Williston', 2828, '05495', '802', '44.424416', '-73.087094', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54753, 'Williamsville', 2828, '05362', '802', '42.940978', '-72.677001', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54754, 'Weston', 2828, '05161', '802', '43.309596', '-72.811456', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54755, 'Weston Priory', 2828, '05161', '802', '43.309596', '-72.811456', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54756, 'Pownal', 2828, '05261', '802', '42.778853', '-73.214612', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54757, 'Pownal Center', 2828, '05261', '802', '42.778853', '-73.214612', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54758, 'South Pownal', 2828, '05261', '802', '42.778853', '-73.214612', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54759, 'North Shaftsbury', 2828, '05262', '802', '42.979762', '-73.20097', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54760, 'Shaftsbury', 2828, '05262', '802', '42.979762', '-73.20097', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54761, 'Shaftsbury Center', 2828, '05262', '802', '42.979762', '-73.20097', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54762, 'So Shaftsbury', 2828, '05262', '802', '42.979762', '-73.20097', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54763, 'South Shaftsbury', 2828, '05262', '802', '42.979762', '-73.20097', '2018-11-29 05:04:54', '2018-11-29 05:04:54'),\n(54764, 'Camp Johnson', 2828, '05446', '802', '44.550854', '-73.229872', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54765, 'Colchester', 2828, '05446', '802', '44.550854', '-73.229872', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54766, 'Smc', 2828, '05446', '802', '44.550854', '-73.229872', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54767, 'St Michaels College', 2828, '05446', '802', '44.550854', '-73.229872', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54768, 'E Fairfield', 2828, '05448', '802', '44.761373', '-72.882023', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54769, 'East Fairfield', 2828, '05448', '802', '44.761373', '-72.882023', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54770, 'North Tunbridge', 2828, '05077', '802', '43.904932', '-72.476708', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54771, 'Tunbridge', 2828, '05077', '802', '43.904932', '-72.476708', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54772, 'Randolph Center', 2828, '05061', '802', '43.933028', '-72.567786', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54773, 'Randolph Ctr', 2828, '05061', '802', '43.933028', '-72.567786', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54774, 'Shoreham', 2828, '05770', '802', '43.874879', '-73.321844', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54775, 'S Wallingford', 2828, '05773', '802', '43.445476', '-73.008096', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54776, 'South Wallingford', 2828, '05773', '802', '43.445476', '-73.008096', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54777, 'Tinmouth', 2828, '05773', '802', '43.445476', '-73.008096', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54778, 'The Bluffs', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54779, 'West Derby', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54780, 'Gilman', 2828, '05904', '802', '44.412812', '-71.787784', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54781, 'Wallingford', 2828, '05773', '802', '43.445476', '-73.008096', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54782, 'Barnet', 2828, '05821', '802', '44.316294', '-72.082797', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54783, 'Barnet Center', 2828, '05821', '802', '44.316294', '-72.082797', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54784, 'Inwood', 2828, '05821', '802', '44.316294', '-72.082797', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54785, 'South Peacham', 2828, '05821', '802', '44.316294', '-72.082797', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54786, 'Waterbury Center', 2828, '05677', '802', '44.392058', '-72.705846', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54787, 'Waterbury Ctr', 2828, '05677', '802', '44.392058', '-72.705846', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54788, 'Rutland', 2828, '05702', '802', '43.6106', '-72.9731', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54789, 'Albany', 2828, '05820', '802', '44.74914', '-72.357962', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54790, 'Eden', 2828, '05652', '802', '44.734313', '-72.633388', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54791, 'Center Rutland', 2828, '05736', '802', '43.619312', '-73.018707', '2018-11-29 05:04:55', '2018-11-29 05:04:55');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(54792, 'Ctr Rutland', 2828, '05736', '802', '43.619312', '-73.018707', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54793, 'East Poultney', 2828, '05741', '802', '43.5266', '-73.2052', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54794, 'Poultney', 2828, '05741', '802', '43.5266', '-73.2052', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54795, 'Bolton Valley', 2828, '05477', '802', '44.388236', '-72.950571', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54796, 'Richmond', 2828, '05477', '802', '44.388236', '-72.950571', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54797, 'N Montpelier', 2828, '05666', '802', '44.276852', '-72.468106', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54798, 'No Montpelier', 2828, '05666', '802', '44.276852', '-72.468106', '2018-11-29 05:04:55', '2018-11-29 05:04:55'),\n(54799, 'North Montpelier', 2828, '05666', '802', '44.276852', '-72.468106', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54800, 'Brookside', 2828, '05452', '802', '44.510763', '-73.052832', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54801, 'Essex', 2828, '05452', '802', '44.510763', '-73.052832', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54802, 'Essex Ctr', 2828, '05452', '802', '44.510763', '-73.052832', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54803, 'Essex Jct', 2828, '05452', '802', '44.510763', '-73.052832', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54804, 'Essex Junction', 2828, '05452', '802', '44.510763', '-73.052832', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54805, 'Pinewood', 2828, '05452', '802', '44.510763', '-73.052832', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54806, 'Fredetteville', 2828, '05763', '802', '43.742296', '-72.998026', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54807, 'N Chittenden', 2828, '05763', '802', '43.742296', '-72.998026', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54808, 'North Chittenden', 2828, '05763', '802', '43.742296', '-72.998026', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54809, 'Pittsford', 2828, '05763', '802', '43.742296', '-72.998026', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54810, 'Pittsford Mills', 2828, '05763', '802', '43.742296', '-72.998026', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54811, 'Proctor', 2828, '05765', '802', '43.649623', '-73.032716', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54812, 'True Blue', 2828, '05765', '802', '43.649623', '-73.032716', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54813, 'East Peacham', 2828, '05862', '802', '44.326748', '-72.226265', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54814, 'Peacham', 2828, '05862', '802', '44.326748', '-72.226265', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54815, 'Saint Johnsbury Center', 2828, '05863', '802', '44.457', '-72.0073', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54816, 'St Jhnsbry Ct', 2828, '05863', '802', '44.457', '-72.0073', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54817, 'Branch', 2828, '05680', '802', '44.535453', '-72.482192', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54818, 'East Elmore', 2828, '05680', '802', '44.535453', '-72.482192', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54819, 'North Wolcott', 2828, '05680', '802', '44.535453', '-72.482192', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54820, 'Pottersville', 2828, '05680', '802', '44.535453', '-72.482192', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54821, 'Wolcott', 2828, '05680', '802', '44.535453', '-72.482192', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54822, 'Gaysville', 2828, '05746', '802', '43.710646', '-72.754662', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54823, 'Granville', 2828, '05747', '802', '44.00486', '-72.829344', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54824, 'Lower Granville', 2828, '05747', '802', '44.00486', '-72.829344', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54825, 'Saint Albans Bay', 2828, '05481', '802', '44.8073', '-73.1398', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54826, 'St Albans Bay', 2828, '05481', '802', '44.8073', '-73.1398', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54827, 'N Hyde Park', 2828, '05665', '802', '44.6706', '-72.5988', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54828, 'North Hyde Park', 2828, '05665', '802', '44.6706', '-72.5988', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54829, 'Whitingham', 2828, '05361', '802', '42.783081', '-72.87308', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54830, 'Medburyville', 2828, '05363', '802', '42.872614', '-72.888584', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54831, 'Searsburg', 2828, '05363', '802', '42.872614', '-72.888584', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54832, 'West Marlboro', 2828, '05363', '802', '42.872614', '-72.888584', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54833, 'Wilmington', 2828, '05363', '802', '42.872614', '-72.888584', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54834, 'Berkshire', 2828, '05447', '802', '44.941558', '-72.702468', '2018-11-29 05:04:56', '2018-11-29 05:04:56'),\n(54835, 'E Berkshire', 2828, '05447', '802', '44.941558', '-72.702468', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54836, 'East Berkshire', 2828, '05447', '802', '44.941558', '-72.702468', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54837, 'Vershire', 2828, '05079', '802', '43.955564', '-72.329855', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54838, 'Brookline', 2828, '05345', '802', '43.008875', '-72.664267', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54839, 'Newfane', 2828, '05345', '802', '43.008875', '-72.664267', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54840, 'E Thetford', 2828, '05043', '802', '43.816922', '-72.218249', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54841, 'East Thetford', 2828, '05043', '802', '43.816922', '-72.218249', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54842, 'Ely', 2828, '05045', '802', '43.917408', '-72.189239', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54843, 'Fairlee', 2828, '05045', '802', '43.917408', '-72.189239', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54844, 'Lake Morey', 2828, '05045', '802', '43.917408', '-72.189239', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54845, 'Groton', 2828, '05046', '802', '44.22744', '-72.256546', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54846, 'Hartford', 2828, '05047', '802', '43.6606', '-72.3386', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54847, 'Braintree', 2828, '05060', '802', '43.975176', '-72.700166', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54848, 'East Roxbury', 2828, '05060', '802', '43.975176', '-72.700166', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54849, 'Randolph', 2828, '05060', '802', '43.975176', '-72.700166', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54850, 'W Brookfield', 2828, '05060', '802', '43.975176', '-72.700166', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54851, 'West Brookfield', 2828, '05060', '802', '43.975176', '-72.700166', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54852, 'Eagle Point', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54853, 'Indian Point', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54854, 'Lake Park', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54855, 'Newport', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54856, 'Newport City', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54857, 'North Derby', 2828, '05855', '802', '44.934134', '-72.193716', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54858, 'Brimstone Corners', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54859, 'East Rupert', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54860, 'N Pawlet', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54861, 'North Pawlet', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54862, 'North Rupert', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54863, 'Pawlet', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54864, 'Spankerton', 2828, '05761', '802', '43.358508', '-73.148682', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54865, 'Jay', 2828, '05859', '802', '44.934352', '-72.442233', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54866, 'Jay Peak', 2828, '05859', '802', '44.934352', '-72.442233', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54867, 'North Troy', 2828, '05859', '802', '44.934352', '-72.442233', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54868, 'Morses Mills', 2828, '05861', '802', '44.3801', '-72.0925', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54869, 'Passumpsic', 2828, '05861', '802', '44.3801', '-72.0925', '2018-11-29 05:04:57', '2018-11-29 05:04:57'),\n(54870, 'Troy', 2828, '05868', '802', '44.85339', '-72.364669', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54871, 'Barton', 2828, '05875', '802', '44.704582', '-72.271828', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54872, 'W Glover', 2828, '05875', '802', '44.704582', '-72.271828', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54873, 'West Glover', 2828, '05875', '802', '44.704582', '-72.271828', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54874, 'Albany Center', 2828, '05845', '802', '44.80063', '-72.300119', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54875, 'East Albany', 2828, '05845', '802', '44.80063', '-72.300119', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54876, 'Irasburg', 2828, '05845', '802', '44.80063', '-72.300119', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54877, 'Lyndon Center', 2828, '05850', '802', '44.543938', '-72.018352', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54878, 'Brownington', 2828, '05860', '802', '44.798475', '-72.100166', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54879, 'Evansville', 2828, '05860', '802', '44.798475', '-72.100166', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54880, 'Orleans', 2828, '05860', '802', '44.798475', '-72.100166', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54881, 'Westmore', 2828, '05860', '802', '44.798475', '-72.100166', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54882, 'Averill', 2828, '05901', '802', '44.943684', '-71.68273', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54883, 'Canaan', 2828, '05901', '802', '44.943684', '-71.68273', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54884, 'Websterville', 2828, '05678', '802', '44.159644', '-72.46948', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54885, 'Brandon', 2828, '05733', '802', '43.840453', '-73.092253', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54886, 'Goshen', 2828, '05733', '802', '43.840453', '-73.092253', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54887, 'Leicester', 2828, '05733', '802', '43.840453', '-73.092253', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54888, 'Sudbury', 2828, '05733', '802', '43.840453', '-73.092253', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54889, 'West Cornwall', 2828, '05778', '802', '43.88021', '-73.203834', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54890, 'Whiting', 2828, '05778', '802', '43.88021', '-73.203834', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54891, 'Johnsbury', 2828, '05819', '802', '44.423148', '-71.968914', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54892, 'Saint Johnsbury', 2828, '05819', '802', '44.423148', '-71.968914', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54893, 'St Johnsbury', 2828, '05819', '802', '44.423148', '-71.968914', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54894, 'Waterford', 2828, '05819', '802', '44.423148', '-71.968914', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54895, 'West Waterford', 2828, '05819', '802', '44.423148', '-71.968914', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54896, 'E Charleston', 2828, '05833', '802', '44.83945', '-71.954782', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54897, 'East Charleston', 2828, '05833', '802', '44.83945', '-71.954782', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54898, 'East Barre', 2828, '05649', '802', '44.14781', '-72.39487', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54899, 'E Montpelier', 2828, '05651', '802', '44.281498', '-72.496098', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54900, 'East Montpelier', 2828, '05651', '802', '44.281498', '-72.496098', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54901, 'Moretown', 2828, '05660', '802', '44.252609', '-72.761586', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54902, 'N Fayston', 2828, '05660', '802', '44.252609', '-72.761586', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54903, 'No Fayston', 2828, '05660', '802', '44.252609', '-72.761586', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54904, 'North Fayston', 2828, '05660', '802', '44.252609', '-72.761586', '2018-11-29 05:04:58', '2018-11-29 05:04:58'),\n(54905, 'South Duxbury', 2828, '05660', '802', '44.252609', '-72.761586', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54906, 'Killington', 2828, '05751', '802', '43.655457', '-72.785346', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54907, 'Healdville', 2828, '05758', '802', '43.421628', '-72.798365', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54908, 'Hortonville', 2828, '05758', '802', '43.421628', '-72.798365', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54909, 'Lake Hinevah', 2828, '05758', '802', '43.421628', '-72.798365', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54910, 'Mount Holly', 2828, '05758', '802', '43.421628', '-72.798365', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54911, 'Summit', 2828, '05758', '802', '43.421628', '-72.798365', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54912, 'Crow Hill', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54913, 'Fairfield Pond', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54914, 'Fairground', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54915, 'Fairgrounds', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54916, 'Saint Rocks', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54917, 'Sheldon', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54918, 'Sheldon Creek', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54919, 'Sheldon Junction', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54920, 'St Rocks', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54921, 'Sweek Hollow', 2828, '05483', '802', '44.885684', '-72.969836', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54922, 'Sheldon Spgs', 2828, '05485', '802', '44.9056', '-72.981', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54923, 'Sheldon Springs', 2828, '05485', '802', '44.9056', '-72.981', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54924, 'Pekin', 2828, '05667', '802', '44.2913', '-72.404736', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54925, 'Plainfield', 2828, '05667', '802', '44.2913', '-72.404736', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54926, 'E Granville', 2828, '05669', '802', '44.069641', '-72.74496', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54927, 'East Granville', 2828, '05669', '802', '44.069641', '-72.74496', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54928, 'Roxbury', 2828, '05669', '802', '44.069641', '-72.74496', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54929, 'Roxbury Flat', 2828, '05669', '802', '44.069641', '-72.74496', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54930, 'W Braintree', 2828, '05669', '802', '44.069641', '-72.74496', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54931, 'West Braintree', 2828, '05669', '802', '44.069641', '-72.74496', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54932, 'Bolton', 2828, '05676', '802', '44.352331', '-72.805656', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54933, 'Colbyville', 2828, '05676', '802', '44.352331', '-72.805656', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54934, 'Duxbury', 2828, '05676', '802', '44.352331', '-72.805656', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54935, 'North Duxbury', 2828, '05676', '802', '44.352331', '-72.805656', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54936, 'Waterbury', 2828, '05676', '802', '44.352331', '-72.805656', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54937, 'Jericho', 2828, '05465', '802', '44.4674', '-72.917804', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54938, 'Jericho Center', 2828, '05465', '802', '44.4674', '-72.917804', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54939, 'Jericho Ctr', 2828, '05465', '802', '44.4674', '-72.917804', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54940, 'West Bolton', 2828, '05465', '802', '44.4674', '-72.917804', '2018-11-29 05:04:59', '2018-11-29 05:04:59'),\n(54941, 'Montpelier', 2828, '05601', '802', '44.2601', '-72.5759', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54942, 'Halifax', 2828, '05358', '802', '42.774471', '-72.74374', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54943, 'West Halifax', 2828, '05358', '802', '42.774471', '-72.74374', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54944, 'Alburg', 2828, '05440', '802', '44.928483', '-73.27328', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54945, 'Alburgh', 2828, '05440', '802', '44.928483', '-73.27328', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54946, 'Dorset', 2828, '05251', '802', '43.259472', '-73.060044', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54947, 'S Dorset', 2828, '05251', '802', '43.259472', '-73.060044', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54948, 'So Dorset', 2828, '05251', '802', '43.259472', '-73.060044', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54949, 'South Dorset', 2828, '05251', '802', '43.259472', '-73.060044', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54950, 'N Pownal', 2828, '05260', '802', '42.813468', '-73.26552', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54951, 'No Pownal', 2828, '05260', '802', '42.813468', '-73.26552', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54952, 'East Ellsworth', 2830, '54010', '715', '44.7321', '-92.4616', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54953, 'Ellsworth', 2830, '54010', '715', '44.7321', '-92.4616', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54954, 'Bagley', 2830, '53801', '608', '42.92619', '-91.067003', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54955, 'Wyalusing', 2830, '53801', '608', '42.92619', '-91.067003', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54956, 'Patch Grove', 2830, '53817', '608', '42.945534', '-90.977574', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54957, 'Friesland', 2830, '53935', '920', '43.58534', '-89.07063', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54958, 'Lake Delton', 2830, '53940', '608', '43.590198', '-89.794089', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54959, 'Montello', 2830, '53949', '608', '43.783676', '-89.326026', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54960, 'Jefferson', 2830, '53549', '920', '42.995766', '-88.762604', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54961, 'Lone Rock', 2830, '53556', '608', '43.238626', '-90.247468', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54962, 'Mount Horeb', 2830, '53572', '608', '42.966286', '-89.734508', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54963, 'New Glarus', 2830, '53574', '608', '42.820912', '-89.65439', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54964, 'Sauk City', 2830, '53583', '608', '43.26063', '-89.793297', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54965, 'Sun Prairie', 2830, '53590', '608', '43.194622', '-89.20792', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54966, 'Madison', 2830, '53717', '608', '43.074562', '-89.521652', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54967, 'Madison', 2830, '53726', '608', '43.07158', '-89.420555', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54968, 'Milwaukee', 2830, '53233', '414', '43.03586', '-87.93299', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54969, 'J C Penney', 2830, '53263', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54970, 'Jc Penney', 2830, '53263', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54971, 'Milwaukee', 2830, '53263', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54972, 'Milwaukee', 2830, '53274', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54973, 'Wi Child Support', 2830, '53274', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54974, 'Bmo Harris Bank', 2830, '53288', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54975, 'M And I Bank', 2830, '53288', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54976, 'Milwaukee', 2830, '53288', '414', '43.0389', '-87.9065', '2018-11-29 05:05:00', '2018-11-29 05:05:00'),\n(54977, 'Black Earth', 2830, '53515', '608', '43.11409', '-89.749962', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54978, 'Blue Mounds', 2830, '53517', '608', '43.03155', '-89.833372', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54979, 'Browntown', 2830, '53522', '608', '42.575571', '-89.789518', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54980, 'Wales', 2830, '53183', '262', '43.005374', '-88.377199', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54981, 'Milwaukee', 2830, '53206', '414', '43.075046', '-87.933559', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54982, 'Milwaukee', 2830, '53208', '414', '43.04233', '-87.967312', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54983, 'Wauwatosa', 2830, '53208', '414', '43.04233', '-87.967312', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54984, 'Stockbridge', 2830, '53088', '920', '44.075295', '-88.304946', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54985, 'W Bend', 2830, '53090', '262', '43.472446', '-88.191663', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54986, 'West Bend', 2830, '53090', '262', '43.472446', '-88.191663', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54987, 'Westbend', 2830, '53090', '262', '43.472446', '-88.191663', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54988, 'Caledonia', 2830, '53108', '262', '42.814738', '-87.942196', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54989, 'Greendale', 2830, '53129', '414', '42.937404', '-87.99773', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54990, 'Brownsville', 2830, '53006', '920', '43.616986', '-88.524943', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54991, 'Byron', 2830, '53006', '920', '43.616986', '-88.524943', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54992, 'South Byron', 2830, '53006', '920', '43.616986', '-88.524943', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54993, 'Cedar Grove', 2830, '53013', '920', '43.568612', '-87.854766', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54994, 'Cleveland', 2830, '53015', '920', '43.913904', '-87.805634', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54995, 'Germantown', 2830, '53022', '262', '43.235858', '-88.12728', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54996, 'Rockfield', 2830, '53022', '262', '43.235858', '-88.12728', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54997, 'Chenequa', 2830, '53029', '262', '43.12976', '-88.335875', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54998, 'Hartland', 2830, '53029', '262', '43.12976', '-88.335875', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(54999, 'Johnson Creek', 2830, '53038', '920', '43.092552', '-88.785758', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(55000, 'Lebanon', 2830, '53047', '920', '43.257907', '-88.629213', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(55001, 'Dpo', 2776, '34011', '000', '0', '0', '2018-11-29 05:05:01', '2018-11-29 05:05:01'),\n(55002, 'Dpo', 2776, '34020', '000', '0', '0', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55003, 'Dpo', 2776, '34022', '000', '0', '0', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55004, 'Dpo', 2776, '34036', '000', '0', '0', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55005, 'Monticello', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55006, 'Montongo', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55007, 'Mount Tabor', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55008, 'Tennessee', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 05:05:02', '2018-11-29 05:05:02'),\n(55009, 'Ua Monticello', 2781, '71655', '870', '33.59229', '-91.739966', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55010, 'Duce', 2781, '71666', '870', '33.686337', '-91.142152', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55011, 'Mc Gehee', 2781, '71666', '870', '33.686337', '-91.142152', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55012, 'Mcgehee', 2781, '71666', '870', '33.686337', '-91.142152', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55013, 'Possum Fork', 2781, '71666', '870', '33.686337', '-91.142152', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55014, 'Rohwer', 2781, '71666', '870', '33.686337', '-91.142152', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55015, 'Green Hill', 2781, '71675', '870', '33.620668', '-91.942752', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55016, 'Rock Springs', 2781, '71675', '870', '33.620668', '-91.942752', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55017, 'Wilmar', 2781, '71675', '870', '33.620668', '-91.942752', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55018, 'El Dorado', 2781, '71730', '870', '33.192879', '-92.63923', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55019, 'De Queen', 2781, '71832', '870', '34.059374', '-94.278866', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55020, 'Doddridge', 2781, '71834', '870', '33.146846', '-93.923374', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55021, 'Gillham', 2781, '71841', '870', '34.166526', '-94.357208', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55022, 'Winthrop', 2781, '71866', '870', '33.880461', '-94.387712', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55023, 'Hot Spgs Vl', 2781, '71909', '501', '34.66739', '-92.98096', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55024, 'Hot Springs', 2781, '71909', '501', '34.66739', '-92.98096', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55025, 'Hot Springs National', 2781, '71909', '501', '34.66739', '-92.98096', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55026, 'Hot Springs National Park', 2781, '71909', '501', '34.66739', '-92.98096', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55027, 'Hot Springs Village', 2781, '71909', '501', '34.66739', '-92.98096', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55028, 'Hot Springs', 2781, '71914', '501', '34.5038', '-93.0552', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55029, 'Hot Springs National', 2781, '71914', '501', '34.5038', '-93.0552', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55030, 'Hot Springs National Park', 2781, '71914', '501', '34.5038', '-93.0552', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55031, 'Donaldson', 2781, '71941', '501', '34.244066', '-92.962587', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55032, 'Saginaw', 2781, '71941', '501', '34.244066', '-92.962587', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55033, 'Pearcy', 2781, '71964', '501', '34.40154', '-93.248219', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55034, 'Oden', 2781, '71966', '870', '34.6186', '-93.7769', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55035, 'Pine Ridge', 2781, '71966', '870', '34.6186', '-93.7769', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55036, 'Bear', 2781, '71968', '501', '34.540698', '-93.280942', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55037, 'Royal', 2781, '71968', '501', '34.540698', '-93.280942', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55038, 'Austin', 2781, '72007', '501', '34.992126', '-91.978823', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55039, 'Casa', 2781, '72025', '501', '35.05294', '-93.048696', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55040, 'Divide', 2781, '72025', '501', '35.05294', '-93.048696', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55041, 'Homewood', 2781, '72025', '501', '35.05294', '-93.048696', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55042, 'Pontoon', 2781, '72025', '501', '35.05294', '-93.048696', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55043, 'Round Mountain', 2781, '72025', '501', '35.05294', '-93.048696', '2018-11-29 05:05:03', '2018-11-29 05:05:03'),\n(55044, 'Beryl', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55045, 'Brumley', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55046, 'Central Baptist College', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55047, 'Conway', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55048, 'Gleason', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55049, 'Gold Creek', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55050, 'Gold Lake Estates', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55051, 'Preston', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55052, 'Saltillo', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55053, 'Skunkhollow', 2781, '72032', '501', '35.063958', '-92.370596', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55054, 'Conway', 2781, '72034', '501', '35.047178', '-92.48677', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55055, 'Ethel', 2781, '72048', '870', '34.214557', '-91.131832', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55056, 'Grapevine', 2781, '72057', '870', '34.15661', '-92.314038', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55057, 'Hickory Plains', 2781, '72066', '870', '34.99121', '-91.746944', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55058, 'Hickory Plns', 2781, '72066', '870', '34.99121', '-91.746944', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55059, 'Higginson', 2781, '72068', '501', '35.162713', '-91.707634', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55060, 'Higgson', 2781, '72068', '501', '35.162713', '-91.707634', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55061, 'Menifee', 2781, '72107', '501', '35.13576', '-92.549718', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55062, 'Scotland', 2781, '72141', '501', '35.554152', '-92.689211', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55063, 'Georgetown', 2781, '72143', '501', '35.240318', '-91.704914', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55064, 'Searcy', 2781, '72143', '501', '35.240318', '-91.704914', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55065, 'Tucker', 2781, '72168', '501', '34.446285', '-91.987534', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55066, 'Little Rock', 2781, '72209', '501', '34.67366', '-92.369697', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55067, 'Blytheville', 2781, '72316', '870', '35.9275', '-89.9187', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55068, 'Haynes', 2781, '72341', '870', '34.875216', '-90.683467', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55069, 'Joiner', 2781, '72350', '870', '35.478322', '-90.134257', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55070, 'Madison', 2781, '72359', '870', '35.021993', '-90.722436', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55071, 'Marvell', 2781, '72366', '870', '34.51472', '-90.960157', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55072, 'Lafe', 2781, '72436', '870', '36.224022', '-90.479813', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55073, 'Marmaduke', 2781, '72436', '870', '36.224022', '-90.479813', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55074, 'Marmaduke', 2781, '72443', '870', '36.185226', '-90.396576', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55075, 'Portia', 2781, '72457', '870', '36.077988', '-91.082027', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55076, 'Ravenden', 2781, '72459', '870', '36.202022', '-91.283037', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55077, 'Rector', 2781, '72461', '870', '36.273748', '-90.254661', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55078, 'Cherokee Village', 2781, '72525', '870', '36.310952', '-91.596429', '2018-11-29 05:05:04', '2018-11-29 05:05:04'),\n(55079, 'Cherokee Vlg', 2781, '72525', '870', '36.310952', '-91.596429', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55080, 'Eden Isle', 2781, '72543', '501', '35.45591', '-92.007725', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55081, 'Heber Springs', 2781, '72543', '501', '35.45591', '-92.007725', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55082, 'Locust Grove', 2781, '72550', '870', '35.701045', '-91.778101', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55083, 'Pineville', 2781, '72566', '870', '36.199178', '-92.094182', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55084, 'Salado', 2781, '72575', '870', '35.7273', '-91.5882', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55085, 'Sidney', 2781, '72577', '870', '35.993531', '-91.667871', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55086, 'La Crosse', 2781, '72584', '870', '36.141546', '-91.844068', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55087, 'Violet Hill', 2781, '72584', '870', '36.141546', '-91.844068', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55088, 'Alpena', 2781, '72611', '870', '36.287857', '-93.320959', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55089, 'Carrollton', 2781, '72611', '870', '36.287857', '-93.320959', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55090, 'Berryville', 2781, '72616', '870', '36.288822', '-93.558175', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55091, 'Grandview', 2781, '72616', '870', '36.288822', '-93.558175', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55092, 'Metalton', 2781, '72616', '870', '36.288822', '-93.558175', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55093, 'Rudd', 2781, '72616', '870', '36.288822', '-93.558175', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55094, 'Urbanette', 2781, '72616', '870', '36.288822', '-93.558175', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55095, 'Gilbert', 2781, '72636', '870', '35.9886', '-92.7147', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55096, 'Canaan', 2781, '72650', '870', '35.953232', '-92.662464', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55097, 'Dongola', 2781, '72650', '870', '35.953232', '-92.662464', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55098, 'Landis', 2781, '72650', '870', '35.953232', '-92.662464', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55099, 'Marshall', 2781, '72650', '870', '35.953232', '-92.662464', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55100, 'Norfork', 2781, '72659', '870', '36.2139', '-92.2836', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55101, 'Fayetteville', 2781, '72702', '479', '36.0625', '-94.1573', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55102, 'Bentonville', 2781, '72716', '479', '36.3163', '-94.1888', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55103, 'Wal-Mart Inc', 2781, '72716', '479', '36.3163', '-94.1888', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55104, 'Crumrod', 2781, '72328', '870', '34.190959', '-90.92128', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55105, 'Earle', 2781, '72331', '870', '35.292558', '-90.458132', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55106, 'Twist', 2781, '72331', '870', '35.292558', '-90.458132', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55107, 'Horseshoe Lake', 2781, '72348', '870', '34.925192', '-90.439912', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55108, 'Horseshoe Lk', 2781, '72348', '870', '34.925192', '-90.439912', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55109, 'Hughes', 2781, '72348', '870', '34.925192', '-90.439912', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55110, 'Snow Lake', 2781, '72379', '870', '34.029971', '-91.033706', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55111, 'Wynne', 2781, '72396', '870', '35.227932', '-90.824902', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55112, 'Biggers', 2781, '72413', '870', '36.31775', '-90.819499', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55113, 'Black Rock', 2781, '72415', '870', '36.1311', '-91.184841', '2018-11-29 05:05:05', '2018-11-29 05:05:05'),\n(55114, 'Etowah', 2781, '72428', '870', '35.73169', '-90.18015', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55115, 'Minturn', 2781, '72445', '870', '35.94521', '-91.000539', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55116, 'Warm Springs', 2781, '72478', '870', '36.448839', '-91.046796', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55117, 'Weiner', 2781, '72479', '870', '35.614561', '-90.901938', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55118, 'Bexar', 2781, '72515', '870', '36.301243', '-91.999418', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55119, 'Oil Trough', 2781, '72564', '870', '35.5931', '-91.474626', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55120, 'Tumbling Shls', 2781, '72581', '501', '35.551905', '-91.966976', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55121, 'Tumbling Shoals', 2781, '72581', '501', '35.551905', '-91.966976', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55122, 'Dennard', 2781, '72629', '501', '35.711063', '-92.613768', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55123, 'Onia', 2781, '72663', '870', '35.93932', '-92.333065', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55124, 'Pleasant Hills', 2781, '72663', '870', '35.93932', '-92.333065', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55125, 'Farmington', 2781, '72730', '479', '36.034808', '-94.269069', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55126, 'Fayetteville', 2781, '72730', '479', '36.034808', '-94.269069', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55127, 'Morrow', 2781, '72749', '479', '35.86856', '-94.443586', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55128, 'Centerville', 2781, '72829', '501', '35.10169', '-93.176552', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55129, 'Clarksville', 2781, '72830', '479', '35.558598', '-93.435684', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55130, 'Coal Hill', 2781, '72832', '479', '35.419636', '-93.673401', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55131, 'Scranton', 2781, '72863', '479', '35.356981', '-93.53497', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55132, 'Bonanza', 2781, '72916', '479', '35.27412', '-94.37369', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55133, 'Fort Smith', 2781, '72916', '479', '35.27412', '-94.37369', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55134, 'Ozark', 2781, '72949', '479', '35.543654', '-93.88534', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55135, 'Louann', 2781, '71751', '870', '33.41097', '-92.755234', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55136, 'Hope', 2781, '71801', '870', '33.659558', '-93.599057', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55137, 'Perrytown', 2781, '71801', '870', '33.659558', '-93.599057', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55138, 'Alleene', 2781, '71820', '870', '33.791494', '-94.226489', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55139, 'Foreman', 2781, '71836', '870', '33.706993', '-94.402514', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55140, 'Fouke', 2781, '71837', '870', '33.244453', '-93.904914', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55141, 'Ogden', 2781, '71853', '870', '33.58676', '-93.949138', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55142, 'Ozan', 2781, '71855', '870', '33.854328', '-93.71141', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55143, 'Caddo Gap', 2781, '71935', '870', '34.429819', '-93.670328', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55144, 'Fancy Hill', 2781, '71935', '870', '34.429819', '-93.670328', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55145, 'Hopper', 2781, '71935', '870', '34.429819', '-93.670328', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55146, 'Manfred', 2781, '71935', '870', '34.429819', '-93.670328', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55147, 'Benton', 2781, '72022', '501', '34.603058', '-92.491436', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55148, 'Bryant', 2781, '72022', '501', '34.603058', '-92.491436', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55149, 'Cotton Plant', 2781, '72036', '870', '35.022852', '-91.206082', '2018-11-29 05:05:06', '2018-11-29 05:05:06'),\n(55150, 'Maberry', 2781, '72036', '870', '35.022852', '-91.206082', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55151, 'Arkansas Post National Memor', 2781, '72055', '870', '34.101918', '-91.36592', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55152, 'Gillett', 2781, '72055', '870', '34.101918', '-91.36592', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55153, 'Blackton', 2781, '72069', '870', '34.574889', '-91.158761', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55154, 'Holly Grove', 2781, '72069', '870', '34.574889', '-91.158761', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55155, 'Lawrenceville', 2781, '72069', '870', '34.574889', '-91.158761', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55156, 'Palmer', 2781, '72069', '870', '34.574889', '-91.158761', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55157, 'Pine City', 2781, '72069', '870', '34.574889', '-91.158761', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55158, 'Raymond', 2781, '72069', '870', '34.574889', '-91.158761', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55159, 'Humnoke', 2781, '72072', '501', '34.530441', '-91.729707', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55160, 'Bayou Metro', 2781, '72086', '501', '34.798828', '-91.907652', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55161, 'Furlow', 2781, '72086', '501', '34.798828', '-91.907652', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55162, 'Lonoke', 2781, '72086', '501', '34.798828', '-91.907652', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55163, 'Pettus', 2781, '72086', '501', '34.798828', '-91.907652', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55164, 'Wattensaw', 2781, '72086', '501', '34.798828', '-91.907652', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55165, 'Russell', 2781, '72139', '501', '35.360914', '-91.506916', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55166, 'Eglantine', 2781, '72153', '501', '35.539313', '-92.295428', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55167, 'Lexington', 2781, '72153', '501', '35.539313', '-92.295428', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55168, 'Rushing', 2781, '72153', '501', '35.539313', '-92.295428', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55169, 'Shirley', 2781, '72153', '501', '35.539313', '-92.295428', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55170, 'Arthur', 2781, '72156', '501', '35.272366', '-92.683472', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55171, 'Cypress Valley', 2781, '72156', '501', '35.272366', '-92.683472', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55172, 'Solgohachia', 2781, '72156', '501', '35.272366', '-92.683472', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55173, 'Little Rock', 2781, '72203', '501', '34.7465', '-92.2894', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55174, 'Little Rock', 2781, '72206', '501', '34.625443', '-92.251744', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55175, 'Little Rock', 2781, '72221', '501', '34.7465', '-92.2894', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55176, 'Brickeys', 2781, '72320', '870', '34.815026', '-90.534126', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55177, 'Lepanto', 2781, '72354', '870', '35.612678', '-90.293764', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55178, 'Osceola', 2781, '72370', '870', '35.69056', '-90.059581', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55179, 'Tyronza', 2781, '72386', '870', '35.45892', '-90.36976', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55180, 'Jonesboro', 2781, '72403', '870', '35.8425', '-90.7044', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55181, 'Lynn', 2781, '72440', '870', '35.956387', '-91.206191', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55182, 'Camp', 2781, '72520', '870', '36.392488', '-91.727666', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55183, 'Charlotte', 2781, '72522', '870', '35.806952', '-91.457758', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55184, 'Concord', 2781, '72523', '870', '35.620628', '-91.833926', '2018-11-29 05:05:07', '2018-11-29 05:05:07'),\n(55185, 'Gepp', 2781, '72538', '870', '36.4378', '-92.10188', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55186, 'Mammoth Spg', 2781, '72554', '870', '36.375988', '-91.565361', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55187, 'Mammoth Spring', 2781, '72554', '870', '36.375988', '-91.565361', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55188, 'Marcella', 2781, '72555', '870', '35.76246', '-91.950915', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55189, 'Boswell', 2781, '72556', '870', '36.024488', '-91.925016', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55190, 'Melbourne', 2781, '72556', '870', '36.024488', '-91.925016', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55191, 'Zion', 2781, '72556', '870', '36.024488', '-91.925016', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55192, 'Ponca', 2781, '72670', '870', '36.051792', '-93.394999', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55193, 'Pyatt', 2781, '72672', '870', '36.280842', '-92.83035', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55194, 'Fayetteville', 2781, '72704', '479', '36.107636', '-94.303874', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55195, 'Wheeler', 2781, '72704', '479', '36.107636', '-94.303874', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55196, 'Decatur', 2781, '72722', '479', '36.341784', '-94.450548', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55197, 'Greenland', 2781, '72737', '479', '35.9954', '-94.1742', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55198, 'Huntsville', 2781, '72740', '870', '36.111568', '-93.715034', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55199, 'Wesley', 2781, '72773', '479', '35.9225', '-93.894076', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55200, 'West Fork', 2781, '72774', '479', '35.87307', '-94.215515', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55201, 'Appleton', 2781, '72823', '501', '35.301882', '-92.9238', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55202, 'Atkins', 2781, '72823', '501', '35.301882', '-92.9238', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55203, 'Blackwell', 2781, '72823', '501', '35.301882', '-92.9238', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55204, 'Belleville', 2781, '72824', '479', '35.109847', '-93.477249', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55205, 'Corinth', 2781, '72824', '479', '35.109847', '-93.477249', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55206, 'Harvey', 2781, '72841', '479', '34.862255', '-93.761026', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55207, 'Barling', 2781, '72923', '479', '35.335607', '-94.309819', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55208, 'Central City', 2781, '72941', '479', '35.374814', '-94.182479', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55209, 'Lavaca', 2781, '72941', '479', '35.374814', '-94.182479', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55210, 'Bates', 2781, '72958', '479', '34.924519', '-94.077924', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55211, 'Waldron', 2781, '72958', '479', '34.924519', '-94.077924', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55212, 'Davenport', 2781, '72121', '501', '35.446247', '-91.788348', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55213, 'Dewey', 2781, '72121', '501', '35.446247', '-91.788348', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55214, 'Hickory Flat', 2781, '72121', '501', '35.446247', '-91.788348', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55215, 'Little Red', 2781, '72121', '501', '35.446247', '-91.788348', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55216, 'Mcjester', 2781, '72121', '501', '35.446247', '-91.788348', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55217, 'Pangburn', 2781, '72121', '501', '35.446247', '-91.788348', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55218, 'Paron', 2781, '72122', '501', '34.766882', '-92.816589', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55219, 'Gravel Hill', 2781, '72136', '501', '35.242859', '-92.028734', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55220, 'Romance', 2781, '72136', '501', '35.242859', '-92.028734', '2018-11-29 05:05:08', '2018-11-29 05:05:08'),\n(55221, 'Rose Bud', 2781, '72137', '501', '35.342694', '-92.008571', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55222, 'Sidon', 2781, '72137', '501', '35.342694', '-92.008571', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55223, 'Haywood', 2781, '72152', '870', '34.349107', '-91.975878', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55224, 'Pastoria', 2781, '72152', '870', '34.349107', '-91.975878', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55225, 'Sherrill', 2781, '72152', '870', '34.349107', '-91.975878', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55226, 'Ulm', 2781, '72170', '870', '34.569062', '-91.530277', '2018-11-29 05:05:09', '2018-11-29 05:05:09');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(55227, 'Little Rock', 2781, '72222', '501', '34.7471', '-92.2796', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55228, 'Frenchman Byu', 2781, '72338', '870', '35.451683', '-90.167731', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55229, 'Frenchmans Bayou', 2781, '72338', '870', '35.451683', '-90.167731', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55230, 'Gilmore', 2781, '72339', '870', '35.402152', '-90.267843', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55231, 'Lambrook', 2781, '72353', '870', '34.292639', '-91.001296', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55232, 'Parkin', 2781, '72373', '870', '35.249191', '-90.558715', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55233, 'Wabash', 2781, '72389', '870', '34.352766', '-90.905651', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55234, 'West Helena', 2781, '72390', '870', '34.578691', '-90.665972', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55235, 'Jonesboro', 2781, '72404', '870', '35.779513', '-90.742341', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55236, 'Cash', 2781, '72421', '870', '35.795593', '-90.954934', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55237, 'Corning', 2781, '72422', '870', '36.380106', '-90.57026', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55238, 'Lake City', 2781, '72437', '870', '35.835081', '-90.429116', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55239, 'Leachville', 2781, '72438', '870', '35.93628', '-90.171146', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55240, 'Peach Orchard', 2781, '72453', '870', '36.271726', '-90.715656', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55241, 'Piggott', 2781, '72454', '870', '36.41422', '-90.230124', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55242, 'Pocahontas', 2781, '72455', '870', '36.306286', '-91.055351', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55243, 'Success', 2781, '72470', '870', '36.455642', '-90.738716', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55244, 'Swifton', 2781, '72471', '870', '35.821274', '-91.140421', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55245, 'Tuckerman', 2781, '72473', '870', '35.746506', '-91.168272', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55246, 'Gamaliel', 2781, '72537', '870', '36.438136', '-92.232296', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55247, 'Glencoe', 2781, '72539', '870', '36.297602', '-91.781688', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55248, 'Guion', 2781, '72540', '870', '35.958836', '-91.93955', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55249, 'Magness', 2781, '72553', '870', '35.667746', '-91.493666', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55250, 'Wiseman', 2781, '72587', '870', '36.22646', '-91.85199', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55251, 'Clarkridge', 2781, '72623', '870', '36.450047', '-92.326336', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55252, 'Green Forest', 2781, '72638', '870', '36.280108', '-93.414102', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55253, 'Rule', 2781, '72638', '870', '36.280108', '-93.414102', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55254, 'Timbo', 2781, '72657', '870', '35.9003', '-92.2487', '2018-11-29 05:05:09', '2018-11-29 05:05:09'),\n(55255, 'Yellville', 2781, '72687', '870', '36.267674', '-92.703542', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55256, 'Combs', 2781, '72721', '479', '35.844978', '-93.814344', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55257, 'Hindsville', 2781, '72738', '479', '36.175071', '-93.888522', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55258, 'Hiwasse', 2781, '72739', '479', '36.419951', '-94.346798', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55259, 'Johnson', 2781, '72741', '479', '36.1619', '-94.1358', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55260, 'Hagarville', 2781, '72839', '479', '35.528449', '-93.323478', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55261, 'Hartman', 2781, '72840', '479', '35.469945', '-93.608538', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55262, 'Hunt', 2781, '72840', '479', '35.469945', '-93.608538', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55263, 'Plainview', 2781, '72857', '501', '34.898411', '-93.426048', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55264, 'Fort Smith', 2781, '72904', '479', '35.412868', '-94.384988', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55265, 'Fort Smith', 2781, '72908', '479', '35.301684', '-94.406618', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55266, 'Alma', 2781, '72921', '479', '35.463728', '-94.193935', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55267, 'Huntington', 2781, '72940', '479', '35.119764', '-94.249566', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55268, 'Uniontown', 2781, '72955', '479', '35.601215', '-94.437741', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55269, 'Oxford', 2781, '72565', '870', '36.196361', '-91.947849', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55270, 'Sulphur Rock', 2781, '72579', '870', '35.804208', '-91.459029', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55271, 'Beaver', 2781, '72613', '870', '36.4751', '-93.7678', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55272, 'Busch', 2781, '72631', '870', '36.43382', '-93.767162', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55273, 'Eureka Spgs', 2781, '72631', '870', '36.43382', '-93.767162', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55274, 'Eureka Springs', 2781, '72631', '870', '36.43382', '-93.767162', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55275, 'Holiday Island', 2781, '72631', '870', '36.43382', '-93.767162', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55276, 'Holiday Isle', 2781, '72631', '870', '36.43382', '-93.767162', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55277, 'Dogpatch', 2781, '72648', '870', '36.069474', '-93.150492', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55278, 'Erbie', 2781, '72648', '870', '36.069474', '-93.150492', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55279, 'Marble Falls', 2781, '72648', '870', '36.069474', '-93.150492', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55280, 'Pruitt', 2781, '72648', '870', '36.069474', '-93.150492', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55281, 'Bruno', 2781, '72682', '870', '36.13399', '-92.763584', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55282, 'Valley Spgs', 2781, '72682', '870', '36.13399', '-92.763584', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55283, 'Valley Springs', 2781, '72682', '870', '36.13399', '-92.763584', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55284, 'Evansville', 2781, '72729', '479', '35.801227', '-94.468875', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55285, 'Maysville', 2781, '72747', '479', '36.376622', '-94.578278', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55286, 'Springdale', 2781, '72762', '479', '36.187614', '-94.239698', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55287, 'Bethel Heights', 2781, '72764', '479', '36.18044', '-94.03593', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55288, 'Bethel Hts', 2781, '72764', '479', '36.18044', '-94.03593', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55289, 'Fayetteville', 2781, '72764', '479', '36.18044', '-94.03593', '2018-11-29 05:05:10', '2018-11-29 05:05:10'),\n(55290, 'Springdale', 2781, '72764', '479', '36.18044', '-94.03593', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55291, 'Springdale', 2781, '72765', '479', '36.1864', '-94.1289', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55292, 'Springdale', 2781, '72766', '479', '36.1864', '-94.1289', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55293, 'Lamar', 2781, '72846', '479', '35.443366', '-93.311641', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55294, 'Subiaco', 2781, '72865', '479', '35.315402', '-93.597032', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55295, 'Cecil', 2781, '72930', '479', '35.430609', '-93.939169', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55296, 'Mulberry', 2781, '72947', '479', '35.538536', '-94.03806', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55297, 'Gravette', 2781, '72736', '479', '36.418432', '-94.471279', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55298, 'Bluffton', 2781, '72827', '479', '34.841398', '-93.627232', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55299, 'Dardanelle', 2781, '72834', '479', '35.186975', '-93.195135', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55300, 'Knoxville', 2781, '72845', '479', '35.362795', '-93.377239', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55301, 'Booneville', 2781, '72927', '479', '35.138964', '-93.932494', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55302, 'Magazine', 2781, '72943', '479', '35.177305', '-93.806766', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55303, 'Parks', 2781, '72950', '479', '34.805142', '-93.867932', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55304, 'Rudy', 2781, '72952', '479', '35.567515', '-94.301693', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55305, 'Winslow', 2781, '72959', '479', '35.81698', '-94.085968', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55306, 'Grannis', 2781, '71944', '870', '34.239604', '-94.357148', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55307, 'Norman', 2781, '71960', '870', '34.484883', '-93.775892', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55308, 'Huddleston', 2781, '71961', '870', '34.642678', '-93.82132', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55309, 'Oden', 2781, '71961', '870', '34.642678', '-93.82132', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55310, 'Pine Ridge', 2781, '71961', '870', '34.642678', '-93.82132', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55311, 'Whitetown', 2781, '71961', '870', '34.642678', '-93.82132', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55312, 'Beverage Town', 2781, '72030', '501', '35.409626', '-92.688424', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55313, 'Cleveland', 2781, '72030', '501', '35.409626', '-92.688424', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55314, 'El Paso', 2781, '72045', '501', '35.123974', '-92.052161', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55315, 'Griffithville', 2781, '72060', '501', '35.086132', '-91.628003', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55316, 'Hattieville', 2781, '72063', '501', '35.311702', '-92.772956', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55317, 'Macedonia', 2781, '72063', '501', '35.311702', '-92.772956', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55318, 'Old Hickory', 2781, '72063', '501', '35.311702', '-92.772956', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55319, 'Robertsville', 2781, '72063', '501', '35.311702', '-92.772956', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55320, 'Jacksonville', 2781, '72078', '501', '34.8663', '-92.1102', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55321, 'Gobblers Point', 2781, '72080', '501', '35.404671', '-92.79876', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55322, 'Jerusalem', 2781, '72080', '501', '35.404671', '-92.79876', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55323, 'Lost Corner', 2781, '72080', '501', '35.404671', '-92.79876', '2018-11-29 05:05:11', '2018-11-29 05:05:11'),\n(55324, 'Garland Springs', 2781, '72111', '501', '35.235215', '-92.13712', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55325, 'Hammonsville', 2781, '72111', '501', '35.235215', '-92.13712', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55326, 'Mount Vernon', 2781, '72111', '501', '35.235215', '-92.13712', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55327, 'Prim', 2781, '72130', '870', '35.665688', '-92.05338', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55328, 'Woodrow', 2781, '72130', '870', '35.665688', '-92.05338', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55329, 'Enders', 2781, '72131', '501', '35.411803', '-92.179533', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55330, 'Fairbanks', 2781, '72131', '501', '35.411803', '-92.179533', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55331, 'Pearson', 2781, '72131', '501', '35.411803', '-92.179533', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55332, 'Quitman', 2781, '72131', '501', '35.411803', '-92.179533', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55333, 'Searcy', 2781, '72145', '501', '35.2486', '-91.7604', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55334, 'Sweet Home', 2781, '72164', '501', '34.6865', '-92.2423', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55335, 'Little Rock', 2781, '72211', '501', '34.741953', '-92.417726', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55336, 'Little Rock', 2781, '72214', '501', '34.7465', '-92.2894', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55337, 'Driver', 2781, '72329', '870', '35.548758', '-89.952185', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55338, 'Dyess', 2781, '72330', '870', '35.589608', '-90.196817', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55339, 'Blackfish', 2781, '72346', '870', '35.070212', '-90.507044', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55340, 'Heth', 2781, '72346', '870', '35.070212', '-90.507044', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55341, 'Bay', 2781, '72411', '870', '35.749099', '-90.582885', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55342, 'Fisher', 2781, '72429', '870', '35.510948', '-90.930682', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55343, 'Monette', 2781, '72447', '870', '35.913442', '-90.342062', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55344, 'Sedgwick', 2781, '72465', '870', '35.979384', '-90.863911', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55345, 'Ash Flat', 2781, '72513', '870', '36.197987', '-91.630935', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55346, 'Drasco', 2781, '72530', '870', '35.612451', '-91.977378', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55347, 'Wolf Bayou', 2781, '72530', '870', '35.612451', '-91.977378', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55348, 'Elizabeth', 2781, '72531', '870', '36.318306', '-92.145392', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55349, 'Heber Springs', 2781, '72545', '501', '35.4917', '-92.0313', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55350, 'Mays Mission', 2781, '72545', '501', '35.4917', '-92.0313', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55351, 'Ida', 2781, '72546', '870', '35.585742', '-91.94192', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55352, 'Bergman', 2781, '72615', '870', '36.3156', '-93.0085', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55353, 'Diamond City', 2781, '72630', '870', '36.463835', '-92.917415', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55354, 'Elk Ranch', 2781, '72632', '501', '36.387045', '-93.745625', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55355, 'Eureka', 2781, '72632', '501', '36.387045', '-93.745625', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55356, 'Eureka Spgs', 2781, '72632', '501', '36.387045', '-93.745625', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55357, 'Eureka Springs', 2781, '72632', '501', '36.387045', '-93.745625', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55358, 'Chimes', 2781, '72645', '870', '35.802026', '-92.57915', '2018-11-29 05:05:12', '2018-11-29 05:05:12'),\n(55359, 'Flag', 2781, '72645', '870', '35.802026', '-92.57915', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55360, 'Leslie', 2781, '72645', '870', '35.802026', '-92.57915', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55361, 'Oxley', 2781, '72645', '870', '35.802026', '-92.57915', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55362, 'Rumley', 2781, '72645', '870', '35.802026', '-92.57915', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55363, 'Omaha', 2781, '72662', '870', '36.417512', '-93.156932', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55364, 'Tilly', 2781, '72679', '870', '35.700534', '-92.832242', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55365, 'Alco', 2781, '72680', '870', '35.863142', '-92.297664', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55366, 'Timbo', 2781, '72680', '870', '35.863142', '-92.297664', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55367, 'Bentonville', 2781, '72712', '479', '36.343109', '-94.247154', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55368, 'Bella Vista', 2781, '72714', '479', '36.450596', '-94.23185', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55369, 'Bella Vista', 2781, '72715', '479', '36.467667', '-94.321874', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55370, 'The Highlands', 2781, '72715', '479', '36.467667', '-94.321874', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55371, 'Garfield', 2781, '72732', '479', '36.412576', '-93.977876', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55372, 'London', 2781, '72847', '479', '35.351996', '-93.253927', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55373, 'Fort Smith', 2781, '72913', '479', '35.3856', '-94.3984', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55374, 'Fort Smith', 2781, '72914', '479', '35.3856', '-94.3984', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55375, 'Cedarville', 2781, '72932', '479', '35.601896', '-94.382973', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55376, 'Charleston', 2781, '72933', '479', '35.333086', '-94.03873', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55377, 'Mountainburg', 2781, '72946', '479', '35.660632', '-94.082344', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55378, 'Natural Dam', 2781, '72948', '479', '35.70559', '-94.422784', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55379, 'Paris', 2781, '72855', '479', '35.275751', '-93.684532', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55380, 'Pelsor', 2781, '72856', '870', '35.684935', '-93.056326', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55381, 'Fort Chaffee', 2781, '72905', '479', '35.252288', '-94.199378', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55382, 'Fort Smith', 2781, '72905', '479', '35.252288', '-94.199378', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55383, 'Fort Smith', 2781, '72906', '479', '35.3856', '-94.3984', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55384, 'Hartford', 2781, '72938', '479', '35.002612', '-94.36688', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55385, 'Van Buren', 2781, '72956', '479', '35.476734', '-94.344809', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55386, 'Van Buren', 2781, '72957', '479', '35.4443', '-94.3429', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55387, 'Mountain View', 2781, '72533', '870', '36.019812', '-92.213905', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55388, 'Moko', 2781, '72576', '870', '36.377232', '-91.8601', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55389, 'Salem', 2781, '72576', '870', '36.377232', '-91.8601', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55390, 'Harrison', 2781, '72601', '870', '36.259823', '-93.075368', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55391, 'Zinc', 2781, '72601', '870', '36.259823', '-93.075368', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55392, 'Cotter', 2781, '72626', '870', '36.299264', '-92.539843', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55393, 'Oak Grove', 2781, '72660', '870', '36.476083', '-93.377606', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55394, 'Fayetteville', 2781, '72703', '479', '36.118166', '-94.059994', '2018-11-29 05:05:13', '2018-11-29 05:05:13'),\n(55395, 'Gateway', 2781, '72733', '479', '36.4765', '-93.9191', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55396, 'Kingston', 2781, '72742', '870', '36.039672', '-93.500474', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55397, 'Prairie Grove', 2781, '72753', '479', '35.909708', '-94.310825', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55398, 'Rogers', 2781, '72758', '479', '36.302142', '-94.121411', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55399, 'Witter', 2781, '72776', '870', '35.934275', '-93.600908', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55400, 'Russellville', 2781, '72812', '501', '35.2848', '-93.1506', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55401, 'Blue Mountain', 2781, '72826', '479', '35.160602', '-93.61849', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55402, 'Delaware', 2781, '72835', '479', '35.27701', '-93.338473', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55403, 'New Blaine', 2781, '72851', '479', '35.321471', '-93.45579', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55404, 'Pottsville', 2781, '72858', '479', '35.202427', '-93.033003', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55405, 'Fort Smith', 2781, '72901', '479', '35.366736', '-94.414673', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55406, 'Branch', 2781, '72928', '479', '35.293009', '-93.917485', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55407, 'Abbott', 2781, '72944', '479', '35.035628', '-94.180744', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55408, 'Mansfield', 2781, '72944', '479', '35.035628', '-94.180744', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55409, 'Ratcliff', 2781, '72951', '479', '35.293135', '-93.884164', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55410, 'De Valls Bluff', 2781, '72041', '870', '34.706934', '-91.536009', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55411, 'Devalls Bluff', 2781, '72041', '870', '34.706934', '-91.536009', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55412, 'Tollville', 2781, '72041', '870', '34.706934', '-91.536009', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55413, 'Kenseh', 2781, '72082', '501', '35.233024', '-91.66953', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55414, 'Kensen', 2781, '72082', '501', '35.233024', '-91.66953', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55415, 'Kensett', 2781, '72082', '501', '35.233024', '-91.66953', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55416, 'Brush Creek', 2781, '72084', '870', '34.228046', '-92.617244', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55417, 'Leola', 2781, '72084', '870', '34.228046', '-92.617244', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55418, 'Lono', 2781, '72084', '870', '34.228046', '-92.617244', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55419, 'Willow', 2781, '72084', '870', '34.228046', '-92.617244', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55420, 'N L R', 2781, '72116', '501', '34.805287', '-92.244662', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55421, 'N Little Rock', 2781, '72116', '501', '34.805287', '-92.244662', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55422, 'N Lr', 2781, '72116', '501', '34.805287', '-92.244662', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55423, 'Nlr', 2781, '72116', '501', '34.805287', '-92.244662', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55424, 'No Little Rock', 2781, '72116', '501', '34.805287', '-92.244662', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55425, 'North Little Rock', 2781, '72116', '501', '34.805287', '-92.244662', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55426, 'Kearney', 2781, '72132', '501', '34.43641', '-92.165119', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55427, 'Orion', 2781, '72132', '501', '34.43641', '-92.165119', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55428, 'Redfield', 2781, '72132', '501', '34.43641', '-92.165119', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55429, 'Aberdeen', 2781, '72134', '870', '34.614656', '-91.367432', '2018-11-29 05:05:14', '2018-11-29 05:05:14'),\n(55430, 'Lookout Store', 2781, '72134', '870', '34.614656', '-91.367432', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55431, 'Preston Ferry', 2781, '72134', '870', '34.614656', '-91.367432', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55432, 'Roe', 2781, '72134', '870', '34.614656', '-91.367432', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55433, 'Bird Town', 2781, '72157', '501', '35.267942', '-92.563642', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55434, 'Mallet Town', 2781, '72157', '501', '35.267942', '-92.563642', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55435, 'Springfield', 2781, '72157', '501', '35.267942', '-92.563642', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55436, 'Nady', 2781, '72166', '870', '34.05717', '-91.237762', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55437, 'Tichnor', 2781, '72166', '870', '34.05717', '-91.237762', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55438, 'Holland', 2781, '72173', '501', '35.103482', '-92.21735', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55439, 'Naylor', 2781, '72173', '501', '35.103482', '-92.21735', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55440, 'Otto', 2781, '72173', '501', '35.103482', '-92.21735', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55441, 'Vilonia', 2781, '72173', '501', '35.103482', '-92.21735', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55442, 'Plum Bayou', 2781, '72182', '501', '34.4504', '-92.034', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55443, 'Wright', 2781, '72182', '501', '34.4504', '-92.034', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55444, 'Little Rock', 2781, '72202', '501', '34.752862', '-92.27476', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55445, 'Cammack Village', 2781, '72207', '501', '34.776216', '-92.341736', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55446, 'Cammack Vlg', 2781, '72207', '501', '34.776216', '-92.341736', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55447, 'Little Rock', 2781, '72207', '501', '34.776216', '-92.341736', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55448, 'Little Rock', 2781, '72216', '501', '34.7465', '-92.2894', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55449, 'Little Rock', 2781, '72223', '501', '34.796793', '-92.515202', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55450, 'Edmondson', 2781, '72332', '870', '35.104206', '-90.313288', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55451, 'La Grange', 2781, '72352', '870', '34.6575', '-90.7336', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55452, 'Rivervale', 2781, '72377', '870', '35.67527', '-90.3523', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55453, 'Turrell', 2781, '72384', '870', '35.364476', '-90.240122', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55454, 'Jonesboro', 2781, '72402', '870', '35.8425', '-90.7044', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55455, 'Bono', 2781, '72416', '870', '35.956523', '-90.791472', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55456, 'Delaplaine', 2781, '72425', '870', '36.208438', '-90.690548', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55457, 'Harrisburg', 2781, '72432', '870', '35.575604', '-90.714299', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55458, 'Imboden', 2781, '72434', '870', '36.225171', '-91.164449', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55459, 'Mc Dougal', 2781, '72441', '870', '36.309235', '-90.460478', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55460, 'Paragould', 2781, '72450', '870', '36.103582', '-90.483231', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55461, 'Williford', 2781, '72482', '870', '36.259738', '-91.376092', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55462, 'Desha', 2781, '72527', '870', '35.72968', '-91.690389', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55463, 'Floral', 2781, '72534', '501', '35.593852', '-91.737084', '2018-11-29 05:05:15', '2018-11-29 05:05:15'),\n(55464, 'Franklin', 2781, '72536', '870', '36.12183', '-91.804461', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55465, 'Horseshoe Bend', 2781, '72536', '870', '36.12183', '-91.804461', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55466, 'Pleasant Plains', 2781, '72568', '501', '35.594651', '-91.615966', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55467, 'Pleasant Plns', 2781, '72568', '501', '35.594651', '-91.615966', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55468, 'Flippin', 2781, '72634', '870', '36.206514', '-92.525838', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55469, 'Rea Valley', 2781, '72634', '870', '36.206514', '-92.525838', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55470, 'Jasper', 2781, '72641', '870', '35.999112', '-93.212753', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55471, 'Low Gap', 2781, '72641', '870', '35.999112', '-93.212753', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55472, 'Mossville', 2781, '72641', '870', '35.999112', '-93.212753', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55473, 'Mount Sherman', 2781, '72641', '870', '35.999112', '-93.212753', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55474, 'Piercetown', 2781, '72641', '870', '35.999112', '-93.212753', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55475, 'Oakland', 2781, '72661', '870', '36.448287', '-92.59637', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55476, 'Price Place', 2781, '72661', '870', '36.448287', '-92.59637', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55477, 'Parthenon', 2781, '72666', '870', '35.935033', '-93.284115', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55478, 'Summit', 2781, '72677', '870', '36.263513', '-92.674734', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55479, 'Avoca', 2781, '72711', '479', '36.404698', '-94.071334', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55480, 'Elkins', 2781, '72727', '479', '36.007824', '-93.993217', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55481, 'Sulphur Spgs', 2781, '72768', '479', '36.467078', '-94.486261', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55482, 'Sulphur Springs', 2781, '72768', '479', '36.467078', '-94.486261', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55483, 'Russellville', 2781, '72802', '501', '35.29027', '-93.058316', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55484, 'Hector', 2781, '72843', '501', '35.535302', '-92.94058', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55485, 'Chester', 2781, '72934', '479', '35.684534', '-94.261568', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55486, 'Greenwood', 2781, '72936', '479', '35.198376', '-94.194922', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55487, 'Midland', 2781, '72945', '479', '35.086284', '-94.343431', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55488, 'Cabot', 2781, '72023', '501', '34.941882', '-92.068454', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55489, 'Diaz', 2781, '72043', '870', '35.63357', '-91.259202', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55490, 'Gregory', 2781, '72059', '870', '35.1555', '-91.3433', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55491, 'Humphrey', 2781, '72073', '870', '34.393642', '-91.644302', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55492, 'Jacksonport', 2781, '72075', '870', '35.627576', '-91.300434', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55493, 'Blue Hill', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55494, 'Crystal Hill', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55495, 'Jeffery', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55496, 'N L R', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55497, 'N Little Rock', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55498, 'N Lr', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:16', '2018-11-29 05:05:16'),\n(55499, 'Nlr', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55500, 'No Little Rock', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55501, 'North Little Rock', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55502, 'West Marche', 2781, '72118', '501', '34.84336', '-92.324612', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55503, 'Patterson', 2781, '72123', '870', '35.251455', '-91.245083', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55504, 'Perry', 2781, '72125', '501', '35.043708', '-92.801284', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55505, 'Cane Creek', 2781, '72150', '870', '34.299728', '-92.368229', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55506, 'Center Grove', 2781, '72150', '870', '34.299728', '-92.368229', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55507, 'Prague', 2781, '72150', '870', '34.299728', '-92.368229', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55508, 'Sheridan', 2781, '72150', '870', '34.299728', '-92.368229', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55509, 'South Sheridan', 2781, '72150', '870', '34.299728', '-92.368229', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55510, 'Wabbaseka', 2781, '72175', '870', '34.395998', '-91.76901', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55511, 'Little Rock', 2781, '72225', '501', '34.7465', '-92.2894', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55512, 'Little Rock', 2781, '72227', '501', '34.778395', '-92.374339', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55513, 'Clarkedale', 2781, '72325', '870', '35.221', '-90.3242', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55514, 'Crawfordsville', 2781, '72327', '870', '35.233073', '-90.322804', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55515, 'Crawfordsvlle', 2781, '72327', '870', '35.233073', '-90.322804', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55516, 'Jericho', 2781, '72327', '870', '35.233073', '-90.322804', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55517, 'Moro', 2781, '72368', '870', '34.808603', '-91.004792', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55518, 'West Ridge', 2781, '72391', '870', '35.6841', '-90.2599', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55519, 'Egypt', 2781, '72427', '870', '35.86389', '-90.949822', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55520, 'Smithville', 2781, '72466', '870', '36.066266', '-91.286492', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55521, 'Waldenburg', 2781, '72475', '870', '35.56311', '-90.920702', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55522, 'Mount Pleasant', 2781, '72561', '870', '35.949719', '-91.790254', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55523, 'Mt Pleasant', 2781, '72561', '870', '35.949719', '-91.790254', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55524, 'Harrison', 2781, '72602', '870', '36.2299', '-93.1078', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55525, 'Peel', 2781, '72668', '870', '36.450317', '-92.774616', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55526, 'Saint Joe', 2781, '72675', '870', '35.982708', '-92.76076', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55527, 'St Joe', 2781, '72675', '870', '35.982708', '-92.76076', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55528, 'Witts Springs', 2781, '72686', '870', '35.807883', '-92.829202', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55529, 'Cave Springs', 2781, '72718', '479', '36.27084', '-94.218674', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55530, 'Gentry', 2781, '72734', '479', '36.271853', '-94.444042', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55531, 'Springtown', 2781, '72734', '479', '36.271853', '-94.444042', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55532, 'Lowell', 2781, '72745', '479', '36.24712', '-94.111849', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55533, 'Pettigrew', 2781, '72752', '870', '35.859118', '-93.600116', '2018-11-29 05:05:17', '2018-11-29 05:05:17'),\n(55534, 'Siloam Spgs', 2781, '72761', '479', '36.16866', '-94.455412', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55535, 'Siloam Springs', 2781, '72761', '479', '36.16866', '-94.455412', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55536, 'Tontitown', 2781, '72770', '479', '36.1772', '-94.2343', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55537, 'Russellville', 2781, '72811', '501', '35.2784', '-93.1336', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55538, 'Alix', 2781, '72820', '479', '35.393058', '-93.721726', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55539, 'Oark', 2781, '72852', '870', '35.714972', '-93.552335', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55540, 'Fort Smith', 2781, '72902', '479', '35.3856', '-94.3984', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55541, 'Fort Smith', 2781, '72918', '479', '35.3666', '-94.4134', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55542, 'Gibbs', 2781, '71969', '870', '34.662121', '-93.636642', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55543, 'Sims', 2781, '71969', '870', '34.662121', '-93.636642', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55544, 'Altheimer', 2781, '72004', '870', '34.27033', '-91.74741', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55545, 'Brinkley', 2781, '72021', '870', '34.854151', '-91.217987', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55546, 'Crocketts Blf', 2781, '72038', '870', '34.452458', '-91.262807', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55547, 'Crocketts Bluff', 2781, '72038', '870', '34.452458', '-91.262807', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55548, 'Garner', 2781, '72052', '501', '35.124882', '-91.785315', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55549, 'College Sta', 2781, '72053', '501', '34.708242', '-92.229548', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55550, 'College Station', 2781, '72053', '501', '34.708242', '-92.229548', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55551, 'Genevia', 2781, '72053', '501', '34.708242', '-92.229548', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55552, 'Fairfield Bay', 2781, '72088', '501', '35.591469', '-92.271702', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55553, 'Shirley', 2781, '72088', '501', '35.591469', '-92.271702', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55554, 'Mc Rae', 2781, '72102', '501', '35.138102', '-91.826499', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55555, 'Mcrae', 2781, '72102', '501', '35.138102', '-91.826499', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55556, 'N Little Rock', 2781, '72119', '501', '34.7563', '-92.2656', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55557, 'Nlr', 2781, '72119', '501', '34.7563', '-92.2656', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55558, 'No Little Rock', 2781, '72119', '501', '34.7563', '-92.2656', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55559, 'North Little Rock', 2781, '72119', '501', '34.7563', '-92.2656', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55560, 'Nlr', 2781, '72199', '501', '34.887273', '-92.318996', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55561, 'No Little Rock', 2781, '72199', '501', '34.887273', '-92.318996', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55562, 'North Little Rock', 2781, '72199', '501', '34.887273', '-92.318996', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55563, 'Little Rock', 2781, '72215', '501', '34.7465', '-92.2894', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55564, 'West Memphis', 2781, '72301', '870', '35.114982', '-90.155922', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55565, 'Colt', 2781, '72326', '870', '35.106798', '-90.884336', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55566, 'Forrest City', 2781, '72335', '870', '35.02094', '-90.74932', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55567, 'Keiser', 2781, '72351', '870', '35.698122', '-90.0983', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55568, 'Marianna', 2781, '72360', '870', '34.76718', '-90.72108', '2018-11-29 05:05:18', '2018-11-29 05:05:18'),\n(55569, 'Mellwood', 2781, '72367', '870', '34.191335', '-91.04746', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55570, 'Proctor', 2781, '72376', '870', '35.083685', '-90.301527', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55571, 'Round Pond', 2781, '72394', '870', '35.042932', '-90.611472', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55572, 'Widener', 2781, '72394', '870', '35.042932', '-90.611472', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55573, 'Jonesboro', 2781, '72401', '870', '35.888104', '-90.638038', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55574, 'Alicia', 2781, '72410', '870', '35.960834', '-91.078814', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55575, 'Caraway', 2781, '72419', '870', '35.758003', '-90.310228', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55576, 'Datto', 2781, '72424', '870', '36.39357', '-90.728625', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55577, 'Dell', 2781, '72426', '870', '35.836263', '-90.083678', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55578, 'Knobel', 2781, '72435', '870', '36.332156', '-90.588087', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55579, 'Peach Orchard', 2781, '72435', '870', '36.332156', '-90.588087', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55580, 'Henderson', 2781, '72544', '870', '36.406252', '-92.197708', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55581, 'Bull Shoals', 2781, '72619', '870', '36.371796', '-92.62125', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55582, 'Deer', 2781, '72628', '870', '35.877138', '-93.339291', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55583, 'Limestone', 2781, '72628', '870', '35.877138', '-93.339291', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55584, 'Nail', 2781, '72628', '870', '35.877138', '-93.339291', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55585, 'Wayton', 2781, '72628', '870', '35.877138', '-93.339291', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55586, 'Everton', 2781, '72633', '870', '36.154374', '-92.961873', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55587, 'Lakeview', 2781, '72642', '870', '36.374098', '-92.544858', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55588, 'Diamond City', 2781, '72644', '870', '36.415068', '-92.988501', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55589, 'Lead Hill', 2781, '72644', '870', '36.415068', '-92.988501', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55590, 'Norfork', 2781, '72658', '870', '36.169296', '-92.299089', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55591, 'Old Joe', 2781, '72658', '870', '36.169296', '-92.299089', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55592, 'Pindall', 2781, '72669', '870', '36.071032', '-92.891106', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55593, 'Elm Springs', 2781, '72728', '479', '36.2088', '-94.2327', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55594, 'Lincoln', 2781, '72744', '479', '35.970768', '-94.435028', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55595, 'Summers', 2781, '72769', '479', '36.019064', '-94.497942', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55596, 'Russellville', 2781, '72801', '501', '35.281115', '-93.138914', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55597, 'Briggsville', 2781, '72828', '479', '34.923584', '-93.565188', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55598, 'Dover', 2781, '72837', '479', '35.507297', '-93.134699', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55599, 'Havana', 2781, '72842', '479', '35.108488', '-93.601423', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55600, 'Waveland', 2781, '72842', '479', '35.108488', '-93.601423', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55601, 'Ola', 2781, '72853', '501', '35.048258', '-93.177892', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55602, 'Rover', 2781, '72860', '501', '34.944219', '-93.403575', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55603, 'Boles', 2781, '72926', '479', '34.751727', '-93.992288', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55604, 'Remmel', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:05:19', '2018-11-29 05:05:19'),\n(55605, 'Weldon', 2781, '72112', '870', '35.562066', '-91.206526', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55606, 'N L R', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55607, 'N Little Rock', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55608, 'Nlr', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55609, 'No Little Rock', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55610, 'North Little Rock', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55611, 'Veterans Admin Fac', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55612, 'Veterans Admin. Fac.', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55613, 'Veterans Administration Faci', 2781, '72114', '501', '34.765784', '-92.260846', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55614, 'Buie', 2781, '72129', '870', '34.335536', '-92.53187', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55615, 'Prattsville', 2781, '72129', '870', '34.335536', '-92.53187', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55616, 'West Point', 2781, '72178', '501', '35.2066', '-91.6143', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55617, 'Wooster', 2781, '72181', '501', '35.164488', '-92.452968', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55618, 'Little Rock', 2781, '72212', '501', '34.789566', '-92.411927', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55619, 'Little Rock', 2781, '72231', '501', '34.7476', '-92.2814', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55620, 'N Little Rock', 2781, '72231', '501', '34.7476', '-92.2814', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55621, 'Nlr', 2781, '72231', '501', '34.7476', '-92.2814', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55622, 'Cole Spur', 2781, '71643', '870', '34.033236', '-91.530598', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55623, 'Gould', 2781, '71643', '870', '34.033236', '-91.530598', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55624, 'Meroney', 2781, '71643', '870', '34.033236', '-91.530598', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55625, 'Camden', 2781, '71711', '870', '33.5694', '-92.8386', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55626, 'Chidester', 2781, '71726', '870', '33.697843', '-92.970762', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55627, 'Reader', 2781, '71726', '870', '33.697843', '-92.970762', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55628, 'Curtis', 2781, '71728', '870', '33.9976', '-93.1058', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55629, 'Gurdon', 2781, '71743', '870', '33.905203', '-93.092126', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55630, 'Hampton', 2781, '71744', '870', '33.494059', '-92.548423', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55631, 'Buckner', 2781, '71827', '870', '33.352764', '-93.427506', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55632, 'Washington', 2781, '71862', '870', '33.743939', '-93.722327', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55633, 'Hot Springs', 2781, '71913', '501', '34.477713', '-93.060354', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55634, 'Hot Springs National', 2781, '71913', '501', '34.477713', '-93.060354', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55635, 'Hot Springs National Park', 2781, '71913', '501', '34.477713', '-93.060354', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55636, 'Lake Hamilton', 2781, '71913', '501', '34.477713', '-93.060354', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55637, 'Bismarck', 2781, '71929', '501', '34.313903', '-93.196745', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55638, 'Lambert', 2781, '71929', '501', '34.313903', '-93.196745', '2018-11-29 05:05:20', '2018-11-29 05:05:20'),\n(55639, 'Broadway Manchester', 2783, '90003', '323', '33.964032', '-118.273705', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55640, 'Los Angeles', 2783, '90003', '323', '33.964032', '-118.273705', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55641, 'Los Angeles', 2783, '90020', '213', '34.066086', '-118.311404', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55642, 'Sanford', 2783, '90020', '213', '34.066086', '-118.311404', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55643, 'Farmer Market', 2783, '90036', '323', '34.070436', '-118.350486', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55644, 'Los Angeles', 2783, '90036', '323', '34.070436', '-118.350486', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55645, 'Miracle Mile', 2783, '90036', '323', '34.070436', '-118.350486', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55646, 'Wilshire La Brea', 2783, '90036', '323', '34.070436', '-118.350486', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55647, 'Green', 2783, '90037', '323', '34.00329', '-118.28894', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55648, 'Los Angeles', 2783, '90037', '323', '34.00329', '-118.28894', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55649, 'Hollywood', 2783, '90038', '323', '34.089167', '-118.32715', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55650, 'Los Angeles', 2783, '90038', '323', '34.089167', '-118.32715', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55651, 'W Hollywood', 2783, '90038', '323', '34.089167', '-118.32715', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55652, 'West Hollywood', 2783, '90038', '323', '34.089167', '-118.32715', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55653, 'Wilcox', 2783, '90038', '323', '34.089167', '-118.32715', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55654, 'August F Haw', 2783, '90051', '213', '34.0522', '-118.2429', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55655, 'Los Angeles', 2783, '90051', '213', '34.0522', '-118.2429', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55656, 'Los Angeles', 2783, '90053', '213', '34.0522', '-118.2429', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55657, 'Los Angeles', 2783, '90055', '213', '34.0522', '-118.2429', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55658, 'Hollywood', 2783, '90068', '323', '34.129853', '-118.335456', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55659, 'Los Angeles', 2783, '90068', '323', '34.129853', '-118.335456', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55660, 'Los Angeles', 2783, '90070', '213', '34.0578', '-118.2725', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55661, 'Bell', 2783, '90202', '323', '33.9656', '-118.1519', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55662, 'Bell Gardens', 2783, '90202', '323', '33.9656', '-118.1519', '2018-11-29 05:05:21', '2018-11-29 05:05:21');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(55663, 'Compton', 2783, '90220', '310', '33.875014', '-118.240778', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55664, 'Crystal City', 2783, '90220', '310', '33.875014', '-118.240778', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55665, 'Rancho Dominguez', 2783, '90220', '310', '33.875014', '-118.240778', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55666, 'Rncho Domingz', 2783, '90220', '310', '33.875014', '-118.240778', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55667, 'Inglewood', 2783, '90303', '310', '33.934602', '-118.330831', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55668, 'Santa Monica', 2783, '90405', '310', '34.011335', '-118.468458', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55669, 'Santa Monica', 2783, '90406', '310', '34.0195', '-118.4906', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55670, 'Torrance', 2783, '90503', '310', '33.840222', '-118.353171', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55671, 'Torrance', 2783, '90505', '310', '33.804047', '-118.351901', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55672, 'Whittier', 2783, '90604', '562', '33.932711', '-118.009049', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55673, 'Los Nietos', 2783, '90606', '562', '33.981524', '-118.064385', '2018-11-29 05:05:21', '2018-11-29 05:05:21'),\n(55674, 'Whittier', 2783, '90606', '562', '33.981524', '-118.064385', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55675, 'Buena Park', 2783, '90621', '714', '33.875896', '-117.993701', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55676, 'Buena Park', 2783, '90622', '714', '33.8677', '-117.9974', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55677, 'La Mirada', 2783, '90637', '562', '33.9172', '-118.0114', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55678, 'Santa Fe Spgs', 2783, '90671', '562', '33.9472', '-118.0846', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55679, 'Santa Fe Springs', 2783, '90671', '562', '33.9472', '-118.0846', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55680, 'Artesia', 2783, '90703', '562', '33.866957', '-118.068644', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55681, 'Cerritos', 2783, '90703', '562', '33.866957', '-118.068644', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55682, 'Bellflower', 2783, '90706', '562', '33.88804', '-118.129019', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55683, 'Cypress', 2783, '90720', '562', '33.797166', '-118.062836', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55684, 'Los Alamitos', 2783, '90720', '562', '33.797166', '-118.062836', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55685, 'Rossmoor', 2783, '90720', '562', '33.797166', '-118.062836', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55686, 'Seal Beach', 2783, '90740', '562', '33.756867', '-118.078642', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55687, 'Long Beach', 2783, '90822', '562', '33.737514', '-118.255812', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55688, 'Long Beach Shared Firm', 2783, '90822', '562', '33.737514', '-118.255812', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55689, 'C S U Long Beach', 2783, '90840', '562', '33.781929', '-118.11567', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55690, 'Ca State Univ Long Beach', 2783, '90840', '562', '33.781929', '-118.11567', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55691, 'Long Beach', 2783, '90840', '562', '33.781929', '-118.11567', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55692, 'Arcadia', 2783, '91006', '626', '34.134384', '-118.032442', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55693, 'Arcadia', 2783, '91007', '626', '34.125076', '-118.049534', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55694, 'Mount Wilson', 2783, '91023', '818', '34.2267', '-118.0655', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55695, 'Sunland', 2783, '91041', '818', '34.2666', '-118.3016', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55696, 'Pasadena', 2783, '91104', '626', '34.169747', '-118.122206', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55697, 'Pasadena', 2783, '91108', '626', '34.121189', '-118.115064', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55698, 'San Marino', 2783, '91108', '626', '34.121189', '-118.115064', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55699, 'Ambassador College', 2783, '91123', '626', '34.142701', '-118.158077', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55700, 'Pasadena', 2783, '91123', '626', '34.142701', '-118.158077', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55701, 'Pasadena', 2783, '91124', '626', '34.1478', '-118.1436', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55702, 'Ralph M Parsons Co', 2783, '91124', '626', '34.1478', '-118.1436', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55703, 'Kaiser Foundation Health', 2783, '91188', '626', '34.1478', '-118.1436', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55704, 'Pasadena', 2783, '91188', '626', '34.1478', '-118.1436', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55705, 'Glendale', 2783, '91208', '818', '34.193274', '-118.249545', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55706, 'Bell Canyon', 2783, '91307', '818', '34.209405', '-118.679858', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55707, 'Canoga Park', 2783, '91307', '818', '34.209405', '-118.679858', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55708, 'West Hills', 2783, '91307', '818', '34.209405', '-118.679858', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55709, 'Newhall', 2783, '91322', '661', '34.3849', '-118.53', '2018-11-29 05:05:22', '2018-11-29 05:05:22'),\n(55710, 'Santa Clarita', 2783, '91322', '661', '34.3849', '-118.53', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55711, 'San Fernando', 2783, '91341', '818', '34.2818', '-118.4383', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55712, 'Tarzana', 2783, '91356', '818', '34.155006', '-118.546246', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55713, 'Tarzana', 2783, '91357', '818', '34.1734', '-118.5531', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55714, 'Valley Glen', 2783, '91405', '818', '34.202678', '-118.444487', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55715, 'Van Nuys', 2783, '91405', '818', '34.202678', '-118.444487', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55716, 'Lake Balboa', 2783, '91406', '818', '34.196092', '-118.492367', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55717, 'Van Nuys', 2783, '91406', '818', '34.196092', '-118.492367', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55718, 'Van Nuys', 2783, '91408', '818', '34.1869', '-118.4484', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55719, 'Burbank', 2783, '91506', '818', '34.171524', '-118.321512', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55720, 'N Hollywood', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55721, 'North Hollywood', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55722, 'Sherman Village', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55723, 'Sherman Vlg', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55724, 'Studio City', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55725, 'Valley Village', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55726, 'Valley Vlg', 2783, '91607', '818', '34.164895', '-118.4009', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55727, 'N Hollywood', 2783, '91609', '818', '34.1722', '-118.3782', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55728, 'North Hollywood', 2783, '91609', '818', '34.1722', '-118.3782', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55729, 'Covina', 2783, '91723', '626', '34.084665', '-117.887962', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55730, 'Mont Park', 2783, '91756', '626', '34.0625', '-118.1216', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55731, 'Mont Pk', 2783, '91756', '626', '34.0625', '-118.1216', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55732, 'Monterey Park', 2783, '91756', '626', '34.0625', '-118.1216', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55733, 'Monterey Pk', 2783, '91756', '626', '34.0625', '-118.1216', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55734, 'Southern California Gas Co', 2783, '91756', '626', '34.0625', '-118.1216', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55735, 'Ontario', 2783, '91758', '909', '34.0635', '-117.6503', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55736, 'San Gabriel', 2783, '91776', '626', '34.087362', '-118.093492', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55737, 'West Covina', 2783, '91790', '626', '34.070095', '-117.941934', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55738, 'West Covina', 2783, '91792', '626', '34.024611', '-117.897285', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55739, 'West Covina', 2783, '91793', '626', '34.0689', '-117.9383', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55740, 'La Mesa', 2783, '91941', '619', '32.760147', '-116.999274', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55741, 'La Mesa', 2783, '91942', '619', '32.782989', '-117.019177', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55742, 'Cardiff', 2783, '92007', '760', '33.017881', '-117.268154', '2018-11-29 05:05:23', '2018-11-29 05:05:23'),\n(55743, 'Cardiff By The Sea', 2783, '92007', '760', '33.017881', '-117.268154', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55744, 'Los Angeles', 2783, '90014', '213', '34.043027', '-118.252267', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55745, 'Los Angeles', 2783, '90016', '323', '34.029034', '-118.357757', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55746, 'West Adams', 2783, '90016', '323', '34.029034', '-118.357757', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55747, 'Los Angeles', 2783, '90034', '310', '34.029334', '-118.399406', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55748, 'Palms', 2783, '90034', '310', '34.029334', '-118.399406', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55749, 'Griffith', 2783, '90039', '323', '34.12059', '-118.255117', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55750, 'Los Angeles', 2783, '90039', '323', '34.12059', '-118.255117', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55751, 'Bicentennial', 2783, '90048', '323', '34.070997', '-118.376175', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55752, 'Briggs', 2783, '90048', '323', '34.070997', '-118.376175', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55753, 'Los Angeles', 2783, '90048', '323', '34.070997', '-118.376175', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55754, 'W Hollywood', 2783, '90048', '323', '34.070997', '-118.376175', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55755, 'West Hollywood', 2783, '90048', '323', '34.070997', '-118.376175', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55756, 'Flint', 2783, '90057', '213', '34.062349', '-118.27615', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55757, 'Los Angeles', 2783, '90057', '213', '34.062349', '-118.27615', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55758, 'August F Haw', 2783, '90059', '323', '33.92071', '-118.245186', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55759, 'Greenmead', 2783, '90059', '323', '33.92071', '-118.245186', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55760, 'Los Angeles', 2783, '90059', '323', '33.92071', '-118.245186', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55761, 'Los Angeles', 2783, '90075', '323', '34.0522', '-118.2429', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55762, 'Commerce', 2783, '90091', '323', '34.0002', '-118.1535', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55763, 'Cty Of Cmmrce', 2783, '90091', '323', '34.0002', '-118.1535', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55764, 'Los Angeles', 2783, '90091', '323', '34.0002', '-118.1535', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55765, 'Beverly Hills', 2783, '90209', '310', '34.0738', '-118.3994', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55766, 'Downey', 2783, '90239', '562', '33.94', '-118.1319', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55767, 'Gardena', 2783, '90248', '310', '33.88136', '-118.285595', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55768, 'Hawthorne', 2783, '90250', '310', '33.912776', '-118.345632', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55769, 'Holly Park', 2783, '90250', '310', '33.912776', '-118.345632', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55770, 'Hollyglen', 2783, '90250', '310', '33.912776', '-118.345632', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55771, 'Playa Del Rey', 2783, '90291', '310', '33.994162', '-118.46371', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55772, 'Venice', 2783, '90291', '310', '33.994162', '-118.46371', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55773, 'Playa Del Rey', 2783, '90293', '310', '33.945553', '-118.441219', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55774, 'Venice', 2783, '90293', '310', '33.945553', '-118.441219', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55775, 'Inglewood', 2783, '90309', '310', '33.9617', '-118.3523', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55776, 'Santa Monica', 2783, '90409', '310', '34.0195', '-118.4906', '2018-11-29 05:05:24', '2018-11-29 05:05:24'),\n(55777, 'Lake View Terrace', 2783, '91342', '818', '34.350182', '-118.302561', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55778, 'Sylmar', 2783, '91342', '818', '34.350182', '-118.302561', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55779, 'Mission Hills', 2783, '91346', '818', '34.2575', '-118.4663', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55780, 'San Fernando', 2783, '91346', '818', '34.2575', '-118.4663', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55781, 'Studio City', 2783, '91604', '818', '34.139095', '-118.391455', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55782, 'N Hollywood', 2783, '91611', '818', '34.1722', '-118.3782', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55783, 'North Hollywood', 2783, '91611', '818', '34.1722', '-118.3782', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55784, 'Us Purchasing Exchange', 2783, '91611', '818', '34.1722', '-118.3782', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55785, 'N Hollywood', 2783, '91618', '818', '34.1722', '-118.3782', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55786, 'North Hollywood', 2783, '91618', '818', '34.1722', '-118.3782', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55787, 'Universal Cty', 2783, '91618', '818', '34.1722', '-118.3782', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55788, 'Cucamonga', 2783, '91729', '909', '34.1065', '-117.5922', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55789, 'Rancho Cucamonga', 2783, '91729', '909', '34.1065', '-117.5922', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55790, 'Rch Cucamonga', 2783, '91729', '909', '34.1065', '-117.5922', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55791, 'La Puente', 2783, '91747', '626', '34.0203', '-117.9487', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55792, 'Eastvale', 2783, '91752', '951', '33.989521', '-117.531614', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55793, 'Jurupa Valley', 2783, '91752', '951', '33.989521', '-117.531614', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55794, 'Mira Loma', 2783, '91752', '951', '33.989521', '-117.531614', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55795, 'Riverside', 2783, '91752', '951', '33.989521', '-117.531614', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55796, 'Rosemead', 2783, '91772', '626', '34.0806', '-118.0716', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55797, 'So Cal Edison Co', 2783, '91772', '626', '34.0806', '-118.0716', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55798, 'Alhambra', 2783, '91802', '626', '34.0954', '-118.1263', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55799, 'Lemon Grove', 2783, '91945', '619', '32.734281', '-117.036357', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55800, 'Spring Valley', 2783, '91979', '619', '32.7449', '-116.9981', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55801, 'El Cajon', 2783, '92020', '619', '32.793814', '-116.969497', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55802, 'Camp Pendleton', 2783, '92054', '760', '33.194151', '-117.363406', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55803, 'Cmp Pendleton', 2783, '92054', '760', '33.194151', '-117.363406', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55804, 'Oceanside', 2783, '92054', '760', '33.194151', '-117.363406', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55805, 'Oceanside', 2783, '92056', '760', '33.20057', '-117.291247', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55806, 'Santa Ysabel', 2783, '92070', '760', '33.176822', '-116.74534', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55807, 'Vista', 2783, '92081', '760', '33.16305', '-117.247481', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55808, 'Warner Spgs', 2783, '92086', '760', '33.262712', '-116.648582', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55809, 'Warner Springs', 2783, '92086', '760', '33.262712', '-116.648582', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55810, 'San Diego', 2783, '92104', '619', '32.7398', '-117.128405', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55811, 'San Diego', 2783, '92113', '619', '32.695669', '-117.121095', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55812, 'San Diego', 2783, '92129', '858', '32.965807', '-117.126202', '2018-11-29 05:05:25', '2018-11-29 05:05:25'),\n(55813, 'San Diego', 2783, '92161', '858', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55814, 'Va Hospital', 2783, '92161', '858', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55815, 'San Diego', 2783, '92165', '619', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55816, 'San Diego', 2783, '92172', '619', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55817, 'San Diego', 2783, '92186', '619', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55818, 'Banning', 2783, '92220', '951', '33.917807', '-116.837101', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55819, 'Cedar Pines Pk', 2783, '92322', '909', '34.234944', '-117.323835', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55820, 'Cedarpines Park', 2783, '92322', '909', '34.234944', '-117.323835', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55821, 'Cedarpines Pk', 2783, '92322', '909', '34.234944', '-117.323835', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55822, 'Fontana', 2783, '92331', '909', '34.06', '-117.44', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55823, 'Hesperia', 2783, '92340', '760', '34.4264', '-117.3001', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55824, 'Hesperia', 2783, '92345', '760', '34.391835', '-117.3256', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55825, 'Carson', 2783, '90745', '310', '33.826185', '-118.258874', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55826, 'Long Beach', 2783, '90745', '310', '33.826185', '-118.258874', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55827, 'Ramona', 2783, '92065', '760', '33.040779', '-116.843433', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55828, 'Rancho Santa Fe', 2783, '92067', '858', '33.024759', '-117.196042', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55829, 'Rcho Santa Fe', 2783, '92067', '858', '33.024759', '-117.196042', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55830, 'San Diego', 2783, '92116', '619', '32.766424', '-117.129194', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55831, 'Naval Supply Ctr', 2783, '92132', '619', '32.7145', '-117.1572', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55832, 'San Diego', 2783, '92132', '619', '32.7145', '-117.1572', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55833, 'Nas N Island', 2783, '92135', '619', '32.69876', '-117.207592', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55834, 'Nas North Island', 2783, '92135', '619', '32.69876', '-117.207592', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55835, 'San Diego', 2783, '92135', '619', '32.69876', '-117.207592', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55836, 'San Diego', 2783, '92150', '619', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55837, 'San Diego', 2783, '92152', '619', '32.701062', '-117.245454', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55838, 'Spawars System Center', 2783, '92152', '619', '32.701062', '-117.245454', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55839, 'San Diego', 2783, '92166', '619', '32.7154', '-117.1565', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55840, 'Chiriaco Smt', 2783, '92201', '760', '33.703402', '-116.229186', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55841, 'Chiriaco Summit', 2783, '92201', '760', '33.703402', '-116.229186', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55842, 'Indio', 2783, '92201', '760', '33.703402', '-116.229186', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55843, 'Calipatria', 2783, '92233', '760', '33.204947', '-115.554522', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55844, 'Coachella', 2783, '92236', '760', '33.694955', '-116.162472', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55845, 'Bonds Corner', 2783, '92250', '760', '32.789409', '-115.350185', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55846, 'Holtville', 2783, '92250', '760', '32.789409', '-115.350185', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55847, 'Imperial', 2783, '92251', '760', '32.885116', '-115.630534', '2018-11-29 05:05:26', '2018-11-29 05:05:26'),\n(55848, 'Joshua Tree', 2783, '92252', '760', '34.149264', '-116.282115', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55849, 'Pioneertown', 2783, '92268', '760', '34.212938', '-116.578917', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55850, 'Rimrock', 2783, '92268', '760', '34.212938', '-116.578917', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55851, 'Yucca Valley', 2783, '92284', '760', '34.156561', '-116.484946', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55852, 'Johnson Valley', 2783, '92285', '760', '34.458935', '-116.529265', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55853, 'Johnson Vly', 2783, '92285', '760', '34.458935', '-116.529265', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55854, 'Landers', 2783, '92285', '760', '34.458935', '-116.529265', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55855, 'Yucca Valley', 2783, '92285', '760', '34.458935', '-116.529265', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55856, 'Adelanto', 2783, '92301', '760', '34.665726', '-117.501324', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55857, 'El Mirage', 2783, '92301', '760', '34.665726', '-117.501324', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55858, 'Bryn Mawr', 2783, '92318', '909', '34.049454', '-117.23506', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55859, 'Fawnskin', 2783, '92333', '909', '34.275002', '-116.938055', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55860, 'Fontana', 2783, '92336', '909', '34.146127', '-117.45994', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55861, 'Mountain Pass', 2783, '92366', '760', '35.4719', '-115.5744', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55862, 'Big Bear City', 2783, '92386', '909', '34.243014', '-116.831303', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55863, 'Sugarloaf', 2783, '92386', '909', '34.243014', '-116.831303', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55864, 'San Bernardino', 2783, '92402', '909', '34.1216', '-117.3022', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55865, 'Sn Bernrdno', 2783, '92402', '909', '34.1216', '-117.3022', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55866, 'City Hall', 2783, '92418', '909', '34.1216', '-117.3022', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55867, 'San Bernardino', 2783, '92418', '909', '34.1216', '-117.3022', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55868, 'Sn Bernrdno', 2783, '92418', '909', '34.1216', '-117.3022', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55869, 'Riverside', 2783, '92501', '909', '33.994259', '-117.377758', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55870, 'Riverside', 2783, '92502', '909', '33.9533', '-117.3955', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55871, 'Canyon Lake', 2783, '92587', '909', '33.699462', '-117.253596', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55872, 'Menifee', 2783, '92587', '909', '33.699462', '-117.253596', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55873, 'Quail Valley', 2783, '92587', '909', '33.699462', '-117.253596', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55874, 'Irvine', 2783, '92617', '949', '33.643014', '-117.841949', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55875, 'Encinitas', 2783, '92024', '760', '33.054512', '-117.249765', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55876, 'Leucadia', 2783, '92024', '760', '33.054512', '-117.249765', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55877, 'Olivenhain', 2783, '92024', '760', '33.054512', '-117.249765', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55878, 'Pala', 2783, '92059', '760', '33.372121', '-116.979738', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55879, 'Palomar Mountain', 2783, '92060', '760', '33.306506', '-116.826753', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55880, 'Palomar Mtn', 2783, '92060', '760', '33.306506', '-116.826753', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55881, 'Poway', 2783, '92074', '760', '32.9629', '-117.0351', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55882, 'Ocean Beach', 2783, '92107', '619', '32.735009', '-117.24107', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55883, 'San Diego', 2783, '92107', '619', '32.735009', '-117.24107', '2018-11-29 05:05:27', '2018-11-29 05:05:27'),\n(55884, 'San Diego', 2783, '92110', '619', '32.768759', '-117.203686', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55885, 'San Diego', 2783, '92127', '858', '33.023167', '-117.12418', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55886, 'San Diego', 2783, '92143', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55887, 'San Ysidro', 2783, '92143', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55888, 'San Diego', 2783, '92160', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55889, 'San Diego', 2783, '92175', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55890, 'San Diego', 2783, '92176', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55891, 'San Diego', 2783, '92177', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55892, 'San Diego', 2783, '92193', '619', '32.7154', '-117.1565', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55893, 'Indian Wells', 2783, '92210', '760', '33.70017', '-116.336691', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55894, 'Palm Desert', 2783, '92210', '760', '33.70017', '-116.336691', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55895, 'Brawley', 2783, '92227', '760', '33.023142', '-115.462422', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55896, 'Desert Edge', 2783, '92241', '760', '33.857239', '-116.334926', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55897, 'Desert Hot Springs', 2783, '92241', '760', '33.857239', '-116.334926', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55898, 'Dsrt Hot Spgs', 2783, '92241', '760', '33.857239', '-116.334926', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55899, 'Sky Valley', 2783, '92241', '760', '33.857239', '-116.334926', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55900, 'Salton City', 2783, '92275', '760', '33.286822', '-115.951595', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55901, 'Thermal', 2783, '92275', '760', '33.286822', '-115.951595', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55902, '1000 Palms', 2783, '92276', '760', '33.826901', '-116.382132', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55903, 'Thousand Palms', 2783, '92276', '760', '33.826901', '-116.382132', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55904, 'Thousand Plms', 2783, '92276', '760', '33.826901', '-116.382132', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55905, '29 Palms', 2783, '92277', '760', '34.293029', '-115.796175', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55906, 'Twentynin Plm', 2783, '92277', '760', '34.293029', '-115.796175', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55907, 'Twentynine Palms', 2783, '92277', '760', '34.293029', '-115.796175', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55908, 'Barstow', 2783, '92310', '760', '35.332147', '-116.662336', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55909, 'Fort Irwin', 2783, '92310', '760', '35.332147', '-116.662336', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55910, 'Colton', 2783, '92324', '909', '34.026594', '-117.265254', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55911, 'Grand Terrace', 2783, '92324', '909', '34.026594', '-117.265254', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55912, 'Death Valley', 2783, '92328', '760', '36.427462', '-117.093322', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55913, 'Death Valley Jct', 2783, '92328', '760', '36.427462', '-117.093322', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55914, 'Death Valley Junction', 2783, '92328', '760', '36.427462', '-117.093322', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55915, 'Stove Pipe Wells', 2783, '92328', '760', '36.427462', '-117.093322', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55916, 'Green Valley Lake', 2783, '92341', '909', '34.243359', '-117.074652', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55917, 'Green Vly Lk', 2783, '92341', '909', '34.243359', '-117.074652', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55918, 'Redlands', 2783, '92374', '909', '34.06826', '-117.172503', '2018-11-29 05:05:28', '2018-11-29 05:05:28'),\n(55919, 'Redlands', 2783, '92375', '909', '34.0618', '-117.1819', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55920, 'Rialto', 2783, '92376', '909', '34.103086', '-117.387353', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55921, 'Rialto', 2783, '92377', '909', '34.160757', '-117.392737', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55922, 'Victorville', 2783, '92393', '760', '34.5362', '-117.2905', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55923, 'George AFB', 2783, '92394', '760', '34.570981', '-117.31612', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55924, 'Victorville', 2783, '92394', '760', '34.570981', '-117.31612', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55925, 'San Bernardino', 2783, '92408', '909', '34.078552', '-117.257876', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55926, 'Sn Bernrdno', 2783, '92408', '909', '34.078552', '-117.257876', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55927, 'San Bernardino', 2783, '92411', '909', '34.122887', '-117.327974', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55928, 'Sn Bernrdno', 2783, '92411', '909', '34.122887', '-117.327974', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55929, 'Wildomar', 2783, '92595', '909', '33.62168', '-117.259824', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55930, 'El Toro', 2783, '92609', '949', '33.5955', '-117.7077', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55931, 'Lake Forest', 2783, '92609', '949', '33.5955', '-117.7077', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55932, 'Irvine', 2783, '92612', '949', '33.661515', '-117.821661', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55933, 'Canyon Cntry', 2783, '91387', '661', '34.424742', '-118.410016', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55934, 'Canyon Country', 2783, '91387', '661', '34.424742', '-118.410016', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55935, 'Fair Oaks Ranch', 2783, '91387', '661', '34.424742', '-118.410016', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55936, 'Santa Clarita', 2783, '91387', '661', '34.424742', '-118.410016', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55937, 'Granada Hills', 2783, '91394', '818', '34.2647', '-118.5222', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55938, 'Sherman Oaks', 2783, '91401', '818', '34.179408', '-118.430728', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55939, 'Valley Glen', 2783, '91401', '818', '34.179408', '-118.430728', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55940, 'Van Nuys', 2783, '91401', '818', '34.179408', '-118.430728', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55941, 'Panorama City', 2783, '91412', '818', '34.2249', '-118.4489', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55942, 'Van Nuys', 2783, '91412', '818', '34.2249', '-118.4489', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55943, 'Burbank', 2783, '91510', '818', '34.1808', '-118.3083', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55944, 'Burbank', 2783, '91521', '818', '34.156888', '-118.325248', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55945, 'Disney Productions', 2783, '91521', '818', '34.156888', '-118.325248', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55946, 'N Hollywood', 2783, '91603', '818', '34.1722', '-118.3782', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55947, 'North Hollywood', 2783, '91603', '818', '34.1722', '-118.3782', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55948, 'Chino', 2783, '91710', '909', '34.006783', '-117.669626', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55949, 'Montclair', 2783, '91710', '909', '34.006783', '-117.669626', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55950, 'Ontario', 2783, '91710', '909', '34.006783', '-117.669626', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55951, 'Monterey Park', 2783, '91755', '626', '34.051592', '-118.111739', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55952, 'Alhambra', 2783, '91803', '626', '34.075573', '-118.143977', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55953, 'Boulevard', 2783, '91905', '619', '32.733591', '-116.301864', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55954, 'Chula Vista', 2783, '91914', '619', '32.657754', '-116.963414', '2018-11-29 05:05:29', '2018-11-29 05:05:29'),\n(55955, 'La Mesa', 2783, '91944', '619', '32.7679', '-117.0224', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55956, 'Lemon Grove', 2783, '91946', '619', '32.7427', '-117.0307', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55957, 'Bonsall', 2783, '92003', '760', '33.286851', '-117.205256', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55958, 'El Cajon', 2783, '92019', '619', '32.779694', '-116.877462', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55959, 'Encinitas', 2783, '92023', '760', '33.0368', '-117.2914', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55960, 'Escondido', 2783, '92030', '760', '33.1195', '-117.0856', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55961, 'Escondido', 2783, '92046', '760', '33.1195', '-117.0856', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55962, 'Santee', 2783, '92071', '619', '32.869887', '-117.013039', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55963, 'San Marcos', 2783, '92078', '760', '33.122626', '-117.179868', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55964, 'San Diego', 2783, '92112', '619', '32.7155', '-117.1565', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55965, 'San Diego', 2783, '92114', '619', '32.709568', '-117.051744', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55966, 'Rancho Bernardo', 2783, '92128', '858', '32.99416', '-117.075305', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55967, 'San Diego', 2783, '92128', '858', '32.99416', '-117.075305', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55968, 'San Diego', 2783, '92137', '619', '32.7154', '-117.1565', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55969, 'San Diego', 2783, '92139', '619', '32.679887', '-117.047059', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55970, 'Nestor', 2783, '92153', '619', '32.5758', '-117.0834', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55971, 'San Diego', 2783, '92153', '619', '32.5758', '-117.0834', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55972, 'Naval Amphibious Base', 2783, '92155', '619', '32.67532', '-117.161824', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55973, 'San Diego', 2783, '92155', '619', '32.67532', '-117.161824', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55974, 'San Diego', 2783, '92187', '619', '32.7154', '-117.1565', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55975, 'San Diego Water Utilities', 2783, '92187', '619', '32.7154', '-117.1565', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55976, 'Desert Center', 2783, '92239', '760', '33.753378', '-115.44675', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55977, 'Eagle Mountain', 2783, '92239', '760', '33.753378', '-115.44675', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55978, 'Eagle Mtn', 2783, '92239', '760', '33.753378', '-115.44675', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55979, 'Palm Springs', 2783, '92264', '760', '33.728904', '-116.529518', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55980, 'Cabazon', 2783, '92282', '760', '33.942395', '-116.657677', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55981, 'Whitewater', 2783, '92282', '760', '33.942395', '-116.657677', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55982, 'Cima', 2783, '92323', '760', '35.204432', '-115.428289', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55983, 'Loma Linda', 2783, '92357', '909', '34.0484', '-117.2603', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55984, 'Veterans\\' Hospital', 2783, '92357', '909', '34.0484', '-117.2603', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55985, 'Tecopa', 2783, '92389', '760', '35.923703', '-115.870235', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55986, 'Tecopa Hot Springs', 2783, '92389', '760', '35.923703', '-115.870235', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55987, 'San Bernardino', 2783, '92405', '909', '34.144301', '-117.30955', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55988, 'Sn Bernrdno', 2783, '92405', '909', '34.144301', '-117.30955', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55989, 'Arrowhead Farms', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:30', '2018-11-29 05:05:30'),\n(55990, 'Arrowhed Farm', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55991, 'Cajon Junction', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55992, 'Devore Heights', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55993, 'Devore Hghts', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55994, 'Muscoy', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55995, 'San Bernardino', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55996, 'Sn Bernrdno', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55997, 'Verdemont', 2783, '92407', '909', '34.244058', '-117.308554', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55998, 'San Bernardino', 2783, '92423', '909', '34.1216', '-117.3022', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(55999, 'Sn Bernrdno', 2783, '92423', '909', '34.1216', '-117.3022', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56000, 'La Sierra', 2783, '92505', '909', '33.935482', '-117.492285', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56001, 'Riverside', 2783, '92505', '909', '33.935482', '-117.492285', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56002, 'Riverside', 2783, '92514', '909', '33.9533', '-117.3955', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56003, 'Riverside', 2783, '92521', '909', '33.968496', '-117.333451', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56004, 'Univ Of Ca Riverside', 2783, '92521', '909', '33.968496', '-117.333451', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56005, 'Homeland', 2783, '92548', '951', '33.760223', '-117.103682', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56006, 'Moreno Valley', 2783, '92557', '951', '33.973926', '-117.258816', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56007, 'Murrieta', 2783, '92562', '714', '33.542828', '-117.26895', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56008, 'Murrieta Hot Springs', 2783, '92562', '714', '33.542828', '-117.26895', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56009, 'San Jacinto', 2783, '92582', '951', '33.811215', '-117.020098', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56010, 'Rancho California', 2783, '92591', '909', '33.527942', '-117.101918', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56011, 'Temecula', 2783, '92591', '909', '33.527942', '-117.101918', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56012, 'Irvine', 2783, '92614', '949', '33.68411', '-117.827543', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56013, 'Irvine', 2783, '92616', '949', '33.6695', '-117.8222', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56014, 'Irvine', 2783, '92623', '949', '33.6695', '-117.8222', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56015, 'Manhattan Beach', 2783, '90266', '310', '33.889494', '-118.400897', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56016, 'Palos Verdes Estates', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56017, 'Palos Verdes Peninsula', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56018, 'Pls Vrds Est', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56019, 'Pls Vrds Pnsl', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56020, 'Rancho Palos Verdes', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56021, 'Rch Palos Vrd', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56022, 'Rllng Hls Est', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56023, 'Rolling Hills Estates', 2783, '90275', '310', '33.758866', '-118.35986', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56024, 'Inglewood', 2783, '90307', '310', '33.9617', '-118.3523', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56025, 'Santa Monica', 2783, '90407', '310', '34.0195', '-118.4906', '2018-11-29 05:05:31', '2018-11-29 05:05:31'),\n(56026, 'Torrance', 2783, '90507', '310', '33.8355', '-118.3399', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56027, 'N Palm Spgs', 2783, '92258', '760', '33.907399', '-116.565436', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56028, 'N Palm Springs', 2783, '92258', '760', '33.907399', '-116.565436', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56029, 'No Palm Springs', 2783, '92258', '760', '33.907399', '-116.565436', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56030, 'North Palm Springs', 2783, '92258', '760', '33.907399', '-116.565436', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56031, 'Crestline', 2783, '92325', '909', '34.244583', '-117.291137', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56032, 'Lake Gregory', 2783, '92325', '909', '34.244583', '-117.291137', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56033, 'Valley Of Enchantment', 2783, '92325', '909', '34.244583', '-117.291137', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56034, 'Daggett', 2783, '92327', '760', '34.855032', '-116.856458', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56035, 'Rimforest', 2783, '92378', '909', '34.2338', '-117.2323', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56036, 'Twin Peaks', 2783, '92391', '909', '34.2422', '-117.2312', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56037, 'Jurupa Valley', 2783, '92509', '909', '33.998649', '-117.447392', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56038, 'Riverside', 2783, '92509', '909', '33.998649', '-117.447392', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56039, 'Rubidoux', 2783, '92509', '909', '33.998649', '-117.447392', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56040, 'El Toro', 2783, '92610', '949', '33.709392', '-117.667037', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56041, 'Foothill Ranch', 2783, '92610', '949', '33.709392', '-117.667037', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56042, 'Foothill Rnch', 2783, '92610', '949', '33.709392', '-117.667037', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56043, 'Lake Forest', 2783, '92610', '949', '33.709392', '-117.667037', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56044, 'Carson', 2783, '90746', '310', '33.860848', '-118.257065', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56045, 'Long Beach', 2783, '90746', '310', '33.860848', '-118.257065', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56046, 'Long Beach', 2783, '90831', '562', '33.7823', '-118.1555', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56047, 'Boeing', 2783, '90846', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56048, 'Long Beach', 2783, '90846', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56049, 'Aarp', 2783, '90847', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56050, 'Long Beach', 2783, '90847', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56051, 'Aarp', 2783, '90848', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56052, 'Aarp Pharmacy', 2783, '90848', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56053, 'Long Beach', 2783, '90848', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56054, 'La International Service Ctr', 2783, '90899', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56055, 'Long Beach', 2783, '90899', '562', '33.7668', '-118.1886', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56056, 'La Canada', 2783, '91012', '626', '34.2086', '-118.2014', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56057, 'La Canada Flintridge', 2783, '91012', '626', '34.2086', '-118.2014', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56058, 'La Canada Flt', 2783, '91012', '626', '34.2086', '-118.2014', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56059, 'Verdugo City', 2783, '91046', '818', '34.2114', '-118.2389', '2018-11-29 05:05:32', '2018-11-29 05:05:32'),\n(56060, 'Pasadena', 2783, '91114', '626', '34.1478', '-118.1436', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56061, 'Pasadena', 2783, '91116', '323', '34.1478', '-118.1436', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56062, 'Ca State Univ Northridge', 2783, '91330', '818', '34.242928', '-118.527303', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56063, 'Northridge', 2783, '91330', '818', '34.242928', '-118.527303', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56064, 'Santa Clarita', 2783, '91380', '661', '34.4194', '-118.5558', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56065, 'Valencia', 2783, '91380', '661', '34.4194', '-118.5558', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56066, 'Encino', 2783, '91416', '818', '34.1592', '-118.5003', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56067, 'Van Nuys', 2783, '91416', '818', '34.1592', '-118.5003', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56068, 'Van Nuys', 2783, '91499', '818', '34.1869', '-118.4484', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56069, 'Van Nuys Brm', 2783, '91499', '818', '34.1869', '-118.4484', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56070, 'N Hollywood', 2783, '91601', '818', '34.168536', '-118.369804', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56071, 'North Hollywood', 2783, '91601', '818', '34.168536', '-118.369804', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56072, 'Toluca Ter', 2783, '91601', '818', '34.168536', '-118.369804', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56073, 'Toluca Terrace', 2783, '91601', '818', '34.168536', '-118.369804', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56074, 'Valley Village', 2783, '91601', '818', '34.168536', '-118.369804', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56075, 'Valley Vlg', 2783, '91601', '818', '34.168536', '-118.369804', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56076, 'N Hollywood', 2783, '91615', '213', '34.1722', '-118.3782', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56077, 'North Hollywood', 2783, '91615', '213', '34.1722', '-118.3782', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56078, 'El Monte', 2783, '91733', '626', '34.044795', '-118.052018', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56079, 'S El Monte', 2783, '91733', '626', '34.044795', '-118.052018', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56080, 'South El Monte', 2783, '91733', '626', '34.044795', '-118.052018', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56081, 'La Puente', 2783, '91749', '626', '34.0203', '-117.9487', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56082, 'Ontario', 2783, '91764', '909', '34.077968', '-117.587449', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56083, 'Diamond Bar', 2783, '91765', '909', '33.994491', '-117.818308', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56084, 'Pomona', 2783, '91765', '909', '33.994491', '-117.818308', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56085, 'Phillips Ranch', 2783, '91766', '909', '34.039035', '-117.760798', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56086, 'Phillips Rnch', 2783, '91766', '909', '34.039035', '-117.760798', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56087, 'Pomona', 2783, '91766', '909', '34.039035', '-117.760798', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56088, 'Pomona', 2783, '91768', '909', '34.063498', '-117.792198', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56089, 'Alhambra', 2783, '91899', '626', '34.0954', '-118.1263', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56090, 'City Of Industry', 2783, '91899', '626', '34.0954', '-118.1263', '2018-11-29 05:05:33', '2018-11-29 05:05:33');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(56091, 'Descanso', 2783, '91916', '619', '32.905722', '-116.644751', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56092, 'Imperial Bch', 2783, '91933', '619', '32.5839', '-117.1124', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56093, 'Imperial Beach', 2783, '91933', '619', '32.5839', '-117.1124', '2018-11-29 05:05:33', '2018-11-29 05:05:33'),\n(56094, 'National City', 2783, '91951', '619', '32.6784', '-117.0986', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56095, 'Carlsbad', 2783, '92018', '619', '33.1584', '-117.3497', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56096, 'Escondido', 2783, '92033', '760', '33.1195', '-117.0856', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56097, 'Oceanside', 2783, '92052', '760', '33.1959', '-117.3789', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56098, 'Oceanside', 2783, '92068', '760', '33.321', '-117.3124', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56099, 'San Luis Rey', 2783, '92068', '760', '33.321', '-117.3124', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56100, 'Vista', 2783, '92085', '760', '33.2003', '-117.2419', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56101, 'San Diego', 2783, '92101', '619', '32.719907', '-117.180528', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56102, 'San Diego', 2783, '92115', '619', '32.756669', '-117.070805', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56103, 'Coronado', 2783, '92118', '619', '32.657722', '-117.161122', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56104, 'San Diego', 2783, '92118', '619', '32.657722', '-117.161122', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56105, 'San Diego', 2783, '92149', '619', '32.7154', '-117.1565', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56106, 'San Diego', 2783, '92168', '619', '32.7154', '-117.1565', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56107, 'San Diego', 2783, '92199', '858', '32.715', '-117.1573', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56108, 'Calexico', 2783, '92232', '760', '32.6786', '-115.4981', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56109, 'Cathedral City', 2783, '92234', '760', '33.814227', '-116.462986', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56110, 'Cathedral Cty', 2783, '92234', '760', '33.814227', '-116.462986', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56111, 'Cathedral City', 2783, '92235', '760', '33.7798', '-116.4645', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56112, 'Cathedral Cty', 2783, '92235', '760', '33.7798', '-116.4645', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56113, 'Palo Verde', 2783, '92266', '760', '33.358018', '-114.710832', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56114, 'Bloomington', 2783, '92316', '909', '34.063', '-117.393945', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56115, 'Crestmore', 2783, '92316', '909', '34.063', '-117.393945', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56116, 'Blue Jay', 2783, '92317', '909', '34.249151', '-117.21019', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56117, 'Fontana', 2783, '92334', '909', '34.0924', '-117.4344', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56118, 'Loma Linda', 2783, '92350', '909', '34.052325', '-117.261598', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56119, 'Loma Linda University', 2783, '92350', '909', '34.052325', '-117.261598', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56120, 'Oro Grande', 2783, '92368', '760', '34.660712', '-117.286965', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56121, 'Patton', 2783, '92369', '909', '34.1355', '-117.2234', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56122, 'Skyforest', 2783, '92385', '909', '34.211236', '-117.124233', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56123, 'San Bernardino', 2783, '92401', '909', '34.104014', '-117.292518', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56124, 'Sn Bernrdno', 2783, '92401', '909', '34.104014', '-117.292518', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56125, 'San Bernardino', 2783, '92403', '909', '34.1104', '-117.3118', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56126, 'Sn Bernrdno', 2783, '92403', '909', '34.1104', '-117.3118', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56127, 'Arlington', 2783, '92503', '909', '33.899075', '-117.439968', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56128, 'Riverside', 2783, '92503', '909', '33.899075', '-117.439968', '2018-11-29 05:05:34', '2018-11-29 05:05:34'),\n(56129, 'Riverside', 2783, '92517', '909', '33.9533', '-117.3955', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56130, 'March Air Reserve Base', 2783, '92518', '951', '33.884414', '-117.278697', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56131, 'March Arb', 2783, '92518', '951', '33.884414', '-117.278697', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56132, 'Riverside', 2783, '92518', '951', '33.884414', '-117.278697', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56133, 'Moreno Valley', 2783, '92552', '909', '33.8081', '-117.101', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56134, 'Moreno Valley', 2783, '92553', '951', '33.92199', '-117.249371', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56135, 'Lake Mathews', 2783, '92570', '951', '33.778829', '-117.326646', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56136, 'Perris', 2783, '92570', '951', '33.778829', '-117.326646', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56137, 'Menifee', 2783, '92584', '909', '33.657528', '-117.189107', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56138, 'Sun City', 2783, '92584', '909', '33.657528', '-117.189107', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56139, 'Menifee', 2783, '92585', '951', '33.738922', '-117.182112', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56140, 'Romoland', 2783, '92585', '951', '33.738922', '-117.182112', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56141, 'Sun City', 2783, '92585', '951', '33.738922', '-117.182112', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56142, 'Irvine', 2783, '92602', '714', '33.748442', '-117.745505', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56143, 'Irvine', 2783, '92603', '949', '33.624468', '-117.795152', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56144, 'Cimarron', 2783, '90018', '323', '34.027281', '-118.317659', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56145, 'Dockweiler', 2783, '90018', '323', '34.027281', '-118.317659', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56146, 'Los Angeles', 2783, '90018', '323', '34.027281', '-118.317659', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56147, 'Los Angeles', 2783, '90019', '323', '34.048545', '-118.339502', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56148, 'Rimpau', 2783, '90019', '323', '34.048545', '-118.339502', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56149, 'Los Angeles', 2783, '90021', '213', '34.029837', '-118.240344', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56150, 'Market', 2783, '90021', '213', '34.029837', '-118.240344', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56151, 'Arco', 2783, '90071', '213', '34.052456', '-118.255309', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56152, 'Arco Plaza', 2783, '90071', '213', '34.052456', '-118.255309', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56153, 'Los Angeles', 2783, '90071', '213', '34.052456', '-118.255309', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56154, 'Los Angeles', 2783, '90087', '213', '34.0522', '-118.2429', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56155, 'Compton', 2783, '90222', '310', '33.913738', '-118.2355', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56156, 'Rosewood', 2783, '90222', '310', '33.913738', '-118.2355', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56157, 'Inglewood', 2783, '90302', '310', '33.972916', '-118.353822', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56158, 'Santa Monica', 2783, '90403', '310', '34.030517', '-118.490407', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56159, 'Torrance', 2783, '90506', '310', '33.883212', '-118.332493', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56160, 'Whittier', 2783, '90603', '562', '33.947128', '-117.994778', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56161, 'Whittier', 2783, '90605', '562', '33.946964', '-118.015338', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56162, 'Buena Park', 2783, '90623', '714', '33.850825', '-118.04352', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56163, 'La Palma', 2783, '90623', '714', '33.850825', '-118.04352', '2018-11-29 05:05:35', '2018-11-29 05:05:35'),\n(56164, 'Santa Fe Spgs', 2783, '90670', '562', '33.923248', '-118.057571', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56165, 'Santa Fe Springs', 2783, '90670', '562', '33.923248', '-118.057571', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56166, 'Los Alamitos', 2783, '90721', '562', '33.8032', '-118.0714', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56167, 'Paramount', 2783, '90723', '562', '33.899133', '-118.165187', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56168, 'Long Beach', 2783, '90755', '562', '33.80438', '-118.167236', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56169, 'Signal Hill', 2783, '90755', '562', '33.80438', '-118.167236', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56170, 'Signal Hl', 2783, '90755', '562', '33.80438', '-118.167236', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56171, 'East Long Beach', 2783, '90804', '562', '33.786203', '-118.145179', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56172, 'Long Beach', 2783, '90804', '562', '33.786203', '-118.145179', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56173, 'Lakewood', 2783, '90805', '562', '33.862002', '-118.1777', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56174, 'Long Beach', 2783, '90805', '562', '33.862002', '-118.1777', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56175, 'North Long Beach', 2783, '90805', '562', '33.862002', '-118.1777', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56176, 'Sierra Madre', 2783, '91024', '626', '34.168557', '-118.047054', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56177, 'Shadow Hills', 2783, '91040', '818', '34.285314', '-118.314477', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56178, 'Sunland', 2783, '91040', '818', '34.285314', '-118.314477', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56179, 'Pasadena', 2783, '91106', '626', '34.13791', '-118.12945', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56180, 'Avon Products', 2783, '91121', '626', '34.1478', '-118.1436', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56181, 'Pasadena', 2783, '91121', '626', '34.1478', '-118.1436', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56182, 'Glendale', 2783, '91207', '818', '34.187878', '-118.258915', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56183, 'Canoga Park', 2783, '91308', '818', '34.2012', '-118.5975', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56184, 'West Hills', 2783, '91308', '818', '34.2012', '-118.5975', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56185, 'Northridge', 2783, '91324', '818', '34.238806', '-118.55348', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56186, 'San Fernando', 2783, '91340', '818', '34.287208', '-118.433342', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56187, 'Agua Dulce', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56188, 'Canyon Cntry', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56189, 'Canyon Country', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56190, 'Green Valley', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56191, 'Mint Canyon', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56192, 'Santa Clarita', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56193, 'Saugus', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56194, 'Sleepy Valley', 2783, '91390', '661', '34.536249', '-118.401606', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56195, 'Sylmar', 2783, '91392', '818', '34.3076', '-118.4485', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56196, 'Van Nuys', 2783, '91407', '818', '34.1869', '-118.4484', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56197, 'Burbank', 2783, '91508', '818', '34.1808', '-118.3083', '2018-11-29 05:05:36', '2018-11-29 05:05:36'),\n(56198, 'Baldwin Park', 2783, '91706', '626', '34.096564', '-117.966695', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56199, 'Irwindale', 2783, '91706', '626', '34.096564', '-117.966695', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56200, 'Chino Hills', 2783, '91709', '909', '33.947373', '-117.72888', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56201, 'Charter Oak', 2783, '91724', '626', '34.079253', '-117.85112', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56202, 'Covina', 2783, '91724', '626', '34.079253', '-117.85112', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56203, 'Lucerne Valley', 2783, '92356', '760', '34.524556', '-116.888246', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56204, 'Lucerne Vly', 2783, '92356', '760', '34.524556', '-116.888246', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56205, 'Chemehuevi', 2783, '92363', '760', '34.655207', '-114.643712', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56206, 'Chemehuevi Valley', 2783, '92363', '760', '34.655207', '-114.643712', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56207, 'Havasu Lake', 2783, '92363', '760', '34.655207', '-114.643712', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56208, 'Needles', 2783, '92363', '760', '34.655207', '-114.643712', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56209, 'Newberry Spgs', 2783, '92365', '760', '34.879976', '-116.67628', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56210, 'Newberry Springs', 2783, '92365', '760', '34.879976', '-116.67628', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56211, 'Wrightwood', 2783, '92397', '760', '34.347704', '-117.57373', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56212, 'Del Rosa', 2783, '92413', '909', '34.1216', '-117.3022', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56213, 'San Bernardino', 2783, '92413', '909', '34.1216', '-117.3022', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56214, 'Sn Bernrdno', 2783, '92413', '909', '34.1216', '-117.3022', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56215, 'Casa Blanca', 2783, '92504', '909', '33.903949', '-117.405431', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56216, 'Riverside', 2783, '92504', '909', '33.903949', '-117.405431', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56217, 'Woodcrest', 2783, '92504', '909', '33.903949', '-117.405431', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56218, 'Riverside', 2783, '92506', '909', '33.93272', '-117.349823', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56219, 'Riverside', 2783, '92515', '909', '33.9533', '-117.3955', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56220, 'Lake Elsinore', 2783, '92531', '951', '33.6724', '-117.3294', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56221, 'Lk Elsinore', 2783, '92531', '951', '33.6724', '-117.3294', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56222, 'Moreno Valley', 2783, '92554', '909', '33.99', '-117.1012', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56223, 'Irvine', 2783, '92606', '949', '33.699822', '-117.816856', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56224, 'Huntingtn Bch', 2783, '92615', '714', '33.6606', '-117.9983', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56225, 'Huntington Beach', 2783, '92615', '714', '33.6606', '-117.9983', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56226, 'Spring Valley', 2783, '91978', '619', '32.701894', '-116.939886', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56227, 'Tecate', 2783, '91980', '619', '32.588097', '-116.660845', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56228, 'La Jolla', 2783, '92037', '858', '32.866783', '-117.24824', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56229, 'Camp Pendleton', 2783, '92055', '760', '33.368266', '-117.413988', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56230, 'Cmp Pendleton', 2783, '92055', '760', '33.368266', '-117.413988', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56231, 'Marine Corp Base', 2783, '92055', '760', '33.368266', '-117.413988', '2018-11-29 05:05:37', '2018-11-29 05:05:37'),\n(56232, 'Oceanside', 2783, '92055', '760', '33.368266', '-117.413988', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56233, 'Poway', 2783, '92064', '858', '32.993538', '-117.017138', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56234, 'Lake San Marcos', 2783, '92069', '760', '33.187084', '-117.158477', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56235, 'San Marcos', 2783, '92069', '760', '33.187084', '-117.158477', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56236, 'San Diego', 2783, '92103', '619', '32.745427', '-117.17017', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56237, 'San Diego', 2783, '92123', '858', '32.808749', '-117.137609', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56238, 'San Diego', 2783, '92164', '619', '32.7154', '-117.1565', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56239, 'Beaumont', 2783, '92223', '909', '33.917086', '-117.000084', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56240, 'Cherry Valley', 2783, '92223', '909', '33.917086', '-117.000084', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56241, 'Barona Rancheria', 2783, '92262', '760', '33.866798', '-116.583298', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56242, 'Palm Springs', 2783, '92262', '760', '33.866798', '-116.583298', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56243, 'Palm Springs Municipal Airpo', 2783, '92262', '760', '33.866798', '-116.583298', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56244, 'Smoke Tree', 2783, '92262', '760', '33.866798', '-116.583298', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56245, 'Blythe', 2783, '92280', '760', '34.253486', '-114.774466', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56246, 'Vidal', 2783, '92280', '760', '34.253486', '-114.774466', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56247, 'Vidal Junction', 2783, '92280', '760', '34.253486', '-114.774466', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56248, 'Angelus Oaks', 2783, '92305', '909', '34.159928', '-116.880936', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56249, 'Seven Oaks', 2783, '92305', '909', '34.159928', '-116.880936', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56250, 'Apple Valley', 2783, '92307', '760', '34.602626', '-117.119837', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56251, 'Cedar Glen', 2783, '92321', '909', '34.244639', '-117.162754', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56252, 'Fontana', 2783, '92337', '909', '34.05186', '-117.466884', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56253, 'Fallsvale', 2783, '92339', '909', '34.09677', '-116.842213', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56254, 'Forest Falls', 2783, '92339', '909', '34.09677', '-116.842213', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56255, 'Highland', 2783, '92346', '909', '34.119831', '-117.168928', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56256, 'Murrieta', 2783, '92564', '714', '33.5539', '-117.2132', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56257, 'Murrieta Hot Springs', 2783, '92564', '714', '33.5539', '-117.2132', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56258, 'Perris', 2783, '92571', '951', '33.830672', '-117.195495', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56259, 'Laguna Beach', 2783, '92607', '949', '33.5425', '-117.7825', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56260, 'Laguna Niguel', 2783, '92607', '949', '33.5425', '-117.7825', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56261, 'Torrance', 2783, '90509', '310', '33.8355', '-118.3399', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56262, 'Whittier', 2783, '90607', '562', '33.9792', '-118.0317', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56263, 'Lakewood', 2783, '90711', '562', '33.8539', '-118.1333', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56264, 'San Pedro', 2783, '90732', '310', '33.74699', '-118.314814', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56265, 'Long Beach', 2783, '90834', '562', '33.7807', '-118.1552', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56266, 'Duarte', 2783, '91009', '626', '34.1397', '-117.9765', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56267, 'Flintridge', 2783, '91011', '818', '34.229774', '-118.097232', '2018-11-29 05:05:38', '2018-11-29 05:05:38'),\n(56268, 'La Canada', 2783, '91011', '818', '34.229774', '-118.097232', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56269, 'La Canada Flintridge', 2783, '91011', '818', '34.229774', '-118.097232', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56270, 'La Canada Flt', 2783, '91011', '818', '34.229774', '-118.097232', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56271, 'Sierra Madre', 2783, '91025', '626', '34.1618', '-118.0518', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56272, 'Arcadia', 2783, '91077', '626', '34.1398', '-118.0346', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56273, 'Pasadena', 2783, '91118', '626', '34.1478', '-118.1436', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56274, 'San Marino', 2783, '91118', '626', '34.1478', '-118.1436', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56275, 'Glendale', 2783, '91204', '818', '34.132834', '-118.261674', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56276, 'Arleta', 2783, '91334', '818', '34.2574', '-118.2559', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56277, 'Pacoima', 2783, '91334', '818', '34.2574', '-118.2559', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56278, 'Mission Hills', 2783, '91345', '818', '34.27177', '-118.457351', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56279, 'San Fernando', 2783, '91345', '818', '34.27177', '-118.457351', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56280, 'La Tuna Canyon', 2783, '91352', '818', '34.231612', '-118.344504', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56281, 'Rancho La Tuna Canyon', 2783, '91352', '818', '34.231612', '-118.344504', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56282, 'Shadow Hills', 2783, '91352', '818', '34.231612', '-118.344504', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56283, 'Sun Valley', 2783, '91352', '818', '34.231612', '-118.344504', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56284, 'Hidden Valley', 2783, '91361', '805', '34.149552', '-118.878212', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56285, 'Lake Sherwood', 2783, '91361', '805', '34.149552', '-118.878212', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56286, 'Thousand Oaks', 2783, '91361', '805', '34.149552', '-118.878212', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56287, 'Westlake Village', 2783, '91361', '805', '34.149552', '-118.878212', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56288, 'Westlake Vlg', 2783, '91361', '805', '34.149552', '-118.878212', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56289, 'Sherman Oaks', 2783, '91411', '818', '34.177776', '-118.461448', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56290, 'Van Nuys', 2783, '91411', '818', '34.177776', '-118.461448', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56291, 'Azusa', 2783, '91702', '626', '34.138099', '-117.912193', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56292, 'Irwindale', 2783, '91702', '626', '34.138099', '-117.912193', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56293, 'Claremont', 2783, '91711', '909', '34.122272', '-117.714289', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56294, 'City Industry', 2783, '91745', '626', '34.001808', '-117.983356', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56295, 'City Of Industry', 2783, '91745', '626', '34.001808', '-117.983356', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56296, 'Hacienda Heights', 2783, '91745', '626', '34.001808', '-117.983356', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56297, 'Hacienda Hts', 2783, '91745', '626', '34.001808', '-117.983356', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56298, 'La Puente', 2783, '91745', '626', '34.001808', '-117.983356', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56299, 'Monterey Park', 2783, '91754', '626', '34.052575', '-118.147786', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56300, 'Ontario', 2783, '91761', '909', '34.026705', '-117.587454', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56301, 'Montclair', 2783, '91763', '909', '34.071317', '-117.700927', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56302, 'Rosemead', 2783, '91770', '626', '34.062548', '-118.081984', '2018-11-29 05:05:39', '2018-11-29 05:05:39'),\n(56303, 'Campo', 2783, '91906', '619', '32.702475', '-116.504617', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56304, 'Lincoln Acres', 2783, '91947', '619', '32.6678', '-117.0719', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56305, 'Potrero', 2783, '91963', '619', '32.642467', '-116.615068', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56306, 'Carlsbad', 2783, '92011', '760', '33.108559', '-117.298979', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56307, 'La Costa', 2783, '92011', '760', '33.108559', '-117.298979', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56308, 'Rancho La Costa', 2783, '92011', '760', '33.108559', '-117.298979', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56309, 'Carlsbad', 2783, '92013', '760', '33.0963', '-117.2626', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56310, 'El Cajon', 2783, '92022', '619', '32.7948', '-116.9617', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56311, 'Elfin Forest', 2783, '92029', '760', '33.085418', '-117.136882', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56312, 'Escondido', 2783, '92029', '760', '33.085418', '-117.136882', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56313, 'La Jolla', 2783, '92038', '858', '32.8473', '-117.2734', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56314, 'Pala', 2783, '92061', '760', '33.306802', '-116.921215', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56315, 'Pauma Valley', 2783, '92061', '760', '33.306802', '-116.921215', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56316, 'San Marcos', 2783, '92079', '760', '33.1434', '-117.1656', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56317, 'San Diego', 2783, '92111', '858', '32.80704', '-117.165158', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56318, 'San Diego', 2783, '92122', '858', '32.856744', '-117.20717', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56319, 'San Diego', 2783, '92131', '858', '32.915392', '-117.083559', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56320, 'Nas Miramar', 2783, '92145', '858', '32.869412', '-117.121258', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56321, 'San Diego', 2783, '92145', '858', '32.869412', '-117.121258', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56322, 'San Diego', 2783, '92163', '619', '32.7154', '-117.1565', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56323, 'San Diego', 2783, '92190', '619', '32.7154', '-117.1565', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56324, 'San Diego', 2783, '92195', '619', '32.7154', '-117.1565', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56325, 'San Diego', 2783, '92197', '619', '32.7154', '-117.1565', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56326, 'Calexico', 2783, '92231', '760', '32.687855', '-115.512268', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56327, 'Mount Signal', 2783, '92231', '760', '32.687855', '-115.512268', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56328, 'Mecca', 2783, '92254', '760', '33.519986', '-115.886526', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56329, 'North Shore', 2783, '92254', '760', '33.519986', '-115.886526', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56330, 'Westmorland', 2783, '92281', '760', '33.078737', '-115.658291', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56331, 'Amboy', 2783, '92304', '760', '34.686652', '-115.874128', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56332, 'Cadiz', 2783, '92304', '760', '34.686652', '-115.874128', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56333, 'Big Bear', 2783, '92315', '909', '34.247956', '-116.921118', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56334, 'Big Bear Lake', 2783, '92315', '909', '34.247956', '-116.921118', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56335, 'Phelan', 2783, '92329', '760', '34.4262', '-117.5716', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56336, 'Ludlow', 2783, '92338', '760', '34.884078', '-116.368969', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56337, 'Newberry Spgs', 2783, '92338', '760', '34.884078', '-116.368969', '2018-11-29 05:05:40', '2018-11-29 05:05:40'),\n(56338, 'Newberry Springs', 2783, '92338', '760', '34.884078', '-116.368969', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56339, 'Del Rosa', 2783, '92404', '909', '34.177008', '-117.279092', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56340, 'San Bernardino', 2783, '92404', '909', '34.177008', '-117.279092', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56341, 'Sn Bernrdno', 2783, '92404', '909', '34.177008', '-117.279092', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56342, 'Murrieta', 2783, '92563', '909', '33.586008', '-117.140955', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56343, 'Murrieta Hot Springs', 2783, '92563', '909', '33.586008', '-117.140955', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56344, 'San Jacinto', 2783, '92581', '909', '33.7837', '-116.9578', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56345, 'Rancho California', 2783, '92590', '909', '33.484384', '-117.233784', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56346, 'Temecula', 2783, '92590', '909', '33.484384', '-117.233784', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56347, 'Perris', 2783, '92599', '951', '33.7825', '-117.2275', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56348, 'Starcrest Of Cal', 2783, '92599', '951', '33.7825', '-117.2275', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56349, 'Irvine', 2783, '92604', '949', '33.690273', '-117.789938', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56350, 'Capistrano Beach', 2783, '92624', '949', '33.455734', '-117.664724', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56351, 'Capo Beach', 2783, '92624', '949', '33.455734', '-117.664724', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56352, 'North Hollywood', 2783, '91617', '818', '34.1722', '-118.3782', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56353, 'Valley Village', 2783, '91617', '818', '34.1722', '-118.3782', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56354, 'Valley Vlg', 2783, '91617', '818', '34.1722', '-118.3782', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56355, 'City Industry', 2783, '91715', '626', '34.0945', '-118.1256', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56356, 'City Of Industry', 2783, '91715', '626', '34.0945', '-118.1256', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56357, 'City Industry', 2783, '91716', '626', '34.0914', '-118.1226', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56358, 'City Of Industry', 2783, '91716', '626', '34.0914', '-118.1226', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56359, 'City Industry', 2783, '91732', '626', '34.070864', '-118.014048', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56360, 'City Of Industry', 2783, '91732', '626', '34.070864', '-118.014048', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56361, 'El Monte', 2783, '91732', '626', '34.070864', '-118.014048', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56362, 'La Verne', 2783, '91750', '909', '34.147762', '-117.752063', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56363, 'Alpine', 2783, '91901', '619', '32.789915', '-116.711202', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56364, 'Chula Vista', 2783, '91915', '619', '32.619934', '-116.96712', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56365, 'Dulzura', 2783, '91917', '619', '32.612788', '-116.76394', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56366, 'Oceanside', 2783, '92049', '760', '33.1959', '-117.3789', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56367, 'Ranchita', 2783, '92066', '760', '33.254292', '-116.553068', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56368, 'Warner Spgs', 2783, '92066', '760', '33.254292', '-116.553068', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56369, 'Warner Springs', 2783, '92066', '760', '33.254292', '-116.553068', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56370, 'Valley Center', 2783, '92082', '760', '33.258196', '-116.981233', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56371, 'Vista', 2783, '92083', '760', '33.197069', '-117.24667', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56372, 'Vista', 2783, '92084', '760', '33.210937', '-117.207617', '2018-11-29 05:05:41', '2018-11-29 05:05:41'),\n(56373, 'San Diego', 2783, '92102', '619', '32.722449', '-117.11696', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56374, 'San Diego', 2783, '92117', '858', '32.818899', '-117.197766', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56375, 'San Diego', 2783, '92119', '619', '32.80621', '-117.032565', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56376, 'Naval Hospital', 2783, '92134', '619', '32.727608', '-117.147017', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56377, 'San Diego', 2783, '92134', '619', '32.727608', '-117.147017', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56378, 'San Diego', 2783, '92167', '619', '32.7154', '-117.1565', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56379, 'San Diego', 2783, '92169', '619', '32.7154', '-117.1565', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56380, 'San Diego', 2783, '92182', '619', '32.77524', '-117.07366', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56381, 'San Diego State University', 2783, '92182', '619', '32.77524', '-117.07366', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56382, 'Indio', 2783, '92202', '760', '33.7206', '-116.2144', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56383, 'Heber', 2783, '92249', '760', '32.71292', '-115.457673', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56384, 'Black Meadow Landing', 2783, '92267', '760', '34.288592', '-114.208767', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56385, 'Parker Dam', 2783, '92267', '760', '34.288592', '-114.208767', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56386, 'Felicity', 2783, '92283', '760', '33.054925', '-115.06981', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56387, 'Winterhaven', 2783, '92283', '760', '33.054925', '-115.06981', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56388, 'Yucca Valley', 2783, '92286', '760', '34.1195', '-116.4452', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56389, 'Fontana', 2783, '92335', '909', '34.085692', '-117.462491', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56390, 'Lake Arrowhead', 2783, '92352', '909', '34.26813', '-117.189867', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56391, 'Lk Arrowhead', 2783, '92352', '909', '34.26813', '-117.189867', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56392, 'Shoshone', 2783, '92384', '760', '36.191805', '-116.414864', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56393, 'Riverside', 2783, '92519', '909', '33.9533', '-117.3955', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56394, 'Rubidoux', 2783, '92519', '909', '33.9533', '-117.3955', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56395, 'Aguanga', 2783, '92536', '760', '33.508818', '-116.814257', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56396, 'Holcomb Village', 2783, '92536', '760', '33.508818', '-116.814257', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56397, 'Moreno Valley', 2783, '92551', '909', '33.880882', '-117.224713', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56398, 'Lakeview', 2783, '92567', '909', '33.809223', '-117.103714', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56399, 'Nuevo', 2783, '92567', '909', '33.809223', '-117.103714', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56400, 'Gilman Hot Springs', 2783, '92583', '909', '33.803957', '-116.924742', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56401, 'Glmn Hot Spgs', 2783, '92583', '909', '33.803957', '-116.924742', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56402, 'San Jacinto', 2783, '92583', '909', '33.803957', '-116.924742', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56403, 'Menifee', 2783, '92586', '951', '33.707286', '-117.199405', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56404, 'Sun City', 2783, '92586', '951', '33.707286', '-117.199405', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56405, 'Irvine', 2783, '92619', '949', '33.6695', '-117.8222', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56406, 'Torrance', 2783, '90502', '310', '33.833983', '-118.292258', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56407, 'Norwalk', 2783, '90650', '562', '33.90725', '-118.075758', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56408, 'Artesia', 2783, '90702', '562', '33.8656', '-118.0825', '2018-11-29 05:05:42', '2018-11-29 05:05:42'),\n(56409, 'Bellflower', 2783, '90707', '562', '33.8819', '-118.1162', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56410, 'San Pedro', 2783, '90734', '310', '33.7358', '-118.2916', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56411, 'Lb', 2783, '90809', '562', '33.7668', '-118.1886', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56412, 'Long Beach', 2783, '90809', '562', '33.7668', '-118.1886', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56413, 'Montrose', 2783, '91020', '818', '34.21193', '-118.230135', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56414, 'Tujunga', 2783, '91043', '818', '34.2524', '-118.2876', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56415, 'Pasadena', 2783, '91102', '626', '34.1478', '-118.1436', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56416, 'Pasadena', 2783, '91109', '818', '34.1478', '-118.1436', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56417, 'Pasadena', 2783, '91184', '626', '34.1478', '-118.1436', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56418, 'Tournament Of Roses Assoc', 2783, '91184', '626', '34.1478', '-118.1436', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56419, 'Glendale', 2783, '91202', '818', '34.169903', '-118.266327', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56420, 'Glendale', 2783, '91209', '818', '34.1427', '-118.2544', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56421, 'Canoga Park', 2783, '91309', '818', '34.2012', '-118.5975', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56422, 'Chatsworth', 2783, '91311', '818', '34.286824', '-118.59588', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56423, 'Northridge', 2783, '91327', '818', '34.2284', '-118.5356', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56424, 'Porter Ranch', 2783, '91327', '818', '34.2284', '-118.5356', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56425, 'J B Lansing Co', 2783, '91329', '818', '34.2284', '-118.5356', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56426, 'Northridge', 2783, '91329', '818', '34.2284', '-118.5356', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56427, 'North Hills', 2783, '91343', '818', '34.239061', '-118.477183', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56428, 'Northridge', 2783, '91343', '818', '34.239061', '-118.477183', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56429, 'Sepulveda', 2783, '91343', '818', '34.239061', '-118.477183', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56430, 'Santa Clarita', 2783, '91354', '661', '34.452371', '-118.553192', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56431, 'Valencia', 2783, '91354', '661', '34.452371', '-118.553192', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56432, 'Thousand Oaks', 2783, '91359', '805', '34.1707', '-118.8364', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56433, 'Westlake Village', 2783, '91359', '805', '34.1707', '-118.8364', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56434, 'Westlake Vlg', 2783, '91359', '805', '34.1707', '-118.8364', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56435, 'Castaic', 2783, '91384', '661', '34.530652', '-118.63399', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56436, 'Santa Clarita', 2783, '91384', '661', '34.530652', '-118.63399', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56437, 'Val Verde', 2783, '91384', '661', '34.530652', '-118.63399', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56438, 'North Hills', 2783, '91393', '818', '34.1618', '-118.2817', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56439, 'Sepulveda', 2783, '91393', '818', '34.1618', '-118.2817', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56440, 'Van Nuys', 2783, '91404', '818', '34.1869', '-118.4484', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56441, 'Sherman Oaks', 2783, '91413', '310', '34.1511', '-118.4485', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56442, 'Van Nuys', 2783, '91413', '310', '34.1511', '-118.4485', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56443, 'Encino', 2783, '91436', '818', '34.153648', '-118.497744', '2018-11-29 05:05:43', '2018-11-29 05:05:43'),\n(56444, 'Van Nuys', 2783, '91436', '818', '34.153648', '-118.497744', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56445, 'Blue Cross Of So Calif', 2783, '91470', '818', '34.1869', '-118.4484', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56446, 'Van Nuys', 2783, '91470', '818', '34.1869', '-118.4484', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56447, 'Sherman Oaks', 2783, '91495', '818', '34.1484', '-118.4628', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56448, 'Us Purchasing Exchange', 2783, '91495', '818', '34.1484', '-118.4628', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56449, 'Van Nuys', 2783, '91495', '818', '34.1484', '-118.4628', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56450, 'Burbank', 2783, '91504', '818', '34.203148', '-118.326586', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56451, 'Covina', 2783, '91722', '626', '34.096626', '-117.907348', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56452, 'Upland', 2783, '91786', '909', '34.103846', '-117.66391', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56453, 'Walnut', 2783, '91788', '909', '34.0203', '-117.8647', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56454, 'Alhambra', 2783, '91804', '626', '34.0865', '-118.1333', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56455, 'Bonita', 2783, '91902', '619', '32.67855', '-117.013671', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56456, 'Chula Vista', 2783, '91911', '619', '32.607009', '-117.050286', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56457, 'Chula Vista', 2783, '91913', '619', '32.632497', '-116.991164', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56458, 'Guatay', 2783, '91931', '619', '32.868544', '-116.570912', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56459, 'Borrego Spgs', 2783, '92004', '760', '33.150594', '-116.349599', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56460, 'Borrego Springs', 2783, '92004', '760', '33.150594', '-116.349599', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56461, 'Julian', 2783, '92036', '760', '32.915218', '-116.422036', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56462, 'Santee', 2783, '92072', '619', '32.8383', '-116.9733', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56463, 'Fallbrook', 2783, '92088', '760', '33.3767', '-117.2505', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56464, 'San Diego', 2783, '92106', '619', '32.708365', '-117.232438', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56465, 'San Diego', 2783, '92120', '619', '32.794906', '-117.075492', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56466, 'Naval Station 32nd St', 2783, '92136', '619', '32.675401', '-117.121421', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56467, 'San Diego', 2783, '92136', '619', '32.675401', '-117.121421', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56468, 'San Diego', 2783, '92138', '619', '32.7154', '-117.1565', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56469, 'Mcrd San Diego', 2783, '92140', '619', '32.73703', '-117.199757', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56470, 'San Diego', 2783, '92140', '619', '32.73703', '-117.199757', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56471, 'Asw Training Ctr', 2783, '92147', '619', '32.7294', '-117.1591', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56472, 'San Diego', 2783, '92147', '619', '32.7294', '-117.1591', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56473, 'San Diego', 2783, '92154', '619', '32.567848', '-116.990264', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56474, 'San Diego', 2783, '92170', '619', '32.7154', '-117.1565', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56475, 'San Diego', 2783, '92179', '619', '32.7154', '-117.1565', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56476, 'Bard', 2783, '92222', '760', '32.7886', '-114.5554', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56477, 'Desert Hot Springs', 2783, '92240', '760', '33.953914', '-116.538468', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56478, 'Dsrt Hot Spgs', 2783, '92240', '760', '33.953914', '-116.538468', '2018-11-29 05:05:44', '2018-11-29 05:05:44'),\n(56479, 'La Quinta', 2783, '92247', '714', '34.33', '-118.64', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56480, 'Morongo Valley', 2783, '92256', '760', '34.104928', '-116.587152', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56481, 'Morongo Vly', 2783, '92256', '760', '34.104928', '-116.587152', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56482, 'Palm Springs', 2783, '92263', '760', '33.8306', '-116.5447', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56483, 'Rancho Mirage', 2783, '92270', '760', '33.775544', '-116.415617', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56484, 'Grand Terrace', 2783, '92313', '909', '34.032379', '-117.313682', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56485, 'Calimesa', 2783, '92320', '909', '33.981796', '-117.050638', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56486, 'Hinkley', 2783, '92347', '760', '35.084076', '-117.30789', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56487, 'Lockhart', 2783, '92347', '760', '35.084076', '-117.30789', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56488, 'Loma Linda', 2783, '92354', '909', '34.053138', '-117.251523', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56489, 'North Loma Linda', 2783, '92354', '909', '34.053138', '-117.251523', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56490, 'Pinon Hills', 2783, '92372', '760', '34.446327', '-117.619878', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56491, 'Spg Valley Lk', 2783, '92395', '760', '34.517792', '-117.298964', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56492, 'Spring Valley Lake', 2783, '92395', '760', '34.517792', '-117.298964', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56493, 'Victorville', 2783, '92395', '760', '34.517792', '-117.298964', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56494, 'Oak Glen', 2783, '92399', '909', '34.044888', '-117.013718', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56495, 'Yucaipa', 2783, '92399', '909', '34.044888', '-117.013718', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56496, 'San Bernardino', 2783, '92406', '909', '34.1216', '-117.3022', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56497, 'Sn Bernrdno', 2783, '92406', '909', '34.1216', '-117.3022', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56498, 'S B County Offices', 2783, '92415', '909', '34.1216', '-117.3022', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56499, 'San Bernardino', 2783, '92415', '909', '34.1216', '-117.3022', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56500, 'Sn Bernrdno', 2783, '92415', '909', '34.1216', '-117.3022', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56501, 'Riverside', 2783, '92513', '909', '33.9533', '-117.3955', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56502, 'City Of Riverside', 2783, '92522', '909', '33.9533', '-117.3955', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56503, 'Riverside', 2783, '92522', '909', '33.9533', '-117.3955', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56504, 'Idyllwild', 2783, '92549', '951', '33.786625', '-116.772736', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56505, 'Moreno Valley', 2783, '92556', '909', '33.9701', '-117.1101', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56506, 'Glendora', 2783, '91740', '626', '34.117342', '-117.846498', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56507, 'Glendora', 2783, '91741', '626', '34.154509', '-117.84093', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56508, 'Guasti', 2783, '91743', '909', '34.066261', '-117.589285', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56509, 'Chula Vista', 2783, '91910', '619', '32.635694', '-117.052566', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56510, 'La Mesa', 2783, '91943', '619', '32.7679', '-117.0224', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56511, 'Spring Valley', 2783, '91977', '619', '32.724598', '-116.993628', '2018-11-29 05:05:45', '2018-11-29 05:05:45'),\n(56512, 'Carlsbad', 2783, '92009', '760', '33.09568', '-117.244034', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56513, 'La Costa', 2783, '92009', '760', '33.09568', '-117.244034', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56514, 'Escondido', 2783, '92026', '760', '33.223536', '-117.10682', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56515, 'Hidden Meadows', 2783, '92026', '760', '33.223536', '-117.10682', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56516, 'Escondido', 2783, '92027', '760', '33.138721', '-116.989262', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56517, 'Oceanside', 2783, '92057', '760', '33.252431', '-117.286027', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56518, 'Solana Beach', 2783, '92075', '858', '32.992166', '-117.257113', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56519, 'Rancho Santa Fe', 2783, '92091', '858', '33.024532', '-117.205239', '2018-11-29 05:05:46', '2018-11-29 05:05:46');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(56520, 'Rcho Santa Fe', 2783, '92091', '858', '33.024532', '-117.205239', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56521, 'La Jolla', 2783, '92092', '858', '32.8455', '-117.2718', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56522, 'Uc San Diego', 2783, '92092', '858', '32.8455', '-117.2718', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56523, 'Uc Santa Barbara', 2783, '92092', '858', '32.8455', '-117.2718', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56524, 'La Jolla', 2783, '92093', '858', '32.8339', '-117.2575', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56525, 'Uc San Diego', 2783, '92093', '858', '32.8339', '-117.2575', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56526, 'Uc Santa Barbara', 2783, '92093', '858', '32.8339', '-117.2575', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56527, 'San Diego', 2783, '92108', '619', '32.774', '-117.147448', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56528, 'San Diego', 2783, '92126', '858', '32.911042', '-117.144792', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56529, 'San Diego', 2783, '92158', '619', '32.7154', '-117.1565', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56530, 'San Diego County Jail', 2783, '92158', '619', '32.7154', '-117.1565', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56531, 'San Diego', 2783, '92174', '619', '32.7154', '-117.1565', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56532, 'San Diego', 2783, '92191', '619', '32.7154', '-117.1565', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56533, 'San Diego', 2783, '92192', '619', '32.7154', '-117.1565', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56534, 'Palm Desert', 2783, '92211', '760', '33.766397', '-116.327934', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56535, 'Blythe', 2783, '92226', '760', '33.6106', '-114.5959', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56536, 'Big River', 2783, '92242', '760', '34.180686', '-114.352744', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56537, 'Earp', 2783, '92242', '760', '34.180686', '-114.352744', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56538, 'El Centro', 2783, '92243', '760', '32.770882', '-115.602258', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56539, 'Bombay Beach', 2783, '92257', '760', '33.312892', '-115.723478', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56540, 'Niland', 2783, '92257', '760', '33.312892', '-115.723478', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56541, 'Ocotillo', 2783, '92259', '760', '32.743443', '-115.978643', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56542, 'Palm Desert', 2783, '92260', '760', '33.699839', '-116.391825', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56543, 'Palm Desert', 2783, '92261', '760', '33.7216', '-116.3875', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56544, '100 Palms', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56545, 'Desert Shores', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56546, 'One Hundred Palms', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:46', '2018-11-29 05:05:46'),\n(56547, 'Sandy Korner', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56548, 'Thermal', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56549, 'Torres Martinez Indian Reser', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56550, 'Valerie', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56551, 'Vista Santa Rosa', 2783, '92274', '760', '33.152598', '-115.973937', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56552, 'Apple Valley', 2783, '92308', '760', '34.423596', '-117.145454', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56553, 'Jess Ranch', 2783, '92308', '760', '34.423596', '-117.145454', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56554, 'Baker', 2783, '92309', '760', '35.281178', '-116.18026', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56555, 'Kelso', 2783, '92309', '760', '35.281178', '-116.18026', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56556, 'Barstow', 2783, '92311', '760', '34.885718', '-117.071178', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56557, 'Hodge', 2783, '92311', '760', '34.885718', '-117.071178', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56558, 'Crest Park', 2783, '92326', '909', '34.243', '-117.2021', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56559, 'Helendale', 2783, '92342', '760', '34.77451', '-117.330366', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56560, 'Silver Lakes', 2783, '92342', '760', '34.77451', '-117.330366', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56561, 'Hesperia', 2783, '92344', '760', '34.387229', '-117.403127', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56562, 'Oak Hills', 2783, '92344', '760', '34.387229', '-117.403127', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56563, 'Lytle Creek', 2783, '92358', '909', '34.268318', '-117.540695', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56564, 'Mentone', 2783, '92359', '909', '34.113218', '-117.072704', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56565, 'Mountain Home Village', 2783, '92359', '909', '34.113218', '-117.072704', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56566, 'Victorville', 2783, '92392', '760', '34.477937', '-117.403567', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56567, 'Base Line', 2783, '92410', '909', '34.101527', '-117.29364', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56568, 'San Bernardino', 2783, '92410', '909', '34.101527', '-117.29364', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56569, 'Sn Bernrdno', 2783, '92410', '909', '34.101527', '-117.29364', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56570, 'San Bernardino', 2783, '92427', '909', '34.1216', '-117.3022', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56571, 'Sn Bernrdno', 2783, '92427', '909', '34.1216', '-117.3022', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56572, 'Riverside', 2783, '92508', '909', '33.88878', '-117.321421', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56573, 'Hemet', 2783, '92543', '951', '33.708506', '-116.981212', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56574, 'Hemet', 2783, '92544', '951', '33.639976', '-116.892206', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56575, 'Hemet', 2783, '92545', '951', '33.727637', '-117.061934', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56576, 'Mountain Center', 2783, '92561', '760', '33.663783', '-116.474175', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56577, 'Mountain Ctr', 2783, '92561', '760', '33.663783', '-116.474175', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56578, 'Pinyon Pines', 2783, '92561', '760', '33.663783', '-116.474175', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56579, 'Rancho California', 2783, '92592', '909', '33.540993', '-117.008339', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56580, 'Temecula', 2783, '92592', '909', '33.540993', '-117.008339', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56581, 'Rancho California', 2783, '92593', '909', '33.4939', '-117.1475', '2018-11-29 05:05:47', '2018-11-29 05:05:47'),\n(56582, 'Temecula', 2783, '92593', '909', '33.4939', '-117.1475', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56583, 'Irvine', 2783, '92618', '949', '33.685157', '-117.734614', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56584, 'Irvine', 2783, '92620', '714', '33.70899', '-117.758996', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56585, 'El Portal', 2788, '33138', '305', '25.854178', '-80.17979', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56586, 'Miami', 2788, '33138', '305', '25.854178', '-80.17979', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56587, 'Miami Shores', 2788, '33138', '305', '25.854178', '-80.17979', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56588, 'Palm Springs', 2788, '33461', '561', '26.617588', '-80.090682', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56589, 'Village Of Palm Springs', 2788, '33461', '561', '26.617588', '-80.090682', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56590, 'Jupiter', 2788, '33477', '561', '26.915026', '-80.075975', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56591, 'Delray Beach', 2788, '33484', '561', '26.453651', '-80.134606', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56592, 'W Delray Bch', 2788, '33484', '561', '26.453651', '-80.134606', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56593, 'West Delray Beach', 2788, '33484', '561', '26.453651', '-80.134606', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56594, 'Boca Raton', 2788, '33486', '561', '26.346478', '-80.116656', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56595, 'South Bay', 2788, '33493', '561', '26.640257', '-80.793016', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56596, 'Dover', 2788, '33527', '813', '27.974483', '-82.217748', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56597, 'Gibsonton', 2788, '33534', '813', '27.825542', '-82.378508', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56598, 'Wesley Chapel', 2788, '33545', '352', '28.265774', '-82.294969', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56599, 'Zephyrhills', 2788, '33545', '352', '28.265774', '-82.294969', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56600, 'Lutz', 2788, '33559', '813', '28.154743', '-82.400237', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56601, 'Ruskin', 2788, '33570', '813', '27.709943', '-82.457692', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56602, 'Sun City Center', 2788, '33570', '813', '27.709943', '-82.457692', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56603, 'Riverview', 2788, '33579', '813', '27.793967', '-82.278888', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56604, 'Sun City', 2788, '33586', '813', '27.6792', '-82.4764', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56605, 'Valrico', 2788, '33595', '813', '27.9219', '-82.2509', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56606, 'Tampa', 2788, '33602', '813', '27.94946', '-82.46118', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56607, 'Tampa', 2788, '33684', '813', '27.9473', '-82.4588', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56608, 'Saint Petersburg', 2788, '33702', '727', '27.852554', '-82.631558', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56609, 'St Petersburg', 2788, '33702', '727', '27.852554', '-82.631558', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56610, 'Gulfport', 2788, '33711', '727', '27.705577', '-82.685095', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56611, 'Saint Petersburg', 2788, '33711', '727', '27.705577', '-82.685095', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56612, 'St Petersburg', 2788, '33711', '727', '27.705577', '-82.685095', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56613, 'Saint Petersburg', 2788, '33736', '727', '27.7709', '-82.6795', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56614, 'St Pete Beach', 2788, '33736', '727', '27.7709', '-82.6795', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56615, 'St Petersburg', 2788, '33736', '727', '27.7709', '-82.6795', '2018-11-29 05:05:48', '2018-11-29 05:05:48'),\n(56616, 'Madeira Beach', 2788, '33738', '727', '27.7976', '-82.7976', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56617, 'Saint Petersburg', 2788, '33738', '727', '27.7976', '-82.7976', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56618, 'St Petersburg', 2788, '33738', '727', '27.7976', '-82.7976', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56619, 'Largo', 2788, '33777', '727', '27.84756', '-82.755438', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56620, 'Seminole', 2788, '33777', '727', '27.84756', '-82.755438', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56621, 'Largo', 2788, '33779', '727', '27.9095', '-82.7875', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56622, 'Lakeland', 2788, '33811', '863', '27.985738', '-82.013269', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56623, 'Lakeland', 2788, '33813', '863', '27.945962', '-81.920921', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56624, 'Davenport', 2788, '33836', '863', '28.1847', '-81.6275', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56625, 'Haines City', 2788, '33845', '863', '28.1136', '-81.6183', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56626, 'Lake Placid', 2788, '33852', '863', '27.270801', '-81.322933', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56627, 'Sebring', 2788, '33870', '863', '27.500602', '-81.382351', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56628, 'State Farm Ins', 2788, '33888', '863', '28.0218', '-81.7332', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56629, 'Winter Haven', 2788, '33888', '863', '28.0218', '-81.7332', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56630, 'Davenport', 2788, '33897', '863', '28.285874', '-81.720303', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56631, 'Bokeelia', 2788, '33922', '941', '26.64878', '-82.14334', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56632, 'El Jobean', 2788, '33927', '941', '26.983258', '-82.194156', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56633, 'Murdock', 2788, '33938', '941', '27.0122', '-82.1454', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56634, 'Lehigh', 2788, '33972', '863', '26.650246', '-81.614084', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56635, 'Lehigh Acres', 2788, '33972', '863', '26.650246', '-81.614084', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56636, 'B\\'ton', 2788, '34211', '941', '27.44495', '-82.38664', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56637, 'Brad', 2788, '34211', '941', '27.44495', '-82.38664', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56638, 'Bradenton', 2788, '34211', '941', '27.44495', '-82.38664', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56639, 'Bradington', 2788, '34211', '941', '27.44495', '-82.38664', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56640, 'Lakewood Ranch', 2788, '34211', '941', '27.44495', '-82.38664', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56641, 'Lakewood Rch', 2788, '34211', '941', '27.44495', '-82.38664', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56642, 'Ellenton', 2788, '34222', '941', '27.530533', '-82.514817', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56643, 'Sarasota', 2788, '34236', '941', '27.326394', '-82.559301', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56644, 'Laurel', 2788, '34272', '941', '27.135', '-82.4525', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56645, 'Dunnellon', 2788, '34431', '352', '29.1305', '-82.519318', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56646, 'Holder', 2788, '34445', '352', '28.9137', '-82.4584', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56647, 'Ocala', 2788, '34470', '352', '29.199366', '-82.062655', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56648, 'Ocala', 2788, '34479', '352', '29.271356', '-82.108871', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56649, 'Brooksville', 2788, '34613', '352', '28.555472', '-82.524481', '2018-11-29 05:05:49', '2018-11-29 05:05:49'),\n(56650, 'Spring Hill', 2788, '34613', '352', '28.555472', '-82.524481', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56651, 'Weeki Wachee', 2788, '34613', '352', '28.555472', '-82.524481', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56652, 'Aripeka', 2788, '34679', '727', '28.430217', '-82.661981', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56653, 'Holiday', 2788, '34690', '727', '28.191317', '-82.724085', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56654, 'Tarpon Spgs', 2788, '34690', '727', '28.191317', '-82.724085', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56655, 'Tarpon Spngs', 2788, '34690', '727', '28.191317', '-82.724085', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56656, 'Tarpon Springs', 2788, '34690', '727', '28.191317', '-82.724085', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56657, 'Dunedin', 2788, '34697', '727', '28.0194', '-82.7716', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56658, 'Ferndale', 2788, '34729', '352', '28.6219', '-81.7037', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56659, 'Mystic', 2789, '31769', '229', '31.6216', '-83.3357', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56660, 'Box Springs', 2789, '31801', '706', '32.482945', '-84.563959', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56661, 'Juniper', 2789, '31801', '706', '32.482945', '-84.563959', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56662, 'Savannah', 2789, '31401', '912', '32.075798', '-81.075624', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56663, 'Savannah', 2789, '31402', '912', '32.0836', '-81.1003', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56664, 'New Salisbury', 2795, '47161', '812', '38.319914', '-86.10592', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56665, 'Underwood', 2795, '47177', '812', '38.607758', '-85.770246', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56666, 'Hayden', 2795, '47245', '812', '38.9832', '-85.7408', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56667, 'Ari', 2795, '46723', '260', '41.233438', '-85.345999', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56668, 'Blue Lake', 2795, '46723', '260', '41.233438', '-85.345999', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56669, 'Churubusco', 2795, '46723', '260', '41.233438', '-85.345999', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56670, 'Eel River', 2795, '46723', '260', '41.233438', '-85.345999', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56671, 'Clear Lake', 2795, '46737', '260', '41.714593', '-84.945693', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56672, 'Fremont', 2795, '46737', '260', '41.714593', '-84.945693', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56673, 'Long Lake', 2795, '46737', '260', '41.714593', '-84.945693', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56674, 'Otter Lake', 2795, '46737', '260', '41.714593', '-84.945693', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56675, 'Ray', 2795, '46737', '260', '41.714593', '-84.945693', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56676, 'Mongo', 2795, '46771', '260', '41.6844', '-85.2798', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56677, 'Preble', 2795, '46782', '260', '40.8322', '-85.0149', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56678, 'Fort Wayne', 2795, '46807', '260', '41.040528', '-85.151388', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56679, 'Ft Wayne', 2795, '46807', '260', '41.040528', '-85.151388', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56680, 'Athens', 2795, '46912', '574', '41.0536', '-86.1256', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56681, 'Bunker Hill', 2795, '46914', '765', '40.631587', '-86.089675', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56682, 'Burrows', 2795, '46916', '574', '40.6769', '-86.5078', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56683, 'Deedsville', 2795, '46921', '765', '40.902926', '-86.104094', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56684, 'Delphi', 2795, '46923', '765', '40.585216', '-86.638454', '2018-11-29 05:05:50', '2018-11-29 05:05:50'),\n(56685, 'Liberty Mills', 2795, '46946', '260', '41.039224', '-85.73131', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56686, 'Upland', 2795, '46989', '765', '40.450846', '-85.495213', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56687, 'Landess', 2795, '46991', '765', '40.62512', '-85.508334', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56688, 'Van Buren', 2795, '46991', '765', '40.62512', '-85.508334', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56689, 'Denham', 2795, '46996', '219', '41.038777', '-86.641198', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56690, 'Winamac', 2795, '46996', '219', '41.038777', '-86.641198', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56691, 'Friendship', 2795, '47021', '812', '38.972606', '-85.144947', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56692, 'Dabney', 2795, '47023', '812', '39.030358', '-85.368688', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56693, 'Holton', 2795, '47023', '812', '39.030358', '-85.368688', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56694, 'New Marion', 2795, '47023', '812', '39.030358', '-85.368688', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56695, 'Blue Creek', 2795, '47041', '812', '39.235491', '-85.098843', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56696, 'Hubbells Corner', 2795, '47041', '812', '39.235491', '-85.098843', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56697, 'Lawrenceville', 2795, '47041', '812', '39.235491', '-85.098843', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56698, 'Penntown', 2795, '47041', '812', '39.235491', '-85.098843', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56699, 'Sunman', 2795, '47041', '812', '39.235491', '-85.098843', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56700, 'Weisburg', 2795, '47041', '812', '39.235491', '-85.098843', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56701, 'Crandall', 2795, '47114', '812', '38.28703', '-86.075972', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56702, 'Eckerty', 2795, '47116', '812', '38.32931', '-86.615', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56703, 'Ramsey', 2795, '47166', '812', '38.317285', '-86.160942', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56704, 'Butlerville', 2795, '47223', '812', '39.04687', '-85.490131', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56705, 'Muscatatuck', 2795, '47223', '812', '39.04687', '-85.490131', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56706, 'Nebraska', 2795, '47223', '812', '39.04687', '-85.490131', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56707, 'Clarksburg', 2795, '47225', '812', '39.4334', '-85.3479', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56708, 'Vernon', 2795, '47282', '812', '38.985268', '-85.60946', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56709, 'Kewanna', 2795, '46939', '574', '41.011286', '-86.399342', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56710, 'Lagro', 2795, '46941', '765', '40.828285', '-85.706288', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56711, 'Grissom A R B', 2795, '46971', '765', '40.6587', '-86.1483', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56712, 'Grissom Air Reserve Base', 2795, '46971', '765', '40.6587', '-86.1483', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56713, 'Grissom Arb', 2795, '46971', '765', '40.6587', '-86.1483', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56714, 'Peru', 2795, '46971', '765', '40.6587', '-86.1483', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56715, 'Servia', 2795, '46980', '260', '40.9543', '-85.7403', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56716, 'Cedar Grove', 2795, '47016', '765', '39.383216', '-84.881762', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56717, 'Pierceville', 2795, '47039', '812', '39.1334', '-85.1798', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56718, 'Bradford', 2795, '47107', '812', '38.3678', '-86.0619', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56719, 'Grantsburg', 2795, '47123', '812', '38.272753', '-86.481654', '2018-11-29 05:05:51', '2018-11-29 05:05:51'),\n(56720, 'Cementville', 2795, '47130', '812', '38.334532', '-85.694307', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56721, 'Jeff', 2795, '47130', '812', '38.334532', '-85.694307', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56722, 'Jeffersonville', 2795, '47130', '812', '38.334532', '-85.694307', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56723, 'Jeffersonvlle', 2795, '47130', '812', '38.334532', '-85.694307', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56724, 'Utica', 2795, '47130', '812', '38.334532', '-85.694307', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56725, 'Watson', 2795, '47130', '812', '38.334532', '-85.694307', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56726, 'Bureau Of The Census', 2795, '47132', '812', '38.2901', '-85.7514', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56727, 'Jeffersonville', 2795, '47132', '812', '38.2901', '-85.7514', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56728, 'Jeffersonvlle', 2795, '47132', '812', '38.2901', '-85.7514', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56729, 'New Albany', 2795, '47150', '812', '38.28118', '-85.841003', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56730, 'Deputy', 2795, '47230', '812', '38.800682', '-85.638511', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56731, 'Elizabethtown', 2795, '47232', '812', '39.10843', '-85.774063', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56732, 'Grammer', 2795, '47232', '812', '39.10843', '-85.774063', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56733, 'Brooksburg', 2795, '47250', '812', '38.834702', '-85.364576', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56734, 'Jefferson Proving Ground', 2795, '47250', '812', '38.834702', '-85.364576', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56735, 'Jefferson Prv Grnd', 2795, '47250', '812', '38.834702', '-85.364576', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56736, 'Madison', 2795, '47250', '812', '38.834702', '-85.364576', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56737, 'North Madison', 2795, '47250', '812', '38.834702', '-85.364576', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56738, 'Norman', 2795, '47264', '812', '38.960366', '-86.276007', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56739, 'Scipio', 2795, '47273', '812', '39.064846', '-85.72902', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56740, 'Taylorsville', 2795, '47280', '812', '39.296377', '-85.95184', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56741, 'Lebanon', 2795, '46052', '765', '40.043462', '-86.463222', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56742, 'Ulen', 2795, '46052', '765', '40.043462', '-86.463222', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56743, 'Freeport', 2795, '46161', '765', '39.658698', '-85.701039', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56744, 'Morristown', 2795, '46161', '765', '39.658698', '-85.701039', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56745, 'Putnamville', 2795, '46170', '765', '39.5744', '-86.8653', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56746, 'Plainfield', 2795, '46197', '317', '0', '0', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56747, 'Usps Critical Parts', 2795, '46197', '317', '0', '0', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56748, 'Indianapolis', 2795, '46204', '317', '39.77275', '-86.159447', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56749, 'Indianapolis', 2795, '46220', '317', '39.866058', '-86.101651', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56750, 'Homecroft', 2795, '46227', '317', '39.67907', '-86.127835', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56751, 'Indianapolis', 2795, '46227', '317', '39.67907', '-86.127835', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56752, 'Southport', 2795, '46227', '317', '39.67907', '-86.127835', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56753, 'Chase Bank', 2795, '46277', '317', '39.7683', '-86.1582', '2018-11-29 05:05:52', '2018-11-29 05:05:52'),\n(56754, 'Indianapolis', 2795, '46277', '317', '39.7683', '-86.1582', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56755, 'Burns Harbor', 2795, '46304', '219', '41.618814', '-87.03937', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56756, 'Chesterton', 2795, '46304', '219', '41.618814', '-87.03937', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56757, 'Dune Acres', 2795, '46304', '219', '41.618814', '-87.03937', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56758, 'Porter', 2795, '46304', '219', '41.618814', '-87.03937', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56759, 'Gary', 2795, '46404', '219', '41.585571', '-87.379362', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56760, 'Gary', 2795, '46411', '219', '41.5936', '-87.3467', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56761, 'Merrillville', 2795, '46411', '219', '41.5936', '-87.3467', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56762, 'Bremen', 2795, '46506', '574', '41.470324', '-86.164419', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56763, 'Tyner', 2795, '46572', '574', '41.4097', '-86.4028', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56764, 'Warsaw', 2795, '46581', '574', '41.2394', '-85.8505', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56765, 'Wyatt', 2795, '46595', '574', '41.526416', '-86.166603', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56766, 'South Bend', 2795, '46613', '574', '41.654893', '-86.260184', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56767, 'Arcola', 2795, '46704', '260', '41.1024', '-85.2866', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56768, 'Bippus', 2795, '46713', '260', '40.9442', '-85.6238', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56769, 'Craigville', 2795, '46731', '260', '40.79474', '-85.104245', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56770, 'Altona', 2795, '46738', '260', '41.32279', '-85.14039', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56771, 'Butler Center', 2795, '46738', '260', '41.32279', '-85.14039', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56772, 'Cedar Creek', 2795, '46738', '260', '41.32279', '-85.14039', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56773, 'Dutch Town', 2795, '46738', '260', '41.32279', '-85.14039', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56774, 'Garrett', 2795, '46738', '260', '41.32279', '-85.14039', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56775, 'Keyser', 2795, '46738', '260', '41.32279', '-85.14039', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56776, 'Markle', 2795, '46770', '260', '40.858465', '-85.307899', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56777, 'Coppess Corner', 2795, '46772', '260', '40.727094', '-84.907877', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56778, 'Monroe', 2795, '46772', '260', '40.727094', '-84.907877', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56779, 'Gar Creek', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56780, 'Meadowbrook', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56781, 'Milan Center', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56782, 'New Haven', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56783, 'New Haven Heights', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56784, 'Tanglewood', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56785, 'Thurman', 2795, '46774', '260', '41.101112', '-84.969281', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56786, 'Golden Lake', 2795, '46779', '260', '41.577142', '-85.029182', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56787, 'Pleasant Lake', 2795, '46779', '260', '41.577142', '-85.029182', '2018-11-29 05:05:53', '2018-11-29 05:05:53'),\n(56788, 'Adams Lake', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56789, 'Lakeside', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56790, 'Pretty Lake', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56791, 'Shady Nook', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56792, 'Timberhurst', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56793, 'Witmer Manor', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56794, 'Wolcottville', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56795, 'Woodland Park', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56796, 'Woodruff', 2795, '46795', '260', '41.565478', '-85.328124', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56797, 'Zanesville', 2795, '46799', '260', '40.916497', '-85.281622', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56798, 'Fort Wayne', 2795, '46804', '260', '41.045658', '-85.231907', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56799, 'Ft Wayne', 2795, '46804', '260', '41.045658', '-85.231907', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56800, 'Diplomat', 2795, '46806', '260', '41.046602', '-85.0815', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56801, 'Diplomat Plaza', 2795, '46806', '260', '41.046602', '-85.0815', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56802, 'Fort Wayne', 2795, '46806', '260', '41.046602', '-85.0815', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56803, 'Ft Wayne', 2795, '46806', '260', '41.046602', '-85.0815', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56804, 'Fort Wayne', 2795, '46854', '260', '41.1306', '-85.1289', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56805, 'Fort Wayne', 2795, '46865', '260', '41.1306', '-85.1289', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56806, 'Business Reply', 2795, '46897', '260', '41.0742', '-85.1405', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56807, 'Fort Wayne', 2795, '46897', '260', '41.0742', '-85.1405', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56808, 'Fort Wayne Brm', 2795, '46897', '260', '41.0742', '-85.1405', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56809, 'Bringhurst', 2795, '46913', '765', '40.507138', '-86.504408', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56810, 'Delong', 2795, '46922', '574', '41.1384', '-86.4167', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56811, 'Flora', 2795, '46929', '765', '40.54339', '-86.469382', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56812, 'Logansport', 2795, '46947', '574', '40.743059', '-86.37463', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56813, 'Oakford', 2795, '46965', '765', '40.4195', '-86.1042', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56814, 'Milan', 2795, '47031', '812', '39.118653', '-85.13802', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56815, 'Morris', 2795, '47033', '812', '39.2824', '-85.1775', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56816, 'Borden', 2795, '47106', '812', '38.448708', '-85.900658', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56817, 'Starlight', 2795, '47106', '812', '38.448708', '-85.900658', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56818, 'Greenville', 2795, '47124', '812', '38.369412', '-86.007362', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56819, 'Limedale', 2795, '46135', '765', '39.662537', '-86.857316', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56820, 'Manhattan', 2795, '46135', '765', '39.662537', '-86.857316', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56821, 'Morton', 2795, '46135', '765', '39.662537', '-86.857316', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56822, 'New Palestine', 2795, '46163', '317', '39.72713', '-85.890248', '2018-11-29 05:05:54', '2018-11-29 05:05:54'),\n(56823, 'Barnard', 2795, '46172', '765', '39.82124', '-86.815931', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56824, 'Fincastle', 2795, '46172', '765', '39.82124', '-86.815931', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56825, 'New Maysville', 2795, '46172', '765', '39.82124', '-86.815931', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56826, 'Roachdale', 2795, '46172', '765', '39.82124', '-86.815931', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56827, 'Indianapolis', 2795, '46202', '317', '39.780667', '-86.16635', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56828, 'Indianapolis', 2795, '46211', '317', '39.7683', '-86.1582', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56829, 'Time Life Inc', 2795, '46211', '317', '39.7683', '-86.1582', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56830, 'Cumberland', 2795, '46229', '317', '39.783877', '-85.971443', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56831, 'Indianapolis', 2795, '46229', '317', '39.783877', '-85.971443', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56832, 'Indianapolis', 2795, '46236', '317', '39.88581', '-85.973834', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56833, 'Oaklandon', 2795, '46236', '317', '39.88581', '-85.973834', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56834, 'Eagle Creek', 2795, '46254', '317', '39.8447', '-86.266276', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56835, 'Indianapolis', 2795, '46254', '317', '39.8447', '-86.266276', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56836, 'Indianapolis', 2795, '46295', '317', '39.7683', '-86.1582', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56837, 'Usps Scanner Repair', 2795, '46295', '317', '39.7683', '-86.1582', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56838, 'Boone Grove', 2795, '46302', '219', '41.3544', '-87.1296', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56839, 'Dyer', 2795, '46311', '219', '41.461195', '-87.500729', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56840, 'Hammond', 2795, '46320', '219', '41.650963', '-87.493501', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56841, 'Hammond', 2795, '46322', '219', '41.546588', '-87.45677', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56842, 'Highland', 2795, '46322', '219', '41.546588', '-87.45677', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56843, 'Kingsbury', 2795, '46345', '219', '41.52879', '-86.7001', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56844, 'Belshaw', 2795, '46356', '219', '41.255106', '-87.408781', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56845, 'Creston', 2795, '46356', '219', '41.255106', '-87.408781', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56846, 'Lake Dalecarlia', 2795, '46356', '219', '41.255106', '-87.408781', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56847, 'Lowell', 2795, '46356', '219', '41.255106', '-87.408781', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56848, 'North Hayden', 2795, '46356', '219', '41.255106', '-87.408781', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56849, 'Michigan City', 2795, '46361', '219', '41.7114', '-86.8714', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56850, 'Roselawn', 2795, '46372', '219', '41.1414', '-87.3147', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56851, 'Thayer', 2795, '46381', '219', '41.171218', '-87.331303', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56852, 'Brunswick', 2795, '46406', '219', '41.602527', '-87.404573', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56853, 'Gary', 2795, '46406', '219', '41.602527', '-87.404573', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56854, 'Bourbon', 2795, '46504', '574', '41.296226', '-86.121142', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56855, 'Grovertown', 2795, '46531', '219', '41.353132', '-86.524338', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56856, 'Mishawaka', 2795, '46545', '574', '41.692638', '-86.142156', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56857, 'North Liberty', 2795, '46554', '574', '41.562161', '-86.427475', '2018-11-29 05:05:55', '2018-11-29 05:05:55'),\n(56858, 'Osceola', 2795, '46561', '574', '41.666378', '-86.076047', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56859, 'South Bend', 2795, '46615', '574', '41.67694', '-86.216285', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56860, 'Auburn', 2795, '46706', '260', '41.334652', '-85.031102', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56861, 'Auburn Junction', 2795, '46706', '260', '41.334652', '-85.031102', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56862, 'Norland Park', 2795, '46706', '260', '41.334652', '-85.031102', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56863, 'Ceylon', 2795, '46740', '260', '40.620387', '-84.954619', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56864, 'Geneva', 2795, '46740', '260', '40.620387', '-84.954619', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56865, 'Edgerton', 2795, '46797', '260', '41.120176', '-84.875774', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56866, 'Maumee', 2795, '46797', '260', '41.120176', '-84.875774', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56867, 'Woodburn', 2795, '46797', '260', '41.120176', '-84.875774', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56868, 'Fort Wayne', 2795, '46815', '260', '41.09937', '-85.067235', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56869, 'Ft Wayne', 2795, '46815', '260', '41.09937', '-85.067235', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56870, 'Fort Wayne', 2795, '46856', '260', '41.1306', '-85.1289', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56871, 'Burlington', 2795, '46915', '765', '40.4803', '-86.3944', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56872, 'Fulton', 2795, '46931', '574', '40.947326', '-86.264165', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56873, 'Roann', 2795, '46974', '765', '40.947936', '-85.900634', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56874, 'Urbana', 2795, '46990', '260', '40.902243', '-85.73628', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56875, 'Andersonville', 2795, '47024', '765', '39.464699', '-85.173932', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56876, 'Buena Vista', 2795, '47024', '765', '39.464699', '-85.173932', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56877, 'Laurel', 2795, '47024', '765', '39.464699', '-85.173932', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56878, 'Depauw', 2795, '47115', '812', '38.342254', '-86.220289', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56879, 'Clarksville', 2795, '47131', '812', '38.2901', '-85.7514', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56880, 'Jeffersonville', 2795, '47131', '812', '38.2901', '-85.7514', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56881, 'Jeffersonvlle', 2795, '47131', '812', '38.2901', '-85.7514', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56882, 'Bureau Of The Census', 2795, '47133', '812', '38.2901', '-85.7514', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56883, 'Jeffersonville', 2795, '47133', '812', '38.2901', '-85.7514', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56884, 'Jeffersonvlle', 2795, '47133', '812', '38.2901', '-85.7514', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56885, 'Bureau Of Census Decennial', 2795, '47190', '812', '38.286557', '-85.73205', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56886, 'Jeffersonville', 2795, '47190', '812', '38.286557', '-85.73205', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56887, 'Jeffersonvlle', 2795, '47190', '812', '38.286557', '-85.73205', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56888, 'Canaan', 2795, '47224', '812', '38.883416', '-85.224919', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56889, 'New Point', 2795, '47263', '812', '39.308594', '-85.3311', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56890, 'Saint Paul', 2795, '47272', '765', '39.41077', '-85.629112', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56891, 'St Paul', 2795, '47272', '765', '39.41077', '-85.629112', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56892, 'Lutheran Lake', 2795, '47274', '812', '38.961032', '-85.955868', '2018-11-29 05:05:56', '2018-11-29 05:05:56'),\n(56893, 'Seymour', 2795, '47274', '812', '38.961032', '-85.955868', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56894, 'Alert', 2795, '47283', '812', '39.169589', '-85.570423', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56895, 'Quailtown', 2795, '47283', '812', '39.169589', '-85.570423', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56896, 'Sardinia', 2795, '47283', '812', '39.169589', '-85.570423', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56897, 'Westport', 2795, '47283', '812', '39.169589', '-85.570423', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56898, 'Indianapolis', 2795, '46241', '317', '39.716911', '-86.261552', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56899, 'Mars Hill', 2795, '46241', '317', '39.716911', '-86.261552', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56900, 'Maywood', 2795, '46241', '317', '39.716911', '-86.261552', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56901, 'Park Fletcher', 2795, '46241', '317', '39.716911', '-86.261552', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56902, 'Indianapolis', 2795, '46242', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56903, 'Castleton', 2795, '46256', '317', '39.90515', '-85.991269', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56904, 'Indianapolis', 2795, '46256', '317', '39.90515', '-85.991269', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56905, 'Acton', 2795, '46259', '317', '39.64902', '-85.993206', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56906, 'Indianapolis', 2795, '46259', '317', '39.64902', '-85.993206', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56907, 'Indianapolis', 2795, '46274', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56908, 'Time Life Inc', 2795, '46274', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56909, 'Indianapolis', 2795, '46275', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56910, 'Time Life Inc', 2795, '46275', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56911, 'Indianapolis', 2795, '46290', '317', '39.937814', '-86.164932', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56912, 'Nora', 2795, '46290', '317', '39.937814', '-86.164932', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56913, 'B M G', 2795, '46291', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56914, 'Indianapolis', 2795, '46291', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56915, 'Rca Mfg Co', 2795, '46291', '317', '39.7683', '-86.1582', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56916, 'Crown Point', 2795, '46307', '219', '41.396923', '-87.324818', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56917, 'Lakes Of Four Seasons', 2795, '46307', '219', '41.396923', '-87.324818', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56918, 'Palmer', 2795, '46307', '219', '41.396923', '-87.324818', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56919, 'Winfield', 2795, '46307', '219', '41.396923', '-87.324818', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56920, 'Crown Point', 2795, '46308', '219', '41.4256', '-87.3596', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56921, 'Demotte', 2795, '46310', '219', '41.195198', '-87.262918', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56922, 'Kersey', 2795, '46310', '219', '41.195198', '-87.262918', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56923, 'Hebron', 2795, '46341', '219', '41.323027', '-87.211178', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56924, 'San Pierre', 2795, '46374', '219', '41.2118', '-86.89604', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56925, 'Schererville', 2795, '46375', '219', '41.488118', '-87.443722', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56926, 'Shelby', 2795, '46377', '219', '41.191062', '-87.34748', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56927, 'Haskells', 2795, '46390', '219', '41.4188', '-86.872339', '2018-11-29 05:05:57', '2018-11-29 05:05:57'),\n(56928, 'South Wanatah', 2795, '46390', '219', '41.4188', '-86.872339', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56929, 'Thomaston', 2795, '46390', '219', '41.4188', '-86.872339', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56930, 'Wanatah', 2795, '46390', '219', '41.4188', '-86.872339', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56931, 'Wheatfield', 2795, '46392', '219', '41.175186', '-87.045261', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56932, 'Gary', 2795, '46410', '219', '41.480962', '-87.316428', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56933, 'Merrillville', 2795, '46410', '219', '41.480962', '-87.316428', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56934, 'Millersburg', 2795, '46543', '574', '41.532107', '-85.674979', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56935, 'Berne', 2795, '46711', '260', '40.672923', '-84.935905', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56936, 'Linn Grove', 2795, '46711', '260', '40.672923', '-84.935905', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56937, 'Big Lake', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56938, 'Coesse', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56939, 'Collins', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56940, 'Columbia City', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56941, 'Etna', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56942, 'Goose Lake', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56943, 'Laud', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56944, 'Loon Lake', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56945, 'Lorane', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56946, 'Ormas', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56947, 'Peabody', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56948, 'Raber', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56949, 'Thorncreek', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56950, 'Tri Lakes', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56951, 'Wilson Lake', 2795, '46725', '260', '41.153153', '-85.480622', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56952, 'Alvarado', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56953, 'Circle Park', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56954, 'Clarks Landing', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(56955, 'Cold Springs', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56956, 'Forest Park Beach', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56957, 'Hamilton', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56958, 'Island Park', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56959, 'Oakwood', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56960, 'Oakwood Shores', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56961, 'Otsego', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:58', '2018-11-29 05:05:58'),\n(56962, 'Penn Park', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56963, 'Russels Point', 2795, '46742', '260', '41.544459', '-84.886826', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56964, 'Petroleum', 2795, '46778', '765', '40.6143', '-85.1542', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56965, 'Fort Wayne', 2795, '46825', '260', '41.148709', '-85.113139', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56966, 'Ft Wayne', 2795, '46825', '260', '41.148709', '-85.113139', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56967, 'Fort Wayne', 2795, '46858', '260', '41.1306', '-85.1289', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56968, 'Fort Wayne', 2795, '46861', '260', '41.1306', '-85.1289', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56969, 'Amboy', 2795, '46911', '765', '40.635502', '-85.948853', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56970, 'Chili', 2795, '46926', '765', '40.880132', '-86.05577', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56971, 'Denver', 2795, '46926', '765', '40.880132', '-86.05577', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56972, 'Lake Cicott', 2795, '46942', '574', '40.7644', '-86.5243', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56973, 'Miami', 2795, '46959', '765', '40.623081', '-86.113446', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56974, 'Monterey', 2795, '46960', '574', '41.155145', '-86.517912', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56975, 'Rochester', 2795, '46975', '574', '41.040973', '-86.271667', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56976, 'Royal Center', 2795, '46978', '574', '40.859086', '-86.511548', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56977, 'W Middleton', 2795, '46995', '765', '40.4436', '-86.216', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56978, 'West Middleton', 2795, '46995', '765', '40.4436', '-86.216', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56979, 'Greendale', 2795, '47025', '812', '39.162674', '-84.891373', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56980, 'Lawrenceburg', 2795, '47025', '812', '39.162674', '-84.891373', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56981, 'Central', 2795, '47110', '812', '38.10854', '-86.214613', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56982, 'New Amsterdam', 2795, '47110', '812', '38.10854', '-86.214613', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56983, 'Cementville', 2795, '47129', '812', '38.313654', '-85.771663', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56984, 'Clarksville', 2795, '47129', '812', '38.313654', '-85.771663', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56985, 'Jeff', 2795, '47129', '812', '38.313654', '-85.771663', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56986, 'Jeffersonville', 2795, '47129', '812', '38.313654', '-85.771663', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56987, 'Jeffersonvlle', 2795, '47129', '812', '38.313654', '-85.771663', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56988, 'Memphis', 2795, '47143', '812', '38.467949', '-85.767596', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56989, 'St Joe', 2795, '46785', '260', '41.320092', '-84.888634', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56990, 'Fort Wayne', 2795, '46850', '260', '41.1306', '-85.1289', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56991, 'Fort Wayne', 2795, '46851', '260', '41.1306', '-85.1289', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56992, 'Fort Wayne', 2795, '46853', '260', '41.1306', '-85.1289', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56993, 'Fort Wayne', 2795, '46869', '260', '41.1306', '-85.1289', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56994, 'Kokomo', 2795, '46901', '765', '40.524927', '-86.175758', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56995, 'Kokomo', 2795, '46903', '765', '40.4864', '-86.1336', '2018-11-29 05:05:59', '2018-11-29 05:05:59'),\n(56996, 'Gas City', 2795, '46933', '765', '40.489462', '-85.6013', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(56997, 'Macy', 2795, '46951', '765', '40.947052', '-86.083016', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(56998, 'Nyona Lake', 2795, '46951', '765', '40.947052', '-86.083016', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(56999, 'Marion', 2795, '46952', '765', '40.604879', '-85.611015', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57000, 'Marion', 2795, '46953', '765', '40.508987', '-85.62632', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57001, 'Mount Meridian', 2795, '46135', '765', '39.662537', '-86.857316', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57002, 'Mt Meridian', 2795, '46135', '765', '39.662537', '-86.857316', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57003, 'Homer', 2795, '46146', '765', '39.5782', '-85.5783', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57004, 'Bean Blossom', 2795, '46160', '812', '39.367152', '-86.28345', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57005, 'Fruitdale', 2795, '46160', '812', '39.367152', '-86.28345', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57006, 'Morgantown', 2795, '46160', '812', '39.367152', '-86.28345', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57007, 'Indianapolis', 2795, '46203', '317', '39.728498', '-86.097844', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57008, 'Indianapolis', 2795, '46237', '317', '39.679544', '-86.088522', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57009, 'Southport', 2795, '46237', '317', '39.679544', '-86.088522', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57010, 'Indianapolis', 2795, '46255', '317', '39.7683', '-86.1582', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57011, 'Merchants Bank', 2795, '46255', '317', '39.7683', '-86.1582', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57012, 'Pnc Bank', 2795, '46255', '317', '39.7683', '-86.1582', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57013, 'Huntington Bank', 2795, '46262', '317', '0', '0', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57014, 'Indianapolis', 2795, '46262', '317', '0', '0', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57015, 'Indianapolis', 2795, '46278', '317', '39.889388', '-86.29654', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57016, 'New Augusta', 2795, '46278', '317', '39.889388', '-86.29654', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57017, 'Traders Point', 2795, '46278', '317', '39.889388', '-86.29654', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57018, 'Kingsford Heights', 2795, '46346', '219', '41.47305', '-86.694088', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57019, 'Kingsford Hts', 2795, '46346', '219', '41.47305', '-86.694088', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57020, 'Leroy', 2795, '46355', '219', '41.36', '-87.2719', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57021, 'Tefft', 2795, '46380', '219', '41.1987', '-86.9736', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57022, 'Wheatfield', 2795, '46380', '219', '41.1987', '-86.9736', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57023, 'Gary', 2795, '46403', '219', '41.606084', '-87.25335', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57024, 'Elkhart', 2795, '46514', '574', '41.71776', '-85.972794', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57025, 'Goshen', 2795, '46528', '574', '41.595824', '-85.788115', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57026, 'Granger', 2795, '46530', '574', '41.733676', '-86.122866', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57027, 'La Paz', 2795, '46537', '574', '41.456255', '-86.306738', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57028, 'Lapaz', 2795, '46537', '574', '41.456255', '-86.306738', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57029, 'Mentone', 2795, '46539', '574', '41.165729', '-86.011748', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57030, 'New Paris', 2795, '46553', '574', '41.478673', '-85.847098', '2018-11-29 05:06:00', '2018-11-29 05:06:00'),\n(57031, 'North Webster', 2795, '46555', '574', '41.32281', '-85.694097', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57032, 'Pierceton', 2795, '46562', '574', '41.220566', '-85.688584', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57033, 'Sidney', 2795, '46562', '574', '41.220566', '-85.688584', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57034, 'Warsaw', 2795, '46580', '574', '41.198805', '-85.878442', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57035, 'South Bend', 2795, '46680', '574', '41.6833', '-86.2503', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57036, 'Angola', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57037, 'Berlien', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57038, 'Crooked Lake', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57039, 'Flint', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57040, 'Fox Lake', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57041, 'Glen Eden', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57042, 'Lake James', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57043, 'Metz', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57044, 'Nevada Mills', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57045, 'Scott', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57046, 'York', 2795, '46703', '260', '41.662029', '-85.000477', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57047, 'Corunna', 2795, '46730', '260', '41.453718', '-85.14621', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57048, 'Fairfield Center', 2795, '46730', '260', '41.453718', '-85.14621', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57049, 'Indian Lake', 2795, '46730', '260', '41.453718', '-85.14621', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57050, 'Cromwell', 2795, '46732', '260', '41.377608', '-85.613136', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57051, 'Enchanted Hills', 2795, '46732', '260', '41.377608', '-85.613136', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57052, 'Indian Village', 2795, '46732', '260', '41.377608', '-85.613136', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57053, 'Knapp Lake', 2795, '46732', '260', '41.377608', '-85.613136', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57054, 'Allen', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57055, 'Cree Lake', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57056, 'Kendallville', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57057, 'Lisbon', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57058, 'Round Lake', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57059, 'Wakefield Village', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57060, 'Wayne Center', 2795, '46755', '260', '41.44224', '-85.27733', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57061, 'Etna-Troy', 2795, '46764', '260', '41.221244', '-85.622914', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57062, 'Larwill', 2795, '46764', '260', '41.221244', '-85.622914', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57063, 'Collamer', 2795, '46787', '260', '41.071257', '-85.617504', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57064, 'Luther', 2795, '46787', '260', '41.071257', '-85.617504', '2018-11-29 05:06:01', '2018-11-29 05:06:01'),\n(57065, 'South Whitley', 2795, '46787', '260', '41.071257', '-85.617504', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57066, 'Tunker', 2795, '46787', '260', '41.071257', '-85.617504', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57067, 'Fort Wayne', 2795, '46896', '260', '41.1306', '-85.1289', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57068, 'Fort Wayne', 2795, '46898', '260', '41.1306', '-85.1289', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57069, 'Galveston', 2795, '46932', '574', '40.60751', '-86.260244', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57070, 'Hemlock', 2795, '46937', '765', '40.4202', '-86.0416', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57071, 'Bakertown', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57072, 'Bear Lake', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57073, 'Burr Oak', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57074, 'Green Center', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57075, 'High Lake', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57076, 'Merriam', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57077, 'Skinner Lake', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57078, 'Upper Long Lake', 2795, '46701', '260', '41.359814', '-85.427541', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57079, 'Barrington Woods', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57080, 'Bo Bo', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57081, 'Decatur', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57082, 'Hondorus', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57083, 'Peterson', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57084, 'Sunny Acres', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57085, 'Yost Woods', 2795, '46733', '260', '40.829896', '-84.937892', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57086, 'Liberty Center', 2795, '46766', '260', '40.705601', '-85.297326', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57087, 'Liberty Ctr', 2795, '46766', '260', '40.705601', '-85.297326', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57088, 'Frankfort', 2795, '46041', '765', '40.318902', '-86.468821', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57089, 'Hillisburg', 2795, '46041', '765', '40.318902', '-86.468821', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57090, 'Beech Grove', 2795, '46107', '317', '39.7141', '-86.088764', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57091, 'Atterbury', 2795, '46124', '812', '39.384915', '-85.931954', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57092, 'Camp Atterbry', 2795, '46124', '812', '39.384915', '-85.931954', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57093, 'Camp Atterbury', 2795, '46124', '812', '39.384915', '-85.931954', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57094, 'Camp Attrbry', 2795, '46124', '812', '39.384915', '-85.931954', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57095, 'Edinburgh', 2795, '46124', '812', '39.384915', '-85.931954', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57096, 'Greenwd', 2795, '46143', '317', '39.592832', '-86.101561', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57097, 'Greenwood', 2795, '46143', '317', '39.592832', '-86.101561', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57098, 'Grnwood', 2795, '46143', '317', '39.592832', '-86.101561', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57099, 'Milroy', 2795, '46156', '765', '39.496055', '-85.503598', '2018-11-29 05:06:02', '2018-11-29 05:06:02'),\n(57100, 'Monrovia', 2795, '46157', '317', '39.550655', '-86.520043', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57101, 'Shelbyville', 2795, '46176', '317', '39.523894', '-85.79089', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57102, 'Indianapolis', 2795, '46206', '317', '39.7683', '-86.1582', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57103, 'Indianapolis', 2795, '46225', '317', '39.744598', '-86.169056', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57104, 'Indianapolis', 2795, '46260', '317', '39.89453', '-86.181154', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57105, 'Meridian Hills', 2795, '46260', '317', '39.89453', '-86.181154', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57106, 'Meridian Hls', 2795, '46260', '317', '39.89453', '-86.181154', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57107, 'Nora', 2795, '46260', '317', '39.89453', '-86.181154', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57108, 'Hammond', 2795, '46324', '219', '41.584645', '-87.496053', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57109, 'South Calumet Avenue', 2795, '46324', '219', '41.584645', '-87.496053', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57110, 'Hammond', 2795, '46325', '219', '41.5835', '-87.5003', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57111, 'Hobart', 2795, '46342', '219', '41.518491', '-87.236295', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57112, 'New Chicago', 2795, '46342', '219', '41.518491', '-87.236295', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57113, 'Long Beach', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57114, 'Mich City', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57115, 'Michiana Shores', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57116, 'Michiana Shrs', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57117, 'Michigan City', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57118, 'Pines', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57119, 'Potawatami Pk', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57120, 'Pottawattamie Park', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57121, 'Town Of Pines', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57122, 'Trail Creek', 2795, '46360', '219', '41.679644', '-86.868234', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57123, 'Dyer', 2795, '46373', '219', '41.450011', '-87.472237', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57124, 'Saint John', 2795, '46373', '219', '41.450011', '-87.472237', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57125, 'St John', 2795, '46373', '219', '41.450011', '-87.472237', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57126, 'Schneider', 2795, '46376', '219', '41.177374', '-87.485434', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57127, 'Wheeler', 2795, '46393', '219', '41.511286', '-87.178409', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57128, 'Gary', 2795, '46408', '219', '41.544792', '-87.374624', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57129, 'Gary', 2795, '46409', '219', '41.545698', '-87.320442', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57130, 'Bristol', 2795, '46507', '574', '41.710801', '-85.815112', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57131, 'Etna Green', 2795, '46524', '574', '41.296352', '-86.018796', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57132, 'Goshen', 2795, '46527', '574', '41.5827', '-85.8348', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57133, 'Milford', 2795, '46542', '574', '41.39239', '-85.882177', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57134, 'Mishawaka', 2795, '46544', '574', '41.619622', '-86.138166', '2018-11-29 05:06:03', '2018-11-29 05:06:03'),\n(57135, 'South Bend', 2795, '46624', '574', '41.6833', '-86.2503', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57136, 'Avilla', 2795, '46710', '260', '41.354852', '-85.25097', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57137, 'Grabill', 2795, '46741', '260', '41.206127', '-84.938771', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57138, 'Harlan', 2795, '46743', '260', '41.226644', '-84.874066', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57139, 'Brushy Prairie', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57140, 'Elmira', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57141, 'Fish Lake', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57142, 'Lagrange', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57143, 'Mount Pisgah', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57144, 'Mt Pisgah', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57145, 'Plato', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57146, 'Royer Lake', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57147, 'Valentine', 2795, '46761', '260', '41.634571', '-85.365077', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57148, 'Orland', 2795, '46776', '260', '41.718996', '-85.14967', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57149, 'Fishers', 2795, '46040', '317', '39.921158', '-85.844643', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57150, 'Fortville', 2795, '46040', '317', '39.921158', '-85.844643', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57151, 'Frankfort', 2795, '46058', '765', '40.359333', '-86.633304', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57152, 'Mulberry', 2795, '46058', '765', '40.359333', '-86.633304', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57153, 'Carmel', 2795, '46074', '317', '40.037328', '-86.165878', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57154, 'Westfield', 2795, '46074', '317', '40.037328', '-86.165878', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57155, 'Whitestown', 2795, '46075', '317', '40.029784', '-86.33901', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57156, 'Windfall', 2795, '46076', '765', '40.355834', '-85.937642', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57157, 'Eminence', 2795, '46125', '765', '39.521334', '-86.641773', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57158, 'Fairland', 2795, '46126', '317', '39.632842', '-85.880996', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57159, 'Eden', 2795, '46140', '317', '39.814712', '-85.782985', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57160, 'Gem', 2795, '46140', '317', '39.814712', '-85.782985', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57161, 'Greenfield', 2795, '46140', '317', '39.814712', '-85.782985', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57162, 'Spring Lake', 2795, '46140', '317', '39.814712', '-85.782985', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57163, 'Greenwood', 2795, '46142', '317', '39.609978', '-86.178535', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57164, 'Rushville', 2795, '46173', '765', '39.603096', '-85.422931', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57165, 'Indianapolis', 2795, '46208', '317', '39.832028', '-86.176608', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57166, 'Rocky Ripple', 2795, '46208', '317', '39.832028', '-86.176608', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57167, 'Bus Reply', 2795, '46209', '317', '39.7683', '-86.1582', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57168, 'Business Reply', 2795, '46209', '317', '39.7683', '-86.1582', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57169, 'Indianapolis', 2795, '46209', '317', '39.7683', '-86.1582', '2018-11-29 05:06:04', '2018-11-29 05:06:04'),\n(57170, 'Indianapolis Brm', 2795, '46209', '317', '39.7683', '-86.1582', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57171, 'Indianapolis', 2795, '46226', '317', '39.840172', '-86.059371', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57172, 'Lawrence', 2795, '46226', '317', '39.840172', '-86.059371', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57173, 'Indianapolis', 2795, '46240', '317', '39.905097', '-86.115878', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57174, 'Nora', 2795, '46240', '317', '39.905097', '-86.115878', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57175, 'Williams Creek', 2795, '46240', '317', '39.905097', '-86.115878', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57176, 'Williams Crk', 2795, '46240', '317', '39.905097', '-86.115878', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57177, 'Hammond', 2795, '46323', '219', '41.58843', '-87.456695', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57178, 'Hessville', 2795, '46323', '219', '41.58843', '-87.456695', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57179, 'Hanna', 2795, '46340', '219', '41.375376', '-86.75861', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57180, 'Otis', 2795, '46391', '219', '41.555736', '-86.905144', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57181, 'Westville', 2795, '46391', '219', '41.555736', '-86.905144', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57182, 'Gary', 2795, '46407', '219', '41.577636', '-87.326749', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57183, 'Burket', 2795, '46508', '574', '41.154834', '-85.968702', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57184, 'Claypool', 2795, '46510', '260', '41.110034', '-85.861906', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57185, 'Foraker', 2795, '46526', '574', '41.55551', '-85.857401', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57186, 'Goshen', 2795, '46526', '574', '41.55551', '-85.857401', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57187, 'Walkerton', 2795, '46574', '574', '41.483582', '-86.475918', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57188, 'South Bend', 2795, '46626', '574', '41.6833', '-86.2503', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57189, 'South Bend Tribune', 2795, '46626', '574', '41.6833', '-86.2503', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57190, 'South Bend', 2795, '46660', '574', '41.6833', '-86.2503', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57191, 'Keystone', 2795, '46759', '765', '40.600051', '-85.173613', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57192, 'Kimmell', 2795, '46760', '260', '41.356398', '-85.553054', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57193, 'Anderson', 2795, '46012', '765', '40.154339', '-85.625772', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57194, 'Arcadia', 2795, '46030', '317', '40.1681', '-86.023262', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57195, 'Colfax', 2795, '46035', '765', '40.190521', '-86.662042', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57196, 'Fishers', 2795, '46037', '317', '39.959407', '-85.945746', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57197, 'Mc Cordsville', 2795, '46055', '317', '39.893739', '-85.898512', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57198, 'Mccordsville', 2795, '46055', '317', '39.893739', '-85.898512', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57199, 'Woodbury', 2795, '46055', '317', '39.893739', '-85.898512', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57200, 'Amo', 2795, '46103', '317', '39.689258', '-86.613271', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57201, 'Bainbridge', 2795, '46105', '765', '39.751834', '-86.812385', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57202, 'Boggstown', 2795, '46110', '317', '39.566686', '-85.913834', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57203, 'Mays', 2795, '46155', '765', '39.74354', '-85.4296', '2018-11-29 05:06:05', '2018-11-29 05:06:05'),\n(57204, 'Needham', 2795, '46162', '317', '39.553875', '-85.950512', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57205, 'Nineveh', 2795, '46164', '317', '39.31959', '-86.106781', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57206, 'Princes Lakes', 2795, '46164', '317', '39.31959', '-86.106781', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57207, 'Indianapolis', 2795, '46219', '317', '39.782954', '-86.046125', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57208, 'Irvington', 2795, '46219', '317', '39.782954', '-86.046125', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57209, 'Warren Park', 2795, '46219', '317', '39.782954', '-86.046125', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57210, 'Indianapolis', 2795, '46221', '317', '39.698565', '-86.235094', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57211, 'West Indianapolis', 2795, '46221', '317', '39.698565', '-86.235094', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57212, 'Crows Nest', 2795, '46228', '317', '39.847575', '-86.195874', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57213, 'Indianapolis', 2795, '46228', '317', '39.847575', '-86.195874', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57214, 'N Crows Nest', 2795, '46228', '317', '39.847575', '-86.195874', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57215, 'North Crows Nest', 2795, '46228', '317', '39.847575', '-86.195874', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57216, 'Spring Hills', 2795, '46228', '317', '39.847575', '-86.195874', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57217, 'Wynnedale', 2795, '46228', '317', '39.847575', '-86.195874', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57218, 'Indianapolis', 2795, '46230', '317', '39.7683', '-86.1582', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57219, 'Indianapolis', 2795, '46239', '317', '39.724661', '-86.001479', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57220, 'Wanamaker', 2795, '46239', '317', '39.724661', '-86.001479', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57221, 'Eagle Creek', 2795, '46253', '317', '39.7691', '-86.1583', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57222, 'Indianapolis', 2795, '46253', '317', '39.7691', '-86.1583', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57223, 'Cedar Lake', 2795, '46303', '219', '41.373628', '-87.464439', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57224, 'Hammond', 2795, '46321', '219', '41.550459', '-87.502968', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57225, 'Munster', 2795, '46321', '219', '41.550459', '-87.502968', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57226, 'Rolling Pr', 2795, '46371', '219', '41.679943', '-86.602714', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57227, 'Rolling Prairie', 2795, '46371', '219', '41.679943', '-86.602714', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57228, 'Robertsdale', 2795, '46394', '219', '41.67636', '-87.490039', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57229, 'Whiting', 2795, '46394', '219', '41.67636', '-87.490039', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57230, 'Mishawaka', 2795, '46546', '574', '41.6616', '-86.1588', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57231, 'Wakarusa', 2795, '46573', '574', '41.540089', '-86.052124', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57232, 'South Bend', 2795, '46614', '574', '41.601645', '-86.27604', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57233, 'Lydick', 2795, '46628', '574', '41.716894', '-86.340483', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57234, 'South Bend', 2795, '46628', '574', '41.716894', '-86.340483', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57235, 'Artic', 2795, '46721', '260', '41.423108', '-84.885304', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57236, 'Butler', 2795, '46721', '260', '41.423108', '-84.885304', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57237, 'Moore', 2795, '46721', '260', '41.423108', '-84.885304', '2018-11-29 05:06:06', '2018-11-29 05:06:06'),\n(57238, 'Newville', 2795, '46721', '260', '41.423108', '-84.885304', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57239, 'Anderson', 2795, '46015', '765', '40.1056', '-85.6805', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57240, 'Cicero', 2795, '46034', '317', '40.135399', '-86.038345', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57241, 'Westfield', 2795, '46034', '317', '40.135399', '-86.038345', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57242, 'Kempton', 2795, '46049', '765', '40.295154', '-86.218062', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57243, 'Huntsville', 2795, '46064', '765', '39.980936', '-85.748039', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57244, 'Pendleton', 2795, '46064', '765', '39.980936', '-85.748039', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57245, 'Charlottesville', 2795, '46117', '317', '39.81907', '-85.615896', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57246, 'Charlottesvle', 2795, '46117', '317', '39.81907', '-85.615896', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57247, 'Glenwood', 2795, '46133', '765', '39.58733', '-85.303531', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57248, 'Pittsboro', 2795, '46167', '317', '39.874796', '-86.467823', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57249, 'Peoga', 2795, '46181', '317', '39.373254', '-86.162252', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57250, 'Samaria', 2795, '46181', '317', '39.373254', '-86.162252', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57251, 'Spearsville', 2795, '46181', '317', '39.373254', '-86.162252', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57252, 'Trafalgar', 2795, '46181', '317', '39.373254', '-86.162252', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57253, 'New Whiteland', 2795, '46184', '317', '39.561238', '-86.074132', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57254, 'Whiteland', 2795, '46184', '317', '39.561238', '-86.074132', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57255, 'Ft Benjamin Harrison', 2795, '46216', '317', '39.861183', '-86.013226', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57256, 'Indianapolis', 2795, '46216', '317', '39.861183', '-86.013226', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57257, 'Oaklandon', 2795, '46216', '317', '39.861183', '-86.013226', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57258, 'Indianapolis', 2795, '46218', '317', '39.80704', '-86.097753', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57259, 'Indianapolis', 2795, '46231', '317', '39.71254', '-86.327688', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57260, 'Brylane', 2795, '46283', '317', '39.7683', '-86.1582', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57261, 'Indianapolis', 2795, '46283', '317', '39.7683', '-86.1582', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57262, 'Eli Lilly Co', 2795, '46285', '317', '39.7683', '-86.1582', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57263, 'Indianapolis', 2795, '46285', '317', '39.7683', '-86.1582', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57264, 'Beverly Shores', 2795, '46301', '219', '41.687313', '-86.971178', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57265, 'Beverly Shrs', 2795, '46301', '219', '41.687313', '-86.971178', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57266, 'La Porte', 2795, '46352', '219', '41.6098', '-86.7321', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57267, 'Valparaiso', 2795, '46383', '219', '41.452914', '-86.998316', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57268, 'Valpo', 2795, '46383', '219', '41.452914', '-86.998316', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57269, 'Valparaiso', 2795, '46385', '219', '41.470544', '-87.141674', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57270, 'Valpo', 2795, '46385', '219', '41.470544', '-87.141674', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57271, 'Argos', 2795, '46501', '574', '41.230159', '-86.25011', '2018-11-29 05:06:07', '2018-11-29 05:06:07'),\n(57272, 'Atwood', 2795, '46502', '574', '41.259008', '-85.970169', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57273, 'Elkhart', 2795, '46515', '574', '41.6818', '-85.9767', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57274, 'Hamlet', 2795, '46532', '574', '41.425906', '-86.624615', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57275, 'Hudson Lake', 2795, '46552', '574', '41.69764', '-86.486639', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57276, 'New Carlisle', 2795, '46552', '574', '41.69764', '-86.486639', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57277, 'Syracuse', 2795, '46567', '574', '41.401642', '-85.732872', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57278, 'Warsaw', 2795, '46582', '574', '41.272461', '-85.8491', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57279, 'South Bend', 2795, '46634', '574', '41.6833', '-86.2503', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57280, 'South Bend', 2795, '46635', '574', '41.719968', '-86.205093', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57281, 'Andrews', 2795, '46702', '260', '40.820368', '-85.612234', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57282, 'Ligonier', 2795, '46767', '260', '41.460346', '-85.577165', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57283, 'Berne', 2795, '46769', '260', '40.6579', '-84.9519', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57284, 'Linn Grove', 2795, '46769', '260', '40.6579', '-84.9519', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57285, 'Linn Grv', 2795, '46769', '260', '40.6579', '-84.9519', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57286, 'Roanoke', 2795, '46783', '260', '40.968818', '-85.353144', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57287, 'Saint Joe', 2795, '46785', '260', '41.320092', '-84.888634', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57288, 'Anderson', 2795, '46011', '765', '40.113328', '-85.767502', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57289, 'Country Club Heights', 2795, '46011', '765', '40.113328', '-85.767502', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57290, 'Ctry Clb Hgts', 2795, '46011', '765', '40.113328', '-85.767502', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57291, 'River Forest', 2795, '46011', '765', '40.113328', '-85.767502', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57292, 'Woodlawn Heights', 2795, '46011', '765', '40.113328', '-85.767502', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57293, 'Woodlawn Hgts', 2795, '46011', '765', '40.113328', '-85.767502', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57294, 'Anderson', 2795, '46013', '765', '40.050362', '-85.686448', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57295, 'Fishers', 2795, '46038', '317', '39.963702', '-86.011348', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57296, 'Goldsmith', 2795, '46045', '765', '40.289182', '-86.150356', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57297, 'Hobbs', 2795, '46047', '765', '40.283718', '-85.944235', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57298, 'Noblesville', 2795, '46061', '317', '40.056', '-86.0237', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57299, 'Orestes', 2795, '46063', '765', '40.270819', '-85.731239', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57300, 'Advance', 2795, '46102', '765', '39.996578', '-86.618767', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57301, 'Camby', 2795, '46113', '317', '39.632557', '-86.308508', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57302, 'Falmouth', 2795, '46127', '765', '39.732718', '-85.313674', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57303, 'Jamestown', 2795, '46147', '765', '39.980135', '-86.609924', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57304, 'Maxwell', 2795, '46154', '317', '39.8575', '-85.7703', '2018-11-29 05:06:08', '2018-11-29 05:06:08'),\n(57305, 'Brookville Heights', 2795, '46163', '317', '39.72713', '-85.890248', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57306, 'Brookville Hts', 2795, '46163', '317', '39.72713', '-85.890248', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57307, 'Frankton', 2795, '46044', '765', '40.213176', '-85.784761', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57308, 'Noblesville', 2795, '46060', '317', '40.071194', '-85.948569', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57309, 'Strawtown', 2795, '46060', '317', '40.071194', '-85.948569', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57310, 'Noblesville', 2795, '46062', '317', '40.061958', '-86.037265', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57311, 'Westfield', 2795, '46062', '317', '40.061958', '-86.037265', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57312, 'Sheridan', 2795, '46069', '317', '40.13235', '-86.247005', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57313, 'Thorntown', 2795, '46071', '765', '40.101858', '-86.590766', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57314, 'Fishers', 2795, '46085', '317', '39.96', '-86.01', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57315, 'Newgistics Merchandise Retrn', 2795, '46085', '317', '39.96', '-86.01', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57316, 'Fillmore', 2795, '46128', '765', '39.65328', '-86.739224', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57317, 'Greencastle', 2795, '46135', '765', '39.662537', '-86.857316', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57318, 'Alexandria', 2795, '46001', '765', '40.23911', '-85.673842', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57319, 'Aroma', 2795, '46031', '765', '40.204871', '-86.018936', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57320, 'Atlanta', 2795, '46031', '765', '40.204871', '-86.018936', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57321, 'East Union', 2795, '46031', '765', '40.204871', '-86.018936', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57322, 'Ekin', 2795, '46031', '765', '40.204871', '-86.018936', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57323, 'Carmel', 2795, '46032', '317', '39.972741', '-86.177082', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57324, 'Carmel', 2795, '46082', '317', '39.9788', '-86.1194', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57325, 'Belleville', 2795, '46118', '317', '39.64792', '-86.516017', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57326, 'Clayton', 2795, '46118', '317', '39.64792', '-86.516017', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57327, 'Amity', 2795, '46131', '317', '39.48279', '-86.057811', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57328, 'Bengal', 2795, '46131', '317', '39.48279', '-86.057811', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57329, 'Franklin', 2795, '46131', '317', '39.48279', '-86.057811', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57330, 'Hopewell', 2795, '46131', '317', '39.48279', '-86.057811', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57331, 'Urmeyville', 2795, '46131', '317', '39.48279', '-86.057811', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57332, 'Knightstown', 2795, '46148', '765', '39.811628', '-85.507551', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57333, 'Ogden', 2795, '46148', '765', '39.811628', '-85.507551', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57334, 'Raysville', 2795, '46148', '765', '39.811628', '-85.507551', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57335, 'Manilla', 2795, '46150', '765', '39.546716', '-85.597', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57336, 'Bethany', 2795, '46151', '765', '39.452264', '-86.467153', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57337, 'Centerton', 2795, '46151', '765', '39.452264', '-86.467153', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57338, 'Lake Edgewood', 2795, '46151', '765', '39.452264', '-86.467153', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57339, 'Martinsville', 2795, '46151', '765', '39.452264', '-86.467153', '2018-11-29 05:06:09', '2018-11-29 05:06:09'),\n(57340, 'Paradise Lake', 2795, '46151', '765', '39.452264', '-86.467153', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57341, 'Waverly', 2795, '46151', '765', '39.452264', '-86.467153', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57342, 'Cartersburg', 2795, '46168', '317', '39.68242', '-86.41052', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57343, 'Plainfield', 2795, '46168', '317', '39.68242', '-86.41052', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57344, 'West Newton', 2795, '46183', '317', '39.6534', '-86.2828', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57345, 'Indianapolis', 2795, '46201', '317', '39.775737', '-86.109626', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57346, 'Indianapolis', 2795, '46235', '317', '39.844196', '-85.974104', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57347, 'Oaklandon', 2795, '46235', '317', '39.844196', '-85.974104', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57348, 'Army Finance Center', 2795, '46249', '317', '39.7683', '-86.1582', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57349, 'Army Finance Ctr', 2795, '46249', '317', '39.7683', '-86.1582', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57350, 'Indianapolis', 2795, '46249', '317', '39.7683', '-86.1582', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57351, 'Castleton', 2795, '46250', '317', '39.911358', '-86.070749', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57352, 'Indianapolis', 2795, '46250', '317', '39.911358', '-86.070749', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57353, 'Indianapolis', 2795, '46251', '317', '39.7683', '-86.1582', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57354, 'Indianapolis', 2795, '46282', '317', '39.8027', '-86.1557', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57355, 'La Porte', 2795, '46350', '219', '41.621848', '-86.739311', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57356, 'Laporte', 2795, '46350', '219', '41.621848', '-86.739311', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57357, 'Ogden Dunes', 2795, '46368', '219', '41.591344', '-87.173554', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57358, 'Portage', 2795, '46368', '219', '41.591344', '-87.173554', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57359, 'Union Mills', 2795, '46382', '219', '41.47265', '-86.762398', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57360, 'Wellsboro', 2795, '46382', '219', '41.47265', '-86.762398', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57361, 'Elkhart', 2795, '46516', '574', '41.665043', '-85.96573', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57362, 'Concord', 2795, '46517', '574', '41.61726', '-85.981702', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57363, 'Dunlap', 2795, '46517', '574', '41.61726', '-85.981702', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57364, 'Elkhart', 2795, '46517', '574', '41.61726', '-85.981702', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57365, 'Bass Lake', 2795, '46534', '219', '41.280882', '-86.620972', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57366, 'Knox', 2795, '46534', '219', '41.280882', '-86.620972', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57367, 'Ober', 2795, '46534', '219', '41.280882', '-86.620972', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57368, 'Toto', 2795, '46534', '219', '41.280882', '-86.620972', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57369, 'South Bend', 2795, '46617', '574', '41.6833', '-86.239326', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57370, 'South Bend', 2795, '46619', '574', '41.656417', '-86.347395', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57371, 'Bowerstown', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57372, 'Bracken', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57373, 'Goblesville', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57374, 'Huntington', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:06:10', '2018-11-29 05:06:10'),\n(57375, 'Brownsburg', 2795, '46112', '317', '39.865212', '-86.382804', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57376, 'Coatesville', 2795, '46121', '765', '39.666048', '-86.663376', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57377, 'Reno', 2795, '46121', '765', '39.666048', '-86.663376', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57378, 'Fountaintown', 2795, '46130', '317', '39.675911', '-85.842946', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57379, 'Gwynneville', 2795, '46144', '765', '39.661776', '-85.647095', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57380, 'Reelsville', 2795, '46171', '765', '39.538564', '-86.952716', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57381, 'Stilesville', 2795, '46180', '317', '39.60417', '-86.609597', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57382, 'Indianapolis', 2795, '46205', '317', '39.822756', '-86.129945', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57383, 'Uptown', 2795, '46205', '317', '39.822756', '-86.129945', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57384, 'Eagle Creek', 2795, '46214', '317', '39.795098', '-86.287729', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57385, 'Indianapolis', 2795, '46214', '317', '39.795098', '-86.287729', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57386, 'Indianapolis', 2795, '46244', '317', '39.7683', '-86.1582', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57387, 'Indianapolis', 2795, '46280', '317', '39.941724', '-86.111534', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57388, 'Nora', 2795, '46280', '317', '39.941724', '-86.111534', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57389, 'Indianapolis', 2795, '46296', '317', '39.7683', '-86.1582', '2018-11-29 05:06:11', '2018-11-29 05:06:11');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(57390, 'Usps Symbol Repair', 2795, '46296', '317', '39.7683', '-86.1582', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57391, 'East Chicago', 2795, '46312', '219', '41.649691', '-87.448674', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57392, 'Forest', 2795, '46039', '765', '40.377451', '-86.304644', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57393, 'Emporia', 2795, '46056', '765', '39.975976', '-85.615204', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57394, 'Markleville', 2795, '46056', '765', '39.975976', '-85.615204', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57395, 'Boyleston', 2795, '46057', '765', '40.34105', '-86.374668', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57396, 'Michigantown', 2795, '46057', '765', '40.34105', '-86.374668', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57397, 'Bargersville', 2795, '46106', '317', '39.507', '-86.195068', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57398, 'Providence', 2795, '46106', '317', '39.507', '-86.195068', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57399, 'Avon', 2795, '46123', '317', '39.761798', '-86.396741', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57400, 'Mooresville', 2795, '46158', '317', '39.581844', '-86.366978', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57401, 'Russellville', 2795, '46175', '765', '39.822625', '-86.966479', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57402, 'Indianapolis', 2795, '46207', '317', '39.7683', '-86.1582', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57403, 'Indianapolis', 2795, '46224', '317', '39.794203', '-86.252792', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57404, 'Spdway', 2795, '46224', '317', '39.794203', '-86.252792', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57405, 'Spdwy', 2795, '46224', '317', '39.794203', '-86.252792', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57406, 'Speedway', 2795, '46224', '317', '39.794203', '-86.252792', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57407, 'Drexel Gardens', 2795, '46241', '317', '39.716911', '-86.261552', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57408, 'Drexel Gdns', 2795, '46241', '317', '39.716911', '-86.261552', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57409, 'Denison', 2796, '66419', '785', '39.36109', '-95.613561', '2018-11-29 05:06:11', '2018-11-29 05:06:11'),\n(57410, 'Fostoria', 2796, '66426', '785', '39.4399', '-96.5078', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57411, 'Westmoreland', 2796, '66426', '785', '39.4399', '-96.5078', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57412, 'Manhattan', 2796, '66503', '785', '39.246198', '-96.669097', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57413, 'Paxico', 2796, '66526', '785', '39.098552', '-96.164786', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57414, 'Rossville', 2796, '66533', '785', '39.152262', '-95.956738', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57415, 'Topeka', 2796, '66617', '785', '39.135318', '-95.605637', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57416, 'Topeka', 2796, '66619', '785', '38.94379', '-95.715461', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57417, 'Topeka', 2796, '66683', '785', '39.0508', '-95.6744', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57418, 'Crestline', 2796, '66728', '620', '37.16688', '-94.713508', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57419, 'Opolis', 2796, '66760', '620', '37.34564', '-94.624621', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57420, 'Melrose', 2796, '66778', '620', '37.000495', '-94.84085', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57421, 'Treece', 2796, '66778', '620', '37.000495', '-94.84085', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57422, 'Americus', 2796, '66835', '620', '38.545913', '-96.276044', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57423, 'Cassoday', 2796, '66842', '620', '38.027937', '-96.649145', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57424, 'Florence', 2796, '66851', '620', '38.202524', '-96.93996', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57425, 'Strong City', 2796, '66869', '620', '38.412808', '-96.586756', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57426, 'Ames', 2796, '66901', '785', '39.480322', '-97.704562', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57427, 'Concordia', 2796, '66901', '785', '39.480322', '-97.704562', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57428, 'Rice', 2796, '66901', '785', '39.480322', '-97.704562', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57429, 'Belleville', 2796, '66935', '785', '39.827841', '-97.650908', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57430, 'Fairview', 2796, '66425', '785', '39.826806', '-95.714085', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57431, 'Hamlin', 2796, '66434', '785', '39.855468', '-95.536316', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57432, 'Hiawatha', 2796, '66434', '785', '39.855468', '-95.536316', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57433, 'Reserve', 2796, '66434', '785', '39.855468', '-95.536316', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57434, 'Willis', 2796, '66434', '785', '39.855468', '-95.536316', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57435, 'Junction City', 2796, '66441', '785', '38.990698', '-96.750932', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57436, 'Netawaka', 2796, '66516', '785', '39.630506', '-95.723813', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57437, 'Powhattan', 2796, '66527', '785', '39.72547', '-95.695262', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57438, 'Whiting', 2796, '66552', '785', '39.574431', '-95.639142', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57439, 'Topeka', 2796, '66609', '785', '38.984745', '-95.651164', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57440, 'Topeka', 2796, '66618', '785', '39.138988', '-95.771638', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57441, 'Security Benefit Life', 2796, '66636', '785', '39.0486', '-95.6778', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57442, 'Topeka', 2796, '66636', '785', '39.0486', '-95.6778', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57443, 'Arcadia', 2796, '66711', '620', '37.643753', '-94.697456', '2018-11-29 05:06:12', '2018-11-29 05:06:12'),\n(57444, 'Cato', 2796, '66711', '620', '37.643753', '-94.697456', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57445, 'Coalvale', 2796, '66711', '620', '37.643753', '-94.697456', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57446, 'Drywood', 2796, '66711', '620', '37.643753', '-94.697456', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57447, 'Gross', 2796, '66711', '620', '37.643753', '-94.697456', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57448, 'Columbus', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57449, 'Hallowell', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57450, 'Melrose', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57451, 'Neutral', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57452, 'Quaker', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57453, 'Sherwin', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57454, 'Stippville', 2796, '66725', '620', '37.148908', '-94.889294', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57455, 'Farlington', 2796, '66734', '620', '37.623257', '-94.83257', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57456, 'Buxton', 2796, '66736', '620', '37.559833', '-95.85267', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57457, 'Coyville', 2796, '66736', '620', '37.559833', '-95.85267', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57458, 'Frankfort', 2796, '66427', '785', '39.703906', '-96.457548', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57459, 'Lillis', 2796, '66427', '785', '39.703906', '-96.457548', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57460, 'Holton', 2796, '66436', '785', '39.470936', '-95.765595', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57461, 'Oketo', 2796, '66518', '785', '39.95766', '-96.560523', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57462, 'Sabetha', 2796, '66534', '785', '39.870242', '-95.816154', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57463, 'Vassar', 2796, '66543', '785', '38.673626', '-95.573106', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57464, 'Topeka', 2796, '66616', '785', '39.070038', '-95.619193', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57465, 'Ks State Bd Of Health', 2796, '66620', '785', '39.0486', '-95.6778', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57466, 'Topeka', 2796, '66620', '785', '39.0486', '-95.6778', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57467, 'Topeka', 2796, '66675', '785', '39.0486', '-95.6778', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57468, 'Riverton', 2796, '66770', '620', '37.073121', '-94.722512', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57469, 'Alta Vista', 2796, '66834', '785', '38.85469', '-96.455544', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57470, 'Cottonwd Fls', 2796, '66845', '620', '38.29852', '-96.506838', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57471, 'Cottonwood Falls', 2796, '66845', '620', '38.29852', '-96.506838', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57472, 'Elmdale', 2796, '66850', '620', '38.384378', '-96.708734', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57473, 'Havensville', 2796, '66432', '785', '39.467661', '-96.075628', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57474, 'Morrill', 2796, '66515', '785', '39.935308', '-95.70488', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57475, 'Louisville', 2796, '66547', '785', '39.258454', '-96.297804', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57476, 'Louisvl', 2796, '66547', '785', '39.258454', '-96.297804', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57477, 'Louisvle', 2796, '66547', '785', '39.258454', '-96.297804', '2018-11-29 05:06:13', '2018-11-29 05:06:13'),\n(57478, 'Wamego', 2796, '66547', '785', '39.258454', '-96.297804', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57479, 'Blaine', 2796, '66549', '785', '39.432692', '-96.420303', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57480, 'Westmoreland', 2796, '66549', '785', '39.432692', '-96.420303', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57481, 'Topeka', 2796, '66612', '785', '39.040726', '-95.67929', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57482, 'Topeka', 2796, '66614', '785', '39.0148', '-95.828646', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57483, 'Blue Cross', 2796, '66629', '785', '39.0486', '-95.6778', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57484, 'Topeka', 2796, '66629', '785', '39.0486', '-95.6778', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57485, 'Humboldt', 2796, '66748', '620', '37.794643', '-95.406473', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57486, 'Bassett', 2796, '66749', '620', '37.936694', '-95.418172', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57487, 'Carlyle', 2796, '66749', '620', '37.936694', '-95.418172', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57488, 'Iola', 2796, '66749', '620', '37.936694', '-95.418172', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57489, 'Frontenac', 2796, '66763', '620', '37.455548', '-94.704895', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57490, 'Pittsburg', 2796, '66763', '620', '37.455548', '-94.704895', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57491, 'Durand', 2796, '66783', '620', '37.886387', '-95.741812', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57492, 'Rose', 2796, '66783', '620', '37.886387', '-95.741812', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57493, 'Vernon', 2796, '66783', '620', '37.886387', '-95.741812', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57494, 'Yates Center', 2796, '66783', '620', '37.886387', '-95.741812', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57495, 'Allen', 2796, '66833', '620', '38.651852', '-96.186593', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57496, 'Bushong', 2796, '66833', '620', '38.651852', '-96.186593', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57497, 'Agenda', 2796, '66930', '785', '39.701884', '-97.424768', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57498, 'Athol', 2796, '66932', '785', '39.785223', '-98.898059', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57499, 'Jamestown', 2796, '66948', '785', '39.610084', '-97.875574', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57500, 'Republic', 2796, '66964', '785', '39.958256', '-97.86653', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57501, 'Scandia', 2796, '66966', '785', '39.740768', '-97.735722', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57502, 'Gardner', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57503, 'Hotwells', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57504, 'Mcnutt', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57505, 'Rapides', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57506, 'Wilda', 2798, '71409', '318', '31.315118', '-92.666489', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57507, 'Fisher', 2798, '71426', '318', '31.489944', '-93.469214', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57508, 'Flatwoods', 2798, '71427', '318', '31.38351', '-92.888912', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57509, 'Pine Coupee', 2798, '71427', '318', '31.38351', '-92.888912', '2018-11-29 05:06:14', '2018-11-29 05:06:14'),\n(57510, 'New Llano', 2798, '71461', '337', '31.123314', '-93.294502', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57511, 'Tioga', 2798, '71477', '318', '31.3851', '-92.4273', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57512, 'Elkton', 2800, '21922', '410', '39.6067', '-75.8339', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57513, 'Chestertown', 2800, '21620', '410', '39.193196', '-76.075379', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57514, 'Point Of Rocks', 2800, '21777', '301', '39.282856', '-77.528284', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57515, 'Pt Of Rocks', 2800, '21777', '301', '39.282856', '-77.528284', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57516, 'Salisbury', 2800, '21802', '410', '38.3609', '-75.5997', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57517, 'Bishop', 2800, '21813', '410', '38.419916', '-75.173026', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57518, 'Bishopville', 2800, '21813', '410', '38.419916', '-75.173026', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57519, 'Wells Fargo', 2800, '21275', '443', '39.2905', '-76.6125', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57520, 'Baltimore', 2800, '21284', '410', '39.4157', '-76.6096', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57521, 'Loch Raven', 2800, '21284', '410', '39.4157', '-76.6096', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57522, 'Towson', 2800, '21284', '410', '39.4157', '-76.6096', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57523, 'Grasonville', 2800, '21638', '410', '38.936469', '-76.20692', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57524, 'Hurlock', 2800, '21643', '410', '38.638946', '-75.866895', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57525, 'Oxford', 2800, '21654', '410', '38.687566', '-76.128363', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57526, 'Big Pool', 2800, '21711', '301', '39.660912', '-78.027892', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57527, 'Annapolis', 2800, '21411', '410', '38.9785', '-76.4928', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57528, 'Comptroller Of The Treasury', 2800, '21411', '410', '38.9785', '-76.4928', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57529, 'Gloucester', 2807, '28528', '252', '34.73307', '-76.541755', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57530, 'Brunswick', 2807, '28424', '910', '34.2856', '-78.7015', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57531, 'Burgaw', 2807, '28425', '910', '34.559404', '-77.945254', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57532, 'Saint Helena', 2807, '28425', '910', '34.559404', '-77.945254', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57533, 'Hampstead', 2807, '28443', '910', '34.441389', '-77.674658', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57534, 'Harrells', 2807, '28444', '910', '34.688508', '-78.289848', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57535, 'Bald Head', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57536, 'Bald Head Isl', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57537, 'Bald Head Island', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57538, 'Bling Spr Lks', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57539, 'Blng Spg Lks', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57540, 'Boiling Spring Lakes', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:15', '2018-11-29 05:06:15'),\n(57541, 'Oak Island', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57542, 'Saint James', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57543, 'Southport', 2807, '28461', '910', '33.96282', '-78.042053', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57544, 'Faison', 2807, '28341', '910', '35.123068', '-78.167911', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57545, 'Lumber Bridge', 2807, '28357', '910', '34.905448', '-79.077793', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57546, 'Biggs Park', 2807, '28358', '910', '34.592052', '-78.967289', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57547, 'Lumberton', 2807, '28358', '910', '34.592052', '-78.967289', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57548, 'Lumberton', 2807, '28359', '910', '34.6181', '-79.0086', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57549, 'Lumberton', 2807, '28360', '910', '34.660208', '-79.079674', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57550, 'Proctorville', 2807, '28375', '910', '34.4759', '-79.0309', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57551, 'Raeford', 2807, '28376', '910', '34.978726', '-79.247015', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57552, 'Red Springs', 2807, '28377', '910', '34.836798', '-79.214671', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57553, 'Turkey', 2807, '28393', '910', '34.956401', '-78.191279', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57554, 'Vass', 2807, '28394', '910', '35.222951', '-79.227424', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57555, 'Wilm', 2807, '28409', '910', '34.133744', '-77.855354', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57556, 'Wilmington', 2807, '28409', '910', '34.133744', '-77.855354', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57557, 'Charlotte', 2807, '28275', '704', '35.2267', '-80.8434', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57558, 'Fayetteville', 2807, '28308', '910', '35.172756', '-79.016122', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57559, 'Pope Army Af', 2807, '28308', '910', '35.172756', '-79.016122', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57560, 'Pope Army Airfield', 2807, '28308', '910', '35.172756', '-79.016122', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57561, 'Fort Bragg', 2807, '28310', '910', '35.12672', '-79.165988', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57562, 'Fort Bragg Military', 2807, '28310', '910', '35.12672', '-79.165988', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57563, 'Harrisburg', 2807, '28075', '704', '35.298868', '-80.647537', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57564, 'Wingate', 2807, '28174', '704', '34.963934', '-80.434734', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57565, 'Charlotte', 2807, '28208', '704', '35.235858', '-80.908465', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57566, 'Charlotte', 2807, '28210', '704', '35.131046', '-80.851183', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57567, 'Charlotte', 2807, '28224', '704', '35.2267', '-80.8434', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57568, 'Charlotte', 2807, '28244', '704', '35.2257', '-80.8433', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57569, 'Moyock', 2807, '27958', '252', '36.467089', '-76.158208', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57570, 'Nags Head', 2807, '27959', '252', '35.88586', '-75.603471', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57571, 'Shiloh', 2807, '27974', '252', '36.261984', '-76.008225', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57572, 'South Mills', 2807, '27976', '252', '36.466228', '-76.358719', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57573, 'Belwood', 2807, '28090', '704', '35.476318', '-81.571832', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57574, 'Delight', 2807, '28090', '704', '35.476318', '-81.571832', '2018-11-29 05:06:16', '2018-11-29 05:06:16'),\n(57575, 'Double Shoals', 2807, '28090', '704', '35.476318', '-81.571832', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57576, 'Lawndale', 2807, '28090', '704', '35.476318', '-81.571832', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57577, 'Toluca', 2807, '28090', '704', '35.476318', '-81.571832', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57578, 'Bear Poplar', 2807, '28125', '704', '35.660354', '-80.710404', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57579, 'Boiling Springs', 2807, '28017', '704', '35.255584', '-81.649487', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57580, 'Bostic', 2807, '28018', '828', '35.467813', '-81.791796', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57581, 'Bostic Yard', 2807, '28018', '828', '35.467813', '-81.791796', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57582, 'Corinth', 2807, '28018', '828', '35.467813', '-81.791796', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57583, 'Golden', 2807, '28018', '828', '35.467813', '-81.791796', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57584, 'Sunshine', 2807, '28018', '828', '35.467813', '-81.791796', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57585, 'Washburn Store', 2807, '28018', '828', '35.467813', '-81.791796', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57586, 'Cramerton', 2807, '28032', '704', '35.234322', '-81.079276', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57587, 'Dallas', 2807, '28034', '704', '35.351626', '-81.183724', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57588, 'Blounts Creek', 2807, '27814', '252', '35.38522', '-76.926138', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57589, 'Castalia', 2807, '27816', '252', '36.109878', '-78.081243', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57590, 'Kill Devil Hills', 2807, '27948', '252', '36.044', '-75.687078', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57591, 'Kill Devil Hl', 2807, '27948', '252', '36.044', '-75.687078', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57592, 'Raleigh', 2807, '27615', '919', '35.902182', '-78.627742', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57593, 'Brentwood', 2807, '27616', '919', '35.870606', '-78.533618', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57594, 'Raleigh', 2807, '27616', '919', '35.870606', '-78.533618', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57595, 'Gaston', 2807, '27832', '252', '36.512044', '-77.717634', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57596, 'Greenville', 2807, '27833', '252', '35.6116', '-77.3732', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57597, 'East Carolina Univ', 2807, '27834', '252', '35.6631', '-77.369092', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57598, 'East Carolina University', 2807, '27834', '252', '35.6631', '-77.369092', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57599, 'Greenville', 2807, '27834', '252', '35.6631', '-77.369092', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57600, 'Pactolus', 2807, '27834', '252', '35.6631', '-77.369092', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57601, 'Lucama', 2807, '27851', '252', '35.638997', '-78.030994', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57602, 'Lunana', 2807, '27851', '252', '35.638997', '-78.030994', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57603, 'Pinetops', 2807, '27864', '252', '35.815424', '-77.666588', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57604, 'Pleasant Hill', 2807, '27866', '252', '36.508688', '-77.483945', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57605, 'Potecasi', 2807, '27867', '252', '36.3632', '-77.2395', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57606, 'Cary', 2807, '27513', '919', '35.803578', '-78.79569', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57607, 'Chapel Hill', 2807, '27515', '919', '35.9131', '-79.0563', '2018-11-29 05:06:17', '2018-11-29 05:06:17'),\n(57608, 'Goldsboro', 2807, '27530', '919', '35.370014', '-78.1093', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57609, 'Patetown', 2807, '27530', '919', '35.370014', '-78.1093', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57610, 'Walnut Creek', 2807, '27530', '919', '35.370014', '-78.1093', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57611, 'Webtown', 2807, '27530', '919', '35.370014', '-78.1093', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57612, 'Goldsboro', 2807, '27531', '919', '35.344447', '-77.965928', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57613, 'Seymour Johnson A F B', 2807, '27531', '919', '35.344447', '-77.965928', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57614, 'Seymour Johnson AFB', 2807, '27531', '919', '35.344447', '-77.965928', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57615, 'Sjafb', 2807, '27531', '919', '35.344447', '-77.965928', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57616, 'Centerville', 2807, '27549', '919', '36.082942', '-78.212862', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57617, 'Louisburg', 2807, '27549', '919', '36.082942', '-78.212862', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57618, 'Stem', 2807, '27581', '919', '36.208327', '-78.732405', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57619, 'Stovall', 2807, '27582', '919', '36.451952', '-78.572756', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57620, 'Chapel Hill', 2807, '27599', '919', '35.9134', '-79.0561', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57621, 'Doughton', 2807, '28683', '336', '36.383228', '-80.920005', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57622, 'Thurmond', 2807, '28683', '336', '36.383228', '-80.920005', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57623, 'Weaverville', 2807, '28787', '828', '35.730416', '-82.514511', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57624, 'Fontana Dam', 2807, '28733', '828', '35.433268', '-83.814008', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57625, 'Broyhill Furniture', 2807, '28633', '828', '35.9137', '-81.5393', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57626, 'Lenoir', 2807, '28633', '828', '35.9137', '-81.5393', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57627, 'Hayes', 2807, '28635', '336', '36.334453', '-81.123675', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57628, 'Hays', 2807, '28635', '336', '36.334453', '-81.123675', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57629, 'Stonewall', 2807, '28583', '252', '35.1363', '-76.7492', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57630, 'Bethlehem', 2807, '28601', '828', '35.780393', '-81.33651', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57631, 'Hickory', 2807, '28601', '828', '35.780393', '-81.33651', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57632, 'Lenoir Rhyne', 2807, '28601', '828', '35.780393', '-81.33651', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57633, 'Longview', 2807, '28601', '828', '35.780393', '-81.33651', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57634, 'View Mont', 2807, '28601', '828', '35.780393', '-81.33651', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57635, 'Viewmont', 2807, '28601', '828', '35.780393', '-81.33651', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57636, 'Hickory', 2807, '28602', '828', '35.67682', '-81.385287', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57637, 'Long View', 2807, '28602', '828', '35.67682', '-81.385287', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57638, 'Longview', 2807, '28602', '828', '35.67682', '-81.385287', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57639, 'Mountain View', 2807, '28602', '828', '35.67682', '-81.385287', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57640, 'Mt View', 2807, '28602', '828', '35.67682', '-81.385287', '2018-11-29 05:06:18', '2018-11-29 05:06:18'),\n(57641, 'Hickory', 2807, '28603', '828', '35.7334', '-81.3416', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57642, 'Crossnore', 2807, '28616', '828', '36.030231', '-81.923055', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57643, 'Maiden', 2807, '28650', '828', '35.573174', '-81.160071', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57644, 'Millers Creek', 2807, '28651', '336', '36.26553', '-81.281121', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57645, 'Wilbar', 2807, '28651', '336', '36.26553', '-81.281121', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57646, 'Carpenter Bottom', 2807, '28652', '828', '36.0825', '-81.9964', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57647, 'Minneapolis', 2807, '28652', '828', '36.0825', '-81.9964', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57648, 'Montezuma', 2807, '28653', '828', '36.0651', '-81.9028', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57649, 'Cherry Point', 2807, '28533', '252', '34.8973', '-76.9091', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57650, 'Cherry Point Marine Corps Ai', 2807, '28533', '252', '34.8973', '-76.9091', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57651, 'Havelock', 2807, '28533', '252', '34.8973', '-76.9091', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57652, 'Mcas Cherry Point', 2807, '28533', '252', '34.8973', '-76.9091', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57653, 'Lowland', 2807, '28552', '252', '35.292336', '-76.570852', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57654, 'Marshallberg', 2807, '28553', '252', '34.72989', '-76.520357', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57655, 'Deep Gap', 2807, '28618', '828', '36.201388', '-81.517832', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57656, 'Meadow Creek', 2807, '28618', '828', '36.201388', '-81.517832', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57657, 'Stony Fork', 2807, '28618', '828', '36.201388', '-81.517832', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57658, 'Triplett', 2807, '28618', '828', '36.201388', '-81.517832', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57659, 'Council', 2807, '28434', '910', '34.475063', '-78.449038', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57660, 'Longwood', 2807, '28452', '910', '33.989015', '-78.56034', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57661, 'Wallace', 2807, '28466', '910', '34.760682', '-77.939562', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57662, 'Kenansville', 2807, '28349', '910', '34.969342', '-77.933223', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57663, 'Lakeview', 2807, '28350', '910', '35.240259', '-79.315498', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57664, 'Salemburg', 2807, '28385', '910', '35.046746', '-78.505288', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57665, 'Rennert', 2807, '28386', '910', '34.846884', '-79.112213', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57666, 'Shannon', 2807, '28386', '910', '34.846884', '-79.112213', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57667, 'Charlotte', 2807, '28269', '704', '35.340751', '-80.7936', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57668, 'Charlotte', 2807, '28299', '704', '35.2267', '-80.8434', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57669, 'E Fayettevill', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57670, 'E Fayetteville', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57671, 'E Fayettevlle', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57672, 'East Fayetteville', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57673, 'Eastover', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57674, 'Fay', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:19', '2018-11-29 05:06:19'),\n(57675, 'Fayetteville', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57676, 'Vander', 2807, '28301', '910', '35.066255', '-78.88934', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57677, 'Dublin', 2807, '28332', '910', '34.657513', '-78.710252', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57678, 'Dudley', 2807, '28333', '919', '35.283104', '-78.019544', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57679, 'Shelby', 2807, '28152', '704', '35.240607', '-81.589832', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57680, 'Union Mills', 2807, '28167', '828', '35.48757', '-81.979763', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57681, 'Vale', 2807, '28168', '704', '35.549362', '-81.407226', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57682, 'Charlotte', 2807, '28217', '704', '35.171004', '-80.915103', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57683, 'Charlotte', 2807, '28219', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57684, 'Charlotte', 2807, '28234', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57685, 'Charlotte', 2807, '28250', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57686, 'Charlotte Water Dept', 2807, '28250', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57687, 'Powellsville', 2807, '27967', '252', '36.223521', '-76.966643', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57688, 'Rodanthe', 2807, '27968', '252', '35.671387', '-75.496086', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57689, 'Askewville', 2807, '27983', '252', '35.99419', '-76.942242', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57690, 'Windsor', 2807, '27983', '252', '35.99419', '-76.942242', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57691, 'Gastonia', 2807, '28056', '704', '35.244282', '-81.125253', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57692, 'Granite Qry', 2807, '28072', '704', '35.616452', '-80.444174', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57693, 'Granite Quarry', 2807, '28072', '704', '35.616452', '-80.444174', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57694, 'High Shoals', 2807, '28077', '704', '35.403708', '-81.203004', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57695, 'Salisbury', 2807, '28145', '704', '35.6705', '-80.4744', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57696, 'Charlotte', 2807, '28220', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57697, 'Charlotte', 2807, '28222', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57698, 'Charlotte', 2807, '28229', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57699, 'Charlotte', 2807, '28247', '704', '35.2267', '-80.8434', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57700, 'Salvo', 2807, '27972', '252', '35.474875', '-75.485005', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57701, 'Sunbury', 2807, '27979', '252', '36.421411', '-76.577336', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57702, 'Landis', 2807, '28088', '704', '35.545676', '-80.614461', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57703, 'Monroe', 2807, '28111', '704', '34.9853', '-80.5498', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57704, 'Winton', 2807, '27986', '252', '36.396326', '-76.936051', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57705, 'Davidson', 2807, '28036', '704', '35.483306', '-80.797854', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57706, 'Boogertown', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57707, 'Crowders', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57708, 'Gastonia', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57709, 'Albemarle', 2807, '28002', '704', '35.3544', '-80.1903', '2018-11-29 05:06:20', '2018-11-29 05:06:20'),\n(57710, 'Casar', 2807, '28020', '704', '35.530002', '-81.635017', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57711, 'Durham', 2807, '27713', '919', '35.885691', '-78.929493', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57712, 'Rocky Mount', 2807, '27804', '252', '35.987256', '-77.848535', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57713, 'Wesleyan Col', 2807, '27804', '252', '35.987256', '-77.848535', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57714, 'Wesleyan College', 2807, '27804', '252', '35.987256', '-77.848535', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57715, 'Wilson', 2807, '27895', '252', '35.7213', '-77.9155', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57716, 'Corolla', 2807, '27927', '252', '36.389418', '-75.838035', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57717, 'Currituck', 2807, '27929', '252', '36.431262', '-75.997144', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57718, 'Raleigh', 2807, '27602', '919', '35.7719', '-78.6388', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57719, 'Brentwood', 2807, '27604', '919', '35.816936', '-78.563843', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57720, 'Neuse', 2807, '27604', '919', '35.816936', '-78.563843', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57721, 'Raleigh', 2807, '27604', '919', '35.816936', '-78.563843', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57722, 'Wake Crossroads', 2807, '27604', '919', '35.816936', '-78.563843', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57723, 'Wilders Grove', 2807, '27604', '919', '35.816936', '-78.563843', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57724, 'North Hills', 2807, '27609', '919', '35.842711', '-78.63185', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57725, 'Raleigh', 2807, '27609', '919', '35.842711', '-78.63185', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57726, 'Raleigh', 2807, '27629', '919', '35.7719', '-78.6388', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57727, 'Macclesfield', 2807, '27852', '252', '35.786528', '-77.644312', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57728, 'Old Sparta', 2807, '27852', '252', '35.786528', '-77.644312', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57729, 'Pikeville', 2807, '27863', '919', '35.486124', '-77.974478', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57730, 'Roanoke Rapid', 2807, '27870', '252', '36.414812', '-77.714025', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57731, 'Roanoke Rapids', 2807, '27870', '252', '36.414812', '-77.714025', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57732, 'Butner', 2807, '27509', '919', '36.129644', '-78.766572', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57733, 'Cary', 2807, '27511', '919', '35.759644', '-78.779491', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57734, 'Clayton', 2807, '27527', '919', '35.640522', '-78.37852', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57735, 'Goldsboro', 2807, '27534', '919', '35.360718', '-77.902523', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57736, 'Raleigh', 2807, '27661', '919', '35.8973', '-78.5696', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57737, 'Durham', 2807, '27704', '919', '36.039046', '-78.831844', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57738, 'Swepsonville', 2807, '27359', '336', '36.0211', '-79.3614', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57739, 'Greensboro', 2807, '27404', '336', '36.0726', '-79.7925', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57740, 'Greensboro', 2807, '27409', '336', '36.105506', '-79.936434', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57741, 'Guilford', 2807, '27409', '336', '36.105506', '-79.936434', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57742, 'Guilford College', 2807, '27409', '336', '36.105506', '-79.936434', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57743, 'Pine Level', 2807, '27568', '919', '35.512002', '-78.239157', '2018-11-29 05:06:21', '2018-11-29 05:06:21'),\n(57744, 'Townsville', 2807, '27584', '252', '36.519456', '-78.44137', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57745, 'Vaughan', 2807, '27586', '252', '36.4264', '-78.0037', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57746, 'Wilsons Mill', 2807, '27593', '919', '35.5829', '-78.3549', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57747, 'Wilsons Mills', 2807, '27593', '919', '35.5829', '-78.3549', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57748, 'Camp Springs', 2807, '27320', '336', '36.341886', '-79.64371', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57749, 'Cherrygrove', 2807, '27320', '336', '36.341886', '-79.64371', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57750, 'Harrison Cross Roads', 2807, '27320', '336', '36.341886', '-79.64371', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57751, 'Midway', 2807, '27320', '336', '36.341886', '-79.64371', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57752, 'Monroeton', 2807, '27320', '336', '36.341886', '-79.64371', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57753, 'Reidsville', 2807, '27320', '336', '36.341886', '-79.64371', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57754, 'Greensboro', 2807, '27420', '336', '36.0726', '-79.7925', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57755, 'Greensboro', 2807, '27427', '336', '36.0726', '-79.7925', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57756, 'Buckhorn', 2807, '27243', '919', '36.065892', '-79.199567', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57757, 'Efland', 2807, '27243', '919', '36.065892', '-79.199567', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57758, 'Goldston', 2807, '27252', '919', '35.564048', '-79.344892', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57759, 'Highfalls', 2807, '27259', '910', '35.4793', '-79.5233', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57760, 'Semora', 2807, '27343', '336', '36.494574', '-79.092734', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57761, 'Winston Salem', 2807, '27102', '336', '36.0983', '-80.2466', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57762, 'Winston-Salem', 2807, '27102', '336', '36.0983', '-80.2466', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57763, 'Winston Salem', 2807, '27109', '336', '36.133262', '-80.277173', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57764, 'Winston-Salem', 2807, '27109', '336', '36.133262', '-80.277173', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57765, 'Winston Salem', 2807, '27116', '336', '36.096', '-80.2466', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57766, 'Winston-Salem', 2807, '27116', '336', '36.096', '-80.2466', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57767, 'Winston Salem', 2807, '27120', '336', '36.1042', '-80.2444', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57768, 'Guthrie', 2807, '27284', '336', '36.118256', '-80.07602', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57769, 'Kernersville', 2807, '27284', '336', '36.118256', '-80.07602', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57770, 'Matthewstown', 2807, '27284', '336', '36.118256', '-80.07602', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57771, 'Talleys Crossing', 2807, '27284', '336', '36.118256', '-80.07602', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57772, 'Union Cross', 2807, '27284', '336', '36.118256', '-80.07602', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57773, 'Belew Creek', 2807, '27009', '336', '36.22393', '-80.080018', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57774, 'Mount Ulla', 2807, '28125', '704', '35.660354', '-80.710404', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57775, 'Mt Ulla', 2807, '28125', '704', '35.660354', '-80.710404', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57776, 'Scotland Neck', 2807, '27874', '252', '36.128394', '-77.402533', '2018-11-29 05:06:22', '2018-11-29 05:06:22'),\n(57777, 'Scranton', 2807, '27875', '252', '35.5384', '-76.453714', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57778, 'Alexis', 2807, '28006', '704', '35.405054', '-81.089852', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57779, 'Badin', 2807, '28009', '704', '35.409755', '-80.106605', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57780, 'Badin Air National Guard Sta', 2807, '28009', '704', '35.409755', '-80.106605', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57781, 'Barium Spngs', 2807, '28010', '704', '35.7188', '-80.8984', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57782, 'Barium Springs', 2807, '28010', '704', '35.7188', '-80.8984', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57783, 'China Grove', 2807, '28023', '704', '35.575642', '-80.59619', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57784, 'Concord', 2807, '28025', '704', '35.378204', '-80.524292', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57785, 'Flowes Store', 2807, '28025', '704', '35.378204', '-80.524292', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57786, 'North Concord', 2807, '28025', '704', '35.378204', '-80.524292', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57787, 'Sidestown', 2807, '28025', '704', '35.378204', '-80.524292', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57788, 'Stonewall Jackson Training S', 2807, '28025', '704', '35.378204', '-80.524292', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57789, 'Alexander Mills', 2807, '28043', '828', '35.309842', '-81.870287', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57790, 'Alexander Mls', 2807, '28043', '828', '35.309842', '-81.870287', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57791, 'Forest City', 2807, '28043', '828', '35.309842', '-81.870287', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57792, 'Durham', 2807, '27722', '919', '35.9939', '-78.8986', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57793, 'Enfield', 2807, '27823', '252', '36.196945', '-77.719464', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57794, 'Engelhard', 2807, '27824', '252', '35.524618', '-76.050433', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57795, 'Elizabeth City', 2807, '27906', '252', '36.3018', '-76.2238', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57796, 'Elizabeth Cty', 2807, '27906', '252', '36.3018', '-76.2238', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57797, 'Coinjock', 2807, '27923', '252', '36.357036', '-75.94273', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57798, 'Nc State University', 2807, '27607', '919', '35.818811', '-78.71404', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57799, 'Ncsu Student Housing', 2807, '27607', '919', '35.818811', '-78.71404', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57800, 'Raleigh', 2807, '27607', '919', '35.818811', '-78.71404', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57801, 'State University', 2807, '27607', '919', '35.818811', '-78.71404', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57802, 'Raleigh', 2807, '27622', '919', '35.7719', '-78.6388', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57803, 'Hamilton', 2807, '27840', '252', '35.950164', '-77.230225', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57804, 'Hassell', 2807, '27841', '252', '35.909221', '-77.27697', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57805, 'Henrico', 2807, '27842', '252', '36.521242', '-77.854275', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57806, 'Creedmoor', 2807, '27522', '919', '36.105278', '-78.681791', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57807, 'Four Oaks', 2807, '27524', '919', '35.418054', '-78.369767', '2018-11-29 05:06:23', '2018-11-29 05:06:23'),\n(57808, 'Apex', 2807, '27539', '919', '35.683338', '-78.813264', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57809, 'Holly Springs', 2807, '27540', '919', '35.604561', '-78.861222', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57810, 'Hurdle Mills', 2807, '27541', '336', '36.263087', '-79.073615', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57811, 'Nationwide Ins Co', 2807, '27656', '919', '35.7719', '-78.6388', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57812, 'Raleigh', 2807, '27656', '919', '35.7719', '-78.6388', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57813, 'Raleigh', 2807, '27658', '919', '35.7719', '-78.6388', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57814, 'Duke', 2807, '27708', '919', '36.0073', '-78.9206', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57815, 'Duke University', 2807, '27708', '919', '36.0073', '-78.9206', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57816, 'Durham', 2807, '27708', '919', '36.0073', '-78.9206', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57817, 'Star', 2807, '27356', '910', '35.43541', '-79.796564', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57818, 'Stokesdale', 2807, '27357', '336', '36.26935', '-79.972774', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57819, 'Summerfield', 2807, '27358', '336', '36.22888', '-79.87233', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57820, 'Wallburg', 2807, '27373', '336', '36.0101', '-80.1394', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57821, 'Wentworth', 2807, '27375', '336', '36.4', '-79.7732', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57822, 'Forest Oaks', 2807, '27406', '336', '35.991318', '-79.761739', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57823, 'Greensboro', 2807, '27406', '336', '35.991318', '-79.761739', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57824, 'South Greensboro', 2807, '27406', '336', '35.991318', '-79.761739', '2018-11-29 05:06:24', '2018-11-29 05:06:24');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(57825, 'Spring Valley', 2807, '27406', '336', '35.991318', '-79.761739', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57826, 'Vandalia', 2807, '27406', '336', '35.991318', '-79.761739', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57827, 'Greensboro', 2807, '27407', '336', '36.006178', '-79.872066', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57828, 'Groomtown', 2807, '27407', '336', '36.006178', '-79.872066', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57829, 'Hilltop', 2807, '27407', '336', '36.006178', '-79.872066', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57830, 'Sedgefield', 2807, '27407', '336', '36.006178', '-79.872066', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57831, 'Micro', 2807, '27555', '919', '35.56302', '-78.201716', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57832, 'Middleburg', 2807, '27556', '252', '36.4007', '-78.3248', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57833, 'Warrenton', 2807, '27589', '252', '36.324908', '-78.135612', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57834, 'A M F Greensboro', 2807, '27425', '336', '36.0728', '-79.7939', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57835, 'Amf G Boro', 2807, '27425', '336', '36.0728', '-79.7939', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57836, 'Amf Greensboro', 2807, '27425', '336', '36.0728', '-79.7939', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57837, 'Greensboro', 2807, '27425', '336', '36.0728', '-79.7939', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57838, 'Greensboro', 2807, '27438', '336', '36.0726', '-79.7925', '2018-11-29 05:06:24', '2018-11-29 05:06:24'),\n(57839, 'Broadway', 2807, '27505', '919', '35.417365', '-78.996082', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57840, 'Bear Creek', 2807, '27207', '919', '35.596643', '-79.376426', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57841, 'Harpers Crossroads', 2807, '27207', '919', '35.596643', '-79.376426', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57842, 'Haw River', 2807, '27258', '336', '36.044768', '-79.323364', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57843, 'Saxapahaw', 2807, '27340', '336', '35.9472', '-79.322', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57844, 'Mount Tabor', 2807, '27106', '336', '36.148011', '-80.324205', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57845, 'Oldtown', 2807, '27106', '336', '36.148011', '-80.324205', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57846, 'Winston Salem', 2807, '27106', '336', '36.148011', '-80.324205', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57847, 'Winston-Salem', 2807, '27106', '336', '36.148011', '-80.324205', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57848, 'Boulevard', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57849, 'Draper', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57850, 'Eden', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57851, 'Leaksville', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57852, 'Meadow Summit', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57853, 'New Leaksville', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57854, 'Spray', 2807, '27288', '336', '36.485107', '-79.738993', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57855, 'Marietta', 2807, '28362', '910', '34.366856', '-79.120476', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57856, 'Rex', 2807, '28378', '910', '34.858228', '-79.049594', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57857, 'Bowdens', 2807, '28398', '910', '34.989136', '-78.053481', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57858, 'Warsaw', 2807, '28398', '910', '34.989136', '-78.053481', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57859, 'Wilm', 2807, '28412', '910', '34.12577', '-77.920954', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57860, 'Wilmington', 2807, '28412', '910', '34.12577', '-77.920954', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57861, 'Charlotte', 2807, '28262', '704', '35.326156', '-80.746054', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57862, 'Charlotte', 2807, '28271', '704', '35.2267', '-80.8434', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57863, 'Charlotte', 2807, '28278', '704', '35.133437', '-81.006914', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57864, 'Eutaw', 2807, '28303', '910', '35.08744', '-78.96894', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57865, 'Fayetteville', 2807, '28303', '910', '35.08744', '-78.96894', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57866, 'Ponderosa', 2807, '28303', '910', '35.08744', '-78.96894', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57867, 'Eastover', 2807, '28312', '910', '34.97795', '-78.702008', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57868, 'Fayetteville', 2807, '28312', '910', '34.97795', '-78.702008', '2018-11-29 05:06:25', '2018-11-29 05:06:25'),\n(57869, 'Elizabethtown', 2807, '28337', '910', '34.70272', '-78.548958', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57870, 'White Lake', 2807, '28337', '910', '34.70272', '-78.548958', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57871, 'Caldwell', 2807, '28078', '704', '35.400197', '-80.866352', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57872, 'Hicks Crossroads', 2807, '28078', '704', '35.400197', '-80.866352', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57873, 'Huntersville', 2807, '28078', '704', '35.400197', '-80.866352', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57874, 'Long Creek', 2807, '28078', '704', '35.400197', '-80.866352', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57875, 'Correll Park', 2807, '28144', '704', '35.71288', '-80.444172', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57876, 'Salisbury', 2807, '28144', '704', '35.71288', '-80.444172', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57877, 'Lowesville', 2807, '28164', '704', '35.385008', '-81.04397', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57878, 'Stanley', 2807, '28164', '704', '35.385008', '-81.04397', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57879, 'Waco', 2807, '28169', '704', '35.361535', '-81.428475', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57880, 'Charlotte', 2807, '28203', '704', '35.208484', '-80.858125', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57881, 'Charlotte', 2807, '28205', '704', '35.218036', '-80.786844', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57882, 'Charlotte', 2807, '28212', '704', '35.18145', '-80.747842', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57883, 'Charlotte', 2807, '28230', '704', '35.2267', '-80.8434', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57884, 'Charlotte', 2807, '28253', '704', '35.2267', '-80.8434', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57885, 'Gmac', 2807, '28253', '704', '35.2267', '-80.8434', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57886, 'Ocracoke', 2807, '27960', '252', '35.139352', '-75.89415', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57887, 'Portsmouth', 2807, '27960', '252', '35.139352', '-75.89415', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57888, 'Point Harbor', 2807, '27964', '252', '36.085846', '-75.800008', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57889, 'Stumpy Point', 2807, '27978', '252', '35.774129', '-75.831418', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57890, 'Tyner', 2807, '27980', '252', '36.247378', '-76.63032', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57891, 'Iron Station', 2807, '28080', '704', '35.455008', '-81.108086', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57892, 'Lattimore', 2807, '28089', '704', '35.316683', '-81.667995', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57893, 'Matthews', 2807, '28105', '704', '35.110446', '-80.708955', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57894, 'Paw Creek', 2807, '28130', '704', '35.2747', '-80.9387', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57895, 'Bear Grass', 2807, '27871', '252', '35.815464', '-77.261866', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57896, 'Robersonville', 2807, '27871', '252', '35.815464', '-77.261866', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57897, 'Swanquarter', 2807, '27885', '252', '35.416114', '-76.26658', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57898, 'Denver', 2807, '28037', '704', '35.507274', '-81.037174', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57899, 'East Spencer', 2807, '28039', '704', '35.6818', '-80.4328', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57900, 'Rocky Mount', 2807, '27803', '252', '35.898918', '-77.85835', '2018-11-29 05:06:26', '2018-11-29 05:06:26'),\n(57901, 'Durants Neck', 2807, '27930', '252', '36.157', '-76.3166', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57902, 'Hertford', 2807, '27930', '252', '36.157', '-76.3166', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57903, 'Gates', 2807, '27937', '252', '36.49286', '-76.793062', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57904, 'Raleigh', 2807, '27610', '919', '35.743602', '-78.536408', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57905, 'Raleigh', 2807, '27619', '919', '35.7719', '-78.6388', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57906, 'Raleigh', 2807, '27628', '919', '35.7719', '-78.6388', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57907, 'Farmville', 2807, '27828', '252', '35.585317', '-77.568367', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57908, 'Eureka', 2807, '27830', '919', '35.54859', '-77.957656', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57909, 'Fremont', 2807, '27830', '919', '35.54859', '-77.957656', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57910, 'Jamesville', 2807, '27846', '252', '35.772772', '-76.884616', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57911, 'Rich Square', 2807, '27869', '252', '36.265792', '-77.33751', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57912, 'Carrboro', 2807, '27510', '919', '35.910972', '-79.082087', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57913, 'Cary', 2807, '27519', '919', '35.813926', '-78.882067', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57914, 'Duncan', 2807, '27526', '919', '35.5435', '-78.832778', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57915, 'Fuquay Varina', 2807, '27526', '919', '35.5435', '-78.832778', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57916, 'Raleigh', 2807, '27676', '919', '35.90672', '-78.749038', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57917, 'Durham', 2807, '27703', '919', '35.946905', '-78.794098', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57918, 'East Durham', 2807, '27703', '919', '35.946905', '-78.794098', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57919, 'Durham', 2807, '27705', '919', '36.033619', '-78.982388', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57920, 'Seven Lakes', 2807, '27376', '910', '35.251594', '-79.533942', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57921, 'West End', 2807, '27376', '910', '35.251594', '-79.533942', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57922, 'Greensboro', 2807, '27401', '336', '36.071916', '-79.769346', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57923, 'Friendship', 2807, '27410', '336', '36.11', '-79.895031', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57924, 'Greensboro', 2807, '27410', '336', '36.11', '-79.895031', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57925, 'Macon', 2807, '27551', '252', '36.410308', '-78.051264', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57926, 'Manson', 2807, '27553', '252', '36.469223', '-78.300888', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57927, 'Soul City', 2807, '27553', '252', '36.469223', '-78.300888', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57928, 'Youngsville', 2807, '27596', '919', '36.002084', '-78.444731', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57929, 'Arcadia', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:27', '2018-11-29 05:06:27'),\n(57930, 'Arnold', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57931, 'Churchland', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57932, 'Cid', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57933, 'Cotton Grove', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57934, 'Dosier', 2807, '27040', '336', '36.160688', '-80.378555', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57935, 'Pfafftown', 2807, '27040', '336', '36.160688', '-80.378555', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57936, 'Seward', 2807, '27040', '336', '36.160688', '-80.378555', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57937, 'Vienna', 2807, '27040', '336', '36.160688', '-80.378555', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57938, 'Veterans Affairs', 2807, '27155', '336', '36.1025', '-80.2053', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57939, 'Winston Salem', 2807, '27155', '336', '36.1025', '-80.2053', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57940, 'Winston-Salem', 2807, '27155', '336', '36.1025', '-80.2053', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57941, 'Lincolnton', 2807, '28092', '704', '35.480518', '-81.250199', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57942, 'Midland', 2807, '28107', '704', '35.245767', '-80.523064', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57943, 'Newell', 2807, '28126', '704', '35.2795', '-80.7358', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57944, 'Whitakers', 2807, '27891', '252', '36.10061', '-77.768194', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57945, 'Concord', 2807, '28026', '704', '35.4089', '-80.5794', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57946, 'Dobbinsville', 2807, '28040', '828', '35.391915', '-81.756021', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57947, 'Ellenboro', 2807, '28040', '828', '35.391915', '-81.756021', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57948, 'Fearrington', 2807, '27312', '919', '35.753878', '-79.205479', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57949, 'Fearrington Village', 2807, '27312', '919', '35.753878', '-79.205479', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57950, 'Pittsboro', 2807, '27312', '919', '35.753878', '-79.205479', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57951, 'Level Cross', 2807, '27317', '336', '35.838808', '-79.797691', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57952, 'New Salem', 2807, '27317', '336', '35.838808', '-79.797691', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57953, 'Randleman', 2807, '27317', '336', '35.838808', '-79.797691', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57954, 'Greensboro', 2807, '27435', '336', '36.0726', '-79.7925', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57955, 'Bahama', 2807, '27503', '919', '36.151666', '-78.883758', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57956, 'Blanch', 2807, '27212', '336', '36.463544', '-79.274298', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57957, 'Groves', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57958, 'Pinkney', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57959, 'Ridge', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57960, 'Smyre', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:28', '2018-11-29 05:06:28'),\n(57961, 'South Gastonia', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57962, 'Victory', 2807, '28052', '704', '35.229809', '-81.242912', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57963, 'Black Creek', 2807, '27813', '252', '35.633466', '-77.932404', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57964, 'Como', 2807, '27818', '252', '36.488704', '-77.033813', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57965, 'George', 2807, '27897', '252', '36.31114', '-77.198131', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57966, 'Woodland', 2807, '27897', '252', '36.31114', '-77.198131', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57967, 'Buxton', 2807, '27920', '252', '35.255204', '-75.552285', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57968, 'Cape Hatteras Naval Facility', 2807, '27920', '252', '35.255204', '-75.552285', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57969, 'Cape Hatteras National Seash', 2807, '27954', '252', '35.895018', '-75.670684', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57970, 'Fort Raleigh City', 2807, '27954', '252', '35.895018', '-75.670684', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57971, 'Fort Raleigh National Histor', 2807, '27954', '252', '35.895018', '-75.670684', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57972, 'Manteo', 2807, '27954', '252', '35.895018', '-75.670684', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57973, 'Wright Brothers National Mem', 2807, '27954', '252', '35.895018', '-75.670684', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57974, 'Raleigh', 2807, '27613', '919', '35.923982', '-78.716682', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57975, 'Raleigh', 2807, '27627', '919', '35.7719', '-78.6388', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57976, 'Fountain', 2807, '27829', '252', '35.690419', '-77.636238', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57977, 'Jackson', 2807, '27845', '252', '36.373692', '-77.443846', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57978, 'Lasker', 2807, '27845', '252', '36.373692', '-77.443846', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57979, 'Parmele', 2807, '27861', '252', '35.8205', '-77.3109', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57980, 'Henderson', 2807, '27536', '252', '36.321797', '-78.41235', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57981, 'Kipling', 2807, '27543', '919', '35.3968', '-78.8094', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57982, 'Raleigh', 2807, '27636', '919', '35.7719', '-78.6388', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57983, 'National Info Syst Supt Cntr', 2807, '27668', '919', '35.7719', '-78.6388', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57984, 'Raleigh', 2807, '27668', '919', '35.7719', '-78.6388', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57985, 'Nc State Univ', 2807, '27695', '919', '35.814801', '-78.720216', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57986, 'Raleigh', 2807, '27695', '919', '35.814801', '-78.720216', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57987, 'Durham', 2807, '27702', '919', '35.9939', '-78.8986', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57988, 'Trinity', 2807, '27370', '336', '35.803155', '-79.981124', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57989, 'Stoney Creek', 2807, '27377', '336', '36.037424', '-79.607189', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57990, 'Whitsett', 2807, '27377', '336', '36.037424', '-79.607189', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57991, 'Yanceyville', 2807, '27379', '336', '36.385034', '-79.345745', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57992, 'Moncure', 2807, '27559', '919', '35.614786', '-79.063347', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57993, 'Smithfield', 2807, '27577', '919', '35.480752', '-78.349111', '2018-11-29 05:06:29', '2018-11-29 05:06:29'),\n(57994, 'Wake Forest', 2807, '27588', '919', '35.9798', '-78.5102', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(57995, 'Lexington', 2807, '27293', '336', '35.8238', '-80.2538', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(57996, 'Pelham', 2807, '27311', '336', '36.462774', '-79.480087', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(57997, 'Greensboro', 2807, '27429', '336', '36.0726', '-79.7925', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(57998, 'Apex', 2807, '27502', '919', '35.711544', '-78.9187', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(57999, 'High Point', 2807, '27261', '336', '35.9557', '-80.0057', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58000, 'Glendon', 2807, '27325', '910', '35.457928', '-79.551779', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58001, 'Robbins', 2807, '27325', '910', '35.457928', '-79.551779', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58002, 'Sophia', 2807, '27350', '336', '35.797443', '-79.896332', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58003, 'Brook Cove', 2807, '27052', '336', '36.322771', '-80.177976', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58004, 'Fulp', 2807, '27052', '336', '36.322771', '-80.177976', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58005, 'Meadow', 2807, '27052', '336', '36.322771', '-80.177976', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58006, 'Walnut Cove', 2807, '27052', '336', '36.322771', '-80.177976', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58007, 'Wachovia Bldg Vim', 2807, '27111', '336', '36.0986', '-80.2468', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58008, 'Winston Salem', 2807, '27111', '336', '36.0986', '-80.2468', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58009, 'Winston-Salem', 2807, '27111', '336', '36.0986', '-80.2468', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58010, 'Rougemont', 2807, '27572', '919', '36.252422', '-78.894862', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58011, 'Roxboro', 2807, '27573', '336', '36.410992', '-78.976852', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58012, 'Roxboro', 2807, '27574', '336', '36.416324', '-78.939927', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58013, 'Eagle Rock', 2807, '27591', '919', '35.783706', '-78.390286', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58014, 'Wendell', 2807, '27591', '919', '35.783706', '-78.390286', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58015, 'Eden', 2807, '27289', '336', '36.4884', '-79.7667', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58016, 'Frogsboro', 2807, '27291', '336', '36.389013', '-79.170394', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58017, 'Leasburg', 2807, '27291', '336', '36.389013', '-79.170394', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58018, 'Osmond', 2807, '27291', '336', '36.389013', '-79.170394', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58019, 'Buies Creek', 2807, '27506', '910', '35.407016', '-78.739058', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58020, 'Asheboro', 2807, '27205', '336', '35.639792', '-79.837802', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58021, 'Denton', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58022, 'Handy', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58023, 'Healing Springs', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58024, 'High Rock', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:30', '2018-11-29 05:06:30'),\n(58025, 'Jacksons Creek', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58026, 'New Hope Academy', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58027, 'Newsom', 2807, '27239', '336', '35.620257', '-80.085057', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58028, 'Seagrove', 2807, '27341', '336', '35.521479', '-79.696354', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58029, 'Branon', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58030, 'Center', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58031, 'Courtney', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58032, 'Footsville', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58033, 'Lone Hickory', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58034, 'Shacktown', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58035, 'Yadkinville', 2807, '27055', '336', '36.123283', '-80.637072', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58036, 'Ararat', 2807, '27007', '336', '36.376884', '-80.596265', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58037, 'Ash Hill', 2807, '27007', '336', '36.376884', '-80.596265', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58038, 'Brooks Cross Roads', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58039, 'Buck Shoals', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58040, 'Cycle', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58041, 'Eagle', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58042, 'Hamptonville', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58043, 'Marler', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58044, 'Winders Cross Roads', 2807, '27020', '336', '36.10595', '-80.819786', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58045, 'King', 2807, '27021', '336', '36.326683', '-80.338048', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58046, 'Lewisville', 2807, '27023', '336', '36.092164', '-80.44061', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58047, 'West Bend', 2807, '27023', '336', '36.092164', '-80.44061', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58048, 'Tuxedo', 2807, '28784', '828', '35.21463', '-82.430937', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58049, 'Waynesville', 2807, '28785', '828', '35.607826', '-83.02263', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58050, 'Clingman', 2807, '28670', '336', '36.199749', '-80.929514', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58051, 'Dimmette', 2807, '28670', '336', '36.199749', '-80.929514', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58052, 'Ronda', 2807, '28670', '336', '36.199749', '-80.929514', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58053, 'Cedar Mountain', 2807, '28718', '828', '35.143676', '-82.611027', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58054, 'Cedar Mtn', 2807, '28718', '828', '35.143676', '-82.611027', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58055, 'Cherokee', 2807, '28719', '828', '35.606862', '-83.23007', '2018-11-29 05:06:31', '2018-11-29 05:06:31'),\n(58056, 'Ocono Lufty', 2807, '28719', '828', '35.606862', '-83.23007', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58057, 'Countyline', 2807, '28634', '704', '35.96449', '-80.770468', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58058, 'Harmony', 2807, '28634', '704', '35.96449', '-80.770468', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58059, 'Houstonville', 2807, '28634', '704', '35.96449', '-80.770468', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58060, 'Hiddenite', 2807, '28636', '828', '35.935977', '-81.060017', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58061, 'Vashti', 2807, '28636', '828', '35.935977', '-81.060017', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58062, 'Kinston', 2807, '28501', '252', '35.264366', '-77.499001', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58063, 'Beulaville', 2807, '28518', '910', '34.888621', '-77.744686', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58064, 'Bridgeton', 2807, '28519', '252', '35.122368', '-77.020945', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58065, 'La Grange', 2807, '28551', '252', '35.317633', '-77.77143', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58066, 'Drexel', 2807, '28619', '828', '35.759842', '-81.601444', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58067, 'Clarkton', 2807, '28433', '910', '34.505266', '-78.665286', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58068, 'Emerson', 2807, '28433', '910', '34.505266', '-78.665286', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58069, 'Currie', 2807, '28435', '910', '34.424718', '-78.112442', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58070, 'Moores Creek National Battle', 2807, '28435', '910', '34.424718', '-78.112442', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58071, 'Enterprise', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58072, 'Feezor', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58073, 'Gordontown', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58074, 'Hannersville', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58075, 'Hedrick Grove', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58076, 'Holly Grove', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58077, 'Lex', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58078, 'Lexington', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58079, 'Petersville', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58080, 'Reeds Cross Roads', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58081, 'Reedy Creek', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58082, 'Silver Valley', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58083, 'South Lexington', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58084, 'Tyro', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58085, 'Yadkin', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58086, 'Yadkin College', 2807, '27292', '336', '35.732286', '-80.191576', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58087, 'Mc Leansville', 2807, '27301', '336', '36.113694', '-79.670372', '2018-11-29 05:06:32', '2018-11-29 05:06:32'),\n(58088, 'Mcleansville', 2807, '27301', '336', '36.113694', '-79.670372', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58089, 'Oak Ridge', 2807, '27310', '336', '36.172118', '-79.991758', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58090, 'Greensboro-High Point-Winsto', 2807, '27410', '336', '36.11', '-79.895031', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58091, 'Guilford', 2807, '27410', '336', '36.11', '-79.895031', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58092, 'Guilford College', 2807, '27410', '336', '36.11', '-79.895031', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58093, 'Ridgefield', 2807, '27410', '336', '36.11', '-79.895031', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58094, 'Greensboro', 2807, '27417', '336', '36.0726', '-79.7925', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58095, 'Greensboro', 2807, '27419', '336', '36.0726', '-79.7925', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58096, 'Bynum', 2807, '27228', '919', '35.7738', '-79.1426', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58097, 'Pittsboro', 2807, '27228', '919', '35.7738', '-79.1426', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58098, 'Climax', 2807, '27233', '336', '35.893897', '-79.699856', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58099, 'Cumnock', 2807, '27237', '919', '35.5532', '-79.2348', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58100, 'Sanford', 2807, '27237', '919', '35.5532', '-79.2348', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58101, 'Graham', 2807, '27253', '336', '35.967271', '-79.335749', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58102, 'Emerywood', 2807, '27262', '336', '35.953398', '-80.044314', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58103, 'High Point', 2807, '27262', '336', '35.953398', '-80.044314', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58104, 'Sedalia', 2807, '27342', '336', '36.07554', '-79.630273', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58105, 'Southmont', 2807, '27351', '336', '35.6676', '-80.2672', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58106, 'Winston Salem', 2807, '27108', '336', '36.0866', '-80.2488', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58107, 'Winston-Salem', 2807, '27108', '336', '36.0866', '-80.2488', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58108, 'Winston Salem', 2807, '27117', '336', '36.0999', '-80.2467', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58109, 'Winston-Salem', 2807, '27117', '336', '36.0999', '-80.2467', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58110, 'Copeland', 2807, '27017', '336', '36.375294', '-80.804534', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58111, 'Devotion', 2807, '27017', '336', '36.375294', '-80.804534', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58112, 'Dobson', 2807, '27017', '336', '36.375294', '-80.804534', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58113, 'Fairview Cross Roads', 2807, '27017', '336', '36.375294', '-80.804534', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58114, 'Rockford', 2807, '27017', '336', '36.375294', '-80.804534', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58115, 'Stony Knoll', 2807, '27017', '336', '36.375294', '-80.804534', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58116, 'Farmington', 2807, '27028', '336', '35.896995', '-80.579514', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58117, 'Mocksville', 2807, '27028', '336', '35.896995', '-80.579514', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58118, 'Alamance', 2807, '27201', '336', '36.0351', '-79.4863', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58119, 'Booneville', 2807, '27011', '336', '36.209184', '-80.693772', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58120, 'Boonville', 2807, '27011', '336', '36.209184', '-80.693772', '2018-11-29 05:06:33', '2018-11-29 05:06:33'),\n(58121, 'Longtown', 2807, '27011', '336', '36.209184', '-80.693772', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58122, 'Richmond Hill', 2807, '27011', '336', '36.209184', '-80.693772', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58123, 'Ayersville', 2807, '27027', '336', '36.448735', '-79.979965', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58124, 'Mayodan', 2807, '27027', '336', '36.448735', '-79.979965', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58125, 'Altamahaw', 2807, '27202', '336', '36.185335', '-79.505692', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58126, 'Dalton', 2807, '27043', '336', '36.339284', '-80.44511', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58127, 'Perch', 2807, '27043', '336', '36.339284', '-80.44511', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58128, 'Pinnacle', 2807, '27043', '336', '36.339284', '-80.44511', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58129, 'Shoal', 2807, '27043', '336', '36.339284', '-80.44511', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58130, 'Owyhee', 2813, '89832', '775', '41.858577', '-116.367843', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58131, 'Elko', 2813, '89802', '775', '40.8327', '-115.7624', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58132, 'Arden', 2813, '89118', '702', '36.0784', '-115.21193', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58133, 'Las Vegas', 2813, '89118', '702', '36.0784', '-115.21193', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58134, 'Las Vegas', 2813, '89166', '702', '36.321918', '-115.343066', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58135, 'Las Vegas', 2813, '89185', '702', '36.1753', '-115.1364', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58136, 'Las Vegas', 2813, '89199', '702', '36.1743', '-115.1391', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58137, 'Cherry Creek', 2813, '89301', '775', '39.402925', '-114.977024', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58138, 'Currie', 2813, '89301', '775', '39.402925', '-114.977024', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58139, 'Ely', 2813, '89301', '775', '39.402925', '-114.977024', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58140, 'Ely Colony', 2813, '89301', '775', '39.402925', '-114.977024', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58141, 'Lane', 2813, '89301', '775', '39.402925', '-114.977024', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58142, 'Preston', 2813, '89301', '775', '39.402925', '-114.977024', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58143, 'Lund', 2813, '89317', '775', '38.866156', '-115.21499', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58144, 'Dayton', 2813, '89403', '775', '39.24384', '-119.468096', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58145, 'Lovelock', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58146, 'Lower Valley', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58147, 'Oreana', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58148, 'Rabbit Hole', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58149, 'Rye Patch', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58150, 'Toulon', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58151, 'Trinity', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:34', '2018-11-29 05:06:34'),\n(58152, 'Upper Valley', 2813, '89419', '775', '40.479727', '-118.337056', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58153, 'Lockwood', 2813, '89434', '775', '39.572635', '-119.606574', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58154, 'Mccarran', 2813, '89434', '775', '39.572635', '-119.606574', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58155, 'Mustang', 2813, '89434', '775', '39.572635', '-119.606574', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58156, 'Patrick', 2813, '89434', '775', '39.572635', '-119.606574', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58157, 'Sparks', 2813, '89434', '775', '39.572635', '-119.606574', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58158, 'Tracy-Clark', 2813, '89434', '775', '39.572635', '-119.606574', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58159, 'Spanish Spgs', 2813, '89436', '775', '39.606095', '-119.704443', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58160, 'Spanish Springs', 2813, '89436', '775', '39.606095', '-119.704443', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58161, 'Sparks', 2813, '89436', '775', '39.606095', '-119.704443', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58162, 'Incline Village', 2813, '89451', '775', '39.281778', '-119.921374', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58163, 'Incline Vlg', 2813, '89451', '775', '39.281778', '-119.921374', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58164, 'Incline Village', 2813, '89452', '775', '39.2516', '-119.9719', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58165, 'Incline Vlg', 2813, '89452', '775', '39.2516', '-119.9719', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58166, 'Reno', 2813, '89501', '775', '39.528492', '-119.804313', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58167, 'Reno', 2813, '89570', '775', '39.5297', '-119.8129', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58168, 'Elko', 2813, '89803', '775', '40.814562', '-115.702127', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58169, 'Battle Mountain', 2813, '89820', '775', '40.62811', '-116.941328', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58170, 'Battle Mtn', 2813, '89820', '775', '40.62811', '-116.941328', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58171, 'Rixie', 2813, '89820', '775', '40.62811', '-116.941328', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58172, 'Round Hill', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58173, 'Skyland', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58174, 'Wittell', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58175, 'Zephyr Cove', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58176, 'Zephyr Point', 2813, '89448', '775', '39.027887', '-119.919728', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58177, 'Reno', 2813, '89512', '775', '39.554204', '-119.801418', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58178, 'Mogul', 2813, '89523', '775', '39.537752', '-119.918425', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58179, 'Reno', 2813, '89523', '775', '39.537752', '-119.918425', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58180, 'Somersett', 2813, '89523', '775', '39.537752', '-119.918425', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58181, 'Duck Valley', 2813, '89832', '775', '41.858577', '-116.367843', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58182, 'Washingtonvle', 2815, '44490', '330', '40.897919', '-80.766502', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58183, 'West Point', 2815, '44492', '330', '40.7085', '-80.7028', '2018-11-29 05:06:35', '2018-11-29 05:06:35'),\n(58184, 'Youngstown', 2815, '44506', '330', '41.093358', '-80.626612', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58185, 'Apple Creek', 2815, '44606', '330', '40.738566', '-81.790895', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58186, 'Beach City', 2815, '44608', '330', '40.651629', '-81.598245', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58187, 'Dundee', 2815, '44624', '330', '40.62016', '-81.662364', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58188, 'Trail', 2815, '44624', '330', '40.62016', '-81.662364', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58189, 'N Georgetown', 2815, '44665', '330', '40.8476', '-80.9809', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58190, 'North Georgetown', 2815, '44665', '330', '40.8476', '-80.9809', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58191, 'Tippecanoe', 2815, '44699', '740', '40.287344', '-81.303964', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58192, 'Canton', 2815, '44701', '330', '40.7987', '-81.3788', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58193, 'Canton', 2815, '44710', '330', '40.790568', '-81.427715', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58194, 'Reedurban', 2815, '44710', '330', '40.790568', '-81.427715', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58195, 'Canton', 2815, '44799', '330', '40.7987', '-81.3788', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58196, 'Canton Brm', 2815, '44799', '330', '40.7987', '-81.3788', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58197, 'Canton Business Reply', 2815, '44799', '330', '40.7987', '-81.3788', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58198, 'North Canton', 2815, '44799', '330', '40.7987', '-81.3788', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58199, 'Jeromesville', 2815, '44840', '419', '40.803254', '-82.178329', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58200, 'Lake Fork', 2815, '44840', '419', '40.803254', '-82.178329', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58201, 'Mohicanville', 2815, '44840', '419', '40.803254', '-82.178329', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58202, 'Edenville', 2815, '44849', '740', '40.797225', '-83.121833', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58203, 'Little York', 2815, '44849', '740', '40.797225', '-83.121833', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58204, 'Nevada', 2815, '44849', '740', '40.797225', '-83.121833', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58205, 'Wyandot', 2815, '44849', '740', '40.797225', '-83.121833', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58206, 'Fitchville', 2815, '44851', '419', '41.105948', '-82.385771', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58207, 'New London', 2815, '44851', '419', '41.105948', '-82.385771', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58208, 'Ruggles', 2815, '44851', '419', '41.105948', '-82.385771', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58209, 'Clear Creek', 2815, '44874', '419', '40.961658', '-82.362903', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58210, 'Savannah', 2815, '44874', '419', '40.961658', '-82.362903', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58211, 'Fort Seneca', 2815, '44883', '419', '41.124246', '-83.169314', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58212, 'Ink', 2815, '44883', '419', '41.124246', '-83.169314', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58213, 'Tiffin', 2815, '44883', '419', '41.124246', '-83.169314', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58214, 'Mansfield', 2815, '44901', '419', '40.7584', '-82.5156', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58215, 'Hooven', 2815, '45033', '513', '39.176812', '-84.763534', '2018-11-29 05:06:36', '2018-11-29 05:06:36'),\n(58216, 'Liberty Township', 2815, '45069', '513', '39.336464', '-84.413584', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58217, 'Liberty Townshp', 2815, '45069', '513', '39.336464', '-84.413584', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58218, 'Liberty Twp', 2815, '45069', '513', '39.336464', '-84.413584', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58219, 'Pisgah', 2815, '45069', '513', '39.336464', '-84.413584', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58220, 'West Chester', 2815, '45069', '513', '39.336464', '-84.413584', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58221, 'Feesburg', 2815, '45119', '937', '38.8784', '-83.9989', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58222, 'Allensburg', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58223, 'Belfast', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58224, 'East Danville', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58225, 'Fairfax', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58226, 'Hillsboro', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58227, 'New Market', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58228, 'North Uniontown', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58229, 'Sugar Tree Ridge', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58230, 'Willetsville', 2815, '45133', '937', '39.165364', '-83.574528', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58231, 'Adams County', 2815, '45144', '937', '38.699866', '-83.599586', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58232, 'Bradyville', 2815, '45144', '937', '38.699866', '-83.599586', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58233, 'Manchester', 2815, '45144', '937', '38.699866', '-83.599586', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58234, 'Wrightsville', 2815, '45144', '937', '38.699866', '-83.599586', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58235, 'Crosstown', 2815, '45176', '513', '39.084524', '-84.016929', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58236, 'Eastwood', 2815, '45176', '513', '39.084524', '-84.016929', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58237, 'New Harmony', 2815, '45176', '513', '39.084524', '-84.016929', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58238, 'Williamsburg', 2815, '45176', '513', '39.084524', '-84.016929', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58239, 'Cincinnati', 2815, '45219', '513', '39.127564', '-84.514489', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58240, 'Corryville', 2815, '45219', '513', '39.127564', '-84.514489', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58241, 'Mt Auburn', 2815, '45219', '513', '39.127564', '-84.514489', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58242, 'Cincinnati', 2815, '45233', '513', '39.109756', '-84.667826', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58243, 'Sayler Park', 2815, '45233', '513', '39.109756', '-84.667826', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58244, 'Anderson', 2815, '45244', '513', '39.121341', '-84.326082', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58245, 'Cincinnati', 2815, '45244', '513', '39.121341', '-84.326082', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58246, 'Mount Carmel', 2815, '45244', '513', '39.121341', '-84.326082', '2018-11-29 05:06:37', '2018-11-29 05:06:37'),\n(58247, 'Newtown', 2815, '45244', '513', '39.121341', '-84.326082', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58248, 'Shademore', 2815, '45244', '513', '39.121341', '-84.326082', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58249, 'Cincinnati', 2815, '45253', '513', '39.1616', '-84.4569', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58250, 'Groesbeck', 2815, '45253', '513', '39.1616', '-84.4569', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58251, 'Cincinnati', 2815, '45258', '513', '39.1616', '-84.4569', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58252, 'Jamestown', 2815, '45335', '937', '39.638797', '-83.725064', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58253, 'W Milton', 2815, '45383', '937', '39.957632', '-84.350046', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58254, 'West Milton', 2815, '45383', '937', '39.957632', '-84.350046', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58255, 'Dayton', 2815, '45410', '937', '39.747747', '-84.156536', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58256, 'Dayton', 2815, '45417', '937', '39.74871', '-84.24625', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58257, 'Centerville', 2815, '45458', '937', '39.599287', '-84.163593', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58258, 'Dayton', 2815, '45458', '937', '39.599287', '-84.163593', '2018-11-29 05:06:38', '2018-11-29 05:06:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(58259, 'Sugarcreek Township', 2815, '45458', '937', '39.599287', '-84.163593', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58260, 'Sugarcrk Twp', 2815, '45458', '937', '39.599287', '-84.163593', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58261, 'Washingtn Twp', 2815, '45458', '937', '39.599287', '-84.163593', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58262, 'Washington Township', 2815, '45458', '937', '39.599287', '-84.163593', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58263, 'Kingston', 2815, '45644', '740', '39.453535', '-82.855896', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58264, 'New Boston', 2815, '45662', '740', '38.792111', '-82.92015', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58265, 'Portsmouth', 2815, '45662', '740', '38.792111', '-82.92015', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58266, 'Sciotoville', 2815, '45662', '740', '38.792111', '-82.92015', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58267, 'Athalia', 2815, '45669', '740', '38.497006', '-82.364644', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58268, 'Proctorville', 2815, '45669', '740', '38.497006', '-82.364644', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58269, 'Thurman', 2815, '45685', '740', '38.923627', '-82.448263', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58270, 'Wheelersburg', 2815, '45694', '740', '38.766898', '-82.785815', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58271, 'Willow Wood', 2815, '45696', '740', '38.599042', '-82.457095', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58272, 'Chauncey', 2815, '45719', '740', '39.399936', '-82.128086', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58273, 'Cincinnati', 2815, '45248', '513', '39.171524', '-84.662602', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58274, 'Dent', 2815, '45248', '513', '39.171524', '-84.662602', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58275, 'Green Township', 2815, '45248', '513', '39.171524', '-84.662602', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58276, 'Mack', 2815, '45248', '513', '39.171524', '-84.662602', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58277, 'Westwood', 2815, '45248', '513', '39.171524', '-84.662602', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58278, 'Cincinnati', 2815, '45249', '513', '39.271418', '-84.330328', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58279, 'Montgomery', 2815, '45249', '513', '39.271418', '-84.330328', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58280, 'Sycamore Twp', 2815, '45249', '513', '39.271418', '-84.330328', '2018-11-29 05:06:38', '2018-11-29 05:06:38'),\n(58281, 'Symmes', 2815, '45249', '513', '39.271418', '-84.330328', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58282, 'Symmes Twp', 2815, '45249', '513', '39.271418', '-84.330328', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58283, 'Cincinnati', 2815, '45263', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58284, 'Fifth Third Bank', 2815, '45263', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58285, 'Central Trust Co', 2815, '45296', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58286, 'Cincinnati', 2815, '45296', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58287, 'Cincinnati', 2815, '45298', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58288, 'Internal Revenue Service', 2815, '45298', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58289, 'Cincinnati', 2815, '45299', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58290, 'Pg Contest Mail', 2815, '45299', '513', '39.1616', '-84.4569', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58291, 'Casstown', 2815, '45312', '937', '40.056914', '-84.08031', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58292, 'Hollansburg', 2815, '45332', '937', '40.000918', '-84.783762', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58293, 'New Madison', 2815, '45346', '937', '39.979718', '-84.711514', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58294, 'Rossburg', 2815, '45362', '937', '40.283957', '-84.624556', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58295, 'W Alex', 2815, '45381', '937', '39.72847', '-84.528532', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58296, 'W Alexandria', 2815, '45381', '937', '39.72847', '-84.528532', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58297, 'West Alex', 2815, '45381', '937', '39.72847', '-84.528532', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58298, 'West Alexandria', 2815, '45381', '937', '39.72847', '-84.528532', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58299, 'W Manchester', 2815, '45382', '937', '39.90223', '-84.610314', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58300, 'West Manchester', 2815, '45382', '937', '39.90223', '-84.610314', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58301, 'Dayton', 2815, '45412', '937', '39.7587', '-84.1919', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58302, 'National City Bank', 2815, '45412', '937', '39.7587', '-84.1919', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58303, 'Dayton', 2815, '45413', '937', '39.7587', '-84.1919', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58304, 'Northridge', 2815, '45413', '937', '39.7587', '-84.1919', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58305, 'Dayton', 2815, '45414', '937', '39.832984', '-84.222085', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58306, 'Northridge', 2815, '45414', '937', '39.832984', '-84.222085', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58307, 'Dayton', 2815, '45416', '937', '39.806812', '-84.254658', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58308, 'Trotwood', 2815, '45416', '937', '39.806812', '-84.254658', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58309, 'Centerville', 2815, '45429', '937', '39.687002', '-84.165026', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58310, 'Dayton', 2815, '45429', '937', '39.687002', '-84.165026', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58311, 'Kettering', 2815, '45429', '937', '39.687002', '-84.165026', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58312, 'Dayton', 2815, '45448', '937', '39.7603', '-84.1902', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58313, 'Metropolitan Life', 2815, '45448', '937', '39.7603', '-84.1902', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58314, 'Dayton', 2815, '45449', '937', '39.663744', '-84.243437', '2018-11-29 05:06:39', '2018-11-29 05:06:39'),\n(58315, 'W Carrollton', 2815, '45449', '937', '39.663744', '-84.243437', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58316, 'West Carrollton', 2815, '45449', '937', '39.663744', '-84.243437', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58317, 'West Carrollton City', 2815, '45449', '937', '39.663744', '-84.243437', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58318, 'Richville', 2815, '44706', '330', '40.757434', '-81.424365', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58319, 'Canton', 2815, '44708', '330', '40.81361', '-81.438668', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58320, 'Country Fair', 2815, '44708', '330', '40.81361', '-81.438668', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58321, 'Hills And Dales', 2815, '44708', '330', '40.81361', '-81.438668', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58322, 'Bettsville', 2815, '44815', '419', '41.238921', '-83.23519', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58323, 'Collins', 2815, '44826', '419', '41.224842', '-82.492472', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58324, 'East Townsend', 2815, '44826', '419', '41.224842', '-82.492472', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58325, 'Blooming Grove', 2815, '44833', '419', '40.751871', '-82.803981', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58326, 'Galion', 2815, '44833', '419', '40.751871', '-82.803981', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58327, 'Sugar Grove Lake', 2815, '44833', '419', '40.751871', '-82.803981', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58328, 'Loudonville', 2815, '44842', '419', '40.656944', '-82.226226', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58329, 'New Pittsburgh', 2815, '44865', '419', '40.991418', '-82.67699', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58330, 'Plymouth', 2815, '44865', '419', '40.991418', '-82.67699', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58331, 'Republic', 2815, '44867', '419', '41.15393', '-82.954698', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58332, 'Boughtonville', 2815, '44890', '419', '41.082097', '-82.709297', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58333, 'Celeryville', 2815, '44890', '419', '41.082097', '-82.709297', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58334, 'Centerton', 2815, '44890', '419', '41.082097', '-82.709297', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58335, 'Delphi', 2815, '44890', '419', '41.082097', '-82.709297', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58336, 'Havana', 2815, '44890', '419', '41.082097', '-82.709297', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58337, 'Willard', 2815, '44890', '419', '41.082097', '-82.709297', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58338, 'Addyston', 2815, '45001', '513', '39.137405', '-84.711172', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58339, 'Liberty Township', 2815, '45044', '513', '39.44352', '-84.370086', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58340, 'Liberty Twp', 2815, '45044', '513', '39.44352', '-84.370086', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58341, 'Middletown', 2815, '45044', '513', '39.44352', '-84.370086', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58342, 'Mount Saint Joseph', 2815, '45051', '513', '39.0969', '-84.6468', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58343, 'Mt St Joseph', 2815, '45051', '513', '39.0969', '-84.6468', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58344, 'Clinton County', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58345, 'East Monroe', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58346, 'Fayette County', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58347, 'Hglnd County', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58348, 'Highland County', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:40', '2018-11-29 05:06:40'),\n(58349, 'Leesburg', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58350, 'Samantha', 2815, '45135', '937', '39.356419', '-83.55601', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58351, 'Newtonsville', 2815, '45158', '513', '39.182', '-84.0865', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58352, 'Owensville', 2815, '45160', '513', '39.123558', '-84.13655', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58353, 'Clinton Cnty', 2815, '45169', '937', '39.495731', '-83.672513', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58354, 'Clinton County', 2815, '45169', '937', '39.495731', '-83.672513', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58355, 'Sabina', 2815, '45169', '937', '39.495731', '-83.672513', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58356, 'Cincinnati', 2815, '45201', '513', '39.1616', '-84.4569', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58357, 'Cincinnati', 2815, '45208', '513', '39.13687', '-84.434934', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58358, 'Hyde Park', 2815, '45208', '513', '39.13687', '-84.434934', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58359, 'Mt Lookout', 2815, '45208', '513', '39.13687', '-84.434934', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58360, 'Cincinnati', 2815, '45235', '513', '39.1311', '-84.4854', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58361, 'Blue Ash', 2815, '45242', '513', '39.247524', '-84.350126', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58362, 'Cincinnati', 2815, '45242', '513', '39.247524', '-84.350126', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58363, 'Hazelwood', 2815, '45242', '513', '39.247524', '-84.350126', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58364, 'Montgomery', 2815, '45242', '513', '39.247524', '-84.350126', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58365, 'Sycamore Twp', 2815, '45242', '513', '39.247524', '-84.350126', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58366, 'Cincinnati', 2815, '45251', '513', '39.267861', '-84.601273', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58367, 'Colerain Township', 2815, '45251', '513', '39.267861', '-84.601273', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58368, 'Colerain Twp', 2815, '45251', '513', '39.267861', '-84.601273', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58369, 'Groesbeck', 2815, '45251', '513', '39.267861', '-84.601273', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58370, 'Burkettsville', 2815, '45310', '419', '40.353061', '-84.643868', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58371, 'Conover', 2815, '45317', '937', '40.169092', '-84.018088', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58372, 'Lena', 2815, '45317', '937', '40.169092', '-84.018088', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58373, 'Donnelsville', 2815, '45319', '937', '39.9192', '-83.9491', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58374, 'Houston', 2815, '45333', '937', '40.245749', '-84.341123', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58375, 'Chautauqua', 2815, '45342', '937', '39.637398', '-84.271815', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58376, 'Miamisburg', 2815, '45342', '937', '39.637398', '-84.271815', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58377, 'New Carlisle', 2815, '45344', '937', '39.956566', '-83.99869', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58378, 'Osgood', 2815, '45351', '419', '40.339288', '-84.495522', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58379, 'Amos Press Inc', 2815, '45367', '937', '40.2842', '-84.1558', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58380, 'Sidney', 2815, '45367', '937', '40.2842', '-84.1558', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58381, 'Verona', 2815, '45378', '937', '39.898851', '-84.489748', '2018-11-29 05:06:41', '2018-11-29 05:06:41'),\n(58382, 'Dayton', 2815, '45403', '937', '39.768315', '-84.148765', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58383, 'Dayton', 2815, '45419', '937', '39.713028', '-84.16729', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58384, 'Kettering', 2815, '45419', '937', '39.713028', '-84.16729', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58385, 'Dayton', 2815, '45433', '937', '39.807113', '-84.060844', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58386, 'Wp Air Base', 2815, '45433', '937', '39.807113', '-84.060844', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58387, 'Wpafb', 2815, '45433', '937', '39.807113', '-84.060844', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58388, 'Wright Pat', 2815, '45433', '937', '39.807113', '-84.060844', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58389, 'Wright Patter', 2815, '45433', '937', '39.807113', '-84.060844', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58390, 'Wright Patterson AFB', 2815, '45433', '937', '39.807113', '-84.060844', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58391, 'Dayton', 2815, '45437', '937', '39.7503', '-84.19', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58392, 'Chillicothe', 2815, '45601', '740', '39.308942', '-82.980427', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58393, 'Bainbridge', 2815, '45612', '740', '39.20928', '-83.26418', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58394, 'Bourneville', 2815, '45617', '740', '39.2818', '-83.1569', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58395, 'Chesapeake', 2815, '45619', '740', '38.48162', '-82.464574', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58396, 'Minford', 2815, '45653', '740', '38.886959', '-82.846335', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58397, 'Wellston', 2815, '45692', '740', '39.112358', '-82.546896', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58398, 'Barlow', 2815, '45712', '740', '39.402601', '-81.655514', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58399, 'Carbondale', 2815, '45717', '740', '39.3776', '-82.2713', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58400, 'Guysville', 2815, '45735', '740', '39.253704', '-81.928896', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58401, 'Lowell', 2815, '45744', '740', '39.528262', '-81.50971', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58402, 'Shade', 2815, '45776', '740', '39.186224', '-82.021704', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58403, 'Stewart', 2815, '45778', '740', '39.338143', '-81.895408', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58404, 'Alger', 2815, '45812', '419', '40.67896', '-83.79565', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58405, 'Coldwater', 2815, '45828', '419', '40.494505', '-84.687552', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58406, 'Maria Stein', 2815, '45860', '419', '40.395177', '-84.507816', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58407, 'Venedocia', 2815, '45894', '419', '40.768378', '-84.488948', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58408, 'Mccomb', 2815, '45858', '419', '41.097682', '-83.784806', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58409, 'Bairdstown', 2815, '45872', '419', '41.203886', '-83.695205', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58410, 'N Baltimore', 2815, '45872', '419', '41.203886', '-83.695205', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58411, 'No Baltimore', 2815, '45872', '419', '41.203886', '-83.695205', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58412, 'North Baltimore', 2815, '45872', '419', '41.203886', '-83.695205', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58413, 'Melrose', 2815, '45873', '419', '41.121624', '-84.39969', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58414, 'Oakwood', 2815, '45873', '419', '41.121624', '-84.39969', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58415, 'Gilboa', 2815, '45875', '419', '41.023937', '-84.053677', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58416, 'Ottawa', 2815, '45875', '419', '41.023937', '-84.053677', '2018-11-29 05:06:42', '2018-11-29 05:06:42'),\n(58417, 'Vanlue', 2815, '45890', '419', '40.964434', '-83.497926', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58418, 'University Of Dayton', 2815, '45469', '937', '39.7579', '-84.1935', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58419, 'Spfld', 2815, '45501', '937', '39.9242', '-83.8087', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58420, 'Springfield', 2815, '45501', '937', '39.9242', '-83.8087', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58421, 'Springfield', 2815, '45503', '937', '39.966614', '-83.775268', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58422, 'Frankfort', 2815, '45628', '740', '39.388858', '-83.220082', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58423, 'Jasper', 2815, '45642', '740', '39.047576', '-83.05567', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58424, 'Allensville', 2815, '45651', '740', '39.283117', '-82.464999', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58425, 'Mc Arthur', 2815, '45651', '740', '39.283117', '-82.464999', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58426, 'Mcarthur', 2815, '45651', '740', '39.283117', '-82.464999', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58427, 'Peebles', 2815, '45660', '937', '39.009878', '-83.34941', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58428, 'Scottown', 2815, '45678', '740', '38.612637', '-82.370408', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58429, 'Wakefield', 2815, '45687', '740', '38.9704', '-83.0201', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58430, 'Athens', 2815, '45701', '740', '39.302498', '-82.07867', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58431, 'Albany', 2815, '45710', '740', '39.195069', '-82.212246', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58432, 'Middleport', 2815, '45760', '740', '39.008788', '-82.121237', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58433, 'Watertown', 2815, '45787', '740', '39.4655', '-81.6335', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58434, 'Lima', 2815, '45801', '419', '40.775038', '-84.031996', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58435, 'Buckland', 2815, '45819', '419', '40.618037', '-84.26798', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58436, 'Lima', 2815, '45819', '419', '40.618037', '-84.26798', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58437, 'Celina', 2815, '45826', '419', '40.5487', '-84.5703', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58438, 'Chickasaw', 2815, '45826', '419', '40.5487', '-84.5703', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58439, 'Fort Jennings', 2815, '45844', '419', '40.916684', '-84.288405', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58440, 'Ft Jennings', 2815, '45844', '419', '40.916684', '-84.288405', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58441, 'New Bremen', 2815, '45869', '419', '40.456864', '-84.414498', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58442, 'Ottoville', 2815, '45876', '419', '40.932284', '-84.339926', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58443, 'Spencerville', 2815, '45887', '419', '40.713452', '-84.36347', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58444, 'Waynesfield', 2815, '45896', '419', '40.606398', '-83.924166', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58445, 'Dayton', 2815, '45405', '937', '39.788696', '-84.216236', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58446, 'Dayton', 2815, '45441', '937', '39.7603', '-84.1902', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58447, 'Dayton', 2815, '45490', '937', '39.7587', '-84.1919', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58448, 'Coalton', 2815, '45621', '740', '39.111822', '-82.61207', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58449, 'Creola', 2815, '45622', '740', '39.349861', '-82.503119', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58450, 'Coal Grove', 2815, '45638', '740', '38.554537', '-82.690044', '2018-11-29 05:06:43', '2018-11-29 05:06:43'),\n(58451, 'Hanging Rock', 2815, '45638', '740', '38.554537', '-82.690044', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58452, 'Ironton', 2815, '45638', '740', '38.554537', '-82.690044', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58453, 'Oak Hill', 2815, '45656', '740', '38.861124', '-82.602424', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58454, 'Northup', 2815, '45658', '740', '38.76804', '-82.429177', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58455, 'Patriot', 2815, '45658', '740', '38.76804', '-82.429177', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58456, 'Rio Grande', 2815, '45674', '740', '38.88169', '-82.384924', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58457, 'Rock Camp', 2815, '45675', '740', '38.519048', '-82.56604', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58458, 'Waterloo', 2815, '45688', '740', '38.721697', '-82.531994', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58459, 'Coolville', 2815, '45723', '740', '39.236531', '-81.857227', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58460, 'Cutler', 2815, '45724', '740', '39.37944', '-81.773729', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58461, 'Dexter', 2815, '45741', '740', '39.068232', '-82.232562', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58462, 'Langsville', 2815, '45741', '740', '39.068232', '-82.232562', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58463, 'Lima', 2815, '45805', '419', '40.733058', '-84.17106', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58464, 'Cridersville', 2815, '45806', '419', '40.686542', '-84.127927', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58465, 'Fort Shawnee', 2815, '45806', '419', '40.686542', '-84.127927', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58466, 'Lima', 2815, '45806', '419', '40.686542', '-84.127927', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58467, 'Elida', 2815, '45807', '419', '40.795537', '-84.133109', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58468, 'Lima', 2815, '45807', '419', '40.795537', '-84.133109', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58469, 'Beaverdam', 2815, '45808', '419', '40.832776', '-83.976234', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58470, 'Findlay', 2815, '45840', '419', '41.022162', '-83.679094', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58471, 'Jenera', 2815, '45841', '419', '40.885082', '-83.731271', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58472, 'Mc Guffey', 2815, '45859', '419', '40.685039', '-83.778596', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58473, 'Mcguffey', 2815, '45859', '419', '40.685039', '-83.778596', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58474, 'Oh City', 2815, '45874', '419', '40.800516', '-84.677141', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58475, 'Ohio City', 2815, '45874', '419', '40.800516', '-84.677141', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58476, 'Van Buren', 2815, '45889', '419', '41.145904', '-83.63834', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58477, 'Cincinnati', 2815, '45229', '513', '39.153504', '-84.485512', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58478, 'Cincinnati', 2815, '45262', '513', '39.1616', '-84.4569', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58479, 'Cincinnati', 2815, '45280', '513', '39.1616', '-84.4569', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58480, 'Cedarville', 2815, '45314', '937', '39.745574', '-83.762159', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58481, 'Gratis', 2815, '45330', '937', '39.647518', '-84.524076', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58482, 'New Paris', 2815, '45347', '937', '39.887139', '-84.75544', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58483, 'N Hampton', 2815, '45349', '937', '39.990509', '-83.938333', '2018-11-29 05:06:44', '2018-11-29 05:06:44'),\n(58484, 'North Hampton', 2815, '45349', '937', '39.990509', '-83.938333', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58485, 'Sidney', 2815, '45365', '937', '40.283344', '-84.166616', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58486, 'Dayton', 2815, '45415', '937', '39.836616', '-84.253082', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58487, 'Beaver Creek', 2815, '45430', '937', '39.716352', '-84.082898', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58488, 'Beavercreek', 2815, '45430', '937', '39.716352', '-84.082898', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58489, 'Beavercreek Township', 2815, '45430', '937', '39.716352', '-84.082898', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58490, 'Beavercrk Twp', 2815, '45430', '937', '39.716352', '-84.082898', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58491, 'Dayton', 2815, '45430', '937', '39.716352', '-84.082898', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58492, 'Kettering', 2815, '45430', '937', '39.716352', '-84.082898', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58493, 'Beaver Creek', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58494, 'Beavercreek', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58495, 'Beavercreek Township', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58496, 'Beavercrk Twp', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58497, 'Dayton', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58498, 'Riverside', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58499, 'Wpafb', 2815, '45431', '937', '39.769427', '-84.075651', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58500, 'Bidwell', 2815, '45614', '740', '38.928122', '-82.271814', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58501, 'Gallipolis', 2815, '45631', '740', '38.812893', '-82.267837', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58502, 'Rodney', 2815, '45631', '740', '38.812893', '-82.267837', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58503, 'Hallsville', 2815, '45633', '740', '39.4437', '-82.8273', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58504, 'Winchester', 2815, '45697', '937', '38.961344', '-83.6483', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58505, 'Lucasville', 2815, '45699', '740', '38.8797', '-82.9968', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58506, 'So Oh Correctional Facility', 2815, '45699', '740', '38.8797', '-82.9968', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58507, 'Belpre', 2815, '45714', '740', '39.32778', '-81.626566', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58508, 'Buchtel', 2815, '45716', '740', '39.462092', '-82.17956', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58509, 'Glouster', 2815, '45732', '740', '39.526068', '-82.105415', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58510, 'Wrightstown', 2815, '45732', '740', '39.526068', '-82.105415', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58511, 'Marietta', 2815, '45750', '740', '39.43821', '-81.42378', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58512, 'Nelsonville', 2815, '45764', '740', '39.459746', '-82.25005', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58513, 'The Plains', 2815, '45780', '740', '39.373961', '-82.12805', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58514, 'Trimble', 2815, '45782', '740', '39.48452', '-82.076822', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58515, 'Arlington', 2815, '45814', '419', '40.902673', '-83.635544', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58516, 'Belmore', 2815, '45815', '419', '41.1536', '-83.9386', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58517, 'Leipsic', 2815, '45815', '419', '41.1536', '-83.9386', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58518, 'Benton Ridge', 2815, '45816', '419', '41.004878', '-83.791586', '2018-11-29 05:06:45', '2018-11-29 05:06:45'),\n(58519, 'Continental', 2815, '45831', '419', '41.110138', '-84.241451', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58520, 'Delphos', 2815, '45833', '419', '40.834516', '-84.348655', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58521, 'Harrod', 2815, '45850', '419', '40.710159', '-83.907719', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58522, 'Miller City', 2815, '45864', '419', '41.1039', '-84.1317', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58523, 'Miller Cty', 2815, '45864', '419', '41.1039', '-84.1317', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58524, 'Rockford', 2815, '45882', '419', '40.677042', '-84.648304', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58525, 'Saint Henry', 2815, '45883', '419', '40.408522', '-84.634117', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58526, 'St Henry', 2815, '45883', '419', '40.408522', '-84.634117', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58527, 'Saint Johns', 2815, '45884', '419', '40.5559', '-84.0838', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58528, 'St Johns', 2815, '45884', '419', '40.5559', '-84.0838', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58529, 'Clifton', 2815, '45316', '937', '39.796571', '-83.816142', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58530, 'Germantown', 2815, '45327', '937', '39.630886', '-84.395292', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58531, 'Medway', 2815, '45341', '937', '39.879659', '-84.023226', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58532, 'Miamisburg', 2815, '45343', '937', '39.6429', '-84.2867', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58533, 'New Lebanon', 2815, '45345', '937', '39.738089', '-84.400404', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58534, 'N Star', 2815, '45350', '419', '40.3258', '-84.5686', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58535, 'North Star', 2815, '45350', '419', '40.3258', '-84.5686', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58536, 'P Hill', 2815, '45359', '937', '40.050422', '-84.347818', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58537, 'Pleasant Hill', 2815, '45359', '937', '40.050422', '-84.347818', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58538, 'S Charleston', 2815, '45368', '937', '39.843557', '-83.656818', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58539, 'So Charleston', 2815, '45368', '937', '39.843557', '-83.656818', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58540, 'South Charleston', 2815, '45368', '937', '39.843557', '-83.656818', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58541, 'Spg Valley', 2815, '45370', '937', '39.609022', '-84.049586', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58542, 'Spring Valley', 2815, '45370', '937', '39.609022', '-84.049586', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58543, 'Sugarcreek Township', 2815, '45370', '937', '39.609022', '-84.049586', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58544, 'Sugarcrk Twp', 2815, '45370', '937', '39.609022', '-84.049586', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58545, 'Dayton', 2815, '45420', '937', '39.717208', '-84.136186', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58546, 'Kettering', 2815, '45420', '937', '39.717208', '-84.136186', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58547, 'Bellbrook', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58548, 'Centerville', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58549, 'Dayton', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58550, 'Kettering', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58551, 'Moraine', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:46', '2018-11-29 05:06:46'),\n(58552, 'Sugarcreek Township', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58553, 'Washingtn Twp', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58554, 'Washington Township', 2815, '45459', '937', '39.652441', '-84.162778', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58555, 'Cherry Fork', 2815, '45618', '937', '38.8875', '-83.6147', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58556, 'Del Fair', 2815, '45238', '513', '39.110006', '-84.607442', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58557, 'Delhi', 2815, '45238', '513', '39.110006', '-84.607442', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58558, 'Cincinnati', 2815, '45240', '513', '39.283052', '-84.516793', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58559, 'Forest Park', 2815, '45240', '513', '39.283052', '-84.516793', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58560, 'Parkdale', 2815, '45240', '513', '39.283052', '-84.516793', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58561, 'Pleasant Run Farms', 2815, '45240', '513', '39.283052', '-84.516793', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58562, 'Anderson', 2815, '45255', '513', '39.056784', '-84.343573', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58563, 'Cincinnati', 2815, '45255', '513', '39.056784', '-84.343573', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58564, 'Cincinnati', 2815, '45270', '513', '39.1616', '-84.4569', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58565, 'Huntington National Bank', 2815, '45270', '513', '39.1616', '-84.4569', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58566, 'Business Reply', 2815, '45273', '513', '39.1616', '-84.4569', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58567, 'Cincinnati', 2815, '45273', '513', '39.1616', '-84.4569', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58568, 'Beaver Creek', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58569, 'Beavercreek', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58570, 'Beavercreek Township', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58571, 'Beavercrk Twp', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58572, 'Bellbrook', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58573, 'Sugarcreek Township', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58574, 'Sugarcrk Twp', 2815, '45305', '937', '39.641282', '-84.057878', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58575, 'Enon', 2815, '45323', '937', '39.859828', '-83.927393', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58576, 'Beaver Creek', 2815, '45324', '937', '39.82213', '-84.00994', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58577, 'Beavercreek', 2815, '45324', '937', '39.82213', '-84.00994', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58578, 'Beavercreek Township', 2815, '45324', '937', '39.82213', '-84.00994', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58579, 'Beavercrk Twp', 2815, '45324', '937', '39.82213', '-84.00994', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58580, 'Fairborn', 2815, '45324', '937', '39.82213', '-84.00994', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58581, 'Ludlow Falls', 2815, '45339', '937', '40.006296', '-84.345164', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58582, 'Phoneton', 2815, '45371', '937', '39.939066', '-84.177188', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58583, 'Tipp', 2815, '45371', '937', '39.939066', '-84.177188', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58584, 'Tipp City', 2815, '45371', '937', '39.939066', '-84.177188', '2018-11-29 05:06:47', '2018-11-29 05:06:47'),\n(58585, 'Troy', 2815, '45373', '937', '40.032571', '-84.182514', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58586, 'Yorkshire', 2815, '45388', '419', '40.322564', '-84.473777', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58587, 'Dayton', 2815, '45404', '937', '39.79431', '-84.161588', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58588, 'Dayton', 2815, '45406', '937', '39.781924', '-84.241591', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58589, 'Trotwood', 2815, '45406', '937', '39.781924', '-84.241591', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58590, 'Dayton', 2815, '45422', '937', '39.7586', '-84.1935', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58591, 'Montgomery Cnty Admnstrv', 2815, '45422', '937', '39.7586', '-84.1935', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58592, 'Dayton', 2815, '45423', '937', '39.7563', '-84.1907', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58593, 'Dayton', 2815, '45424', '937', '39.846867', '-84.11282', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58594, 'Huber', 2815, '45424', '937', '39.846867', '-84.11282', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58595, 'Huber Heights', 2815, '45424', '937', '39.846867', '-84.11282', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58596, 'Huber Hgts', 2815, '45424', '937', '39.846867', '-84.11282', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58597, 'Huber Hts', 2815, '45424', '937', '39.846867', '-84.11282', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58598, 'Beaver Creek', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58599, 'Beavercreek', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58600, 'Beavercreek Township', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58601, 'Beavercrk Twp', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58602, 'Centerville', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58603, 'Dayton', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58604, 'Kettering', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58605, 'Sugarcreek Township', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58606, 'Sugarcrk Twp', 2815, '45440', '937', '39.669158', '-84.090296', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58607, 'Springfield', 2815, '45504', '937', '39.952589', '-83.881346', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58608, 'Springfield', 2815, '45505', '937', '39.90994', '-83.74783', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58609, 'Springfield', 2815, '45506', '937', '39.883087', '-83.87146', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58610, 'Cynthiana', 2815, '45624', '740', '39.166054', '-83.353404', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58611, 'Rarden', 2815, '45671', '740', '38.967799', '-83.240658', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58612, 'Richmond Dale', 2815, '45673', '740', '39.203641', '-82.812244', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58613, 'Waverly', 2815, '45690', '740', '39.126718', '-83.021841', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58614, 'Jacksonville', 2815, '45740', '740', '39.477494', '-82.078238', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58615, 'Little Hocking', 2815, '45742', '740', '39.264843', '-81.717001', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58616, 'Little Hockng', 2815, '45742', '740', '39.264843', '-81.717001', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58617, 'Rutland', 2815, '45775', '740', '39.079786', '-82.152476', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58618, 'Wingett Run', 2815, '45789', '740', '39.552449', '-81.269847', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58619, 'Latty', 2815, '45855', '419', '41.084256', '-84.583034', '2018-11-29 05:06:48', '2018-11-29 05:06:48'),\n(58620, 'Van Wert', 2815, '45891', '419', '40.873304', '-84.608396', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58621, 'Dayton', 2815, '45479', '937', '39.7579', '-84.1935', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58622, 'Beaver', 2815, '45613', '740', '39.045666', '-82.861956', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58623, 'Blue Creek', 2815, '45616', '937', '38.749054', '-83.30188', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58624, 'Latham', 2815, '45646', '740', '39.075877', '-83.316052', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58625, 'Londonderry', 2815, '45647', '740', '39.281476', '-82.73988', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58626, 'Lynx', 2815, '45650', '937', '38.73597', '-83.417674', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58627, 'Portsmouth', 2815, '45663', '740', '38.751904', '-83.109216', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58628, 'W Portsmouth', 2815, '45663', '740', '38.751904', '-83.109216', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58629, 'West Portsmouth', 2815, '45663', '740', '38.751904', '-83.109216', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58630, 'South Point', 2815, '45680', '740', '38.464748', '-82.545214', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58631, 'Southpoint', 2815, '45680', '740', '38.464748', '-82.545214', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58632, 'Zaleski', 2815, '45698', '740', '39.285718', '-82.402451', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58633, 'Beverly', 2815, '45715', '740', '39.604066', '-81.602966', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58634, 'Fly', 2815, '45767', '740', '39.540056', '-81.136328', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58635, 'Matamoras', 2815, '45767', '740', '39.540056', '-81.136328', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58636, 'New Matamoras', 2815, '45767', '740', '39.540056', '-81.136328', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58637, 'Rinard Mills', 2815, '45767', '740', '39.540056', '-81.136328', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58638, 'Tuppers Plains', 2815, '45783', '740', '39.1754', '-81.837', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58639, 'Tuppers Plns', 2815, '45783', '740', '39.1754', '-81.837', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58640, 'Glandorf', 2815, '45848', '419', '41.0288', '-84.0795', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58641, 'Grover Hill', 2815, '45849', '419', '41.012367', '-84.448504', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58642, 'Minster', 2815, '45865', '419', '40.386096', '-84.346546', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58643, 'Mount Blanchard', 2815, '45867', '419', '40.89671', '-83.533488', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58644, 'Mt Blanchard', 2815, '45867', '419', '40.89671', '-83.533488', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58645, 'Payne', 2815, '45880', '419', '41.06997', '-84.726768', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58646, 'Willshire', 2815, '45898', '419', '40.727954', '-84.745662', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58647, 'Wren', 2815, '45899', '419', '40.800545', '-84.774636', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58648, 'Coal Run', 2815, '45721', '740', '39.5678', '-81.5815', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58649, 'Dungannon', 2815, '45721', '740', '39.5678', '-81.5815', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58650, 'Elba', 2815, '45746', '740', '39.613516', '-81.452475', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58651, 'Macksburg', 2815, '45746', '740', '39.613516', '-81.452475', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58652, 'Hemlock Grove', 2815, '45769', '740', '39.10327', '-82.082743', '2018-11-29 05:06:49', '2018-11-29 05:06:49'),\n(58653, 'Minersville', 2815, '45769', '740', '39.10327', '-82.082743', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58654, 'Pomeroy', 2815, '45769', '740', '39.10327', '-82.082743', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58655, 'Racine', 2815, '45771', '740', '38.969712', '-81.902255', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58656, 'Ada', 2815, '45810', '419', '40.775119', '-83.816376', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58657, 'Cecil', 2815, '45821', '419', '41.223392', '-84.563409', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58658, 'Dola', 2815, '45835', '419', '40.760055', '-83.699856', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58659, 'Continental', 2815, '45837', '419', '41.054688', '-84.301105', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58660, 'Dupont', 2815, '45837', '419', '41.054688', '-84.301105', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58661, 'Fort Recovery', 2815, '45846', '419', '40.44877', '-84.716625', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58662, 'Ft Recovery', 2815, '45846', '419', '40.44877', '-84.716625', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58663, 'Haviland', 2815, '45851', '419', '41.026205', '-84.601628', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58664, 'Kalida', 2815, '45853', '419', '40.98485', '-84.198465', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58665, 'Mendon', 2815, '45862', '419', '40.676274', '-84.515313', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58666, 'New Knoxville', 2815, '45871', '419', '40.510648', '-84.294586', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58667, 'Saint Marys', 2815, '45885', '419', '40.551474', '-84.37742', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58668, 'St Marys', 2815, '45885', '419', '40.551474', '-84.37742', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58669, 'Kerr', 2815, '45643', '740', '38.8725', '-82.2608', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58670, 'Kitts Hill', 2815, '45645', '740', '38.566832', '-82.533986', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58671, 'Mc Dermott', 2815, '45652', '740', '38.83782', '-83.072906', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58672, 'Mcdermott', 2815, '45652', '740', '38.83782', '-83.072906', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58673, 'Elm Grove', 2815, '45661', '740', '39.032371', '-83.117827', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58674, 'Idaho', 2815, '45661', '740', '39.032371', '-83.117827', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58675, 'Piketon', 2815, '45661', '740', '39.032371', '-83.117827', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58676, 'West Union', 2815, '45693', '937', '38.801442', '-83.522318', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58677, 'Amesville', 2815, '45711', '740', '39.417726', '-81.953442', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58678, 'Lower Salem', 2815, '45745', '740', '39.615279', '-81.335574', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58679, 'Warner', 2815, '45745', '740', '39.615279', '-81.335574', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58680, 'Newport', 2815, '45768', '740', '39.408914', '-81.263755', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58681, 'Sharpsburg', 2815, '45777', '740', '39.4007', '-81.9559', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58682, 'Lima', 2815, '45802', '419', '40.7425', '-84.1053', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58683, 'Gomer', 2815, '45809', '419', '40.842994', '-84.18114', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58684, 'Lima', 2815, '45809', '419', '40.842994', '-84.18114', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58685, 'Fort Loramie', 2815, '45845', '937', '40.33351', '-84.376884', '2018-11-29 05:06:50', '2018-11-29 05:06:50'),\n(58686, 'Ft Loramie', 2815, '45845', '937', '40.33351', '-84.376884', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58687, 'Broughton', 2815, '45879', '419', '41.128159', '-84.553806', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58688, 'Paulding', 2815, '45879', '419', '41.128159', '-84.553806', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58689, 'Scott', 2815, '45886', '419', '40.989674', '-84.601396', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58690, 'Uniopolis', 2815, '45888', '419', '40.60221', '-84.086271', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58691, 'Wapak', 2815, '45895', '419', '40.57733', '-84.144824', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58692, 'Wapakoneta', 2815, '45895', '419', '40.57733', '-84.144824', '2018-11-29 05:06:51', '2018-11-29 05:06:51');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(58693, 'New Plymouth', 2815, '45654', '740', '39.375592', '-82.378518', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58694, 'Radcliff', 2815, '45695', '740', '39.13655', '-82.369232', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58695, 'Wilkesville', 2815, '45695', '740', '39.13655', '-82.369232', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58696, 'Graysville', 2815, '45734', '740', '39.622336', '-81.188132', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58697, 'Rinard Mills', 2815, '45734', '740', '39.622336', '-81.188132', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58698, 'Waterford', 2815, '45786', '740', '39.500262', '-81.625802', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58699, 'Antwerp', 2815, '45813', '419', '41.190792', '-84.717542', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58700, 'Cairo', 2815, '45820', '419', '40.828715', '-84.08585', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58701, 'Cloverdale', 2815, '45827', '419', '41.007102', '-84.298677', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58702, 'Dunkirk', 2815, '45836', '419', '40.782562', '-83.657136', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58703, 'Middle Point', 2815, '45863', '419', '40.899255', '-84.444498', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58704, 'Middle Pt', 2815, '45863', '419', '40.899255', '-84.444498', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58705, 'New Hampshire', 2815, '45870', '419', '40.55566', '-83.953402', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58706, 'Pandora', 2815, '45877', '419', '40.94495', '-83.93812', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58707, 'Cashion', 2816, '73016', '405', '35.822638', '-97.678733', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58708, 'Dibble', 2816, '73031', '405', '35.007817', '-97.632106', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58709, 'Bridgeport', 2816, '73047', '405', '35.464102', '-98.351242', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58710, 'Amber', 2816, '73004', '405', '35.123873', '-97.808376', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58711, 'Chickasha', 2816, '73018', '405', '34.964864', '-97.934734', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58712, 'Norge', 2816, '73018', '405', '34.964864', '-97.934734', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58713, 'Choctaw', 2816, '73020', '405', '35.449759', '-97.2652', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58714, 'Coyle', 2816, '73027', '405', '35.882546', '-97.238341', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58715, 'Edmond', 2816, '73034', '405', '35.70715', '-97.427426', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58716, 'Greenfield', 2816, '73043', '580', '35.7455', '-98.387366', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58717, 'Spencer', 2816, '73084', '405', '35.529401', '-97.344594', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58718, 'Wayne', 2816, '73095', '405', '34.910543', '-97.345895', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58719, 'Okc', 2816, '73102', '405', '35.471526', '-97.51889', '2018-11-29 05:06:51', '2018-11-29 05:06:51'),\n(58720, 'Oklahoma City', 2816, '73102', '405', '35.471526', '-97.51889', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58721, 'Okc', 2816, '73134', '405', '35.61613', '-97.57587', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58722, 'Oklahoma City', 2816, '73134', '405', '35.61613', '-97.57587', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58723, 'Midwest City', 2816, '73145', '405', '35.414846', '-97.397227', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58724, 'Okc', 2816, '73145', '405', '35.414846', '-97.397227', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58725, 'Oklahoma City', 2816, '73145', '405', '35.414846', '-97.397227', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58726, 'T A F B', 2816, '73145', '405', '35.414846', '-97.397227', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58727, 'Tinker AFB', 2816, '73145', '405', '35.414846', '-97.397227', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58728, 'Okc', 2816, '73159', '405', '35.387193', '-97.574968', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58729, 'Oklahoma City', 2816, '73159', '405', '35.387193', '-97.574968', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58730, 'Okc', 2816, '73179', '405', '35.416896', '-97.6451', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58731, 'Oklahoma City', 2816, '73179', '405', '35.416896', '-97.6451', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58732, 'Oklahoma City', 2816, '73195', '405', '35.4678', '-97.5164', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58733, 'Haywood', 2816, '74501', '918', '34.95279', '-95.799742', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58734, 'Mcalester', 2816, '74501', '918', '34.95279', '-95.799742', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58735, 'Richville', 2816, '74501', '918', '34.95279', '-95.799742', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58736, 'Scipio', 2816, '74501', '918', '34.95279', '-95.799742', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58737, 'Clayton', 2816, '74536', '918', '34.542578', '-95.460607', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58738, 'Kinta', 2816, '74552', '918', '35.192748', '-95.285871', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58739, 'Kiowa', 2816, '74553', '918', '34.74575', '-95.96958', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58740, 'Krebs', 2816, '74554', '918', '34.925464', '-95.721614', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58741, 'Stringtown', 2816, '74569', '580', '34.45847', '-95.90636', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58742, 'Kildare', 2816, '74601', '580', '36.72426', '-97.152464', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58743, 'Ponca City', 2816, '74601', '580', '36.72426', '-97.152464', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58744, 'Carnegie', 2816, '73015', '580', '35.072883', '-98.53751', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58745, 'Davis', 2816, '73030', '580', '34.506252', '-97.192463', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58746, 'Eakly', 2816, '73033', '405', '35.305092', '-98.55298', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58747, 'Hydro', 2816, '73048', '405', '35.428412', '-98.524111', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58748, 'Jones', 2816, '73049', '405', '35.58721', '-97.296602', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58749, 'Langston', 2816, '73050', '405', '35.927496', '-97.25698', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58750, 'Mulhall', 2816, '73063', '405', '36.042708', '-97.442176', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58751, 'Purcell', 2816, '73080', '405', '34.982666', '-97.497048', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58752, 'Yukon', 2816, '73099', '405', '35.526808', '-97.757584', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58753, 'Okc', 2816, '73113', '405', '35.4678', '-97.5164', '2018-11-29 05:06:52', '2018-11-29 05:06:52'),\n(58754, 'Oklahoma City', 2816, '73113', '405', '35.4678', '-97.5164', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58755, 'Okc', 2816, '73117', '405', '35.47344', '-97.463237', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58756, 'Oklahoma City', 2816, '73117', '405', '35.47344', '-97.463237', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58757, 'Okc', 2816, '73132', '405', '35.540686', '-97.63457', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58758, 'Oklahoma City', 2816, '73132', '405', '35.540686', '-97.63457', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58759, 'Warr Acres', 2816, '73132', '405', '35.540686', '-97.63457', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58760, 'Okc', 2816, '73147', '405', '35.4678', '-97.5164', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58761, 'Oklahoma City', 2816, '73147', '405', '35.4678', '-97.5164', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58762, 'Del City', 2816, '73165', '405', '35.337846', '-97.3533', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58763, 'Moore', 2816, '73165', '405', '35.337846', '-97.3533', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58764, 'Okc', 2816, '73165', '405', '35.337846', '-97.3533', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58765, 'Oklahoma City', 2816, '73165', '405', '35.337846', '-97.3533', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58766, 'Headrick', 2816, '73549', '580', '34.693747', '-99.186218', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58767, 'Ryan', 2816, '73565', '580', '34.003725', '-97.89518', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58768, 'Clinton', 2816, '73601', '580', '35.566484', '-99.01088', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58769, 'Cordell', 2816, '73632', '580', '35.230591', '-98.862488', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58770, 'Mayfield', 2816, '73666', '580', '35.423665', '-99.880984', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58771, 'Sweetwater', 2816, '73666', '580', '35.423665', '-99.880984', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58772, 'Taloga', 2816, '73667', '580', '35.94933', '-98.996738', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58773, 'Ames', 2816, '73718', '580', '36.227234', '-98.211323', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58774, 'Anadarko', 2816, '73005', '405', '35.12368', '-98.23282', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58775, 'Washita', 2816, '73005', '405', '35.12368', '-98.23282', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58776, 'Arcadia', 2816, '73007', '405', '35.684734', '-97.327112', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58777, 'Concho', 2816, '73022', '405', '35.619224', '-97.979404', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58778, 'Edmond', 2816, '73025', '405', '35.731483', '-97.574914', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58779, 'Norman', 2816, '73072', '405', '35.221503', '-97.484694', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58780, 'Orlando', 2816, '73073', '580', '36.132108', '-97.442164', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58781, 'Paoli', 2816, '73074', '405', '34.8189', '-97.268686', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58782, 'Pauls Valley', 2816, '73075', '405', '34.760153', '-97.20395', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58783, 'Okc', 2816, '73107', '405', '35.482795', '-97.574429', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58784, 'Oklahoma City', 2816, '73107', '405', '35.482795', '-97.574429', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58785, 'Okc', 2816, '73124', '405', '35.4678', '-97.5164', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58786, 'Oklahoma City', 2816, '73124', '405', '35.4678', '-97.5164', '2018-11-29 05:06:53', '2018-11-29 05:06:53'),\n(58787, 'Okc', 2816, '73141', '405', '35.517336', '-97.380696', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58788, 'Oklahoma City', 2816, '73141', '405', '35.517336', '-97.380696', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58789, 'Del City', 2816, '73155', '405', '35.4678', '-97.5164', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58790, 'Okc', 2816, '73155', '405', '35.4678', '-97.5164', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58791, 'Oklahoma City', 2816, '73155', '405', '35.4678', '-97.5164', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58792, 'Okc', 2816, '73157', '405', '35.4678', '-97.5164', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58793, 'Oklahoma City', 2816, '73157', '405', '35.4678', '-97.5164', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58794, 'Okc', 2816, '73173', '405', '35.333352', '-97.625398', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58795, 'Oklahoma City', 2816, '73173', '405', '35.333352', '-97.625398', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58796, 'Okc', 2816, '73189', '405', '35.4698', '-97.5174', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58797, 'Oklahoma City', 2816, '73189', '405', '35.4698', '-97.5174', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58798, 'Loco', 2816, '73442', '580', '34.33277', '-97.658702', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58799, 'Lawton', 2816, '73507', '580', '34.732042', '-98.469212', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58800, 'Blair', 2816, '73526', '580', '34.781552', '-99.37021', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58801, 'Fletcher', 2816, '73541', '580', '34.768063', '-98.186034', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58802, 'Frederick', 2816, '73542', '580', '34.420644', '-99.011607', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58803, 'Canute', 2816, '73626', '580', '35.385714', '-99.276212', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58804, 'Durham', 2816, '73642', '580', '35.873432', '-99.912304', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58805, 'Willow', 2816, '73673', '580', '35.045636', '-99.664236', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58806, 'Aline', 2816, '73726', '580', '36.601018', '-98.482772', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58807, 'Carmen', 2816, '73726', '580', '36.601018', '-98.482772', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58808, 'Hillsdale', 2816, '73743', '580', '36.550121', '-98.005986', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58809, 'Meno', 2816, '73760', '580', '36.376352', '-98.158264', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58810, 'Fargo', 2816, '73840', '580', '36.434391', '-99.72149', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58811, 'Shattuck', 2816, '73858', '580', '36.397656', '-99.889421', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58812, 'Vici', 2816, '73859', '580', '36.082198', '-99.221412', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58813, 'Bixby', 2816, '74008', '918', '35.931339', '-95.808318', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58814, 'Davenport', 2816, '74026', '918', '35.709626', '-96.760461', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58815, 'Delaware', 2816, '74027', '918', '36.80057', '-95.620809', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58816, 'Lawrence Creek', 2816, '74044', '918', '36.075178', '-96.393724', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58817, 'Lawrence Crk', 2816, '74044', '918', '36.075178', '-96.393724', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58818, 'Mannford', 2816, '74044', '918', '36.075178', '-96.393724', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58819, 'Mansford', 2816, '74044', '918', '36.075178', '-96.393724', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58820, 'Stillwater', 2816, '74074', '405', '36.07998', '-97.069374', '2018-11-29 05:06:54', '2018-11-29 05:06:54'),\n(58821, 'Apache', 2816, '73006', '580', '34.913034', '-98.409958', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58822, 'Colony', 2816, '73021', '405', '35.334308', '-98.676352', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58823, 'Fort Cobb', 2816, '73038', '405', '35.117076', '-98.433493', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58824, 'Davis', 2816, '73039', '580', '34.63', '-97.53', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58825, 'Gotebo', 2816, '73041', '580', '35.073548', '-98.883264', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58826, 'Bray', 2816, '73055', '580', '34.601836', '-97.887538', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58827, 'Central High', 2816, '73055', '580', '34.601836', '-97.887538', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58828, 'Marlow', 2816, '73055', '580', '34.601836', '-97.887538', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58829, 'Maysville', 2816, '73057', '405', '34.813582', '-97.422811', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58830, 'Union City', 2816, '73090', '405', '35.393962', '-97.956025', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58831, 'Okc', 2816, '73108', '405', '35.44967', '-97.565661', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58832, 'Oklahoma City', 2816, '73108', '405', '35.44967', '-97.565661', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58833, 'Okc', 2816, '73139', '405', '35.384757', '-97.526154', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58834, 'Oklahoma City', 2816, '73139', '405', '35.384757', '-97.526154', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58835, 'Edmond', 2816, '73013', '405', '35.615536', '-97.51729', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58836, 'Calumet', 2816, '73014', '405', '35.536603', '-98.180785', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58837, 'Dougherty', 2816, '73032', '580', '34.402028', '-97.050944', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58838, 'Mustang', 2816, '73064', '405', '35.377897', '-97.751068', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58839, 'Wheatland', 2816, '73097', '405', '35.396459', '-97.651918', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58840, 'Midwest City', 2816, '73130', '405', '35.462048', '-97.339628', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58841, 'Okc', 2816, '73130', '405', '35.462048', '-97.339628', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58842, 'Oklahoma City', 2816, '73130', '405', '35.462048', '-97.339628', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58843, 'Okc', 2816, '73150', '405', '35.40632', '-97.329126', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58844, 'Oklahoma City', 2816, '73150', '405', '35.40632', '-97.329126', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58845, 'Okc', 2816, '73164', '405', '35.4698', '-97.5165', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58846, 'Oklahoma City', 2816, '73164', '405', '35.4698', '-97.5165', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58847, 'Elmore City', 2816, '73433', '580', '34.615718', '-97.405286', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58848, 'Pernell', 2816, '73433', '580', '34.615718', '-97.405286', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58849, 'Mead', 2816, '73449', '580', '33.993308', '-96.545232', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58850, 'Ratliff City', 2816, '73481', '580', '34.40961', '-97.501075', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58851, 'Duke', 2816, '73532', '580', '34.666814', '-99.533772', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58852, 'Duncan', 2816, '73533', '580', '34.452727', '-97.852217', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58853, 'Empire City', 2816, '73533', '580', '34.452727', '-97.852217', '2018-11-29 05:06:55', '2018-11-29 05:06:55'),\n(58854, 'Duncan', 2816, '73534', '580', '34.5023', '-97.9576', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58855, 'Elk City', 2816, '73648', '405', '35.4117', '-99.4039', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58856, 'Texola', 2816, '73668', '580', '35.223161', '-99.956378', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58857, 'Alva', 2816, '73717', '580', '36.85486', '-98.764198', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58858, 'Avard', 2816, '73717', '580', '36.85486', '-98.764198', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58859, 'Capron', 2816, '73717', '580', '36.85486', '-98.764198', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58860, 'Drummond', 2816, '73735', '580', '36.241435', '-98.028848', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58861, 'Kingfisher', 2816, '73750', '405', '35.972316', '-97.961504', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58862, 'Ringwood', 2816, '73768', '580', '36.370657', '-98.332801', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58863, 'Woodward', 2816, '73801', '580', '36.418794', '-99.387009', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58864, 'Camargo', 2816, '73835', '580', '36.035583', '-99.280974', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58865, 'Boise City', 2816, '73933', '580', '36.750574', '-102.623414', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58866, 'Texhoma', 2816, '73949', '580', '36.631074', '-101.960019', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58867, 'Avant', 2816, '74001', '918', '36.484562', '-96.078597', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58868, 'Clairemore', 2816, '74017', '918', '36.394122', '-95.571712', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58869, 'Claremore', 2816, '74017', '918', '36.394122', '-95.571712', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58870, 'Tiawah', 2816, '74017', '918', '36.394122', '-95.571712', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58871, 'Valley Park', 2816, '74017', '918', '36.394122', '-95.571712', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58872, 'Verdigris', 2816, '74017', '918', '36.394122', '-95.571712', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58873, 'Clairemore', 2816, '74019', '918', '36.286417', '-95.605874', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58874, 'Claremore', 2816, '74019', '918', '36.286417', '-95.605874', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58875, 'Sapulpa', 2816, '74066', '918', '35.96651', '-96.170244', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58876, 'Sepulpa', 2816, '74066', '918', '35.96651', '-96.170244', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58877, 'Supulpa', 2816, '74066', '918', '35.96651', '-96.170244', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58878, 'Sapulpa', 2816, '74067', '918', '35.9989', '-96.1138', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58879, 'Sepulpa', 2816, '74067', '918', '35.9989', '-96.1138', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58880, 'Supulpa', 2816, '74067', '918', '35.9989', '-96.1138', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58881, 'Shamrock', 2816, '74068', '918', '35.907998', '-96.572103', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58882, 'Tulsa', 2816, '74103', '918', '36.155712', '-95.99407', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58883, 'Tulsa', 2816, '74119', '918', '36.141789', '-95.992875', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58884, 'Tulsa', 2816, '74133', '918', '36.039186', '-95.877639', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58885, 'Tulsa', 2816, '74135', '918', '36.09712', '-95.922304', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58886, 'Tulsa', 2816, '74150', '918', '36.1537', '-95.9926', '2018-11-29 05:06:56', '2018-11-29 05:06:56'),\n(58887, 'Tulsa', 2816, '74152', '918', '36.1537', '-95.9926', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58888, 'Tulsa', 2816, '74169', '918', '36.1537', '-95.9926', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58889, 'Centralia', 2816, '74301', '918', '36.680624', '-95.215808', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58890, 'Pensacola', 2816, '74301', '918', '36.680624', '-95.215808', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58891, 'Vinita', 2816, '74301', '918', '36.680624', '-95.215808', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58892, 'White Oak', 2816, '74301', '918', '36.680624', '-95.215808', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58893, 'Bluejacket', 2816, '74333', '918', '36.801316', '-95.152508', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58894, 'Langley', 2816, '74350', '918', '36.46596', '-95.051968', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58895, 'Locust Grove', 2816, '74352', '918', '36.173388', '-95.183472', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58896, 'Twin Oaks', 2816, '74368', '918', '36.195772', '-94.865051', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58897, 'Welch', 2816, '74369', '918', '36.912782', '-95.212607', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58898, 'Musk', 2816, '74402', '918', '35.7478', '-95.3694', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58899, 'Muskogee', 2816, '74402', '918', '35.7478', '-95.3694', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58900, 'Oktaha', 2816, '74450', '918', '35.631552', '-95.51922', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58901, 'Park Hill', 2816, '74451', '918', '35.754564', '-95.001564', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58902, 'Pettit', 2816, '74451', '918', '35.754564', '-95.001564', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58903, 'Qualls', 2816, '74451', '918', '35.754564', '-95.001564', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58904, 'Wainwright', 2816, '74468', '918', '35.630838', '-95.601134', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58905, 'Warner', 2816, '74469', '918', '35.500718', '-95.300565', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58906, 'Bache', 2816, '74501', '918', '34.95279', '-95.799742', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58907, 'Stw', 2816, '74074', '405', '36.07998', '-97.069374', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58908, 'Stillwater', 2816, '74075', '405', '36.188438', '-97.059916', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58909, 'Stw', 2816, '74075', '405', '36.188438', '-97.059916', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58910, 'Stillwater', 2816, '74076', '405', '36.1157', '-97.0584', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58911, 'Stw', 2816, '74076', '405', '36.1157', '-97.0584', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58912, 'Ok State Univ Stu Housing', 2816, '74077', '405', '36.123248', '-97.071449', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58913, 'Stillwater', 2816, '74077', '405', '36.123248', '-97.071449', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58914, 'Stw', 2816, '74077', '405', '36.123248', '-97.071449', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58915, 'Ok St Unv Adm', 2816, '74078', '405', '36.126099', '-97.079582', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58916, 'Ok State Univ Admin', 2816, '74078', '405', '36.126099', '-97.079582', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58917, 'Stillwater', 2816, '74078', '405', '36.126099', '-97.079582', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58918, 'Wapanucka', 2816, '73461', '580', '34.397196', '-96.495638', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58919, 'Duncan', 2816, '73536', '580', '34.5023', '-97.9576', '2018-11-29 05:06:57', '2018-11-29 05:06:57'),\n(58920, 'Halliburton', 2816, '73536', '580', '34.5023', '-97.9576', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58921, 'Elgin', 2816, '73538', '580', '34.79242', '-98.396617', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58922, 'Arapaho', 2816, '73620', '580', '35.60992', '-98.929172', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58923, 'Carter', 2816, '73627', '580', '35.199958', '-99.471132', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58924, 'Crawford', 2816, '73638', '580', '35.87213', '-99.806568', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58925, 'Erick', 2816, '73645', '580', '35.20724', '-99.850442', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58926, 'Foss', 2816, '73647', '580', '35.393058', '-99.090781', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58927, 'Seiling', 2816, '73663', '580', '36.060746', '-98.84976', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58928, 'Garber', 2816, '73738', '580', '36.455837', '-97.559638', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58929, 'Lahoma', 2816, '73754', '580', '36.390788', '-98.049672', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58930, 'Loyal', 2816, '73756', '405', '35.963718', '-98.112328', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58931, 'Nash', 2816, '73761', '580', '36.702372', '-97.992922', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58932, 'Okeene', 2816, '73763', '580', '36.098003', '-98.343622', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58933, 'Balko', 2816, '73931', '580', '36.607008', '-100.639187', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58934, 'Keyes', 2816, '73947', '580', '36.782614', '-102.212695', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58935, 'Copan', 2816, '74022', '918', '36.92319', '-95.905453', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58936, 'Jennings', 2816, '74038', '918', '36.19252', '-96.579751', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58937, 'Silver City', 2816, '74038', '918', '36.19252', '-96.579751', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58938, 'Mounds', 2816, '74047', '918', '35.842326', '-96.006291', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58939, 'Bowring', 2816, '74056', '918', '36.791718', '-96.282592', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58940, 'Herd', 2816, '74056', '918', '36.791718', '-96.282592', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58941, 'Nelagony', 2816, '74056', '918', '36.791718', '-96.282592', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58942, 'Pawhuska', 2816, '74056', '918', '36.791718', '-96.282592', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58943, 'Pearsonia', 2816, '74056', '918', '36.791718', '-96.282592', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58944, 'Skiatook', 2816, '74070', '918', '36.373033', '-96.07712', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58945, 'Tulsa', 2816, '74106', '918', '36.190472', '-95.980998', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58946, 'Tulsa', 2816, '74131', '918', '36.046708', '-96.071006', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58947, 'Tulsa', 2816, '74149', '918', '36.1537', '-95.9926', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58948, 'Tulsa', 2816, '74156', '918', '36.1537', '-95.9926', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58949, 'Colcord', 2816, '74338', '918', '36.258371', '-94.693192', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58950, 'W Siloam Spgs', 2816, '74338', '918', '36.258371', '-94.693192', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58951, 'West Siloam Springs', 2816, '74338', '918', '36.258371', '-94.693192', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58952, 'Disney', 2816, '74340', '918', '36.476336', '-94.984426', '2018-11-29 05:06:58', '2018-11-29 05:06:58'),\n(58953, 'Maimi', 2816, '74354', '918', '36.878538', '-94.867968', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58954, 'Miami', 2816, '74354', '918', '36.878538', '-94.867968', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58955, 'Peoria', 2816, '74363', '918', '36.935086', '-94.718667', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58956, 'Quapaw', 2816, '74363', '918', '36.935086', '-94.718667', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58957, 'Tahlequah', 2816, '74465', '918', '35.9155', '-94.9699', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58958, 'Talequah', 2816, '74465', '918', '35.9155', '-94.9699', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58959, 'Thlequah', 2816, '74465', '918', '35.9155', '-94.9699', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58960, 'Hoyt', 2816, '74472', '918', '35.250413', '-95.227529', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58961, 'Blanchard', 2816, '73010', '405', '35.113111', '-97.621215', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58962, 'Cole', 2816, '73010', '405', '35.113111', '-97.621215', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58963, 'Edmond', 2816, '73012', '405', '35.674748', '-97.59394', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58964, 'Cement', 2816, '73017', '405', '34.934546', '-98.163469', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58965, 'Lexington', 2816, '73051', '405', '35.022457', '-97.256858', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58966, 'Slaughterville', 2816, '73051', '405', '35.022457', '-97.256858', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58967, 'Slaughtervl', 2816, '73051', '405', '35.022457', '-97.256858', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58968, 'Lookeba', 2816, '73053', '405', '35.380821', '-98.400779', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58969, 'Ninnekah', 2816, '73067', '405', '34.920628', '-97.916198', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58970, 'Piedmont', 2816, '73078', '405', '35.653064', '-97.753992', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58971, 'Weatherford', 2816, '73096', '580', '35.551503', '-98.751841', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58972, 'Okc', 2816, '73119', '405', '35.420678', '-97.570074', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58973, 'Oklahoma City', 2816, '73119', '405', '35.420678', '-97.570074', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58974, 'Okc', 2816, '73146', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58975, 'Oklahoma City', 2816, '73146', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58976, 'Okc', 2816, '73169', '405', '35.38449', '-97.64294', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58977, 'Oklahoma City', 2816, '73169', '405', '35.38449', '-97.64294', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58978, 'Okc', 2816, '73178', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58979, 'Oklahoma City', 2816, '73178', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58980, 'Jp Morgan Chase', 2816, '73185', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58981, 'Okc', 2816, '73185', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58982, 'Oklahoma City', 2816, '73185', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58983, 'Ok Tax Comm', 2816, '73194', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58984, 'Okc', 2816, '73194', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58985, 'Oklahoma City', 2816, '73194', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58986, 'Bank Of Oklahoma', 2816, '73196', '405', '35.4678', '-97.5164', '2018-11-29 05:06:59', '2018-11-29 05:06:59'),\n(58987, 'Okc', 2816, '73196', '405', '35.4678', '-97.5164', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58988, 'Oklahoma City', 2816, '73196', '405', '35.4678', '-97.5164', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58989, 'Oklahoma City', 2816, '73170', '405', '35.327058', '-97.555363', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58990, 'Ardmore', 2816, '73402', '580', '34.1744', '-97.1434', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58991, 'Gene Autry', 2816, '73436', '580', '34.2814', '-97.0372', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58992, 'Healdton', 2816, '73438', '580', '34.223668', '-97.501035', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58993, 'Mannsville', 2816, '73447', '580', '34.207516', '-96.83267', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58994, 'Addington', 2816, '73520', '580', '34.245731', '-97.892177', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58995, 'Altus', 2816, '73522', '580', '34.6382', '-99.3336', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58996, 'Cache', 2816, '73527', '580', '34.576162', '-98.553892', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58997, 'Granite', 2816, '73547', '580', '34.98793', '-99.395808', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58998, 'Walters', 2816, '73572', '580', '34.384044', '-98.40048', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(58999, 'Leedey', 2816, '73654', '580', '35.904267', '-99.3606', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59000, 'Enid', 2816, '73702', '580', '36.3957', '-97.8784', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59001, 'Bison', 2816, '73720', '580', '36.191198', '-97.88459', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59002, 'Fairmont', 2816, '73736', '580', '36.376211', '-97.702325', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59003, 'Isabella', 2816, '73747', '580', '36.251466', '-98.33454', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59004, 'Southard', 2816, '73770', '580', '36.076013', '-98.453042', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59005, 'Forgan', 2816, '73938', '580', '36.894946', '-100.503671', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59006, 'Hooker', 2816, '73945', '580', '36.82631', '-101.156905', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59007, 'Optima', 2816, '73945', '580', '36.82631', '-101.156905', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59008, 'Bartlesville', 2816, '74006', '918', '36.706329', '-95.887335', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59009, 'Brtlsville', 2816, '74006', '918', '36.706329', '-95.887335', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59010, 'Bville', 2816, '74006', '918', '36.706329', '-95.887335', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59011, 'Eastside', 2816, '74006', '918', '36.706329', '-95.887335', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59012, 'Brkn Arw', 2816, '74013', '918', '36.0526', '-95.7909', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59013, 'Broken Arrow', 2816, '74013', '918', '36.0526', '-95.7909', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59014, 'Baugh', 2816, '74020', '918', '36.248052', '-96.444717', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59015, 'Cleveland', 2816, '74020', '918', '36.248052', '-96.444717', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59016, 'Shady Grove', 2816, '74020', '918', '36.248052', '-96.444717', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59017, 'Westport', 2816, '74020', '918', '36.248052', '-96.444717', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59018, 'Alex', 2816, '73002', '405', '34.98039', '-97.757286', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59019, 'Binger', 2816, '73009', '405', '35.312414', '-98.297824', '2018-11-29 05:07:00', '2018-11-29 05:07:00'),\n(59020, 'Bradley', 2816, '73011', '405', '34.87002', '-97.730538', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59021, 'Cyril', 2816, '73029', '580', '34.898621', '-98.227641', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59022, 'Erin Springs', 2816, '73052', '405', '34.804552', '-97.564024', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59023, 'Lindsay', 2816, '73052', '405', '34.804552', '-97.564024', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59024, 'Luther', 2816, '73054', '405', '35.666721', '-97.194274', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59025, 'Morrison', 2816, '73061', '580', '36.319562', '-97.058982', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59026, 'Perry', 2816, '73077', '580', '36.296904', '-97.282354', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59027, 'Pocasset', 2816, '73079', '405', '35.151384', '-97.988748', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59028, 'El Reno', 2816, '73036', '405', '35.530536', '-97.974044', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59029, 'Harrah', 2816, '73045', '405', '35.493452', '-97.141731', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59030, 'Minco', 2816, '73059', '405', '35.290729', '-97.976223', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59031, 'Etowah', 2816, '73068', '405', '35.136288', '-97.277051', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59032, 'Noble', 2816, '73068', '405', '35.136288', '-97.277051', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59033, 'Norman', 2816, '73070', '405', '35.2225', '-97.4393', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59034, 'Sulphur', 2816, '73086', '580', '34.484697', '-96.965972', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59035, 'Goldsby', 2816, '73093', '405', '35.13156', '-97.48535', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59036, 'Washington', 2816, '73093', '405', '35.13156', '-97.48535', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59037, 'Okc', 2816, '73104', '405', '35.474662', '-97.503161', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59038, 'Oklahoma City', 2816, '73104', '405', '35.474662', '-97.503161', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59039, 'Okc', 2816, '73111', '405', '35.518519', '-97.475938', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59040, 'Oklahoma City', 2816, '73111', '405', '35.518519', '-97.475938', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59041, 'Nichols Hills', 2816, '73120', '405', '35.576266', '-97.574353', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59042, 'Okc', 2816, '73120', '405', '35.576266', '-97.574353', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59043, 'Oklahoma City', 2816, '73120', '405', '35.576266', '-97.574353', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59044, 'The Village', 2816, '73120', '405', '35.576266', '-97.574353', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59045, 'Village', 2816, '73120', '405', '35.576266', '-97.574353', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59046, 'Okc', 2816, '73127', '405', '35.484542', '-97.653948', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59047, 'Oklahoma City', 2816, '73127', '405', '35.484542', '-97.653948', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59048, 'Okc', 2816, '73152', '405', '35.4678', '-97.5164', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59049, 'Oklahoma City', 2816, '73152', '405', '35.4678', '-97.5164', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59050, 'Moore', 2816, '73170', '405', '35.327058', '-97.555363', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59051, 'Okc', 2816, '73170', '405', '35.327058', '-97.555363', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59052, 'Edmond', 2816, '73003', '405', '35.667505', '-97.496047', '2018-11-29 05:07:01', '2018-11-29 05:07:01'),\n(59053, 'Norman', 2816, '73019', '405', '35.2227', '-97.4395', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59054, 'University Of Ok', 2816, '73019', '405', '35.2227', '-97.4395', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59055, 'Cimarron City', 2816, '73028', '405', '35.966158', '-97.582066', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59056, 'Crescent', 2816, '73028', '405', '35.966158', '-97.582066', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59057, 'Gracemont', 2816, '73042', '405', '35.196802', '-98.313616', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59058, 'Guthrie', 2816, '73044', '405', '35.870938', '-97.469595', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59059, 'Mountain View', 2816, '73062', '580', '34.989487', '-98.73471', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59060, 'Verden', 2816, '73092', '405', '35.093729', '-98.048934', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59061, 'Midwest City', 2816, '73110', '405', '35.460434', '-97.397414', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59062, 'Okc', 2816, '73110', '405', '35.460434', '-97.397414', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59063, 'Oklahoma City', 2816, '73110', '405', '35.460434', '-97.397414', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59064, 'Okc', 2816, '73112', '405', '35.518024', '-97.574052', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59065, 'Oklahoma City', 2816, '73112', '405', '35.518024', '-97.574052', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59066, 'Warr Acres', 2816, '73112', '405', '35.518024', '-97.574052', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59067, 'Forest Park', 2816, '73121', '405', '35.515988', '-97.432772', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59068, 'Lake Aluma', 2816, '73121', '405', '35.515988', '-97.432772', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59069, 'Okc', 2816, '73121', '405', '35.515988', '-97.432772', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59070, 'Oklahoma City', 2816, '73121', '405', '35.515988', '-97.432772', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59071, 'Okc', 2816, '73126', '405', '35.4678', '-97.5164', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59072, 'Oklahoma City', 2816, '73126', '405', '35.4678', '-97.5164', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59073, 'Del City', 2816, '73135', '405', '35.39906', '-97.422499', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59074, 'Okc', 2816, '73135', '405', '35.39906', '-97.422499', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59075, 'Oklahoma City', 2816, '73135', '405', '35.39906', '-97.422499', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59076, 'Okc', 2816, '73151', '405', '35.572954', '-97.407', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59077, 'Oklahoma City', 2816, '73151', '405', '35.572954', '-97.407', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59078, 'Moore', 2816, '73153', '405', '35.4678', '-97.5164', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59079, 'Okc', 2816, '73153', '405', '35.4678', '-97.5164', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59080, 'Oklahoma City', 2816, '73153', '405', '35.4678', '-97.5164', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59081, 'Moore', 2816, '73160', '405', '35.334062', '-97.47635', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59082, 'Okc', 2816, '73160', '405', '35.334062', '-97.47635', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59083, 'Oklahoma City', 2816, '73160', '405', '35.334062', '-97.47635', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59084, 'Ravia', 2816, '73455', '580', '34.226132', '-96.773275', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59085, 'Fort Sill', 2816, '73503', '580', '34.681146', '-98.403436', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59086, 'Lawton', 2816, '73503', '580', '34.681146', '-98.403436', '2018-11-29 05:07:02', '2018-11-29 05:07:02'),\n(59087, 'Altus', 2816, '73521', '580', '34.688824', '-99.344443', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59088, 'Eldorado', 2816, '73537', '580', '34.454424', '-99.59804', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59089, 'Gould', 2816, '73544', '580', '34.681958', '-99.811652', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59090, 'Grandfield', 2816, '73546', '580', '34.228978', '-98.7316', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59091, 'Loveland', 2816, '73546', '580', '34.228978', '-98.7316', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59092, 'Loveland', 2816, '73553', '580', '34.387836', '-98.749104', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59093, 'Randlett', 2816, '73562', '580', '34.176775', '-98.400144', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59094, 'Grady', 2816, '73569', '580', '33.953688', '-97.824548', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59095, 'Terral', 2816, '73569', '580', '33.953688', '-97.824548', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59096, 'Vinson', 2816, '73571', '580', '34.88632', '-99.814184', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59097, 'Sentinel', 2816, '73664', '580', '35.167815', '-99.195008', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59098, 'Oklahoma City', 2816, '73105', '405', '35.518297', '-97.504089', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59099, 'Okc', 2816, '73106', '405', '35.48237', '-97.536674', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59100, 'Oklahoma City', 2816, '73106', '405', '35.48237', '-97.536674', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59101, 'Okc', 2816, '73122', '405', '35.518525', '-97.616622', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59102, 'Oklahoma City', 2816, '73122', '405', '35.518525', '-97.616622', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59103, 'Warr Acres', 2816, '73122', '405', '35.518525', '-97.616622', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59104, 'Okc', 2816, '73123', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59105, 'Oklahoma City', 2816, '73123', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59106, 'Warr Acres', 2816, '73123', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59107, 'Okc', 2816, '73125', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59108, 'Oklahoma City', 2816, '73125', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59109, 'Midwest City', 2816, '73140', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59110, 'Okc', 2816, '73140', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59111, 'Oklahoma City', 2816, '73140', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59112, 'Okc', 2816, '73156', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59113, 'Oklahoma City', 2816, '73156', '405', '35.4678', '-97.5164', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59114, 'Leon', 2816, '73441', '580', '33.944624', '-97.438906', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59115, 'Cornish', 2816, '73456', '580', '34.094452', '-97.654733', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59116, 'Ringling', 2816, '73456', '580', '34.094452', '-97.654733', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59117, 'Thackerville', 2816, '73459', '580', '33.816558', '-97.101872', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59118, 'Altus', 2816, '73523', '580', '34.663262', '-99.275724', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59119, 'Altus AFB', 2816, '73523', '580', '34.663262', '-99.275724', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59120, 'Geronimo', 2816, '73543', '580', '34.478206', '-98.357195', '2018-11-29 05:07:03', '2018-11-29 05:07:03'),\n(59121, 'Martha', 2816, '73556', '580', '34.754396', '-99.396633', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59122, 'Sugden', 2816, '73573', '580', '34.187656', '-97.947077', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59123, 'Waurika', 2816, '73573', '580', '34.187656', '-97.947077', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59124, 'Burns Flat', 2816, '73624', '580', '35.334984', '-99.188024', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59125, 'Dill City', 2816, '73641', '580', '35.238321', '-99.232218', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59126, 'Reydon', 2816, '73660', '580', '35.653528', '-99.880126', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59127, 'Carrier', 2816, '73727', '580', '36.52839', '-98.014956', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59128, 'Hennessey', 2816, '73742', '405', '36.00844', '-97.942445', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59129, 'Lucien', 2816, '73757', '580', '36.267889', '-97.443432', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59130, 'Manchester', 2816, '73758', '580', '36.948443', '-97.994211', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59131, 'Jefferson', 2816, '73759', '580', '36.82116', '-97.669586', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59132, 'Medford', 2816, '73759', '580', '36.82116', '-97.669586', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59133, 'Renfrow', 2816, '73759', '580', '36.82116', '-97.669586', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59134, 'Gage', 2816, '73843', '580', '36.333668', '-99.766604', '2018-11-29 05:07:04', '2018-11-29 05:07:04');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(59135, 'Gate', 2816, '73844', '580', '36.882482', '-100.181878', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59136, 'Knowles', 2816, '73844', '580', '36.882482', '-100.181878', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59137, 'Sharon', 2816, '73857', '580', '36.255818', '-99.363572', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59138, 'Brkn Arw', 2816, '74011', '918', '35.96773', '-95.815033', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59139, 'Broken Arrow', 2816, '74011', '918', '35.96773', '-95.815033', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59140, 'Keifer', 2816, '74041', '918', '35.937704', '-96.056594', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59141, 'Kiefer', 2816, '74041', '918', '35.937704', '-96.056594', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59142, 'Leonard', 2816, '74043', '918', '35.9204', '-95.7994', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59143, 'Blackburn', 2816, '74058', '918', '36.33295', '-96.775394', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59144, 'Pawnee', 2816, '74058', '918', '36.33295', '-96.775394', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59145, 'Pownee', 2816, '74058', '918', '36.33295', '-96.775394', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59146, 'Skedee', 2816, '74058', '918', '36.33295', '-96.775394', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59147, 'Tulsa', 2816, '74126', '918', '36.230793', '-96.027374', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59148, 'Bok Mail Service', 2816, '74192', '918', '36.1537', '-95.9926', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59149, 'Tulsa', 2816, '74192', '918', '36.1537', '-95.9926', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59150, 'Grove', 2816, '74344', '918', '36.570511', '-94.733459', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59151, 'Grove City', 2816, '74344', '918', '36.570511', '-94.733459', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59152, 'Pryor', 2816, '74361', '918', '36.263796', '-95.293707', '2018-11-29 05:07:04', '2018-11-29 05:07:04'),\n(59153, 'Pryor Creek', 2816, '74361', '918', '36.263796', '-95.293707', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59154, 'Sportsmen Acres', 2816, '74361', '918', '36.263796', '-95.293707', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59155, 'Sprtsmn Acres', 2816, '74361', '918', '36.263796', '-95.293707', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59156, 'Schulter', 2816, '74460', '918', '35.522512', '-95.972856', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59157, 'Blanco', 2816, '74528', '918', '34.765328', '-95.793402', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59158, 'Finley', 2816, '74543', '580', '34.358546', '-95.553425', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59159, 'Quinton', 2816, '74561', '918', '35.150384', '-95.507582', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59160, 'Higgins', 2816, '74578', '918', '34.91855', '-95.330773', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59161, 'Wilburton', 2816, '74578', '918', '34.91855', '-95.330773', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59162, 'Lamont', 2816, '74643', '580', '36.704509', '-97.552488', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59163, 'Hugo', 2816, '74743', '580', '34.033289', '-95.511035', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59164, 'Swink', 2816, '74761', '580', '33.990114', '-95.191329', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59165, 'Atwood', 2816, '74827', '580', '34.931381', '-96.345386', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59166, 'Paden', 2816, '74860', '405', '35.515069', '-96.550724', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59167, 'Bokoshe', 2816, '74930', '918', '35.114571', '-94.787418', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59168, 'Lequire', 2816, '74943', '918', '35.086614', '-95.097305', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59169, 'Marble City', 2816, '74945', '918', '35.581592', '-94.770491', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59170, 'Bethany', 2816, '73008', '405', '35.518612', '-97.64509', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59171, 'Woodlawn Park', 2816, '73008', '405', '35.518612', '-97.64509', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59172, 'Chickasha', 2816, '73023', '405', '35.0527', '-97.9361', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59173, 'Corn', 2816, '73024', '580', '35.406788', '-98.79981', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59174, 'Geary', 2816, '73040', '405', '35.648178', '-98.47016', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59175, 'Marshall', 2816, '73056', '580', '36.115036', '-97.586088', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59176, 'Meridian', 2816, '73058', '405', '35.802832', '-97.255732', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59177, 'Tuttle', 2816, '73089', '405', '35.275318', '-97.776959', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59178, 'Okc', 2816, '73105', '405', '35.518297', '-97.504089', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59179, 'Ardmore', 2816, '73403', '580', '34.1744', '-97.1434', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59180, 'Bristow', 2816, '74010', '918', '35.820929', '-96.381903', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59181, 'Edna', 2816, '74010', '918', '35.820929', '-96.381903', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59182, 'Newby', 2816, '74010', '918', '35.820929', '-96.381903', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59183, 'Tuskegee', 2816, '74010', '918', '35.820929', '-96.381903', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59184, 'Lenapah', 2816, '74042', '918', '36.889808', '-95.581684', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59185, 'Perkins', 2816, '74059', '405', '35.98138', '-97.106504', '2018-11-29 05:07:05', '2018-11-29 05:07:05'),\n(59186, 'Prue', 2816, '74060', '918', '36.290414', '-96.18834', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59187, 'Ramona', 2816, '74061', '918', '36.556766', '-95.905396', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59188, 'Tulsa', 2816, '74108', '918', '36.148076', '-95.779773', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59189, 'Tulsa', 2816, '74110', '918', '36.189668', '-95.955136', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59190, 'Tulsa', 2816, '74141', '918', '36.1537', '-95.9926', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59191, 'United States Postal Service', 2816, '74141', '918', '36.1537', '-95.9926', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59192, 'Douglas', 2816, '73733', '580', '36.22707', '-97.68436', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59193, 'Dover', 2816, '73734', '405', '35.991438', '-97.889944', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59194, 'Okc', 2816, '73142', '405', '35.609283', '-97.636962', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59195, 'Oklahoma City', 2816, '73142', '405', '35.609283', '-97.636962', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59196, 'Okc', 2816, '73172', '405', '35.5127', '-97.5772', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59197, 'Oklahoma City', 2816, '73172', '405', '35.5127', '-97.5772', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59198, 'Okc', 2816, '73190', '405', '35.4678', '-97.5164', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59199, 'Okla Univ Health Sci Ctr', 2816, '73190', '405', '35.4678', '-97.5164', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59200, 'Oklahoma City', 2816, '73190', '405', '35.4678', '-97.5164', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59201, 'Countyline', 2816, '73425', '580', '34.454227', '-97.566838', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59202, 'Kingston', 2816, '73439', '580', '33.924984', '-96.691958', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59203, 'Lebanon', 2816, '73440', '580', '33.953519', '-96.874256', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59204, 'Springer', 2816, '73458', '580', '34.295624', '-97.128817', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59205, 'Velma', 2816, '73491', '580', '34.485182', '-97.649727', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59206, 'Lawton', 2816, '73506', '580', '34.6088', '-98.3902', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59207, 'Faxon', 2816, '73540', '580', '34.464034', '-98.53995', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59208, 'Medicine Park', 2816, '73557', '580', '34.746056', '-98.530893', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59209, 'Lawton', 2816, '73558', '580', '34.6087', '-98.3901', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59210, 'Meers', 2816, '73558', '580', '34.6087', '-98.3901', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59211, 'Mountain Park', 2816, '73559', '580', '34.732111', '-98.999591', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59212, 'Butler', 2816, '73625', '580', '35.638935', '-99.252781', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59213, 'Eagle City', 2816, '73658', '580', '35.906914', '-98.728967', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59214, 'Oakwood', 2816, '73658', '580', '35.906914', '-98.728967', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59215, 'Putnam', 2816, '73659', '580', '35.848531', '-98.942446', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59216, 'Canton', 2816, '73724', '580', '35.988744', '-98.558138', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59217, 'Helena', 2816, '73741', '580', '36.56489', '-98.29212', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59218, 'Fort Supply', 2816, '73841', '580', '36.52015', '-99.443489', '2018-11-29 05:07:06', '2018-11-29 05:07:06'),\n(59219, 'Freedom', 2816, '73842', '580', '36.830884', '-99.213385', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59220, 'Waynoka', 2816, '73860', '580', '36.565328', '-98.792756', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59221, 'Guymon', 2816, '73942', '580', '36.747782', '-101.393566', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59222, 'Hardesty', 2816, '73944', '580', '36.585578', '-101.164144', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59223, 'Whitefield', 2816, '74472', '918', '35.250413', '-95.227529', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59224, 'Coalgate', 2816, '74538', '580', '34.59295', '-96.224436', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59225, 'Colgate', 2816, '74538', '580', '34.59295', '-96.224436', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59226, 'Cottonwood', 2816, '74538', '580', '34.59295', '-96.224436', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59227, 'Olney', 2816, '74538', '580', '34.59295', '-96.224436', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59228, 'Phillips', 2816, '74538', '580', '34.59295', '-96.224436', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59229, 'Red Oak', 2816, '74563', '918', '34.945463', '-95.130647', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59230, 'Tupelo', 2816, '74572', '580', '34.54928', '-96.427789', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59231, 'Sawyer', 2816, '74756', '580', '34.029896', '-95.347766', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59232, 'Agra', 2816, '74824', '918', '35.869831', '-96.88394', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59233, 'Byars', 2816, '74831', '405', '34.909456', '-97.10685', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59234, 'Rosedale', 2816, '74831', '405', '34.909456', '-97.10685', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59235, 'Stratford', 2816, '74872', '580', '34.745988', '-97.011292', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59236, 'Fallis', 2816, '74881', '405', '35.673854', '-97.043974', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59237, 'Warwick', 2816, '74881', '405', '35.673854', '-97.043974', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59238, 'Wellston', 2816, '74881', '405', '35.673854', '-97.043974', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59239, 'Bunch', 2816, '74931', '918', '35.72558', '-94.727972', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59240, 'Leflore', 2816, '74942', '918', '34.882369', '-94.956362', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59241, 'Muse', 2816, '74949', '918', '34.69193', '-94.720508', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59242, 'Okc', 2816, '73109', '405', '35.433783', '-97.52565', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59243, 'Oklahoma City', 2816, '73109', '405', '35.433783', '-97.52565', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59244, 'Okc', 2816, '73118', '405', '35.518936', '-97.529841', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59245, 'Oklahoma City', 2816, '73118', '405', '35.518936', '-97.529841', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59246, 'Okc', 2816, '73129', '405', '35.435224', '-97.485889', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59247, 'Oklahoma City', 2816, '73129', '405', '35.435224', '-97.485889', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59248, 'Valley Brook', 2816, '73129', '405', '35.435224', '-97.485889', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59249, 'Okc', 2816, '73136', '405', '35.4678', '-97.5164', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59250, 'Oklahoma City', 2816, '73136', '405', '35.4678', '-97.5164', '2018-11-29 05:07:07', '2018-11-29 05:07:07'),\n(59251, 'Okc', 2816, '73143', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59252, 'Oklahoma City', 2816, '73143', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59253, 'Okc', 2816, '73154', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59254, 'Oklahoma City', 2816, '73154', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59255, 'Okc', 2816, '73163', '405', '35.4657', '-97.5149', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59256, 'Oklahoma City', 2816, '73163', '405', '35.4657', '-97.5149', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59257, 'Globe Life And Accident Co', 2816, '73184', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59258, 'Okc', 2816, '73184', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59259, 'Oklahoma City', 2816, '73184', '405', '35.4678', '-97.5164', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59260, 'Lone Grove', 2816, '73443', '580', '34.165513', '-97.289116', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59261, 'Rubottom', 2816, '73463', '580', '34.172796', '-97.428225', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59262, 'Wilson', 2816, '73463', '580', '34.172796', '-97.428225', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59263, 'Tussy', 2816, '73488', '580', '34.485147', '-97.536088', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59264, 'Lawton', 2816, '73502', '580', '34.6088', '-98.3902', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59265, 'Comanche', 2816, '73529', '580', '34.361957', '-97.946872', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59266, 'Indiahoma', 2816, '73552', '580', '34.601924', '-98.755894', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59267, 'Mangum', 2816, '73554', '580', '34.871282', '-99.567433', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59268, 'Reed', 2816, '73554', '580', '34.871282', '-99.567433', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59269, 'Oscar', 2816, '73561', '580', '34.031226', '-97.648073', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59270, 'Terral', 2816, '73561', '580', '34.031226', '-97.648073', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59271, 'Tipton', 2816, '73570', '580', '34.503972', '-99.119595', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59272, 'Bessie', 2816, '73622', '580', '35.384653', '-98.998082', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59273, 'Rocky', 2816, '73661', '580', '35.138334', '-99.025604', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59274, 'Enid', 2816, '73706', '580', '36.3957', '-97.8784', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59275, 'Burlington', 2816, '73722', '580', '36.902788', '-98.321776', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59276, 'Byron', 2816, '73722', '580', '36.902788', '-98.321776', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59277, 'Cleo Springs', 2816, '73729', '580', '36.40531', '-98.479872', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59278, 'Dacoma', 2816, '73731', '580', '36.659436', '-98.6033', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59279, 'Watonga', 2816, '73772', '580', '35.88734', '-98.421506', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59280, 'Chester', 2816, '73838', '580', '36.334028', '-98.860637', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59281, 'Bartlesville', 2816, '74004', '918', '36.7473', '-95.9808', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59282, 'Brtlsville', 2816, '74004', '918', '36.7473', '-95.9808', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59283, 'Bville', 2816, '74004', '918', '36.7473', '-95.9808', '2018-11-29 05:07:08', '2018-11-29 05:07:08'),\n(59284, 'Phillips 66', 2816, '74004', '918', '36.7473', '-95.9808', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59285, 'Catoosa', 2816, '74015', '918', '36.17193', '-95.683958', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59286, 'Cotoosa', 2816, '74015', '918', '36.17193', '-95.683958', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59287, 'Fair Oaks', 2816, '74015', '918', '36.17193', '-95.683958', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59288, 'Port Of Catoo', 2816, '74015', '918', '36.17193', '-95.683958', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59289, 'Dewey', 2816, '74029', '918', '36.836801', '-95.905214', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59290, 'Foyil', 2816, '74031', '918', '36.4349', '-95.5192', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59291, 'Maramec', 2816, '74045', '918', '36.217627', '-96.675984', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59292, 'Lotsee', 2816, '74063', '918', '36.146862', '-96.209449', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59293, 'Sand Springs', 2816, '74063', '918', '36.146862', '-96.209449', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59294, 'Sandsprings', 2816, '74063', '918', '36.146862', '-96.209449', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59295, 'Ss', 2816, '74063', '918', '36.146862', '-96.209449', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59296, 'S Coffeyville', 2816, '74072', '918', '36.965224', '-95.554712', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59297, 'South Coffeyville', 2816, '74072', '918', '36.965224', '-95.554712', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59298, 'Terlton', 2816, '74081', '918', '36.19174', '-96.48182', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59299, 'Tulsa', 2816, '74104', '918', '36.14658', '-95.953804', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59300, 'Tulsa', 2816, '74115', '918', '36.197091', '-95.906994', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59301, 'Tulsa', 2816, '74120', '918', '36.148922', '-95.980284', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59302, 'Tulsa', 2816, '74145', '918', '36.09718', '-95.886556', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59303, 'Tulsa', 2816, '74170', '918', '36.1537', '-95.9926', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59304, 'Tulsa', 2816, '74172', '918', '36.1544', '-95.9905', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59305, 'Williams Center', 2816, '74172', '918', '36.1544', '-95.9905', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59306, 'Afton', 2816, '74331', '918', '36.631829', '-94.910083', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59307, 'Aston', 2816, '74331', '918', '36.631829', '-94.910083', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59308, 'Bernice', 2816, '74331', '918', '36.631829', '-94.910083', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59309, 'Bird Island', 2816, '74331', '918', '36.631829', '-94.910083', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59310, 'Hinton', 2816, '73047', '405', '35.464102', '-98.351242', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59311, 'Newcastle', 2816, '73065', '405', '35.258665', '-97.600622', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59312, 'Nicoma Park', 2816, '73066', '405', '35.492811', '-97.328811', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59313, 'Rush Springs', 2816, '73082', '580', '34.768134', '-97.878937', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59314, 'Edmond', 2816, '73083', '405', '35.6528', '-97.4778', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59315, 'Wynnewood', 2816, '73098', '405', '34.59369', '-97.203986', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59316, 'Okc', 2816, '73114', '405', '35.580432', '-97.5226', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59317, 'Oklahoma City', 2816, '73114', '405', '35.580432', '-97.5226', '2018-11-29 05:07:09', '2018-11-29 05:07:09'),\n(59318, 'Del City', 2816, '73115', '405', '35.442466', '-97.44169', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59319, 'Okc', 2816, '73115', '405', '35.442466', '-97.44169', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59320, 'Oklahoma City', 2816, '73115', '405', '35.442466', '-97.44169', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59321, 'Smith Village', 2816, '73115', '405', '35.442466', '-97.44169', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59322, 'Nichols Hills', 2816, '73116', '405', '35.544758', '-97.557789', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59323, 'Okc', 2816, '73116', '405', '35.544758', '-97.557789', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59324, 'Oklahoma City', 2816, '73116', '405', '35.544758', '-97.557789', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59325, 'Okc', 2816, '73131', '405', '35.580129', '-97.460268', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59326, 'Oklahoma City', 2816, '73131', '405', '35.580129', '-97.460268', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59327, 'Okc', 2816, '73148', '405', '35.4678', '-97.5164', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59328, 'Oklahoma City', 2816, '73148', '405', '35.4678', '-97.5164', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59329, 'Okc', 2816, '73149', '405', '35.391761', '-97.485799', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59330, 'Oklahoma City', 2816, '73149', '405', '35.391761', '-97.485799', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59331, 'Okc', 2816, '73167', '405', '35.4641', '-97.516', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59332, 'Oklahoma City', 2816, '73167', '405', '35.4641', '-97.516', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59333, 'Ardmore', 2816, '73401', '580', '34.254431', '-97.194353', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59334, 'Milo', 2816, '73401', '580', '34.254431', '-97.194353', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59335, 'Pooleville', 2816, '73401', '580', '34.254431', '-97.194353', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59336, 'Coleman', 2816, '73432', '580', '34.273913', '-96.470381', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59337, 'Foster', 2816, '73434', '580', '34.637635', '-97.545027', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59338, 'Marietta', 2816, '73448', '580', '33.9562', '-97.107596', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59339, 'Milburn', 2816, '73450', '580', '34.199072', '-96.527265', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59340, 'Lawton', 2816, '73501', '580', '34.563759', '-98.282128', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59341, 'Devol', 2816, '73531', '580', '34.205801', '-98.565401', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59342, 'Hastings', 2816, '73548', '580', '34.239104', '-98.148824', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59343, 'Hollis', 2816, '73550', '580', '34.794876', '-99.9385', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59344, 'Hollister', 2816, '73551', '580', '34.3629', '-98.888464', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59345, 'Snyder', 2816, '73566', '580', '34.645772', '-98.964762', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59346, 'Sterling', 2816, '73567', '580', '34.731826', '-98.157145', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59347, 'Temple', 2816, '73568', '580', '34.22394', '-98.265042', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59348, 'Hammon', 2816, '73650', '580', '35.689376', '-99.482542', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59349, 'Hobart', 2816, '73651', '580', '35.007615', '-99.061156', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59350, 'Enid', 2816, '73701', '580', '36.405284', '-97.818674', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59351, 'North Enid', 2816, '73701', '580', '36.405284', '-97.818674', '2018-11-29 05:07:10', '2018-11-29 05:07:10'),\n(59352, 'Aline', 2816, '73716', '580', '36.506564', '-98.497809', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59353, 'Jet', 2816, '73749', '580', '36.709859', '-98.174764', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59354, 'Buffalo', 2816, '73834', '580', '36.796831', '-99.534628', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59355, 'Selman', 2816, '73834', '580', '36.796831', '-99.534628', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59356, 'Mooreland', 2816, '73852', '580', '36.503976', '-99.12793', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59357, 'Adams', 2816, '73901', '580', '36.74013', '-101.053064', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59358, 'Baker', 2816, '73950', '580', '36.835122', '-100.823632', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59359, 'Turpin', 2816, '73950', '580', '36.835122', '-100.823632', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59360, 'Tyrone', 2816, '73951', '580', '36.952502', '-101.026776', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59361, 'Bushyhead', 2816, '74016', '918', '36.557783', '-95.471662', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59362, 'Chelsea', 2816, '74016', '918', '36.557783', '-95.471662', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59363, 'Winganon', 2816, '74016', '918', '36.557783', '-95.471662', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59364, 'Hailey', 2816, '74034', '918', '36.231883', '-96.561969', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59365, 'Hallett', 2816, '74034', '918', '36.231883', '-96.561969', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59366, 'Hallis', 2816, '74034', '918', '36.231883', '-96.561969', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59367, 'Inala', 2816, '74036', '918', '36.16952', '-95.527186', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59368, 'Inola', 2816, '74036', '918', '36.16952', '-95.527186', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59369, 'Onola', 2816, '74036', '918', '36.16952', '-95.527186', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59370, 'Noxie', 2816, '74083', '918', '36.92863', '-95.761734', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59371, 'Wann', 2816, '74083', '918', '36.92863', '-95.761734', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59372, 'Wynona', 2816, '74084', '918', '36.52636', '-96.386845', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59373, 'Tulsa', 2816, '74117', '918', '36.242216', '-95.897426', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59374, 'Tulsa', 2816, '74136', '918', '36.061566', '-95.944777', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59375, 'Oklahoma Natural Gas', 2816, '74186', '918', '36.1537', '-95.9926', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59376, 'Tulsa', 2816, '74186', '918', '36.1537', '-95.9926', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59377, 'Cardin', 2816, '74335', '918', '36.979985', '-94.855656', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59378, 'Strang', 2816, '74367', '918', '36.443572', '-95.087476', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59379, 'Wyandotte', 2816, '74370', '918', '36.782264', '-94.700396', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59380, 'Musk', 2816, '74403', '918', '35.66989', '-95.25589', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59381, 'Muskogee', 2816, '74403', '918', '35.66989', '-95.25589', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59382, 'Fort Gibson', 2816, '74434', '918', '35.802499', '-95.193841', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59383, 'Peggs', 2816, '74452', '918', '36.122236', '-95.000454', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59384, 'Porter', 2816, '74454', '918', '35.85998', '-95.48735', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59385, 'Tullahassee', 2816, '74454', '918', '35.85998', '-95.48735', '2018-11-29 05:07:11', '2018-11-29 05:07:11'),\n(59386, 'Mcalester', 2816, '74502', '918', '34.9334', '-95.7696', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59387, 'Centrahoma', 2816, '74534', '580', '34.638078', '-96.327939', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59388, 'Snow', 2816, '74567', '918', '34.436495', '-95.425765', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59389, 'Kildare', 2816, '74602', '580', '36.7067', '-97.0855', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59390, 'Ponca City', 2816, '74602', '580', '36.7067', '-97.0855', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59391, 'Kildare', 2816, '74604', '580', '36.702457', '-96.932755', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59392, 'Ponca City', 2816, '74604', '580', '36.702457', '-96.932755', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59393, 'Foraker', 2816, '74652', '918', '36.869063', '-96.602151', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59394, 'Shidler', 2816, '74652', '918', '36.869063', '-96.602151', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59395, 'Webb City', 2816, '74652', '918', '36.869063', '-96.602151', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59396, 'Durant', 2816, '74701', '580', '34.012251', '-96.405112', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59397, 'Silo', 2816, '74701', '580', '34.012251', '-96.405112', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59398, 'Achille', 2816, '74720', '580', '33.838722', '-96.364454', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59399, 'Albany', 2816, '74721', '580', '33.888344', '-96.18316', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59400, 'Golden', 2816, '74737', '580', '34.030155', '-94.902119', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59401, 'Grant', 2816, '74738', '580', '33.912756', '-95.465664', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59402, 'Shawnee', 2816, '74802', '405', '35.3273', '-96.925', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59403, 'Dale', 2816, '74851', '405', '35.391878', '-97.088976', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59404, 'Mcloud', 2816, '74851', '405', '35.391878', '-97.088976', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59405, 'Harden City', 2816, '74871', '580', '34.629262', '-96.524178', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59406, 'Stonewall', 2816, '74871', '580', '34.629262', '-96.524178', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59407, 'Heavener', 2816, '74937', '918', '34.739243', '-94.665731', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59408, 'Poteau', 2816, '74953', '918', '35.084916', '-94.579552', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59409, 'Shady Grove', 2818, '17256', '717', '39.7778', '-77.6688', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59410, 'Baresville', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59411, 'Bowman Addition', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59412, 'Brushtown', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59413, 'Edgegrove', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59414, 'Fairview Drive', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59415, 'Gitts Run', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59416, 'Gnatstown', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59417, 'Grangeville', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59418, 'Green Springs', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:12', '2018-11-29 05:07:12'),\n(59419, 'Hanover', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59420, 'Hershey Heights', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59421, 'Hobart', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59422, 'Jacobs Mills', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59423, 'Moulstown', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59424, 'Park Heights', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59425, 'Park Hills', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59426, 'Parkville', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59427, 'Pennville', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59428, 'Pleasant Hill', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59429, 'Shorbes Hill', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59430, 'York Road', 2818, '17331', '717', '39.796853', '-76.992607', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59431, 'Aqua', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59432, 'Beautiful', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59433, 'Chambersburg', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59434, 'Cheesetown', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59435, 'Clay Hill', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59436, 'Duffield', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59437, 'Franklin Furn', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59438, 'Greenvillage', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59439, 'Guilford Sprs', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59440, 'Guilford Township', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59441, 'Housum', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59442, 'Jackson Hall', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59443, 'Kauffman', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59444, 'Kerrstown', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59445, 'Kerrstown Sq', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59446, 'Letterkenny Army Depo', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59447, 'New Franklin', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59448, 'Nyesville', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59449, 'Pond Bank', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59450, 'Red Bridge', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59451, 'Stoufferstown', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59452, 'Sunbeam', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:13', '2018-11-29 05:07:13'),\n(59453, 'Turkeyfoot', 2818, '17201', '717', '39.931062', '-77.658566', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59454, 'Upper Strasbg', 2818, '17265', '717', '40.034548', '-77.786317', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59455, 'Upperstrasbrg', 2818, '17265', '717', '40.034548', '-77.786317', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59456, 'Upperstrasburg', 2818, '17265', '717', '40.034548', '-77.786317', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59457, 'Yeagertown', 2818, '17099', '717', '40.641503', '-77.57234', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59458, 'Yeagertwn', 2818, '17099', '717', '40.641503', '-77.57234', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59459, 'Harrisburg', 2818, '17108', '717', '40.2736', '-76.8847', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59460, 'Hbg', 2818, '17108', '717', '40.2736', '-76.8847', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59461, 'Lemasters', 2818, '17231', '717', '39.8612', '-77.8598', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59462, 'Mount Holly Spgs', 2818, '17065', '717', '40.10556', '-77.190242', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59463, 'Mount Holly Springs', 2818, '17065', '717', '40.10556', '-77.190242', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59464, 'Mt Holly Spgs', 2818, '17065', '717', '40.10556', '-77.190242', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59465, 'Mt Holly Springs', 2818, '17065', '717', '40.10556', '-77.190242', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59466, 'Upper Mill', 2818, '17065', '717', '40.10556', '-77.190242', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59467, 'Bureau Of Motor Vehicles', 2818, '17122', '717', '40.2688', '-76.8842', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59468, 'Harrisburg', 2818, '17122', '717', '40.2688', '-76.8842', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59469, 'Hbg', 2818, '17122', '717', '40.2688', '-76.8842', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59470, 'Bunkertown', 2818, '17049', '717', '40.650922', '-77.275841', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59471, 'Mc Alisterville', 2818, '17049', '717', '40.650922', '-77.275841', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59472, 'Mc Alistervl', 2818, '17049', '717', '40.650922', '-77.275841', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59473, 'Mc Alistervle', 2818, '17049', '717', '40.650922', '-77.275841', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59474, 'Mcalistervle', 2818, '17049', '717', '40.650922', '-77.275841', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59475, 'Swales', 2818, '17049', '717', '40.650922', '-77.275841', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59476, 'Plainfield', 2818, '17081', '717', '40.203142', '-77.289384', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59477, 'Wolfs X Rds', 2818, '17081', '717', '40.203142', '-77.289384', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59478, 'Bachmanville', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59479, 'Derry Church', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59480, 'Hershey', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59481, 'Palmdale', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59482, 'S Londonderry', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59483, 'Sandbeach', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59484, 'Swatara Sta', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59485, 'Union Deposit', 2818, '17033', '717', '40.264008', '-76.63194', '2018-11-29 05:07:14', '2018-11-29 05:07:14'),\n(59486, 'Alinda', 2818, '17040', '717', '40.316046', '-77.317987', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59487, 'Landisbg', 2818, '17040', '717', '40.316046', '-77.317987', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59488, 'Landisburg', 2818, '17040', '717', '40.316046', '-77.317987', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59489, 'Lebo', 2818, '17040', '717', '40.316046', '-77.317987', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59490, 'Avon', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59491, 'Avon Heights', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59492, 'Beverly Hts', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59493, 'Buffalo Sprs', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59494, 'Cleona', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59495, 'Colebrook', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59496, 'Cornwall Boro', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59497, 'Cornwall Borough', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59498, 'Ebenezer', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59499, 'Flintville', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59500, 'Fontana', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59501, 'Heilmandale', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59502, 'Iona', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59503, 'Leb', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59504, 'Lebanon', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59505, 'Mount Wilson', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59506, 'N Cornwall', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59507, 'North Lebanon', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59508, 'Rocherty', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59509, 'South Lebanon Twp', 2818, '17042', '717', '40.300028', '-76.420026', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59510, 'Osceola', 2818, '16942', '814', '41.983316', '-77.383871', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59511, 'Hazel Hurst', 2818, '16733', '814', '41.725733', '-78.584919', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59512, 'Curwensville', 2818, '16833', '814', '40.95791', '-78.561596', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59513, 'Kylertown', 2818, '16847', '814', '40.998027', '-78.176834', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59514, 'Covington', 2818, '16917', '570', '41.728682', '-77.095116', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59515, 'Covngtn', 2818, '16917', '570', '41.728682', '-77.095116', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59516, 'Chest Springs', 2818, '16624', '814', '40.5785', '-78.609884', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59517, 'Coupon', 2818, '16629', '814', '40.5367', '-78.5156', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59518, 'Entriken', 2818, '16638', '814', '40.33131', '-78.205511', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59519, 'Riddlesburg', 2818, '16672', '814', '40.158282', '-78.255058', '2018-11-29 05:07:15', '2018-11-29 05:07:15'),\n(59520, 'Robertsdale', 2818, '16674', '814', '40.177476', '-78.100428', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59521, 'Rebersburg', 2818, '16872', '814', '40.978845', '-77.342214', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59522, 'Snow Shoe', 2818, '16874', '814', '40.988381', '-77.963688', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59523, 'Woodland', 2818, '16881', '814', '41.023326', '-78.321225', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59524, 'Espyville', 2818, '16424', '814', '41.665454', '-80.417652', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59525, 'Linesville', 2818, '16424', '814', '41.665454', '-80.417652', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59526, 'Canadohta Lake', 2818, '16438', '814', '41.916469', '-79.850766', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59527, 'Union City', 2818, '16438', '814', '41.916469', '-79.850766', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59528, 'Erie', 2818, '16515', '814', '42.1234', '-80.0546', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59529, 'Crosby', 2818, '16724', '814', '41.69017', '-78.324472', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59530, 'Shippenville', 2818, '16254', '814', '41.250539', '-79.446934', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59531, 'Endeavor', 2818, '16322', '814', '41.610577', '-79.373576', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59532, 'Russell', 2818, '16345', '814', '41.944578', '-79.076488', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59533, 'Scandia', 2818, '16345', '814', '41.944578', '-79.076488', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59534, 'Erie', 2818, '16538', '814', '42.1294', '-80.0853', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59535, 'National City Of Pa', 2818, '16538', '814', '42.1294', '-80.0853', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59536, 'Erie', 2818, '16565', '814', '42.068936', '-80.099885', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59537, 'Gaffney', 2821, '29340', '864', '34.978655', '-81.608292', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59538, 'Inman', 2821, '29349', '864', '35.082322', '-82.080597', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59539, 'Roebuck', 2821, '29376', '864', '34.824526', '-81.950396', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59540, 'Orangeburg', 2821, '29117', '803', '33.498438', '-80.84809', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59541, 'Sc State University', 2821, '29117', '803', '33.498438', '-80.84809', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59542, 'Chapin', 2821, '29036', '803', '34.137696', '-81.342789', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59543, 'Lake Murray', 2821, '29036', '803', '34.137696', '-81.342789', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59544, 'Monroe', 2822, '57047', '605', '43.494021', '-97.211608', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59545, 'Running Water', 2822, '57062', '605', '42.850022', '-97.963464', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59546, 'Springfield', 2822, '57062', '605', '42.850022', '-97.963464', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59547, 'Tea', 2822, '57064', '605', '43.463294', '-96.870319', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59548, 'Earth Resources Obs', 2822, '57198', '605', '43.5503', '-96.7002', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59549, 'Sioux Falls', 2822, '57198', '605', '43.5503', '-96.7002', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59550, 'Astoria', 2822, '57213', '605', '44.565065', '-96.54861', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59551, 'Kranzburg', 2822, '57245', '605', '44.897341', '-96.91829', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59552, 'Labolt', 2822, '57246', '605', '45.056419', '-96.670263', '2018-11-29 05:07:16', '2018-11-29 05:07:16'),\n(59553, 'Agency Village', 2822, '57262', '605', '45.689015', '-96.931245', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59554, 'Agency Vlg', 2822, '57262', '605', '45.689015', '-96.931245', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59555, 'Junius', 2822, '57042', '605', '43.971126', '-97.139085', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59556, 'Lake Herman', 2822, '57042', '605', '43.971126', '-97.139085', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59557, 'Madison', 2822, '57042', '605', '43.971126', '-97.139085', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59558, 'Orland', 2822, '57042', '605', '43.971126', '-97.139085', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59559, 'Dakota Dunes', 2822, '57049', '605', '42.520413', '-96.504178', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59560, 'Mccook Lake', 2822, '57049', '605', '42.520413', '-96.504178', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59561, 'N Sioux City', 2822, '57049', '605', '42.520413', '-96.504178', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59562, 'North Sioux City', 2822, '57049', '605', '42.520413', '-96.504178', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59563, 'Sioux Falls', 2822, '57101', '605', '43.5503', '-96.7002', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59564, 'Sioux Falls', 2822, '57117', '605', '43.5503', '-96.7002', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59565, 'Altamont', 2822, '57226', '605', '44.803254', '-96.758653', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59566, 'Clear Lake', 2822, '57226', '605', '44.803254', '-96.758653', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59567, 'Tunnerville', 2822, '57226', '605', '44.803254', '-96.758653', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59568, 'Florence', 2822, '57235', '605', '45.049938', '-97.278148', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59569, 'Bushnell', 2822, '57276', '605', '44.41294', '-96.609435', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59570, 'Roland Colony', 2822, '57276', '605', '44.41294', '-96.609435', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59571, 'White', 2822, '57276', '605', '44.41294', '-96.609435', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59572, 'Kildare', 2824, '75562', '903', '32.946822', '-94.253946', '2018-11-29 05:07:17', '2018-11-29 05:07:17');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(59573, 'Denison', 2824, '75021', '903', '33.744192', '-96.478541', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59574, 'Frisco', 2824, '75035', '972', '33.161516', '-96.769231', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59575, 'Irving', 2824, '75038', '972', '32.875007', '-96.98328', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59576, 'Irving', 2824, '75015', '972', '32.8139', '-96.9488', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59577, 'Frisco', 2824, '75033', '972', '33.182727', '-96.846311', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59578, 'Garland', 2824, '75040', '972', '32.933134', '-96.621293', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59579, 'Garland', 2824, '75042', '972', '32.912946', '-96.677136', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59580, 'Garland', 2824, '75049', '214', '32.9127', '-96.6389', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59581, 'Grand Prairie', 2824, '75051', '972', '32.726639', '-96.991417', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59582, 'Murphy', 2824, '75074', '972', '33.038836', '-96.670924', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59583, 'Plano', 2824, '75074', '972', '33.038836', '-96.670924', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59584, 'Fink', 2824, '75076', '903', '33.81992', '-96.696003', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59585, 'Pottsboro', 2824, '75076', '903', '33.81992', '-96.696003', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59586, 'Richardson', 2824, '75081', '972', '32.94935', '-96.715602', '2018-11-29 05:07:17', '2018-11-29 05:07:17'),\n(59587, 'Richardson', 2824, '75083', '972', '32.9482', '-96.7295', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59588, 'Cedar Hill', 2824, '75106', '972', '32.5883', '-96.9559', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59589, 'Corsicana', 2824, '75110', '903', '32.076944', '-96.522284', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59590, 'Navarro', 2824, '75110', '903', '32.076944', '-96.522284', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59591, 'Eustace', 2824, '75124', '903', '32.288721', '-95.990608', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59592, 'Mesquite', 2824, '75149', '972', '32.766623', '-96.623283', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59593, 'Enchanted Oak', 2824, '75156', '903', '32.269188', '-96.105825', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59594, 'Enchanted Oaks', 2824, '75156', '903', '32.269188', '-96.105825', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59595, 'Gun Barrel City', 2824, '75156', '903', '32.269188', '-96.105825', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59596, 'Gun Barrel Cy', 2824, '75156', '903', '32.269188', '-96.105825', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59597, 'Mabank', 2824, '75156', '903', '32.269188', '-96.105825', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59598, 'Scurry', 2824, '75158', '972', '32.463452', '-96.395581', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59599, 'Dallas', 2824, '75201', '214', '32.787706', '-96.79985', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59600, 'Dallas', 2824, '75210', '214', '32.764515', '-96.736787', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59601, 'Dallas', 2824, '75217', '214', '32.700936', '-96.685995', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59602, 'Dallas', 2824, '75226', '214', '32.783758', '-96.776214', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59603, 'Dallas', 2824, '75242', '214', '32.7737', '-96.8066', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59604, 'Dallas', 2824, '75251', '972', '32.917314', '-96.77491', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59605, 'Bank Of America', 2824, '75283', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59606, 'Bk Of America', 2824, '75283', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59607, 'Dallas', 2824, '75283', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59608, 'Dallas', 2824, '75301', '469', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59609, 'Jc Penney Company', 2824, '75301', '469', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59610, 'Dallas', 2824, '75326', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59611, 'Wells Fargo Bank', 2824, '75326', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59612, 'Dallas', 2824, '75342', '469', '32.7803', '-96.81', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59613, 'Dallas', 2824, '75376', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59614, 'Dallas', 2824, '75390', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59615, 'Ut Sw Medical Center', 2824, '75390', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59616, 'Dallas', 2824, '75392', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59617, 'Gte', 2824, '75392', '214', '32.7835', '-96.8001', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59618, 'Floyd', 2824, '75401', '903', '33.19357', '-96.128', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59619, 'Greenville', 2824, '75401', '903', '33.19357', '-96.128', '2018-11-29 05:07:18', '2018-11-29 05:07:18'),\n(59620, 'Blue Ridge', 2824, '75424', '972', '33.315414', '-96.393493', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59621, 'Clarksville', 2824, '75426', '903', '33.627164', '-94.974415', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59622, 'Paris', 2824, '75460', '903', '33.578797', '-95.526233', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59623, 'Quinlan', 2824, '75474', '903', '32.922453', '-96.089521', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59624, 'West Tawakoni', 2824, '75474', '903', '32.922453', '-96.089521', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59625, 'Douglassville', 2824, '75560', '903', '33.205036', '-94.354889', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59626, 'Union Chapel', 2824, '75560', '903', '33.205036', '-94.354889', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59627, 'Carbondale', 2824, '75567', '903', '33.330467', '-94.304618', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59628, 'Corley', 2824, '75567', '903', '33.330467', '-94.304618', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59629, 'Maud', 2824, '75567', '903', '33.330467', '-94.304618', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59630, 'Texhoma', 2824, '73960', '806', '36.505537', '-101.782938', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59631, 'Cason', 2824, '75636', '903', '33.023965', '-94.824232', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59632, 'Easton', 2824, '75641', '903', '32.385478', '-94.553494', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59633, 'Longview', 2824, '75641', '903', '32.385478', '-94.553494', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59634, 'Gary', 2824, '75643', '903', '32.025001', '-94.212437', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59635, 'Gary City', 2824, '75643', '903', '32.025001', '-94.212437', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59636, 'Baldwin', 2824, '75661', '903', '32.639537', '-94.167384', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59637, 'Karnack', 2824, '75661', '903', '32.639537', '-94.167384', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59638, 'Leigh', 2824, '75661', '903', '32.639537', '-94.167384', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59639, 'Uncertain', 2824, '75661', '903', '32.639537', '-94.167384', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59640, 'Friar', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59641, 'Harmony', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59642, 'Jacobs', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59643, 'Leveretts Chapel', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59644, 'Overton', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59645, 'Pirtle', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59646, 'Pitner Junction', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59647, 'Sexton City', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59648, 'Wright City', 2824, '75684', '903', '32.27362', '-94.931798', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59649, 'Dirgin', 2824, '75691', '903', '32.317866', '-94.561987', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59650, 'Tatum', 2824, '75691', '903', '32.317866', '-94.561987', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59651, 'Tyler', 2824, '75709', '903', '32.307913', '-95.39633', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59652, 'Tyler', 2824, '75711', '903', '32.3511', '-95.3009', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59653, 'Arp', 2824, '75750', '903', '32.278846', '-95.06731', '2018-11-29 05:07:19', '2018-11-29 05:07:19'),\n(59654, 'Cove Spring', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59655, 'Enterprise', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59656, 'Jacksonville', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59657, 'Lake Jacksonville', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59658, 'Pierces Chapel', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59659, 'Pine Hill', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59660, 'Reese', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59661, 'Tecula', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59662, 'Turney', 2824, '75766', '903', '31.9761', '-95.28584', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59663, 'Elwood', 2824, '75852', '936', '30.981891', '-95.754512', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59664, 'Midway', 2824, '75852', '936', '30.981891', '-95.754512', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59665, 'Alto', 2824, '75925', '936', '31.647687', '-95.088708', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59666, 'Forest', 2824, '75925', '936', '31.647687', '-95.088708', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59667, 'Linwood', 2824, '75925', '936', '31.647687', '-95.088708', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59668, 'Redlawn', 2824, '75925', '936', '31.647687', '-95.088708', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59669, 'Geneva', 2824, '75959', '409', '31.496789', '-93.838501', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59670, 'Milam', 2824, '75959', '409', '31.496789', '-93.838501', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59671, 'Miland', 2824, '75959', '409', '31.496789', '-93.838501', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59672, 'Milane', 2824, '75959', '409', '31.496789', '-93.838501', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59673, 'Mildland', 2824, '75959', '409', '31.496789', '-93.838501', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59674, 'Arlington', 2824, '76002', '817', '32.620644', '-97.0916', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59675, 'Azle', 2824, '76020', '817', '32.908035', '-97.580633', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59676, 'Pelican Bay', 2824, '76020', '817', '32.908035', '-97.580633', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59677, 'Sanctuary', 2824, '76020', '817', '32.908035', '-97.580633', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59678, 'Colleyville', 2824, '76034', '817', '32.890671', '-97.144235', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59679, 'Crowley', 2824, '76036', '817', '32.580337', '-97.416047', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59680, 'Hurst', 2824, '76054', '817', '32.863816', '-97.176548', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59681, 'Lillian', 2824, '76061', '817', '32.503712', '-97.174611', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59682, 'Rainbow', 2824, '76077', '254', '32.281918', '-97.703762', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59683, 'Venus', 2824, '76084', '972', '32.435787', '-97.086719', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59684, 'Weatherford', 2824, '76086', '817', '32.752989', '-97.783087', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59685, 'Willow Park', 2824, '76086', '817', '32.752989', '-97.783087', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59686, 'Rio Vista', 2824, '76093', '817', '32.228346', '-97.404699', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59687, 'Fort Worth', 2824, '76111', '817', '32.778551', '-97.300725', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59688, 'Ft Worth', 2824, '76111', '817', '32.778551', '-97.300725', '2018-11-29 05:07:20', '2018-11-29 05:07:20'),\n(59689, 'Haltom City', 2824, '76111', '817', '32.778551', '-97.300725', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59690, 'Fort Worth', 2824, '76120', '817', '32.763098', '-97.181401', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59691, 'Ft Worth', 2824, '76120', '817', '32.763098', '-97.181401', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59692, 'Denton', 2824, '76209', '940', '33.233268', '-97.11097', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59693, 'Aubrey', 2824, '76227', '940', '33.274052', '-96.986525', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59694, 'Crossroads', 2824, '76227', '940', '33.274052', '-96.986525', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59695, 'Krugerville', 2824, '76227', '940', '33.274052', '-96.986525', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59696, 'Providence Village', 2824, '76227', '940', '33.274052', '-96.986525', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59697, 'Providnce Vil', 2824, '76227', '940', '33.274052', '-96.986525', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59698, 'Savannah', 2824, '76227', '940', '33.274052', '-96.986525', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59699, 'Wichita Falls', 2824, '76302', '940', '33.868014', '-98.473532', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59700, 'Petrolia', 2824, '76377', '940', '34.01752', '-98.180624', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59701, 'Scotland', 2824, '76379', '940', '33.64012', '-98.502744', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59702, 'Weinert', 2824, '76388', '940', '33.316009', '-99.59932', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59703, 'Desdemona', 2824, '76445', '254', '32.29452', '-98.55964', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59704, 'Energy', 2824, '76452', '325', '31.763269', '-98.399811', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59705, 'Gorman', 2824, '76454', '254', '32.223251', '-98.701392', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59706, 'Proctor', 2824, '76468', '254', '31.996255', '-98.400334', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59707, 'Perrin', 2824, '76486', '940', '33.042534', '-98.087435', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59708, 'Temple', 2824, '76502', '254', '31.101709', '-97.40705', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59709, 'Temple', 2824, '76504', '254', '31.129578', '-97.38367', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59710, 'Carrollton', 2824, '75010', '972', '33.029434', '-96.897384', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59711, 'Carrollton', 2824, '75011', '972', '32.9538', '-96.8902', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59712, 'Flower Mound', 2824, '75028', '972', '33.029167', '-97.068676', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59713, 'Flowermound', 2824, '75028', '972', '33.029167', '-97.068676', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59714, 'Lewisville', 2824, '75028', '972', '33.029167', '-97.068676', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59715, 'Lewisville', 2824, '75029', '469', '33.0463', '-96.9939', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59716, 'Rowlett', 2824, '75030', '972', '32.9026', '-96.5636', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59717, 'Garland', 2824, '75046', '972', '32.9127', '-96.6389', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59718, 'Irving', 2824, '75062', '972', '32.849437', '-96.97504', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59719, 'Irving', 2824, '75063', '972', '32.919517', '-96.977421', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59720, 'Weston', 2824, '75097', '972', '33.3489', '-96.6688', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59721, 'Crandall', 2824, '75114', '972', '32.609524', '-96.428256', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59722, 'Cockrell Hill', 2824, '75211', '214', '32.736514', '-96.905719', '2018-11-29 05:07:21', '2018-11-29 05:07:21'),\n(59723, 'Dallas', 2824, '75211', '214', '32.736514', '-96.905719', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59724, 'Dallas', 2824, '75212', '214', '32.775782', '-96.881774', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59725, 'Dallas', 2824, '75214', '214', '32.826449', '-96.745324', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59726, 'Dallas', 2824, '75227', '214', '32.772721', '-96.686605', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59727, 'Dallas', 2824, '75228', '214', '32.825202', '-96.68199', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59728, 'Dallas', 2824, '75229', '214', '32.89286', '-96.864142', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59729, 'Dallas', 2824, '75263', '214', '32.7803', '-96.8055', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59730, 'Dallas', 2824, '75378', '214', '32.7835', '-96.8001', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59731, 'Dallas', 2824, '75380', '972', '32.7835', '-96.8001', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59732, 'Dallas', 2824, '75397', '214', '32.7835', '-96.8001', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59733, 'Jp Morgan Chase', 2824, '75397', '214', '32.7835', '-96.8001', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59734, 'Bagwell', 2824, '75412', '903', '33.838548', '-95.110842', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59735, 'Ben Franklin', 2824, '75415', '903', '33.473234', '-95.779424', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59736, 'Commerce', 2824, '75429', '903', '33.2467', '-95.8998', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59737, 'Como', 2824, '75431', '903', '33.067363', '-95.401761', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59738, 'Ivanhoe', 2824, '75447', '903', '33.678246', '-96.166015', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59739, 'Saltillo', 2824, '75478', '903', '33.209163', '-95.374688', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59740, 'Van Alstyne', 2824, '75495', '903', '33.42829', '-96.546342', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59741, 'Austin', 2824, '73301', '512', '30.2669', '-97.7429', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59742, 'Internal Revenue Service', 2824, '73301', '512', '30.2669', '-97.7429', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59743, 'Fairfax', 2826, '22031', '703', '38.858907', '-77.261358', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59744, 'Pilgrims Knob', 2826, '24634', '276', '37.300236', '-81.903252', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59745, 'Shortt Gap', 2826, '24647', '276', '37.1547', '-81.8757', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59746, 'Bud', 2831, '24716', '304', '37.526504', '-81.375285', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59747, 'Squire', 2831, '24884', '304', '37.25994', '-81.575612', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59748, 'Lewisburg', 2831, '24901', '304', '37.852645', '-80.437564', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59749, 'Alta', 2831, '24916', '304', '37.820505', '-80.573302', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59750, 'Asbury', 2831, '24916', '304', '37.820505', '-80.573302', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59751, 'Dunmore', 2831, '24934', '304', '38.366824', '-79.841347', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59752, 'Forest Hill', 2831, '24935', '304', '37.545706', '-80.838211', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59753, 'Indian Mills', 2831, '24935', '304', '37.545706', '-80.838211', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59754, 'Lindside', 2831, '24951', '304', '37.488786', '-80.59752', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59755, 'Capels', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:07:22', '2018-11-29 05:07:22'),\n(59756, 'Coalwood', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59757, 'Havaco', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59758, 'Hemphill', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59759, 'Maitland', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59760, 'Skygusty', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59761, 'Granville', 2831, '26534', '304', '39.652034', '-79.993908', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59762, 'Core', 2831, '26541', '304', '39.693654', '-79.985124', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59763, 'Maidsville', 2831, '26541', '304', '39.693654', '-79.985124', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59764, 'Osage', 2831, '26543', '304', '39.658876', '-80.007308', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59765, 'Barrackville', 2831, '26559', '304', '39.500179', '-80.163032', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59766, 'Enterprise', 2831, '26568', '304', '39.423186', '-80.334564', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59767, 'Hundred', 2831, '26575', '304', '39.686834', '-80.470731', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59768, 'Mannington', 2831, '26582', '304', '39.528043', '-80.384824', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59769, 'Moorefield', 2831, '26836', '304', '39.01687', '-78.97215', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59770, 'Rig', 2831, '26836', '304', '39.01687', '-78.97215', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59771, 'Auburn', 2831, '26325', '304', '39.088299', '-80.898064', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59772, 'Crawford', 2831, '26343', '304', '38.831069', '-80.396967', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59773, 'Folsom', 2831, '26348', '304', '39.466942', '-80.513752', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59774, 'Linn', 2831, '26384', '304', '38.967499', '-80.70748', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59775, 'Manheim', 2831, '26425', '304', '39.290291', '-79.718512', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59776, 'Rowlesburg', 2831, '26425', '304', '39.290291', '-79.718512', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59777, 'Bethany', 2831, '26032', '304', '40.191244', '-80.55354', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59778, 'Rock Cave', 2831, '26234', '304', '38.767064', '-80.297213', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59779, 'Durbin', 2831, '26264', '304', '38.643624', '-79.771616', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59780, 'Upperglade', 2831, '26266', '304', '38.429466', '-80.502846', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59781, 'Huttonsville', 2831, '26273', '304', '38.640162', '-79.965406', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59782, 'Bergoo', 2831, '26298', '304', '38.472252', '-80.280235', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59783, 'Mc Graws', 2831, '25875', '304', '37.675032', '-81.44174', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59784, 'Newell', 2831, '26050', '304', '40.601029', '-80.618013', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59785, 'Proctor', 2831, '26055', '304', '39.72059', '-80.749872', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59786, 'Pool', 2831, '26684', '304', '38.143018', '-80.880896', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59787, 'Tioga', 2831, '26691', '304', '38.400764', '-80.68042', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59788, 'Eglon', 2831, '26716', '304', '39.251424', '-79.527196', '2018-11-29 05:07:23', '2018-11-29 05:07:23'),\n(59789, 'Horse Shoe Rn', 2831, '26716', '304', '39.251424', '-79.527196', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59790, 'Horse Shoe Run', 2831, '26716', '304', '39.251424', '-79.527196', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59791, 'Brandywine', 2831, '26802', '304', '38.643443', '-79.170927', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59792, 'Fort Seybert', 2831, '26802', '304', '38.643443', '-79.170927', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59793, 'Ft Seybert', 2831, '26802', '304', '38.643443', '-79.170927', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59794, 'Franklin', 2831, '26807', '304', '38.599774', '-79.376678', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59795, 'Green Spring', 2831, '26722', '304', '39.493528', '-78.629379', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59796, 'Carpendale', 2831, '26753', '304', '39.56553', '-78.816689', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59797, 'Patterson Creek', 2831, '26753', '304', '39.56553', '-78.816689', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59798, 'Patterson Crk', 2831, '26753', '304', '39.56553', '-78.816689', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59799, 'Ridgeley', 2831, '26753', '304', '39.56553', '-78.816689', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59800, 'Circleville', 2831, '26804', '304', '38.636066', '-79.54677', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59801, 'Morgantown', 2831, '26502', '304', '39.6297', '-79.9563', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59802, 'Westover', 2831, '26502', '304', '39.6297', '-79.9563', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59803, 'Fairview', 2831, '26570', '304', '39.631464', '-80.24297', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59804, 'Montana Mines', 2831, '26586', '304', '39.526624', '-80.105936', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59805, 'Rachel', 2831, '26587', '304', '39.525468', '-80.293682', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59806, 'Junction', 2831, '26852', '304', '39.279318', '-78.888125', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59807, 'Purgitsville', 2831, '26852', '304', '39.279318', '-78.888125', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59808, 'Seneca Rocks', 2831, '26884', '304', '38.831118', '-79.411874', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59809, 'Onego', 2831, '26886', '304', '38.834494', '-79.443168', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59810, 'Burlington', 2831, '26710', '304', '39.361262', '-78.919228', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59811, 'Medley', 2831, '26710', '304', '39.361262', '-78.919228', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59812, 'Elk Garden', 2831, '26717', '304', '39.365623', '-79.175028', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59813, 'Baker', 2831, '26801', '304', '39.065512', '-78.79251', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59814, 'Blandville', 2831, '26456', '304', '39.223158', '-80.798536', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59815, 'West Union', 2831, '26456', '304', '39.223158', '-80.798536', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59816, 'Morgantown', 2831, '26501', '304', '39.634638', '-80.07436', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59817, 'Westover', 2831, '26501', '304', '39.634638', '-80.07436', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59818, 'Cheat Lake', 2831, '26508', '304', '39.586584', '-79.901206', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59819, 'Little Falls', 2831, '26508', '304', '39.586584', '-79.901206', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59820, 'Morgantown', 2831, '26508', '304', '39.586584', '-79.901206', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59821, 'Sabraton', 2831, '26508', '304', '39.586584', '-79.901206', '2018-11-29 05:07:24', '2018-11-29 05:07:24'),\n(59822, 'Grant Town', 2831, '26574', '304', '39.563434', '-80.176301', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59823, 'Birch River', 2831, '26610', '304', '38.478925', '-80.765852', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59824, 'Copen', 2831, '26615', '304', '38.839903', '-80.719747', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59825, 'Baldwin', 2831, '26351', '304', '38.913583', '-80.833434', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59826, 'Gilmer', 2831, '26351', '304', '38.913583', '-80.833434', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59827, 'Glenville', 2831, '26351', '304', '38.913583', '-80.833434', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59828, 'Ireland', 2831, '26376', '304', '38.771566', '-80.47788', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59829, 'Wildcat', 2831, '26376', '304', '38.771566', '-80.47788', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59830, 'Craigmoore', 2831, '26408', '304', '39.198879', '-80.268442', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59831, 'Mount Clare', 2831, '26408', '304', '39.198879', '-80.268442', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59832, 'Rosemont', 2831, '26424', '304', '39.267992', '-80.1646', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59833, 'Cameron', 2831, '26033', '304', '39.817316', '-80.594458', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59834, 'Kerens', 2831, '26276', '304', '39.033858', '-79.762672', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59835, 'Clarksburg', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59836, 'Country Club', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59837, 'Dawmont', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59838, 'Laurel Park', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59839, 'Laurel Valley', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59840, 'Nutter Fort', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59841, 'Stonewood', 2831, '26301', '304', '39.299267', '-80.380616', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59842, 'Lester', 2831, '25865', '304', '37.740794', '-81.326117', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59843, 'Mcmechen', 2831, '26040', '304', '39.985875', '-80.730994', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59844, 'New Manchester', 2831, '26056', '304', '40.538345', '-80.578897', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59845, 'New Manchestr', 2831, '26056', '304', '40.538345', '-80.578897', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59846, 'New Manchstr', 2831, '26056', '304', '40.538345', '-80.578897', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59847, 'Belleville', 2831, '26133', '304', '39.118453', '-81.668372', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59848, 'Davisville', 2831, '26142', '304', '39.210052', '-81.452637', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59849, 'Grantsville', 2831, '26147', '304', '38.940576', '-81.093348', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59850, 'Middlebourne', 2831, '26149', '304', '39.470769', '-80.878834', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59851, 'Wick', 2831, '26149', '304', '39.470769', '-80.878834', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59852, 'Ravencliff', 2831, '25913', '304', '37.694988', '-81.493702', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59853, 'Spanishburg', 2831, '25922', '304', '37.460523', '-81.097954', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59854, 'Pecks Mill', 2831, '25547', '304', '37.907462', '-81.960111', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59855, 'Huntington', 2831, '25715', '304', '38.4195', '-82.4455', '2018-11-29 05:07:25', '2018-11-29 05:07:25'),\n(59856, 'Huntington', 2831, '25724', '304', '38.4195', '-82.4455', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59857, 'Huntington', 2831, '25729', '304', '38.4195', '-82.4455', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59858, 'Clifftop', 2831, '25831', '304', '37.879974', '-80.984744', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59859, 'Danese', 2831, '25831', '304', '37.879974', '-80.984744', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59860, 'Maplewood', 2831, '25831', '304', '37.879974', '-80.984744', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59861, 'Dothan', 2831, '25833', '304', '37.9673', '-81.2222', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59862, 'Beckwith', 2831, '25840', '304', '38.034008', '-81.021452', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59863, 'Nicut', 2831, '26636', '304', '38.765003', '-80.940652', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59864, 'Perkins', 2831, '26636', '304', '38.765003', '-80.940652', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59865, 'Rosedale', 2831, '26636', '304', '38.765003', '-80.940652', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59866, 'Belva', 2831, '26656', '304', '38.257671', '-81.140046', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59867, 'Gilboa', 2831, '26671', '304', '38.307257', '-80.927854', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59868, 'Amboy', 2831, '26705', '304', '39.291492', '-79.566692', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59869, 'Aurora', 2831, '26705', '304', '39.291492', '-79.566692', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59870, 'Gormania', 2831, '26720', '304', '39.25335', '-79.365761', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59871, 'Mount Storm', 2831, '26739', '304', '39.188848', '-79.245129', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59872, 'Kirby', 2831, '26755', '304', '39.203533', '-78.735948', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59873, 'Rio', 2831, '26755', '304', '39.203533', '-78.735948', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59874, 'Albright', 2831, '26519', '304', '39.553523', '-79.656392', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59875, 'Blacksville', 2831, '26521', '304', '39.702906', '-80.226214', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59876, 'Bellview', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59877, 'Fairmont', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59878, 'Jordan', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59879, 'Monongah', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59880, 'Pleasant Valley', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59881, 'Pleasant Vly', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59882, 'White Hall', 2831, '26554', '304', '39.481151', '-80.099396', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59883, 'Fairmont', 2831, '26555', '304', '39.485', '-80.1426', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59884, 'Monongah', 2831, '26555', '304', '39.485', '-80.1426', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59885, 'Pleasant Valley', 2831, '26555', '304', '39.485', '-80.1426', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59886, 'Whitehall', 2831, '26555', '304', '39.485', '-80.1426', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59887, 'Farmington', 2831, '26571', '304', '39.514958', '-80.25504', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59888, 'Four States', 2831, '26572', '304', '39.48722', '-80.307907', '2018-11-29 05:07:26', '2018-11-29 05:07:26'),\n(59889, 'Milam', 2831, '26838', '304', '38.712366', '-79.159635', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59890, 'Hepzibah', 2831, '26369', '304', '39.3244', '-80.335097', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59891, 'Reynoldsville', 2831, '26422', '304', '39.292488', '-80.445868', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59892, 'Corley', 2831, '26621', '304', '38.741422', '-80.577766', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59893, 'Flatwoods', 2831, '26621', '304', '38.741422', '-80.577766', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59894, 'Williamstown', 2831, '26187', '304', '39.370312', '-81.465284', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59895, 'Fenwick', 2831, '26202', '304', '38.258581', '-80.642318', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59896, 'Erbacon', 2831, '26203', '304', '38.549158', '-80.577812', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59897, 'Cottle', 2831, '26205', '304', '38.329562', '-80.611079', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59898, 'Craigsville', 2831, '26205', '304', '38.329562', '-80.611079', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59899, 'Frenchton', 2831, '26219', '304', '38.8724', '-80.3558', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59900, 'Tallmansville', 2831, '26237', '304', '38.834395', '-80.160244', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59901, 'Beverly', 2831, '26253', '304', '38.796016', '-79.838472', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59902, 'Hendricks', 2831, '26271', '304', '39.065787', '-79.608252', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59903, 'Colliers', 2831, '26035', '304', '40.344022', '-80.56535', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59904, 'Dallas', 2831, '26036', '304', '39.963348', '-80.560421', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59905, 'Fort Neal', 2831, '26103', '304', '39.2652', '-81.5633', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59906, 'Parkersburg', 2831, '26103', '304', '39.2652', '-81.5633', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59907, 'N Parkersburg', 2831, '26104', '304', '39.273715', '-81.477324', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59908, 'North Hills', 2831, '26104', '304', '39.273715', '-81.477324', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59909, 'North Parkersburg', 2831, '26104', '304', '39.273715', '-81.477324', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59910, 'Parkersburg', 2831, '26104', '304', '39.273715', '-81.477324', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59911, 'Coldwater Creek', 2831, '26121', '304', '39.1904', '-81.5322', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59912, 'Mineral Wells', 2831, '26121', '304', '39.1904', '-81.5322', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59913, 'Munday', 2831, '26152', '304', '39.004054', '-81.218737', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59914, 'N Martinsvlle', 2831, '26155', '304', '39.623157', '-80.757594', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59915, 'New Martinsville', 2831, '26155', '304', '39.623157', '-80.757594', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59916, 'Rockport', 2831, '26169', '304', '39.08385', '-81.570479', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59917, 'Huntington', 2831, '25703', '304', '38.425454', '-82.413928', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59918, 'Harvey', 2831, '25901', '304', '37.971194', '-81.117002', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59919, 'Oak Hill', 2831, '25901', '304', '37.971194', '-81.117002', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59920, 'Redstar', 2831, '25901', '304', '37.971194', '-81.117002', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59921, 'Summerlee', 2831, '25901', '304', '37.971194', '-81.117002', '2018-11-29 05:07:27', '2018-11-29 05:07:27'),\n(59922, 'Pax', 2831, '25904', '304', '37.937172', '-81.263194', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59923, 'Abraham', 2831, '25918', '304', '37.747586', '-80.997771', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59924, 'Shady Spring', 2831, '25918', '304', '37.747586', '-80.997771', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59925, 'Burnsville', 2831, '26335', '304', '38.852894', '-80.64998', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59926, 'Gem', 2831, '26335', '304', '38.852894', '-80.64998', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59927, 'Cairo', 2831, '26337', '304', '39.240166', '-81.155394', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59928, 'Camden', 2831, '26338', '304', '39.082585', '-80.613392', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59929, 'Belgium', 2831, '26354', '304', '39.353393', '-80.045963', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59930, 'Grafton', 2831, '26354', '304', '39.353393', '-80.045963', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59931, 'Harmony Grove', 2831, '26354', '304', '39.353393', '-80.045963', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59932, 'Haymond', 2831, '26354', '304', '39.353393', '-80.045963', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59933, 'White Day', 2831, '26354', '304', '39.353393', '-80.045963', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59934, 'Meadowbrook', 2831, '26404', '304', '39.333626', '-80.324026', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59935, 'Pullman', 2831, '26421', '304', '39.189952', '-80.92093', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59936, 'Simpson', 2831, '26435', '304', '39.26928', '-80.090586', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59937, 'Smithburg', 2831, '26436', '304', '39.296784', '-80.719006', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59938, 'Alexander', 2831, '26218', '304', '38.829039', '-80.265096', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59939, 'French Creek', 2831, '26218', '304', '38.829039', '-80.265096', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59940, 'Selbyville', 2831, '26236', '304', '38.716175', '-80.31564', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59941, 'Volga', 2831, '26238', '304', '39.079476', '-80.12667', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59942, 'Hambleton', 2831, '26269', '304', '39.107309', '-79.589415', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59943, 'Norton', 2831, '26285', '304', '38.929424', '-79.9777', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59944, 'Parsons', 2831, '26287', '304', '39.138342', '-79.672882', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59945, 'Saint George', 2831, '26287', '304', '39.138342', '-79.672882', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59946, 'Alma', 2831, '26320', '304', '39.423774', '-80.830596', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59947, 'Wilbur', 2831, '26320', '304', '39.423774', '-80.830596', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59948, 'Alum Bridge', 2831, '26321', '304', '39.050826', '-80.722907', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59949, 'Vadis', 2831, '26321', '304', '39.050826', '-80.722907', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59950, 'Lookout', 2831, '25868', '304', '38.053354', '-80.883947', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59951, 'Maben', 2831, '25870', '304', '37.662819', '-81.40396', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59952, 'Pierpont', 2831, '25870', '304', '37.662819', '-81.40396', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59953, 'Glen Dale', 2831, '26038', '304', '39.967596', '-80.709988', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59954, 'Parkersburg', 2831, '26101', '304', '39.244014', '-81.58613', '2018-11-29 05:07:28', '2018-11-29 05:07:28'),\n(59955, 'Vienna', 2831, '26101', '304', '39.244014', '-81.58613', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59956, 'Parkersburg', 2831, '26102', '304', '39.2667', '-81.5617', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59957, 'Coldwater Creek', 2831, '26120', '304', '39.1904', '-81.5322', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59958, 'Mineral Wells', 2831, '26120', '304', '39.1904', '-81.5322', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59959, 'Big Bend', 2831, '26136', '304', '38.987258', '-81.136088', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59960, 'Five Forks', 2831, '26136', '304', '38.987258', '-81.136088', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59961, 'Brohard', 2831, '26138', '304', '39.028631', '-81.171903', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59962, 'Mount Zion', 2831, '26151', '304', '38.897546', '-81.124596', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59963, 'Saint Marys', 2831, '26170', '304', '39.384608', '-81.140277', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59964, 'Huntington', 2831, '25701', '304', '38.368924', '-82.412756', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59965, 'Huntington', 2831, '25702', '304', '38.443332', '-82.344761', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59966, 'Odd', 2831, '25902', '304', '37.561363', '-81.229262', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59967, 'Skelton', 2831, '25919', '304', '37.8108', '-81.1875', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59968, 'Mcalpin', 2831, '25921', '304', '37.696845', '-81.271708', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59969, 'Sophia', 2831, '25921', '304', '37.696845', '-81.271708', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59970, 'Tams', 2831, '25921', '304', '37.696845', '-81.271708', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59971, 'Thurmond', 2831, '25936', '304', '37.947206', '-81.05552', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59972, 'Point Pleasant', 2831, '25550', '304', '38.868136', '-82.073476', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59973, 'Pt Pleasant', 2831, '25550', '304', '38.868136', '-82.073476', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59974, 'Teays', 2831, '25569', '304', '38.4414', '-81.9534', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59975, 'Beckley', 2831, '25801', '304', '37.822624', '-81.231806', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59976, 'East Beckley', 2831, '25801', '304', '37.822624', '-81.231806', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59977, 'Camp Creek', 2831, '25820', '304', '37.496669', '-81.14688', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59978, 'Eccles', 2831, '25836', '304', '37.775168', '-81.275516', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59979, 'Harper', 2831, '25851', '304', '37.7988', '-81.2619', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59980, 'Charleston', 2831, '25336', '304', '38.3494', '-81.6329', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59981, 'Wharncliffe', 2831, '25651', '304', '37.552765', '-81.977768', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59982, 'Alkol', 2831, '25501', '304', '38.159716', '-81.981461', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59983, 'Charleston', 2831, '25301', '304', '38.349535', '-81.63177', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59984, 'Big Chimney', 2831, '25302', '304', '38.395168', '-81.583267', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59985, 'Charleston', 2831, '25302', '304', '38.395168', '-81.583267', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59986, 'Charleston', 2831, '25332', '304', '38.3494', '-81.6329', '2018-11-29 05:07:29', '2018-11-29 05:07:29'),\n(59987, 'Belle', 2831, '25015', '304', '38.206776', '-81.49224', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59988, 'Diamond', 2831, '25015', '304', '38.206776', '-81.49224', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59989, 'Dupont City', 2831, '25015', '304', '38.206776', '-81.49224', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59990, 'Quincy', 2831, '25015', '304', '38.206776', '-81.49224', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59991, 'Shrewsbury', 2831, '25015', '304', '38.206776', '-81.49224', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59992, 'Witcher', 2831, '25015', '304', '38.206776', '-81.49224', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59993, 'Ottawa', 2831, '25149', '304', '37.955528', '-81.817576', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59994, 'Tornado', 2831, '25202', '304', '38.31296', '-81.869831', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59995, 'Upper Falls', 2831, '25202', '304', '38.31296', '-81.869831', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59996, 'Jenkinjones', 2831, '24848', '304', '37.304223', '-81.415315', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59997, 'Simon', 2831, '24882', '304', '37.616999', '-81.764028', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59998, 'Colcord', 2831, '25048', '304', '37.956791', '-81.434608', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(59999, 'Comfort', 2831, '25049', '304', '38.121991', '-81.567644', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(60000, 'Cabins', 2831, '26855', '304', '38.943228', '-79.276379', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(60001, 'Fort Hill', 2781, '71642', '870', '33.392652', '-91.882067', '2018-11-29 05:07:30', '2018-11-29 05:07:30'),\n(60002, 'Fountain Hill', 2781, '71642', '870', '33.392652', '-91.882067', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60003, 'Monticello', 2781, '71656', '870', '33.587917', '-91.807726', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60004, 'University Of Arkansas', 2781, '71656', '870', '33.587917', '-91.807726', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60005, 'Boydell', 2781, '71658', '870', '33.302954', '-91.573716', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60006, 'Montrose', 2781, '71658', '870', '33.302954', '-91.573716', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60007, 'Snyder', 2781, '71658', '870', '33.302954', '-91.573716', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60008, 'Thebes', 2781, '71658', '870', '33.302954', '-91.573716', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60009, 'Calmer', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60010, 'Dialion', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(60011, 'Herbine', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60012, 'Kedron', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60013, 'Pansy', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60014, 'Randall', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60015, 'Rison', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60016, 'Rowell', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60017, 'Rye', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60018, 'Staves', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60019, 'Toledo', 2781, '71665', '870', '33.884082', '-92.214494', '2018-11-29 05:07:31', '2018-11-29 05:07:31'),\n(60020, 'Kelso', 2781, '71674', '870', '33.888141', '-91.200434', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60021, 'Kurdo', 2781, '71674', '870', '33.888141', '-91.200434', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60022, 'Red Fork', 2781, '71674', '870', '33.888141', '-91.200434', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60023, 'Watson', 2781, '71674', '870', '33.888141', '-91.200434', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60024, 'Yancopin', 2781, '71674', '870', '33.888141', '-91.200434', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60025, 'Bluff City', 2781, '71722', '870', '33.711477', '-93.212004', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60026, 'Mount Holly', 2781, '71758', '870', '33.31094', '-92.909392', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60027, 'Perris', 2783, '92572', '909', '33.7825', '-117.2275', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60028, 'Banta', 2783, '95304', '209', '37.675708', '-121.398946', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60029, 'Tracy', 2783, '95304', '209', '37.675708', '-121.398946', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60030, 'Crows Landing', 2783, '95313', '209', '37.427302', '-121.031044', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60031, 'Escalon', 2783, '95320', '209', '37.815562', '-121.033258', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60032, 'Merced', 2783, '95340', '209', '37.375415', '-120.380194', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60033, 'Planada', 2783, '95365', '209', '37.330131', '-120.301728', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60034, 'Soulsbyville', 2783, '95372', '209', '37.995986', '-120.260239', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60035, 'Tuolumne', 2783, '95379', '209', '37.94721', '-120.21581', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60036, 'Winton', 2783, '95388', '209', '37.429506', '-120.553673', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60037, 'Modesto', 2783, '95397', '209', '37.6392', '-120.9958', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60038, 'Modesto Brm Zip', 2783, '95397', '209', '37.6392', '-120.9958', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60039, 'Boonville', 2783, '95415', '707', '39.015094', '-123.384212', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60040, 'Caspar', 2783, '95420', '707', '39.361778', '-123.781274', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60041, 'Clearlake', 2783, '95422', '707', '38.9726', '-122.540517', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60042, 'Hopland', 2783, '95449', '707', '38.945732', '-123.074592', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60043, 'Laytonville', 2783, '95454', '707', '39.747649', '-123.482074', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60044, 'Laytonville Rancheria', 2783, '95454', '707', '39.747649', '-123.482074', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60045, 'Redwood Valley', 2783, '95470', '707', '39.280052', '-123.322164', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60046, 'Redwood Vly', 2783, '95470', '707', '39.280052', '-123.322164', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60047, 'Bayside', 2783, '95524', '707', '40.8151', '-124.032775', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60048, 'Crescent City', 2783, '95531', '707', '41.788207', '-123.999798', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60049, 'Northcrest', 2783, '95531', '707', '41.788207', '-123.999798', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60050, 'Hydesville', 2783, '95547', '707', '40.550563', '-124.086217', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60051, 'Myers Flat', 2783, '95554', '707', '40.264388', '-123.892004', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60052, 'Elk Grove', 2783, '95624', '916', '38.443012', '-121.299269', '2018-11-29 05:07:32', '2018-11-29 05:07:32'),\n(60053, 'Clay', 2783, '95638', '209', '38.343778', '-121.138638', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60054, 'Herald', 2783, '95638', '209', '38.343778', '-121.138638', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60055, 'Camanche Lake', 2783, '95640', '209', '38.343656', '-120.923324', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60056, 'Carbondale', 2783, '95640', '209', '38.343656', '-120.923324', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60057, 'Ione', 2783, '95640', '209', '38.343656', '-120.923324', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60058, 'Sunnybrook', 2783, '95640', '209', '38.343656', '-120.923324', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60059, 'Jackson', 2783, '95654', '209', '38.3488', '-120.7733', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60060, 'Martell', 2783, '95654', '209', '38.3488', '-120.7733', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60061, 'Penryn', 2783, '95663', '916', '38.853399', '-121.180347', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60062, 'Rescue', 2783, '95672', '530', '38.728671', '-120.993404', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60063, 'Rio Oso', 2783, '95674', '530', '38.951228', '-121.50003', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60064, 'Rumsey', 2783, '95679', '530', '38.880523', '-122.329334', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60065, 'Sheridan', 2783, '95681', '530', '39.00435', '-121.353513', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60066, 'Rancho Murieta', 2783, '95683', '916', '38.514224', '-121.125248', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60067, 'Rncho Murieta', 2783, '95683', '916', '38.514224', '-121.125248', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60068, 'Sloughhouse', 2783, '95683', '916', '38.514224', '-121.125248', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60069, 'Eagle Tree', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60070, 'Grand Island', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60071, 'Howard Landing', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60072, 'Locke', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60073, 'Long Island', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60074, 'Ryer Island', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60075, 'Vorden', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60076, 'Walker Landing', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60077, 'Walnut Grove', 2783, '95690', '916', '38.233596', '-121.548819', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60078, 'Yolo', 2783, '95697', '530', '38.7353', '-121.7883', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60079, 'Cape Horn', 2783, '95713', '530', '39.085614', '-120.913339', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60080, 'Colfax', 2783, '95713', '530', '39.085614', '-120.913339', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60081, 'Eden Valley', 2783, '95713', '530', '39.085614', '-120.913339', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60082, 'Iowa Hill', 2783, '95713', '530', '39.085614', '-120.913339', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60083, 'Shady Glen', 2783, '95713', '530', '39.085614', '-120.913339', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60084, 'Yankee Jims', 2783, '95713', '530', '39.085614', '-120.913339', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60085, 'Norden', 2783, '95724', '530', '39.24884', '-120.443668', '2018-11-29 05:07:33', '2018-11-29 05:07:33'),\n(60086, 'Soda Springs', 2783, '95724', '530', '39.24884', '-120.443668', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60087, 'Roseville', 2783, '95747', '916', '38.784542', '-121.373449', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60088, 'Folsom', 2783, '95763', '916', '38.6783', '-121.1753', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60089, 'Sacramento', 2783, '95838', '916', '38.644622', '-121.440586', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60090, 'Sacramento', 2783, '95865', '916', '38.5817', '-121.4936', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60091, 'Sacramento', 2783, '95899', '916', '38.5817', '-121.4936', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60092, 'Camptonville', 2783, '95922', '530', '39.48126', '-120.948656', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60093, 'Cedar Ridge', 2783, '95924', '530', '39.1988', '-121.0201', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60094, 'Durham', 2783, '95938', '530', '39.606092', '-121.845656', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60095, 'Feather Falls', 2783, '95940', '530', '39.5936', '-121.2556', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60096, 'Oroville', 2783, '95940', '530', '39.5936', '-121.2556', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60097, 'Butte Meadows', 2783, '95942', '530', '40.040843', '-121.539453', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60098, 'Broad Brook', 2785, '06016', '860', '41.907656', '-72.551654', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60099, 'Melrose', 2785, '06016', '860', '41.907656', '-72.551654', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60100, 'Windsorville', 2785, '06016', '860', '41.907656', '-72.551654', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60101, 'Big Pine Key', 2788, '33043', '305', '24.687562', '-81.314962', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60102, 'No Name Key', 2788, '33043', '305', '24.687562', '-81.314962', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60103, 'Summerland Key', 2788, '33043', '305', '24.687562', '-81.314962', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60104, 'Summrlnd Key', 2788, '33043', '305', '24.687562', '-81.314962', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60105, 'Anderson', 2795, '46018', '765', '40.1056', '-85.6805', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60106, 'Curtisville', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60107, 'Duck Creek', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60108, 'Elwood', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60109, 'Leisure', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60110, 'Meadowood Est', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60111, 'Meadowood Estates', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60112, 'New Lancaster', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60113, 'Pipe Creek', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60114, 'Rigdon', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60115, 'West Elwood', 2795, '46036', '765', '40.285106', '-85.823844', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60116, 'Nevada', 2795, '46068', '765', '40.368702', '-86.123511', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60117, 'Sharpsville', 2795, '46068', '765', '40.368702', '-86.123511', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60118, 'Summitville', 2795, '46070', '765', '40.343048', '-85.664614', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60119, 'Tipton', 2795, '46072', '765', '40.288542', '-86.051429', '2018-11-29 05:07:34', '2018-11-29 05:07:34'),\n(60120, 'Montz', 2798, '70068', '985', '30.148161', '-90.425645', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60121, 'Luling', 2798, '70070', '985', '29.914297', '-90.365726', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60122, 'Good Hope', 2798, '70079', '985', '30.103403', '-90.369291', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60123, 'Norco', 2798, '70079', '985', '30.103403', '-90.369291', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60124, 'Belle Point', 2798, '70084', '985', '30.073627', '-90.55399', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60125, 'Lions', 2798, '70084', '985', '30.073627', '-90.55399', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60126, 'Reserve', 2798, '70084', '985', '30.073627', '-90.55399', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60127, 'Belle Chasse Nas', 2798, '70143', '504', '29.826548', '-90.021571', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60128, 'Naval Air New Orleans', 2798, '70143', '504', '29.826548', '-90.021571', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60129, 'New Orleans', 2798, '70143', '504', '29.826548', '-90.021571', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60130, 'New Orleans', 2798, '70163', '504', '29.95006', '-90.075322', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60131, 'New Orleans', 2798, '70177', '504', '29.9545', '-90.0753', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60132, 'New Orleans', 2798, '70179', '504', '29.9545', '-90.0753', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60133, 'New Orleans', 2798, '70186', '504', '29.9545', '-90.0753', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60134, 'Bourg', 2798, '70343', '985', '29.551514', '-90.590658', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60135, 'Cut Off', 2798, '70345', '985', '29.542645', '-90.298973', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60136, 'Houma', 2798, '70363', '985', '29.498246', '-90.688679', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60137, 'Plattenville', 2798, '70393', '985', '29.997039', '-91.006182', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60138, 'Theriot', 2798, '70397', '985', '29.357536', '-91.042896', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60139, 'Hammond', 2798, '70402', '985', '30.515598', '-90.468484', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60140, 'Slu', 2798, '70402', '985', '30.515598', '-90.468484', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60141, 'Southeastern Louisiana Univ', 2798, '70402', '985', '30.515598', '-90.468484', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60142, 'Abita Springs', 2798, '70420', '985', '30.500908', '-89.956644', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60143, 'Franklinton', 2798, '70438', '985', '30.827895', '-90.117693', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60144, 'Sheridan', 2798, '70438', '985', '30.827895', '-90.117693', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60145, 'Thomas', 2798, '70438', '985', '30.827895', '-90.117693', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60146, 'Avery Island', 2798, '70513', '337', '29.897943', '-91.906204', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60147, 'Carencro', 2798, '70520', '337', '30.336128', '-92.042595', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60148, 'Cypremort Point', 2798, '70538', '337', '29.699291', '-91.62609', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60149, 'Cypremort Pt', 2798, '70538', '337', '29.699291', '-91.62609', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60150, 'Franklin', 2798, '70538', '337', '29.699291', '-91.62609', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60151, 'Loreauville', 2798, '70552', '337', '30.06457', '-91.679316', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60152, 'Iowa', 2798, '70647', '337', '30.24354', '-93.00906', '2018-11-29 05:07:35', '2018-11-29 05:07:35'),\n(60153, 'Longville', 2798, '70652', '337', '30.598096', '-93.257552', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60154, 'Mittie', 2798, '70654', '337', '30.718999', '-92.920189', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60155, 'Sulphur', 2798, '70663', '337', '30.288477', '-93.39266', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60156, 'Denham Spgs', 2798, '70706', '225', '30.609941', '-90.917624', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60157, 'Denham Springs', 2798, '70706', '225', '30.609941', '-90.917624', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60158, 'Glynn', 2798, '70736', '225', '30.634368', '-91.326908', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60159, 'Burnside', 2798, '70738', '225', '30.1385', '-90.9236', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60160, 'Innis', 2798, '70747', '225', '30.873638', '-91.676858', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60161, 'Norwood', 2798, '70761', '225', '30.95932', '-91.010805', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60162, 'Paulina', 2798, '70763', '225', '30.075438', '-90.785022', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60163, 'Pride', 2798, '70770', '225', '30.645129', '-90.98551', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60164, 'Baton Rouge', 2798, '70811', '225', '30.535578', '-91.106948', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60165, 'Scotlandville', 2798, '70811', '225', '30.535578', '-91.106948', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60166, 'Zion City', 2798, '70811', '225', '30.535578', '-91.106948', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60167, 'Baton Rouge', 2798, '70813', '225', '30.527012', '-91.199374', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60168, 'Southern University', 2798, '70813', '225', '30.527012', '-91.199374', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60169, 'Baton Rouge', 2798, '70831', '225', '30.4506', '-91.1547', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60170, 'Baton Rouge', 2798, '70879', '225', '30.4506', '-91.1547', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60171, 'Gilliam', 2798, '71029', '318', '32.835477', '-93.819476', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60172, 'Blackburn', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60173, 'Colquitt', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60174, 'Dykesville', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60175, 'Gordon', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60176, 'Haynesville', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60177, 'Millerton', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60178, 'Mount Sinai', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60179, 'Oaks', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60180, 'Ruple', 2798, '71038', '318', '32.867347', '-93.02713', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60181, 'Jamestown', 2798, '71045', '318', '32.337056', '-93.180778', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60182, 'Keithville', 2798, '71047', '318', '32.310261', '-93.897771', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60183, 'Springridge', 2798, '71047', '318', '32.310261', '-93.897771', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60184, 'Chestnut', 2798, '71070', '318', '32.095825', '-92.978077', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60185, 'Creston', 2798, '71070', '318', '32.095825', '-92.978077', '2018-11-29 05:07:36', '2018-11-29 05:07:36'),\n(60186, 'Saline', 2798, '71070', '318', '32.095825', '-92.978077', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60187, 'Shreveport', 2798, '71120', '318', '32.5253', '-93.7501', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60188, 'Shreveport', 2798, '71129', '318', '32.380201', '-93.92564', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60189, 'Premier Bank', 2798, '71154', '318', '32.5253', '-93.7501', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60190, 'Shreveport', 2798, '71154', '318', '32.5253', '-93.7501', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60191, 'Shreveport', 2798, '71165', '318', '32.5253', '-93.7501', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60192, 'Bernice', 2798, '71222', '318', '32.828098', '-92.655852', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60193, 'Shiloh', 2798, '71222', '318', '32.828098', '-92.655852', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60194, 'Weldon', 2798, '71222', '318', '32.828098', '-92.655852', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60195, 'Collinston', 2798, '71229', '318', '32.629214', '-91.889238', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60196, 'Fairbanks', 2798, '71240', '318', '32.6445', '-92.0365', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60197, 'Gassoway', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60198, 'Hollybrook', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60199, 'Lake Providence', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60200, 'Lk Providence', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60201, 'Millikin', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60202, 'Monticello', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60203, 'Shelburn', 2798, '71254', '318', '32.850351', '-91.216325', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60204, 'Alexandria', 2798, '71306', '318', '31.3113', '-92.4453', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60205, 'Alex', 2798, '71315', '318', '31.3113', '-92.4453', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60206, 'Alexandria', 2798, '71315', '318', '31.3113', '-92.4453', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60207, 'Bunkie', 2798, '71322', '318', '30.877363', '-92.138436', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60208, 'Eola', 2798, '71322', '318', '30.877363', '-92.138436', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60209, 'Whitehall', 2798, '71322', '318', '30.877363', '-92.138436', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60210, 'Whiteville', 2798, '71322', '318', '30.877363', '-92.138436', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60211, 'Dupont', 2798, '71329', '318', '30.9294', '-91.9479', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60212, 'Rodoc', 2798, '71329', '318', '30.9294', '-91.9479', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60213, 'Harrisonburg', 2798, '71340', '318', '31.780414', '-91.888518', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60214, 'Eva', 2798, '71354', '318', '31.263229', '-91.687686', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60215, 'Island Road', 2798, '71354', '318', '31.263229', '-91.687686', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60216, 'Kemps Landing', 2798, '71354', '318', '31.263229', '-91.687686', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60217, 'Monterey', 2798, '71354', '318', '31.263229', '-91.687686', '2018-11-29 05:07:37', '2018-11-29 05:07:37'),\n(60218, 'Workinger Bayou Road', 2798, '71354', '318', '31.263229', '-91.687686', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60219, 'Gardner', 2798, '71431', '318', '31.2696', '-92.6929', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60220, 'Natch', 2798, '71458', '318', '31.7607', '-93.0861', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60221, 'Natchitoches', 2798, '71458', '318', '31.7607', '-93.0861', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60222, 'Sieper', 2798, '71472', '318', '31.199988', '-92.785763', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60223, 'Colgrade', 2798, '71483', '318', '31.901345', '-92.672521', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60224, 'Winnfield', 2798, '71483', '318', '31.901345', '-92.672521', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60225, 'Charlemont', 2799, '01346', '413', '42.665724', '-72.833294', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60226, 'Heath', 2799, '01346', '413', '42.665724', '-72.833294', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60227, 'Hardwick', 2799, '01037', '413', '42.378705', '-72.192186', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60228, 'Haydenville', 2799, '01039', '413', '42.411178', '-72.688894', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60229, 'West Whately', 2799, '01039', '413', '42.411178', '-72.688894', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60230, 'Becket', 2799, '01223', '413', '42.324078', '-73.130876', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60231, 'Becket Corners', 2799, '01223', '413', '42.324078', '-73.130876', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60232, 'Sherwood Forest', 2799, '01223', '413', '42.324078', '-73.130876', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60233, 'Washington', 2799, '01223', '413', '42.324078', '-73.130876', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60234, 'W Springfield', 2799, '01089', '413', '42.125682', '-72.641677', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60235, 'West Springfield', 2799, '01089', '413', '42.125682', '-72.641677', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60236, 'West Springfld', 2799, '01089', '413', '42.125682', '-72.641677', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60237, 'S Chesterfield', 2799, '01096', '413', '42.436118', '-72.770062', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60238, 'South Chesterfield', 2799, '01096', '413', '42.436118', '-72.770062', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60239, 'Williamsburg', 2799, '01096', '413', '42.436118', '-72.770062', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60240, 'Chicopee', 2799, '01014', '413', '42.1486', '-72.6085', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60241, 'Auburndale', 2799, '02466', '617', '42.34508', '-71.247189', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60242, 'Newton', 2799, '02466', '617', '42.34508', '-71.247189', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60243, 'Newton', 2799, '02468', '617', '42.326539', '-71.231852', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60244, 'Waban', 2799, '02468', '617', '42.326539', '-71.231852', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60245, 'Boston', 2799, '02266', '617', '42.3586', '-71.0603', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60246, 'Boston Financial Data Servic', 2799, '02266', '617', '42.3586', '-71.0603', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60247, 'Brockton', 2799, '02302', '508', '42.085916', '-71.000073', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60248, 'Bridgewater', 2799, '02325', '508', '41.99013', '-70.9631', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60249, 'Bridgewater State College', 2799, '02325', '508', '41.99013', '-70.9631', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60250, 'Hanson', 2799, '02341', '781', '42.055769', '-70.87398', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60251, 'Holbrook', 2799, '02343', '781', '42.143757', '-71.003207', '2018-11-29 05:07:38', '2018-11-29 05:07:38'),\n(60252, 'Monponsett', 2799, '02350', '781', '42.017', '-70.8499', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60253, 'Cherry Brook', 2799, '02493', '781', '42.357814', '-71.295386', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60254, 'Hastings', 2799, '02493', '781', '42.357814', '-71.295386', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60255, 'Kendal Green', 2799, '02493', '781', '42.357814', '-71.295386', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60256, 'Silver Hill', 2799, '02493', '781', '42.357814', '-71.295386', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60257, 'Stony Brook', 2799, '02493', '781', '42.357814', '-71.295386', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60258, 'Weston', 2799, '02493', '781', '42.357814', '-71.295386', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60259, 'Mansfield', 2799, '02048', '508', '42.016984', '-71.221894', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60260, 'Marshfield', 2799, '02050', '781', '42.111083', '-70.713148', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60261, 'N Marshfield', 2799, '02059', '781', '42.1434', '-70.7705', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60262, 'North Marshfield', 2799, '02059', '781', '42.1434', '-70.7705', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60263, 'Scituate', 2799, '02066', '781', '42.207539', '-70.775681', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60264, 'Scituate Center', 2799, '02066', '781', '42.207539', '-70.775681', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60265, 'Scituate Harbor', 2799, '02066', '781', '42.207539', '-70.775681', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60266, 'Boston', 2799, '02116', '617', '42.350571', '-71.076869', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60267, 'Boston', 2799, '02118', '617', '42.337039', '-71.072034', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60268, 'Roxbury', 2799, '02118', '617', '42.337039', '-71.072034', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60269, 'Pinehurst', 2799, '01866', '978', '42.5304', '-71.2278', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60270, 'Massachusetts District', 2799, '01889', '978', '42.5763', '-71.0788', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60271, 'N Reading', 2799, '01889', '978', '42.5763', '-71.0788', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60272, 'North Reading', 2799, '01889', '978', '42.5763', '-71.0788', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60273, 'Swampscott', 2799, '01907', '781', '42.47517', '-70.904971', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60274, 'S Hamilton', 2799, '01982', '978', '42.626832', '-70.860216', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60275, 'South Hamilton', 2799, '01982', '978', '42.626832', '-70.860216', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60276, 'Wenham', 2799, '01984', '978', '42.601974', '-70.872882', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60277, 'Carlisle', 2799, '01741', '978', '42.53213', '-71.352461', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60278, 'Milford', 2799, '01757', '508', '42.153808', '-71.52576', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60279, 'Lincoln', 2799, '01773', '781', '42.427159', '-71.312442', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60280, 'Lincoln Center', 2799, '01773', '781', '42.427159', '-71.312442', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60281, 'Woodville', 2799, '01784', '508', '42.2376', '-71.5627', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60282, 'Groveland', 2799, '01834', '978', '42.75092', '-71.009929', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60283, 'Princeton', 2799, '01541', '978', '42.456909', '-71.890806', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60284, 'Sterling', 2799, '01564', '978', '42.439322', '-71.776608', '2018-11-29 05:07:39', '2018-11-29 05:07:39'),\n(60285, 'Sterling Junction', 2799, '01564', '978', '42.439322', '-71.776608', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60286, 'Dudley', 2799, '01571', '508', '42.059683', '-71.936768', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60287, 'Worcester', 2799, '01655', '508', '42.2627', '-71.8028', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60288, 'Tyco', 2799, '01441', '978', '42.575', '-71.9988', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60289, 'Westminster', 2799, '01441', '978', '42.575', '-71.9988', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60290, 'Shirley', 2799, '01464', '978', '42.579502', '-71.644512', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60291, 'Shirley Center', 2799, '01464', '978', '42.579502', '-71.644512', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60292, 'Shirley Ctr', 2799, '01464', '978', '42.579502', '-71.644512', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60293, 'Groton', 2799, '01471', '978', '42.6112', '-71.5752', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60294, 'New England Business Svc Inc', 2799, '01471', '978', '42.6112', '-71.5752', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60295, 'Lancaster', 2799, '01523', '978', '42.47212', '-71.667642', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60296, 'North Lancaster', 2799, '01523', '978', '42.47212', '-71.667642', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60297, 'E Falmouth', 2799, '02536', '508', '41.599718', '-70.562314', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60298, 'Ea Falmouth', 2799, '02536', '508', '41.599718', '-70.562314', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60299, 'East Falmouth', 2799, '02536', '508', '41.599718', '-70.562314', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60300, 'Hatchville', 2799, '02536', '508', '41.599718', '-70.562314', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60301, 'Teaticket', 2799, '02536', '508', '41.599718', '-70.562314', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60302, 'Waquoit', 2799, '02536', '508', '41.599718', '-70.562314', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60303, 'Menemsha', 2799, '02552', '508', '41.3648', '-70.7515', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60304, 'North Tisbury', 2799, '02568', '508', '41.414904', '-70.63079', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60305, 'Tisbury', 2799, '02568', '508', '41.414904', '-70.63079', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60306, 'Vineyard Haven', 2799, '02568', '508', '41.414904', '-70.63079', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60307, 'Vineyard Hvn', 2799, '02568', '508', '41.414904', '-70.63079', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60308, 'Accident', 2800, '21520', '301', '39.638996', '-79.301697', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60309, 'Grantsville', 2800, '21536', '301', '39.630844', '-79.188216', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60310, 'Jennings', 2800, '21536', '301', '39.630844', '-79.188216', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60311, 'Hereford', 2800, '21111', '410', '39.575664', '-76.593727', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60312, 'Monkton', 2800, '21111', '410', '39.575664', '-76.593727', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60313, 'Baltimore', 2800, '21225', '410', '39.229842', '-76.615968', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60314, 'Brooklyn', 2800, '21225', '410', '39.229842', '-76.615968', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60315, 'Brooklyn Park', 2800, '21225', '410', '39.229842', '-76.615968', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60316, 'Barclay', 2800, '21607', '410', '39.133066', '-75.847242', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60317, 'Bethlehem', 2800, '21609', '410', '38.7343', '-75.9463', '2018-11-29 05:07:40', '2018-11-29 05:07:40'),\n(60318, 'Claiborne', 2800, '21624', '410', '38.835583', '-76.264677', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60319, 'Cordova', 2800, '21625', '410', '38.867936', '-75.99313', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60320, 'Detour', 2800, '21757', '410', '39.597307', '-77.24782', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60321, 'Keymar', 2800, '21757', '410', '39.597307', '-77.24782', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60322, 'Middleburg', 2800, '21757', '410', '39.597307', '-77.24782', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60323, 'Brunswick', 2800, '21758', '301', '39.361584', '-77.661932', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60324, 'Knoxville', 2800, '21758', '301', '39.361584', '-77.661932', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60325, 'New Midway', 2800, '21775', '301', '39.5668', '-77.2914', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60326, 'Walkersville', 2800, '21793', '301', '39.494038', '-77.343663', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60327, 'Baltimore', 2800, '21288', '443', '39.2905', '-76.6125', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60328, 'Household Bank', 2800, '21288', '443', '39.2905', '-76.6125', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60329, 'Trappe', 2800, '21673', '410', '38.652398', '-76.05306', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60330, 'Wingate', 2800, '21675', '410', '38.291709', '-76.096551', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60331, 'Baltimore', 2800, '21222', '410', '39.257662', '-76.495098', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60332, 'Dundalk', 2800, '21222', '410', '39.257662', '-76.495098', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60333, 'Dundalk Sparrows Point', 2800, '21222', '410', '39.257662', '-76.495098', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60334, 'Baltimore', 2800, '21223', '410', '39.281256', '-76.651431', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60335, 'Franklin', 2800, '21223', '410', '39.281256', '-76.651431', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60336, 'Baltimore', 2800, '21289', '443', '39.2905', '-76.6125', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60337, 'T Rowe Price Associates Inc', 2800, '21289', '443', '39.2905', '-76.6125', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60338, 'Cresaptown', 2800, '21505', '301', '39.5925', '-78.8338', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60339, 'Cumberland', 2800, '21505', '301', '39.5925', '-78.8338', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60340, 'Bloomington', 2800, '21523', '301', '39.509445', '-79.103827', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60341, 'Luke', 2800, '21540', '301', '39.476265', '-79.061021', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60342, 'Westernport', 2800, '21540', '301', '39.476265', '-79.061021', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60343, 'Oldtown', 2800, '21555', '301', '39.592346', '-78.561232', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60344, 'Rawlings', 2800, '21557', '301', '39.510054', '-78.92169', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60345, 'Maryland Line', 2800, '21105', '410', '39.712053', '-76.649742', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60346, 'Mayo', 2800, '21106', '410', '38.8877', '-76.5125', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60347, 'Lake Shore', 2800, '21123', '410', '39.1259', '-76.5123', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60348, 'Pasadena', 2800, '21123', '410', '39.1259', '-76.5123', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60349, 'Riviera Beach', 2800, '21123', '410', '39.1259', '-76.5123', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60350, 'Queen Anne', 2800, '21657', '410', '38.960351', '-75.985721', '2018-11-29 05:07:41', '2018-11-29 05:07:41'),\n(60351, 'Queenstown', 2800, '21658', '410', '38.939881', '-76.138087', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60352, 'Brookview', 2800, '21659', '410', '38.57393', '-75.810006', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60353, 'Eldorado', 2800, '21659', '410', '38.57393', '-75.810006', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60354, 'Galestown', 2800, '21659', '410', '38.57393', '-75.810006', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60355, 'Rhodesdale', 2800, '21659', '410', '38.57393', '-75.810006', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60356, 'Wittman', 2800, '21676', '410', '38.783171', '-76.30176', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60357, 'Baltimore', 2800, '21221', '410', '39.294631', '-76.435738', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60358, 'Essex', 2800, '21221', '410', '39.294631', '-76.435738', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60359, 'Baltimore', 2800, '21290', '410', '39.2905', '-76.6125', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60360, 'Social Security Admin', 2800, '21290', '410', '39.2905', '-76.6125', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60361, 'Bittinger', 2800, '21522', '301', '39.59031', '-79.219633', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60362, 'Lonaconing', 2800, '21539', '301', '39.598862', '-79.010962', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60363, 'Midland', 2800, '21542', '301', '39.589503', '-78.947476', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60364, 'Henryton', 2800, '21104', '410', '39.342941', '-76.904758', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60365, 'Marriottsville', 2800, '21104', '410', '39.342941', '-76.904758', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60366, 'Marriottsvl', 2800, '21104', '410', '39.342941', '-76.904758', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60367, 'Woodstock', 2800, '21104', '410', '39.342941', '-76.904758', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60368, 'Baltimore', 2800, '21287', '410', '39.2905', '-76.6125', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60369, 'Johns Hopkins', 2800, '21287', '410', '39.2905', '-76.6125', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60370, 'Johns Hopkins Hospital', 2800, '21287', '410', '39.2905', '-76.6125', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60371, 'Crumpton', 2800, '21628', '410', '39.234847', '-75.923043', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60372, 'Galena', 2800, '21635', '410', '39.327681', '-75.840626', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60373, 'Golts', 2800, '21635', '410', '39.327681', '-75.840626', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60374, 'Ridgely', 2800, '21660', '410', '38.964041', '-75.888748', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60375, 'Royal Oak', 2800, '21662', '410', '38.704828', '-76.208725', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60376, 'Taylors Is', 2800, '21669', '410', '38.459306', '-76.28971', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60377, 'Taylors Island', 2800, '21669', '410', '38.459306', '-76.28971', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60378, 'Annapolis', 2800, '21401', '410', '38.99339', '-76.546985', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60379, 'Cape Saint Claire', 2800, '21401', '410', '38.99339', '-76.546985', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60380, 'Cpe St Claire', 2800, '21401', '410', '38.99339', '-76.546985', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60381, 'Annapolis', 2800, '21412', '410', '38.9785', '-76.4928', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60382, 'Bancroft Hall', 2800, '21412', '410', '38.9785', '-76.4928', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60383, 'Cumberland', 2800, '21501', '301', '39.6528', '-78.7626', '2018-11-29 05:07:42', '2018-11-29 05:07:42'),\n(60384, 'Eckhart Mines', 2800, '21528', '301', '39.651687', '-78.905045', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60385, 'Millers', 2800, '21102', '410', '39.679702', '-76.83906', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60386, 'Bentley Spgs', 2800, '21120', '410', '39.647549', '-76.679603', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60387, 'Bentley Springs', 2800, '21120', '410', '39.647549', '-76.679603', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60388, 'Parkton', 2800, '21120', '410', '39.647549', '-76.679603', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60389, 'Birch Island', 2801, '04011', '207', '43.893092', '-69.97231', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60390, 'Brunswick', 2801, '04011', '207', '43.893092', '-69.97231', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60391, 'Cundys Harbor', 2801, '04011', '207', '43.893092', '-69.97231', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60392, 'Mere Point', 2801, '04011', '207', '43.893092', '-69.97231', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60393, 'Nas Brunswick', 2801, '04011', '207', '43.893092', '-69.97231', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60394, 'E Sebago', 2801, '04029', '207', '43.891087', '-70.662266', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60395, 'East Sebago', 2801, '04029', '207', '43.891087', '-70.662266', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60396, 'Sebago', 2801, '04029', '207', '43.891087', '-70.662266', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60397, 'Center Lovell', 2801, '04016', '207', '44.170402', '-70.866863', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60398, 'Freeport', 2801, '04033', '207', '43.8569', '-70.1037', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60399, 'Ll Bean Co', 2801, '04033', '207', '43.8569', '-70.1037', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60400, 'Carabaset Vly', 2801, '04947', '207', '44.989974', '-70.350538', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60401, 'Carrabassett Valley', 2801, '04947', '207', '44.989974', '-70.350538', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60402, 'Kingfield', 2801, '04947', '207', '44.989974', '-70.350538', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60403, 'Camden', 2801, '04847', '207', '44.255592', '-69.18863', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60404, 'Hope', 2801, '04847', '207', '44.255592', '-69.18863', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60405, 'Lincolnville', 2801, '04849', '207', '44.321947', '-69.072522', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60406, 'Northport', 2801, '04849', '207', '44.321947', '-69.072522', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60407, 'Belfast', 2801, '04915', '207', '44.469266', '-69.056691', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60408, 'Swanville', 2801, '04915', '207', '44.469266', '-69.056691', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60409, 'Waldo', 2801, '04915', '207', '44.469266', '-69.056691', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60410, 'Belgrade', 2801, '04917', '207', '44.48295', '-69.838164', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60411, 'Canaan', 2801, '04924', '207', '44.762238', '-69.526379', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60412, 'Benedicta', 2801, '04733', '207', '45.805568', '-68.394425', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60413, 'Crouseville', 2801, '04738', '207', '46.7552', '-68.0968', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60414, 'Easton', 2801, '04740', '207', '46.643044', '-67.871128', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60415, 'Crystal', 2801, '04747', '207', '45.949642', '-68.22989', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60416, 'Dyer Brook', 2801, '04747', '207', '45.949642', '-68.22989', '2018-11-29 05:07:43', '2018-11-29 05:07:43'),\n(60417, 'Island Falls', 2801, '04747', '207', '45.949642', '-68.22989', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60418, 'Madawaska', 2801, '04756', '207', '47.317262', '-68.298869', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60419, 'Mount Chase', 2801, '04765', '207', '46.137885', '-68.56112', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60420, 'Patten', 2801, '04765', '207', '46.137885', '-68.56112', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60421, 'Codyville Plt', 2801, '04490', '207', '45.425163', '-67.7681', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60422, 'Topsfield', 2801, '04490', '207', '45.425163', '-67.7681', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60423, 'Waite', 2801, '04490', '207', '45.425163', '-67.7681', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60424, 'Eastport', 2801, '04631', '207', '44.919856', '-67.015371', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60425, 'Jonesport', 2801, '04649', '207', '44.561684', '-67.565064', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60426, 'Salsbury Cove', 2801, '04672', '207', '44.432776', '-68.284997', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60427, 'Stonington', 2801, '04681', '207', '44.171176', '-68.667438', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60428, 'Sunset', 2801, '04683', '207', '44.212866', '-68.73697', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60429, 'East Orland', 2801, '04431', '207', '44.570537', '-68.672773', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60430, 'Bancroft', 2801, '04497', '207', '45.698846', '-68.046208', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60431, 'Drew Plt', 2801, '04497', '207', '45.698846', '-68.046208', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60432, 'Glenwood Plt', 2801, '04497', '207', '45.698846', '-68.046208', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60433, 'Haynesville', 2801, '04497', '207', '45.698846', '-68.046208', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60434, 'Reed Plt', 2801, '04497', '207', '45.698846', '-68.046208', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60435, 'Wytopitlock', 2801, '04497', '207', '45.698846', '-68.046208', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60436, 'Boothbay Harbor', 2801, '04538', '207', '43.852153', '-69.618698', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60437, 'Boothbay Hbr', 2801, '04538', '207', '43.852153', '-69.618698', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60438, 'Capitol Is', 2801, '04538', '207', '43.852153', '-69.618698', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60439, 'Capitol Island', 2801, '04538', '207', '43.852153', '-69.618698', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60440, 'Edgecomb', 2801, '04556', '207', '43.968518', '-69.60859', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60441, 'Waldoboro', 2801, '04572', '207', '44.10846', '-69.363818', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60442, 'Addison', 2801, '04606', '207', '44.570376', '-67.698686', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60443, 'Peru', 2801, '04290', '207', '44.476736', '-70.455404', '2018-11-29 05:07:44', '2018-11-29 05:07:44');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(60444, 'West Peru', 2801, '04290', '207', '44.476736', '-70.455404', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60445, 'Levant', 2801, '04456', '207', '44.889519', '-68.98777', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60446, 'Derby', 2801, '04463', '207', '45.28425', '-68.875189', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60447, 'Lake View Plt', 2801, '04463', '207', '45.28425', '-68.875189', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60448, 'Medford', 2801, '04463', '207', '45.28425', '-68.875189', '2018-11-29 05:07:44', '2018-11-29 05:07:44'),\n(60449, 'Milo', 2801, '04463', '207', '45.28425', '-68.875189', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60450, 'Orneville Twp', 2801, '04463', '207', '45.28425', '-68.875189', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60451, 'Portland', 2801, '04122', '207', '43.6615', '-70.2555', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60452, 'Union Mutual Life Ins', 2801, '04122', '207', '43.6615', '-70.2555', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60453, 'Buckfield', 2801, '04220', '207', '44.328618', '-70.369245', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60454, 'Hartford', 2801, '04220', '207', '44.328618', '-70.369245', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60455, 'Carthage', 2801, '04224', '207', '44.579511', '-70.415433', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60456, 'Dixfield', 2801, '04224', '207', '44.579511', '-70.415433', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60457, 'Palermo', 2801, '04354', '207', '44.395965', '-69.42429', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60458, 'Abbot', 2801, '04406', '207', '45.286232', '-69.552802', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60459, 'Blanchard Twp', 2801, '04406', '207', '45.286232', '-69.552802', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60460, 'Brookton', 2801, '04413', '207', '45.595073', '-67.661981', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60461, 'Forest City Twp', 2801, '04413', '207', '45.595073', '-67.661981', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60462, 'Forest Twp', 2801, '04413', '207', '45.595073', '-67.661981', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60463, 'Frst City Twp', 2801, '04413', '207', '45.595073', '-67.661981', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60464, 'Saco', 2801, '04072', '207', '43.534032', '-70.461988', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60465, 'Hebron', 2801, '04238', '207', '44.202414', '-70.374066', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60466, 'N Monmouth', 2801, '04265', '207', '44.27269', '-70.033321', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60467, 'North Monmouth', 2801, '04265', '207', '44.27269', '-70.033321', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60468, 'Biddeford', 2801, '04007', '207', '43.4927', '-70.4537', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60469, 'East Baldwin', 2801, '04024', '207', '43.832407', '-70.673648', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60470, 'Lebanon', 2801, '04027', '207', '43.403389', '-70.900681', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60471, 'Big Lake Twp', 2801, '04668', '207', '45.185044', '-67.566324', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60472, 'Grand Lake Stream', 2801, '04668', '207', '45.185044', '-67.566324', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60473, 'Indian Twp', 2801, '04668', '207', '45.185044', '-67.566324', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60474, 'Princeton', 2801, '04668', '207', '45.185044', '-67.566324', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60475, 'Surry', 2801, '04684', '207', '44.466498', '-68.528624', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60476, 'Etna', 2801, '04434', '207', '44.78473', '-69.134804', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60477, 'Exeter', 2801, '04435', '207', '44.963885', '-69.146126', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60478, 'Boothbay', 2801, '04537', '207', '43.896728', '-69.627297', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60479, 'Boothbay Harbor', 2801, '04570', '207', '43.808997', '-69.630598', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60480, 'Boothbay Hbr', 2801, '04570', '207', '43.808997', '-69.630598', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60481, 'Squirrel Is', 2801, '04570', '207', '43.808997', '-69.630598', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60482, 'Squirrel Island', 2801, '04570', '207', '43.808997', '-69.630598', '2018-11-29 05:07:45', '2018-11-29 05:07:45'),\n(60483, 'Weld', 2801, '04285', '207', '44.70705', '-70.454567', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60484, 'Augusta', 2801, '04333', '207', '44.306762', '-69.782301', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60485, 'Me State Agencies', 2801, '04333', '207', '44.306762', '-69.782301', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60486, 'Augusta', 2801, '04336', '207', '44.3108', '-69.7803', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60487, 'Central Me Power Co', 2801, '04336', '207', '44.3108', '-69.7803', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60488, 'Kingman', 2801, '04451', '207', '45.52957', '-68.18215', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60489, 'Kingman Twp', 2801, '04451', '207', '45.52957', '-68.18215', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60490, 'Macwahoc Plt', 2801, '04451', '207', '45.52957', '-68.18215', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60491, 'Cardville', 2801, '04418', '207', '45.042986', '-68.518064', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60492, 'Costigan', 2801, '04418', '207', '45.042986', '-68.518064', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60493, 'Greenbush', 2801, '04418', '207', '45.042986', '-68.518064', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60494, 'Greenfield Twp', 2801, '04418', '207', '45.042986', '-68.518064', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60495, 'Greenfld Twp', 2801, '04418', '207', '45.042986', '-68.518064', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60496, 'Olamon', 2801, '04418', '207', '45.042986', '-68.518064', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60497, 'Castine', 2801, '04420', '207', '44.3879', '-68.8003', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60498, 'Maine Maritime Academy', 2801, '04420', '207', '44.3879', '-68.8003', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60499, 'Long Island', 2801, '04050', '207', '43.691349', '-70.153599', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60500, 'Lisbon', 2801, '04250', '207', '44.022202', '-70.121605', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60501, 'Lisbon', 2801, '04252', '207', '44.025039', '-70.058865', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60502, 'Lisbon Falls', 2801, '04252', '207', '44.025039', '-70.058865', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60503, 'Livermore', 2801, '04253', '207', '44.410728', '-70.214543', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60504, 'North Turner', 2801, '04266', '207', '44.342503', '-70.256992', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60505, 'Norway', 2801, '04268', '207', '44.233648', '-70.614699', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60506, 'Berwick', 2801, '03901', '207', '43.304751', '-70.842121', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60507, 'Cape Neddick', 2801, '03902', '207', '43.222476', '-70.640226', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60508, 'Sebago Lake', 2801, '04084', '207', '43.771875', '-70.552838', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60509, 'Standish', 2801, '04084', '207', '43.771875', '-70.552838', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60510, 'Steep Falls', 2801, '04085', '207', '43.763702', '-70.623198', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60511, 'Portland', 2801, '04102', '207', '43.663454', '-70.302596', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60512, 'Eliot', 2801, '03903', '207', '43.145788', '-70.783181', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60513, 'Biddeford', 2801, '04005', '207', '43.496672', '-70.48862', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60514, 'Portland', 2801, '04103', '207', '43.693689', '-70.290406', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60515, 'Cape Eliz', 2801, '04107', '207', '43.593316', '-70.23867', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60516, 'Cape Elizabeth', 2801, '04107', '207', '43.593316', '-70.23867', '2018-11-29 05:07:46', '2018-11-29 05:07:46'),\n(60517, 'Pond Cove', 2801, '04107', '207', '43.593316', '-70.23867', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60518, 'Portland', 2801, '04107', '207', '43.593316', '-70.23867', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60519, 'Hartland', 2801, '04943', '207', '44.85888', '-69.527783', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60520, 'Dennistown', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60521, 'Jackman', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60522, 'Jhnsn Mtn Twp', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60523, 'Johnson Mountain Twp', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60524, 'Long Pond Twp', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60525, 'Moose River', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60526, 'Parlin Pd Twp', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60527, 'Parlin Pond Twp', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60528, 'Sandy Bay Twp', 2801, '04945', '207', '45.740241', '-70.245567', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60529, 'Carrying Place Town Twp', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60530, 'Caryng Pl Twp', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60531, 'Dead River Twp', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60532, 'Dead Rvr Twp', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60533, 'Highland Plt', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60534, 'Lexington Twp', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60535, 'N New Portland', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60536, 'N New Portlnd', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60537, 'New Portland', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60538, 'North New Portland', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60539, 'Pierce Pond', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60540, 'Pierce Pond Twp', 2801, '04961', '207', '44.994021', '-70.055705', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60541, 'Smithfield', 2801, '04978', '207', '44.633362', '-69.8065', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60542, 'Alexander', 2801, '04694', '207', '45.128465', '-67.450995', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60543, 'Baileyville', 2801, '04694', '207', '45.128465', '-67.450995', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60544, 'Baring Plt', 2801, '04694', '207', '45.128465', '-67.450995', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60545, 'Crawford', 2801, '04694', '207', '45.128465', '-67.450995', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60546, 'Camden', 2801, '04843', '207', '44.225243', '-69.090262', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60547, 'Saint George', 2801, '04860', '207', '43.966807', '-69.23084', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60548, 'Tenants Harbor', 2801, '04860', '207', '43.966807', '-69.23084', '2018-11-29 05:07:47', '2018-11-29 05:07:47'),\n(60549, 'Tenants Hbr', 2801, '04860', '207', '43.966807', '-69.23084', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60550, 'Thomaston', 2801, '04861', '207', '44.095001', '-69.174584', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60551, 'Anson', 2801, '04911', '207', '44.77298', '-69.958183', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60552, 'Starks', 2801, '04911', '207', '44.77298', '-69.958183', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60553, 'Athens', 2801, '04912', '207', '44.945325', '-69.647265', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60554, 'Brighton Plt', 2801, '04912', '207', '44.945325', '-69.647265', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60555, 'Clinton', 2801, '04927', '207', '44.64971', '-69.513019', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60556, 'Detroit', 2801, '04929', '207', '44.761259', '-69.316506', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60557, 'Dexter', 2801, '04930', '207', '45.029234', '-69.337642', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60558, 'Ripley', 2801, '04930', '207', '45.029234', '-69.337642', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60559, 'Beals', 2801, '04611', '207', '44.484896', '-67.591813', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60560, 'Woodland Washington County', 2801, '04694', '207', '45.128465', '-67.450995', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60561, 'Oakfield', 2801, '04763', '207', '46.118651', '-68.1041', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60562, 'Tomhegan Twp', 2801, '04478', '207', '45.611394', '-69.91829', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60563, 'Deer Isle', 2801, '04627', '207', '44.235665', '-68.63915', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60564, 'Dennysville', 2801, '04628', '207', '44.866512', '-67.280808', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60565, 'Edmunds Twp', 2801, '04628', '207', '44.866512', '-67.280808', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60566, 'Marion Twp', 2801, '04628', '207', '44.866512', '-67.280808', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60567, 'Islesford', 2801, '04646', '207', '44.259276', '-68.226447', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60568, 'Northeast Harbor', 2801, '04662', '207', '44.300802', '-68.285672', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60569, 'Northeast Hbr', 2801, '04662', '207', '44.300802', '-68.285672', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60570, 'Sedgwick', 2801, '04676', '207', '44.350191', '-68.641117', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60571, 'Southwest Harbor', 2801, '04679', '207', '44.225891', '-68.29971', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60572, 'Southwest Hbr', 2801, '04679', '207', '44.225891', '-68.29971', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60573, 'East Boothbay', 2801, '04544', '207', '43.833945', '-69.590266', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60574, 'Westport Is', 2801, '04578', '207', '43.970152', '-69.678987', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60575, 'Westport Island', 2801, '04578', '207', '43.970152', '-69.678987', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60576, 'Wiscasset', 2801, '04578', '207', '43.970152', '-69.678987', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60577, 'Perkins Twp', 2801, '04294', '207', '44.63274', '-70.266331', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60578, 'Wilton', 2801, '04294', '207', '44.63274', '-70.266331', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60579, 'Dresden', 2801, '04342', '207', '44.076598', '-69.740103', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60580, 'East Winthrop', 2801, '04343', '207', '44.3226', '-69.9006', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60581, 'Farmingdale', 2801, '04344', '207', '44.259998', '-69.822356', '2018-11-29 05:07:48', '2018-11-29 05:07:48'),\n(60582, 'Gardiner', 2801, '04345', '207', '44.196526', '-69.8019', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60583, 'Pittston', 2801, '04345', '207', '44.196526', '-69.8019', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60584, 'West Gardiner', 2801, '04345', '207', '44.196526', '-69.8019', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60585, 'Milford', 2801, '04461', '207', '44.972824', '-68.569348', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60586, 'Pittstn Acdmy', 2801, '04478', '207', '45.611394', '-69.91829', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60587, 'Pittston Academy Grant Twp', 2801, '04478', '207', '45.611394', '-69.91829', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60588, 'Plymouth Twp', 2801, '04478', '207', '45.611394', '-69.91829', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60589, 'Rockwood', 2801, '04478', '207', '45.611394', '-69.91829', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60590, 'Seboomook Twp', 2801, '04478', '207', '45.611394', '-69.91829', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60591, 'Auburn', 2801, '04211', '207', '44.0976', '-70.2319', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60592, 'Dryden', 2801, '04225', '207', '44.6206', '-70.2577', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60593, 'China', 2801, '04358', '207', '44.420472', '-69.53137', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60594, 'South China', 2801, '04358', '207', '44.420472', '-69.53137', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60595, 'Weeks Mills', 2801, '04358', '207', '44.420472', '-69.53137', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60596, 'Bradford', 2801, '04410', '207', '45.088264', '-68.907054', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60597, 'East Dixfield', 2801, '04227', '207', '44.5744', '-70.2996', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60598, 'Lewiston', 2801, '04241', '207', '44.1004', '-70.2155', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60599, 'Lewiston', 2801, '04243', '207', '44.1004', '-70.2155', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60600, 'New Gloucester', 2801, '04260', '207', '43.965522', '-70.302464', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60601, 'New Gloucestr', 2801, '04260', '207', '43.965522', '-70.302464', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60602, 'Dovr Foxcroft', 2801, '04426', '207', '45.238598', '-69.204766', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60603, 'Dvr Foxcroft', 2801, '04426', '207', '45.238598', '-69.204766', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60604, 'Sebec', 2801, '04426', '207', '45.238598', '-69.204766', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60605, 'Phippsburg', 2801, '04562', '207', '43.78984', '-69.827082', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60606, 'Newagen', 2801, '04576', '207', '43.81869', '-69.667916', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60607, 'Southport', 2801, '04576', '207', '43.81869', '-69.667916', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60608, 'Woolwich', 2801, '04579', '207', '43.954452', '-69.771204', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60609, 'West Poland', 2801, '04291', '207', '44.0513', '-70.4533', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60610, 'Hampden', 2801, '04444', '207', '44.730574', '-68.931263', '2018-11-29 05:07:49', '2018-11-29 05:07:49'),\n(60611, 'Newburgh', 2801, '04444', '207', '44.730574', '-68.931263', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60612, 'Monhegan', 2801, '04852', '207', '43.764319', '-69.312462', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60613, 'North Haven', 2801, '04853', '207', '44.147978', '-68.875782', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60614, 'Owls Head', 2801, '04854', '207', '44.044323', '-69.089378', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60615, 'Belgrade Lakes', 2801, '04918', '207', '44.5046', '-69.8548', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60616, 'Belgrade Lks', 2801, '04918', '207', '44.5046', '-69.8548', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60617, 'Fairfield', 2801, '04937', '207', '44.667465', '-69.67951', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60618, 'Chesterville', 2801, '04938', '207', '44.653556', '-70.114928', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60619, 'Farmington', 2801, '04938', '207', '44.653556', '-70.114928', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60620, 'Industry', 2801, '04938', '207', '44.653556', '-70.114928', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60621, 'Calais', 2801, '04619', '207', '45.131714', '-67.22222', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60622, 'Blaine', 2801, '04734', '207', '46.488179', '-67.82683', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60623, 'Bridgewater', 2801, '04735', '207', '46.428628', '-67.885736', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60624, 'Caribou', 2801, '04736', '207', '46.912133', '-68.048883', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60625, 'Connor Twp', 2801, '04736', '207', '46.912133', '-68.048883', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60626, 'Woodland', 2801, '04736', '207', '46.912133', '-68.048883', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60627, 'Carroll Plt', 2801, '04487', '207', '45.395378', '-68.103', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60628, 'Lakeville', 2801, '04487', '207', '45.395378', '-68.103', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60629, 'Prentiss Twp', 2801, '04487', '207', '45.395378', '-68.103', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60630, 'Springfield', 2801, '04487', '207', '45.395378', '-68.103', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60631, 'Webster Plt', 2801, '04487', '207', '45.395378', '-68.103', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60632, 'Frenchboro', 2801, '04635', '207', '44.113262', '-68.353397', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60633, 'Lubec', 2801, '04652', '207', '44.806816', '-67.114756', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60634, 'Trescott Twp', 2801, '04652', '207', '44.806816', '-67.114756', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60635, 'Robbinston', 2801, '04671', '207', '45.062557', '-67.172316', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60636, 'Alna', 2801, '04535', '207', '44.087127', '-69.62971', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60637, 'Bremen', 2801, '04551', '207', '44.015353', '-69.434788', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60638, 'Medomak', 2801, '04551', '207', '44.015353', '-69.434788', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60639, 'South Bristol', 2801, '04568', '207', '43.864838', '-69.56459', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60640, 'West Bethel', 2801, '04286', '207', '44.4015', '-70.8569', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60641, 'Kenduskeag', 2801, '04450', '207', '44.916858', '-68.928759', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60642, 'Orono', 2801, '04469', '207', '44.90172', '-68.668137', '2018-11-29 05:07:50', '2018-11-29 05:07:50'),\n(60643, 'University Of Maine', 2801, '04469', '207', '44.90172', '-68.668137', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60644, 'Portland', 2801, '04116', '207', '43.6615', '-70.2555', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60645, 'S Portland', 2801, '04116', '207', '43.6615', '-70.2555', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60646, 'South Portland', 2801, '04116', '207', '43.6615', '-70.2555', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60647, 'Bryant Pond', 2801, '04219', '207', '44.410881', '-70.629866', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60648, 'Milton Twp', 2801, '04219', '207', '44.410881', '-70.629866', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60649, 'Woodstock', 2801, '04219', '207', '44.410881', '-70.629866', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60650, 'Manchester', 2801, '04351', '207', '44.329728', '-69.867897', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60651, 'Mount Vernon', 2801, '04352', '207', '44.473504', '-69.959606', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60652, 'Mt Vernon', 2801, '04352', '207', '44.473504', '-69.959606', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60653, 'Bangor', 2801, '04402', '207', '44.8012', '-68.7783', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60654, 'Lovell', 2801, '04051', '207', '44.194834', '-70.900717', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60655, 'Orrs Island', 2801, '04066', '207', '43.772374', '-69.966824', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60656, 'Porter', 2801, '04068', '207', '43.836947', '-70.936057', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60657, 'East Wilton', 2801, '04234', '207', '44.6175', '-70.1905', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60658, 'N Waterford', 2801, '04267', '207', '44.2079', '-70.7158', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60659, 'North Waterford', 2801, '04267', '207', '44.2079', '-70.7158', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60660, 'Otisfield', 2801, '04270', '207', '44.103769', '-70.502872', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60661, 'Oxford', 2801, '04270', '207', '44.103769', '-70.502872', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60662, 'Columbia Falls', 2801, '04623', '207', '44.691495', '-67.711899', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60663, 'Columbia Fls', 2801, '04623', '207', '44.691495', '-67.711899', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60664, 'Cranberry Is', 2801, '04625', '207', '44.247116', '-68.258562', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60665, 'Cranberry Isles', 2801, '04625', '207', '44.247116', '-68.258562', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60666, 'N Sullivan', 2801, '04664', '207', '44.534894', '-68.215956', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60667, 'North Sullivan', 2801, '04664', '207', '44.534894', '-68.215956', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60668, 'Sullivan', 2801, '04664', '207', '44.534894', '-68.215956', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60669, 'Sargentville', 2801, '04673', '207', '44.32579', '-68.711894', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60670, 'Beaver Cove', 2801, '04441', '207', '45.533506', '-69.466488', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60671, 'Frenchtown Twp', 2801, '04441', '207', '45.533506', '-69.466488', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60672, 'Frenchtwn Twp', 2801, '04441', '207', '45.533506', '-69.466488', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60673, 'Greenville', 2801, '04441', '207', '45.533506', '-69.466488', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60674, 'Lily Bay Twp', 2801, '04441', '207', '45.533506', '-69.466488', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60675, 'Shirley', 2801, '04441', '207', '45.533506', '-69.466488', '2018-11-29 05:07:51', '2018-11-29 05:07:51'),\n(60676, 'Chamberlain', 2801, '04541', '207', '43.892199', '-69.48912', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60677, 'Five Islands', 2801, '04548', '207', '43.813196', '-69.743748', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60678, 'Georgetown', 2801, '04548', '207', '43.813196', '-69.743748', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60679, 'Mac Mahan', 2801, '04548', '207', '43.813196', '-69.743748', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60680, 'Nobleboro', 2801, '04555', '207', '44.110833', '-69.48066', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60681, 'W Boothbay Ha', 2801, '04575', '207', '43.8476', '-69.6469', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60682, 'W Boothbay Harbor', 2801, '04575', '207', '43.8476', '-69.6469', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60683, 'W Boothby Hbr', 2801, '04575', '207', '43.8476', '-69.6469', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60684, 'West Boothbay Harbor', 2801, '04575', '207', '43.8476', '-69.6469', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60685, 'Amherst', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60686, 'Ellsworth', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60687, 'Fletchers Landing Twp', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60688, 'Fletchers Ldg', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60689, 'Lamoine', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60690, 'Mariaville', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60691, 'Osborn', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60692, 'Otis', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60693, 'Trenton', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60694, 'Waltham', 2801, '04605', '207', '44.650622', '-68.411913', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60695, 'Sabattus', 2801, '04280', '207', '44.131658', '-70.060728', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60696, 'Wales', 2801, '04280', '207', '44.131658', '-70.060728', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60697, 'Turner', 2801, '04282', '207', '44.270562', '-70.249816', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60698, 'Augusta', 2801, '04330', '207', '44.378827', '-69.730954', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60699, 'Chelsea', 2801, '04330', '207', '44.378827', '-69.730954', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60700, 'Sidney', 2801, '04330', '207', '44.378827', '-69.730954', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60701, 'Togus', 2801, '04330', '207', '44.378827', '-69.730954', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60702, 'Chester', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60703, 'Lincoln', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60704, 'Lincoln Center', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60705, 'Lincoln Cntr', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60706, 'Mattamisc Twp', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60707, 'Mattamiscontis Twp', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60708, 'Woodville', 2801, '04457', '207', '45.432299', '-68.471546', '2018-11-29 05:07:52', '2018-11-29 05:07:52'),\n(60709, 'Portland', 2801, '04112', '207', '43.6615', '-70.2555', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60710, 'Auburn', 2801, '04212', '207', '44.0976', '-70.2319', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60711, 'Jefferson', 2801, '04348', '207', '44.221926', '-69.497712', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60712, 'Somerville', 2801, '04348', '207', '44.221926', '-69.497712', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60713, 'Winthrop', 2801, '04364', '207', '44.311894', '-69.962531', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60714, 'Bucksport', 2801, '04416', '207', '44.610843', '-68.742679', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60715, 'Verona Island', 2801, '04416', '207', '44.610843', '-68.742679', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60716, 'Fryeburg', 2801, '04037', '207', '44.081558', '-70.912897', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60717, 'N Fryeburg', 2801, '04037', '207', '44.081558', '-70.912897', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60718, 'North Fryeburg', 2801, '04037', '207', '44.081558', '-70.912897', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60719, 'Stow', 2801, '04037', '207', '44.081558', '-70.912897', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60720, 'Limerick', 2801, '04048', '207', '43.689054', '-70.78174', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60721, 'Naples', 2801, '04055', '207', '43.971483', '-70.625906', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60722, 'Old Orchard Beach', 2801, '04064', '207', '43.523242', '-70.390641', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60723, 'Old Orchd Bch', 2801, '04064', '207', '43.523242', '-70.390641', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60724, 'Sanford', 2801, '04073', '207', '43.405431', '-70.744776', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60725, 'East Poland', 2801, '04230', '207', '44.0701', '-70.3286', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60726, 'Hanover', 2801, '04237', '207', '44.500066', '-70.737321', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60727, 'Greenwood', 2801, '04255', '207', '44.317513', '-70.675009', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60728, 'Mexico', 2801, '04257', '207', '44.572562', '-70.524688', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60729, 'Acton', 2801, '04001', '207', '43.525654', '-70.916446', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60730, 'Springvale', 2801, '04083', '207', '43.464', '-70.81817', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60731, 'Pejepscot', 2801, '04086', '207', '43.974146', '-69.95819', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60732, 'Topsham', 2801, '04086', '207', '43.974146', '-69.95819', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60733, 'Cliff Island', 2801, '04019', '207', '43.696744', '-70.103094', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60734, 'Freeport', 2801, '04032', '207', '43.868552', '-70.09767', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60735, 'Dayton', 2801, '04005', '207', '43.496672', '-70.48862', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60736, 'E Parsonfield', 2801, '04028', '207', '43.7336', '-70.8483', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60737, 'East Parsonsfield', 2801, '04028', '207', '43.7336', '-70.8483', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60738, 'Alfred', 2801, '04002', '207', '43.496302', '-70.68634', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60739, 'Lyman', 2801, '04002', '207', '43.496302', '-70.68634', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60740, 'Portland', 2801, '04101', '207', '43.660796', '-70.261277', '2018-11-29 05:07:53', '2018-11-29 05:07:53'),\n(60741, 'Kittery Point', 2801, '03905', '207', '43.098432', '-70.686811', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60742, 'Bailey Island', 2801, '04003', '207', '43.741257', '-69.992664', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60743, 'S Freeport', 2801, '04078', '207', '43.8208', '-70.1064', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60744, 'South Freeport', 2801, '04078', '207', '43.8208', '-70.1064', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60745, 'Waterboro', 2801, '04087', '207', '43.565926', '-70.741487', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60746, 'Yarmouth', 2801, '04096', '207', '43.794539', '-70.170592', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60747, 'Falmouth', 2801, '04105', '207', '43.748283', '-70.273362', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60748, 'Falmouth Foreside', 2801, '04105', '207', '43.748283', '-70.273362', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60749, 'Portland', 2801, '04105', '207', '43.748283', '-70.273362', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60750, 'Spruce Head', 2801, '04859', '207', '44.007216', '-69.17358', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60751, 'Tenants Harbor', 2801, '04859', '207', '44.007216', '-69.17358', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60752, 'Tenants Hbr', 2801, '04859', '207', '44.007216', '-69.17358', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60753, 'Warren', 2801, '04864', '207', '44.126419', '-69.241', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60754, 'Cambridge', 2801, '04923', '207', '45.033879', '-69.428824', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60755, 'Dixmont', 2801, '04932', '207', '44.69492', '-69.132831', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60756, 'Brooklin', 2801, '04616', '207', '44.300917', '-68.573597', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60757, 'Eagle Lake', 2801, '04739', '207', '47.023547', '-68.691924', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60758, 'Quimby', 2801, '04739', '207', '47.023547', '-68.691924', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60759, 'Winterville Plt', 2801, '04739', '207', '47.023547', '-68.691924', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60760, 'Wntervlle Plt', 2801, '04739', '207', '47.023547', '-68.691924', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60761, 'Castle Hill', 2801, '04757', '207', '46.655787', '-68.175925', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60762, 'Chapman', 2801, '04757', '207', '46.655787', '-68.175925', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60763, 'Mapleton', 2801, '04757', '207', '46.655787', '-68.175925', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60764, 'Sheridan', 2801, '04775', '207', '46.6572', '-68.4057', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60765, 'East Machias', 2801, '04630', '207', '44.76524', '-67.373681', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60766, 'Little Deer Isle', 2801, '04650', '207', '44.289888', '-68.716116', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60767, 'Ltl Deer Is', 2801, '04650', '207', '44.289888', '-68.716116', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60768, 'Bucks Harbor', 2801, '04655', '207', '44.654657', '-67.401512', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60769, 'Machiasport', 2801, '04655', '207', '44.654657', '-67.401512', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60770, 'Charlotte', 2801, '04666', '207', '44.976852', '-67.233813', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60771, 'Pembroke', 2801, '04666', '207', '44.976852', '-67.233813', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60772, 'Seal Harbor', 2801, '04675', '207', '44.299533', '-68.244442', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60773, 'Winterport', 2801, '04496', '207', '44.650175', '-68.918429', '2018-11-29 05:07:54', '2018-11-29 05:07:54'),\n(60774, 'Bristol', 2801, '04539', '207', '43.95445', '-69.49622', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60775, 'Round Pond', 2801, '04564', '207', '43.927055', '-69.455356', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60776, 'Trevett', 2801, '04571', '207', '43.9024', '-69.676162', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60777, 'Walpole', 2801, '04573', '207', '43.946915', '-69.558287', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60778, 'West Paris', 2801, '04289', '207', '44.323037', '-70.537036', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60779, 'Edinburg', 2801, '04448', '207', '45.228846', '-68.70773', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60780, 'Howland', 2801, '04448', '207', '45.228846', '-68.70773', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60781, 'Seboeis Plt', 2801, '04448', '207', '45.228846', '-68.70773', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60782, 'Monson', 2801, '04464', '207', '45.299562', '-69.520894', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60783, 'Danville', 2801, '04223', '207', '44.021', '-70.2756', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60784, 'Richmond', 2801, '04357', '207', '44.123306', '-69.828068', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60785, 'Gray', 2801, '04039', '207', '43.88758', '-70.341074', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60786, 'Frye Island', 2801, '04071', '207', '43.913642', '-70.49675', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60787, 'Raymond', 2801, '04071', '207', '43.913642', '-70.49675', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60788, 'North Jay', 2801, '04262', '207', '44.5505', '-70.2288', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60789, 'S Berwick', 2801, '03908', '207', '43.241008', '-70.740708', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60790, 'So Berwick', 2801, '03908', '207', '43.241008', '-70.740708', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60791, 'South Berwick', 2801, '03908', '207', '43.241008', '-70.740708', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60792, 'York Beach', 2801, '03910', '207', '43.1779', '-70.6077', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60793, 'West Baldwin', 2801, '04091', '207', '43.833528', '-70.73401', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60794, 'Kittery', 2801, '03904', '207', '43.111432', '-70.736996', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60795, 'Wells', 2801, '04090', '207', '43.322472', '-70.632434', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60796, 'West Newfield', 2801, '04095', '207', '43.635173', '-70.895254', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60797, 'N Yarmouth', 2801, '04097', '207', '43.857934', '-70.234058', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60798, 'North Yarmouth', 2801, '04097', '207', '43.857934', '-70.234058', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60799, 'Portland', 2801, '04104', '207', '43.6615', '-70.2555', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60800, 'Clayton Lake', 2801, '04737', '207', '46.62413', '-69.539929', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60801, 'Portage', 2801, '04768', '207', '46.787648', '-68.501842', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60802, 'Portage Lake', 2801, '04768', '207', '46.787648', '-68.501842', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60803, 'Presque Isle', 2801, '04769', '207', '46.656232', '-67.981308', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60804, 'Eastbrook', 2801, '04634', '207', '44.621614', '-68.225326', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60805, 'Franklin', 2801, '04634', '207', '44.621614', '-68.225326', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60806, 'Grand Lake Stream', 2801, '04637', '207', '45.1795', '-67.7751', '2018-11-29 05:07:55', '2018-11-29 05:07:55'),\n(60807, 'Grand Lk Strm', 2801, '04637', '207', '45.1795', '-67.7751', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60808, 'Bass Harbor', 2801, '04653', '207', '44.225641', '-68.332413', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60809, 'Perry', 2801, '04667', '207', '44.981033', '-67.111887', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60810, 'Pleasant Point', 2801, '04667', '207', '44.981033', '-67.111887', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60811, 'Pleasant Pt', 2801, '04667', '207', '44.981033', '-67.111887', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60812, 'Prospect Harbor', 2801, '04669', '207', '44.433742', '-68.036434', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60813, 'Prospect Hbr', 2801, '04669', '207', '44.433742', '-68.036434', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60814, 'Newcastle', 2801, '04553', '207', '44.049068', '-69.564276', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60815, 'New Harbor', 2801, '04554', '207', '43.858368', '-69.504852', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60816, 'Wayne', 2801, '04284', '207', '44.337045', '-70.071324', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60817, 'Lagrange', 2801, '04453', '207', '45.212149', '-68.824376', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60818, 'Maxfield', 2801, '04453', '207', '45.212149', '-68.824376', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60819, 'Alton', 2801, '04468', '207', '45.018227', '-68.731784', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60820, 'Argyle Twp', 2801, '04468', '207', '45.018227', '-68.731784', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60821, 'Indian Island', 2801, '04468', '207', '45.018227', '-68.731784', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60822, 'Old Town', 2801, '04468', '207', '45.018227', '-68.731784', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60823, 'Andover', 2801, '04216', '207', '44.737058', '-70.861428', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60824, 'Albany Twp', 2801, '04217', '207', '44.407495', '-70.836008', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60825, 'Bethel', 2801, '04217', '207', '44.407495', '-70.836008', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60826, 'Gilead', 2801, '04217', '207', '44.407495', '-70.836008', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60827, 'Mason Twp', 2801, '04217', '207', '44.407495', '-70.836008', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60828, 'Litchfield', 2801, '04350', '207', '44.165377', '-69.937715', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60829, 'Whitefield', 2801, '04353', '207', '44.200735', '-69.606083', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60830, 'Bangor', 2801, '04401', '207', '44.863639', '-68.815722', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60831, 'Glenburn', 2801, '04401', '207', '44.863639', '-68.815722', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60832, 'Hermon', 2801, '04401', '207', '44.863639', '-68.815722', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60833, 'Veazie', 2801, '04401', '207', '44.863639', '-68.815722', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60834, 'Burlington', 2801, '04417', '207', '45.192984', '-68.410492', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60835, 'Carmel', 2801, '04419', '207', '44.80037', '-68.998976', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60836, 'Freeport', 2801, '04034', '207', '43.8569', '-70.1037', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60837, 'Ll Bean Co', 2801, '04034', '207', '43.8569', '-70.1037', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60838, 'Limington', 2801, '04049', '207', '43.730793', '-70.704814', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60839, 'Pownal', 2801, '04069', '207', '43.894456', '-70.183482', '2018-11-29 05:07:56', '2018-11-29 05:07:56'),\n(60840, 'Greene', 2801, '04236', '207', '44.192038', '-70.146596', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60841, 'Chebeague Is', 2801, '04017', '207', '43.733748', '-70.118125', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60842, 'Chebeague Island', 2801, '04017', '207', '43.733748', '-70.118125', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60843, 'Cumberland', 2801, '04021', '207', '43.797285', '-70.266476', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60844, 'Cumberland Center', 2801, '04021', '207', '43.797285', '-70.266476', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60845, 'Cumberlnd Ctr', 2801, '04021', '207', '43.797285', '-70.266476', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60846, 'E Waterboro', 2801, '04030', '207', '43.586864', '-70.702614', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60847, 'East Waterboro', 2801, '04030', '207', '43.586864', '-70.702614', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60848, 'Cathance Twp', 2801, '04657', '207', '45.009068', '-67.398992', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60849, 'Cooper', 2801, '04657', '207', '45.009068', '-67.398992', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60850, 'Meddybemps', 2801, '04657', '207', '45.009068', '-67.398992', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60851, 'Steuben', 2801, '04680', '207', '44.48628', '-67.945038', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60852, 'E Millinocket', 2801, '04430', '207', '45.643428', '-68.58843', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60853, 'East Millinocket', 2801, '04430', '207', '45.643428', '-68.58843', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60854, 'Arrowsic', 2801, '04530', '207', '43.868236', '-69.801668', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60855, 'Bath', 2801, '04530', '207', '43.868236', '-69.801668', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60856, 'West Bath', 2801, '04530', '207', '43.868236', '-69.801668', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60857, 'Bowdoin', 2801, '04287', '207', '44.057558', '-69.968245', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60858, 'W Bowdoin', 2801, '04287', '207', '44.057558', '-69.968245', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60859, 'West Bowdoin', 2801, '04287', '207', '44.057558', '-69.968245', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60860, 'Augusta', 2801, '04332', '207', '44.3108', '-69.7803', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60861, 'Coopers Mills', 2801, '04341', '207', '44.317286', '-69.433741', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60862, 'Randolph', 2801, '04346', '207', '44.233394', '-69.740682', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60863, 'Lee', 2801, '04455', '207', '45.378214', '-68.289476', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60864, 'Amity', 2801, '04471', '207', '45.88753', '-67.833508', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60865, 'Cary Plt', 2801, '04471', '207', '45.88753', '-67.833508', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60866, 'North Amity', 2801, '04471', '207', '45.88753', '-67.833508', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60867, 'Orient', 2801, '04471', '207', '45.88753', '-67.833508', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60868, 'Orono', 2801, '04473', '207', '44.882689', '-68.716033', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60869, 'Portland', 2801, '04123', '207', '43.6615', '-70.2555', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60870, 'Union Mutual Life Ins', 2801, '04123', '207', '43.6615', '-70.2555', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60871, 'Canton', 2801, '04221', '207', '44.43451', '-70.335724', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60872, 'Readfield', 2801, '04355', '207', '44.389399', '-69.952396', '2018-11-29 05:07:57', '2018-11-29 05:07:57'),\n(60873, 'Barnard Twp', 2801, '04414', '207', '45.39096', '-69.018468', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60874, 'Brownville', 2801, '04414', '207', '45.39096', '-69.018468', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60875, 'Ebeemee Twp', 2801, '04414', '207', '45.39096', '-69.018468', '2018-11-29 05:07:58', '2018-11-29 05:07:58');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(60876, 'Wiliamsbg Twp', 2801, '04414', '207', '45.39096', '-69.018468', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60877, 'Williamsburg Twp', 2801, '04414', '207', '45.39096', '-69.018468', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60878, 'Castine', 2801, '04421', '207', '44.41488', '-68.793544', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60879, 'Arundel', 2801, '04046', '207', '43.418308', '-70.498213', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60880, 'Kennebunkport', 2801, '04046', '207', '43.418308', '-70.498213', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60881, 'Windham', 2801, '04062', '207', '43.791745', '-70.405627', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60882, 'Jay', 2801, '04239', '207', '44.522978', '-70.218567', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60883, 'Paris', 2801, '04271', '207', '44.2599', '-70.5024', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60884, 'Paris Hill', 2801, '04271', '207', '44.2599', '-70.5024', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60885, 'South Windham', 2801, '04082', '207', '43.7375', '-70.4304', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60886, 'Windham', 2801, '04082', '207', '43.7375', '-70.4304', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60887, 'Westbrook', 2801, '04098', '207', '43.6769', '-70.3714', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60888, 'Cape Porpoise', 2801, '04014', '207', '43.3706', '-70.4379', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60889, 'Minturn', 2801, '04685', '207', '44.159798', '-68.443866', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60890, 'Swans Island', 2801, '04685', '207', '44.159798', '-68.443866', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60891, 'Cyr Plt', 2801, '04785', '207', '47.151453', '-67.926005', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60892, 'Hamlin', 2801, '04785', '207', '47.151453', '-67.926005', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60893, 'Van Buren', 2801, '04785', '207', '47.151453', '-67.926005', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60894, 'Westfield', 2801, '04787', '207', '46.523666', '-67.957252', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60895, 'Rangeley', 2801, '04970', '207', '44.967262', '-70.63882', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60896, 'Sandy River Plt', 2801, '04970', '207', '44.967262', '-70.63882', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60897, 'Sandy Rvr Plt', 2801, '04970', '207', '44.967262', '-70.63882', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60898, 'Troy', 2801, '04987', '207', '44.672832', '-69.255468', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60899, 'Unity', 2801, '04988', '207', '44.603939', '-69.340086', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60900, 'Smyrna Mills', 2801, '04780', '207', '46.16536', '-68.238341', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60901, 'Mercer', 2801, '04957', '207', '44.706874', '-69.847181', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60902, 'Norridgewock', 2801, '04957', '207', '44.706874', '-69.847181', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60903, 'Stratton', 2801, '04982', '207', '45.116135', '-70.435774', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60904, 'Lincolnville Center', 2801, '04850', '207', '44.2989', '-69.1047', '2018-11-29 05:07:58', '2018-11-29 05:07:58'),\n(60905, 'Lincolnvl Ctr', 2801, '04850', '207', '44.2989', '-69.1047', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60906, 'Caratunk', 2801, '04925', '207', '45.254668', '-69.906115', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60907, 'Garland', 2801, '04939', '207', '45.056049', '-69.158888', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60908, 'Freedom', 2801, '04941', '207', '44.463434', '-69.271369', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60909, 'Montville', 2801, '04941', '207', '44.463434', '-69.271369', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60910, 'Hammond', 2801, '04730', '207', '46.135091', '-67.910906', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60911, 'Hodgdon', 2801, '04730', '207', '46.135091', '-67.910906', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60912, 'Houlton', 2801, '04730', '207', '46.135091', '-67.910906', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60913, 'Linneus', 2801, '04730', '207', '46.135091', '-67.910906', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60914, 'Littleton', 2801, '04730', '207', '46.135091', '-67.910906', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60915, 'Ludlow', 2801, '04730', '207', '46.135091', '-67.910906', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60916, 'Ashland', 2801, '04732', '207', '46.674858', '-68.510875', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60917, 'Garfield Plt', 2801, '04732', '207', '46.674858', '-68.510875', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60918, 'Masardis', 2801, '04732', '207', '46.674858', '-68.510875', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60919, 'Nashville Plt', 2801, '04732', '207', '46.674858', '-68.510875', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60920, 'Caswell', 2801, '04750', '207', '46.96369', '-67.859768', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60921, 'Limestone', 2801, '04750', '207', '46.96369', '-67.859768', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60922, 'Loring Cm Ctr', 2801, '04750', '207', '46.96369', '-67.859768', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60923, 'Oxbow', 2801, '04764', '207', '46.411094', '-68.568422', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60924, 'Perham', 2801, '04766', '207', '46.844742', '-68.335711', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60925, 'Saint David', 2801, '04773', '207', '47.277922', '-68.235004', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60926, 'Hersey', 2801, '04780', '207', '46.16536', '-68.238341', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60927, 'Merrill', 2801, '04780', '207', '46.16536', '-68.238341', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60928, 'Moro Plt', 2801, '04780', '207', '46.16536', '-68.238341', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60929, 'Jonesboro', 2801, '04648', '207', '44.66835', '-67.58625', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60930, 'Soldier Pond', 2801, '04781', '207', '47.15028', '-68.630358', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60931, 'Wallagrass', 2801, '04781', '207', '47.15028', '-68.630358', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60932, 'Monroe', 2801, '04951', '207', '44.592518', '-69.045594', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60933, 'Embden', 2801, '04958', '207', '44.934066', '-69.942561', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60934, 'North Anson', 2801, '04958', '207', '44.934066', '-69.942561', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60935, 'Palmyra', 2801, '04965', '207', '44.846582', '-69.365282', '2018-11-29 05:07:59', '2018-11-29 05:07:59'),\n(60936, 'Pittsfield', 2801, '04967', '207', '44.781636', '-69.428302', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60937, 'Sandy Point', 2801, '04972', '207', '44.5148', '-68.8136', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60938, 'Cornville', 2801, '04976', '207', '44.813318', '-69.665868', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60939, 'Skowhegan', 2801, '04976', '207', '44.813318', '-69.665868', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60940, 'Rockport', 2801, '04856', '207', '44.173396', '-69.124877', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60941, 'S Thomaston', 2801, '04858', '207', '44.036538', '-69.14705', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60942, 'South Thomaston', 2801, '04858', '207', '44.036538', '-69.14705', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60943, 'West Rockport', 2801, '04865', '207', '44.1907', '-69.1472', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60944, 'East Newport', 2801, '04933', '207', '44.8208', '-69.2232', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60945, 'Beddington', 2801, '04622', '207', '44.701881', '-67.969204', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60946, 'Cherryfield', 2801, '04622', '207', '44.701881', '-67.969204', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60947, 'Deblois', 2801, '04622', '207', '44.701881', '-67.969204', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60948, 'Fort Fairfield', 2801, '04742', '207', '46.776756', '-67.8581', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60949, 'Ft Fairfield', 2801, '04742', '207', '46.776756', '-67.8581', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60950, 'Saint Agatha', 2801, '04772', '207', '47.24435', '-68.31826', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60951, 'Allagash', 2801, '04774', '207', '47.091872', '-69.056862', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60952, 'Saint Francis', 2801, '04774', '207', '47.091872', '-69.056862', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60953, 'Stetson', 2801, '04488', '207', '44.875892', '-69.106414', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60954, 'Milbridge', 2801, '04658', '207', '44.534513', '-67.86893', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60955, 'Seal Cove', 2801, '04674', '207', '44.278446', '-68.38785', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60956, 'Dedham', 2801, '04429', '207', '44.726592', '-68.620331', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60957, 'East Holden', 2801, '04429', '207', '44.726592', '-68.620331', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60958, 'Holden', 2801, '04429', '207', '44.726592', '-68.620331', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60959, 'Friendship', 2801, '04547', '207', '44.002276', '-69.295845', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60960, 'New Harbor', 2801, '04558', '207', '43.893966', '-69.520204', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60961, 'Pemaquid', 2801, '04558', '207', '43.893966', '-69.520204', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60962, 'Cushing', 2801, '04563', '207', '44.009396', '-69.251899', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60963, 'Sebasco Estates', 2801, '04565', '207', '43.787665', '-69.84392', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60964, 'Sebasco Ests', 2801, '04565', '207', '43.787665', '-69.84392', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60965, 'Washington', 2801, '04574', '207', '44.274241', '-69.388346', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60966, 'South Paris', 2801, '04281', '207', '44.242188', '-70.47831', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60967, 'Hudson', 2801, '04449', '207', '44.997197', '-68.884076', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60968, 'Durham', 2801, '04222', '207', '43.96144', '-70.130772', '2018-11-29 05:08:00', '2018-11-29 05:08:00'),\n(60969, 'Ocean Park', 2801, '04063', '207', '43.5007', '-70.3971', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60970, 'Livermore Falls', 2801, '04254', '207', '44.428344', '-70.150154', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60971, 'Livermore Fls', 2801, '04254', '207', '44.428344', '-70.150154', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60972, 'Mechanic Falls', 2801, '04256', '207', '44.109418', '-70.405228', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60973, 'Mechanic Fls', 2801, '04256', '207', '44.109418', '-70.405228', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60974, 'N Berwick', 2801, '03906', '207', '43.343302', '-70.783915', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60975, 'No Berwick', 2801, '03906', '207', '43.343302', '-70.783915', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60976, 'North Berwick', 2801, '03906', '207', '43.343302', '-70.783915', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60977, 'York Harbor', 2801, '03911', '207', '43.1367', '-70.6462', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60978, 'Harpswell', 2801, '04079', '207', '43.794741', '-69.961822', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60979, 'S Harpswell', 2801, '04079', '207', '43.794741', '-69.961822', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60980, 'South Harpswell', 2801, '04079', '207', '43.794741', '-69.961822', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60981, 'South Waterford', 2801, '04088', '207', '44.196396', '-70.754224', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60982, 'Waterford', 2801, '04088', '207', '44.196396', '-70.754224', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60983, 'Cornish', 2801, '04020', '207', '43.761737', '-70.807803', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60984, 'Stacyville', 2801, '04777', '207', '45.856356', '-68.481414', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60985, 'Cross Lake Twp', 2801, '04779', '207', '47.143071', '-68.238459', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60986, 'Cross Lke Twp', 2801, '04779', '207', '47.143071', '-68.238459', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60987, 'Sinclair', 2801, '04779', '207', '47.143071', '-68.238459', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60988, 'Talmadge', 2801, '04492', '207', '45.39179', '-67.567242', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60989, 'Waite', 2801, '04492', '207', '45.39179', '-67.567242', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60990, 'Enfield', 2801, '04493', '207', '45.266329', '-68.552201', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60991, 'Lowell', 2801, '04493', '207', '45.266329', '-68.552201', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60992, 'West Enfield', 2801, '04493', '207', '45.266329', '-68.552201', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60993, 'E Blue Hill', 2801, '04629', '207', '44.422255', '-68.510089', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60994, 'East Blue Hill', 2801, '04629', '207', '44.422255', '-68.510089', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60995, 'Surry', 2801, '04629', '207', '44.422255', '-68.510089', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60996, 'Harborside', 2801, '04642', '207', '44.34357', '-68.797476', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60997, 'Isle Au Haut', 2801, '04645', '207', '44.048219', '-68.630215', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60998, 'Stonington', 2801, '04645', '207', '44.048219', '-68.630215', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(60999, 'Mount Desert', 2801, '04660', '207', '44.336574', '-68.372125', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(61000, 'Otter Creek', 2801, '04660', '207', '44.336574', '-68.372125', '2018-11-29 05:08:01', '2018-11-29 05:08:01'),\n(61001, 'Sorrento', 2801, '04677', '207', '44.491856', '-68.178173', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61002, 'Corinth', 2801, '04427', '207', '44.9803', '-69.010626', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61003, 'East Corinth', 2801, '04427', '207', '44.9803', '-69.010626', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61004, 'Clifton', 2801, '04428', '207', '44.807537', '-68.573372', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61005, 'Eddington', 2801, '04428', '207', '44.807537', '-68.573372', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61006, 'Greenville Junction', 2801, '04442', '207', '45.530307', '-69.663894', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61007, 'Greenvlle Jct', 2801, '04442', '207', '45.530307', '-69.663894', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61008, 'Eliotsvle Twp', 2801, '04443', '207', '45.211538', '-69.397985', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61009, 'Damariscotta', 2801, '04543', '207', '44.034763', '-69.497499', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61010, 'Sumner', 2801, '04292', '207', '44.376541', '-70.442529', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61011, 'Elliottsville Twp', 2801, '04443', '207', '45.211538', '-69.397985', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61012, 'Guilford', 2801, '04443', '207', '45.211538', '-69.397985', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61013, 'Parkman', 2801, '04443', '207', '45.211538', '-69.397985', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61014, 'Willimantic', 2801, '04443', '207', '45.211538', '-69.397985', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61015, 'Grindstone', 2801, '04460', '207', '45.64938', '-68.578972', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61016, 'Grindstone Twp', 2801, '04460', '207', '45.64938', '-68.578972', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61017, 'Medway', 2801, '04460', '207', '45.64938', '-68.578972', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61018, 'Soldiertown', 2801, '04460', '207', '45.64938', '-68.578972', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61019, 'Soldiertown Twp', 2801, '04460', '207', '45.64938', '-68.578972', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61020, 'Cedar Lake Twp', 2801, '04462', '207', '45.668414', '-68.769541', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61021, 'Indian Purchase Twp', 2801, '04462', '207', '45.668414', '-68.769541', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61022, 'Long A Twp', 2801, '04462', '207', '45.668414', '-68.769541', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61023, 'Millinocket', 2801, '04462', '207', '45.668414', '-68.769541', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61024, 'Passadumkeag', 2801, '04475', '207', '45.184872', '-68.591988', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61025, 'Penobscot', 2801, '04476', '207', '44.468273', '-68.692486', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61026, 'Cumb Foreside', 2801, '04110', '207', '43.76168', '-70.198915', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61027, 'Cumberland Foreside', 2801, '04110', '207', '43.76168', '-70.198915', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61028, 'Portland', 2801, '04110', '207', '43.76168', '-70.198915', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61029, 'Portland', 2801, '04124', '207', '43.6615', '-70.2555', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61030, 'Union Mutual Life Ins', 2801, '04124', '207', '43.6615', '-70.2555', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61031, 'S Gardiner', 2801, '04359', '207', '44.1792', '-69.7604', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61032, 'South Gardiner', 2801, '04359', '207', '44.1792', '-69.7604', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61033, 'Hiram', 2801, '04041', '207', '43.866455', '-70.812214', '2018-11-29 05:08:02', '2018-11-29 05:08:02'),\n(61034, 'Hollis Center', 2801, '04042', '207', '43.631117', '-70.61675', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61035, 'Kennebunk', 2801, '04043', '207', '43.396463', '-70.572366', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61036, 'Monmouth', 2801, '04259', '207', '44.224482', '-70.006364', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61037, 'Rumford', 2801, '04276', '207', '44.53668', '-70.607892', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61038, 'Rumford Center', 2801, '04276', '207', '44.53668', '-70.607892', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61039, 'Rumford Ctr', 2801, '04276', '207', '44.53668', '-70.607892', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61040, 'Rumford Point', 2801, '04276', '207', '44.53668', '-70.607892', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61041, 'Bearcreek', 2806, '59007', '406', '45.172908', '-109.095264', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61042, 'Washoe', 2806, '59007', '406', '45.172908', '-109.095264', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61043, 'Bridger', 2806, '59014', '406', '45.278338', '-108.653065', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61044, 'Grass Range', 2806, '59032', '406', '46.987466', '-108.894592', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61045, 'Ingomar', 2806, '59039', '406', '46.67104', '-107.535134', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61046, 'Belmont', 2806, '59046', '406', '46.441735', '-108.998905', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61047, 'Cushman', 2806, '59046', '406', '46.441735', '-108.998905', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61048, 'Lavina', 2806, '59046', '406', '46.441735', '-108.998905', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61049, 'Melville', 2806, '59055', '406', '46.065113', '-109.65023', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61050, 'Molt', 2806, '59057', '406', '45.845695', '-108.95334', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61051, 'Otter', 2806, '59062', '406', '45.391078', '-105.910244', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61052, 'Pryor', 2806, '59066', '406', '45.341018', '-108.433736', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61053, 'Alpine', 2806, '59071', '406', '45.377872', '-109.439842', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61054, 'Roscoe', 2806, '59071', '406', '45.377872', '-109.439842', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61055, 'Springdale', 2806, '59082', '406', '45.7386', '-110.2264', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61056, 'Billings', 2806, '59112', '406', '45.7834', '-108.5003', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61057, 'Mt Dakota Util Co', 2806, '59112', '406', '45.7834', '-108.5003', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61058, 'Billings', 2806, '59114', '406', '45.7834', '-108.5003', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61059, 'K O A', 2806, '59114', '406', '45.7834', '-108.5003', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61060, 'Fairview', 2806, '59221', '406', '47.969532', '-104.618238', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61061, 'Poplar', 2806, '59255', '406', '48.308265', '-105.203914', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61062, 'Boyes', 2806, '59316', '406', '45.4984', '-104.828366', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61063, 'Glendive', 2806, '59330', '406', '47.17296', '-104.815232', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61064, 'Fallon', 2806, '59341', '406', '46.715243', '-104.805372', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61065, 'Mildred', 2806, '59341', '406', '46.715243', '-104.805372', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61066, 'Great Falls', 2806, '59405', '406', '47.299432', '-111.191426', '2018-11-29 05:08:03', '2018-11-29 05:08:03'),\n(61067, 'Black Eagle', 2806, '59414', '406', '47.541652', '-111.266755', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61068, 'Ballantine', 2806, '59006', '406', '45.894679', '-108.114093', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61069, 'Melstone', 2806, '59054', '406', '46.57558', '-107.936792', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61070, 'Pray', 2806, '59065', '406', '45.272942', '-110.667688', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61071, 'Wan I Gan', 2806, '59065', '406', '45.272942', '-110.667688', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61072, 'Billings', 2806, '59106', '406', '45.775349', '-108.667216', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61073, 'Circle', 2806, '59215', '406', '47.535077', '-105.830786', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61074, 'Glasgow', 2806, '59231', '406', '48.406155', '-106.487732', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61075, 'Saint Marie', 2806, '59231', '406', '48.406155', '-106.487732', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61076, 'Absarokee', 2806, '59001', '406', '45.525336', '-109.600714', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61077, 'Ashland', 2806, '59003', '406', '45.548734', '-106.284922', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61078, 'Busby', 2806, '59016', '406', '45.442342', '-107.049437', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61079, 'Kirby', 2806, '59016', '406', '45.442342', '-107.049437', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61080, 'Cooke City', 2806, '59020', '406', '45.087208', '-109.905597', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61081, 'Hardin', 2806, '59034', '406', '45.862391', '-107.473294', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61082, 'Fort Smith', 2806, '59035', '406', '45.214996', '-108.021456', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61083, 'Yellowtail', 2806, '59035', '406', '45.214996', '-108.021456', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61084, 'Lennep', 2806, '59053', '406', '46.544926', '-110.463738', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61085, 'Martinsdale', 2806, '59053', '406', '46.544926', '-110.463738', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61086, 'Reed Point', 2806, '59069', '406', '45.772014', '-109.553532', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61087, 'Teigen', 2806, '59084', '406', '47.0368', '-108.5961', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61088, 'Winnett', 2806, '59084', '406', '47.0368', '-108.5961', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61089, 'Billings', 2806, '59102', '406', '45.765853', '-108.577164', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61090, 'Hesper', 2806, '59102', '406', '45.765853', '-108.577164', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61091, 'Billings', 2806, '59117', '406', '45.7834', '-108.5003', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61092, 'Wells Fargo Bank', 2806, '59117', '406', '45.7834', '-108.5003', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61093, 'Culbertson', 2806, '59218', '406', '48.139717', '-104.470903', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61094, 'Mccabe', 2806, '59218', '406', '48.139717', '-104.470903', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61095, 'Dagmar', 2806, '59219', '406', '48.548762', '-104.186228', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61096, 'Peerless', 2806, '59253', '406', '48.781398', '-105.805158', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61097, 'Plentywood', 2806, '59254', '406', '48.799442', '-104.568191', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61098, 'Sidney', 2806, '59270', '406', '47.736621', '-104.196293', '2018-11-29 05:08:04', '2018-11-29 05:08:04'),\n(61099, 'Broadus', 2806, '59317', '406', '45.519203', '-105.485905', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61100, 'Sonnette', 2806, '59317', '406', '45.519203', '-105.485905', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61101, 'Volborg', 2806, '59351', '406', '46.042071', '-105.586432', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61102, 'Wibaux', 2806, '59353', '406', '47.019494', '-104.326097', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61103, 'Great Falls', 2806, '59402', '406', '47.507679', '-111.178837', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61104, 'Malmstrom AFB', 2806, '59402', '406', '47.507679', '-111.178837', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61105, 'Great Falls', 2806, '59403', '406', '47.5001', '-111.3003', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61106, 'Great Falls', 2806, '59404', '406', '47.527784', '-111.356634', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61107, 'Bynum', 2806, '59419', '406', '47.992446', '-112.313054', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61108, 'Carter', 2806, '59420', '406', '47.871921', '-111.10962', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61109, 'Ethridge', 2806, '59435', '406', '48.5576', '-112.1194', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61110, 'Raynesford', 2806, '59469', '406', '47.238005', '-110.675987', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61111, 'Sweet Grass', 2806, '59484', '406', '48.95642', '-111.885117', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61112, 'Vaughn', 2806, '59487', '406', '47.588069', '-111.638863', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61113, 'Havre', 2806, '59501', '406', '48.566602', '-109.997732', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61114, 'Big Sandy', 2806, '59520', '406', '48.004582', '-110.111483', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61115, 'Jefferson City', 2806, '59638', '406', '46.36723', '-112.169046', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61116, 'Decker', 2806, '59025', '406', '45.1739', '-106.642084', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61117, 'Emigrant', 2806, '59027', '406', '45.247978', '-110.882275', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61118, 'Miner', 2806, '59027', '406', '45.247978', '-110.882275', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61119, 'Lame Deer', 2806, '59043', '406', '45.532994', '-106.498628', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61120, 'Mosby', 2806, '59058', '406', '46.945322', '-107.794733', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61121, 'Musselshell', 2806, '59059', '406', '46.509389', '-108.046752', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61122, 'Shawmut', 2806, '59078', '406', '46.391116', '-109.605933', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61123, 'Billings', 2806, '59108', '406', '45.7834', '-108.5003', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61124, 'Billings', 2806, '59111', '406', '45.7834', '-108.5003', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61125, 'Public Works', 2806, '59111', '406', '45.7834', '-108.5003', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61126, 'Antelope', 2806, '59211', '406', '48.686272', '-104.416856', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61127, 'Homestead', 2806, '59242', '406', '48.440142', '-104.551787', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61128, 'Powderville', 2806, '59345', '406', '45.728644', '-105.242088', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61129, 'Augusta', 2806, '59410', '406', '47.514018', '-112.605191', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61130, 'Fort Shaw', 2806, '59443', '406', '47.553233', '-111.820243', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61131, 'Geraldine', 2806, '59446', '406', '47.650741', '-110.193388', '2018-11-29 05:08:05', '2018-11-29 05:08:05'),\n(61132, 'Square Butte', 2806, '59446', '406', '47.650741', '-110.193388', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61133, 'Acton', 2806, '59002', '406', '45.907297', '-108.653131', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61134, 'Molt', 2806, '59002', '406', '45.907297', '-108.653131', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61135, 'Clyde Park', 2806, '59018', '406', '45.913904', '-110.608095', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61136, 'Columbus', 2806, '59019', '406', '45.609525', '-109.233529', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61137, 'Rapelje', 2806, '59067', '406', '45.991223', '-109.289131', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61138, 'Two Dot', 2806, '59085', '406', '46.485758', '-109.999362', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61139, 'Wilsall', 2806, '59086', '406', '46.001336', '-110.570012', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61140, 'Billings', 2806, '59103', '406', '45.7834', '-108.5003', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61141, 'Opheim', 2806, '59250', '406', '48.890052', '-106.473802', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61142, 'Ismay', 2806, '59336', '406', '46.222525', '-105.23529', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61143, 'Jordan', 2806, '59337', '406', '47.580178', '-106.853838', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61144, 'Cascade', 2806, '59421', '406', '47.215424', '-111.717312', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61145, 'E Glacier Par', 2806, '59434', '406', '48.654499', '-113.558425', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61146, 'E Glacier Park', 2806, '59434', '406', '48.654499', '-113.558425', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61147, 'E Glacier Pk', 2806, '59434', '406', '48.654499', '-113.558425', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61148, 'East Glacier', 2806, '59434', '406', '48.654499', '-113.558425', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61149, 'East Glacier Park', 2806, '59434', '406', '48.654499', '-113.558425', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61150, 'Rising Sun', 2806, '59434', '406', '48.654499', '-113.558425', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61151, 'Fairfield', 2806, '59436', '406', '47.63396', '-112.11702', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61152, 'Golden Ridge', 2806, '59436', '406', '47.63396', '-112.11702', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61153, 'Hilger', 2806, '59451', '406', '47.323294', '-109.374137', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61154, 'Hobson', 2806, '59452', '406', '46.864652', '-110.199366', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61155, 'Garneill', 2806, '59453', '406', '46.597097', '-109.604603', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61156, 'Judith Gap', 2806, '59453', '406', '46.597097', '-109.604603', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61157, 'Kevin', 2806, '59454', '406', '48.74457', '-112.025668', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61158, 'Roy', 2806, '59471', '406', '47.394306', '-108.770533', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61159, 'Ulm', 2806, '59485', '406', '47.410607', '-111.609409', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61160, 'Box Elder', 2806, '59521', '406', '48.301126', '-109.861933', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61161, 'Rocky Boy', 2806, '59521', '406', '48.301126', '-109.861933', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61162, 'Malta', 2806, '59538', '406', '48.315196', '-107.809595', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61163, 'Wagner', 2806, '59538', '406', '48.315196', '-107.809595', '2018-11-29 05:08:06', '2018-11-29 05:08:06'),\n(61164, 'Helena', 2806, '59601', '406', '46.528988', '-112.12251', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61165, 'Helena', 2806, '59602', '406', '46.678594', '-111.980648', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61166, 'Helena', 2806, '59604', '406', '46.5925', '-112.0355', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61167, 'Butte', 2806, '59702', '406', '46.0038', '-112.5337', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61168, 'Butte', 2806, '59703', '406', '46.0038', '-112.5337', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61169, 'Cameron', 2806, '59720', '406', '45.006418', '-111.639888', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61170, 'Cardwell', 2806, '59721', '406', '45.821882', '-111.888647', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61171, 'Deer Lodge', 2806, '59722', '406', '46.380026', '-112.763015', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61172, 'Galen', 2806, '59722', '406', '46.380026', '-112.763015', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61173, 'Harrison', 2806, '59735', '406', '45.724063', '-111.748834', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61174, 'Jackson', 2806, '59736', '406', '45.392954', '-113.456196', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61175, 'Three Forks', 2806, '59752', '406', '45.915117', '-111.518336', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61176, 'Trident', 2806, '59752', '406', '45.915117', '-111.518336', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61177, 'Belews Creek', 2807, '27009', '336', '36.22393', '-80.080018', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61178, 'Danbury', 2807, '27016', '336', '36.444588', '-80.21657', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61179, 'Hartman', 2807, '27016', '336', '36.444588', '-80.21657', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61180, 'East Bend', 2807, '27018', '336', '36.194473', '-80.530126', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61181, 'Ellisboro', 2807, '27025', '336', '36.372196', '-79.967095', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61182, 'Madison', 2807, '27025', '336', '36.372196', '-79.967095', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61183, 'Pilot Mnt', 2807, '27041', '336', '36.413118', '-80.47283', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61184, 'Pilot Mountain', 2807, '27041', '336', '36.413118', '-80.47283', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61185, 'Pilot Mt', 2807, '27041', '336', '36.413118', '-80.47283', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61186, 'Pilot Mtn', 2807, '27041', '336', '36.413118', '-80.47283', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61187, 'Pilot Mts', 2807, '27041', '336', '36.413118', '-80.47283', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61188, 'Sandy Ridge', 2807, '27046', '336', '36.480137', '-80.096185', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61189, 'Kannapolis', 2807, '28083', '704', '35.493983', '-80.575249', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61190, 'Spring Hope', 2807, '27882', '252', '35.949475', '-78.114722', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61191, 'Cornelius', 2807, '28031', '704', '35.470846', '-80.886209', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61192, 'Crouse', 2807, '28033', '704', '35.417208', '-81.33654', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61193, 'Davidson', 2807, '28035', '704', '35.5095', '-80.8433', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61194, 'Davidson College', 2807, '28035', '704', '35.5095', '-80.8433', '2018-11-29 05:08:07', '2018-11-29 05:08:07'),\n(61195, 'Chocowinity', 2807, '27817', '252', '35.442511', '-77.075544', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61196, 'Avon', 2807, '27915', '252', '35.336764', '-75.510004', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61197, 'Kinnakeet', 2807, '27915', '252', '35.336764', '-75.510004', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61198, 'Collington', 2807, '27949', '252', '36.136112', '-75.729414', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61199, 'Duck', 2807, '27949', '252', '36.136112', '-75.729414', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61200, 'Kitty Hawk', 2807, '27949', '252', '36.136112', '-75.729414', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61201, 'Southern Shores', 2807, '27949', '252', '36.136112', '-75.729414', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61202, 'Southrn Shore', 2807, '27949', '252', '36.136112', '-75.729414', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61203, 'Knotts Island', 2807, '27950', '252', '36.51675', '-76.017436', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61204, 'Woodleigh', 2807, '27950', '252', '36.51675', '-76.017436', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61205, 'North Hills', 2807, '27614', '919', '35.94882', '-78.613315', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61206, 'Raleigh', 2807, '27614', '919', '35.94882', '-78.613315', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61207, 'Raleigh', 2807, '27617', '919', '35.904084', '-78.768873', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61208, 'Garysburg', 2807, '27831', '252', '36.478206', '-77.535078', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61209, 'Gumberry', 2807, '27831', '252', '36.478206', '-77.535078', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61210, 'Lewiston', 2807, '27849', '252', '36.064772', '-77.203161', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61211, 'Lewiston Woodville', 2807, '27849', '252', '36.064772', '-77.203161', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61212, 'Woodville', 2807, '27849', '252', '36.064772', '-77.203161', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61213, 'Pinetown', 2807, '27865', '252', '35.598816', '-76.812706', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61214, 'Chapel Hill', 2807, '27514', '919', '35.967136', '-79.040886', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61215, 'Chapel Hill', 2807, '27517', '919', '35.841038', '-79.02982', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61216, 'Goldsboro', 2807, '27533', '919', '35.3849', '-77.9931', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61217, 'Oxford', 2807, '27565', '919', '36.350442', '-78.648391', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61218, 'Linwood', 2807, '27299', '336', '35.760581', '-80.387007', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61219, 'Providence', 2807, '27315', '336', '36.500448', '-79.39326', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61220, 'Coleridge', 2807, '27316', '336', '35.687416', '-79.616002', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61221, 'Parks Crossroads', 2807, '27316', '336', '35.687416', '-79.616002', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61222, 'Ramseur', 2807, '27316', '336', '35.687416', '-79.616002', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61223, 'Greensboro', 2807, '27413', '336', '36.06992', '-79.81084', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61224, 'Unc Greensboro', 2807, '27413', '336', '36.06992', '-79.81084', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61225, 'Greensboro', 2807, '27416', '336', '36.0726', '-79.7925', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61226, 'Greensboro', 2807, '27498', '336', '36.0726', '-79.7925', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61227, 'Greensboro Courtesy Reply', 2807, '27498', '336', '36.0726', '-79.7925', '2018-11-29 05:08:08', '2018-11-29 05:08:08'),\n(61228, 'United States Postal Service', 2807, '27498', '336', '36.0726', '-79.7925', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61229, 'Burl', 2807, '27215', '336', '36.028661', '-79.497186', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61230, 'Burlington', 2807, '27215', '336', '36.028661', '-79.497186', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61231, 'Glen Raven', 2807, '27215', '336', '36.028661', '-79.497186', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61232, 'Burlington', 2807, '27216', '336', '36.0956', '-79.4382', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61233, 'Winston Salem', 2807, '27113', '336', '36.0983', '-80.2466', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61234, 'Winston-Salem', 2807, '27113', '336', '36.0983', '-80.2466', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61235, 'High Point', 2807, '27264', '336', '35.9557', '-80.0057', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61236, 'High Point', 2807, '27265', '336', '36.011878', '-80.039182', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61237, 'Rural Hall', 2807, '27045', '336', '36.241778', '-80.29525', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61238, 'Stanleyville', 2807, '27045', '336', '36.241778', '-80.29525', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61239, 'Siloam', 2807, '27047', '336', '36.31518', '-80.581493', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61240, 'Tobaccoville', 2807, '27050', '336', '36.240126', '-80.39502', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61241, 'Blanche', 2807, '27212', '336', '36.463544', '-79.274298', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61242, 'Colfax', 2807, '27235', '336', '36.095873', '-80.00471', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61243, 'Eagle Springs', 2807, '27242', '910', '35.334064', '-79.6397', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61244, 'Elon', 2807, '27244', '336', '36.2048', '-79.486089', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61245, 'Elon College', 2807, '27244', '336', '36.2048', '-79.486089', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61246, 'Ossipee', 2807, '27244', '336', '36.2048', '-79.486089', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61247, 'Stonycreek', 2807, '27244', '336', '36.2048', '-79.486089', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61248, 'Princess House', 2807, '27094', '336', '36.2404', '-80.2936', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61249, 'Rural Hall', 2807, '27094', '336', '36.2404', '-80.2936', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61250, 'Hillsboro', 2807, '27278', '919', '36.069564', '-79.064393', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61251, 'Hillsborough', 2807, '27278', '919', '36.069564', '-79.064393', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61252, 'West Hillsborough', 2807, '27278', '919', '36.069564', '-79.064393', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61253, 'Kernersville', 2807, '27285', '336', '36.1199', '-80.0738', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61254, 'Bethania', 2807, '27010', '336', '36.1822', '-80.3384', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61255, 'Germanton', 2807, '27019', '336', '36.291218', '-80.238076', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61256, 'Belmont', 2807, '28012', '704', '35.218354', '-81.042952', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61257, 'Catawba Heights', 2807, '28012', '704', '35.218354', '-81.042952', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61258, 'Eno Valley', 2807, '27712', '919', '36.091772', '-78.899662', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61259, 'North Durham', 2807, '27712', '919', '36.091772', '-78.899662', '2018-11-29 05:08:09', '2018-11-29 05:08:09'),\n(61260, 'Aulander', 2807, '27805', '252', '36.195198', '-77.092004', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61261, 'Belhaven', 2807, '27810', '252', '35.513521', '-76.596484', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61262, 'Conetoe', 2807, '27819', '252', '35.832482', '-77.441263', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61263, 'Edward', 2807, '27821', '252', '35.345609', '-76.86055', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61264, 'Wilson', 2807, '27896', '252', '35.799686', '-77.97908', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61265, 'Belvidere', 2807, '27919', '252', '36.307658', '-76.513697', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61266, 'Camden', 2807, '27921', '252', '36.355577', '-76.163651', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61267, 'Creswell', 2807, '27928', '252', '35.81631', '-76.471684', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61268, 'Grandy', 2807, '27939', '252', '36.24389', '-75.903803', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61269, 'Hobbsville', 2807, '27946', '252', '36.356374', '-76.631518', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61270, 'East Lake', 2807, '27953', '252', '35.822866', '-75.886176', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61271, 'Manns Harbor', 2807, '27953', '252', '35.822866', '-75.886176', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61272, 'Greenville', 2807, '27835', '252', '35.6112', '-77.3731', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61273, 'Margaretsville', 2807, '27853', '252', '36.501807', '-77.294176', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61274, 'Margarettsville', 2807, '27853', '252', '36.501807', '-77.294176', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61275, 'Margarettsvl', 2807, '27853', '252', '36.501807', '-77.294176', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61276, 'Pendleton', 2807, '27862', '252', '36.492412', '-77.190738', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61277, 'Coats', 2807, '27521', '910', '35.419231', '-78.661155', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61278, 'Clayton', 2807, '27528', '919', '35.65', '-78.46', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61279, 'Henderson', 2807, '27537', '252', '36.371868', '-78.379098', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61280, 'Durham', 2807, '27701', '919', '35.995918', '-78.902135', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61281, 'East Durham', 2807, '27701', '919', '35.995918', '-78.902135', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61282, 'Duke Medical Ctr', 2807, '27710', '919', '35.9939', '-78.8986', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61283, 'Durham', 2807, '27710', '919', '35.9939', '-78.8986', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61284, 'Durham', 2807, '27712', '919', '36.091772', '-78.899662', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61285, 'Erwin Heights', 2807, '27360', '336', '35.863779', '-80.101318', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61286, 'Thomasville', 2807, '27360', '336', '35.863779', '-80.101318', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61287, 'Greensboro', 2807, '27403', '336', '36.061556', '-79.823444', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61288, 'Princeton', 2807, '27569', '919', '35.43251', '-78.165607', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61289, 'Rolesville', 2807, '27571', '919', '35.92001', '-78.457368', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61290, 'Selma', 2807, '27576', '919', '35.58806', '-78.251706', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61291, 'Wise', 2807, '27594', '252', '36.4865', '-78.1714', '2018-11-29 05:08:10', '2018-11-29 05:08:10'),\n(61292, 'Raleigh', 2807, '27601', '919', '35.775211', '-78.634324', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61293, 'Lexington', 2807, '27294', '336', '35.8238', '-80.2538', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61294, 'National Wholesale Co Inc', 2807, '27294', '336', '35.8238', '-80.2538', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61295, 'Greensboro', 2807, '27412', '336', '36.0726', '-79.7925', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61296, 'Unc Greensboro', 2807, '27412', '336', '36.0726', '-79.7925', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61297, 'Angier', 2807, '27501', '919', '35.480986', '-78.692003', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61298, 'Bennett', 2807, '27208', '336', '35.580925', '-79.535264', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61299, 'Burlington', 2807, '27217', '336', '36.208934', '-79.379092', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61300, 'Green Level', 2807, '27217', '336', '36.208934', '-79.379092', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61301, 'Deep River', 2807, '27260', '336', '35.95657', '-79.992752', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61302, 'Freemans Mills', 2807, '27260', '336', '35.95657', '-79.992752', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61303, 'Glenola', 2807, '27260', '336', '35.95657', '-79.992752', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61304, 'H P', 2807, '27260', '336', '35.95657', '-79.992752', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61305, 'High Pnt', 2807, '27260', '336', '35.95657', '-79.992752', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61306, 'High Point', 2807, '27260', '336', '35.95657', '-79.992752', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61307, 'Allison', 2807, '27326', '336', '36.445874', '-79.549546', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61308, 'Casville', 2807, '27326', '336', '36.445874', '-79.549546', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61309, 'Oregon Hill', 2807, '27326', '336', '36.445874', '-79.549546', '2018-11-29 05:08:11', '2018-11-29 05:08:11');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(61310, 'Powells Store', 2807, '27326', '336', '36.445874', '-79.549546', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61311, 'Quick', 2807, '27326', '336', '36.445874', '-79.549546', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61312, 'Ruffin', 2807, '27326', '336', '36.445874', '-79.549546', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61313, 'Siler City', 2807, '27344', '919', '35.717116', '-79.440848', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61314, 'Silk Hope', 2807, '27344', '919', '35.717116', '-79.440848', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61315, 'W Field', 2807, '27053', '336', '36.460714', '-80.366714', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61316, 'Westfield', 2807, '27053', '336', '36.460714', '-80.366714', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61317, 'Winston Salem', 2807, '27101', '336', '36.118017', '-80.20037', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61318, 'Winston-Salem', 2807, '27101', '336', '36.118017', '-80.20037', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61319, 'Ardmore', 2807, '27103', '336', '36.053601', '-80.317729', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61320, 'Hanes', 2807, '27103', '336', '36.053601', '-80.317729', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61321, 'Muddy Creek', 2807, '27103', '336', '36.053601', '-80.317729', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61322, 'Winston Salem', 2807, '27103', '336', '36.053601', '-80.317729', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61323, 'Winston-Salem', 2807, '27103', '336', '36.053601', '-80.317729', '2018-11-29 05:08:11', '2018-11-29 05:08:11'),\n(61324, 'Winston Salem', 2807, '27110', '336', '36.089442', '-80.224365', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61325, 'Winston-Salem', 2807, '27110', '336', '36.089442', '-80.224365', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61326, 'Ws State Univ', 2807, '27110', '336', '36.089442', '-80.224365', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61327, 'Shallotte', 2807, '28468', '910', '33.904022', '-78.518859', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61328, 'Sunset Bch', 2807, '28468', '910', '33.904022', '-78.518859', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61329, 'Sunset Beach', 2807, '28468', '910', '33.904022', '-78.518859', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61330, 'Norman', 2807, '28367', '910', '35.174074', '-79.72869', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61331, 'Olivia', 2807, '28368', '919', '35.349539', '-79.095414', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61332, 'Roseboro', 2807, '28382', '910', '35.001127', '-78.50655', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61333, 'Saint Pauls', 2807, '28384', '910', '34.793339', '-78.969934', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61334, 'White Oak', 2807, '28399', '910', '34.770858', '-78.731556', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61335, 'Fountain Hill', 2807, '28133', '704', '34.958686', '-80.247074', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61336, 'Peachland', 2807, '28133', '704', '34.958686', '-80.247074', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61337, 'White Store', 2807, '28133', '704', '34.958686', '-80.247074', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61338, 'Charlotte', 2807, '28266', '704', '35.2267', '-80.8434', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61339, 'Charlotte', 2807, '28282', '704', '35.2229', '-80.8452', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61340, 'Charlotte', 2807, '28284', '704', '35.2229', '-80.8452', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61341, 'Charlotte', 2807, '28285', '704', '35.2229', '-80.8452', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61342, 'Dunn', 2807, '28335', '910', '35.3061', '-78.6095', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61343, 'Bells Cross Roads', 2807, '28166', '704', '35.680374', '-80.871896', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61344, 'Troutman', 2807, '28166', '704', '35.680374', '-80.871896', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61345, 'Charlotte', 2807, '28202', '704', '35.227646', '-80.84375', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61346, 'Charlotte', 2807, '28215', '704', '35.251976', '-80.697133', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61347, 'Charlotte', 2807, '28216', '704', '35.301252', '-80.901662', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61348, 'Charlotte', 2807, '28218', '704', '35.2267', '-80.8434', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61349, 'Charlotte', 2807, '28232', '704', '35.2267', '-80.8434', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61350, 'Charlotte', 2807, '28233', '704', '35.2267', '-80.8434', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61351, 'Charlotte', 2807, '28235', '704', '35.2267', '-80.8434', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61352, 'Poplar Branch', 2807, '27965', '252', '36.2666', '-75.886029', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61353, 'Powells Point', 2807, '27966', '252', '36.147659', '-75.838013', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61354, 'Winfall', 2807, '27985', '252', '36.215999', '-76.480688', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61355, 'Mooresville', 2807, '28117', '704', '35.571472', '-80.895998', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61356, 'Speed', 2807, '27881', '252', '35.9679', '-77.4458', '2018-11-29 05:08:12', '2018-11-29 05:08:12'),\n(61357, 'Stokes', 2807, '27884', '252', '35.71364', '-77.273658', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61358, 'Bessemer City', 2807, '28016', '704', '35.327263', '-81.288257', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61359, 'Durham', 2807, '27715', '919', '35.9939', '-78.8986', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61360, 'Durham', 2807, '27717', '919', '35.9939', '-78.8986', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61361, 'Dortches', 2807, '27801', '252', '35.918873', '-77.731863', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61362, 'Rocky Mount', 2807, '27801', '252', '35.918873', '-77.731863', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61363, 'Rocky Mt', 2807, '27801', '252', '35.918873', '-77.731863', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61364, 'Qvc', 2807, '27815', '252', '35.924688', '-77.693237', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61365, 'Rocky Mount', 2807, '27815', '252', '35.924688', '-77.693237', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61366, 'Aydlett', 2807, '27916', '252', '36.313566', '-75.911188', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61367, 'Barco', 2807, '27917', '252', '36.359834', '-75.995817', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61368, 'Edenton', 2807, '27932', '252', '36.121265', '-76.565424', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61369, 'Littleton', 2807, '27850', '252', '36.41099', '-77.880562', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61370, 'Red Oak', 2807, '27868', '252', '36.0384', '-77.9068', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61371, 'Chapel Hill', 2807, '27516', '919', '35.922166', '-79.160724', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61372, 'Goldsboro', 2807, '27532', '919', '35.3849', '-77.9931', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61373, 'Nc Dept Revenue', 2807, '27634', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61374, 'Raleigh', 2807, '27634', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61375, 'Raleigh', 2807, '27650', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61376, 'Nc Dept Motor Vehicle', 2807, '27697', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61377, 'Raleigh', 2807, '27697', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61378, 'Carolina Power And Light Co', 2807, '27698', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61379, 'Raleigh', 2807, '27698', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61380, 'Nc Centralized Mailing', 2807, '27699', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61381, 'Raleigh', 2807, '27699', '919', '35.7719', '-78.6388', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61382, 'Timberlake', 2807, '27583', '336', '36.298946', '-78.925316', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61383, 'Zebulon', 2807, '27597', '919', '35.820692', '-78.323718', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61384, 'Kimesville', 2807, '27298', '336', '35.887051', '-79.563156', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61385, 'Liberty', 2807, '27298', '336', '35.887051', '-79.563156', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61386, 'Greensboro', 2807, '27415', '336', '36.0726', '-79.7925', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61387, 'Brightwood', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61388, 'Brown Summit', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61389, 'Browns Summit', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:13', '2018-11-29 05:08:13'),\n(61390, 'Busick', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61391, 'Monticello', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61392, 'Osceola', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61393, 'Rudd', 2807, '27214', '336', '36.205687', '-79.675814', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61394, 'Canden', 2807, '27229', '910', '35.256275', '-79.799824', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61395, 'Candor', 2807, '27229', '910', '35.256275', '-79.799824', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61396, 'Ether', 2807, '27247', '910', '35.4403', '-79.7839', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61397, 'Gibsonville', 2807, '27249', '336', '36.171053', '-79.585608', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61398, 'Sanford', 2807, '27332', '919', '35.365704', '-79.148242', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61399, 'Hanes Brands Inc', 2807, '27098', '336', '36.2404', '-80.2936', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61400, 'Rural Hall', 2807, '27098', '336', '36.2404', '-80.2936', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61401, 'Winston Salem', 2807, '27115', '336', '36.0967', '-80.2507', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61402, 'Winston-Salem', 2807, '27115', '336', '36.0967', '-80.2507', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61403, 'Julian', 2807, '27283', '336', '35.950208', '-79.631599', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61404, 'Matrimony', 2807, '27048', '336', '36.463462', '-79.907854', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61405, 'Price', 2807, '27048', '336', '36.463462', '-79.907854', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61406, 'Stoneville', 2807, '27048', '336', '36.463462', '-79.907854', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61407, 'Toast', 2807, '27049', '336', '36.5004', '-80.6268', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61408, 'Pine Hall', 2807, '27042', '336', '36.342777', '-80.055118', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61409, 'Asheboro', 2807, '27203', '336', '35.736995', '-79.77037', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61410, 'Walkertown', 2807, '27051', '336', '36.181824', '-80.163394', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61411, 'Clemmons', 2807, '27012', '336', '36.004018', '-80.371445', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61412, 'Cooleemee', 2807, '27014', '336', '35.811967', '-80.554258', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61413, 'Mount Airy', 2807, '27030', '336', '36.458463', '-80.620723', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61414, 'Mt Airy', 2807, '27030', '336', '36.458463', '-80.620723', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61415, 'Round Peak', 2807, '27030', '336', '36.458463', '-80.620723', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61416, 'White Sulphur Springs', 2807, '27030', '336', '36.458463', '-80.620723', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61417, 'Winston Salem', 2807, '27198', '336', '36.1003', '-80.2498', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61418, 'Winston Salem Courtesy Reply', 2807, '27198', '336', '36.1003', '-80.2498', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61419, 'Winston-Salem', 2807, '27198', '336', '36.1003', '-80.2498', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61420, 'Winston Salem', 2807, '27199', '336', '36.0987', '-80.2508', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61421, 'Winston Salem Brm', 2807, '27199', '336', '36.0987', '-80.2508', '2018-11-29 05:08:14', '2018-11-29 05:08:14'),\n(61422, 'Winston-Salem', 2807, '27199', '336', '36.0987', '-80.2508', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61423, 'Unc Chapel Hill Admin', 2807, '27599', '919', '35.9134', '-79.0561', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61424, 'Univ Of Nc', 2807, '27599', '919', '35.9134', '-79.0561', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61425, 'University Of Nc', 2807, '27599', '919', '35.9134', '-79.0561', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61426, 'Pleasant Garden', 2807, '27313', '336', '35.928908', '-79.750414', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61427, 'Pleasant Gdn', 2807, '27313', '336', '35.928908', '-79.750414', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61428, 'Pleasant Gdns', 2807, '27313', '336', '35.928908', '-79.750414', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61429, 'Prospect Hill', 2807, '27314', '336', '36.293418', '-79.194779', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61430, 'Greensboro', 2807, '27497', '336', '36.078598', '-79.954254', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61431, 'Usps Hr Shared Svcs', 2807, '27497', '336', '36.078598', '-79.954254', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61432, 'Greensboro', 2807, '27499', '336', '36.0726', '-79.7925', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61433, 'Greensboro Brm', 2807, '27499', '336', '36.0726', '-79.7925', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61434, 'Bonlee', 2807, '27213', '919', '35.6458', '-79.4149', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61435, 'Cedar Falls', 2807, '27230', '336', '35.7518', '-79.7317', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61436, 'Cedar Grove', 2807, '27231', '919', '36.195652', '-79.16997', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61437, 'Franklinville', 2807, '27248', '336', '35.779764', '-79.708304', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61438, 'Grays Chapel', 2807, '27248', '336', '35.779764', '-79.708304', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61439, 'Millboro', 2807, '27248', '336', '35.779764', '-79.708304', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61440, 'Allen Jay', 2807, '27263', '336', '35.906674', '-79.953118', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61441, 'Archdale', 2807, '27263', '336', '35.906674', '-79.953118', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61442, 'Buffalo Lake', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61443, 'Carbonton', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61444, 'Colon', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61445, 'Haw Branch', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61446, 'Jonesboro Heights', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61447, 'Osgood', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61448, 'Pine View', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61449, 'Sanford', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61450, 'Shallowell', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61451, 'Swan Station', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61452, 'Tramway', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61453, 'White Hill', 2807, '27330', '919', '35.51048', '-79.199727', '2018-11-29 05:08:15', '2018-11-29 05:08:15'),\n(61454, 'Sanford', 2807, '27331', '919', '35.4797', '-79.1809', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61455, 'Rock Creek', 2807, '27349', '336', '35.897854', '-79.400424', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61456, 'Snow Camp', 2807, '27349', '336', '35.897854', '-79.400424', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61457, 'Hanes Brands Inc', 2807, '27099', '336', '36.2404', '-80.2936', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61458, 'Rural Hall', 2807, '27099', '336', '36.2404', '-80.2936', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61459, 'Winston Salem', 2807, '27114', '336', '36.1004', '-80.2485', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61460, 'Winston-Salem', 2807, '27114', '336', '36.1004', '-80.2485', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61461, 'Winston Salem', 2807, '27130', '336', '36.0768', '-80.2497', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61462, 'High Point', 2807, '27263', '336', '35.906674', '-79.953118', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61463, 'Foxfire', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61464, 'Foxfire Village', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61465, 'Foxfire Vlg', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61466, 'Jackson Spgs', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61467, 'Jackson Springs', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61468, 'Marcus', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61469, 'Wind Blow', 2807, '27281', '910', '35.183468', '-79.640032', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61470, 'Jamestown', 2807, '27282', '336', '35.994324', '-79.92963', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61471, 'Amity', 2807, '27013', '704', '35.763468', '-80.70373', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61472, 'Barber', 2807, '27013', '704', '35.763468', '-80.70373', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61473, 'Cleveland', 2807, '27013', '704', '35.763468', '-80.70373', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61474, 'Cool Spring', 2807, '27013', '704', '35.763468', '-80.70373', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61475, 'Mount Vernon', 2807, '27013', '704', '35.763468', '-80.70373', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61476, 'Mount Airy', 2807, '27031', '336', '36.4995', '-80.6078', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61477, 'Mt Airy', 2807, '27031', '336', '36.4995', '-80.6078', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61478, 'White Plains', 2807, '27031', '336', '36.4995', '-80.6078', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61479, 'Hollis', 2807, '28040', '828', '35.391915', '-81.756021', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61480, 'Fallston', 2807, '28042', '704', '35.4288', '-81.5019', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61481, 'Bailey', 2807, '27807', '252', '35.801956', '-78.082737', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61482, 'Columbia', 2807, '27925', '252', '35.797912', '-76.206504', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61483, 'Harbinger', 2807, '27941', '252', '36.118409', '-75.83133', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61484, 'Maple', 2807, '27956', '252', '36.400228', '-76.002888', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61485, 'Cameron Village', 2807, '27605', '919', '35.790371', '-78.652752', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61486, 'Raleigh', 2807, '27605', '919', '35.790371', '-78.652752', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61487, 'Raleigh', 2807, '27624', '919', '35.7719', '-78.6388', '2018-11-29 05:08:16', '2018-11-29 05:08:16'),\n(61488, 'Everetts', 2807, '27825', '252', '35.8347', '-77.1737', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61489, 'Momeyer', 2807, '27856', '252', '36.020452', '-77.998174', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61490, 'Nashville', 2807, '27856', '252', '36.020452', '-77.998174', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61491, 'Bullock', 2807, '27507', '919', '36.495826', '-78.554822', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61492, 'Apex', 2807, '27523', '919', '35.79427', '-78.918739', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61493, 'Franklinton', 2807, '27525', '919', '36.116257', '-78.472552', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61494, 'Bagley', 2807, '27542', '919', '35.612938', '-78.150546', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61495, 'Kenly', 2807, '27542', '919', '35.612938', '-78.150546', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61496, 'Nc Dept Revenue', 2807, '27640', '919', '35.7719', '-78.6388', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61497, 'Raleigh', 2807, '27640', '919', '35.7719', '-78.6388', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61498, 'Raleigh', 2807, '27675', '919', '35.7719', '-78.6388', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61499, 'Westgate', 2807, '27675', '919', '35.7719', '-78.6388', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61500, 'Durham', 2807, '27706', '919', '35.993193', '-78.94173', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61501, 'Durham', 2807, '27707', '919', '35.948152', '-78.955534', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61502, 'Shannon Plaza', 2807, '27707', '919', '35.948152', '-78.955534', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61503, 'Welcome', 2807, '27374', '336', '35.9029', '-80.2573', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61504, 'Greensboro', 2807, '27405', '336', '36.115362', '-79.738186', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61505, 'Hamtown', 2807, '27405', '336', '36.115362', '-79.738186', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61506, 'Mount Zion', 2807, '27405', '336', '36.115362', '-79.738186', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61507, 'Rankin', 2807, '27405', '336', '36.115362', '-79.738186', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61508, 'Summit', 2807, '27405', '336', '36.115362', '-79.738186', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61509, 'Tennessee Acres', 2807, '27405', '336', '36.115362', '-79.738186', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61510, 'Kennebec', 2807, '27592', '919', '35.565346', '-78.66091', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61511, 'Willow Spring', 2807, '27592', '919', '35.565346', '-78.66091', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61512, 'Willow Springs', 2807, '27592', '919', '35.565346', '-78.66091', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61513, 'Estelle', 2807, '27305', '336', '36.508343', '-79.217338', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61514, 'Milton', 2807, '27305', '336', '36.508343', '-79.217338', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61515, 'Mount Gilead', 2807, '27306', '910', '35.219835', '-79.974232', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61516, 'Wadeville', 2807, '27306', '910', '35.219835', '-79.974232', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61517, 'Greensboro', 2807, '27455', '336', '36.18243', '-79.80822', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61518, 'Asheboro', 2807, '27204', '336', '35.7075', '-79.8137', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61519, 'Gulf', 2807, '27256', '919', '35.566626', '-79.282779', '2018-11-29 05:08:17', '2018-11-29 05:08:17'),\n(61520, 'Reidsville', 2807, '27323', '336', '36.3547', '-79.6644', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61521, 'Woodleaf', 2807, '27054', '704', '35.782858', '-80.609361', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61522, 'Peace Haven Estates', 2807, '27104', '336', '36.097729', '-80.323493', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61523, 'Winston Salem', 2807, '27104', '336', '36.097729', '-80.323493', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61524, 'Winston-Salem', 2807, '27104', '336', '36.097729', '-80.323493', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61525, 'North', 2807, '27105', '336', '36.165271', '-80.240928', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61526, 'Sedges Garden', 2807, '27105', '336', '36.165271', '-80.240928', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61527, 'Winston Salem', 2807, '27105', '336', '36.165271', '-80.240928', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61528, 'Winston-Salem', 2807, '27105', '336', '36.165271', '-80.240928', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61529, 'Eller', 2807, '27107', '336', '35.993781', '-80.174643', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61530, 'Gumtree', 2807, '27107', '336', '35.993781', '-80.174643', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61531, 'Waughtown', 2807, '27107', '336', '35.993781', '-80.174643', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61532, 'Winston Salem', 2807, '27107', '336', '35.993781', '-80.174643', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61533, 'Winston-Salem', 2807, '27107', '336', '35.993781', '-80.174643', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61534, 'Advance', 2807, '27006', '336', '35.944562', '-80.437631', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61535, 'Bermuda Run', 2807, '27006', '336', '35.944562', '-80.437631', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61536, 'Bixby', 2807, '27006', '336', '35.944562', '-80.437631', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61537, 'Fork', 2807, '27006', '336', '35.944562', '-80.437631', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61538, 'Hillsdale', 2807, '27006', '336', '35.944562', '-80.437631', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61539, 'Redland', 2807, '27006', '336', '35.944562', '-80.437631', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61540, 'Harts Store', 2807, '27022', '336', '36.503332', '-80.211368', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61541, 'Lawsonville', 2807, '27022', '336', '36.503332', '-80.211368', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61542, 'Lowgap', 2807, '27024', '336', '36.516657', '-80.82397', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61543, 'Bowman Gray School Of Med', 2807, '27157', '336', '36.0964', '-80.2096', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61544, 'Nc Baptist Hospital', 2807, '27157', '336', '36.0964', '-80.2096', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61545, 'Winston Salem', 2807, '27157', '336', '36.0964', '-80.2096', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61546, 'Fairmount', 2808, '58030', '701', '46.02928', '-96.689926', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61547, 'Hastings', 2808, '58049', '701', '46.669588', '-97.997372', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61548, 'Kathryn', 2808, '58049', '701', '46.669588', '-97.997372', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61549, 'Page', 2808, '58064', '701', '47.145281', '-97.652753', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61550, 'Bathgate', 2808, '58216', '701', '48.887612', '-97.435895', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61551, 'Belcourt', 2808, '58316', '701', '48.805495', '-99.788732', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61552, 'Bottineau', 2808, '58318', '701', '48.859374', '-100.402081', '2018-11-29 05:08:18', '2018-11-29 05:08:18'),\n(61553, 'Lake Metigoshe', 2808, '58318', '701', '48.859374', '-100.402081', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61554, 'Metigoshe', 2808, '58318', '701', '48.859374', '-100.402081', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61555, 'Egeland', 2808, '58331', '701', '48.631166', '-99.101347', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61556, 'Esmond', 2808, '58332', '701', '48.079385', '-99.750802', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61557, 'Fillmore', 2808, '58332', '701', '48.079385', '-99.750802', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61558, 'Flora', 2808, '58348', '701', '47.97732', '-99.55461', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61559, 'Hesper', 2808, '58348', '701', '47.97732', '-99.55461', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61560, 'Maddock', 2808, '58348', '701', '47.97732', '-99.55461', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61561, 'Brinsmade', 2808, '58351', '701', '48.114513', '-99.329456', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61562, 'Minnewaukan', 2808, '58351', '701', '48.114513', '-99.329456', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61563, 'Armourdale', 2808, '58365', '701', '48.851812', '-99.197527', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61564, 'Crocus', 2808, '58365', '701', '48.851812', '-99.197527', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61565, 'Rock Lake', 2808, '58365', '701', '48.851812', '-99.197527', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61566, 'Rocklake', 2808, '58365', '701', '48.851812', '-99.197527', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61567, 'Rolla', 2808, '58367', '701', '48.866056', '-99.536668', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61568, 'Orrin', 2808, '58368', '701', '48.217824', '-100.074722', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61569, 'Pleasant Lake', 2808, '58368', '701', '48.217824', '-100.074722', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61570, 'Rugby', 2808, '58368', '701', '48.217824', '-100.074722', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61571, 'Silva', 2808, '58368', '701', '48.217824', '-100.074722', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61572, 'Garske', 2808, '58382', '701', '48.318769', '-98.800394', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61573, 'Webster', 2808, '58382', '701', '48.318769', '-98.800394', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61574, 'Barton', 2808, '58384', '701', '48.617496', '-100.262821', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61575, 'Omemee', 2808, '58384', '701', '48.617496', '-100.262821', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61576, 'Ostby', 2808, '58384', '701', '48.617496', '-100.262821', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61577, 'Overly', 2808, '58384', '701', '48.617496', '-100.262821', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61578, 'Willow City', 2808, '58384', '701', '48.617496', '-100.262821', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61579, 'Bowdon', 2808, '58418', '701', '47.450411', '-99.67196', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61580, 'Heaton', 2808, '58418', '701', '47.450411', '-99.67196', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61581, 'Steele', 2808, '58482', '701', '46.850406', '-99.96983', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61582, 'Elgin', 2808, '58533', '701', '46.389239', '-101.789697', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61583, 'Heil', 2808, '58533', '701', '46.389239', '-101.789697', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61584, 'Riverdale', 2808, '58565', '701', '47.536376', '-101.365406', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61585, 'Saint Anthony', 2808, '58566', '701', '46.603627', '-100.96987', '2018-11-29 05:08:19', '2018-11-29 05:08:19'),\n(61586, 'St Anthony', 2808, '58566', '701', '46.603627', '-100.96987', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61587, 'Grassy Butte', 2808, '58634', '701', '47.464569', '-103.37799', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61588, 'Rhoades', 2808, '58634', '701', '47.464569', '-103.37799', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61589, 'Regent', 2808, '58650', '701', '46.396059', '-102.63345', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61590, 'Rhame', 2808, '58651', '701', '46.28756', '-103.717433', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61591, 'Richardton', 2808, '58652', '701', '46.891692', '-102.264414', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61592, 'Minot', 2808, '58702', '701', '48.2325', '-101.2956', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61593, 'Berthold', 2808, '58718', '701', '48.291583', '-101.761741', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61594, 'Blaisdell', 2808, '58718', '701', '48.291583', '-101.761741', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61595, 'Foxholm', 2808, '58718', '701', '48.291583', '-101.761741', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61596, 'Lone Tree', 2808, '58718', '701', '48.291583', '-101.761741', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61597, 'Tagus', 2808, '58718', '701', '48.291583', '-101.761741', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61598, 'Aurelia', 2808, '58734', '701', '48.502772', '-101.976488', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61599, 'Coulee', 2808, '58734', '701', '48.502772', '-101.976488', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61600, 'Donnybrook', 2808, '58734', '701', '48.502772', '-101.976488', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61601, 'Palermo', 2808, '58769', '701', '48.291874', '-102.239669', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61602, 'Temple', 2808, '58852', '701', '48.334011', '-102.928947', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61603, 'Tioga', 2808, '58852', '701', '48.334011', '-102.928947', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61604, 'Absaraka', 2808, '58002', '701', '47.0213', '-97.3881', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61605, 'Buffalo', 2808, '58011', '701', '46.92712', '-97.546767', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61606, 'Enderlin', 2808, '58027', '701', '46.615779', '-97.606794', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61607, 'Lucca', 2808, '58027', '701', '46.615779', '-97.606794', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61608, 'Hillsboro', 2808, '58045', '701', '47.367822', '-97.024148', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61609, 'Kelso', 2808, '58045', '701', '47.367822', '-97.024148', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61610, 'Fargo', 2808, '58102', '701', '46.925828', '-96.828912', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61611, 'North River', 2808, '58102', '701', '46.925828', '-96.828912', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61612, 'Reiles Acres', 2808, '58102', '701', '46.925828', '-96.828912', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61613, 'Gfafb', 2808, '58204', '701', '47.953224', '-97.370228', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61614, 'Grand Forks', 2808, '58204', '701', '47.953224', '-97.370228', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61615, 'Grand Forks AFB', 2808, '58204', '701', '47.953224', '-97.370228', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61616, 'Grand Forks Air Force Base', 2808, '58204', '701', '47.953224', '-97.370228', '2018-11-29 05:08:20', '2018-11-29 05:08:20'),\n(61617, 'Buxton', 2808, '58218', '701', '47.584922', '-97.03464', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61618, 'Edinburg', 2808, '58227', '701', '48.519738', '-97.926824', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61619, 'Gardar', 2808, '58227', '701', '48.519738', '-97.926824', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61620, 'Ardoch', 2808, '58261', '701', '48.252511', '-97.313054', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61621, 'Minto', 2808, '58261', '701', '48.252511', '-97.313054', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61622, 'Voss', 2808, '58261', '701', '48.252511', '-97.313054', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61623, 'Warsaw', 2808, '58261', '701', '48.252511', '-97.313054', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61624, 'Park River', 2808, '58270', '701', '48.398031', '-97.790557', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61625, 'Lawton', 2808, '58345', '701', '48.282202', '-98.378836', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61626, 'Pekin', 2808, '58361', '701', '47.759234', '-98.34264', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61627, 'Perth', 2808, '58363', '701', '48.754568', '-99.427474', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61628, 'Saint Michael', 2808, '58370', '701', '47.954862', '-98.905394', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61629, 'St Michael', 2808, '58370', '701', '47.954862', '-98.905394', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61630, 'Jamestown', 2808, '58402', '701', '46.9109', '-98.7082', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61631, 'Jamestwn', 2808, '58402', '701', '46.9109', '-98.7082', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61632, 'Ashley', 2808, '58413', '701', '46.071312', '-99.317889', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61633, 'Danzig', 2808, '58413', '701', '46.071312', '-99.317889', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61634, 'Nelvik', 2808, '58413', '701', '46.071312', '-99.317889', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61635, 'Venturia', 2808, '58413', '701', '46.071312', '-99.317889', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61636, 'Cathay', 2808, '58422', '701', '47.623076', '-99.394039', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61637, 'Emrick', 2808, '58422', '701', '47.623076', '-99.394039', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61638, 'Ellendale', 2808, '58436', '701', '46.109701', '-98.495294', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61639, 'Monango', 2808, '58436', '701', '46.109701', '-98.495294', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61640, 'Fessenden', 2808, '58438', '701', '47.646761', '-99.660571', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61641, 'Grace City', 2808, '58445', '701', '47.565693', '-98.830552', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61642, 'Grace Cty', 2808, '58445', '701', '47.565693', '-98.830552', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61643, 'Leal', 2808, '58479', '701', '47.095707', '-98.182135', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61644, 'Rogers', 2808, '58479', '701', '47.095707', '-98.182135', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61645, 'Sykeston', 2808, '58486', '701', '47.386056', '-99.394155', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61646, 'Tuttle', 2808, '58488', '701', '47.161738', '-99.98862', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61647, 'Bismarck', 2808, '58506', '701', '46.8085', '-100.7836', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61648, 'Coleharbor', 2808, '58531', '701', '47.581276', '-101.204084', '2018-11-29 05:08:21', '2018-11-29 05:08:21'),\n(61649, 'Hazen', 2808, '58545', '701', '47.308976', '-101.589416', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61650, 'Pick City', 2808, '58545', '701', '47.308976', '-101.589416', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61651, 'Breien', 2808, '58570', '701', '46.353074', '-100.830335', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61652, 'Solen', 2808, '58570', '701', '46.353074', '-100.830335', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61653, 'Timmer', 2808, '58570', '701', '46.353074', '-100.830335', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61654, 'Mckenzie', 2808, '58572', '701', '46.866027', '-100.331571', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61655, 'Sterling', 2808, '58572', '701', '46.866027', '-100.331571', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61656, 'Zeeland', 2808, '58581', '701', '46.064343', '-99.775646', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61657, 'Amidon', 2808, '58620', '701', '46.455023', '-103.362659', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61658, 'Eagles Nest', 2808, '58631', '701', '46.820277', '-101.844211', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61659, 'Glen Ullin', 2808, '58631', '701', '46.820277', '-101.844211', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61660, 'Hebron', 2808, '58638', '701', '46.853048', '-102.025238', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61661, 'Havelock', 2808, '58647', '701', '46.499191', '-102.785938', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61662, 'New England', 2808, '58647', '701', '46.499191', '-102.785938', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61663, 'Schefield', 2808, '58647', '701', '46.499191', '-102.785938', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61664, 'Taylor', 2808, '58656', '701', '46.93351', '-102.464376', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61665, 'Deering', 2808, '58731', '701', '48.444002', '-101.015788', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61666, 'Charlson', 2808, '58763', '701', '47.95123', '-102.554052', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61667, 'New Town', 2808, '58763', '701', '47.95123', '-102.554052', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61668, 'Newtown', 2808, '58763', '701', '47.95123', '-102.554052', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61669, 'Sanish', 2808, '58763', '701', '47.95123', '-102.554052', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61670, 'Noonan', 2808, '58765', '701', '48.867099', '-103.03803', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61671, 'Portal', 2808, '58772', '701', '48.946648', '-102.589444', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61672, 'Berwick', 2808, '58788', '701', '48.368966', '-100.442856', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61673, 'Denbigh', 2808, '58788', '701', '48.368966', '-100.442856', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61674, 'Towner', 2808, '58788', '701', '48.368966', '-100.442856', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61675, 'Velva', 2808, '58790', '701', '48.035186', '-100.933737', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61676, 'Hamlet', 2808, '58795', '701', '48.626096', '-103.146622', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61677, 'Wildrose', 2808, '58795', '701', '48.626096', '-103.146622', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61678, 'Alkabo', 2808, '58845', '701', '48.648455', '-103.910382', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61679, 'Grenora', 2808, '58845', '701', '48.648455', '-103.910382', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61680, 'Westby', 2808, '58845', '701', '48.648455', '-103.910382', '2018-11-29 05:08:22', '2018-11-29 05:08:22'),\n(61681, 'Johnsons Corner', 2808, '58847', '701', '47.949182', '-102.812726', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61682, 'Keene', 2808, '58847', '701', '47.949182', '-102.812726', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61683, 'Hanks', 2808, '58856', '701', '48.532274', '-103.667402', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61684, 'Marmon', 2808, '58856', '701', '48.532274', '-103.667402', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61685, 'Zahl', 2808, '58856', '701', '48.532274', '-103.667402', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61686, 'Delamere', 2808, '58060', '701', '46.261156', '-97.4876', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61687, 'Milnor', 2808, '58060', '701', '46.261156', '-97.4876', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61688, 'Fargo', 2808, '58126', '701', '46.8774', '-96.7895', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61689, 'Wells Fargo', 2808, '58126', '701', '46.8774', '-96.7895', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61690, 'Emerado', 2808, '58228', '701', '47.875172', '-97.366946', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61691, 'Finley', 2808, '58230', '701', '47.541844', '-97.729226', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61692, 'Gilby', 2808, '58235', '701', '48.092702', '-97.47079', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61693, 'Honeyford', 2808, '58235', '701', '48.092702', '-97.47079', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61694, 'Johnstown', 2808, '58235', '701', '48.092702', '-97.47079', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61695, 'Mountain', 2808, '58262', '701', '48.688363', '-97.851514', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61696, 'Osnabrock', 2808, '58269', '701', '48.6449', '-98.252991', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61697, 'Union', 2808, '58269', '701', '48.6449', '-98.252991', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61698, 'Agate', 2808, '58310', '701', '48.631702', '-99.667421', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61699, 'Harlow', 2808, '58346', '701', '48.290182', '-99.394477', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61700, 'Leeds', 2808, '58346', '701', '48.290182', '-99.394477', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61701, 'Mylo', 2808, '58353', '701', '48.638845', '-99.623848', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61702, 'Hamar', 2808, '58380', '701', '47.802828', '-98.525228', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61703, 'Tolna', 2808, '58380', '701', '47.802828', '-98.525228', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61704, 'Kensal', 2808, '58455', '701', '47.276261', '-98.721114', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61705, 'Mc Henry', 2808, '58464', '701', '47.61539', '-98.595947', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61706, 'Mchenry', 2808, '58464', '701', '47.61539', '-98.595947', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61707, 'Lake Williams', 2808, '58478', '701', '47.153859', '-99.67235', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61708, 'Robinson', 2808, '58478', '701', '47.153859', '-99.67235', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61709, 'Sanborn', 2808, '58480', '701', '46.921724', '-98.287706', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61710, 'Cannon Ball', 2808, '58528', '701', '46.347341', '-100.634552', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61711, 'Cannonball', 2808, '58528', '701', '46.347341', '-100.634552', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61712, 'Center', 2808, '58530', '701', '47.138804', '-101.141813', '2018-11-29 05:08:23', '2018-11-29 05:08:23'),\n(61713, 'Fort Clark', 2808, '58530', '701', '47.138804', '-101.141813', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61714, 'Hensler', 2808, '58530', '701', '47.138804', '-101.141813', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61715, 'Price', 2808, '58530', '701', '47.138804', '-101.141813', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61716, 'Sanger', 2808, '58530', '701', '47.138804', '-101.141813', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61717, 'Underwood', 2808, '58576', '701', '47.436646', '-101.239304', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61718, 'Falkirk', 2808, '58577', '701', '47.369034', '-101.015695', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61719, 'Washburn', 2808, '58577', '701', '47.369034', '-101.015695', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61720, 'Dodge', 2808, '58625', '701', '47.263292', '-102.197599', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61721, 'Dunn Center', 2808, '58626', '701', '47.365306', '-102.555032', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61722, 'Dunn Ctr', 2808, '58626', '701', '47.365306', '-102.555032', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61723, 'Killdeer', 2808, '58640', '701', '47.504449', '-102.67886', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61724, 'Carpio', 2808, '58725', '701', '48.502308', '-101.711754', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61725, 'Hartland', 2808, '58725', '701', '48.502308', '-101.711754', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61726, 'Granville', 2808, '58741', '701', '48.240213', '-100.800062', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61727, 'Simcoe', 2808, '58741', '701', '48.240213', '-100.800062', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61728, 'Clifton', 2808, '58758', '701', '47.744858', '-100.101868', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61729, 'Martin', 2808, '58758', '701', '47.744858', '-100.101868', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61730, 'Max', 2808, '58759', '701', '47.804632', '-101.250482', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61731, 'Prairieview', 2808, '58759', '701', '47.804632', '-101.250482', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61732, 'Dunning', 2808, '58760', '701', '48.690313', '-101.256437', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61733, 'Eckman', 2808, '58760', '701', '48.690313', '-101.256437', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61734, 'Maxbass', 2808, '58760', '701', '48.690313', '-101.256437', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61735, 'Westhope', 2808, '58793', '701', '48.873974', '-101.06993', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61736, 'White Earth', 2808, '58794', '701', '48.35023', '-102.802654', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61737, 'Colgan', 2808, '58844', '701', '48.867468', '-103.789935', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61738, 'Fortuna', 2808, '58844', '701', '48.867468', '-103.789935', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61739, 'Ayr', 2808, '58007', '701', '47.021135', '-97.462896', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61740, 'Barney', 2808, '58008', '701', '46.297544', '-96.99926', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61741, 'Mantador', 2808, '58058', '701', '46.181946', '-96.959192', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61742, 'Valley City', 2808, '58072', '701', '46.942368', '-98.007794', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61743, 'Dwight', 2808, '58075', '701', '46.290014', '-96.715204', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61744, 'Galchutt', 2808, '58075', '701', '46.290014', '-96.715204', '2018-11-29 05:08:24', '2018-11-29 05:08:24'),\n(61745, 'Great Bend', 2808, '58075', '701', '46.290014', '-96.715204', '2018-11-29 05:08:25', '2018-11-29 05:08:25');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(61746, 'Wahpeton', 2808, '58075', '701', '46.290014', '-96.715204', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61747, 'Fargo', 2808, '58107', '701', '46.8774', '-96.7895', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61748, 'Fargo', 2808, '58108', '701', '46.8774', '-96.7895', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61749, 'Bank Of The West', 2808, '58124', '701', '46.8774', '-96.7895', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61750, 'Fargo', 2808, '58124', '701', '46.8774', '-96.7895', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61751, 'Fargo', 2808, '58125', '701', '46.9009', '-96.8018', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61752, 'Us Bank', 2808, '58125', '701', '46.9009', '-96.8018', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61753, 'Dahlen', 2808, '58224', '701', '48.165877', '-97.968322', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61754, 'Hannah', 2808, '58239', '701', '48.945904', '-98.737495', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61755, 'Hensel', 2808, '58241', '701', '48.702932', '-97.698631', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61756, 'Mayville', 2808, '58257', '701', '47.497872', '-97.283058', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61757, 'Pisek', 2808, '58273', '701', '48.296618', '-97.698206', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61758, 'Portland', 2808, '58274', '701', '47.498107', '-97.410041', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61759, 'Saint Thomas', 2808, '58276', '701', '48.630538', '-97.428454', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61760, 'Hamberg', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61761, 'Harvey', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61762, 'Heimdal', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61763, 'Manfred', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61764, 'Saundersville', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61765, 'Selz', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61766, 'Wellsburg', 2808, '58341', '701', '47.784491', '-99.747632', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61767, 'Cooperstown', 2808, '58425', '701', '47.470902', '-98.24228', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61768, 'Cooperstwn', 2808, '58425', '701', '47.470902', '-98.24228', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61769, 'Shepard', 2808, '58425', '701', '47.470902', '-98.24228', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61770, 'Fullerton', 2808, '58441', '701', '46.181678', '-98.378386', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61771, 'Maple', 2808, '58441', '701', '46.181678', '-98.378386', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61772, 'Gackle', 2808, '58442', '701', '46.586077', '-99.236684', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61773, 'Grand Rapids', 2808, '58458', '701', '46.377728', '-98.285176', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61774, 'La Moure', 2808, '58458', '701', '46.377728', '-98.285176', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61775, 'Lamoure', 2808, '58458', '701', '46.377728', '-98.285176', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61776, 'Pettibone', 2808, '58475', '701', '47.146784', '-99.555352', '2018-11-29 05:08:25', '2018-11-29 05:08:25'),\n(61777, 'Edmunds', 2808, '58476', '701', '47.190568', '-99.027704', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61778, 'Pingree', 2808, '58476', '701', '47.190568', '-99.027704', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61779, 'Bismarck', 2808, '58507', '701', '46.8085', '-100.7836', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61780, 'Hague', 2808, '58542', '701', '46.080662', '-99.952407', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61781, 'Westfield', 2808, '58542', '701', '46.080662', '-99.952407', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61782, 'Apple Valley', 2808, '58558', '701', '46.815683', '-100.521258', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61783, 'Menoken', 2808, '58558', '701', '46.815683', '-100.521258', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61784, 'Mercer', 2808, '58559', '701', '47.51455', '-100.747814', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61785, 'Alice', 2808, '58031', '701', '46.774722', '-97.684698', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61786, 'Fingal', 2808, '58031', '701', '46.774722', '-97.684698', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61787, 'Englevale', 2808, '58033', '701', '46.43491', '-97.919465', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61788, 'Fort Ransom', 2808, '58033', '701', '46.43491', '-97.919465', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61789, 'Hickson', 2808, '58047', '701', '46.710134', '-96.884475', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61790, 'Horace', 2808, '58047', '701', '46.710134', '-96.884475', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61791, 'Oxbow', 2808, '58047', '701', '46.710134', '-96.884475', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61792, 'Wild Rice', 2808, '58047', '701', '46.710134', '-96.884475', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61793, 'Pillsbury', 2808, '58065', '701', '47.2066', '-97.7904', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61794, 'Rutland', 2808, '58067', '701', '46.08045', '-97.478825', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61795, 'Conway', 2808, '58233', '701', '48.216634', '-97.524806', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61796, 'Forest River', 2808, '58233', '701', '48.216634', '-97.524806', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61797, 'Inkster', 2808, '58233', '701', '48.216634', '-97.524806', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61798, 'Ops', 2808, '58233', '701', '48.216634', '-97.524806', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61799, 'Larimore', 2808, '58251', '701', '47.90424', '-97.698427', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61800, 'Mccanna', 2808, '58251', '701', '47.90424', '-97.698427', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61801, 'Wales', 2808, '58281', '701', '48.924247', '-98.540532', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61802, 'Leroy', 2808, '58282', '701', '48.880836', '-97.946698', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61803, 'Walhalla', 2808, '58282', '701', '48.880836', '-97.946698', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61804, 'Fonda', 2808, '58366', '701', '48.610618', '-99.928202', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61805, 'Nanson', 2808, '58366', '701', '48.610618', '-99.928202', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61806, 'Rolette', 2808, '58366', '701', '48.610618', '-99.928202', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61807, 'Thorne', 2808, '58366', '701', '48.610618', '-99.928202', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61808, 'Warwick', 2808, '58381', '701', '47.867142', '-98.702637', '2018-11-29 05:08:26', '2018-11-29 05:08:26'),\n(61809, 'Wolford', 2808, '58385', '701', '48.458063', '-99.636956', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61810, 'Bloom', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61811, 'Eldridge', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61812, 'Fried', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61813, 'Homer', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61814, 'Jamestown', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61815, 'Jamestwn', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61816, 'Jmst', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61817, 'Lippert', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61818, 'Spiritwood Lake', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61819, 'Sydney', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61820, 'Woodbury', 2808, '58401', '701', '46.90656', '-98.754102', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61821, 'Dickey', 2808, '58431', '701', '46.522171', '-98.474002', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61822, 'Edgeley', 2808, '58433', '701', '46.32074', '-98.77003', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61823, 'Merricourt', 2808, '58433', '701', '46.32074', '-98.77003', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61824, 'Hannaford', 2808, '58448', '701', '47.305142', '-98.17186', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61825, 'Karnak', 2808, '58448', '701', '47.305142', '-98.17186', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61826, 'Revere', 2808, '58448', '701', '47.305142', '-98.17186', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61827, 'Walum', 2808, '58448', '701', '47.305142', '-98.17186', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61828, 'Marion', 2808, '58466', '701', '46.638271', '-98.369199', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61829, 'Streeter', 2808, '58483', '701', '46.638383', '-99.357484', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61830, 'Sutton', 2808, '58484', '701', '47.384662', '-98.45691', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61831, 'Bis', 2808, '58501', '701', '46.822464', '-100.718953', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61832, 'Bismarck', 2808, '58501', '701', '46.822464', '-100.718953', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61833, 'Fallon', 2808, '58535', '701', '46.501602', '-101.206681', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61834, 'Flasher', 2808, '58535', '701', '46.501602', '-101.206681', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61835, 'Freda', 2808, '58535', '701', '46.501602', '-101.206681', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61836, 'Lark', 2808, '58535', '701', '46.501602', '-101.206681', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61837, 'Kintyre', 2808, '58549', '701', '46.458032', '-99.927613', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61838, 'Dickinson', 2808, '58601', '701', '46.841738', '-102.822305', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61839, 'Lehigh', 2808, '58601', '701', '46.841738', '-102.822305', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61840, 'New Hradec', 2808, '58601', '701', '46.841738', '-102.822305', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61841, 'Des Lacs', 2808, '58733', '701', '48.167821', '-101.609226', '2018-11-29 05:08:27', '2018-11-29 05:08:27'),\n(61842, 'Douglas', 2808, '58735', '701', '47.869522', '-101.496814', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61843, 'Grano', 2808, '58750', '701', '48.632558', '-101.451102', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61844, 'Lansford', 2808, '58750', '701', '48.632558', '-101.451102', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61845, 'Lockwood', 2808, '58750', '701', '48.632558', '-101.451102', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61846, 'Lignite', 2808, '58752', '701', '48.821738', '-102.546386', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61847, 'Surrey', 2808, '58785', '701', '48.291267', '-101.100911', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61848, 'Ambrose', 2808, '58833', '701', '48.81647', '-103.587554', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61849, 'Ray', 2808, '58849', '701', '48.321437', '-103.2053', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61850, 'Wheelock', 2808, '58849', '701', '48.321437', '-103.2053', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61851, 'Abercrombie', 2808, '58001', '701', '46.451612', '-96.730948', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61852, 'Casselton', 2808, '58012', '701', '46.948027', '-97.158051', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61853, 'Davenport', 2808, '58021', '701', '46.731582', '-97.067792', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61854, 'Warren', 2808, '58021', '701', '46.731582', '-97.067792', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61855, 'Kindred', 2808, '58051', '701', '46.637621', '-97.043004', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61856, 'Nome', 2808, '58062', '701', '46.63753', '-97.806976', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61857, 'Stirum', 2808, '58069', '701', '46.246913', '-97.830267', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61858, 'Nd State College Of Science', 2808, '58076', '701', '46.273042', '-96.607466', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61859, 'Wahpeton', 2808, '58076', '701', '46.273042', '-96.607466', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61860, 'Fargo', 2808, '58103', '701', '46.854703', '-96.823065', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61861, 'Adams', 2808, '58210', '701', '48.412516', '-98.109767', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61862, 'Grafton', 2808, '58237', '701', '48.397851', '-97.383102', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61863, 'Nash', 2808, '58237', '701', '48.397851', '-97.383102', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61864, 'Inkster', 2808, '58244', '701', '48.115084', '-97.633183', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61865, 'Orr', 2808, '58244', '701', '48.115084', '-97.633183', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61866, 'Fort Totten', 2808, '58335', '701', '47.989614', '-99.028216', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61867, 'Ft Totten', 2808, '58335', '701', '47.989614', '-99.028216', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61868, 'Hansboro', 2808, '58339', '701', '48.909455', '-99.394049', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61869, 'Bartlett', 2808, '58344', '701', '48.013338', '-98.344306', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61870, 'Lakota', 2808, '58344', '701', '48.013338', '-98.344306', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61871, 'Mapes', 2808, '58344', '701', '48.013338', '-98.344306', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61872, 'Nekoma', 2808, '58355', '701', '48.601606', '-98.383402', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61873, 'Jamestown', 2808, '58405', '701', '46.914474', '-98.697198', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61874, 'Jamestown College', 2808, '58405', '701', '46.914474', '-98.697198', '2018-11-29 05:08:28', '2018-11-29 05:08:28'),\n(61875, 'Barlow', 2808, '58421', '701', '47.443029', '-99.033315', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61876, 'Bordulac', 2808, '58421', '701', '47.443029', '-99.033315', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61877, 'Carrington', 2808, '58421', '701', '47.443029', '-99.033315', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61878, 'Dover', 2808, '58421', '701', '47.443029', '-99.033315', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61879, 'Melville', 2808, '58421', '701', '47.443029', '-99.033315', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61880, 'Rose Hill', 2808, '58421', '701', '47.443029', '-99.033315', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61881, 'Denhoff', 2808, '58430', '701', '47.500506', '-100.2555', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61882, 'Goodrich', 2808, '58444', '701', '47.480951', '-100.138935', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61883, 'Tappen', 2808, '58487', '701', '46.820575', '-99.574496', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61884, 'Bismarck', 2808, '58503', '701', '46.910534', '-100.759979', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61885, 'Baldwin', 2808, '58521', '701', '47.026318', '-100.69702', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61886, 'Hazelton', 2808, '58544', '701', '46.521082', '-100.370466', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61887, 'Bentley', 2808, '58562', '701', '46.357533', '-101.888324', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61888, 'New Leipzig', 2808, '58562', '701', '46.357533', '-101.888324', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61889, 'Freda', 2808, '58564', '701', '46.30972', '-101.361666', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61890, 'Raleigh', 2808, '58564', '701', '46.30972', '-101.361666', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61891, 'Saint Gertrude', 2808, '58564', '701', '46.30972', '-101.361666', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61892, 'St Gertrude', 2808, '58564', '701', '46.30972', '-101.361666', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61893, 'Stanton', 2808, '58571', '701', '47.295964', '-101.395911', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61894, 'Zap', 2808, '58580', '701', '47.349592', '-101.939002', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61895, 'Bowman', 2808, '58623', '701', '46.112475', '-103.43186', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61896, 'Buffalo Spg', 2808, '58623', '701', '46.112475', '-103.43186', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61897, 'Buffalo Springs', 2808, '58623', '701', '46.112475', '-103.43186', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61898, 'Griffin', 2808, '58623', '701', '46.112475', '-103.43186', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61899, 'Ladd', 2808, '58623', '701', '46.112475', '-103.43186', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61900, 'Gascoyne', 2808, '58653', '701', '46.112908', '-103.120101', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61901, 'Haley', 2808, '58653', '701', '46.112908', '-103.120101', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61902, 'Scranton', 2808, '58653', '701', '46.112908', '-103.120101', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61903, 'Balfour', 2808, '58712', '701', '48.00735', '-100.54021', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61904, 'Butte', 2808, '58723', '701', '47.789374', '-100.606624', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61905, 'Kief', 2808, '58723', '701', '47.789374', '-100.606624', '2018-11-29 05:08:29', '2018-11-29 05:08:29'),\n(61906, 'Kenaston', 2808, '58746', '701', '48.74905', '-102.125239', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61907, 'Kenmare', 2808, '58746', '701', '48.74905', '-102.125239', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61908, 'Niobe', 2808, '58746', '701', '48.74905', '-102.125239', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61909, 'Norma', 2808, '58746', '701', '48.74905', '-102.125239', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61910, 'Spencer', 2808, '58746', '701', '48.74905', '-102.125239', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61911, 'Battleview', 2808, '58773', '701', '48.576929', '-102.62473', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61912, 'Powers Lake', 2808, '58773', '701', '48.576929', '-102.62473', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61913, 'Powers Lk', 2808, '58773', '701', '48.576929', '-102.62473', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61914, 'Danville', 2810, '03819', '603', '42.927822', '-71.121202', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61915, 'S Danville', 2810, '03819', '603', '42.927822', '-71.121202', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61916, 'So Danville', 2810, '03819', '603', '42.927822', '-71.121202', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61917, 'South Danville', 2810, '03819', '603', '42.927822', '-71.121202', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61918, 'Epping', 2810, '03042', '603', '43.048367', '-71.080035', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61919, 'Cornish Flat', 2810, '03746', '603', '43.4973', '-72.28', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61920, 'Grantham', 2810, '03753', '603', '43.507164', '-72.140142', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61921, 'Hampton Falls', 2810, '03844', '603', '42.931988', '-70.874585', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61922, 'Kingston', 2810, '03848', '603', '42.91035', '-71.061621', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61923, 'Ossipee', 2810, '03864', '603', '43.692116', '-71.113188', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61924, 'Dublin', 2810, '03444', '603', '42.893094', '-72.071884', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61925, 'Marlborough', 2810, '03455', '603', '42.908073', '-72.171202', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61926, 'Monroe', 2810, '03771', '603', '44.274311', '-71.998977', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61927, 'Benton', 2810, '03780', '603', '44.034416', '-71.97741', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61928, 'Pike', 2810, '03780', '603', '44.034416', '-71.97741', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61929, 'Newington', 2810, '03805', '603', '43.2364', '-70.8206', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61930, 'Franklin', 2810, '03235', '603', '43.447034', '-71.675624', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61931, 'Candia', 2810, '03034', '603', '43.070868', '-71.312028', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61932, 'Francestown', 2810, '03043', '603', '42.995706', '-71.816523', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61933, 'Goffstown', 2810, '03045', '603', '43.020926', '-71.570426', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61934, 'Center Conway', 2810, '03813', '603', '44.056045', '-71.053751', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61935, 'Chatham', 2810, '03813', '603', '44.056045', '-71.053751', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61936, 'North Chatham', 2810, '03813', '603', '44.056045', '-71.053751', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61937, 'South Chatham', 2810, '03813', '603', '44.056045', '-71.053751', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61938, 'Dover', 2810, '03820', '603', '43.187031', '-70.89452', '2018-11-29 05:08:30', '2018-11-29 05:08:30'),\n(61939, 'Hudson', 2810, '03051', '603', '42.761768', '-71.412573', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61940, 'Nashua', 2810, '03060', '603', '42.734521', '-71.462396', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61941, 'Nashua', 2810, '03062', '603', '42.730416', '-71.494756', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61942, 'Windham', 2810, '03087', '603', '42.805495', '-71.301507', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61943, 'Landaff', 2810, '03585', '603', '44.213816', '-71.890048', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61944, 'Lisbon', 2810, '03585', '603', '44.213816', '-71.890048', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61945, 'Lyman', 2810, '03585', '603', '44.213816', '-71.890048', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61946, 'E Lempster', 2810, '03605', '603', '43.230467', '-72.241716', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61947, 'East Lempster', 2810, '03605', '603', '43.230467', '-72.241716', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61948, 'Lempster', 2810, '03605', '603', '43.230467', '-72.241716', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61949, 'Thornton', 2810, '03285', '603', '43.951748', '-71.621646', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61950, 'Sutton', 2810, '03287', '603', '43.44176', '-71.924811', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61951, 'Wilmot', 2810, '03287', '603', '43.44176', '-71.924811', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61952, 'Wilmot Flat', 2810, '03287', '603', '43.44176', '-71.924811', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61953, 'Spofford', 2810, '03462', '603', '42.892796', '-72.403298', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61954, 'Gilmanton', 2810, '03237', '603', '43.431766', '-71.39466', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61955, 'Deering', 2810, '03244', '603', '43.119581', '-71.929596', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61956, 'Hillsboro', 2810, '03244', '603', '43.119581', '-71.929596', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61957, 'Hillsborough', 2810, '03244', '603', '43.119581', '-71.929596', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61958, 'Windsor', 2810, '03244', '603', '43.119581', '-71.929596', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61959, 'Lincoln', 2810, '03251', '603', '44.089538', '-71.58538', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61960, 'N Woodstock', 2810, '03262', '603', '44.023488', '-71.73271', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61961, 'North Woodstock', 2810, '03262', '603', '44.023488', '-71.73271', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61962, 'Sanbornton', 2810, '03269', '603', '43.537378', '-71.603022', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61963, 'Lancaster', 2810, '03584', '603', '44.500107', '-71.544682', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61964, 'Northumberland', 2810, '03584', '603', '44.500107', '-71.544682', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61965, 'Carroll', 2810, '03598', '603', '44.328802', '-71.571167', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61966, 'Dalton', 2810, '03598', '603', '44.328802', '-71.571167', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61967, 'Whitefield', 2810, '03598', '603', '44.328802', '-71.571167', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61968, 'Acworth', 2810, '03601', '603', '43.235372', '-72.295949', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61969, 'Enfield Center', 2810, '03749', '603', '43.5903', '-72.1117', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61970, 'Enfield Ctr', 2810, '03749', '603', '43.5903', '-72.1117', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61971, 'Etna', 2810, '03750', '603', '43.713165', '-72.208081', '2018-11-29 05:08:31', '2018-11-29 05:08:31'),\n(61972, 'Lyme', 2810, '03768', '603', '43.82212', '-72.116288', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61973, 'Madison', 2810, '03849', '603', '43.903793', '-71.101791', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61974, 'Melvin Village', 2810, '03850', '603', '43.6887', '-71.3049', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61975, 'Melvin Vlg', 2810, '03850', '603', '43.6887', '-71.3049', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61976, 'Milton', 2810, '03851', '603', '43.440423', '-71.023648', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61977, 'Milton Mills', 2810, '03852', '603', '43.509859', '-70.976413', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61978, 'Hancock', 2810, '03449', '603', '42.975414', '-71.996236', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61979, 'Sunapee', 2810, '03782', '603', '43.384718', '-72.087607', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61980, 'W Lebanon', 2810, '03784', '603', '43.645133', '-72.293325', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61981, 'West Lebanon', 2810, '03784', '603', '43.645133', '-72.293325', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61982, 'Portsmouth', 2810, '03802', '603', '43.0719', '-70.7632', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61983, 'Elkins', 2810, '03233', '603', '43.440729', '-71.952829', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61984, 'Gilford', 2810, '03247', '603', '43.5478', '-71.4074', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61985, 'Laconia', 2810, '03247', '603', '43.5478', '-71.4074', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61986, 'Lakeport', 2810, '03247', '603', '43.5478', '-71.4074', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61987, 'Weirs Beach', 2810, '03247', '603', '43.5478', '-71.4074', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61988, 'Dorchester', 2810, '03266', '603', '43.811561', '-71.8838', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61989, 'Ellsworth', 2810, '03266', '603', '43.811561', '-71.8838', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61990, 'Groton', 2810, '03266', '603', '43.811561', '-71.8838', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61991, 'Rumney', 2810, '03266', '603', '43.811561', '-71.8838', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61992, 'Rochester', 2810, '03866', '603', '43.2756', '-70.9891', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61993, 'S Tamworth', 2810, '03883', '603', '43.809042', '-71.300205', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61994, 'So Tamworth', 2810, '03883', '603', '43.809042', '-71.300205', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61995, 'South Tamworth', 2810, '03883', '603', '43.809042', '-71.300205', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61996, 'Stratham', 2810, '03885', '603', '43.014556', '-70.90049', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61997, 'Rye Beach', 2810, '03871', '603', '42.9768', '-70.7664', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61998, 'Somersworth', 2810, '03878', '603', '43.255458', '-70.882996', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(61999, 'Wolfeboro Falls', 2810, '03896', '603', '43.5919', '-71.2062', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(62000, 'Wolfeboro Fls', 2810, '03896', '603', '43.5919', '-71.2062', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(62001, 'Portsmouth', 2810, '03805', '603', '43.2364', '-70.8206', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(62002, 'Center Ossipee', 2810, '03814', '603', '43.771493', '-71.156069', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(62003, 'Ctr Ossipee', 2810, '03814', '603', '43.771493', '-71.156069', '2018-11-29 05:08:32', '2018-11-29 05:08:32'),\n(62004, 'Gilmanton Iron Works', 2810, '03837', '603', '43.418512', '-71.30629', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62005, 'Gilmanton Iw', 2810, '03837', '603', '43.418512', '-71.30629', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62006, 'Brookline', 2810, '03033', '603', '42.749144', '-71.673254', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62007, 'Dunbarton', 2810, '03046', '603', '43.106693', '-71.589231', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62008, 'Greenville', 2810, '03048', '603', '42.751118', '-71.761631', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62009, 'Mason', 2810, '03048', '603', '42.751118', '-71.761631', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62010, 'Lyndeboro', 2810, '03082', '603', '42.904431', '-71.777397', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62011, 'Lyndeborough', 2810, '03082', '603', '42.904431', '-71.777397', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62012, 'Waterville Valley', 2810, '03215', '603', '43.946288', '-71.465305', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62013, 'Waterville Vly', 2810, '03215', '603', '43.946288', '-71.465305', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62014, 'Washington', 2810, '03280', '603', '43.183888', '-72.093824', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62015, 'Weare', 2810, '03281', '603', '43.08451', '-71.72227', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62016, 'Center Strafford', 2810, '03815', '603', '43.264863', '-71.106932', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62017, 'Ctr Strafford', 2810, '03815', '603', '43.264863', '-71.106932', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62018, 'North Hampton', 2810, '03862', '603', '42.979401', '-70.829484', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62019, 'Concord', 2810, '03301', '603', '43.230539', '-71.547977', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62020, 'Boscawen', 2810, '03303', '603', '43.301354', '-71.677846', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62021, 'Concord', 2810, '03303', '603', '43.301354', '-71.677846', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62022, 'Penacook', 2810, '03303', '603', '43.301354', '-71.677846', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62023, 'Webster', 2810, '03303', '603', '43.301354', '-71.677846', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62024, 'Keene', 2810, '03435', '603', '42.9337', '-72.2794', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62025, 'Keene State College', 2810, '03435', '603', '42.9337', '-72.2794', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62026, 'E Swanzey', 2810, '03446', '603', '42.854928', '-72.289486', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62027, 'East Swanzey', 2810, '03446', '603', '42.854928', '-72.289486', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62028, 'Swanzey', 2810, '03446', '603', '42.854928', '-72.289486', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62029, 'Swanzey Center', 2810, '03446', '603', '42.854928', '-72.289486', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62030, 'Swanzey Ctr', 2810, '03446', '603', '42.854928', '-72.289486', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62031, 'W Swanzey', 2810, '03469', '603', '42.8602', '-72.3146', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62032, 'West Swanzey', 2810, '03469', '603', '42.8602', '-72.3146', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62033, 'Air National Guard', 2810, '03803', '603', '43.0719', '-70.7632', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62034, 'Portsmouth', 2810, '03803', '603', '43.0719', '-70.7632', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62035, 'Center Harbor', 2810, '03226', '603', '43.707722', '-71.494429', '2018-11-29 05:08:33', '2018-11-29 05:08:33'),\n(62036, 'Centre Harbor', 2810, '03226', '603', '43.707722', '-71.494429', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62037, 'Ctr Harbor', 2810, '03226', '603', '43.707722', '-71.494429', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62038, 'N Sutton', 2810, '03260', '603', '43.358426', '-71.91981', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62039, 'North Sutton', 2810, '03260', '603', '43.358426', '-71.91981', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62040, 'Tuftonboro', 2810, '03894', '603', '43.59269', '-71.160274', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62041, 'Wolfeboro', 2810, '03894', '603', '43.59269', '-71.160274', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62042, 'Durham', 2810, '03824', '603', '43.12217', '-70.922457', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62043, 'Lee', 2810, '03824', '603', '43.12217', '-70.922457', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62044, 'Barrington', 2810, '03825', '603', '43.210674', '-71.049228', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62045, 'E Kingston', 2810, '03827', '603', '42.911426', '-70.974654', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62046, 'East Kingston', 2810, '03827', '603', '42.911426', '-70.974654', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62047, 'S Hampton', 2810, '03827', '603', '42.911426', '-70.974654', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62048, 'So Hampton', 2810, '03827', '603', '42.911426', '-70.974654', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62049, 'South Hampton', 2810, '03827', '603', '42.911426', '-70.974654', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62050, 'Hampstead', 2810, '03841', '603', '42.882721', '-71.176319', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62051, 'Bartlett', 2810, '03812', '603', '44.11856', '-71.282343', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62052, 'Harts Lctn', 2810, '03812', '603', '44.11856', '-71.282343', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62053, 'Harts Location', 2810, '03812', '603', '44.11856', '-71.282343', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62054, 'Dover', 2810, '03821', '603', '43.1921', '-70.8804', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62055, 'E Wakefield', 2810, '03830', '603', '43.641056', '-70.999979', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62056, 'East Wakefield', 2810, '03830', '603', '43.641056', '-70.999979', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62057, 'Wakefield', 2810, '03830', '603', '43.641056', '-70.999979', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62058, 'Gonic', 2810, '03839', '603', '43.257062', '-70.983824', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62059, 'Rochester', 2810, '03839', '603', '43.257062', '-70.983824', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62060, 'Mount Washington', 2810, '03589', '603', '44.285464', '-71.297867', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62061, 'Mt Washington', 2810, '03589', '603', '44.285464', '-71.297867', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62062, 'Charlestown', 2810, '03603', '603', '43.247994', '-72.376191', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62063, 'Unity', 2810, '03603', '603', '43.247994', '-72.376191', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62064, 'Hanover', 2810, '03755', '603', '43.716069', '-72.197482', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62065, 'Lyme Center', 2810, '03769', '603', '43.7995', '-72.1234', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62066, 'Jackson', 2810, '03846', '603', '44.182909', '-71.203438', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62067, 'Mirror Lake', 2810, '03853', '603', '43.639854', '-71.292992', '2018-11-29 05:08:34', '2018-11-29 05:08:34'),\n(62068, 'New Durham', 2810, '03855', '603', '43.464286', '-71.144355', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62069, 'N Hampton', 2810, '03862', '603', '42.979401', '-70.829484', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62070, 'No Hampton', 2810, '03862', '603', '42.979401', '-70.829484', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62071, 'Jefferson', 2810, '03583', '603', '44.396893', '-71.433988', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62072, 'Northumberland', 2810, '03583', '603', '44.396893', '-71.433988', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62073, 'Enfield', 2810, '03748', '603', '43.617534', '-72.114808', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62074, 'Georges Mills', 2810, '03751', '603', '43.443099', '-72.08594', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62075, 'Plaistow', 2810, '03865', '603', '42.84281', '-71.094632', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62076, 'Brm J Jill', 2810, '03298', '603', '43.629', '-71.4937', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62077, 'J Jill', 2810, '03298', '603', '43.629', '-71.4937', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62078, 'J Jill Brm', 2810, '03298', '603', '43.629', '-71.4937', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62079, 'Tilton', 2810, '03298', '603', '43.629', '-71.4937', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62080, 'J Jill', 2810, '03299', '603', '43.629', '-71.4937', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62081, 'Tilton', 2810, '03299', '603', '43.629', '-71.4937', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62082, 'Fitzwilliam', 2810, '03447', '603', '42.763853', '-72.138326', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62083, 'Harrisville', 2810, '03450', '603', '42.948505', '-72.083544', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62084, 'Hinsdale', 2810, '03451', '603', '42.792334', '-72.501135', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62085, 'Stoddard', 2810, '03464', '603', '43.073046', '-72.117453', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62086, 'Westmoreland', 2810, '03467', '603', '42.973622', '-72.443608', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62087, 'Newington', 2810, '03801', '603', '43.067485', '-70.799837', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62088, 'Portsmouth', 2810, '03801', '603', '43.067485', '-70.799837', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62089, 'Gorham', 2810, '03581', '603', '44.394966', '-71.131572', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62090, 'Shelburne', 2810, '03581', '603', '44.394966', '-71.131572', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62091, 'Groveton', 2810, '03582', '603', '44.588774', '-71.439562', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62092, 'Northumberland', 2810, '03582', '603', '44.588774', '-71.439562', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62093, 'Northumberlnd', 2810, '03582', '603', '44.588774', '-71.439562', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62094, 'Stark', 2810, '03582', '603', '44.588774', '-71.439562', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62095, 'Auburn', 2810, '03032', '603', '42.988876', '-71.345832', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62096, 'Nashua', 2810, '03063', '603', '42.771339', '-71.52696', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62097, 'Nashua', 2810, '03064', '603', '42.782582', '-71.472035', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62098, 'Rollinsford', 2810, '03869', '603', '43.220254', '-70.841662', '2018-11-29 05:08:35', '2018-11-29 05:08:35'),\n(62099, 'Sandown', 2810, '03873', '603', '42.930898', '-71.184447', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62100, 'Middleton', 2810, '03887', '603', '43.476354', '-71.055156', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62101, 'Union', 2810, '03887', '603', '43.476354', '-71.055156', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62102, 'E Rochester', 2810, '03868', '603', '43.345266', '-70.945629', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62103, 'East Rochester', 2810, '03868', '603', '43.345266', '-70.945629', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62104, 'Rochester', 2810, '03868', '603', '43.345266', '-70.945629', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62105, 'Effingham', 2810, '03882', '603', '43.737247', '-71.04959', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62106, 'S Effingham', 2810, '03882', '603', '43.737247', '-71.04959', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62107, 'So Effingham', 2810, '03882', '603', '43.737247', '-71.04959', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62108, 'South Effingham', 2810, '03882', '603', '43.737247', '-71.04959', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62109, 'Strafford', 2810, '03884', '603', '43.281412', '-71.145228', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62110, 'Merrimack', 2810, '03054', '603', '42.851797', '-71.514782', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62111, 'Raymond', 2810, '03077', '603', '43.032011', '-71.196046', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62112, 'Manchester', 2810, '03109', '603', '42.969391', '-71.404463', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62113, 'Warren', 2810, '03279', '603', '43.941936', '-71.876458', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62114, 'W Stewartstown', 2810, '03597', '603', '44.9955', '-71.5318', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62115, 'W Stewartstwn', 2810, '03597', '603', '44.9955', '-71.5318', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62116, 'West Stewartstown', 2810, '03597', '603', '44.9955', '-71.5318', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62117, 'Alstead', 2810, '03602', '603', '43.129196', '-72.32847', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62118, 'Alstead Center', 2810, '03602', '603', '43.129196', '-72.32847', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62119, 'East Alstead', 2810, '03602', '603', '43.129196', '-72.32847', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62120, 'Langdon', 2810, '03602', '603', '43.129196', '-72.32847', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62121, 'Drewsville', 2810, '03604', '603', '43.1281', '-72.3928', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62122, 'Guild', 2810, '03754', '603', '43.3769', '-72.1388', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62123, 'Intervale', 2810, '03845', '603', '44.175944', '-71.097862', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62124, 'New Castle', 2810, '03854', '603', '43.064182', '-70.722702', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62125, 'Newcastle', 2810, '03854', '603', '43.064182', '-70.722702', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62126, 'Lee', 2810, '03861', '603', '43.126468', '-71.013397', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62127, 'Woodstock', 2810, '03293', '603', '43.9778', '-71.6858', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62128, 'Concord', 2810, '03302', '603', '43.2084', '-71.5381', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62129, 'Jaffrey', 2810, '03452', '603', '42.831569', '-72.05867', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62130, 'W Peterboro', 2810, '03468', '603', '42.8872', '-71.9856', '2018-11-29 05:08:36', '2018-11-29 05:08:36'),\n(62131, 'W Peterborough', 2810, '03468', '603', '42.8872', '-71.9856', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62132, 'West Peterborough', 2810, '03468', '603', '42.8872', '-71.9856', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62133, 'Richmond', 2810, '03470', '603', '42.785358', '-72.332757', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62134, 'Meriden', 2810, '03770', '603', '43.529578', '-72.273968', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62135, 'Piermont', 2810, '03779', '603', '43.972213', '-72.037981', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62136, 'Hill', 2810, '03243', '603', '43.529346', '-71.755619', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62137, 'Winchester', 2810, '03470', '603', '42.785358', '-72.332757', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62138, 'Littleton', 2810, '03561', '603', '44.339116', '-71.81258', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62139, 'Brookfield', 2810, '03872', '603', '43.584992', '-71.038237', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62140, 'Sanbornville', 2810, '03872', '603', '43.584992', '-71.038237', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62141, 'Haverhill', 2810, '03765', '603', '44.038149', '-72.05375', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62142, 'Lebanon', 2810, '03766', '603', '43.63502', '-72.231933', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62143, 'Keene', 2810, '03431', '603', '42.976078', '-72.276523', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62144, 'N Swanzey', 2810, '03431', '603', '42.976078', '-72.276523', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62145, 'North Swanzey', 2810, '03431', '603', '42.976078', '-72.276523', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62146, 'Roxbury', 2810, '03431', '603', '42.976078', '-72.276523', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62147, 'Surry', 2810, '03431', '603', '42.976078', '-72.276523', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62148, 'Gilsum', 2810, '03448', '603', '43.033614', '-72.248706', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62149, 'Troy', 2810, '03465', '603', '42.831982', '-72.189194', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62150, 'W Chesterfield', 2810, '03466', '603', '42.894234', '-72.512886', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62151, 'W Chesterfld', 2810, '03466', '603', '42.894234', '-72.512886', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62152, 'West Chesterfield', 2810, '03466', '603', '42.894234', '-72.512886', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62153, 'Benton', 2810, '03785', '603', '44.083606', '-71.900509', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62154, 'Easton', 2810, '03785', '603', '44.083606', '-71.900509', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62155, 'Landaff', 2810, '03785', '603', '44.083606', '-71.900509', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62156, 'Woodsville', 2810, '03785', '603', '44.083606', '-71.900509', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62157, 'Danbury', 2810, '03230', '603', '43.532163', '-71.85164', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62158, 'E Andover', 2810, '03231', '603', '43.4783', '-71.7646', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62159, 'Center Tuftonboro', 2810, '03816', '603', '43.702431', '-71.257197', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62160, 'Ctr Tuftnboro', 2810, '03816', '603', '43.702431', '-71.257197', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62161, 'Ctr Tuftonboro', 2810, '03816', '603', '43.702431', '-71.257197', '2018-11-29 05:08:37', '2018-11-29 05:08:37'),\n(62162, 'Tuftonboro', 2810, '03816', '603', '43.702431', '-71.257197', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62163, 'Chocorua', 2810, '03817', '603', '43.879702', '-71.229114', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62164, 'Albany', 2810, '03818', '603', '43.966632', '-71.236342', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62165, 'Conway', 2810, '03818', '603', '43.966632', '-71.236342', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62166, 'Eaton', 2810, '03832', '603', '43.909399', '-71.046855', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62167, 'Eaton Center', 2810, '03832', '603', '43.909399', '-71.046855', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62168, 'Eaton Ctr', 2810, '03832', '603', '43.909399', '-71.046855', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62169, 'Brentwood', 2810, '03833', '603', '42.961445', '-70.987972', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62170, 'Exeter', 2810, '03833', '603', '42.961445', '-70.987972', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62171, 'Kensington', 2810, '03833', '603', '42.961445', '-70.987972', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62172, 'Farmington', 2810, '03835', '603', '43.362176', '-71.074979', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62173, 'Derry', 2810, '03038', '603', '42.890934', '-71.276314', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62174, 'Londonderry', 2810, '03038', '603', '42.890934', '-71.276314', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62175, 'E Derry', 2810, '03041', '603', '42.8946', '-71.2917', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62176, 'East Derry', 2810, '03041', '603', '42.8946', '-71.2917', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62177, 'N Salem', 2810, '03073', '603', '42.8368', '-71.2213', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62178, 'No Salem', 2810, '03073', '603', '42.8368', '-71.2213', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62179, 'North Salem', 2810, '03073', '603', '42.8368', '-71.2213', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62180, 'Manchester', 2810, '03108', '603', '42.9956', '-71.4556', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62181, 'Stinson Lake', 2810, '03274', '603', '43.8614', '-71.8088', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62182, 'Rochester', 2810, '03867', '603', '43.301315', '-70.992932', '2018-11-29 05:08:38', '2018-11-29 05:08:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(62183, 'Randolph', 2810, '03593', '603', '44.373208', '-71.29162', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62184, 'S Acworth', 2810, '03607', '603', '43.189457', '-72.285396', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62185, 'So Acworth', 2810, '03607', '603', '43.189457', '-72.285396', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62186, 'South Acworth', 2810, '03607', '603', '43.189457', '-72.285396', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62187, 'Canaan', 2810, '03741', '603', '43.673746', '-72.017378', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62188, 'Orange', 2810, '03741', '603', '43.673746', '-72.017378', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62189, 'Claremont', 2810, '03743', '603', '43.346392', '-72.32987', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62190, 'Unity', 2810, '03743', '603', '43.346392', '-72.32987', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62191, 'Newton', 2810, '03858', '603', '42.865368', '-71.042977', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62192, 'Newton Jct', 2810, '03859', '603', '42.8672', '-71.0666', '2018-11-29 05:08:38', '2018-11-29 05:08:38'),\n(62193, 'Newton Junction', 2810, '03859', '603', '42.8672', '-71.0666', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62194, 'W Nottingham', 2810, '03291', '603', '43.141561', '-71.129738', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62195, 'West Nottingham', 2810, '03291', '603', '43.141561', '-71.129738', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62196, 'Concord', 2810, '03305', '603', '43.2084', '-71.5381', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62197, 'Nh Dept Of Safety', 2810, '03305', '603', '43.2084', '-71.5381', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62198, 'Ashuelot', 2810, '03441', '603', '42.796992', '-72.435504', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62199, 'Bennington', 2810, '03442', '603', '43.018146', '-71.90897', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62200, 'Orford', 2810, '03777', '603', '43.897671', '-72.059934', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62201, 'Bristol', 2810, '03222', '603', '43.61801', '-71.780073', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62202, 'Campton', 2810, '03223', '603', '43.97417', '-71.580686', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62203, 'Ellsworth', 2810, '03223', '603', '43.97417', '-71.580686', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62204, 'Thornton', 2810, '03223', '603', '43.97417', '-71.580686', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62205, 'Grafton', 2810, '03240', '603', '43.576671', '-71.966769', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62206, 'E Hebron', 2810, '03241', '603', '43.721684', '-71.833959', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62207, 'East Hebron', 2810, '03241', '603', '43.721684', '-71.833959', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62208, 'Groton', 2810, '03241', '603', '43.721684', '-71.833959', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62209, 'Hebron', 2810, '03241', '603', '43.721684', '-71.833959', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62210, 'Chichester', 2810, '03258', '603', '43.257332', '-71.401446', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62211, 'North Chichester', 2810, '03258', '603', '43.257332', '-71.401446', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62212, 'S Newbury', 2810, '03272', '603', '43.2956', '-71.9974', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62213, 'South Newbury', 2810, '03272', '603', '43.2956', '-71.9974', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62214, 'Bretton Woods', 2810, '03575', '603', '44.2582', '-71.4419', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62215, 'Silver Lake', 2810, '03875', '603', '43.877824', '-71.185722', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62216, 'W Ossipee', 2810, '03890', '603', '43.82649', '-71.200206', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62217, 'West Ossipee', 2810, '03890', '603', '43.82649', '-71.200206', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62218, 'Sugar Hill', 2810, '03586', '603', '44.22007', '-71.801762', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62219, 'Goshen', 2810, '03752', '603', '43.294629', '-72.112866', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62220, 'Dartmouth Hitchcock Med Ctr', 2810, '03756', '603', '43.7029', '-72.2895', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62221, 'Lebanon', 2810, '03756', '603', '43.7029', '-72.2895', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62222, 'Kearsarge', 2810, '03847', '603', '44.0756', '-71.1182', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62223, 'Chesterfield', 2810, '03443', '603', '42.889321', '-72.451866', '2018-11-29 05:08:39', '2018-11-29 05:08:39'),\n(62224, 'E Sullivan', 2810, '03445', '603', '43.011137', '-72.217028', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62225, 'East Sullivan', 2810, '03445', '603', '43.011137', '-72.217028', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62226, 'Nelson', 2810, '03445', '603', '43.011137', '-72.217028', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62227, 'Sullivan', 2810, '03445', '603', '43.011137', '-72.217028', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62228, 'Portsmouth', 2810, '03804', '603', '43.0719', '-70.7632', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62229, 'Contoocook', 2810, '03229', '603', '43.199734', '-71.691493', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62230, 'Hopkinton', 2810, '03229', '603', '43.199734', '-71.691493', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62231, 'Epsom', 2810, '03234', '603', '43.216107', '-71.341322', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62232, 'Holderness', 2810, '03245', '603', '43.74434', '-71.598562', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62233, 'Salisbury', 2810, '03268', '603', '43.380666', '-71.729532', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62234, 'Barnstead', 2810, '03218', '603', '43.31192', '-71.248688', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62235, 'Atkinson', 2810, '03811', '603', '42.839256', '-71.161078', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62236, 'Freedom', 2810, '03836', '603', '43.830852', '-71.08649', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62237, 'Tamworth', 2810, '03886', '603', '43.872217', '-71.283678', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62238, 'Manhattan', 2814, '10270', '212', '40.7053', '-74.0068', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62239, 'New York', 2814, '10270', '212', '40.7053', '-74.0068', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62240, 'New York', 2814, '10272', '212', '40.7143', '-74.0067', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62241, 'Manhattan', 2814, '10279', '212', '40.713061', '-74.008557', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62242, 'New York', 2814, '10279', '212', '40.713061', '-74.008557', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62243, 'New York City', 2814, '10279', '212', '40.713061', '-74.008557', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62244, 'Ny', 2814, '10279', '212', '40.713061', '-74.008557', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62245, 'Ny City', 2814, '10279', '212', '40.713061', '-74.008557', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62246, 'Nyc', 2814, '10279', '212', '40.713061', '-74.008557', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62247, 'Manhattan', 2814, '10281', '212', '40.7058', '-74.0186', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62248, 'New York', 2814, '10281', '212', '40.7058', '-74.0186', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62249, 'New York City', 2814, '10281', '212', '40.7058', '-74.0186', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62250, 'Ny', 2814, '10281', '212', '40.7058', '-74.0186', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62251, 'Ny City', 2814, '10281', '212', '40.7058', '-74.0186', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62252, 'Nyc', 2814, '10281', '212', '40.7058', '-74.0186', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62253, 'Bear Stearns', 2814, '10179', '212', '40.7143', '-74.0067', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62254, 'New York', 2814, '10179', '212', '40.7143', '-74.0067', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62255, 'Business Reply', 2814, '10213', '212', '40.7143', '-74.0067', '2018-11-29 05:08:40', '2018-11-29 05:08:40'),\n(62256, 'Canal Street', 2814, '10213', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62257, 'New York', 2814, '10213', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62258, 'Manhattan', 2814, '10120', '212', '40.7487', '-73.9862', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62259, 'New York', 2814, '10120', '212', '40.7487', '-73.9862', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62260, 'New York City', 2814, '10120', '212', '40.7487', '-73.9862', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62261, 'New York', 2814, '10163', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62262, 'New York City', 2814, '10163', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62263, 'Ny', 2814, '10163', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62264, 'Ny City', 2814, '10163', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62265, 'Nyc', 2814, '10163', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62266, 'New York', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62267, 'New York City', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62268, 'Ny', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62269, 'Ny City', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62270, 'Nyc', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62271, 'S Pole', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62272, 'Santa Claus', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62273, 'So Pole', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62274, 'South Pole', 2814, '10090', '212', '40.7108', '-74.0001', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62275, 'Ny', 2814, '10120', '212', '40.7487', '-73.9862', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62276, 'Ny City', 2814, '10120', '212', '40.7487', '-73.9862', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62277, 'Nyc', 2814, '10120', '212', '40.7487', '-73.9862', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62278, 'New York', 2814, '10129', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62279, 'New York City', 2814, '10129', '212', '40.7143', '-74.0067', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62280, 'Spencer', 2815, '44275', '330', '41.096498', '-82.092097', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62281, 'Akron', 2815, '44314', '330', '41.041584', '-81.557646', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62282, 'Kenmore', 2815, '44314', '330', '41.041584', '-81.557646', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62283, 'Ellsworth', 2815, '44416', '330', '41.0245', '-80.8576', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62284, 'Hubbard', 2815, '44425', '330', '41.169074', '-80.584133', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62285, 'Negley', 2815, '44441', '330', '40.766132', '-80.563596', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62286, 'Greene', 2815, '44450', '330', '41.454686', '-80.81057', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62287, 'Lockwood', 2815, '44450', '330', '41.454686', '-80.81057', '2018-11-29 05:08:41', '2018-11-29 05:08:41'),\n(62288, 'N Bloomfield', 2815, '44450', '330', '41.454686', '-80.81057', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62289, 'North Bloomfield', 2815, '44450', '330', '41.454686', '-80.81057', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62290, 'Oakfield', 2815, '44450', '330', '41.454686', '-80.81057', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62291, 'Youngstown', 2815, '44507', '330', '41.074065', '-80.65503', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62292, 'Canal Fulton', 2815, '44614', '330', '40.883406', '-81.5899', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62293, 'Lawrence', 2815, '44614', '330', '40.883406', '-81.5899', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62294, 'New Franklin', 2815, '44614', '330', '40.883406', '-81.5899', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62295, 'E Rochester', 2815, '44625', '330', '40.754319', '-81.004598', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62296, 'East Rochester', 2815, '44625', '330', '40.754319', '-81.004598', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62297, 'New Alexander', 2815, '44625', '330', '40.754319', '-81.004598', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62298, 'Congress Lake', 2815, '44632', '330', '40.969796', '-81.310557', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62299, 'Hartville', 2815, '44632', '330', '40.969796', '-81.310557', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62300, 'Leesville', 2815, '44639', '740', '40.4517', '-81.2124', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62301, 'Bayard', 2815, '44657', '330', '40.740332', '-81.099632', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62302, 'Chambersburg', 2815, '44657', '330', '40.740332', '-81.099632', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62303, 'Minerva', 2815, '44657', '330', '40.740332', '-81.099632', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62304, 'Moultrie', 2815, '44657', '330', '40.740332', '-81.099632', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62305, 'Pattersonville', 2815, '44657', '330', '40.740332', '-81.099632', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62306, 'Pekin', 2815, '44657', '330', '40.740332', '-81.099632', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62307, 'East Greenville', 2815, '44666', '330', '40.837486', '-81.642322', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62308, 'N Lawrence', 2815, '44666', '330', '40.837486', '-81.642322', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62309, 'North Lawrence', 2815, '44666', '330', '40.837486', '-81.642322', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62310, 'Canton', 2815, '44707', '330', '40.763042', '-81.35096', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62311, 'N Industry', 2815, '44707', '330', '40.763042', '-81.35096', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62312, 'North Industry', 2815, '44707', '330', '40.763042', '-81.35096', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62313, 'Waco', 2815, '44707', '330', '40.763042', '-81.35096', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62314, 'Canton', 2815, '44709', '330', '40.838662', '-81.393706', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62315, 'North Canton', 2815, '44709', '330', '40.838662', '-81.393706', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62316, 'Canton', 2815, '44750', '330', '40.7987', '-81.3788', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62317, 'Consumer Direct Inc', 2815, '44750', '330', '40.7987', '-81.3788', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62318, 'Lucas', 2815, '44843', '419', '40.69363', '-82.408673', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62319, 'Cleves', 2815, '45002', '513', '39.205838', '-84.730945', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62320, 'Elizabethtown', 2815, '45052', '513', '39.144898', '-84.75362', '2018-11-29 05:08:42', '2018-11-29 05:08:42'),\n(62321, 'North Bend', 2815, '45052', '513', '39.144898', '-84.75362', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62322, 'Springboro', 2815, '45066', '937', '39.547572', '-84.223834', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62323, 'Amelia', 2815, '45102', '513', '39.014958', '-84.201598', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62324, 'Hamlet', 2815, '45102', '513', '39.014958', '-84.201598', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62325, 'Lindale', 2815, '45102', '513', '39.014958', '-84.201598', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62326, 'Day Heights', 2815, '45150', '513', '39.162818', '-84.231321', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62327, 'Milford', 2815, '45150', '513', '39.162818', '-84.231321', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62328, 'Mt Repose', 2815, '45150', '513', '39.162818', '-84.231321', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62329, 'Morrow', 2815, '45152', '513', '39.340999', '-84.113542', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62330, 'Russellville', 2815, '45168', '937', '38.848697', '-83.766026', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62331, 'Cincinnati', 2815, '45202', '513', '39.109438', '-84.488499', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62332, 'Cincinnati', 2815, '45209', '513', '39.154838', '-84.427602', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62333, 'Oakley', 2815, '45209', '513', '39.154838', '-84.427602', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62334, 'Cincinnati', 2815, '45218', '513', '39.26616', '-84.520034', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62335, 'Parkdale', 2815, '45218', '513', '39.26616', '-84.520034', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62336, 'Camp Washington', 2815, '45225', '513', '39.143208', '-84.548578', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62337, 'Cincinnati', 2815, '45225', '513', '39.143208', '-84.548578', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62338, 'Blue Ash', 2815, '45241', '513', '39.274287', '-84.395428', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62339, 'Cincinnati', 2815, '45241', '513', '39.274287', '-84.395428', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62340, 'Evendale', 2815, '45241', '513', '39.274287', '-84.395428', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62341, 'Sharonville', 2815, '45241', '513', '39.274287', '-84.395428', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62342, 'West Chester', 2815, '45241', '513', '39.274287', '-84.395428', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62343, 'Cincinnati', 2815, '45252', '513', '39.273208', '-84.634265', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62344, 'Colerain Township', 2815, '45252', '513', '39.273208', '-84.634265', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62345, 'Colerain Twp', 2815, '45252', '513', '39.273208', '-84.634265', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62346, 'Cincinnati', 2815, '45277', '513', '39.1616', '-84.4569', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62347, 'Fidelity Investments', 2815, '45277', '513', '39.1616', '-84.4569', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62348, 'Brookville', 2815, '45309', '937', '39.840042', '-84.410794', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62349, 'Covington', 2815, '45318', '937', '40.131495', '-84.336358', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62350, 'Eaton', 2815, '45320', '937', '39.741333', '-84.670675', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62351, 'Farmersville', 2815, '45325', '937', '39.701317', '-84.413894', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62352, 'Germantown', 2815, '45325', '937', '39.701317', '-84.413894', '2018-11-29 05:08:43', '2018-11-29 05:08:43'),\n(62353, 'Kettlersville', 2815, '45336', '937', '40.439268', '-84.262542', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62354, 'Palestine', 2815, '45352', '937', '40.049941', '-84.745129', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62355, 'Potsdam', 2815, '45361', '937', '39.9634', '-84.4175', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62356, 'Vandalia', 2815, '45377', '937', '39.888914', '-84.226895', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62357, 'Beaver Creek', 2815, '45434', '937', '39.715397', '-84.029367', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62358, 'Beavercreek', 2815, '45434', '937', '39.715397', '-84.029367', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62359, 'Beavercreek Township', 2815, '45434', '937', '39.715397', '-84.029367', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62360, 'Beavercrk Twp', 2815, '45434', '937', '39.715397', '-84.029367', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62361, 'Dayton', 2815, '45434', '937', '39.715397', '-84.029367', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62362, 'Dayton', 2815, '45470', '937', '39.7587', '-84.1919', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62363, 'Metropolitan Medical Claims', 2815, '45470', '937', '39.7587', '-84.1919', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62364, 'Dayton', 2815, '45475', '937', '39.7587', '-84.1919', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62365, 'Washington Township', 2815, '45475', '937', '39.7587', '-84.1919', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62366, 'Springfield', 2815, '45502', '937', '39.92539', '-83.814562', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62367, 'Dundas', 2815, '45634', '740', '39.179646', '-82.482107', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62368, 'Hamden', 2815, '45634', '740', '39.179646', '-82.482107', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62369, 'Pedro', 2815, '45659', '740', '38.6715', '-82.614995', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62370, 'Scioto Furnace', 2815, '45677', '740', '38.7986', '-82.765', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62371, 'Scioto Furnce', 2815, '45677', '740', '38.7986', '-82.765', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62372, 'Seaman', 2815, '45679', '937', '38.98808', '-83.563308', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62373, 'Stout', 2815, '45684', '740', '38.66185', '-83.263244', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62374, 'Ewington', 2815, '45686', '740', '38.989952', '-82.3474', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62375, 'Vinton', 2815, '45686', '740', '38.989952', '-82.3474', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62376, 'Chester', 2815, '45720', '740', '39.0878', '-81.9228', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62377, 'Dexter City', 2815, '45727', '740', '39.63831', '-81.490915', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62378, 'Fleming', 2815, '45729', '740', '39.39949', '-81.627142', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62379, 'Long Bottom', 2815, '45743', '740', '39.069524', '-81.848474', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62380, 'Millfield', 2815, '45761', '740', '39.419678', '-82.08909', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62381, 'Portland', 2815, '45770', '740', '38.993054', '-81.817008', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62382, 'Syracuse', 2815, '45779', '740', '38.999416', '-81.962596', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62383, 'Vincent', 2815, '45784', '740', '39.356531', '-81.680572', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62384, 'Lima', 2815, '45804', '419', '40.716868', '-84.075061', '2018-11-29 05:08:44', '2018-11-29 05:08:44'),\n(62385, 'Elgin', 2815, '45838', '419', '40.740152', '-84.476566', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62386, 'Forest', 2815, '45843', '419', '40.774934', '-83.569334', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62387, 'La Fayette', 2815, '45854', '419', '40.7587', '-83.949', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62388, 'Lafayette', 2815, '45854', '419', '40.7587', '-83.949', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62389, 'Lima', 2815, '45854', '419', '40.7587', '-83.949', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62390, 'Melrose', 2815, '45861', '419', '41.088462', '-84.418172', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62391, 'Mount Cory', 2815, '45868', '419', '40.957382', '-83.83526', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62392, 'Mt Cory', 2815, '45868', '419', '40.957382', '-83.83526', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62393, 'Vaughnsville', 2815, '45893', '419', '40.8818', '-84.1493', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62394, 'Newkirk', 2816, '74647', '580', '36.904997', '-96.989166', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62395, 'Peckham', 2816, '74647', '580', '36.904997', '-96.989166', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62396, 'Battiest', 2816, '74722', '580', '34.424639', '-94.94712', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62397, 'Colbert', 2816, '74733', '580', '33.831467', '-96.470357', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62398, 'Haworth', 2816, '74740', '580', '33.787077', '-94.603367', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62399, 'Tom', 2816, '74740', '580', '33.787077', '-94.603367', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62400, 'Kemp', 2816, '74747', '580', '33.772977', '-96.355606', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62401, 'Castle', 2816, '74833', '918', '35.545802', '-96.405601', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62402, 'Welty', 2816, '74833', '918', '35.545802', '-96.405601', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62403, 'Mill Creek', 2816, '74856', '580', '34.345614', '-96.826988', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62404, 'Sasakwa', 2816, '74867', '405', '34.949203', '-96.553965', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62405, 'Wetumka', 2816, '74883', '405', '35.239343', '-96.283915', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62406, 'Howe', 2816, '74940', '918', '34.928283', '-94.700628', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62407, 'Shady Point', 2816, '74956', '918', '35.087203', '-94.741807', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62408, 'Pittsburg', 2816, '74560', '918', '34.66342', '-95.822824', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62409, 'Whitesboro', 2816, '74577', '918', '34.68685', '-94.88466', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62410, 'Nardin', 2816, '74646', '580', '36.81827', '-97.426516', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62411, 'Armstrong', 2816, '74726', '580', '33.973183', '-96.186206', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62412, 'Bokchito', 2816, '74726', '580', '33.973183', '-96.186206', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62413, 'Boswell', 2816, '74727', '580', '34.012553', '-95.767858', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62414, 'Bb', 2816, '74728', '580', '34.080373', '-94.763551', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62415, 'Brkn Bow', 2816, '74728', '580', '34.080373', '-94.763551', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62416, 'Broken Bow', 2816, '74728', '580', '34.080373', '-94.763551', '2018-11-29 05:08:45', '2018-11-29 05:08:45'),\n(62417, 'Caddo', 2816, '74729', '580', '34.124744', '-96.23376', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62418, 'Idabel', 2816, '74745', '580', '33.830616', '-94.792863', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62419, 'Bowlegs', 2816, '74830', '405', '35.159481', '-96.668343', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62420, 'Fitzhugh', 2816, '74843', '580', '34.661522', '-96.766134', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62421, 'Hanna', 2816, '74845', '918', '35.206706', '-95.866256', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62422, 'Vernon', 2816, '74845', '918', '35.206706', '-95.866256', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62423, 'Tribbey', 2816, '74878', '405', '34.998323', '-97.035694', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62424, 'Wanette', 2816, '74878', '405', '34.998323', '-97.035694', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62425, 'Mccurtain', 2816, '74944', '918', '35.136796', '-95.053616', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62426, 'Moffett', 2816, '74946', '918', '35.413765', '-94.462482', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62427, 'Pond Creek', 2816, '73766', '580', '36.662813', '-97.804372', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62428, 'Woodward', 2816, '73802', '580', '36.543969', '-99.300001', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62429, 'Arnett', 2816, '73832', '580', '36.058823', '-99.690701', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62430, 'Harmon', 2816, '73832', '580', '36.058823', '-99.690701', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62431, 'May', 2816, '73851', '580', '36.644467', '-99.682866', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62432, 'Beaver', 2816, '73932', '580', '36.723186', '-100.628856', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62433, 'Elmwood', 2816, '73932', '580', '36.723186', '-100.628856', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62434, 'Barnsdall', 2816, '74002', '918', '36.5484', '-96.159174', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62435, 'Pershing', 2816, '74002', '918', '36.5484', '-96.159174', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62436, 'Tallant', 2816, '74002', '918', '36.5484', '-96.159174', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62437, 'Wolco', 2816, '74002', '918', '36.5484', '-96.159174', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62438, 'Clairemore', 2816, '74018', '918', '36.3125', '-95.6156', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62439, 'Claremore', 2816, '74018', '918', '36.3125', '-95.6156', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62440, 'Glenpool', 2816, '74033', '918', '35.941098', '-96.002733', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62441, 'Hominy', 2816, '74035', '918', '36.384042', '-96.379938', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62442, 'Oakhurst', 2816, '74050', '918', '36.071832', '-96.062036', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62443, 'Ochelata', 2816, '74051', '918', '36.606069', '-95.960615', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62444, 'Oilton', 2816, '74052', '918', '36.090805', '-96.564047', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62445, 'Yale', 2816, '74085', '918', '36.100286', '-96.730916', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62446, 'Tulsa', 2816, '74101', '918', '36.1537', '-95.9926', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62447, 'Tulsa', 2816, '74102', '918', '36.1537', '-95.9926', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62448, 'Tulsa', 2816, '74116', '918', '36.18957', '-95.824382', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62449, 'Tulsa', 2816, '74134', '918', '36.104498', '-95.797464', '2018-11-29 05:08:46', '2018-11-29 05:08:46'),\n(62450, 'Tulsa', 2816, '74153', '918', '36.1537', '-95.9926', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62451, 'Chouteau', 2816, '74337', '918', '36.16206', '-95.346228', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62452, 'Mazie', 2816, '74337', '918', '36.16206', '-95.346228', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62453, 'Bacone', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62454, 'Beland', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62455, 'Keefeton', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62456, 'Martin', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62457, 'Mclain', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62458, 'Musk', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62459, 'Muskogee', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62460, 'Summit', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62461, 'Summitt', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62462, 'Wybark', 2816, '74401', '918', '35.693458', '-95.434217', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62463, 'Gore', 2816, '74435', '918', '35.532982', '-95.088692', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62464, 'Paradise Hill', 2816, '74435', '918', '35.532982', '-95.088692', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62465, 'Haskell', 2816, '74436', '918', '35.795912', '-95.696156', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62466, 'Coalton', 2816, '74437', '918', '35.445396', '-95.974597', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62467, 'Grayson', 2816, '74437', '918', '35.445396', '-95.974597', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62468, 'Henryetta', 2816, '74437', '918', '35.445396', '-95.974597', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62469, 'Hoffman', 2816, '74437', '918', '35.445396', '-95.974597', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62470, 'Salem', 2816, '74437', '918', '35.445396', '-95.974597', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62471, 'Spelter City', 2816, '74437', '918', '35.445396', '-95.974597', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62472, 'Wagoner', 2816, '74467', '918', '35.944632', '-95.400775', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62473, 'Webbers Falls', 2816, '74470', '918', '35.518389', '-95.147108', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62474, 'Clarita', 2816, '74535', '580', '34.498043', '-96.42456', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62475, 'Ashland', 2816, '74570', '918', '34.908722', '-96.169347', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62476, 'Stuart', 2816, '74570', '918', '34.908722', '-96.169347', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62477, 'Talihina', 2816, '74571', '918', '34.705168', '-94.864905', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62478, 'Durant', 2816, '74702', '580', '33.9911', '-96.3737', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62479, 'Fort Towson', 2816, '74735', '580', '34.029442', '-95.266842', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62480, 'Ft Towson', 2816, '74735', '580', '34.029442', '-95.266842', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62481, 'Pickens', 2816, '74752', '580', '34.3965', '-95.0114', '2018-11-29 05:08:47', '2018-11-29 05:08:47'),\n(62482, 'Bethel Acres', 2816, '74801', '405', '35.296806', '-96.950685', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62483, 'Johnson', 2816, '74801', '405', '35.296806', '-96.950685', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62484, 'Shawnee', 2816, '74801', '405', '35.296806', '-96.950685', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62485, 'Seminole', 2816, '74818', '405', '35.2245', '-96.6706', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62486, 'Ada', 2816, '74821', '580', '34.7744', '-96.6781', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62487, 'Macomb', 2816, '74852', '405', '35.123107', '-97.036774', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62488, 'Maud', 2816, '74854', '405', '35.117439', '-96.763128', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62489, 'Meeker', 2816, '74855', '405', '35.521527', '-96.964249', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62490, 'Fanshawe', 2816, '74935', '918', '34.953754', '-94.900225', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62491, 'Roland', 2816, '74954', '918', '35.492798', '-94.545617', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62492, 'Deer Creek', 2816, '74636', '580', '36.803581', '-97.507462', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62493, 'Fairfax', 2816, '74637', '918', '36.527137', '-96.66284', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62494, 'Red Rock', 2816, '74651', '580', '36.475826', '-97.157373', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62495, 'Tonkawa', 2816, '74653', '580', '36.673443', '-97.325996', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62496, 'Eagletown', 2816, '74734', '580', '34.06284', '-94.589748', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62497, 'Garvin', 2816, '74736', '580', '33.918037', '-94.930242', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62498, 'Platter', 2816, '74753', '580', '33.916484', '-96.54646', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62499, 'Ringold', 2816, '74754', '580', '34.193936', '-95.078695', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62500, 'Shawnee', 2816, '74804', '405', '35.398102', '-96.85661', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62501, 'Ada', 2816, '74820', '580', '34.822748', '-96.753003', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62502, 'Bing', 2816, '74820', '580', '34.822748', '-96.753003', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62503, 'Byng', 2816, '74820', '580', '34.822748', '-96.753003', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62504, 'Pontotoc', 2816, '74820', '580', '34.822748', '-96.753003', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62505, 'Connerville', 2816, '74836', '580', '34.444982', '-96.616624', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62506, 'Cromwell', 2816, '74837', '405', '35.338682', '-96.487518', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62507, 'Seminole', 2816, '74868', '405', '35.299448', '-96.655226', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62508, 'Sparks', 2816, '74869', '918', '35.615689', '-96.803814', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62509, 'Pocola', 2816, '74902', '918', '35.245373', '-94.496124', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62510, 'Gans', 2816, '74936', '918', '35.368864', '-94.726462', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62511, 'Sallisaw', 2816, '74955', '918', '35.525745', '-94.747424', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62512, 'Tulsa', 2816, '74159', '918', '36.1537', '-95.9926', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62513, 'Fairland', 2816, '74343', '918', '36.736682', '-94.819294', '2018-11-29 05:08:48', '2018-11-29 05:08:48'),\n(62514, 'North Miami', 2816, '74358', '918', '36.917278', '-94.880861', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62515, 'Oaks', 2816, '74359', '918', '36.171279', '-94.862462', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62516, 'Picher', 2816, '74360', '918', '36.971206', '-94.846854', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62517, 'Pryor', 2816, '74362', '918', '36.3025', '-95.3167', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62518, 'Pryor Creek', 2816, '74362', '918', '36.3025', '-95.3167', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62519, 'Bond', 2816, '74426', '918', '35.413662', '-95.610802', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62520, 'Checotah', 2816, '74426', '918', '35.413662', '-95.610802', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62521, 'Pierce', 2816, '74426', '918', '35.413662', '-95.610802', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62522, 'Texanna', 2816, '74426', '918', '35.413662', '-95.610802', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62523, 'Cookson', 2816, '74427', '918', '35.699211', '-94.897894', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62524, 'Moodys', 2816, '74444', '918', '36.045767', '-94.966824', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62525, 'Morris', 2816, '74445', '918', '35.698841', '-95.818349', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62526, 'Rentiesville', 2816, '74459', '918', '35.508316', '-95.494409', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62527, 'Enterprise', 2816, '74462', '918', '35.304891', '-95.080164', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62528, 'Stigler', 2816, '74462', '918', '35.304891', '-95.080164', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62529, 'Tamaha', 2816, '74462', '918', '35.304891', '-95.080164', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62530, 'Blocker', 2816, '74529', '918', '35.0617', '-95.5681', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62531, 'Rattan', 2816, '74562', '580', '34.320054', '-95.312324', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62532, 'Wardville', 2816, '74576', '918', '34.604685', '-95.987106', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62533, 'Marland', 2816, '74644', '580', '36.542081', '-97.047645', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62534, 'Spencerville', 2816, '74760', '580', '34.110705', '-95.405934', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62535, 'Asher', 2816, '74826', '405', '34.956856', '-96.854571', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62536, 'Boley', 2816, '74829', '918', '35.504685', '-96.467847', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62537, 'Francis', 2816, '74844', '580', '34.6274', '-96.8388', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62538, 'Clearview', 2816, '74880', '405', '35.404784', '-96.140525', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62539, 'Pharoah', 2816, '74880', '405', '35.404784', '-96.140525', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62540, 'Weleetka', 2816, '74880', '405', '35.404784', '-96.140525', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62541, 'Monroe', 2816, '74947', '918', '34.990553', '-94.515045', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62542, 'Stilwell', 2816, '74960', '918', '35.795821', '-94.657789', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62543, 'Vian', 2816, '74962', '918', '35.492655', '-94.971566', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62544, 'Watson', 2816, '74963', '580', '34.310192', '-94.579485', '2018-11-29 05:08:49', '2018-11-29 05:08:49'),\n(62545, 'Stw', 2816, '74078', '405', '36.126099', '-97.079582', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62546, 'Tulsa', 2816, '74127', '918', '36.206309', '-96.045655', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62547, 'Tulsa', 2816, '74128', '918', '36.147112', '-95.851743', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62548, 'Tulsa', 2816, '74158', '918', '36.1537', '-95.9926', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62549, 'First Natl Bank Mail Service', 2816, '74193', '918', '36.1537', '-95.9926', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62550, 'Tulsa', 2816, '74193', '918', '36.1537', '-95.9926', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62551, 'Eucha', 2816, '74342', '918', '36.390589', '-94.890316', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62552, 'Grove', 2816, '74345', '918', '36.5934', '-94.7934', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62553, 'Grove City', 2816, '74345', '918', '36.5934', '-94.7934', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62554, 'Canadian', 2816, '74425', '918', '35.177798', '-95.663943', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62555, 'Council Hill', 2816, '74428', '918', '35.54562', '-95.723512', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62556, 'Indianola', 2816, '74442', '918', '35.138459', '-95.763015', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62557, 'Stidham', 2816, '74461', '918', '35.38214', '-95.686818', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62558, 'Wagoner', 2816, '74477', '918', '35.9595', '-95.3692', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62559, 'Gowen', 2816, '74545', '918', '34.872432', '-95.468699', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62560, 'Panola', 2816, '74559', '918', '34.9286', '-95.2131', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62561, 'Blackwell', 2816, '74631', '580', '36.796651', '-97.301432', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62562, 'Burbank', 2816, '74633', '918', '36.699032', '-96.69959', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62563, 'Bethel', 2816, '74724', '580', '34.32601', '-94.830639', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62564, 'Cartwright', 2816, '74731', '580', '33.878678', '-96.580334', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62565, 'Earlsboro', 2816, '74840', '405', '35.257703', '-96.809528', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62566, 'Fittstown', 2816, '74842', '580', '34.633567', '-96.661203', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62567, 'Konawa', 2816, '74849', '580', '34.970584', '-96.68603', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62568, 'Hickory', 2816, '74865', '580', '34.593057', '-96.78348', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62569, 'Roff', 2816, '74865', '580', '34.593057', '-96.78348', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62570, 'Arkoma', 2816, '74901', '918', '35.352062', '-94.463221', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62571, 'Panama', 2816, '74951', '918', '35.174606', '-94.686991', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62572, 'Westville', 2816, '74965', '918', '36.003398', '-94.657782', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62573, 'Cleora', 2816, '74331', '918', '36.631829', '-94.910083', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62574, 'Monkey Island', 2816, '74331', '918', '36.631829', '-94.910083', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62575, 'Kansas', 2816, '74347', '918', '36.210902', '-94.808223', '2018-11-29 05:08:50', '2018-11-29 05:08:50'),\n(62576, 'Dewar', 2816, '74431', '918', '35.462516', '-95.936014', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62577, 'Hoyt', 2816, '74440', '918', '35.281789', '-95.307184', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62578, 'Preston', 2816, '74456', '918', '35.69814', '-96.01092', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62579, 'Redbird', 2816, '74458', '918', '35.8921', '-95.5928', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62580, 'Taft', 2816, '74463', '918', '35.751934', '-95.565978', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62581, 'Caney', 2816, '74533', '580', '34.219718', '-96.21144', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62582, 'Nashoba', 2816, '74558', '918', '34.52778', '-95.18338', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62583, 'Hunter', 2816, '74640', '580', '36.571459', '-97.604444', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62584, 'Burneyville', 2816, '73430', '580', '33.96238', '-97.327809', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62585, 'Graham', 2816, '73437', '580', '34.330056', '-97.50118', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62586, 'Hennepin', 2816, '73444', '580', '34.476152', '-97.412234', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62587, 'Tatums', 2816, '73487', '580', '34.477414', '-97.457098', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62588, 'Lawton', 2816, '73505', '580', '34.594654', '-98.481497', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62589, 'Chattanooga', 2816, '73528', '580', '34.456745', '-98.670494', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62590, 'Cooperton', 2816, '73564', '580', '34.839006', '-98.972156', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62591, 'Roosevelt', 2816, '73564', '580', '34.839006', '-98.972156', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62592, 'Cheyenne', 2816, '73628', '580', '35.646402', '-99.707388', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62593, 'Strong City', 2816, '73628', '580', '35.646402', '-99.707388', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62594, 'Lone Wolf', 2816, '73655', '580', '34.966345', '-99.259352', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62595, 'Thomas', 2816, '73669', '580', '35.725549', '-98.738298', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62596, 'Enid', 2816, '73703', '580', '36.412536', '-97.961284', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62597, 'Hopeton', 2816, '73746', '580', '36.688638', '-98.646003', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62598, 'Longdale', 2816, '73755', '580', '36.115239', '-98.556188', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62599, 'Omega', 2816, '73764', '405', '35.84838', '-98.176768', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62600, 'Felt', 2816, '73937', '580', '36.581404', '-102.822857', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62601, 'Bartlesville', 2816, '74005', '918', '36.7473', '-95.9808', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62602, 'Brtlsville', 2816, '74005', '918', '36.7473', '-95.9808', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62603, 'Bville', 2816, '74005', '918', '36.7473', '-95.9808', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62604, 'Milfay', 2816, '74046', '918', '35.7552', '-96.5659', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62605, 'Oologah', 2816, '74053', '918', '36.4314', '-95.700777', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62606, 'Owasso', 2816, '74055', '918', '36.271198', '-95.821432', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62607, 'Owosso', 2816, '74055', '918', '36.271198', '-95.821432', '2018-11-29 05:08:51', '2018-11-29 05:08:51'),\n(62608, 'Slick', 2816, '74071', '918', '35.786114', '-96.28048', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62609, 'Vera', 2816, '74082', '918', '36.4493', '-95.8809', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62610, 'Tulsa', 2816, '74130', '918', '36.242318', '-95.952525', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62611, 'Tulsa', 2816, '74132', '918', '36.045372', '-96.012032', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62612, 'Tulsa', 2816, '74148', '918', '36.1537', '-95.9926', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62613, 'Tulsa', 2816, '74155', '918', '36.1537', '-95.9926', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62614, 'Tulsa', 2816, '74157', '918', '36.1537', '-95.9926', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62615, 'Bok Mail Service', 2816, '74182', '918', '36.1537', '-95.9926', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62616, 'Tulsa', 2816, '74182', '918', '36.1537', '-95.9926', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62617, 'Adair', 2816, '74330', '918', '36.408638', '-95.274183', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62618, 'Rose', 2816, '74364', '918', '36.22331', '-94.997216', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62619, 'Tahlequah', 2816, '74464', '918', '35.961543', '-94.953235', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62620, 'Talequah', 2816, '74464', '918', '35.961543', '-94.953235', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62621, 'Thlequah', 2816, '74464', '918', '35.961543', '-94.953235', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62622, 'Welling', 2816, '74471', '918', '35.85643', '-94.858806', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62623, 'Bromide', 2816, '74530', '580', '34.423208', '-96.486597', '2018-11-29 05:08:52', '2018-11-29 05:08:52');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(62624, 'Moyers', 2816, '74557', '580', '34.341418', '-95.640648', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62625, 'Billings', 2816, '74630', '580', '36.51379', '-97.372227', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62626, 'Kaw', 2816, '74641', '580', '36.842869', '-96.855672', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62627, 'Kaw City', 2816, '74641', '580', '36.842869', '-96.855672', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62628, 'Ralston', 2816, '74650', '918', '36.523892', '-96.857695', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62629, 'Bennington', 2816, '74723', '580', '33.979856', '-95.971044', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62630, 'Wade', 2816, '74723', '580', '33.979856', '-95.971044', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62631, 'Wright City', 2816, '74766', '580', '34.15844', '-94.980886', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62632, 'Allen', 2816, '74825', '580', '34.806664', '-96.512496', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62633, 'Carney', 2816, '74832', '405', '35.811537', '-97.023007', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62634, 'Chandler', 2816, '74834', '405', '35.702728', '-96.822062', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62635, 'Newalla', 2816, '74857', '405', '35.352523', '-97.206653', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62636, 'Cameron', 2816, '74932', '918', '35.149992', '-94.507343', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62637, 'Muldrow', 2816, '74948', '918', '35.377394', '-94.673095', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62638, 'Covington', 2816, '73730', '580', '36.2775', '-97.559124', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62639, 'Fairview', 2816, '73737', '580', '36.305769', '-98.603273', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62640, 'Orienta', 2816, '73737', '580', '36.305769', '-98.603273', '2018-11-29 05:08:52', '2018-11-29 05:08:52'),\n(62641, 'Goltry', 2816, '73739', '580', '36.53567', '-98.160596', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62642, 'Hitchcock', 2816, '73744', '580', '35.99982', '-98.312497', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62643, 'Kremlin', 2816, '73753', '580', '36.528276', '-97.836506', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62644, 'Waukomis', 2816, '73773', '580', '36.267664', '-97.88984', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62645, 'Laverne', 2816, '73848', '580', '36.65604', '-100.018455', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62646, 'Logan', 2816, '73848', '580', '36.65604', '-100.018455', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62647, 'Mutual', 2816, '73853', '580', '36.232444', '-99.088978', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62648, 'Rosston', 2816, '73855', '580', '36.876032', '-99.884055', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62649, 'Brkn Arw', 2816, '74012', '918', '36.060889', '-95.806436', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62650, 'Broken Arrow', 2816, '74012', '918', '36.060889', '-95.806436', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62651, 'Avery', 2816, '74023', '918', '36.017418', '-96.747386', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62652, 'Cushing', 2816, '74023', '918', '36.017418', '-96.747386', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62653, 'Norfolk', 2816, '74023', '918', '36.017418', '-96.747386', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62654, 'Schlegal', 2816, '74023', '918', '36.017418', '-96.747386', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62655, 'Depew', 2816, '74028', '918', '35.73349', '-96.517636', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62656, 'Drumright', 2816, '74030', '918', '35.96702', '-96.538126', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62657, 'Kellyville', 2816, '74039', '918', '35.901751', '-96.23988', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62658, 'Ripley', 2816, '74062', '918', '35.986389', '-96.883711', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62659, 'Talala', 2816, '74080', '918', '36.532294', '-95.71931', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62660, 'Tulsa', 2816, '74105', '918', '36.097033', '-95.964635', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62661, 'Tulsa', 2816, '74112', '918', '36.147034', '-95.904041', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62662, 'Osage', 2816, '74054', '918', '36.29422', '-96.383244', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62663, 'Kendrick', 2816, '74079', '918', '35.798838', '-96.72135', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62664, 'Stroud', 2816, '74079', '918', '35.798838', '-96.72135', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62665, 'Tulsa', 2816, '74129', '918', '36.126238', '-95.868926', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62666, 'Tulsa', 2816, '74147', '918', '36.1537', '-95.9926', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62667, 'Grand Lake Towne', 2816, '74349', '918', '36.518666', '-95.025778', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62668, 'Grnd Lke Town', 2816, '74349', '918', '36.518666', '-95.025778', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62669, 'Ketchum', 2816, '74349', '918', '36.518666', '-95.025778', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62670, 'Salina', 2816, '74365', '918', '36.332173', '-95.087342', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62671, 'Boynton', 2816, '74422', '918', '35.653537', '-95.693676', '2018-11-29 05:08:53', '2018-11-29 05:08:53'),\n(62672, 'Choska', 2816, '74429', '918', '35.975496', '-95.611228', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62673, 'Coweta', 2816, '74429', '918', '35.975496', '-95.611228', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62674, 'New Tulsa', 2816, '74429', '918', '35.975496', '-95.611228', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62675, 'Hitchita', 2816, '74438', '918', '35.529723', '-95.759616', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62676, 'Nuyaka', 2816, '74447', '918', '35.64633', '-96.032847', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62677, 'Okmulgee', 2816, '74447', '918', '35.64633', '-96.032847', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62678, 'Twin Hills', 2816, '74447', '918', '35.64633', '-96.032847', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62679, 'Alderson', 2816, '74522', '918', '34.908384', '-95.678882', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62680, 'Calvin', 2816, '74531', '405', '34.870894', '-96.249654', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62681, 'Gerty', 2816, '74531', '405', '34.870894', '-96.249654', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62682, 'Daisy', 2816, '74540', '580', '34.550405', '-95.74342', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62683, 'Hartshorne', 2816, '74547', '918', '34.771206', '-95.637108', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62684, 'Honobia', 2816, '74549', '918', '34.593752', '-94.89897', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62685, 'Kiamichi', 2816, '74549', '918', '34.593752', '-94.89897', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62686, 'Kiamichi Christian Mission', 2816, '74549', '918', '34.593752', '-94.89897', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62687, 'Lehigh', 2816, '74556', '580', '34.476018', '-96.18885', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62688, 'Savanna', 2816, '74565', '918', '34.825827', '-95.848206', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62689, 'Tuskahoma', 2816, '74574', '918', '34.731389', '-95.263132', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62690, 'Tulsa', 2816, '74121', '918', '36.1537', '-95.9926', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62691, 'Tulsa', 2816, '74146', '918', '36.09718', '-95.850906', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62692, 'Tulsa', 2816, '74187', '918', '36.1537', '-95.9926', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62693, 'Tulsa City Utilities', 2816, '74187', '918', '36.1537', '-95.9926', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62694, 'Commerce', 2816, '74339', '918', '36.933408', '-94.868872', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62695, 'Jay', 2816, '74346', '918', '36.44394', '-94.773544', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62696, 'Spavinaw', 2816, '74366', '918', '36.429526', '-95.01153', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62697, 'Crowder', 2816, '74430', '918', '35.133415', '-95.660148', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62698, 'Hulbert', 2816, '74441', '918', '35.968934', '-95.142348', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62699, 'Okay', 2816, '74446', '918', '35.862842', '-95.349452', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62700, 'Porum', 2816, '74455', '918', '35.348741', '-95.24278', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62701, 'Antlers', 2816, '74523', '580', '34.331692', '-95.645484', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62702, 'Atoka', 2816, '74525', '580', '34.315698', '-96.10691', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62703, 'Farris', 2816, '74525', '580', '34.315698', '-96.10691', '2018-11-29 05:08:54', '2018-11-29 05:08:54'),\n(62704, 'Haileyville', 2816, '74546', '918', '34.859593', '-95.579578', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62705, 'Calera', 2816, '74730', '580', '33.907418', '-96.401956', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62706, 'Millerton', 2816, '74750', '580', '33.99316', '-95.000205', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62707, 'Rufe', 2816, '74755', '580', '34.169372', '-95.116684', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62708, 'Soper', 2816, '74759', '580', '34.029125', '-95.694748', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62709, 'Valliant', 2816, '74764', '580', '33.983292', '-95.04548', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62710, 'Bearden', 2816, '74859', '918', '35.464624', '-96.264573', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62711, 'Mason', 2816, '74859', '918', '35.464624', '-96.264573', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62712, 'Okemah', 2816, '74859', '918', '35.464624', '-96.264573', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62713, 'Brooksville', 2816, '74873', '405', '35.217384', '-96.983738', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62714, 'Pink', 2816, '74873', '405', '35.217384', '-96.983738', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62715, 'Tecumseh', 2816, '74873', '405', '35.217384', '-96.983738', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62716, 'Cowlington', 2816, '74941', '918', '35.282689', '-94.917712', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62717, 'Keota', 2816, '74941', '918', '35.282689', '-94.917712', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62718, 'Octavia', 2816, '74957', '580', '34.473181', '-94.579992', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62719, 'Smithville', 2816, '74957', '580', '34.473181', '-94.579992', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62720, 'Fort Coffee', 2816, '74959', '918', '35.269104', '-94.636334', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62721, 'Spiro', 2816, '74959', '918', '35.269104', '-94.636334', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62722, 'Summerfield', 2816, '74966', '918', '34.923338', '-94.851577', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62723, 'Wister', 2816, '74966', '918', '34.923338', '-94.851577', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62724, 'Friar Station', 2820, '02918', '401', '41.844266', '-71.434916', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62725, 'Providence', 2820, '02918', '401', '41.844266', '-71.434916', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62726, 'Providence College', 2820, '02918', '401', '41.844266', '-71.434916', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62727, 'Providence', 2820, '02940', '401', '41.8238', '-71.4133', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62728, 'Newport', 2820, '02840', '401', '41.485043', '-71.32447', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62729, 'Glocester', 2820, '02857', '401', '41.823378', '-71.643826', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62730, 'N Scituate', 2820, '02857', '401', '41.823378', '-71.643826', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62731, 'North Scituate', 2820, '02857', '401', '41.823378', '-71.643826', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62732, 'Scituate', 2820, '02857', '401', '41.823378', '-71.643826', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62733, 'Rockville', 2820, '02873', '401', '41.5094', '-71.7843', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62734, 'Conimicut', 2820, '02889', '401', '41.70121', '-71.392476', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62735, 'Warwick', 2820, '02889', '401', '41.70121', '-71.392476', '2018-11-29 05:08:55', '2018-11-29 05:08:55'),\n(62736, 'Misquamicut', 2820, '02891', '401', '41.361477', '-71.802414', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62737, 'N Providence', 2820, '02911', '401', '41.853544', '-71.472467', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62738, 'No Providence', 2820, '02911', '401', '41.853544', '-71.472467', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62739, 'North Providence', 2820, '02911', '401', '41.853544', '-71.472467', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62740, 'Davisville', 2820, '02852', '401', '41.58805', '-71.46202', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62741, 'N Kingstown', 2820, '02852', '401', '41.58805', '-71.46202', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62742, 'North Kingstown', 2820, '02852', '401', '41.58805', '-71.46202', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62743, 'Wickford', 2820, '02852', '401', '41.58805', '-71.46202', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62744, 'Warwick', 2820, '02886', '401', '41.705329', '-71.460974', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62745, 'W Warwick', 2820, '02893', '401', '41.69727', '-71.509664', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62746, 'West Warwick', 2820, '02893', '401', '41.69727', '-71.509664', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62747, 'Woonsocket', 2820, '02895', '401', '41.997922', '-71.498851', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62748, 'Providence', 2820, '02909', '401', '41.822232', '-71.448292', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62749, 'Cumberland', 2820, '02864', '401', '41.956004', '-71.433618', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62750, 'East Matunuck', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62751, 'Green Hill', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62752, 'Jerusalem', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62753, 'Matunuck', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62754, 'Narragansett', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62755, 'Peace Dale', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62756, 'S Kingstown', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62757, 'South Kingstown', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62758, 'Wakefield', 2820, '02879', '401', '41.42765', '-71.536358', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62759, 'Johnston', 2820, '02919', '401', '41.82785', '-71.518132', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62760, 'Providence', 2820, '02919', '401', '41.82785', '-71.518132', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62761, 'E Providence', 2820, '02914', '401', '41.811429', '-71.363076', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62762, 'East Providence', 2820, '02914', '401', '41.811429', '-71.363076', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62763, 'Brown Station', 2820, '02912', '401', '41.826254', '-71.402502', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62764, 'Brown University', 2820, '02912', '401', '41.826254', '-71.402502', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62765, 'Providence', 2820, '02912', '401', '41.826254', '-71.402502', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62766, 'Providence', 2820, '02911', '401', '41.853544', '-71.472467', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62767, 'Cranston', 2820, '02920', '401', '41.768472', '-71.46846', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62768, 'Laurens', 2821, '29360', '864', '34.491862', '-82.046562', '2018-11-29 05:08:56', '2018-11-29 05:08:56'),\n(62769, 'Una', 2821, '29378', '864', '34.9687', '-81.9707', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62770, 'Union', 2821, '29379', '864', '34.68016', '-81.638658', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62771, 'Glympville', 2821, '29126', '803', '34.328144', '-81.408352', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62772, 'Pomaria', 2821, '29126', '803', '34.328144', '-81.408352', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62773, 'Prosperity', 2821, '29127', '803', '34.189934', '-81.504966', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62774, 'Slighs', 2821, '29127', '803', '34.189934', '-81.504966', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62775, 'Stockman', 2821, '29127', '803', '34.189934', '-81.504966', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62776, 'Stoney Hill', 2821, '29127', '803', '34.189934', '-81.504966', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62777, 'Irene', 2822, '57037', '605', '43.104256', '-97.256238', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62778, 'Mayfield', 2822, '57037', '605', '43.104256', '-97.256238', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62779, 'Crooks', 2822, '57055', '605', '43.667044', '-96.741357', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62780, 'Renner', 2822, '57055', '605', '43.667044', '-96.741357', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62781, 'Greenfield', 2822, '57069', '605', '42.836846', '-96.992936', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62782, 'Hub City', 2822, '57069', '605', '42.836846', '-96.992936', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62783, 'Meckling', 2822, '57069', '605', '42.836846', '-96.992936', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62784, 'Vermillion', 2822, '57069', '605', '42.836846', '-96.992936', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62785, 'Westerville', 2822, '57069', '605', '42.836846', '-96.992936', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62786, 'Volga', 2822, '57071', '605', '44.261331', '-96.95009', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62787, 'Volin', 2822, '57072', '605', '42.990789', '-97.180854', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62788, 'Sioux Falls', 2822, '57103', '605', '43.543794', '-96.693807', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62789, 'Grenville', 2822, '57239', '605', '45.510964', '-97.347686', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62790, 'Naples', 2822, '57271', '605', '44.681394', '-97.482264', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62791, 'Vienna', 2822, '57271', '605', '44.681394', '-97.482264', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62792, 'Carthage', 2822, '57323', '605', '44.109334', '-97.710982', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62793, 'Fedora', 2822, '57337', '605', '43.980248', '-97.79077', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62794, 'Lake Andes', 2822, '57356', '605', '43.11662', '-98.547804', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62795, 'Ravinia', 2822, '57356', '605', '43.11662', '-98.547804', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62796, 'Saint Lawrence', 2822, '57373', '605', '44.488275', '-98.854746', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62797, 'St Lawrence', 2822, '57373', '605', '44.488275', '-98.854746', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62798, 'Ashton', 2822, '57424', '605', '45.013485', '-98.492742', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62799, 'Athol', 2822, '57424', '605', '45.013485', '-98.492742', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62800, 'Burkmere', 2822, '57438', '605', '45.07111', '-99.124594', '2018-11-29 05:08:57', '2018-11-29 05:08:57'),\n(62801, 'Faulkton', 2822, '57438', '605', '45.07111', '-99.124594', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62802, 'Miranda', 2822, '57438', '605', '45.07111', '-99.124594', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62803, 'Norbeck', 2822, '57438', '605', '45.07111', '-99.124594', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62804, 'Wecota', 2822, '57438', '605', '45.07111', '-99.124594', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62805, 'Leola', 2822, '57456', '605', '45.765808', '-98.983312', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62806, 'Lowry', 2822, '57472', '605', '45.420344', '-100.11902', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62807, 'Selby', 2822, '57472', '605', '45.420344', '-100.11902', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62808, 'Sitka', 2822, '57472', '605', '45.420344', '-100.11902', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62809, 'Belvidere', 2822, '57521', '605', '43.88645', '-101.243305', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62810, 'Burke', 2822, '57523', '605', '43.327213', '-99.135878', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62811, 'Lucas', 2822, '57523', '605', '43.327213', '-99.135878', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62812, 'Hidden Timber', 2822, '57555', '605', '43.194345', '-100.474428', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62813, 'Mission', 2822, '57555', '605', '43.194345', '-100.474428', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62814, 'Olsonville', 2822, '57555', '605', '43.194345', '-100.474428', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62815, 'Pine Run', 2822, '57555', '605', '43.194345', '-100.474428', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62816, 'Mc Intosh', 2822, '57641', '605', '45.70832', '-101.520986', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62817, 'Fort Meade', 2822, '57741', '605', '44.412722', '-103.473124', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62818, 'Ludlow', 2822, '57755', '605', '45.822392', '-103.371323', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62819, 'Olson', 2822, '57755', '605', '45.822392', '-103.371323', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62820, 'Spottwood', 2822, '57476', '605', '44.720099', '-98.593818', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62821, 'Tulare', 2822, '57476', '605', '44.720099', '-98.593818', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62822, 'Harrington', 2822, '57551', '605', '43.192888', '-101.668694', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62823, 'Martin', 2822, '57551', '605', '43.192888', '-101.668694', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62824, 'Patricia', 2822, '57551', '605', '43.192888', '-101.668694', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62825, 'Swett', 2822, '57551', '605', '43.192888', '-101.668694', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62826, 'Vetal', 2822, '57551', '605', '43.192888', '-101.668694', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62827, 'Blackpipe', 2822, '57560', '605', '43.476184', '-101.077596', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62828, 'Norris', 2822, '57560', '605', '43.476184', '-101.077596', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62829, 'Wanamaker', 2822, '57560', '605', '43.476184', '-101.077596', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62830, 'Mcclure', 2822, '57576', '605', '43.999323', '-100.306576', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62831, 'Vivian', 2822, '57576', '605', '43.999323', '-100.306576', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62832, 'Foster', 2822, '57601', '605', '45.402708', '-100.534475', '2018-11-29 05:08:58', '2018-11-29 05:08:58'),\n(62833, 'Gopher', 2822, '57601', '605', '45.402708', '-100.534475', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62834, 'Mobridge', 2822, '57601', '605', '45.402708', '-100.534475', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62835, 'Promise', 2822, '57601', '605', '45.402708', '-100.534475', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62836, 'Rapid City', 2822, '57703', '605', '44.026126', '-103.075662', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62837, 'Box Elder', 2822, '57719', '605', '44.140058', '-102.990222', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62838, 'Keystone', 2822, '57751', '605', '43.885196', '-103.429098', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62839, 'Castle Rock', 2822, '57760', '605', '44.908668', '-103.232789', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62840, 'Cedar Canyon', 2822, '57760', '605', '44.908668', '-103.232789', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62841, 'Gill', 2822, '57760', '605', '44.908668', '-103.232789', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62842, 'Hoover', 2822, '57760', '605', '44.908668', '-103.232789', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62843, 'Newell', 2822, '57760', '605', '44.908668', '-103.232789', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62844, 'Owanka', 2822, '57767', '605', '44.096034', '-102.558092', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62845, 'Wicksville', 2822, '57767', '605', '44.096034', '-102.558092', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62846, 'Artas', 2822, '57437', '605', '45.767149', '-99.572613', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62847, 'Eureka', 2822, '57437', '605', '45.767149', '-99.572613', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62848, 'Greenway', 2822, '57437', '605', '45.767149', '-99.572613', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62849, 'Hills', 2822, '57437', '605', '45.767149', '-99.572613', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62850, 'Hillsview', 2822, '57437', '605', '45.767149', '-99.572613', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62851, 'Ferney', 2822, '57439', '605', '45.3309', '-98.0978', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62852, 'Rockham', 2822, '57470', '605', '44.896242', '-98.843512', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62853, 'Blunt', 2822, '57522', '605', '44.486957', '-99.886388', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62854, 'Degray', 2822, '57522', '605', '44.486957', '-99.886388', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62855, 'Hayes', 2822, '57537', '605', '44.491432', '-100.841555', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62856, 'Sansarc', 2822, '57537', '605', '44.491432', '-100.841555', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62857, 'Ideal', 2822, '57541', '605', '43.606897', '-99.957072', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62858, 'Tuthill', 2822, '57574', '605', '43.106103', '-101.477337', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62859, 'Bullhead', 2822, '57621', '605', '45.774868', '-101.048556', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62860, 'Little Eagle', 2822, '57639', '605', '45.6755', '-100.8036', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62861, 'Lodgepole', 2822, '57640', '605', '45.752483', '-102.756004', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62862, 'Trail City', 2822, '57657', '605', '45.411352', '-100.709321', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62863, 'Standing Rock', 2822, '57658', '605', '45.708177', '-100.519489', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62864, 'Wakpala', 2822, '57658', '605', '45.708177', '-100.519489', '2018-11-29 05:08:59', '2018-11-29 05:08:59'),\n(62865, 'Camp Crook', 2822, '57724', '605', '45.65021', '-104.064921', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62866, 'Gustave', 2822, '57724', '605', '45.65021', '-104.064921', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62867, 'Sky Ranch', 2822, '57724', '605', '45.65021', '-104.064921', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62868, 'Manderson', 2822, '57756', '605', '43.305718', '-102.394132', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62869, 'Inland', 2822, '57758', '605', '45.000914', '-102.588572', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62870, 'Mud Butte', 2822, '57758', '605', '45.000914', '-102.588572', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62871, 'Opal', 2822, '57758', '605', '45.000914', '-102.588572', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62872, 'Zeona', 2822, '57758', '605', '45.000914', '-102.588572', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62873, 'Elm Springs', 2822, '57791', '605', '44.213851', '-102.480743', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62874, 'Gumbo', 2822, '57791', '605', '44.213851', '-102.480743', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62875, 'Wasta', 2822, '57791', '605', '44.213851', '-102.480743', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62876, 'Conde', 2822, '57434', '605', '45.196932', '-98.013974', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62877, 'Crandall', 2822, '57434', '605', '45.196932', '-98.013974', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62878, 'Verdon', 2822, '57434', '605', '45.196932', '-98.013974', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62879, 'Java', 2822, '57452', '605', '45.476572', '-99.867664', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62880, 'Mellette', 2822, '57461', '605', '45.155736', '-98.416392', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62881, 'Pierpont', 2822, '57468', '605', '45.500789', '-97.795345', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62882, 'Harrold', 2822, '57536', '605', '44.431707', '-99.768518', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62883, 'Joe Creek', 2822, '57536', '605', '44.431707', '-99.768518', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62884, 'Kadoka', 2822, '57543', '605', '43.841558', '-101.698716', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62885, 'Capa', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62886, 'England Ranch', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62887, 'Kirley', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62888, 'Midland', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62889, 'Moenville', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62890, 'Nowlin', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62891, 'Ottumwa', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62892, 'Stamford', 2822, '57552', '605', '44.370914', '-101.36729', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62893, 'Ada', 2822, '57620', '605', '45.448838', '-102.518906', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62894, 'Bison', 2822, '57620', '605', '45.448838', '-102.518906', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62895, 'Bixby', 2822, '57620', '605', '45.448838', '-102.518906', '2018-11-29 05:09:00', '2018-11-29 05:09:00'),\n(62896, 'Cash', 2822, '57620', '605', '45.448838', '-102.518906', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62897, 'Chance', 2822, '57620', '605', '45.448838', '-102.518906', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62898, 'Govert', 2822, '57620', '605', '45.448838', '-102.518906', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62899, 'Cheyenne River Reservation', 2822, '57625', '605', '45.098437', '-100.767968', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62900, 'Eagle Butte', 2822, '57625', '605', '45.098437', '-100.767968', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62901, 'Parade', 2822, '57625', '605', '45.098437', '-100.767968', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62902, 'Standing Rock Reservation', 2822, '57625', '605', '45.098437', '-100.767968', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62903, 'Keldron', 2822, '57634', '605', '45.788446', '-101.8433', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62904, 'Lantry', 2822, '57636', '605', '45.051938', '-101.398454', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62905, 'Ralph', 2822, '57650', '605', '45.853568', '-103.035337', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62906, 'La Plant', 2822, '57652', '605', '45.109672', '-100.550244', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62907, 'Ridgeview', 2822, '57652', '605', '45.109672', '-100.550244', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62908, 'Caputa', 2822, '57725', '605', '43.936156', '-102.843074', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62909, 'Farmingdale', 2822, '57725', '605', '43.936156', '-102.843074', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62910, 'Headlee Ranch', 2822, '57750', '605', '43.752655', '-101.898198', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62911, 'Interior', 2822, '57750', '605', '43.752655', '-101.898198', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62912, 'Potato Creek', 2822, '57750', '605', '43.752655', '-101.898198', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62913, 'Nemo', 2822, '57759', '605', '44.225762', '-103.574955', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62914, 'Whitewood', 2822, '57793', '605', '44.494449', '-103.588751', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62915, 'Marion', 2822, '57043', '605', '43.377968', '-97.291276', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62916, 'Olivet', 2822, '57052', '605', '43.298221', '-97.733866', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62917, 'Wittenberg', 2822, '57052', '605', '43.298221', '-97.733866', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62918, 'Scotland', 2822, '57059', '605', '43.104432', '-97.782974', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62919, 'Buffalo Ridge', 2822, '57107', '605', '43.601636', '-96.825205', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62920, 'Ellis', 2822, '57107', '605', '43.601636', '-96.825205', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62921, 'Sioux Falls', 2822, '57107', '605', '43.601636', '-96.825205', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62922, 'Sioux Falls', 2822, '57118', '605', '43.5503', '-96.7002', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62923, 'Big Stone', 2822, '57216', '605', '45.246266', '-96.534426', '2018-11-29 05:09:01', '2018-11-29 05:09:01'),\n(62924, 'Big Stone City', 2822, '57216', '605', '45.246266', '-96.534426', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62925, 'Big Stone Cty', 2822, '57216', '605', '45.246266', '-96.534426', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62926, 'Corona', 2822, '57227', '605', '45.362594', '-96.656393', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62927, 'Linden Beach', 2822, '57227', '605', '45.362594', '-96.656393', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62928, 'Shady Beach', 2822, '57227', '605', '45.362594', '-96.656393', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62929, 'Dempster', 2822, '57234', '605', '44.593934', '-96.9259', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62930, 'Estelline', 2822, '57234', '605', '44.593934', '-96.9259', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62931, 'Hayti', 2822, '57241', '605', '44.709514', '-97.238983', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62932, 'Thomas', 2822, '57241', '605', '44.709514', '-97.238983', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62933, 'Henry', 2822, '57243', '605', '44.912865', '-97.391994', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62934, 'Roslyn', 2822, '57261', '605', '45.536801', '-97.580751', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62935, 'Ethan', 2822, '57334', '605', '43.521861', '-97.998855', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62936, 'Letcher', 2822, '57359', '605', '43.899683', '-98.191149', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62937, 'Storla', 2822, '57359', '605', '43.899683', '-98.191149', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62938, 'Plankinton', 2822, '57368', '605', '43.761038', '-98.475132', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62939, 'Aberdeen', 2822, '57402', '605', '45.4647', '-98.4862', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62940, 'Bath', 2822, '57427', '605', '45.487806', '-98.318484', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62941, 'Menno', 2822, '57045', '605', '43.23412', '-97.519934', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62942, 'De Smet', 2822, '57231', '605', '44.369474', '-97.562312', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62943, 'Alsville', 2822, '57248', '605', '44.564772', '-97.198969', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62944, 'Lake Norden', 2822, '57248', '605', '44.564772', '-97.198969', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62945, 'South Shore', 2822, '57263', '605', '45.144953', '-97.049449', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62946, 'Willow Lake', 2822, '57278', '605', '44.631069', '-97.73496', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62947, 'Madsen Beach', 2822, '57279', '605', '45.412994', '-96.839601', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62948, 'Sodak Park', 2822, '57279', '605', '45.412994', '-96.839601', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62949, 'Wilmot', 2822, '57279', '605', '45.412994', '-96.839601', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62950, 'Artesian', 2822, '57314', '605', '44.022908', '-97.981808', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62951, 'Forestburg', 2822, '57314', '605', '44.022908', '-97.981808', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62952, 'Clayton', 2822, '57332', '605', '43.514586', '-97.663304', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62953, 'Emery', 2822, '57332', '605', '43.514586', '-97.663304', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62954, 'Highmore', 2822, '57345', '605', '44.54507', '-99.487366', '2018-11-29 05:09:02', '2018-11-29 05:09:02'),\n(62955, 'Howell', 2822, '57345', '605', '44.54507', '-99.487366', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62956, 'Tennis', 2822, '57345', '605', '44.54507', '-99.487366', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62957, 'Stephan', 2822, '57346', '605', '44.237077', '-99.421418', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62958, 'Bonilla', 2822, '57348', '605', '44.624754', '-98.372341', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62959, 'Hitchcock', 2822, '57348', '605', '44.624754', '-98.372341', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62960, 'Mount Vernon', 2822, '57363', '605', '43.689046', '-98.248923', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62961, 'Oacoma', 2822, '57365', '605', '43.802977', '-99.406226', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62962, 'Virgil', 2822, '57379', '605', '44.254662', '-98.538647', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62963, 'Danforth', 2822, '57381', '605', '44.41536', '-98.755952', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62964, 'Vayland', 2822, '57381', '605', '44.41536', '-98.755952', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62965, 'Wessington', 2822, '57381', '605', '44.41536', '-98.755952', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62966, 'Wessingtn Spg', 2822, '57382', '605', '44.102148', '-98.679331', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62967, 'Wessington Springs', 2822, '57382', '605', '44.102148', '-98.679331', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62968, 'Britton', 2822, '57430', '605', '45.790744', '-97.70911', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62969, 'Kidder', 2822, '57430', '605', '45.790744', '-97.70911', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62970, 'Newark', 2822, '57430', '605', '45.790744', '-97.70911', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62971, 'Spain', 2822, '57430', '605', '45.790744', '-97.70911', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62972, 'Lacy', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62973, 'Laroche', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62974, 'Lindsey', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62975, 'Mission Ridge', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62976, 'Norman Ranch', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62977, 'Orton', 2822, '57532', '605', '44.475792', '-100.529515', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62978, 'Long Valley', 2822, '57547', '605', '43.593018', '-101.384542', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62979, 'Okreek', 2822, '57563', '605', '43.353942', '-100.382622', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62980, 'Kasper', 2822, '57564', '605', '44.722541', '-100.060798', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62981, 'Onida', 2822, '57564', '605', '44.722541', '-100.060798', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62982, 'Parmelee', 2822, '57566', '605', '43.3095', '-100.969611', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62983, 'Herreid', 2822, '57632', '605', '45.847745', '-100.051258', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62984, 'Pollock', 2822, '57648', '605', '45.837284', '-100.304839', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62985, 'Date', 2822, '57649', '605', '45.505808', '-102.813678', '2018-11-29 05:09:03', '2018-11-29 05:09:03'),\n(62986, 'Glendo', 2822, '57649', '605', '45.505808', '-102.813678', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62987, 'Imogene', 2822, '57649', '605', '45.505808', '-102.813678', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62988, 'Prairie City', 2822, '57649', '605', '45.505808', '-102.813678', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62989, 'Strool', 2822, '57649', '605', '45.505808', '-102.813678', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62990, 'Allen', 2822, '57714', '605', '43.295686', '-101.902004', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62991, 'Bakerville', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62992, 'Bluebell', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62993, 'Crazy Horse', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62994, 'Custer', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62995, 'Game Lodge', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62996, 'Harney Peak', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62997, 'Sanator', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62998, 'Sylvan Lake', 2822, '57730', '605', '43.708374', '-103.745192', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(62999, 'Oral', 2822, '57766', '605', '43.345998', '-103.202529', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63000, 'Spearfish', 2822, '57783', '605', '44.474208', '-103.883664', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63001, 'Black Hills State University', 2822, '57799', '605', '44.498715', '-103.872583', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63002, 'Spearfish', 2822, '57799', '605', '44.498715', '-103.872583', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63003, 'Maverick', 2822, '57747', '605', '43.347211', '-103.479166', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63004, 'Minnekata', 2822, '57747', '605', '43.347211', '-103.479166', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63005, 'Oelrichs', 2822, '57763', '605', '43.110584', '-103.17401', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63006, 'Oglala', 2822, '57764', '605', '43.269206', '-102.764837', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63007, 'Smithwick', 2822, '57782', '605', '43.260059', '-103.16947', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63008, 'Gorman', 2822, '57442', '605', '45.057025', '-100.130575', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63009, 'Craven', 2822, '57451', '605', '45.418986', '-98.876851', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63010, 'Ipswich', 2822, '57451', '605', '45.418986', '-98.876851', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63011, 'Mina', 2822, '57451', '605', '45.418986', '-98.876851', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63012, 'Powell', 2822, '57451', '605', '45.418986', '-98.876851', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63013, 'Orient', 2822, '57467', '605', '44.860327', '-99.129568', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63014, 'Polo', 2822, '57467', '605', '44.860327', '-99.129568', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63015, 'Redfield', 2822, '57469', '605', '44.866772', '-98.557312', '2018-11-29 05:09:04', '2018-11-29 05:09:04'),\n(63016, 'Zell', 2822, '57469', '605', '44.866772', '-98.557312', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63017, 'Ames', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63018, 'Canning', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63019, 'Eakin', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63020, 'Fairbank', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63021, 'Francis', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63022, 'Oahe', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63023, 'Okobojo', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63024, 'Pierre', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63025, 'Rousseau', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63026, 'Wendt', 2822, '57501', '605', '44.567083', '-100.267233', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63027, 'Grass Rope', 2822, '57569', '605', '43.79167', '-99.574897', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63028, 'Lyman', 2822, '57569', '605', '43.79167', '-99.574897', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63029, 'Reliance', 2822, '57569', '605', '43.79167', '-99.574897', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63030, 'Auance', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63031, 'Cooper', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63032, 'Edson', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63033, 'Faith', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63034, 'Maurine', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63035, 'Moreau', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63036, 'Usta', 2822, '57626', '605', '44.936731', '-102.356678', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63037, 'Kenel', 2822, '57642', '605', '45.70832', '-101.018093', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63038, 'Maple Leaf', 2822, '57642', '605', '45.70832', '-101.018093', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63039, 'Mc Laughlin', 2822, '57642', '605', '45.70832', '-101.018093', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63040, 'Arpan', 2822, '57762', '605', '44.648331', '-103.522714', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63041, 'Nisland', 2822, '57762', '605', '44.648331', '-103.522714', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63042, 'Bethlehem', 2822, '57769', '605', '44.238821', '-103.272131', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63043, 'Grashul', 2822, '57769', '605', '44.238821', '-103.272131', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63044, 'Piedmont', 2822, '57769', '605', '44.238821', '-103.272131', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63045, 'Summerset', 2822, '57769', '605', '44.238821', '-103.272131', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63046, 'Tilford', 2822, '57769', '605', '44.238821', '-103.272131', '2018-11-29 05:09:05', '2018-11-29 05:09:05'),\n(63047, 'Redig', 2822, '57776', '605', '45.2714', '-103.5476', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63048, 'Chalk Butte', 2822, '57787', '605', '44.690635', '-102.730364', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63049, 'Red Owl', 2822, '57787', '605', '44.690635', '-102.730364', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63050, 'Stoneville', 2822, '57787', '605', '44.690635', '-102.730364', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63051, 'Union Center', 2822, '57787', '605', '44.690635', '-102.730364', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63052, 'Lesterville', 2822, '57040', '605', '43.067616', '-97.577756', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63053, 'Oldham', 2822, '57051', '605', '44.22517', '-97.340544', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63054, 'Claire City', 2822, '57224', '605', '45.877219', '-97.102892', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63055, 'Hazel', 2822, '57242', '605', '44.78244', '-97.309356', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63056, 'Lake Preston', 2822, '57249', '605', '44.37604', '-97.379562', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63057, 'Marvin', 2822, '57251', '605', '45.283108', '-96.948605', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63058, 'Betts', 2822, '57301', '605', '43.718253', '-98.02626', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63059, 'Lake Mitchell', 2822, '57301', '605', '43.718253', '-98.02626', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63060, 'Loomis', 2822, '57301', '605', '43.718253', '-98.02626', '2018-11-29 05:09:06', '2018-11-29 05:09:06');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(63061, 'Mitchell', 2822, '57301', '605', '43.718253', '-98.02626', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63062, 'Bonesteel', 2822, '57317', '605', '43.083744', '-99.041184', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63063, 'Cavour', 2822, '57324', '605', '44.318416', '-98.035726', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63064, 'Chamberlain', 2822, '57326', '605', '43.8108', '-99.3303', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63065, 'St Joseph Indian School', 2822, '57326', '605', '43.8108', '-99.3303', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63066, 'Bovee', 2822, '57342', '605', '43.223576', '-98.691032', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63067, 'Geddes', 2822, '57342', '605', '43.223576', '-98.691032', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63068, 'Harrison', 2822, '57344', '605', '43.434656', '-98.615786', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63069, 'Argonne', 2822, '57349', '605', '44.036858', '-97.560879', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63070, 'Howard', 2822, '57349', '605', '44.036858', '-97.560879', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63071, 'Roswell', 2822, '57349', '605', '44.036858', '-97.560879', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63072, 'Vilas', 2822, '57349', '605', '44.036858', '-97.560879', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63073, 'Lane', 2822, '57358', '605', '44.08026', '-98.432178', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63074, 'Spencer', 2822, '57374', '605', '43.754012', '-97.588798', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63075, 'Tripp', 2822, '57376', '605', '43.225962', '-97.952833', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63076, 'Woonsocket', 2822, '57385', '605', '44.059547', '-98.271484', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63077, 'Toronto', 2822, '57268', '605', '44.572194', '-96.715352', '2018-11-29 05:09:06', '2018-11-29 05:09:06'),\n(63078, 'Bailey', 2822, '57341', '605', '44.065335', '-99.107537', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63079, 'Gann Valley', 2822, '57341', '605', '44.065335', '-99.107537', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63080, 'Broadland', 2822, '57350', '605', '44.379236', '-98.175826', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63081, 'Huron', 2822, '57350', '605', '44.379236', '-98.175826', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63082, 'Huron Colony', 2822, '57350', '605', '44.379236', '-98.175826', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63083, 'James Valley', 2822, '57350', '605', '44.379236', '-98.175826', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63084, 'Lake Byron', 2822, '57350', '605', '44.379236', '-98.175826', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63085, 'Marty', 2822, '57361', '605', '43.001499', '-98.426982', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63086, 'Wolsey', 2822, '57384', '605', '44.422422', '-98.488031', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63087, 'Yale', 2822, '57386', '605', '44.514825', '-97.976101', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63088, 'Bridgewater', 2822, '57319', '605', '43.557414', '-97.487588', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63089, 'Dolton', 2822, '57319', '605', '43.557414', '-97.487588', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63090, 'Silver Lake', 2822, '57319', '605', '43.557414', '-97.487588', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63091, 'Stanley Corner', 2822, '57319', '605', '43.557414', '-97.487588', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63092, 'Bancroft', 2822, '57353', '605', '44.369504', '-97.83345', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63093, 'Esmond', 2822, '57353', '605', '44.369504', '-97.83345', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63094, 'Iroquois', 2822, '57353', '605', '44.369504', '-97.83345', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63095, 'Manchester', 2822, '57353', '605', '44.369504', '-97.83345', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63096, 'Dakota Central Mpc', 2822, '57399', '605', '44.3633', '-98.2137', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63097, 'Huron', 2822, '57399', '605', '44.3633', '-98.2137', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63098, 'United States Postal Service', 2822, '57399', '605', '44.3633', '-98.2137', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63099, 'Barnard', 2822, '57426', '605', '45.720298', '-98.507473', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63100, 'Brainard', 2822, '57426', '605', '45.720298', '-98.507473', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63101, 'Parker', 2822, '57053', '605', '43.40688', '-97.142242', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63102, 'Sioux Falls', 2822, '57104', '605', '43.597354', '-96.701257', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63103, 'Sioux Falls', 2822, '57105', '605', '43.52211', '-96.733952', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63104, 'Shindler', 2822, '57106', '605', '43.50241', '-96.830385', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63105, 'Sioux Falls', 2822, '57106', '605', '43.50241', '-96.830385', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63106, 'Castlewood', 2822, '57223', '605', '44.717184', '-97.006048', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63107, 'Kones Corner', 2822, '57223', '605', '44.717184', '-97.006048', '2018-11-29 05:09:07', '2018-11-29 05:09:07'),\n(63108, 'Gary', 2822, '57237', '605', '44.847615', '-96.544978', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63109, 'Hammer', 2822, '57255', '605', '45.877724', '-96.91571', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63110, 'New Effington', 2822, '57255', '605', '45.877724', '-96.91571', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63111, 'Ortley', 2822, '57256', '605', '45.26117', '-97.16494', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63112, 'Hillhead', 2822, '57270', '605', '45.833592', '-97.355823', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63113, 'Veblen', 2822, '57270', '605', '45.833592', '-97.355823', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63114, 'Blue Dog Lake', 2822, '57273', '605', '45.313275', '-97.296168', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63115, 'Waubay', 2822, '57273', '605', '45.313275', '-97.296168', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63116, 'Canova', 2822, '57321', '605', '43.870302', '-97.56005', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63117, 'Epiphany', 2822, '57321', '605', '43.870302', '-97.56005', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63118, 'Kaylor', 2822, '57354', '605', '43.2126', '-97.8157', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63119, 'Center', 2822, '57058', '605', '43.761086', '-97.368866', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63120, 'Salem', 2822, '57058', '605', '43.761086', '-97.368866', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63121, 'Unityville', 2822, '57058', '605', '43.761086', '-97.368866', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63122, 'Trent', 2822, '57065', '605', '43.891426', '-96.61095', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63123, 'Janesville', 2822, '57067', '605', '43.045924', '-97.497254', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63124, 'Utica', 2822, '57067', '605', '43.045924', '-97.497254', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63125, 'Winfred', 2822, '57076', '605', '43.986393', '-97.339707', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63126, 'Sioux Falls', 2822, '57108', '605', '43.473313', '-96.689634', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63127, 'Sioux Falls', 2822, '57110', '605', '43.549688', '-96.631134', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63128, 'Appleby', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63129, 'Foley', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63130, 'Grover', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63131, 'Kampeska', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63132, 'Pelican', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63133, 'Rauville', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63134, 'Watertown', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63135, 'Waverly', 2822, '57201', '605', '44.948464', '-97.126064', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63136, 'Bradley', 2822, '57217', '605', '45.065303', '-97.616543', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63137, 'Crocker', 2822, '57217', '605', '45.065303', '-97.616543', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63138, 'Bristol', 2822, '57219', '605', '45.282914', '-97.737288', '2018-11-29 05:09:08', '2018-11-29 05:09:08'),\n(63139, 'Butler', 2822, '57219', '605', '45.282914', '-97.737288', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63140, 'Erwin', 2822, '57233', '605', '44.492475', '-97.380451', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63141, 'Spirit Lake', 2822, '57233', '605', '44.492475', '-97.380451', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63142, 'Clark Colony', 2822, '57258', '605', '44.892115', '-97.919521', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63143, 'Raymond', 2822, '57258', '605', '44.892115', '-97.919521', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63144, 'Rosholt', 2822, '57260', '605', '45.877473', '-96.709138', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63145, 'Victor', 2822, '57260', '605', '45.877473', '-96.709138', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63146, 'White Rock', 2822, '57260', '605', '45.877473', '-96.709138', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63147, 'Twin Brooks', 2822, '57269', '605', '45.230668', '-96.808307', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63148, 'Holmquist', 2822, '57274', '605', '45.326075', '-97.544705', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63149, 'Lily', 2822, '57274', '605', '45.326075', '-97.544705', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63150, 'Webster', 2822, '57274', '605', '45.326075', '-97.544705', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63151, 'Fairfax', 2822, '57335', '605', '43.076756', '-98.720646', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63152, 'Pickstown', 2822, '57367', '605', '43.036803', '-98.521804', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63153, 'Academy', 2822, '57369', '605', '43.390762', '-99.012836', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63154, 'Eagle', 2822, '57369', '605', '43.390762', '-99.012836', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63155, 'Platte', 2822, '57369', '605', '43.390762', '-99.012836', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63156, 'Robey', 2822, '57383', '605', '43.717846', '-98.666897', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63157, 'White Lake', 2822, '57383', '605', '43.717846', '-98.666897', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63158, 'Aberdeen', 2822, '57401', '605', '45.467451', '-98.527454', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63159, 'Beebe', 2822, '57401', '605', '45.467451', '-98.527454', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63160, 'Ordway', 2822, '57401', '605', '45.467451', '-98.527454', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63161, 'Bowdle', 2822, '57428', '605', '45.419284', '-99.646827', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63162, 'Dry Wood Lake', 2822, '57262', '605', '45.689015', '-96.931245', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63163, 'Sisseton', 2822, '57262', '605', '45.689015', '-96.931245', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63164, 'Tekakwitha', 2822, '57262', '605', '45.689015', '-96.931245', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63165, 'Armour', 2822, '57313', '605', '43.305696', '-98.386246', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63166, 'Dante', 2822, '57329', '605', '42.98242', '-98.161962', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63167, 'Delmont', 2822, '57330', '605', '43.261737', '-98.168087', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63168, 'Como', 2822, '57362', '605', '44.488243', '-99.069098', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63169, 'Miller', 2822, '57362', '605', '44.488243', '-99.069098', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63170, 'Joubert', 2822, '57364', '605', '43.42053', '-98.608332', '2018-11-29 05:09:09', '2018-11-29 05:09:09'),\n(63171, 'New Holland', 2822, '57364', '605', '43.42053', '-98.608332', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63172, 'Hosmer', 2822, '57448', '605', '45.614394', '-99.434051', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63173, 'Chelsea', 2822, '57465', '605', '45.150206', '-98.691164', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63174, 'Northville', 2822, '57465', '605', '45.150206', '-98.691164', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63175, 'Warner', 2822, '57479', '605', '45.321492', '-98.433732', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63176, 'Westport', 2822, '57481', '605', '45.642386', '-98.652476', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63177, 'Wetonka', 2822, '57481', '605', '45.642386', '-98.652476', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63178, 'Draper', 2822, '57531', '605', '43.94279', '-100.502814', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63179, 'Okaton', 2822, '57562', '605', '43.964008', '-100.922242', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63180, 'Carter', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63181, 'Clearfield', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63182, 'Keyapaha', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63183, 'Millboro', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63184, 'Mosher', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63185, 'Weaver', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63186, 'Wewela', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63187, 'Winner', 2822, '57580', '605', '43.249103', '-99.882258', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63188, 'Glencross', 2822, '57630', '605', '45.42966', '-100.885745', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63189, 'Glenham', 2822, '57631', '605', '45.581236', '-100.265142', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63190, 'Batesland', 2822, '57716', '605', '43.118712', '-102.25885', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63191, 'Denby', 2822, '57716', '605', '43.118712', '-102.25885', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63192, 'Heppner', 2822, '57747', '605', '43.347211', '-103.479166', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63193, 'Hot Springs', 2822, '57747', '605', '43.347211', '-103.479166', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63194, 'Mission Hill', 2822, '57046', '605', '42.966888', '-97.302066', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63195, 'Montrose', 2822, '57048', '605', '43.7174', '-97.1596', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63196, 'Ramsey', 2822, '57048', '605', '43.7174', '-97.1596', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63197, 'Lake Sinai', 2822, '57061', '605', '44.246454', '-97.038922', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63198, 'Sinai', 2822, '57061', '605', '44.246454', '-97.038922', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63199, 'Janousek', 2822, '57063', '605', '42.926451', '-97.6945', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63200, 'Lakeport', 2822, '57063', '605', '42.926451', '-97.6945', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63201, 'Tabor', 2822, '57063', '605', '42.926451', '-97.6945', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63202, 'Yankton', 2822, '57078', '605', '42.935337', '-97.457', '2018-11-29 05:09:10', '2018-11-29 05:09:10'),\n(63203, 'Augustana College', 2822, '57197', '605', '43.524696', '-96.738746', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63204, 'Sioux Falls', 2822, '57197', '605', '43.524696', '-96.738746', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63205, 'Arlington', 2822, '57212', '605', '44.383934', '-97.158546', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63206, 'Hetland', 2822, '57212', '605', '44.383934', '-97.158546', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63207, 'Lake Poinsett', 2822, '57212', '605', '44.383934', '-97.158546', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63208, 'Badger', 2822, '57214', '605', '44.477926', '-97.209022', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63209, 'Lake City', 2822, '57247', '605', '45.696678', '-97.395618', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63210, 'Red Iron Lake', 2822, '57247', '605', '45.696678', '-97.395618', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63211, 'Stockholm', 2822, '57264', '605', '45.106538', '-96.81201', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63212, 'Strandburg', 2822, '57265', '605', '44.959338', '-96.783611', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63213, 'Troy', 2822, '57265', '605', '44.959338', '-96.783611', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63214, 'Alpena', 2822, '57312', '605', '44.190192', '-98.392513', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63215, 'Avon', 2822, '57315', '605', '42.995994', '-98.035562', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63216, 'Corsica', 2822, '57328', '605', '43.421032', '-98.427865', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63217, 'Dimock', 2822, '57331', '605', '43.463241', '-98.045585', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63218, 'Greenwood', 2822, '57380', '605', '43.041107', '-98.312967', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63219, 'Wagner', 2822, '57380', '605', '43.041107', '-98.312967', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63220, 'Brentford', 2822, '57429', '605', '45.17042', '-98.288448', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63221, 'Lyons', 2822, '57041', '605', '43.72488', '-96.860999', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63222, 'Nunda', 2822, '57050', '605', '44.152418', '-97.009136', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63223, 'Rutland', 2822, '57057', '605', '44.087614', '-96.948922', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63224, 'Ben Claire', 2822, '57068', '605', '43.573132', '-96.510804', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63225, 'Valley Spgs', 2822, '57068', '605', '43.573132', '-96.510804', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63226, 'Valley Springs', 2822, '57068', '605', '43.573132', '-96.510804', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63227, 'Lake Madison', 2822, '57075', '605', '44.000536', '-96.977352', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63228, 'Smiths Park', 2822, '57075', '605', '44.000536', '-96.977352', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63229, 'Wentworth', 2822, '57075', '605', '44.000536', '-96.977352', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63230, 'Worthing', 2822, '57077', '605', '43.292635', '-96.756811', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63231, 'Brandt', 2822, '57218', '605', '44.674416', '-96.668083', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63232, 'Clark', 2822, '57225', '605', '44.891582', '-97.676319', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63233, 'Milbank', 2822, '57252', '605', '45.202034', '-96.606273', '2018-11-29 05:09:11', '2018-11-29 05:09:11'),\n(63234, 'Johnsonville', 2822, '57268', '605', '44.572194', '-96.715352', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63235, 'Hurley', 2822, '57036', '605', '43.279054', '-97.141738', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63236, 'Turkey Ridge', 2822, '57036', '605', '43.279054', '-97.141738', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63237, 'Jefferson', 2822, '57038', '605', '42.57694', '-96.598648', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63238, 'Lennox', 2822, '57039', '605', '43.323282', '-96.875532', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63239, 'Naomi', 2822, '57039', '605', '43.323282', '-96.875532', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63240, 'Ramona', 2822, '57054', '605', '44.130712', '-97.249809', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63241, 'Center Point', 2822, '57070', '605', '43.174234', '-97.190828', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63242, 'Hooker', 2822, '57070', '605', '43.174234', '-97.190828', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63243, 'Midway', 2822, '57070', '605', '43.174234', '-97.190828', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63244, 'Swan Lake', 2822, '57070', '605', '43.174234', '-97.190828', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63245, 'Viborg', 2822, '57070', '605', '43.174234', '-97.190828', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63246, 'Wakonda', 2822, '57073', '605', '43.011452', '-97.06203', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63247, 'Paytrust', 2822, '57186', '605', '43.5503', '-96.7002', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63248, 'Sioux Falls', 2822, '57186', '605', '43.5503', '-96.7002', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63249, 'Bruce', 2822, '57220', '605', '44.45658', '-96.90701', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63250, 'Oakwood Lake', 2822, '57220', '605', '44.45658', '-96.90701', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63251, 'Bryant', 2822, '57221', '605', '44.608032', '-97.481344', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63252, 'Bemis', 2822, '57238', '605', '44.883614', '-96.84352', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63253, 'Goodwin', 2822, '57238', '605', '44.883614', '-96.84352', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63254, 'Wallace', 2822, '57272', '605', '45.08666', '-97.432758', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63255, 'Bloomfield', 2822, '57322', '605', '44.608646', '-97.996356', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63256, 'Carpenter', 2822, '57322', '605', '44.608646', '-97.996356', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63257, 'Crow Creek', 2822, '57339', '605', '44.064131', '-99.34147', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63258, 'Fort Thompson', 2822, '57339', '605', '44.064131', '-99.34147', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63259, 'Fulton', 2822, '57340', '605', '43.761941', '-97.868384', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63260, 'Plano', 2822, '57340', '605', '43.761941', '-97.868384', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63261, 'Kimball', 2822, '57355', '605', '43.760436', '-98.973528', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63262, 'Lyonville', 2822, '57355', '605', '43.760436', '-98.973528', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63263, 'Pukwana', 2822, '57370', '605', '43.796068', '-99.152568', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63264, 'Shelby', 2822, '57370', '605', '43.796068', '-99.152568', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63265, 'Ree Heights', 2822, '57371', '605', '44.436437', '-99.218814', '2018-11-29 05:09:12', '2018-11-29 05:09:12'),\n(63266, 'Akaska', 2822, '57420', '605', '45.31895', '-100.174175', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63267, 'Amherst', 2822, '57421', '605', '45.733301', '-97.916986', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63268, 'Andover', 2822, '57422', '605', '45.392177', '-97.939193', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63269, 'Elm Lake', 2822, '57441', '605', '45.823022', '-98.485695', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63270, 'Frederick', 2822, '57441', '605', '45.823022', '-98.485695', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63271, 'Hoven', 2822, '57450', '605', '45.230985', '-99.825346', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63272, 'Onaka', 2822, '57466', '605', '45.230895', '-99.456916', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63273, 'Agar', 2822, '57520', '605', '44.846356', '-100.200496', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63274, 'Hamill', 2822, '57534', '605', '43.619552', '-99.743204', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63275, 'Hiles', 2822, '57577', '605', '43.571174', '-101.816043', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63276, 'Hisle', 2822, '57577', '605', '43.571174', '-101.816043', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63277, 'Wanblee', 2822, '57577', '605', '43.571174', '-101.816043', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63278, 'Witten', 2822, '57584', '605', '43.48671', '-100.066952', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63279, 'Walker', 2822, '57659', '605', '45.7658', '-101.0804', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63280, 'Hisega', 2822, '57702', '605', '44.011325', '-103.404565', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63281, 'Pactola Lake', 2822, '57702', '605', '44.011325', '-103.404565', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63282, 'Rapid City', 2822, '57702', '605', '44.011325', '-103.404565', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63283, 'Rockerville', 2822, '57702', '605', '44.011325', '-103.404565', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63284, 'Silver City', 2822, '57702', '605', '44.011325', '-103.404565', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63285, 'Rapid City', 2822, '57709', '605', '44.0806', '-103.2309', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63286, 'Buffalo', 2822, '57720', '605', '45.578942', '-103.498861', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63287, 'Deerfield', 2822, '57745', '605', '43.997309', '-103.775444', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63288, 'Hill City', 2822, '57745', '605', '43.997309', '-103.775444', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63289, 'Mystic', 2822, '57745', '605', '43.997309', '-103.775444', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63290, 'Rochford', 2822, '57745', '605', '43.997309', '-103.775444', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63291, 'Celina', 2824, '75009', '972', '33.333798', '-96.750487', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63292, 'Irving', 2824, '75014', '972', '32.8139', '-96.9488', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63293, 'Plano', 2824, '75023', '972', '33.054712', '-96.731202', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63294, 'Frisco', 2824, '75034', '972', '33.150307', '-96.879615', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63295, 'Lakewood Village', 2824, '75068', '972', '33.174021', '-96.950066', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63296, 'Lakewood Vlg', 2824, '75068', '972', '33.174021', '-96.950066', '2018-11-29 05:09:13', '2018-11-29 05:09:13'),\n(63297, 'Little Elm', 2824, '75068', '972', '33.174021', '-96.950066', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63298, 'Oak Point', 2824, '75068', '972', '33.174021', '-96.950066', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63299, 'Plano', 2824, '75075', '972', '33.019164', '-96.7384', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63300, 'Sherman', 2824, '75091', '903', '33.6359', '-96.6087', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63301, 'Plano', 2824, '75093', '972', '33.036713', '-96.813533', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63302, 'Lucas', 2824, '75098', '972', '33.023036', '-96.538922', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63303, 'St Paul', 2824, '75098', '972', '33.023036', '-96.538922', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63304, 'Wylie', 2824, '75098', '972', '33.023036', '-96.538922', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63305, 'Elmo', 2824, '75118', '972', '32.7219', '-96.1654', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63306, 'Mesquite', 2824, '75150', '972', '32.8199', '-96.635135', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63307, 'Waxahachie', 2824, '75168', '972', '32.3964', '-96.8383', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63308, 'Dallas', 2824, '75209', '214', '32.844254', '-96.833186', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63309, 'Highland Park', 2824, '75209', '214', '32.844254', '-96.833186', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63310, 'Dallas', 2824, '75243', '214', '32.913819', '-96.733495', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63311, 'Dallas', 2824, '75248', '972', '32.968925', '-96.798418', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63312, 'Dallas', 2824, '75250', '972', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63313, 'Dallas', 2824, '75252', '972', '32.995663', '-96.78588', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63314, 'Prestonwood', 2824, '75252', '972', '32.995663', '-96.78588', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63315, 'Dallas', 2824, '75266', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63316, 'Dallas', 2824, '75277', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63317, 'Dallas City Water Dept', 2824, '75277', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63318, 'Dallas', 2824, '75359', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63319, 'Dallas', 2824, '75368', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63320, 'State Farm Insurance', 2824, '75368', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63321, 'Dallas', 2824, '75382', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63322, 'Chase Bank', 2824, '75391', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63323, 'Dallas', 2824, '75391', '214', '32.7835', '-96.8001', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63324, 'Princeton', 2824, '75407', '972', '33.145432', '-96.488602', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63325, 'Chicota', 2824, '75425', '903', '33.8673', '-95.5696', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63326, 'Cunningham', 2824, '75434', '903', '33.40914', '-95.371039', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63327, 'Gober', 2824, '75443', '903', '33.4697', '-96.0893', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63328, 'Mount Vernon', 2824, '75457', '903', '33.206201', '-95.216542', '2018-11-29 05:09:14', '2018-11-29 05:09:14'),\n(63329, 'Mt Vernon', 2824, '75457', '903', '33.206201', '-95.216542', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63330, 'Dorchester', 2824, '75459', '903', '33.544843', '-96.677076', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63331, 'Howe', 2824, '75459', '903', '33.544843', '-96.677076', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63332, 'Pattonville', 2824, '75468', '903', '33.562472', '-95.393472', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63333, 'Roxton', 2824, '75477', '903', '33.538264', '-95.750796', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63334, 'Beaver Dam', 2824, '75559', '903', '33.481429', '-94.578612', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63335, 'College Hill', 2824, '75559', '903', '33.481429', '-94.578612', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63336, 'Dalby Springs', 2824, '75559', '903', '33.481429', '-94.578612', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63337, 'De Kalb', 2824, '75559', '903', '33.481429', '-94.578612', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63338, 'Hodgson', 2824, '75559', '903', '33.481429', '-94.578612', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63339, 'Siloam', 2824, '75559', '903', '33.481429', '-94.578612', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63340, 'Barkman', 2824, '75561', '903', '33.481751', '-94.295471', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63341, 'Burns', 2824, '75561', '903', '33.481751', '-94.295471', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63342, 'Hooks', 2824, '75561', '903', '33.481751', '-94.295471', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63343, 'Redbank', 2824, '75561', '903', '33.481751', '-94.295471', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63344, 'Smith Hill', 2824, '75561', '903', '33.481751', '-94.295471', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63345, 'Victory City', 2824, '75561', '903', '33.481751', '-94.295471', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63346, 'Boston', 2824, '75570', '903', '33.454834', '-94.449964', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63347, 'Malta', 2824, '75570', '903', '33.454834', '-94.449964', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63348, 'New Boston', 2824, '75570', '903', '33.454834', '-94.449964', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63349, 'Old Boston', 2824, '75570', '903', '33.454834', '-94.449964', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63350, 'Whaley', 2824, '75570', '903', '33.454834', '-94.449964', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63351, 'Redwater', 2824, '75573', '903', '33.349024', '-94.264708', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63352, 'Greggton', 2824, '75604', '903', '32.522112', '-94.832536', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63353, 'Longview', 2824, '75604', '903', '32.522112', '-94.832536', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63354, 'Greggton', 2824, '75605', '903', '32.583303', '-94.722994', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63355, 'Longview', 2824, '75605', '903', '32.583303', '-94.722994', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63356, 'Longview', 2824, '75606', '903', '32.5006', '-94.7405', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63357, 'Longview', 2824, '75607', '903', '32.5006', '-94.7405', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63358, 'Berea', 2824, '75657', '903', '32.775622', '-94.35515', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63359, 'Gray', 2824, '75657', '903', '32.775622', '-94.35515', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63360, 'Jefferson', 2824, '75657', '903', '32.775622', '-94.35515', '2018-11-29 05:09:15', '2018-11-29 05:09:15'),\n(63361, 'Smithland', 2824, '75657', '903', '32.775622', '-94.35515', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63362, 'Chapel Hill', 2824, '75707', '903', '32.286774', '-95.174772', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63363, 'Tyler', 2824, '75707', '903', '32.286774', '-95.174772', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63364, 'Garden Valley', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63365, 'Hide A Way', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63366, 'Hide A Way Lake', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63367, 'Hideaway', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63368, 'Lindale', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63369, 'Mt Sylvan', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63370, 'Thedford', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63371, 'Wood Springs', 2824, '75771', '903', '32.533769', '-95.38966', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63372, 'Maydelle', 2824, '75772', '903', '31.8006', '-95.3025', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63373, 'Whitehouse', 2824, '75791', '903', '32.212475', '-95.223961', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63374, 'Burke', 2824, '75941', '936', '31.174884', '-94.750627', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63375, 'Diboll', 2824, '75941', '936', '31.174884', '-94.750627', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63376, 'Pine Valley', 2824, '75941', '936', '31.174884', '-94.750627', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63377, 'Shady Grove', 2824, '75941', '936', '31.174884', '-94.750627', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63378, 'Hanson', 2824, '75954', '936', '31.912047', '-94.038122', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63379, 'Haslam', 2824, '75954', '936', '31.912047', '-94.038122', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63380, 'Joaquin', 2824, '75954', '936', '31.912047', '-94.038122', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63381, 'Paxton', 2824, '75954', '936', '31.912047', '-94.038122', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63382, 'Gib Lewis Prison', 2824, '75990', '409', '30.7753', '-94.4156', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63383, 'Woodville', 2824, '75990', '409', '30.7753', '-94.4156', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63384, 'Arlington', 2824, '76005', '817', '32.7356', '-97.1075', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63385, 'Arlington', 2824, '76006', '817', '32.788636', '-97.092993', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63386, 'Aledo', 2824, '76008', '817', '32.688813', '-97.642412', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63387, 'Grand Prairie', 2824, '75052', '972', '32.658888', '-97.011879', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63388, 'Mc Kinney', 2824, '75071', '972', '33.255222', '-96.622841', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63389, 'Mckinney', 2824, '75071', '972', '33.255222', '-96.622841', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63390, 'Barry', 2824, '75102', '903', '32.08317', '-96.621395', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63391, 'Ennis', 2824, '75119', '972', '32.331354', '-96.577074', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63392, 'Ennis', 2824, '75120', '972', '32.3295', '-96.6251', '2018-11-29 05:09:16', '2018-11-29 05:09:16'),\n(63393, 'Wilmer', 2824, '75172', '972', '32.597558', '-96.67123', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63394, 'Royse City', 2824, '75189', '972', '32.938356', '-96.306981', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63395, 'Dallas', 2824, '75204', '214', '32.801944', '-96.787577', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63396, 'Dallas', 2824, '75206', '214', '32.833452', '-96.771706', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63397, 'Dallas', 2824, '75221', '214', '32.7835', '-96.8003', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63398, 'Dallas', 2824, '75237', '972', '32.662318', '-96.874226', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63399, 'Dallas', 2824, '75370', '214', '32.7803', '-96.81', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63400, 'Dallas', 2824, '75372', '214', '32.7835', '-96.8001', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63401, 'Campbell', 2824, '75422', '903', '33.139556', '-95.934281', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63402, 'Dike', 2824, '75437', '903', '33.191958', '-95.436859', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63403, 'Ector', 2824, '75439', '903', '33.595066', '-96.281839', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63404, 'Emory', 2824, '75440', '903', '32.845819', '-95.74866', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63405, 'Lone Oak', 2824, '75453', '903', '32.990737', '-95.939738', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63406, 'Melissa', 2824, '75454', '972', '33.284121', '-96.549741', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63407, 'Powderly', 2824, '75473', '903', '33.800584', '-95.499027', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63408, 'Tom Bean', 2824, '75489', '903', '33.524281', '-96.483619', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63409, 'Trenton', 2824, '75490', '903', '33.400372', '-96.327773', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63410, 'Texarkana', 2824, '75503', '903', '33.517232', '-94.130213', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63411, 'Texarkana', 2824, '75504', '903', '33.425', '-94.0478', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63412, 'Texarkana', 2824, '75505', '903', '33.425', '-94.0478', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63413, 'Bivins', 2824, '75555', '903', '32.959757', '-94.153064', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63414, 'Wiggins', 2824, '75555', '903', '32.959757', '-94.153064', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63415, 'Coppell', 2824, '75019', '972', '32.9601', '-96.982656', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63416, 'Denison', 2824, '75020', '903', '33.785333', '-96.607457', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63417, 'Grand Prairie', 2824, '75054', '972', '32.594994', '-97.046767', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63418, 'Fairview', 2824, '75069', '972', '33.180943', '-96.59432', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63419, 'Mc Kinney', 2824, '75069', '972', '33.180943', '-96.59432', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63420, 'Mckinney', 2824, '75069', '972', '33.180943', '-96.59432', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63421, 'Richardson', 2824, '75085', '972', '32.9482', '-96.7295', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63422, 'Plano', 2824, '75086', '214', '33.0197', '-96.6988', '2018-11-29 05:09:17', '2018-11-29 05:09:17'),\n(63423, 'Rowlett', 2824, '75088', '972', '32.89328', '-96.54912', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63424, 'Rowlett', 2824, '75089', '972', '32.935205', '-96.55076', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63425, 'Palmer', 2824, '75152', '972', '32.433882', '-96.683038', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63426, 'Powell', 2824, '75153', '903', '32.136402', '-96.333828', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63427, 'Rice', 2824, '75155', '903', '32.206346', '-96.43033', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63428, 'Dallas', 2824, '75202', '214', '32.77991', '-96.802744', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63429, 'Dallas', 2824, '75205', '214', '32.833389', '-96.793911', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63430, 'Highland Park', 2824, '75205', '214', '32.833389', '-96.793911', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63431, 'University Park', 2824, '75205', '214', '32.833389', '-96.793911', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63432, 'Village', 2824, '75205', '214', '32.833389', '-96.793911', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63433, 'Dallas', 2824, '75219', '214', '32.805428', '-96.814226', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63434, 'Highland Park', 2824, '75219', '214', '32.805428', '-96.814226', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63435, 'Dallas', 2824, '75222', '214', '32.7835', '-96.8003', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63436, 'Dallas', 2824, '75236', '972', '32.683676', '-96.938141', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63437, 'Dallas', 2824, '75238', '214', '32.879634', '-96.70374', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63438, 'Dallas', 2824, '75254', '972', '32.946397', '-96.799501', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63439, 'Dallas', 2824, '75270', '214', '32.78133', '-96.80198', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63440, 'Dallas', 2824, '75287', '972', '33.002005', '-96.84312', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63441, 'Dallas', 2824, '75320', '214', '32.7835', '-96.8001', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63442, 'Wells Fargo Bank', 2824, '75320', '214', '32.7835', '-96.8001', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63443, 'Dallas', 2824, '75336', '214', '32.7835', '-96.8001', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63444, 'Allen', 2824, '75002', '972', '33.083048', '-96.60993', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63445, 'Lucas', 2824, '75002', '972', '33.083048', '-96.60993', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63446, 'Parker', 2824, '75002', '972', '33.083048', '-96.60993', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63447, 'Flower Mound', 2824, '75022', '972', '33.02861', '-97.121368', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63448, 'Flowermound', 2824, '75022', '972', '33.02861', '-97.121368', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63449, 'Lewisville', 2824, '75022', '972', '33.02861', '-97.121368', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63450, 'Grand Prairie', 2824, '75053', '972', '32.7455', '-96.9975', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63451, 'Mc Kinney', 2824, '75070', '972', '33.170868', '-96.692524', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63452, 'Mckinney', 2824, '75070', '972', '33.170868', '-96.692524', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63453, 'Rockwall', 2824, '75087', '972', '32.938933', '-96.445434', '2018-11-29 05:09:18', '2018-11-29 05:09:18'),\n(63454, 'Canton', 2824, '75103', '903', '32.495387', '-95.896254', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63455, 'Cedar Hill', 2824, '75104', '972', '32.589928', '-96.968972', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63456, 'Chatfield', 2824, '75105', '903', '32.261838', '-96.375882', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63457, 'Copeville', 2824, '75121', '972', '33.087312', '-96.418153', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63458, 'Duncanville', 2824, '75137', '972', '32.633162', '-96.91314', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63459, 'Duncanville', 2824, '75138', '972', '32.6517', '-96.9082', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63460, 'Glenn Heights', 2824, '75154', '972', '32.520882', '-96.803336', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63461, 'Oak Leaf', 2824, '75154', '972', '32.520882', '-96.803336', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63462, 'Ovilla', 2824, '75154', '972', '32.520882', '-96.803336', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63463, 'Red Oak', 2824, '75154', '972', '32.520882', '-96.803336', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63464, 'Wills Point', 2824, '75169', '903', '32.709038', '-95.9994', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63465, 'Mesquite', 2824, '75187', '214', '32.7664', '-96.5987', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63466, 'Dallas', 2824, '75203', '214', '32.744837', '-96.795597', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63467, 'Dallas', 2824, '75220', '214', '32.862268', '-96.870878', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63468, 'Dallas', 2824, '75253', '972', '32.67007', '-96.61864', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63469, 'Kleberg', 2824, '75253', '972', '32.67007', '-96.61864', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63470, 'Dallas', 2824, '75303', '214', '32.7835', '-96.8001', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63471, 'Jp Morgan Chase', 2824, '75303', '214', '32.7835', '-96.8001', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63472, 'Dallas', 2824, '75354', '214', '32.7835', '-96.8001', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63473, 'Greenville', 2824, '75403', '903', '33.1395', '-96.1114', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63474, 'Greenville', 2824, '75404', '903', '33.1395', '-96.1114', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63475, 'Brashear', 2824, '75420', '903', '33.1194', '-95.7358', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63476, 'Dodd City', 2824, '75438', '903', '33.560097', '-96.049608', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63477, 'Mount Pleasant', 2824, '75455', '903', '33.234791', '-94.946191', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63478, 'Mt Pleasant', 2824, '75455', '903', '33.234791', '-94.946191', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63479, 'Mount Pleasant', 2824, '75456', '903', '33.1564', '-94.9684', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63480, 'Mt Pleasant', 2824, '75456', '903', '33.1564', '-94.9684', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63481, 'Petty', 2824, '75470', '903', '33.610258', '-95.782619', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63482, 'Bloomburg', 2824, '75556', '903', '33.133034', '-94.078598', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63483, 'Allen', 2824, '75013', '972', '33.114508', '-96.692428', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63484, 'Flower Mound', 2824, '75027', '214', '33.0364', '-97.0715', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63485, 'Flowermound', 2824, '75027', '214', '33.0364', '-97.0715', '2018-11-29 05:09:19', '2018-11-29 05:09:19'),\n(63486, 'Lewisville', 2824, '75027', '214', '33.0364', '-97.0715', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63487, 'Garland', 2824, '75045', '469', '32.9127', '-96.6389', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63488, 'Copper Canyon', 2824, '75077', '972', '33.078945', '-97.077552', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63489, 'Double Oak', 2824, '75077', '972', '33.078945', '-97.077552', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63490, 'Highland Vill', 2824, '75077', '972', '33.078945', '-97.077552', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63491, 'Highland Village', 2824, '75077', '972', '33.078945', '-97.077552', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63492, 'Lewisville', 2824, '75077', '972', '33.078945', '-97.077552', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63493, 'Kerens', 2824, '75144', '903', '32.106578', '-96.190912', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63494, 'Balch Springs', 2824, '75181', '972', '32.72737', '-96.565228', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63495, 'Mesquite', 2824, '75181', '972', '32.72737', '-96.565228', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63496, 'Dallas', 2824, '75231', '214', '32.879729', '-96.744154', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63497, 'Dallas', 2824, '75246', '214', '32.793243', '-96.772887', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63498, 'Dallas', 2824, '75247', '214', '32.81932', '-96.877465', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63499, 'Dallas', 2824, '75262', '214', '32.7803', '-96.8055', '2018-11-29 05:09:20', '2018-11-29 05:09:20');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(63500, 'Dallas', 2824, '75312', '214', '32.7835', '-96.8001', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63501, 'Mellon', 2824, '75312', '214', '32.7835', '-96.8001', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63502, 'Dallas', 2824, '75313', '214', '32.7835', '-96.8001', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63503, 'Bells', 2824, '75414', '903', '33.625516', '-96.436588', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63504, 'Savoy', 2824, '75479', '903', '33.6007', '-96.319403', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63505, 'Scroggins', 2824, '75480', '903', '33.021953', '-95.217403', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63506, 'Wolfe City', 2824, '75496', '903', '33.321494', '-96.055038', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63507, 'Lodi', 2824, '75564', '903', '32.871786', '-94.273004', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63508, 'Mc Leod', 2824, '75565', '903', '32.951032', '-94.08085', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63509, 'Mcleod', 2824, '75565', '903', '32.951032', '-94.08085', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63510, 'Addison', 2824, '75001', '972', '32.959787', '-96.838472', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63511, 'Plano', 2824, '75024', '972', '33.08382', '-96.812801', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63512, 'Plano', 2824, '75026', '972', '33.0194', '-96.6988', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63513, 'Lewisville', 2824, '75056', '972', '33.072392', '-96.907001', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63514, 'The Colony', 2824, '75056', '972', '33.072392', '-96.907001', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63515, 'Lewisville', 2824, '75067', '972', '33.01972', '-96.99141', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63516, 'Louisville', 2824, '75067', '972', '33.01972', '-96.99141', '2018-11-29 05:09:20', '2018-11-29 05:09:20'),\n(63517, 'Sherman', 2824, '75090', '903', '33.59106', '-96.544494', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63518, 'Knollwood', 2824, '75092', '903', '33.627516', '-96.719286', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63519, 'Sherman', 2824, '75092', '903', '33.627516', '-96.719286', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63520, 'Desoto', 2824, '75115', '972', '32.604112', '-96.865373', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63521, 'Forney', 2824, '75126', '972', '32.731367', '-96.446328', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63522, 'Heartland', 2824, '75126', '972', '32.731367', '-96.446328', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63523, 'Heath', 2824, '75126', '972', '32.731367', '-96.446328', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63524, 'Heathridge', 2824, '75126', '972', '32.731367', '-96.446328', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63525, 'Caddo Mills', 2824, '75135', '903', '33.074553', '-96.20795', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63526, 'Corsicana', 2824, '75151', '903', '32.0953', '-96.4688', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63527, 'Terrell', 2824, '75160', '972', '32.752064', '-96.29278', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63528, 'Waxahachie', 2824, '75165', '972', '32.322465', '-96.780605', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63529, 'Waxahachie', 2824, '75167', '972', '32.376536', '-96.930201', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63530, 'Mesquite', 2824, '75185', '214', '32.7664', '-96.5987', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63531, 'Dallas', 2824, '75208', '214', '32.751471', '-96.838668', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63532, 'Dallas', 2824, '75215', '214', '32.751138', '-96.764729', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63533, 'Dallas', 2824, '75224', '214', '32.710741', '-96.83994', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63534, 'Dallas', 2824, '75233', '214', '32.708286', '-96.874206', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63535, 'Dallas', 2824, '75240', '972', '32.932536', '-96.786826', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63536, 'Dallas', 2824, '75260', '214', '32.768', '-96.8277', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63537, 'Dallas', 2824, '75267', '469', '32.78', '-96.8102', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63538, 'Bank Of America', 2824, '75285', '214', '32.7835', '-96.8001', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63539, 'Dallas', 2824, '75285', '214', '32.7835', '-96.8001', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63540, 'Dallas', 2824, '75315', '214', '32.7835', '-96.8001', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63541, 'Dallas', 2824, '75358', '972', '32.94', '-96.87', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63542, 'Lsi', 2824, '75358', '972', '32.94', '-96.87', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63543, 'Deport', 2824, '75435', '903', '33.493351', '-95.339922', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63544, 'Farmersville', 2824, '75442', '972', '33.169911', '-96.34041', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63545, 'Ladonia', 2824, '75449', '903', '33.408331', '-95.963181', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63546, 'Leesburg', 2824, '75451', '903', '32.96508', '-95.094442', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63547, 'Merit', 2824, '75458', '903', '33.2169', '-96.2874', '2018-11-29 05:09:21', '2018-11-29 05:09:21'),\n(63548, 'Ravenna', 2824, '75476', '903', '33.695736', '-96.1408', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63549, 'Sulphur Spgs', 2824, '75483', '903', '33.1385', '-95.6006', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63550, 'Sulphur Springs', 2824, '75483', '903', '33.1385', '-95.6006', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63551, 'Windom', 2824, '75492', '903', '33.56756', '-95.997966', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63552, 'Atlanta', 2824, '75551', '903', '33.098504', '-94.159452', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63553, 'Galloway', 2824, '75551', '903', '33.098504', '-94.159452', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63554, 'Ofarrell', 2824, '75551', '903', '33.098504', '-94.159452', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63555, 'Smyrna', 2824, '75551', '903', '33.098504', '-94.159452', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63556, 'Argo', 2824, '75558', '903', '33.183675', '-94.874677', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63557, 'Cookville', 2824, '75558', '903', '33.183675', '-94.874677', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63558, 'Nash', 2824, '75569', '903', '33.443279', '-94.131894', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63559, 'Irving', 2824, '75016', '972', '32.8139', '-96.9488', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63560, 'Plano', 2824, '75025', '972', '33.095683', '-96.729308', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63561, 'Heath', 2824, '75032', '972', '32.867776', '-96.415583', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63562, 'Rockwall', 2824, '75032', '972', '32.867776', '-96.415583', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63563, 'Garland', 2824, '75043', '972', '32.862232', '-96.583677', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63564, 'Garland', 2824, '75048', '972', '32.968169', '-96.581972', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63565, 'Sachse', 2824, '75048', '972', '32.968169', '-96.581972', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63566, 'Richardson', 2824, '75082', '972', '32.99272', '-96.664312', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63567, 'Fate', 2824, '75132', '972', '32.941084', '-96.382687', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63568, 'Kemp', 2824, '75143', '903', '32.356066', '-96.28501', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63569, 'Seven Points', 2824, '75143', '903', '32.356066', '-96.28501', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63570, 'Tool', 2824, '75143', '903', '32.356066', '-96.28501', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63571, 'Log Cabin', 2824, '75148', '903', '32.132148', '-95.998047', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63572, 'Malakoff', 2824, '75148', '903', '32.132148', '-95.998047', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63573, 'Rosser', 2824, '75157', '972', '32.4628', '-96.4547', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63574, 'Combine', 2824, '75159', '972', '32.599457', '-96.558421', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63575, 'Seagoville', 2824, '75159', '972', '32.599457', '-96.558421', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63576, 'Nevada', 2824, '75173', '972', '33.041919', '-96.39347', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63577, 'Mesquite', 2824, '75182', '972', '32.794452', '-96.556753', '2018-11-29 05:09:22', '2018-11-29 05:09:22'),\n(63578, 'Sunnyvale', 2824, '75182', '972', '32.794452', '-96.556753', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63579, 'Dallas', 2824, '75207', '214', '32.781467', '-96.821474', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63580, 'Dallas', 2824, '75225', '214', '32.863466', '-96.791739', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63581, 'Dallas', 2824, '75234', '972', '32.924473', '-96.896957', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63582, 'Farmers Branch', 2824, '75234', '972', '32.924473', '-96.896957', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63583, 'Farmers Brnch', 2824, '75234', '972', '32.924473', '-96.896957', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63584, 'Dallas', 2824, '75275', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63585, 'Southern Methodist Universit', 2824, '75275', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63586, 'Anna', 2824, '75409', '972', '33.339884', '-96.527732', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63587, 'Bonham', 2824, '75418', '903', '33.561071', '-96.201646', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63588, 'Kleberg', 2824, '75336', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63589, 'Dallas', 2824, '75339', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63590, 'Dallas', 2824, '75355', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63591, 'Dallas', 2824, '75356', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63592, 'Dallas', 2824, '75371', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63593, 'Dallas', 2824, '75373', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63594, 'Jp Morgan Chase', 2824, '75373', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63595, 'Dallas', 2824, '75389', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63596, 'Pnc Bank', 2824, '75389', '214', '32.7835', '-96.8001', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63597, 'Brookston', 2824, '75421', '903', '33.6184', '-95.672249', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63598, 'Celeste', 2824, '75423', '903', '33.279077', '-96.193612', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63599, 'Detroit', 2824, '75436', '903', '33.68384', '-95.222143', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63600, 'Pickton', 2824, '75471', '903', '33.033261', '-95.452286', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63601, 'East Tawakoni', 2824, '75472', '903', '32.872718', '-95.883009', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63602, 'Point', 2824, '75472', '903', '32.872718', '-95.883009', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63603, 'Talco', 2824, '75487', '903', '33.325473', '-95.02746', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63604, 'Telephone', 2824, '75488', '903', '33.809797', '-96.016178', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63605, 'Avery', 2824, '75554', '903', '33.494237', '-94.821968', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63606, 'Annetta', 2824, '76008', '817', '32.688813', '-97.642412', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63607, 'Annetta N', 2824, '76008', '817', '32.688813', '-97.642412', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63608, 'Annetta S', 2824, '76008', '817', '32.688813', '-97.642412', '2018-11-29 05:09:23', '2018-11-29 05:09:23'),\n(63609, 'Willow Park', 2824, '76008', '817', '32.688813', '-97.642412', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63610, 'Forreston', 2824, '76041', '972', '32.242538', '-96.864536', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63611, 'Itasca', 2824, '76055', '254', '32.152006', '-97.139536', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63612, 'Newark', 2824, '76071', '817', '33.011497', '-97.482888', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63613, 'Fort Worth', 2824, '76122', '817', '32.681817', '-97.348186', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63614, 'Ft Worth', 2824, '76122', '817', '32.681817', '-97.348186', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63615, 'Sw Baptist Theological Smry', 2824, '76122', '817', '32.681817', '-97.348186', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63616, 'Everman', 2824, '76140', '817', '32.619341', '-97.266964', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63617, 'Forest Hill', 2824, '76140', '817', '32.619341', '-97.266964', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63618, 'Fort Worth', 2824, '76140', '817', '32.619341', '-97.266964', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63619, 'Ft Worth', 2824, '76140', '817', '32.619341', '-97.266964', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63620, 'Fort Worth', 2824, '76155', '817', '32.817482', '-97.052456', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63621, 'Ft Worth', 2824, '76155', '817', '32.817482', '-97.052456', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63622, 'Forestburg', 2824, '76239', '940', '33.545942', '-97.603008', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63623, 'Gainesville', 2824, '76241', '940', '33.6256', '-97.1334', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63624, 'Pilot Point', 2824, '76258', '940', '33.374952', '-96.926021', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63625, 'Valley View', 2824, '76272', '940', '33.47183', '-97.169804', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63626, 'Wichita Falls', 2824, '76307', '940', '33.9136', '-98.4933', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63627, 'Bridgeport', 2824, '76426', '940', '33.160616', '-97.79829', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63628, 'Lake Bridgeport', 2824, '76426', '940', '33.160616', '-97.79829', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63629, 'Runaway Bay', 2824, '76426', '940', '33.160616', '-97.79829', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63630, 'Duffau', 2824, '76457', '254', '32.083532', '-98.059374', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63631, 'Hico', 2824, '76457', '254', '32.083532', '-98.059374', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63632, 'Sidney', 2824, '76474', '254', '31.925828', '-98.783658', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63633, 'Carrollton', 2824, '75006', '972', '32.951364', '-96.891487', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63634, 'Irving', 2824, '75017', '972', '32.8139', '-96.9488', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63635, 'Gunter', 2824, '75058', '903', '33.460688', '-96.742359', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63636, 'Hickory Creek', 2824, '75065', '940', '33.115398', '-97.004729', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63637, 'Lake Dallas', 2824, '75065', '940', '33.115398', '-97.004729', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63638, 'Coppell', 2824, '75099', '972', '32.9547', '-97.0149', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63639, 'Usps Official Mail', 2824, '75099', '972', '32.9547', '-97.0149', '2018-11-29 05:09:24', '2018-11-29 05:09:24'),\n(63640, 'Bardwell', 2824, '75101', '972', '32.27309', '-96.702217', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63641, 'Edgewood', 2824, '75117', '903', '32.70056', '-95.866108', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63642, 'Grand Saline', 2824, '75140', '903', '32.645842', '-95.697989', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63643, 'Kaufman', 2824, '75142', '972', '32.56158', '-96.264944', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63644, 'Dallas', 2824, '75235', '214', '32.831295', '-96.845969', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63645, 'Dallas', 2824, '75249', '972', '32.642243', '-96.970773', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63646, 'Dallas', 2824, '75265', '214', '32.7835', '-96.8001', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63647, 'Dallas', 2824, '75360', '214', '32.7835', '-96.8001', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63648, 'Dallas', 2824, '75367', '214', '32.7835', '-96.8001', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63649, 'Dallas', 2824, '75374', '214', '32.7835', '-96.8001', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63650, 'Dallas', 2824, '75394', '214', '32.7835', '-96.8001', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63651, 'Sbc Att', 2824, '75394', '214', '32.7835', '-96.8001', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63652, 'Alba', 2824, '75410', '903', '32.781579', '-95.608059', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63653, 'Bogata', 2824, '75417', '903', '33.472798', '-95.070175', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63654, 'Cumby', 2824, '75433', '903', '33.14253', '-95.767169', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63655, 'Golden', 2824, '75444', '903', '32.729181', '-95.563632', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63656, 'Pecan Gap', 2824, '75469', '903', '33.407671', '-95.79452', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63657, 'Westminster', 2824, '75485', '972', '33.362355', '-96.463527', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63658, 'Winnsboro', 2824, '75494', '903', '32.867414', '-95.25783', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63659, 'Red River Army Depot', 2824, '75501', '903', '33.367182', '-94.235623', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63660, 'S Texarkana', 2824, '75501', '903', '33.367182', '-94.235623', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63661, 'South Texarkana', 2824, '75501', '903', '33.367182', '-94.235623', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63662, 'Texarkana', 2824, '75501', '903', '33.367182', '-94.235623', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63663, 'Wake Village', 2824, '75501', '903', '33.367182', '-94.235623', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63664, 'Garland', 2824, '75044', '972', '32.957864', '-96.645241', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63665, 'Garland', 2824, '75047', '972', '32.9127', '-96.6389', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63666, 'Irving', 2824, '75060', '972', '32.796657', '-96.950529', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63667, 'Irving', 2824, '75061', '972', '32.825584', '-96.962328', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63668, 'Prosper', 2824, '75078', '972', '33.262918', '-96.805285', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63669, 'Buckingham', 2824, '75080', '972', '32.967704', '-96.73876', '2018-11-29 05:09:25', '2018-11-29 05:09:25'),\n(63670, 'Richardson', 2824, '75080', '972', '32.967704', '-96.73876', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63671, 'Murphy', 2824, '75094', '972', '33.012192', '-96.618917', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63672, 'Parker', 2824, '75094', '972', '33.012192', '-96.618917', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63673, 'Plano', 2824, '75094', '972', '33.012192', '-96.618917', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63674, 'Fruitvale', 2824, '75127', '903', '32.681215', '-95.759735', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63675, 'Lancaster', 2824, '75146', '972', '32.57258', '-96.744223', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63676, 'Gun Barrel City', 2824, '75147', '903', '32.431568', '-96.119552', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63677, 'Gun Barrel Cy', 2824, '75147', '903', '32.431568', '-96.119552', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63678, 'Mabank', 2824, '75147', '903', '32.431568', '-96.119552', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63679, 'Terrell', 2824, '75161', '972', '32.733223', '-96.172996', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63680, 'Trinidad', 2824, '75163', '903', '32.156171', '-96.097578', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63681, 'Josephine', 2824, '75164', '972', '33.060018', '-96.324776', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63682, 'Balch Springs', 2824, '75180', '972', '32.719243', '-96.612854', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63683, 'Mesquite', 2824, '75180', '972', '32.719243', '-96.612854', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63684, 'Dallas', 2824, '75230', '214', '32.902156', '-96.794543', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63685, 'Dallas', 2824, '75244', '972', '32.930328', '-96.835261', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63686, 'Farmers Branch', 2824, '75244', '972', '32.930328', '-96.835261', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63687, 'Farmers Brnch', 2824, '75244', '972', '32.930328', '-96.835261', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63688, 'North Branch', 2824, '75244', '972', '32.930328', '-96.835261', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63689, 'Dallas', 2824, '75261', '972', '32.896011', '-97.038147', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63690, 'Dfw', 2824, '75261', '972', '32.896011', '-97.038147', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63691, 'Dfw Airport', 2824, '75261', '972', '32.896011', '-97.038147', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63692, 'Dallas', 2824, '75264', '214', '32.7835', '-96.8001', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63693, 'Dallas', 2824, '75379', '214', '32.7835', '-96.8001', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63694, 'Dallas', 2824, '75381', '214', '32.7835', '-96.8001', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63695, 'Dallas', 2824, '75395', '214', '32.7835', '-96.8001', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63696, 'Wachovia Bank And Trust', 2824, '75395', '214', '32.7835', '-96.8001', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63697, 'Dallas', 2824, '75398', '214', '32.7803', '-96.8055', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63698, 'Arthur City', 2824, '75411', '903', '33.863367', '-95.427002', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63699, 'Bailey', 2824, '75413', '903', '33.430126', '-96.166194', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63700, 'Commerce', 2824, '75428', '903', '33.264327', '-95.914844', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63701, 'Honey Grove', 2824, '75446', '903', '33.640221', '-95.924478', '2018-11-29 05:09:26', '2018-11-29 05:09:26'),\n(63702, 'Klondike', 2824, '75448', '903', '33.289572', '-95.778942', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63703, 'Paris', 2824, '75461', '903', '33.6606', '-95.5556', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63704, 'Paris', 2824, '75462', '903', '33.664724', '-95.476519', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63705, 'Reno', 2824, '75462', '903', '33.664724', '-95.476519', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63706, 'Sulphur Bluff', 2824, '75481', '903', '33.32886', '-95.363143', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63707, 'Yantis', 2824, '75497', '903', '32.895345', '-95.526863', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63708, 'Carterville', 2824, '75563', '903', '33.002986', '-94.388315', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63709, 'Lanier', 2824, '75563', '903', '33.002986', '-94.388315', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63710, 'Linden', 2824, '75563', '903', '33.002986', '-94.388315', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63711, 'New Colony', 2824, '75563', '903', '33.002986', '-94.388315', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63712, 'Naples', 2824, '75568', '903', '33.207278', '-94.69906', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63713, 'Rocky Branch', 2824, '75568', '903', '33.207278', '-94.69906', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63714, 'Cooper', 2824, '75432', '903', '33.39369', '-95.538179', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63715, 'Enloe', 2824, '75441', '903', '33.429', '-95.651802', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63716, 'Leonard', 2824, '75452', '903', '33.403168', '-96.206348', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63717, 'Sulphur Spgs', 2824, '75482', '903', '33.165745', '-95.529634', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63718, 'Sulphur Springs', 2824, '75482', '903', '33.165745', '-95.529634', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63719, 'Sumner', 2824, '75486', '903', '33.785049', '-95.688574', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63720, 'Whitewright', 2824, '75491', '903', '33.486823', '-96.410182', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63721, 'Winfield', 2824, '75493', '903', '33.143876', '-95.067799', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63722, 'Marietta', 2824, '75566', '903', '33.195581', '-94.52761', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63723, 'Bryans Mill', 2824, '75568', '903', '33.207278', '-94.69906', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63724, 'Cornett', 2824, '75568', '903', '33.207278', '-94.69906', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63725, 'Dalton', 2824, '75568', '903', '33.207278', '-94.69906', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63726, 'Dumfries', 2826, '22025', '571', '38.597162', '-77.34442', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63727, 'Montclair', 2826, '22025', '571', '38.597162', '-77.34442', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63728, 'Hurt', 2826, '24563', '434', '37.0659', '-79.281382', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63729, 'Lowry', 2826, '24570', '540', '37.351755', '-79.438154', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63730, 'Natural Bridge Station', 2826, '24579', '540', '37.590672', '-79.515242', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63731, 'Naturl Br Sta', 2826, '24579', '540', '37.590672', '-79.515242', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63732, 'Ringgold', 2826, '24586', '434', '36.61444', '-79.279312', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63733, 'Sweet Briar', 2826, '24595', '434', '37.559843', '-79.085594', '2018-11-29 05:09:27', '2018-11-29 05:09:27'),\n(63734, 'Bandy', 2826, '24602', '276', '37.169482', '-81.627788', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63735, 'Healing Sprgs', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63736, 'Healing Springs', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63737, 'Hot Springs', 2826, '24445', '540', '37.952205', '-79.915236', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63738, 'Stuarts Draft', 2826, '24477', '540', '38.012983', '-79.044718', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63739, 'Lynchburg', 2826, '24504', '434', '37.365108', '-79.075178', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63740, 'Alton', 2826, '24520', '434', '36.601688', '-79.043661', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63741, 'Coleman Falls', 2826, '24536', '434', '37.48846', '-79.317389', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63742, 'Danville', 2826, '24543', '434', '36.5862', '-79.3953', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63743, 'Raven', 2826, '24639', '276', '37.156223', '-81.890064', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63744, 'Richlands', 2826, '24641', '276', '37.129935', '-81.805869', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63745, 'Whitewood', 2826, '24657', '276', '37.264279', '-81.88431', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63746, 'Monroe', 2826, '24574', '434', '37.618794', '-79.258912', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63747, 'Low Moor', 2826, '24457', '540', '37.801014', '-79.865933', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63748, 'Lowmoor', 2826, '24457', '540', '37.801014', '-79.865933', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63749, 'Mc Dowell', 2826, '24458', '540', '38.320014', '-79.520066', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63750, 'Mcdowell', 2826, '24458', '540', '38.320014', '-79.520066', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63751, 'Rockbdge Bath', 2826, '24473', '540', '37.896278', '-79.41881', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63752, 'Rockbrg Baths', 2826, '24473', '540', '37.896278', '-79.41881', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63753, 'Rockbridge Baths', 2826, '24473', '540', '37.896278', '-79.41881', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63754, 'Selma', 2826, '24474', '540', '37.805105', '-79.847366', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63755, 'Lynchburg', 2826, '24505', '434', '37.4136', '-79.1427', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63756, 'Crystal Hill', 2826, '24539', '434', '36.864264', '-78.900675', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63757, 'Danville', 2826, '24540', '434', '36.652986', '-79.447126', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63758, 'Danville', 2826, '24541', '434', '36.620915', '-79.488967', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63759, 'Schoolfield', 2826, '24541', '434', '36.620915', '-79.488967', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63760, 'Howardsville', 2826, '24562', '434', '37.723634', '-78.649331', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63761, 'Scottsville', 2826, '24562', '434', '37.723634', '-78.649331', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63762, 'Lynch Station', 2826, '24571', '434', '37.136461', '-79.365371', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63763, 'Milboro Sprgs', 2826, '24460', '540', '38.020324', '-79.645587', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63764, 'Millboro', 2826, '24460', '540', '38.020324', '-79.645587', '2018-11-29 05:09:28', '2018-11-29 05:09:28'),\n(63765, 'Millboro Springs', 2826, '24460', '540', '38.020324', '-79.645587', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63766, 'Port Republic', 2826, '24471', '540', '38.31219', '-78.799765', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63767, 'Pt Republic', 2826, '24471', '540', '38.31219', '-78.799765', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63768, 'Spottswood', 2826, '24476', '540', '37.9256', '-79.2028', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63769, 'Steeles Tavern', 2826, '24476', '540', '37.9256', '-79.2028', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63770, 'Steeles Tavrn', 2826, '24476', '540', '37.9256', '-79.2028', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63771, 'Lynchburg', 2826, '24501', '434', '37.359662', '-79.157034', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63772, 'Miller Park', 2826, '24501', '434', '37.359662', '-79.157034', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63773, 'Doran', 2826, '24612', '276', '37.097665', '-81.843554', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63774, 'Scottsburg', 2826, '24589', '434', '36.74757', '-78.732869', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63775, 'Scottsville', 2826, '24590', '434', '37.802684', '-78.486825', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63776, 'Boissevain', 2826, '24606', '276', '37.29218', '-81.379055', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63777, 'Breaks', 2826, '24607', '276', '37.281772', '-82.272684', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63778, 'Belfast Mills', 2826, '24609', '276', '37.054232', '-81.790534', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63779, 'Cedar Bluff', 2826, '24609', '276', '37.054232', '-81.790534', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63780, 'Indian', 2826, '24609', '276', '37.054232', '-81.790534', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63781, 'Steeleburg', 2826, '24609', '276', '37.054232', '-81.790534', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63782, 'Lynchburg', 2826, '24506', '434', '37.4136', '-79.1427', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63783, 'Appomattox', 2826, '24522', '434', '37.354743', '-78.76596', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63784, 'Wardell', 2826, '24609', '276', '37.054232', '-81.790534', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63785, 'Rustburg', 2826, '24588', '434', '37.266094', '-79.098469', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63786, 'Spout Spring', 2826, '24593', '434', '37.37183', '-78.910922', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63787, 'Bolar', 2826, '24484', '540', '38.151164', '-79.833146', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63788, 'Warm Springs', 2826, '24484', '540', '38.151164', '-79.833146', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63789, 'Shenandoah Valley Airpot', 2826, '24486', '540', '38.28578', '-78.938564', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63790, 'Weyers Cave', 2826, '24486', '540', '38.28578', '-78.938564', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63791, 'Fort Hill', 2826, '24502', '434', '37.36324', '-79.212703', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63792, 'Lynchburg', 2826, '24502', '434', '37.36324', '-79.212703', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63793, 'Timberlake', 2826, '24502', '434', '37.36324', '-79.212703', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63794, 'Blairs', 2826, '24527', '434', '36.725733', '-79.338386', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63795, 'Buffalo Jct', 2826, '24529', '434', '36.616007', '-78.64354', '2018-11-29 05:09:29', '2018-11-29 05:09:29'),\n(63796, 'Buffalo Junction', 2826, '24529', '434', '36.616007', '-78.64354', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63797, 'Concord', 2826, '24538', '434', '37.350552', '-78.962724', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63798, 'Hightown', 2826, '24465', '540', '38.380646', '-79.643276', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63799, 'Mill Gap', 2826, '24465', '540', '38.380646', '-79.643276', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63800, 'Monterey', 2826, '24465', '540', '38.380646', '-79.643276', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63801, 'Altavista', 2826, '24517', '434', '37.147795', '-79.241942', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63802, 'Chatham', 2826, '24531', '434', '36.8378', '-79.43338', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63803, 'Clifford', 2826, '24533', '434', '37.583276', '-78.938414', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63804, 'West Lexington', 2826, '24450', '540', '37.773096', '-79.51744', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63805, 'Mint Spring', 2826, '24463', '540', '38.063253', '-79.110628', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63806, 'Verona', 2826, '24482', '540', '38.208148', '-78.993043', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63807, 'Vesuvius', 2826, '24483', '540', '37.803117', '-79.229049', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63808, 'Lynchburg', 2826, '24515', '434', '37.4136', '-79.1427', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63809, 'Thomas Rd Bapt Church Brm', 2826, '24515', '434', '37.4136', '-79.1427', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63810, 'Callands', 2826, '24530', '434', '36.805832', '-79.642316', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63811, 'Grundy', 2826, '24614', '276', '37.301188', '-82.09247', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63812, 'Royal City', 2826, '24614', '276', '37.301188', '-82.09247', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63813, 'Stacy', 2826, '24614', '276', '37.301188', '-82.09247', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63814, 'Naruna', 2826, '24576', '434', '37.1055', '-79.0031', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63815, 'Sutherlin', 2826, '24594', '434', '36.650764', '-79.186736', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63816, 'Amonate', 2826, '24601', '276', '37.175201', '-81.669852', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63817, 'Big Rock', 2826, '24603', '276', '37.320758', '-82.239158', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63818, 'Conaway', 2826, '24603', '276', '37.320758', '-82.239158', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63819, 'New Hope', 2826, '24469', '540', '38.1978', '-78.9064', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63820, 'Amherst', 2826, '24521', '434', '37.623511', '-79.092253', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63821, 'Falconerville', 2826, '24521', '434', '37.623511', '-79.092253', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63822, 'Big Island', 2826, '24526', '434', '37.528958', '-79.404418', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63823, 'Snowden', 2826, '24526', '434', '37.528958', '-79.404418', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63824, 'Brookneal', 2826, '24528', '434', '37.075376', '-78.874452', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63825, 'Horsepen', 2826, '24619', '276', '37.2284', '-81.5201', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63826, 'Lennig', 2826, '24577', '434', '36.940968', '-78.933245', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63827, 'Nathalie', 2826, '24577', '434', '36.940968', '-78.933245', '2018-11-29 05:09:30', '2018-11-29 05:09:30'),\n(63828, 'Republican Grove', 2826, '24577', '434', '36.940968', '-78.933245', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63829, 'Republicn Grv', 2826, '24577', '434', '36.940968', '-78.933245', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63830, 'Bishop', 2826, '24604', '276', '37.206', '-81.541086', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63831, 'Middlebrook', 2826, '24459', '540', '37.998758', '-79.31905', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63832, 'Mustoe', 2826, '24468', '540', '38.295992', '-79.659627', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63833, 'Swoope', 2826, '24479', '540', '38.141458', '-79.201146', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63834, 'J Crew', 2826, '24513', '434', '37.414', '-79.1401', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63835, 'Lynchburg', 2826, '24513', '434', '37.414', '-79.1401', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63836, 'Clover', 2826, '24534', '434', '36.884114', '-78.74786', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63837, 'Falls Mills', 2826, '24613', '276', '37.268901', '-81.333928', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63838, 'Hurley', 2826, '24620', '276', '37.431479', '-82.029183', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63839, 'Tazewell', 2826, '24608', '276', '37.0984', '-81.3411', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63840, 'Raphine', 2826, '24472', '540', '37.943662', '-79.214915', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63841, 'Bedford', 2826, '24523', '540', '37.339922', '-79.527371', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63842, 'Pocahontas', 2826, '24635', '276', '37.313143', '-81.359933', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63843, 'Paint Lick', 2826, '24637', '276', '37.0498', '-81.708384', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63844, 'Pounding Mill', 2826, '24637', '276', '37.0498', '-81.708384', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63845, 'Gratton', 2826, '24651', '276', '37.04941', '-81.522036', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63846, 'Maxwell', 2826, '24651', '276', '37.04941', '-81.522036', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63847, 'Tazewell', 2826, '24651', '276', '37.04941', '-81.522036', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63848, 'Red Ash', 2826, '24640', '276', '37.1134', '-81.8713', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63849, 'Vansant', 2826, '24656', '276', '37.161001', '-82.12861', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63850, 'Wolford', 2826, '24658', '276', '37.3646', '-81.9914', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63851, 'Nelson', 2826, '24580', '434', '36.586634', '-78.668703', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63852, 'Ingram', 2826, '24597', '434', '36.777607', '-79.106943', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63853, 'Vernon Hill', 2826, '24597', '434', '36.777607', '-79.106943', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63854, 'Wingina', 2826, '24599', '434', '37.62298', '-78.729566', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63855, 'Montebello', 2826, '24464', '540', '37.860361', '-79.094383', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63856, 'Mount Sidney', 2826, '24467', '540', '38.26686', '-78.967368', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63857, 'Lynchburg', 2826, '24514', '434', '37.4136', '-79.1427', '2018-11-29 05:09:31', '2018-11-29 05:09:31'),\n(63858, 'Thomas Rd Bapt Church', 2826, '24514', '434', '37.4136', '-79.1427', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63859, 'Dry Fork', 2826, '24549', '434', '36.7132', '-79.504074', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63860, 'N Tazewell', 2826, '24630', '276', '37.166577', '-81.522622', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63861, 'North Tazewell', 2826, '24630', '276', '37.166577', '-81.522622', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63862, 'Tiptop', 2826, '24630', '276', '37.166577', '-81.522622', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63863, 'Oakwood', 2826, '24631', '276', '37.216752', '-81.988522', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63864, 'Patterson', 2826, '24631', '276', '37.216752', '-81.988522', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63865, 'Dye', 2826, '24649', '276', '37.082042', '-81.911316', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63866, 'Lynn Spring', 2826, '24649', '276', '37.082042', '-81.911316', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63867, 'Swords Creek', 2826, '24649', '276', '37.082042', '-81.911316', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63868, 'Java', 2826, '24565', '434', '36.849623', '-79.201601', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63869, 'Keeling', 2826, '24566', '434', '36.744544', '-79.255094', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63870, 'Norwood', 2826, '24581', '434', '37.656821', '-78.790085', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63871, 'Virgilina', 2826, '24598', '434', '36.620617', '-78.790324', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63872, 'Iron Gate', 2826, '24448', '540', '37.798593', '-79.789504', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63873, 'East Lexington', 2826, '24450', '540', '37.773096', '-79.51744', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63874, 'Lexington', 2826, '24450', '540', '37.773096', '-79.51744', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63875, 'Madison Heights', 2826, '24572', '434', '37.457924', '-79.079334', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63876, 'Madison Hts', 2826, '24572', '434', '37.457924', '-79.079334', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63877, 'Wrights Shop', 2826, '24572', '434', '37.457924', '-79.079334', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63878, 'South Boston', 2826, '24592', '434', '36.681308', '-78.992797', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63879, 'Turbeville', 2826, '24592', '434', '36.681308', '-78.992797', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63880, 'Bluefield', 2826, '24605', '276', '37.255909', '-81.366198', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63881, 'Yards', 2826, '24605', '276', '37.255909', '-81.366198', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63882, 'Burkes Garden', 2826, '24608', '276', '37.0984', '-81.3411', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63883, 'Newbury Center', 2828, '05069', '802', '44.151152', '-72.163906', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63884, 'South Ryegate', 2828, '05069', '802', '44.151152', '-72.163906', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63885, 'Williamstown', 2828, '05679', '802', '44.102189', '-72.548263', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63886, 'Bomoseen', 2828, '05732', '802', '43.63563', '-73.203987', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63887, 'Crystal Beach', 2828, '05732', '802', '43.63563', '-73.203987', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63888, 'Neshobe Beach', 2828, '05732', '802', '43.63563', '-73.203987', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63889, 'Cabot', 2828, '05647', '802', '44.407038', '-72.289867', '2018-11-29 05:09:32', '2018-11-29 05:09:32'),\n(63890, 'East Cabot', 2828, '05647', '802', '44.407038', '-72.289867', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63891, 'Calais', 2828, '05648', '802', '44.378676', '-72.497325', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63892, 'Forest Dale', 2828, '05745', '802', '43.8284', '-73.0546', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63893, 'Forestdale', 2828, '05745', '802', '43.8284', '-73.0546', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63894, 'Hancock', 2828, '05748', '802', '43.9176', '-72.908428', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63895, 'Huntingtn Ctr', 2828, '05462', '802', '44.291683', '-72.96095', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63896, 'Huntington', 2828, '05462', '802', '44.291683', '-72.96095', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63897, 'Huntington Center', 2828, '05462', '802', '44.291683', '-72.96095', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63898, 'Huntington Lower Village', 2828, '05462', '802', '44.291683', '-72.96095', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63899, 'Isle La Motte', 2828, '05463', '802', '44.890407', '-73.301171', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63900, 'Enosburg Falls', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63901, 'Enosburg Fls', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63902, 'Herrick', 2828, '05450', '802', '44.897955', '-72.794758', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63903, 'Taftsville', 2828, '05073', '802', '43.62872', '-72.461441', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63904, 'Rices Mills', 2828, '05075', '802', '43.850324', '-72.266435', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63905, 'Thet Ctr', 2828, '05075', '802', '43.850324', '-72.266435', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63906, 'Thetford Center', 2828, '05075', '802', '43.850324', '-72.266435', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63907, 'Thetford Ctr', 2828, '05075', '802', '43.850324', '-72.266435', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63908, 'Fieldsville', 2828, '05089', '802', '43.483742', '-72.456561', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63909, 'Jenneville', 2828, '05089', '802', '43.483742', '-72.456561', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63910, 'Sheddsville', 2828, '05089', '802', '43.483742', '-72.456561', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63911, 'West Windsor', 2828, '05089', '802', '43.483742', '-72.456561', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63912, 'Windsor', 2828, '05089', '802', '43.483742', '-72.456561', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63913, 'W Woodstock', 2828, '05091', '802', '43.65146', '-72.569607', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63914, 'West Woodstock', 2828, '05091', '802', '43.65146', '-72.569607', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63915, 'Wood Stock', 2828, '05091', '802', '43.65146', '-72.569607', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63916, 'Woodstock', 2828, '05091', '802', '43.65146', '-72.569607', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63917, 'Cambridgeport', 2828, '05141', '802', '43.153611', '-72.573284', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63918, 'Bromley Mtn', 2828, '05148', '802', '43.248321', '-72.853462', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63919, 'Landgrove', 2828, '05148', '802', '43.248321', '-72.853462', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63920, 'Londonderry', 2828, '05148', '802', '43.248321', '-72.853462', '2018-11-29 05:09:33', '2018-11-29 05:09:33'),\n(63921, 'Veterans Administration', 2828, '05009', '802', '43.6487', '-72.3194', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63922, 'White Riv Jct', 2828, '05009', '802', '43.6487', '-72.3194', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63923, 'White River Junction', 2828, '05009', '802', '43.6487', '-72.3194', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63924, 'Mc Indoe Falls', 2828, '05050', '802', '44.2588', '-72.0585', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63925, 'Mc Indoe Fls', 2828, '05050', '802', '44.2588', '-72.0585', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63926, 'Mcindoe Falls', 2828, '05050', '802', '44.2588', '-72.0585', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63927, 'Marlboro', 2828, '05344', '802', '42.846315', '-72.750421', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63928, 'Cedar Beach', 2828, '05445', '802', '44.311093', '-73.236224', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63929, 'Charlotte', 2828, '05445', '802', '44.311093', '-73.236224', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63930, 'Chester', 2828, '05144', '802', '43.3606', '-72.5739', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63931, 'Chester Depot', 2828, '05144', '802', '43.3606', '-72.5739', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63932, 'Gassetts', 2828, '05144', '802', '43.3606', '-72.5739', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63933, 'Spoonerville', 2828, '05144', '802', '43.3606', '-72.5739', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63934, 'Grafton', 2828, '05146', '802', '43.169999', '-72.620116', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63935, 'Marlboro College', 2828, '05344', '802', '42.846315', '-72.750421', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63936, 'E Dummerston', 2828, '05346', '802', '43.022472', '-72.533803', '2018-11-29 05:09:34', '2018-11-29 05:09:34');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(63937, 'East Putney', 2828, '05346', '802', '43.022472', '-72.533803', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63938, 'Putney', 2828, '05346', '802', '43.022472', '-72.533803', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63939, 'Westminster W', 2828, '05346', '802', '43.022472', '-72.533803', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63940, 'Westminster West', 2828, '05346', '802', '43.022472', '-72.533803', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63941, 'Ascutney', 2828, '05030', '802', '43.4242', '-72.4426', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63942, 'Felchville', 2828, '05062', '802', '43.502448', '-72.585046', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63943, 'Hammondsville', 2828, '05062', '802', '43.502448', '-72.585046', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63944, 'Reading', 2828, '05062', '802', '43.502448', '-72.585046', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63945, 'Reading Center', 2828, '05062', '802', '43.502448', '-72.585046', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63946, 'South Newfane', 2828, '05351', '802', '42.940816', '-72.735813', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63947, 'Bradford', 2828, '05033', '802', '44.00902', '-72.168174', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63948, 'Lower Plain', 2828, '05033', '802', '44.00902', '-72.168174', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63949, 'South Corinth', 2828, '05033', '802', '44.00902', '-72.168174', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63950, 'Newbury', 2828, '05051', '802', '44.076622', '-72.089628', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63951, 'South Newbury', 2828, '05051', '802', '44.076622', '-72.089628', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63952, 'Sharon', 2828, '05065', '802', '43.779406', '-72.433804', '2018-11-29 05:09:34', '2018-11-29 05:09:34'),\n(63953, 'Maple Dell', 2828, '05156', '802', '43.316838', '-72.469962', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63954, 'Orchard Lane', 2828, '05156', '802', '43.316838', '-72.469962', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63955, 'Pedden Acres', 2828, '05156', '802', '43.316838', '-72.469962', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63956, 'Springfield', 2828, '05156', '802', '43.316838', '-72.469962', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63957, 'Weathersfield', 2828, '05156', '802', '43.316838', '-72.469962', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63958, 'Barre', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63959, 'Barre Jct', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63960, 'Barre Junction', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63961, 'Berlin', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63962, 'Boutswells', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63963, 'East Hill', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63964, 'Lower Websterville', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63965, 'Orange', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63966, 'Trow Hill', 2828, '05641', '802', '44.184388', '-72.447615', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63967, 'Benson', 2828, '05743', '802', '43.651664', '-73.306618', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63968, 'Benson Landing', 2828, '05743', '802', '43.651664', '-73.306618', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63969, 'Fair Haven', 2828, '05743', '802', '43.651664', '-73.306618', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63970, 'Fairhaven', 2828, '05743', '802', '43.651664', '-73.306618', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63971, 'West Castleton', 2828, '05743', '802', '43.651664', '-73.306618', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63972, 'West Haven', 2828, '05743', '802', '43.651664', '-73.306618', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63973, 'Hydeville', 2828, '05750', '802', '43.617884', '-73.234152', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63974, 'Clarendon', 2828, '05759', '802', '43.536976', '-72.952538', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63975, 'N Clarendon', 2828, '05759', '802', '43.536976', '-72.952538', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63976, 'North Clarendon', 2828, '05759', '802', '43.536976', '-72.952538', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63977, 'Sky Acres', 2828, '05675', '802', '44.06932', '-72.420266', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63978, 'South Washington', 2828, '05675', '802', '44.06932', '-72.420266', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63979, 'Washgtin', 2828, '05675', '802', '44.06932', '-72.420266', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63980, 'Washing', 2828, '05675', '802', '44.06932', '-72.420266', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63981, 'Washingtn', 2828, '05675', '802', '44.06932', '-72.420266', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63982, 'Washington', 2828, '05675', '802', '44.06932', '-72.420266', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63983, 'W Dummerston', 2828, '05357', '802', '42.9264', '-72.6159', '2018-11-29 05:09:35', '2018-11-29 05:09:35'),\n(63984, 'West Dummerston', 2828, '05357', '802', '42.9264', '-72.6159', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63985, 'Bristol', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63986, 'Downingville', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63987, 'Jerusalem', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63988, 'Lincoln', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63989, 'Rocky Dale', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63990, 'South Lincoln', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63991, 'West Lincoln', 2828, '05443', '802', '44.156921', '-73.030774', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63992, 'Georgia', 2828, '05468', '802', '44.663734', '-73.147455', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63993, 'Milton', 2828, '05468', '802', '44.663734', '-73.147455', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63994, 'West Milton', 2828, '05468', '802', '44.663734', '-73.147455', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63995, 'Westminster Station', 2828, '05159', '802', '43.0873', '-72.4468', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63996, 'Westmnstr Sta', 2828, '05159', '802', '43.0873', '-72.4468', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63997, 'West Hartford', 2828, '05084', '802', '43.716006', '-72.453778', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63998, 'Andover', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(63999, 'Athens', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64000, 'Baltimore', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64001, 'Bartonsville', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64002, 'Brockways Mills', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64003, 'Chester', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64004, 'Middletown', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64005, 'North Windham', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64006, 'Peaseville', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64007, 'Reedville', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64008, 'Simonsville', 2828, '05143', '802', '43.226012', '-72.645954', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64009, 'Heartwellville', 2828, '05350', '802', '42.799683', '-72.97533', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64010, 'Readsboro', 2828, '05350', '802', '42.799683', '-72.97533', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64011, 'Readsboro', 2828, '05352', '802', '42.789622', '-73.077702', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64012, 'Stamford', 2828, '05352', '802', '42.789622', '-73.077702', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64013, 'Cookville', 2828, '05039', '802', '44.028081', '-72.29318', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64014, 'Corinth', 2828, '05039', '802', '44.028081', '-72.29318', '2018-11-29 05:09:36', '2018-11-29 05:09:36'),\n(64015, 'Corinth Center', 2828, '05039', '802', '44.028081', '-72.29318', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64016, 'Corinth Corners', 2828, '05039', '802', '44.028081', '-72.29318', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64017, 'Goose Green', 2828, '05039', '802', '44.028081', '-72.29318', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64018, 'West Corinth', 2828, '05039', '802', '44.028081', '-72.29318', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64019, 'Hartland', 2828, '05048', '802', '43.578176', '-72.429138', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64020, 'Grout', 2828, '05159', '802', '43.0873', '-72.4468', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64021, 'Peora', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64022, 'Pine Bluff', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64023, 'Saltwell', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64024, 'Shinnston', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64025, 'Thornton', 2831, '26440', '304', '39.319156', '-79.908008', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64026, 'Dille', 2831, '26617', '304', '38.46917', '-80.873214', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64027, 'Cleveland', 2831, '26215', '304', '38.83647', '-80.347406', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64028, 'Rock Cave', 2831, '26215', '304', '38.83647', '-80.347406', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64029, 'Diana', 2831, '26217', '304', '38.562825', '-80.360177', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64030, 'Hacker Valley', 2831, '26222', '304', '38.66427', '-80.385995', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64031, 'Replete', 2831, '26222', '304', '38.66427', '-80.385995', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64032, 'Helvetia', 2831, '26224', '304', '38.72771', '-80.189715', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64033, 'Montrose', 2831, '26283', '304', '39.084298', '-79.786023', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64034, 'Thomas', 2831, '26292', '304', '39.162823', '-79.515076', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64035, 'West Milford', 2831, '26451', '304', '39.203004', '-80.368129', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64036, 'Short Creek', 2831, '26058', '304', '40.1859', '-80.6748', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64037, 'Bureau Of Public Debt', 2831, '26106', '304', '39.2667', '-81.5617', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64038, 'Parkersburg', 2831, '26106', '304', '39.2667', '-81.5617', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64039, 'Wilsondale', 2831, '25699', '304', '37.947664', '-82.37254', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64040, 'Huntington', 2831, '25706', '304', '38.4195', '-82.4455', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64041, 'Piney View', 2831, '25906', '304', '37.8361', '-81.1352', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64042, 'Princewick', 2831, '25908', '304', '37.65952', '-81.233752', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64043, 'Winding Gulf', 2831, '25908', '304', '37.65952', '-81.233752', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64044, 'Ramsey', 2831, '25938', '304', '38.182004', '-81.024216', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64045, 'Victor', 2831, '25938', '304', '38.182004', '-81.024216', '2018-11-29 05:09:37', '2018-11-29 05:09:37'),\n(64046, 'Crichton', 2831, '25981', '304', '38.043982', '-80.695473', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64047, 'Marfrance', 2831, '25981', '304', '38.043982', '-80.695473', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64048, 'Quinwood', 2831, '25981', '304', '38.043982', '-80.695473', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64049, 'Morrisvale', 2831, '25565', '304', '38.061644', '-81.994115', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64050, 'Spurlockville', 2831, '25565', '304', '38.061644', '-81.994115', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64051, 'Huntington', 2831, '25772', '304', '38.4195', '-82.4455', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64052, 'Huntington', 2831, '25774', '304', '38.4195', '-82.4455', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64053, 'Alkol', 2831, '25572', '304', '38.1551', '-81.907', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64054, 'Woodville', 2831, '25572', '304', '38.1551', '-81.907', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64055, 'Henlawson', 2831, '25624', '304', '37.915426', '-81.981399', '2018-11-29 05:09:38', '2018-11-29 05:09:38'),\n(64056, 'Verdunville', 2831, '25649', '304', '37.844354', '-82.090132', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64057, 'Kermit', 2831, '25674', '304', '37.867298', '-82.32571', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64058, 'North Matewan', 2831, '25688', '304', '37.628503', '-82.148122', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64059, 'Martinsburg', 2831, '25404', '304', '39.484318', '-77.894696', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64060, 'Great Cacapon', 2831, '25422', '304', '39.553278', '-78.358014', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64061, 'Levels', 2831, '25431', '304', '39.491243', '-78.561538', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64062, 'Barboursville', 2831, '25504', '304', '38.371406', '-82.26742', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64063, 'Galipolis Fry', 2831, '25515', '304', '38.756442', '-82.118616', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64064, 'Gallipolis Ferry', 2831, '25515', '304', '38.756442', '-82.118616', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64065, 'Glenwood', 2831, '25520', '304', '38.547669', '-82.16922', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64066, 'Ferrellsburg', 2831, '25524', '304', '38.029016', '-82.146886', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64067, 'Harts', 2831, '25524', '304', '38.029016', '-82.146886', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64068, 'Leet', 2831, '25524', '304', '38.029016', '-82.146886', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64069, 'Glen', 2831, '25088', '304', '38.347507', '-81.231388', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64070, 'Big Otter', 2831, '25113', '304', '38.568876', '-81.0418', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64071, 'Ivydale', 2831, '25113', '304', '38.568876', '-81.0418', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64072, 'Charleston', 2831, '25331', '304', '38.3494', '-81.6329', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64073, 'Meadow Bluff', 2831, '24977', '304', '37.87672', '-80.68274', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64074, 'Smoot', 2831, '24977', '304', '37.87672', '-80.68274', '2018-11-29 05:09:39', '2018-11-29 05:09:39'),\n(64075, 'Pinch', 2831, '25156', '304', '38.4086', '-81.4819', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64076, 'Longacre', 2831, '25186', '304', '38.171236', '-81.304742', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64077, 'Smithers', 2831, '25186', '304', '38.171236', '-81.304742', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64078, 'Atwell', 2831, '24879', '304', '37.363088', '-81.769076', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64079, 'Raysal', 2831, '24879', '304', '37.363088', '-81.769076', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64080, 'Clendenin', 2831, '25045', '304', '38.473883', '-81.312896', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64081, 'Clio', 2831, '25045', '304', '38.473883', '-81.312896', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64082, 'Corton', 2831, '25045', '304', '38.473883', '-81.312896', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64083, 'Quick', 2831, '25045', '304', '38.473883', '-81.312896', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64084, 'Clothier', 2831, '25047', '304', '37.793018', '-81.989148', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64085, 'Dawes', 2831, '25054', '304', '38.107448', '-81.474203', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64086, 'Falling Rock', 2831, '25079', '304', '38.478117', '-81.3882', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64087, 'Hiawatha', 2831, '24729', '304', '37.4402', '-81.2444', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64088, 'Thorpe', 2831, '24888', '304', '37.362898', '-81.512088', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64089, 'Cass', 2831, '24927', '304', '38.457099', '-79.900406', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64090, 'Stony Bottom', 2831, '24927', '304', '38.457099', '-79.900406', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64091, 'Marlinton', 2831, '24954', '304', '38.22179', '-80.035245', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64092, 'Minehaha Spgs', 2831, '24954', '304', '38.22179', '-80.035245', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64093, 'Minnehaha', 2831, '24954', '304', '38.22179', '-80.035245', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64094, 'Minnehaha Springs', 2831, '24954', '304', '38.22179', '-80.035245', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64095, 'Gary', 2831, '24836', '304', '37.325202', '-81.543144', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64096, 'Ikes Fork', 2831, '24845', '304', '37.526316', '-81.791938', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64097, 'Oceana', 2831, '24870', '304', '37.729271', '-81.564805', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64098, 'Rollins Branch', 2831, '24870', '304', '37.729271', '-81.564805', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64099, 'Toneyfork', 2831, '24870', '304', '37.729271', '-81.564805', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64100, 'Panther', 2831, '24872', '304', '37.4578', '-81.896262', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64101, 'Blair', 2831, '25022', '304', '37.858086', '-81.804927', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64102, 'Boomer', 2831, '25031', '304', '38.151856', '-81.265162', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64103, 'Cannelton', 2831, '25036', '304', '38.204142', '-81.25999', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64104, 'Drybranch', 2831, '25061', '304', '38.1775', '-81.4673', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64105, 'Eleanor', 2831, '25070', '304', '38.53643', '-81.935013', '2018-11-29 05:09:40', '2018-11-29 05:09:40'),\n(64106, 'Fairlea', 2831, '24902', '304', '37.7819', '-80.4621', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64107, 'Anthony', 2831, '24938', '304', '37.906509', '-80.359077', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64108, 'Frankford', 2831, '24938', '304', '37.906509', '-80.359077', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64109, 'Friars Hill', 2831, '24938', '304', '37.906509', '-80.359077', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64110, 'Nemours', 2831, '24738', '304', '37.3016', '-81.3046', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64111, 'Avondale', 2831, '24811', '304', '37.402292', '-81.773525', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64112, 'Garland', 2831, '24811', '304', '37.402292', '-81.773525', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64113, 'Bartley', 2831, '24813', '304', '37.371926', '-81.718629', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64114, 'Clear Fork', 2831, '24822', '304', '37.650264', '-81.69676', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64115, 'Herndon', 2831, '24726', '304', '37.507535', '-81.345528', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64116, 'Caretta', 2831, '24892', '304', '37.305578', '-81.727751', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64117, 'English', 2831, '24892', '304', '37.305578', '-81.727751', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64118, 'War', 2831, '24892', '304', '37.305578', '-81.727751', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64119, 'Yukon', 2831, '24892', '304', '37.305578', '-81.727751', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64120, 'Grassy Mdws', 2831, '24943', '304', '37.833087', '-80.7536', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64121, 'Grassy Meadows', 2831, '24943', '304', '37.833087', '-80.7536', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64122, 'Elgood', 2831, '24740', '304', '37.389255', '-81.023957', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64123, 'Oakvale', 2831, '24740', '304', '37.389255', '-81.023957', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64124, 'Princeton', 2831, '24740', '304', '37.389255', '-81.023957', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64125, 'Anawalt', 2831, '24808', '304', '37.34397', '-81.415084', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64126, 'Leckie', 2831, '24808', '304', '37.34397', '-81.415084', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64127, 'Coal Mountain', 2831, '24823', '304', '37.675893', '-81.739757', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64128, 'Hensley', 2831, '24843', '304', '37.475592', '-81.695619', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64129, 'Asco', 2831, '24828', '304', '37.462548', '-81.651878', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64130, 'Davy', 2831, '24828', '304', '37.462548', '-81.651878', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64131, 'Twin Branch', 2831, '24828', '304', '37.462548', '-81.651878', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64132, 'Elbert', 2831, '24830', '304', '37.312262', '-81.538249', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64133, 'Filbert', 2831, '24830', '304', '37.312262', '-81.538249', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64134, 'Iaeger', 2831, '24844', '304', '37.462646', '-81.807627', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64135, 'Steeles', 2831, '24844', '304', '37.462646', '-81.807627', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64136, 'Huntington', 2831, '25776', '304', '38.4195', '-82.4455', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64137, 'Huntington', 2831, '25777', '304', '38.4195', '-82.4455', '2018-11-29 05:09:41', '2018-11-29 05:09:41'),\n(64138, 'Ansted', 2831, '25812', '304', '38.148433', '-81.103988', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64139, 'Cool Ridge', 2831, '25825', '304', '37.650012', '-81.104391', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64140, 'Crab Orchard', 2831, '25827', '304', '37.727156', '-81.238968', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64141, 'Ghent', 2831, '25843', '304', '37.620259', '-81.103763', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64142, 'Glen Daniel', 2831, '25844', '304', '37.78874', '-81.366976', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64143, 'Charleston', 2831, '25361', '304', '38.3494', '-81.6329', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64144, 'Charleston', 2831, '25392', '304', '38.3494', '-81.6329', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64145, 'United Bank', 2831, '25392', '304', '38.3494', '-81.6329', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64146, 'Sarah Ann', 2831, '25644', '304', '37.677778', '-81.94293', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64147, 'Nolan', 2831, '25661', '304', '37.715128', '-82.260026', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64148, 'Sprigg', 2831, '25661', '304', '37.715128', '-82.260026', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64149, 'Williamson', 2831, '25661', '304', '37.715128', '-82.260026', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64150, 'Packsville', 2831, '25209', '304', '37.907408', '-81.459058', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64151, 'Pettus', 2831, '25209', '304', '37.907408', '-81.459058', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64152, 'Whitesville', 2831, '25209', '304', '37.907408', '-81.459058', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64153, 'Gay', 2831, '25244', '304', '38.799906', '-81.578241', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64154, 'Linden', 2831, '25259', '304', '38.667819', '-81.23034', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64155, 'Looneyville', 2831, '25259', '304', '38.667819', '-81.23034', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64156, 'Cherry Run', 2831, '25427', '304', '39.512726', '-78.065802', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64157, 'Hedgesville', 2831, '25427', '304', '39.512726', '-78.065802', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64158, 'Jones Springs', 2831, '25427', '304', '39.512726', '-78.065802', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64159, 'Inwood', 2831, '25428', '304', '39.387364', '-78.02195', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64160, 'Rippon', 2831, '25441', '304', '39.205916', '-77.904631', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64161, 'Shenandoah Junction', 2831, '25442', '304', '39.370579', '-77.83056', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64162, 'Shendoah Jct', 2831, '25442', '304', '39.370579', '-77.83056', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64163, 'Slanesville', 2831, '25444', '304', '39.401846', '-78.503046', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64164, 'Culloden', 2831, '25510', '304', '38.422445', '-82.06775', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64165, 'Dunlow', 2831, '25511', '304', '38.033734', '-82.334426', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64166, 'Hernshaw', 2831, '25107', '304', '38.189185', '-81.597478', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64167, 'Hewett', 2831, '25108', '304', '37.963064', '-81.876576', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64168, 'Hugheston', 2831, '25110', '304', '38.217694', '-81.322946', '2018-11-29 05:09:42', '2018-11-29 05:09:42'),\n(64169, 'Tariff', 2831, '25259', '304', '38.667819', '-81.23034', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64170, 'Charleston', 2831, '25309', '304', '38.313134', '-81.75806', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64171, 'S Charleston', 2831, '25309', '304', '38.313134', '-81.75806', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64172, 'South Charleston', 2831, '25309', '304', '38.313134', '-81.75806', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64173, 'Charleston', 2831, '25325', '304', '38.3494', '-81.6329', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64174, 'Charleston', 2831, '25327', '304', '38.3494', '-81.6329', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64175, 'Artie', 2831, '25008', '304', '37.948798', '-81.363341', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64176, 'London', 2831, '25126', '304', '38.191869', '-81.343484', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64177, 'Nebo', 2831, '25141', '304', '38.624939', '-81.025524', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64178, 'Nitro', 2831, '25143', '304', '38.41717', '-81.817016', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64179, 'Amelia', 2831, '25160', '304', '38.287648', '-81.284338', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64180, 'Pond Gap', 2831, '25160', '304', '38.287648', '-81.284338', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64181, 'Rock Creek', 2831, '25174', '304', '37.837684', '-81.437808', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64182, 'Jefferson', 2831, '25177', '304', '38.39068', '-81.82804', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64183, 'Saint Albans', 2831, '25177', '304', '38.39068', '-81.82804', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64184, 'Sylvester', 2831, '25193', '304', '37.997692', '-81.52376', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64185, 'Garrison', 2831, '25209', '304', '37.907408', '-81.459058', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64186, 'Pineville', 2831, '24874', '304', '37.566796', '-81.536552', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64187, 'Blount', 2831, '25025', '304', '38.287592', '-81.382392', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64188, 'Blue Creek', 2831, '25026', '304', '38.4507', '-81.4577', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64189, 'Charlton Heights', 2831, '25040', '304', '38.134258', '-81.242479', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64190, 'Charlton Hgts', 2831, '25040', '304', '38.134258', '-81.242479', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64191, 'Coaldale', 2831, '24724', '304', '37.32923', '-81.29146', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64192, 'Freeman', 2831, '24724', '304', '37.32923', '-81.29146', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64193, 'Oakvale', 2831, '24739', '304', '37.332554', '-80.970238', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64194, 'Princeton', 2831, '24739', '304', '37.332554', '-80.970238', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64195, 'Hanover', 2831, '24839', '304', '37.554747', '-81.81821', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64196, 'Huntington', 2831, '25711', '304', '38.4175', '-82.4559', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64197, 'Prosperity', 2831, '25909', '304', '37.837706', '-81.197649', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64198, 'Stanaford', 2831, '25927', '304', '37.8159', '-81.1527', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64199, 'Bellwood', 2831, '25962', '304', '37.965586', '-80.783537', '2018-11-29 05:09:43', '2018-11-29 05:09:43'),\n(64200, 'Corliss', 2831, '25962', '304', '37.965586', '-80.783537', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64201, 'Hilton Village', 2831, '25962', '304', '37.965586', '-80.783537', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64202, 'Hilton Vlg', 2831, '25962', '304', '37.965586', '-80.783537', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64203, 'Lilly Park', 2831, '25962', '304', '37.965586', '-80.783537', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64204, 'Rainelle', 2831, '25962', '304', '37.965586', '-80.783537', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64205, 'Meadow Creek', 2831, '25977', '304', '37.80785', '-80.913072', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64206, 'Lovern', 2831, '25979', '304', '37.513687', '-80.927276', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64207, 'Pipestem', 2831, '25979', '304', '37.513687', '-80.927276', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64208, 'Scott Depot', 2831, '25560', '304', '38.449884', '-81.894596', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64209, 'Huntington', 2831, '25727', '304', '38.4195', '-82.4455', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64210, 'Huntington', 2831, '25728', '304', '38.4195', '-82.4455', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64211, 'Huntington', 2831, '25775', '304', '38.4195', '-82.4455', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64212, 'Huntington', 2831, '25778', '304', '38.4195', '-82.4455', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64213, 'Amigo', 2831, '25811', '304', '37.596598', '-81.343997', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64214, 'Glen Fork', 2831, '25845', '304', '37.651349', '-81.52984', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64215, 'Lansing', 2831, '25862', '304', '38.108373', '-81.032988', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64216, 'Charleston', 2831, '25357', '304', '38.3494', '-81.6329', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64217, 'Charleston', 2831, '25358', '304', '38.3537', '-81.6384', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64218, 'Charleston', 2831, '25360', '304', '38.3494', '-81.6329', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64219, 'Charleston', 2831, '25375', '304', '38.3494', '-81.6329', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64220, 'Baisden', 2831, '25608', '304', '37.562728', '-81.913249', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64221, 'Bruno', 2831, '25611', '304', '37.692766', '-81.866973', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64222, 'Holden', 2831, '25625', '304', '37.8209', '-82.069722', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64223, 'Red Jacket', 2831, '25692', '304', '37.64754', '-82.122229', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64224, 'Bakerton', 2831, '25410', '304', '39.3623', '-77.7627', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64225, 'Berkeley Spgs', 2831, '25411', '304', '39.543606', '-78.209092', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64226, 'Berkeley Springs', 2831, '25411', '304', '39.543606', '-78.209092', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64227, 'Hancock', 2831, '25411', '304', '39.543606', '-78.209092', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64228, 'Unger', 2831, '25411', '304', '39.543606', '-78.209092', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64229, 'Bolivar', 2831, '25425', '304', '39.268384', '-77.78963', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64230, 'Harpers Ferry', 2831, '25425', '304', '39.268384', '-77.78963', '2018-11-29 05:09:44', '2018-11-29 05:09:44'),\n(64231, 'Shepherdstown', 2831, '25443', '304', '39.445326', '-77.812526', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64232, 'Chapmanville', 2831, '25508', '304', '37.93467', '-82.04799', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64233, 'Shively', 2831, '25508', '304', '37.93467', '-82.04799', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64234, 'Hurricane', 2831, '25526', '304', '38.388088', '-81.977622', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64235, 'Liberty', 2831, '25124', '304', '38.629487', '-81.76069', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64236, 'Clifton', 2831, '25260', '304', '38.986508', '-82.03324', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64237, 'Mason', 2831, '25260', '304', '38.986508', '-82.03324', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64238, 'Sandyville', 2831, '25275', '304', '38.91482', '-81.644556', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64239, 'Charleston', 2831, '25324', '304', '38.3494', '-81.6329', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64240, 'Charleston', 2831, '25326', '304', '38.3494', '-81.6329', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64241, 'Trout', 2831, '24991', '304', '37.950168', '-80.493928', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64242, 'Williamsburg', 2831, '24991', '304', '37.950168', '-80.493928', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64243, 'Arnett', 2831, '25007', '304', '37.82164', '-81.429158', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64244, 'Ashford', 2831, '25009', '304', '38.189588', '-81.687815', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64245, 'Bald Knob', 2831, '25208', '304', '37.867047', '-81.6959', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64246, 'Barrett', 2831, '25208', '304', '37.867047', '-81.6959', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64247, 'Wharton', 2831, '25208', '304', '37.867047', '-81.6959', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64248, 'Paynesville', 2831, '24873', '304', '37.360312', '-81.67156', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64249, 'Deep Water', 2831, '25057', '304', '38.123104', '-81.242234', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64250, 'Dixie', 2831, '25059', '304', '38.268168', '-81.18739', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64251, 'Brenton', 2831, '24818', '304', '37.589816', '-81.674974', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64252, 'Fanrock', 2831, '24834', '304', '37.565868', '-81.624614', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64253, 'Slab Fork', 2831, '25920', '304', '37.6979', '-81.330976', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64254, 'Lerona', 2831, '25971', '304', '37.502362', '-80.987579', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64255, 'Duo', 2831, '25984', '304', '37.984536', '-80.656949', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64256, 'Kessler', 2831, '25984', '304', '37.984536', '-80.656949', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64257, 'Rupert', 2831, '25984', '304', '37.984536', '-80.656949', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64258, 'Sandstone', 2831, '25985', '304', '37.763112', '-80.86694', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64259, 'Bethlehem', 2831, '26003', '304', '40.0688', '-80.646331', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64260, 'Elm Grove', 2831, '26003', '304', '40.0688', '-80.646331', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64261, 'Mozart', 2831, '26003', '304', '40.0688', '-80.646331', '2018-11-29 05:09:45', '2018-11-29 05:09:45'),\n(64262, 'Overbrook', 2831, '26003', '304', '40.0688', '-80.646331', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64263, 'Warwood', 2831, '26003', '304', '40.0688', '-80.646331', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64264, 'Wheeling', 2831, '26003', '304', '40.0688', '-80.646331', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64265, 'Lavalette', 2831, '25535', '304', '38.31185', '-82.412889', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64266, 'Huntington', 2831, '25719', '304', '38.4195', '-82.4455', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64267, 'Beckley', 2831, '25802', '304', '37.7782', '-81.1884', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64268, 'Sprague', 2831, '25802', '304', '37.7782', '-81.1884', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64269, 'Helen', 2831, '25853', '304', '37.649794', '-81.330661', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64270, 'Hico', 2831, '25854', '304', '38.116306', '-80.949868', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64271, 'Charleston', 2831, '25333', '304', '38.3494', '-81.6329', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64272, 'Charleston', 2831, '25335', '304', '38.3494', '-81.6329', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64273, 'Martinsburg', 2831, '25401', '304', '39.46561', '-77.964453', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64274, 'Davin', 2831, '25617', '304', '37.709287', '-81.787352', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64275, 'Hunt', 2831, '25635', '304', '37.721284', '-81.84677', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64276, 'Landville', 2831, '25635', '304', '37.721284', '-81.84677', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64277, 'Man', 2831, '25635', '304', '37.721284', '-81.84677', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64278, 'Wilkinson', 2831, '25653', '304', '37.827332', '-82.00005', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64279, 'Chattaroy', 2831, '25667', '304', '37.70318', '-82.280908', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64280, 'Chloe', 2831, '25235', '304', '38.674986', '-81.076714', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64281, 'Floe', 2831, '25235', '304', '38.674986', '-81.076714', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64282, 'Apple Grove', 2831, '25502', '304', '38.681653', '-82.108134', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64283, 'Ashton', 2831, '25503', '304', '38.60151', '-82.105895', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64284, 'Genoa', 2831, '25517', '304', '38.077519', '-82.456871', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64285, 'Radnor', 2831, '25517', '304', '38.077519', '-82.456871', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64286, 'Brownsville', 2831, '25085', '304', '38.184442', '-81.143715', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64287, 'Gauley Bridge', 2831, '25085', '304', '38.184442', '-81.143715', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64288, 'Kimberly', 2831, '25118', '304', '38.125934', '-81.324244', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64289, 'Letter Gap', 2831, '25267', '304', '38.866476', '-80.944484', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64290, 'Lockney', 2831, '25267', '304', '38.866476', '-80.944484', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64291, 'Normantown', 2831, '25267', '304', '38.866476', '-80.944484', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64292, 'Stumptown', 2831, '25267', '304', '38.866476', '-80.944484', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64293, 'Valley Fork', 2831, '25285', '304', '38.532329', '-81.110555', '2018-11-29 05:09:46', '2018-11-29 05:09:46'),\n(64294, 'Wallback', 2831, '25285', '304', '38.532329', '-81.110555', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64295, 'Glace', 2831, '24983', '304', '37.596318', '-80.444747', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64296, 'Sarton', 2831, '24983', '304', '37.596318', '-80.444747', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64297, 'Union', 2831, '24983', '304', '37.596318', '-80.444747', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64298, 'Willow Bend', 2831, '24983', '304', '37.596318', '-80.444747', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64299, 'Waiteville', 2831, '24984', '304', '37.517718', '-80.4703', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64300, 'Mammoth', 2831, '25132', '304', '38.243996', '-81.357588', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64301, 'Racine', 2831, '25165', '304', '38.160412', '-81.658515', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64302, 'Mount Olive', 2831, '25185', '304', '38.2383', '-81.2335', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64303, 'Mt Olive Crrctnl Complex', 2831, '25185', '304', '38.2383', '-81.2335', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64304, 'Tad', 2831, '25201', '304', '38.3334', '-81.4945', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64305, 'Justice', 2831, '24851', '304', '37.601075', '-81.850347', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64306, 'Newhall', 2831, '24866', '304', '37.264754', '-81.603801', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64307, 'New Richmond', 2831, '24867', '304', '37.577435', '-81.490656', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64308, 'Algoma', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64309, 'Ashland', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64310, 'Crumpler', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64311, 'Keystone', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64312, 'Mc Dowell', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64313, 'Northfork', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64314, 'Powhatan', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64315, 'Worth', 2831, '24868', '304', '37.401124', '-81.391406', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64316, 'Cabin Creek', 2831, '25035', '304', '38.178118', '-81.526262', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64317, 'Chelyan', 2831, '25035', '304', '38.178118', '-81.526262', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64318, 'Costa', 2831, '25051', '304', '38.139783', '-81.730966', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64319, 'Crown Hill', 2831, '25067', '304', '38.17628', '-81.437717', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64320, 'East Bank', 2831, '25067', '304', '38.17628', '-81.437717', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64321, 'Fraziers Bottom', 2831, '25082', '304', '38.582242', '-82.00965', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64322, 'Fraziers Btm', 2831, '25082', '304', '38.582242', '-82.00965', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64323, 'Pliny', 2831, '25082', '304', '38.582242', '-82.00965', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64324, 'Dellslow', 2831, '26531', '304', '39.606424', '-79.890134', '2018-11-29 05:09:47', '2018-11-29 05:09:47'),\n(64325, 'Pursglove', 2831, '26546', '304', '39.709844', '-80.097416', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64326, 'Reedsville', 2831, '26547', '304', '39.510303', '-79.821017', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64327, 'Big Run', 2831, '26561', '304', '39.589881', '-80.571316', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64328, 'Burton', 2831, '26562', '304', '39.666549', '-80.40261', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64329, 'Coburn', 2831, '26562', '304', '39.666549', '-80.40261', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64330, 'Carolina', 2831, '26563', '304', '39.477492', '-80.271462', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64331, 'Kingmont', 2831, '26578', '304', '39.4468', '-80.1764', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64332, 'Knob Fork', 2831, '26581', '304', '39.670118', '-80.61425', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64333, 'Littleton', 2831, '26581', '304', '39.670118', '-80.61425', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64334, 'Wileyville', 2831, '26581', '304', '39.670118', '-80.61425', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64335, 'Sugar Grove', 2831, '26815', '304', '38.50506', '-79.329078', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64336, 'Arthur', 2831, '26847', '304', '38.978132', '-79.142409', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64337, 'New Milton', 2831, '26411', '304', '39.178134', '-80.717989', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64338, 'Kanawha Head', 2831, '26228', '304', '38.766236', '-80.36779', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64339, 'Dryfork', 2831, '26263', '304', '38.93602', '-79.427014', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64340, 'Mabie', 2831, '26278', '304', '38.808219', '-80.026626', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64341, 'Blue Goose', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64342, 'Lynncamp', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64343, 'Palestine', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64344, 'Sanoma', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64345, 'Somervlle Frk', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64346, 'Sommerville Fork', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64347, 'Two Run', 2831, '26160', '304', '38.964514', '-81.431304', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64348, 'Petroleum', 2831, '26161', '304', '39.191922', '-81.236337', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64349, 'Porters Falls', 2831, '26162', '304', '39.582491', '-80.765198', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64350, 'Minden', 2831, '25879', '304', '37.968908', '-81.098642', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64351, 'Raleigh', 2831, '25911', '304', '37.7567', '-81.1744', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64352, 'Elton', 2831, '25976', '304', '37.885158', '-80.865184', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64353, 'Lockbridge', 2831, '25976', '304', '37.885158', '-80.865184', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64354, 'Meadow Bridge', 2831, '25976', '304', '37.885158', '-80.865184', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64355, 'Nimitz', 2831, '25978', '304', '37.622933', '-80.939248', '2018-11-29 05:09:48', '2018-11-29 05:09:48'),\n(64356, 'Milton', 2831, '25541', '304', '38.426818', '-82.147494', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64357, 'Salt Rock', 2831, '25559', '304', '38.324214', '-82.23153', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64358, 'Allen Jct', 2831, '25810', '304', '37.5894', '-81.3506', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64359, 'Allen Junction', 2831, '25810', '304', '37.5894', '-81.3506', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64360, 'Corinne', 2831, '25826', '304', '37.588821', '-81.352901', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64361, 'Lanark', 2831, '25860', '304', '37.8275', '-81.1464', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64362, 'Kistler', 2831, '25628', '304', '37.772284', '-81.858606', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64363, 'Lenore', 2831, '25676', '304', '37.81303', '-82.239969', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64364, 'Blackberry City', 2831, '25678', '304', '37.638746', '-82.126979', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64365, 'Blckberry Cty', 2831, '25678', '304', '37.638746', '-82.126979', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64366, 'Lobata', 2831, '25678', '304', '37.638746', '-82.126979', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64367, 'Matewan', 2831, '25678', '304', '37.638746', '-82.126979', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64368, 'Meador', 2831, '25678', '304', '37.638746', '-82.126979', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64369, 'Evans', 2831, '25241', '304', '38.794126', '-81.804041', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64370, 'Gandeeville', 2831, '25243', '304', '38.682195', '-81.452906', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64371, 'Harmony', 2831, '25243', '304', '38.682195', '-81.452906', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64372, 'Glen Ferris', 2831, '25090', '304', '38.150968', '-81.206354', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64373, 'Gordon', 2831, '25093', '304', '37.987948', '-81.652115', '2018-11-29 05:09:49', '2018-11-29 05:09:49');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(64374, 'Hometown', 2831, '25109', '304', '38.527154', '-81.856888', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64375, 'Spencer', 2831, '25276', '304', '38.763631', '-81.324802', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64376, 'Charleston', 2831, '25311', '304', '38.35825', '-81.554564', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64377, 'Secondcreek', 2831, '24974', '304', '37.664368', '-80.402632', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64378, 'Pickaway', 2831, '24976', '304', '37.659238', '-80.527276', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64379, 'Sinks Grove', 2831, '24976', '304', '37.659238', '-80.527276', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64380, 'Wolfcreek', 2831, '24993', '304', '37.624011', '-80.625791', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64381, 'Bentree', 2831, '25125', '304', '38.305647', '-81.197408', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64382, 'Lizemores', 2831, '25125', '304', '38.305647', '-81.197408', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64383, 'Montcoal', 2831, '25140', '304', '37.860258', '-81.557869', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64384, 'Naoma', 2831, '25140', '304', '37.860258', '-81.557869', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64385, 'Stickney', 2831, '25140', '304', '37.860258', '-81.557869', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64386, 'Sundial', 2831, '25140', '304', '37.860258', '-81.557869', '2018-11-29 05:09:49', '2018-11-29 05:09:49'),\n(64387, 'Nellis', 2831, '25142', '304', '38.179256', '-81.748548', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64388, 'Lanham', 2831, '25159', '304', '38.513188', '-81.785233', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64389, 'Poca', 2831, '25159', '304', '38.513188', '-81.785233', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64390, 'Lillydale', 2831, '24857', '304', '37.671487', '-81.660978', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64391, 'Lynco', 2831, '24857', '304', '37.671487', '-81.660978', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64392, 'Marianna', 2831, '24859', '304', '37.617867', '-81.57721', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64393, 'Pineville', 2831, '24859', '304', '37.617867', '-81.57721', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64394, 'Bloomingrose', 2831, '25024', '304', '38.155172', '-81.61992', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64395, 'Clay', 2831, '25043', '304', '38.470046', '-80.999716', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64396, 'Ameagle', 2831, '25060', '304', '37.972051', '-81.473481', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64397, 'Dorothy', 2831, '25060', '304', '37.972051', '-81.473481', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64398, 'Carbon', 2831, '25075', '304', '38.081806', '-81.446814', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64399, 'Decota', 2831, '25075', '304', '38.081806', '-81.446814', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64400, 'Eskdale', 2831, '25075', '304', '38.081806', '-81.446814', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64401, 'Kayford', 2831, '25075', '304', '38.081806', '-81.446814', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64402, 'Leewood', 2831, '25075', '304', '38.081806', '-81.446814', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64403, 'Ohley', 2831, '25075', '304', '38.081806', '-81.446814', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64404, 'Ethel', 2831, '25076', '304', '37.855674', '-81.889909', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64405, 'Dorcas', 2831, '26847', '304', '38.978132', '-79.142409', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64406, 'Landes Sta', 2831, '26847', '304', '38.978132', '-79.142409', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64407, 'Landes Station', 2831, '26847', '304', '38.978132', '-79.142409', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64408, 'Petersburg', 2831, '26847', '304', '38.978132', '-79.142409', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64409, 'Wardensville', 2831, '26851', '304', '39.022312', '-78.631364', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64410, 'Superior', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64411, 'Welch', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64412, 'Wolf Pen', 2831, '24801', '304', '37.371204', '-81.508361', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64413, 'Elkhorn', 2831, '24831', '304', '37.382413', '-81.408347', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64414, 'Summersville', 2831, '26651', '304', '38.328008', '-80.86926', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64415, 'Leivasy', 2831, '26676', '304', '38.131042', '-80.746064', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64416, 'Fort Ashby', 2831, '26719', '304', '39.480436', '-78.770339', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64417, 'Keyser', 2831, '26726', '304', '39.41801', '-79.006773', '2018-11-29 05:09:50', '2018-11-29 05:09:50'),\n(64418, 'Rocket Center', 2831, '26726', '304', '39.41801', '-79.006773', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64419, 'Scherr', 2831, '26726', '304', '39.41801', '-79.006773', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64420, 'Short Gap', 2831, '26726', '304', '39.41801', '-79.006773', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64421, 'Wiley Ford', 2831, '26767', '304', '39.614076', '-78.759815', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64422, 'Morgantown', 2831, '26506', '304', '39.649606', '-79.957293', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64423, 'Bretz', 2831, '26524', '304', '39.5424', '-79.8009', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64424, 'Reedsville', 2831, '26524', '304', '39.5424', '-79.8009', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64425, 'Wadestown', 2831, '26590', '304', '39.666264', '-80.300147', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64426, 'Wana', 2831, '26590', '304', '39.666264', '-80.300147', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64427, 'Maysville', 2831, '26833', '304', '39.084059', '-79.19734', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64428, 'Greenwood', 2831, '26415', '304', '39.29678', '-80.934066', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64429, 'Mountain', 2831, '26415', '304', '39.29678', '-80.934066', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64430, 'Pennsboro', 2831, '26415', '304', '39.29678', '-80.934066', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64431, 'Toll Gate', 2831, '26415', '304', '39.29678', '-80.934066', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64432, 'Bristol', 2831, '26426', '304', '39.299212', '-80.606082', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64433, 'Industrial', 2831, '26426', '304', '39.299212', '-80.606082', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64434, 'Salem', 2831, '26426', '304', '39.299212', '-80.606082', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64435, 'Wolf Summit', 2831, '26426', '304', '39.299212', '-80.606082', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64436, 'Adamsville', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64437, 'Francis Mine', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64438, 'Owings', 2831, '26431', '304', '39.38757', '-80.269629', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64439, 'Ada', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64440, 'Bluefield', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64441, 'Bluewell', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64442, 'Brush Fork', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64443, 'Ceres', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64444, 'Green Valley', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64445, 'Littlesburg', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64446, 'Lorton Lick', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64447, 'Sandlick', 2831, '24701', '304', '37.300884', '-81.21176', '2018-11-29 05:09:51', '2018-11-29 05:09:51'),\n(64448, 'Bramwell', 2831, '24715', '304', '37.337762', '-81.331978', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64449, 'Kellysville', 2831, '24732', '304', '37.3448', '-80.9284', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64450, 'Lashmeet', 2831, '24733', '304', '37.464678', '-81.217114', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64451, 'Wyoming', 2831, '24898', '304', '37.590722', '-81.603675', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64452, 'Arbovale', 2831, '24915', '304', '38.477236', '-79.768025', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64453, 'Ballard', 2831, '24918', '304', '37.51387', '-80.763224', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64454, 'Wolfe', 2831, '24751', '304', '37.3072', '-81.3286', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64455, 'Big Sandy', 2831, '24816', '304', '37.459595', '-81.702005', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64456, 'Bradshaw', 2831, '24817', '304', '37.364266', '-81.804108', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64457, 'Falls Mill', 2831, '26631', '304', '38.773624', '-80.582782', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64458, 'Napier', 2831, '26631', '304', '38.773624', '-80.582782', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64459, 'Mount Lookout', 2831, '26678', '304', '38.18205', '-80.90644', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64460, 'Delray', 2831, '26714', '304', '39.193624', '-78.635732', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64461, 'Lahmansville', 2831, '26731', '304', '39.22335', '-79.098138', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64462, 'Mathias', 2831, '26812', '304', '38.873067', '-78.897407', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64463, 'Riverton', 2831, '26814', '304', '38.701364', '-79.478771', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64464, 'Moyers', 2831, '26815', '304', '38.50506', '-79.329078', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64465, 'Little Birch', 2831, '26629', '304', '38.57907', '-80.690854', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64466, 'Tesla', 2831, '26629', '304', '38.57907', '-80.690854', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64467, 'Nettie', 2831, '26681', '304', '38.201959', '-80.697002', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64468, 'Capon Bridge', 2831, '26711', '304', '39.280828', '-78.515564', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64469, 'Springfield', 2831, '26763', '304', '39.477869', '-78.692674', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64470, 'Corinth', 2831, '26764', '304', '39.463658', '-79.591922', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64471, 'Hopemont', 2831, '26764', '304', '39.463658', '-79.591922', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64472, 'Terra Alta', 2831, '26764', '304', '39.463658', '-79.591922', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64473, 'Shock', 2831, '26638', '304', '38.76885', '-81.002737', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64474, 'Augusta', 2831, '26704', '304', '39.315244', '-78.600877', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64475, 'Valley Chapel', 2831, '26452', '304', '39.0473', '-80.493713', '2018-11-29 05:09:52', '2018-11-29 05:09:52'),\n(64476, 'Weston', 2831, '26452', '304', '39.0473', '-80.493713', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64477, 'Morgantown', 2831, '26504', '304', '39.6297', '-79.9563', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64478, 'Star City', 2831, '26504', '304', '39.6297', '-79.9563', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64479, 'Booth', 2831, '26505', '304', '39.649574', '-79.945822', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64480, 'Everettville', 2831, '26505', '304', '39.649574', '-79.945822', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64481, 'Morgantown', 2831, '26505', '304', '39.649574', '-79.945822', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64482, 'Sabraton', 2831, '26505', '304', '39.649574', '-79.945822', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64483, 'Star City', 2831, '26505', '304', '39.649574', '-79.945822', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64484, 'Arthurdale', 2831, '26520', '304', '39.492326', '-79.82646', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64485, 'Kingwood', 2831, '26537', '304', '39.512307', '-79.724454', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64486, 'Rivesville', 2831, '26588', '304', '39.5785', '-80.140636', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64487, 'Capon Springs', 2831, '26823', '304', '39.137013', '-78.511742', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64488, 'Horner', 2831, '26372', '304', '38.960812', '-80.363086', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64489, 'Lost Creek', 2831, '26385', '304', '39.158404', '-80.379648', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64490, 'Mcwhorter', 2831, '26385', '304', '39.158404', '-80.379648', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64491, 'Dola', 2831, '26386', '304', '39.38526', '-80.382151', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64492, 'Lumberport', 2831, '26386', '304', '39.38526', '-80.382151', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64493, 'Kasson', 2831, '26405', '304', '39.226409', '-79.908778', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64494, 'Moatsville', 2831, '26405', '304', '39.226409', '-79.908778', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64495, 'Hastings', 2831, '26419', '304', '39.569534', '-80.650064', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64496, 'Pine Grove', 2831, '26419', '304', '39.569534', '-80.650064', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64497, 'Smithfield', 2831, '26437', '304', '39.500471', '-80.55854', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64498, 'Spelter', 2831, '26438', '304', '39.346694', '-80.31875', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64499, 'Exchange', 2831, '26619', '304', '38.740246', '-80.745496', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64500, 'Riffle', 2831, '26619', '304', '38.740246', '-80.745496', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64501, 'Chester', 2831, '26034', '304', '40.588764', '-80.560204', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64502, 'Buckhannon', 2831, '26201', '304', '38.997463', '-80.194018', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64503, 'Century', 2831, '26201', '304', '38.997463', '-80.194018', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64504, 'Hodgesville', 2831, '26201', '304', '38.997463', '-80.194018', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64505, 'Tennerton', 2831, '26201', '304', '38.997463', '-80.194018', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64506, 'Bowden', 2831, '26254', '304', '38.948968', '-79.656996', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64507, 'Wymer', 2831, '26254', '304', '38.948968', '-79.656996', '2018-11-29 05:09:53', '2018-11-29 05:09:53'),\n(64508, 'Glady', 2831, '26268', '304', '38.79222', '-79.703164', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64509, 'Harman', 2831, '26270', '304', '38.91812', '-79.529852', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64510, 'Curtin', 2831, '26288', '304', '38.472804', '-80.353632', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64511, 'Parcoal', 2831, '26288', '304', '38.472804', '-80.353632', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64512, 'Webster Spgs', 2831, '26288', '304', '38.472804', '-80.353632', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64513, 'Webster Springs', 2831, '26288', '304', '38.472804', '-80.353632', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64514, 'Clarksburg', 2831, '26302', '304', '39.263742', '-80.310207', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64515, 'Follansbee', 2831, '26037', '304', '40.335157', '-80.579506', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64516, 'Wellsburg', 2831, '26070', '304', '40.235136', '-80.600438', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64517, 'Big Springs', 2831, '26137', '304', '38.973782', '-80.996692', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64518, 'Nobe', 2831, '26137', '304', '38.973782', '-80.996692', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64519, 'Tanner', 2831, '26137', '304', '38.973782', '-80.996692', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64520, 'Kingston', 2831, '25917', '304', '37.952136', '-81.241266', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64521, 'Scarbro', 2831, '25917', '304', '37.952136', '-81.241266', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64522, 'Brooks', 2831, '25951', '304', '37.614968', '-80.867939', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64523, 'Hinton', 2831, '25951', '304', '37.614968', '-80.867939', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64524, 'True', 2831, '25951', '304', '37.614968', '-80.867939', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64525, 'Jumping Br', 2831, '25969', '304', '37.615477', '-81.023905', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64526, 'Jumping Branch', 2831, '25969', '304', '37.615477', '-81.023905', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64527, 'Streeter', 2831, '25969', '304', '37.615477', '-81.023905', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64528, 'Spring Dale', 2831, '25986', '304', '37.86967', '-80.81315', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64529, 'Sumerco', 2831, '25567', '304', '38.211749', '-81.88116', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64530, 'Wayne', 2831, '25570', '304', '38.216216', '-82.441634', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64531, 'Huntington', 2831, '25717', '304', '38.4195', '-82.4455', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64532, 'Huntington', 2831, '25718', '304', '38.4195', '-82.4455', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64533, 'Huntington', 2831, '25720', '304', '38.4195', '-82.4455', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64534, 'Huntington', 2831, '25770', '304', '38.4195', '-82.4455', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64535, 'Bolt', 2831, '25817', '304', '37.773778', '-81.414988', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64536, 'Bradley', 2831, '25818', '304', '37.866449', '-81.192332', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64537, 'Edmond', 2831, '25837', '304', '38.048798', '-81.042207', '2018-11-29 05:09:54', '2018-11-29 05:09:54'),\n(64538, 'Charleston', 2831, '25334', '304', '38.3494', '-81.6329', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64539, 'Charleston', 2831, '25350', '304', '38.3494', '-81.6329', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64540, 'Logan', 2831, '25601', '304', '37.8445', '-82.034514', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64541, 'Mitchell Hts', 2831, '25601', '304', '37.8445', '-82.034514', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64542, 'Monaville', 2831, '25601', '304', '37.8445', '-82.034514', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64543, 'Rossmore', 2831, '25601', '304', '37.8445', '-82.034514', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64544, 'West Logan', 2831, '25601', '304', '37.8445', '-82.034514', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64545, 'Mallory', 2831, '25634', '304', '37.728097', '-81.843037', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64546, 'Emmett', 2831, '25650', '304', '37.640106', '-81.874735', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64547, 'Verner', 2831, '25650', '304', '37.640106', '-81.874735', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64548, 'Whitman', 2831, '25652', '304', '37.789334', '-82.06504', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64549, 'Crum', 2831, '25669', '304', '37.945614', '-82.460884', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64550, 'Delbarton', 2831, '25670', '304', '37.706095', '-82.12743', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64551, 'Myrtle', 2831, '25670', '304', '37.706095', '-82.12743', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64552, 'Stirrat', 2831, '25670', '304', '37.706095', '-82.12743', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64553, 'Naugatuck', 2831, '25685', '304', '37.776501', '-82.33055', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64554, 'Newtown', 2831, '25686', '304', '37.6306', '-82.0767', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64555, 'Arnoldsburg', 2831, '25234', '304', '38.85079', '-81.141031', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64556, 'Sand Ridge', 2831, '25234', '304', '38.85079', '-81.141031', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64557, 'Left Hand', 2831, '25251', '304', '38.606851', '-81.243916', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64558, 'Duncan', 2831, '25252', '304', '38.946268', '-81.562475', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64559, 'Le Roy', 2831, '25252', '304', '38.946268', '-81.562475', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64560, 'Liverpool', 2831, '25252', '304', '38.946268', '-81.562475', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64561, 'Martinsburg', 2831, '25402', '304', '39.4573', '-77.9685', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64562, 'Falling Waters', 2831, '25419', '304', '39.574859', '-77.887288', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64563, 'Falling Wtrs', 2831, '25419', '304', '39.574859', '-77.887288', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64564, 'Paw Paw', 2831, '25434', '304', '39.48085', '-78.449154', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64565, 'Cove Gap', 2831, '25534', '304', '38.062238', '-82.281316', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64566, 'Kiahsville', 2831, '25534', '304', '38.062238', '-82.281316', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64567, 'Burnwell', 2831, '25083', '304', '38.173866', '-81.375742', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64568, 'Gallagher', 2831, '25083', '304', '38.173866', '-81.375742', '2018-11-29 05:09:55', '2018-11-29 05:09:55'),\n(64569, 'Livingston', 2831, '25083', '304', '38.173866', '-81.375742', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64570, 'Mahan', 2831, '25083', '304', '38.173866', '-81.375742', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64571, 'Standard', 2831, '25083', '304', '38.173866', '-81.375742', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64572, 'Whittaker', 2831, '25083', '304', '38.173866', '-81.375742', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64573, 'Handley', 2831, '25102', '304', '38.186563', '-81.368474', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64574, 'Kanawha Falls', 2831, '25115', '304', '38.115624', '-81.163425', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64575, 'Newton', 2831, '25266', '304', '38.630247', '-81.158433', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64576, 'Uler', 2831, '25266', '304', '38.630247', '-81.158433', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64577, 'Minnora', 2831, '25268', '304', '38.73276', '-81.08679', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64578, 'Orma', 2831, '25268', '304', '38.73276', '-81.08679', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64579, 'Charleston', 2831, '25317', '304', '38.3494', '-81.6329', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64580, 'Wv Dept Of Motor Veh', 2831, '25317', '304', '38.3494', '-81.6329', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64581, 'Falling Sprg', 2831, '24966', '304', '38.080804', '-80.357405', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64582, 'Renick', 2831, '24966', '304', '38.080804', '-80.357405', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64583, 'Ballengee', 2831, '24981', '304', '37.641818', '-80.733204', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64584, 'Talcott', 2831, '24981', '304', '37.641818', '-80.733204', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64585, 'Wayside', 2831, '24985', '304', '37.608788', '-80.708826', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64586, 'Maysel', 2831, '25133', '304', '38.470604', '-81.127252', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64587, 'Miami', 2831, '25134', '304', '38.155372', '-81.46842', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64588, 'Page', 2831, '25152', '304', '38.050221', '-81.277602', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64589, 'Red House', 2831, '25168', '304', '38.555581', '-81.895135', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64590, 'Sharples', 2831, '25183', '304', '37.906358', '-81.830664', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64591, 'Jesse', 2831, '24849', '304', '37.6643', '-81.557425', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64592, 'Jolo', 2831, '24850', '304', '37.330447', '-81.842231', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64593, 'Roderfield', 2831, '24881', '304', '37.446132', '-81.686437', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64594, 'Buffalo', 2831, '25033', '304', '38.6046', '-81.909476', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64595, 'Beeson', 2831, '24714', '304', '37.459645', '-81.157324', '2018-11-29 05:09:56', '2018-11-29 05:09:56'),\n(64596, 'Kegley', 2831, '24731', '304', '37.402093', '-81.14971', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64597, 'Clintonville', 2831, '24931', '304', '37.915702', '-80.60327', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64598, 'Crawley', 2831, '24931', '304', '37.915702', '-80.60327', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64599, 'Kieffer', 2831, '24931', '304', '37.915702', '-80.60327', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64600, 'Sam Black', 2831, '24931', '304', '37.915702', '-80.60327', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64601, 'Auto', 2831, '24966', '304', '38.080804', '-80.357405', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64602, 'Duhring', 2831, '24747', '304', '37.389763', '-81.23154', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64603, 'Mc Comas', 2831, '24747', '304', '37.389763', '-81.23154', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64604, 'Rock', 2831, '24747', '304', '37.389763', '-81.23154', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64605, 'Berwind', 2831, '24815', '304', '37.2756', '-81.696363', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64606, 'Canebrake', 2831, '24815', '304', '37.2756', '-81.696363', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64607, 'Vallscreek', 2831, '24815', '304', '37.2756', '-81.696363', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64608, 'Buckeye', 2831, '24924', '304', '38.185712', '-80.134553', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64609, 'Caldwell', 2831, '24925', '304', '37.74824', '-80.350159', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64610, 'Gap Mills', 2831, '24941', '304', '37.568756', '-80.355265', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64611, 'Sweet Springs', 2831, '24941', '304', '37.568756', '-80.355265', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64612, 'Maxwelton', 2831, '24957', '304', '37.906305', '-80.426931', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64613, 'Cucumber', 2831, '24826', '304', '37.2778', '-81.6267', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64614, 'Wyatt', 2831, '26463', '304', '39.437535', '-80.347602', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64615, 'Pentress', 2831, '26544', '304', '39.712431', '-80.171733', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64616, 'Astor', 2831, '26347', '304', '39.274076', '-80.118792', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64617, 'Brownton', 2831, '26347', '304', '39.274076', '-80.118792', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64618, 'Flemington', 2831, '26347', '304', '39.274076', '-80.118792', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64619, 'Wendel', 2831, '26347', '304', '39.274076', '-80.118792', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64620, 'Harrisville', 2831, '26362', '304', '39.144487', '-81.02618', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64621, 'Hazelgreen', 2831, '26362', '304', '39.144487', '-81.02618', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64622, 'Mahone', 2831, '26362', '304', '39.144487', '-81.02618', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64623, 'Newberne', 2831, '26362', '304', '39.144487', '-81.02618', '2018-11-29 05:09:57', '2018-11-29 05:09:57'),\n(64624, 'Jane Lew', 2831, '26378', '304', '39.117171', '-80.448115', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64625, 'Kincheloe', 2831, '26378', '304', '39.117171', '-80.448115', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64626, 'Tunnelton', 2831, '26444', '304', '39.358096', '-79.76123', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64627, 'Roanoke', 2831, '26447', '304', '38.878516', '-80.501588', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64628, 'Walkersville', 2831, '26447', '304', '38.878516', '-80.501588', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64629, 'Adrian', 2831, '26210', '304', '38.920655', '-80.295399', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64630, 'Mill Creek', 2831, '26280', '304', '38.721878', '-80.008991', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64631, 'Job', 2831, '26296', '304', '38.76855', '-79.60942', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64632, 'Whitmer', 2831, '26296', '304', '38.76855', '-79.60942', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64633, 'Midway', 2831, '25878', '304', '37.720206', '-81.243769', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64634, 'Triadelphia', 2831, '26059', '304', '40.072585', '-80.581484', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64635, 'Elizabeth', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64636, 'Hughes River', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64637, 'Limestone Hill', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64638, 'Limestone Hl', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64639, 'Newark', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64640, 'Spring Valley', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64641, 'Standing Stone', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64642, 'Stndg Stone', 2831, '26143', '304', '39.043388', '-81.398958', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64643, 'Bens Run', 2831, '26146', '304', '39.470091', '-81.03302', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64644, 'Friendly', 2831, '26146', '304', '39.470091', '-81.03302', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64645, 'Huntington', 2831, '25708', '304', '38.4195', '-82.4455', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64646, 'Huntington', 2831, '25710', '304', '38.4195', '-82.4455', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64647, 'Huntington', 2831, '25712', '304', '38.4195', '-82.4455', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64648, 'Pemberton', 2831, '25878', '304', '37.720206', '-81.243769', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64649, 'Stephenson', 2831, '25928', '304', '37.578948', '-81.33318', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64650, 'Winona', 2831, '25942', '304', '38.027376', '-80.99085', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64651, 'Wyco', 2831, '25943', '304', '37.5988', '-81.3433', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64652, 'Myra', 2831, '25544', '304', '38.229346', '-82.13445', '2018-11-29 05:09:58', '2018-11-29 05:09:58'),\n(64653, 'Ona', 2831, '25545', '304', '38.479861', '-82.21794', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64654, 'Huntington', 2831, '25725', '304', '38.4195', '-82.4455', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64655, 'Huntington', 2831, '25726', '304', '38.4195', '-82.4455', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64656, 'Lehew', 2831, '26865', '304', '39.183385', '-78.497141', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64657, 'Yellow Spring', 2831, '26865', '304', '39.183385', '-78.497141', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64658, 'Canvas', 2831, '26662', '304', '38.263105', '-80.743033', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64659, 'Mount Nebo', 2831, '26679', '304', '38.190171', '-80.801189', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64660, 'Runa', 2831, '26679', '304', '38.190171', '-80.801189', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64661, 'Nallen', 2831, '26680', '304', '38.106562', '-80.889115', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64662, 'Russelville', 2831, '26680', '304', '38.106562', '-80.889115', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64663, 'Shanks', 2831, '26761', '304', '39.268404', '-78.695857', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64664, 'Cassville', 2831, '26527', '304', '39.6658', '-80.0637', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64665, 'Cedarville', 2831, '26611', '304', '38.834891', '-80.815932', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64666, 'Flower', 2831, '26611', '304', '38.834891', '-80.815932', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64667, 'Old Fields', 2831, '26845', '304', '39.152443', '-78.9512', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64668, 'Berea', 2831, '26327', '304', '39.133776', '-80.916036', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64669, 'Bridgeport', 2831, '26330', '304', '39.280122', '-80.233781', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64670, 'Brushy Fork', 2831, '26330', '304', '39.280122', '-80.233781', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64671, 'Lake Ridge', 2831, '26330', '304', '39.280122', '-80.233781', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64672, 'Maple Lake', 2831, '26330', '304', '39.280122', '-80.233781', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64673, 'Ellenboro', 2831, '26346', '304', '39.304115', '-81.048592', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64674, 'Highland', 2831, '26346', '304', '39.304115', '-81.048592', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64675, 'Gypsy', 2831, '26361', '304', '39.370102', '-80.325708', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64676, 'Alvy', 2831, '26377', '304', '39.481924', '-80.65235', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64677, 'Jacksonburg', 2831, '26377', '304', '39.481924', '-80.65235', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64678, 'Lima', 2831, '26377', '304', '39.481924', '-80.65235', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64679, 'Newburg', 2831, '26410', '304', '39.41018', '-79.810733', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64680, 'Orlando', 2831, '26412', '304', '38.889146', '-80.5647', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64681, 'Sand Fork', 2831, '26430', '304', '38.88195', '-80.738388', '2018-11-29 05:09:59', '2018-11-29 05:09:59'),\n(64682, 'Stouts Mills', 2831, '26430', '304', '38.88195', '-80.738388', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64683, 'Burnt House', 2831, '26178', '304', '39.073918', '-81.053087', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64684, 'Smithville', 2831, '26178', '304', '39.073918', '-81.053087', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64685, 'Freeport', 2831, '26180', '304', '39.182868', '-81.366745', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64686, 'Walker', 2831, '26180', '304', '39.182868', '-81.366745', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64687, 'Lorentz', 2831, '26229', '304', '39.0109', '-80.3025', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64688, 'Pickens', 2831, '26230', '304', '38.657851', '-80.186932', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64689, 'Canaan Valley', 2831, '26260', '304', '39.08958', '-79.4306', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64690, 'Davis', 2831, '26260', '304', '39.08958', '-79.4306', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64691, 'Richwood', 2831, '26261', '304', '38.184132', '-80.533796', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64692, 'Valley Bend', 2831, '26293', '304', '38.79759', '-79.924137', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64693, 'Mingo', 2831, '26294', '304', '38.51434', '-80.006149', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64694, 'Valley Head', 2831, '26294', '304', '38.51434', '-80.006149', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64695, 'Mc Graws', 2831, '25876', '304', '37.626495', '-81.453448', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64696, 'Saulsville', 2831, '25876', '304', '37.626495', '-81.453448', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64697, 'Valley Grove', 2831, '26060', '304', '40.101944', '-80.557096', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64698, 'Weirton', 2831, '26062', '304', '40.422589', '-80.575644', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64699, 'Huntington', 2831, '25709', '304', '38.4143', '-82.4582', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64700, 'Chapel', 2831, '26624', '304', '38.721388', '-80.818902', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64701, 'Gassaway', 2831, '26624', '304', '38.721388', '-80.818902', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64702, 'Calvin', 2831, '26660', '304', '38.325215', '-80.703393', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64703, 'Drennen', 2831, '26667', '304', '38.238454', '-81.017674', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64704, 'Jodie', 2831, '26690', '304', '38.274316', '-81.073027', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64705, 'Swiss', 2831, '26690', '304', '38.274316', '-81.073027', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64706, 'High View', 2831, '26808', '304', '39.195262', '-78.524649', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64707, 'Lost City', 2831, '26810', '304', '38.948082', '-78.779544', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64708, 'Lost River', 2831, '26810', '304', '38.948082', '-78.779544', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64709, 'Cascade', 2831, '26542', '304', '39.584408', '-79.79328', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64710, 'Masontown', 2831, '26542', '304', '39.584408', '-79.79328', '2018-11-29 05:10:00', '2018-11-29 05:10:00'),\n(64711, 'Baxter', 2831, '26560', '304', '39.534888', '-80.151773', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64712, 'Idamay', 2831, '26576', '304', '39.492472', '-80.261884', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64713, 'Metz', 2831, '26585', '304', '39.607713', '-80.44359', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64714, 'Centralia', 2831, '26601', '304', '38.650792', '-80.65763', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64715, 'Herold', 2831, '26601', '304', '38.650792', '-80.65763', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64716, 'Newville', 2831, '26601', '304', '38.650792', '-80.65763', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64717, 'Sutton', 2831, '26601', '304', '38.650792', '-80.65763', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64718, 'Bloomery', 2831, '26817', '304', '39.373147', '-78.38691', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64719, 'Coxs Mills', 2831, '26342', '304', '39.006683', '-80.862668', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64720, 'Galloway', 2831, '26349', '304', '39.219478', '-80.094805', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64721, 'Independence', 2831, '26374', '304', '39.454414', '-79.890802', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64722, 'Benwood', 2831, '26031', '304', '40.006249', '-80.711215', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64723, 'New England', 2831, '26181', '304', '39.193046', '-81.67385', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64724, 'Washington', 2831, '26181', '304', '39.193046', '-81.67385', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64725, 'Boggs', 2831, '26206', '304', '38.439854', '-80.461904', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64726, 'Cowen', 2831, '26206', '304', '38.439854', '-80.461904', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64727, 'Camden On Gauley', 2831, '26208', '304', '38.37569', '-80.584362', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64728, 'Camden On Gly', 2831, '26208', '304', '38.37569', '-80.584362', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64729, 'Gauley Mills', 2831, '26208', '304', '38.37569', '-80.584362', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64730, 'Ellamore', 2831, '26267', '304', '38.936433', '-80.081198', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64731, 'Clarksburg', 2831, '26306', '304', '39.2764', '-80.3443', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64732, 'Fbi', 2831, '26306', '304', '39.2764', '-80.3443', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64733, 'New Cumberland', 2831, '26047', '304', '40.520835', '-80.593434', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64734, 'New Cumberlnd', 2831, '26047', '304', '40.520835', '-80.593434', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64735, 'New Cumbrlnd', 2831, '26047', '304', '40.520835', '-80.593434', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64736, 'West Liberty', 2831, '26074', '304', '40.170015', '-80.593924', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64737, 'Reader', 2831, '26167', '304', '39.562002', '-80.750114', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64738, 'Huntington', 2831, '25704', '304', '38.332668', '-82.520452', '2018-11-29 05:10:01', '2018-11-29 05:10:01'),\n(64739, 'Huntington', 2831, '25713', '304', '38.4195', '-82.4455', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64740, 'East Gulf', 2831, '25915', '304', '37.619182', '-81.28614', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64741, 'Mead', 2831, '25915', '304', '37.619182', '-81.28614', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64742, 'Rhodell', 2831, '25915', '304', '37.619182', '-81.28614', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64743, 'Bingham', 2831, '25958', '304', '37.994075', '-80.696248', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64744, 'Charmco', 2831, '25958', '304', '37.994075', '-80.696248', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64745, 'Hines', 2831, '25958', '304', '37.994075', '-80.696248', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64746, 'Orient Hill', 2831, '25958', '304', '37.994075', '-80.696248', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64747, 'Bellburn', 2831, '25972', '304', '38.0451', '-80.761708', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64748, 'Leslie', 2831, '25972', '304', '38.0451', '-80.761708', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64749, 'Midkiff', 2831, '25540', '304', '38.145137', '-82.112754', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64750, 'Huntington', 2831, '25722', '304', '38.4195', '-82.4455', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64751, 'Huntington', 2831, '25779', '304', '38.4195', '-82.4455', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64752, 'Beaver', 2831, '25813', '304', '37.79686', '-81.054223', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64753, 'Blue Jay', 2831, '25813', '304', '37.79686', '-81.054223', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64754, 'Glen Morgan', 2831, '25813', '304', '37.79686', '-81.054223', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64755, 'Charleston', 2831, '25338', '304', '38.3494', '-81.6329', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64756, 'Charleston', 2831, '25356', '304', '38.3494', '-81.6329', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64757, 'Edgarton', 2831, '25672', '304', '37.562312', '-82.104928', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64758, 'Thacker', 2831, '25672', '304', '37.562312', '-82.104928', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64759, 'Vulcan', 2831, '25672', '304', '37.562312', '-82.104928', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64760, 'Ragland', 2831, '25690', '304', '37.7026', '-82.1275', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64761, 'Widen', 2831, '25211', '304', '38.464302', '-80.877298', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64762, 'Given', 2831, '25245', '304', '38.72772', '-81.71244', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64763, 'Rock Castle', 2831, '25245', '304', '38.72772', '-81.71244', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64764, 'Ranson', 2831, '25438', '304', '39.318632', '-77.853265', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64765, 'Branchland', 2831, '25506', '304', '38.207092', '-82.16239', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64766, 'Palermo', 2831, '25506', '304', '38.207092', '-82.16239', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64767, 'Sias', 2831, '25506', '304', '38.207092', '-82.16239', '2018-11-29 05:10:02', '2018-11-29 05:10:02'),\n(64768, 'Glasgow', 2831, '25086', '304', '38.219522', '-81.400484', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64769, 'Henderson', 2831, '25106', '304', '38.813858', '-82.136466', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64770, 'Indore', 2831, '25111', '304', '38.36776', '-81.155485', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64771, 'Walton', 2831, '25286', '304', '38.621358', '-81.414297', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64772, 'Charleston', 2831, '25304', '304', '38.281971', '-81.604848', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64773, 'Kanawha City', 2831, '25304', '304', '38.281971', '-81.604848', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64774, 'Charleston', 2831, '25306', '304', '38.309906', '-81.498818', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64775, 'Malden', 2831, '25306', '304', '38.309906', '-81.498818', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64776, 'Charleston', 2831, '25320', '304', '38.533251', '-81.61173', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64777, 'Sissonville', 2831, '25320', '304', '38.533251', '-81.61173', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64778, 'Charleston', 2831, '25322', '304', '38.3494', '-81.6329', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64779, 'Charleston', 2831, '25329', '304', '38.3494', '-81.6329', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64780, 'Montgomery', 2831, '25136', '304', '38.105653', '-81.265707', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64781, 'Peytona', 2831, '25154', '304', '38.126116', '-81.710162', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64782, 'Bandytown', 2831, '25204', '304', '37.926894', '-81.633671', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64783, 'Twilight', 2831, '25204', '304', '37.926894', '-81.633671', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64784, 'Itmann', 2831, '24847', '304', '37.5736', '-81.4186', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64785, 'Kopperston', 2831, '24854', '304', '37.743137', '-81.540418', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64786, 'Crany', 2831, '24870', '304', '37.729271', '-81.564805', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64787, 'Hatcher', 2831, '24870', '304', '37.729271', '-81.564805', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64788, 'Cheat Lake', 2831, '26507', '304', '39.6297', '-79.9563', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64789, 'Morgantown', 2831, '26507', '304', '39.6297', '-79.9563', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64790, 'Brandonville', 2831, '26525', '304', '39.606556', '-79.635462', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64791, 'Bruceton Mills', 2831, '26525', '304', '39.606556', '-79.635462', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64792, 'Bruceton Mls', 2831, '26525', '304', '39.606556', '-79.635462', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64793, 'Cuzzart', 2831, '26525', '304', '39.606556', '-79.635462', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64794, 'Hazelton', 2831, '26525', '304', '39.606556', '-79.635462', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64795, 'Colfax', 2831, '26566', '304', '39.4347', '-80.1318', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64796, 'Worthington', 2831, '26591', '304', '39.459183', '-80.291582', '2018-11-29 05:10:03', '2018-11-29 05:10:03'),\n(64797, 'Fisher', 2831, '26818', '304', '39.052052', '-79.037255', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64798, 'Anmoore', 2831, '26323', '304', '39.263838', '-80.291079', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64799, 'Center Point', 2831, '26339', '304', '39.420552', '-80.609982', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64800, 'Haywood', 2831, '26366', '304', '39.381837', '-80.335392', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64801, 'Philippi', 2831, '26416', '304', '39.166602', '-80.024684', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64802, 'Troy', 2831, '26443', '304', '39.082426', '-80.760194', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64803, 'Waverly', 2831, '26184', '304', '39.317939', '-81.321495', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64804, 'Slatyfork', 2831, '26209', '304', '38.440124', '-79.984579', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64805, 'Snowshoe', 2831, '26209', '304', '38.440124', '-79.984579', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64806, 'Elkins', 2831, '26241', '304', '38.937428', '-79.824682', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64807, 'Belington', 2831, '26250', '304', '39.040073', '-79.956043', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64808, 'Junior', 2831, '26275', '304', '38.977501', '-79.951672', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64809, 'Monterville', 2831, '26282', '304', '38.507923', '-80.164501', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64810, 'Lochgelly', 2831, '25866', '304', '38.007198', '-81.138927', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64811, 'Mabscott', 2831, '25871', '304', '37.769464', '-81.210122', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64812, 'Moundsville', 2831, '26041', '304', '39.881243', '-80.706961', '2018-11-29 05:10:04', '2018-11-29 05:10:04');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(64813, 'Parkersburg', 2831, '26105', '304', '39.328289', '-81.519235', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64814, 'Vienna', 2831, '26105', '304', '39.328289', '-81.519235', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64815, 'Sistersville', 2831, '26175', '304', '39.540172', '-80.964873', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64816, 'Huntington', 2831, '25707', '304', '38.4195', '-82.4455', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64817, 'Green Sulphur Springs', 2831, '25966', '304', '37.787983', '-80.839024', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64818, 'Grn Sphr Spgs', 2831, '25966', '304', '37.787983', '-80.839024', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64819, 'Meadow Bridge', 2831, '25966', '304', '37.787983', '-80.839024', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64820, 'White Oak', 2831, '25989', '304', '37.680362', '-81.033713', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64821, 'Shoals', 2831, '25562', '304', '38.3267', '-82.4756', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64822, 'Huntington', 2831, '25716', '304', '38.4195', '-82.4455', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64823, 'Huntington', 2831, '25755', '304', '38.423483', '-82.427299', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64824, 'Marshall University', 2831, '25755', '304', '38.423483', '-82.427299', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64825, 'Huntington', 2831, '25771', '304', '38.4195', '-82.4455', '2018-11-29 05:10:04', '2018-11-29 05:10:04'),\n(64826, 'Huntington', 2831, '25773', '304', '38.4195', '-82.4455', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64827, 'Glen Rogers', 2831, '25848', '304', '37.734331', '-81.447926', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64828, 'Josephine', 2831, '25857', '304', '37.625547', '-81.194928', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64829, 'Charleston', 2831, '25337', '304', '38.3494', '-81.6329', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64830, 'Charleston', 2831, '25362', '304', '38.3494', '-81.6329', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64831, 'Charleston', 2831, '25389', '304', '38.2896', '-81.5838', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64832, 'Yawkey', 2831, '25573', '304', '38.210269', '-81.95519', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64833, 'Amherstdale', 2831, '25607', '304', '37.831599', '-81.724846', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64834, 'Robinette', 2831, '25607', '304', '37.831599', '-81.724846', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64835, 'Cora', 2831, '25614', '304', '37.8343', '-82.0269', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64836, 'Earling', 2831, '25632', '304', '37.737496', '-81.923307', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64837, 'Lyburn', 2831, '25632', '304', '37.737496', '-81.923307', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64838, 'Taplin', 2831, '25632', '304', '37.737496', '-81.923307', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64839, 'Mc Connell', 2831, '25646', '304', '37.829666', '-81.940549', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64840, 'Stollings', 2831, '25646', '304', '37.829666', '-81.940549', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64841, 'Winifrede', 2831, '25214', '304', '38.154266', '-81.552606', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64842, 'Martinsburg', 2831, '25405', '304', '39.40841', '-77.961588', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64843, 'Fort Gay', 2831, '25514', '304', '38.129678', '-82.54371', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64844, 'Glenhayes', 2831, '25514', '304', '38.129678', '-82.54371', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64845, 'Griffithsville', 2831, '25521', '304', '38.248878', '-81.978383', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64846, 'Griffithsvle', 2831, '25521', '304', '38.248878', '-81.978383', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64847, 'Kenova', 2831, '25530', '304', '38.35357', '-82.544944', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64848, 'Arbuckle', 2831, '25123', '304', '38.747704', '-81.88054', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64849, 'Grimms Landing', 2831, '25123', '304', '38.747704', '-81.88054', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64850, 'Grimms Lndg', 2831, '25123', '304', '38.747704', '-81.88054', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64851, 'Leon', 2831, '25123', '304', '38.747704', '-81.88054', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64852, 'Robertsburg', 2831, '25123', '304', '38.747704', '-81.88054', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64853, 'Lakin', 2831, '25287', '304', '38.939214', '-82.065438', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64854, 'West Columbia', 2831, '25287', '304', '38.939214', '-82.065438', '2018-11-29 05:10:05', '2018-11-29 05:10:05'),\n(64855, 'Charleston', 2831, '25305', '304', '38.3365', '-81.6104', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64856, 'Charleston', 2831, '25323', '304', '38.3494', '-81.6329', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64857, 'Amma', 2831, '25005', '304', '38.552344', '-81.242101', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64858, 'Beards Fork', 2831, '25173', '304', '38.070547', '-81.23126', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64859, 'Robson', 2831, '25173', '304', '38.070547', '-81.23126', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64860, 'Kimball', 2831, '24853', '304', '37.434964', '-81.475944', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64861, 'Vivian', 2831, '24853', '304', '37.434964', '-81.475944', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64862, 'Kyle', 2831, '24855', '304', '37.408942', '-81.423666', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64863, 'Matheny', 2831, '24860', '304', '37.676692', '-81.58698', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64864, 'North Spring', 2831, '24869', '304', '37.526351', '-81.792225', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64865, 'Pageton', 2831, '24871', '304', '37.328256', '-81.461242', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64866, 'Rock View', 2831, '24880', '304', '37.645492', '-81.531531', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64867, 'Cedar Grove', 2831, '25039', '304', '38.209661', '-81.367174', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64868, 'Montcalm', 2831, '24737', '304', '37.349197', '-81.242453', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64869, 'Athens', 2831, '24712', '304', '37.442967', '-80.940292', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64870, 'Covel', 2831, '24719', '304', '37.494635', '-81.289706', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64871, 'Pence Springs', 2831, '24962', '304', '37.671582', '-80.7052', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64872, 'Clem', 2831, '26623', '304', '38.62687', '-80.891042', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64873, 'Frametown', 2831, '26623', '304', '38.62687', '-80.891042', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64874, 'Glendon', 2831, '26623', '304', '38.62687', '-80.891042', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64875, 'Wilsie', 2831, '26623', '304', '38.62687', '-80.891042', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64876, 'Bayard', 2831, '26707', '304', '39.252704', '-79.360263', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64877, 'Wilson', 2831, '26707', '304', '39.252704', '-79.360263', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64878, 'Annamoriah', 2831, '26141', '304', '38.94291', '-81.25923', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64879, 'Creston', 2831, '26141', '304', '38.94291', '-81.25923', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64880, 'Macfarlan', 2831, '26148', '304', '39.081464', '-81.191794', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64881, 'Mineral Wells', 2831, '26150', '304', '39.157787', '-81.52123', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64882, 'Paden City', 2831, '26159', '304', '39.608215', '-80.906894', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64883, 'Mullens', 2831, '25882', '304', '37.607691', '-81.387111', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64884, 'Prince', 2831, '25907', '304', '37.863042', '-81.072607', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64885, 'Beech Bottom', 2831, '26030', '304', '40.20791', '-80.652774', '2018-11-29 05:10:06', '2018-11-29 05:10:06'),\n(64886, 'Lesage', 2831, '25537', '304', '38.52305', '-82.267613', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64887, 'Prichard', 2831, '25555', '304', '38.218658', '-82.553504', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64888, 'Sod', 2831, '25564', '304', '38.270732', '-81.897268', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64889, 'Huntington', 2831, '25714', '304', '38.4195', '-82.4455', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64890, 'Coal City', 2831, '25823', '304', '37.675399', '-81.213022', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64891, 'Jonben', 2831, '25823', '304', '37.675399', '-81.213022', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64892, 'Whitby', 2831, '25823', '304', '37.675399', '-81.213022', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64893, 'Fairdale', 2831, '25839', '304', '37.786039', '-81.392768', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64894, 'Flat Top', 2831, '25841', '304', '37.545398', '-81.114191', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64895, 'Hilltop', 2831, '25855', '304', '37.943468', '-81.151004', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64896, 'Charleston', 2831, '25339', '304', '38.3494', '-81.6329', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64897, 'Charleston', 2831, '25396', '304', '38.3494', '-81.6329', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64898, 'Verizon', 2831, '25396', '304', '38.3494', '-81.6329', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64899, 'Lorado', 2831, '25630', '304', '37.809452', '-81.703154', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64900, 'Lundale', 2831, '25630', '304', '37.809452', '-81.703154', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64901, 'Mount Gay', 2831, '25637', '304', '37.842786', '-82.026227', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64902, 'Peach Creek', 2831, '25639', '304', '37.873393', '-81.954184', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64903, 'Dingess', 2831, '25671', '304', '37.887649', '-82.191258', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64904, 'Kenna', 2831, '25248', '304', '38.640456', '-81.632949', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64905, 'Kentuck', 2831, '25248', '304', '38.640456', '-81.632949', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64906, 'Romance', 2831, '25248', '304', '38.640456', '-81.632949', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64907, 'Letart', 2831, '25253', '304', '38.89301', '-81.985103', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64908, 'Charles Town', 2831, '25414', '304', '39.257856', '-77.862586', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64909, 'Halltown', 2831, '25423', '304', '39.3136', '-77.7983', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64910, 'Points', 2831, '25437', '304', '39.45146', '-78.5651', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64911, 'East Lynn', 2831, '25512', '304', '38.202212', '-82.3291', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64912, 'Hamlin', 2831, '25523', '304', '38.29271', '-82.083241', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64913, 'Sweetland', 2831, '25523', '304', '38.29271', '-82.083241', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64914, 'Institute', 2831, '25112', '304', '38.3755', '-81.7631', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64915, 'Jeffrey', 2831, '25114', '304', '37.959194', '-81.775888', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64916, 'Ramage', 2831, '25114', '304', '37.959194', '-81.775888', '2018-11-29 05:10:07', '2018-11-29 05:10:07'),\n(64917, 'Kincaid', 2831, '25119', '304', '38.038174', '-81.234578', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64918, 'Lake', 2831, '25121', '304', '37.923572', '-81.893846', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64919, 'Mount Alto', 2831, '25264', '304', '38.862272', '-81.881376', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64920, 'Fairplain', 2831, '25271', '304', '38.789236', '-81.682255', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64921, 'Ripley', 2831, '25271', '304', '38.789236', '-81.682255', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64922, 'Statts Mills', 2831, '25271', '304', '38.789236', '-81.682255', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64923, 'Charleston', 2831, '25312', '304', '38.482461', '-81.65044', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64924, 'Sissonville', 2831, '25312', '304', '38.482461', '-81.65044', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64925, 'Charleston', 2831, '25314', '304', '38.287937', '-81.666332', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64926, 'Charleston', 2831, '25321', '304', '38.3494', '-81.6329', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64927, 'Charleston', 2831, '25328', '304', '38.3494', '-81.6329', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64928, 'Mount Carbon', 2831, '25139', '304', '38.14991', '-81.326592', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64929, 'Orgas', 2831, '25148', '304', '38.064252', '-81.541533', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64930, 'Ridgeview', 2831, '25169', '304', '38.169049', '-81.77869', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64931, 'Saxon', 2831, '25180', '304', '37.790376', '-81.437022', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64932, 'Uneeda', 2831, '25205', '304', '38.025309', '-81.773624', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64933, 'Mohawk', 2831, '24862', '304', '37.497688', '-81.901088', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64934, 'Bickmore', 2831, '25019', '304', '38.380487', '-81.101336', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64935, 'Fola', 2831, '25019', '304', '38.380487', '-81.101336', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64936, 'Bomont', 2831, '25030', '304', '38.409058', '-81.213012', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64937, 'Elkview', 2831, '25071', '304', '38.463276', '-81.471674', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64938, 'Frame', 2831, '25071', '304', '38.463276', '-81.471674', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64939, 'Cunard', 2831, '25840', '304', '38.034008', '-81.021452', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64940, 'Fayetteville', 2831, '25840', '304', '38.034008', '-81.021452', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64941, 'Gatewood', 2831, '25840', '304', '38.034008', '-81.021452', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64942, 'Tourison', 2831, '25840', '304', '38.034008', '-81.021452', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64943, 'Wriston', 2831, '25840', '304', '38.034008', '-81.021452', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64944, 'Glen White', 2831, '25849', '304', '37.734801', '-81.274875', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64945, 'Charleston', 2831, '25365', '304', '38.3494', '-81.6329', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64946, 'Accoville', 2831, '25606', '304', '37.766173', '-81.785898', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64947, 'Crown', 2831, '25606', '304', '37.766173', '-81.785898', '2018-11-29 05:10:08', '2018-11-29 05:10:08'),\n(64948, 'Barnabus', 2831, '25638', '304', '37.654496', '-82.046996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64949, 'Omar', 2831, '25638', '304', '37.654496', '-82.046996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64950, 'Switzer', 2831, '25647', '304', '37.787902', '-81.99091', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64951, 'Dehue', 2831, '25654', '304', '37.860707', '-81.858018', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64952, 'Yolyn', 2831, '25654', '304', '37.860707', '-81.858018', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64953, 'Borderland', 2831, '25665', '304', '37.7168', '-82.310024', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64954, 'Winfield', 2831, '25213', '304', '38.500809', '-81.916216', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64955, 'Advent', 2831, '25231', '304', '38.627272', '-81.569522', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64956, 'Hartford', 2831, '25247', '304', '39.008354', '-81.990317', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64957, 'Hartford City', 2831, '25247', '304', '39.008354', '-81.990317', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64958, 'Bunker Hill', 2831, '25413', '304', '39.315148', '-78.047528', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64959, 'Gerrardstown', 2831, '25420', '304', '39.375929', '-78.11292', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64960, 'Ridgeway', 2831, '25440', '304', '39.2974', '-78.0717', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64961, 'Julian', 2831, '25529', '304', '38.150109', '-81.856847', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64962, 'Millstone', 2831, '25261', '304', '38.860344', '-81.079174', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64963, 'New Haven', 2831, '25265', '304', '38.982702', '-81.963933', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64964, 'Reedy', 2831, '25270', '304', '38.844735', '-81.438347', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64965, 'Charleston', 2831, '25313', '304', '38.414312', '-81.758509', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64966, 'Cross Lanes', 2831, '25313', '304', '38.414312', '-81.758509', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64967, 'Charleston', 2831, '25315', '304', '38.231976', '-81.573838', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64968, 'Chesapeake', 2831, '25315', '304', '38.231976', '-81.573838', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64969, 'Marmet', 2831, '25315', '304', '38.231976', '-81.573838', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64970, 'Fort Spring', 2831, '24970', '304', '37.77251', '-80.482376', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64971, 'Organ Cave', 2831, '24970', '304', '37.77251', '-80.482376', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64972, 'Ronceverte', 2831, '24970', '304', '37.77251', '-80.482376', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64973, 'Neola', 2831, '24986', '304', '37.874768', '-80.171996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64974, 'White Sulphur Springs', 2831, '24986', '304', '37.874768', '-80.171996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64975, 'Wht Sphr Spgs', 2831, '24986', '304', '37.874768', '-80.171996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64976, 'Wht Sulphur S', 2831, '24986', '304', '37.874768', '-80.171996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64977, 'Wht Sulphur Spgs', 2831, '24986', '304', '37.874768', '-80.171996', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64978, 'Alloy', 2831, '25002', '304', '38.130915', '-81.260464', '2018-11-29 05:10:09', '2018-11-29 05:10:09'),\n(64979, 'Bancroft', 2831, '25011', '304', '38.506708', '-81.84031', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64980, 'Powellton', 2831, '25161', '304', '38.099524', '-81.320351', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64981, 'Prenter', 2831, '25181', '304', '38.044988', '-81.65492', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64982, 'Seth', 2831, '25181', '304', '38.044988', '-81.65492', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64983, 'Williams Mountain', 2831, '25181', '304', '38.044988', '-81.65492', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64984, 'Van', 2831, '25206', '304', '37.957126', '-81.72385', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64985, 'Maybeury', 2831, '24861', '304', '37.360844', '-81.363388', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64986, 'Duck', 2831, '25063', '304', '38.587439', '-80.955012', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64987, 'Elmira', 2831, '25063', '304', '38.587439', '-80.955012', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64988, 'Harrison', 2831, '25063', '304', '38.587439', '-80.955012', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64989, 'Strange Creek', 2831, '25063', '304', '38.587439', '-80.955012', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64990, 'Foster', 2831, '25081', '304', '38.098063', '-81.759473', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64991, 'Dott', 2831, '24736', '304', '37.454278', '-81.280253', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64992, 'Giatto', 2831, '24736', '304', '37.454278', '-81.280253', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64993, 'Matoaka', 2831, '24736', '304', '37.454278', '-81.280253', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64994, 'Wilcoe', 2831, '24895', '304', '37.384698', '-81.56392', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64995, 'Bartow', 2831, '24920', '304', '38.578168', '-79.726548', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64996, 'Greenville', 2831, '24945', '304', '37.523776', '-80.65561', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64997, 'Bozoo', 2831, '24963', '304', '37.438479', '-80.757297', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64998, 'Peterstown', 2831, '24963', '304', '37.438479', '-80.757297', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(64999, 'Cyclone', 2831, '24827', '304', '37.733736', '-81.665244', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(65000, 'Eckman', 2831, '24829', '304', '37.402421', '-81.460619', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(65001, 'Anchorage', 2778, '99507', '907', '61.145632', '-149.773328', '2018-11-29 05:10:10', '2018-11-29 05:10:10'),\n(65002, 'Anchorage', 2778, '99518', '907', '61.158078', '-149.88564', '2018-11-29 05:10:11', '2018-11-29 05:10:11'),\n(65003, 'Anchorage', 2778, '99523', '907', '61.2181', '-149.9003', '2018-11-29 05:10:11', '2018-11-29 05:10:11'),\n(65004, 'Chignik', 2778, '99548', '907', '56.239163', '-158.74329', '2018-11-29 05:10:11', '2018-11-29 05:10:11'),\n(65005, 'Chignik Lake', 2778, '99548', '907', '56.239163', '-158.74329', '2018-11-29 05:10:11', '2018-11-29 05:10:11'),\n(65006, 'Chitina', 2778, '99566', '907', '61.505789', '-143.890392', '2018-11-29 05:10:11', '2018-11-29 05:10:11'),\n(65007, 'Eagle River', 2778, '99577', '907', '61.235338', '-149.320634', '2018-11-29 05:10:11', '2018-11-29 05:10:11'),\n(65008, 'Holy Cross', 2778, '99602', '907', '62.261964', '-160.383132', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65009, 'Levelock', 2778, '99625', '907', '59.281548', '-155.320888', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65010, 'Nunapitchuk', 2778, '99641', '907', '60.88643', '-162.331704', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65011, 'Big Lake', 2778, '99652', '907', '61.464922', '-150.097668', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65012, 'Wasilla', 2778, '99652', '907', '61.464922', '-150.097668', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65013, 'Russian Mission', 2778, '99657', '907', '61.809188', '-161.469302', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65014, 'Russian Msn', 2778, '99657', '907', '61.809188', '-161.469302', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65015, 'Tyonek', 2778, '99682', '907', '61.167613', '-151.958153', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65016, 'Mc Grath', 2778, '99691', '907', '63.076695', '-154.432958', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65017, 'Nikolai', 2778, '99691', '907', '63.076695', '-154.432958', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65018, 'Girdwood', 2778, '99693', '907', '60.438812', '-148.301185', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65019, 'Whittier', 2778, '99693', '907', '60.438812', '-148.301185', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65020, 'Eielson AFB', 2778, '99702', '907', '64.70238', '-146.667136', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65021, 'Fairbanks', 2778, '99702', '907', '64.70238', '-146.667136', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65022, 'Fairbanks', 2778, '99707', '907', '64.8379', '-147.7166', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65023, 'Fairbanks', 2778, '99709', '907', '64.925708', '-148.155282', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65024, 'Fairbanks', 2778, '99716', '907', '64.7981', '-147.5356', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65025, 'Two Rivers', 2778, '99716', '907', '64.7981', '-147.5356', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65026, 'Chicken', 2778, '99732', '907', '63.864317', '-141.936968', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65027, 'Galena', 2778, '99741', '907', '65.982716', '-154.400274', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65028, 'Kotzebue', 2778, '99752', '907', '66.73784', '-161.77906', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65029, 'Point Hope', 2778, '99766', '907', '68.257708', '-166.211726', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65030, 'Wetumpka', 2779, '36092', '334', '32.61429', '-86.201974', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65031, 'Abel', 2779, '36258', '256', '33.467242', '-85.709512', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65032, 'Christiana', 2779, '36258', '256', '33.467242', '-85.709512', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65033, 'Delta', 2779, '36258', '256', '33.467242', '-85.709512', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65034, 'Fishhead', 2779, '36258', '256', '33.467242', '-85.709512', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65035, 'Dothan', 2779, '36301', '334', '31.146161', '-85.412448', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65036, 'Grimes', 2779, '36301', '334', '31.146161', '-85.412448', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65037, 'Hodgesville', 2779, '36301', '334', '31.146161', '-85.412448', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65038, 'Kelly Springs', 2779, '36301', '334', '31.146161', '-85.412448', '2018-11-29 05:10:12', '2018-11-29 05:10:12'),\n(65039, 'Rehobeth', 2779, '36301', '334', '31.146161', '-85.412448', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65040, 'Taylor', 2779, '36301', '334', '31.146161', '-85.412448', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65041, 'Abbeville', 2779, '36310', '334', '31.593513', '-85.228148', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65042, 'Lawrenceville', 2779, '36310', '334', '31.593513', '-85.228148', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65043, 'Ashford', 2779, '36312', '334', '31.1841', '-85.252892', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65044, 'Avon', 2779, '36312', '334', '31.1841', '-85.252892', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65045, 'Bertha', 2779, '36353', '334', '31.504582', '-85.34007', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65046, 'Echo', 2779, '36353', '334', '31.504582', '-85.34007', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65047, 'Newville', 2779, '36353', '334', '31.504582', '-85.34007', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65048, 'Ozark', 2779, '36360', '334', '31.454652', '-85.643994', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65049, 'Webb', 2779, '36376', '334', '31.251414', '-85.265171', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65050, 'Brewton', 2779, '36426', '251', '31.144278', '-87.067169', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65051, 'Damascus', 2779, '36426', '251', '31.144278', '-87.067169', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65052, 'Dixonville', 2779, '36426', '251', '31.144278', '-87.067169', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65053, 'East Brewton', 2779, '36426', '251', '31.144278', '-87.067169', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65054, 'Keego', 2779, '36426', '251', '31.144278', '-87.067169', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65055, 'Wallace', 2779, '36426', '251', '31.144278', '-87.067169', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65056, 'Florala', 2779, '36442', '334', '31.066384', '-86.365224', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65057, 'Hacoda', 2779, '36442', '334', '31.066384', '-86.365224', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65058, 'Allen', 2779, '36451', '251', '31.667844', '-87.76005', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65059, 'Grove Hill', 2779, '36451', '251', '31.667844', '-87.76005', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65060, 'Kinston', 2779, '36453', '334', '31.201043', '-86.150796', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65061, 'Bucks', 2779, '36512', '251', '31.0113', '-88.0226', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65062, 'Daphne', 2779, '36526', '251', '30.604252', '-87.858161', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65063, 'Dauphin Island', 2779, '36528', '251', '30.256738', '-88.19395', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65064, 'Dauphin Islnd', 2779, '36528', '251', '30.256738', '-88.19395', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65065, 'Mc Intosh', 2779, '36553', '251', '31.241924', '-88.073924', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65066, 'Stapleton', 2779, '36578', '251', '30.74162', '-87.776734', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65067, 'Magazine', 2779, '36610', '251', '30.737624', '-88.058546', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65068, 'Mobile', 2779, '36610', '251', '30.737624', '-88.058546', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65069, 'Prichard', 2779, '36610', '251', '30.737624', '-88.058546', '2018-11-29 05:10:13', '2018-11-29 05:10:13'),\n(65070, 'Mobile', 2779, '36628', '251', '30.6945', '-88.0431', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65071, 'U S Corps Of Engineers', 2779, '36628', '251', '30.6945', '-88.0431', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65072, 'Mobile', 2779, '36644', '251', '30.6945', '-88.0431', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65073, 'Mobile Gov Plz', 2779, '36644', '251', '30.6945', '-88.0431', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65074, 'Mobile', 2779, '36660', '251', '30.6945', '-88.0431', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65075, 'Catherine', 2779, '36728', '334', '32.154942', '-87.471136', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65076, 'Prairie', 2779, '36728', '334', '32.154942', '-87.471136', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65077, 'Greensboro', 2779, '36744', '334', '32.70787', '-87.616988', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65078, 'Chance', 2779, '36751', '334', '31.886003', '-87.56916', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65079, 'Low Peach Tre', 2779, '36751', '334', '31.886003', '-87.56916', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65080, 'Lower Peach Tree', 2779, '36751', '334', '31.886003', '-87.56916', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65081, 'Lwr Pch Tree', 2779, '36751', '334', '31.886003', '-87.56916', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65082, 'Morvin', 2779, '36762', '334', '31.9709', '-87.9753', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65083, 'Thomasville', 2779, '36762', '334', '31.9709', '-87.9753', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65084, 'Burnwell', 2779, '35038', '205', '33.7076', '-87.0877', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65085, 'Marvel', 2779, '35115', '205', '33.10944', '-86.893998', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65086, 'Montevallo', 2779, '35115', '205', '33.10944', '-86.893998', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65087, 'Indian Spgs', 2779, '35124', '205', '33.309422', '-86.764955', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65088, 'Indian Springs', 2779, '35124', '205', '33.309422', '-86.764955', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65089, 'Indian Springs Village', 2779, '35124', '205', '33.309422', '-86.764955', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65090, 'Indn Spgs Vlg', 2779, '35124', '205', '33.309422', '-86.764955', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65091, 'Pelham', 2779, '35124', '205', '33.309422', '-86.764955', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65092, 'Ragland', 2779, '35131', '205', '33.727324', '-86.190339', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65093, 'County Line', 2779, '35172', '205', '33.854561', '-86.697127', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65094, 'Trafford', 2779, '35172', '205', '33.854561', '-86.697127', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65095, 'Watson', 2779, '35181', '205', '33.6338', '-86.8794', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65096, 'Weogufka', 2779, '35183', '256', '32.933794', '-86.39942', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65097, 'Birmingham', 2779, '35206', '205', '33.565158', '-86.711263', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65098, 'Birmingham', 2779, '35208', '205', '33.499292', '-86.880368', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65099, 'Birmingham', 2779, '35215', '205', '33.648641', '-86.699286', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65100, 'Center Point', 2779, '35215', '205', '33.648641', '-86.699286', '2018-11-29 05:10:14', '2018-11-29 05:10:14'),\n(65101, 'Birmingham', 2779, '35224', '205', '33.519349', '-86.94495', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65102, 'Aliceville', 2779, '35442', '205', '33.011965', '-88.183705', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65103, 'Cochrane', 2779, '35442', '205', '33.011965', '-88.183705', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65104, 'Mcmullen', 2779, '35442', '205', '33.011965', '-88.183705', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65105, 'Old Memphis', 2779, '35442', '205', '33.011965', '-88.183705', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65106, 'Cypress', 2779, '35474', '205', '32.945918', '-87.585254', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65107, 'Havana', 2779, '35474', '205', '32.945918', '-87.585254', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65108, 'Moundville', 2779, '35474', '205', '32.945918', '-87.585254', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65109, 'Addison', 2779, '35540', '256', '34.202745', '-87.204788', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65110, 'Arley', 2779, '35540', '256', '34.202745', '-87.204788', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65111, 'Bankston', 2779, '35542', '205', '33.709984', '-87.682884', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65112, 'Kennedy', 2779, '35574', '205', '33.610037', '-87.977522', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65113, 'Kingville', 2779, '35574', '205', '33.610037', '-87.977522', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65114, 'Phil Campbell', 2779, '35581', '205', '34.367785', '-87.738208', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65115, 'Vernon', 2779, '35592', '205', '33.753042', '-88.082516', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65116, 'Belle Mina', 2779, '35615', '256', '34.6567', '-86.8795', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65117, 'Sheffield', 2779, '35660', '256', '34.756419', '-87.717024', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65118, 'Tuscumbia', 2779, '35674', '256', '34.663715', '-87.74887', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65119, 'New Hope', 2779, '35760', '256', '34.55557', '-86.403022', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65120, 'Trenton', 2779, '35774', '256', '34.752501', '-86.247398', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65121, 'Huntsville', 2779, '35801', '256', '34.7114', '-86.549321', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65122, 'Huntsville', 2779, '35815', '256', '34.7305', '-86.5863', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65123, 'Gadsden', 2779, '35901', '256', '34.052526', '-85.928538', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65124, 'Albertville', 2779, '35951', '256', '34.337536', '-86.15906', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65125, 'Centre', 2779, '35960', '256', '34.121219', '-85.59266', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65126, 'Booth', 2779, '36008', '334', '32.5003', '-86.5717', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65127, 'Brundidge', 2779, '36010', '334', '31.673028', '-85.787166', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65128, 'Goshen', 2779, '36035', '334', '31.815209', '-86.127836', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65129, 'Luverne', 2779, '36049', '334', '31.740942', '-86.28964', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65130, 'Patsburg', 2779, '36049', '334', '31.740942', '-86.28964', '2018-11-29 05:10:15', '2018-11-29 05:10:15'),\n(65131, 'Fpo', 2780, '96306', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65132, 'Apo', 2780, '96326', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65133, 'Fpo', 2780, '96351', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65134, 'Fpo', 2780, '96374', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65135, 'Apo', 2780, '96401', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65136, 'Fpo', 2780, '96517', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65137, 'Dpo', 2780, '96535', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65138, 'Fpo', 2780, '96540', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65139, 'Fpo', 2780, '96599', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65140, 'Fpo', 2780, '96601', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65141, 'Fpo', 2780, '96617', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65142, 'Fpo', 2780, '96624', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65143, 'Fpo', 2780, '96660', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65144, 'Fpo', 2780, '96667', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65145, 'Fpo', 2780, '96669', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65146, 'Fpo', 2780, '96683', '000', '0', '0', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65147, 'Forest Ranch', 2783, '95942', '530', '40.040843', '-121.539453', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65148, 'Grass Valley', 2783, '95949', '530', '39.110765', '-121.1263', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65149, 'Meadow Valley', 2783, '95956', '530', '39.902253', '-121.007544', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65150, 'Spanish Ranch', 2783, '95956', '530', '39.902253', '-121.007544', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65151, 'Paradise', 2783, '95967', '530', '39.7464', '-121.6363', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65152, 'Castella', 2783, '96017', '530', '41.102199', '-122.328412', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65153, 'Sweet Brier', 2783, '96017', '530', '41.102199', '-122.328412', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65154, 'Douglas City', 2783, '96024', '530', '40.591202', '-122.865209', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65155, 'French Gulch', 2783, '96033', '530', '40.709956', '-122.582826', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65156, 'Montgomery Creek', 2783, '96065', '530', '40.956154', '-122.006099', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65157, 'Montgomry Crk', 2783, '96065', '530', '40.956154', '-122.006099', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65158, 'Paskenta', 2783, '96074', '530', '39.897012', '-122.607436', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65159, 'Litchfield', 2783, '96117', '530', '40.4432', '-120.348571', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65160, 'Meeks Bay', 2783, '96142', '530', '39.060248', '-120.156832', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65161, 'Rubicon Bay', 2783, '96142', '530', '39.060248', '-120.156832', '2018-11-29 05:10:16', '2018-11-29 05:10:16'),\n(65162, 'Tahoma', 2783, '96142', '530', '39.060248', '-120.156832', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65163, 'Fedex', 2786, '56950', '202', '0', '0', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65164, 'Parcel Return Service', 2786, '56950', '202', '0', '0', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65165, 'Parcel Return Svc', 2786, '56950', '202', '0', '0', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65166, 'Prs', 2786, '56950', '202', '0', '0', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65167, 'Jacksonville', 2788, '32237', '904', '30.3318', '-81.6555', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65168, 'Jax', 2788, '32237', '904', '30.3318', '-81.6555', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65169, 'Jennings', 2788, '32053', '386', '30.557317', '-83.147324', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65170, 'Grandin', 2788, '32138', '386', '29.711951', '-81.932122', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65171, 'New Smyrna', 2788, '32168', '386', '28.970566', '-81.049846', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65172, 'New Smyrna Beach', 2788, '32168', '386', '28.970566', '-81.049846', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65173, 'Jacksonville', 2788, '32201', '904', '30.3318', '-81.6555', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65174, 'Jax', 2788, '32201', '904', '30.3318', '-81.6555', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65175, 'Ponte Vedra', 2788, '32004', '904', '30.2396', '-81.3855', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65176, 'Ponte Vedra Beach', 2788, '32004', '904', '30.2396', '-81.3855', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65177, 'Amelia City', 2788, '32034', '904', '30.62019', '-81.505612', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65178, 'Amelia Island', 2788, '32034', '904', '30.62019', '-81.505612', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65179, 'Fernandina', 2788, '32034', '904', '30.62019', '-81.505612', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65180, 'Fernandina Beach', 2788, '32034', '904', '30.62019', '-81.505612', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65181, 'Saint Augustine', 2788, '32085', '904', '29.8944', '-81.3144', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65182, 'St Augustine', 2788, '32085', '904', '29.8944', '-81.3144', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65183, 'Saint Augustine', 2788, '32086', '904', '29.761523', '-81.296262', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65184, 'Saint Augustine Beach', 2788, '32086', '904', '29.761523', '-81.296262', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65185, 'St Aug Beach', 2788, '32086', '904', '29.761523', '-81.296262', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65186, 'St Augustine', 2788, '32086', '904', '29.761523', '-81.296262', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65187, 'St Augustine Beach', 2788, '32086', '904', '29.761523', '-81.296262', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65188, 'Daytona Beach', 2788, '32120', '386', '29.2107', '-81.0232', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65189, 'Montverde', 2788, '34729', '352', '28.6219', '-81.7037', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65190, 'Celebration', 2788, '34747', '407', '28.306137', '-81.588964', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65191, 'Kissimmee', 2788, '34747', '407', '28.306137', '-81.588964', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65192, 'Reunion', 2788, '34747', '407', '28.306137', '-81.588964', '2018-11-29 05:10:17', '2018-11-29 05:10:17'),\n(65193, 'Leesburg', 2788, '34749', '352', '28.8107', '-81.8784', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65194, 'Jensen Beach', 2788, '34958', '772', '27.2545', '-80.2303', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65195, 'Okeechobee', 2788, '34974', '863', '27.105332', '-80.919564', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65196, 'Fort Pierce', 2788, '34981', '772', '27.390271', '-80.378369', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65197, 'Fort Pierce', 2788, '34983', '772', '27.323178', '-80.349208', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65198, 'Port Saint Lucie', 2788, '34983', '772', '27.323178', '-80.349208', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65199, 'Port St Lucie', 2788, '34983', '772', '27.323178', '-80.349208', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65200, 'Saint Lucie West', 2788, '34983', '772', '27.323178', '-80.349208', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65201, 'St Lucie West', 2788, '34983', '772', '27.323178', '-80.349208', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65202, 'Fort Pierce', 2788, '34988', '772', '27.291119', '-80.598412', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65203, 'Port Saint Lucie', 2788, '34988', '772', '27.291119', '-80.598412', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65204, 'Port St Lucie', 2788, '34988', '772', '27.291119', '-80.598412', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65205, 'Saint Lucie West', 2788, '34988', '772', '27.291119', '-80.598412', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65206, 'St Lucie West', 2788, '34988', '772', '27.291119', '-80.598412', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65207, 'Stuart', 2788, '34997', '772', '27.108353', '-80.233605', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65208, 'Willacoochee', 2789, '31650', '912', '31.33098', '-83.000425', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65209, 'Albany', 2789, '31701', '229', '31.581331', '-84.15191', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65210, 'Albany', 2789, '31702', '229', '31.5783', '-84.1556', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65211, 'Barwick', 2789, '31720', '229', '30.886325', '-83.738192', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65212, 'Chula', 2789, '31733', '229', '31.58709', '-83.508616', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65213, 'Cobb', 2789, '31735', '229', '31.975809', '-83.963667', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65214, 'Columbus', 2789, '31903', '706', '32.414753', '-84.952028', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65215, 'Douglas', 2789, '31534', '912', '31.5113', '-82.8463', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65216, 'Douglas', 2789, '31535', '912', '31.460074', '-82.867492', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65217, 'Mershon', 2789, '31551', '912', '31.487919', '-82.265404', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65218, 'Cols', 2789, '31901', '706', '32.464936', '-84.97786', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65219, 'Columbus', 2789, '31901', '706', '32.464936', '-84.97786', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65220, 'Cols', 2789, '31902', '706', '32.4608', '-84.9876', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65221, 'Columbus', 2789, '31902', '706', '32.4608', '-84.9876', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65222, 'Cols', 2789, '31903', '706', '32.414753', '-84.952028', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65223, 'Agana Heights', 2790, '96919', '671', '13.4686', '144.7436', '2018-11-29 05:10:18', '2018-11-29 05:10:18'),\n(65224, 'Hakalau', 2791, '96710', '808', '19.851558', '-155.226981', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65225, 'Hawi', 2791, '96719', '808', '20.203716', '-155.857506', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65226, 'Kealia', 2791, '96751', '808', '22.108976', '-159.318972', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65227, 'Makaweli', 2791, '96769', '808', '21.839756', '-160.070644', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65228, 'Pepeekeo', 2791, '96783', '808', '19.835978', '-155.184168', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65229, 'Hon', 2791, '96826', '808', '21.291944', '-157.824506', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65230, 'Hono', 2791, '96826', '808', '21.291944', '-157.824506', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65231, 'Honolulu', 2791, '96826', '808', '21.291944', '-157.824506', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65232, 'Jb Pearl Harbor Hickam', 2791, '96860', '808', '21.35779', '-157.951902', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65233, 'Jbphh', 2791, '96860', '808', '21.35779', '-157.951902', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65234, 'Joint Base Pearl Hbr Hickam', 2791, '96860', '808', '21.35779', '-157.951902', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65235, 'Pearl Harbor', 2791, '96860', '808', '21.35779', '-157.951902', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65236, 'Pearl Harbor Naval Base', 2791, '96860', '808', '21.35779', '-157.951902', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65237, 'Adair', 2792, '50002', '641', '41.517342', '-94.655604', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65238, 'North Branch', 2792, '50002', '641', '41.517342', '-94.655604', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65239, 'Anita', 2792, '50020', '712', '41.439188', '-94.777194', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65240, 'Berea', 2792, '50020', '712', '41.439188', '-94.777194', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65241, 'Bondurant', 2792, '50035', '515', '41.730883', '-93.444973', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65242, 'Boone', 2792, '50036', '515', '42.087241', '-93.853084', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65243, 'Clemons', 2792, '50051', '641', '42.139564', '-93.151172', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65244, 'Decatur', 2792, '50067', '641', '40.768483', '-93.843516', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65245, 'Decatur City', 2792, '50067', '641', '40.768483', '-93.843516', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65246, 'Galt', 2792, '50101', '515', '42.68441', '-93.622213', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65247, 'Haverhill', 2792, '50120', '641', '41.934964', '-92.968004', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65248, 'Kellogg', 2792, '50135', '641', '41.75367', '-92.88311', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65249, 'Lovilia', 2792, '50150', '641', '41.117338', '-92.983038', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65250, 'Weller', 2792, '50150', '641', '41.117338', '-92.983038', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65251, 'Luther', 2792, '50152', '515', '41.984197', '-93.888586', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65252, 'Patterson', 2792, '50218', '515', '41.341274', '-93.873717', '2018-11-29 05:10:19', '2018-11-29 05:10:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(65253, 'Pella', 2792, '50219', '641', '41.403538', '-92.90185', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65254, 'Runnells', 2792, '50237', '515', '41.540935', '-93.359364', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65255, 'Coal Creek', 2792, '50268', '641', '41.401515', '-92.352111', '2018-11-29 05:10:19', '2018-11-29 05:10:19'),\n(65256, 'Indianapolis', 2792, '50268', '641', '41.401515', '-92.352111', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65257, 'Hamburg', 2794, '62045', '618', '39.2147', '-90.692603', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65258, 'Cloverleaf', 2794, '62060', '618', '38.673458', '-90.149546', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65259, 'Eagle Park', 2794, '62060', '618', '38.673458', '-90.149546', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65260, 'Madison', 2794, '62060', '618', '38.673458', '-90.149546', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65261, 'Newport', 2794, '62060', '618', '38.673458', '-90.149546', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65262, 'Audubon', 2794, '62075', '217', '39.294016', '-89.306736', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65263, 'Coalton', 2794, '62075', '217', '39.294016', '-89.306736', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65264, 'Nokomis', 2794, '62075', '217', '39.294016', '-89.306736', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65265, 'Wenonah', 2794, '62075', '217', '39.294016', '-89.306736', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65266, 'Patterson', 2794, '62078', '217', '39.475882', '-90.471908', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65267, 'Wood River', 2794, '62095', '618', '38.863044', '-90.079284', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65268, 'E Saint Louis', 2794, '62208', '618', '38.596894', '-90.005164', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65269, 'East Saint Louis', 2794, '62208', '618', '38.596894', '-90.005164', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65270, 'Fairview Heights', 2794, '62208', '618', '38.596894', '-90.005164', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65271, 'Fairview Hts', 2794, '62208', '618', '38.596894', '-90.005164', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65272, 'Freeburg', 2794, '62243', '618', '38.426435', '-89.904216', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65273, 'Chaflin Bridge', 2794, '62244', '618', '38.181062', '-90.199298', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65274, 'Fults', 2794, '62244', '618', '38.181062', '-90.199298', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65275, 'Menard', 2794, '62259', '618', '37.9102', '-89.8399', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65276, 'Pr Du Rocher', 2794, '62277', '618', '38.09358', '-90.108176', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65277, 'Prairie Du Rocher', 2794, '62277', '618', '38.09358', '-90.108176', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65278, 'Grigg', 2794, '62278', '618', '38.20316', '-90.008645', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65279, 'Red Bud', 2794, '62278', '618', '38.20316', '-90.008645', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65280, 'Redbud', 2794, '62278', '618', '38.20316', '-90.008645', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65281, 'Ruma', 2794, '62278', '618', '38.20316', '-90.008645', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65282, 'St Morgan', 2794, '62293', '618', '38.630129', '-89.672142', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65283, 'Sugar Creek', 2794, '62293', '618', '38.630129', '-89.672142', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65284, 'Trenton', 2794, '62293', '618', '38.630129', '-89.672142', '2018-11-29 05:10:20', '2018-11-29 05:10:20'),\n(65285, 'Colusa', 2794, '62329', '217', '40.5684', '-91.1607', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65286, 'Paloma', 2794, '62359', '217', '40.039904', '-91.229074', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65287, 'Bluff Hall', 2794, '62360', '217', '39.81601', '-91.30153', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65288, 'Fall Creek', 2794, '62360', '217', '39.81601', '-91.30153', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65289, 'Payson', 2794, '62360', '217', '39.81601', '-91.30153', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65290, 'Allendale', 2794, '62410', '618', '38.517739', '-87.730675', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65291, 'Edgewood', 2794, '62426', '618', '38.901237', '-88.675512', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65292, 'La Clede', 2794, '62426', '618', '38.901237', '-88.675512', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65293, 'Laclede', 2794, '62426', '618', '38.901237', '-88.675512', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65294, 'Larkinsburg', 2794, '62426', '618', '38.901237', '-88.675512', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65295, 'Gilmore', 2794, '62443', '618', '38.957456', '-88.637749', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65296, 'Mason', 2794, '62443', '618', '38.957456', '-88.637749', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65297, 'Sainte Marie', 2794, '62459', '618', '38.929688', '-88.027646', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65298, 'Ste Marie', 2794, '62459', '618', '38.929688', '-88.027646', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65299, 'West Salem', 2794, '62476', '618', '38.505376', '-88.006428', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65300, 'West Union', 2794, '62477', '217', '39.230639', '-87.669028', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65301, 'Macon', 2794, '62544', '217', '39.71619', '-89.002834', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65302, 'Berry', 2794, '62563', '217', '39.7187', '-89.506022', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65303, 'Breckenridge', 2794, '62563', '217', '39.7187', '-89.506022', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65304, 'Buckhart', 2794, '62563', '217', '39.7187', '-89.506022', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65305, 'New City', 2794, '62563', '217', '39.7187', '-89.506022', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65306, 'Rochester', 2794, '62563', '217', '39.7187', '-89.506022', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65307, 'Arenzville', 2794, '62611', '217', '39.88924', '-90.401466', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65308, 'Chandlerville', 2794, '62627', '217', '40.05236', '-90.150014', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65309, 'Panther Creek', 2794, '62627', '217', '40.05236', '-90.150014', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65310, 'Bethel', 2794, '62628', '217', '39.802327', '-90.401512', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65311, 'Chapin', 2794, '62628', '217', '39.802327', '-90.401512', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65312, 'Chatham', 2794, '62629', '217', '39.665412', '-89.727894', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65313, 'Eckard', 2794, '62644', '309', '40.288272', '-90.071531', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65314, 'Enion', 2794, '62644', '309', '40.288272', '-90.071531', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65315, 'Havana', 2794, '62644', '309', '40.288272', '-90.071531', '2018-11-29 05:10:21', '2018-11-29 05:10:21'),\n(65316, 'Lowder', 2794, '62662', '217', '39.5508', '-89.8456', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65317, 'Springfield', 2794, '62711', '217', '39.750966', '-89.722618', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65318, 'Il Dept Public Health', 2794, '62761', '217', '39.8018', '-89.6436', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65319, 'Springfield', 2794, '62761', '217', '39.8018', '-89.6436', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65320, 'Il Dept Human Services', 2794, '62762', '217', '39.8018', '-89.6436', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65321, 'Springfield', 2794, '62762', '217', '39.8018', '-89.6436', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65322, 'Healthcare And Family Serv', 2794, '62763', '217', '39.8018', '-89.6436', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65323, 'Springfield', 2794, '62763', '217', '39.8018', '-89.6436', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65324, 'Bellmont', 2794, '62811', '618', '38.381242', '-87.92367', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65325, 'Grayville', 2794, '62844', '618', '38.2737', '-88.049001', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65326, 'Macedonia', 2794, '62860', '618', '38.01609', '-88.702867', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65327, 'Richview', 2794, '62877', '618', '38.394931', '-89.227276', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65328, 'Frogtown', 2794, '62880', '618', '38.8681', '-88.863965', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65329, 'Saint Paul', 2794, '62880', '618', '38.8681', '-88.863965', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65330, 'Saint Peter', 2794, '62880', '618', '38.8681', '-88.863965', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65331, 'St Paul', 2794, '62880', '618', '38.8681', '-88.863965', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65332, 'St Peter', 2794, '62880', '618', '38.8681', '-88.863965', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65333, 'Brookport', 2794, '62910', '618', '37.140078', '-88.58352', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65334, 'Collinsville', 2794, '62234', '618', '38.691315', '-89.970639', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65335, 'Lumaghi Heights', 2794, '62234', '618', '38.691315', '-89.970639', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65336, 'State Park Place', 2794, '62234', '618', '38.691315', '-89.970639', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65337, 'Irishtown', 2794, '62253', '618', '38.778554', '-89.313166', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65338, 'Keyesport', 2794, '62253', '618', '38.778554', '-89.313166', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65339, 'Tamalco', 2794, '62253', '618', '38.778554', '-89.313166', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65340, 'Hookdale', 2794, '62284', '618', '38.887838', '-89.320072', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65341, 'Pleasant Mound', 2794, '62284', '618', '38.887838', '-89.320072', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65342, 'Smithboro', 2794, '62284', '618', '38.887838', '-89.320072', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65343, 'Eden', 2794, '62286', '618', '38.117372', '-89.721614', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65344, 'Houston', 2794, '62286', '618', '38.117372', '-89.721614', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65345, 'Schulines', 2794, '62286', '618', '38.117372', '-89.721614', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65346, 'Sparta', 2794, '62286', '618', '38.117372', '-89.721614', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65347, 'Elvaston', 2794, '62334', '217', '40.3958', '-91.247171', '2018-11-29 05:10:22', '2018-11-29 05:10:22'),\n(65348, 'Mendon', 2794, '62351', '217', '40.110465', '-91.2596', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65349, 'Tioga', 2794, '62351', '217', '40.110465', '-91.2596', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65350, 'Milton', 2794, '62352', '217', '39.530278', '-90.629238', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65351, 'Cooperstown', 2794, '62353', '217', '40.016116', '-90.654409', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65352, 'Hersman', 2794, '62353', '217', '40.016116', '-90.654409', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65353, 'Mount Sterling', 2794, '62353', '217', '40.016116', '-90.654409', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65354, 'Mt Sterling', 2794, '62353', '217', '40.016116', '-90.654409', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65355, 'Ripley', 2794, '62353', '217', '40.016116', '-90.654409', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65356, 'Atlas', 2794, '62370', '217', '39.51343', '-91.032868', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65357, 'Rockport', 2794, '62370', '217', '39.51343', '-91.032868', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65358, 'Cornland', 2794, '62519', '217', '39.936552', '-89.402288', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65359, 'Dawson', 2794, '62520', '217', '39.819161', '-89.451974', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65360, 'Findlay', 2794, '62534', '217', '39.50699', '-88.752827', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65361, 'Yantisville', 2794, '62534', '217', '39.50699', '-88.752827', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65362, 'Glenarm', 2794, '62536', '217', '39.641', '-89.6569', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65363, 'Harristown', 2794, '62537', '217', '39.885415', '-89.115342', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65364, 'Harvel', 2794, '62538', '217', '39.370684', '-89.522402', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65365, 'Niantic', 2794, '62551', '217', '39.859488', '-89.179846', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65366, 'Oreana', 2794, '62554', '217', '39.944577', '-88.853385', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65367, 'Hewittsville', 2794, '62568', '217', '39.553154', '-89.297242', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65368, 'Jeiseyville', 2794, '62568', '217', '39.553154', '-89.297242', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65369, 'Langleyville', 2794, '62568', '217', '39.553154', '-89.297242', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65370, 'Sharpsburg', 2794, '62568', '217', '39.553154', '-89.297242', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65371, 'Taylorville', 2794, '62568', '217', '39.553154', '-89.297242', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65372, 'Willeys', 2794, '62568', '217', '39.553154', '-89.297242', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65373, 'Alexander', 2794, '62601', '217', '39.74529', '-90.055264', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65374, 'Beardstown', 2794, '62618', '217', '40.000772', '-90.425812', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65375, 'Bluffs', 2794, '62621', '217', '39.731883', '-90.522092', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65376, 'Exeter', 2794, '62621', '217', '39.731883', '-90.522092', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65377, 'Jacksonville', 2794, '62651', '217', '39.7339', '-90.2286', '2018-11-29 05:10:23', '2018-11-29 05:10:23'),\n(65378, 'Springfield', 2794, '62719', '217', '39.8018', '-89.6436', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65379, 'State Rev Box 3547', 2794, '62719', '217', '39.8018', '-89.6436', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65380, 'Ameritech', 2794, '62721', '217', '39.8018', '-89.6436', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65381, 'Springfield', 2794, '62721', '217', '39.8018', '-89.6436', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65382, 'Il Dept Reg And Educ', 2794, '62786', '217', '39.8018', '-89.6436', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65383, 'Springfield', 2794, '62786', '217', '39.8018', '-89.6436', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65384, 'Burnt Prairie', 2794, '62820', '618', '38.213634', '-88.219919', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65385, 'Prairie', 2794, '62820', '618', '38.213634', '-88.219919', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65386, 'Christopher', 2794, '62822', '618', '37.977372', '-89.049665', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65387, 'Odin', 2794, '62870', '618', '38.632442', '-89.052482', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65388, 'Bungay', 2794, '62887', '618', '38.168499', '-88.405158', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65389, 'Springerton', 2794, '62887', '618', '38.168499', '-88.405158', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65390, 'Divide', 2794, '62889', '618', '38.443622', '-88.8181', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65391, 'Texico', 2794, '62889', '618', '38.443622', '-88.8181', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65392, 'Carbondale', 2794, '62902', '618', '37.66306', '-89.1171', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65393, 'Alto Pass', 2794, '62905', '618', '37.556102', '-89.338199', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65394, 'Jasper', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65395, 'Merriam', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65396, 'Farina', 2794, '62838', '618', '38.851484', '-88.734141', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65397, 'Iola', 2794, '62838', '618', '38.851484', '-88.734141', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65398, 'Loogootee', 2794, '62838', '618', '38.851484', '-88.734141', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65399, 'Lancaster', 2794, '62855', '618', '38.526075', '-87.913649', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65400, 'Mesa Lake', 2794, '62855', '618', '38.526075', '-87.913649', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65401, 'Asbury', 2794, '62871', '618', '37.867814', '-88.260315', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65402, 'Elba', 2794, '62871', '618', '37.867814', '-88.260315', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65403, 'Omaha', 2794, '62871', '618', '37.867814', '-88.260315', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65404, 'Marlow', 2794, '62872', '618', '38.27618', '-88.773897', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65405, 'Opdyke', 2794, '62872', '618', '38.27618', '-88.773897', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65406, 'Augsburg', 2794, '62885', '618', '38.845947', '-89.097027', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65407, 'Shobonier', 2794, '62885', '618', '38.845947', '-89.097027', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65408, 'Stringtown', 2794, '62885', '618', '38.845947', '-89.097027', '2018-11-29 05:10:24', '2018-11-29 05:10:24'),\n(65409, 'Wilberton', 2794, '62885', '618', '38.845947', '-89.097027', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65410, 'Woodyard', 2794, '62885', '618', '38.845947', '-89.097027', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65411, 'Tamaroa', 2794, '62888', '618', '38.132988', '-89.229106', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65412, 'Carbondale', 2794, '62903', '618', '37.657826', '-89.277176', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65413, 'Auburn', 2794, '62615', '217', '39.581233', '-89.756132', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65414, 'Bader', 2794, '62624', '309', '40.144925', '-90.325988', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65415, 'Bluff City', 2794, '62624', '309', '40.144925', '-90.325988', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65416, 'Browning', 2794, '62624', '309', '40.144925', '-90.325988', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65417, 'Sheldons Grove', 2794, '62624', '309', '40.144925', '-90.325988', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65418, 'Concord', 2794, '62631', '217', '39.819171', '-90.361976', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65419, 'Biggs', 2794, '62633', '309', '40.21381', '-89.859113', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65420, 'Easton', 2794, '62633', '309', '40.21381', '-89.859113', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65421, 'Poplar City', 2794, '62633', '309', '40.21381', '-89.859113', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65422, 'Lincoln', 2794, '62656', '217', '40.134986', '-89.366526', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65423, 'Meredosia', 2794, '62665', '217', '39.7537', '-90.537661', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65424, 'Naples', 2794, '62665', '217', '39.7537', '-90.537661', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65425, 'Sweetwater', 2794, '62665', '217', '39.7537', '-90.537661', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65426, 'Modesto', 2794, '62667', '217', '39.490102', '-90.005592', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65427, 'Scottville', 2794, '62667', '217', '39.490102', '-90.005592', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65428, 'Pleasant View', 2794, '62681', '217', '40.128556', '-90.579777', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65429, 'Ray', 2794, '62681', '217', '40.128556', '-90.579777', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65430, 'Rushville', 2794, '62681', '217', '40.128556', '-90.579777', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65431, 'Virden', 2794, '62690', '217', '39.51913', '-89.74873', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65432, 'Springfield', 2794, '62706', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65433, 'State Of Illinois', 2794, '62706', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65434, 'Secy Of State Vehicle Svcs', 2794, '62722', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65435, 'Springfield', 2794, '62722', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65436, 'Il Sec State', 2794, '62756', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65437, 'Springfield', 2794, '62756', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65438, 'Il Dept Ins', 2794, '62767', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65439, 'Springfield', 2794, '62767', '217', '39.8018', '-89.6436', '2018-11-29 05:10:25', '2018-11-29 05:10:25'),\n(65440, 'Bone Gap', 2794, '62815', '618', '38.445644', '-87.999352', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65441, 'Clay City', 2794, '62824', '618', '38.672556', '-88.345081', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65442, 'Elm River', 2794, '62842', '618', '38.432695', '-88.419916', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65443, 'Geff', 2794, '62842', '618', '38.432695', '-88.419916', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65444, 'Jeffersonville', 2794, '62842', '618', '38.432695', '-88.419916', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65445, 'Lamard', 2794, '62842', '618', '38.432695', '-88.419916', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65446, 'Helm', 2794, '62849', '618', '38.605276', '-88.790346', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65447, 'Iuka', 2794, '62849', '618', '38.605276', '-88.790346', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65448, 'Omega', 2794, '62849', '618', '38.605276', '-88.790346', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65449, 'Slap Out', 2794, '62849', '618', '38.605276', '-88.790346', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65450, 'Cleburne', 2794, '62865', '618', '37.971922', '-89.084873', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65451, 'Mulkeytown', 2794, '62865', '618', '37.971922', '-89.084873', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65452, 'Urbain', 2794, '62865', '618', '37.971922', '-89.084873', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65453, 'New Haven', 2794, '62867', '618', '37.870957', '-88.097484', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65454, 'Anna', 2794, '62906', '618', '37.448147', '-89.171492', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65455, 'Balcom', 2794, '62906', '618', '37.448147', '-89.171492', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65456, 'Saratoga', 2794, '62906', '618', '37.448147', '-89.171492', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65457, 'Calhoun', 2794, '62419', '618', '38.621704', '-87.987798', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65458, 'Ingraham', 2794, '62434', '618', '38.813436', '-88.309847', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65459, 'Jewett', 2794, '62436', '217', '39.16875', '-88.243315', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65460, 'Trilla', 2794, '62469', '217', '39.373012', '-88.332186', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65461, 'Bear Grove', 2794, '62471', '618', '38.876192', '-89.088494', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65462, 'Hagarstown', 2794, '62471', '618', '38.876192', '-89.088494', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65463, 'Shafter', 2794, '62471', '618', '38.876192', '-89.088494', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65464, 'Vandalia', 2794, '62471', '618', '38.876192', '-89.088494', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65465, 'Argenta', 2794, '62501', '217', '39.930764', '-88.831746', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65466, 'Newburg', 2794, '62501', '217', '39.930764', '-88.831746', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65467, 'Oakley', 2794, '62501', '217', '39.930764', '-88.831746', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65468, 'Decatur', 2794, '62521', '217', '39.817872', '-88.962188', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65469, 'Long Creek', 2794, '62521', '217', '39.817872', '-88.962188', '2018-11-29 05:10:26', '2018-11-29 05:10:26'),\n(65470, 'Forsyth', 2794, '62535', '217', '39.921546', '-88.970644', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65471, 'Oconee', 2794, '62553', '217', '39.267692', '-89.097345', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65472, 'Tovey', 2794, '62570', '217', '39.588596', '-89.449508', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65473, 'Dollville', 2794, '62571', '217', '39.347504', '-88.971358', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65474, 'Hinton', 2794, '62571', '217', '39.347504', '-88.971358', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65475, 'Tower Hill', 2794, '62571', '217', '39.347504', '-88.971358', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65476, 'Emden', 2794, '62635', '217', '40.27142', '-89.473168', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65477, 'Clements', 2794, '62638', '217', '39.61531', '-90.085181', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65478, 'Franklin', 2794, '62638', '217', '39.61531', '-90.085181', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65479, 'Rees', 2794, '62638', '217', '39.61531', '-90.085181', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65480, 'New Holland', 2794, '62671', '217', '40.1613', '-89.559514', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65481, 'Plainview', 2794, '62685', '618', '39.145411', '-90.007436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65482, 'Royal Lakes', 2794, '62685', '618', '39.145411', '-90.007436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65483, 'Shipman', 2794, '62685', '618', '39.145411', '-90.007436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65484, 'Southern View', 2794, '62703', '217', '39.755006', '-89.631625', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65485, 'Springfield', 2794, '62703', '217', '39.755006', '-89.631625', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65486, 'Springfield', 2794, '62705', '217', '39.8018', '-89.6436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65487, 'Springfield', 2794, '62736', '217', '39.8018', '-89.6436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65488, 'State Rev 3667', 2794, '62736', '217', '39.8018', '-89.6436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65489, 'Springfield', 2794, '62769', '217', '39.8018', '-89.6436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65490, 'St Johns Hospital', 2794, '62769', '217', '39.8018', '-89.6436', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65491, 'Ewing', 2794, '62836', '618', '38.082004', '-88.790162', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65492, 'Frisco', 2794, '62836', '618', '38.082004', '-88.790162', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65493, 'Keensburg', 2794, '62852', '618', '38.35526', '-87.85347', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65494, 'Cartter', 2794, '62853', '618', '38.52656', '-88.911556', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65495, 'Haines', 2794, '62853', '618', '38.52656', '-88.911556', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65496, 'Kell', 2794, '62853', '618', '38.52656', '-88.911556', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65497, 'Kinmundy', 2794, '62854', '618', '38.751659', '-88.836317', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65498, 'Gossett', 2794, '62869', '618', '37.965917', '-88.273108', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65499, 'Herald', 2794, '62869', '618', '37.965917', '-88.273108', '2018-11-29 05:10:27', '2018-11-29 05:10:27'),\n(65500, 'Heralds Prairie', 2794, '62869', '618', '37.965917', '-88.273108', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65501, 'Norris City', 2794, '62869', '618', '37.965917', '-88.273108', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65502, 'Arrington', 2794, '62886', '618', '38.408612', '-88.529657', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65503, 'Sims', 2794, '62886', '618', '38.408612', '-88.529657', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65504, 'Springfield', 2794, '62739', '217', '39.8018', '-89.6436', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65505, 'Dept Of Transportation', 2794, '62764', '217', '39.8018', '-89.6436', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65506, 'Springfield', 2794, '62764', '217', '39.8018', '-89.6436', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65507, 'Hwy Accident Bureau', 2794, '62766', '217', '39.8018', '-89.6436', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65508, 'Springfield', 2794, '62766', '217', '39.8018', '-89.6436', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65509, 'Flora', 2794, '62839', '618', '38.670956', '-88.49082', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65510, 'Golden Gate', 2794, '62843', '618', '38.361827', '-88.204379', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65511, 'Goldengate', 2794, '62843', '618', '38.361827', '-88.204379', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65512, 'Bakerville', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65513, 'Camp Ground', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65514, 'Dodds', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65515, 'Idlewood', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65516, 'Marcoe', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65517, 'Miller Lake', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65518, 'Mount Vernon', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65519, 'Mount Vernon Outland Airport', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65520, 'Summersville', 2794, '62864', '618', '38.319573', '-88.904538', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65521, 'Carrigan', 2794, '62875', '618', '38.747093', '-89.057763', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65522, 'Patoka', 2794, '62875', '618', '38.747093', '-89.057763', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65523, 'Pope', 2794, '62875', '618', '38.747093', '-89.057763', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65524, 'Fairman', 2794, '62882', '618', '38.635726', '-89.113751', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65525, 'Glen Ridge', 2794, '62882', '618', '38.635726', '-89.113751', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65526, 'Junction City', 2794, '62882', '618', '38.635726', '-89.113751', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65527, 'Sandoval', 2794, '62882', '618', '38.635726', '-89.113751', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65528, 'Ava', 2794, '62907', '618', '37.866314', '-89.510397', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65529, 'Kinkaid', 2794, '62907', '618', '37.866314', '-89.510397', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65530, 'Martinsville', 2794, '62442', '217', '39.329173', '-87.861873', '2018-11-29 05:10:28', '2018-11-29 05:10:28'),\n(65531, 'Moonshine', 2794, '62442', '217', '39.329173', '-87.861873', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65532, 'Neadmore', 2794, '62442', '217', '39.329173', '-87.861873', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65533, 'Beecher City', 2794, '62444', '217', '39.276835', '-88.758718', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65534, 'Fancher', 2794, '62444', '217', '39.276835', '-88.758718', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65535, 'Mode', 2794, '62444', '217', '39.276835', '-88.758718', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65536, 'Mount Erie', 2794, '62446', '618', '38.533486', '-88.21168', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65537, 'Denison', 2794, '62460', '618', '38.624624', '-87.690217', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65538, 'Saint Francisville', 2794, '62460', '618', '38.624624', '-87.690217', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65539, 'Sand Barrens', 2794, '62460', '618', '38.624624', '-87.690217', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65540, 'St Francisville', 2794, '62460', '618', '38.624624', '-87.690217', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65541, 'St Francisvle', 2794, '62460', '618', '38.624624', '-87.690217', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65542, 'Shumway', 2794, '62461', '217', '39.193882', '-88.669542', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65543, 'Assumption', 2794, '62510', '217', '39.515784', '-89.03738', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65544, 'Beason', 2794, '62512', '217', '40.13712', '-89.228278', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65545, 'Bearsdale', 2794, '62526', '217', '39.905379', '-89.008816', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65546, 'Decatur', 2794, '62526', '217', '39.905379', '-89.008816', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65547, 'Latham', 2794, '62543', '217', '39.961082', '-89.165236', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65548, 'Morrisonville', 2794, '62546', '217', '39.434881', '-89.405886', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65549, 'Riverton', 2794, '62561', '217', '39.856932', '-89.513246', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65550, 'Spaulding', 2794, '62561', '217', '39.856932', '-89.513246', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65551, 'Alsey', 2794, '62610', '217', '39.563616', '-90.447241', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65552, 'Hartsburg', 2794, '62643', '217', '40.250156', '-89.46479', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65553, 'Loami', 2794, '62661', '217', '39.664983', '-89.872219', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65554, 'Williamsville', 2794, '62693', '217', '39.954908', '-89.520834', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65555, 'Riggston', 2794, '62694', '217', '39.617148', '-90.449382', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65556, 'Winchester', 2794, '62694', '217', '39.617148', '-90.449382', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65557, 'Woodson', 2794, '62695', '217', '39.618822', '-90.205158', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65558, 'Il Office Educ', 2794, '62777', '217', '39.8018', '-89.6436', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65559, 'Springfield', 2794, '62777', '217', '39.8018', '-89.6436', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65560, 'Il Ro Tax Div', 2794, '62796', '217', '39.8018', '-89.6436', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65561, 'Springfield', 2794, '62796', '217', '39.8018', '-89.6436', '2018-11-29 05:10:29', '2018-11-29 05:10:29'),\n(65562, 'Belle Rive', 2794, '62810', '618', '38.200267', '-88.758884', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65563, 'Moores Prairie', 2794, '62810', '618', '38.200267', '-88.758884', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65564, 'Dale', 2794, '62829', '618', '37.994756', '-88.540111', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65565, 'Twigg', 2794, '62829', '618', '37.994756', '-88.540111', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65566, 'Boyd', 2794, '62830', '618', '38.432025', '-88.95028', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65567, 'Dix', 2794, '62830', '618', '38.432025', '-88.95028', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65568, 'Ina', 2794, '62846', '618', '38.150126', '-88.872916', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65569, 'Spring Garden', 2794, '62846', '618', '38.150126', '-88.872916', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65570, 'Maunie', 2794, '62861', '618', '38.020439', '-88.0533', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65571, 'Aden', 2794, '62895', '618', '38.321784', '-88.542791', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65572, 'Crisp', 2794, '62895', '618', '38.321784', '-88.542791', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65573, 'Crouch', 2794, '62895', '618', '38.321784', '-88.542791', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65574, 'Four Mile', 2794, '62895', '618', '38.321784', '-88.542791', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65575, 'Orel', 2794, '62895', '618', '38.321784', '-88.542791', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65576, 'Wayne City', 2794, '62895', '618', '38.321784', '-88.542791', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65577, 'South Twigg', 2794, '62817', '618', '37.972796', '-88.485012', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65578, 'Walpole', 2794, '62817', '618', '37.972796', '-88.485012', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65579, 'Ellery', 2794, '62833', '618', '38.361515', '-88.130952', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65580, 'Hanaford', 2794, '62856', '618', '37.9555', '-88.8403', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65581, 'Logan', 2794, '62856', '618', '37.9555', '-88.8403', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65582, 'Bible Grove', 2794, '62858', '618', '38.825178', '-88.528768', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65583, 'Blair', 2794, '62858', '618', '38.825178', '-88.528768', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65584, 'Hoosier', 2794, '62858', '618', '38.825178', '-88.528768', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65585, 'Hord', 2794, '62858', '618', '38.825178', '-88.528768', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65586, 'Louisville', 2794, '62858', '618', '38.825178', '-88.528768', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65587, 'Riffel', 2794, '62858', '618', '38.825178', '-88.528768', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65588, 'Orient', 2794, '62874', '618', '37.923276', '-88.977139', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65589, 'Radom', 2794, '62876', '618', '38.291143', '-89.190996', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65590, 'Salem', 2794, '62881', '618', '38.638745', '-88.919813', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65591, 'Scheller', 2794, '62883', '618', '38.155026', '-89.099762', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65592, 'Akin', 2794, '62890', '618', '37.892806', '-88.743702', '2018-11-29 05:10:30', '2018-11-29 05:10:30'),\n(65593, 'Cave', 2794, '62890', '618', '37.892806', '-88.743702', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65594, 'Corinth', 2794, '62890', '618', '37.892806', '-88.743702', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65595, 'Parrish', 2794, '62890', '618', '37.892806', '-88.743702', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65596, 'Thompsonville', 2794, '62890', '618', '37.892806', '-88.743702', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65597, 'West End', 2794, '62890', '618', '37.892806', '-88.743702', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65598, 'Vernon', 2794, '62892', '618', '38.800645', '-89.068832', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65599, 'Garden Hill', 2794, '62899', '618', '38.698744', '-88.638938', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65600, 'Oskaloosa', 2794, '62899', '618', '38.698744', '-88.638938', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65601, 'Songer', 2794, '62899', '618', '38.698744', '-88.638938', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65602, 'Xenia', 2794, '62899', '618', '38.698744', '-88.638938', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65603, 'Zenith', 2794, '62899', '618', '38.698744', '-88.638938', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65604, 'Boskydell', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65605, 'Briarwood Trace', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65606, 'Brush Hill', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65607, 'Carbondale', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65608, 'Cdale', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65609, 'Crab Orchard Estates', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65610, 'Lake Tacoma', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65611, 'Lakewood Park', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65612, 'Triple Lake Heights', 2794, '62901', '618', '37.73541', '-89.20469', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65613, 'Belknap', 2794, '62908', '618', '37.313172', '-88.879479', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65614, 'Mermet', 2794, '62908', '618', '37.313172', '-88.879479', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65615, 'Medora', 2794, '62063', '618', '39.199908', '-90.14718', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65616, 'Summerville', 2794, '62063', '618', '39.199908', '-90.14718', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65617, 'Piasa', 2794, '62079', '618', '39.116516', '-90.131131', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65618, 'Prairietown', 2794, '62097', '618', '38.921846', '-89.863757', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65619, 'Worden', 2794, '62097', '618', '38.921846', '-89.863757', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65620, 'Boulder', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65621, 'Carlyle', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65622, 'Ferrin', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:31', '2018-11-29 05:10:31'),\n(65623, 'Posey', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65624, 'Royal Lake', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65625, 'Shattuc', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65626, 'Shatuc', 2794, '62231', '618', '38.628841', '-89.323704', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65627, 'Bremen', 2794, '62233', '618', '37.9455', '-89.7873', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65628, 'Chester', 2794, '62233', '618', '37.9455', '-89.7873', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65629, 'Clayton', 2794, '62324', '217', '39.973462', '-90.92243', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65630, 'Kellerville', 2794, '62324', '217', '39.973462', '-90.92243', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65631, 'Dieterich', 2794, '62424', '217', '38.992006', '-88.434098', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65632, 'Hutsonville', 2794, '62433', '618', '39.116504', '-87.681849', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65633, 'Big Spring', 2794, '62447', '217', '39.312617', '-88.452552', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65634, 'Neoga', 2794, '62447', '217', '39.312617', '-88.452552', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65635, 'Trowbridge', 2794, '62447', '217', '39.312617', '-88.452552', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65636, 'Parker', 2794, '62474', '217', '39.436387', '-87.994205', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65637, 'Westfield', 2794, '62474', '217', '39.436387', '-87.994205', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65638, 'Yale', 2794, '62481', '618', '39.128322', '-88.022041', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65639, 'Decatur', 2794, '62524', '217', '39.8406', '-88.9548', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65640, 'Farmersville', 2794, '62533', '217', '39.444144', '-89.616688', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65641, 'Clarksdale', 2794, '62556', '217', '39.473148', '-89.370718', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65642, 'Palmer', 2794, '62556', '217', '39.473148', '-89.370718', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65643, 'Pawnee', 2794, '62558', '217', '39.58644', '-89.534908', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65644, 'Sicily', 2794, '62558', '217', '39.58644', '-89.534908', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65645, 'Old Stonington', 2794, '62567', '217', '39.640699', '-89.185302', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65646, 'Stonington', 2794, '62567', '217', '39.640699', '-89.185302', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65647, 'Bath', 2794, '62617', '309', '40.163799', '-90.202856', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65648, 'Lynchburg', 2794, '62617', '309', '40.163799', '-90.202856', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65649, 'Snicarte', 2794, '62617', '309', '40.163799', '-90.202856', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65650, 'Bluff Springs', 2794, '62622', '217', '39.9879', '-90.3458', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65651, 'Hettick', 2794, '62649', '618', '39.358379', '-90.07994', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65652, 'Barr', 2794, '62674', '217', '39.412609', '-90.010636', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65653, 'Palmyra', 2794, '62674', '217', '39.412609', '-90.010636', '2018-11-29 05:10:32', '2018-11-29 05:10:32'),\n(65654, 'Scottville', 2794, '62674', '217', '39.412609', '-90.010636', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65655, 'Waverly', 2794, '62692', '217', '39.597761', '-89.944111', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65656, 'Springfield', 2794, '62708', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65657, 'Springfield', 2794, '62726', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65658, 'State Rev 3386', 2794, '62726', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65659, 'Dhs Dept Of Mental Health', 2794, '62765', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65660, 'Springfield', 2794, '62765', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65661, 'Il Dept Revenue', 2794, '62776', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65662, 'Springfield', 2794, '62776', '217', '39.8018', '-89.6436', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65663, 'Albion', 2794, '62806', '618', '38.34991', '-88.087787', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65664, 'Black', 2794, '62806', '618', '38.34991', '-88.087787', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65665, 'Du Bois', 2794, '62831', '618', '38.234561', '-89.229782', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65666, 'Dubois', 2794, '62831', '618', '38.234561', '-89.229782', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65667, 'Frankfort Heights', 2794, '62840', '618', '37.9053', '-88.8946', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65668, 'Frankfort Hts', 2794, '62840', '618', '37.9053', '-88.8946', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65669, 'Keenes', 2794, '62851', '618', '38.370106', '-88.657265', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65670, 'Shields', 2794, '62851', '618', '38.370106', '-88.657265', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65671, 'Stratton', 2794, '62851', '618', '38.370106', '-88.657265', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65672, 'Elk Grove Village', 2794, '60007', '847', '42.011868', '-87.994958', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65673, 'Elk Grove Vlg', 2794, '60007', '847', '42.011868', '-87.994958', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65674, 'Elk Grove Village', 2794, '60009', '847', '42.0039', '-87.9705', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65675, 'Elk Grove Vlg', 2794, '60009', '847', '42.0039', '-87.9705', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65676, 'Des Plaines', 2794, '60016', '847', '42.052634', '-87.890502', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65677, 'Hebron', 2794, '60034', '815', '42.454531', '-88.425548', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65678, 'Bull Valley', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65679, 'Holiday Hills', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65680, 'Johnsburg', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65681, 'Lakemoor', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65682, 'Mccullom Lake', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65683, 'Mchenry', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65684, 'Prairie Grove', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:33', '2018-11-29 05:10:33'),\n(65685, 'Sunnyside', 2794, '60050', '815', '42.356362', '-88.27226', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65686, 'Hainesville', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65687, 'Round Lake', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65688, 'Round Lake Beach', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(65689, 'Round Lake Heights', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65690, 'Round Lake Park', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65691, 'Round Lk Bch', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65692, 'Round Lk Hts', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65693, 'Round Lk Park', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65694, 'Volo', 2794, '60073', '847', '42.342906', '-88.112125', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65695, 'Techny', 2794, '60082', '847', '42.113468', '-87.794885', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65696, 'Wilmette', 2794, '60091', '847', '42.07736', '-87.729568', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65697, 'Northfield', 2794, '60093', '847', '42.106639', '-87.759794', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65698, 'Winnetka', 2794, '60093', '847', '42.106639', '-87.759794', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65699, 'Streamwood', 2794, '60107', '630', '42.020804', '-88.18116', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65700, 'Burlington', 2794, '60109', '847', '42.052111', '-88.550769', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65701, 'Carol Stream', 2794, '60132', '630', '41.9125', '-88.1349', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65702, 'Citicorp', 2794, '60132', '630', '41.9125', '-88.1349', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65703, 'North Suburban', 2794, '60132', '630', '41.9125', '-88.1349', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65704, 'Malta', 2794, '60150', '815', '41.913649', '-88.884902', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65705, 'Schaumburg', 2794, '60159', '847', '42.0334', '-88.0833', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65706, 'Schaumburg', 2794, '60168', '847', '42.0334', '-88.0833', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65707, 'South Elgin', 2794, '60177', '847', '41.992656', '-88.313949', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65708, 'Wayne', 2794, '60184', '630', '41.952996', '-88.255866', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65709, 'Glenwood', 2794, '60425', '708', '41.540658', '-87.610632', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65710, 'Joliet', 2794, '60434', '815', '41.5252', '-88.0819', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65711, 'Morris', 2794, '60450', '815', '41.36735', '-88.424746', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65712, 'Oak Forest', 2794, '60452', '708', '41.605369', '-87.754508', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65713, 'Bedford Park', 2794, '60459', '708', '41.745408', '-87.770362', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65714, 'Burbank', 2794, '60459', '708', '41.745408', '-87.770362', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65715, 'Oak Lawn', 2794, '60459', '708', '41.745408', '-87.770362', '2018-11-29 05:10:34', '2018-11-29 05:10:34'),\n(65716, 'Orland Hills', 2794, '60477', '708', '41.56732', '-87.775432', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65717, 'Tinley Park', 2794, '60477', '708', '41.56732', '-87.775432', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65718, 'Hinckley', 2794, '60520', '815', '41.777218', '-88.655728', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65719, 'Countryside', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65720, 'Hodgkins', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65721, 'Ind Head Park', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65722, 'Ind Head Pk', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65723, 'Indian Head Park', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65724, 'Indian Head Pk', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65725, 'Indianhead Park', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65726, 'Ursa', 2794, '62376', '217', '40.111673', '-91.414822', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65727, 'Versailles', 2794, '62378', '217', '39.884054', '-90.668049', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65728, 'Altamont', 2794, '62411', '618', '39.085815', '-88.748837', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65729, 'Birds', 2794, '62427', '618', '38.865942', '-87.660531', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65730, 'Flat Rock', 2794, '62427', '618', '38.865942', '-87.660531', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65731, 'Heathsville', 2794, '62427', '618', '38.865942', '-87.660531', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65732, 'Gila', 2794, '62445', '217', '39.16848', '-88.327668', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65733, 'Montrose', 2794, '62445', '217', '39.16848', '-88.327668', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65734, 'Woodbury', 2794, '62445', '217', '39.16848', '-88.327668', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65735, 'Sigel', 2794, '62462', '217', '39.222343', '-88.470558', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65736, 'West York', 2794, '62478', '618', '39.173721', '-87.728226', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65737, 'Wheeler', 2794, '62479', '217', '39.03178', '-88.298172', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65738, 'Bolivia', 2794, '62545', '217', '39.768548', '-89.38695', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65739, 'Mechanicsburg', 2794, '62545', '217', '39.768548', '-89.38695', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65740, 'Roby', 2794, '62545', '217', '39.768548', '-89.38695', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65741, 'Raymond', 2794, '62560', '217', '39.304893', '-89.603788', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65742, 'Ashland', 2794, '62612', '217', '39.90159', '-90.093319', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65743, 'Newmansville', 2794, '62612', '217', '39.90159', '-90.093319', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65744, 'Prentice', 2794, '62612', '217', '39.90159', '-90.093319', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65745, 'Yatesville', 2794, '62612', '217', '39.90159', '-90.093319', '2018-11-29 05:10:35', '2018-11-29 05:10:35'),\n(65746, 'Athens', 2794, '62613', '217', '39.977944', '-89.664216', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65747, 'Fancy Prairie', 2794, '62613', '217', '39.977944', '-89.664216', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65748, 'Carlinville', 2794, '62626', '217', '39.281792', '-89.891155', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65749, 'Comer', 2794, '62626', '217', '39.281792', '-89.891155', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65750, 'Enos', 2794, '62626', '217', '39.281792', '-89.891155', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65751, 'Womac', 2794, '62626', '217', '39.281792', '-89.891155', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65752, 'Literberry', 2794, '62660', '217', '39.8542', '-90.1994', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65753, 'Manchester', 2794, '62663', '217', '39.547123', '-90.320665', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65754, 'Farmingdale', 2794, '62677', '217', '39.83784', '-89.868494', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65755, 'Pleasant Plains', 2794, '62677', '217', '39.83784', '-89.868494', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65756, 'Pleasant Plns', 2794, '62677', '217', '39.83784', '-89.868494', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65757, 'Richland', 2794, '62677', '217', '39.83784', '-89.868494', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65758, 'Salisbury', 2794, '62677', '217', '39.83784', '-89.868494', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65759, 'Springfield', 2794, '62712', '217', '39.72543', '-89.570092', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65760, 'Springfield', 2794, '62794', '217', '39.8018', '-89.6436', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65761, 'Barren', 2794, '62812', '618', '38.016906', '-88.926588', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65762, 'Benton', 2794, '62812', '618', '38.016906', '-88.926588', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65763, 'Eastern', 2794, '62812', '618', '38.016906', '-88.926588', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65764, 'Rend City', 2794, '62812', '618', '38.016906', '-88.926588', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65765, 'Steel City', 2794, '62812', '618', '38.016906', '-88.926588', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65766, 'West City', 2794, '62812', '618', '38.016906', '-88.926588', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65767, 'Calvin', 2794, '62827', '618', '38.166686', '-88.031702', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65768, 'Crossville', 2794, '62827', '618', '38.166686', '-88.031702', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65769, 'Phillips', 2794, '62827', '618', '38.166686', '-88.031702', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65770, 'Phillipstown', 2794, '62827', '618', '38.166686', '-88.031702', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65771, 'Belle Prairie City', 2794, '62828', '618', '38.190822', '-88.532134', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65772, 'Dahlgren', 2794, '62828', '618', '38.190822', '-88.532134', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65773, 'Mill Shoals', 2794, '62862', '618', '38.208235', '-88.307389', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65774, 'Cowling', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65775, 'Friendsville', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65776, 'Maud', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:36', '2018-11-29 05:10:36'),\n(65777, 'Mount Carmel', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65778, 'Mt Carmell', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65779, 'Odgen', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65780, 'Patton', 2794, '62863', '618', '38.411082', '-87.861182', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65781, 'Keith', 2794, '62878', '618', '38.582738', '-88.467996', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65782, 'Rinard', 2794, '62878', '618', '38.582738', '-88.467996', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65783, 'Sailor Spgs', 2794, '62879', '618', '38.76637', '-88.358522', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65784, 'Sailor Springs', 2794, '62879', '618', '38.76637', '-88.358522', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65785, 'Waltonville', 2794, '62894', '618', '38.222534', '-89.057521', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65786, 'Deering', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65787, 'Denning', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65788, 'Ezra', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65789, 'Plumfield', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65790, 'Stiritz', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65791, 'W Frankfort', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65792, 'West Frankfort', 2794, '62896', '618', '37.891654', '-88.903192', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65793, 'Whittington', 2794, '62897', '618', '38.089479', '-88.891761', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65794, 'Warrensburg', 2794, '62573', '217', '39.955043', '-89.06885', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65795, 'Broadwell', 2794, '62634', '217', '40.019075', '-89.47309', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65796, 'Elkhart', 2794, '62634', '217', '40.019075', '-89.47309', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65797, 'Arcadia', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65798, 'Arnold', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65799, 'Jacksonville', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65800, 'Literberry', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65801, 'Lynnville', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65802, 'Merritt', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65803, 'Pisgah', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65804, 'Sinclair', 2794, '62650', '217', '39.741724', '-90.243879', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65805, 'Barclay', 2794, '62684', '217', '39.914343', '-89.592846', '2018-11-29 05:10:37', '2018-11-29 05:10:37'),\n(65806, 'Sherman', 2794, '62684', '217', '39.914343', '-89.592846', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65807, 'Little Indian', 2794, '62691', '217', '39.956673', '-90.198109', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65808, 'Virginia', 2794, '62691', '217', '39.956673', '-90.198109', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65809, 'Springfield', 2794, '62791', '217', '39.8018', '-89.6436', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65810, 'Bonnie', 2794, '62816', '618', '38.177076', '-88.912786', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65811, 'Nason', 2794, '62816', '618', '38.177076', '-88.912786', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65812, 'Cisne', 2794, '62823', '618', '38.513889', '-88.3641', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65813, 'Enterprise', 2794, '62823', '618', '38.513889', '-88.3641', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65814, 'Emma', 2794, '62834', '618', '37.9748', '-88.1206', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65815, 'Freeman Spur', 2794, '62841', '618', '37.8614', '-88.9974', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65816, 'Johnsonville', 2794, '62850', '618', '38.539982', '-88.584956', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65817, 'Orchardville', 2794, '62850', '618', '38.539982', '-88.584956', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65818, 'Nason', 2794, '62866', '618', '38.148405', '-89.01327', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65819, 'Noble', 2794, '62868', '618', '38.711734', '-88.222723', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65820, 'Wynoose', 2794, '62868', '618', '38.711734', '-88.222723', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65821, 'Valier', 2794, '62891', '618', '38.012415', '-89.044067', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65822, 'Drivers', 2794, '62898', '618', '38.383584', '-89.06134', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65823, 'Grand Prairie', 2794, '62898', '618', '38.383584', '-89.06134', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65824, 'Roaches', 2794, '62898', '618', '38.383584', '-89.06134', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65825, 'Woodlawn', 2794, '62898', '618', '38.383584', '-89.06134', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65826, 'Bannockburn', 2794, '60015', '847', '42.176115', '-87.880338', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65827, 'Deerfield', 2794, '60015', '847', '42.176115', '-87.880338', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65828, 'Riverwoods', 2794, '60015', '847', '42.176115', '-87.880338', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65829, 'Des Plaines', 2794, '60017', '847', '42.0334', '-87.8834', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65830, 'Island Lake', 2794, '60042', '847', '42.276174', '-88.202977', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65831, 'Beach Park', 2794, '60083', '847', '42.440295', '-87.940096', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65832, 'Old Mill Creek', 2794, '60083', '847', '42.440295', '-87.940096', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65833, 'Old Mill Crk', 2794, '60083', '847', '42.440295', '-87.940096', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65834, 'Wadsworth', 2794, '60083', '847', '42.440295', '-87.940096', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65835, 'Dekalb', 2794, '60115', '815', '41.903614', '-88.735036', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65836, 'Bloomingdale', 2794, '60117', '630', '41.9479', '-88.0786', '2018-11-29 05:10:38', '2018-11-29 05:10:38'),\n(65837, 'Great Lakes Area Office', 2794, '60117', '630', '41.9479', '-88.0786', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65838, 'Campton Hills', 2794, '60140', '847', '42.071782', '-88.505618', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65839, 'Hampshire', 2794, '60140', '847', '42.071782', '-88.505618', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65840, 'Pingree Grove', 2794, '60140', '847', '42.071782', '-88.505618', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65841, 'Lily Lake', 2794, '60151', '630', '41.915299', '-88.570236', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65842, 'Maple Park', 2794, '60151', '630', '41.915299', '-88.570236', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65843, 'Virgil', 2794, '60151', '630', '41.915299', '-88.570236', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65844, 'Schiller Park', 2794, '60176', '847', '41.959018', '-87.868658', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65845, 'Winfield', 2794, '60190', '630', '41.87175', '-88.158404', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65846, 'Evanston', 2794, '60208', '847', '42.055861', '-87.674324', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65847, 'Northwestern Univ Adminstrn', 2794, '60208', '847', '42.055861', '-87.674324', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65848, 'Braidwood', 2794, '60408', '815', '41.245468', '-88.216796', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65849, 'Channahon', 2794, '60410', '815', '41.429824', '-88.202728', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65850, 'Dolton', 2794, '60419', '708', '41.625414', '-87.603746', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65851, 'Gardner', 2794, '60424', '815', '41.177488', '-88.32511', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65852, 'Harvey', 2794, '60428', '708', '41.604156', '-87.690937', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65853, 'Markham', 2794, '60428', '708', '41.604156', '-87.690937', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65854, 'Joliet', 2794, '60433', '815', '41.49823', '-88.043001', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65855, 'Cntry Clb Hls', 2794, '60478', '708', '41.56071', '-87.725153', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65856, 'Country Club Hills', 2794, '60478', '708', '41.56071', '-87.725153', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65857, 'Ctry Clb Hls', 2794, '60478', '708', '41.56071', '-87.725153', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65858, 'Tinley Park', 2794, '60478', '708', '41.56071', '-87.725153', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65859, 'Argo', 2794, '60501', '708', '41.779672', '-87.826945', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65860, 'Bedford Park', 2794, '60501', '708', '41.779672', '-87.826945', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65861, 'Bedford Pk', 2794, '60501', '708', '41.779672', '-87.826945', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65862, 'Summit', 2794, '60501', '708', '41.779672', '-87.826945', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65863, 'Summit Argo', 2794, '60501', '708', '41.779672', '-87.826945', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65864, 'Aurora', 2794, '60503', '630', '41.714088', '-88.262989', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65865, 'Plainfield', 2794, '60544', '815', '41.6161', '-88.219788', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65866, 'Chicago', 2794, '60608', '773', '41.848845', '-87.67125', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65867, 'Pilsen', 2794, '60608', '773', '41.848845', '-87.67125', '2018-11-29 05:10:39', '2018-11-29 05:10:39'),\n(65868, 'Chestnut Street', 2794, '60610', '312', '41.900143', '-87.635914', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65869, 'Chicago', 2794, '60610', '312', '41.900143', '-87.635914', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65870, 'Fort Dearborn', 2794, '60610', '312', '41.900143', '-87.635914', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65871, 'Chicago', 2794, '60617', '773', '41.705996', '-87.56277', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65872, 'Chicago', 2794, '60628', '773', '41.68978', '-87.613998', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65873, 'Roseland', 2794, '60628', '773', '41.68978', '-87.613998', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65874, 'Chicago', 2794, '60637', '773', '41.780393', '-87.596954', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65875, 'Jackson Park', 2794, '60637', '773', '41.780393', '-87.596954', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65876, 'Chicago', 2794, '60642', '773', '41.903287', '-87.660576', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65877, 'Chicago', 2794, '60653', '773', '41.820338', '-87.606745', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65878, 'Chicago', 2794, '60660', '773', '41.990819', '-87.664971', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65879, 'Rogers Park', 2794, '60660', '773', '41.990819', '-87.664971', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65880, 'Martinton', 2794, '60951', '815', '40.920908', '-87.750518', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65881, 'Union Hill', 2794, '60969', '815', '41.111474', '-88.144104', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65882, 'Apple River', 2794, '61001', '815', '42.453602', '-90.120176', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65883, 'Elizabeth', 2794, '61028', '815', '42.304464', '-90.159319', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65884, 'Woodbine', 2794, '61028', '815', '42.304464', '-90.159319', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65885, 'Loran', 2794, '61062', '815', '42.257843', '-89.83893', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65886, 'Pearl City', 2794, '61062', '815', '42.257843', '-89.83893', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65887, 'Rock Falls', 2794, '61071', '815', '41.720626', '-89.722404', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65888, 'Yeoward Addition', 2794, '61071', '815', '41.720626', '-89.722404', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65889, 'Yeowardville', 2794, '61071', '815', '41.720626', '-89.722404', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65890, 'Machesney Park', 2794, '61103', '815', '42.335593', '-89.072168', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65891, 'Machesney Pk', 2794, '61103', '815', '42.335593', '-89.072168', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65892, 'Rockford', 2794, '61103', '815', '42.335593', '-89.072168', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65893, 'Alba', 2794, '61235', '309', '41.395368', '-90.02027', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65894, 'Atkinson', 2794, '61235', '309', '41.395368', '-90.02027', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65895, 'Cornwall', 2794, '61235', '309', '41.395368', '-90.02027', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65896, 'Rapids City', 2794, '61278', '309', '41.5801', '-90.3435', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65897, 'Thompson', 2794, '61285', '815', '41.982641', '-90.060929', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65898, 'Thomson', 2794, '61285', '815', '41.982641', '-90.060929', '2018-11-29 05:10:40', '2018-11-29 05:10:40'),\n(65899, 'Dana', 2794, '61321', '815', '40.977812', '-88.989193', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65900, 'Mc Nabb', 2794, '61335', '815', '41.173692', '-89.221296', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65901, 'Mcnabb', 2794, '61335', '815', '41.173692', '-89.221296', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65902, 'New Bedford', 2794, '61346', '815', '41.518345', '-89.733705', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65903, 'Bishop Hill', 2794, '61419', '309', '41.20118', '-90.119095', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65904, 'Appleton', 2794, '61428', '309', '40.949855', '-90.116708', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65905, 'Dahinda', 2794, '61428', '309', '40.949855', '-90.116708', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65906, 'Oak Run', 2794, '61428', '309', '40.949855', '-90.116708', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65907, 'Macomb', 2794, '61455', '309', '40.419525', '-90.623864', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65908, 'Raritan', 2794, '61471', '309', '40.67792', '-90.846803', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65909, 'Ellison', 2794, '61478', '309', '40.749908', '-90.740952', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65910, 'Carol Stream', 2794, '60116', '630', '41.9125', '-88.1349', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65911, 'Household Financial Services', 2794, '60116', '630', '41.9125', '-88.1349', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65912, 'Dundee', 2794, '60118', '847', '42.11033', '-88.300169', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65913, 'East Dundee', 2794, '60118', '847', '42.11033', '-88.300169', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65914, 'Sleepy Hollow', 2794, '60118', '847', '42.11033', '-88.300169', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65915, 'West Dundee', 2794, '60118', '847', '42.11033', '-88.300169', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65916, 'Hines', 2794, '60141', '708', '41.857116', '-87.831592', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65917, 'Itasca', 2794, '60143', '630', '41.970787', '-88.018026', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65918, 'Campton Hills', 2794, '60175', '630', '41.942212', '-88.395403', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65919, 'Lily Lake', 2794, '60175', '630', '41.942212', '-88.395403', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65920, 'Saint Charles', 2794, '60175', '630', '41.942212', '-88.395403', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65921, 'St Charles', 2794, '60175', '630', '41.942212', '-88.395403', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65922, 'Wood Dale', 2794, '60191', '630', '41.966532', '-87.98137', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65923, 'Schaumburg', 2794, '60193', '847', '42.009267', '-88.092618', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65924, 'Evanston', 2794, '60202', '847', '42.030255', '-87.687515', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65925, 'Evanston', 2794, '60209', '847', '42.0412', '-87.6903', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65926, 'Northwestern Univ Residental', 2794, '60209', '847', '42.0412', '-87.6903', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65927, 'Oak Park', 2794, '60302', '708', '41.89437', '-87.790112', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65928, 'Berwyn', 2794, '60402', '708', '41.828674', '-87.789847', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65929, 'Forest View', 2794, '60402', '708', '41.828674', '-87.789847', '2018-11-29 05:10:41', '2018-11-29 05:10:41'),\n(65930, 'Stickney', 2794, '60402', '708', '41.828674', '-87.789847', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65931, 'Homer Glen', 2794, '60441', '815', '41.61308', '-88.060417', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65932, 'Lockport', 2794, '60441', '815', '41.61308', '-88.060417', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65933, 'Matteson', 2794, '60443', '708', '41.499419', '-87.744087', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65934, 'Park Forest', 2794, '60466', '708', '41.463245', '-87.705704', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65935, 'University Park', 2794, '60466', '708', '41.463245', '-87.705704', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65936, 'University Pk', 2794, '60466', '708', '41.463245', '-87.705704', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65937, 'Peotone', 2794, '60468', '708', '41.331308', '-87.813792', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65938, 'Chicago Heights', 2794, '60475', '708', '41.4741', '-87.630518', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65939, 'Chicago Hts', 2794, '60475', '708', '41.4741', '-87.630518', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65940, 'Steger', 2794, '60475', '708', '41.4741', '-87.630518', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65941, 'Park Forest', 2794, '60484', '708', '41.475228', '-87.675181', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65942, 'University Park', 2794, '60484', '708', '41.475228', '-87.675181', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65943, 'University Pk', 2794, '60484', '708', '41.475228', '-87.675181', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65944, 'Homer Glen', 2794, '60491', '815', '41.599132', '-87.965146', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65945, 'Lockport', 2794, '60491', '815', '41.599132', '-87.965146', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65946, 'Aurora', 2794, '60502', '630', '41.787699', '-88.263672', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65947, 'Downers Grove', 2794, '60516', '630', '41.752315', '-88.019808', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65948, 'Earlville', 2794, '60518', '815', '41.600601', '-88.938636', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65949, 'Harding', 2794, '60518', '815', '41.600601', '-88.938636', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65950, 'Rollo', 2794, '60518', '815', '41.600601', '-88.938636', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65951, 'Lyons', 2794, '60534', '708', '41.813272', '-87.821126', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65952, 'Millbrook', 2794, '60536', '630', '41.596016', '-88.556467', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65953, 'Shabbona', 2794, '60550', '815', '41.775669', '-88.881858', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65954, 'Darien', 2794, '60561', '630', '41.743546', '-87.987664', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65955, 'Aurora', 2794, '60568', '630', '41.7607', '-88.3202', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65956, 'Nicor Gas', 2794, '60568', '630', '41.7607', '-88.3202', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65957, 'Northern Il Gas', 2794, '60568', '630', '41.7607', '-88.3202', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65958, 'Northern Ill Gas Co', 2794, '60568', '630', '41.7607', '-88.3202', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65959, 'Chicago', 2794, '60625', '773', '41.972002', '-87.703656', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65960, 'Ravenswood', 2794, '60625', '773', '41.972002', '-87.703656', '2018-11-29 05:10:42', '2018-11-29 05:10:42'),\n(65961, 'Chicago', 2794, '60636', '773', '41.775818', '-87.668988', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65962, 'Ogden Park', 2794, '60636', '773', '41.775818', '-87.668988', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65963, 'Chicago', 2794, '60659', '773', '41.988603', '-87.701808', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65964, 'Chicago', 2794, '60661', '312', '41.882865', '-87.643545', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65965, 'Chase Bank', 2794, '60670', '312', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65966, 'Chicago', 2794, '60670', '312', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65967, 'Jp Morgan Chase', 2794, '60670', '312', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65968, 'Chicago', 2794, '60677', '773', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65969, 'Pnc Bank', 2794, '60677', '773', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65970, 'Chicago', 2794, '60686', '773', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65971, 'National City Bank', 2794, '60686', '773', '41.8501', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65972, 'Chicago', 2794, '60695', '773', '41.85', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65973, 'Jp Morgan Chase', 2794, '60695', '773', '41.85', '-87.65', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65974, 'Calumet Park', 2794, '60827', '708', '41.653651', '-87.625238', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65975, 'Chicago', 2794, '60827', '708', '41.653651', '-87.625238', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65976, 'Riverdale', 2794, '60827', '708', '41.653651', '-87.625238', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65977, 'Buckley', 2794, '60918', '217', '40.601454', '-88.028756', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65978, 'Clifton', 2794, '60927', '815', '40.943405', '-87.970532', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65979, 'Emington', 2794, '60934', '815', '40.979049', '-88.311824', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65980, 'Garber', 2794, '60936', '217', '40.464593', '-88.346768', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65981, 'Gibson City', 2794, '60936', '217', '40.464593', '-88.346768', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65982, 'Iroquois', 2794, '60945', '815', '40.824061', '-87.590763', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65983, 'Momence', 2794, '60954', '815', '41.147786', '-87.653322', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65984, 'Bonus', 2794, '61038', '815', '42.261152', '-88.73956', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65985, 'Garden Pr', 2794, '61038', '815', '42.261152', '-88.73956', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65986, 'Garden Prairie', 2794, '61038', '815', '42.261152', '-88.73956', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65987, 'Nora', 2794, '61059', '815', '42.453726', '-89.965112', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65988, 'Oregon', 2794, '61061', '815', '42.001454', '-89.359235', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65989, 'Pecatonica', 2794, '61063', '815', '42.318078', '-89.339877', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65990, 'Winnebago', 2794, '61088', '815', '42.313169', '-89.272204', '2018-11-29 05:10:43', '2018-11-29 05:10:43'),\n(65991, 'Rock Island', 2794, '61204', '309', '41.5096', '-90.5787', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65992, 'Cambridge', 2794, '61238', '309', '41.288896', '-90.174856', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65993, 'Munson', 2794, '61238', '309', '41.288896', '-90.174856', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65994, 'Ulah', 2794, '61238', '309', '41.288896', '-90.174856', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65995, 'Weller', 2794, '61238', '309', '41.288896', '-90.174856', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65996, 'Deer Grove', 2794, '61243', '815', '41.627932', '-89.689552', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65997, 'East Clinton', 2794, '61252', '815', '41.844257', '-90.113825', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65998, 'East Fulton', 2794, '61252', '815', '41.844257', '-90.113825', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(65999, 'Fulton', 2794, '61252', '815', '41.844257', '-90.113825', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66000, 'Garden Plain', 2794, '61252', '815', '41.844257', '-90.113825', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66001, 'Geneseo', 2794, '61254', '309', '41.461882', '-90.14595', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66002, 'Hanna', 2794, '61254', '309', '41.461882', '-90.14595', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66003, 'Clyde', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66004, 'Genesee', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66005, 'Malvern', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66006, 'Morrison', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66007, 'Round Grove', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66008, 'Union Grove', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66009, 'Ustick', 2794, '61270', '815', '41.82997', '-89.968059', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66010, 'Florid', 2794, '61327', '815', '41.223113', '-89.299181', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66011, 'Hennepin', 2794, '61327', '815', '41.223113', '-89.299181', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66012, 'Woodland Addition', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66013, 'Lone Tree', 2794, '61368', '815', '41.280978', '-89.504591', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66014, 'Providence', 2794, '61368', '815', '41.280978', '-89.504591', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66015, 'Tiskilwa', 2794, '61368', '815', '41.280978', '-89.504591', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66016, 'Galesburg', 2794, '61401', '309', '40.940016', '-90.36518', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66017, 'Henderson Grove', 2794, '61401', '309', '40.940016', '-90.36518', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66018, 'Avon', 2794, '61415', '309', '40.634967', '-90.429571', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66019, 'Check Row', 2794, '61415', '309', '40.634967', '-90.429571', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66020, 'Greenbush', 2794, '61415', '309', '40.634967', '-90.429571', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66021, 'Gerlaw', 2794, '61435', '309', '41.006986', '-90.578226', '2018-11-29 05:10:44', '2018-11-29 05:10:44'),\n(66022, 'Knoxville', 2794, '61448', '309', '40.926779', '-90.235557', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66023, 'New Windsor', 2794, '61465', '309', '41.195788', '-90.490118', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66024, 'N Henderson', 2794, '61466', '309', '41.107612', '-90.485444', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66025, 'North Henderson', 2794, '61466', '309', '41.107612', '-90.485444', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66026, 'Opheim', 2794, '61468', '309', '41.247916', '-90.406956', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66027, 'Ophiem', 2794, '61468', '309', '41.247916', '-90.406956', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66028, 'Elmira', 2794, '61483', '309', '41.104464', '-89.869205', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66029, 'Goshen', 2794, '61483', '309', '41.104464', '-89.869205', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66030, 'Saxton', 2794, '61483', '309', '41.104464', '-89.869205', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66031, 'Toulon', 2794, '61483', '309', '41.104464', '-89.869205', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66032, 'West Jersey', 2794, '61483', '309', '41.104464', '-89.869205', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66033, 'Bishop', 2794, '61532', '309', '40.339716', '-89.819448', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66034, 'Forest City', 2794, '61532', '309', '40.339716', '-89.819448', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66035, 'Grand Oaks', 2794, '61535', '309', '40.579214', '-89.531097', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66036, 'Groveland', 2794, '61535', '309', '40.579214', '-89.531097', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66037, 'Northern Oaks', 2794, '61535', '309', '40.579214', '-89.531097', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66038, 'Towne Oaks', 2794, '61535', '309', '40.579214', '-89.531097', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66039, 'Whispering Oaks', 2794, '61535', '309', '40.579214', '-89.531097', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66040, 'Germantown Hills', 2794, '61548', '309', '40.813372', '-89.409084', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66041, 'Germantwn Hls', 2794, '61548', '309', '40.813372', '-89.409084', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66042, 'Metamora', 2794, '61548', '309', '40.813372', '-89.409084', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66043, 'Oak Ridge', 2794, '61548', '309', '40.813372', '-89.409084', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66044, 'Partridge', 2794, '61548', '309', '40.813372', '-89.409084', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66045, 'Goofy Ridge', 2794, '61567', '309', '40.364529', '-89.940734', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66046, 'Topeka', 2794, '61567', '309', '40.364529', '-89.940734', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66047, 'Peoria', 2794, '61601', '309', '40.6937', '-89.5887', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66048, 'Alta', 2794, '61615', '309', '40.77395', '-89.638145', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66049, 'Peoria', 2794, '61615', '309', '40.77395', '-89.638145', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66050, 'East Peoria', 2794, '61635', '309', '40.709466', '-89.520696', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66051, 'Il Central College', 2794, '61635', '309', '40.709466', '-89.520696', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66052, 'Peoria', 2794, '61635', '309', '40.709466', '-89.520696', '2018-11-29 05:10:45', '2018-11-29 05:10:45'),\n(66053, 'Peoria', 2794, '61652', '309', '40.6937', '-89.5887', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66054, 'Blm', 2794, '61702', '309', '40.4845', '-88.9939', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66055, 'Bloomington', 2794, '61702', '309', '40.4845', '-88.9939', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66056, 'Danvers', 2794, '61732', '309', '40.53078', '-89.193136', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66057, 'Boynton', 2794, '61734', '309', '40.38698', '-89.49178', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66058, 'Delavan', 2794, '61734', '309', '40.38698', '-89.49178', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66059, 'De Witt', 2794, '61735', '217', '40.204785', '-88.809869', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66060, 'Dewitt', 2794, '61735', '217', '40.204785', '-88.809869', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66061, 'Lane', 2794, '61750', '217', '40.123498', '-88.860389', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66062, 'Lawndale', 2794, '61751', '217', '40.2183', '-89.2825', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66063, 'Urbana', 2794, '61802', '217', '40.117963', '-88.152666', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66064, 'Broadlands', 2794, '61816', '217', '39.923212', '-88.002035', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66065, 'Danville', 2794, '61833', '217', '40.09706', '-87.64728', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66066, 'Tilton', 2794, '61833', '217', '40.09706', '-87.64728', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66067, 'Danville', 2794, '61834', '217', '40.135284', '-87.678659', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66068, 'Homer', 2794, '61849', '217', '40.015445', '-87.974968', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66069, 'Indianola', 2794, '61850', '217', '39.939742', '-87.73943', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66070, 'Longview', 2794, '61852', '217', '39.897754', '-88.075737', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66071, 'Camargo', 2794, '61919', '217', '39.773615', '-88.124896', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66072, 'Kansas', 2794, '61933', '217', '39.556956', '-87.906972', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66073, 'Redmon', 2794, '61949', '217', '39.658776', '-87.853453', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66074, 'Allenville', 2794, '61951', '217', '39.593506', '-88.5872', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66075, 'Kirksville', 2794, '61951', '217', '39.593506', '-88.5872', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66076, 'Sullivan', 2794, '61951', '217', '39.593506', '-88.5872', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66077, 'Alton', 2794, '62002', '618', '38.939095', '-90.132125', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66078, 'Carrollton', 2794, '62016', '217', '39.32588', '-90.429543', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66079, 'Cottage Hills', 2794, '62018', '618', '38.909374', '-90.08638', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66080, 'Golden Eagle', 2794, '62036', '618', '38.895703', '-90.579178', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66081, 'Jersey', 2794, '62052', '618', '39.094154', '-90.323822', '2018-11-29 05:10:46', '2018-11-29 05:10:46'),\n(66082, 'Jerseyville', 2794, '62052', '618', '39.094154', '-90.323822', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66083, 'Mcclusky', 2794, '62052', '618', '39.094154', '-90.323822', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66084, 'Otter Creek', 2794, '62052', '618', '39.094154', '-90.323822', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66085, 'Otterville', 2794, '62052', '618', '39.094154', '-90.323822', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66086, 'Lake Keho', 2794, '62069', '217', '39.087231', '-89.750605', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66087, 'Mount Olive', 2794, '62069', '217', '39.087231', '-89.750605', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66088, 'Mt Olive', 2794, '62069', '217', '39.087231', '-89.750605', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66089, 'White City', 2794, '62069', '217', '39.087231', '-89.750605', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66090, 'Mozier', 2794, '62070', '618', '39.284226', '-90.73118', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66091, 'Sawyerville', 2794, '62085', '217', '39.078048', '-89.806257', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66092, 'Belleville', 2794, '62220', '618', '38.464852', '-89.970888', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66093, 'Swansea', 2794, '62220', '618', '38.464852', '-89.970888', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66094, 'Coulterville', 2794, '62237', '618', '38.201768', '-89.564014', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66095, 'Swanwick', 2794, '62237', '618', '38.201768', '-89.564014', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66096, 'Winkle', 2794, '62237', '618', '38.201768', '-89.564014', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66097, 'Elkton', 2794, '62268', '618', '38.264404', '-89.523007', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66098, 'Lively Grove', 2794, '62268', '618', '38.264404', '-89.523007', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66099, 'Oakdale', 2794, '62268', '618', '38.264404', '-89.523007', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66100, 'Burton', 2794, '62301', '217', '39.929212', '-91.392828', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66101, 'Marblehead', 2794, '62301', '217', '39.929212', '-91.392828', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66102, 'Quincy', 2794, '62301', '217', '39.929212', '-91.392828', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66103, 'Camden', 2794, '62319', '217', '40.163377', '-90.754306', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66104, 'Camp Point', 2794, '62320', '217', '40.019536', '-91.074323', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66105, 'Columbus', 2794, '62320', '217', '40.019536', '-91.074323', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66106, 'Birmingham', 2794, '62367', '309', '40.280675', '-90.794964', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66107, 'Colmar', 2794, '62367', '309', '40.280675', '-90.794964', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66108, 'Plymouth', 2794, '62367', '309', '40.280675', '-90.794964', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66109, 'Bridgeport', 2794, '62417', '618', '38.753829', '-87.777466', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66110, 'Lukin', 2794, '62417', '618', '38.753829', '-87.777466', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66111, 'Petrolia', 2794, '62417', '618', '38.753829', '-87.777466', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66112, 'Berryville', 2794, '62419', '618', '38.621704', '-87.987798', '2018-11-29 05:10:47', '2018-11-29 05:10:47'),\n(66113, 'Bonpas', 2794, '62419', '618', '38.621704', '-87.987798', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66114, 'Des Plaines', 2794, '60018', '847', '41.998622', '-87.898588', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66115, 'Rosemont', 2794, '60018', '847', '41.998622', '-87.898588', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66116, 'Glenview', 2794, '60025', '847', '42.080145', '-87.823256', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66117, 'Ingleside', 2794, '60041', '847', '42.365754', '-88.149696', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66118, 'Long Lake', 2794, '60041', '847', '42.365754', '-88.149696', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66119, 'Stanton Point', 2794, '60041', '847', '42.365754', '-88.149696', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66120, 'Volo', 2794, '60041', '847', '42.365754', '-88.149696', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66121, 'Kenilworth', 2794, '60043', '847', '42.089028', '-87.714386', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66122, 'Green Oaks', 2794, '60048', '847', '42.280449', '-87.955719', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66123, 'Libertyville', 2794, '60048', '847', '42.280449', '-87.955719', '2018-11-29 05:10:48', '2018-11-29 05:10:48');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(66124, 'Mettawa', 2794, '60048', '847', '42.280449', '-87.955719', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66125, 'Park Ridge', 2794, '60068', '847', '42.015791', '-87.842834', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66126, 'Russell', 2794, '60075', '847', '42.4907', '-87.9127', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66127, 'Skokie', 2794, '60077', '847', '42.035142', '-87.762314', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66128, 'Lake Barrington', 2794, '60084', '847', '42.27478', '-88.133192', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66129, 'Lk Barrington', 2794, '60084', '847', '42.27478', '-88.133192', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66130, 'Wauconda', 2794, '60084', '847', '42.27478', '-88.133192', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66131, 'Geneva', 2794, '60134', '630', '41.87247', '-88.338508', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66132, 'Coral', 2794, '60152', '815', '42.247865', '-88.611884', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66133, 'Marengo', 2794, '60152', '815', '42.247865', '-88.611884', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66134, 'Medinah', 2794, '60157', '630', '41.973375', '-88.056195', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66135, 'Calumet City', 2794, '60409', '708', '41.613148', '-87.552074', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66136, 'Chicago Heights', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66137, 'Chicago Hts', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66138, 'Ford Heights', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66139, 'Lynwood', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66140, 'Otto Mall', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66141, 'S Chicago Hei', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66142, 'S Chicago Heights', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:48', '2018-11-29 05:10:48'),\n(66143, 'S Chicago Hts', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66144, 'Sauk Village', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66145, 'South Chicago Heights', 2794, '60411', '708', '41.513802', '-87.59967', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66146, 'Carbon Hill', 2794, '60416', '815', '41.29515', '-88.2789', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66147, 'Coal City', 2794, '60416', '815', '41.29515', '-88.2789', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66148, 'Diamond', 2794, '60416', '815', '41.29515', '-88.2789', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66149, 'Eileen', 2794, '60416', '815', '41.29515', '-88.2789', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66150, 'Joliet', 2794, '60436', '815', '41.494348', '-88.138419', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66151, 'Rockdale', 2794, '60436', '815', '41.494348', '-88.138419', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66152, 'Shorewood', 2794, '60436', '815', '41.494348', '-88.138419', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66153, 'Olympia Fields', 2794, '60461', '708', '41.517042', '-87.689034', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66154, 'Olympia Flds', 2794, '60461', '708', '41.517042', '-87.689034', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66155, 'Big Rock', 2794, '60511', '630', '41.763513', '-88.550685', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66156, 'Burr Ridge', 2794, '60527', '630', '41.742901', '-87.934676', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66157, 'Burridge', 2794, '60527', '630', '41.742901', '-87.934676', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66158, 'Willow Brook', 2794, '60527', '630', '41.742901', '-87.934676', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66159, 'Willowbrook', 2794, '60527', '630', '41.742901', '-87.934676', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66160, 'Westmont', 2794, '60559', '630', '41.793466', '-87.970596', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66161, 'Naperville', 2794, '60566', '630', '41.7855', '-88.1472', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66162, 'Chicago', 2794, '60602', '312', '41.883225', '-87.627261', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66163, 'Chicago', 2794, '60609', '773', '41.81238', '-87.655329', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66164, 'Stock Yards', 2794, '60609', '773', '41.81238', '-87.655329', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66165, 'Chicago', 2794, '60634', '773', '41.946313', '-87.810548', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66166, 'Ashburn Park', 2794, '60652', '773', '41.746129', '-87.711992', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66167, 'Chicago', 2794, '60652', '773', '41.746129', '-87.711992', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66168, 'Chicago', 2794, '60675', '773', '41.8501', '-87.65', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66169, 'Northern Trust Co', 2794, '60675', '773', '41.8501', '-87.65', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66170, 'Chicago', 2794, '60684', '773', '41.8501', '-87.65', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66171, 'Sears Tower', 2794, '60684', '773', '41.8501', '-87.65', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66172, 'Chicago', 2794, '60804', '708', '41.840242', '-87.758745', '2018-11-29 05:10:49', '2018-11-29 05:10:49'),\n(66173, 'Cicero', 2794, '60804', '708', '41.840242', '-87.758745', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66174, 'Ashkum', 2794, '60911', '815', '40.864971', '-87.976332', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66175, 'Campus', 2794, '60920', '815', '41.024922', '-88.305954', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66176, 'Melvin', 2794, '60952', '217', '40.559722', '-88.242988', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66177, 'Piper City', 2794, '60959', '815', '40.784961', '-88.183062', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66178, 'Eleroy', 2794, '61027', '815', '42.3328', '-89.7608', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66179, 'Monroe Center', 2794, '61052', '815', '42.108026', '-89.000696', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66180, 'Flag Center', 2794, '61068', '815', '41.962348', '-89.048236', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66181, 'Flagg', 2794, '61068', '815', '41.962348', '-89.048236', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66182, 'Hillcrest', 2794, '61068', '815', '41.962348', '-89.048236', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66183, 'Kings', 2794, '61068', '815', '41.962348', '-89.048236', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66184, 'Rochelle', 2794, '61068', '815', '41.962348', '-89.048236', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66185, 'Rock City', 2794, '61070', '815', '42.41858', '-89.481648', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66186, 'Rock Grove', 2794, '61070', '815', '42.41858', '-89.481648', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66187, 'Barstow', 2794, '61236', '309', '41.517984', '-90.356877', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66188, 'Matherville', 2794, '61263', '309', '41.259605', '-90.603488', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66189, 'Brookhaven', 2794, '61277', '815', '41.610964', '-89.94716', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66190, 'Leon Corners', 2794, '61277', '815', '41.610964', '-89.94716', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66191, 'Portland', 2794, '61277', '815', '41.610964', '-89.94716', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66192, 'Portland Corners', 2794, '61277', '815', '41.610964', '-89.94716', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66193, 'Prophetstown', 2794, '61277', '815', '41.610964', '-89.94716', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66194, 'Wethersfield', 2794, '61277', '815', '41.610964', '-89.94716', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66195, 'Neponset', 2794, '61345', '309', '41.277742', '-89.799646', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66196, 'Peru', 2794, '61354', '815', '41.338082', '-89.144038', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66197, 'Troy Grove', 2794, '61372', '815', '41.465932', '-89.075486', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66198, 'East Wenona', 2794, '61377', '815', '41.059136', '-88.998743', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66199, 'Evans', 2794, '61377', '815', '41.059136', '-88.998743', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66200, 'Garfield', 2794, '61377', '815', '41.059136', '-88.998743', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66201, 'Leeds', 2794, '61377', '815', '41.059136', '-88.998743', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66202, 'Wenona', 2794, '61377', '815', '41.059136', '-88.998743', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66203, 'Alpha', 2794, '61413', '309', '41.194928', '-90.371971', '2018-11-29 05:10:50', '2018-11-29 05:10:50'),\n(66204, 'Cuba', 2794, '61427', '309', '40.5022', '-90.197912', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66205, 'Good Hope', 2794, '61438', '309', '40.580218', '-90.63655', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66206, 'Lomax', 2794, '61454', '217', '40.677834', '-91.03103', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66207, 'Speer', 2794, '61479', '309', '41.017967', '-89.753905', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66208, 'Cramers', 2794, '61529', '309', '40.785661', '-89.918631', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66209, 'Elmwood', 2794, '61529', '309', '40.785661', '-89.918631', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66210, 'Rosefield', 2794, '61529', '309', '40.785661', '-89.918631', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66211, 'Farmington', 2794, '61531', '309', '40.678364', '-90.020692', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66212, 'Middlegrove', 2794, '61531', '309', '40.678364', '-90.020692', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66213, 'Roanoke', 2794, '61561', '309', '40.799212', '-89.202438', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66214, 'Saint David', 2794, '61563', '309', '40.514326', '-90.09091', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66215, 'St David', 2794, '61563', '309', '40.514326', '-90.09091', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66216, 'Peoria', 2794, '61606', '309', '40.699099', '-89.60953', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66217, 'Bayview Garde', 2794, '61611', '309', '40.726788', '-89.544168', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66218, 'Bayview Gardens', 2794, '61611', '309', '40.726788', '-89.544168', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66219, 'East Peoria', 2794, '61611', '309', '40.726788', '-89.544168', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66220, 'Peoria', 2794, '61611', '309', '40.726788', '-89.544168', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66221, 'Robein', 2794, '61611', '309', '40.726788', '-89.544168', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66222, 'Spring Bay', 2794, '61611', '309', '40.726788', '-89.544168', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66223, 'Peoria', 2794, '61638', '309', '40.6937', '-89.5887', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66224, 'Replacement Lens Inc', 2794, '61638', '309', '40.6937', '-89.5887', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66225, 'Cropsey', 2794, '61731', '309', '40.595069', '-88.511852', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66226, 'Heyworth', 2794, '61745', '309', '40.341582', '-88.984941', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66227, 'Lyttleville', 2794, '61745', '309', '40.341582', '-88.984941', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66228, 'Randolph', 2794, '61745', '309', '40.341582', '-88.984941', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66229, 'Shirley', 2794, '61772', '309', '40.370809', '-89.077033', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66230, 'Champaign', 2794, '61820', '217', '40.113273', '-88.241658', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66231, 'Champaign', 2794, '61822', '217', '40.131856', '-88.294924', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66232, 'Lodge', 2794, '61856', '217', '40.03645', '-88.577922', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66233, 'Monticello', 2794, '61856', '217', '40.03645', '-88.577922', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66234, 'Pesotum', 2794, '61863', '217', '39.908373', '-88.284316', '2018-11-29 05:10:51', '2018-11-29 05:10:51'),\n(66235, 'Ridge Farm', 2794, '61870', '217', '39.90815', '-87.612956', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66236, 'Mattoon', 2794, '61938', '217', '39.476314', '-88.359457', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66237, 'Metcalf', 2794, '61940', '217', '39.78481', '-87.79414', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66238, 'Batchtown', 2794, '62006', '618', '39.093772', '-90.67254', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66239, 'Beechville', 2794, '62006', '618', '39.093772', '-90.67254', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66240, 'Gilead', 2794, '62006', '618', '39.093772', '-90.67254', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66241, 'Brussels', 2794, '62013', '618', '38.969238', '-90.565792', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66242, 'Deer Plain', 2794, '62013', '618', '38.969238', '-90.565792', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66243, 'Meppen', 2794, '62013', '618', '38.969238', '-90.565792', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66244, 'East Alton', 2794, '62024', '618', '38.8435', '-90.079158', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66245, 'Rosewood', 2794, '62024', '618', '38.8435', '-90.079158', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66246, 'East Hardin', 2794, '62031', '618', '39.131398', '-90.530781', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66247, 'Fieldon', 2794, '62031', '618', '39.131398', '-90.530781', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66248, 'Nutwood', 2794, '62031', '618', '39.131398', '-90.530781', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66249, 'Rosedale', 2794, '62031', '618', '39.131398', '-90.530781', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66250, 'Hillsboro', 2794, '62049', '217', '39.133427', '-89.474587', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66251, 'Kortcamp', 2794, '62049', '217', '39.133427', '-89.474587', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66252, 'Schram City', 2794, '62049', '217', '39.133427', '-89.474587', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66253, 'Kane', 2794, '62054', '217', '39.218414', '-90.37437', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66254, 'Old Kane', 2794, '62054', '217', '39.218414', '-90.37437', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66255, 'Barnett', 2794, '62056', '217', '39.183327', '-89.700747', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66256, 'Hornsby', 2794, '62056', '217', '39.183327', '-89.700747', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66257, 'Litchfield', 2794, '62056', '217', '39.183327', '-89.700747', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66258, 'Kemper', 2794, '62063', '618', '39.199908', '-90.14718', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66259, 'Phoenix', 2794, '60426', '708', '41.609265', '-87.658042', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66260, 'Crest Hill', 2794, '60435', '815', '41.558392', '-88.121876', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66261, 'Cresthill', 2794, '60435', '815', '41.558392', '-88.121876', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66262, 'Joliet', 2794, '60435', '815', '41.558392', '-88.121876', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66263, 'Shorewood', 2794, '60435', '815', '41.558392', '-88.121876', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66264, 'Stateville', 2794, '60435', '815', '41.558392', '-88.121876', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66265, 'Manhattan', 2794, '60442', '815', '41.388401', '-87.961156', '2018-11-29 05:10:52', '2018-11-29 05:10:52'),\n(66266, 'Wilton Center', 2794, '60442', '815', '41.388401', '-87.961156', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66267, 'Mazon', 2794, '60444', '815', '41.234582', '-88.39809', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66268, 'New Lenox', 2794, '60451', '815', '41.507824', '-87.96519', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66269, 'Oak Lawn', 2794, '60453', '708', '41.708906', '-87.75952', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66270, 'Bedford Park', 2794, '60458', '708', '41.750099', '-87.836086', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66271, 'Justice', 2794, '60458', '708', '41.750099', '-87.836086', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66272, 'Oak Lawn', 2794, '60458', '708', '41.750099', '-87.836086', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66273, 'Odell', 2794, '60460', '815', '40.999025', '-88.529285', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66274, 'Orland Park', 2794, '60467', '708', '41.603002', '-87.88938', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66275, 'Posen', 2794, '60469', '708', '41.628128', '-87.686557', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66276, 'Batavia', 2794, '60510', '630', '41.840812', '-88.33802', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66277, 'Downers Grove', 2794, '60517', '630', '41.734142', '-88.04445', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66278, 'Woodridge', 2794, '60517', '630', '41.734142', '-88.04445', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66279, 'Eola', 2794, '60519', '630', '41.778162', '-88.242298', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66280, 'North Aurora', 2794, '60542', '630', '41.805177', '-88.35085', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66281, 'Norway', 2794, '60551', '815', '41.521652', '-88.711528', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66282, 'Sheridan', 2794, '60551', '815', '41.521652', '-88.711528', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66283, 'Western Sprgs', 2794, '60558', '708', '41.808033', '-87.903238', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66284, 'Western Springs', 2794, '60558', '708', '41.808033', '-87.903238', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66285, 'Plattville', 2794, '60560', '630', '41.608482', '-88.438596', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66286, 'Yorkville', 2794, '60560', '630', '41.608482', '-88.438596', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66287, 'Naperville', 2794, '60567', '630', '41.7855', '-88.1472', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66288, 'Plainfield', 2794, '60585', '630', '41.675819', '-88.200216', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66289, 'Chicago', 2794, '60619', '773', '41.743872', '-87.605226', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66290, 'Grand Crossing', 2794, '60619', '773', '41.743872', '-87.605226', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66291, 'Chicago', 2794, '60626', '773', '42.010632', '-87.66831', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66292, 'Rogers Park', 2794, '60626', '773', '42.010632', '-87.66831', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66293, 'Chicago', 2794, '60669', '773', '41.8501', '-87.65', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66294, 'Div Of Postal Inspectors', 2794, '60669', '773', '41.8501', '-87.65', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66295, 'Chicago', 2794, '60701', '773', '41.8643', '-87.645', '2018-11-29 05:10:53', '2018-11-29 05:10:53'),\n(66296, 'Aroma Park', 2794, '60910', '815', '41.081132', '-87.802825', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66297, 'Buckingham', 2794, '60917', '815', '41.055977', '-88.191206', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66298, 'Chatsworth', 2794, '60921', '815', '40.728344', '-88.294848', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66299, 'Claytonville', 2794, '60926', '815', '40.573887', '-87.808586', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66300, 'Hopkins Park', 2794, '60944', '815', '41.0633', '-87.625', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66301, 'Milford', 2794, '60953', '815', '40.617054', '-87.695663', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66302, 'Clarence', 2794, '60960', '217', '40.429033', '-87.882078', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66303, 'Rankin', 2794, '60960', '217', '40.429033', '-87.882078', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66304, 'Roberts', 2794, '60962', '217', '40.640156', '-88.178198', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66305, 'Byron', 2794, '61010', '815', '42.131254', '-89.261632', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66306, 'Capron', 2794, '61012', '815', '42.410252', '-88.763896', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66307, 'Dixon', 2794, '61021', '815', '41.826424', '-89.486125', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66308, 'Grand Detour', 2794, '61021', '815', '41.826424', '-89.486125', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66309, 'Nelson', 2794, '61021', '815', '41.826424', '-89.486125', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66310, 'Prairieville', 2794, '61021', '815', '41.826424', '-89.486125', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66311, 'Walton', 2794, '61021', '815', '41.826424', '-89.486125', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66312, 'Oneco', 2794, '61060', '815', '42.472222', '-89.617044', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66313, 'Orangeville', 2794, '61060', '815', '42.472222', '-89.617044', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66314, 'Shannon', 2794, '61078', '815', '42.162406', '-89.754166', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66315, 'Warren', 2794, '61087', '815', '42.476287', '-89.988668', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66316, 'Rockford', 2794, '61110', '815', '42.2712', '-89.0939', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66317, 'Rockford', 2794, '61112', '815', '42.245826', '-88.97235', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66318, 'Albany', 2794, '61230', '309', '41.73119', '-90.20981', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66319, 'Ceffco', 2794, '61230', '309', '41.73119', '-90.20981', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66320, 'Lynn', 2794, '61262', '309', '41.281767', '-90.348138', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66321, 'Lynn Center', 2794, '61262', '309', '41.281767', '-90.348138', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66322, 'Swedona', 2794, '61262', '309', '41.281767', '-90.348138', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66323, 'Arlington', 2794, '61312', '815', '41.438197', '-89.242976', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66324, 'Kasbeer', 2794, '61328', '815', '41.50939', '-89.459128', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66325, 'Malden', 2794, '61337', '815', '41.45158', '-89.329782', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66326, 'Zearing', 2794, '61337', '815', '41.45158', '-89.329782', '2018-11-29 05:10:54', '2018-11-29 05:10:54'),\n(66327, 'Mineral', 2794, '61344', '309', '41.40389', '-89.830448', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66328, 'Seneca', 2794, '61360', '815', '41.340664', '-88.6131', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66329, 'Stavanger', 2794, '61360', '815', '41.340664', '-88.6131', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66330, 'Kangley', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66331, 'Kernan', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66332, 'Missal', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66333, 'Munster', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66334, 'South Streator', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66335, 'Streator', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66336, 'Streator East', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66337, 'Streator West', 2794, '61364', '815', '41.109236', '-88.855258', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66338, 'Triumph', 2794, '61371', '815', '41.4995', '-89.0217', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66339, 'Alexis', 2794, '61412', '309', '41.025713', '-90.564136', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66340, 'Shanghai City', 2794, '61412', '309', '41.025713', '-90.564136', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66341, 'Henderson', 2794, '61439', '309', '41.027612', '-90.360282', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66342, 'Eleanor', 2794, '61453', '309', '41.020496', '-90.707574', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66343, 'Little York', 2794, '61453', '309', '41.020496', '-90.707574', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66344, 'Larchland', 2794, '61462', '309', '40.910976', '-90.652246', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66345, 'Monmouth', 2794, '61462', '309', '40.910976', '-90.652246', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66346, 'Ormonde', 2794, '61462', '309', '40.910976', '-90.652246', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66347, 'Oquawka', 2794, '61469', '309', '40.971382', '-90.920561', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66348, 'Edwards', 2794, '61528', '309', '40.777066', '-89.725969', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66349, 'Kickapoo', 2794, '61528', '309', '40.777066', '-89.725969', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66350, 'Eureka', 2794, '61530', '309', '40.711825', '-89.249578', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66351, 'Pekin', 2794, '61555', '309', '40.5675', '-89.6406', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66352, 'South Pekin', 2794, '61564', '309', '40.494548', '-89.654188', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66353, 'Peoria', 2794, '61612', '309', '40.6937', '-89.5887', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66354, 'Caterpillar Inc', 2794, '61630', '309', '40.6937', '-89.5887', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66355, 'East Peoria', 2794, '61630', '309', '40.6937', '-89.5887', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66356, 'Peoria', 2794, '61630', '309', '40.6937', '-89.5887', '2018-11-29 05:10:55', '2018-11-29 05:10:55'),\n(66357, 'Komatsu Dresser', 2794, '61639', '309', '40.6937', '-89.5887', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66358, 'Peoria', 2794, '61639', '309', '40.6937', '-89.5887', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66359, 'Westinghouse Air Brake', 2794, '61639', '309', '40.6937', '-89.5887', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66360, 'Bloomington', 2794, '61705', '309', '40.457901', '-89.046602', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66361, 'Lilly', 2794, '61755', '309', '40.526256', '-89.337929', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66362, 'Mackinaw', 2794, '61755', '309', '40.526256', '-89.337929', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66363, 'Cayuga', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66364, 'Eppards Point', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66365, 'Mcdowell', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66366, 'Ocoya', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66367, 'Owego', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66368, 'Pontiac', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66369, 'Rooks Creek', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66370, 'Rowe', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66371, 'Rugby', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66372, 'Swygert', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66373, 'Vermillion Estates', 2794, '61764', '815', '40.873272', '-88.634066', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66374, 'Sibley', 2794, '61773', '217', '40.573643', '-88.384728', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66375, 'Cisco', 2794, '61830', '217', '40.004341', '-88.73266', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66376, 'De Land', 2794, '61839', '217', '40.133674', '-88.652034', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66377, 'Mahomet', 2794, '61853', '217', '40.221853', '-88.413599', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66378, 'Milmine', 2794, '61855', '217', '39.923445', '-88.659944', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66379, 'Penfield', 2794, '61862', '217', '40.312235', '-87.958802', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66380, 'Thomasboro', 2794, '61878', '217', '40.241807', '-88.156037', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66381, 'Weldon', 2794, '61882', '217', '40.10275', '-88.745819', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66382, 'Hindsboro', 2794, '61930', '217', '39.687875', '-88.124354', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66383, 'Hume', 2794, '61932', '217', '39.819814', '-87.891166', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66384, 'Vermilion', 2794, '61955', '217', '39.5814', '-87.5888', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66385, 'Brighton', 2794, '62012', '618', '39.033406', '-90.140568', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66386, 'Grafton', 2794, '62037', '618', '39.020782', '-90.471232', '2018-11-29 05:10:56', '2018-11-29 05:10:56'),\n(66387, 'Otterville', 2794, '62037', '618', '39.020782', '-90.471232', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66388, 'Quarry', 2794, '62037', '618', '39.020782', '-90.471232', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66389, 'Nat Stock Yds', 2794, '62071', '618', '38.6445', '-90.1503', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66390, 'National Stock Yards', 2794, '62071', '618', '38.6445', '-90.1503', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66391, 'Natl Stock Yd', 2794, '62071', '618', '38.6445', '-90.1503', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66392, 'Athensville', 2794, '62082', '217', '39.495186', '-90.308847', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66393, 'Barrow', 2794, '62082', '217', '39.495186', '-90.308847', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66394, 'Roodhouse', 2794, '62082', '217', '39.495186', '-90.308847', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66395, 'Wrights', 2794, '62098', '217', '39.3756', '-90.2943', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66396, 'Centreville', 2794, '62205', '618', '38.60371', '-90.115788', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66397, 'E Saint Louis', 2794, '62205', '618', '38.60371', '-90.115788', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66398, 'E St Louis', 2794, '62205', '618', '38.60371', '-90.115788', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66399, 'East Saint Louis', 2794, '62205', '618', '38.60371', '-90.115788', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66400, 'Washingtn Park', 2794, '62205', '618', '38.60371', '-90.115788', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66401, 'Washington Pk', 2794, '62205', '618', '38.60371', '-90.115788', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66402, 'Belleville', 2794, '62221', '618', '38.507578', '-89.8998', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66403, 'Rentchler', 2794, '62221', '618', '38.507578', '-89.8998', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66404, 'Shiloh', 2794, '62221', '618', '38.507578', '-89.8998', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66405, 'Swansea', 2794, '62221', '618', '38.507578', '-89.8998', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66406, 'Belleville', 2794, '62223', '618', '38.533062', '-90.05232', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66407, 'Signal Hill', 2794, '62223', '618', '38.533062', '-90.05232', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66408, 'Swansea', 2794, '62223', '618', '38.533062', '-90.05232', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66409, 'Ayers', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66410, 'Beaver Creek', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66411, 'Dudleyville', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66412, 'Greenville', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66413, 'Stubblefield', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66414, 'Wisetown', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66415, 'Woburn', 2794, '62246', '618', '38.884343', '-89.43755', '2018-11-29 05:10:57', '2018-11-29 05:10:57'),\n(66416, 'Hecker', 2794, '62248', '618', '38.304795', '-89.993997', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66417, 'New Athens', 2794, '62264', '618', '38.302002', '-89.925965', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66418, 'New Memphis', 2794, '62266', '618', '38.476856', '-89.680932', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66419, 'Covington', 2794, '62271', '618', '38.431929', '-89.506264', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66420, 'Okawville', 2794, '62271', '618', '38.431929', '-89.506264', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66421, 'Golden', 2794, '62339', '217', '40.149779', '-91.013757', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66422, 'Pleasant Hill', 2794, '62366', '217', '39.445684', '-90.917051', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66423, 'Timewell', 2794, '62375', '217', '40.017343', '-90.855567', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66424, 'Dennison', 2794, '62423', '217', '39.463021', '-87.59893', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66425, 'Hidalgo', 2794, '62432', '618', '39.123296', '-88.133863', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66426, 'Rose Hill', 2794, '62432', '618', '39.123296', '-88.133863', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66427, 'Allison', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66428, 'Billet', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66429, 'Bond', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66430, 'Lawrence', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66431, 'Lawrenceville', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66432, 'Pinkstaff', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66433, 'Russellville', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66434, 'Westport', 2794, '62439', '618', '38.74798', '-87.627799', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66435, 'Bogota', 2794, '62448', '618', '38.967312', '-88.199905', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66436, 'Newton', 2794, '62448', '618', '38.967312', '-88.199905', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66437, 'Wakefield', 2794, '62448', '618', '38.967312', '-88.199905', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66438, 'Wendelin', 2794, '62448', '618', '38.967312', '-88.199905', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66439, 'Olney', 2794, '62450', '618', '38.705768', '-88.090602', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66440, 'Orchard Heights', 2794, '62450', '618', '38.705768', '-88.090602', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66441, 'Stoy', 2794, '62464', '618', '38.9975', '-87.8334', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66442, 'Chauncey', 2794, '62466', '618', '38.739372', '-87.852359', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66443, 'Helena', 2794, '62466', '618', '38.739372', '-87.852359', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66444, 'Sumner', 2794, '62466', '618', '38.739372', '-87.852359', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66445, 'West Liberty', 2794, '62475', '618', '38.901686', '-88.063375', '2018-11-29 05:10:58', '2018-11-29 05:10:58'),\n(66446, 'Boody', 2794, '62514', '217', '39.771829', '-89.047668', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66447, 'Decatur', 2794, '62523', '217', '39.843019', '-88.952158', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66448, 'Decatur', 2794, '62525', '217', '39.8406', '-88.9548', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66449, 'Illiopolis', 2794, '62539', '217', '39.850786', '-89.259962', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66450, 'Lake Fork', 2794, '62541', '217', '39.966797', '-89.356901', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66451, 'Mount Pulaski', 2794, '62548', '217', '39.981236', '-89.283878', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66452, 'Mt Pulaski', 2794, '62548', '217', '39.981236', '-89.283878', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66453, 'Cantrall', 2794, '62625', '217', '39.916241', '-89.699696', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66454, 'Chesterfield', 2794, '62630', '618', '39.268011', '-90.092708', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66455, 'Hagaman', 2794, '62630', '618', '39.268011', '-90.092708', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66456, 'Lincoln Nw Sl', 2794, '62659', '217', '39.995', '-89.8499', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66457, 'Lincolns New Salem', 2794, '62659', '217', '39.995', '-89.8499', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66458, 'Middletown', 2794, '62666', '217', '40.087486', '-89.547291', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66459, 'San Jose', 2794, '62682', '309', '40.276228', '-89.677228', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66460, 'Drivers Lic Div', 2794, '62723', '217', '39.8018', '-89.6436', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66461, 'Springfield', 2794, '62723', '217', '39.8018', '-89.6436', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66462, 'Central Il Public Service', 2794, '62739', '217', '39.8018', '-89.6436', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66463, 'Crystal Lake', 2794, '60014', '815', '42.234862', '-88.306724', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66464, 'Lakewood', 2794, '60014', '815', '42.234862', '-88.306724', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66465, 'Village Of Lakewood', 2794, '60014', '815', '42.234862', '-88.306724', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66466, 'Vlg Of Lakewd', 2794, '60014', '815', '42.234862', '-88.306724', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66467, 'Gages Lake', 2794, '60030', '847', '42.334343', '-88.054571', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66468, 'Grayslake', 2794, '60030', '847', '42.334343', '-88.054571', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66469, 'Hainesville', 2794, '60030', '847', '42.334343', '-88.054571', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66470, 'Third Lake', 2794, '60030', '847', '42.334343', '-88.054571', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66471, 'Volo', 2794, '60030', '847', '42.334343', '-88.054571', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66472, 'Wildwood', 2794, '60030', '847', '42.334343', '-88.054571', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66473, 'Gurnee', 2794, '60031', '847', '42.378177', '-87.942997', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66474, 'Green Oaks', 2794, '60045', '847', '42.240134', '-87.871992', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66475, 'Lake Forest', 2794, '60045', '847', '42.240134', '-87.871992', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66476, 'Lincolnshire Woods', 2794, '60045', '847', '42.240134', '-87.871992', '2018-11-29 05:10:59', '2018-11-29 05:10:59'),\n(66477, 'Mettawa', 2794, '60045', '847', '42.240134', '-87.871992', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66478, 'Echo Lake', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66479, 'Forest Lake', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66480, 'Hawthorn Wds', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66481, 'Hawthorn Woods', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66482, 'Kildeer', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66483, 'Lake Zurich', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66484, 'Long Grove', 2794, '60047', '847', '42.209954', '-88.044556', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66485, 'Abbott Park', 2794, '60064', '847', '42.314702', '-87.861012', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66486, 'Downey', 2794, '60064', '847', '42.314702', '-87.861012', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66487, 'North Chicago', 2794, '60064', '847', '42.314702', '-87.861012', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66488, 'Spring Grove', 2794, '60081', '815', '42.451396', '-88.218838', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66489, 'Franklin Park', 2794, '60131', '847', '41.934331', '-87.884971', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66490, 'Schiller Park', 2794, '60131', '847', '41.934331', '-87.884971', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66491, 'Fairdale', 2794, '60146', '815', '42.095131', '-88.883478', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66492, 'Kirkland', 2794, '60146', '815', '42.095131', '-88.883478', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66493, 'Flowerfield', 2794, '60148', '630', '41.877628', '-88.019802', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66494, 'Lombard', 2794, '60148', '630', '41.877628', '-88.019802', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66495, 'Hoffman Est', 2794, '60179', '847', '42.0425', '-88.0794', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66496, 'Hoffman Estates', 2794, '60179', '847', '42.0425', '-88.0794', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66497, 'Schaumburg', 2794, '60179', '847', '42.0425', '-88.0794', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66498, 'Sears Roebuck And Company', 2794, '60179', '847', '42.0425', '-88.0794', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66499, 'Hoffman Est', 2794, '60196', '847', '41.9859', '-88.0808', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66500, 'Hoffman Estates', 2794, '60196', '847', '41.9859', '-88.0808', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66501, 'Multi High Volume Firms', 2794, '60196', '847', '41.9859', '-88.0808', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66502, 'Schaumburg', 2794, '60196', '847', '41.9859', '-88.0808', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66503, 'East Hazel Crest', 2794, '60429', '708', '41.567946', '-87.674997', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66504, 'Hazel Crest', 2794, '60429', '708', '41.567946', '-87.674997', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66505, 'Joliet', 2794, '60431', '815', '41.534524', '-88.222818', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66506, 'Shorewood', 2794, '60431', '815', '41.534524', '-88.222818', '2018-11-29 05:11:00', '2018-11-29 05:11:00'),\n(66507, 'Crestwood', 2794, '60445', '708', '41.636087', '-87.737374', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66508, 'Midlothian', 2794, '60445', '708', '41.636087', '-87.737374', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66509, 'Minooka', 2794, '60447', '815', '41.482964', '-88.300978', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66510, 'Orland Park', 2794, '60462', '708', '41.616364', '-87.836574', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66511, 'Palos Park', 2794, '60464', '708', '41.66944', '-87.861791', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66512, 'Downers Grove', 2794, '60515', '630', '41.810973', '-88.029863', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66513, 'N Riverside', 2794, '60546', '708', '41.836961', '-87.828895', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66514, 'North Riverside', 2794, '60546', '708', '41.836961', '-87.828895', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66515, 'Riverside', 2794, '60546', '708', '41.836961', '-87.828895', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66516, 'Naperville', 2794, '60564', '630', '41.703605', '-88.200694', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66517, 'Aurora', 2794, '60598', '630', '41.76246', '-88.2219', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66518, 'Chicago', 2794, '60612', '312', '41.881152', '-87.686524', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66519, 'Chicago', 2794, '60616', '312', '41.845817', '-87.62474', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66520, 'Twenty Second Street', 2794, '60616', '312', '41.845817', '-87.62474', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66521, 'Chicago', 2794, '60630', '773', '41.974122', '-87.757792', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66522, 'Jefferson', 2794, '60630', '773', '41.974122', '-87.757792', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66523, 'Jefferson Park', 2794, '60630', '773', '41.974122', '-87.757792', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66524, 'Jefferson Pk', 2794, '60630', '773', '41.974122', '-87.757792', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66525, 'Chicago', 2794, '60632', '773', '41.811524', '-87.713718', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66526, 'Elsdon', 2794, '60632', '773', '41.811524', '-87.713718', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66527, 'Chicago', 2794, '60649', '773', '41.766152', '-87.563464', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66528, 'Chicago', 2794, '60680', '773', '41.8501', '-87.65', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66529, 'Bank Of America', 2794, '60682', '708', '41.86', '-87.81', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66530, 'Chicago', 2794, '60682', '708', '41.86', '-87.81', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66531, 'Bonfield', 2794, '60913', '815', '41.13885', '-88.060893', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66532, 'Donovan', 2794, '60931', '815', '40.881103', '-87.59954', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66533, 'Stockland', 2794, '60967', '815', '40.614462', '-87.592738', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66534, 'Chadwick', 2794, '61014', '815', '41.980309', '-89.88071', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66535, 'Forreston', 2794, '61030', '815', '42.11806', '-89.588827', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66536, 'Haldane', 2794, '61030', '815', '42.11806', '-89.588827', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66537, 'Franklin Grove', 2794, '61031', '815', '41.837487', '-89.303721', '2018-11-29 05:11:01', '2018-11-29 05:11:01'),\n(66538, 'Franklin Grv', 2794, '61031', '815', '41.837487', '-89.303721', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66539, 'Ridott', 2794, '61067', '815', '42.302444', '-89.474148', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66540, 'Loves Park', 2794, '61115', '815', '42.363398', '-89.020671', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66541, 'Machesney Park', 2794, '61115', '815', '42.363398', '-89.020671', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66542, 'Machesney Pk', 2794, '61115', '815', '42.363398', '-89.020671', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66543, 'Loves Park', 2794, '61132', '815', '42.3203', '-89.0584', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66544, 'Andover', 2794, '61233', '309', '41.294049', '-90.290584', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66545, 'Dimmick', 2794, '61301', '815', '41.383729', '-89.077948', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66546, 'La Salle', 2794, '61301', '815', '41.383729', '-89.077948', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66547, 'Rockwell', 2794, '61301', '815', '41.383729', '-89.077948', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66548, 'Tomahawk Bluff', 2794, '61301', '815', '41.383729', '-89.077948', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66549, 'Buda', 2794, '61314', '309', '41.299584', '-89.683644', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66550, 'Limerick', 2794, '61349', '815', '41.552454', '-89.439443', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66551, 'Ohio', 2794, '61349', '815', '41.552454', '-89.439443', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66552, 'Brickton', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66553, 'Dayton', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66554, 'Naplate', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66555, 'North Ottawa', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66556, 'Ottawa', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66557, 'Prairie Center', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66558, 'Stoneyville', 2794, '61350', '815', '41.366594', '-88.859149', '2018-11-29 05:11:02', '2018-11-29 05:11:02');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(66559, 'Antioch', 2794, '60002', '847', '42.45589', '-88.07587', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66560, 'Old Mill Creek', 2794, '60002', '847', '42.45589', '-88.07587', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66561, 'Old Mill Crk', 2794, '60002', '847', '42.45589', '-88.07587', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66562, 'Arlington Heights', 2794, '60004', '847', '42.112929', '-87.981178', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66563, 'Arlington Hts', 2794, '60004', '847', '42.112929', '-87.981178', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66564, 'Fort Sheridan', 2794, '60037', '847', '42.210494', '-87.80462', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66565, 'Highland Park', 2794, '60037', '847', '42.210494', '-87.80462', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66566, 'Morton Grove', 2794, '60053', '847', '42.038694', '-87.793083', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66567, 'Mellon Financial Services', 2794, '60055', '847', '42.1106', '-88.0342', '2018-11-29 05:11:02', '2018-11-29 05:11:02'),\n(66568, 'Palatine', 2794, '60055', '847', '42.1106', '-88.0342', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66569, 'Mount Prospect', 2794, '60056', '847', '42.062685', '-87.925548', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66570, 'Mt Prospect', 2794, '60056', '847', '42.062685', '-87.925548', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66571, 'Half Day', 2794, '60069', '847', '42.188588', '-87.9255', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66572, 'Lincolnshire', 2794, '60069', '847', '42.188588', '-87.9255', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66573, 'Prairie View', 2794, '60069', '847', '42.188588', '-87.9255', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66574, 'Prairieview', 2794, '60069', '847', '42.188588', '-87.9255', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66575, 'Prospect Heights', 2794, '60070', '847', '42.106044', '-87.922836', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66576, 'Prospect Hts', 2794, '60070', '847', '42.106044', '-87.922836', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66577, 'North Chicago', 2794, '60086', '847', '42.3256', '-87.8413', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66578, 'Selective Service', 2794, '60086', '847', '42.3256', '-87.8413', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66579, 'Great Lakes', 2794, '60088', '847', '42.308162', '-87.850765', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66580, 'North Chicago', 2794, '60088', '847', '42.308162', '-87.850765', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66581, 'Elgin', 2794, '60121', '847', '42.0372', '-88.2812', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66582, 'Westchester', 2794, '60154', '708', '41.852258', '-87.889', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66583, 'Broadview', 2794, '60155', '708', '41.856494', '-87.85536', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66584, 'Maywood', 2794, '60155', '708', '41.856494', '-87.85536', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66585, 'Algonquin', 2794, '60156', '847', '42.190482', '-88.354509', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66586, 'Lake In The Hills', 2794, '60156', '847', '42.190482', '-88.354509', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66587, 'Lk In The Hills', 2794, '60156', '847', '42.190482', '-88.354509', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66588, 'Lk In The Hls', 2794, '60156', '847', '42.190482', '-88.354509', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66589, 'Hoffman Est', 2794, '60173', '847', '42.051966', '-88.044457', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66590, 'Hoffman Estates', 2794, '60173', '847', '42.051966', '-88.044457', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66591, 'Schaumburg', 2794, '60173', '847', '42.051966', '-88.044457', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66592, 'Flossmoor', 2794, '60422', '708', '41.537778', '-87.684292', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66593, 'Homewood', 2794, '60422', '708', '41.537778', '-87.684292', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66594, 'Frankfort', 2794, '60423', '815', '41.47608', '-87.839237', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66595, 'Lansing', 2794, '60438', '708', '41.56899', '-87.554304', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66596, 'Oak Lawn', 2794, '60454', '708', '41.7208', '-87.7545', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66597, 'Hometown', 2794, '60456', '708', '41.731144', '-87.731283', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66598, 'Oak Lawn', 2794, '60456', '708', '41.731144', '-87.731283', '2018-11-29 05:11:03', '2018-11-29 05:11:03'),\n(66599, 'Bolingbrook', 2794, '60490', '630', '41.678092', '-88.144874', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66600, 'Aurora', 2794, '60505', '630', '41.765565', '-88.296736', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66601, 'Aurora', 2794, '60507', '630', '41.7606', '-88.3202', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66602, 'Hinsdale', 2794, '60521', '630', '41.801326', '-87.926716', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66603, 'Oak Brk Mall', 2794, '60521', '630', '41.801326', '-87.926716', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66604, 'Oak Brook', 2794, '60521', '630', '41.801326', '-87.926716', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66605, 'Oak Brook Mall', 2794, '60521', '630', '41.801326', '-87.926716', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66606, 'Hinsdale', 2794, '60522', '630', '41.8008', '-87.9367', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66607, 'Oak Brook', 2794, '60522', '630', '41.8008', '-87.9367', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66608, 'Wedron', 2794, '60557', '815', '41.441326', '-88.768214', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66609, 'At & T', 2794, '60572', '630', '41.7552', '-88.2415', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66610, 'Aurora', 2794, '60572', '630', '41.7552', '-88.2415', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66611, 'Fox Valley', 2794, '60572', '630', '41.7552', '-88.2415', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66612, 'Chicago', 2794, '60621', '773', '41.776146', '-87.639767', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66613, 'Englewood', 2794, '60621', '773', '41.776146', '-87.639767', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66614, 'Chicago', 2794, '60624', '773', '41.880721', '-87.723344', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66615, 'Chicago', 2794, '60640', '773', '41.969366', '-87.655423', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66616, 'Chicago', 2794, '60641', '773', '41.946011', '-87.746765', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66617, 'Chase Bank', 2794, '60673', '773', '41.8501', '-87.65', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66618, 'Chicago', 2794, '60673', '773', '41.8501', '-87.65', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66619, 'Jp Morgan Chase', 2794, '60673', '773', '41.8501', '-87.65', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66620, 'Chebanse', 2794, '60922', '815', '41.011024', '-87.933799', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66621, 'Sammons Point', 2794, '60922', '815', '41.011024', '-87.933799', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66622, 'Gilman', 2794, '60938', '815', '40.775138', '-87.993713', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66623, 'Hoopeston', 2794, '60942', '217', '40.51142', '-87.6638', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66624, 'Paxton', 2794, '60957', '217', '40.428622', '-88.121755', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66625, 'Woodland', 2794, '60974', '815', '40.707444', '-87.733722', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66626, 'Ashton', 2794, '61006', '815', '41.85775', '-89.19281', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66627, 'Rockford', 2794, '61107', '815', '42.284408', '-89.009781', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66628, 'Coal Valley', 2794, '61240', '309', '41.41974', '-90.425834', '2018-11-29 05:11:04', '2018-11-29 05:11:04'),\n(66629, 'Hampton', 2794, '61256', '309', '41.551892', '-90.406765', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66630, 'Hooppole', 2794, '61258', '815', '41.5206', '-89.9152', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66631, 'Barrington', 2794, '60011', '847', '42.1526', '-88.1348', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66632, 'Golf', 2794, '60029', '847', '42.058944', '-87.78338', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66633, 'Indian Creek', 2794, '60061', '847', '42.235875', '-87.963534', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66634, 'Vernon Hills', 2794, '60061', '847', '42.235875', '-87.963534', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66635, 'Palatine', 2794, '60094', '847', '42.1106', '-88.0342', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66636, 'Bull Valley', 2794, '60097', '815', '42.392025', '-88.357258', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66637, 'Wonder Lake', 2794, '60097', '815', '42.392025', '-88.357258', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66638, 'Clare', 2794, '60111', '815', '42.022675', '-88.83067', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66639, 'Cortland', 2794, '60112', '815', '41.925813', '-88.69081', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66640, 'Carol Stream', 2794, '60128', '630', '41.9125', '-88.1349', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66641, 'Household Finance Corp', 2794, '60128', '630', '41.9125', '-88.1349', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66642, 'North Suburban', 2794, '60128', '630', '41.9125', '-88.1349', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66643, 'Forest Park', 2794, '60130', '708', '41.868469', '-87.818776', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66644, 'Herbert', 2794, '60145', '815', '42.106639', '-88.768122', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66645, 'Kingston', 2794, '60145', '815', '42.106639', '-88.768122', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66646, 'Valley View', 2794, '60145', '815', '42.106639', '-88.768122', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66647, 'Lafox', 2794, '60147', '630', '41.8864', '-88.4087', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66648, 'Hillside', 2794, '60162', '708', '41.864918', '-87.901455', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66649, 'Melrose Park', 2794, '60164', '708', '41.918216', '-87.892603', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66650, 'Northlake', 2794, '60164', '708', '41.918216', '-87.892603', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66651, 'Sycamore', 2794, '60178', '815', '42.00622', '-88.703525', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66652, 'Union', 2794, '60180', '815', '42.21776', '-88.519142', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66653, 'Hoffman Est', 2794, '60195', '847', '42.066448', '-88.098495', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66654, 'Hoffman Estates', 2794, '60195', '847', '42.066448', '-88.098495', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66655, 'Schaumburg', 2794, '60195', '847', '42.066448', '-88.098495', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66656, 'Carol Stream', 2794, '60197', '630', '41.9127', '-88.1347', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66657, 'North Suburban', 2794, '60197', '630', '41.9127', '-88.1347', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66658, 'Chicago Heights', 2794, '60412', '708', '41.5068', '-87.6337', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66659, 'Chicago Hts', 2794, '60412', '708', '41.5068', '-87.6337', '2018-11-29 05:11:05', '2018-11-29 05:11:05'),\n(66660, 'Downtown Joliet', 2794, '60432', '815', '41.539332', '-88.046864', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66661, 'Joliet', 2794, '60432', '815', '41.539332', '-88.046864', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66662, 'Lockport', 2794, '60446', '815', '41.636022', '-88.095961', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66663, 'Romeoville', 2794, '60446', '815', '41.636022', '-88.095961', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66664, 'Palos Hills', 2794, '60465', '708', '41.699451', '-87.826942', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66665, 'Verona', 2794, '60479', '815', '41.224785', '-88.522473', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66666, 'Brookfield', 2794, '60513', '708', '41.825492', '-87.846566', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66667, 'Clarendon Hills', 2794, '60514', '630', '41.795909', '-87.958743', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66668, 'Clarendon Hls', 2794, '60514', '630', '41.795909', '-87.958743', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66669, 'Lee', 2794, '60530', '815', '41.789663', '-88.94798', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66670, 'Lisle', 2794, '60532', '630', '41.789146', '-88.084913', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66671, 'Serena', 2794, '60549', '815', '41.491746', '-88.737374', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66672, 'Fox Valley', 2794, '60599', '630', '41.8803', '-88.0152', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66673, 'Fox Valley Facility', 2794, '60599', '630', '41.8803', '-88.0152', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66674, 'Chicago', 2794, '60613', '773', '41.952023', '-87.655984', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66675, 'Lakeview', 2794, '60613', '773', '41.952023', '-87.655984', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66676, 'Chicago', 2794, '60615', '773', '41.802202', '-87.600575', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66677, 'Chicago', 2794, '60631', '773', '41.999221', '-87.821918', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66678, 'Norwood Park', 2794, '60631', '773', '41.999221', '-87.821918', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66679, 'Chicago', 2794, '60647', '773', '41.921054', '-87.702362', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66680, 'Chicago', 2794, '60664', '773', '41.8501', '-87.65', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66681, 'State Of Il', 2794, '60664', '773', '41.8501', '-87.65', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66682, 'Chicago', 2794, '60666', '773', '41.978324', '-87.906354', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66683, 'Chicago', 2794, '60681', '312', '41.8501', '-87.65', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66684, 'Bank Of America', 2794, '60696', '773', '41.8501', '-87.65', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66685, 'Chicago', 2794, '60696', '773', '41.8501', '-87.65', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66686, 'Fleet', 2794, '60696', '773', '41.8501', '-87.65', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66687, 'Niles', 2794, '60714', '847', '42.029554', '-87.811172', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66688, 'Bourbonnais', 2794, '60914', '815', '41.190774', '-87.855861', '2018-11-29 05:11:06', '2018-11-29 05:11:06'),\n(66689, 'Elliott', 2794, '60933', '217', '40.464905', '-88.26747', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66690, 'Ludlow', 2794, '60949', '217', '40.381518', '-88.091879', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66691, 'Saint Anne', 2794, '60964', '815', '41.04022', '-87.686246', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66692, 'St Anne', 2794, '60964', '815', '41.04022', '-87.686246', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66693, 'Sun River Ter', 2794, '60964', '815', '41.04022', '-87.686246', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66694, 'Sun River Terrace', 2794, '60964', '815', '41.04022', '-87.686246', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66695, 'Sheldon', 2794, '60966', '815', '40.76901', '-87.589407', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66696, 'Cherry Valley', 2794, '61016', '815', '42.202609', '-88.962052', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66697, 'Irene', 2794, '61016', '815', '42.202609', '-88.962052', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66698, 'Egan', 2794, '61047', '815', '42.164474', '-89.40003', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66699, 'Algonquin', 2794, '60102', '847', '42.15807', '-88.312323', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66700, 'Barrington Hills', 2794, '60102', '847', '42.15807', '-88.312323', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66701, 'Lake In The Hills', 2794, '60102', '847', '42.15807', '-88.312323', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66702, 'Lk In The Hls', 2794, '60102', '847', '42.15807', '-88.312323', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66703, 'Des Plaines', 2794, '60019', '847', '42.0188', '-87.8865', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66704, 'Despl/rsmt Bus Rply', 2794, '60019', '847', '42.0188', '-87.8865', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66705, 'Rosemont', 2794, '60019', '847', '42.0188', '-87.8865', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66706, 'Fox Lake', 2794, '60020', '847', '42.386654', '-88.169534', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66707, 'Volo', 2794, '60020', '847', '42.386654', '-88.169534', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66708, 'Barrington Hills', 2794, '60021', '847', '42.195086', '-88.222472', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66709, 'Fox River Grove', 2794, '60021', '847', '42.195086', '-88.222472', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66710, 'Fox River Grv', 2794, '60021', '847', '42.195086', '-88.222472', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66711, 'Richmond', 2794, '60071', '815', '42.454533', '-88.308674', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66712, 'Solon Mills', 2794, '60071', '815', '42.454533', '-88.308674', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66713, 'Ringwood', 2794, '60072', '815', '42.413236', '-88.31034', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66714, 'Buffalo Grove', 2794, '60089', '847', '42.16834', '-87.954689', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66715, 'Bensenville', 2794, '60105', '630', '41.9552', '-87.9401', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66716, 'Bradford Group', 2794, '60105', '630', '41.9552', '-87.9401', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66717, 'Bensenville', 2794, '60106', '630', '41.961771', '-87.944858', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66718, 'Elgin', 2794, '60120', '847', '42.016286', '-88.234631', '2018-11-29 05:11:07', '2018-11-29 05:11:07'),\n(66719, 'Hoffman Est', 2794, '60120', '847', '42.016286', '-88.234631', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66720, 'Carol Stream', 2794, '60122', '630', '42.0372', '-88.2812', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66721, 'Chase Bank', 2794, '60122', '630', '42.0372', '-88.2812', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66722, 'Broadview', 2794, '60153', '708', '41.881479', '-87.843899', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66723, 'Maywood', 2794, '60153', '708', '41.881479', '-87.843899', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66724, 'River Grove', 2794, '60171', '708', '41.922992', '-87.839881', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66725, 'West Chicago', 2794, '60186', '630', '41.8847', '-88.2039', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66726, 'Carol Stream', 2794, '60188', '630', '41.915218', '-88.128156', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66727, 'Wheaton', 2794, '60189', '630', '41.8661', '-88.1067', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66728, 'Oak Park', 2794, '60303', '708', '41.8851', '-87.7847', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66729, 'Oak Park', 2794, '60304', '708', '41.872474', '-87.78934', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66730, 'Joliet', 2794, '60404', '815', '41.508966', '-88.21599', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66731, 'Shorewood', 2794, '60404', '815', '41.508966', '-88.21599', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66732, 'Blue Island', 2794, '60406', '708', '41.651234', '-87.682271', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66733, 'Dixmoor', 2794, '60406', '708', '41.651234', '-87.682271', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66734, 'Lemont', 2794, '60439', '630', '41.682137', '-87.983436', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66735, 'Hickory Hills', 2794, '60457', '708', '41.72442', '-87.8273', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66736, 'Oak Lawn', 2794, '60457', '708', '41.72442', '-87.8273', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66737, 'East Brooklyn', 2794, '60474', '815', '41.171958', '-88.28428', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66738, 'S Wilmington', 2794, '60474', '815', '41.171958', '-88.28428', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66739, 'South Wilmington', 2794, '60474', '815', '41.171958', '-88.28428', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66740, 'Aurora', 2794, '60504', '630', '41.748954', '-88.245568', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66741, 'Hinsdale', 2794, '60523', '630', '41.836421', '-87.952011', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66742, 'Oak Brook', 2794, '60523', '630', '41.836421', '-87.952011', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66743, 'Millington', 2794, '60537', '815', '41.560101', '-88.597913', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66744, 'Boulder Hill', 2794, '60538', '630', '41.717114', '-88.357412', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66745, 'Montgmry', 2794, '60538', '630', '41.717114', '-88.357412', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66746, 'Montgomery', 2794, '60538', '630', '41.717114', '-88.357412', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66747, 'Naperville', 2794, '60540', '630', '41.768946', '-88.135081', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66748, 'Sugar Grove', 2794, '60554', '630', '41.776224', '-88.462936', '2018-11-29 05:11:08', '2018-11-29 05:11:08'),\n(66749, 'Warrenville', 2794, '60555', '630', '41.825718', '-88.20472', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66750, 'Mcgirr', 2794, '60556', '815', '41.758348', '-88.778348', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66751, 'Waterman', 2794, '60556', '815', '41.758348', '-88.778348', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66752, 'Chicago', 2794, '60605', '312', '41.864665', '-87.619992', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66753, 'Chicago', 2794, '60606', '312', '41.882934', '-87.636843', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66754, 'Chicago', 2794, '60623', '773', '41.847829', '-87.717394', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66755, 'Bedford Park', 2794, '60638', '773', '41.787007', '-87.771665', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66756, 'Chicago', 2794, '60638', '773', '41.787007', '-87.771665', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66757, 'Clearing', 2794, '60638', '773', '41.787007', '-87.771665', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66758, 'Forest View', 2794, '60638', '773', '41.787007', '-87.771665', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66759, 'Stickney', 2794, '60638', '773', '41.787007', '-87.771665', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66760, 'Chicago', 2794, '60655', '773', '41.695339', '-87.710159', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66761, 'Rolling Mdws', 2794, '60008', '847', '42.076153', '-88.027941', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66762, 'Rolling Meadows', 2794, '60008', '847', '42.076153', '-88.027941', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66763, 'Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66764, 'Barrington Hills', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66765, 'Deer Park', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66766, 'Fox River Valley Gardens', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66767, 'Fox Rv Vly Gn', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66768, 'Hoffman Est', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66769, 'Hoffman Estates', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66770, 'Inverness', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66771, 'Kildeer', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66772, 'Lake Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66773, 'Lake Barrington Shores', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66774, 'Lk Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66775, 'N Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66776, 'North Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66777, 'Port Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:09', '2018-11-29 05:11:09'),\n(66778, 'Pt Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66779, 'S Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66780, 'South Barrington', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66781, 'Timber Lake', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66782, 'Tower Lakes', 2794, '60010', '847', '42.158511', '-88.157046', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66783, 'Glenview', 2794, '60026', '847', '42.092638', '-87.839872', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66784, 'Chemung', 2794, '60033', '815', '42.403997', '-88.595493', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66785, 'Harvard', 2794, '60033', '815', '42.403997', '-88.595493', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66786, 'Highland Park', 2794, '60035', '847', '42.189747', '-87.805944', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66787, 'Highwood', 2794, '60040', '847', '42.206236', '-87.813874', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66788, 'Beach Park', 2794, '60099', '847', '42.454209', '-87.874854', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66789, 'Zion', 2794, '60099', '847', '42.454209', '-87.874854', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66790, 'Addison', 2794, '60101', '630', '41.930898', '-88.01399', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66791, 'Bloomingdale', 2794, '60108', '630', '41.949846', '-88.096034', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66792, 'Campton Hills', 2794, '60124', '224', '42.042966', '-88.412258', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66793, 'Elgin', 2794, '60124', '224', '42.042966', '-88.412258', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66794, 'Plato Center', 2794, '60124', '224', '42.042966', '-88.412258', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66795, 'Elmhurst', 2794, '60126', '630', '41.889737', '-87.942348', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66796, 'Bartlett', 2794, '60133', '630', '41.976527', '-88.146054', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66797, 'Hanover Park', 2794, '60133', '630', '41.976527', '-88.146054', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66798, 'Huntley', 2794, '60142', '847', '42.175852', '-88.448772', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66799, 'Carol Stream', 2794, '60199', '630', '41.9175', '-88.0976', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66800, 'North Suburban', 2794, '60199', '630', '41.9175', '-88.0976', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66801, 'Evanston', 2794, '60201', '847', '42.056292', '-87.701609', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66802, 'Oak Park', 2794, '60301', '708', '41.888644', '-87.798224', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66803, 'Bensenville', 2794, '60399', '630', '41.9552', '-87.9401', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66804, 'Inktel Marketing', 2794, '60399', '630', '41.9552', '-87.9401', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66805, 'Wood Dale', 2794, '60399', '630', '41.9552', '-87.9401', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66806, 'Beecher', 2794, '60401', '708', '41.349614', '-87.617309', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66807, 'Eagle Lake', 2794, '60401', '708', '41.349614', '-87.617309', '2018-11-29 05:11:10', '2018-11-29 05:11:10'),\n(66808, 'Goodenow', 2794, '60401', '708', '41.349614', '-87.617309', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66809, 'Sollitt', 2794, '60401', '708', '41.349614', '-87.617309', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66810, 'Crest Hill', 2794, '60403', '815', '41.56964', '-88.112957', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66811, 'Joliet', 2794, '60403', '815', '41.56964', '-88.112957', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66812, 'Dixmoor', 2794, '60426', '708', '41.609265', '-87.658042', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66813, 'Harvey', 2794, '60426', '708', '41.609265', '-87.658042', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66814, 'Markham', 2794, '60426', '708', '41.609265', '-87.658042', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66815, 'Arlington Heights', 2794, '60005', '847', '42.058437', '-87.983562', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66816, 'Arlington Hts', 2794, '60005', '847', '42.058437', '-87.983562', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66817, 'Arlington Heights', 2794, '60006', '847', '42.0886', '-87.9809', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66818, 'Arlington Hts', 2794, '60006', '847', '42.0886', '-87.9809', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66819, 'Glencoe', 2794, '60022', '847', '42.135717', '-87.76602', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66820, 'Palatine', 2794, '60038', '847', '42.1106', '-88.0342', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66821, 'Ww Grainger Inc', 2794, '60038', '847', '42.1106', '-88.0342', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66822, 'Crystal Lake', 2794, '60039', '815', '42.2411', '-88.3161', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66823, 'Beach Park', 2794, '60087', '847', '42.408214', '-87.867207', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66824, 'Waukegan', 2794, '60087', '847', '42.408214', '-87.867207', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66825, 'Bartlett', 2794, '60103', '630', '41.976392', '-88.20809', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66826, 'Cloverdale', 2794, '60103', '630', '41.976392', '-88.20809', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66827, 'Ontarioville', 2794, '60103', '630', '41.976392', '-88.20809', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66828, 'Bellwood', 2794, '60104', '708', '41.881479', '-87.878725', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66829, 'Campton Hills', 2794, '60119', '630', '41.869811', '-88.490088', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66830, 'Elburn', 2794, '60119', '630', '41.869811', '-88.490088', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66831, 'Elgin', 2794, '60123', '847', '42.034952', '-88.312028', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66832, 'Gilberts', 2794, '60136', '847', '42.104636', '-88.391216', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66833, 'Glen Ellyn', 2794, '60137', '630', '41.862764', '-88.05827', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66834, 'Glendale Heights', 2794, '60137', '630', '41.862764', '-88.05827', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66835, 'Glendale Hts', 2794, '60137', '630', '41.862764', '-88.05827', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66836, 'Glen Ellyn', 2794, '60138', '630', '41.8778', '-88.0667', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66837, 'Glendale Heights', 2794, '60139', '630', '41.919506', '-88.07458', '2018-11-29 05:11:11', '2018-11-29 05:11:11'),\n(66838, 'Glendale Hts', 2794, '60139', '630', '41.919506', '-88.07458', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66839, 'Plato Center', 2794, '60170', '847', '42.0267', '-88.4302', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66840, 'Keeneyville', 2794, '60172', '630', '41.975436', '-88.098551', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66841, 'Roselle', 2794, '60172', '630', '41.975436', '-88.098551', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66842, 'Wheaton', 2794, '60187', '630', '41.853144', '-88.122942', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66843, 'Evanston', 2794, '60203', '847', '42.048052', '-87.718318', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66844, 'Evanston', 2794, '60204', '847', '42.0412', '-87.6903', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66845, 'Chicago', 2794, '60290', '773', '41.85', '-87.65', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66846, 'Jt Weeker Isc', 2794, '60290', '773', '41.85', '-87.65', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66847, 'River Forest', 2794, '60305', '708', '41.89396', '-87.81977', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66848, 'Braceville', 2794, '60407', '815', '41.234098', '-88.269686', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66849, 'Godley', 2794, '60407', '815', '41.234098', '-88.269686', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66850, 'Dwight', 2794, '60420', '815', '41.095372', '-88.407705', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66851, 'Elwood', 2794, '60421', '815', '41.422956', '-88.08317', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66852, 'Kinsman', 2794, '60437', '815', '41.159134', '-88.557875', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66853, 'Bolingbrook', 2794, '60440', '630', '41.69814', '-88.07749', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66854, 'Bedford Park', 2794, '60455', '708', '41.737012', '-87.804852', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66855, 'Bridgeview', 2794, '60455', '708', '41.737012', '-87.804852', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66856, 'Oak Lawn', 2794, '60455', '708', '41.737012', '-87.804852', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66857, 'Ransom', 2794, '60470', '815', '41.172984', '-88.664016', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66858, 'Richton Park', 2794, '60471', '708', '41.475719', '-87.72628', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66859, 'Robbins', 2794, '60472', '708', '41.64208', '-87.707608', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66860, 'South Holland', 2794, '60473', '708', '41.600208', '-87.599437', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66861, 'Orland Hills', 2794, '60487', '708', '41.565198', '-87.830812', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66862, 'Tinley Park', 2794, '60487', '708', '41.565198', '-87.830812', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66863, 'Aurora', 2794, '60506', '630', '41.768516', '-88.376714', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66864, 'Batavia', 2794, '60539', '630', '41.827762', '-88.336087', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66865, 'Mooseheart', 2794, '60539', '630', '41.827762', '-88.336087', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66866, 'Chicago', 2794, '60604', '312', '41.877116', '-87.624727', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66867, 'Chicago', 2794, '60607', '312', '41.874472', '-87.650064', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66868, 'Chicago', 2794, '60622', '773', '41.903625', '-87.675881', '2018-11-29 05:11:12', '2018-11-29 05:11:12'),\n(66869, 'Chicago', 2794, '60639', '773', '41.920394', '-87.755987', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66870, 'Cragin', 2794, '60639', '773', '41.920394', '-87.755987', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66871, 'Chicago', 2794, '60654', '312', '41.888066', '-87.635438', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66872, 'Merchandise Mart', 2794, '60654', '312', '41.888066', '-87.635438', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66873, 'Chicago', 2794, '60656', '773', '41.967726', '-87.824848', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66874, 'Harwood Heights', 2794, '60656', '773', '41.967726', '-87.824848', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66875, 'Harwood Hts', 2794, '60656', '773', '41.967726', '-87.824848', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66876, 'Norridge', 2794, '60656', '773', '41.967726', '-87.824848', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66877, 'Bank Of America', 2794, '60674', '312', '41.8852', '-87.6503', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66878, 'Chicago', 2794, '60674', '312', '41.8852', '-87.6503', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66879, 'Chicago', 2794, '60688', '773', '41.8501', '-87.65', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66880, 'Jt Weeker Isc', 2794, '60688', '773', '41.8501', '-87.65', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66881, 'Chicago', 2794, '60691', '773', '41.8501', '-87.65', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66882, 'Chicago', 2794, '60707', '708', '41.923202', '-87.809188', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66883, 'Bull Valley', 2794, '60012', '815', '42.277066', '-88.30547', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66884, 'Crystal Lake', 2794, '60012', '815', '42.277066', '-88.30547', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66885, 'Prairie Grove', 2794, '60012', '815', '42.277066', '-88.30547', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66886, 'Ridgefield', 2794, '60012', '815', '42.277066', '-88.30547', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66887, 'Cary', 2794, '60013', '847', '42.225542', '-88.231746', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66888, 'Oakwood Hills', 2794, '60013', '847', '42.225542', '-88.231746', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66889, 'Trout Valley', 2794, '60013', '847', '42.225542', '-88.231746', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66890, 'Green Oaks', 2794, '60044', '847', '42.289506', '-87.869862', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66891, 'Knollwood', 2794, '60044', '847', '42.289506', '-87.869862', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66892, 'Lake Bluff', 2794, '60044', '847', '42.289506', '-87.869862', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66893, 'Chesney Shores', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66894, 'Fox Lake Hills', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66895, 'Lake Villa', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66896, 'Lindenhurst', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66897, 'Old Mill Creek', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66898, 'Old Mill Crk', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:13', '2018-11-29 05:11:13'),\n(66899, 'Venetian Village', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66900, 'West Miltmore', 2794, '60046', '847', '42.404356', '-88.063129', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66901, 'Northbrook', 2794, '60062', '847', '42.119974', '-87.840922', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66902, 'Palatine', 2794, '60078', '847', '42.1106', '-88.0342', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66903, 'Waukegan', 2794, '60079', '847', '42.3639', '-87.8447', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66904, 'Palatine', 2794, '60095', '224', '42.1353', '-88.0332', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66905, 'Winthrop Harbor', 2794, '60096', '847', '42.478778', '-87.830418', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66906, 'Winthrop Hbr', 2794, '60096', '847', '42.478778', '-87.830418', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66907, 'Bull Valley', 2794, '60098', '815', '42.322091', '-88.467115', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66908, 'Greenwood', 2794, '60098', '815', '42.322091', '-88.467115', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66909, 'Woodstock', 2794, '60098', '815', '42.322091', '-88.467115', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66910, 'Creston', 2794, '60113', '815', '41.931949', '-88.964987', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66911, 'Esmond', 2794, '60129', '815', '42.032821', '-88.950323', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66912, 'Kaneville', 2794, '60144', '630', '41.8355', '-88.5219', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66913, 'Melrose Park', 2794, '60161', '708', '41.9008', '-87.8564', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66914, 'Berkeley', 2794, '60163', '708', '41.88659', '-87.908099', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66915, 'Orion', 2794, '61273', '309', '41.356247', '-90.411055', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66916, 'Sunny Hill', 2794, '61273', '309', '41.356247', '-90.411055', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66917, 'Sunny Hill Estates', 2794, '61273', '309', '41.356247', '-90.411055', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66918, 'Warner', 2794, '61273', '309', '41.356247', '-90.411055', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66919, 'Western', 2794, '61273', '309', '41.356247', '-90.411055', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66920, 'Osco', 2794, '61274', '309', '41.375476', '-90.260908', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66921, 'Farm Ridge', 2794, '61325', '815', '41.237158', '-88.812964', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66922, 'Grand Ridge', 2794, '61325', '815', '41.237158', '-88.812964', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66923, 'Mark', 2794, '61340', '815', '41.265894', '-89.252821', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66924, 'Mendota', 2794, '61342', '815', '41.55605', '-89.073831', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66925, 'Meriden', 2794, '61342', '815', '41.55605', '-89.073831', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66926, 'Rutland', 2794, '61358', '815', '40.984558', '-89.018161', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66927, 'North Utica', 2794, '61373', '815', '41.395402', '-89.007544', '2018-11-29 05:11:14', '2018-11-29 05:11:14'),\n(66928, 'Utica', 2794, '61373', '815', '41.395402', '-89.007544', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66929, 'Varna', 2794, '61375', '309', '41.025447', '-89.248827', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66930, 'Castleton', 2794, '61426', '309', '41.119616', '-89.705919', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66931, 'Bernadotte', 2794, '61441', '309', '40.340799', '-90.280921', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66932, 'Ipava', 2794, '61441', '309', '40.340799', '-90.280921', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66933, 'Kewanee', 2794, '61443', '309', '41.257062', '-89.962967', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66934, 'Blandinsville', 2794, '61475', '309', '40.582936', '-90.741167', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66935, 'Sciota', 2794, '61475', '309', '40.582936', '-90.741167', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66936, 'Nekoma', 2794, '61490', '309', '41.194422', '-90.262403', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66937, 'Woodhull', 2794, '61490', '309', '41.194422', '-90.262403', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66938, 'Chillicothe', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66939, 'Edgewater Terrace', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66940, 'Galena Knolls', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66941, 'Holmes Center', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66942, 'North Hampton', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66943, 'Renchville', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66944, 'Rome Heights', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66945, 'South Rome', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66946, 'Vets Row', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66947, 'Vonachen Knolls', 2794, '61523', '309', '40.904774', '-89.529064', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66948, 'Dunlap', 2794, '61525', '309', '40.842358', '-89.66475', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66949, 'Lake Of The Woods', 2794, '61525', '309', '40.842358', '-89.66475', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66950, 'Lacon', 2794, '61540', '309', '41.012547', '-89.384009', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66951, 'Lewistown', 2794, '61542', '309', '40.375446', '-90.118004', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66952, 'Little America', 2794, '61542', '309', '40.375446', '-90.118004', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66953, 'Monica', 2794, '61559', '309', '40.897892', '-89.786105', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66954, 'Princeville', 2794, '61559', '309', '40.897892', '-89.786105', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66955, 'Bradley Univ', 2794, '61625', '309', '40.698069', '-89.616055', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66956, 'Peoria', 2794, '61625', '309', '40.698069', '-89.616055', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66957, 'Peoria', 2794, '61643', '309', '40.6937', '-89.5887', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66958, 'Peoria Journal Star', 2794, '61643', '309', '40.6937', '-89.5887', '2018-11-29 05:11:15', '2018-11-29 05:11:15'),\n(66959, 'Bloomington', 2794, '61709', '309', '40.4845', '-88.9939', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66960, 'State Farm Ins Il Region Ofc', 2794, '61709', '309', '40.4845', '-88.9939', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66961, 'Bellflower', 2794, '61724', '309', '40.335984', '-88.526876', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66962, 'Glen Avon', 2794, '61724', '309', '40.335984', '-88.526876', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66963, 'Kumler', 2794, '61724', '309', '40.335984', '-88.526876', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66964, 'Carlock', 2794, '61725', '309', '40.6193', '-89.105864', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66965, 'Goodfield', 2794, '61742', '309', '40.618207', '-89.256108', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66966, 'Gridley', 2794, '61744', '309', '40.710006', '-88.900016', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66967, 'Waldo', 2794, '61744', '309', '40.710006', '-88.900016', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66968, 'Allin', 2794, '61774', '309', '40.424481', '-89.208657', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66969, 'Stanford', 2794, '61774', '309', '40.424481', '-89.208657', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66970, 'Allerton', 2794, '61810', '217', '39.92369', '-87.909108', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66971, 'Champaign', 2794, '61826', '217', '40.1165', '-88.2434', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66972, 'Fairmount', 2794, '61841', '217', '40.023874', '-87.833492', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66973, 'Fisher', 2794, '61843', '217', '40.318211', '-88.375243', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66974, 'Fithian', 2794, '61844', '217', '40.151384', '-87.872226', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66975, 'Ogden', 2794, '61859', '217', '40.157892', '-87.974737', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66976, 'Sidell', 2794, '61876', '217', '39.924376', '-87.83113', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66977, 'Arthur', 2794, '61911', '217', '39.681254', '-88.464685', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66978, 'Cadwell', 2794, '61911', '217', '39.681254', '-88.464685', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66979, 'Chesterville', 2794, '61911', '217', '39.681254', '-88.464685', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66980, 'Dalton City', 2794, '61925', '217', '39.729308', '-88.811024', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66981, 'Benld', 2794, '62009', '217', '39.09356', '-89.798932', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66982, 'Dunlap Lake', 2794, '62025', '618', '38.85513', '-89.948168', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66983, 'Edwardsville', 2794, '62025', '618', '38.85513', '-89.948168', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66984, 'Holiday Shores', 2794, '62025', '618', '38.85513', '-89.948168', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66985, 'Eldred', 2794, '62027', '217', '39.286778', '-90.534212', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66986, 'Woodville', 2794, '62027', '217', '39.286778', '-90.534212', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66987, 'Fayette', 2794, '62044', '217', '39.36981', '-90.189251', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66988, 'Greenfield', 2794, '62044', '217', '39.36981', '-90.189251', '2018-11-29 05:11:16', '2018-11-29 05:11:16'),\n(66989, 'Brooklyn', 2794, '62059', '618', '38.653399', '-90.170263', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66990, 'Lovejoy', 2794, '62059', '618', '38.653399', '-90.170263', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66991, 'Stites', 2794, '62059', '618', '38.653399', '-90.170263', '2018-11-29 05:11:17', '2018-11-29 05:11:17');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(66992, 'Marine', 2794, '62061', '618', '38.786202', '-89.794306', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66993, 'Ohlman', 2794, '62076', '217', '39.3452', '-89.2187', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66994, 'Witt', 2794, '62094', '217', '39.231908', '-89.356636', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66995, 'Belleville', 2794, '62226', '618', '38.519558', '-89.994195', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66996, 'Swansea', 2794, '62226', '618', '38.519558', '-89.994195', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66997, 'Germantown', 2794, '62245', '618', '38.560668', '-89.575681', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66998, 'Modoc', 2794, '62261', '618', '38.019421', '-90.000202', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(66999, 'Pr Du Rocher', 2794, '62261', '618', '38.019421', '-90.000202', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67000, 'Prairie Du Rocher', 2794, '62261', '618', '38.019421', '-90.000202', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67001, 'Baden Baden', 2794, '62275', '618', '38.811412', '-89.548218', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67002, 'Jamestown', 2794, '62275', '618', '38.811412', '-89.548218', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67003, 'Millersburg', 2794, '62275', '618', '38.811412', '-89.548218', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67004, 'Old Ripley', 2794, '62275', '618', '38.811412', '-89.548218', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67005, 'Pocahontas', 2794, '62275', '618', '38.811412', '-89.548218', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67006, 'Troy', 2794, '62294', '618', '38.702961', '-89.878857', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67007, 'Fountain', 2794, '62295', '618', '38.26746', '-90.31481', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67008, 'Harrisonville', 2794, '62295', '618', '38.26746', '-90.31481', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67009, 'Merrimac', 2794, '62295', '618', '38.26746', '-90.31481', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67010, 'Valmeyer', 2794, '62295', '618', '38.26746', '-90.31481', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67011, 'Colchester', 2794, '62326', '309', '40.402634', '-90.811194', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67012, 'Fandon', 2794, '62326', '309', '40.402634', '-90.811194', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67013, 'Huntsville', 2794, '62344', '217', '40.149104', '-90.854136', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67014, 'Kinderhook', 2794, '62345', '217', '39.651581', '-91.207088', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67015, 'Pearl', 2794, '62361', '217', '39.430313', '-90.640475', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67016, 'Marcelline', 2794, '62376', '217', '40.111673', '-91.414822', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67017, 'Leaf River', 2794, '61047', '815', '42.164474', '-89.40003', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67018, 'Lena', 2794, '61048', '815', '42.393288', '-89.824078', '2018-11-29 05:11:17', '2018-11-29 05:11:17'),\n(67019, 'Waddams Grove', 2794, '61048', '815', '42.393288', '-89.824078', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67020, 'Mc Connell', 2794, '61050', '815', '42.424118', '-89.738612', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67021, 'Mcconnell', 2794, '61050', '815', '42.424118', '-89.738612', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67022, 'Beloit', 2794, '61080', '815', '42.476952', '-89.008696', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67023, 'South Beloit', 2794, '61080', '815', '42.476952', '-89.008696', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67024, 'Stillman Valley', 2794, '61084', '815', '42.1205', '-89.185954', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67025, 'Stillman Vly', 2794, '61084', '815', '42.1205', '-89.185954', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67026, 'Rockford', 2794, '61114', '815', '42.308048', '-88.986835', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67027, 'Rock Island', 2794, '61201', '309', '41.470144', '-90.571246', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67028, 'Aledo', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67029, 'Hamlet', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67030, 'Mercer', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67031, 'Ohio Grove', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67032, 'Old Gilchrist', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67033, 'Shale City', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67034, 'Sunbeam', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67035, 'Wanlock', 2794, '61231', '309', '41.198282', '-90.722354', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67036, 'Andalusia', 2794, '61232', '309', '41.4321', '-90.715666', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67037, 'Annawan', 2794, '61234', '309', '41.408809', '-89.929093', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67038, 'Erie', 2794, '61250', '309', '41.660738', '-90.085662', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67039, 'Fenton', 2794, '61251', '815', '41.728982', '-90.064393', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67040, 'Milan', 2794, '61264', '309', '41.399046', '-90.596641', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67041, 'Oak Grove', 2794, '61264', '309', '41.399046', '-90.596641', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67042, 'Silvis', 2794, '61282', '309', '41.497463', '-90.409302', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67043, 'Hahnaman', 2794, '61283', '815', '41.589796', '-89.774464', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67044, 'Tampico', 2794, '61283', '815', '41.589796', '-89.774464', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67045, 'Thomas', 2794, '61283', '815', '41.589796', '-89.774464', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67046, 'Taylor Ridge', 2794, '61284', '309', '41.39883', '-90.746878', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67047, 'Rock Island', 2794, '61299', '309', '41.5095', '-90.5786', '2018-11-29 05:11:18', '2018-11-29 05:11:18'),\n(67048, 'Rock Island Arsonal', 2794, '61299', '309', '41.5095', '-90.5786', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67049, 'Compton', 2794, '61318', '815', '41.715315', '-89.091428', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67050, 'The Burg', 2794, '61318', '815', '41.715315', '-89.091428', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67051, 'Leonore', 2794, '61332', '815', '41.18967', '-88.982465', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67052, 'Long Point', 2794, '61333', '815', '40.97997', '-88.873233', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67053, 'Jonesville', 2794, '61348', '815', '41.274954', '-89.038278', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67054, 'Oglesby', 2794, '61348', '815', '41.274954', '-89.038278', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67055, 'Piety Hill', 2794, '61348', '815', '41.274954', '-89.038278', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67056, 'Sublette', 2794, '61367', '815', '41.632272', '-89.274278', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67057, 'Berwick', 2794, '61417', '309', '40.769852', '-90.52943', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67058, 'Biggsville', 2794, '61418', '309', '40.850763', '-90.845825', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67059, 'Fairview', 2794, '61432', '309', '40.654532', '-90.157701', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67060, 'Joshua', 2794, '61432', '309', '40.654532', '-90.157701', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67061, 'Fiatt', 2794, '61433', '309', '40.625946', '-90.186996', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67062, 'La Fayette', 2794, '61449', '309', '41.105698', '-89.955322', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67063, 'Table Grove', 2794, '61482', '309', '40.405012', '-90.419233', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67064, 'Field Shopping Center', 2794, '61550', '309', '40.607227', '-89.424421', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67065, 'Mayfair', 2794, '61550', '309', '40.607227', '-89.424421', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67066, 'Morton', 2794, '61550', '309', '40.607227', '-89.424421', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67067, 'Ossami Lake', 2794, '61550', '309', '40.607227', '-89.424421', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67068, 'Il Mutual Life & Casualty', 2794, '61634', '309', '40.6937', '-89.5887', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67069, 'Peoria', 2794, '61634', '309', '40.6937', '-89.5887', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67070, 'Peoria', 2794, '61650', '309', '40.6937', '-89.5887', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67071, 'Barnes', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67072, 'Bloomington', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67073, 'Bloomington Heights', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67074, 'Bloomington Normal Airport', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67075, 'Eastland Commons', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67076, 'Eastland Shopping Center', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:19', '2018-11-29 05:11:19'),\n(67077, 'Fletcher', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67078, 'Gillum', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67079, 'Kerrik', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67080, 'Oldtown', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67081, 'Yuton', 2794, '61701', '309', '40.473388', '-88.991822', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67082, 'Eylar', 2794, '61769', '815', '40.87714', '-88.412663', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67083, 'Saunemin', 2794, '61769', '815', '40.87714', '-88.412663', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67084, 'Scovel', 2794, '61769', '815', '40.87714', '-88.412663', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67085, 'Bloomington', 2794, '61799', '309', '40.4842', '-88.9939', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67086, 'Internal Revenue Service', 2794, '61799', '309', '40.4842', '-88.9939', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67087, 'Urbana', 2794, '61801', '217', '40.109312', '-88.211906', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67088, 'Cerro Gordo', 2794, '61818', '217', '39.884615', '-88.723882', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67089, 'Ivesdale', 2794, '61851', '217', '39.954966', '-88.425216', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67090, 'Belgium', 2794, '61883', '217', '40.04663', '-87.637559', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67091, 'Westville', 2794, '61883', '217', '40.04663', '-87.637559', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67092, 'White Heath', 2794, '61884', '217', '40.091054', '-88.485654', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67093, 'Brocton', 2794, '61917', '217', '39.687814', '-87.939841', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67094, 'Tuscola', 2794, '61953', '217', '39.798256', '-88.282916', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67095, 'Alhambra', 2794, '62001', '618', '38.881021', '-89.739585', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67096, 'Kaufman', 2794, '62001', '618', '38.881021', '-89.739585', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67097, 'Coffeen', 2794, '62017', '217', '39.075877', '-89.392976', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67098, 'East Fork', 2794, '62017', '217', '39.075877', '-89.392976', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67099, 'Donnellson', 2794, '62019', '217', '39.013088', '-89.458419', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67100, 'Glen Carbon', 2794, '62034', '618', '38.756532', '-89.957127', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67101, 'Godfrey', 2794, '62035', '618', '38.961382', '-90.2313', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67102, 'Irving', 2794, '62051', '217', '39.217142', '-89.404756', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67103, 'Kampsville', 2794, '62053', '618', '39.33106', '-90.645624', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67104, 'Rosamond', 2794, '62083', '217', '39.369516', '-89.195269', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67105, 'E Saint Louis', 2794, '62201', '618', '38.631246', '-90.126625', '2018-11-29 05:11:20', '2018-11-29 05:11:20'),\n(67106, 'E St Louis', 2794, '62201', '618', '38.631246', '-90.126625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67107, 'East Saint Louis', 2794, '62201', '618', '38.631246', '-90.126625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67108, 'East St Louis', 2794, '62201', '618', '38.631246', '-90.126625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67109, 'Fairmont City', 2794, '62201', '618', '38.631246', '-90.126625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67110, 'Sauget', 2794, '62201', '618', '38.631246', '-90.126625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67111, 'Centreville', 2794, '62203', '618', '38.594327', '-90.075652', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67112, 'E Saint Louis', 2794, '62203', '618', '38.594327', '-90.075652', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67113, 'E St Louis', 2794, '62203', '618', '38.594327', '-90.075652', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67114, 'East Saint Louis', 2794, '62203', '618', '38.594327', '-90.075652', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67115, 'Baldwin', 2794, '62217', '618', '38.17516', '-89.833195', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67116, 'Bartelso', 2794, '62218', '618', '38.517536', '-89.474973', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67117, 'Santa Fe', 2794, '62218', '618', '38.517536', '-89.474973', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67118, 'Smithshire', 2794, '61478', '309', '40.749908', '-90.740952', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67119, 'Williamsfield', 2794, '61489', '309', '40.941714', '-90.032949', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67120, 'Bryant', 2794, '61519', '309', '40.47057', '-90.058587', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67121, 'Henry', 2794, '61537', '309', '41.098094', '-89.44625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67122, 'Saratoga Center', 2794, '61537', '309', '41.098094', '-89.44625', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67123, 'London Mills', 2794, '61544', '309', '40.688236', '-90.238934', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67124, 'Rapatee', 2794, '61544', '309', '40.688236', '-90.238934', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67125, 'Norris', 2794, '61553', '309', '40.6259', '-90.0317', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67126, 'Beverly Manor', 2794, '61571', '309', '40.695618', '-89.434327', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67127, 'Washington', 2794, '61571', '309', '40.695618', '-89.434327', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67128, 'Peoria', 2794, '61603', '309', '40.710474', '-89.570493', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67129, 'Peoria', 2794, '61605', '309', '40.67815', '-89.634955', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67130, 'Peoria', 2794, '61653', '309', '40.6937', '-89.5887', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67131, 'Armington', 2794, '61721', '309', '40.361297', '-89.321582', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67132, 'Burt', 2794, '61721', '309', '40.361297', '-89.321582', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67133, 'Hittle', 2794, '61721', '309', '40.361297', '-89.321582', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67134, 'Atlanta', 2794, '61723', '217', '40.25543', '-89.257322', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67135, 'Avoca', 2794, '61739', '815', '40.724842', '-88.532612', '2018-11-29 05:11:21', '2018-11-29 05:11:21'),\n(67136, 'Champlin', 2794, '61739', '815', '40.724842', '-88.532612', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67137, 'Fairbury', 2794, '61739', '815', '40.724842', '-88.532612', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67138, 'Hilltop', 2794, '61753', '309', '40.612973', '-88.80403', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67139, 'Lexington', 2794, '61753', '309', '40.612973', '-88.80403', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67140, 'Money Creek', 2794, '61753', '309', '40.612973', '-88.80403', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67141, 'Secor', 2794, '61771', '309', '40.710391', '-89.116549', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67142, 'Tabor', 2794, '61778', '217', '40.253508', '-89.091058', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67143, 'Waynesville', 2794, '61778', '217', '40.253508', '-89.091058', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67144, 'Champaign', 2794, '61821', '217', '40.112069', '-88.27799', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67145, 'Georgetown', 2794, '61846', '217', '39.97841', '-87.621848', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67146, 'Henning', 2794, '61848', '217', '40.307142', '-87.712463', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67147, 'Royal', 2794, '61871', '217', '40.190178', '-87.975434', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67148, 'Lake City', 2794, '61937', '217', '39.721852', '-88.672598', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67149, 'Lovington', 2794, '61937', '217', '39.721852', '-88.672598', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67150, 'Windsor', 2794, '61957', '217', '39.433129', '-88.590201', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67151, 'Bunker Hill', 2794, '62014', '618', '39.049581', '-89.951501', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67152, 'Woodburn', 2794, '62014', '618', '39.049581', '-89.951501', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67153, 'Dorsey', 2794, '62021', '618', '38.981897', '-89.977118', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67154, 'Eagarville', 2794, '62023', '217', '39.109834', '-89.783737', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67155, 'Fidelity', 2794, '62030', '618', '39.128483', '-90.156282', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67156, 'Hamel', 2794, '62046', '618', '38.894509', '-89.843514', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67157, 'Hartford', 2794, '62048', '618', '38.825435', '-90.088177', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67158, 'Maryville', 2794, '62062', '618', '38.725739', '-89.965984', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67159, 'Bayle', 2794, '62080', '618', '39.11539', '-89.097564', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67160, 'Ramsey', 2794, '62080', '618', '39.11539', '-89.097564', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67161, 'Vera', 2794, '62080', '618', '39.11539', '-89.097564', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67162, 'South Roxana', 2794, '62087', '618', '38.819596', '-90.058492', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67163, 'Alorton', 2794, '62207', '618', '38.583538', '-90.128381', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67164, 'Centreville', 2794, '62207', '618', '38.583538', '-90.128381', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67165, 'E Saint Louis', 2794, '62207', '618', '38.583538', '-90.128381', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67166, 'East Saint Louis', 2794, '62207', '618', '38.583538', '-90.128381', '2018-11-29 05:11:22', '2018-11-29 05:11:22'),\n(67167, 'Addieville', 2794, '62214', '618', '38.381732', '-89.590754', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67168, 'Venedy', 2794, '62214', '618', '38.381732', '-89.590754', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67169, 'Aviston', 2794, '62216', '618', '38.599301', '-89.605681', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67170, 'Breese', 2794, '62230', '618', '38.65021', '-89.528601', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67171, 'Saint Rose', 2794, '62230', '618', '38.65021', '-89.528601', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67172, 'Dupo', 2794, '62239', '618', '38.519754', '-90.182126', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67173, 'Ellis Grove', 2794, '62241', '618', '38.01143', '-89.890529', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67174, 'Ellisgrove', 2794, '62241', '618', '38.01143', '-89.890529', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67175, 'Darmstadt', 2794, '62255', '618', '38.309434', '-89.766912', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67176, 'Lenzburg', 2794, '62255', '618', '38.309434', '-89.766912', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67177, 'Pierron', 2794, '62273', '618', '38.779754', '-89.596848', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67178, 'Saint Libory', 2794, '62282', '618', '38.3625', '-89.7099', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67179, 'Summerfield', 2794, '62289', '618', '38.596057', '-89.751244', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67180, 'Burksville', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67181, 'Floraville', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67182, 'Foster Pond', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67183, 'Lou Del', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67184, 'Madonnaville', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67185, 'Monroe City', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67186, 'New Hanover', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67187, 'Paderborn', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67188, 'Saint Joe', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67189, 'St Joe', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67190, 'Tipton', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67191, 'Wartburg', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67192, 'Waterloo', 2794, '62298', '618', '38.307453', '-90.154724', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67193, 'Bowen', 2794, '62316', '217', '40.238555', '-91.050345', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67194, 'Chambersburg', 2794, '62323', '217', '39.795608', '-90.624856', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67195, 'Adrian', 2794, '62330', '217', '40.562223', '-91.125454', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67196, 'Burnside', 2794, '62330', '217', '40.562223', '-91.125454', '2018-11-29 05:11:23', '2018-11-29 05:11:23'),\n(67197, 'Dallas City', 2794, '62330', '217', '40.562223', '-91.125454', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67198, 'Pilot Grove', 2794, '62330', '217', '40.562223', '-91.125454', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67199, 'Pontoosuc', 2794, '62330', '217', '40.562223', '-91.125454', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67200, 'Hamilton', 2794, '62341', '217', '40.422275', '-91.336238', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67201, 'La Prairie', 2794, '62346', '217', '40.164247', '-90.970412', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67202, 'Lima', 2794, '62348', '217', '40.163335', '-91.464794', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67203, 'Nebo', 2794, '62355', '217', '39.39733', '-90.811457', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67204, 'New Salem', 2794, '62357', '217', '39.698541', '-90.857976', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67205, 'Beecher City', 2794, '62414', '618', '39.183672', '-88.847704', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67206, 'Wrights Corner', 2794, '62414', '618', '39.183672', '-88.847704', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67207, 'Albright', 2794, '62441', '217', '39.372667', '-87.703308', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67208, 'Clark Center', 2794, '62441', '217', '39.372667', '-87.703308', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67209, 'Clarksville', 2794, '62441', '217', '39.372667', '-87.703308', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67210, 'Marshall', 2794, '62441', '217', '39.372667', '-87.703308', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67211, 'Oliver', 2794, '62441', '217', '39.372667', '-87.703308', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67212, 'Watson', 2794, '62473', '217', '39.033246', '-88.608343', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67213, 'Hunt', 2794, '62480', '618', '38.970578', '-88.011643', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67214, 'Hunt City', 2794, '62480', '618', '38.970578', '-88.011643', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67215, 'Willow Hill', 2794, '62480', '618', '38.970578', '-88.011643', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67216, 'Elwin', 2794, '62532', '217', '39.752923', '-88.987808', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67217, 'Moweaqua', 2794, '62550', '217', '39.610418', '-88.974237', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67218, 'Radford', 2794, '62550', '217', '39.610418', '-88.974237', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67219, 'Owaneco', 2794, '62555', '217', '39.465664', '-89.217552', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67220, 'Heman', 2794, '62573', '217', '39.955043', '-89.06885', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67221, 'Manlius', 2794, '61338', '815', '41.453784', '-89.665826', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67222, 'Adair', 2794, '61411', '309', '40.394702', '-90.505107', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67223, 'Blandinsville', 2794, '61420', '309', '40.549862', '-90.839224', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67224, 'Bushnell', 2794, '61422', '309', '40.545702', '-90.532857', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67225, 'Kirkwood', 2794, '61447', '309', '40.860656', '-90.730205', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67226, 'Rozetta', 2794, '61447', '309', '40.860656', '-90.730205', '2018-11-29 05:11:24', '2018-11-29 05:11:24'),\n(67227, 'Tompkins', 2794, '61447', '309', '40.860656', '-90.730205', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67228, 'Doddsville', 2794, '61452', '309', '40.234376', '-90.621489', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67229, 'Littleton', 2794, '61452', '309', '40.234376', '-90.621489', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67230, 'Prairie City', 2794, '61470', '309', '40.607262', '-90.502801', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67231, 'Walnut Grove', 2794, '61470', '309', '40.607262', '-90.502801', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67232, 'Rio', 2794, '61472', '309', '41.096812', '-90.381282', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67233, 'Viola', 2794, '61486', '309', '41.198657', '-90.575378', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67234, 'Wataga', 2794, '61488', '309', '41.022584', '-90.314653', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67235, 'Banner', 2794, '61520', '309', '40.544014', '-90.048938', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67236, 'Breeds', 2794, '61520', '309', '40.544014', '-90.048938', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67237, 'Brereton', 2794, '61520', '309', '40.544014', '-90.048938', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67238, 'Canton', 2794, '61520', '309', '40.544014', '-90.048938', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67239, 'Monterey', 2794, '61520', '309', '40.544014', '-90.048938', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67240, 'Hanna City', 2794, '61536', '309', '40.683194', '-89.793496', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67241, 'Smithville', 2794, '61536', '309', '40.683194', '-89.793496', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67242, 'Lake Camelot', 2794, '61547', '309', '40.601548', '-89.74571', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67243, 'Lake Lancelot', 2794, '61547', '309', '40.601548', '-89.74571', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67244, 'Mapleton', 2794, '61547', '309', '40.601548', '-89.74571', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67245, 'Caterpillar Inc', 2794, '61629', '309', '40.6937', '-89.5887', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67246, 'Peoria', 2794, '61629', '309', '40.6937', '-89.5887', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67247, 'Methodist Hosp', 2794, '61636', '309', '40.6937', '-89.5887', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67248, 'Peoria', 2794, '61636', '309', '40.6937', '-89.5887', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67249, 'Peoria', 2794, '61654', '309', '40.6937', '-89.5887', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67250, 'Peoria', 2794, '61656', '309', '40.6937', '-89.5887', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67251, 'Blm', 2794, '61704', '309', '40.465677', '-88.979163', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67252, 'Bloomington', 2794, '61704', '309', '40.465677', '-88.979163', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67253, 'Covell', 2794, '61704', '309', '40.465677', '-88.979163', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67254, 'Arrowsmith', 2794, '61722', '309', '40.391208', '-88.631562', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67255, 'Sabina', 2794, '61722', '309', '40.391208', '-88.631562', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67256, 'West', 2794, '61722', '309', '40.391208', '-88.631562', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67257, 'Maroa', 2794, '61756', '217', '40.008256', '-88.954059', '2018-11-29 05:11:25', '2018-11-29 05:11:25'),\n(67258, 'College Hills Mall', 2794, '61761', '309', '40.535104', '-88.934452', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67259, 'Merna', 2794, '61761', '309', '40.535104', '-88.934452', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67260, 'Normal', 2794, '61761', '309', '40.535104', '-88.934452', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67261, 'Il State University', 2794, '61790', '309', '40.52451', '-89.009336', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67262, 'Normal', 2794, '61790', '309', '40.52451', '-89.009336', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67263, 'Gifford', 2794, '61847', '217', '40.312868', '-88.032642', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67264, 'Mansfield', 2794, '61854', '217', '40.193573', '-88.545548', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67265, 'Sadorus', 2794, '61872', '217', '39.9452', '-88.364382', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67266, 'Hammond', 2794, '61929', '217', '39.823889', '-88.590591', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67267, 'Pierson Sta', 2794, '61929', '217', '39.823889', '-88.590591', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67268, 'Pierson Station', 2794, '61929', '217', '39.823889', '-88.590591', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67269, 'Villa Grove', 2794, '61956', '217', '39.854338', '-88.136608', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67270, 'Butler', 2794, '62015', '217', '39.210176', '-89.541746', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67271, 'Granite City', 2794, '62040', '618', '38.732317', '-90.106957', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67272, 'Mitchell', 2794, '62040', '618', '38.732317', '-90.106957', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67273, 'Pontoon Beach', 2794, '62040', '618', '38.732317', '-90.106957', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67274, 'Hardin', 2794, '62047', '618', '39.126046', '-90.619435', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67275, 'New Douglas', 2794, '62074', '217', '38.95488', '-89.688126', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67276, 'Staunton', 2794, '62088', '618', '39.016386', '-89.797713', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67277, 'Williamson', 2794, '62088', '618', '39.016386', '-89.797713', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67278, 'E Saint Louis', 2794, '62204', '618', '38.631174', '-90.095002', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67279, 'East Saint Louis', 2794, '62204', '618', '38.631174', '-90.095002', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67280, 'Washington Pk', 2794, '62204', '618', '38.631174', '-90.095002', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67281, 'Cahokia', 2794, '62206', '618', '38.573069', '-90.163714', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67282, 'E Saint Louis', 2794, '62206', '618', '38.573069', '-90.163714', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67283, 'East Saint Louis', 2794, '62206', '618', '38.573069', '-90.163714', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67284, 'Sauget', 2794, '62206', '618', '38.573069', '-90.163714', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67285, 'Albers', 2794, '62215', '618', '38.510346', '-89.60065', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67286, 'Damiansville', 2794, '62215', '618', '38.510346', '-89.60065', '2018-11-29 05:11:26', '2018-11-29 05:11:26'),\n(67287, 'Cutler', 2794, '62238', '618', '38.050135', '-89.517996', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67288, 'E Carondelet', 2794, '62240', '618', '38.528787', '-90.204702', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67289, 'East Carondelet', 2794, '62240', '618', '38.528787', '-90.204702', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67290, 'Imbs', 2794, '62240', '618', '38.528787', '-90.204702', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67291, 'Grantfork', 2794, '62249', '618', '38.764768', '-89.657682', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67292, 'Highland', 2794, '62249', '618', '38.764768', '-89.657682', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67293, 'Maeystown', 2794, '62256', '618', '38.2459', '-90.2047', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67294, 'Percy', 2794, '62272', '618', '37.992583', '-89.621168', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67295, 'Conant', 2794, '62274', '618', '38.083018', '-89.39959', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67296, 'Pinckneyville', 2794, '62274', '618', '38.083018', '-89.39959', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67297, 'Saint Jacob', 2794, '62281', '618', '38.708873', '-89.791702', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67298, 'Steeleville', 2794, '62288', '618', '37.987794', '-89.691981', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67299, 'Welge', 2794, '62288', '618', '37.987794', '-89.691981', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67300, 'Wine Hill', 2794, '62288', '618', '37.987794', '-89.691981', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67301, 'Walsh', 2794, '62297', '618', '38.051382', '-89.816462', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67302, 'Quincy', 2794, '62306', '217', '39.9359', '-91.4098', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67303, 'Basco', 2794, '62313', '217', '40.313486', '-91.208267', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67304, 'New Canton', 2794, '62356', '217', '39.624284', '-91.087137', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67305, 'Niota', 2794, '62358', '217', '40.586964', '-91.255354', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67306, 'Plainville', 2794, '62365', '217', '39.801318', '-91.150175', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67307, 'Richfield', 2794, '62365', '217', '39.801318', '-91.150175', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67308, 'Tennessee', 2794, '62374', '309', '40.401674', '-90.94845', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67309, 'Bowling Green', 2794, '62422', '217', '39.211428', '-88.915604', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67310, 'Cowden', 2794, '62422', '217', '39.211428', '-88.915604', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67311, 'Janesville', 2794, '62440', '217', '39.403582', '-88.251238', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67312, 'Lerna', 2794, '62440', '217', '39.403582', '-88.251238', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67313, 'Island Grove', 2794, '62467', '217', '39.139304', '-88.460907', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67314, 'St Francis', 2794, '62467', '217', '39.139304', '-88.460907', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67315, 'Teutopolis', 2794, '62467', '217', '39.139304', '-88.460907', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67316, 'Buffalo', 2794, '62515', '217', '39.84574', '-89.3926', '2018-11-29 05:11:27', '2018-11-29 05:11:27'),\n(67317, 'Buffalo Hart', 2794, '62515', '217', '39.84574', '-89.3926', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67318, 'Lanesville', 2794, '62515', '217', '39.84574', '-89.3926', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67319, 'Kincaid', 2794, '62540', '217', '39.587647', '-89.406352', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67320, 'Hervey City', 2794, '62549', '217', '39.77295', '-88.861594', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67321, 'Mount Zion', 2794, '62549', '217', '39.77295', '-88.861594', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67322, 'Mt Zion', 2794, '62549', '217', '39.77295', '-88.861594', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67323, 'Hillside', 2794, '60163', '708', '41.88659', '-87.908099', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67324, 'Melrose Park', 2794, '60163', '708', '41.88659', '-87.908099', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67325, 'Oakbrook Ter', 2794, '60181', '630', '41.87868', '-87.973514', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67326, 'Oakbrook Terrace', 2794, '60181', '630', '41.87868', '-87.973514', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67327, 'Villa Park', 2794, '60181', '630', '41.87868', '-87.973514', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67328, 'Chicago Ridge', 2794, '60415', '708', '41.704947', '-87.778808', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67329, 'Homewood', 2794, '60430', '708', '41.556139', '-87.666417', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67330, 'Mokena', 2794, '60448', '708', '41.53279', '-87.889373', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67331, 'Palos Heights', 2794, '60463', '708', '41.655896', '-87.789002', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67332, 'Willow Spgs', 2794, '60480', '708', '41.719617', '-87.88075', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67333, 'Willow Springs', 2794, '60480', '708', '41.719617', '-87.88075', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67334, 'Ballou', 2794, '60481', '815', '41.297813', '-88.078303', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67335, 'Custer Park', 2794, '60481', '815', '41.297813', '-88.078303', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67336, 'Lorenzo', 2794, '60481', '815', '41.297813', '-88.078303', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67337, 'Ritchie', 2794, '60481', '815', '41.297813', '-88.078303', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67338, 'Symerton', 2794, '60481', '815', '41.297813', '-88.078303', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67339, 'Wilmington', 2794, '60481', '815', '41.297813', '-88.078303', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67340, 'Worth', 2794, '60482', '708', '41.688488', '-87.79456', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67341, 'Bedford Park', 2794, '60499', '773', '41.7516', '-87.7305', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67342, 'Bedford Pk', 2794, '60499', '773', '41.7516', '-87.7305', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67343, 'South Suburban', 2794, '60499', '773', '41.7516', '-87.7305', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67344, 'South Suburbn', 2794, '60499', '773', '41.7516', '-87.7305', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67345, 'Bristol', 2794, '60512', '630', '41.698407', '-88.429046', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67346, 'Baker', 2794, '60531', '815', '41.612842', '-88.777274', '2018-11-29 05:11:28', '2018-11-29 05:11:28'),\n(67347, 'Leland', 2794, '60531', '815', '41.612842', '-88.777274', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67348, 'Sandwich', 2794, '60548', '815', '41.63579', '-88.640859', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67349, 'Naperville', 2794, '60563', '630', '41.799902', '-88.170949', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67350, 'Naperville', 2794, '60565', '630', '41.726899', '-88.112509', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67351, 'Chicago', 2794, '60614', '773', '41.922065', '-87.649316', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67352, 'Lincoln Park', 2794, '60614', '773', '41.922065', '-87.649316', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67353, 'Chicago', 2794, '60629', '773', '41.774432', '-87.712733', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67354, 'Chicago Lawn', 2794, '60629', '773', '41.774432', '-87.712733', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67355, 'Chicago', 2794, '60646', '773', '41.999753', '-87.758472', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67356, 'Lincolnwood', 2794, '60646', '773', '41.999753', '-87.758472', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67357, 'Bank Of America', 2794, '60697', '773', '41.8501', '-87.65', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67358, 'Chicago', 2794, '60697', '773', '41.8501', '-87.65', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67359, 'Chicago', 2794, '60699', '773', '41.8501', '-87.65', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67360, 'Usps District Chicago', 2794, '60699', '773', '41.8501', '-87.65', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67361, 'Bradley', 2794, '60915', '815', '41.149183', '-87.864128', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67362, 'Danforth', 2794, '60930', '815', '40.825112', '-88.005951', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67363, 'East Lynn', 2794, '60932', '217', '40.457654', '-87.799972', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67364, 'Loda', 2794, '60948', '217', '40.516336', '-88.045392', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67365, 'Manteno', 2794, '60950', '815', '41.250476', '-87.886424', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67366, 'Rossville', 2794, '60963', '217', '40.34318', '-87.691931', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67367, 'Chana', 2794, '61015', '815', '41.997485', '-89.213565', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67368, 'Honey Creek', 2794, '61015', '815', '41.997485', '-89.213565', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67369, 'Paynes Point', 2794, '61015', '815', '41.997485', '-89.213565', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67370, 'Freeport', 2794, '61032', '815', '42.323588', '-89.631286', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67371, 'Scioto Mills', 2794, '61032', '815', '42.323588', '-89.631286', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67372, 'Lindenwood', 2794, '61049', '815', '42.035788', '-88.999164', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67373, 'Brookville', 2794, '61064', '815', '41.989591', '-89.578114', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67374, 'Polo', 2794, '61064', '815', '41.989591', '-89.578114', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67375, 'Stratford', 2794, '61064', '815', '41.989591', '-89.578114', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67376, 'Blaine', 2794, '61065', '815', '42.392477', '-88.830006', '2018-11-29 05:11:29', '2018-11-29 05:11:29'),\n(67377, 'Candlewick Lake', 2794, '61065', '815', '42.392477', '-88.830006', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67378, 'Poplar Grove', 2794, '61065', '815', '42.392477', '-88.830006', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67379, 'Coleta', 2794, '61081', '815', '41.824412', '-89.73257', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67380, 'Sterling', 2794, '61081', '815', '41.824412', '-89.73257', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67381, 'Loves Park', 2794, '61131', '815', '42.3203', '-89.0584', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67382, 'Moline', 2794, '61265', '309', '41.483067', '-90.484822', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67383, 'Quad City Airport', 2794, '61265', '309', '41.483067', '-90.484822', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67384, 'Moline', 2794, '61266', '309', '41.5067', '-90.5152', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67385, 'Boden', 2794, '61281', '309', '41.29531', '-90.513078', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67386, 'Cable', 2794, '61281', '309', '41.29531', '-90.513078', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67387, 'Richland Grove', 2794, '61281', '309', '41.29531', '-90.513078', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67388, 'Sherrard', 2794, '61281', '309', '41.29531', '-90.513078', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67389, 'Bureau', 2794, '61315', '815', '41.298939', '-89.374094', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67390, 'Bureau Junction', 2794, '61315', '815', '41.298939', '-89.374094', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67391, 'Cedar Point', 2794, '61316', '815', '41.257869', '-89.121506', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67392, 'Cherry', 2794, '61317', '815', '41.432094', '-89.209966', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67393, 'Lee Center', 2794, '61331', '815', '41.746035', '-89.276834', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67394, 'Lostant', 2794, '61334', '815', '41.14818', '-89.08592', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67395, 'Mount Palatine', 2794, '61334', '815', '41.14818', '-89.08592', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67396, 'Bardolph', 2794, '61416', '309', '40.499915', '-90.55934', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67397, 'Ellisville', 2794, '61431', '309', '40.590769', '-90.282924', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67398, 'Galva', 2794, '61434', '309', '41.217394', '-90.013487', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67399, 'La Crosse', 2794, '61450', '217', '40.556895', '-90.997305', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67400, 'La Harpe', 2794, '61450', '217', '40.556895', '-90.997305', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67401, 'Elmore', 2794, '61451', '309', '40.945519', '-89.927642', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67402, 'Laura', 2794, '61451', '309', '40.945519', '-89.927642', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67403, 'Oneida', 2794, '61467', '309', '41.064858', '-90.245365', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67404, 'Vermont', 2794, '61484', '309', '40.316207', '-90.435226', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67405, 'Victoria', 2794, '61485', '309', '40.997574', '-90.08486', '2018-11-29 05:11:30', '2018-11-29 05:11:30'),\n(67406, 'Astoria', 2794, '61501', '309', '40.240556', '-90.306926', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67407, 'Summum', 2794, '61501', '309', '40.240556', '-90.306926', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67408, 'Benson', 2794, '61516', '309', '40.842096', '-89.117314', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67409, 'Brimfield', 2794, '61517', '309', '40.814614', '-89.860062', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67410, 'Southport', 2794, '61517', '309', '40.814614', '-89.860062', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67411, 'Glasford', 2794, '61533', '309', '40.579652', '-89.840697', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67412, 'Green Valley', 2794, '61534', '309', '40.399828', '-89.651158', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67413, 'Mossville', 2794, '61552', '309', '40.820252', '-89.567532', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67414, 'Hopewell', 2794, '61565', '309', '41.024392', '-89.52383', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67415, 'Hopewell Estates', 2794, '61565', '309', '41.024392', '-89.52383', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67416, 'Sparland', 2794, '61565', '309', '41.024392', '-89.52383', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67417, 'Allentown', 2794, '61568', '309', '40.496658', '-89.490456', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67418, 'Dillon', 2794, '61568', '309', '40.496658', '-89.490456', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67419, 'Tremont', 2794, '61568', '309', '40.496658', '-89.490456', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67420, 'Peoria', 2794, '61602', '309', '40.682814', '-89.605432', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67421, 'Peoria', 2794, '61616', '309', '40.744422', '-89.570884', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67422, 'Peoria Heights', 2794, '61616', '309', '40.744422', '-89.570884', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67423, 'Peoria Hts', 2794, '61616', '309', '40.744422', '-89.570884', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67424, 'Great Central Ins Co', 2794, '61633', '309', '40.6937', '-89.5887', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67425, 'Peoria', 2794, '61633', '309', '40.6937', '-89.5887', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67426, 'Peoria', 2794, '61651', '309', '40.6937', '-89.5887', '2018-11-29 05:11:31', '2018-11-29 05:11:31');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(67427, 'Deer Creek', 2794, '61733', '309', '40.616584', '-89.307028', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67428, 'Kenney', 2794, '61749', '217', '40.093594', '-89.096444', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67429, 'Tunbridge', 2794, '61749', '217', '40.093594', '-89.096444', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67430, 'Le Roy', 2794, '61752', '309', '40.355142', '-88.756402', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67431, 'Leroy', 2794, '61752', '309', '40.355142', '-88.756402', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67432, 'Catlin', 2794, '61817', '217', '40.0348', '-87.716926', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67433, 'Central Park', 2794, '61832', '217', '40.13627', '-87.64478', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67434, 'Danville', 2794, '61832', '217', '40.13627', '-87.64478', '2018-11-29 05:11:31', '2018-11-29 05:11:31'),\n(67435, 'Hegeler', 2794, '61832', '217', '40.13627', '-87.64478', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67436, 'Tilton', 2794, '61832', '217', '40.13627', '-87.64478', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67437, 'Rantoul', 2794, '61866', '217', '40.312048', '-88.155743', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67438, 'La Place', 2794, '61936', '217', '39.803082', '-88.727145', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67439, 'Dorchester', 2794, '62033', '217', '39.159666', '-89.84675', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67440, 'East Gillespie', 2794, '62033', '217', '39.159666', '-89.84675', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67441, 'Gillespie', 2794, '62033', '217', '39.159666', '-89.84675', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67442, 'Mount Clare', 2794, '62033', '217', '39.159666', '-89.84675', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67443, 'Hillview', 2794, '62050', '217', '39.477828', '-90.531674', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67444, 'Moro', 2794, '62067', '618', '38.932644', '-89.990069', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67445, 'Roxana', 2794, '62084', '618', '38.8447', '-90.062498', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67446, 'Reno', 2794, '62086', '217', '38.966457', '-89.577954', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67447, 'Sorento', 2794, '62086', '217', '38.966457', '-89.577954', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67448, 'E Saint Louis', 2794, '62202', '618', '38.6246', '-90.1505', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67449, 'East Saint Louis', 2794, '62202', '618', '38.6246', '-90.1505', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67450, 'East St Louis', 2794, '62202', '618', '38.6246', '-90.1505', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67451, 'Beckemeyer', 2794, '62219', '618', '38.605632', '-89.435006', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67452, 'Columbia', 2794, '62236', '618', '38.445936', '-90.212035', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67453, 'Hoffman', 2794, '62250', '618', '38.541232', '-89.26364', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67454, 'Clement', 2794, '62252', '618', '38.6036', '-89.2916', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67455, 'Huey', 2794, '62252', '618', '38.6036', '-89.2916', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67456, 'Belleville', 2794, '62269', '618', '38.6042', '-89.90107', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67457, 'O Fallon', 2794, '62269', '618', '38.6042', '-89.90107', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67458, 'Shiloh', 2794, '62269', '618', '38.6042', '-89.90107', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67459, 'Smithton', 2794, '62285', '618', '38.388428', '-90.00493', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67460, 'Ferris', 2794, '62336', '217', '40.467527', '-91.170915', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67461, 'Nauvoo', 2794, '62354', '217', '40.538468', '-91.328341', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67462, 'Blue Point', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67463, 'Boggsville', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67464, 'Douglas', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:32', '2018-11-29 05:11:32'),\n(67465, 'Effingham', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67466, 'Funkhouser', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67467, 'Green Creek', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67468, 'Heartville', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67469, 'Lake Sara', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67470, 'Lillyville', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67471, 'Northmore Heights', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67472, 'Park Hills', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67473, 'Saint Marys', 2794, '62401', '217', '39.10813', '-88.5797', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67474, 'Brownstown', 2794, '62418', '618', '39.005062', '-88.947234', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67475, 'Confidence', 2794, '62418', '618', '39.005062', '-88.947234', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67476, 'Otego', 2794, '62418', '618', '39.005062', '-88.947234', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67477, 'Casey', 2794, '62420', '217', '39.298032', '-87.992442', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67478, 'Claremont', 2794, '62421', '618', '38.754282', '-87.958037', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67479, 'German', 2794, '62421', '618', '38.754282', '-87.958037', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67480, 'Janesville', 2794, '62435', '217', '39.3743', '-88.2438', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67481, 'Lamotte', 2794, '62451', '618', '39.000136', '-87.598465', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67482, 'Palestine', 2794, '62451', '618', '39.000136', '-87.598465', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67483, 'Parkersburg', 2794, '62452', '618', '38.592037', '-88.006738', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67484, 'Duncanville', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67485, 'Eaton', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67486, 'Gordons', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67487, 'Hardinville', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67488, 'New Hebron', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67489, 'Robinson', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67490, 'Trimble', 2794, '62454', '618', '38.98083', '-87.743523', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67491, 'Bradbury', 2794, '62468', '217', '39.273349', '-88.275019', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67492, 'Cottonwood', 2794, '62468', '217', '39.273349', '-88.275019', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67493, 'Cumberland', 2794, '62468', '217', '39.273349', '-88.275019', '2018-11-29 05:11:33', '2018-11-29 05:11:33'),\n(67494, 'Sumpter', 2794, '62468', '217', '39.273349', '-88.275019', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67495, 'Toledo', 2794, '62468', '217', '39.273349', '-88.275019', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67496, 'Chestnut', 2794, '62518', '217', '40.057104', '-89.198976', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67497, 'Kilbourne', 2794, '62655', '309', '40.158564', '-89.994329', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67498, 'Murrayville', 2794, '62668', '217', '39.567481', '-90.230296', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67499, 'Nortonville', 2794, '62668', '217', '39.567481', '-90.230296', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67500, 'Bates', 2794, '62670', '217', '39.744721', '-89.866206', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67501, 'Berlin', 2794, '62670', '217', '39.744721', '-89.866206', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67502, 'Curran', 2794, '62670', '217', '39.744721', '-89.866206', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67503, 'New Berlin', 2794, '62670', '217', '39.744721', '-89.866206', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67504, 'Old Berlin', 2794, '62670', '217', '39.744721', '-89.866206', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67505, 'Tallula', 2794, '62688', '217', '39.956134', '-89.877744', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67506, 'Springfield', 2794, '62701', '217', '39.800002', '-89.650312', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67507, 'Grandview', 2794, '62702', '217', '39.836156', '-89.654216', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67508, 'Springfield', 2794, '62702', '217', '39.836156', '-89.654216', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67509, 'Jerome', 2794, '62704', '217', '39.771921', '-89.686047', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67510, 'Leland Grove', 2794, '62704', '217', '39.771921', '-89.686047', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67511, 'Springfield', 2794, '62704', '217', '39.771921', '-89.686047', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67512, 'Hoyleton', 2794, '62803', '618', '38.45428', '-89.295207', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67513, 'Huegely', 2794, '62803', '618', '38.45428', '-89.295207', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67514, 'Browns', 2794, '62818', '618', '38.381302', '-87.96901', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67515, 'Buckner', 2794, '62819', '618', '37.974872', '-89.007178', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67516, 'Carmi', 2794, '62821', '618', '38.070068', '-88.110654', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67517, 'Dogtown', 2794, '62821', '618', '38.070068', '-88.110654', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67518, 'Epworth', 2794, '62821', '618', '38.070068', '-88.110654', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67519, 'Rising Sun', 2794, '62821', '618', '38.070068', '-88.110654', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67520, 'Enfield', 2794, '62835', '618', '38.104365', '-88.318304', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67521, 'Big Mound', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67522, 'Boyleston', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67523, 'Crestview Terrace', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:11:34', '2018-11-29 05:11:34'),\n(67524, 'Cumberland Heights', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67525, 'Fairfield', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67526, 'Grover', 2794, '62837', '618', '38.362565', '-88.366792', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67527, 'Merrionett Pk', 2794, '60655', '773', '41.695339', '-87.710159', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67528, 'Merrionette Park', 2794, '60655', '773', '41.695339', '-87.710159', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67529, 'Chicago', 2794, '60657', '773', '41.941427', '-87.654458', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67530, 'Graceland', 2794, '60657', '773', '41.941427', '-87.654458', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67531, 'Chicago', 2794, '60689', '312', '41.87', '-87.63', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67532, 'Fifth Third Bank', 2794, '60689', '312', '41.87', '-87.63', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67533, 'Chicago', 2794, '60690', '773', '41.8501', '-87.65', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67534, 'Chicago', 2794, '60706', '708', '41.963717', '-87.816566', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67535, 'Harwood Heights', 2794, '60706', '708', '41.963717', '-87.816566', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67536, 'Harwood Hts', 2794, '60706', '708', '41.963717', '-87.816566', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67537, 'Norridge', 2794, '60706', '708', '41.963717', '-87.816566', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67538, 'Chicago', 2794, '60805', '708', '41.720807', '-87.701778', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67539, 'Evergreen Park', 2794, '60805', '708', '41.720807', '-87.701778', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67540, 'Evergreen Pk', 2794, '60805', '708', '41.720807', '-87.701778', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67541, 'Cissna Park', 2794, '60924', '815', '40.565552', '-87.889103', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67542, 'Goodwine', 2794, '60939', '815', '40.5675', '-87.7845', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67543, 'Grant Park', 2794, '60940', '815', '41.247201', '-87.644184', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67544, 'Onarga', 2794, '60955', '815', '40.70419', '-87.987932', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67545, 'Papineau', 2794, '60956', '815', '40.9693', '-87.7164', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67546, 'Pembroke Township', 2794, '60958', '815', '41.002761', '-87.545816', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67547, 'Pembroke Twp', 2794, '60958', '815', '41.002761', '-87.545816', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67548, 'Baileyville', 2794, '61007', '815', '42.196942', '-89.590548', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67549, 'Belvidere', 2794, '61008', '815', '42.247435', '-88.8365', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67550, 'Nachusa', 2794, '61057', '815', '41.828822', '-89.405104', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67551, 'Rockton', 2794, '61072', '815', '42.437728', '-89.146582', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67552, 'Roscoe', 2794, '61073', '815', '42.420756', '-88.99051', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67553, 'Scales Mound', 2794, '61075', '815', '42.452712', '-90.257697', '2018-11-29 05:11:35', '2018-11-29 05:11:35'),\n(67554, 'Scalesmound', 2794, '61075', '815', '42.452712', '-90.257697', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67555, 'Woosung', 2794, '61091', '815', '41.906096', '-89.542114', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67556, 'Rockford', 2794, '61108', '815', '42.256111', '-88.999178', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67557, 'Carbon Cliff', 2794, '61239', '309', '41.501634', '-90.391185', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67558, 'Cleveland', 2794, '61241', '309', '41.471478', '-90.31694', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67559, 'Colona', 2794, '61241', '309', '41.471478', '-90.31694', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67560, 'Green Rock', 2794, '61241', '309', '41.471478', '-90.31694', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67561, 'Cordova', 2794, '61242', '309', '41.712622', '-90.283174', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67562, 'Hillsdale', 2794, '61257', '309', '41.592854', '-90.23835', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67563, 'Byron Hills', 2794, '61275', '309', '41.592453', '-90.29677', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67564, 'Coe', 2794, '61275', '309', '41.592453', '-90.29677', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67565, 'Mobet Meadows', 2794, '61275', '309', '41.592453', '-90.29677', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67566, 'Port Byron', 2794, '61275', '309', '41.592453', '-90.29677', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67567, 'Preemption', 2794, '61276', '309', '41.298858', '-90.596858', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67568, 'Eldena', 2794, '61324', '815', '41.76942', '-89.411768', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67569, 'Granville', 2794, '61326', '815', '41.264338', '-89.222076', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67570, 'Van Orin', 2794, '61374', '815', '41.546404', '-89.352481', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67571, 'Cameron', 2794, '61423', '309', '40.880101', '-90.508261', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67572, 'Camp Grove', 2794, '61424', '309', '41.069039', '-89.609826', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67573, 'Carman', 2794, '61425', '309', '40.767945', '-91.066972', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67574, 'Carthage Lake', 2794, '61425', '309', '40.767945', '-91.066972', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67575, 'Gulfport', 2794, '61425', '309', '40.767945', '-91.066972', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67576, 'Shokokon', 2794, '61425', '309', '40.767945', '-91.066972', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67577, 'Industry', 2794, '61440', '309', '40.326083', '-90.630818', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67578, 'Hermon', 2794, '61458', '309', '40.782015', '-90.214714', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67579, 'Maquon', 2794, '61458', '309', '40.782015', '-90.214714', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67580, 'Media', 2794, '61460', '309', '40.763144', '-90.846452', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67581, 'Roseville', 2794, '61473', '309', '40.717893', '-90.654416', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67582, 'Swan Creek', 2794, '61473', '309', '40.717893', '-90.654416', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67583, 'Youngstown', 2794, '61473', '309', '40.717893', '-90.654416', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67584, 'Dunfermline', 2794, '61524', '309', '40.480428', '-90.011108', '2018-11-29 05:11:36', '2018-11-29 05:11:36'),\n(67585, 'Bell Plain', 2794, '61541', '309', '40.980657', '-89.244908', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67586, 'La Rose', 2794, '61541', '309', '40.980657', '-89.244908', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67587, 'Liverpool', 2794, '61543', '309', '40.407947', '-89.995487', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67588, 'Lake Thunderbird', 2794, '61560', '815', '41.190879', '-89.422122', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67589, 'Putnam', 2794, '61560', '815', '41.190879', '-89.422122', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67590, '3 State Farm Plaza', 2794, '61710', '309', '40.4845', '-88.9939', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67591, 'Bloomington', 2794, '61710', '309', '40.4845', '-88.9939', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67592, 'Chenoa', 2794, '61726', '815', '40.712608', '-88.698428', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67593, 'Meadows', 2794, '61726', '815', '40.712608', '-88.698428', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67594, 'Weston', 2794, '61726', '815', '40.712608', '-88.698428', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67595, 'Yates', 2794, '61726', '815', '40.712608', '-88.698428', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67596, 'Barnett Township', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67597, 'Birkbeck', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67598, 'Clinton', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67599, 'Clintonia Township', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67600, 'Hallsville', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67601, 'Harp Township', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67602, 'Jenkins', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67603, 'Midland City', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67604, 'Ospur', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67605, 'South Clinton', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67606, 'Texas Township', 2794, '61727', '217', '40.13713', '-88.974491', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67607, 'Forrest', 2794, '61741', '815', '40.75623', '-88.401641', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67608, 'Pleasant Ridge', 2794, '61741', '815', '40.75623', '-88.401641', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67609, 'Wing', 2794, '61741', '815', '40.75623', '-88.401641', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67610, 'Graymont', 2794, '61743', '815', '40.87942', '-88.782503', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67611, 'Merna', 2794, '61758', '309', '40.53081', '-88.840717', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67612, 'Little Mackinaw', 2794, '61759', '309', '40.441139', '-89.322997', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67613, 'Minier', 2794, '61759', '309', '40.441139', '-89.322997', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67614, 'Towanda', 2794, '61776', '309', '40.58436', '-88.885611', '2018-11-29 05:11:37', '2018-11-29 05:11:37'),\n(67615, '3 State Farm Plaza', 2794, '61791', '309', '40.4792', '-88.9876', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67616, 'Bloomington', 2794, '61791', '309', '40.4792', '-88.9876', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67617, 'Oakwood', 2794, '61858', '217', '40.133981', '-87.76146', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67618, 'Seymour', 2794, '61875', '217', '40.102151', '-88.416036', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67619, 'Sidney', 2794, '61877', '217', '39.995386', '-88.085534', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67620, 'Arcola', 2794, '61910', '217', '39.680924', '-88.305068', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67621, 'Gays', 2794, '61928', '217', '39.473127', '-88.554098', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67622, 'Newman', 2794, '61942', '217', '39.792356', '-88.015455', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67623, 'Paris', 2794, '61944', '217', '39.60559', '-87.706418', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67624, 'Bethalto', 2794, '62010', '618', '38.933678', '-90.057447', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67625, 'Fort Russell', 2794, '62010', '618', '38.933678', '-90.057447', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67626, 'Bingham', 2794, '62011', '217', '39.151958', '-89.194904', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67627, 'Chautauqua', 2794, '62028', '618', '38.961522', '-90.330677', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67628, 'Elsah', 2794, '62028', '618', '38.961522', '-90.330677', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67629, 'Elmwood Park', 2794, '60707', '708', '41.923202', '-87.809188', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67630, 'Herscher', 2794, '60941', '815', '41.049584', '-88.077294', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67631, 'Wellington', 2794, '60973', '815', '40.538774', '-87.671048', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67632, 'Durand', 2794, '61024', '815', '42.430364', '-89.287568', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67633, 'East Dubuque', 2794, '61025', '815', '42.464152', '-90.546833', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67634, 'Menominee', 2794, '61025', '815', '42.464152', '-90.546833', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67635, 'German Valley', 2794, '61039', '815', '42.204524', '-89.463986', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67636, 'Hanover', 2794, '61041', '815', '42.272672', '-90.313684', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67637, 'Harmon', 2794, '61042', '815', '41.69162', '-89.55123', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67638, 'Savanna', 2794, '61074', '815', '42.143723', '-90.227178', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67639, 'Savanna Army Depot', 2794, '61074', '815', '42.143723', '-90.227178', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67640, 'Winslow', 2794, '61089', '815', '42.467567', '-89.81468', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67641, 'Rockford', 2794, '61105', '815', '42.2712', '-89.0939', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67642, 'Rockford', 2794, '61106', '815', '42.2712', '-89.0939', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67643, 'Morristown', 2794, '61109', '815', '42.194732', '-89.063558', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67644, 'New Milford', 2794, '61109', '815', '42.194732', '-89.063558', '2018-11-29 05:11:38', '2018-11-29 05:11:38'),\n(67645, 'Rockford', 2794, '61109', '815', '42.194732', '-89.063558', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67646, 'Rockford', 2794, '61125', '815', '42.2712', '-89.0939', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67647, 'Illinois City', 2794, '61259', '309', '41.393462', '-90.925827', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67648, 'Dover', 2794, '61323', '815', '41.43479', '-89.395763', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67649, 'Danway', 2794, '61341', '815', '41.35486', '-88.707421', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67650, 'Marseilles', 2794, '61341', '815', '41.35486', '-88.707421', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67651, 'Coal Hollow', 2794, '61356', '815', '41.353779', '-89.423158', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67652, 'Hollowayville', 2794, '61356', '815', '41.353779', '-89.423158', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67653, 'Princeton', 2794, '61356', '815', '41.353779', '-89.423158', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67654, 'Seatonville', 2794, '61359', '815', '41.372075', '-89.268282', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67655, 'Normandy', 2794, '61376', '815', '41.568771', '-89.599936', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67656, 'Walnut', 2794, '61376', '815', '41.568771', '-89.599936', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67657, 'Keithsburg', 2794, '61442', '309', '41.110439', '-90.931744', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67658, 'Marietta', 2794, '61459', '309', '40.496199', '-90.408292', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67659, 'New Philadelphia', 2794, '61459', '309', '40.496199', '-90.408292', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67660, 'Saint Augustine', 2794, '61474', '309', '40.738482', '-90.390914', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67661, 'St Augustine', 2794, '61474', '309', '40.738482', '-90.390914', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67662, 'Seaton', 2794, '61476', '309', '41.069436', '-90.856341', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67663, 'Modena', 2794, '61491', '309', '41.076985', '-89.782542', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67664, 'Wyoming', 2794, '61491', '309', '41.076985', '-89.782542', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67665, 'Edelstein', 2794, '61526', '309', '40.922785', '-89.62705', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67666, 'Lawn Ridge', 2794, '61526', '309', '40.922785', '-89.62705', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67667, 'West Hallock', 2794, '61526', '309', '40.922785', '-89.62705', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67668, 'Pekin', 2794, '61558', '309', '40.5675', '-89.6406', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67669, 'Pekin Ins Co', 2794, '61558', '309', '40.5675', '-89.6406', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67670, 'Bartonville', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67671, 'Greater Peoria Airport', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67672, 'High Meadows', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67673, 'Hollis', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67674, 'Mardell Manor', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:39', '2018-11-29 05:11:39'),\n(67675, 'Orchard Mines', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67676, 'Peoria', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67677, 'Tuscarora', 2794, '61607', '309', '40.622199', '-89.673918', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67678, 'Creve Coeur', 2794, '61610', '309', '40.643263', '-89.597527', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67679, 'Peoria', 2794, '61610', '309', '40.643263', '-89.597527', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67680, 'Keystone Steel And Wire', 2794, '61641', '309', '40.6937', '-89.5887', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67681, 'Peoria', 2794, '61641', '309', '40.6937', '-89.5887', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67682, 'Minonk', 2794, '61760', '309', '40.869888', '-89.064762', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67683, 'Spires', 2794, '61760', '309', '40.869888', '-89.064762', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67684, 'Woodford', 2794, '61760', '309', '40.869888', '-89.064762', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67685, 'Strawn', 2794, '61775', '815', '40.645348', '-88.39505', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67686, 'Wapella', 2794, '61777', '217', '40.247582', '-88.97588', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67687, 'Alvin', 2794, '61811', '217', '40.300288', '-87.614696', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67688, 'Champaign', 2794, '61824', '217', '40.1165', '-88.2434', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67689, 'Champaign', 2794, '61825', '217', '40.1165', '-88.2434', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67690, 'Farmer City', 2794, '61842', '309', '40.253842', '-88.747238', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67691, 'Savoy', 2794, '61874', '217', '40.05412', '-88.241663', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67692, 'Chrisman', 2794, '61924', '217', '39.790294', '-87.665412', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67693, 'Murdock', 2794, '61941', '217', '39.804344', '-88.077636', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67694, 'Oakland', 2794, '61943', '217', '39.66654', '-88.034984', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67695, 'Edwardsville', 2794, '62026', '618', '38.793699', '-89.998742', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67696, 'Southern Illinois University', 2794, '62026', '618', '38.793699', '-89.998742', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67697, 'Livingston', 2794, '62058', '618', '38.96784', '-89.763914', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67698, 'Grisham', 2794, '62077', '217', '39.031686', '-89.523378', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67699, 'Panama', 2794, '62077', '217', '39.031686', '-89.523378', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67700, 'Walshville', 2794, '62091', '217', '39.051746', '-89.611505', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67701, 'Belltown', 2794, '62092', '217', '39.404224', '-90.442804', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67702, 'Drake', 2794, '62092', '217', '39.404224', '-90.442804', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67703, 'Walkerville', 2794, '62092', '217', '39.404224', '-90.442804', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67704, 'White Hall', 2794, '62092', '217', '39.404224', '-90.442804', '2018-11-29 05:11:40', '2018-11-29 05:11:40'),\n(67705, 'Wilsonville', 2794, '62093', '217', '39.068592', '-89.856534', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67706, 'Scott AFB', 2794, '62225', '618', '38.540668', '-89.85184', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67707, 'Scott Air Force Base', 2794, '62225', '618', '38.540668', '-89.85184', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67708, 'Evansville', 2794, '62242', '618', '38.09921', '-89.942856', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67709, 'Millstadt', 2794, '62260', '618', '38.464312', '-90.105668', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67710, 'Mulberry Grove', 2794, '62262', '618', '38.928877', '-89.25871', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67711, 'Mulberry Grv', 2794, '62262', '618', '38.928877', '-89.25871', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67712, 'Royal Lake Resort', 2794, '62262', '618', '38.928877', '-89.25871', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67713, 'Renault', 2794, '62279', '618', '38.153323', '-90.134082', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67714, 'Tilden', 2794, '62292', '618', '38.21178', '-89.679617', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67715, 'Augusta', 2794, '62311', '217', '40.238758', '-90.968418', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67716, 'Barry', 2794, '62312', '217', '39.697535', '-91.032194', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67717, 'El Dara', 2794, '62312', '217', '39.697535', '-91.032194', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67718, 'Coatsburg', 2794, '62325', '217', '40.04351', '-91.16142', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67719, 'East Hannibal', 2794, '62343', '217', '39.707456', '-91.268674', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67720, 'Hull', 2794, '62343', '217', '39.707456', '-91.268674', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67721, 'Perry', 2794, '62362', '217', '39.796526', '-90.741307', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67722, 'Warsaw', 2794, '62379', '217', '40.29727', '-91.368436', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67723, 'Diona', 2794, '62428', '217', '39.273942', '-88.127128', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67724, 'Greenup', 2794, '62428', '217', '39.273942', '-88.127128', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67725, 'Hazel Dell', 2794, '62428', '217', '39.273942', '-88.127128', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67726, 'Maple Point', 2794, '62428', '217', '39.273942', '-88.127128', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67727, 'Timothy', 2794, '62428', '217', '39.273942', '-88.127128', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67728, 'Union Center', 2794, '62428', '217', '39.273942', '-88.127128', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67729, 'Cleone', 2794, '62442', '217', '39.329173', '-87.861873', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67730, 'Indianhead Pk', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67731, 'La Gran Hghls', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67732, 'La Grange', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67733, 'La Grange Highlands', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:41', '2018-11-29 05:11:41'),\n(67734, 'Lagrange Hlds', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67735, 'Mc Cook', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67736, 'Mccook', 2794, '60525', '708', '41.7787', '-87.855306', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67737, 'Helmar', 2794, '60541', '815', '41.526059', '-88.512006', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67738, 'Lisbon', 2794, '60541', '815', '41.526059', '-88.512006', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67739, 'Nettlecreek', 2794, '60541', '815', '41.526059', '-88.512006', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67740, 'Newark', 2794, '60541', '815', '41.526059', '-88.512006', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67741, 'Oswego', 2794, '60543', '630', '41.664269', '-88.334318', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67742, 'Little Rock', 2794, '60545', '630', '41.663977', '-88.525039', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67743, 'Plano', 2794, '60545', '630', '41.663977', '-88.525039', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67744, 'Somonauk', 2794, '60552', '815', '41.667502', '-88.701622', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67745, 'Plainfield', 2794, '60586', '815', '41.568611', '-88.239197', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67746, 'Chicago', 2794, '60611', '312', '41.8957', '-87.613564', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67747, 'Fort Dearborn', 2794, '60611', '312', '41.8957', '-87.613564', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67748, 'Ontario Street', 2794, '60611', '312', '41.8957', '-87.613564', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67749, 'Chicago', 2794, '60618', '773', '41.946568', '-87.702884', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67750, 'Chicago', 2794, '60620', '773', '41.74037', '-87.653417', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67751, 'Calumet Park', 2794, '60643', '773', '41.689456', '-87.661608', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67752, 'Chicago', 2794, '60643', '773', '41.689456', '-87.661608', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67753, 'Morgan Park', 2794, '60643', '773', '41.689456', '-87.661608', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67754, 'Chicago', 2794, '60645', '773', '42.008442', '-87.695114', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67755, 'Chicago', 2794, '60668', '773', '41.8501', '-87.65', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67756, 'Commonwealth Edison', 2794, '60668', '773', '41.8501', '-87.65', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67757, 'Bank Of America', 2794, '60693', '773', '41.8501', '-87.65', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67758, 'Chicago', 2794, '60693', '773', '41.8501', '-87.65', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67759, 'Cullom', 2794, '60929', '815', '40.879668', '-88.299717', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67760, 'Reddick', 2794, '60961', '815', '41.098936', '-88.227367', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67761, 'Thawville', 2794, '60968', '217', '40.669517', '-88.07499', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67762, 'Watseka', 2794, '60970', '815', '40.78854', '-87.731789', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67763, 'Argyle', 2794, '61011', '815', '42.396292', '-88.928388', '2018-11-29 05:11:42', '2018-11-29 05:11:42'),\n(67764, 'Caledonia', 2794, '61011', '815', '42.396292', '-88.928388', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67765, 'Cedarville', 2794, '61013', '815', '42.373286', '-89.635706', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67766, 'Dakota', 2794, '61018', '815', '42.414396', '-89.557877', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67767, 'Davis Jct', 2794, '61020', '815', '42.110581', '-89.088139', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67768, 'Davis Junction', 2794, '61020', '815', '42.110581', '-89.088139', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67769, 'Galena', 2794, '61036', '815', '42.406858', '-90.409314', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67770, 'Holcomb', 2794, '61043', '815', '42.0649', '-89.0959', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67771, 'Mount Morris', 2794, '61054', '815', '42.051913', '-89.440012', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67772, 'Mt Morris', 2794, '61054', '815', '42.051913', '-89.440012', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67773, 'Seward', 2794, '61077', '815', '42.237413', '-89.357998', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67774, 'Shirland', 2794, '61079', '815', '42.4445', '-89.1977', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67775, 'Rockford', 2794, '61102', '815', '42.217656', '-89.166334', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67776, 'Rockford', 2794, '61104', '815', '42.254126', '-89.082978', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67777, 'Loves Park', 2794, '61111', '815', '42.329882', '-88.99544', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67778, 'Machesney Park', 2794, '61111', '815', '42.329882', '-88.99544', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67779, 'Machesney Pk', 2794, '61111', '815', '42.329882', '-88.99544', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67780, 'Lyndon', 2794, '61261', '815', '41.728645', '-89.921696', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67781, 'New Boston', 2794, '61272', '309', '41.238085', '-91.006183', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67782, 'Marston', 2794, '61279', '309', '41.31371', '-90.743709', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67783, 'Perryton', 2794, '61279', '309', '41.31371', '-90.743709', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67784, 'Reynolds', 2794, '61279', '309', '41.31371', '-90.743709', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67785, 'Ancona', 2794, '61311', '815', '41.042019', '-88.86408', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67786, 'Reading', 2794, '61311', '815', '41.042019', '-88.86408', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67787, 'Blackstone', 2794, '61313', '815', '41.06363', '-88.670955', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67788, 'Sunbury', 2794, '61313', '815', '41.06363', '-88.670955', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67789, 'Dalzell', 2794, '61320', '815', '41.374408', '-89.220943', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67790, 'De Pue', 2794, '61322', '815', '41.302453', '-89.324422', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67791, 'Depue', 2794, '61322', '815', '41.302453', '-89.324422', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67792, 'Depue Junction', 2794, '61322', '815', '41.302453', '-89.324422', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67793, 'Howe', 2794, '61322', '815', '41.302453', '-89.324422', '2018-11-29 05:11:43', '2018-11-29 05:11:43'),\n(67794, 'Ladd', 2794, '61329', '815', '41.381129', '-89.205423', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67795, 'Ladd Junction', 2794, '61329', '815', '41.381129', '-89.205423', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67796, 'Lake Wildwood', 2794, '61336', '815', '41.127064', '-89.260412', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67797, 'Magnolia', 2794, '61336', '815', '41.127064', '-89.260412', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67798, 'Sheffield', 2794, '61361', '815', '41.41628', '-89.72794', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67799, 'Standard', 2794, '61363', '815', '41.25084', '-89.18245', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67800, 'Lowell', 2794, '61370', '815', '41.209396', '-89.050442', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67801, 'Tonica', 2794, '61370', '815', '41.209396', '-89.050442', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67802, 'Vermilionville', 2794, '61370', '815', '41.209396', '-89.050442', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67803, 'Wyanet', 2794, '61379', '815', '41.409095', '-89.569354', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67804, 'Galesburg', 2794, '61402', '309', '40.9478', '-90.3713', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67805, 'Delong', 2794, '61436', '309', '40.866406', '-90.209494', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67806, 'Gilson', 2794, '61436', '309', '40.866406', '-90.209494', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67807, 'Blyton', 2794, '61477', '309', '40.494321', '-90.313406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67808, 'Seville', 2794, '61477', '309', '40.494321', '-90.313406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67809, 'Smithfield', 2794, '61477', '309', '40.494321', '-90.313406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67810, 'Cazenovia', 2794, '61545', '309', '40.878631', '-89.385806', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67811, 'Lowpoint', 2794, '61545', '309', '40.878631', '-89.385806', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67812, 'Marquette Heights', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67813, 'Marquette Hts', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67814, 'Midway', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67815, 'Normandale', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67816, 'North Pekin', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67817, 'Pekin', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67818, 'Pekin Heights', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67819, 'Pekin Mall', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67820, 'Schaeferville', 2794, '61554', '309', '40.547918', '-89.61406', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67821, 'Washburn', 2794, '61570', '309', '40.909944', '-89.295998', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67822, 'Wilbern', 2794, '61570', '309', '40.909944', '-89.295998', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67823, 'Yates City', 2794, '61572', '309', '40.785976', '-90.042964', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67824, 'Bellevue', 2794, '61604', '309', '40.703765', '-89.659258', '2018-11-29 05:11:44', '2018-11-29 05:11:44'),\n(67825, 'Bellview', 2794, '61604', '309', '40.703765', '-89.659258', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67826, 'El Vista', 2794, '61604', '309', '40.703765', '-89.659258', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67827, 'Norwood', 2794, '61604', '309', '40.703765', '-89.659258', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67828, 'Peoria', 2794, '61604', '309', '40.703765', '-89.659258', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67829, 'West Peoria', 2794, '61604', '309', '40.703765', '-89.659258', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67830, 'Northwoods Shop Ctr', 2794, '61613', '309', '40.6937', '-89.5887', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67831, 'Peoria', 2794, '61613', '309', '40.6937', '-89.5887', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67832, 'Anchor', 2794, '61720', '309', '40.529381', '-88.51686', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67833, 'Congerville', 2794, '61729', '309', '40.6415', '-89.19075', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67834, 'Downs', 2794, '61736', '309', '40.370174', '-88.8359', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67835, 'Holder', 2794, '61736', '309', '40.370174', '-88.8359', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67836, 'El Paso', 2794, '61738', '309', '40.751678', '-89.016037', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67837, 'Kappa', 2794, '61738', '309', '40.751678', '-89.016037', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67838, 'Panola', 2794, '61738', '309', '40.751678', '-89.016037', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67839, 'Flanagan', 2794, '61740', '815', '40.886188', '-88.863356', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67840, 'Nebraska Township', 2794, '61740', '815', '40.886188', '-88.863356', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67841, 'Hopedale', 2794, '61747', '309', '40.42571', '-89.421726', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67842, 'Funks Grove', 2794, '61754', '309', '40.340184', '-89.14954', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67843, 'Mc Lean', 2794, '61754', '309', '40.340184', '-89.14954', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67844, 'Mclean', 2794, '61754', '309', '40.340184', '-89.14954', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67845, 'Saybrook', 2794, '61770', '309', '40.427661', '-88.526374', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67846, 'Bement', 2794, '61813', '217', '39.908482', '-88.556078', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67847, 'Bondville', 2794, '61815', '217', '40.110393', '-88.378176', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67848, 'Collison', 2794, '61831', '217', '40.233194', '-87.803661', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67849, 'Dewey', 2794, '61840', '217', '40.306398', '-88.302776', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67850, 'Foosland', 2794, '61845', '217', '40.362152', '-88.384854', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67851, 'Potomac', 2794, '61865', '217', '40.299689', '-87.83248', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67852, 'Atwood', 2794, '61913', '217', '39.823718', '-88.463023', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67853, 'Garrett', 2794, '61913', '217', '39.823718', '-88.463023', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67854, 'Charleston', 2794, '61920', '217', '39.513498', '-88.161754', '2018-11-29 05:11:45', '2018-11-29 05:11:45'),\n(67855, 'Rardin', 2794, '61920', '217', '39.513498', '-88.161754', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67856, 'Humboldt', 2794, '61931', '217', '39.601', '-88.35214', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67857, 'Dow', 2794, '62022', '618', '39.043351', '-90.32089', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67858, 'Michael', 2794, '62065', '618', '39.22874', '-90.631496', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67859, 'Lake Centralia', 2794, '62081', '618', '39.28516', '-90.259556', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67860, 'Rockbridge', 2794, '62081', '618', '39.28516', '-90.259556', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67861, 'Venice', 2794, '62090', '618', '38.670254', '-90.1696', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67862, 'Belleville', 2794, '62222', '618', '38.52', '-89.9838', '2018-11-29 05:11:46', '2018-11-29 05:11:46');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(67863, 'Hagarstown', 2794, '62247', '618', '38.9436', '-89.1683', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67864, 'Lebanon', 2794, '62254', '618', '38.612424', '-89.828872', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67865, 'Fayetteville', 2794, '62258', '618', '38.45486', '-89.77519', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67866, 'Mascoutah', 2794, '62258', '618', '38.45486', '-89.77519', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67867, 'Beaucoup', 2794, '62263', '618', '38.321258', '-89.416429', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67868, 'Nashville', 2794, '62263', '618', '38.321258', '-89.416429', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67869, 'New Minden', 2794, '62263', '618', '38.321258', '-89.416429', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67870, 'Pilot Knob', 2794, '62263', '618', '38.321258', '-89.416429', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67871, 'Todds Mill', 2794, '62263', '618', '38.321258', '-89.416429', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67872, 'New Baden', 2794, '62265', '618', '38.49213', '-89.673206', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67873, 'Fowler', 2794, '62338', '217', '39.987059', '-91.244686', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67874, 'Griggsville', 2794, '62340', '217', '39.708346', '-90.707745', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67875, 'Valley City', 2794, '62340', '217', '39.708346', '-90.707745', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67876, 'Adams', 2794, '62347', '217', '39.864619', '-91.102528', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67877, 'Chestline', 2794, '62347', '217', '39.864619', '-91.102528', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67878, 'Liberty', 2794, '62347', '217', '39.864619', '-91.102528', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67879, 'Bigneck', 2794, '62349', '217', '40.152469', '-91.203512', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67880, 'Loraine', 2794, '62349', '217', '40.152469', '-91.203512', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67881, 'Detroit', 2794, '62363', '217', '39.577191', '-90.749721', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67882, 'Pittsfield', 2794, '62363', '217', '39.577191', '-90.749721', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67883, 'Summer Hill', 2794, '62363', '217', '39.577191', '-90.749721', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67884, 'Time', 2794, '62363', '217', '39.577191', '-90.749721', '2018-11-29 05:11:46', '2018-11-29 05:11:46'),\n(67885, 'Annapolis', 2794, '62413', '618', '39.144209', '-87.834746', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67886, 'Herrick', 2794, '62431', '618', '39.237714', '-88.971538', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67887, 'Lakewood', 2794, '62438', '217', '39.311142', '-88.860598', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67888, 'Kibble', 2794, '62449', '618', '39.013', '-87.907195', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67889, 'Oblong', 2794, '62449', '618', '39.013', '-87.907195', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67890, 'Saint Elmo', 2794, '62458', '618', '39.042494', '-88.862525', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67891, 'St Elmo', 2794, '62458', '618', '39.042494', '-88.862525', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67892, 'Kingman', 2794, '62463', '217', '39.28076', '-88.638308', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67893, 'Stewardson', 2794, '62463', '217', '39.28076', '-88.638308', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67894, 'Herborn', 2794, '62465', '217', '39.389869', '-88.639406', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67895, 'Strasburg', 2794, '62465', '217', '39.389869', '-88.639406', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67896, 'Blue Mound', 2794, '62513', '217', '39.720257', '-89.148554', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67897, 'Bulpitt', 2794, '62517', '217', '39.591912', '-89.42579', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67898, 'Decatur', 2794, '62522', '217', '39.82254', '-89.04903', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67899, 'Edenburg', 2794, '62531', '217', '39.668707', '-89.365103', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67900, 'Edinburg', 2794, '62531', '217', '39.668707', '-89.365103', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67901, 'Mount Auburn', 2794, '62547', '217', '39.777042', '-89.243586', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67902, 'Mt Auburn', 2794, '62547', '217', '39.777042', '-89.243586', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67903, 'Clarksburg', 2794, '62565', '217', '39.401419', '-88.806494', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67904, 'Duvall', 2794, '62565', '217', '39.401419', '-88.806494', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67905, 'Henton', 2794, '62565', '217', '39.401419', '-88.806494', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67906, 'Middlesworth', 2794, '62565', '217', '39.401419', '-88.806494', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67907, 'Shelbyville', 2794, '62565', '217', '39.401419', '-88.806494', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67908, 'Westervelt', 2794, '62565', '217', '39.401419', '-88.806494', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67909, 'Atwater', 2794, '62572', '217', '39.37246', '-89.654576', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67910, 'Waggoner', 2794, '62572', '217', '39.37246', '-89.654576', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67911, 'Girard', 2794, '62640', '217', '39.415699', '-89.813085', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67912, 'Mcvey', 2794, '62640', '217', '39.415699', '-89.813085', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67913, 'Standard City', 2794, '62640', '217', '39.415699', '-89.813085', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67914, 'Greenview', 2794, '62642', '217', '40.087136', '-89.668243', '2018-11-29 05:11:47', '2018-11-29 05:11:47'),\n(67915, 'Hubly', 2794, '62642', '217', '40.087136', '-89.668243', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67916, 'Sweetwater', 2794, '62642', '217', '40.087136', '-89.668243', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67917, 'Nilwood', 2794, '62672', '217', '39.349992', '-89.743902', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67918, 'Scottville', 2794, '62683', '217', '39.499176', '-90.11026', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67919, 'Horace Mann Ins', 2794, '62715', '217', '39.8018', '-89.6436', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67920, 'Springfield', 2794, '62715', '217', '39.8018', '-89.6436', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67921, 'Memorial Med Ctr', 2794, '62781', '217', '39.8018', '-89.6436', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67922, 'Springfield', 2794, '62781', '217', '39.8018', '-89.6436', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67923, 'Central City', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67924, 'Centralia', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67925, 'Cravat', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67926, 'Finney Heights', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67927, 'Raccoon', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67928, 'Suburban Heights', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67929, 'Wamac', 2794, '62801', '618', '38.527198', '-89.153132', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67930, 'Ashley', 2794, '62808', '618', '38.303985', '-89.180958', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67931, 'Bolo', 2794, '62808', '618', '38.303985', '-89.180958', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67932, 'Broughton', 2794, '62817', '618', '37.972796', '-88.485012', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67933, 'Dale', 2794, '62817', '618', '37.972796', '-88.485012', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67934, 'Mayberry', 2794, '62817', '618', '37.972796', '-88.485012', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67935, 'Swansea', 2799, '02777', '508', '41.753177', '-71.2342', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67936, 'Westport Point', 2799, '02791', '508', '41.522', '-71.0751', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67937, 'Westport Pt', 2799, '02791', '508', '41.522', '-71.0751', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67938, 'N Attleboro', 2799, '02762', '508', '42.01475', '-71.333826', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67939, 'Plainville', 2799, '02762', '508', '42.01475', '-71.333826', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67940, 'Taunton', 2799, '02780', '508', '41.909886', '-71.118924', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67941, 'New Bedford', 2799, '02744', '508', '41.609164', '-70.915838', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67942, 'N Attleboro', 2799, '02760', '508', '41.965624', '-71.325271', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67943, 'No Attleboro', 2799, '02760', '508', '41.965624', '-71.325271', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67944, 'North Attleboro', 2799, '02760', '508', '41.965624', '-71.325271', '2018-11-29 05:11:48', '2018-11-29 05:11:48'),\n(67945, 'Rehoboth', 2799, '02769', '508', '41.843192', '-71.244624', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67946, 'New Bedford', 2799, '02746', '508', '41.66298', '-70.944832', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67947, 'Dartmouth', 2799, '02747', '508', '41.652628', '-71.009691', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67948, 'N Dartmouth', 2799, '02747', '508', '41.652628', '-71.009691', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67949, 'North Dartmouth', 2799, '02747', '508', '41.652628', '-71.009691', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67950, 'Berkley', 2799, '02779', '508', '41.825889', '-71.070392', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67951, 'Dartmouth', 2799, '02748', '508', '41.561034', '-70.981043', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67952, 'Nonquitt', 2799, '02748', '508', '41.561034', '-70.981043', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67953, 'Padanaram The Packet', 2799, '02748', '508', '41.561034', '-70.981043', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67954, 'S Dartmouth', 2799, '02748', '508', '41.561034', '-70.981043', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67955, 'South Dartmouth', 2799, '02748', '508', '41.561034', '-70.981043', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67956, 'Attleboro Falls', 2799, '02763', '508', '41.972565', '-71.307299', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67957, 'Attleboro Fls', 2799, '02763', '508', '41.972565', '-71.307299', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67958, 'N Attleboro', 2799, '02763', '508', '41.972565', '-71.307299', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67959, 'North Attleboro', 2799, '02763', '508', '41.972565', '-71.307299', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67960, 'N Dighton', 2799, '02764', '508', '41.855956', '-71.15512', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67961, 'North Dighton', 2799, '02764', '508', '41.855956', '-71.15512', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67962, 'Acushnet', 2799, '02745', '508', '41.712357', '-70.949081', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67963, 'New Bedford', 2799, '02745', '508', '41.712357', '-70.949081', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67964, 'N Attleboro', 2799, '02761', '508', '41.9834', '-71.3336', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67965, 'North Attleboro', 2799, '02761', '508', '41.9834', '-71.3336', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67966, 'Rochester', 2799, '02770', '508', '41.752693', '-70.8466', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67967, 'Horseneck Beach', 2799, '02790', '508', '41.611414', '-71.081786', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67968, 'Westport', 2799, '02790', '508', '41.611414', '-71.081786', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67969, 'Seekonk', 2799, '02771', '508', '41.840137', '-71.318813', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67970, 'New Bedford', 2799, '02742', '508', '41.6363', '-70.9347', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67971, 'Raynham', 2799, '02767', '508', '41.938566', '-71.058468', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67972, 'Chadwicks', 2799, '02783', '508', '41.9058', '-71.1056', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67973, 'Taunton', 2799, '02783', '508', '41.9058', '-71.1056', '2018-11-29 05:11:49', '2018-11-29 05:11:49'),\n(67974, 'Ogunquit', 2801, '03907', '207', '43.25235', '-70.614601', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67975, 'Bowdoinham', 2801, '04008', '207', '44.036698', '-69.859204', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67976, 'Mattawamkeag', 2801, '04459', '207', '45.549788', '-68.319918', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67977, 'Molunkus Twp', 2801, '04459', '207', '45.549788', '-68.319918', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67978, 'Cushing Is', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67979, 'Cushing Island', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67980, 'Diamond Cove', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67981, 'Diamond Is', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67982, 'Diamond Island', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67983, 'Great Diamond Island', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67984, 'Grt Dia Is', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67985, 'Little Diamond Island', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67986, 'Ltle Dia Is', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67987, 'Portland', 2801, '04109', '207', '43.652973', '-70.201619', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67988, 'Auburn', 2801, '04210', '207', '44.0862', '-70.227183', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67989, 'Vienna', 2801, '04360', '207', '44.536683', '-70.002189', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67990, 'Aurora', 2801, '04408', '207', '44.913', '-68.351688', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67991, 'Great Pond', 2801, '04408', '207', '44.913', '-68.351688', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67992, 'Bradley', 2801, '04411', '207', '44.880432', '-68.570351', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67993, 'Brewer', 2801, '04412', '207', '44.781038', '-68.736102', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67994, 'N Bridgton', 2801, '04057', '207', '44.0996', '-70.6997', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67995, 'North Bridgton', 2801, '04057', '207', '44.0996', '-70.6997', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67996, 'N Waterboro', 2801, '04061', '207', '43.63695', '-70.744937', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67997, 'North Waterboro', 2801, '04061', '207', '43.63695', '-70.744937', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67998, 'Pine Point', 2801, '04074', '207', '43.591658', '-70.373274', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(67999, 'Scarborough', 2801, '04074', '207', '43.591658', '-70.373274', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(68000, 'N Shapleigh', 2801, '04076', '207', '43.548807', '-70.844392', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(68001, 'North Shapleigh', 2801, '04076', '207', '43.548807', '-70.844392', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(68002, 'Shapleigh', 2801, '04076', '207', '43.548807', '-70.844392', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(68003, 'East Andover', 2801, '04226', '207', '44.602324', '-70.703188', '2018-11-29 05:11:50', '2018-11-29 05:11:50'),\n(68004, 'E Livermore', 2801, '04228', '207', '44.414399', '-70.138979', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68005, 'East Livermore', 2801, '04228', '207', '44.414399', '-70.138979', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68006, 'Minot', 2801, '04258', '207', '44.14948', '-70.341393', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68007, 'Newry', 2801, '04261', '207', '44.541786', '-70.787954', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68008, 'Upton', 2801, '04261', '207', '44.541786', '-70.787954', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68009, 'Byron', 2801, '04275', '207', '44.74792', '-70.705129', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68010, 'Frye', 2801, '04275', '207', '44.74792', '-70.705129', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68011, 'Roxbury', 2801, '04275', '207', '44.74792', '-70.705129', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68012, 'York', 2801, '03909', '207', '43.164595', '-70.675542', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68013, 'South Casco', 2801, '04077', '207', '43.8731', '-70.5138', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68014, 'Westbrook', 2801, '04092', '207', '43.693678', '-70.355356', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68015, 'Buxton', 2801, '04093', '207', '43.633006', '-70.535064', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68016, 'West Buxton', 2801, '04093', '207', '43.633006', '-70.535064', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68017, 'W Kennebunk', 2801, '04094', '207', '43.4065', '-70.5804', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68018, 'West Kennebunk', 2801, '04094', '207', '43.4065', '-70.5804', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68019, 'Peaks Island', 2801, '04108', '207', '43.669681', '-70.191234', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68020, 'Portland', 2801, '04108', '207', '43.669681', '-70.191234', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68021, 'Bridgton', 2801, '04009', '207', '44.03396', '-70.750882', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68022, 'Brownfield', 2801, '04010', '207', '43.959532', '-70.90829', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68023, 'Burt', 2802, '48417', '989', '43.264049', '-83.944849', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68024, 'Holly', 2802, '48442', '248', '42.78005', '-83.58628', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68025, 'Marlette', 2802, '48453', '989', '43.356445', '-83.002646', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68026, 'Port Sanilac', 2802, '48469', '810', '43.453624', '-82.556422', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68027, 'Flint', 2802, '48501', '810', '43.0125', '-83.6878', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68028, 'Flint', 2802, '48503', '810', '43.011689', '-83.684772', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68029, 'Alger', 2802, '48610', '989', '44.145278', '-84.193857', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68030, 'Comins', 2802, '48619', '989', '44.821518', '-84.009893', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68031, 'Hemlock', 2802, '48626', '989', '43.414854', '-84.220786', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68032, 'Lupton', 2802, '48635', '989', '44.392672', '-83.995067', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68033, 'Wheeler', 2802, '48662', '989', '43.404312', '-84.419414', '2018-11-29 05:11:51', '2018-11-29 05:11:51'),\n(68034, 'Akron', 2802, '48701', '989', '43.588158', '-83.55578', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68035, 'Au Gres', 2802, '48703', '989', '44.058286', '-83.661892', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68036, 'Cass City', 2802, '48726', '989', '43.607796', '-83.210288', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68037, 'Gagetown', 2802, '48735', '989', '43.657136', '-83.276386', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68038, 'Lincoln', 2802, '48742', '989', '44.720906', '-83.43355', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68039, 'Unionville', 2802, '48767', '989', '43.649656', '-83.454048', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68040, 'Alma', 2802, '48801', '989', '43.379082', '-84.657084', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68041, 'Dimondale', 2802, '48821', '517', '42.639923', '-84.651034', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68042, 'Sidney', 2802, '48885', '989', '43.24785', '-85.153076', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68043, 'Winn', 2802, '48896', '989', '43.523378', '-84.90244', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68044, 'Consumers Energy', 2802, '48937', '517', '42.7327', '-84.5558', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68045, 'Lansing', 2802, '48937', '517', '42.7327', '-84.5558', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68046, 'Kalamazoo', 2802, '49001', '269', '42.270525', '-85.560219', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68047, 'Allegan', 2802, '49010', '269', '42.527707', '-85.859144', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68048, 'Burr Oak', 2802, '49030', '269', '41.848746', '-85.32994', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68049, 'Cloverdale', 2802, '49035', '269', '42.5599', '-85.4311', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68050, 'Hickory Corners', 2802, '49060', '269', '42.423514', '-85.396038', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68051, 'Hickory Crnrs', 2802, '49060', '269', '42.423514', '-85.396038', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68052, 'Mattawan', 2802, '49071', '269', '42.244583', '-85.772464', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68053, 'Otsego', 2802, '49078', '269', '42.47605', '-85.725716', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68054, 'Plainwell', 2802, '49080', '269', '42.476828', '-85.576167', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68055, 'Vermontville', 2802, '49096', '517', '42.639983', '-85.000598', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68056, 'New Troy', 2802, '49119', '269', '41.872242', '-86.549236', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68057, 'Edwardsburg', 2802, '49130', '269', '41.784852', '-85.857475', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68058, 'Union', 2802, '49130', '269', '41.784852', '-85.857475', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68059, 'Adrian', 2802, '49221', '517', '41.89354', '-84.061276', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68060, 'Cadmus', 2802, '49221', '517', '41.89354', '-84.061276', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68061, 'Blissfield', 2802, '49228', '517', '41.81319', '-83.863872', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68062, 'Brooklyn', 2802, '49230', '517', '42.093816', '-84.221362', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68063, 'Montgomery', 2802, '49255', '517', '41.792624', '-84.91529', '2018-11-29 05:11:52', '2018-11-29 05:11:52'),\n(68064, 'Onondaga', 2802, '49264', '517', '42.446907', '-84.561054', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68065, 'Weston', 2802, '49289', '517', '41.769925', '-84.099947', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68066, 'Burnips', 2802, '49314', '616', '42.7318', '-85.8397', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68067, 'Pierson', 2802, '49339', '616', '43.337803', '-85.477966', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68068, 'Conklin', 2802, '49403', '616', '43.12984', '-85.854784', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68069, 'Fremont', 2802, '49412', '231', '43.460116', '-85.916412', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68070, 'New Era', 2802, '49446', '231', '43.546483', '-86.393741', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68071, 'Saugatuck', 2802, '49453', '269', '42.660598', '-86.178144', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68072, 'Grand Rapids', 2802, '49530', '616', '42.9634', '-85.6681', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68073, 'Zondervan Corp', 2802, '49530', '616', '42.9634', '-85.6681', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68074, 'Cascade', 2802, '49546', '616', '42.925058', '-85.53913', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68075, 'Cascade Twp', 2802, '49546', '616', '42.925058', '-85.53913', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68076, 'East Grand Rapids', 2802, '49546', '616', '42.925058', '-85.53913', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68077, 'Gr', 2802, '49546', '616', '42.925058', '-85.53913', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68078, 'Grand Rapids', 2802, '49546', '616', '42.925058', '-85.53913', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68079, 'Kentwood', 2802, '49546', '616', '42.925058', '-85.53913', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68080, 'Cutlerville', 2802, '49548', '616', '42.866822', '-85.663344', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68081, 'Gr', 2802, '49548', '616', '42.866822', '-85.663344', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68082, 'Grand Rapids', 2802, '49548', '616', '42.866822', '-85.663344', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68083, 'Kentwood', 2802, '49548', '616', '42.866822', '-85.663344', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68084, 'Wyoming', 2802, '49548', '616', '42.866822', '-85.663344', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68085, 'Grand Rapids', 2802, '49555', '616', '42.9634', '-85.6681', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68086, 'Radio Bible Class', 2802, '49555', '616', '42.9634', '-85.6681', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68087, 'Bear Lake', 2802, '49614', '231', '44.431329', '-86.097248', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68088, 'Pierport', 2802, '49614', '231', '44.431329', '-86.097248', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68089, 'Cedar', 2802, '49621', '231', '44.863682', '-85.757978', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68090, 'Hersey', 2802, '49639', '231', '43.85827', '-85.40902', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68091, 'Kalkaska', 2802, '49646', '231', '44.718668', '-85.090151', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68092, 'Barlow Branch', 2802, '49696', '231', '44.7408', '-85.5949', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68093, 'Traverse City', 2802, '49696', '231', '44.7408', '-85.5949', '2018-11-29 05:11:53', '2018-11-29 05:11:53'),\n(68094, 'Alpena', 2802, '49707', '989', '45.073318', '-83.47292', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68095, 'Cross Village', 2802, '49723', '231', '45.6424', '-85.0375', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68096, 'Elmira', 2802, '49730', '231', '45.055928', '-84.864197', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68097, 'Camp Grayling', 2802, '49739', '989', '44.6617', '-84.7147', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68098, 'Grayling', 2802, '49739', '989', '44.6617', '-84.7147', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68099, 'Hiawatha Temp Correction Fac', 2802, '49786', '906', '46.2427', '-84.4975', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68100, 'Kincheloe', 2802, '49786', '906', '46.2427', '-84.4975', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68101, 'Sault S Marie', 2802, '49786', '906', '46.2427', '-84.4975', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68102, 'Sault Sainte Marie', 2802, '49786', '906', '46.2427', '-84.4975', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68103, 'E Kingsford', 2802, '49801', '906', '45.944778', '-87.966426', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68104, 'East Kingsford', 2802, '49801', '906', '45.944778', '-87.966426', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68105, 'Iron Mountain', 2802, '49801', '906', '45.944778', '-87.966426', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68106, 'Iron Mtn', 2802, '49801', '906', '45.944778', '-87.966426', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68107, 'Kingsford', 2802, '49801', '906', '45.944778', '-87.966426', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68108, 'Loretto', 2802, '49852', '906', '45.779216', '-87.817444', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68109, 'Vulcan', 2802, '49852', '906', '45.779216', '-87.817444', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68110, 'Mc Millan', 2802, '49853', '906', '46.375337', '-85.739444', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68111, 'Mcmillan', 2802, '49853', '906', '46.375337', '-85.739444', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68112, 'Negaunee', 2802, '49866', '906', '46.463236', '-87.572365', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68113, 'Seney', 2802, '49883', '906', '46.435257', '-86.052702', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68114, 'Copper City', 2802, '49917', '906', '47.283684', '-88.362198', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68115, 'Crystal Falls', 2802, '49920', '906', '46.170599', '-88.346074', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68116, 'Nisula', 2802, '49952', '906', '46.700698', '-88.887333', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68117, 'Watersmeet', 2802, '49969', '906', '46.215412', '-89.240738', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68118, 'Watton', 2802, '49970', '906', '46.506837', '-88.587644', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68119, 'Commerce Township', 2802, '48382', '248', '42.584792', '-83.500822', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68120, 'Commerce Twp', 2802, '48382', '248', '42.584792', '-83.500822', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68121, 'Us Army Tank-Auto Command', 2802, '48397', '586', '42.4776', '-83.0276', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68122, 'Warren', 2802, '48397', '586', '42.4776', '-83.0276', '2018-11-29 05:11:54', '2018-11-29 05:11:54'),\n(68123, 'Birch Run', 2802, '48415', '989', '43.278711', '-83.807263', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68124, 'Brown City', 2802, '48416', '810', '43.226899', '-82.989336', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68125, 'Durand', 2802, '48429', '989', '42.896578', '-84.007317', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68126, 'Vernon City', 2802, '48429', '989', '42.896578', '-84.007317', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68127, 'Lennon', 2802, '48449', '810', '42.997556', '-83.948507', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68128, 'Otter Lake', 2802, '48464', '810', '43.2109', '-83.410638', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68129, 'Minden City', 2802, '48465', '810', '43.615018', '-82.707496', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68130, 'Palms', 2802, '48465', '810', '43.615018', '-82.707496', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68131, 'Peck', 2802, '48466', '810', '43.274933', '-82.812304', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68132, 'Flint', 2802, '48531', '810', '43.0125', '-83.6878', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68133, 'Northwest', 2802, '48531', '810', '43.0125', '-83.6878', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68134, 'Breckenridge', 2802, '48615', '989', '43.430556', '-84.468766', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68135, 'Lake George', 2802, '48633', '989', '43.953815', '-84.93368', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68136, 'Mio', 2802, '48647', '989', '44.685782', '-84.060824', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68137, 'Ameritech', 2802, '48663', '989', '43.4197', '-83.9506', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68138, 'At&t', 2802, '48663', '989', '43.4197', '-83.9506', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68139, 'Saginaw', 2802, '48663', '989', '43.4197', '-83.9506', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68140, 'Omer', 2802, '48749', '989', '44.065861', '-83.85687', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68141, 'Twining', 2802, '48766', '989', '44.112006', '-83.866851', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68142, 'Charlotte', 2802, '48813', '517', '42.56686', '-84.818996', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68143, 'Clarksville', 2802, '48815', '616', '42.847539', '-85.252432', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68144, 'Cohoctah', 2802, '48816', '517', '42.7594', '-83.9487', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68145, 'Corunna', 2802, '48817', '989', '43.020841', '-84.036645', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68146, 'Elm Hall', 2802, '48830', '989', '43.363497', '-84.836496', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68147, 'Carland', 2802, '48831', '989', '43.085246', '-84.379816', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68148, 'Elsie', 2802, '48831', '989', '43.085246', '-84.379816', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68149, 'Elwell', 2802, '48832', '989', '43.40817', '-84.776433', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68150, 'Ithaca', 2802, '48847', '989', '43.277061', '-84.568257', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68151, 'Lake Odessa', 2802, '48849', '616', '42.808362', '-85.143121', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68152, 'Saint Louis', 2802, '48880', '989', '43.451663', '-84.563116', '2018-11-29 05:11:55', '2018-11-29 05:11:55'),\n(68153, 'Saranac', 2802, '48881', '616', '42.933992', '-85.206148', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68154, 'Shaftsburg', 2802, '48882', '517', '42.8049', '-84.2934', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68155, 'Lansing', 2802, '48916', '517', '42.7327', '-84.5558', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68156, 'Lucky Losers', 2802, '48916', '517', '42.7327', '-84.5558', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68157, 'Lansing', 2802, '48917', '517', '42.718871', '-84.632335', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68158, 'Ceresco', 2802, '49033', '269', '42.225405', '-85.100462', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68159, 'Kalamazoo', 2802, '49048', '517', '42.26754', '-85.493245', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68160, 'Dowling', 2802, '49050', '269', '42.482314', '-85.254889', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68161, 'Lawrence', 2802, '49064', '269', '42.214836', '-86.065382', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68162, 'Portage', 2802, '49081', '269', '42.2011', '-85.5803', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68163, 'Quincy', 2802, '49082', '517', '41.949022', '-84.901124', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68164, 'Harbert', 2802, '49115', '269', '41.875032', '-86.641102', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68165, 'Lakeside', 2802, '49116', '269', '41.852252', '-86.665158', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68166, 'Jackson', 2802, '49201', '517', '42.259401', '-84.37935', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68167, 'Jonesville', 2802, '49250', '517', '42.018291', '-84.603346', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68168, 'Palmyra', 2802, '49268', '517', '41.872866', '-83.934587', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68169, 'Somerset Center', 2802, '49282', '517', '42.0406', '-84.396412', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68170, 'Somerset Ctr', 2802, '49282', '517', '42.0406', '-84.396412', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68171, 'Duck Lake', 2802, '49284', '517', '42.392574', '-84.684038', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68172, 'Springport', 2802, '49284', '517', '42.392574', '-84.684038', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68173, 'Stockbridge', 2802, '49285', '517', '42.475969', '-84.20855', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68174, 'Casnovia', 2802, '49318', '616', '43.214652', '-85.825448', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68175, 'Ravenna', 2802, '49451', '231', '43.206234', '-85.96833', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68176, 'Grandville', 2802, '49468', '616', '42.9094', '-85.7632', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68177, 'Gr', 2802, '49501', '616', '42.9634', '-85.6681', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68178, 'Grand Rapids', 2802, '49501', '616', '42.9634', '-85.6681', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68179, 'Gr', 2802, '49515', '616', '42.958', '-85.6844', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68180, 'Grand Rapids', 2802, '49515', '616', '42.958', '-85.6844', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68181, 'Gr', 2802, '49534', '616', '42.971016', '-85.79108', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68182, 'Grand Rapids', 2802, '49534', '616', '42.971016', '-85.79108', '2018-11-29 05:11:56', '2018-11-29 05:11:56'),\n(68183, 'Standale', 2802, '49534', '616', '42.971016', '-85.79108', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68184, 'Walker', 2802, '49534', '616', '42.971016', '-85.79108', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68185, 'Brethren', 2802, '49619', '231', '44.303151', '-85.996202', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68186, 'Glen Arbor', 2802, '49636', '231', '44.873882', '-85.984109', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68187, 'Merritt', 2802, '49667', '231', '44.353626', '-84.941511', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68188, 'Mesick', 2802, '49668', '231', '44.418344', '-85.697182', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68189, 'Burt Lake', 2802, '49717', '231', '45.4405', '-84.7114', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68190, 'Carp Lake', 2802, '49718', '231', '45.715672', '-84.847846', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68191, 'Cedarville', 2802, '49719', '906', '46.001516', '-84.274977', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68192, 'Gaylord', 2802, '49735', '989', '44.991246', '-84.651801', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68193, 'Treetops', 2802, '49735', '989', '44.991246', '-84.651801', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68194, 'Treetops Vil', 2802, '49735', '989', '44.991246', '-84.651801', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68195, 'Treetops Village', 2802, '49735', '989', '44.991246', '-84.651801', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68196, 'Indian River', 2802, '49749', '231', '45.4228', '-84.56745', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68197, 'Pellston', 2802, '49769', '231', '45.574087', '-84.85783', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68198, 'Sault S Marie', 2802, '49783', '906', '46.375682', '-84.301445', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68199, 'Sault Sainte Marie', 2802, '49783', '906', '46.375682', '-84.301445', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68200, 'Walled Lake', 2802, '48391', '248', '42.5378', '-83.4815', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68201, 'Clio', 2802, '48420', '810', '43.174891', '-83.706318', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68202, 'Deckerville', 2802, '48427', '810', '43.527078', '-82.724196', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68203, 'Gaines', 2802, '48436', '989', '42.87618', '-83.875287', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68204, 'Lexington', 2802, '48450', '810', '43.256228', '-82.537755', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68205, 'North Branch', 2802, '48461', '810', '43.211076', '-83.222825', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68206, 'Ruth', 2802, '48470', '989', '43.743732', '-82.759703', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68207, 'Ubly', 2802, '48475', '989', '43.623512', '-82.947408', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68208, 'Flint', 2802, '48502', '810', '43.014945', '-83.687858', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68209, 'Burton', 2802, '48509', '810', '43.026135', '-83.60553', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68210, 'Flint', 2802, '48509', '810', '43.026135', '-83.60553', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68211, 'Northeast', 2802, '48509', '810', '43.026135', '-83.60553', '2018-11-29 05:11:57', '2018-11-29 05:11:57'),\n(68212, 'Chevrolet Canada', 2802, '48552', '810', '43.0125', '-83.6878', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68213, 'Flint', 2802, '48552', '810', '43.0125', '-83.6878', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68214, 'Saginaw', 2802, '48604', '989', '43.480737', '-83.968063', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68215, 'Auburn', 2802, '48611', '989', '43.63942', '-84.094313', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68216, 'Coleman', 2802, '48618', '989', '43.735003', '-84.544914', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68217, 'Higgins Lake', 2802, '48627', '989', '44.461214', '-84.748101', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68218, 'Rhodes', 2802, '48652', '989', '43.932199', '-84.206569', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68219, 'Rose City', 2802, '48654', '989', '44.472832', '-84.127179', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68220, 'West Branch', 2802, '48661', '989', '44.341441', '-84.203015', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68221, 'Mid Michigan Reg Med Ctr', 2802, '48670', '989', '43.6157', '-84.2472', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68222, 'Midland', 2802, '48670', '989', '43.6157', '-84.2472', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68223, 'Midland Hospital Center', 2802, '48670', '989', '43.6157', '-84.2472', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68224, 'Bay Port', 2802, '48720', '989', '43.821988', '-83.339149', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68225, 'Frankenmuth', 2802, '48734', '989', '43.353894', '-83.741041', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68226, 'Crystal', 2802, '48818', '989', '43.274587', '-84.899912', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68227, 'Edmore', 2802, '48829', '989', '43.41448', '-85.01942', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68228, 'Mason', 2802, '48854', '517', '42.581376', '-84.46032', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68229, 'Saint Johns', 2802, '48879', '989', '43.000473', '-84.582656', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68230, 'Sheridan', 2802, '48884', '989', '43.211765', '-85.058637', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68231, 'Lansing', 2802, '48913', '517', '42.7327', '-84.5558', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68232, 'State Of Michigan', 2802, '48913', '517', '42.7327', '-84.5558', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68233, 'Lansing', 2802, '48918', '517', '42.7327', '-84.5558', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68234, 'Secretary Of State', 2802, '48918', '517', '42.7327', '-84.5558', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68235, 'Lansing', 2802, '48929', '517', '42.7327', '-84.5558', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68236, 'Mi Department Of Revenue', 2802, '48929', '517', '42.7327', '-84.5558', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68237, 'Portage', 2802, '49002', '269', '42.196978', '-85.559906', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68238, 'Coloma', 2802, '49038', '269', '42.210445', '-86.334744', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68239, 'Decatur', 2802, '49045', '269', '42.09187', '-86.011988', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68240, 'Lacota', 2802, '49063', '616', '42.4136', '-86.1298', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68241, 'Marshall', 2802, '49068', '517', '42.261836', '-84.944242', '2018-11-29 05:11:58', '2018-11-29 05:11:58'),\n(68242, 'Vicksburg', 2802, '49097', '269', '42.114716', '-85.473854', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68243, 'Eau Claire', 2802, '49111', '269', '42.01553', '-86.281503', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68244, 'Galien', 2802, '49113', '269', '41.81153', '-86.516184', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68245, 'Niles', 2802, '49120', '269', '41.843666', '-86.251334', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68246, 'Union Pier', 2802, '49129', '269', '41.825159', '-86.688736', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68247, 'Clinton', 2802, '49236', '517', '42.085856', '-83.958706', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68248, 'Litchfield', 2802, '49252', '517', '42.02898', '-84.753456', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68249, 'Michigan Center', 2802, '49254', '517', '42.230422', '-84.317458', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68250, 'Michigan Ctr', 2802, '49254', '517', '42.230422', '-84.317458', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68251, 'Petersburg', 2802, '49270', '734', '41.864918', '-83.680862', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68252, 'Chippewa Lake', 2802, '49320', '231', '43.7439', '-85.2973', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68253, 'Grant', 2802, '49327', '231', '43.336951', '-85.845356', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68254, 'Ada', 2802, '49356', '616', '42.9544', '-85.4886', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68255, 'Amway Corp', 2802, '49356', '616', '42.9544', '-85.4886', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68256, 'Douglas', 2802, '49406', '269', '42.644076', '-86.201015', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68257, 'Mears', 2802, '49436', '231', '43.689679', '-86.469367', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68258, 'Sterling Heights', 2802, '48312', '586', '42.559128', '-83.009788', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68259, 'Sterling Hts', 2802, '48312', '586', '42.559128', '-83.009788', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68260, 'Waterford', 2802, '48329', '248', '42.688992', '-83.389084', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68261, 'Waterford Township', 2802, '48329', '248', '42.688992', '-83.389084', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68262, 'Drayton Plains', 2802, '48330', '248', '42.6842', '-83.3775', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68263, 'Drayton Plns', 2802, '48330', '248', '42.6842', '-83.3775', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68264, 'Waterford', 2802, '48330', '248', '42.6842', '-83.3775', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68265, 'Farmingtn Hls', 2802, '48331', '248', '42.505411', '-83.407504', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68266, 'Farmington', 2802, '48331', '248', '42.505411', '-83.407504', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68267, 'Farmington Hills', 2802, '48331', '248', '42.505411', '-83.407504', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68268, 'Farmington Hls', 2802, '48331', '248', '42.505411', '-83.407504', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68269, 'Farmingtn Hls', 2802, '48332', '248', '42.4647', '-83.3764', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68270, 'Farmington', 2802, '48332', '248', '42.4647', '-83.3764', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68271, 'Farmington Hills', 2802, '48332', '248', '42.4647', '-83.3764', '2018-11-29 05:11:59', '2018-11-29 05:11:59'),\n(68272, 'Farmington Hls', 2802, '48332', '248', '42.4647', '-83.3764', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68273, 'Clarkston', 2802, '48346', '248', '42.723834', '-83.415667', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68274, 'Independence', 2802, '48346', '248', '42.723834', '-83.415667', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68275, 'Independence Twp', 2802, '48346', '248', '42.723834', '-83.415667', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68276, 'Clarkston', 2802, '48347', '248', '42.7355', '-83.4188', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68277, 'Clarkston', 2802, '48348', '248', '42.759937', '-83.410432', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68278, 'Independence', 2802, '48348', '248', '42.759937', '-83.410432', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68279, 'Independence Township', 2802, '48348', '248', '42.759937', '-83.410432', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68280, 'Independence Twp', 2802, '48348', '248', '42.759937', '-83.410432', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68281, 'Bad Axe', 2802, '48413', '989', '43.787822', '-82.991111', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68282, 'Bancroft', 2802, '48414', '989', '42.858322', '-84.063282', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68283, 'Fenton', 2802, '48430', '810', '42.770416', '-83.746551', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68284, 'Lake Nepessing', 2802, '48446', '810', '43.05416', '-83.330114', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68285, 'Lapeer', 2802, '48446', '810', '43.05416', '-83.330114', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68286, 'Otisville', 2802, '48463', '810', '43.161388', '-83.529922', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68287, 'Brant', 2802, '48614', '989', '43.248104', '-84.308589', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68288, 'Kawkawlin', 2802, '48631', '989', '43.681887', '-84.006655', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68289, 'Lake', 2802, '48632', '989', '43.839094', '-85.015004', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68290, 'Lake Station', 2802, '48632', '989', '43.839094', '-85.015004', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68291, 'Oakley', 2802, '48649', '989', '43.165114', '-84.216701', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68292, 'Elkton', 2802, '48731', '989', '43.833056', '-83.161454', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68293, 'Au Sable', 2802, '48750', '989', '44.434812', '-83.506006', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68294, 'Oscoda', 2802, '48750', '989', '44.434812', '-83.506006', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68295, 'Tawas City', 2802, '48764', '989', '44.2697', '-83.5148', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68296, 'Turner', 2802, '48765', '989', '44.155092', '-83.698218', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68297, 'Laingsburg', 2802, '48848', '517', '42.87317', '-84.389242', '2018-11-29 05:12:00', '2018-11-29 05:12:00');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(68298, 'Okemos', 2802, '48864', '517', '42.704994', '-84.402071', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68299, 'Orleans', 2802, '48865', '616', '43.076267', '-85.109392', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68300, 'Ovid', 2802, '48866', '989', '42.990479', '-84.355242', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68301, 'Lansing', 2802, '48915', '517', '42.738136', '-84.568084', '2018-11-29 05:12:00', '2018-11-29 05:12:00'),\n(68302, 'Lansing', 2802, '48930', '517', '42.7327', '-84.5558', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68303, 'State Of Mich Dept Treasury', 2802, '48930', '517', '42.7327', '-84.5558', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68304, 'Lansing', 2802, '48933', '517', '42.731447', '-84.553878', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68305, 'Battle Creek', 2802, '49015', '269', '42.261671', '-85.238818', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68306, 'Springfield', 2802, '49015', '269', '42.261671', '-85.238818', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68307, 'Climax', 2802, '49034', '269', '42.23909', '-85.345436', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68308, 'Dowagiac', 2802, '49047', '269', '41.988322', '-86.107952', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68309, 'Leonidas', 2802, '49066', '269', '42.031192', '-85.347254', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68310, 'Richland', 2802, '49083', '269', '42.377029', '-85.459468', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68311, 'Riverside', 2802, '49084', '269', '42.1833', '-86.3826', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68312, 'Mottville', 2802, '49099', '269', '41.79712', '-85.679252', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68313, 'White Pigeon', 2802, '49099', '269', '41.79712', '-85.679252', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68314, 'Camden', 2802, '49232', '517', '41.74699', '-84.64379', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68315, 'Cement City', 2802, '49233', '517', '42.044302', '-84.344792', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68316, 'Clarklake', 2802, '49234', '517', '42.126818', '-84.371954', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68317, 'Jasper', 2802, '49248', '517', '41.773854', '-83.998938', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68318, 'Jerome', 2802, '49249', '517', '42.04337', '-84.454916', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68319, 'Onsted', 2802, '49265', '517', '42.007673', '-84.172784', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68320, 'Osseo', 2802, '49266', '517', '41.818416', '-84.544435', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68321, 'Ottawa Lake', 2802, '49267', '734', '41.767809', '-83.733152', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68322, 'Spring Arbor', 2802, '49283', '517', '42.200205', '-84.569556', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68323, 'Ada', 2802, '49301', '616', '42.964378', '-85.479548', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68324, 'Cascade', 2802, '49301', '616', '42.964378', '-85.479548', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68325, 'Cascade Twp', 2802, '49301', '616', '42.964378', '-85.479548', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68326, 'Byron Center', 2802, '49315', '616', '42.797612', '-85.728143', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68327, 'Byron Township', 2802, '49315', '616', '42.797612', '-85.728143', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68328, 'Caledonia', 2802, '49316', '616', '42.78644', '-85.545626', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68329, 'Dutton', 2802, '49316', '616', '42.78644', '-85.545626', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68330, 'Cannonsburg', 2802, '49317', '616', '43.0728', '-85.4396', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68331, 'Mecosta', 2802, '49332', '231', '43.637244', '-85.245138', '2018-11-29 05:12:01', '2018-11-29 05:12:01'),\n(68332, 'Middleville', 2802, '49333', '616', '42.686818', '-85.461897', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68333, 'Middlevle', 2802, '49333', '616', '42.686818', '-85.461897', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68334, 'Yankee Springs', 2802, '49333', '616', '42.686818', '-85.461897', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68335, 'Moline', 2802, '49335', '616', '42.746554', '-85.668578', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68336, 'White Cloud', 2802, '49349', '231', '43.596636', '-85.760734', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68337, 'Fruitport', 2802, '49415', '231', '43.153054', '-86.125574', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68338, 'Marne', 2802, '49435', '616', '43.030742', '-85.843707', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68339, 'Pentwater', 2802, '49449', '231', '43.794344', '-86.375724', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68340, 'Ann Arbor', 2802, '48103', '734', '42.269394', '-83.851822', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68341, 'Delhi', 2802, '48103', '734', '42.269394', '-83.851822', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68342, 'Loch Alpine', 2802, '48103', '734', '42.269394', '-83.851822', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68343, 'Lodi Township', 2802, '48103', '734', '42.269394', '-83.851822', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68344, 'Scio Township', 2802, '48103', '734', '42.269394', '-83.851822', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68345, 'Ann Arbor', 2802, '48105', '734', '42.324496', '-83.714275', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68346, 'Ann Arbor Township', 2802, '48105', '734', '42.324496', '-83.714275', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68347, 'Barton Hills', 2802, '48105', '734', '42.324496', '-83.714275', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68348, 'Dixboro', 2802, '48105', '734', '42.324496', '-83.714275', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68349, 'Superior Township', 2802, '48105', '734', '42.324496', '-83.714275', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68350, 'Dearborn', 2802, '48120', '313', '42.304544', '-83.1798', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68351, 'Dearborn', 2802, '48121', '313', '42.3225', '-83.1764', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68352, 'Ida', 2802, '48140', '734', '41.884286', '-83.581753', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68353, 'Brownstown', 2802, '48173', '734', '42.072306', '-83.233914', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68354, 'Brownstown Township', 2802, '48173', '734', '42.072306', '-83.233914', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68355, 'Brownstown Twp', 2802, '48173', '734', '42.072306', '-83.233914', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68356, 'Brownstwn Twp', 2802, '48173', '734', '42.072306', '-83.233914', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68357, 'Gibraltar', 2802, '48173', '734', '42.072306', '-83.233914', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68358, 'Rockwood', 2802, '48173', '734', '42.072306', '-83.233914', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68359, 'Detroit', 2802, '48204', '313', '42.367841', '-83.138984', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68360, 'Detroit', 2802, '48240', '313', '42.424377', '-83.30236', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68361, 'Redford', 2802, '48240', '313', '42.424377', '-83.30236', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68362, 'Redford Twp', 2802, '48240', '313', '42.424377', '-83.30236', '2018-11-29 05:12:02', '2018-11-29 05:12:02'),\n(68363, 'Comerica', 2802, '48255', '313', '42.3317', '-83.0456', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68364, 'Detroit', 2802, '48255', '313', '42.3317', '-83.0456', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68365, 'Bloomfield', 2802, '48304', '248', '42.587024', '-83.236373', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68366, 'Bloomfield Hills', 2802, '48304', '248', '42.587024', '-83.236373', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68367, 'Bloomfield Township', 2802, '48304', '248', '42.587024', '-83.236373', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68368, 'Bloomfield Twp', 2802, '48304', '248', '42.587024', '-83.236373', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68369, 'Bloomfld Hls', 2802, '48304', '248', '42.587024', '-83.236373', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68370, 'Bloomfld Twp', 2802, '48304', '248', '42.587024', '-83.236373', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68371, 'Rochester', 2802, '48307', '248', '42.659892', '-83.122741', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68372, 'Rochester Hills', 2802, '48307', '248', '42.659892', '-83.122741', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68373, 'Rochester Hls', 2802, '48307', '248', '42.659892', '-83.122741', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68374, 'Keego Harbor', 2802, '48320', '248', '42.610918', '-83.335967', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68375, 'Sylvan Lake', 2802, '48320', '248', '42.610918', '-83.335967', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68376, 'Orchard Lake', 2802, '48323', '248', '42.573884', '-83.384086', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68377, 'W Bloomfield', 2802, '48323', '248', '42.573884', '-83.384086', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68378, 'West Bloomfield', 2802, '48323', '248', '42.573884', '-83.384086', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68379, 'Davison', 2802, '48423', '810', '43.042081', '-83.522225', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68380, 'Harbor Beach', 2802, '48441', '989', '43.801688', '-82.733578', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68381, 'Metamora', 2802, '48455', '810', '42.943192', '-83.301832', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68382, 'Delphi East', 2802, '48556', '810', '43.0125', '-83.6878', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68383, 'Flint', 2802, '48556', '810', '43.0125', '-83.6878', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68384, 'Flint', 2802, '48557', '810', '43.0125', '-83.6878', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68385, 'Gm Tech Center', 2802, '48557', '810', '43.0125', '-83.6878', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68386, 'Gm Vehicle Development Ctr', 2802, '48557', '810', '43.0125', '-83.6878', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68387, 'Saginaw', 2802, '48607', '989', '43.432466', '-83.934786', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68388, 'Saginaw', 2802, '48608', '989', '43.4194', '-83.9506', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68389, 'Saint Helen', 2802, '48656', '989', '44.373704', '-84.456416', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68390, 'Bay City', 2802, '48706', '989', '43.609408', '-83.945174', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68391, 'Bay City', 2802, '48707', '989', '43.5945', '-83.8886', '2018-11-29 05:12:03', '2018-11-29 05:12:03'),\n(68392, 'Bridgeport', 2802, '48722', '989', '43.3432', '-83.843246', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68393, 'Caro', 2802, '48723', '989', '43.492277', '-83.385072', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68394, 'Harrisville', 2802, '48740', '989', '44.682052', '-83.397822', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68395, 'Okemos', 2802, '48805', '517', '42.7223', '-84.4276', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68396, 'Bath', 2802, '48808', '517', '42.826934', '-84.443784', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68397, 'Eagle', 2802, '48822', '517', '42.837247', '-84.759133', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68398, 'Haslett', 2802, '48840', '517', '42.775358', '-84.374332', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68399, 'Holt', 2802, '48842', '517', '42.639781', '-84.543302', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68400, 'Middleton', 2802, '48856', '989', '43.200588', '-84.74787', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68401, 'Perry', 2802, '48872', '517', '42.799557', '-84.207164', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68402, 'Portland', 2802, '48875', '517', '42.854636', '-84.926898', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68403, 'Sunfield', 2802, '48890', '517', '42.764492', '-84.964931', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68404, 'Vestaburg', 2802, '48891', '989', '43.386576', '-84.910637', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68405, 'Trail', 2803, '56684', '218', '47.876083', '-95.612454', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68406, 'Fisher', 2803, '56723', '218', '47.847578', '-96.881934', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68407, 'Stephen', 2803, '56757', '218', '48.456758', '-96.906309', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68408, 'Waubun', 2803, '56589', '218', '47.158235', '-95.799895', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68409, 'Ponemah', 2803, '56666', '218', '48.039368', '-94.893025', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68410, 'Baxter', 2803, '56425', '218', '46.3343', '-94.273164', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68411, 'Brainerd', 2803, '56425', '218', '46.3343', '-94.273164', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68412, 'Halstad', 2803, '56548', '218', '47.368319', '-96.719394', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68413, 'Gore Springs', 2805, '38929', '662', '33.744489', '-89.567824', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68414, 'Tippo', 2805, '38962', '662', '33.899165', '-90.149442', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68415, 'Georgetown', 2805, '39078', '601', '31.869096', '-90.200802', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68416, 'Harperville', 2805, '39080', '601', '32.4944', '-89.4897', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68417, 'Ludlow', 2805, '39098', '601', '32.562887', '-89.714674', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68418, 'Madison', 2805, '39130', '601', '32.4618', '-90.1155', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68419, 'Piney Woods', 2805, '39148', '601', '32.058016', '-89.990204', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68420, 'Sharon', 2805, '39163', '601', '32.6583', '-89.9362', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68421, 'Bovina', 2805, '39180', '601', '32.224826', '-90.901117', '2018-11-29 05:12:04', '2018-11-29 05:12:04'),\n(68422, 'Letourneau', 2805, '39180', '601', '32.224826', '-90.901117', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68423, 'Vicksburg', 2805, '39180', '601', '32.224826', '-90.901117', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68424, 'Flowood', 2805, '39232', '601', '32.317778', '-90.096954', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68425, 'Jackson', 2805, '39232', '601', '32.317778', '-90.096954', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68426, 'Jax', 2805, '39232', '601', '32.317778', '-90.096954', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68427, 'Jksn', 2805, '39232', '601', '32.317778', '-90.096954', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68428, 'Jxn', 2805, '39232', '601', '32.317778', '-90.096954', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68429, 'Jackson', 2805, '39296', '601', '32.2986', '-90.1849', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68430, 'Jax', 2805, '39296', '601', '32.2986', '-90.1849', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68431, 'Jksn', 2805, '39296', '601', '32.2986', '-90.1849', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68432, 'Jxn', 2805, '39296', '601', '32.2986', '-90.1849', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68433, 'Hickory', 2805, '39332', '601', '32.317111', '-89.022442', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68434, 'Noxapater', 2805, '39346', '601', '32.977458', '-89.14521', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68435, 'Stonewall', 2805, '39363', '601', '32.144607', '-88.760004', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68436, 'Neshoba', 2805, '39365', '601', '32.545779', '-89.114934', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68437, 'Union', 2805, '39365', '601', '32.545779', '-89.114934', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68438, 'Columbia', 2805, '39429', '601', '31.216751', '-89.810936', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68439, 'Harvey', 2805, '39465', '601', '31.328319', '-89.184296', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68440, 'Petal', 2805, '39465', '601', '31.328319', '-89.184296', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68441, 'Caesar', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68442, 'Cybur', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68443, 'Goodyear', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68444, 'Greenbrier Park', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68445, 'Industrial', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68446, 'Picayune', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68447, 'Richardson', 2805, '39466', '601', '30.520925', '-89.620363', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68448, 'Biloxi', 2805, '39532', '228', '30.496087', '-88.960125', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68449, 'Blx', 2805, '39532', '228', '30.496087', '-88.960125', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68450, 'Boloxi', 2805, '39532', '228', '30.496087', '-88.960125', '2018-11-29 05:12:05', '2018-11-29 05:12:05'),\n(68451, 'Saint Martin', 2805, '39532', '228', '30.496087', '-88.960125', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68452, 'St Martin', 2805, '39532', '228', '30.496087', '-88.960125', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68453, 'Fontainebleau', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68454, 'Gulf Hills', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68455, 'Gulf Islands National Seasho', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68456, 'Gulf Park Estates', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68457, 'Larue', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68458, 'Latimer', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68459, 'Ocean Springs', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68460, 'Polfry', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68461, 'Windsor Park', 2805, '39564', '228', '30.40064', '-88.758255', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68462, 'Ocean Spgs', 2805, '39565', '228', '30.583302', '-88.72114', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68463, 'Ocean Springs', 2805, '39565', '228', '30.583302', '-88.72114', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68464, 'Van Cleave', 2805, '39565', '228', '30.583302', '-88.72114', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68465, 'Vancleave', 2805, '39565', '228', '30.583302', '-88.72114', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68466, 'Ocean Spgs', 2805, '39566', '228', '30.4114', '-88.8279', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68467, 'Ocean Springs', 2805, '39566', '228', '30.4114', '-88.8279', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68468, 'Meyers', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68469, 'Morriston', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68470, 'Oak Grove', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68471, 'Palmers Crossing', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68472, 'Rawls Springs', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68473, 'Runnelstown', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68474, 'Sunrise', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68475, 'University Of Southern Ms', 2805, '39401', '601', '31.241113', '-89.272298', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68476, 'Hattiesburg', 2805, '39403', '601', '31.3268', '-89.2905', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68477, 'Hillman', 2805, '39451', '601', '31.149943', '-88.600372', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68478, 'Jonathan', 2805, '39451', '601', '31.149943', '-88.600372', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68479, 'Leakesville', 2805, '39451', '601', '31.149943', '-88.600372', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68480, 'Moss', 2805, '39460', '601', '32.1372', '-89.0671', '2018-11-29 05:12:06', '2018-11-29 05:12:06'),\n(68481, 'East Side', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68482, 'Good Hope', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68483, 'Mcswain', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68484, 'Piave', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68485, 'Rhodes', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68486, 'Richton', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68487, 'Sand Hill', 2805, '39476', '601', '31.408665', '-88.897069', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68488, 'Gpt', 2805, '39501', '228', '30.39099', '-89.072912', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68489, 'Gulfport', 2805, '39501', '228', '30.39099', '-89.072912', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68490, 'Us Nav Const Batt', 2805, '39501', '228', '30.39099', '-89.072912', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68491, 'Fayette', 2805, '39069', '601', '31.73107', '-91.046516', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68492, 'Hazlehurst', 2805, '39083', '601', '31.835869', '-90.422138', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68493, 'Lena', 2805, '39094', '601', '32.580247', '-89.67403', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68494, 'Star', 2805, '39167', '601', '32.0938', '-90.0464', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68495, 'Vaiden', 2805, '39176', '662', '33.326011', '-89.716639', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68496, 'Possumneck', 2805, '39192', '662', '33.192477', '-89.777598', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68497, 'West', 2805, '39192', '662', '33.192477', '-89.777598', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68498, 'Jackson', 2805, '39201', '601', '32.288888', '-90.18432', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68499, 'Jax', 2805, '39201', '601', '32.288888', '-90.18432', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68500, 'Jksn', 2805, '39201', '601', '32.288888', '-90.18432', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68501, 'Jxn', 2805, '39201', '601', '32.288888', '-90.18432', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68502, 'Jackson', 2805, '39208', '601', '32.256012', '-90.100091', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68503, 'Jax', 2805, '39208', '601', '32.256012', '-90.100091', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68504, 'Jksn', 2805, '39208', '601', '32.256012', '-90.100091', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68505, 'Jxn', 2805, '39208', '601', '32.256012', '-90.100091', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68506, 'Pearl', 2805, '39208', '601', '32.256012', '-90.100091', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68507, 'Jackson', 2805, '39210', '601', '32.322649', '-90.178926', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68508, 'Jax', 2805, '39210', '601', '32.322649', '-90.178926', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68509, 'Jksn', 2805, '39210', '601', '32.322649', '-90.178926', '2018-11-29 05:12:07', '2018-11-29 05:12:07'),\n(68510, 'Jxn', 2805, '39210', '601', '32.322649', '-90.178926', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68511, 'Millsaps College', 2805, '39210', '601', '32.322649', '-90.178926', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68512, 'Jackson', 2805, '39283', '601', '32.2986', '-90.1849', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68513, 'Jax', 2805, '39283', '601', '32.2986', '-90.1849', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68514, 'Jksn', 2805, '39283', '601', '32.2986', '-90.1849', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68515, 'Jxn', 2805, '39283', '601', '32.2986', '-90.1849', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68516, 'Matherville', 2805, '39360', '601', '31.857854', '-88.691121', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68517, 'Shubuta', 2805, '39360', '601', '31.857854', '-88.691121', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68518, 'State Line', 2805, '39362', '601', '31.410678', '-88.590741', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68519, 'Stateline', 2805, '39362', '601', '31.410678', '-88.590741', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68520, 'Waynesboro', 2805, '39367', '601', '31.681905', '-88.680555', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68521, 'Wboro', 2805, '39367', '601', '31.681905', '-88.680555', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68522, 'Carriere', 2805, '39426', '601', '30.649034', '-89.655828', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68523, 'Henleyfield', 2805, '39426', '601', '30.649034', '-89.655828', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68524, 'Mill Creek', 2805, '39426', '601', '30.649034', '-89.655828', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68525, 'Ozona', 2805, '39426', '601', '30.649034', '-89.655828', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68526, 'Crotts', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68527, 'Ellisville', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68528, 'Ellisville Junction', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68529, 'Johnson', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68530, 'Maybell', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68531, 'Oak Bowery', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68532, 'Pecan Grove', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68533, 'Sand Hill', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68534, 'Walters', 2805, '39437', '601', '31.555222', '-89.23991', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68535, 'Sandy Hook', 2805, '39478', '601', '31.069102', '-89.856851', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68536, 'Gpt', 2805, '39503', '228', '30.473041', '-89.157717', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68537, 'Gulfport', 2805, '39503', '228', '30.473041', '-89.157717', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68538, 'Orange Grove', 2805, '39503', '228', '30.473041', '-89.157717', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68539, 'Bigpoint', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:08', '2018-11-29 05:12:08'),\n(68540, 'Eastlawn', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68541, 'Helena', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68542, 'Navy Homeport', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68543, 'Orange Grove', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68544, 'Pascagoula', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68545, 'Pasgoula', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68546, 'Pecan', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68547, 'Three Rivers', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68548, 'Wade', 2805, '39567', '228', '30.364415', '-88.566633', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68549, 'Pascagoula', 2805, '39569', '228', '30.3658', '-88.5561', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68550, 'Bhaven', 2805, '39603', '601', '31.5828', '-90.4435', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68551, 'Brookhaven', 2805, '39603', '601', '31.5828', '-90.4435', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68552, 'Ashwood', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68553, 'Doloroso', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68554, 'Donegal', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68555, 'Fort Adams', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68556, 'Ft Adams', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68557, 'Jxn', 2805, '39215', '601', '32.2986', '-90.1849', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68558, 'Enterprise', 2805, '39330', '601', '32.18684', '-88.836434', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68559, 'Vossburg', 2805, '39366', '601', '31.965814', '-88.947268', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68560, 'Blodgett', 2805, '39464', '601', '31.509284', '-89.059796', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68561, 'Ouetti', 2805, '39464', '601', '31.509284', '-89.059796', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68562, 'Ovett', 2805, '39464', '601', '31.509284', '-89.059796', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68563, 'Soso', 2805, '39480', '601', '31.734894', '-89.32436', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68564, 'Higgins', 2805, '39482', '601', '31.358902', '-89.577452', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68565, 'Melba', 2805, '39482', '601', '31.358902', '-89.577452', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68566, 'Oloh', 2805, '39482', '601', '31.358902', '-89.577452', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68567, 'Sumrall', 2805, '39482', '601', '31.358902', '-89.577452', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68568, 'Biloxi', 2805, '39530', '228', '30.408101', '-88.895562', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68569, 'Blx', 2805, '39530', '228', '30.408101', '-88.895562', '2018-11-29 05:12:09', '2018-11-29 05:12:09'),\n(68570, 'Coles', 2805, '39633', '601', '31.299448', '-91.14302', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68571, 'Crosby', 2805, '39633', '601', '31.299448', '-91.14302', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68572, 'Darrington', 2805, '39633', '601', '31.299448', '-91.14302', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68573, 'Perrytown', 2805, '39633', '601', '31.299448', '-91.14302', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68574, 'Rosetta', 2805, '39633', '601', '31.299448', '-91.14302', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68575, 'Saukum', 2805, '39633', '601', '31.299448', '-91.14302', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68576, 'Auburn', 2805, '39664', '601', '31.31994', '-90.68813', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68577, 'Eastfork', 2805, '39664', '601', '31.31994', '-90.68813', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68578, 'Smithdale', 2805, '39664', '601', '31.31994', '-90.68813', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68579, 'Thompson', 2805, '39664', '601', '31.31994', '-90.68813', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68580, 'Sontag', 2805, '39665', '601', '31.627861', '-90.177602', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68581, 'Irene', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68582, 'Johnston', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68583, 'Mars Hill', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68584, 'Mcelveen', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68585, 'Pricedale', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68586, 'Summit', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68587, 'Topisaw', 2805, '39666', '601', '31.260865', '-90.458364', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68588, 'Dexter', 2805, '39667', '601', '31.153126', '-90.109927', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68589, 'Knoxo', 2805, '39667', '601', '31.153126', '-90.109927', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68590, 'Lexie', 2805, '39667', '601', '31.153126', '-90.109927', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68591, 'Mesa', 2805, '39667', '601', '31.153126', '-90.109927', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68592, 'Salem', 2805, '39667', '601', '31.153126', '-90.109927', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68593, 'Tylertown', 2805, '39667', '601', '31.153126', '-90.109927', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68594, 'Ellistown', 2805, '38838', '662', '34.554532', '-88.241786', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68595, 'Moores Mill', 2805, '38838', '662', '34.554532', '-88.241786', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68596, 'Mantachie', 2805, '38855', '662', '34.352248', '-88.474352', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68597, 'Marietta', 2805, '38856', '662', '34.481432', '-88.458362', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68598, 'Smithville', 2805, '38870', '662', '34.055383', '-88.362272', '2018-11-29 05:12:10', '2018-11-29 05:12:10'),\n(68599, 'Turon', 2805, '38870', '662', '34.055383', '-88.362272', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68600, 'Hurricane', 2805, '38871', '662', '34.357513', '-89.201438', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68601, 'Thaxton', 2805, '38871', '662', '34.357513', '-89.201438', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68602, 'Mingo', 2805, '38873', '662', '34.659843', '-88.246624', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68603, 'Paden', 2805, '38873', '662', '34.659843', '-88.246624', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68604, 'Tishomingo', 2805, '38873', '662', '34.659843', '-88.246624', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68605, 'Cascilla', 2805, '38920', '662', '33.899719', '-90.03113', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68606, 'Greenwood-Leflore Airport', 2805, '38920', '662', '33.899719', '-90.03113', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68607, 'Leverett', 2805, '38920', '662', '33.899719', '-90.03113', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68608, 'Paul', 2805, '38920', '662', '33.899719', '-90.03113', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68609, 'Paynes', 2805, '38920', '662', '33.899719', '-90.03113', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68610, 'Rosebloom', 2805, '38920', '662', '33.899719', '-90.03113', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68611, 'Black Hawk', 2805, '38923', '662', '33.366741', '-89.986083', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68612, 'Coila', 2805, '38923', '662', '33.366741', '-89.986083', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68613, 'Holcomb', 2805, '38940', '662', '33.750136', '-90.001634', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68614, 'Nason', 2805, '38940', '662', '33.750136', '-90.001634', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68615, 'Oxberry', 2805, '38940', '662', '33.750136', '-90.001634', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68616, 'Scobey', 2805, '38953', '662', '33.904694', '-89.84929', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68617, 'Clinton', 2805, '39056', '601', '32.366071', '-90.355273', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68618, 'Florence', 2805, '39073', '601', '32.095464', '-90.119858', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68619, 'Mc Adams', 2805, '39107', '662', '33.027518', '-89.683745', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68620, 'Church Hill', 2805, '39120', '601', '31.574941', '-91.308734', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68621, 'Natchez', 2805, '39120', '601', '31.574941', '-91.308734', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68622, 'Natchez', 2805, '39122', '601', '31.5604', '-91.4032', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68623, 'Learned', 2805, '39154', '601', '32.214338', '-90.450179', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68624, 'Raymond', 2805, '39154', '601', '32.214338', '-90.450179', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68625, 'Redwood', 2805, '39156', '601', '32.503467', '-90.767851', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68626, 'Terry', 2805, '39170', '601', '32.123667', '-90.343231', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68627, 'Mdn', 2805, '39304', '601', '32.3645', '-88.7039', '2018-11-29 05:12:11', '2018-11-29 05:12:11'),\n(68628, 'Meridian', 2805, '39304', '601', '32.3645', '-88.7039', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68629, 'Mdn', 2805, '39307', '601', '32.33224', '-88.808317', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68630, 'Meridian', 2805, '39307', '601', '32.33224', '-88.808317', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68631, 'Chunky', 2805, '39323', '601', '32.339729', '-88.940847', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68632, 'Clara', 2805, '39324', '601', '31.5805', '-88.6965', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68633, 'Louisville', 2805, '39339', '662', '33.102766', '-89.051853', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68634, 'Rose Hill', 2805, '39356', '601', '32.12929', '-89.015703', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68635, 'Hattiesbg', 2805, '39404', '601', '31.3268', '-89.2905', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68636, 'Hattiesburg', 2805, '39404', '601', '31.3268', '-89.2905', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68637, 'Springville', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68638, 'Troy', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68639, 'Zion', 2805, '38863', '662', '34.227326', '-89.035232', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68640, 'Big Creek', 2805, '38914', '662', '33.879549', '-89.452314', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68641, 'Coles Creek', 2805, '38914', '662', '33.879549', '-89.452314', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68642, 'Avalon', 2805, '38930', '662', '33.572266', '-90.119956', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68643, 'G Wood', 2805, '38930', '662', '33.572266', '-90.119956', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68644, 'Greenwood', 2805, '38930', '662', '33.572266', '-90.119956', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68645, 'Shellmound', 2805, '38930', '662', '33.572266', '-90.119956', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68646, 'Money', 2805, '38945', '662', '33.6517', '-90.2097', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68647, 'Morgan City', 2805, '38946', '662', '33.359651', '-90.362708', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68648, 'Murphreesboro', 2805, '38961', '662', '33.971388', '-89.841422', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68649, 'Tillatoba', 2805, '38961', '662', '33.971388', '-89.841422', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68650, 'Brazil', 2805, '38963', '662', '33.985235', '-90.398452', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68651, 'Tutwiler', 2805, '38963', '662', '33.985235', '-90.398452', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68652, 'Vance', 2805, '38964', '662', '34.105664', '-90.357569', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68653, 'Canton', 2805, '39046', '601', '32.626828', '-90.022923', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68654, 'Farmhaven', 2805, '39046', '601', '32.626828', '-90.022923', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68655, 'Way', 2805, '39046', '601', '32.626828', '-90.022923', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68656, 'Brandon', 2805, '39047', '601', '32.451325', '-89.94868', '2018-11-29 05:12:12', '2018-11-29 05:12:12'),\n(68657, 'D Lo', 2805, '39062', '601', '31.98428', '-89.905022', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68658, 'D\\' Lo', 2805, '39062', '601', '31.98428', '-89.905022', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68659, 'Dlo', 2805, '39062', '601', '31.98428', '-89.905022', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68660, 'Goodman', 2805, '39079', '662', '32.984716', '-89.905701', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68661, 'Harriston', 2805, '39081', '601', '31.7114', '-91.0606', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68662, 'Jackson', 2805, '39202', '601', '32.3057', '-90.171563', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68663, 'Jax', 2805, '39202', '601', '32.3057', '-90.171563', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68664, 'Jksn', 2805, '39202', '601', '32.3057', '-90.171563', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68665, 'Jxn', 2805, '39202', '601', '32.3057', '-90.171563', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68666, 'Jackson', 2805, '39209', '601', '32.380803', '-90.306106', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68667, 'Jax', 2805, '39209', '601', '32.380803', '-90.306106', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68668, 'Jksn', 2805, '39209', '601', '32.380803', '-90.306106', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68669, 'Jxn', 2805, '39209', '601', '32.380803', '-90.306106', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68670, 'Metrocenter', 2805, '39209', '601', '32.380803', '-90.306106', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68671, 'Jackson', 2805, '39211', '601', '32.365715', '-90.115097', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68672, 'Jax', 2805, '39211', '601', '32.365715', '-90.115097', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68673, 'Jksn', 2805, '39211', '601', '32.365715', '-90.115097', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68674, 'Jxn', 2805, '39211', '601', '32.365715', '-90.115097', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68675, 'Jackson', 2805, '39216', '601', '32.335646', '-90.157825', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68676, 'Jax', 2805, '39216', '601', '32.335646', '-90.157825', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68677, 'Jksn', 2805, '39216', '601', '32.335646', '-90.157825', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68678, 'Jxn', 2805, '39216', '601', '32.335646', '-90.157825', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68679, 'Jackson', 2805, '39218', '601', '32.233804', '-90.160032', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68680, 'Jax', 2805, '39218', '601', '32.233804', '-90.160032', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68681, 'Jksn', 2805, '39218', '601', '32.233804', '-90.160032', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68682, 'Jxn', 2805, '39218', '601', '32.233804', '-90.160032', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68683, 'Richland', 2805, '39218', '601', '32.233804', '-90.160032', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68684, 'Jackson', 2805, '39225', '601', '32.2986', '-90.1849', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68685, 'Jax', 2805, '39225', '601', '32.2986', '-90.1849', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68686, 'Jksn', 2805, '39225', '601', '32.2986', '-90.1849', '2018-11-29 05:12:13', '2018-11-29 05:12:13'),\n(68687, 'Jxn', 2805, '39225', '601', '32.2986', '-90.1849', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68688, 'Jackson', 2805, '39286', '601', '32.2986', '-90.1849', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68689, 'Jax', 2805, '39286', '601', '32.2986', '-90.1849', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68690, 'Jksn', 2805, '39286', '601', '32.2986', '-90.1849', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68691, 'Jxn', 2805, '39286', '601', '32.2986', '-90.1849', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68692, 'Mdn', 2805, '39302', '601', '32.3645', '-88.7039', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68693, 'Meridian', 2805, '39302', '601', '32.3645', '-88.7039', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68694, 'Porterville', 2805, '39352', '662', '32.666676', '-88.487868', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68695, 'Sebastopol', 2805, '39359', '601', '32.5679', '-89.333717', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68696, 'Hattiesburg', 2805, '39402', '601', '31.345055', '-89.412698', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68697, 'Brooklyn', 2805, '39425', '601', '31.00666', '-89.096356', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68698, 'Maxie', 2805, '39425', '601', '31.00666', '-89.096356', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68699, 'Carson', 2805, '39427', '601', '31.553399', '-89.788063', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68700, 'Laurel', 2805, '39443', '601', '31.678328', '-89.080564', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68701, 'Moselle', 2805, '39459', '601', '31.498303', '-89.298981', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68702, 'Oak Grove', 2805, '39459', '601', '31.498303', '-89.298981', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68703, 'Rainey', 2805, '39459', '601', '31.498303', '-89.298981', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68704, 'Rogerslacy', 2805, '39477', '601', '31.778313', '-89.031707', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68705, 'Sandersville', 2805, '39477', '601', '31.778313', '-89.031707', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68706, 'Gpt', 2805, '39502', '228', '30.3672', '-89.0926', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68707, 'Gulfport', 2805, '39502', '228', '30.3672', '-89.0926', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68708, 'Bay Saint Louis', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68709, 'Bay St Louis', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68710, 'Bayside Park', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68711, 'Mississippi Test Facility', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68712, 'St Louis', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68713, 'Stennis Ctr', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68714, 'Stennis Space Center', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68715, 'Waveland', 2805, '39520', '228', '30.334086', '-89.497042', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68716, 'Bay Saint Louis', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:14', '2018-11-29 05:12:14'),\n(68717, 'Bay St Louis', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68718, 'Mississippi Test Facility', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68719, 'N S T L', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68720, 'National Space Technology La', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68721, 'Stennis Ctr', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68722, 'Stennis Sp Ct', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68723, 'Stennis Space Center', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68724, 'Stennis Spc Ctr', 2805, '39529', '228', '30.386707', '-89.613906', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68725, 'Biloxi', 2805, '39534', '228', '30.408991', '-88.921304', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68726, 'Boloxi', 2805, '39534', '228', '30.408991', '-88.921304', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68727, 'Keesler AFB', 2805, '39534', '228', '30.408991', '-88.921304', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68728, 'Keesler Air Force Base', 2805, '39534', '228', '30.408991', '-88.921304', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68729, 'Keesler Field', 2805, '39534', '228', '30.408991', '-88.921304', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68730, 'Arlington', 2805, '39629', '601', '31.448187', '-90.451153', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68731, 'Bogue Chitto', 2805, '39629', '601', '31.448187', '-90.451153', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68732, 'Bouge Chitto', 2805, '39629', '601', '31.448187', '-90.451153', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68733, 'Loyd', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68734, 'Reid', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68735, 'Vardaman', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68736, 'Varden', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 05:12:15', '2018-11-29 05:12:15');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(68737, 'Wardwell', 2805, '38878', '662', '33.930604', '-89.200201', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68738, 'Verona', 2805, '38879', '662', '34.188607', '-88.710742', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68739, 'N Carrollton', 2805, '38947', '662', '33.530286', '-89.92513', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68740, 'North Carrollton', 2805, '38947', '662', '33.530286', '-89.92513', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68741, 'Oakland', 2805, '38948', '662', '34.079811', '-89.860022', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68742, 'Pine Flat', 2805, '38965', '662', '34.138958', '-89.614737', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68743, 'Pine Valley', 2805, '38965', '662', '34.138958', '-89.614737', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68744, 'Springdale', 2805, '38965', '662', '34.138958', '-89.614737', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68745, 'Velma', 2805, '38965', '662', '34.138958', '-89.614737', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68746, 'Water Valley', 2805, '38965', '662', '34.138958', '-89.614737', '2018-11-29 05:12:15', '2018-11-29 05:12:15'),\n(68747, 'Camden', 2805, '39045', '662', '32.785577', '-89.857382', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68748, 'Durant', 2805, '39063', '662', '33.130545', '-89.874066', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68749, 'Harrisville', 2805, '39082', '601', '31.938726', '-90.133243', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68750, 'Lexington', 2805, '39095', '662', '33.11528', '-90.132697', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68751, 'Louise', 2805, '39097', '662', '33.00853', '-90.575744', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68752, 'Mendenhall', 2805, '39114', '601', '31.936424', '-89.823954', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68753, 'Midnight', 2805, '39115', '662', '33.082301', '-90.606339', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68754, 'Pelahatchie', 2805, '39145', '601', '32.332871', '-89.796424', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68755, 'Pickens', 2805, '39146', '662', '32.889393', '-89.989015', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68756, 'Satartia', 2805, '39162', '662', '32.611789', '-90.637117', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68757, 'Pickens', 2805, '39179', '662', '32.799599', '-90.081947', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68758, 'Vaughan', 2805, '39179', '662', '32.799599', '-90.081947', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68759, 'Vburg', 2805, '39181', '601', '32.3526', '-90.8778', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68760, 'Vicksburg', 2805, '39181', '601', '32.3526', '-90.8778', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68761, 'Jackson', 2805, '39213', '601', '32.407478', '-90.216692', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68762, 'Jax', 2805, '39213', '601', '32.407478', '-90.216692', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68763, 'Jksn', 2805, '39213', '601', '32.407478', '-90.216692', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68764, 'Jxn', 2805, '39213', '601', '32.407478', '-90.216692', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68765, 'Jackson', 2805, '39215', '601', '32.2986', '-90.1849', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68766, 'Jax', 2805, '39215', '601', '32.2986', '-90.1849', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68767, 'Jksn', 2805, '39215', '601', '32.2986', '-90.1849', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68768, 'Belfry', 2806, '59008', '406', '45.072557', '-109.132188', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68769, 'Bighorn', 2806, '59010', '406', '46.036144', '-107.228973', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68770, 'Joliet', 2806, '59041', '406', '45.484897', '-109.027291', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68771, 'Silesia', 2806, '59041', '406', '45.484897', '-109.027291', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68772, 'Beehive', 2806, '59061', '406', '45.439504', '-109.799799', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68773, 'Nye', 2806, '59061', '406', '45.439504', '-109.799799', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68774, 'Saint Xavier', 2806, '59075', '406', '45.474524', '-107.901348', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68775, 'Bainville', 2806, '59212', '406', '48.192826', '-104.20919', '2018-11-29 05:12:16', '2018-11-29 05:12:16'),\n(68776, 'Froid', 2806, '59226', '406', '48.302532', '-104.405496', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68777, 'Enid', 2806, '59243', '406', '47.752966', '-104.73019', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68778, 'Lambert', 2806, '59243', '406', '47.752966', '-104.73019', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68779, 'Richey', 2806, '59259', '406', '47.636074', '-105.00007', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68780, 'Richland', 2806, '59260', '406', '48.727959', '-106.309592', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68781, 'Westby', 2806, '59275', '406', '48.852233', '-104.221782', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68782, 'Whitetail', 2806, '59276', '406', '48.922837', '-105.371072', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68783, 'Olive', 2806, '59343', '406', '45.541206', '-105.6681', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68784, 'Plevna', 2806, '59344', '406', '46.404016', '-104.560461', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68785, 'Armington', 2806, '59412', '406', '47.326007', '-110.89324', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68786, 'Belt', 2806, '59412', '406', '47.326007', '-110.89324', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68787, 'Wayne', 2806, '59412', '406', '47.326007', '-110.89324', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68788, 'Galata', 2806, '59444', '406', '48.522484', '-111.375864', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68789, 'Loma', 2806, '59460', '406', '47.983306', '-110.44107', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68790, 'Lothair', 2806, '59461', '406', '48.4719', '-111.2324', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68791, 'Benchland', 2806, '59462', '406', '47.11386', '-109.893344', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68792, 'Moccasin', 2806, '59462', '406', '47.11386', '-109.893344', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68793, 'Simms', 2806, '59477', '406', '47.430211', '-111.969028', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68794, 'Whitewater', 2806, '59544', '406', '48.839491', '-107.403616', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68795, 'Whitlash', 2806, '59545', '406', '48.840213', '-111.066738', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68796, 'Helena', 2806, '59626', '406', '46.5925', '-112.0355', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68797, 'Toston', 2806, '59643', '406', '46.186346', '-111.348552', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68798, 'Divide', 2806, '59727', '406', '45.780145', '-112.71485', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68799, 'Ennis', 2806, '59729', '406', '45.309019', '-111.63618', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68800, 'Gallatin Gateway', 2806, '59730', '406', '45.348288', '-111.26992', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68801, 'Gallatin Gtwy', 2806, '59730', '406', '45.348288', '-111.26992', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68802, 'Norris', 2806, '59745', '406', '45.538192', '-111.799766', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68803, 'Polaris', 2806, '59746', '406', '45.557488', '-113.165238', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68804, 'Wisdom', 2806, '59761', '406', '45.741406', '-113.554742', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68805, 'Wise River', 2806, '59762', '406', '45.746818', '-113.132228', '2018-11-29 05:12:17', '2018-11-29 05:12:17'),\n(68806, 'Missoula', 2806, '59812', '406', '46.859918', '-113.980194', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68807, 'Msla', 2806, '59812', '406', '46.859918', '-113.980194', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68808, 'Univ Of Mt Missoula', 2806, '59812', '406', '46.859918', '-113.980194', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68809, 'Heron', 2806, '59844', '406', '48.055302', '-115.914386', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68810, 'Huson', 2806, '59846', '406', '47.138122', '-114.535003', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68811, 'Polson', 2806, '59860', '406', '47.733172', '-114.2628', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68812, 'Proctor', 2806, '59929', '406', '47.900502', '-114.396833', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68813, 'Rexford', 2806, '59930', '406', '48.790439', '-115.299405', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68814, 'Huntley', 2806, '59037', '406', '45.879751', '-108.221362', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68815, 'Pompey Pillar', 2806, '59064', '406', '45.901847', '-107.866137', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68816, 'Pompeys Pillar', 2806, '59064', '406', '45.901847', '-107.866137', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68817, 'Cat Creek', 2806, '59087', '406', '47.173641', '-108.28122', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68818, 'Winnett', 2806, '59087', '406', '47.173641', '-108.28122', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68819, 'Billings', 2806, '59107', '406', '45.7834', '-108.5003', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68820, 'Brockway', 2806, '59214', '406', '47.216413', '-105.841457', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68821, 'Fort Peck', 2806, '59223', '406', '47.982798', '-106.616728', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68822, 'Colstrip', 2806, '59323', '406', '45.922134', '-106.685145', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68823, 'Lindsay', 2806, '59339', '406', '47.224382', '-105.175813', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68824, 'Brady', 2806, '59416', '406', '48.036652', '-111.696099', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68825, 'Heart Butte', 2806, '59448', '406', '48.215698', '-112.968774', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68826, 'Heath', 2806, '59457', '406', '46.94736', '-109.387626', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68827, 'Lewistown', 2806, '59457', '406', '46.94736', '-109.387626', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68828, 'Moore', 2806, '59464', '406', '46.993248', '-109.623508', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68829, 'Ferdig', 2806, '59466', '406', '48.769057', '-111.758722', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68830, 'Oilmont', 2806, '59466', '406', '48.769057', '-111.758722', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68831, 'Stockett', 2806, '59480', '406', '47.195162', '-111.141998', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68832, 'Sunburst', 2806, '59482', '406', '48.839664', '-111.731692', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68833, 'Chinook', 2806, '59523', '406', '48.629519', '-109.195638', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68834, 'City County Building', 2806, '59623', '406', '46.5925', '-112.0355', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68835, 'Helena', 2806, '59623', '406', '46.5925', '-112.0355', '2018-11-29 05:12:18', '2018-11-29 05:12:18'),\n(68836, 'Carroll College', 2806, '59625', '406', '46.601836', '-112.038031', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68837, 'Helena', 2806, '59625', '406', '46.601836', '-112.038031', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68838, 'Butte', 2806, '59707', '406', '46.0038', '-112.5337', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68839, 'Northwestern Energy', 2806, '59707', '406', '46.0038', '-112.5337', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68840, 'Dillon', 2806, '59725', '406', '45.12459', '-112.875788', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68841, 'Grant', 2806, '59725', '406', '45.12459', '-112.875788', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68842, 'Ramsay', 2806, '59748', '406', '46.104603', '-112.695426', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68843, 'Butte', 2806, '59750', '406', '45.978364', '-112.773104', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68844, 'Silverbow', 2806, '59750', '406', '45.978364', '-112.773104', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68845, 'Missoula', 2806, '59807', '406', '46.8722', '-113.9932', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68846, 'Msla', 2806, '59807', '406', '46.8722', '-113.9932', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68847, 'Frenchtown', 2806, '59834', '406', '47.067718', '-114.246738', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68848, 'Helmville', 2806, '59843', '406', '46.87284', '-113.001067', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68849, 'Hot Springs', 2806, '59848', '406', '47.726702', '-114.639386', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68850, 'Lonepine', 2806, '59848', '406', '47.726702', '-114.639386', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68851, 'Greenough', 2806, '59868', '406', '47.247056', '-113.618201', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68852, 'Seeley Lake', 2806, '59868', '406', '47.247056', '-113.618201', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68853, 'Libby', 2806, '59923', '406', '48.368025', '-115.32546', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68854, 'Zurich', 2806, '59547', '406', '48.663342', '-109.012482', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68855, 'Basin', 2806, '59631', '406', '46.2574', '-112.369114', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68856, 'Marysville', 2806, '59640', '406', '46.749862', '-112.301262', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68857, 'Winston', 2806, '59647', '406', '46.39906', '-111.667275', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68858, 'Butte', 2806, '59701', '406', '45.98744', '-112.505212', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68859, 'Rocker', 2806, '59701', '406', '45.98744', '-112.505212', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68860, 'Walkerville', 2806, '59701', '406', '45.98744', '-112.505212', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68861, 'Dell', 2806, '59724', '406', '44.82668', '-113.239303', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68862, 'Sheridan', 2806, '59749', '406', '45.422152', '-112.159417', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68863, 'Silver Star', 2806, '59751', '406', '45.704863', '-112.339903', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68864, 'Missoula', 2806, '59806', '406', '46.8722', '-113.9932', '2018-11-29 05:12:19', '2018-11-29 05:12:19'),\n(68865, 'Msla', 2806, '59806', '406', '46.8722', '-113.9932', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68866, 'Condon', 2806, '59826', '406', '47.435958', '-113.708792', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68867, 'Swan Valley', 2806, '59826', '406', '47.435958', '-113.708792', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68868, 'Florence', 2806, '59833', '406', '46.66786', '-114.073916', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68869, 'Philipsburg', 2806, '59858', '406', '46.254932', '-113.430046', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68870, 'Eureka', 2806, '59917', '406', '48.683224', '-114.893842', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68871, 'Rollins', 2806, '59931', '406', '47.923523', '-114.189879', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68872, 'Big Timber', 2806, '59011', '406', '45.923758', '-109.731608', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68873, 'Edgar', 2806, '59026', '406', '45.434064', '-108.754762', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68874, 'Fishtail', 2806, '59028', '406', '45.331892', '-109.727868', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68875, 'Laurel', 2806, '59044', '406', '45.632155', '-108.766404', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68876, 'Hysham', 2806, '59076', '406', '46.293856', '-107.111898', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68877, 'Sanders', 2806, '59076', '406', '46.293856', '-107.111898', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68878, 'Sand Springs', 2806, '59077', '406', '47.064324', '-107.301586', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68879, 'Frazer', 2806, '59225', '406', '48.256154', '-105.950937', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68880, 'Lustre', 2806, '59225', '406', '48.256154', '-105.950937', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68881, 'Larslan', 2806, '59244', '406', '48.534683', '-106.19138', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68882, 'Saco', 2806, '59261', '406', '48.632704', '-107.47901', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68883, 'Savage', 2806, '59262', '406', '47.515272', '-104.352696', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68884, 'Alzada', 2806, '59311', '406', '45.224248', '-104.262914', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68885, 'Angela', 2806, '59312', '406', '46.66485', '-106.323566', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68886, 'Fallon', 2806, '59326', '406', '46.715612', '-105.181239', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68887, 'Forsyth', 2806, '59327', '406', '46.437169', '-106.994662', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68888, 'Babb', 2806, '59411', '406', '48.849149', '-113.313339', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68889, 'Cut Bank', 2806, '59427', '406', '48.737926', '-112.640302', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68890, 'Del Bonita', 2806, '59427', '406', '48.737926', '-112.640302', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68891, 'Santa Rita', 2806, '59427', '406', '48.737926', '-112.640302', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68892, 'Stanford', 2806, '59479', '406', '47.159856', '-110.159884', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68893, 'Windham', 2806, '59479', '406', '47.159856', '-110.159884', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68894, 'Hays', 2806, '59527', '406', '48.2323', '-108.657383', '2018-11-29 05:12:20', '2018-11-29 05:12:20'),\n(68895, 'Hogeland', 2806, '59529', '406', '48.870619', '-108.745198', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68896, 'Townsend', 2806, '59644', '406', '46.477731', '-111.359224', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68897, 'White Sulphur Springs', 2806, '59645', '406', '46.636168', '-110.96972', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68898, 'Wht Sphr Spgs', 2806, '59645', '406', '46.636168', '-110.96972', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68899, 'Alder', 2806, '59710', '406', '45.078346', '-112.113718', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68900, 'Anaconda', 2806, '59711', '406', '46.125513', '-113.067625', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68901, 'Fairmont', 2806, '59711', '406', '46.125513', '-113.067625', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68902, 'Georgetown', 2806, '59711', '406', '46.125513', '-113.067625', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68903, 'Opportunity', 2806, '59711', '406', '46.125513', '-113.067625', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68904, 'Melrose', 2806, '59743', '406', '45.649396', '-112.621791', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68905, 'Conner', 2806, '59827', '406', '45.816318', '-114.115482', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68906, 'De Borgia', 2806, '59830', '406', '47.3759', '-115.3453', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68907, 'Lolo', 2806, '59847', '406', '46.759625', '-114.367472', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68908, 'Boyd', 2806, '59013', '406', '45.465191', '-109.111768', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68909, 'Broadview', 2806, '59015', '406', '46.052654', '-108.866574', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68910, 'Comanche', 2806, '59015', '406', '46.052654', '-108.866574', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68911, 'Crow Agency', 2806, '59022', '406', '45.6434', '-107.543122', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68912, 'Custer', 2806, '59024', '406', '46.269805', '-107.704485', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68913, 'Park City', 2806, '59063', '406', '45.67541', '-109.0007', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68914, 'Ryegate', 2806, '59074', '406', '46.373379', '-109.37811', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68915, 'Shepherd', 2806, '59079', '406', '46.083405', '-108.379262', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68916, 'Billings', 2806, '59104', '406', '45.7834', '-108.5003', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68917, 'Billings', 2806, '59115', '406', '45.7834', '-108.5003', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68918, 'Us Bank', 2806, '59115', '406', '45.7834', '-108.5003', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68919, 'Brockton', 2806, '59213', '406', '48.313914', '-104.843172', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68920, 'Flaxville', 2806, '59222', '406', '48.722483', '-105.13695', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68921, 'Baker', 2806, '59313', '406', '46.283489', '-104.325535', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68922, 'Rosebud', 2806, '59347', '406', '46.181926', '-106.53453', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68923, 'Terry', 2806, '59349', '406', '46.903013', '-105.565757', '2018-11-29 05:12:21', '2018-11-29 05:12:21'),\n(68924, 'Geyser', 2806, '59447', '406', '47.297299', '-110.421812', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68925, 'Sun River', 2806, '59483', '406', '47.44725', '-111.68284', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68926, 'Rudyard', 2806, '59540', '406', '48.652747', '-110.51597', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68927, 'Turner', 2806, '59542', '406', '48.861887', '-108.374174', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68928, 'Greycliff', 2806, '59033', '406', '45.712607', '-109.749704', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68929, 'Harlowton', 2806, '59036', '406', '46.484946', '-109.86957', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68930, 'Lodge Grass', 2806, '59050', '406', '45.280199', '-107.85497', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68931, 'Mc Leod', 2806, '59052', '406', '45.447796', '-109.986396', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68932, 'Mcleod', 2806, '59052', '406', '45.447796', '-109.986396', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68933, 'Luther', 2806, '59068', '406', '45.184486', '-109.48328', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68934, 'Red Lodge', 2806, '59068', '406', '45.184486', '-109.48328', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68935, 'Fox', 2806, '59070', '406', '45.370408', '-109.221826', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68936, 'Roberts', 2806, '59070', '406', '45.370408', '-109.221826', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68937, 'Sumatra', 2806, '59083', '406', '46.6183', '-107.5507', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68938, 'Billings', 2806, '59101', '406', '45.66025', '-108.384307', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68939, 'Lockwood', 2806, '59101', '406', '45.66025', '-108.384307', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68940, 'Wolf Point', 2806, '59201', '406', '48.136064', '-105.529953', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68941, 'Crane', 2806, '59217', '406', '47.578888', '-104.26446', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68942, 'Outlook', 2806, '59252', '406', '48.906552', '-104.763244', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68943, 'Miles City', 2806, '59301', '406', '46.387552', '-105.887242', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68944, 'Brusett', 2806, '59318', '406', '47.319655', '-107.581816', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68945, 'Birney', 2806, '59012', '406', '45.342717', '-106.501278', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68946, 'Corwin Springs', 2806, '59030', '406', '45.134766', '-110.42251', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68947, 'Gardiner', 2806, '59030', '406', '45.134766', '-110.42251', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68948, 'Jardine', 2806, '59030', '406', '45.134766', '-110.42251', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68949, 'Delphia', 2806, '59073', '406', '46.5044', '-108.2188', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68950, 'Roundup', 2806, '59073', '406', '46.5044', '-108.2188', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68951, 'Wyola', 2806, '59089', '406', '45.128778', '-107.631796', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68952, 'Billings', 2806, '59105', '406', '45.870284', '-108.491903', '2018-11-29 05:12:22', '2018-11-29 05:12:22'),\n(68953, 'Billings', 2806, '59116', '406', '45.7834', '-108.5003', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68954, 'First Interstate Bank', 2806, '59116', '406', '45.7834', '-108.5003', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68955, 'Glasgow', 2806, '59230', '406', '48.386634', '-106.611537', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68956, 'Saint Marie', 2806, '59230', '406', '48.386634', '-106.611537', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68957, 'Tampico', 2806, '59230', '406', '48.386634', '-106.611537', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68958, 'Hinsdale', 2806, '59241', '406', '48.576833', '-106.890579', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68959, 'Nashua', 2806, '59248', '406', '48.264101', '-106.287658', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68960, 'Redstone', 2806, '59257', '406', '48.815693', '-104.894472', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68961, 'Vandalia', 2806, '59273', '406', '48.3549', '-106.9095', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68962, 'Biddle', 2806, '59314', '406', '45.393756', '-105.450322', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68963, 'Hammond', 2806, '59332', '406', '45.393981', '-104.605135', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68964, 'Denton', 2806, '59430', '406', '47.395253', '-109.807219', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68965, 'Dupuyer', 2806, '59432', '406', '48.166684', '-112.636606', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68966, 'Highwood', 2806, '59450', '406', '47.588457', '-110.780272', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68967, 'Shonkin', 2806, '59450', '406', '47.588457', '-110.780272', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68968, 'Winifred', 2806, '59489', '406', '47.632388', '-109.166937', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68969, 'Gildford', 2806, '59525', '406', '48.631712', '-110.259949', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68970, 'Inverness', 2806, '59530', '406', '48.609263', '-110.657704', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68971, 'Radersburg', 2806, '59641', '406', '46.09611', '-111.672418', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68972, 'Craig', 2806, '59648', '406', '46.966618', '-111.933811', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68973, 'Wolf Creek', 2806, '59648', '406', '46.966618', '-111.933811', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68974, 'Belgrade', 2806, '59714', '406', '45.961257', '-111.060321', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68975, 'Glen', 2806, '59732', '406', '45.4768', '-112.6894', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68976, 'Whitehall', 2806, '59759', '406', '45.943298', '-112.167683', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68977, 'Bonner', 2806, '59823', '406', '46.959454', '-113.574676', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68978, 'Greenough', 2806, '59823', '406', '46.959454', '-113.574676', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68979, 'Potomac', 2806, '59823', '406', '46.959454', '-113.574676', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68980, 'Clinton', 2806, '59825', '406', '46.682444', '-113.715441', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68981, 'Harlem', 2806, '59526', '406', '48.610114', '-108.67569', '2018-11-29 05:12:23', '2018-11-29 05:12:23'),\n(68982, 'Hingham', 2806, '59528', '406', '48.618308', '-110.420785', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68983, 'Zortman', 2806, '59546', '406', '47.770753', '-108.147703', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68984, 'Avon', 2806, '59713', '406', '46.653534', '-112.588591', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68985, 'Elliston', 2806, '59728', '406', '46.461189', '-112.498438', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68986, 'Pony', 2806, '59747', '406', '45.662589', '-111.924281', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68987, 'Willow Creek', 2806, '59760', '406', '45.8255', '-111.6436', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68988, 'Corvallis', 2806, '59828', '406', '46.344226', '-113.965932', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68989, 'Darby', 2806, '59829', '406', '45.78372', '-114.255027', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68990, 'Hot Springs', 2806, '59845', '406', '47.650288', '-114.560717', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68991, 'Niarada', 2806, '59845', '406', '47.650288', '-114.560717', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68992, 'Ravalli', 2806, '59863', '406', '47.2775', '-114.1794', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68993, 'Ronan', 2806, '59864', '406', '47.515186', '-114.142588', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68994, 'Bigfork', 2806, '59911', '406', '47.876626', '-113.872384', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68995, 'Swan Lake', 2806, '59911', '406', '47.876626', '-113.872384', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68996, 'Dayton', 2806, '59914', '406', '47.868722', '-114.271074', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68997, 'Columbia Falls', 2806, '59912', '406', '48.412427', '-114.179464', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68998, 'Columbia Fls', 2806, '59912', '406', '48.412427', '-114.179464', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(68999, 'Coram', 2806, '59913', '406', '48.428316', '-113.981432', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69000, 'Olney', 2806, '59927', '406', '48.593246', '-114.695844', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69001, 'Polebridge', 2806, '59928', '406', '48.744658', '-114.429201', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69002, 'Turah', 2806, '59825', '406', '46.682444', '-113.715441', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69003, 'Drummond', 2806, '59832', '406', '46.568854', '-113.458522', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69004, 'Plains', 2806, '59859', '406', '47.634739', '-114.800384', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69005, 'Saint Regis', 2806, '59866', '406', '47.321126', '-115.349649', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69006, 'St Regis', 2806, '59866', '406', '47.321126', '-115.349649', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69007, 'Fortine', 2806, '59918', '406', '48.803686', '-114.804616', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69008, 'Somers', 2806, '59932', '406', '48.072906', '-114.202986', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69009, 'Trego', 2806, '59934', '406', '48.553972', '-114.906932', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69010, 'Capitol', 2806, '59319', '406', '45.4864', '-104.2073', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69011, 'Willard', 2806, '59354', '406', '46.117998', '-104.468232', '2018-11-29 05:12:24', '2018-11-29 05:12:24'),\n(69012, 'Great Falls', 2806, '59401', '406', '47.516219', '-111.277722', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69013, 'Blackfoot', 2806, '59417', '406', '48.584461', '-112.823129', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69014, 'Browning', 2806, '59417', '406', '48.584461', '-112.823129', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69015, 'Saint Mary', 2806, '59417', '406', '48.584461', '-112.823129', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69016, 'St Mary', 2806, '59417', '406', '48.584461', '-112.823129', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69017, 'Buffalo', 2806, '59418', '406', '46.794993', '-109.716828', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69018, 'Straw', 2806, '59418', '406', '46.794993', '-109.716828', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69019, 'Power', 2806, '59468', '406', '47.682771', '-111.613974', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69020, 'Valier', 2806, '59486', '406', '48.306448', '-112.389509', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69021, 'Lloyd', 2806, '59535', '406', '48.038199', '-109.217743', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69022, 'Loring', 2806, '59537', '406', '48.7728', '-107.885086', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69023, 'Helena', 2806, '59620', '406', '46.5925', '-112.0355', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69024, 'State Of Montana', 2806, '59620', '406', '46.5925', '-112.0355', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69025, 'East Helena', 2806, '59635', '406', '46.6016', '-111.840547', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69026, 'Fort Harrison', 2806, '59636', '406', '46.619599', '-112.110142', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69027, 'Bozeman', 2806, '59718', '406', '45.657979', '-111.203482', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69028, 'Twin Bridges', 2806, '59754', '406', '45.505736', '-112.461728', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69029, 'Bozeman', 2806, '59771', '406', '45.6799', '-111.0378', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69030, 'Ovando', 2806, '59854', '406', '47.245003', '-113.131163', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69031, 'Sula', 2806, '59871', '406', '45.87041', '-113.758475', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69032, 'Kalispell', 2806, '59903', '406', '48.1956', '-114.3117', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69033, 'Kalispell', 2806, '59904', '406', '48.1956', '-114.3117', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69034, 'Hungry Horse', 2806, '59919', '406', '48.025264', '-113.589525', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69035, 'Kila', 2806, '59920', '406', '48.016178', '-114.528635', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69036, 'Lake Mc Donald', 2806, '59921', '406', '48.588582', '-113.956124', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69037, 'Lake Mcdonald', 2806, '59921', '406', '48.588582', '-113.956124', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69038, 'West Glacier', 2806, '59921', '406', '48.588582', '-113.956124', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69039, 'Jefferson Cty', 2806, '59638', '406', '46.36723', '-112.169046', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69040, 'Bozeman', 2806, '59719', '406', '45.6748', '-111.0495', '2018-11-29 05:12:25', '2018-11-29 05:12:25'),\n(69041, 'Virginia City', 2806, '59755', '406', '45.094567', '-112.143716', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69042, 'Bozeman', 2806, '59772', '406', '45.6799', '-111.0378', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69043, 'Missoula', 2806, '59802', '406', '46.99115', '-113.869929', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69044, 'Msla', 2806, '59802', '406', '46.99115', '-113.869929', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69045, 'Alberton', 2806, '59820', '406', '46.881993', '-114.56852', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69046, 'Arlee', 2806, '59821', '406', '47.185222', '-114.012178', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69047, 'Noxon', 2806, '59853', '406', '48.09717', '-115.727625', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69048, 'Pablo', 2806, '59855', '406', '47.59141', '-114.118524', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69049, 'Lakeside', 2806, '59922', '406', '47.998872', '-114.210798', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69050, 'Apgar', 2806, '59936', '406', '48.474215', '-113.775744', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69051, 'West Glacier', 2806, '59936', '406', '48.474215', '-113.775744', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69052, 'Conrad', 2806, '59425', '406', '48.164852', '-111.839036', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69053, 'Forest Grove', 2806, '59441', '406', '46.875683', '-109.087613', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69054, 'Kremlin', 2806, '59532', '406', '48.596559', '-110.014206', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69055, 'Boulder', 2806, '59632', '406', '46.210601', '-112.190784', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69056, 'Clancy', 2806, '59634', '406', '46.398374', '-112.185978', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69057, 'Montana City', 2806, '59634', '406', '46.398374', '-112.185978', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69058, 'Lincoln', 2806, '59639', '406', '47.132832', '-112.701016', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69059, 'Big Sky', 2806, '59716', '406', '45.28116', '-111.322557', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69060, 'Lima', 2806, '59739', '406', '44.64286', '-112.275669', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69061, 'Amsterdam', 2806, '59741', '406', '45.768292', '-111.3739', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69062, 'Manhattan', 2806, '59741', '406', '45.768292', '-111.3739', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69063, 'Pinesdale', 2806, '59841', '406', '46.0928', '-114.0706', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69064, 'Copper King', 2806, '59873', '406', '47.662285', '-115.451108', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69065, 'Snider', 2806, '59873', '406', '47.662285', '-115.451108', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69066, 'Thompson Falls', 2806, '59873', '406', '47.662285', '-115.451108', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69067, 'Thompson Fls', 2806, '59873', '406', '47.662285', '-115.451108', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69068, 'Victor', 2806, '59875', '406', '46.403682', '-114.268698', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69069, 'Essex', 2806, '59916', '406', '48.61747', '-113.904599', '2018-11-29 05:12:26', '2018-11-29 05:12:26'),\n(69070, 'Marion', 2806, '59925', '406', '48.049924', '-114.798074', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69071, 'Missoula', 2806, '59803', '406', '46.766963', '-113.972612', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69072, 'Msla', 2806, '59803', '406', '46.766963', '-113.972612', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69073, 'Missoula', 2806, '59804', '406', '46.87078', '-114.208157', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69074, 'Msla', 2806, '59804', '406', '46.87078', '-114.208157', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69075, 'Grantsdale', 2806, '59835', '406', '46.2039', '-114.1409', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69076, 'Hall', 2806, '59837', '406', '46.512877', '-113.215767', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69077, 'Stevensville', 2806, '59870', '406', '46.506214', '-114.105726', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69078, 'Superior', 2806, '59872', '406', '47.075244', '-114.870064', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69079, 'Whitefish', 2806, '59937', '406', '48.516644', '-114.554964', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69080, 'St Marie', 2806, '59231', '406', '48.406155', '-106.487732', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69081, 'Bloomfield', 2806, '59315', '406', '47.415927', '-104.959495', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69082, 'Cohagen', 2806, '59322', '406', '47.174953', '-106.557262', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69083, 'Ekalaka', 2806, '59324', '406', '45.844904', '-104.512048', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69084, 'Mill Iron', 2806, '59324', '406', '45.844904', '-104.512048', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69085, 'Kinsey', 2806, '59338', '406', '46.64791', '-105.832929', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69086, 'Choteau', 2806, '59422', '406', '47.857854', '-112.426962', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69087, 'Coffee Creek', 2806, '59424', '406', '47.373173', '-110.0855', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69088, 'Fort Benton', 2806, '59442', '406', '47.910484', '-110.732658', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69089, 'Neihart', 2806, '59465', '406', '46.957254', '-110.746764', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69090, 'Pendroy', 2806, '59467', '406', '48.066114', '-112.305632', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69091, 'Ringling', 2806, '59642', '406', '46.298654', '-110.965494', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69092, 'Bozeman', 2806, '59715', '406', '45.662905', '-110.924342', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69093, 'Bozeman', 2806, '59717', '406', '45.66818', '-111.049879', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69094, 'Montana State Univ Bozeman', 2806, '59717', '406', '45.66818', '-111.049879', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69095, 'Garrison', 2806, '59731', '406', '46.581556', '-112.615491', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69096, 'Mc Allister', 2806, '59740', '406', '45.479121', '-111.82033', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69097, 'Mcallister', 2806, '59740', '406', '45.479121', '-111.82033', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69098, 'W Yellowstone', 2806, '59758', '406', '44.791571', '-111.210061', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69099, 'West Yellowstone', 2806, '59758', '406', '44.791571', '-111.210061', '2018-11-29 05:12:27', '2018-11-29 05:12:27'),\n(69100, 'Missoula', 2806, '59808', '406', '46.999722', '-114.113799', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69101, 'Msla', 2806, '59808', '406', '46.999722', '-114.113799', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69102, 'Dixon', 2806, '59831', '406', '47.308708', '-114.37059', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69103, 'Hamilton', 2806, '59840', '406', '46.170143', '-114.138431', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69104, 'Pinesdale', 2806, '59840', '406', '46.170143', '-114.138431', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69105, 'Haugan', 2806, '59842', '406', '47.339573', '-115.451397', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69106, 'Milltown', 2806, '59851', '406', '46.869362', '-113.879354', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69107, 'Saint Ignatius', 2806, '59865', '406', '47.335142', '-114.031896', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69108, 'St Ignatius', 2806, '59865', '406', '47.335142', '-114.031896', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69109, 'Big Arm', 2806, '59910', '406', '47.785369', '-114.298867', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69110, 'Troy', 2806, '59935', '406', '48.57516', '-115.700607', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69111, 'Yaak', 2806, '59935', '406', '48.57516', '-115.700607', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69112, 'Crete', 2808, '58040', '701', '46.225169', '-97.788292', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69113, 'Gwinner', 2808, '58040', '701', '46.225169', '-97.788292', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69114, 'Hankinson', 2808, '58041', '701', '46.080466', '-96.91197', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69115, 'Luverne', 2808, '58056', '701', '47.261066', '-97.909048', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69116, 'Mcleod', 2808, '58057', '701', '46.42724', '-97.280882', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69117, 'Durbin', 2808, '58059', '701', '46.84726', '-97.125177', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69118, 'Mapleton', 2808, '58059', '701', '46.84726', '-97.125177', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69119, 'Wahpeton', 2808, '58074', '701', '46.2654', '-96.6056', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69120, 'Fargo', 2808, '58106', '701', '46.8774', '-96.7895', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69121, 'Gfafb Postal Service Center', 2808, '58207', '701', '47.9255', '-97.0325', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69122, 'Grand Forks', 2808, '58207', '701', '47.9255', '-97.0325', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69123, 'Grand Forks', 2808, '58208', '701', '47.93', '-97.0302', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69124, 'Hatton', 2808, '58240', '701', '47.65347', '-97.357294', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69125, 'Manvel', 2808, '58256', '701', '48.106736', '-97.237586', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69126, 'Michigan', 2808, '58259', '701', '48.063911', '-98.129413', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69127, 'Whitman', 2808, '58259', '701', '48.063911', '-98.129413', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69128, 'Gladstone', 2808, '58630', '701', '46.945351', '-102.564768', '2018-11-29 05:12:28', '2018-11-29 05:12:28'),\n(69129, 'Mafb', 2808, '58705', '701', '48.41502', '-101.332858', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69130, 'Minot', 2808, '58705', '701', '48.41502', '-101.332858', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69131, 'Minot A F B', 2808, '58705', '701', '48.41502', '-101.332858', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69132, 'Minot AFB', 2808, '58705', '701', '48.41502', '-101.332858', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69133, 'Minot Air Force Base', 2808, '58705', '701', '48.41502', '-101.332858', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69134, 'Bowbells', 2808, '58721', '701', '48.859547', '-102.28393', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69135, 'Coteau', 2808, '58721', '701', '48.859547', '-102.28393', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69136, 'Crosby', 2808, '58730', '701', '48.816381', '-103.175557', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69137, 'Flaxton', 2808, '58737', '701', '48.903041', '-102.350693', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69138, 'Northgate', 2808, '58737', '701', '48.903041', '-102.350693', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69139, 'Kramer', 2808, '58748', '701', '48.690499', '-100.614416', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69140, 'Mc Gregor', 2808, '58755', '701', '48.575358', '-102.940223', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69141, 'Mcgregor', 2808, '58755', '701', '48.575358', '-102.940223', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69142, 'Newberg', 2808, '58762', '701', '48.683258', '-100.954991', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69143, 'Newburg', 2808, '58762', '701', '48.683258', '-100.954991', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69144, 'Russell', 2808, '58762', '701', '48.683258', '-100.954991', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69145, 'Plaza', 2808, '58771', '701', '48.109136', '-101.95472', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69146, 'Wabek', 2808, '58771', '701', '48.109136', '-101.95472', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69147, 'Ruso', 2808, '58778', '701', '47.761377', '-100.896412', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69148, 'Greene', 2808, '58787', '701', '48.763618', '-101.773351', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69149, 'Tolley', 2808, '58787', '701', '48.763618', '-101.773351', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69150, 'Upham', 2808, '58789', '701', '48.574513', '-100.787272', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69151, 'Cayuga', 2808, '58013', '701', '46.065265', '-97.342748', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69152, 'Grandin', 2808, '58038', '701', '47.195364', '-96.960252', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69153, 'Havana', 2808, '58043', '701', '45.980163', '-97.514946', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69154, 'Oriska', 2808, '58063', '701', '46.964053', '-97.818484', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69155, 'Sheldon', 2808, '58068', '701', '46.542842', '-97.416338', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69156, 'Walcott', 2808, '58077', '701', '46.514306', '-96.951822', '2018-11-29 05:12:29', '2018-11-29 05:12:29'),\n(69157, 'Chaffee', 2808, '58079', '701', '46.854332', '-97.345768', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69158, 'Embden', 2808, '58079', '701', '46.854332', '-97.345768', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69159, 'Wheatland', 2808, '58079', '701', '46.854332', '-97.345768', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69160, 'Crystal', 2808, '58222', '701', '48.61554', '-97.687868', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69161, 'Hamilton', 2808, '58238', '701', '48.782406', '-97.415011', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69162, 'Hoople', 2808, '58243', '701', '48.521358', '-97.666244', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69163, 'Petersburg', 2808, '58272', '701', '48.013203', '-97.984686', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69164, 'Sharon', 2808, '58277', '701', '47.629392', '-97.920772', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69165, 'Hampden', 2808, '58338', '701', '48.536194', '-98.59989', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69166, 'Sarles', 2808, '58372', '701', '48.945987', '-99.001025', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69167, 'Starkweather', 2808, '58377', '701', '48.470984', '-98.840495', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69168, 'Tokio', 2808, '58379', '701', '47.905466', '-98.813466', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69169, 'Wood Lake', 2808, '58379', '701', '47.905466', '-98.813466', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69170, 'Buchanan', 2808, '58420', '701', '47.06643', '-98.87941', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69171, 'Dazey', 2808, '58429', '701', '47.175746', '-98.161416', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69172, 'Sibley', 2808, '58429', '701', '47.175746', '-98.161416', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69173, 'Jessie', 2808, '58452', '701', '47.5422', '-98.2376', '2018-11-29 05:12:30', '2018-11-29 05:12:30');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(69174, 'Litchville', 2808, '58461', '701', '46.64555', '-98.173237', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69175, 'Regan', 2808, '58477', '701', '47.154956', '-100.531195', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69176, 'Ypsilanti', 2808, '58497', '701', '46.7616', '-98.533763', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69177, 'Almont', 2808, '58520', '701', '46.69423', '-101.518728', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69178, 'Fort Yates', 2808, '58538', '701', '46.066638', '-100.692125', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69179, 'Ft Yates', 2808, '58538', '701', '46.066638', '-100.692125', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69180, 'Fort Rice', 2808, '58554', '701', '46.681351', '-100.926762', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69181, 'Huff', 2808, '58554', '701', '46.681351', '-100.926762', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69182, 'Mandan', 2808, '58554', '701', '46.681351', '-100.926762', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69183, 'Saint Anthony', 2808, '58554', '701', '46.681351', '-100.926762', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69184, 'St Anthony', 2808, '58554', '701', '46.681351', '-100.926762', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69185, 'Napoleon', 2808, '58561', '701', '46.457599', '-99.654364', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69186, 'Blue Grass', 2808, '58563', '701', '46.925372', '-101.421708', '2018-11-29 05:12:30', '2018-11-29 05:12:30'),\n(69187, 'Hannover', 2808, '58563', '701', '46.925372', '-101.421708', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69188, 'Judson', 2808, '58563', '701', '46.925372', '-101.421708', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69189, 'New Salem', 2808, '58563', '701', '46.925372', '-101.421708', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69190, 'Halliday', 2808, '58636', '701', '47.372924', '-102.334874', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69191, 'Twin Buttes', 2808, '58636', '701', '47.372924', '-102.334874', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69192, 'Werner', 2808, '58636', '701', '47.372924', '-102.334874', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69193, 'Medora', 2808, '58645', '701', '46.785112', '-103.447859', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69194, 'Sentinel', 2808, '58654', '701', '46.767912', '-103.767006', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69195, 'Sentinel Butte', 2808, '58654', '701', '46.767912', '-103.767006', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69196, 'Sentinl Butte', 2808, '58654', '701', '46.767912', '-103.767006', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69197, 'Antler', 2808, '58711', '701', '48.917504', '-101.321672', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69198, 'Kuroki', 2808, '58711', '701', '48.917504', '-101.321672', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69199, 'Sawyer', 2808, '58781', '701', '47.980666', '-101.131422', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69200, 'Cartwright', 2808, '58838', '701', '47.672438', '-103.736808', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69201, 'Christine', 2808, '58015', '701', '46.54401', '-96.788929', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69202, 'Clifford', 2808, '58016', '701', '47.367789', '-97.410337', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69203, 'Brampton', 2808, '58017', '701', '46.0588', '-97.841457', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69204, 'Cogswell', 2808, '58017', '701', '46.0588', '-97.841457', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69205, 'Straubville', 2808, '58017', '701', '46.0588', '-97.841457', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69206, 'Forman', 2808, '58032', '701', '46.06592', '-97.633107', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69207, 'Hunter', 2808, '58048', '701', '47.187891', '-97.218257', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69208, 'Wyndmere', 2808, '58081', '701', '46.340287', '-97.145733', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69209, 'Grand Forks', 2808, '58201', '701', '47.87222', '-97.12256', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69210, 'Arvilla', 2808, '58214', '701', '47.933208', '-97.484201', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69211, 'Fordville', 2808, '58231', '701', '48.216572', '-97.860126', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69212, 'Dresden', 2808, '58249', '701', '48.85892', '-98.409746', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69213, 'Langdon', 2808, '58249', '701', '48.85892', '-98.409746', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69214, 'Mount Carmel', 2808, '58249', '701', '48.85892', '-98.409746', '2018-11-29 05:12:31', '2018-11-29 05:12:31'),\n(69215, 'Lankin', 2808, '58250', '701', '48.28199', '-98.011462', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69216, 'Neche', 2808, '58265', '701', '48.93879', '-97.572936', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69217, 'Niagara', 2808, '58266', '701', '47.984278', '-97.849478', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69218, 'Kempton', 2808, '58267', '701', '47.758858', '-97.592382', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69219, 'Northwood', 2808, '58267', '701', '47.758858', '-97.592382', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69220, 'Devils Lake', 2808, '58301', '701', '48.162471', '-98.889716', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69221, 'Devils Lk', 2808, '58301', '701', '48.162471', '-98.889716', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69222, 'Bisbee', 2808, '58317', '701', '48.580722', '-99.362594', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69223, 'Berlin', 2808, '58415', '701', '46.369946', '-98.473848', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69224, 'Lamoure', 2808, '58415', '701', '46.369946', '-98.473848', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69225, 'Binford', 2808, '58416', '701', '47.586336', '-98.372044', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69226, 'Kingsley', 2808, '58416', '701', '47.586336', '-98.372044', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69227, 'Hurdsfield', 2808, '58451', '701', '47.464896', '-99.936567', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69228, 'Crystal Spgs', 2808, '58467', '701', '46.870966', '-99.330555', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69229, 'Crystal Springs', 2808, '58467', '701', '46.870966', '-99.330555', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69230, 'Medina', 2808, '58467', '701', '46.870966', '-99.330555', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69231, 'Driscoll', 2808, '58532', '701', '46.86547', '-100.12068', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69232, 'Linton', 2808, '58552', '701', '46.265562', '-100.25394', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69233, 'Temvik', 2808, '58552', '701', '46.265562', '-100.25394', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69234, 'Selfridge', 2808, '58568', '701', '46.081246', '-101.398925', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69235, 'Dickinson', 2808, '58602', '701', '46.8795', '-102.7893', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69236, 'Golva', 2808, '58632', '701', '46.672099', '-103.923144', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69237, 'Reeder', 2808, '58649', '701', '46.113378', '-102.889238', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69238, 'Logan', 2808, '58701', '701', '48.087121', '-101.317866', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69239, 'Minot', 2808, '58701', '701', '48.087121', '-101.317866', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69240, 'Ruthville', 2808, '58701', '701', '48.087121', '-101.317866', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69241, 'South Prairie', 2808, '58701', '701', '48.087121', '-101.317866', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69242, 'Benedict', 2808, '58716', '701', '47.782794', '-101.067836', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69243, 'Norwich', 2808, '58768', '701', '48.240582', '-101.015948', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69244, 'Sherwood', 2808, '58782', '701', '48.946602', '-101.725596', '2018-11-29 05:12:32', '2018-11-29 05:12:32'),\n(69245, 'Carbury', 2808, '58783', '701', '48.859494', '-100.708821', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69246, 'Landa', 2808, '58783', '701', '48.859494', '-100.708821', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69247, 'Roth', 2808, '58783', '701', '48.859494', '-100.708821', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69248, 'Souris', 2808, '58783', '701', '48.859494', '-100.708821', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69249, 'Belden', 2808, '58784', '701', '48.32611', '-102.422551', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69250, 'Lostwood', 2808, '58784', '701', '48.32611', '-102.422551', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69251, 'Lunds Valley', 2808, '58784', '701', '48.32611', '-102.422551', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69252, 'Stanley', 2808, '58784', '701', '48.32611', '-102.422551', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69253, 'Bonetraill', 2808, '58801', '701', '48.209139', '-103.661174', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69254, 'Buford', 2808, '58801', '701', '48.209139', '-103.661174', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69255, 'Round Prairie', 2808, '58801', '701', '48.209139', '-103.661174', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69256, 'Williston', 2808, '58801', '701', '48.209139', '-103.661174', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69257, 'Williston', 2808, '58802', '701', '48.1335', '-103.6335', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69258, 'Arnegard', 2808, '58835', '701', '47.735143', '-103.488506', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69259, 'Argusville', 2808, '58005', '701', '47.059172', '-96.97302', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69260, 'Arthur', 2808, '58006', '701', '47.093486', '-97.196946', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69261, 'Gardner', 2808, '58042', '701', '46.955975', '-96.955196', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69262, 'Harwood', 2808, '58042', '701', '46.955975', '-96.955196', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69263, 'Prosper', 2808, '58042', '701', '46.955975', '-96.955196', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69264, 'Fargo', 2808, '58109', '701', '46.8774', '-96.7895', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69265, 'Fargo', 2808, '58122', '701', '46.8774', '-96.7895', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69266, 'Sanford', 2808, '58122', '701', '46.8774', '-96.7895', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69267, 'Grand Forks', 2808, '58206', '701', '47.9255', '-97.0325', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69268, 'Cummings', 2808, '58223', '701', '47.541398', '-96.967322', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69269, 'Bowesmont', 2808, '58225', '701', '48.60084', '-97.247064', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69270, 'Drayton', 2808, '58225', '701', '48.60084', '-97.247064', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69271, 'Mekinock', 2808, '58258', '701', '48.012669', '-97.344415', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69272, 'Reynolds', 2808, '58275', '701', '47.701714', '-97.12607', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69273, 'Calvin', 2808, '58323', '701', '48.848508', '-98.922332', '2018-11-29 05:12:33', '2018-11-29 05:12:33'),\n(69274, 'Churchs Ferry', 2808, '58325', '701', '48.275508', '-99.102786', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69275, 'Oberon', 2808, '58357', '701', '47.977321', '-99.222112', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69276, 'Sheyenne', 2808, '58374', '701', '47.840578', '-99.10314', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69277, 'Chaseley', 2808, '58423', '701', '47.501162', '-99.841462', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69278, 'Cleveland', 2808, '58424', '701', '46.892664', '-99.070476', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69279, 'Windsor', 2808, '58424', '701', '46.892664', '-99.070476', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69280, 'Courtenay', 2808, '58426', '701', '47.203653', '-98.594264', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69281, 'Fredonia', 2808, '58440', '701', '46.270979', '-99.173651', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69282, 'Glenfield', 2808, '58443', '701', '47.45703', '-98.670192', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69283, 'Juanita', 2808, '58443', '701', '47.45703', '-98.670192', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69284, 'Lehr', 2808, '58460', '701', '46.291863', '-99.375716', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69285, 'Verona', 2808, '58490', '701', '46.38419', '-98.045065', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69286, 'Clementsville', 2808, '58492', '701', '47.131799', '-98.446297', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69287, 'Frazier', 2808, '58492', '701', '47.131799', '-98.446297', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69288, 'Wimbledon', 2808, '58492', '701', '47.131799', '-98.446297', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69289, 'Braddock', 2808, '58524', '701', '46.589404', '-100.105106', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69290, 'Turtle Lake', 2808, '58575', '701', '47.544636', '-100.875411', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69291, 'Turtle Lk', 2808, '58575', '701', '47.544636', '-100.875411', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69292, 'Fairfield', 2808, '58627', '701', '47.108543', '-103.350191', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69293, 'Gorham', 2808, '58627', '701', '47.108543', '-103.350191', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69294, 'Lefor', 2808, '58641', '701', '46.68077', '-102.485645', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69295, 'Manning', 2808, '58642', '701', '47.183558', '-102.86356', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69296, 'Marshall', 2808, '58644', '701', '47.1381', '-102.3325', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69297, 'Minot', 2808, '58707', '701', '48.246287', '-101.30039', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69298, 'Minot State University', 2808, '58707', '701', '48.246287', '-101.30039', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69299, 'Anamoose', 2808, '58710', '701', '47.862818', '-100.220704', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69300, 'Aylmer', 2808, '58710', '701', '47.862818', '-100.220704', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69301, 'Karlsruhe', 2808, '58744', '701', '48.1164', '-100.561045', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69302, 'Loraine', 2808, '58761', '701', '48.799512', '-101.562801', '2018-11-29 05:12:34', '2018-11-29 05:12:34'),\n(69303, 'Mohall', 2808, '58761', '701', '48.799512', '-101.562801', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69304, 'Manitou', 2808, '58776', '701', '48.306443', '-102.569154', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69305, 'Ross', 2808, '58776', '701', '48.306443', '-102.569154', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69306, 'Bergen', 2808, '58792', '701', '47.97846', '-100.777281', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69307, 'Kongsberg', 2808, '58792', '701', '47.97846', '-100.777281', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69308, 'Verendrye', 2808, '58792', '701', '47.97846', '-100.777281', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69309, 'Voltaire', 2808, '58792', '701', '47.97846', '-100.777281', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69310, 'Epping', 2808, '58843', '701', '48.245778', '-103.345576', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69311, 'Spring Brook', 2808, '58843', '701', '48.245778', '-103.345576', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69312, 'Wing', 2808, '58494', '701', '47.154228', '-100.293989', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69313, 'Goldwin', 2808, '58496', '701', '47.153246', '-99.312344', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69314, 'Woodworth', 2808, '58496', '701', '47.153246', '-99.312344', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69315, 'Bismarck', 2808, '58505', '701', '46.820072', '-100.780105', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69316, 'Porcupine', 2808, '58569', '701', '46.23127', '-101.17978', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69317, 'Shields', 2808, '58569', '701', '46.23127', '-101.17978', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69318, 'Strasburg', 2808, '58573', '701', '46.072864', '-100.299562', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69319, 'Beach', 2808, '58621', '701', '47.037128', '-103.856476', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69320, 'Trotters', 2808, '58621', '701', '47.037128', '-103.856476', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69321, 'Bucyrus', 2808, '58639', '701', '46.113882', '-102.444885', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69322, 'Haynes', 2808, '58639', '701', '46.113882', '-102.444885', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69323, 'Hettinger', 2808, '58639', '701', '46.113882', '-102.444885', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69324, 'Burt', 2808, '58646', '701', '46.382184', '-102.274497', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69325, 'Mott', 2808, '58646', '701', '46.382184', '-102.274497', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69326, 'South Heart', 2808, '58655', '701', '46.760255', '-103.041882', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69327, 'Minot', 2808, '58703', '701', '48.305779', '-101.310964', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69328, 'Alamo', 2808, '58830', '701', '48.575854', '-103.471867', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69329, 'Appam', 2808, '58830', '701', '48.575854', '-103.471867', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69330, 'Corinth', 2808, '58830', '701', '48.575854', '-103.471867', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69331, 'Trenton', 2808, '58853', '701', '48.089114', '-103.83087', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69332, 'Galesburg', 2808, '58035', '701', '47.25267', '-97.356098', '2018-11-29 05:12:35', '2018-11-29 05:12:35'),\n(69333, 'Colgate', 2808, '58046', '701', '47.297124', '-97.68529', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69334, 'Hope', 2808, '58046', '701', '47.297124', '-97.68529', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69335, 'Geneseo', 2808, '58053', '701', '46.065616', '-97.192854', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69336, 'Lidgerwood', 2808, '58053', '701', '46.065616', '-97.192854', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69337, 'Tower City', 2808, '58071', '701', '46.949186', '-97.671283', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69338, 'Riverside', 2808, '58078', '701', '46.869862', '-96.936294', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69339, 'West Fargo', 2808, '58078', '701', '46.869862', '-96.936294', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69340, 'Fargo', 2808, '58105', '701', '46.8774', '-96.7895', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69341, 'Blue Cross', 2808, '58121', '701', '46.8774', '-96.7895', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69342, 'Fargo', 2808, '58121', '701', '46.8774', '-96.7895', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69343, 'Grand Forks', 2808, '58203', '701', '47.987062', '-97.145212', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69344, 'Gfafb', 2808, '58205', '701', '47.962068', '-97.398255', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69345, 'Grand Forks', 2808, '58205', '701', '47.962068', '-97.398255', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69346, 'Grand Forks AFB', 2808, '58205', '701', '47.962068', '-97.398255', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69347, 'Aneta', 2808, '58212', '701', '47.709346', '-98.007896', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69348, 'Caledonia', 2808, '58219', '701', '47.454234', '-96.906522', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69349, 'Maida', 2808, '58255', '701', '48.945978', '-98.408815', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69350, 'Milton', 2808, '58260', '701', '48.630453', '-97.992416', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69351, 'Union', 2808, '58260', '701', '48.630453', '-97.992416', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69352, 'Joliette', 2808, '58271', '701', '48.858932', '-97.307261', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69353, 'Pembina', 2808, '58271', '701', '48.858932', '-97.307261', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69354, 'Thompson', 2808, '58278', '701', '47.765997', '-97.137113', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69355, 'Brocket', 2808, '58321', '701', '48.209554', '-98.324773', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69356, 'Edmore', 2808, '58330', '701', '48.448926', '-98.467387', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69357, 'Penn', 2808, '58362', '701', '48.231327', '-99.070326', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69358, 'Saint John', 2808, '58369', '701', '48.945642', '-99.794658', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69359, 'St John', 2808, '58369', '701', '48.945642', '-99.794658', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69360, 'Dawson', 2808, '58428', '701', '46.806634', '-99.763906', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69361, 'Forbes', 2808, '58439', '701', '46.025778', '-98.828086', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69362, 'Arena', 2808, '58494', '701', '47.154228', '-100.293989', '2018-11-29 05:12:36', '2018-11-29 05:12:36'),\n(69363, 'Cando', 2808, '58324', '701', '48.464746', '-99.23199', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69364, 'Maza', 2808, '58324', '701', '48.464746', '-99.23199', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69365, 'Knox', 2808, '58343', '701', '48.32666', '-99.727845', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69366, 'Wolford', 2808, '58343', '701', '48.32666', '-99.727845', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69367, 'Brantford', 2808, '58356', '701', '47.666704', '-98.942524', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69368, 'Bremen', 2808, '58356', '701', '47.666704', '-98.942524', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69369, 'Munster', 2808, '58356', '701', '47.666704', '-98.942524', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69370, 'New Rockford', 2808, '58356', '701', '47.666704', '-98.942524', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69371, 'New Rockfrd', 2808, '58356', '701', '47.666704', '-98.942524', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69372, 'Glover', 2808, '58474', '701', '46.109429', '-98.132516', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69373, 'Guelph', 2808, '58474', '701', '46.109429', '-98.132516', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69374, 'Ludden', 2808, '58474', '701', '46.109429', '-98.132516', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69375, 'Oakes', 2808, '58474', '701', '46.109429', '-98.132516', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69376, 'Beulah', 2808, '58523', '701', '47.277761', '-101.942194', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69377, 'Emmet', 2808, '58540', '701', '47.64254', '-101.568626', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69378, 'Garrison', 2808, '58540', '701', '47.64254', '-101.568626', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69379, 'White Sheild', 2808, '58540', '701', '47.64254', '-101.568626', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69380, 'Golden Valley', 2808, '58541', '701', '47.38357', '-102.057206', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69381, 'Goldenvalley', 2808, '58541', '701', '47.38357', '-102.057206', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69382, 'Moffit', 2808, '58560', '701', '46.63367', '-100.301758', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69383, 'Marmarth', 2808, '58643', '701', '46.410456', '-103.860605', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69384, 'Columbus', 2808, '58727', '701', '48.830828', '-102.797992', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69385, 'Larson', 2808, '58727', '701', '48.830828', '-102.797992', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69386, 'Mandaree', 2808, '58757', '701', '47.848768', '-102.668399', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69387, 'Roseglen', 2808, '58775', '701', '47.671131', '-102.063982', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69388, 'Deerfield', 2810, '03037', '603', '43.147942', '-71.248659', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69389, 'Londonderry', 2810, '03053', '603', '42.873066', '-71.390857', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69390, 'Pelham', 2810, '03076', '603', '42.741088', '-71.316056', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69391, 'Manchester', 2810, '03103', '603', '42.940893', '-71.444068', '2018-11-29 05:12:37', '2018-11-29 05:12:37'),\n(69392, 'Northfield', 2810, '03276', '603', '43.432029', '-71.568484', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69393, 'Tilton', 2810, '03276', '603', '43.432029', '-71.568484', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69394, 'Andover', 2810, '03216', '603', '43.446677', '-71.796082', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69395, 'Watervl Vly', 2810, '03215', '603', '43.946288', '-71.465305', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69396, 'Bradford', 2810, '03221', '603', '43.23641', '-71.960202', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69397, 'Sutton', 2810, '03221', '603', '43.23641', '-71.960202', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69398, 'W Franklin', 2810, '03235', '603', '43.447034', '-71.675624', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69399, 'West Franklin', 2810, '03235', '603', '43.447034', '-71.675624', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69400, 'Laconia', 2810, '03246', '603', '43.565499', '-71.481549', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69401, 'Lakeport', 2810, '03246', '603', '43.565499', '-71.481549', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69402, 'Weirs Beach', 2810, '03246', '603', '43.565499', '-71.481549', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69403, 'Meredith', 2810, '03253', '603', '43.6177', '-71.478163', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69404, 'Easton', 2810, '03580', '603', '44.176082', '-71.671044', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69405, 'Franconia', 2810, '03580', '603', '44.176082', '-71.671044', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69406, 'Ashland', 2810, '03217', '603', '43.724892', '-71.613234', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69407, 'Columbia', 2810, '03590', '603', '44.724536', '-71.478154', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69408, 'N Stratford', 2810, '03590', '603', '44.724536', '-71.478154', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69409, 'No Stratford', 2810, '03590', '603', '44.724536', '-71.478154', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69410, 'North Stratford', 2810, '03590', '603', '44.724536', '-71.478154', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69411, 'Stratford', 2810, '03590', '603', '44.724536', '-71.478154', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69412, 'Walpole', 2810, '03608', '603', '43.074774', '-72.406308', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69413, 'Bath', 2810, '03740', '603', '44.176708', '-71.989437', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69414, 'Hampton Beach', 2810, '03842', '603', '42.933704', '-70.842691', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69415, 'Hampton', 2810, '03843', '603', '42.9284', '-70.8566', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69416, 'Hampton Beach', 2810, '03843', '603', '42.9284', '-70.8566', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69417, 'Winnisquam', 2810, '03289', '603', '43.5015', '-71.5127', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69418, 'Nottingham', 2810, '03290', '603', '43.127378', '-71.120626', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69419, 'Loudon', 2810, '03307', '603', '43.321454', '-71.441464', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69420, 'Munsonville', 2810, '03457', '603', '43.006406', '-72.11857', '2018-11-29 05:12:38', '2018-11-29 05:12:38'),\n(69421, 'Nelson', 2810, '03457', '603', '43.006406', '-72.11857', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69422, 'Stoddard', 2810, '03457', '603', '43.006406', '-72.11857', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69423, 'Peterborough', 2810, '03458', '603', '42.875234', '-71.93973', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69424, 'Sharon', 2810, '03458', '603', '42.875234', '-71.93973', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69425, 'Croydon', 2810, '03773', '603', '43.374889', '-72.193528', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69426, 'Newport', 2810, '03773', '603', '43.374889', '-72.193528', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69427, 'Unity', 2810, '03773', '603', '43.374889', '-72.193528', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69428, 'Canterbury', 2810, '03224', '603', '43.354281', '-71.552026', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69429, 'Center Barnstead', 2810, '03225', '603', '43.359208', '-71.23505', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69430, 'Ctr Barnstead', 2810, '03225', '603', '43.359208', '-71.23505', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69431, 'Henniker', 2810, '03242', '603', '43.169199', '-71.8212', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69432, 'Mount Sunapee', 2810, '03255', '603', '43.322681', '-72.006469', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69433, 'Mt Sunapee', 2810, '03255', '603', '43.322681', '-72.006469', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69434, 'Newbury', 2810, '03255', '603', '43.322681', '-72.006469', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69435, 'New Hampton', 2810, '03256', '603', '43.614969', '-71.619971', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69436, 'New London', 2810, '03257', '603', '43.420142', '-71.985132', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69437, 'Sutton', 2810, '03257', '603', '43.420142', '-71.985132', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69438, 'S Sutton', 2810, '03273', '603', '43.308368', '-71.916518', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69439, 'South Sutton', 2810, '03273', '603', '43.308368', '-71.916518', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69440, 'Bethlehem', 2810, '03574', '603', '44.252772', '-71.603568', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69441, 'Colebrook', 2810, '03576', '603', '44.8964', '-71.39544', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69442, 'Columbia', 2810, '03576', '603', '44.8964', '-71.39544', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69443, 'Dixville', 2810, '03576', '603', '44.8964', '-71.39544', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69444, 'Dixville Notch', 2810, '03576', '603', '44.8964', '-71.39544', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69445, 'Stewartstown', 2810, '03576', '603', '44.8964', '-71.39544', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69446, 'Alton', 2810, '03809', '603', '43.473886', '-71.232508', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69447, 'Alton Bay', 2810, '03810', '603', '43.505872', '-71.274232', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69448, 'West Alton', 2810, '03810', '603', '43.505872', '-71.274232', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69449, 'E Hampstead', 2810, '03826', '603', '42.886457', '-71.11916', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69450, 'East Hampstead', 2810, '03826', '603', '42.886457', '-71.11916', '2018-11-29 05:12:39', '2018-11-29 05:12:39'),\n(69451, 'Greenland', 2810, '03840', '603', '43.032582', '-70.850056', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69452, 'Hampton', 2810, '03842', '603', '42.933704', '-70.842691', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69453, 'Milford', 2810, '03055', '603', '42.819477', '-71.667999', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69454, 'Hooksett', 2810, '03106', '603', '43.065957', '-71.4372', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69455, 'Manchester', 2810, '03106', '603', '43.065957', '-71.4372', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69456, 'Allenstown', 2810, '03275', '603', '43.169076', '-71.410731', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69457, 'Pembroke', 2810, '03275', '603', '43.169076', '-71.410731', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69458, 'Suncook', 2810, '03275', '603', '43.169076', '-71.410731', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69459, 'Seabrook', 2810, '03874', '603', '42.883886', '-70.865663', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69460, 'Clarksville', 2810, '03592', '603', '45.130172', '-71.280552', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69461, 'Pittsburg', 2810, '03592', '603', '45.130172', '-71.280552', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69462, 'N Walpole', 2810, '03609', '603', '43.140715', '-72.436767', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69463, 'No Walpole', 2810, '03609', '603', '43.140715', '-72.436767', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69464, 'North Walpole', 2810, '03609', '603', '43.140715', '-72.436767', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69465, 'Newmarket', 2810, '03857', '603', '43.068918', '-70.951889', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69466, 'Hales Lctn', 2810, '03860', '603', '44.028', '-71.088333', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69467, 'Hales Location', 2810, '03860', '603', '44.028', '-71.088333', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69468, 'N Conway', 2810, '03860', '603', '44.028', '-71.088333', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69469, 'No Conway', 2810, '03860', '603', '44.028', '-71.088333', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69470, 'North Conway', 2810, '03860', '603', '44.028', '-71.088333', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69471, 'Antrim', 2810, '03440', '603', '43.060054', '-71.983578', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69472, 'Marlow', 2810, '03456', '603', '43.126062', '-72.174496', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69473, 'N Haverhill', 2810, '03774', '603', '44.087152', '-71.986776', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69474, 'No Haverhill', 2810, '03774', '603', '44.087152', '-71.986776', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69475, 'North Haverhill', 2810, '03774', '603', '44.087152', '-71.986776', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69476, 'E Candia', 2810, '03040', '603', '43.0484', '-71.2493', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69477, 'East Candia', 2810, '03040', '603', '43.0484', '-71.2493', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69478, 'Mont Vernon', 2810, '03057', '603', '42.899185', '-71.688248', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69479, 'Mount Vernon', 2810, '03057', '603', '42.899185', '-71.688248', '2018-11-29 05:12:40', '2018-11-29 05:12:40'),\n(69480, 'Mt Vernon', 2810, '03057', '603', '42.899185', '-71.688248', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69481, 'New Ipswich', 2810, '03071', '603', '42.751572', '-71.870917', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69482, 'Manchester', 2810, '03105', '603', '42.9956', '-71.4556', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69483, 'Manchester', 2810, '03107', '603', '42.9956', '-71.4556', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69484, 'Nh Insurance', 2810, '03107', '603', '42.9956', '-71.4556', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69485, 'Manchester', 2810, '03101', '603', '42.988367', '-71.465548', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69486, 'Bedford', 2810, '03110', '603', '42.939248', '-71.534653', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69487, 'Madbury', 2810, '03823', '603', '43.16891', '-70.930946', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69488, 'Litchfield', 2810, '03052', '603', '42.850204', '-71.454862', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69489, 'Nashua', 2810, '03061', '603', '42.7656', '-71.4682', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69490, 'New Boston', 2810, '03070', '603', '42.975939', '-71.681414', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69491, 'Salem', 2810, '03079', '603', '42.794954', '-71.225568', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69492, 'Wilton', 2810, '03086', '603', '42.829678', '-71.7757', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69493, 'Fremont', 2810, '03044', '603', '42.990024', '-71.129684', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69494, 'Sutton', 2810, '03278', '603', '43.305561', '-71.873398', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69495, 'Warner', 2810, '03278', '603', '43.305561', '-71.873398', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69496, 'Alexandria', 2810, '03222', '603', '43.61801', '-71.780073', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69497, 'Bridgewater', 2810, '03222', '603', '43.61801', '-71.780073', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69498, 'Amherst', 2810, '03031', '603', '42.869612', '-71.611033', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69499, 'Greenfield', 2810, '03047', '603', '42.941928', '-71.874975', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69500, 'Hollis', 2810, '03049', '603', '42.752872', '-71.583438', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69501, 'Wentworth', 2810, '03282', '603', '43.867055', '-71.949047', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69502, 'East Andover', 2810, '03231', '603', '43.4783', '-71.7646', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69503, 'Gilford', 2810, '03249', '603', '43.56093', '-71.358206', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69504, 'Guilford', 2810, '03249', '603', '43.56093', '-71.358206', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69505, 'Bridgewater', 2810, '03264', '603', '43.721736', '-71.684435', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69506, 'Plymouth', 2810, '03264', '603', '43.721736', '-71.684435', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69507, 'Swain', 2814, '14884', '607', '42.47265', '-77.898006', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69508, 'Wayne', 2814, '14893', '607', '42.4707', '-77.1113', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69509, 'Bridal Veil', 2817, '97010', '503', '45.579208', '-122.117714', '2018-11-29 05:12:41', '2018-11-29 05:12:41'),\n(69510, 'Kent', 2817, '97033', '541', '45.173578', '-120.558769', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69511, 'Mulino', 2817, '97042', '503', '45.210108', '-122.537256', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69512, 'Springdale', 2817, '97060', '503', '45.528908', '-122.360037', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69513, 'Troutdale', 2817, '97060', '503', '45.528908', '-122.360037', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69514, 'Wood Village', 2817, '97060', '503', '45.528908', '-122.360037', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69515, 'Amity', 2817, '97101', '503', '45.102079', '-123.233258', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69516, 'Saint Paul', 2817, '97137', '503', '45.2064', '-122.966449', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69517, 'Tulpehocken', 2818, '19550', '717', '40.455889', '-76.241826', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69518, 'Robesonia', 2818, '19551', '610', '40.357704', '-76.128504', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69519, 'Bulltown', 2818, '19520', '610', '40.156657', '-75.797717', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69520, 'Elverson', 2818, '19520', '610', '40.156657', '-75.797717', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69521, 'Joanna', 2818, '19520', '610', '40.156657', '-75.797717', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69522, 'Loag', 2818, '19520', '610', '40.156657', '-75.797717', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69523, 'Marsh', 2818, '19520', '610', '40.156657', '-75.797717', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69524, 'Pine Swamp', 2818, '19520', '610', '40.156657', '-75.797717', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69525, 'Centerport', 2818, '19516', '610', '40.485343', '-76.006008', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69526, 'Douglassville', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69527, 'Earlville', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69528, 'Kulptown', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69529, 'Weavertown', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69530, 'West Monocacy', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69531, 'Worman', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69532, 'Yellow House', 2818, '19518', '610', '40.275242', '-75.741768', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69533, 'Greenwich', 2818, '19530', '610', '40.536296', '-75.781231', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69534, 'Grimville', 2818, '19530', '610', '40.536296', '-75.781231', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69535, 'Shartlesville', 2818, '19554', '610', '40.510797', '-76.114815', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69536, 'Boyers Junction', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69537, 'Breezy Corner', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69538, 'Evansville', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69539, 'Fleetwood', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:42', '2018-11-29 05:12:42'),\n(69540, 'Molltown', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69541, 'Moselem Springs', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69542, 'New Jerusalem', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69543, 'Pricetown', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69544, 'Rockland', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69545, 'Ruscmbmnr Twp', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69546, 'Ruscombmanor Twp', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69547, 'Walnuttown', 2818, '19522', '610', '40.446939', '-75.806577', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69548, 'Berne', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69549, 'Edenburg', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69550, 'Hamburg', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69551, 'Jalappa', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69552, 'Moselem', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69553, 'Perry', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69554, 'Tilden', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69555, 'West Hamburg', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69556, 'Windsor Castle', 2818, '19526', '610', '40.558804', '-75.986306', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69557, 'Athol', 2818, '19519', '610', '40.320199', '-75.733154', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69558, 'Earlville', 2818, '19519', '610', '40.320199', '-75.733154', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69559, 'Woodchoppertown', 2818, '19512', '610', '40.350032', '-75.682434', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69560, 'Geigertown', 2818, '19523', '610', '40.204146', '-75.837111', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69561, 'Albany', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69562, 'Eckville', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69563, 'Jacksonville', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69564, 'Kempton', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69565, 'Lynn', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69566, 'Slateville', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69567, 'Steinsville', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69568, 'Stony Run', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:43', '2018-11-29 05:12:43'),\n(69569, 'Trexler', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69570, 'Wanamakers', 2818, '19529', '610', '40.640744', '-75.861184', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69571, 'Glassport', 2818, '15045', '412', '40.328386', '-79.88493', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69572, 'Hookstown', 2818, '15050', '724', '40.55225', '-80.427188', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69573, 'Monaca', 2818, '15061', '724', '40.659603', '-80.324285', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69574, 'Douglass', 2818, '19525', '610', '40.31068', '-75.583756', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69575, 'Fagleysville', 2818, '19525', '610', '40.31068', '-75.583756', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69576, 'Gilbertsville', 2818, '19525', '610', '40.31068', '-75.583756', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69577, 'Layfield', 2818, '19525', '610', '40.31068', '-75.583756', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69578, 'New Hanover Twp', 2818, '19525', '610', '40.31068', '-75.583756', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69579, 'Enon Valley', 2818, '16120', '724', '40.892448', '-80.463726', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69580, 'New Bedford', 2818, '16140', '724', '41.095918', '-80.507888', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69581, 'Delaware Twp', 2818, '16154', '724', '41.333266', '-80.423644', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69582, 'S Pymatuning Twp', 2818, '16154', '724', '41.333266', '-80.423644', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69583, 'Transfer', 2818, '16154', '724', '41.333266', '-80.423644', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69584, 'Freeport', 2818, '16229', '724', '40.707944', '-79.647312', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69585, 'Kennerdell', 2818, '16374', '814', '41.256004', '-79.803285', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69586, 'Lilly', 2818, '15938', '814', '40.421736', '-78.622048', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69587, 'Vintondale', 2818, '15961', '814', '40.478874', '-78.93175', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69588, 'Windber', 2818, '15963', '814', '40.219682', '-78.772157', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69589, 'East Butler', 2818, '16029', '724', '40.878543', '-79.848276', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69590, 'Barkeyville', 2818, '16038', '724', '41.186912', '-79.95675', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69591, 'Harrisville', 2818, '16038', '724', '41.186912', '-79.95675', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69592, 'Mentcle', 2818, '15761', '724', '40.619713', '-78.904904', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69593, 'Torrance', 2818, '15779', '724', '40.413683', '-79.226087', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69594, 'Brandy Camp', 2818, '15822', '814', '41.3208', '-78.6876', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69595, 'Byrnedale', 2818, '15827', '814', '41.321985', '-78.48478', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69596, 'Stump Creek', 2818, '15863', '814', '41.012103', '-78.844331', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69597, 'Johnstown', 2818, '15906', '814', '40.374233', '-78.95771', '2018-11-29 05:12:44', '2018-11-29 05:12:44'),\n(69598, 'Madison', 2818, '15663', '724', '40.244774', '-79.67454', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69599, 'Murrysville', 2818, '15668', '724', '40.452714', '-79.66028', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69600, 'Ruffs Dale', 2818, '15679', '724', '40.157966', '-79.645405', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69601, 'Youngwood', 2818, '15697', '724', '40.243906', '-79.582308', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69602, 'Clune', 2818, '15727', '724', '40.5626', '-79.2898', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69603, 'Commodore', 2818, '15729', '724', '40.705596', '-78.912689', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69604, 'Armagh', 2818, '15920', '814', '40.468382', '-79.045578', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69605, 'Crystal Spg', 2818, '15536', '814', '39.940535', '-78.201916', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69606, 'Crystal Spring', 2818, '15536', '814', '39.940535', '-78.201916', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69607, 'Avonmore', 2818, '15618', '724', '40.550953', '-79.450046', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69608, 'Edmon', 2818, '15618', '724', '40.550953', '-79.450046', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69609, 'Hostetter', 2818, '15638', '724', '40.2664', '-79.3986', '2018-11-29 05:12:45', '2018-11-29 05:12:45');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(69610, 'Pittsburgh', 2818, '15259', '412', '40.4409', '-79.9963', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69611, 'Pittsburgh', 2818, '15261', '412', '40.444591', '-79.963908', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69612, 'Univ Of Pittsburgh', 2818, '15261', '412', '40.444591', '-79.963908', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69613, 'Waynesburg', 2818, '15370', '724', '39.878497', '-80.207266', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69614, 'West Finley', 2818, '15377', '724', '39.98204', '-80.429976', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69615, 'Addison', 2818, '15411', '814', '39.764912', '-79.354608', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69616, 'Denbo', 2818, '15429', '724', '40.009313', '-79.931638', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69617, 'Elco', 2818, '15434', '724', '40.081248', '-79.881943', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69618, 'Fairchance', 2818, '15436', '724', '39.810818', '-79.725622', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69619, 'Masontown', 2818, '15461', '724', '39.841333', '-79.884248', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69620, 'Ohiopyle', 2818, '15470', '724', '39.865344', '-79.511736', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69621, 'Brentwood', 2818, '15227', '412', '40.377922', '-79.973028', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69622, 'Pgh', 2818, '15227', '412', '40.377922', '-79.973028', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69623, 'Pitt', 2818, '15227', '412', '40.377922', '-79.973028', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69624, 'Pittsburgh', 2818, '15227', '412', '40.377922', '-79.973028', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69625, 'Columbia Gas Of Pa', 2818, '15270', '412', '40.4409', '-79.9963', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69626, 'Pittsburgh', 2818, '15270', '412', '40.4409', '-79.9963', '2018-11-29 05:12:45', '2018-11-29 05:12:45'),\n(69627, 'Duquesne Light Co', 2818, '15279', '412', '40.4409', '-79.9963', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69628, 'Pittsburgh', 2818, '15279', '412', '40.4409', '-79.9963', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69629, 'Amity', 2818, '15311', '724', '40.051266', '-80.188316', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69630, 'Garards Fort', 2818, '15334', '724', '39.823237', '-79.990506', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69631, 'New Freeport', 2818, '15352', '724', '39.776667', '-80.424855', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69632, 'Pine Bank', 2818, '15352', '724', '39.776667', '-80.424855', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69633, 'Rogersville', 2818, '15359', '724', '39.891037', '-80.281808', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69634, 'Corliss', 2818, '15204', '412', '40.455778', '-80.060972', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69635, 'Pgh', 2818, '15204', '412', '40.455778', '-80.060972', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69636, 'Pitt', 2818, '15204', '412', '40.455778', '-80.060972', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69637, 'Pittsburgh', 2818, '15204', '412', '40.455778', '-80.060972', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69638, 'Pgh', 2818, '15229', '412', '40.517332', '-80.035477', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69639, 'Pitt', 2818, '15229', '412', '40.517332', '-80.035477', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69640, 'Pittsburgh', 2818, '15229', '412', '40.517332', '-80.035477', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69641, 'West View', 2818, '15229', '412', '40.517332', '-80.035477', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69642, 'Cedarhurst', 2818, '15243', '412', '40.376', '-80.074094', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69643, 'Pittsburgh', 2818, '15243', '412', '40.376', '-80.074094', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69644, 'Mellon Bank', 2818, '15254', '412', '40.4409', '-79.9963', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69645, 'Pittsburgh', 2818, '15254', '412', '40.4409', '-79.9963', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69646, 'Mellon Bank', 2818, '15259', '412', '40.4409', '-79.9963', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69647, 'Arnold', 2818, '15068', '724', '40.570387', '-79.727751', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69648, 'Barking', 2818, '15068', '724', '40.570387', '-79.727751', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69649, 'Lower Burrell', 2818, '15068', '724', '40.570387', '-79.727751', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69650, 'New Kensingtn', 2818, '15068', '724', '40.570387', '-79.727751', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69651, 'New Kensington', 2818, '15068', '724', '40.570387', '-79.727751', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69652, 'Parnassus', 2818, '15068', '724', '40.570387', '-79.727751', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69653, 'Millvale', 2818, '15209', '412', '40.499636', '-79.966201', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69654, 'Pgh', 2818, '15209', '412', '40.499636', '-79.966201', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69655, 'Pitt', 2818, '15209', '412', '40.499636', '-79.966201', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69656, 'Pittsburgh', 2818, '15209', '412', '40.499636', '-79.966201', '2018-11-29 05:12:46', '2018-11-29 05:12:46'),\n(69657, 'Mount Washington', 2818, '15211', '412', '40.429409', '-80.014715', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69658, 'Mt Washington', 2818, '15211', '412', '40.429409', '-80.014715', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69659, 'Pgh', 2818, '15211', '412', '40.429409', '-80.014715', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69660, 'Pitt', 2818, '15211', '412', '40.429409', '-80.014715', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69661, 'Pittsburgh', 2818, '15211', '412', '40.429409', '-80.014715', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69662, 'Beaver', 2818, '15009', '724', '40.699916', '-80.360118', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69663, 'Vanport', 2818, '15009', '724', '40.699916', '-80.360118', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69664, 'W Bridgewater', 2818, '15009', '724', '40.699916', '-80.360118', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69665, 'West Bridgewater', 2818, '15009', '724', '40.699916', '-80.360118', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69666, 'Edgeworth', 2818, '15143', '412', '40.577201', '-80.148362', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69667, 'Sewickley', 2818, '15143', '412', '40.577201', '-80.148362', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69668, 'Slatersville', 2820, '02876', '401', '42.0033', '-71.5855', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69669, 'Tiverton', 2820, '02878', '401', '41.609222', '-71.174456', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69670, 'Warwick', 2820, '02887', '401', '41.6918', '-71.3795', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69671, 'Richmond', 2820, '02892', '401', '41.51033', '-71.59057', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69672, 'South Kingstown', 2820, '02892', '401', '41.51033', '-71.59057', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69673, 'West Kingston', 2820, '02892', '401', '41.51033', '-71.59057', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69674, 'Providence', 2820, '02901', '401', '41.8238', '-71.4133', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69675, 'W Greenwich', 2820, '02817', '401', '41.629228', '-71.665956', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69676, 'West Greenwich', 2820, '02817', '401', '41.629228', '-71.665956', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69677, 'Esmond', 2820, '02917', '401', '41.903624', '-71.528881', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69678, 'Smithfield', 2820, '02917', '401', '41.903624', '-71.528881', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69679, 'Centerdale', 2820, '02911', '401', '41.853544', '-71.472467', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69680, 'Centredale', 2820, '02911', '401', '41.853544', '-71.472467', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69681, 'Carolina', 2820, '02812', '401', '41.474846', '-71.658556', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69682, 'Richmond', 2820, '02812', '401', '41.474846', '-71.658556', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69683, 'Coventry', 2820, '02816', '401', '41.693331', '-71.636343', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69684, 'Glocester', 2820, '02829', '401', '41.8875', '-71.5975', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69685, 'Harmony', 2820, '02829', '401', '41.8875', '-71.5975', '2018-11-29 05:12:47', '2018-11-29 05:12:47'),\n(69686, 'Middletown', 2820, '02842', '401', '41.517342', '-71.271916', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69687, 'Pawtucket', 2820, '02862', '401', '41.8787', '-71.3832', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69688, 'Peace Dale', 2820, '02883', '401', '41.4529', '-71.499', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69689, 'S Kingstown', 2820, '02883', '401', '41.4529', '-71.499', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69690, 'South Kingstown', 2820, '02883', '401', '41.4529', '-71.499', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69691, 'Warren', 2820, '02885', '401', '41.729952', '-71.25819', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69692, 'Providence', 2820, '02903', '401', '41.818167', '-71.409728', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69693, 'N Providence', 2820, '02908', '401', '41.839296', '-71.438804', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69694, 'North Providence', 2820, '02908', '401', '41.839296', '-71.438804', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69695, 'Providence', 2820, '02908', '401', '41.839296', '-71.438804', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69696, 'Slocum', 2820, '02877', '401', '41.538082', '-71.532386', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69697, 'Providence', 2820, '02902', '401', '41.8238', '-71.4133', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69698, 'Providence Journal', 2820, '02902', '401', '41.8238', '-71.4133', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69699, 'Kingston', 2820, '02881', '401', '41.480326', '-71.518988', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69700, 'Bonnet Shores', 2820, '02882', '401', '41.426821', '-71.46619', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69701, 'Galilee', 2820, '02882', '401', '41.426821', '-71.46619', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69702, 'Narragansett', 2820, '02882', '401', '41.426821', '-71.46619', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69703, 'Point Judith', 2820, '02882', '401', '41.426821', '-71.46619', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69704, 'N Smithfield', 2820, '02896', '401', '41.974748', '-71.545054', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69705, 'North Smithfield', 2820, '02896', '401', '41.974748', '-71.545054', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69706, 'Barrington', 2820, '02806', '401', '41.741936', '-71.319225', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69707, 'Escoheag', 2820, '02822', '401', '41.55318', '-71.652698', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69708, 'Exeter', 2820, '02822', '401', '41.55318', '-71.652698', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69709, 'Fiskeville', 2820, '02823', '401', '41.7345', '-71.5488', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69710, 'Lincoln', 2820, '02838', '401', '41.965252', '-71.471228', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69711, 'Manville', 2820, '02838', '401', '41.965252', '-71.471228', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69712, 'Burrillville', 2820, '02839', '401', '41.942189', '-71.635123', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69713, 'Mapleville', 2820, '02839', '401', '41.942189', '-71.635123', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69714, 'Central Falls', 2820, '02863', '401', '41.890756', '-71.394154', '2018-11-29 05:12:48', '2018-11-29 05:12:48'),\n(69715, 'Lincoln', 2820, '02865', '401', '41.919332', '-71.442985', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69716, 'Wakefield', 2820, '02880', '401', '41.4374', '-71.5016', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69717, 'Richmond', 2820, '02898', '401', '41.522184', '-71.66979', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69718, 'Wyoming', 2820, '02898', '401', '41.522184', '-71.66979', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69719, 'Hope', 2820, '02831', '401', '41.750858', '-71.588708', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69720, 'Scituate', 2820, '02831', '401', '41.750858', '-71.588708', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69721, 'Hope Valley', 2820, '02832', '401', '41.501408', '-71.728853', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69722, 'Richmond', 2820, '02832', '401', '41.501408', '-71.728853', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69723, 'Riverside', 2820, '02915', '401', '41.776856', '-71.350262', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69724, 'Rumford', 2820, '02916', '401', '41.842966', '-71.355321', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69725, 'Watch Hill', 2820, '02891', '401', '41.361477', '-71.802414', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69726, 'Westerly', 2820, '02891', '401', '41.361477', '-71.802414', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69727, 'N Providence', 2820, '02904', '401', '41.854638', '-71.437492', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69728, 'No Providence', 2820, '02904', '401', '41.854638', '-71.437492', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69729, 'North Providence', 2820, '02904', '401', '41.854638', '-71.437492', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69730, 'Providence', 2820, '02904', '401', '41.854638', '-71.437492', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69731, 'Charlestown', 2820, '02813', '401', '41.39589', '-71.662973', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69732, 'Chepachet', 2820, '02814', '401', '41.905258', '-71.68744', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69733, 'Glocester', 2820, '02814', '401', '41.905258', '-71.68744', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69734, 'Clayville', 2820, '02815', '401', '41.770702', '-71.665542', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69735, 'Scituate', 2820, '02815', '401', '41.770702', '-71.665542', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69736, 'Burrillville', 2820, '02830', '401', '41.972358', '-71.64741', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69737, 'Harrisville', 2820, '02830', '401', '41.972358', '-71.64741', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69738, 'Adamsville', 2820, '02801', '401', '41.5544', '-71.1314', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69739, 'Bradford', 2820, '02808', '401', '41.410268', '-71.742223', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69740, 'Burrillville', 2820, '02826', '401', '41.9762', '-71.6332', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69741, 'Glendale', 2820, '02826', '401', '41.9762', '-71.6332', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69742, 'Greenville', 2820, '02828', '401', '41.881356', '-71.553282', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69743, 'Smithfield', 2820, '02828', '401', '41.881356', '-71.553282', '2018-11-29 05:12:49', '2018-11-29 05:12:49'),\n(69744, 'Hopkinton', 2820, '02833', '401', '41.479449', '-71.775204', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69745, 'Jamestown', 2820, '02835', '401', '41.511087', '-71.371733', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69746, 'Forestdale', 2820, '02824', '401', '41.9458', '-71.7004', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69747, 'Ashaway', 2820, '02804', '401', '41.435056', '-71.762348', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69748, 'Block Island', 2820, '02807', '401', '41.1892', '-71.578613', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69749, 'New Shoreham', 2820, '02807', '401', '41.1892', '-71.578613', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69750, 'L Compton', 2820, '02837', '401', '41.50857', '-71.164533', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69751, 'Little Compton', 2820, '02837', '401', '41.50857', '-71.164533', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69752, 'Bristol', 2820, '02809', '401', '41.678546', '-71.271001', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69753, 'Foster', 2820, '02825', '401', '41.790296', '-71.694827', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69754, 'Scituate', 2820, '02825', '401', '41.790296', '-71.694827', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69755, 'Coventry', 2820, '02827', '401', '41.691646', '-71.727178', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69756, 'Greene', 2820, '02827', '401', '41.691646', '-71.727178', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69757, 'Burrillville', 2820, '02858', '401', '41.964108', '-71.653373', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69758, 'Oakland', 2820, '02858', '401', '41.964108', '-71.653373', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69759, 'Pawtucket', 2820, '02860', '401', '41.875246', '-71.39451', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69760, 'Wood River Jt', 2820, '02894', '401', '41.462121', '-71.701692', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69761, 'Wood River Junction', 2820, '02894', '401', '41.462121', '-71.701692', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69762, 'Cranston', 2820, '02910', '401', '41.776088', '-71.434314', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69763, 'Providence', 2820, '02910', '401', '41.776088', '-71.434314', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69764, 'Prudence Isl', 2820, '02872', '401', '41.622586', '-71.334696', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69765, 'Prudence Island', 2820, '02872', '401', '41.622586', '-71.334696', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69766, 'Saunderstown', 2820, '02874', '401', '41.518623', '-71.466928', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69767, 'Cranston', 2820, '02905', '401', '41.786946', '-71.399192', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69768, 'Providence', 2820, '02905', '401', '41.786946', '-71.399192', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69769, 'Providence', 2820, '02906', '401', '41.83815', '-71.393139', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69770, 'Cranston', 2820, '02907', '401', '41.795126', '-71.424764', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69771, 'Providence', 2820, '02907', '401', '41.795126', '-71.424764', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69772, 'Netc', 2820, '02841', '401', '41.528484', '-71.316242', '2018-11-29 05:12:50', '2018-11-29 05:12:50'),\n(69773, 'Newport', 2820, '02841', '401', '41.528484', '-71.316242', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69774, 'Portsmouth', 2820, '02871', '401', '41.585358', '-71.25741', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69775, 'Warwick', 2820, '02888', '401', '41.74862', '-71.411632', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69776, 'Cranston', 2820, '02921', '401', '41.761729', '-71.517696', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69777, 'Gretna', 2822, '57471', '605', '45.418919', '-99.328623', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69778, 'Loyalton', 2822, '57471', '605', '45.418919', '-99.328623', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69779, 'Roscoe', 2822, '57471', '605', '45.418919', '-99.328623', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69780, 'Seneca', 2822, '57473', '605', '45.027931', '-99.389494', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69781, 'Randolph', 2822, '57474', '605', '45.292062', '-98.258483', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69782, 'Stratford', 2822, '57474', '605', '45.292062', '-98.258483', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69783, 'Herrick', 2822, '57538', '605', '43.083885', '-99.237414', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69784, 'Holabird', 2822, '57540', '605', '44.526053', '-99.589354', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69785, 'Saint Charles', 2822, '57571', '605', '43.125674', '-99.0896', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69786, 'St Charles', 2822, '57571', '605', '43.125674', '-99.0896', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69787, 'Saint Francis', 2822, '57572', '605', '43.161396', '-100.969464', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69788, 'Spring Creek', 2822, '57572', '605', '43.161396', '-100.969464', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69789, 'Cherry Creek', 2822, '57622', '605', '44.614674', '-101.682032', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69790, 'Elwood', 2822, '57622', '605', '44.614674', '-101.682032', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69791, 'Dupree', 2822, '57623', '605', '45.050708', '-101.568746', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69792, 'Ohem', 2822, '57623', '605', '45.050708', '-101.568746', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69793, 'Red Elm', 2822, '57623', '605', '45.050708', '-101.568746', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69794, 'Lemmon', 2822, '57638', '605', '45.752313', '-102.2542', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69795, 'Shadehill', 2822, '57638', '605', '45.752313', '-102.2542', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69796, 'Thunder Hawk', 2822, '57638', '605', '45.752313', '-102.2542', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69797, 'White Butte', 2822, '57638', '605', '45.752313', '-102.2542', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69798, 'Timber Lake', 2822, '57656', '605', '45.325374', '-100.966762', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69799, 'Ellsworth AFB', 2822, '57706', '605', '44.150532', '-103.094438', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69800, 'Buffalo Gap', 2822, '57722', '605', '43.514831', '-103.25036', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69801, 'Fairburn', 2822, '57738', '605', '43.6537', '-103.200572', '2018-11-29 05:12:51', '2018-11-29 05:12:51'),\n(69802, 'Fleming', 2822, '57738', '605', '43.6537', '-103.200572', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69803, 'Porcupine', 2822, '57772', '605', '43.289648', '-102.217034', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69804, 'Rockyford', 2822, '57772', '605', '43.289648', '-102.217034', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69805, 'Sharps Corner', 2822, '57772', '605', '43.289648', '-102.217034', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69806, 'Vale', 2822, '57788', '605', '44.585949', '-103.36517', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69807, 'Creighton', 2822, '57790', '605', '44.097872', '-102.218837', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69808, 'Dowling', 2822, '57790', '605', '44.097872', '-102.218837', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69809, 'Wall', 2822, '57790', '605', '44.097872', '-102.218837', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69810, 'Wilson Corner', 2822, '57755', '605', '45.822392', '-103.371323', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69811, 'Pringle', 2822, '57773', '605', '43.629915', '-103.615403', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69812, 'Pluma', 2822, '57732', '605', '44.26586', '-103.627118', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69813, 'Roubaix', 2822, '57732', '605', '44.26586', '-103.627118', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69814, 'Bridger', 2822, '57748', '605', '44.540798', '-102.265299', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69815, 'Howes', 2822, '57748', '605', '44.540798', '-102.265299', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69816, 'Plainview', 2822, '57748', '605', '44.540798', '-102.265299', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69817, 'Red Scaffold', 2822, '57748', '605', '44.540798', '-102.265299', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69818, 'Conata', 2822, '57780', '605', '43.806508', '-102.477419', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69819, 'Imlay', 2822, '57780', '605', '43.806508', '-102.477419', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69820, 'Scenic', 2822, '57780', '605', '43.806508', '-102.477419', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69821, 'Van Metre', 2822, '57559', '605', '43.938013', '-100.70648', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69822, 'Edna', 2822, '57568', '605', '43.932869', '-100.067768', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69823, 'Hilmoe', 2822, '57568', '605', '43.932869', '-100.067768', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69824, 'Presho', 2822, '57568', '605', '43.932869', '-100.067768', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69825, 'Sweeney', 2822, '57568', '605', '43.932869', '-100.067768', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69826, 'Rosebud', 2822, '57570', '605', '43.218096', '-100.962084', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69827, 'Rosebud Indian Reservation', 2822, '57570', '605', '43.218096', '-100.962084', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69828, 'Yankton Indian Reservation', 2822, '57570', '605', '43.218096', '-100.962084', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69829, 'Morristown', 2822, '57645', '605', '45.838089', '-101.690324', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69830, 'Whitehorse', 2822, '57661', '605', '45.184356', '-100.840592', '2018-11-29 05:12:52', '2018-11-29 05:12:52'),\n(69831, 'Black Hawk', 2822, '57718', '605', '44.17603', '-103.374046', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69832, 'Summerset', 2822, '57718', '605', '44.17603', '-103.374046', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69833, 'Kyle', 2822, '57752', '605', '43.538598', '-102.317678', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69834, 'New Underwood', 2822, '57761', '605', '44.211358', '-102.760842', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69835, 'Viewfield', 2822, '57761', '605', '44.211358', '-102.760842', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69836, 'Calico', 2822, '57770', '605', '43.343834', '-102.677764', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69837, 'Pine Ridge', 2822, '57770', '605', '43.343834', '-102.677764', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69838, 'Pine Ridge Reservation', 2822, '57770', '605', '43.343834', '-102.677764', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69839, 'Cactus Flats', 2822, '57775', '605', '44.081358', '-102.1176', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69840, 'Cottonwood', 2822, '57775', '605', '44.081358', '-102.1176', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69841, 'Quinn', 2822, '57775', '605', '44.081358', '-102.1176', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69842, 'Philip', 2822, '57567', '605', '44.152157', '-101.737514', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69843, 'Plum Creek', 2822, '57567', '605', '44.152157', '-101.737514', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69844, 'Bad Nation', 2822, '57585', '605', '43.579513', '-100.404302', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69845, 'Wood', 2822, '57585', '605', '43.579513', '-100.404302', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69846, 'Firesteel', 2822, '57633', '605', '45.233118', '-101.329737', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69847, 'Isabel', 2822, '57633', '605', '45.233118', '-101.329737', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69848, 'Lightcap', 2822, '57633', '605', '45.233118', '-101.329737', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69849, 'Anderson', 2822, '57644', '605', '45.386001', '-102.09152', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69850, 'Athboy', 2822, '57644', '605', '45.386001', '-102.09152', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69851, 'Coal Springs', 2822, '57644', '605', '45.386001', '-102.09152', '2018-11-29 05:12:53', '2018-11-29 05:12:53'),\n(69852, 'Glad Valley', 2822, '57644', '605', '45.386001', '-102.09152', '2018-11-29 05:12:54', '2018-11-29 05:12:54'),\n(69853, 'Meadow', 2822, '57644', '605', '45.386001', '-102.09152', '2018-11-29 05:12:54', '2018-11-29 05:12:54'),\n(69854, 'Reva', 2822, '57651', '605', '45.515057', '-103.084899', '2018-11-29 05:12:54', '2018-11-29 05:12:54'),\n(69855, 'Watauga', 2822, '57660', '605', '45.801348', '-101.585022', '2018-11-29 05:12:54', '2018-11-29 05:12:54'),\n(69856, 'Jolly Acres', 2822, '57701', '605', '44.118807', '-103.187884', '2018-11-29 05:12:54', '2018-11-29 05:12:54'),\n(69857, 'Old Town', 2822, '57701', '605', '44.118807', '-103.187884', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69858, 'Rapid City', 2822, '57701', '605', '44.118807', '-103.187884', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69859, 'Rockerville', 2822, '57701', '605', '44.118807', '-103.187884', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69860, 'Belle Fourche', 2822, '57717', '605', '44.892151', '-103.731196', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69861, 'Fruitdale', 2822, '57717', '605', '44.892151', '-103.731196', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69862, 'Mason', 2822, '57717', '605', '44.892151', '-103.731196', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69863, 'Willet', 2822, '57717', '605', '44.892151', '-103.731196', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69864, 'Ardmore', 2822, '57735', '605', '43.381062', '-103.70068', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69865, 'Burdock', 2822, '57735', '605', '43.381062', '-103.70068', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69866, 'Dewey', 2822, '57735', '605', '43.381062', '-103.70068', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69867, 'Edgemont', 2822, '57735', '605', '43.381062', '-103.70068', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69868, 'Lauzen', 2822, '57735', '605', '43.381062', '-103.70068', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69869, 'Provo', 2822, '57735', '605', '43.381062', '-103.70068', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69870, 'Enning', 2822, '57737', '605', '44.539337', '-102.572679', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69871, 'Folsom', 2822, '57744', '605', '43.806186', '-103.132762', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69872, 'Hayward', 2822, '57744', '605', '43.806186', '-103.132762', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69873, 'Hermosa', 2822, '57744', '605', '43.806186', '-103.132762', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69874, 'Red Shirt', 2822, '57744', '605', '43.806186', '-103.132762', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69875, 'Bear Butte', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69876, 'Clough', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69877, 'Fairpoint', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69878, 'Hereford', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69879, 'Marcus', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69880, 'Sturgis', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69881, 'Volunteer', 2822, '57785', '605', '44.42894', '-103.234082', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69882, 'White Owl', 2822, '57792', '605', '44.615552', '-102.389208', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69883, 'Wounded Knee', 2822, '57794', '605', '43.151397', '-102.357805', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69884, 'Brookings', 2822, '57007', '605', '44.320074', '-96.782804', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69885, 'Sd State Univ', 2822, '57007', '605', '44.320074', '-96.782804', '2018-11-29 05:12:55', '2018-11-29 05:12:55'),\n(69886, 'South Dakota State Univ', 2822, '57007', '605', '44.320074', '-96.782804', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69887, 'Colton', 2822, '57018', '605', '43.790276', '-96.980196', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69888, 'Huntimer', 2822, '57018', '605', '43.790276', '-96.980196', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69889, 'Bellingham', 2829, '98228', '360', '48.6287', '-122.4908', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69890, 'Concrete', 2829, '98237', '360', '48.528452', '-121.498666', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69891, 'Silvana', 2829, '98287', '206', '48.2026', '-122.2526', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69892, 'Brem', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69893, 'Bremerton', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69894, 'Camp Union', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69895, 'Chico', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69896, 'Enetai', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69897, 'Erlands Point', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69898, 'Holly', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69899, 'Kitsap Lake', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69900, 'Marine Drive', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69901, 'Navy Yard City', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69902, 'Rocky Point', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69903, 'West Park', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69904, 'Wildcat Lake', 2829, '98312', '360', '47.577151', '-122.757732', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69905, 'Elbe', 2829, '98330', '360', '46.75295', '-122.136996', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69906, 'Bremerton', 2829, '98337', '360', '47.568751', '-122.636669', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69907, 'Gorst', 2829, '98337', '360', '47.568751', '-122.636669', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69908, 'Hadlock', 2829, '98339', '360', '48.00706', '-122.748388', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69909, 'Irondale', 2829, '98339', '360', '48.00706', '-122.748388', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69910, 'Oak Bay', 2829, '98339', '360', '48.00706', '-122.748388', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69911, 'Port Hadlock', 2829, '98339', '360', '48.00706', '-122.748388', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69912, 'Little Boston', 2829, '98364', '360', '47.855561', '-122.595581', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69913, 'Port Gamble', 2829, '98364', '360', '47.855561', '-122.595581', '2018-11-29 05:12:56', '2018-11-29 05:12:56'),\n(69914, 'Bethel', 2829, '98387', '253', '47.059629', '-122.389748', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69915, 'Elk Plain', 2829, '98387', '253', '47.059629', '-122.389748', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69916, 'Loveland', 2829, '98387', '253', '47.059629', '-122.389748', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69917, 'Spanaway', 2829, '98387', '253', '47.059629', '-122.389748', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69918, 'Ruston', 2829, '98407', '253', '47.293912', '-122.507495', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69919, 'Tacoma', 2829, '98407', '253', '47.293912', '-122.507495', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69920, 'Jb Lewis Mcchord', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69921, 'Jblm', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69922, 'Joint Base Lewis Mcchord', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69923, 'Lakewood', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69924, 'Lewis Mcchord', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69925, 'Mc Chord AFB', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69926, 'Mcchord AFB', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69927, 'Tacoma', 2829, '98439', '253', '47.128709', '-122.522444', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69928, 'Tacoma', 2829, '98464', '253', '47.2534', '-122.4432', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69929, 'University Pl', 2829, '98464', '253', '47.2534', '-122.4432', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69930, 'University Place', 2829, '98464', '253', '47.2534', '-122.4432', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69931, 'Lakewood', 2829, '98496', '253', '0', '0', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69932, 'Tacoma', 2829, '98496', '253', '0', '0', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69933, 'Fort Steilacoom', 2829, '98498', '253', '47.15807', '-122.56042', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69934, 'Lakewood', 2829, '98498', '253', '47.15807', '-122.56042', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69935, 'Tacoma', 2829, '98498', '253', '47.15807', '-122.56042', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69936, 'Olympia', 2829, '98512', '360', '46.944912', '-123.05352', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69937, 'Tumwater', 2829, '98512', '360', '46.944912', '-123.05352', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69938, 'Bucoda', 2829, '98530', '360', '46.787656', '-122.817998', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69939, 'Boistfort', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69940, 'Bunker', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69941, 'Ceres', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69942, 'Chehalis', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69943, 'Claquato', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:57', '2018-11-29 05:12:57'),\n(69944, 'Dryad', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69945, 'Forest', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69946, 'Guerrier', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69947, 'Littell', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69948, 'Marys Corner', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69949, 'Napavine', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69950, 'Newaukum', 2829, '98532', '360', '46.621106', '-122.993282', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69951, 'Grapeview', 2829, '98546', '360', '47.321604', '-122.935349', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69952, 'Garden City', 2829, '98557', '360', '47.040396', '-123.272795', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69953, 'Hillgrove', 2829, '98557', '360', '47.040396', '-123.272795', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69954, 'Mc Cleary', 2829, '98557', '360', '47.040396', '-123.272795', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69955, 'Mccleary', 2829, '98557', '360', '47.040396', '-123.272795', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69956, 'Roy', 2829, '98580', '253', '46.95957', '-122.473193', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69957, 'Salkum', 2829, '98582', '360', '46.511772', '-122.658928', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69958, 'Knab', 2829, '98591', '360', '46.452482', '-122.744534', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69959, 'Toledo', 2829, '98591', '360', '46.452482', '-122.744534', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69960, 'Cathlamet', 2829, '98612', '360', '46.26483', '-123.338514', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69961, 'Puget Island', 2829, '98612', '360', '46.26483', '-123.338514', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69962, 'Chinook', 2829, '98614', '360', '46.288695', '-123.912133', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69963, 'Grays River', 2829, '98621', '360', '46.347988', '-123.54268', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69964, 'Husum', 2829, '98623', '509', '45.7994', '-121.4858', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69965, 'Longview', 2829, '98632', '360', '46.192165', '-123.054174', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69966, 'Oysterville', 2829, '98641', '360', '46.564848', '-124.031492', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69967, 'Vancouver', 2829, '98664', '360', '45.619432', '-122.576152', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69968, 'Vancouver', 2829, '98666', '360', '45.6387', '-122.6606', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69969, 'Washougal', 2829, '98671', '360', '45.67655', '-122.204933', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69970, 'Carlton', 2829, '98814', '509', '48.220762', '-120.126901', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69971, 'Dryden', 2829, '98821', '509', '47.540868', '-120.560609', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69972, 'Ephrata', 2829, '98823', '509', '47.272449', '-119.59929', '2018-11-29 05:12:58', '2018-11-29 05:12:58'),\n(69973, 'Mansfield', 2829, '98830', '509', '47.900149', '-119.490802', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69974, 'Rock Island', 2829, '98850', '509', '47.359524', '-120.034611', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69975, 'Cowiche', 2829, '98923', '509', '46.667008', '-120.790477', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69976, 'Greenacres', 2829, '99016', '509', '47.631638', '-117.138165', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69977, 'Liberty Lake', 2829, '99016', '509', '47.631638', '-117.138165', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69978, 'Spo Valley', 2829, '99016', '509', '47.631638', '-117.138165', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69979, 'Spokane Valley', 2829, '99016', '509', '47.631638', '-117.138165', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69980, 'Spokane Vly', 2829, '99016', '509', '47.631638', '-117.138165', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69981, 'East Farms', 2829, '99025', '509', '47.814989', '-117.096346', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69982, 'Newman Lake', 2829, '99025', '509', '47.814989', '-117.096346', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69983, 'Rockford', 2829, '99030', '509', '47.485068', '-117.120842', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69984, 'Waverly', 2829, '99039', '509', '47.3322', '-117.241', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69985, 'Benge', 2829, '99105', '509', '46.891487', '-118.070716', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69986, 'Colville', 2829, '99114', '509', '48.653948', '-117.749612', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69987, 'Deer Lake', 2829, '99148', '509', '48.131018', '-117.589357', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69988, 'Loon Lake', 2829, '99148', '509', '48.131018', '-117.589357', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69989, 'Northport', 2829, '99157', '509', '48.92463', '-117.7843', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69990, 'Republic', 2829, '99166', '509', '48.61694', '-118.644246', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69991, 'City Of Spokane Valley', 2829, '99216', '509', '47.671481', '-117.19805', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69992, 'Spokane', 2829, '99216', '509', '47.671481', '-117.19805', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69993, 'Spokane Valley', 2829, '99216', '509', '47.671481', '-117.19805', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69994, 'Spokane Vly', 2829, '99216', '509', '47.671481', '-117.19805', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69995, 'Burbank', 2829, '99323', '509', '46.206797', '-118.91225', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69996, 'Basin City', 2829, '99343', '509', '46.559884', '-119.118526', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69997, 'Mesa', 2829, '99343', '509', '46.559884', '-119.118526', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69998, 'North Prosser', 2829, '99350', '509', '46.233188', '-119.681064', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(69999, 'Prosser', 2829, '99350', '509', '46.233188', '-119.681064', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(70000, 'Royal City', 2829, '99357', '509', '46.922164', '-119.679682', '2018-11-29 05:12:59', '2018-11-29 05:12:59'),\n(70001, 'Apo', 2777, '09752', '000', '0', '0', '2018-11-29 05:13:00', '2018-11-29 05:13:00'),\n(70002, 'Apo', 2777, '09802', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70003, 'Dpo', 2777, '09820', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70004, 'Dpo', 2777, '09831', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70005, 'Fpo', 2777, '09545', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70006, 'Fpo', 2777, '09586', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70007, 'Fpo', 2777, '09593', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70008, 'Fpo', 2777, '09595', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70009, 'Fpo', 2777, '09620', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70010, 'Fpo', 2777, '09627', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70011, 'Apo', 2777, '09647', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70012, 'Dpo', 2777, '09870', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70013, 'Apo', 2777, '09154', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70014, 'Apo', 2777, '09186', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70015, 'Apo', 2777, '09227', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70016, 'Apo', 2777, '09311', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70017, 'Apo', 2777, '09343', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70018, 'Apo', 2777, '09711', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70019, 'Apo', 2777, '09713', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70020, 'Apo', 2777, '09002', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70021, 'Fpo', 2777, '09504', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70022, 'Apo', 2777, '09059', '000', '0', '0', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70023, 'San Benito', 2783, '95043', '831', '36.468836', '-121.006327', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70024, 'Bonny Doon', 2783, '95060', '831', '37.068968', '-122.156861', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70025, 'Paradise Park', 2783, '95060', '831', '37.068968', '-122.156861', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70026, 'Santa Cruz', 2783, '95060', '831', '37.068968', '-122.156861', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70027, 'Scotts Valley', 2783, '95060', '831', '37.068968', '-122.156861', '2018-11-29 05:13:01', '2018-11-29 05:13:01'),\n(70028, 'Tres Pinos', 2783, '95075', '831', '36.7811', '-121.2576', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70029, 'Oakland', 2783, '94610', '510', '37.811606', '-122.238604', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70030, 'Piedmont', 2783, '94610', '510', '37.811606', '-122.238604', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70031, 'Piedmontxxx', 2783, '94610', '510', '37.811606', '-122.238604', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70032, 'Oakland', 2783, '94621', '510', '37.735472', '-122.208561', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70033, 'Emeryville', 2783, '94662', '510', '37.8317', '-122.2845', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70034, 'Oakland', 2783, '94662', '510', '37.8317', '-122.2845', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70035, 'Berkeley', 2783, '94712', '510', '37.8718', '-122.2718', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70036, 'Cotati', 2783, '94928', '707', '38.343437', '-122.699418', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70037, 'Rohnert Park', 2783, '94928', '707', '38.343437', '-122.699418', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70038, 'Inverness', 2783, '94937', '415', '38.115322', '-122.922126', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70039, 'Larkspur', 2783, '94939', '415', '37.937842', '-122.526643', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70040, 'Petaluma', 2783, '94955', '707', '38.2338', '-122.6398', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70041, 'Tomales', 2783, '94971', '707', '38.24249', '-122.906882', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70042, 'Castroville', 2783, '95012', '831', '36.78009', '-121.742032', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70043, 'Gilroy', 2783, '95021', '408', '37.0059', '-121.5674', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70044, 'San Martin', 2783, '95046', '408', '37.095595', '-121.604534', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70045, 'Santa Cruz', 2783, '95062', '831', '36.97169', '-121.988562', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70046, 'Richmond', 2783, '94804', '510', '37.924272', '-122.344349', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70047, 'San Rafael', 2783, '94913', '415', '37.9737', '-122.5303', '2018-11-29 05:13:02', '2018-11-29 05:13:02');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(70048, 'Bodega', 2783, '94922', '707', '38.334283', '-122.946846', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70049, 'Cotati', 2783, '94927', '707', '38.3267', '-122.7061', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70050, 'Rohnert Park', 2783, '94927', '707', '38.3267', '-122.7061', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70051, 'Bloomfield', 2783, '94952', '707', '38.211743', '-122.789652', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70052, 'Fallon', 2783, '94952', '707', '38.211743', '-122.789652', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70053, 'Lakeville', 2783, '94952', '707', '38.211743', '-122.789652', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70054, 'Petaluma', 2783, '94952', '707', '38.211743', '-122.789652', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70055, 'Two Rock Ranch Sta', 2783, '94952', '707', '38.211743', '-122.789652', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70056, 'San Anselmo', 2783, '94979', '415', '37.9748', '-122.5607', '2018-11-29 05:13:02', '2018-11-29 05:13:02'),\n(70057, 'Campbell', 2783, '95011', '408', '37.2875', '-121.9488', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70058, 'Gilroy', 2783, '95020', '408', '37.02072', '-121.572352', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70059, 'Milpitas', 2783, '95036', '408', '37.4283', '-121.9058', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70060, 'Morgan Hill', 2783, '95038', '408', '37.1306', '-121.6534', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70061, 'Santa Cruz', 2783, '95061', '831', '36.9742', '-122.0297', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70062, 'Saratoga', 2783, '95070', '408', '37.253774', '-122.051155', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70063, 'Petaluma', 2783, '94953', '707', '38.2328', '-122.6359', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70064, 'Aptos', 2783, '95003', '831', '37.006763', '-121.878693', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70065, 'Rio Del Mar', 2783, '95003', '831', '37.006763', '-121.878693', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70066, 'Seacliff', 2783, '95003', '831', '37.006763', '-121.878693', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70067, 'Seascape', 2783, '95003', '831', '37.006763', '-121.878693', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70068, 'Freedom', 2783, '95019', '831', '36.93647', '-121.778418', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70069, 'Arvada', 2784, '80004', '303', '39.814772', '-105.125552', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70070, 'Arvada', 2784, '80006', '303', '39.8028', '-105.0869', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70071, 'Broomfield', 2784, '80020', '303', '39.920899', '-105.077006', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70072, 'Westminster', 2784, '80020', '303', '39.920899', '-105.077006', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70073, 'Westminster', 2784, '80031', '303', '39.87801', '-105.043985', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70074, 'Broomfield', 2784, '80038', '303', '39.9206', '-105.0864', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70075, 'Aurora', 2784, '80045', '720', '39.7462', '-104.837', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70076, 'Castle Rock', 2784, '80104', '303', '39.303926', '-104.821485', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70077, 'Cherry Hills', 2784, '80113', '303', '39.641366', '-104.954591', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70078, 'Cherry Hills Village', 2784, '80113', '303', '39.641366', '-104.954591', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70079, 'Cherry Hl Vlg', 2784, '80113', '303', '39.641366', '-104.954591', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70080, 'Englewood', 2784, '80113', '303', '39.641366', '-104.954591', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70081, 'Louviers', 2784, '80131', '303', '39.4759', '-105.0076', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70082, 'Denver', 2784, '80206', '303', '39.730725', '-104.95321', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70083, 'Denver', 2784, '80220', '303', '39.731077', '-104.912719', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70084, 'Denver', 2784, '80222', '303', '39.67299', '-104.926129', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70085, 'Aurora', 2784, '80247', '303', '39.693021', '-104.884772', '2018-11-29 05:13:03', '2018-11-29 05:13:03'),\n(70086, 'Denver', 2784, '80247', '303', '39.693021', '-104.884772', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70087, 'Denver', 2784, '80249', '303', '39.837435', '-104.712632', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70088, 'Affiliated Banks Service Co', 2784, '80263', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70089, 'Denver', 2784, '80263', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70090, 'Denver', 2784, '80274', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70091, 'Wells Fargo Bank', 2784, '80274', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70092, 'Denver', 2784, '80290', '303', '39.744086', '-104.986986', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70093, 'Denver', 2784, '80299', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70094, 'Western Area Usps', 2784, '80299', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70095, 'Black Hawk', 2784, '80422', '303', '39.801188', '-105.502209', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70096, 'Dupont', 2784, '80024', '303', '39.844535', '-104.918133', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70097, 'Littleton', 2784, '80124', '303', '39.516974', '-104.935784', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70098, 'Lone Tree', 2784, '80124', '303', '39.516974', '-104.935784', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70099, 'Lonetree', 2784, '80124', '303', '39.516974', '-104.935784', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70100, 'Denver', 2784, '80208', '303', '39.680174', '-104.962855', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70101, 'University Of Denver', 2784, '80208', '303', '39.680174', '-104.962855', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70102, 'Denver', 2784, '80210', '303', '39.675449', '-104.964048', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70103, 'Denver', 2784, '80211', '303', '39.764131', '-105.017788', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70104, 'Denver', 2784, '80226', '303', '39.71069', '-105.090842', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70105, 'Lakewood', 2784, '80226', '303', '39.71069', '-105.090842', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70106, 'Denver', 2784, '80227', '303', '39.660278', '-105.118578', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70107, 'Lakewood', 2784, '80227', '303', '39.660278', '-105.118578', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70108, 'Denver', 2784, '80228', '303', '39.69142', '-105.156062', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70109, 'Lakewood', 2784, '80228', '303', '39.69142', '-105.156062', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70110, 'Denver', 2784, '80291', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70111, 'Wells Fargo Bank', 2784, '80291', '303', '39.7393', '-104.9845', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70112, 'Boulder', 2784, '80310', '303', '40.0153', '-105.2702', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70113, 'Residence Halls Univ Of Co', 2784, '80310', '303', '40.0153', '-105.2702', '2018-11-29 05:13:04', '2018-11-29 05:13:04'),\n(70114, 'Georgetown', 2784, '80444', '303', '39.664168', '-105.777135', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70115, 'Leadville', 2784, '80461', '719', '39.242776', '-106.320066', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70116, 'Estes Park', 2784, '80511', '970', '40.3775', '-105.5212', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70117, 'Mead', 2784, '80542', '970', '40.234415', '-105.009634', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70118, 'Ault', 2784, '80610', '970', '40.696423', '-104.64373', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70119, 'Severance', 2784, '80610', '970', '40.696423', '-104.64373', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70120, 'Briggsdale', 2784, '80611', '970', '40.617628', '-104.220674', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70121, 'Limon', 2784, '80828', '719', '39.252638', '-103.705364', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70122, 'Co Spgs', 2784, '80911', '719', '38.747075', '-104.730486', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70123, 'Colo Spgs', 2784, '80911', '719', '38.747075', '-104.730486', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70124, 'Colorado Spgs', 2784, '80911', '719', '38.747075', '-104.730486', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70125, 'Colorado Springs', 2784, '80911', '719', '38.747075', '-104.730486', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70126, 'Security', 2784, '80911', '719', '38.747075', '-104.730486', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70127, 'Widefield', 2784, '80911', '719', '38.747075', '-104.730486', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70128, 'Co Spgs', 2784, '80913', '719', '38.64318', '-104.829924', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70129, 'Colo Spgs', 2784, '80913', '719', '38.64318', '-104.829924', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70130, 'Colorado Spgs', 2784, '80913', '719', '38.64318', '-104.829924', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70131, 'Colorado Springs', 2784, '80913', '719', '38.64318', '-104.829924', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70132, 'Fort Carson', 2784, '80913', '719', '38.64318', '-104.829924', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70133, 'Ft Carson', 2784, '80913', '719', '38.64318', '-104.829924', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70134, 'Co Spgs', 2784, '80926', '719', '38.658217', '-104.884122', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70135, 'Aurora', 2784, '80017', '303', '39.698109', '-104.781797', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70136, 'Westminster', 2784, '80035', '303', '39.8316', '-105.0337', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70137, 'Westminster', 2784, '80036', '303', '39.8284', '-105.0318', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70138, 'Bennett', 2784, '80102', '303', '39.698858', '-104.416211', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70139, 'Franktown', 2784, '80116', '303', '39.302333', '-104.726076', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70140, 'Strasburg', 2784, '80136', '303', '39.782465', '-104.273746', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70141, 'Denver', 2784, '80216', '303', '39.784905', '-104.941932', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70142, 'Denver', 2784, '80235', '303', '39.645815', '-105.093936', '2018-11-29 05:13:05', '2018-11-29 05:13:05'),\n(70143, 'Lakewood', 2784, '80235', '303', '39.645815', '-105.093936', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70144, 'Boulder', 2784, '80301', '303', '40.048024', '-105.206798', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70145, 'Evergreen', 2784, '80401', '303', '39.714017', '-105.244101', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70146, 'Golden', 2784, '80401', '303', '39.714017', '-105.244101', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70147, 'Lakewood', 2784, '80401', '303', '39.714017', '-105.244101', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70148, 'Golden', 2784, '80402', '303', '39.7559', '-105.2207', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70149, 'Dillon', 2784, '80435', '970', '39.606906', '-105.940941', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70150, 'Keystone', 2784, '80435', '970', '39.606906', '-105.940941', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70151, 'Montezuma', 2784, '80435', '970', '39.606906', '-105.940941', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70152, 'Idledale', 2784, '80453', '303', '39.6661', '-105.2437', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70153, 'Longmont', 2784, '80503', '303', '40.179731', '-105.20545', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70154, 'Niwot', 2784, '80503', '303', '40.179731', '-105.20545', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70155, 'Estes Park', 2784, '80517', '970', '40.405371', '-105.606393', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70156, 'Rocky Mountain National Park', 2784, '80517', '970', '40.405371', '-105.606393', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70157, 'Livermore', 2784, '80536', '970', '40.836264', '-105.429234', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70158, 'Virginia Dale', 2784, '80536', '970', '40.836264', '-105.429234', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70159, 'Brighton', 2784, '80601', '303', '39.942861', '-104.799537', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70160, 'Thornton', 2784, '80601', '303', '39.942861', '-104.799537', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70161, 'Brighton', 2784, '80603', '303', '39.981418', '-104.772412', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70162, 'Lochbuie', 2784, '80603', '303', '39.981418', '-104.772412', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70163, 'Hoyt', 2784, '80654', '970', '40.152884', '-104.094698', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70164, 'Wiggins', 2784, '80654', '970', '40.152884', '-104.094698', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70165, 'Fort Morgan', 2784, '80701', '970', '40.160307', '-103.845153', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70166, 'Akron', 2784, '80720', '970', '40.096784', '-103.177423', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70167, 'Iliff', 2784, '80736', '970', '40.7882', '-103.027547', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70168, 'Julesburg', 2784, '80737', '970', '40.87562', '-102.198169', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70169, 'Anton', 2784, '80801', '970', '39.683691', '-103.094768', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70170, 'Arvada', 2784, '80007', '303', '39.857844', '-105.197429', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70171, 'Blackhawk', 2784, '80422', '303', '39.801188', '-105.502209', '2018-11-29 05:13:06', '2018-11-29 05:13:06'),\n(70172, 'Climax', 2784, '80429', '719', '39.3389', '-106.316', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70173, 'Leadville', 2784, '80429', '719', '39.3389', '-106.316', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70174, 'Fairplay', 2784, '80440', '719', '39.16267', '-105.963302', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70175, 'Fairplay', 2784, '80456', '719', '39.353458', '-105.770322', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70176, 'Jefferson', 2784, '80456', '719', '39.353458', '-105.770322', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70177, 'Morrison', 2784, '80465', '303', '39.60274', '-105.207973', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70178, 'Yampa', 2784, '80483', '970', '40.120986', '-106.919314', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70179, 'Drake', 2784, '80515', '970', '40.467763', '-105.367108', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70180, 'Loveland', 2784, '80538', '970', '40.503903', '-105.131245', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70181, 'Lyons', 2784, '80540', '303', '40.24795', '-105.457266', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70182, 'Wellington', 2784, '80549', '970', '40.833073', '-105.066843', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70183, 'Galeton', 2784, '80622', '970', '40.5149', '-104.5814', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70184, 'Garden City', 2784, '80631', '970', '40.436074', '-104.681342', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70185, 'Greeley', 2784, '80631', '970', '40.436074', '-104.681342', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70186, 'Greeley', 2784, '80638', '970', '40.4236', '-104.7088', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70187, 'State Farm Ins', 2784, '80638', '970', '40.4236', '-104.7088', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70188, 'Atwood', 2784, '80722', '970', '40.523072', '-103.273046', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70189, 'New Raymer', 2784, '80742', '970', '40.762004', '-103.848884', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70190, 'Raymer', 2784, '80742', '970', '40.762004', '-103.848884', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70191, 'Falcon', 2784, '80831', '719', '39.00237', '-104.524972', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70192, 'Peyton', 2784, '80831', '719', '39.00237', '-104.524972', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70193, 'Cimarron Hills', 2784, '80915', '719', '38.854502', '-104.715363', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70194, 'Co Spgs', 2784, '80915', '719', '38.854502', '-104.715363', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70195, 'Colo Spgs', 2784, '80915', '719', '38.854502', '-104.715363', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70196, 'Colorado Spgs', 2784, '80915', '719', '38.854502', '-104.715363', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70197, 'Colorado Springs', 2784, '80915', '719', '38.854502', '-104.715363', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70198, 'Cimarron Hills', 2784, '80922', '719', '38.889456', '-104.700522', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70199, 'Co Spgs', 2784, '80922', '719', '38.889456', '-104.700522', '2018-11-29 05:13:07', '2018-11-29 05:13:07'),\n(70200, 'Colo Spgs', 2784, '80922', '719', '38.889456', '-104.700522', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70201, 'Colorado Spgs', 2784, '80922', '719', '38.889456', '-104.700522', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70202, 'Colorado Springs', 2784, '80922', '719', '38.889456', '-104.700522', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70203, 'Co Spgs Utilities', 2784, '80947', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70204, 'Colo Spgs', 2784, '80947', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70205, 'Colorado Spgs', 2784, '80947', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70206, 'Colorado Springs', 2784, '80947', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70207, 'Colo Spgs', 2784, '80997', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70208, 'Colorado Spgs', 2784, '80997', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70209, 'Colorado Springs', 2784, '80997', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70210, 'Compassion International', 2784, '80997', '719', '38.8338', '-104.8205', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70211, 'Boncarbo', 2784, '81024', '719', '37.22663', '-104.7503', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70212, 'Crowley', 2784, '81033', '719', '38.195308', '-103.849176', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70213, 'Farisita', 2784, '81040', '719', '37.75948', '-105.285196', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70214, 'Gardner', 2784, '81040', '719', '37.75948', '-105.285196', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70215, 'Kim', 2784, '81049', '719', '37.32176', '-103.403942', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70216, 'Villegreen', 2784, '81049', '719', '37.32176', '-103.403942', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70217, 'Manzanola', 2784, '81058', '719', '38.018324', '-103.890698', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70218, 'Hawley', 2784, '81067', '719', '37.969286', '-103.710354', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70219, 'Rocky Ford', 2784, '81067', '719', '37.969286', '-103.710354', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70220, 'Vroman', 2784, '81067', '719', '37.969286', '-103.710354', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70221, 'Stonington', 2784, '81090', '719', '37.318738', '-102.31835', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70222, 'Walsh', 2784, '81090', '719', '37.318738', '-102.31835', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70223, 'Chama', 2784, '81126', '719', '37.204594', '-105.343545', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70224, 'Crestone', 2784, '81131', '719', '37.948865', '-105.666372', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70225, 'Saguache', 2784, '81149', '719', '38.132603', '-106.450324', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70226, 'Lasauses', 2784, '81151', '719', '37.217798', '-105.752694', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70227, 'San Acacio', 2784, '81151', '719', '37.217798', '-105.752694', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70228, 'Sanford', 2784, '81151', '719', '37.217798', '-105.752694', '2018-11-29 05:13:08', '2018-11-29 05:13:08'),\n(70229, 'Canon City', 2784, '81215', '719', '38.4001', '-105.2167', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70230, 'Cement Creek', 2784, '81224', '970', '38.898087', '-106.916542', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70231, 'Crested Butte', 2784, '81224', '970', '38.898087', '-106.916542', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70232, 'Gunnison', 2784, '81231', '970', '38.552336', '-106.904312', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70233, 'Western State College', 2784, '81231', '970', '38.552336', '-106.904312', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70234, 'Poncha Spgs', 2784, '81242', '719', '38.5129', '-106.0764', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70235, 'Poncha Springs', 2784, '81242', '719', '38.5129', '-106.0764', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70236, 'Breen', 2784, '81326', '970', '37.203162', '-108.128878', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70237, 'Hesperus', 2784, '81326', '970', '37.203162', '-108.128878', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70238, 'Kline', 2784, '81326', '970', '37.203162', '-108.128878', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70239, 'Redmesa', 2784, '81326', '970', '37.203162', '-108.128878', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70240, 'Colo Spgs', 2784, '80926', '719', '38.658217', '-104.884122', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70241, 'Colorado Spgs', 2784, '80926', '719', '38.658217', '-104.884122', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70242, 'Colorado Springs', 2784, '80926', '719', '38.658217', '-104.884122', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70243, 'Cimarron Hills', 2784, '80927', '719', '38.925358', '-104.673592', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70244, 'Co Spgs', 2784, '80927', '719', '38.925358', '-104.673592', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70245, 'Colo Spgs', 2784, '80927', '719', '38.925358', '-104.673592', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70246, 'Colorado Spgs', 2784, '80927', '719', '38.925358', '-104.673592', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70247, 'Colorado Springs', 2784, '80927', '719', '38.925358', '-104.673592', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70248, 'Co Spgs', 2784, '80929', '719', '38.813521', '-104.602988', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70249, 'Colo Spgs', 2784, '80929', '719', '38.813521', '-104.602988', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70250, 'Colorado Spgs', 2784, '80929', '719', '38.813521', '-104.602988', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70251, 'Colorado Springs', 2784, '80929', '719', '38.813521', '-104.602988', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70252, 'Security', 2784, '80929', '719', '38.813521', '-104.602988', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70253, 'Co Spgs', 2784, '80930', '719', '38.809665', '-104.489439', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70254, 'Colo Spgs', 2784, '80930', '719', '38.809665', '-104.489439', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70255, 'Colorado Spgs', 2784, '80930', '719', '38.809665', '-104.489439', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70256, 'Colorado Springs', 2784, '80930', '719', '38.809665', '-104.489439', '2018-11-29 05:13:09', '2018-11-29 05:13:09'),\n(70257, 'Security', 2784, '80930', '719', '38.809665', '-104.489439', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70258, 'Colo Spgs', 2784, '80962', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70259, 'Colorado Spgs', 2784, '80962', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70260, 'Colorado Springs', 2784, '80962', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70261, 'Colo Spgs', 2784, '80977', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70262, 'Colorado Spgs', 2784, '80977', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70263, 'Colorado Springs', 2784, '80977', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70264, 'Us Olympic', 2784, '80977', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70265, 'Colo Spgs', 2784, '80995', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70266, 'Colorado Spgs', 2784, '80995', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70267, 'Colorado Springs', 2784, '80995', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70268, 'Focus On The Family', 2784, '80995', '719', '38.8338', '-104.8205', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70269, 'Co Lottery', 2784, '81011', '719', '38.2544', '-104.6086', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70270, 'Pueblo', 2784, '81011', '719', '38.2544', '-104.6086', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70271, 'Branson', 2784, '81027', '719', '37.278805', '-103.72116', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70272, 'Campo', 2784, '81029', '719', '37.152768', '-102.490407', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70273, 'Cheraw', 2784, '81030', '719', '38.108652', '-103.512578', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70274, 'Haswell', 2784, '81045', '719', '38.491791', '-103.153433', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70275, 'Numa', 2784, '81063', '719', '38.404041', '-103.783552', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70276, 'Ordway', 2784, '81063', '719', '38.404041', '-103.783552', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70277, 'Punkin Center', 2784, '81063', '719', '38.404041', '-103.783552', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70278, 'Swink', 2784, '81077', '719', '38.015124', '-103.631103', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70279, 'Lariat', 2784, '81144', '719', '37.54908', '-106.157895', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70280, 'Maxeyville', 2784, '81144', '719', '37.54908', '-106.157895', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70281, 'Monte Vista', 2784, '81144', '719', '37.54908', '-106.157895', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70282, 'Sargents School', 2784, '81144', '719', '37.54908', '-106.157895', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70283, 'Buena Vista', 2784, '81211', '719', '38.861894', '-106.253051', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70284, 'Johnson Village', 2784, '81211', '719', '38.861894', '-106.253051', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70285, 'Brookside', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:10', '2018-11-29 05:13:10'),\n(70286, 'Buckskin Joe', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70287, 'Canon City', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70288, 'Ilse', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70289, 'Parkdale', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70290, 'Penitentiary', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70291, 'Prospect Heights', 2784, '81212', '719', '38.477738', '-105.369496', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70292, 'Gunnison', 2784, '81247', '970', '38.4566', '-107.2967', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70293, 'Sapinero', 2784, '81247', '970', '38.4566', '-107.2967', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70294, 'Windy Point', 2784, '81247', '970', '38.4566', '-107.2967', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70295, 'Mancos', 2784, '81328', '970', '37.342704', '-108.282306', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70296, 'Marvel', 2784, '81329', '970', '37.1127', '-108.1263', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70297, 'Doral', 2788, '33126', '305', '25.782512', '-80.296165', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70298, 'Miami', 2788, '33126', '305', '25.782512', '-80.296165', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70299, 'Miami', 2788, '33135', '305', '25.76545', '-80.234863', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70300, 'Hollywood', 2788, '33084', '954', '26.0108', '-80.1499', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70301, 'Pembroke Pines', 2788, '33084', '954', '26.0108', '-80.1499', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70302, 'Pembroke Pnes', 2788, '33084', '954', '26.0108', '-80.1499', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70303, 'Fisher Island', 2788, '33109', '305', '25.760353', '-80.142236', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70304, 'Miami', 2788, '33109', '305', '25.760353', '-80.142236', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70305, 'Miami Beach', 2788, '33109', '305', '25.760353', '-80.142236', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70306, 'Roseland', 2788, '32957', '772', '27.8359', '-80.4933', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70307, 'Vero Beach', 2788, '32961', '772', '27.6751', '-80.4097', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70308, 'Penney Farms', 2788, '32079', '904', '29.979898', '-81.808606', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70309, 'Wellborn', 2788, '32094', '386', '30.194599', '-82.85211', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70310, 'White Springs', 2788, '32096', '386', '30.368274', '-82.76943', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70311, 'Crescent City', 2788, '32112', '386', '29.415434', '-81.604804', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70312, 'Citra', 2788, '32113', '352', '29.407606', '-82.110708', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70313, 'Hillsboro Bch', 2788, '33062', '954', '26.254974', '-80.091909', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70314, 'Hillsboro Beach', 2788, '33062', '954', '26.254974', '-80.091909', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70315, 'Laud By The Sea', 2788, '33062', '954', '26.254974', '-80.091909', '2018-11-29 05:13:11', '2018-11-29 05:13:11'),\n(70316, 'Lauderdale By The Sea', 2788, '33062', '954', '26.254974', '-80.091909', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70317, 'Pompano Beach', 2788, '33062', '954', '26.254974', '-80.091909', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70318, 'Mayport Naval Station', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70319, 'Mayport Navy', 2788, '32228', '904', '30.3812', '-81.4077', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70320, 'Jacksonville', 2788, '32229', '904', '30.3318', '-81.6555', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70321, 'Jax', 2788, '32229', '904', '30.3318', '-81.6555', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70322, 'Mc Alpin', 2788, '32062', '386', '30.131959', '-82.981524', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70323, 'Mcalpin', 2788, '32062', '386', '30.131959', '-82.981524', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70324, 'Pt Orange', 2788, '32127', '386', '29.114039', '-80.974033', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70325, 'Wilbur By Sea', 2788, '32127', '386', '29.114039', '-80.974033', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70326, 'Wilbur By The Sea', 2788, '32127', '386', '29.114039', '-80.974033', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70327, 'Port Orange', 2788, '32128', '386', '29.101158', '-81.046246', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70328, 'Pt Orange', 2788, '32128', '386', '29.101158', '-81.046246', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70329, 'Lady Lake', 2788, '32159', '352', '28.923782', '-81.917436', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70330, 'The Villages', 2788, '32159', '352', '28.923782', '-81.917436', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70331, 'Lady Lake', 2788, '32162', '352', '28.917856', '-82.001442', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70332, 'The Villages', 2788, '32162', '352', '28.917856', '-82.001442', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70333, 'Palatka', 2788, '32177', '386', '29.682624', '-81.693679', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70334, 'Saint Augustine', 2788, '32095', '904', '30.031127', '-81.405634', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70335, 'St Augustine', 2788, '32095', '904', '30.031127', '-81.405634', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70336, 'Bunnell', 2788, '32110', '386', '29.441902', '-81.339618', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70337, 'Candler', 2788, '32111', '352', '29.0717', '-81.9628', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70338, 'Miami Gardens', 2788, '33054', '305', '25.904152', '-80.255716', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70339, 'Opa Locka', 2788, '33054', '305', '25.904152', '-80.255716', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70340, 'Carol City', 2788, '33056', '305', '25.948922', '-80.245519', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70341, 'Miami Gardens', 2788, '33056', '305', '25.948922', '-80.245519', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70342, 'Opa Locka', 2788, '33056', '305', '25.948922', '-80.245519', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70343, 'Jacksonville', 2788, '32235', '904', '30.3309', '-81.6565', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70344, 'Jax', 2788, '32235', '904', '30.3309', '-81.6565', '2018-11-29 05:13:12', '2018-11-29 05:13:12'),\n(70345, 'Jacksonville', 2788, '32236', '904', '30.3318', '-81.6555', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70346, 'Jax', 2788, '32236', '904', '30.3318', '-81.6555', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70347, 'Jasper', 2788, '32052', '386', '30.492522', '-82.952818', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70348, 'Beverly Beach', 2788, '32136', '386', '29.469775', '-81.141892', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70349, 'Flagler Beach', 2788, '32136', '386', '29.469775', '-81.141892', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70350, 'San Mateo', 2788, '32187', '386', '29.565578', '-81.571292', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70351, 'Jacksonville', 2788, '32203', '904', '30.3388', '-81.6714', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70352, 'Jax', 2788, '32203', '904', '30.3388', '-81.6714', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70353, 'Jacksonville', 2788, '32204', '904', '30.314597', '-81.6816', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70354, 'Jax', 2788, '32204', '904', '30.314597', '-81.6816', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70355, 'Callahan', 2788, '32011', '904', '30.581655', '-81.813698', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70356, 'Hampton', 2788, '32044', '352', '29.84687', '-82.153474', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70357, 'Daytona Beach', 2788, '32119', '386', '29.156645', '-81.03219', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70358, 'S Daytona', 2788, '32119', '386', '29.156645', '-81.03219', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70359, 'S Daytona Bch', 2788, '32119', '386', '29.156645', '-81.03219', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70360, 'South Daytona', 2788, '32119', '386', '29.156645', '-81.03219', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70361, 'Daytona Beach', 2788, '32121', '386', '29.2107', '-81.0232', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70362, 'South Daytona', 2788, '32121', '386', '29.2107', '-81.0232', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70363, 'Amelia Village', 2788, '32035', '904', '30.6697', '-81.4629', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70364, 'Fernandina', 2788, '32035', '904', '30.6697', '-81.4629', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70365, 'Fernandina Beach', 2788, '32035', '904', '30.6697', '-81.4629', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70366, 'Five Points Hamilton', 2788, '32035', '904', '30.6697', '-81.4629', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70367, 'Florida Dept Of Corrections', 2788, '32026', '386', '30.0639', '-82.2373', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70368, 'Raiford', 2788, '32026', '386', '30.0639', '-82.2373', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70369, 'Jacksonville', 2788, '32231', '904', '30.3318', '-81.6555', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70370, 'Jax', 2788, '32231', '904', '30.3318', '-81.6555', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70371, 'Atlantic Bch', 2788, '32233', '904', '30.361433', '-81.426416', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70372, 'Atlantic Beach', 2788, '32233', '904', '30.361433', '-81.426416', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70373, 'Jacksonville', 2788, '32233', '904', '30.361433', '-81.426416', '2018-11-29 05:13:13', '2018-11-29 05:13:13'),\n(70374, 'Jax', 2788, '32233', '904', '30.361433', '-81.426416', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70375, 'Mayport', 2788, '32233', '904', '30.361433', '-81.426416', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70376, 'East Palatka', 2788, '32131', '386', '29.681734', '-81.579706', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70377, 'Pomona Park', 2788, '32181', '386', '29.510204', '-81.604618', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70378, 'Jacksonville', 2788, '32206', '904', '30.351867', '-81.641536', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70379, 'Jax', 2788, '32206', '904', '30.351867', '-81.641536', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70380, 'Saint Augustine', 2788, '32092', '904', '29.912319', '-81.542679', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70381, 'St Augustine', 2788, '32092', '904', '29.912319', '-81.542679', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70382, 'Daytona Beach', 2788, '32122', '386', '29.2107', '-81.0232', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70383, 'Lake City', 2788, '32024', '386', '30.063128', '-82.71866', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70384, 'Armstrong', 2788, '32033', '904', '29.789504', '-81.448785', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70385, 'Elkton', 2788, '32033', '904', '29.789504', '-81.448785', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70386, 'Pompano Beach', 2788, '33061', '954', '26.2377', '-80.1252', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70387, 'Jacksonville', 2788, '32232', '904', '30.3318', '-81.6555', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70388, 'Jax', 2788, '32232', '904', '30.3318', '-81.6555', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70389, 'Baldwin', 2788, '32234', '904', '30.213113', '-81.986563', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70390, 'Jacksonville', 2788, '32234', '904', '30.213113', '-81.986563', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70391, 'Jax', 2788, '32234', '904', '30.213113', '-81.986563', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70392, 'Maxville', 2788, '32234', '904', '30.213113', '-81.986563', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70393, 'Jacksonville', 2788, '32239', '904', '30.3318', '-81.6555', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70394, 'Jax', 2788, '32239', '904', '30.3318', '-81.6555', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70395, 'Ormond Beach', 2788, '32175', '386', '29.2856', '-81.0563', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70396, 'Daytona Beach', 2788, '32198', '386', '29.2107', '-81.0233', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70397, 'Fl Reg Lib Bl', 2788, '32198', '386', '29.2107', '-81.0233', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70398, 'Fl Regional Library For Blin', 2788, '32198', '386', '29.2107', '-81.0233', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70399, 'Mayo', 2788, '32066', '386', '29.975866', '-83.150282', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70400, 'Anastasia Is', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70401, 'Anastasia Island', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70402, 'Saint Augustine', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:14', '2018-11-29 05:13:14'),\n(70403, 'Saint Augustine Beach', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70404, 'St Aug Beach', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70405, 'St Augustine', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70406, 'St Augustine Beach', 2788, '32080', '904', '29.783594', '-81.260042', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70407, 'Lghthse Point', 2788, '33064', '954', '26.278344', '-80.116324', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70408, 'Lighthouse Point', 2788, '33064', '954', '26.278344', '-80.116324', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70409, 'Lighthouse Pt', 2788, '33064', '954', '26.278344', '-80.116324', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70410, 'Pompano Beach', 2788, '33064', '954', '26.278344', '-80.116324', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70411, 'Hilliard', 2788, '32046', '904', '30.67557', '-81.880199', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70412, 'Lulu', 2788, '32061', '386', '30.061772', '-82.525084', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70413, 'Port Orange', 2788, '32129', '386', '29.137987', '-81.018524', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70414, 'Pt Orange', 2788, '32129', '386', '29.137987', '-81.018524', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70415, 'Ormond Beach', 2788, '32176', '386', '29.346048', '-81.067604', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70416, 'Welaka', 2788, '32193', '386', '29.462012', '-81.64833', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70417, 'Weirsdale', 2788, '32195', '352', '28.993919', '-81.89987', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70418, 'Bostwick', 2788, '32007', '904', '29.7739', '-81.6373', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70419, 'Doctors Inlet', 2788, '32030', '904', '30.1003', '-81.7766', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70420, 'Coral Springs', 2788, '33067', '954', '26.303338', '-80.227696', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70421, 'Parkland', 2788, '33067', '954', '26.303338', '-80.227696', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70422, 'Pompano Beach', 2788, '33067', '954', '26.303338', '-80.227696', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70423, 'Jacksonville', 2788, '32247', '904', '30.3318', '-81.6555', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70424, 'Jax', 2788, '32247', '904', '30.3318', '-81.6555', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70425, 'Eastlake Weir', 2788, '32133', '352', '29.02', '-81.9085', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70426, 'Palm Coast', 2788, '32142', '386', '29.4748', '-81.1274', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70427, 'Ocklawaha', 2788, '32183', '352', '29.084647', '-81.83362', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70428, 'Seville', 2788, '32190', '386', '29.33599', '-81.55', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70429, 'Orange Park', 2788, '32065', '904', '30.147998', '-81.79412', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70430, 'Orange Pk', 2788, '32065', '904', '30.147998', '-81.79412', '2018-11-29 05:13:15', '2018-11-29 05:13:15'),\n(70431, 'Olustee', 2788, '32072', '904', '30.225689', '-82.423486', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70432, 'Raiford', 2788, '32083', '386', '30.090035', '-82.189396', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70433, 'Daytona Beach', 2788, '32117', '386', '29.235916', '-81.057494', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70434, 'Holly Hill', 2788, '32117', '386', '29.235916', '-81.057494', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70435, 'Fleming Island', 2788, '32006', '904', '30.107', '-81.717', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70436, 'Fleming Isle', 2788, '32006', '904', '30.107', '-81.717', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70437, 'Orange Park', 2788, '32006', '904', '30.107', '-81.717', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70438, 'Day', 2788, '32013', '386', '30.191124', '-83.296812', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70439, 'Fort White', 2788, '32038', '386', '29.925718', '-82.704296', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70440, 'Glen Saint Mary', 2788, '32040', '904', '30.285552', '-82.210634', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70441, 'Glen St Mary', 2788, '32040', '904', '30.285552', '-82.210634', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70442, 'Carol City', 2788, '33055', '305', '25.948354', '-80.277724', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70443, 'Miami Gardens', 2788, '33055', '305', '25.948354', '-80.277724', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70444, 'Opa Locka', 2788, '33055', '305', '25.948354', '-80.277724', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70445, 'Jacksonville', 2788, '32238', '904', '30.3318', '-81.6555', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70446, 'Jax', 2788, '32238', '904', '30.3318', '-81.6555', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70447, 'Lake Butler', 2788, '32054', '386', '30.031356', '-82.38149', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70448, 'Fort Mc Coy', 2788, '32134', '352', '29.344331', '-81.859726', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70449, 'Salt Springs', 2788, '32134', '352', '29.344331', '-81.859726', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70450, 'Palm Coast', 2788, '32135', '386', '29.4748', '-81.1274', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70451, 'Palm Coast', 2788, '32137', '386', '29.572466', '-81.315047', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70452, 'New Smyrna', 2788, '32169', '386', '28.977052', '-80.861793', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70453, 'New Smyrna Beach', 2788, '32169', '386', '28.977052', '-80.861793', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70454, 'New Smyrna', 2788, '32170', '386', '29.0257', '-80.9273', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70455, 'New Smyrna Beach', 2788, '32170', '386', '29.0257', '-80.9273', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70456, 'Putnam Hall', 2788, '32185', '904', '29.742724', '-81.959012', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70457, 'Jacksonville', 2788, '32202', '904', '30.327983', '-81.646937', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70458, 'Jax', 2788, '32202', '904', '30.327983', '-81.646937', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70459, 'Fleming Island', 2788, '32003', '904', '30.096584', '-81.718908', '2018-11-29 05:13:16', '2018-11-29 05:13:16'),\n(70460, 'Fleming Isle', 2788, '32003', '904', '30.096584', '-81.718908', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70461, 'Orange Park', 2788, '32003', '904', '30.096584', '-81.718908', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70462, 'Orange Pk', 2788, '32003', '904', '30.096584', '-81.718908', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70463, 'Coconut Creek', 2788, '33063', '954', '26.252183', '-80.209765', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70464, 'Margate', 2788, '33063', '954', '26.252183', '-80.209765', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70465, 'Pompano Beach', 2788, '33063', '954', '26.252183', '-80.209765', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70466, 'Coral Springs', 2788, '33065', '954', '26.272128', '-80.258362', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70467, 'Margate', 2788, '33065', '954', '26.272128', '-80.258362', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70468, 'Pompano Beach', 2788, '33065', '954', '26.272128', '-80.258362', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70469, 'Jacksonville', 2788, '32244', '904', '30.218584', '-81.7536', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70470, 'Jax', 2788, '32244', '904', '30.218584', '-81.7536', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70471, 'Jacksonville', 2788, '32245', '904', '30.3318', '-81.6555', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70472, 'Jax', 2788, '32245', '904', '30.3318', '-81.6555', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70473, 'Jacksonville', 2788, '32246', '904', '30.287312', '-81.508347', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70474, 'Jax', 2788, '32246', '904', '30.287312', '-81.508347', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70475, 'Lee', 2788, '32059', '850', '30.366307', '-83.258452', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70476, 'Dowling Park', 2788, '32060', '386', '30.268319', '-83.031644', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70477, 'Live Oak', 2788, '32060', '386', '30.268319', '-83.031644', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70478, 'Palm Coast', 2788, '32143', '386', '0', '0', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70479, 'Hastings', 2788, '32145', '904', '29.687689', '-81.40826', '2018-11-29 05:13:17', '2018-11-29 05:13:17');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(70480, 'Lake Geneva', 2788, '32160', '352', '29.7718', '-82.0105', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70481, 'The Villages', 2788, '32163', '352', '28.93', '-81.95', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70482, 'Palatka', 2788, '32178', '386', '29.6484', '-81.6378', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70483, 'Ocklawaha', 2788, '32179', '352', '29.093587', '-81.900973', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70484, 'Oklawaha', 2788, '32179', '352', '29.093587', '-81.900973', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70485, 'Middleburg', 2788, '32068', '904', '30.083428', '-81.865862', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70486, 'O Brien', 2788, '32071', '386', '30.0341', '-82.946748', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70487, 'Saint Augustine', 2788, '32084', '904', '29.900382', '-81.347082', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70488, 'Saint Augustine Beach', 2788, '32084', '904', '29.900382', '-81.347082', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70489, 'St Aug Beach', 2788, '32084', '904', '29.900382', '-81.347082', '2018-11-29 05:13:17', '2018-11-29 05:13:17'),\n(70490, 'St Augustine', 2788, '32084', '904', '29.900382', '-81.347082', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70491, 'St Augustine Beach', 2788, '32084', '904', '29.900382', '-81.347082', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70492, 'Sanderson', 2788, '32087', '904', '30.360361', '-82.330242', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70493, 'Astor', 2788, '32102', '352', '29.174719', '-81.552751', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70494, 'Dayt Bch Sh', 2788, '32118', '386', '29.202099', '-80.99842', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70495, 'Daytona Beach', 2788, '32118', '386', '29.202099', '-80.99842', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70496, 'Daytona Beach Shores', 2788, '32118', '386', '29.202099', '-80.99842', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70497, 'Bryceville', 2788, '32009', '904', '30.423422', '-81.942267', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70498, 'Graham', 2788, '32042', '352', '29.8603', '-82.2189', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70499, 'Green Cove Springs', 2788, '32043', '904', '29.942877', '-81.739286', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70500, 'Green Cv Spgs', 2788, '32043', '904', '29.942877', '-81.739286', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70501, 'Pompano Beach', 2788, '33060', '954', '26.233581', '-80.119022', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70502, 'Jacksonville', 2788, '32240', '904', '30.3318', '-81.6555', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70503, 'Jacksonville Beach', 2788, '32240', '904', '30.3318', '-81.6555', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70504, 'Jax', 2788, '32240', '904', '30.3318', '-81.6555', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70505, 'Jax Bch', 2788, '32240', '904', '30.3318', '-81.6555', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70506, 'Lake City', 2788, '32056', '386', '30.1894', '-82.6394', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70507, 'Lawtey', 2788, '32058', '904', '30.067826', '-82.106124', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70508, 'Macclenny', 2788, '32063', '904', '30.273591', '-82.124442', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70509, 'Florahome', 2788, '32140', '386', '29.759146', '-81.855939', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70510, 'Hollister', 2788, '32147', '386', '29.640938', '-81.787144', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70511, 'Edgar', 2788, '32149', '386', '29.5949', '-81.9506', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70512, 'Interlachen', 2788, '32149', '386', '29.5949', '-81.9506', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70513, 'Lady Lake', 2788, '32158', '352', '28.9173', '-81.9232', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70514, 'Ormond Beach', 2788, '32174', '386', '29.299226', '-81.186502', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70515, 'Sparr', 2788, '32192', '352', '29.3385', '-82.1128', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70516, 'Jacksonville', 2788, '32208', '904', '30.394326', '-81.680065', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70517, 'Jax', 2788, '32208', '904', '30.394326', '-81.680065', '2018-11-29 05:13:18', '2018-11-29 05:13:18'),\n(70518, 'Branford', 2788, '32008', '386', '29.910063', '-82.873584', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70519, 'Marathon Shrs', 2788, '33052', '305', '24.7133', '-81.0908', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70520, 'Coconut Creek', 2788, '33066', '954', '26.252374', '-80.17833', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70521, 'Pompano Beach', 2788, '33066', '954', '26.252374', '-80.17833', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70522, 'Margate', 2788, '33068', '954', '26.214184', '-80.211068', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70523, 'N Lauderdale', 2788, '33068', '954', '26.214184', '-80.211068', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70524, 'North Lauderdale', 2788, '33068', '954', '26.214184', '-80.211068', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70525, 'Pompano Beach', 2788, '33068', '954', '26.214184', '-80.211068', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70526, 'Jacksonville', 2788, '32241', '904', '30.3318', '-81.6555', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70527, 'Jax', 2788, '32241', '904', '30.3318', '-81.6555', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70528, 'Middleburg', 2788, '32050', '904', '30.0689', '-81.8609', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70529, 'Lake Como', 2788, '32157', '386', '29.461974', '-81.573748', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70530, 'Palm Coast', 2788, '32164', '386', '29.4803', '-81.213952', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70531, 'Ormond Beach', 2788, '32173', '386', '29.2856', '-81.0563', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70532, 'Pierson', 2788, '32180', '386', '29.215132', '-81.48197', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70533, 'Orange Park', 2788, '32067', '904', '30.1658', '-81.7068', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70534, 'Orange Pk', 2788, '32067', '904', '30.1658', '-81.7068', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70535, 'Ponte Vedra', 2788, '32081', '904', '30.126725', '-81.432476', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70536, 'Ponte Vedra Beach', 2788, '32081', '904', '30.126725', '-81.432476', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70537, 'Tn Of Nocatee', 2788, '32081', '904', '30.126725', '-81.432476', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70538, 'Town Of Nocatee', 2788, '32081', '904', '30.126725', '-81.432476', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70539, 'Yulee', 2788, '32097', '904', '30.645264', '-81.636094', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70540, 'Jacksonville', 2788, '32099', '904', '30.3383', '-81.7706', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70541, 'Daytona Beach', 2788, '32115', '386', '29.2107', '-81.0232', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70542, 'Orange Park', 2788, '32073', '904', '30.165382', '-81.751534', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70543, 'Orange Pk', 2788, '32073', '904', '30.165382', '-81.751534', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70544, 'Daytona Beach', 2788, '32114', '386', '29.192952', '-81.053292', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70545, 'Dayt Bch Sh', 2788, '32116', '386', '29.2107', '-81.0232', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70546, 'Daytona Beach', 2788, '32116', '386', '29.2107', '-81.0232', '2018-11-29 05:13:19', '2018-11-29 05:13:19'),\n(70547, 'Daytona Beach Shores', 2788, '32116', '386', '29.2107', '-81.0232', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70548, 'Lake City', 2788, '32025', '386', '30.063408', '-82.569213', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70549, 'Yulee', 2788, '32041', '904', '30.6324', '-81.6068', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70550, 'Jesup', 2789, '31546', '912', '31.520324', '-81.776417', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70551, 'Kingsland', 2789, '31548', '912', '30.826964', '-81.730303', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70552, 'Valdosta', 2789, '31698', '229', '30.866022', '-83.287363', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70553, 'Valdosta State College', 2789, '31698', '229', '30.866022', '-83.287363', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70554, 'Albany', 2789, '31707', '229', '31.584612', '-84.224394', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70555, 'Amer Fam Life Ins Brm', 2789, '31998', '706', '32.4608', '-84.9876', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70556, 'Columbus', 2789, '31998', '706', '32.4608', '-84.9876', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70557, 'Moody AFB', 2789, '31699', '229', '30.966782', '-83.19855', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70558, 'Moody Air Force Base', 2789, '31699', '229', '30.966782', '-83.19855', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70559, 'American Family Life Ins', 2789, '31999', '706', '32.4608', '-84.9876', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70560, 'Columbus', 2789, '31999', '706', '32.4608', '-84.9876', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70561, 'Manchester', 2789, '31816', '706', '32.875168', '-84.583228', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70562, 'Omaha', 2789, '31821', '229', '32.144268', '-84.904082', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70563, 'Pine Mountain Valley', 2789, '31823', '706', '32.80329', '-84.813923', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70564, 'Pine Mtn Valy', 2789, '31823', '706', '32.80329', '-84.813923', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70565, 'Warm Springs', 2789, '31830', '706', '32.90404', '-84.751935', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70566, 'Bainbridge', 2789, '39817', '229', '30.93789', '-84.57725', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70567, 'Bdge', 2789, '39817', '229', '30.93789', '-84.57725', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70568, 'West Bainbridge', 2789, '39817', '229', '30.93789', '-84.57725', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70569, 'Morris', 2789, '39867', '229', '31.842472', '-85.024706', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70570, 'Donalsonville', 2789, '39845', '229', '30.944134', '-84.899086', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70571, 'Dville', 2789, '39845', '229', '30.944134', '-84.899086', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70572, 'Georgetown', 2789, '39854', '229', '31.913001', '-85.020766', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70573, 'Parrott', 2789, '39877', '229', '31.91212', '-84.507955', '2018-11-29 05:13:20', '2018-11-29 05:13:20'),\n(70574, 'Cedar Springs', 2789, '39832', '229', '31.184', '-85.036', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70575, 'Climax', 2789, '39834', '229', '30.89206', '-84.447715', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70576, 'Morgan', 2789, '39866', '229', '31.537995', '-84.620502', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70577, 'Atlanta', 2789, '39901', '404', '33.7512', '-84.3944', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70578, 'Chamblee', 2789, '39901', '404', '33.7512', '-84.3944', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70579, 'Irs Service Center', 2789, '39901', '404', '33.7512', '-84.3944', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70580, 'Lumpkin', 2789, '31815', '229', '32.039122', '-84.894446', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70581, 'Preston', 2789, '31824', '229', '32.0969', '-84.541371', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70582, 'Waverly Hall', 2789, '31831', '706', '32.673331', '-84.743618', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70583, 'West Point', 2789, '31833', '706', '32.835216', '-85.101217', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70584, 'Blakely', 2789, '39823', '229', '31.3859', '-84.939675', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70585, 'Bluffton', 2789, '39824', '229', '31.552822', '-84.914669', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70586, 'Cuthbert', 2789, '39840', '229', '31.775674', '-84.77924', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70587, 'Sterling', 2789, '31525', '912', '31.314924', '-81.522194', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70588, 'Thalman', 2789, '31525', '912', '31.314924', '-81.522194', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70589, 'Brunswick', 2789, '31527', '912', '31.06666', '-81.421052', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70590, 'Jekyll Island', 2789, '31527', '912', '31.06666', '-81.421052', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70591, 'Hoboken', 2789, '31542', '912', '31.143856', '-82.121344', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70592, 'Albany', 2789, '31703', '229', '31.5783', '-84.1571', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70593, 'Americus', 2789, '31719', '229', '32.06392', '-84.308548', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70594, 'Shiloh', 2789, '31826', '706', '32.783676', '-84.70952', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70595, 'Douglas', 2789, '31533', '912', '31.554494', '-82.845336', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70596, 'Lumber City', 2789, '31549', '912', '31.904072', '-82.756073', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70597, 'Fairfax', 2789, '31552', '912', '31.28908', '-82.624444', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70598, 'Millwood', 2789, '31552', '912', '31.28908', '-82.624444', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70599, 'Hickox', 2789, '31553', '912', '31.158464', '-81.97073', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70600, 'Lulaton', 2789, '31553', '912', '31.158464', '-81.97073', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70601, 'Nahunta', 2789, '31553', '912', '31.158464', '-81.97073', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70602, 'Raybon', 2789, '31553', '912', '31.158464', '-81.97073', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70603, 'Woodland', 2789, '31836', '706', '32.792267', '-84.551148', '2018-11-29 05:13:21', '2018-11-29 05:13:21'),\n(70604, 'Doctortown', 2789, '31545', '912', '31.595178', '-81.947578', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70605, 'Gardi', 2789, '31545', '912', '31.595178', '-81.947578', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70606, 'Jesup', 2789, '31545', '912', '31.595178', '-81.947578', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70607, 'Madray Springs', 2789, '31545', '912', '31.595178', '-81.947578', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70608, 'Mckinnon', 2789, '31545', '912', '31.595178', '-81.947578', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70609, 'Kings Bay', 2789, '31547', '912', '30.801332', '-81.533338', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70610, 'Stockton', 2789, '31649', '229', '31.017908', '-83.017266', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70611, 'Coolidge', 2789, '31738', '229', '31.009234', '-83.872554', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70612, 'Cols', 2789, '31906', '706', '32.466251', '-84.953072', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70613, 'Columbus', 2789, '31906', '706', '32.466251', '-84.953072', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70614, 'Col', 2789, '31908', '706', '32.4608', '-84.9876', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70615, 'Cols', 2789, '31908', '706', '32.4608', '-84.9876', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70616, 'Columbus', 2789, '31908', '706', '32.4608', '-84.9876', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70617, 'Pine Mountain', 2789, '31822', '706', '32.865831', '-84.897487', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70618, 'Columbus', 2789, '31829', '706', '32.559814', '-84.731001', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70619, 'Upatoi', 2789, '31829', '706', '32.559814', '-84.731001', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70620, 'Folkston', 2789, '31537', '912', '30.926172', '-82.098949', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70621, 'Homeland', 2789, '31537', '912', '30.926172', '-82.098949', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70622, 'Hazlehurst', 2789, '31539', '912', '31.822381', '-82.633648', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70623, 'Roper', 2789, '31539', '912', '31.822381', '-82.633648', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70624, 'Junction City', 2789, '31812', '706', '32.596313', '-84.451653', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70625, 'Richland', 2789, '31825', '229', '32.076624', '-84.695159', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70626, 'Talbotton', 2789, '31827', '706', '32.701236', '-84.494944', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70627, 'Ashburn', 2789, '31714', '229', '31.707667', '-83.681708', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70628, 'Baconton', 2789, '31716', '229', '31.377944', '-84.120699', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70629, 'Camilla', 2789, '31730', '229', '31.211996', '-84.254748', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70630, 'Cols', 2789, '31907', '706', '32.47779', '-84.821814', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70631, 'Columbus', 2789, '31907', '706', '32.47779', '-84.821814', '2018-11-29 05:13:22', '2018-11-29 05:13:22'),\n(70632, 'Cols', 2789, '31914', '706', '32.5564', '-84.7387', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70633, 'Columbus', 2789, '31914', '706', '32.5564', '-84.7387', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70634, 'Albany', 2789, '31704', '229', '31.551224', '-84.064632', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70635, 'Marine Corps Logistics Base', 2789, '31704', '229', '31.551224', '-84.064632', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70636, 'Albany', 2789, '31706', '229', '31.5783', '-84.1556', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70637, 'Berlin', 2789, '31722', '229', '31.067784', '-83.623943', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70638, 'At&t Universal Card Service', 2789, '31997', '706', '32.4608', '-84.9876', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70639, 'Columbus', 2789, '31997', '706', '32.4608', '-84.9876', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70640, 'Manor', 2789, '31550', '912', '30.900111', '-82.408772', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70641, 'Damascus', 2789, '39841', '229', '31.342818', '-84.735775', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70642, 'Dawson', 2789, '39842', '229', '31.792464', '-84.4452', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70643, 'Beallwood', 2789, '31904', '706', '32.543972', '-85.013861', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70644, 'Cols', 2789, '31904', '706', '32.543972', '-85.013861', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70645, 'Columbus', 2789, '31904', '706', '32.543972', '-85.013861', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70646, 'Cols', 2789, '31917', '706', '32.5564', '-84.7387', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70647, 'Columbus', 2789, '31917', '706', '32.5564', '-84.7387', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70648, 'Hortense', 2789, '31543', '912', '31.359315', '-81.845621', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70649, 'Jacksonville', 2789, '31544', '229', '31.848145', '-82.943008', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70650, 'Midland', 2789, '31820', '706', '32.579955', '-84.83663', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70651, 'Americus', 2789, '31709', '229', '32.013294', '-84.120225', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70652, 'Andersonville', 2789, '31711', '229', '32.186085', '-84.11399', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70653, 'Cols', 2789, '31909', '706', '32.543754', '-84.91577', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70654, 'Columbus', 2789, '31909', '706', '32.543754', '-84.91577', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70655, 'Cols', 2789, '31995', '706', '32.4608', '-84.9876', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70656, 'Columbus', 2789, '31995', '706', '32.4608', '-84.9876', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70657, 'Fort Benning', 2789, '31995', '706', '32.4608', '-84.9876', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70658, 'Brookfield', 2789, '31727', '229', '31.4186', '-83.3898', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70659, 'Albany', 2789, '31708', '229', '31.5783', '-84.1556', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70660, 'Columbus', 2789, '31993', '706', '32.4608', '-84.9876', '2018-11-29 05:13:23', '2018-11-29 05:13:23'),\n(70661, 'Columbus Brm', 2789, '31993', '706', '32.4608', '-84.9876', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70662, 'Bainbridge', 2789, '39819', '229', '30.801718', '-84.669779', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70663, 'Bdge', 2789, '39819', '229', '30.801718', '-84.669779', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70664, 'Cairo', 2789, '39828', '229', '30.807208', '-84.226816', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70665, 'Cario', 2789, '39828', '229', '30.807208', '-84.226816', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70666, 'Karo', 2789, '39828', '229', '30.807208', '-84.226816', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70667, 'Colquitt', 2789, '39837', '229', '31.150888', '-84.720733', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70668, 'Edison', 2789, '39846', '229', '31.560136', '-84.751806', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70669, 'Leary', 2789, '39862', '229', '31.524876', '-84.498279', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70670, 'Bainbridge', 2789, '39818', '229', '30.875', '-84.583', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70671, 'Bdge', 2789, '39818', '229', '30.875', '-84.583', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70672, 'Demorest', 2789, '30535', '706', '34.585946', '-83.570686', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70673, 'Dillard', 2789, '30537', '706', '34.978508', '-83.347952', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70674, 'Sky Valley', 2789, '30537', '706', '34.978508', '-83.347952', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70675, 'Hiawassee', 2789, '30546', '706', '34.891453', '-83.686176', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70676, 'Lavonia', 2789, '30553', '706', '34.43722', '-83.08385', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70677, 'Sugar Valley', 2789, '30746', '706', '34.574935', '-85.027893', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70678, 'Tennga', 2789, '30751', '706', '34.976314', '-84.710178', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70679, 'Tunnel Hill', 2789, '30755', '706', '34.862222', '-85.039682', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70680, 'Avera', 2789, '30803', '706', '33.157622', '-82.54367', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70681, 'Blythe', 2789, '30805', '706', '33.280629', '-82.1929', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70682, 'Ellwood', 2789, '30805', '706', '33.280629', '-82.1929', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70683, 'Gracewood', 2789, '30812', '706', '33.3727', '-82.0323', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70684, 'Ga Southern University', 2789, '30460', '912', '32.4352', '-81.7835', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70685, 'Statesboro', 2789, '30460', '912', '32.4352', '-81.7835', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70686, 'Atl', 2789, '30360', '770', '33.933808', '-84.2662', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70687, 'Atlanta', 2789, '30360', '770', '33.933808', '-84.2662', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70688, 'Doraville', 2789, '30360', '770', '33.933808', '-84.2662', '2018-11-29 05:13:24', '2018-11-29 05:13:24'),\n(70689, 'Dunwoody', 2789, '30360', '770', '33.933808', '-84.2662', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70690, 'Winters Chapel', 2789, '30360', '770', '33.933808', '-84.2662', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70691, 'Atl', 2789, '30378', '404', '33.740585', '-84.564147', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70692, 'Atlanta', 2789, '30378', '404', '33.740585', '-84.564147', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70693, 'Gainesville', 2789, '30501', '770', '34.313648', '-83.810556', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70694, 'Westside', 2789, '30501', '770', '34.313648', '-83.810556', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70695, 'Blairsville', 2789, '30512', '706', '34.854884', '-83.963998', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70696, 'Atl', 2789, '30326', '404', '33.849882', '-84.361095', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70697, 'Atlanta', 2789, '30326', '404', '33.849882', '-84.361095', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70698, 'Brookhaven', 2789, '30326', '404', '33.849882', '-84.361095', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70699, 'Atl', 2789, '30328', '404', '33.934558', '-84.395657', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70700, 'Atlanta', 2789, '30328', '404', '33.934558', '-84.395657', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70701, 'Sandy Spgs', 2789, '30328', '404', '33.934558', '-84.395657', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70702, 'Sandy Springs', 2789, '30328', '404', '33.934558', '-84.395657', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70703, 'Atl', 2789, '30337', '404', '33.642552', '-84.446495', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70704, 'Atlanta', 2789, '30337', '404', '33.642552', '-84.446495', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70705, 'College Park', 2789, '30337', '404', '33.642552', '-84.446495', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70706, 'Atl', 2789, '30342', '404', '33.88186', '-84.3783', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70707, 'Atlanta', 2789, '30342', '404', '33.88186', '-84.3783', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70708, 'Sandy Spgs', 2789, '30342', '404', '33.88186', '-84.3783', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70709, 'Sandy Springs', 2789, '30342', '404', '33.88186', '-84.3783', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70710, 'Tuxedo', 2789, '30342', '404', '33.88186', '-84.3783', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70711, 'Jakin', 2789, '39861', '229', '31.178255', '-85.014334', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70712, 'Brinson', 2789, '39825', '229', '30.911391', '-84.749908', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70713, 'Iron City', 2789, '39859', '229', '30.95964', '-84.790264', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70714, 'Bronwood', 2789, '39826', '229', '31.813314', '-84.333344', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70715, 'Sasser', 2789, '39885', '229', '31.718', '-84.369', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70716, 'Odum', 2789, '31555', '912', '31.707576', '-82.071149', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70717, 'Jesup', 2789, '31598', '912', '31.5991', '-81.8846', '2018-11-29 05:13:25', '2018-11-29 05:13:25'),\n(70718, 'Bemiss', 2789, '31605', '229', '30.951025', '-83.22715', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70719, 'Valdosta', 2789, '31605', '229', '30.951025', '-83.22715', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70720, 'Du Pont', 2789, '31630', '912', '30.934663', '-82.870748', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70721, 'Hahira', 2789, '31632', '229', '30.966854', '-83.368068', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70722, 'Nashville', 2789, '31639', '229', '31.227879', '-83.191858', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70723, 'Statenville', 2789, '31648', '229', '30.720206', '-82.816547', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70724, 'Peachtree City', 2789, '31169', '404', '0', '0', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70725, 'Peachtree City Parcel Return', 2789, '31169', '404', '0', '0', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70726, 'Peachtree Cty', 2789, '31169', '404', '0', '0', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70727, 'Savannah', 2789, '31414', '912', '32.0836', '-81.1003', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70728, 'Pineview', 2789, '31071', '229', '32.087578', '-83.468644', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70729, 'Clyo', 2789, '31303', '912', '32.509539', '-81.302592', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70730, 'Augusta', 2789, '30903', '706', '33.4667', '-82.0167', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70731, 'Augusta', 2789, '30905', '706', '33.359001', '-82.223404', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70732, 'Fort Gordon', 2789, '30905', '706', '33.359001', '-82.223404', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70733, 'Ft Gordon', 2789, '30905', '706', '33.359001', '-82.223404', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70734, 'Augusta', 2789, '30919', '706', '33.4667', '-82.0167', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70735, 'Roberta', 2789, '31078', '478', '32.706642', '-84.079235', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70736, 'Fort Gaines', 2789, '39851', '229', '31.648189', '-85.033722', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70737, 'Attapulgus', 2789, '39815', '229', '30.75264', '-84.483314', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70738, 'Whigham', 2789, '39897', '229', '30.898307', '-84.32656', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70739, 'Enigma', 2789, '31749', '229', '31.3627', '-83.344506', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70740, 'Hartsfield', 2789, '31756', '229', '31.18418', '-83.943754', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70741, 'Hartville', 2789, '31756', '229', '31.18418', '-83.943754', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70742, 'Hinsonton', 2789, '31765', '229', '31.106534', '-84.031914', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70743, 'Meigs', 2789, '31765', '229', '31.106534', '-84.031914', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70744, 'Poulan', 2789, '31781', '229', '31.541492', '-83.789079', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70745, 'Sycamore', 2789, '31790', '229', '31.653027', '-83.566397', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70746, 'Ellaville', 2789, '31806', '229', '32.294785', '-84.306046', '2018-11-29 05:13:26', '2018-11-29 05:13:26'),\n(70747, 'Fortson', 2789, '31808', '706', '32.635173', '-85.006578', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70748, 'Pooler', 2789, '31322', '912', '32.08651', '-81.250254', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70749, 'Ashintilly', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70750, 'Cox', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70751, 'Eulonia', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70752, 'Ridgeville', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70753, 'Shellman Blf', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70754, 'Shellman Bluff', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70755, 'Townsend', 2789, '31331', '912', '31.558638', '-81.429161', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70756, 'Rutledge', 2789, '30663', '706', '33.612679', '-83.593426', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70757, 'Crandall', 2789, '30711', '706', '34.926792', '-84.755382', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70758, 'Dalton', 2789, '30720', '706', '34.759532', '-85.005494', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70759, 'Bolingbroke', 2789, '31004', '478', '32.9446', '-83.8036', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70760, 'Dry Branch', 2789, '31020', '478', '32.638977', '-83.478466', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70761, 'Port Wentworth', 2789, '31407', '912', '32.182094', '-81.19762', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70762, 'Port Wentwrth', 2789, '31407', '912', '32.182094', '-81.19762', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70763, 'Prt Wentworth', 2789, '31407', '912', '32.182094', '-81.19762', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70764, 'Savannah', 2789, '31407', '912', '32.182094', '-81.19762', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70765, 'Saint Marys', 2789, '31558', '912', '30.842741', '-81.528876', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70766, 'Brunswick', 2789, '31561', '912', '31.195239', '-81.336942', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70767, 'Sea Island', 2789, '31561', '912', '31.195239', '-81.336942', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70768, 'Barney', 2789, '31625', '229', '31.004224', '-83.525766', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70769, 'Atl', 2789, '31192', '404', '33.7488', '-84.3883', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70770, 'Atlanta', 2789, '31192', '404', '33.7488', '-84.3883', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70771, 'Mellon Bank', 2789, '31192', '404', '33.7488', '-84.3883', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70772, 'Savannah', 2789, '31410', '912', '32.01943', '-80.952741', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70773, 'Thunderbolt', 2789, '31410', '912', '32.01943', '-80.952741', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70774, 'Wilmington Is', 2789, '31410', '912', '32.01943', '-80.952741', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70775, 'Wilmington Island', 2789, '31410', '912', '32.01943', '-80.952741', '2018-11-29 05:13:27', '2018-11-29 05:13:27'),\n(70776, 'Savannah', 2789, '31411', '912', '31.934495', '-81.020023', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70777, 'Brunswick', 2789, '31524', '912', '31.1497', '-81.4917', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70778, 'Fed Law Enforcement Trng Ctr', 2789, '31524', '912', '31.1497', '-81.4917', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70779, 'Glynco', 2789, '31524', '912', '31.1497', '-81.4917', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70780, 'Rentz', 2789, '31075', '478', '32.339595', '-82.964866', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70781, 'Eden', 2789, '31307', '912', '32.172313', '-81.40128', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70782, 'Black Creek', 2789, '31308', '912', '32.17777', '-81.501134', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70783, 'Ellabell', 2789, '31308', '912', '32.17777', '-81.501134', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70784, 'Fleming', 2789, '31309', '912', '31.881285', '-81.458815', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70785, 'Hinesville', 2789, '31310', '912', '31.8475', '-81.5964', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70786, 'Perkins', 2789, '30822', '478', '32.906423', '-81.904256', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70787, 'Stapleton', 2789, '30823', '706', '33.231204', '-82.461723', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70788, 'Augusta', 2789, '30906', '706', '33.345146', '-81.9711', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70789, 'Augusta', 2789, '30907', '706', '33.529409', '-82.089371', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70790, 'Martinez', 2789, '30907', '706', '33.529409', '-82.089371', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70791, 'Augusta', 2789, '30909', '706', '33.482743', '-82.092868', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70792, 'Unadilla', 2789, '31091', '478', '32.211186', '-83.729279', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70793, 'Unidilla', 2789, '31091', '478', '32.211186', '-83.729279', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70794, 'Good Hope', 2789, '30641', '770', '33.777744', '-83.571045', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70795, 'Greensboro', 2789, '30642', '706', '33.555696', '-83.173021', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70796, 'Reynolds Plantation', 2789, '30642', '706', '33.555696', '-83.173021', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70797, 'Clyattville', 2789, '31601', '229', '30.753316', '-83.350791', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70798, 'Dasher', 2789, '31601', '229', '30.753316', '-83.350791', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70799, 'Remerton', 2789, '31601', '229', '30.753316', '-83.350791', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70800, 'Valdosta', 2789, '31601', '229', '30.753316', '-83.350791', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70801, 'Huber', 2789, '31201', '478', '32.819934', '-83.618406', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70802, 'Macon', 2789, '31201', '478', '32.819934', '-83.618406', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70803, 'Garden City', 2789, '31418', '912', '32.1145', '-81.1544', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70804, 'Garden Cty', 2789, '31418', '912', '32.1145', '-81.1544', '2018-11-29 05:13:28', '2018-11-29 05:13:28'),\n(70805, 'Savannah', 2789, '31418', '912', '32.1145', '-81.1544', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70806, 'Okefenokee', 2789, '31501', '912', '31.22804', '-82.347959', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70807, 'Waycross', 2789, '31501', '912', '31.22804', '-82.347959', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70808, 'Harrison', 2789, '31035', '478', '32.849694', '-82.709794', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70809, 'Kite', 2789, '31049', '478', '32.708022', '-82.523016', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70810, 'Macon', 2789, '31216', '478', '32.748182', '-83.686006', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70811, 'Macon', 2789, '31217', '478', '32.805786', '-83.503921', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70812, 'Allenhurst', 2789, '31301', '912', '31.756013', '-81.60516', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70813, 'Fort Stewart', 2789, '31315', '912', '31.881531', '-81.598618', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70814, 'Ft Stewart', 2789, '31315', '912', '31.881531', '-81.598618', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70815, 'Hinesville', 2789, '31315', '912', '31.881531', '-81.598618', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70816, 'Meldrim', 2789, '31318', '912', '32.141617', '-81.37969', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70817, 'Carnigan', 2789, '31319', '912', '31.423005', '-81.356864', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70818, 'Meridian', 2789, '31319', '912', '31.423005', '-81.356864', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70819, 'Valona', 2789, '31319', '912', '31.423005', '-81.356864', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70820, 'Hephzibah', 2789, '30815', '706', '33.29037', '-82.094316', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70821, 'Wrens', 2789, '30833', '706', '33.190606', '-82.353465', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70822, 'Augusta', 2789, '30901', '706', '33.425779', '-81.958155', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70823, 'Augusta', 2789, '30917', '706', '33.5164', '-82.0578', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70824, 'Augusta', 2789, '30999', '706', '33.4667', '-82.0167', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70825, 'Railroad Retirement Board', 2789, '30999', '706', '33.4667', '-82.0167', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70826, 'West Green', 2789, '31567', '912', '31.604809', '-82.694584', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70827, 'White Oak', 2789, '31568', '912', '30.999485', '-81.785497', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70828, 'Woodbine', 2789, '31569', '912', '30.912957', '-81.634091', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70829, 'Cogdell', 2789, '31634', '912', '31.040719', '-82.752774', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70830, 'Homerville', 2789, '31634', '912', '31.040719', '-82.752774', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70831, 'Lake Park', 2789, '31636', '229', '30.745024', '-83.100656', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70832, 'Lakepark', 2789, '31636', '229', '30.745024', '-83.100656', '2018-11-29 05:13:29', '2018-11-29 05:13:29'),\n(70833, 'Savannah', 2789, '31416', '912', '32.0836', '-81.1003', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70834, 'Waycross', 2789, '31502', '912', '31.2135', '-82.3543', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70835, 'Waycross', 2789, '31503', '912', '31.18266', '-82.359603', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70836, 'Blackshear', 2789, '31516', '912', '31.324068', '-82.246366', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70837, 'Jot Em Down Store', 2789, '31516', '912', '31.324068', '-82.246366', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70838, 'Bristol', 2789, '31518', '912', '31.513968', '-82.172018', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70839, 'Knoxville', 2789, '31050', '478', '32.70564', '-83.933865', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70840, 'Montrose', 2789, '31065', '478', '32.561668', '-83.153101', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70841, 'Oconee', 2789, '31067', '478', '32.866002', '-82.939019', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70842, 'Bayview', 2789, '31316', '912', '31.731276', '-81.736794', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70843, 'Donald', 2789, '31316', '912', '31.731276', '-81.736794', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70844, 'Elim', 2789, '31316', '912', '31.731276', '-81.736794', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70845, 'Ludowici', 2789, '31316', '912', '31.731276', '-81.736794', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70846, 'Agnes', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70847, 'Amity', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70848, 'Honora', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70849, 'Leathersville', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70850, 'Lincolnton', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70851, 'Loco', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70852, 'Maxim', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70853, 'New Hope', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70854, 'Sybert', 2789, '30817', '706', '33.78325', '-82.407212', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70855, 'Deepstep', 2789, '31082', '478', '32.981957', '-82.871162', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70856, 'Sandersville', 2789, '31082', '478', '32.981957', '-82.871162', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70857, 'Farrar', 2789, '31085', '706', '33.422414', '-83.635911', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70858, 'Kelly', 2789, '31085', '706', '33.422414', '-83.635911', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70859, 'Shady Dale', 2789, '31085', '706', '33.422414', '-83.635911', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70860, 'Robins A F B', 2789, '31098', '478', '32.619748', '-83.573587', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70861, 'Robins AFB', 2789, '31098', '478', '32.619748', '-83.573587', '2018-11-29 05:13:30', '2018-11-29 05:13:30'),\n(70862, 'Robins Air Force Base', 2789, '31098', '478', '32.619748', '-83.573587', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70863, 'South Base', 2789, '31098', '478', '32.619748', '-83.573587', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70864, 'Warner Robins', 2789, '31098', '478', '32.619748', '-83.573587', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70865, 'Screven', 2789, '31560', '912', '31.491774', '-82.040164', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70866, 'Boston', 2789, '31626', '229', '30.791556', '-83.806838', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70867, 'Cecil', 2789, '31627', '229', '31.06347', '-83.375875', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70868, 'Naylor', 2789, '31641', '229', '30.889312', '-83.093434', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70869, 'Quitman', 2789, '31643', '229', '30.791992', '-83.550467', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70870, 'Ray City', 2789, '31645', '229', '31.061696', '-83.243998', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70871, 'Atl', 2789, '31141', '404', '33.7926', '-84.3252', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70872, 'Atlanta', 2789, '31141', '404', '33.7926', '-84.3252', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70873, 'Embry Hls', 2789, '31141', '404', '33.7926', '-84.3252', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70874, 'Garden City', 2789, '31408', '912', '32.116618', '-81.193193', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70875, 'Garden Cty', 2789, '31408', '912', '32.116618', '-81.193193', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70876, 'Savannah', 2789, '31408', '912', '32.116618', '-81.193193', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70877, 'Hunter Aaf', 2789, '31409', '912', '32.014399', '-81.1598', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70878, 'Savannah', 2789, '31409', '912', '32.014399', '-81.1598', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70879, 'Alma', 2789, '31510', '912', '31.550004', '-82.462181', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70880, 'Guysie', 2789, '31510', '912', '31.550004', '-82.462181', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70881, 'Rockingham', 2789, '31510', '912', '31.550004', '-82.462181', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70882, 'Brunswick', 2789, '31525', '912', '31.314924', '-81.522194', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70883, 'Everett', 2789, '31525', '912', '31.314924', '-81.522194', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70884, 'Dublin', 2789, '31040', '478', '32.5404', '-82.9038', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70885, 'Irwinton', 2789, '31042', '478', '32.752007', '-83.156229', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70886, 'Marshallville', 2789, '31057', '478', '32.440372', '-83.94034', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70887, 'Milledgeville', 2789, '31059', '478', '33.0769', '-83.3032', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70888, 'Reynolds', 2789, '31076', '478', '32.530504', '-84.147738', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70889, 'Macon', 2789, '31207', '478', '32.828208', '-83.651585', '2018-11-29 05:13:31', '2018-11-29 05:13:31'),\n(70890, 'Mercer University', 2789, '31207', '478', '32.828208', '-83.651585', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70891, 'Macon', 2789, '31209', '478', '32.8407', '-83.6325', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70892, 'Macon', 2789, '31210', '478', '32.897475', '-83.753591', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70893, 'Centerville', 2789, '31093', '478', '32.650222', '-83.654334', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70894, 'Warner Robins', 2789, '31093', '478', '32.650222', '-83.654334', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70895, 'Atl', 2789, '31107', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70896, 'Atlanta', 2789, '31107', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70897, 'Atl', 2789, '31126', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70898, 'Atlanta', 2789, '31126', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70899, 'Lenox Sq Finance', 2789, '31126', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70900, 'Lenox Square Finance', 2789, '31126', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70901, 'Franklin Spgs', 2789, '30639', '706', '34.28187', '-83.148258', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70902, 'Franklin Springs', 2789, '30639', '706', '34.28187', '-83.148258', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70903, 'Hickory Bluff', 2789, '31565', '912', '31.061147', '-81.62723', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70904, 'Piney Bluff', 2789, '31565', '912', '31.061147', '-81.62723', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70905, 'Spring Bluff', 2789, '31565', '912', '31.061147', '-81.62723', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70906, 'Waverly', 2789, '31565', '912', '31.061147', '-81.62723', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70907, 'Federal Correctional Inst', 2789, '31599', '912', '31.5988', '-81.884', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70908, 'Jesup', 2789, '31599', '912', '31.5988', '-81.884', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70909, 'Adel', 2789, '31620', '229', '31.11918', '-83.428336', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70910, 'Dixie', 2789, '31629', '229', '30.769258', '-83.687252', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70911, 'Fargo', 2789, '31631', '912', '30.781293', '-82.637193', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70912, 'Sparks', 2789, '31647', '229', '31.200639', '-83.465595', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70913, 'Atl', 2789, '31195', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70914, 'Atlanta', 2789, '31195', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70915, 'Atlanta Ndc', 2789, '31195', '404', '33.7488', '-84.3883', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70916, 'Macon', 2789, '31204', '478', '32.854696', '-83.67808', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70917, 'Payne', 2789, '31204', '478', '32.854696', '-83.67808', '2018-11-29 05:13:32', '2018-11-29 05:13:32');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(70918, 'Payne City', 2789, '31204', '478', '32.854696', '-83.67808', '2018-11-29 05:13:32', '2018-11-29 05:13:32'),\n(70919, 'Grovania', 2789, '31036', '478', '32.265471', '-83.487372', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70920, 'Hawkinsville', 2789, '31036', '478', '32.265471', '-83.487372', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70921, 'Hayneville', 2789, '31036', '478', '32.265471', '-83.487372', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70922, 'Hville', 2789, '31036', '478', '32.265471', '-83.487372', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70923, 'Klondike', 2789, '31036', '478', '32.265471', '-83.487372', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70924, 'Macon', 2789, '31211', '478', '32.921561', '-83.580073', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70925, 'Macon', 2789, '31213', '478', '32.8407', '-83.6325', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70926, 'Usps Official Mail', 2789, '31213', '478', '32.8407', '-83.6325', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70927, 'Macon', 2789, '31220', '478', '32.879412', '-83.816169', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70928, 'Macon', 2789, '31297', '478', '32.8407', '-83.6325', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70929, 'Crescent', 2789, '31304', '912', '31.494931', '-81.338384', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70930, 'Matthews', 2789, '30818', '706', '33.244342', '-82.29443', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70931, 'Noah', 2789, '30818', '706', '33.244342', '-82.29443', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70932, 'Wrens', 2789, '30818', '706', '33.244342', '-82.29443', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70933, 'Rupert', 2789, '31081', '478', '32.432886', '-84.302018', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70934, 'Atlanta', 2789, '31136', '404', '33.720034', '-84.585199', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70935, 'Newgistics', 2789, '31136', '404', '33.720034', '-84.585199', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70936, 'Dewy Rose', 2789, '30634', '706', '34.212439', '-82.940706', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70937, 'Farmington', 2789, '30638', '706', '33.7767', '-83.427292', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70938, 'Hartwell', 2789, '30643', '706', '34.368503', '-82.899196', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70939, 'Otranto', 2792, '50472', '641', '43.413462', '-92.937468', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70940, 'Saint Ansgar', 2792, '50472', '641', '43.413462', '-92.937468', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70941, 'Toeterville', 2792, '50481', '641', '43.4437', '-92.8965', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70942, 'Dolliver', 2792, '50531', '712', '43.450219', '-94.620266', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70943, 'Goldfield', 2792, '50542', '515', '42.787084', '-93.951496', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70944, 'Ledyard', 2792, '50556', '515', '43.44291', '-94.168296', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70945, 'Livermore', 2792, '50558', '515', '42.870431', '-94.158461', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70946, 'Nemaha', 2792, '50567', '712', '42.50977', '-95.081865', '2018-11-29 05:13:33', '2018-11-29 05:13:33'),\n(70947, 'Sac City', 2792, '50583', '712', '42.450142', '-94.982689', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70948, 'Hopeville', 2792, '50174', '641', '41.026728', '-93.965984', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70949, 'Murray', 2792, '50174', '641', '41.026728', '-93.965984', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70950, 'Lawn Hill', 2792, '50206', '641', '42.248576', '-93.189364', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70951, 'New Providence', 2792, '50206', '641', '42.248576', '-93.189364', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70952, 'New Providnce', 2792, '50206', '641', '42.248576', '-93.189364', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70953, 'Osceola', 2792, '50213', '641', '41.029356', '-93.745687', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70954, 'East Peru', 2792, '50222', '641', '41.216331', '-93.963048', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70955, 'Peru', 2792, '50222', '641', '41.216331', '-93.963048', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70956, 'Conger', 2792, '50240', '641', '41.295418', '-93.809636', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70957, 'Hanley', 2792, '50240', '641', '41.295418', '-93.809636', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70958, 'Saint Charles', 2792, '50240', '641', '41.295418', '-93.809636', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70959, 'Wick', 2792, '50240', '641', '41.295418', '-93.809636', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70960, 'Williamson', 2792, '50272', '641', '41.117308', '-93.270394', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70961, 'Wiota', 2792, '50274', '712', '41.360146', '-94.8135', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70962, 'Des Moines', 2792, '50308', '515', '41.5999', '-93.6226', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70963, 'Clive', 2792, '50324', '515', '41.59427', '-93.703647', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70964, 'Des Moines', 2792, '50324', '515', '41.59427', '-93.703647', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70965, 'Windsor Heights', 2792, '50324', '515', '41.59427', '-93.703647', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70966, 'Windsor Hts', 2792, '50324', '515', '41.59427', '-93.703647', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70967, 'Des Moines', 2792, '50333', '515', '41.6006', '-93.6087', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70968, 'Grafton', 2792, '50440', '641', '43.32786', '-93.082698', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70969, 'Denhart', 2792, '50447', '641', '42.92187', '-93.79349', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70970, 'Kanawha', 2792, '50447', '641', '42.92187', '-93.79349', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70971, 'Klemme', 2792, '50449', '641', '42.988148', '-93.56699', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70972, 'Rake', 2792, '50465', '641', '43.486534', '-93.902304', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70973, 'Rock Falls', 2792, '50467', '641', '43.208589', '-93.085196', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70974, 'Sexton', 2792, '50483', '515', '43.110633', '-94.000107', '2018-11-29 05:13:34', '2018-11-29 05:13:34'),\n(70975, 'Wesley', 2792, '50483', '515', '43.110633', '-94.000107', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70976, 'Bancroft', 2792, '50517', '515', '43.298702', '-94.246842', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70977, 'Clare', 2792, '50524', '515', '42.591387', '-94.334567', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70978, 'Marathon', 2792, '50565', '712', '42.858476', '-95.003148', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70979, 'Rembrandt', 2792, '50576', '712', '42.807157', '-95.165976', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70980, 'Rolfe', 2792, '50581', '712', '42.835382', '-94.54078', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70981, 'Durham', 2792, '50119', '641', '41.30387', '-92.933628', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70982, 'Harvey', 2792, '50119', '641', '41.30387', '-92.933628', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70983, 'Lynnville', 2792, '50153', '641', '41.570734', '-92.81569', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70984, 'Mc Callsburg', 2792, '50154', '515', '42.16602', '-93.395654', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70985, 'Minburn', 2792, '50167', '515', '41.732236', '-94.066886', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70986, 'Mingo', 2792, '50168', '641', '41.788776', '-93.263429', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70987, 'Fernald', 2792, '50201', '515', '42.021894', '-93.44241', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70988, 'Nevada', 2792, '50201', '515', '42.021894', '-93.44241', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70989, 'Shipley', 2792, '50201', '515', '42.021894', '-93.44241', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70990, 'Paton', 2792, '50217', '515', '42.173406', '-94.251718', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70991, 'Harvester', 2792, '50234', '641', '41.895894', '-93.173875', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70992, 'Rhodes', 2792, '50234', '641', '41.895894', '-93.173875', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70993, 'Rippey', 2792, '50235', '515', '41.928414', '-94.212502', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70994, 'Sully', 2792, '50251', '641', '41.564904', '-92.879466', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70995, 'Talmage', 2792, '50254', '641', '40.983608', '-94.071502', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70996, 'Thayer', 2792, '50254', '641', '40.983608', '-94.071502', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70997, 'Des Moines', 2792, '50301', '515', '41.6006', '-93.6087', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70998, 'Des Moines', 2792, '50319', '515', '41.6006', '-93.6087', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(70999, 'State Of Iowa', 2792, '50319', '515', '41.6006', '-93.6087', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(71000, 'Des Moines', 2792, '50321', '515', '41.547144', '-93.673198', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(71001, 'South Des Moines', 2792, '50321', '515', '41.547144', '-93.673198', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(71002, 'American Republic', 2792, '50334', '515', '41.6006', '-93.6087', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(71003, 'Des Moines', 2792, '50334', '515', '41.6006', '-93.6087', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(71004, 'Des Moines', 2792, '50335', '515', '41.6006', '-93.6087', '2018-11-29 05:13:35', '2018-11-29 05:13:35'),\n(71005, 'Midamerican Energy', 2792, '50335', '515', '41.6006', '-93.6087', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71006, 'Forest City', 2792, '50436', '641', '43.263403', '-93.684781', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71007, 'Lakota', 2792, '50451', '515', '43.406449', '-94.07918', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71008, 'Leland', 2792, '50453', '641', '43.364506', '-93.646572', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71009, 'Neils', 2792, '50453', '641', '43.364506', '-93.646572', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71010, 'Bradgate', 2792, '50520', '515', '42.775963', '-94.384046', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71011, 'Burnside', 2792, '50521', '515', '42.32511', '-94.067146', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71012, 'Palmer', 2792, '50571', '712', '42.638764', '-94.560816', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71013, 'Cornell', 2792, '50585', '712', '42.916239', '-95.151734', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71014, 'Sioux Rapids', 2792, '50585', '712', '42.916239', '-95.151734', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71015, 'Morrison', 2792, '50657', '319', '42.3418', '-92.6717', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71016, 'Newton', 2792, '50208', '641', '41.724929', '-93.038975', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71017, 'Randall', 2792, '50231', '515', '42.236588', '-93.602907', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71018, 'Redfield', 2792, '50233', '515', '41.613907', '-94.234494', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71019, 'Wiscotta', 2792, '50233', '515', '41.613907', '-94.234494', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71020, 'State Center', 2792, '50247', '641', '42.005414', '-93.148978', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71021, 'Tracy', 2792, '50256', '641', '41.272174', '-92.91212', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71022, 'Union', 2792, '50258', '641', '42.218106', '-93.075914', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71023, 'Capitol Heights', 2792, '50317', '515', '41.605744', '-93.550022', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71024, 'Carbondale', 2792, '50317', '515', '41.605744', '-93.550022', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71025, 'Des Moines', 2792, '50317', '515', '41.605744', '-93.550022', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71026, 'Norwoodville', 2792, '50317', '515', '41.605744', '-93.550022', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71027, 'Pleasant Hill', 2792, '50317', '515', '41.605744', '-93.550022', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71028, 'Risingsun', 2792, '50317', '515', '41.605744', '-93.550022', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71029, 'Des Moines', 2792, '50322', '515', '41.632963', '-93.737316', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71030, 'Urbandale', 2792, '50322', '515', '41.632963', '-93.737316', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71031, 'Communications Data Service', 2792, '50340', '515', '41.6006', '-93.6087', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71032, 'Des Moines', 2792, '50340', '515', '41.6006', '-93.6087', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71033, 'Des Moines', 2792, '50381', '515', '41.6006', '-93.6102', '2018-11-29 05:13:36', '2018-11-29 05:13:36'),\n(71034, 'Hp Other', 2792, '50381', '515', '41.6006', '-93.6102', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71035, 'Des Moines', 2792, '50392', '515', '41.6006', '-93.6102', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71036, 'Principal Financial', 2792, '50392', '515', '41.6006', '-93.6102', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71037, 'Buffalo Center', 2792, '50424', '641', '43.391944', '-93.921642', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71038, 'Buffalo Ctr', 2792, '50424', '641', '43.391944', '-93.921642', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71039, 'Manly', 2792, '50456', '641', '43.298708', '-93.231388', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71040, 'Ayrshire', 2792, '50515', '712', '43.018002', '-94.885256', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71041, 'Burt', 2792, '50522', '515', '43.190616', '-94.177487', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71042, 'Eagle Grove', 2792, '50533', '515', '42.64468', '-93.911832', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71043, 'Fonda', 2792, '50540', '712', '42.589476', '-94.816338', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71044, 'Industry', 2792, '50540', '712', '42.589476', '-94.816338', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71045, 'Jolley', 2792, '50551', '712', '42.483668', '-94.756736', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71046, 'Pocahontas', 2792, '50574', '712', '42.696589', '-94.688544', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71047, 'Ackworth', 2792, '50001', '515', '41.353005', '-93.431084', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71048, 'Sandyville', 2792, '50001', '515', '41.353005', '-93.431084', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71049, 'Adel', 2792, '50003', '515', '41.623685', '-94.042488', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71050, 'Bevington', 2792, '50033', '515', '41.410172', '-93.808218', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71051, 'Blairsburg', 2792, '50034', '515', '42.5104', '-93.651474', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71052, 'Churdan', 2792, '50050', '515', '42.13422', '-94.513338', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71053, 'Clio', 2792, '50052', '641', '40.663574', '-93.469926', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71054, 'Derby', 2792, '50068', '641', '40.935118', '-93.484795', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71055, 'Last Chance', 2792, '50068', '641', '40.935118', '-93.484795', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71056, 'De Soto', 2792, '50069', '515', '41.53708', '-94.016512', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71057, 'Dexter', 2792, '50070', '515', '41.449975', '-94.239494', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71058, 'Garden City', 2792, '50102', '515', '42.223741', '-93.424354', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71059, 'Garden Grove', 2792, '50103', '641', '40.71721', '-93.614343', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71060, 'High Point', 2792, '50103', '641', '40.71721', '-93.614343', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71061, 'Woodland', 2792, '50103', '641', '40.71721', '-93.614343', '2018-11-29 05:13:37', '2018-11-29 05:13:37'),\n(71062, 'Kelley', 2792, '50134', '515', '41.932302', '-93.688262', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71063, 'Keswick', 2792, '50136', '319', '41.46677', '-92.287602', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71064, 'Killduff', 2792, '50137', '641', '41.608069', '-92.904712', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71065, 'Lucas', 2792, '50151', '641', '41.098526', '-93.49972', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71066, 'Norwood', 2792, '50151', '641', '41.098526', '-93.49972', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71067, 'Mitchellville', 2792, '50169', '515', '41.663171', '-93.348397', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71068, 'Santiago', 2792, '50169', '515', '41.663171', '-93.348397', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71069, 'Monroe', 2792, '50170', '641', '41.542421', '-93.100801', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71070, 'Berkley', 2792, '50220', '515', '41.833801', '-94.11551', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71071, 'Perry', 2792, '50220', '515', '41.833801', '-94.11551', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71072, 'Roland', 2792, '50236', '515', '42.158161', '-93.493412', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71073, 'Swan', 2792, '50252', '515', '41.454904', '-93.257603', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71074, 'Whitten', 2792, '50269', '641', '42.25992', '-93.011582', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71075, 'Des Moines', 2792, '50302', '515', '41.6006', '-93.6087', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71076, 'Des Moines', 2792, '50303', '515', '41.6006', '-93.6087', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71077, 'Des Moines', 2792, '50320', '515', '41.531248', '-93.575284', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71078, 'South Des Moines', 2792, '50320', '515', '41.531248', '-93.575284', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71079, 'Des Moines', 2792, '50368', '515', '41.6006', '-93.6102', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71080, 'Mason City', 2792, '50402', '641', '43.1501', '-93.1021', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71081, 'Alexander', 2792, '50420', '641', '42.811676', '-93.459066', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71082, 'Belmond', 2792, '50421', '641', '42.83447', '-93.62654', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71083, 'Floyd', 2792, '50435', '641', '43.155269', '-92.778342', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71084, 'Latimer', 2792, '50452', '641', '42.760916', '-93.370211', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71085, 'Burchinal', 2792, '50469', '641', '43.009406', '-93.181706', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71086, 'Cartersville', 2792, '50469', '641', '43.009406', '-93.181706', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71087, 'Rockwell', 2792, '50469', '641', '43.009406', '-93.181706', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71088, 'Rowan', 2792, '50470', '641', '42.753208', '-93.561969', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71089, 'Rudd', 2792, '50471', '641', '43.147817', '-92.877816', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71090, 'Clayworks', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:38', '2018-11-29 05:13:38'),\n(71091, 'Coalville', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71092, 'Crossroads Center', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71093, 'Fort Dodge', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71094, 'Palm Grove', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71095, 'Tara', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71096, 'West Fort Dodge', 2792, '50501', '515', '42.455955', '-94.19653', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71097, 'Barnum', 2792, '50518', '515', '42.515973', '-94.383917', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71098, 'Early', 2792, '50535', '712', '42.458282', '-95.158263', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71099, 'Newell', 2792, '50568', '712', '42.633512', '-94.973799', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71100, 'Ottosen', 2792, '50570', '515', '42.885417', '-94.383877', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71101, 'Ames', 2792, '50011', '515', '42.027516', '-93.642048', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71102, 'Iowa State University', 2792, '50011', '515', '42.027516', '-93.642048', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71103, 'Bagley', 2792, '50026', '641', '41.848876', '-94.435326', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71104, 'Baxter', 2792, '50028', '641', '41.811851', '-93.154694', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71105, 'Brayton', 2792, '50042', '712', '41.53724', '-94.916286', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71106, 'Bussey', 2792, '50044', '641', '41.204703', '-92.879542', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71107, 'Cooper', 2792, '50059', '515', '41.913698', '-94.309177', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71108, 'Dallas', 2792, '50062', '641', '41.23876', '-93.252271', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71109, 'Melcher Dal', 2792, '50062', '641', '41.23876', '-93.252271', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71110, 'Melcher Dallas', 2792, '50062', '641', '41.23876', '-93.252271', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71111, 'Ellsworth', 2792, '50075', '515', '42.32565', '-93.551412', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71112, 'Exira', 2792, '50076', '712', '41.589252', '-94.881062', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71113, 'Grimes', 2792, '50111', '515', '41.691804', '-93.794913', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71114, 'Herrold', 2792, '50111', '515', '41.691804', '-93.794913', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71115, 'Jamaica', 2792, '50128', '641', '41.852426', '-94.297022', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71116, 'Leighton', 2792, '50143', '641', '41.334092', '-92.769514', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71117, 'Olivet', 2792, '50143', '641', '41.334092', '-92.769514', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71118, 'Martensdale', 2792, '50160', '641', '41.371914', '-93.743724', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71119, 'Ogden', 2792, '50212', '515', '42.043736', '-94.056034', '2018-11-29 05:13:39', '2018-11-29 05:13:39'),\n(71120, 'Prole', 2792, '50229', '515', '41.364044', '-93.779329', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71121, 'Sheldahl', 2792, '50243', '515', '41.863368', '-93.69366', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71122, 'Moran', 2792, '50276', '515', '41.855644', '-93.943143', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71123, 'The Meadows', 2792, '50276', '515', '41.855644', '-93.943143', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71124, 'Woodward', 2792, '50276', '515', '41.855644', '-93.943143', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71125, 'Yale', 2792, '50277', '641', '41.783207', '-94.343122', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71126, 'Des Moines', 2792, '50328', '515', '41.6006', '-93.6087', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71127, 'Wells Fargo Mortgage', 2792, '50328', '515', '41.6006', '-93.6087', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71128, 'Chapin', 2792, '50427', '641', '42.8337', '-93.2217', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71129, 'Joice', 2792, '50446', '641', '43.343248', '-93.443668', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71130, 'Stacyville', 2792, '50476', '641', '43.457402', '-92.751548', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71131, 'Thompson', 2792, '50478', '641', '43.406345', '-93.764385', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71132, 'Gowrie', 2792, '50543', '515', '42.281824', '-94.281042', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71133, 'Slifer', 2792, '50543', '515', '42.281824', '-94.281042', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71134, 'Harcourt', 2792, '50544', '515', '42.252994', '-94.164654', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71135, 'Lanyon', 2792, '50544', '515', '42.252994', '-94.164654', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71136, 'Havelock', 2792, '50546', '712', '42.849667', '-94.718076', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71137, 'Ware', 2792, '50546', '712', '42.849667', '-94.718076', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71138, 'Galbraith', 2792, '50560', '515', '42.958052', '-94.109153', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71139, 'Hanna', 2792, '50560', '515', '42.958052', '-94.109153', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71140, 'Irvington', 2792, '50560', '515', '42.958052', '-94.109153', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71141, 'Lu Verne', 2792, '50560', '515', '42.958052', '-94.109153', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71142, 'Renwick', 2792, '50577', '515', '42.848904', '-93.991099', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71143, 'Bayard', 2792, '50029', '712', '41.826874', '-94.55112', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71144, 'Booneville', 2792, '50038', '515', '41.522226', '-93.90806', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71145, 'Avon', 2792, '50047', '515', '41.478752', '-93.478286', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71146, 'Avon Lake', 2792, '50047', '515', '41.478752', '-93.478286', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71147, 'Carlisle', 2792, '50047', '515', '41.478752', '-93.478286', '2018-11-29 05:13:40', '2018-11-29 05:13:40'),\n(71148, 'Palmyra', 2792, '50047', '515', '41.478752', '-93.478286', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71149, 'Scotch Ridge', 2792, '50047', '515', '41.478752', '-93.478286', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71150, 'Chariton', 2792, '50049', '641', '41.029529', '-93.270488', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71151, 'Oakley', 2792, '50049', '641', '41.029529', '-93.270488', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71152, 'Davis City', 2792, '50065', '641', '40.650557', '-93.786188', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71153, 'Pleasanton', 2792, '50065', '641', '40.650557', '-93.786188', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71154, 'Grand River', 2792, '50108', '641', '40.832434', '-93.957822', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71155, 'Westerville', 2792, '50108', '641', '40.832434', '-93.957822', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71156, 'Guthrie Center', 2792, '50115', '641', '41.680166', '-94.557758', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71157, 'Guthrie Ctr', 2792, '50115', '641', '41.680166', '-94.557758', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71158, 'Barney', 2792, '50149', '641', '41.148002', '-94.080931', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71159, 'Lorimor', 2792, '50149', '641', '41.148002', '-94.080931', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71160, 'Marshalltown', 2792, '50158', '641', '42.054218', '-92.931516', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71161, 'Bethlehem', 2792, '50238', '641', '40.931683', '-93.193544', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71162, 'New York', 2792, '50238', '641', '40.931683', '-93.193544', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71163, 'Russell', 2792, '50238', '641', '40.931683', '-93.193544', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71164, 'Stratford', 2792, '50249', '515', '42.289634', '-93.90598', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71165, 'Waukee', 2792, '50263', '515', '41.601229', '-93.860917', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71166, 'W Des Moines', 2792, '50265', '515', '41.559734', '-93.737968', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71167, 'Wdm', 2792, '50265', '515', '41.559734', '-93.737968', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71168, 'West Des Moines', 2792, '50265', '515', '41.559734', '-93.737968', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71169, 'Des Moines', 2792, '50306', '515', '41.6006', '-93.6087', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71170, 'Des Moines', 2792, '50313', '515', '41.649246', '-93.627743', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71171, 'Highland Park', 2792, '50313', '515', '41.649246', '-93.627743', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71172, 'Marquisville', 2792, '50313', '515', '41.649246', '-93.627743', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71173, 'Saydel', 2792, '50313', '515', '41.649246', '-93.627743', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71174, 'Saylorville', 2792, '50313', '515', '41.649246', '-93.627743', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71175, 'Des Moines', 2792, '50315', '515', '41.547124', '-93.620794', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71176, 'South Des Moines', 2792, '50315', '515', '41.547124', '-93.620794', '2018-11-29 05:13:41', '2018-11-29 05:13:41'),\n(71177, 'Des Moines', 2792, '50331', '515', '41.6006', '-93.6087', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71178, 'Wells Fargo Mortgage', 2792, '50331', '515', '41.6006', '-93.6087', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71179, 'Citigroup', 2792, '50367', '515', '41.6006', '-93.6102', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71180, 'Des Moines', 2792, '50367', '515', '41.6006', '-93.6102', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71181, 'Coulter', 2792, '50431', '641', '42.738283', '-93.379872', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71182, 'Dougherty', 2792, '50433', '641', '42.928359', '-93.072661', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71183, 'Nora Springs', 2792, '50458', '641', '43.159726', '-93.023438', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71184, 'Meltonville', 2792, '50472', '641', '43.413462', '-92.937468', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71185, 'Ames', 2792, '50014', '515', '42.065736', '-93.694387', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71186, 'Bouton', 2792, '50039', '515', '41.819993', '-93.999489', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71187, 'Gardiner', 2792, '50039', '515', '41.819993', '-93.999489', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71188, 'Bradford', 2792, '50041', '641', '42.600418', '-93.184519', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71189, 'Elkhart', 2792, '50073', '515', '41.784029', '-93.516864', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71190, 'Enterprise', 2792, '50073', '515', '41.784029', '-93.516864', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71191, 'White Oak', 2792, '50073', '515', '41.784029', '-93.516864', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71192, 'Linden', 2792, '50146', '641', '41.680596', '-94.232342', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71193, 'Montour', 2792, '50173', '641', '41.970887', '-92.706516', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71194, 'Lacey', 2792, '50207', '641', '41.435898', '-92.622494', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71195, 'New Sharon', 2792, '50207', '641', '41.435898', '-92.622494', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71196, 'Taintor', 2792, '50207', '641', '41.435898', '-92.622494', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71197, 'Union Mills', 2792, '50207', '641', '41.435898', '-92.622494', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71198, 'Beech', 2792, '50225', '515', '41.375812', '-93.242879', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71199, 'Pleasantville', 2792, '50225', '515', '41.375812', '-93.242879', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71200, 'Story City', 2792, '50248', '515', '42.186248', '-93.629511', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71201, 'Truro', 2792, '50257', '641', '41.183342', '-93.859842', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71202, 'Winterset', 2792, '50273', '515', '41.337167', '-94.04562', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71203, 'Des Moines', 2792, '50307', '515', '41.589', '-93.6151', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71204, 'Des Moines', 2792, '50316', '515', '41.610052', '-93.599024', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71205, 'Des Moines', 2792, '50339', '515', '41.6006', '-93.6087', '2018-11-29 05:13:42', '2018-11-29 05:13:42'),\n(71206, 'Equitable Life Assurance', 2792, '50339', '515', '41.6006', '-93.6087', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71207, 'Allied Group', 2792, '50391', '515', '41.6002', '-93.6102', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71208, 'Des Moines', 2792, '50391', '515', '41.6002', '-93.6102', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71209, 'Urbandale', 2792, '50391', '515', '41.6002', '-93.6102', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71210, 'Lake Mills', 2792, '50450', '641', '43.402986', '-93.508093', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71211, 'Meservey', 2792, '50457', '641', '42.914753', '-93.473882', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71212, 'Northwood', 2792, '50459', '641', '43.434558', '-93.264191', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71213, 'Silver Lake', 2792, '50459', '641', '43.434558', '-93.264191', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71214, 'Scarville', 2792, '50473', '641', '43.464715', '-93.66518', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71215, 'Sheffield', 2792, '50475', '641', '42.877966', '-93.202432', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71216, 'Badger', 2792, '50516', '515', '42.612302', '-94.153008', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71217, 'Clarion', 2792, '50525', '515', '42.724799', '-93.754856', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71218, 'Cornelia', 2792, '50525', '515', '42.724799', '-93.754856', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71219, 'Gilmore City', 2792, '50541', '515', '42.70361', '-94.433388', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71220, 'Pioneer', 2792, '50541', '515', '42.70361', '-94.433388', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71221, 'Moorland', 2792, '50566', '515', '42.428468', '-94.310448', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71222, 'Roelyn', 2792, '50566', '515', '42.428468', '-94.310448', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71223, 'Plover', 2792, '50573', '712', '42.871232', '-94.629669', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71224, 'Avery', 2792, '52531', '641', '41.029841', '-92.811818', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71225, 'Georgetown', 2792, '52531', '641', '41.029841', '-92.811818', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71226, 'Hiteman', 2792, '52531', '641', '41.029841', '-92.811818', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71227, 'Cresco', 2792, '52136', '563', '43.356758', '-92.121124', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71228, 'Florenceville', 2792, '52136', '563', '43.356758', '-92.121124', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71229, 'Kendallville', 2792, '52136', '563', '43.356758', '-92.121124', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71230, 'Schley', 2792, '52136', '563', '43.356758', '-92.121124', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71231, 'Vernon Springs', 2792, '52136', '563', '43.356758', '-92.121124', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71232, 'Lawler', 2792, '52154', '563', '43.12522', '-92.172476', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71233, 'Little Turkey', 2792, '52154', '563', '43.12522', '-92.172476', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71234, 'Saude', 2792, '52154', '563', '43.12522', '-92.172476', '2018-11-29 05:13:43', '2018-11-29 05:13:43'),\n(71235, 'Mount Auburn', 2792, '52313', '319', '42.25395', '-92.089915', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71236, 'Riverside', 2792, '52327', '319', '41.483919', '-91.580353', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71237, 'Rowley', 2792, '52329', '319', '42.356492', '-91.854828', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71238, 'Riverton', 2792, '51650', '712', '40.670978', '-95.55394', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71239, 'Bartlett', 2792, '51654', '712', '40.794883', '-95.768728', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71240, 'Thurman', 2792, '51654', '712', '40.794883', '-95.768728', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71241, 'Asbury', 2792, '52002', '563', '42.526799', '-90.790116', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71242, 'Dubuque', 2792, '52002', '563', '42.526799', '-90.790116', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71243, 'Ludlow', 2792, '52172', '563', '43.260488', '-91.477212', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71244, 'Waukon', 2792, '52172', '563', '43.260488', '-91.477212', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71245, 'Brooklyn', 2792, '52211', '641', '41.761014', '-92.445111', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71246, 'Holiday Lake', 2792, '52211', '641', '41.761014', '-92.445111', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71247, 'Schleswig', 2792, '51461', '712', '42.167514', '-95.478322', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71248, 'Arion', 2792, '51520', '712', '41.96472', '-95.454884', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71249, 'Carson', 2792, '51525', '712', '41.217155', '-95.402804', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71250, 'Glenwood', 2792, '51534', '712', '41.037915', '-95.706307', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71251, 'Kimballton', 2792, '51543', '712', '41.652379', '-95.064431', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71252, 'Little Sioux', 2792, '51545', '712', '41.813914', '-96.060997', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71253, 'Marne', 2792, '51552', '712', '41.472565', '-95.107723', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71254, 'Guttenberg', 2792, '52052', '563', '42.725705', '-91.134476', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71255, 'Millville', 2792, '52052', '563', '42.725705', '-91.134476', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71256, 'Turkey River', 2792, '52052', '563', '42.725705', '-91.134476', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71257, 'Sabula', 2792, '52070', '563', '42.087414', '-90.225298', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71258, 'Volga', 2792, '52077', '563', '42.820789', '-91.548182', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71259, 'Estherville', 2792, '51334', '712', '43.377997', '-94.76903', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71260, 'Gruver', 2792, '51334', '712', '43.377997', '-94.76903', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71261, 'Treynor', 2792, '51575', '712', '41.232062', '-95.599033', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71262, 'Holstein', 2792, '51025', '712', '42.48776', '-95.591125', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71263, 'Ireton', 2792, '51027', '712', '42.974828', '-96.322316', '2018-11-29 05:13:44', '2018-11-29 05:13:44'),\n(71264, 'Mcnally', 2792, '51027', '712', '42.974828', '-96.322316', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71265, 'Mapleton', 2792, '51034', '712', '42.146306', '-95.768735', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71266, 'Webb', 2792, '51366', '712', '42.967241', '-95.015831', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71267, 'Deloit', 2792, '51441', '712', '42.123657', '-95.299637', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71268, 'Glidden', 2792, '51443', '712', '42.067178', '-94.705997', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71269, 'Carnarvon', 2792, '51450', '712', '42.311628', '-95.03152', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71270, 'Lake View', 2792, '51450', '712', '42.311628', '-95.03152', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71271, 'Lidderdale', 2792, '51452', '712', '42.180944', '-94.783884', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71272, 'Plainfield', 2792, '50666', '319', '42.847602', '-92.495284', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71273, 'Brooks', 2792, '50841', '641', '41.021876', '-94.756605', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71274, 'Carl', 2792, '50841', '641', '41.021876', '-94.756605', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71275, 'Corning', 2792, '50841', '641', '41.021876', '-94.756605', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71276, 'Blvd Station', 2792, '51109', '712', '42.55934', '-96.480461', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71277, 'Sioux City', 2792, '51109', '712', '42.55934', '-96.480461', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71278, 'Boyden', 2792, '51234', '712', '43.186066', '-96.020159', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71279, 'Aurora', 2792, '50607', '319', '42.60669', '-91.75589', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71280, 'Charles City', 2792, '50616', '641', '43.081815', '-92.67247', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71281, 'Maple Heights', 2792, '50616', '641', '43.081815', '-92.67247', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71282, 'Dewar', 2792, '50623', '319', '42.533818', '-92.209396', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71283, 'Hazleton', 2792, '50641', '319', '42.59223', '-91.929083', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71284, 'Lamont', 2792, '50650', '563', '42.614356', '-91.656996', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71285, 'Atlantic', 2792, '50022', '712', '41.396246', '-94.999917', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71286, 'Lorah', 2792, '50022', '712', '41.396246', '-94.999917', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71287, 'Beaver', 2792, '50031', '515', '42.0367', '-94.1062', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71288, 'Boxholm', 2792, '50040', '515', '42.17346', '-94.106028', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71289, 'Colfax', 2792, '50054', '515', '41.688126', '-93.226036', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71290, 'Goddard', 2792, '50054', '515', '41.688126', '-93.226036', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71291, 'Green Castle', 2792, '50054', '515', '41.688126', '-93.226036', '2018-11-29 05:13:45', '2018-11-29 05:13:45'),\n(71292, 'Valeria', 2792, '50054', '515', '41.688126', '-93.226036', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71293, 'Coon Rapids', 2792, '50058', '712', '41.870132', '-94.696506', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71294, 'Dallas Center', 2792, '50063', '515', '41.695886', '-93.93598', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71295, 'Beaconsfield', 2792, '50074', '641', '40.746406', '-94.072269', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71296, 'Ellston', 2792, '50074', '641', '40.746406', '-94.072269', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71297, 'Boone', 2792, '50099', '515', '0', '0', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71298, 'Camp Dodge', 2792, '50131', '515', '41.717622', '-93.71172', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71299, 'Johnston', 2792, '50131', '515', '41.717622', '-93.71172', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71300, 'Knoxville', 2792, '50138', '641', '41.313684', '-93.134818', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71301, 'Pershing', 2792, '50138', '641', '41.313684', '-93.134818', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71302, 'Madrid', 2792, '50156', '515', '41.89454', '-93.800566', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71303, 'Zook Spur', 2792, '50156', '515', '41.89454', '-93.800566', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71304, 'Millerton', 2792, '50165', '641', '40.848237', '-93.250707', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71305, 'Amboy', 2792, '50208', '641', '41.724929', '-93.038975', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71306, 'Lambs Grove', 2792, '50208', '641', '41.724929', '-93.038975', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71307, 'Boone', 2792, '50037', '515', '42.0424', '-93.8797', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71308, 'Hamlin', 2792, '50117', '712', '41.66344', '-94.847844', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71309, 'Hartford', 2792, '50118', '515', '41.474428', '-93.390742', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71310, 'What Cheer', 2792, '50268', '641', '41.401515', '-92.352111', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71311, 'Williams', 2792, '50271', '515', '42.489334', '-93.54013', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71312, 'Des Moines', 2792, '50304', '515', '41.6006', '-93.6087', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71313, 'Des Moines', 2792, '50318', '515', '41.5893', '-93.6165', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71314, 'Des Moines', 2792, '50336', '515', '41.6006', '-93.6087', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71315, 'Citigroup Brm', 2792, '50369', '515', '41.6006', '-93.6102', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71316, 'Des Moines', 2792, '50369', '515', '41.6006', '-93.6102', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71317, 'Central Heights', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71318, 'Emery', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71319, 'Freeman', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71320, 'Hanford', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:46', '2018-11-29 05:13:46'),\n(71321, 'Mason City', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71322, 'Portland', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71323, 'Winnebago Heights', 2792, '50401', '641', '43.146398', '-93.181602', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71324, 'Garner', 2792, '50438', '641', '43.111498', '-93.625592', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71325, 'Hayfield', 2792, '50438', '641', '43.111498', '-93.625592', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71326, 'Miller', 2792, '50438', '641', '43.111498', '-93.625592', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71327, 'Little Cedar', 2792, '50454', '641', '43.382079', '-92.731686', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71328, 'Rockford', 2792, '50468', '641', '43.03877', '-92.946514', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71329, 'Bode', 2792, '50519', '515', '42.907464', '-94.266132', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71330, 'Saint Joseph', 2792, '50519', '515', '42.907464', '-94.266132', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71331, 'Emmetsburg', 2792, '50536', '712', '43.103968', '-94.688806', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71332, 'Osgood', 2792, '50536', '712', '43.103968', '-94.688806', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71333, 'Farnhamville', 2792, '50538', '515', '42.281668', '-94.446074', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71334, 'Rinard', 2792, '50538', '515', '42.281668', '-94.446074', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71335, 'Knierim', 2792, '50552', '515', '42.443141', '-94.475426', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71336, 'Laurens', 2792, '50554', '712', '42.822147', '-94.845576', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71337, 'Otho', 2792, '50569', '515', '42.404068', '-94.126511', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71338, 'Somers', 2792, '50586', '515', '42.399253', '-94.455612', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71339, 'Bel Air Beach', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71340, 'Casino Beach', 2792, '50588', '712', '42.655211', '-95.160984', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71341, 'Allerton', 2792, '50008', '641', '40.667138', '-93.4035', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71342, 'Harvard', 2792, '50008', '641', '40.667138', '-93.4035', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71343, 'Adventureland Estates', 2792, '50009', '515', '41.643471', '-93.462255', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71344, 'Altoona', 2792, '50009', '515', '41.643471', '-93.462255', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71345, 'Ivy', 2792, '50009', '515', '41.643471', '-93.462255', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71346, 'Ames', 2792, '50010', '515', '42.030322', '-93.585595', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71347, 'Ames', 2792, '50012', '515', '42.0347', '-93.6198', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71348, 'Iowa State University', 2792, '50012', '515', '42.0347', '-93.6198', '2018-11-29 05:13:47', '2018-11-29 05:13:47'),\n(71349, 'Audubon', 2792, '50025', '712', '41.738055', '-94.918632', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71350, 'Fiscus', 2792, '50025', '712', '41.738055', '-94.918632', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71351, 'Ross', 2792, '50025', '712', '41.738055', '-94.918632', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71352, 'Sharon', 2792, '50025', '712', '41.738055', '-94.918632', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71353, 'Ferguson', 2792, '50078', '641', '41.937002', '-92.864967', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71354, 'Granger', 2792, '50109', '515', '41.764', '-93.826914', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71355, 'Grinnell', 2792, '50112', '641', '41.721814', '-92.717822', '2018-11-29 05:13:48', '2018-11-29 05:13:48');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(71356, 'Newburg', 2792, '50112', '641', '41.721814', '-92.717822', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71357, 'Oakland Acres', 2792, '50112', '641', '41.721814', '-92.717822', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71358, 'Cool', 2792, '50125', '515', '41.306467', '-93.581812', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71359, 'Indianola', 2792, '50125', '515', '41.306467', '-93.581812', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71360, 'Medora', 2792, '50125', '515', '41.306467', '-93.581812', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71361, 'Spring Hill', 2792, '50125', '515', '41.306467', '-93.581812', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71362, 'Summerset', 2792, '50125', '515', '41.306467', '-93.581812', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71363, 'Iowa Falls', 2792, '50126', '641', '42.5136', '-93.249754', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71364, 'Owasa', 2792, '50126', '641', '42.5136', '-93.249754', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71365, 'Ira', 2792, '50127', '641', '41.753417', '-93.169074', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71366, 'Jefferson', 2792, '50129', '515', '42.007394', '-94.387008', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71367, 'Leon', 2792, '50144', '641', '40.725224', '-93.729195', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71368, 'Liberty Center', 2792, '50145', '641', '41.206168', '-93.50035', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71369, 'Liberty Ctr', 2792, '50145', '641', '41.206168', '-93.50035', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71370, 'Farrar', 2792, '50161', '515', '41.841188', '-93.42249', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71371, 'Iowa Center', 2792, '50161', '515', '41.841188', '-93.42249', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71372, 'Maxwell', 2792, '50161', '515', '41.841188', '-93.42249', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71373, 'Melbourne', 2792, '50162', '641', '41.921455', '-93.067382', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71374, 'Van Cleve', 2792, '50162', '641', '41.921455', '-93.067382', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71375, 'Jamison', 2792, '50210', '641', '41.176243', '-93.685777', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71376, 'Liberty', 2792, '50210', '641', '41.176243', '-93.685777', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71377, 'New Virginia', 2792, '50210', '641', '41.176243', '-93.685777', '2018-11-29 05:13:48', '2018-11-29 05:13:48'),\n(71378, 'Slater', 2792, '50244', '515', '41.85648', '-93.658862', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71379, 'Stanhope', 2792, '50246', '515', '42.296584', '-93.766884', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71380, 'Des Moines', 2792, '50309', '515', '41.584779', '-93.620799', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71381, 'Citigroup', 2792, '50359', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71382, 'Des Moines', 2792, '50359', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71383, 'Citigroup', 2792, '50361', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71384, 'Des Moines', 2792, '50361', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71385, 'Citigroup', 2792, '50362', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71386, 'Des Moines', 2792, '50362', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71387, 'Citigroup', 2792, '50363', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71388, 'Des Moines', 2792, '50363', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71389, 'Des Moines', 2792, '50393', '515', '41.6006', '-93.6087', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71390, 'Carpenter', 2792, '50426', '641', '43.407806', '-93.01424', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71391, 'Clear Lake', 2792, '50428', '641', '43.132394', '-93.378904', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71392, 'Thornton', 2792, '50479', '641', '42.972866', '-93.418651', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71393, 'Albert City', 2792, '50510', '712', '42.756249', '-95.002997', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71394, 'Algona', 2792, '50511', '515', '43.071158', '-94.19699', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71395, 'Hobarton', 2792, '50511', '515', '43.071158', '-94.19699', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71396, 'Saint Benedict', 2792, '50511', '515', '43.071158', '-94.19699', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71397, 'Clarion', 2792, '50526', '515', '42.7318', '-93.7328', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71398, 'Hp', 2792, '50526', '515', '42.7318', '-93.7328', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71399, 'Dakota City', 2792, '50529', '515', '42.723913', '-94.198723', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71400, 'Dayton', 2792, '50530', '515', '42.275357', '-94.048111', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71401, 'Manson', 2792, '50563', '712', '42.525818', '-94.530144', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71402, 'Wieston', 2792, '50563', '712', '42.525818', '-94.530144', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71403, 'Ringsted', 2792, '50578', '712', '43.305628', '-94.56065', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71404, 'Lanedale', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71405, 'Lavinia', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:49', '2018-11-29 05:13:49'),\n(71406, 'Piper', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71407, 'Rands', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71408, 'Richards', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71409, 'Rockwell City', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71410, 'Sherwood', 2792, '50579', '712', '42.392418', '-94.640523', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71411, 'Galesburg', 2792, '50232', '641', '41.55567', '-92.97108', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71412, 'Reasnor', 2792, '50232', '641', '41.55567', '-92.97108', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71413, 'Saint Marys', 2792, '50241', '641', '41.30845', '-93.731562', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71414, 'Arbor Hill', 2792, '50250', '515', '41.497356', '-94.337932', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71415, 'Dale', 2792, '50250', '515', '41.497356', '-94.337932', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71416, 'Howe', 2792, '50250', '515', '41.497356', '-94.337932', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71417, 'Stuart', 2792, '50250', '515', '41.497356', '-94.337932', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71418, 'Thornburg', 2792, '50255', '641', '41.4554', '-92.3354', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71419, 'W Des Moines', 2792, '50266', '515', '41.559852', '-93.785641', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71420, 'Wdm', 2792, '50266', '515', '41.559852', '-93.785641', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71421, 'West Des Moines', 2792, '50266', '515', '41.559852', '-93.785641', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71422, 'Des Moines', 2792, '50314', '515', '41.602378', '-93.629555', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71423, 'Des Moines', 2792, '50323', '515', '41.633022', '-93.807792', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71424, 'Urbandale', 2792, '50323', '515', '41.633022', '-93.807792', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71425, 'Des Moines', 2792, '50332', '515', '41.6006', '-93.6087', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71426, 'Wells Fargo Mortgage', 2792, '50332', '515', '41.6006', '-93.6087', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71427, 'Citigroup', 2792, '50364', '515', '41.6006', '-93.6087', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71428, 'Des Moines', 2792, '50364', '515', '41.6006', '-93.6087', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71429, 'Des Moines', 2792, '50380', '515', '41.6006', '-93.6102', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71430, 'Hp Other', 2792, '50380', '515', '41.6006', '-93.6102', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71431, 'Marsh Inc', 2792, '50398', '515', '41.5776', '-93.7363', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71432, 'Urbandale', 2792, '50398', '515', '41.5776', '-93.7363', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71433, 'West Des Moines', 2792, '50398', '515', '41.5776', '-93.7363', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71434, 'Goodell', 2792, '50439', '641', '42.951806', '-93.596747', '2018-11-29 05:13:50', '2018-11-29 05:13:50'),\n(71435, 'Hampton', 2792, '50441', '641', '42.731438', '-93.212841', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71436, 'Hansell', 2792, '50441', '641', '42.731438', '-93.212841', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71437, 'Mc Intire', 2792, '50455', '641', '43.463606', '-92.63295', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71438, 'Meyer', 2792, '50455', '641', '43.463606', '-92.63295', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71439, 'Riceville', 2792, '50466', '641', '43.378556', '-92.534336', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71440, 'Ventura', 2792, '50482', '641', '43.14043', '-93.464806', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71441, 'Woden', 2792, '50484', '641', '43.233943', '-93.911194', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71442, 'Armstrong', 2792, '50514', '712', '43.413894', '-94.482818', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71443, 'Maple Hill', 2792, '50514', '712', '43.413894', '-94.482818', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71444, 'Brushy', 2792, '50532', '515', '42.46406', '-94.016889', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71445, 'Duncombe', 2792, '50532', '515', '42.46406', '-94.016889', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71446, 'Evanston', 2792, '50532', '515', '42.46406', '-94.016889', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71447, 'Fenton', 2792, '50539', '515', '43.248697', '-94.413204', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71448, 'Seneca', 2792, '50539', '515', '43.248697', '-94.413204', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71449, 'Humboldt', 2792, '50548', '515', '42.724968', '-94.217737', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71450, 'Alden', 2792, '50006', '515', '42.506824', '-93.39933', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71451, 'Buckeye', 2792, '50006', '515', '42.506824', '-93.39933', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71452, 'Ames', 2792, '50013', '515', '42.024096', '-93.6412', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71453, 'Iowa State University', 2792, '50013', '515', '42.024096', '-93.6412', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71454, 'Colo', 2792, '50056', '641', '42.028532', '-93.28964', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71455, 'Earlham', 2792, '50072', '515', '41.470872', '-94.108306', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71456, 'Pitzer', 2792, '50072', '515', '41.470872', '-94.108306', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71457, 'Gibson', 2792, '50104', '641', '41.480932', '-92.377024', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71458, 'Gilman', 2792, '50106', '641', '41.891801', '-92.785907', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71459, 'Hubbard', 2792, '50122', '641', '42.303375', '-93.305616', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71460, 'Huxley', 2792, '50124', '515', '41.88535', '-93.615016', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71461, 'Midvale', 2792, '50124', '515', '41.88535', '-93.615016', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71462, 'Kellerton', 2792, '50133', '641', '40.648836', '-94.072678', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71463, 'Tuskeego', 2792, '50133', '641', '40.648836', '-94.072678', '2018-11-29 05:13:51', '2018-11-29 05:13:51'),\n(71464, 'Lamoni', 2792, '50140', '641', '40.649288', '-93.953184', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71465, 'Lineville', 2792, '50147', '641', '40.630979', '-93.477635', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71466, 'Melcher', 2792, '50163', '641', '41.224268', '-93.240362', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71467, 'Melcher Dal', 2792, '50163', '641', '41.224268', '-93.240362', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71468, 'Melcher Dallas', 2792, '50163', '641', '41.224268', '-93.240362', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71469, 'Alleman', 2792, '50007', '515', '41.79872', '-93.610206', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71470, 'Ankeny', 2792, '50021', '515', '41.724936', '-93.561506', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71471, 'Cambridge', 2792, '50046', '515', '41.885438', '-93.532836', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71472, 'Canby', 2792, '50048', '641', '41.513612', '-94.511142', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71473, 'Casey', 2792, '50048', '641', '41.513612', '-94.511142', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71474, 'Dana', 2792, '50064', '515', '42.100268', '-94.222983', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71475, 'Dawson', 2792, '50066', '515', '41.804793', '-94.214972', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71476, 'Dows', 2792, '50071', '515', '42.644492', '-93.498556', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71477, 'Gilbert', 2792, '50105', '515', '42.107654', '-93.639824', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71478, 'Grand Jct', 2792, '50107', '515', '42.023217', '-94.212958', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71479, 'Grand Junction', 2792, '50107', '515', '42.023217', '-94.212958', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71480, 'Hamilton', 2792, '50116', '641', '41.182534', '-92.976531', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71481, 'Marysville', 2792, '50116', '641', '41.182534', '-92.976531', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71482, 'Humeston', 2792, '50123', '641', '40.826322', '-93.556757', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71483, 'Le Roy', 2792, '50123', '641', '40.826322', '-93.556757', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71484, 'Jewell', 2792, '50130', '515', '42.303704', '-93.679131', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71485, 'Macksburg', 2792, '50155', '641', '41.200335', '-94.184645', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71486, 'Milo', 2792, '50166', '641', '41.273257', '-93.428858', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71487, 'Pilot Mound', 2792, '50223', '515', '42.165267', '-94.034283', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71488, 'Radcliffe', 2792, '50230', '515', '42.310906', '-93.443678', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71489, 'Barnes City', 2792, '50027', '641', '41.46632', '-92.484903', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71490, 'Buckeye', 2792, '50043', '515', '42.4166', '-93.3748', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71491, 'Cambria', 2792, '50060', '641', '40.739295', '-93.36254', '2018-11-29 05:13:52', '2018-11-29 05:13:52'),\n(71492, 'Corydon', 2792, '50060', '641', '40.739295', '-93.36254', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71493, 'Sewal', 2792, '50060', '641', '40.739295', '-93.36254', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71494, 'Cumming', 2792, '50061', '515', '41.478066', '-93.775163', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71495, 'Orillia', 2792, '50061', '515', '41.478066', '-93.775163', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71496, 'W Des Moines', 2792, '50061', '515', '41.478066', '-93.775163', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71497, 'Wdm', 2792, '50061', '515', '41.478066', '-93.775163', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71498, 'West Des Moines', 2792, '50061', '515', '41.478066', '-93.775163', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71499, 'Gray', 2792, '50110', '712', '41.841848', '-94.976014', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71500, 'Le Grand', 2792, '50142', '641', '42.006026', '-92.775691', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71501, 'Churchville', 2792, '50211', '515', '41.44688', '-93.686187', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71502, 'Lakewood', 2792, '50211', '515', '41.44688', '-93.686187', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71503, 'Norwalk', 2792, '50211', '515', '41.44688', '-93.686187', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71504, 'Crocker', 2792, '50226', '515', '41.791538', '-93.716938', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71505, 'Polk City', 2792, '50226', '515', '41.791538', '-93.716938', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71506, 'Popejoy', 2792, '50227', '515', '42.586546', '-93.467354', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71507, 'Prairie City', 2792, '50228', '515', '41.569812', '-93.246682', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71508, 'Searsboro', 2792, '50242', '641', '41.558836', '-92.680764', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71509, 'Gifford', 2792, '50259', '641', '42.2883', '-93.0902', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71510, 'Van Meter', 2792, '50261', '515', '41.46721', '-93.937584', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71511, 'Van Wert', 2792, '50262', '641', '40.854837', '-93.843474', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71512, 'Zearing', 2792, '50278', '641', '42.143447', '-93.289322', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71513, 'Beaverdale', 2792, '50310', '515', '41.628966', '-93.661708', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71514, 'Des Moines', 2792, '50310', '515', '41.628966', '-93.661708', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71515, 'Des Moines', 2792, '50311', '515', '41.601575', '-93.684418', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71516, 'Des Moines', 2792, '50312', '515', '41.578518', '-93.67965', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71517, 'Des Moines', 2792, '50327', '515', '41.581182', '-93.506535', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71518, 'Pleasant Hill', 2792, '50327', '515', '41.581182', '-93.506535', '2018-11-29 05:13:53', '2018-11-29 05:13:53'),\n(71519, 'Des Moines', 2792, '50329', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71520, 'Wells Fargo Mortgage', 2792, '50329', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71521, 'Citigroup', 2792, '50360', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71522, 'Des Moines', 2792, '50360', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71523, 'Des Moines', 2792, '50394', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71524, 'Des Moines', 2792, '50395', '515', '41.5859', '-93.6148', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71525, 'Urbandale', 2792, '50395', '515', '41.5859', '-93.6148', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71526, 'Usps Bmc', 2792, '50395', '515', '41.5859', '-93.6148', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71527, 'Des Moines', 2792, '50396', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71528, 'First Interstate Bank', 2792, '50396', '515', '41.6006', '-93.6087', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71529, 'Hanlontown', 2792, '50444', '641', '43.301351', '-93.379006', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71530, 'Orchard', 2792, '50460', '641', '43.233983', '-92.677808', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71531, 'Meroa', 2792, '50461', '641', '43.324432', '-92.789332', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71532, 'Mitchell', 2792, '50461', '641', '43.324432', '-92.789332', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71533, 'New Haven', 2792, '50461', '641', '43.324432', '-92.789332', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71534, 'Osage', 2792, '50461', '641', '43.324432', '-92.789332', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71535, 'Rock Creek', 2792, '50461', '641', '43.324432', '-92.789332', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71536, 'Swaledale', 2792, '50477', '641', '42.972958', '-93.310652', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71537, 'German Valley', 2792, '50480', '515', '43.255664', '-94.069181', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71538, 'Titonka', 2792, '50480', '515', '43.255664', '-94.069181', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71539, 'Curlew', 2792, '50527', '712', '42.973866', '-94.806144', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71540, 'Cylinder', 2792, '50528', '712', '43.132486', '-94.53104', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71541, 'Hardy', 2792, '50545', '515', '42.797591', '-94.050385', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71542, 'Lytton', 2792, '50561', '712', '42.414128', '-94.821605', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71543, 'Mallard', 2792, '50562', '712', '42.958375', '-94.649214', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71544, 'Lafayette', 2795, '47901', '765', '40.417615', '-86.887842', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71545, 'Crawfordsville', 2795, '47933', '765', '40.025943', '-86.893591', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71546, 'Crawfordsvlle', 2795, '47933', '765', '40.025943', '-86.893591', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71547, 'Earl Park', 2795, '47942', '219', '40.686656', '-87.444143', '2018-11-29 05:13:54', '2018-11-29 05:13:54'),\n(71548, 'Hillsboro', 2795, '47949', '765', '40.040444', '-87.143464', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71549, 'Indiana Beach', 2795, '47960', '219', '40.778381', '-86.736747', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71550, 'Monticello', 2795, '47960', '219', '40.778381', '-86.736747', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71551, 'New Richmond', 2795, '47967', '765', '40.185607', '-87.02481', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71552, 'Perrysville', 2795, '47974', '765', '40.027942', '-87.472577', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71553, 'Stockwell', 2795, '47983', '765', '40.280875', '-86.782478', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71554, 'Waynetown', 2795, '47990', '765', '40.09074', '-87.052365', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71555, 'Wingate', 2795, '47994', '765', '40.166218', '-87.054992', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71556, 'Saint Mary Of The Woods', 2795, '47876', '812', '39.505935', '-87.461321', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71557, 'St Mary Of The Woods', 2795, '47876', '812', '39.505935', '-87.461321', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71558, 'St Mary Of Wd', 2795, '47876', '812', '39.505935', '-87.461321', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71559, 'La Fayette', 2795, '47901', '765', '40.417615', '-86.887842', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71560, 'Dodds Bridge', 2795, '47849', '812', '39.181862', '-87.578532', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71561, 'Fairbanks', 2795, '47849', '812', '39.181862', '-87.578532', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71562, 'Riverview', 2795, '47849', '812', '39.181862', '-87.578532', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71563, 'Fontanet', 2795, '47851', '812', '39.5772', '-87.241', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71564, 'Nevins', 2795, '47851', '812', '39.5772', '-87.241', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71565, 'Somerville', 2795, '47683', '812', '38.27843', '-87.37207', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71566, 'Evansville', 2795, '47740', '812', '37.9744', '-87.5555', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71567, 'Waterworks Dept', 2795, '47740', '812', '37.9744', '-87.5555', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71568, 'Jasper', 2795, '47547', '812', '38.3917', '-86.9313', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71569, 'Leopold', 2795, '47551', '812', '38.140328', '-86.537914', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71570, 'Oriole', 2795, '47551', '812', '38.140328', '-86.537914', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71571, 'Mariah Hill', 2795, '47556', '812', '38.131491', '-86.870306', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71572, 'Bloomfield', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71573, 'Lake Maxine', 2795, '47456', '765', '39.467158', '-86.754331', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71574, 'Quincy', 2795, '47456', '765', '39.467158', '-86.754331', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71575, 'Fairplay', 2795, '47465', '812', '39.038256', '-87.040742', '2018-11-29 05:13:55', '2018-11-29 05:13:55'),\n(71576, 'Grant', 2795, '47465', '812', '39.038256', '-87.040742', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71577, 'Switz City', 2795, '47465', '812', '39.038256', '-87.040742', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71578, 'Oakville', 2795, '47367', '765', '40.0792', '-85.3909', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71579, 'Calvertville', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71580, 'Cincinnati', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71581, 'Doans', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71582, 'Elliston', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71583, 'Hashtown', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71584, 'Koleen', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71585, 'Mineral', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71586, 'Park', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71587, 'Plummer', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71588, 'Ridgeport', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71589, 'Tulip', 2795, '47424', '812', '39.035622', '-86.830154', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71590, 'Baker', 2795, '47433', '812', '39.341814', '-86.652378', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71591, 'Gosport', 2795, '47433', '812', '39.341814', '-86.652378', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71592, 'Hollybrk Lk', 2795, '47433', '812', '39.341814', '-86.652378', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71593, 'Hollybrook Lake', 2795, '47433', '812', '39.341814', '-86.652378', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71594, 'Muncie', 2795, '47308', '765', '40.1934', '-85.3866', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71595, 'Boston', 2795, '47324', '765', '39.7416', '-84.8524', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71596, 'Hills And Dales', 2795, '47383', '765', '40.152034', '-85.264106', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71597, 'Hlls & Dles', 2795, '47383', '765', '40.152034', '-85.264106', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71598, 'Selma', 2795, '47383', '765', '40.152034', '-85.264106', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71599, 'Smithfield', 2795, '47383', '765', '40.152034', '-85.264106', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71600, 'Bartonia', 2795, '47390', '765', '40.200993', '-84.852673', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71601, 'Sims', 2795, '46986', '765', '40.505142', '-85.815753', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71602, 'Swayzee', 2795, '46986', '765', '40.505142', '-85.815753', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71603, 'Aurora', 2795, '47001', '812', '39.061074', '-84.95973', '2018-11-29 05:13:56', '2018-11-29 05:13:56'),\n(71604, 'W College Cor', 2795, '47003', '765', '39.552202', '-84.846131', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71605, 'West College Corner', 2795, '47003', '765', '39.552202', '-84.846131', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71606, 'Osgood', 2795, '47037', '812', '39.16911', '-85.314384', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71607, 'Elizabeth', 2795, '47117', '812', '38.104171', '-85.985078', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71608, 'Rosewood', 2795, '47117', '812', '38.104171', '-85.985078', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71609, 'Floyds Knobs', 2795, '47119', '812', '38.362064', '-85.888548', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71610, 'Galena', 2795, '47119', '812', '38.362064', '-85.888548', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71611, 'Navilleton', 2795, '47119', '812', '38.362064', '-85.888548', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71612, 'Fredericksbrg', 2795, '47120', '812', '38.457472', '-86.182532', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71613, 'Fredericksburg', 2795, '47120', '812', '38.457472', '-86.182532', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71614, 'New Albany', 2795, '47151', '812', '38.2856', '-85.8245', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71615, 'Columbus', 2795, '47203', '812', '39.231203', '-85.83506', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71616, 'Brownstown', 2795, '47220', '812', '38.858358', '-86.045135', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71617, 'Freetown', 2795, '47235', '812', '39.001638', '-86.130302', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71618, 'Breezewood Park', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71619, 'Breezewood Pk', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71620, 'Cowan', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71621, 'Hyde Park', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71622, 'Medford', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71623, 'Muncie', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71624, 'New Burlingtn', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71625, 'New Burlington', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71626, 'Progress', 2795, '47302', '765', '40.127936', '-85.368423', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71627, 'Dover', 2796, '66420', '785', '39.0837', '-95.8889', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71628, 'Emmett', 2796, '66422', '785', '39.325993', '-96.054635', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71629, 'Manhattan', 2796, '66506', '785', '39.19603', '-96.581357', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71630, 'Olsburg', 2796, '66520', '785', '39.432148', '-96.627714', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71631, 'Oneida', 2796, '66522', '785', '39.870107', '-95.958238', '2018-11-29 05:13:57', '2018-11-29 05:13:57'),\n(71632, 'Hartford', 2796, '66854', '620', '38.253463', '-96.000076', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71633, 'Lost Springs', 2796, '66859', '785', '38.558637', '-96.967086', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71634, 'Virgil', 2796, '66870', '620', '37.880502', '-96.051989', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71635, 'Hanover', 2796, '66945', '785', '39.870892', '-96.871492', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71636, 'Bellaire', 2796, '66952', '785', '39.828274', '-98.56046', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71637, 'Lebanon', 2796, '66952', '785', '39.828274', '-98.56046', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71638, 'Munden', 2796, '66959', '785', '39.950744', '-97.538146', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71639, 'Norway', 2796, '66961', '785', '39.69728', '-97.857717', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71640, 'Georgetown', 2797, '40324', '502', '38.239946', '-84.552412', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71641, 'Olympia', 2797, '40358', '606', '38.051363', '-83.669826', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71642, 'Bethel', 2797, '40374', '606', '38.221791', '-83.91037', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71643, 'Sharpsburg', 2797, '40374', '606', '38.221791', '-83.91037', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71644, 'Richmond', 2797, '40475', '859', '37.770214', '-84.307292', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71645, 'Lexington', 2797, '40507', '859', '38.045878', '-84.49696', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71646, 'Lexington', 2797, '40509', '859', '37.978539', '-84.36884', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71647, 'Lexington', 2797, '40510', '859', '38.067994', '-84.59304', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71648, 'Lexington', 2797, '40574', '859', '38.0494', '-84.5004', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71649, 'Finchville', 2797, '40022', '502', '38.152497', '-85.334424', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71650, 'Lockport', 2797, '40036', '502', '38.441778', '-84.955643', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71651, 'New Hope', 2797, '40052', '502', '37.60127', '-85.490621', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71652, 'Cloverport', 2797, '40111', '270', '37.799377', '-86.57221', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71653, 'Fort Knox', 2797, '40122', '502', '37.899268', '-85.934517', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71654, 'Hillview', 2797, '40129', '502', '38.0719', '-85.672', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71655, 'Hudson', 2797, '40145', '270', '37.643452', '-86.311461', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71656, 'Rhodelia', 2797, '40161', '270', '37.987681', '-86.396794', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71657, 'Stephensport', 2797, '40170', '270', '37.89849', '-86.529288', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71658, 'Louisville', 2797, '40204', '502', '38.238505', '-85.720176', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71659, 'Louisville', 2797, '40206', '502', '38.262729', '-85.704691', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71660, 'Louisville', 2797, '40211', '502', '38.232512', '-85.827156', '2018-11-29 05:13:58', '2018-11-29 05:13:58'),\n(71661, 'Cambridge', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71662, 'Houston Acres', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71663, 'Hurstbourne Acres', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71664, 'Hurstbrne Acr', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71665, 'Lincolnshire', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71666, 'Louisville', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71667, 'Meadowview Estates', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71668, 'Meadowvw Ests', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71669, 'Saint Regis Park', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71670, 'St Regis Park', 2797, '40220', '502', '38.215203', '-85.620708', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71671, 'Louisville', 2797, '40231', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71672, 'Louisville', 2797, '40256', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71673, 'Shively', 2797, '40256', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71674, 'Louisville', 2797, '40270', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71675, 'Valley Statn', 2797, '40270', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71676, 'Kosmosdale', 2797, '40272', '502', '38.067964', '-85.865368', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71677, 'Louisville', 2797, '40272', '502', '38.067964', '-85.865368', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71678, 'Valley Station', 2797, '40272', '502', '38.067964', '-85.865368', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71679, 'Valley Statn', 2797, '40272', '502', '38.067964', '-85.865368', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71680, 'Louisville', 2797, '40281', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71681, 'Pleasure Rdge', 2797, '40281', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71682, 'Pleasure Ridge Park', 2797, '40281', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71683, 'Rr Donnelly', 2797, '40281', '502', '38.2545', '-85.7595', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71684, 'Carlisle', 2797, '40311', '859', '38.312028', '-84.025316', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71685, 'Clintonville', 2797, '40361', '859', '38.219348', '-84.22203', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71686, 'Paris', 2797, '40361', '859', '38.219348', '-84.22203', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71687, 'Perry Park', 2797, '40363', '502', '38.522032', '-84.99255', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71688, 'Bondville', 2797, '40372', '859', '37.912064', '-84.894866', '2018-11-29 05:13:59', '2018-11-29 05:13:59'),\n(71689, 'Salvisa', 2797, '40372', '859', '37.912064', '-84.894866', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71690, 'Livingston', 2797, '40445', '606', '37.305378', '-84.219046', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71691, 'Paint Lick', 2797, '40461', '859', '37.604725', '-84.418939', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71692, 'Ravenna', 2797, '40472', '606', '37.715', '-83.86271', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71693, 'Waneta', 2797, '40488', '606', '37.471364', '-84.046615', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71694, 'Frankfort', 2797, '40604', '502', '38.2009', '-84.8734', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71695, 'Frankfort', 2797, '40622', '502', '38.2009', '-84.8734', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71696, 'Ky Dept Of Transportation', 2797, '40622', '502', '38.2009', '-84.8734', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71697, 'Bush', 2797, '40724', '606', '37.0194', '-83.9973', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71698, 'Peoples', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71699, 'Wind Cave', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71700, 'Sandgap', 2797, '40481', '606', '37.483369', '-84.027142', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71701, 'Elias', 2797, '40486', '606', '37.369069', '-83.866107', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71702, 'Herd', 2797, '40486', '606', '37.369069', '-83.866107', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71703, 'Maulden', 2797, '40486', '606', '37.369069', '-83.866107', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71704, 'Tyner', 2797, '40486', '606', '37.369069', '-83.866107', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71705, 'Lexington', 2797, '40513', '859', '38.016006', '-84.610196', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71706, 'Lexington', 2797, '40515', '859', '37.920542', '-84.424736', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71707, 'Lexington', 2797, '40579', '859', '38.0494', '-84.5004', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71708, 'Lexington', 2797, '40581', '859', '38.0494', '-84.5004', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71709, 'Lexington', 2797, '40588', '859', '38.0494', '-84.5004', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71710, 'Frankfort', 2797, '40620', '502', '38.2009', '-84.8734', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71711, 'Ky Dept Of Revenue', 2797, '40620', '502', '38.2009', '-84.8734', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71712, 'Bedford', 2797, '40006', '502', '38.594117', '-85.331601', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71713, 'Fisherville', 2797, '40023', '502', '38.164708', '-85.412386', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71714, 'Wilsonville', 2797, '40023', '502', '38.164708', '-85.412386', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71715, 'Cropper', 2797, '40057', '502', '38.398665', '-85.010424', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71716, 'Defoe', 2797, '40057', '502', '38.398665', '-85.010424', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71717, 'Franklinton', 2797, '40057', '502', '38.398665', '-85.010424', '2018-11-29 05:14:00', '2018-11-29 05:14:00'),\n(71718, 'Pleasureville', 2797, '40057', '502', '38.398665', '-85.010424', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71719, 'Turners Sta', 2797, '40075', '502', '38.56364', '-85.126131', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71720, 'Turners Station', 2797, '40075', '502', '38.56364', '-85.126131', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71721, 'Brooks', 2797, '40109', '502', '38.062268', '-85.759825', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71722, 'Radcliff', 2797, '40160', '270', '37.817462', '-85.9384', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71723, 'Louisville', 2797, '40209', '502', '38.193568', '-85.746902', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71724, 'Louisville', 2797, '40210', '502', '38.231022', '-85.78976', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71725, 'Fern Creek', 2797, '40291', '502', '38.131191', '-85.574576', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71726, 'Louisville', 2797, '40291', '502', '38.131191', '-85.574576', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71727, 'Louisville', 2797, '40292', '502', '38.216345', '-85.759437', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71728, 'Univ Of Louisville', 2797, '40292', '502', '38.216345', '-85.759437', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71729, 'Nicholasville', 2797, '40340', '859', '37.8809', '-84.5734', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71730, 'Gratz', 2797, '40359', '502', '38.49185', '-84.828538', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71731, 'Monterey', 2797, '40359', '502', '38.49185', '-84.828538', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71732, 'Owenton', 2797, '40359', '502', '38.49185', '-84.828538', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71733, 'Wheatley', 2797, '40359', '502', '38.49185', '-84.828538', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71734, 'Versailles', 2797, '40390', '859', '37.884004', '-84.720512', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71735, 'Wilmore', 2797, '40390', '859', '37.884004', '-84.720512', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71736, 'Ford', 2797, '40391', '859', '37.968408', '-84.146014', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71737, 'Winchester', 2797, '40391', '859', '37.968408', '-84.146014', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71738, 'Bryantsville', 2797, '40410', '859', '37.7146', '-84.6492', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71739, 'Johnetta', 2797, '40460', '606', '37.399114', '-84.226757', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71740, 'Orlando', 2797, '40460', '606', '37.399114', '-84.226757', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71741, 'Wildie', 2797, '40492', '606', '37.4234', '-84.3022', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71742, 'Lexington', 2797, '40508', '859', '38.049189', '-84.499253', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71743, 'Lexington', 2797, '40524', '859', '38.0494', '-84.5004', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71744, 'Lexington', 2797, '40526', '859', '38.0494', '-84.5004', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71745, 'University Of Ky Res Halls', 2797, '40526', '859', '38.0494', '-84.5004', '2018-11-29 05:14:01', '2018-11-29 05:14:01'),\n(71746, 'Lexington', 2797, '40544', '859', '38.0494', '-84.5004', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71747, 'Lexington', 2797, '40575', '859', '38.0494', '-84.5004', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71748, 'Lexington', 2797, '40577', '859', '38.0494', '-84.5004', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71749, 'Lexington', 2797, '40591', '859', '38.0494', '-84.5004', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71750, 'Mount Eden', 2797, '40046', '502', '38.031172', '-85.176462', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71751, 'Falls Of Rough', 2797, '40119', '270', '37.613966', '-86.538196', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71752, 'Falls Rough', 2797, '40119', '270', '37.613966', '-86.538196', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71753, 'Glen Dean', 2797, '40119', '270', '37.613966', '-86.538196', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71754, 'Vanzant', 2797, '40119', '270', '37.613966', '-86.538196', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71755, 'Irvington', 2797, '40146', '270', '37.856098', '-86.336524', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71756, 'Lodiburg', 2797, '40146', '270', '37.856098', '-86.336524', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71757, 'Mc Quady', 2797, '40153', '270', '37.7126', '-86.518', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71758, 'Mcquady', 2797, '40153', '270', '37.7126', '-86.518', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71759, 'Rineyville', 2797, '40162', '270', '37.74807', '-86.03772', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71760, 'Louisville', 2797, '40221', '502', '38.2545', '-85.7595', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71761, 'Louisville', 2797, '40253', '502', '38.2545', '-85.7595', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71762, 'Middletown', 2797, '40253', '502', '38.2545', '-85.7595', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71763, 'Louisville', 2797, '40255', '502', '38.2545', '-85.7595', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71764, 'Louisville', 2797, '40289', '502', '38.2545', '-85.7595', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71765, 'National City Bank', 2797, '40289', '502', '38.2545', '-85.7595', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71766, 'Clay City', 2797, '40312', '606', '37.843014', '-83.926614', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71767, 'Westbend', 2797, '40312', '606', '37.843014', '-83.926614', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71768, 'Jeffersonville', 2797, '40337', '859', '37.958541', '-83.873859', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71769, 'Jeffersonvlle', 2797, '40337', '859', '37.958541', '-83.873859', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71770, 'New Liberty', 2797, '40355', '502', '38.632884', '-84.935378', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71771, 'Paris', 2797, '40362', '859', '38.2097', '-84.2533', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71772, 'Berea', 2797, '40403', '859', '37.559565', '-84.244234', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71773, 'Bighill', 2797, '40405', '859', '37.5546', '-84.2084', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71774, 'Mc Kinney', 2797, '40448', '606', '37.462498', '-84.751304', '2018-11-29 05:14:02', '2018-11-29 05:14:02'),\n(71775, 'Parksville', 2797, '40464', '859', '37.565354', '-84.951536', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71776, 'Renfro Valley', 2797, '40473', '606', '37.3875', '-84.3318', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71777, 'Renfro Vly', 2797, '40473', '606', '37.3875', '-84.3318', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71778, 'Waynesburg', 2797, '40489', '606', '37.365282', '-84.664952', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71779, 'Lexington', 2797, '40505', '859', '38.060878', '-84.452316', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71780, 'Lexington', 2797, '40514', '859', '37.98406', '-84.561119', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71781, 'Lexington', 2797, '40578', '859', '38.0494', '-84.5004', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71782, 'Lexington', 2797, '40582', '859', '38.0494', '-84.5004', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71783, 'Chaplin', 2797, '40012', '502', '37.917265', '-85.187589', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71784, 'Loretto', 2797, '40037', '270', '37.656932', '-85.399521', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71785, 'Raywick', 2797, '40060', '270', '37.533166', '-85.44812', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71786, 'Saint Francis', 2797, '40062', '270', '37.59255', '-85.421316', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71787, 'St Francis', 2797, '40062', '270', '37.59255', '-85.421316', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71788, 'Maud', 2797, '40069', '859', '37.728561', '-85.214847', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71789, 'Springfield', 2797, '40069', '859', '37.728561', '-85.214847', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71790, 'Taylorsville', 2797, '40071', '502', '38.031862', '-85.353814', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71791, 'Harned', 2797, '40144', '270', '37.72867', '-86.343496', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71792, 'Locust Hill', 2797, '40144', '270', '37.72867', '-86.343496', '2018-11-29 05:14:03', '2018-11-29 05:14:03');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(71793, 'Se Ree', 2797, '40144', '270', '37.72867', '-86.343496', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71794, 'Muldraugh', 2797, '40155', '502', '37.96077', '-86.010618', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71795, 'Union Star', 2797, '40171', '270', '37.970928', '-86.459406', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71796, 'Westview', 2797, '40178', '270', '37.675974', '-86.427212', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71797, 'Louisville', 2797, '40203', '502', '38.251397', '-85.763012', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71798, 'Kingsley', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71799, 'Louisville', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71800, 'Seneca Gardens', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71801, 'Seneca Gdns', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71802, 'Strathmoor Manor', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:03', '2018-11-29 05:14:03'),\n(71803, 'Strathmoor Village', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71804, 'Strathmr Mnr', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71805, 'Strathmr Vlg', 2797, '40205', '502', '38.221532', '-85.675756', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71806, 'Louisville', 2797, '40212', '502', '38.270064', '-85.799442', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71807, 'Heritage Creek', 2797, '40219', '502', '38.14429', '-85.693137', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71808, 'Heritage Crk', 2797, '40219', '502', '38.14429', '-85.693137', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71809, 'Louisville', 2797, '40219', '502', '38.14429', '-85.693137', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71810, 'Okolona', 2797, '40219', '502', '38.14429', '-85.693137', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71811, 'South Park View', 2797, '40219', '502', '38.14429', '-85.693137', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71812, 'South Park Vw', 2797, '40219', '502', '38.14429', '-85.693137', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71813, 'Louisville', 2797, '40280', '502', '38.2545', '-85.7595', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71814, 'So Baptist Theo Sem', 2797, '40280', '502', '38.2545', '-85.7595', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71815, 'Bank One', 2797, '40294', '502', '38.2545', '-85.7595', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71816, 'Louisville', 2797, '40294', '502', '38.2545', '-85.7595', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71817, 'Louisville', 2797, '40296', '502', '38.2545', '-85.7595', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71818, 'Pnc Bank', 2797, '40296', '502', '38.2545', '-85.7595', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71819, 'Cornishville', 2797, '40330', '859', '37.801842', '-84.878748', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71820, 'Harrodsburg', 2797, '40330', '859', '37.801842', '-84.878748', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71821, 'Pleasanthill', 2797, '40330', '859', '37.801842', '-84.878748', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71822, 'Shakertown', 2797, '40330', '859', '37.801842', '-84.878748', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71823, 'Camargo', 2797, '40353', '859', '38.070544', '-83.934328', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71824, 'Mount Sterling', 2797, '40353', '859', '38.070544', '-83.934328', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71825, 'Mt Sterling', 2797, '40353', '859', '38.070544', '-83.934328', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71826, 'Pomeroyton', 2797, '40387', '606', '37.934382', '-83.523033', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71827, 'Wellington', 2797, '40387', '606', '37.934382', '-83.523033', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71828, 'Hustonville', 2797, '40437', '606', '37.443301', '-84.835422', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71829, 'Lexington', 2797, '40503', '859', '38.006263', '-84.53451', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71830, 'Lexington', 2797, '40546', '859', '38.0494', '-84.5004', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71831, 'University Of Ky Agri Dept', 2797, '40546', '859', '38.0494', '-84.5004', '2018-11-29 05:14:04', '2018-11-29 05:14:04'),\n(71832, 'Lexington', 2797, '40555', '859', '38.0494', '-84.5004', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71833, 'Amazon.com', 2797, '40598', '859', '38.0494', '-84.5004', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71834, 'Lexington', 2797, '40598', '859', '38.0494', '-84.5004', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71835, 'Nazareth', 2797, '40048', '502', '37.8482', '-85.4728', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71836, 'Nerinx', 2797, '40049', '270', '37.6644', '-85.3997', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71837, 'Shelbyville', 2797, '40066', '502', '38.2117', '-85.2236', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71838, 'Simpsonville', 2797, '40067', '502', '38.222742', '-85.359401', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71839, 'Custer', 2797, '40115', '270', '37.724228', '-86.279696', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71840, 'Dyer', 2797, '40115', '270', '37.724228', '-86.279696', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71841, 'Garfield', 2797, '40115', '270', '37.724228', '-86.279696', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71842, 'Ekron', 2797, '40117', '270', '37.898206', '-86.129579', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71843, 'Fairdale', 2797, '40118', '502', '38.096265', '-85.753312', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71844, 'Hollyvilla', 2797, '40118', '502', '38.096265', '-85.753312', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71845, 'Fox Chase', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71846, 'Hebron Estates', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71847, 'Hebron Ests', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71848, 'Hunters Hlw', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71849, 'Hunters Hollow', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71850, 'Pioneer Village', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71851, 'Pioneer Vlg', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71852, 'Shepherdsville', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71853, 'Shepherdsvlle', 2797, '40165', '502', '37.964331', '-85.718153', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71854, 'Buechel', 2797, '40218', '502', '38.191545', '-85.657321', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71855, 'Louisville', 2797, '40218', '502', '38.191545', '-85.657321', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71856, 'Watterson Park', 2797, '40218', '502', '38.191545', '-85.657321', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71857, 'Watterson Pk', 2797, '40218', '502', '38.191545', '-85.657321', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71858, 'West Buechel', 2797, '40218', '502', '38.191545', '-85.657321', '2018-11-29 05:14:05', '2018-11-29 05:14:05'),\n(71859, 'Louisville', 2797, '40233', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71860, 'Louisville', 2797, '40251', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71861, 'Louisville', 2797, '40266', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71862, 'Rr Donnelly', 2797, '40266', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71863, 'Louisville', 2797, '40283', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71864, 'Pleasure Rdge', 2797, '40283', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71865, 'Pleasure Ridge Park', 2797, '40283', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71866, 'Readers Digest', 2797, '40283', '502', '38.2545', '-85.7595', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71867, 'Louisville', 2797, '40298', '502', '38.2539', '-85.7624', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71868, 'Denniston', 2797, '40316', '606', '37.926443', '-83.517071', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71869, 'Preston', 2797, '40366', '606', '38.0825', '-83.7585', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71870, 'Bybee', 2797, '40385', '859', '37.72325', '-84.140682', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71871, 'College Hill', 2797, '40385', '859', '37.72325', '-84.140682', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71872, 'Dreyfus', 2797, '40385', '859', '37.72325', '-84.140682', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71873, 'Waco', 2797, '40385', '859', '37.72325', '-84.140682', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71874, 'Annville', 2797, '40402', '606', '37.287871', '-83.970495', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71875, 'Bond', 2797, '40402', '606', '37.287871', '-83.970495', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71876, 'Dabolt', 2797, '40402', '606', '37.287871', '-83.970495', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71877, 'Moores Creek', 2797, '40402', '606', '37.287871', '-83.970495', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71878, 'Lexington', 2797, '40533', '859', '38.0494', '-84.5004', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71879, 'Division Of Sales Use Tax', 2797, '40619', '502', '38.2009', '-84.8734', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71880, 'Frankfort', 2797, '40619', '502', '38.2009', '-84.8734', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71881, 'Corbin', 2797, '40701', '606', '36.923634', '-84.115825', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71882, 'Keavy', 2797, '40701', '606', '36.923634', '-84.115825', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71883, 'Woodbine', 2797, '40701', '606', '36.923634', '-84.115825', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71884, 'Corbin', 2797, '40702', '606', '36.9488', '-84.0968', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71885, 'Louisville', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71886, 'Lyndon', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:06', '2018-11-29 05:14:06'),\n(71887, 'Manor Creek', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71888, 'Spring Valley', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71889, 'Ten Broeck', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71890, 'Louisville', 2797, '40258', '502', '38.149774', '-85.866875', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71891, 'Pleasure Rdge', 2797, '40258', '502', '38.149774', '-85.866875', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71892, 'Pleasure Ridge Park', 2797, '40258', '502', '38.149774', '-85.866875', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71893, 'Louisville', 2797, '40290', '502', '38.2545', '-85.7595', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71894, 'Shared Firm Zip', 2797, '40290', '502', '38.2545', '-85.7595', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71895, 'Lawrenceburg', 2797, '40342', '502', '38.005169', '-84.982141', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71896, 'N Middletown', 2797, '40357', '859', '38.1452', '-84.1108', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71897, 'North Middletown', 2797, '40357', '859', '38.1452', '-84.1108', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71898, 'Owingsville', 2797, '40360', '606', '38.148309', '-83.776998', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71899, 'Natural Bridge', 2797, '40376', '606', '37.775543', '-83.691766', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71900, 'Slade', 2797, '40376', '606', '37.775543', '-83.691766', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71901, 'Winchester', 2797, '40392', '859', '37.9901', '-84.1797', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71902, 'Brodhead', 2797, '40409', '606', '37.370037', '-84.42702', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71903, 'Junction City', 2797, '40440', '859', '37.576769', '-84.841372', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71904, 'Kings Mountain', 2797, '40442', '606', '37.352588', '-84.744205', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71905, 'Kings Mtn', 2797, '40442', '606', '37.352588', '-84.744205', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71906, 'Lancaster', 2797, '40444', '859', '37.676602', '-84.584154', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71907, 'Richmond', 2797, '40476', '859', '37.7479', '-84.2947', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71908, 'Lexington', 2797, '40511', '859', '38.134518', '-84.490494', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71909, 'Lexington', 2797, '40576', '859', '38.0494', '-84.5004', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71910, 'Louisville', 2797, '40285', '502', '38.2566', '-85.7586', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71911, 'Elliottville', 2797, '40317', '606', '38.1826', '-83.2755', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71912, 'Hope', 2797, '40334', '606', '38.023633', '-83.754973', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71913, 'Moorefield', 2797, '40350', '859', '38.292352', '-83.887776', '2018-11-29 05:14:07', '2018-11-29 05:14:07'),\n(71914, 'Versailles', 2797, '40383', '859', '38.007034', '-84.72497', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71915, 'Gray Hawk', 2797, '40434', '606', '37.4029', '-83.877', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71916, 'Mitchellsburg', 2797, '40452', '859', '37.6009', '-84.9497', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71917, 'Lexington', 2797, '40502', '859', '38.016015', '-84.487883', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71918, 'Lexington', 2797, '40517', '859', '37.988398', '-84.48788', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71919, 'Frankfort', 2797, '40602', '502', '38.2009', '-84.8734', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71920, 'Bagdad', 2797, '40003', '502', '38.278169', '-85.050792', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71921, 'Buckner', 2797, '40010', '502', '38.374806', '-85.453211', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71922, 'Eminence', 2797, '40019', '502', '38.374608', '-85.176166', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71923, 'Pendleton', 2797, '40055', '502', '38.490242', '-85.337989', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71924, 'Sulphur', 2797, '40055', '502', '38.490242', '-85.337989', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71925, 'Willisburg', 2797, '40078', '859', '37.838995', '-85.140464', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71926, 'Clermont', 2797, '40110', '502', '37.9294', '-85.6529', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71927, 'Fort Knox', 2797, '40121', '502', '37.870028', '-85.932566', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71928, 'Louisville', 2797, '40214', '502', '38.162475', '-85.792809', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71929, 'Highview', 2797, '40228', '502', '38.141653', '-85.627006', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71930, 'Hollow Creek', 2797, '40228', '502', '38.141653', '-85.627006', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71931, 'Louisville', 2797, '40228', '502', '38.141653', '-85.627006', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71932, 'Spring Mill', 2797, '40228', '502', '38.141653', '-85.627006', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71933, 'Jeffersontown', 2797, '40269', '502', '38.1942', '-85.5646', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71934, 'Louisville', 2797, '40269', '502', '38.1942', '-85.5646', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71935, 'Ky Lottery Corp', 2797, '40287', '502', '38.2545', '-85.7595', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71936, 'Louisville', 2797, '40287', '502', '38.2545', '-85.7595', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71937, 'Farmers', 2797, '40319', '606', '38.1429', '-83.5463', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71938, 'Gravel Switch', 2797, '40328', '270', '37.551801', '-85.013592', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71939, 'Keene', 2797, '40339', '859', '37.940309', '-84.646302', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71940, 'Means', 2797, '40346', '606', '37.94436', '-83.724067', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71941, 'Millersburg', 2797, '40348', '859', '38.295656', '-84.12857', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71942, 'Salt Lick', 2797, '40371', '606', '38.097567', '-83.576955', '2018-11-29 05:14:08', '2018-11-29 05:14:08'),\n(71943, 'Sudith', 2797, '40371', '606', '38.097567', '-83.576955', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71944, 'Bowen', 2797, '40380', '606', '37.807418', '-83.781949', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71945, 'Patsey', 2797, '40380', '606', '37.807418', '-83.781949', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71946, 'Rosslyn', 2797, '40380', '606', '37.807418', '-83.781949', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71947, 'Stanton', 2797, '40380', '606', '37.807418', '-83.781949', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71948, 'Danville', 2797, '40423', '859', '37.6427', '-84.7718', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71949, 'Christian Appalachian', 2797, '40446', '859', '37.6194', '-84.5781', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71950, 'Lancaster', 2797, '40446', '859', '37.6194', '-84.5781', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71951, 'Lexington', 2797, '40512', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71952, 'Lexington', 2797, '40523', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71953, 'Lexington', 2797, '40580', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71954, 'Frankfort', 2797, '40603', '502', '38.2009', '-84.8734', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71955, 'Frankfort', 2797, '40621', '502', '38.2009', '-84.8734', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71956, 'Ky Dept Human Resources', 2797, '40621', '502', '38.2009', '-84.8734', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71957, 'Quadgraphics', 2797, '40384', '859', '38.0527', '-84.7299', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71958, 'Versailles', 2797, '40384', '859', '38.0527', '-84.7299', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71959, 'Crab Orchard', 2797, '40419', '606', '37.447563', '-84.482995', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71960, 'Perryville', 2797, '40468', '859', '37.647905', '-84.979063', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71961, 'Stanford', 2797, '40484', '606', '37.519618', '-84.70729', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71962, 'Lexington', 2797, '40516', '859', '38.082096', '-84.368722', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71963, 'Lexington', 2797, '40536', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71964, 'University Of Ky Med Ctr', 2797, '40536', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71965, 'Lexington', 2797, '40550', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71966, 'Lexmark', 2797, '40550', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71967, 'Lexington', 2797, '40583', '859', '38.0494', '-84.5004', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71968, 'Frankfort', 2797, '40601', '502', '38.232567', '-84.898278', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71969, 'Hatton', 2797, '40601', '502', '38.232567', '-84.898278', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71970, 'Frankfort', 2797, '40618', '502', '38.2009', '-84.8734', '2018-11-29 05:14:09', '2018-11-29 05:14:09'),\n(71971, 'Ky Dept Of Revenue', 2797, '40618', '502', '38.2009', '-84.8734', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71972, 'Glenview', 2797, '40025', '502', '38.300974', '-85.647762', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71973, 'Goshen', 2797, '40026', '502', '38.430282', '-85.528958', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71974, 'Pewee Valley', 2797, '40056', '502', '38.304981', '-85.490408', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71975, 'Port Royal', 2797, '40058', '502', '38.43281', '-85.171676', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71976, 'Waddy', 2797, '40076', '502', '38.113187', '-85.103532', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71977, 'Boston', 2797, '40107', '502', '37.773784', '-85.634062', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71978, 'Brandenburg', 2797, '40108', '270', '37.976514', '-86.165861', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71979, 'Axtel', 2797, '40143', '270', '37.801285', '-86.458548', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71980, 'Hardinsburg', 2797, '40143', '270', '37.801285', '-86.458548', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71981, 'Mooleyville', 2797, '40143', '270', '37.801285', '-86.458548', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71982, 'Sample', 2797, '40143', '270', '37.801285', '-86.458548', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71983, 'Payneville', 2797, '40157', '270', '38.01295', '-86.368273', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71984, 'Radcliff', 2797, '40159', '270', '37.8404', '-85.9494', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71985, 'Louisville', 2797, '40208', '502', '38.217912', '-85.762859', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71986, 'Anchorage', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71987, 'Blue Rdg Mnr', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71988, 'Blue Ridge Manor', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71989, 'Louisville', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71990, 'Meadowbrk Frm', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71991, 'Meadowbrook Farm', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71992, 'Moorland', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71993, 'Sycamore', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71994, 'Wildwood', 2797, '40223', '502', '38.260072', '-85.545152', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71995, 'Louisville', 2797, '40224', '502', '38.2545', '-85.7595', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71996, 'Barbourmeade', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71997, 'Broeck Pointe', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71998, 'Brownsboro Farm', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:10', '2018-11-29 05:14:10'),\n(71999, 'Brwnsboro Frm', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72000, 'Creekside', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72001, 'Fincastle', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72002, 'Goose Creek', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72003, 'Green Spring', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72004, 'Hickory Hill', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72005, 'Hills And Dales', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72006, 'Hills Dales', 2797, '40241', '502', '38.30231', '-85.584506', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72007, 'Ballardsville', 2797, '40014', '502', '38.346397', '-85.42971', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72008, 'Crestwood', 2797, '40014', '502', '38.346397', '-85.42971', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72009, 'Orchard Grass', 2797, '40014', '502', '38.346397', '-85.42971', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72010, 'Orchard Grass Hills', 2797, '40014', '502', '38.346397', '-85.42971', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72011, 'Eastwood', 2797, '40018', '502', '38.2331', '-85.4556', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72012, 'New Castle', 2797, '40050', '502', '38.449271', '-85.190017', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72013, 'Howardstown', 2797, '40051', '502', '37.632032', '-85.590983', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72014, 'New Haven', 2797, '40051', '502', '37.632032', '-85.590983', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72015, 'Trappist', 2797, '40051', '502', '37.632032', '-85.590983', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72016, 'Shelbyville', 2797, '40065', '502', '38.214424', '-85.176808', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72017, 'Smithfield', 2797, '40068', '502', '38.39765', '-85.269419', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72018, 'Lebanon Jct', 2797, '40150', '502', '37.877374', '-85.725273', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72019, 'Lebanon Jctn', 2797, '40150', '502', '37.877374', '-85.725273', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72020, 'Lebanon Junction', 2797, '40150', '502', '37.877374', '-85.725273', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72021, 'Louisville', 2797, '40201', '502', '38.2545', '-85.7595', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72022, 'Louisville', 2797, '40215', '502', '38.191888', '-85.785454', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72023, 'Louisville', 2797, '40250', '502', '38.2545', '-85.7595', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72024, 'Louisville', 2797, '40268', '502', '38.2545', '-85.7595', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72025, 'Pleasure Rdge', 2797, '40268', '502', '38.2545', '-85.7595', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72026, 'Pleasure Ridge Park', 2797, '40268', '502', '38.2545', '-85.7595', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72027, 'Louisville', 2797, '40282', '502', '38.2545', '-85.7595', '2018-11-29 05:14:11', '2018-11-29 05:14:11'),\n(72028, 'Pleasure Rdge', 2797, '40282', '502', '38.2545', '-85.7595', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72029, 'Pleasure Ridge Park', 2797, '40282', '502', '38.2545', '-85.7595', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72030, 'Readers Digest', 2797, '40282', '502', '38.2545', '-85.7595', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72031, 'Jeffersontown', 2797, '40299', '502', '38.159886', '-85.521994', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72032, 'Louisville', 2797, '40299', '502', '38.159886', '-85.521994', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72033, 'Haldeman', 2797, '40351', '606', '38.206694', '-83.408598', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72034, 'Lakeview Heights', 2797, '40351', '606', '38.206694', '-83.408598', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72035, 'Lakeview Hgts', 2797, '40351', '606', '38.206694', '-83.408598', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72036, 'Morehead', 2797, '40351', '606', '38.206694', '-83.408598', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72037, 'Campbellsburg', 2797, '40011', '502', '38.543975', '-85.136772', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72038, 'Fairfield', 2797, '40020', '502', '37.93675', '-85.391801', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72039, 'Locust', 2797, '40045', '502', '38.66603', '-85.372992', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72040, 'Milton', 2797, '40045', '502', '38.66603', '-85.372992', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72041, 'Mount Washington', 2797, '40047', '502', '38.039584', '-85.557236', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72042, 'Mt Washington', 2797, '40047', '502', '38.039584', '-85.557236', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72043, 'Saint Catharine', 2797, '40061', '859', '37.702937', '-85.265178', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72044, 'St Catharine', 2797, '40061', '859', '37.702937', '-85.265178', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72045, 'Westport', 2797, '40077', '502', '38.492474', '-85.437066', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72046, 'Battletown', 2797, '40104', '270', '38.107884', '-86.349057', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72047, 'Wolf Creek', 2797, '40104', '270', '38.107884', '-86.349057', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72048, 'West Point', 2797, '40177', '502', '37.919316', '-85.874559', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72049, 'Bancroft', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72050, 'Bellemeade', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72051, 'Crossgate', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72052, 'Glenview Hills', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72053, 'Glenview Hls', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72054, 'Glenview Manor', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72055, 'Glenview Mnr', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72056, 'Graymoor-Devondale', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:12', '2018-11-29 05:14:12'),\n(72057, 'Grymr-Devndle', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72058, 'Hurstbourne', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72059, 'Louisville', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72060, 'Lyndon', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72061, 'Northfield', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72062, 'Norwood', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72063, 'Thornhill', 2797, '40222', '502', '38.277963', '-85.626869', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72064, 'Coldstream', 2797, '40245', '502', '38.2587', '-85.461214', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72065, 'Louisville', 2797, '40245', '502', '38.2587', '-85.461214', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72066, 'Worthington Hills', 2797, '40245', '502', '38.2587', '-85.461214', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72067, 'Worthngtn Hls', 2797, '40245', '502', '38.2587', '-85.461214', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72068, 'Louisville', 2797, '40261', '502', '38.2545', '-85.7595', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72069, 'Louisville', 2797, '40297', '502', '38.2545', '-85.7595', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72070, 'Pnc Bank', 2797, '40297', '502', '38.2545', '-85.7595', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72071, 'Cobhill', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72072, 'Crystal', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72073, 'Irvine', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72074, 'Jinks', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72075, 'Pryse', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72076, 'West Irvine', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72077, 'Winston', 2797, '40336', '606', '37.69226', '-83.957295', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72078, 'Nicholasville', 2797, '40356', '859', '37.864449', '-84.556271', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72079, 'Berea', 2797, '40404', '859', '37.5687', '-84.2965', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72080, 'Berea College', 2797, '40404', '859', '37.5687', '-84.2965', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72081, 'Clover Bottom', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72082, 'Eberle', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72083, 'Foxtown', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72084, 'Hisle', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:13', '2018-11-29 05:14:13'),\n(72085, 'Kerby Knob', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72086, 'Mc Kee', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72087, 'Morrill', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72088, 'New Zion', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72089, 'Parrot', 2797, '40447', '606', '37.43165', '-84.025827', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72090, 'La Grange', 2797, '40031', '502', '38.428392', '-85.392566', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72091, 'Lagrange', 2797, '40031', '502', '38.428392', '-85.392566', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72092, 'Ky State Reformatory', 2797, '40032', '502', '38.4075', '-85.3786', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72093, 'La Grange', 2797, '40032', '502', '38.4075', '-85.3786', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72094, 'Lagrange', 2797, '40032', '502', '38.4075', '-85.3786', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72095, 'Calvary', 2797, '40033', '270', '37.53815', '-85.250964', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72096, 'Lebanon', 2797, '40033', '270', '37.53815', '-85.250964', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72097, 'Shepherdsville', 2797, '40166', '502', '37.981378', '-85.686042', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72098, 'Zappos Inc', 2797, '40166', '502', '37.981378', '-85.686042', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72099, 'Louisville', 2797, '40216', '502', '38.18665', '-85.840343', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72100, 'Shively', 2797, '40216', '502', '38.18665', '-85.840343', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72101, 'Louisville', 2797, '40217', '502', '38.216989', '-85.733762', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72102, 'Parkway Village', 2797, '40217', '502', '38.216989', '-85.733762', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72103, 'Parkway Vlg', 2797, '40217', '502', '38.216989', '-85.733762', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72104, 'Louisville', 2797, '40232', '502', '38.2545', '-85.7595', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72105, 'Bethlehem', 2797, '40007', '502', '38.453086', '-85.014943', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72106, 'Bloomfield', 2797, '40008', '502', '37.911522', '-85.281145', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72107, 'Bradfordsville', 2797, '40009', '270', '37.474049', '-85.094293', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72108, 'Bradfordsvlle', 2797, '40009', '270', '37.474049', '-85.094293', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72109, 'Mackville', 2797, '40040', '859', '37.741052', '-85.075104', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72110, 'Masonic Home', 2797, '40041', '502', '38.2538', '-85.7599', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72111, 'Prospect', 2797, '40059', '502', '38.377973', '-85.583118', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72112, 'River Bluff', 2797, '40059', '502', '38.377973', '-85.583118', '2018-11-29 05:14:14', '2018-11-29 05:14:14'),\n(72113, 'Constantine', 2797, '40140', '270', '37.670444', '-86.225534', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72114, 'Garfield', 2797, '40140', '270', '37.670444', '-86.225534', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72115, 'Guston', 2797, '40142', '270', '37.890078', '-86.217778', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72116, 'Big Spring', 2797, '40175', '270', '37.842994', '-86.097464', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72117, 'Flaherty', 2797, '40175', '270', '37.842994', '-86.097464', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72118, 'Vine Grove', 2797, '40175', '270', '37.842994', '-86.097464', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72119, 'Raymond', 2797, '40176', '270', '37.937802', '-86.373675', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72120, 'Webster', 2797, '40176', '270', '37.937802', '-86.373675', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72121, 'Bellewood', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72122, 'Brownsboro Village', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72123, 'Brwnsboro Vlg', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72124, 'Druid Hills', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72125, 'Indian Hills', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72126, 'Louisville', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72127, 'Maryhill Estates', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72128, 'Maryhill Ests', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72129, 'Mockingbird Valley', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72130, 'Mockngbrd Vly', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72131, 'Norbourne Est', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72132, 'Norbourne Estates', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72133, 'Richlawn', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72134, 'Riverwood', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72135, 'Rolling Field', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72136, 'Rolling Fields', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72137, 'Saint Matthews', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72138, 'St Matthews', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72139, 'Windy Hills', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72140, 'Woodlawn Park', 2797, '40207', '502', '38.26412', '-85.661976', '2018-11-29 05:14:15', '2018-11-29 05:14:15'),\n(72141, 'General Electric Co', 2797, '40225', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72142, 'Louisville', 2797, '40225', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72143, 'Briarwood', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72144, 'Langdon Place', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72145, 'Louisville', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72146, 'Lyndon', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72147, 'Meadow Vale', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72148, 'Murray Hill', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72149, 'Old Brownsboro Place', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72150, 'Old Brownsbro', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72151, 'Plantation', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72152, 'Rolling Hills', 2797, '40242', '502', '38.278201', '-85.593992', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72153, 'Douglass Hills', 2797, '40243', '502', '38.240688', '-85.533334', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72154, 'Douglass Hls', 2797, '40243', '502', '38.240688', '-85.533334', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72155, 'Louisville', 2797, '40243', '502', '38.240688', '-85.533334', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72156, 'Middletown', 2797, '40243', '502', '38.240688', '-85.533334', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72157, 'Woodland Hills', 2797, '40243', '502', '38.240688', '-85.533334', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72158, 'Woodland Hls', 2797, '40243', '502', '38.240688', '-85.533334', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72159, 'Louisville', 2797, '40257', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72160, 'Saint Matthews', 2797, '40257', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72161, 'St Matthews', 2797, '40257', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72162, 'Louisville', 2797, '40259', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72163, 'Okolona', 2797, '40259', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72164, 'Jp Morgan Chase', 2797, '40293', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72165, 'Louisville', 2797, '40293', '502', '38.2545', '-85.7595', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72166, 'Burgin', 2797, '40310', '859', '37.7543', '-84.7686', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72167, 'Baldwin', 2802, '49304', '231', '43.930745', '-85.860852', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72168, 'Coral', 2802, '49322', '231', '43.359368', '-85.333374', '2018-11-29 05:14:16', '2018-11-29 05:14:16'),\n(72169, 'Howard City', 2802, '49329', '231', '43.402846', '-85.50268', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72170, 'Cascade', 2802, '49331', '616', '42.964604', '-85.376322', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72171, 'Cascade Twp', 2802, '49331', '616', '42.964604', '-85.376322', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72172, 'Lowell', 2802, '49331', '616', '42.964604', '-85.376322', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72173, 'Morley', 2802, '49336', '231', '43.497421', '-85.440289', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72174, 'Paris', 2802, '49338', '231', '43.756896', '-85.608574', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72175, 'Sparta', 2802, '49345', '616', '43.160628', '-85.690728', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72176, 'Holland', 2802, '49422', '616', '42.7878', '-86.1086', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72177, 'Jenison', 2802, '49429', '616', '42.9073', '-85.7919', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72178, 'Ludington', 2802, '49431', '231', '43.962354', '-86.397766', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72179, 'Norton Shores', 2802, '49456', '616', '43.078742', '-86.19614', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72180, 'Spring Lake', 2802, '49456', '616', '43.078742', '-86.19614', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72181, 'Sylvan Beach', 2802, '49461', '231', '43.386894', '-86.327602', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72182, 'Whitehall', 2802, '49461', '231', '43.386894', '-86.327602', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72183, 'Sylvan Beach', 2802, '49463', '231', '43.3707', '-86.4217', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72184, 'Wabaningo', 2802, '49463', '231', '43.3707', '-86.4217', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72185, 'Whitehall', 2802, '49463', '231', '43.3707', '-86.4217', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72186, 'Grand Rapids', 2802, '49588', '616', '42.9634', '-85.6681', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72187, 'Kentwood', 2802, '49588', '616', '42.9634', '-85.6681', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72188, 'Central Lake', 2802, '49622', '231', '45.084206', '-85.260803', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72189, 'Evart', 2802, '49631', '231', '43.907634', '-85.235214', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72190, 'Manton', 2802, '49663', '231', '44.42574', '-85.406286', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72191, 'North Port', 2802, '49670', '231', '45.156251', '-85.625233', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72192, 'Northport', 2802, '49670', '231', '45.156251', '-85.625233', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72193, 'Northport Point', 2802, '49670', '231', '45.156251', '-85.625233', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72194, 'Harbor Point', 2802, '49740', '231', '45.544004', '-84.991494', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72195, 'Harbor Spgs', 2802, '49740', '231', '45.544004', '-84.991494', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72196, 'Harbor Springs', 2802, '49740', '231', '45.544004', '-84.991494', '2018-11-29 05:14:17', '2018-11-29 05:14:17'),\n(72197, 'Wequetonsing', 2802, '49740', '231', '45.544004', '-84.991494', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72198, 'Lewiston', 2802, '49756', '989', '44.801161', '-84.24081', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72199, 'Kincheloe', 2802, '49788', '906', '46.27351', '-84.446722', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72200, 'Sault S Marie', 2802, '49788', '906', '46.27351', '-84.446722', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72201, 'Sault Sainte Marie', 2802, '49788', '906', '46.27351', '-84.446722', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72202, 'Vanderbilt', 2802, '49795', '989', '45.177305', '-84.572876', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72203, 'Au Train', 2802, '49806', '906', '46.39897', '-86.788678', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72204, 'Channing', 2802, '49815', '906', '46.18306', '-87.992132', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72205, 'Curtis', 2802, '49820', '906', '46.201834', '-85.75778', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72206, 'Deerton', 2802, '49822', '906', '46.46268', '-86.989832', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72207, 'Ishpeming', 2802, '49849', '906', '46.506235', '-87.728792', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72208, 'Powers', 2802, '49874', '906', '45.709896', '-87.511297', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72209, 'Calumet', 2802, '49913', '906', '47.309617', '-88.131498', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72210, 'Centennial Heights', 2802, '49913', '906', '47.309617', '-88.131498', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72211, 'Centennial Hts', 2802, '49913', '906', '47.309617', '-88.131498', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72212, 'Laurium', 2802, '49913', '906', '47.309617', '-88.131498', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72213, 'Caspian', 2802, '49915', '906', '46.064562', '-88.624775', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72214, 'Webberville', 2802, '48892', '517', '42.644789', '-84.178412', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72215, 'Lansing', 2802, '48908', '517', '42.7298', '-84.5539', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72216, 'Lansing', 2802, '48924', '517', '42.7429', '-84.5549', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72217, 'Kalamazoo', 2802, '49008', '269', '42.265107', '-85.618972', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72218, 'Portage', 2802, '49024', '269', '42.201342', '-85.619294', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72219, 'Coloma', 2802, '49039', '269', '42.1862', '-86.3085', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72220, 'Hagar Shores', 2802, '49039', '269', '42.1862', '-86.3085', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72221, 'Colon', 2802, '49040', '269', '41.98217', '-85.341575', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72222, 'Comstock', 2802, '49041', '517', '42.2869', '-85.5134', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72223, 'Constantine', 2802, '49042', '269', '41.852223', '-85.667658', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72224, 'Grand Jct', 2802, '49056', '616', '42.400037', '-86.065754', '2018-11-29 05:14:18', '2018-11-29 05:14:18'),\n(72225, 'Grand Junction', 2802, '49056', '616', '42.400037', '-86.065754', '2018-11-29 05:14:19', '2018-11-29 05:14:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(72226, 'Hartford', 2802, '49057', '269', '42.171966', '-86.156706', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72227, 'Mendon', 2802, '49072', '269', '42.009104', '-85.471468', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72228, 'Nazareth', 2802, '49074', '269', '42.2584', '-85.5748', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72229, 'Sherwood', 2802, '49089', '517', '42.006827', '-85.219254', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72230, 'South Haven', 2802, '49090', '269', '42.418126', '-86.22021', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72231, 'Tekonsha', 2802, '49092', '517', '42.11328', '-84.963129', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72232, 'Sawyer', 2802, '49125', '269', '41.884356', '-86.589456', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72233, 'Sodus', 2802, '49126', '269', '42.0204', '-86.374506', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72234, 'Hanover', 2802, '49241', '517', '42.102044', '-84.604214', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72235, 'Moscow', 2802, '49257', '517', '42.0495', '-84.5101', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72236, 'Mosherville', 2802, '49258', '517', '42.0603', '-84.6595', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72237, 'Munith', 2802, '49259', '517', '42.372394', '-84.248168', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72238, 'Reading', 2802, '49274', '517', '41.846855', '-84.728401', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72239, 'Blanchard', 2802, '49310', '989', '43.516451', '-85.070042', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72240, 'Millbrook', 2802, '49310', '989', '43.516451', '-85.070042', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72241, 'Remus', 2802, '49340', '989', '43.632975', '-85.0872', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72242, 'Rockford', 2802, '49341', '616', '43.125619', '-85.494244', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72243, 'Sand Lake', 2802, '49343', '616', '43.300922', '-85.509699', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72244, 'Ada', 2802, '49357', '616', '42.9544', '-85.4886', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72245, 'Amway Corp', 2802, '49357', '616', '42.9544', '-85.4886', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72246, 'Ferrysburg', 2802, '49409', '616', '43.0804', '-86.2157', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72247, 'Hudsonville', 2802, '49426', '616', '42.855528', '-85.882484', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72248, 'Jamestown', 2802, '49427', '616', '42.8256', '-85.8425', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72249, 'Meskegon', 2802, '49443', '231', '43.2345', '-86.2484', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72250, 'Muskegon', 2802, '49443', '231', '43.2345', '-86.2484', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72251, 'Lakewood Club', 2802, '49457', '231', '43.368032', '-86.149466', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72252, 'Twin Lake', 2802, '49457', '231', '43.368032', '-86.149466', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72253, 'Walhalla', 2802, '49458', '231', '43.948187', '-86.121819', '2018-11-29 05:14:19', '2018-11-29 05:14:19'),\n(72254, 'Port Sheldon', 2802, '49460', '616', '42.928738', '-86.104413', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72255, 'West Olive', 2802, '49460', '616', '42.928738', '-86.104413', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72256, 'Gr', 2802, '49507', '616', '42.930727', '-85.654184', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72257, 'Grand Rapids', 2802, '49507', '616', '42.930727', '-85.654184', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72258, 'Gr', 2802, '49510', '616', '42.9634', '-85.6681', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72259, 'Grand Rapids', 2802, '49510', '616', '42.9634', '-85.6681', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72260, 'Acme', 2802, '49610', '231', '44.7717', '-85.5015', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72261, 'Mc Bain', 2802, '49657', '231', '44.229114', '-85.171516', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72262, 'Omena', 2802, '49674', '231', '45.0557', '-85.5888', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72263, 'Reed City', 2802, '49677', '231', '43.887088', '-85.508418', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72264, 'Dafter', 2802, '49724', '906', '46.327984', '-84.390608', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72265, 'De Tour Village', 2802, '49725', '906', '46.008748', '-84.005966', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72266, 'De Tour Vlle', 2802, '49725', '906', '46.008748', '-84.005966', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72267, 'Hawks', 2802, '49743', '989', '45.277225', '-83.871755', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72268, 'Bois Blanc Is', 2802, '49775', '231', '45.770014', '-84.47316', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72269, 'Bois Blanc Island', 2802, '49775', '231', '45.770014', '-84.47316', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72270, 'Point Aux Pin', 2802, '49775', '231', '45.770014', '-84.47316', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72271, 'Pointe Aux Pins', 2802, '49775', '231', '45.770014', '-84.47316', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72272, 'Posen', 2802, '49776', '989', '45.245711', '-83.64236', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72273, 'Tower', 2802, '49792', '989', '45.343677', '-84.283802', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72274, 'Trout Lake', 2802, '49793', '906', '46.224045', '-85.077562', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72275, 'Big Bay', 2802, '49808', '906', '46.698568', '-87.866464', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72276, 'Eben Jct', 2802, '49825', '906', '46.365695', '-87.001723', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72277, 'Gulliver', 2802, '49840', '906', '46.125405', '-85.990386', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72278, 'Ishpeming', 2802, '49865', '906', '46.4887', '-87.6678', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72279, 'National Mine', 2802, '49865', '906', '46.4887', '-87.6678', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72280, 'Republic', 2802, '49879', '906', '46.37642', '-88.033474', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72281, 'Greenland', 2802, '49929', '906', '46.778662', '-89.09861', '2018-11-29 05:14:20', '2018-11-29 05:14:20'),\n(72282, 'Houghton', 2802, '49931', '906', '47.110676', '-88.58301', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72283, 'South Range', 2802, '49963', '906', '47.057362', '-88.644144', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72284, 'Toivola', 2802, '49965', '906', '46.961603', '-88.837913', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72285, 'Sault Sainte Marie', 2802, '49784', '906', '46.2376', '-84.5006', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72286, 'Chippewa Temp Correction Fac', 2802, '49785', '906', '46.2433', '-84.4988', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72287, 'Kincheloe', 2802, '49785', '906', '46.2433', '-84.4988', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72288, 'Sault S Marie', 2802, '49785', '906', '46.2433', '-84.4988', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72289, 'Sault Sainte Marie', 2802, '49785', '906', '46.2433', '-84.4988', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72290, 'Wolverine', 2802, '49799', '231', '45.287662', '-84.568491', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72291, 'Iron Mountain', 2802, '49802', '906', '45.801355', '-88.071093', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72292, 'Kingsford', 2802, '49802', '906', '45.801355', '-88.071093', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72293, 'Chatham', 2802, '49816', '906', '46.253262', '-86.85564', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72294, 'Limestone', 2802, '49816', '906', '46.253262', '-86.85564', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72295, 'Garden', 2802, '49835', '906', '45.693766', '-86.621812', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72296, 'Newberry', 2802, '49868', '906', '46.456692', '-85.411024', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72297, 'Norway', 2802, '49870', '906', '45.804488', '-87.924341', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72298, 'Skandia', 2802, '49885', '906', '46.340919', '-87.169232', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72299, 'Spalding', 2802, '49886', '906', '45.732825', '-87.478831', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72300, 'Ahmeek', 2802, '49901', '906', '47.304527', '-88.397461', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72301, 'Alpha', 2802, '49902', '906', '46.046692', '-88.377426', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72302, 'Chassell', 2802, '49916', '906', '46.978606', '-88.599404', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72303, 'Covington', 2802, '49919', '906', '46.506941', '-88.418886', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72304, 'Hubbell', 2802, '49934', '906', '47.166223', '-88.442492', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72305, 'Eagle Harbor', 2802, '49950', '906', '47.376737', '-88.101041', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72306, 'Eagle River', 2802, '49950', '906', '47.376737', '-88.101041', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72307, 'Mohawk', 2802, '49950', '906', '47.376737', '-88.101041', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72308, 'Ontonagon', 2802, '49953', '906', '46.811636', '-89.4103', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72309, 'Glenn', 2802, '49416', '269', '42.5204', '-86.2276', '2018-11-29 05:14:21', '2018-11-29 05:14:21'),\n(72310, 'Grand Haven', 2802, '49417', '616', '43.019593', '-86.123498', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72311, 'Pullman', 2802, '49450', '269', '42.487939', '-86.061572', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72312, 'Rothbury', 2802, '49452', '231', '43.512916', '-86.277001', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72313, 'Gr', 2802, '49518', '616', '42.9634', '-85.6681', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72314, 'Grand Rapids', 2802, '49518', '616', '42.9634', '-85.6681', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72315, 'Kentwood', 2802, '49518', '616', '42.9634', '-85.6681', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72316, 'Gr', 2802, '49519', '616', '42.898562', '-85.719226', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72317, 'Grand Rapids', 2802, '49519', '616', '42.898562', '-85.719226', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72318, 'Wyoming', 2802, '49519', '616', '42.898562', '-85.719226', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72319, 'Benzonia', 2802, '49616', '231', '44.577997', '-86.05958', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72320, 'Beulah', 2802, '49617', '231', '44.630214', '-86.026991', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72321, 'Fife Lake', 2802, '49633', '231', '44.567493', '-85.142084', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72322, 'Frankfort', 2802, '49635', '231', '44.624738', '-86.189402', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72323, 'Kingsley', 2802, '49649', '231', '44.566624', '-85.53485', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72324, 'Lake Ann', 2802, '49650', '231', '44.73367', '-85.877032', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72325, 'Lake City', 2802, '49651', '231', '44.381882', '-85.100428', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72326, 'Moorestown', 2802, '49651', '231', '44.381882', '-85.100428', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72327, 'Mayfield', 2802, '49666', '231', '44.638816', '-85.556226', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72328, 'Peshawbestown', 2802, '49682', '231', '44.966041', '-85.641318', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72329, 'Suttons Bay', 2802, '49682', '231', '44.966041', '-85.641318', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72330, 'Traverse City', 2802, '49685', '231', '44.7632', '-85.6206', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72331, 'Barlow Branch', 2802, '49686', '231', '44.809606', '-85.483822', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72332, 'Traverse City', 2802, '49686', '231', '44.809606', '-85.483822', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72333, 'Kinross', 2802, '49752', '906', '46.381443', '-84.801704', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72334, 'Lachine', 2802, '49753', '989', '45.024438', '-83.761254', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72335, 'Paradise', 2802, '49768', '906', '46.595698', '-85.095508', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72336, 'Chippewa Reg Correction Fac', 2802, '49784', '906', '46.2376', '-84.5006', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72337, 'Kincheloe', 2802, '49784', '906', '46.2376', '-84.5006', '2018-11-29 05:14:22', '2018-11-29 05:14:22'),\n(72338, 'Sault S Marie', 2802, '49784', '906', '46.2376', '-84.5006', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72339, 'Ann Arbor', 2802, '48109', '734', '42.285638', '-83.71673', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72340, 'U Of M', 2802, '48109', '734', '42.285638', '-83.71673', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72341, 'Belleville', 2802, '48111', '734', '42.175256', '-83.475323', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72342, 'Roulo', 2802, '48111', '734', '42.175256', '-83.475323', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72343, 'Sumpter Twp', 2802, '48111', '734', '42.175256', '-83.475323', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72344, 'Van Buren Twp', 2802, '48111', '734', '42.175256', '-83.475323', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72345, 'Dearborn Heights', 2802, '48125', '313', '42.28903', '-83.263332', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72346, 'Dearborn Hts', 2802, '48125', '313', '42.28903', '-83.263332', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72347, 'Brownstown', 2802, '48134', '734', '42.108957', '-83.298462', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72348, 'Brownstown Township', 2802, '48134', '734', '42.108957', '-83.298462', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72349, 'Brownstown Twp', 2802, '48134', '734', '42.108957', '-83.298462', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72350, 'Brownstwn Twp', 2802, '48134', '734', '42.108957', '-83.298462', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72351, 'Flat Rock', 2802, '48134', '734', '42.108957', '-83.298462', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72352, 'Livonia', 2802, '48150', '734', '42.369196', '-83.372184', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72353, 'Wayne', 2802, '48184', '734', '42.262736', '-83.394302', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72354, 'Detroit', 2802, '48225', '313', '42.436058', '-82.931724', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72355, 'Harper Woods', 2802, '48225', '313', '42.436058', '-82.931724', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72356, 'Detroit', 2802, '48236', '313', '42.421354', '-82.898473', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72357, 'Grosse Pointe', 2802, '48236', '313', '42.421354', '-82.898473', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72358, 'Grosse Pointe Farms', 2802, '48236', '313', '42.421354', '-82.898473', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72359, 'Grosse Pointe Park', 2802, '48236', '313', '42.421354', '-82.898473', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72360, 'Grosse Pointe Shores', 2802, '48236', '313', '42.421354', '-82.898473', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72361, 'Grosse Pointe Woods', 2802, '48236', '313', '42.421354', '-82.898473', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72362, 'Detroit', 2802, '48243', '313', '42.3394', '-83.0368', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72363, 'Detroit', 2802, '48266', '313', '42.3317', '-83.0456', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72364, 'Kelly Services Inc', 2802, '48266', '313', '42.3317', '-83.0456', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72365, 'Comerica Incorporated', 2802, '48275', '313', '42.3317', '-83.0456', '2018-11-29 05:14:23', '2018-11-29 05:14:23'),\n(72366, 'Detroit', 2802, '48275', '313', '42.3317', '-83.0456', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72367, 'Shelby Township', 2802, '48318', '586', '42.5959', '-83.02', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72368, 'Shelby Twp', 2802, '48318', '586', '42.5959', '-83.02', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72369, 'Utica', 2802, '48318', '586', '42.5959', '-83.02', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72370, 'Waterford', 2802, '48327', '248', '42.645718', '-83.408139', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72371, 'Waterford Township', 2802, '48327', '248', '42.645718', '-83.408139', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72372, 'Davisburg', 2802, '48350', '248', '42.749776', '-83.535767', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72373, 'Springfield Township', 2802, '48350', '248', '42.749776', '-83.535767', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72374, 'Springfld Twp', 2802, '48350', '248', '42.749776', '-83.535767', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72375, 'Oxford', 2802, '48370', '248', '42.838249', '-83.200787', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72376, 'White Lake', 2802, '48386', '248', '42.659479', '-83.478481', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72377, 'Atlas', 2802, '48411', '810', '42.9379', '-83.5347', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72378, 'Byron', 2802, '48418', '810', '42.804592', '-83.9817', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72379, 'Forestville', 2802, '48434', '989', '43.660744', '-82.612387', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72380, 'Port Hope', 2802, '48468', '989', '43.951838', '-82.773679', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72381, 'Saginaw', 2802, '48602', '989', '43.416637', '-83.971308', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72382, 'Saginaw', 2802, '48609', '989', '43.403004', '-84.073212', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72383, 'Edenville', 2802, '48620', '989', '43.806264', '-84.379598', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72384, 'Harrison', 2802, '48625', '989', '44.03111', '-84.846191', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72385, 'Pinconning', 2802, '48650', '989', '43.845702', '-84.022658', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72386, 'Sterling', 2802, '48659', '989', '44.073055', '-84.046867', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72387, 'Clifford', 2802, '48727', '989', '43.354156', '-83.184154', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72388, 'Long Lake', 2802, '48743', '989', '44.440101', '-83.877519', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72389, 'Owendale', 2802, '48754', '989', '43.716358', '-83.23759', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72390, 'South Branch', 2802, '48761', '989', '44.560964', '-83.886812', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72391, 'Tuscola', 2802, '48768', '989', '43.367734', '-83.560668', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72392, 'Vassar', 2802, '48768', '989', '43.367734', '-83.560668', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72393, 'Mount Pleasant', 2802, '48804', '989', '43.5975', '-84.7678', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72394, 'Mt Pleasant', 2802, '48804', '989', '43.5975', '-84.7678', '2018-11-29 05:14:24', '2018-11-29 05:14:24'),\n(72395, 'Belding', 2802, '48809', '616', '43.049994', '-85.223428', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72396, 'De Witt', 2802, '48820', '517', '42.85674', '-84.591418', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72397, 'Dewitt', 2802, '48820', '517', '42.85674', '-84.591418', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72398, 'Eaton Rapids', 2802, '48827', '517', '42.509374', '-84.669003', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72399, 'Fenwick', 2802, '48834', '989', '43.097462', '-85.05527', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72400, 'Fowlerville', 2802, '48836', '517', '42.664266', '-84.060503', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72401, 'Greenville', 2802, '48838', '616', '43.208532', '-85.27232', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72402, 'Howell', 2802, '48843', '517', '42.572706', '-83.910154', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72403, 'Hubbardston', 2802, '48845', '989', '43.088785', '-84.860698', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72404, 'Mcbride', 2802, '48852', '989', '43.355314', '-85.043294', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72405, 'Mcbrides', 2802, '48852', '989', '43.355314', '-85.043294', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72406, 'Central Michigan University', 2802, '48859', '989', '43.5975', '-84.7675', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72407, 'Mount Pleasant', 2802, '48859', '989', '43.5975', '-84.7675', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72408, 'Mt Pleasant', 2802, '48859', '989', '43.5975', '-84.7675', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72409, 'Mulliken', 2802, '48861', '517', '42.729094', '-84.92594', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72410, 'Riverdale', 2802, '48877', '989', '43.397306', '-84.84569', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72411, 'Stanton', 2802, '48888', '989', '43.314443', '-85.101734', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72412, 'Lake Isabella', 2802, '48893', '989', '43.68285', '-84.967867', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72413, 'Weidman', 2802, '48893', '989', '43.68285', '-84.967867', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72414, 'Kalamazoo', 2802, '49004', '269', '42.354367', '-85.570464', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72415, 'Parchment', 2802, '49004', '269', '42.354367', '-85.570464', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72416, 'Bangor', 2802, '49013', '269', '42.31601', '-86.085195', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72417, 'Breedsville', 2802, '49027', '269', '42.332144', '-86.089282', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72418, 'Covert', 2802, '49043', '269', '42.287966', '-86.268466', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72419, 'Martin', 2802, '49070', '269', '42.543848', '-85.622284', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72420, 'Vandalia', 2802, '49095', '269', '41.902776', '-85.877027', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72421, 'Berrien Center', 2802, '49102', '269', '41.952942', '-86.272202', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72422, 'Berrien Ctr', 2802, '49102', '269', '41.952942', '-86.272202', '2018-11-29 05:14:25', '2018-11-29 05:14:25'),\n(72423, 'Andrews University', 2802, '49104', '269', '41.962557', '-86.359152', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72424, 'Berrien Sprgs', 2802, '49104', '269', '41.962557', '-86.359152', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72425, 'Berrien Springs', 2802, '49104', '269', '41.962557', '-86.359152', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72426, 'Homer', 2802, '49245', '517', '42.151446', '-84.826225', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72427, 'Pleasant Lake', 2802, '49272', '517', '42.387806', '-84.348444', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72428, 'Sand Creek', 2802, '49279', '517', '41.778266', '-84.112034', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72429, 'Tecumseh', 2802, '49286', '517', '42.011412', '-83.916956', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72430, 'Waldron', 2802, '49288', '517', '41.735833', '-84.447344', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72431, 'Washingtn Twp', 2802, '48094', '586', '42.738114', '-83.037265', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72432, 'Washington', 2802, '48094', '586', '42.738114', '-83.037265', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72433, 'Washington Township', 2802, '48094', '586', '42.738114', '-83.037265', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72434, 'Washington Twp', 2802, '48094', '586', '42.738114', '-83.037265', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72435, 'Azalia', 2802, '48110', '734', '42.0189', '-83.6659', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72436, 'Dearborn', 2802, '48126', '313', '42.327361', '-83.191036', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72437, 'Lambertville', 2802, '48144', '734', '41.75305', '-83.629576', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72438, 'Manchester', 2802, '48158', '734', '42.161634', '-84.02147', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72439, 'Podunk', 2802, '48158', '734', '42.161634', '-84.02147', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72440, 'Sharon', 2802, '48158', '734', '42.161634', '-84.02147', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72441, 'Sharon Hollow', 2802, '48158', '734', '42.161634', '-84.02147', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72442, 'Westland', 2802, '48185', '734', '42.332055', '-83.371314', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72443, 'Detroit', 2802, '48208', '313', '42.34885', '-83.090506', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72444, 'Detroit', 2802, '48228', '313', '42.354692', '-83.213206', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72445, 'Detroit', 2802, '48269', '313', '42.3317', '-83.0456', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72446, 'Dte Energy Brm', 2802, '48269', '313', '42.3317', '-83.0456', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72447, 'Chase Bank', 2802, '48278', '313', '42.3317', '-83.0456', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72448, 'Detroit', 2802, '48278', '313', '42.3317', '-83.0456', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72449, 'Shelby Township', 2802, '48317', '586', '42.645084', '-83.054977', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72450, 'Shelby Twp', 2802, '48317', '586', '42.645084', '-83.054977', '2018-11-29 05:14:26', '2018-11-29 05:14:26'),\n(72451, 'Utica', 2802, '48317', '586', '42.645084', '-83.054977', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72452, 'Farmingtn Hls', 2802, '48335', '248', '42.462728', '-83.403556', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72453, 'Farmington', 2802, '48335', '248', '42.462728', '-83.403556', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72454, 'Farmington Hills', 2802, '48335', '248', '42.462728', '-83.403556', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72455, 'Farmington Hls', 2802, '48335', '248', '42.462728', '-83.403556', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72456, 'Lake Orion', 2802, '48360', '248', '42.745454', '-83.27304', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72457, 'Orion', 2802, '48360', '248', '42.745454', '-83.27304', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72458, 'Orion Township', 2802, '48360', '248', '42.745454', '-83.27304', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72459, 'Orion Twp', 2802, '48360', '248', '42.745454', '-83.27304', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72460, 'Addison Township', 2802, '48367', '248', '42.843706', '-83.141601', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72461, 'Addison Twp', 2802, '48367', '248', '42.843706', '-83.141601', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72462, 'Leonard', 2802, '48367', '248', '42.843706', '-83.141601', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72463, 'Novi', 2802, '48376', '248', '42.4806', '-83.4757', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72464, 'Imlay', 2802, '48444', '810', '43.064294', '-83.049026', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72465, 'Imlay City', 2802, '48444', '810', '43.064294', '-83.049026', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72466, 'Mount Morris', 2802, '48458', '810', '43.125755', '-83.686085', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72467, 'Grindstone City', 2802, '48467', '989', '44.003477', '-82.968826', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72468, 'Pointe Aux Barques', 2802, '48467', '989', '44.003477', '-82.968826', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72469, 'Port Austin', 2802, '48467', '989', '44.003477', '-82.968826', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72470, 'Vernon', 2802, '48476', '989', '42.937555', '-84.031648', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72471, 'Burton', 2802, '48519', '810', '42.985912', '-83.610136', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72472, 'Flint', 2802, '48519', '810', '42.985912', '-83.610136', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72473, 'Southeast', 2802, '48519', '810', '42.985912', '-83.610136', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72474, 'Flint', 2802, '48551', '810', '43.0125', '-83.6878', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72475, 'Gm Truck And Bus', 2802, '48551', '810', '43.0125', '-83.6878', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72476, 'Beaverton', 2802, '48612', '989', '43.884262', '-84.456062', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72477, 'Prudenville', 2802, '48651', '989', '44.251117', '-84.611863', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72478, 'Dow Chemical Usa', 2802, '48667', '989', '43.6157', '-84.2472', '2018-11-29 05:14:27', '2018-11-29 05:14:27'),\n(72479, 'Midland', 2802, '48667', '989', '43.6157', '-84.2472', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72480, 'Glennie', 2802, '48737', '989', '44.543368', '-83.699953', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72481, 'Mayville', 2802, '48744', '989', '43.351882', '-83.36009', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72482, 'Silverwood', 2802, '48760', '989', '43.295197', '-83.260162', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72483, 'Frankenmuth', 2802, '48787', '989', '43.3318', '-83.7383', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72484, 'Frankenmuth Mutual Ins Co', 2802, '48787', '989', '43.3318', '-83.7383', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72485, 'Grand Ledge', 2802, '48837', '517', '42.748472', '-84.769114', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72486, 'Ionia', 2802, '48846', '616', '42.981656', '-85.0551', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72487, 'Maple Rapids', 2802, '48853', '989', '43.10272', '-84.692751', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72488, 'Perrinton', 2802, '48871', '989', '43.161165', '-84.689516', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72489, 'Potterville', 2802, '48876', '517', '42.643702', '-84.739486', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72490, 'Lansing', 2802, '48912', '517', '42.742936', '-84.525024', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72491, 'Lansing', 2802, '48919', '517', '42.7327', '-84.5558', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72492, 'Lansing State Journal', 2802, '48919', '517', '42.7327', '-84.5558', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72493, 'Jackson National Life Ins Co', 2802, '48951', '517', '42.7327', '-84.5558', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72494, 'Lansing', 2802, '48951', '517', '42.7327', '-84.5558', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72495, 'Lansing', 2802, '48980', '517', '42.7327', '-84.5558', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72496, 'Vehicle License Plates', 2802, '48980', '517', '42.7327', '-84.5558', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72497, 'Kalamazoo', 2802, '49003', '269', '42.2918', '-85.5874', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72498, 'Kalamazoo', 2802, '49005', '269', '42.2918', '-85.5874', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72499, 'Bellevue', 2802, '49021', '269', '42.428738', '-85.097639', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72500, 'Battle Creek', 2802, '49037', '269', '42.332676', '-85.241162', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72501, 'Springfield', 2802, '49037', '269', '42.332676', '-85.241162', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72502, 'Delton', 2802, '49046', '269', '42.5156', '-85.385524', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72503, 'Galesburg', 2802, '49053', '269', '42.284882', '-85.41088', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72504, 'Kendall', 2802, '49062', '269', '42.3614', '-85.8135', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72505, 'Union City', 2802, '49094', '517', '42.059075', '-85.11405', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72506, 'Berrien Spgs', 2802, '49103', '269', '41.943002', '-86.370148', '2018-11-29 05:14:28', '2018-11-29 05:14:28'),\n(72507, 'Berrien Sprgs', 2802, '49103', '269', '41.943002', '-86.370148', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72508, 'Berrien Springs', 2802, '49103', '269', '41.943002', '-86.370148', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72509, 'Edwardsburg', 2802, '49112', '269', '41.818513', '-86.01239', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72510, 'Concord', 2802, '49237', '517', '42.176798', '-84.643852', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72511, 'Frontier', 2802, '49239', '517', '41.7818', '-84.6044', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72512, 'Horton', 2802, '49246', '517', '42.114716', '-84.51361', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72513, 'Parma', 2802, '49269', '517', '42.298454', '-84.597639', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72514, 'Bailey', 2802, '49303', '231', '43.271408', '-85.849262', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72515, 'Barryton', 2802, '49305', '989', '43.751872', '-85.143275', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72516, 'Brohman', 2802, '49312', '231', '43.70062', '-85.823725', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72517, 'Croton', 2802, '49337', '231', '43.432921', '-85.699106', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72518, 'Newaygo', 2802, '49337', '231', '43.432921', '-85.699106', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72519, 'Ada', 2802, '49355', '616', '42.9544', '-85.4886', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72520, 'Amway Corp', 2802, '49355', '616', '42.9544', '-85.4886', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72521, 'Hamilton', 2802, '49419', '616', '42.687999', '-85.986863', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72522, 'Georgetown Township', 2802, '49428', '616', '42.919562', '-85.841749', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72523, 'Georgetown Tp', 2802, '49428', '616', '42.919562', '-85.841749', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72524, 'Georgetown Twp', 2802, '49428', '616', '42.919562', '-85.841749', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72525, 'Jenison', 2802, '49428', '616', '42.919562', '-85.841749', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72526, 'Montague', 2802, '49437', '231', '43.452873', '-86.344889', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72527, 'Meskegon', 2802, '49444', '231', '43.168832', '-86.19416', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72528, 'Muskegon', 2802, '49444', '231', '43.168832', '-86.19416', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72529, 'Muskegon Heights', 2802, '49444', '231', '43.168832', '-86.19416', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72530, 'Muskegon Hts', 2802, '49444', '231', '43.168832', '-86.19416', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72531, 'Silver Lake', 2802, '49436', '231', '43.689679', '-86.469367', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72532, 'Meskegon', 2802, '49445', '231', '43.298684', '-86.272849', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72533, 'Muskegon', 2802, '49445', '231', '43.298684', '-86.272849', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72534, 'N Muskegon', 2802, '49445', '231', '43.298684', '-86.272849', '2018-11-29 05:14:29', '2018-11-29 05:14:29'),\n(72535, 'North Muskegon', 2802, '49445', '231', '43.298684', '-86.272849', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72536, 'Gr', 2802, '49504', '616', '42.977317', '-85.712224', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72537, 'Grand Rapids', 2802, '49504', '616', '42.977317', '-85.712224', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72538, 'Standale', 2802, '49504', '616', '42.977317', '-85.712224', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72539, 'Cascade', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72540, 'Cascade Twp', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72541, 'East Grand Ra', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72542, 'East Grand Rapids', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72543, 'Forest Hills', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72544, 'Gr', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72545, 'Grand Rapids', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72546, 'Kentwood', 2802, '49506', '616', '42.943706', '-85.616918', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72547, 'Buckley', 2802, '49620', '231', '44.533619', '-85.684728', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72548, 'Harrietta', 2802, '49638', '231', '44.298912', '-85.79065', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72549, 'Leland', 2802, '49654', '231', '45.02552', '-85.749808', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72550, 'North Manitou', 2802, '49654', '231', '45.02552', '-85.749808', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72551, 'South Manitou', 2802, '49654', '231', '45.02552', '-85.749808', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72552, 'Luther', 2802, '49656', '231', '44.063191', '-85.702793', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72553, 'Sears', 2802, '49679', '231', '43.876477', '-85.155855', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72554, 'Tustin', 2802, '49688', '231', '44.12507', '-85.445086', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72555, 'Alanson', 2802, '49706', '231', '45.441578', '-84.768636', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72556, 'Charlevoix', 2802, '49720', '231', '45.271394', '-85.232702', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72557, 'Conway', 2802, '49722', '231', '45.41602', '-84.866628', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72558, 'Ellsworth', 2802, '49729', '231', '45.162339', '-85.29322', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72559, 'Grayling', 2802, '49738', '989', '44.71357', '-84.650506', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72560, 'Bay Harbor', 2802, '49770', '231', '45.342256', '-84.913504', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72561, 'Bay View', 2802, '49770', '231', '45.342256', '-84.913504', '2018-11-29 05:14:30', '2018-11-29 05:14:30'),\n(72562, 'Petoskey', 2802, '49770', '231', '45.342256', '-84.913504', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72563, 'Rogers City', 2802, '49779', '989', '45.402774', '-83.778959', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72564, 'Saint Ignace', 2802, '49781', '906', '45.997645', '-84.650028', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72565, 'Washingtn Twp', 2802, '48095', '586', '42.780028', '-83.039467', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72566, 'Washington', 2802, '48095', '586', '42.780028', '-83.039467', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72567, 'Washington Township', 2802, '48095', '586', '42.780028', '-83.039467', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72568, 'Washington Twp', 2802, '48095', '586', '42.780028', '-83.039467', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72569, 'Brockway', 2802, '48097', '810', '43.137438', '-82.827554', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72570, 'Brockway Township', 2802, '48097', '810', '43.137438', '-82.827554', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72571, 'Lynn', 2802, '48097', '810', '43.137438', '-82.827554', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72572, 'Lynn Township', 2802, '48097', '810', '43.137438', '-82.827554', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72573, 'Yale', 2802, '48097', '810', '43.137438', '-82.827554', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72574, 'Brighton', 2802, '48114', '810', '42.577748', '-83.752801', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72575, 'Brighton Twp', 2802, '48114', '810', '42.577748', '-83.752801', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72576, 'Genoa Twp', 2802, '48114', '810', '42.577748', '-83.752801', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72577, 'Hartland Township', 2802, '48114', '810', '42.577748', '-83.752801', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72578, 'La Salle', 2802, '48145', '734', '41.852978', '-83.463342', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72579, 'Lincoln Park', 2802, '48146', '313', '42.246204', '-83.18206', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72580, 'Monroe', 2802, '48162', '734', '41.949764', '-83.44536', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72581, 'South Lyon', 2802, '48178', '248', '42.435104', '-83.65435', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72582, 'Taylor', 2802, '48180', '313', '42.225572', '-83.268546', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72583, 'Superior Township', 2802, '48198', '734', '42.270378', '-83.599779', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72584, 'Superior Twp', 2802, '48198', '734', '42.270378', '-83.599779', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72585, 'Willow Run', 2802, '48198', '734', '42.270378', '-83.599779', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72586, 'Ypsilanti', 2802, '48198', '734', '42.270378', '-83.599779', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72587, 'Detroit', 2802, '48213', '313', '42.396359', '-82.997009', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72588, 'Detroit', 2802, '48214', '313', '42.367187', '-82.987534', '2018-11-29 05:14:31', '2018-11-29 05:14:31'),\n(72589, 'Detroit', 2802, '48231', '313', '42.3317', '-83.0456', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72590, 'St Heights', 2802, '48314', '586', '42.609277', '-83.051604', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72591, 'Sterling Heights', 2802, '48314', '586', '42.609277', '-83.051604', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72592, 'Sterling Hts', 2802, '48314', '586', '42.609277', '-83.051604', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72593, 'Shelby Township', 2802, '48315', '586', '42.671066', '-83.00109', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72594, 'Shelby Twp', 2802, '48315', '586', '42.671066', '-83.00109', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72595, 'Utica', 2802, '48315', '586', '42.671066', '-83.00109', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72596, 'Oakland', 2802, '48363', '248', '42.769698', '-83.159413', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72597, 'Oakland Township', 2802, '48363', '248', '42.769698', '-83.159413', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72598, 'Attica', 2802, '48412', '810', '43.063054', '-83.167744', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72599, 'Lum', 2802, '48412', '810', '43.063054', '-83.167744', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72600, 'Filion', 2802, '48432', '989', '43.899936', '-82.979258', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72601, 'Brandon', 2802, '48462', '248', '42.844753', '-83.425758', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72602, 'Ortonville', 2802, '48462', '248', '42.844753', '-83.425758', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72603, 'Grand Blanc', 2802, '48480', '810', '42.92595', '-83.63261', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72604, 'Burton', 2802, '48529', '810', '42.974578', '-83.662852', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72605, 'Flint', 2802, '48529', '810', '42.974578', '-83.662852', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72606, 'Southeast', 2802, '48529', '810', '42.974578', '-83.662852', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72607, 'Flint', 2802, '48532', '810', '43.013608', '-83.797061', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72608, 'Bentley', 2802, '48613', '989', '43.934116', '-84.145243', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72609, 'Chesaning', 2802, '48616', '989', '43.197824', '-84.130474', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72610, 'Hghtn Lk Hts', 2802, '48630', '989', '44.324939', '-84.775439', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72611, 'Houghton Lake Heights', 2802, '48630', '989', '44.324939', '-84.775439', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72612, 'Htn Lk Hghts', 2802, '48630', '989', '44.324939', '-84.775439', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72613, 'East Tawas', 2802, '48730', '989', '44.346568', '-83.477964', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72614, 'Essexville', 2802, '48732', '989', '43.606858', '-83.773683', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72615, 'Fairgrove', 2802, '48733', '989', '43.538787', '-83.573782', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72616, 'Munger', 2802, '48747', '989', '43.529278', '-83.758225', '2018-11-29 05:14:32', '2018-11-29 05:14:32'),\n(72617, 'National City', 2802, '48748', '989', '44.300968', '-83.683208', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72618, 'Alabaster', 2802, '48763', '989', '44.225398', '-83.619756', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72619, 'Tawas City', 2802, '48763', '989', '44.225398', '-83.619756', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72620, 'Eureka', 2802, '48833', '989', '43.1027', '-84.5128', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72621, 'Lakeview', 2802, '48850', '989', '43.44553', '-85.275905', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72622, 'Owosso', 2802, '48867', '989', '42.996297', '-84.17578', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72623, 'Shepherd', 2802, '48883', '989', '43.564276', '-84.696997', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72624, 'Woodland', 2802, '48897', '269', '42.70235', '-85.133603', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72625, 'Battle Creek', 2802, '49014', '269', '42.30294', '-85.10537', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72626, 'Battle Creek', 2802, '49016', '269', '42.34569', '-85.288818', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72627, 'Battle Creek', 2802, '49017', '269', '42.391149', '-85.196626', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72628, 'Cassopolis', 2802, '49031', '269', '41.900533', '-85.992925', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72629, 'Centreville', 2802, '49032', '269', '41.911663', '-85.471374', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72630, 'East Leroy', 2802, '49051', '517', '42.177817', '-85.22726', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72631, 'Lawton', 2802, '49065', '269', '42.134995', '-85.842368', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72632, 'Marcellus', 2802, '49067', '269', '42.033794', '-85.802736', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72633, 'Watervliet', 2802, '49098', '269', '42.175551', '-86.2514', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72634, 'Baroda', 2802, '49101', '269', '41.949652', '-86.480229', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72635, 'Grand Beach', 2802, '49117', '269', '41.79393', '-86.746664', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72636, 'Michiana', 2802, '49117', '269', '41.79393', '-86.746664', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72637, 'New Buffalo', 2802, '49117', '269', '41.79393', '-86.746664', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72638, 'Leslie', 2802, '49251', '517', '42.469966', '-84.41181', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72639, 'Somerset', 2802, '49281', '517', '42.023132', '-84.37934', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72640, 'Wayland', 2802, '49348', '269', '42.691897', '-85.620581', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72641, 'Rockford', 2802, '49351', '616', '43.12', '-85.56', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72642, 'Wolverine World Wide', 2802, '49351', '616', '43.12', '-85.56', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72643, 'Allendale', 2802, '49401', '616', '42.9792', '-85.938272', '2018-11-29 05:14:33', '2018-11-29 05:14:33'),\n(72644, 'Branch', 2802, '49402', '231', '43.942477', '-86.039362', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72645, 'Grandville', 2802, '49418', '616', '42.883384', '-85.782519', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72646, 'Wyoming', 2802, '49418', '616', '42.883384', '-85.782519', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72647, 'Macatawa', 2802, '49434', '616', '42.76903', '-86.203442', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72648, 'Business Reply Mail', 2802, '49502', '616', '42.9634', '-85.6681', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72649, 'Grand Rapids', 2802, '49502', '616', '42.9634', '-85.6681', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72650, 'Gr', 2802, '49516', '616', '42.9634', '-85.6681', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72651, 'Grand Rapids', 2802, '49516', '616', '42.9634', '-85.6681', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72652, 'Grand Rapids', 2802, '49599', '616', '42.9753', '-85.6835', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72653, 'Cadillac', 2802, '49601', '231', '44.257048', '-85.547916', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72654, 'Hoxeyville', 2802, '49601', '231', '44.257048', '-85.547916', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72655, 'Boon', 2802, '49618', '231', '44.296876', '-85.613903', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72656, 'Falmouth', 2802, '49632', '231', '44.242162', '-84.973444', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72657, 'Filer City', 2802, '49634', '231', '44.215162', '-86.289497', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72658, 'Thompsonville', 2802, '49683', '231', '44.533472', '-85.91867', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72659, 'Traverse City', 2802, '49684', '231', '44.783192', '-85.724854', '2018-11-29 05:14:34', '2018-11-29 05:14:34');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(72660, 'Mackinac City', 2802, '49701', '231', '45.756434', '-84.756265', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72661, 'Mackinaw City', 2802, '49701', '231', '45.756434', '-84.756265', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72662, 'Brutus', 2802, '49716', '231', '45.506632', '-84.720534', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72663, 'Frederic', 2802, '49733', '989', '44.799863', '-84.687804', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72664, 'Gaylord', 2802, '49734', '989', '45.0218', '-84.6776', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72665, 'Goetzville', 2802, '49736', '906', '46.08204', '-84.132955', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72666, 'Stalwart', 2802, '49736', '906', '46.08204', '-84.132955', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72667, 'Johannesburg', 2802, '49751', '989', '45.026832', '-84.37863', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72668, 'Ossineke', 2802, '49766', '989', '44.935204', '-83.43083', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72669, 'Ann Arbor', 2802, '48104', '734', '42.273172', '-83.71418', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72670, 'Pittsfield Twp', 2802, '48104', '734', '42.273172', '-83.71418', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72671, 'Melvindale', 2802, '48122', '313', '42.279863', '-83.179669', '2018-11-29 05:14:34', '2018-11-29 05:14:34'),\n(72672, 'Dearborn', 2802, '48123', '313', '42.3225', '-83.1764', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72673, 'Gregory', 2802, '48137', '734', '42.467421', '-84.050584', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72674, 'Unadilla', 2802, '48137', '734', '42.467421', '-84.050584', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72675, 'Williamsville', 2802, '48137', '734', '42.467421', '-84.050584', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72676, 'Grosse Ile', 2802, '48138', '734', '42.143811', '-83.15646', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72677, 'Hickory Isle', 2802, '48138', '734', '42.143811', '-83.15646', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72678, 'Hamburg', 2802, '48139', '810', '42.452453', '-83.810166', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72679, 'Canton', 2802, '48188', '734', '42.285698', '-83.486003', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72680, 'Canton Twp', 2802, '48188', '734', '42.285698', '-83.486003', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72681, 'Hamburg Twp', 2802, '48189', '734', '42.408075', '-83.794498', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72682, 'Northfield Twp', 2802, '48189', '734', '42.408075', '-83.794498', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72683, 'Whitmore Lake', 2802, '48189', '734', '42.408075', '-83.794498', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72684, 'Detroit', 2802, '48203', '313', '42.417628', '-83.105012', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72685, 'Highland Park', 2802, '48203', '313', '42.417628', '-83.105012', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72686, 'Detroit', 2802, '48207', '313', '42.352278', '-83.003856', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72687, 'Detroit', 2802, '48220', '248', '42.46091', '-83.14074', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72688, 'Ferndale', 2802, '48220', '248', '42.46091', '-83.14074', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72689, 'Royal Oak Twp', 2802, '48220', '248', '42.46091', '-83.14074', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72690, 'Detroit', 2802, '48222', '313', '42.3317', '-83.0456', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72691, 'Detroit River Station', 2802, '48222', '313', '42.3317', '-83.0456', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72692, 'Detroit', 2802, '48223', '313', '42.393912', '-83.246682', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72693, 'Detroit', 2802, '48237', '248', '42.466815', '-83.177805', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72694, 'Oak Park', 2802, '48237', '248', '42.466815', '-83.177805', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72695, 'Detroit', 2802, '48239', '313', '42.374514', '-83.280761', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72696, 'Redford', 2802, '48239', '313', '42.374514', '-83.280761', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72697, 'Redford Twp', 2802, '48239', '313', '42.374514', '-83.280761', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72698, 'Detroit', 2802, '48272', '313', '42.3317', '-83.0456', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72699, 'Remittance Contest', 2802, '48272', '313', '42.3317', '-83.0456', '2018-11-29 05:14:35', '2018-11-29 05:14:35'),\n(72700, 'Auburn Hills', 2802, '48321', '248', '42.6398', '-83.2944', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72701, 'Orchard Lake', 2802, '48324', '248', '42.596153', '-83.38312', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72702, 'W Bloomfield', 2802, '48324', '248', '42.596153', '-83.38312', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72703, 'West Bloomfield', 2802, '48324', '248', '42.596153', '-83.38312', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72704, 'Mi Metro', 2802, '48340', '248', '42.668599', '-83.290343', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72705, 'Pontiac', 2802, '48340', '248', '42.668599', '-83.290343', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72706, 'Highland', 2802, '48356', '248', '42.65408', '-83.590393', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72707, 'Highland Twp', 2802, '48356', '248', '42.65408', '-83.590393', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72708, 'Highland', 2802, '48357', '248', '42.652416', '-83.641182', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72709, 'Highland Twp', 2802, '48357', '248', '42.652416', '-83.641182', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72710, 'Oxford', 2802, '48371', '248', '42.85347', '-83.287209', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72711, 'Union Lake', 2802, '48387', '248', '42.6148', '-83.4467', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72712, 'Commerce', 2802, '48390', '248', '42.552924', '-83.482164', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72713, 'Commerce Township', 2802, '48390', '248', '42.552924', '-83.482164', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72714, 'Commerce Twp', 2802, '48390', '248', '42.552924', '-83.482164', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72715, 'Walled Lake', 2802, '48390', '248', '42.552924', '-83.482164', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72716, 'Wolverine Lake', 2802, '48390', '248', '42.552924', '-83.482164', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72717, 'Wolverine Lk', 2802, '48390', '248', '42.552924', '-83.482164', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72718, 'Croswell', 2802, '48422', '810', '43.257012', '-82.648682', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72719, 'Genesee', 2802, '48437', '810', '43.109226', '-83.623205', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72720, 'Gr Blanc', 2802, '48439', '810', '42.921026', '-83.647429', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72721, 'Grand Blanc', 2802, '48439', '810', '42.921026', '-83.647429', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72722, 'Hadley', 2802, '48440', '810', '42.952923', '-83.404761', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72723, 'Montrose', 2802, '48457', '810', '43.21973', '-83.932924', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72724, 'Rankin', 2802, '48473', '810', '42.942303', '-83.829876', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72725, 'Swartz Creek', 2802, '48473', '810', '42.942303', '-83.829876', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72726, 'Flint', 2802, '48504', '810', '43.052966', '-83.757705', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72727, 'Mott Park', 2802, '48504', '810', '43.052966', '-83.757705', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72728, 'Northwest', 2802, '48504', '810', '43.052966', '-83.757705', '2018-11-29 05:14:36', '2018-11-29 05:14:36'),\n(72729, 'Flint', 2802, '48507', '810', '42.959289', '-83.711557', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72730, 'Flint', 2802, '48554', '810', '43.0125', '-83.6878', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72731, 'Gm Service Parts Operations', 2802, '48554', '810', '43.0125', '-83.6878', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72732, 'Delphi West', 2802, '48555', '810', '43.0125', '-83.6878', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72733, 'Flint', 2802, '48555', '810', '43.0125', '-83.6878', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72734, 'Saginaw', 2802, '48606', '989', '43.4194', '-83.9506', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72735, 'Fairview', 2802, '48621', '989', '44.719348', '-84.000237', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72736, 'Freeland', 2802, '48623', '989', '43.507013', '-84.162473', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72737, 'Gladwin', 2802, '48624', '989', '44.074684', '-84.455655', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72738, 'Midland', 2802, '48641', '989', '43.6157', '-84.2472', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72739, 'Saint Charles', 2802, '48655', '989', '43.291508', '-84.180519', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72740, 'Standish', 2802, '48658', '989', '43.979452', '-83.919222', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72741, 'Dow Chemical Usa', 2802, '48674', '989', '43.6157', '-84.2472', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72742, 'Midland', 2802, '48674', '989', '43.6157', '-84.2472', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72743, 'Barton City', 2802, '48705', '989', '44.694039', '-83.645476', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72744, 'Bay City', 2802, '48708', '989', '43.567206', '-83.822272', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72745, 'Carrollton', 2802, '48724', '989', '43.468524', '-83.922372', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72746, 'Caseville', 2802, '48725', '989', '43.947513', '-83.221402', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72747, 'Port Elizabeth', 2802, '48725', '989', '43.947513', '-83.221402', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72748, 'Pt Elizabeth', 2802, '48725', '989', '43.947513', '-83.221402', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72749, 'Reese', 2802, '48757', '989', '43.486465', '-83.680195', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72750, 'Ashley', 2802, '48806', '989', '43.186749', '-84.489274', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72751, 'East Lansing', 2802, '48823', '517', '42.763243', '-84.438612', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72752, 'East Lansing', 2802, '48824', '517', '42.723418', '-84.477917', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72753, 'Pewamo', 2802, '48873', '989', '42.993224', '-84.838285', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72754, 'Lansing', 2802, '48909', '517', '42.7327', '-84.5558', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72755, 'Lansing', 2802, '48956', '517', '42.7327', '-84.5558', '2018-11-29 05:14:37', '2018-11-29 05:14:37'),\n(72756, 'Mi Department Of Revenue', 2802, '48956', '517', '42.7327', '-84.5558', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72757, 'Bloomingdale', 2802, '49026', '269', '42.378533', '-85.975472', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72758, 'Nashville', 2802, '49073', '517', '42.577605', '-85.142946', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72759, 'Sturgis', 2802, '49091', '269', '41.842598', '-85.435958', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72760, 'Albion', 2802, '49224', '517', '42.294096', '-84.787984', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72761, 'Grass Lake', 2802, '49240', '517', '42.289876', '-84.191422', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72762, 'Hillsdale', 2802, '49242', '517', '41.865118', '-84.603847', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72763, 'Riga', 2802, '49276', '517', '41.79745', '-83.775818', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72764, 'Bitely', 2802, '49309', '231', '43.760464', '-85.865375', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72765, 'Woodland Park', 2802, '49309', '231', '43.760464', '-85.865375', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72766, 'Dorr', 2802, '49323', '616', '42.721536', '-85.78881', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72767, 'Fennville', 2802, '49408', '269', '42.5766', '-86.119918', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72768, 'Fountain', 2802, '49410', '231', '44.012725', '-86.145682', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72769, 'Holland', 2802, '49423', '616', '42.74095', '-86.066024', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72770, 'Holland', 2802, '49424', '616', '42.846908', '-86.125347', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72771, 'Meskegon', 2802, '49440', '231', '43.237426', '-86.253277', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72772, 'Muskegon', 2802, '49440', '231', '43.237426', '-86.253277', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72773, 'Meskegon', 2802, '49441', '231', '43.186901', '-86.272871', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72774, 'Muskegon', 2802, '49441', '231', '43.186901', '-86.272871', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72775, 'Norton Shores', 2802, '49441', '231', '43.186901', '-86.272871', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72776, 'Roosevelt Pk', 2802, '49441', '231', '43.186901', '-86.272871', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72777, 'Christian Reformed Church', 2802, '49560', '616', '42.9634', '-85.6681', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72778, 'Grand Rapids', 2802, '49560', '616', '42.9634', '-85.6681', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72779, 'Interlochen', 2802, '49643', '231', '44.633411', '-85.841286', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72780, 'Karlin', 2802, '49643', '231', '44.633411', '-85.841286', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72781, 'Mancelona', 2802, '49659', '231', '44.922999', '-85.028921', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72782, 'Manistee', 2802, '49660', '231', '44.239211', '-86.198612', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72783, 'Stronach', 2802, '49660', '231', '44.239211', '-86.198612', '2018-11-29 05:14:38', '2018-11-29 05:14:38'),\n(72784, 'Rapid City', 2802, '49676', '231', '44.868952', '-85.285929', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72785, 'Barbeau', 2802, '49710', '906', '46.27335', '-84.191712', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72786, 'East Jordan', 2802, '49727', '231', '45.141158', '-85.060662', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72787, 'Moran', 2802, '49760', '906', '46.05724', '-84.945886', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72788, 'Eben Junction', 2802, '49825', '906', '46.365695', '-87.001723', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72789, 'Michigamme', 2802, '49861', '906', '46.665642', '-87.971359', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72790, 'Felch', 2802, '49877', '906', '46.139292', '-87.728788', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72791, 'Ralph', 2802, '49877', '906', '46.139292', '-87.728788', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72792, 'Baraga', 2802, '49908', '906', '46.835908', '-88.507038', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72793, 'Keweenaw Bay', 2802, '49908', '906', '46.835908', '-88.507038', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72794, 'Bergland', 2802, '49910', '906', '46.592973', '-89.645843', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72795, 'Gay', 2802, '49945', '906', '47.152342', '-88.308284', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72796, 'Lake Linden', 2802, '49945', '906', '47.152342', '-88.308284', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72797, 'Rockland', 2802, '49960', '906', '46.748625', '-89.17168', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72798, 'Bark River', 2802, '49807', '906', '45.80324', '-87.425101', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72799, 'Hardwood', 2802, '49807', '906', '45.80324', '-87.425101', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72800, 'Schaffer', 2802, '49807', '906', '45.80324', '-87.425101', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72801, 'Daggett', 2802, '49821', '906', '45.514516', '-87.605337', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72802, 'Ingalls', 2802, '49848', '906', '45.369574', '-87.64229', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72803, 'Christmas', 2802, '49862', '906', '46.405636', '-86.615385', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72804, 'Forest Lake', 2802, '49862', '906', '46.405636', '-86.615385', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72805, 'Munising', 2802, '49862', '906', '46.405636', '-86.615385', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72806, 'Palmer', 2802, '49871', '906', '46.441588', '-87.579728', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72807, 'Perronville', 2802, '49873', '906', '45.865868', '-87.513168', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72808, 'Cedar River', 2802, '49887', '906', '45.44573', '-87.576352', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72809, 'Stephenson', 2802, '49887', '906', '45.44573', '-87.576352', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72810, 'Wilson', 2802, '49896', '906', '45.659651', '-87.387619', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72811, 'Atlantic Mine', 2802, '49905', '906', '47.105452', '-88.722643', '2018-11-29 05:14:39', '2018-11-29 05:14:39'),\n(72812, 'Bruce Crossing', 2802, '49912', '906', '46.506712', '-89.209587', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72813, 'Bruce Xing', 2802, '49912', '906', '46.506712', '-89.209587', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72814, 'Dodgeville', 2802, '49921', '906', '47.083548', '-88.573177', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72815, 'Houghton', 2802, '49921', '906', '47.083548', '-88.573177', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72816, 'L Anse', 2802, '49946', '906', '46.779425', '-88.24087', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72817, 'L\\' Anse', 2802, '49946', '906', '46.779425', '-88.24087', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72818, 'Lanse', 2802, '49946', '906', '46.779425', '-88.24087', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72819, 'Mass City', 2802, '49948', '906', '46.6874', '-89.025996', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72820, 'Skanee', 2802, '49962', '906', '46.842688', '-88.171475', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72821, 'White Pine', 2802, '49971', '906', '46.726658', '-89.546514', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72822, 'Norton Shores', 2802, '49444', '231', '43.168832', '-86.19416', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72823, 'Shelby', 2802, '49455', '231', '43.61334', '-86.34954', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72824, 'Gr', 2802, '49505', '616', '42.99643', '-85.637043', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72825, 'Grand Rapids', 2802, '49505', '616', '42.99643', '-85.637043', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72826, 'Gr', 2802, '49523', '616', '42.9634', '-85.6681', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72827, 'Grand Rapids', 2802, '49523', '616', '42.9634', '-85.6681', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72828, 'Empire', 2802, '49630', '231', '44.815215', '-85.989036', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72829, 'Grawn', 2802, '49637', '231', '44.632786', '-85.692875', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72830, 'Kewadin', 2802, '49648', '231', '45.01722', '-85.349274', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72831, 'Lake Leelanau', 2802, '49653', '231', '44.983046', '-85.733046', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72832, 'S Boardman', 2802, '49680', '231', '44.627143', '-85.254183', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72833, 'South Boardman', 2802, '49680', '231', '44.627143', '-85.254183', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72834, 'Wellston', 2802, '49689', '231', '44.223451', '-85.920924', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72835, 'Afton', 2802, '49705', '231', '45.322377', '-84.465539', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72836, 'Boyne City', 2802, '49712', '231', '45.197244', '-85.010655', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72837, 'Cheboygan', 2802, '49721', '231', '45.575504', '-84.468066', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72838, 'Good Hart', 2802, '49737', '231', '45.5673', '-85.1133', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72839, 'Harbor Spgs', 2802, '49737', '231', '45.5673', '-85.1133', '2018-11-29 05:14:40', '2018-11-29 05:14:40'),\n(72840, 'Harbor Springs', 2802, '49737', '231', '45.5673', '-85.1133', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72841, 'Levering', 2802, '49755', '231', '45.646534', '-84.826132', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72842, 'Mackinac Is', 2802, '49757', '906', '45.865852', '-84.627071', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72843, 'Mackinac Island', 2802, '49757', '906', '45.865852', '-84.627071', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72844, 'Naubinway', 2802, '49762', '906', '46.136008', '-85.384054', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72845, 'Cooks', 2802, '49817', '906', '45.93198', '-86.474992', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72846, 'Cornell', 2802, '49818', '906', '45.906844', '-87.24903', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72847, 'Arnold', 2802, '49819', '906', '46.0506', '-87.4917', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72848, 'Cornell', 2802, '49819', '906', '46.0506', '-87.4917', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72849, 'Little Lake', 2802, '49833', '906', '46.111108', '-87.440558', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72850, 'Foster City', 2802, '49834', '906', '46.072998', '-87.804206', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72851, 'Hardwood', 2802, '49834', '906', '46.072998', '-87.804206', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72852, 'Blaney Park', 2802, '49836', '906', '46.24495', '-85.905642', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72853, 'Germfask', 2802, '49836', '906', '46.24495', '-85.905642', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72854, 'Shingleton', 2802, '49884', '906', '46.4047', '-86.450128', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72855, 'Amasa', 2802, '49903', '906', '46.250536', '-88.446872', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72856, 'Calumet', 2802, '49918', '906', '47.459898', '-87.813563', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72857, 'Copper Harbor', 2802, '49918', '906', '47.459898', '-87.813563', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72858, 'Beechwood', 2802, '49935', '906', '46.202606', '-88.7372', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72859, 'Iron River', 2802, '49935', '906', '46.202606', '-88.7372', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72860, 'Kenton', 2802, '49967', '906', '46.523662', '-89.030533', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72861, 'Trout Creek', 2802, '49967', '906', '46.523662', '-89.030533', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72862, 'Wakefield', 2802, '49968', '906', '46.514702', '-89.894522', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72863, 'Topinabee', 2802, '49791', '231', '45.4813', '-84.591608', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72864, 'Eben Junction', 2802, '49826', '906', '46.362003', '-86.932163', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72865, 'Rumely', 2802, '49826', '906', '46.362003', '-86.932163', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72866, 'Gwinn', 2802, '49841', '906', '46.323941', '-87.49016', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72867, 'Princeton', 2802, '49841', '906', '46.323941', '-87.49016', '2018-11-29 05:14:41', '2018-11-29 05:14:41'),\n(72868, 'Menominee', 2802, '49858', '906', '45.234593', '-87.56343', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72869, 'Quinnesec', 2802, '49876', '906', '45.80191', '-87.999513', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72870, 'Rapid River', 2802, '49878', '906', '45.932228', '-86.80362', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72871, 'Vulcan', 2802, '49892', '906', '45.789902', '-87.813372', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72872, 'Wallace', 2802, '49893', '906', '45.274534', '-87.586014', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72873, 'Wetmore', 2802, '49895', '906', '46.208381', '-86.61356', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72874, 'Bessemer', 2802, '49911', '906', '46.560759', '-90.055927', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72875, 'Ewen', 2802, '49925', '906', '46.550042', '-89.396696', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72876, 'Calumet', 2802, '49942', '906', '47.271178', '-88.412353', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72877, 'Kearsarge', 2802, '49942', '906', '47.271178', '-88.412353', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72878, 'Pelkie', 2802, '49958', '906', '46.765508', '-88.638182', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72879, 'Ramsay', 2802, '49959', '906', '46.471925', '-89.993169', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72880, 'Ann Arbor', 2802, '48106', '734', '42.2836', '-83.7455', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72881, 'Livonia', 2802, '48153', '313', '42.3685', '-83.3529', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72882, 'Livonia', 2802, '48154', '734', '42.397598', '-83.373293', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72883, 'Plymouth', 2802, '48170', '734', '42.363519', '-83.536643', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72884, 'Canton', 2802, '48187', '734', '42.329141', '-83.487929', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72885, 'Canton Twp', 2802, '48187', '734', '42.329141', '-83.487929', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72886, 'Whittaker', 2802, '48190', '734', '42.131942', '-83.594567', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72887, 'Detroit', 2802, '48205', '313', '42.429748', '-82.977359', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72888, 'Detroit', 2802, '48206', '313', '42.375013', '-83.107953', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72889, 'Detroit', 2802, '48221', '313', '42.428041', '-83.146587', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72890, 'Detroit', 2802, '48238', '313', '42.394933', '-83.138132', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72891, 'Chrysler Corporation', 2802, '48288', '313', '42.3317', '-83.0456', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72892, 'Detroit', 2802, '48288', '313', '42.3317', '-83.0456', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72893, 'Goodison', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72894, 'Oakland', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72895, 'Oakland Township', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:42', '2018-11-29 05:14:42'),\n(72896, 'Oakland Twp', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72897, 'Rochester', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72898, 'Rochester Hills', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72899, 'Rochester Hls', 2802, '48306', '248', '42.728551', '-83.143187', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72900, 'W Bloomfield', 2802, '48322', '248', '42.542943', '-83.379712', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72901, 'West Bloomfield', 2802, '48322', '248', '42.542943', '-83.379712', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72902, 'Novi', 2802, '48374', '248', '42.469477', '-83.524426', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72903, 'Columbiaville', 2802, '48421', '810', '43.148208', '-83.383007', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72904, 'Goodrich', 2802, '48438', '810', '42.91874', '-83.467346', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72905, 'Melvin', 2802, '48454', '810', '43.20475', '-82.821642', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72906, 'Minden', 2802, '48456', '989', '43.659022', '-82.741795', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72907, 'Minden City', 2802, '48456', '989', '43.659022', '-82.741795', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72908, 'Sandusky', 2802, '48471', '810', '43.430359', '-82.868868', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72909, 'Snover', 2802, '48472', '810', '43.518659', '-82.951368', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72910, 'Flint', 2802, '48505', '810', '43.064718', '-83.691229', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72911, 'Flint', 2802, '48506', '810', '43.064955', '-83.622158', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72912, 'Northeast', 2802, '48506', '810', '43.064955', '-83.622158', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72913, 'Saginaw', 2802, '48605', '989', '43.4194', '-83.9506', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72914, 'Farwell', 2802, '48622', '989', '43.821195', '-84.878742', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72915, 'Saginaw', 2802, '48638', '989', '43.414825', '-84.021468', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72916, 'Midland', 2802, '48640', '989', '43.582956', '-84.351332', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72917, 'Sanford', 2802, '48657', '989', '43.719578', '-84.400224', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72918, 'Greenbush', 2802, '48738', '989', '44.553899', '-83.34147', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72919, 'Hale', 2802, '48739', '989', '44.39344', '-83.816418', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72920, 'Kingston', 2802, '48741', '989', '43.398864', '-83.19471', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72921, 'Pigeon', 2802, '48755', '989', '43.839905', '-83.302756', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72922, 'Sand Point', 2802, '48755', '989', '43.839905', '-83.302756', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72923, 'Prescott', 2802, '48756', '989', '44.248416', '-83.994266', '2018-11-29 05:14:43', '2018-11-29 05:14:43'),\n(72924, 'Roos', 2802, '48756', '989', '44.248416', '-83.994266', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72925, 'Richville', 2802, '48758', '989', '43.4093', '-83.6775', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72926, 'Bannister', 2802, '48807', '989', '43.159387', '-84.414512', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72927, 'East Lansing', 2802, '48825', '517', '42.727942', '-84.47993', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72928, 'Henderson', 2802, '48841', '989', '43.100118', '-84.236698', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72929, 'Owosso', 2802, '48841', '989', '43.100118', '-84.236698', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72930, 'Howell', 2802, '48855', '517', '42.699693', '-83.8869', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72931, 'Morrice', 2802, '48857', '517', '42.842928', '-84.145696', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72932, 'Mount Pleasant', 2802, '48858', '989', '43.618872', '-84.797717', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72933, 'Mt Pleasant', 2802, '48858', '989', '43.618872', '-84.797717', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72934, 'Pompeii', 2802, '48874', '989', '43.186868', '-84.6013', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72935, 'Sumner', 2802, '48889', '989', '43.288774', '-84.790856', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72936, 'Lansing', 2802, '48906', '517', '42.78265', '-84.576718', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72937, 'Lansing', 2802, '48922', '517', '42.7327', '-84.5558', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72938, 'Mi Department Of Revenue', 2802, '48922', '517', '42.7327', '-84.5558', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72939, 'Kalamazoo', 2802, '49006', '269', '42.300802', '-85.624837', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72940, 'Kalamazoo', 2802, '49007', '269', '42.300881', '-85.594054', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72941, 'Kalamazoo', 2802, '49009', '269', '42.300078', '-85.678708', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72942, 'Benton Harbor', 2802, '49022', '269', '42.126808', '-86.332012', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72943, 'Benton Harbor', 2802, '49023', '269', '42.1167', '-86.4542', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72944, 'Hastings', 2802, '49058', '269', '42.63877', '-85.320574', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72945, 'Nottawa', 2802, '49075', '269', '41.914337', '-85.45419', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72946, 'Olivet', 2802, '49076', '517', '42.393117', '-84.887139', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72947, 'Bridgman', 2802, '49106', '269', '41.93932', '-86.568855', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72948, 'Buchanan', 2802, '49107', '269', '41.843476', '-86.424202', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72949, 'Glendora', 2802, '49107', '269', '41.843476', '-86.424202', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72950, 'Morenci', 2802, '49256', '517', '41.764266', '-84.228299', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72951, 'Seneca', 2802, '49256', '517', '41.764266', '-84.228299', '2018-11-29 05:14:44', '2018-11-29 05:14:44'),\n(72952, 'Belmont', 2802, '49306', '616', '43.079756', '-85.560445', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72953, 'Big Rapids', 2802, '49307', '231', '43.705104', '-85.512791', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72954, 'Freeport', 2802, '49325', '616', '42.776957', '-85.285742', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72955, 'Gowen', 2802, '49326', '616', '43.249261', '-85.326476', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72956, 'Rodney', 2802, '49342', '231', '43.696469', '-85.325224', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72957, 'Brunswick', 2802, '49425', '231', '43.442934', '-86.116945', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72958, 'Holton', 2802, '49425', '231', '43.442934', '-86.116945', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72959, 'Meskegon', 2802, '49442', '231', '43.245899', '-86.141768', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72960, 'Muskegon', 2802, '49442', '231', '43.245899', '-86.141768', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72961, 'Walkerville', 2802, '49459', '231', '43.728828', '-86.098974', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72962, 'Cutlerville', 2802, '49508', '616', '42.866776', '-85.626938', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72963, 'Gr', 2802, '49508', '616', '42.866776', '-85.626938', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72964, 'Grand Rapids', 2802, '49508', '616', '42.866776', '-85.626938', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72965, 'Kentwood', 2802, '49508', '616', '42.866776', '-85.626938', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72966, 'Wyoming', 2802, '49508', '616', '42.866776', '-85.626938', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72967, 'Gr', 2802, '49509', '616', '42.90216', '-85.696708', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72968, 'Grand Rapids', 2802, '49509', '616', '42.90216', '-85.696708', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72969, 'Wyoming', 2802, '49509', '616', '42.90216', '-85.696708', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72970, 'Gr', 2802, '49525', '616', '43.014163', '-85.599911', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72971, 'Grand Rapids', 2802, '49525', '616', '43.014163', '-85.599911', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72972, 'Gr', 2802, '49544', '616', '43.051244', '-85.733074', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72973, 'Grand Rapids', 2802, '49544', '616', '43.051244', '-85.733074', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72974, 'Walker', 2802, '49544', '616', '43.051244', '-85.733074', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72975, 'Copemish', 2802, '49625', '231', '44.426219', '-85.84937', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72976, 'Eastlake', 2802, '49626', '231', '44.244926', '-86.295358', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72977, 'Eastport', 2802, '49627', '231', '45.105574', '-85.359287', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72978, 'Idlewild', 2802, '49642', '231', '43.896488', '-85.763575', '2018-11-29 05:14:45', '2018-11-29 05:14:45'),\n(72979, 'Irons', 2802, '49644', '231', '44.080709', '-85.920289', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72980, 'Peacock', 2802, '49644', '231', '44.080709', '-85.920289', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72981, 'Onekama', 2802, '49675', '231', '44.366141', '-86.223658', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72982, 'Atlanta', 2802, '49709', '989', '45.036404', '-84.178717', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72983, 'Bay Shore', 2802, '49711', '231', '45.3182', '-85.2585', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72984, 'Charlevoix', 2802, '49711', '231', '45.3182', '-85.2585', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72985, 'Drummond Is', 2802, '49726', '906', '46.009228', '-83.678316', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72986, 'Drummond Island', 2802, '49726', '906', '46.009228', '-83.678316', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72987, 'Herron', 2802, '49744', '989', '44.99646', '-83.66823', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72988, 'Millersburg', 2802, '49759', '989', '45.412274', '-84.107298', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72989, 'Ocqueoc', 2802, '49759', '989', '45.412274', '-84.107298', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72990, 'Mullett Lake', 2802, '49761', '231', '45.55643', '-84.521432', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72991, 'Pickford', 2802, '49774', '906', '46.18012', '-84.32114', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72992, 'Presque Isle', 2802, '49777', '989', '45.283545', '-83.502242', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72993, 'Engadine', 2802, '49827', '906', '46.177978', '-85.561658', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72994, 'Traunik', 2802, '49891', '906', '46.24596', '-87.022234', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72995, 'Trenary', 2802, '49891', '906', '46.24596', '-87.022234', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72996, 'Wells', 2802, '49894', '906', '45.783634', '-87.069921', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72997, 'Gaastra', 2802, '49927', '906', '46.031214', '-88.562052', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72998, 'Sidnaw', 2802, '49961', '906', '46.483453', '-88.755312', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(72999, 'Ruby', 2802, '48049', '810', '43.036126', '-82.574358', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73000, 'Troy', 2802, '48085', '248', '42.600757', '-83.119918', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73001, 'Hillman', 2802, '49746', '989', '45.041332', '-83.94273', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73002, 'Oden', 2802, '49764', '231', '45.423413', '-84.826778', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73003, 'Carney', 2802, '49812', '906', '45.59882', '-87.500043', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73004, 'Brampton', 2802, '49837', '906', '45.880841', '-87.105899', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73005, 'Gladstone', 2802, '49837', '906', '45.880841', '-87.105899', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73006, 'Harvey', 2802, '49855', '906', '46.561088', '-87.365517', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73007, 'Marquette', 2802, '49855', '906', '46.561088', '-87.365517', '2018-11-29 05:14:46', '2018-11-29 05:14:46'),\n(73008, 'Rock', 2802, '49880', '906', '46.075928', '-87.183731', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73009, 'Painesdale', 2802, '49955', '906', '46.99598', '-88.679291', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73010, 'Stambaugh', 2802, '49964', '906', '46.08003', '-88.623716', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73011, 'Waters', 2802, '49797', '989', '44.8797', '-84.6988', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73012, 'Escanaba', 2802, '49829', '906', '45.772712', '-87.1814', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73013, 'Felch', 2802, '49831', '906', '46.00596', '-87.867138', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73014, 'Iron Mountain', 2802, '49831', '906', '46.00596', '-87.867138', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73015, 'Northland', 2802, '49831', '906', '46.00596', '-87.867138', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73016, 'Gould City', 2802, '49838', '906', '46.058484', '-85.735706', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73017, 'Harris', 2802, '49845', '906', '45.7037', '-87.3453', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73018, 'Hermansville', 2802, '49847', '906', '45.767714', '-87.655581', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73019, 'Manistique', 2802, '49854', '906', '46.13131', '-86.364732', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73020, 'Thompson', 2802, '49854', '906', '46.13131', '-86.364732', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73021, 'Nadeau', 2802, '49863', '906', '45.607728', '-87.551596', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73022, 'Perkins', 2802, '49872', '906', '45.992478', '-87.072267', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73023, 'Sagola', 2802, '49881', '906', '46.061966', '-88.00284', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73024, 'Dollar Bay', 2802, '49922', '906', '47.120436', '-88.47619', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73025, 'Ironwood', 2802, '49938', '906', '46.489462', '-90.203995', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73026, 'Marenisco', 2802, '49947', '906', '46.423754', '-89.586468', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73027, 'Merriweather', 2802, '49947', '906', '46.423754', '-89.586468', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73028, 'Chelsea', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73029, 'Freedom Twp', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73030, 'Lima Center', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73031, 'Lima Twp', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73032, 'Luce Twp', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73033, 'Lyndon Twp', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73034, 'Sylvan Twp', 2802, '48118', '734', '42.317496', '-84.024666', '2018-11-29 05:14:47', '2018-11-29 05:14:47'),\n(73035, 'Inkster', 2802, '48141', '313', '42.293498', '-83.314834', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73036, 'Livonia', 2802, '48152', '248', '42.426196', '-83.374739', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73037, 'Maybee', 2802, '48159', '734', '42.041425', '-83.55715', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73038, 'Northville', 2802, '48168', '248', '42.405254', '-83.539021', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73039, 'Salem', 2802, '48175', '734', '42.4062', '-83.5803', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73040, 'Westland', 2802, '48186', '734', '42.289224', '-83.368624', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73041, 'Detroit', 2802, '48209', '313', '42.303596', '-83.11495', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73042, 'Detroit', 2802, '48211', '313', '42.382854', '-83.049509', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73043, 'Hamtramck', 2802, '48211', '313', '42.382854', '-83.049509', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73044, 'Detroit', 2802, '48218', '313', '42.270866', '-83.131636', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73045, 'River Rouge', 2802, '48218', '313', '42.270866', '-83.131636', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73046, 'Detroit', 2802, '48227', '313', '42.38731', '-83.193321', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73047, 'Bloomfield', 2802, '48302', '248', '42.584993', '-83.293605', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73048, 'Bloomfield Hills', 2802, '48302', '248', '42.584993', '-83.293605', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73049, 'Bloomfield Township', 2802, '48302', '248', '42.584993', '-83.293605', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73050, 'Bloomfield Twp', 2802, '48302', '248', '42.584993', '-83.293605', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73051, 'Bloomfld Hls', 2802, '48302', '248', '42.584993', '-83.293605', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73052, 'Bloomfld Twp', 2802, '48302', '248', '42.584993', '-83.293605', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73053, 'Rochester', 2802, '48309', '248', '42.658115', '-83.185398', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73054, 'Rochester Hills', 2802, '48309', '248', '42.658115', '-83.185398', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73055, 'Rochester Hls', 2802, '48309', '248', '42.658115', '-83.185398', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73056, 'St Heights', 2802, '48311', '586', '42.5806', '-83.0305', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73057, 'Sterling Heights', 2802, '48311', '586', '42.5806', '-83.0305', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73058, 'Sterling Hts', 2802, '48311', '586', '42.5806', '-83.0305', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73059, 'Farmingtn Hls', 2802, '48336', '248', '42.46305', '-83.347125', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73060, 'Farmington', 2802, '48336', '248', '42.46305', '-83.347125', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73061, 'Farmington Hills', 2802, '48336', '248', '42.46305', '-83.347125', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73062, 'Farmington Hls', 2802, '48336', '248', '42.46305', '-83.347125', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73063, 'Pontiac', 2802, '48341', '248', '42.634022', '-83.295197', '2018-11-29 05:14:48', '2018-11-29 05:14:48'),\n(73064, 'Pontiac', 2802, '48343', '248', '42.6388', '-83.2913', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73065, 'Lake Orion', 2802, '48359', '248', '42.725566', '-83.272554', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73066, 'Orion', 2802, '48359', '248', '42.725566', '-83.272554', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73067, 'Orion Township', 2802, '48359', '248', '42.725566', '-83.272554', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73068, 'Lakeville', 2802, '48366', '248', '42.8215', '-83.1503', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73069, 'Novi', 2802, '48377', '248', '42.505064', '-83.479508', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73070, 'Wixom', 2802, '48393', '248', '42.518829', '-83.549144', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73071, 'Kinde', 2802, '48445', '989', '43.95332', '-83.002851', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73072, 'Buick City', 2802, '48550', '810', '43.0125', '-83.6878', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73073, 'Buick Oldsmobile Cadillac', 2802, '48550', '810', '43.0125', '-83.6878', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73074, 'Flint', 2802, '48550', '810', '43.0125', '-83.6878', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73075, 'Houghton Lake', 2802, '48629', '989', '44.29882', '-84.734068', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73076, 'Linwood', 2802, '48634', '989', '43.759886', '-84.051495', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73077, 'Luzerne', 2802, '48636', '989', '44.593396', '-84.258514', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73078, 'Dow Corning Corporation', 2802, '48686', '989', '43.6157', '-84.2472', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73079, 'Midland', 2802, '48686', '989', '43.6157', '-84.2472', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73080, 'Deford', 2802, '48729', '989', '43.495544', '-83.18835', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73081, 'Mikado', 2802, '48745', '989', '44.555042', '-83.488174', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73082, 'Sebewaing', 2802, '48759', '989', '43.739807', '-83.392435', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73083, 'Whittemore', 2802, '48770', '989', '44.237413', '-83.797412', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73084, 'Carson City', 2802, '48811', '989', '43.187693', '-84.856918', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73085, 'Palo', 2802, '48870', '989', '43.1125', '-84.9859', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73086, 'Six Lakes', 2802, '48886', '989', '43.424689', '-85.173734', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73087, 'Williamston', 2802, '48895', '517', '42.688606', '-84.268456', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73088, 'Lansing', 2802, '48911', '517', '42.681092', '-84.558252', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73089, 'Athens', 2802, '49011', '517', '42.10945', '-85.222032', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73090, 'Battle Creek', 2802, '49018', '269', '42.3213', '-85.1799', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73091, 'Bedford', 2802, '49020', '269', '42.3953', '-85.2322', '2018-11-29 05:14:49', '2018-11-29 05:14:49'),\n(73092, 'Burlington', 2802, '49029', '517', '42.132551', '-85.105381', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73093, 'Coldwater', 2802, '49036', '517', '41.906472', '-85.043035', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73094, 'Fulton', 2802, '49052', '269', '42.115204', '-85.320907', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73095, 'Jones', 2802, '49061', '269', '41.883935', '-85.81851', '2018-11-29 05:14:50', '2018-11-29 05:14:50');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(73096, 'Oshtemo', 2802, '49077', '269', '42.2588', '-85.6775', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73097, 'Paw Paw', 2802, '49079', '269', '42.229736', '-85.90916', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73098, 'Scotts', 2802, '49088', '269', '42.190748', '-85.4275', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73099, 'Three Rivers', 2802, '49093', '269', '41.97611', '-85.638957', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73100, 'Stevensville', 2802, '49127', '269', '42.009463', '-86.511708', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73101, 'Jackson', 2802, '49202', '517', '42.275381', '-84.407534', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73102, 'Jackson', 2802, '49204', '517', '42.2458', '-84.4017', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73103, 'Addison', 2802, '49220', '517', '41.992434', '-84.33866', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73104, 'Allen', 2802, '49227', '517', '41.952788', '-84.767863', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73105, 'Britton', 2802, '49229', '517', '42.002876', '-83.84367', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73106, 'Ridgeway', 2802, '49229', '517', '42.002876', '-83.84367', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73107, 'Deerfield', 2802, '49238', '517', '41.900371', '-83.800024', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73108, 'Hudson', 2802, '49247', '517', '41.853791', '-84.336975', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73109, 'Rollin', 2802, '49247', '517', '41.853791', '-84.336975', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73110, 'Napoleon', 2802, '49261', '517', '42.1609', '-84.2462', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73111, 'Norvell', 2802, '49263', '517', '42.158319', '-84.182222', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73112, 'Rives Jct', 2802, '49277', '517', '42.384474', '-84.451667', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73113, 'Rives Junction', 2802, '49277', '517', '42.384474', '-84.451667', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73114, 'Alto', 2802, '49302', '616', '42.82239', '-85.407076', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73115, 'Cascade', 2802, '49302', '616', '42.82239', '-85.407076', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73116, 'Cascade Twp', 2802, '49302', '616', '42.82239', '-85.407076', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73117, 'Bradley', 2802, '49311', '269', '42.6305', '-85.6431', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73118, 'Trufant', 2802, '49347', '616', '43.326782', '-85.351348', '2018-11-29 05:14:50', '2018-11-29 05:14:50'),\n(73119, 'Coopersville', 2802, '49404', '616', '43.072198', '-85.953668', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73120, 'Coppersville', 2802, '49404', '616', '43.072198', '-85.953668', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73121, 'Eastmanville', 2802, '49404', '616', '43.072198', '-85.953668', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73122, 'Free Soil', 2802, '49411', '231', '44.1048', '-86.265164', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73123, 'Fremont', 2802, '49413', '231', '43.4678', '-85.9417', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73124, 'Gerber Products Inc', 2802, '49413', '231', '43.4678', '-85.9417', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73125, 'Hart', 2802, '49420', '231', '43.730034', '-86.283809', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73126, 'Scottville', 2802, '49454', '231', '43.937876', '-86.28561', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73127, 'Alba', 2802, '49611', '231', '44.990606', '-84.989475', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73128, 'Arcadia', 2802, '49613', '231', '44.505056', '-86.19609', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73129, 'Bellaire', 2802, '49615', '231', '44.963943', '-85.202688', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73130, 'Elk Rapids', 2802, '49629', '231', '44.91276', '-85.398735', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73131, 'Honor', 2802, '49640', '231', '44.71258', '-86.062778', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73132, 'Kaleva', 2802, '49645', '231', '44.378796', '-86.051028', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73133, 'Marion', 2802, '49665', '231', '44.083836', '-85.117368', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73134, 'Williamsburg', 2802, '49690', '231', '44.786982', '-85.385154', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73135, 'Boyne Falls', 2802, '49713', '231', '45.205268', '-84.855495', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73136, 'Brimley', 2802, '49715', '906', '46.409775', '-84.67528', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73137, 'Raco', 2802, '49715', '906', '46.409775', '-84.67528', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73138, 'Hessel', 2802, '49745', '906', '46.013011', '-84.494163', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73139, 'Hubbard Lake', 2802, '49747', '989', '44.85834', '-83.638902', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73140, 'Onaway', 2802, '49765', '989', '45.346775', '-84.257286', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73141, 'Clyde', 2802, '48049', '810', '43.036126', '-82.574358', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73142, 'Clyde Township', 2802, '48049', '810', '43.036126', '-82.574358', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73143, 'North Street', 2802, '48049', '810', '43.036126', '-82.574358', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73144, 'Center Line', 2802, '48015', '586', '42.479846', '-83.029544', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73145, 'Fraser', 2802, '48026', '586', '42.538828', '-82.949623', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73146, 'Clinton Township', 2802, '48035', '586', '42.554712', '-82.91662', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73147, 'Clinton Twp', 2802, '48035', '586', '42.554712', '-82.91662', '2018-11-29 05:14:51', '2018-11-29 05:14:51'),\n(73148, 'Marysville', 2802, '48040', '810', '42.906626', '-82.47705', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73149, 'Macomb', 2802, '48042', '586', '42.673562', '-82.915004', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73150, 'Macomb Township', 2802, '48042', '586', '42.673562', '-82.915004', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73151, 'Beaulieu', 2803, '56557', '218', '47.368821', '-95.825052', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73152, 'Mahnomen', 2803, '56557', '218', '47.368821', '-95.825052', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73153, 'Albany', 2803, '56307', '320', '45.64435', '-94.57843', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73154, 'Brooten', 2803, '56316', '320', '45.484613', '-95.10091', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73155, 'Elrosa', 2803, '56325', '320', '45.5635', '-94.94739', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73156, 'Holmes City', 2803, '56341', '320', '45.83627', '-95.545125', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73157, 'Foley', 2803, '56357', '320', '45.702024', '-93.817126', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73158, 'Alberta', 2803, '56207', '320', '45.542129', '-96.055827', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73159, 'Blomkest', 2803, '56216', '320', '44.949992', '-95.054074', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73160, 'Svea', 2803, '56216', '320', '44.949992', '-95.054074', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73161, 'Dawson', 2803, '56232', '320', '44.93528', '-95.920823', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73162, 'Granite Falls', 2803, '56241', '320', '44.80938', '-95.605278', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73163, 'Hazel Run', 2803, '56241', '320', '44.80938', '-95.605278', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73164, 'Herman', 2803, '56248', '320', '45.803224', '-96.067996', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73165, 'Marietta', 2803, '56257', '320', '44.979323', '-96.395405', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73166, 'Nassau', 2803, '56257', '320', '44.979323', '-96.395405', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73167, 'Hawick', 2803, '56273', '320', '45.326993', '-94.951156', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73168, 'New London', 2803, '56273', '320', '45.326993', '-94.951156', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73169, 'Oak Park', 2803, '56357', '320', '45.702024', '-93.817126', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73170, 'Ronneby', 2803, '56357', '320', '45.702024', '-93.817126', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73171, 'Genola', 2803, '56364', '320', '46.011462', '-94.053803', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73172, 'Harding', 2803, '56364', '320', '46.011462', '-94.053803', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73173, 'Pierz', 2803, '56364', '320', '46.011462', '-94.053803', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73174, 'Saint Peter', 2803, '56082', '507', '44.355582', '-94.089196', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73175, 'St Peter', 2803, '56082', '507', '44.355582', '-94.089196', '2018-11-29 05:14:52', '2018-11-29 05:14:52'),\n(73176, 'Twin Lakes', 2803, '56089', '507', '43.542969', '-93.408524', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73177, 'Waterville', 2803, '56096', '507', '44.228738', '-93.566089', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73178, 'Cedarbluff', 2805, '39741', '662', '33.616868', '-88.857944', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73179, 'Griffith', 2805, '39741', '662', '33.616868', '-88.857944', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73180, 'Waddell', 2805, '39741', '662', '33.616868', '-88.857944', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73181, 'Beasley', 2805, '39755', '662', '33.578166', '-88.946762', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73182, 'Pheba', 2805, '39755', '662', '33.578166', '-88.946762', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73183, 'Columbus', 2805, '39710', '662', '33.62896', '-88.44719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73184, 'Columbus AFB', 2805, '39710', '662', '33.62896', '-88.44719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73185, 'Eupora', 2805, '39744', '662', '33.591069', '-89.36719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73186, 'Europa', 2805, '39744', '662', '33.591069', '-89.36719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73187, 'Fame', 2805, '39744', '662', '33.591069', '-89.36719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73188, 'Grady', 2805, '39744', '662', '33.591069', '-89.36719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73189, 'Sapa', 2805, '39744', '662', '33.591069', '-89.36719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73190, 'Tomnolen', 2805, '39744', '662', '33.591069', '-89.36719', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73191, 'Starkville', 2805, '39760', '662', '33.4584', '-88.8167', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73192, 'Bellefontaine', 2805, '39737', '662', '33.6478', '-89.3105', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73193, 'Hamilton', 2805, '39746', '662', '33.744542', '-88.406399', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73194, 'Old Hamilton', 2805, '39746', '662', '33.744542', '-88.406399', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73195, 'Bentley', 2805, '39751', '662', '33.672526', '-89.140444', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73196, 'Dancy', 2805, '39751', '662', '33.672526', '-89.140444', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73197, 'Hohenlinden', 2805, '39751', '662', '33.672526', '-89.140444', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73198, 'Mantee', 2805, '39751', '662', '33.672526', '-89.140444', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73199, 'Pinebluff', 2805, '39751', '662', '33.672526', '-89.140444', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73200, 'Miss State', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73201, 'Mississippi State', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73202, 'Mississippi State University', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:53', '2018-11-29 05:14:53'),\n(73203, 'Ms St', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73204, 'Ms State', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73205, 'Ms State Univ', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73206, 'Msu', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73207, 'State College', 2805, '39762', '662', '33.453504', '-88.794472', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73208, 'Craig Springs', 2805, '39769', '662', '33.334244', '-88.988651', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73209, 'Morgantown', 2805, '39769', '662', '33.334244', '-88.988651', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73210, 'Sturgis', 2805, '39769', '662', '33.334244', '-88.988651', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73211, 'Monte Vista', 2805, '39771', '662', '33.607018', '-89.275001', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73212, 'Walthall', 2805, '39771', '662', '33.607018', '-89.275001', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73213, 'Anchor', 2805, '39776', '662', '33.797412', '-89.061568', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73214, 'Atlanta', 2805, '39776', '662', '33.797412', '-89.061568', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73215, 'Sparta', 2805, '39776', '662', '33.797412', '-89.061568', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73216, 'Woodland', 2805, '39776', '662', '33.797412', '-89.061568', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73217, 'Gibson', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73218, 'Lackey', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73219, 'Muldon', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73220, 'New Wren', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73221, 'Strongs', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73222, 'Wren', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73223, 'Hendrix', 2805, '39747', '662', '33.427274', '-89.542161', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73224, 'Kilmichael', 2805, '39747', '662', '33.427274', '-89.542161', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73225, 'Poplar Creek', 2805, '39747', '662', '33.427274', '-89.542161', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73226, 'Poplar Springs', 2805, '39747', '662', '33.427274', '-89.542161', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73227, 'Sibleton', 2805, '39747', '662', '33.427274', '-89.542161', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73228, 'Ackerman', 2805, '39735', '662', '33.363272', '-89.23558', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73229, 'Chester', 2805, '39735', '662', '33.363272', '-89.23558', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73230, 'Fentress', 2805, '39735', '662', '33.363272', '-89.23558', '2018-11-29 05:14:54', '2018-11-29 05:14:54'),\n(73231, 'Reform', 2805, '39735', '662', '33.363272', '-89.23558', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73232, 'Mayhew', 2805, '39753', '662', '33.4849', '-88.6348', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73233, 'Aberdeen', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73234, 'Binford', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73235, 'Centralgrove', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73236, 'Darracott', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73237, 'East Aberdeen', 2805, '39730', '662', '33.851222', '-88.536504', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73238, 'Highway Village', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73239, 'Ireland', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73240, 'Laneheart', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73241, 'Lessley', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73242, 'Pinckneyville', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73243, 'Turnbull', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73244, 'Wilkinson', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73245, 'Woodville', 2805, '39669', '601', '31.21586', '-91.420364', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73246, 'Columbus', 2805, '39703', '662', '33.4958', '-88.4274', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73247, 'Crawford', 2805, '39743', '662', '33.345946', '-88.587623', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73248, 'Penns', 2805, '39743', '662', '33.345946', '-88.587623', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73249, 'Trinity', 2805, '39743', '662', '33.345946', '-88.587623', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73250, 'Adaton', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73251, 'Bells School', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73252, 'Blackjack', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73253, 'Bradley', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73254, 'Clayton Village', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73255, 'Hickory Grove', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73256, 'Longview', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73257, 'Muldrow', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:55', '2018-11-29 05:14:55'),\n(73258, 'Oktoc', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73259, 'Osborn', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73260, 'Patrick', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73261, 'Rocky Hill', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73262, 'Sessums', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73263, 'Starkville', 2805, '39759', '662', '33.425835', '-88.840607', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73264, 'Columbus', 2805, '39705', '662', '33.583528', '-88.43799', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73265, 'Bigbee Valley', 2805, '39739', '662', '33.180553', '-88.558917', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73266, 'Brooksville', 2805, '39739', '662', '33.180553', '-88.558917', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73267, 'Cliftonville', 2805, '39739', '662', '33.180553', '-88.558917', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73268, 'Deerbrook', 2805, '39739', '662', '33.180553', '-88.558917', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73269, 'Lynn Creek', 2805, '39739', '662', '33.180553', '-88.558917', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73270, 'Prairie', 2805, '39756', '662', '33.76819', '-88.668798', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73271, 'Bankston', 2805, '39772', '662', '33.254653', '-89.272382', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73272, 'Weir', 2805, '39772', '662', '33.254653', '-89.272382', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73273, 'Abbott', 2805, '39773', '662', '33.65927', '-88.75346', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73274, 'Mary Holmes', 2805, '39773', '662', '33.65927', '-88.75346', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73275, 'Tibbee', 2805, '39773', '662', '33.65927', '-88.75346', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73276, 'West Point', 2805, '39773', '662', '33.65927', '-88.75346', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73277, 'Whites', 2805, '39773', '662', '33.65927', '-88.75346', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73278, 'Eddiceton', 2805, '39647', '601', '31.504775', '-90.770304', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73279, 'Mc Call Creek', 2805, '39647', '601', '31.504775', '-90.770304', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73280, 'Mccall Creek', 2805, '39647', '601', '31.504775', '-90.770304', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73281, 'Quentin', 2805, '39647', '601', '31.504775', '-90.770304', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73282, 'Bacots', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73283, 'Barto', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73284, 'Bear Town', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73285, 'Holmesville', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:56', '2018-11-29 05:14:56'),\n(73286, 'Mccomb', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73287, 'Progress', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73288, 'South Mccomb', 2805, '39648', '601', '31.153213', '-90.393508', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73289, 'Lodi', 2805, '39767', '662', '33.538525', '-89.465448', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73290, 'Stewart', 2805, '39767', '662', '33.538525', '-89.465448', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73291, 'Alcorn State University', 2805, '39096', '601', '31.813856', '-91.16192', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73292, 'Lorman', 2805, '39096', '601', '31.813856', '-91.16192', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73293, 'Mayersville', 2805, '39113', '601', '32.79347', '-91.063998', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73294, 'Sibley', 2805, '39165', '601', '31.3793', '-91.3989', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73295, 'Vburg', 2805, '39182', '601', '32.3526', '-90.8778', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73296, 'Vicksburg', 2805, '39182', '601', '32.3526', '-90.8778', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73297, 'Jackson', 2805, '39212', '601', '32.237452', '-90.265944', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73298, 'Jax', 2805, '39212', '601', '32.237452', '-90.265944', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73299, 'Jksn', 2805, '39212', '601', '32.237452', '-90.265944', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73300, 'Jxn', 2805, '39212', '601', '32.237452', '-90.265944', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73301, 'Jackson', 2805, '39282', '601', '32.2986', '-90.1849', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73302, 'Jax', 2805, '39282', '601', '32.2986', '-90.1849', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73303, 'Jksn', 2805, '39282', '601', '32.2986', '-90.1849', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73304, 'Jxn', 2805, '39282', '601', '32.2986', '-90.1849', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73305, 'Flowood', 2805, '39298', '601', '32.2996', '-90.1844', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73306, 'Jackson', 2805, '39298', '601', '32.2996', '-90.1844', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73307, 'Jax', 2805, '39298', '601', '32.2996', '-90.1844', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73308, 'Jksn', 2805, '39298', '601', '32.2996', '-90.1844', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73309, 'Jxn', 2805, '39298', '601', '32.2996', '-90.1844', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73310, 'Pachuta', 2805, '39347', '601', '32.05102', '-88.910748', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73311, 'Paulding', 2805, '39348', '601', '32.009892', '-89.092364', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73312, 'Toomsuba', 2805, '39364', '601', '32.414862', '-88.505804', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73313, 'Nicholson', 2805, '39463', '601', '30.4766', '-89.6938', '2018-11-29 05:14:57', '2018-11-29 05:14:57'),\n(73314, 'Stringer', 2805, '39481', '601', '31.861268', '-89.250616', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73315, 'Cheraw', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73316, 'Foxworth', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73317, 'Jamestown', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73318, 'Morgantown', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73319, 'Pickwick', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73320, 'Pittman', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73321, 'Whitebluff', 2805, '39483', '601', '31.237144', '-89.919688', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73322, 'Biloxi', 2805, '39531', '228', '30.405553', '-88.958694', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73323, 'Blx', 2805, '39531', '228', '30.405553', '-88.958694', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73324, 'Boloxi', 2805, '39531', '228', '30.405553', '-88.958694', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73325, 'West Biloxi', 2805, '39531', '228', '30.405553', '-88.958694', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73326, 'Biloxi', 2805, '39533', '228', '30.3956', '-88.8854', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73327, 'Blx', 2805, '39533', '228', '30.3956', '-88.8854', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73328, 'Boloxi', 2805, '39533', '228', '30.3956', '-88.8854', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73329, 'East Moss Point', 2805, '39563', '228', '30.430059', '-88.530615', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73330, 'Eastside', 2805, '39563', '228', '30.430059', '-88.530615', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73331, 'Kreole', 2805, '39563', '228', '30.430059', '-88.530615', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73332, 'Moss Point', 2805, '39563', '228', '30.430059', '-88.530615', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73333, 'Moss Pt', 2805, '39563', '228', '30.430059', '-88.530615', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73334, 'Pascagoula', 2805, '39563', '228', '30.430059', '-88.530615', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73335, 'Pascagoula', 2805, '39581', '228', '30.356071', '-88.490327', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73336, 'Bude', 2805, '39630', '601', '31.457922', '-90.848592', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73337, 'Centreville', 2805, '39631', '601', '31.093664', '-91.100603', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73338, 'Chatawa', 2805, '39632', '601', '31.054204', '-90.464716', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73339, 'Mccomb', 2805, '39649', '601', '31.2395', '-90.4605', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73340, 'Arm', 2805, '39663', '601', '31.586152', '-90.034848', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73341, 'Silver Creek', 2805, '39663', '601', '31.586152', '-90.034848', '2018-11-29 05:14:58', '2018-11-29 05:14:58'),\n(73342, 'French Camp', 2805, '39745', '662', '33.371118', '-89.427359', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73343, 'Clarkson', 2805, '39752', '662', '33.530031', '-89.146942', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73344, 'Mathiston', 2805, '39752', '662', '33.530031', '-89.146942', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73345, 'Sherwood', 2805, '39752', '662', '33.530031', '-89.146942', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73346, 'Montpelier', 2805, '39754', '662', '33.7208', '-88.9477', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73347, 'Cumberland', 2805, '39750', '662', '33.542608', '-89.043671', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73348, 'Maben', 2805, '39750', '662', '33.542608', '-89.043671', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73349, 'Oktibbeha', 2805, '39750', '662', '33.542608', '-89.043671', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73350, 'Steens', 2805, '39766', '662', '33.586772', '-88.319318', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73351, 'Hattiesburg', 2805, '39406', '601', '31.328638', '-89.33671', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73352, 'University Of Southern Ms', 2805, '39406', '601', '31.328638', '-89.33671', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73353, 'Beaumont', 2805, '39423', '601', '31.091684', '-88.900819', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73354, 'Carmichael', 2805, '39423', '601', '31.091684', '-88.900819', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73355, 'Little Creek', 2805, '39423', '601', '31.091684', '-88.900819', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73356, 'Heidelberg', 2805, '39439', '601', '31.851716', '-88.988358', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73357, 'Stafford Springs', 2805, '39439', '601', '31.851716', '-88.988358', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73358, 'Avent', 2805, '39456', '601', '31.085848', '-88.81917', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73359, 'Benndale', 2805, '39456', '601', '31.085848', '-88.81917', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73360, 'Leaf', 2805, '39456', '601', '31.085848', '-88.81917', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73361, 'Mc Lain', 2805, '39456', '601', '31.085848', '-88.81917', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73362, 'Mclain', 2805, '39456', '601', '31.085848', '-88.81917', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73363, 'Lucas', 2805, '39474', '601', '31.58232', '-89.86222', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73364, 'Mount Carmel', 2805, '39474', '601', '31.58232', '-89.86222', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73365, 'Prentiss', 2805, '39474', '601', '31.58232', '-89.86222', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73366, 'Terrell', 2805, '39474', '601', '31.58232', '-89.86222', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73367, 'Hurley', 2805, '39555', '228', '30.6605', '-88.4942', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73368, 'Kiln', 2805, '39556', '228', '30.486222', '-89.415672', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73369, 'Ansley', 2805, '39558', '228', '30.2253', '-89.4838', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73370, 'Clermont Harbor', 2805, '39558', '228', '30.2253', '-89.4838', '2018-11-29 05:14:59', '2018-11-29 05:14:59'),\n(73371, 'Clermont Hbr', 2805, '39558', '228', '30.2253', '-89.4838', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73372, 'Lakeshore', 2805, '39558', '228', '30.2253', '-89.4838', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73373, 'Cuevas', 2805, '39571', '228', '30.448583', '-89.272565', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73374, 'Pass Chris', 2805, '39571', '228', '30.448583', '-89.272565', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73375, 'Pass Christian', 2805, '39571', '228', '30.448583', '-89.272565', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73376, 'Pass Christin', 2805, '39571', '228', '30.448583', '-89.272565', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73377, 'Belle Isle', 2805, '39572', '228', '30.246166', '-89.58507', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73378, 'Pearlington', 2805, '39572', '228', '30.246166', '-89.58507', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73379, 'Big Level', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73380, 'Crane Creek', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73381, 'Daisy Vestry', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73382, 'Inda', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73383, 'Necaise', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73384, 'Perkinston', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73385, 'Riceville', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73386, 'Sellers', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73387, 'Silver Run', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73388, 'Ten Mile', 2805, '39573', '601', '30.681665', '-89.095654', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73389, 'Bristers', 2805, '39641', '601', '31.373161', '-90.17137', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73390, 'Bristers Store', 2805, '39641', '601', '31.373161', '-90.17137', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73391, 'Enon', 2805, '39641', '601', '31.373161', '-90.17137', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73392, 'Jayess', 2805, '39641', '601', '31.373161', '-90.17137', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73393, 'Sartinsville', 2805, '39641', '601', '31.373161', '-90.17137', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73394, 'Topeka', 2805, '39641', '601', '31.373161', '-90.17137', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73395, 'Norfield', 2805, '39629', '601', '31.448187', '-90.451153', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73396, 'Biloxi', 2805, '39535', '228', '30.3956', '-88.8854', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73397, 'Blx', 2805, '39535', '228', '30.3956', '-88.8854', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73398, 'Boloxi', 2805, '39535', '228', '30.3956', '-88.8854', '2018-11-29 05:15:00', '2018-11-29 05:15:00'),\n(73399, 'Long Beach', 2805, '39560', '228', '30.380193', '-89.178233', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73400, 'Bhaven', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73401, 'Brookhaven', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73402, 'Cobbs', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73403, 'East Lincoln', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73404, 'Fair Oaks Springs', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73405, 'Fair River', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73406, 'Friendship', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73407, 'Heucks', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73408, 'Lucien', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73409, 'New Sight', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73410, 'Pearlhaven', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73411, 'Redstar', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73412, 'Union Hall', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73413, 'West Lincoln', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73414, 'Zetus', 2805, '39601', '601', '31.567845', '-90.468218', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73415, 'Farwood', 2805, '39635', '601', '31.190528', '-90.464639', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73416, 'Fernwood', 2805, '39635', '601', '31.190528', '-90.464639', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73417, 'Ruth', 2805, '39662', '601', '31.38906', '-90.307436', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73418, 'Sauls', 2805, '39662', '601', '31.38906', '-90.307436', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73419, 'Columbus', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73420, 'Columbus AFB', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73421, 'Fairlane', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73422, 'G T Airport', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73423, 'Golden Triangle Regional Air', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73424, 'Mccrary', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73425, 'New Hope', 2805, '39701', '662', '33.419486', '-88.486928', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73426, 'Bartahatchie', 2805, '39740', '662', '33.735521', '-88.335284', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73427, 'Caledonia', 2805, '39740', '662', '33.735521', '-88.335284', '2018-11-29 05:15:01', '2018-11-29 05:15:01'),\n(73428, 'Kolola Springs', 2805, '39740', '662', '33.735521', '-88.335284', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73429, 'White Sand', 2805, '39740', '662', '33.735521', '-88.335284', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73430, 'Asbury', 2811, '08802', '908', '40.679498', '-75.032129', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73431, 'E Brunswick', 2811, '08816', '732', '40.436602', '-74.41682', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73432, 'East Brunswick', 2811, '08816', '732', '40.436602', '-74.41682', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73433, 'Little York', 2811, '08834', '908', '40.6111', '-75.0764', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73434, 'Monmouth Jct', 2811, '08852', '732', '40.394588', '-74.548626', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73435, 'Monmouth Junction', 2811, '08852', '732', '40.394588', '-74.548626', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73436, 'E Millstone', 2811, '08875', '908', '40.5014', '-74.5814', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73437, 'Parlin', 2811, '08859', '732', '40.457744', '-74.302433', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73438, 'Educational Testing Service', 2811, '08541', '609', '40.3486', '-74.6597', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73439, 'Princeton', 2811, '08541', '609', '40.3486', '-74.6597', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73440, 'Princeton', 2811, '08543', '609', '40.3486', '-74.6597', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73441, 'Princeton Jct', 2811, '08550', '609', '40.282616', '-74.620518', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73442, 'Princeton Junction', 2811, '08550', '609', '40.282616', '-74.620518', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73443, 'W Windsor', 2811, '08550', '609', '40.282616', '-74.620518', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73444, 'W Windsor Township', 2811, '08550', '609', '40.282616', '-74.620518', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73445, 'West Win Tow', 2811, '08550', '609', '40.282616', '-74.620518', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73446, 'West Windsor', 2811, '08550', '609', '40.282616', '-74.620518', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73447, 'Stockton', 2811, '08559', '609', '40.439444', '-74.971699', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73448, 'Hamilton', 2811, '08611', '609', '40.189898', '-74.744894', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73449, 'Hamilton Township', 2811, '08611', '609', '40.189898', '-74.744894', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73450, 'Hamilton Twp', 2811, '08611', '609', '40.189898', '-74.744894', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73451, 'Trenton', 2811, '08611', '609', '40.189898', '-74.744894', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73452, 'Trenton', 2811, '08625', '609', '40.206709', '-74.756455', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73453, 'Minotola', 2811, '08341', '856', '39.520213', '-74.956374', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73454, 'Monroeville', 2811, '08343', '856', '39.644574', '-75.175893', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73455, 'Port Elizabeth', 2811, '08348', '856', '39.322112', '-74.971322', '2018-11-29 05:15:02', '2018-11-29 05:15:02'),\n(73456, 'Prt Elizabeth', 2811, '08348', '856', '39.322112', '-74.971322', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73457, 'Belle Mead', 2811, '08502', '908', '40.441612', '-74.655414', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73458, 'Montgomery', 2811, '08502', '908', '40.441612', '-74.655414', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73459, 'Waterford', 2811, '08089', '856', '39.723322', '-74.818966', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73460, 'Waterford Wks', 2811, '08089', '856', '39.723322', '-74.818966', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73461, 'Waterford Works', 2811, '08089', '856', '39.723322', '-74.818966', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73462, 'Goshen', 2811, '08218', '609', '39.1517', '-74.871', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73463, 'Jackson', 2811, '08527', '732', '40.102318', '-74.354874', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73464, 'Jackson Township', 2811, '08527', '732', '40.102318', '-74.354874', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73465, 'Jackson Twp', 2811, '08527', '732', '40.102318', '-74.354874', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73466, 'Mount Ephraim', 2811, '08059', '856', '39.886846', '-75.093296', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73467, 'W Colls Hgts', 2811, '08059', '856', '39.886846', '-75.093296', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73468, 'West Collingswood Heights', 2811, '08059', '856', '39.886846', '-75.093296', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73469, 'Pilesgrove', 2811, '08098', '856', '39.633786', '-75.325657', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73470, 'Pilesgrove Township', 2811, '08098', '856', '39.633786', '-75.325657', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73471, 'Pilesgrv Twp', 2811, '08098', '856', '39.633786', '-75.325657', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73472, 'Sharptown', 2811, '08098', '856', '39.633786', '-75.325657', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73473, 'Woodstown', 2811, '08098', '856', '39.633786', '-75.325657', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73474, 'Merchantville', 2811, '08109', '856', '39.950132', '-75.061106', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73475, 'Pennsauken', 2811, '08109', '856', '39.950132', '-75.061106', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73476, 'Burlington City', 2811, '08016', '609', '40.074724', '-74.83421', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73477, 'Burlington Township', 2811, '08016', '609', '40.074724', '-74.83421', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73478, 'Burlngtn City', 2811, '08016', '609', '40.074724', '-74.83421', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73479, 'Burlngtn Twp', 2811, '08016', '609', '40.074724', '-74.83421', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73480, 'Deepwater', 2811, '08023', '856', '39.689345', '-75.485954', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73481, 'Chesilhurst', 2811, '08089', '856', '39.723322', '-74.818966', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73482, 'Ashland', 2811, '08034', '856', '39.907092', '-74.996494', '2018-11-29 05:15:03', '2018-11-29 05:15:03'),\n(73483, 'Cherry Hill', 2811, '08034', '856', '39.907092', '-74.996494', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73484, 'Cherry Hill Township', 2811, '08034', '856', '39.907092', '-74.996494', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73485, 'Blairstown', 2811, '07825', '908', '40.967997', '-74.955655', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73486, 'Hardwick', 2811, '07825', '908', '40.967997', '-74.955655', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73487, 'Johnsonburg', 2811, '07825', '908', '40.967997', '-74.955655', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73488, 'Albion', 2811, '08009', '856', '39.756708', '-74.925604', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73489, 'Berlin', 2811, '08009', '856', '39.756708', '-74.925604', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73490, 'Berlin Boro', 2811, '08009', '856', '39.756708', '-74.925604', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73491, 'East Berlin', 2811, '08009', '856', '39.756708', '-74.925604', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73492, 'Tansboro', 2811, '08009', '856', '39.756708', '-74.925604', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73493, 'Burlington', 2811, '08016', '609', '40.074724', '-74.83421', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73494, 'Gateway National Recreation', 2811, '07732', '732', '40.429495', '-73.989921', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73495, 'Highlands', 2811, '07732', '732', '40.429495', '-73.989921', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73496, 'Monmouth Hills', 2811, '07732', '732', '40.429495', '-73.989921', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73497, 'Sandy Hook', 2811, '07732', '732', '40.429495', '-73.989921', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73498, 'Lafayette', 2811, '07848', '973', '41.105394', '-74.679363', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73499, 'Middleville', 2811, '07855', '973', '41.0555', '-74.8633', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73500, 'East Millstone', 2811, '08875', '908', '40.5014', '-74.5814', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73501, 'Somerset', 2811, '08875', '908', '40.5014', '-74.5814', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73502, 'Ny', 2814, '10129', '212', '40.7143', '-74.0067', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73503, 'Ny City', 2814, '10129', '212', '40.7143', '-74.0067', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73504, 'Nyc', 2814, '10129', '212', '40.7143', '-74.0067', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73505, 'Manhattan', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73506, 'New York', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73507, 'New York City', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73508, 'Ny', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73509, 'Ny City', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73510, 'Nyc', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:04', '2018-11-29 05:15:04'),\n(73511, 'Peck Slip', 2814, '10038', '212', '40.708786', '-74.003216', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73512, 'Manhattan', 2814, '10020', '212', '40.758908', '-73.97902', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73513, 'New York', 2814, '10020', '212', '40.758908', '-73.97902', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73514, 'New York City', 2814, '10020', '212', '40.758908', '-73.97902', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73515, 'Ny', 2814, '10020', '212', '40.758908', '-73.97902', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73516, 'Ny City', 2814, '10020', '212', '40.758908', '-73.97902', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73517, 'Nyc', 2814, '10020', '212', '40.758908', '-73.97902', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73518, 'Franklin D Roosevelt', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73519, 'Manhattan', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73520, 'New York', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73521, 'New York City', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73522, 'Ny', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73523, 'Ny City', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73524, 'Nyc', 2814, '10022', '212', '40.758346', '-73.967997', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73525, 'Manhattan', 2814, '10011', '212', '40.74406', '-74.004592', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73526, 'New York', 2814, '10011', '212', '40.74406', '-74.004592', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73527, 'New York City', 2814, '10011', '212', '40.74406', '-74.004592', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73528, 'Ny', 2814, '10011', '212', '40.74406', '-74.004592', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73529, 'Ny City', 2814, '10011', '212', '40.74406', '-74.004592', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73530, 'Nyc', 2814, '10011', '212', '40.74406', '-74.004592', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73531, 'Hamilton Grange', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(73532, 'Manhattan', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73533, 'New York', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73534, 'New York City', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73535, 'Ny', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73536, 'Ny City', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73537, 'Nyc', 2814, '10031', '212', '40.826904', '-73.949593', '2018-11-29 05:15:05', '2018-11-29 05:15:05'),\n(73538, 'St Paul', 2817, '97137', '503', '45.2064', '-122.966449', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73539, 'Portland', 2817, '97210', '503', '45.551536', '-122.735141', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73540, 'Portland', 2817, '97217', '503', '45.589592', '-122.692988', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73541, 'Portland', 2817, '97228', '503', '45.5239', '-122.6751', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73542, 'Mount Angel', 2817, '97362', '503', '45.066278', '-122.76931', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73543, 'Sublimity', 2817, '97385', '503', '44.864562', '-122.747722', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73544, 'Crow', 2817, '97401', '541', '44.067151', '-123.082726', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73545, 'Eugene', 2817, '97401', '541', '44.067151', '-123.082726', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73546, 'Cheshire', 2817, '97419', '541', '44.179594', '-123.36669', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73547, 'Creswell', 2817, '97426', '541', '43.901212', '-123.038508', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73548, 'Walker', 2817, '97426', '541', '43.901212', '-123.038508', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73549, 'Drain', 2817, '97435', '541', '43.748227', '-123.416985', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73550, 'Oakland', 2817, '97462', '541', '43.492642', '-123.399718', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73551, 'Roseburg', 2817, '97471', '541', '43.217733', '-123.579417', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73552, 'Sixes', 2817, '97476', '541', '42.803791', '-124.354026', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73553, 'Springfield', 2817, '97478', '541', '44.086469', '-122.809333', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73554, 'Grants Pass', 2817, '97528', '541', '42.4606', '-123.3463', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73555, 'Kfalls', 2817, '97601', '541', '42.325358', '-121.93658', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73556, 'Kingsley Field', 2817, '97601', '541', '42.325358', '-121.93658', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73557, 'Klamath Falls', 2817, '97601', '541', '42.325358', '-121.93658', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73558, 'Oretech', 2817, '97601', '541', '42.325358', '-121.93658', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73559, 'Worden', 2817, '97601', '541', '42.325358', '-121.93658', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73560, 'Klamath Falls', 2817, '97603', '541', '42.129492', '-121.698596', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73561, 'New Pine Creek', 2817, '97635', '541', '42.066385', '-120.225589', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73562, 'New Pine Crk', 2817, '97635', '541', '42.066385', '-120.225589', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73563, 'Fields', 2817, '97710', '541', '42.363247', '-118.780262', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73564, 'Camp Sherman', 2817, '97730', '541', '44.534022', '-121.569554', '2018-11-29 05:15:06', '2018-11-29 05:15:06'),\n(73565, 'Gilchrist', 2817, '97737', '541', '43.327801', '-121.709945', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73566, 'Adams', 2817, '97810', '541', '45.751066', '-118.526408', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73567, 'Arlington', 2817, '97812', '541', '45.546268', '-120.325877', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73568, 'Bridgeport', 2817, '97819', '541', '44.505353', '-117.720054', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73569, 'Fossil', 2817, '97830', '541', '44.901978', '-120.073888', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73570, 'Kinzua', 2817, '97830', '541', '44.901978', '-120.073888', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73571, 'Mayville', 2817, '97830', '541', '44.901978', '-120.073888', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73572, 'Irrigon', 2817, '97844', '541', '45.863832', '-119.552042', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73573, 'Monument', 2817, '97864', '541', '44.841977', '-119.380495', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73574, 'Wallowa', 2817, '97885', '541', '45.532754', '-117.545345', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73575, 'Brogan', 2817, '97903', '541', '44.218751', '-117.597063', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73576, 'Burns Junction', 2817, '97910', '541', '42.666142', '-117.627594', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73577, 'Danner', 2817, '97910', '541', '42.666142', '-117.627594', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73578, 'Jordan Valley', 2817, '97910', '541', '42.666142', '-117.627594', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73579, 'Rome', 2817, '97910', '541', '42.666142', '-117.627594', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73580, 'South Mountain', 2817, '97910', '541', '42.666142', '-117.627594', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73581, 'South Mtn', 2817, '97910', '541', '42.666142', '-117.627594', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73582, 'Cairo', 2817, '97914', '541', '44.078902', '-117.01994', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73583, 'Claude', 2817, '97914', '541', '44.078902', '-117.01994', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73584, 'Ontario', 2817, '97914', '541', '44.078902', '-117.01994', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73585, 'Minerva', 2824, '76567', '512', '30.65696', '-96.982774', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73586, 'Praesel', 2824, '76567', '512', '30.65696', '-96.982774', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73587, 'Rockdale', 2824, '76567', '512', '30.65696', '-96.982774', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73588, 'Salty', 2824, '76567', '512', '30.65696', '-96.982774', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73589, 'Chilton', 2824, '76632', '254', '31.309782', '-97.100052', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73590, 'Mooresville', 2824, '76632', '254', '31.309782', '-97.100052', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73591, 'North Prairie', 2824, '76632', '254', '31.309782', '-97.100052', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73592, 'Clifton', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:07', '2018-11-29 05:15:07'),\n(73593, 'Hurst Springs', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73594, 'Laguna Park', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73595, 'Lakewood Harbor', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73596, 'Norse', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73597, 'Smiths Bend', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73598, 'Womack', 2824, '76634', '254', '31.791469', '-97.51366', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73599, 'Iredell', 2824, '76649', '254', '31.962421', '-97.881618', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73600, 'Irene', 2824, '76650', '254', '31.9908', '-96.8709', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73601, 'Richland', 2824, '76681', '903', '31.882795', '-96.451901', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73602, 'Otto', 2824, '76682', '254', '31.456345', '-96.886046', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73603, 'Perry', 2824, '76682', '254', '31.456345', '-96.886046', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73604, 'Riesel', 2824, '76682', '254', '31.456345', '-96.886046', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73605, 'Waco', 2824, '76701', '254', '31.55127', '-97.138246', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73606, 'Waco', 2824, '76798', '254', '31.546766', '-97.120229', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73607, 'Brownwood', 2824, '76802', '325', '31.778949', '-98.90445', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73608, 'Early', 2824, '76802', '325', '31.778949', '-98.90445', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73609, 'Paint Rock', 2824, '76866', '325', '31.429367', '-99.842282', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73610, 'Valley Spring', 2824, '76885', '915', '30.830996', '-98.828948', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73611, 'Best', 2824, '76932', '325', '31.365418', '-101.52165', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73612, 'Big Lake', 2824, '76932', '325', '31.365418', '-101.52165', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73613, 'Texon', 2824, '76932', '325', '31.365418', '-101.52165', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73614, 'Sterling City', 2824, '76951', '325', '31.806484', '-101.044761', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73615, 'Houston', 2824, '77036', '713', '29.693487', '-95.525609', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73616, 'Sharpstown', 2824, '77036', '713', '29.693487', '-95.525609', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73617, 'Houston', 2824, '77049', '281', '29.841515', '-95.146297', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73618, 'Houston', 2824, '77050', '281', '29.902798', '-95.271712', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73619, 'Houston', 2824, '77051', '713', '29.656097', '-95.377429', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73620, 'Houston', 2824, '77069', '281', '29.986409', '-95.525924', '2018-11-29 05:15:08', '2018-11-29 05:15:08'),\n(73621, 'Houston', 2824, '77099', '281', '29.668938', '-95.587576', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73622, 'Houston', 2824, '77201', '832', '29.7655', '-95.3592', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73623, 'Usps Official', 2824, '77201', '832', '29.7655', '-95.3592', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73624, 'Houston', 2824, '77252', '281', '29.7632', '-95.3633', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73625, 'Houston', 2824, '77269', '281', '29.7632', '-95.3633', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73626, 'Houston', 2824, '77284', '281', '29.7632', '-95.3633', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73627, 'Beach', 2824, '77301', '936', '30.303958', '-95.431288', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73628, 'Camp Strake', 2824, '77301', '936', '30.303958', '-95.431288', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73629, 'Conroe', 2824, '77301', '936', '30.303958', '-95.431288', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73630, 'Lakeland', 2824, '77301', '936', '30.303958', '-95.431288', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73631, 'Tamina', 2824, '77301', '936', '30.303958', '-95.431288', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73632, 'Huntsville', 2824, '77320', '936', '30.806067', '-95.57809', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73633, 'Dodge', 2824, '77334', '936', '30.785502', '-95.365299', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73634, 'Ala Coushatta Ind Res', 2824, '77351', '936', '30.69901', '-94.847025', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73635, 'Livingston', 2824, '77351', '936', '30.69901', '-94.847025', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73636, 'Segno', 2824, '77351', '936', '30.69901', '-94.847025', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73637, 'Magnolia', 2824, '77353', '281', '30.1788', '-95.6982', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73638, 'Spring', 2824, '77387', '713', '30.0798', '-95.4156', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73639, 'The Woodlands', 2824, '77387', '713', '30.0798', '-95.4156', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73640, 'Bellaire', 2824, '77402', '713', '29.7056', '-95.4586', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73641, 'Blessing', 2824, '77419', '361', '28.843486', '-96.232773', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73642, 'Kendleton', 2824, '77451', '979', '29.447225', '-96.003521', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73643, 'Powell Point', 2824, '77451', '979', '29.447225', '-96.003521', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73644, 'Pledger', 2824, '77468', '979', '29.174566', '-95.893674', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73645, 'Pasadena', 2824, '77501', '713', '29.6908', '-95.2089', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73646, 'Pasadena', 2824, '77502', '713', '29.678282', '-95.203429', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73647, 'Pasadena', 2824, '77504', '713', '29.646132', '-95.188562', '2018-11-29 05:15:09', '2018-11-29 05:15:09'),\n(73648, 'Danbury', 2824, '77534', '979', '29.216538', '-95.29051', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73649, 'Saratoga', 2824, '77585', '936', '30.361295', '-94.579583', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73650, 'El Lago', 2824, '77586', '281', '29.5783', '-95.038466', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73651, 'Seabrook', 2824, '77586', '281', '29.5783', '-95.038466', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73652, 'Taylor Lake Village', 2824, '77586', '281', '29.5783', '-95.038466', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73653, 'Taylor Lk Vlg', 2824, '77586', '281', '29.5783', '-95.038466', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73654, 'Timber Cove', 2824, '77586', '281', '29.5783', '-95.038466', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73655, 'Tod', 2824, '77586', '281', '29.5783', '-95.038466', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73656, 'Groves', 2824, '77619', '409', '29.94964', '-93.920036', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73657, 'Steeltown', 2824, '77619', '409', '29.94964', '-93.920036', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73658, 'Port Neches', 2824, '77651', '409', '29.981488', '-93.939788', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73659, 'Beaumont', 2824, '77702', '409', '30.087081', '-94.126889', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73660, 'Beaumont', 2824, '77703', '409', '30.113671', '-94.117022', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73661, 'Beaumont', 2824, '77720', '409', '30.0859', '-94.1014', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73662, 'Cologne', 2824, '77901', '361', '28.806794', '-96.990782', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73663, 'Da Costa', 2824, '77901', '361', '28.806794', '-96.990782', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73664, 'Guadalupe', 2824, '77901', '361', '28.806794', '-96.990782', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73665, 'Mission Valley', 2824, '77901', '361', '28.806794', '-96.990782', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73666, 'Victoria', 2824, '77901', '361', '28.806794', '-96.990782', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73667, 'Victoria', 2824, '77902', '361', '28.8051', '-97.0033', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73668, 'Victoria', 2824, '77903', '361', '28.8051', '-97.0033', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73669, 'Inez', 2824, '77968', '361', '28.890267', '-96.80355', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73670, 'La Salle', 2824, '77969', '361', '28.768852', '-96.649183', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73671, 'La Ward', 2824, '77970', '361', '28.838138', '-96.41339', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73672, 'Lytle', 2824, '78052', '830', '29.220423', '-98.788401', '2018-11-29 05:15:10', '2018-11-29 05:15:10'),\n(73673, 'Blevins', 2824, '76524', '254', '31.265283', '-97.227441', '2018-11-29 05:15:11', '2018-11-29 05:15:11'),\n(73674, 'Cego', 2824, '76524', '254', '31.265283', '-97.227441', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73675, 'Dot', 2824, '76524', '254', '31.265283', '-97.227441', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73676, 'Eddy', 2824, '76524', '254', '31.265283', '-97.227441', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73677, 'Flat', 2824, '76526', '254', '31.313835', '-97.550969', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73678, 'Killeen', 2824, '76540', '254', '31.1169', '-97.7264', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73679, 'Killeen', 2824, '76541', '254', '31.113121', '-97.728573', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73680, 'Mound', 2824, '76558', '254', '31.3505', '-97.6369', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73681, 'Schwertner', 2824, '76573', '254', '30.8154', '-97.5146', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73682, 'Mc Gregor', 2824, '76657', '254', '31.434286', '-97.403439', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73683, 'Mcgregor', 2824, '76657', '254', '31.434286', '-97.403439', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73684, 'Penelope', 2824, '76676', '254', '31.848452', '-96.931776', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73685, 'Walnut Spgs', 2824, '76690', '254', '32.068765', '-97.778935', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73686, 'Walnut Springs', 2824, '76690', '254', '32.068765', '-97.778935', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73687, 'Bosqueville', 2824, '76708', '254', '31.621356', '-97.208149', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73688, 'Rock Creek', 2824, '76708', '254', '31.621356', '-97.208149', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73689, 'Waco', 2824, '76708', '254', '31.621356', '-97.208149', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73690, 'Speegleville', 2824, '76710', '254', '31.537435', '-97.188428', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73691, 'Waco', 2824, '76710', '254', '31.537435', '-97.188428', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73692, 'Brady', 2824, '76825', '325', '31.093992', '-99.439084', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73693, 'Calf Creek', 2824, '76825', '325', '31.093992', '-99.439084', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73694, 'Fife', 2824, '76825', '325', '31.093992', '-99.439084', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73695, 'Katemcy', 2824, '76825', '325', '31.093992', '-99.439084', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73696, 'Brookesmith', 2824, '76827', '325', '31.531159', '-99.102074', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73697, 'May', 2824, '76857', '254', '31.926058', '-98.969612', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73698, 'Roosevelt', 2824, '76874', '830', '30.50776', '-100.103193', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73699, 'Algerita', 2824, '76877', '325', '31.09402', '-98.75347', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73700, 'Harkeyville', 2824, '76877', '325', '31.09402', '-98.75347', '2018-11-29 05:15:12', '2018-11-29 05:15:12'),\n(73701, 'San Saba', 2824, '76877', '325', '31.09402', '-98.75347', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73702, 'Houston', 2824, '77007', '713', '29.770418', '-95.410576', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73703, 'Heights', 2824, '77008', '713', '29.798349', '-95.41909', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73704, 'Houston', 2824, '77008', '713', '29.798349', '-95.41909', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73705, 'Houston Heights', 2824, '77008', '713', '29.798349', '-95.41909', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73706, 'Houston', 2824, '77009', '713', '29.792298', '-95.368815', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73707, 'Houston', 2824, '77026', '713', '29.796385', '-95.326935', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73708, 'Houston', 2824, '77074', '713', '29.689799', '-95.526602', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73709, 'Houston', 2824, '77077', '281', '29.754967', '-95.609456', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73710, 'Houston', 2824, '77091', '713', '29.855376', '-95.444804', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73711, 'Houston', 2824, '77094', '281', '29.748098', '-95.685326', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73712, 'Houston', 2824, '77210', '713', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73713, 'Houston', 2824, '77225', '832', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73714, 'Houston', 2824, '77228', '832', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73715, 'Houston', 2824, '77241', '713', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73716, 'Houston', 2824, '77242', '281', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73717, 'Houston', 2824, '77243', '832', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73718, 'Houston', 2824, '77245', '832', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73719, 'Houston', 2824, '77258', '832', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73720, 'Nassau Bay', 2824, '77258', '832', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73721, 'Houston', 2824, '77277', '281', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73722, 'Houston', 2824, '77291', '713', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73723, 'Houston', 2824, '77292', '713', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73724, 'Houston', 2824, '77293', '281', '29.7632', '-95.3633', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73725, 'Cleveland', 2824, '77328', '936', '30.407986', '-95.188402', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73726, 'Humble', 2824, '77345', '281', '30.059756', '-95.159216', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73727, 'Kingwood', 2824, '77345', '281', '30.059756', '-95.159216', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73728, 'Votaw', 2824, '77376', '936', '30.433445', '-94.680544', '2018-11-29 05:15:13', '2018-11-29 05:15:13'),\n(73729, 'Tomball', 2824, '77377', '281', '30.057948', '-95.68256', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73730, 'Willis', 2824, '77378', '936', '30.454539', '-95.382888', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73731, 'Cypress', 2824, '77410', '281', '29.9695', '-95.6976', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73732, 'Collegeport', 2824, '77428', '361', '28.717122', '-96.143634', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73733, 'Guy', 2824, '77444', '979', '29.303914', '-95.778849', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73734, 'Freeport', 2824, '77542', '979', '28.9894', '-95.4083', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73735, 'Fresno', 2824, '77545', '281', '29.545481', '-95.468351', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73736, 'Highlands', 2824, '77562', '281', '29.828332', '-95.045714', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73737, 'Liverpool', 2824, '77577', '281', '29.254614', '-95.193738', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73738, 'Manvel', 2824, '77578', '281', '29.474735', '-95.359887', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73739, 'Figridge', 2824, '77661', '409', '29.7905', '-94.3844', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73740, 'Stowell', 2824, '77661', '409', '29.7905', '-94.3844', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73741, 'North Vidor', 2824, '77662', '409', '30.173622', '-94.007402', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73742, 'Pine Forest', 2824, '77662', '409', '30.173622', '-94.007402', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73743, 'Rose City', 2824, '77662', '409', '30.173622', '-94.007402', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73744, 'Vidor', 2824, '77662', '409', '30.173622', '-94.007402', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73745, 'Beaumont', 2824, '77710', '409', '30.048404', '-94.077126', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73746, 'College Sta', 2824, '77843', '979', '30.608359', '-96.350119', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73747, 'College Station', 2824, '77843', '979', '30.608359', '-96.350119', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73748, 'Tx A & M University', 2824, '77843', '979', '30.608359', '-96.350119', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73749, 'Kurten', 2824, '77862', '979', '30.7869', '-96.2636', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73750, 'Lyons', 2824, '77863', '979', '30.3861', '-96.5632', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73751, 'Snook', 2824, '77878', '979', '30.470384', '-96.480162', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73752, 'Somerville', 2824, '77879', '979', '30.427153', '-96.498538', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73753, 'Washington', 2824, '77880', '936', '30.284464', '-96.180228', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73754, 'Ganado', 2824, '77962', '361', '29.050845', '-96.440315', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73755, 'Placedo', 2824, '77977', '361', '28.689699', '-96.822296', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73756, 'Weesatche', 2824, '77993', '361', '28.8477', '-97.4456', '2018-11-29 05:15:14', '2018-11-29 05:15:14'),\n(73757, 'Fordtran', 2824, '77995', '361', '29.226598', '-97.086548', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73758, 'Hope', 2824, '77995', '361', '29.226598', '-97.086548', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73759, 'Pearl City', 2824, '77995', '361', '29.226598', '-97.086548', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73760, 'Petersville', 2824, '77995', '361', '29.226598', '-97.086548', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73761, 'Theon', 2824, '76537', '512', '30.810401', '-97.597839', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73762, 'Prairie Dell', 2824, '76571', '254', '30.92861', '-97.577109', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73763, 'Salado', 2824, '76571', '254', '30.92861', '-97.577109', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73764, 'Thrall', 2824, '76578', '512', '30.52873', '-97.237721', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73765, 'Lakeside Village', 2824, '76671', '254', '32.057134', '-97.590098', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73766, 'Morgan', 2824, '76671', '254', '32.057134', '-97.590098', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73767, 'Poesville', 2824, '76671', '254', '32.057134', '-97.590098', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73768, 'Bighill', 2824, '76687', '254', '31.404512', '-96.495509', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73769, 'Davis Prairie', 2824, '76687', '254', '31.404512', '-96.495509', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73770, 'Odds', 2824, '76687', '254', '31.404512', '-96.495509', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73771, 'Old Union', 2824, '76687', '254', '31.404512', '-96.495509', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73772, 'Oletha', 2824, '76687', '254', '31.404512', '-96.495509', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73773, 'Thornton', 2824, '76687', '254', '31.404512', '-96.495509', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73774, 'Mosheim', 2824, '76689', '254', '31.62441', '-97.544925', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73775, 'Valley Mills', 2824, '76689', '254', '31.62441', '-97.544925', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73776, 'Ballinger', 2824, '76821', '325', '31.725067', '-99.951572', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73777, 'Bethel', 2824, '76821', '325', '31.725067', '-99.951572', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73778, 'Blanton', 2824, '76821', '325', '31.725067', '-99.951572', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73779, 'Pony', 2824, '76821', '325', '31.725067', '-99.951572', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73780, 'Lowake', 2824, '76855', '325', '31.5667', '-100.0787', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73781, 'San Angelo', 2824, '76905', '325', '31.532406', '-100.282864', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73782, 'Eola', 2824, '76937', '325', '31.348406', '-100.103654', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73783, 'Knickerbocker', 2824, '76939', '325', '31.2667', '-100.6244', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73784, 'Tennyson', 2824, '76953', '325', '31.733285', '-100.347144', '2018-11-29 05:15:15', '2018-11-29 05:15:15'),\n(73785, 'Vancourt', 2824, '76955', '325', '31.215953', '-100.24387', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73786, 'Houston', 2824, '77014', '281', '29.985681', '-95.459009', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73787, 'Houston', 2824, '77030', '713', '29.70836', '-95.401928', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73788, 'Va Hospital', 2824, '77030', '713', '29.70836', '-95.401928', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73789, 'Houston', 2824, '77037', '281', '29.900771', '-95.389418', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73790, 'Greenway Plaza', 2824, '77046', '713', '29.731578', '-95.434841', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73791, 'Houston', 2824, '77046', '713', '29.731578', '-95.434841', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73792, 'Houston', 2824, '77053', '281', '29.589335', '-95.464272', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73793, 'Houston', 2824, '77062', '281', '29.572521', '-95.135912', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73794, 'Houston', 2824, '77073', '281', '30.002821', '-95.394132', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73795, 'Houston', 2824, '77078', '713', '29.851373', '-95.258676', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73796, 'Houston', 2824, '77087', '713', '29.685837', '-95.29978', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73797, 'Houston', 2824, '77089', '281', '29.588537', '-95.225412', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73798, 'Houston', 2824, '77221', '832', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73799, 'Astrodome', 2824, '77230', '713', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73800, 'Houston', 2824, '77230', '713', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73801, 'Houston', 2824, '77273', '281', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73802, 'Houston', 2824, '77280', '713', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73803, 'Houston', 2824, '77282', '214', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73804, 'Houston', 2824, '77289', '713', '29.7632', '-95.3633', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73805, 'Conroe', 2824, '77305', '936', '30.3117', '-95.4559', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73806, 'Dallardsville', 2824, '77332', '936', '30.6283', '-94.6318', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73807, 'Hufsmith', 2824, '77337', '281', '30.1218', '-95.5964', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73808, 'Tomball', 2824, '77337', '281', '30.1218', '-95.5964', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73809, 'Decker Pr', 2824, '77355', '281', '30.160092', '-95.728706', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73810, 'Decker Prairie', 2824, '77355', '281', '30.160092', '-95.728706', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73811, 'Magnolia', 2824, '77355', '281', '30.160092', '-95.728706', '2018-11-29 05:15:16', '2018-11-29 05:15:16'),\n(73812, 'Stagecoach', 2824, '77355', '281', '30.160092', '-95.728706', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73813, 'Rayford', 2824, '77373', '281', '30.071907', '-95.373125', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73814, 'Spring', 2824, '77373', '281', '30.071907', '-95.373125', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73815, 'Klein', 2824, '77391', '281', '30.0476', '-95.5324', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73816, 'Spring', 2824, '77391', '281', '30.0476', '-95.5324', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73817, 'Brookshire', 2824, '77423', '281', '29.8271', '-96.003648', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73818, 'Pattison', 2824, '77423', '281', '29.8271', '-96.003648', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73819, 'Sunny Side', 2824, '77423', '281', '29.8271', '-96.003648', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73820, 'Damon', 2824, '77430', '979', '29.278321', '-95.706984', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73821, 'Hungerford', 2824, '77448', '979', '29.402278', '-96.056058', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73822, 'Matagorda', 2824, '77457', '979', '28.648286', '-96.043976', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73823, 'Orchard', 2824, '77464', '979', '29.594222', '-95.972572', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73824, 'San Felipe', 2824, '77473', '979', '29.801817', '-96.101455', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73825, 'Ashwood', 2824, '77480', '979', '29.086028', '-95.74301', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73826, 'Sugar Valley', 2824, '77480', '979', '29.086028', '-95.74301', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73827, 'Sweeny', 2824, '77480', '979', '29.086028', '-95.74301', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73828, 'Van Vleck', 2824, '77482', '979', '29.090538', '-95.910378', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73829, 'Sugar Land', 2824, '77496', '713', '29.6324', '-95.6195', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73830, 'Angleton', 2824, '77516', '979', '29.1692', '-95.4319', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73831, 'Baytown', 2824, '77521', '281', '29.802893', '-94.970966', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73832, 'Dickinson', 2824, '77539', '281', '29.456614', '-95.043985', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73833, 'San Leon', 2824, '77539', '281', '29.456614', '-95.043985', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73834, 'Friendswood', 2824, '77546', '281', '29.520776', '-95.190584', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73835, 'Lake Jackson', 2824, '77566', '979', '29.040068', '-95.480592', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73836, 'Richwood', 2824, '77566', '979', '29.040068', '-95.480592', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73837, 'Deweyville', 2824, '77614', '409', '30.341107', '-93.802099', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73838, 'Fred', 2824, '77616', '409', '30.610964', '-94.18223', '2018-11-29 05:15:17', '2018-11-29 05:15:17'),\n(73839, 'High Island', 2824, '77623', '409', '29.560347', '-94.422201', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73840, 'Orange', 2824, '77630', '409', '30.056012', '-93.867629', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73841, 'West Orange', 2824, '77630', '409', '30.056012', '-93.867629', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73842, 'Beaumont', 2824, '77707', '409', '30.052954', '-94.177629', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73843, 'Lamar University', 2824, '77707', '409', '30.052954', '-94.177629', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73844, 'Beaumont', 2824, '77725', '409', '30.0425', '-94.1031', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73845, 'Brenham', 2824, '77834', '713', '30.1667', '-96.3977', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73846, 'College Sta', 2824, '77841', '979', '30.6279', '-96.3344', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73847, 'College Station', 2824, '77841', '979', '30.6279', '-96.3344', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73848, 'Gause', 2824, '77857', '512', '30.786548', '-96.68926', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73849, 'Austwell', 2824, '77950', '361', '28.402292', '-96.854457', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73850, 'Cordele', 2824, '77957', '361', '28.980244', '-96.731892', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73851, 'Edna', 2824, '77957', '361', '28.980244', '-96.731892', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73852, 'El Toro', 2824, '77957', '361', '28.980244', '-96.731892', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73853, 'Morales', 2824, '77957', '361', '28.980244', '-96.731892', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73854, 'Castroville', 2824, '78009', '830', '29.360981', '-98.88774', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73855, 'Cotulla', 2824, '78014', '830', '28.368095', '-99.098439', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73856, 'Los Angeles', 2824, '78014', '830', '28.368095', '-99.098439', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73857, 'Rio Medina', 2824, '78066', '830', '29.471772', '-98.887679', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73858, 'Converse', 2824, '78109', '210', '29.478657', '-98.273552', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73859, 'Coy City', 2824, '78118', '830', '28.851282', '-97.959573', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73860, 'Karnes City', 2824, '78118', '830', '28.851282', '-97.959573', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73861, 'Canyon Lake', 2824, '78132', '830', '29.758316', '-98.176275', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73862, 'Hunter', 2824, '78132', '830', '29.758316', '-98.176275', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73863, 'New Braunfels', 2824, '78132', '830', '29.758316', '-98.176275', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73864, 'Friendship', 2824, '76530', '512', '30.705393', '-97.420282', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73865, 'Granger', 2824, '76530', '512', '30.705393', '-97.420282', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73866, 'Jarrell', 2824, '76537', '512', '30.810401', '-97.597839', '2018-11-29 05:15:18', '2018-11-29 05:15:18'),\n(73867, 'New Corn Hill', 2824, '76537', '512', '30.810401', '-97.597839', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73868, 'Ovalo', 2824, '79541', '325', '32.165444', '-99.822365', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73869, 'Claytonville', 2824, '79556', '325', '32.454395', '-100.334615', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73870, 'Palava', 2824, '79556', '325', '32.454395', '-100.334615', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73871, 'Sweetwater', 2824, '79556', '325', '32.454395', '-100.334615', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73872, 'Abilene', 2824, '79607', '325', '32.42035', '-99.838138', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73873, 'Dyess AFB', 2824, '79607', '325', '32.42035', '-99.838138', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73874, 'Midland', 2824, '79710', '432', '31.9974', '-102.0778', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73875, 'Girvin', 2824, '79740', '432', '31.04732', '-102.459438', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73876, 'Goldsmith', 2824, '79741', '432', '31.869206', '-102.628018', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73877, 'Imperial', 2824, '79743', '432', '31.127648', '-102.711346', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73878, 'Odessa', 2824, '79760', '432', '31.8458', '-102.3673', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73879, 'Penwell', 2824, '79776', '432', '31.771812', '-102.606758', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73880, 'Marathon', 2824, '79842', '432', '30.017511', '-102.927722', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73881, 'Biggs Field', 2824, '79908', '915', '31.90052', '-106.239681', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73882, 'El Paso', 2824, '79908', '915', '31.90052', '-106.239681', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73883, 'Fort Bliss', 2824, '79908', '915', '31.90052', '-106.239681', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73884, 'El Paso', 2824, '79910', '915', '31.7696', '-106.4255', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73885, 'El Paso', 2824, '79925', '915', '31.790819', '-106.376901', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73886, 'El Paso', 2824, '79926', '915', '31.7589', '-106.4866', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73887, 'El Paso', 2824, '79940', '915', '31.7589', '-106.4866', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73888, 'Kingsvl Naval', 2824, '78363', '361', '27.455103', '-97.69229', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73889, 'Kingsvlle Nas', 2824, '78363', '361', '27.455103', '-97.69229', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73890, 'Ricardo', 2824, '78363', '361', '27.455103', '-97.69229', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73891, 'Kingsville', 2824, '78364', '361', '27.5157', '-97.8556', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73892, 'Corp Christi', 2824, '78413', '361', '27.682174', '-97.40324', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73893, 'Corpus Christi', 2824, '78413', '361', '27.682174', '-97.40324', '2018-11-29 05:15:19', '2018-11-29 05:15:19'),\n(73894, 'Garciasville', 2824, '78547', '956', '26.431209', '-98.643818', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73895, 'La Villa', 2824, '78562', '956', '26.309262', '-97.919396', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73896, 'Falcon', 2824, '78564', '956', '26.7113', '-99.1109', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73897, 'Lopeno', 2824, '78564', '956', '26.7113', '-99.1109', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73898, 'Curvitas', 2824, '78565', '956', '26.246417', '-98.556875', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73899, 'Los Ebanos', 2824, '78565', '956', '26.246417', '-98.556875', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73900, 'Bahia Mar', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73901, 'Isabel', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73902, 'Laguna Heights', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73903, 'Laguna Hts', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73904, 'Laguna Vista', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73905, 'Port Isabel', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73906, 'Pt Isabel', 2824, '78578', '956', '26.026009', '-97.292048', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73907, 'Progreso', 2824, '78579', '956', '26.084166', '-97.968463', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73908, 'Progreso Lakes', 2824, '78596', '956', '26.150942', '-98.008372', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73909, 'Progreso Lks', 2824, '78596', '956', '26.150942', '-98.008372', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73910, 'Ramona', 2824, '78596', '956', '26.150942', '-98.008372', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73911, 'Weslaco', 2824, '78596', '956', '26.150942', '-98.008372', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73912, 'S Padre Isl E', 2824, '78597', '956', '26.315214', '-97.242901', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73913, 'S Padre Isle', 2824, '78597', '956', '26.315214', '-97.242901', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73914, 'South Padre Island', 2824, '78597', '956', '26.315214', '-97.242901', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73915, 'Port Mansfield', 2824, '78598', '956', '26.541678', '-97.502882', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73916, 'Prt Mansfield', 2824, '78598', '956', '26.541678', '-97.502882', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73917, 'Raymondville', 2824, '78598', '956', '26.541678', '-97.502882', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73918, 'Beyersville', 2824, '78615', '512', '30.469826', '-97.378683', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73919, 'Coupland', 2824, '78615', '512', '30.469826', '-97.378683', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73920, 'Harwood', 2824, '78632', '830', '29.677467', '-97.48617', '2018-11-29 05:15:20', '2018-11-29 05:15:20'),\n(73921, 'Sandy Fork', 2824, '78632', '830', '29.677467', '-97.48617', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73922, 'Saturn', 2824, '78632', '830', '29.677467', '-97.48617', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73923, 'Jonestown', 2824, '78645', '512', '30.441085', '-97.970786', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73924, 'Lago Vista', 2824, '78645', '512', '30.441085', '-97.970786', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73925, 'Leander', 2824, '78645', '512', '30.441085', '-97.970786', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73926, 'Point Venture', 2824, '78645', '512', '30.441085', '-97.970786', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73927, 'Round Rock', 2824, '78665', '512', '30.540216', '-97.646981', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73928, 'Round Rock', 2824, '78680', '512', '30.5082', '-97.6789', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73929, 'Austin', 2824, '78714', '512', '30.2669', '-97.7428', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73930, 'Austin', 2824, '78715', '512', '30.2669', '-97.7428', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73931, 'Austin', 2824, '78731', '512', '30.34497', '-97.770174', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73932, 'Camp Mabry', 2824, '78731', '512', '30.34497', '-97.770174', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73933, 'Austin', 2824, '78746', '512', '30.295657', '-97.813727', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73934, 'Rollingwood', 2824, '78746', '512', '30.295657', '-97.813727', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73935, 'West Lake Hills', 2824, '78746', '512', '30.295657', '-97.813727', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73936, 'West Lake Hls', 2824, '78746', '512', '30.295657', '-97.813727', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73937, 'Austin', 2824, '78779', '512', '30.2667', '-97.7428', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73938, 'Tx Dept Of Motor Vehicles', 2824, '78779', '512', '30.2667', '-97.7428', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73939, 'Batesville', 2824, '78829', '830', '28.935281', '-99.623424', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73940, 'Bleiblerville', 2824, '78931', '979', '30.021793', '-96.44353', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73941, 'Canadian', 2824, '79014', '806', '35.838166', '-100.271113', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73942, 'Glazier', 2824, '79014', '806', '35.838166', '-100.271113', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73943, 'Canyon', 2824, '79016', '806', '34.992095', '-101.913857', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73944, 'West Texas A&m University', 2824, '79016', '806', '34.992095', '-101.913857', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73945, 'Earth', 2824, '79031', '806', '34.208242', '-102.460988', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73946, 'Nazareth', 2824, '79063', '806', '34.553306', '-102.110681', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73947, 'Pampa', 2824, '79066', '806', '35.5364', '-100.9595', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73948, 'Wheeler', 2824, '79096', '806', '35.376098', '-100.21228', '2018-11-29 05:15:21', '2018-11-29 05:15:21'),\n(73949, 'Dougherty', 2824, '79231', '806', '33.944643', '-101.092968', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73950, 'Chalk', 2824, '79248', '806', '34.074856', '-100.25816', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73951, 'Dumont', 2824, '79248', '806', '34.074856', '-100.25816', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73952, 'Paducah', 2824, '79248', '806', '34.074856', '-100.25816', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73953, 'Petersburg', 2824, '79250', '806', '33.933616', '-101.664977', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73954, 'Bledso', 2824, '79314', '806', '33.599732', '-103.01691', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73955, 'Bledsoe', 2824, '79314', '806', '33.599732', '-103.01691', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73956, 'Ransom Canyon', 2824, '79364', '806', '33.494056', '-101.676862', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73957, 'Slaton', 2824, '79364', '806', '33.494056', '-101.676862', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73958, 'Southland', 2824, '79364', '806', '33.494056', '-101.676862', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73959, 'New Home', 2824, '79383', '806', '33.345098', '-101.920436', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73960, 'Lubbock', 2824, '79416', '806', '33.610874', '-101.979228', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73961, 'Girard', 2824, '79518', '806', '33.354152', '-100.683782', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73962, 'Ira', 2824, '79527', '432', '32.638054', '-101.120171', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73963, 'Blair', 2824, '79536', '325', '32.469211', '-99.974072', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73964, 'Merkel', 2824, '79536', '325', '32.469211', '-99.974072', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73965, 'Noodle', 2824, '79536', '325', '32.469211', '-99.974072', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73966, 'Stith', 2824, '79536', '325', '32.469211', '-99.974072', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73967, 'Abilene', 2824, '79602', '325', '32.32681', '-99.661101', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73968, 'Abilene', 2824, '79697', '325', '32.430012', '-99.749905', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73969, 'Mcmurry Univ', 2824, '79697', '325', '32.430012', '-99.749905', '2018-11-29 05:15:22', '2018-11-29 05:15:22');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(73970, 'Odessa', 2824, '79761', '432', '31.854958', '-102.345627', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73971, 'Odessa', 2824, '79763', '432', '31.758803', '-102.556078', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73972, 'Clint', 2824, '79836', '915', '31.504879', '-106.117393', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73973, 'Presidio', 2824, '79845', '432', '29.637188', '-104.202161', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73974, 'Dell City', 2824, '79847', '915', '31.755866', '-104.763267', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73975, 'Salt Flat', 2824, '79847', '915', '31.755866', '-104.763267', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73976, 'El Paso', 2824, '79904', '915', '31.847185', '-106.451112', '2018-11-29 05:15:22', '2018-11-29 05:15:22'),\n(73977, 'El Paso', 2824, '79911', '915', '31.7589', '-106.4866', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73978, 'El Paso', 2824, '79936', '915', '31.754078', '-106.295844', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73979, 'Lubbock', 2824, '79457', '806', '33.5776', '-101.8549', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73980, 'Lubbock', 2824, '79490', '806', '33.5776', '-101.8549', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73981, 'Lubbock', 2824, '79491', '806', '33.5776', '-101.8549', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73982, 'United Marketing Of Texas', 2824, '79491', '806', '33.5776', '-101.8549', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73983, 'Buffalo Gap', 2824, '79508', '325', '32.285754', '-99.84264', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73984, 'Hawley', 2824, '79525', '325', '32.63482', '-99.838024', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73985, 'Hermleigh', 2824, '79526', '325', '32.646162', '-100.789697', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73986, 'O Brien', 2824, '79539', '940', '33.356176', '-99.854694', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73987, 'Midland', 2824, '79707', '432', '32.006582', '-102.185893', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73988, 'Midland', 2824, '79708', '432', '31.9974', '-102.0778', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73989, 'Gardendale', 2824, '79758', '432', '32.03685', '-102.394493', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73990, 'Notrees', 2824, '79759', '432', '31.859885', '-102.741326', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73991, 'El Paso', 2824, '79907', '915', '31.711945', '-106.326329', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73992, 'Ysleta Del Sur Pueblo', 2824, '79907', '915', '31.711945', '-106.326329', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73993, 'Ysleta Sur', 2824, '79907', '915', '31.711945', '-106.326329', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73994, 'El Paso', 2824, '79924', '915', '31.899699', '-106.433771', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73995, 'El Paso', 2824, '79927', '915', '31.650977', '-106.274461', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73996, 'Horizon City', 2824, '79927', '915', '31.650977', '-106.274461', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73997, 'Socorro', 2824, '79927', '915', '31.650977', '-106.274461', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73998, 'Ysleta Del Sur Pueblo', 2824, '79927', '915', '31.650977', '-106.274461', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(73999, 'Ysleta Sur', 2824, '79927', '915', '31.650977', '-106.274461', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(74000, 'El Paso', 2824, '79941', '915', '31.7589', '-106.4866', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(74001, 'El Paso', 2824, '79942', '915', '31.7589', '-106.4866', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(74002, 'El Paso', 2824, '79976', '915', '31.7589', '-106.4866', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(74003, 'Southern Union Gas Co', 2824, '79976', '915', '31.7589', '-106.4866', '2018-11-29 05:15:23', '2018-11-29 05:15:23'),\n(74004, 'Lubbock', 2824, '79464', '806', '33.5776', '-101.8549', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74005, 'Lubbock', 2824, '79499', '806', '33.5776', '-101.8549', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74006, 'Anson', 2824, '79501', '325', '32.752033', '-99.895945', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74007, 'Radium', 2824, '79501', '325', '32.752033', '-99.895945', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74008, 'Dunn', 2824, '79516', '325', '32.5669', '-100.8851', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74009, 'Lueders', 2824, '79533', '325', '32.818622', '-99.624635', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74010, 'Mc Caulley', 2824, '79534', '325', '32.789304', '-100.227809', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74011, 'Snyder', 2824, '79550', '325', '32.7176', '-100.9175', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74012, 'Iatan', 2824, '79565', '325', '32.307314', '-100.980164', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74013, 'Westbrook', 2824, '79565', '325', '32.307314', '-100.980164', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74014, 'Abilene', 2824, '79601', '325', '32.613348', '-99.693246', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74015, 'Hamby', 2824, '79601', '325', '32.613348', '-99.693246', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74016, 'Potosi', 2824, '79601', '325', '32.613348', '-99.693246', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74017, 'Fort Davis', 2824, '79734', '432', '30.75869', '-103.86419', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74018, 'Mcdonald Obs', 2824, '79734', '432', '30.75869', '-103.86419', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74019, 'Mcdonald Observatory', 2824, '79734', '432', '30.75869', '-103.86419', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74020, 'Odessa', 2824, '79765', '432', '31.941518', '-102.318372', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74021, 'Odessa', 2824, '79766', '432', '31.781325', '-102.347862', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74022, 'Odessa', 2824, '79768', '432', '31.8458', '-102.3673', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74023, 'Tarzan', 2824, '79783', '432', '32.375764', '-102.03463', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74024, 'Toyah', 2824, '79785', '432', '31.282048', '-103.805688', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74025, 'San Elizario', 2824, '79849', '915', '31.57658', '-106.259902', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74026, 'El Paso', 2824, '79915', '915', '31.745212', '-106.383339', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74027, 'El Paso', 2824, '79917', '915', '31.7589', '-106.4866', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74028, 'El Paso', 2824, '79932', '915', '31.878015', '-106.608087', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74029, 'El Paso', 2824, '79935', '915', '31.769629', '-106.332064', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74030, 'El Paso', 2824, '79949', '915', '31.7589', '-106.4866', '2018-11-29 05:15:24', '2018-11-29 05:15:24'),\n(74031, 'El Paso', 2824, '79951', '915', '31.7589', '-106.4866', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74032, 'El Paso', 2824, '79952', '915', '31.7589', '-106.4866', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74033, 'Austin', 2824, '78756', '512', '30.320523', '-97.73745', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74034, 'Austin', 2824, '78757', '512', '30.353236', '-97.733682', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74035, 'Austin', 2824, '78772', '512', '30.2667', '-97.7428', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74036, 'Veterans Administration', 2824, '78772', '512', '30.2667', '-97.7428', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74037, 'Austin', 2824, '78774', '512', '30.2667', '-97.7428', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74038, 'State Comptroller', 2824, '78774', '512', '30.2667', '-97.7428', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74039, 'Del Rio', 2824, '78840', '830', '29.763049', '-100.942557', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74040, 'Laughlin AFB', 2824, '78840', '830', '29.763049', '-100.942557', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74041, 'La Pryor', 2824, '78872', '830', '28.949853', '-99.940462', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74042, 'Leakey', 2824, '78873', '830', '29.853218', '-99.813273', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74043, 'Ellinger', 2824, '78938', '979', '29.843692', '-96.70911', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74044, 'Fayetteville', 2824, '78940', '979', '29.918662', '-96.671564', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74045, 'Shelby', 2824, '78940', '979', '29.918662', '-96.671564', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74046, 'Cistern', 2824, '78941', '361', '29.785063', '-97.145712', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74047, 'Flatonia', 2824, '78941', '361', '29.785063', '-97.145712', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74048, 'Floy', 2824, '78941', '361', '29.785063', '-97.145712', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74049, 'Kovar', 2824, '78941', '361', '29.785063', '-97.145712', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74050, 'Praha', 2824, '78941', '361', '29.785063', '-97.145712', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74051, 'Dubina', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74052, 'Engle', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74053, 'Freyburg', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74054, 'Glecker', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74055, 'High Hill', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74056, 'Moravia', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74057, 'Schulenburg', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74058, 'Swiss Alp', 2824, '78956', '979', '29.684411', '-96.9348', '2018-11-29 05:15:25', '2018-11-29 05:15:25'),\n(74059, 'Kirtley', 2824, '78957', '512', '30.000023', '-97.189105', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74060, 'Smithville', 2824, '78957', '512', '30.000023', '-97.189105', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74061, 'Upton', 2824, '78957', '512', '30.000023', '-97.189105', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74062, 'Cotton Center', 2824, '79021', '806', '33.975298', '-102.031355', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74063, 'Hale Center', 2824, '79041', '806', '34.079536', '-101.927096', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74064, 'Amarillo', 2824, '79172', '806', '35.2218', '-101.8309', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74065, 'Amarillo Hardware', 2824, '79172', '806', '35.2218', '-101.8309', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74066, 'Amarillo', 2824, '79189', '806', '35.2218', '-101.8309', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74067, 'Roaring Spngs', 2824, '79256', '806', '33.8988', '-100.779627', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74068, 'Roaring Springs', 2824, '79256', '806', '33.8988', '-100.779627', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74069, 'Denver City', 2824, '79323', '806', '33.045396', '-102.829597', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74070, 'Post', 2824, '79356', '806', '33.179125', '-101.298114', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74071, 'Seagraves', 2824, '79359', '806', '32.829754', '-102.511713', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74072, 'Sundown', 2824, '79372', '806', '33.448166', '-102.489842', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74073, 'Tahoka', 2824, '79373', '806', '33.213393', '-101.816599', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74074, 'Lubbock', 2824, '79406', '806', '33.584985', '-101.879551', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74075, 'Lubbock', 2824, '79408', '806', '33.5776', '-101.8549', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74076, 'Lubbock', 2824, '79409', '806', '33.585136', '-101.885408', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74077, 'Lubbock', 2824, '79423', '806', '33.461318', '-101.839867', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74078, 'Island', 2824, '77550', '409', '29.306824', '-94.771914', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74079, 'Jamaica Beach', 2824, '77550', '409', '29.306824', '-94.771914', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74080, 'Virginia Point', 2824, '77550', '409', '29.306824', '-94.771914', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74081, 'League City', 2824, '77573', '281', '29.511641', '-95.087068', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74082, 'Mont Belvieu', 2824, '77580', '281', '29.8672', '-94.8861', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74083, 'Texas City', 2824, '77591', '409', '29.423933', '-94.983722', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74084, 'West Texas City', 2824, '77591', '409', '29.423933', '-94.983722', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74085, 'Fondren', 2824, '77598', '281', '29.549257', '-95.139173', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74086, 'Webster', 2824, '77598', '281', '29.549257', '-95.139173', '2018-11-29 05:15:26', '2018-11-29 05:15:26'),\n(74087, 'Honey Island', 2824, '77625', '409', '30.354377', '-94.4114', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74088, 'Kountze', 2824, '77625', '409', '30.354377', '-94.4114', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74089, 'Orange', 2824, '77632', '409', '30.20315', '-93.806379', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74090, 'Orangefield', 2824, '77639', '409', '30.0613', '-93.8497', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74091, 'Port Arthur', 2824, '77641', '409', '29.8987', '-93.9288', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74092, 'Bolivar', 2824, '77650', '409', '29.479879', '-94.575799', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74093, 'Crystal Beach', 2824, '77650', '409', '29.479879', '-94.575799', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74094, 'Port Bolivar', 2824, '77650', '409', '29.479879', '-94.575799', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74095, 'Sabine Pass', 2824, '77655', '409', '29.691183', '-94.036893', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74096, 'Lumberton', 2824, '77657', '409', '30.232931', '-94.194234', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74097, 'Rose Hill Acres', 2824, '77657', '409', '30.232931', '-94.194234', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74098, 'Rose Hl Acres', 2824, '77657', '409', '30.232931', '-94.194234', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74099, 'Warren', 2824, '77664', '409', '30.631003', '-94.430914', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74100, 'Beaumont', 2824, '77705', '409', '29.917976', '-94.1832', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74101, 'Cheek', 2824, '77705', '409', '29.917976', '-94.1832', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74102, 'Fannett', 2824, '77705', '409', '29.917976', '-94.1832', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74103, 'Taylor Landing', 2824, '77705', '409', '29.917976', '-94.1832', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74104, 'Taylor Lndg', 2824, '77705', '409', '29.917976', '-94.1832', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74105, 'Millican', 2824, '77866', '936', '30.449058', '-96.217062', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74106, 'Richards', 2824, '77873', '936', '30.572971', '-95.78675', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74107, 'Anderson', 2824, '77875', '936', '30.583978', '-95.938329', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74108, 'Roans Prairie', 2824, '77875', '936', '30.583978', '-95.938329', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74109, 'Wheelock', 2824, '77882', '979', '30.911791', '-96.421125', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74110, 'Port O Connor', 2824, '77982', '361', '28.218395', '-96.62447', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74111, 'Buford', 2824, '79512', '325', '32.401379', '-100.894293', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74112, 'Colorado City', 2824, '79512', '325', '32.401379', '-100.894293', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74113, 'Cuthbert', 2824, '79512', '325', '32.401379', '-100.894293', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74114, 'Lawn', 2824, '79530', '325', '32.128065', '-99.748371', '2018-11-29 05:15:27', '2018-11-29 05:15:27'),\n(74115, 'Rochester', 2824, '79544', '940', '33.30665', '-99.857494', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74116, 'Raytown', 2824, '79546', '325', '32.84633', '-100.489204', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74117, 'Rotan', 2824, '79546', '325', '32.84633', '-100.489204', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74118, 'Andrews', 2824, '79714', '432', '32.304584', '-102.637841', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74119, 'Barstow', 2824, '79719', '432', '31.448487', '-103.288141', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74120, 'Coyanosa', 2824, '79730', '432', '31.184016', '-103.063135', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74121, 'Sunray', 2824, '79086', '806', '35.873679', '-101.789239', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74122, 'Amarillo', 2824, '79102', '806', '35.201594', '-101.84455', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74123, 'Amarillo', 2824, '79111', '806', '35.220238', '-101.69758', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74124, 'Amarillo', 2824, '79118', '806', '35.07904', '-101.770906', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74125, 'Palisades', 2824, '79118', '806', '35.07904', '-101.770906', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74126, 'Timbercreek Canyon', 2824, '79118', '806', '35.07904', '-101.770906', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74127, 'Timbercrk Cyn', 2824, '79118', '806', '35.07904', '-101.770906', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74128, 'Amarillo', 2824, '79159', '806', '35.2218', '-101.8309', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74129, 'Amarillo', 2824, '79168', '806', '35.2218', '-101.8309', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74130, 'American Quarter Horse Assoc', 2824, '79168', '806', '35.2218', '-101.8309', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74131, 'Guthrie', 2824, '79236', '806', '33.684604', '-100.33588', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74132, 'Quanah', 2824, '79252', '940', '34.331147', '-99.794862', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74133, 'Turkey', 2824, '79261', '806', '34.471438', '-100.681125', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74134, 'Levelland', 2824, '79336', '806', '33.60678', '-102.346502', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74135, 'Pettit', 2824, '79336', '806', '33.60678', '-102.346502', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74136, 'Spur', 2824, '79370', '806', '33.5143', '-100.806495', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74137, 'Whiteface', 2824, '79379', '806', '33.50508', '-102.709036', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74138, 'Buffalo Spgs', 2824, '79404', '806', '33.527064', '-101.766699', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74139, 'Buffalo Springs', 2824, '79404', '806', '33.527064', '-101.766699', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74140, 'Lubbock', 2824, '79404', '806', '33.527064', '-101.766699', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74141, 'Lubbock', 2824, '79413', '806', '33.546352', '-101.888651', '2018-11-29 05:15:28', '2018-11-29 05:15:28'),\n(74142, 'Sandia', 2824, '78383', '361', '28.07278', '-97.94688', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74143, 'Corp Christi', 2824, '78417', '361', '27.734587', '-97.458273', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74144, 'Corpus Christi', 2824, '78417', '361', '27.734587', '-97.458273', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74145, 'Corp Christi', 2824, '78426', '361', '27.8006', '-97.3964', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74146, 'Corpus Christi', 2824, '78426', '361', '27.8006', '-97.3964', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74147, 'Corp Christi', 2824, '78460', '361', '27.8006', '-97.3964', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74148, 'Corpus Christi', 2824, '78460', '361', '27.8006', '-97.3964', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74149, 'Corp Christi', 2824, '78467', '361', '27.8006', '-97.3964', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74150, 'Corpus Christi', 2824, '78467', '361', '27.8006', '-97.3964', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74151, 'Corp Christi', 2824, '78469', '361', '27.7986', '-97.4013', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74152, 'Corpus Christi', 2824, '78469', '361', '27.7986', '-97.4013', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74153, 'Mc Allen', 2824, '78501', '956', '26.214588', '-98.239064', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74154, 'Mcallen', 2824, '78501', '956', '26.214588', '-98.239064', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74155, 'La Joya', 2824, '78560', '956', '26.223809', '-98.466832', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74156, 'Los Indios', 2824, '78567', '956', '26.0514', '-97.7457', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74157, 'Mission', 2824, '78574', '956', '26.320764', '-98.318132', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74158, 'Palmhurst', 2824, '78574', '956', '26.320764', '-98.318132', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74159, 'Palmview', 2824, '78574', '956', '26.320764', '-98.318132', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74160, 'Rio Hondo', 2824, '78583', '956', '26.275955', '-97.450884', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74161, 'Sebastian', 2824, '78594', '956', '26.349915', '-97.718674', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74162, 'Briggs', 2824, '78608', '512', '30.926746', '-97.996174', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74163, 'Oakalla', 2824, '78608', '512', '30.926746', '-97.996174', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74164, 'Hye', 2824, '78635', '830', '30.183533', '-98.531109', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74165, 'Liberty Hill', 2824, '78642', '512', '30.701013', '-97.933009', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74166, 'Ottine', 2824, '78658', '830', '29.595189', '-97.591231', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74167, 'Pflugerville', 2824, '78660', '512', '30.441029', '-97.59791', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74168, 'Briarcliff', 2824, '78669', '512', '30.426811', '-98.124323', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74169, 'Spicewood', 2824, '78669', '512', '30.426811', '-98.124323', '2018-11-29 05:15:29', '2018-11-29 05:15:29'),\n(74170, 'Round Rock', 2824, '78683', '512', '30.5102', '-97.7067', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74171, 'Austin', 2824, '78701', '512', '30.2672', '-97.742306', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74172, 'Austin', 2824, '78703', '512', '30.28973', '-97.766479', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74173, 'Tarrytown', 2824, '78703', '512', '30.28973', '-97.766479', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74174, 'Austin', 2824, '78735', '512', '30.269685', '-97.861058', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74175, 'Oak Hill', 2824, '78735', '512', '30.269685', '-97.861058', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74176, 'Sunset Valley', 2824, '78735', '512', '30.269685', '-97.861058', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74177, 'Austin', 2824, '78744', '512', '30.175398', '-97.737258', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74178, 'Bluff Springs', 2824, '78744', '512', '30.175398', '-97.737258', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74179, 'Colton', 2824, '78744', '512', '30.175398', '-97.737258', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74180, 'Pilot Knob', 2824, '78744', '512', '30.175398', '-97.737258', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74181, 'Austin', 2824, '78753', '512', '30.379657', '-97.677256', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74182, 'Dessau', 2824, '78753', '512', '30.379657', '-97.677256', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74183, 'Austin', 2824, '78769', '512', '30.2667', '-97.7428', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74184, 'Uvalde', 2824, '78801', '830', '29.355531', '-99.841519', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74185, 'Barksdale', 2824, '78828', '830', '29.754114', '-100.144072', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74186, 'Vance', 2824, '78828', '830', '29.754114', '-100.144072', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74187, 'Dryden', 2824, '78851', '432', '30.218607', '-102.106654', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74188, 'Tarpley', 2824, '78883', '830', '29.670852', '-99.290873', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74189, 'Alleyton', 2824, '78935', '979', '29.756648', '-96.463882', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74190, 'Warda', 2824, '78960', '979', '30.058684', '-96.922977', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74191, 'Black', 2824, '79035', '806', '34.636738', '-102.784214', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74192, 'Friona', 2824, '79035', '806', '34.636738', '-102.784214', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74193, 'Kerrick', 2824, '79051', '806', '36.477405', '-102.260095', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74194, 'Lazbuddie', 2824, '79053', '806', '34.384692', '-102.587034', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74195, 'Summerfield', 2824, '79085', '806', '34.711513', '-102.483782', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74196, 'Texline', 2824, '79087', '806', '36.328336', '-102.914231', '2018-11-29 05:15:30', '2018-11-29 05:15:30'),\n(74197, 'Amarillo', 2824, '79101', '806', '35.205341', '-101.83998', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74198, 'Amarillo', 2824, '79103', '806', '35.17139', '-101.801321', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74199, 'Amarillo', 2824, '79110', '806', '35.149824', '-101.872522', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74200, 'Amarillo', 2824, '79117', '806', '35.2218', '-101.8309', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74201, 'Amarillo', 2824, '79178', '806', '35.188332', '-101.846569', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74202, 'Amarillo College', 2824, '79178', '806', '35.188332', '-101.846569', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74203, 'Clarendon', 2824, '79226', '806', '34.965734', '-100.814777', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74204, 'Howardwick', 2824, '79226', '806', '34.965734', '-100.814777', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74205, 'Matador', 2824, '79244', '806', '34.114308', '-100.779196', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74206, 'Maple', 2824, '79344', '806', '33.863254', '-102.937377', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74207, 'Pep', 2824, '79353', '806', '33.793276', '-102.577667', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74208, 'Seminole', 2824, '79360', '806', '32.740855', '-102.633848', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74209, 'Wellman', 2824, '79378', '806', '33.024809', '-102.465784', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74210, 'Lubbock', 2824, '79410', '806', '33.570657', '-101.89652', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74211, 'Lubbock', 2824, '79412', '806', '33.546202', '-101.857453', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74212, 'Lubbock', 2824, '79430', '806', '33.5776', '-101.8549', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74213, 'Texas Tech School Of Medicin', 2824, '79430', '806', '33.5776', '-101.8549', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74214, 'Benjamin', 2824, '79505', '940', '33.555575', '-99.827086', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74215, 'Galveston', 2824, '77552', '409', '29.3121', '-94.7644', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74216, 'Galveston', 2824, '77553', '409', '29.329751', '-94.797509', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74217, 'Galveston', 2824, '77554', '409', '29.220296', '-94.944805', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74218, 'Jamaica Beach', 2824, '77554', '409', '29.220296', '-94.944805', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74219, 'Tiki Island', 2824, '77554', '409', '29.220296', '-94.944805', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74220, 'West Galveston', 2824, '77554', '409', '29.220296', '-94.944805', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74221, 'La Marque', 2824, '77568', '409', '29.36199', '-94.979785', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74222, 'Pearland', 2824, '77584', '281', '29.542806', '-95.345695', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74223, 'South Houston', 2824, '77587', '713', '29.660665', '-95.228718', '2018-11-29 05:15:31', '2018-11-29 05:15:31'),\n(74224, 'Caplen', 2824, '77617', '409', '29.515175', '-94.517869', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74225, 'Gilchrist', 2824, '77617', '409', '29.515175', '-94.517869', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74226, 'Vidor', 2824, '77670', '409', '30.1316', '-94.0156', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74227, 'Benchley', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74228, 'Bryan', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74229, 'Edge', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74230, 'Law', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74231, 'Reliance', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74232, 'Steep Hollow', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74233, 'Tabor', 2824, '77801', '979', '30.639301', '-96.360977', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74234, 'Bryan', 2824, '77802', '979', '30.660437', '-96.323281', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74235, 'Bryan', 2824, '77803', '979', '30.676662', '-96.385194', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74236, 'Caldwell', 2824, '77836', '979', '30.525203', '-96.691906', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74237, 'Chriesman', 2824, '77838', '979', '30.5995', '-96.7709', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74238, 'Deanville', 2824, '77852', '979', '30.4318', '-96.7559', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74239, 'Dime Box', 2824, '77853', '979', '30.370857', '-96.816108', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74240, 'New Baden', 2824, '77870', '979', '31.059305', '-96.39942', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74241, 'Hilltop Lakes', 2824, '77871', '936', '31.099734', '-96.129295', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74242, 'Normangee', 2824, '77871', '936', '31.099734', '-96.129295', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74243, 'Victoria', 2824, '77904', '361', '28.959317', '-96.987786', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74244, 'Raisin', 2824, '77905', '361', '28.728377', '-97.016487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74245, 'Victoria', 2824, '77905', '361', '28.728377', '-97.016487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74246, 'Arneckeville', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74247, 'Cheapside', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74248, 'Concrete', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74249, 'Cuero', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74250, 'Edgar', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:32', '2018-11-29 05:15:32'),\n(74251, 'Lindenau', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74252, 'Stratton', 2824, '77954', '361', '29.111281', '-97.251487', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74253, 'Lolita', 2824, '77971', '361', '28.789565', '-96.44997', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74254, 'Sublime', 2824, '77986', '361', '29.4785', '-96.7969', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74255, 'Sweet Home', 2824, '77987', '361', '29.3452', '-97.0707', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74256, 'Telferner', 2824, '77988', '361', '28.853722', '-96.877525', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74257, 'Atascosa', 2824, '78002', '210', '29.277094', '-98.728579', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74258, 'Bandera', 2824, '78003', '830', '29.741597', '-99.112611', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74259, 'Bigfoot', 2824, '78005', '830', '29.052324', '-98.858396', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74260, 'Medina', 2824, '78055', '830', '29.785286', '-99.331102', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74261, 'Three Rivers', 2824, '78071', '361', '28.526474', '-98.143896', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74262, 'Beeville', 2824, '78104', '361', '28.4006', '-97.7481', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74263, 'Checks In The Mail', 2824, '78135', '830', '29.7037', '-98.1247', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74264, 'New Braunfels', 2824, '78135', '830', '29.7037', '-98.1247', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74265, 'Live Oak', 2824, '78154', '210', '29.568833', '-98.277058', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74266, 'Schertz', 2824, '78154', '210', '29.568833', '-98.277058', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74267, 'Selma', 2824, '78154', '210', '29.568833', '-98.277058', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74268, 'San Antonio', 2824, '78203', '210', '29.415274', '-98.461146', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74269, 'San Antonio', 2824, '78204', '210', '29.406044', '-98.507786', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74270, 'San Antonio', 2824, '78205', '210', '29.424324', '-98.487124', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74271, 'San Antonio', 2824, '78237', '210', '29.420937', '-98.565298', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74272, 'San Antonio', 2824, '78253', '210', '29.471996', '-98.796976', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74273, 'San Antonio', 2824, '78288', '210', '29.4239', '-98.4935', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74274, 'United Service Auto Assc', 2824, '78288', '210', '29.4239', '-98.4935', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74275, 'Armstrong', 2824, '78338', '361', '26.852759', '-97.713877', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74276, 'Norias', 2824, '78338', '361', '26.852759', '-97.713877', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74277, 'Rudolph', 2824, '78338', '361', '26.852759', '-97.713877', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74278, 'Encino', 2824, '78353', '361', '26.989887', '-98.239194', '2018-11-29 05:15:33', '2018-11-29 05:15:33'),\n(74279, 'Kelsay', 2824, '78353', '361', '26.989887', '-98.239194', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74280, 'Rachal', 2824, '78353', '361', '26.989887', '-98.239194', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74281, 'Port Aransas', 2824, '78373', '361', '27.789918', '-97.110448', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74282, 'Corp Christi', 2824, '78403', '361', '27.8006', '-97.3964', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74283, 'Corpus Christi', 2824, '78403', '361', '27.8006', '-97.3964', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74284, 'Mc Allen', 2824, '78504', '956', '26.280129', '-98.238373', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74285, 'Mcallen', 2824, '78504', '956', '26.280129', '-98.238373', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74286, 'Brownsville', 2824, '78521', '956', '25.904156', '-97.422903', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74287, 'Edcouch', 2824, '78538', '956', '26.308984', '-97.959218', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74288, 'Monte Alto', 2824, '78538', '956', '26.308984', '-97.959218', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74289, 'Alton', 2824, '78573', '956', '26.300274', '-98.29759', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74290, 'Mission', 2824, '78573', '956', '26.300274', '-98.29759', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74291, 'Palmhurst', 2824, '78573', '956', '26.300274', '-98.29759', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74292, 'Fentress', 2824, '78622', '512', '29.764693', '-97.771272', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74293, 'Kingsbury', 2824, '78638', '830', '29.6482', '-97.823317', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74294, 'Granite Shoals Lake Shores', 2824, '78639', '830', '30.653734', '-98.44461', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74295, 'Kingsland', 2824, '78639', '830', '30.653734', '-98.44461', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74296, 'Lakeside Heights', 2824, '78639', '830', '30.653734', '-98.44461', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74297, 'Kyle', 2824, '78640', '512', '29.99008', '-97.842228', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74298, 'Niederwald', 2824, '78640', '512', '29.99008', '-97.842228', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74299, 'Uhland', 2824, '78640', '512', '29.99008', '-97.842228', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74300, 'Granite Shls', 2824, '78654', '830', '30.567624', '-98.203967', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74301, 'Granite Shoals', 2824, '78654', '830', '30.567624', '-98.203967', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74302, 'Highland Haven', 2824, '78654', '830', '30.567624', '-98.203967', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74303, 'Highland Havn', 2824, '78654', '830', '30.567624', '-98.203967', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74304, 'Marble Falls', 2824, '78654', '830', '30.567624', '-98.203967', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74305, 'Meadowlakes', 2824, '78654', '830', '30.567624', '-98.203967', '2018-11-29 05:15:34', '2018-11-29 05:15:34'),\n(74306, 'Martindale', 2824, '78655', '512', '29.800535', '-97.80638', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74307, 'Blooming Grv', 2824, '76626', '903', '32.076533', '-96.686736', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74308, 'Elm Mott', 2824, '76640', '254', '31.683528', '-97.068198', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74309, 'Box Church', 2824, '76642', '254', '31.54575', '-96.562658', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74310, 'Groesbeck', 2824, '76642', '254', '31.54575', '-96.562658', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74311, 'Lake Limestone', 2824, '76642', '254', '31.54575', '-96.562658', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74312, 'Lk Limestone', 2824, '76642', '254', '31.54575', '-96.562658', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74313, 'Thelma', 2824, '76642', '254', '31.54575', '-96.562658', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74314, 'Hewitt', 2824, '76643', '254', '31.456802', '-97.187257', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74315, 'Barclay', 2824, '76656', '254', '31.178465', '-97.068915', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74316, 'Durango', 2824, '76656', '254', '31.178465', '-97.068915', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74317, 'Goodville', 2824, '76656', '254', '31.178465', '-97.068915', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74318, 'Lott', 2824, '76656', '254', '31.178465', '-97.068915', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74319, 'Travis', 2824, '76656', '254', '31.178465', '-97.068915', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74320, 'Westphalia', 2824, '76656', '254', '31.178465', '-97.068915', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74321, 'Malone', 2824, '76660', '254', '31.930075', '-96.898226', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74322, 'Birome', 2824, '76673', '254', '31.76208', '-96.905168', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74323, 'Mount Calm', 2824, '76673', '254', '31.76208', '-96.905168', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74324, 'Currie', 2824, '76693', '254', '31.799261', '-96.395567', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74325, 'Wortham', 2824, '76693', '254', '31.799261', '-96.395567', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74326, 'Waco', 2824, '76707', '254', '31.553332', '-97.159867', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74327, 'Bend', 2824, '76824', '325', '31.063163', '-98.510532', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74328, 'Melvin', 2824, '76858', '325', '31.153617', '-99.583706', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74329, 'Rowena', 2824, '76875', '325', '31.643584', '-99.934294', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74330, 'Goodfellow AFB', 2824, '76908', '325', '31.43294', '-100.406472', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74331, 'Goodfelow AFB', 2824, '76908', '325', '31.43294', '-100.406472', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74332, 'San Angelo', 2824, '76908', '325', '31.43294', '-100.406472', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74333, 'Angelo State University', 2824, '76909', '325', '31.437842', '-100.459424', '2018-11-29 05:15:35', '2018-11-29 05:15:35'),\n(74334, 'San Angelo', 2824, '76909', '325', '31.437842', '-100.459424', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74335, 'Houston', 2824, '77011', '713', '29.741797', '-95.309376', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74336, 'Houston', 2824, '77027', '713', '29.746277', '-95.447496', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74337, 'Houston', 2824, '77042', '713', '29.741868', '-95.558216', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74338, 'Houston', 2824, '77043', '713', '29.808392', '-95.571706', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74339, 'Clear Lake City', 2824, '77058', '281', '29.562688', '-95.092172', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74340, 'Houston', 2824, '77058', '281', '29.562688', '-95.092172', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74341, 'Lyndon B Johnson Space Cen', 2824, '77058', '281', '29.562688', '-95.092172', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74342, 'Nassau Bay', 2824, '77058', '281', '29.562688', '-95.092172', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74343, 'Houston', 2824, '77060', '281', '29.934017', '-95.395997', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74344, 'Houston', 2824, '77061', '713', '29.652842', '-95.283357', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74345, 'Houston', 2824, '77075', '713', '29.623422', '-95.263631', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74346, 'Houston', 2824, '77092', '713', '29.83005', '-95.467548', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74347, 'Houston', 2824, '77226', '832', '29.7632', '-95.3633', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74348, 'Houston', 2824, '77275', '832', '29.7632', '-95.3633', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74349, 'Huntsville', 2824, '77342', '936', '30.7234', '-95.5508', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74350, 'Huntsville', 2824, '77343', '936', '30.7234', '-95.5508', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74351, 'Tx State Prison', 2824, '77343', '936', '30.7234', '-95.5508', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74352, 'Onalaska', 2824, '77360', '936', '30.840285', '-95.135904', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74353, 'Pinehurst', 2824, '77362', '281', '30.156545', '-95.667496', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74354, 'Rose Hill', 2824, '77375', '281', '30.09184', '-95.590398', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74355, 'The Woodlands', 2824, '77375', '281', '30.09184', '-95.590398', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74356, 'Tomball', 2824, '77375', '281', '30.09184', '-95.590398', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74357, 'Alief', 2824, '77411', '281', '29.7106', '-95.5963', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74358, 'Howellville', 2824, '77411', '281', '29.7106', '-95.5963', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74359, 'Chappell Hill', 2824, '77426', '979', '30.205958', '-96.21723', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74360, 'Glen Flora', 2824, '77443', '979', '29.350203', '-96.173408', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74361, 'Sheridan', 2824, '77475', '979', '29.445292', '-96.653488', '2018-11-29 05:15:36', '2018-11-29 05:15:36'),\n(74362, 'Simonton', 2824, '77476', '281', '29.677848', '-95.992088', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74363, 'Valley Lodge', 2824, '77476', '281', '29.677848', '-95.992088', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74364, 'Meadows Place', 2824, '77477', '281', '29.627386', '-95.562622', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74365, 'Stafford', 2824, '77477', '281', '29.627386', '-95.562622', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74366, 'Sugar Land', 2824, '77478', '281', '29.630216', '-95.632308', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74367, 'Alta Loma', 2824, '77510', '409', '29.333681', '-95.111629', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74368, 'Santa Fe', 2824, '77510', '409', '29.333681', '-95.111629', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74369, 'Alvin', 2824, '77511', '281', '29.393818', '-95.245138', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74370, 'Alvin', 2824, '77512', '281', '29.4237', '-95.2436', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74371, 'Hankamer', 2824, '77560', '409', '29.874031', '-94.576194', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74372, 'Haukanier', 2824, '77560', '409', '29.874031', '-94.576194', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74373, 'Texas City', 2824, '77592', '409', '29.3837', '-94.9028', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74374, 'Bridge City', 2824, '77611', '409', '29.958651', '-93.812903', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74375, 'Mauriceville', 2824, '77626', '409', '30.2033', '-93.8662', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74376, 'Nome', 2824, '77629', '409', '30.001454', '-94.419007', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74377, 'Port Arthur', 2824, '77642', '409', '29.912176', '-93.916448', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74378, 'Grayburg', 2824, '77659', '409', '30.178117', '-94.445754', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74379, 'Sour Lake', 2824, '77659', '409', '30.178117', '-94.445754', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74380, 'Aggieland', 2824, '77844', '979', '30.5943', '-96.3574', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74381, 'College Sta', 2824, '77844', '979', '30.5943', '-96.3574', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74382, 'College Station', 2824, '77844', '979', '30.5943', '-96.3574', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74383, 'Houston', 2824, '77033', '713', '29.668269', '-95.33558', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74384, 'Houston', 2824, '77066', '281', '29.962562', '-95.499411', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74385, 'Houston', 2824, '77085', '713', '29.625764', '-95.491992', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74386, 'Houston', 2824, '77202', '832', '29.7625', '-95.3616', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74387, 'Houston', 2824, '77217', '832', '29.7632', '-95.3633', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74388, 'Houston', 2824, '77218', '832', '29.7632', '-95.3633', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74389, 'Houston', 2824, '77233', '210', '29.7632', '-95.3633', '2018-11-29 05:15:37', '2018-11-29 05:15:37'),\n(74390, 'Houston', 2824, '77235', '713', '29.7632', '-95.3633', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74391, 'Houston', 2824, '77236', '832', '29.7632', '-95.3633', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74392, 'Houston', 2824, '77253', '713', '29.7632', '-95.3633', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74393, 'Houston', 2824, '77267', '832', '29.7632', '-95.3633', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74394, 'Panorama Village', 2824, '77318', '936', '30.438671', '-95.540017', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74395, 'Willis', 2824, '77318', '936', '30.438671', '-95.540017', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74396, 'Goodrich', 2824, '77335', '936', '30.601876', '-94.931362', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74397, 'Huffman', 2824, '77336', '281', '30.076983', '-95.101464', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74398, 'Romayor', 2824, '77368', '281', '30.435895', '-94.822188', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74399, 'Spring', 2824, '77383', '281', '30.0798', '-95.4167', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74400, 'Conroe', 2824, '77385', '281', '30.19297', '-95.416012', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74401, 'Oak Ridge N', 2824, '77385', '281', '30.19297', '-95.416012', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74402, 'Oak Ridge North', 2824, '77385', '281', '30.19297', '-95.416012', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74403, 'Shenandoah', 2824, '77385', '281', '30.19297', '-95.416012', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74404, 'The Woodlands', 2824, '77385', '281', '30.19297', '-95.416012', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74405, 'Boling', 2824, '77420', '979', '29.251706', '-95.933334', '2018-11-29 05:15:38', '2018-11-29 05:15:38');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(74406, 'Iago', 2824, '77420', '979', '29.251706', '-95.933334', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74407, 'Eagle Lake', 2824, '77434', '979', '29.559798', '-96.328464', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74408, 'Elm Grove', 2824, '77434', '979', '29.559798', '-96.328464', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74409, 'Egypt', 2824, '77436', '979', '29.4044', '-96.2367', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74410, 'Katy', 2824, '77450', '281', '29.743695', '-95.731768', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74411, 'Park Row', 2824, '77450', '281', '29.743695', '-95.731768', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74412, 'Kenney', 2824, '77452', '979', '30.0477', '-96.3267', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74413, 'Haid', 2824, '77453', '979', '29.2155', '-96.0266', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74414, 'Lane City', 2824, '77453', '979', '29.2155', '-96.0266', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74415, 'Wallis', 2824, '77485', '979', '29.630612', '-96.038338', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74416, 'East Columbia', 2824, '77486', '979', '29.155393', '-95.671736', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74417, 'West Columbia', 2824, '77486', '979', '29.155393', '-95.671736', '2018-11-29 05:15:38', '2018-11-29 05:15:38'),\n(74418, 'Sugar Land', 2824, '77487', '281', '29.6197', '-95.6344', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74419, 'Bacliff', 2824, '77518', '281', '29.507987', '-94.980477', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74420, 'Batson', 2824, '77519', '936', '30.239886', '-94.599492', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74421, 'Dayton', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74422, 'Dayton Lakes', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74423, 'Eastgate', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74424, 'Kenefick', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74425, 'Mont Belvieu', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74426, 'Old River-Winfree', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74427, 'Old Rvr-Wnfre', 2824, '77535', '936', '30.065757', '-94.905504', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74428, 'Deer Park', 2824, '77536', '281', '29.7138', '-95.11695', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74429, 'Beaumont', 2824, '77701', '409', '30.094544', '-94.093352', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74430, 'Beaumont', 2824, '77704', '409', '30.0859', '-94.1014', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74431, 'Burton', 2824, '77835', '979', '30.18419', '-96.646982', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74432, 'Calvert', 2824, '77837', '979', '31.010605', '-96.665647', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74433, 'Flynn', 2824, '77855', '936', '31.143921', '-96.134638', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74434, 'Navasota', 2824, '77868', '936', '30.370422', '-96.057376', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74435, 'White Hall', 2824, '77868', '936', '30.370422', '-96.057376', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74436, 'Bergheim', 2824, '78004', '830', '29.858098', '-98.534291', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74437, 'Encinal', 2824, '78019', '956', '28.156093', '-99.098136', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74438, 'Fowlerton', 2824, '78021', '830', '28.537392', '-98.83342', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74439, 'George West', 2824, '78022', '361', '28.22711', '-98.099981', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74440, 'Tilden', 2824, '78072', '361', '28.349278', '-98.635327', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74441, 'Beeville', 2824, '78102', '361', '28.442341', '-97.732642', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74442, 'Kenedy', 2824, '78119', '830', '28.793382', '-97.843159', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74443, 'Leesville', 2824, '78122', '830', '29.389573', '-97.774688', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74444, 'New Berlin', 2824, '78155', '830', '29.569628', '-97.938544', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74445, 'Seguin', 2824, '78155', '830', '29.569628', '-97.938544', '2018-11-29 05:15:39', '2018-11-29 05:15:39'),\n(74446, 'San Antonio', 2824, '78202', '210', '29.428012', '-98.462994', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74447, 'Kirby', 2824, '78219', '210', '29.448726', '-98.38005', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74448, 'San Antonio', 2824, '78219', '210', '29.448726', '-98.38005', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74449, 'Jbsa Lackland', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74450, 'Kelly Usa', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74451, 'Lackland', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74452, 'Lackland A F B', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74453, 'Lackland AFB', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74454, 'San Antonio', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74455, 'Security Services', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74456, 'Security Svc', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74457, 'Wilford Hall', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74458, 'Wilford Hall Usaf Hosp', 2824, '78236', '210', '29.376276', '-98.626265', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74459, 'San Antonio', 2824, '78252', '210', '29.340136', '-98.714633', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74460, 'Leon Valley', 2824, '78254', '210', '29.557533', '-98.721572', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74461, 'San Antonio', 2824, '78254', '210', '29.557533', '-98.721572', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74462, 'San Antonio', 2824, '78255', '210', '29.636096', '-98.661914', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74463, 'San Antonio', 2824, '78256', '210', '29.626112', '-98.629959', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74464, 'San Antonio', 2824, '78269', '210', '29.4239', '-98.4935', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74465, 'City Public Serv Board', 2824, '78289', '210', '29.4239', '-98.4935', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74466, 'San Antonio', 2824, '78289', '210', '29.4239', '-98.4935', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74467, 'Aguilares', 2824, '78369', '361', '27.447242', '-99.024044', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74468, 'Mirando City', 2824, '78369', '361', '27.447242', '-99.024044', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74469, 'Ojuelas', 2824, '78369', '361', '27.447242', '-99.024044', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74470, 'Odem', 2824, '78370', '361', '27.901882', '-97.554304', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74471, 'Oilton', 2824, '78371', '361', '27.468482', '-98.958884', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74472, 'Olmos', 2824, '78389', '361', '28.216608', '-97.688356', '2018-11-29 05:15:40', '2018-11-29 05:15:40'),\n(74473, 'Skidmore', 2824, '78389', '361', '28.216608', '-97.688356', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74474, 'Corp Christi', 2824, '78405', '361', '27.769332', '-97.444023', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74475, 'Corpus Christi', 2824, '78405', '361', '27.769332', '-97.444023', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74476, 'Corp Christi', 2824, '78472', '361', '27.8006', '-97.3964', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74477, 'Corpus Christi', 2824, '78472', '361', '27.8006', '-97.3964', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74478, 'Bonner', 2824, '78505', '956', '26.2031', '-98.2299', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74479, 'Kane', 2824, '78505', '956', '26.2031', '-98.2299', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74480, 'Mcallen', 2824, '78505', '956', '26.2031', '-98.2299', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74481, 'Mccoll', 2824, '78505', '956', '26.2031', '-98.2299', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74482, 'Acacia Lake', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74483, 'Boca Chica', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74484, 'Brownsville', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74485, 'Bville', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74486, 'El Jardin', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74487, 'Keller Corner', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74488, 'Kennedy Shores', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74489, 'Palm Village', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74490, 'Palo Alto Battlefield Nation', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74491, 'Portway Acres', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74492, 'Villa Cavazos', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74493, 'Villa Nueva', 2824, '78520', '956', '25.967561', '-97.547491', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74494, 'Brownsville', 2824, '78523', '956', '25.9016', '-97.4975', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74495, 'Donna', 2824, '78537', '956', '26.166537', '-98.081165', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74496, 'La Tijera', 2824, '78537', '956', '26.166537', '-98.081165', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74497, 'Edinburg', 2824, '78539', '956', '26.27909', '-98.144563', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74498, 'Faysville', 2824, '78539', '956', '26.27909', '-98.144563', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74499, 'Lull', 2824, '78539', '956', '26.27909', '-98.144563', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74500, 'Red Gate', 2824, '78539', '956', '26.27909', '-98.144563', '2018-11-29 05:15:41', '2018-11-29 05:15:41'),\n(74501, 'San Carlos', 2824, '78539', '956', '26.27909', '-98.144563', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74502, 'San Juan Community', 2824, '78539', '956', '26.27909', '-98.144563', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74503, 'Edinburg', 2824, '78540', '956', '26.3014', '-98.1634', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74504, 'San Isidro', 2824, '78588', '956', '26.731382', '-98.414415', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74505, 'Lopezville', 2824, '78589', '956', '26.163772', '-98.157143', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74506, 'San Juan', 2824, '78589', '956', '26.163772', '-98.157143', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74507, 'Beaukiss', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74508, 'Elgin', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74509, 'Littig', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74510, 'Lund', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74511, 'Structure', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74512, 'Type', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74513, 'Webberville', 2824, '78621', '512', '30.318154', '-97.35195', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74514, 'Austin', 2824, '78705', '512', '30.292828', '-97.737368', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74515, 'Austin', 2824, '78720', '512', '30.2669', '-97.7428', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74516, 'Austin', 2824, '78724', '512', '30.295088', '-97.613722', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74517, 'Austin', 2824, '78737', '512', '30.175612', '-97.958969', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74518, 'Austin', 2824, '78739', '512', '30.174777', '-97.88783', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74519, 'Austin', 2824, '78754', '512', '30.366077', '-97.644142', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74520, 'Dell Computers', 2824, '78754', '512', '30.366077', '-97.644142', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74521, 'Sprinkle', 2824, '78754', '512', '30.366077', '-97.644142', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74522, 'Austin', 2824, '78755', '512', '30.2667', '-97.7428', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74523, 'Cameron', 2824, '76520', '254', '30.820642', '-96.918924', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74524, 'Cross Roads', 2824, '76520', '254', '30.820642', '-96.918924', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74525, 'Hoyte', 2824, '76520', '254', '30.820642', '-96.918924', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74526, 'Jones Prairie', 2824, '76520', '254', '30.820642', '-96.918924', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74527, 'Maysfield', 2824, '76520', '254', '30.820642', '-96.918924', '2018-11-29 05:15:42', '2018-11-29 05:15:42'),\n(74528, 'Pettibone', 2824, '76520', '254', '30.820642', '-96.918924', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74529, 'Ireland', 2824, '76538', '254', '31.573288', '-97.877843', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74530, 'Jonesboro', 2824, '76538', '254', '31.573288', '-97.877843', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74531, 'Lanham', 2824, '76538', '254', '31.573288', '-97.877843', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74532, 'Pancake', 2824, '76538', '254', '31.573288', '-97.877843', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74533, 'Brazos Point', 2824, '76652', '254', '32.115557', '-97.591858', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74534, 'Eulogy', 2824, '76652', '254', '32.115557', '-97.591858', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74535, 'Kimball', 2824, '76652', '254', '32.115557', '-97.591858', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74536, 'Kopperl', 2824, '76652', '254', '32.115557', '-97.591858', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74537, 'Leroy', 2824, '76654', '254', '31.7308', '-97.0155', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74538, 'Jester', 2824, '76679', '903', '31.928192', '-96.589274', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74539, 'Navarro Mills', 2824, '76679', '903', '31.928192', '-96.589274', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74540, 'Purdon', 2824, '76679', '903', '31.928192', '-96.589274', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74541, 'Pursley', 2824, '76679', '903', '31.928192', '-96.589274', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74542, 'Silver City', 2824, '76679', '903', '31.928192', '-96.589274', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74543, 'Tehuacana', 2824, '76686', '254', '31.757336', '-96.54309', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74544, 'Bellmead', 2824, '76704', '254', '31.578516', '-97.128856', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74545, 'Waco', 2824, '76704', '254', '31.578516', '-97.128856', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74546, 'Robinson', 2824, '76706', '254', '31.478912', '-97.092689', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74547, 'Waco', 2824, '76706', '254', '31.478912', '-97.092689', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74548, 'Brownwood', 2824, '76804', '325', '31.7094', '-98.9908', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74549, 'London', 2824, '76854', '325', '30.627066', '-99.63617', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74550, 'Rochelle', 2824, '76872', '325', '31.297196', '-99.11627', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74551, 'Veribest', 2824, '76886', '325', '31.4759', '-100.2597', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74552, 'San Angelo', 2824, '76904', '325', '31.266689', '-100.489348', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74553, 'San Angelo', 2824, '76906', '325', '31.4638', '-100.4368', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74554, 'Eldorado', 2824, '76936', '325', '30.897397', '-100.538764', '2018-11-29 05:15:43', '2018-11-29 05:15:43'),\n(74555, 'Eldorado Afs', 2824, '76936', '325', '30.897397', '-100.538764', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74556, 'Mereta', 2824, '76940', '325', '31.47443', '-100.132091', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74557, 'Gouldbusk', 2824, '76845', '325', '31.539447', '-99.448719', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74558, 'Miles', 2824, '76861', '325', '31.604566', '-100.187934', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74559, 'Robert Lee', 2824, '76945', '325', '31.889886', '-100.611558', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74560, 'Silver', 2824, '76945', '325', '31.889886', '-100.611558', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74561, 'Houston', 2824, '77004', '713', '29.72717', '-95.361846', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74562, 'Houston', 2824, '77013', '713', '29.797524', '-95.242182', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74563, 'Cloverleaf', 2824, '77015', '713', '29.767567', '-95.158804', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74564, 'Greens Bayou', 2824, '77015', '713', '29.767567', '-95.158804', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74565, 'Houston', 2824, '77015', '713', '29.767567', '-95.158804', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74566, 'Houston', 2824, '77045', '713', '29.64113', '-95.426167', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74567, 'Trammells', 2824, '77045', '713', '29.64113', '-95.426167', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74568, 'Gridiron', 2824, '77054', '713', '29.67834', '-95.409522', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74569, 'Houston', 2824, '77054', '713', '29.67834', '-95.409522', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74570, 'Houston', 2824, '77056', '713', '29.749183', '-95.46743', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74571, 'Houston', 2824, '77063', '713', '29.739926', '-95.523755', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74572, 'Houston', 2824, '77072', '281', '29.700648', '-95.585708', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74573, 'Houston', 2824, '77081', '713', '29.708358', '-95.475178', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74574, 'Houston', 2824, '77206', '832', '29.7632', '-95.3633', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74575, 'Houston', 2824, '77215', '713', '29.7632', '-95.3633', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74576, 'Houston', 2824, '77229', '713', '29.7632', '-95.3633', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74577, 'Houston', 2824, '77231', '832', '29.7632', '-95.3633', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74578, 'Houston', 2824, '77254', '713', '29.7632', '-95.3633', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74579, 'Humble', 2824, '77347', '281', '29.9987', '-95.2618', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74580, 'Klein', 2824, '77379', '281', '30.038541', '-95.532552', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74581, 'Spring', 2824, '77379', '281', '30.038541', '-95.532552', '2018-11-29 05:15:44', '2018-11-29 05:15:44'),\n(74582, 'Panther Creek', 2824, '77381', '281', '30.17724', '-95.496656', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74583, 'Shenandoah', 2824, '77381', '281', '30.17724', '-95.496656', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74584, 'Spring', 2824, '77381', '281', '30.17724', '-95.496656', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74585, 'The Woodlands', 2824, '77381', '281', '30.17724', '-95.496656', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74586, 'Spring', 2824, '77388', '281', '30.054922', '-95.47728', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74587, 'Brazoria', 2824, '77422', '979', '28.963862', '-95.574135', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74588, 'Old Brazoria', 2824, '77422', '979', '28.963862', '-95.574135', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74589, 'Wild Peach Village', 2824, '77422', '979', '28.963862', '-95.574135', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74590, 'Cypress', 2824, '77433', '281', '29.960082', '-95.739218', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74591, 'Elmaton', 2824, '77440', '361', '28.844479', '-96.066418', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74592, 'Lissie', 2824, '77454', '979', '29.535263', '-96.230375', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74593, 'Midfield', 2824, '77458', '361', '28.953335', '-96.254819', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74594, 'Thompsons', 2824, '77481', '281', '29.468634', '-95.577504', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74595, 'Wadsworth', 2824, '77483', '979', '28.831326', '-95.9395', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74596, 'Pasadena', 2824, '77506', '713', '29.718782', '-95.203168', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74597, 'Pasadena', 2824, '77508', '713', '29.6908', '-95.2089', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74598, 'Baytown', 2824, '77522', '281', '29.7355', '-94.9773', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74599, 'Brookside Village', 2824, '77581', '281', '29.551355', '-95.283498', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74600, 'Brookside Vl', 2824, '77581', '281', '29.551355', '-95.283498', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74601, 'Pearland', 2824, '77581', '281', '29.551355', '-95.283498', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74602, 'Arcola', 2824, '77583', '281', '29.408696', '-95.442095', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74603, 'Iowa Colony', 2824, '77583', '281', '29.408696', '-95.442095', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74604, 'Rosharon', 2824, '77583', '281', '29.408696', '-95.442095', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74605, 'Sandy Point', 2824, '77583', '281', '29.408696', '-95.442095', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74606, 'Texas City', 2824, '77590', '409', '29.3787', '-94.885642', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74607, 'West Texas City', 2824, '77590', '409', '29.3787', '-94.885642', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74608, 'Hamshire', 2824, '77622', '409', '29.852558', '-94.310062', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74609, 'Orange', 2824, '77631', '409', '30.0926', '-93.7365', '2018-11-29 05:15:45', '2018-11-29 05:15:45'),\n(74610, 'Beaumont', 2824, '77708', '409', '30.144871', '-94.144256', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74611, 'College Sta', 2824, '77840', '979', '30.607913', '-96.323978', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74612, 'College Station', 2824, '77840', '979', '30.607913', '-96.323978', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74613, 'Meyersville', 2824, '77974', '361', '28.899219', '-97.287002', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74614, 'Seadrift', 2824, '77983', '361', '28.402244', '-96.664498', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74615, 'Tivoli', 2824, '77990', '361', '28.407808', '-96.952273', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74616, 'Boerne', 2824, '78015', '830', '29.732304', '-98.658578', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74617, 'Fair Oaks', 2824, '78015', '830', '29.732304', '-98.658578', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74618, 'Fair Oaks Ranch', 2824, '78015', '830', '29.732304', '-98.658578', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74619, 'Derby', 2824, '78017', '830', '28.742324', '-99.232277', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74620, 'Dilley', 2824, '78017', '830', '28.742324', '-99.232277', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74621, 'Divot', 2824, '78017', '830', '28.742324', '-99.232277', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74622, 'Hunt', 2824, '78024', '830', '29.994424', '-99.513392', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74623, 'Laredo', 2824, '78049', '956', '27.5056', '-99.5076', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74624, 'Mountain Home', 2824, '78058', '830', '30.104984', '-99.661902', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74625, 'Poteet', 2824, '78065', '830', '29.07578', '-98.649897', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74626, 'San Ygnacio', 2824, '78067', '956', '27.150229', '-99.292102', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74627, 'Adkins', 2824, '78101', '210', '29.340607', '-98.229522', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74628, 'New Braunfels', 2824, '78131', '830', '29.7026', '-98.1245', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74629, 'San Antonio', 2824, '78206', '210', '29.4245', '-98.4942', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74630, 'San Antonio', 2824, '78210', '210', '29.396556', '-98.460978', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74631, 'Live Oak', 2824, '78233', '210', '29.556682', '-98.364932', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74632, 'San Antonio', 2824, '78233', '210', '29.556682', '-98.364932', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74633, 'San Antonio', 2824, '78240', '210', '29.518456', '-98.609732', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74634, 'San Antonio', 2824, '78258', '210', '29.658406', '-98.504776', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74635, 'San Antonio', 2824, '78283', '210', '29.4239', '-98.4935', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74636, 'San Antonio', 2824, '78292', '210', '29.4239', '-98.4935', '2018-11-29 05:15:46', '2018-11-29 05:15:46'),\n(74637, 'San Antonio', 2824, '78299', '210', '29.4239', '-98.4935', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74638, 'Bayside', 2824, '78340', '361', '28.102904', '-97.230904', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74639, 'Concepcion', 2824, '78349', '361', '27.525667', '-98.412872', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74640, 'Cruz Calle', 2824, '78349', '361', '27.525667', '-98.412872', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74641, 'Rios', 2824, '78349', '361', '27.525667', '-98.412872', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74642, 'Fulton', 2824, '78358', '361', '28.2466', '-96.7984', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74643, 'Fulton Beach', 2824, '78358', '361', '28.2466', '-96.7984', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74644, 'Pernitas Point', 2824, '78383', '361', '28.07278', '-97.94688', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74645, 'Sattler', 2824, '78132', '830', '29.758316', '-98.176275', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74646, 'Startzville', 2824, '78132', '830', '29.758316', '-98.176275', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74647, 'Nordheim', 2824, '78141', '361', '28.904891', '-97.624414', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74648, 'Live Oak', 2824, '78148', '210', '29.549673', '-98.30132', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74649, 'Randolph AFB', 2824, '78148', '210', '29.549673', '-98.30132', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74650, 'Randolph Air Force Base', 2824, '78148', '210', '29.549673', '-98.30132', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74651, 'Universal City', 2824, '78148', '210', '29.549673', '-98.30132', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74652, 'Universal Cty', 2824, '78148', '210', '29.549673', '-98.30132', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74653, 'San Antonio', 2824, '78207', '210', '29.421276', '-98.522055', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74654, 'San Antonio', 2824, '78216', '210', '29.535443', '-98.48138', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74655, 'San Antonio', 2824, '78218', '210', '29.488568', '-98.394368', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74656, 'Windcrest', 2824, '78218', '210', '29.488568', '-98.394368', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74657, 'Fort Sam Houston', 2824, '78234', '210', '29.462264', '-98.4414', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74658, 'Ft Sm Houston', 2824, '78234', '210', '29.462264', '-98.4414', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74659, 'Jbsa Ft Sam Houston', 2824, '78234', '210', '29.462264', '-98.4414', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74660, 'San Antonio', 2824, '78234', '210', '29.462264', '-98.4414', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74661, 'Electronic Security Services', 2824, '78243', '210', '29.4239', '-98.4935', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74662, 'San Antonio', 2824, '78243', '210', '29.4239', '-98.4935', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74663, 'San Antonio', 2824, '78248', '210', '29.586097', '-98.527285', '2018-11-29 05:15:47', '2018-11-29 05:15:47'),\n(74664, 'San Antonio', 2824, '78250', '210', '29.503421', '-98.66791', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74665, 'San Antonio', 2824, '78284', '210', '29.5254', '-98.4252', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74666, 'San Antonio', 2824, '78291', '210', '29.4239', '-98.4935', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74667, 'San Antonio', 2824, '78298', '210', '29.4239', '-98.4935', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74668, 'Freer', 2824, '78357', '361', '27.889626', '-98.612874', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74669, 'Seven Sisters', 2824, '78357', '361', '27.889626', '-98.612874', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74670, 'Argenta', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74671, 'Hubert', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74672, 'Lake City', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74673, 'Mathis', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74674, 'San Patricio', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74675, 'Swinney Switch', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74676, 'Swinney Swtch', 2824, '78368', '361', '28.072872', '-97.77279', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74677, 'Corp Christi', 2824, '78407', '361', '27.811645', '-97.436934', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74678, 'Corpus Christi', 2824, '78407', '361', '27.811645', '-97.436934', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74679, 'Corp Christi', 2824, '78409', '361', '27.822668', '-97.506543', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74680, 'Corpus Christi', 2824, '78409', '361', '27.822668', '-97.506543', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74681, 'Delmita', 2824, '78536', '956', '26.656514', '-98.402744', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74682, 'El Centro', 2824, '78536', '956', '26.656514', '-98.402744', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74683, 'La Reforma', 2824, '78536', '956', '26.656514', '-98.402744', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74684, 'La Feria', 2824, '78559', '956', '26.189927', '-97.8238', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74685, 'Lafkin', 2824, '78559', '956', '26.189927', '-97.8238', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74686, 'Las Milpas', 2824, '78577', '956', '26.152425', '-98.209702', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74687, 'Pharr', 2824, '78577', '956', '26.152425', '-98.209702', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74688, 'Carricitos', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74689, 'Colaboz', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74690, 'La Paloma', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74691, 'Landrum', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:48', '2018-11-29 05:15:48'),\n(74692, 'Las Rusias', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74693, 'Laureles', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74694, 'Los Cuates', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74695, 'Ranchito', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74696, 'Rangerville', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74697, 'San Benito', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74698, 'Yescas', 2824, '78586', '956', '26.095043', '-97.638148', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74699, 'La Gloria', 2824, '78591', '956', '26.717411', '-98.519896', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74700, 'Santa Elena', 2824, '78591', '956', '26.717411', '-98.519896', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74701, 'Rogerslacy', 2824, '78593', '956', '26.249276', '-97.831834', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74702, 'Santa Rosa', 2824, '78593', '956', '26.249276', '-97.831834', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74703, 'Buchanan Dam', 2824, '78609', '512', '30.760502', '-98.475202', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74704, 'Inks Lake Village', 2824, '78609', '512', '30.760502', '-98.475202', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74705, 'Dale', 2824, '78616', '512', '29.882596', '-97.551134', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74706, 'Lytton Springs', 2824, '78616', '512', '29.882596', '-97.551134', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74707, 'Mcmahan', 2824, '78616', '512', '29.882596', '-97.551134', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74708, 'Tilmon', 2824, '78616', '512', '29.882596', '-97.551134', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74709, 'Doss', 2824, '78618', '830', '30.454246', '-99.194545', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74710, 'Hutto', 2824, '78634', '512', '30.555076', '-97.551952', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74711, 'Monadale', 2824, '78634', '512', '30.555076', '-97.551952', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74712, 'Mc Dade', 2824, '78650', '512', '30.281147', '-97.2139', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74713, 'Mcdade', 2824, '78650', '512', '30.281147', '-97.2139', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74714, 'Prairie Lea', 2824, '78661', '512', '29.723875', '-97.745551', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74715, 'Willow City', 2824, '78675', '830', '30.44626', '-98.6639', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74716, 'Gonzales', 2824, '78677', '830', '29.351201', '-97.503228', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74717, 'Wrightsboro', 2824, '78677', '830', '29.351201', '-97.503228', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74718, 'Austin', 2824, '78709', '512', '30.2669', '-97.7428', '2018-11-29 05:15:49', '2018-11-29 05:15:49'),\n(74719, 'Austin', 2824, '78716', '512', '30.2669', '-97.7428', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74720, 'Austin', 2824, '78725', '512', '30.245859', '-97.610022', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74721, 'Hornsby Bend', 2824, '78725', '512', '30.245859', '-97.610022', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74722, 'Austin', 2824, '78727', '512', '30.429049', '-97.722596', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74723, 'Austin', 2824, '78736', '512', '30.256688', '-97.942358', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74724, 'Bee Cave', 2824, '78736', '512', '30.256688', '-97.942358', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74725, 'Bee Caves', 2824, '78736', '512', '30.256688', '-97.942358', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74726, 'Circleville', 2824, '78736', '512', '30.256688', '-97.942358', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74727, 'Oak Hill', 2824, '78736', '512', '30.256688', '-97.942358', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74728, 'Austin', 2824, '78741', '512', '30.231283', '-97.7142', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74729, 'Montopolis', 2824, '78741', '512', '30.231283', '-97.7142', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74730, 'Austin', 2824, '78759', '512', '30.39791', '-97.748714', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74731, 'Balcones', 2824, '78759', '512', '30.39791', '-97.748714', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74732, 'Del Rio', 2824, '78843', '830', '29.35755', '-100.780768', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74733, 'Laughlin AFB', 2824, '78843', '830', '29.35755', '-100.780768', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74734, 'Quemado', 2824, '78877', '830', '28.911482', '-100.389472', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74735, 'Spofford', 2824, '78877', '830', '28.911482', '-100.389472', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74736, 'Utopia', 2824, '78884', '830', '29.552322', '-99.583538', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74737, 'Columbus', 2824, '78934', '979', '29.729021', '-96.602528', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74738, 'Hillcrest', 2824, '78934', '979', '29.729021', '-96.602528', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74739, 'New Ulm', 2824, '78950', '979', '29.881032', '-96.483414', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74740, 'Bovina', 2824, '79009', '806', '34.48232', '-102.784388', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74741, 'Briscoe', 2824, '79011', '806', '35.524822', '-100.17022', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74742, 'Dawn', 2824, '79025', '806', '34.93308', '-102.212648', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74743, 'Mobeetie', 2824, '79061', '806', '35.504115', '-100.414509', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74744, 'Old Mobeetie', 2824, '79061', '806', '35.504115', '-100.414509', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74745, 'Shamrock', 2824, '79079', '806', '35.291398', '-100.26966', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74746, 'Twitty', 2824, '79079', '806', '35.291398', '-100.26966', '2018-11-29 05:15:50', '2018-11-29 05:15:50'),\n(74747, 'Canyon Lake', 2824, '78130', '830', '29.70097', '-98.076731', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74748, 'New Braunfels', 2824, '78130', '830', '29.70097', '-98.076731', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74749, 'Solms', 2824, '78130', '830', '29.70097', '-98.076731', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74750, 'Poth', 2824, '78147', '830', '29.026334', '-98.109192', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74751, 'Recycle', 2824, '78147', '830', '29.026334', '-98.109192', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74752, 'Tuleta', 2824, '78162', '361', '28.5709', '-97.7969', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74753, 'Castle Hills', 2824, '78213', '210', '29.520217', '-98.528196', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74754, 'San Antonio', 2824, '78213', '210', '29.520217', '-98.528196', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74755, 'San Antonio', 2824, '78231', '210', '29.573566', '-98.542684', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74756, 'Shavano Park', 2824, '78231', '210', '29.573566', '-98.542684', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74757, 'San Antonio', 2824, '78246', '210', '29.4239', '-98.4935', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74758, 'San Antonio', 2824, '78247', '210', '29.572536', '-98.409893', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74759, 'Wetmore', 2824, '78247', '210', '29.572536', '-98.409893', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74760, 'San Antonio', 2824, '78264', '210', '29.197562', '-98.494154', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74761, 'San Antonio', 2824, '78278', '210', '29.4239', '-98.4935', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74762, 'San Antonio', 2824, '78279', '210', '29.4239', '-98.4935', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74763, 'San Antonio', 2824, '78294', '210', '29.4239', '-98.4935', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74764, 'San Antonio', 2824, '78295', '210', '29.4239', '-98.4935', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74765, 'San Antonio', 2824, '78297', '210', '29.4239', '-98.4935', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74766, 'Agua Dulce', 2824, '78330', '361', '27.781024', '-97.855112', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74767, 'Chapman Ranch', 2824, '78347', '361', '27.598812', '-97.462021', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74768, 'Kingsville', 2824, '78363', '361', '27.455103', '-97.69229', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74769, 'Kingsville Naval Air Station', 2824, '78363', '361', '27.455103', '-97.69229', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74770, 'Macdona', 2824, '78054', '210', '29.3258', '-98.6956', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74771, 'Somerset', 2824, '78069', '830', '29.176072', '-98.689475', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74772, 'Spring Branch', 2824, '78070', '830', '29.904199', '-98.408906', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74773, 'La Vernia', 2824, '78121', '830', '29.373808', '-98.074729', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74774, 'Lavernia', 2824, '78121', '830', '29.373808', '-98.074729', '2018-11-29 05:15:51', '2018-11-29 05:15:51'),\n(74775, 'Saint Hedwig', 2824, '78152', '210', '29.432984', '-98.205108', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74776, 'San Antonio', 2824, '78220', '210', '29.417152', '-98.390142', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74777, 'San Antonio', 2824, '78221', '210', '29.292012', '-98.475642', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74778, 'San Antonio', 2824, '78222', '210', '29.353002', '-98.377064', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74779, 'Leon Valley', 2824, '78238', '210', '29.473788', '-98.612205', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74780, 'San Antonio', 2824, '78238', '210', '29.473788', '-98.612205', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74781, 'San Antonio', 2824, '78239', '210', '29.517207', '-98.362948', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74782, 'Windcrest', 2824, '78239', '210', '29.517207', '-98.362948', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74783, 'San Antonio', 2824, '78270', '210', '29.4239', '-98.4935', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74784, 'Wetmore', 2824, '78270', '210', '29.4239', '-98.4935', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74785, 'Aransas Pass', 2824, '78336', '361', '27.935142', '-97.165928', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74786, 'Aranspass', 2824, '78336', '361', '27.935142', '-97.165928', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74787, 'City By The Sea', 2824, '78336', '361', '27.935142', '-97.165928', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74788, 'Cty By The Se', 2824, '78336', '361', '27.935142', '-97.165928', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74789, 'Banquete', 2824, '78339', '361', '27.814163', '-97.803295', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74790, 'Falfurrias', 2824, '78355', '361', '27.209262', '-98.26097', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74791, 'Flowella', 2824, '78355', '361', '27.209262', '-98.26097', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74792, 'Orange Grove', 2824, '78372', '361', '27.940205', '-98.045594', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74793, 'Papalote', 2824, '78387', '361', '28.052446', '-97.539877', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74794, 'Sinton', 2824, '78387', '361', '28.052446', '-97.539877', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74795, 'Sodville', 2824, '78387', '361', '28.052446', '-97.539877', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74796, 'Cc', 2824, '78404', '361', '27.767794', '-97.39837', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74797, 'Corp Christi', 2824, '78404', '361', '27.767794', '-97.39837', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74798, 'Corpus Christi', 2824, '78404', '361', '27.767794', '-97.39837', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74799, 'Corp Christi', 2824, '78406', '361', '27.758905', '-97.510551', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74800, 'Corpus Christi', 2824, '78406', '361', '27.758905', '-97.510551', '2018-11-29 05:15:52', '2018-11-29 05:15:52'),\n(74801, 'Mc Allen', 2824, '78503', '956', '26.151064', '-98.250132', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74802, 'Mcallen', 2824, '78503', '956', '26.151064', '-98.250132', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74803, 'Brownsville', 2824, '78522', '956', '25.9016', '-97.4975', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74804, 'Harlingen', 2824, '78553', '956', '26.1908', '-97.6964', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74805, 'Heidelberg', 2824, '78570', '956', '26.141299', '-97.911346', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74806, 'Mercedes', 2824, '78570', '956', '26.141299', '-97.911346', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74807, 'Relampago', 2824, '78570', '956', '26.141299', '-97.911346', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74808, 'Rio Rico', 2824, '78570', '956', '26.141299', '-97.911346', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74809, 'Thayer', 2824, '78570', '956', '26.141299', '-97.911346', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74810, 'Abram', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74811, 'Chihuahua', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74812, 'Citrus City', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74813, 'Granjeno', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74814, 'Havana', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74815, 'Madero', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74816, 'Mission', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74817, 'Palmhurst', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74818, 'Palmview', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74819, 'Perezville', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74820, 'Sharyland', 2824, '78572', '956', '26.298168', '-98.421234', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74821, 'San Perlita', 2824, '78590', '956', '26.449978', '-97.58359', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74822, 'Belmont', 2824, '78604', '830', '29.5233', '-97.6838', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74823, 'Luling', 2824, '78604', '830', '29.5233', '-97.6838', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74824, 'Bertram', 2824, '78605', '512', '30.73136', '-98.044794', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74825, 'Joppa', 2824, '78605', '512', '30.73136', '-98.044794', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74826, 'Mahomet', 2824, '78605', '512', '30.73136', '-98.044794', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74827, 'Oatmeal', 2824, '78605', '512', '30.73136', '-98.044794', '2018-11-29 05:15:53', '2018-11-29 05:15:53'),\n(74828, 'Tamega', 2824, '78605', '512', '30.73136', '-98.044794', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74829, 'Blanco', 2824, '78606', '830', '30.099054', '-98.41213', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74830, 'Bluffton', 2824, '78607', '325', '30.843232', '-98.502218', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74831, 'Dripping Spgs', 2824, '78620', '512', '30.22257', '-98.144792', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74832, 'Dripping Springs', 2824, '78620', '512', '30.22257', '-98.144792', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74833, 'Henly', 2824, '78620', '512', '30.22257', '-98.144792', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74834, 'Mount Sharp', 2824, '78620', '512', '30.22257', '-98.144792', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74835, 'Fischer', 2824, '78623', '830', '29.960642', '-98.243114', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74836, 'Staples', 2824, '78670', '512', '29.770332', '-97.818626', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74837, 'Walburg', 2824, '78673', '512', '30.7364', '-97.5801', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74838, 'Austin', 2824, '78704', '512', '30.241524', '-97.76877', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74839, 'Travis Heights', 2824, '78704', '512', '30.241524', '-97.76877', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74840, 'Austin', 2824, '78721', '512', '30.26619', '-97.684756', '2018-11-29 05:15:54', '2018-11-29 05:15:54');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(74841, 'Austin', 2824, '78723', '512', '30.304076', '-97.68749', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74842, 'Austin', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74843, 'Bee Cave', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74844, 'Bee Caves', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74845, 'Lakeway', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74846, 'The Hills', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74847, 'Village Of The Hills', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74848, 'Vlg O The Hls', 2824, '78738', '512', '30.304835', '-97.99669', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74849, 'Comstock', 2824, '78837', '432', '29.871979', '-101.381821', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74850, 'Concan', 2824, '78838', '830', '29.494862', '-99.697049', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74851, 'Round Top', 2824, '78954', '979', '30.049445', '-96.717424', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74852, 'Walhalla', 2824, '78954', '979', '30.049445', '-96.717424', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74853, 'Borger', 2824, '79008', '806', '35.6678', '-101.3966', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74854, 'Darrouzett', 2824, '79024', '806', '36.390716', '-100.36115', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74855, 'Gruver', 2824, '79040', '806', '36.286015', '-101.35452', '2018-11-29 05:15:54', '2018-11-29 05:15:54'),\n(74856, 'Lipscomb', 2824, '79056', '806', '36.221918', '-100.282714', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74857, 'Mclean', 2824, '79057', '806', '35.285614', '-100.683062', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74858, 'Masterson', 2824, '79058', '806', '35.569152', '-101.8329', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74859, 'Plainview', 2824, '79072', '806', '34.167193', '-101.827413', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74860, 'Tulia', 2824, '79088', '806', '34.541643', '-101.73489', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74861, 'Vigo Park', 2824, '79088', '806', '34.541643', '-101.73489', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74862, 'Umbarger', 2824, '79091', '806', '34.934892', '-102.110822', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74863, 'Amarillo', 2824, '79108', '806', '35.418858', '-101.770038', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74864, 'Chillicothe', 2824, '79225', '940', '34.237096', '-99.54598', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74865, 'Lakeview', 2824, '79239', '806', '34.648078', '-100.769241', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74866, 'South Plains', 2824, '79258', '806', '34.2233', '-101.3098', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74867, 'Enochs', 2824, '79324', '806', '33.849186', '-102.766694', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74868, 'Loop', 2824, '79342', '806', '32.907927', '-102.399193', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74869, 'Ropesville', 2824, '79358', '806', '33.470971', '-102.175804', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74870, 'Lubbock', 2824, '79407', '806', '33.582377', '-102.037603', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74871, 'City Of Lubbock', 2824, '79457', '806', '33.5776', '-101.8549', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74872, 'Terryville', 2824, '77995', '361', '29.226598', '-97.086548', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74873, 'Yoakum', 2824, '77995', '361', '29.226598', '-97.086548', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74874, 'Laredo', 2824, '78044', '956', '27.5065', '-99.5087', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74875, 'Elmendorf', 2824, '78112', '210', '29.201903', '-98.359063', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74876, 'Saspamco', 2824, '78112', '210', '29.201903', '-98.359063', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74877, 'Pettus', 2824, '78146', '361', '28.619383', '-97.844516', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74878, 'Sutherland Springs', 2824, '78161', '830', '29.268046', '-98.073446', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74879, 'Sutherlnd Spg', 2824, '78161', '830', '29.268046', '-98.073446', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74880, 'Yorktown', 2824, '78164', '361', '28.986772', '-97.540067', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74881, 'San Antonio', 2824, '78211', '210', '29.349524', '-98.563594', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74882, 'Olmos Park', 2824, '78212', '210', '29.462321', '-98.48671', '2018-11-29 05:15:55', '2018-11-29 05:15:55'),\n(74883, 'San Antonio', 2824, '78212', '210', '29.462321', '-98.48671', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74884, 'San Antonio', 2824, '78214', '210', '29.32924', '-98.474317', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74885, 'San Antonio', 2824, '78228', '210', '29.461602', '-98.570903', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74886, 'San Antonio', 2824, '78229', '210', '29.507861', '-98.574896', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74887, 'San Antonio', 2824, '78230', '210', '29.542768', '-98.55961', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74888, 'Shavano Park', 2824, '78230', '210', '29.542768', '-98.55961', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74889, 'San Antonio', 2824, '78244', '210', '29.477603', '-98.346556', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74890, 'San Antonio', 2824, '78245', '210', '29.411396', '-98.717398', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74891, 'San Antonio', 2824, '78261', '830', '29.694453', '-98.395886', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74892, 'China Grove', 2824, '78263', '210', '29.34841', '-98.306354', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74893, 'San Antonio', 2824, '78263', '210', '29.34841', '-98.306354', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74894, 'Agua Nueva', 2824, '78361', '361', '27.071262', '-98.785068', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74895, 'Bustamante', 2824, '78361', '361', '27.071262', '-98.785068', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74896, 'Escobas', 2824, '78361', '361', '27.071262', '-98.785068', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74897, 'Hebbronville', 2824, '78361', '361', '27.071262', '-98.785068', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74898, 'Viboras', 2824, '78361', '361', '27.071262', '-98.785068', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74899, 'Ingleside', 2824, '78362', '361', '27.86056', '-97.208824', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74900, 'Ingleside On The Bay', 2824, '78362', '361', '27.86056', '-97.208824', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74901, 'Corp Christi', 2824, '78411', '361', '27.730037', '-97.385797', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74902, 'Corpus Christi', 2824, '78411', '361', '27.730037', '-97.385797', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74903, 'Corp Christi', 2824, '78480', '361', '27.8006', '-97.3964', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74904, 'Corpus Christi', 2824, '78480', '361', '27.8006', '-97.3964', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74905, 'Grulla', 2824, '78548', '956', '26.380278', '-98.54896', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74906, 'La Grulla', 2824, '78548', '956', '26.380278', '-98.54896', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74907, 'Porfirio', 2824, '78580', '956', '26.522484', '-97.844106', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74908, 'Raymondville', 2824, '78580', '956', '26.522484', '-97.844106', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74909, 'Santa Monica', 2824, '78580', '956', '26.522484', '-97.844106', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74910, 'Willamar', 2824, '78580', '956', '26.522484', '-97.844106', '2018-11-29 05:15:56', '2018-11-29 05:15:56'),\n(74911, 'Sullivan City', 2824, '78595', '956', '26.259158', '-98.557877', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74912, 'Cedar Creek', 2824, '78612', '512', '30.099106', '-97.478068', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74913, 'Lost Pines', 2824, '78612', '512', '30.099106', '-97.478068', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74914, 'Bebe', 2824, '78614', '830', '29.42005', '-97.574074', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74915, 'Cost', 2824, '78614', '830', '29.42005', '-97.574074', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74916, 'Monthalia', 2824, '78614', '830', '29.42005', '-97.574074', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74917, 'Dilworth', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74918, 'Gonzales', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74919, 'Hamon', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74920, 'Maurin', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74921, 'Nickel', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74922, 'Oak Forest', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74923, 'Summerville', 2824, '78629', '830', '29.456', '-97.462826', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74924, 'Cedar Park', 2824, '78630', '512', '30.4978', '-97.8159', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74925, 'Leander', 2824, '78646', '512', '30.5707', '-97.8366', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74926, 'Joliet', 2824, '78648', '830', '29.694579', '-97.631139', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74927, 'Luling', 2824, '78648', '830', '29.694579', '-97.631139', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74928, 'Stairtown', 2824, '78648', '830', '29.694579', '-97.631139', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74929, 'Round Rock', 2824, '78681', '512', '30.519622', '-97.727718', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74930, 'Austin', 2824, '78712', '512', '30.2854', '-97.733175', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74931, 'The University Of Texas', 2824, '78712', '512', '30.2854', '-97.733175', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74932, 'University Of Texas', 2824, '78712', '512', '30.2854', '-97.733175', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74933, 'Ut', 2824, '78712', '512', '30.2854', '-97.733175', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74934, 'Austin', 2824, '78713', '512', '30.2669', '-97.7428', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74935, 'Austin', 2824, '78732', '512', '30.380224', '-97.894404', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74936, 'Four Points', 2824, '78732', '512', '30.380224', '-97.894404', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74937, 'Marshall Ford', 2824, '78732', '512', '30.380224', '-97.894404', '2018-11-29 05:15:57', '2018-11-29 05:15:57'),\n(74938, 'Austin', 2824, '78747', '512', '30.120669', '-97.754355', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74939, 'Austin', 2824, '78762', '512', '30.2667', '-97.7428', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74940, 'Austin', 2824, '78763', '512', '30.2667', '-97.7428', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74941, 'Austin', 2824, '78764', '512', '30.2667', '-97.7428', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74942, 'Austin', 2824, '78765', '512', '30.2667', '-97.7428', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74943, 'Rio Frio', 2824, '78879', '830', '29.675974', '-99.779305', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74944, 'Blue', 2824, '78947', '979', '30.416244', '-97.059942', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74945, 'Leo', 2824, '78947', '979', '30.416244', '-97.059942', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74946, 'Lexington', 2824, '78947', '979', '30.416244', '-97.059942', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74947, 'Tanglewood', 2824, '78947', '979', '30.416244', '-97.059942', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74948, 'Doak Springs', 2824, '78948', '979', '30.326937', '-96.950592', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74949, 'Fedor', 2824, '78948', '979', '30.326937', '-96.950592', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74950, 'Lincoln', 2824, '78948', '979', '30.326937', '-96.950592', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74951, 'Loebau', 2824, '78948', '979', '30.326937', '-96.950592', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74952, 'West Point', 2824, '78963', '979', '29.93567', '-97.053344', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74953, 'Cactus', 2824, '79013', '806', '36.039688', '-102.022898', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74954, 'Canyon', 2824, '79015', '806', '34.902986', '-101.897537', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74955, 'Edmonson', 2824, '79032', '806', '34.276485', '-101.896502', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74956, 'Farnsworth', 2824, '79033', '806', '36.296296', '-100.984284', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74957, 'Higgins', 2824, '79046', '806', '36.161772', '-100.273562', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74958, 'Springlake', 2824, '79082', '806', '34.238662', '-102.318846', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74959, 'Stinnett', 2824, '79083', '806', '35.86665', '-101.354598', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74960, 'White Deer', 2824, '79097', '806', '35.422098', '-101.198468', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74961, 'Amarillo', 2824, '79114', '806', '35.1906', '-101.8154', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74962, 'Amarillo', 2824, '79116', '806', '35.2218', '-101.8309', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74963, 'Amarillo', 2824, '79166', '806', '35.2218', '-101.8309', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74964, 'Amarillo Globe News', 2824, '79166', '806', '35.2218', '-101.8309', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74965, 'Dodson', 2824, '79230', '806', '34.744736', '-100.094241', '2018-11-29 05:15:58', '2018-11-29 05:15:58'),\n(74966, 'Estelline', 2824, '79233', '806', '34.530408', '-100.444116', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74967, 'Brownfield', 2824, '79316', '806', '33.114634', '-102.335244', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74968, 'Justiceburg', 2824, '79330', '806', '33.059332', '-101.188136', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74969, 'La Mesa', 2824, '79331', '806', '32.742566', '-101.947581', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74970, 'Lamesa', 2824, '79331', '806', '32.742566', '-101.947581', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74971, 'New Home', 2824, '79381', '806', '33.317009', '-101.68414', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74972, 'Wilson', 2824, '79381', '806', '33.317009', '-101.68414', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74973, 'Wolfforth', 2824, '79382', '806', '33.463189', '-102.0182', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74974, 'Auburn', 2829, '98003', '253', '47.307764', '-122.311205', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74975, 'Federal Way', 2829, '98003', '253', '47.307764', '-122.311205', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74976, 'Bothell', 2829, '98012', '425', '47.844717', '-122.198488', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74977, 'Mill Creek', 2829, '98012', '425', '47.844717', '-122.198488', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74978, 'Carnation', 2829, '98014', '425', '47.652719', '-121.897786', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74979, 'Lake Joy', 2829, '98014', '425', '47.652719', '-121.897786', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74980, 'Bothell', 2829, '98021', '425', '47.796364', '-122.205166', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74981, 'Kennard Corner', 2829, '98021', '425', '47.796364', '-122.205166', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74982, 'Queensborough', 2829, '98021', '425', '47.796364', '-122.205166', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74983, 'Thrashers Corner', 2829, '98021', '425', '47.796364', '-122.205166', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74984, 'Kent', 2829, '98030', '253', '47.362358', '-122.19828', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74985, 'Medina', 2829, '98039', '425', '47.627636', '-122.24317', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74986, 'Lynnwood', 2829, '98046', '206', '47.8213', '-122.3138', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74987, 'Kent', 2829, '98089', '253', '47.38', '-122.23', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74988, 'Midway', 2829, '98089', '253', '47.38', '-122.23', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74989, 'Interbay', 2829, '98119', '206', '47.638984', '-122.369214', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74990, 'Seattle', 2829, '98119', '206', '47.638984', '-122.369214', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74991, 'Diagnos Techs Inc Mrs', 2829, '98189', '206', '0', '0', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74992, 'Seattle', 2829, '98189', '206', '0', '0', '2018-11-29 05:15:59', '2018-11-29 05:15:59'),\n(74993, 'Des Moines', 2829, '98198', '206', '47.382298', '-122.31074', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(74994, 'Normandy Park', 2829, '98198', '206', '47.382298', '-122.31074', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(74995, 'Redondo Beach', 2829, '98198', '206', '47.382298', '-122.31074', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(74996, 'Seatac', 2829, '98198', '206', '47.382298', '-122.31074', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(74997, 'Seattle', 2829, '98198', '206', '47.382298', '-122.31074', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(74998, 'Everett', 2829, '98203', '425', '47.945521', '-122.239661', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(74999, 'Lowell', 2829, '98203', '425', '47.945521', '-122.239661', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(75000, 'Pinehurst', 2829, '98203', '425', '47.945521', '-122.239661', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(75001, 'White Mountain', 2778, '99784', '907', '64.882299', '-162.472054', '2018-11-29 05:16:00', '2018-11-29 05:16:00'),\n(75002, 'White Mtn', 2778, '99784', '907', '64.882299', '-162.472054', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75003, 'Haines', 2778, '99827', '907', '58.971507', '-135.40915', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75004, 'Tenakee Spgs', 2778, '99841', '907', '57.836669', '-135.133152', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75005, 'Tenakee Springs', 2778, '99841', '907', '57.836669', '-135.133152', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75006, 'Juneau', 2778, '99850', '907', '58.3016', '-134.4194', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75007, 'Coffman Cove', 2778, '99918', '907', '55.963322', '-132.814536', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75008, 'Ketchikan', 2778, '99918', '907', '55.963322', '-132.814536', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75009, 'Klawock', 2778, '99925', '907', '55.549794', '-132.96755', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75010, 'Edna Bay', 2778, '99950', '907', '55.815857', '-132.97985', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75011, 'Kasaan', 2778, '99950', '907', '55.815857', '-132.97985', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75012, 'Ketchikan', 2778, '99950', '907', '55.815857', '-132.97985', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75013, 'Strong', 2781, '71765', '870', '33.145676', '-92.30591', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75014, 'Bradley', 2781, '71826', '870', '33.120544', '-93.68848', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75015, 'Dierks', 2781, '71833', '870', '34.135178', '-93.998055', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75016, 'Blue Springs', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75017, 'Central City', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75018, 'Euclid Heights', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:01', '2018-11-29 05:16:01'),\n(75019, 'Fountain Lake', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75020, 'H Spg Nat Pk', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75021, 'Hot Springs', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75022, 'Hot Springs National', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75023, 'Hot Springs National Park', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75024, 'Hs', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75025, 'Lakeside', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75026, 'Mountain Valley', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75027, 'Mt Valley', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75028, 'Oaklawn', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75029, 'Ozark Lithia', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75030, 'Piney', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75031, 'Pleasant Hill', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75032, 'Price', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75033, 'Red Oak', 2781, '71901', '501', '34.532908', '-92.974346', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75034, 'Beaudry', 2781, '71949', '501', '34.681892', '-93.186321', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75035, 'Buckville', 2781, '71949', '501', '34.681892', '-93.186321', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75036, 'Jessieville', 2781, '71949', '501', '34.681892', '-93.186321', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75037, 'Mountain Pine', 2781, '71956', '501', '34.615806', '-93.17684', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75038, 'Mt Pine', 2781, '71956', '501', '34.615806', '-93.17684', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75039, 'Billstown', 2781, '71958', '870', '34.100666', '-93.691079', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75040, 'Kimberley', 2781, '71958', '870', '34.100666', '-93.691079', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75041, 'Mount Moriah', 2781, '71958', '870', '34.100666', '-93.691079', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75042, 'Murfreesboro', 2781, '71958', '870', '34.100666', '-93.691079', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75043, 'Augusta', 2781, '72006', '870', '35.248233', '-91.354574', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75044, 'Conway', 2781, '72033', '501', '35.0889', '-92.4419', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75045, 'Greenbrier', 2781, '72058', '501', '35.251969', '-92.35748', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75046, 'Linder', 2781, '72058', '501', '35.251969', '-92.35748', '2018-11-29 05:16:02', '2018-11-29 05:16:02'),\n(75047, 'Mcgintytown', 2781, '72058', '501', '35.251969', '-92.35748', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75048, 'Pleasant Valley', 2781, '72058', '501', '35.251969', '-92.35748', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75049, 'Republican', 2781, '72058', '501', '35.251969', '-92.35748', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75050, 'Springhill', 2781, '72058', '501', '35.251969', '-92.35748', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75051, 'Greers Ferry', 2781, '72067', '501', '35.570652', '-92.142457', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75052, 'Higden', 2781, '72067', '501', '35.570652', '-92.142457', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75053, 'Air Base', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75054, 'Gravel Ridge', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75055, 'Jacksonville', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75056, 'Jax', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75057, 'Little Rock AFB', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75058, 'Lr AFB', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75059, 'Lr Airforce Base', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75060, 'Lrafb', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75061, 'Macon', 2781, '72076', '501', '34.915742', '-92.151944', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75062, 'Lollie', 2781, '72106', '501', '34.969124', '-92.488384', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75063, 'Mayflower', 2781, '72106', '501', '34.969124', '-92.488384', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75064, 'Benton', 2781, '72158', '501', '34.5644', '-92.5869', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75065, 'Bayou Meto', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75066, 'Brummitt', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75067, 'Farelly Lake', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75068, 'Lodge Corner', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75069, 'One Horse Store', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75070, 'Slovac', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75071, 'Stuttgart', 2781, '72160', '870', '34.32909', '-91.509772', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75072, 'Tafton', 2781, '72183', '501', '34.601262', '-92.191933', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75073, 'Tafton-Wrightville', 2781, '72183', '501', '34.601262', '-92.191933', '2018-11-29 05:16:03', '2018-11-29 05:16:03'),\n(75074, 'Wrightsville', 2781, '72183', '501', '34.601262', '-92.191933', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75075, 'N Little Rock', 2781, '72190', '501', '34.7696', '-92.2669', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75076, 'Nlr', 2781, '72190', '501', '34.7696', '-92.2669', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75077, 'No Little Rock', 2781, '72190', '501', '34.7696', '-92.2669', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75078, 'North Little Rock', 2781, '72190', '501', '34.7696', '-92.2669', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75079, 'Little Rock', 2781, '72210', '501', '34.702884', '-92.529026', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75080, 'Armorel', 2781, '72310', '870', '35.912224', '-89.723324', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75081, 'Birdeye', 2781, '72324', '870', '35.381057', '-90.718274', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75082, 'Cherry Valley', 2781, '72324', '870', '35.381057', '-90.718274', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75083, 'Elaine', 2781, '72333', '870', '34.328319', '-90.909278', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75084, 'Goodwin', 2781, '72340', '870', '34.947748', '-91.021039', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75085, 'Luxora', 2781, '72358', '870', '35.793406', '-89.850583', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75086, 'Tomato', 2781, '72358', '870', '35.793406', '-89.850583', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75087, 'Marked Tree', 2781, '72365', '870', '35.572849', '-90.448524', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75088, 'Oneida', 2781, '72369', '870', '34.401821', '-90.905656', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75089, 'Poplar Grove', 2781, '72374', '870', '34.548528', '-90.859279', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75090, 'Turner', 2781, '72383', '870', '34.506497', '-91.031297', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75091, 'Wheatley', 2781, '72392', '870', '34.934852', '-91.098847', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75092, 'Hoxie', 2781, '72433', '870', '36.023708', '-91.030204', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75093, 'Paragould', 2781, '72451', '870', '36.0584', '-90.5003', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75094, 'Powhatan', 2781, '72458', '870', '36.051686', '-91.165016', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75095, 'Ravenden Spgs', 2781, '72460', '870', '36.359496', '-91.264134', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75096, 'Ravenden Springs', 2781, '72460', '870', '36.359496', '-91.264134', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75097, 'Batesville', 2781, '72501', '870', '35.792644', '-91.66561', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75098, 'Brockwell', 2781, '72517', '870', '36.129522', '-91.96209', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75099, 'Hardy', 2781, '72542', '870', '36.280388', '-91.412458', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75100, 'Highland', 2781, '72542', '870', '36.280388', '-91.412458', '2018-11-29 05:16:04', '2018-11-29 05:16:04'),\n(75101, 'Hanover', 2781, '72560', '870', '35.891188', '-92.116202', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75102, 'Mountain View', 2781, '72560', '870', '35.891188', '-92.116202', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75103, 'Pleasant Grove', 2781, '72567', '870', '35.846286', '-91.932955', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75104, 'Pleasant Grv', 2781, '72567', '870', '35.846286', '-91.932955', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75105, 'Poughkeepsie', 2781, '72569', '870', '36.083234', '-91.432886', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75106, 'Sturkie', 2781, '72578', '870', '36.465626', '-91.990502', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75107, 'Viola', 2781, '72583', '870', '36.388952', '-92.010238', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75108, 'Forty Four', 2781, '72585', '870', '36.181002', '-92.03396', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75109, 'Wideman', 2781, '72585', '870', '36.181002', '-92.03396', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75110, 'Big Flat', 2781, '72617', '870', '36.033028', '-92.359701', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75111, 'Harriet', 2781, '72617', '870', '36.033028', '-92.359701', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75112, 'East Cotter', 2781, '72635', '870', '36.319681', '-92.488053', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75113, 'Gassville', 2781, '72635', '870', '36.319681', '-92.488053', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75114, 'Monkey Run', 2781, '72635', '870', '36.319681', '-92.488053', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75115, 'Whiteville', 2781, '72635', '870', '36.319681', '-92.488053', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75116, 'Midway', 2781, '72651', '870', '36.389644', '-92.479486', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75117, 'Mountain Home', 2781, '72653', '870', '36.331388', '-92.406648', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75118, 'Mtn Home', 2781, '72653', '870', '36.331388', '-92.406648', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75119, 'Salesville', 2781, '72653', '870', '36.331388', '-92.406648', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75120, 'Vendor', 2781, '72683', '870', '35.948228', '-93.117418', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75121, 'Mount Hersey', 2781, '72685', '870', '36.036026', '-92.999748', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75122, 'Western Grove', 2781, '72685', '870', '36.036026', '-92.999748', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75123, 'Yardelle', 2781, '72685', '870', '36.036026', '-92.999748', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75124, 'Fayetteville', 2781, '72701', '479', '35.944537', '-94.091378', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75125, 'Canehill', 2781, '72717', '479', '35.836167', '-94.435235', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75126, 'Centerton', 2781, '72719', '479', '36.370668', '-94.305424', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75127, 'Goshen', 2781, '72735', '479', '36.1085', '-93.9808', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75128, 'Pea Ridge', 2781, '72751', '479', '36.458838', '-94.120812', '2018-11-29 05:16:05', '2018-11-29 05:16:05'),\n(75129, 'Saint Paul', 2781, '72760', '479', '35.856862', '-93.71619', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75130, 'Danville', 2781, '72833', '479', '35.01667', '-93.467164', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75131, 'Fort Smith', 2781, '72903', '479', '35.353801', '-94.356342', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75132, 'Fort Smith', 2781, '72917', '479', '35.3245', '-94.3023', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75133, 'Fort Smith', 2781, '72919', '479', '35.3666', '-94.4134', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75134, 'Golden Ventures', 2781, '72919', '479', '35.3666', '-94.4134', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75135, 'Dyer', 2781, '72935', '479', '35.472171', '-94.116768', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75136, 'Hackett', 2781, '72937', '479', '35.14661', '-94.38559', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75137, 'Baldwin Hills', 2783, '90008', '323', '34.006924', '-118.345668', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75138, 'Crenshaw', 2783, '90008', '323', '34.006924', '-118.345668', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75139, 'Leimert Park', 2783, '90008', '323', '34.006924', '-118.345668', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75140, 'Los Angeles', 2783, '90008', '323', '34.006924', '-118.345668', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75141, 'Foy', 2783, '90017', '213', '34.05285', '-118.264858', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75142, 'Los Angeles', 2783, '90017', '213', '34.05285', '-118.264858', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75143, 'Commerce', 2783, '90040', '323', '33.994062', '-118.152349', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75144, 'Cty Of Cmmrce', 2783, '90040', '323', '33.994062', '-118.152349', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75145, 'Los Angeles', 2783, '90040', '323', '33.994062', '-118.152349', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75146, 'Highland Park', 2783, '90042', '323', '34.113302', '-118.191494', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75147, 'Los Angeles', 2783, '90042', '323', '34.113302', '-118.191494', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75148, 'Los Angeles', 2783, '90047', '323', '33.953042', '-118.309428', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75149, 'Wagner', 2783, '90047', '323', '33.953042', '-118.309428', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75150, 'Los Angeles', 2783, '90058', '323', '34.001856', '-118.212618', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75151, 'Vernon', 2783, '90058', '323', '34.001856', '-118.212618', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75152, 'Los Angeles', 2783, '90081', '213', '34.0522', '-118.2429', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75153, 'Bell', 2783, '90201', '323', '33.976168', '-118.167642', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75154, 'Bell Gardens', 2783, '90201', '323', '33.976168', '-118.167642', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75155, 'Cudahy', 2783, '90201', '323', '33.976168', '-118.167642', '2018-11-29 05:16:06', '2018-11-29 05:16:06'),\n(75156, 'Downey', 2783, '90240', '562', '33.955889', '-118.118868', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75157, 'Downey', 2783, '90242', '562', '33.923122', '-118.139078', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75158, 'Malibu', 2783, '90265', '310', '34.063714', '-118.789759', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75159, 'Manhattan Bch', 2783, '90267', '310', '33.8899', '-118.4016', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75160, 'Manhattan Beach', 2783, '90267', '310', '33.8899', '-118.4016', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75161, 'Inglewood', 2783, '90301', '310', '33.958356', '-118.361289', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75162, 'Harbor City', 2783, '90710', '310', '33.798014', '-118.296692', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75163, 'Lomita', 2783, '90717', '310', '33.791307', '-118.318634', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75164, 'Long Beach', 2783, '90835', '424', '33.7801', '-118.1586', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75165, 'Monrovia', 2783, '91017', '626', '34.1482', '-117.9983', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75166, 'Pasadena', 2783, '91110', '626', '34.1478', '-118.1436', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75167, 'Shared Firm Zip Code', 2783, '91110', '626', '34.1478', '-118.1436', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75168, 'Cal Tech', 2783, '91126', '626', '34.1478', '-118.1436', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75169, 'Pasadena', 2783, '91126', '626', '34.1478', '-118.1436', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75170, 'Glendale', 2783, '91203', '818', '34.152822', '-118.265606', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75171, 'Canoga Park', 2783, '91303', '818', '34.19738', '-118.601551', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75172, 'Woodland Hills', 2783, '91303', '818', '34.19738', '-118.601551', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75173, 'Woodland Hls', 2783, '91303', '818', '34.19738', '-118.601551', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75174, 'Encino', 2783, '91335', '818', '34.200664', '-118.540392', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75175, 'Reseda', 2783, '91335', '818', '34.200664', '-118.540392', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75176, 'Tarzana', 2783, '91335', '818', '34.200664', '-118.540392', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75177, 'Granada Hills', 2783, '91344', '818', '34.293952', '-118.507635', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75178, 'San Fernando', 2783, '91344', '818', '34.293952', '-118.507635', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75179, 'Canyon Cntry', 2783, '91351', '661', '34.433792', '-118.462336', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75180, 'Canyon Country', 2783, '91351', '661', '34.433792', '-118.462336', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75181, 'Santa Clarita', 2783, '91351', '661', '34.433792', '-118.462336', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75182, 'Thousand Oaks', 2783, '91362', '805', '34.196318', '-118.819288', '2018-11-29 05:16:07', '2018-11-29 05:16:07'),\n(75183, 'Westlake Village', 2783, '91362', '805', '34.196318', '-118.819288', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75184, 'Westlake Vlg', 2783, '91362', '805', '34.196318', '-118.819288', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75185, 'Encino', 2783, '91426', '818', '34.1592', '-118.5003', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75186, 'Van Nuys', 2783, '91426', '818', '34.1592', '-118.5003', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75187, 'Burbank', 2783, '91501', '818', '34.199478', '-118.3044', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75188, 'Starlight Hills', 2783, '91501', '818', '34.199478', '-118.3044', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75189, 'Burbank', 2783, '91503', '818', '34.1808', '-118.3083', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75190, 'Burbank', 2783, '91526', '818', '34.1808', '-118.3083', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75191, 'Walt Disney Co', 2783, '91526', '818', '34.1808', '-118.3083', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75192, 'N Hollywood', 2783, '91605', '818', '34.208154', '-118.394128', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75193, 'North Hollywood', 2783, '91605', '818', '34.208154', '-118.394128', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75194, 'City Industry', 2783, '91744', '626', '34.028794', '-117.932986', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75195, 'City Of Industry', 2783, '91744', '626', '34.028794', '-117.932986', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75196, 'La Puente', 2783, '91744', '626', '34.028794', '-117.932986', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75197, 'Bassett', 2783, '91746', '626', '34.043272', '-117.995326', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75198, 'City Industry', 2783, '91746', '626', '34.043272', '-117.995326', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75199, 'City Of Industry', 2783, '91746', '626', '34.043272', '-117.995326', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75200, 'La Puente', 2783, '91746', '626', '34.043272', '-117.995326', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75201, 'Montclair', 2783, '91762', '909', '34.032424', '-117.635293', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75202, 'Ontario', 2783, '91762', '909', '34.032424', '-117.635293', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75203, 'Pomona', 2783, '91769', '909', '34.0554', '-117.7516', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75204, 'Temple City', 2783, '91780', '626', '34.103091', '-118.050886', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75205, 'Upland', 2783, '91785', '909', '34.0978', '-117.6478', '2018-11-29 05:16:08', '2018-11-29 05:16:08'),\n(75206, 'City Industry', 2783, '91789', '909', '34.013021', '-117.853936', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75207, 'City Of Industry', 2783, '91789', '909', '34.013021', '-117.853936', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75208, 'Diamond Bar', 2783, '91789', '909', '34.013021', '-117.853936', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75209, 'Walnut', 2783, '91789', '909', '34.013021', '-117.853936', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75210, 'Alpine', 2783, '91903', '619', '32.8352', '-116.7659', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75211, 'Tecate', 2783, '91987', '619', '32.5774', '-116.6269', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75212, 'Tk Manufacturing', 2783, '91987', '619', '32.5774', '-116.6269', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75213, 'Del Mar', 2783, '92014', '858', '32.971824', '-117.218229', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75214, 'Bostonia', 2783, '92021', '619', '32.842822', '-116.876516', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75215, 'Crest', 2783, '92021', '619', '32.842822', '-116.876516', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75216, 'El Cajon', 2783, '92021', '619', '32.842822', '-116.876516', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75217, 'Fallbrook', 2783, '92028', '760', '33.394303', '-117.296416', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75218, 'Rainbow', 2783, '92028', '760', '33.394303', '-117.296416', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75219, 'La Jolla', 2783, '92039', '619', '32.8473', '-117.2734', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75220, 'Ca State Univ San Marcos', 2783, '92096', '760', '33.129327', '-117.158428', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75221, 'San Marcos', 2783, '92096', '760', '33.129327', '-117.158428', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75222, 'San Diego', 2783, '92105', '619', '32.736614', '-117.089393', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75223, 'San Diego', 2783, '92121', '858', '32.900302', '-117.206736', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75224, 'San Diego', 2783, '92130', '858', '32.947024', '-117.202204', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75225, 'San Diego', 2783, '92171', '619', '32.7154', '-117.1565', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75226, 'San Diego', 2783, '92173', '619', '32.554691', '-117.051324', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75227, 'San Ysidro', 2783, '92173', '619', '32.554691', '-117.051324', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75228, 'Coronado', 2783, '92178', '619', '32.6856', '-117.1825', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75229, 'San Diego', 2783, '92178', '619', '32.6856', '-117.1825', '2018-11-29 05:16:09', '2018-11-29 05:16:09'),\n(75230, 'San Diego', 2783, '92196', '619', '32.7154', '-117.1565', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75231, 'San Diego', 2783, '92198', '619', '32.7154', '-117.1565', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75232, 'Bermuda Dunes', 2783, '92203', '760', '33.748175', '-116.234061', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75233, 'Indio', 2783, '92203', '760', '33.748175', '-116.234061', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75234, 'Cabazon', 2783, '92230', '909', '33.907106', '-116.781416', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75235, 'La Quinta', 2783, '92248', '714', '34.33', '-118.64', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75236, 'La Quinta', 2783, '92253', '760', '33.666324', '-116.278709', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75237, 'Palm Desert', 2783, '92255', '760', '33.7216', '-116.3875', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75238, 'Seeley', 2783, '92273', '760', '32.790214', '-115.688937', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75239, '29 Palms', 2783, '92278', '760', '34.476883', '-116.112316', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75240, 'Twentynin Plm', 2783, '92278', '760', '34.476883', '-116.112316', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75241, 'Twentynine Palms', 2783, '92278', '760', '34.476883', '-116.112316', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75242, 'Twentynine Palms Mcb', 2783, '92278', '760', '34.476883', '-116.112316', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75243, 'Barstow', 2783, '92312', '760', '34.8989', '-117.0218', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75244, 'Big Bear City', 2783, '92314', '909', '34.261866', '-116.900222', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75245, 'Essex', 2783, '92332', '760', '34.562702', '-115.173593', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75246, 'Goffs', 2783, '92332', '760', '34.562702', '-115.173593', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75247, 'Baker', 2783, '92364', '760', '35.340324', '-115.437548', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75248, 'Nipton', 2783, '92364', '760', '35.340324', '-115.437548', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75249, 'Phelan', 2783, '92371', '760', '34.43494', '-117.549398', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75250, 'Marigold', 2783, '92373', '909', '33.999085', '-117.148994', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75251, 'Redlands', 2783, '92373', '909', '33.999085', '-117.148994', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75252, 'Smiley Heights', 2783, '92373', '909', '33.999085', '-117.148994', '2018-11-29 05:16:10', '2018-11-29 05:16:10'),\n(75253, 'Arrowbear Lake', 2783, '92382', '909', '34.198716', '-117.132618', '2018-11-29 05:16:11', '2018-11-29 05:16:11'),\n(75254, 'Arrowbear Lk', 2783, '92382', '909', '34.198716', '-117.132618', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75255, 'Running Spgs', 2783, '92382', '909', '34.198716', '-117.132618', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75256, 'Running Springs', 2783, '92382', '909', '34.198716', '-117.132618', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75257, 'Yermo', 2783, '92398', '760', '34.888345', '-117.056801', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75258, 'San Bernardino', 2783, '92412', '909', '34.1216', '-117.3022', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75259, 'Sn Bernrdno', 2783, '92412', '909', '34.1216', '-117.3022', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75260, 'Box Springs', 2783, '92507', '909', '33.970023', '-117.323008', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75261, 'Canyon Crest', 2783, '92507', '909', '33.970023', '-117.323008', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75262, 'Riverside', 2783, '92507', '909', '33.970023', '-117.323008', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75263, 'Riverside', 2783, '92516', '909', '33.9533', '-117.3955', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75264, 'Lake Elsinore', 2783, '92530', '714', '33.623306', '-117.396752', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75265, 'Lk Elsinore', 2783, '92530', '714', '33.623306', '-117.396752', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75266, 'Lake Elsinore', 2783, '92532', '951', '33.707772', '-117.31279', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75267, 'Lk Elsinore', 2783, '92532', '951', '33.707772', '-117.31279', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75268, 'Anza', 2783, '92539', '760', '33.557385', '-116.69589', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75269, 'Hemet', 2783, '92546', '951', '33.7476', '-116.9713', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75270, 'Moreno Valley', 2783, '92555', '951', '33.901688', '-117.107273', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75271, 'Rancho Belago', 2783, '92555', '951', '33.901688', '-117.107273', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75272, 'Rancho California', 2783, '92589', '909', '33.4939', '-117.1475', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75273, 'Temecula', 2783, '92589', '909', '33.4939', '-117.1475', '2018-11-29 05:16:12', '2018-11-29 05:16:12');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(75274, 'Menifee', 2783, '92596', '909', '33.634437', '-117.070616', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75275, 'Winchester', 2783, '92596', '909', '33.634437', '-117.070616', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75276, 'Huntingtn Bch', 2783, '92605', '714', '33.7036', '-117.9942', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75277, 'Huntington Beach', 2783, '92605', '714', '33.7036', '-117.9942', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75278, 'Santa Cruz', 2783, '95064', '831', '37.000713', '-122.067993', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75279, 'Soquel', 2783, '95073', '831', '37.032279', '-121.943814', '2018-11-29 05:16:12', '2018-11-29 05:16:12'),\n(75280, 'Aurora', 2784, '80015', '303', '39.619884', '-104.776348', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75281, 'Centennial', 2784, '80015', '303', '39.619884', '-104.776348', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75282, 'Aurora', 2784, '80047', '720', '39.7502', '-104.8403', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75283, 'Hghlnds Ranch', 2784, '80129', '303', '39.542306', '-105.010866', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75284, 'Highlands Ranch', 2784, '80129', '303', '39.542306', '-105.010866', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75285, 'Littleton', 2784, '80129', '303', '39.542306', '-105.010866', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75286, 'Hghlnds Ranch', 2784, '80163', '303', '39.5466', '-104.8954', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75287, 'Highlands Ranch', 2784, '80163', '303', '39.5466', '-104.8954', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75288, 'Littleton', 2784, '80163', '303', '39.5466', '-104.8954', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75289, 'Littleton', 2784, '80165', '303', '39.6135', '-105.0164', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75290, 'Littleton City Offices', 2784, '80165', '303', '39.6135', '-105.0164', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75291, 'Denver', 2784, '80204', '303', '39.737736', '-105.020317', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75292, 'Denver', 2784, '80215', '303', '39.742292', '-105.118755', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75293, 'Lakewood', 2784, '80215', '303', '39.742292', '-105.118755', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75294, 'Wheat Ridge', 2784, '80215', '303', '39.742292', '-105.118755', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75295, 'Denver', 2784, '80224', '303', '39.685286', '-104.912387', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75296, 'Denver', 2784, '80229', '303', '39.848632', '-104.950634', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75297, 'Thornton', 2784, '80229', '303', '39.848632', '-104.950634', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75298, 'Welby', 2784, '80229', '303', '39.848632', '-104.950634', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75299, 'Denver', 2784, '80238', '303', '39.769004', '-104.880012', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75300, 'Montbello', 2784, '80238', '303', '39.769004', '-104.880012', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75301, 'Denver', 2784, '80256', '303', '39.7393', '-104.9845', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75302, 'Us Bank', 2784, '80256', '303', '39.7393', '-104.9845', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75303, 'Boulder', 2784, '80304', '303', '40.045179', '-105.291958', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75304, 'Boulder', 2784, '80306', '303', '40.0153', '-105.2702', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75305, 'Indian Hills', 2784, '80454', '303', '39.62558', '-105.24968', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75306, 'Ward', 2784, '80481', '303', '40.094276', '-105.494736', '2018-11-29 05:16:13', '2018-11-29 05:16:13'),\n(75307, 'Steamboat', 2784, '80488', '970', '40.485', '-106.8312', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75308, 'Steamboat Spr', 2784, '80488', '970', '40.485', '-106.8312', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75309, 'Steamboat Springs', 2784, '80488', '970', '40.485', '-106.8312', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75310, 'Silverthorne', 2784, '80497', '970', '39.7695', '-106.1063', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75311, 'Firestone', 2784, '80504', '303', '40.165272', '-105.016554', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75312, 'Frederick', 2784, '80504', '303', '40.165272', '-105.016554', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75313, 'Longmont', 2784, '80504', '303', '40.165272', '-105.016554', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75314, 'Niwot', 2784, '80504', '303', '40.165272', '-105.016554', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75315, 'Timnath', 2784, '80547', '970', '40.530161', '-104.967948', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75316, 'Gill', 2784, '80624', '970', '40.49018', '-104.482425', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75317, 'Haxtun', 2784, '80731', '970', '40.644894', '-102.592098', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75318, 'Hillrose', 2784, '80733', '970', '40.357268', '-103.479748', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75319, 'Lindon', 2784, '80740', '970', '39.73994', '-103.377968', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75320, 'Laird', 2784, '80758', '970', '40.057715', '-102.28018', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75321, 'Wray', 2784, '80758', '970', '40.057715', '-102.28018', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75322, 'Flagler', 2784, '80815', '719', '39.303084', '-102.980413', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75323, 'Joes', 2784, '80822', '970', '39.699374', '-102.679808', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75324, 'Rush', 2784, '80833', '719', '38.753311', '-103.931596', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75325, 'United States Air Force Acad', 2784, '80840', '719', '38.991664', '-104.85426', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75326, 'Us Air Force', 2784, '80840', '719', '38.991664', '-104.85426', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75327, 'Usaf Academy', 2784, '80840', '719', '38.991664', '-104.85426', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75328, 'Co Spgs', 2784, '80906', '719', '38.772292', '-104.849254', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75329, 'Colo Spgs', 2784, '80906', '719', '38.772292', '-104.849254', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75330, 'Colorado Spgs', 2784, '80906', '719', '38.772292', '-104.849254', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75331, 'Colorado Springs', 2784, '80906', '719', '38.772292', '-104.849254', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75332, 'Stratmoor Hills', 2784, '80906', '719', '38.772292', '-104.849254', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75333, 'Co Spgs', 2784, '80931', '719', '38.8338', '-104.8205', '2018-11-29 05:16:14', '2018-11-29 05:16:14'),\n(75334, 'Colo Spgs', 2784, '80931', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75335, 'Colorado Spgs', 2784, '80931', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75336, 'Colorado Springs', 2784, '80931', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75337, 'Security', 2784, '80931', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75338, 'Co Spgs', 2784, '80933', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75339, 'Colo Spgs', 2784, '80933', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75340, 'Colorado Spgs', 2784, '80933', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75341, 'Colorado Springs', 2784, '80933', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75342, 'Affliated National Bank', 2784, '80942', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75343, 'Colo Spgs', 2784, '80942', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75344, 'Colorado Spgs', 2784, '80942', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75345, 'Colorado Springs', 2784, '80942', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75346, 'Colo Spgs', 2784, '80949', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75347, 'Colorado Spgs', 2784, '80949', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75348, 'Colorado Springs', 2784, '80949', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75349, 'Rockrimmon', 2784, '80949', '719', '38.8338', '-104.8205', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75350, 'Cimarron Hills', 2784, '80951', '719', '38.861542', '-104.675779', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75351, 'Co Spgs', 2784, '80951', '719', '38.861542', '-104.675779', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75352, 'Colo Spgs', 2784, '80951', '719', '38.861542', '-104.675779', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75353, 'Colorado Spgs', 2784, '80951', '719', '38.861542', '-104.675779', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75354, 'Colorado Springs', 2784, '80951', '719', '38.861542', '-104.675779', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75355, 'Pinon', 2784, '81008', '719', '38.447006', '-104.594949', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75356, 'Pueblo', 2784, '81008', '719', '38.447006', '-104.594949', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75357, 'Sugar City', 2784, '81076', '719', '38.382402', '-103.597264', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75358, 'Trinchera', 2784, '81081', '719', '37.122108', '-104.156364', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75359, 'Cleora', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75360, 'Maysville', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:15', '2018-11-29 05:16:15'),\n(75361, 'Salida', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75362, 'Smeltertown', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75363, 'Swissvale', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75364, 'Turret', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75365, 'Wellsville', 2784, '81201', '719', '38.557821', '-106.039252', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75366, 'Lake City', 2784, '81235', '970', '37.784971', '-107.295986', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75367, 'Twin Lakes', 2784, '81251', '719', '39.163587', '-106.43361', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75368, 'Federal Correctional Complex', 2784, '81290', '719', '38.3903', '-105.1184', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75369, 'Florence', 2784, '81290', '719', '38.3903', '-105.1184', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75370, 'Arvada', 2784, '80001', '303', '39.8028', '-105.0869', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75371, 'Aurora', 2784, '80016', '303', '39.602188', '-104.713858', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75372, 'Centennial', 2784, '80016', '303', '39.602188', '-104.713858', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75373, 'Foxfield', 2784, '80016', '303', '39.602188', '-104.713858', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75374, 'Aurora', 2784, '80018', '303', '39.68927', '-104.678677', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75375, 'Denver', 2784, '80033', '303', '39.774795', '-105.109231', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75376, 'Wheat Ridge', 2784, '80033', '303', '39.774795', '-105.109231', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75377, 'Wheat Ridge', 2784, '80034', '303', '39.7664', '-105.0769', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75378, 'Agate', 2784, '80101', '719', '39.379655', '-103.965522', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75379, 'Larkspur', 2784, '80118', '303', '39.219606', '-104.863057', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75380, 'Parker', 2784, '80134', '303', '39.489446', '-104.768772', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75381, 'Deckers', 2784, '80135', '303', '39.265804', '-105.151716', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75382, 'Sedalia', 2784, '80135', '303', '39.265804', '-105.151716', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75383, 'Arapahoe County Offices', 2784, '80166', '303', '39.6135', '-105.0164', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75384, 'Littleton', 2784, '80166', '303', '39.6135', '-105.0164', '2018-11-29 05:16:16', '2018-11-29 05:16:16'),\n(75385, 'Denver', 2784, '80201', '303', '39.7393', '-104.9844', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75386, 'Denver', 2784, '80202', '303', '39.752627', '-104.998086', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75387, 'Denver', 2784, '80219', '303', '39.696254', '-105.034428', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75388, 'Denver', 2784, '80234', '303', '39.914067', '-105.010998', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75389, 'Federal Heights', 2784, '80234', '303', '39.914067', '-105.010998', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75390, 'North Glenn', 2784, '80234', '303', '39.914067', '-105.010998', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75391, 'Northglenn', 2784, '80234', '303', '39.914067', '-105.010998', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75392, 'Thornton', 2784, '80234', '303', '39.914067', '-105.010998', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75393, 'Westminster', 2784, '80234', '303', '39.914067', '-105.010998', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75394, 'Denver', 2784, '80236', '303', '39.649368', '-105.034572', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75395, 'Fort Logan', 2784, '80236', '303', '39.649368', '-105.034572', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75396, 'Ft Logan', 2784, '80236', '303', '39.649368', '-105.034572', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75397, 'Lakewood', 2784, '80236', '303', '39.649368', '-105.034572', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75398, 'Denver', 2784, '80250', '303', '39.7393', '-104.9845', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75399, 'Denver', 2784, '80251', '303', '39.7393', '-104.9845', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75400, 'National Farmers Union', 2784, '80251', '303', '39.7393', '-104.9845', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75401, 'Boulder', 2784, '80302', '303', '40.048078', '-105.38018', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75402, 'Golden', 2784, '80419', '303', '39.7559', '-105.2207', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75403, 'Jefferson County', 2784, '80419', '303', '39.7559', '-105.2207', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75404, 'Aspen Park', 2784, '80433', '303', '39.447453', '-105.262621', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75405, 'Conifer', 2784, '80433', '303', '39.447453', '-105.262621', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75406, 'Foxton', 2784, '80433', '303', '39.447453', '-105.262621', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75407, 'Dumont', 2784, '80436', '303', '39.783157', '-105.620216', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75408, 'Hot Slphr Spr', 2784, '80451', '970', '40.107266', '-106.067372', '2018-11-29 05:16:17', '2018-11-29 05:16:17'),\n(75409, 'Hot Sulphur Springs', 2784, '80451', '970', '40.107266', '-106.067372', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75410, 'Idaho Springs', 2784, '80452', '303', '39.708406', '-105.681674', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75411, 'Oak Creek', 2784, '80467', '970', '40.232808', '-106.866278', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75412, 'Phippsburg', 2784, '80469', '970', '40.213908', '-106.93658', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75413, 'Pine', 2784, '80470', '303', '39.440062', '-105.35765', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75414, 'Longmont', 2784, '80501', '303', '40.168907', '-105.09317', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75415, 'Longmont', 2784, '80502', '303', '40.1673', '-105.1015', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75416, 'Firestone', 2784, '80520', '303', '40.11373', '-104.919116', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75417, 'Johnstown', 2784, '80534', '970', '40.33434', '-104.933721', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75418, 'Loveland', 2784, '80534', '970', '40.33434', '-104.933721', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75419, 'Severance', 2784, '80550', '970', '40.473121', '-104.906089', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75420, 'Windsor', 2784, '80550', '970', '40.473121', '-104.906089', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75421, 'Eastman Kodak Co', 2784, '80551', '970', '40.4777', '-104.9009', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75422, 'Windsor', 2784, '80551', '970', '40.4777', '-104.9009', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75423, 'Evans', 2784, '80620', '970', '40.375981', '-104.71512', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75424, 'Platteville', 2784, '80651', '970', '40.248687', '-104.819188', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75425, 'Hale', 2784, '80735', '970', '39.704624', '-102.256224', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75426, 'Idalia', 2784, '80735', '970', '39.704624', '-102.256224', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75427, 'Stoneham', 2784, '80754', '970', '40.761884', '-103.663092', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75428, 'Arriba', 2784, '80804', '719', '39.346733', '-103.275865', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75429, 'Simla', 2784, '80835', '719', '39.12911', '-104.077968', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75430, 'Co Spgs', 2784, '80902', '719', '38.741557', '-104.80522', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75431, 'Colo Spgs', 2784, '80902', '719', '38.741557', '-104.80522', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75432, 'Colorado Spgs', 2784, '80902', '719', '38.741557', '-104.80522', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75433, 'Colorado Springs', 2784, '80902', '719', '38.741557', '-104.80522', '2018-11-29 05:16:18', '2018-11-29 05:16:18'),\n(75434, 'Fort Carson', 2784, '80902', '719', '38.741557', '-104.80522', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75435, 'Ft Carson', 2784, '80902', '719', '38.741557', '-104.80522', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75436, 'Co Spgs', 2784, '80905', '719', '38.818016', '-104.836856', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75437, 'Colo Spgs', 2784, '80905', '719', '38.818016', '-104.836856', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75438, 'Colorado Spgs', 2784, '80905', '719', '38.818016', '-104.836856', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75439, 'Colorado Springs', 2784, '80905', '719', '38.818016', '-104.836856', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75440, 'Co Spgs', 2784, '80918', '719', '38.913838', '-104.781893', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75441, 'Colo Spgs', 2784, '80918', '719', '38.913838', '-104.781893', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75442, 'Colorado Spgs', 2784, '80918', '719', '38.913838', '-104.781893', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75443, 'Colorado Springs', 2784, '80918', '719', '38.913838', '-104.781893', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75444, 'Co Spgs', 2784, '80935', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75445, 'Colo Spgs', 2784, '80935', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75446, 'Colorado Spgs', 2784, '80935', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75447, 'Colorado Springs', 2784, '80935', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75448, 'Co Spgs', 2784, '80937', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75449, 'Colo Spgs', 2784, '80937', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75450, 'Colorado Spgs', 2784, '80937', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75451, 'Colorado Springs', 2784, '80937', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75452, 'Cimarron Hills', 2784, '80970', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75453, 'Colo Spgs', 2784, '80970', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75454, 'Colorado Spgs', 2784, '80970', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75455, 'Colorado Springs', 2784, '80970', '719', '38.8338', '-104.8205', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75456, 'Pueblo', 2784, '81002', '719', '38.263', '-104.6085', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75457, 'Colo City', 2784, '81019', '719', '37.951814', '-104.813142', '2018-11-29 05:16:19', '2018-11-29 05:16:19'),\n(75458, 'Colorado City', 2784, '81019', '719', '37.951814', '-104.813142', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75459, 'Aguilar', 2784, '81020', '719', '37.375228', '-104.744426', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75460, 'Brandon', 2784, '81036', '719', '38.449461', '-102.745102', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75461, 'Chivington', 2784, '81036', '719', '38.449461', '-102.745102', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75462, 'Eads', 2784, '81036', '719', '38.449461', '-102.745102', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75463, 'Cedarwood', 2784, '81069', '719', '37.943962', '-104.88552', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75464, 'Greenwood', 2784, '81069', '719', '37.943962', '-104.88552', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75465, 'Lascar', 2784, '81069', '719', '37.943962', '-104.88552', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75466, 'Rye', 2784, '81069', '719', '37.943962', '-104.88552', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75467, 'San Isabel', 2784, '81069', '719', '37.943962', '-104.88552', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75468, 'Brandon', 2784, '81071', '719', '38.44145', '-102.315565', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75469, 'Sheridan Lake', 2784, '81071', '719', '38.44145', '-102.315565', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75470, 'Towner', 2784, '81071', '719', '38.44145', '-102.315565', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75471, 'Arboles', 2784, '81121', '970', '37.123499', '-107.409612', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75472, 'Navajo State Park', 2784, '81121', '970', '37.123499', '-107.409612', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75473, 'Piedre Park', 2784, '81121', '970', '37.123499', '-107.409612', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75474, 'Bayfield', 2784, '81122', '970', '37.377315', '-107.470719', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75475, 'Chimney Rock', 2784, '81122', '970', '37.377315', '-107.470719', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75476, 'Gem Village', 2784, '81122', '970', '37.377315', '-107.470719', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75477, 'Vallecito', 2784, '81122', '970', '37.377315', '-107.470719', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75478, 'Hooper', 2784, '81136', '719', '37.707314', '-105.855379', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75479, 'Jaroso', 2784, '81138', '719', '37.0026', '-105.6236', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75480, 'Bonanza City', 2784, '81155', '719', '38.30687', '-106.051417', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75481, 'Villa Grove', 2784, '81155', '719', '38.30687', '-106.051417', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75482, 'Cimarron', 2784, '81220', '970', '38.373044', '-107.506111', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75483, 'Coal Creek', 2784, '81221', '719', '38.364028', '-105.143064', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75484, 'Greenwood', 2784, '81253', '719', '38.08463', '-105.215465', '2018-11-29 05:16:20', '2018-11-29 05:16:20'),\n(75485, 'Wetmore', 2784, '81253', '719', '38.08463', '-105.215465', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75486, 'Durango', 2784, '81303', '970', '37.144884', '-107.877732', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75487, 'Cahone', 2784, '81320', '970', '37.763526', '-108.36505', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75488, 'Arriola', 2784, '81321', '970', '37.347179', '-108.733778', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75489, 'Cortez', 2784, '81321', '970', '37.347179', '-108.733778', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75490, 'Hovenweep National Monument', 2784, '81321', '970', '37.347179', '-108.733778', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75491, 'Aurora', 2784, '80012', '303', '39.703795', '-104.837948', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75492, 'Denver', 2784, '80012', '303', '39.703795', '-104.837948', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75493, 'Broomfield', 2784, '80021', '303', '39.892612', '-105.1492', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75494, 'Westminster', 2784, '80021', '303', '39.892612', '-105.1492', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75495, 'Aurora', 2784, '80046', '303', '39.6867', '-104.8218', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75496, 'Byers', 2784, '80103', '303', '39.78304', '-104.071578', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75497, 'Elizabeth', 2784, '80107', '303', '39.405588', '-104.547635', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75498, 'Littleton', 2784, '80128', '303', '39.570494', '-105.082518', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75499, 'Denver', 2784, '80205', '303', '39.758341', '-104.96767', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75500, 'Denver', 2784, '80262', '303', '39.731056', '-104.93779', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75501, 'Univ Of Colorado Med Ctr', 2784, '80262', '303', '39.731056', '-104.93779', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75502, 'Boulder', 2784, '80305', '303', '39.975573', '-105.25358', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75503, 'Bailey', 2784, '80421', '303', '39.41654', '-105.617335', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75504, 'Como', 2784, '80432', '719', '39.207046', '-105.820608', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75505, 'Fairplay', 2784, '80432', '719', '39.207046', '-105.820608', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75506, 'Evergreen', 2784, '80439', '303', '39.649724', '-105.405932', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75507, 'Golden', 2784, '80439', '303', '39.649724', '-105.405932', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75508, 'Jamestown', 2784, '80455', '303', '40.079144', '-105.430196', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75509, 'Rand', 2784, '80473', '970', '40.455146', '-106.200629', '2018-11-29 05:16:21', '2018-11-29 05:16:21'),\n(75510, 'Fort Collins', 2784, '80521', '970', '40.598394', '-105.126392', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75511, 'Ft Collins', 2784, '80521', '970', '40.598394', '-105.126392', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75512, 'Loveland', 2784, '80539', '970', '40.3979', '-105.0747', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75513, 'Masonville', 2784, '80541', '970', '40.4875', '-105.2106', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75514, 'Gilcrest', 2784, '80623', '970', '40.284424', '-104.779684', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75515, 'Brush', 2784, '80723', '970', '40.16755', '-103.584073', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75516, 'Burlington', 2784, '80807', '719', '39.309113', '-102.23743', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75517, 'Florissant', 2784, '80816', '719', '38.847808', '-105.306863', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75518, 'Florissant Fossil Beds Natio', 2784, '80816', '719', '38.847808', '-105.306863', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75519, 'Twin Rock', 2784, '80816', '719', '38.847808', '-105.306863', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75520, 'Cadet Sta', 2784, '80841', '719', '39.0106', '-104.8703', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75521, 'Usaf Academy', 2784, '80841', '719', '39.0106', '-104.8703', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75522, 'Edison', 2784, '80864', '719', '38.738616', '-104.219804', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75523, 'Truckton', 2784, '80864', '719', '38.738616', '-104.219804', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75524, 'Yoder', 2784, '80864', '719', '38.738616', '-104.219804', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75525, 'Co Spgs', 2784, '80907', '719', '38.878444', '-104.827614', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75526, 'Colo Spgs', 2784, '80907', '719', '38.878444', '-104.827614', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75527, 'Colorado Spgs', 2784, '80907', '719', '38.878444', '-104.827614', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75528, 'Colorado Springs', 2784, '80907', '719', '38.878444', '-104.827614', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75529, 'Co Spgs', 2784, '80916', '719', '38.80736', '-104.724667', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75530, 'Colo Spgs', 2784, '80916', '719', '38.80736', '-104.724667', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75531, 'Colorado Spgs', 2784, '80916', '719', '38.80736', '-104.724667', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75532, 'Colorado Springs', 2784, '80916', '719', '38.80736', '-104.724667', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75533, 'Co Spgs', 2784, '80932', '719', '38.8338', '-104.8205', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75534, 'Colo Spgs', 2784, '80932', '719', '38.8338', '-104.8205', '2018-11-29 05:16:22', '2018-11-29 05:16:22'),\n(75535, 'Colorado Spgs', 2784, '80932', '719', '38.8338', '-104.8205', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75536, 'Colorado Springs', 2784, '80932', '719', '38.8338', '-104.8205', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75537, 'Colo Spgs', 2784, '80941', '719', '38.8338', '-104.8205', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75538, 'Colorado Spgs', 2784, '80941', '719', '38.8338', '-104.8205', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75539, 'Colorado Springs', 2784, '80941', '719', '38.8338', '-104.8205', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75540, 'Current Inc', 2784, '80941', '719', '38.8338', '-104.8205', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75541, 'Pueblo', 2784, '81007', '719', '38.390031', '-104.774331', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75542, 'Pueblo West', 2784, '81007', '719', '38.390031', '-104.774331', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75543, 'Beulah', 2784, '81023', '719', '38.086874', '-104.922326', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75544, 'Ark Valley Corr Facl', 2784, '81034', '719', '38.1932', '-103.8559', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75545, 'Ordway', 2784, '81034', '719', '38.1932', '-103.8559', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75546, 'Lycan', 2784, '81084', '719', '37.524852', '-102.395635', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75547, 'Two Buttes', 2784, '81084', '719', '37.524852', '-102.395635', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75548, 'Blanca', 2784, '81123', '719', '37.402412', '-105.589032', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75549, 'Manassa', 2784, '81141', '719', '37.095697', '-105.842045', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75550, 'Cotopaxi', 2784, '81223', '719', '38.451645', '-105.513795', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75551, 'Texas Creek', 2784, '81223', '719', '38.451645', '-105.513795', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75552, 'Hillside', 2784, '81232', '719', '38.2641', '-105.6114', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75553, 'Powderhorn', 2784, '81243', '970', '38.323432', '-107.134995', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75554, 'Sargents', 2784, '81248', '719', '38.430735', '-106.498814', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75555, 'White Pine', 2784, '81248', '719', '38.430735', '-106.498814', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75556, 'Dolores', 2784, '81323', '970', '37.497981', '-108.333227', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75557, 'Dunton', 2784, '81323', '970', '37.497981', '-108.333227', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75558, 'Stoner', 2784, '81323', '970', '37.497981', '-108.333227', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75559, 'Egnar', 2784, '81325', '970', '38.017815', '-108.682518', '2018-11-29 05:16:23', '2018-11-29 05:16:23'),\n(75560, 'Slick Rock', 2784, '81325', '970', '38.017815', '-108.682518', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75561, 'Aurora', 2784, '80010', '303', '39.739826', '-104.856217', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75562, 'Lafayette', 2784, '80026', '303', '40.022629', '-105.105358', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75563, 'Aurora', 2784, '80041', '720', '39.7688', '-104.8324', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75564, 'Castle Pines', 2784, '80108', '303', '39.442203', '-104.84443', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75565, 'Castle Rock', 2784, '80108', '303', '39.442203', '-104.84443', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75566, 'Littleton', 2784, '80125', '303', '39.483761', '-105.04907', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75567, 'Roxborough', 2784, '80125', '303', '39.483761', '-105.04907', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75568, 'Hghlnds Ranch', 2784, '80126', '303', '39.53472', '-104.948452', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75569, 'Highlands Ranch', 2784, '80126', '303', '39.53472', '-104.948452', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75570, 'Littleton', 2784, '80126', '303', '39.53472', '-104.948452', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75571, 'Littleton', 2784, '80160', '303', '39.6135', '-105.0164', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75572, 'Centennial', 2784, '80161', '303', '39.6135', '-105.0164', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75573, 'Littleton', 2784, '80161', '303', '39.6135', '-105.0164', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75574, 'Denver', 2784, '80209', '303', '39.705644', '-104.964853', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75575, 'Denver', 2784, '80241', '303', '39.928444', '-104.955839', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75576, 'East Lake', 2784, '80241', '303', '39.928444', '-104.955839', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75577, 'Northglenn', 2784, '80241', '303', '39.928444', '-104.955839', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75578, 'Thornton', 2784, '80241', '303', '39.928444', '-104.955839', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75579, 'Westminster', 2784, '80241', '303', '39.928444', '-104.955839', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75580, 'Co Dept Of Revenue', 2784, '80261', '303', '39.7393', '-104.9845', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75581, 'Denver', 2784, '80261', '303', '39.7393', '-104.9845', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75582, 'Denver', 2784, '80293', '303', '39.746286', '-104.990136', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75583, 'Denver', 2784, '80295', '720', '39.7387', '-104.9858', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75584, 'Boulder', 2784, '80308', '303', '40.0153', '-105.2702', '2018-11-29 05:16:24', '2018-11-29 05:16:24'),\n(75585, 'Burns', 2784, '80426', '970', '39.84861', '-106.964514', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75586, 'Fraser', 2784, '80442', '970', '39.923725', '-105.820283', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75587, 'Kremmling', 2784, '80459', '970', '40.184952', '-106.443272', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75588, 'Tabernash', 2784, '80478', '970', '39.979138', '-105.849158', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75589, 'Allenspark', 2784, '80510', '303', '40.226643', '-105.510796', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75590, 'Fort Collins', 2784, '80527', '970', '40.5854', '-105.0839', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75591, 'Ft Collins', 2784, '80527', '970', '40.5854', '-105.0839', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75592, 'Red Fe Lks', 2784, '80545', '970', '40.799169', '-105.818592', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75593, 'Red Feather Lakes', 2784, '80545', '970', '40.799169', '-105.818592', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75594, 'Kersey', 2784, '80644', '970', '40.344072', '-104.374298', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75595, 'Fleming', 2784, '80728', '970', '40.630954', '-102.943002', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75596, 'Grover', 2784, '80729', '970', '40.819824', '-104.248511', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75597, 'Cascade', 2784, '80809', '719', '38.922976', '-104.9682', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75598, 'Chipita Park', 2784, '80809', '719', '38.922976', '-104.9682', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75599, 'Cheyenne Wells', 2784, '80810', '719', '38.829724', '-102.406207', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75600, 'Cheyenne Wls', 2784, '80810', '719', '38.829724', '-102.406207', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75601, 'First View', 2784, '80810', '719', '38.829724', '-102.406207', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75602, 'Cripple Creek', 2784, '80813', '719', '38.789718', '-105.188601', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75603, 'Limon', 2784, '80826', '719', '39.2695', '-103.6926', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75604, 'Limon Correctional Fac', 2784, '80826', '719', '39.2695', '-103.6926', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75605, 'Limon Correctional Facility', 2784, '80826', '719', '39.2695', '-103.6926', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75606, 'Limon Crrctnl', 2784, '80826', '719', '39.2695', '-103.6926', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75607, 'Vona', 2784, '80861', '970', '39.303822', '-102.730406', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75608, 'Crystola', 2784, '80863', '719', '38.99643', '-105.06935', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75609, 'Westwood Lake', 2784, '80863', '719', '38.99643', '-105.06935', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75610, 'Woodland Park', 2784, '80863', '719', '38.99643', '-105.06935', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75611, 'Co Spgs', 2784, '80910', '719', '38.810192', '-104.772795', '2018-11-29 05:16:25', '2018-11-29 05:16:25'),\n(75612, 'Colo Spgs', 2784, '80910', '719', '38.810192', '-104.772795', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75613, 'Colorado Spgs', 2784, '80910', '719', '38.810192', '-104.772795', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75614, 'Colorado Springs', 2784, '80910', '719', '38.810192', '-104.772795', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75615, 'Co Spgs', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75616, 'Colo Spgs', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75617, 'Colorado Spgs', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75618, 'Colorado Springs', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75619, 'Consolidated Space Operation', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75620, 'Csoc', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75621, 'Ent Air Force Base', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75622, 'Falcon AFB', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75623, 'Schriever AFB', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75624, 'Schriever Air Force Base', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75625, 'Schriever Air Sta', 2784, '80912', '719', '38.8334', '-104.8201', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75626, 'Co Spgs', 2784, '80928', '719', '38.64684', '-104.417043', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75627, 'Colo Spgs', 2784, '80928', '719', '38.64684', '-104.417043', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75628, 'Colorado Spgs', 2784, '80928', '719', '38.64684', '-104.417043', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75629, 'Colorado Springs', 2784, '80928', '719', '38.64684', '-104.417043', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75630, 'Security', 2784, '80928', '719', '38.64684', '-104.417043', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75631, 'Colo Spgs', 2784, '80943', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75632, 'Colorado Spgs', 2784, '80943', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75633, 'Colorado Springs', 2784, '80943', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75634, 'Us Bank Exchange', 2784, '80943', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75635, 'Colo Spgs', 2784, '80946', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75636, 'Colorado College', 2784, '80946', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75637, 'Colorado Spgs', 2784, '80946', '719', '38.8338', '-104.8205', '2018-11-29 05:16:26', '2018-11-29 05:16:26'),\n(75638, 'Colorado Springs', 2784, '80946', '719', '38.8338', '-104.8205', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75639, 'Co Spgs', 2784, '80960', '719', '38.8338', '-104.8205', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75640, 'Colo Spgs', 2784, '80960', '719', '38.8338', '-104.8205', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75641, 'Colorado Spgs', 2784, '80960', '719', '38.8338', '-104.8205', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75642, 'Colorado Springs', 2784, '80960', '719', '38.8338', '-104.8205', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75643, 'Co Lottery', 2784, '81010', '719', '38.2544', '-104.6086', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75644, 'Pueblo', 2784, '81010', '719', '38.2544', '-104.6086', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75645, 'Co Lottery', 2784, '81012', '719', '38.2544', '-104.6086', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75646, 'Pueblo', 2784, '81012', '719', '38.2544', '-104.6086', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75647, 'Caddoa', 2784, '81044', '719', '38.021688', '-102.908824', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75648, 'Hasty', 2784, '81044', '719', '38.021688', '-102.908824', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75649, 'John Martin Reservoir', 2784, '81044', '719', '38.021688', '-102.908824', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75650, 'Bristol', 2784, '81047', '719', '37.963697', '-102.265906', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75651, 'Cheney Center', 2784, '81047', '719', '37.963697', '-102.265906', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75652, 'Holly', 2784, '81047', '719', '37.963697', '-102.265906', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75653, 'Chromo', 2784, '81128', '970', '37.153748', '-106.712546', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75654, 'Conejos', 2784, '81129', '719', '37.0884', '-106.0194', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75655, 'Mosca', 2784, '81146', '719', '37.634914', '-105.727676', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75656, 'Chimney Rock', 2784, '81147', '970', '37.233147', '-106.954647', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75657, 'Pagosa Lakes', 2784, '81147', '970', '37.233147', '-106.954647', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75658, 'Pagosa Spgs', 2784, '81147', '970', '37.233147', '-106.954647', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75659, 'Pagosa Springs', 2784, '81147', '970', '37.233147', '-106.954647', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75660, 'Arickaree', 2784, '80801', '970', '39.683691', '-103.094768', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75661, 'Bovina', 2784, '80818', '719', '39.426128', '-103.47894', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75662, 'Genoa', 2784, '80818', '719', '39.426128', '-103.47894', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75663, 'Green Mountain Falls', 2784, '80819', '719', '38.969939', '-104.982687', '2018-11-29 05:16:27', '2018-11-29 05:16:27'),\n(75664, 'Green Mtn Fls', 2784, '80819', '719', '38.969939', '-104.982687', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75665, 'Ute Pass', 2784, '80819', '719', '38.969939', '-104.982687', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75666, 'Boyero', 2784, '80821', '719', '38.99639', '-103.505981', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75667, 'Hugo', 2784, '80821', '719', '38.99639', '-103.505981', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75668, 'Punkin Center', 2784, '80821', '719', '38.99639', '-103.505981', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75669, 'Stratton', 2784, '80836', '719', '39.30526', '-102.555575', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75670, 'Co Spgs', 2784, '80919', '719', '38.93219', '-104.876076', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75671, 'Colo Spgs', 2784, '80919', '719', '38.93219', '-104.876076', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75672, 'Colorado Spgs', 2784, '80919', '719', '38.93219', '-104.876076', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75673, 'Colorado Springs', 2784, '80919', '719', '38.93219', '-104.876076', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75674, 'Rockrimmon', 2784, '80919', '719', '38.93219', '-104.876076', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75675, 'Co Spgs', 2784, '80921', '719', '39.049278', '-104.897454', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75676, 'Colo Spgs', 2784, '80921', '719', '39.049278', '-104.897454', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75677, 'Colorado Spgs', 2784, '80921', '719', '39.049278', '-104.897454', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75678, 'Colorado Springs', 2784, '80921', '719', '39.049278', '-104.897454', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75679, 'Co Spgs', 2784, '80936', '719', '38.8338', '-104.8205', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75680, 'Colo Spgs', 2784, '80936', '719', '38.8338', '-104.8205', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75681, 'Colorado Spgs', 2784, '80936', '719', '38.8338', '-104.8205', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75682, 'Colorado Springs', 2784, '80936', '719', '38.8338', '-104.8205', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75683, 'Cimarron Hills', 2784, '80938', '719', '38.904518', '-104.663357', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75684, 'Co Spgs', 2784, '80938', '719', '38.904518', '-104.663357', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75685, 'Colo Spgs', 2784, '80938', '719', '38.904518', '-104.663357', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75686, 'Colorado Spgs', 2784, '80938', '719', '38.904518', '-104.663357', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75687, 'Colorado Springs', 2784, '80938', '719', '38.904518', '-104.663357', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75688, 'Pueblo', 2784, '81005', '719', '38.193818', '-104.841206', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75689, 'Arlington', 2784, '81021', '719', '38.394434', '-103.357217', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75690, 'Avondale', 2784, '81022', '719', '38.073007', '-104.492289', '2018-11-29 05:16:28', '2018-11-29 05:16:28'),\n(75691, 'Broadacre', 2784, '81022', '719', '38.073007', '-104.492289', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75692, 'N Avondale', 2784, '81022', '719', '38.073007', '-104.492289', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75693, 'North Avondale', 2784, '81022', '719', '38.073007', '-104.492289', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75694, 'Deora', 2784, '81054', '719', '37.897424', '-103.072539', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75695, 'Fort Lyon', 2784, '81054', '719', '37.897424', '-103.072539', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75696, 'Ft Lyon', 2784, '81054', '719', '37.897424', '-103.072539', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75697, 'Las Animas', 2784, '81054', '719', '37.897424', '-103.072539', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75698, 'Ninaview', 2784, '81054', '719', '37.897424', '-103.072539', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75699, 'Toonerville', 2784, '81054', '719', '37.897424', '-103.072539', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75700, 'Indian Creek', 2784, '81055', '719', '37.501734', '-105.082298', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75701, 'La Veta', 2784, '81055', '719', '37.501734', '-105.082298', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75702, 'Ojo', 2784, '81055', '719', '37.501734', '-105.082298', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75703, 'Wahatoya', 2784, '81055', '719', '37.501734', '-105.082298', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75704, 'Antonito', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(75705, 'Espinoza', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75706, 'Florida', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75707, 'Fox Creek', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75708, 'La Isla', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75709, 'Las Mesitas', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75710, 'Lobatos', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75711, 'Los Pinas', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75712, 'Mogote', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75713, 'Ortiz', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75714, 'Paisaje', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75715, 'San Antonio', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75716, 'San Miguel', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75717, 'San Rafeal', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:29', '2018-11-29 05:16:29'),\n(75718, 'Track City', 2784, '81120', '719', '37.198711', '-106.198432', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75719, 'Homelake', 2784, '81135', '719', '37.5757', '-106.0966', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75720, 'Monte Vista', 2784, '81135', '719', '37.5757', '-106.0966', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75721, 'Allison', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75722, 'Ignacio', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75723, 'Indian Agency', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75724, 'Oxford', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75725, 'S Ute Indian', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75726, 'So Ute Indian Res', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75727, 'Southern Ute Indian Reservat', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75728, 'Tiffany', 2784, '81137', '970', '37.107386', '-107.631608', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75729, 'El Rito', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75730, 'Garcia', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75731, 'Los Fuertes', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75732, 'Mesita', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75733, 'San Francisco', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75734, 'San Luis', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75735, 'San Pablo', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75736, 'San Pedro', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75737, 'Wildhorse Mesa', 2784, '81152', '719', '37.098644', '-105.580418', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75738, 'Alpine Village', 2784, '81236', '719', '38.683361', '-106.226682', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75739, 'Iron City', 2784, '81236', '719', '38.683361', '-106.226682', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75740, 'Mount Princeton', 2784, '81236', '719', '38.683361', '-106.226682', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75741, 'Nathrop', 2784, '81236', '719', '38.683361', '-106.226682', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75742, 'Saint Elmo', 2784, '81236', '719', '38.683361', '-106.226682', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75743, 'Parlin', 2784, '81239', '970', '38.543002', '-106.620176', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75744, 'Durango', 2784, '81302', '970', '37.2754', '-107.8795', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75745, 'Arvada', 2784, '80002', '303', '39.793416', '-105.100028', '2018-11-29 05:16:30', '2018-11-29 05:16:30'),\n(75746, 'Aurora', 2784, '80019', '303', '39.781236', '-104.711041', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75747, 'Kiowa', 2784, '80117', '303', '39.386352', '-104.414948', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75748, 'Palmer Lake', 2784, '80133', '719', '39.114202', '-104.898482', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75749, 'Englewood', 2784, '80150', '303', '39.6478', '-104.9875', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75750, 'Greenwood Village', 2784, '80150', '303', '39.6478', '-104.9875', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75751, 'Englewood', 2784, '80151', '303', '39.6478', '-104.9875', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75752, 'Denver', 2784, '80203', '303', '39.732026', '-104.982468', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75753, 'Denver', 2784, '80217', '303', '39.7393', '-104.9844', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75754, 'Denver', 2784, '80218', '303', '39.732367', '-104.971308', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75755, 'Denver', 2784, '80233', '303', '39.899507', '-104.946796', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75756, 'North Glenn', 2784, '80233', '303', '39.899507', '-104.946796', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75757, 'Northglenn', 2784, '80233', '303', '39.899507', '-104.946796', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75758, 'Thornton', 2784, '80233', '303', '39.899507', '-104.946796', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75759, 'Bank Of America', 2784, '80252', '303', '39.7393', '-104.9845', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75760, 'Denver', 2784, '80252', '303', '39.7393', '-104.9845', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75761, 'Denver', 2784, '80266', '303', '39.7656', '-104.9626', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75762, 'Boulder', 2784, '80303', '303', '39.953231', '-105.22666', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75763, 'Arvada', 2784, '80403', '303', '39.847134', '-105.421941', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75764, 'Blackhawk', 2784, '80403', '303', '39.847134', '-105.421941', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75765, 'Golden', 2784, '80403', '303', '39.847134', '-105.421941', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75766, 'Alma', 2784, '80420', '719', '39.307336', '-106.105067', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75767, 'Cowdrey', 2784, '80434', '970', '40.903324', '-106.393194', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75768, 'Evergreen', 2784, '80437', '303', '39.6339', '-105.3177', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75769, 'Parshall', 2784, '80468', '970', '40.014064', '-106.099442', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75770, 'Steamboat', 2784, '80487', '970', '40.4537', '-106.903204', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75771, 'Steamboat Spr', 2784, '80487', '970', '40.4537', '-106.903204', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75772, 'Steamboat Springs', 2784, '80487', '970', '40.4537', '-106.903204', '2018-11-29 05:16:31', '2018-11-29 05:16:31'),\n(75773, 'Laporte', 2784, '80535', '970', '40.70766', '-105.201294', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75774, 'Loveland', 2784, '80537', '970', '40.36618', '-105.170723', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75775, 'Fort Collins', 2784, '80553', '970', '40.5855', '-105.0837', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75776, 'Ft Collins', 2784, '80553', '970', '40.5855', '-105.0837', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75777, 'Teledyne Water Pik', 2784, '80553', '970', '40.5855', '-105.0837', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75778, 'Brighton', 2784, '80602', '303', '39.954885', '-104.905293', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75779, 'Thornton', 2784, '80602', '303', '39.954885', '-104.905293', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75780, 'Evans', 2784, '80634', '970', '40.392822', '-104.792784', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75781, 'Greeley', 2784, '80634', '970', '40.392822', '-104.792784', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75782, 'Roggen', 2784, '80652', '303', '40.162541', '-104.282395', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75783, 'Weldona', 2784, '80653', '970', '40.399176', '-103.982074', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75784, 'Amherst', 2784, '80721', '970', '40.681918', '-102.149596', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75785, 'Holyoke', 2784, '80734', '970', '40.548066', '-102.263123', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75786, 'Sterling', 2784, '80751', '970', '40.663828', '-103.26208', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75787, 'Arapahoe', 2784, '80802', '719', '38.831014', '-102.188633', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75788, 'Guffey', 2784, '80820', '719', '38.867298', '-105.649513', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75789, 'Co Spgs', 2784, '80901', '719', '38.8336', '-104.8206', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75790, 'Colo Spgs', 2784, '80901', '719', '38.8336', '-104.8206', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75791, 'Colorado Spgs', 2784, '80901', '719', '38.8336', '-104.8206', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75792, 'Colorado Springs', 2784, '80901', '719', '38.8336', '-104.8206', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75793, 'Co Spgs', 2784, '80903', '719', '38.83082', '-104.814324', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75794, 'Colo Spgs', 2784, '80903', '719', '38.83082', '-104.814324', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75795, 'Colorado Spgs', 2784, '80903', '719', '38.83082', '-104.814324', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75796, 'Colorado Springs', 2784, '80903', '719', '38.83082', '-104.814324', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75797, 'Co Spgs', 2784, '80904', '719', '38.86113', '-104.871494', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75798, 'Colo Spgs', 2784, '80904', '719', '38.86113', '-104.871494', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75799, 'Colorado Spgs', 2784, '80904', '719', '38.86113', '-104.871494', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75800, 'Colorado Springs', 2784, '80904', '719', '38.86113', '-104.871494', '2018-11-29 05:16:32', '2018-11-29 05:16:32'),\n(75801, 'Co Spgs', 2784, '80920', '719', '38.958536', '-104.766653', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75802, 'Colo Spgs', 2784, '80920', '719', '38.958536', '-104.766653', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75803, 'Colorado Spgs', 2784, '80920', '719', '38.958536', '-104.766653', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75804, 'Colorado Springs', 2784, '80920', '719', '38.958536', '-104.766653', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75805, 'Pueblo', 2784, '81003', '719', '38.27759', '-104.644991', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75806, 'Bessemer', 2784, '81004', '719', '38.092696', '-104.8288', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75807, 'Pueblo', 2784, '81004', '719', '38.092696', '-104.8288', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75808, 'Fort Lyon', 2784, '81038', '719', '38.1003', '-103.1502', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75809, 'Ft Lyon', 2784, '81038', '719', '38.1003', '-103.1502', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75810, 'Carlton', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75811, 'Kornman', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75812, 'Lamar', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75813, 'May Valley', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75814, 'Prowers', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75815, 'Shady Camp', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75816, 'Arvada', 2784, '80003', '303', '39.828792', '-105.058264', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75817, 'Westminster', 2784, '80003', '303', '39.828792', '-105.058264', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75818, 'Broomfield', 2784, '80023', '303', '39.971644', '-105.015644', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75819, 'Thornton', 2784, '80023', '303', '39.971644', '-105.015644', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75820, 'Westminster', 2784, '80023', '303', '39.971644', '-105.015644', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75821, 'Westminster', 2784, '80030', '303', '39.828803', '-105.034192', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75822, 'Deer Trail', 2784, '80105', '303', '39.601616', '-104.011013', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75823, 'Centennial', 2784, '80112', '303', '39.565706', '-104.857828', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75824, 'Englewood', 2784, '80112', '303', '39.565706', '-104.857828', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75825, 'Greenwood Village', 2784, '80112', '303', '39.565706', '-104.857828', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75826, 'Greenwood Vlg', 2784, '80112', '303', '39.565706', '-104.857828', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75827, 'Lone Tree', 2784, '80112', '303', '39.565706', '-104.857828', '2018-11-29 05:16:33', '2018-11-29 05:16:33'),\n(75828, 'Centennial', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75829, 'Cherry Hills', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75830, 'Cherry Hills Village', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75831, 'Cherry Hl Vlg', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75832, 'Grants Ranch', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75833, 'Greenwood Village', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75834, 'Greenwood Vlg', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75835, 'Littleton', 2784, '80121', '303', '39.613884', '-104.955492', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75836, 'Hghlnds Ranch', 2784, '80130', '303', '39.540017', '-104.923509', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75837, 'Highlands Ranch', 2784, '80130', '303', '39.540017', '-104.923509', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75838, 'Littleton', 2784, '80130', '303', '39.540017', '-104.923509', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75839, 'Englewood', 2784, '80155', '303', '39.6478', '-104.9875', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75840, 'Greenwood Village', 2784, '80155', '303', '39.6478', '-104.9875', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75841, 'Greenwood Vlg', 2784, '80155', '303', '39.6478', '-104.9875', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75842, 'Denver', 2784, '80212', '303', '39.770568', '-105.048645', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75843, 'Lakeside', 2784, '80212', '303', '39.770568', '-105.048645', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75844, 'Wheat Ridge', 2784, '80212', '303', '39.770568', '-105.048645', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75845, 'Denver', 2784, '80214', '303', '39.74299', '-105.072022', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75846, 'Edgewater', 2784, '80214', '303', '39.74299', '-105.072022', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75847, 'Lakewood', 2784, '80214', '303', '39.74299', '-105.072022', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75848, 'Wheat Ridge', 2784, '80214', '303', '39.74299', '-105.072022', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75849, 'Denver', 2784, '80246', '303', '39.704601', '-104.931236', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75850, 'Glendale', 2784, '80246', '303', '39.704601', '-104.931236', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75851, 'Denver', 2784, '80248', '303', '39.7393', '-104.9845', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75852, 'Denver', 2784, '80264', '303', '39.742486', '-104.985636', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75853, 'Denver', 2784, '80271', '303', '39.7393', '-104.9845', '2018-11-29 05:16:34', '2018-11-29 05:16:34'),\n(75854, 'Wells Fargo Bank', 2784, '80271', '303', '39.7393', '-104.9845', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75855, 'Blue Cross Blue Shield Of Co', 2784, '80273', '303', '39.7393', '-104.9845', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75856, 'Denver', 2784, '80273', '303', '39.7393', '-104.9845', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75857, 'Boulder', 2784, '80314', '303', '40.0153', '-105.2702', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75858, 'Ibm Corp', 2784, '80314', '303', '40.0153', '-105.2702', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75859, 'Bond', 2784, '80423', '970', '39.81652', '-106.629813', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75860, 'Coalmont', 2784, '80430', '970', '40.526972', '-106.460874', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75861, 'Walden', 2784, '80430', '970', '40.526972', '-106.460874', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75862, 'Granby', 2784, '80446', '970', '40.016942', '-105.834523', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75863, 'Silvercreek', 2784, '80446', '970', '40.016942', '-105.834523', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75864, 'Grant', 2784, '80448', '303', '39.384696', '-105.629187', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75865, 'Kittredge', 2784, '80457', '303', '39.64914', '-105.299147', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75866, 'Pinecliffe', 2784, '80471', '303', '39.928', '-105.408', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75867, 'Winter Park', 2784, '80482', '970', '39.88297', '-105.760545', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75868, 'Heeney', 2784, '80498', '970', '39.794094', '-106.233496', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75869, 'Silverthorne', 2784, '80498', '970', '39.794094', '-106.233496', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75870, 'Erie', 2784, '80516', '303', '40.062962', '-105.02218', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75871, 'Frederick', 2784, '80516', '303', '40.062962', '-105.02218', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75872, 'Severance', 2784, '80546', '970', '40.5264', '-104.8516', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75873, 'Fort Lupton', 2784, '80621', '303', '40.102302', '-104.796118', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75874, 'Ft Lupton', 2784, '80621', '303', '40.102302', '-104.796118', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75875, 'Wattenburg', 2784, '80621', '303', '40.102302', '-104.796118', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75876, 'Greeley', 2784, '80639', '970', '40.406498', '-104.698733', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75877, 'Univ Of Northern Colorado', 2784, '80639', '970', '40.406498', '-104.698733', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75878, 'Vernon', 2784, '80755', '970', '39.87424', '-102.350408', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75879, 'Bethune', 2784, '80805', '719', '39.266049', '-102.44635', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75880, 'Divide', 2784, '80814', '719', '38.929656', '-105.167164', '2018-11-29 05:16:35', '2018-11-29 05:16:35'),\n(75881, 'Karval', 2784, '80823', '719', '38.741198', '-103.437087', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75882, 'Seibert', 2784, '80834', '970', '39.316114', '-102.884822', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75883, 'Cimarron Hills', 2784, '80923', '719', '38.925208', '-104.719354', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75884, 'Co Spgs', 2784, '80923', '719', '38.925208', '-104.719354', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75885, 'Colo Spgs', 2784, '80923', '719', '38.925208', '-104.719354', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75886, 'Colorado Spgs', 2784, '80923', '719', '38.925208', '-104.719354', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75887, 'Colorado Springs', 2784, '80923', '719', '38.925208', '-104.719354', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75888, 'Cimarron Hills', 2784, '80939', '719', '38.87758', '-104.677358', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75889, 'Co Spgs', 2784, '80939', '719', '38.87758', '-104.677358', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75890, 'Colo Spgs', 2784, '80939', '719', '38.87758', '-104.677358', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75891, 'Colorado Spgs', 2784, '80939', '719', '38.87758', '-104.677358', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75892, 'Colorado Springs', 2784, '80939', '719', '38.87758', '-104.677358', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75893, 'Boone', 2784, '81025', '719', '38.307745', '-104.310504', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75894, 'Fowler', 2784, '81039', '719', '37.967352', '-104.248444', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75895, 'Barton', 2784, '81041', '719', '37.842716', '-102.400674', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75896, 'Monarch', 2784, '81227', '719', '38.5406', '-106.3137', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75897, 'Salida', 2784, '81227', '719', '38.5406', '-106.3137', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75898, 'West Farm', 2784, '81052', '719', '37.955678', '-102.579742', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75899, 'Vilas', 2784, '81087', '719', '37.339216', '-102.431827', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75900, 'Adams State College', 2784, '81102', '719', '37.470806', '-105.879611', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75901, 'Alamosa', 2784, '81102', '719', '37.470806', '-105.879611', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75902, 'Alpine', 2784, '81154', '719', '37.65407', '-106.602567', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75903, 'Masonic Park', 2784, '81154', '719', '37.65407', '-106.602567', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75904, 'South Fork', 2784, '81154', '719', '37.65407', '-106.602567', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75905, 'Wagon Wheel Gap', 2784, '81154', '719', '37.65407', '-106.602567', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75906, 'Coaldale', 2784, '81222', '719', '38.356747', '-105.811079', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75907, 'Ohio City', 2784, '81237', '970', '38.5667', '-106.6123', '2018-11-29 05:16:36', '2018-11-29 05:16:36'),\n(75908, 'Horn Creek', 2784, '81252', '719', '38.08261', '-105.484812', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75909, 'Rosita', 2784, '81252', '719', '38.08261', '-105.484812', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75910, 'Silver Cliff', 2784, '81252', '719', '38.08261', '-105.484812', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75911, 'Tanglewood Acres', 2784, '81252', '719', '38.08261', '-105.484812', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75912, 'Westcliffe', 2784, '81252', '719', '38.08261', '-105.484812', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75913, 'Small Business Adm', 2784, '80259', '303', '39.7393', '-104.9845', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75914, 'Denver', 2784, '80260', '303', '39.867112', '-105.005414', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75915, 'Federal Heights', 2784, '80260', '303', '39.867112', '-105.005414', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75916, 'Federal Hgts', 2784, '80260', '303', '39.867112', '-105.005414', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75917, 'Northglenn', 2784, '80260', '303', '39.867112', '-105.005414', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75918, 'Thornton', 2784, '80260', '303', '39.867112', '-105.005414', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75919, 'Westminster', 2784, '80260', '303', '39.867112', '-105.005414', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75920, 'Denver', 2784, '80294', '303', '39.749436', '-104.989486', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75921, 'Federal Bldg/us Courthouse', 2784, '80294', '303', '39.749436', '-104.989486', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75922, 'Boulder', 2784, '80309', '303', '40.005904', '-105.26727', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75923, 'University Of Colorado', 2784, '80309', '303', '40.005904', '-105.26727', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75924, 'Buffalo Creek', 2784, '80425', '303', '39.338918', '-105.220347', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75925, 'Central City', 2784, '80427', '303', '39.81532', '-105.569418', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75926, 'Clark', 2784, '80428', '970', '40.735674', '-106.8879', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75927, 'Copper Mtn', 2784, '80443', '970', '39.492975', '-106.170251', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75928, 'Frisco', 2784, '80443', '970', '39.492975', '-106.170251', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75929, 'Shawnee', 2784, '80475', '303', '39.4213', '-105.5537', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75930, 'Silver Plume', 2784, '80476', '303', '39.695896', '-105.744637', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75931, 'Steamboat', 2784, '80477', '970', '40.485', '-106.8312', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75932, 'Steamboat Spr', 2784, '80477', '970', '40.485', '-106.8312', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75933, 'Steamboat Springs', 2784, '80477', '970', '40.485', '-106.8312', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75934, 'Bellvue', 2784, '80512', '970', '40.622919', '-105.548358', '2018-11-29 05:16:37', '2018-11-29 05:16:37'),\n(75935, 'Fort Collins', 2784, '80525', '970', '40.514476', '-105.019895', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75936, 'Ft Collins', 2784, '80525', '970', '40.514476', '-105.019895', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75937, 'Fort Collins', 2784, '80526', '970', '40.521796', '-105.13956', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75938, 'Ft Collins', 2784, '80526', '970', '40.521796', '-105.13956', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75939, 'Fort Collins', 2784, '80528', '970', '40.49041', '-104.996508', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75940, 'Windsor', 2784, '80528', '970', '40.49041', '-104.996508', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75941, 'Milliken', 2784, '80543', '970', '40.33233', '-104.834048', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75942, 'Niwot', 2784, '80544', '303', '40.1039', '-105.1704', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75943, 'Carr', 2784, '80612', '970', '40.869986', '-104.906968', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75944, 'Hudson', 2784, '80642', '303', '40.051088', '-104.5877', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75945, 'Keenesburg', 2784, '80643', '303', '40.096828', '-104.466102', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75946, 'Evans', 2784, '80645', '970', '40.27572', '-104.64956', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75947, 'La Salle', 2784, '80645', '970', '40.27572', '-104.64956', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75948, 'Lucerne', 2784, '80646', '970', '40.4819', '-104.6995', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75949, 'Crook', 2784, '80726', '970', '40.898522', '-102.806711', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75950, 'Eckley', 2784, '80727', '970', '40.053249', '-102.496823', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75951, 'Otis', 2784, '80743', '970', '40.235719', '-102.941094', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75952, 'Ovid', 2784, '80744', '970', '40.875766', '-102.376146', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75953, 'Padroni', 2784, '80745', '970', '40.873809', '-103.371664', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75954, 'Haxtun', 2784, '80746', '970', '40.6137', '-102.4725', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75955, 'Paoli', 2784, '80746', '970', '40.6137', '-102.4725', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75956, 'Yuma', 2784, '80759', '970', '40.06068', '-102.642845', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75957, 'Cope', 2784, '80812', '970', '39.690538', '-103.009435', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75958, 'Lake George', 2784, '80827', '719', '39.103629', '-105.514352', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75959, 'Tarryall', 2784, '80827', '719', '39.103629', '-105.514352', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75960, 'Crystal Hills', 2784, '80829', '719', '38.829886', '-104.936654', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75961, 'Manitou Spgs', 2784, '80829', '719', '38.829886', '-104.936654', '2018-11-29 05:16:38', '2018-11-29 05:16:38'),\n(75962, 'Manitou Springs', 2784, '80829', '719', '38.829886', '-104.936654', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75963, 'Elkton', 2784, '80860', '719', '38.704407', '-105.08969', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75964, 'Goldfield', 2784, '80860', '719', '38.704407', '-105.08969', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75965, 'Victor', 2784, '80860', '719', '38.704407', '-105.08969', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75966, 'Aroya', 2784, '80862', '719', '38.901151', '-103.015441', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75967, 'Wild Horse', 2784, '80862', '719', '38.901151', '-103.015441', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75968, 'Co Interstate Gas', 2784, '80944', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75969, 'Colo Spgs', 2784, '80944', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75970, 'Colorado Spgs', 2784, '80944', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75971, 'Colorado Springs', 2784, '80944', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75972, 'Colo Spgs', 2784, '80945', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75973, 'Colorado Spgs', 2784, '80945', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75974, 'Colorado Springs', 2784, '80945', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75975, 'Comcast', 2784, '80945', '719', '38.8338', '-104.8205', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75976, 'Hartman', 2784, '81043', '719', '38.122294', '-102.219774', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75977, 'Hoehne', 2784, '81046', '719', '37.2814', '-104.3807', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75978, 'Olney Springs', 2784, '81062', '719', '38.323862', '-103.946065', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75979, 'Creede', 2784, '81130', '719', '37.683672', '-106.997638', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75980, 'Spar City', 2784, '81130', '719', '37.683672', '-106.997638', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75981, 'Granite', 2784, '81228', '719', '39.08833', '-106.279772', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75982, 'Twin Lakes', 2784, '81228', '719', '39.08833', '-106.279772', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75983, 'Baldwin', 2784, '81230', '970', '38.493242', '-106.940202', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75984, 'Doyleville', 2784, '81230', '970', '38.493242', '-106.940202', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75985, 'Gunnison', 2784, '81230', '970', '38.493242', '-106.940202', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75986, 'Iola', 2784, '81230', '970', '38.493242', '-106.940202', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75987, 'Taylor Park', 2784, '81230', '970', '38.493242', '-106.940202', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75988, 'Rockvale', 2784, '81244', '719', '38.314069', '-105.220104', '2018-11-29 05:16:39', '2018-11-29 05:16:39'),\n(75989, 'Granada', 2784, '81041', '719', '37.842716', '-102.400674', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75990, 'Koen', 2784, '81041', '719', '37.842716', '-102.400674', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75991, 'Beshoar Jct', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75992, 'Cokedale', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75993, 'El Moro', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75994, 'Jansen', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75995, 'Ludlow', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75996, 'Pinon Canyon', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75997, 'Sopris', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75998, 'Starkville', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(75999, 'Trinidad', 2784, '81082', '719', '37.205746', '-104.455534', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76000, 'Farisita', 2784, '81089', '719', '37.67624', '-104.752024', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76001, 'Farista', 2784, '81089', '719', '37.67624', '-104.752024', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76002, 'Mutual', 2784, '81089', '719', '37.67624', '-104.752024', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76003, 'Pryor', 2784, '81089', '719', '37.67624', '-104.752024', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76004, 'Toltec', 2784, '81089', '719', '37.67624', '-104.752024', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76005, 'Walsenburg', 2784, '81089', '719', '37.67624', '-104.752024', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76006, 'East Weston', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76007, 'Monument Lake Park', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76008, 'Monument Park', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76009, 'Stonewall', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76010, 'Tercio', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76011, 'Torres Canon', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76012, 'Vigil', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76013, 'Weston', 2784, '81091', '719', '37.170627', '-104.88868', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76014, 'Aqua Ramon', 2784, '81132', '719', '37.639914', '-106.46606', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76015, 'Baxterville', 2784, '81132', '719', '37.639914', '-106.46606', '2018-11-29 05:16:40', '2018-11-29 05:16:40'),\n(76016, 'Del Norte', 2784, '81132', '719', '37.639914', '-106.46606', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76017, 'Freeman', 2784, '81132', '719', '37.639914', '-106.46606', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76018, 'Plaza', 2784, '81132', '719', '37.639914', '-106.46606', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76019, 'Summitville', 2784, '81132', '719', '37.639914', '-106.46606', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76020, 'Pagosa Spgs', 2784, '81157', '970', '37.2697', '-107.0094', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76021, 'Pagosa Springs', 2784, '81157', '970', '37.2697', '-107.0094', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76022, 'Eldorado Sprg', 2784, '80025', '303', '39.925286', '-105.293046', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76023, 'Eldorado Springs', 2784, '80025', '303', '39.925286', '-105.293046', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76024, 'Louisville', 2784, '80027', '303', '39.957005', '-105.157764', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76025, 'Superior', 2784, '80027', '303', '39.957005', '-105.157764', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76026, 'Aurora', 2784, '80042', '720', '39.7378', '-104.8268', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76027, 'Aurora', 2784, '80044', '303', '39.6595', '-104.8368', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76028, 'Castle Rock', 2784, '80109', '303', '39.36555', '-104.912321', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76029, 'Cherry Hills', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76030, 'Cherry Hills Village', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76031, 'Cherry Hl Vlg', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76032, 'Englewood', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76033, 'Greenwood Village', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76034, 'Greenwood Vlg', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76035, 'Sheridan', 2784, '80110', '303', '39.649278', '-105.011248', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76036, 'Centennial', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76037, 'Cherry Hills', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76038, 'Cherry Hills Village', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76039, 'Cherry Hl Vlg', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76040, 'Englewood', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76041, 'Greenwood Village', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76042, 'Greenwood Vlg', 2784, '80111', '303', '39.62401', '-104.871963', '2018-11-29 05:16:41', '2018-11-29 05:16:41'),\n(76043, 'Denver', 2784, '80127', '303', '39.533292', '-105.15699', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76044, 'Littleton', 2784, '80127', '303', '39.533292', '-105.15699', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76045, 'Denver', 2784, '80225', '303', '39.718013', '-105.120531', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76046, 'Denver Federal Center', 2784, '80225', '303', '39.718013', '-105.120531', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76047, 'Lakewood', 2784, '80225', '303', '39.718013', '-105.120531', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76048, 'Co Dmv Dept Of Rev', 2784, '80243', '303', '39.7393', '-104.9845', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76049, 'Denver', 2784, '80243', '303', '39.7393', '-104.9845', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76050, 'Denver', 2784, '80244', '303', '39.7393', '-104.9845', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76051, 'Us West Communications', 2784, '80244', '303', '39.7393', '-104.9845', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76052, 'Denver', 2784, '80259', '303', '39.7393', '-104.9845', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76053, 'Aurora', 2784, '80011', '303', '39.729297', '-104.784888', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76054, 'Buckley AFB', 2784, '80011', '303', '39.729297', '-104.784888', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76055, 'Buckley Air Force Base', 2784, '80011', '303', '39.729297', '-104.784888', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76056, 'Buckley Air Natl Guard Base', 2784, '80011', '303', '39.729297', '-104.784888', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76057, 'Buckley Ang', 2784, '80011', '303', '39.729297', '-104.784888', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76058, 'Aurora', 2784, '80013', '303', '39.660439', '-104.76315', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76059, 'Commerce City', 2784, '80022', '303', '39.87814', '-104.776065', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76060, 'Denver', 2784, '80022', '303', '39.87814', '-104.776065', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76061, 'Irondale', 2784, '80022', '303', '39.87814', '-104.776065', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76062, 'Aurora', 2784, '80040', '303', '39.7439', '-104.8706', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76063, 'Black Forest', 2784, '80106', '719', '39.161094', '-104.509968', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76064, 'Elbert', 2784, '80106', '719', '39.161094', '-104.509968', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76065, 'Littleton', 2784, '80120', '303', '39.597938', '-105.014696', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76066, 'Centennial', 2784, '80122', '303', '39.580589', '-104.955751', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76067, 'Littleton', 2784, '80122', '303', '39.580589', '-104.955751', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76068, 'Parker', 2784, '80138', '303', '39.501135', '-104.677176', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76069, 'Denver', 2784, '80231', '303', '39.675748', '-104.886004', '2018-11-29 05:16:42', '2018-11-29 05:16:42'),\n(76070, 'Denver', 2784, '80265', '303', '39.7483', '-104.9928', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76071, 'Denver', 2784, '80281', '303', '39.7393', '-104.9845', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76072, 'Wells Fargo Bank', 2784, '80281', '303', '39.7393', '-104.9845', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76073, 'Blue River', 2784, '80424', '970', '39.467769', '-105.9962', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76074, 'Breckenridge', 2784, '80424', '970', '39.467769', '-105.9962', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76075, 'Empire', 2784, '80438', '303', '39.76635', '-105.776683', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76076, 'Grand Lake', 2784, '80447', '970', '40.32428', '-105.901779', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76077, 'Hartsel', 2784, '80449', '719', '38.956888', '-105.87044', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76078, 'Mc Coy', 2784, '80463', '970', '39.883048', '-106.786808', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76079, 'Rollinsville', 2784, '80474', '303', '39.889847', '-105.577762', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76080, 'Toponas', 2784, '80479', '970', '40.073192', '-106.832256', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76081, 'Berthoud', 2784, '80513', '970', '40.29331', '-105.109739', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76082, 'Fort Collins', 2784, '80522', '970', '40.5854', '-105.0839', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76083, 'Ft Collins', 2784, '80522', '970', '40.5854', '-105.0839', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76084, 'Fort Collins', 2784, '80524', '970', '40.662014', '-105.003223', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76085, 'Ft Collins', 2784, '80524', '970', '40.662014', '-105.003223', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76086, 'Severance', 2784, '80524', '970', '40.662014', '-105.003223', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76087, 'Hygiene', 2784, '80533', '303', '40.1886', '-105.1804', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76088, 'Eaton', 2784, '80615', '970', '40.536928', '-104.660564', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76089, 'Severance', 2784, '80615', '970', '40.536928', '-104.660564', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76090, 'Greeley', 2784, '80633', '970', '40.4236', '-104.7088', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76091, 'Henderson', 2784, '80640', '303', '39.882043', '-104.888518', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76092, 'Orchard', 2784, '80649', '970', '40.378142', '-104.147138', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76093, 'Peetz', 2784, '80747', '970', '40.917981', '-103.191579', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76094, 'Sedgwick', 2784, '80749', '970', '40.87586', '-102.54619', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76095, 'Calhan', 2784, '80808', '719', '39.029982', '-104.293602', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76096, 'Ellicott', 2784, '80808', '719', '39.029982', '-104.293602', '2018-11-29 05:16:43', '2018-11-29 05:16:43'),\n(76097, 'Fountain', 2784, '80817', '719', '38.666296', '-104.649856', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76098, 'Kirk', 2784, '80824', '970', '39.666854', '-102.493752', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76099, 'Black Forest', 2784, '80908', '719', '39.022441', '-104.698044', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76100, 'Co Spgs', 2784, '80908', '719', '39.022441', '-104.698044', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76101, 'Colo Spgs', 2784, '80908', '719', '39.022441', '-104.698044', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76102, 'Colorado Spgs', 2784, '80908', '719', '39.022441', '-104.698044', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76103, 'Colorado Springs', 2784, '80908', '719', '39.022441', '-104.698044', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76104, 'Co Spgs', 2784, '80917', '719', '38.890193', '-104.752932', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76105, 'Colo Spgs', 2784, '80917', '719', '38.890193', '-104.752932', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76106, 'Colorado Spgs', 2784, '80917', '719', '38.890193', '-104.752932', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76107, 'Colorado Springs', 2784, '80917', '719', '38.890193', '-104.752932', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76108, 'Co Spgs', 2784, '80924', '719', '38.967629', '-104.721162', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76109, 'Colo Spgs', 2784, '80924', '719', '38.967629', '-104.721162', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76110, 'Colorado Spgs', 2784, '80924', '719', '38.967629', '-104.721162', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76111, 'Colorado Springs', 2784, '80924', '719', '38.967629', '-104.721162', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76112, 'Belle Plain', 2784, '81001', '719', '38.292856', '-104.525185', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76113, 'Devine', 2784, '81001', '719', '38.292856', '-104.525185', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76114, 'Pueblo', 2784, '81001', '719', '38.292856', '-104.525185', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76115, 'Pueblo Army Depot', 2784, '81001', '719', '38.292856', '-104.525185', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76116, 'Pueblo Dep Ac', 2784, '81001', '719', '38.292856', '-104.525185', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76117, 'Pueblo Depot Activity', 2784, '81001', '719', '38.292856', '-104.525185', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76118, 'Baxter', 2784, '81006', '719', '38.217488', '-104.479182', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76119, 'Blende', 2784, '81006', '719', '38.217488', '-104.479182', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76120, 'Pueblo', 2784, '81006', '719', '38.217488', '-104.479182', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76121, 'Vineland', 2784, '81006', '719', '38.217488', '-104.479182', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76122, 'Big Bend', 2784, '81092', '719', '38.190416', '-102.741452', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76123, 'Wiley', 2784, '81092', '719', '38.190416', '-102.741452', '2018-11-29 05:16:44', '2018-11-29 05:16:44'),\n(76124, 'Alamosa', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76125, 'Carmel', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76126, 'East Alamosa', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76127, 'Estrella', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76128, 'Great Sand Dunes National Mo', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76129, 'Henry', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76130, 'Sand Dunes Mo', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76131, 'Stanley', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76132, 'Washington', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76133, 'Waverly', 2784, '81101', '719', '37.455296', '-105.771515', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76134, 'Capulin', 2784, '81124', '719', '37.291695', '-106.129389', '2018-11-29 05:16:45', '2018-11-29 05:16:45');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(76135, 'Forbes Park', 2784, '81133', '719', '37.474507', '-105.339611', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76136, 'Fort Garland', 2784, '81133', '719', '37.474507', '-105.339611', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76137, 'Ft Garland', 2784, '81133', '719', '37.474507', '-105.339611', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76138, 'Sangre De Cri', 2784, '81133', '719', '37.474507', '-105.339611', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76139, 'Sangre De Cristo Ranches', 2784, '81133', '719', '37.474507', '-105.339611', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76140, 'Bountiful', 2784, '81140', '719', '37.283964', '-106.059254', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76141, 'La Jara', 2784, '81140', '719', '37.283964', '-106.059254', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76142, 'Morgan', 2784, '81140', '719', '37.283964', '-106.059254', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76143, 'Richfield', 2784, '81140', '719', '37.283964', '-106.059254', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76144, 'Almont', 2784, '81210', '970', '38.804313', '-106.630478', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76145, 'Jacks Cabin', 2784, '81210', '970', '38.804313', '-106.630478', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76146, 'Rainbow', 2784, '81210', '970', '38.804313', '-106.630478', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76147, 'Spring Creek', 2784, '81210', '970', '38.804313', '-106.630478', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76148, 'Taylor Park', 2784, '81210', '970', '38.804313', '-106.630478', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76149, 'Tincup', 2784, '81210', '970', '38.804313', '-106.630478', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76150, 'Brewster', 2784, '81226', '719', '38.329564', '-105.168835', '2018-11-29 05:16:45', '2018-11-29 05:16:45'),\n(76151, 'Florence', 2784, '81226', '719', '38.329564', '-105.168835', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76152, 'Portland', 2784, '81226', '719', '38.329564', '-105.168835', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76153, 'Williamsburg', 2784, '81226', '719', '38.329564', '-105.168835', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76154, 'Howard', 2784, '81233', '719', '38.479991', '-105.816631', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76155, 'Penrose', 2784, '81240', '719', '38.455496', '-105.074314', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76156, 'College Heights Durango', 2784, '81301', '970', '37.429896', '-107.847702', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76157, 'Durango', 2784, '81301', '970', '37.429896', '-107.847702', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76158, 'Hermosa', 2784, '81301', '970', '37.429896', '-107.847702', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76159, 'Purgatory', 2784, '81301', '970', '37.429896', '-107.847702', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76160, 'Tamarron', 2784, '81301', '970', '37.429896', '-107.847702', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76161, 'Dove Creek', 2784, '81324', '970', '37.682987', '-108.918837', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76162, 'Squaw Point', 2784, '81324', '970', '37.682987', '-108.918837', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76163, 'East Granby', 2785, '06026', '860', '41.939313', '-72.736118', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76164, 'West Simsbury', 2785, '06092', '860', '41.868913', '-72.849683', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76165, 'New Brit', 2785, '06051', '860', '41.667447', '-72.770214', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76166, 'New Britain', 2785, '06051', '860', '41.667447', '-72.770214', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76167, 'Rocky Hill', 2785, '06067', '860', '41.656396', '-72.669886', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76168, 'Oxford', 2785, '06478', '203', '41.42856', '-73.142451', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76169, 'Seymour', 2785, '06478', '203', '41.42856', '-73.142451', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76170, 'Fosdick Corp', 2785, '06494', '203', '41.4569', '-72.8238', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76171, 'Wallingford', 2785, '06494', '203', '41.4569', '-72.8238', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76172, 'N Haven', 2785, '06503', '203', '41.3083', '-72.9287', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76173, 'New Haven', 2785, '06503', '203', '41.3083', '-72.9287', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76174, 'Riverside', 2785, '06878', '203', '41.036005', '-73.582238', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76175, 'Saugatuck', 2785, '06880', '203', '41.137996', '-73.34415', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76176, 'Westport', 2785, '06880', '203', '41.137996', '-73.34415', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76177, 'Stamford', 2785, '06903', '203', '41.13618', '-73.574052', '2018-11-29 05:16:46', '2018-11-29 05:16:46'),\n(76178, 'Ridgeway', 2785, '06905', '203', '41.086037', '-73.54302', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76179, 'Stamford', 2785, '06905', '203', '41.086037', '-73.54302', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76180, 'Stamford', 2785, '06912', '203', '41.0535', '-73.5394', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76181, 'Champion International', 2785, '06921', '203', '41.0535', '-73.5394', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76182, 'Stamford', 2785, '06921', '203', '41.0535', '-73.5394', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76183, 'Cornwall', 2785, '06753', '860', '41.8439', '-73.3294', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76184, 'Middlebury', 2785, '06762', '203', '41.528555', '-73.115819', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76185, 'West Cornwall', 2785, '06796', '860', '41.864721', '-73.335386', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76186, 'Danbury', 2785, '06814', '203', '41.3948', '-73.4544', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76187, 'Shared Zip For Brm', 2785, '06814', '203', '41.3948', '-73.4544', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76188, 'Fairfield', 2785, '06828', '203', '41.221616', '-73.250735', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76189, 'General Electric', 2785, '06828', '203', '41.221616', '-73.250735', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76190, 'N Haven', 2785, '06519', '203', '41.293437', '-72.93767', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76191, 'New Haven', 2785, '06519', '203', '41.293437', '-72.93767', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76192, 'N Haven', 2785, '06521', '203', '41.3083', '-72.9287', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76193, 'New Haven', 2785, '06521', '203', '41.3083', '-72.9287', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76194, 'N Haven', 2785, '06535', '203', '41.3083', '-72.9287', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76195, 'New Haven', 2785, '06535', '203', '41.3083', '-72.9287', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76196, 'Easton', 2785, '06612', '203', '41.276709', '-73.305702', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76197, 'Waterbury', 2785, '06703', '203', '41.5584', '-73.0516', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76198, 'East End', 2785, '06705', '203', '41.551596', '-72.992267', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76199, 'Waterbury', 2785, '06705', '203', '41.551596', '-72.992267', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76200, 'Wolcott', 2785, '06705', '203', '41.551596', '-72.992267', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76201, 'Wtby', 2785, '06705', '203', '41.551596', '-72.992267', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76202, 'Plantation Key', 2788, '33070', '305', '25.00841', '-80.523148', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76203, 'Doral', 2788, '33122', '305', '25.797074', '-80.300742', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76204, 'Miami', 2788, '33122', '305', '25.797074', '-80.300742', '2018-11-29 05:16:47', '2018-11-29 05:16:47'),\n(76205, 'Miami', 2788, '33127', '305', '25.813794', '-80.205714', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76206, 'Jacksonville', 2788, '32250', '904', '30.27988', '-81.416402', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76207, 'Lake City', 2788, '32055', '386', '30.387244', '-82.62598', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76208, 'Boys Ranch', 2788, '32064', '386', '30.294023', '-82.98781', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76209, 'Dowling Park', 2788, '32064', '386', '30.294023', '-82.98781', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76210, 'De Leon Spgs', 2788, '32130', '386', '29.162668', '-81.325062', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76211, 'De Leon Springs', 2788, '32130', '386', '29.162668', '-81.325062', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76212, 'Edgewater', 2788, '32132', '386', '28.978355', '-80.924956', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76213, 'Georgetown', 2788, '32139', '386', '29.376206', '-81.606024', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76214, 'Edgewater', 2788, '32141', '386', '28.918467', '-80.903355', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76215, 'Interlachen', 2788, '32148', '386', '29.600013', '-81.818141', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76216, 'Orange Spgs', 2788, '32182', '352', '29.496726', '-81.956019', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76217, 'Orange Springs', 2788, '32182', '352', '29.496726', '-81.956019', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76218, 'Satsuma', 2788, '32189', '386', '29.541817', '-81.616896', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76219, 'Jacksonville', 2788, '32205', '904', '30.302092', '-81.730071', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76220, 'Jax', 2788, '32205', '904', '30.302092', '-81.730071', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76221, 'Jacksonville', 2788, '32207', '904', '30.289522', '-81.641428', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76222, 'Jax', 2788, '32207', '904', '30.289522', '-81.641428', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76223, 'Live Oak', 2788, '32064', '386', '30.294023', '-82.98781', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76224, 'Pnte Vdra Bch', 2788, '32082', '904', '30.103629', '-81.370165', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76225, 'Ponte Vedra', 2788, '32082', '904', '30.103629', '-81.370165', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76226, 'Ponte Vedra Beach', 2788, '32082', '904', '30.103629', '-81.370165', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76227, 'Kingsley Lake', 2788, '32091', '904', '29.932951', '-82.070374', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76228, 'Kngsly Lk', 2788, '32091', '904', '29.932951', '-82.070374', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76229, 'Starke', 2788, '32091', '904', '29.932951', '-82.070374', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76230, 'Barberville', 2788, '32105', '386', '29.1869', '-81.4211', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76231, 'Miami', 2788, '33132', '305', '25.781664', '-80.170074', '2018-11-29 05:16:48', '2018-11-29 05:16:48'),\n(76232, 'Seybold', 2788, '33132', '305', '25.781664', '-80.170074', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76233, 'Miami', 2788, '33136', '305', '25.786626', '-80.204513', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76234, 'Miami', 2788, '33131', '305', '25.765482', '-80.188406', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76235, 'Miami', 2788, '33129', '305', '25.75226', '-80.202448', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76236, 'Miami', 2788, '33130', '305', '25.766522', '-80.203585', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76237, 'Coral Gables', 2788, '33124', '305', '25.7213', '-80.2686', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76238, 'Miami', 2788, '33124', '305', '25.7213', '-80.2686', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76239, 'Univ Of Miami', 2788, '33124', '305', '25.7213', '-80.2686', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76240, 'University Of Miami', 2788, '33124', '305', '25.7213', '-80.2686', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76241, 'Miami', 2788, '33137', '305', '25.81439', '-80.178205', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76242, 'Fisher Island', 2788, '33139', '305', '25.780996', '-80.15267', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76243, 'Miami Beach', 2788, '33139', '305', '25.780996', '-80.15267', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76244, 'Venetian Islands', 2788, '33139', '305', '25.780996', '-80.15267', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76245, 'Miami', 2788, '33140', '305', '25.822666', '-80.139628', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76246, 'Miami', 2788, '33125', '305', '25.783414', '-80.239362', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76247, 'Coconut Grove', 2788, '33134', '305', '25.752956', '-80.271061', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76248, 'Coral Gables', 2788, '33134', '305', '25.752956', '-80.271061', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76249, 'Miami', 2788, '33134', '305', '25.752956', '-80.271061', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76250, 'Golden Isles', 2788, '33009', '954', '25.977272', '-80.150346', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76251, 'Hallandale', 2788, '33009', '954', '25.977272', '-80.150346', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76252, 'Hallandale Beach', 2788, '33009', '954', '25.977272', '-80.150346', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76253, 'Hallandle Bch', 2788, '33009', '954', '25.977272', '-80.150346', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76254, 'Halndle Bch', 2788, '33009', '954', '25.977272', '-80.150346', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76255, 'Pembroke Park', 2788, '33009', '954', '25.977272', '-80.150346', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76256, 'Pompano Beach', 2788, '33069', '954', '26.241801', '-80.164602', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76257, 'Coconut Grove', 2788, '33133', '305', '25.726688', '-80.235886', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76258, 'Coral Gables', 2788, '33133', '305', '25.726688', '-80.235886', '2018-11-29 05:16:49', '2018-11-29 05:16:49'),\n(76259, 'Miami', 2788, '33133', '305', '25.726688', '-80.235886', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76260, 'Miami', 2788, '33128', '305', '25.776252', '-80.20419', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76261, 'Beach', 2789, '31554', '912', '31.488829', '-82.613149', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76262, 'Bickley', 2789, '31554', '912', '31.488829', '-82.613149', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76263, 'Leesburg', 2789, '31763', '229', '31.740035', '-84.131612', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76264, 'Oakfield', 2789, '31772', '229', '31.742274', '-83.968606', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76265, 'Pelham', 2789, '31779', '229', '31.10272', '-84.214412', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76266, 'Thomasville', 2789, '31799', '229', '30.8366', '-83.9787', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76267, 'Tville', 2789, '31799', '229', '30.8366', '-83.9787', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76268, 'Cataula', 2789, '31804', '706', '32.661076', '-84.87841', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76269, 'Watkinsville', 2789, '30677', '706', '33.797962', '-83.431282', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76270, 'Clinchfield', 2789, '31013', '478', '32.4092', '-83.6343', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76271, 'Dublin', 2789, '31027', '478', '32.559729', '-82.815173', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76272, 'E Dublin', 2789, '31027', '478', '32.559729', '-82.815173', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76273, 'East Dublin', 2789, '31027', '478', '32.559729', '-82.815173', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76274, 'Forsyth', 2789, '31029', '478', '33.025365', '-83.924234', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76275, 'Canon', 2789, '30520', '706', '34.347561', '-83.08138', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76276, 'Zebulon', 2789, '30295', '770', '33.100238', '-84.319065', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76277, 'Atl', 2789, '30302', '404', '33.7486', '-84.3884', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76278, 'Atlanta', 2789, '30302', '404', '33.7486', '-84.3884', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76279, 'Chatterton', 2789, '31554', '912', '31.488829', '-82.613149', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76280, 'Nicholls', 2789, '31554', '912', '31.488829', '-82.613149', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76281, 'Sessoms', 2789, '31554', '912', '31.488829', '-82.613149', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76282, 'Wilsonville', 2789, '31554', '912', '31.488829', '-82.613149', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76283, 'Valdosta', 2789, '31604', '229', '30.8325', '-83.2786', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76284, 'Valdosta', 2789, '31606', '229', '30.822953', '-83.188084', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76285, 'Morven', 2789, '31638', '229', '30.916768', '-83.512485', '2018-11-29 05:16:50', '2018-11-29 05:16:50'),\n(76286, 'Atl', 2789, '31156', '404', '33.7488', '-84.3883', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76287, 'Atlanta', 2789, '31156', '404', '33.7488', '-84.3883', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76288, 'Sandy Spgs', 2789, '31156', '404', '33.7488', '-84.3883', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76289, 'Sandy Springs', 2789, '31156', '404', '33.7488', '-84.3883', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76290, 'Garden City', 2789, '31415', '912', '32.082868', '-81.137852', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76291, 'Garden Cty', 2789, '31415', '912', '32.082868', '-81.137852', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76292, 'Savannah', 2789, '31415', '912', '32.082868', '-81.137852', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76293, 'Savannah', 2789, '31420', '912', '32.0836', '-81.1003', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76294, 'Baxley', 2789, '31513', '912', '31.762026', '-82.315976', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76295, 'Graham', 2789, '31513', '912', '31.762026', '-82.315976', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76296, 'Pine Grove', 2789, '31513', '912', '31.762026', '-82.315976', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76297, 'Lizella', 2789, '31052', '478', '32.771584', '-83.85556', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76298, 'Mc Intyre', 2789, '31054', '478', '32.905298', '-83.173364', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76299, 'Milledgeville', 2789, '31061', '478', '33.081461', '-83.208516', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76300, 'Mville', 2789, '31061', '478', '33.081461', '-83.208516', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76301, 'Dooling', 2789, '31063', '478', '32.296853', '-83.947259', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76302, 'Montezuma', 2789, '31063', '478', '32.296853', '-83.947259', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76303, 'Rhine', 2789, '31077', '229', '31.989499', '-83.207573', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76304, 'Mitchell', 2789, '30820', '706', '33.21196', '-82.719404', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76305, 'Shoals', 2789, '30820', '706', '33.21196', '-82.719404', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76306, 'Centerville', 2789, '31088', '478', '32.579021', '-83.628144', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76307, 'Warner Robins', 2789, '31088', '478', '32.579021', '-83.628144', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76308, 'Warner Robins', 2789, '31095', '478', '32.6205', '-83.6002', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76309, 'Yatesville', 2789, '31097', '706', '32.898182', '-84.16346', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76310, 'Atl', 2789, '31131', '404', '33.7488', '-84.3883', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76311, 'Atlanta', 2789, '31131', '404', '33.7488', '-84.3883', '2018-11-29 05:16:51', '2018-11-29 05:16:51'),\n(76312, 'Savannah', 2789, '31406', '912', '31.971207', '-81.082374', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76313, 'Vernonburg', 2789, '31406', '912', '31.971207', '-81.082374', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76314, 'Offerman', 2789, '31556', '912', '31.4096', '-82.1118', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76315, 'Surrency', 2789, '31563', '912', '31.715783', '-82.180832', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76316, 'Alapaha', 2789, '31622', '229', '31.39186', '-83.1738', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76317, 'Axson', 2789, '31624', '912', '31.299848', '-82.723385', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76318, 'Atl', 2789, '31145', '770', '33.7926', '-84.3252', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76319, 'Atlanta', 2789, '31145', '770', '33.7926', '-84.3252', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76320, 'Northlake', 2789, '31145', '770', '33.7926', '-84.3252', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76321, 'Baxley', 2789, '31515', '912', '31.7714', '-82.3465', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76322, 'Altama', 2789, '31520', '912', '31.139032', '-81.479153', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76323, 'Brunswick', 2789, '31520', '912', '31.139032', '-81.479153', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76324, 'Sears', 2789, '31520', '912', '31.139032', '-81.479153', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76325, 'Brunswick', 2789, '31522', '912', '31.223769', '-81.35144', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76326, 'Saint Simons Is', 2789, '31522', '912', '31.223769', '-81.35144', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76327, 'Saint Simons Island', 2789, '31522', '912', '31.223769', '-81.35144', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76328, 'St Simons Is', 2789, '31522', '912', '31.223769', '-81.35144', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76329, 'St Simons Island', 2789, '31522', '912', '31.223769', '-81.35144', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76330, 'Hillsboro', 2789, '31038', '706', '33.126793', '-83.650207', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76331, 'Round Oak', 2789, '31038', '706', '33.126793', '-83.650207', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76332, 'Jewell', 2789, '31045', '706', '33.324694', '-82.758048', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76333, 'Kathleen', 2789, '31047', '478', '32.463087', '-83.602004', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76334, 'Pinehurst', 2789, '31070', '229', '32.183789', '-83.795652', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76335, 'Pitts', 2789, '31072', '229', '31.941729', '-83.546286', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76336, 'Macon', 2789, '31206', '478', '32.79443', '-83.672862', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76337, 'Geico Underwriting', 2789, '31295', '478', '32.8407', '-83.6325', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76338, 'Macon', 2789, '31295', '478', '32.8407', '-83.6325', '2018-11-29 05:16:52', '2018-11-29 05:16:52'),\n(76339, 'Fort Stewart', 2789, '31313', '912', '31.829296', '-81.617258', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76340, 'Ft Stewart', 2789, '31313', '912', '31.829296', '-81.617258', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76341, 'Hinesville', 2789, '31313', '912', '31.829296', '-81.617258', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76342, 'Augusta', 2789, '30904', '706', '33.479732', '-82.0157', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76343, 'Adrian', 2789, '31002', '478', '32.571646', '-82.585185', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76344, 'Rochelle', 2789, '31079', '229', '31.94455', '-83.459765', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76345, 'Smarr', 2789, '31086', '478', '32.9834', '-83.8751', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76346, 'Atl', 2789, '31106', '404', '33.7488', '-84.3883', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76347, 'Atlanta', 2789, '31106', '404', '33.7488', '-84.3883', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76348, 'High Shoals', 2789, '30645', '706', '33.8003', '-83.5015', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76349, 'Ellenton', 2789, '31747', '229', '31.174393', '-83.583575', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76350, 'Ocilla', 2789, '31774', '229', '31.576979', '-83.274796', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76351, 'Moultrie', 2789, '31788', '229', '31.124644', '-83.696451', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76352, 'Midway', 2789, '31320', '912', '31.719398', '-81.358114', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76353, 'Springfield', 2789, '31329', '912', '32.432677', '-81.34546', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76354, 'Stillwell', 2789, '31329', '912', '32.432677', '-81.34546', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76355, 'Savannah', 2789, '31404', '912', '32.048553', '-81.048342', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76356, 'State College', 2789, '31404', '912', '32.048553', '-81.048342', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76357, 'Thunderbolt', 2789, '31404', '912', '32.048553', '-81.048342', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76358, 'Danburg', 2789, '30668', '706', '33.881812', '-82.673903', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76359, 'Tignall', 2789, '30668', '706', '33.881812', '-82.673903', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76360, 'Chauncey', 2789, '31011', '229', '32.123154', '-83.072032', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76361, 'Dudley', 2789, '31022', '478', '32.514708', '-83.100746', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76362, 'Clermont', 2789, '30527', '770', '34.479136', '-83.775312', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76363, 'Lovejoy', 2789, '30250', '770', '33.440486', '-84.314554', '2018-11-29 05:16:53', '2018-11-29 05:16:53'),\n(76364, 'Lagrange', 2789, '30261', '706', '33.0399', '-84.8806', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76365, 'Mountville', 2789, '30261', '706', '33.0399', '-84.8806', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76366, 'Thomaston', 2789, '30286', '706', '32.880675', '-84.338801', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76367, 'Woodbury', 2789, '30293', '706', '32.989455', '-84.60768', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76368, 'Atl', 2789, '30309', '404', '33.798463', '-84.388284', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76369, 'Atlanta', 2789, '30309', '404', '33.798463', '-84.388284', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76370, 'Barrett Parkway', 2789, '30144', '770', '34.033302', '-84.597721', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76371, 'Kennesaw', 2789, '30144', '770', '34.033302', '-84.597721', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76372, 'Canton', 2789, '30169', '770', '34.14', '-84.3', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76373, 'Taylorsville', 2789, '30178', '770', '34.107097', '-84.963266', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76374, 'Whitesburg', 2789, '30185', '770', '33.514912', '-84.906374', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76375, 'Atl', 2789, '30317', '404', '33.752136', '-84.316501', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76376, 'Atlanta', 2789, '30317', '404', '33.752136', '-84.316501', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76377, 'Marietta', 2789, '30067', '770', '33.933184', '-84.462904', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76378, 'Dobbins AFB', 2789, '30069', '770', '33.914478', '-84.5191', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76379, 'Dobbins Air Force Base', 2789, '30069', '770', '33.914478', '-84.5191', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76380, 'Marietta', 2789, '30069', '770', '33.914478', '-84.5191', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76381, 'Roswell', 2789, '30076', '770', '34.024887', '-84.311908', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76382, 'Tucker', 2789, '30085', '678', '33.8547', '-84.2172', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76383, 'Adairsville', 2789, '30103', '770', '34.369126', '-84.930072', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76384, 'Norcross', 2789, '30003', '770', '33.9378', '-84.2013', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76385, 'Rockbridge', 2789, '30003', '770', '33.9378', '-84.2013', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76386, 'Dacula', 2789, '30019', '770', '33.978689', '-83.876208', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76387, 'Johns Creek', 2789, '30024', '770', '34.064899', '-84.093288', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76388, 'Suwanee', 2789, '30024', '770', '34.064899', '-84.093288', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76389, 'Lawrenceville', 2789, '30042', '770', '33.9563', '-83.9881', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76390, 'Ila', 2789, '30647', '706', '34.1747', '-83.2919', '2018-11-29 05:16:54', '2018-11-29 05:16:54'),\n(76391, 'Lexington', 2789, '30648', '706', '33.886641', '-83.062676', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76392, 'Madison', 2789, '30650', '706', '33.590841', '-83.445244', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76393, 'Stephens', 2789, '30667', '706', '33.771352', '-83.177912', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76394, 'Cordele', 2789, '31015', '229', '31.937376', '-83.785422', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76395, 'Gordon', 2789, '31031', '478', '32.879557', '-83.30977', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76396, 'Ivey', 2789, '31031', '478', '32.879557', '-83.30977', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76397, 'Stevens Pottery', 2789, '31031', '478', '32.879557', '-83.30977', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76398, 'Gray', 2789, '31032', '478', '33.02119', '-83.567738', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76399, 'Bartow', 2789, '30413', '478', '32.910937', '-82.530196', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76400, 'Bellville', 2789, '30414', '912', '32.166304', '-81.982749', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76401, 'Stockbridge', 2789, '30281', '770', '33.555146', '-84.187458', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76402, 'Cotton', 2789, '31739', '229', '31.1615', '-84.0665', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76403, 'Plains', 2789, '31780', '229', '32.011459', '-84.36811', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76404, 'Sumner', 2789, '31789', '229', '31.474689', '-83.718821', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76405, 'Sylvester', 2789, '31791', '229', '31.518072', '-83.854546', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76406, 'Cusseta', 2789, '31805', '706', '32.295891', '-84.791325', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76407, 'Fort Screven', 2789, '31328', '912', '32.007734', '-80.876688', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76408, 'Tybee Island', 2789, '31328', '912', '32.007734', '-80.876688', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76409, 'Royston', 2789, '30662', '706', '34.250682', '-83.152801', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76410, 'Penfield', 2789, '30669', '706', '33.667819', '-83.123979', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76411, 'Penfld', 2789, '30669', '706', '33.667819', '-83.123979', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76412, 'Union Point', 2789, '30669', '706', '33.667819', '-83.123979', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76413, 'Woodville', 2789, '30669', '706', '33.667819', '-83.123979', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76414, 'Calhoun', 2789, '30703', '706', '34.5028', '-84.9511', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76415, 'Cohutta', 2789, '30710', '706', '34.941211', '-84.910956', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76416, 'Graysville', 2789, '30726', '706', '34.976027', '-85.141191', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76417, 'Lyerly', 2789, '30730', '706', '34.371044', '-85.421828', '2018-11-29 05:16:55', '2018-11-29 05:16:55'),\n(76418, 'Bonaire', 2789, '31005', '478', '32.513329', '-83.575235', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76419, 'Cordele', 2789, '31010', '229', '31.9639', '-83.7828', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76420, 'Cochran', 2789, '31014', '478', '32.430438', '-83.32314', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76421, 'Empire', 2789, '31014', '478', '32.430438', '-83.32314', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76422, 'Dexter', 2789, '31019', '478', '32.421658', '-83.045131', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76423, 'Fort Valley', 2789, '31030', '478', '32.573591', '-83.892825', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76424, 'Luthersville', 2789, '30251', '770', '33.177146', '-84.69903', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76425, 'Molena', 2789, '30258', '770', '32.986498', '-84.448544', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76426, 'Peachtree City', 2789, '30269', '770', '33.390811', '-84.572608', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76427, 'Peachtree Cty', 2789, '30269', '770', '33.390811', '-84.572608', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76428, 'Morrow', 2789, '30287', '770', '33.5858', '-84.3419', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76429, 'Atl', 2789, '30303', '404', '33.75288', '-84.392426', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76430, 'Atlanta', 2789, '30303', '404', '33.75288', '-84.392426', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76431, 'Georgia State University', 2789, '30303', '404', '33.75288', '-84.392426', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76432, 'El Dorado', 2789, '31637', '229', '31.271084', '-83.45008', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76433, 'Lenox', 2789, '31637', '229', '31.271084', '-83.45008', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76434, 'Atl', 2789, '31139', '404', '33.7488', '-84.3883', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76435, 'Atlanta', 2789, '31139', '404', '33.7488', '-84.3883', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76436, 'Kennesaw', 2789, '31144', '770', '0', '0', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76437, 'N Amercn Mbrshp Grp Brm', 2789, '31144', '770', '0', '0', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76438, 'Namg', 2789, '31144', '770', '0', '0', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76439, 'Atl', 2789, '31196', '404', '33.7488', '-84.3883', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76440, 'Atlanta', 2789, '31196', '404', '33.7488', '-84.3883', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76441, 'Atlanta Ndc', 2789, '31196', '404', '33.7488', '-84.3883', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76442, 'Macon', 2789, '31203', '478', '32.8407', '-83.6325', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76443, 'Savannah', 2789, '31412', '912', '32.0836', '-81.1003', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76444, 'Savannah', 2789, '31421', '912', '32.0784', '-81.0966', '2018-11-29 05:16:56', '2018-11-29 05:16:56'),\n(76445, 'Brunswick', 2789, '31521', '912', '31.1497', '-81.4917', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76446, 'Brunswick', 2789, '31523', '912', '31.221353', '-81.611226', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76447, 'Helena', 2789, '31037', '229', '32.126805', '-82.944395', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76448, 'Howard', 2789, '31039', '478', '32.591542', '-84.388988', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76449, 'Jeffersonville', 2789, '31044', '478', '32.672971', '-83.345549', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76450, 'Jeffersonvlle', 2789, '31044', '478', '32.672971', '-83.345549', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76451, 'Central State Hospital', 2789, '31062', '478', '33.08', '-83.2322', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76452, 'Milledgeville', 2789, '31062', '478', '33.08', '-83.2322', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76453, 'Perry', 2789, '31069', '478', '32.437591', '-83.71971', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76454, 'Macon', 2789, '31205', '478', '32.8407', '-83.6325', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76455, 'Geico Claims', 2789, '31296', '478', '32.8407', '-83.6325', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76456, 'Macon', 2789, '31296', '478', '32.8407', '-83.6325', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76457, 'Guyton', 2789, '31312', '912', '32.343132', '-81.400868', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76458, 'Marlow', 2789, '31312', '912', '32.343132', '-81.400868', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76459, 'Pineora', 2789, '31312', '912', '32.343132', '-81.400868', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76460, 'Fort Stewart', 2789, '31314', '912', '31.986701', '-81.596942', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76461, 'Ft Stewart', 2789, '31314', '912', '31.986701', '-81.596942', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76462, 'Norris', 2789, '30828', '706', '33.392657', '-82.616031', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76463, 'Reese', 2789, '30828', '706', '33.392657', '-82.616031', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76464, 'Warrenton', 2789, '30828', '706', '33.392657', '-82.616031', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76465, 'Mayfield', 2789, '31087', '706', '33.28181', '-83.015738', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76466, 'Sparta', 2789, '31087', '706', '33.28181', '-83.015738', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76467, 'Tennille', 2789, '31089', '478', '32.8357', '-82.846688', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76468, 'Wrightsville', 2789, '31096', '478', '32.73382', '-82.735711', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76469, 'Atl', 2789, '31119', '770', '33.75', '-84.2995', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76470, 'Atlanta', 2789, '31119', '770', '33.75', '-84.2995', '2018-11-29 05:16:57', '2018-11-29 05:16:57'),\n(76471, 'Elberton', 2789, '30635', '706', '34.122376', '-82.800418', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76472, 'Waynesville', 2789, '31566', '912', '31.179696', '-81.842104', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76473, 'Valdosta', 2789, '31602', '229', '30.871716', '-83.338028', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76474, 'Valdosta', 2789, '31603', '229', '30.8327', '-83.2785', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76475, 'Lakeland', 2789, '31635', '229', '31.047244', '-83.100615', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76476, 'Atl', 2789, '31150', '404', '33.7488', '-84.3883', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76477, 'Atlanta', 2789, '31150', '404', '33.7488', '-84.3883', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76478, 'Sandy Spgs', 2789, '31150', '404', '33.7488', '-84.3883', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76479, 'Sandy Springs', 2789, '31150', '404', '33.7488', '-84.3883', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76480, 'Macon', 2789, '31202', '478', '32.8407', '-83.6325', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76481, 'Savannah', 2789, '31419', '912', '31.90731', '-81.198982', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76482, 'Broxton', 2789, '31519', '912', '31.685848', '-82.881294', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76483, 'Lotts', 2789, '31519', '912', '31.685848', '-82.881294', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76484, 'Pridgen', 2789, '31519', '912', '31.685848', '-82.881294', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76485, 'Hardwick', 2789, '31034', '478', '33.036622', '-83.216616', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76486, 'Lilly', 2789, '31051', '478', '32.153286', '-83.88678', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76487, 'Musella', 2789, '31066', '478', '32.790968', '-84.006578', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76488, 'Ogelthorpe', 2789, '31068', '478', '32.347645', '-84.116959', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76489, 'Oglethorpe', 2789, '31068', '478', '32.347645', '-84.116959', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76490, 'Olgethorpe', 2789, '31068', '478', '32.347645', '-84.116959', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76491, 'Bloomingdale', 2789, '31302', '912', '32.127829', '-81.34086', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76492, 'Campania', 2789, '30814', '706', '33.448664', '-82.321849', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76493, 'Harlem', 2789, '30814', '706', '33.448664', '-82.321849', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76494, 'Pumpkin Center', 2789, '30814', '706', '33.448664', '-82.321849', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76495, 'Keysville', 2789, '30816', '706', '33.1652', '-82.175944', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76496, 'Augusta', 2789, '30914', '706', '33.4667', '-82.0167', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76497, 'Augusta', 2789, '30916', '706', '33.4667', '-82.0167', '2018-11-29 05:16:58', '2018-11-29 05:16:58'),\n(76498, 'Scotland', 2789, '31083', '229', '32.035591', '-82.826169', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76499, 'Fitzgerald', 2789, '31750', '229', '31.739251', '-83.2072', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76500, 'Funston', 2789, '31753', '229', '31.1998', '-83.8738', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76501, 'Rebecca', 2789, '31783', '229', '31.766339', '-83.456417', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76502, 'Sale City', 2789, '31784', '229', '31.241694', '-84.047323', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76503, 'Siloam', 2789, '30665', '706', '33.529436', '-83.074398', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76504, 'Statham', 2789, '30666', '770', '33.956536', '-83.583233', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76505, 'Winterville', 2789, '30683', '706', '33.92881', '-83.253253', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76506, 'Oakman', 2789, '30732', '706', '34.5664', '-84.7084', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76507, 'Culloden', 2789, '31016', '478', '32.829685', '-84.192916', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76508, 'Danville', 2789, '31017', '478', '32.625376', '-83.22264', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76509, 'Akin', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76510, 'Arcola', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76511, 'Brooklet', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76512, 'Denmark', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76513, 'Hubert', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76514, 'Ivanhoe', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76515, 'Mcgregor', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76516, 'Stilson', 2789, '30415', '912', '32.334668', '-81.600755', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76517, 'Locust Grove', 2789, '30248', '770', '33.340308', '-84.121566', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76518, 'Newnan', 2789, '30263', '770', '33.373766', '-84.858892', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76519, 'Raymond', 2789, '30263', '770', '33.373766', '-84.858892', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76520, 'Newnan', 2789, '30265', '770', '33.417502', '-84.704574', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76521, 'Shenandoah', 2789, '30265', '770', '33.417502', '-84.704574', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76522, 'Orchard Hill', 2789, '30266', '770', '33.1867', '-84.2115', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76523, 'Riverdale', 2789, '30296', '770', '33.553727', '-84.452722', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76524, 'Forest Park', 2789, '30297', '404', '33.610348', '-84.359062', '2018-11-29 05:16:59', '2018-11-29 05:16:59'),\n(76525, 'Fort Gillem', 2789, '30297', '404', '33.610348', '-84.359062', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76526, 'Gillem Enclave', 2789, '30297', '404', '33.610348', '-84.359062', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76527, 'Thomasville', 2789, '31758', '229', '30.8297', '-83.9811', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76528, 'Tville', 2789, '31758', '229', '30.8297', '-83.9811', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76529, 'Irwinville', 2789, '31760', '229', '31.628446', '-83.43756', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76530, 'Geneva', 2789, '31810', '706', '32.559776', '-84.546679', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76531, 'Rincon', 2789, '31326', '912', '32.292382', '-81.217892', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76532, 'Between', 2789, '30655', '770', '33.793346', '-83.699402', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76533, 'Monroe', 2789, '30655', '770', '33.793346', '-83.699402', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76534, 'Chatsworth', 2789, '30705', '706', '34.745099', '-84.767227', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76535, 'Chickamauga', 2789, '30707', '706', '34.767551', '-85.348395', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76536, 'Cherry Log', 2789, '30522', '706', '34.796596', '-84.335065', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76537, 'Clarkesville', 2789, '30523', '706', '34.716606', '-83.509934', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76538, 'Clayton', 2789, '30525', '706', '34.895156', '-83.379967', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76539, 'Milner', 2789, '30257', '770', '33.133812', '-84.163389', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76540, 'Conley', 2789, '30288', '404', '33.652093', '-84.322794', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76541, 'Turin', 2789, '30289', '770', '33.3273', '-84.6326', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76542, 'De Soto', 2789, '31743', '229', '31.915186', '-83.997971', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76543, 'Doerun', 2789, '31744', '229', '31.318263', '-83.92889', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76544, 'Gateway', 2789, '31792', '229', '30.80116', '-84.080722', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76545, 'Metcalf', 2789, '31792', '229', '30.80116', '-84.080722', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76546, 'Thomasville', 2789, '31792', '229', '30.80116', '-84.080722', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76547, 'Tville', 2789, '31792', '229', '30.80116', '-84.080722', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76548, 'Abac', 2789, '31794', '229', '31.440784', '-83.437997', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76549, 'Abraham Baldwin College', 2789, '31794', '229', '31.440784', '-83.437997', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76550, 'Tifton', 2789, '31794', '229', '31.440784', '-83.437997', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76551, 'Washington', 2789, '30673', '706', '33.743149', '-82.701602', '2018-11-29 05:17:00', '2018-11-29 05:17:00'),\n(76552, 'Cisco', 2789, '30708', '706', '34.894444', '-84.662772', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76553, 'Dalton', 2789, '30722', '706', '34.7698', '-84.9703', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76554, 'Flintstone', 2789, '30725', '706', '34.922472', '-85.353484', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76555, 'Byromville', 2789, '31007', '478', '32.177392', '-83.923862', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76556, 'Eastman', 2789, '31023', '478', '32.188636', '-83.195262', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76557, 'Plainfield', 2789, '31023', '478', '32.188636', '-83.195262', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76558, 'Eatonton', 2789, '31024', '706', '33.325469', '-83.344395', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76559, 'Elko', 2789, '31025', '478', '32.352398', '-83.742098', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76560, 'Lagrange', 2789, '30240', '706', '33.034595', '-85.127266', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76561, 'Lagrange', 2789, '30241', '706', '33.021026', '-84.952758', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76562, 'Meansville', 2789, '30256', '770', '33.013194', '-84.315959', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76563, 'Red Oak', 2789, '30272', '404', '33.6246', '-84.4987', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76564, 'Riverdale', 2789, '30274', '770', '33.55252', '-84.398314', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76565, 'Atl', 2789, '30304', '404', '33.7465', '-84.3915', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76566, 'Atlanta', 2789, '30304', '404', '33.7465', '-84.3915', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76567, 'Atl', 2789, '30305', '404', '33.834773', '-84.388402', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76568, 'Atlanta', 2789, '30305', '404', '33.834773', '-84.388402', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76569, 'Atl', 2789, '30307', '404', '33.774352', '-84.336452', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76570, 'Atlanta', 2789, '30307', '404', '33.774352', '-84.336452', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76571, 'Little Five Points Pstl Str', 2789, '30307', '404', '33.774352', '-84.336452', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76572, 'Alamo', 2789, '30411', '912', '32.118425', '-82.813894', '2018-11-29 05:17:01', '2018-11-29 05:17:01');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(76573, 'Mcdonough', 2789, '30252', '770', '33.481819', '-84.034528', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76574, 'Moreland', 2789, '30259', '770', '33.276038', '-84.723357', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76575, 'Chatt Hills', 2789, '30268', '770', '33.553846', '-84.720134', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76576, 'Chattahoochee Hills', 2789, '30268', '770', '33.553846', '-84.720134', '2018-11-29 05:17:01', '2018-11-29 05:17:01'),\n(76577, 'Palmetto', 2789, '30268', '770', '33.553846', '-84.720134', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76578, 'Fayetteville', 2789, '30270', '770', '33.4', '-84.6', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76579, 'Peachtree City', 2789, '30270', '770', '33.4', '-84.6', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76580, 'Peachtree City Parcel Return', 2789, '30270', '770', '33.4', '-84.6', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76581, 'Peachtree Cty', 2789, '30270', '770', '33.4', '-84.6', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76582, 'Sargent', 2789, '30275', '770', '33.435675', '-84.870066', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76583, 'Sharpsburg', 2789, '30277', '770', '33.394116', '-84.637826', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76584, 'Sunny Side', 2789, '30284', '770', '33.3412', '-84.2909', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76585, 'Atl', 2789, '30345', '404', '33.845094', '-84.280948', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76586, 'Abbeville', 2789, '31001', '229', '31.974313', '-83.305417', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76587, 'Seville', 2789, '31084', '229', '31.9612', '-83.5997', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76588, 'Warner Robins', 2789, '31099', '478', '32.6205', '-83.6002', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76589, 'Nevils', 2789, '31321', '912', '32.187805', '-81.662696', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76590, 'Pembroke', 2789, '31321', '912', '32.187805', '-81.662696', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76591, 'Jones', 2789, '31323', '912', '31.71452', '-81.452988', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76592, 'Retreat', 2789, '31323', '912', '31.71452', '-81.452988', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76593, 'Riceboro', 2789, '31323', '912', '31.71452', '-81.452988', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76594, 'South Newport', 2789, '31323', '912', '31.71452', '-81.452988', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76595, 'Hull', 2789, '30646', '706', '34.084232', '-83.30951', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76596, 'Philomath', 2789, '30660', '706', '33.787796', '-82.914472', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76597, 'Rayle', 2789, '30660', '706', '33.787796', '-82.914472', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76598, 'Maxeys', 2789, '30671', '706', '33.737622', '-83.186368', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76599, 'Calhoun', 2789, '30701', '706', '34.495914', '-84.948475', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76600, 'La Fayette', 2789, '30728', '706', '34.694914', '-85.232654', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76601, 'Lafayette', 2789, '30728', '706', '34.694914', '-85.232654', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76602, 'Mcgregor', 2789, '30410', '912', '32.169944', '-82.511736', '2018-11-29 05:17:02', '2018-11-29 05:17:02'),\n(76603, 'Lake City', 2789, '30260', '770', '33.584613', '-84.328098', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76604, 'Morrow', 2789, '30260', '770', '33.584613', '-84.328098', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76605, 'Senoia', 2789, '30276', '770', '33.285178', '-84.595806', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76606, 'The Rock', 2789, '30285', '770', '32.992732', '-84.235042', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76607, 'Omega', 2789, '31775', '229', '31.318366', '-83.601334', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76608, 'Moultrie', 2789, '31776', '229', '31.1797', '-83.7892', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76609, 'Pavo', 2789, '31778', '229', '30.950715', '-83.723244', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76610, 'Tifton', 2789, '31793', '229', '31.473132', '-83.577509', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76611, 'Ty Ty', 2789, '31795', '229', '31.464728', '-83.666918', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76612, 'Tyty', 2789, '31795', '229', '31.464728', '-83.666918', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76613, 'Hamilton', 2789, '31811', '706', '32.740913', '-84.946908', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76614, 'Richmond Hill', 2789, '31324', '912', '31.854686', '-81.273733', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76615, 'Sapelo Island', 2789, '31327', '912', '31.457632', '-81.257039', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76616, 'Between', 2789, '30656', '770', '33.865658', '-83.709029', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76617, 'Monroe', 2789, '30656', '770', '33.865658', '-83.709029', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76618, 'Eton', 2789, '30724', '706', '34.829765', '-84.759244', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76619, 'Butler', 2789, '31006', '478', '32.592173', '-84.253193', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76620, 'Bryon', 2789, '31008', '478', '32.647108', '-83.790058', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76621, 'Byron', 2789, '31008', '478', '32.647108', '-83.790058', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76622, 'Powersville', 2789, '31008', '478', '32.647108', '-83.790058', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76623, 'Cadwell', 2789, '31009', '478', '32.263601', '-83.009433', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76624, 'Eatonton', 2789, '31026', '706', '33.321', '-83.378', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76625, 'Haband', 2789, '31026', '706', '33.321', '-83.378', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76626, 'Newnan', 2789, '30271', '770', '33.3841', '-84.8129', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76627, 'Rex', 2789, '30273', '770', '33.584739', '-84.272415', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76628, 'Tyrone', 2789, '30290', '770', '33.480588', '-84.584607', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76629, 'Union City', 2789, '30291', '770', '33.571742', '-84.544627', '2018-11-29 05:17:03', '2018-11-29 05:17:03'),\n(76630, 'Atl', 2789, '30306', '404', '33.789038', '-84.353583', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76631, 'Atlanta', 2789, '30306', '404', '33.789038', '-84.353583', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76632, 'North Highland Finance', 2789, '30306', '404', '33.789038', '-84.353583', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76633, 'Atl', 2789, '30308', '404', '33.769122', '-84.376454', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76634, 'Atlanta', 2789, '30308', '404', '33.769122', '-84.376454', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76635, 'Tazewell', 2789, '31803', '229', '32.308312', '-84.524512', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76636, 'Walthourville', 2789, '31333', '912', '31.77324', '-81.659514', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76637, 'Sharon', 2789, '30664', '706', '33.562199', '-82.802932', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76638, 'Winder', 2789, '30680', '770', '33.984524', '-83.69019', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76639, 'Cloudland', 2789, '30731', '706', '34.597008', '-85.470266', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76640, 'Menlo', 2789, '30731', '706', '34.597008', '-85.470266', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76641, 'Davisboro', 2789, '31018', '478', '32.993258', '-82.625009', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76642, 'Riddleville', 2789, '31018', '478', '32.993258', '-82.625009', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76643, 'Haddock', 2789, '31033', '478', '33.064581', '-83.447694', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76644, 'Newnan', 2789, '30264', '770', '33.3807', '-84.7999', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76645, 'Forest', 2789, '30298', '770', '33.6219', '-84.3693', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76646, 'Forest Park', 2789, '30298', '770', '33.6219', '-84.3693', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76647, 'Albany', 2789, '31705', '229', '31.518596', '-84.038378', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76648, 'Bridgeboro', 2789, '31705', '229', '31.518596', '-84.038378', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76649, 'Radium Springs', 2789, '31705', '229', '31.518596', '-84.038378', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76650, 'Arabi', 2789, '31712', '229', '31.832466', '-83.733022', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76651, 'Albany', 2789, '31721', '229', '31.496738', '-84.297764', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76652, 'Camp Rogers', 2789, '31905', '706', '32.396006', '-84.82267', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76653, 'Cols', 2789, '31905', '706', '32.396006', '-84.82267', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76654, 'Columbus', 2789, '31905', '706', '32.396006', '-84.82267', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76655, 'Fort Benning', 2789, '31905', '706', '32.396006', '-84.82267', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76656, 'Denton', 2789, '31532', '912', '31.726914', '-82.755559', '2018-11-29 05:17:04', '2018-11-29 05:17:04'),\n(76657, 'Snipesville', 2789, '31532', '912', '31.726914', '-82.755559', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76658, 'Louvale', 2789, '31814', '229', '32.16222', '-84.841705', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76659, 'Weston', 2789, '31832', '229', '31.97619', '-84.549847', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76660, 'Arlington', 2789, '39813', '229', '31.471968', '-84.742364', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76661, 'Cairo', 2789, '39827', '229', '30.959038', '-84.200274', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76662, 'Cario', 2789, '39827', '229', '30.959038', '-84.200274', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76663, 'Karo', 2789, '39827', '229', '30.959038', '-84.200274', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76664, 'Calvary', 2789, '39829', '229', '30.748', '-84.311', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76665, 'Coleman', 2789, '39836', '229', '31.676319', '-84.871078', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76666, 'Fowlstown', 2789, '39852', '229', '30.803', '-84.55', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76667, 'Newton', 2789, '39870', '912', '31.266519', '-84.429677', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76668, 'Shellman', 2789, '39886', '229', '31.730028', '-84.608443', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76669, 'Garden City', 2789, '31405', '912', '32.036444', '-81.168404', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76670, 'Garden Cty', 2789, '31405', '912', '32.036444', '-81.168404', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76671, 'Hunter Army Air Field', 2789, '31405', '912', '32.036444', '-81.168404', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76672, 'Savannah', 2789, '31405', '912', '32.036444', '-81.168404', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76673, 'Patterson', 2789, '31557', '912', '31.3764', '-82.100592', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76674, 'Saint George', 2789, '31562', '912', '30.589068', '-82.122769', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76675, 'Waresboro', 2789, '31564', '912', '31.2476', '-82.4737', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76676, 'Argyle', 2789, '31623', '912', '31.07516', '-82.66612', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76677, 'Atl', 2789, '31146', '404', '33.7926', '-84.3252', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76678, 'Atlanta', 2789, '31146', '404', '33.7926', '-84.3252', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76679, 'Dunwoody', 2789, '31146', '404', '33.7926', '-84.3252', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76680, 'Perimeter Center Finance', 2789, '31146', '404', '33.7926', '-84.3252', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76681, 'Ambrose', 2789, '31512', '912', '31.55689', '-83.018794', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76682, 'Thomasville', 2789, '31757', '229', '30.855151', '-83.909742', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76683, 'Tville', 2789, '31757', '229', '30.855151', '-83.909742', '2018-11-29 05:17:05', '2018-11-29 05:17:05'),\n(76684, 'Leslie', 2789, '31764', '229', '31.966171', '-84.083378', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76685, 'Norman Park', 2789, '31771', '229', '31.243595', '-83.634867', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76686, 'Ochlocknee', 2789, '31773', '229', '30.958604', '-84.067708', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76687, 'Putney', 2789, '31782', '229', '31.4725', '-84.1217', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76688, 'Warwick', 2789, '31796', '229', '31.748021', '-83.877485', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76689, 'Wray', 2789, '31798', '912', '31.646157', '-83.08499', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76690, 'Ellerslie', 2789, '31807', '706', '32.647894', '-84.787724', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76691, 'Savannah', 2789, '31403', '912', '32.0836', '-81.1003', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76692, 'White Plains', 2789, '30678', '706', '33.45255', '-83.088895', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76693, 'Dalton', 2789, '30719', '706', '34.7698', '-84.9703', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76694, 'Dalton', 2789, '30721', '706', '34.788321', '-84.907484', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76695, 'Allentown', 2789, '31003', '478', '32.682646', '-83.244441', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76696, 'Chester', 2789, '31012', '478', '32.381591', '-83.18464', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76697, 'Dublin', 2789, '31021', '478', '32.47621', '-82.943659', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76698, 'Lollie', 2789, '31021', '478', '32.47621', '-82.943659', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76699, 'Centerville', 2789, '31028', '478', '32.632286', '-83.684794', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76700, 'Carnesville', 2789, '30521', '706', '34.35848', '-83.297378', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76701, 'Alston', 2789, '30412', '912', '32.096422', '-82.500266', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76702, 'Mc Donough', 2789, '30253', '770', '33.444039', '-84.189315', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76703, 'Mcdonough', 2789, '30253', '770', '33.444039', '-84.189315', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76704, 'Moultrie', 2789, '31768', '229', '31.212797', '-83.858161', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76705, 'Moultrie Municipal Airport', 2789, '31768', '229', '31.212797', '-83.858161', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76706, 'Riverside', 2789, '31768', '229', '31.212797', '-83.858161', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76707, 'Smithville', 2789, '31787', '229', '31.892142', '-84.219159', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76708, 'Buena Vista', 2789, '31803', '229', '32.308312', '-84.524512', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76709, 'Pearson', 2789, '31642', '912', '31.295686', '-82.868272', '2018-11-29 05:17:06', '2018-11-29 05:17:06'),\n(76710, 'Atl', 2789, '31193', '404', '33.7488', '-84.3883', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76711, 'Atlanta', 2789, '31193', '404', '33.7488', '-84.3883', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76712, 'Wells Fargo', 2789, '31193', '404', '33.7488', '-84.3883', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76713, 'Ideal', 2789, '31041', '478', '32.3651', '-84.180042', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76714, 'Mauk', 2789, '31058', '229', '32.496412', '-84.450792', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76715, 'Milan', 2789, '31060', '229', '31.951526', '-83.064712', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76716, 'Macon', 2789, '31208', '478', '32.8407', '-83.6325', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76717, 'Business Reply Mail', 2789, '31294', '478', '32.8407', '-83.6325', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76718, 'Macon', 2789, '31294', '478', '32.8407', '-83.6325', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76719, 'Macon Brm', 2789, '31294', '478', '32.8407', '-83.6325', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76720, 'Thomson', 2789, '30824', '706', '33.498871', '-82.515666', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76721, 'Winfield', 2789, '30824', '706', '33.498871', '-82.515666', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76722, 'Toomsboro', 2789, '31090', '478', '32.809318', '-83.052572', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76723, 'Vienna', 2789, '31092', '229', '32.093485', '-83.794012', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76724, 'Albion', 2792, '50005', '641', '42.128284', '-93.032512', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76725, 'Minerva', 2792, '50005', '641', '42.128284', '-93.032512', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76726, 'Ankeny', 2792, '50023', '515', '41.728558', '-93.638369', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76727, 'Berwick', 2792, '50032', '515', '41.665822', '-93.541721', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76728, 'Clyde', 2792, '50055', '641', '41.885192', '-93.278613', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76729, 'Collins', 2792, '50055', '641', '41.885192', '-93.278613', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76730, 'Columbia', 2792, '50057', '641', '41.185944', '-93.166138', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76731, 'Kamrar', 2792, '50132', '515', '42.390615', '-93.674335', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76732, 'Lacona', 2792, '50139', '641', '41.225927', '-93.366734', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76733, 'Newbern', 2792, '50139', '641', '41.225927', '-93.366734', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76734, 'Laurel', 2792, '50141', '641', '41.878942', '-92.960827', '2018-11-29 05:17:07', '2018-11-29 05:17:07'),\n(76735, 'Liscomb', 2792, '50148', '641', '42.175122', '-92.98664', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76736, 'Malcom', 2792, '50157', '641', '41.746426', '-92.559553', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76737, 'Sheridan', 2792, '50157', '641', '41.746426', '-92.559553', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76738, 'Barrett Superette', 2792, '50164', '641', '41.495782', '-94.404356', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76739, 'Glendon', 2792, '50164', '641', '41.495782', '-94.404356', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76740, 'Menlo', 2792, '50164', '641', '41.495782', '-94.404356', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76741, 'Ewart', 2792, '50171', '641', '41.598554', '-92.530902', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76742, 'Montezuma', 2792, '50171', '641', '41.598554', '-92.530902', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76743, 'Otley', 2792, '50214', '641', '41.458553', '-93.068114', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76744, 'Painted Rocks', 2792, '50214', '641', '41.458553', '-93.068114', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76745, 'Park Hills', 2792, '50214', '641', '41.458553', '-93.068114', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76746, 'Lake Panorama', 2792, '50216', '641', '41.693302', '-94.37659', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76747, 'Panora', 2792, '50216', '641', '41.693302', '-94.37659', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76748, 'Saint Anthony', 2792, '50239', '641', '42.141458', '-93.201188', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76749, 'Weldon', 2792, '50264', '641', '40.892176', '-93.717019', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76750, 'Woodburn', 2792, '50275', '641', '41.02376', '-93.607216', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76751, 'Des Moines', 2792, '50305', '515', '41.6006', '-93.6087', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76752, 'Clive', 2792, '50325', '515', '41.61034', '-93.780847', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76753, 'Des Moines', 2792, '50325', '515', '41.61034', '-93.780847', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76754, 'Des Moines', 2792, '50330', '515', '41.6006', '-93.6087', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76755, 'Visa Mastercard', 2792, '50330', '515', '41.6006', '-93.6087', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76756, 'Wells Fargo Mortgage', 2792, '50330', '515', '41.6006', '-93.6087', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76757, 'Britt', 2792, '50423', '641', '43.11806', '-93.803093', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76758, 'Duncan', 2792, '50423', '641', '43.11806', '-93.803093', '2018-11-29 05:17:08', '2018-11-29 05:17:08'),\n(76759, 'Hutchins', 2792, '50423', '641', '43.11806', '-93.803093', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76760, 'Stilson', 2792, '50423', '641', '43.11806', '-93.803093', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76761, 'Corwith', 2792, '50430', '515', '42.995207', '-93.941273', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76762, 'Crystal Lake', 2792, '50432', '641', '43.223309', '-93.781834', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76763, 'Fertile', 2792, '50434', '641', '43.274294', '-93.453126', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76764, 'Bolan', 2792, '50448', '641', '43.356852', '-93.191849', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76765, 'Kensett', 2792, '50448', '641', '43.356852', '-93.191849', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76766, 'Plymouth', 2792, '50464', '641', '43.248662', '-93.072888', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76767, 'Callender', 2792, '50523', '515', '42.369032', '-94.300319', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76768, 'Lehigh', 2792, '50557', '515', '42.361579', '-94.038601', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76769, 'Lone Rock', 2792, '50559', '515', '43.205109', '-94.315137', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76770, 'Lotts Creek', 2792, '50559', '515', '43.205109', '-94.315137', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76771, 'Knoke', 2792, '50575', '712', '42.567142', '-94.687984', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76772, 'Pomeroy', 2792, '50575', '712', '42.567142', '-94.687984', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76773, 'Rutland', 2792, '50582', '515', '42.7866', '-94.295815', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76774, 'Alden', 2794, '60001', '815', '42.4589', '-88.5176', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76775, 'Holiday Hills', 2794, '60051', '815', '42.324046', '-88.212894', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76776, 'Johnsburg', 2794, '60051', '815', '42.324046', '-88.212894', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76777, 'Lakemoor', 2794, '60051', '815', '42.324046', '-88.212894', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76778, 'Mchenry', 2794, '60051', '815', '42.324046', '-88.212894', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76779, 'Volo', 2794, '60051', '815', '42.324046', '-88.212894', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76780, 'Long Grove', 2794, '60060', '847', '42.262812', '-88.047407', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76781, 'Mundelein', 2794, '60060', '847', '42.262812', '-88.047407', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76782, 'Northbrook', 2794, '60065', '847', '42.1277', '-87.8288', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76783, 'Hoffman Est', 2794, '60067', '847', '42.101302', '-88.067728', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76784, 'Hoffman Estates', 2794, '60067', '847', '42.101302', '-88.067728', '2018-11-29 05:17:09', '2018-11-29 05:17:09'),\n(76785, 'Inverness', 2794, '60067', '847', '42.101302', '-88.067728', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76786, 'Palatine', 2794, '60067', '847', '42.101302', '-88.067728', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76787, 'Kildeer', 2794, '60074', '847', '42.127568', '-88.050446', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76788, 'Palatine', 2794, '60074', '847', '42.127568', '-88.050446', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76789, 'Skokie', 2794, '60076', '847', '42.03821', '-87.728065', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76790, 'Park City', 2794, '60085', '847', '42.352672', '-87.862131', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76791, 'Waukegan', 2794, '60085', '847', '42.352672', '-87.862131', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76792, 'Wheeling', 2794, '60090', '847', '42.124293', '-87.924184', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76793, 'Carpentersville', 2794, '60110', '847', '42.125732', '-88.298059', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76794, 'Carpentersvle', 2794, '60110', '847', '42.125732', '-88.298059', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76795, 'Genoa', 2794, '60135', '815', '42.11581', '-88.678837', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76796, 'Melrose Park', 2794, '60160', '708', '41.904093', '-87.86386', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76797, 'Melrose Park', 2794, '60165', '708', '41.902296', '-87.878701', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76798, 'Stone Park', 2794, '60165', '708', '41.902296', '-87.878701', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76799, 'Hoffman Est', 2794, '60169', '847', '42.047016', '-88.119926', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76800, 'Hoffman Estates', 2794, '60169', '847', '42.047016', '-88.119926', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76801, 'Campton Hills', 2794, '60174', '630', '41.931912', '-88.294852', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76802, 'Saint Charles', 2794, '60174', '630', '41.931912', '-88.294852', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76803, 'St Charles', 2794, '60174', '630', '41.931912', '-88.294852', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76804, 'Valley View', 2794, '60174', '630', '41.931912', '-88.294852', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76805, 'Wasco', 2794, '60183', '630', '41.9384', '-88.4045', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76806, 'Northwoods', 2794, '60185', '630', '41.89612', '-88.212409', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76807, 'West Chicago', 2794, '60185', '630', '41.89612', '-88.212409', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76808, 'Hoffman Est', 2794, '60192', '847', '42.077782', '-88.165314', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76809, 'Hoffman Estates', 2794, '60192', '847', '42.077782', '-88.165314', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76810, 'Schaumburg', 2794, '60194', '847', '42.036663', '-88.107146', '2018-11-29 05:17:10', '2018-11-29 05:17:10'),\n(76811, 'Crete', 2794, '60417', '708', '41.427132', '-87.601216', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76812, 'Monee', 2794, '60449', '708', '41.419173', '-87.796364', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76813, 'Thornton', 2794, '60476', '708', '41.565569', '-87.603252', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76814, 'La Grange Park', 2794, '60526', '708', '41.833367', '-87.871304', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76815, 'La Grange Pk', 2794, '60526', '708', '41.833367', '-87.871304', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76816, 'La Grng Pk', 2794, '60526', '708', '41.833367', '-87.871304', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76817, 'Scarboro', 2794, '60553', '815', '41.797336', '-89.02688', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76818, 'Steward', 2794, '60553', '815', '41.797336', '-89.02688', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76819, 'Chicago', 2794, '60601', '312', '41.88502', '-87.622387', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76820, 'Chicago', 2794, '60603', '312', '41.8808', '-87.625515', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76821, 'Burnham', 2794, '60633', '773', '41.657332', '-87.563319', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76822, 'Chicago', 2794, '60633', '773', '41.657332', '-87.563319', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76823, 'Hegewisch', 2794, '60633', '773', '41.657332', '-87.563319', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76824, 'Chicago', 2794, '60644', '773', '41.880191', '-87.757417', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76825, 'Chicago', 2794, '60651', '773', '41.902354', '-87.741074', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76826, 'American National Bank', 2794, '60678', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76827, 'Chicago', 2794, '60678', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76828, 'Chicago', 2794, '60685', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76829, 'Cna Center', 2794, '60685', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76830, 'Chicago', 2794, '60687', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76831, 'Peoples Gas And Light', 2794, '60687', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76832, 'Chicago', 2794, '60694', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76833, 'Harris Bank', 2794, '60694', '773', '41.8501', '-87.65', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76834, 'Chgo', 2794, '60712', '847', '42.006184', '-87.73623', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76835, 'Chi', 2794, '60712', '847', '42.006184', '-87.73623', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76836, 'Lincolnwood', 2794, '60712', '847', '42.006184', '-87.73623', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76837, 'Alsip', 2794, '60803', '708', '41.670964', '-87.737048', '2018-11-29 05:17:11', '2018-11-29 05:17:11'),\n(76838, 'Chicago', 2794, '60803', '708', '41.670964', '-87.737048', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76839, 'Merrionett Pk', 2794, '60803', '708', '41.670964', '-87.737048', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76840, 'Merrionette Park', 2794, '60803', '708', '41.670964', '-87.737048', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76841, 'Irwin', 2794, '60901', '815', '41.103316', '-87.88081', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76842, 'Kankakee', 2794, '60901', '815', '41.103316', '-87.88081', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76843, 'Beaverville', 2794, '60912', '815', '40.972808', '-87.600444', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76844, 'Cabery', 2794, '60919', '815', '41.00189', '-88.247534', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76845, 'Stelle', 2794, '60919', '815', '41.00189', '-88.247534', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76846, 'Crescent City', 2794, '60928', '815', '40.763185', '-87.852714', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76847, 'Essex', 2794, '60935', '815', '41.170906', '-88.176246', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76848, 'Kempton', 2794, '60946', '815', '40.907997', '-88.187082', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76849, 'Davis', 2794, '61019', '815', '42.423874', '-89.426448', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76850, 'Galt', 2794, '61037', '815', '41.786534', '-89.761501', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76851, 'Kent', 2794, '61044', '815', '42.325153', '-89.899703', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76852, 'Lake Carroll', 2794, '61046', '815', '42.107932', '-89.809377', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76853, 'Lanark', 2794, '61046', '815', '42.107932', '-89.809377', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76854, 'Milledgeville', 2794, '61051', '815', '41.991701', '-89.754466', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76855, 'Mount Carroll', 2794, '61053', '815', '42.116581', '-89.978664', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76856, 'Mt Carroll', 2794, '61053', '815', '42.116581', '-89.978664', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76857, 'Stockton', 2794, '61085', '815', '42.332094', '-90.040478', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76858, 'Woodbine', 2794, '61085', '815', '42.332094', '-90.040478', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76859, 'Rockford', 2794, '61101', '815', '42.328316', '-89.147526', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76860, 'Rockford', 2794, '61126', '815', '42.2712', '-89.0939', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76861, 'Loves Park', 2794, '61130', '815', '42.3203', '-89.0584', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76862, 'Buffalo Pr', 2794, '61237', '309', '41.3389', '-90.8548', '2018-11-29 05:17:12', '2018-11-29 05:17:12'),\n(76863, 'Buffalo Prairie', 2794, '61237', '309', '41.3389', '-90.8548', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76864, 'Babcock', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76865, 'Campbells Island', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76866, 'E Moline', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76867, 'East Moline', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76868, 'Meersman', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76869, 'Merry Oaks', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76870, 'South Moline', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76871, 'Watertown', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76872, 'Whites Addition', 2794, '61244', '309', '41.518185', '-90.385435', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76873, 'Joy', 2794, '61260', '309', '41.237039', '-90.871516', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76874, 'Amboy', 2794, '61310', '815', '41.70192', '-89.353569', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76875, 'Binghampton', 2794, '61310', '815', '41.70192', '-89.353569', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76876, 'Maytown', 2794, '61310', '815', '41.70192', '-89.353569', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76877, 'Shaws', 2794, '61310', '815', '41.70192', '-89.353569', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76878, 'Cornell', 2794, '61319', '815', '41.01136', '-88.758002', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76879, 'Manville', 2794, '61319', '815', '41.01136', '-88.758002', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76880, 'La Moille', 2794, '61330', '815', '41.554528', '-89.280599', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76881, 'Paw Paw', 2794, '61353', '815', '41.693898', '-88.995808', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76882, 'Ottoville', 2794, '61362', '815', '41.339461', '-89.222526', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76883, 'Spring Valley', 2794, '61362', '815', '41.339461', '-89.222526', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76884, 'Webster Park', 2794, '61362', '815', '41.339461', '-89.222526', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76885, 'Pattonsburg', 2794, '61369', '815', '40.985105', '-89.162002', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76886, 'Toluca', 2794, '61369', '815', '40.985105', '-89.162002', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76887, 'West Brooklyn', 2794, '61378', '815', '41.722756', '-89.163459', '2018-11-29 05:17:13', '2018-11-29 05:17:13'),\n(76888, 'Abingdon', 2794, '61410', '309', '40.798081', '-90.414527', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76889, 'Altona', 2794, '61414', '309', '41.100045', '-90.145097', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76890, 'Bradford', 2794, '61421', '309', '41.147397', '-89.639423', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76891, 'Broadmoor', 2794, '61421', '309', '41.147397', '-89.639423', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76892, 'Lombardville', 2794, '61421', '309', '41.147397', '-89.639423', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76893, 'Milo', 2794, '61421', '309', '41.147397', '-89.639423', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76894, 'Osceola', 2794, '61421', '309', '41.147397', '-89.639423', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76895, 'Columbia Heights', 2794, '61430', '309', '40.945638', '-90.312066', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76896, 'E Galesburg', 2794, '61430', '309', '40.945638', '-90.312066', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76897, 'East Galesburg', 2794, '61430', '309', '40.945638', '-90.312066', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76898, 'Gladstone', 2794, '61437', '309', '40.851283', '-90.999702', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76899, 'Decorra', 2794, '61480', '309', '40.763854', '-90.960774', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76900, 'Hopper', 2794, '61480', '309', '40.763854', '-90.960774', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76901, 'Olena', 2794, '61480', '309', '40.763854', '-90.960774', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76902, 'Stronghurst', 2794, '61480', '309', '40.763854', '-90.960774', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76903, 'Kingston Mine', 2794, '61539', '309', '40.557288', '-89.758518', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76904, 'Kingston Mines', 2794, '61539', '309', '40.557288', '-89.758518', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76905, 'Manito', 2794, '61546', '309', '40.436979', '-89.809052', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76906, 'Parkland', 2794, '61546', '309', '40.436979', '-89.809052', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76907, 'Spring Lake', 2794, '61546', '309', '40.436979', '-89.809052', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76908, 'Talbott', 2794, '61546', '309', '40.436979', '-89.809052', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76909, 'Rome', 2794, '61562', '309', '40.8834', '-89.5027', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76910, 'Trivoli', 2794, '61569', '309', '40.681112', '-89.890719', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76911, 'Peoria', 2794, '61614', '309', '40.753599', '-89.601656', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76912, 'Pottstown', 2794, '61614', '309', '40.753599', '-89.601656', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76913, 'Peoria', 2794, '61637', '309', '40.6937', '-89.5887', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76914, 'St Francis Hosp', 2794, '61637', '309', '40.6937', '-89.5887', '2018-11-29 05:17:14', '2018-11-29 05:17:14'),\n(76915, 'Peoria', 2794, '61655', '309', '40.6937', '-89.5887', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76916, 'Colfax', 2794, '61728', '309', '40.578267', '-88.628568', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76917, 'Cooksville', 2794, '61730', '309', '40.530546', '-88.743625', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76918, 'Dawson Township', 2794, '61737', '309', '40.449997', '-88.761411', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76919, 'Ellsworth', 2794, '61737', '309', '40.449997', '-88.761411', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76920, 'Padua', 2794, '61737', '309', '40.449997', '-88.761411', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76921, 'Hudson', 2794, '61748', '309', '40.613241', '-88.977038', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76922, 'Urbana', 2794, '61803', '217', '40.1111', '-88.2008', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76923, 'Armstrong', 2794, '61812', '217', '40.240246', '-87.88215', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76924, 'Bismarck', 2794, '61814', '217', '40.231448', '-87.576684', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76925, 'Muncie', 2794, '61857', '217', '40.116135', '-87.839748', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76926, 'Philo', 2794, '61864', '217', '39.974708', '-88.156516', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76927, 'Saint Joseph', 2794, '61873', '217', '40.145108', '-88.03147', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76928, 'Tolono', 2794, '61880', '217', '39.974148', '-88.263378', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76929, 'Ashmore', 2794, '61912', '217', '39.530648', '-88.041116', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76930, 'Bethany', 2794, '61914', '217', '39.601765', '-88.809612', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76931, 'Bingham', 2794, '62032', '217', '39.122731', '-89.30704', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76932, 'Chapman', 2794, '62032', '217', '39.122731', '-89.30704', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76933, 'Fillmore', 2794, '62032', '217', '39.122731', '-89.30704', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76934, 'South Fillmore', 2794, '62032', '217', '39.122731', '-89.30704', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76935, 'Van Burensburg', 2794, '62032', '217', '39.122731', '-89.30704', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76936, 'Taylor Spgs', 2794, '62089', '217', '39.132876', '-89.491508', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76937, 'Taylor Springs', 2794, '62089', '217', '39.132876', '-89.491508', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76938, 'Caseyville', 2794, '62232', '618', '38.62964', '-90.013594', '2018-11-29 05:17:15', '2018-11-29 05:17:15'),\n(76939, 'Fairview Hieghts', 2794, '62232', '618', '38.62964', '-90.013594', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76940, 'Hollywood Heights', 2794, '62232', '618', '38.62964', '-90.013594', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76941, 'Marissa', 2794, '62257', '618', '38.322345', '-89.745706', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76942, 'Marrisa', 2794, '62257', '618', '38.322345', '-89.745706', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76943, 'Glenn', 2794, '62280', '618', '37.818295', '-89.655884', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76944, 'Rockwood', 2794, '62280', '618', '37.818295', '-89.655884', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76945, 'Columbus', 2794, '62305', '217', '39.92328', '-91.317346', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76946, 'Quincy', 2794, '62305', '217', '39.92328', '-91.317346', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76947, 'Baylis', 2794, '62314', '217', '39.782157', '-90.85818', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76948, 'Bentley', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76949, 'Carthage', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76950, 'Denver', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76951, 'Fountain Green', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76952, 'Harmony', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76953, 'Mccall', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76954, 'Webster', 2794, '62321', '217', '40.401824', '-91.099068', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76955, 'Sutter', 2794, '62373', '217', '40.243504', '-91.351796', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76956, 'Stillwell', 2794, '62380', '217', '40.240534', '-91.23797', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76957, 'West Point', 2794, '62380', '217', '40.240534', '-91.23797', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76958, 'Dundas', 2794, '62425', '618', '38.831182', '-88.095282', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76959, 'Cimic', 2794, '62530', '217', '39.569376', '-89.662534', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76960, 'Divernon', 2794, '62530', '217', '39.569376', '-89.662534', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76961, 'Dunkel', 2794, '62557', '217', '39.392872', '-89.151803', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76962, 'Millersville', 2794, '62557', '217', '39.392872', '-89.151803', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76963, 'Pana', 2794, '62557', '217', '39.392872', '-89.151803', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76964, 'Frederick', 2794, '62639', '217', '40.062726', '-90.476755', '2018-11-29 05:17:16', '2018-11-29 05:17:16'),\n(76965, 'Luther', 2794, '62664', '217', '40.205844', '-89.715082', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76966, 'Mason City', 2794, '62664', '217', '40.205844', '-89.715082', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76967, 'Teheran', 2794, '62664', '217', '40.205844', '-89.715082', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76968, 'Oakford', 2794, '62673', '217', '40.09477', '-89.981972', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76969, 'Atterberry', 2794, '62675', '217', '40.048744', '-89.871226', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76970, 'Atterbury', 2794, '62675', '217', '40.048744', '-89.871226', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76971, 'Petersburg', 2794, '62675', '217', '40.048744', '-89.871226', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76972, 'Tice', 2794, '62675', '217', '40.048744', '-89.871226', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76973, 'Thayer', 2794, '62689', '217', '39.540501', '-89.761408', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76974, 'Andrew', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76975, 'Archer', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76976, 'Bissell', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76977, 'Bradfordton', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76978, 'Clear Lake', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76979, 'Devereux Heights', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76980, 'Riddle Hill', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76981, 'Springfield', 2794, '62707', '217', '39.865004', '-89.632606', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76982, 'Hope School', 2794, '62716', '217', '39.8018', '-89.6436', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76983, 'Springfield', 2794, '62716', '217', '39.8018', '-89.6436', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76984, 'Dept Public Property Cwlp', 2794, '62757', '217', '39.8018', '-89.6436', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76985, 'Springfield', 2794, '62757', '217', '39.8018', '-89.6436', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76986, 'Alma', 2794, '62807', '618', '38.758327', '-88.928535', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76987, 'Barnhill', 2794, '62809', '618', '38.281494', '-88.376102', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76988, 'Bluford', 2794, '62814', '618', '38.38296', '-88.764738', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76989, 'Coello', 2794, '62825', '618', '37.996612', '-89.069358', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76990, 'Du Quoin', 2794, '62832', '618', '38.016708', '-89.244577', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76991, 'Saint Johns', 2794, '62832', '618', '38.016708', '-89.244577', '2018-11-29 05:17:17', '2018-11-29 05:17:17'),\n(76992, 'Irvington', 2794, '62848', '618', '38.431818', '-89.1635', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76993, 'Crook', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76994, 'Dale', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76995, 'Delafield', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76996, 'Knight Prairie', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76997, 'Mc Leansboro', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76998, 'Mcleansboro', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(76999, 'Piopolis', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77000, 'South Crouch', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77001, 'Thackeray', 2794, '62859', '618', '38.125063', '-88.483489', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77002, 'Goode', 2794, '62884', '618', '38.081515', '-89.059713', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77003, 'Sesser', 2794, '62884', '618', '38.081515', '-89.059713', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77004, 'Walnut Hill', 2794, '62893', '618', '38.457806', '-89.028787', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77005, 'Boles', 2794, '62909', '618', '37.4256', '-88.9662', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77006, 'Harrisville', 2795, '47390', '765', '40.200993', '-84.852673', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77007, 'New Pittsburg', 2795, '47390', '765', '40.200993', '-84.852673', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77008, 'South Salem', 2795, '47390', '765', '40.200993', '-84.852673', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77009, 'Union City', 2795, '47390', '765', '40.200993', '-84.852673', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77010, 'Webster', 2795, '47392', '765', '39.896454', '-84.93319', '2018-11-29 05:17:18', '2018-11-29 05:17:18');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(77011, 'Brinckley', 2795, '47340', '765', '40.191353', '-85.138832', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77012, 'Farmland', 2795, '47340', '765', '40.191353', '-85.138832', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77013, 'Maxville', 2795, '47340', '765', '40.191353', '-85.138832', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77014, 'Unionport', 2795, '47340', '765', '40.191353', '-85.138832', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77015, 'Zionsville', 2795, '46077', '317', '39.982864', '-86.288475', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77016, 'Arlington', 2795, '46104', '765', '39.663194', '-85.580409', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77017, 'Brooklyn', 2795, '46111', '317', '39.537839', '-86.369129', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77018, 'Belle Union', 2795, '46120', '765', '39.522552', '-86.772776', '2018-11-29 05:17:18', '2018-11-29 05:17:18'),\n(77019, 'Cloverdale', 2795, '46120', '765', '39.522552', '-86.772776', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77020, 'Cunot', 2795, '46120', '765', '39.522552', '-86.772776', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77021, 'Danville', 2795, '46122', '317', '39.772361', '-86.554182', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77022, 'Carrollton', 2795, '46129', '317', '39.71', '-85.8206', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77023, 'Finly', 2795, '46129', '317', '39.71', '-85.8206', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77024, 'Warrington', 2795, '46186', '765', '39.891392', '-85.644775', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77025, 'Wilkinson', 2795, '46186', '765', '39.891392', '-85.644775', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77026, 'Willow Branch', 2795, '46186', '765', '39.891392', '-85.644775', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77027, 'Indianapolis', 2795, '46213', '317', '0', '0', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77028, 'Ww Grainger Inc', 2795, '46213', '317', '0', '0', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77029, 'Indianapolis', 2795, '46222', '317', '39.790357', '-86.208848', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77030, 'Indianapolis', 2795, '46247', '317', '39.7683', '-86.1582', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77031, 'Southport', 2795, '46247', '317', '39.7683', '-86.1582', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77032, 'Hammond', 2795, '46327', '219', '41.638519', '-87.507377', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77033, 'Kouts', 2795, '46347', '219', '41.304495', '-87.016822', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77034, 'Sumava Resorts', 2795, '46379', '219', '41.167062', '-87.437242', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77035, 'Sumava Rsts', 2795, '46379', '219', '41.167062', '-87.437242', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77036, 'Burr Oak', 2795, '46511', '574', '41.215104', '-86.435648', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77037, 'Clvr Mil Acad', 2795, '46511', '574', '41.215104', '-86.435648', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77038, 'Culver', 2795, '46511', '574', '41.215104', '-86.435648', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77039, 'Donaldson', 2795, '46513', '574', '41.362676', '-86.44898', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77040, 'Lakeville', 2795, '46536', '574', '41.513557', '-86.27784', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77041, 'Leesburg', 2795, '46538', '574', '41.321748', '-85.83082', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77042, 'Middlebury', 2795, '46540', '574', '41.677513', '-85.705062', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77043, 'Notre Dame', 2795, '46556', '574', '41.704308', '-86.247793', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77044, 'St Marys', 2795, '46556', '574', '41.704308', '-86.247793', '2018-11-29 05:17:19', '2018-11-29 05:17:19'),\n(77045, 'Inwood', 2795, '46563', '574', '41.35966', '-86.310828', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77046, 'Plymouth', 2795, '46563', '574', '41.35966', '-86.310828', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77047, 'Shipshewana', 2795, '46565', '260', '41.677676', '-85.571234', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77048, 'Tippecanoe', 2795, '46570', '574', '41.212315', '-86.116245', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77049, 'Winona Lake', 2795, '46590', '574', '41.218576', '-85.806123', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77050, 'Hoagland', 2795, '46745', '260', '40.954601', '-85.002226', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77051, 'Gravel Beach', 2795, '46747', '260', '41.565629', '-85.147247', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77052, 'Helmer', 2795, '46747', '260', '41.565629', '-85.147247', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77053, 'Hudson', 2795, '46747', '260', '41.565629', '-85.147247', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77054, 'Salem Center', 2795, '46747', '260', '41.565629', '-85.147247', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77055, 'Ege', 2795, '46763', '260', '41.300247', '-85.236455', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77056, 'Laotto', 2795, '46763', '260', '41.300247', '-85.236455', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77057, 'Cedar Canyon', 2795, '46765', '260', '41.229614', '-85.041315', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77058, 'Cedar Shores', 2795, '46765', '260', '41.229614', '-85.041315', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77059, 'Cedarville', 2795, '46765', '260', '41.229614', '-85.041315', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77060, 'Leo', 2795, '46765', '260', '41.229614', '-85.041315', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77061, 'Leo-Cedarville', 2795, '46765', '260', '41.229614', '-85.041315', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77062, 'Leo-Cedarvle', 2795, '46765', '260', '41.229614', '-85.041315', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77063, 'Poneto', 2795, '46781', '765', '40.639813', '-85.25908', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77064, 'Hurshtown', 2795, '46788', '260', '41.268616', '-84.911841', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77065, 'Spencerville', 2795, '46788', '260', '41.268616', '-84.911841', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77066, 'Fort Wayne', 2795, '46863', '260', '41.1306', '-85.1289', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77067, 'Fort Wayne', 2795, '46899', '260', '41.1306', '-85.1289', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77068, 'Kokomo', 2795, '46904', '765', '40.4864', '-86.1336', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77069, 'Jonesboro', 2795, '46938', '765', '40.446282', '-85.665732', '2018-11-29 05:17:20', '2018-11-29 05:17:20'),\n(77070, 'La Fontaine', 2795, '46940', '765', '40.684837', '-85.708475', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77071, 'Russiaville', 2795, '46979', '765', '40.41688', '-86.288584', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77072, '12 Mile', 2795, '46988', '574', '40.873406', '-86.240305', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77073, 'Twelve Mile', 2795, '46988', '574', '40.873406', '-86.240305', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77074, 'Batesville', 2795, '47006', '812', '39.289876', '-85.213286', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77075, 'Cross Roads', 2795, '47006', '812', '39.289876', '-85.213286', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77076, 'Huntersville', 2795, '47006', '812', '39.289876', '-85.213286', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77077, 'West Brook Acres', 2795, '47006', '812', '39.289876', '-85.213286', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77078, 'Dover', 2795, '47022', '812', '39.206396', '-84.957895', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77079, 'Guilford', 2795, '47022', '812', '39.206396', '-84.957895', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77080, 'New Alsace', 2795, '47022', '812', '39.206396', '-84.957895', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77081, 'Patriot', 2795, '47038', '812', '38.842038', '-84.85855', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77082, 'Rising Sun', 2795, '47040', '812', '38.910584', '-84.937034', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77083, 'Campbellsburg', 2795, '47108', '812', '38.638993', '-86.234616', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77084, 'Livonia', 2795, '47108', '812', '38.638993', '-86.234616', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77085, 'Georgetown', 2795, '47122', '812', '38.30122', '-85.981011', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77086, 'Hogtown', 2795, '47140', '812', '38.386345', '-86.37368', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77087, 'Marengo', 2795, '47140', '812', '38.386345', '-86.37368', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77088, 'Nabb', 2795, '47147', '812', '38.596736', '-85.545504', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77089, 'Otisco', 2795, '47163', '812', '38.541364', '-85.660698', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77090, 'Pekin', 2795, '47165', '812', '38.490344', '-86.004267', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77091, 'Sellersburg', 2795, '47172', '812', '38.395926', '-85.769264', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77092, 'Speed', 2795, '47172', '812', '38.395926', '-85.769264', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77093, 'Jonesville', 2795, '47247', '812', '39.059344', '-85.888782', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77094, 'Freetown', 2795, '47249', '812', '38.9733', '-86.1297', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77095, 'Kurtz', 2795, '47249', '812', '38.9733', '-86.1297', '2018-11-29 05:17:21', '2018-11-29 05:17:21'),\n(77096, 'Sparta', 2795, '46760', '260', '41.356398', '-85.553054', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77097, 'Kingsland', 2795, '46777', '260', '40.868899', '-85.163255', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77098, 'Ossian', 2795, '46777', '260', '40.868899', '-85.163255', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77099, 'Tocsin', 2795, '46777', '260', '40.868899', '-85.163255', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77100, 'Uniondale', 2795, '46791', '260', '40.83668', '-85.251807', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77101, 'Buckeye', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77102, 'Dillman', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77103, 'Meth Mem Home', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77104, 'Methodist Mem Home', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77105, 'Methodist Memorial Home', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77106, 'Mount Zion', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77107, 'Pleasant Plain', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77108, 'Plum Tree', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77109, 'Salamonie', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77110, 'Warren', 2795, '46792', '765', '40.68711', '-85.464626', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77111, 'Sedan', 2795, '46793', '260', '41.462635', '-85.030675', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77112, 'Waterloo', 2795, '46793', '260', '41.462635', '-85.030675', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77113, 'Fort Wayne', 2795, '46808', '260', '41.100602', '-85.180709', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77114, 'Ft Wayne', 2795, '46808', '260', '41.100602', '-85.180709', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77115, 'Fort Wayne', 2795, '46809', '260', '41.0101', '-85.214295', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77116, 'Ft Wayne', 2795, '46809', '260', '41.0101', '-85.214295', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77117, 'Waynedale', 2795, '46809', '260', '41.0101', '-85.214295', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77118, 'Fort Wayne', 2795, '46860', '260', '41.1306', '-85.1289', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77119, 'Fort Wayne', 2795, '46895', '260', '41.1306', '-85.1289', '2018-11-29 05:17:22', '2018-11-29 05:17:22'),\n(77120, 'Akron', 2795, '46910', '574', '41.049498', '-86.037875', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77121, 'Laketon', 2795, '46943', '260', '40.972871', '-85.843297', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77122, 'New Waverly', 2795, '46961', '574', '40.768019', '-86.193604', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77123, 'N Manchester', 2795, '46962', '260', '40.986243', '-85.784557', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77124, 'North Manchester', 2795, '46962', '260', '40.986243', '-85.784557', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77125, 'Bath', 2795, '47010', '765', '39.49607', '-84.839605', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77126, 'Bennington', 2795, '47011', '812', '38.865268', '-85.071261', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77127, 'Versailles', 2795, '47042', '812', '39.03034', '-85.24354', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77128, 'Charlestown', 2795, '47111', '812', '38.453954', '-85.602502', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77129, 'Corydon', 2795, '47112', '812', '38.185006', '-86.15327', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77130, 'Hardinsburg', 2795, '47125', '812', '38.464464', '-86.317806', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77131, 'Rego', 2795, '47125', '812', '38.464464', '-86.317806', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77132, 'Valeene', 2795, '47125', '812', '38.464464', '-86.317806', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77133, 'Mauckport', 2795, '47142', '812', '38.056457', '-86.203617', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77134, 'Agricultural Census', 2795, '47144', '812', '38.2901', '-85.7514', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77135, 'Jeffersonville', 2795, '47144', '812', '38.2901', '-85.7514', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77136, 'Jeffersonvlle', 2795, '47144', '812', '38.2901', '-85.7514', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77137, 'Milltown', 2795, '47145', '812', '38.348656', '-86.315245', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77138, 'New Washingtn', 2795, '47162', '812', '38.54832', '-85.478806', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77139, 'New Washington', 2795, '47162', '812', '38.54832', '-85.478806', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77140, 'Clifford', 2795, '47226', '812', '39.282945', '-85.869766', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77141, 'Commiskey', 2795, '47227', '812', '38.867658', '-85.63563', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77142, 'Cortland', 2795, '47228', '812', '38.9819', '-85.9992', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77143, 'Hartsville', 2795, '47244', '812', '39.220379', '-85.699238', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77144, 'Waynesburg', 2795, '47244', '812', '39.220379', '-85.699238', '2018-11-29 05:17:23', '2018-11-29 05:17:23'),\n(77145, 'Hope', 2795, '47246', '812', '39.290971', '-85.753023', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77146, 'Medora', 2795, '47260', '812', '38.838386', '-86.199266', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77147, 'Mahon', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77148, 'Majenica', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77149, 'Mount Etna', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77150, 'Simpson', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77151, 'Toledo', 2795, '46750', '260', '40.861924', '-85.480572', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77152, 'Fort Wayne', 2795, '46801', '260', '41.1306', '-85.1289', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77153, 'Fort Wayne', 2795, '46803', '260', '41.07021', '-85.084269', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77154, 'Ft Wayne', 2795, '46803', '260', '41.07021', '-85.084269', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77155, 'Fort Wayne', 2795, '46818', '260', '41.162258', '-85.248374', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77156, 'Ft Wayne', 2795, '46818', '260', '41.162258', '-85.248374', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77157, 'Fort Wayne', 2795, '46885', '260', '41.1306', '-85.1289', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77158, 'Converse', 2795, '46919', '765', '40.59189', '-85.886036', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77159, 'Cutler', 2795, '46920', '765', '40.467481', '-86.486184', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77160, 'Grass Creek', 2795, '46935', '574', '40.9477', '-86.4046', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77161, 'Kewanna', 2795, '46935', '574', '40.9477', '-86.4046', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77162, 'Greentown', 2795, '46936', '765', '40.485766', '-85.947022', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77163, 'Dillsboro', 2795, '47018', '812', '38.991004', '-85.080202', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77164, 'Elrod', 2795, '47018', '812', '38.991004', '-85.080202', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77165, 'Farmers Retreat', 2795, '47018', '812', '38.991004', '-85.080202', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77166, 'E Enterprise', 2795, '47019', '812', '38.881564', '-84.94527', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77167, 'East Enterprise', 2795, '47019', '812', '38.881564', '-84.94527', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77168, 'Florence', 2795, '47020', '812', '38.821924', '-84.924284', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77169, 'New Trenton', 2795, '47035', '812', '39.316374', '-84.903968', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77170, 'Oldenburg', 2795, '47036', '812', '39.388355', '-85.237969', '2018-11-29 05:17:24', '2018-11-29 05:17:24'),\n(77171, 'Bethlehem', 2795, '47104', '812', '38.5422', '-85.4203', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77172, 'English', 2795, '47118', '812', '38.323768', '-86.482324', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77173, 'Sulphur', 2795, '47118', '812', '38.323768', '-86.482324', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77174, 'Bureau Of The Census', 2795, '47134', '812', '38.2901', '-85.7514', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77175, 'Jeffersonville', 2795, '47134', '812', '38.2901', '-85.7514', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77176, 'Jeffersonvlle', 2795, '47134', '812', '38.2901', '-85.7514', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77177, 'Lanesville', 2795, '47136', '812', '38.234492', '-85.961176', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77178, 'Alton', 2795, '47137', '812', '38.19237', '-86.364046', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77179, 'Carefree', 2795, '47137', '812', '38.19237', '-86.364046', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77180, 'Fredonia', 2795, '47137', '812', '38.19237', '-86.364046', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77181, 'Leavenworth', 2795, '47137', '812', '38.19237', '-86.364046', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77182, 'Columbus', 2795, '47202', '812', '39.2016', '-85.9214', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77183, 'Elizabethtown', 2795, '47236', '812', '39.152446', '-85.730393', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77184, 'Grammer', 2795, '47236', '812', '39.152446', '-85.730393', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77185, 'Paris Crossing', 2795, '47270', '812', '38.855143', '-85.722249', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77186, 'Paris Xing', 2795, '47270', '812', '38.855143', '-85.722249', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77187, 'Wall Lake', 2795, '46776', '260', '41.718996', '-85.14967', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77188, 'Brimfield', 2795, '46794', '260', '41.470928', '-85.454556', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77189, 'Brimfld', 2795, '46794', '260', '41.470928', '-85.454556', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77190, 'Cosperville', 2795, '46794', '260', '41.470928', '-85.454556', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77191, 'Diamond Lake', 2795, '46794', '260', '41.470928', '-85.454556', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77192, 'Waldron Lake', 2795, '46794', '260', '41.470928', '-85.454556', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77193, 'Wawaka', 2795, '46794', '260', '41.470928', '-85.454556', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77194, 'Fort Wayne', 2795, '46845', '260', '41.21306', '-85.099321', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77195, 'Ft Wayne', 2795, '46845', '260', '41.21306', '-85.099321', '2018-11-29 05:17:25', '2018-11-29 05:17:25'),\n(77196, 'Hazelwood', 2795, '46845', '260', '41.21306', '-85.099321', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77197, 'Fort Wayne', 2795, '46859', '260', '41.1306', '-85.1289', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77198, 'Fairmount', 2795, '46928', '765', '40.415614', '-85.68154', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77199, 'Leiters Ford', 2795, '46945', '574', '41.1217', '-86.3859', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77200, 'Mexico', 2795, '46958', '765', '40.817576', '-86.119366', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77201, 'Rockfield', 2795, '46977', '574', '40.6411', '-86.5737', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77202, 'Wabash', 2795, '46992', '765', '40.785766', '-85.791674', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77203, 'Walton', 2795, '46994', '574', '40.682793', '-86.265278', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77204, 'Brookville', 2795, '47012', '765', '39.384031', '-84.973552', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77205, 'Saint Leon', 2795, '47012', '765', '39.384031', '-84.973552', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77206, 'Braytown', 2795, '47043', '812', '38.795247', '-85.09533', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77207, 'Vevay', 2795, '47043', '812', '38.795247', '-85.09533', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77208, 'W Harrison', 2795, '47060', '812', '39.287201', '-84.889288', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77209, 'West Harrison', 2795, '47060', '812', '39.287201', '-84.889288', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77210, 'Henryville', 2795, '47126', '812', '38.544322', '-85.778483', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77211, 'New Middletown', 2795, '47160', '812', '38.152872', '-86.040606', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77212, 'New Middletwn', 2795, '47160', '812', '38.152872', '-86.040606', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77213, 'Crothersville', 2795, '47229', '812', '38.805169', '-85.8614', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77214, 'Retreat', 2795, '47229', '812', '38.805169', '-85.8614', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77215, 'Tampico', 2795, '47229', '812', '38.805169', '-85.8614', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77216, 'Hanover', 2795, '47243', '812', '38.664066', '-85.484036', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77217, 'Hanover Beach', 2795, '47243', '812', '38.664066', '-85.484036', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77218, 'Paynesville', 2795, '47243', '812', '38.664066', '-85.484036', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77219, 'Millhousen', 2795, '47261', '812', '39.2103', '-85.4316', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77220, 'Rome City', 2795, '46784', '260', '41.49364', '-85.394348', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77221, 'South Milford', 2795, '46786', '260', '41.5326', '-85.2722', '2018-11-29 05:17:26', '2018-11-29 05:17:26'),\n(77222, 'Fort Wayne', 2795, '46802', '260', '41.065468', '-85.15806', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77223, 'Ft Wayne', 2795, '46802', '260', '41.065468', '-85.15806', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77224, 'Diplomat', 2795, '46816', '260', '40.984156', '-85.03839', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77225, 'Fort Wayne', 2795, '46816', '260', '40.984156', '-85.03839', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77226, 'Ft Wayne', 2795, '46816', '260', '40.984156', '-85.03839', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77227, 'Maples', 2795, '46816', '260', '40.984156', '-85.03839', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77228, 'Southtown', 2795, '46816', '260', '40.984156', '-85.03839', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77229, 'Southtown Mall', 2795, '46816', '260', '40.984156', '-85.03839', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77230, 'Fort Wayne', 2795, '46819', '260', '40.979586', '-85.126538', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77231, 'Ft Wayne', 2795, '46819', '260', '40.979586', '-85.126538', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77232, 'Poe', 2795, '46819', '260', '40.979586', '-85.126538', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77233, 'Waynedale', 2795, '46819', '260', '40.979586', '-85.126538', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77234, 'Fort Wayne', 2795, '46835', '260', '41.156884', '-85.058012', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77235, 'Ft Wayne', 2795, '46835', '260', '41.156884', '-85.058012', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77236, 'Fort Wayne', 2795, '46852', '260', '41.1306', '-85.1289', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77237, 'Fort Wayne', 2795, '46866', '260', '41.1306', '-85.1289', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77238, 'Fort Wayne', 2795, '46867', '260', '41.1306', '-85.1289', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77239, 'Fort Wayne', 2795, '46868', '260', '41.1306', '-85.1289', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77240, 'Kokomo', 2795, '46902', '765', '40.440808', '-86.090512', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77241, 'Camden', 2795, '46917', '574', '40.626781', '-86.478078', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77242, 'Deer Creek', 2795, '46917', '574', '40.626781', '-86.478078', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77243, 'Lucerne', 2795, '46950', '765', '40.878828', '-86.360416', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77244, 'Onward', 2795, '46967', '574', '40.6947', '-86.1951', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77245, 'Ora', 2795, '46968', '219', '41.175554', '-86.545719', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77246, 'Peru', 2795, '46970', '765', '40.75338', '-86.078214', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77247, 'Somerset', 2795, '46984', '765', '40.6695', '-85.8285', '2018-11-29 05:17:27', '2018-11-29 05:17:27'),\n(77248, 'Star City', 2795, '46985', '574', '40.954582', '-86.583813', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77249, 'Sweetser', 2795, '46987', '765', '40.570164', '-85.772425', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77250, 'Cross Plains', 2795, '47017', '812', '38.940349', '-85.179455', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77251, 'Napoleon', 2795, '47034', '812', '39.204833', '-85.326962', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77252, 'Austin', 2795, '47102', '812', '38.768953', '-85.805395', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77253, 'Laconia', 2795, '47135', '812', '38.042624', '-86.096128', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77254, 'Salem', 2795, '47167', '812', '38.600826', '-86.07216', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77255, 'Little York', 2795, '47170', '812', '38.684724', '-85.871624', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77256, 'Scottsburg', 2795, '47170', '812', '38.684724', '-85.871624', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77257, 'Columbus', 2795, '47201', '812', '39.191689', '-86.026646', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77258, 'Flat Rock', 2795, '47234', '812', '39.379346', '-85.745352', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77259, 'Anthony', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77260, 'Cook Acres', 2795, '47303', '765', '40.278988', '-85.371672', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77261, 'Blocher', 2795, '47138', '812', '38.680145', '-85.594659', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77262, 'Lexington', 2795, '47138', '812', '38.680145', '-85.594659', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77263, 'Sulphur', 2795, '47174', '812', '38.217256', '-86.469592', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77264, 'Bureau Of Census Decennial', 2795, '47199', '812', '38.2901', '-85.7514', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77265, 'Jeffersonville', 2795, '47199', '812', '38.2901', '-85.7514', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77266, 'Jeffersonvlle', 2795, '47199', '812', '38.2901', '-85.7514', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77267, 'Dupont', 2795, '47231', '812', '38.896508', '-85.503633', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77268, 'Adams', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77269, 'Burney', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77270, 'Enochsburg', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77271, 'Greensburg', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77272, 'Kingston', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:28', '2018-11-29 05:17:28'),\n(77273, 'Lake Mccoy', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77274, 'Sandusky', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77275, 'Williamstown', 2795, '47240', '812', '39.31801', '-85.479184', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77276, 'North Vernon', 2795, '47265', '812', '39.015034', '-85.614483', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77277, 'Queensville', 2795, '47265', '812', '39.015034', '-85.614483', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77278, 'Vallonia', 2795, '47281', '812', '38.786716', '-86.118007', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77279, 'Griffith', 2795, '46319', '219', '41.521707', '-87.422792', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77280, 'New Elliott', 2795, '46319', '219', '41.521707', '-87.422792', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77281, 'Gary', 2795, '46405', '219', '41.572731', '-87.265592', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77282, 'Lake Station', 2795, '46405', '219', '41.572731', '-87.265592', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77283, 'Topeka', 2795, '46571', '260', '41.566574', '-85.555618', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77284, 'Roseland', 2795, '46637', '574', '41.727444', '-86.24519', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77285, 'South Bend', 2795, '46637', '574', '41.727444', '-86.24519', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77286, 'Ashley', 2795, '46705', '260', '41.526979', '-85.053884', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77287, 'Steuben', 2795, '46705', '260', '41.526979', '-85.053884', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77288, 'Steubenville', 2795, '46705', '260', '41.526979', '-85.053884', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77289, 'Bluffton', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77290, 'Domestic', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77291, 'Murray', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77292, 'North Oaks', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77293, 'Reiffsburg', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77294, 'Rockford', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77295, 'Toll Gate Heights', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77296, 'Travisville', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77297, 'Vera Cruz', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:29', '2018-11-29 05:17:29'),\n(77298, 'Villa North', 2795, '46714', '260', '40.709629', '-85.17438', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77299, 'Brighton', 2795, '46746', '260', '41.708214', '-85.376282', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77300, 'Howe', 2795, '46746', '260', '41.708214', '-85.376282', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77301, 'Lima', 2795, '46746', '260', '41.708214', '-85.376282', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77302, 'Huntertown', 2795, '46748', '260', '41.248562', '-85.158682', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77303, 'Boston Corner', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77304, 'Dixon', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77305, 'Monroeville', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77306, 'Monroevl', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77307, 'Tillman', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77308, 'Townley', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77309, 'Zulu', 2795, '46773', '260', '40.989726', '-84.900753', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77310, 'Pleasant Mills', 2795, '46780', '260', '40.7776', '-84.8425', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77311, 'Pleasant Mls', 2795, '46780', '260', '40.7776', '-84.8425', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77312, 'Stroh', 2795, '46789', '260', '41.5814', '-85.1996', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77313, 'Wildwood Landing', 2795, '46789', '260', '41.5814', '-85.1996', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77314, 'Wolf Lake', 2795, '46796', '260', '41.3346', '-85.4973', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77315, 'Wolflake', 2795, '46796', '260', '41.3346', '-85.4973', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77316, 'Yoder', 2795, '46798', '260', '40.943307', '-85.227414', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77317, 'Fort Wayne', 2795, '46805', '260', '41.098595', '-85.118408', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77318, 'Ft Wayne', 2795, '46805', '260', '41.098595', '-85.118408', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77319, 'Fort Wayne', 2795, '46814', '260', '41.045654', '-85.305928', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77320, 'Fort Wayne', 2795, '46855', '260', '41.1306', '-85.1289', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77321, 'Fort Wayne', 2795, '46857', '260', '41.1306', '-85.1289', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77322, 'Fort Wayne', 2795, '46862', '260', '41.1306', '-85.1289', '2018-11-29 05:17:30', '2018-11-29 05:17:30'),\n(77323, 'Fort Wayne', 2795, '46864', '260', '41.1306', '-85.1289', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77324, 'Fowlerton', 2795, '46930', '765', '40.406624', '-85.567488', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77325, 'Matthews', 2795, '46957', '765', '40.386636', '-85.499958', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77326, 'Silver Lake', 2795, '46982', '260', '41.050915', '-85.87417', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77327, 'Young America', 2795, '46998', '574', '40.573532', '-86.351242', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77328, 'Metamora', 2795, '47030', '765', '39.446148', '-85.116314', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77329, 'Moores Hill', 2795, '47032', '812', '39.08394', '-85.043611', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77330, 'Marysville', 2795, '47141', '812', '38.549228', '-85.59919', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77331, 'Mount Saint Francis', 2795, '47146', '812', '38.3177', '-85.9132', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77332, 'Mt St Francis', 2795, '47146', '812', '38.3177', '-85.9132', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77333, 'Palmyra', 2795, '47164', '812', '38.397174', '-86.102719', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77334, 'Taswell', 2795, '47175', '812', '38.35998', '-86.561496', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77335, 'Manhattan', 2796, '66502', '785', '39.171248', '-96.547604', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77336, 'Mayetta', 2796, '66509', '785', '39.310854', '-95.770302', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77337, 'Saint Marys', 2796, '66536', '785', '39.212402', '-96.082004', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77338, 'St Marys', 2796, '66536', '785', '39.212402', '-96.082004', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77339, 'Summerfield', 2796, '66541', '785', '39.957621', '-96.362739', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77340, 'Wetmore', 2796, '66550', '785', '39.65285', '-95.845244', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77341, 'Topeka', 2796, '66611', '785', '39.015106', '-95.695867', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77342, 'Ks Dept Of Revenue Taxation', 2796, '66625', '785', '39.0486', '-95.6778', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77343, 'Topeka', 2796, '66625', '785', '39.0486', '-95.6778', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77344, 'Austin', 2796, '66720', '620', '37.643576', '-95.45159', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77345, 'Chanute', 2796, '66720', '620', '37.643576', '-95.45159', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77346, 'Earlton', 2796, '66720', '620', '37.643576', '-95.45159', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77347, 'Petrolia', 2796, '66720', '620', '37.643576', '-95.45159', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77348, 'New Albany', 2796, '66759', '620', '37.545532', '-95.915934', '2018-11-29 05:17:31', '2018-11-29 05:17:31'),\n(77349, 'Stark', 2796, '66775', '620', '37.68986', '-95.133566', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77350, 'Toronto', 2796, '66777', '620', '37.835928', '-95.874752', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77351, 'Marion', 2796, '66861', '620', '38.384064', '-96.984996', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77352, 'Everest', 2796, '66424', '785', '39.667117', '-95.395818', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77353, 'Leonardville', 2796, '66449', '785', '39.383129', '-96.836066', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77354, 'Lyndon', 2796, '66451', '785', '38.64493', '-95.656209', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77355, 'Overbrook', 2796, '66524', '785', '38.80688', '-95.490457', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77356, 'Quenemo', 2796, '66528', '785', '38.575949', '-95.564447', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77357, 'Tecumseh', 2796, '66542', '785', '39.012972', '-95.556953', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77358, 'Vermillion', 2796, '66544', '785', '39.696676', '-96.273067', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77359, 'Vliets', 2796, '66544', '785', '39.696676', '-96.273067', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77360, 'Topeka', 2796, '66603', '785', '39.055712', '-95.673282', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77361, 'Topeka', 2796, '66608', '785', '39.075909', '-95.679281', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77362, 'Topeka', 2796, '66610', '785', '38.968154', '-95.8278', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77363, 'Ks Dept Of Revenue Vehicles', 2796, '66626', '785', '39.0486', '-95.6778', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77364, 'Topeka', 2796, '66626', '785', '39.0486', '-95.6778', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77365, 'Topeka', 2796, '66667', '785', '39.0486', '-95.6778', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77366, 'Altoona', 2796, '66710', '620', '37.514526', '-95.634073', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77367, 'Guilford', 2796, '66710', '620', '37.514526', '-95.634073', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77368, 'Mc Cune', 2796, '66753', '620', '37.366558', '-95.017366', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77369, 'Mccune', 2796, '66753', '620', '37.366558', '-95.017366', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77370, 'Monmouth', 2796, '66753', '620', '37.366558', '-95.017366', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77371, 'Strauss', 2796, '66753', '620', '37.366558', '-95.017366', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77372, 'Carmean', 2796, '66758', '620', '38.002504', '-95.610734', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77373, 'Neosho Falls', 2796, '66758', '620', '38.002504', '-95.610734', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77374, 'Capaldo', 2796, '66762', '620', '37.357068', '-94.752234', '2018-11-29 05:17:32', '2018-11-29 05:17:32'),\n(77375, 'Pittsburg', 2796, '66762', '620', '37.357068', '-94.752234', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77376, 'Radley', 2796, '66762', '620', '37.357068', '-94.752234', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77377, 'Redfield', 2796, '66769', '620', '37.855904', '-94.841772', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77378, 'Emporia', 2796, '66801', '620', '38.433928', '-96.171231', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77379, 'Hamilton', 2796, '66853', '620', '37.98389', '-96.205186', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77380, 'Matfield Green', 2796, '66862', '620', '38.144101', '-96.498372', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77381, 'Matfield Grn', 2796, '66862', '620', '38.144101', '-96.498372', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77382, 'Formoso', 2796, '66942', '785', '39.78416', '-97.98883', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77383, 'Kensington', 2796, '66951', '785', '39.785506', '-99.01029', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77384, 'Narka', 2796, '66960', '785', '39.958414', '-97.425298', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77385, 'Palmer', 2796, '66962', '785', '39.588962', '-97.12529', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77386, 'Hoyt', 2796, '66440', '785', '39.274773', '-95.682608', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77387, 'Osage City', 2796, '66523', '785', '38.585658', '-95.846796', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77388, 'Kelly', 2796, '66538', '785', '39.870243', '-96.013994', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77389, 'Seneca', 2796, '66538', '785', '39.870243', '-96.013994', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77390, 'St Benedict', 2796, '66538', '785', '39.870243', '-96.013994', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77391, 'Soldier', 2796, '66540', '785', '39.478253', '-95.970298', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77392, 'Randolph', 2796, '66554', '785', '39.471646', '-96.741522', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77393, 'Topeka', 2796, '66605', '785', '39.0151', '-95.634694', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77394, 'Topeka', 2796, '66607', '785', '39.045988', '-95.63008', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77395, 'Topeka', 2796, '66621', '785', '39.0501', '-95.6736', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77396, 'Topeka', 2796, '66622', '785', '39.0486', '-95.6778', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77397, 'Va Hospital', 2796, '66622', '785', '39.0486', '-95.6778', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77398, 'Arcadia', 2796, '66741', '620', '37.722628', '-94.678789', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77399, 'Garland', 2796, '66741', '620', '37.722628', '-94.678789', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77400, 'Harding', 2796, '66754', '620', '38.003373', '-94.880259', '2018-11-29 05:17:33', '2018-11-29 05:17:33'),\n(77401, 'Mapleton', 2796, '66754', '620', '38.003373', '-94.880259', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77402, 'Moran', 2796, '66755', '620', '37.907002', '-95.17974', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77403, 'Carona', 2796, '66773', '620', '37.280794', '-94.82293', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77404, 'Roseland', 2796, '66773', '620', '37.280794', '-94.82293', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77405, 'Scammon', 2796, '66773', '620', '37.280794', '-94.82293', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77406, 'Skidmore', 2796, '66773', '620', '37.280794', '-94.82293', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77407, 'Burns', 2796, '66840', '620', '38.089777', '-96.868683', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77408, 'Waverly', 2796, '66871', '785', '38.346858', '-95.618539', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77409, 'Council Grove', 2796, '66873', '785', '38.616223', '-96.671194', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77410, 'Wilsey', 2796, '66873', '785', '38.616223', '-96.671194', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77411, 'Mahaska', 2796, '66955', '785', '39.958414', '-97.312932', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77412, 'Morrowville', 2796, '66958', '785', '39.871485', '-97.199302', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77413, 'Waterville', 2796, '66548', '785', '39.689628', '-96.750468', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77414, 'Topeka', 2796, '66615', '785', '39.057105', '-95.84907', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77415, 'Baxter Spgs', 2796, '66713', '620', '37.048009', '-94.799527', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77416, 'Baxter Springs', 2796, '66713', '620', '37.048009', '-94.799527', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77417, 'Big Elk', 2796, '66713', '620', '37.048009', '-94.799527', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77418, 'Lowell', 2796, '66713', '620', '37.048009', '-94.799527', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77419, 'Sims', 2796, '66713', '620', '37.048009', '-94.799527', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77420, 'Benedict', 2796, '66714', '620', '37.64599', '-95.652193', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77421, 'Roper', 2796, '66714', '620', '37.64599', '-95.652193', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77422, 'Porterville', 2796, '66780', '620', '37.580134', '-95.042735', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77423, 'Walnut', 2796, '66780', '620', '37.580134', '-95.042735', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77424, 'Admire', 2796, '66830', '620', '38.615946', '-96.103692', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77425, 'Council Grove', 2796, '66846', '620', '38.666914', '-96.525761', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77426, 'Dunlap', 2796, '66846', '620', '38.666914', '-96.525761', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77427, 'Dwight', 2796, '66849', '785', '38.833718', '-96.575758', '2018-11-29 05:17:34', '2018-11-29 05:17:34'),\n(77428, 'Peabody', 2796, '66866', '620', '38.180809', '-97.115523', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77429, 'Barnes', 2796, '66933', '785', '39.662314', '-96.859827', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77430, 'Hollenberg', 2796, '66946', '785', '39.958146', '-96.97497', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77431, 'Scranton', 2796, '66537', '785', '38.782422', '-95.743053', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77432, 'Topeka', 2796, '66604', '785', '39.040204', '-95.727792', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77433, 'Barnesville', 2796, '66738', '620', '37.993818', '-94.731791', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77434, 'Fulton', 2796, '66738', '620', '37.993818', '-94.731791', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77435, 'Barber', 2796, '66756', '620', '37.544898', '-94.651609', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77436, 'Cockerill', 2796, '66756', '620', '37.544898', '-94.651609', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77437, 'Croweburg', 2796, '66756', '620', '37.544898', '-94.651609', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77438, 'Curranville', 2796, '66756', '620', '37.544898', '-94.651609', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77439, 'Mulberry', 2796, '66756', '620', '37.544898', '-94.651609', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77440, 'Buffville', 2796, '66757', '620', '37.428049', '-95.634284', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77441, 'Hilford', 2796, '66757', '620', '37.428049', '-95.634284', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77442, 'Neodesha', 2796, '66757', '620', '37.428049', '-95.634284', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77443, 'Saint Paul', 2796, '66771', '620', '37.471128', '-95.161042', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77444, 'St Paul', 2796, '66771', '620', '37.471128', '-95.161042', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77445, 'Burlington', 2796, '66839', '620', '38.222122', '-95.747318', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77446, 'New Strawn', 2796, '66839', '620', '38.222122', '-95.747318', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77447, 'Lamont', 2796, '66855', '620', '38.1128', '-96.0267', '2018-11-29 05:17:35', '2018-11-29 05:17:35');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(77448, 'Madison', 2796, '66855', '620', '38.1128', '-96.0267', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77449, 'Antelope', 2796, '66858', '620', '38.478773', '-96.957804', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77450, 'Lincolnville', 2796, '66858', '620', '38.478773', '-96.957804', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77451, 'Clyde', 2796, '66938', '785', '39.546308', '-97.405976', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77452, 'Esbon', 2796, '66941', '785', '39.697929', '-98.448616', '2018-11-29 05:17:35', '2018-11-29 05:17:35'),\n(77453, 'Eskridge', 2796, '66423', '785', '38.804471', '-96.113001', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77454, 'Home', 2796, '66438', '785', '39.8415', '-96.522879', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77455, 'Horton', 2796, '66439', '785', '39.652728', '-95.554768', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77456, 'Manhattan', 2796, '66505', '785', '39.1967', '-96.5956', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77457, 'Maple Hill', 2796, '66507', '785', '39.041644', '-96.039338', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77458, 'Duluth', 2796, '66521', '785', '39.442272', '-96.206994', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77459, 'Onaga', 2796, '66521', '785', '39.442272', '-96.206994', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77460, 'Wheaton', 2796, '66521', '785', '39.442272', '-96.206994', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77461, 'Silver Lake', 2796, '66539', '785', '39.150214', '-95.845863', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77462, 'Topeka', 2796, '66606', '785', '39.064945', '-95.719066', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77463, 'Material Distribution Ctr', 2796, '66624', '785', '38.935339', '-95.689847', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77464, 'Topeka', 2796, '66624', '785', '38.935339', '-95.689847', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77465, 'Cherokee', 2796, '66724', '620', '37.339446', '-94.859508', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77466, 'Badger', 2796, '66739', '620', '37.117446', '-94.679314', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77467, 'Galena', 2796, '66739', '620', '37.117446', '-94.679314', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77468, 'Lowell', 2796, '66739', '620', '37.117446', '-94.679314', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77469, 'Spring Grove', 2796, '66739', '620', '37.117446', '-94.679314', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77470, 'Galesburg', 2796, '66740', '620', '37.47244', '-95.30619', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77471, 'Savonburg', 2796, '66772', '620', '37.74716', '-95.197182', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77472, 'Burdick', 2796, '66838', '785', '38.565718', '-96.800562', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77473, 'Lebo', 2796, '66856', '620', '38.426861', '-95.812443', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77474, 'Olivet', 2796, '66856', '620', '38.426861', '-95.812443', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77475, 'Le Roy', 2796, '66857', '620', '38.118125', '-95.647348', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77476, 'White City', 2796, '66872', '785', '38.782826', '-96.779173', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77477, 'Courtland', 2796, '66939', '785', '39.839414', '-97.91909', '2018-11-29 05:17:36', '2018-11-29 05:17:36'),\n(77478, 'Cuba', 2796, '66940', '785', '39.7989', '-97.462826', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77479, 'Mankato', 2796, '66956', '785', '39.784836', '-98.217679', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77480, 'Goff', 2796, '66428', '785', '39.652802', '-95.95774', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77481, 'Grantville', 2796, '66429', '785', '39.089026', '-95.528813', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77482, 'Harveyville', 2796, '66431', '785', '38.849193', '-96.020605', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77483, 'Meriden', 2796, '66512', '785', '39.201777', '-95.544386', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77484, 'Milford', 2796, '66514', '785', '39.149898', '-96.896324', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77485, 'Riley', 2796, '66531', '785', '39.21772', '-96.821429', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77486, 'Leona', 2796, '66532', '785', '39.849313', '-95.355986', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77487, 'Robinson', 2796, '66532', '785', '39.849313', '-95.355986', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77488, 'Wakarusa', 2796, '66546', '785', '38.90569', '-95.724272', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77489, 'Topeka', 2796, '66647', '785', '39.0486', '-95.6778', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77490, 'Kansas Income Tax', 2796, '66699', '785', '39.0486', '-95.6778', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77491, 'Topeka', 2796, '66699', '785', '39.0486', '-95.6778', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77492, 'Arma', 2796, '66712', '620', '37.564563', '-94.713952', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77493, 'Bronson', 2796, '66716', '620', '37.941878', '-95.005889', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77494, 'Xenia', 2796, '66716', '620', '37.941878', '-95.005889', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77495, 'Elsmore', 2796, '66732', '620', '37.805196', '-95.198364', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77496, 'Hepler', 2796, '66746', '620', '37.638372', '-94.978551', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77497, 'Uniontown', 2796, '66779', '620', '37.772859', '-94.992286', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77498, 'Lawton', 2796, '66781', '620', '37.287696', '-94.723225', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77499, 'Weir', 2796, '66781', '620', '37.287696', '-94.723225', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77500, 'Mineral', 2796, '66782', '620', '37.287918', '-94.927887', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77501, 'West Mineral', 2796, '66782', '620', '37.287918', '-94.927887', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77502, 'Neal', 2796, '66863', '620', '37.83048', '-96.058648', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77503, 'Neosho Rapids', 2796, '66864', '620', '38.374411', '-96.000816', '2018-11-29 05:17:37', '2018-11-29 05:17:37'),\n(77504, 'Olpe', 2796, '66865', '620', '38.252691', '-96.212219', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77505, 'Ionia', 2796, '66949', '785', '39.654073', '-98.067819', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77506, 'Jewell', 2796, '66949', '785', '39.654073', '-98.067819', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77507, 'Randall', 2796, '66963', '785', '39.610594', '-98.095625', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77508, 'Clifton', 2796, '66937', '785', '39.606392', '-97.256749', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77509, 'Linn', 2796, '66953', '785', '39.682798', '-97.125542', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77510, 'Fredonia', 2796, '66736', '620', '37.559833', '-95.85267', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77511, 'Lafontaine', 2796, '66736', '620', '37.559833', '-95.85267', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77512, 'New Albany', 2796, '66736', '620', '37.559833', '-95.85267', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77513, 'Beulah', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77514, 'Brazilton', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77515, 'Edison', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77516, 'Girard', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77517, 'Green Bush', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77518, 'Greenbush', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77519, 'Ringo', 2796, '66743', '620', '37.492401', '-94.914888', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77520, 'Piqua', 2796, '66761', '620', '37.903132', '-95.574788', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77521, 'Cedar Point', 2796, '66843', '620', '38.28978', '-96.747908', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77522, 'Clements', 2796, '66843', '620', '38.28978', '-96.747908', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77523, 'Gridley', 2796, '66852', '620', '38.076188', '-95.85954', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77524, 'Reading', 2796, '66868', '620', '38.575536', '-95.997777', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77525, 'Burr Oak', 2796, '66936', '785', '39.915342', '-98.386392', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77526, 'Greenleaf', 2796, '66943', '785', '39.668048', '-96.965834', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77527, 'Fort Riley', 2796, '66442', '785', '39.080362', '-96.783753', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77528, 'Ft Riley', 2796, '66442', '785', '39.080362', '-96.783753', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77529, 'Junction City', 2796, '66442', '785', '39.080362', '-96.783753', '2018-11-29 05:17:38', '2018-11-29 05:17:38'),\n(77530, 'Alma', 2796, '66501', '785', '39.053542', '-96.236503', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77531, 'Mc Farland', 2796, '66501', '785', '39.053542', '-96.236503', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77532, 'Mcfarland', 2796, '66501', '785', '39.053542', '-96.236503', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77533, 'Herkimer', 2796, '66508', '785', '39.870691', '-96.65399', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77534, 'Marysville', 2796, '66508', '785', '39.870691', '-96.65399', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77535, 'Melvern', 2796, '66510', '785', '38.499618', '-95.599928', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77536, 'Ogden', 2796, '66517', '785', '39.111716', '-96.721945', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77537, 'Saint George', 2796, '66535', '785', '39.248354', '-96.445169', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77538, 'St George', 2796, '66535', '785', '39.248354', '-96.445169', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77539, 'Topeka', 2796, '66601', '785', '39.0486', '-95.6778', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77540, 'Devon', 2796, '66701', '620', '37.855054', '-94.760242', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77541, 'Fort Scott', 2796, '66701', '620', '37.855054', '-94.760242', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77542, 'Hiattville', 2796, '66701', '620', '37.855054', '-94.760242', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77543, 'Buffalo', 2796, '66717', '620', '37.689924', '-95.724428', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77544, 'Erie', 2796, '66733', '620', '37.594744', '-95.260922', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77545, 'Franklin', 2796, '66735', '620', '37.520802', '-94.714082', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77546, 'Gas', 2796, '66742', '620', '37.9244', '-95.3395', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77547, 'La Harpe', 2796, '66751', '620', '37.921783', '-95.280468', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77548, 'Mantey', 2796, '66767', '913', '38.080652', '-94.709726', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77549, 'Prescott', 2796, '66767', '913', '38.080652', '-94.709726', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77550, 'Morehead', 2796, '66776', '620', '37.412286', '-95.488151', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77551, 'Thayer', 2796, '66776', '620', '37.412286', '-95.488151', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77552, 'Madison', 2796, '66860', '620', '38.127877', '-96.15833', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77553, 'Haddam', 2796, '66944', '785', '39.827914', '-97.284619', '2018-11-29 05:17:39', '2018-11-29 05:17:39'),\n(77554, 'Bardstown', 2797, '40004', '502', '37.78534', '-85.483393', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77555, 'Coxs Creek', 2797, '40013', '502', '37.92808', '-85.489273', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77556, 'Deatsville', 2797, '40013', '502', '37.92808', '-85.489273', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77557, 'Highgrove', 2797, '40013', '502', '37.92808', '-85.489273', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77558, 'Lenore', 2797, '40013', '502', '37.92808', '-85.489273', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77559, 'Samuels', 2797, '40013', '502', '37.92808', '-85.489273', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77560, 'Harrods Creek', 2797, '40027', '502', '38.3276', '-85.6276', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77561, 'Saint Mary', 2797, '40063', '270', '37.5806', '-85.3466', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77562, 'St Mary', 2797, '40063', '270', '37.5806', '-85.3466', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77563, 'Sulphur', 2797, '40070', '502', '38.484264', '-85.242094', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77564, 'Mc Daniels', 2797, '40152', '270', '37.620652', '-86.447598', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77565, 'Mcdaniels', 2797, '40152', '270', '37.620652', '-86.447598', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77566, 'Louisville', 2797, '40202', '502', '38.257982', '-85.754094', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77567, 'Audubon Park', 2797, '40213', '502', '38.17912', '-85.711698', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77568, 'Louisville', 2797, '40213', '502', '38.17912', '-85.711698', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77569, 'Lynnview', 2797, '40213', '502', '38.17912', '-85.711698', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77570, 'Poplar Hills', 2797, '40213', '502', '38.17912', '-85.711698', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77571, 'Louisville', 2797, '40229', '502', '38.090425', '-85.652049', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77572, 'Okolona', 2797, '40229', '502', '38.090425', '-85.652049', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77573, 'Louisville', 2797, '40252', '502', '38.2545', '-85.7595', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77574, 'Lyndon', 2797, '40252', '502', '38.2545', '-85.7595', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77575, 'Bank One', 2797, '40295', '502', '38.2545', '-85.7595', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77576, 'Louisville', 2797, '40295', '502', '38.2545', '-85.7595', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77577, 'Clearfield', 2797, '40313', '606', '38.110731', '-83.407094', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77578, 'Frenchburg', 2797, '40322', '606', '37.940778', '-83.62497', '2018-11-29 05:17:40', '2018-11-29 05:17:40'),\n(77579, 'Mariba', 2797, '40322', '606', '37.940778', '-83.62497', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77580, 'Scranton', 2797, '40322', '606', '37.940778', '-83.62497', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77581, 'Midway', 2797, '40347', '859', '38.15687', '-84.718106', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77582, 'Sadieville', 2797, '40370', '502', '38.39017', '-84.527766', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77583, 'Minorsville', 2797, '40379', '502', '38.325044', '-84.684632', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77584, 'Stamping Grd', 2797, '40379', '502', '38.325044', '-84.684632', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77585, 'Stamping Ground', 2797, '40379', '502', '38.325044', '-84.684632', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77586, 'Danville', 2797, '40422', '859', '37.634664', '-84.809398', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77587, 'Climax', 2797, '40456', '606', '37.352004', '-84.309706', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77588, 'Conway', 2797, '40456', '606', '37.352004', '-84.309706', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77589, 'Disputanta', 2797, '40456', '606', '37.352004', '-84.309706', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77590, 'Mount Vernon', 2797, '40456', '606', '37.352004', '-84.309706', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77591, 'Lexington', 2797, '40504', '859', '38.038916', '-84.539426', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77592, 'Lexington', 2797, '40506', '859', '38.0494', '-84.5004', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77593, 'University Of Ky', 2797, '40506', '859', '38.0494', '-84.5004', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77594, 'Lexington', 2797, '40522', '859', '38.0494', '-84.5004', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77595, 'E Bernstadt', 2797, '40729', '606', '37.255428', '-84.157974', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77596, 'East Bernstadt', 2797, '40729', '606', '37.255428', '-84.157974', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77597, 'Symbol', 2797, '40729', '606', '37.255428', '-84.157974', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77598, 'Andover', 2799, '05544', '978', '42.6586', '-71.1377', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77599, 'Internal Revenue Service', 2799, '05544', '978', '42.6586', '-71.1377', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77600, 'Acushnet', 2799, '02743', '508', '41.71384', '-70.899388', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77601, 'New Bedford', 2799, '02743', '508', '41.71384', '-70.899388', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77602, 'Norton', 2799, '02766', '508', '41.955916', '-71.17785', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77603, 'Raynham Center', 2799, '02768', '508', '41.9237', '-71.0526', '2018-11-29 05:17:41', '2018-11-29 05:17:41'),\n(77604, 'Raynham Ctr', 2799, '02768', '508', '41.9237', '-71.0526', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77605, 'Powellville', 2800, '21852', '410', '38.3296', '-75.3778', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77606, 'Girdletree', 2800, '21829', '410', '38.093283', '-75.384842', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77607, 'Bar Mills', 2801, '04004', '207', '43.6133', '-70.5506', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77608, 'Portland', 2801, '04106', '207', '43.626315', '-70.30073', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77609, 'S Portland', 2801, '04106', '207', '43.626315', '-70.30073', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77610, 'So Portland', 2801, '04106', '207', '43.626315', '-70.30073', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77611, 'South Portland', 2801, '04106', '207', '43.626315', '-70.30073', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77612, 'Lambert Lake', 2801, '04454', '207', '45.516502', '-67.481796', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77613, 'Orland', 2801, '04472', '207', '44.57854', '-68.676127', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77614, 'Orrington', 2801, '04474', '207', '44.713764', '-68.780805', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77615, 'Hallowell', 2801, '04347', '207', '44.288494', '-69.816749', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77616, 'Fayette', 2801, '04349', '207', '44.435084', '-70.073138', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77617, 'Kents Hill', 2801, '04349', '207', '44.435084', '-70.073138', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77618, 'Windsor', 2801, '04363', '207', '44.311429', '-69.578494', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77619, 'Brownville Junction', 2801, '04415', '207', '45.3503', '-69.0529', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77620, 'Brownvlle Jct', 2801, '04415', '207', '45.3503', '-69.0529', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77621, 'Charleston', 2801, '04422', '207', '45.071399', '-69.034052', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77622, 'Gorham', 2801, '04038', '207', '43.715428', '-70.462344', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77623, 'Harrison', 2801, '04040', '207', '44.090188', '-70.662777', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77624, 'Sweden', 2801, '04040', '207', '44.090188', '-70.662777', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77625, 'Kezar Falls', 2801, '04047', '207', '43.742046', '-70.913568', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77626, 'Maplewood', 2801, '04047', '207', '43.742046', '-70.913568', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77627, 'Parsonsfield', 2801, '04047', '207', '43.742046', '-70.913568', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77628, 'Moody', 2801, '04054', '207', '43.2726', '-70.5989', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77629, 'Newfield', 2801, '04056', '207', '43.6484', '-70.8489', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77630, 'Scarborough', 2801, '04070', '207', '43.5783', '-70.3222', '2018-11-29 05:17:42', '2018-11-29 05:17:42'),\n(77631, 'W Scarborough', 2801, '04070', '207', '43.5783', '-70.3222', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77632, 'West Scarborough', 2801, '04070', '207', '43.5783', '-70.3222', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77633, 'E Stoneham', 2801, '04231', '207', '44.261218', '-70.880972', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77634, 'Stoneham', 2801, '04231', '207', '44.261218', '-70.880972', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77635, 'Lewiston', 2801, '04240', '207', '44.086388', '-70.157552', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77636, 'Leeds', 2801, '04263', '207', '44.288839', '-70.136547', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77637, 'Poland', 2801, '04274', '207', '44.045581', '-70.38708', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77638, 'Poland Spring', 2801, '04274', '207', '44.045581', '-70.38708', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77639, 'Biddeford Pl', 2801, '04006', '207', '43.445466', '-70.343406', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77640, 'Biddeford Pool', 2801, '04006', '207', '43.445466', '-70.343406', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77641, 'Bustins Is', 2801, '04013', '207', '43.800166', '-70.071878', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77642, 'Bustins Island', 2801, '04013', '207', '43.800166', '-70.071878', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77643, 'S Freeport', 2801, '04013', '207', '43.800166', '-70.071878', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77644, 'South Freeport', 2801, '04013', '207', '43.800166', '-70.071878', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77645, 'Casco', 2801, '04015', '207', '43.968619', '-70.511506', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77646, 'Denmark', 2801, '04022', '207', '43.981238', '-70.790278', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77647, 'Stockholm', 2801, '04783', '207', '47.062978', '-68.253102', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77648, 'Mayfield Twp', 2801, '04942', '207', '45.06789', '-69.62006', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77649, 'Wellington', 2801, '04942', '207', '45.06789', '-69.62006', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77650, 'Liberty', 2801, '04949', '207', '44.368732', '-69.331741', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77651, 'New Vineyard', 2801, '04956', '207', '44.799528', '-70.106365', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77652, 'Searsport', 2801, '04974', '207', '44.496608', '-68.931638', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77653, 'Prospect', 2801, '04981', '207', '44.525714', '-68.868892', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77654, 'Stockton Spgs', 2801, '04981', '207', '44.525714', '-68.868892', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77655, 'Stockton Springs', 2801, '04981', '207', '44.525714', '-68.868892', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77656, 'Freeman Twp', 2801, '04983', '207', '44.835118', '-70.230954', '2018-11-29 05:17:43', '2018-11-29 05:17:43'),\n(77657, 'Salem Twp', 2801, '04983', '207', '44.835118', '-70.230954', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77658, 'Strong', 2801, '04983', '207', '44.835118', '-70.230954', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77659, 'W Farmington', 2801, '04992', '207', '44.6626', '-70.1559', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77660, 'West Farmington', 2801, '04992', '207', '44.6626', '-70.1559', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77661, 'Westmanland', 2801, '04783', '207', '47.062978', '-68.253102', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77662, 'Burnham', 2801, '04922', '207', '44.694926', '-69.392968', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77663, 'Farmingtn Fls', 2801, '04940', '207', '44.6205', '-70.0758', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77664, 'Farmington Falls', 2801, '04940', '207', '44.6205', '-70.0758', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77665, 'Harmony', 2801, '04942', '207', '45.06789', '-69.62006', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77666, 'Kingsbury Plt', 2801, '04942', '207', '45.06789', '-69.62006', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77667, 'Birch Harbor', 2801, '04613', '207', '44.381184', '-68.03287', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77668, 'Mars Hill', 2801, '04758', '207', '46.51626', '-67.941745', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77669, 'Sangerville', 2801, '04479', '207', '45.126363', '-69.31174', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77670, 'Brownville', 2801, '04481', '207', '45.239207', '-69.105225', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77671, 'Sebec', 2801, '04481', '207', '45.239207', '-69.105225', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77672, 'Corea', 2801, '04624', '207', '44.420141', '-67.987409', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77673, 'Hancock', 2801, '04640', '207', '44.500798', '-68.241182', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77674, 'Danforth', 2801, '04424', '207', '45.529725', '-67.861765', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77675, 'Weston', 2801, '04424', '207', '45.529725', '-67.861765', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77676, 'Frankfort', 2801, '04438', '207', '44.599622', '-68.92092', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77677, 'Boothbay', 2801, '04549', '207', '43.86121', '-69.681458', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77678, 'Is Of Springs', 2801, '04549', '207', '43.86121', '-69.681458', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77679, 'Isle Of Springs', 2801, '04549', '207', '43.86121', '-69.681458', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77680, 'West Minot', 2801, '04288', '207', '44.1714', '-70.3642', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77681, 'Augusta', 2801, '04338', '207', '44.3108', '-69.7803', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77682, 'Walloon Lake', 2802, '49796', '231', '45.26602', '-84.938033', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77683, 'Allouez', 2802, '49805', '906', '47.348713', '-88.364858', '2018-11-29 05:17:44', '2018-11-29 05:17:44'),\n(77684, 'Champion', 2802, '49814', '906', '46.506294', '-87.92633', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77685, 'Grand Marais', 2802, '49839', '906', '46.597568', '-86.114762', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77686, 'Nahma', 2802, '49864', '906', '45.842506', '-86.654924', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77687, 'Hancock', 2802, '49930', '906', '47.187418', '-88.545036', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77688, 'Ripley', 2802, '49930', '906', '47.187418', '-88.545036', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77689, 'Decker', 2802, '48426', '989', '43.513804', '-83.060524', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77690, 'Dryden', 2802, '48428', '810', '42.938388', '-83.159141', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77691, 'Flushing', 2802, '48433', '810', '43.080958', '-83.860679', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77692, 'Fostoria', 2802, '48435', '989', '43.234248', '-83.337093', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77693, 'Linden', 2802, '48451', '810', '42.794146', '-83.829417', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77694, 'New Lothrop', 2802, '48460', '810', '43.109841', '-83.989657', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77695, 'Flint', 2802, '48553', '810', '43.0125', '-83.6878', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77696, 'Gm Truck And Bus', 2802, '48553', '810', '43.0125', '-83.6878', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77697, 'Saginaw', 2802, '48601', '989', '43.414012', '-83.92621', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77698, 'Saginaw', 2802, '48603', '989', '43.464547', '-84.025898', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77699, 'Clare', 2802, '48617', '989', '43.858078', '-84.727826', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77700, 'Hope', 2802, '48628', '989', '43.791321', '-84.327036', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77701, 'Merrill', 2802, '48637', '989', '43.413826', '-84.33914', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77702, 'Midland', 2802, '48642', '989', '43.705115', '-84.237854', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77703, 'Roscommon', 2802, '48653', '989', '44.480372', '-84.612958', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77704, 'Bay City', 2802, '48710', '989', '43.559428', '-83.984058', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77705, 'Univ Ctr', 2802, '48710', '989', '43.559428', '-83.984058', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77706, 'University Center', 2802, '48710', '989', '43.559428', '-83.984058', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77707, 'University Ctr', 2802, '48710', '989', '43.559428', '-83.984058', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77708, 'Black River', 2802, '48721', '989', '44.807888', '-83.349064', '2018-11-29 05:17:45', '2018-11-29 05:17:45'),\n(77709, 'Curran', 2802, '48728', '989', '44.753512', '-83.74839', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77710, 'Millington', 2802, '48746', '989', '43.279341', '-83.554006', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77711, 'Spruce', 2802, '48762', '989', '44.795682', '-83.482074', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77712, 'Cedar Lake', 2802, '48812', '989', '43.4062', '-84.9751', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77713, 'Dansville', 2802, '48819', '517', '42.548845', '-84.274721', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77714, 'East Lansing', 2802, '48826', '517', '42.7369', '-84.4838', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77715, 'Fowler', 2802, '48835', '989', '43.00948', '-84.764512', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77716, 'Howell', 2802, '48844', '517', '42.6073', '-83.9295', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77717, 'Lyons', 2802, '48851', '989', '42.950339', '-84.945986', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77718, 'Muir', 2802, '48860', '989', '43.049577', '-84.896965', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77719, 'North Star', 2802, '48862', '989', '43.2595', '-84.5353', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77720, 'Rosebush', 2802, '48878', '989', '43.709361', '-84.768165', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77721, 'Belding', 2802, '48887', '616', '43.0976', '-85.2289', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77722, 'Smyrna', 2802, '48887', '616', '43.0976', '-85.2289', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77723, 'Westphalia', 2802, '48894', '989', '42.921906', '-84.78863', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77724, 'Lansing', 2802, '48901', '517', '42.7327', '-84.5558', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77725, 'Lansing', 2802, '48910', '517', '42.704602', '-84.522934', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77726, 'Augusta', 2802, '49012', '269', '42.354613', '-85.345252', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77727, 'Kalamazoo', 2802, '49019', '269', '42.2918', '-85.5874', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77728, 'Bronson', 2802, '49028', '517', '41.872373', '-85.157014', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77729, 'Gobles', 2802, '49055', '269', '42.36507', '-85.856034', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77730, 'Saint Joe', 2802, '49085', '269', '42.062101', '-86.450449', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77731, 'Saint Joseph', 2802, '49085', '269', '42.062101', '-86.450449', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77732, 'Shoreham', 2802, '49085', '269', '42.062101', '-86.450449', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77733, 'St Joe', 2802, '49085', '269', '42.062101', '-86.450449', '2018-11-29 05:17:46', '2018-11-29 05:17:46'),\n(77734, 'St Joseph', 2802, '49085', '269', '42.062101', '-86.450449', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77735, 'Schoolcraft', 2802, '49087', '269', '42.127938', '-85.680915', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77736, 'Lakeside', 2802, '49128', '269', '41.81761', '-86.612697', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77737, 'Three Oaks', 2802, '49128', '269', '41.81761', '-86.612697', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77738, 'Jackson', 2802, '49203', '517', '42.212657', '-84.395585', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77739, 'Clayton', 2802, '49235', '517', '41.859118', '-84.21233', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77740, 'Clayton Twp', 2802, '49235', '517', '41.859118', '-84.21233', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77741, 'Manitou Beach', 2802, '49253', '517', '41.975644', '-84.27058', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77742, 'North Adams', 2802, '49262', '517', '41.949404', '-84.460844', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77743, 'Pittsford', 2802, '49271', '517', '41.85495', '-84.45733', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77744, 'Prattville', 2802, '49271', '517', '41.85495', '-84.45733', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77745, 'Tipton', 2802, '49287', '517', '42.03404', '-84.082446', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77746, 'Cedar Springs', 2802, '49319', '616', '43.230606', '-85.512678', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77747, 'Comstock Park', 2802, '49321', '616', '43.080813', '-85.67973', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77748, 'Hopkins', 2802, '49328', '616', '42.616389', '-85.780528', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77749, 'Kent City', 2802, '49330', '616', '43.23932', '-85.739538', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77750, 'Shelbyville', 2802, '49344', '269', '42.592603', '-85.587965', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77751, 'Canadian Lake', 2802, '49346', '231', '43.592747', '-85.403472', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77752, 'Canadian Lakes', 2802, '49346', '231', '43.592747', '-85.403472', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77753, 'Stanwood', 2802, '49346', '231', '43.592747', '-85.403472', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77754, 'Custer', 2802, '49405', '231', '43.917818', '-86.186406', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77755, 'Hesperia', 2802, '49421', '231', '43.612171', '-86.061716', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77756, 'Lamont', 2802, '49430', '616', '43.0087', '-85.9061', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77757, 'Nunica', 2802, '49448', '616', '43.101397', '-86.076577', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77758, 'Borculo', 2802, '49464', '616', '42.862654', '-85.962002', '2018-11-29 05:17:47', '2018-11-29 05:17:47'),\n(77759, 'Zeeland', 2802, '49464', '616', '42.862654', '-85.962002', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77760, 'Gr', 2802, '49503', '616', '42.952658', '-85.649898', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77761, 'Grand Rapids', 2802, '49503', '616', '42.952658', '-85.649898', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77762, 'Wyoming', 2802, '49503', '616', '42.952658', '-85.649898', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77763, 'Cascade', 2802, '49512', '616', '42.883253', '-85.533676', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77764, 'Cascade Twp', 2802, '49512', '616', '42.883253', '-85.533676', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77765, 'Gr', 2802, '49512', '616', '42.883253', '-85.533676', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77766, 'Grand Rapids', 2802, '49512', '616', '42.883253', '-85.533676', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77767, 'Kentwood', 2802, '49512', '616', '42.883253', '-85.533676', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77768, 'Gr', 2802, '49514', '616', '42.9634', '-85.6681', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77769, 'Grand Rapids', 2802, '49514', '616', '42.9634', '-85.6681', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77770, 'Gr', 2802, '49528', '616', '42.9', '-85.67', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77771, 'Grand Rapids', 2802, '49528', '616', '42.9', '-85.67', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77772, 'Kentwood', 2802, '49528', '616', '42.9', '-85.67', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77773, 'Kentwood Brch', 2802, '49528', '616', '42.9', '-85.67', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77774, 'Alden', 2802, '49612', '231', '44.869494', '-85.219231', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77775, 'Chase', 2802, '49623', '231', '43.901794', '-85.662513', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77776, 'Elberta', 2802, '49628', '231', '44.618426', '-86.226824', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77777, 'Le Roy', 2802, '49655', '231', '44.01746', '-85.444893', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77778, 'Leroy', 2802, '49655', '231', '44.01746', '-85.444893', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77779, 'Maple City', 2802, '49664', '231', '44.871757', '-85.893577', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77780, 'Old Mission', 2802, '49673', '231', '44.9622', '-85.4853', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77781, 'Eckerman', 2802, '49728', '906', '46.343933', '-85.097469', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77782, 'Strongs', 2802, '49728', '906', '46.343933', '-85.097469', '2018-11-29 05:17:48', '2018-11-29 05:17:48'),\n(77783, 'Hulbert', 2802, '49748', '906', '46.363939', '-85.135088', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77784, 'Fibre', 2802, '49780', '906', '46.258326', '-84.692491', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77785, 'Rudyard', 2802, '49780', '906', '46.258326', '-84.692491', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77786, 'Beaver Island', 2802, '49782', '231', '45.696588', '-85.520206', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77787, 'Saint James', 2802, '49782', '231', '45.696588', '-85.520206', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77788, 'Beaver Creek', 2803, '56116', '507', '43.6311', '-96.372808', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77789, 'Garvin', 2803, '56132', '507', '44.196203', '-95.765258', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77790, 'Holland', 2803, '56139', '507', '44.06649', '-96.185967', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77791, 'Kanaranzi', 2803, '56146', '507', '43.543738', '-96.113152', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77792, 'Lismore', 2803, '56155', '507', '43.761242', '-95.933396', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77793, 'Raymond', 2803, '56282', '320', '45.04369', '-95.22726', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77794, 'Wheaton', 2803, '56296', '320', '45.803854', '-96.454966', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77795, 'Goodview', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77796, 'Lamoille', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77797, 'Pickwick', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77798, 'Stockton', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77799, 'Wilson', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77800, 'Winona', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77801, 'Wiscoy', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77802, 'Witoka', 2803, '55987', '507', '43.988102', '-91.602872', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77803, 'Albert Lea', 2803, '56007', '507', '43.680699', '-93.28888', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77804, 'Manchester', 2803, '56007', '507', '43.680699', '-93.28888', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77805, 'Oakland', 2803, '56007', '507', '43.680699', '-93.28888', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77806, 'Bricelyn', 2803, '56014', '507', '43.593982', '-93.819047', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77807, 'Artesia', 2805, '39736', '662', '33.415107', '-88.64979', '2018-11-29 05:17:49', '2018-11-29 05:17:49'),\n(77808, 'Ashland', 2806, '59004', '406', '45.5947', '-106.2703', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77809, 'Saint Labre Mission', 2806, '59004', '406', '45.5947', '-106.2703', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77810, 'Fromberg', 2806, '59029', '406', '45.391141', '-108.944825', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77811, 'Garryowen', 2806, '59031', '406', '45.478858', '-107.278033', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77812, 'Hysham', 2806, '59038', '406', '46.318582', '-107.383464', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77813, 'Sanders', 2806, '59038', '406', '46.318582', '-107.383464', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77814, 'Livingston', 2806, '59047', '406', '45.52082', '-110.56623', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77815, 'Klein', 2806, '59072', '406', '46.499144', '-108.584104', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77816, 'Roundup', 2806, '59072', '406', '46.499144', '-108.584104', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77817, 'Cooke City', 2806, '59081', '406', '45.010782', '-109.964648', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77818, 'Silver Gate', 2806, '59081', '406', '45.010782', '-109.964648', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77819, 'Worden', 2806, '59088', '406', '46.157087', '-107.992074', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77820, 'Glentana', 2806, '59240', '406', '48.8484', '-106.2487', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77821, 'Medicine Lake', 2806, '59247', '406', '48.477169', '-104.3782', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77822, 'Raymond', 2806, '59256', '406', '48.955044', '-104.650904', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77823, 'Reserve', 2806, '59258', '406', '48.555234', '-104.624389', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77824, 'Four Buttes', 2806, '59263', '406', '48.733286', '-105.428997', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77825, 'Scobey', 2806, '59263', '406', '48.733286', '-105.428997', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77826, 'Vida', 2806, '59274', '406', '47.836313', '-105.421654', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77827, 'Hathaway', 2806, '59333', '406', '46.25147', '-106.210732', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77828, 'Great Falls', 2806, '59406', '406', '47.5001', '-111.3003', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77829, 'Dutton', 2806, '59433', '406', '47.871366', '-111.695721', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77830, 'Floweree', 2806, '59440', '406', '47.702884', '-111.153005', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77831, 'Ledger', 2806, '59456', '406', '48.285262', '-111.75271', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77832, 'Monarch', 2806, '59463', '406', '47.052985', '-110.916902', '2018-11-29 05:17:50', '2018-11-29 05:17:50'),\n(77833, 'Sand Coulee', 2806, '59472', '406', '47.406528', '-111.15548', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77834, 'Tracy', 2806, '59472', '406', '47.406528', '-111.15548', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77835, 'Shelby', 2806, '59474', '406', '48.46281', '-111.732046', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77836, 'Chester', 2806, '59522', '406', '48.436204', '-111.08241', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77837, 'Dodson', 2806, '59524', '406', '48.165779', '-108.391151', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77838, 'Joplin', 2806, '59531', '406', '48.613568', '-110.863839', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77839, 'Helena', 2806, '59624', '406', '46.5925', '-112.0355', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77840, 'Canyon Creek', 2806, '59633', '406', '46.868196', '-112.285868', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77841, 'Gold Creek', 2806, '59733', '406', '46.566986', '-112.942575', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77842, 'Warm Springs', 2806, '59756', '406', '46.200762', '-112.666498', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77843, 'East Missoula', 2806, '59801', '406', '46.857761', '-114.01502', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77844, 'Missoula', 2806, '59801', '406', '46.857761', '-114.01502', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77845, 'Msla', 2806, '59801', '406', '46.857761', '-114.01502', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77846, 'Charlo', 2806, '59824', '406', '47.428002', '-114.183315', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77847, 'Moiese', 2806, '59824', '406', '47.428002', '-114.183315', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77848, 'Paradise', 2806, '59856', '406', '47.3895', '-114.8014', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77849, 'Saltese', 2806, '59867', '406', '47.423225', '-115.477016', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77850, 'Trout Creek', 2806, '59874', '406', '47.835614', '-115.60107', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77851, 'Creston', 2806, '59901', '406', '48.05244', '-113.863717', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77852, 'Evergreen', 2806, '59901', '406', '48.05244', '-113.863717', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77853, 'Kalispell', 2806, '59901', '406', '48.05244', '-113.863717', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77854, 'Elmo', 2806, '59915', '406', '47.832363', '-114.375505', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77855, 'Martin City', 2806, '59926', '406', '48.345936', '-113.932875', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77856, 'Stryker', 2806, '59933', '406', '48.703384', '-114.708264', '2018-11-29 05:17:51', '2018-11-29 05:17:51'),\n(77857, 'Greensboro', 2807, '27411', '336', '36.078398', '-79.770908', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77858, 'Greensboro', 2807, '27495', '336', '36.0444', '-79.8596', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77859, 'Greensboro Ndc', 2807, '27495', '336', '36.0444', '-79.8596', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77860, 'Benson', 2807, '27504', '919', '35.417557', '-78.498316', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77861, 'Biscoe', 2807, '27209', '910', '35.338011', '-79.755106', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77862, 'Waughtown', 2807, '27127', '336', '36.022309', '-80.290864', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77863, 'Winston Salem', 2807, '27127', '336', '36.022309', '-80.290864', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77864, 'Winston-Salem', 2807, '27127', '336', '36.022309', '-80.290864', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77865, 'Wachovia Bank', 2807, '27150', '336', '36.1002', '-80.2088', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77866, 'Winston Salem', 2807, '27150', '336', '36.1002', '-80.2088', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77867, 'Winston-Salem', 2807, '27150', '336', '36.1002', '-80.2088', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77868, 'Integon Corp', 2807, '27152', '336', '36.1005', '-80.2083', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77869, 'Winston Salem', 2807, '27152', '336', '36.1005', '-80.2083', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77870, 'Winston-Salem', 2807, '27152', '336', '36.1005', '-80.2083', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77871, 'Asheville', 2807, '28804', '828', '35.64815', '-82.554257', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77872, 'Woodfin', 2807, '28804', '828', '35.64815', '-82.554257', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77873, 'Asheville', 2807, '28815', '828', '35.6006', '-82.5545', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77874, 'Oteen Sta', 2807, '28815', '828', '35.6006', '-82.5545', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77875, 'Lake Toxaway', 2807, '28747', '828', '35.132249', '-82.927304', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77876, 'Mars Hill', 2807, '28754', '828', '35.883083', '-82.506865', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77877, 'Liledown', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77878, 'Little River', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77879, 'Paynes Store', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77880, 'Taylorsville', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77881, 'Turnersburg', 2807, '28688', '704', '35.9066', '-80.8106', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77882, 'Otto', 2807, '28763', '828', '35.046113', '-83.404638', '2018-11-29 05:17:52', '2018-11-29 05:17:52'),\n(77883, 'Rosman', 2807, '28772', '828', '35.130764', '-82.84309', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77884, 'Sylva', 2807, '28779', '828', '35.346815', '-83.183992', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77885, 'Aquone', 2807, '28781', '828', '35.217222', '-83.657052', '2018-11-29 05:17:53', '2018-11-29 05:17:53');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(77886, 'Topton', 2807, '28781', '828', '35.217222', '-83.657052', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77887, 'Zirconia', 2807, '28790', '828', '35.196633', '-82.479565', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77888, 'Piney Creek', 2807, '28663', '336', '36.535532', '-81.295192', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77889, 'Maple Springs', 2807, '28665', '336', '36.216754', '-81.362062', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77890, 'Parsonville', 2807, '28665', '336', '36.216754', '-81.362062', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77891, 'Purlear', 2807, '28665', '336', '36.216754', '-81.362062', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77892, 'Walsh', 2807, '28665', '336', '36.216754', '-81.362062', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77893, 'Peden', 2807, '28672', '336', '36.469494', '-81.330979', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77894, 'Scottville', 2807, '28672', '336', '36.469494', '-81.330979', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77895, 'Topia', 2807, '28672', '336', '36.469494', '-81.330979', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77896, 'Dana', 2807, '28724', '828', '35.3293', '-82.3757', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77897, 'Flat Rock', 2807, '28731', '828', '35.287628', '-82.388665', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77898, 'Grassy Creek', 2807, '28631', '336', '36.545148', '-81.421522', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77899, 'Helton', 2807, '28631', '336', '36.545148', '-81.421522', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77900, 'Sussex', 2807, '28631', '336', '36.545148', '-81.421522', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77901, 'Jefferson', 2807, '28640', '336', '36.402418', '-81.408604', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77902, 'Orion', 2807, '28640', '336', '36.402418', '-81.408604', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77903, 'Rhine', 2807, '28640', '336', '36.402418', '-81.408604', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77904, 'Theta', 2807, '28640', '336', '36.402418', '-81.408604', '2018-11-29 05:17:53', '2018-11-29 05:17:53'),\n(77905, 'Wagoner', 2807, '28640', '336', '36.402418', '-81.408604', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77906, 'Linville Falls', 2807, '28647', '828', '35.9592', '-81.9431', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77907, 'Linville Fls', 2807, '28647', '828', '35.9592', '-81.9431', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77908, 'Amantha', 2807, '28679', '828', '36.25333', '-81.84733', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77909, 'Beech Creek', 2807, '28679', '828', '36.25333', '-81.84733', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77910, 'Peoria', 2807, '28679', '828', '36.25333', '-81.84733', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77911, 'Sugar Grove', 2807, '28679', '828', '36.25333', '-81.84733', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77912, 'Sweetwater', 2807, '28679', '828', '36.25333', '-81.84733', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77913, 'All Healing Springs', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77914, 'Ellendale', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77915, 'Kilby', 2807, '28681', '828', '35.916468', '-81.200142', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77916, 'Sealevel', 2807, '28581', '252', '34.858408', '-76.412238', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77917, 'Stacy', 2807, '28581', '252', '34.858408', '-76.412238', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77918, 'Ashland', 2807, '28615', '336', '36.4712', '-81.644809', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77919, 'Creston', 2807, '28615', '336', '36.4712', '-81.644809', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77920, 'Fig', 2807, '28615', '336', '36.4712', '-81.644809', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77921, 'Grayson', 2807, '28615', '336', '36.4712', '-81.644809', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77922, 'Parker', 2807, '28615', '336', '36.4712', '-81.644809', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77923, 'Winnabow', 2807, '28479', '910', '34.114758', '-78.087957', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77924, 'Kinston', 2807, '28504', '252', '35.22683', '-77.651097', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77925, 'Bayboro', 2807, '28515', '252', '35.189112', '-76.712784', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77926, 'Mesic', 2807, '28515', '252', '35.189112', '-76.712784', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77927, 'Cedar Island', 2807, '28520', '252', '34.972322', '-76.335207', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77928, 'Comfort', 2807, '28522', '252', '35.0092', '-77.5003', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77929, 'Harkers Is', 2807, '28531', '252', '34.665381', '-76.542773', '2018-11-29 05:17:54', '2018-11-29 05:17:54'),\n(77930, 'Harkers Island', 2807, '28531', '252', '34.665381', '-76.542773', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77931, 'Jacksonville', 2807, '28545', '910', '34.7158', '-77.4504', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77932, 'Mc Cutcheon Field', 2807, '28545', '910', '34.7158', '-77.4504', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77933, 'Mccutcheon Field', 2807, '28545', '910', '34.7158', '-77.4504', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77934, 'Mccutchn Fld', 2807, '28545', '910', '34.7158', '-77.4504', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77935, 'Camp Lejeune', 2807, '28547', '910', '34.691189', '-77.343973', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77936, 'Naval Hos', 2807, '28547', '910', '34.691189', '-77.343973', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77937, 'Naval Hospital', 2807, '28547', '910', '34.691189', '-77.343973', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77938, 'Boardman', 2807, '28438', '910', '34.411545', '-78.894936', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77939, 'Evergreen', 2807, '28438', '910', '34.411545', '-78.894936', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77940, 'Acme', 2807, '28456', '910', '34.390078', '-78.285903', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77941, 'East Arcadia', 2807, '28456', '910', '34.390078', '-78.285903', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77942, 'Northwest', 2807, '28456', '910', '34.390078', '-78.285903', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77943, 'Riegelwood', 2807, '28456', '910', '34.390078', '-78.285903', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77944, 'Sandyfield', 2807, '28456', '910', '34.390078', '-78.285903', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77945, 'Pink Hill', 2807, '28572', '252', '35.024833', '-77.730516', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77946, 'Hamlet', 2807, '28345', '910', '34.889132', '-79.68062', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77947, 'Marston', 2807, '28363', '910', '34.980128', '-79.620281', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77948, 'Rockingham', 2807, '28379', '910', '34.929835', '-79.784392', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77949, 'Southern Pines', 2807, '28388', '910', '35.1736', '-79.3925', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77950, 'Southern Pnes', 2807, '28388', '910', '35.1736', '-79.3925', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77951, 'Charlotte', 2807, '28263', '704', '35.21', '-80.69', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77952, 'First Citizens Bank', 2807, '28263', '704', '35.21', '-80.69', '2018-11-29 05:17:55', '2018-11-29 05:17:55'),\n(77953, 'Charlotte', 2807, '28281', '704', '35.2229', '-80.8452', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77954, 'Charlotte', 2807, '28290', '704', '35.2267', '-80.8434', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77955, 'Jp Morgan Chase', 2807, '28290', '704', '35.2267', '-80.8434', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77956, 'Fayetteville', 2807, '28306', '910', '34.931311', '-78.920537', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77957, 'Fayetteville Municipal Airpo', 2807, '28306', '910', '34.931311', '-78.920537', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77958, 'Lakedale', 2807, '28306', '910', '34.931311', '-78.920537', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77959, 'Bladenboro', 2807, '28320', '910', '34.562365', '-78.752126', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77960, 'Butters', 2807, '28320', '910', '34.562365', '-78.752126', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77961, 'Cumberland', 2807, '28331', '910', '35.0024', '-78.9738', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77962, 'Ranlo', 2807, '28054', '704', '35.261904', '-81.149754', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77963, 'Spencer Mountain', 2807, '28054', '704', '35.261904', '-81.149754', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77964, 'Huntersville', 2807, '28070', '704', '35.4108', '-80.8434', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77965, 'Hemby', 2807, '28079', '704', '35.111471', '-80.609882', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77966, 'Hemby Bridge', 2807, '28079', '704', '35.111471', '-80.609882', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77967, 'Stanfield', 2807, '28163', '704', '35.21275', '-80.43256', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77968, 'Wadesboro', 2807, '28170', '704', '35.054174', '-80.083576', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77969, 'Charlotte', 2807, '28204', '704', '35.213364', '-80.8262', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77970, 'Charlotte', 2807, '28213', '704', '35.28457', '-80.733757', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77971, 'Charlotte', 2807, '28236', '704', '35.2267', '-80.8434', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77972, 'Charlotte', 2807, '28254', '704', '35.2196', '-80.8405', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77973, 'Roper', 2807, '27970', '252', '35.844008', '-76.546798', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77974, 'Indian Trail', 2807, '28079', '704', '35.111471', '-80.609882', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77975, 'Indian Trl', 2807, '28079', '704', '35.111471', '-80.609882', '2018-11-29 05:17:56', '2018-11-29 05:17:56'),\n(77976, 'Lake Park', 2807, '28079', '704', '35.111471', '-80.609882', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77977, 'Centerview', 2807, '28081', '704', '35.499715', '-80.676534', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77978, 'Fisher Town', 2807, '28081', '704', '35.499715', '-80.676534', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77979, 'Glass', 2807, '28081', '704', '35.499715', '-80.676534', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77980, 'Kannapolis', 2807, '28081', '704', '35.499715', '-80.676534', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77981, 'Royal Oaks', 2807, '28081', '704', '35.499715', '-80.676534', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77982, 'Shady Brook', 2807, '28081', '704', '35.499715', '-80.676534', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77983, 'Kings Mountain', 2807, '28086', '704', '35.25654', '-81.369912', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77984, 'Kings Mtn', 2807, '28086', '704', '35.25654', '-81.369912', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77985, 'Locust', 2807, '28097', '704', '35.294434', '-80.402291', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77986, 'Western Hills', 2807, '28097', '704', '35.294434', '-80.402291', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77987, 'Matthews', 2807, '28104', '704', '35.074212', '-80.686885', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77988, 'Stallings', 2807, '28104', '704', '35.074212', '-80.686885', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77989, 'Weddington', 2807, '28104', '704', '35.074212', '-80.686885', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77990, 'Wesley Chapel', 2807, '28104', '704', '35.074212', '-80.686885', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77991, 'Matthews', 2807, '28106', '704', '35.1169', '-80.7237', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77992, 'Simpson', 2807, '27879', '252', '35.5749', '-77.2806', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77993, 'Concord', 2807, '28027', '704', '35.419708', '-80.675816', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77994, 'Earl', 2807, '28038', '704', '35.19993', '-81.543914', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77995, 'Gastonia', 2807, '28054', '704', '35.261904', '-81.149754', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77996, 'Ragan Village', 2807, '28054', '704', '35.261904', '-81.149754', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77997, 'Rocky Mount', 2807, '27802', '252', '35.9396', '-77.8008', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77998, 'Bellarthur', 2807, '27811', '252', '35.5857', '-77.5171', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(77999, 'Conway', 2807, '27820', '252', '36.416396', '-77.256976', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(78000, 'Milwaukee', 2807, '27820', '252', '36.416396', '-77.256976', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(78001, 'Elm City', 2807, '27822', '252', '35.810364', '-77.864902', '2018-11-29 05:17:57', '2018-11-29 05:17:57'),\n(78002, 'Cofield', 2807, '27922', '252', '36.312994', '-76.850488', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78003, 'Frisco', 2807, '27936', '252', '35.241483', '-75.617633', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78004, 'Gatesville', 2807, '27938', '252', '36.37796', '-76.712822', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78005, 'Jarvisburg', 2807, '27947', '252', '36.190701', '-75.86037', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78006, 'Raleigh', 2807, '27611', '919', '35.7746', '-78.6403', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78007, 'Raleigh', 2807, '27620', '919', '35.7719', '-78.6388', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78008, 'Falkland', 2807, '27827', '252', '35.701452', '-77.503171', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78009, 'Greenville', 2807, '27836', '252', '35.6112', '-77.3731', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78010, 'Hobgood', 2807, '27843', '252', '36.012356', '-77.443016', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78011, 'Kelford', 2807, '27847', '252', '36.186671', '-77.181039', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78012, 'Cary', 2807, '27518', '919', '35.73379', '-78.77135', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78013, 'Archers Lodge', 2807, '27520', '919', '35.614603', '-78.457851', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78014, 'Clayton', 2807, '27520', '919', '35.614603', '-78.457851', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78015, 'Whitley Heights', 2807, '27520', '919', '35.614603', '-78.457851', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78016, 'Garner', 2807, '27529', '919', '35.646575', '-78.5757', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78017, 'Knightdale', 2807, '27545', '919', '35.791996', '-78.475758', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78018, 'Durham', 2807, '27711', '919', '35.9939', '-78.8986', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78019, 'Environ  Protect Agency', 2807, '27711', '919', '35.9939', '-78.8986', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78020, 'Research Triangle Park', 2807, '27711', '919', '35.9939', '-78.8986', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78021, 'Research Triangle Pk', 2807, '27711', '919', '35.9939', '-78.8986', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78022, 'Rtp', 2807, '27711', '919', '35.9939', '-78.8986', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78023, 'Thomasville', 2807, '27361', '336', '35.8825', '-80.0824', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78024, 'Greensboro', 2807, '27402', '336', '36.0726', '-79.7925', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78025, 'Mamers', 2807, '27552', '910', '35.4167', '-78.9339', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78026, 'Norlina', 2807, '27563', '252', '36.48813', '-78.190525', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78027, 'Ridgeway', 2807, '27570', '252', '36.457338', '-78.238143', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78028, 'Lexington', 2807, '27295', '336', '35.874112', '-80.330925', '2018-11-29 05:17:58', '2018-11-29 05:17:58'),\n(78029, 'Mebane', 2807, '27302', '919', '36.136502', '-79.267004', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78030, 'A&t State University', 2807, '27411', '336', '36.078398', '-79.770908', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78031, 'Amenia', 2808, '58004', '701', '47.021074', '-97.250217', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78032, 'Blanchard', 2808, '58009', '701', '47.367492', '-97.28233', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78033, 'Colfax', 2808, '58018', '701', '46.420123', '-96.865786', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78034, 'Erie', 2808, '58029', '701', '47.11552', '-97.387724', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78035, 'Gardner', 2808, '58036', '701', '47.157135', '-96.955152', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78036, 'Harwood', 2808, '58036', '701', '47.157135', '-96.955152', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78037, 'Leonard', 2808, '58052', '701', '46.60805', '-97.282432', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78038, 'Elliott', 2808, '58054', '701', '46.420232', '-97.636736', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78039, 'Lisbon', 2808, '58054', '701', '46.420232', '-97.636736', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78040, 'Mooreton', 2808, '58061', '701', '46.261546', '-96.873849', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78041, 'Briarwood', 2808, '58104', '701', '46.796663', '-96.882706', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78042, 'Fargo', 2808, '58104', '701', '46.796663', '-96.882706', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78043, 'Frontier', 2808, '58104', '701', '46.796663', '-96.882706', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78044, 'Prairie Rose', 2808, '58104', '701', '46.796663', '-96.882706', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78045, 'Grand Forks', 2808, '58202', '701', '47.922112', '-97.073779', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78046, 'Akra', 2808, '58220', '701', '48.796556', '-97.753182', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78047, 'Backoo', 2808, '58220', '701', '48.796556', '-97.753182', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78048, 'Cavalier', 2808, '58220', '701', '48.796556', '-97.753182', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78049, 'Cavalier Afs', 2808, '58220', '701', '48.796556', '-97.753182', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78050, 'Concrete', 2808, '58220', '701', '48.796556', '-97.753182', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78051, 'Fairdale', 2808, '58229', '701', '48.463315', '-98.204206', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78052, 'Glasston', 2808, '58236', '701', '48.717493', '-97.449296', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78053, 'Kloten', 2808, '58254', '701', '47.802641', '-98.140959', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78054, 'Mcville', 2808, '58254', '701', '47.802641', '-98.140959', '2018-11-29 05:17:59', '2018-11-29 05:17:59'),\n(78055, 'Alsen', 2808, '58311', '701', '48.630782', '-98.611868', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78056, 'Loma', 2808, '58311', '701', '48.630782', '-98.611868', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78057, 'Moscow', 2808, '58311', '701', '48.630782', '-98.611868', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78058, 'Balta', 2808, '58313', '701', '48.160504', '-100.042268', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78059, 'Crary', 2808, '58327', '701', '48.095015', '-98.57969', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78060, 'Doyon', 2808, '58327', '701', '48.095015', '-98.57969', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78061, 'Southam', 2808, '58327', '701', '48.095015', '-98.57969', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78062, 'Dunseith', 2808, '58329', '701', '48.857602', '-100.07072', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78063, 'San Haven', 2808, '58329', '701', '48.857602', '-100.07072', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78064, 'Calio', 2808, '58352', '701', '48.674362', '-98.888026', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78065, 'Clyde', 2808, '58352', '701', '48.674362', '-98.888026', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78066, 'Munich', 2808, '58352', '701', '48.674362', '-98.888026', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78067, 'Baker', 2808, '58386', '701', '48.341076', '-99.60578', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78068, 'York', 2808, '58386', '701', '48.341076', '-99.60578', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78069, 'Alfred', 2808, '58454', '701', '46.594302', '-98.877082', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78070, 'Jud', 2808, '58454', '701', '46.594302', '-98.877082', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78071, 'Nortonville', 2808, '58454', '701', '46.594302', '-98.877082', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78072, 'Kulm', 2808, '58456', '701', '46.321594', '-98.936989', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78073, 'Mc Clusky', 2808, '58463', '701', '47.505192', '-100.480702', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78074, 'Mcclusky', 2808, '58463', '701', '47.505192', '-100.480702', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78075, 'Pickardville', 2808, '58463', '701', '47.505192', '-100.480702', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78076, 'Adrian', 2808, '58472', '701', '46.638189', '-98.660522', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78077, 'Millarton', 2808, '58472', '701', '46.638189', '-98.660522', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78078, 'Montpelier', 2808, '58472', '701', '46.638189', '-98.660522', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78079, 'Eckelson', 2808, '58481', '701', '46.921332', '-98.453548', '2018-11-29 05:18:00', '2018-11-29 05:18:00'),\n(78080, 'Spiritwood', 2808, '58481', '701', '46.921332', '-98.453548', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78081, 'Urbana', 2808, '58481', '701', '46.921332', '-98.453548', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78082, 'Burnstad', 2808, '58495', '701', '46.285775', '-99.638321', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78083, 'Wishek', 2808, '58495', '701', '46.285775', '-99.638321', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78084, 'Bismarck', 2808, '58502', '701', '46.8085', '-100.7836', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78085, 'Bismarck', 2808, '58504', '701', '46.711389', '-100.649356', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78086, 'Lincoln', 2808, '58504', '701', '46.711389', '-100.649356', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78087, 'Livona', 2808, '58504', '701', '46.711389', '-100.649356', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78088, 'Brisbane', 2808, '58529', '701', '46.318797', '-101.489726', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78089, 'Carson', 2808, '58529', '701', '46.318797', '-101.489726', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78090, 'Leith', 2808, '58529', '701', '46.318797', '-101.489726', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78091, 'Wilton', 2808, '58579', '701', '47.177046', '-100.775628', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78092, 'Belfield', 2808, '58622', '701', '46.87821', '-103.182235', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78093, 'Fryburg', 2808, '58622', '701', '46.87821', '-103.182235', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78094, 'Mafb', 2808, '58704', '701', '48.429158', '-101.320812', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78095, 'Minot', 2808, '58704', '701', '48.429158', '-101.320812', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78096, 'Minot A F B', 2808, '58704', '701', '48.429158', '-101.320812', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78097, 'Minot AFB', 2808, '58704', '701', '48.429158', '-101.320812', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78098, 'Minot Air Force Base', 2808, '58704', '701', '48.429158', '-101.320812', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78099, 'Bantry', 2808, '58713', '701', '48.501994', '-100.798732', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78100, 'Burlington', 2808, '58722', '701', '48.233648', '-101.501228', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78101, 'Drake', 2808, '58736', '701', '47.891352', '-100.34676', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78102, 'Guthrie', 2808, '58736', '701', '47.891352', '-100.34676', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78103, 'Glenburn', 2808, '58740', '701', '48.465772', '-101.353554', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78104, 'Wolseth', 2808, '58740', '701', '48.465772', '-101.353554', '2018-11-29 05:18:01', '2018-11-29 05:18:01'),\n(78105, 'Makoti', 2808, '58756', '701', '47.978935', '-101.78818', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78106, 'Parshall', 2808, '58770', '701', '47.971681', '-102.128641', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78107, 'Raub', 2808, '58779', '701', '47.863542', '-101.817102', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78108, 'Ryder', 2808, '58779', '701', '47.863542', '-101.817102', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78109, 'Alexander', 2808, '58831', '701', '47.861169', '-103.639204', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78110, 'Charbonneau', 2808, '58831', '701', '47.861169', '-103.639204', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78111, 'Rawson', 2808, '58831', '701', '47.861169', '-103.639204', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78112, 'Watford City', 2808, '58854', '701', '47.853701', '-103.163246', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78113, 'Watford Cty', 2808, '58854', '701', '47.853701', '-103.163246', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78114, 'Watford Cy', 2808, '58854', '701', '47.853701', '-103.163246', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78115, 'Belmont', 2810, '03220', '603', '43.463234', '-71.470834', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78116, 'Dummer', 2810, '03588', '603', '44.574055', '-71.194828', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78117, 'Milan', 2810, '03588', '603', '44.574055', '-71.194828', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78118, 'Twin Mountain', 2810, '03595', '603', '44.284763', '-71.503365', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78119, 'Cornish', 2810, '03745', '603', '43.472002', '-72.32827', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78120, 'Newfields', 2810, '03856', '603', '43.036983', '-70.964427', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78121, 'Bow', 2810, '03304', '603', '43.12911', '-71.542444', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78122, 'Rindge', 2810, '03461', '603', '42.753053', '-71.983024', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78123, 'Plainfield', 2810, '03781', '603', '43.536563', '-72.28353', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78124, 'Center Sandwich', 2810, '03227', '603', '43.834294', '-71.447688', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78125, 'Ctr Sandwich', 2810, '03227', '603', '43.834294', '-71.447688', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78126, 'Sandwich', 2810, '03227', '603', '43.834294', '-71.447688', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78127, 'Glencliff', 2810, '03238', '603', '43.9825', '-71.8939', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78128, 'Lochmere', 2810, '03252', '603', '43.4712', '-71.5308', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78129, 'Moultonboro', 2810, '03254', '603', '43.705374', '-71.388998', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78130, 'Moultonborough', 2810, '03254', '603', '43.705374', '-71.388998', '2018-11-29 05:18:02', '2018-11-29 05:18:02'),\n(78131, 'N Sandwich', 2810, '03259', '603', '43.866244', '-71.40106', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78132, 'North Sandwich', 2810, '03259', '603', '43.866244', '-71.40106', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78133, 'Northwood', 2810, '03261', '603', '43.220476', '-71.204444', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78134, 'Pittsfield', 2810, '03263', '603', '43.306404', '-71.307016', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78135, 'Berlin', 2810, '03570', '603', '44.454995', '-71.26073', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78136, 'Errol', 2810, '03579', '603', '44.781274', '-71.181857', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78137, 'Wentworths Location', 2810, '03579', '603', '44.781274', '-71.181857', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78138, 'Wntwrths Lctn', 2810, '03579', '603', '44.781274', '-71.181857', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78139, 'Chester', 2810, '03036', '603', '42.970678', '-71.239531', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78140, 'Temple', 2810, '03084', '603', '42.83516', '-71.86247', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78141, 'Manchester', 2810, '03102', '603', '43.007972', '-71.494555', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78142, 'Pinardville', 2810, '03102', '603', '43.007972', '-71.494555', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78143, 'Manchester', 2810, '03104', '603', '43.015401', '-71.436151', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78144, 'Manchester', 2810, '03111', '603', '42.9956', '-71.4556', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78145, 'Shared Firm Zip', 2810, '03111', '603', '42.9956', '-71.4556', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78146, 'Springfield', 2810, '03284', '603', '43.490418', '-72.02354', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78147, 'W Springfield', 2810, '03284', '603', '43.490418', '-72.02354', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78148, 'West Springfield', 2810, '03284', '603', '43.490418', '-72.02354', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78149, 'Rye', 2810, '03870', '603', '43.01316', '-70.713103', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78150, 'Wonalancet', 2810, '03897', '603', '43.900555', '-71.329262', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78151, 'Dover', 2810, '03822', '603', '43.1979', '-70.8745', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78152, 'Liberty Mutual Insurance', 2810, '03822', '603', '43.1979', '-70.8745', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78153, 'Glen', 2810, '03838', '603', '44.101142', '-71.181214', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78154, 'Rockaway', 2811, '07866', '973', '40.957694', '-74.491929', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78155, 'Emerson', 2811, '07630', '201', '40.974636', '-74.02865', '2018-11-29 05:18:03', '2018-11-29 05:18:03'),\n(78156, 'N Milford', 2811, '07646', '201', '40.932608', '-74.01846', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78157, 'New Milford', 2811, '07646', '201', '40.932608', '-74.01846', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78158, 'Middletown', 2811, '07748', '732', '40.396622', '-74.107904', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78159, 'N Middletown', 2811, '07748', '732', '40.396622', '-74.107904', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78160, 'New Monmouth', 2811, '07748', '732', '40.396622', '-74.107904', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78161, 'North Middletown', 2811, '07748', '732', '40.396622', '-74.107904', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78162, 'Monmouth Park', 2811, '07757', '732', '40.315196', '-74.018836', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78163, 'Oceanport', 2811, '07757', '732', '40.315196', '-74.018836', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78164, 'Port-Au-Peck', 2811, '07757', '732', '40.315196', '-74.018836', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78165, 'Sands Point', 2811, '07757', '732', '40.315196', '-74.018836', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78166, 'Ho Ho Kus', 2811, '07423', '201', '40.999384', '-74.099812', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78167, 'Lyndhurst', 2811, '07071', '201', '40.79217', '-74.111476', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78168, 'S Plainfield', 2811, '07080', '908', '40.572382', '-74.413516', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78169, 'South Plainfield', 2811, '07080', '908', '40.572382', '-74.413516', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78170, 'Meadows', 2811, '07096', '201', '40.7931', '-74.0579', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78171, 'Plaza', 2811, '07096', '201', '40.7931', '-74.0579', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78172, 'Secaucus', 2811, '07096', '201', '40.7931', '-74.0579', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78173, 'Fanwood', 2811, '07023', '908', '40.641859', '-74.386969', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78174, 'Glen Ridge', 2811, '07028', '973', '40.808126', '-74.204774', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78175, 'Livingston', 2811, '07039', '973', '40.787614', '-74.329999', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78176, 'Newark', 2811, '07114', '973', '40.697442', '-74.166362', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78177, 'Albuquerque', 2812, '87109', '505', '35.151192', '-106.570022', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78178, 'Alameda', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78179, 'Albuquerque', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78180, 'Los Ranchos', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:04', '2018-11-29 05:18:04'),\n(78181, 'Los Ranchos De Abq', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78182, 'Los Ranchos De Albuquerque', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78183, 'Los Rnchs Abq', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78184, 'Village Of Los Ranchos', 2812, '87114', '505', '35.125938', '-106.799894', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78185, 'Albuquerque', 2812, '87123', '505', '35.064328', '-106.471246', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78186, 'Albuquerque', 2812, '87125', '505', '35.0844', '-106.6508', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78187, 'Alameda', 2812, '87184', '505', '35.0844', '-106.6508', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78188, 'Albuquerque', 2812, '87184', '505', '35.0844', '-106.6508', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78189, 'Fort Wingate', 2812, '87316', '505', '35.429311', '-108.474642', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78190, 'Mcgaffey', 2812, '87316', '505', '35.429311', '-108.474642', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78191, 'Perea', 2812, '87316', '505', '35.429311', '-108.474642', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78192, 'Naschitti', 2812, '87325', '505', '35.829754', '-108.657855', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78193, 'Tohatchi', 2812, '87325', '505', '35.829754', '-108.657855', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78194, 'Two Gray Hills', 2812, '87325', '505', '35.829754', '-108.657855', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78195, 'Gallup', 2812, '87375', '505', '35.683467', '-108.807203', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78196, 'Yatahey', 2812, '87375', '505', '35.683467', '-108.807203', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78197, 'La Plata', 2812, '87418', '505', '36.933167', '-108.148916', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78198, 'Santa Fe', 2812, '87502', '505', '35.6868', '-105.9372', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78199, 'Santa Fe', 2812, '87507', '505', '35.576264', '-106.10623', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78200, 'Alire', 2812, '87518', '505', '36.516577', '-106.546492', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78201, 'Cebolla', 2812, '87518', '505', '36.516577', '-106.546492', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78202, 'Taos Ski Valley', 2812, '87525', '505', '36.4008', '-105.5751', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78203, 'Taos Ski Vly', 2812, '87525', '505', '36.4008', '-105.5751', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78204, 'Apodaca', 2812, '87527', '505', '36.161693', '-105.870922', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78205, 'Dixon', 2812, '87527', '505', '36.161693', '-105.870922', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78206, 'Llano', 2812, '87543', '505', '36.105662', '-105.654159', '2018-11-29 05:18:05', '2018-11-29 05:18:05'),\n(78207, 'East Pecos', 2812, '87552', '505', '35.583014', '-105.557022', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78208, 'Los Pachecos', 2812, '87552', '505', '35.583014', '-105.557022', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78209, 'Lower Laposada', 2812, '87552', '505', '35.583014', '-105.557022', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78210, 'Pecos', 2812, '87552', '505', '35.583014', '-105.557022', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78211, 'Pecos National Monument', 2812, '87552', '505', '35.583014', '-105.557022', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78212, 'Pine', 2812, '87552', '505', '35.583014', '-105.557022', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78213, 'Llano Quemado', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78214, 'Ranch Taos', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78215, 'Ranches Of Taos', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78216, 'Rancho Taos', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78217, 'Ranchos De Taos', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78218, 'Ranchos Taos', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78219, 'Rnch De Taos', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78220, 'Talpa', 2812, '87557', '505', '36.2763', '-105.540878', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78221, 'Chamita', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78222, 'El Guique', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78223, 'Estaca', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78224, 'Guique', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78225, 'Ohkay Owingeh', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78226, 'Pueblito', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78227, 'San Juan Pblo', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78228, 'San Juan Pueblo', 2812, '87566', '505', '36.053326', '-106.07205', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78229, 'Tres Piedras', 2812, '87577', '505', '36.668224', '-105.979522', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78230, 'Anton Chico', 2812, '87711', '505', '35.093495', '-105.079706', '2018-11-29 05:18:06', '2018-11-29 05:18:06'),\n(78231, 'Dahlia', 2812, '87711', '505', '35.093495', '-105.079706', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78232, 'Upper Anton Chico', 2812, '87711', '505', '35.093495', '-105.079706', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78233, 'Eagle Nest', 2812, '87718', '505', '36.571634', '-105.255434', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78234, 'Aurora', 2812, '87734', '505', '36.008076', '-104.980584', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78235, 'Ocate', 2812, '87734', '505', '36.008076', '-104.980584', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78236, 'Alamo', 2812, '87825', '505', '34.028214', '-107.266537', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78237, 'Magdalena', 2812, '87825', '505', '34.028214', '-107.266537', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78238, 'Lordsburg', 2812, '88009', '505', '32.3503', '-108.7081', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78239, 'Playas', 2812, '88009', '505', '32.3503', '-108.7081', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78240, 'Hurley', 2812, '88043', '505', '32.313101', '-108.269363', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78241, 'North Hurley', 2812, '88043', '505', '32.313101', '-108.269363', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78242, 'Whitewater', 2812, '88043', '505', '32.313101', '-108.269363', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78243, 'Milnesand', 2812, '88125', '505', '33.61568', '-103.231606', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78244, 'Alto Crest', 2812, '88345', '505', '33.392686', '-105.648618', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78245, 'Hollywood', 2812, '88345', '505', '33.392686', '-105.648618', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78246, 'Ruidoso', 2812, '88345', '505', '33.392686', '-105.648618', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78247, 'Sierra Blanca', 2812, '88345', '505', '33.392686', '-105.648618', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78248, 'Three Rivers', 2812, '88352', '505', '33.135866', '-106.103184', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78249, 'Tularosa', 2812, '88352', '505', '33.135866', '-106.103184', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78250, 'Des Moines', 2812, '88418', '505', '36.631822', '-103.88234', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78251, 'Blue Diamond', 2813, '89004', '702', '36.037759', '-115.405876', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78252, 'Old Nevada', 2813, '89004', '702', '36.037759', '-115.405876', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78253, 'Henderson', 2813, '89011', '702', '36.1264', '-114.961169', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78254, 'Carvers', 2813, '89045', '775', '38.851119', '-117.153238', '2018-11-29 05:18:07', '2018-11-29 05:18:07'),\n(78255, 'Round Mountain', 2813, '89045', '775', '38.851119', '-117.153238', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78256, 'Round Mtn', 2813, '89045', '775', '38.851119', '-117.153238', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78257, 'Pahrump', 2813, '89061', '775', '36.117966', '-115.930598', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78258, 'Indian Spgs', 2813, '89070', '702', '36.5698', '-115.6699', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78259, 'Indian Springs', 2813, '89070', '702', '36.5698', '-115.6699', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78260, 'So Desert Correctional Ctr', 2813, '89070', '702', '36.5698', '-115.6699', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78261, 'N Las Vegas', 2813, '89086', '702', '36.283646', '-115.116707', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78262, 'North Las Vegas', 2813, '89086', '702', '36.283646', '-115.116707', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78263, 'Las Vegas', 2813, '89111', '702', '36.1753', '-115.1364', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78264, 'Mccarran Airport', 2813, '89111', '702', '36.1753', '-115.1364', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78265, 'Las Vegas', 2813, '89120', '702', '36.076705', '-115.089514', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78266, 'Las Vegas', 2813, '89122', '702', '36.106369', '-115.025206', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78267, 'Las Vegas', 2813, '89129', '702', '36.231018', '-115.290188', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78268, 'Las Vegas', 2813, '89131', '702', '36.305996', '-115.246109', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78269, 'Las Vegas', 2813, '89136', '702', '36.272376', '-115.224893', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78270, 'Las Vegas', 2813, '89147', '702', '36.11208', '-115.279047', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78271, 'Las Vegas', 2813, '89154', '702', '36.1095', '-115.143837', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78272, 'Univ Nv Las Vegas', 2813, '89154', '702', '36.1095', '-115.143837', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78273, 'Citibank', 2813, '89163', '702', '36.1753', '-115.1364', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78274, 'Las Vegas', 2813, '89163', '702', '36.1753', '-115.1364', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78275, 'The Lakes', 2813, '89163', '702', '36.1753', '-115.1364', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78276, 'Valmy', 2813, '89438', '775', '40.7929', '-117.1256', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78277, 'Gold Hill', 2813, '89440', '775', '39.439917', '-119.496936', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78278, 'Virginia City', 2813, '89440', '775', '39.439917', '-119.496936', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78279, 'Lakeridge', 2813, '89449', '775', '38.96562', '-119.906234', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78280, 'Stateline', 2813, '89449', '775', '38.96562', '-119.906234', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78281, 'Reno', 2813, '89504', '775', '39.5297', '-119.8129', '2018-11-29 05:18:08', '2018-11-29 05:18:08'),\n(78282, 'Anderson Acres', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78283, 'Black Springs', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78284, 'Bordertown', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78285, 'Golden Valley', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78286, 'Lemmon Valley', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78287, 'Panther Valley', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78288, 'Rancho Haven', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78289, 'Red Rock', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78290, 'Reno', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78291, 'Sierra', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78292, 'Silver Knolls', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78293, 'Stead', 2813, '89506', '775', '39.688283', '-119.864364', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78294, 'Reno', 2813, '89513', '775', '39.5297', '-119.8129', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78295, 'Reno', 2813, '89515', '775', '39.5297', '-119.8129', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78296, 'Jc Penney Co', 2813, '89599', '775', '39.5297', '-119.8129', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78297, 'Reno', 2813, '89599', '775', '39.5297', '-119.8129', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78298, 'Mountain City', 2813, '89831', '775', '41.573438', '-116.290433', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78299, 'Patsville', 2813, '89831', '775', '41.573438', '-116.290433', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78300, 'W Wendover', 2813, '89883', '775', '40.878962', '-114.154526', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78301, 'Wendover', 2813, '89883', '775', '40.878962', '-114.154526', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78302, 'West Wendover', 2813, '89883', '775', '40.878962', '-114.154526', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78303, 'Findley Lake', 2814, '14736', '716', '42.121779', '-79.740074', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78304, 'Hector', 2814, '14841', '607', '42.524114', '-76.852252', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78305, 'Valois', 2814, '14841', '607', '42.524114', '-76.852252', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78306, 'Ithaca', 2814, '14850', '607', '42.406709', '-76.518425', '2018-11-29 05:18:09', '2018-11-29 05:18:09'),\n(78307, 'Ithaca Coll', 2814, '14850', '607', '42.406709', '-76.518425', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78308, 'Ithaca College', 2814, '14850', '607', '42.406709', '-76.518425', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78309, 'Lakewood', 2814, '14750', '716', '42.092122', '-79.331314', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78310, 'Forsyth', 2814, '14775', '716', '42.223614', '-79.681316', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78311, 'Ripley', 2814, '14775', '716', '42.223614', '-79.681316', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78312, 'Rushford', 2814, '14777', '585', '42.380582', '-78.247482', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78313, 'W Clarksville', 2814, '14786', '585', '42.1283', '-78.2433', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78314, 'West Clarksville', 2814, '14786', '585', '42.1283', '-78.2433', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78315, 'Coopers Plains', 2814, '14827', '607', '42.1779', '-77.1365', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78316, 'Coopers Plns', 2814, '14827', '607', '42.1779', '-77.1365', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78317, 'Macedon', 2814, '14502', '315', '43.113766', '-77.325762', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78318, 'Loehmanns Plaza', 2814, '14618', '585', '43.11552', '-77.555686', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78319, 'Loehmanns Plz', 2814, '14618', '585', '43.11552', '-77.555686', '2018-11-29 05:18:10', '2018-11-29 05:18:10');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(78320, 'Rochester', 2814, '14618', '585', '43.11552', '-77.555686', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78321, 'Kodak Office', 2814, '14650', '585', '43.1544', '-77.6155', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78322, 'Rochester', 2814, '14650', '585', '43.1544', '-77.6155', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78323, 'Jamestown', 2814, '14702', '716', '42.0967', '-79.2357', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78324, 'Belfast', 2814, '14711', '585', '42.325767', '-78.141736', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78325, 'Brocton', 2814, '14716', '716', '42.380692', '-79.429493', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78326, 'Bflo', 2814, '14273', '716', '42.8867', '-78.8518', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78327, 'Buffalo', 2814, '14273', '716', '42.8867', '-78.8518', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78328, 'Hsbc Atrium', 2814, '14273', '716', '42.8867', '-78.8518', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78329, 'Hsbc Bank', 2814, '14273', '716', '42.8867', '-78.8518', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78330, 'Oaks Corners', 2814, '14518', '315', '42.9323', '-77.0128', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78331, 'Penn Yan', 2814, '14527', '315', '42.63018', '-77.053579', '2018-11-29 05:18:10', '2018-11-29 05:18:10'),\n(78332, 'Phelps', 2814, '14532', '315', '42.963328', '-77.018892', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78333, 'West Junius', 2814, '14532', '315', '42.963328', '-77.018892', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78334, 'Mac Dougall', 2814, '14541', '607', '42.747173', '-76.837912', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78335, 'Romulus', 2814, '14541', '607', '42.747173', '-76.837912', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78336, 'Ogden', 2814, '14559', '585', '43.187534', '-77.830299', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78337, 'Spencerport', 2814, '14559', '585', '43.187534', '-77.830299', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78338, 'Wyoming', 2814, '14591', '585', '42.82582', '-78.089909', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78339, 'Yorkshire', 2814, '14173', '585', '42.5238', '-78.4755', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78340, 'Canandaigua', 2814, '14425', '585', '42.98955', '-77.324056', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78341, 'Farmington', 2814, '14425', '585', '42.98955', '-77.324056', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78342, 'Castile', 2814, '14427', '585', '42.626817', '-78.04822', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78343, 'Ionia', 2814, '14475', '585', '42.937186', '-77.49816', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78344, 'Le Roy', 2814, '14482', '585', '42.969911', '-77.971374', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78345, 'Leroy', 2814, '14482', '585', '42.969911', '-77.971374', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78346, 'Lawtons', 2814, '14091', '716', '42.54381', '-78.894017', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78347, 'Binghamton', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78348, 'Broadacres', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78349, 'Choconut Center', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78350, 'Dickinson', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78351, 'Hinmans Corners', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78352, 'West Chenango', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78353, 'Westview', 2814, '13905', '607', '42.17849', '-75.950506', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78354, 'East Oakfield', 2814, '14125', '585', '43.08839', '-78.267935', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78355, 'Oakfield', 2814, '14125', '585', '43.08839', '-78.267935', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78356, 'Pendleton', 2814, '14132', '716', '43.142184', '-78.871036', '2018-11-29 05:18:11', '2018-11-29 05:18:11'),\n(78357, 'Sanborn', 2814, '14132', '716', '43.142184', '-78.871036', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78358, 'Sardinia', 2814, '14134', '716', '42.5284', '-78.511805', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78359, 'Tonawanda', 2814, '14150', '716', '42.995064', '-78.881828', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78360, 'Dunkirk', 2814, '14166', '716', '42.4464', '-79.4226', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78361, 'Van Buren Bay', 2814, '14166', '716', '42.4464', '-79.4226', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78362, 'Van Buren Point', 2814, '14166', '716', '42.4464', '-79.4226', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78363, 'Van Buren Pt', 2814, '14166', '716', '42.4464', '-79.4226', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78364, 'Boston', 2814, '14025', '716', '42.620287', '-78.721492', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78365, 'East Meredith', 2814, '13757', '607', '42.399925', '-74.9134', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78366, 'Shackport', 2814, '13757', '607', '42.399925', '-74.9134', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78367, 'West Meredith', 2814, '13757', '607', '42.399925', '-74.9134', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78368, 'Smithville Flats', 2814, '13841', '607', '42.406993', '-75.832601', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78369, 'Smithvle Flts', 2814, '13841', '607', '42.406993', '-75.832601', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78370, 'Tunnel', 2814, '13848', '607', '42.2163', '-75.7269', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78371, 'Rensselaer Falls', 2814, '13680', '315', '44.579413', '-75.359689', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78372, 'Rensslaer Fls', 2814, '13680', '315', '44.579413', '-75.359689', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78373, 'Apalachin', 2814, '13732', '607', '42.050608', '-76.175479', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78374, 'South Apalachin', 2814, '13732', '607', '42.050608', '-76.175479', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78375, 'Milford', 2814, '13807', '607', '42.592801', '-74.990816', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78376, 'Morristown', 2814, '13664', '315', '44.584942', '-75.648106', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78377, 'Calcium', 2814, '13616', '315', '44.026451', '-75.849345', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78378, 'De Kalb Jct', 2814, '13630', '315', '44.487477', '-75.317578', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78379, 'De Kalb Junction', 2814, '13630', '315', '44.487477', '-75.317578', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78380, 'Richfld Spgs', 2814, '13439', '315', '42.855568', '-74.984132', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78381, 'South Columbia', 2814, '13439', '315', '42.855568', '-74.984132', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78382, 'Warren', 2814, '13439', '315', '42.855568', '-74.984132', '2018-11-29 05:18:12', '2018-11-29 05:18:12'),\n(78383, 'Schuyler Lake', 2814, '13457', '315', '42.7803', '-75.0286', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78384, 'Conger Corners', 2814, '13480', '315', '42.905194', '-75.347601', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78385, 'Daytonville', 2814, '13480', '315', '42.905194', '-75.347601', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78386, 'Stockwell', 2814, '13480', '315', '42.905194', '-75.347601', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78387, 'Waterville', 2814, '13480', '315', '42.905194', '-75.347601', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78388, 'Albert', 2816, '73001', '405', '35.2325', '-98.4111', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78389, 'Norman', 2816, '73026', '405', '35.23968', '-97.259044', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78390, 'Norman', 2816, '73069', '405', '35.248534', '-97.459024', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78391, 'Norman', 2816, '73071', '405', '35.232933', '-97.415036', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78392, 'Yukon', 2816, '73085', '405', '35.5068', '-97.7625', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78393, 'Okc', 2816, '73101', '405', '35.4678', '-97.5164', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78394, 'Oklahoma City', 2816, '73101', '405', '35.4678', '-97.5164', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78395, 'Okc', 2816, '73103', '405', '35.489415', '-97.518481', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78396, 'Oklahoma City', 2816, '73103', '405', '35.489415', '-97.518481', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78397, 'Okc', 2816, '73128', '405', '35.449735', '-97.653933', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78398, 'Oklahoma City', 2816, '73128', '405', '35.449735', '-97.653933', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78399, 'Okc', 2816, '73137', '405', '35.4657', '-97.5587', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78400, 'Oklahoma City', 2816, '73137', '405', '35.4657', '-97.5587', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78401, 'Okc', 2816, '73144', '405', '35.4678', '-97.5164', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78402, 'Oklahoma City', 2816, '73144', '405', '35.4678', '-97.5164', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78403, 'Okc', 2816, '73162', '405', '35.580214', '-97.638546', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78404, 'Oklahoma City', 2816, '73162', '405', '35.580214', '-97.638546', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78405, 'Fox', 2816, '73435', '580', '34.348194', '-97.492292', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78406, 'Madill', 2816, '73446', '580', '34.01002', '-96.758844', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78407, 'Mc Millan', 2816, '73446', '580', '34.01002', '-96.758844', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78408, 'Oakland', 2816, '73446', '580', '34.01002', '-96.758844', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78409, 'Overbrook', 2816, '73453', '580', '34.041797', '-97.117586', '2018-11-29 05:18:13', '2018-11-29 05:18:13'),\n(78410, 'Tishomingo', 2816, '73460', '580', '34.333658', '-96.672269', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78411, 'Davidson', 2816, '73530', '580', '34.247564', '-99.02477', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78412, 'Elmer', 2816, '73539', '580', '34.487356', '-99.301292', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78413, 'Manitou', 2816, '73555', '580', '34.522084', '-98.944946', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78414, 'Olustee', 2816, '73560', '580', '34.56177', '-99.524232', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78415, 'Custer', 2816, '73639', '580', '35.725561', '-98.988153', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78416, 'Custer City', 2816, '73639', '580', '35.725561', '-98.988153', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78417, 'Elk City', 2816, '73644', '580', '35.435948', '-99.486658', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78418, 'Fay', 2816, '73646', '580', '35.834238', '-98.685138', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78419, 'Sayre', 2816, '73662', '580', '35.327264', '-99.666356', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78420, 'Enid', 2816, '73705', '580', '36.342196', '-97.903368', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78421, 'Amorita', 2816, '73719', '580', '36.948156', '-98.236509', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78422, 'Cherokee', 2816, '73728', '580', '36.7756', '-98.369629', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78423, 'Lambert', 2816, '73728', '580', '36.7756', '-98.369629', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78424, 'Okarche', 2816, '73762', '405', '35.799146', '-97.9406', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78425, 'Wakita', 2816, '73771', '580', '36.8763', '-97.992635', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78426, 'Goodwell', 2816, '73939', '580', '36.747218', '-101.77009', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78427, 'Kenton', 2816, '73946', '580', '36.859708', '-102.903252', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78428, 'Bartlesville', 2816, '74003', '918', '36.737723', '-96.081422', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78429, 'Brtlsville', 2816, '74003', '918', '36.737723', '-96.081422', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78430, 'Bville', 2816, '74003', '918', '36.737723', '-96.081422', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78431, 'Glenoak', 2816, '74003', '918', '36.737723', '-96.081422', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78432, 'Hog Shooter', 2816, '74003', '918', '36.737723', '-96.081422', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78433, 'Okesa', 2816, '74003', '918', '36.737723', '-96.081422', '2018-11-29 05:18:14', '2018-11-29 05:18:14'),\n(78434, 'Brkn Arw', 2816, '74014', '918', '36.021534', '-95.642666', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78435, 'Broken Arrow', 2816, '74014', '918', '36.021534', '-95.642666', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78436, 'Collinsville', 2816, '74021', '918', '36.413191', '-95.83019', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78437, 'Cville', 2816, '74021', '918', '36.413191', '-95.83019', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78438, 'Glencoe', 2816, '74032', '580', '36.210024', '-96.89036', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78439, 'Jenks', 2816, '74037', '918', '36.011786', '-95.973885', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78440, 'Coodys Bluff', 2816, '74048', '918', '36.678946', '-95.620793', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78441, 'Nowata', 2816, '74048', '918', '36.678946', '-95.620793', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78442, 'Watova', 2816, '74048', '918', '36.678946', '-95.620793', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78443, 'Sperry', 2816, '74073', '918', '36.293094', '-95.967106', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78444, 'Tulsa', 2816, '74107', '918', '36.111106', '-96.043222', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78445, 'Tulsa', 2816, '74114', '918', '36.126074', '-95.948338', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78446, 'Tulsa', 2816, '74137', '918', '36.01806', '-95.939506', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78447, 'Oral Roberts Univ', 2816, '74171', '918', '36.050012', '-95.952235', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78448, 'Tulsa', 2816, '74171', '918', '36.050012', '-95.952235', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78449, 'Big Cabin', 2816, '74332', '918', '36.627067', '-95.283065', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78450, 'Maimi', 2816, '74355', '918', '36.8746', '-94.8773', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78451, 'Miami', 2816, '74355', '918', '36.8746', '-94.8773', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78452, 'Beggs', 2816, '74421', '918', '35.774488', '-96.032746', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78453, 'Winchester', 2816, '74421', '918', '35.774488', '-96.032746', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78454, 'Braggs', 2816, '74423', '918', '35.67636', '-95.179022', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78455, 'Eufaula', 2816, '74432', '918', '35.280097', '-95.63471', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78456, 'Eutaula', 2816, '74432', '918', '35.280097', '-95.63471', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78457, 'Lake Eufaula', 2816, '74432', '918', '35.280097', '-95.63471', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78458, 'Braggs', 2816, '74439', '918', '35.88', '-95.23', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78459, 'Proctor', 2816, '74457', '918', '36.008908', '-94.795116', '2018-11-29 05:18:15', '2018-11-29 05:18:15'),\n(78460, 'Albion', 2816, '74521', '918', '34.651758', '-95.092307', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78461, 'Lane', 2816, '74555', '580', '34.287194', '-95.944633', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78462, 'Braman', 2816, '74632', '580', '36.939939', '-97.336465', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78463, 'Hendrix', 2816, '74741', '580', '33.784494', '-96.284136', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78464, 'Yarnaby', 2816, '74741', '580', '33.784494', '-96.284136', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78465, 'Kenefic', 2816, '74748', '580', '34.179119', '-96.479874', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78466, 'Dustin', 2816, '74839', '918', '35.220399', '-96.083708', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78467, 'Holdenville', 2816, '74848', '405', '35.068458', '-96.310827', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78468, 'Horntown', 2816, '74848', '405', '35.068458', '-96.310827', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78469, 'Spaulding', 2816, '74848', '405', '35.068458', '-96.310827', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78470, 'Yeager', 2816, '74848', '405', '35.068458', '-96.310827', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78471, 'Lamar', 2816, '74850', '918', '35.096737', '-96.079924', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78472, 'Prague', 2816, '74864', '405', '35.579013', '-96.731063', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78473, 'Saint Louis', 2816, '74866', '405', '35.059296', '-96.84436', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78474, 'Tryon', 2816, '74875', '918', '35.847925', '-97.043231', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78475, 'Lima', 2816, '74884', '405', '35.225782', '-96.541022', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78476, 'New Lima', 2816, '74884', '405', '35.225782', '-96.541022', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78477, 'Wewoka', 2816, '74884', '405', '35.225782', '-96.541022', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78478, 'Hodgen', 2816, '74939', '918', '34.763859', '-94.610658', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78479, 'Watts', 2816, '74964', '918', '36.109798', '-94.671342', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78480, 'Shamokin Dam', 2818, '17876', '570', '40.857747', '-76.823591', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78481, 'Stillwater', 2818, '17878', '570', '41.152946', '-76.352948', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78482, 'Laurelton', 2818, '17835', '570', '40.961718', '-77.227785', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78483, 'Pottstown', 2818, '19464', '610', '40.258911', '-75.615556', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78484, 'Sanatoga', 2818, '19464', '610', '40.258911', '-75.615556', '2018-11-29 05:18:16', '2018-11-29 05:18:16'),\n(78485, 'Stowe', 2818, '19464', '610', '40.258911', '-75.615556', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78486, 'The Vanguard Group', 2818, '19496', '610', '40.0968', '-75.4701', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78487, 'Valley Forge', 2818, '19496', '610', '40.0968', '-75.4701', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78488, 'Bethel', 2818, '19507', '717', '40.487354', '-76.306788', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78489, 'Schubert', 2818, '19507', '717', '40.487354', '-76.306788', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78490, 'Hilldale', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78491, 'Hudson', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78492, 'Laflin', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78493, 'Miners Mill', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78494, 'Parsons', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78495, 'Plains', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78496, 'Plains Township', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78497, 'Plains Twp', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78498, 'Wilkes Barre', 2818, '18705', '570', '41.270545', '-75.839771', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78499, 'Chalfont', 2818, '18914', '215', '40.286362', '-75.209358', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78500, 'Ferndale', 2818, '18921', '610', '40.5337', '-75.1795', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78501, 'Holicong', 2818, '18928', '215', '40.3363', '-75.0365', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78502, 'Perkasie', 2818, '18944', '215', '40.395957', '-75.231944', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78503, 'Silverdale', 2818, '18962', '215', '40.347393', '-75.270194', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78504, 'Dunmore', 2818, '18512', '570', '41.42422', '-75.587759', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78505, 'Scranton', 2818, '18512', '570', '41.42422', '-75.587759', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78506, 'Throop', 2818, '18512', '570', '41.42422', '-75.587759', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78507, 'Kindts Corner', 2818, '19555', '610', '40.486404', '-75.946592', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78508, 'Shoemakersville', 2818, '19555', '610', '40.486404', '-75.946592', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78509, 'Shoemakersvle', 2818, '19555', '610', '40.486404', '-75.946592', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78510, 'URB Camino Del Monte', 2819, '00971', '787', '18.330223', '-66.114506', '2018-11-29 05:18:17', '2018-11-29 05:18:17'),\n(78511, 'URB La Fontana De Torrimar', 2819, '00971', '787', '18.330223', '-66.114506', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78512, 'Albion', 2820, '02802', '401', '41.9514', '-71.4551', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78513, 'E Greenwich', 2820, '02818', '401', '41.643752', '-71.477766', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78514, 'East Greenwich', 2820, '02818', '401', '41.643752', '-71.477766', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78515, 'Kenyon', 2820, '02836', '401', '41.44828', '-71.621769', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78516, 'Richmond', 2820, '02836', '401', '41.44828', '-71.621769', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78517, 'Glocester', 2820, '02859', '401', '41.965405', '-71.721682', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78518, 'Pascoag', 2820, '02859', '401', '41.965405', '-71.721682', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78519, 'Darlington', 2820, '02861', '401', '41.87832', '-71.353902', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78520, 'Pawtucket', 2820, '02861', '401', '41.87832', '-71.353902', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78521, 'Richmond', 2820, '02875', '401', '41.455855', '-71.638788', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78522, 'Shannock', 2820, '02875', '401', '41.455855', '-71.638788', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78523, 'Dalzell', 2821, '29040', '803', '34.04692', '-80.457118', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78524, 'Gaillard Crossroads', 2821, '29040', '803', '34.04692', '-80.457118', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78525, 'Woodrow', 2821, '29040', '803', '34.04692', '-80.457118', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78526, 'Liberty Hill', 2821, '29074', '803', '34.46424', '-80.804746', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78527, 'Ehrhardt', 2821, '29081', '803', '33.109958', '-81.024352', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78528, 'Ulmer', 2821, '29849', '803', '33.060906', '-81.209598', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78529, 'Beaufort', 2821, '29901', '843', '32.4316', '-80.67', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78530, 'Bluffton', 2821, '29910', '843', '32.227874', '-80.887555', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78531, 'Brighton Beach', 2821, '29910', '843', '32.227874', '-80.887555', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78532, 'Pritchardville', 2821, '29910', '843', '32.227874', '-80.887555', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78533, 'Hampton', 2821, '29924', '803', '32.890872', '-81.091893', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78534, 'Fort Mill', 2821, '29708', '803', '35.047839', '-80.986378', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78535, 'Ft Mill', 2821, '29708', '803', '35.047839', '-80.986378', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78536, 'Tega Cay', 2821, '29708', '803', '35.047839', '-80.986378', '2018-11-29 05:18:18', '2018-11-29 05:18:18'),\n(78537, 'Clover', 2821, '29710', '803', '35.073764', '-81.204998', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78538, 'Lake Wylie', 2821, '29710', '803', '35.073764', '-81.204998', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78539, 'Lk Wylie', 2821, '29710', '803', '35.073764', '-81.204998', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78540, 'River Hills', 2821, '29710', '803', '35.073764', '-81.204998', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78541, 'Lando', 2821, '29724', '803', '34.77317', '-81.011395', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78542, 'Rock Hill', 2821, '29733', '803', '34.9379', '-81.0277', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78543, 'Winthrop University', 2821, '29733', '803', '34.9379', '-81.0277', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78544, 'Withrop College', 2821, '29733', '803', '34.9379', '-81.0277', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78545, 'Sharon', 2821, '29742', '803', '34.879664', '-81.392606', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78546, 'Bradley', 2821, '29819', '864', '34.059528', '-82.211714', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78547, 'Callison', 2821, '29819', '864', '34.059528', '-82.211714', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78548, 'Promised Land', 2821, '29819', '864', '34.059528', '-82.211714', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78549, 'Elko', 2821, '29826', '803', '33.38176', '-81.374682', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78550, 'Latta', 2821, '29565', '843', '34.359894', '-79.484836', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78551, 'Clemson', 2821, '29633', '864', '34.6833', '-82.8375', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78552, 'Cleveland', 2821, '29635', '864', '35.069644', '-82.633701', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78553, 'Greer', 2821, '29651', '864', '34.946178', '-82.231214', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78554, 'Salem', 2821, '29676', '864', '34.926976', '-82.966381', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78555, 'Slater', 2821, '29683', '864', '35.0315', '-82.493948', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78556, 'Ware Shoals', 2821, '29692', '864', '34.407472', '-82.214584', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78557, 'Mount Pleasant', 2821, '29465', '843', '32.7939', '-79.8628', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78558, 'Mt Pleasant', 2821, '29465', '843', '32.7939', '-79.8628', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78559, 'Garden City', 2821, '29576', '843', '33.563028', '-79.054258', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78560, 'Garden City Beach', 2821, '29576', '843', '33.563028', '-79.054258', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78561, 'Murrells Inlet', 2821, '29576', '843', '33.563028', '-79.054258', '2018-11-29 05:18:19', '2018-11-29 05:18:19'),\n(78562, 'Murrells Inlt', 2821, '29576', '843', '33.563028', '-79.054258', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78563, 'Arcadia Lakes', 2821, '29206', '803', '34.02538', '-80.949031', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78564, 'Columbia', 2821, '29206', '803', '34.02538', '-80.949031', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78565, 'Forest Acres', 2821, '29206', '803', '34.02538', '-80.949031', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78566, 'Forest Lake', 2821, '29206', '803', '34.02538', '-80.949031', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78567, 'Ravenwood', 2821, '29206', '803', '34.02538', '-80.949031', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78568, 'Sandwood', 2821, '29206', '803', '34.02538', '-80.949031', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78569, 'Columbia', 2821, '29224', '803', '34.0009', '-81.0353', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78570, 'Heath Springs', 2821, '29058', '803', '34.543773', '-80.734309', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78571, 'Pleasant Hill', 2821, '29058', '803', '34.543773', '-80.734309', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78572, 'Stoneboro', 2821, '29058', '803', '34.543773', '-80.734309', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78573, 'Abney', 2821, '29067', '803', '34.563586', '-80.533168', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78574, 'Kershaw', 2821, '29067', '803', '34.563586', '-80.533168', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78575, 'Spring Mills', 2821, '29067', '803', '34.563586', '-80.533168', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78576, 'Taxahaw', 2821, '29067', '803', '34.563586', '-80.533168', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78577, 'White Bluff', 2821, '29067', '803', '34.563586', '-80.533168', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78578, 'Barr', 2821, '29072', '803', '33.988267', '-81.283744', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78579, 'Edmund', 2821, '29072', '803', '33.988267', '-81.283744', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78580, 'Lexington', 2821, '29072', '803', '33.988267', '-81.283744', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78581, 'Macedon', 2821, '29072', '803', '33.988267', '-81.283744', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78582, 'Red Bank', 2821, '29072', '803', '33.988267', '-81.283744', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78583, 'State Park', 2821, '29147', '803', '34.0906', '-80.9667', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78584, 'Tatum', 2821, '29594', '843', '34.644092', '-79.586428', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78585, 'Wallace', 2821, '29596', '843', '34.710425', '-79.825926', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78586, 'Greenville', 2821, '29611', '864', '34.832622', '-82.457995', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78587, 'Gville', 2821, '29611', '864', '34.832622', '-82.457995', '2018-11-29 05:18:20', '2018-11-29 05:18:20'),\n(78588, 'Powdersville', 2821, '29611', '864', '34.832622', '-82.457995', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78589, 'Greenville', 2821, '29612', '864', '34.8526', '-82.3943', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78590, 'Gville', 2821, '29612', '864', '34.8526', '-82.3943', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78591, 'Furman University', 2821, '29613', '864', '34.924854', '-82.44066', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78592, 'Greenville', 2821, '29613', '864', '34.924854', '-82.44066', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78593, 'Gville', 2821, '29613', '864', '34.924854', '-82.44066', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78594, 'Bob Jones University', 2821, '29614', '864', '34.8483', '-82.4065', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78595, 'Greenville', 2821, '29614', '864', '34.8483', '-82.4065', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78596, 'Gville', 2821, '29614', '864', '34.8483', '-82.4065', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78597, 'Charleston', 2821, '29410', '843', '32.93904', '-79.996904', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78598, 'Chas', 2821, '29410', '843', '32.93904', '-79.996904', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78599, 'Hanahan', 2821, '29410', '843', '32.93904', '-79.996904', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78600, 'N Charleston', 2821, '29410', '843', '32.93904', '-79.996904', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78601, 'North Charleston', 2821, '29410', '843', '32.93904', '-79.996904', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78602, 'Charleston', 2821, '29412', '843', '32.703819', '-79.943079', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78603, 'Chas', 2821, '29412', '843', '32.703819', '-79.943079', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78604, 'James Island', 2821, '29412', '843', '32.703819', '-79.943079', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78605, 'Saint George', 2821, '29477', '843', '33.17659', '-80.581397', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78606, 'St George', 2821, '29477', '843', '33.17659', '-80.581397', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78607, 'Pamplico', 2821, '29583', '843', '33.971524', '-79.57707', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78608, 'Litchfield', 2821, '29585', '843', '33.462706', '-79.11481', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78609, 'N Litchfield', 2821, '29585', '843', '33.462706', '-79.11481', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78610, 'Pawleys Is', 2821, '29585', '843', '33.462706', '-79.11481', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78611, 'Pawleys Isl', 2821, '29585', '843', '33.462706', '-79.11481', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78612, 'Pawleys Island', 2821, '29585', '843', '33.462706', '-79.11481', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78613, 'Salters', 2821, '29590', '843', '33.561101', '-79.837854', '2018-11-29 05:18:21', '2018-11-29 05:18:21'),\n(78614, 'Trio', 2821, '29590', '843', '33.561101', '-79.837854', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78615, 'Sellers', 2821, '29592', '843', '34.300938', '-79.481024', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78616, 'Greenville', 2821, '29601', '864', '34.847964', '-82.401036', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78617, 'Gville', 2821, '29601', '864', '34.847964', '-82.401036', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78618, 'Greenville', 2821, '29610', '864', '34.8526', '-82.3943', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78619, 'Gville', 2821, '29610', '864', '34.8526', '-82.3943', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78620, 'Greenville', 2821, '29615', '864', '34.859824', '-82.294004', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78621, 'N Charleston', 2821, '29406', '843', '32.928935', '-80.015328', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78622, 'No Chas', 2821, '29406', '843', '32.928935', '-80.015328', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78623, 'North Charleston', 2821, '29406', '843', '32.928935', '-80.015328', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78624, 'Russellville', 2821, '29476', '843', '33.3968', '-79.9717', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78625, 'Smoaks', 2821, '29481', '843', '33.117582', '-80.805816', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78626, 'Scranton', 2821, '29591', '843', '33.935251', '-79.769424', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78627, 'N Myrtle Bch', 2821, '29598', '843', '33.8147', '-78.6856', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78628, 'North Myrtle Beach', 2821, '29598', '843', '33.8147', '-78.6856', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78629, 'Charleston', 2821, '29409', '843', '32.7765', '-79.9312', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78630, 'Chas', 2821, '29409', '843', '32.7765', '-79.9312', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78631, 'The Citadel', 2821, '29409', '843', '32.7765', '-79.9312', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78632, 'Patrick', 2821, '29584', '843', '34.590634', '-80.064868', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78633, 'Batesville', 2821, '29607', '864', '34.803774', '-82.321517', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78634, 'Greenville', 2821, '29607', '864', '34.803774', '-82.321517', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78635, 'Gville', 2821, '29607', '864', '34.803774', '-82.321517', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78636, 'Greenville', 2821, '29609', '864', '34.913218', '-82.387882', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78637, 'Gville', 2821, '29609', '864', '34.913218', '-82.387882', '2018-11-29 05:18:22', '2018-11-29 05:18:22'),\n(78638, 'Charleston', 2821, '29407', '843', '32.801241', '-79.99479', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78639, 'Chas', 2821, '29407', '843', '32.801241', '-79.99479', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78640, 'Saint Andrews', 2821, '29407', '843', '32.801241', '-79.99479', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78641, 'St Andrews', 2821, '29407', '843', '32.801241', '-79.99479', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78642, 'Charleston', 2821, '29414', '843', '32.851119', '-80.123542', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78643, 'Chas', 2821, '29414', '843', '32.851119', '-80.123542', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78644, 'Ruffin', 2821, '29475', '843', '32.965992', '-80.816732', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78645, 'Sullivans Is', 2821, '29482', '843', '32.76455', '-79.839568', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78646, 'N Myrtle Bch', 2821, '29597', '843', '33.8127', '-78.6864', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78647, 'North Myrtle Beach', 2821, '29597', '843', '33.8127', '-78.6864', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78648, 'Charleston', 2821, '29413', '843', '32.7765', '-79.9312', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78649, 'Chas', 2821, '29413', '843', '32.7765', '-79.9312', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78650, 'Alvin', 2821, '29479', '843', '33.395532', '-79.952862', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78651, 'Saint Stephen', 2821, '29479', '843', '33.395532', '-79.952862', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78652, 'Greenville', 2821, '29604', '864', '34.8526', '-82.3943', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78653, 'Gville', 2821, '29604', '864', '34.8526', '-82.3943', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78654, 'Reevesville', 2821, '29471', '843', '33.182872', '-80.669844', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78655, 'Greenville', 2821, '29608', '864', '34.8526', '-82.3943', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78656, 'Gville', 2821, '29608', '864', '34.8526', '-82.3943', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78657, 'Park Place', 2821, '29608', '864', '34.8526', '-82.3943', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78658, 'Round O', 2821, '29474', '843', '32.915172', '-80.517138', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78659, 'Myrtle Beach', 2821, '29587', '843', '33.6889', '-78.8867', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78660, 'Surfside Bch', 2821, '29587', '843', '33.6889', '-78.8867', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78661, 'Surfside Beach', 2821, '29587', '843', '33.6889', '-78.8867', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78662, 'Myrtle Beach', 2821, '29588', '843', '33.677688', '-79.028938', '2018-11-29 05:18:23', '2018-11-29 05:18:23'),\n(78663, 'Rains', 2821, '29589', '843', '34.094966', '-79.317697', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78664, 'Greenville', 2821, '29603', '864', '34.8526', '-82.3943', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78665, 'Gville', 2821, '29603', '864', '34.8526', '-82.3943', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78666, 'Ridgeville', 2821, '29472', '843', '33.055524', '-80.30875', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78667, 'Greenville', 2821, '29602', '864', '34.8526', '-82.3943', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78668, 'Gville', 2821, '29602', '864', '34.8526', '-82.3943', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78669, 'Greenville', 2821, '29605', '864', '34.777078', '-82.377576', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78670, 'Gville', 2821, '29605', '864', '34.777078', '-82.377576', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78671, 'Greenville', 2821, '29606', '864', '34.8526', '-82.3943', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78672, 'Gville', 2821, '29606', '864', '34.8526', '-82.3943', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78673, 'Society Hill', 2821, '29593', '843', '34.465272', '-79.86193', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78674, 'Ola', 2822, '57325', '605', '43.738376', '-99.250803', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78675, 'Beardsley', 2822, '57366', '605', '43.398344', '-97.965622', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78676, 'Marcy Colony', 2822, '57366', '605', '43.398344', '-97.965622', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78677, 'Milltown', 2822, '57366', '605', '43.398344', '-97.965622', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78678, 'Parkston', 2822, '57366', '605', '43.398344', '-97.965622', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78679, 'Aurora Center', 2822, '57375', '605', '43.571467', '-98.518279', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78680, 'Stickney', 2822, '57375', '605', '43.571467', '-98.518279', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78681, 'Kingsbury', 2822, '57066', '605', '42.98829', '-97.872335', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78682, 'Tyndall', 2822, '57066', '605', '42.98829', '-97.872335', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78683, 'Sioux Falls', 2822, '57109', '605', '43.5503', '-96.7002', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78684, 'Midland Life Ins Co', 2822, '57193', '605', '43.5503', '-96.7002', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78685, 'Sioux Falls', 2822, '57193', '605', '43.5503', '-96.7002', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78686, 'Eden', 2822, '57232', '605', '45.616427', '-97.366016', '2018-11-29 05:18:24', '2018-11-29 05:18:24'),\n(78687, 'Garden City', 2822, '57236', '605', '44.934808', '-97.555231', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78688, 'Peever', 2822, '57257', '605', '45.495166', '-96.989362', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78689, 'Albee', 2822, '57259', '605', '44.998719', '-96.575992', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78690, 'Revillo', 2822, '57259', '605', '44.998719', '-96.575992', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78691, 'Summit', 2822, '57266', '605', '45.311169', '-97.087304', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78692, 'Alexandria', 2822, '57311', '605', '43.668217', '-97.746687', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78693, 'Farmer', 2822, '57311', '605', '43.668217', '-97.746687', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78694, 'Bijou Hills', 2822, '57325', '605', '43.738376', '-99.250803', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78695, 'Chamberlain', 2822, '57325', '605', '43.738376', '-99.250803', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78696, 'Central City', 2822, '57754', '605', '44.26089', '-103.894821', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78697, 'Lead', 2822, '57754', '605', '44.26089', '-103.894821', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78698, 'Saint Onge', 2822, '57779', '605', '44.546821', '-103.758522', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78699, 'Nixon', 2824, '78140', '830', '29.37611', '-97.735856', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78700, 'Runge', 2824, '78151', '830', '28.87063', '-97.690631', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78701, 'Seguin', 2824, '78156', '830', '29.5687', '-97.9644', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78702, 'Denhawken', 2824, '78160', '830', '29.220531', '-97.891775', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78703, 'Stockdale', 2824, '78160', '830', '29.220531', '-97.891775', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78704, 'Balcones Heights', 2824, '78201', '210', '29.472779', '-98.535643', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78705, 'Balcones Hts', 2824, '78201', '210', '29.472779', '-98.535643', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78706, 'San Antonio', 2824, '78201', '210', '29.472779', '-98.535643', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78707, 'San Antonio', 2824, '78208', '210', '29.441178', '-98.458416', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78708, 'San Antonio', 2824, '78242', '210', '29.349048', '-98.606112', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78709, 'San Antonio', 2824, '78251', '210', '29.465293', '-98.6692', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78710, 'San Antonio', 2824, '78260', '830', '29.707012', '-98.478643', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78711, 'San Antonio', 2824, '78265', '210', '29.4239', '-98.4935', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78712, 'Firm Cases', 2824, '78285', '210', '29.4239', '-98.4935', '2018-11-29 05:18:25', '2018-11-29 05:18:25'),\n(78713, 'San Antonio', 2824, '78285', '210', '29.4239', '-98.4935', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78714, 'Driscoll', 2824, '78351', '361', '27.686758', '-97.742667', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78715, 'Guerra', 2824, '78360', '361', '26.936534', '-98.876099', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78716, 'Portland', 2824, '78374', '361', '27.937142', '-97.305626', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78717, 'Ramirez', 2824, '78376', '361', '27.530371', '-98.603808', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78718, 'Realitos', 2824, '78376', '361', '27.530371', '-98.603808', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78719, 'Sejita', 2824, '78376', '361', '27.530371', '-98.603808', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78720, 'Sarita', 2824, '78385', '361', '27.126698', '-97.704236', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78721, 'Taft', 2824, '78390', '361', '27.99945', '-97.365388', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78722, 'Corp Christi', 2824, '78401', '361', '27.795581', '-97.3994', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78723, 'Corpus Christi', 2824, '78401', '361', '27.795581', '-97.3994', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78724, 'Corp Christi', 2824, '78410', '361', '27.840071', '-97.60501', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78725, 'Corpus Christi', 2824, '78410', '361', '27.840071', '-97.60501', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78726, 'Corp Christi', 2824, '78415', '361', '27.662314', '-97.440419', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78727, 'Corpus Christi', 2824, '78415', '361', '27.662314', '-97.440419', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78728, 'Corp Christi', 2824, '78419', '361', '27.694114', '-97.284517', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78729, 'Corpus Christi', 2824, '78419', '361', '27.694114', '-97.284517', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78730, 'Corpus Christi Army Depot', 2824, '78419', '361', '27.694114', '-97.284517', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78731, 'Corpus Christi Naval Air Sta', 2824, '78419', '361', '27.694114', '-97.284517', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78732, 'Brownsville', 2824, '78526', '956', '25.992679', '-97.449762', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78733, 'Combes', 2824, '78535', '956', '26.2542', '-97.7326', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78734, 'Comby', 2824, '78535', '956', '26.2542', '-97.7326', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78735, 'Edinburg', 2824, '78542', '956', '26.354682', '-98.112012', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78736, 'Hargill', 2824, '78549', '956', '26.437046', '-97.965487', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78737, 'Los Coyotes', 2824, '78569', '956', '26.412448', '-97.730593', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78738, 'Lyford', 2824, '78569', '956', '26.412448', '-97.730593', '2018-11-29 05:18:26', '2018-11-29 05:18:26'),\n(78739, 'Stockholm', 2824, '78569', '956', '26.412448', '-97.730593', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78740, 'Penitas', 2824, '78576', '956', '26.279372', '-98.4468', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78741, 'Bluetown', 2824, '78592', '956', '26.082202', '-97.838478', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78742, 'Santa Maria', 2824, '78592', '956', '26.082202', '-97.838478', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78743, 'Weslaco', 2824, '78599', '956', '26.1592', '-97.9909', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78744, 'Driftwood', 2824, '78619', '512', '30.10744', '-98.05577', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78745, 'Georgetown', 2824, '78626', '512', '30.661806', '-97.581358', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78746, 'Jonah', 2824, '78626', '512', '30.661806', '-97.581358', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78747, 'Lockhart', 2824, '78644', '512', '29.889171', '-97.666773', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78748, 'Mendoza', 2824, '78644', '512', '29.889171', '-97.666773', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78749, 'Seawillow', 2824, '78644', '512', '29.889171', '-97.666773', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78750, 'Cele', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78751, 'Daffan', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78752, 'Gregg', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78753, 'Kimbro', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78754, 'Manda', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78755, 'Manor', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78756, 'New Sweden', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(78757, 'Webberville', 2824, '78653', '512', '30.341523', '-97.530101', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78758, 'San Marcos', 2824, '78667', '512', '29.8834', '-97.9412', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78759, 'Weir', 2824, '78674', '512', '30.6737', '-97.5845', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78760, 'Austin', 2824, '78708', '512', '30.2669', '-97.7428', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78761, 'Austin', 2824, '78710', '512', '30.3296', '-97.6669', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78762, 'Austin', 2824, '78719', '512', '30.144402', '-97.668755', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78763, 'Moores Crossing', 2824, '78719', '512', '30.144402', '-97.668755', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78764, 'Austin', 2824, '78726', '512', '30.427193', '-97.84351', '2018-11-29 05:18:27', '2018-11-29 05:18:27'),\n(78765, 'Austin', 2824, '78733', '512', '30.320665', '-97.883096', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78766, 'Bee Cave', 2824, '78733', '512', '30.320665', '-97.883096', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78767, 'Bee Caves', 2824, '78733', '512', '30.320665', '-97.883096', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78768, 'Austin', 2824, '78758', '512', '30.384218', '-97.707203', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78769, 'Austin', 2824, '78778', '512', '30.2667', '-97.7428', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78770, 'Tx Workforce Commission', 2824, '78778', '512', '30.2667', '-97.7428', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78771, 'Austin', 2824, '78783', '512', '30.2667', '-97.7428', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78772, 'City Water And Light Dept', 2824, '78783', '512', '30.2667', '-97.7428', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78773, 'Camp Wood', 2824, '78833', '830', '29.745893', '-99.982108', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78774, 'Del Rio', 2824, '78842', '830', '29.3627', '-100.8967', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78775, 'Eagle Pass', 2824, '78853', '830', '28.7086', '-100.4995', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78776, 'El Indio', 2824, '78860', '830', '28.533037', '-100.342463', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78777, 'Cat Spring', 2824, '78933', '979', '29.786034', '-96.37577', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78778, 'Delhi', 2824, '78953', '830', '29.839636', '-97.37137', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78779, 'Jeddo', 2824, '78953', '830', '29.839636', '-97.37137', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78780, 'Rosanky', 2824, '78953', '830', '29.839636', '-97.37137', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78781, 'String Prairie', 2824, '78953', '830', '29.839636', '-97.37137', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78782, 'Allison', 2824, '79003', '806', '35.642046', '-100.09197', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78783, 'Bushland', 2824, '79012', '806', '35.26639', '-102.097848', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78784, 'Vega', 2824, '79092', '806', '35.406247', '-102.459188', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78785, 'Amarillo', 2824, '79119', '806', '35.103456', '-102.03545', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78786, 'Carey', 2824, '79201', '940', '34.367239', '-100.356589', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78787, 'Childress', 2824, '79201', '940', '34.367239', '-100.356589', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78788, 'Kirkland', 2824, '79201', '940', '34.367239', '-100.356589', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78789, 'Northfield', 2824, '79201', '940', '34.367239', '-100.356589', '2018-11-29 05:18:28', '2018-11-29 05:18:28'),\n(78790, 'Aiken', 2824, '79221', '806', '34.1418', '-101.5269', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78791, 'Quail', 2824, '79251', '806', '34.923592', '-100.425552', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78792, 'Amherst', 2824, '79312', '806', '33.964276', '-102.470139', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78793, 'Spade', 2824, '79369', '806', '33.92557', '-102.156405', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78794, 'Tokio', 2824, '79376', '806', '33.180466', '-102.5637', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78795, 'Whitharral', 2824, '79380', '806', '33.735352', '-102.341818', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78796, 'Lubbock', 2824, '79401', '806', '33.590675', '-101.8535', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78797, 'Lubbock', 2824, '79403', '806', '33.678054', '-101.751108', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78798, 'Carrollton', 2824, '75007', '972', '33.003921', '-96.895926', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78799, 'Irving', 2824, '75039', '972', '32.881308', '-96.944848', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78800, 'Garland', 2824, '75041', '972', '32.875319', '-96.647984', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78801, 'Grand Prairie', 2824, '75050', '972', '32.777314', '-96.9892', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78802, 'Lewisville', 2824, '75057', '972', '33.047166', '-96.983309', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78803, 'Corsicana', 2824, '75109', '903', '32.026649', '-96.325733', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78804, 'Duncanville', 2824, '75116', '972', '32.66162', '-96.916544', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78805, 'Desoto', 2824, '75123', '214', '32.5898', '-96.8567', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78806, 'Ferris', 2824, '75125', '972', '32.527203', '-96.617957', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78807, 'Lancaster', 2824, '75134', '972', '32.626675', '-96.762898', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78808, 'Hutchins', 2824, '75141', '972', '32.636608', '-96.678969', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78809, 'Lavon', 2824, '75166', '972', '33.014621', '-96.441792', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78810, 'Dallas', 2824, '75216', '214', '32.710651', '-96.777772', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78811, 'Dallas', 2824, '75218', '214', '32.837564', '-96.697157', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78812, 'Dallas', 2824, '75223', '214', '32.793768', '-96.747272', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78813, 'Dallas', 2824, '75232', '972', '32.657741', '-96.839232', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78814, 'Dallas', 2824, '75241', '972', '32.664576', '-96.756392', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78815, 'Bank Of America', 2824, '75284', '214', '32.7835', '-96.8001', '2018-11-29 05:18:29', '2018-11-29 05:18:29'),\n(78816, 'Dallas', 2824, '75284', '214', '32.7835', '-96.8001', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78817, 'Dallas', 2824, '75357', '214', '32.7835', '-96.8001', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78818, 'Dallas', 2824, '75393', '214', '32.7835', '-96.8001', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78819, 'Sbc Att', 2824, '75393', '214', '32.7835', '-96.8001', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78820, 'Greenville', 2824, '75402', '903', '33.057823', '-96.092621', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78821, 'Blossom', 2824, '75416', '903', '33.725024', '-95.392586', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78822, 'Lake Creek', 2824, '75450', '903', '33.467232', '-95.613112', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78823, 'Randolph', 2824, '75475', '903', '33.489126', '-96.264442', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78824, 'Red River Army Depot', 2824, '75507', '903', '33.425', '-94.0478', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78825, 'Texarkana', 2824, '75507', '903', '33.425', '-94.0478', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78826, 'Annona', 2824, '75550', '903', '33.503713', '-94.89499', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78827, 'Austin', 2824, '73344', '512', '30.2669', '-97.7429', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78828, 'Internal Revenue Service', 2824, '73344', '512', '30.2669', '-97.7429', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78829, 'Old Glory', 2824, '79540', '940', '33.240736', '-100.16442', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78830, 'Abilene', 2824, '79606', '325', '32.346614', '-99.839519', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78831, 'Abilene', 2824, '79608', '325', '32.4487', '-99.7329', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78832, 'Midland', 2824, '79706', '432', '31.869254', '-102.031389', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78833, 'Grandfalls', 2824, '79742', '432', '31.37449', '-102.886203', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78834, 'Royalty', 2824, '79742', '432', '31.37449', '-102.886203', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78835, 'Marfa', 2824, '79843', '432', '29.943719', '-104.386683', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78836, 'Shafter', 2824, '79843', '432', '29.943719', '-104.386683', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78837, 'El Paso', 2824, '79943', '915', '31.7589', '-106.4866', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78838, 'El Paso', 2824, '79944', '915', '31.7589', '-106.4866', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78839, 'El Paso', 2824, '79958', '915', '31.7589', '-106.4866', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78840, 'M Bank', 2824, '79958', '915', '31.7589', '-106.4866', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78841, 'El Paso', 2824, '79960', '915', '31.7589', '-106.4866', '2018-11-29 05:18:30', '2018-11-29 05:18:30'),\n(78842, 'El Paso Electric Co', 2824, '79960', '915', '31.7589', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78843, 'El Paso', 2824, '88520', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78844, 'El Paso', 2824, '88529', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78845, 'El Paso', 2824, '88536', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78846, 'El Paso', 2824, '88563', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78847, 'El Paso', 2824, '88568', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78848, 'El Paso', 2824, '88579', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78849, 'El Paso', 2824, '88586', '915', '31.7588', '-106.4866', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78850, 'Loraine', 2824, '79532', '325', '32.319088', '-100.775761', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78851, 'Rule', 2824, '79548', '940', '33.063014', '-99.86215', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78852, 'Sagerton', 2824, '79548', '940', '33.063014', '-99.86215', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78853, 'Happy Valley', 2824, '79566', '325', '32.057283', '-100.128721', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78854, 'Shep', 2824, '79566', '325', '32.057283', '-100.128721', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78855, 'Wingate', 2824, '79566', '325', '32.057283', '-100.128721', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78856, 'Bradshaw', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78857, 'Crews', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78858, 'Drasco', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78859, 'Hatchel', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78860, 'Pumphrey', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78861, 'Wilmeth', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78862, 'Winters', 2824, '79567', '325', '31.982401', '-99.932399', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78863, 'Balmorhea', 2824, '79718', '432', '30.992834', '-103.660785', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78864, 'Forsan', 2824, '79733', '432', '32.120936', '-101.357436', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78865, 'Fort Stockton', 2824, '79735', '432', '30.605544', '-102.866526', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78866, 'Knott', 2824, '79748', '432', '32.397031', '-101.639812', '2018-11-29 05:18:31', '2018-11-29 05:18:31'),\n(78867, 'Lenorah', 2824, '79749', '432', '32.398239', '-101.792402', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78868, 'Stanton', 2824, '79782', '432', '32.148151', '-101.95177', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78869, 'Sanderson', 2824, '79848', '432', '30.12213', '-102.398382', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78870, 'Sierra Blanca', 2824, '79851', '915', '31.13845', '-105.282536', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78871, 'Lajitas', 2824, '79852', '432', '29.331466', '-103.592206', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78872, 'Terlingua', 2824, '79852', '432', '29.331466', '-103.592206', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78873, 'El Paso', 2824, '79901', '915', '31.762995', '-106.485636', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78874, 'El Paso', 2824, '79902', '915', '31.786128', '-106.495968', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78875, 'El Paso', 2824, '79934', '915', '31.939652', '-106.419755', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78876, 'El Paso', 2824, '79968', '915', '31.772558', '-106.505452', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78877, 'Univ Of Tx El Paso', 2824, '79968', '915', '31.772558', '-106.505452', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78878, 'Garden City', 2824, '79739', '432', '31.869194', '-101.52032', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78879, 'Midkiff', 2824, '79755', '432', '31.365813', '-101.989066', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78880, 'Odessa', 2824, '79764', '432', '31.911729', '-102.483329', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78881, 'Rankin', 2824, '79778', '432', '31.223811', '-101.952712', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78882, 'Anthony', 2824, '79821', '915', '31.968321', '-106.60139', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78883, 'Vinton', 2824, '79821', '915', '31.968321', '-106.60139', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78884, 'Fort Hancock', 2824, '79839', '915', '31.442495', '-105.673232', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78885, 'Mc Nary', 2824, '79839', '915', '31.442495', '-105.673232', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78886, 'Presidio', 2824, '79846', '432', '29.4706', '-104.004424', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78887, 'Redford', 2824, '79846', '432', '29.4706', '-104.004424', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78888, 'Tornillo', 2824, '79853', '915', '31.446675', '-106.069162', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78889, 'Kent', 2824, '79855', '915', '31.140907', '-104.491066', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78890, 'Van Horn', 2824, '79855', '915', '31.140907', '-104.491066', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78891, 'El Paso', 2824, '79905', '915', '31.767703', '-106.430417', '2018-11-29 05:18:32', '2018-11-29 05:18:32'),\n(78892, 'El Paso', 2824, '79914', '915', '31.7589', '-106.4866', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78893, 'El Paso', 2824, '79928', '915', '31.660865', '-106.139339', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78894, 'Horizon City', 2824, '79928', '915', '31.660865', '-106.139339', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78895, 'Socorro', 2824, '79928', '915', '31.660865', '-106.139339', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78896, 'El Paso', 2824, '79930', '915', '31.81307', '-106.467085', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78897, 'El Paso', 2824, '79946', '915', '31.7589', '-106.4866', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78898, 'El Paso', 2824, '79998', '915', '31.7589', '-106.4866', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78899, 'Maxwell', 2824, '78656', '512', '29.895804', '-97.819656', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78900, 'Reedville', 2824, '78656', '512', '29.895804', '-97.819656', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78901, 'Cottonwd Shrs', 2824, '78657', '830', '30.542551', '-98.37418', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78902, 'Cottonwood Shores', 2824, '78657', '830', '30.542551', '-98.37418', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78903, 'Horseshoe Bay', 2824, '78657', '830', '30.542551', '-98.37418', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78904, 'Marble Falls', 2824, '78657', '830', '30.542551', '-98.37418', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78905, 'Albert', 2824, '78671', '830', '30.212117', '-98.636572', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78906, 'Stonewall', 2824, '78671', '830', '30.212117', '-98.636572', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78907, 'Tow', 2824, '78672', '325', '30.868972', '-98.501267', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78908, 'Austin', 2824, '78722', '512', '30.291926', '-97.716549', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78909, 'Austin', 2824, '78773', '512', '30.2667', '-97.7428', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78910, 'Dept Of Public Safety', 2824, '78773', '512', '30.2667', '-97.7428', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78911, 'Crystal City', 2824, '78839', '830', '28.77861', '-99.761565', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78912, 'Del Rio', 2824, '78841', '830', '29.3627', '-100.8967', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78913, 'Langtry', 2824, '78871', '432', '29.8066', '-101.5606', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78914, 'Booker', 2824, '79005', '806', '36.352311', '-100.410993', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78915, 'Borger', 2824, '79007', '806', '35.770008', '-101.291614', '2018-11-29 05:18:33', '2018-11-29 05:18:33'),\n(78916, 'Phillips', 2824, '79007', '806', '35.770008', '-101.291614', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78917, 'Dalhart', 2824, '79022', '806', '36.262934', '-102.601868', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78918, 'Groom', 2824, '79039', '806', '35.252867', '-101.254368', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78919, 'Plainview', 2824, '79073', '806', '34.1844', '-101.7065', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78920, 'Amarillo', 2824, '79105', '806', '35.2218', '-101.8309', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78921, 'Amarillo', 2824, '79106', '806', '35.207559', '-101.890256', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78922, 'Amarillo', 2824, '79107', '806', '35.230745', '-101.79547', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78923, 'Amarillo', 2824, '79121', '806', '35.151864', '-101.947262', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78924, 'Amarillo', 2824, '79124', '806', '35.398443', '-102.016896', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78925, 'Bishop Hills', 2824, '79124', '806', '35.398443', '-102.016896', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78926, 'Amarillo', 2824, '79174', '806', '35.2218', '-101.8309', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78927, 'Boys Ranch', 2824, '79174', '806', '35.2218', '-101.8309', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78928, 'Cee Vee', 2824, '79223', '940', '34.229506', '-100.457158', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78929, 'Lelia Lake', 2824, '79240', '806', '34.881423', '-100.658352', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78930, 'Lockney', 2824, '79241', '806', '34.174094', '-101.303235', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78931, 'Quitaque', 2824, '79255', '806', '34.530294', '-101.112242', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78932, 'Silverton', 2824, '79257', '806', '34.530276', '-101.231636', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78933, 'Crosbyton', 2824, '79322', '806', '33.615264', '-101.187251', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78934, 'Farwell', 2824, '79325', '806', '34.406266', '-102.88889', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78935, 'Littlefield', 2824, '79339', '806', '33.941104', '-102.26138', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78936, 'Plains', 2824, '79355', '806', '33.198324', '-102.828726', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78937, 'Cone', 2824, '79357', '806', '33.614076', '-101.333726', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78938, 'Ralls', 2824, '79357', '806', '33.614076', '-101.333726', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78939, 'Lubbock', 2824, '79424', '806', '33.47143', '-101.95161', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78940, 'Blackwell', 2824, '79506', '325', '32.14894', '-100.34437', '2018-11-29 05:18:34', '2018-11-29 05:18:34'),\n(78941, 'Port O\\' Connor', 2824, '77982', '361', '28.218395', '-96.62447', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78942, 'Dreyer', 2824, '77984', '361', '29.42088', '-97.147198', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78943, 'Glaze City', 2824, '77984', '361', '29.42088', '-97.147198', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78944, 'Henkhaus', 2824, '77984', '361', '29.42088', '-97.147198', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78945, 'Mount Olive', 2824, '77984', '361', '29.42088', '-97.147198', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78946, 'Shiner', 2824, '77984', '361', '29.42088', '-97.147198', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78947, 'Thomaston', 2824, '77989', '361', '28.9968', '-97.1575', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78948, 'Grey Forest', 2824, '78023', '210', '29.626598', '-98.751305', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78949, 'Helotes', 2824, '78023', '210', '29.626598', '-98.751305', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78950, 'Moore', 2824, '78057', '830', '28.979322', '-98.96195', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78951, 'Von Ormy', 2824, '78073', '210', '29.242301', '-98.627174', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78952, 'Gillett', 2824, '78116', '830', '29.079755', '-97.774918', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78953, 'Smiley', 2824, '78159', '830', '29.233864', '-97.588532', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78954, 'Alamo Heights', 2824, '78209', '210', '29.48562', '-98.458175', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78955, 'San Antonio', 2824, '78209', '210', '29.48562', '-98.458175', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78956, 'Terrell Hills', 2824, '78209', '210', '29.48562', '-98.458175', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78957, 'San Antonio', 2824, '78223', '210', '29.310926', '-98.373612', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78958, 'San Antonio', 2824, '78225', '210', '29.388759', '-98.52757', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78959, 'San Antonio', 2824, '78241', '210', '29.3846', '-98.5651', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78960, 'San Antonio', 2824, '78257', '210', '29.675982', '-98.576056', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78961, 'Shavano Park', 2824, '78257', '210', '29.675982', '-98.576056', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78962, 'Bracken', 2824, '78266', '210', '29.655018', '-98.319651', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78963, 'Garden Ridge', 2824, '78266', '210', '29.655018', '-98.319651', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78964, 'San Antonio', 2824, '78266', '210', '29.655018', '-98.319651', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78965, 'Leon Valley', 2824, '78268', '210', '29.4953', '-98.6186', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78966, 'San Antonio', 2824, '78268', '210', '29.4953', '-98.6186', '2018-11-29 05:18:35', '2018-11-29 05:18:35'),\n(78967, 'Alfred', 2824, '78332', '361', '27.681006', '-98.084156', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78968, 'Alice', 2824, '78332', '361', '27.681006', '-98.084156', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78969, 'Guajillo', 2824, '78332', '361', '27.681006', '-98.084156', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78970, 'Palito Blanco', 2824, '78332', '361', '27.681006', '-98.084156', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78971, 'San Jose', 2824, '78332', '361', '27.681006', '-98.084156', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78972, 'Benavides', 2824, '78341', '361', '27.5977', '-98.4082', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78973, 'Bishop', 2824, '78343', '361', '27.636248', '-97.714545', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78974, 'Palo Alto', 2824, '78343', '361', '27.636248', '-97.714545', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78975, 'Refugio', 2824, '78377', '361', '28.347934', '-97.216746', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78976, 'Copano Village', 2824, '78382', '361', '28.079056', '-97.025411', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78977, 'Estes', 2824, '78382', '361', '28.079056', '-97.025411', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78978, 'Lamar', 2824, '78382', '361', '28.079056', '-97.025411', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78979, 'Rockport', 2824, '78382', '361', '28.079056', '-97.025411', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78980, 'Tynan', 2824, '78391', '361', '28.178248', '-97.760494', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78981, 'Corp Christi', 2824, '78418', '361', '27.643602', '-97.248616', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78982, 'Corpus Christi', 2824, '78418', '361', '27.643602', '-97.248616', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78983, 'Padre Island National Seasho', 2824, '78418', '361', '27.643602', '-97.248616', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78984, 'Mc Allen', 2824, '78502', '956', '26.2053', '-98.2256', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78985, 'Mcallen', 2824, '78502', '956', '26.2053', '-98.2256', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78986, 'Alamo', 2824, '78516', '956', '26.198357', '-98.115249', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78987, 'Campo Alto', 2824, '78516', '956', '26.198357', '-98.115249', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78988, 'El Gato', 2824, '78516', '956', '26.198357', '-98.115249', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78989, 'Hidalgo', 2824, '78557', '956', '26.113397', '-98.255162', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78990, 'Lasara', 2824, '78561', '956', '26.4636', '-97.9122', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78991, 'Olmito', 2824, '78575', '956', '26.024984', '-97.548995', '2018-11-29 05:18:36', '2018-11-29 05:18:36'),\n(78992, 'Rancho Viejo', 2824, '78575', '956', '26.024984', '-97.548995', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78993, 'Bastrop', 2824, '78602', '512', '30.134636', '-97.319982', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78994, 'Calvin', 2824, '78602', '512', '30.134636', '-97.319982', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78995, 'Clearview', 2824, '78602', '512', '30.134636', '-97.319982', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78996, 'Hill', 2824, '78602', '512', '30.134636', '-97.319982', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78997, 'Leander', 2824, '78641', '512', '30.534332', '-97.913525', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78998, 'Volente', 2824, '78641', '512', '30.534332', '-97.913525', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(78999, 'Whitestone', 2824, '78641', '512', '30.534332', '-97.913525', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79000, 'Manchaca', 2824, '78652', '512', '30.14128', '-97.864808', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79001, 'Austin', 2824, '78718', '512', '30.2669', '-97.7428', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79002, 'Austin', 2824, '78750', '512', '30.414146', '-97.807032', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79003, 'Austin', 2824, '78752', '512', '30.334114', '-97.69994', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79004, 'Austin', 2824, '78766', '512', '30.2667', '-97.7428', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79005, 'Uvalde', 2824, '78802', '830', '29.2095', '-99.7858', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79006, 'Asherton', 2824, '78827', '830', '28.351246', '-99.694257', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79007, 'D Hanis', 2824, '78850', '830', '29.359152', '-99.302396', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79008, 'Knippa', 2824, '78870', '830', '29.290507', '-99.636735', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79009, 'Yancey', 2824, '78886', '830', '29.153389', '-99.157466', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79010, 'Ammansville', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79011, 'Halsted', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79012, 'Holman', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79013, 'La Grange', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79014, 'Mullins Prairie', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79015, 'Oquinn', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:37', '2018-11-29 05:18:37'),\n(79016, 'Rabbs Prairie', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79017, 'Rutersville', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79018, 'Winchester', 2824, '78945', '979', '29.900684', '-96.898576', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79019, 'Plum', 2824, '78952', '979', '29.9347', '-96.9672', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79020, 'Thompsonville', 2824, '78959', '830', '29.67531', '-97.274076', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79021, 'Waelder', 2824, '78959', '830', '29.67531', '-97.274076', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79022, 'Round Top', 2824, '78961', '979', '30.0108', '-96.7162', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79023, 'Warrenton', 2824, '78961', '979', '30.0108', '-96.7162', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79024, 'Alanreed', 2824, '79002', '806', '35.22675', '-100.759125', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79025, 'Channing', 2824, '79018', '806', '35.83897', '-102.602176', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79026, 'Masterson', 2824, '79018', '806', '35.83897', '-102.602176', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79027, 'Follett', 2824, '79034', '806', '36.36723', '-100.178682', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79028, 'Fritch', 2824, '79036', '806', '35.675736', '-101.544825', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79029, 'Hereford', 2824, '79045', '806', '34.966638', '-102.605366', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79030, 'Kress', 2824, '79052', '806', '34.423412', '-101.7349', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79031, 'Lefors', 2824, '79054', '806', '35.454753', '-100.760572', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79032, 'Miami', 2824, '79059', '806', '35.838536', '-100.812828', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79033, 'Panhandle', 2824, '79068', '806', '35.403415', '-101.457072', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79034, 'Perryton', 2824, '79070', '806', '36.278419', '-100.815862', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79035, 'Amarillo', 2824, '79109', '806', '35.160736', '-101.87609', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79036, 'Amarillo', 2824, '79120', '806', '35.2218', '-101.8309', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79037, 'Crowell', 2824, '79227', '940', '33.987764', '-99.761493', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79038, 'Truscott', 2824, '79227', '940', '33.987764', '-99.761493', '2018-11-29 05:18:38', '2018-11-29 05:18:38'),\n(79039, 'Memphis', 2824, '79245', '806', '34.63263', '-100.541162', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79040, 'Tell', 2824, '79259', '940', '34.360556', '-100.444421', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79041, 'Anton', 2824, '79313', '806', '33.764605', '-102.182628', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79042, 'Idalou', 2824, '79329', '806', '33.712719', '-101.656361', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79043, 'Lorenzo', 2824, '79343', '806', '33.613025', '-101.473588', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79044, 'Meadow', 2824, '79345', '806', '33.321626', '-102.335356', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79045, 'Shallowater', 2824, '79363', '806', '33.70454', '-102.01404', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79046, 'Welch', 2824, '79377', '806', '32.831334', '-102.08575', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79047, 'Lubbock', 2824, '79402', '806', '33.5817', '-101.8496', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79048, 'Lubbock', 2824, '79452', '806', '33.5776', '-101.8549', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79049, 'Lubbock', 2824, '79493', '806', '33.5776', '-101.8549', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79050, 'Baird', 2824, '79504', '325', '32.349303', '-99.315094', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79051, 'Hamlin', 2824, '79520', '325', '32.855676', '-100.157028', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79052, 'Inadale', 2824, '79545', '325', '32.407268', '-100.50259', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79053, 'Pyron', 2824, '79545', '325', '32.407268', '-100.50259', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79054, 'Roscoe', 2824, '79545', '325', '32.407268', '-100.50259', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79055, 'Wastella', 2824, '79545', '325', '32.407268', '-100.50259', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79056, 'Trent', 2824, '79561', '325', '32.487654', '-100.101036', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79057, 'Tye', 2824, '79563', '325', '32.42127', '-99.884798', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79058, 'Abilene', 2824, '79604', '325', '32.4487', '-99.7329', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79059, 'Big Spring', 2824, '79720', '432', '32.290965', '-101.438195', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79060, 'Vealmoor', 2824, '79720', '432', '32.290965', '-101.438195', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79061, 'Crane', 2824, '79731', '432', '31.368964', '-102.534315', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79062, 'Gail', 2824, '79738', '806', '32.743162', '-101.448411', '2018-11-29 05:18:39', '2018-11-29 05:18:39'),\n(79063, 'Mc Camey', 2824, '79752', '432', '31.367273', '-102.15773', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79064, 'Mccamey', 2824, '79752', '432', '31.367273', '-102.15773', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79065, 'Mentone', 2824, '79754', '915', '31.82547', '-103.655431', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79066, 'Orla', 2824, '79770', '432', '31.8285', '-103.9136', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79067, 'Sheffield', 2824, '79781', '432', '30.683712', '-101.98191', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79068, 'Fabens', 2824, '79838', '915', '31.473286', '-106.158611', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79069, 'Valentine', 2824, '79854', '432', '30.74937', '-104.54084', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79070, 'El Paso', 2824, '79906', '915', '31.813413', '-106.385793', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79071, 'Fort Bliss', 2824, '79906', '915', '31.813413', '-106.385793', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79072, 'El Paso', 2824, '79947', '915', '31.7589', '-106.4866', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79073, 'El Paso', 2824, '79995', '915', '31.7589', '-106.4866', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79074, 'El Paso', 2824, '79997', '915', '31.7589', '-106.4866', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79075, 'Coahoma', 2824, '79511', '432', '32.40398', '-101.278735', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79076, 'Knox City', 2824, '79529', '940', '33.449436', '-99.85547', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79077, 'Content', 2824, '79538', '325', '31.954482', '-99.658081', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79078, 'Novice', 2824, '79538', '325', '31.954482', '-99.658081', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79079, 'Longworth', 2824, '79543', '325', '32.697662', '-100.452174', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79080, 'Roby', 2824, '79543', '325', '32.697662', '-100.452174', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79081, 'Royston', 2824, '79543', '325', '32.697662', '-100.452174', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79082, 'Rolls', 2824, '79547', '940', '33.186857', '-99.898492', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79083, 'Rule', 2824, '79547', '940', '33.186857', '-99.898492', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79084, 'Midland', 2824, '79702', '432', '31.9601', '-102.0812', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79085, 'Midland', 2824, '79704', '432', '31.9974', '-102.0778', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79086, 'Midland', 2824, '79711', '432', '31.9974', '-102.0778', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79087, 'Ackerly', 2824, '79713', '806', '32.639986', '-101.819034', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79088, 'Kermit', 2824, '79745', '432', '31.869287', '-103.062458', '2018-11-29 05:18:40', '2018-11-29 05:18:40'),\n(79089, 'Monahans', 2824, '79756', '432', '31.50643', '-102.974764', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79090, 'Thorntonville', 2824, '79756', '432', '31.50643', '-102.974764', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79091, 'Pecos', 2824, '79772', '432', '31.541389', '-103.556619', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79092, 'Verhalen', 2824, '79772', '432', '31.541389', '-103.556619', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79093, 'Pyote', 2824, '79777', '432', '31.562164', '-103.356657', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79094, 'Toyahvale', 2824, '79786', '432', '30.9445', '-103.7887', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79095, 'Wickett', 2824, '79788', '432', '31.569564', '-103.006314', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79096, 'Alpine', 2824, '79831', '432', '30.306808', '-103.670426', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79097, 'El Paso', 2824, '79913', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79098, 'El Paso', 2824, '79920', '915', '31.8212', '-106.4608', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79099, 'Wbamc', 2824, '79920', '915', '31.8212', '-106.4608', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79100, 'El Paso', 2824, '79922', '915', '31.803651', '-106.555804', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79101, 'El Paso', 2824, '79929', '915', '31.7605', '-106.4808', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79102, 'Socorro', 2824, '79929', '915', '31.7605', '-106.4808', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79103, 'El Paso', 2824, '79931', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79104, 'El Paso', 2824, '79938', '915', '31.855168', '-106.02837', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79105, 'El Paso', 2824, '79945', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79106, 'El Paso', 2824, '79954', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79107, 'El Paso', 2824, '79961', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79108, 'El Paso Water Utilities', 2824, '79961', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79109, 'El Paso', 2824, '79990', '915', '31.7589', '-106.4866', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79110, 'Edgeworth', 2824, '76569', '254', '30.957776', '-97.231649', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79111, 'Leedale', 2824, '76569', '254', '30.957776', '-97.231649', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79112, 'Red Ranger', 2824, '76569', '254', '30.957776', '-97.231649', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79113, 'Rogers', 2824, '76569', '254', '30.957776', '-97.231649', '2018-11-29 05:18:41', '2018-11-29 05:18:41'),\n(79114, 'Cranfills Gap', 2824, '76637', '254', '31.777023', '-97.778769', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79115, 'Clifton', 2824, '76644', '254', '31.8049', '-97.4831', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79116, 'Laguna Park', 2824, '76644', '254', '31.8049', '-97.4831', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79117, 'Alto Springs', 2824, '76653', '254', '31.344182', '-96.575195', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79118, 'Denny', 2824, '76653', '254', '31.344182', '-96.575195', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79119, 'Headsville', 2824, '76653', '254', '31.344182', '-96.575195', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79120, 'Kosse', 2824, '76653', '254', '31.344182', '-96.575195', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79121, 'Ben Hur', 2824, '76664', '254', '31.577978', '-96.8454', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79122, 'Kirk', 2824, '76664', '254', '31.577978', '-96.8454', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79123, 'Mart', 2824, '76664', '254', '31.577978', '-96.8454', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79124, 'Watt', 2824, '76664', '254', '31.577978', '-96.8454', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79125, 'Prairie Hill', 2824, '76678', '254', '31.669716', '-96.775766', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79126, 'Waco', 2824, '76712', '254', '31.528761', '-97.24375', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79127, 'Woodway', 2824, '76712', '254', '31.528761', '-97.24375', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79128, 'Waco', 2824, '76714', '254', '31.5495', '-97.1464', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79129, 'Brownwood', 2824, '76803', '325', '31.7094', '-98.9908', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79130, 'Early', 2824, '76803', '325', '31.7094', '-98.9908', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79131, 'Hext', 2824, '76848', '325', '30.880394', '-99.5498', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79132, 'Millersview', 2824, '76862', '325', '31.437014', '-99.739189', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79133, 'Star', 2824, '76880', '325', '31.473476', '-98.383365', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79134, 'Voca', 2824, '76887', '325', '30.993196', '-99.157201', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79135, 'San Angelo', 2824, '76903', '325', '31.471056', '-100.431854', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79136, 'Barnhart', 2824, '76930', '325', '31.189712', '-101.18523', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79137, 'Houston', 2824, '77003', '713', '29.748829', '-95.343842', '2018-11-29 05:18:42', '2018-11-29 05:18:42'),\n(79138, 'Houston', 2824, '77028', '713', '29.822812', '-95.296867', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79139, 'Sheldon', 2824, '77028', '713', '29.822812', '-95.296867', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79140, 'Houston', 2824, '77048', '713', '29.620182', '-95.326836', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79141, 'Houston', 2824, '77057', '713', '29.748316', '-95.488856', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79142, 'Houston', 2824, '77064', '281', '29.93071', '-95.542772', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79143, 'Jersey Village', 2824, '77064', '281', '29.93071', '-95.542772', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79144, 'Jersey Vlg', 2824, '77064', '281', '29.93071', '-95.542772', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79145, 'Houston', 2824, '77080', '713', '29.813912', '-95.519594', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79146, 'Houston', 2824, '77082', '281', '29.722007', '-95.631891', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79147, 'Houston', 2824, '77098', '713', '29.734388', '-95.415938', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79148, 'Houston', 2824, '77205', '281', '29.9818', '-95.3481', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79149, 'Humble', 2824, '77205', '281', '29.9818', '-95.3481', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79150, 'Houston', 2824, '77255', '832', '29.7632', '-95.3633', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79151, 'Houston', 2824, '77257', '713', '29.7632', '-95.3633', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79152, 'Houston', 2824, '77271', '713', '29.7632', '-95.3633', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79153, 'Humble', 2824, '77339', '281', '30.052979', '-95.22268', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79154, 'Kingwood', 2824, '77339', '281', '30.052979', '-95.22268', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79155, 'Pointblank', 2824, '77364', '936', '30.769604', '-95.223646', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79156, 'Spring', 2824, '77382', '281', '30.199368', '-95.534951', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79157, 'The Woodlands', 2824, '77382', '281', '30.199368', '-95.534951', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79158, 'Richmond', 2824, '77407', '832', '29.667837', '-95.722106', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79159, 'Bay City', 2824, '77414', '979', '28.918118', '-95.834818', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79160, 'Buckeye', 2824, '77414', '979', '28.918118', '-95.834818', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79161, 'Cedar Lake', 2824, '77414', '979', '28.918118', '-95.834818', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79162, 'Clemville', 2824, '77414', '979', '28.918118', '-95.834818', '2018-11-29 05:18:43', '2018-11-29 05:18:43'),\n(79163, 'Sargent', 2824, '77414', '979', '28.918118', '-95.834818', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79164, 'Fulshear', 2824, '77441', '281', '29.681924', '-95.920287', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79165, 'Weston Lakes', 2824, '77441', '281', '29.681924', '-95.920287', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79166, 'Missouri City', 2824, '77489', '281', '29.607027', '-95.513034', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79167, 'Katy', 2824, '77491', '281', '29.7857', '-95.8242', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79168, 'Park Row', 2824, '77491', '281', '29.7857', '-95.8242', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79169, 'Galveston', 2824, '77555', '409', '29.2992', '-94.7926', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79170, 'U Of T Med Br At Galveston', 2824, '77555', '409', '29.2992', '-94.7926', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79171, 'Hull', 2824, '77564', '936', '30.140997', '-94.649347', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79172, 'La Porte', 2824, '77571', '281', '29.682972', '-95.048232', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79173, 'Lomax', 2824, '77571', '281', '29.682972', '-95.048232', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79174, 'Morgans Point', 2824, '77571', '281', '29.682972', '-95.048232', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79175, 'Shoreacres', 2824, '77571', '281', '29.682972', '-95.048232', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79176, 'Sylvan Beach', 2824, '77571', '281', '29.682972', '-95.048232', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79177, 'Ames', 2824, '77575', '936', '30.098941', '-94.726805', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79178, 'Liberty', 2824, '77575', '936', '30.098941', '-94.726805', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79179, 'Moss Bluff', 2824, '77575', '936', '30.098941', '-94.726805', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79180, 'Moss Hill', 2824, '77575', '936', '30.098941', '-94.726805', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79181, 'Raywood', 2824, '77582', '936', '30.027659', '-94.657424', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79182, 'Bryan', 2824, '77805', '979', '30.6744', '-96.3697', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79183, 'Bryan', 2824, '77807', '979', '30.6849', '-96.48831', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79184, 'Anderson', 2824, '77830', '936', '30.55211', '-96.00254', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79185, 'Carlos', 2824, '77830', '936', '30.55211', '-96.00254', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79186, 'Concord', 2824, '77850', '903', '31.26511', '-96.0995', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79187, 'Astin', 2824, '77859', '979', '30.836242', '-96.587042', '2018-11-29 05:18:44', '2018-11-29 05:18:44'),\n(79188, 'Hearne', 2824, '77859', '979', '30.836242', '-96.587042', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79189, 'Connor', 2824, '77864', '936', '30.972629', '-95.897114', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79190, 'Madisonville', 2824, '77864', '936', '30.972629', '-95.897114', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79191, 'Breslau', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79192, 'Ezzell', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79193, 'Hallettsville', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79194, 'Kinkler', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79195, 'Koerth', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79196, 'Rabbs', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(79197, 'Speaks', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79198, 'Vienna', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79199, 'Wied', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79200, 'Worthing', 2824, '77964', '361', '29.381197', '-96.813325', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79201, 'Mc Faddin', 2824, '77973', '361', '28.532051', '-96.966185', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79202, 'Mcfaddin', 2824, '77973', '361', '28.532051', '-96.966185', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79203, 'Moulton', 2824, '77975', '361', '29.553493', '-97.096935', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79204, 'Novohrad', 2824, '77975', '361', '29.553493', '-97.096935', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79205, 'Old Moulton', 2824, '77975', '361', '29.553493', '-97.096935', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79206, 'Witting', 2824, '77975', '361', '29.553493', '-97.096935', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79207, 'Vanderbilt', 2824, '77991', '361', '28.806842', '-96.604217', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79208, 'Calliham', 2824, '78007', '361', '28.350618', '-98.433646', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79209, 'Devine', 2824, '78016', '830', '29.205433', '-98.948097', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79210, 'Ingram', 2824, '78025', '830', '30.098141', '-99.483614', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79211, 'La Coste', 2824, '78039', '830', '29.317389', '-98.827672', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79212, 'Laredo', 2824, '78041', '956', '27.866292', '-99.507238', '2018-11-29 05:18:45', '2018-11-29 05:18:45'),\n(79213, 'Laredo', 2824, '78043', '956', '27.530466', '-99.139191', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79214, 'Rio Bravo', 2824, '78043', '956', '27.530466', '-99.139191', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79215, 'Leming', 2824, '78050', '830', '29.077036', '-98.50901', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79216, 'Natalia', 2824, '78059', '830', '29.193092', '-98.846183', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79217, 'Pleasanton', 2824, '78064', '830', '28.971478', '-98.404221', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79218, 'Whitsett', 2824, '78075', '830', '28.633923', '-98.258863', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79219, 'Berclair', 2824, '78107', '361', '28.542565', '-97.624807', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79220, 'Mc Queeney', 2824, '78123', '830', '29.601136', '-98.045106', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79221, 'Mcqueeney', 2824, '78123', '830', '29.601136', '-98.045106', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79222, 'Kenedy', 2824, '78125', '361', '28.55524', '-97.940744', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79223, 'Mineral', 2824, '78125', '361', '28.55524', '-97.940744', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79224, 'Pandora', 2824, '78143', '830', '29.232232', '-97.832456', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79225, 'Jbsa Randolph', 2824, '78150', '210', '29.522685', '-98.279827', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79226, 'Randolph AFB', 2824, '78150', '210', '29.522685', '-98.279827', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79227, 'Randolph Air', 2824, '78150', '210', '29.522685', '-98.279827', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79228, 'Randolph Air Force Base', 2824, '78150', '210', '29.522685', '-98.279827', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79229, 'Universal City', 2824, '78150', '210', '29.522685', '-98.279827', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79230, 'Universal Cty', 2824, '78150', '210', '29.522685', '-98.279827', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79231, 'Hill Country Village', 2824, '78232', '210', '29.58169', '-98.474161', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79232, 'Hl Cntry Vlg', 2824, '78232', '210', '29.58169', '-98.474161', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79233, 'Hollywood Park', 2824, '78232', '210', '29.58169', '-98.474161', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79234, 'Hollywood Pk', 2824, '78232', '210', '29.58169', '-98.474161', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79235, 'San Antonio', 2824, '78232', '210', '29.58169', '-98.474161', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79236, 'San Antonio', 2824, '78259', '210', '29.631399', '-98.413249', '2018-11-29 05:18:46', '2018-11-29 05:18:46'),\n(79237, 'San Antonio', 2824, '78293', '210', '29.4239', '-98.4935', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79238, 'Dinero', 2824, '78350', '361', '28.2266', '-97.9616', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79239, 'Mount Lucas', 2824, '78350', '361', '28.2266', '-97.9616', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79240, 'Edroy', 2824, '78352', '361', '27.99289', '-97.689817', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79241, 'Gregory', 2824, '78359', '361', '27.932578', '-97.295948', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79242, 'Premont', 2824, '78375', '361', '27.36529', '-98.145542', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79243, 'Rosita', 2824, '78384', '361', '27.856754', '-98.363625', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79244, 'San Diego', 2824, '78384', '361', '27.856754', '-98.363625', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79245, 'Bonnie View', 2824, '78393', '361', '28.221049', '-97.347241', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79246, 'Woodsboro', 2824, '78393', '361', '28.221049', '-97.347241', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79247, 'Corp Christi', 2824, '78402', '361', '27.825634', '-97.416184', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79248, 'Corpus Christi', 2824, '78402', '361', '27.825634', '-97.416184', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79249, 'Corp Christi', 2824, '78416', '361', '27.751056', '-97.440174', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79250, 'Corpus Christi', 2824, '78416', '361', '27.751056', '-97.440174', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79251, 'Corp Christi', 2824, '78427', '361', '27.8006', '-97.3964', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79252, 'Corpus Christi', 2824, '78427', '361', '27.8006', '-97.3964', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79253, 'Corp Christi', 2824, '78466', '361', '27.8006', '-97.3964', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79254, 'Corpus Christi', 2824, '78466', '361', '27.8006', '-97.3964', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79255, 'Corp Christi', 2824, '78468', '361', '27.8006', '-97.3964', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79256, 'Corpus Christi', 2824, '78468', '361', '27.8006', '-97.3964', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79257, 'Edinburg', 2824, '78541', '956', '26.375679', '-98.145456', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79258, 'Elsa', 2824, '78543', '956', '26.306804', '-97.998055', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79259, 'Engelman', 2824, '78543', '956', '26.306804', '-97.998055', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79260, 'Adams Gardens', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:47', '2018-11-29 05:18:47'),\n(79261, 'Arroyo', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79262, 'Avondale', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79263, 'Harlingen', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79264, 'Hgn', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79265, 'Kayare', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79266, 'Primera', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79267, 'Stuart Place', 2824, '78550', '956', '26.24561', '-97.679961', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79268, 'Harlingen', 2824, '78552', '956', '26.188764', '-97.767779', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79269, 'Palm Valley', 2824, '78552', '956', '26.188764', '-97.767779', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79270, 'Bayview', 2824, '78566', '956', '26.123058', '-97.410552', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79271, 'Indian Lake', 2824, '78566', '956', '26.123058', '-97.410552', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79272, 'Los Fresnos', 2824, '78566', '956', '26.123058', '-97.410552', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79273, 'Lozano', 2824, '78568', '956', '26.1887', '-97.5428', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79274, 'Falcon', 2824, '78584', '956', '26.577578', '-99.006719', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79275, 'Fronton', 2824, '78584', '956', '26.577578', '-99.006719', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79276, 'Los Saenz', 2824, '78584', '956', '26.577578', '-99.006719', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79277, 'Roma', 2824, '78584', '956', '26.577578', '-99.006719', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79278, 'Burnet', 2824, '78611', '512', '30.804035', '-98.269897', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79279, 'Georgetown', 2824, '78627', '512', '30.6326', '-97.6768', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79280, 'Cypress Mill', 2824, '78636', '830', '30.317125', '-98.380074', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79281, 'Johnson City', 2824, '78636', '830', '30.317125', '-98.380074', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79282, 'Llano', 2824, '78643', '915', '30.703804', '-98.657071', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79283, 'Sunrise Beach', 2824, '78643', '915', '30.703804', '-98.657071', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79284, 'Hills', 2824, '78659', '512', '30.210196', '-97.114346', '2018-11-29 05:18:48', '2018-11-29 05:18:48'),\n(79285, 'Manheim', 2824, '78659', '512', '30.210196', '-97.114346', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79286, 'Paige', 2824, '78659', '512', '30.210196', '-97.114346', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79287, 'San Marcos', 2824, '78666', '512', '29.878458', '-98.020018', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79288, 'Pflugerville', 2824, '78691', '512', '30.4426', '-97.6277', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79289, 'Austin', 2824, '78702', '512', '30.263915', '-97.71366', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79290, 'Austin', 2824, '78711', '512', '30.2669', '-97.7428', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79291, 'Austin', 2824, '78734', '512', '30.38223', '-97.956389', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79292, 'Bee Cave', 2824, '78734', '512', '30.38223', '-97.956389', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79293, 'Bee Caves', 2824, '78734', '512', '30.38223', '-97.956389', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79294, 'Hudson Bend', 2824, '78734', '512', '30.38223', '-97.956389', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79295, 'Lakeway', 2824, '78734', '512', '30.38223', '-97.956389', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79296, 'Austin', 2824, '78761', '512', '30.2667', '-97.7428', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79297, 'Austin', 2824, '78768', '512', '30.2667', '-97.7428', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79298, 'Brundage', 2824, '78834', '830', '28.422971', '-99.899214', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79299, 'Carrizo Spgs', 2824, '78834', '830', '28.422971', '-99.899214', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79300, 'Carrizo Springs', 2824, '78834', '830', '28.422971', '-99.899214', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79301, 'Asherton', 2824, '78836', '830', '28.359768', '-99.586027', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79302, 'Catarina', 2824, '78836', '830', '28.359768', '-99.586027', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79303, 'Eagle Pass', 2824, '78852', '830', '28.562017', '-100.332488', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79304, 'Dunlay', 2824, '78861', '830', '29.387167', '-99.145485', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79305, 'Hondo', 2824, '78861', '830', '29.387167', '-99.145485', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79306, 'Glidden', 2824, '78943', '979', '29.697605', '-96.599167', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79307, 'Dimmitt', 2824, '79027', '806', '34.530579', '-102.26192', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79308, 'Dumas', 2824, '79029', '806', '35.837832', '-101.892954', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79309, 'Hart', 2824, '79043', '806', '34.392509', '-102.121342', '2018-11-29 05:18:49', '2018-11-29 05:18:49'),\n(79310, 'Sam Norwood', 2824, '79077', '806', '35.0524', '-100.2766', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79311, 'Stratford', 2824, '79084', '806', '36.277912', '-101.893374', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79312, 'Waka', 2824, '79093', '806', '36.271345', '-101.044304', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79313, 'Wellington', 2824, '79095', '806', '34.96486', '-100.270691', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79314, 'Amarillo', 2824, '79104', '806', '35.206187', '-101.787316', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79315, 'Afton', 2824, '79220', '806', '33.777341', '-100.728062', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79316, 'Dickens', 2824, '79229', '806', '33.616776', '-100.778926', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79317, 'Flomot', 2824, '79234', '806', '34.198054', '-100.99614', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79318, 'Mcadoo', 2824, '79243', '806', '33.75462', '-100.944144', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79319, 'Abernathy', 2824, '79311', '806', '33.918215', '-101.909038', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79320, 'Levelland', 2824, '79338', '806', '33.5872', '-102.3776', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79321, 'Lubbock', 2824, '79411', '806', '33.5706', '-101.857508', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79322, 'Aspermont', 2824, '79502', '940', '33.178798', '-100.254017', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79323, 'Peacock', 2824, '79502', '940', '33.178798', '-100.254017', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79324, 'Houston', 2824, '77006', '713', '29.739568', '-95.388252', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79325, 'Houston', 2824, '77022', '713', '29.829969', '-95.376418', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79326, 'Houston', 2824, '77029', '713', '29.761715', '-95.255198', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79327, 'Jacinto City', 2824, '77029', '713', '29.761715', '-95.255198', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79328, 'Houston', 2824, '77090', '281', '30.001752', '-95.44742', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79329, 'Houston', 2824, '77095', '281', '29.91448', '-95.653054', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79330, 'Houston', 2824, '77204', '713', '29.7632', '-95.3633', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79331, 'University Of Houston', 2824, '77204', '713', '29.7632', '-95.3633', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79332, 'Houston', 2824, '77213', '713', '29.7632', '-95.3633', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79333, 'Houston', 2824, '77238', '713', '29.7632', '-95.3633', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79334, 'Houston', 2824, '77240', '832', '29.7632', '-95.3633', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79335, 'Houston', 2824, '77249', '832', '29.7632', '-95.3633', '2018-11-29 05:18:50', '2018-11-29 05:18:50'),\n(79336, 'Houston', 2824, '77256', '832', '29.7632', '-95.3633', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79337, 'Houston', 2824, '77265', '713', '29.7632', '-95.3633', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79338, 'Houston', 2824, '77272', '281', '29.7632', '-95.3633', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79339, 'Houston', 2824, '77290', '281', '29.7632', '-95.3633', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79340, 'Conroe', 2824, '77306', '936', '30.26713', '-95.316686', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79341, 'Cut And Shoot', 2824, '77306', '936', '30.26713', '-95.316686', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79342, 'Camilla', 2824, '77331', '936', '30.603809', '-95.147518', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79343, 'Coldspring', 2824, '77331', '936', '30.603809', '-95.147518', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79344, 'Stephen Creek', 2824, '77331', '936', '30.603809', '-95.147518', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79345, 'Willow Springs', 2824, '77331', '936', '30.603809', '-95.147518', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79346, 'Bordersville', 2824, '77338', '281', '30.009467', '-95.292984', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79347, 'Humble', 2824, '77338', '281', '30.009467', '-95.292984', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79348, 'Huntsville', 2824, '77349', '936', '30.7234', '-95.5508', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79349, 'Tx State Prison', 2824, '77349', '936', '30.7234', '-95.5508', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79350, 'Montgomery', 2824, '77356', '936', '30.450534', '-95.704768', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79351, 'Bay City', 2824, '77404', '979', '28.9825', '-95.9693', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79352, 'Sargent', 2824, '77404', '979', '28.9825', '-95.9693', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79353, 'Richmond', 2824, '77406', '281', '29.5817', '-95.7609', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79354, 'Barker', 2824, '77413', '281', '29.7844', '-95.6849', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79355, 'Danciger', 2824, '77431', '713', '29.1825', '-95.8279', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79356, 'Katy', 2824, '77449', '281', '29.832544', '-95.732372', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79357, 'Park Row', 2824, '77449', '281', '29.832544', '-95.732372', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79358, 'Markham', 2824, '77456', '979', '28.970348', '-96.10386', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79359, 'Palacios', 2824, '77465', '361', '28.709263', '-96.147063', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79360, 'Frydek', 2824, '77474', '979', '29.774142', '-96.185433', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79361, 'Millheim', 2824, '77474', '979', '29.774142', '-96.185433', '2018-11-29 05:18:51', '2018-11-29 05:18:51'),\n(79362, 'Peters', 2824, '77474', '979', '29.774142', '-96.185433', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79363, 'Sealy', 2824, '77474', '979', '29.774142', '-96.185433', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79364, 'Stafford', 2824, '77497', '281', '29.6156', '-95.5575', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79365, 'Clute', 2824, '77531', '979', '29.055143', '-95.382585', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79366, 'Richwood', 2824, '77531', '979', '29.055143', '-95.382585', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79367, 'Devers', 2824, '77538', '936', '30.000606', '-94.548544', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79368, 'Galena Park', 2824, '77547', '713', '29.74009', '-95.233289', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79369, 'Bayou Vista', 2824, '77563', '409', '29.30136', '-95.004914', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79370, 'Hitchcock', 2824, '77563', '409', '29.30136', '-95.004914', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79371, 'Pearland', 2824, '77588', '281', '29.5636', '-95.2859', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79372, 'Wallisville', 2824, '77597', '409', '29.859538', '-94.688082', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79373, 'Hillister', 2824, '77624', '409', '30.673044', '-94.380044', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79374, 'Silsbee', 2824, '77656', '409', '30.384218', '-94.170936', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79375, 'Beaumont', 2824, '77706', '409', '30.103205', '-94.173932', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79376, 'Beaumont', 2824, '77713', '409', '30.038031', '-94.299854', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79377, 'Bevil Oaks', 2824, '77713', '409', '30.038031', '-94.299854', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79378, 'Bryan', 2824, '77806', '979', '30.6744', '-96.3697', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79379, 'Bryan', 2824, '77808', '979', '30.810964', '-96.345288', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79380, 'Wixon Valley', 2824, '77808', '979', '30.810964', '-96.345288', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79381, 'Bedias', 2824, '77831', '936', '30.734705', '-95.923815', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79382, 'Singleton', 2824, '77831', '936', '30.734705', '-95.923815', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79383, 'Brenham', 2824, '77833', '979', '30.202229', '-96.370674', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79384, 'Gay Hill', 2824, '77833', '979', '30.202229', '-96.370674', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79385, 'Independence', 2824, '77833', '979', '30.202229', '-96.370674', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79386, 'Marquez', 2824, '77865', '903', '31.247399', '-96.22434', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79387, 'Vanetia', 2824, '77865', '903', '31.247399', '-96.22434', '2018-11-29 05:18:52', '2018-11-29 05:18:52'),\n(79388, 'Mumford', 2824, '77867', '979', '30.766442', '-96.578605', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79389, 'Bloomington', 2824, '77951', '361', '28.710304', '-96.803586', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79390, 'Artesia Wells', 2824, '78001', '830', '28.263994', '-99.280108', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79391, 'Boerne', 2824, '78006', '830', '29.897861', '-98.719025', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79392, 'Fair Oaks', 2824, '78006', '830', '29.897861', '-98.719025', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79393, 'Fair Oaks Ranch', 2824, '78006', '830', '29.897861', '-98.719025', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79394, 'Marion', 2824, '78124', '830', '29.548362', '-98.143446', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79395, 'Santa Clara', 2824, '78124', '830', '29.548362', '-98.143446', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79396, 'Canyon Lake', 2824, '78133', '830', '29.891507', '-98.23746', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79397, 'New Braunfels', 2824, '78133', '830', '29.891507', '-98.23746', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79398, 'Sattler', 2824, '78133', '830', '29.891507', '-98.23746', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79399, 'Startzville', 2824, '78133', '830', '29.891507', '-98.23746', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79400, 'Normanna', 2824, '78142', '361', '28.53025', '-97.78936', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79401, 'San Antonio', 2824, '78215', '210', '29.442018', '-98.481652', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79402, 'San Antonio', 2824, '78217', '210', '29.549874', '-98.426288', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79403, 'San Antonio', 2824, '78224', '210', '29.312777', '-98.533115', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79404, 'Kelly Usa', 2824, '78226', '210', '29.377338', '-98.55576', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79405, 'San Antonio', 2824, '78226', '210', '29.377338', '-98.55576', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79406, 'Brooks Afb Branch', 2824, '78235', '210', '29.342325', '-98.439721', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79407, 'Brooks Cb', 2824, '78235', '210', '29.342325', '-98.439721', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79408, 'Brooks City Base', 2824, '78235', '210', '29.342325', '-98.439721', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79409, 'San Antonio', 2824, '78235', '210', '29.342325', '-98.439721', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79410, 'San Antonio', 2824, '78249', '210', '29.569389', '-98.613938', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79411, 'Shavano Park', 2824, '78249', '210', '29.569389', '-98.613938', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79412, 'Alice', 2824, '78333', '361', '27.7518', '-98.0694', '2018-11-29 05:18:53', '2018-11-29 05:18:53'),\n(79413, 'Aransas Pass', 2824, '78335', '361', '27.9093', '-97.1497', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79414, 'Alice', 2824, '78342', '361', '27.6476', '-98.0863', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79415, 'Ben Bolt', 2824, '78342', '361', '27.6476', '-98.0863', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79416, 'Corp Christi', 2824, '78408', '361', '27.795214', '-97.447661', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79417, 'Corpus Christi', 2824, '78408', '361', '27.795214', '-97.447661', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79418, 'Harlingen', 2824, '78551', '956', '26.1906', '-97.6956', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79419, 'La Blanca', 2824, '78558', '956', '26.312508', '-98.03345', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79420, 'Salineno', 2824, '78585', '956', '26.5157', '-99.1125', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79421, 'Buda', 2824, '78610', '512', '30.071798', '-97.842354', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79422, 'Creedmoor', 2824, '78610', '512', '30.071798', '-97.842354', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79423, 'Hays', 2824, '78610', '512', '30.071798', '-97.842354', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79424, 'Mountain City', 2824, '78610', '512', '30.071798', '-97.842354', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79425, 'Mustang Ridge', 2824, '78610', '512', '30.071798', '-97.842354', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79426, 'Del Valle', 2824, '78617', '512', '30.143916', '-97.593944', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79427, 'Elroy', 2824, '78617', '512', '30.143916', '-97.593944', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79428, 'Garfield', 2824, '78617', '512', '30.143916', '-97.593944', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79429, 'Bankersmith', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79430, 'Blumenthal', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79431, 'Cherry Spring', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79432, 'Fredericksbg', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79433, 'Fredericksbrg', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79434, 'Fredericksburg', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79435, 'Gold', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79436, 'Luckenback', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79437, 'Morris Ranch', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79438, 'Spring Creek', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:54', '2018-11-29 05:18:54'),\n(79439, 'Tivydale', 2824, '78624', '830', '30.276627', '-98.903461', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79440, 'Georgetown', 2824, '78633', '512', '30.738703', '-97.751678', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79441, 'Mc Neil', 2824, '78651', '512', '30.4554', '-97.7167', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79442, 'Mcneil', 2824, '78651', '512', '30.4554', '-97.7167', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79443, 'Pioneer Town', 2824, '78676', '512', '30.039118', '-98.121398', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79444, 'Wimberley', 2824, '78676', '512', '30.039118', '-98.121398', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79445, 'Woodcreek', 2824, '78676', '512', '30.039118', '-98.121398', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79446, 'Austin', 2824, '78717', '512', '30.493719', '-97.767998', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79447, 'Brushy Creek', 2824, '78717', '512', '30.493719', '-97.767998', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79448, 'Austin', 2824, '78728', '512', '30.452072', '-97.698148', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79449, 'Austin', 2824, '78742', '512', '30.239882', '-97.658059', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79450, 'Austin', 2824, '78751', '512', '30.310104', '-97.724976', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79451, 'Austin', 2824, '78760', '512', '30.2667', '-97.7428', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79452, 'Austin', 2824, '78767', '512', '30.2667', '-97.7428', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79453, 'Vanderpool', 2824, '78885', '830', '29.767346', '-99.529248', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79454, 'Giddings', 2824, '78942', '979', '30.152236', '-96.922528', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79455, 'Industry', 2824, '78944', '979', '30.000356', '-96.49608', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79456, 'Welcome', 2824, '78944', '979', '30.000356', '-96.49608', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79457, 'Oakland', 2824, '78951', '979', '29.6017', '-96.8294', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79458, 'Borden', 2824, '78962', '979', '29.650707', '-96.645496', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79459, 'Osage', 2824, '78962', '979', '29.650707', '-96.645496', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79460, 'Weimar', 2824, '78962', '979', '29.650707', '-96.645496', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79461, 'Adrian', 2824, '79001', '806', '35.403638', '-102.80043', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79462, 'Boys Ranch', 2824, '79010', '806', '35.446946', '-102.172233', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79463, 'Prayer Town', 2824, '79010', '806', '35.446946', '-102.172233', '2018-11-29 05:18:55', '2018-11-29 05:18:55'),\n(79464, 'Valle De Oro', 2824, '79010', '806', '35.446946', '-102.172233', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79465, 'Claude', 2824, '79019', '806', '34.965326', '-101.356884', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79466, 'Happy', 2824, '79042', '806', '34.689799', '-101.734966', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79467, 'Hartley', 2824, '79044', '806', '35.85341', '-102.680716', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79468, 'Morse', 2824, '79062', '806', '36.090093', '-101.533307', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79469, 'Sanford', 2824, '79078', '806', '35.701127', '-101.560038', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79470, 'Wayside', 2824, '79094', '806', '34.818522', '-101.520553', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79471, 'Amarillo', 2824, '79185', '806', '35.2218', '-101.8309', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79472, 'Clowe And Cowan', 2824, '79185', '806', '35.2218', '-101.8309', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79473, 'Floydada', 2824, '79235', '806', '33.954438', '-101.302847', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79474, 'Hedley', 2824, '79237', '806', '34.87336', '-100.696876', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79475, 'Fieldton', 2824, '79326', '806', '34.096037', '-102.273782', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79476, 'Morton', 2824, '79346', '806', '33.60672', '-102.830554', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79477, 'Odonnell', 2824, '79351', '806', '33.012658', '-101.816825', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79478, 'Goodland', 2824, '79371', '806', '34.11069', '-102.515367', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79479, 'Sudan', 2824, '79371', '806', '34.11069', '-102.515367', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79480, 'Lubbock', 2824, '79453', '806', '33.5776', '-101.8549', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79481, 'Avoca', 2824, '79503', '325', '32.876337', '-99.696396', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79482, 'Clyde', 2824, '79510', '325', '32.297494', '-99.5143', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79483, 'Eula', 2824, '79510', '325', '32.297494', '-99.5143', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79484, 'College Sta', 2824, '77845', '979', '30.55637', '-96.283992', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79485, 'College Station', 2824, '77845', '979', '30.55637', '-96.283992', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79486, 'Iola', 2824, '77861', '936', '30.723094', '-96.078213', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79487, 'Shiro', 2824, '77876', '936', '30.675253', '-95.828558', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79488, 'Point Comfort', 2824, '77978', '361', '28.673119', '-96.544741', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79489, 'Clarks', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:56', '2018-11-29 05:18:56'),\n(79490, 'Green Lake', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79491, 'Indianola', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79492, 'Kamey', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79493, 'Long Mott', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79494, 'Magnolia Beach', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79495, 'Olivia', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79496, 'Port Alto', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79497, 'Port Lavaca', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79498, 'Weedhaven', 2824, '77979', '361', '28.547158', '-96.652062', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79499, 'Kendalia', 2824, '78027', '830', '29.971724', '-98.493513', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79500, 'Kerrville', 2824, '78028', '830', '30.017136', '-99.140252', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79501, 'Laredo', 2824, '78045', '956', '27.682142', '-99.638438', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79502, 'Frio Town', 2824, '78061', '830', '28.868332', '-99.107445', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79503, 'Pearsall', 2824, '78061', '830', '28.868332', '-99.107445', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79504, 'Peggy', 2824, '78062', '830', '28.7394', '-98.1783', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79505, 'Lake Hills', 2824, '78063', '830', '29.676647', '-98.88722', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79506, 'Lakehills', 2824, '78063', '830', '29.676647', '-98.88722', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79507, 'Medina Lake', 2824, '78063', '830', '29.676647', '-98.88722', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79508, 'Pipe Creek', 2824, '78063', '830', '29.676647', '-98.88722', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79509, 'Ecleto', 2824, '78111', '830', '29.040116', '-97.752452', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79510, 'Gillett', 2824, '78111', '830', '29.040116', '-97.752452', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79511, 'Floresville', 2824, '78114', '830', '29.127276', '-98.197667', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79512, 'Panna Maria', 2824, '78144', '830', '28.957058', '-97.8883', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79513, 'Pawnee', 2824, '78145', '361', '28.65257', '-97.992111', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79514, 'Bulverde', 2824, '78163', '830', '29.766235', '-98.462594', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79515, 'San Antonio', 2824, '78227', '210', '29.400013', '-98.624776', '2018-11-29 05:18:57', '2018-11-29 05:18:57'),\n(79516, 'San Antonio', 2824, '78280', '210', '29.4239', '-98.4935', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79517, 'San Antonio', 2824, '78296', '210', '29.4239', '-98.4935', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79518, 'Bruni', 2824, '78344', '361', '27.40163', '-98.868598', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79519, 'Loyola Beach', 2824, '78379', '361', '27.309943', '-97.856739', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79520, 'Riviera', 2824, '78379', '361', '27.309943', '-97.856739', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79521, 'Riviera Beach', 2824, '78379', '361', '27.309943', '-97.856739', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79522, 'Vattmanville', 2824, '78379', '361', '27.309943', '-97.856739', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79523, 'Bluntzer', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79524, 'Petronila', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79525, 'Rabb', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79526, 'Robstown', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79527, 'San Pedro', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79528, 'South San Pedro', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79529, 'Violet', 2824, '78380', '361', '27.81605', '-97.736416', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79530, 'Rockport', 2824, '78381', '361', '28.0205', '-97.0545', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79531, 'Corp Christi', 2824, '78412', '361', '27.700562', '-97.337387', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79532, 'Corpus Christi', 2824, '78412', '361', '27.700562', '-97.337387', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79533, 'Corp Christi', 2824, '78414', '361', '27.664568', '-97.368114', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79534, 'Corpus Christi', 2824, '78414', '361', '27.664568', '-97.368114', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79535, 'Corp Christi', 2824, '78463', '361', '27.8006', '-97.3964', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79536, 'Corpus Christi', 2824, '78463', '361', '27.8006', '-97.3964', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79537, 'Corp Christi', 2824, '78465', '361', '27.8006', '-97.3964', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79538, 'Corpus Christi', 2824, '78465', '361', '27.8006', '-97.3964', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79539, 'Falcon Heights', 2824, '78545', '956', '26.567448', '-99.13293', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79540, 'Falcon Hts', 2824, '78545', '956', '26.567448', '-99.13293', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79541, 'Falcon Village', 2824, '78545', '956', '26.567448', '-99.13293', '2018-11-29 05:18:58', '2018-11-29 05:18:58'),\n(79542, 'Linn', 2824, '78563', '956', '26.596232', '-98.211825', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79543, 'Puerto Rico', 2824, '78563', '956', '26.596232', '-98.211825', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79544, 'El Sauz', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79545, 'Escobares', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79546, 'Fort Ringgold', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79547, 'Garceno', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79548, 'La Casita', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79549, 'Rincon', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79550, 'Rio Grande', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79551, 'Rio Grande City', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79552, 'Rio Grande Cy', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79553, 'Santa Catarina', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79554, 'Santa Cruz', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79555, 'Villareales', 2824, '78582', '956', '26.510284', '-98.675196', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79556, 'Cedar Park', 2824, '78613', '512', '30.497998', '-97.815694', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79557, 'Andice', 2824, '78628', '512', '30.646476', '-97.755772', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79558, 'Georgetown', 2824, '78628', '512', '30.646476', '-97.755772', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79559, 'Sun City', 2824, '78628', '512', '30.646476', '-97.755772', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79560, 'Harper', 2824, '78631', '830', '30.317095', '-99.16619', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79561, 'Knoxville', 2824, '78631', '830', '30.317095', '-99.16619', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79562, 'Noxville', 2824, '78631', '830', '30.317095', '-99.16619', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79563, 'Red Rock', 2824, '78662', '512', '29.95232', '-97.444839', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79564, 'Cypress Mill', 2824, '78663', '830', '30.431017', '-98.363295', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79565, 'Round Mountain', 2824, '78663', '830', '30.431017', '-98.363295', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79566, 'Round Mtn', 2824, '78663', '830', '30.431017', '-98.363295', '2018-11-29 05:18:59', '2018-11-29 05:18:59'),\n(79567, 'Old Round Rock', 2824, '78664', '512', '30.500628', '-97.630248', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79568, 'Round Rock', 2824, '78664', '512', '30.500628', '-97.630248', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79569, 'Three Point', 2824, '78664', '512', '30.500628', '-97.630248', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79570, 'Dell Computers', 2824, '78682', '512', '30.5155', '-97.6692', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79571, 'Round Rock', 2824, '78682', '512', '30.5155', '-97.6692', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79572, 'Austin', 2824, '78729', '512', '30.455895', '-97.757414', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79573, 'Jollyville', 2824, '78729', '512', '30.455895', '-97.757414', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79574, 'Austin', 2824, '78730', '512', '30.362959', '-97.836597', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79575, 'Austin', 2824, '78745', '512', '30.200659', '-97.797109', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79576, 'Sunset Valley', 2824, '78745', '512', '30.200659', '-97.797109', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79577, 'Austin', 2824, '78748', '512', '30.163983', '-97.822647', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79578, 'San Leanna', 2824, '78748', '512', '30.163983', '-97.822647', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79579, 'Austin', 2824, '78749', '512', '30.207113', '-97.860642', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79580, 'Oak Hill', 2824, '78749', '512', '30.207113', '-97.860642', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79581, 'Austin', 2824, '78799', '512', '30.2667', '-97.7428', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79582, 'Rmx', 2824, '78799', '512', '30.2667', '-97.7428', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79583, 'Big Wells', 2824, '78830', '830', '28.525766', '-99.592273', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79584, 'Brackettville', 2824, '78832', '830', '29.354071', '-100.454146', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79585, 'Carolina Redemption Services', 2824, '78847', '830', '29.3627', '-100.8967', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79586, 'Del Rio', 2824, '78847', '830', '29.3627', '-100.8967', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79587, 'Rocksprings', 2824, '78880', '830', '29.957004', '-100.22751', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79588, 'Sabinal', 2824, '78881', '830', '29.305736', '-99.547156', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79589, 'Carmine', 2824, '78932', '979', '30.132022', '-96.694276', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79590, 'Ledbetter', 2824, '78946', '979', '30.217211', '-96.752536', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79591, 'Nechanitz', 2824, '78946', '979', '30.217211', '-96.752536', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79592, 'Post Oak', 2824, '78946', '979', '30.217211', '-96.752536', '2018-11-29 05:19:00', '2018-11-29 05:19:00'),\n(79593, 'Waldeck', 2824, '78946', '979', '30.217211', '-96.752536', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79594, 'Flatonia', 2824, '78949', '979', '29.816524', '-97.06432', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79595, 'Muldoon', 2824, '78949', '979', '29.816524', '-97.06432', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79596, 'Stellar', 2824, '78949', '979', '29.816524', '-97.06432', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79597, 'Olton', 2824, '79064', '806', '34.177222', '-102.200159', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79598, 'Pampa', 2824, '79065', '806', '35.371018', '-100.81259', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79599, 'Skellytown', 2824, '79080', '806', '35.555879', '-101.198693', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79600, 'Spearman', 2824, '79081', '806', '36.271816', '-101.275938', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79601, 'Wildorado', 2824, '79098', '806', '35.223651', '-102.265394', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79602, 'Odell', 2824, '79247', '940', '34.384855', '-99.401528', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79603, 'Muleshoe', 2824, '79347', '806', '34.092356', '-102.830416', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79604, 'New Deal', 2824, '79350', '806', '33.759264', '-101.836964', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79605, 'Ransom Canyon', 2824, '79366', '806', '33.530666', '-101.701602', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79606, 'Smyer', 2824, '79367', '806', '33.59177', '-102.169246', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79607, 'Lubbock', 2824, '79414', '806', '33.547517', '-101.92227', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79608, 'Lubbock', 2824, '79415', '806', '33.680388', '-101.89967', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79609, 'Fluvanna', 2824, '79517', '432', '32.834636', '-101.242194', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79610, 'Clairemont', 2824, '79549', '325', '32.962102', '-100.845962', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79611, 'Dermott', 2824, '79549', '325', '32.962102', '-100.845962', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79612, 'Snyder', 2824, '79549', '325', '32.962102', '-100.845962', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79613, 'Union', 2824, '79549', '325', '32.962102', '-100.845962', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79614, 'Abilene', 2824, '79698', '325', '32.476639', '-99.735098', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79615, 'Hardin Simmons University', 2824, '79698', '325', '32.476639', '-99.735098', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79616, 'Abilene', 2824, '79699', '325', '32.470181', '-99.70836', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79617, 'Abilene Christian Univ', 2824, '79699', '325', '32.470181', '-99.70836', '2018-11-29 05:19:01', '2018-11-29 05:19:01'),\n(79618, 'Midland', 2824, '79701', '432', '31.991996', '-102.076797', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79619, 'Alpine', 2824, '79832', '432', '30.364066', '-103.647186', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79620, 'Sul Ross State Univ', 2824, '79832', '432', '30.364066', '-103.647186', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79621, 'Bg Bnd Ntl Pk', 2824, '79834', '432', '29.363546', '-103.212054', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79622, 'Big Bend National Park', 2824, '79834', '432', '29.363546', '-103.212054', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79623, 'Canutillo', 2824, '79835', '915', '31.939936', '-106.562442', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79624, 'El Paso', 2824, '79916', '915', '31.900494', '-106.216282', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79625, 'Fort Bliss', 2824, '79916', '915', '31.900494', '-106.216282', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79626, 'Biggs Field', 2824, '79918', '915', '31.829638', '-106.38507', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79627, 'El Paso', 2824, '79918', '915', '31.829638', '-106.38507', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79628, 'Fort Bliss', 2824, '79918', '915', '31.829638', '-106.38507', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79629, 'Ft Bliss', 2824, '79918', '915', '31.829638', '-106.38507', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79630, 'El Paso', 2824, '79950', '915', '31.7589', '-106.4866', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79631, 'El Paso', 2824, '79999', '915', '31.7589', '-106.4866', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79632, 'Haskell', 2824, '79521', '940', '33.178152', '-99.654618', '2018-11-29 05:19:02', '2018-11-29 05:19:02');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(79633, 'Jayton', 2824, '79528', '806', '33.263432', '-100.612028', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79634, 'Nolan', 2824, '79537', '325', '32.305249', '-100.222916', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79635, 'Tuscola', 2824, '79562', '325', '32.2027', '-99.92913', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79636, 'Abilene', 2824, '79603', '325', '32.392338', '-99.877302', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79637, 'Impact', 2824, '79603', '325', '32.392338', '-99.877302', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79638, 'Midland', 2824, '79705', '432', '32.046358', '-102.030644', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79639, 'Big Spring', 2824, '79721', '432', '32.2506', '-101.4786', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79640, 'Iraan', 2824, '79744', '432', '30.909952', '-102.102961', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79641, 'Odessa', 2824, '79762', '432', '31.923432', '-102.341173', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79642, 'Odessa', 2824, '79769', '432', '31.8458', '-102.3673', '2018-11-29 05:19:02', '2018-11-29 05:19:02'),\n(79643, 'Wink', 2824, '79789', '432', '31.743584', '-103.16553', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79644, 'Alpine', 2824, '79830', '432', '29.91117', '-103.460442', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79645, 'El Paso', 2824, '79912', '915', '31.85481', '-106.533034', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79646, 'El Paso', 2824, '79923', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79647, 'El Paso', 2824, '79937', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79648, 'El Paso', 2824, '79948', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79649, 'El Paso', 2824, '79953', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79650, 'El Paso', 2824, '79955', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79651, 'El Paso', 2824, '79978', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79652, 'El Paso Natural Gas', 2824, '79978', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79653, 'El Paso', 2824, '79980', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79654, 'Wells Fargo Bank', 2824, '79980', '915', '31.7589', '-106.4866', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79655, 'Harman', 2826, '24628', '276', '37.309714', '-82.200604', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79656, 'Maxie', 2826, '24628', '276', '37.309714', '-82.200604', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79657, 'Chilhowie', 2826, '24319', '276', '36.75816', '-81.643096', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79658, 'Lambsburg', 2826, '24351', '276', '36.588678', '-80.771532', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79659, 'Trout Dale', 2826, '24378', '276', '36.696739', '-81.460175', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79660, 'Troutdale', 2826, '24378', '276', '36.696739', '-81.460175', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79661, 'Alleghany', 2826, '24426', '540', '37.77853', '-80.049724', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79662, 'Camp Appalachia', 2826, '24426', '540', '37.77853', '-80.049724', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79663, 'Cmp Appalchia', 2826, '24426', '540', '37.77853', '-80.049724', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79664, 'Covington', 2826, '24426', '540', '37.77853', '-80.049724', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79665, 'Jordan Mines', 2826, '24426', '540', '37.77853', '-80.049724', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79666, 'Fort Defiance', 2826, '24437', '540', '38.211116', '-78.93311', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79667, 'Forest', 2826, '24551', '434', '37.364886', '-79.314646', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79668, 'Gladstone', 2826, '24553', '434', '37.55628', '-78.815145', '2018-11-29 05:19:03', '2018-11-29 05:19:03'),\n(79669, 'Woolwine', 2826, '24185', '276', '36.808204', '-80.269894', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79670, 'Bee', 2826, '24217', '276', '37.081637', '-82.202574', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79671, 'Big Stone Gap', 2826, '24219', '276', '36.842372', '-82.755426', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79672, 'Clinchco', 2826, '24226', '276', '37.129678', '-82.330142', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79673, 'Clintwood', 2826, '24228', '276', '37.170877', '-82.440088', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79674, 'Honeycamp', 2826, '24228', '276', '37.170877', '-82.440088', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79675, 'Dante', 2826, '24237', '276', '37.033861', '-82.26661', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79676, 'Trammel', 2826, '24237', '276', '37.033861', '-82.26661', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79677, 'Whitetop', 2826, '24292', '276', '36.620099', '-81.597826', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79678, 'Pulaski', 2826, '24301', '540', '37.073874', '-80.7958', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79679, 'Snowville', 2826, '24301', '540', '37.073874', '-80.7958', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79680, 'Collinsville', 2826, '24078', '276', '36.72861', '-79.913449', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79681, 'Eagle Rock', 2826, '24085', '540', '37.684719', '-79.842971', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79682, 'Glade Hill', 2826, '24092', '540', '36.996786', '-79.761139', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79683, 'Patrick Spgs', 2826, '24133', '276', '36.680591', '-80.145913', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79684, 'Patrick Springs', 2826, '24133', '276', '36.680591', '-80.145913', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79685, 'Bennett Springs', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79686, 'Fort Lewis', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79687, 'Glenvar', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79688, 'Hanging Rock', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79689, 'Kesslers Mill', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79690, 'Mason Cove', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79691, 'Salem', 2826, '24153', '540', '37.28349', '-80.119264', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79692, 'Disputanta', 2826, '23842', '804', '37.153998', '-77.209573', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79693, 'Roanoke', 2826, '24001', '540', '37.2709', '-79.9418', '2018-11-29 05:19:04', '2018-11-29 05:19:04'),\n(79694, 'Melrose', 2826, '24017', '540', '37.295869', '-79.988509', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79695, 'Roanoke', 2826, '24017', '540', '37.295869', '-79.988509', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79696, 'Roanoke', 2826, '24028', '540', '37.2709', '-79.9418', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79697, 'Roanoke', 2826, '24033', '540', '37.2709', '-79.9418', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79698, 'Norfolk Southern', 2826, '24042', '540', '37.2709', '-79.9418', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79699, 'Roanoke', 2826, '24042', '540', '37.2709', '-79.9418', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79700, 'Ararat', 2826, '24053', '276', '36.620976', '-80.504499', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79701, 'Callaway', 2826, '24067', '540', '37.050937', '-80.060465', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79702, 'Norfolk', 2826, '23517', '757', '36.869373', '-76.293816', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79703, 'Cinclantflt', 2826, '23551', '757', '36.8468', '-76.2859', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79704, 'Norfolk', 2826, '23551', '757', '36.8468', '-76.2859', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79705, 'Drewryville', 2826, '23844', '434', '36.676486', '-77.345449', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79706, 'Hopewell', 2826, '23860', '804', '37.274605', '-77.225702', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79707, 'North Prince George', 2826, '23860', '804', '37.274605', '-77.225702', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79708, 'Jarratt', 2826, '23867', '434', '36.812653', '-77.498522', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79709, 'Kenbridge', 2826, '23944', '434', '36.903942', '-78.182422', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79710, 'Driver', 2826, '23435', '757', '36.84702', '-76.478912', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79711, 'Suffolk', 2826, '23435', '757', '36.84702', '-76.478912', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79712, 'Temperanceville', 2826, '23442', '757', '37.889853', '-75.561814', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79713, 'Temperancevle', 2826, '23442', '757', '37.889853', '-75.561814', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79714, 'Virginia Bch', 2826, '23451', '757', '36.857214', '-76.02818', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79715, 'Virginia Beach', 2826, '23451', '757', '36.857214', '-76.02818', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79716, 'Hampton', 2826, '23667', '757', '37.019', '-76.3561', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79717, 'Kecoughtan Veterans Hospital', 2826, '23667', '757', '37.019', '-76.3561', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79718, 'Lackey', 2826, '23694', '757', '37.2327', '-76.5474', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79719, 'Portsmouth', 2826, '23708', '757', '36.848233', '-76.30621', '2018-11-29 05:19:05', '2018-11-29 05:19:05'),\n(79720, 'Nationsbank Mortgage', 2826, '23292', '804', '37.5537', '-77.4609', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79721, 'Richmond', 2826, '23292', '804', '37.5537', '-77.4609', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79722, 'Belle Haven', 2826, '23306', '757', '37.584548', '-75.870862', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79723, 'Bloxom', 2826, '23308', '757', '37.814201', '-75.598757', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79724, 'Carrsville', 2826, '23315', '757', '36.731612', '-76.838924', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79725, 'Walters', 2826, '23315', '757', '36.731612', '-76.838924', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79726, 'Chrstn Brdcst Network', 2826, '23465', '757', '36.8526', '-75.9783', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79727, 'Chrstn Brdcst Ntwrk Brm', 2826, '23465', '757', '36.8526', '-75.9783', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79728, 'Virginia Bch', 2826, '23465', '757', '36.8526', '-75.9783', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79729, 'Virginia Beach', 2826, '23465', '757', '36.8526', '-75.9783', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79730, 'Wattsville', 2826, '23483', '757', '37.9362', '-75.5006', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79731, 'Fleet Marine Force Atlantic', 2826, '23515', '757', '36.8468', '-76.2859', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79732, 'Norfolk', 2826, '23515', '757', '36.8468', '-76.2859', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79733, 'Henrico', 2826, '23231', '804', '37.443572', '-77.2995', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79734, 'Millers', 2826, '23231', '804', '37.443572', '-77.2995', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79735, 'Montrose', 2826, '23231', '804', '37.443572', '-77.2995', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79736, 'Montrose Heights', 2826, '23231', '804', '37.443572', '-77.2995', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79737, 'Richmond', 2826, '23231', '804', '37.443572', '-77.2995', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79738, 'Varina', 2826, '23231', '804', '37.443572', '-77.2995', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79739, 'Jenkins Brg', 2826, '23399', '757', '37.9147', '-75.633', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79740, 'Jenkins Bridge', 2826, '23399', '757', '37.9147', '-75.633', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79741, 'Keller', 2826, '23401', '757', '37.627059', '-75.779051', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79742, 'Marionville', 2826, '23408', '757', '37.4464', '-75.8452', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79743, 'New Church', 2826, '23415', '757', '37.956751', '-75.530908', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79744, 'Rescue', 2826, '23424', '757', '36.9963', '-76.5627', '2018-11-29 05:19:06', '2018-11-29 05:19:06'),\n(79745, 'Sanford', 2826, '23426', '757', '37.921344', '-75.687439', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79746, 'Smithfield', 2826, '23431', '757', '36.9796', '-76.6215', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79747, 'Crittenden', 2826, '23433', '757', '36.914062', '-76.47152', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79748, 'Suffolk', 2826, '23433', '757', '36.914062', '-76.47152', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79749, 'Provdence Frg', 2826, '23140', '804', '37.432286', '-77.02211', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79750, 'Providence Forge', 2826, '23140', '804', '37.432286', '-77.02211', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79751, 'Glenns', 2826, '23149', '804', '37.57369', '-76.599219', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79752, 'Saluda', 2826, '23149', '804', '37.57369', '-76.599219', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79753, 'Plain View', 2826, '23156', '804', '37.538518', '-76.713854', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79754, 'Plainview', 2826, '23156', '804', '37.538518', '-76.713854', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79755, 'Shacklefords', 2826, '23156', '804', '37.538518', '-76.713854', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79756, 'Dept Public Utilities', 2826, '23274', '804', '37.5537', '-77.4609', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79757, 'Richmond', 2826, '23274', '804', '37.5537', '-77.4609', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79758, 'Bank Of America', 2826, '23292', '804', '37.5537', '-77.4609', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79759, 'Foster', 2826, '23056', '804', '37.438806', '-76.38509', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79760, 'Mobjack', 2826, '23056', '804', '37.438806', '-76.38509', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79761, 'Gum Spring', 2826, '23065', '804', '37.802032', '-77.930652', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79762, 'Gumspring', 2826, '23065', '804', '37.802032', '-77.930652', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79763, 'Glass', 2826, '23072', '804', '37.30473', '-76.48371', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79764, 'Hayes', 2826, '23072', '804', '37.30473', '-76.48371', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79765, 'Jetersville', 2826, '23083', '804', '37.322632', '-78.113406', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79766, 'Cologne', 2826, '23181', '804', '37.58794', '-76.891644', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79767, 'Eltham', 2826, '23181', '804', '37.58794', '-76.891644', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79768, 'West Point', 2826, '23181', '804', '37.58794', '-76.891644', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79769, 'White Marsh', 2826, '23183', '804', '37.3423', '-76.5219', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79770, 'Montpelier', 2826, '23192', '804', '37.825944', '-77.673348', '2018-11-29 05:19:07', '2018-11-29 05:19:07'),\n(79771, 'Lightfoot', 2826, '23090', '757', '37.3409', '-76.7549', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79772, 'Mineral', 2826, '23117', '540', '37.965538', '-77.883705', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79773, 'New Kent', 2826, '23124', '804', '37.549208', '-77.044627', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79774, 'Broadway', 2826, '22815', '540', '38.651072', '-78.796701', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79775, 'Edinburg', 2826, '22824', '540', '38.840016', '-78.642036', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79776, 'Hinton', 2826, '22831', '540', '38.557546', '-79.074899', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79777, 'Rawley Springs', 2826, '22831', '540', '38.557546', '-79.074899', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79778, 'Rawley Sprngs', 2826, '22831', '540', '38.557546', '-79.074899', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79779, 'Lacey Spring', 2826, '22833', '540', '38.5413', '-78.7667', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79780, 'Quicksburg', 2826, '22847', '540', '38.725352', '-78.716079', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79781, 'Shenandoah Caverns', 2826, '22847', '540', '38.725352', '-78.716079', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79782, 'Shendoah Cvrn', 2826, '22847', '540', '38.725352', '-78.716079', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79783, 'Bumpass', 2826, '23024', '540', '37.941024', '-77.792732', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79784, 'Mitchells', 2826, '22729', '540', '38.36934', '-78.01639', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79785, 'Covesville', 2826, '22931', '434', '37.907732', '-78.711055', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79786, 'Haynesville', 2826, '22472', '804', '37.9501', '-76.6629', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79787, 'Oldhams', 2826, '22529', '804', '38.01365', '-76.684866', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79788, 'Stafford', 2826, '22554', '540', '38.432776', '-77.395156', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79789, 'Thornburg', 2826, '22565', '540', '38.1336', '-77.5218', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79790, 'Foneswood', 2826, '22572', '804', '37.963649', '-76.771778', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79791, 'Nomini Grove', 2826, '22572', '804', '37.963649', '-76.771778', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79792, 'Warsaw', 2826, '22572', '804', '37.963649', '-76.771778', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79793, 'Champlain', 2826, '22438', '804', '38.042582', '-76.995786', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79794, 'Chance', 2826, '22438', '804', '38.042582', '-76.995786', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79795, 'Elevon', 2826, '22438', '804', '38.042582', '-76.995786', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79796, 'Brucetown', 2826, '22622', '540', '39.2545', '-78.0667', '2018-11-29 05:19:08', '2018-11-29 05:19:08'),\n(79797, 'Triangle', 2826, '22172', '703', '38.563734', '-77.356151', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79798, 'Vienna', 2826, '22181', '703', '38.904608', '-77.295559', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79799, 'Arlington', 2826, '22204', '703', '38.861504', '-77.100112', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79800, 'South', 2826, '22204', '703', '38.861504', '-77.100112', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79801, 'Fort Myer', 2826, '22211', '703', '38.876997', '-77.070852', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79802, 'Ft Myer', 2826, '22211', '703', '38.876997', '-77.070852', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79803, 'Arlington', 2826, '22213', '703', '38.895782', '-77.162568', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79804, 'Arlington', 2826, '22240', '703', '38.8803', '-77.1154', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79805, 'Us Navy Accounting Office', 2826, '22240', '703', '38.8803', '-77.1154', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79806, 'Arlington', 2826, '22245', '703', '38.8803', '-77.1154', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79807, 'Space & Naval Warfare System', 2826, '22245', '703', '38.8803', '-77.1154', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79808, 'Alexandria', 2826, '22304', '703', '38.812167', '-77.126406', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79809, 'Cameron Station', 2826, '22304', '703', '38.812167', '-77.126406', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79810, 'Theological Seminary', 2826, '22304', '703', '38.812167', '-77.126406', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79811, 'Trade Center', 2826, '22304', '703', '38.812167', '-77.126406', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79812, 'Rowe', 2826, '24646', '276', '37.126978', '-82.041773', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79813, 'Long Island', 2826, '24569', '434', '37.045199', '-79.135903', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79814, 'Natural Brg', 2826, '24578', '540', '37.669698', '-79.556301', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79815, 'Natural Bridge', 2826, '24578', '540', '37.669698', '-79.556301', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79816, 'West Augusta', 2826, '24485', '540', '38.289192', '-79.306155', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79817, 'Burnsville', 2826, '24487', '540', '38.166228', '-79.648828', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79818, 'Williamsville', 2826, '24487', '540', '38.166228', '-79.648828', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79819, 'Lynchburg', 2826, '24503', '434', '37.448766', '-79.238354', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79820, 'Rivermont', 2826, '24503', '434', '37.448766', '-79.238354', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79821, 'Cluster Spgs', 2826, '24535', '434', '36.6185', '-78.9294', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79822, 'Cluster Springs', 2826, '24535', '434', '36.6185', '-78.9294', '2018-11-29 05:19:09', '2018-11-29 05:19:09'),\n(79823, 'Lorton', 2826, '22079', '703', '38.6765', '-77.206884', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79824, 'Mason Neck', 2826, '22079', '703', '38.6765', '-77.206884', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79825, 'Stratton', 2828, '05360', '802', '43.054472', '-72.927014', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79826, 'W Wardsboro', 2828, '05360', '802', '43.054472', '-72.927014', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79827, 'West Wardsboro', 2828, '05360', '802', '43.054472', '-72.927014', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79828, 'Btv', 2828, '05401', '802', '44.484133', '-73.247857', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79829, 'Burl', 2828, '05401', '802', '44.484133', '-73.247857', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79830, 'Burlingtn', 2828, '05401', '802', '44.484133', '-73.247857', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79831, 'Burlington', 2828, '05401', '802', '44.484133', '-73.247857', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79832, 'Burlngtn', 2828, '05401', '802', '44.484133', '-73.247857', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79833, 'Burl', 2828, '05408', '802', '44.511264', '-73.243959', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79834, 'Burlington', 2828, '05408', '802', '44.511264', '-73.243959', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79835, 'Burlngtn', 2828, '05408', '802', '44.511264', '-73.243959', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79836, 'N Burlington', 2828, '05408', '802', '44.511264', '-73.243959', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79837, 'North Burlington', 2828, '05408', '802', '44.511264', '-73.243959', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79838, 'Belvidere', 2828, '05442', '802', '44.76607', '-72.669336', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79839, 'Belvidere Center', 2828, '05442', '802', '44.76607', '-72.669336', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79840, 'Belvidere Corners', 2828, '05442', '802', '44.76607', '-72.669336', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79841, 'Belvidere Ctr', 2828, '05442', '802', '44.76607', '-72.669336', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79842, 'Monkton', 2828, '05469', '802', '44.2388', '-73.1483', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79843, 'Abnaki', 2828, '05474', '802', '44.838791', '-73.275228', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79844, 'Birdland', 2828, '05474', '802', '44.838791', '-73.275228', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79845, 'Knights Point', 2828, '05474', '802', '44.838791', '-73.275228', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79846, 'Lagrange', 2828, '05474', '802', '44.838791', '-73.275228', '2018-11-29 05:19:10', '2018-11-29 05:19:10'),\n(79847, 'No Hero', 2828, '05474', '802', '44.838791', '-73.275228', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79848, 'North Hero', 2828, '05474', '802', '44.838791', '-73.275228', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79849, 'Brattleboro', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79850, 'Brattleboro Center', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79851, 'Dummerston', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79852, 'Gilford', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79853, 'Green River', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79854, 'Guilford', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79855, 'Guilford Center', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79856, 'Halifax', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79857, 'Harrisville', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79858, 'W Brattleboro', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79859, 'West Brattleboro', 2828, '05301', '802', '42.859824', '-72.681308', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79860, 'Jacksonville', 2828, '05342', '802', '42.781178', '-72.790134', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79861, 'Colchester', 2828, '05449', '802', '44.5437', '-73.1485', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79862, 'Thetford', 2828, '05074', '802', '43.83316', '-72.223552', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79863, 'Thetford Hill', 2828, '05074', '802', '43.83316', '-72.223552', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79864, 'W Fairlee', 2828, '05083', '802', '43.92911', '-72.269378', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79865, 'West Fairlee', 2828, '05083', '802', '43.92911', '-72.269378', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79866, 'Bellows Falls', 2828, '05101', '802', '43.170609', '-72.498478', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79867, 'Gageville', 2828, '05101', '802', '43.170609', '-72.498478', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79868, 'North Westminster', 2828, '05101', '802', '43.170609', '-72.498478', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79869, 'Rockingham', 2828, '05101', '802', '43.170609', '-72.498478', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79870, 'Lyman', 2828, '05001', '802', '43.66984', '-72.385832', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79871, 'Russtown', 2828, '05001', '802', '43.66984', '-72.385832', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79872, 'White Riv Jct', 2828, '05001', '802', '43.66984', '-72.385832', '2018-11-29 05:19:11', '2018-11-29 05:19:11'),\n(79873, 'White River Junction', 2828, '05001', '802', '43.66984', '-72.385832', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79874, 'East Corinth', 2828, '05040', '802', '44.070278', '-72.215918', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79875, 'East Ryegate', 2828, '05042', '802', '44.213434', '-72.105888', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79876, 'Mosquitoville', 2828, '05042', '802', '44.213434', '-72.105888', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79877, 'Ryegate', 2828, '05042', '802', '44.213434', '-72.105888', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79878, 'Ryegate Corner', 2828, '05042', '802', '44.213434', '-72.105888', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79879, 'Lake Dunmore', 2828, '05769', '802', '43.917627', '-73.115023', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79880, 'Salisbury', 2828, '05769', '802', '43.917627', '-73.115023', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79881, 'West Salisbury', 2828, '05769', '802', '43.917627', '-73.115023', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79882, 'Gallup Mills', 2828, '05858', '802', '44.55553', '-71.770359', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79883, 'Granby Valley', 2828, '05858', '802', '44.55553', '-71.770359', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79884, 'Miles Pond', 2828, '05858', '802', '44.55553', '-71.770359', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79885, 'North Concord', 2828, '05858', '802', '44.55553', '-71.770359', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79886, 'Victory', 2828, '05858', '802', '44.55553', '-71.770359', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79887, 'Canaan', 2828, '05903', '802', '44.959995', '-71.597474', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79888, 'Lemington', 2828, '05903', '802', '44.959995', '-71.597474', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79889, 'Clementwood', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79890, 'East Pittsford', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79891, 'Glen', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79892, 'Heartwell', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79893, 'Mendon', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79894, 'Mill Village', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79895, 'Rutland', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79896, 'Rutland Town', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79897, 'S Chittenden', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:12', '2018-11-29 05:19:12'),\n(79898, 'South Chittenden', 2828, '05701', '802', '43.639036', '-72.922874', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79899, 'Danville', 2828, '05828', '802', '44.453342', '-72.122876', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79900, 'Danville Center', 2828, '05828', '802', '44.453342', '-72.122876', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79901, 'Montpelier', 2828, '05633', '802', '44.2601', '-72.5759', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79902, 'State Of Vermont', 2828, '05633', '802', '44.2601', '-72.5759', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79903, 'Lower Cabot', 2828, '05658', '802', '44.360319', '-72.353028', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79904, 'Marshfield', 2828, '05658', '802', '44.360319', '-72.353028', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79905, 'Florence', 2828, '05744', '802', '43.688328', '-73.07624', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79906, 'Bread Loaf', 2828, '05753', '802', '43.999029', '-73.176136', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79907, 'Cornwall', 2828, '05753', '802', '43.999029', '-73.176136', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79908, 'Middlebury', 2828, '05753', '802', '43.999029', '-73.176136', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79909, 'Weybridge', 2828, '05753', '802', '43.999029', '-73.176136', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79910, 'Weybridge Hill', 2828, '05753', '802', '43.999029', '-73.176136', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79911, 'Switchback', 2831, '24887', '304', '37.373228', '-81.384319', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79912, 'Warriormine', 2831, '24894', '304', '37.287609', '-81.696645', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79913, 'Alderson', 2831, '24910', '304', '37.750319', '-80.69856', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79914, 'Dawson', 2831, '24910', '304', '37.750319', '-80.69856', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79915, 'Green Bank', 2831, '24944', '304', '38.401717', '-79.769162', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79916, 'Droop', 2831, '24946', '304', '38.203743', '-80.253516', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79917, 'Hillsboro', 2831, '24946', '304', '38.203743', '-80.253516', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79918, 'Mill Point', 2831, '24946', '304', '38.203743', '-80.253516', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79919, 'Seebert', 2831, '24946', '304', '38.203743', '-80.253516', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79920, 'Upper Tract', 2831, '26866', '304', '38.809958', '-79.254712', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79921, 'Heaters', 2831, '26627', '304', '38.754258', '-80.638047', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79922, 'Kesler Cr Lns', 2831, '26675', '304', '38.24823', '-80.938236', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79923, 'Keslers Cross Lanes', 2831, '26675', '304', '38.24823', '-80.938236', '2018-11-29 05:19:13', '2018-11-29 05:19:13'),\n(79924, 'Poe', 2831, '26675', '304', '38.24823', '-80.938236', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79925, 'New Creek', 2831, '26743', '304', '39.348004', '-79.06865', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79926, 'Piedmont', 2831, '26750', '304', '39.461926', '-79.04415', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79927, 'Romney', 2831, '26757', '304', '39.31092', '-78.733176', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79928, 'Three Chrs', 2831, '26757', '304', '39.31092', '-78.733176', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79929, 'Three Churches', 2831, '26757', '304', '39.31092', '-78.733176', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79930, 'Shirley', 2831, '26434', '304', '39.3984', '-80.7654', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79931, 'Wallace', 2831, '26448', '304', '39.400063', '-80.475426', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79932, 'Coalton', 2831, '26257', '304', '38.908006', '-80.009428', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79933, 'Dailey', 2831, '26259', '304', '38.794146', '-79.895736', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79934, 'Red Creek', 2831, '26289', '304', '39.032843', '-79.542806', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79935, 'Slatyfork', 2831, '26291', '304', '38.372486', '-80.072207', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79936, 'Mac Arthur', 2831, '25873', '304', '37.755', '-81.2229', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79937, 'Glen Easton', 2831, '26039', '304', '39.822436', '-80.65239', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79938, 'Windsor Heights', 2831, '26075', '304', '40.191559', '-80.666936', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79939, 'Windsor Hts', 2831, '26075', '304', '40.191559', '-80.666936', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79940, 'Belmont', 2831, '26134', '304', '39.351865', '-81.308048', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79941, 'Eureka', 2831, '26134', '304', '39.351865', '-81.308048', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79942, 'Willow Island', 2831, '26134', '304', '39.351865', '-81.308048', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79943, 'Murraysville', 2831, '26164', '304', '38.981084', '-81.693528', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79944, 'Ravenswood', 2831, '26164', '304', '38.981084', '-81.693528', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79945, 'Sherman', 2831, '26164', '304', '38.981084', '-81.693528', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79946, 'Beverly Hills', 2831, '25705', '304', '38.40414', '-82.357581', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79947, 'Huntington', 2831, '25705', '304', '38.40414', '-82.357581', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79948, 'Kilsyth', 2831, '25880', '304', '37.889218', '-81.171956', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79949, 'Mount Hope', 2831, '25880', '304', '37.889218', '-81.171956', '2018-11-29 05:19:14', '2018-11-29 05:19:14'),\n(79950, 'Sabine', 2831, '25916', '304', '37.678201', '-81.500712', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79951, 'Surveyor', 2831, '25932', '304', '37.759666', '-81.293584', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79952, 'Ranger', 2831, '25557', '304', '38.154897', '-82.189122', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79953, 'Huntington', 2831, '25721', '304', '38.4195', '-82.4455', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79954, 'Huntington', 2831, '25723', '304', '38.4195', '-82.4455', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79955, 'Daniels', 2831, '25832', '304', '37.730702', '-81.117719', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79956, 'Glade Springs', 2831, '25832', '304', '37.730702', '-81.117719', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79957, 'Glen Jean', 2831, '25846', '304', '37.927533', '-81.15224', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79958, 'Lawton', 2831, '25864', '304', '37.859863', '-81.102249', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79959, 'Layland', 2831, '25864', '304', '37.859863', '-81.102249', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79960, 'Terry', 2831, '25864', '304', '37.859863', '-81.102249', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79961, 'Charleston', 2831, '25364', '304', '38.3494', '-81.6329', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79962, 'Charleston', 2831, '25387', '304', '38.3491', '-81.6317', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79963, 'West Hamlin', 2831, '25571', '304', '38.296395', '-82.186198', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79964, 'Chauncey', 2831, '25612', '304', '37.765719', '-81.987057', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79965, 'Gilbert', 2831, '25621', '304', '37.606118', '-81.913792', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79966, 'Hampden', 2831, '25621', '304', '37.606118', '-81.913792', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79967, 'Breeden', 2831, '25666', '304', '37.924229', '-82.276542', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79968, 'Rawl', 2831, '25691', '304', '37.651209', '-82.207884', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79969, 'Varney', 2831, '25696', '304', '37.669603', '-82.124078', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79970, 'Cottageville', 2831, '25239', '304', '38.853499', '-81.808102', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79971, 'Martinsburg', 2831, '25403', '304', '39.483394', '-78.004431', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79972, 'Glengary', 2831, '25421', '304', '39.37057', '-78.17474', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79973, 'Kearneysville', 2831, '25430', '304', '39.343526', '-77.94963', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79974, 'Middleway', 2831, '25430', '304', '39.343526', '-77.94963', '2018-11-29 05:19:15', '2018-11-29 05:19:15'),\n(79975, 'Millville', 2831, '25432', '304', '39.2938', '-77.7862', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79976, 'Summit Point', 2831, '25446', '304', '39.231133', '-77.968651', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79977, 'Big Creek', 2831, '25505', '304', '38.012692', '-82.033538', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79978, 'Ceredo', 2831, '25507', '304', '38.396882', '-82.5522', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79979, 'Hansford', 2831, '25103', '304', '38.127784', '-81.370514', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79980, 'Millwood', 2831, '25262', '304', '38.907156', '-81.810918', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79981, 'Charleston', 2831, '25303', '304', '38.35933', '-81.68264', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79982, 'S Charleston', 2831, '25303', '304', '38.35933', '-81.68264', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79983, 'South Charleston', 2831, '25303', '304', '38.35933', '-81.68264', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79984, 'Charleston', 2831, '25330', '304', '38.3494', '-81.6329', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79985, 'Alum Creek', 2831, '25003', '304', '38.242374', '-81.769882', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79986, 'Madison', 2831, '25130', '304', '38.028695', '-81.754911', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79987, 'Pratt', 2831, '25162', '304', '38.205336', '-81.38534', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79988, 'Ovapa', 2831, '25164', '304', '38.495256', '-81.201463', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79989, 'Pigeon', 2831, '25164', '304', '38.495256', '-81.201463', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79990, 'Procious', 2831, '25164', '304', '38.495256', '-81.201463', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79991, 'Southside', 2831, '25187', '304', '38.715722', '-82.013633', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79992, 'Turtle Creek', 2831, '25203', '304', '38.0399', '-81.853', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79993, 'Isaban', 2831, '24846', '304', '37.532252', '-81.88277', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79994, 'Premier', 2831, '24878', '304', '37.4225', '-81.6437', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79995, 'Bim', 2831, '25021', '304', '37.880453', '-81.724946', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79996, 'Bob White', 2831, '25028', '304', '37.958127', '-81.726367', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79997, 'Clear Creek', 2831, '25044', '304', '37.916362', '-81.326923', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79998, 'Danville', 2831, '25053', '304', '38.04096', '-81.860528', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(79999, 'Dry Creek', 2831, '25062', '304', '37.868804', '-81.431894', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(80000, 'Dunbar', 2831, '25064', '304', '38.378102', '-81.748053', '2018-11-29 05:19:16', '2018-11-29 05:19:16'),\n(80001, 'Arvada', 2784, '80005', '303', '39.856226', '-105.123478', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80002, 'Westminster', 2784, '80005', '303', '39.856226', '-105.123478', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80003, 'Aurora', 2784, '80014', '303', '39.6577', '-104.845028', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80004, 'Denver', 2784, '80014', '303', '39.6577', '-104.845028', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80005, 'Commerce City', 2784, '80037', '303', '39.8224', '-104.9334', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80006, 'Bow Mar', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80007, 'Centennial', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80008, 'Columbine Valley', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80009, 'Columbine Vly', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80010, 'Denver', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80011, 'Grants Ranch', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80012, 'Lakewood', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80013, 'Littleton', 2784, '80123', '303', '39.613606', '-105.063244', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80014, 'Monument', 2784, '80132', '719', '39.090318', '-104.845212', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80015, 'Woodmoor', 2784, '80132', '719', '39.090318', '-104.845212', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80016, 'Watkins', 2784, '80137', '303', '39.724673', '-104.602709', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80017, 'Littleton', 2784, '80162', '303', '39.5928', '-105.0585', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80018, 'Denver', 2784, '80207', '303', '39.761824', '-104.91337', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80019, 'Denver', 2784, '80221', '303', '39.815533', '-105.013278', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80020, 'Federal Heights', 2784, '80221', '303', '39.815533', '-105.013278', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80021, 'Federal Hgts', 2784, '80221', '303', '39.815533', '-105.013278', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80022, 'Northglenn', 2784, '80221', '303', '39.815533', '-105.013278', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80023, 'Thornton', 2784, '80221', '303', '39.815533', '-105.013278', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80024, 'Westminster', 2784, '80221', '303', '39.815533', '-105.013278', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80025, 'Denver', 2784, '80223', '303', '39.692916', '-105.003914', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80026, 'Denver', 2784, '80230', '303', '39.719953', '-104.891753', '2018-11-29 05:19:17', '2018-11-29 05:19:17'),\n(80027, 'Lowry', 2784, '80230', '303', '39.719953', '-104.891753', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80028, 'Montclair', 2784, '80230', '303', '39.719953', '-104.891753', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80029, 'Denver', 2784, '80232', '303', '39.689456', '-105.091249', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80030, 'Lakewood', 2784, '80232', '303', '39.689456', '-105.091249', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80031, 'Denver', 2784, '80237', '303', '39.638475', '-104.905946', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80032, 'Denver', 2784, '80239', '303', '39.789772', '-104.828404', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80033, 'Denver', 2784, '80257', '303', '39.7393', '-104.9845', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80034, 'Us Court Of Appeals 10th Cir', 2784, '80257', '303', '39.7393', '-104.9845', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80035, 'Boulder', 2784, '80307', '303', '40.0153', '-105.2702', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80036, 'Nederland', 2784, '80466', '303', '39.977853', '-105.51705', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80037, 'Walden', 2784, '80480', '970', '40.663052', '-106.362486', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80038, 'Dacono', 2784, '80514', '303', '40.065913', '-104.952018', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80039, 'Erie', 2784, '80514', '303', '40.065913', '-104.952018', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80040, 'Colorado State University', 2784, '80523', '970', '40.573468', '-105.087408', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80041, 'Fort Collins', 2784, '80523', '970', '40.573468', '-105.087408', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80042, 'Frederick', 2784, '80530', '303', '40.102222', '-104.923532', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80043, 'Glen Haven', 2784, '80532', '970', '40.518154', '-105.423238', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80044, 'Eastlake', 2784, '80614', '303', '39.9239', '-104.9606', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80045, 'Greeley', 2784, '80632', '970', '40.4236', '-104.7088', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80046, 'Nunn', 2784, '80648', '970', '40.827827', '-104.758836', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80047, 'Pierce', 2784, '80650', '970', '40.645947', '-104.749351', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80048, 'Fort Morgan', 2784, '80705', '970', '40.270927', '-103.824985', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80049, 'Log Lane Village', 2784, '80705', '970', '40.270927', '-103.824985', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80050, 'Log Lane Vlg', 2784, '80705', '970', '40.270927', '-103.824985', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80051, 'Hereford', 2784, '80732', '970', '40.9765', '-104.306', '2018-11-29 05:19:18', '2018-11-29 05:19:18'),\n(80052, 'Merino', 2784, '80741', '970', '40.632389', '-103.423275', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80053, 'Willard', 2784, '80741', '970', '40.632389', '-103.423275', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80054, 'Snyder', 2784, '80750', '970', '40.406866', '-103.589821', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80055, 'Last Chance', 2784, '80757', '970', '39.819866', '-103.578985', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80056, 'Woodrow', 2784, '80757', '970', '39.819866', '-103.578985', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80057, 'Kit Carson', 2784, '80825', '719', '38.827418', '-102.824056', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80058, 'Matheson', 2784, '80830', '719', '39.091126', '-103.871552', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80059, 'Ramah', 2784, '80832', '719', '39.135838', '-103.974931', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80060, 'Woodland Park', 2784, '80866', '719', '39.092681', '-105.222462', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80061, 'Co Spgs', 2784, '80909', '719', '38.855487', '-104.77493', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80062, 'Colo Spgs', 2784, '80909', '719', '38.855487', '-104.77493', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80063, 'Colorado Spgs', 2784, '80909', '719', '38.855487', '-104.77493', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80064, 'Colorado Springs', 2784, '80909', '719', '38.855487', '-104.77493', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80065, 'Chey Mtn AFB', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19');\nINSERT INTO `cities` (`id`, `name`, `state_id`, `zipcode`, `area_code`, `city_latitude`, `city_longitude`, `created_at`, `updated_at`) VALUES\n(80066, 'Cheyenne Mountain AFB', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80067, 'Cheyenne Mt Complex', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80068, 'Cheyenne Mtn AFB', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80069, 'Cimarron Hills', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80070, 'Cmafb', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80071, 'Co Spgs', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80072, 'Colo Spgs', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80073, 'Colorado Spgs', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80074, 'Colorado Springs', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80075, 'Peterson A F B', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80076, 'Peterson AFB', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:19', '2018-11-29 05:19:19'),\n(80077, 'Peterson Air Force Base', 2784, '80914', '719', '38.8221', '-104.70409', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80078, 'Co Spgs', 2784, '80925', '719', '38.737524', '-104.641296', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80079, 'Colo Spgs', 2784, '80925', '719', '38.737524', '-104.641296', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80080, 'Colorado Spgs', 2784, '80925', '719', '38.737524', '-104.641296', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80081, 'Colorado Springs', 2784, '80925', '719', '38.737524', '-104.641296', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80082, 'Security', 2784, '80925', '719', '38.737524', '-104.641296', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80083, 'Co Spgs', 2784, '80934', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80084, 'Colo Spgs', 2784, '80934', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80085, 'Colorado Spgs', 2784, '80934', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80086, 'Colorado Springs', 2784, '80934', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80087, 'Colo Spgs', 2784, '80950', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80088, 'Colorado Spgs', 2784, '80950', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80089, 'Colorado Springs', 2784, '80950', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80090, 'Us Olympic Committee', 2784, '80950', '719', '38.8338', '-104.8205', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80091, 'Govt Printg Ofc', 2784, '81009', '719', '38.2544', '-104.6086', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80092, 'Pueblo', 2784, '81009', '719', '38.2544', '-104.6086', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80093, 'Bents Fort', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80094, 'Bents Old Fort', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80095, 'Fair View', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80096, 'Fairmont', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80097, 'Fort Bent', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80098, 'Ft Bent', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80099, 'La Junta', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80100, 'North La Junta', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:20', '2018-11-29 05:19:20'),\n(80101, 'Roberta', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80102, 'Timber Lake', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80103, 'Timpas', 2784, '81050', '719', '37.954192', '-103.529407', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80104, 'Lubers', 2784, '81057', '719', '38.176935', '-102.915006', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80105, 'Mc Clave', 2784, '81057', '719', '38.176935', '-102.915006', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80106, 'Delhi', 2784, '81059', '719', '37.551756', '-104.1143', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80107, 'Model', 2784, '81059', '719', '37.551756', '-104.1143', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80108, 'Thatcher', 2784, '81059', '719', '37.551756', '-104.1143', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80109, 'Tyrone', 2784, '81059', '719', '37.551756', '-104.1143', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80110, 'Pritchett', 2784, '81064', '719', '37.311608', '-103.032626', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80111, 'Utleyville', 2784, '81064', '719', '37.311608', '-103.032626', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80112, 'Edler', 2784, '81073', '719', '37.396589', '-102.696712', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80113, 'Maxey', 2784, '81073', '719', '37.396589', '-102.696712', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80114, 'Springfield', 2784, '81073', '719', '37.396589', '-102.696712', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80115, 'Center', 2784, '81125', '719', '37.822236', '-106.094194', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80116, 'Mirage', 2784, '81143', '719', '38.022426', '-105.77819', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80117, 'Moffat', 2784, '81143', '719', '38.022426', '-105.77819', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80118, 'Romeo', 2784, '81148', '719', '37.167096', '-105.991902', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80119, 'Crested Butte', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80120, 'Crested Butte So', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80121, 'Meridian Lake', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80122, 'Mount Crested Butte', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80123, 'Mt Crested Butte', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80124, 'Riverbend', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80125, 'Skyland', 2784, '81225', '970', '38.906291', '-106.963844', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80126, 'Pitkin', 2784, '81241', '970', '38.609236', '-106.524665', '2018-11-29 05:19:21', '2018-11-29 05:19:21'),\n(80127, 'Lewis', 2784, '81327', '970', '37.510641', '-108.635417', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80128, 'Williamson', 2789, '30292', '770', '33.151452', '-84.410459', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80129, 'Ellenwood', 2789, '30294', '404', '33.63542', '-84.254235', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80130, 'Atl', 2789, '30301', '404', '33.7486', '-84.3884', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80131, 'Atlanta', 2789, '30301', '404', '33.7486', '-84.3884', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80132, 'Atl', 2789, '30344', '404', '33.668748', '-84.467656', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80133, 'Atlanta', 2789, '30344', '404', '33.668748', '-84.467656', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80134, 'East Point', 2789, '30344', '404', '33.668748', '-84.467656', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80135, 'Juliette', 2789, '31046', '478', '33.039897', '-83.789794', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80136, 'Mc Rae', 2789, '31055', '229', '31.978201', '-82.844841', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80137, 'Monticello', 2789, '31064', '706', '33.287012', '-83.700172', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80138, 'Macon', 2789, '31221', '478', '32.8399', '-83.6103', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80139, 'Darien', 2789, '31305', '912', '31.38124', '-81.443466', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80140, 'Mesena', 2789, '30819', '706', '33.4598', '-82.5905', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80141, 'Barnett', 2789, '30821', '706', '33.490048', '-82.73817', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80142, 'Cadley', 2789, '30821', '706', '33.490048', '-82.73817', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80143, 'Norwood', 2789, '30821', '706', '33.490048', '-82.73817', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80144, 'Munnerlyn', 2789, '30830', '706', '33.08993', '-81.999062', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80145, 'Shell Bluff', 2789, '30830', '706', '33.08993', '-81.999062', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80146, 'Waynesboro', 2789, '30830', '706', '33.08993', '-81.999062', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80147, 'Augusta', 2789, '30912', '706', '33.471546', '-81.98618', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80148, 'Georgia Regents Univeristy', 2789, '30912', '706', '33.471546', '-81.98618', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80149, 'Warthen', 2789, '31094', '478', '33.118397', '-82.793672', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80150, 'Charleston', 2821, '29415', '843', '32.7765', '-79.9312', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80151, 'Chas', 2821, '29415', '843', '32.7765', '-79.9312', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80152, 'N Charleston', 2821, '29415', '843', '32.7765', '-79.9312', '2018-11-29 05:19:22', '2018-11-29 05:19:22'),\n(80153, 'North Charleston', 2821, '29415', '843', '32.7765', '-79.9312', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80154, 'Goldsboro', 2824, '79519', '325', '32.052124', '-99.664728', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80155, 'Maryneal', 2824, '79535', '325', '32.189962', '-100.511035', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80156, 'Stamford', 2824, '79553', '325', '32.951305', '-99.728686', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80157, 'Tuxedo', 2824, '79553', '325', '32.951305', '-99.728686', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80158, 'Sylvester', 2824, '79560', '325', '32.699349', '-100.196862', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80159, 'Abilene', 2824, '79605', '325', '32.42597', '-99.799452', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80160, 'Midland', 2824, '79703', '432', '31.977692', '-102.130888', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80161, 'Midland', 2824, '79712', '432', '31.9974', '-102.0778', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80162, 'Saragosa', 2824, '79780', '432', '31.04279', '-103.636403', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80163, 'Dell City', 2824, '79837', '915', '31.870492', '-105.47555', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80164, 'El Paso', 2824, '79903', '915', '31.786858', '-106.445407', '2018-11-29 05:19:23', '2018-11-29 05:19:23'),\n(80165, 'El Paso', 2824, '79996', '915', '31.7589', '-106.4866', '2018-11-29 05:19:23', '2018-11-29 05:19:23');\n"
  },
  {
    "path": "public/bd_data/countries.sql",
    "content": "INSERT INTO `countries` (`id`, `sortname`, `name`, `phonecode`, `created_at`, `updated_at`) VALUES\n(1, 'AF', 'Afghanistan', 93, NULL, '2018-10-03 04:38:27'),\n(2, 'AL', 'Albania', 355, NULL, '2018-10-03 04:38:27'),\n(3, 'DZ', 'Algeria', 213, NULL, '2018-10-03 04:38:27'),\n(4, 'AS', 'American Samoa', 1684, NULL, '2018-10-03 04:38:27'),\n(5, 'AD', 'Andorra', 376, NULL, '2018-10-03 04:38:27'),\n(6, 'AO', 'Angola', 244, NULL, '2018-10-03 04:38:27'),\n(7, 'AI', 'Anguilla', 1264, NULL, '2018-10-03 04:38:27'),\n(8, 'AQ', 'Antarctica', 0, NULL, '2018-10-03 04:38:27'),\n(9, 'AG', 'Antigua And Barbuda', 1268, NULL, '2018-10-03 04:38:27'),\n(10, 'AR', 'Argentina', 54, NULL, '2018-10-03 04:38:27'),\n(11, 'AM', 'Armenia', 374, NULL, '2018-10-03 04:38:27'),\n(12, 'AW', 'Aruba', 297, NULL, '2018-10-03 04:38:27'),\n(13, 'AU', 'Australia', 61, NULL, '2018-10-03 04:38:27'),\n(14, 'AT', 'Austria', 43, NULL, '2018-10-03 04:38:27'),\n(15, 'AZ', 'Azerbaijan', 994, NULL, '2018-10-03 04:38:27'),\n(16, 'BS', 'Bahamas The', 1242, NULL, NULL),\n(17, 'BH', 'Bahrain', 973, NULL, '2018-10-03 04:38:27'),\n(18, 'BD', 'Bangladesh', 880, NULL, '2018-10-03 04:38:27'),\n(19, 'BB', 'Barbados', 1246, NULL, '2018-10-03 04:38:27'),\n(20, 'BY', 'Belarus', 375, NULL, '2018-10-03 04:38:27'),\n(21, 'BE', 'Belgium', 32, NULL, '2018-10-03 04:38:27'),\n(22, 'BZ', 'Belize', 501, NULL, '2018-10-03 04:38:27'),\n(23, 'BJ', 'Benin', 229, NULL, '2018-10-03 04:38:27'),\n(24, 'BM', 'Bermuda', 1441, NULL, '2018-10-03 04:38:27'),\n(25, 'BT', 'Bhutan', 975, NULL, '2018-10-03 04:38:27'),\n(26, 'BO', 'Bolivia', 591, NULL, '2018-10-03 04:38:27'),\n(27, 'BA', 'Bosnia and Herzegovina', 387, NULL, '2018-10-03 04:38:27'),\n(28, 'BW', 'Botswana', 267, NULL, '2018-10-03 04:38:27'),\n(29, 'BV', 'Bouvet Island', 0, NULL, '2018-10-03 04:38:27'),\n(30, 'BR', 'Brazil', 55, NULL, '2018-10-03 04:38:27'),\n(31, 'IO', 'British Indian Ocean Territory', 246, NULL, '2018-10-03 04:38:27'),\n(32, 'BN', 'Brunei', 673, NULL, NULL),\n(33, 'BG', 'Bulgaria', 359, NULL, '2018-10-03 04:38:27'),\n(34, 'BF', 'Burkina Faso', 226, NULL, '2018-10-03 04:38:27'),\n(35, 'BI', 'Burundi', 257, NULL, '2018-10-03 04:38:27'),\n(36, 'KH', 'Cambodia', 855, NULL, '2018-10-03 04:38:27'),\n(37, 'CM', 'Cameroon', 237, NULL, '2018-10-03 04:38:27'),\n(38, 'CA', 'Canada', 1, NULL, '2018-10-03 04:38:27'),\n(39, 'CV', 'Cape Verde', 238, NULL, '2018-10-03 04:38:27'),\n(40, 'KY', 'Cayman Islands', 1345, NULL, '2018-10-03 04:38:27'),\n(41, 'CF', 'Central African Republic', 236, NULL, '2018-10-03 04:38:27'),\n(42, 'TD', 'Chad', 235, NULL, '2018-10-03 04:38:26'),\n(43, 'CL', 'Chile', 56, NULL, '2018-10-03 04:38:27'),\n(44, 'CN', 'China', 86, NULL, '2018-10-03 04:38:27'),\n(45, 'CX', 'Christmas Island', 61, NULL, '2018-10-03 04:38:27'),\n(46, 'CC', 'Cocos (Keeling) Islands', 672, NULL, '2018-10-03 04:38:27'),\n(47, 'CO', 'Colombia', 57, NULL, '2018-10-03 04:38:27'),\n(48, 'KM', 'Comoros', 269, NULL, '2018-10-03 04:38:27'),\n(49, 'CG', 'Republic Of The Congo', 242, NULL, NULL),\n(50, 'CD', 'Democratic Republic Of The Congo', 242, NULL, NULL),\n(51, 'CK', 'Cook Islands', 682, NULL, '2018-10-03 04:38:27'),\n(52, 'CR', 'Costa Rica', 506, NULL, '2018-10-03 04:38:27'),\n(53, 'CI', 'Cote D\\'Ivoire (Ivory Coast)', 225, NULL, NULL),\n(54, 'HR', 'Croatia (Hrvatska)', 385, NULL, NULL),\n(55, 'CU', 'Cuba', 53, NULL, '2018-10-03 04:38:27'),\n(56, 'CY', 'Cyprus', 357, NULL, '2018-10-03 04:38:27'),\n(57, 'CZ', 'Czech Republic', 420, NULL, '2018-10-03 04:38:27'),\n(58, 'DK', 'Denmark', 45, NULL, '2018-10-03 04:38:27'),\n(59, 'DJ', 'Djibouti', 253, NULL, '2018-10-03 04:38:27'),\n(60, 'DM', 'Dominica', 1767, NULL, '2018-10-03 04:38:27'),\n(61, 'DO', 'Dominican Republic', 1809, NULL, '2018-10-03 04:38:27'),\n(62, 'TP', 'East Timor', 670, NULL, '2018-10-03 04:38:26'),\n(63, 'EC', 'Ecuador', 593, NULL, '2018-10-03 04:38:27'),\n(64, 'EG', 'Egypt', 20, NULL, '2018-10-03 04:38:27'),\n(65, 'SV', 'El Salvador', 503, NULL, '2018-10-03 04:38:26'),\n(66, 'GQ', 'Equatorial Guinea', 240, NULL, '2018-10-03 04:38:27'),\n(67, 'ER', 'Eritrea', 291, NULL, '2018-10-03 04:38:27'),\n(68, 'EE', 'Estonia', 372, NULL, '2018-10-03 04:38:27'),\n(69, 'ET', 'Ethiopia', 251, NULL, '2018-10-03 04:38:27'),\n(70, 'XA', 'External Territories of Australia', 61, NULL, NULL),\n(71, 'FK', 'Falkland Islands', 500, NULL, NULL),\n(72, 'FO', 'Faroe Islands', 298, NULL, '2018-10-03 04:38:27'),\n(73, 'FJ', 'Fiji Islands', 679, NULL, NULL),\n(74, 'FI', 'Finland', 358, NULL, '2018-10-03 04:38:27'),\n(75, 'FR', 'France', 33, NULL, '2018-10-03 04:38:27'),\n(76, 'GF', 'French Guiana', 594, NULL, '2018-10-03 04:38:27'),\n(77, 'PF', 'French Polynesia', 689, NULL, '2018-10-03 04:38:26'),\n(78, 'TF', 'French Southern Territories', 0, NULL, '2018-10-03 04:38:26'),\n(79, 'GA', 'Gabon', 241, NULL, '2018-10-03 04:38:27'),\n(80, 'GM', 'Gambia The', 220, NULL, NULL),\n(81, 'GE', 'Georgia', 995, NULL, '2018-10-03 04:38:27'),\n(82, 'DE', 'Germany', 49, NULL, '2018-10-03 04:38:27'),\n(83, 'GH', 'Ghana', 233, NULL, '2018-10-03 04:38:27'),\n(84, 'GI', 'Gibraltar', 350, NULL, '2018-10-03 04:38:27'),\n(85, 'GR', 'Greece', 30, NULL, '2018-10-03 04:38:27'),\n(86, 'GL', 'Greenland', 299, NULL, '2018-10-03 04:38:27'),\n(87, 'GD', 'Grenada', 1473, NULL, '2018-10-03 04:38:27'),\n(88, 'GP', 'Guadeloupe', 590, NULL, '2018-10-03 04:38:27'),\n(89, 'GU', 'Guam', 1671, NULL, '2018-10-03 04:38:27'),\n(90, 'GT', 'Guatemala', 502, NULL, '2018-10-03 04:38:27'),\n(91, 'XU', 'Guernsey and Alderney', 44, NULL, NULL),\n(92, 'GN', 'Guinea', 224, NULL, '2018-10-03 04:38:27'),\n(93, 'GW', 'Guinea-Bissau', 245, NULL, '2018-10-03 04:38:27'),\n(94, 'GY', 'Guyana', 592, NULL, '2018-10-03 04:38:27'),\n(95, 'HT', 'Haiti', 509, NULL, '2018-10-03 04:38:27'),\n(96, 'HM', 'Heard and McDonald Islands', 0, NULL, NULL),\n(97, 'HN', 'Honduras', 504, NULL, '2018-10-03 04:38:27'),\n(98, 'HK', 'Hong Kong S.A.R.', 852, NULL, NULL),\n(99, 'HU', 'Hungary', 36, NULL, '2018-10-03 04:38:27'),\n(100, 'IS', 'Iceland', 354, NULL, '2018-10-03 04:38:27'),\n(101, 'IN', 'India', 91, NULL, '2018-10-03 04:38:27'),\n(102, 'ID', 'Indonesia', 62, NULL, '2018-10-03 04:38:27'),\n(103, 'IR', 'Iran', 98, NULL, NULL),\n(104, 'IQ', 'Iraq', 964, NULL, '2018-10-03 04:38:27'),\n(105, 'IE', 'Ireland', 353, NULL, '2018-10-03 04:38:27'),\n(106, 'IL', 'Israel', 972, NULL, '2018-10-03 04:38:27'),\n(107, 'IT', 'Italy', 39, NULL, '2018-10-03 04:38:27'),\n(108, 'JM', 'Jamaica', 1876, NULL, '2018-10-03 04:38:27'),\n(109, 'JP', 'Japan', 81, NULL, '2018-10-03 04:38:27'),\n(110, 'XJ', 'Jersey', 44, NULL, NULL),\n(111, 'JO', 'Jordan', 962, NULL, '2018-10-03 04:38:27'),\n(112, 'KZ', 'Kazakhstan', 7, NULL, NULL),\n(113, 'KE', 'Kenya', 254, NULL, '2018-10-03 04:38:27'),\n(114, 'KI', 'Kiribati', 686, NULL, '2018-10-03 04:38:27'),\n(115, 'KP', 'Korea North', 850, NULL, NULL),\n(116, 'KR', 'Korea South', 82, NULL, NULL),\n(117, 'KW', 'Kuwait', 965, NULL, '2018-10-03 04:38:27'),\n(118, 'KG', 'Kyrgyzstan', 996, NULL, '2018-10-03 04:38:27'),\n(119, 'LA', 'Laos', 856, NULL, NULL),\n(120, 'LV', 'Latvia', 371, NULL, '2018-10-03 04:38:26'),\n(121, 'LB', 'Lebanon', 961, NULL, '2018-10-03 04:38:27'),\n(122, 'LS', 'Lesotho', 266, NULL, '2018-10-03 04:38:26'),\n(123, 'LR', 'Liberia', 231, NULL, '2018-10-03 04:38:26'),\n(124, 'LY', 'Libya', 218, NULL, NULL),\n(125, 'LI', 'Liechtenstein', 423, NULL, '2018-10-03 04:38:26'),\n(126, 'LT', 'Lithuania', 370, NULL, '2018-10-03 04:38:26'),\n(127, 'LU', 'Luxembourg', 352, NULL, '2018-10-03 04:38:26'),\n(128, 'MO', 'Macau S.A.R.', 853, NULL, NULL),\n(129, 'MK', 'Macedonia', 389, NULL, NULL),\n(130, 'MG', 'Madagascar', 261, NULL, '2018-10-03 04:38:26'),\n(131, 'MW', 'Malawi', 265, NULL, '2018-10-03 04:38:26'),\n(132, 'MY', 'Malaysia', 60, NULL, '2018-10-03 04:38:26'),\n(133, 'MV', 'Maldives', 960, NULL, '2018-10-03 04:38:26'),\n(134, 'ML', 'Mali', 223, NULL, '2018-10-03 04:38:26'),\n(135, 'MT', 'Malta', 356, NULL, '2018-10-03 04:38:26'),\n(136, 'XM', 'Man (Isle of)', 44, NULL, NULL),\n(137, 'MH', 'Marshall Islands', 692, NULL, '2018-10-03 04:38:26'),\n(138, 'MQ', 'Martinique', 596, NULL, '2018-10-03 04:38:26'),\n(139, 'MR', 'Mauritania', 222, NULL, '2018-10-03 04:38:26'),\n(140, 'MU', 'Mauritius', 230, NULL, '2018-10-03 04:38:26'),\n(141, 'YT', 'Mayotte', 269, NULL, '2018-10-03 04:38:26'),\n(142, 'MX', 'Mexico', 52, NULL, '2018-10-03 04:38:26'),\n(143, 'FM', 'Micronesia', 691, NULL, NULL),\n(144, 'MD', 'Moldova', 373, NULL, NULL),\n(145, 'MC', 'Monaco', 377, NULL, '2018-10-03 04:38:26'),\n(146, 'MN', 'Mongolia', 976, NULL, '2018-10-03 04:38:26'),\n(147, 'MS', 'Montserrat', 1664, NULL, '2018-10-03 04:38:26'),\n(148, 'MA', 'Morocco', 212, NULL, '2018-10-03 04:38:26'),\n(149, 'MZ', 'Mozambique', 258, NULL, '2018-10-03 04:38:26'),\n(150, 'MM', 'Myanmar', 95, NULL, NULL),\n(151, 'NA', 'Namibia', 264, NULL, '2018-10-03 04:38:26'),\n(152, 'NR', 'Nauru', 674, NULL, '2018-10-03 04:38:26'),\n(153, 'NP', 'Nepal', 977, NULL, '2018-10-03 04:38:26'),\n(154, 'AN', 'Netherlands Antilles', 599, NULL, '2018-10-03 04:38:27'),\n(155, 'NL', 'Netherlands The', 31, NULL, NULL),\n(156, 'NC', 'New Caledonia', 687, NULL, '2018-10-03 04:38:26'),\n(157, 'NZ', 'New Zealand', 64, NULL, '2018-10-03 04:38:26'),\n(158, 'NI', 'Nicaragua', 505, NULL, '2018-10-03 04:38:26'),\n(159, 'NE', 'Niger', 227, NULL, '2018-10-03 04:38:26'),\n(160, 'NG', 'Nigeria', 234, NULL, '2018-10-03 04:38:26'),\n(161, 'NU', 'Niue', 683, NULL, '2018-10-03 04:38:26'),\n(162, 'NF', 'Norfolk Island', 672, NULL, '2018-10-03 04:38:26'),\n(163, 'MP', 'Northern Mariana Islands', 1670, NULL, '2018-10-03 04:38:26'),\n(164, 'NO', 'Norway', 47, NULL, '2018-10-03 04:38:26'),\n(165, 'OM', 'Oman', 968, NULL, '2018-10-03 04:38:26'),\n(166, 'PK', 'Pakistan', 92, NULL, '2018-10-03 04:38:26'),\n(167, 'PW', 'Palau', 680, NULL, '2018-10-03 04:38:26'),\n(168, 'PS', 'Palestinian Territory Occupied', 970, NULL, NULL),\n(169, 'PA', 'Panama', 507, NULL, '2018-10-03 04:38:26'),\n(170, 'PG', 'Papua new Guinea', 675, NULL, '2018-10-03 04:38:26'),\n(171, 'PY', 'Paraguay', 595, NULL, '2018-10-03 04:38:26'),\n(172, 'PE', 'Peru', 51, NULL, '2018-10-03 04:38:26'),\n(173, 'PH', 'Philippines', 63, NULL, '2018-10-03 04:38:26'),\n(174, 'PN', 'Pitcairn Island', 0, NULL, NULL),\n(175, 'PL', 'Poland', 48, NULL, '2018-10-03 04:38:26'),\n(176, 'PT', 'Portugal', 351, NULL, '2018-10-03 04:38:26'),\n(177, 'PR', 'Puerto Rico', 1787, NULL, NULL),\n(178, 'QA', 'Qatar', 974, NULL, '2018-10-03 04:38:26'),\n(179, 'RE', 'Reunion', 262, NULL, '2018-10-03 04:38:26'),\n(180, 'RO', 'Romania', 40, NULL, '2018-10-03 04:38:26'),\n(181, 'RU', 'Russia', 70, NULL, NULL),\n(182, 'RW', 'Rwanda', 250, NULL, '2018-10-03 04:38:26'),\n(183, 'SH', 'Saint Helena', 290, NULL, '2018-10-03 04:38:26'),\n(184, 'KN', 'Saint Kitts And Nevis', 1869, NULL, '2018-10-03 04:38:27'),\n(185, 'LC', 'Saint Lucia', 1758, NULL, '2018-10-03 04:38:27'),\n(186, 'PM', 'Saint Pierre and Miquelon', 508, NULL, '2018-10-03 04:38:26'),\n(187, 'VC', 'Saint Vincent And The Grenadines', 1784, NULL, '2018-10-03 04:38:26'),\n(188, 'WS', 'Samoa', 684, NULL, '2018-10-03 04:38:26'),\n(189, 'SM', 'San Marino', 378, NULL, '2018-10-03 04:38:26'),\n(190, 'ST', 'Sao Tome and Principe', 239, NULL, '2018-10-03 04:38:26'),\n(191, 'SA', 'Saudi Arabia', 966, NULL, '2018-10-03 04:38:26'),\n(192, 'SN', 'Senegal', 221, NULL, '2018-10-03 04:38:26'),\n(193, 'RS', 'Serbia', 381, NULL, NULL),\n(194, 'SC', 'Seychelles', 248, NULL, '2018-10-03 04:38:26'),\n(195, 'SL', 'Sierra Leone', 232, NULL, '2018-10-03 04:38:26'),\n(196, 'SG', 'Singapore', 65, NULL, '2018-10-03 04:38:26'),\n(197, 'SK', 'Slovakia', 421, NULL, '2018-10-03 04:38:26'),\n(198, 'SI', 'Slovenia', 386, NULL, '2018-10-03 04:38:26'),\n(199, 'XG', 'Smaller Territories of the UK', 44, NULL, NULL),\n(200, 'SB', 'Solomon Islands', 677, NULL, '2018-10-03 04:38:26'),\n(201, 'SO', 'Somalia', 252, NULL, '2018-10-03 04:38:26'),\n(202, 'ZA', 'South Africa', 27, NULL, '2018-10-03 04:38:26'),\n(203, 'GS', 'South Georgia', 0, NULL, NULL),\n(204, 'SS', 'South Sudan', 211, NULL, NULL),\n(205, 'ES', 'Spain', 34, NULL, '2018-10-03 04:38:27'),\n(206, 'LK', 'Sri Lanka', 94, NULL, '2018-10-03 04:38:26'),\n(207, 'SD', 'Sudan', 249, NULL, '2018-10-03 04:38:26'),\n(208, 'SR', 'Suriname', 597, NULL, '2018-10-03 04:38:26'),\n(209, 'SJ', 'Svalbard And Jan Mayen Islands', 47, NULL, NULL),\n(210, 'SZ', 'Swaziland', 268, NULL, '2018-10-03 04:38:26'),\n(211, 'SE', 'Sweden', 46, NULL, '2018-10-03 04:38:26'),\n(212, 'CH', 'Switzerland', 41, NULL, '2018-10-03 04:38:27'),\n(213, 'SY', 'Syria', 963, NULL, NULL),\n(214, 'TW', 'Taiwan', 886, NULL, NULL),\n(215, 'TJ', 'Tajikistan', 992, NULL, '2018-10-03 04:38:26'),\n(216, 'TZ', 'Tanzania', 255, NULL, NULL),\n(217, 'TH', 'Thailand', 66, NULL, '2018-10-03 04:38:26'),\n(218, 'TG', 'Togo', 228, NULL, '2018-10-03 04:38:26'),\n(219, 'TK', 'Tokelau', 690, NULL, '2018-10-03 04:38:26'),\n(220, 'TO', 'Tonga', 676, NULL, '2018-10-03 04:38:26'),\n(221, 'TT', 'Trinidad And Tobago', 1868, NULL, '2018-10-03 04:38:26'),\n(222, 'TN', 'Tunisia', 216, NULL, '2018-10-03 04:38:26'),\n(223, 'TR', 'Turkey', 90, NULL, '2018-10-03 04:38:26'),\n(224, 'TM', 'Turkmenistan', 7370, NULL, '2018-10-03 04:38:26'),\n(225, 'TC', 'Turks And Caicos Islands', 1649, NULL, '2018-10-03 04:38:26'),\n(226, 'TV', 'Tuvalu', 688, NULL, '2018-10-03 04:38:26'),\n(227, 'UG', 'Uganda', 256, NULL, '2018-10-03 04:38:26'),\n(228, 'UA', 'Ukraine', 380, NULL, '2018-10-03 04:38:26'),\n(229, 'AE', 'United Arab Emirates', 971, NULL, '2018-10-03 04:38:27'),\n(230, 'GB', 'United Kingdom', 44, NULL, '2018-10-03 04:38:27'),\n(231, 'US', 'United States', 1, NULL, '2018-10-03 04:38:26'),\n(232, 'UM', 'United States Minor Outlying Islands', 1, NULL, '2018-10-03 04:38:26'),\n(233, 'UY', 'Uruguay', 598, NULL, '2018-10-03 04:38:26'),\n(234, 'UZ', 'Uzbekistan', 998, NULL, '2018-10-03 04:38:26'),\n(235, 'VU', 'Vanuatu', 678, NULL, '2018-10-03 04:38:26'),\n(236, 'VA', 'Vatican City State (Holy See)', 39, NULL, NULL),\n(237, 'VE', 'Venezuela', 58, NULL, '2018-10-03 04:38:26'),\n(238, 'VN', 'Vietnam', 84, NULL, NULL),\n(239, 'VG', 'Virgin Islands (British)', 1284, NULL, NULL),\n(240, 'VI', 'Virgin Islands (US)', 1340, NULL, NULL),\n(241, 'WF', 'Wallis And Futuna Islands', 681, NULL, NULL),\n(242, 'EH', 'Western Sahara', 212, NULL, '2018-10-03 04:38:27'),\n(243, 'YE', 'Yemen', 967, NULL, '2018-10-03 04:38:26'),\n(244, 'YU', 'Yugoslavia', 38, NULL, '2018-10-03 04:38:26'),\n(245, 'ZM', 'Zambia', 260, NULL, '2018-10-03 04:38:26'),\n(246, 'ZW', 'Zimbabwe', 263, NULL, '2018-10-03 04:38:26'),\n(247, 'WA', 'Wales', 44, NULL, NULL),\n(248, 'SF', 'Scotland', 44, NULL, NULL),\n(249, 'ND', 'Northern Ireland', 44, NULL, NULL),\n(250, 'SC', 'Serbia And Montenegr', 381, NULL, NULL),\n(251, 'CB', 'Channel Islands', 1, NULL, NULL),\n(252, 'AX', 'Aland Islands', 358, NULL, NULL);\n"
  },
  {
    "path": "public/bd_data/states.sql",
    "content": "INSERT INTO `states` (`id`, `name`, `country_id`, `created_at`, `updated_at`) VALUES\n(1, 'Andorra la Vella', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(2, 'Andorra la Vella', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(3, 'Canillo', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(4, 'Escaldes-Engordany', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(5, 'Encamp', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(6, 'Sant Julia Loria', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(7, 'La Massana', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(8, 'La Massana', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(9, 'Ordino', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(10, 'Sant Julia de Loria', 5, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(11, 'Ajman', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(12, 'Abu Dhabi', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(13, 'Dubay', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(14, 'Fujairah', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(15, 'Ras al Khaymah', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(16, 'Sharjah', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(17, 'Umm al Qaywayn', 229, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(18, 'Barbuda', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(19, 'Saint George', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(20, 'Saint John', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(21, 'Saint Mary', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(22, 'Saint Paul', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(23, 'Saint Peter', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(24, 'Saint Philip', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(25, 'Redonda', 9, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(26, 'Blowing Point', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(27, 'East End', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(28, 'George Hill', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(29, 'Island Harbour', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(30, 'North Hill', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(31, 'North Side', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(32, 'Sandy Ground', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(33, 'Sandy Hill', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(34, 'South Hill', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(35, 'Stoney Ground', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(36, 'The Farrington', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(37, 'The Quarter', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(38, 'The Valley', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(39, 'West End', 7, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(40, 'Berat', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(41, 'Diber', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(42, 'Durres', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(43, 'Elbasan', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(44, 'Fier', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(45, 'Gijrokaster', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(46, 'Korce', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(47, 'Kukes', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(48, 'Lezhe', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(49, 'Shkoder', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(50, 'Tirane', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(51, 'Vlore', 2, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(52, 'Aragacot n', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(53, 'Ararat', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(54, 'Armavir', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(55, 'Erevan', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(56, 'Gelark unik', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(57, 'Kotayk', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(58, 'Lori', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(59, 'Sirak', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(60, 'Syunik', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(61, 'Tavus', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(62, 'Vayoc Jor', 11, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(63, 'Bonaire', 154, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(64, 'Cura ao', 154, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(65, 'Saba', 154, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(66, 'Sint Eustatius', 154, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(67, 'Sint Maarten', 154, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(68, 'Benguela', 6, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(69, 'Bi', 6, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(70, 'Bengo', 6, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(71, 'Cabinda', 6, '2018-11-29 03:54:58', '2018-11-29 03:54:58'),\n(72, 'Cuando Cubango', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(73, 'Cuanza Norte', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(74, 'Cuanza Sul', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(75, 'Cunene', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(76, 'Hu la', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(77, 'Huambo', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(78, 'Lunda Norte', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(79, 'Lunda Sul', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(80, 'Luanda', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(81, 'Malanje', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(82, 'Moxico', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(83, 'Namibe', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(84, 'U ge', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(85, 'Zaire', 6, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(86, 'Argentina/UK Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(87, 'Australia Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(88, 'Chile/UK/Argentina C', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(89, 'Chile Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(90, 'Chile/UK Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(91, 'France Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(92, 'Norway Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(93, 'Unclaimed', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(94, 'New Zealand Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(95, 'United Kingdom Claim', 8, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(96, 'Buenos Aires', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(97, 'Cordoba', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(98, 'Chaco', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(99, 'Chubut', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(100, 'Corrientes', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(101, 'Catamarca', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(102, 'Distrito Federal', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(103, 'Entre Rios', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(104, 'Formosa', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(105, 'Jujuy', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(106, 'La Pampa', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(107, 'La Rioja', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(108, 'Misiones', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(109, 'Mendoza', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(110, 'Neuquen', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(111, 'Rio Negro', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(112, 'Salta', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(113, 'Santa Cruz', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(114, 'Santiago del Estero', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(115, 'Santa Fe', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(116, 'San Juan', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(117, 'San Luis', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(118, 'Tierra del Fuego', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(119, 'Tucuman', 10, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(120, 'Eastern', 4, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(121, 'Manu a', 4, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(122, 'Unorganized', 4, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(123, 'Western', 4, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(124, 'Burgenland', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(125, 'Karnten', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(126, 'Niederosterreich', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(127, 'Oberosterreich', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(128, 'Salzburg', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(129, 'Steiermark', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(130, 'Tirol', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(131, 'Vorarlberg', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(132, 'Wien', 14, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(133, 'Australian Capital T', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(134, 'Ashmore and Cartier', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(135, 'Coral Sea Islands Te', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(136, 'Jervis Bay Territory', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(137, 'New South Wales', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(138, 'Northern Territory', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(139, 'Queensland', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(140, 'South Australia', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(141, 'Tasmania', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(142, 'Victoria', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(143, 'Western Australia', 13, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(144, 'Aruba', 12, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(145, 'Br nd', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(146, 'Ecker', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(147, 'F gl', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(148, 'Finstr m', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(149, 'Geta', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(150, 'Hammarland', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(151, 'Jomala', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(152, 'K kar', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(153, 'Kumlinge', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(154, 'Lemland', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(155, 'Lumparland', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(156, 'Mariehamn', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(157, 'Sund', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(158, 'Sottunga', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(159, 'Saltvik', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(160, 'V rd', 252, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(161, 'Astara', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(162, 'Eli Bayramli', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(163, 'Agcabedi', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(164, 'Agstafa', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(165, 'Agdam', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(166, 'Abseron', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(167, 'Agdas', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(168, 'Agsu', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(169, 'Baki', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(170, 'Babek', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(171, 'Balaken', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(172, 'Beyleqan', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(173, 'Berde', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(174, 'Bilesuvar', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(175, 'Cebrayil', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(176, 'Culfa', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(177, 'Celilabad', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(178, 'Daskesen', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(179, 'Deveci', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(180, 'Fuzuli', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(181, 'Gence', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(182, 'Gedebey', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(183, 'Goranboy', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(184, 'Goycay', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(185, 'Haciqabul', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(186, 'Imisli', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(187, 'Ismayilli', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(188, 'Kelbecer', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(189, 'Kurdemir', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(190, 'Lacin', 15, '2018-11-29 03:54:59', '2018-11-29 03:54:59'),\n(191, 'Lerik', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(192, 'Lenkeran', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(193, 'Masalli', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(194, 'Mingecevir', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(195, 'Naftalan', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(196, 'Neftcala', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(197, 'Naxcivan', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(198, 'Oguz', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(199, 'Ordubad', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(200, 'Qebele', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(201, 'Quba', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(202, 'Qubadli', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(203, 'Qobustan', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(204, 'Qusar', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(205, 'Qax', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(206, 'Qazax', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(207, 'Sabirabad', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(208, 'Sederek', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(209, 'Sahbuz', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(210, 'Samaxi', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(211, 'Seki', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(212, 'Salyan', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(213, 'Semkir', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(214, 'Sumqayit', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(215, 'Serur', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(216, 'Saatli', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(217, 'Susa', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(218, 'Samux', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(219, 'Siyezen', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(220, 'Terter', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(221, 'Tovuz', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(222, 'Ucar', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(223, 'Xankendi', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(224, 'Xocali', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(225, 'Xocavend', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(226, 'Xizi', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(227, 'Xanlar', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(228, 'Xacmaz', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(229, 'Yardimli', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(230, 'Yevlax', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(231, 'Zengilan', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(232, 'Zaqatala', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(233, 'Zerdab', 15, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(234, 'Bosanskopodrinjski', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(235, 'Hercegovacko-neretva', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(236, 'Kanton Sarajevo', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(237, 'Srednjebosanski', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(238, 'Tuzlanski', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(239, 'Unsko-sanski', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(240, 'Zapadnobsanska Zupan', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(241, 'Zenicko-Dobojski', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(242, 'Zupanija Posavska', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(243, 'Zupanija Zapadnoherc', 27, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(244, 'Saint Andrew', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(245, 'Christ Church', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(246, 'Saint George', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(247, 'Saint James', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(248, 'Saint John', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(249, 'Saint Joseph', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(250, 'Saint Lucy', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(251, 'Saint Michael', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(252, 'Saint Peter', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(253, 'Saint Philip', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(254, 'Saint Thomas', 19, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(255, 'Barisal', 18, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(256, 'Chittagong', 18, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(257, 'Dhaka', 18, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(258, 'Khulna', 18, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(259, 'Rajshahi', 18, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(260, 'Sylhet', 18, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(261, 'Antwerpen', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(262, 'Brussels', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(263, 'Brabant Wallon', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(264, 'Hainaut', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(265, 'Liege', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(266, 'Limburg', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(267, 'Luxembourg', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(268, 'Namur', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(269, 'Oost-Vlaanderen', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(270, 'Vlaams-Barbant', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(271, 'West-Vlaanderen', 21, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(272, 'Bal', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(273, 'Bougouriba', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(274, 'Boulkiemd', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(275, 'Boulgou', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(276, 'Bam', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(277, 'Banwa', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(278, 'Baz ga', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(279, 'Gnagna', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(280, 'Gourma', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(281, 'Ganzourgou', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(282, 'Houet', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(283, 'Ioba', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(284, 'Kadiogo', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(285, 'Komondjari', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(286, 'Koulp logo', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(287, 'Komo', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(288, 'K n dougou', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(289, 'Kompienga', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(290, 'Kouritenga', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(291, 'Kossi', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(292, 'Kourw ogo', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(293, 'L raba', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(294, 'Loroum', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(295, 'Mouhoun', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(296, 'Noumbiel', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(297, 'Namentenga', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(298, 'Naouri', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(299, 'Nayala', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(300, 'Oubritenga', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(301, 'Oudalan', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(302, 'Passor', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(303, 'Poni', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(304, 'S no', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(305, 'Sangui', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(306, 'Soum', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(307, 'Sourou', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(308, 'Sissili', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(309, 'Sanmatenga', 34, '2018-11-29 03:55:00', '2018-11-29 03:55:00'),\n(310, 'Tapoa', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(311, 'Tui', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(312, 'Yagha', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(313, 'Yatenga', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(314, 'Zondoma', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(315, 'Ziro', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(316, 'Zoundw ogo', 34, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(317, 'Burgas', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(318, 'Varna', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(319, 'Vidin', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(320, 'Vratsa', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(321, 'Veliko Turnovo', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(322, 'Sofiya', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(323, 'Silistra', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(324, 'Sliven', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(325, 'Smolyan', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(326, 'Grad Sofiya', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(327, 'Stara Zagora', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(328, 'Blagoevgrad', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(329, 'Gabrovo', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(330, 'Pleven', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(331, 'Shumen', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(332, 'Kurdzhali', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(333, 'Kyustendil', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(334, 'Montana', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(335, 'Lovech', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(336, 'Ruse', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(337, 'Pazaardzhik', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(338, 'Plodiv', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(339, 'Pernik', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(340, 'Razgrad', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(341, 'Turgovishte', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(342, 'Dobrich', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(343, 'Haskovo', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(344, 'Yambol', 33, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(345, 'Capital', 17, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(346, 'Central', 17, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(347, 'Muharraq', 17, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(348, 'Northern', 17, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(349, 'Southern', 17, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(350, 'Bubanza', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(351, 'Bujumbura Mairie', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(352, 'Bururi', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(353, 'Bujumbura Rural', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(354, 'Cankuzo', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(355, 'Cibitoke', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(356, 'Gitega', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(357, 'Kirundo', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(358, 'Karuzi', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(359, 'Kayanza', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(360, 'Makamba', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(361, 'Muramvya', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(362, 'Mwaro', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(363, 'Muyinga', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(364, 'Ngozi', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(365, 'Rutana', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(366, 'Ruyigi', 35, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(367, 'Atacora', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(368, 'Alibori', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(369, 'Atlantique', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(370, 'Borgou', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(371, 'Couffo', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(372, 'Collines', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(373, 'Donga', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(374, 'Littoral', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(375, 'Mono', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(376, 'Ou m', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(377, 'Plateau', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(378, 'Zou', 23, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(379, 'Devonshire', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(380, 'Hamilton', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(381, 'Hamilton Municipalit', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(382, 'Paget', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(383, 'Pembroke', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(384, 'Sandys', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(385, 'Saint George s', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(386, 'Saint George municip', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(387, 'Smiths', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(388, 'Southampton', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(389, 'Warwick', 24, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(390, 'Belait', 32, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(391, 'Brunei and Muara', 32, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(392, 'Temburong', 32, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(393, 'Tutong', 32, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(394, 'Cochabamba', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(395, 'Chuquisaca', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(396, 'El Beni', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(397, 'La Paz', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(398, 'Oruro', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(399, 'Pando', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(400, 'Potos', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(401, 'Santa Cruz', 26, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(402, 'Acre', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(403, 'Alagoas', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(404, 'Amazonas', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(405, 'Amapa', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(406, 'Bahia', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(407, 'Ceara', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(408, 'Distrito Federal', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(409, 'Esoirito Santo', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(410, 'Goias', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(411, 'Maranhao', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(412, 'Minas Gerais', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(413, 'Mato Grosso do Sul', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(414, 'Mato Grosso', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(415, 'Para', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(416, 'Paraiba', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(417, 'Pernambuco', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(418, 'Piaui', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(419, 'Parana', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(420, 'Rio de Janeiro', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(421, 'Rio Grande do Norte', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(422, 'Rondonia', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(423, 'Roraima', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(424, 'Rio Grande do Sul', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(425, 'Santa Catarina', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(426, 'Sergipe', 30, '2018-11-29 03:55:01', '2018-11-29 03:55:01'),\n(427, 'Sao Paulo', 30, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(428, 'Tocantins', 30, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(429, 'Acklins', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(430, 'Bimini', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(431, 'Black Point', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(432, 'Berry Islands', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(433, 'Central Abaco', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(434, 'Central Eleuthera', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(435, 'Cat Island', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(436, 'Crooked Island', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(437, 'Central Andros', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(438, 'East Grand Bahama', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(439, 'Exuma', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(440, 'City of Freeport', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(441, 'Grand Cay', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(442, 'Harbour Island', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(443, 'Hope Town', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(444, 'Inagua', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(445, 'Long Island', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(446, 'Mangrove Cay', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(447, 'Mayaguana', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(448, 'Moore s Island', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(449, 'North Abaco', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(450, 'North Eleuthera', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(451, 'North Andros', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(452, 'New Providence', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(453, 'Rum Cay', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(454, 'Ragged Island', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(455, 'South Abaco', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(456, 'South Eleuthera', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(457, 'South Andros', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(458, 'San Salvador', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(459, 'Spanish Wells', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(460, 'West Grand Bahama', 16, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(461, 'Bumthang', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(462, 'Chhukha', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(463, 'Chirang', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(464, 'Daga', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(465, 'Gasa', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(466, 'Geylegphug', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(467, 'Ha', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(468, 'Lhuntshi', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(469, 'Mongar', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(470, 'Pemagatsel', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(471, 'Punakha', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(472, 'Paro', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(473, 'Shemgang', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(474, 'Samdrup Jongkhar', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(475, 'Samchi', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(476, 'Tashigang', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(477, 'Thimphu', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(478, 'Tongsa', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(479, 'Tashi Yangtse', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(480, 'Wangdi Phodrang', 25, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(481, 'Bouvet Island', 29, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(482, 'Central', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(483, 'Kgalagadi', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(484, 'Kgatleng', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(485, 'Kweneng', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(486, 'North-East', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(487, 'North-West', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(488, 'South-East', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(489, 'Southern', 28, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(490, 'Brest', 20, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(491, 'Homyel', 20, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(492, 'Hrodna', 20, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(493, 'Mahilyow', 20, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(494, 'Minsk', 20, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(495, 'Vitsebsk', 20, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(496, 'Belize', 22, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(497, 'Cayo', 22, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(498, 'Corozal', 22, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(499, 'Orange Walk', 22, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(500, 'Stann Creek', 22, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(501, 'Toledo', 22, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(502, 'Alberta', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(503, 'British Columbia', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(504, 'Manitoba', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(505, 'New Brunswick', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(506, 'New Foundland', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(507, 'Nova Scotia', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(508, 'Northwest Territory', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(509, 'Nunavut', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(510, 'Ontario', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(511, 'Prince Edward Island', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(512, 'Quebec', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(513, 'Saskatchewan', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(514, 'Yukon Territory', 38, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(515, 'Channel Islands', 251, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(516, 'Cocos (Keeling) Isla', 46, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(517, 'Bas-Congo', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(518, 'Bandundu', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(519, ' quateur', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(520, 'Orientale', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(521, 'Kasa -Occidental', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(522, 'Kinshasa City', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(523, 'Kasa -Oriental', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(524, 'Katanga', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(525, 'Maniema', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(526, 'Nord-Kivu', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(527, 'Sud-Kivu', 50, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(528, 'Ouham', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(529, 'Bamingui-Bangoran', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(530, 'Bangui', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(531, 'Basse-Kotto', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(532, 'Haute-Kotto', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(533, 'Haut-Mbomou', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(534, 'Mamb r -Kad', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(535, 'Nana-Gr bizi', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(536, 'K mo', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(537, 'Lobaye', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(538, 'Mbomou', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(539, 'Ombella-M Poko', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(540, 'Nana-Mamb r', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(541, 'Ouham-Pend', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(542, 'Sangha-Mba r', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(543, 'Ouaka', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(544, 'Vakaga', 41, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(545, 'Bouenza', 49, '2018-11-29 03:55:02', '2018-11-29 03:55:02'),\n(546, 'Brazzaville', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(547, 'Cuvette-Ouest', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(548, 'Cuvette', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(549, 'Kouilou', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(550, 'L koumou', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(551, 'Likouala', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(552, 'Niari', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(553, 'Plateaux', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(554, 'Pool', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(555, 'Sangha', 49, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(556, 'Aargau', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(557, 'Ausser-Rhoden', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(558, 'Bern', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(559, 'Basel-Landschaft', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(560, 'Basel-Stadt', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(561, 'Fribourg', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(562, 'Geneve', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(563, 'Glarus', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(564, 'Graubunden', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(565, 'Inner-Rhoden', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(566, 'Jura', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(567, 'Luzern', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(568, 'Neuchatel', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(569, 'Nidwalden', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(570, 'Obwalden', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(571, 'Schaffhausen', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(572, 'Sankt Gallen', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(573, 'Schwyz', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(574, 'Solothum', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(575, 'Thurgau', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(576, 'Ticino', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(577, 'Uri', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(578, 'Valais', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(579, 'Vaud', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(580, 'Zurich', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(581, 'Zug', 212, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(582, 'Agn by', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(583, 'Bafing', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(584, 'Bas-Sassandra', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(585, 'Dengu l', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(586, 'Dix-Huit Montagnes', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(587, 'Fromager', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(588, 'Haut-Sassandra', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(589, 'Lacs', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(590, 'Lagunes', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(591, 'Moyen-Como', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(592, 'Marahou', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(593, 'Moyen-Cavally', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(594, 'N zi-Como', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(595, 'Sud-Bandama', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(596, 'Sud-Como', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(597, 'Savanes', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(598, 'Vall e du Bandama', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(599, 'Worodougou', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(600, 'Zanzan', 53, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(601, 'Cook Islands', 51, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(602, 'Aisen del General Ca', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(603, 'Antofagasta', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(604, 'Araucania', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(605, 'Atacama', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(606, 'Bio-Bio', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(607, 'Coquimbo', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(608, 'O Higgins', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(609, 'Los Lagos', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(610, 'Magallanes y Antarti', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(611, 'Maule', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(612, 'Santiago Metropolita', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(613, 'Tarapaca', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(614, 'Valparaiso', 43, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(615, 'Adamaoua', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(616, 'Centre', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(617, 'Extr me-Nord', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(618, 'Est', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(619, 'Littoral', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(620, 'Nord', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(621, 'Nord-Ouest', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(622, 'Ouest', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(623, 'Sud', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(624, 'Sud-Ouest', 37, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(625, 'Anhui', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(626, 'Beijing', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(627, 'Chongqing', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(628, 'Fujian', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(629, 'Guangdong', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(630, 'Gansu', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(631, 'Guangxi Zhuang', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(632, 'Guizhou', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(633, 'Hainan', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(634, 'Hebei', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(635, 'Henan', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(636, 'HongKong', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(637, 'Heilongjiang', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(638, 'Hunan', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(639, 'Hubei', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(640, 'Jilin', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(641, 'Jiangsu', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(642, 'Jiangxi', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(643, 'Liaoning', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(644, 'Maco', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(645, 'Nei Mongol', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(646, 'Ningxia Hui', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(647, 'Qinghai', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(648, 'Shaanxi', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(649, 'Sichuan', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(650, 'Shandong', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(651, 'Shanghai', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(652, 'Shanxi', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(653, 'Taiwan', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(654, 'Tianjin', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(655, 'Xinjiang Uygur', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(656, 'Xizang', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(657, 'Yunnan', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(658, 'Zhejiang', 44, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(659, 'Amazonas', 47, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(660, 'Antioquia', 47, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(661, 'Arauca', 47, '2018-11-29 03:55:03', '2018-11-29 03:55:03'),\n(662, 'Atlantico', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(663, 'Bolivar', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(664, 'Boyaca', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(665, 'Caldas', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(666, 'Caqueta', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(667, 'Casanare', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(668, 'Cauca', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(669, 'Cesar', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(670, 'Choco', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(671, 'Vichada', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(672, 'Cordoba', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(673, 'Cundinamarca', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(674, 'Distrito Capital', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(675, 'Guainia', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(676, 'Guaviare', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(677, 'Huila', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(678, 'La Guajira', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(679, 'Magdalena', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(680, 'Meta', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(681, 'Narino', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(682, 'Norte de Santander', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(683, 'Putumayo', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(684, 'Quindio', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(685, 'Risaralda', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(686, 'Santander', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(687, 'San Andres Y Provide', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(688, 'Sucre', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(689, 'Tolima', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(690, 'Valle del Cauca', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(691, 'Vaupes', 47, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(692, 'Alajuela', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(693, 'Cartago', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(694, 'Guanacaste', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(695, 'Heredia', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(696, 'Limon', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(697, 'Puntarenas', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(698, 'San Jose', 52, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(699, 'Andrijevica', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(700, 'Bar', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(701, 'Bijelo Polje', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(702, 'Budva', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(703, 'Cetinje', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(704, 'Danilovgrad', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(705, 'Herceg Novi', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(706, 'Kolasin', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(707, 'Kotor', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(708, 'Berane', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(709, 'Mojkovac', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(710, 'Niksic', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(711, 'Podgorica', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(712, 'Pljevlja', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(713, 'Pluzine', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(714, 'Plav', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(715, 'Rozaje', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(716, 'Savnik', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(717, 'Tivat', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(718, 'Ulcinj', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(719, 'Zabljak', 250, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(720, 'Ciego de  vila', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(721, 'Cienfuegos', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(722, 'Ciudad de la Habana', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(723, 'Camag ey', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(724, 'Granma', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(725, 'Guant namo', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(726, 'Holgu n', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(727, 'Isla de la Juventud', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(728, 'La Habana', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(729, 'Las Tunas', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(730, 'Matanzas', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(731, 'Pinar del R o', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(732, 'Santiago de Cuba', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(733, 'Sancti Sp ritus', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(734, 'Villa Clara', 55, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(735, 'Brava', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(736, 'Boa Vista', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(737, 'Maio', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(738, 'Mosteiros', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(739, 'Pa l', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04');\nINSERT INTO `states` (`id`, `name`, `country_id`, `created_at`, `updated_at`) VALUES\n(740, 'Praia', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(741, 'Porto Novo', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(742, 'Ribeira Grande', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(743, 'Santa Catarina', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(744, 'S o Domingos', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(745, 'S o Filipe', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(746, 'Sal', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(747, 'S o Miguel', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(748, 'S o Nicolau', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(749, 'S o Vicente', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(750, 'Santa Cruz', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(751, 'Tarrafal', 39, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(752, 'Christmas Island', 45, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(753, 'Famagusta', 56, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(754, 'Kyrenia', 56, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(755, 'Larnaca', 56, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(756, 'Limassol', 56, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(757, 'Nicosia', 56, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(758, 'Paphos', 56, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(759, 'Jihomoravsky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(760, 'Jihocesky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(761, 'Pardubicky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(762, 'Kralovehradecky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(763, 'Vysocina', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(764, 'Karlovarsky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(765, 'Liberecky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(766, 'Olomoucky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(767, 'Plzensky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(768, 'Praha', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(769, 'Stredocesky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(770, 'Ustecky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(771, 'Moravskoslezsky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(772, 'Zlinsky', 57, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(773, 'Brandenburg', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(774, 'Berlin', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(775, 'Baden-Wurttemberg', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(776, 'Bavaria', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(777, 'Bremen', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(778, 'Hesse', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(779, 'Hamburg', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(780, 'Mecklenburg-West Pom', 82, '2018-11-29 03:55:04', '2018-11-29 03:55:04'),\n(781, 'Lower Saxony', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(782, 'North Rhine-Westphal', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(783, 'Rhineland-Palatinate', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(784, 'Schleswig-Holstein', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(785, 'Saarland', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(786, 'Saxony', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(787, 'Saxony-Anhalt', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(788, 'Thueringen', 82, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(789, 'Arta', 59, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(790, '`Ali Sabieh', 59, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(791, 'Djibouti', 59, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(792, 'Dikhil', 59, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(793, 'Obock', 59, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(794, 'Tadjourah', 59, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(795, 'ARHUS', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(796, 'BORNHOLM', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(797, 'FREDERIKSBORG', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(798, 'FYN', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(799, 'COPENHAGEN', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(800, 'NORTH JUTLAND', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(801, 'RIBE', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(802, 'RINGKOBING', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(803, 'ROSKILDE', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(804, 'FREDREIKSBERG', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(805, 'SOUTH JUTLAND', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(806, 'COPENHAGEN CITY', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(807, 'STORSTROM', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(808, 'VIBORG', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(809, 'VEJLE', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(810, 'VESTSJAELLAND', 58, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(811, 'Saint Andrew', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(812, 'Saint David', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(813, 'Saint George', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(814, 'Saint Joseph', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(815, 'Saint John', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(816, 'Saint Luke', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(817, 'Saint Mark', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(818, 'Saint Patrick', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(819, 'Saint Paul', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(820, 'Saint Peter', 60, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(821, 'La Altagracia', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(822, 'Azua', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(823, 'Barahona', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(824, 'Bahoruco', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(825, 'San Cristobal', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(826, 'Dajabon', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(827, 'Duarte', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(828, 'Elias Pina', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(829, 'Espaillat', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(830, 'Hato Mayor', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(831, 'Independencia', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(832, 'San Jose de Ocoa', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(833, 'San Juan', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(834, 'Monte Cristi', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(835, 'Monsenor Nouel', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(836, 'Monte Plata', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(837, 'Maria Trinidad Sanch', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(838, 'Distrito Nacional', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(839, 'San Pedro de Macoris', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(840, 'Pedernales', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(841, 'Puerto Plata', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(842, 'Peravia', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(843, 'La Romana', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(844, 'Salcedo', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(845, 'Santo Domingo', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(846, 'El Seybo', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(847, 'Samana', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(848, 'Santiago Rodriguez', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(849, 'Santiago', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(850, 'Sanchez Ramirez', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(851, 'Valverde', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(852, 'La Vega', 61, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(853, 'A n Defla', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(854, 'Alger', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(855, 'Annaba', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(856, 'Adrar', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(857, 'A n T mouchent', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(858, 'Bordj Bou Arr ridj', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(859, 'B char', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(860, 'B ja a', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(861, 'Blida', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(862, 'Boumerd s', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(863, 'Biskra', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(864, 'Batna', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(865, 'Bouira', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(866, 'Chlef', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(867, 'Constantine', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(868, 'Djelfa', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(869, 'El Bayadh', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(870, 'El Oued', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(871, 'El Tarf', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(872, 'Guelma', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(873, 'Gharda a', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(874, 'Illizi', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(875, 'Jijel', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(876, 'Khenchela', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(877, 'Laghouat', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(878, 'Mascara', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(879, 'M d a', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(880, 'Mostaganem', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(881, 'Mila', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(882, 'Msila', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(883, 'Naama', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(884, 'Oum el Bouaghi', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(885, 'Ouargla', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(886, 'Oran', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(887, 'Relizane', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(888, 'Souk Ahras', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(889, 'Sidi Bel Abb s', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(890, 'Sa da', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(891, 'S tif', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(892, 'Skikda', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(893, 'T bessa', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(894, 'Tlemcen', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(895, 'Tamanghasset', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(896, 'Tindouf', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(897, 'Tizi Ouzou', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(898, 'Tipaza', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(899, 'Tiaret', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(900, 'Tissemsilt', 3, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(901, 'Azuay', 63, '2018-11-29 03:55:05', '2018-11-29 03:55:05'),\n(902, 'Bolivar', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(903, 'Carchi', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(904, 'Orellana', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(905, 'Esmeraldas', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(906, 'Canar', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(907, 'Guayas', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(908, 'Chimborazo', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(909, 'Imbabura', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(910, 'Junin', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(911, 'Loja', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(912, 'Manabi', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(913, 'Napo', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(914, 'El Oro', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(915, 'Pinchincha', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(916, 'Los Rios', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(917, 'Morona-Santiago', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(918, 'Tungurahua', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(919, 'Sucumbios', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(920, 'Galapagos', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(921, 'Cotopaxi', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(922, 'Pastaza', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(923, 'Zamora-Chinchipe', 63, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(924, 'Harjumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(925, 'Hiiumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(926, 'Ida-Virumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(927, 'Jogevamaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(928, 'Jarvamaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(929, 'Laanemaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(930, 'Laane-Virumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(931, 'Polvamaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(932, 'Parnumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(933, 'Raplamaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(934, 'Saaremaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(935, 'Tartumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(936, 'Viljandimaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(937, 'Valgamaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(938, 'Vorumaa', 68, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(939, 'Aswan', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(940, 'Asyut', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(941, 'Al Bahr al Ahmar', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(942, 'Al Buhayrah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(943, 'Bani Suwayf', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(944, 'Bur Sa id', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(945, 'Ad Daqahilyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(946, 'Dumyat', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(947, 'Al Fayyum', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(948, 'Al Gharbiyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(949, 'Al Iskandariyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(950, 'Al Ismailiyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(951, 'Janub Sina', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(952, 'Al Jizah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(953, 'Kafr ash Shaykh', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(954, 'Al Minufiyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(955, 'Al Minya', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(956, 'Matruh', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(957, 'Al Qahirah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(958, 'Al Qalyubiyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(959, 'Qina', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(960, 'Suhaj', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(961, 'Ash Sharqiyah', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(962, 'Shamal Sina', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(963, 'As Suways', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(964, 'Al Uqsur', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(965, 'Al Wadi al Jadid', 64, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(966, 'Boujdour', 242, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(967, 'Es Semara', 242, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(968, 'Laayoune', 242, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(969, 'Oued el Dahab', 242, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(970, 'Anseba', 67, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(971, 'Debubawi Keyih Bahri', 67, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(972, 'Debub', 67, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(973, 'Gash Barka', 67, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(974, 'Maekel', 67, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(975, 'Semenawi Keyih Bahri', 67, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(976, 'Albacete', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(977, 'Alicante', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(978, 'Alava', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(979, 'Almeria', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(980, 'Asturias', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(981, 'Avila', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(982, 'Badajoz', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(983, 'Bizkaia', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(984, 'Beleares', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(985, 'Barcelona', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(986, 'Burgos', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(987, 'Caceres', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(988, 'Cadiz', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(989, 'Ceuta', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(990, 'Cantabria', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(991, 'Cordoba', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(992, 'Ciudad Real', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(993, 'Castellon', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(994, 'Cuenca', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(995, 'Guadalajara', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(996, 'Girona', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(997, 'Granada', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(998, 'Huesca', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(999, 'Huelva', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1000, 'Jaen', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1001, 'La Coruna', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1002, 'Leon', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1003, 'Lleida', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1004, 'Las Palmas', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1005, 'La Rioja', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1006, 'Lugo', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1007, 'Madrid', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1008, 'Melilla', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1009, 'Malaga', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1010, 'Murcia', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1011, 'Navarra', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1012, 'Ourense', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1013, 'Palencia', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1014, 'Pontevedra', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1015, 'Salamanca', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1016, 'Santa Cruz de Teneri', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1017, 'Segovia', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1018, 'Soria', 205, '2018-11-29 03:55:06', '2018-11-29 03:55:06'),\n(1019, 'Sevilla', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1020, 'Tarragona', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1021, 'Teruel', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1022, 'Toledo', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1023, 'Valencia', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1024, 'Valladolid', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1025, 'Zamora', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1026, 'Zaragoza', 205, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1027, 'Addis Ababa', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1028, 'Afar', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1029, 'Amhara', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1030, 'Benshangul-Gumaz', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1031, 'Dire Dawa', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1032, 'Gambela Peoples', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1033, 'Harari People', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1034, 'Oromia', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1035, 'Southern Nations, Na', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1036, 'Somali', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1037, 'Tigray', 69, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1038, 'Southern Finland', 74, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1039, 'Eastern Finland', 74, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1040, 'Lapland', 74, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1041, 'Western Finland', 74, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1042, 'Oulu', 74, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1043, 'BA', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1044, 'Bua', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1045, 'Cakaudrova', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1046, 'Kadavu', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1047, 'Lomaiviti', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1048, 'Lautoka', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1049, 'Lau', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1050, 'Macuata', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1051, 'Nandi', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1052, 'Namosi', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1053, 'Nadroga-Navosa', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1054, 'Tholo North', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1055, 'Naitasiri', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1056, 'Ra', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1057, 'Rewa', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1058, 'Serua', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1059, 'Tailevu', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1060, 'Tholo West', 73, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1061, 'Falkland Islands', 71, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1062, 'Chuuk', 143, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1063, 'Kosrae', 143, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1064, 'Pohnpei', 143, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1065, 'Yap', 143, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1066, 'Norder erne', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1067, ' ster', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1068, 'Sand', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1069, 'Suder  Nordre', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1070, 'Suder  S ndre', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1071, 'Str m', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1072, 'V g', 72, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1073, 'Aube', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1074, 'Aude', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1075, 'Ariege', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1076, 'Ardeche', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1077, 'Ain', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1078, 'Allier', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1079, 'Alpes-Maritimes', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1080, 'Ardennes', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1081, 'Alpes-de-Haute-Prove', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1082, 'Aisne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1083, 'Aveyron', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1084, 'Bouches-du-Rhone', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1085, 'Bas-Rhin', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1086, 'Cotes-d Armor', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1087, 'Cher', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1088, 'Cantal', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1089, 'Charente-Maritime', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1090, 'Cote-d Or', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1091, 'Creuse', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1092, 'Corse-du-Sud', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1093, 'Charente', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1094, 'Calvados', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1095, 'Correze', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1096, 'Doubs', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1097, 'Dordogne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1098, 'Drome', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1099, 'Deux-Sevres', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1100, 'Eure-et-Loir', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1101, 'Essonne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1102, 'Eure', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1103, 'Finistere', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1104, 'Gard', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1105, 'Gers', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1106, 'Gironde', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1107, 'Hautes-Alpes', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1108, 'Haute-Corse', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1109, 'Herault', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1110, 'Haute-Garonne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1111, 'Haute-Loire', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1112, 'Haute-Mame', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1113, 'Haute-Saone', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1114, 'Hautes-Pyrenees', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1115, 'Haut-Rhin', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1116, 'Haute-Savoie', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1117, 'Haute-Vienne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1118, 'Indre-et-Loire', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1119, 'Indre', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1120, 'Isere', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1121, 'Ille-et-Vilaine', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1122, 'Jura', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1123, 'Loire-Atlantique', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1124, 'Loir-et-Cher', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1125, 'Landes', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1126, 'Lot-et-Garonne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1127, 'Lot', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1128, 'Loire', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1129, 'Loiret', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1130, 'Lozere', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1131, 'Morbihan', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1132, 'Manche', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1133, 'Maine-et-Loire', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1134, 'Meurthe-et-Moselle', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1135, 'Moselle', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1136, 'Marne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1137, 'Meuse', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1138, 'Mayenne', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1139, 'Nievre', 75, '2018-11-29 03:55:07', '2018-11-29 03:55:07'),\n(1140, 'Nord', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1141, 'Oise', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1142, 'Orne', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1143, 'Pyrenees-Atlantiques', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1144, 'Pas-de-Calais', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1145, 'Puy-de-Dome', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1146, 'Pyrenees-Orientales', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1147, 'Rhone', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1148, 'Seine-et-Marne', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1149, 'Saone-et-Loire', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1150, 'Seine-Maritime', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1151, 'Somme', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1152, 'Sarthe', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1153, 'Savoie', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1154, 'Tarn', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1155, 'Territoire de Belfor', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1156, 'Tarn-et-Garonne', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1157, 'Vaucluse', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1158, 'Vendee', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1159, 'Vosges', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1160, 'Vienne', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1161, 'Val-d Oise', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1162, 'Ville de Paris', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1163, 'Var', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1164, 'Yonne', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1165, 'Yvelines', 75, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1166, 'Estuaire', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1167, 'Haut-Ogoou', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1168, 'Moyen-Ogoou', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1169, 'Ngouni', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1170, 'Nyanga', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1171, 'Ogoou -Ivindo', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1172, 'Ogoou -Lolo', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1173, 'Ogoou -Maritime', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1174, 'Woleu-Ntem', 79, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1175, 'Avon', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1176, 'Bedfordshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1177, 'Buckinghamshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1178, 'Berkshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1179, 'Cambridgeshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1180, 'Cheshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1181, 'Cleveland', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1182, 'Cumbria', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1183, 'Cornwall', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1184, 'Cumberland', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1185, 'Derbyshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1186, 'Devon', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1187, 'Co. Donegal', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1188, 'Dorset', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1189, 'Co. Durham', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1190, 'East Riding of York', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1191, 'Essex', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1192, 'Gloucestershire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1193, 'Greater Manchester', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1194, 'Hampshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1195, 'Herefordshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1196, 'Hertfordshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1197, 'Humberside', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1198, 'Huntingdonshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1199, 'Hereford at Worc', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1200, 'Isle of Wight', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1201, 'Kent', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1202, 'Lancashire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1203, 'Leicestershire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1204, 'Lincolnshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1205, 'London', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1206, 'Merseyside', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1207, 'Northumberland', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1208, 'Norfolk', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1209, 'North Riding of York', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1210, 'Northamptonshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1211, 'Nottinghamshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1212, 'North Yorkshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1213, 'Oxfordshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1214, 'Rutland', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1215, 'Shropshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1216, 'Suffolk', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1217, 'Somerset', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1218, 'Surrey', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1219, 'Sussex', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1220, 'East Sussex', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1221, 'South Yorkshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1222, 'Tyne and Wear', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1223, 'Warwickshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1224, 'Westmorland', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1225, 'Wiltshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1226, 'West Midlands', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1227, 'Worcestershire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1228, 'West Riding of York', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1229, 'Yorkshire', 230, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1230, 'Saint Andrew', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1231, 'Carriacou', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1232, 'Saint David', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1233, 'Saint George', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1234, 'Saint John', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1235, 'Saint Mark', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1236, 'Saint Patrick', 87, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1237, 'Abkhazia', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1238, 'Ajaria', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1239, 'Guria', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1240, 'Imereti', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1241, 'Kakheti', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1242, 'Kvemo Kartli', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1243, 'Mtskheta-Mtianeti', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1244, 'Racha-Lochkhumi-Kvem', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1245, 'Shida Kartli', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1246, 'Samtskhe-Javakheti', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1247, 'Samegrelo-Zemo Svate', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1248, 'Tbilisi', 81, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1249, 'Cayenne', 76, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1250, 'Saint-Laurent-du-Mar', 76, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1251, 'Greater Accra', 83, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1252, 'Ashanti', 83, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1253, 'Brong-Ahafo', 83, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1254, 'Central', 83, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1255, 'Eastern', 83, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1256, 'Northern', 83, '2018-11-29 03:55:08', '2018-11-29 03:55:08'),\n(1257, 'Volta', 83, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1258, 'Upper East', 83, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1259, 'Upper West', 83, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1260, 'Western', 83, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1261, 'Gibraltar', 84, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1262, 'Tuna', 86, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1263, 'Avannaa', 86, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1264, 'Kitaa', 86, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1265, 'Banjul', 80, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1266, 'Lower River', 80, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1267, 'Central River', 80, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1268, 'North Bank', 80, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1269, 'Upper River', 80, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1270, 'Western', 80, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1271, 'Beyla', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1272, 'Boffa', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1273, 'Bok', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1274, 'Conakry', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1275, 'Coyah', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1276, 'Dabola', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1277, 'Dinguiraye', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1278, 'Dalaba', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1279, 'Dubr ka', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1280, 'Faranah', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1281, 'For cariah', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1282, 'Fria', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1283, 'Gaoual', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1284, 'Gu ck dou', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1285, 'Kankan', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1286, 'Koubia', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1287, 'Kindia', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1288, 'K rouan', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1289, 'Koundara', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1290, 'Kouroussa', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1291, 'Kissidougou', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1292, 'Lab', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1293, 'L louma', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1294, 'Lola', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1295, 'Macenta', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1296, 'Mandiana', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1297, 'Mali', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1298, 'Mamou', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1299, 'Nz r kor', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1300, 'Pita', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1301, 'Siguiri', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1302, 'T lim l', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1303, 'Tougu', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1304, 'Yomou', 92, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1305, 'Basse-Terre', 88, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1306, 'Pointe- -Pitre', 88, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1307, 'Annob n', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1308, 'Bioko Norte', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1309, 'Bioko Sur', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1310, 'Centro Sur', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1311, 'Ki -Ntem', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1312, 'Litoral', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1313, 'Wele-Nz s', 66, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1314, 'Attica', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1315, 'Central Greece', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1316, 'Central Macedonia', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1317, 'Crete', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1318, 'E.Macedonia   Thrace', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1319, 'Epirus', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1320, 'Ionian Islands', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1321, 'North Aegean', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1322, 'Peloponnese', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1323, 'South Aegean', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1324, 'Thessaly', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1325, 'West Greece', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1326, 'West Macedonia', 85, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1327, 'South Georgia and th', 203, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1328, 'Alta Verapaz', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1329, 'Baja Verapaz', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1330, 'Chimaltenango', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1331, 'Chiquimula', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1332, 'Escuintla', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1333, 'Guatamala', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1334, 'Huehuetenango', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1335, 'Izabal', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1336, 'Jalapa', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1337, 'Jutiapa', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1338, 'Peten', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1339, 'El Progreso', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1340, 'Quiche', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1341, 'Quetzaltenango', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1342, 'Retalhuleu', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1343, 'Sacatepequez', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1344, 'San Marcos', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1345, 'Solola', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1346, 'Santa Rosa', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1347, 'Suchitepequez', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1348, 'Totonicapan', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1349, 'Zacapa', 90, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1350, 'Barima-Waini', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1351, 'Cuyuni-Mazaruni', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1352, 'Demerara-Mahaica', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1353, 'E Berbice-Corentyne', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1354, 'Essequibo Islands-We', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1355, 'Mahaica-Berbice', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1356, 'Pomeroon-Supenaam', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1357, 'Potaro-Siparuni', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1358, 'Upper Demerara-Berbi', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1359, 'Upper Takutu-Upper E', 94, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1360, 'Central and Western', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1361, 'Eastern', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1362, 'Islands', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1363, 'Kowloon City', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1364, 'Kwai Tsing', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1365, 'Kwun Tong', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1366, 'North', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1367, 'Sai Kung', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1368, 'Southern', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1369, 'Sham Shui Po', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1370, 'Sha Tin', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1371, 'Tuen Mun', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1372, 'Tai Po', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1373, 'Tsuen Wan', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1374, 'Wan Chai', 98, '2018-11-29 03:55:09', '2018-11-29 03:55:09'),\n(1375, 'Wong Tai Sin', 98, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1376, 'Yuen Long', 98, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1377, 'Yau Tsim Mong', 98, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1378, 'Atlantida', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1379, 'Choluteca', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1380, 'Colon', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1381, 'Comayagua', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1382, 'Copan', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1383, 'Cortes', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1384, 'El Paraiso', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1385, 'Francisco Morazan', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1386, 'Gracias a Dios', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1387, 'Islas de la Bahia', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1388, 'Intibuca', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1389, 'Lempira', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1390, 'La Paz', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1391, 'Ocotepeque', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1392, 'Olancho', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1393, 'Santa Barbara', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1394, 'Valle', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1395, 'Yoro', 97, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1396, 'Bjelovarska-Bilogors', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1397, 'Dubrovacko-Neretvans', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1398, 'Grad Zagreb', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1399, 'Istarska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1400, 'Karlovacka', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1401, 'Koprivnicko-Krizevac', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1402, 'Krapinsko-Zagorska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1403, 'Licko-Seniska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1404, 'Medimurska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1405, 'Osjecko-Baranjska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1406, 'Primorsko-Goranska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1407, 'Pozesko-Slavonska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1408, 'Sibensko-Kninska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1409, 'Splitsko-Dalmatinska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1410, 'Sisacko-Moslavacka', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1411, 'Brodsko-Posavska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1412, 'Varazdinska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1413, 'Viroviticko-Podravsk', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1414, 'Vukovarsko-Srijemska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1415, 'Zadarska', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1416, 'Zagrebacka', 54, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1417, 'L Artibonite', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1418, 'Centre', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1419, 'Grand  Anse', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1420, 'Nord', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1421, 'Nord-Est', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1422, 'Nippes', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1423, 'Nord-Oust', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1424, 'Ouest', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1425, 'Sud', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1426, 'Sud-Est', 95, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1427, 'Baranya', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1428, 'Bekes', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1429, 'Bacs-Kiskun', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1430, 'Borsod-Abauj-Zemplen', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1431, 'Budapest', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1432, 'Csongrad', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1433, 'Fejer', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1434, 'Gyor-Moson-Sopron', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1435, 'Hadju-Bihar', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1436, 'Heves', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1437, 'Jasz-Nagykun-Szolnok', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1438, 'Komarom Esztergom', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1439, 'Nograd', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1440, 'Pest', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1441, 'Somogy', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1442, 'Szabolcs-Szatmar-Ber', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1443, 'Tolna', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1444, 'Vas', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1445, 'Veszprem', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1446, 'Zala', 99, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1447, 'Aceh', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1448, 'Bali', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1449, 'Bangka-Belitung', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1450, 'Bengkulu', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1451, 'Banten', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1452, 'Gorontalo', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1453, 'West Irian Jaya', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1454, 'Jambi', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1455, 'East Java', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1456, 'Jakarta', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1457, 'West Java', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1458, 'Central Java', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1459, 'West Kalimantan', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1460, 'East Kalimantan', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10');\nINSERT INTO `states` (`id`, `name`, `country_id`, `created_at`, `updated_at`) VALUES\n(1461, 'Riau Islands', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1462, 'South Kalimantan', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1463, 'Central Kalimantan', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1464, 'Lampung', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1465, 'Maluku', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1466, 'North Maluku', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1467, 'West Nusa Tenggara', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1468, 'East Nusa Tenggara', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1469, 'Papua', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1470, 'Riau', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1471, 'North Sulawesi', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1472, 'West Sumatra', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1473, 'South East Sulawesi', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1474, 'South Sumatra', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1475, 'South Sulawesi', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1476, 'West Sulawesi', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1477, 'Central Sulawesi', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1478, 'North Sumatra', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1479, 'Yogyakarta', 102, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1480, 'Ceatharlach', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1481, 'Clar', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1482, 'Corcaigh', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1483, 'Dun na nGall', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1484, 'Baile Atha Cliath', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1485, 'Gaillimh', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1486, 'Ciarrai', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1487, 'Cill Dara', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1488, 'Cill Chainnigh', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1489, 'Laois', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1490, 'Liatroim', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1491, 'Luimneach', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1492, 'Longfort', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1493, 'LU', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1494, 'Maigh Eo', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1495, 'Mi', 105, '2018-11-29 03:55:10', '2018-11-29 03:55:10'),\n(1496, 'Muineachain', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1497, 'Ua Failghe', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1498, 'Ros Coman', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1499, 'Sligeach', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1500, 'Tiobraid Arainn', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1501, 'Port Lairge', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1502, 'Iarmhi', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1503, 'Cill Mhantain', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1504, 'Loch Garman', 105, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1505, 'Central', 106, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1506, 'Haifa', 106, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1507, 'Jerusalem', 106, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1508, 'Northern', 106, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1509, 'Southern', 106, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1510, 'Tel Aviv', 106, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1511, 'Andaman and Nicobar', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1512, 'Andhra Pradesh', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1513, 'Arunachal Pradesh', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1514, 'Assam', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1515, 'Bihar', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1516, 'Chhattisgarh', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1517, 'Delhi', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1518, 'Goa', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1519, 'Gujarat', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1520, 'Haryana', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1521, 'Himachal Pradesh', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1522, 'Jharkhand', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1523, 'Jammu and Kashmir', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1524, 'Karnataka', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1525, 'Kerala', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1526, 'Lakshadweep', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1527, 'Maharashtra', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1528, 'Meghalaya', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1529, 'Mizoram', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1530, 'Manipur', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1531, 'Madhya Pradesh', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1532, 'Nagaland', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1533, 'Orissa', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1534, 'Punjab', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1535, 'Rajasthan', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1536, 'Sikkim', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1537, 'Tamil Nadu', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1538, 'Tripura', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1539, 'Uttar Pradesh', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1540, 'Uttaranchal', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1541, 'West Bengal', 101, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1542, 'Al-Anbar', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1543, 'Arbil', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1544, 'Al-Basrah', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1545, 'Babil', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1546, 'Baghdad', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1547, 'Dahuk', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1548, 'Diyala', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1549, 'Dhi Qar', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1550, 'Karbala', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1551, 'Maysan', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1552, 'Al-Muthanna', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1553, 'An-Najaf', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1554, 'Ninawa', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1555, 'Al-Qadisiyyah', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1556, 'Salah ad-Din', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1557, 'As-Sulaymaniyyah', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1558, 'At-Ta mim', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1559, 'Wasit', 104, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1560, 'Ardebil', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1561, 'Kermanshah', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1562, 'Bushehr', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1563, 'Chahar Mahall / Bakh', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1564, 'East Azarbijan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1565, 'Esfahan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1566, 'Fars', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1567, 'Gilan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1568, 'Golestan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1569, 'Hamadan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1570, 'Hormozgan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1571, 'Ilam', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1572, 'Kohgiluyeh Buyer Ahm', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1573, 'Kordestan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1574, 'Kerman', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1575, 'South Khorasan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1576, 'North Khorasan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1577, 'Razavi Khorasan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1578, 'Khuzestan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1579, 'Lorestan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1580, 'Markazi', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1581, 'Mazandaran', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1582, 'Qom', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1583, 'Qazvin', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1584, 'Sistan and Baluchest', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1585, 'Semnan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1586, 'Tehran', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1587, 'West Azarbaijan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1588, 'Yazd', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1589, 'Zanjan', 103, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1590, 'Eastland', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1591, 'Capital', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1592, 'Northland East', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1593, 'Northland West', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1594, 'Southland', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1595, 'Southern Peninsula', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1596, 'Western Fjords', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1597, 'Westland', 100, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1598, 'Abruzzo', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1599, 'Basilicata', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1600, 'Calabria', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1601, 'Campania', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1602, 'Emilia-Romagna', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1603, 'Friuli-Venezia Giuil', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1604, 'Lazio', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1605, 'Liguria', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1606, 'Lombardia', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1607, 'Marche', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1608, 'Molise', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1609, 'Piemonte', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1610, 'Puglia', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1611, 'Sardegna', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1612, 'Sicilia', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1613, 'Sanmarino', 107, '2018-11-29 03:55:11', '2018-11-29 03:55:11'),\n(1614, 'Toscana', 107, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1615, 'Terntino-Alto Adige', 107, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1616, 'Umbria', 107, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1617, 'Valle d Aosta', 107, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1618, 'Vento.', 107, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1619, 'Clarendon', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1620, 'Hanover', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1621, 'Kingston', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1622, 'Manchester', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1623, 'Portland', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1624, 'Saint Catherine', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1625, 'Saint Andrew', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1626, 'Saint Elizabeth', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1627, 'Saint James', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1628, 'Saint Mary', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1629, 'Saint Ann', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1630, 'Saint Thomas', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1631, 'Trelawny', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1632, 'Westmoreland', 108, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1633, 'Ajlun', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1634, 'Amman', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1635, 'Aqaba', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1636, 'Tafilah', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1637, 'Zarqa', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1638, 'Balqa', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1639, 'Irbid', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1640, 'Jarash', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1641, 'Karak', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1642, 'Mafraq', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1643, 'Madaba', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1644, 'Maan', 111, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1645, 'Aichi', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1646, 'Akita', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1647, 'Aomori', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1648, 'Chiba', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1649, 'Ehime', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1650, 'Fukui', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1651, 'Fukuoka', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1652, 'Fukushima', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1653, 'Gifu', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1654, 'Gumma', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1655, 'Hyogo', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1656, 'Hokkaido', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1657, 'Hiroshima', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1658, 'Ibaraki', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1659, 'Ishikawa', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1660, 'Iwate', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1661, 'Kochi', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1662, 'Kagawa', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1663, 'Kumamoto', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1664, 'Kanagawa', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1665, 'Kagoshima', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1666, 'Kyoto', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1667, 'Mie', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1668, 'Miyagi', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1669, 'Miyazaki', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1670, 'Niigata', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1671, 'Nagano', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1672, 'Nara', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1673, 'Nagasaki', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1674, 'Okinawa', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1675, 'Osaka', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1676, 'Oita', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1677, 'Okayama', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1678, 'Saga', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1679, 'Shiga', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1680, 'Shimane', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1681, 'Saitama', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1682, 'Shizuoka', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1683, 'Tochigi', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1684, 'Tokyo', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1685, 'Tokushima', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1686, 'Tottori', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1687, 'Toyama', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1688, 'Wakayama', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1689, 'Yamaguchi', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1690, 'Yamanashi', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1691, 'Yamagata', 109, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1692, 'Central', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1693, 'Coast', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1694, 'Eastern', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1695, 'Nairobi Area', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1696, 'North-Eastern', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1697, 'Nyanza', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1698, 'Rift Valley', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1699, 'Western', 113, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1700, 'Batken', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1701, 'Chuy', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1702, 'Jalal Abad', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1703, 'Bishkek', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1704, 'Naryn', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1705, 'Osh', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1706, 'Talas', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1707, 'Ysyk Kol', 118, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1708, 'Jeollabuk-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1709, 'Jeju', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1710, 'Chungcheongbuk-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1711, 'Chungcheongnam-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1712, 'Incheon', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1713, 'Gyeongsangbuk-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1714, 'Gyeonggi-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1715, 'Gwangju', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1716, 'Gyeongsangnam-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1717, 'Gangwon-do', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1718, 'Busan', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1719, 'Seoul', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1720, 'Daegu', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1721, 'Daejeon', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1722, 'Ulsan', 116, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1723, 'Al Ahmadi', 117, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1724, 'Al Farwaniyah', 117, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1725, 'Hawalli', 117, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1726, 'Al Jahrah', 117, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1727, 'Al Kuwayt', 117, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1728, 'Mubarak Al Kabir', 117, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1729, 'Almaty', 112, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1730, 'Almaty City', 112, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1731, 'Aqmola', 112, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1732, 'Atyrau', 112, '2018-11-29 03:55:12', '2018-11-29 03:55:12'),\n(1733, 'Astana', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1734, 'Aqtobe', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1735, 'Bayqonyr', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1736, 'East Kazakhstan', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1737, 'Mangghystau', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1738, 'North Kazakhstan', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1739, 'Pavlodar', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1740, 'Qaraghandy', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1741, 'Qyzylorda', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1742, 'Qostanay', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1743, 'South Kazakhstan', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1744, 'West Kazakhstan', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1745, 'Zahmbyl', 112, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1746, 'North Lebanon', 121, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1747, 'Beirut', 121, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1748, 'Beqaa', 121, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1749, 'South Lebanon', 121, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1750, 'Mount Lebanon', 121, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1751, 'An Nabatiyah', 121, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1752, 'Balzers', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1753, 'Eschen', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1754, 'Gamprin', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1755, 'Mauren', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1756, 'Planken', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1757, 'Ruggell', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1758, 'Schellenberg', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1759, 'Schaan', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1760, 'Triesenberg', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1761, 'Triesen', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1762, 'Vaduz', 125, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1763, 'Andradhapura', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1764, 'Ampara', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1765, 'Batticaloa', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1766, 'Badulla', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1767, 'Colombo', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1768, 'Galle', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1769, 'Gampaha', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1770, 'Hambantota', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1771, 'Jaffna', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1772, 'Kegalle', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1773, 'Kurunegala', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1774, 'Kilinochchi', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1775, 'Kalutara', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1776, 'Kandy', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1777, 'Mannar', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1778, 'Matara', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1779, 'Monergala', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1780, 'Mullailivu', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1781, 'Matale', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1782, 'Nuwara Eliya', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1783, 'Polonnaruwa', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1784, 'Puttalam', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1785, 'Ratnapura', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1786, 'Trincomalee', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1787, 'Vavuniya', 206, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1788, 'Alytus', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1789, 'Klaipeda', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1790, 'Kunas', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1791, 'Marijampole', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1792, 'Panevezys', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1793, 'Slauliai', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1794, 'Taurage', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1795, 'Telslai', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1796, 'Utena', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1797, 'Vilnius', 126, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1798, 'Diekirch', 127, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1799, 'Grevenmacher', 127, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1800, 'Luxembourg', 127, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1801, 'Aizkraukle', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1802, 'Aluksne', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1803, 'Balvi', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1804, 'Bauska', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1805, 'Cesis', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1806, 'Dougavpils', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1807, 'Dougavpils (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1808, 'Dobele', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1809, 'Gulbene', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1810, 'Jelgava (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1811, 'Jekabpils', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1812, 'Jelgava', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1813, 'Jurmala (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1814, 'Kraslava', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1815, 'Kuldiga', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1816, 'Liepaja', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1817, 'Limbazi', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1818, 'Lipaja (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1819, 'Ludza', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1820, 'Madona', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1821, 'Ogre', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1822, 'Preiji', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1823, 'Rezekne', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1824, 'Rezekne (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1825, 'Riga', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1826, 'Riga (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1827, 'Saldus', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1828, 'Talsi', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1829, 'Tukums', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1830, 'Ventpils', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1831, 'Ventspils (city)', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1832, 'Valka', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1833, 'Valmiera', 120, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1834, 'Monaco', 145, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1835, 'Balti', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1836, 'Cahul', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1837, 'Chisinau', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1838, 'Edinet', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1839, 'Gagauzia', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1840, 'Lapusna', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1841, 'Orhei', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1842, 'Stanga Nistrului', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1843, 'Soroca', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1844, 'Tighina', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1845, 'Unghrni', 144, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1846, 'Ailinglapalap', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1847, 'Arno', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1848, 'Bikini', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1849, 'Bikar', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1850, 'Ebeya', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1851, 'Enewetak', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1852, 'Erikub', 137, '2018-11-29 03:55:13', '2018-11-29 03:55:13'),\n(1853, 'Jaluit', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1854, 'Knox', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1855, 'Kosrae', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1856, 'Kwajaein', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1857, 'Likiep', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1858, 'Mejit', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1859, 'Mili', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1860, 'Majuro', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1861, 'Maloelap', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1862, 'Namorik', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1863, 'Namu', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1864, 'Rongelap', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1865, 'Rongrik', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1866, 'Taongi', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1867, 'Toke', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1868, 'Ujae', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1869, 'Ujelang', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1870, 'Utirik', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1871, 'Wotho', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1872, 'Wotje', 137, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1873, 'Arkhangai', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1874, 'Bayankhongor', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1875, 'Bayan Olgii', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1876, 'Bulgan', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1877, 'Darkhan Uul', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1878, 'Dornod', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1879, 'Dornogovi', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1880, 'Dundgovi', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1881, 'Zavkhan', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1882, 'Orkhon', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1883, 'Govi Alti', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1884, 'Govisumber', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1885, 'Khovd', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1886, 'Khovsgol', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1887, 'Khentii', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1888, 'Omnogovi', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1889, 'Ovorkhangai', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1890, 'Sukhbaatar', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1891, 'Selenge', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1892, 'Tov', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1893, 'Ulan Bator', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1894, 'Uvs', 146, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1895, 'Fort-de-France', 138, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1896, 'Marin', 138, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1897, 'Saint-Pierre', 138, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1898, 'Trinite', 138, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1899, ' guas Calientes', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1900, 'Baja California', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1901, 'Baja Ca. del Sur', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1902, 'Chiapas', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1903, 'Chihuahua', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1904, 'Colima', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1905, 'Coahuila', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1906, 'Campeche', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1907, 'Districto Federal', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1908, 'Durango', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1909, 'Guerrero', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1910, 'Guanajuato', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1911, 'Hidalgo', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1912, 'Jalisco', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1913, 'Michoac n', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1914, 'Morelos', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1915, 'Mexico', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1916, 'Nuevo Le n', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1917, 'Nayarit', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1918, 'Oaxaca', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1919, 'Puebla', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1920, 'Quintana Roo', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1921, 'Quer taro', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1922, 'Sinaloa', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1923, 'San Lu s Potos', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1924, 'Sonora', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1925, 'Tabasco', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1926, 'Tamaulipas', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1927, 'Tlaxcala', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1928, 'Vera Cruz', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1929, 'Yucat n', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1930, 'Zacatecas', 142, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1931, 'Johor', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1932, 'Kedah', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1933, 'Kelantan', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1934, 'Kuala Lumpur', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1935, 'Labuan', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1936, 'Melaka', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1937, 'Negeri Sembilan', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1938, 'Pahang', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1939, 'Perak', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1940, 'Pulau Pinang', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1941, 'Perlis', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1942, 'Putrajaya', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1943, 'Sabah', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1944, 'Selangor', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1945, 'Sarawak', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1946, 'Terengganu', 132, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1947, 'Antrim', 249, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1948, 'Armagh', 249, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1949, 'Down', 249, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1950, 'Fermanagh', 249, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1951, 'Londonderry', 249, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1952, 'Tyrone', 249, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1953, 'Reg. Autonoma Norte', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1954, 'Reg. Autonoma Sur', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1955, 'Boaco', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1956, 'Carazo', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1957, 'Chinandega', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1958, 'Chontales', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1959, 'Esteli', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1960, 'Granada', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1961, 'Jinotega', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1962, 'Leon', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1963, 'Madriz', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1964, 'Managua', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1965, 'Masaya', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1966, 'Matagalpa', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1967, 'Nueva Segovia', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1968, 'Rivas', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1969, 'Rio San Juan', 158, '2018-11-29 03:55:14', '2018-11-29 03:55:14'),\n(1970, 'Drenthe', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1971, 'Flevoland', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1972, 'Friesland', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1973, 'Gelderland', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1974, 'Groningen', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1975, 'Limburg', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1976, 'Noord-Brabant', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1977, 'Noord-Holland', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1978, 'Overijssel', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1979, 'Utrecht', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1980, 'Zeeland', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1981, 'Zuid-Holland', 155, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1982, 'Aust-Adger', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1983, 'Akershus', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1984, 'Buskerud', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1985, 'Finnmark', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1986, 'Hedmark', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1987, 'Hordaland', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1988, 'M re og Romsdal', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1989, 'Nordland', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1990, 'Nord-Tr ndelag', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1991, ' stfold', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1992, 'Oppland', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1993, 'Oslo', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1994, 'Rogaland', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1995, 'Sogn og Fjordane', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1996, 'S r-Tr ndelag', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1997, 'Telemark', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1998, 'Troms', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(1999, 'Vest-Adger', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2000, 'Vestfold', 164, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2001, 'Aukland', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2002, 'Bay of Plenty', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2003, 'Canterbury', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2004, 'Gisborne', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2005, 'Hawke s Bay', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2006, 'Marlborough', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2007, 'Manawatu-Wanganui', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2008, 'Nelson', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2009, 'Northland', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2010, 'Otago', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2011, 'Southland', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2012, 'Tasman', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2013, 'Taranaki', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2014, 'Wellington', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2015, 'Waikato', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2016, 'West Coast', 157, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2017, 'Al Batinah', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2018, 'Ad Dakhiliyah', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2019, 'Dhofar', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2020, 'Muscat', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2021, 'Musandam', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2022, 'Ash Sharqiyah', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2023, 'Al Wusta', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2024, 'Adh Dhahirah', 165, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2025, 'Bocas del Toro', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2026, 'Cocle', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2027, 'Chiriqui', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2028, 'Colon', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2029, 'Darien', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2030, 'Embera', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2031, 'Herrera', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2032, 'Kuna de Madungandi', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2033, 'Kuna de Wargandi', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2034, 'Los Santos', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2035, 'Ngobe Bugle', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2036, 'Perak', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2037, 'Panama', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2038, 'Kuna Yala', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2039, 'Veraguas', 169, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2040, 'Amazonas', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2041, 'Ancash', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2042, 'Apurimac', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2043, 'Areqipa', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2044, 'Ayacucho', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2045, 'Cajamarca', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2046, 'Callao', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2047, 'Cusco', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2048, 'Huanuco', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2049, 'Huancavelica', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2050, 'Ica', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2051, 'La Libertad', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2052, 'Lambayeque', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2053, 'Lima', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2054, 'Loreto', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2055, 'Lima Metropolitan', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2056, 'Madre de Dios', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2057, 'Moquegua', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2058, 'Pasco', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2059, 'Piura', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2060, 'Puno', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2061, 'San Martin', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2062, 'Tacna', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2063, 'Tumbes', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2064, 'Ucayali', 172, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2065, 'Central', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2066, 'Chimbu', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2067, 'Enga', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2068, 'Eastern Highlands', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2069, 'East New Britain', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2070, 'East Sepik', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2071, 'Gulf', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2072, 'Milne Bay', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2073, 'Madang', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2074, 'Manus', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2075, 'Morobe', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2076, 'National Capital Dis', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2077, 'New Ireland', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2078, 'Northern', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2079, 'North Solomons', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2080, 'Sanduan', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2081, 'Southern Highlands', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2082, 'Western', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2083, 'Western Highlands', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2084, 'West New Britain', 170, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2085, 'Abra', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2086, 'Aklan', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2087, 'Albay', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2088, 'Agusan del Norte', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2089, 'Apayao', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2090, 'Antique', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2091, 'Agusan del Sur', 173, '2018-11-29 03:55:15', '2018-11-29 03:55:15'),\n(2092, 'Aurora', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2093, 'Bataan', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2094, 'Benguet', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2095, 'Biliran', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2096, 'Bukidnon', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2097, 'Batanes', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2098, 'Bohol', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2099, 'Basilan', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2100, 'Batangas', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2101, 'Bulacan', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2102, 'Cebu', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2103, 'Cagayan', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2104, 'Compostela Valley', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2105, 'Camiguin', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2106, 'Camarines Norte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2107, 'Capiz', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2108, 'Camarines Sur', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2109, 'Catanduanes', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2110, 'Cavite', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2111, 'Dinagat Islands', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2112, 'Davao Oriental', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2113, 'Davao del Sur', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2114, 'Davao del Norte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2115, 'Eastern Samar', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2116, 'Guimaras', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2117, 'Isabela', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2118, 'Ifugao', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2119, 'Iloilo', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2120, 'Ilocos Norte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2121, 'Ilocos Sur', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2122, 'Kalinga', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2123, 'Leyte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2124, 'Laguna', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2125, 'Lanao del Norte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2126, 'Lanao del Sur', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2127, 'La Union', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2128, 'Masbate', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2129, 'Occidental Mindoro', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2130, 'Misamis Occidental', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2131, 'Maguindanao', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2132, 'Metropolitan Manila', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2133, 'Misamis Oriental', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2134, 'Marinduque', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2135, 'Oriental Mindoro', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2136, 'Mountain', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2137, 'Cotabato', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2138, 'Negros Occidental', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2139, 'Nueva Ecija', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2140, 'Negros Oriental', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2141, 'Northern Samar', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2142, 'Nueva Vizcaya', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2143, 'Palawan', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2144, 'Pampanga', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2145, 'Pangasinan', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2146, 'Quirino', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2147, 'Quezon', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2148, 'Rizal', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2149, 'Romblon', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2150, 'South Cotabato', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2151, 'Sarangani', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2152, 'Sultan Kudarat', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2153, 'Southern Leyte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2154, 'Samar', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2155, 'Siquijor', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2156, 'Sorsogon', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2157, 'Surigao del Sur', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2158, 'Surigao del Norte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2159, 'Sulu', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2160, 'Tarlac', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2161, 'Tawi-Tawi', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2162, 'Zambales', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2163, 'Zamboanga del Norte', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2164, 'Zamboanga del Sur', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2165, 'Zamboanga-Sibugay', 173, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2166, 'Balochistan', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2167, 'Islamabad', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2168, 'Azad Kashmir', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2169, 'Northern Areas', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2170, 'North West Frontier', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2171, 'Punjab', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2172, 'Sindh', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2173, 'Tribal Areas', 166, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2174, 'Dolnoslaskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2175, 'Kujawsko-pomorskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16');\nINSERT INTO `states` (`id`, `name`, `country_id`, `created_at`, `updated_at`) VALUES\n(2176, 'Lubuskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2177, 'Lodzkie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2178, 'Lubelskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2179, 'Malopolskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2180, 'Mazowieckie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2181, 'Opolskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2182, 'Podlaskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2183, 'Podkarpackie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2184, 'Pomorskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2185, 'Swietokrzyskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2186, 'Slaskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2187, 'Warminsko-Mazurskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2188, 'Wielkopolskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2189, 'Zachodniopomorskie', 175, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2190, 'Aveiro', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2191, 'Braganca', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2192, 'Beja', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2193, 'Braga', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2194, 'Castelo Branco', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2195, 'Coimbra', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2196, 'Evora', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2197, 'Faro', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2198, 'Guarda', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2199, 'Leiria', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2200, 'Lisboa', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2201, 'Portalegre', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2202, 'Porto', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2203, 'Santarem', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2204, 'Setubal', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2205, 'Viana do Castelo', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2206, 'Viseu', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2207, 'Vila Real', 176, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2208, 'Alto Parana', 171, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2209, 'Alto Paraguay', 171, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2210, 'Amambay', 171, '2018-11-29 03:55:16', '2018-11-29 03:55:16'),\n(2211, 'Asuncion', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2212, 'Boqueron', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2213, 'Central', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2214, 'Caaguazu', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2215, 'Concepcion', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2216, 'Cordillera', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2217, 'Canindeyu', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2218, 'Caazapa', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2219, 'Guaira', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2220, 'Itapua', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2221, 'Misiones', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2222, 'Neembucu', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2223, 'Paraguari', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2224, 'Presidente Hayes', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2225, 'San Pedro', 171, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2226, 'Ad Dawhah', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2227, 'Al Ghuwariyah', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2228, 'Jariyan al Batnah', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2229, 'Al Jumaliyah', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2230, 'Al Khawr', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2231, 'Mesaieed', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2232, 'Madinat Ach Shamal', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2233, 'Ar Rayyan', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2234, 'Umm Salal', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2235, 'Al Wakrah', 178, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2236, 'Alba', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2237, 'Arges', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2238, 'Arad', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2239, 'Bacau', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2240, 'Bihor', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2241, 'Bucharest', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2242, 'Bistrita-Nasaud', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2243, 'Braila', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2244, 'Botosani', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2245, 'Brasov', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2246, 'Buzau', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2247, 'Cluj', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2248, 'Calarasi', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2249, 'Caras-Severin', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2250, 'Constanta', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2251, 'Covasna', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2252, 'Dambovita', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2253, 'Dolj', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2254, 'Gorj', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2255, 'Galati', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2256, 'Giurgiu', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2257, 'Hunedoara', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2258, 'Harghita', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2259, 'Ilfov', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2260, 'Ialomita', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2261, 'Mehedinti', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2262, 'Maramures', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2263, 'Mures', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2264, 'Neamt', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2265, 'Olt', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2266, 'Prahova', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2267, 'Sibiu', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2268, 'Salaj', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2269, 'Satu Mare', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2270, 'Suceava', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2271, 'Tulcea', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2272, 'Timis', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2273, 'Teleorman', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2274, 'Valcea', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2275, 'Vrancea', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2276, 'Vaslui', 180, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2277, 'Belgrade', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2278, 'Bor', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2279, 'Branicevo', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2280, 'Jablanica', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2281, 'South Backa', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2282, 'South Banat', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2283, 'Kolubara', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2284, 'Kosovsko Mitrovacki', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2285, 'Kosovski', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2286, 'Kosovsko Pomoravski', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2287, 'Macva', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2288, 'Morava', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2289, 'Nisava', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2290, 'Pcinja', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2291, 'Danube', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2292, 'Pecki', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2293, 'Pirot', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2294, 'Pomoravlje', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2295, 'Prizenski', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2296, 'Rasina', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2297, 'Raska', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2298, 'North Backa', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2299, 'Central Banat', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2300, 'Srem', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2301, 'North Banat', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2302, 'Sumadija', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2303, 'Toplica', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2304, 'West Backa', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2305, 'Zajecar', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2306, 'Zlatibor', 193, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2307, 'Astrakhan Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2308, 'Adygeya', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2309, 'Aghin Buriatia', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2310, 'Altay Republic', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2311, 'Amur Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2312, 'Arkhangelsk Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2313, 'Altay Territory', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2314, 'Bashkiria', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2315, 'Belgorod Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2316, 'Bryansk Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2317, 'Buriatia', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2318, 'Chechenia', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2319, 'Chelybinsk Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2320, 'Chita Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2321, 'Chukchia', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2322, 'Daghestan', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2323, 'Evenkia', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2324, 'Irkutsk Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2325, 'Ingushia', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2326, 'Ivanovo Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2327, 'Jewish Autonomous Re', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2328, 'Kursk Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2329, 'Kamchatka Region', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2330, 'Kabard-Balkaria', 181, '2018-11-29 03:55:17', '2018-11-29 03:55:17'),\n(2331, 'Karachay-Cherkessia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2332, 'Khantia-Mansia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2333, 'Kemerovo Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2334, 'Kaluga Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2335, 'Khakassia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2336, 'Karelia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2337, 'Koryakia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2338, 'Kaliningrad Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2339, 'Komia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2340, 'Kostroma Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2341, 'Khabarovsk Territory', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2342, 'Krasnodar Territory', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2343, 'Kurgan Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2344, 'Kirov Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2345, 'Krasnoyarsk Territor', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2346, 'Lipetsk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2347, 'Leningrad Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2348, 'Primorsk', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2349, 'Moscow Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2350, 'Mordovia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2351, 'Magadan Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2352, 'Mariy-El', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2353, 'Murmansk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2354, 'Moscow City', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2355, 'Nenetsia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2356, 'Novgorod Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2357, 'North Ossetia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2358, 'Novosibirsk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2359, 'Nizhniy Novgorod Reg', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2360, 'Orenburg Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2361, 'Orel Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2362, 'Omsk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2363, 'Penza Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2364, 'Perm Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2365, 'PSkov Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2366, 'Rostov Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2367, 'Ryazan Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2368, 'Sakhalin Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2369, 'Samara Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2370, 'Smolensk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2371, 'Saint Petersburg Cit', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2372, 'Saratov Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2373, 'Starvopol Territory', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2374, 'Sverdlovsk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2375, 'Tuva', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2376, 'Tambov Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2377, 'Tomsk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2378, 'Taymyria', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2379, 'Tataria', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2380, 'Tula Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2381, 'Tver Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2382, 'Tyumen Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2383, 'Udmurtia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2384, 'Ulyanovsk Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2385, 'Ust-Ord Buriatia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2386, 'Vladimir Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2387, 'Volgograd Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2388, 'Vologoda Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2389, 'Voronezh Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2390, 'Yakutia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2391, 'Yamal Nentsia', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2392, 'Yaroslavl Region', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2393, 'Yevrey', 181, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2394, 'Asir', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2395, 'Al Bahah', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2396, 'Hail', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2397, 'Al Hudud Ash Shamali', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2398, 'Al Jawf', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2399, 'Jizan', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2400, 'Al Madinah', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2401, 'Makkah', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2402, 'Najran', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2403, 'Al Qasim', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2404, 'Ar Riyad', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2405, 'Ash Sharqiyah', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2406, 'Tabuk', 191, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2407, 'Central Equatoria', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2408, 'Blue Nile', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2409, 'Lakes', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2410, 'East Equatoria', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2411, 'Gedarif', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2412, 'Gezira', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2413, 'Jungoli', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2414, 'Kassala', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2415, 'Khartoum', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2416, 'North Bahr Al Ghazal', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2417, 'North Darfur', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2418, 'North Kurdufan', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2419, 'Northern', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2420, 'River Nile', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2421, 'Red Sea', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2422, 'South Darfur', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2423, 'Sennar', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2424, 'South Kurdufan', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2425, 'Upper Nile', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2426, 'West Bahr Al Ghazal', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2427, 'West Darfur', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2428, 'West Equatoria', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2429, 'Unity', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2430, 'West Kurdufan', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2431, 'White Nile', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2432, 'Warab', 207, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2433, 'Blekinge', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2434, 'Gotland', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2435, 'G vleborg', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2436, 'Halland', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2437, 'J mtland', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2438, 'J nk ping', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2439, 'Kalmar', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2440, 'Dalarnas', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2441, 'Kronoberg', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2442, 'Norrbotten', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2443, ' sterg tland', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2444, ' rebro', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2445, 'S dermanland', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2446, 'Sk ne', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2447, 'Stockholm', 211, '2018-11-29 03:55:18', '2018-11-29 03:55:18'),\n(2448, 'Uppsala', 211, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2449, 'V sterbotten', 211, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2450, 'V stra G taland', 211, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2451, 'V stmanland', 211, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2452, 'V sternorrland', 211, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2453, 'V rmland', 211, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2454, 'Aberdeenshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2455, 'Angus', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2456, 'Ayrshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2457, 'Banffshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2458, 'Berwickshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2459, 'Bute', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2460, 'Caithness', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2461, 'Clackmannanshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2462, 'Dumfriesshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2463, 'Dunbartonshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2464, 'East Lothian', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2465, 'Fife', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2466, 'Inverness-shire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2467, 'Kincardineshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2468, 'Kirkcudbrightshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2469, 'Kinross-shire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2470, 'Lanarkshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2471, 'Midlothian', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2472, 'Orkney', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2473, 'Peeblesshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2474, 'Renfrewshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2475, 'Roxburghshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2476, 'Selkirkshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2477, 'Shetland', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2478, 'Stirlingshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2479, 'Sutherland', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2480, 'Wigtownshire', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2481, 'West Lothian', 248, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2482, 'CENTRAL SINGAPORE', 196, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2483, 'NORTH EAST', 196, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2484, 'NORTH WEST', 196, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2485, 'SOUTH EAST', 196, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2486, 'SOUTH WEST', 196, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2487, 'Jugovzhodna Slovenij', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2488, 'Gorenjska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2489, 'Obalno-kraska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2490, 'Koroska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2491, 'Osrednjeslovenska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2492, 'Notranjsko-kraska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2493, 'Podravska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2494, 'Pomurska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2495, 'Spodnjeposavska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2496, 'Savinjska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2497, 'Goriska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2498, 'Zasavska', 198, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2499, 'Banska Bystrica', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2500, 'Bratislava', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2501, 'Kosice', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2502, 'Nitra', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2503, 'Presov', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2504, 'Trnava', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2505, 'Trencin', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2506, 'Zilina', 197, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2507, 'Awdal', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2508, 'Bakool', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2509, 'Banaadir', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2510, 'Bari', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2511, 'Bay', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2512, 'Galguduud', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2513, 'Gedo', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2514, 'Hiiraan', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2515, 'Jubbada Dhexe', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2516, 'Jubbada Hoose', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2517, 'Mudug', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2518, 'Nugaal', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2519, 'Sanaag', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2520, 'Shabeellaha Dhexe', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2521, 'Sool', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2522, 'Togdheer', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2523, 'Woqooyi Galbeed', 201, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2524, 'Brokopondo', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2525, 'Commewijne', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2526, 'Coronie', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2527, 'Marowijne', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2528, 'Nickerie', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2529, 'Paramaribo', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2530, 'Para', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2531, 'Saramacca', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2532, 'Sipaliwini', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2533, 'Wanica', 208, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2534, 'Ahuachapan', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2535, 'Cabanas', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2536, 'Chalatenango', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2537, 'Cuscatlan', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2538, 'La Libertad', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2539, 'Morazan', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2540, 'La Paz', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2541, 'Santa Ana', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2542, 'San Miguel', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2543, 'Sonsonate', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2544, 'San Salvador', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2545, 'San Vincente', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2546, 'La Union', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2547, 'Usulutan', 65, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2548, 'Damascus', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2549, 'Dara', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2550, 'Dayr az Zawr', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2551, 'Al Hasakah', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2552, 'Homs', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2553, 'Aleppo', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2554, 'Hama', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2555, 'Idlib', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2556, 'Latakia', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2557, 'Queneitra', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2558, 'Ar Raqqah', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2559, 'Rif Dimashq', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2560, 'As Suwayda', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2561, 'Tartus', 213, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2562, 'Amnat Charoen', 217, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2563, 'Ang Thong', 217, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2564, 'Buri Ram', 217, '2018-11-29 03:55:19', '2018-11-29 03:55:19'),\n(2565, 'Chon Buri', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2566, 'Chachoengsao', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2567, 'Chiang Mai', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2568, 'Chai Nat', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2569, 'Chumphon', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2570, 'Chiang Rai', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2571, 'Chanthaburi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2572, 'Chaiyaphum', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2573, 'Khon Kaen', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2574, 'Kalasin', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2575, 'Kanchanaburi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2576, 'Kamphaeng Phet', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2577, 'Krabi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2578, 'Lop Buri', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2579, 'Loei', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2580, 'Lampang', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2581, 'Lamphun', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2582, 'Mukdahan', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2583, 'Mae Hong Son', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2584, 'Maha Sarakham', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2585, 'Nan', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2586, 'Nong Bua Lam Phu', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2587, 'Nakhon Phanom', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2588, 'Nong Khai', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2589, 'Nakhon Nayok', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2590, 'Nonthaburi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2591, 'Nakhon Ratchasima', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2592, 'Nakhon Sawan', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2593, 'Nakhon Si Thammarat', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2594, 'Narathiwat', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2595, 'Phichit', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2596, 'Phetchaburi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2597, 'Phangnga', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2598, 'Phetchabun', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2599, 'Pattani', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2600, 'Prachuap Khiri Khan', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2601, 'Phatthalung', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2602, 'Phrae', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2603, 'Phitsanulok', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2604, 'Pathum Thani', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2605, 'Phuket', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2606, 'Phayao', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2607, 'Roi Et', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2608, 'Ranong', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2609, 'Ratchaburi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2610, 'Rayong', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2611, 'Satun', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2612, 'Sing Buri', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2613, 'Songkhla', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2614, 'Suphan Buri', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2615, 'Si Sa Ket', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2616, 'Sa Kaeo', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2617, 'Samut Songkhram', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2618, 'Sakon Nakhon', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2619, 'Sukhothai', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2620, 'Samut Prakan', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2621, 'Saraburi', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2622, 'Samut Sakhon', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2623, 'Surat Thani', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2624, 'Surin', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2625, 'Trang', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2626, 'Tak', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2627, 'Trat', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2628, 'Uttaradit', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2629, 'Udon Thani', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2630, 'Ubon Ratchathani', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2631, 'Uthai Thani', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2632, 'Yala', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2633, 'Yasothon', 217, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2634, 'Badakhshoni Kuni', 215, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2635, 'Khatlon', 215, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2636, 'Sogd', 215, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2637, 'Regions of Rebublica', 215, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2638, 'Ahal', 224, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2639, 'Balkan', 224, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2640, 'Dashoguz', 224, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2641, 'Lebap', 224, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2642, 'Mary', 224, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2643, 'Adana', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2644, 'Adryaman', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2645, 'Afyonkarahisar', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2646, 'Agri', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2647, 'Aksaray', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2648, 'Antalya', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2649, 'Amasya', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2650, 'Ankara', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2651, 'Ardahan', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2652, 'Artvin', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2653, 'Aydin', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2654, 'Bayburt', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2655, 'Bilecik', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2656, 'Burdur', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2657, 'Bingol', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2658, 'Balikesir', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2659, 'Bolu', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2660, 'Batman', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2661, 'Bartin', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2662, 'Bitlis', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2663, 'Bursa', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2664, 'Cankiri', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2665, 'Canakkale', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2666, 'Corum', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2667, 'Denizli', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2668, 'Duzce', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2669, 'Diyarbakir', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2670, 'Edirne', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2671, 'Elazig', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2672, 'Erzurum', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2673, 'Erzincan', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2674, 'Eskisehir', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2675, 'Gaziantep', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2676, 'Giresun', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2677, 'Gumushane', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2678, 'Hakkari', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2679, 'Hatay', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2680, 'Istanbul', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2681, 'Mersin', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2682, 'Igdir', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2683, 'Isparta', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2684, 'Izmir', 223, '2018-11-29 03:55:20', '2018-11-29 03:55:20'),\n(2685, 'Kars', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2686, 'Karabuk', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2687, 'Kocaeli', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2688, 'Kirsehir', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2689, 'Kilis', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2690, 'Kirikkale', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2691, 'Kirklareli', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2692, 'Kahramanmaras', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2693, 'Konya', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2694, 'Karaman', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2695, 'Kastamonu', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2696, 'Kutahya', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2697, 'Kayseri', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2698, 'Mugla', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2699, 'Malatya', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2700, 'Manisa', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2701, 'Mardin', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2702, 'Mus', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2703, 'Nigde', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2704, 'Nevsehir', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2705, 'Ordu', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2706, 'Osmaniye', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2707, 'Rize', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2708, 'Siirt', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2709, 'Sakarya', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2710, 'Sinop', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2711, 'Sirnak', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2712, 'Samsun', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2713, 'Sanlrurfa', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2714, 'Sivas', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2715, 'Trabzon', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2716, 'Tunceli', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2717, 'Tekirdag', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2718, 'Tokat', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2719, 'Usak', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2720, 'Van', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2721, 'Yalova', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2722, 'Yozgat', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2723, 'Zonguldak', 223, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2724, 'Changhua', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2725, 'Chiayi', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2726, 'Keelung (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2727, 'Chiayi (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2728, 'Hsinchu', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2729, 'Hualien', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2730, 'Hsinchu (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2731, 'Yilan', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2732, 'Kaohsiung (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2733, 'Kaohsiung', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2734, 'Kinmen', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2735, 'Lienchiang', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2736, 'Miaoli', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2737, 'Nantou', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2738, 'Penghu', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2739, 'Pingtung', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2740, 'Tainan', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2741, 'Taipei (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2742, 'Taichung (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2743, 'Taichung', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2744, 'Tainan (City)', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2745, 'Taipei', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2746, 'Titung', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2747, 'Taoyuan', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2748, 'Yunlin', 214, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2749, 'Chernihiv', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2750, 'Cherkasy', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2751, 'Chernivtsi', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2752, 'Dnipropetrovsk', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2753, 'Donetsk', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2754, 'Ivano-Frankivsk', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2755, 'Kirovohrad', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2756, 'Kharkiv', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2757, 'Khmelnytskyi', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2758, 'Crimea', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2759, 'Kherson', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2760, 'Kiev Oblast', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2761, 'Luhansk', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2762, 'Lviv', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2763, 'Mykolayiv', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2764, 'Odessa', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2765, 'Orhei', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2766, 'Poltava', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2767, 'Rivne', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2768, 'Sumy', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2769, 'Soroca', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2770, 'Ternopil', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2771, 'Vinnytsya', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2772, 'Volyn', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2773, 'Zakarpattia', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2774, 'Zaporizhzhya', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2775, 'Zhytomyr', 228, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2776, 'Armed Forces America', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2777, 'Armed Forces Europe', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2778, 'Alaska', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2779, 'Alabama', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2780, 'Armed Forces Pacific', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2781, 'Arkansas', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2782, 'Arizona', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2783, 'California', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2784, 'Colorado', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2785, 'Connecticut', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2786, 'District of Columbia', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2787, 'Delaware', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2788, 'Florida', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2789, 'Georgia', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2790, 'Guam', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2791, 'Hawaii', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2792, 'Iowa', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2793, 'Idaho', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2794, 'Illinois', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2795, 'Indiana', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2796, 'Kansas', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2797, 'Kentucky', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2798, 'Louisiana', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2799, 'Massachusetts', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2800, 'Maryland', 231, '2018-11-29 03:55:21', '2018-11-29 03:55:21'),\n(2801, 'Maine', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2802, 'Michigan', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2803, 'Minnesota', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2804, 'Missouri', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2805, 'Mississippi', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2806, 'Montana', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2807, 'North Carolina', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2808, 'North Dakota', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2809, 'Nebraska', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2810, 'New Hampshire', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2811, 'New Jersey', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2812, 'New Mexico', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2813, 'Nevada', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2814, 'New York', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2815, 'Ohio', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2816, 'Oklahoma', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2817, 'Oregon', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2818, 'Pennsylvania', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2819, 'Puerto Rico', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2820, 'Rhode Island', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2821, 'South Carolina', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2822, 'South Dakota', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2823, 'Tennessee', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2824, 'Texas', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2825, 'Utah', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2826, 'Virginia', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2827, 'Virgin Islands', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2828, 'Vermont', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2829, 'Washington', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2830, 'Wisconsin', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2831, 'West Virginia', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2832, 'Wyoming', 231, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2833, 'Artigas', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2834, 'Canelones', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2835, 'Cerro Largo', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2836, 'Colonia', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2837, 'Durazno', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2838, 'Florida', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2839, 'Flores', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2840, 'Lavalleja', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2841, 'Maldonado', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2842, 'Montevideo', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2843, 'Paysandu', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2844, 'Rio Negro', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2845, 'Rocha', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2846, 'Rivera', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2847, 'Salto', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2848, 'San Jose', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2849, 'Soriano', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2850, 'Tacuarembo', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2851, 'Treinta y Tres', 233, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2852, 'Andijon', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2853, 'Buxoro', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2854, 'Fargona', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2855, 'Jizzax', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2856, 'Xorazm', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2857, 'Namangan', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2858, 'Navoi', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2859, 'Kaskadarya', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2860, 'Karakalpakstan', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2861, 'Samarkand', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2862, 'Sirdaryo', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2863, 'Surxondaryo', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2864, 'Tashkent', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2865, 'Taskent City', 234, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2866, 'Vatican City', 236, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2867, 'Distrito Capital', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2868, 'Anzoategue i', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2869, 'Apure', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2870, 'Aragua', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2871, 'Barinas', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2872, 'Bolivar', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2873, 'Carabobo', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2874, 'Cojedes', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2875, 'Falcon', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2876, 'Guarico', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2877, 'Lara', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2878, 'Merida', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2879, 'Miranda', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2880, 'Monagas', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2881, 'Nueva Esparta', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2882, 'Portguesa', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2883, 'Sucre', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2884, 'Tachira', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2885, 'Trujillo', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2886, 'Yaracuy', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22');\nINSERT INTO `states` (`id`, `name`, `country_id`, `created_at`, `updated_at`) VALUES\n(2887, 'Zulia', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2888, 'Dependencies Federal', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2889, 'Vargas', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2890, 'Delta Amacuro', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2891, 'Yaracuy', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2892, 'Amazonas', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2893, 'Zulia', 237, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2894, 'British Virgin Islands', 239, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2895, 'U.S. Virgin Islands', 240, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2896, 'Clwyd', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2897, 'Dyfed', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2898, 'Gwent', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2899, 'Gwynedd', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2900, 'Mid Glamorgan', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2901, 'Powys', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2902, 'South Glamorgan', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2903, 'West Glamorgan', 247, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2904, 'Abyan', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2905, 'Adan', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2906, 'Amran', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2907, 'Al Bayda', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2908, 'Dhamar', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2909, 'Al Dali', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2910, 'Hadramawt', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2911, 'Hajjah', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2912, 'Al Hudaydah', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2913, 'Ibb', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2914, 'Al Jawf', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2915, 'Lahij', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2916, 'Marib', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2917, 'Al Mahrah', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2918, 'ML Mahwit', 243, '2018-11-29 03:55:22', '2018-11-29 03:55:22'),\n(2919, ' ', 243, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2920, 'Sadah', 243, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2921, 'Shabwah', 243, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2922, 'Taizz', 243, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2923, 'Eastern Cape', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2924, 'Free State', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2925, 'Gauteng', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2926, 'Mpumalanga', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2927, 'Northern Cape', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2928, 'KwaZulu-Natal', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2929, 'Limpopo', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2930, 'North-West', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23'),\n(2931, 'Western Cape', 202, '2018-11-29 03:55:23', '2018-11-29 03:55:23');\n"
  },
  {
    "path": "public/breeds/breeds.csv",
    "content": "id,Dog Breeds\n1,English Pointer\n2,English Setter\n3,Kerry Blue Terrier\n4,Cairn Terrier\n5,English Cocker Spaniel\n6,Gordon Setter\n7,Airedale Terrier\n8,Australian Terrier\n9,Bedlington Terrier\n10,Border Terrier\n11,Bull Terrier\n12,Fox Terrier (Smooth)\n13,English Toy Terrier (Black &Tan)\n14,Swedish Vallhund\n15,Belgian Shepherd Dog\n16,Old English Sheepdog\n17,Griffon Nivernais\n19,Briquet Griffon Vendeen\n20,Ariegeois\n21,Gascon Saintongeois\n22,Great Gascony Blue\n24,Poitevin\n25,Billy\n28,Artois Hound\n30,Porcelaine\n31,Small Blue Gascony\n32,Blue Gascony Griffon\n33,Grand Basset Griffon Vendeen\n34,Norman Artesien Basset\n35,Blue Gascony Basset\n36,Basset Fauve De Bretagne\n37,Portuguese Water Dog\n38,Welsh Corgi (Cardigan)\n39,Welsh Corgi (Pembroke)\n40,Irish Soft Coated Wheaten Terrier\n41,Yugoslavian Shepherd Dog - Sharplanina\n42,J܋Mthund\n43,Basenji\n44,Berger De Beauce\n45,Bernese Mountain Dog\n46,Appenzell Cattle Dog\n47,Entlebuch Cattle Dog\n48,Karelian Bear Dog\n49,Finnish Spitz\n50,Newfoundland\n51,Finnish Hound\n52,Polish Hound\n53,Komondor\n54,Kuvasz\n55,Puli\n56,Pumi\n57,Hungarian Short-Haired Pointer (Vizsla)\n58,Great Swiss Mountain Dog\n59,Swiss Hound\n60,Small Swiss Hound\n61,St. Bernard\n62,Coarse-Haired Styrian Hound\n63,Austrian Black And Tan Hound\n64,Austrian  Pinscher\n65,Maltese\n66,Fawn Brittany Griffon\n67,Petit Basset Griffon Vendeen\n68,Tyrolean Hound\n70,Lakeland Terrier\n71,Manchester Terrier\n72,Norwich Terrier\n73,Scottish Terrier\n74,Sealyham Terrier\n75,Skye Terrier\n76,Staffordshire Bull Terrier\n77,Continental Toy Spaniel\n78,Welsh Terrier\n80,Griffon Bruxellois\n81,Griffon Belge\n82,Petit Braban܈On\n83,Schipperke\n84,Bloodhound\n85,West Highland White Terrier\n86,Yorkshire Terrier\n87,Catalan Sheepdog\n88,Shetland Sheepdog\n89,Ibizan Podenco\n90,Burgos Pointing Dog\n91,Spanish Mastiff\n92,Pyrenean Mastiff\n93,Portuguese Sheepdog\n94,Portuguese Warren Hound-Portuguese Podengo\n95,Brittany Spaniel\n96,Rafeiro Of Alentejo\n97,German Spitz\n98,German Wire- Haired Pointing Dog\n99,Weimaraner\n100,Westphalian Dachsbracke\n101,French Bulldog\n102,Kleiner Mnsterl܋Nder\n103,German Hunting Terrier\n104,German Spaniel\n105,French Water Dog\n106,Blue Picardy Spaniel\n107,Wire-Haired Pointing Griffon Korthals\n108,Picardy Spaniel\n109,Clumber Spaniel\n110,Curly Coated Retriever\n111,Golden Retriever\n113,Briard\n114,Pont-Audemer Spaniel\n115,Saint Germain Pointer\n116,Dogue De Bordeaux\n117,Deutsch Langhaar\n118,Large Munsterlander\n119,German Short- Haired Pointing Dog\n120,Irish Red Setter\n121,Flat Coated Retriever\n122,Labrador Retriever\n123,Field Spaniel\n124,Irish Water Spaniel\n125,English Springer Spaniel\n126,Welsh Springer Spaniel\n127,Sussex Spaniel\n128,King Charles Spaniel\n129,Sm܃Landsst_Vare\n130,Drever\n131,Schillerst_Vare\n132,Hamiltonst_Vare\n133,French Pointing Dog - Gascogne Type\n134,French Pointing Dog - Pyrenean Type\n135,Swedish Lapphund\n136,Cavalier King Charles Spaniel\n137,Pyrenean Mountain Dog\n138,Pyrenean Sheepdog - Smooth Faced\n139,Irish Terrier\n140,Boston Terrier\n141,Long-Haired Pyrenean Sheepdog\n142,Slovakian Chuvach\n143,Dobermann\n144,Boxer\n145,Leonberger\n146,Rhodesian Ridgeback\n147,Rottweiler\n148,Dachshund\n149,Bulldog\n150,Serbian Hound\n151,Istrian Short-Haired Hound\n152,Istrian Wire-Haired Hound\n153,Dalmatian\n154,Posavatz Hound\n155,Bosnian Broken-Haired Hound - Called Barak\n156,Collie Rough\n157,Bullmastiff\n158,Greyhound\n159,English Foxhound\n160,Irish Wolfhound\n161,Beagle\n162,Whippet\n163,Basset Hound\n164,Deerhound\n165,Italian Spinone\n166,German Shepherd Dog\n167,American Cocker Spaniel\n168,Dandie Dinmont Terrier\n169,Fox Terrier (Wire)\n170,Castro Laboreiro Dog\n171,Bouvier Des Ardennes\n172,Poodle\n173,Estrela Mountain Dog\n175,French Spaniel\n176,Picardy Sheepdog\n177,Ariege Pointing Dog\n179,Bourbonnais Pointing Dog\n180,Auvergne Pointer\n181,Giant Schnauzer\n182,Schnauzer\n183,Miniature Schnauzer\n184,German Pinscher\n185,Miniature Pinscher\n186,Affenpinscher\n187,Portuguese Pointing Dog\n188,Sloughi\n189,Finnish Lapponian Dog\n190,Hovawart\n191,Bouvier Des Flandres\n192,Kromfohrl܋Nder\n193,Borzoi - Russian Hunting Sighthound\n194,Bergamasco Shepherd Dog\n195,Italian Volpino\n196,Bolognese\n197,Neapolitan Mastiff\n198,Italian Rough-Haired Segugio\n199,Cirneco Dell'Etna\n200,Italian Sighthound\n201,Maremma And The Abruzzes Sheepdog\n202,Italian Pointing Dog\n203,Norwegian Hound\n204,Spanish Hound\n205,Chow Chow\n206,Japanese Chin\n207,Pekingese\n208,Shih Tzu\n209,Tibetan Terrier\n211,Canadian Eskimo Dog\n212,Samoyed\n213,Hanoverian Scent Hound\n214,Hellenic Hound\n215,Bichon Frise\n216,Pudelpointer\n217,Bavarian Mountain Scent Hound\n218,Chihuahua\n219,French Tricolour Hound\n220,French White & Black Hound\n221,Frisian Water Dog\n222,Stabijhoun\n223,Dutch Shepherd Dog\n224,Drentsche Partridge Dog\n225,Fila Brasileiro\n226,Landseer (European Continental Type)\n227,Lhasa Apso\n228,Afghan Hound\n229,Serbian Tricolour Hound\n230,Tibetan Mastiff\n231,Tibetan Spaniel\n232,Deutsch Stichelhaar\n233,Little Lion Dog\n234,Xoloitzcuintle\n235,Great Dane\n236,Australian Silky Terrier\n237,Norwegian Buhund\n238,Mudi\n239,Hungarian Wire-Haired Pointer\n240,Hungarian Greyhound\n241,Hungarian Hound - Transylvanian Scent Hound\n242,Norwegian Elkhound Grey\n243,Alaskan Malamute\n244,Slovakian Hound\n245,Bohemian Wire-Haired Pointing Griffon\n246,Cesky Terrier\n247,Atlas Mountain Dog (Aidi)\n248,Pharaoh Hound\n249,Majorca Mastiff\n250,Havanese\n251,Polish Lowland Sheepdog\n252,Tatra Shepherd Dog\n253,Pug\n254,Alpine Dachsbracke\n255,Akita\n257,Shiba\n259,Japanese Terrier\n260,Tosa\n261,Hokkaido\n262,Japanese Spitz\n263,Chesapeake Bay Retriever\n264,Mastiff\n265,Norwegian Lundehund\n266,Hygen Hound\n267,Halden Hound\n268,Norwegian Elkhound Black\n269,Saluki\n270,Siberian Husky\n271,Bearded Collie\n272,Norfolk Terrier\n273,Canaan Dog\n274,Greenland Dog\n276,Norrbottenspitz\n277,Croatian Shepherd Dog\n278,Karst Shepherd Dog\n279,Montenegrin Mountain Hound\n281,Old Danish Pointing Dog\n282,Grand Griffon Vendeen\n283,Coton De Tulear\n284,Lapponian Herder\n285,Spanish Greyhound\n286,American Staffordshire Terrier\n287,Australian Cattle Dog\n288,Chinese Crested Dog\n289,Icelandic Sheepdog\n290,Beagle Harrier\n291,Eurasian\n292,Dogo Argentino\n293,Australian Kelpie\n294,Otterhound\n295,Harrier\n296,Collie Smooth\n297,Border Collie\n298,Romagna Water Dog\n299,German Hound\n300,Black And Tan Coonhound\n301,American Water Spaniel\n302,Irish Glen Of Imaal Terrier\n303,American Foxhound\n304,Russian-European Laika\n305,East Siberian Laika\n306,West Siberian Laika\n307,Azawakh\n308,Dutch Smoushond\n309,Shar Pei\n310,Peruvian Hairless Dog\n311,Saarloos Wolfhond\n312,Nova Scotia Duck Tolling Retriever\n313,Dutch Schapendoes\n314,Nederlandse Kooikerhondje\n315,Broholmer\n316,French White And Orange Hound\n317,Kai\n318,Kishu\n319,Shikoku\n320,Wirehaired Slovakian Pointer\n321,Majorca Shepherd Dog\n322,Great Anglo-French Tricolour Hound\n323,Great Anglo-French White And Black Hound\n324,Great Anglo-French White & Orange Hound\n325,Medium-Sized Anglo-French Hound\n326,South Russian Shepherd Dog\n327,Russian Black Terrier\n328,Caucasian Shepherd Dog\n329,Canarian Warren Hound\n330,Irish Red And White Setter\n331,Kangal Shepherd Dog\n332,Czechoslovakian Wolfdog\n333,Polish Greyhound\n334,Korea Jindo Dog\n335,Central Asia Shepherd Dog\n336,Spanish Water Dog\n337,Italian Short-Haired Segugio\n338,Thai Ridgeback Dog\n339,Parson Russell Terrier\n340,Saint Miguel Cattle Dog\n341,Brazilian Terrier\n342,Australian Shepherd\n343,Italian Cane Corso\n344,American Akita\n345,Jack Russell Terrier\n346,Presa Canario\n347,White Swiss Shepherd Dog\n348,Taiwan Dog\n349,Romanian Mioritic Shepherd Dog\n350,Romanian Carpathian Shepherd Dog\n351,Australian Stumpy Tail Cattle Dog\n352,Russian Toy\n353,CimarrN Uruguayo\n354,Polish Hunting Dog\n355,Bosnian And Herzegovinian - Croatian Shepherd Dog\n356,Danish-Swedish Farmdog\n357,Romanian Bucovina Shepherd\n358,Thai Bangkaew Dog\n359,Miniature Bull Terrier\n360,Lancashire Heeler\n361,Segugio Maremmano\n362,Kintamani-Bali Dog\n363,Prague Ratter\n364,Bohemian Shepherd Dog\n365,Yakutian Laika\n366,Estonian Hound\n367,Miniature American Shepherd"
  },
  {
    "path": "public/css/app.css",
    "content": "@charset \"UTF-8\";\n/*!\n * Bootstrap v4.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 The Bootstrap Authors\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n:root {\n  --blue: #007bff;\n  --indigo: #6610f2;\n  --purple: #6f42c1;\n  --pink: #e83e8c;\n  --red: #dc3545;\n  --orange: #fd7e14;\n  --yellow: #ffc107;\n  --green: #28a745;\n  --teal: #20c997;\n  --cyan: #17a2b8;\n  --white: #fff;\n  --gray: #6c757d;\n  --gray-dark: #343a40;\n  --primary: #007bff;\n  --secondary: #6c757d;\n  --success: #28a745;\n  --info: #17a2b8;\n  --warning: #ffc107;\n  --danger: #dc3545;\n  --light: #f8f9fa;\n  --dark: #343a40;\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 992px;\n  --breakpoint-xl: 1200px;\n  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\nhtml {\n  font-family: sans-serif;\n  line-height: 1.15;\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\narticle, aside, figcaption, figure, footer, header, hgroup, main, nav, section {\n  display: block;\n}\n\nbody {\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #212529;\n  text-align: left;\n  background-color: #ffffff;\n}\n\n[tabindex=\"-1\"]:focus:not(:focus-visible) {\n  outline: 0 !important;\n}\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n  overflow: visible;\n}\n\nh1, h2, h3, h4, h5, h6 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-original-title] {\n  text-decoration: underline;\n  -webkit-text-decoration: underline dotted;\n          text-decoration: underline dotted;\n  cursor: help;\n  border-bottom: 0;\n  -webkit-text-decoration-skip-ink: none;\n          text-decoration-skip-ink: none;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: 0.5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 80%;\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\na {\n  color: #007bff;\n  text-decoration: none;\n  background-color: transparent;\n}\na:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n\na:not([href]) {\n  color: inherit;\n  text-decoration: none;\n}\na:not([href]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  font-size: 1em;\n}\n\npre {\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg {\n  vertical-align: middle;\n  border-style: none;\n}\n\nsvg {\n  overflow: hidden;\n  vertical-align: middle;\n}\n\ntable {\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.75rem;\n  padding-bottom: 0.75rem;\n  color: #6c757d;\n  text-align: left;\n  caption-side: bottom;\n}\n\nth {\n  text-align: inherit;\n}\n\nlabel {\n  display: inline-block;\n  margin-bottom: 0.5rem;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus {\n  outline: 1px dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\ninput {\n  overflow: visible;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\nselect {\n  word-wrap: normal;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n  -webkit-appearance: button;\n}\n\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n  cursor: pointer;\n}\n\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ninput[type=radio],\ninput[type=checkbox] {\n  box-sizing: border-box;\n  padding: 0;\n}\n\ninput[type=date],\ninput[type=time],\ninput[type=datetime-local],\ninput[type=month] {\n  -webkit-appearance: listbox;\n}\n\ntextarea {\n  overflow: auto;\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  display: block;\n  width: 100%;\n  max-width: 100%;\n  padding: 0;\n  margin-bottom: 0.5rem;\n  font-size: 1.5rem;\n  line-height: inherit;\n  color: inherit;\n  white-space: normal;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n[type=search] {\n  outline-offset: -2px;\n  -webkit-appearance: none;\n}\n\n[type=search]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\nsummary {\n  display: list-item;\n  cursor: pointer;\n}\n\ntemplate {\n  display: none;\n}\n\n[hidden] {\n  display: none !important;\n}\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2;\n}\n\nh1, .h1 {\n  font-size: 2.5rem;\n}\n\nh2, .h2 {\n  font-size: 2rem;\n}\n\nh3, .h3 {\n  font-size: 1.75rem;\n}\n\nh4, .h4 {\n  font-size: 1.5rem;\n}\n\nh5, .h5 {\n  font-size: 1.25rem;\n}\n\nh6, .h6 {\n  font-size: 1rem;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-size: 6rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-2 {\n  font-size: 5.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-3 {\n  font-size: 4.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\n.display-4 {\n  font-size: 3.5rem;\n  font-weight: 300;\n  line-height: 1.2;\n}\n\nhr {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  border: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.1);\n}\n\nsmall,\n.small {\n  font-size: 80%;\n  font-weight: 400;\n}\n\nmark,\n.mark {\n  padding: 0.2em;\n  background-color: #fcf8e3;\n}\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline-item {\n  display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n  margin-right: 0.5rem;\n}\n\n.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem;\n}\n\n.blockquote-footer {\n  display: block;\n  font-size: 80%;\n  color: #6c757d;\n}\n.blockquote-footer::before {\n  content: \"\\2014\\A0\";\n}\n\n.img-fluid {\n  max-width: 100%;\n  height: auto;\n}\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: #ffffff;\n  border: 1px solid #dee2e6;\n  border-radius: 0.25rem;\n  max-width: 100%;\n  height: auto;\n}\n\n.figure {\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: 90%;\n  color: #6c757d;\n}\n\ncode {\n  font-size: 87.5%;\n  color: #e83e8c;\n  word-wrap: break-word;\n}\na > code {\n  color: inherit;\n}\n\nkbd {\n  padding: 0.2rem 0.4rem;\n  font-size: 87.5%;\n  color: #fff;\n  background-color: #212529;\n  border-radius: 0.2rem;\n}\nkbd kbd {\n  padding: 0;\n  font-size: 100%;\n  font-weight: 700;\n}\n\npre {\n  display: block;\n  font-size: 87.5%;\n  color: #212529;\n}\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\n.pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n\n.container {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n@media (min-width: 576px) {\n  .container {\n    max-width: 540px;\n  }\n}\n@media (min-width: 768px) {\n  .container {\n    max-width: 720px;\n  }\n}\n@media (min-width: 992px) {\n  .container {\n    max-width: 960px;\n  }\n}\n@media (min-width: 1200px) {\n  .container {\n    max-width: 1140px;\n  }\n}\n\n.container-fluid, .container-xl, .container-lg, .container-md, .container-sm {\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container-sm, .container {\n    max-width: 540px;\n  }\n}\n@media (min-width: 768px) {\n  .container-md, .container-sm, .container {\n    max-width: 720px;\n  }\n}\n@media (min-width: 992px) {\n  .container-lg, .container-md, .container-sm, .container {\n    max-width: 960px;\n  }\n}\n@media (min-width: 1200px) {\n  .container-xl, .container-lg, .container-md, .container-sm, .container {\n    max-width: 1140px;\n  }\n}\n.row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -15px;\n  margin-left: -15px;\n}\n\n.no-gutters {\n  margin-right: 0;\n  margin-left: 0;\n}\n.no-gutters > .col,\n.no-gutters > [class*=col-] {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.col-xl,\n.col-xl-auto, .col-xl-12, .col-xl-11, .col-xl-10, .col-xl-9, .col-xl-8, .col-xl-7, .col-xl-6, .col-xl-5, .col-xl-4, .col-xl-3, .col-xl-2, .col-xl-1, .col-lg,\n.col-lg-auto, .col-lg-12, .col-lg-11, .col-lg-10, .col-lg-9, .col-lg-8, .col-lg-7, .col-lg-6, .col-lg-5, .col-lg-4, .col-lg-3, .col-lg-2, .col-lg-1, .col-md,\n.col-md-auto, .col-md-12, .col-md-11, .col-md-10, .col-md-9, .col-md-8, .col-md-7, .col-md-6, .col-md-5, .col-md-4, .col-md-3, .col-md-2, .col-md-1, .col-sm,\n.col-sm-auto, .col-sm-12, .col-sm-11, .col-sm-10, .col-sm-9, .col-sm-8, .col-sm-7, .col-sm-6, .col-sm-5, .col-sm-4, .col-sm-3, .col-sm-2, .col-sm-1, .col,\n.col-auto, .col-12, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {\n  position: relative;\n  width: 100%;\n  padding-right: 15px;\n  padding-left: 15px;\n}\n\n.col {\n  flex-basis: 0;\n  flex-grow: 1;\n  max-width: 100%;\n}\n\n.row-cols-1 > * {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.row-cols-2 > * {\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.row-cols-3 > * {\n  flex: 0 0 33.3333333333%;\n  max-width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.row-cols-5 > * {\n  flex: 0 0 20%;\n  max-width: 20%;\n}\n\n.row-cols-6 > * {\n  flex: 0 0 16.6666666667%;\n  max-width: 16.6666666667%;\n}\n\n.col-auto {\n  flex: 0 0 auto;\n  width: auto;\n  max-width: 100%;\n}\n\n.col-1 {\n  flex: 0 0 8.3333333333%;\n  max-width: 8.3333333333%;\n}\n\n.col-2 {\n  flex: 0 0 16.6666666667%;\n  max-width: 16.6666666667%;\n}\n\n.col-3 {\n  flex: 0 0 25%;\n  max-width: 25%;\n}\n\n.col-4 {\n  flex: 0 0 33.3333333333%;\n  max-width: 33.3333333333%;\n}\n\n.col-5 {\n  flex: 0 0 41.6666666667%;\n  max-width: 41.6666666667%;\n}\n\n.col-6 {\n  flex: 0 0 50%;\n  max-width: 50%;\n}\n\n.col-7 {\n  flex: 0 0 58.3333333333%;\n  max-width: 58.3333333333%;\n}\n\n.col-8 {\n  flex: 0 0 66.6666666667%;\n  max-width: 66.6666666667%;\n}\n\n.col-9 {\n  flex: 0 0 75%;\n  max-width: 75%;\n}\n\n.col-10 {\n  flex: 0 0 83.3333333333%;\n  max-width: 83.3333333333%;\n}\n\n.col-11 {\n  flex: 0 0 91.6666666667%;\n  max-width: 91.6666666667%;\n}\n\n.col-12 {\n  flex: 0 0 100%;\n  max-width: 100%;\n}\n\n.order-first {\n  order: -1;\n}\n\n.order-last {\n  order: 13;\n}\n\n.order-0 {\n  order: 0;\n}\n\n.order-1 {\n  order: 1;\n}\n\n.order-2 {\n  order: 2;\n}\n\n.order-3 {\n  order: 3;\n}\n\n.order-4 {\n  order: 4;\n}\n\n.order-5 {\n  order: 5;\n}\n\n.order-6 {\n  order: 6;\n}\n\n.order-7 {\n  order: 7;\n}\n\n.order-8 {\n  order: 8;\n}\n\n.order-9 {\n  order: 9;\n}\n\n.order-10 {\n  order: 10;\n}\n\n.order-11 {\n  order: 11;\n}\n\n.order-12 {\n  order: 12;\n}\n\n.offset-1 {\n  margin-left: 8.3333333333%;\n}\n\n.offset-2 {\n  margin-left: 16.6666666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.3333333333%;\n}\n\n.offset-5 {\n  margin-left: 41.6666666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.3333333333%;\n}\n\n.offset-8 {\n  margin-left: 66.6666666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.3333333333%;\n}\n\n.offset-11 {\n  margin-left: 91.6666666667%;\n}\n\n@media (min-width: 576px) {\n  .col-sm {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n\n  .row-cols-sm-1 > * {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .row-cols-sm-2 > * {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .row-cols-sm-3 > * {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .row-cols-sm-4 > * {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .row-cols-sm-5 > * {\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n\n  .row-cols-sm-6 > * {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-sm-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .col-sm-1 {\n    flex: 0 0 8.3333333333%;\n    max-width: 8.3333333333%;\n  }\n\n  .col-sm-2 {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-sm-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .col-sm-4 {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .col-sm-5 {\n    flex: 0 0 41.6666666667%;\n    max-width: 41.6666666667%;\n  }\n\n  .col-sm-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .col-sm-7 {\n    flex: 0 0 58.3333333333%;\n    max-width: 58.3333333333%;\n  }\n\n  .col-sm-8 {\n    flex: 0 0 66.6666666667%;\n    max-width: 66.6666666667%;\n  }\n\n  .col-sm-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n\n  .col-sm-10 {\n    flex: 0 0 83.3333333333%;\n    max-width: 83.3333333333%;\n  }\n\n  .col-sm-11 {\n    flex: 0 0 91.6666666667%;\n    max-width: 91.6666666667%;\n  }\n\n  .col-sm-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .order-sm-first {\n    order: -1;\n  }\n\n  .order-sm-last {\n    order: 13;\n  }\n\n  .order-sm-0 {\n    order: 0;\n  }\n\n  .order-sm-1 {\n    order: 1;\n  }\n\n  .order-sm-2 {\n    order: 2;\n  }\n\n  .order-sm-3 {\n    order: 3;\n  }\n\n  .order-sm-4 {\n    order: 4;\n  }\n\n  .order-sm-5 {\n    order: 5;\n  }\n\n  .order-sm-6 {\n    order: 6;\n  }\n\n  .order-sm-7 {\n    order: 7;\n  }\n\n  .order-sm-8 {\n    order: 8;\n  }\n\n  .order-sm-9 {\n    order: 9;\n  }\n\n  .order-sm-10 {\n    order: 10;\n  }\n\n  .order-sm-11 {\n    order: 11;\n  }\n\n  .order-sm-12 {\n    order: 12;\n  }\n\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n\n  .offset-sm-1 {\n    margin-left: 8.3333333333%;\n  }\n\n  .offset-sm-2 {\n    margin-left: 16.6666666667%;\n  }\n\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n\n  .offset-sm-4 {\n    margin-left: 33.3333333333%;\n  }\n\n  .offset-sm-5 {\n    margin-left: 41.6666666667%;\n  }\n\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n\n  .offset-sm-7 {\n    margin-left: 58.3333333333%;\n  }\n\n  .offset-sm-8 {\n    margin-left: 66.6666666667%;\n  }\n\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n\n  .offset-sm-10 {\n    margin-left: 83.3333333333%;\n  }\n\n  .offset-sm-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n@media (min-width: 768px) {\n  .col-md {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n\n  .row-cols-md-1 > * {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .row-cols-md-2 > * {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .row-cols-md-3 > * {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .row-cols-md-4 > * {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .row-cols-md-5 > * {\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n\n  .row-cols-md-6 > * {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-md-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .col-md-1 {\n    flex: 0 0 8.3333333333%;\n    max-width: 8.3333333333%;\n  }\n\n  .col-md-2 {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-md-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .col-md-4 {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .col-md-5 {\n    flex: 0 0 41.6666666667%;\n    max-width: 41.6666666667%;\n  }\n\n  .col-md-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .col-md-7 {\n    flex: 0 0 58.3333333333%;\n    max-width: 58.3333333333%;\n  }\n\n  .col-md-8 {\n    flex: 0 0 66.6666666667%;\n    max-width: 66.6666666667%;\n  }\n\n  .col-md-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n\n  .col-md-10 {\n    flex: 0 0 83.3333333333%;\n    max-width: 83.3333333333%;\n  }\n\n  .col-md-11 {\n    flex: 0 0 91.6666666667%;\n    max-width: 91.6666666667%;\n  }\n\n  .col-md-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .order-md-first {\n    order: -1;\n  }\n\n  .order-md-last {\n    order: 13;\n  }\n\n  .order-md-0 {\n    order: 0;\n  }\n\n  .order-md-1 {\n    order: 1;\n  }\n\n  .order-md-2 {\n    order: 2;\n  }\n\n  .order-md-3 {\n    order: 3;\n  }\n\n  .order-md-4 {\n    order: 4;\n  }\n\n  .order-md-5 {\n    order: 5;\n  }\n\n  .order-md-6 {\n    order: 6;\n  }\n\n  .order-md-7 {\n    order: 7;\n  }\n\n  .order-md-8 {\n    order: 8;\n  }\n\n  .order-md-9 {\n    order: 9;\n  }\n\n  .order-md-10 {\n    order: 10;\n  }\n\n  .order-md-11 {\n    order: 11;\n  }\n\n  .order-md-12 {\n    order: 12;\n  }\n\n  .offset-md-0 {\n    margin-left: 0;\n  }\n\n  .offset-md-1 {\n    margin-left: 8.3333333333%;\n  }\n\n  .offset-md-2 {\n    margin-left: 16.6666666667%;\n  }\n\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n\n  .offset-md-4 {\n    margin-left: 33.3333333333%;\n  }\n\n  .offset-md-5 {\n    margin-left: 41.6666666667%;\n  }\n\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n\n  .offset-md-7 {\n    margin-left: 58.3333333333%;\n  }\n\n  .offset-md-8 {\n    margin-left: 66.6666666667%;\n  }\n\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n\n  .offset-md-10 {\n    margin-left: 83.3333333333%;\n  }\n\n  .offset-md-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n@media (min-width: 992px) {\n  .col-lg {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n\n  .row-cols-lg-1 > * {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .row-cols-lg-2 > * {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .row-cols-lg-3 > * {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .row-cols-lg-4 > * {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .row-cols-lg-5 > * {\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n\n  .row-cols-lg-6 > * {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-lg-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .col-lg-1 {\n    flex: 0 0 8.3333333333%;\n    max-width: 8.3333333333%;\n  }\n\n  .col-lg-2 {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-lg-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .col-lg-4 {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .col-lg-5 {\n    flex: 0 0 41.6666666667%;\n    max-width: 41.6666666667%;\n  }\n\n  .col-lg-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .col-lg-7 {\n    flex: 0 0 58.3333333333%;\n    max-width: 58.3333333333%;\n  }\n\n  .col-lg-8 {\n    flex: 0 0 66.6666666667%;\n    max-width: 66.6666666667%;\n  }\n\n  .col-lg-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n\n  .col-lg-10 {\n    flex: 0 0 83.3333333333%;\n    max-width: 83.3333333333%;\n  }\n\n  .col-lg-11 {\n    flex: 0 0 91.6666666667%;\n    max-width: 91.6666666667%;\n  }\n\n  .col-lg-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .order-lg-first {\n    order: -1;\n  }\n\n  .order-lg-last {\n    order: 13;\n  }\n\n  .order-lg-0 {\n    order: 0;\n  }\n\n  .order-lg-1 {\n    order: 1;\n  }\n\n  .order-lg-2 {\n    order: 2;\n  }\n\n  .order-lg-3 {\n    order: 3;\n  }\n\n  .order-lg-4 {\n    order: 4;\n  }\n\n  .order-lg-5 {\n    order: 5;\n  }\n\n  .order-lg-6 {\n    order: 6;\n  }\n\n  .order-lg-7 {\n    order: 7;\n  }\n\n  .order-lg-8 {\n    order: 8;\n  }\n\n  .order-lg-9 {\n    order: 9;\n  }\n\n  .order-lg-10 {\n    order: 10;\n  }\n\n  .order-lg-11 {\n    order: 11;\n  }\n\n  .order-lg-12 {\n    order: 12;\n  }\n\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n\n  .offset-lg-1 {\n    margin-left: 8.3333333333%;\n  }\n\n  .offset-lg-2 {\n    margin-left: 16.6666666667%;\n  }\n\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n\n  .offset-lg-4 {\n    margin-left: 33.3333333333%;\n  }\n\n  .offset-lg-5 {\n    margin-left: 41.6666666667%;\n  }\n\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n\n  .offset-lg-7 {\n    margin-left: 58.3333333333%;\n  }\n\n  .offset-lg-8 {\n    margin-left: 66.6666666667%;\n  }\n\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n\n  .offset-lg-10 {\n    margin-left: 83.3333333333%;\n  }\n\n  .offset-lg-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n@media (min-width: 1200px) {\n  .col-xl {\n    flex-basis: 0;\n    flex-grow: 1;\n    max-width: 100%;\n  }\n\n  .row-cols-xl-1 > * {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .row-cols-xl-2 > * {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .row-cols-xl-3 > * {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .row-cols-xl-4 > * {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .row-cols-xl-5 > * {\n    flex: 0 0 20%;\n    max-width: 20%;\n  }\n\n  .row-cols-xl-6 > * {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-xl-auto {\n    flex: 0 0 auto;\n    width: auto;\n    max-width: 100%;\n  }\n\n  .col-xl-1 {\n    flex: 0 0 8.3333333333%;\n    max-width: 8.3333333333%;\n  }\n\n  .col-xl-2 {\n    flex: 0 0 16.6666666667%;\n    max-width: 16.6666666667%;\n  }\n\n  .col-xl-3 {\n    flex: 0 0 25%;\n    max-width: 25%;\n  }\n\n  .col-xl-4 {\n    flex: 0 0 33.3333333333%;\n    max-width: 33.3333333333%;\n  }\n\n  .col-xl-5 {\n    flex: 0 0 41.6666666667%;\n    max-width: 41.6666666667%;\n  }\n\n  .col-xl-6 {\n    flex: 0 0 50%;\n    max-width: 50%;\n  }\n\n  .col-xl-7 {\n    flex: 0 0 58.3333333333%;\n    max-width: 58.3333333333%;\n  }\n\n  .col-xl-8 {\n    flex: 0 0 66.6666666667%;\n    max-width: 66.6666666667%;\n  }\n\n  .col-xl-9 {\n    flex: 0 0 75%;\n    max-width: 75%;\n  }\n\n  .col-xl-10 {\n    flex: 0 0 83.3333333333%;\n    max-width: 83.3333333333%;\n  }\n\n  .col-xl-11 {\n    flex: 0 0 91.6666666667%;\n    max-width: 91.6666666667%;\n  }\n\n  .col-xl-12 {\n    flex: 0 0 100%;\n    max-width: 100%;\n  }\n\n  .order-xl-first {\n    order: -1;\n  }\n\n  .order-xl-last {\n    order: 13;\n  }\n\n  .order-xl-0 {\n    order: 0;\n  }\n\n  .order-xl-1 {\n    order: 1;\n  }\n\n  .order-xl-2 {\n    order: 2;\n  }\n\n  .order-xl-3 {\n    order: 3;\n  }\n\n  .order-xl-4 {\n    order: 4;\n  }\n\n  .order-xl-5 {\n    order: 5;\n  }\n\n  .order-xl-6 {\n    order: 6;\n  }\n\n  .order-xl-7 {\n    order: 7;\n  }\n\n  .order-xl-8 {\n    order: 8;\n  }\n\n  .order-xl-9 {\n    order: 9;\n  }\n\n  .order-xl-10 {\n    order: 10;\n  }\n\n  .order-xl-11 {\n    order: 11;\n  }\n\n  .order-xl-12 {\n    order: 12;\n  }\n\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n\n  .offset-xl-1 {\n    margin-left: 8.3333333333%;\n  }\n\n  .offset-xl-2 {\n    margin-left: 16.6666666667%;\n  }\n\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n\n  .offset-xl-4 {\n    margin-left: 33.3333333333%;\n  }\n\n  .offset-xl-5 {\n    margin-left: 41.6666666667%;\n  }\n\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n\n  .offset-xl-7 {\n    margin-left: 58.3333333333%;\n  }\n\n  .offset-xl-8 {\n    margin-left: 66.6666666667%;\n  }\n\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n\n  .offset-xl-10 {\n    margin-left: 83.3333333333%;\n  }\n\n  .offset-xl-11 {\n    margin-left: 91.6666666667%;\n  }\n}\n.table {\n  width: 100%;\n  margin-bottom: 1rem;\n  color: #212529;\n}\n.table th,\n.table td {\n  padding: 0.75rem;\n  vertical-align: top;\n  border-top: 1px solid #dee2e6;\n}\n.table thead th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dee2e6;\n}\n.table tbody + tbody {\n  border-top: 2px solid #dee2e6;\n}\n\n.table-sm th,\n.table-sm td {\n  padding: 0.3rem;\n}\n\n.table-bordered {\n  border: 1px solid #dee2e6;\n}\n.table-bordered th,\n.table-bordered td {\n  border: 1px solid #dee2e6;\n}\n.table-bordered thead th,\n.table-bordered thead td {\n  border-bottom-width: 2px;\n}\n\n.table-borderless th,\n.table-borderless td,\n.table-borderless thead th,\n.table-borderless tbody + tbody {\n  border: 0;\n}\n\n.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n.table-hover tbody tr:hover {\n  color: #212529;\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-primary,\n.table-primary > th,\n.table-primary > td {\n  background-color: #b8daff;\n}\n.table-primary th,\n.table-primary td,\n.table-primary thead th,\n.table-primary tbody + tbody {\n  border-color: #7abaff;\n}\n\n.table-hover .table-primary:hover {\n  background-color: #9fcdff;\n}\n.table-hover .table-primary:hover > td,\n.table-hover .table-primary:hover > th {\n  background-color: #9fcdff;\n}\n\n.table-secondary,\n.table-secondary > th,\n.table-secondary > td {\n  background-color: #d6d8db;\n}\n.table-secondary th,\n.table-secondary td,\n.table-secondary thead th,\n.table-secondary tbody + tbody {\n  border-color: #b3b7bb;\n}\n\n.table-hover .table-secondary:hover {\n  background-color: #c8cbcf;\n}\n.table-hover .table-secondary:hover > td,\n.table-hover .table-secondary:hover > th {\n  background-color: #c8cbcf;\n}\n\n.table-success,\n.table-success > th,\n.table-success > td {\n  background-color: #c3e6cb;\n}\n.table-success th,\n.table-success td,\n.table-success thead th,\n.table-success tbody + tbody {\n  border-color: #8fd19e;\n}\n\n.table-hover .table-success:hover {\n  background-color: #b1dfbb;\n}\n.table-hover .table-success:hover > td,\n.table-hover .table-success:hover > th {\n  background-color: #b1dfbb;\n}\n\n.table-info,\n.table-info > th,\n.table-info > td {\n  background-color: #bee5eb;\n}\n.table-info th,\n.table-info td,\n.table-info thead th,\n.table-info tbody + tbody {\n  border-color: #86cfda;\n}\n\n.table-hover .table-info:hover {\n  background-color: #abdde5;\n}\n.table-hover .table-info:hover > td,\n.table-hover .table-info:hover > th {\n  background-color: #abdde5;\n}\n\n.table-warning,\n.table-warning > th,\n.table-warning > td {\n  background-color: #ffeeba;\n}\n.table-warning th,\n.table-warning td,\n.table-warning thead th,\n.table-warning tbody + tbody {\n  border-color: #ffdf7e;\n}\n\n.table-hover .table-warning:hover {\n  background-color: #ffe8a1;\n}\n.table-hover .table-warning:hover > td,\n.table-hover .table-warning:hover > th {\n  background-color: #ffe8a1;\n}\n\n.table-danger,\n.table-danger > th,\n.table-danger > td {\n  background-color: #f5c6cb;\n}\n.table-danger th,\n.table-danger td,\n.table-danger thead th,\n.table-danger tbody + tbody {\n  border-color: #ed969e;\n}\n\n.table-hover .table-danger:hover {\n  background-color: #f1b0b7;\n}\n.table-hover .table-danger:hover > td,\n.table-hover .table-danger:hover > th {\n  background-color: #f1b0b7;\n}\n\n.table-light,\n.table-light > th,\n.table-light > td {\n  background-color: #fdfdfe;\n}\n.table-light th,\n.table-light td,\n.table-light thead th,\n.table-light tbody + tbody {\n  border-color: #fbfcfc;\n}\n\n.table-hover .table-light:hover {\n  background-color: #ececf6;\n}\n.table-hover .table-light:hover > td,\n.table-hover .table-light:hover > th {\n  background-color: #ececf6;\n}\n\n.table-dark,\n.table-dark > th,\n.table-dark > td {\n  background-color: #c6c8ca;\n}\n.table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n  border-color: #95999c;\n}\n\n.table-hover .table-dark:hover {\n  background-color: #b9bbbe;\n}\n.table-hover .table-dark:hover > td,\n.table-hover .table-dark:hover > th {\n  background-color: #b9bbbe;\n}\n\n.table-active,\n.table-active > th,\n.table-active > td {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table-hover .table-active:hover {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n.table-hover .table-active:hover > td,\n.table-hover .table-active:hover > th {\n  background-color: rgba(0, 0, 0, 0.075);\n}\n\n.table .thead-dark th {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #454d55;\n}\n.table .thead-light th {\n  color: #495057;\n  background-color: #e9ecef;\n  border-color: #dee2e6;\n}\n\n.table-dark {\n  color: #fff;\n  background-color: #343a40;\n}\n.table-dark th,\n.table-dark td,\n.table-dark thead th {\n  border-color: #454d55;\n}\n.table-dark.table-bordered {\n  border: 0;\n}\n.table-dark.table-striped tbody tr:nth-of-type(odd) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n.table-dark.table-hover tbody tr:hover {\n  color: #fff;\n  background-color: rgba(255, 255, 255, 0.075);\n}\n\n@media (max-width: 575.98px) {\n  .table-responsive-sm {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-sm > .table-bordered {\n    border: 0;\n  }\n}\n@media (max-width: 767.98px) {\n  .table-responsive-md {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-md > .table-bordered {\n    border: 0;\n  }\n}\n@media (max-width: 991.98px) {\n  .table-responsive-lg {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-lg > .table-bordered {\n    border: 0;\n  }\n}\n@media (max-width: 1199.98px) {\n  .table-responsive-xl {\n    display: block;\n    width: 100%;\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  .table-responsive-xl > .table-bordered {\n    border: 0;\n  }\n}\n.table-responsive {\n  display: block;\n  width: 100%;\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n.table-responsive > .table-bordered {\n  border: 0;\n}\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .form-control {\n    transition: none;\n  }\n}\n.form-control::-ms-expand {\n  background-color: transparent;\n  border: 0;\n}\n.form-control:-moz-focusring {\n  color: transparent;\n  text-shadow: 0 0 0 #495057;\n}\n.form-control:focus {\n  color: #495057;\n  background-color: #fff;\n  border-color: #80bdff;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.form-control::-webkit-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control::-moz-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control::-ms-input-placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control::placeholder {\n  color: #6c757d;\n  opacity: 1;\n}\n.form-control:disabled, .form-control[readonly] {\n  background-color: #e9ecef;\n  opacity: 1;\n}\n\nselect.form-control:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\n}\n\n.col-form-label {\n  padding-top: calc(0.375rem + 1px);\n  padding-bottom: calc(0.375rem + 1px);\n  margin-bottom: 0;\n  font-size: inherit;\n  line-height: 1.5;\n}\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + 1px);\n  padding-bottom: calc(0.5rem + 1px);\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + 1px);\n  padding-bottom: calc(0.25rem + 1px);\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n\n.form-control-plaintext {\n  display: block;\n  width: 100%;\n  padding: 0.375rem 0;\n  margin-bottom: 0;\n  font-size: 1rem;\n  line-height: 1.5;\n  color: #212529;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: 1px 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n  padding-right: 0;\n  padding-left: 0;\n}\n\n.form-control-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.form-control-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\nselect.form-control[size], select.form-control[multiple] {\n  height: auto;\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n.form-group {\n  margin-bottom: 1rem;\n}\n\n.form-text {\n  display: block;\n  margin-top: 0.25rem;\n}\n\n.form-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -5px;\n  margin-left: -5px;\n}\n.form-row > .col,\n.form-row > [class*=col-] {\n  padding-right: 5px;\n  padding-left: 5px;\n}\n\n.form-check {\n  position: relative;\n  display: block;\n  padding-left: 1.25rem;\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: 0.3rem;\n  margin-left: -1.25rem;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n  color: #6c757d;\n}\n\n.form-check-label {\n  margin-bottom: 0;\n}\n\n.form-check-inline {\n  display: inline-flex;\n  align-items: center;\n  padding-left: 0;\n  margin-right: 0.75rem;\n}\n.form-check-inline .form-check-input {\n  position: static;\n  margin-top: 0;\n  margin-right: 0.3125rem;\n  margin-left: 0;\n}\n\n.valid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 80%;\n  color: #28a745;\n}\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: 0.1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(40, 167, 69, 0.9);\n  border-radius: 0.25rem;\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n  border-color: #28a745;\n  padding-right: calc(1.5em + 0.75rem);\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n  background-repeat: no-repeat;\n  background-position: right calc(0.375em + 0.1875rem) center;\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:valid, .custom-select.is-valid {\n  border-color: #28a745;\n  padding-right: calc(0.75em + 2.3125rem);\n  background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .custom-select:valid:focus, .custom-select.is-valid:focus {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n  color: #28a745;\n}\n.was-validated .form-check-input:valid ~ .valid-feedback,\n.was-validated .form-check-input:valid ~ .valid-tooltip, .form-check-input.is-valid ~ .valid-feedback,\n.form-check-input.is-valid ~ .valid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:valid ~ .custom-control-label, .custom-control-input.is-valid ~ .custom-control-label {\n  color: #28a745;\n}\n.was-validated .custom-control-input:valid ~ .custom-control-label::before, .custom-control-input.is-valid ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before, .custom-control-input.is-valid:checked ~ .custom-control-label::before {\n  border-color: #34ce57;\n  background-color: #34ce57;\n}\n.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before, .custom-control-input.is-valid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n.was-validated .custom-control-input:valid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-valid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #28a745;\n}\n\n.was-validated .custom-file-input:valid ~ .custom-file-label, .custom-file-input.is-valid ~ .custom-file-label {\n  border-color: #28a745;\n}\n.was-validated .custom-file-input:valid:focus ~ .custom-file-label, .custom-file-input.is-valid:focus ~ .custom-file-label {\n  border-color: #28a745;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.invalid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 80%;\n  color: #dc3545;\n}\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: 0.1rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  color: #fff;\n  background-color: rgba(220, 53, 69, 0.9);\n  border-radius: 0.25rem;\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n  border-color: #dc3545;\n  padding-right: calc(1.5em + 0.75rem);\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n  background-repeat: no-repeat;\n  background-position: right calc(0.375em + 0.1875rem) center;\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .custom-select:invalid, .custom-select.is-invalid {\n  border-color: #dc3545;\n  padding-right: calc(0.75em + 2.3125rem);\n  background: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px, url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e\") #fff no-repeat center right 1.75rem/calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .custom-select:invalid:focus, .custom-select.is-invalid:focus {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n  color: #dc3545;\n}\n.was-validated .form-check-input:invalid ~ .invalid-feedback,\n.was-validated .form-check-input:invalid ~ .invalid-tooltip, .form-check-input.is-invalid ~ .invalid-feedback,\n.form-check-input.is-invalid ~ .invalid-tooltip {\n  display: block;\n}\n\n.was-validated .custom-control-input:invalid ~ .custom-control-label, .custom-control-input.is-invalid ~ .custom-control-label {\n  color: #dc3545;\n}\n.was-validated .custom-control-input:invalid ~ .custom-control-label::before, .custom-control-input.is-invalid ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before, .custom-control-input.is-invalid:checked ~ .custom-control-label::before {\n  border-color: #e4606d;\n  background-color: #e4606d;\n}\n.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before, .custom-control-input.is-invalid:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n.was-validated .custom-control-input:invalid:focus:not(:checked) ~ .custom-control-label::before, .custom-control-input.is-invalid:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #dc3545;\n}\n\n.was-validated .custom-file-input:invalid ~ .custom-file-label, .custom-file-input.is-invalid ~ .custom-file-label {\n  border-color: #dc3545;\n}\n.was-validated .custom-file-input:invalid:focus ~ .custom-file-label, .custom-file-input.is-invalid:focus ~ .custom-file-label {\n  border-color: #dc3545;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);\n}\n\n.form-inline {\n  display: flex;\n  flex-flow: row wrap;\n  align-items: center;\n}\n.form-inline .form-check {\n  width: 100%;\n}\n@media (min-width: 576px) {\n  .form-inline label {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-group {\n    display: flex;\n    flex: 0 0 auto;\n    flex-flow: row wrap;\n    align-items: center;\n    margin-bottom: 0;\n  }\n  .form-inline .form-control {\n    display: inline-block;\n    width: auto;\n    vertical-align: middle;\n  }\n  .form-inline .form-control-plaintext {\n    display: inline-block;\n  }\n  .form-inline .input-group,\n.form-inline .custom-select {\n    width: auto;\n  }\n  .form-inline .form-check {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: auto;\n    padding-left: 0;\n  }\n  .form-inline .form-check-input {\n    position: relative;\n    flex-shrink: 0;\n    margin-top: 0;\n    margin-right: 0.25rem;\n    margin-left: 0;\n  }\n  .form-inline .custom-control {\n    align-items: center;\n    justify-content: center;\n  }\n  .form-inline .custom-control-label {\n    margin-bottom: 0;\n  }\n}\n\n.btn {\n  display: inline-block;\n  font-weight: 400;\n  color: #212529;\n  text-align: center;\n  vertical-align: middle;\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background-color: transparent;\n  border: 1px solid transparent;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  line-height: 1.5;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .btn {\n    transition: none;\n  }\n}\n.btn:hover {\n  color: #212529;\n  text-decoration: none;\n}\n.btn:focus, .btn.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.btn.disabled, .btn:disabled {\n  opacity: 0.65;\n}\na.btn.disabled,\nfieldset:disabled a.btn {\n  pointer-events: none;\n}\n\n.btn-primary {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.btn-primary:hover {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n}\n.btn-primary:focus, .btn-primary.focus {\n  color: #fff;\n  background-color: #0069d9;\n  border-color: #0062cc;\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n.btn-primary.disabled, .btn-primary:disabled {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active, .show > .btn-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #0062cc;\n  border-color: #005cbf;\n}\n.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-primary.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);\n}\n\n.btn-secondary {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.btn-secondary:hover {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n}\n.btn-secondary:focus, .btn-secondary.focus {\n  color: #fff;\n  background-color: #5a6268;\n  border-color: #545b62;\n  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n.btn-secondary.disabled, .btn-secondary:disabled {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active, .show > .btn-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #545b62;\n  border-color: #4e555b;\n}\n.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-secondary.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.btn-success {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.btn-success:hover {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n}\n.btn-success:focus, .btn-success.focus {\n  color: #fff;\n  background-color: #218838;\n  border-color: #1e7e34;\n  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n.btn-success.disabled, .btn-success:disabled {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active, .show > .btn-success.dropdown-toggle {\n  color: #fff;\n  background-color: #1e7e34;\n  border-color: #1c7430;\n}\n.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus, .show > .btn-success.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-info {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.btn-info:hover {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n}\n.btn-info:focus, .btn-info.focus {\n  color: #fff;\n  background-color: #138496;\n  border-color: #117a8b;\n  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n.btn-info.disabled, .btn-info:disabled {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active, .show > .btn-info.dropdown-toggle {\n  color: #fff;\n  background-color: #117a8b;\n  border-color: #10707f;\n}\n.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus, .show > .btn-info.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-warning {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n.btn-warning:hover {\n  color: #212529;\n  background-color: #e0a800;\n  border-color: #d39e00;\n}\n.btn-warning:focus, .btn-warning.focus {\n  color: #212529;\n  background-color: #e0a800;\n  border-color: #d39e00;\n  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n.btn-warning.disabled, .btn-warning:disabled {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active, .show > .btn-warning.dropdown-toggle {\n  color: #212529;\n  background-color: #d39e00;\n  border-color: #c69500;\n}\n.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-warning.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-danger {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n.btn-danger:hover {\n  color: #fff;\n  background-color: #c82333;\n  border-color: #bd2130;\n}\n.btn-danger:focus, .btn-danger.focus {\n  color: #fff;\n  background-color: #c82333;\n  border-color: #bd2130;\n  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n.btn-danger.disabled, .btn-danger:disabled {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active, .show > .btn-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #bd2130;\n  border-color: #b21f2d;\n}\n.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-danger.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.btn-light {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.btn-light:hover {\n  color: #212529;\n  background-color: #e2e6ea;\n  border-color: #dae0e5;\n}\n.btn-light:focus, .btn-light.focus {\n  color: #212529;\n  background-color: #e2e6ea;\n  border-color: #dae0e5;\n  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n.btn-light.disabled, .btn-light:disabled {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active, .show > .btn-light.dropdown-toggle {\n  color: #212529;\n  background-color: #dae0e5;\n  border-color: #d3d9df;\n}\n.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus, .show > .btn-light.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-dark {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n.btn-dark:hover {\n  color: #fff;\n  background-color: #23272b;\n  border-color: #1d2124;\n}\n.btn-dark:focus, .btn-dark.focus {\n  color: #fff;\n  background-color: #23272b;\n  border-color: #1d2124;\n  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n.btn-dark.disabled, .btn-dark:disabled {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active, .show > .btn-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #1d2124;\n  border-color: #171a1d;\n}\n.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-dark.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.btn-outline-primary {\n  color: #007bff;\n  border-color: #007bff;\n}\n.btn-outline-primary:hover {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.btn-outline-primary:focus, .btn-outline-primary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n.btn-outline-primary.disabled, .btn-outline-primary:disabled {\n  color: #007bff;\n  background-color: transparent;\n}\n.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active, .show > .btn-outline-primary.dropdown-toggle {\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-primary.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.btn-outline-secondary {\n  color: #6c757d;\n  border-color: #6c757d;\n}\n.btn-outline-secondary:hover {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.btn-outline-secondary:focus, .btn-outline-secondary.focus {\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {\n  color: #6c757d;\n  background-color: transparent;\n}\n.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active, .show > .btn-outline-secondary.dropdown-toggle {\n  color: #fff;\n  background-color: #6c757d;\n  border-color: #6c757d;\n}\n.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-secondary.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.btn-outline-success {\n  color: #28a745;\n  border-color: #28a745;\n}\n.btn-outline-success:hover {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.btn-outline-success:focus, .btn-outline-success.focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n.btn-outline-success.disabled, .btn-outline-success:disabled {\n  color: #28a745;\n  background-color: transparent;\n}\n.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active, .show > .btn-outline-success.dropdown-toggle {\n  color: #fff;\n  background-color: #28a745;\n  border-color: #28a745;\n}\n.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-success.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-info {\n  color: #17a2b8;\n  border-color: #17a2b8;\n}\n.btn-outline-info:hover {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.btn-outline-info:focus, .btn-outline-info.focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n.btn-outline-info.disabled, .btn-outline-info:disabled {\n  color: #17a2b8;\n  background-color: transparent;\n}\n.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active, .show > .btn-outline-info.dropdown-toggle {\n  color: #fff;\n  background-color: #17a2b8;\n  border-color: #17a2b8;\n}\n.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-info.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-warning {\n  color: #ffc107;\n  border-color: #ffc107;\n}\n.btn-outline-warning:hover {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n.btn-outline-warning.disabled, .btn-outline-warning:disabled {\n  color: #ffc107;\n  background-color: transparent;\n}\n.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active, .show > .btn-outline-warning.dropdown-toggle {\n  color: #212529;\n  background-color: #ffc107;\n  border-color: #ffc107;\n}\n.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-warning.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-danger {\n  color: #dc3545;\n  border-color: #dc3545;\n}\n.btn-outline-danger:hover {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n.btn-outline-danger:focus, .btn-outline-danger.focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n.btn-outline-danger.disabled, .btn-outline-danger:disabled {\n  color: #dc3545;\n  background-color: transparent;\n}\n.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active, .show > .btn-outline-danger.dropdown-toggle {\n  color: #fff;\n  background-color: #dc3545;\n  border-color: #dc3545;\n}\n.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-danger.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.btn-outline-light {\n  color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.btn-outline-light:hover {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.btn-outline-light:focus, .btn-outline-light.focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n.btn-outline-light.disabled, .btn-outline-light:disabled {\n  color: #f8f9fa;\n  background-color: transparent;\n}\n.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active, .show > .btn-outline-light.dropdown-toggle {\n  color: #212529;\n  background-color: #f8f9fa;\n  border-color: #f8f9fa;\n}\n.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-light.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-dark {\n  color: #343a40;\n  border-color: #343a40;\n}\n.btn-outline-dark:hover {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n.btn-outline-dark:focus, .btn-outline-dark.focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n.btn-outline-dark.disabled, .btn-outline-dark:disabled {\n  color: #343a40;\n  background-color: transparent;\n}\n.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active, .show > .btn-outline-dark.dropdown-toggle {\n  color: #fff;\n  background-color: #343a40;\n  border-color: #343a40;\n}\n.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus, .show > .btn-outline-dark.dropdown-toggle:focus {\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.btn-link {\n  font-weight: 400;\n  color: #007bff;\n  text-decoration: none;\n}\n.btn-link:hover {\n  color: #0056b3;\n  text-decoration: underline;\n}\n.btn-link:focus, .btn-link.focus {\n  text-decoration: underline;\n  box-shadow: none;\n}\n.btn-link:disabled, .btn-link.disabled {\n  color: #6c757d;\n  pointer-events: none;\n}\n\n.btn-lg, .btn-group-lg > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.btn-sm, .btn-group-sm > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.btn-block {\n  display: block;\n  width: 100%;\n}\n.btn-block + .btn-block {\n  margin-top: 0.5rem;\n}\n\ninput[type=submit].btn-block,\ninput[type=reset].btn-block,\ninput[type=button].btn-block {\n  width: 100%;\n}\n\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n\n.dropup,\n.dropright,\n.dropdown,\n.dropleft {\n  position: relative;\n}\n\n.dropdown-toggle {\n  white-space: nowrap;\n}\n.dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 10rem;\n  padding: 0.5rem 0;\n  margin: 0.125rem 0 0;\n  font-size: 1rem;\n  color: #212529;\n  text-align: left;\n  list-style: none;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 0.25rem;\n}\n\n.dropdown-menu-left {\n  right: auto;\n  left: 0;\n}\n\n.dropdown-menu-right {\n  right: 0;\n  left: auto;\n}\n\n@media (min-width: 576px) {\n  .dropdown-menu-sm-left {\n    right: auto;\n    left: 0;\n  }\n\n  .dropdown-menu-sm-right {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 768px) {\n  .dropdown-menu-md-left {\n    right: auto;\n    left: 0;\n  }\n\n  .dropdown-menu-md-right {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 992px) {\n  .dropdown-menu-lg-left {\n    right: auto;\n    left: 0;\n  }\n\n  .dropdown-menu-lg-right {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 1200px) {\n  .dropdown-menu-xl-left {\n    right: auto;\n    left: 0;\n  }\n\n  .dropdown-menu-xl-right {\n    right: 0;\n    left: auto;\n  }\n}\n.dropup .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-top: 0;\n  margin-bottom: 0.125rem;\n}\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropright .dropdown-menu {\n  top: 0;\n  right: auto;\n  left: 100%;\n  margin-top: 0;\n  margin-left: 0.125rem;\n}\n.dropright .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid transparent;\n  border-right: 0;\n  border-bottom: 0.3em solid transparent;\n  border-left: 0.3em solid;\n}\n.dropright .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n.dropright .dropdown-toggle::after {\n  vertical-align: 0;\n}\n\n.dropleft .dropdown-menu {\n  top: 0;\n  right: 100%;\n  left: auto;\n  margin-top: 0;\n  margin-right: 0.125rem;\n}\n.dropleft .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n}\n.dropleft .dropdown-toggle::after {\n  display: none;\n}\n.dropleft .dropdown-toggle::before {\n  display: inline-block;\n  margin-right: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid transparent;\n  border-right: 0.3em solid;\n  border-bottom: 0.3em solid transparent;\n}\n.dropleft .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n.dropleft .dropdown-toggle::before {\n  vertical-align: 0;\n}\n\n.dropdown-menu[x-placement^=top], .dropdown-menu[x-placement^=right], .dropdown-menu[x-placement^=bottom], .dropdown-menu[x-placement^=left] {\n  right: auto;\n  bottom: auto;\n}\n\n.dropdown-divider {\n  height: 0;\n  margin: 0.5rem 0;\n  overflow: hidden;\n  border-top: 1px solid #e9ecef;\n}\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: 0.25rem 1.5rem;\n  clear: both;\n  font-weight: 400;\n  color: #212529;\n  text-align: inherit;\n  white-space: nowrap;\n  background-color: transparent;\n  border: 0;\n}\n.dropdown-item:hover, .dropdown-item:focus {\n  color: #16181b;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n.dropdown-item.active, .dropdown-item:active {\n  color: #fff;\n  text-decoration: none;\n  background-color: #007bff;\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n  color: #6c757d;\n  pointer-events: none;\n  background-color: transparent;\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n.dropdown-header {\n  display: block;\n  padding: 0.5rem 1.5rem;\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: #6c757d;\n  white-space: nowrap;\n}\n\n.dropdown-item-text {\n  display: block;\n  padding: 0.25rem 1.5rem;\n  color: #212529;\n}\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  flex: 1 1 auto;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover {\n  z-index: 1;\n}\n.btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n  z-index: 1;\n}\n\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n  width: auto;\n}\n\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) {\n  margin-left: -1px;\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:not(:first-child),\n.btn-group > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropright .dropdown-toggle-split::after {\n  margin-left: 0;\n}\n.dropleft .dropdown-toggle-split::before {\n  margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n  width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n  margin-top: -1px;\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.btn-group-toggle > .btn,\n.btn-group-toggle > .btn-group > .btn {\n  margin-bottom: 0;\n}\n.btn-group-toggle > .btn input[type=radio],\n.btn-group-toggle > .btn input[type=checkbox],\n.btn-group-toggle > .btn-group > .btn input[type=radio],\n.btn-group-toggle > .btn-group > .btn input[type=checkbox] {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n\n.input-group {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: stretch;\n  width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-control-plaintext,\n.input-group > .custom-select,\n.input-group > .custom-file {\n  position: relative;\n  flex: 1 1 0%;\n  min-width: 0;\n  margin-bottom: 0;\n}\n.input-group > .form-control + .form-control,\n.input-group > .form-control + .custom-select,\n.input-group > .form-control + .custom-file,\n.input-group > .form-control-plaintext + .form-control,\n.input-group > .form-control-plaintext + .custom-select,\n.input-group > .form-control-plaintext + .custom-file,\n.input-group > .custom-select + .form-control,\n.input-group > .custom-select + .custom-select,\n.input-group > .custom-select + .custom-file,\n.input-group > .custom-file + .form-control,\n.input-group > .custom-file + .custom-select,\n.input-group > .custom-file + .custom-file {\n  margin-left: -1px;\n}\n.input-group > .form-control:focus,\n.input-group > .custom-select:focus,\n.input-group > .custom-file .custom-file-input:focus ~ .custom-file-label {\n  z-index: 3;\n}\n.input-group > .custom-file .custom-file-input:focus {\n  z-index: 4;\n}\n.input-group > .form-control:not(:last-child),\n.input-group > .custom-select:not(:last-child) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group > .form-control:not(:first-child),\n.input-group > .custom-select:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.input-group > .custom-file {\n  display: flex;\n  align-items: center;\n}\n.input-group > .custom-file:not(:last-child) .custom-file-label, .input-group > .custom-file:not(:last-child) .custom-file-label::after {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group > .custom-file:not(:first-child) .custom-file-label {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.input-group-prepend,\n.input-group-append {\n  display: flex;\n}\n.input-group-prepend .btn,\n.input-group-append .btn {\n  position: relative;\n  z-index: 2;\n}\n.input-group-prepend .btn:focus,\n.input-group-append .btn:focus {\n  z-index: 3;\n}\n.input-group-prepend .btn + .btn,\n.input-group-prepend .btn + .input-group-text,\n.input-group-prepend .input-group-text + .input-group-text,\n.input-group-prepend .input-group-text + .btn,\n.input-group-append .btn + .btn,\n.input-group-append .btn + .input-group-text,\n.input-group-append .input-group-text + .input-group-text,\n.input-group-append .input-group-text + .btn {\n  margin-left: -1px;\n}\n\n.input-group-prepend {\n  margin-right: -1px;\n}\n\n.input-group-append {\n  margin-left: -1px;\n}\n\n.input-group-text {\n  display: flex;\n  align-items: center;\n  padding: 0.375rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #e9ecef;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n.input-group-text input[type=radio],\n.input-group-text input[type=checkbox] {\n  margin-top: 0;\n}\n\n.input-group-lg > .form-control:not(textarea),\n.input-group-lg > .custom-select {\n  height: calc(1.5em + 1rem + 2px);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .custom-select,\n.input-group-lg > .input-group-prepend > .input-group-text,\n.input-group-lg > .input-group-append > .input-group-text,\n.input-group-lg > .input-group-prepend > .btn,\n.input-group-lg > .input-group-append > .btn {\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n  border-radius: 0.3rem;\n}\n\n.input-group-sm > .form-control:not(textarea),\n.input-group-sm > .custom-select {\n  height: calc(1.5em + 0.5rem + 2px);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .custom-select,\n.input-group-sm > .input-group-prepend > .input-group-text,\n.input-group-sm > .input-group-append > .input-group-text,\n.input-group-sm > .input-group-prepend > .btn,\n.input-group-sm > .input-group-append > .btn {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n  border-radius: 0.2rem;\n}\n\n.input-group-lg > .custom-select,\n.input-group-sm > .custom-select {\n  padding-right: 1.75rem;\n}\n\n.input-group > .input-group-prepend > .btn,\n.input-group > .input-group-prepend > .input-group-text,\n.input-group > .input-group-append:not(:last-child) > .btn,\n.input-group > .input-group-append:not(:last-child) > .input-group-text,\n.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n\n.input-group > .input-group-append > .btn,\n.input-group > .input-group-append > .input-group-text,\n.input-group > .input-group-prepend:not(:first-child) > .btn,\n.input-group > .input-group-prepend:not(:first-child) > .input-group-text,\n.input-group > .input-group-prepend:first-child > .btn:not(:first-child),\n.input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.custom-control {\n  position: relative;\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5rem;\n}\n\n.custom-control-inline {\n  display: inline-flex;\n  margin-right: 1rem;\n}\n\n.custom-control-input {\n  position: absolute;\n  left: 0;\n  z-index: -1;\n  width: 1rem;\n  height: 1.25rem;\n  opacity: 0;\n}\n.custom-control-input:checked ~ .custom-control-label::before {\n  color: #fff;\n  border-color: #007bff;\n  background-color: #007bff;\n}\n.custom-control-input:focus ~ .custom-control-label::before {\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-control-input:focus:not(:checked) ~ .custom-control-label::before {\n  border-color: #80bdff;\n}\n.custom-control-input:not(:disabled):active ~ .custom-control-label::before {\n  color: #fff;\n  background-color: #b3d7ff;\n  border-color: #b3d7ff;\n}\n.custom-control-input[disabled] ~ .custom-control-label, .custom-control-input:disabled ~ .custom-control-label {\n  color: #6c757d;\n}\n.custom-control-input[disabled] ~ .custom-control-label::before, .custom-control-input:disabled ~ .custom-control-label::before {\n  background-color: #e9ecef;\n}\n\n.custom-control-label {\n  position: relative;\n  margin-bottom: 0;\n  vertical-align: top;\n}\n.custom-control-label::before {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  pointer-events: none;\n  content: \"\";\n  background-color: #fff;\n  border: #adb5bd solid 1px;\n}\n.custom-control-label::after {\n  position: absolute;\n  top: 0.25rem;\n  left: -1.5rem;\n  display: block;\n  width: 1rem;\n  height: 1rem;\n  content: \"\";\n  background: no-repeat 50%/50% 50%;\n}\n\n.custom-checkbox .custom-control-label::before {\n  border-radius: 0.25rem;\n}\n.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e\");\n}\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {\n  border-color: #007bff;\n  background-color: #007bff;\n}\n.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e\");\n}\n.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-radio .custom-control-label::before {\n  border-radius: 50%;\n}\n.custom-radio .custom-control-input:checked ~ .custom-control-label::after {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-switch {\n  padding-left: 2.25rem;\n}\n.custom-switch .custom-control-label::before {\n  left: -2.25rem;\n  width: 1.75rem;\n  pointer-events: all;\n  border-radius: 0.5rem;\n}\n.custom-switch .custom-control-label::after {\n  top: calc(0.25rem + 2px);\n  left: calc(-2.25rem + 2px);\n  width: calc(1rem - 4px);\n  height: calc(1rem - 4px);\n  background-color: #adb5bd;\n  border-radius: 0.5rem;\n  transition: transform 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .custom-switch .custom-control-label::after {\n    transition: none;\n  }\n}\n.custom-switch .custom-control-input:checked ~ .custom-control-label::after {\n  background-color: #fff;\n  transform: translateX(0.75rem);\n}\n.custom-switch .custom-control-input:disabled:checked ~ .custom-control-label::before {\n  background-color: rgba(0, 123, 255, 0.5);\n}\n\n.custom-select {\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 1.75rem 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  vertical-align: middle;\n  background: #fff url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e\") no-repeat right 0.75rem center/8px 10px;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n.custom-select:focus {\n  border-color: #80bdff;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-select:focus::-ms-value {\n  color: #495057;\n  background-color: #fff;\n}\n.custom-select[multiple], .custom-select[size]:not([size=\"1\"]) {\n  height: auto;\n  padding-right: 0.75rem;\n  background-image: none;\n}\n.custom-select:disabled {\n  color: #6c757d;\n  background-color: #e9ecef;\n}\n.custom-select::-ms-expand {\n  display: none;\n}\n.custom-select:-moz-focusring {\n  color: transparent;\n  text-shadow: 0 0 0 #495057;\n}\n\n.custom-select-sm {\n  height: calc(1.5em + 0.5rem + 2px);\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n  padding-left: 0.5rem;\n  font-size: 0.875rem;\n}\n\n.custom-select-lg {\n  height: calc(1.5em + 1rem + 2px);\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 1rem;\n  font-size: 1.25rem;\n}\n\n.custom-file {\n  position: relative;\n  display: inline-block;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin-bottom: 0;\n}\n\n.custom-file-input {\n  position: relative;\n  z-index: 2;\n  width: 100%;\n  height: calc(1.5em + 0.75rem + 2px);\n  margin: 0;\n  opacity: 0;\n}\n.custom-file-input:focus ~ .custom-file-label {\n  border-color: #80bdff;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-file-input[disabled] ~ .custom-file-label, .custom-file-input:disabled ~ .custom-file-label {\n  background-color: #e9ecef;\n}\n.custom-file-input:lang(en) ~ .custom-file-label::after {\n  content: \"Browse\";\n}\n.custom-file-input ~ .custom-file-label[data-browse]::after {\n  content: attr(data-browse);\n}\n\n.custom-file-label {\n  position: absolute;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1;\n  height: calc(1.5em + 0.75rem + 2px);\n  padding: 0.375rem 0.75rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: #495057;\n  background-color: #fff;\n  border: 1px solid #ced4da;\n  border-radius: 0.25rem;\n}\n.custom-file-label::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 3;\n  display: block;\n  height: calc(1.5em + 0.75rem);\n  padding: 0.375rem 0.75rem;\n  line-height: 1.5;\n  color: #495057;\n  content: \"Browse\";\n  background-color: #e9ecef;\n  border-left: inherit;\n  border-radius: 0 0.25rem 0.25rem 0;\n}\n\n.custom-range {\n  width: 100%;\n  height: 1.4rem;\n  padding: 0;\n  background-color: transparent;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n.custom-range:focus {\n  outline: none;\n}\n.custom-range:focus::-webkit-slider-thumb {\n  box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-range:focus::-moz-range-thumb {\n  box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-range:focus::-ms-thumb {\n  box-shadow: 0 0 0 1px #ffffff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n.custom-range::-moz-focus-outer {\n  border: 0;\n}\n.custom-range::-webkit-slider-thumb {\n  width: 1rem;\n  height: 1rem;\n  margin-top: -0.25rem;\n  background-color: #007bff;\n  border: 0;\n  border-radius: 1rem;\n  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  -webkit-appearance: none;\n          appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n  .custom-range::-webkit-slider-thumb {\n    -webkit-transition: none;\n    transition: none;\n  }\n}\n.custom-range::-webkit-slider-thumb:active {\n  background-color: #b3d7ff;\n}\n.custom-range::-webkit-slider-runnable-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: #dee2e6;\n  border-color: transparent;\n  border-radius: 1rem;\n}\n.custom-range::-moz-range-thumb {\n  width: 1rem;\n  height: 1rem;\n  background-color: #007bff;\n  border: 0;\n  border-radius: 1rem;\n  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  -moz-appearance: none;\n       appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n  .custom-range::-moz-range-thumb {\n    -moz-transition: none;\n    transition: none;\n  }\n}\n.custom-range::-moz-range-thumb:active {\n  background-color: #b3d7ff;\n}\n.custom-range::-moz-range-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: #dee2e6;\n  border-color: transparent;\n  border-radius: 1rem;\n}\n.custom-range::-ms-thumb {\n  width: 1rem;\n  height: 1rem;\n  margin-top: 0;\n  margin-right: 0.2rem;\n  margin-left: 0.2rem;\n  background-color: #007bff;\n  border: 0;\n  border-radius: 1rem;\n  -ms-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  appearance: none;\n}\n@media (prefers-reduced-motion: reduce) {\n  .custom-range::-ms-thumb {\n    -ms-transition: none;\n    transition: none;\n  }\n}\n.custom-range::-ms-thumb:active {\n  background-color: #b3d7ff;\n}\n.custom-range::-ms-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: transparent;\n  border-color: transparent;\n  border-width: 0.5rem;\n}\n.custom-range::-ms-fill-lower {\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n.custom-range::-ms-fill-upper {\n  margin-right: 15px;\n  background-color: #dee2e6;\n  border-radius: 1rem;\n}\n.custom-range:disabled::-webkit-slider-thumb {\n  background-color: #adb5bd;\n}\n.custom-range:disabled::-webkit-slider-runnable-track {\n  cursor: default;\n}\n.custom-range:disabled::-moz-range-thumb {\n  background-color: #adb5bd;\n}\n.custom-range:disabled::-moz-range-track {\n  cursor: default;\n}\n.custom-range:disabled::-ms-thumb {\n  background-color: #adb5bd;\n}\n\n.custom-control-label::before,\n.custom-file-label,\n.custom-select {\n  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .custom-control-label::before,\n.custom-file-label,\n.custom-select {\n    transition: none;\n  }\n}\n\n.nav {\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: 0.5rem 1rem;\n}\n.nav-link:hover, .nav-link:focus {\n  text-decoration: none;\n}\n.nav-link.disabled {\n  color: #6c757d;\n  pointer-events: none;\n  cursor: default;\n}\n\n.nav-tabs {\n  border-bottom: 1px solid #dee2e6;\n}\n.nav-tabs .nav-item {\n  margin-bottom: -1px;\n}\n.nav-tabs .nav-link {\n  border: 1px solid transparent;\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n  border-color: #e9ecef #e9ecef #dee2e6;\n}\n.nav-tabs .nav-link.disabled {\n  color: #6c757d;\n  background-color: transparent;\n  border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n  color: #495057;\n  background-color: #ffffff;\n  border-color: #dee2e6 #dee2e6 #ffffff;\n}\n.nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav-pills .nav-link {\n  border-radius: 0.25rem;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: #fff;\n  background-color: #007bff;\n}\n\n.nav-fill .nav-item {\n  flex: 1 1 auto;\n  text-align: center;\n}\n\n.nav-justified .nav-item {\n  flex-basis: 0;\n  flex-grow: 1;\n  text-align: center;\n}\n\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n\n.navbar {\n  position: relative;\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  padding: 0.5rem 1rem;\n}\n.navbar .container,\n.navbar .container-fluid,\n.navbar .container-sm,\n.navbar .container-md,\n.navbar .container-lg,\n.navbar .container-xl {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n}\n.navbar-brand {\n  display: inline-block;\n  padding-top: 0.3125rem;\n  padding-bottom: 0.3125rem;\n  margin-right: 1rem;\n  font-size: 1.25rem;\n  line-height: inherit;\n  white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n  text-decoration: none;\n}\n\n.navbar-nav {\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.navbar-nav .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n}\n.navbar-nav .dropdown-menu {\n  position: static;\n  float: none;\n}\n\n.navbar-text {\n  display: inline-block;\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n}\n\n.navbar-collapse {\n  flex-basis: 100%;\n  flex-grow: 1;\n  align-items: center;\n}\n\n.navbar-toggler {\n  padding: 0.25rem 0.75rem;\n  font-size: 1.25rem;\n  line-height: 1;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n.navbar-toggler:hover, .navbar-toggler:focus {\n  text-decoration: none;\n}\n\n.navbar-toggler-icon {\n  display: inline-block;\n  width: 1.5em;\n  height: 1.5em;\n  vertical-align: middle;\n  content: \"\";\n  background: no-repeat center center;\n  background-size: 100% 100%;\n}\n\n@media (max-width: 575.98px) {\n  .navbar-expand-sm > .container,\n.navbar-expand-sm > .container-fluid,\n.navbar-expand-sm > .container-sm,\n.navbar-expand-sm > .container-md,\n.navbar-expand-sm > .container-lg,\n.navbar-expand-sm > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-sm .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-sm > .container,\n.navbar-expand-sm > .container-fluid,\n.navbar-expand-sm > .container-sm,\n.navbar-expand-sm > .container-md,\n.navbar-expand-sm > .container-lg,\n.navbar-expand-sm > .container-xl {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-sm .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-sm .navbar-toggler {\n    display: none;\n  }\n}\n@media (max-width: 767.98px) {\n  .navbar-expand-md > .container,\n.navbar-expand-md > .container-fluid,\n.navbar-expand-md > .container-sm,\n.navbar-expand-md > .container-md,\n.navbar-expand-md > .container-lg,\n.navbar-expand-md > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n@media (min-width: 768px) {\n  .navbar-expand-md {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-md > .container,\n.navbar-expand-md > .container-fluid,\n.navbar-expand-md > .container-sm,\n.navbar-expand-md > .container-md,\n.navbar-expand-md > .container-lg,\n.navbar-expand-md > .container-xl {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-md .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-md .navbar-toggler {\n    display: none;\n  }\n}\n@media (max-width: 991.98px) {\n  .navbar-expand-lg > .container,\n.navbar-expand-lg > .container-fluid,\n.navbar-expand-lg > .container-sm,\n.navbar-expand-lg > .container-md,\n.navbar-expand-lg > .container-lg,\n.navbar-expand-lg > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n@media (min-width: 992px) {\n  .navbar-expand-lg {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-lg .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-lg > .container,\n.navbar-expand-lg > .container-fluid,\n.navbar-expand-lg > .container-sm,\n.navbar-expand-lg > .container-md,\n.navbar-expand-lg > .container-lg,\n.navbar-expand-lg > .container-xl {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-lg .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-lg .navbar-toggler {\n    display: none;\n  }\n}\n@media (max-width: 1199.98px) {\n  .navbar-expand-xl > .container,\n.navbar-expand-xl > .container-fluid,\n.navbar-expand-xl > .container-sm,\n.navbar-expand-xl > .container-md,\n.navbar-expand-xl > .container-lg,\n.navbar-expand-xl > .container-xl {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n@media (min-width: 1200px) {\n  .navbar-expand-xl {\n    flex-flow: row nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xl .navbar-nav .nav-link {\n    padding-right: 0.5rem;\n    padding-left: 0.5rem;\n  }\n  .navbar-expand-xl > .container,\n.navbar-expand-xl > .container-fluid,\n.navbar-expand-xl > .container-sm,\n.navbar-expand-xl > .container-md,\n.navbar-expand-xl > .container-lg,\n.navbar-expand-xl > .container-xl {\n    flex-wrap: nowrap;\n  }\n  .navbar-expand-xl .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-xl .navbar-toggler {\n    display: none;\n  }\n}\n.navbar-expand {\n  flex-flow: row nowrap;\n  justify-content: flex-start;\n}\n.navbar-expand > .container,\n.navbar-expand > .container-fluid,\n.navbar-expand > .container-sm,\n.navbar-expand > .container-md,\n.navbar-expand > .container-lg,\n.navbar-expand > .container-xl {\n  padding-right: 0;\n  padding-left: 0;\n}\n.navbar-expand .navbar-nav {\n  flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n  position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n  padding-right: 0.5rem;\n  padding-left: 0.5rem;\n}\n.navbar-expand > .container,\n.navbar-expand > .container-fluid,\n.navbar-expand > .container-sm,\n.navbar-expand > .container-md,\n.navbar-expand > .container-lg,\n.navbar-expand > .container-xl {\n  flex-wrap: nowrap;\n}\n.navbar-expand .navbar-collapse {\n  display: flex !important;\n  flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n  display: none;\n}\n\n.navbar-light .navbar-brand {\n  color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {\n  color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-nav .nav-link {\n  color: rgba(0, 0, 0, 0.5);\n}\n.navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {\n  color: rgba(0, 0, 0, 0.7);\n}\n.navbar-light .navbar-nav .nav-link.disabled {\n  color: rgba(0, 0, 0, 0.3);\n}\n.navbar-light .navbar-nav .show > .nav-link,\n.navbar-light .navbar-nav .active > .nav-link,\n.navbar-light .navbar-nav .nav-link.show,\n.navbar-light .navbar-nav .nav-link.active {\n  color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-toggler {\n  color: rgba(0, 0, 0, 0.5);\n  border-color: rgba(0, 0, 0, 0.1);\n}\n.navbar-light .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-light .navbar-text {\n  color: rgba(0, 0, 0, 0.5);\n}\n.navbar-light .navbar-text a {\n  color: rgba(0, 0, 0, 0.9);\n}\n.navbar-light .navbar-text a:hover, .navbar-light .navbar-text a:focus {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.navbar-dark .navbar-brand {\n  color: #fff;\n}\n.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {\n  color: #fff;\n}\n.navbar-dark .navbar-nav .nav-link {\n  color: rgba(255, 255, 255, 0.5);\n}\n.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {\n  color: rgba(255, 255, 255, 0.75);\n}\n.navbar-dark .navbar-nav .nav-link.disabled {\n  color: rgba(255, 255, 255, 0.25);\n}\n.navbar-dark .navbar-nav .show > .nav-link,\n.navbar-dark .navbar-nav .active > .nav-link,\n.navbar-dark .navbar-nav .nav-link.show,\n.navbar-dark .navbar-nav .nav-link.active {\n  color: #fff;\n}\n.navbar-dark .navbar-toggler {\n  color: rgba(255, 255, 255, 0.5);\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.navbar-dark .navbar-toggler-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n.navbar-dark .navbar-text {\n  color: rgba(255, 255, 255, 0.5);\n}\n.navbar-dark .navbar-text a {\n  color: #fff;\n}\n.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus {\n  color: #fff;\n}\n\n.card {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: border-box;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n  border-radius: 0.25rem;\n}\n.card > hr {\n  margin-right: 0;\n  margin-left: 0;\n}\n.card > .list-group:first-child .list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n.card > .list-group:last-child .list-group-item:last-child {\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n\n.card-body {\n  flex: 1 1 auto;\n  min-height: 1px;\n  padding: 1.25rem;\n}\n\n.card-title {\n  margin-bottom: 0.75rem;\n}\n\n.card-subtitle {\n  margin-top: -0.375rem;\n  margin-bottom: 0;\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link:hover {\n  text-decoration: none;\n}\n.card-link + .card-link {\n  margin-left: 1.25rem;\n}\n\n.card-header {\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 0;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-bottom: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-header:first-child {\n  border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;\n}\n.card-header + .list-group .list-group-item:first-child {\n  border-top: 0;\n}\n\n.card-footer {\n  padding: 0.75rem 1.25rem;\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(0, 0, 0, 0.125);\n}\n.card-footer:last-child {\n  border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px);\n}\n\n.card-header-tabs {\n  margin-right: -0.625rem;\n  margin-bottom: -0.75rem;\n  margin-left: -0.625rem;\n  border-bottom: 0;\n}\n\n.card-header-pills {\n  margin-right: -0.625rem;\n  margin-left: -0.625rem;\n}\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: 1.25rem;\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n  flex-shrink: 0;\n  width: 100%;\n}\n\n.card-img,\n.card-img-top {\n  border-top-left-radius: calc(0.25rem - 1px);\n  border-top-right-radius: calc(0.25rem - 1px);\n}\n\n.card-img,\n.card-img-bottom {\n  border-bottom-right-radius: calc(0.25rem - 1px);\n  border-bottom-left-radius: calc(0.25rem - 1px);\n}\n\n.card-deck .card {\n  margin-bottom: 15px;\n}\n@media (min-width: 576px) {\n  .card-deck {\n    display: flex;\n    flex-flow: row wrap;\n    margin-right: -15px;\n    margin-left: -15px;\n  }\n  .card-deck .card {\n    flex: 1 0 0%;\n    margin-right: 15px;\n    margin-bottom: 0;\n    margin-left: 15px;\n  }\n}\n\n.card-group > .card {\n  margin-bottom: 15px;\n}\n@media (min-width: 576px) {\n  .card-group {\n    display: flex;\n    flex-flow: row wrap;\n  }\n  .card-group > .card {\n    flex: 1 0 0%;\n    margin-bottom: 0;\n  }\n  .card-group > .card + .card {\n    margin-left: 0;\n    border-left: 0;\n  }\n  .card-group > .card:not(:last-child) {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .card-group > .card:not(:last-child) .card-img-top,\n.card-group > .card:not(:last-child) .card-header {\n    border-top-right-radius: 0;\n  }\n  .card-group > .card:not(:last-child) .card-img-bottom,\n.card-group > .card:not(:last-child) .card-footer {\n    border-bottom-right-radius: 0;\n  }\n  .card-group > .card:not(:first-child) {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n  .card-group > .card:not(:first-child) .card-img-top,\n.card-group > .card:not(:first-child) .card-header {\n    border-top-left-radius: 0;\n  }\n  .card-group > .card:not(:first-child) .card-img-bottom,\n.card-group > .card:not(:first-child) .card-footer {\n    border-bottom-left-radius: 0;\n  }\n}\n\n.card-columns .card {\n  margin-bottom: 0.75rem;\n}\n@media (min-width: 576px) {\n  .card-columns {\n    -moz-column-count: 3;\n         column-count: 3;\n    -moz-column-gap: 1.25rem;\n         column-gap: 1.25rem;\n    orphans: 1;\n    widows: 1;\n  }\n  .card-columns .card {\n    display: inline-block;\n    width: 100%;\n  }\n}\n\n.accordion > .card {\n  overflow: hidden;\n}\n.accordion > .card:not(:last-of-type) {\n  border-bottom: 0;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.accordion > .card:not(:first-of-type) {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n.accordion > .card > .card-header {\n  border-radius: 0;\n  margin-bottom: -1px;\n}\n\n.breadcrumb {\n  display: flex;\n  flex-wrap: wrap;\n  padding: 0.75rem 1rem;\n  margin-bottom: 1rem;\n  list-style: none;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.breadcrumb-item + .breadcrumb-item {\n  padding-left: 0.5rem;\n}\n.breadcrumb-item + .breadcrumb-item::before {\n  display: inline-block;\n  padding-right: 0.5rem;\n  color: #6c757d;\n  content: \"/\";\n}\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: underline;\n}\n.breadcrumb-item + .breadcrumb-item:hover::before {\n  text-decoration: none;\n}\n.breadcrumb-item.active {\n  color: #6c757d;\n}\n\n.pagination {\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n  border-radius: 0.25rem;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: 0.5rem 0.75rem;\n  margin-left: -1px;\n  line-height: 1.25;\n  color: #007bff;\n  background-color: #fff;\n  border: 1px solid #dee2e6;\n}\n.page-link:hover {\n  z-index: 2;\n  color: #0056b3;\n  text-decoration: none;\n  background-color: #e9ecef;\n  border-color: #dee2e6;\n}\n.page-link:focus {\n  z-index: 3;\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);\n}\n\n.page-item:first-child .page-link {\n  margin-left: 0;\n  border-top-left-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n.page-item:last-child .page-link {\n  border-top-right-radius: 0.25rem;\n  border-bottom-right-radius: 0.25rem;\n}\n.page-item.active .page-link {\n  z-index: 3;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.page-item.disabled .page-link {\n  color: #6c757d;\n  pointer-events: none;\n  cursor: auto;\n  background-color: #fff;\n  border-color: #dee2e6;\n}\n\n.pagination-lg .page-link {\n  padding: 0.75rem 1.5rem;\n  font-size: 1.25rem;\n  line-height: 1.5;\n}\n.pagination-lg .page-item:first-child .page-link {\n  border-top-left-radius: 0.3rem;\n  border-bottom-left-radius: 0.3rem;\n}\n.pagination-lg .page-item:last-child .page-link {\n  border-top-right-radius: 0.3rem;\n  border-bottom-right-radius: 0.3rem;\n}\n\n.pagination-sm .page-link {\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  line-height: 1.5;\n}\n.pagination-sm .page-item:first-child .page-link {\n  border-top-left-radius: 0.2rem;\n  border-bottom-left-radius: 0.2rem;\n}\n.pagination-sm .page-item:last-child .page-link {\n  border-top-right-radius: 0.2rem;\n  border-bottom-right-radius: 0.2rem;\n}\n\n.badge {\n  display: inline-block;\n  padding: 0.25em 0.4em;\n  font-size: 75%;\n  font-weight: 700;\n  line-height: 1;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: 0.25rem;\n  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .badge {\n    transition: none;\n  }\n}\na.badge:hover, a.badge:focus {\n  text-decoration: none;\n}\n\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.badge-pill {\n  padding-right: 0.6em;\n  padding-left: 0.6em;\n  border-radius: 10rem;\n}\n\n.badge-primary {\n  color: #fff;\n  background-color: #007bff;\n}\na.badge-primary:hover, a.badge-primary:focus {\n  color: #fff;\n  background-color: #0062cc;\n}\na.badge-primary:focus, a.badge-primary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);\n}\n\n.badge-secondary {\n  color: #fff;\n  background-color: #6c757d;\n}\na.badge-secondary:hover, a.badge-secondary:focus {\n  color: #fff;\n  background-color: #545b62;\n}\na.badge-secondary:focus, a.badge-secondary.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.badge-success {\n  color: #fff;\n  background-color: #28a745;\n}\na.badge-success:hover, a.badge-success:focus {\n  color: #fff;\n  background-color: #1e7e34;\n}\na.badge-success:focus, a.badge-success.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.badge-info {\n  color: #fff;\n  background-color: #17a2b8;\n}\na.badge-info:hover, a.badge-info:focus {\n  color: #fff;\n  background-color: #117a8b;\n}\na.badge-info:focus, a.badge-info.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.badge-warning {\n  color: #212529;\n  background-color: #ffc107;\n}\na.badge-warning:hover, a.badge-warning:focus {\n  color: #212529;\n  background-color: #d39e00;\n}\na.badge-warning:focus, a.badge-warning.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.badge-danger {\n  color: #fff;\n  background-color: #dc3545;\n}\na.badge-danger:hover, a.badge-danger:focus {\n  color: #fff;\n  background-color: #bd2130;\n}\na.badge-danger:focus, a.badge-danger.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.badge-light {\n  color: #212529;\n  background-color: #f8f9fa;\n}\na.badge-light:hover, a.badge-light:focus {\n  color: #212529;\n  background-color: #dae0e5;\n}\na.badge-light:focus, a.badge-light.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.badge-dark {\n  color: #fff;\n  background-color: #343a40;\n}\na.badge-dark:hover, a.badge-dark:focus {\n  color: #fff;\n  background-color: #1d2124;\n}\na.badge-dark:focus, a.badge-dark.focus {\n  outline: 0;\n  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.jumbotron {\n  padding: 2rem 1rem;\n  margin-bottom: 2rem;\n  background-color: #e9ecef;\n  border-radius: 0.3rem;\n}\n@media (min-width: 576px) {\n  .jumbotron {\n    padding: 4rem 2rem;\n  }\n}\n\n.jumbotron-fluid {\n  padding-right: 0;\n  padding-left: 0;\n  border-radius: 0;\n}\n\n.alert {\n  position: relative;\n  padding: 0.75rem 1.25rem;\n  margin-bottom: 1rem;\n  border: 1px solid transparent;\n  border-radius: 0.25rem;\n}\n\n.alert-heading {\n  color: inherit;\n}\n\n.alert-link {\n  font-weight: 700;\n}\n\n.alert-dismissible {\n  padding-right: 4rem;\n}\n.alert-dismissible .close {\n  position: absolute;\n  top: 0;\n  right: 0;\n  padding: 0.75rem 1.25rem;\n  color: inherit;\n}\n\n.alert-primary {\n  color: #004085;\n  background-color: #cce5ff;\n  border-color: #b8daff;\n}\n.alert-primary hr {\n  border-top-color: #9fcdff;\n}\n.alert-primary .alert-link {\n  color: #002752;\n}\n\n.alert-secondary {\n  color: #383d41;\n  background-color: #e2e3e5;\n  border-color: #d6d8db;\n}\n.alert-secondary hr {\n  border-top-color: #c8cbcf;\n}\n.alert-secondary .alert-link {\n  color: #202326;\n}\n\n.alert-success {\n  color: #155724;\n  background-color: #d4edda;\n  border-color: #c3e6cb;\n}\n.alert-success hr {\n  border-top-color: #b1dfbb;\n}\n.alert-success .alert-link {\n  color: #0b2e13;\n}\n\n.alert-info {\n  color: #0c5460;\n  background-color: #d1ecf1;\n  border-color: #bee5eb;\n}\n.alert-info hr {\n  border-top-color: #abdde5;\n}\n.alert-info .alert-link {\n  color: #062c33;\n}\n\n.alert-warning {\n  color: #856404;\n  background-color: #fff3cd;\n  border-color: #ffeeba;\n}\n.alert-warning hr {\n  border-top-color: #ffe8a1;\n}\n.alert-warning .alert-link {\n  color: #533f03;\n}\n\n.alert-danger {\n  color: #721c24;\n  background-color: #f8d7da;\n  border-color: #f5c6cb;\n}\n.alert-danger hr {\n  border-top-color: #f1b0b7;\n}\n.alert-danger .alert-link {\n  color: #491217;\n}\n\n.alert-light {\n  color: #818182;\n  background-color: #fefefe;\n  border-color: #fdfdfe;\n}\n.alert-light hr {\n  border-top-color: #ececf6;\n}\n.alert-light .alert-link {\n  color: #686868;\n}\n\n.alert-dark {\n  color: #1b1e21;\n  background-color: #d6d8d9;\n  border-color: #c6c8ca;\n}\n.alert-dark hr {\n  border-top-color: #b9bbbe;\n}\n.alert-dark .alert-link {\n  color: #040505;\n}\n\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 1rem 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.progress {\n  display: flex;\n  height: 1rem;\n  overflow: hidden;\n  font-size: 0.75rem;\n  background-color: #e9ecef;\n  border-radius: 0.25rem;\n}\n\n.progress-bar {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  overflow: hidden;\n  color: #fff;\n  text-align: center;\n  white-space: nowrap;\n  background-color: #007bff;\n  transition: width 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .progress-bar {\n    transition: none;\n  }\n}\n\n.progress-bar-striped {\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 1rem 1rem;\n}\n\n.progress-bar-animated {\n  -webkit-animation: progress-bar-stripes 1s linear infinite;\n          animation: progress-bar-stripes 1s linear infinite;\n}\n@media (prefers-reduced-motion: reduce) {\n  .progress-bar-animated {\n    -webkit-animation: none;\n            animation: none;\n  }\n}\n\n.media {\n  display: flex;\n  align-items: flex-start;\n}\n\n.media-body {\n  flex: 1;\n}\n\n.list-group {\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n}\n\n.list-group-item-action {\n  width: 100%;\n  color: #495057;\n  text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n  z-index: 1;\n  color: #495057;\n  text-decoration: none;\n  background-color: #f8f9fa;\n}\n.list-group-item-action:active {\n  color: #212529;\n  background-color: #e9ecef;\n}\n\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: 0.75rem 1.25rem;\n  background-color: #fff;\n  border: 1px solid rgba(0, 0, 0, 0.125);\n}\n.list-group-item:first-child {\n  border-top-left-radius: 0.25rem;\n  border-top-right-radius: 0.25rem;\n}\n.list-group-item:last-child {\n  border-bottom-right-radius: 0.25rem;\n  border-bottom-left-radius: 0.25rem;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n  color: #6c757d;\n  pointer-events: none;\n  background-color: #fff;\n}\n.list-group-item.active {\n  z-index: 2;\n  color: #fff;\n  background-color: #007bff;\n  border-color: #007bff;\n}\n.list-group-item + .list-group-item {\n  border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n  margin-top: -1px;\n  border-top-width: 1px;\n}\n\n.list-group-horizontal {\n  flex-direction: row;\n}\n.list-group-horizontal .list-group-item:first-child {\n  border-bottom-left-radius: 0.25rem;\n  border-top-right-radius: 0;\n}\n.list-group-horizontal .list-group-item:last-child {\n  border-top-right-radius: 0.25rem;\n  border-bottom-left-radius: 0;\n}\n.list-group-horizontal .list-group-item.active {\n  margin-top: 0;\n}\n.list-group-horizontal .list-group-item + .list-group-item {\n  border-top-width: 1px;\n  border-left-width: 0;\n}\n.list-group-horizontal .list-group-item + .list-group-item.active {\n  margin-left: -1px;\n  border-left-width: 1px;\n}\n\n@media (min-width: 576px) {\n  .list-group-horizontal-sm {\n    flex-direction: row;\n  }\n  .list-group-horizontal-sm .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-sm .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-sm .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-sm .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-sm .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n@media (min-width: 768px) {\n  .list-group-horizontal-md {\n    flex-direction: row;\n  }\n  .list-group-horizontal-md .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-md .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-md .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-md .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-md .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n@media (min-width: 992px) {\n  .list-group-horizontal-lg {\n    flex-direction: row;\n  }\n  .list-group-horizontal-lg .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-lg .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-lg .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-lg .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-lg .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n@media (min-width: 1200px) {\n  .list-group-horizontal-xl {\n    flex-direction: row;\n  }\n  .list-group-horizontal-xl .list-group-item:first-child {\n    border-bottom-left-radius: 0.25rem;\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-xl .list-group-item:last-child {\n    border-top-right-radius: 0.25rem;\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-xl .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-xl .list-group-item + .list-group-item {\n    border-top-width: 1px;\n    border-left-width: 0;\n  }\n  .list-group-horizontal-xl .list-group-item + .list-group-item.active {\n    margin-left: -1px;\n    border-left-width: 1px;\n  }\n}\n.list-group-flush .list-group-item {\n  border-right-width: 0;\n  border-left-width: 0;\n  border-radius: 0;\n}\n.list-group-flush .list-group-item:first-child {\n  border-top-width: 0;\n}\n.list-group-flush:last-child .list-group-item:last-child {\n  border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n  color: #004085;\n  background-color: #b8daff;\n}\n.list-group-item-primary.list-group-item-action:hover, .list-group-item-primary.list-group-item-action:focus {\n  color: #004085;\n  background-color: #9fcdff;\n}\n.list-group-item-primary.list-group-item-action.active {\n  color: #fff;\n  background-color: #004085;\n  border-color: #004085;\n}\n\n.list-group-item-secondary {\n  color: #383d41;\n  background-color: #d6d8db;\n}\n.list-group-item-secondary.list-group-item-action:hover, .list-group-item-secondary.list-group-item-action:focus {\n  color: #383d41;\n  background-color: #c8cbcf;\n}\n.list-group-item-secondary.list-group-item-action.active {\n  color: #fff;\n  background-color: #383d41;\n  border-color: #383d41;\n}\n\n.list-group-item-success {\n  color: #155724;\n  background-color: #c3e6cb;\n}\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n  color: #155724;\n  background-color: #b1dfbb;\n}\n.list-group-item-success.list-group-item-action.active {\n  color: #fff;\n  background-color: #155724;\n  border-color: #155724;\n}\n\n.list-group-item-info {\n  color: #0c5460;\n  background-color: #bee5eb;\n}\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n  color: #0c5460;\n  background-color: #abdde5;\n}\n.list-group-item-info.list-group-item-action.active {\n  color: #fff;\n  background-color: #0c5460;\n  border-color: #0c5460;\n}\n\n.list-group-item-warning {\n  color: #856404;\n  background-color: #ffeeba;\n}\n.list-group-item-warning.list-group-item-action:hover, .list-group-item-warning.list-group-item-action:focus {\n  color: #856404;\n  background-color: #ffe8a1;\n}\n.list-group-item-warning.list-group-item-action.active {\n  color: #fff;\n  background-color: #856404;\n  border-color: #856404;\n}\n\n.list-group-item-danger {\n  color: #721c24;\n  background-color: #f5c6cb;\n}\n.list-group-item-danger.list-group-item-action:hover, .list-group-item-danger.list-group-item-action:focus {\n  color: #721c24;\n  background-color: #f1b0b7;\n}\n.list-group-item-danger.list-group-item-action.active {\n  color: #fff;\n  background-color: #721c24;\n  border-color: #721c24;\n}\n\n.list-group-item-light {\n  color: #818182;\n  background-color: #fdfdfe;\n}\n.list-group-item-light.list-group-item-action:hover, .list-group-item-light.list-group-item-action:focus {\n  color: #818182;\n  background-color: #ececf6;\n}\n.list-group-item-light.list-group-item-action.active {\n  color: #fff;\n  background-color: #818182;\n  border-color: #818182;\n}\n\n.list-group-item-dark {\n  color: #1b1e21;\n  background-color: #c6c8ca;\n}\n.list-group-item-dark.list-group-item-action:hover, .list-group-item-dark.list-group-item-action:focus {\n  color: #1b1e21;\n  background-color: #b9bbbe;\n}\n.list-group-item-dark.list-group-item-action.active {\n  color: #fff;\n  background-color: #1b1e21;\n  border-color: #1b1e21;\n}\n\n.close {\n  float: right;\n  font-size: 1.5rem;\n  font-weight: 700;\n  line-height: 1;\n  color: #000;\n  text-shadow: 0 1px 0 #fff;\n  opacity: 0.5;\n}\n.close:hover {\n  color: #000;\n  text-decoration: none;\n}\n.close:not(:disabled):not(.disabled):hover, .close:not(:disabled):not(.disabled):focus {\n  opacity: 0.75;\n}\n\nbutton.close {\n  padding: 0;\n  background-color: transparent;\n  border: 0;\n  -webkit-appearance: none;\n     -moz-appearance: none;\n          appearance: none;\n}\n\na.close.disabled {\n  pointer-events: none;\n}\n\n.toast {\n  max-width: 350px;\n  overflow: hidden;\n  font-size: 0.875rem;\n  background-color: rgba(255, 255, 255, 0.85);\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.1);\n  box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);\n  -webkit-backdrop-filter: blur(10px);\n          backdrop-filter: blur(10px);\n  opacity: 0;\n  border-radius: 0.25rem;\n}\n.toast:not(:last-child) {\n  margin-bottom: 0.75rem;\n}\n.toast.showing {\n  opacity: 1;\n}\n.toast.show {\n  display: block;\n  opacity: 1;\n}\n.toast.hide {\n  display: none;\n}\n\n.toast-header {\n  display: flex;\n  align-items: center;\n  padding: 0.25rem 0.75rem;\n  color: #6c757d;\n  background-color: rgba(255, 255, 255, 0.85);\n  background-clip: padding-box;\n  border-bottom: 1px solid rgba(0, 0, 0, 0.05);\n}\n\n.toast-body {\n  padding: 0.75rem;\n}\n\n.modal-open {\n  overflow: hidden;\n}\n.modal-open .modal {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.modal {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1050;\n  display: none;\n  width: 100%;\n  height: 100%;\n  overflow: hidden;\n  outline: 0;\n}\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: 0.5rem;\n  pointer-events: none;\n}\n.modal.fade .modal-dialog {\n  transition: transform 0.3s ease-out;\n  transform: translate(0, -50px);\n}\n@media (prefers-reduced-motion: reduce) {\n  .modal.fade .modal-dialog {\n    transition: none;\n  }\n}\n.modal.show .modal-dialog {\n  transform: none;\n}\n.modal.modal-static .modal-dialog {\n  transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n  display: flex;\n  max-height: calc(100% - 1rem);\n}\n.modal-dialog-scrollable .modal-content {\n  max-height: calc(100vh - 1rem);\n  overflow: hidden;\n}\n.modal-dialog-scrollable .modal-header,\n.modal-dialog-scrollable .modal-footer {\n  flex-shrink: 0;\n}\n.modal-dialog-scrollable .modal-body {\n  overflow-y: auto;\n}\n\n.modal-dialog-centered {\n  display: flex;\n  align-items: center;\n  min-height: calc(100% - 1rem);\n}\n.modal-dialog-centered::before {\n  display: block;\n  height: calc(100vh - 1rem);\n  content: \"\";\n}\n.modal-dialog-centered.modal-dialog-scrollable {\n  flex-direction: column;\n  justify-content: center;\n  height: 100%;\n}\n.modal-dialog-centered.modal-dialog-scrollable .modal-content {\n  max-height: none;\n}\n.modal-dialog-centered.modal-dialog-scrollable::before {\n  content: none;\n}\n\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  pointer-events: auto;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n  outline: 0;\n}\n\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1040;\n  width: 100vw;\n  height: 100vh;\n  background-color: #000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n}\n.modal-backdrop.show {\n  opacity: 0.5;\n}\n\n.modal-header {\n  display: flex;\n  align-items: flex-start;\n  justify-content: space-between;\n  padding: 1rem 1rem;\n  border-bottom: 1px solid #dee2e6;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n.modal-header .close {\n  padding: 1rem 1rem;\n  margin: -1rem -1rem -1rem auto;\n}\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: 1.5;\n}\n\n.modal-body {\n  position: relative;\n  flex: 1 1 auto;\n  padding: 1rem;\n}\n\n.modal-footer {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: flex-end;\n  padding: 0.75rem;\n  border-top: 1px solid #dee2e6;\n  border-bottom-right-radius: calc(0.3rem - 1px);\n  border-bottom-left-radius: calc(0.3rem - 1px);\n}\n.modal-footer > * {\n  margin: 0.25rem;\n}\n\n.modal-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n@media (min-width: 576px) {\n  .modal-dialog {\n    max-width: 500px;\n    margin: 1.75rem auto;\n  }\n\n  .modal-dialog-scrollable {\n    max-height: calc(100% - 3.5rem);\n  }\n  .modal-dialog-scrollable .modal-content {\n    max-height: calc(100vh - 3.5rem);\n  }\n\n  .modal-dialog-centered {\n    min-height: calc(100% - 3.5rem);\n  }\n  .modal-dialog-centered::before {\n    height: calc(100vh - 3.5rem);\n  }\n\n  .modal-sm {\n    max-width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg,\n.modal-xl {\n    max-width: 800px;\n  }\n}\n@media (min-width: 1200px) {\n  .modal-xl {\n    max-width: 1140px;\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1070;\n  display: block;\n  margin: 0;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  opacity: 0;\n}\n.tooltip.show {\n  opacity: 0.9;\n}\n.tooltip .arrow {\n  position: absolute;\n  display: block;\n  width: 0.8rem;\n  height: 0.4rem;\n}\n.tooltip .arrow::before {\n  position: absolute;\n  content: \"\";\n  border-color: transparent;\n  border-style: solid;\n}\n\n.bs-tooltip-top, .bs-tooltip-auto[x-placement^=top] {\n  padding: 0.4rem 0;\n}\n.bs-tooltip-top .arrow, .bs-tooltip-auto[x-placement^=top] .arrow {\n  bottom: 0;\n}\n.bs-tooltip-top .arrow::before, .bs-tooltip-auto[x-placement^=top] .arrow::before {\n  top: 0;\n  border-width: 0.4rem 0.4rem 0;\n  border-top-color: #000;\n}\n\n.bs-tooltip-right, .bs-tooltip-auto[x-placement^=right] {\n  padding: 0 0.4rem;\n}\n.bs-tooltip-right .arrow, .bs-tooltip-auto[x-placement^=right] .arrow {\n  left: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n.bs-tooltip-right .arrow::before, .bs-tooltip-auto[x-placement^=right] .arrow::before {\n  right: 0;\n  border-width: 0.4rem 0.4rem 0.4rem 0;\n  border-right-color: #000;\n}\n\n.bs-tooltip-bottom, .bs-tooltip-auto[x-placement^=bottom] {\n  padding: 0.4rem 0;\n}\n.bs-tooltip-bottom .arrow, .bs-tooltip-auto[x-placement^=bottom] .arrow {\n  top: 0;\n}\n.bs-tooltip-bottom .arrow::before, .bs-tooltip-auto[x-placement^=bottom] .arrow::before {\n  bottom: 0;\n  border-width: 0 0.4rem 0.4rem;\n  border-bottom-color: #000;\n}\n\n.bs-tooltip-left, .bs-tooltip-auto[x-placement^=left] {\n  padding: 0 0.4rem;\n}\n.bs-tooltip-left .arrow, .bs-tooltip-auto[x-placement^=left] .arrow {\n  right: 0;\n  width: 0.4rem;\n  height: 0.8rem;\n}\n.bs-tooltip-left .arrow::before, .bs-tooltip-auto[x-placement^=left] .arrow::before {\n  left: 0;\n  border-width: 0.4rem 0 0.4rem 0.4rem;\n  border-left-color: #000;\n}\n\n.tooltip-inner {\n  max-width: 200px;\n  padding: 0.25rem 0.5rem;\n  color: #fff;\n  text-align: center;\n  background-color: #000;\n  border-radius: 0.25rem;\n}\n\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1060;\n  display: block;\n  max-width: 276px;\n  font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  word-spacing: normal;\n  white-space: normal;\n  line-break: auto;\n  font-size: 0.875rem;\n  word-wrap: break-word;\n  background-color: #fff;\n  background-clip: padding-box;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 0.3rem;\n}\n.popover .arrow {\n  position: absolute;\n  display: block;\n  width: 1rem;\n  height: 0.5rem;\n  margin: 0 0.3rem;\n}\n.popover .arrow::before, .popover .arrow::after {\n  position: absolute;\n  display: block;\n  content: \"\";\n  border-color: transparent;\n  border-style: solid;\n}\n\n.bs-popover-top, .bs-popover-auto[x-placement^=top] {\n  margin-bottom: 0.5rem;\n}\n.bs-popover-top > .arrow, .bs-popover-auto[x-placement^=top] > .arrow {\n  bottom: calc(-0.5rem - 1px);\n}\n.bs-popover-top > .arrow::before, .bs-popover-auto[x-placement^=top] > .arrow::before {\n  bottom: 0;\n  border-width: 0.5rem 0.5rem 0;\n  border-top-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-top > .arrow::after, .bs-popover-auto[x-placement^=top] > .arrow::after {\n  bottom: 1px;\n  border-width: 0.5rem 0.5rem 0;\n  border-top-color: #fff;\n}\n\n.bs-popover-right, .bs-popover-auto[x-placement^=right] {\n  margin-left: 0.5rem;\n}\n.bs-popover-right > .arrow, .bs-popover-auto[x-placement^=right] > .arrow {\n  left: calc(-0.5rem - 1px);\n  width: 0.5rem;\n  height: 1rem;\n  margin: 0.3rem 0;\n}\n.bs-popover-right > .arrow::before, .bs-popover-auto[x-placement^=right] > .arrow::before {\n  left: 0;\n  border-width: 0.5rem 0.5rem 0.5rem 0;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-right > .arrow::after, .bs-popover-auto[x-placement^=right] > .arrow::after {\n  left: 1px;\n  border-width: 0.5rem 0.5rem 0.5rem 0;\n  border-right-color: #fff;\n}\n\n.bs-popover-bottom, .bs-popover-auto[x-placement^=bottom] {\n  margin-top: 0.5rem;\n}\n.bs-popover-bottom > .arrow, .bs-popover-auto[x-placement^=bottom] > .arrow {\n  top: calc(-0.5rem - 1px);\n}\n.bs-popover-bottom > .arrow::before, .bs-popover-auto[x-placement^=bottom] > .arrow::before {\n  top: 0;\n  border-width: 0 0.5rem 0.5rem 0.5rem;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-bottom > .arrow::after, .bs-popover-auto[x-placement^=bottom] > .arrow::after {\n  top: 1px;\n  border-width: 0 0.5rem 0.5rem 0.5rem;\n  border-bottom-color: #fff;\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[x-placement^=bottom] .popover-header::before {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  display: block;\n  width: 1rem;\n  margin-left: -0.5rem;\n  content: \"\";\n  border-bottom: 1px solid #f7f7f7;\n}\n\n.bs-popover-left, .bs-popover-auto[x-placement^=left] {\n  margin-right: 0.5rem;\n}\n.bs-popover-left > .arrow, .bs-popover-auto[x-placement^=left] > .arrow {\n  right: calc(-0.5rem - 1px);\n  width: 0.5rem;\n  height: 1rem;\n  margin: 0.3rem 0;\n}\n.bs-popover-left > .arrow::before, .bs-popover-auto[x-placement^=left] > .arrow::before {\n  right: 0;\n  border-width: 0.5rem 0 0.5rem 0.5rem;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.bs-popover-left > .arrow::after, .bs-popover-auto[x-placement^=left] > .arrow::after {\n  right: 1px;\n  border-width: 0.5rem 0 0.5rem 0.5rem;\n  border-left-color: #fff;\n}\n\n.popover-header {\n  padding: 0.5rem 0.75rem;\n  margin-bottom: 0;\n  font-size: 1rem;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-top-left-radius: calc(0.3rem - 1px);\n  border-top-right-radius: calc(0.3rem - 1px);\n}\n.popover-header:empty {\n  display: none;\n}\n\n.popover-body {\n  padding: 0.5rem 0.75rem;\n  color: #212529;\n}\n\n.carousel {\n  position: relative;\n}\n\n.carousel.pointer-event {\n  touch-action: pan-y;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n}\n.carousel-inner::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  float: left;\n  width: 100%;\n  margin-right: -100%;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .carousel-item {\n    transition: none;\n  }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n  display: block;\n}\n\n.carousel-item-next:not(.carousel-item-left),\n.active.carousel-item-right {\n  transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-right),\n.active.carousel-item-left {\n  transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n  opacity: 0;\n  transition-property: opacity;\n  transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-left,\n.carousel-fade .carousel-item-prev.carousel-item-right {\n  z-index: 1;\n  opacity: 1;\n}\n.carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n  z-index: 0;\n  opacity: 0;\n  transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n  .carousel-fade .active.carousel-item-left,\n.carousel-fade .active.carousel-item-right {\n    transition: none;\n  }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  z-index: 1;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 15%;\n  color: #fff;\n  text-align: center;\n  opacity: 0.5;\n  transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .carousel-control-prev,\n.carousel-control-next {\n    transition: none;\n  }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n  color: #fff;\n  text-decoration: none;\n  outline: 0;\n  opacity: 0.9;\n}\n\n.carousel-control-prev {\n  left: 0;\n}\n\n.carousel-control-next {\n  right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  background: no-repeat 50%/100% 100%;\n}\n\n.carousel-control-prev-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 15;\n  display: flex;\n  justify-content: center;\n  padding-left: 0;\n  margin-right: 15%;\n  margin-left: 15%;\n  list-style: none;\n}\n.carousel-indicators li {\n  box-sizing: content-box;\n  flex: 0 1 auto;\n  width: 30px;\n  height: 3px;\n  margin-right: 3px;\n  margin-left: 3px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: #fff;\n  background-clip: padding-box;\n  border-top: 10px solid transparent;\n  border-bottom: 10px solid transparent;\n  opacity: 0.5;\n  transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .carousel-indicators li {\n    transition: none;\n  }\n}\n.carousel-indicators .active {\n  opacity: 1;\n}\n\n.carousel-caption {\n  position: absolute;\n  right: 15%;\n  bottom: 20px;\n  left: 15%;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #fff;\n  text-align: center;\n}\n\n@-webkit-keyframes spinner-border {\n  to {\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes spinner-border {\n  to {\n    transform: rotate(360deg);\n  }\n}\n.spinner-border {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: text-bottom;\n  border: 0.25em solid currentColor;\n  border-right-color: transparent;\n  border-radius: 50%;\n  -webkit-animation: spinner-border 0.75s linear infinite;\n          animation: spinner-border 0.75s linear infinite;\n}\n\n.spinner-border-sm {\n  width: 1rem;\n  height: 1rem;\n  border-width: 0.2em;\n}\n\n@-webkit-keyframes spinner-grow {\n  0% {\n    transform: scale(0);\n  }\n  50% {\n    opacity: 1;\n  }\n}\n\n@keyframes spinner-grow {\n  0% {\n    transform: scale(0);\n  }\n  50% {\n    opacity: 1;\n  }\n}\n.spinner-grow {\n  display: inline-block;\n  width: 2rem;\n  height: 2rem;\n  vertical-align: text-bottom;\n  background-color: currentColor;\n  border-radius: 50%;\n  opacity: 0;\n  -webkit-animation: spinner-grow 0.75s linear infinite;\n          animation: spinner-grow 0.75s linear infinite;\n}\n\n.spinner-grow-sm {\n  width: 1rem;\n  height: 1rem;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.bg-primary {\n  background-color: #007bff !important;\n}\n\na.bg-primary:hover, a.bg-primary:focus,\nbutton.bg-primary:hover,\nbutton.bg-primary:focus {\n  background-color: #0062cc !important;\n}\n\n.bg-secondary {\n  background-color: #6c757d !important;\n}\n\na.bg-secondary:hover, a.bg-secondary:focus,\nbutton.bg-secondary:hover,\nbutton.bg-secondary:focus {\n  background-color: #545b62 !important;\n}\n\n.bg-success {\n  background-color: #28a745 !important;\n}\n\na.bg-success:hover, a.bg-success:focus,\nbutton.bg-success:hover,\nbutton.bg-success:focus {\n  background-color: #1e7e34 !important;\n}\n\n.bg-info {\n  background-color: #17a2b8 !important;\n}\n\na.bg-info:hover, a.bg-info:focus,\nbutton.bg-info:hover,\nbutton.bg-info:focus {\n  background-color: #117a8b !important;\n}\n\n.bg-warning {\n  background-color: #ffc107 !important;\n}\n\na.bg-warning:hover, a.bg-warning:focus,\nbutton.bg-warning:hover,\nbutton.bg-warning:focus {\n  background-color: #d39e00 !important;\n}\n\n.bg-danger {\n  background-color: #dc3545 !important;\n}\n\na.bg-danger:hover, a.bg-danger:focus,\nbutton.bg-danger:hover,\nbutton.bg-danger:focus {\n  background-color: #bd2130 !important;\n}\n\n.bg-light {\n  background-color: #f8f9fa !important;\n}\n\na.bg-light:hover, a.bg-light:focus,\nbutton.bg-light:hover,\nbutton.bg-light:focus {\n  background-color: #dae0e5 !important;\n}\n\n.bg-dark {\n  background-color: #343a40 !important;\n}\n\na.bg-dark:hover, a.bg-dark:focus,\nbutton.bg-dark:hover,\nbutton.bg-dark:focus {\n  background-color: #1d2124 !important;\n}\n\n.bg-white {\n  background-color: #fff !important;\n}\n\n.bg-transparent {\n  background-color: transparent !important;\n}\n\n.border {\n  border: 1px solid #dee2e6 !important;\n}\n\n.border-top {\n  border-top: 1px solid #dee2e6 !important;\n}\n\n.border-right {\n  border-right: 1px solid #dee2e6 !important;\n}\n\n.border-bottom {\n  border-bottom: 1px solid #dee2e6 !important;\n}\n\n.border-left {\n  border-left: 1px solid #dee2e6 !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-right-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-left-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  border-color: #007bff !important;\n}\n\n.border-secondary {\n  border-color: #6c757d !important;\n}\n\n.border-success {\n  border-color: #28a745 !important;\n}\n\n.border-info {\n  border-color: #17a2b8 !important;\n}\n\n.border-warning {\n  border-color: #ffc107 !important;\n}\n\n.border-danger {\n  border-color: #dc3545 !important;\n}\n\n.border-light {\n  border-color: #f8f9fa !important;\n}\n\n.border-dark {\n  border-color: #343a40 !important;\n}\n\n.border-white {\n  border-color: #fff !important;\n}\n\n.rounded-sm {\n  border-radius: 0.2rem !important;\n}\n\n.rounded {\n  border-radius: 0.25rem !important;\n}\n\n.rounded-top {\n  border-top-left-radius: 0.25rem !important;\n  border-top-right-radius: 0.25rem !important;\n}\n\n.rounded-right {\n  border-top-right-radius: 0.25rem !important;\n  border-bottom-right-radius: 0.25rem !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-left {\n  border-top-left-radius: 0.25rem !important;\n  border-bottom-left-radius: 0.25rem !important;\n}\n\n.rounded-lg {\n  border-radius: 0.3rem !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-pill {\n  border-radius: 50rem !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.d-none {\n  display: none !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: inline-flex !important;\n}\n\n@media (min-width: 576px) {\n  .d-sm-none {\n    display: none !important;\n  }\n\n  .d-sm-inline {\n    display: inline !important;\n  }\n\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n\n  .d-sm-block {\n    display: block !important;\n  }\n\n  .d-sm-table {\n    display: table !important;\n  }\n\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n\n  .d-sm-flex {\n    display: flex !important;\n  }\n\n  .d-sm-inline-flex {\n    display: inline-flex !important;\n  }\n}\n@media (min-width: 768px) {\n  .d-md-none {\n    display: none !important;\n  }\n\n  .d-md-inline {\n    display: inline !important;\n  }\n\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n\n  .d-md-block {\n    display: block !important;\n  }\n\n  .d-md-table {\n    display: table !important;\n  }\n\n  .d-md-table-row {\n    display: table-row !important;\n  }\n\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n\n  .d-md-flex {\n    display: flex !important;\n  }\n\n  .d-md-inline-flex {\n    display: inline-flex !important;\n  }\n}\n@media (min-width: 992px) {\n  .d-lg-none {\n    display: none !important;\n  }\n\n  .d-lg-inline {\n    display: inline !important;\n  }\n\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n\n  .d-lg-block {\n    display: block !important;\n  }\n\n  .d-lg-table {\n    display: table !important;\n  }\n\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n\n  .d-lg-flex {\n    display: flex !important;\n  }\n\n  .d-lg-inline-flex {\n    display: inline-flex !important;\n  }\n}\n@media (min-width: 1200px) {\n  .d-xl-none {\n    display: none !important;\n  }\n\n  .d-xl-inline {\n    display: inline !important;\n  }\n\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n\n  .d-xl-block {\n    display: block !important;\n  }\n\n  .d-xl-table {\n    display: table !important;\n  }\n\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n\n  .d-xl-flex {\n    display: flex !important;\n  }\n\n  .d-xl-inline-flex {\n    display: inline-flex !important;\n  }\n}\n@media print {\n  .d-print-none {\n    display: none !important;\n  }\n\n  .d-print-inline {\n    display: inline !important;\n  }\n\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n\n  .d-print-block {\n    display: block !important;\n  }\n\n  .d-print-table {\n    display: table !important;\n  }\n\n  .d-print-table-row {\n    display: table-row !important;\n  }\n\n  .d-print-table-cell {\n    display: table-cell !important;\n  }\n\n  .d-print-flex {\n    display: flex !important;\n  }\n\n  .d-print-inline-flex {\n    display: inline-flex !important;\n  }\n}\n.embed-responsive {\n  position: relative;\n  display: block;\n  width: 100%;\n  padding: 0;\n  overflow: hidden;\n}\n.embed-responsive::before {\n  display: block;\n  content: \"\";\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n  position: absolute;\n  top: 0;\n  bottom: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n  border: 0;\n}\n\n.embed-responsive-21by9::before {\n  padding-top: 42.8571428571%;\n}\n\n.embed-responsive-16by9::before {\n  padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n  padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n  padding-top: 100%;\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.flex-fill {\n  flex: 1 1 auto !important;\n}\n\n.flex-grow-0 {\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  flex-shrink: 1 !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n@media (min-width: 576px) {\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n\n  .flex-sm-fill {\n    flex: 1 1 auto !important;\n  }\n\n  .flex-sm-grow-0 {\n    flex-grow: 0 !important;\n  }\n\n  .flex-sm-grow-1 {\n    flex-grow: 1 !important;\n  }\n\n  .flex-sm-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n\n  .flex-sm-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n}\n@media (min-width: 768px) {\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n\n  .flex-md-fill {\n    flex: 1 1 auto !important;\n  }\n\n  .flex-md-grow-0 {\n    flex-grow: 0 !important;\n  }\n\n  .flex-md-grow-1 {\n    flex-grow: 1 !important;\n  }\n\n  .flex-md-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n\n  .flex-md-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n\n  .align-items-md-center {\n    align-items: center !important;\n  }\n\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n\n  .align-content-md-center {\n    align-content: center !important;\n  }\n\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n\n  .align-self-md-center {\n    align-self: center !important;\n  }\n\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n}\n@media (min-width: 992px) {\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n\n  .flex-lg-fill {\n    flex: 1 1 auto !important;\n  }\n\n  .flex-lg-grow-0 {\n    flex-grow: 0 !important;\n  }\n\n  .flex-lg-grow-1 {\n    flex-grow: 1 !important;\n  }\n\n  .flex-lg-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n\n  .flex-lg-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n}\n@media (min-width: 1200px) {\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n\n  .flex-xl-fill {\n    flex: 1 1 auto !important;\n  }\n\n  .flex-xl-grow-0 {\n    flex-grow: 0 !important;\n  }\n\n  .flex-xl-grow-1 {\n    flex-grow: 1 !important;\n  }\n\n  .flex-xl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n\n  .flex-xl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n}\n.float-left {\n  float: left !important;\n}\n\n.float-right {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-left {\n    float: left !important;\n  }\n\n  .float-sm-right {\n    float: right !important;\n  }\n\n  .float-sm-none {\n    float: none !important;\n  }\n}\n@media (min-width: 768px) {\n  .float-md-left {\n    float: left !important;\n  }\n\n  .float-md-right {\n    float: right !important;\n  }\n\n  .float-md-none {\n    float: none !important;\n  }\n}\n@media (min-width: 992px) {\n  .float-lg-left {\n    float: left !important;\n  }\n\n  .float-lg-right {\n    float: right !important;\n  }\n\n  .float-lg-none {\n    float: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .float-xl-left {\n    float: left !important;\n  }\n\n  .float-xl-right {\n    float: right !important;\n  }\n\n  .float-xl-none {\n    float: none !important;\n  }\n}\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !important;\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: -webkit-sticky !important;\n  position: sticky !important;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n@supports ((position: -webkit-sticky) or (position: sticky)) {\n  .sticky-top {\n    position: -webkit-sticky;\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n}\n\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n\n.sr-only-focusable:active, .sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  overflow: visible;\n  clip: auto;\n  white-space: normal;\n}\n\n.shadow-sm {\n  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow {\n  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-lg {\n  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n  box-shadow: none !important;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.w-auto {\n  width: auto !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.h-auto {\n  height: auto !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.vh-100 {\n  height: 100vh !important;\n}\n\n.stretched-link::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1;\n  pointer-events: auto;\n  content: \"\";\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.mt-0,\n.my-0 {\n  margin-top: 0 !important;\n}\n\n.mr-0,\n.mx-0 {\n  margin-right: 0 !important;\n}\n\n.mb-0,\n.my-0 {\n  margin-bottom: 0 !important;\n}\n\n.ml-0,\n.mx-0 {\n  margin-left: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.mt-1,\n.my-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mr-1,\n.mx-1 {\n  margin-right: 0.25rem !important;\n}\n\n.mb-1,\n.my-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.ml-1,\n.mx-1 {\n  margin-left: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.mt-2,\n.my-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mr-2,\n.mx-2 {\n  margin-right: 0.5rem !important;\n}\n\n.mb-2,\n.my-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.ml-2,\n.mx-2 {\n  margin-left: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.mt-3,\n.my-3 {\n  margin-top: 1rem !important;\n}\n\n.mr-3,\n.mx-3 {\n  margin-right: 1rem !important;\n}\n\n.mb-3,\n.my-3 {\n  margin-bottom: 1rem !important;\n}\n\n.ml-3,\n.mx-3 {\n  margin-left: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.mt-4,\n.my-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mr-4,\n.mx-4 {\n  margin-right: 1.5rem !important;\n}\n\n.mb-4,\n.my-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.ml-4,\n.mx-4 {\n  margin-left: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.mt-5,\n.my-5 {\n  margin-top: 3rem !important;\n}\n\n.mr-5,\n.mx-5 {\n  margin-right: 3rem !important;\n}\n\n.mb-5,\n.my-5 {\n  margin-bottom: 3rem !important;\n}\n\n.ml-5,\n.mx-5 {\n  margin-left: 3rem !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.pt-0,\n.py-0 {\n  padding-top: 0 !important;\n}\n\n.pr-0,\n.px-0 {\n  padding-right: 0 !important;\n}\n\n.pb-0,\n.py-0 {\n  padding-bottom: 0 !important;\n}\n\n.pl-0,\n.px-0 {\n  padding-left: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.pt-1,\n.py-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pr-1,\n.px-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pb-1,\n.py-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pl-1,\n.px-1 {\n  padding-left: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.pt-2,\n.py-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pr-2,\n.px-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pb-2,\n.py-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pl-2,\n.px-2 {\n  padding-left: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.pt-3,\n.py-3 {\n  padding-top: 1rem !important;\n}\n\n.pr-3,\n.px-3 {\n  padding-right: 1rem !important;\n}\n\n.pb-3,\n.py-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pl-3,\n.px-3 {\n  padding-left: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.pt-4,\n.py-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pr-4,\n.px-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pb-4,\n.py-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pl-4,\n.px-4 {\n  padding-left: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.pt-5,\n.py-5 {\n  padding-top: 3rem !important;\n}\n\n.pr-5,\n.px-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-5,\n.py-5 {\n  padding-bottom: 3rem !important;\n}\n\n.pl-5,\n.px-5 {\n  padding-left: 3rem !important;\n}\n\n.m-n1 {\n  margin: -0.25rem !important;\n}\n\n.mt-n1,\n.my-n1 {\n  margin-top: -0.25rem !important;\n}\n\n.mr-n1,\n.mx-n1 {\n  margin-right: -0.25rem !important;\n}\n\n.mb-n1,\n.my-n1 {\n  margin-bottom: -0.25rem !important;\n}\n\n.ml-n1,\n.mx-n1 {\n  margin-left: -0.25rem !important;\n}\n\n.m-n2 {\n  margin: -0.5rem !important;\n}\n\n.mt-n2,\n.my-n2 {\n  margin-top: -0.5rem !important;\n}\n\n.mr-n2,\n.mx-n2 {\n  margin-right: -0.5rem !important;\n}\n\n.mb-n2,\n.my-n2 {\n  margin-bottom: -0.5rem !important;\n}\n\n.ml-n2,\n.mx-n2 {\n  margin-left: -0.5rem !important;\n}\n\n.m-n3 {\n  margin: -1rem !important;\n}\n\n.mt-n3,\n.my-n3 {\n  margin-top: -1rem !important;\n}\n\n.mr-n3,\n.mx-n3 {\n  margin-right: -1rem !important;\n}\n\n.mb-n3,\n.my-n3 {\n  margin-bottom: -1rem !important;\n}\n\n.ml-n3,\n.mx-n3 {\n  margin-left: -1rem !important;\n}\n\n.m-n4 {\n  margin: -1.5rem !important;\n}\n\n.mt-n4,\n.my-n4 {\n  margin-top: -1.5rem !important;\n}\n\n.mr-n4,\n.mx-n4 {\n  margin-right: -1.5rem !important;\n}\n\n.mb-n4,\n.my-n4 {\n  margin-bottom: -1.5rem !important;\n}\n\n.ml-n4,\n.mx-n4 {\n  margin-left: -1.5rem !important;\n}\n\n.m-n5 {\n  margin: -3rem !important;\n}\n\n.mt-n5,\n.my-n5 {\n  margin-top: -3rem !important;\n}\n\n.mr-n5,\n.mx-n5 {\n  margin-right: -3rem !important;\n}\n\n.mb-n5,\n.my-n5 {\n  margin-bottom: -3rem !important;\n}\n\n.ml-n5,\n.mx-n5 {\n  margin-left: -3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mt-auto,\n.my-auto {\n  margin-top: auto !important;\n}\n\n.mr-auto,\n.mx-auto {\n  margin-right: auto !important;\n}\n\n.mb-auto,\n.my-auto {\n  margin-bottom: auto !important;\n}\n\n.ml-auto,\n.mx-auto {\n  margin-left: auto !important;\n}\n\n@media (min-width: 576px) {\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n\n  .mt-sm-0,\n.my-sm-0 {\n    margin-top: 0 !important;\n  }\n\n  .mr-sm-0,\n.mx-sm-0 {\n    margin-right: 0 !important;\n  }\n\n  .mb-sm-0,\n.my-sm-0 {\n    margin-bottom: 0 !important;\n  }\n\n  .ml-sm-0,\n.mx-sm-0 {\n    margin-left: 0 !important;\n  }\n\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n\n  .mt-sm-1,\n.my-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n\n  .mr-sm-1,\n.mx-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n\n  .mb-sm-1,\n.my-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n\n  .ml-sm-1,\n.mx-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n\n  .mt-sm-2,\n.my-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n\n  .mr-sm-2,\n.mx-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n\n  .mb-sm-2,\n.my-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n\n  .ml-sm-2,\n.mx-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n\n  .mt-sm-3,\n.my-sm-3 {\n    margin-top: 1rem !important;\n  }\n\n  .mr-sm-3,\n.mx-sm-3 {\n    margin-right: 1rem !important;\n  }\n\n  .mb-sm-3,\n.my-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n\n  .ml-sm-3,\n.mx-sm-3 {\n    margin-left: 1rem !important;\n  }\n\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n\n  .mt-sm-4,\n.my-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n\n  .mr-sm-4,\n.mx-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n\n  .mb-sm-4,\n.my-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n\n  .ml-sm-4,\n.mx-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n\n  .mt-sm-5,\n.my-sm-5 {\n    margin-top: 3rem !important;\n  }\n\n  .mr-sm-5,\n.mx-sm-5 {\n    margin-right: 3rem !important;\n  }\n\n  .mb-sm-5,\n.my-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n\n  .ml-sm-5,\n.mx-sm-5 {\n    margin-left: 3rem !important;\n  }\n\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n\n  .pt-sm-0,\n.py-sm-0 {\n    padding-top: 0 !important;\n  }\n\n  .pr-sm-0,\n.px-sm-0 {\n    padding-right: 0 !important;\n  }\n\n  .pb-sm-0,\n.py-sm-0 {\n    padding-bottom: 0 !important;\n  }\n\n  .pl-sm-0,\n.px-sm-0 {\n    padding-left: 0 !important;\n  }\n\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n\n  .pt-sm-1,\n.py-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n\n  .pr-sm-1,\n.px-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n\n  .pb-sm-1,\n.py-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n\n  .pl-sm-1,\n.px-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n\n  .pt-sm-2,\n.py-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n\n  .pr-sm-2,\n.px-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n\n  .pb-sm-2,\n.py-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n\n  .pl-sm-2,\n.px-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n\n  .pt-sm-3,\n.py-sm-3 {\n    padding-top: 1rem !important;\n  }\n\n  .pr-sm-3,\n.px-sm-3 {\n    padding-right: 1rem !important;\n  }\n\n  .pb-sm-3,\n.py-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n\n  .pl-sm-3,\n.px-sm-3 {\n    padding-left: 1rem !important;\n  }\n\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n\n  .pt-sm-4,\n.py-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n\n  .pr-sm-4,\n.px-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n\n  .pb-sm-4,\n.py-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n\n  .pl-sm-4,\n.px-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n\n  .pt-sm-5,\n.py-sm-5 {\n    padding-top: 3rem !important;\n  }\n\n  .pr-sm-5,\n.px-sm-5 {\n    padding-right: 3rem !important;\n  }\n\n  .pb-sm-5,\n.py-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n\n  .pl-sm-5,\n.px-sm-5 {\n    padding-left: 3rem !important;\n  }\n\n  .m-sm-n1 {\n    margin: -0.25rem !important;\n  }\n\n  .mt-sm-n1,\n.my-sm-n1 {\n    margin-top: -0.25rem !important;\n  }\n\n  .mr-sm-n1,\n.mx-sm-n1 {\n    margin-right: -0.25rem !important;\n  }\n\n  .mb-sm-n1,\n.my-sm-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n\n  .ml-sm-n1,\n.mx-sm-n1 {\n    margin-left: -0.25rem !important;\n  }\n\n  .m-sm-n2 {\n    margin: -0.5rem !important;\n  }\n\n  .mt-sm-n2,\n.my-sm-n2 {\n    margin-top: -0.5rem !important;\n  }\n\n  .mr-sm-n2,\n.mx-sm-n2 {\n    margin-right: -0.5rem !important;\n  }\n\n  .mb-sm-n2,\n.my-sm-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n\n  .ml-sm-n2,\n.mx-sm-n2 {\n    margin-left: -0.5rem !important;\n  }\n\n  .m-sm-n3 {\n    margin: -1rem !important;\n  }\n\n  .mt-sm-n3,\n.my-sm-n3 {\n    margin-top: -1rem !important;\n  }\n\n  .mr-sm-n3,\n.mx-sm-n3 {\n    margin-right: -1rem !important;\n  }\n\n  .mb-sm-n3,\n.my-sm-n3 {\n    margin-bottom: -1rem !important;\n  }\n\n  .ml-sm-n3,\n.mx-sm-n3 {\n    margin-left: -1rem !important;\n  }\n\n  .m-sm-n4 {\n    margin: -1.5rem !important;\n  }\n\n  .mt-sm-n4,\n.my-sm-n4 {\n    margin-top: -1.5rem !important;\n  }\n\n  .mr-sm-n4,\n.mx-sm-n4 {\n    margin-right: -1.5rem !important;\n  }\n\n  .mb-sm-n4,\n.my-sm-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n\n  .ml-sm-n4,\n.mx-sm-n4 {\n    margin-left: -1.5rem !important;\n  }\n\n  .m-sm-n5 {\n    margin: -3rem !important;\n  }\n\n  .mt-sm-n5,\n.my-sm-n5 {\n    margin-top: -3rem !important;\n  }\n\n  .mr-sm-n5,\n.mx-sm-n5 {\n    margin-right: -3rem !important;\n  }\n\n  .mb-sm-n5,\n.my-sm-n5 {\n    margin-bottom: -3rem !important;\n  }\n\n  .ml-sm-n5,\n.mx-sm-n5 {\n    margin-left: -3rem !important;\n  }\n\n  .m-sm-auto {\n    margin: auto !important;\n  }\n\n  .mt-sm-auto,\n.my-sm-auto {\n    margin-top: auto !important;\n  }\n\n  .mr-sm-auto,\n.mx-sm-auto {\n    margin-right: auto !important;\n  }\n\n  .mb-sm-auto,\n.my-sm-auto {\n    margin-bottom: auto !important;\n  }\n\n  .ml-sm-auto,\n.mx-sm-auto {\n    margin-left: auto !important;\n  }\n}\n@media (min-width: 768px) {\n  .m-md-0 {\n    margin: 0 !important;\n  }\n\n  .mt-md-0,\n.my-md-0 {\n    margin-top: 0 !important;\n  }\n\n  .mr-md-0,\n.mx-md-0 {\n    margin-right: 0 !important;\n  }\n\n  .mb-md-0,\n.my-md-0 {\n    margin-bottom: 0 !important;\n  }\n\n  .ml-md-0,\n.mx-md-0 {\n    margin-left: 0 !important;\n  }\n\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n\n  .mt-md-1,\n.my-md-1 {\n    margin-top: 0.25rem !important;\n  }\n\n  .mr-md-1,\n.mx-md-1 {\n    margin-right: 0.25rem !important;\n  }\n\n  .mb-md-1,\n.my-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n\n  .ml-md-1,\n.mx-md-1 {\n    margin-left: 0.25rem !important;\n  }\n\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n\n  .mt-md-2,\n.my-md-2 {\n    margin-top: 0.5rem !important;\n  }\n\n  .mr-md-2,\n.mx-md-2 {\n    margin-right: 0.5rem !important;\n  }\n\n  .mb-md-2,\n.my-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n\n  .ml-md-2,\n.mx-md-2 {\n    margin-left: 0.5rem !important;\n  }\n\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n\n  .mt-md-3,\n.my-md-3 {\n    margin-top: 1rem !important;\n  }\n\n  .mr-md-3,\n.mx-md-3 {\n    margin-right: 1rem !important;\n  }\n\n  .mb-md-3,\n.my-md-3 {\n    margin-bottom: 1rem !important;\n  }\n\n  .ml-md-3,\n.mx-md-3 {\n    margin-left: 1rem !important;\n  }\n\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n\n  .mt-md-4,\n.my-md-4 {\n    margin-top: 1.5rem !important;\n  }\n\n  .mr-md-4,\n.mx-md-4 {\n    margin-right: 1.5rem !important;\n  }\n\n  .mb-md-4,\n.my-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n\n  .ml-md-4,\n.mx-md-4 {\n    margin-left: 1.5rem !important;\n  }\n\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n\n  .mt-md-5,\n.my-md-5 {\n    margin-top: 3rem !important;\n  }\n\n  .mr-md-5,\n.mx-md-5 {\n    margin-right: 3rem !important;\n  }\n\n  .mb-md-5,\n.my-md-5 {\n    margin-bottom: 3rem !important;\n  }\n\n  .ml-md-5,\n.mx-md-5 {\n    margin-left: 3rem !important;\n  }\n\n  .p-md-0 {\n    padding: 0 !important;\n  }\n\n  .pt-md-0,\n.py-md-0 {\n    padding-top: 0 !important;\n  }\n\n  .pr-md-0,\n.px-md-0 {\n    padding-right: 0 !important;\n  }\n\n  .pb-md-0,\n.py-md-0 {\n    padding-bottom: 0 !important;\n  }\n\n  .pl-md-0,\n.px-md-0 {\n    padding-left: 0 !important;\n  }\n\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n\n  .pt-md-1,\n.py-md-1 {\n    padding-top: 0.25rem !important;\n  }\n\n  .pr-md-1,\n.px-md-1 {\n    padding-right: 0.25rem !important;\n  }\n\n  .pb-md-1,\n.py-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n\n  .pl-md-1,\n.px-md-1 {\n    padding-left: 0.25rem !important;\n  }\n\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n\n  .pt-md-2,\n.py-md-2 {\n    padding-top: 0.5rem !important;\n  }\n\n  .pr-md-2,\n.px-md-2 {\n    padding-right: 0.5rem !important;\n  }\n\n  .pb-md-2,\n.py-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n\n  .pl-md-2,\n.px-md-2 {\n    padding-left: 0.5rem !important;\n  }\n\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n\n  .pt-md-3,\n.py-md-3 {\n    padding-top: 1rem !important;\n  }\n\n  .pr-md-3,\n.px-md-3 {\n    padding-right: 1rem !important;\n  }\n\n  .pb-md-3,\n.py-md-3 {\n    padding-bottom: 1rem !important;\n  }\n\n  .pl-md-3,\n.px-md-3 {\n    padding-left: 1rem !important;\n  }\n\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n\n  .pt-md-4,\n.py-md-4 {\n    padding-top: 1.5rem !important;\n  }\n\n  .pr-md-4,\n.px-md-4 {\n    padding-right: 1.5rem !important;\n  }\n\n  .pb-md-4,\n.py-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n\n  .pl-md-4,\n.px-md-4 {\n    padding-left: 1.5rem !important;\n  }\n\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n\n  .pt-md-5,\n.py-md-5 {\n    padding-top: 3rem !important;\n  }\n\n  .pr-md-5,\n.px-md-5 {\n    padding-right: 3rem !important;\n  }\n\n  .pb-md-5,\n.py-md-5 {\n    padding-bottom: 3rem !important;\n  }\n\n  .pl-md-5,\n.px-md-5 {\n    padding-left: 3rem !important;\n  }\n\n  .m-md-n1 {\n    margin: -0.25rem !important;\n  }\n\n  .mt-md-n1,\n.my-md-n1 {\n    margin-top: -0.25rem !important;\n  }\n\n  .mr-md-n1,\n.mx-md-n1 {\n    margin-right: -0.25rem !important;\n  }\n\n  .mb-md-n1,\n.my-md-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n\n  .ml-md-n1,\n.mx-md-n1 {\n    margin-left: -0.25rem !important;\n  }\n\n  .m-md-n2 {\n    margin: -0.5rem !important;\n  }\n\n  .mt-md-n2,\n.my-md-n2 {\n    margin-top: -0.5rem !important;\n  }\n\n  .mr-md-n2,\n.mx-md-n2 {\n    margin-right: -0.5rem !important;\n  }\n\n  .mb-md-n2,\n.my-md-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n\n  .ml-md-n2,\n.mx-md-n2 {\n    margin-left: -0.5rem !important;\n  }\n\n  .m-md-n3 {\n    margin: -1rem !important;\n  }\n\n  .mt-md-n3,\n.my-md-n3 {\n    margin-top: -1rem !important;\n  }\n\n  .mr-md-n3,\n.mx-md-n3 {\n    margin-right: -1rem !important;\n  }\n\n  .mb-md-n3,\n.my-md-n3 {\n    margin-bottom: -1rem !important;\n  }\n\n  .ml-md-n3,\n.mx-md-n3 {\n    margin-left: -1rem !important;\n  }\n\n  .m-md-n4 {\n    margin: -1.5rem !important;\n  }\n\n  .mt-md-n4,\n.my-md-n4 {\n    margin-top: -1.5rem !important;\n  }\n\n  .mr-md-n4,\n.mx-md-n4 {\n    margin-right: -1.5rem !important;\n  }\n\n  .mb-md-n4,\n.my-md-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n\n  .ml-md-n4,\n.mx-md-n4 {\n    margin-left: -1.5rem !important;\n  }\n\n  .m-md-n5 {\n    margin: -3rem !important;\n  }\n\n  .mt-md-n5,\n.my-md-n5 {\n    margin-top: -3rem !important;\n  }\n\n  .mr-md-n5,\n.mx-md-n5 {\n    margin-right: -3rem !important;\n  }\n\n  .mb-md-n5,\n.my-md-n5 {\n    margin-bottom: -3rem !important;\n  }\n\n  .ml-md-n5,\n.mx-md-n5 {\n    margin-left: -3rem !important;\n  }\n\n  .m-md-auto {\n    margin: auto !important;\n  }\n\n  .mt-md-auto,\n.my-md-auto {\n    margin-top: auto !important;\n  }\n\n  .mr-md-auto,\n.mx-md-auto {\n    margin-right: auto !important;\n  }\n\n  .mb-md-auto,\n.my-md-auto {\n    margin-bottom: auto !important;\n  }\n\n  .ml-md-auto,\n.mx-md-auto {\n    margin-left: auto !important;\n  }\n}\n@media (min-width: 992px) {\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n\n  .mt-lg-0,\n.my-lg-0 {\n    margin-top: 0 !important;\n  }\n\n  .mr-lg-0,\n.mx-lg-0 {\n    margin-right: 0 !important;\n  }\n\n  .mb-lg-0,\n.my-lg-0 {\n    margin-bottom: 0 !important;\n  }\n\n  .ml-lg-0,\n.mx-lg-0 {\n    margin-left: 0 !important;\n  }\n\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n\n  .mt-lg-1,\n.my-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n\n  .mr-lg-1,\n.mx-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n\n  .mb-lg-1,\n.my-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n\n  .ml-lg-1,\n.mx-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n\n  .mt-lg-2,\n.my-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n\n  .mr-lg-2,\n.mx-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n\n  .mb-lg-2,\n.my-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n\n  .ml-lg-2,\n.mx-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n\n  .mt-lg-3,\n.my-lg-3 {\n    margin-top: 1rem !important;\n  }\n\n  .mr-lg-3,\n.mx-lg-3 {\n    margin-right: 1rem !important;\n  }\n\n  .mb-lg-3,\n.my-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n\n  .ml-lg-3,\n.mx-lg-3 {\n    margin-left: 1rem !important;\n  }\n\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n\n  .mt-lg-4,\n.my-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n\n  .mr-lg-4,\n.mx-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n\n  .mb-lg-4,\n.my-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n\n  .ml-lg-4,\n.mx-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n\n  .mt-lg-5,\n.my-lg-5 {\n    margin-top: 3rem !important;\n  }\n\n  .mr-lg-5,\n.mx-lg-5 {\n    margin-right: 3rem !important;\n  }\n\n  .mb-lg-5,\n.my-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n\n  .ml-lg-5,\n.mx-lg-5 {\n    margin-left: 3rem !important;\n  }\n\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n\n  .pt-lg-0,\n.py-lg-0 {\n    padding-top: 0 !important;\n  }\n\n  .pr-lg-0,\n.px-lg-0 {\n    padding-right: 0 !important;\n  }\n\n  .pb-lg-0,\n.py-lg-0 {\n    padding-bottom: 0 !important;\n  }\n\n  .pl-lg-0,\n.px-lg-0 {\n    padding-left: 0 !important;\n  }\n\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n\n  .pt-lg-1,\n.py-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n\n  .pr-lg-1,\n.px-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n\n  .pb-lg-1,\n.py-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n\n  .pl-lg-1,\n.px-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n\n  .pt-lg-2,\n.py-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n\n  .pr-lg-2,\n.px-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n\n  .pb-lg-2,\n.py-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n\n  .pl-lg-2,\n.px-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n\n  .pt-lg-3,\n.py-lg-3 {\n    padding-top: 1rem !important;\n  }\n\n  .pr-lg-3,\n.px-lg-3 {\n    padding-right: 1rem !important;\n  }\n\n  .pb-lg-3,\n.py-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n\n  .pl-lg-3,\n.px-lg-3 {\n    padding-left: 1rem !important;\n  }\n\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n\n  .pt-lg-4,\n.py-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n\n  .pr-lg-4,\n.px-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n\n  .pb-lg-4,\n.py-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n\n  .pl-lg-4,\n.px-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n\n  .pt-lg-5,\n.py-lg-5 {\n    padding-top: 3rem !important;\n  }\n\n  .pr-lg-5,\n.px-lg-5 {\n    padding-right: 3rem !important;\n  }\n\n  .pb-lg-5,\n.py-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n\n  .pl-lg-5,\n.px-lg-5 {\n    padding-left: 3rem !important;\n  }\n\n  .m-lg-n1 {\n    margin: -0.25rem !important;\n  }\n\n  .mt-lg-n1,\n.my-lg-n1 {\n    margin-top: -0.25rem !important;\n  }\n\n  .mr-lg-n1,\n.mx-lg-n1 {\n    margin-right: -0.25rem !important;\n  }\n\n  .mb-lg-n1,\n.my-lg-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n\n  .ml-lg-n1,\n.mx-lg-n1 {\n    margin-left: -0.25rem !important;\n  }\n\n  .m-lg-n2 {\n    margin: -0.5rem !important;\n  }\n\n  .mt-lg-n2,\n.my-lg-n2 {\n    margin-top: -0.5rem !important;\n  }\n\n  .mr-lg-n2,\n.mx-lg-n2 {\n    margin-right: -0.5rem !important;\n  }\n\n  .mb-lg-n2,\n.my-lg-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n\n  .ml-lg-n2,\n.mx-lg-n2 {\n    margin-left: -0.5rem !important;\n  }\n\n  .m-lg-n3 {\n    margin: -1rem !important;\n  }\n\n  .mt-lg-n3,\n.my-lg-n3 {\n    margin-top: -1rem !important;\n  }\n\n  .mr-lg-n3,\n.mx-lg-n3 {\n    margin-right: -1rem !important;\n  }\n\n  .mb-lg-n3,\n.my-lg-n3 {\n    margin-bottom: -1rem !important;\n  }\n\n  .ml-lg-n3,\n.mx-lg-n3 {\n    margin-left: -1rem !important;\n  }\n\n  .m-lg-n4 {\n    margin: -1.5rem !important;\n  }\n\n  .mt-lg-n4,\n.my-lg-n4 {\n    margin-top: -1.5rem !important;\n  }\n\n  .mr-lg-n4,\n.mx-lg-n4 {\n    margin-right: -1.5rem !important;\n  }\n\n  .mb-lg-n4,\n.my-lg-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n\n  .ml-lg-n4,\n.mx-lg-n4 {\n    margin-left: -1.5rem !important;\n  }\n\n  .m-lg-n5 {\n    margin: -3rem !important;\n  }\n\n  .mt-lg-n5,\n.my-lg-n5 {\n    margin-top: -3rem !important;\n  }\n\n  .mr-lg-n5,\n.mx-lg-n5 {\n    margin-right: -3rem !important;\n  }\n\n  .mb-lg-n5,\n.my-lg-n5 {\n    margin-bottom: -3rem !important;\n  }\n\n  .ml-lg-n5,\n.mx-lg-n5 {\n    margin-left: -3rem !important;\n  }\n\n  .m-lg-auto {\n    margin: auto !important;\n  }\n\n  .mt-lg-auto,\n.my-lg-auto {\n    margin-top: auto !important;\n  }\n\n  .mr-lg-auto,\n.mx-lg-auto {\n    margin-right: auto !important;\n  }\n\n  .mb-lg-auto,\n.my-lg-auto {\n    margin-bottom: auto !important;\n  }\n\n  .ml-lg-auto,\n.mx-lg-auto {\n    margin-left: auto !important;\n  }\n}\n@media (min-width: 1200px) {\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n\n  .mt-xl-0,\n.my-xl-0 {\n    margin-top: 0 !important;\n  }\n\n  .mr-xl-0,\n.mx-xl-0 {\n    margin-right: 0 !important;\n  }\n\n  .mb-xl-0,\n.my-xl-0 {\n    margin-bottom: 0 !important;\n  }\n\n  .ml-xl-0,\n.mx-xl-0 {\n    margin-left: 0 !important;\n  }\n\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n\n  .mt-xl-1,\n.my-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n\n  .mr-xl-1,\n.mx-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n\n  .mb-xl-1,\n.my-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n\n  .ml-xl-1,\n.mx-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n\n  .mt-xl-2,\n.my-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n\n  .mr-xl-2,\n.mx-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n\n  .mb-xl-2,\n.my-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n\n  .ml-xl-2,\n.mx-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n\n  .mt-xl-3,\n.my-xl-3 {\n    margin-top: 1rem !important;\n  }\n\n  .mr-xl-3,\n.mx-xl-3 {\n    margin-right: 1rem !important;\n  }\n\n  .mb-xl-3,\n.my-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n\n  .ml-xl-3,\n.mx-xl-3 {\n    margin-left: 1rem !important;\n  }\n\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n\n  .mt-xl-4,\n.my-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n\n  .mr-xl-4,\n.mx-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n\n  .mb-xl-4,\n.my-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n\n  .ml-xl-4,\n.mx-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n\n  .mt-xl-5,\n.my-xl-5 {\n    margin-top: 3rem !important;\n  }\n\n  .mr-xl-5,\n.mx-xl-5 {\n    margin-right: 3rem !important;\n  }\n\n  .mb-xl-5,\n.my-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n\n  .ml-xl-5,\n.mx-xl-5 {\n    margin-left: 3rem !important;\n  }\n\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n\n  .pt-xl-0,\n.py-xl-0 {\n    padding-top: 0 !important;\n  }\n\n  .pr-xl-0,\n.px-xl-0 {\n    padding-right: 0 !important;\n  }\n\n  .pb-xl-0,\n.py-xl-0 {\n    padding-bottom: 0 !important;\n  }\n\n  .pl-xl-0,\n.px-xl-0 {\n    padding-left: 0 !important;\n  }\n\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n\n  .pt-xl-1,\n.py-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n\n  .pr-xl-1,\n.px-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n\n  .pb-xl-1,\n.py-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n\n  .pl-xl-1,\n.px-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n\n  .pt-xl-2,\n.py-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n\n  .pr-xl-2,\n.px-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n\n  .pb-xl-2,\n.py-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n\n  .pl-xl-2,\n.px-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n\n  .pt-xl-3,\n.py-xl-3 {\n    padding-top: 1rem !important;\n  }\n\n  .pr-xl-3,\n.px-xl-3 {\n    padding-right: 1rem !important;\n  }\n\n  .pb-xl-3,\n.py-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n\n  .pl-xl-3,\n.px-xl-3 {\n    padding-left: 1rem !important;\n  }\n\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n\n  .pt-xl-4,\n.py-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n\n  .pr-xl-4,\n.px-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n\n  .pb-xl-4,\n.py-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n\n  .pl-xl-4,\n.px-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n\n  .pt-xl-5,\n.py-xl-5 {\n    padding-top: 3rem !important;\n  }\n\n  .pr-xl-5,\n.px-xl-5 {\n    padding-right: 3rem !important;\n  }\n\n  .pb-xl-5,\n.py-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n\n  .pl-xl-5,\n.px-xl-5 {\n    padding-left: 3rem !important;\n  }\n\n  .m-xl-n1 {\n    margin: -0.25rem !important;\n  }\n\n  .mt-xl-n1,\n.my-xl-n1 {\n    margin-top: -0.25rem !important;\n  }\n\n  .mr-xl-n1,\n.mx-xl-n1 {\n    margin-right: -0.25rem !important;\n  }\n\n  .mb-xl-n1,\n.my-xl-n1 {\n    margin-bottom: -0.25rem !important;\n  }\n\n  .ml-xl-n1,\n.mx-xl-n1 {\n    margin-left: -0.25rem !important;\n  }\n\n  .m-xl-n2 {\n    margin: -0.5rem !important;\n  }\n\n  .mt-xl-n2,\n.my-xl-n2 {\n    margin-top: -0.5rem !important;\n  }\n\n  .mr-xl-n2,\n.mx-xl-n2 {\n    margin-right: -0.5rem !important;\n  }\n\n  .mb-xl-n2,\n.my-xl-n2 {\n    margin-bottom: -0.5rem !important;\n  }\n\n  .ml-xl-n2,\n.mx-xl-n2 {\n    margin-left: -0.5rem !important;\n  }\n\n  .m-xl-n3 {\n    margin: -1rem !important;\n  }\n\n  .mt-xl-n3,\n.my-xl-n3 {\n    margin-top: -1rem !important;\n  }\n\n  .mr-xl-n3,\n.mx-xl-n3 {\n    margin-right: -1rem !important;\n  }\n\n  .mb-xl-n3,\n.my-xl-n3 {\n    margin-bottom: -1rem !important;\n  }\n\n  .ml-xl-n3,\n.mx-xl-n3 {\n    margin-left: -1rem !important;\n  }\n\n  .m-xl-n4 {\n    margin: -1.5rem !important;\n  }\n\n  .mt-xl-n4,\n.my-xl-n4 {\n    margin-top: -1.5rem !important;\n  }\n\n  .mr-xl-n4,\n.mx-xl-n4 {\n    margin-right: -1.5rem !important;\n  }\n\n  .mb-xl-n4,\n.my-xl-n4 {\n    margin-bottom: -1.5rem !important;\n  }\n\n  .ml-xl-n4,\n.mx-xl-n4 {\n    margin-left: -1.5rem !important;\n  }\n\n  .m-xl-n5 {\n    margin: -3rem !important;\n  }\n\n  .mt-xl-n5,\n.my-xl-n5 {\n    margin-top: -3rem !important;\n  }\n\n  .mr-xl-n5,\n.mx-xl-n5 {\n    margin-right: -3rem !important;\n  }\n\n  .mb-xl-n5,\n.my-xl-n5 {\n    margin-bottom: -3rem !important;\n  }\n\n  .ml-xl-n5,\n.mx-xl-n5 {\n    margin-left: -3rem !important;\n  }\n\n  .m-xl-auto {\n    margin: auto !important;\n  }\n\n  .mt-xl-auto,\n.my-xl-auto {\n    margin-top: auto !important;\n  }\n\n  .mr-xl-auto,\n.mx-xl-auto {\n    margin-right: auto !important;\n  }\n\n  .mb-xl-auto,\n.my-xl-auto {\n    margin-bottom: auto !important;\n  }\n\n  .ml-xl-auto,\n.mx-xl-auto {\n    margin-left: auto !important;\n  }\n}\n.text-monospace {\n  font-family: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !important;\n}\n\n.text-justify {\n  text-align: justify !important;\n}\n\n.text-wrap {\n  white-space: normal !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.text-left {\n  text-align: left !important;\n}\n\n.text-right {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n@media (min-width: 576px) {\n  .text-sm-left {\n    text-align: left !important;\n  }\n\n  .text-sm-right {\n    text-align: right !important;\n  }\n\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 768px) {\n  .text-md-left {\n    text-align: left !important;\n  }\n\n  .text-md-right {\n    text-align: right !important;\n  }\n\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 992px) {\n  .text-lg-left {\n    text-align: left !important;\n  }\n\n  .text-lg-right {\n    text-align: right !important;\n  }\n\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1200px) {\n  .text-xl-left {\n    text-align: left !important;\n  }\n\n  .text-xl-right {\n    text-align: right !important;\n  }\n\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.font-weight-light {\n  font-weight: 300 !important;\n}\n\n.font-weight-lighter {\n  font-weight: lighter !important;\n}\n\n.font-weight-normal {\n  font-weight: 400 !important;\n}\n\n.font-weight-bold {\n  font-weight: 700 !important;\n}\n\n.font-weight-bolder {\n  font-weight: bolder !important;\n}\n\n.font-italic {\n  font-style: italic !important;\n}\n\n.text-white {\n  color: #fff !important;\n}\n\n.text-primary {\n  color: #007bff !important;\n}\n\na.text-primary:hover, a.text-primary:focus {\n  color: #0056b3 !important;\n}\n\n.text-secondary {\n  color: #6c757d !important;\n}\n\na.text-secondary:hover, a.text-secondary:focus {\n  color: #494f54 !important;\n}\n\n.text-success {\n  color: #28a745 !important;\n}\n\na.text-success:hover, a.text-success:focus {\n  color: #19692c !important;\n}\n\n.text-info {\n  color: #17a2b8 !important;\n}\n\na.text-info:hover, a.text-info:focus {\n  color: #0f6674 !important;\n}\n\n.text-warning {\n  color: #ffc107 !important;\n}\n\na.text-warning:hover, a.text-warning:focus {\n  color: #ba8b00 !important;\n}\n\n.text-danger {\n  color: #dc3545 !important;\n}\n\na.text-danger:hover, a.text-danger:focus {\n  color: #a71d2a !important;\n}\n\n.text-light {\n  color: #f8f9fa !important;\n}\n\na.text-light:hover, a.text-light:focus {\n  color: #cbd3da !important;\n}\n\n.text-dark {\n  color: #343a40 !important;\n}\n\na.text-dark:hover, a.text-dark:focus {\n  color: #121416 !important;\n}\n\n.text-body {\n  color: #212529 !important;\n}\n\n.text-muted {\n  color: #6c757d !important;\n}\n\n.text-black-50 {\n  color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n  color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-break {\n  word-break: break-word !important;\n  overflow-wrap: break-word !important;\n}\n\n.text-reset {\n  color: inherit !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n@media print {\n  *,\n*::before,\n*::after {\n    text-shadow: none !important;\n    box-shadow: none !important;\n  }\n\n  a:not(.btn) {\n    text-decoration: underline;\n  }\n\n  abbr[title]::after {\n    content: \" (\" attr(title) \")\";\n  }\n\n  pre {\n    white-space: pre-wrap !important;\n  }\n\n  pre,\nblockquote {\n    border: 1px solid #adb5bd;\n    page-break-inside: avoid;\n  }\n\n  thead {\n    display: table-header-group;\n  }\n\n  tr,\nimg {\n    page-break-inside: avoid;\n  }\n\n  p,\nh2,\nh3 {\n    orphans: 3;\n    widows: 3;\n  }\n\n  h2,\nh3 {\n    page-break-after: avoid;\n  }\n\n  @page {\n    size: a3;\n  }\n  body {\n    min-width: 992px !important;\n  }\n\n  .container {\n    min-width: 992px !important;\n  }\n\n  .navbar {\n    display: none;\n  }\n\n  .badge {\n    border: 1px solid #000;\n  }\n\n  .table {\n    border-collapse: collapse !important;\n  }\n  .table td,\n.table th {\n    background-color: #fff !important;\n  }\n\n  .table-bordered th,\n.table-bordered td {\n    border: 1px solid #dee2e6 !important;\n  }\n\n  .table-dark {\n    color: inherit;\n  }\n  .table-dark th,\n.table-dark td,\n.table-dark thead th,\n.table-dark tbody + tbody {\n    border-color: #dee2e6;\n  }\n\n  .table .thead-dark th {\n    color: inherit;\n    border-color: #dee2e6;\n  }\n}\nbody {\n  font-family: \"Circular Std\";\n  background: #ffffff;\n  height: 100%;\n  -webkit-font-smoothing: antialiased;\n  min-height: 100vh;\n  flex-direction: column;\n  overflow-x: hidden;\n  text-rendering: optimizeLegibility !important;\n  -webkit-font-smoothing: antialiased !important;\n  -moz-osx-font-smoothing: grayscale;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\na,\nul {\n  margin: 0;\n  padding: 0;\n  line-height: normal;\n  list-style-type: none;\n}\n\na {\n  text-decoration: none !important;\n  list-style-type: none !important;\n  transition: all 0.3s ease-in-out;\n}\na:hover {\n  opacity: 0.7;\n}\n\n[type=reset],\n[type=submit],\nbutton,\nhtml [type=button] {\n  -webkit-appearance: inherit;\n}\n\nimg {\n  width: 100%;\n}\n\n@media screen and (min-width: 1250px) {\n  .container {\n    width: 1250px;\n    max-width: 100%;\n  }\n}\n\n.vendi-project-title-main {\n  font-size: 30px;\n  font-weight: 400;\n  color: #272A4A;\n  line-height: 45px;\n}\n@media (max-width: 991px) {\n  .vendi-project-title-main {\n    font-size: 24px;\n    line-height: 35px;\n  }\n}\n@media (max-width: 767px) {\n  .vendi-project-title-main {\n    font-size: 18px;\n    line-height: 30px;\n  }\n}\n\n.vendi-page-title-main {\n  font-size: 45px;\n  font-weight: 400;\n  color: #272A4A;\n  line-height: 45px;\n}\n@media (max-width: 991px) {\n  .vendi-page-title-main {\n    font-size: 36px;\n    line-height: 35px;\n  }\n}\n@media (max-width: 767px) {\n  .vendi-page-title-main {\n    font-size: 27px;\n    line-height: 30px;\n  }\n}"
  },
  {
    "path": "public/images/favicons/browserconfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<browserconfig><msapplication><tile><square70x70logo src=\"/ms-icon-70x70.png\"/><square150x150logo src=\"/ms-icon-150x150.png\"/><square310x310logo src=\"/ms-icon-310x310.png\"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>"
  },
  {
    "path": "public/images/favicons/manifest.json",
    "content": "{\n \"name\": \"App\",\n \"icons\": [\n  {\n   \"src\": \"\\/android-icon-36x36.png\",\n   \"sizes\": \"36x36\",\n   \"type\": \"image\\/png\",\n   \"density\": \"0.75\"\n  },\n  {\n   \"src\": \"\\/android-icon-48x48.png\",\n   \"sizes\": \"48x48\",\n   \"type\": \"image\\/png\",\n   \"density\": \"1.0\"\n  },\n  {\n   \"src\": \"\\/android-icon-72x72.png\",\n   \"sizes\": \"72x72\",\n   \"type\": \"image\\/png\",\n   \"density\": \"1.5\"\n  },\n  {\n   \"src\": \"\\/android-icon-96x96.png\",\n   \"sizes\": \"96x96\",\n   \"type\": \"image\\/png\",\n   \"density\": \"2.0\"\n  },\n  {\n   \"src\": \"\\/android-icon-144x144.png\",\n   \"sizes\": \"144x144\",\n   \"type\": \"image\\/png\",\n   \"density\": \"3.0\"\n  },\n  {\n   \"src\": \"\\/android-icon-192x192.png\",\n   \"sizes\": \"192x192\",\n   \"type\": \"image\\/png\",\n   \"density\": \"4.0\"\n  }\n ]\n}"
  },
  {
    "path": "public/index.php",
    "content": "<?php\n\n/**\n * Laravel - A PHP Framework For Web Artisans\n *\n * @package  Laravel\n * @author   Taylor Otwell <taylor@laravel.com>\n */\n\ndefine('LARAVEL_START', microtime(true));\n\n/*\n|--------------------------------------------------------------------------\n| Register The Auto Loader\n|--------------------------------------------------------------------------\n|\n| Composer provides a convenient, automatically generated class loader for\n| our application. We just need to utilize it! We'll simply require it\n| into the script here so that we don't have to worry about manual\n| loading any of our classes later on. It feels great to relax.\n|\n*/\n\nrequire __DIR__.'/../vendor/autoload.php';\n\n/*\n|--------------------------------------------------------------------------\n| Turn On The Lights\n|--------------------------------------------------------------------------\n|\n| We need to illuminate PHP development, so let us turn on the lights.\n| This bootstraps the framework and gets it ready for use, then it\n| will load up this application so that we can run it and send\n| the responses back to the browser and delight our users.\n|\n*/\n\n$app = require_once __DIR__.'/../bootstrap/app.php';\n\n/*\n|--------------------------------------------------------------------------\n| Run The Application\n|--------------------------------------------------------------------------\n|\n| Once we have the application, we can handle the incoming request\n| through the kernel, and send the associated response back to\n| the client's browser allowing them to enjoy the creative\n| and wonderful application we have prepared for them.\n|\n*/\n\n$kernel = $app->make(Illuminate\\Contracts\\Http\\Kernel::class);\n\n$response = $kernel->handle(\n    $request = Illuminate\\Http\\Request::capture()\n);\n\n$response->send();\n\n$kernel->terminate($request, $response);\n"
  },
  {
    "path": "public/js/app.js",
    "content": "/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"/\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"./node_modules/axios/index.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/axios/index.js ***!\n  \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"module.exports = __webpack_require__(/*! ./lib/axios */ \\\"./node_modules/axios/lib/axios.js\\\");//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvaW5kZXguanM/YmMzYSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUIsbUJBQU8sQ0FBQyxzREFBYSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvYXhpb3MnKTsiXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/adapters/xhr.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/axios/lib/adapters/xhr.js ***!\n  \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\nvar settle = __webpack_require__(/*! ./../core/settle */ \\\"./node_modules/axios/lib/core/settle.js\\\");\\nvar buildURL = __webpack_require__(/*! ./../helpers/buildURL */ \\\"./node_modules/axios/lib/helpers/buildURL.js\\\");\\nvar buildFullPath = __webpack_require__(/*! ../core/buildFullPath */ \\\"./node_modules/axios/lib/core/buildFullPath.js\\\");\\nvar parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ \\\"./node_modules/axios/lib/helpers/parseHeaders.js\\\");\\nvar isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ \\\"./node_modules/axios/lib/helpers/isURLSameOrigin.js\\\");\\nvar createError = __webpack_require__(/*! ../core/createError */ \\\"./node_modules/axios/lib/core/createError.js\\\");\\n\\nmodule.exports = function xhrAdapter(config) {\\n  return new Promise(function dispatchXhrRequest(resolve, reject) {\\n    var requestData = config.data;\\n    var requestHeaders = config.headers;\\n\\n    if (utils.isFormData(requestData)) {\\n      delete requestHeaders['Content-Type']; // Let the browser set it\\n    }\\n\\n    var request = new XMLHttpRequest();\\n\\n    // HTTP basic authentication\\n    if (config.auth) {\\n      var username = config.auth.username || '';\\n      var password = config.auth.password || '';\\n      requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\\n    }\\n\\n    var fullPath = buildFullPath(config.baseURL, config.url);\\n    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\\n\\n    // Set the request timeout in MS\\n    request.timeout = config.timeout;\\n\\n    // Listen for ready state\\n    request.onreadystatechange = function handleLoad() {\\n      if (!request || request.readyState !== 4) {\\n        return;\\n      }\\n\\n      // The request errored out and we didn't get a response, this will be\\n      // handled by onerror instead\\n      // With one exception: request that using file: protocol, most browsers\\n      // will return status as 0 even though it's a successful request\\n      if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\\n        return;\\n      }\\n\\n      // Prepare the response\\n      var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\\n      var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;\\n      var response = {\\n        data: responseData,\\n        status: request.status,\\n        statusText: request.statusText,\\n        headers: responseHeaders,\\n        config: config,\\n        request: request\\n      };\\n\\n      settle(resolve, reject, response);\\n\\n      // Clean up request\\n      request = null;\\n    };\\n\\n    // Handle browser request cancellation (as opposed to a manual cancellation)\\n    request.onabort = function handleAbort() {\\n      if (!request) {\\n        return;\\n      }\\n\\n      reject(createError('Request aborted', config, 'ECONNABORTED', request));\\n\\n      // Clean up request\\n      request = null;\\n    };\\n\\n    // Handle low level network errors\\n    request.onerror = function handleError() {\\n      // Real errors are hidden from us by the browser\\n      // onerror should only fire if it's a network error\\n      reject(createError('Network Error', config, null, request));\\n\\n      // Clean up request\\n      request = null;\\n    };\\n\\n    // Handle timeout\\n    request.ontimeout = function handleTimeout() {\\n      var timeoutErrorMessage = 'timeout of ' + config.timeout + 'ms exceeded';\\n      if (config.timeoutErrorMessage) {\\n        timeoutErrorMessage = config.timeoutErrorMessage;\\n      }\\n      reject(createError(timeoutErrorMessage, config, 'ECONNABORTED',\\n        request));\\n\\n      // Clean up request\\n      request = null;\\n    };\\n\\n    // Add xsrf header\\n    // This is only done if running in a standard browser environment.\\n    // Specifically not if we're in a web worker, or react-native.\\n    if (utils.isStandardBrowserEnv()) {\\n      var cookies = __webpack_require__(/*! ./../helpers/cookies */ \\\"./node_modules/axios/lib/helpers/cookies.js\\\");\\n\\n      // Add xsrf header\\n      var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\\n        cookies.read(config.xsrfCookieName) :\\n        undefined;\\n\\n      if (xsrfValue) {\\n        requestHeaders[config.xsrfHeaderName] = xsrfValue;\\n      }\\n    }\\n\\n    // Add headers to the request\\n    if ('setRequestHeader' in request) {\\n      utils.forEach(requestHeaders, function setRequestHeader(val, key) {\\n        if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\\n          // Remove Content-Type if data is undefined\\n          delete requestHeaders[key];\\n        } else {\\n          // Otherwise add header to the request\\n          request.setRequestHeader(key, val);\\n        }\\n      });\\n    }\\n\\n    // Add withCredentials to request if needed\\n    if (!utils.isUndefined(config.withCredentials)) {\\n      request.withCredentials = !!config.withCredentials;\\n    }\\n\\n    // Add responseType to request if needed\\n    if (config.responseType) {\\n      try {\\n        request.responseType = config.responseType;\\n      } catch (e) {\\n        // Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.\\n        // But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.\\n        if (config.responseType !== 'json') {\\n          throw e;\\n        }\\n      }\\n    }\\n\\n    // Handle progress if needed\\n    if (typeof config.onDownloadProgress === 'function') {\\n      request.addEventListener('progress', config.onDownloadProgress);\\n    }\\n\\n    // Not all browsers support upload events\\n    if (typeof config.onUploadProgress === 'function' && request.upload) {\\n      request.upload.addEventListener('progress', config.onUploadProgress);\\n    }\\n\\n    if (config.cancelToken) {\\n      // Handle cancellation\\n      config.cancelToken.promise.then(function onCanceled(cancel) {\\n        if (!request) {\\n          return;\\n        }\\n\\n        request.abort();\\n        reject(cancel);\\n        // Clean up request\\n        request = null;\\n      });\\n    }\\n\\n    if (requestData === undefined) {\\n      requestData = null;\\n    }\\n\\n    // Send the request\\n    request.send(requestData);\\n  });\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2FkYXB0ZXJzL3hoci5qcz9iNTBkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLFlBQVksbUJBQU8sQ0FBQyxxREFBWTtBQUNoQyxhQUFhLG1CQUFPLENBQUMsaUVBQWtCO0FBQ3ZDLGVBQWUsbUJBQU8sQ0FBQywyRUFBdUI7QUFDOUMsb0JBQW9CLG1CQUFPLENBQUMsNkVBQXVCO0FBQ25ELG1CQUFtQixtQkFBTyxDQUFDLG1GQUEyQjtBQUN0RCxzQkFBc0IsbUJBQU8sQ0FBQyx5RkFBOEI7QUFDNUQsa0JBQWtCLG1CQUFPLENBQUMseUVBQXFCOztBQUUvQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRDQUE0QztBQUM1Qzs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0IsbUJBQU8sQ0FBQyx5RUFBc0I7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9hZGFwdGVycy94aHIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vLi4vdXRpbHMnKTtcbnZhciBzZXR0bGUgPSByZXF1aXJlKCcuLy4uL2NvcmUvc2V0dGxlJyk7XG52YXIgYnVpbGRVUkwgPSByZXF1aXJlKCcuLy4uL2hlbHBlcnMvYnVpbGRVUkwnKTtcbnZhciBidWlsZEZ1bGxQYXRoID0gcmVxdWlyZSgnLi4vY29yZS9idWlsZEZ1bGxQYXRoJyk7XG52YXIgcGFyc2VIZWFkZXJzID0gcmVxdWlyZSgnLi8uLi9oZWxwZXJzL3BhcnNlSGVhZGVycycpO1xudmFyIGlzVVJMU2FtZU9yaWdpbiA9IHJlcXVpcmUoJy4vLi4vaGVscGVycy9pc1VSTFNhbWVPcmlnaW4nKTtcbnZhciBjcmVhdGVFcnJvciA9IHJlcXVpcmUoJy4uL2NvcmUvY3JlYXRlRXJyb3InKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB4aHJBZGFwdGVyKGNvbmZpZykge1xuICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gZGlzcGF0Y2hYaHJSZXF1ZXN0KHJlc29sdmUsIHJlamVjdCkge1xuICAgIHZhciByZXF1ZXN0RGF0YSA9IGNvbmZpZy5kYXRhO1xuICAgIHZhciByZXF1ZXN0SGVhZGVycyA9IGNvbmZpZy5oZWFkZXJzO1xuXG4gICAgaWYgKHV0aWxzLmlzRm9ybURhdGEocmVxdWVzdERhdGEpKSB7XG4gICAgICBkZWxldGUgcmVxdWVzdEhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddOyAvLyBMZXQgdGhlIGJyb3dzZXIgc2V0IGl0XG4gICAgfVxuXG4gICAgdmFyIHJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICAgIC8vIEhUVFAgYmFzaWMgYXV0aGVudGljYXRpb25cbiAgICBpZiAoY29uZmlnLmF1dGgpIHtcbiAgICAgIHZhciB1c2VybmFtZSA9IGNvbmZpZy5hdXRoLnVzZXJuYW1lIHx8ICcnO1xuICAgICAgdmFyIHBhc3N3b3JkID0gY29uZmlnLmF1dGgucGFzc3dvcmQgfHwgJyc7XG4gICAgICByZXF1ZXN0SGVhZGVycy5BdXRob3JpemF0aW9uID0gJ0Jhc2ljICcgKyBidG9hKHVzZXJuYW1lICsgJzonICsgcGFzc3dvcmQpO1xuICAgIH1cblxuICAgIHZhciBmdWxsUGF0aCA9IGJ1aWxkRnVsbFBhdGgoY29uZmlnLmJhc2VVUkwsIGNvbmZpZy51cmwpO1xuICAgIHJlcXVlc3Qub3Blbihjb25maWcubWV0aG9kLnRvVXBwZXJDYXNlKCksIGJ1aWxkVVJMKGZ1bGxQYXRoLCBjb25maWcucGFyYW1zLCBjb25maWcucGFyYW1zU2VyaWFsaXplciksIHRydWUpO1xuXG4gICAgLy8gU2V0IHRoZSByZXF1ZXN0IHRpbWVvdXQgaW4gTVNcbiAgICByZXF1ZXN0LnRpbWVvdXQgPSBjb25maWcudGltZW91dDtcblxuICAgIC8vIExpc3RlbiBmb3IgcmVhZHkgc3RhdGVcbiAgICByZXF1ZXN0Lm9ucmVhZHlzdGF0ZWNoYW5nZSA9IGZ1bmN0aW9uIGhhbmRsZUxvYWQoKSB7XG4gICAgICBpZiAoIXJlcXVlc3QgfHwgcmVxdWVzdC5yZWFkeVN0YXRlICE9PSA0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gVGhlIHJlcXVlc3QgZXJyb3JlZCBvdXQgYW5kIHdlIGRpZG4ndCBnZXQgYSByZXNwb25zZSwgdGhpcyB3aWxsIGJlXG4gICAgICAvLyBoYW5kbGVkIGJ5IG9uZXJyb3IgaW5zdGVhZFxuICAgICAgLy8gV2l0aCBvbmUgZXhjZXB0aW9uOiByZXF1ZXN0IHRoYXQgdXNpbmcgZmlsZTogcHJvdG9jb2wsIG1vc3QgYnJvd3NlcnNcbiAgICAgIC8vIHdpbGwgcmV0dXJuIHN0YXR1cyBhcyAwIGV2ZW4gdGhvdWdoIGl0J3MgYSBzdWNjZXNzZnVsIHJlcXVlc3RcbiAgICAgIGlmIChyZXF1ZXN0LnN0YXR1cyA9PT0gMCAmJiAhKHJlcXVlc3QucmVzcG9uc2VVUkwgJiYgcmVxdWVzdC5yZXNwb25zZVVSTC5pbmRleE9mKCdmaWxlOicpID09PSAwKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIFByZXBhcmUgdGhlIHJlc3BvbnNlXG4gICAgICB2YXIgcmVzcG9uc2VIZWFkZXJzID0gJ2dldEFsbFJlc3BvbnNlSGVhZGVycycgaW4gcmVxdWVzdCA/IHBhcnNlSGVhZGVycyhyZXF1ZXN0LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSA6IG51bGw7XG4gICAgICB2YXIgcmVzcG9uc2VEYXRhID0gIWNvbmZpZy5yZXNwb25zZVR5cGUgfHwgY29uZmlnLnJlc3BvbnNlVHlwZSA9PT0gJ3RleHQnID8gcmVxdWVzdC5yZXNwb25zZVRleHQgOiByZXF1ZXN0LnJlc3BvbnNlO1xuICAgICAgdmFyIHJlc3BvbnNlID0ge1xuICAgICAgICBkYXRhOiByZXNwb25zZURhdGEsXG4gICAgICAgIHN0YXR1czogcmVxdWVzdC5zdGF0dXMsXG4gICAgICAgIHN0YXR1c1RleHQ6IHJlcXVlc3Quc3RhdHVzVGV4dCxcbiAgICAgICAgaGVhZGVyczogcmVzcG9uc2VIZWFkZXJzLFxuICAgICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdFxuICAgICAgfTtcblxuICAgICAgc2V0dGxlKHJlc29sdmUsIHJlamVjdCwgcmVzcG9uc2UpO1xuXG4gICAgICAvLyBDbGVhbiB1cCByZXF1ZXN0XG4gICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICB9O1xuXG4gICAgLy8gSGFuZGxlIGJyb3dzZXIgcmVxdWVzdCBjYW5jZWxsYXRpb24gKGFzIG9wcG9zZWQgdG8gYSBtYW51YWwgY2FuY2VsbGF0aW9uKVxuICAgIHJlcXVlc3Qub25hYm9ydCA9IGZ1bmN0aW9uIGhhbmRsZUFib3J0KCkge1xuICAgICAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgcmVqZWN0KGNyZWF0ZUVycm9yKCdSZXF1ZXN0IGFib3J0ZWQnLCBjb25maWcsICdFQ09OTkFCT1JURUQnLCByZXF1ZXN0KSk7XG5cbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcbiAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgIH07XG5cbiAgICAvLyBIYW5kbGUgbG93IGxldmVsIG5ldHdvcmsgZXJyb3JzXG4gICAgcmVxdWVzdC5vbmVycm9yID0gZnVuY3Rpb24gaGFuZGxlRXJyb3IoKSB7XG4gICAgICAvLyBSZWFsIGVycm9ycyBhcmUgaGlkZGVuIGZyb20gdXMgYnkgdGhlIGJyb3dzZXJcbiAgICAgIC8vIG9uZXJyb3Igc2hvdWxkIG9ubHkgZmlyZSBpZiBpdCdzIGEgbmV0d29yayBlcnJvclxuICAgICAgcmVqZWN0KGNyZWF0ZUVycm9yKCdOZXR3b3JrIEVycm9yJywgY29uZmlnLCBudWxsLCByZXF1ZXN0KSk7XG5cbiAgICAgIC8vIENsZWFuIHVwIHJlcXVlc3RcbiAgICAgIHJlcXVlc3QgPSBudWxsO1xuICAgIH07XG5cbiAgICAvLyBIYW5kbGUgdGltZW91dFxuICAgIHJlcXVlc3Qub250aW1lb3V0ID0gZnVuY3Rpb24gaGFuZGxlVGltZW91dCgpIHtcbiAgICAgIHZhciB0aW1lb3V0RXJyb3JNZXNzYWdlID0gJ3RpbWVvdXQgb2YgJyArIGNvbmZpZy50aW1lb3V0ICsgJ21zIGV4Y2VlZGVkJztcbiAgICAgIGlmIChjb25maWcudGltZW91dEVycm9yTWVzc2FnZSkge1xuICAgICAgICB0aW1lb3V0RXJyb3JNZXNzYWdlID0gY29uZmlnLnRpbWVvdXRFcnJvck1lc3NhZ2U7XG4gICAgICB9XG4gICAgICByZWplY3QoY3JlYXRlRXJyb3IodGltZW91dEVycm9yTWVzc2FnZSwgY29uZmlnLCAnRUNPTk5BQk9SVEVEJyxcbiAgICAgICAgcmVxdWVzdCkpO1xuXG4gICAgICAvLyBDbGVhbiB1cCByZXF1ZXN0XG4gICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICB9O1xuXG4gICAgLy8gQWRkIHhzcmYgaGVhZGVyXG4gICAgLy8gVGhpcyBpcyBvbmx5IGRvbmUgaWYgcnVubmluZyBpbiBhIHN0YW5kYXJkIGJyb3dzZXIgZW52aXJvbm1lbnQuXG4gICAgLy8gU3BlY2lmaWNhbGx5IG5vdCBpZiB3ZSdyZSBpbiBhIHdlYiB3b3JrZXIsIG9yIHJlYWN0LW5hdGl2ZS5cbiAgICBpZiAodXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSkge1xuICAgICAgdmFyIGNvb2tpZXMgPSByZXF1aXJlKCcuLy4uL2hlbHBlcnMvY29va2llcycpO1xuXG4gICAgICAvLyBBZGQgeHNyZiBoZWFkZXJcbiAgICAgIHZhciB4c3JmVmFsdWUgPSAoY29uZmlnLndpdGhDcmVkZW50aWFscyB8fCBpc1VSTFNhbWVPcmlnaW4oZnVsbFBhdGgpKSAmJiBjb25maWcueHNyZkNvb2tpZU5hbWUgP1xuICAgICAgICBjb29raWVzLnJlYWQoY29uZmlnLnhzcmZDb29raWVOYW1lKSA6XG4gICAgICAgIHVuZGVmaW5lZDtcblxuICAgICAgaWYgKHhzcmZWYWx1ZSkge1xuICAgICAgICByZXF1ZXN0SGVhZGVyc1tjb25maWcueHNyZkhlYWRlck5hbWVdID0geHNyZlZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBoZWFkZXJzIHRvIHRoZSByZXF1ZXN0XG4gICAgaWYgKCdzZXRSZXF1ZXN0SGVhZGVyJyBpbiByZXF1ZXN0KSB7XG4gICAgICB1dGlscy5mb3JFYWNoKHJlcXVlc3RIZWFkZXJzLCBmdW5jdGlvbiBzZXRSZXF1ZXN0SGVhZGVyKHZhbCwga2V5KSB7XG4gICAgICAgIGlmICh0eXBlb2YgcmVxdWVzdERhdGEgPT09ICd1bmRlZmluZWQnICYmIGtleS50b0xvd2VyQ2FzZSgpID09PSAnY29udGVudC10eXBlJykge1xuICAgICAgICAgIC8vIFJlbW92ZSBDb250ZW50LVR5cGUgaWYgZGF0YSBpcyB1bmRlZmluZWRcbiAgICAgICAgICBkZWxldGUgcmVxdWVzdEhlYWRlcnNba2V5XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBPdGhlcndpc2UgYWRkIGhlYWRlciB0byB0aGUgcmVxdWVzdFxuICAgICAgICAgIHJlcXVlc3Quc2V0UmVxdWVzdEhlYWRlcihrZXksIHZhbCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCB3aXRoQ3JlZGVudGlhbHMgdG8gcmVxdWVzdCBpZiBuZWVkZWRcbiAgICBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGNvbmZpZy53aXRoQ3JlZGVudGlhbHMpKSB7XG4gICAgICByZXF1ZXN0LndpdGhDcmVkZW50aWFscyA9ICEhY29uZmlnLndpdGhDcmVkZW50aWFscztcbiAgICB9XG5cbiAgICAvLyBBZGQgcmVzcG9uc2VUeXBlIHRvIHJlcXVlc3QgaWYgbmVlZGVkXG4gICAgaWYgKGNvbmZpZy5yZXNwb25zZVR5cGUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlcXVlc3QucmVzcG9uc2VUeXBlID0gY29uZmlnLnJlc3BvbnNlVHlwZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gRXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHRocm93biBieSBicm93c2VycyBub3QgY29tcGF0aWJsZSBYTUxIdHRwUmVxdWVzdCBMZXZlbCAyLlxuICAgICAgICAvLyBCdXQsIHRoaXMgY2FuIGJlIHN1cHByZXNzZWQgZm9yICdqc29uJyB0eXBlIGFzIGl0IGNhbiBiZSBwYXJzZWQgYnkgZGVmYXVsdCAndHJhbnNmb3JtUmVzcG9uc2UnIGZ1bmN0aW9uLlxuICAgICAgICBpZiAoY29uZmlnLnJlc3BvbnNlVHlwZSAhPT0gJ2pzb24nKSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbmRsZSBwcm9ncmVzcyBpZiBuZWVkZWRcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5vbkRvd25sb2FkUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlcXVlc3QuYWRkRXZlbnRMaXN0ZW5lcigncHJvZ3Jlc3MnLCBjb25maWcub25Eb3dubG9hZFByb2dyZXNzKTtcbiAgICB9XG5cbiAgICAvLyBOb3QgYWxsIGJyb3dzZXJzIHN1cHBvcnQgdXBsb2FkIGV2ZW50c1xuICAgIGlmICh0eXBlb2YgY29uZmlnLm9uVXBsb2FkUHJvZ3Jlc3MgPT09ICdmdW5jdGlvbicgJiYgcmVxdWVzdC51cGxvYWQpIHtcbiAgICAgIHJlcXVlc3QudXBsb2FkLmFkZEV2ZW50TGlzdGVuZXIoJ3Byb2dyZXNzJywgY29uZmlnLm9uVXBsb2FkUHJvZ3Jlc3MpO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuY2FuY2VsVG9rZW4pIHtcbiAgICAgIC8vIEhhbmRsZSBjYW5jZWxsYXRpb25cbiAgICAgIGNvbmZpZy5jYW5jZWxUb2tlbi5wcm9taXNlLnRoZW4oZnVuY3Rpb24gb25DYW5jZWxlZChjYW5jZWwpIHtcbiAgICAgICAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmVxdWVzdC5hYm9ydCgpO1xuICAgICAgICByZWplY3QoY2FuY2VsKTtcbiAgICAgICAgLy8gQ2xlYW4gdXAgcmVxdWVzdFxuICAgICAgICByZXF1ZXN0ID0gbnVsbDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChyZXF1ZXN0RGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXF1ZXN0RGF0YSA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8gU2VuZCB0aGUgcmVxdWVzdFxuICAgIHJlcXVlc3Quc2VuZChyZXF1ZXN0RGF0YSk7XG4gIH0pO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/adapters/xhr.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/axios.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/axios/lib/axios.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\nvar bind = __webpack_require__(/*! ./helpers/bind */ \\\"./node_modules/axios/lib/helpers/bind.js\\\");\\nvar Axios = __webpack_require__(/*! ./core/Axios */ \\\"./node_modules/axios/lib/core/Axios.js\\\");\\nvar mergeConfig = __webpack_require__(/*! ./core/mergeConfig */ \\\"./node_modules/axios/lib/core/mergeConfig.js\\\");\\nvar defaults = __webpack_require__(/*! ./defaults */ \\\"./node_modules/axios/lib/defaults.js\\\");\\n\\n/**\\n * Create an instance of Axios\\n *\\n * @param {Object} defaultConfig The default config for the instance\\n * @return {Axios} A new instance of Axios\\n */\\nfunction createInstance(defaultConfig) {\\n  var context = new Axios(defaultConfig);\\n  var instance = bind(Axios.prototype.request, context);\\n\\n  // Copy axios.prototype to instance\\n  utils.extend(instance, Axios.prototype, context);\\n\\n  // Copy context to instance\\n  utils.extend(instance, context);\\n\\n  return instance;\\n}\\n\\n// Create the default instance to be exported\\nvar axios = createInstance(defaults);\\n\\n// Expose Axios class to allow class inheritance\\naxios.Axios = Axios;\\n\\n// Factory for creating new instances\\naxios.create = function create(instanceConfig) {\\n  return createInstance(mergeConfig(axios.defaults, instanceConfig));\\n};\\n\\n// Expose Cancel & CancelToken\\naxios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ \\\"./node_modules/axios/lib/cancel/Cancel.js\\\");\\naxios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ \\\"./node_modules/axios/lib/cancel/CancelToken.js\\\");\\naxios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ \\\"./node_modules/axios/lib/cancel/isCancel.js\\\");\\n\\n// Expose all/spread\\naxios.all = function all(promises) {\\n  return Promise.all(promises);\\n};\\naxios.spread = __webpack_require__(/*! ./helpers/spread */ \\\"./node_modules/axios/lib/helpers/spread.js\\\");\\n\\nmodule.exports = axios;\\n\\n// Allow use of default import syntax in TypeScript\\nmodule.exports.default = axios;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzP2NlZTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsWUFBWSxtQkFBTyxDQUFDLGtEQUFTO0FBQzdCLFdBQVcsbUJBQU8sQ0FBQyxnRUFBZ0I7QUFDbkMsWUFBWSxtQkFBTyxDQUFDLDREQUFjO0FBQ2xDLGtCQUFrQixtQkFBTyxDQUFDLHdFQUFvQjtBQUM5QyxlQUFlLG1CQUFPLENBQUMsd0RBQVk7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZLE1BQU07QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZUFBZSxtQkFBTyxDQUFDLGtFQUFpQjtBQUN4QyxvQkFBb0IsbUJBQU8sQ0FBQyw0RUFBc0I7QUFDbEQsaUJBQWlCLG1CQUFPLENBQUMsc0VBQW1COztBQUU1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsbUJBQU8sQ0FBQyxvRUFBa0I7O0FBRXpDOztBQUVBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2F4aW9zLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzJyk7XG52YXIgYmluZCA9IHJlcXVpcmUoJy4vaGVscGVycy9iaW5kJyk7XG52YXIgQXhpb3MgPSByZXF1aXJlKCcuL2NvcmUvQXhpb3MnKTtcbnZhciBtZXJnZUNvbmZpZyA9IHJlcXVpcmUoJy4vY29yZS9tZXJnZUNvbmZpZycpO1xudmFyIGRlZmF1bHRzID0gcmVxdWlyZSgnLi9kZWZhdWx0cycpO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBpbnN0YW5jZSBvZiBBeGlvc1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBkZWZhdWx0Q29uZmlnIFRoZSBkZWZhdWx0IGNvbmZpZyBmb3IgdGhlIGluc3RhbmNlXG4gKiBAcmV0dXJuIHtBeGlvc30gQSBuZXcgaW5zdGFuY2Ugb2YgQXhpb3NcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSW5zdGFuY2UoZGVmYXVsdENvbmZpZykge1xuICB2YXIgY29udGV4dCA9IG5ldyBBeGlvcyhkZWZhdWx0Q29uZmlnKTtcbiAgdmFyIGluc3RhbmNlID0gYmluZChBeGlvcy5wcm90b3R5cGUucmVxdWVzdCwgY29udGV4dCk7XG5cbiAgLy8gQ29weSBheGlvcy5wcm90b3R5cGUgdG8gaW5zdGFuY2VcbiAgdXRpbHMuZXh0ZW5kKGluc3RhbmNlLCBBeGlvcy5wcm90b3R5cGUsIGNvbnRleHQpO1xuXG4gIC8vIENvcHkgY29udGV4dCB0byBpbnN0YW5jZVxuICB1dGlscy5leHRlbmQoaW5zdGFuY2UsIGNvbnRleHQpO1xuXG4gIHJldHVybiBpbnN0YW5jZTtcbn1cblxuLy8gQ3JlYXRlIHRoZSBkZWZhdWx0IGluc3RhbmNlIHRvIGJlIGV4cG9ydGVkXG52YXIgYXhpb3MgPSBjcmVhdGVJbnN0YW5jZShkZWZhdWx0cyk7XG5cbi8vIEV4cG9zZSBBeGlvcyBjbGFzcyB0byBhbGxvdyBjbGFzcyBpbmhlcml0YW5jZVxuYXhpb3MuQXhpb3MgPSBBeGlvcztcblxuLy8gRmFjdG9yeSBmb3IgY3JlYXRpbmcgbmV3IGluc3RhbmNlc1xuYXhpb3MuY3JlYXRlID0gZnVuY3Rpb24gY3JlYXRlKGluc3RhbmNlQ29uZmlnKSB7XG4gIHJldHVybiBjcmVhdGVJbnN0YW5jZShtZXJnZUNvbmZpZyhheGlvcy5kZWZhdWx0cywgaW5zdGFuY2VDb25maWcpKTtcbn07XG5cbi8vIEV4cG9zZSBDYW5jZWwgJiBDYW5jZWxUb2tlblxuYXhpb3MuQ2FuY2VsID0gcmVxdWlyZSgnLi9jYW5jZWwvQ2FuY2VsJyk7XG5heGlvcy5DYW5jZWxUb2tlbiA9IHJlcXVpcmUoJy4vY2FuY2VsL0NhbmNlbFRva2VuJyk7XG5heGlvcy5pc0NhbmNlbCA9IHJlcXVpcmUoJy4vY2FuY2VsL2lzQ2FuY2VsJyk7XG5cbi8vIEV4cG9zZSBhbGwvc3ByZWFkXG5heGlvcy5hbGwgPSBmdW5jdGlvbiBhbGwocHJvbWlzZXMpIHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc2VzKTtcbn07XG5heGlvcy5zcHJlYWQgPSByZXF1aXJlKCcuL2hlbHBlcnMvc3ByZWFkJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gYXhpb3M7XG5cbi8vIEFsbG93IHVzZSBvZiBkZWZhdWx0IGltcG9ydCBzeW50YXggaW4gVHlwZVNjcmlwdFxubW9kdWxlLmV4cG9ydHMuZGVmYXVsdCA9IGF4aW9zO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/axios.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/cancel/Cancel.js\":\n/*!*************************************************!*\\\n  !*** ./node_modules/axios/lib/cancel/Cancel.js ***!\n  \\*************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/**\\n * A `Cancel` is an object that is thrown when an operation is canceled.\\n *\\n * @class\\n * @param {string=} message The message.\\n */\\nfunction Cancel(message) {\\n  this.message = message;\\n}\\n\\nCancel.prototype.toString = function toString() {\\n  return 'Cancel' + (this.message ? ': ' + this.message : '');\\n};\\n\\nCancel.prototype.__CANCEL__ = true;\\n\\nmodule.exports = Cancel;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanM/N2E3NyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsUUFBUTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQSBgQ2FuY2VsYCBpcyBhbiBvYmplY3QgdGhhdCBpcyB0aHJvd24gd2hlbiBhbiBvcGVyYXRpb24gaXMgY2FuY2VsZWQuXG4gKlxuICogQGNsYXNzXG4gKiBAcGFyYW0ge3N0cmluZz19IG1lc3NhZ2UgVGhlIG1lc3NhZ2UuXG4gKi9cbmZ1bmN0aW9uIENhbmNlbChtZXNzYWdlKSB7XG4gIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG59XG5cbkNhbmNlbC5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiB0b1N0cmluZygpIHtcbiAgcmV0dXJuICdDYW5jZWwnICsgKHRoaXMubWVzc2FnZSA/ICc6ICcgKyB0aGlzLm1lc3NhZ2UgOiAnJyk7XG59O1xuXG5DYW5jZWwucHJvdG90eXBlLl9fQ0FOQ0VMX18gPSB0cnVlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IENhbmNlbDtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/cancel/Cancel.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/cancel/CancelToken.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/axios/lib/cancel/CancelToken.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar Cancel = __webpack_require__(/*! ./Cancel */ \\\"./node_modules/axios/lib/cancel/Cancel.js\\\");\\n\\n/**\\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\\n *\\n * @class\\n * @param {Function} executor The executor function.\\n */\\nfunction CancelToken(executor) {\\n  if (typeof executor !== 'function') {\\n    throw new TypeError('executor must be a function.');\\n  }\\n\\n  var resolvePromise;\\n  this.promise = new Promise(function promiseExecutor(resolve) {\\n    resolvePromise = resolve;\\n  });\\n\\n  var token = this;\\n  executor(function cancel(message) {\\n    if (token.reason) {\\n      // Cancellation has already been requested\\n      return;\\n    }\\n\\n    token.reason = new Cancel(message);\\n    resolvePromise(token.reason);\\n  });\\n}\\n\\n/**\\n * Throws a `Cancel` if cancellation has been requested.\\n */\\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\\n  if (this.reason) {\\n    throw this.reason;\\n  }\\n};\\n\\n/**\\n * Returns an object that contains a new `CancelToken` and a function that, when called,\\n * cancels the `CancelToken`.\\n */\\nCancelToken.source = function source() {\\n  var cancel;\\n  var token = new CancelToken(function executor(c) {\\n    cancel = c;\\n  });\\n  return {\\n    token: token,\\n    cancel: cancel\\n  };\\n};\\n\\nmodule.exports = CancelToken;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9DYW5jZWxUb2tlbi5qcz84ZGY0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLGFBQWEsbUJBQU8sQ0FBQywyREFBVTs7QUFFL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jYW5jZWwvQ2FuY2VsVG9rZW4uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBDYW5jZWwgPSByZXF1aXJlKCcuL0NhbmNlbCcpO1xuXG4vKipcbiAqIEEgYENhbmNlbFRva2VuYCBpcyBhbiBvYmplY3QgdGhhdCBjYW4gYmUgdXNlZCB0byByZXF1ZXN0IGNhbmNlbGxhdGlvbiBvZiBhbiBvcGVyYXRpb24uXG4gKlxuICogQGNsYXNzXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBleGVjdXRvciBUaGUgZXhlY3V0b3IgZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIENhbmNlbFRva2VuKGV4ZWN1dG9yKSB7XG4gIGlmICh0eXBlb2YgZXhlY3V0b3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdleGVjdXRvciBtdXN0IGJlIGEgZnVuY3Rpb24uJyk7XG4gIH1cblxuICB2YXIgcmVzb2x2ZVByb21pc2U7XG4gIHRoaXMucHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIHByb21pc2VFeGVjdXRvcihyZXNvbHZlKSB7XG4gICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlO1xuICB9KTtcblxuICB2YXIgdG9rZW4gPSB0aGlzO1xuICBleGVjdXRvcihmdW5jdGlvbiBjYW5jZWwobWVzc2FnZSkge1xuICAgIGlmICh0b2tlbi5yZWFzb24pIHtcbiAgICAgIC8vIENhbmNlbGxhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIHJlcXVlc3RlZFxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRva2VuLnJlYXNvbiA9IG5ldyBDYW5jZWwobWVzc2FnZSk7XG4gICAgcmVzb2x2ZVByb21pc2UodG9rZW4ucmVhc29uKTtcbiAgfSk7XG59XG5cbi8qKlxuICogVGhyb3dzIGEgYENhbmNlbGAgaWYgY2FuY2VsbGF0aW9uIGhhcyBiZWVuIHJlcXVlc3RlZC5cbiAqL1xuQ2FuY2VsVG9rZW4ucHJvdG90eXBlLnRocm93SWZSZXF1ZXN0ZWQgPSBmdW5jdGlvbiB0aHJvd0lmUmVxdWVzdGVkKCkge1xuICBpZiAodGhpcy5yZWFzb24pIHtcbiAgICB0aHJvdyB0aGlzLnJlYXNvbjtcbiAgfVxufTtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9iamVjdCB0aGF0IGNvbnRhaW5zIGEgbmV3IGBDYW5jZWxUb2tlbmAgYW5kIGEgZnVuY3Rpb24gdGhhdCwgd2hlbiBjYWxsZWQsXG4gKiBjYW5jZWxzIHRoZSBgQ2FuY2VsVG9rZW5gLlxuICovXG5DYW5jZWxUb2tlbi5zb3VyY2UgPSBmdW5jdGlvbiBzb3VyY2UoKSB7XG4gIHZhciBjYW5jZWw7XG4gIHZhciB0b2tlbiA9IG5ldyBDYW5jZWxUb2tlbihmdW5jdGlvbiBleGVjdXRvcihjKSB7XG4gICAgY2FuY2VsID0gYztcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgdG9rZW46IHRva2VuLFxuICAgIGNhbmNlbDogY2FuY2VsXG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IENhbmNlbFRva2VuO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/cancel/CancelToken.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/cancel/isCancel.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/axios/lib/cancel/isCancel.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nmodule.exports = function isCancel(value) {\\n  return !!(value && value.__CANCEL__);\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NhbmNlbC9pc0NhbmNlbC5qcz8yZTY3Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY2FuY2VsL2lzQ2FuY2VsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQ2FuY2VsKHZhbHVlKSB7XG4gIHJldHVybiAhISh2YWx1ZSAmJiB2YWx1ZS5fX0NBTkNFTF9fKTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/cancel/isCancel.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/Axios.js\":\n/*!**********************************************!*\\\n  !*** ./node_modules/axios/lib/core/Axios.js ***!\n  \\**********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\nvar buildURL = __webpack_require__(/*! ../helpers/buildURL */ \\\"./node_modules/axios/lib/helpers/buildURL.js\\\");\\nvar InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ \\\"./node_modules/axios/lib/core/InterceptorManager.js\\\");\\nvar dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ \\\"./node_modules/axios/lib/core/dispatchRequest.js\\\");\\nvar mergeConfig = __webpack_require__(/*! ./mergeConfig */ \\\"./node_modules/axios/lib/core/mergeConfig.js\\\");\\n\\n/**\\n * Create a new instance of Axios\\n *\\n * @param {Object} instanceConfig The default config for the instance\\n */\\nfunction Axios(instanceConfig) {\\n  this.defaults = instanceConfig;\\n  this.interceptors = {\\n    request: new InterceptorManager(),\\n    response: new InterceptorManager()\\n  };\\n}\\n\\n/**\\n * Dispatch a request\\n *\\n * @param {Object} config The config specific for this request (merged with this.defaults)\\n */\\nAxios.prototype.request = function request(config) {\\n  /*eslint no-param-reassign:0*/\\n  // Allow for axios('example/url'[, config]) a la fetch API\\n  if (typeof config === 'string') {\\n    config = arguments[1] || {};\\n    config.url = arguments[0];\\n  } else {\\n    config = config || {};\\n  }\\n\\n  config = mergeConfig(this.defaults, config);\\n\\n  // Set config.method\\n  if (config.method) {\\n    config.method = config.method.toLowerCase();\\n  } else if (this.defaults.method) {\\n    config.method = this.defaults.method.toLowerCase();\\n  } else {\\n    config.method = 'get';\\n  }\\n\\n  // Hook up interceptors middleware\\n  var chain = [dispatchRequest, undefined];\\n  var promise = Promise.resolve(config);\\n\\n  this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\\n    chain.unshift(interceptor.fulfilled, interceptor.rejected);\\n  });\\n\\n  this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\\n    chain.push(interceptor.fulfilled, interceptor.rejected);\\n  });\\n\\n  while (chain.length) {\\n    promise = promise.then(chain.shift(), chain.shift());\\n  }\\n\\n  return promise;\\n};\\n\\nAxios.prototype.getUri = function getUri(config) {\\n  config = mergeConfig(this.defaults, config);\\n  return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\\\?/, '');\\n};\\n\\n// Provide aliases for supported request methods\\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\\n  /*eslint func-names:0*/\\n  Axios.prototype[method] = function(url, config) {\\n    return this.request(utils.merge(config || {}, {\\n      method: method,\\n      url: url\\n    }));\\n  };\\n});\\n\\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\\n  /*eslint func-names:0*/\\n  Axios.prototype[method] = function(url, data, config) {\\n    return this.request(utils.merge(config || {}, {\\n      method: method,\\n      url: url,\\n      data: data\\n    }));\\n  };\\n});\\n\\nmodule.exports = Axios;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanM/MGEwNiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixZQUFZLG1CQUFPLENBQUMscURBQVk7QUFDaEMsZUFBZSxtQkFBTyxDQUFDLHlFQUFxQjtBQUM1Qyx5QkFBeUIsbUJBQU8sQ0FBQyxpRkFBc0I7QUFDdkQsc0JBQXNCLG1CQUFPLENBQUMsMkVBQW1CO0FBQ2pELGtCQUFrQixtQkFBTyxDQUFDLG1FQUFlOztBQUV6QztBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLENBQUM7O0FBRUQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvQXhpb3MuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vLi4vdXRpbHMnKTtcbnZhciBidWlsZFVSTCA9IHJlcXVpcmUoJy4uL2hlbHBlcnMvYnVpbGRVUkwnKTtcbnZhciBJbnRlcmNlcHRvck1hbmFnZXIgPSByZXF1aXJlKCcuL0ludGVyY2VwdG9yTWFuYWdlcicpO1xudmFyIGRpc3BhdGNoUmVxdWVzdCA9IHJlcXVpcmUoJy4vZGlzcGF0Y2hSZXF1ZXN0Jyk7XG52YXIgbWVyZ2VDb25maWcgPSByZXF1aXJlKCcuL21lcmdlQ29uZmlnJyk7XG5cbi8qKlxuICogQ3JlYXRlIGEgbmV3IGluc3RhbmNlIG9mIEF4aW9zXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGluc3RhbmNlQ29uZmlnIFRoZSBkZWZhdWx0IGNvbmZpZyBmb3IgdGhlIGluc3RhbmNlXG4gKi9cbmZ1bmN0aW9uIEF4aW9zKGluc3RhbmNlQ29uZmlnKSB7XG4gIHRoaXMuZGVmYXVsdHMgPSBpbnN0YW5jZUNvbmZpZztcbiAgdGhpcy5pbnRlcmNlcHRvcnMgPSB7XG4gICAgcmVxdWVzdDogbmV3IEludGVyY2VwdG9yTWFuYWdlcigpLFxuICAgIHJlc3BvbnNlOiBuZXcgSW50ZXJjZXB0b3JNYW5hZ2VyKClcbiAgfTtcbn1cblxuLyoqXG4gKiBEaXNwYXRjaCBhIHJlcXVlc3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIFRoZSBjb25maWcgc3BlY2lmaWMgZm9yIHRoaXMgcmVxdWVzdCAobWVyZ2VkIHdpdGggdGhpcy5kZWZhdWx0cylcbiAqL1xuQXhpb3MucHJvdG90eXBlLnJlcXVlc3QgPSBmdW5jdGlvbiByZXF1ZXN0KGNvbmZpZykge1xuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cbiAgLy8gQWxsb3cgZm9yIGF4aW9zKCdleGFtcGxlL3VybCdbLCBjb25maWddKSBhIGxhIGZldGNoIEFQSVxuICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25maWcgPSBhcmd1bWVudHNbMV0gfHwge307XG4gICAgY29uZmlnLnVybCA9IGFyZ3VtZW50c1swXTtcbiAgfSBlbHNlIHtcbiAgICBjb25maWcgPSBjb25maWcgfHwge307XG4gIH1cblxuICBjb25maWcgPSBtZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLCBjb25maWcpO1xuXG4gIC8vIFNldCBjb25maWcubWV0aG9kXG4gIGlmIChjb25maWcubWV0aG9kKSB7XG4gICAgY29uZmlnLm1ldGhvZCA9IGNvbmZpZy5tZXRob2QudG9Mb3dlckNhc2UoKTtcbiAgfSBlbHNlIGlmICh0aGlzLmRlZmF1bHRzLm1ldGhvZCkge1xuICAgIGNvbmZpZy5tZXRob2QgPSB0aGlzLmRlZmF1bHRzLm1ldGhvZC50b0xvd2VyQ2FzZSgpO1xuICB9IGVsc2Uge1xuICAgIGNvbmZpZy5tZXRob2QgPSAnZ2V0JztcbiAgfVxuXG4gIC8vIEhvb2sgdXAgaW50ZXJjZXB0b3JzIG1pZGRsZXdhcmVcbiAgdmFyIGNoYWluID0gW2Rpc3BhdGNoUmVxdWVzdCwgdW5kZWZpbmVkXTtcbiAgdmFyIHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoY29uZmlnKTtcblxuICB0aGlzLmludGVyY2VwdG9ycy5yZXF1ZXN0LmZvckVhY2goZnVuY3Rpb24gdW5zaGlmdFJlcXVlc3RJbnRlcmNlcHRvcnMoaW50ZXJjZXB0b3IpIHtcbiAgICBjaGFpbi51bnNoaWZ0KGludGVyY2VwdG9yLmZ1bGZpbGxlZCwgaW50ZXJjZXB0b3IucmVqZWN0ZWQpO1xuICB9KTtcblxuICB0aGlzLmludGVyY2VwdG9ycy5yZXNwb25zZS5mb3JFYWNoKGZ1bmN0aW9uIHB1c2hSZXNwb25zZUludGVyY2VwdG9ycyhpbnRlcmNlcHRvcikge1xuICAgIGNoYWluLnB1c2goaW50ZXJjZXB0b3IuZnVsZmlsbGVkLCBpbnRlcmNlcHRvci5yZWplY3RlZCk7XG4gIH0pO1xuXG4gIHdoaWxlIChjaGFpbi5sZW5ndGgpIHtcbiAgICBwcm9taXNlID0gcHJvbWlzZS50aGVuKGNoYWluLnNoaWZ0KCksIGNoYWluLnNoaWZ0KCkpO1xuICB9XG5cbiAgcmV0dXJuIHByb21pc2U7XG59O1xuXG5BeGlvcy5wcm90b3R5cGUuZ2V0VXJpID0gZnVuY3Rpb24gZ2V0VXJpKGNvbmZpZykge1xuICBjb25maWcgPSBtZXJnZUNvbmZpZyh0aGlzLmRlZmF1bHRzLCBjb25maWcpO1xuICByZXR1cm4gYnVpbGRVUkwoY29uZmlnLnVybCwgY29uZmlnLnBhcmFtcywgY29uZmlnLnBhcmFtc1NlcmlhbGl6ZXIpLnJlcGxhY2UoL15cXD8vLCAnJyk7XG59O1xuXG4vLyBQcm92aWRlIGFsaWFzZXMgZm9yIHN1cHBvcnRlZCByZXF1ZXN0IG1ldGhvZHNcbnV0aWxzLmZvckVhY2goWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAnb3B0aW9ucyddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xuICAvKmVzbGludCBmdW5jLW5hbWVzOjAqL1xuICBBeGlvcy5wcm90b3R5cGVbbWV0aG9kXSA9IGZ1bmN0aW9uKHVybCwgY29uZmlnKSB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdCh1dGlscy5tZXJnZShjb25maWcgfHwge30sIHtcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgICAgdXJsOiB1cmxcbiAgICB9KSk7XG4gIH07XG59KTtcblxudXRpbHMuZm9yRWFjaChbJ3Bvc3QnLCAncHV0JywgJ3BhdGNoJ10sIGZ1bmN0aW9uIGZvckVhY2hNZXRob2RXaXRoRGF0YShtZXRob2QpIHtcbiAgLyplc2xpbnQgZnVuYy1uYW1lczowKi9cbiAgQXhpb3MucHJvdG90eXBlW21ldGhvZF0gPSBmdW5jdGlvbih1cmwsIGRhdGEsIGNvbmZpZykge1xuICAgIHJldHVybiB0aGlzLnJlcXVlc3QodXRpbHMubWVyZ2UoY29uZmlnIHx8IHt9LCB7XG4gICAgICBtZXRob2Q6IG1ldGhvZCxcbiAgICAgIHVybDogdXJsLFxuICAgICAgZGF0YTogZGF0YVxuICAgIH0pKTtcbiAgfTtcbn0pO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEF4aW9zO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/Axios.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/InterceptorManager.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/axios/lib/core/InterceptorManager.js ***!\n  \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\nfunction InterceptorManager() {\\n  this.handlers = [];\\n}\\n\\n/**\\n * Add a new interceptor to the stack\\n *\\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\\n * @param {Function} rejected The function to handle `reject` for a `Promise`\\n *\\n * @return {Number} An ID used to remove interceptor later\\n */\\nInterceptorManager.prototype.use = function use(fulfilled, rejected) {\\n  this.handlers.push({\\n    fulfilled: fulfilled,\\n    rejected: rejected\\n  });\\n  return this.handlers.length - 1;\\n};\\n\\n/**\\n * Remove an interceptor from the stack\\n *\\n * @param {Number} id The ID that was returned by `use`\\n */\\nInterceptorManager.prototype.eject = function eject(id) {\\n  if (this.handlers[id]) {\\n    this.handlers[id] = null;\\n  }\\n};\\n\\n/**\\n * Iterate over all the registered interceptors\\n *\\n * This method is particularly useful for skipping over any\\n * interceptors that may have become `null` calling `eject`.\\n *\\n * @param {Function} fn The function to call for each interceptor\\n */\\nInterceptorManager.prototype.forEach = function forEach(fn) {\\n  utils.forEach(this.handlers, function forEachHandler(h) {\\n    if (h !== null) {\\n      fn(h);\\n    }\\n  });\\n};\\n\\nmodule.exports = InterceptorManager;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvSW50ZXJjZXB0b3JNYW5hZ2VyLmpzP2Y2YjQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsWUFBWSxtQkFBTyxDQUFDLHFEQUFZOztBQUVoQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsU0FBUztBQUNwQjtBQUNBLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL0ludGVyY2VwdG9yTWFuYWdlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi8uLi91dGlscycpO1xuXG5mdW5jdGlvbiBJbnRlcmNlcHRvck1hbmFnZXIoKSB7XG4gIHRoaXMuaGFuZGxlcnMgPSBbXTtcbn1cblxuLyoqXG4gKiBBZGQgYSBuZXcgaW50ZXJjZXB0b3IgdG8gdGhlIHN0YWNrXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVsZmlsbGVkIFRoZSBmdW5jdGlvbiB0byBoYW5kbGUgYHRoZW5gIGZvciBhIGBQcm9taXNlYFxuICogQHBhcmFtIHtGdW5jdGlvbn0gcmVqZWN0ZWQgVGhlIGZ1bmN0aW9uIHRvIGhhbmRsZSBgcmVqZWN0YCBmb3IgYSBgUHJvbWlzZWBcbiAqXG4gKiBAcmV0dXJuIHtOdW1iZXJ9IEFuIElEIHVzZWQgdG8gcmVtb3ZlIGludGVyY2VwdG9yIGxhdGVyXG4gKi9cbkludGVyY2VwdG9yTWFuYWdlci5wcm90b3R5cGUudXNlID0gZnVuY3Rpb24gdXNlKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpIHtcbiAgdGhpcy5oYW5kbGVycy5wdXNoKHtcbiAgICBmdWxmaWxsZWQ6IGZ1bGZpbGxlZCxcbiAgICByZWplY3RlZDogcmVqZWN0ZWRcbiAgfSk7XG4gIHJldHVybiB0aGlzLmhhbmRsZXJzLmxlbmd0aCAtIDE7XG59O1xuXG4vKipcbiAqIFJlbW92ZSBhbiBpbnRlcmNlcHRvciBmcm9tIHRoZSBzdGFja1xuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBpZCBUaGUgSUQgdGhhdCB3YXMgcmV0dXJuZWQgYnkgYHVzZWBcbiAqL1xuSW50ZXJjZXB0b3JNYW5hZ2VyLnByb3RvdHlwZS5lamVjdCA9IGZ1bmN0aW9uIGVqZWN0KGlkKSB7XG4gIGlmICh0aGlzLmhhbmRsZXJzW2lkXSkge1xuICAgIHRoaXMuaGFuZGxlcnNbaWRdID0gbnVsbDtcbiAgfVxufTtcblxuLyoqXG4gKiBJdGVyYXRlIG92ZXIgYWxsIHRoZSByZWdpc3RlcmVkIGludGVyY2VwdG9yc1xuICpcbiAqIFRoaXMgbWV0aG9kIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgZm9yIHNraXBwaW5nIG92ZXIgYW55XG4gKiBpbnRlcmNlcHRvcnMgdGhhdCBtYXkgaGF2ZSBiZWNvbWUgYG51bGxgIGNhbGxpbmcgYGVqZWN0YC5cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gY2FsbCBmb3IgZWFjaCBpbnRlcmNlcHRvclxuICovXG5JbnRlcmNlcHRvck1hbmFnZXIucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbiBmb3JFYWNoKGZuKSB7XG4gIHV0aWxzLmZvckVhY2godGhpcy5oYW5kbGVycywgZnVuY3Rpb24gZm9yRWFjaEhhbmRsZXIoaCkge1xuICAgIGlmIChoICE9PSBudWxsKSB7XG4gICAgICBmbihoKTtcbiAgICB9XG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBJbnRlcmNlcHRvck1hbmFnZXI7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/InterceptorManager.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/buildFullPath.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/axios/lib/core/buildFullPath.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar isAbsoluteURL = __webpack_require__(/*! ../helpers/isAbsoluteURL */ \\\"./node_modules/axios/lib/helpers/isAbsoluteURL.js\\\");\\nvar combineURLs = __webpack_require__(/*! ../helpers/combineURLs */ \\\"./node_modules/axios/lib/helpers/combineURLs.js\\\");\\n\\n/**\\n * Creates a new URL by combining the baseURL with the requestedURL,\\n * only when the requestedURL is not already an absolute URL.\\n * If the requestURL is absolute, this function returns the requestedURL untouched.\\n *\\n * @param {string} baseURL The base URL\\n * @param {string} requestedURL Absolute or relative URL to combine\\n * @returns {string} The combined full path\\n */\\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\\n  if (baseURL && !isAbsoluteURL(requestedURL)) {\\n    return combineURLs(baseURL, requestedURL);\\n  }\\n  return requestedURL;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvYnVpbGRGdWxsUGF0aC5qcz84M2I5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLG9CQUFvQixtQkFBTyxDQUFDLG1GQUEwQjtBQUN0RCxrQkFBa0IsbUJBQU8sQ0FBQywrRUFBd0I7O0FBRWxEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9idWlsZEZ1bGxQYXRoLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaXNBYnNvbHV0ZVVSTCA9IHJlcXVpcmUoJy4uL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTCcpO1xudmFyIGNvbWJpbmVVUkxzID0gcmVxdWlyZSgnLi4vaGVscGVycy9jb21iaW5lVVJMcycpO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgVVJMIGJ5IGNvbWJpbmluZyB0aGUgYmFzZVVSTCB3aXRoIHRoZSByZXF1ZXN0ZWRVUkwsXG4gKiBvbmx5IHdoZW4gdGhlIHJlcXVlc3RlZFVSTCBpcyBub3QgYWxyZWFkeSBhbiBhYnNvbHV0ZSBVUkwuXG4gKiBJZiB0aGUgcmVxdWVzdFVSTCBpcyBhYnNvbHV0ZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXF1ZXN0ZWRVUkwgdW50b3VjaGVkLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJMIFRoZSBiYXNlIFVSTFxuICogQHBhcmFtIHtzdHJpbmd9IHJlcXVlc3RlZFVSTCBBYnNvbHV0ZSBvciByZWxhdGl2ZSBVUkwgdG8gY29tYmluZVxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbWJpbmVkIGZ1bGwgcGF0aFxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGJ1aWxkRnVsbFBhdGgoYmFzZVVSTCwgcmVxdWVzdGVkVVJMKSB7XG4gIGlmIChiYXNlVVJMICYmICFpc0Fic29sdXRlVVJMKHJlcXVlc3RlZFVSTCkpIHtcbiAgICByZXR1cm4gY29tYmluZVVSTHMoYmFzZVVSTCwgcmVxdWVzdGVkVVJMKTtcbiAgfVxuICByZXR1cm4gcmVxdWVzdGVkVVJMO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/buildFullPath.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/createError.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/axios/lib/core/createError.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar enhanceError = __webpack_require__(/*! ./enhanceError */ \\\"./node_modules/axios/lib/core/enhanceError.js\\\");\\n\\n/**\\n * Create an Error with the specified message, config, error code, request and response.\\n *\\n * @param {string} message The error message.\\n * @param {Object} config The config.\\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\\n * @param {Object} [request] The request.\\n * @param {Object} [response] The response.\\n * @returns {Error} The created error.\\n */\\nmodule.exports = function createError(message, config, code, request, response) {\\n  var error = new Error(message);\\n  return enhanceError(error, config, code, request, response);\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvY3JlYXRlRXJyb3IuanM/MmQ4MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixtQkFBbUIsbUJBQU8sQ0FBQyxxRUFBZ0I7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvY3JlYXRlRXJyb3IuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBlbmhhbmNlRXJyb3IgPSByZXF1aXJlKCcuL2VuaGFuY2VFcnJvcicpO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBFcnJvciB3aXRoIHRoZSBzcGVjaWZpZWQgbWVzc2FnZSwgY29uZmlnLCBlcnJvciBjb2RlLCByZXF1ZXN0IGFuZCByZXNwb25zZS5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgVGhlIGNvbmZpZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBbY29kZV0gVGhlIGVycm9yIGNvZGUgKGZvciBleGFtcGxlLCAnRUNPTk5BQk9SVEVEJykuXG4gKiBAcGFyYW0ge09iamVjdH0gW3JlcXVlc3RdIFRoZSByZXF1ZXN0LlxuICogQHBhcmFtIHtPYmplY3R9IFtyZXNwb25zZV0gVGhlIHJlc3BvbnNlLlxuICogQHJldHVybnMge0Vycm9yfSBUaGUgY3JlYXRlZCBlcnJvci5cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjcmVhdGVFcnJvcihtZXNzYWdlLCBjb25maWcsIGNvZGUsIHJlcXVlc3QsIHJlc3BvbnNlKSB7XG4gIHZhciBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgcmV0dXJuIGVuaGFuY2VFcnJvcihlcnJvciwgY29uZmlnLCBjb2RlLCByZXF1ZXN0LCByZXNwb25zZSk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/createError.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/dispatchRequest.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/axios/lib/core/dispatchRequest.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\nvar transformData = __webpack_require__(/*! ./transformData */ \\\"./node_modules/axios/lib/core/transformData.js\\\");\\nvar isCancel = __webpack_require__(/*! ../cancel/isCancel */ \\\"./node_modules/axios/lib/cancel/isCancel.js\\\");\\nvar defaults = __webpack_require__(/*! ../defaults */ \\\"./node_modules/axios/lib/defaults.js\\\");\\n\\n/**\\n * Throws a `Cancel` if cancellation has been requested.\\n */\\nfunction throwIfCancellationRequested(config) {\\n  if (config.cancelToken) {\\n    config.cancelToken.throwIfRequested();\\n  }\\n}\\n\\n/**\\n * Dispatch a request to the server using the configured adapter.\\n *\\n * @param {object} config The config that is to be used for the request\\n * @returns {Promise} The Promise to be fulfilled\\n */\\nmodule.exports = function dispatchRequest(config) {\\n  throwIfCancellationRequested(config);\\n\\n  // Ensure headers exist\\n  config.headers = config.headers || {};\\n\\n  // Transform request data\\n  config.data = transformData(\\n    config.data,\\n    config.headers,\\n    config.transformRequest\\n  );\\n\\n  // Flatten headers\\n  config.headers = utils.merge(\\n    config.headers.common || {},\\n    config.headers[config.method] || {},\\n    config.headers\\n  );\\n\\n  utils.forEach(\\n    ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\\n    function cleanHeaderConfig(method) {\\n      delete config.headers[method];\\n    }\\n  );\\n\\n  var adapter = config.adapter || defaults.adapter;\\n\\n  return adapter(config).then(function onAdapterResolution(response) {\\n    throwIfCancellationRequested(config);\\n\\n    // Transform response data\\n    response.data = transformData(\\n      response.data,\\n      response.headers,\\n      config.transformResponse\\n    );\\n\\n    return response;\\n  }, function onAdapterRejection(reason) {\\n    if (!isCancel(reason)) {\\n      throwIfCancellationRequested(config);\\n\\n      // Transform response data\\n      if (reason && reason.response) {\\n        reason.response.data = transformData(\\n          reason.response.data,\\n          reason.response.headers,\\n          config.transformResponse\\n        );\\n      }\\n    }\\n\\n    return Promise.reject(reason);\\n  });\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZGlzcGF0Y2hSZXF1ZXN0LmpzPzUyNzAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsWUFBWSxtQkFBTyxDQUFDLHFEQUFZO0FBQ2hDLG9CQUFvQixtQkFBTyxDQUFDLHVFQUFpQjtBQUM3QyxlQUFlLG1CQUFPLENBQUMsdUVBQW9CO0FBQzNDLGVBQWUsbUJBQU8sQ0FBQyx5REFBYTs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9kaXNwYXRjaFJlcXVlc3QuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vLi4vdXRpbHMnKTtcbnZhciB0cmFuc2Zvcm1EYXRhID0gcmVxdWlyZSgnLi90cmFuc2Zvcm1EYXRhJyk7XG52YXIgaXNDYW5jZWwgPSByZXF1aXJlKCcuLi9jYW5jZWwvaXNDYW5jZWwnKTtcbnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoJy4uL2RlZmF1bHRzJyk7XG5cbi8qKlxuICogVGhyb3dzIGEgYENhbmNlbGAgaWYgY2FuY2VsbGF0aW9uIGhhcyBiZWVuIHJlcXVlc3RlZC5cbiAqL1xuZnVuY3Rpb24gdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpIHtcbiAgaWYgKGNvbmZpZy5jYW5jZWxUb2tlbikge1xuICAgIGNvbmZpZy5jYW5jZWxUb2tlbi50aHJvd0lmUmVxdWVzdGVkKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNwYXRjaCBhIHJlcXVlc3QgdG8gdGhlIHNlcnZlciB1c2luZyB0aGUgY29uZmlndXJlZCBhZGFwdGVyLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBjb25maWcgVGhlIGNvbmZpZyB0aGF0IGlzIHRvIGJlIHVzZWQgZm9yIHRoZSByZXF1ZXN0XG4gKiBAcmV0dXJucyB7UHJvbWlzZX0gVGhlIFByb21pc2UgdG8gYmUgZnVsZmlsbGVkXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gZGlzcGF0Y2hSZXF1ZXN0KGNvbmZpZykge1xuICB0aHJvd0lmQ2FuY2VsbGF0aW9uUmVxdWVzdGVkKGNvbmZpZyk7XG5cbiAgLy8gRW5zdXJlIGhlYWRlcnMgZXhpc3RcbiAgY29uZmlnLmhlYWRlcnMgPSBjb25maWcuaGVhZGVycyB8fCB7fTtcblxuICAvLyBUcmFuc2Zvcm0gcmVxdWVzdCBkYXRhXG4gIGNvbmZpZy5kYXRhID0gdHJhbnNmb3JtRGF0YShcbiAgICBjb25maWcuZGF0YSxcbiAgICBjb25maWcuaGVhZGVycyxcbiAgICBjb25maWcudHJhbnNmb3JtUmVxdWVzdFxuICApO1xuXG4gIC8vIEZsYXR0ZW4gaGVhZGVyc1xuICBjb25maWcuaGVhZGVycyA9IHV0aWxzLm1lcmdlKFxuICAgIGNvbmZpZy5oZWFkZXJzLmNvbW1vbiB8fCB7fSxcbiAgICBjb25maWcuaGVhZGVyc1tjb25maWcubWV0aG9kXSB8fCB7fSxcbiAgICBjb25maWcuaGVhZGVyc1xuICApO1xuXG4gIHV0aWxzLmZvckVhY2goXG4gICAgWydkZWxldGUnLCAnZ2V0JywgJ2hlYWQnLCAncG9zdCcsICdwdXQnLCAncGF0Y2gnLCAnY29tbW9uJ10sXG4gICAgZnVuY3Rpb24gY2xlYW5IZWFkZXJDb25maWcobWV0aG9kKSB7XG4gICAgICBkZWxldGUgY29uZmlnLmhlYWRlcnNbbWV0aG9kXTtcbiAgICB9XG4gICk7XG5cbiAgdmFyIGFkYXB0ZXIgPSBjb25maWcuYWRhcHRlciB8fCBkZWZhdWx0cy5hZGFwdGVyO1xuXG4gIHJldHVybiBhZGFwdGVyKGNvbmZpZykudGhlbihmdW5jdGlvbiBvbkFkYXB0ZXJSZXNvbHV0aW9uKHJlc3BvbnNlKSB7XG4gICAgdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpO1xuXG4gICAgLy8gVHJhbnNmb3JtIHJlc3BvbnNlIGRhdGFcbiAgICByZXNwb25zZS5kYXRhID0gdHJhbnNmb3JtRGF0YShcbiAgICAgIHJlc3BvbnNlLmRhdGEsXG4gICAgICByZXNwb25zZS5oZWFkZXJzLFxuICAgICAgY29uZmlnLnRyYW5zZm9ybVJlc3BvbnNlXG4gICAgKTtcblxuICAgIHJldHVybiByZXNwb25zZTtcbiAgfSwgZnVuY3Rpb24gb25BZGFwdGVyUmVqZWN0aW9uKHJlYXNvbikge1xuICAgIGlmICghaXNDYW5jZWwocmVhc29uKSkge1xuICAgICAgdGhyb3dJZkNhbmNlbGxhdGlvblJlcXVlc3RlZChjb25maWcpO1xuXG4gICAgICAvLyBUcmFuc2Zvcm0gcmVzcG9uc2UgZGF0YVxuICAgICAgaWYgKHJlYXNvbiAmJiByZWFzb24ucmVzcG9uc2UpIHtcbiAgICAgICAgcmVhc29uLnJlc3BvbnNlLmRhdGEgPSB0cmFuc2Zvcm1EYXRhKFxuICAgICAgICAgIHJlYXNvbi5yZXNwb25zZS5kYXRhLFxuICAgICAgICAgIHJlYXNvbi5yZXNwb25zZS5oZWFkZXJzLFxuICAgICAgICAgIGNvbmZpZy50cmFuc2Zvcm1SZXNwb25zZVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChyZWFzb24pO1xuICB9KTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/dispatchRequest.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/enhanceError.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/axios/lib/core/enhanceError.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/**\\n * Update an Error with the specified config, error code, and response.\\n *\\n * @param {Error} error The error to update.\\n * @param {Object} config The config.\\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\\n * @param {Object} [request] The request.\\n * @param {Object} [response] The response.\\n * @returns {Error} The error.\\n */\\nmodule.exports = function enhanceError(error, config, code, request, response) {\\n  error.config = config;\\n  if (code) {\\n    error.code = code;\\n  }\\n\\n  error.request = request;\\n  error.response = response;\\n  error.isAxiosError = true;\\n\\n  error.toJSON = function() {\\n    return {\\n      // Standard\\n      message: this.message,\\n      name: this.name,\\n      // Microsoft\\n      description: this.description,\\n      number: this.number,\\n      // Mozilla\\n      fileName: this.fileName,\\n      lineNumber: this.lineNumber,\\n      columnNumber: this.columnNumber,\\n      stack: this.stack,\\n      // Axios\\n      config: this.config,\\n      code: this.code\\n    };\\n  };\\n  return error;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvZW5oYW5jZUVycm9yLmpzPzM4N2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL2VuaGFuY2VFcnJvci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBVcGRhdGUgYW4gRXJyb3Igd2l0aCB0aGUgc3BlY2lmaWVkIGNvbmZpZywgZXJyb3IgY29kZSwgYW5kIHJlc3BvbnNlLlxuICpcbiAqIEBwYXJhbSB7RXJyb3J9IGVycm9yIFRoZSBlcnJvciB0byB1cGRhdGUuXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIFRoZSBjb25maWcuXG4gKiBAcGFyYW0ge3N0cmluZ30gW2NvZGVdIFRoZSBlcnJvciBjb2RlIChmb3IgZXhhbXBsZSwgJ0VDT05OQUJPUlRFRCcpLlxuICogQHBhcmFtIHtPYmplY3R9IFtyZXF1ZXN0XSBUaGUgcmVxdWVzdC5cbiAqIEBwYXJhbSB7T2JqZWN0fSBbcmVzcG9uc2VdIFRoZSByZXNwb25zZS5cbiAqIEByZXR1cm5zIHtFcnJvcn0gVGhlIGVycm9yLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGVuaGFuY2VFcnJvcihlcnJvciwgY29uZmlnLCBjb2RlLCByZXF1ZXN0LCByZXNwb25zZSkge1xuICBlcnJvci5jb25maWcgPSBjb25maWc7XG4gIGlmIChjb2RlKSB7XG4gICAgZXJyb3IuY29kZSA9IGNvZGU7XG4gIH1cblxuICBlcnJvci5yZXF1ZXN0ID0gcmVxdWVzdDtcbiAgZXJyb3IucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgZXJyb3IuaXNBeGlvc0Vycm9yID0gdHJ1ZTtcblxuICBlcnJvci50b0pTT04gPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gU3RhbmRhcmRcbiAgICAgIG1lc3NhZ2U6IHRoaXMubWVzc2FnZSxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIC8vIE1pY3Jvc29mdFxuICAgICAgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24sXG4gICAgICBudW1iZXI6IHRoaXMubnVtYmVyLFxuICAgICAgLy8gTW96aWxsYVxuICAgICAgZmlsZU5hbWU6IHRoaXMuZmlsZU5hbWUsXG4gICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG4gICAgICBjb2x1bW5OdW1iZXI6IHRoaXMuY29sdW1uTnVtYmVyLFxuICAgICAgc3RhY2s6IHRoaXMuc3RhY2ssXG4gICAgICAvLyBBeGlvc1xuICAgICAgY29uZmlnOiB0aGlzLmNvbmZpZyxcbiAgICAgIGNvZGU6IHRoaXMuY29kZVxuICAgIH07XG4gIH07XG4gIHJldHVybiBlcnJvcjtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/enhanceError.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/mergeConfig.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/axios/lib/core/mergeConfig.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\n/**\\n * Config-specific merge-function which creates a new config-object\\n * by merging two configuration objects together.\\n *\\n * @param {Object} config1\\n * @param {Object} config2\\n * @returns {Object} New object resulting from merging config2 to config1\\n */\\nmodule.exports = function mergeConfig(config1, config2) {\\n  // eslint-disable-next-line no-param-reassign\\n  config2 = config2 || {};\\n  var config = {};\\n\\n  var valueFromConfig2Keys = ['url', 'method', 'params', 'data'];\\n  var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy'];\\n  var defaultToConfig2Keys = [\\n    'baseURL', 'url', 'transformRequest', 'transformResponse', 'paramsSerializer',\\n    'timeout', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName',\\n    'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress',\\n    'maxContentLength', 'validateStatus', 'maxRedirects', 'httpAgent',\\n    'httpsAgent', 'cancelToken', 'socketPath'\\n  ];\\n\\n  utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) {\\n    if (typeof config2[prop] !== 'undefined') {\\n      config[prop] = config2[prop];\\n    }\\n  });\\n\\n  utils.forEach(mergeDeepPropertiesKeys, function mergeDeepProperties(prop) {\\n    if (utils.isObject(config2[prop])) {\\n      config[prop] = utils.deepMerge(config1[prop], config2[prop]);\\n    } else if (typeof config2[prop] !== 'undefined') {\\n      config[prop] = config2[prop];\\n    } else if (utils.isObject(config1[prop])) {\\n      config[prop] = utils.deepMerge(config1[prop]);\\n    } else if (typeof config1[prop] !== 'undefined') {\\n      config[prop] = config1[prop];\\n    }\\n  });\\n\\n  utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) {\\n    if (typeof config2[prop] !== 'undefined') {\\n      config[prop] = config2[prop];\\n    } else if (typeof config1[prop] !== 'undefined') {\\n      config[prop] = config1[prop];\\n    }\\n  });\\n\\n  var axiosKeys = valueFromConfig2Keys\\n    .concat(mergeDeepPropertiesKeys)\\n    .concat(defaultToConfig2Keys);\\n\\n  var otherKeys = Object\\n    .keys(config2)\\n    .filter(function filterAxiosKeys(key) {\\n      return axiosKeys.indexOf(key) === -1;\\n    });\\n\\n  utils.forEach(otherKeys, function otherKeysDefaultToConfig2(prop) {\\n    if (typeof config2[prop] !== 'undefined') {\\n      config[prop] = config2[prop];\\n    } else if (typeof config1[prop] !== 'undefined') {\\n      config[prop] = config1[prop];\\n    }\\n  });\\n\\n  return config;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvbWVyZ2VDb25maWcuanM/NGE3YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixZQUFZLG1CQUFPLENBQUMsbURBQVU7O0FBRTlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS9tZXJnZUNvbmZpZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi4vdXRpbHMnKTtcblxuLyoqXG4gKiBDb25maWctc3BlY2lmaWMgbWVyZ2UtZnVuY3Rpb24gd2hpY2ggY3JlYXRlcyBhIG5ldyBjb25maWctb2JqZWN0XG4gKiBieSBtZXJnaW5nIHR3byBjb25maWd1cmF0aW9uIG9iamVjdHMgdG9nZXRoZXIuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZzFcbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcyXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBOZXcgb2JqZWN0IHJlc3VsdGluZyBmcm9tIG1lcmdpbmcgY29uZmlnMiB0byBjb25maWcxXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbWVyZ2VDb25maWcoY29uZmlnMSwgY29uZmlnMikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgY29uZmlnMiA9IGNvbmZpZzIgfHwge307XG4gIHZhciBjb25maWcgPSB7fTtcblxuICB2YXIgdmFsdWVGcm9tQ29uZmlnMktleXMgPSBbJ3VybCcsICdtZXRob2QnLCAncGFyYW1zJywgJ2RhdGEnXTtcbiAgdmFyIG1lcmdlRGVlcFByb3BlcnRpZXNLZXlzID0gWydoZWFkZXJzJywgJ2F1dGgnLCAncHJveHknXTtcbiAgdmFyIGRlZmF1bHRUb0NvbmZpZzJLZXlzID0gW1xuICAgICdiYXNlVVJMJywgJ3VybCcsICd0cmFuc2Zvcm1SZXF1ZXN0JywgJ3RyYW5zZm9ybVJlc3BvbnNlJywgJ3BhcmFtc1NlcmlhbGl6ZXInLFxuICAgICd0aW1lb3V0JywgJ3dpdGhDcmVkZW50aWFscycsICdhZGFwdGVyJywgJ3Jlc3BvbnNlVHlwZScsICd4c3JmQ29va2llTmFtZScsXG4gICAgJ3hzcmZIZWFkZXJOYW1lJywgJ29uVXBsb2FkUHJvZ3Jlc3MnLCAnb25Eb3dubG9hZFByb2dyZXNzJyxcbiAgICAnbWF4Q29udGVudExlbmd0aCcsICd2YWxpZGF0ZVN0YXR1cycsICdtYXhSZWRpcmVjdHMnLCAnaHR0cEFnZW50JyxcbiAgICAnaHR0cHNBZ2VudCcsICdjYW5jZWxUb2tlbicsICdzb2NrZXRQYXRoJ1xuICBdO1xuXG4gIHV0aWxzLmZvckVhY2godmFsdWVGcm9tQ29uZmlnMktleXMsIGZ1bmN0aW9uIHZhbHVlRnJvbUNvbmZpZzIocHJvcCkge1xuICAgIGlmICh0eXBlb2YgY29uZmlnMltwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGNvbmZpZzJbcHJvcF07XG4gICAgfVxuICB9KTtcblxuICB1dGlscy5mb3JFYWNoKG1lcmdlRGVlcFByb3BlcnRpZXNLZXlzLCBmdW5jdGlvbiBtZXJnZURlZXBQcm9wZXJ0aWVzKHByb3ApIHtcbiAgICBpZiAodXRpbHMuaXNPYmplY3QoY29uZmlnMltwcm9wXSkpIHtcbiAgICAgIGNvbmZpZ1twcm9wXSA9IHV0aWxzLmRlZXBNZXJnZShjb25maWcxW3Byb3BdLCBjb25maWcyW3Byb3BdKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25maWcyW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uZmlnW3Byb3BdID0gY29uZmlnMltwcm9wXTtcbiAgICB9IGVsc2UgaWYgKHV0aWxzLmlzT2JqZWN0KGNvbmZpZzFbcHJvcF0pKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSB1dGlscy5kZWVwTWVyZ2UoY29uZmlnMVtwcm9wXSk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgY29uZmlnMVtwcm9wXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGNvbmZpZ1twcm9wXSA9IGNvbmZpZzFbcHJvcF07XG4gICAgfVxuICB9KTtcblxuICB1dGlscy5mb3JFYWNoKGRlZmF1bHRUb0NvbmZpZzJLZXlzLCBmdW5jdGlvbiBkZWZhdWx0VG9Db25maWcyKHByb3ApIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZzJbcHJvcF0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcyW3Byb3BdO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmZpZzFbcHJvcF0gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25maWdbcHJvcF0gPSBjb25maWcxW3Byb3BdO1xuICAgIH1cbiAgfSk7XG5cbiAgdmFyIGF4aW9zS2V5cyA9IHZhbHVlRnJvbUNvbmZpZzJLZXlzXG4gICAgLmNvbmNhdChtZXJnZURlZXBQcm9wZXJ0aWVzS2V5cylcbiAgICAuY29uY2F0KGRlZmF1bHRUb0NvbmZpZzJLZXlzKTtcblxuICB2YXIgb3RoZXJLZXlzID0gT2JqZWN0XG4gICAgLmtleXMoY29uZmlnMilcbiAgICAuZmlsdGVyKGZ1bmN0aW9uIGZpbHRlckF4aW9zS2V5cyhrZXkpIHtcbiAgICAgIHJldHVybiBheGlvc0tleXMuaW5kZXhPZihrZXkpID09PSAtMTtcbiAgICB9KTtcblxuICB1dGlscy5mb3JFYWNoKG90aGVyS2V5cywgZnVuY3Rpb24gb3RoZXJLZXlzRGVmYXVsdFRvQ29uZmlnMihwcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBjb25maWcyW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uZmlnW3Byb3BdID0gY29uZmlnMltwcm9wXTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb25maWcxW3Byb3BdICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uZmlnW3Byb3BdID0gY29uZmlnMVtwcm9wXTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjb25maWc7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/mergeConfig.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/settle.js\":\n/*!***********************************************!*\\\n  !*** ./node_modules/axios/lib/core/settle.js ***!\n  \\***********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar createError = __webpack_require__(/*! ./createError */ \\\"./node_modules/axios/lib/core/createError.js\\\");\\n\\n/**\\n * Resolve or reject a Promise based on response status.\\n *\\n * @param {Function} resolve A function that resolves the promise.\\n * @param {Function} reject A function that rejects the promise.\\n * @param {object} response The response.\\n */\\nmodule.exports = function settle(resolve, reject, response) {\\n  var validateStatus = response.config.validateStatus;\\n  if (!validateStatus || validateStatus(response.status)) {\\n    resolve(response);\\n  } else {\\n    reject(createError(\\n      'Request failed with status code ' + response.status,\\n      response.config,\\n      null,\\n      response.request,\\n      response\\n    ));\\n  }\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvc2V0dGxlLmpzPzQ2N2YiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsbUVBQWU7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLFNBQVM7QUFDcEIsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9jb3JlL3NldHRsZS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGNyZWF0ZUVycm9yID0gcmVxdWlyZSgnLi9jcmVhdGVFcnJvcicpO1xuXG4vKipcbiAqIFJlc29sdmUgb3IgcmVqZWN0IGEgUHJvbWlzZSBiYXNlZCBvbiByZXNwb25zZSBzdGF0dXMuXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gcmVzb2x2ZSBBIGZ1bmN0aW9uIHRoYXQgcmVzb2x2ZXMgdGhlIHByb21pc2UuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSByZWplY3QgQSBmdW5jdGlvbiB0aGF0IHJlamVjdHMgdGhlIHByb21pc2UuXG4gKiBAcGFyYW0ge29iamVjdH0gcmVzcG9uc2UgVGhlIHJlc3BvbnNlLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHJlc3BvbnNlKSB7XG4gIHZhciB2YWxpZGF0ZVN0YXR1cyA9IHJlc3BvbnNlLmNvbmZpZy52YWxpZGF0ZVN0YXR1cztcbiAgaWYgKCF2YWxpZGF0ZVN0YXR1cyB8fCB2YWxpZGF0ZVN0YXR1cyhyZXNwb25zZS5zdGF0dXMpKSB7XG4gICAgcmVzb2x2ZShyZXNwb25zZSk7XG4gIH0gZWxzZSB7XG4gICAgcmVqZWN0KGNyZWF0ZUVycm9yKFxuICAgICAgJ1JlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzIGNvZGUgJyArIHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgIHJlc3BvbnNlLmNvbmZpZyxcbiAgICAgIG51bGwsXG4gICAgICByZXNwb25zZS5yZXF1ZXN0LFxuICAgICAgcmVzcG9uc2VcbiAgICApKTtcbiAgfVxufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/settle.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/core/transformData.js\":\n/*!******************************************************!*\\\n  !*** ./node_modules/axios/lib/core/transformData.js ***!\n  \\******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\n/**\\n * Transform the data for a request or a response\\n *\\n * @param {Object|String} data The data to be transformed\\n * @param {Array} headers The headers for the request or response\\n * @param {Array|Function} fns A single function or Array of functions\\n * @returns {*} The resulting transformed data\\n */\\nmodule.exports = function transformData(data, headers, fns) {\\n  /*eslint no-param-reassign:0*/\\n  utils.forEach(fns, function transform(fn) {\\n    data = fn(data, headers);\\n  });\\n\\n  return data;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2NvcmUvdHJhbnNmb3JtRGF0YS5qcz9jNDAxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLFlBQVksbUJBQU8sQ0FBQyxxREFBWTs7QUFFaEM7QUFDQTtBQUNBO0FBQ0EsV0FBVyxjQUFjO0FBQ3pCLFdBQVcsTUFBTTtBQUNqQixXQUFXLGVBQWU7QUFDMUIsYUFBYSxFQUFFO0FBQ2Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvY29yZS90cmFuc2Zvcm1EYXRhLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLy4uL3V0aWxzJyk7XG5cbi8qKlxuICogVHJhbnNmb3JtIHRoZSBkYXRhIGZvciBhIHJlcXVlc3Qgb3IgYSByZXNwb25zZVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fFN0cmluZ30gZGF0YSBUaGUgZGF0YSB0byBiZSB0cmFuc2Zvcm1lZFxuICogQHBhcmFtIHtBcnJheX0gaGVhZGVycyBUaGUgaGVhZGVycyBmb3IgdGhlIHJlcXVlc3Qgb3IgcmVzcG9uc2VcbiAqIEBwYXJhbSB7QXJyYXl8RnVuY3Rpb259IGZucyBBIHNpbmdsZSBmdW5jdGlvbiBvciBBcnJheSBvZiBmdW5jdGlvbnNcbiAqIEByZXR1cm5zIHsqfSBUaGUgcmVzdWx0aW5nIHRyYW5zZm9ybWVkIGRhdGFcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB0cmFuc2Zvcm1EYXRhKGRhdGEsIGhlYWRlcnMsIGZucykge1xuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cbiAgdXRpbHMuZm9yRWFjaChmbnMsIGZ1bmN0aW9uIHRyYW5zZm9ybShmbikge1xuICAgIGRhdGEgPSBmbihkYXRhLCBoZWFkZXJzKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGRhdGE7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/core/transformData.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/defaults.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/axios/lib/defaults.js ***!\n  \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/* WEBPACK VAR INJECTION */(function(process) {\\n\\nvar utils = __webpack_require__(/*! ./utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\nvar normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ \\\"./node_modules/axios/lib/helpers/normalizeHeaderName.js\\\");\\n\\nvar DEFAULT_CONTENT_TYPE = {\\n  'Content-Type': 'application/x-www-form-urlencoded'\\n};\\n\\nfunction setContentTypeIfUnset(headers, value) {\\n  if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\\n    headers['Content-Type'] = value;\\n  }\\n}\\n\\nfunction getDefaultAdapter() {\\n  var adapter;\\n  if (typeof XMLHttpRequest !== 'undefined') {\\n    // For browsers use XHR adapter\\n    adapter = __webpack_require__(/*! ./adapters/xhr */ \\\"./node_modules/axios/lib/adapters/xhr.js\\\");\\n  } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\\n    // For node use HTTP adapter\\n    adapter = __webpack_require__(/*! ./adapters/http */ \\\"./node_modules/axios/lib/adapters/xhr.js\\\");\\n  }\\n  return adapter;\\n}\\n\\nvar defaults = {\\n  adapter: getDefaultAdapter(),\\n\\n  transformRequest: [function transformRequest(data, headers) {\\n    normalizeHeaderName(headers, 'Accept');\\n    normalizeHeaderName(headers, 'Content-Type');\\n    if (utils.isFormData(data) ||\\n      utils.isArrayBuffer(data) ||\\n      utils.isBuffer(data) ||\\n      utils.isStream(data) ||\\n      utils.isFile(data) ||\\n      utils.isBlob(data)\\n    ) {\\n      return data;\\n    }\\n    if (utils.isArrayBufferView(data)) {\\n      return data.buffer;\\n    }\\n    if (utils.isURLSearchParams(data)) {\\n      setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\\n      return data.toString();\\n    }\\n    if (utils.isObject(data)) {\\n      setContentTypeIfUnset(headers, 'application/json;charset=utf-8');\\n      return JSON.stringify(data);\\n    }\\n    return data;\\n  }],\\n\\n  transformResponse: [function transformResponse(data) {\\n    /*eslint no-param-reassign:0*/\\n    if (typeof data === 'string') {\\n      try {\\n        data = JSON.parse(data);\\n      } catch (e) { /* Ignore */ }\\n    }\\n    return data;\\n  }],\\n\\n  /**\\n   * A timeout in milliseconds to abort a request. If set to 0 (default) a\\n   * timeout is not created.\\n   */\\n  timeout: 0,\\n\\n  xsrfCookieName: 'XSRF-TOKEN',\\n  xsrfHeaderName: 'X-XSRF-TOKEN',\\n\\n  maxContentLength: -1,\\n\\n  validateStatus: function validateStatus(status) {\\n    return status >= 200 && status < 300;\\n  }\\n};\\n\\ndefaults.headers = {\\n  common: {\\n    'Accept': 'application/json, text/plain, */*'\\n  }\\n};\\n\\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\\n  defaults.headers[method] = {};\\n});\\n\\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\\n  defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\\n});\\n\\nmodule.exports = defaults;\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ \\\"./node_modules/process/browser.js\\\")))//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2RlZmF1bHRzLmpzPzI0NDQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQWE7O0FBRWIsWUFBWSxtQkFBTyxDQUFDLGtEQUFTO0FBQzdCLDBCQUEwQixtQkFBTyxDQUFDLDhGQUErQjs7QUFFakU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLG1CQUFPLENBQUMsZ0VBQWdCO0FBQ3RDLEdBQUc7QUFDSDtBQUNBLGNBQWMsbUJBQU8sQ0FBQyxpRUFBaUI7QUFDdkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3RUFBd0U7QUFDeEU7QUFDQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sWUFBWTtBQUNuQjtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvZGVmYXVsdHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMnKTtcbnZhciBub3JtYWxpemVIZWFkZXJOYW1lID0gcmVxdWlyZSgnLi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWUnKTtcblxudmFyIERFRkFVTFRfQ09OVEVOVF9UWVBFID0ge1xuICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbn07XG5cbmZ1bmN0aW9uIHNldENvbnRlbnRUeXBlSWZVbnNldChoZWFkZXJzLCB2YWx1ZSkge1xuICBpZiAoIXV0aWxzLmlzVW5kZWZpbmVkKGhlYWRlcnMpICYmIHV0aWxzLmlzVW5kZWZpbmVkKGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddKSkge1xuICAgIGhlYWRlcnNbJ0NvbnRlbnQtVHlwZSddID0gdmFsdWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0RGVmYXVsdEFkYXB0ZXIoKSB7XG4gIHZhciBhZGFwdGVyO1xuICBpZiAodHlwZW9mIFhNTEh0dHBSZXF1ZXN0ICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEZvciBicm93c2VycyB1c2UgWEhSIGFkYXB0ZXJcbiAgICBhZGFwdGVyID0gcmVxdWlyZSgnLi9hZGFwdGVycy94aHInKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHByb2Nlc3MpID09PSAnW29iamVjdCBwcm9jZXNzXScpIHtcbiAgICAvLyBGb3Igbm9kZSB1c2UgSFRUUCBhZGFwdGVyXG4gICAgYWRhcHRlciA9IHJlcXVpcmUoJy4vYWRhcHRlcnMvaHR0cCcpO1xuICB9XG4gIHJldHVybiBhZGFwdGVyO1xufVxuXG52YXIgZGVmYXVsdHMgPSB7XG4gIGFkYXB0ZXI6IGdldERlZmF1bHRBZGFwdGVyKCksXG5cbiAgdHJhbnNmb3JtUmVxdWVzdDogW2Z1bmN0aW9uIHRyYW5zZm9ybVJlcXVlc3QoZGF0YSwgaGVhZGVycykge1xuICAgIG5vcm1hbGl6ZUhlYWRlck5hbWUoaGVhZGVycywgJ0FjY2VwdCcpO1xuICAgIG5vcm1hbGl6ZUhlYWRlck5hbWUoaGVhZGVycywgJ0NvbnRlbnQtVHlwZScpO1xuICAgIGlmICh1dGlscy5pc0Zvcm1EYXRhKGRhdGEpIHx8XG4gICAgICB1dGlscy5pc0FycmF5QnVmZmVyKGRhdGEpIHx8XG4gICAgICB1dGlscy5pc0J1ZmZlcihkYXRhKSB8fFxuICAgICAgdXRpbHMuaXNTdHJlYW0oZGF0YSkgfHxcbiAgICAgIHV0aWxzLmlzRmlsZShkYXRhKSB8fFxuICAgICAgdXRpbHMuaXNCbG9iKGRhdGEpXG4gICAgKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gICAgaWYgKHV0aWxzLmlzQXJyYXlCdWZmZXJWaWV3KGRhdGEpKSB7XG4gICAgICByZXR1cm4gZGF0YS5idWZmZXI7XG4gICAgfVxuICAgIGlmICh1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhkYXRhKSkge1xuICAgICAgc2V0Q29udGVudFR5cGVJZlVuc2V0KGhlYWRlcnMsICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCcpO1xuICAgICAgcmV0dXJuIGRhdGEudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgaWYgKHV0aWxzLmlzT2JqZWN0KGRhdGEpKSB7XG4gICAgICBzZXRDb250ZW50VHlwZUlmVW5zZXQoaGVhZGVycywgJ2FwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtOCcpO1xuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfV0sXG5cbiAgdHJhbnNmb3JtUmVzcG9uc2U6IFtmdW5jdGlvbiB0cmFuc2Zvcm1SZXNwb25zZShkYXRhKSB7XG4gICAgLyplc2xpbnQgbm8tcGFyYW0tcmVhc3NpZ246MCovXG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgZGF0YSA9IEpTT04ucGFyc2UoZGF0YSk7XG4gICAgICB9IGNhdGNoIChlKSB7IC8qIElnbm9yZSAqLyB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XSxcblxuICAvKipcbiAgICogQSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyB0byBhYm9ydCBhIHJlcXVlc3QuIElmIHNldCB0byAwIChkZWZhdWx0KSBhXG4gICAqIHRpbWVvdXQgaXMgbm90IGNyZWF0ZWQuXG4gICAqL1xuICB0aW1lb3V0OiAwLFxuXG4gIHhzcmZDb29raWVOYW1lOiAnWFNSRi1UT0tFTicsXG4gIHhzcmZIZWFkZXJOYW1lOiAnWC1YU1JGLVRPS0VOJyxcblxuICBtYXhDb250ZW50TGVuZ3RoOiAtMSxcblxuICB2YWxpZGF0ZVN0YXR1czogZnVuY3Rpb24gdmFsaWRhdGVTdGF0dXMoc3RhdHVzKSB7XG4gICAgcmV0dXJuIHN0YXR1cyA+PSAyMDAgJiYgc3RhdHVzIDwgMzAwO1xuICB9XG59O1xuXG5kZWZhdWx0cy5oZWFkZXJzID0ge1xuICBjb21tb246IHtcbiAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24sIHRleHQvcGxhaW4sICovKidcbiAgfVxufTtcblxudXRpbHMuZm9yRWFjaChbJ2RlbGV0ZScsICdnZXQnLCAnaGVhZCddLCBmdW5jdGlvbiBmb3JFYWNoTWV0aG9kTm9EYXRhKG1ldGhvZCkge1xuICBkZWZhdWx0cy5oZWFkZXJzW21ldGhvZF0gPSB7fTtcbn0pO1xuXG51dGlscy5mb3JFYWNoKFsncG9zdCcsICdwdXQnLCAncGF0Y2gnXSwgZnVuY3Rpb24gZm9yRWFjaE1ldGhvZFdpdGhEYXRhKG1ldGhvZCkge1xuICBkZWZhdWx0cy5oZWFkZXJzW21ldGhvZF0gPSB1dGlscy5tZXJnZShERUZBVUxUX0NPTlRFTlRfVFlQRSk7XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBkZWZhdWx0cztcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/defaults.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/bind.js\":\n/*!************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/bind.js ***!\n  \\************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nmodule.exports = function bind(fn, thisArg) {\\n  return function wrap() {\\n    var args = new Array(arguments.length);\\n    for (var i = 0; i < args.length; i++) {\\n      args[i] = arguments[i];\\n    }\\n    return fn.apply(thisArg, args);\\n  };\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYmluZC5qcz8xZDJiIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixpQkFBaUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9iaW5kLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGJpbmQoZm4sIHRoaXNBcmcpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHdyYXAoKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCk7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2ldO1xuICAgIH1cbiAgICByZXR1cm4gZm4uYXBwbHkodGhpc0FyZywgYXJncyk7XG4gIH07XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/bind.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/buildURL.js\":\n/*!****************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/buildURL.js ***!\n  \\****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\nfunction encode(val) {\\n  return encodeURIComponent(val).\\n    replace(/%40/gi, '@').\\n    replace(/%3A/gi, ':').\\n    replace(/%24/g, '$').\\n    replace(/%2C/gi, ',').\\n    replace(/%20/g, '+').\\n    replace(/%5B/gi, '[').\\n    replace(/%5D/gi, ']');\\n}\\n\\n/**\\n * Build a URL by appending params to the end\\n *\\n * @param {string} url The base of the url (e.g., http://www.google.com)\\n * @param {object} [params] The params to be appended\\n * @returns {string} The formatted url\\n */\\nmodule.exports = function buildURL(url, params, paramsSerializer) {\\n  /*eslint no-param-reassign:0*/\\n  if (!params) {\\n    return url;\\n  }\\n\\n  var serializedParams;\\n  if (paramsSerializer) {\\n    serializedParams = paramsSerializer(params);\\n  } else if (utils.isURLSearchParams(params)) {\\n    serializedParams = params.toString();\\n  } else {\\n    var parts = [];\\n\\n    utils.forEach(params, function serialize(val, key) {\\n      if (val === null || typeof val === 'undefined') {\\n        return;\\n      }\\n\\n      if (utils.isArray(val)) {\\n        key = key + '[]';\\n      } else {\\n        val = [val];\\n      }\\n\\n      utils.forEach(val, function parseValue(v) {\\n        if (utils.isDate(v)) {\\n          v = v.toISOString();\\n        } else if (utils.isObject(v)) {\\n          v = JSON.stringify(v);\\n        }\\n        parts.push(encode(key) + '=' + encode(v));\\n      });\\n    });\\n\\n    serializedParams = parts.join('&');\\n  }\\n\\n  if (serializedParams) {\\n    var hashmarkIndex = url.indexOf('#');\\n    if (hashmarkIndex !== -1) {\\n      url = url.slice(0, hashmarkIndex);\\n    }\\n\\n    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\\n  }\\n\\n  return url;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvYnVpbGRVUkwuanM/MzBiNSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixZQUFZLG1CQUFPLENBQUMscURBQVk7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL2J1aWxkVVJMLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLy4uL3V0aWxzJyk7XG5cbmZ1bmN0aW9uIGVuY29kZSh2YWwpIHtcbiAgcmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudCh2YWwpLlxuICAgIHJlcGxhY2UoLyU0MC9naSwgJ0AnKS5cbiAgICByZXBsYWNlKC8lM0EvZ2ksICc6JykuXG4gICAgcmVwbGFjZSgvJTI0L2csICckJykuXG4gICAgcmVwbGFjZSgvJTJDL2dpLCAnLCcpLlxuICAgIHJlcGxhY2UoLyUyMC9nLCAnKycpLlxuICAgIHJlcGxhY2UoLyU1Qi9naSwgJ1snKS5cbiAgICByZXBsYWNlKC8lNUQvZ2ksICddJyk7XG59XG5cbi8qKlxuICogQnVpbGQgYSBVUkwgYnkgYXBwZW5kaW5nIHBhcmFtcyB0byB0aGUgZW5kXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHVybCBUaGUgYmFzZSBvZiB0aGUgdXJsIChlLmcuLCBodHRwOi8vd3d3Lmdvb2dsZS5jb20pXG4gKiBAcGFyYW0ge29iamVjdH0gW3BhcmFtc10gVGhlIHBhcmFtcyB0byBiZSBhcHBlbmRlZFxuICogQHJldHVybnMge3N0cmluZ30gVGhlIGZvcm1hdHRlZCB1cmxcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBidWlsZFVSTCh1cmwsIHBhcmFtcywgcGFyYW1zU2VyaWFsaXplcikge1xuICAvKmVzbGludCBuby1wYXJhbS1yZWFzc2lnbjowKi9cbiAgaWYgKCFwYXJhbXMpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgdmFyIHNlcmlhbGl6ZWRQYXJhbXM7XG4gIGlmIChwYXJhbXNTZXJpYWxpemVyKSB7XG4gICAgc2VyaWFsaXplZFBhcmFtcyA9IHBhcmFtc1NlcmlhbGl6ZXIocGFyYW1zKTtcbiAgfSBlbHNlIGlmICh1dGlscy5pc1VSTFNlYXJjaFBhcmFtcyhwYXJhbXMpKSB7XG4gICAgc2VyaWFsaXplZFBhcmFtcyA9IHBhcmFtcy50b1N0cmluZygpO1xuICB9IGVsc2Uge1xuICAgIHZhciBwYXJ0cyA9IFtdO1xuXG4gICAgdXRpbHMuZm9yRWFjaChwYXJhbXMsIGZ1bmN0aW9uIHNlcmlhbGl6ZSh2YWwsIGtleSkge1xuICAgICAgaWYgKHZhbCA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh1dGlscy5pc0FycmF5KHZhbCkpIHtcbiAgICAgICAga2V5ID0ga2V5ICsgJ1tdJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhbCA9IFt2YWxdO1xuICAgICAgfVxuXG4gICAgICB1dGlscy5mb3JFYWNoKHZhbCwgZnVuY3Rpb24gcGFyc2VWYWx1ZSh2KSB7XG4gICAgICAgIGlmICh1dGlscy5pc0RhdGUodikpIHtcbiAgICAgICAgICB2ID0gdi50b0lTT1N0cmluZygpO1xuICAgICAgICB9IGVsc2UgaWYgKHV0aWxzLmlzT2JqZWN0KHYpKSB7XG4gICAgICAgICAgdiA9IEpTT04uc3RyaW5naWZ5KHYpO1xuICAgICAgICB9XG4gICAgICAgIHBhcnRzLnB1c2goZW5jb2RlKGtleSkgKyAnPScgKyBlbmNvZGUodikpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBzZXJpYWxpemVkUGFyYW1zID0gcGFydHMuam9pbignJicpO1xuICB9XG5cbiAgaWYgKHNlcmlhbGl6ZWRQYXJhbXMpIHtcbiAgICB2YXIgaGFzaG1hcmtJbmRleCA9IHVybC5pbmRleE9mKCcjJyk7XG4gICAgaWYgKGhhc2htYXJrSW5kZXggIT09IC0xKSB7XG4gICAgICB1cmwgPSB1cmwuc2xpY2UoMCwgaGFzaG1hcmtJbmRleCk7XG4gICAgfVxuXG4gICAgdXJsICs9ICh1cmwuaW5kZXhPZignPycpID09PSAtMSA/ICc/JyA6ICcmJykgKyBzZXJpYWxpemVkUGFyYW1zO1xuICB9XG5cbiAgcmV0dXJuIHVybDtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/buildURL.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/combineURLs.js\":\n/*!*******************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/combineURLs.js ***!\n  \\*******************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/**\\n * Creates a new URL by combining the specified URLs\\n *\\n * @param {string} baseURL The base URL\\n * @param {string} relativeURL The relative URL\\n * @returns {string} The combined URL\\n */\\nmodule.exports = function combineURLs(baseURL, relativeURL) {\\n  return relativeURL\\n    ? baseURL.replace(/\\\\/+$/, '') + '/' + relativeURL.replace(/^\\\\/+/, '')\\n    : baseURL;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanM/ZTY4MyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29tYmluZVVSTHMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBVUkwgYnkgY29tYmluaW5nIHRoZSBzcGVjaWZpZWQgVVJMc1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlVVJMIFRoZSBiYXNlIFVSTFxuICogQHBhcmFtIHtzdHJpbmd9IHJlbGF0aXZlVVJMIFRoZSByZWxhdGl2ZSBVUkxcbiAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb21iaW5lZCBVUkxcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBjb21iaW5lVVJMcyhiYXNlVVJMLCByZWxhdGl2ZVVSTCkge1xuICByZXR1cm4gcmVsYXRpdmVVUkxcbiAgICA/IGJhc2VVUkwucmVwbGFjZSgvXFwvKyQvLCAnJykgKyAnLycgKyByZWxhdGl2ZVVSTC5yZXBsYWNlKC9eXFwvKy8sICcnKVxuICAgIDogYmFzZVVSTDtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/combineURLs.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/cookies.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/cookies.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\nmodule.exports = (\\n  utils.isStandardBrowserEnv() ?\\n\\n  // Standard browser envs support document.cookie\\n    (function standardBrowserEnv() {\\n      return {\\n        write: function write(name, value, expires, path, domain, secure) {\\n          var cookie = [];\\n          cookie.push(name + '=' + encodeURIComponent(value));\\n\\n          if (utils.isNumber(expires)) {\\n            cookie.push('expires=' + new Date(expires).toGMTString());\\n          }\\n\\n          if (utils.isString(path)) {\\n            cookie.push('path=' + path);\\n          }\\n\\n          if (utils.isString(domain)) {\\n            cookie.push('domain=' + domain);\\n          }\\n\\n          if (secure === true) {\\n            cookie.push('secure');\\n          }\\n\\n          document.cookie = cookie.join('; ');\\n        },\\n\\n        read: function read(name) {\\n          var match = document.cookie.match(new RegExp('(^|;\\\\\\\\s*)(' + name + ')=([^;]*)'));\\n          return (match ? decodeURIComponent(match[3]) : null);\\n        },\\n\\n        remove: function remove(name) {\\n          this.write(name, '', Date.now() - 86400000);\\n        }\\n      };\\n    })() :\\n\\n  // Non standard browser env (web workers, react-native) lack needed support.\\n    (function nonStandardBrowserEnv() {\\n      return {\\n        write: function write() {},\\n        read: function read() { return null; },\\n        remove: function remove() {}\\n      };\\n    })()\\n);\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcz83YWFjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLFlBQVksbUJBQU8sQ0FBQyxxREFBWTs7QUFFaEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDBDQUEwQztBQUMxQyxTQUFTOztBQUVUO0FBQ0EsNERBQTRELHdCQUF3QjtBQUNwRjtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQywrQkFBK0IsYUFBYSxFQUFFO0FBQzlDO0FBQ0E7QUFDQSxLQUFLO0FBQ0wiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvY29va2llcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHV0aWxzID0gcmVxdWlyZSgnLi8uLi91dGlscycpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IChcbiAgdXRpbHMuaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSA/XG5cbiAgLy8gU3RhbmRhcmQgYnJvd3NlciBlbnZzIHN1cHBvcnQgZG9jdW1lbnQuY29va2llXG4gICAgKGZ1bmN0aW9uIHN0YW5kYXJkQnJvd3NlckVudigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdyaXRlOiBmdW5jdGlvbiB3cml0ZShuYW1lLCB2YWx1ZSwgZXhwaXJlcywgcGF0aCwgZG9tYWluLCBzZWN1cmUpIHtcbiAgICAgICAgICB2YXIgY29va2llID0gW107XG4gICAgICAgICAgY29va2llLnB1c2gobmFtZSArICc9JyArIGVuY29kZVVSSUNvbXBvbmVudCh2YWx1ZSkpO1xuXG4gICAgICAgICAgaWYgKHV0aWxzLmlzTnVtYmVyKGV4cGlyZXMpKSB7XG4gICAgICAgICAgICBjb29raWUucHVzaCgnZXhwaXJlcz0nICsgbmV3IERhdGUoZXhwaXJlcykudG9HTVRTdHJpbmcoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHV0aWxzLmlzU3RyaW5nKHBhdGgpKSB7XG4gICAgICAgICAgICBjb29raWUucHVzaCgncGF0aD0nICsgcGF0aCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHV0aWxzLmlzU3RyaW5nKGRvbWFpbikpIHtcbiAgICAgICAgICAgIGNvb2tpZS5wdXNoKCdkb21haW49JyArIGRvbWFpbik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHNlY3VyZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29va2llLnB1c2goJ3NlY3VyZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZS5qb2luKCc7ICcpO1xuICAgICAgICB9LFxuXG4gICAgICAgIHJlYWQ6IGZ1bmN0aW9uIHJlYWQobmFtZSkge1xuICAgICAgICAgIHZhciBtYXRjaCA9IGRvY3VtZW50LmNvb2tpZS5tYXRjaChuZXcgUmVnRXhwKCcoXnw7XFxcXHMqKSgnICsgbmFtZSArICcpPShbXjtdKiknKSk7XG4gICAgICAgICAgcmV0dXJuIChtYXRjaCA/IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaFszXSkgOiBudWxsKTtcbiAgICAgICAgfSxcblxuICAgICAgICByZW1vdmU6IGZ1bmN0aW9uIHJlbW92ZShuYW1lKSB7XG4gICAgICAgICAgdGhpcy53cml0ZShuYW1lLCAnJywgRGF0ZS5ub3coKSAtIDg2NDAwMDAwKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9KSgpIDpcblxuICAvLyBOb24gc3RhbmRhcmQgYnJvd3NlciBlbnYgKHdlYiB3b3JrZXJzLCByZWFjdC1uYXRpdmUpIGxhY2sgbmVlZGVkIHN1cHBvcnQuXG4gICAgKGZ1bmN0aW9uIG5vblN0YW5kYXJkQnJvd3NlckVudigpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHdyaXRlOiBmdW5jdGlvbiB3cml0ZSgpIHt9LFxuICAgICAgICByZWFkOiBmdW5jdGlvbiByZWFkKCkgeyByZXR1cm4gbnVsbDsgfSxcbiAgICAgICAgcmVtb3ZlOiBmdW5jdGlvbiByZW1vdmUoKSB7fVxuICAgICAgfTtcbiAgICB9KSgpXG4pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/cookies.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/isAbsoluteURL.js\":\n/*!*********************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!\n  \\*********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/**\\n * Determines whether the specified URL is absolute\\n *\\n * @param {string} url The URL to test\\n * @returns {boolean} True if the specified URL is absolute, otherwise false\\n */\\nmodule.exports = function isAbsoluteURL(url) {\\n  // A URL is considered absolute if it begins with \\\"<scheme>://\\\" or \\\"//\\\" (protocol-relative URL).\\n  // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\\n  // by any combination of letters, digits, plus, period, or hyphen.\\n  return /^([a-z][a-z\\\\d\\\\+\\\\-\\\\.]*:)?\\\\/\\\\//i.test(url);\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qcz9kOTI1Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNBYnNvbHV0ZVVSTC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBVUkwgaXMgYWJzb2x1dGVcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdXJsIFRoZSBVUkwgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHNwZWNpZmllZCBVUkwgaXMgYWJzb2x1dGUsIG90aGVyd2lzZSBmYWxzZVxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGlzQWJzb2x1dGVVUkwodXJsKSB7XG4gIC8vIEEgVVJMIGlzIGNvbnNpZGVyZWQgYWJzb2x1dGUgaWYgaXQgYmVnaW5zIHdpdGggXCI8c2NoZW1lPjovL1wiIG9yIFwiLy9cIiAocHJvdG9jb2wtcmVsYXRpdmUgVVJMKS5cbiAgLy8gUkZDIDM5ODYgZGVmaW5lcyBzY2hlbWUgbmFtZSBhcyBhIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgYmVnaW5uaW5nIHdpdGggYSBsZXR0ZXIgYW5kIGZvbGxvd2VkXG4gIC8vIGJ5IGFueSBjb21iaW5hdGlvbiBvZiBsZXR0ZXJzLCBkaWdpdHMsIHBsdXMsIHBlcmlvZCwgb3IgaHlwaGVuLlxuICByZXR1cm4gL14oW2Etel1bYS16XFxkXFwrXFwtXFwuXSo6KT9cXC9cXC8vaS50ZXN0KHVybCk7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/isAbsoluteURL.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/isURLSameOrigin.js\":\n/*!***********************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!\n  \\***********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\nmodule.exports = (\\n  utils.isStandardBrowserEnv() ?\\n\\n  // Standard browser envs have full support of the APIs needed to test\\n  // whether the request URL is of the same origin as current location.\\n    (function standardBrowserEnv() {\\n      var msie = /(msie|trident)/i.test(navigator.userAgent);\\n      var urlParsingNode = document.createElement('a');\\n      var originURL;\\n\\n      /**\\n    * Parse a URL to discover it's components\\n    *\\n    * @param {String} url The URL to be parsed\\n    * @returns {Object}\\n    */\\n      function resolveURL(url) {\\n        var href = url;\\n\\n        if (msie) {\\n        // IE needs attribute set twice to normalize properties\\n          urlParsingNode.setAttribute('href', href);\\n          href = urlParsingNode.href;\\n        }\\n\\n        urlParsingNode.setAttribute('href', href);\\n\\n        // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\\n        return {\\n          href: urlParsingNode.href,\\n          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\\n          host: urlParsingNode.host,\\n          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\\\?/, '') : '',\\n          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\\n          hostname: urlParsingNode.hostname,\\n          port: urlParsingNode.port,\\n          pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\\n            urlParsingNode.pathname :\\n            '/' + urlParsingNode.pathname\\n        };\\n      }\\n\\n      originURL = resolveURL(window.location.href);\\n\\n      /**\\n    * Determine if a URL shares the same origin as the current location\\n    *\\n    * @param {String} requestURL The URL to test\\n    * @returns {boolean} True if URL shares the same origin, otherwise false\\n    */\\n      return function isURLSameOrigin(requestURL) {\\n        var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\\n        return (parsed.protocol === originURL.protocol &&\\n            parsed.host === originURL.host);\\n      };\\n    })() :\\n\\n  // Non standard browser envs (web workers, react-native) lack needed support.\\n    (function nonStandardBrowserEnv() {\\n      return function isURLSameOrigin() {\\n        return true;\\n      };\\n    })()\\n);\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvaXNVUkxTYW1lT3JpZ2luLmpzPzM5MzQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsWUFBWSxtQkFBTyxDQUFDLHFEQUFZOztBQUVoQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGdCQUFnQixRQUFRO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9heGlvcy9saWIvaGVscGVycy9pc1VSTFNhbWVPcmlnaW4uanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4vLi4vdXRpbHMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSAoXG4gIHV0aWxzLmlzU3RhbmRhcmRCcm93c2VyRW52KCkgP1xuXG4gIC8vIFN0YW5kYXJkIGJyb3dzZXIgZW52cyBoYXZlIGZ1bGwgc3VwcG9ydCBvZiB0aGUgQVBJcyBuZWVkZWQgdG8gdGVzdFxuICAvLyB3aGV0aGVyIHRoZSByZXF1ZXN0IFVSTCBpcyBvZiB0aGUgc2FtZSBvcmlnaW4gYXMgY3VycmVudCBsb2NhdGlvbi5cbiAgICAoZnVuY3Rpb24gc3RhbmRhcmRCcm93c2VyRW52KCkge1xuICAgICAgdmFyIG1zaWUgPSAvKG1zaWV8dHJpZGVudCkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuICAgICAgdmFyIHVybFBhcnNpbmdOb2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgICAgdmFyIG9yaWdpblVSTDtcblxuICAgICAgLyoqXG4gICAgKiBQYXJzZSBhIFVSTCB0byBkaXNjb3ZlciBpdCdzIGNvbXBvbmVudHNcbiAgICAqXG4gICAgKiBAcGFyYW0ge1N0cmluZ30gdXJsIFRoZSBVUkwgdG8gYmUgcGFyc2VkXG4gICAgKiBAcmV0dXJucyB7T2JqZWN0fVxuICAgICovXG4gICAgICBmdW5jdGlvbiByZXNvbHZlVVJMKHVybCkge1xuICAgICAgICB2YXIgaHJlZiA9IHVybDtcblxuICAgICAgICBpZiAobXNpZSkge1xuICAgICAgICAvLyBJRSBuZWVkcyBhdHRyaWJ1dGUgc2V0IHR3aWNlIHRvIG5vcm1hbGl6ZSBwcm9wZXJ0aWVzXG4gICAgICAgICAgdXJsUGFyc2luZ05vZGUuc2V0QXR0cmlidXRlKCdocmVmJywgaHJlZik7XG4gICAgICAgICAgaHJlZiA9IHVybFBhcnNpbmdOb2RlLmhyZWY7XG4gICAgICAgIH1cblxuICAgICAgICB1cmxQYXJzaW5nTm9kZS5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBocmVmKTtcblxuICAgICAgICAvLyB1cmxQYXJzaW5nTm9kZSBwcm92aWRlcyB0aGUgVXJsVXRpbHMgaW50ZXJmYWNlIC0gaHR0cDovL3VybC5zcGVjLndoYXR3Zy5vcmcvI3VybHV0aWxzXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgaHJlZjogdXJsUGFyc2luZ05vZGUuaHJlZixcbiAgICAgICAgICBwcm90b2NvbDogdXJsUGFyc2luZ05vZGUucHJvdG9jb2wgPyB1cmxQYXJzaW5nTm9kZS5wcm90b2NvbC5yZXBsYWNlKC86JC8sICcnKSA6ICcnLFxuICAgICAgICAgIGhvc3Q6IHVybFBhcnNpbmdOb2RlLmhvc3QsXG4gICAgICAgICAgc2VhcmNoOiB1cmxQYXJzaW5nTm9kZS5zZWFyY2ggPyB1cmxQYXJzaW5nTm9kZS5zZWFyY2gucmVwbGFjZSgvXlxcPy8sICcnKSA6ICcnLFxuICAgICAgICAgIGhhc2g6IHVybFBhcnNpbmdOb2RlLmhhc2ggPyB1cmxQYXJzaW5nTm9kZS5oYXNoLnJlcGxhY2UoL14jLywgJycpIDogJycsXG4gICAgICAgICAgaG9zdG5hbWU6IHVybFBhcnNpbmdOb2RlLmhvc3RuYW1lLFxuICAgICAgICAgIHBvcnQ6IHVybFBhcnNpbmdOb2RlLnBvcnQsXG4gICAgICAgICAgcGF0aG5hbWU6ICh1cmxQYXJzaW5nTm9kZS5wYXRobmFtZS5jaGFyQXQoMCkgPT09ICcvJykgP1xuICAgICAgICAgICAgdXJsUGFyc2luZ05vZGUucGF0aG5hbWUgOlxuICAgICAgICAgICAgJy8nICsgdXJsUGFyc2luZ05vZGUucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgb3JpZ2luVVJMID0gcmVzb2x2ZVVSTCh3aW5kb3cubG9jYXRpb24uaHJlZik7XG5cbiAgICAgIC8qKlxuICAgICogRGV0ZXJtaW5lIGlmIGEgVVJMIHNoYXJlcyB0aGUgc2FtZSBvcmlnaW4gYXMgdGhlIGN1cnJlbnQgbG9jYXRpb25cbiAgICAqXG4gICAgKiBAcGFyYW0ge1N0cmluZ30gcmVxdWVzdFVSTCBUaGUgVVJMIHRvIHRlc3RcbiAgICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIFVSTCBzaGFyZXMgdGhlIHNhbWUgb3JpZ2luLCBvdGhlcndpc2UgZmFsc2VcbiAgICAqL1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlzVVJMU2FtZU9yaWdpbihyZXF1ZXN0VVJMKSB7XG4gICAgICAgIHZhciBwYXJzZWQgPSAodXRpbHMuaXNTdHJpbmcocmVxdWVzdFVSTCkpID8gcmVzb2x2ZVVSTChyZXF1ZXN0VVJMKSA6IHJlcXVlc3RVUkw7XG4gICAgICAgIHJldHVybiAocGFyc2VkLnByb3RvY29sID09PSBvcmlnaW5VUkwucHJvdG9jb2wgJiZcbiAgICAgICAgICAgIHBhcnNlZC5ob3N0ID09PSBvcmlnaW5VUkwuaG9zdCk7XG4gICAgICB9O1xuICAgIH0pKCkgOlxuXG4gIC8vIE5vbiBzdGFuZGFyZCBicm93c2VyIGVudnMgKHdlYiB3b3JrZXJzLCByZWFjdC1uYXRpdmUpIGxhY2sgbmVlZGVkIHN1cHBvcnQuXG4gICAgKGZ1bmN0aW9uIG5vblN0YW5kYXJkQnJvd3NlckVudigpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiBpc1VSTFNhbWVPcmlnaW4oKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfTtcbiAgICB9KSgpXG4pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/isURLSameOrigin.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/normalizeHeaderName.js\":\n/*!***************************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!\n  \\***************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\\n  utils.forEach(headers, function processHeader(value, name) {\\n    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\\n      headers[normalizedName] = value;\\n      delete headers[name];\\n    }\\n  });\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvbm9ybWFsaXplSGVhZGVyTmFtZS5qcz9jOGFmIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViLFlBQVksbUJBQU8sQ0FBQyxtREFBVTs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi9oZWxwZXJzL25vcm1hbGl6ZUhlYWRlck5hbWUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciB1dGlscyA9IHJlcXVpcmUoJy4uL3V0aWxzJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gbm9ybWFsaXplSGVhZGVyTmFtZShoZWFkZXJzLCBub3JtYWxpemVkTmFtZSkge1xuICB1dGlscy5mb3JFYWNoKGhlYWRlcnMsIGZ1bmN0aW9uIHByb2Nlc3NIZWFkZXIodmFsdWUsIG5hbWUpIHtcbiAgICBpZiAobmFtZSAhPT0gbm9ybWFsaXplZE5hbWUgJiYgbmFtZS50b1VwcGVyQ2FzZSgpID09PSBub3JtYWxpemVkTmFtZS50b1VwcGVyQ2FzZSgpKSB7XG4gICAgICBoZWFkZXJzW25vcm1hbGl6ZWROYW1lXSA9IHZhbHVlO1xuICAgICAgZGVsZXRlIGhlYWRlcnNbbmFtZV07XG4gICAgfVxuICB9KTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/normalizeHeaderName.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/parseHeaders.js\":\n/*!********************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!\n  \\********************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar utils = __webpack_require__(/*! ./../utils */ \\\"./node_modules/axios/lib/utils.js\\\");\\n\\n// Headers whose duplicates are ignored by node\\n// c.f. https://nodejs.org/api/http.html#http_message_headers\\nvar ignoreDuplicateOf = [\\n  'age', 'authorization', 'content-length', 'content-type', 'etag',\\n  'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\\n  'last-modified', 'location', 'max-forwards', 'proxy-authorization',\\n  'referer', 'retry-after', 'user-agent'\\n];\\n\\n/**\\n * Parse headers into an object\\n *\\n * ```\\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\\n * Content-Type: application/json\\n * Connection: keep-alive\\n * Transfer-Encoding: chunked\\n * ```\\n *\\n * @param {String} headers Headers needing to be parsed\\n * @returns {Object} Headers parsed into an object\\n */\\nmodule.exports = function parseHeaders(headers) {\\n  var parsed = {};\\n  var key;\\n  var val;\\n  var i;\\n\\n  if (!headers) { return parsed; }\\n\\n  utils.forEach(headers.split('\\\\n'), function parser(line) {\\n    i = line.indexOf(':');\\n    key = utils.trim(line.substr(0, i)).toLowerCase();\\n    val = utils.trim(line.substr(i + 1));\\n\\n    if (key) {\\n      if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\\n        return;\\n      }\\n      if (key === 'set-cookie') {\\n        parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\\n      } else {\\n        parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\\n      }\\n    }\\n  });\\n\\n  return parsed;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzP2MzNDUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsWUFBWSxtQkFBTyxDQUFDLHFEQUFZOztBQUVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLGVBQWU7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvcGFyc2VIZWFkZXJzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbHMgPSByZXF1aXJlKCcuLy4uL3V0aWxzJyk7XG5cbi8vIEhlYWRlcnMgd2hvc2UgZHVwbGljYXRlcyBhcmUgaWdub3JlZCBieSBub2RlXG4vLyBjLmYuIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvaHR0cC5odG1sI2h0dHBfbWVzc2FnZV9oZWFkZXJzXG52YXIgaWdub3JlRHVwbGljYXRlT2YgPSBbXG4gICdhZ2UnLCAnYXV0aG9yaXphdGlvbicsICdjb250ZW50LWxlbmd0aCcsICdjb250ZW50LXR5cGUnLCAnZXRhZycsXG4gICdleHBpcmVzJywgJ2Zyb20nLCAnaG9zdCcsICdpZi1tb2RpZmllZC1zaW5jZScsICdpZi11bm1vZGlmaWVkLXNpbmNlJyxcbiAgJ2xhc3QtbW9kaWZpZWQnLCAnbG9jYXRpb24nLCAnbWF4LWZvcndhcmRzJywgJ3Byb3h5LWF1dGhvcml6YXRpb24nLFxuICAncmVmZXJlcicsICdyZXRyeS1hZnRlcicsICd1c2VyLWFnZW50J1xuXTtcblxuLyoqXG4gKiBQYXJzZSBoZWFkZXJzIGludG8gYW4gb2JqZWN0XG4gKlxuICogYGBgXG4gKiBEYXRlOiBXZWQsIDI3IEF1ZyAyMDE0IDA4OjU4OjQ5IEdNVFxuICogQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uXG4gKiBDb25uZWN0aW9uOiBrZWVwLWFsaXZlXG4gKiBUcmFuc2Zlci1FbmNvZGluZzogY2h1bmtlZFxuICogYGBgXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IGhlYWRlcnMgSGVhZGVycyBuZWVkaW5nIHRvIGJlIHBhcnNlZFxuICogQHJldHVybnMge09iamVjdH0gSGVhZGVycyBwYXJzZWQgaW50byBhbiBvYmplY3RcbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBwYXJzZUhlYWRlcnMoaGVhZGVycykge1xuICB2YXIgcGFyc2VkID0ge307XG4gIHZhciBrZXk7XG4gIHZhciB2YWw7XG4gIHZhciBpO1xuXG4gIGlmICghaGVhZGVycykgeyByZXR1cm4gcGFyc2VkOyB9XG5cbiAgdXRpbHMuZm9yRWFjaChoZWFkZXJzLnNwbGl0KCdcXG4nKSwgZnVuY3Rpb24gcGFyc2VyKGxpbmUpIHtcbiAgICBpID0gbGluZS5pbmRleE9mKCc6Jyk7XG4gICAga2V5ID0gdXRpbHMudHJpbShsaW5lLnN1YnN0cigwLCBpKSkudG9Mb3dlckNhc2UoKTtcbiAgICB2YWwgPSB1dGlscy50cmltKGxpbmUuc3Vic3RyKGkgKyAxKSk7XG5cbiAgICBpZiAoa2V5KSB7XG4gICAgICBpZiAocGFyc2VkW2tleV0gJiYgaWdub3JlRHVwbGljYXRlT2YuaW5kZXhPZihrZXkpID49IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGtleSA9PT0gJ3NldC1jb29raWUnKSB7XG4gICAgICAgIHBhcnNlZFtrZXldID0gKHBhcnNlZFtrZXldID8gcGFyc2VkW2tleV0gOiBbXSkuY29uY2F0KFt2YWxdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcnNlZFtrZXldID0gcGFyc2VkW2tleV0gPyBwYXJzZWRba2V5XSArICcsICcgKyB2YWwgOiB2YWw7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gcGFyc2VkO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/parseHeaders.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/helpers/spread.js\":\n/*!**************************************************!*\\\n  !*** ./node_modules/axios/lib/helpers/spread.js ***!\n  \\**************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\n/**\\n * Syntactic sugar for invoking a function and expanding an array for arguments.\\n *\\n * Common use case would be to use `Function.prototype.apply`.\\n *\\n *  ```js\\n *  function f(x, y, z) {}\\n *  var args = [1, 2, 3];\\n *  f.apply(null, args);\\n *  ```\\n *\\n * With `spread` this example can be re-written.\\n *\\n *  ```js\\n *  spread(function(x, y, z) {})([1, 2, 3]);\\n *  ```\\n *\\n * @param {Function} callback\\n * @returns {Function}\\n */\\nmodule.exports = function spread(callback) {\\n  return function wrap(arr) {\\n    return callback.apply(null, arr);\\n  };\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzPzBkZjYiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL2hlbHBlcnMvc3ByZWFkLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFN5bnRhY3RpYyBzdWdhciBmb3IgaW52b2tpbmcgYSBmdW5jdGlvbiBhbmQgZXhwYW5kaW5nIGFuIGFycmF5IGZvciBhcmd1bWVudHMuXG4gKlxuICogQ29tbW9uIHVzZSBjYXNlIHdvdWxkIGJlIHRvIHVzZSBgRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5YC5cbiAqXG4gKiAgYGBganNcbiAqICBmdW5jdGlvbiBmKHgsIHksIHopIHt9XG4gKiAgdmFyIGFyZ3MgPSBbMSwgMiwgM107XG4gKiAgZi5hcHBseShudWxsLCBhcmdzKTtcbiAqICBgYGBcbiAqXG4gKiBXaXRoIGBzcHJlYWRgIHRoaXMgZXhhbXBsZSBjYW4gYmUgcmUtd3JpdHRlbi5cbiAqXG4gKiAgYGBganNcbiAqICBzcHJlYWQoZnVuY3Rpb24oeCwgeSwgeikge30pKFsxLCAyLCAzXSk7XG4gKiAgYGBgXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm5zIHtGdW5jdGlvbn1cbiAqL1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBzcHJlYWQoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHdyYXAoYXJyKSB7XG4gICAgcmV0dXJuIGNhbGxiYWNrLmFwcGx5KG51bGwsIGFycik7XG4gIH07XG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/helpers/spread.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/axios/lib/utils.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/axios/lib/utils.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nvar bind = __webpack_require__(/*! ./helpers/bind */ \\\"./node_modules/axios/lib/helpers/bind.js\\\");\\n\\n/*global toString:true*/\\n\\n// utils is a library of generic helper functions non-specific to axios\\n\\nvar toString = Object.prototype.toString;\\n\\n/**\\n * Determine if a value is an Array\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is an Array, otherwise false\\n */\\nfunction isArray(val) {\\n  return toString.call(val) === '[object Array]';\\n}\\n\\n/**\\n * Determine if a value is undefined\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if the value is undefined, otherwise false\\n */\\nfunction isUndefined(val) {\\n  return typeof val === 'undefined';\\n}\\n\\n/**\\n * Determine if a value is a Buffer\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a Buffer, otherwise false\\n */\\nfunction isBuffer(val) {\\n  return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\\n    && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\\n}\\n\\n/**\\n * Determine if a value is an ArrayBuffer\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\\n */\\nfunction isArrayBuffer(val) {\\n  return toString.call(val) === '[object ArrayBuffer]';\\n}\\n\\n/**\\n * Determine if a value is a FormData\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is an FormData, otherwise false\\n */\\nfunction isFormData(val) {\\n  return (typeof FormData !== 'undefined') && (val instanceof FormData);\\n}\\n\\n/**\\n * Determine if a value is a view on an ArrayBuffer\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\\n */\\nfunction isArrayBufferView(val) {\\n  var result;\\n  if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\\n    result = ArrayBuffer.isView(val);\\n  } else {\\n    result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);\\n  }\\n  return result;\\n}\\n\\n/**\\n * Determine if a value is a String\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a String, otherwise false\\n */\\nfunction isString(val) {\\n  return typeof val === 'string';\\n}\\n\\n/**\\n * Determine if a value is a Number\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a Number, otherwise false\\n */\\nfunction isNumber(val) {\\n  return typeof val === 'number';\\n}\\n\\n/**\\n * Determine if a value is an Object\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is an Object, otherwise false\\n */\\nfunction isObject(val) {\\n  return val !== null && typeof val === 'object';\\n}\\n\\n/**\\n * Determine if a value is a Date\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a Date, otherwise false\\n */\\nfunction isDate(val) {\\n  return toString.call(val) === '[object Date]';\\n}\\n\\n/**\\n * Determine if a value is a File\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a File, otherwise false\\n */\\nfunction isFile(val) {\\n  return toString.call(val) === '[object File]';\\n}\\n\\n/**\\n * Determine if a value is a Blob\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a Blob, otherwise false\\n */\\nfunction isBlob(val) {\\n  return toString.call(val) === '[object Blob]';\\n}\\n\\n/**\\n * Determine if a value is a Function\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a Function, otherwise false\\n */\\nfunction isFunction(val) {\\n  return toString.call(val) === '[object Function]';\\n}\\n\\n/**\\n * Determine if a value is a Stream\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a Stream, otherwise false\\n */\\nfunction isStream(val) {\\n  return isObject(val) && isFunction(val.pipe);\\n}\\n\\n/**\\n * Determine if a value is a URLSearchParams object\\n *\\n * @param {Object} val The value to test\\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\\n */\\nfunction isURLSearchParams(val) {\\n  return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;\\n}\\n\\n/**\\n * Trim excess whitespace off the beginning and end of a string\\n *\\n * @param {String} str The String to trim\\n * @returns {String} The String freed of excess whitespace\\n */\\nfunction trim(str) {\\n  return str.replace(/^\\\\s*/, '').replace(/\\\\s*$/, '');\\n}\\n\\n/**\\n * Determine if we're running in a standard browser environment\\n *\\n * This allows axios to run in a web worker, and react-native.\\n * Both environments support XMLHttpRequest, but not fully standard globals.\\n *\\n * web workers:\\n *  typeof window -> undefined\\n *  typeof document -> undefined\\n *\\n * react-native:\\n *  navigator.product -> 'ReactNative'\\n * nativescript\\n *  navigator.product -> 'NativeScript' or 'NS'\\n */\\nfunction isStandardBrowserEnv() {\\n  if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\\n                                           navigator.product === 'NativeScript' ||\\n                                           navigator.product === 'NS')) {\\n    return false;\\n  }\\n  return (\\n    typeof window !== 'undefined' &&\\n    typeof document !== 'undefined'\\n  );\\n}\\n\\n/**\\n * Iterate over an Array or an Object invoking a function for each item.\\n *\\n * If `obj` is an Array callback will be called passing\\n * the value, index, and complete array for each item.\\n *\\n * If 'obj' is an Object callback will be called passing\\n * the value, key, and complete object for each property.\\n *\\n * @param {Object|Array} obj The object to iterate\\n * @param {Function} fn The callback to invoke for each item\\n */\\nfunction forEach(obj, fn) {\\n  // Don't bother if no value provided\\n  if (obj === null || typeof obj === 'undefined') {\\n    return;\\n  }\\n\\n  // Force an array if not already something iterable\\n  if (typeof obj !== 'object') {\\n    /*eslint no-param-reassign:0*/\\n    obj = [obj];\\n  }\\n\\n  if (isArray(obj)) {\\n    // Iterate over array values\\n    for (var i = 0, l = obj.length; i < l; i++) {\\n      fn.call(null, obj[i], i, obj);\\n    }\\n  } else {\\n    // Iterate over object keys\\n    for (var key in obj) {\\n      if (Object.prototype.hasOwnProperty.call(obj, key)) {\\n        fn.call(null, obj[key], key, obj);\\n      }\\n    }\\n  }\\n}\\n\\n/**\\n * Accepts varargs expecting each argument to be an object, then\\n * immutably merges the properties of each object and returns result.\\n *\\n * When multiple objects contain the same key the later object in\\n * the arguments list will take precedence.\\n *\\n * Example:\\n *\\n * ```js\\n * var result = merge({foo: 123}, {foo: 456});\\n * console.log(result.foo); // outputs 456\\n * ```\\n *\\n * @param {Object} obj1 Object to merge\\n * @returns {Object} Result of all merge properties\\n */\\nfunction merge(/* obj1, obj2, obj3, ... */) {\\n  var result = {};\\n  function assignValue(val, key) {\\n    if (typeof result[key] === 'object' && typeof val === 'object') {\\n      result[key] = merge(result[key], val);\\n    } else {\\n      result[key] = val;\\n    }\\n  }\\n\\n  for (var i = 0, l = arguments.length; i < l; i++) {\\n    forEach(arguments[i], assignValue);\\n  }\\n  return result;\\n}\\n\\n/**\\n * Function equal to merge with the difference being that no reference\\n * to original objects is kept.\\n *\\n * @see merge\\n * @param {Object} obj1 Object to merge\\n * @returns {Object} Result of all merge properties\\n */\\nfunction deepMerge(/* obj1, obj2, obj3, ... */) {\\n  var result = {};\\n  function assignValue(val, key) {\\n    if (typeof result[key] === 'object' && typeof val === 'object') {\\n      result[key] = deepMerge(result[key], val);\\n    } else if (typeof val === 'object') {\\n      result[key] = deepMerge({}, val);\\n    } else {\\n      result[key] = val;\\n    }\\n  }\\n\\n  for (var i = 0, l = arguments.length; i < l; i++) {\\n    forEach(arguments[i], assignValue);\\n  }\\n  return result;\\n}\\n\\n/**\\n * Extends object a by mutably adding to it the properties of object b.\\n *\\n * @param {Object} a The object to be extended\\n * @param {Object} b The object to copy properties from\\n * @param {Object} thisArg The object to bind function to\\n * @return {Object} The resulting value of object a\\n */\\nfunction extend(a, b, thisArg) {\\n  forEach(b, function assignValue(val, key) {\\n    if (thisArg && typeof val === 'function') {\\n      a[key] = bind(val, thisArg);\\n    } else {\\n      a[key] = val;\\n    }\\n  });\\n  return a;\\n}\\n\\nmodule.exports = {\\n  isArray: isArray,\\n  isArrayBuffer: isArrayBuffer,\\n  isBuffer: isBuffer,\\n  isFormData: isFormData,\\n  isArrayBufferView: isArrayBufferView,\\n  isString: isString,\\n  isNumber: isNumber,\\n  isObject: isObject,\\n  isUndefined: isUndefined,\\n  isDate: isDate,\\n  isFile: isFile,\\n  isBlob: isBlob,\\n  isFunction: isFunction,\\n  isStream: isStream,\\n  isURLSearchParams: isURLSearchParams,\\n  isStandardBrowserEnv: isStandardBrowserEnv,\\n  forEach: forEach,\\n  merge: merge,\\n  deepMerge: deepMerge,\\n  extend: extend,\\n  trim: trim\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXhpb3MvbGliL3V0aWxzLmpzP2M1MzIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsV0FBVyxtQkFBTyxDQUFDLGdFQUFnQjs7QUFFbkM7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEIsV0FBVyxTQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUMsT0FBTztBQUMxQztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsU0FBUyxHQUFHLFNBQVM7QUFDNUMsMkJBQTJCO0FBQzNCO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUEsdUNBQXVDLE9BQU87QUFDOUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLGdDQUFnQztBQUNoQyxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBLHVDQUF1QyxPQUFPO0FBQzlDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL2F4aW9zL2xpYi91dGlscy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIGJpbmQgPSByZXF1aXJlKCcuL2hlbHBlcnMvYmluZCcpO1xuXG4vKmdsb2JhbCB0b1N0cmluZzp0cnVlKi9cblxuLy8gdXRpbHMgaXMgYSBsaWJyYXJ5IG9mIGdlbmVyaWMgaGVscGVyIGZ1bmN0aW9ucyBub24tc3BlY2lmaWMgdG8gYXhpb3NcblxudmFyIHRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheVxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5LCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheSh2YWwpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyB1bmRlZmluZWRcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdmFsdWUgaXMgdW5kZWZpbmVkLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAndW5kZWZpbmVkJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgQnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNCdWZmZXIodmFsKSB7XG4gIHJldHVybiB2YWwgIT09IG51bGwgJiYgIWlzVW5kZWZpbmVkKHZhbCkgJiYgdmFsLmNvbnN0cnVjdG9yICE9PSBudWxsICYmICFpc1VuZGVmaW5lZCh2YWwuY29uc3RydWN0b3IpXG4gICAgJiYgdHlwZW9mIHZhbC5jb25zdHJ1Y3Rvci5pc0J1ZmZlciA9PT0gJ2Z1bmN0aW9uJyAmJiB2YWwuY29uc3RydWN0b3IuaXNCdWZmZXIodmFsKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBBcnJheUJ1ZmZlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlcih2YWwpIHtcbiAgcmV0dXJuIHRvU3RyaW5nLmNhbGwodmFsKSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZvcm1EYXRhXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYW4gRm9ybURhdGEsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Zvcm1EYXRhKHZhbCkge1xuICByZXR1cm4gKHR5cGVvZiBGb3JtRGF0YSAhPT0gJ3VuZGVmaW5lZCcpICYmICh2YWwgaW5zdGFuY2VvZiBGb3JtRGF0YSk7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSB2aWV3IG9uIGFuIEFycmF5QnVmZmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNBcnJheUJ1ZmZlclZpZXcodmFsKSB7XG4gIHZhciByZXN1bHQ7XG4gIGlmICgodHlwZW9mIEFycmF5QnVmZmVyICE9PSAndW5kZWZpbmVkJykgJiYgKEFycmF5QnVmZmVyLmlzVmlldykpIHtcbiAgICByZXN1bHQgPSBBcnJheUJ1ZmZlci5pc1ZpZXcodmFsKTtcbiAgfSBlbHNlIHtcbiAgICByZXN1bHQgPSAodmFsKSAmJiAodmFsLmJ1ZmZlcikgJiYgKHZhbC5idWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcik7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFN0cmluZ1xuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgU3RyaW5nLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTdHJpbmcodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnc3RyaW5nJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIE51bWJlclxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSB2YWwgVGhlIHZhbHVlIHRvIHRlc3RcbiAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHZhbHVlIGlzIGEgTnVtYmVyLCBvdGhlcndpc2UgZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNOdW1iZXIodmFsKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsID09PSAnbnVtYmVyJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhbiBPYmplY3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhbiBPYmplY3QsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWwpIHtcbiAgcmV0dXJuIHZhbCAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIERhdGVcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIERhdGUsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0RhdGUodmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IERhdGVdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZpbGVcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEZpbGUsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0ZpbGUodmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZpbGVdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEJsb2JcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIEJsb2IsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc0Jsb2IodmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEJsb2JdJztcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIEZ1bmN0aW9uXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IHZhbCBUaGUgdmFsdWUgdG8gdGVzdFxuICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdmFsdWUgaXMgYSBGdW5jdGlvbiwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsKSB7XG4gIHJldHVybiB0b1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IEZ1bmN0aW9uXSc7XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIGEgdmFsdWUgaXMgYSBTdHJlYW1cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIFN0cmVhbSwgb3RoZXJ3aXNlIGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzU3RyZWFtKHZhbCkge1xuICByZXR1cm4gaXNPYmplY3QodmFsKSAmJiBpc0Z1bmN0aW9uKHZhbC5waXBlKTtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmUgaWYgYSB2YWx1ZSBpcyBhIFVSTFNlYXJjaFBhcmFtcyBvYmplY3RcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gdmFsIFRoZSB2YWx1ZSB0byB0ZXN0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB2YWx1ZSBpcyBhIFVSTFNlYXJjaFBhcmFtcyBvYmplY3QsIG90aGVyd2lzZSBmYWxzZVxuICovXG5mdW5jdGlvbiBpc1VSTFNlYXJjaFBhcmFtcyh2YWwpIHtcbiAgcmV0dXJuIHR5cGVvZiBVUkxTZWFyY2hQYXJhbXMgIT09ICd1bmRlZmluZWQnICYmIHZhbCBpbnN0YW5jZW9mIFVSTFNlYXJjaFBhcmFtcztcbn1cblxuLyoqXG4gKiBUcmltIGV4Y2VzcyB3aGl0ZXNwYWNlIG9mZiB0aGUgYmVnaW5uaW5nIGFuZCBlbmQgb2YgYSBzdHJpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gc3RyIFRoZSBTdHJpbmcgdG8gdHJpbVxuICogQHJldHVybnMge1N0cmluZ30gVGhlIFN0cmluZyBmcmVlZCBvZiBleGNlc3Mgd2hpdGVzcGFjZVxuICovXG5mdW5jdGlvbiB0cmltKHN0cikge1xuICByZXR1cm4gc3RyLnJlcGxhY2UoL15cXHMqLywgJycpLnJlcGxhY2UoL1xccyokLywgJycpO1xufVxuXG4vKipcbiAqIERldGVybWluZSBpZiB3ZSdyZSBydW5uaW5nIGluIGEgc3RhbmRhcmQgYnJvd3NlciBlbnZpcm9ubWVudFxuICpcbiAqIFRoaXMgYWxsb3dzIGF4aW9zIHRvIHJ1biBpbiBhIHdlYiB3b3JrZXIsIGFuZCByZWFjdC1uYXRpdmUuXG4gKiBCb3RoIGVudmlyb25tZW50cyBzdXBwb3J0IFhNTEh0dHBSZXF1ZXN0LCBidXQgbm90IGZ1bGx5IHN0YW5kYXJkIGdsb2JhbHMuXG4gKlxuICogd2ViIHdvcmtlcnM6XG4gKiAgdHlwZW9mIHdpbmRvdyAtPiB1bmRlZmluZWRcbiAqICB0eXBlb2YgZG9jdW1lbnQgLT4gdW5kZWZpbmVkXG4gKlxuICogcmVhY3QtbmF0aXZlOlxuICogIG5hdmlnYXRvci5wcm9kdWN0IC0+ICdSZWFjdE5hdGl2ZSdcbiAqIG5hdGl2ZXNjcmlwdFxuICogIG5hdmlnYXRvci5wcm9kdWN0IC0+ICdOYXRpdmVTY3JpcHQnIG9yICdOUydcbiAqL1xuZnVuY3Rpb24gaXNTdGFuZGFyZEJyb3dzZXJFbnYoKSB7XG4gIGlmICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAobmF2aWdhdG9yLnByb2R1Y3QgPT09ICdSZWFjdE5hdGl2ZScgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ05hdGl2ZVNjcmlwdCcgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IucHJvZHVjdCA9PT0gJ05TJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIChcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCdcbiAgKTtcbn1cblxuLyoqXG4gKiBJdGVyYXRlIG92ZXIgYW4gQXJyYXkgb3IgYW4gT2JqZWN0IGludm9raW5nIGEgZnVuY3Rpb24gZm9yIGVhY2ggaXRlbS5cbiAqXG4gKiBJZiBgb2JqYCBpcyBhbiBBcnJheSBjYWxsYmFjayB3aWxsIGJlIGNhbGxlZCBwYXNzaW5nXG4gKiB0aGUgdmFsdWUsIGluZGV4LCBhbmQgY29tcGxldGUgYXJyYXkgZm9yIGVhY2ggaXRlbS5cbiAqXG4gKiBJZiAnb2JqJyBpcyBhbiBPYmplY3QgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgcGFzc2luZ1xuICogdGhlIHZhbHVlLCBrZXksIGFuZCBjb21wbGV0ZSBvYmplY3QgZm9yIGVhY2ggcHJvcGVydHkuXG4gKlxuICogQHBhcmFtIHtPYmplY3R8QXJyYXl9IG9iaiBUaGUgb2JqZWN0IHRvIGl0ZXJhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZuIFRoZSBjYWxsYmFjayB0byBpbnZva2UgZm9yIGVhY2ggaXRlbVxuICovXG5mdW5jdGlvbiBmb3JFYWNoKG9iaiwgZm4pIHtcbiAgLy8gRG9uJ3QgYm90aGVyIGlmIG5vIHZhbHVlIHByb3ZpZGVkXG4gIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBGb3JjZSBhbiBhcnJheSBpZiBub3QgYWxyZWFkeSBzb21ldGhpbmcgaXRlcmFibGVcbiAgaWYgKHR5cGVvZiBvYmogIT09ICdvYmplY3QnKSB7XG4gICAgLyplc2xpbnQgbm8tcGFyYW0tcmVhc3NpZ246MCovXG4gICAgb2JqID0gW29ial07XG4gIH1cblxuICBpZiAoaXNBcnJheShvYmopKSB7XG4gICAgLy8gSXRlcmF0ZSBvdmVyIGFycmF5IHZhbHVlc1xuICAgIGZvciAodmFyIGkgPSAwLCBsID0gb2JqLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgZm4uY2FsbChudWxsLCBvYmpbaV0sIGksIG9iaik7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIEl0ZXJhdGUgb3ZlciBvYmplY3Qga2V5c1xuICAgIGZvciAodmFyIGtleSBpbiBvYmopIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgIGZuLmNhbGwobnVsbCwgb2JqW2tleV0sIGtleSwgb2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBBY2NlcHRzIHZhcmFyZ3MgZXhwZWN0aW5nIGVhY2ggYXJndW1lbnQgdG8gYmUgYW4gb2JqZWN0LCB0aGVuXG4gKiBpbW11dGFibHkgbWVyZ2VzIHRoZSBwcm9wZXJ0aWVzIG9mIGVhY2ggb2JqZWN0IGFuZCByZXR1cm5zIHJlc3VsdC5cbiAqXG4gKiBXaGVuIG11bHRpcGxlIG9iamVjdHMgY29udGFpbiB0aGUgc2FtZSBrZXkgdGhlIGxhdGVyIG9iamVjdCBpblxuICogdGhlIGFyZ3VtZW50cyBsaXN0IHdpbGwgdGFrZSBwcmVjZWRlbmNlLlxuICpcbiAqIEV4YW1wbGU6XG4gKlxuICogYGBganNcbiAqIHZhciByZXN1bHQgPSBtZXJnZSh7Zm9vOiAxMjN9LCB7Zm9vOiA0NTZ9KTtcbiAqIGNvbnNvbGUubG9nKHJlc3VsdC5mb28pOyAvLyBvdXRwdXRzIDQ1NlxuICogYGBgXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG9iajEgT2JqZWN0IHRvIG1lcmdlXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXN1bHQgb2YgYWxsIG1lcmdlIHByb3BlcnRpZXNcbiAqL1xuZnVuY3Rpb24gbWVyZ2UoLyogb2JqMSwgb2JqMiwgb2JqMywgLi4uICovKSB7XG4gIHZhciByZXN1bHQgPSB7fTtcbiAgZnVuY3Rpb24gYXNzaWduVmFsdWUodmFsLCBrZXkpIHtcbiAgICBpZiAodHlwZW9mIHJlc3VsdFtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgcmVzdWx0W2tleV0gPSBtZXJnZShyZXN1bHRba2V5XSwgdmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0W2tleV0gPSB2YWw7XG4gICAgfVxuICB9XG5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgZm9yRWFjaChhcmd1bWVudHNbaV0sIGFzc2lnblZhbHVlKTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIGVxdWFsIHRvIG1lcmdlIHdpdGggdGhlIGRpZmZlcmVuY2UgYmVpbmcgdGhhdCBubyByZWZlcmVuY2VcbiAqIHRvIG9yaWdpbmFsIG9iamVjdHMgaXMga2VwdC5cbiAqXG4gKiBAc2VlIG1lcmdlXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqMSBPYmplY3QgdG8gbWVyZ2VcbiAqIEByZXR1cm5zIHtPYmplY3R9IFJlc3VsdCBvZiBhbGwgbWVyZ2UgcHJvcGVydGllc1xuICovXG5mdW5jdGlvbiBkZWVwTWVyZ2UoLyogb2JqMSwgb2JqMiwgb2JqMywgLi4uICovKSB7XG4gIHZhciByZXN1bHQgPSB7fTtcbiAgZnVuY3Rpb24gYXNzaWduVmFsdWUodmFsLCBrZXkpIHtcbiAgICBpZiAodHlwZW9mIHJlc3VsdFtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgcmVzdWx0W2tleV0gPSBkZWVwTWVyZ2UocmVzdWx0W2tleV0sIHZhbCk7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgcmVzdWx0W2tleV0gPSBkZWVwTWVyZ2Uoe30sIHZhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFtrZXldID0gdmFsO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGZvckVhY2goYXJndW1lbnRzW2ldLCBhc3NpZ25WYWx1ZSk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBFeHRlbmRzIG9iamVjdCBhIGJ5IG11dGFibHkgYWRkaW5nIHRvIGl0IHRoZSBwcm9wZXJ0aWVzIG9mIG9iamVjdCBiLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBhIFRoZSBvYmplY3QgdG8gYmUgZXh0ZW5kZWRcbiAqIEBwYXJhbSB7T2JqZWN0fSBiIFRoZSBvYmplY3QgdG8gY29weSBwcm9wZXJ0aWVzIGZyb21cbiAqIEBwYXJhbSB7T2JqZWN0fSB0aGlzQXJnIFRoZSBvYmplY3QgdG8gYmluZCBmdW5jdGlvbiB0b1xuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIHZhbHVlIG9mIG9iamVjdCBhXG4gKi9cbmZ1bmN0aW9uIGV4dGVuZChhLCBiLCB0aGlzQXJnKSB7XG4gIGZvckVhY2goYiwgZnVuY3Rpb24gYXNzaWduVmFsdWUodmFsLCBrZXkpIHtcbiAgICBpZiAodGhpc0FyZyAmJiB0eXBlb2YgdmFsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBhW2tleV0gPSBiaW5kKHZhbCwgdGhpc0FyZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFba2V5XSA9IHZhbDtcbiAgICB9XG4gIH0pO1xuICByZXR1cm4gYTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGlzQXJyYXk6IGlzQXJyYXksXG4gIGlzQXJyYXlCdWZmZXI6IGlzQXJyYXlCdWZmZXIsXG4gIGlzQnVmZmVyOiBpc0J1ZmZlcixcbiAgaXNGb3JtRGF0YTogaXNGb3JtRGF0YSxcbiAgaXNBcnJheUJ1ZmZlclZpZXc6IGlzQXJyYXlCdWZmZXJWaWV3LFxuICBpc1N0cmluZzogaXNTdHJpbmcsXG4gIGlzTnVtYmVyOiBpc051bWJlcixcbiAgaXNPYmplY3Q6IGlzT2JqZWN0LFxuICBpc1VuZGVmaW5lZDogaXNVbmRlZmluZWQsXG4gIGlzRGF0ZTogaXNEYXRlLFxuICBpc0ZpbGU6IGlzRmlsZSxcbiAgaXNCbG9iOiBpc0Jsb2IsXG4gIGlzRnVuY3Rpb246IGlzRnVuY3Rpb24sXG4gIGlzU3RyZWFtOiBpc1N0cmVhbSxcbiAgaXNVUkxTZWFyY2hQYXJhbXM6IGlzVVJMU2VhcmNoUGFyYW1zLFxuICBpc1N0YW5kYXJkQnJvd3NlckVudjogaXNTdGFuZGFyZEJyb3dzZXJFbnYsXG4gIGZvckVhY2g6IGZvckVhY2gsXG4gIG1lcmdlOiBtZXJnZSxcbiAgZGVlcE1lcmdlOiBkZWVwTWVyZ2UsXG4gIGV4dGVuZDogZXh0ZW5kLFxuICB0cmltOiB0cmltXG59O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/axios/lib/utils.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/bootstrap/dist/js/bootstrap.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/bootstrap/dist/js/bootstrap.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"/*!\\n  * Bootstrap v4.4.1 (https://getbootstrap.com/)\\n  * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n  */\\n(function (global, factory) {\\n   true ? factory(exports, __webpack_require__(/*! jquery */ \\\"./node_modules/jquery/dist/jquery.js\\\"), __webpack_require__(/*! popper.js */ \\\"./node_modules/popper.js/dist/esm/popper.js\\\")) :\\n  undefined;\\n}(this, (function (exports, $, Popper) { 'use strict';\\n\\n  $ = $ && $.hasOwnProperty('default') ? $['default'] : $;\\n  Popper = Popper && Popper.hasOwnProperty('default') ? Popper['default'] : Popper;\\n\\n  function _defineProperties(target, props) {\\n    for (var i = 0; i < props.length; i++) {\\n      var descriptor = props[i];\\n      descriptor.enumerable = descriptor.enumerable || false;\\n      descriptor.configurable = true;\\n      if (\\\"value\\\" in descriptor) descriptor.writable = true;\\n      Object.defineProperty(target, descriptor.key, descriptor);\\n    }\\n  }\\n\\n  function _createClass(Constructor, protoProps, staticProps) {\\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\\n    if (staticProps) _defineProperties(Constructor, staticProps);\\n    return Constructor;\\n  }\\n\\n  function _defineProperty(obj, key, value) {\\n    if (key in obj) {\\n      Object.defineProperty(obj, key, {\\n        value: value,\\n        enumerable: true,\\n        configurable: true,\\n        writable: true\\n      });\\n    } else {\\n      obj[key] = value;\\n    }\\n\\n    return obj;\\n  }\\n\\n  function ownKeys(object, enumerableOnly) {\\n    var keys = Object.keys(object);\\n\\n    if (Object.getOwnPropertySymbols) {\\n      var symbols = Object.getOwnPropertySymbols(object);\\n      if (enumerableOnly) symbols = symbols.filter(function (sym) {\\n        return Object.getOwnPropertyDescriptor(object, sym).enumerable;\\n      });\\n      keys.push.apply(keys, symbols);\\n    }\\n\\n    return keys;\\n  }\\n\\n  function _objectSpread2(target) {\\n    for (var i = 1; i < arguments.length; i++) {\\n      var source = arguments[i] != null ? arguments[i] : {};\\n\\n      if (i % 2) {\\n        ownKeys(Object(source), true).forEach(function (key) {\\n          _defineProperty(target, key, source[key]);\\n        });\\n      } else if (Object.getOwnPropertyDescriptors) {\\n        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\\n      } else {\\n        ownKeys(Object(source)).forEach(function (key) {\\n          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\\n        });\\n      }\\n    }\\n\\n    return target;\\n  }\\n\\n  function _inheritsLoose(subClass, superClass) {\\n    subClass.prototype = Object.create(superClass.prototype);\\n    subClass.prototype.constructor = subClass;\\n    subClass.__proto__ = superClass;\\n  }\\n\\n  /**\\n   * --------------------------------------------------------------------------\\n   * Bootstrap (v4.4.1): util.js\\n   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n   * --------------------------------------------------------------------------\\n   */\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Private TransitionEnd Helpers\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var TRANSITION_END = 'transitionend';\\n  var MAX_UID = 1000000;\\n  var MILLISECONDS_MULTIPLIER = 1000; // Shoutout AngusCroll (https://goo.gl/pxwQGp)\\n\\n  function toType(obj) {\\n    return {}.toString.call(obj).match(/\\\\s([a-z]+)/i)[1].toLowerCase();\\n  }\\n\\n  function getSpecialTransitionEndEvent() {\\n    return {\\n      bindType: TRANSITION_END,\\n      delegateType: TRANSITION_END,\\n      handle: function handle(event) {\\n        if ($(event.target).is(this)) {\\n          return event.handleObj.handler.apply(this, arguments); // eslint-disable-line prefer-rest-params\\n        }\\n\\n        return undefined; // eslint-disable-line no-undefined\\n      }\\n    };\\n  }\\n\\n  function transitionEndEmulator(duration) {\\n    var _this = this;\\n\\n    var called = false;\\n    $(this).one(Util.TRANSITION_END, function () {\\n      called = true;\\n    });\\n    setTimeout(function () {\\n      if (!called) {\\n        Util.triggerTransitionEnd(_this);\\n      }\\n    }, duration);\\n    return this;\\n  }\\n\\n  function setTransitionEndSupport() {\\n    $.fn.emulateTransitionEnd = transitionEndEmulator;\\n    $.event.special[Util.TRANSITION_END] = getSpecialTransitionEndEvent();\\n  }\\n  /**\\n   * --------------------------------------------------------------------------\\n   * Public Util Api\\n   * --------------------------------------------------------------------------\\n   */\\n\\n\\n  var Util = {\\n    TRANSITION_END: 'bsTransitionEnd',\\n    getUID: function getUID(prefix) {\\n      do {\\n        // eslint-disable-next-line no-bitwise\\n        prefix += ~~(Math.random() * MAX_UID); // \\\"~~\\\" acts like a faster Math.floor() here\\n      } while (document.getElementById(prefix));\\n\\n      return prefix;\\n    },\\n    getSelectorFromElement: function getSelectorFromElement(element) {\\n      var selector = element.getAttribute('data-target');\\n\\n      if (!selector || selector === '#') {\\n        var hrefAttr = element.getAttribute('href');\\n        selector = hrefAttr && hrefAttr !== '#' ? hrefAttr.trim() : '';\\n      }\\n\\n      try {\\n        return document.querySelector(selector) ? selector : null;\\n      } catch (err) {\\n        return null;\\n      }\\n    },\\n    getTransitionDurationFromElement: function getTransitionDurationFromElement(element) {\\n      if (!element) {\\n        return 0;\\n      } // Get transition-duration of the element\\n\\n\\n      var transitionDuration = $(element).css('transition-duration');\\n      var transitionDelay = $(element).css('transition-delay');\\n      var floatTransitionDuration = parseFloat(transitionDuration);\\n      var floatTransitionDelay = parseFloat(transitionDelay); // Return 0 if element or transition duration is not found\\n\\n      if (!floatTransitionDuration && !floatTransitionDelay) {\\n        return 0;\\n      } // If multiple durations are defined, take the first\\n\\n\\n      transitionDuration = transitionDuration.split(',')[0];\\n      transitionDelay = transitionDelay.split(',')[0];\\n      return (parseFloat(transitionDuration) + parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER;\\n    },\\n    reflow: function reflow(element) {\\n      return element.offsetHeight;\\n    },\\n    triggerTransitionEnd: function triggerTransitionEnd(element) {\\n      $(element).trigger(TRANSITION_END);\\n    },\\n    // TODO: Remove in v5\\n    supportsTransitionEnd: function supportsTransitionEnd() {\\n      return Boolean(TRANSITION_END);\\n    },\\n    isElement: function isElement(obj) {\\n      return (obj[0] || obj).nodeType;\\n    },\\n    typeCheckConfig: function typeCheckConfig(componentName, config, configTypes) {\\n      for (var property in configTypes) {\\n        if (Object.prototype.hasOwnProperty.call(configTypes, property)) {\\n          var expectedTypes = configTypes[property];\\n          var value = config[property];\\n          var valueType = value && Util.isElement(value) ? 'element' : toType(value);\\n\\n          if (!new RegExp(expectedTypes).test(valueType)) {\\n            throw new Error(componentName.toUpperCase() + \\\": \\\" + (\\\"Option \\\\\\\"\\\" + property + \\\"\\\\\\\" provided type \\\\\\\"\\\" + valueType + \\\"\\\\\\\" \\\") + (\\\"but expected type \\\\\\\"\\\" + expectedTypes + \\\"\\\\\\\".\\\"));\\n          }\\n        }\\n      }\\n    },\\n    findShadowRoot: function findShadowRoot(element) {\\n      if (!document.documentElement.attachShadow) {\\n        return null;\\n      } // Can find the shadow root otherwise it'll return the document\\n\\n\\n      if (typeof element.getRootNode === 'function') {\\n        var root = element.getRootNode();\\n        return root instanceof ShadowRoot ? root : null;\\n      }\\n\\n      if (element instanceof ShadowRoot) {\\n        return element;\\n      } // when we don't find a shadow root\\n\\n\\n      if (!element.parentNode) {\\n        return null;\\n      }\\n\\n      return Util.findShadowRoot(element.parentNode);\\n    },\\n    jQueryDetection: function jQueryDetection() {\\n      if (typeof $ === 'undefined') {\\n        throw new TypeError('Bootstrap\\\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\\\'s JavaScript.');\\n      }\\n\\n      var version = $.fn.jquery.split(' ')[0].split('.');\\n      var minMajor = 1;\\n      var ltMajor = 2;\\n      var minMinor = 9;\\n      var minPatch = 1;\\n      var maxMajor = 4;\\n\\n      if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\\n        throw new Error('Bootstrap\\\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0');\\n      }\\n    }\\n  };\\n  Util.jQueryDetection();\\n  setTransitionEndSupport();\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME = 'alert';\\n  var VERSION = '4.4.1';\\n  var DATA_KEY = 'bs.alert';\\n  var EVENT_KEY = \\\".\\\" + DATA_KEY;\\n  var DATA_API_KEY = '.data-api';\\n  var JQUERY_NO_CONFLICT = $.fn[NAME];\\n  var Selector = {\\n    DISMISS: '[data-dismiss=\\\"alert\\\"]'\\n  };\\n  var Event = {\\n    CLOSE: \\\"close\\\" + EVENT_KEY,\\n    CLOSED: \\\"closed\\\" + EVENT_KEY,\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY + DATA_API_KEY\\n  };\\n  var ClassName = {\\n    ALERT: 'alert',\\n    FADE: 'fade',\\n    SHOW: 'show'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Alert =\\n  /*#__PURE__*/\\n  function () {\\n    function Alert(element) {\\n      this._element = element;\\n    } // Getters\\n\\n\\n    var _proto = Alert.prototype;\\n\\n    // Public\\n    _proto.close = function close(element) {\\n      var rootElement = this._element;\\n\\n      if (element) {\\n        rootElement = this._getRootElement(element);\\n      }\\n\\n      var customEvent = this._triggerCloseEvent(rootElement);\\n\\n      if (customEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      this._removeElement(rootElement);\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $.removeData(this._element, DATA_KEY);\\n      this._element = null;\\n    } // Private\\n    ;\\n\\n    _proto._getRootElement = function _getRootElement(element) {\\n      var selector = Util.getSelectorFromElement(element);\\n      var parent = false;\\n\\n      if (selector) {\\n        parent = document.querySelector(selector);\\n      }\\n\\n      if (!parent) {\\n        parent = $(element).closest(\\\".\\\" + ClassName.ALERT)[0];\\n      }\\n\\n      return parent;\\n    };\\n\\n    _proto._triggerCloseEvent = function _triggerCloseEvent(element) {\\n      var closeEvent = $.Event(Event.CLOSE);\\n      $(element).trigger(closeEvent);\\n      return closeEvent;\\n    };\\n\\n    _proto._removeElement = function _removeElement(element) {\\n      var _this = this;\\n\\n      $(element).removeClass(ClassName.SHOW);\\n\\n      if (!$(element).hasClass(ClassName.FADE)) {\\n        this._destroyElement(element);\\n\\n        return;\\n      }\\n\\n      var transitionDuration = Util.getTransitionDurationFromElement(element);\\n      $(element).one(Util.TRANSITION_END, function (event) {\\n        return _this._destroyElement(element, event);\\n      }).emulateTransitionEnd(transitionDuration);\\n    };\\n\\n    _proto._destroyElement = function _destroyElement(element) {\\n      $(element).detach().trigger(Event.CLOSED).remove();\\n    } // Static\\n    ;\\n\\n    Alert._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var $element = $(this);\\n        var data = $element.data(DATA_KEY);\\n\\n        if (!data) {\\n          data = new Alert(this);\\n          $element.data(DATA_KEY, data);\\n        }\\n\\n        if (config === 'close') {\\n          data[config](this);\\n        }\\n      });\\n    };\\n\\n    Alert._handleDismiss = function _handleDismiss(alertInstance) {\\n      return function (event) {\\n        if (event) {\\n          event.preventDefault();\\n        }\\n\\n        alertInstance.close(this);\\n      };\\n    };\\n\\n    _createClass(Alert, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION;\\n      }\\n    }]);\\n\\n    return Alert;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event.CLICK_DATA_API, Selector.DISMISS, Alert._handleDismiss(new Alert()));\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME] = Alert._jQueryInterface;\\n  $.fn[NAME].Constructor = Alert;\\n\\n  $.fn[NAME].noConflict = function () {\\n    $.fn[NAME] = JQUERY_NO_CONFLICT;\\n    return Alert._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$1 = 'button';\\n  var VERSION$1 = '4.4.1';\\n  var DATA_KEY$1 = 'bs.button';\\n  var EVENT_KEY$1 = \\\".\\\" + DATA_KEY$1;\\n  var DATA_API_KEY$1 = '.data-api';\\n  var JQUERY_NO_CONFLICT$1 = $.fn[NAME$1];\\n  var ClassName$1 = {\\n    ACTIVE: 'active',\\n    BUTTON: 'btn',\\n    FOCUS: 'focus'\\n  };\\n  var Selector$1 = {\\n    DATA_TOGGLE_CARROT: '[data-toggle^=\\\"button\\\"]',\\n    DATA_TOGGLES: '[data-toggle=\\\"buttons\\\"]',\\n    DATA_TOGGLE: '[data-toggle=\\\"button\\\"]',\\n    DATA_TOGGLES_BUTTONS: '[data-toggle=\\\"buttons\\\"] .btn',\\n    INPUT: 'input:not([type=\\\"hidden\\\"])',\\n    ACTIVE: '.active',\\n    BUTTON: '.btn'\\n  };\\n  var Event$1 = {\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY$1 + DATA_API_KEY$1,\\n    FOCUS_BLUR_DATA_API: \\\"focus\\\" + EVENT_KEY$1 + DATA_API_KEY$1 + \\\" \\\" + (\\\"blur\\\" + EVENT_KEY$1 + DATA_API_KEY$1),\\n    LOAD_DATA_API: \\\"load\\\" + EVENT_KEY$1 + DATA_API_KEY$1\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Button =\\n  /*#__PURE__*/\\n  function () {\\n    function Button(element) {\\n      this._element = element;\\n    } // Getters\\n\\n\\n    var _proto = Button.prototype;\\n\\n    // Public\\n    _proto.toggle = function toggle() {\\n      var triggerChangeEvent = true;\\n      var addAriaPressed = true;\\n      var rootElement = $(this._element).closest(Selector$1.DATA_TOGGLES)[0];\\n\\n      if (rootElement) {\\n        var input = this._element.querySelector(Selector$1.INPUT);\\n\\n        if (input) {\\n          if (input.type === 'radio') {\\n            if (input.checked && this._element.classList.contains(ClassName$1.ACTIVE)) {\\n              triggerChangeEvent = false;\\n            } else {\\n              var activeElement = rootElement.querySelector(Selector$1.ACTIVE);\\n\\n              if (activeElement) {\\n                $(activeElement).removeClass(ClassName$1.ACTIVE);\\n              }\\n            }\\n          } else if (input.type === 'checkbox') {\\n            if (this._element.tagName === 'LABEL' && input.checked === this._element.classList.contains(ClassName$1.ACTIVE)) {\\n              triggerChangeEvent = false;\\n            }\\n          } else {\\n            // if it's not a radio button or checkbox don't add a pointless/invalid checked property to the input\\n            triggerChangeEvent = false;\\n          }\\n\\n          if (triggerChangeEvent) {\\n            input.checked = !this._element.classList.contains(ClassName$1.ACTIVE);\\n            $(input).trigger('change');\\n          }\\n\\n          input.focus();\\n          addAriaPressed = false;\\n        }\\n      }\\n\\n      if (!(this._element.hasAttribute('disabled') || this._element.classList.contains('disabled'))) {\\n        if (addAriaPressed) {\\n          this._element.setAttribute('aria-pressed', !this._element.classList.contains(ClassName$1.ACTIVE));\\n        }\\n\\n        if (triggerChangeEvent) {\\n          $(this._element).toggleClass(ClassName$1.ACTIVE);\\n        }\\n      }\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $.removeData(this._element, DATA_KEY$1);\\n      this._element = null;\\n    } // Static\\n    ;\\n\\n    Button._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$1);\\n\\n        if (!data) {\\n          data = new Button(this);\\n          $(this).data(DATA_KEY$1, data);\\n        }\\n\\n        if (config === 'toggle') {\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    _createClass(Button, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$1;\\n      }\\n    }]);\\n\\n    return Button;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event$1.CLICK_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {\\n    var button = event.target;\\n\\n    if (!$(button).hasClass(ClassName$1.BUTTON)) {\\n      button = $(button).closest(Selector$1.BUTTON)[0];\\n    }\\n\\n    if (!button || button.hasAttribute('disabled') || button.classList.contains('disabled')) {\\n      event.preventDefault(); // work around Firefox bug #1540995\\n    } else {\\n      var inputBtn = button.querySelector(Selector$1.INPUT);\\n\\n      if (inputBtn && (inputBtn.hasAttribute('disabled') || inputBtn.classList.contains('disabled'))) {\\n        event.preventDefault(); // work around Firefox bug #1540995\\n\\n        return;\\n      }\\n\\n      Button._jQueryInterface.call($(button), 'toggle');\\n    }\\n  }).on(Event$1.FOCUS_BLUR_DATA_API, Selector$1.DATA_TOGGLE_CARROT, function (event) {\\n    var button = $(event.target).closest(Selector$1.BUTTON)[0];\\n    $(button).toggleClass(ClassName$1.FOCUS, /^focus(in)?$/.test(event.type));\\n  });\\n  $(window).on(Event$1.LOAD_DATA_API, function () {\\n    // ensure correct active class is set to match the controls' actual values/states\\n    // find all checkboxes/readio buttons inside data-toggle groups\\n    var buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLES_BUTTONS));\\n\\n    for (var i = 0, len = buttons.length; i < len; i++) {\\n      var button = buttons[i];\\n      var input = button.querySelector(Selector$1.INPUT);\\n\\n      if (input.checked || input.hasAttribute('checked')) {\\n        button.classList.add(ClassName$1.ACTIVE);\\n      } else {\\n        button.classList.remove(ClassName$1.ACTIVE);\\n      }\\n    } // find all button toggles\\n\\n\\n    buttons = [].slice.call(document.querySelectorAll(Selector$1.DATA_TOGGLE));\\n\\n    for (var _i = 0, _len = buttons.length; _i < _len; _i++) {\\n      var _button = buttons[_i];\\n\\n      if (_button.getAttribute('aria-pressed') === 'true') {\\n        _button.classList.add(ClassName$1.ACTIVE);\\n      } else {\\n        _button.classList.remove(ClassName$1.ACTIVE);\\n      }\\n    }\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$1] = Button._jQueryInterface;\\n  $.fn[NAME$1].Constructor = Button;\\n\\n  $.fn[NAME$1].noConflict = function () {\\n    $.fn[NAME$1] = JQUERY_NO_CONFLICT$1;\\n    return Button._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$2 = 'carousel';\\n  var VERSION$2 = '4.4.1';\\n  var DATA_KEY$2 = 'bs.carousel';\\n  var EVENT_KEY$2 = \\\".\\\" + DATA_KEY$2;\\n  var DATA_API_KEY$2 = '.data-api';\\n  var JQUERY_NO_CONFLICT$2 = $.fn[NAME$2];\\n  var ARROW_LEFT_KEYCODE = 37; // KeyboardEvent.which value for left arrow key\\n\\n  var ARROW_RIGHT_KEYCODE = 39; // KeyboardEvent.which value for right arrow key\\n\\n  var TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch\\n\\n  var SWIPE_THRESHOLD = 40;\\n  var Default = {\\n    interval: 5000,\\n    keyboard: true,\\n    slide: false,\\n    pause: 'hover',\\n    wrap: true,\\n    touch: true\\n  };\\n  var DefaultType = {\\n    interval: '(number|boolean)',\\n    keyboard: 'boolean',\\n    slide: '(boolean|string)',\\n    pause: '(string|boolean)',\\n    wrap: 'boolean',\\n    touch: 'boolean'\\n  };\\n  var Direction = {\\n    NEXT: 'next',\\n    PREV: 'prev',\\n    LEFT: 'left',\\n    RIGHT: 'right'\\n  };\\n  var Event$2 = {\\n    SLIDE: \\\"slide\\\" + EVENT_KEY$2,\\n    SLID: \\\"slid\\\" + EVENT_KEY$2,\\n    KEYDOWN: \\\"keydown\\\" + EVENT_KEY$2,\\n    MOUSEENTER: \\\"mouseenter\\\" + EVENT_KEY$2,\\n    MOUSELEAVE: \\\"mouseleave\\\" + EVENT_KEY$2,\\n    TOUCHSTART: \\\"touchstart\\\" + EVENT_KEY$2,\\n    TOUCHMOVE: \\\"touchmove\\\" + EVENT_KEY$2,\\n    TOUCHEND: \\\"touchend\\\" + EVENT_KEY$2,\\n    POINTERDOWN: \\\"pointerdown\\\" + EVENT_KEY$2,\\n    POINTERUP: \\\"pointerup\\\" + EVENT_KEY$2,\\n    DRAG_START: \\\"dragstart\\\" + EVENT_KEY$2,\\n    LOAD_DATA_API: \\\"load\\\" + EVENT_KEY$2 + DATA_API_KEY$2,\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY$2 + DATA_API_KEY$2\\n  };\\n  var ClassName$2 = {\\n    CAROUSEL: 'carousel',\\n    ACTIVE: 'active',\\n    SLIDE: 'slide',\\n    RIGHT: 'carousel-item-right',\\n    LEFT: 'carousel-item-left',\\n    NEXT: 'carousel-item-next',\\n    PREV: 'carousel-item-prev',\\n    ITEM: 'carousel-item',\\n    POINTER_EVENT: 'pointer-event'\\n  };\\n  var Selector$2 = {\\n    ACTIVE: '.active',\\n    ACTIVE_ITEM: '.active.carousel-item',\\n    ITEM: '.carousel-item',\\n    ITEM_IMG: '.carousel-item img',\\n    NEXT_PREV: '.carousel-item-next, .carousel-item-prev',\\n    INDICATORS: '.carousel-indicators',\\n    DATA_SLIDE: '[data-slide], [data-slide-to]',\\n    DATA_RIDE: '[data-ride=\\\"carousel\\\"]'\\n  };\\n  var PointerType = {\\n    TOUCH: 'touch',\\n    PEN: 'pen'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Carousel =\\n  /*#__PURE__*/\\n  function () {\\n    function Carousel(element, config) {\\n      this._items = null;\\n      this._interval = null;\\n      this._activeElement = null;\\n      this._isPaused = false;\\n      this._isSliding = false;\\n      this.touchTimeout = null;\\n      this.touchStartX = 0;\\n      this.touchDeltaX = 0;\\n      this._config = this._getConfig(config);\\n      this._element = element;\\n      this._indicatorsElement = this._element.querySelector(Selector$2.INDICATORS);\\n      this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0;\\n      this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent);\\n\\n      this._addEventListeners();\\n    } // Getters\\n\\n\\n    var _proto = Carousel.prototype;\\n\\n    // Public\\n    _proto.next = function next() {\\n      if (!this._isSliding) {\\n        this._slide(Direction.NEXT);\\n      }\\n    };\\n\\n    _proto.nextWhenVisible = function nextWhenVisible() {\\n      // Don't call next when the page isn't visible\\n      // or the carousel or its parent isn't visible\\n      if (!document.hidden && $(this._element).is(':visible') && $(this._element).css('visibility') !== 'hidden') {\\n        this.next();\\n      }\\n    };\\n\\n    _proto.prev = function prev() {\\n      if (!this._isSliding) {\\n        this._slide(Direction.PREV);\\n      }\\n    };\\n\\n    _proto.pause = function pause(event) {\\n      if (!event) {\\n        this._isPaused = true;\\n      }\\n\\n      if (this._element.querySelector(Selector$2.NEXT_PREV)) {\\n        Util.triggerTransitionEnd(this._element);\\n        this.cycle(true);\\n      }\\n\\n      clearInterval(this._interval);\\n      this._interval = null;\\n    };\\n\\n    _proto.cycle = function cycle(event) {\\n      if (!event) {\\n        this._isPaused = false;\\n      }\\n\\n      if (this._interval) {\\n        clearInterval(this._interval);\\n        this._interval = null;\\n      }\\n\\n      if (this._config.interval && !this._isPaused) {\\n        this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval);\\n      }\\n    };\\n\\n    _proto.to = function to(index) {\\n      var _this = this;\\n\\n      this._activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);\\n\\n      var activeIndex = this._getItemIndex(this._activeElement);\\n\\n      if (index > this._items.length - 1 || index < 0) {\\n        return;\\n      }\\n\\n      if (this._isSliding) {\\n        $(this._element).one(Event$2.SLID, function () {\\n          return _this.to(index);\\n        });\\n        return;\\n      }\\n\\n      if (activeIndex === index) {\\n        this.pause();\\n        this.cycle();\\n        return;\\n      }\\n\\n      var direction = index > activeIndex ? Direction.NEXT : Direction.PREV;\\n\\n      this._slide(direction, this._items[index]);\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $(this._element).off(EVENT_KEY$2);\\n      $.removeData(this._element, DATA_KEY$2);\\n      this._items = null;\\n      this._config = null;\\n      this._element = null;\\n      this._interval = null;\\n      this._isPaused = null;\\n      this._isSliding = null;\\n      this._activeElement = null;\\n      this._indicatorsElement = null;\\n    } // Private\\n    ;\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      config = _objectSpread2({}, Default, {}, config);\\n      Util.typeCheckConfig(NAME$2, config, DefaultType);\\n      return config;\\n    };\\n\\n    _proto._handleSwipe = function _handleSwipe() {\\n      var absDeltax = Math.abs(this.touchDeltaX);\\n\\n      if (absDeltax <= SWIPE_THRESHOLD) {\\n        return;\\n      }\\n\\n      var direction = absDeltax / this.touchDeltaX;\\n      this.touchDeltaX = 0; // swipe left\\n\\n      if (direction > 0) {\\n        this.prev();\\n      } // swipe right\\n\\n\\n      if (direction < 0) {\\n        this.next();\\n      }\\n    };\\n\\n    _proto._addEventListeners = function _addEventListeners() {\\n      var _this2 = this;\\n\\n      if (this._config.keyboard) {\\n        $(this._element).on(Event$2.KEYDOWN, function (event) {\\n          return _this2._keydown(event);\\n        });\\n      }\\n\\n      if (this._config.pause === 'hover') {\\n        $(this._element).on(Event$2.MOUSEENTER, function (event) {\\n          return _this2.pause(event);\\n        }).on(Event$2.MOUSELEAVE, function (event) {\\n          return _this2.cycle(event);\\n        });\\n      }\\n\\n      if (this._config.touch) {\\n        this._addTouchEventListeners();\\n      }\\n    };\\n\\n    _proto._addTouchEventListeners = function _addTouchEventListeners() {\\n      var _this3 = this;\\n\\n      if (!this._touchSupported) {\\n        return;\\n      }\\n\\n      var start = function start(event) {\\n        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\\n          _this3.touchStartX = event.originalEvent.clientX;\\n        } else if (!_this3._pointerEvent) {\\n          _this3.touchStartX = event.originalEvent.touches[0].clientX;\\n        }\\n      };\\n\\n      var move = function move(event) {\\n        // ensure swiping with one touch and not pinching\\n        if (event.originalEvent.touches && event.originalEvent.touches.length > 1) {\\n          _this3.touchDeltaX = 0;\\n        } else {\\n          _this3.touchDeltaX = event.originalEvent.touches[0].clientX - _this3.touchStartX;\\n        }\\n      };\\n\\n      var end = function end(event) {\\n        if (_this3._pointerEvent && PointerType[event.originalEvent.pointerType.toUpperCase()]) {\\n          _this3.touchDeltaX = event.originalEvent.clientX - _this3.touchStartX;\\n        }\\n\\n        _this3._handleSwipe();\\n\\n        if (_this3._config.pause === 'hover') {\\n          // If it's a touch-enabled device, mouseenter/leave are fired as\\n          // part of the mouse compatibility events on first tap - the carousel\\n          // would stop cycling until user tapped out of it;\\n          // here, we listen for touchend, explicitly pause the carousel\\n          // (as if it's the second time we tap on it, mouseenter compat event\\n          // is NOT fired) and after a timeout (to allow for mouse compatibility\\n          // events to fire) we explicitly restart cycling\\n          _this3.pause();\\n\\n          if (_this3.touchTimeout) {\\n            clearTimeout(_this3.touchTimeout);\\n          }\\n\\n          _this3.touchTimeout = setTimeout(function (event) {\\n            return _this3.cycle(event);\\n          }, TOUCHEVENT_COMPAT_WAIT + _this3._config.interval);\\n        }\\n      };\\n\\n      $(this._element.querySelectorAll(Selector$2.ITEM_IMG)).on(Event$2.DRAG_START, function (e) {\\n        return e.preventDefault();\\n      });\\n\\n      if (this._pointerEvent) {\\n        $(this._element).on(Event$2.POINTERDOWN, function (event) {\\n          return start(event);\\n        });\\n        $(this._element).on(Event$2.POINTERUP, function (event) {\\n          return end(event);\\n        });\\n\\n        this._element.classList.add(ClassName$2.POINTER_EVENT);\\n      } else {\\n        $(this._element).on(Event$2.TOUCHSTART, function (event) {\\n          return start(event);\\n        });\\n        $(this._element).on(Event$2.TOUCHMOVE, function (event) {\\n          return move(event);\\n        });\\n        $(this._element).on(Event$2.TOUCHEND, function (event) {\\n          return end(event);\\n        });\\n      }\\n    };\\n\\n    _proto._keydown = function _keydown(event) {\\n      if (/input|textarea/i.test(event.target.tagName)) {\\n        return;\\n      }\\n\\n      switch (event.which) {\\n        case ARROW_LEFT_KEYCODE:\\n          event.preventDefault();\\n          this.prev();\\n          break;\\n\\n        case ARROW_RIGHT_KEYCODE:\\n          event.preventDefault();\\n          this.next();\\n          break;\\n      }\\n    };\\n\\n    _proto._getItemIndex = function _getItemIndex(element) {\\n      this._items = element && element.parentNode ? [].slice.call(element.parentNode.querySelectorAll(Selector$2.ITEM)) : [];\\n      return this._items.indexOf(element);\\n    };\\n\\n    _proto._getItemByDirection = function _getItemByDirection(direction, activeElement) {\\n      var isNextDirection = direction === Direction.NEXT;\\n      var isPrevDirection = direction === Direction.PREV;\\n\\n      var activeIndex = this._getItemIndex(activeElement);\\n\\n      var lastItemIndex = this._items.length - 1;\\n      var isGoingToWrap = isPrevDirection && activeIndex === 0 || isNextDirection && activeIndex === lastItemIndex;\\n\\n      if (isGoingToWrap && !this._config.wrap) {\\n        return activeElement;\\n      }\\n\\n      var delta = direction === Direction.PREV ? -1 : 1;\\n      var itemIndex = (activeIndex + delta) % this._items.length;\\n      return itemIndex === -1 ? this._items[this._items.length - 1] : this._items[itemIndex];\\n    };\\n\\n    _proto._triggerSlideEvent = function _triggerSlideEvent(relatedTarget, eventDirectionName) {\\n      var targetIndex = this._getItemIndex(relatedTarget);\\n\\n      var fromIndex = this._getItemIndex(this._element.querySelector(Selector$2.ACTIVE_ITEM));\\n\\n      var slideEvent = $.Event(Event$2.SLIDE, {\\n        relatedTarget: relatedTarget,\\n        direction: eventDirectionName,\\n        from: fromIndex,\\n        to: targetIndex\\n      });\\n      $(this._element).trigger(slideEvent);\\n      return slideEvent;\\n    };\\n\\n    _proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {\\n      if (this._indicatorsElement) {\\n        var indicators = [].slice.call(this._indicatorsElement.querySelectorAll(Selector$2.ACTIVE));\\n        $(indicators).removeClass(ClassName$2.ACTIVE);\\n\\n        var nextIndicator = this._indicatorsElement.children[this._getItemIndex(element)];\\n\\n        if (nextIndicator) {\\n          $(nextIndicator).addClass(ClassName$2.ACTIVE);\\n        }\\n      }\\n    };\\n\\n    _proto._slide = function _slide(direction, element) {\\n      var _this4 = this;\\n\\n      var activeElement = this._element.querySelector(Selector$2.ACTIVE_ITEM);\\n\\n      var activeElementIndex = this._getItemIndex(activeElement);\\n\\n      var nextElement = element || activeElement && this._getItemByDirection(direction, activeElement);\\n\\n      var nextElementIndex = this._getItemIndex(nextElement);\\n\\n      var isCycling = Boolean(this._interval);\\n      var directionalClassName;\\n      var orderClassName;\\n      var eventDirectionName;\\n\\n      if (direction === Direction.NEXT) {\\n        directionalClassName = ClassName$2.LEFT;\\n        orderClassName = ClassName$2.NEXT;\\n        eventDirectionName = Direction.LEFT;\\n      } else {\\n        directionalClassName = ClassName$2.RIGHT;\\n        orderClassName = ClassName$2.PREV;\\n        eventDirectionName = Direction.RIGHT;\\n      }\\n\\n      if (nextElement && $(nextElement).hasClass(ClassName$2.ACTIVE)) {\\n        this._isSliding = false;\\n        return;\\n      }\\n\\n      var slideEvent = this._triggerSlideEvent(nextElement, eventDirectionName);\\n\\n      if (slideEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      if (!activeElement || !nextElement) {\\n        // Some weirdness is happening, so we bail\\n        return;\\n      }\\n\\n      this._isSliding = true;\\n\\n      if (isCycling) {\\n        this.pause();\\n      }\\n\\n      this._setActiveIndicatorElement(nextElement);\\n\\n      var slidEvent = $.Event(Event$2.SLID, {\\n        relatedTarget: nextElement,\\n        direction: eventDirectionName,\\n        from: activeElementIndex,\\n        to: nextElementIndex\\n      });\\n\\n      if ($(this._element).hasClass(ClassName$2.SLIDE)) {\\n        $(nextElement).addClass(orderClassName);\\n        Util.reflow(nextElement);\\n        $(activeElement).addClass(directionalClassName);\\n        $(nextElement).addClass(directionalClassName);\\n        var nextElementInterval = parseInt(nextElement.getAttribute('data-interval'), 10);\\n\\n        if (nextElementInterval) {\\n          this._config.defaultInterval = this._config.defaultInterval || this._config.interval;\\n          this._config.interval = nextElementInterval;\\n        } else {\\n          this._config.interval = this._config.defaultInterval || this._config.interval;\\n        }\\n\\n        var transitionDuration = Util.getTransitionDurationFromElement(activeElement);\\n        $(activeElement).one(Util.TRANSITION_END, function () {\\n          $(nextElement).removeClass(directionalClassName + \\\" \\\" + orderClassName).addClass(ClassName$2.ACTIVE);\\n          $(activeElement).removeClass(ClassName$2.ACTIVE + \\\" \\\" + orderClassName + \\\" \\\" + directionalClassName);\\n          _this4._isSliding = false;\\n          setTimeout(function () {\\n            return $(_this4._element).trigger(slidEvent);\\n          }, 0);\\n        }).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        $(activeElement).removeClass(ClassName$2.ACTIVE);\\n        $(nextElement).addClass(ClassName$2.ACTIVE);\\n        this._isSliding = false;\\n        $(this._element).trigger(slidEvent);\\n      }\\n\\n      if (isCycling) {\\n        this.cycle();\\n      }\\n    } // Static\\n    ;\\n\\n    Carousel._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$2);\\n\\n        var _config = _objectSpread2({}, Default, {}, $(this).data());\\n\\n        if (typeof config === 'object') {\\n          _config = _objectSpread2({}, _config, {}, config);\\n        }\\n\\n        var action = typeof config === 'string' ? config : _config.slide;\\n\\n        if (!data) {\\n          data = new Carousel(this, _config);\\n          $(this).data(DATA_KEY$2, data);\\n        }\\n\\n        if (typeof config === 'number') {\\n          data.to(config);\\n        } else if (typeof action === 'string') {\\n          if (typeof data[action] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + action + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[action]();\\n        } else if (_config.interval && _config.ride) {\\n          data.pause();\\n          data.cycle();\\n        }\\n      });\\n    };\\n\\n    Carousel._dataApiClickHandler = function _dataApiClickHandler(event) {\\n      var selector = Util.getSelectorFromElement(this);\\n\\n      if (!selector) {\\n        return;\\n      }\\n\\n      var target = $(selector)[0];\\n\\n      if (!target || !$(target).hasClass(ClassName$2.CAROUSEL)) {\\n        return;\\n      }\\n\\n      var config = _objectSpread2({}, $(target).data(), {}, $(this).data());\\n\\n      var slideIndex = this.getAttribute('data-slide-to');\\n\\n      if (slideIndex) {\\n        config.interval = false;\\n      }\\n\\n      Carousel._jQueryInterface.call($(target), config);\\n\\n      if (slideIndex) {\\n        $(target).data(DATA_KEY$2).to(slideIndex);\\n      }\\n\\n      event.preventDefault();\\n    };\\n\\n    _createClass(Carousel, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$2;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default;\\n      }\\n    }]);\\n\\n    return Carousel;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event$2.CLICK_DATA_API, Selector$2.DATA_SLIDE, Carousel._dataApiClickHandler);\\n  $(window).on(Event$2.LOAD_DATA_API, function () {\\n    var carousels = [].slice.call(document.querySelectorAll(Selector$2.DATA_RIDE));\\n\\n    for (var i = 0, len = carousels.length; i < len; i++) {\\n      var $carousel = $(carousels[i]);\\n\\n      Carousel._jQueryInterface.call($carousel, $carousel.data());\\n    }\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$2] = Carousel._jQueryInterface;\\n  $.fn[NAME$2].Constructor = Carousel;\\n\\n  $.fn[NAME$2].noConflict = function () {\\n    $.fn[NAME$2] = JQUERY_NO_CONFLICT$2;\\n    return Carousel._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$3 = 'collapse';\\n  var VERSION$3 = '4.4.1';\\n  var DATA_KEY$3 = 'bs.collapse';\\n  var EVENT_KEY$3 = \\\".\\\" + DATA_KEY$3;\\n  var DATA_API_KEY$3 = '.data-api';\\n  var JQUERY_NO_CONFLICT$3 = $.fn[NAME$3];\\n  var Default$1 = {\\n    toggle: true,\\n    parent: ''\\n  };\\n  var DefaultType$1 = {\\n    toggle: 'boolean',\\n    parent: '(string|element)'\\n  };\\n  var Event$3 = {\\n    SHOW: \\\"show\\\" + EVENT_KEY$3,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$3,\\n    HIDE: \\\"hide\\\" + EVENT_KEY$3,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$3,\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY$3 + DATA_API_KEY$3\\n  };\\n  var ClassName$3 = {\\n    SHOW: 'show',\\n    COLLAPSE: 'collapse',\\n    COLLAPSING: 'collapsing',\\n    COLLAPSED: 'collapsed'\\n  };\\n  var Dimension = {\\n    WIDTH: 'width',\\n    HEIGHT: 'height'\\n  };\\n  var Selector$3 = {\\n    ACTIVES: '.show, .collapsing',\\n    DATA_TOGGLE: '[data-toggle=\\\"collapse\\\"]'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Collapse =\\n  /*#__PURE__*/\\n  function () {\\n    function Collapse(element, config) {\\n      this._isTransitioning = false;\\n      this._element = element;\\n      this._config = this._getConfig(config);\\n      this._triggerArray = [].slice.call(document.querySelectorAll(\\\"[data-toggle=\\\\\\\"collapse\\\\\\\"][href=\\\\\\\"#\\\" + element.id + \\\"\\\\\\\"],\\\" + (\\\"[data-toggle=\\\\\\\"collapse\\\\\\\"][data-target=\\\\\\\"#\\\" + element.id + \\\"\\\\\\\"]\\\")));\\n      var toggleList = [].slice.call(document.querySelectorAll(Selector$3.DATA_TOGGLE));\\n\\n      for (var i = 0, len = toggleList.length; i < len; i++) {\\n        var elem = toggleList[i];\\n        var selector = Util.getSelectorFromElement(elem);\\n        var filterElement = [].slice.call(document.querySelectorAll(selector)).filter(function (foundElem) {\\n          return foundElem === element;\\n        });\\n\\n        if (selector !== null && filterElement.length > 0) {\\n          this._selector = selector;\\n\\n          this._triggerArray.push(elem);\\n        }\\n      }\\n\\n      this._parent = this._config.parent ? this._getParent() : null;\\n\\n      if (!this._config.parent) {\\n        this._addAriaAndCollapsedClass(this._element, this._triggerArray);\\n      }\\n\\n      if (this._config.toggle) {\\n        this.toggle();\\n      }\\n    } // Getters\\n\\n\\n    var _proto = Collapse.prototype;\\n\\n    // Public\\n    _proto.toggle = function toggle() {\\n      if ($(this._element).hasClass(ClassName$3.SHOW)) {\\n        this.hide();\\n      } else {\\n        this.show();\\n      }\\n    };\\n\\n    _proto.show = function show() {\\n      var _this = this;\\n\\n      if (this._isTransitioning || $(this._element).hasClass(ClassName$3.SHOW)) {\\n        return;\\n      }\\n\\n      var actives;\\n      var activesData;\\n\\n      if (this._parent) {\\n        actives = [].slice.call(this._parent.querySelectorAll(Selector$3.ACTIVES)).filter(function (elem) {\\n          if (typeof _this._config.parent === 'string') {\\n            return elem.getAttribute('data-parent') === _this._config.parent;\\n          }\\n\\n          return elem.classList.contains(ClassName$3.COLLAPSE);\\n        });\\n\\n        if (actives.length === 0) {\\n          actives = null;\\n        }\\n      }\\n\\n      if (actives) {\\n        activesData = $(actives).not(this._selector).data(DATA_KEY$3);\\n\\n        if (activesData && activesData._isTransitioning) {\\n          return;\\n        }\\n      }\\n\\n      var startEvent = $.Event(Event$3.SHOW);\\n      $(this._element).trigger(startEvent);\\n\\n      if (startEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      if (actives) {\\n        Collapse._jQueryInterface.call($(actives).not(this._selector), 'hide');\\n\\n        if (!activesData) {\\n          $(actives).data(DATA_KEY$3, null);\\n        }\\n      }\\n\\n      var dimension = this._getDimension();\\n\\n      $(this._element).removeClass(ClassName$3.COLLAPSE).addClass(ClassName$3.COLLAPSING);\\n      this._element.style[dimension] = 0;\\n\\n      if (this._triggerArray.length) {\\n        $(this._triggerArray).removeClass(ClassName$3.COLLAPSED).attr('aria-expanded', true);\\n      }\\n\\n      this.setTransitioning(true);\\n\\n      var complete = function complete() {\\n        $(_this._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).addClass(ClassName$3.SHOW);\\n        _this._element.style[dimension] = '';\\n\\n        _this.setTransitioning(false);\\n\\n        $(_this._element).trigger(Event$3.SHOWN);\\n      };\\n\\n      var capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);\\n      var scrollSize = \\\"scroll\\\" + capitalizedDimension;\\n      var transitionDuration = Util.getTransitionDurationFromElement(this._element);\\n      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n      this._element.style[dimension] = this._element[scrollSize] + \\\"px\\\";\\n    };\\n\\n    _proto.hide = function hide() {\\n      var _this2 = this;\\n\\n      if (this._isTransitioning || !$(this._element).hasClass(ClassName$3.SHOW)) {\\n        return;\\n      }\\n\\n      var startEvent = $.Event(Event$3.HIDE);\\n      $(this._element).trigger(startEvent);\\n\\n      if (startEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      var dimension = this._getDimension();\\n\\n      this._element.style[dimension] = this._element.getBoundingClientRect()[dimension] + \\\"px\\\";\\n      Util.reflow(this._element);\\n      $(this._element).addClass(ClassName$3.COLLAPSING).removeClass(ClassName$3.COLLAPSE).removeClass(ClassName$3.SHOW);\\n      var triggerArrayLength = this._triggerArray.length;\\n\\n      if (triggerArrayLength > 0) {\\n        for (var i = 0; i < triggerArrayLength; i++) {\\n          var trigger = this._triggerArray[i];\\n          var selector = Util.getSelectorFromElement(trigger);\\n\\n          if (selector !== null) {\\n            var $elem = $([].slice.call(document.querySelectorAll(selector)));\\n\\n            if (!$elem.hasClass(ClassName$3.SHOW)) {\\n              $(trigger).addClass(ClassName$3.COLLAPSED).attr('aria-expanded', false);\\n            }\\n          }\\n        }\\n      }\\n\\n      this.setTransitioning(true);\\n\\n      var complete = function complete() {\\n        _this2.setTransitioning(false);\\n\\n        $(_this2._element).removeClass(ClassName$3.COLLAPSING).addClass(ClassName$3.COLLAPSE).trigger(Event$3.HIDDEN);\\n      };\\n\\n      this._element.style[dimension] = '';\\n      var transitionDuration = Util.getTransitionDurationFromElement(this._element);\\n      $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n    };\\n\\n    _proto.setTransitioning = function setTransitioning(isTransitioning) {\\n      this._isTransitioning = isTransitioning;\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $.removeData(this._element, DATA_KEY$3);\\n      this._config = null;\\n      this._parent = null;\\n      this._element = null;\\n      this._triggerArray = null;\\n      this._isTransitioning = null;\\n    } // Private\\n    ;\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      config = _objectSpread2({}, Default$1, {}, config);\\n      config.toggle = Boolean(config.toggle); // Coerce string values\\n\\n      Util.typeCheckConfig(NAME$3, config, DefaultType$1);\\n      return config;\\n    };\\n\\n    _proto._getDimension = function _getDimension() {\\n      var hasWidth = $(this._element).hasClass(Dimension.WIDTH);\\n      return hasWidth ? Dimension.WIDTH : Dimension.HEIGHT;\\n    };\\n\\n    _proto._getParent = function _getParent() {\\n      var _this3 = this;\\n\\n      var parent;\\n\\n      if (Util.isElement(this._config.parent)) {\\n        parent = this._config.parent; // It's a jQuery object\\n\\n        if (typeof this._config.parent.jquery !== 'undefined') {\\n          parent = this._config.parent[0];\\n        }\\n      } else {\\n        parent = document.querySelector(this._config.parent);\\n      }\\n\\n      var selector = \\\"[data-toggle=\\\\\\\"collapse\\\\\\\"][data-parent=\\\\\\\"\\\" + this._config.parent + \\\"\\\\\\\"]\\\";\\n      var children = [].slice.call(parent.querySelectorAll(selector));\\n      $(children).each(function (i, element) {\\n        _this3._addAriaAndCollapsedClass(Collapse._getTargetFromElement(element), [element]);\\n      });\\n      return parent;\\n    };\\n\\n    _proto._addAriaAndCollapsedClass = function _addAriaAndCollapsedClass(element, triggerArray) {\\n      var isOpen = $(element).hasClass(ClassName$3.SHOW);\\n\\n      if (triggerArray.length) {\\n        $(triggerArray).toggleClass(ClassName$3.COLLAPSED, !isOpen).attr('aria-expanded', isOpen);\\n      }\\n    } // Static\\n    ;\\n\\n    Collapse._getTargetFromElement = function _getTargetFromElement(element) {\\n      var selector = Util.getSelectorFromElement(element);\\n      return selector ? document.querySelector(selector) : null;\\n    };\\n\\n    Collapse._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var $this = $(this);\\n        var data = $this.data(DATA_KEY$3);\\n\\n        var _config = _objectSpread2({}, Default$1, {}, $this.data(), {}, typeof config === 'object' && config ? config : {});\\n\\n        if (!data && _config.toggle && /show|hide/.test(config)) {\\n          _config.toggle = false;\\n        }\\n\\n        if (!data) {\\n          data = new Collapse(this, _config);\\n          $this.data(DATA_KEY$3, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    _createClass(Collapse, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$3;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$1;\\n      }\\n    }]);\\n\\n    return Collapse;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event$3.CLICK_DATA_API, Selector$3.DATA_TOGGLE, function (event) {\\n    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\\n    if (event.currentTarget.tagName === 'A') {\\n      event.preventDefault();\\n    }\\n\\n    var $trigger = $(this);\\n    var selector = Util.getSelectorFromElement(this);\\n    var selectors = [].slice.call(document.querySelectorAll(selector));\\n    $(selectors).each(function () {\\n      var $target = $(this);\\n      var data = $target.data(DATA_KEY$3);\\n      var config = data ? 'toggle' : $trigger.data();\\n\\n      Collapse._jQueryInterface.call($target, config);\\n    });\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$3] = Collapse._jQueryInterface;\\n  $.fn[NAME$3].Constructor = Collapse;\\n\\n  $.fn[NAME$3].noConflict = function () {\\n    $.fn[NAME$3] = JQUERY_NO_CONFLICT$3;\\n    return Collapse._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$4 = 'dropdown';\\n  var VERSION$4 = '4.4.1';\\n  var DATA_KEY$4 = 'bs.dropdown';\\n  var EVENT_KEY$4 = \\\".\\\" + DATA_KEY$4;\\n  var DATA_API_KEY$4 = '.data-api';\\n  var JQUERY_NO_CONFLICT$4 = $.fn[NAME$4];\\n  var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key\\n\\n  var SPACE_KEYCODE = 32; // KeyboardEvent.which value for space key\\n\\n  var TAB_KEYCODE = 9; // KeyboardEvent.which value for tab key\\n\\n  var ARROW_UP_KEYCODE = 38; // KeyboardEvent.which value for up arrow key\\n\\n  var ARROW_DOWN_KEYCODE = 40; // KeyboardEvent.which value for down arrow key\\n\\n  var RIGHT_MOUSE_BUTTON_WHICH = 3; // MouseEvent.which value for the right button (assuming a right-handed mouse)\\n\\n  var REGEXP_KEYDOWN = new RegExp(ARROW_UP_KEYCODE + \\\"|\\\" + ARROW_DOWN_KEYCODE + \\\"|\\\" + ESCAPE_KEYCODE);\\n  var Event$4 = {\\n    HIDE: \\\"hide\\\" + EVENT_KEY$4,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$4,\\n    SHOW: \\\"show\\\" + EVENT_KEY$4,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$4,\\n    CLICK: \\\"click\\\" + EVENT_KEY$4,\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY$4 + DATA_API_KEY$4,\\n    KEYDOWN_DATA_API: \\\"keydown\\\" + EVENT_KEY$4 + DATA_API_KEY$4,\\n    KEYUP_DATA_API: \\\"keyup\\\" + EVENT_KEY$4 + DATA_API_KEY$4\\n  };\\n  var ClassName$4 = {\\n    DISABLED: 'disabled',\\n    SHOW: 'show',\\n    DROPUP: 'dropup',\\n    DROPRIGHT: 'dropright',\\n    DROPLEFT: 'dropleft',\\n    MENURIGHT: 'dropdown-menu-right',\\n    MENULEFT: 'dropdown-menu-left',\\n    POSITION_STATIC: 'position-static'\\n  };\\n  var Selector$4 = {\\n    DATA_TOGGLE: '[data-toggle=\\\"dropdown\\\"]',\\n    FORM_CHILD: '.dropdown form',\\n    MENU: '.dropdown-menu',\\n    NAVBAR_NAV: '.navbar-nav',\\n    VISIBLE_ITEMS: '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\\n  };\\n  var AttachmentMap = {\\n    TOP: 'top-start',\\n    TOPEND: 'top-end',\\n    BOTTOM: 'bottom-start',\\n    BOTTOMEND: 'bottom-end',\\n    RIGHT: 'right-start',\\n    RIGHTEND: 'right-end',\\n    LEFT: 'left-start',\\n    LEFTEND: 'left-end'\\n  };\\n  var Default$2 = {\\n    offset: 0,\\n    flip: true,\\n    boundary: 'scrollParent',\\n    reference: 'toggle',\\n    display: 'dynamic',\\n    popperConfig: null\\n  };\\n  var DefaultType$2 = {\\n    offset: '(number|string|function)',\\n    flip: 'boolean',\\n    boundary: '(string|element)',\\n    reference: '(string|element)',\\n    display: 'string',\\n    popperConfig: '(null|object)'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Dropdown =\\n  /*#__PURE__*/\\n  function () {\\n    function Dropdown(element, config) {\\n      this._element = element;\\n      this._popper = null;\\n      this._config = this._getConfig(config);\\n      this._menu = this._getMenuElement();\\n      this._inNavbar = this._detectNavbar();\\n\\n      this._addEventListeners();\\n    } // Getters\\n\\n\\n    var _proto = Dropdown.prototype;\\n\\n    // Public\\n    _proto.toggle = function toggle() {\\n      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED)) {\\n        return;\\n      }\\n\\n      var isActive = $(this._menu).hasClass(ClassName$4.SHOW);\\n\\n      Dropdown._clearMenus();\\n\\n      if (isActive) {\\n        return;\\n      }\\n\\n      this.show(true);\\n    };\\n\\n    _proto.show = function show(usePopper) {\\n      if (usePopper === void 0) {\\n        usePopper = false;\\n      }\\n\\n      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || $(this._menu).hasClass(ClassName$4.SHOW)) {\\n        return;\\n      }\\n\\n      var relatedTarget = {\\n        relatedTarget: this._element\\n      };\\n      var showEvent = $.Event(Event$4.SHOW, relatedTarget);\\n\\n      var parent = Dropdown._getParentFromElement(this._element);\\n\\n      $(parent).trigger(showEvent);\\n\\n      if (showEvent.isDefaultPrevented()) {\\n        return;\\n      } // Disable totally Popper.js for Dropdown in Navbar\\n\\n\\n      if (!this._inNavbar && usePopper) {\\n        /**\\n         * Check for Popper dependency\\n         * Popper - https://popper.js.org\\n         */\\n        if (typeof Popper === 'undefined') {\\n          throw new TypeError('Bootstrap\\\\'s dropdowns require Popper.js (https://popper.js.org/)');\\n        }\\n\\n        var referenceElement = this._element;\\n\\n        if (this._config.reference === 'parent') {\\n          referenceElement = parent;\\n        } else if (Util.isElement(this._config.reference)) {\\n          referenceElement = this._config.reference; // Check if it's jQuery element\\n\\n          if (typeof this._config.reference.jquery !== 'undefined') {\\n            referenceElement = this._config.reference[0];\\n          }\\n        } // If boundary is not `scrollParent`, then set position to `static`\\n        // to allow the menu to \\\"escape\\\" the scroll parent's boundaries\\n        // https://github.com/twbs/bootstrap/issues/24251\\n\\n\\n        if (this._config.boundary !== 'scrollParent') {\\n          $(parent).addClass(ClassName$4.POSITION_STATIC);\\n        }\\n\\n        this._popper = new Popper(referenceElement, this._menu, this._getPopperConfig());\\n      } // If this is a touch-enabled device we add extra\\n      // empty mouseover listeners to the body's immediate children;\\n      // only needed because of broken event delegation on iOS\\n      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\\n\\n\\n      if ('ontouchstart' in document.documentElement && $(parent).closest(Selector$4.NAVBAR_NAV).length === 0) {\\n        $(document.body).children().on('mouseover', null, $.noop);\\n      }\\n\\n      this._element.focus();\\n\\n      this._element.setAttribute('aria-expanded', true);\\n\\n      $(this._menu).toggleClass(ClassName$4.SHOW);\\n      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.SHOWN, relatedTarget));\\n    };\\n\\n    _proto.hide = function hide() {\\n      if (this._element.disabled || $(this._element).hasClass(ClassName$4.DISABLED) || !$(this._menu).hasClass(ClassName$4.SHOW)) {\\n        return;\\n      }\\n\\n      var relatedTarget = {\\n        relatedTarget: this._element\\n      };\\n      var hideEvent = $.Event(Event$4.HIDE, relatedTarget);\\n\\n      var parent = Dropdown._getParentFromElement(this._element);\\n\\n      $(parent).trigger(hideEvent);\\n\\n      if (hideEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      if (this._popper) {\\n        this._popper.destroy();\\n      }\\n\\n      $(this._menu).toggleClass(ClassName$4.SHOW);\\n      $(parent).toggleClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $.removeData(this._element, DATA_KEY$4);\\n      $(this._element).off(EVENT_KEY$4);\\n      this._element = null;\\n      this._menu = null;\\n\\n      if (this._popper !== null) {\\n        this._popper.destroy();\\n\\n        this._popper = null;\\n      }\\n    };\\n\\n    _proto.update = function update() {\\n      this._inNavbar = this._detectNavbar();\\n\\n      if (this._popper !== null) {\\n        this._popper.scheduleUpdate();\\n      }\\n    } // Private\\n    ;\\n\\n    _proto._addEventListeners = function _addEventListeners() {\\n      var _this = this;\\n\\n      $(this._element).on(Event$4.CLICK, function (event) {\\n        event.preventDefault();\\n        event.stopPropagation();\\n\\n        _this.toggle();\\n      });\\n    };\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      config = _objectSpread2({}, this.constructor.Default, {}, $(this._element).data(), {}, config);\\n      Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);\\n      return config;\\n    };\\n\\n    _proto._getMenuElement = function _getMenuElement() {\\n      if (!this._menu) {\\n        var parent = Dropdown._getParentFromElement(this._element);\\n\\n        if (parent) {\\n          this._menu = parent.querySelector(Selector$4.MENU);\\n        }\\n      }\\n\\n      return this._menu;\\n    };\\n\\n    _proto._getPlacement = function _getPlacement() {\\n      var $parentDropdown = $(this._element.parentNode);\\n      var placement = AttachmentMap.BOTTOM; // Handle dropup\\n\\n      if ($parentDropdown.hasClass(ClassName$4.DROPUP)) {\\n        placement = AttachmentMap.TOP;\\n\\n        if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {\\n          placement = AttachmentMap.TOPEND;\\n        }\\n      } else if ($parentDropdown.hasClass(ClassName$4.DROPRIGHT)) {\\n        placement = AttachmentMap.RIGHT;\\n      } else if ($parentDropdown.hasClass(ClassName$4.DROPLEFT)) {\\n        placement = AttachmentMap.LEFT;\\n      } else if ($(this._menu).hasClass(ClassName$4.MENURIGHT)) {\\n        placement = AttachmentMap.BOTTOMEND;\\n      }\\n\\n      return placement;\\n    };\\n\\n    _proto._detectNavbar = function _detectNavbar() {\\n      return $(this._element).closest('.navbar').length > 0;\\n    };\\n\\n    _proto._getOffset = function _getOffset() {\\n      var _this2 = this;\\n\\n      var offset = {};\\n\\n      if (typeof this._config.offset === 'function') {\\n        offset.fn = function (data) {\\n          data.offsets = _objectSpread2({}, data.offsets, {}, _this2._config.offset(data.offsets, _this2._element) || {});\\n          return data;\\n        };\\n      } else {\\n        offset.offset = this._config.offset;\\n      }\\n\\n      return offset;\\n    };\\n\\n    _proto._getPopperConfig = function _getPopperConfig() {\\n      var popperConfig = {\\n        placement: this._getPlacement(),\\n        modifiers: {\\n          offset: this._getOffset(),\\n          flip: {\\n            enabled: this._config.flip\\n          },\\n          preventOverflow: {\\n            boundariesElement: this._config.boundary\\n          }\\n        }\\n      }; // Disable Popper.js if we have a static display\\n\\n      if (this._config.display === 'static') {\\n        popperConfig.modifiers.applyStyle = {\\n          enabled: false\\n        };\\n      }\\n\\n      return _objectSpread2({}, popperConfig, {}, this._config.popperConfig);\\n    } // Static\\n    ;\\n\\n    Dropdown._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$4);\\n\\n        var _config = typeof config === 'object' ? config : null;\\n\\n        if (!data) {\\n          data = new Dropdown(this, _config);\\n          $(this).data(DATA_KEY$4, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    Dropdown._clearMenus = function _clearMenus(event) {\\n      if (event && (event.which === RIGHT_MOUSE_BUTTON_WHICH || event.type === 'keyup' && event.which !== TAB_KEYCODE)) {\\n        return;\\n      }\\n\\n      var toggles = [].slice.call(document.querySelectorAll(Selector$4.DATA_TOGGLE));\\n\\n      for (var i = 0, len = toggles.length; i < len; i++) {\\n        var parent = Dropdown._getParentFromElement(toggles[i]);\\n\\n        var context = $(toggles[i]).data(DATA_KEY$4);\\n        var relatedTarget = {\\n          relatedTarget: toggles[i]\\n        };\\n\\n        if (event && event.type === 'click') {\\n          relatedTarget.clickEvent = event;\\n        }\\n\\n        if (!context) {\\n          continue;\\n        }\\n\\n        var dropdownMenu = context._menu;\\n\\n        if (!$(parent).hasClass(ClassName$4.SHOW)) {\\n          continue;\\n        }\\n\\n        if (event && (event.type === 'click' && /input|textarea/i.test(event.target.tagName) || event.type === 'keyup' && event.which === TAB_KEYCODE) && $.contains(parent, event.target)) {\\n          continue;\\n        }\\n\\n        var hideEvent = $.Event(Event$4.HIDE, relatedTarget);\\n        $(parent).trigger(hideEvent);\\n\\n        if (hideEvent.isDefaultPrevented()) {\\n          continue;\\n        } // If this is a touch-enabled device we remove the extra\\n        // empty mouseover listeners we added for iOS support\\n\\n\\n        if ('ontouchstart' in document.documentElement) {\\n          $(document.body).children().off('mouseover', null, $.noop);\\n        }\\n\\n        toggles[i].setAttribute('aria-expanded', 'false');\\n\\n        if (context._popper) {\\n          context._popper.destroy();\\n        }\\n\\n        $(dropdownMenu).removeClass(ClassName$4.SHOW);\\n        $(parent).removeClass(ClassName$4.SHOW).trigger($.Event(Event$4.HIDDEN, relatedTarget));\\n      }\\n    };\\n\\n    Dropdown._getParentFromElement = function _getParentFromElement(element) {\\n      var parent;\\n      var selector = Util.getSelectorFromElement(element);\\n\\n      if (selector) {\\n        parent = document.querySelector(selector);\\n      }\\n\\n      return parent || element.parentNode;\\n    } // eslint-disable-next-line complexity\\n    ;\\n\\n    Dropdown._dataApiKeydownHandler = function _dataApiKeydownHandler(event) {\\n      // If not input/textarea:\\n      //  - And not a key in REGEXP_KEYDOWN => not a dropdown command\\n      // If input/textarea:\\n      //  - If space key => not a dropdown command\\n      //  - If key is other than escape\\n      //    - If key is not up or down => not a dropdown command\\n      //    - If trigger inside the menu => not a dropdown command\\n      if (/input|textarea/i.test(event.target.tagName) ? event.which === SPACE_KEYCODE || event.which !== ESCAPE_KEYCODE && (event.which !== ARROW_DOWN_KEYCODE && event.which !== ARROW_UP_KEYCODE || $(event.target).closest(Selector$4.MENU).length) : !REGEXP_KEYDOWN.test(event.which)) {\\n        return;\\n      }\\n\\n      event.preventDefault();\\n      event.stopPropagation();\\n\\n      if (this.disabled || $(this).hasClass(ClassName$4.DISABLED)) {\\n        return;\\n      }\\n\\n      var parent = Dropdown._getParentFromElement(this);\\n\\n      var isActive = $(parent).hasClass(ClassName$4.SHOW);\\n\\n      if (!isActive && event.which === ESCAPE_KEYCODE) {\\n        return;\\n      }\\n\\n      if (!isActive || isActive && (event.which === ESCAPE_KEYCODE || event.which === SPACE_KEYCODE)) {\\n        if (event.which === ESCAPE_KEYCODE) {\\n          var toggle = parent.querySelector(Selector$4.DATA_TOGGLE);\\n          $(toggle).trigger('focus');\\n        }\\n\\n        $(this).trigger('click');\\n        return;\\n      }\\n\\n      var items = [].slice.call(parent.querySelectorAll(Selector$4.VISIBLE_ITEMS)).filter(function (item) {\\n        return $(item).is(':visible');\\n      });\\n\\n      if (items.length === 0) {\\n        return;\\n      }\\n\\n      var index = items.indexOf(event.target);\\n\\n      if (event.which === ARROW_UP_KEYCODE && index > 0) {\\n        // Up\\n        index--;\\n      }\\n\\n      if (event.which === ARROW_DOWN_KEYCODE && index < items.length - 1) {\\n        // Down\\n        index++;\\n      }\\n\\n      if (index < 0) {\\n        index = 0;\\n      }\\n\\n      items[index].focus();\\n    };\\n\\n    _createClass(Dropdown, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$4;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$2;\\n      }\\n    }, {\\n      key: \\\"DefaultType\\\",\\n      get: function get() {\\n        return DefaultType$2;\\n      }\\n    }]);\\n\\n    return Dropdown;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event$4.KEYDOWN_DATA_API, Selector$4.DATA_TOGGLE, Dropdown._dataApiKeydownHandler).on(Event$4.KEYDOWN_DATA_API, Selector$4.MENU, Dropdown._dataApiKeydownHandler).on(Event$4.CLICK_DATA_API + \\\" \\\" + Event$4.KEYUP_DATA_API, Dropdown._clearMenus).on(Event$4.CLICK_DATA_API, Selector$4.DATA_TOGGLE, function (event) {\\n    event.preventDefault();\\n    event.stopPropagation();\\n\\n    Dropdown._jQueryInterface.call($(this), 'toggle');\\n  }).on(Event$4.CLICK_DATA_API, Selector$4.FORM_CHILD, function (e) {\\n    e.stopPropagation();\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$4] = Dropdown._jQueryInterface;\\n  $.fn[NAME$4].Constructor = Dropdown;\\n\\n  $.fn[NAME$4].noConflict = function () {\\n    $.fn[NAME$4] = JQUERY_NO_CONFLICT$4;\\n    return Dropdown._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$5 = 'modal';\\n  var VERSION$5 = '4.4.1';\\n  var DATA_KEY$5 = 'bs.modal';\\n  var EVENT_KEY$5 = \\\".\\\" + DATA_KEY$5;\\n  var DATA_API_KEY$5 = '.data-api';\\n  var JQUERY_NO_CONFLICT$5 = $.fn[NAME$5];\\n  var ESCAPE_KEYCODE$1 = 27; // KeyboardEvent.which value for Escape (Esc) key\\n\\n  var Default$3 = {\\n    backdrop: true,\\n    keyboard: true,\\n    focus: true,\\n    show: true\\n  };\\n  var DefaultType$3 = {\\n    backdrop: '(boolean|string)',\\n    keyboard: 'boolean',\\n    focus: 'boolean',\\n    show: 'boolean'\\n  };\\n  var Event$5 = {\\n    HIDE: \\\"hide\\\" + EVENT_KEY$5,\\n    HIDE_PREVENTED: \\\"hidePrevented\\\" + EVENT_KEY$5,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$5,\\n    SHOW: \\\"show\\\" + EVENT_KEY$5,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$5,\\n    FOCUSIN: \\\"focusin\\\" + EVENT_KEY$5,\\n    RESIZE: \\\"resize\\\" + EVENT_KEY$5,\\n    CLICK_DISMISS: \\\"click.dismiss\\\" + EVENT_KEY$5,\\n    KEYDOWN_DISMISS: \\\"keydown.dismiss\\\" + EVENT_KEY$5,\\n    MOUSEUP_DISMISS: \\\"mouseup.dismiss\\\" + EVENT_KEY$5,\\n    MOUSEDOWN_DISMISS: \\\"mousedown.dismiss\\\" + EVENT_KEY$5,\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY$5 + DATA_API_KEY$5\\n  };\\n  var ClassName$5 = {\\n    SCROLLABLE: 'modal-dialog-scrollable',\\n    SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\\n    BACKDROP: 'modal-backdrop',\\n    OPEN: 'modal-open',\\n    FADE: 'fade',\\n    SHOW: 'show',\\n    STATIC: 'modal-static'\\n  };\\n  var Selector$5 = {\\n    DIALOG: '.modal-dialog',\\n    MODAL_BODY: '.modal-body',\\n    DATA_TOGGLE: '[data-toggle=\\\"modal\\\"]',\\n    DATA_DISMISS: '[data-dismiss=\\\"modal\\\"]',\\n    FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',\\n    STICKY_CONTENT: '.sticky-top'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Modal =\\n  /*#__PURE__*/\\n  function () {\\n    function Modal(element, config) {\\n      this._config = this._getConfig(config);\\n      this._element = element;\\n      this._dialog = element.querySelector(Selector$5.DIALOG);\\n      this._backdrop = null;\\n      this._isShown = false;\\n      this._isBodyOverflowing = false;\\n      this._ignoreBackdropClick = false;\\n      this._isTransitioning = false;\\n      this._scrollbarWidth = 0;\\n    } // Getters\\n\\n\\n    var _proto = Modal.prototype;\\n\\n    // Public\\n    _proto.toggle = function toggle(relatedTarget) {\\n      return this._isShown ? this.hide() : this.show(relatedTarget);\\n    };\\n\\n    _proto.show = function show(relatedTarget) {\\n      var _this = this;\\n\\n      if (this._isShown || this._isTransitioning) {\\n        return;\\n      }\\n\\n      if ($(this._element).hasClass(ClassName$5.FADE)) {\\n        this._isTransitioning = true;\\n      }\\n\\n      var showEvent = $.Event(Event$5.SHOW, {\\n        relatedTarget: relatedTarget\\n      });\\n      $(this._element).trigger(showEvent);\\n\\n      if (this._isShown || showEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      this._isShown = true;\\n\\n      this._checkScrollbar();\\n\\n      this._setScrollbar();\\n\\n      this._adjustDialog();\\n\\n      this._setEscapeEvent();\\n\\n      this._setResizeEvent();\\n\\n      $(this._element).on(Event$5.CLICK_DISMISS, Selector$5.DATA_DISMISS, function (event) {\\n        return _this.hide(event);\\n      });\\n      $(this._dialog).on(Event$5.MOUSEDOWN_DISMISS, function () {\\n        $(_this._element).one(Event$5.MOUSEUP_DISMISS, function (event) {\\n          if ($(event.target).is(_this._element)) {\\n            _this._ignoreBackdropClick = true;\\n          }\\n        });\\n      });\\n\\n      this._showBackdrop(function () {\\n        return _this._showElement(relatedTarget);\\n      });\\n    };\\n\\n    _proto.hide = function hide(event) {\\n      var _this2 = this;\\n\\n      if (event) {\\n        event.preventDefault();\\n      }\\n\\n      if (!this._isShown || this._isTransitioning) {\\n        return;\\n      }\\n\\n      var hideEvent = $.Event(Event$5.HIDE);\\n      $(this._element).trigger(hideEvent);\\n\\n      if (!this._isShown || hideEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      this._isShown = false;\\n      var transition = $(this._element).hasClass(ClassName$5.FADE);\\n\\n      if (transition) {\\n        this._isTransitioning = true;\\n      }\\n\\n      this._setEscapeEvent();\\n\\n      this._setResizeEvent();\\n\\n      $(document).off(Event$5.FOCUSIN);\\n      $(this._element).removeClass(ClassName$5.SHOW);\\n      $(this._element).off(Event$5.CLICK_DISMISS);\\n      $(this._dialog).off(Event$5.MOUSEDOWN_DISMISS);\\n\\n      if (transition) {\\n        var transitionDuration = Util.getTransitionDurationFromElement(this._element);\\n        $(this._element).one(Util.TRANSITION_END, function (event) {\\n          return _this2._hideModal(event);\\n        }).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        this._hideModal();\\n      }\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      [window, this._element, this._dialog].forEach(function (htmlElement) {\\n        return $(htmlElement).off(EVENT_KEY$5);\\n      });\\n      /**\\n       * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`\\n       * Do not move `document` in `htmlElements` array\\n       * It will remove `Event.CLICK_DATA_API` event that should remain\\n       */\\n\\n      $(document).off(Event$5.FOCUSIN);\\n      $.removeData(this._element, DATA_KEY$5);\\n      this._config = null;\\n      this._element = null;\\n      this._dialog = null;\\n      this._backdrop = null;\\n      this._isShown = null;\\n      this._isBodyOverflowing = null;\\n      this._ignoreBackdropClick = null;\\n      this._isTransitioning = null;\\n      this._scrollbarWidth = null;\\n    };\\n\\n    _proto.handleUpdate = function handleUpdate() {\\n      this._adjustDialog();\\n    } // Private\\n    ;\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      config = _objectSpread2({}, Default$3, {}, config);\\n      Util.typeCheckConfig(NAME$5, config, DefaultType$3);\\n      return config;\\n    };\\n\\n    _proto._triggerBackdropTransition = function _triggerBackdropTransition() {\\n      var _this3 = this;\\n\\n      if (this._config.backdrop === 'static') {\\n        var hideEventPrevented = $.Event(Event$5.HIDE_PREVENTED);\\n        $(this._element).trigger(hideEventPrevented);\\n\\n        if (hideEventPrevented.defaultPrevented) {\\n          return;\\n        }\\n\\n        this._element.classList.add(ClassName$5.STATIC);\\n\\n        var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);\\n        $(this._element).one(Util.TRANSITION_END, function () {\\n          _this3._element.classList.remove(ClassName$5.STATIC);\\n        }).emulateTransitionEnd(modalTransitionDuration);\\n\\n        this._element.focus();\\n      } else {\\n        this.hide();\\n      }\\n    };\\n\\n    _proto._showElement = function _showElement(relatedTarget) {\\n      var _this4 = this;\\n\\n      var transition = $(this._element).hasClass(ClassName$5.FADE);\\n      var modalBody = this._dialog ? this._dialog.querySelector(Selector$5.MODAL_BODY) : null;\\n\\n      if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {\\n        // Don't move modal's DOM position\\n        document.body.appendChild(this._element);\\n      }\\n\\n      this._element.style.display = 'block';\\n\\n      this._element.removeAttribute('aria-hidden');\\n\\n      this._element.setAttribute('aria-modal', true);\\n\\n      if ($(this._dialog).hasClass(ClassName$5.SCROLLABLE) && modalBody) {\\n        modalBody.scrollTop = 0;\\n      } else {\\n        this._element.scrollTop = 0;\\n      }\\n\\n      if (transition) {\\n        Util.reflow(this._element);\\n      }\\n\\n      $(this._element).addClass(ClassName$5.SHOW);\\n\\n      if (this._config.focus) {\\n        this._enforceFocus();\\n      }\\n\\n      var shownEvent = $.Event(Event$5.SHOWN, {\\n        relatedTarget: relatedTarget\\n      });\\n\\n      var transitionComplete = function transitionComplete() {\\n        if (_this4._config.focus) {\\n          _this4._element.focus();\\n        }\\n\\n        _this4._isTransitioning = false;\\n        $(_this4._element).trigger(shownEvent);\\n      };\\n\\n      if (transition) {\\n        var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);\\n        $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        transitionComplete();\\n      }\\n    };\\n\\n    _proto._enforceFocus = function _enforceFocus() {\\n      var _this5 = this;\\n\\n      $(document).off(Event$5.FOCUSIN) // Guard against infinite focus loop\\n      .on(Event$5.FOCUSIN, function (event) {\\n        if (document !== event.target && _this5._element !== event.target && $(_this5._element).has(event.target).length === 0) {\\n          _this5._element.focus();\\n        }\\n      });\\n    };\\n\\n    _proto._setEscapeEvent = function _setEscapeEvent() {\\n      var _this6 = this;\\n\\n      if (this._isShown && this._config.keyboard) {\\n        $(this._element).on(Event$5.KEYDOWN_DISMISS, function (event) {\\n          if (event.which === ESCAPE_KEYCODE$1) {\\n            _this6._triggerBackdropTransition();\\n          }\\n        });\\n      } else if (!this._isShown) {\\n        $(this._element).off(Event$5.KEYDOWN_DISMISS);\\n      }\\n    };\\n\\n    _proto._setResizeEvent = function _setResizeEvent() {\\n      var _this7 = this;\\n\\n      if (this._isShown) {\\n        $(window).on(Event$5.RESIZE, function (event) {\\n          return _this7.handleUpdate(event);\\n        });\\n      } else {\\n        $(window).off(Event$5.RESIZE);\\n      }\\n    };\\n\\n    _proto._hideModal = function _hideModal() {\\n      var _this8 = this;\\n\\n      this._element.style.display = 'none';\\n\\n      this._element.setAttribute('aria-hidden', true);\\n\\n      this._element.removeAttribute('aria-modal');\\n\\n      this._isTransitioning = false;\\n\\n      this._showBackdrop(function () {\\n        $(document.body).removeClass(ClassName$5.OPEN);\\n\\n        _this8._resetAdjustments();\\n\\n        _this8._resetScrollbar();\\n\\n        $(_this8._element).trigger(Event$5.HIDDEN);\\n      });\\n    };\\n\\n    _proto._removeBackdrop = function _removeBackdrop() {\\n      if (this._backdrop) {\\n        $(this._backdrop).remove();\\n        this._backdrop = null;\\n      }\\n    };\\n\\n    _proto._showBackdrop = function _showBackdrop(callback) {\\n      var _this9 = this;\\n\\n      var animate = $(this._element).hasClass(ClassName$5.FADE) ? ClassName$5.FADE : '';\\n\\n      if (this._isShown && this._config.backdrop) {\\n        this._backdrop = document.createElement('div');\\n        this._backdrop.className = ClassName$5.BACKDROP;\\n\\n        if (animate) {\\n          this._backdrop.classList.add(animate);\\n        }\\n\\n        $(this._backdrop).appendTo(document.body);\\n        $(this._element).on(Event$5.CLICK_DISMISS, function (event) {\\n          if (_this9._ignoreBackdropClick) {\\n            _this9._ignoreBackdropClick = false;\\n            return;\\n          }\\n\\n          if (event.target !== event.currentTarget) {\\n            return;\\n          }\\n\\n          _this9._triggerBackdropTransition();\\n        });\\n\\n        if (animate) {\\n          Util.reflow(this._backdrop);\\n        }\\n\\n        $(this._backdrop).addClass(ClassName$5.SHOW);\\n\\n        if (!callback) {\\n          return;\\n        }\\n\\n        if (!animate) {\\n          callback();\\n          return;\\n        }\\n\\n        var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\\n        $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);\\n      } else if (!this._isShown && this._backdrop) {\\n        $(this._backdrop).removeClass(ClassName$5.SHOW);\\n\\n        var callbackRemove = function callbackRemove() {\\n          _this9._removeBackdrop();\\n\\n          if (callback) {\\n            callback();\\n          }\\n        };\\n\\n        if ($(this._element).hasClass(ClassName$5.FADE)) {\\n          var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);\\n\\n          $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);\\n        } else {\\n          callbackRemove();\\n        }\\n      } else if (callback) {\\n        callback();\\n      }\\n    } // ----------------------------------------------------------------------\\n    // the following methods are used to handle overflowing modals\\n    // todo (fat): these should probably be refactored out of modal.js\\n    // ----------------------------------------------------------------------\\n    ;\\n\\n    _proto._adjustDialog = function _adjustDialog() {\\n      var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;\\n\\n      if (!this._isBodyOverflowing && isModalOverflowing) {\\n        this._element.style.paddingLeft = this._scrollbarWidth + \\\"px\\\";\\n      }\\n\\n      if (this._isBodyOverflowing && !isModalOverflowing) {\\n        this._element.style.paddingRight = this._scrollbarWidth + \\\"px\\\";\\n      }\\n    };\\n\\n    _proto._resetAdjustments = function _resetAdjustments() {\\n      this._element.style.paddingLeft = '';\\n      this._element.style.paddingRight = '';\\n    };\\n\\n    _proto._checkScrollbar = function _checkScrollbar() {\\n      var rect = document.body.getBoundingClientRect();\\n      this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;\\n      this._scrollbarWidth = this._getScrollbarWidth();\\n    };\\n\\n    _proto._setScrollbar = function _setScrollbar() {\\n      var _this10 = this;\\n\\n      if (this._isBodyOverflowing) {\\n        // Note: DOMNode.style.paddingRight returns the actual value or '' if not set\\n        //   while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set\\n        var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));\\n        var stickyContent = [].slice.call(document.querySelectorAll(Selector$5.STICKY_CONTENT)); // Adjust fixed content padding\\n\\n        $(fixedContent).each(function (index, element) {\\n          var actualPadding = element.style.paddingRight;\\n          var calculatedPadding = $(element).css('padding-right');\\n          $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this10._scrollbarWidth + \\\"px\\\");\\n        }); // Adjust sticky content margin\\n\\n        $(stickyContent).each(function (index, element) {\\n          var actualMargin = element.style.marginRight;\\n          var calculatedMargin = $(element).css('margin-right');\\n          $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this10._scrollbarWidth + \\\"px\\\");\\n        }); // Adjust body padding\\n\\n        var actualPadding = document.body.style.paddingRight;\\n        var calculatedPadding = $(document.body).css('padding-right');\\n        $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + \\\"px\\\");\\n      }\\n\\n      $(document.body).addClass(ClassName$5.OPEN);\\n    };\\n\\n    _proto._resetScrollbar = function _resetScrollbar() {\\n      // Restore fixed content padding\\n      var fixedContent = [].slice.call(document.querySelectorAll(Selector$5.FIXED_CONTENT));\\n      $(fixedContent).each(function (index, element) {\\n        var padding = $(element).data('padding-right');\\n        $(element).removeData('padding-right');\\n        element.style.paddingRight = padding ? padding : '';\\n      }); // Restore sticky content\\n\\n      var elements = [].slice.call(document.querySelectorAll(\\\"\\\" + Selector$5.STICKY_CONTENT));\\n      $(elements).each(function (index, element) {\\n        var margin = $(element).data('margin-right');\\n\\n        if (typeof margin !== 'undefined') {\\n          $(element).css('margin-right', margin).removeData('margin-right');\\n        }\\n      }); // Restore body padding\\n\\n      var padding = $(document.body).data('padding-right');\\n      $(document.body).removeData('padding-right');\\n      document.body.style.paddingRight = padding ? padding : '';\\n    };\\n\\n    _proto._getScrollbarWidth = function _getScrollbarWidth() {\\n      // thx d.walsh\\n      var scrollDiv = document.createElement('div');\\n      scrollDiv.className = ClassName$5.SCROLLBAR_MEASURER;\\n      document.body.appendChild(scrollDiv);\\n      var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;\\n      document.body.removeChild(scrollDiv);\\n      return scrollbarWidth;\\n    } // Static\\n    ;\\n\\n    Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$5);\\n\\n        var _config = _objectSpread2({}, Default$3, {}, $(this).data(), {}, typeof config === 'object' && config ? config : {});\\n\\n        if (!data) {\\n          data = new Modal(this, _config);\\n          $(this).data(DATA_KEY$5, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config](relatedTarget);\\n        } else if (_config.show) {\\n          data.show(relatedTarget);\\n        }\\n      });\\n    };\\n\\n    _createClass(Modal, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$5;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$3;\\n      }\\n    }]);\\n\\n    return Modal;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event$5.CLICK_DATA_API, Selector$5.DATA_TOGGLE, function (event) {\\n    var _this11 = this;\\n\\n    var target;\\n    var selector = Util.getSelectorFromElement(this);\\n\\n    if (selector) {\\n      target = document.querySelector(selector);\\n    }\\n\\n    var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2({}, $(target).data(), {}, $(this).data());\\n\\n    if (this.tagName === 'A' || this.tagName === 'AREA') {\\n      event.preventDefault();\\n    }\\n\\n    var $target = $(target).one(Event$5.SHOW, function (showEvent) {\\n      if (showEvent.isDefaultPrevented()) {\\n        // Only register focus restorer if modal will actually get shown\\n        return;\\n      }\\n\\n      $target.one(Event$5.HIDDEN, function () {\\n        if ($(_this11).is(':visible')) {\\n          _this11.focus();\\n        }\\n      });\\n    });\\n\\n    Modal._jQueryInterface.call($(target), config, this);\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$5] = Modal._jQueryInterface;\\n  $.fn[NAME$5].Constructor = Modal;\\n\\n  $.fn[NAME$5].noConflict = function () {\\n    $.fn[NAME$5] = JQUERY_NO_CONFLICT$5;\\n    return Modal._jQueryInterface;\\n  };\\n\\n  /**\\n   * --------------------------------------------------------------------------\\n   * Bootstrap (v4.4.1): tools/sanitizer.js\\n   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n   * --------------------------------------------------------------------------\\n   */\\n  var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];\\n  var ARIA_ATTRIBUTE_PATTERN = /^aria-[\\\\w-]*$/i;\\n  var DefaultWhitelist = {\\n    // Global attributes allowed on any supplied element below.\\n    '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\\n    a: ['target', 'href', 'title', 'rel'],\\n    area: [],\\n    b: [],\\n    br: [],\\n    col: [],\\n    code: [],\\n    div: [],\\n    em: [],\\n    hr: [],\\n    h1: [],\\n    h2: [],\\n    h3: [],\\n    h4: [],\\n    h5: [],\\n    h6: [],\\n    i: [],\\n    img: ['src', 'alt', 'title', 'width', 'height'],\\n    li: [],\\n    ol: [],\\n    p: [],\\n    pre: [],\\n    s: [],\\n    small: [],\\n    span: [],\\n    sub: [],\\n    sup: [],\\n    strong: [],\\n    u: [],\\n    ul: []\\n  };\\n  /**\\n   * A pattern that recognizes a commonly useful subset of URLs that are safe.\\n   *\\n   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\\n   */\\n\\n  var SAFE_URL_PATTERN = /^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi;\\n  /**\\n   * A pattern that matches safe data URLs. Only matches image, video and audio types.\\n   *\\n   * Shoutout to Angular 7 https://github.com/angular/angular/blob/7.2.4/packages/core/src/sanitization/url_sanitizer.ts\\n   */\\n\\n  var DATA_URL_PATTERN = /^data:(?:image\\\\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\\\\/(?:mpeg|mp4|ogg|webm)|audio\\\\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;\\n\\n  function allowedAttribute(attr, allowedAttributeList) {\\n    var attrName = attr.nodeName.toLowerCase();\\n\\n    if (allowedAttributeList.indexOf(attrName) !== -1) {\\n      if (uriAttrs.indexOf(attrName) !== -1) {\\n        return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN) || attr.nodeValue.match(DATA_URL_PATTERN));\\n      }\\n\\n      return true;\\n    }\\n\\n    var regExp = allowedAttributeList.filter(function (attrRegex) {\\n      return attrRegex instanceof RegExp;\\n    }); // Check if a regular expression validates the attribute.\\n\\n    for (var i = 0, l = regExp.length; i < l; i++) {\\n      if (attrName.match(regExp[i])) {\\n        return true;\\n      }\\n    }\\n\\n    return false;\\n  }\\n\\n  function sanitizeHtml(unsafeHtml, whiteList, sanitizeFn) {\\n    if (unsafeHtml.length === 0) {\\n      return unsafeHtml;\\n    }\\n\\n    if (sanitizeFn && typeof sanitizeFn === 'function') {\\n      return sanitizeFn(unsafeHtml);\\n    }\\n\\n    var domParser = new window.DOMParser();\\n    var createdDocument = domParser.parseFromString(unsafeHtml, 'text/html');\\n    var whitelistKeys = Object.keys(whiteList);\\n    var elements = [].slice.call(createdDocument.body.querySelectorAll('*'));\\n\\n    var _loop = function _loop(i, len) {\\n      var el = elements[i];\\n      var elName = el.nodeName.toLowerCase();\\n\\n      if (whitelistKeys.indexOf(el.nodeName.toLowerCase()) === -1) {\\n        el.parentNode.removeChild(el);\\n        return \\\"continue\\\";\\n      }\\n\\n      var attributeList = [].slice.call(el.attributes);\\n      var whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || []);\\n      attributeList.forEach(function (attr) {\\n        if (!allowedAttribute(attr, whitelistedAttributes)) {\\n          el.removeAttribute(attr.nodeName);\\n        }\\n      });\\n    };\\n\\n    for (var i = 0, len = elements.length; i < len; i++) {\\n      var _ret = _loop(i);\\n\\n      if (_ret === \\\"continue\\\") continue;\\n    }\\n\\n    return createdDocument.body.innerHTML;\\n  }\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$6 = 'tooltip';\\n  var VERSION$6 = '4.4.1';\\n  var DATA_KEY$6 = 'bs.tooltip';\\n  var EVENT_KEY$6 = \\\".\\\" + DATA_KEY$6;\\n  var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];\\n  var CLASS_PREFIX = 'bs-tooltip';\\n  var BSCLS_PREFIX_REGEX = new RegExp(\\\"(^|\\\\\\\\s)\\\" + CLASS_PREFIX + \\\"\\\\\\\\S+\\\", 'g');\\n  var DISALLOWED_ATTRIBUTES = ['sanitize', 'whiteList', 'sanitizeFn'];\\n  var DefaultType$4 = {\\n    animation: 'boolean',\\n    template: 'string',\\n    title: '(string|element|function)',\\n    trigger: 'string',\\n    delay: '(number|object)',\\n    html: 'boolean',\\n    selector: '(string|boolean)',\\n    placement: '(string|function)',\\n    offset: '(number|string|function)',\\n    container: '(string|element|boolean)',\\n    fallbackPlacement: '(string|array)',\\n    boundary: '(string|element)',\\n    sanitize: 'boolean',\\n    sanitizeFn: '(null|function)',\\n    whiteList: 'object',\\n    popperConfig: '(null|object)'\\n  };\\n  var AttachmentMap$1 = {\\n    AUTO: 'auto',\\n    TOP: 'top',\\n    RIGHT: 'right',\\n    BOTTOM: 'bottom',\\n    LEFT: 'left'\\n  };\\n  var Default$4 = {\\n    animation: true,\\n    template: '<div class=\\\"tooltip\\\" role=\\\"tooltip\\\">' + '<div class=\\\"arrow\\\"></div>' + '<div class=\\\"tooltip-inner\\\"></div></div>',\\n    trigger: 'hover focus',\\n    title: '',\\n    delay: 0,\\n    html: false,\\n    selector: false,\\n    placement: 'top',\\n    offset: 0,\\n    container: false,\\n    fallbackPlacement: 'flip',\\n    boundary: 'scrollParent',\\n    sanitize: true,\\n    sanitizeFn: null,\\n    whiteList: DefaultWhitelist,\\n    popperConfig: null\\n  };\\n  var HoverState = {\\n    SHOW: 'show',\\n    OUT: 'out'\\n  };\\n  var Event$6 = {\\n    HIDE: \\\"hide\\\" + EVENT_KEY$6,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$6,\\n    SHOW: \\\"show\\\" + EVENT_KEY$6,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$6,\\n    INSERTED: \\\"inserted\\\" + EVENT_KEY$6,\\n    CLICK: \\\"click\\\" + EVENT_KEY$6,\\n    FOCUSIN: \\\"focusin\\\" + EVENT_KEY$6,\\n    FOCUSOUT: \\\"focusout\\\" + EVENT_KEY$6,\\n    MOUSEENTER: \\\"mouseenter\\\" + EVENT_KEY$6,\\n    MOUSELEAVE: \\\"mouseleave\\\" + EVENT_KEY$6\\n  };\\n  var ClassName$6 = {\\n    FADE: 'fade',\\n    SHOW: 'show'\\n  };\\n  var Selector$6 = {\\n    TOOLTIP: '.tooltip',\\n    TOOLTIP_INNER: '.tooltip-inner',\\n    ARROW: '.arrow'\\n  };\\n  var Trigger = {\\n    HOVER: 'hover',\\n    FOCUS: 'focus',\\n    CLICK: 'click',\\n    MANUAL: 'manual'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Tooltip =\\n  /*#__PURE__*/\\n  function () {\\n    function Tooltip(element, config) {\\n      if (typeof Popper === 'undefined') {\\n        throw new TypeError('Bootstrap\\\\'s tooltips require Popper.js (https://popper.js.org/)');\\n      } // private\\n\\n\\n      this._isEnabled = true;\\n      this._timeout = 0;\\n      this._hoverState = '';\\n      this._activeTrigger = {};\\n      this._popper = null; // Protected\\n\\n      this.element = element;\\n      this.config = this._getConfig(config);\\n      this.tip = null;\\n\\n      this._setListeners();\\n    } // Getters\\n\\n\\n    var _proto = Tooltip.prototype;\\n\\n    // Public\\n    _proto.enable = function enable() {\\n      this._isEnabled = true;\\n    };\\n\\n    _proto.disable = function disable() {\\n      this._isEnabled = false;\\n    };\\n\\n    _proto.toggleEnabled = function toggleEnabled() {\\n      this._isEnabled = !this._isEnabled;\\n    };\\n\\n    _proto.toggle = function toggle(event) {\\n      if (!this._isEnabled) {\\n        return;\\n      }\\n\\n      if (event) {\\n        var dataKey = this.constructor.DATA_KEY;\\n        var context = $(event.currentTarget).data(dataKey);\\n\\n        if (!context) {\\n          context = new this.constructor(event.currentTarget, this._getDelegateConfig());\\n          $(event.currentTarget).data(dataKey, context);\\n        }\\n\\n        context._activeTrigger.click = !context._activeTrigger.click;\\n\\n        if (context._isWithActiveTrigger()) {\\n          context._enter(null, context);\\n        } else {\\n          context._leave(null, context);\\n        }\\n      } else {\\n        if ($(this.getTipElement()).hasClass(ClassName$6.SHOW)) {\\n          this._leave(null, this);\\n\\n          return;\\n        }\\n\\n        this._enter(null, this);\\n      }\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      clearTimeout(this._timeout);\\n      $.removeData(this.element, this.constructor.DATA_KEY);\\n      $(this.element).off(this.constructor.EVENT_KEY);\\n      $(this.element).closest('.modal').off('hide.bs.modal', this._hideModalHandler);\\n\\n      if (this.tip) {\\n        $(this.tip).remove();\\n      }\\n\\n      this._isEnabled = null;\\n      this._timeout = null;\\n      this._hoverState = null;\\n      this._activeTrigger = null;\\n\\n      if (this._popper) {\\n        this._popper.destroy();\\n      }\\n\\n      this._popper = null;\\n      this.element = null;\\n      this.config = null;\\n      this.tip = null;\\n    };\\n\\n    _proto.show = function show() {\\n      var _this = this;\\n\\n      if ($(this.element).css('display') === 'none') {\\n        throw new Error('Please use show on visible elements');\\n      }\\n\\n      var showEvent = $.Event(this.constructor.Event.SHOW);\\n\\n      if (this.isWithContent() && this._isEnabled) {\\n        $(this.element).trigger(showEvent);\\n        var shadowRoot = Util.findShadowRoot(this.element);\\n        var isInTheDom = $.contains(shadowRoot !== null ? shadowRoot : this.element.ownerDocument.documentElement, this.element);\\n\\n        if (showEvent.isDefaultPrevented() || !isInTheDom) {\\n          return;\\n        }\\n\\n        var tip = this.getTipElement();\\n        var tipId = Util.getUID(this.constructor.NAME);\\n        tip.setAttribute('id', tipId);\\n        this.element.setAttribute('aria-describedby', tipId);\\n        this.setContent();\\n\\n        if (this.config.animation) {\\n          $(tip).addClass(ClassName$6.FADE);\\n        }\\n\\n        var placement = typeof this.config.placement === 'function' ? this.config.placement.call(this, tip, this.element) : this.config.placement;\\n\\n        var attachment = this._getAttachment(placement);\\n\\n        this.addAttachmentClass(attachment);\\n\\n        var container = this._getContainer();\\n\\n        $(tip).data(this.constructor.DATA_KEY, this);\\n\\n        if (!$.contains(this.element.ownerDocument.documentElement, this.tip)) {\\n          $(tip).appendTo(container);\\n        }\\n\\n        $(this.element).trigger(this.constructor.Event.INSERTED);\\n        this._popper = new Popper(this.element, tip, this._getPopperConfig(attachment));\\n        $(tip).addClass(ClassName$6.SHOW); // If this is a touch-enabled device we add extra\\n        // empty mouseover listeners to the body's immediate children;\\n        // only needed because of broken event delegation on iOS\\n        // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\\n\\n        if ('ontouchstart' in document.documentElement) {\\n          $(document.body).children().on('mouseover', null, $.noop);\\n        }\\n\\n        var complete = function complete() {\\n          if (_this.config.animation) {\\n            _this._fixTransition();\\n          }\\n\\n          var prevHoverState = _this._hoverState;\\n          _this._hoverState = null;\\n          $(_this.element).trigger(_this.constructor.Event.SHOWN);\\n\\n          if (prevHoverState === HoverState.OUT) {\\n            _this._leave(null, _this);\\n          }\\n        };\\n\\n        if ($(this.tip).hasClass(ClassName$6.FADE)) {\\n          var transitionDuration = Util.getTransitionDurationFromElement(this.tip);\\n          $(this.tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n        } else {\\n          complete();\\n        }\\n      }\\n    };\\n\\n    _proto.hide = function hide(callback) {\\n      var _this2 = this;\\n\\n      var tip = this.getTipElement();\\n      var hideEvent = $.Event(this.constructor.Event.HIDE);\\n\\n      var complete = function complete() {\\n        if (_this2._hoverState !== HoverState.SHOW && tip.parentNode) {\\n          tip.parentNode.removeChild(tip);\\n        }\\n\\n        _this2._cleanTipClass();\\n\\n        _this2.element.removeAttribute('aria-describedby');\\n\\n        $(_this2.element).trigger(_this2.constructor.Event.HIDDEN);\\n\\n        if (_this2._popper !== null) {\\n          _this2._popper.destroy();\\n        }\\n\\n        if (callback) {\\n          callback();\\n        }\\n      };\\n\\n      $(this.element).trigger(hideEvent);\\n\\n      if (hideEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      $(tip).removeClass(ClassName$6.SHOW); // If this is a touch-enabled device we remove the extra\\n      // empty mouseover listeners we added for iOS support\\n\\n      if ('ontouchstart' in document.documentElement) {\\n        $(document.body).children().off('mouseover', null, $.noop);\\n      }\\n\\n      this._activeTrigger[Trigger.CLICK] = false;\\n      this._activeTrigger[Trigger.FOCUS] = false;\\n      this._activeTrigger[Trigger.HOVER] = false;\\n\\n      if ($(this.tip).hasClass(ClassName$6.FADE)) {\\n        var transitionDuration = Util.getTransitionDurationFromElement(tip);\\n        $(tip).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        complete();\\n      }\\n\\n      this._hoverState = '';\\n    };\\n\\n    _proto.update = function update() {\\n      if (this._popper !== null) {\\n        this._popper.scheduleUpdate();\\n      }\\n    } // Protected\\n    ;\\n\\n    _proto.isWithContent = function isWithContent() {\\n      return Boolean(this.getTitle());\\n    };\\n\\n    _proto.addAttachmentClass = function addAttachmentClass(attachment) {\\n      $(this.getTipElement()).addClass(CLASS_PREFIX + \\\"-\\\" + attachment);\\n    };\\n\\n    _proto.getTipElement = function getTipElement() {\\n      this.tip = this.tip || $(this.config.template)[0];\\n      return this.tip;\\n    };\\n\\n    _proto.setContent = function setContent() {\\n      var tip = this.getTipElement();\\n      this.setElementContent($(tip.querySelectorAll(Selector$6.TOOLTIP_INNER)), this.getTitle());\\n      $(tip).removeClass(ClassName$6.FADE + \\\" \\\" + ClassName$6.SHOW);\\n    };\\n\\n    _proto.setElementContent = function setElementContent($element, content) {\\n      if (typeof content === 'object' && (content.nodeType || content.jquery)) {\\n        // Content is a DOM node or a jQuery\\n        if (this.config.html) {\\n          if (!$(content).parent().is($element)) {\\n            $element.empty().append(content);\\n          }\\n        } else {\\n          $element.text($(content).text());\\n        }\\n\\n        return;\\n      }\\n\\n      if (this.config.html) {\\n        if (this.config.sanitize) {\\n          content = sanitizeHtml(content, this.config.whiteList, this.config.sanitizeFn);\\n        }\\n\\n        $element.html(content);\\n      } else {\\n        $element.text(content);\\n      }\\n    };\\n\\n    _proto.getTitle = function getTitle() {\\n      var title = this.element.getAttribute('data-original-title');\\n\\n      if (!title) {\\n        title = typeof this.config.title === 'function' ? this.config.title.call(this.element) : this.config.title;\\n      }\\n\\n      return title;\\n    } // Private\\n    ;\\n\\n    _proto._getPopperConfig = function _getPopperConfig(attachment) {\\n      var _this3 = this;\\n\\n      var defaultBsConfig = {\\n        placement: attachment,\\n        modifiers: {\\n          offset: this._getOffset(),\\n          flip: {\\n            behavior: this.config.fallbackPlacement\\n          },\\n          arrow: {\\n            element: Selector$6.ARROW\\n          },\\n          preventOverflow: {\\n            boundariesElement: this.config.boundary\\n          }\\n        },\\n        onCreate: function onCreate(data) {\\n          if (data.originalPlacement !== data.placement) {\\n            _this3._handlePopperPlacementChange(data);\\n          }\\n        },\\n        onUpdate: function onUpdate(data) {\\n          return _this3._handlePopperPlacementChange(data);\\n        }\\n      };\\n      return _objectSpread2({}, defaultBsConfig, {}, this.config.popperConfig);\\n    };\\n\\n    _proto._getOffset = function _getOffset() {\\n      var _this4 = this;\\n\\n      var offset = {};\\n\\n      if (typeof this.config.offset === 'function') {\\n        offset.fn = function (data) {\\n          data.offsets = _objectSpread2({}, data.offsets, {}, _this4.config.offset(data.offsets, _this4.element) || {});\\n          return data;\\n        };\\n      } else {\\n        offset.offset = this.config.offset;\\n      }\\n\\n      return offset;\\n    };\\n\\n    _proto._getContainer = function _getContainer() {\\n      if (this.config.container === false) {\\n        return document.body;\\n      }\\n\\n      if (Util.isElement(this.config.container)) {\\n        return $(this.config.container);\\n      }\\n\\n      return $(document).find(this.config.container);\\n    };\\n\\n    _proto._getAttachment = function _getAttachment(placement) {\\n      return AttachmentMap$1[placement.toUpperCase()];\\n    };\\n\\n    _proto._setListeners = function _setListeners() {\\n      var _this5 = this;\\n\\n      var triggers = this.config.trigger.split(' ');\\n      triggers.forEach(function (trigger) {\\n        if (trigger === 'click') {\\n          $(_this5.element).on(_this5.constructor.Event.CLICK, _this5.config.selector, function (event) {\\n            return _this5.toggle(event);\\n          });\\n        } else if (trigger !== Trigger.MANUAL) {\\n          var eventIn = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSEENTER : _this5.constructor.Event.FOCUSIN;\\n          var eventOut = trigger === Trigger.HOVER ? _this5.constructor.Event.MOUSELEAVE : _this5.constructor.Event.FOCUSOUT;\\n          $(_this5.element).on(eventIn, _this5.config.selector, function (event) {\\n            return _this5._enter(event);\\n          }).on(eventOut, _this5.config.selector, function (event) {\\n            return _this5._leave(event);\\n          });\\n        }\\n      });\\n\\n      this._hideModalHandler = function () {\\n        if (_this5.element) {\\n          _this5.hide();\\n        }\\n      };\\n\\n      $(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);\\n\\n      if (this.config.selector) {\\n        this.config = _objectSpread2({}, this.config, {\\n          trigger: 'manual',\\n          selector: ''\\n        });\\n      } else {\\n        this._fixTitle();\\n      }\\n    };\\n\\n    _proto._fixTitle = function _fixTitle() {\\n      var titleType = typeof this.element.getAttribute('data-original-title');\\n\\n      if (this.element.getAttribute('title') || titleType !== 'string') {\\n        this.element.setAttribute('data-original-title', this.element.getAttribute('title') || '');\\n        this.element.setAttribute('title', '');\\n      }\\n    };\\n\\n    _proto._enter = function _enter(event, context) {\\n      var dataKey = this.constructor.DATA_KEY;\\n      context = context || $(event.currentTarget).data(dataKey);\\n\\n      if (!context) {\\n        context = new this.constructor(event.currentTarget, this._getDelegateConfig());\\n        $(event.currentTarget).data(dataKey, context);\\n      }\\n\\n      if (event) {\\n        context._activeTrigger[event.type === 'focusin' ? Trigger.FOCUS : Trigger.HOVER] = true;\\n      }\\n\\n      if ($(context.getTipElement()).hasClass(ClassName$6.SHOW) || context._hoverState === HoverState.SHOW) {\\n        context._hoverState = HoverState.SHOW;\\n        return;\\n      }\\n\\n      clearTimeout(context._timeout);\\n      context._hoverState = HoverState.SHOW;\\n\\n      if (!context.config.delay || !context.config.delay.show) {\\n        context.show();\\n        return;\\n      }\\n\\n      context._timeout = setTimeout(function () {\\n        if (context._hoverState === HoverState.SHOW) {\\n          context.show();\\n        }\\n      }, context.config.delay.show);\\n    };\\n\\n    _proto._leave = function _leave(event, context) {\\n      var dataKey = this.constructor.DATA_KEY;\\n      context = context || $(event.currentTarget).data(dataKey);\\n\\n      if (!context) {\\n        context = new this.constructor(event.currentTarget, this._getDelegateConfig());\\n        $(event.currentTarget).data(dataKey, context);\\n      }\\n\\n      if (event) {\\n        context._activeTrigger[event.type === 'focusout' ? Trigger.FOCUS : Trigger.HOVER] = false;\\n      }\\n\\n      if (context._isWithActiveTrigger()) {\\n        return;\\n      }\\n\\n      clearTimeout(context._timeout);\\n      context._hoverState = HoverState.OUT;\\n\\n      if (!context.config.delay || !context.config.delay.hide) {\\n        context.hide();\\n        return;\\n      }\\n\\n      context._timeout = setTimeout(function () {\\n        if (context._hoverState === HoverState.OUT) {\\n          context.hide();\\n        }\\n      }, context.config.delay.hide);\\n    };\\n\\n    _proto._isWithActiveTrigger = function _isWithActiveTrigger() {\\n      for (var trigger in this._activeTrigger) {\\n        if (this._activeTrigger[trigger]) {\\n          return true;\\n        }\\n      }\\n\\n      return false;\\n    };\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      var dataAttributes = $(this.element).data();\\n      Object.keys(dataAttributes).forEach(function (dataAttr) {\\n        if (DISALLOWED_ATTRIBUTES.indexOf(dataAttr) !== -1) {\\n          delete dataAttributes[dataAttr];\\n        }\\n      });\\n      config = _objectSpread2({}, this.constructor.Default, {}, dataAttributes, {}, typeof config === 'object' && config ? config : {});\\n\\n      if (typeof config.delay === 'number') {\\n        config.delay = {\\n          show: config.delay,\\n          hide: config.delay\\n        };\\n      }\\n\\n      if (typeof config.title === 'number') {\\n        config.title = config.title.toString();\\n      }\\n\\n      if (typeof config.content === 'number') {\\n        config.content = config.content.toString();\\n      }\\n\\n      Util.typeCheckConfig(NAME$6, config, this.constructor.DefaultType);\\n\\n      if (config.sanitize) {\\n        config.template = sanitizeHtml(config.template, config.whiteList, config.sanitizeFn);\\n      }\\n\\n      return config;\\n    };\\n\\n    _proto._getDelegateConfig = function _getDelegateConfig() {\\n      var config = {};\\n\\n      if (this.config) {\\n        for (var key in this.config) {\\n          if (this.constructor.Default[key] !== this.config[key]) {\\n            config[key] = this.config[key];\\n          }\\n        }\\n      }\\n\\n      return config;\\n    };\\n\\n    _proto._cleanTipClass = function _cleanTipClass() {\\n      var $tip = $(this.getTipElement());\\n      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX);\\n\\n      if (tabClass !== null && tabClass.length) {\\n        $tip.removeClass(tabClass.join(''));\\n      }\\n    };\\n\\n    _proto._handlePopperPlacementChange = function _handlePopperPlacementChange(popperData) {\\n      var popperInstance = popperData.instance;\\n      this.tip = popperInstance.popper;\\n\\n      this._cleanTipClass();\\n\\n      this.addAttachmentClass(this._getAttachment(popperData.placement));\\n    };\\n\\n    _proto._fixTransition = function _fixTransition() {\\n      var tip = this.getTipElement();\\n      var initConfigAnimation = this.config.animation;\\n\\n      if (tip.getAttribute('x-placement') !== null) {\\n        return;\\n      }\\n\\n      $(tip).removeClass(ClassName$6.FADE);\\n      this.config.animation = false;\\n      this.hide();\\n      this.show();\\n      this.config.animation = initConfigAnimation;\\n    } // Static\\n    ;\\n\\n    Tooltip._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$6);\\n\\n        var _config = typeof config === 'object' && config;\\n\\n        if (!data && /dispose|hide/.test(config)) {\\n          return;\\n        }\\n\\n        if (!data) {\\n          data = new Tooltip(this, _config);\\n          $(this).data(DATA_KEY$6, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    _createClass(Tooltip, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$6;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$4;\\n      }\\n    }, {\\n      key: \\\"NAME\\\",\\n      get: function get() {\\n        return NAME$6;\\n      }\\n    }, {\\n      key: \\\"DATA_KEY\\\",\\n      get: function get() {\\n        return DATA_KEY$6;\\n      }\\n    }, {\\n      key: \\\"Event\\\",\\n      get: function get() {\\n        return Event$6;\\n      }\\n    }, {\\n      key: \\\"EVENT_KEY\\\",\\n      get: function get() {\\n        return EVENT_KEY$6;\\n      }\\n    }, {\\n      key: \\\"DefaultType\\\",\\n      get: function get() {\\n        return DefaultType$4;\\n      }\\n    }]);\\n\\n    return Tooltip;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $.fn[NAME$6] = Tooltip._jQueryInterface;\\n  $.fn[NAME$6].Constructor = Tooltip;\\n\\n  $.fn[NAME$6].noConflict = function () {\\n    $.fn[NAME$6] = JQUERY_NO_CONFLICT$6;\\n    return Tooltip._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$7 = 'popover';\\n  var VERSION$7 = '4.4.1';\\n  var DATA_KEY$7 = 'bs.popover';\\n  var EVENT_KEY$7 = \\\".\\\" + DATA_KEY$7;\\n  var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];\\n  var CLASS_PREFIX$1 = 'bs-popover';\\n  var BSCLS_PREFIX_REGEX$1 = new RegExp(\\\"(^|\\\\\\\\s)\\\" + CLASS_PREFIX$1 + \\\"\\\\\\\\S+\\\", 'g');\\n\\n  var Default$5 = _objectSpread2({}, Tooltip.Default, {\\n    placement: 'right',\\n    trigger: 'click',\\n    content: '',\\n    template: '<div class=\\\"popover\\\" role=\\\"tooltip\\\">' + '<div class=\\\"arrow\\\"></div>' + '<h3 class=\\\"popover-header\\\"></h3>' + '<div class=\\\"popover-body\\\"></div></div>'\\n  });\\n\\n  var DefaultType$5 = _objectSpread2({}, Tooltip.DefaultType, {\\n    content: '(string|element|function)'\\n  });\\n\\n  var ClassName$7 = {\\n    FADE: 'fade',\\n    SHOW: 'show'\\n  };\\n  var Selector$7 = {\\n    TITLE: '.popover-header',\\n    CONTENT: '.popover-body'\\n  };\\n  var Event$7 = {\\n    HIDE: \\\"hide\\\" + EVENT_KEY$7,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$7,\\n    SHOW: \\\"show\\\" + EVENT_KEY$7,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$7,\\n    INSERTED: \\\"inserted\\\" + EVENT_KEY$7,\\n    CLICK: \\\"click\\\" + EVENT_KEY$7,\\n    FOCUSIN: \\\"focusin\\\" + EVENT_KEY$7,\\n    FOCUSOUT: \\\"focusout\\\" + EVENT_KEY$7,\\n    MOUSEENTER: \\\"mouseenter\\\" + EVENT_KEY$7,\\n    MOUSELEAVE: \\\"mouseleave\\\" + EVENT_KEY$7\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Popover =\\n  /*#__PURE__*/\\n  function (_Tooltip) {\\n    _inheritsLoose(Popover, _Tooltip);\\n\\n    function Popover() {\\n      return _Tooltip.apply(this, arguments) || this;\\n    }\\n\\n    var _proto = Popover.prototype;\\n\\n    // Overrides\\n    _proto.isWithContent = function isWithContent() {\\n      return this.getTitle() || this._getContent();\\n    };\\n\\n    _proto.addAttachmentClass = function addAttachmentClass(attachment) {\\n      $(this.getTipElement()).addClass(CLASS_PREFIX$1 + \\\"-\\\" + attachment);\\n    };\\n\\n    _proto.getTipElement = function getTipElement() {\\n      this.tip = this.tip || $(this.config.template)[0];\\n      return this.tip;\\n    };\\n\\n    _proto.setContent = function setContent() {\\n      var $tip = $(this.getTipElement()); // We use append for html objects to maintain js events\\n\\n      this.setElementContent($tip.find(Selector$7.TITLE), this.getTitle());\\n\\n      var content = this._getContent();\\n\\n      if (typeof content === 'function') {\\n        content = content.call(this.element);\\n      }\\n\\n      this.setElementContent($tip.find(Selector$7.CONTENT), content);\\n      $tip.removeClass(ClassName$7.FADE + \\\" \\\" + ClassName$7.SHOW);\\n    } // Private\\n    ;\\n\\n    _proto._getContent = function _getContent() {\\n      return this.element.getAttribute('data-content') || this.config.content;\\n    };\\n\\n    _proto._cleanTipClass = function _cleanTipClass() {\\n      var $tip = $(this.getTipElement());\\n      var tabClass = $tip.attr('class').match(BSCLS_PREFIX_REGEX$1);\\n\\n      if (tabClass !== null && tabClass.length > 0) {\\n        $tip.removeClass(tabClass.join(''));\\n      }\\n    } // Static\\n    ;\\n\\n    Popover._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$7);\\n\\n        var _config = typeof config === 'object' ? config : null;\\n\\n        if (!data && /dispose|hide/.test(config)) {\\n          return;\\n        }\\n\\n        if (!data) {\\n          data = new Popover(this, _config);\\n          $(this).data(DATA_KEY$7, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    _createClass(Popover, null, [{\\n      key: \\\"VERSION\\\",\\n      // Getters\\n      get: function get() {\\n        return VERSION$7;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$5;\\n      }\\n    }, {\\n      key: \\\"NAME\\\",\\n      get: function get() {\\n        return NAME$7;\\n      }\\n    }, {\\n      key: \\\"DATA_KEY\\\",\\n      get: function get() {\\n        return DATA_KEY$7;\\n      }\\n    }, {\\n      key: \\\"Event\\\",\\n      get: function get() {\\n        return Event$7;\\n      }\\n    }, {\\n      key: \\\"EVENT_KEY\\\",\\n      get: function get() {\\n        return EVENT_KEY$7;\\n      }\\n    }, {\\n      key: \\\"DefaultType\\\",\\n      get: function get() {\\n        return DefaultType$5;\\n      }\\n    }]);\\n\\n    return Popover;\\n  }(Tooltip);\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $.fn[NAME$7] = Popover._jQueryInterface;\\n  $.fn[NAME$7].Constructor = Popover;\\n\\n  $.fn[NAME$7].noConflict = function () {\\n    $.fn[NAME$7] = JQUERY_NO_CONFLICT$7;\\n    return Popover._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$8 = 'scrollspy';\\n  var VERSION$8 = '4.4.1';\\n  var DATA_KEY$8 = 'bs.scrollspy';\\n  var EVENT_KEY$8 = \\\".\\\" + DATA_KEY$8;\\n  var DATA_API_KEY$6 = '.data-api';\\n  var JQUERY_NO_CONFLICT$8 = $.fn[NAME$8];\\n  var Default$6 = {\\n    offset: 10,\\n    method: 'auto',\\n    target: ''\\n  };\\n  var DefaultType$6 = {\\n    offset: 'number',\\n    method: 'string',\\n    target: '(string|element)'\\n  };\\n  var Event$8 = {\\n    ACTIVATE: \\\"activate\\\" + EVENT_KEY$8,\\n    SCROLL: \\\"scroll\\\" + EVENT_KEY$8,\\n    LOAD_DATA_API: \\\"load\\\" + EVENT_KEY$8 + DATA_API_KEY$6\\n  };\\n  var ClassName$8 = {\\n    DROPDOWN_ITEM: 'dropdown-item',\\n    DROPDOWN_MENU: 'dropdown-menu',\\n    ACTIVE: 'active'\\n  };\\n  var Selector$8 = {\\n    DATA_SPY: '[data-spy=\\\"scroll\\\"]',\\n    ACTIVE: '.active',\\n    NAV_LIST_GROUP: '.nav, .list-group',\\n    NAV_LINKS: '.nav-link',\\n    NAV_ITEMS: '.nav-item',\\n    LIST_ITEMS: '.list-group-item',\\n    DROPDOWN: '.dropdown',\\n    DROPDOWN_ITEMS: '.dropdown-item',\\n    DROPDOWN_TOGGLE: '.dropdown-toggle'\\n  };\\n  var OffsetMethod = {\\n    OFFSET: 'offset',\\n    POSITION: 'position'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var ScrollSpy =\\n  /*#__PURE__*/\\n  function () {\\n    function ScrollSpy(element, config) {\\n      var _this = this;\\n\\n      this._element = element;\\n      this._scrollElement = element.tagName === 'BODY' ? window : element;\\n      this._config = this._getConfig(config);\\n      this._selector = this._config.target + \\\" \\\" + Selector$8.NAV_LINKS + \\\",\\\" + (this._config.target + \\\" \\\" + Selector$8.LIST_ITEMS + \\\",\\\") + (this._config.target + \\\" \\\" + Selector$8.DROPDOWN_ITEMS);\\n      this._offsets = [];\\n      this._targets = [];\\n      this._activeTarget = null;\\n      this._scrollHeight = 0;\\n      $(this._scrollElement).on(Event$8.SCROLL, function (event) {\\n        return _this._process(event);\\n      });\\n      this.refresh();\\n\\n      this._process();\\n    } // Getters\\n\\n\\n    var _proto = ScrollSpy.prototype;\\n\\n    // Public\\n    _proto.refresh = function refresh() {\\n      var _this2 = this;\\n\\n      var autoMethod = this._scrollElement === this._scrollElement.window ? OffsetMethod.OFFSET : OffsetMethod.POSITION;\\n      var offsetMethod = this._config.method === 'auto' ? autoMethod : this._config.method;\\n      var offsetBase = offsetMethod === OffsetMethod.POSITION ? this._getScrollTop() : 0;\\n      this._offsets = [];\\n      this._targets = [];\\n      this._scrollHeight = this._getScrollHeight();\\n      var targets = [].slice.call(document.querySelectorAll(this._selector));\\n      targets.map(function (element) {\\n        var target;\\n        var targetSelector = Util.getSelectorFromElement(element);\\n\\n        if (targetSelector) {\\n          target = document.querySelector(targetSelector);\\n        }\\n\\n        if (target) {\\n          var targetBCR = target.getBoundingClientRect();\\n\\n          if (targetBCR.width || targetBCR.height) {\\n            // TODO (fat): remove sketch reliance on jQuery position/offset\\n            return [$(target)[offsetMethod]().top + offsetBase, targetSelector];\\n          }\\n        }\\n\\n        return null;\\n      }).filter(function (item) {\\n        return item;\\n      }).sort(function (a, b) {\\n        return a[0] - b[0];\\n      }).forEach(function (item) {\\n        _this2._offsets.push(item[0]);\\n\\n        _this2._targets.push(item[1]);\\n      });\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $.removeData(this._element, DATA_KEY$8);\\n      $(this._scrollElement).off(EVENT_KEY$8);\\n      this._element = null;\\n      this._scrollElement = null;\\n      this._config = null;\\n      this._selector = null;\\n      this._offsets = null;\\n      this._targets = null;\\n      this._activeTarget = null;\\n      this._scrollHeight = null;\\n    } // Private\\n    ;\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      config = _objectSpread2({}, Default$6, {}, typeof config === 'object' && config ? config : {});\\n\\n      if (typeof config.target !== 'string') {\\n        var id = $(config.target).attr('id');\\n\\n        if (!id) {\\n          id = Util.getUID(NAME$8);\\n          $(config.target).attr('id', id);\\n        }\\n\\n        config.target = \\\"#\\\" + id;\\n      }\\n\\n      Util.typeCheckConfig(NAME$8, config, DefaultType$6);\\n      return config;\\n    };\\n\\n    _proto._getScrollTop = function _getScrollTop() {\\n      return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop;\\n    };\\n\\n    _proto._getScrollHeight = function _getScrollHeight() {\\n      return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight);\\n    };\\n\\n    _proto._getOffsetHeight = function _getOffsetHeight() {\\n      return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height;\\n    };\\n\\n    _proto._process = function _process() {\\n      var scrollTop = this._getScrollTop() + this._config.offset;\\n\\n      var scrollHeight = this._getScrollHeight();\\n\\n      var maxScroll = this._config.offset + scrollHeight - this._getOffsetHeight();\\n\\n      if (this._scrollHeight !== scrollHeight) {\\n        this.refresh();\\n      }\\n\\n      if (scrollTop >= maxScroll) {\\n        var target = this._targets[this._targets.length - 1];\\n\\n        if (this._activeTarget !== target) {\\n          this._activate(target);\\n        }\\n\\n        return;\\n      }\\n\\n      if (this._activeTarget && scrollTop < this._offsets[0] && this._offsets[0] > 0) {\\n        this._activeTarget = null;\\n\\n        this._clear();\\n\\n        return;\\n      }\\n\\n      var offsetLength = this._offsets.length;\\n\\n      for (var i = offsetLength; i--;) {\\n        var isActiveTarget = this._activeTarget !== this._targets[i] && scrollTop >= this._offsets[i] && (typeof this._offsets[i + 1] === 'undefined' || scrollTop < this._offsets[i + 1]);\\n\\n        if (isActiveTarget) {\\n          this._activate(this._targets[i]);\\n        }\\n      }\\n    };\\n\\n    _proto._activate = function _activate(target) {\\n      this._activeTarget = target;\\n\\n      this._clear();\\n\\n      var queries = this._selector.split(',').map(function (selector) {\\n        return selector + \\\"[data-target=\\\\\\\"\\\" + target + \\\"\\\\\\\"],\\\" + selector + \\\"[href=\\\\\\\"\\\" + target + \\\"\\\\\\\"]\\\";\\n      });\\n\\n      var $link = $([].slice.call(document.querySelectorAll(queries.join(','))));\\n\\n      if ($link.hasClass(ClassName$8.DROPDOWN_ITEM)) {\\n        $link.closest(Selector$8.DROPDOWN).find(Selector$8.DROPDOWN_TOGGLE).addClass(ClassName$8.ACTIVE);\\n        $link.addClass(ClassName$8.ACTIVE);\\n      } else {\\n        // Set triggered link as active\\n        $link.addClass(ClassName$8.ACTIVE); // Set triggered links parents as active\\n        // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\\n\\n        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_LINKS + \\\", \\\" + Selector$8.LIST_ITEMS).addClass(ClassName$8.ACTIVE); // Handle special case when .nav-link is inside .nav-item\\n\\n        $link.parents(Selector$8.NAV_LIST_GROUP).prev(Selector$8.NAV_ITEMS).children(Selector$8.NAV_LINKS).addClass(ClassName$8.ACTIVE);\\n      }\\n\\n      $(this._scrollElement).trigger(Event$8.ACTIVATE, {\\n        relatedTarget: target\\n      });\\n    };\\n\\n    _proto._clear = function _clear() {\\n      [].slice.call(document.querySelectorAll(this._selector)).filter(function (node) {\\n        return node.classList.contains(ClassName$8.ACTIVE);\\n      }).forEach(function (node) {\\n        return node.classList.remove(ClassName$8.ACTIVE);\\n      });\\n    } // Static\\n    ;\\n\\n    ScrollSpy._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var data = $(this).data(DATA_KEY$8);\\n\\n        var _config = typeof config === 'object' && config;\\n\\n        if (!data) {\\n          data = new ScrollSpy(this, _config);\\n          $(this).data(DATA_KEY$8, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    _createClass(ScrollSpy, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$8;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$6;\\n      }\\n    }]);\\n\\n    return ScrollSpy;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(window).on(Event$8.LOAD_DATA_API, function () {\\n    var scrollSpys = [].slice.call(document.querySelectorAll(Selector$8.DATA_SPY));\\n    var scrollSpysLength = scrollSpys.length;\\n\\n    for (var i = scrollSpysLength; i--;) {\\n      var $spy = $(scrollSpys[i]);\\n\\n      ScrollSpy._jQueryInterface.call($spy, $spy.data());\\n    }\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$8] = ScrollSpy._jQueryInterface;\\n  $.fn[NAME$8].Constructor = ScrollSpy;\\n\\n  $.fn[NAME$8].noConflict = function () {\\n    $.fn[NAME$8] = JQUERY_NO_CONFLICT$8;\\n    return ScrollSpy._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$9 = 'tab';\\n  var VERSION$9 = '4.4.1';\\n  var DATA_KEY$9 = 'bs.tab';\\n  var EVENT_KEY$9 = \\\".\\\" + DATA_KEY$9;\\n  var DATA_API_KEY$7 = '.data-api';\\n  var JQUERY_NO_CONFLICT$9 = $.fn[NAME$9];\\n  var Event$9 = {\\n    HIDE: \\\"hide\\\" + EVENT_KEY$9,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$9,\\n    SHOW: \\\"show\\\" + EVENT_KEY$9,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$9,\\n    CLICK_DATA_API: \\\"click\\\" + EVENT_KEY$9 + DATA_API_KEY$7\\n  };\\n  var ClassName$9 = {\\n    DROPDOWN_MENU: 'dropdown-menu',\\n    ACTIVE: 'active',\\n    DISABLED: 'disabled',\\n    FADE: 'fade',\\n    SHOW: 'show'\\n  };\\n  var Selector$9 = {\\n    DROPDOWN: '.dropdown',\\n    NAV_LIST_GROUP: '.nav, .list-group',\\n    ACTIVE: '.active',\\n    ACTIVE_UL: '> li > .active',\\n    DATA_TOGGLE: '[data-toggle=\\\"tab\\\"], [data-toggle=\\\"pill\\\"], [data-toggle=\\\"list\\\"]',\\n    DROPDOWN_TOGGLE: '.dropdown-toggle',\\n    DROPDOWN_ACTIVE_CHILD: '> .dropdown-menu .active'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Tab =\\n  /*#__PURE__*/\\n  function () {\\n    function Tab(element) {\\n      this._element = element;\\n    } // Getters\\n\\n\\n    var _proto = Tab.prototype;\\n\\n    // Public\\n    _proto.show = function show() {\\n      var _this = this;\\n\\n      if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && $(this._element).hasClass(ClassName$9.ACTIVE) || $(this._element).hasClass(ClassName$9.DISABLED)) {\\n        return;\\n      }\\n\\n      var target;\\n      var previous;\\n      var listElement = $(this._element).closest(Selector$9.NAV_LIST_GROUP)[0];\\n      var selector = Util.getSelectorFromElement(this._element);\\n\\n      if (listElement) {\\n        var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? Selector$9.ACTIVE_UL : Selector$9.ACTIVE;\\n        previous = $.makeArray($(listElement).find(itemSelector));\\n        previous = previous[previous.length - 1];\\n      }\\n\\n      var hideEvent = $.Event(Event$9.HIDE, {\\n        relatedTarget: this._element\\n      });\\n      var showEvent = $.Event(Event$9.SHOW, {\\n        relatedTarget: previous\\n      });\\n\\n      if (previous) {\\n        $(previous).trigger(hideEvent);\\n      }\\n\\n      $(this._element).trigger(showEvent);\\n\\n      if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      if (selector) {\\n        target = document.querySelector(selector);\\n      }\\n\\n      this._activate(this._element, listElement);\\n\\n      var complete = function complete() {\\n        var hiddenEvent = $.Event(Event$9.HIDDEN, {\\n          relatedTarget: _this._element\\n        });\\n        var shownEvent = $.Event(Event$9.SHOWN, {\\n          relatedTarget: previous\\n        });\\n        $(previous).trigger(hiddenEvent);\\n        $(_this._element).trigger(shownEvent);\\n      };\\n\\n      if (target) {\\n        this._activate(target, target.parentNode, complete);\\n      } else {\\n        complete();\\n      }\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      $.removeData(this._element, DATA_KEY$9);\\n      this._element = null;\\n    } // Private\\n    ;\\n\\n    _proto._activate = function _activate(element, container, callback) {\\n      var _this2 = this;\\n\\n      var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? $(container).find(Selector$9.ACTIVE_UL) : $(container).children(Selector$9.ACTIVE);\\n      var active = activeElements[0];\\n      var isTransitioning = callback && active && $(active).hasClass(ClassName$9.FADE);\\n\\n      var complete = function complete() {\\n        return _this2._transitionComplete(element, active, callback);\\n      };\\n\\n      if (active && isTransitioning) {\\n        var transitionDuration = Util.getTransitionDurationFromElement(active);\\n        $(active).removeClass(ClassName$9.SHOW).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        complete();\\n      }\\n    };\\n\\n    _proto._transitionComplete = function _transitionComplete(element, active, callback) {\\n      if (active) {\\n        $(active).removeClass(ClassName$9.ACTIVE);\\n        var dropdownChild = $(active.parentNode).find(Selector$9.DROPDOWN_ACTIVE_CHILD)[0];\\n\\n        if (dropdownChild) {\\n          $(dropdownChild).removeClass(ClassName$9.ACTIVE);\\n        }\\n\\n        if (active.getAttribute('role') === 'tab') {\\n          active.setAttribute('aria-selected', false);\\n        }\\n      }\\n\\n      $(element).addClass(ClassName$9.ACTIVE);\\n\\n      if (element.getAttribute('role') === 'tab') {\\n        element.setAttribute('aria-selected', true);\\n      }\\n\\n      Util.reflow(element);\\n\\n      if (element.classList.contains(ClassName$9.FADE)) {\\n        element.classList.add(ClassName$9.SHOW);\\n      }\\n\\n      if (element.parentNode && $(element.parentNode).hasClass(ClassName$9.DROPDOWN_MENU)) {\\n        var dropdownElement = $(element).closest(Selector$9.DROPDOWN)[0];\\n\\n        if (dropdownElement) {\\n          var dropdownToggleList = [].slice.call(dropdownElement.querySelectorAll(Selector$9.DROPDOWN_TOGGLE));\\n          $(dropdownToggleList).addClass(ClassName$9.ACTIVE);\\n        }\\n\\n        element.setAttribute('aria-expanded', true);\\n      }\\n\\n      if (callback) {\\n        callback();\\n      }\\n    } // Static\\n    ;\\n\\n    Tab._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var $this = $(this);\\n        var data = $this.data(DATA_KEY$9);\\n\\n        if (!data) {\\n          data = new Tab(this);\\n          $this.data(DATA_KEY$9, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config]();\\n        }\\n      });\\n    };\\n\\n    _createClass(Tab, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$9;\\n      }\\n    }]);\\n\\n    return Tab;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Data Api implementation\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $(document).on(Event$9.CLICK_DATA_API, Selector$9.DATA_TOGGLE, function (event) {\\n    event.preventDefault();\\n\\n    Tab._jQueryInterface.call($(this), 'show');\\n  });\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  $.fn[NAME$9] = Tab._jQueryInterface;\\n  $.fn[NAME$9].Constructor = Tab;\\n\\n  $.fn[NAME$9].noConflict = function () {\\n    $.fn[NAME$9] = JQUERY_NO_CONFLICT$9;\\n    return Tab._jQueryInterface;\\n  };\\n\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Constants\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var NAME$a = 'toast';\\n  var VERSION$a = '4.4.1';\\n  var DATA_KEY$a = 'bs.toast';\\n  var EVENT_KEY$a = \\\".\\\" + DATA_KEY$a;\\n  var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];\\n  var Event$a = {\\n    CLICK_DISMISS: \\\"click.dismiss\\\" + EVENT_KEY$a,\\n    HIDE: \\\"hide\\\" + EVENT_KEY$a,\\n    HIDDEN: \\\"hidden\\\" + EVENT_KEY$a,\\n    SHOW: \\\"show\\\" + EVENT_KEY$a,\\n    SHOWN: \\\"shown\\\" + EVENT_KEY$a\\n  };\\n  var ClassName$a = {\\n    FADE: 'fade',\\n    HIDE: 'hide',\\n    SHOW: 'show',\\n    SHOWING: 'showing'\\n  };\\n  var DefaultType$7 = {\\n    animation: 'boolean',\\n    autohide: 'boolean',\\n    delay: 'number'\\n  };\\n  var Default$7 = {\\n    animation: true,\\n    autohide: true,\\n    delay: 500\\n  };\\n  var Selector$a = {\\n    DATA_DISMISS: '[data-dismiss=\\\"toast\\\"]'\\n  };\\n  /**\\n   * ------------------------------------------------------------------------\\n   * Class Definition\\n   * ------------------------------------------------------------------------\\n   */\\n\\n  var Toast =\\n  /*#__PURE__*/\\n  function () {\\n    function Toast(element, config) {\\n      this._element = element;\\n      this._config = this._getConfig(config);\\n      this._timeout = null;\\n\\n      this._setListeners();\\n    } // Getters\\n\\n\\n    var _proto = Toast.prototype;\\n\\n    // Public\\n    _proto.show = function show() {\\n      var _this = this;\\n\\n      var showEvent = $.Event(Event$a.SHOW);\\n      $(this._element).trigger(showEvent);\\n\\n      if (showEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      if (this._config.animation) {\\n        this._element.classList.add(ClassName$a.FADE);\\n      }\\n\\n      var complete = function complete() {\\n        _this._element.classList.remove(ClassName$a.SHOWING);\\n\\n        _this._element.classList.add(ClassName$a.SHOW);\\n\\n        $(_this._element).trigger(Event$a.SHOWN);\\n\\n        if (_this._config.autohide) {\\n          _this._timeout = setTimeout(function () {\\n            _this.hide();\\n          }, _this._config.delay);\\n        }\\n      };\\n\\n      this._element.classList.remove(ClassName$a.HIDE);\\n\\n      Util.reflow(this._element);\\n\\n      this._element.classList.add(ClassName$a.SHOWING);\\n\\n      if (this._config.animation) {\\n        var transitionDuration = Util.getTransitionDurationFromElement(this._element);\\n        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        complete();\\n      }\\n    };\\n\\n    _proto.hide = function hide() {\\n      if (!this._element.classList.contains(ClassName$a.SHOW)) {\\n        return;\\n      }\\n\\n      var hideEvent = $.Event(Event$a.HIDE);\\n      $(this._element).trigger(hideEvent);\\n\\n      if (hideEvent.isDefaultPrevented()) {\\n        return;\\n      }\\n\\n      this._close();\\n    };\\n\\n    _proto.dispose = function dispose() {\\n      clearTimeout(this._timeout);\\n      this._timeout = null;\\n\\n      if (this._element.classList.contains(ClassName$a.SHOW)) {\\n        this._element.classList.remove(ClassName$a.SHOW);\\n      }\\n\\n      $(this._element).off(Event$a.CLICK_DISMISS);\\n      $.removeData(this._element, DATA_KEY$a);\\n      this._element = null;\\n      this._config = null;\\n    } // Private\\n    ;\\n\\n    _proto._getConfig = function _getConfig(config) {\\n      config = _objectSpread2({}, Default$7, {}, $(this._element).data(), {}, typeof config === 'object' && config ? config : {});\\n      Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);\\n      return config;\\n    };\\n\\n    _proto._setListeners = function _setListeners() {\\n      var _this2 = this;\\n\\n      $(this._element).on(Event$a.CLICK_DISMISS, Selector$a.DATA_DISMISS, function () {\\n        return _this2.hide();\\n      });\\n    };\\n\\n    _proto._close = function _close() {\\n      var _this3 = this;\\n\\n      var complete = function complete() {\\n        _this3._element.classList.add(ClassName$a.HIDE);\\n\\n        $(_this3._element).trigger(Event$a.HIDDEN);\\n      };\\n\\n      this._element.classList.remove(ClassName$a.SHOW);\\n\\n      if (this._config.animation) {\\n        var transitionDuration = Util.getTransitionDurationFromElement(this._element);\\n        $(this._element).one(Util.TRANSITION_END, complete).emulateTransitionEnd(transitionDuration);\\n      } else {\\n        complete();\\n      }\\n    } // Static\\n    ;\\n\\n    Toast._jQueryInterface = function _jQueryInterface(config) {\\n      return this.each(function () {\\n        var $element = $(this);\\n        var data = $element.data(DATA_KEY$a);\\n\\n        var _config = typeof config === 'object' && config;\\n\\n        if (!data) {\\n          data = new Toast(this, _config);\\n          $element.data(DATA_KEY$a, data);\\n        }\\n\\n        if (typeof config === 'string') {\\n          if (typeof data[config] === 'undefined') {\\n            throw new TypeError(\\\"No method named \\\\\\\"\\\" + config + \\\"\\\\\\\"\\\");\\n          }\\n\\n          data[config](this);\\n        }\\n      });\\n    };\\n\\n    _createClass(Toast, null, [{\\n      key: \\\"VERSION\\\",\\n      get: function get() {\\n        return VERSION$a;\\n      }\\n    }, {\\n      key: \\\"DefaultType\\\",\\n      get: function get() {\\n        return DefaultType$7;\\n      }\\n    }, {\\n      key: \\\"Default\\\",\\n      get: function get() {\\n        return Default$7;\\n      }\\n    }]);\\n\\n    return Toast;\\n  }();\\n  /**\\n   * ------------------------------------------------------------------------\\n   * jQuery\\n   * ------------------------------------------------------------------------\\n   */\\n\\n\\n  $.fn[NAME$a] = Toast._jQueryInterface;\\n  $.fn[NAME$a].Constructor = Toast;\\n\\n  $.fn[NAME$a].noConflict = function () {\\n    $.fn[NAME$a] = JQUERY_NO_CONFLICT$a;\\n    return Toast._jQueryInterface;\\n  };\\n\\n  exports.Alert = Alert;\\n  exports.Button = Button;\\n  exports.Carousel = Carousel;\\n  exports.Collapse = Collapse;\\n  exports.Dropdown = Dropdown;\\n  exports.Modal = Modal;\\n  exports.Popover = Popover;\\n  exports.Scrollspy = ScrollSpy;\\n  exports.Tab = Tab;\\n  exports.Toast = Toast;\\n  exports.Tooltip = Tooltip;\\n  exports.Util = Util;\\n\\n  Object.defineProperty(exports, '__esModule', { value: true });\\n\\n})));\\n//# sourceMappingURL=bootstrap.js.map\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL2Rpc3QvanMvYm9vdHN0cmFwLmpzPzQ5ODkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxLQUE0RCxvQkFBb0IsbUJBQU8sQ0FBQyxvREFBUSxHQUFHLG1CQUFPLENBQUMsOERBQVc7QUFDeEgsRUFBRSxTQUN1RjtBQUN6RixDQUFDLHVDQUF1Qzs7QUFFeEM7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixrQkFBa0I7QUFDckM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLHNCQUFzQjtBQUN6Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUNBQXFDOztBQUVyQztBQUNBLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnRUFBZ0U7QUFDaEU7O0FBRUEseUJBQXlCO0FBQ3pCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4QztBQUM5QyxPQUFPOztBQUVQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RDs7QUFFN0Q7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2QkFBNkI7QUFDN0IsS0FBSztBQUNMOztBQUVBO0FBQ0EsK0JBQStCOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx5Q0FBeUMsU0FBUztBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBLDJDQUEyQyxXQUFXO0FBQ3REOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qjs7QUFFOUIsK0JBQStCOztBQUUvQixtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLGdDQUFnQyxhQUFhO0FBQzdDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjs7QUFFM0I7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUNBQXVDLGFBQWE7O0FBRXBEO0FBQ0EscUNBQXFDLGFBQWE7QUFDbEQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQ0FBb0Msc0JBQXNCOztBQUUxRDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLDJDQUEyQyxTQUFTO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhDQUE4QyxTQUFTO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVCQUF1Qix3QkFBd0I7QUFDL0M7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsZ0NBQWdDLGVBQWU7QUFDL0MsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSx1Q0FBdUMsZUFBZSxrQkFBa0Isb0RBQW9EOztBQUU1SDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEI7O0FBRTFCLHlCQUF5Qjs7QUFFekIsc0JBQXNCOztBQUV0Qiw0QkFBNEI7O0FBRTVCLDhCQUE4Qjs7QUFFOUIsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Qsb0RBQW9EOztBQUVwRDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsZ0NBQWdDLDhCQUE4Qiw2QkFBNkI7QUFDM0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDLGtCQUFrQiw0REFBNEQ7QUFDeEg7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROztBQUVSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsOEJBQThCLGtCQUFrQjtBQUNoRCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsMkNBQTJDLFNBQVM7QUFDcEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLGdDQUFnQyxlQUFlO0FBQy9DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7QUFFVDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTOztBQUVUO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdHQUFnRzs7QUFFaEc7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEVBQUU7O0FBRVg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLEVBQUU7O0FBRVg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sRUFBRTs7QUFFVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTyxFQUFFOztBQUVUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVDQUF1QyxlQUFlLG9CQUFvQixvREFBb0Q7O0FBRTlIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwwRUFBMEUsc0JBQXNCOztBQUVoRztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOztBQUVMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsdUlBQXVJOztBQUV2STtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUssRUFBRTs7QUFFUCxzQ0FBc0MsT0FBTztBQUM3QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBLDBDQUEwQyxTQUFTO0FBQ25EOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7QUFDM0M7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCLHFCQUFxQjtBQUNuRDs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSwwQ0FBMEMsa0JBQWtCLDBEQUEwRDtBQUN0SDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLFdBQVc7QUFDWDtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxnQ0FBZ0MsOEJBQThCLG9CQUFvQixvREFBb0Q7O0FBRXRJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSCx1Q0FBdUM7QUFDdkM7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5Q0FBeUM7O0FBRXpDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBLGdDQUFnQyxlQUFlLG9EQUFvRDs7QUFFbkc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQSxnQ0FBZ0MsS0FBSztBQUNyQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87O0FBRVA7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsMkNBQTJDO0FBQzNDOztBQUVBLHdJQUF3STs7QUFFeEk7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBLGtDQUFrQyxLQUFLO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0EsZ0NBQWdDLGVBQWUsNkJBQTZCLG9EQUFvRDtBQUNoSTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsZ0RBQWdELGNBQWM7O0FBRTlELENBQUM7QUFDRCIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9ib290c3RyYXAvZGlzdC9qcy9ib290c3RyYXAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAgKiBCb290c3RyYXAgdjQuNC4xIChodHRwczovL2dldGJvb3RzdHJhcC5jb20vKVxuICAqIENvcHlyaWdodCAyMDExLTIwMTkgVGhlIEJvb3RzdHJhcCBBdXRob3JzIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvZ3JhcGhzL2NvbnRyaWJ1dG9ycylcbiAgKiBMaWNlbnNlZCB1bmRlciBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFKVxuICAqL1xuKGZ1bmN0aW9uIChnbG9iYWwsIGZhY3RvcnkpIHtcbiAgdHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnID8gZmFjdG9yeShleHBvcnRzLCByZXF1aXJlKCdqcXVlcnknKSwgcmVxdWlyZSgncG9wcGVyLmpzJykpIDpcbiAgdHlwZW9mIGRlZmluZSA9PT0gJ2Z1bmN0aW9uJyAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsnZXhwb3J0cycsICdqcXVlcnknLCAncG9wcGVyLmpzJ10sIGZhY3RvcnkpIDpcbiAgKGdsb2JhbCA9IGdsb2JhbCB8fCBzZWxmLCBmYWN0b3J5KGdsb2JhbC5ib290c3RyYXAgPSB7fSwgZ2xvYmFsLmpRdWVyeSwgZ2xvYmFsLlBvcHBlcikpO1xufSh0aGlzLCAoZnVuY3Rpb24gKGV4cG9ydHMsICQsIFBvcHBlcikgeyAndXNlIHN0cmljdCc7XG5cbiAgJCA9ICQgJiYgJC5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdCcpID8gJFsnZGVmYXVsdCddIDogJDtcbiAgUG9wcGVyID0gUG9wcGVyICYmIFBvcHBlci5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdCcpID8gUG9wcGVyWydkZWZhdWx0J10gOiBQb3BwZXI7XG5cbiAgZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07XG4gICAgICBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7XG4gICAgICBkZXNjcmlwdG9yLmNvbmZpZ3VyYWJsZSA9IHRydWU7XG4gICAgICBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHtcbiAgICBpZiAocHJvdG9Qcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTtcbiAgICBpZiAoc3RhdGljUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICB9XG5cbiAgZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkge1xuICAgIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqO1xuICB9XG5cbiAgZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gICAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgICAgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHN5bSkuZW51bWVyYWJsZTtcbiAgICAgIH0pO1xuICAgICAga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpO1xuICAgIH1cblxuICAgIHJldHVybiBrZXlzO1xuICB9XG5cbiAgZnVuY3Rpb24gX29iamVjdFNwcmVhZDIodGFyZ2V0KSB7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9O1xuXG4gICAgICBpZiAoaSAlIDIpIHtcbiAgICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0YXJnZXQ7XG4gIH1cblxuICBmdW5jdGlvbiBfaW5oZXJpdHNMb29zZShzdWJDbGFzcywgc3VwZXJDbGFzcykge1xuICAgIHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcy5wcm90b3R5cGUpO1xuICAgIHN1YkNsYXNzLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IHN1YkNsYXNzO1xuICAgIHN1YkNsYXNzLl9fcHJvdG9fXyA9IHN1cGVyQ2xhc3M7XG4gIH1cblxuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQm9vdHN0cmFwICh2NC40LjEpOiB1dGlsLmpzXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIFByaXZhdGUgVHJhbnNpdGlvbkVuZCBIZWxwZXJzXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgVFJBTlNJVElPTl9FTkQgPSAndHJhbnNpdGlvbmVuZCc7XG4gIHZhciBNQVhfVUlEID0gMTAwMDAwMDtcbiAgdmFyIE1JTExJU0VDT05EU19NVUxUSVBMSUVSID0gMTAwMDsgLy8gU2hvdXRvdXQgQW5ndXNDcm9sbCAoaHR0cHM6Ly9nb28uZ2wvcHh3UUdwKVxuXG4gIGZ1bmN0aW9uIHRvVHlwZShvYmopIHtcbiAgICByZXR1cm4ge30udG9TdHJpbmcuY2FsbChvYmopLm1hdGNoKC9cXHMoW2Etel0rKS9pKVsxXS50b0xvd2VyQ2FzZSgpO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0U3BlY2lhbFRyYW5zaXRpb25FbmRFdmVudCgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmluZFR5cGU6IFRSQU5TSVRJT05fRU5ELFxuICAgICAgZGVsZWdhdGVUeXBlOiBUUkFOU0lUSU9OX0VORCxcbiAgICAgIGhhbmRsZTogZnVuY3Rpb24gaGFuZGxlKGV2ZW50KSB7XG4gICAgICAgIGlmICgkKGV2ZW50LnRhcmdldCkuaXModGhpcykpIHtcbiAgICAgICAgICByZXR1cm4gZXZlbnQuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItcmVzdC1wYXJhbXNcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHRyYW5zaXRpb25FbmRFbXVsYXRvcihkdXJhdGlvbikge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgY2FsbGVkID0gZmFsc2U7XG4gICAgJCh0aGlzKS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgZnVuY3Rpb24gKCkge1xuICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICB9KTtcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGlmICghY2FsbGVkKSB7XG4gICAgICAgIFV0aWwudHJpZ2dlclRyYW5zaXRpb25FbmQoX3RoaXMpO1xuICAgICAgfVxuICAgIH0sIGR1cmF0aW9uKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGZ1bmN0aW9uIHNldFRyYW5zaXRpb25FbmRTdXBwb3J0KCkge1xuICAgICQuZm4uZW11bGF0ZVRyYW5zaXRpb25FbmQgPSB0cmFuc2l0aW9uRW5kRW11bGF0b3I7XG4gICAgJC5ldmVudC5zcGVjaWFsW1V0aWwuVFJBTlNJVElPTl9FTkRdID0gZ2V0U3BlY2lhbFRyYW5zaXRpb25FbmRFdmVudCgpO1xuICB9XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBQdWJsaWMgVXRpbCBBcGlcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cblxuICB2YXIgVXRpbCA9IHtcbiAgICBUUkFOU0lUSU9OX0VORDogJ2JzVHJhbnNpdGlvbkVuZCcsXG4gICAgZ2V0VUlEOiBmdW5jdGlvbiBnZXRVSUQocHJlZml4KSB7XG4gICAgICBkbyB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gICAgICAgIHByZWZpeCArPSB+fihNYXRoLnJhbmRvbSgpICogTUFYX1VJRCk7IC8vIFwifn5cIiBhY3RzIGxpa2UgYSBmYXN0ZXIgTWF0aC5mbG9vcigpIGhlcmVcbiAgICAgIH0gd2hpbGUgKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHByZWZpeCkpO1xuXG4gICAgICByZXR1cm4gcHJlZml4O1xuICAgIH0sXG4gICAgZ2V0U2VsZWN0b3JGcm9tRWxlbWVudDogZnVuY3Rpb24gZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlbGVtZW50KSB7XG4gICAgICB2YXIgc2VsZWN0b3IgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS10YXJnZXQnKTtcblxuICAgICAgaWYgKCFzZWxlY3RvciB8fCBzZWxlY3RvciA9PT0gJyMnKSB7XG4gICAgICAgIHZhciBocmVmQXR0ciA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdocmVmJyk7XG4gICAgICAgIHNlbGVjdG9yID0gaHJlZkF0dHIgJiYgaHJlZkF0dHIgIT09ICcjJyA/IGhyZWZBdHRyLnRyaW0oKSA6ICcnO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3RvcikgPyBzZWxlY3RvciA6IG51bGw7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfSxcbiAgICBnZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudDogZnVuY3Rpb24gZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoZWxlbWVudCkge1xuICAgICAgaWYgKCFlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfSAvLyBHZXQgdHJhbnNpdGlvbi1kdXJhdGlvbiBvZiB0aGUgZWxlbWVudFxuXG5cbiAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSAkKGVsZW1lbnQpLmNzcygndHJhbnNpdGlvbi1kdXJhdGlvbicpO1xuICAgICAgdmFyIHRyYW5zaXRpb25EZWxheSA9ICQoZWxlbWVudCkuY3NzKCd0cmFuc2l0aW9uLWRlbGF5Jyk7XG4gICAgICB2YXIgZmxvYXRUcmFuc2l0aW9uRHVyYXRpb24gPSBwYXJzZUZsb2F0KHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICB2YXIgZmxvYXRUcmFuc2l0aW9uRGVsYXkgPSBwYXJzZUZsb2F0KHRyYW5zaXRpb25EZWxheSk7IC8vIFJldHVybiAwIGlmIGVsZW1lbnQgb3IgdHJhbnNpdGlvbiBkdXJhdGlvbiBpcyBub3QgZm91bmRcblxuICAgICAgaWYgKCFmbG9hdFRyYW5zaXRpb25EdXJhdGlvbiAmJiAhZmxvYXRUcmFuc2l0aW9uRGVsYXkpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9IC8vIElmIG11bHRpcGxlIGR1cmF0aW9ucyBhcmUgZGVmaW5lZCwgdGFrZSB0aGUgZmlyc3RcblxuXG4gICAgICB0cmFuc2l0aW9uRHVyYXRpb24gPSB0cmFuc2l0aW9uRHVyYXRpb24uc3BsaXQoJywnKVswXTtcbiAgICAgIHRyYW5zaXRpb25EZWxheSA9IHRyYW5zaXRpb25EZWxheS5zcGxpdCgnLCcpWzBdO1xuICAgICAgcmV0dXJuIChwYXJzZUZsb2F0KHRyYW5zaXRpb25EdXJhdGlvbikgKyBwYXJzZUZsb2F0KHRyYW5zaXRpb25EZWxheSkpICogTUlMTElTRUNPTkRTX01VTFRJUExJRVI7XG4gICAgfSxcbiAgICByZWZsb3c6IGZ1bmN0aW9uIHJlZmxvdyhlbGVtZW50KSB7XG4gICAgICByZXR1cm4gZWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgfSxcbiAgICB0cmlnZ2VyVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24gdHJpZ2dlclRyYW5zaXRpb25FbmQoZWxlbWVudCkge1xuICAgICAgJChlbGVtZW50KS50cmlnZ2VyKFRSQU5TSVRJT05fRU5EKTtcbiAgICB9LFxuICAgIC8vIFRPRE86IFJlbW92ZSBpbiB2NVxuICAgIHN1cHBvcnRzVHJhbnNpdGlvbkVuZDogZnVuY3Rpb24gc3VwcG9ydHNUcmFuc2l0aW9uRW5kKCkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oVFJBTlNJVElPTl9FTkQpO1xuICAgIH0sXG4gICAgaXNFbGVtZW50OiBmdW5jdGlvbiBpc0VsZW1lbnQob2JqKSB7XG4gICAgICByZXR1cm4gKG9ialswXSB8fCBvYmopLm5vZGVUeXBlO1xuICAgIH0sXG4gICAgdHlwZUNoZWNrQ29uZmlnOiBmdW5jdGlvbiB0eXBlQ2hlY2tDb25maWcoY29tcG9uZW50TmFtZSwgY29uZmlnLCBjb25maWdUeXBlcykge1xuICAgICAgZm9yICh2YXIgcHJvcGVydHkgaW4gY29uZmlnVHlwZXMpIHtcbiAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb25maWdUeXBlcywgcHJvcGVydHkpKSB7XG4gICAgICAgICAgdmFyIGV4cGVjdGVkVHlwZXMgPSBjb25maWdUeXBlc1twcm9wZXJ0eV07XG4gICAgICAgICAgdmFyIHZhbHVlID0gY29uZmlnW3Byb3BlcnR5XTtcbiAgICAgICAgICB2YXIgdmFsdWVUeXBlID0gdmFsdWUgJiYgVXRpbC5pc0VsZW1lbnQodmFsdWUpID8gJ2VsZW1lbnQnIDogdG9UeXBlKHZhbHVlKTtcblxuICAgICAgICAgIGlmICghbmV3IFJlZ0V4cChleHBlY3RlZFR5cGVzKS50ZXN0KHZhbHVlVHlwZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihjb21wb25lbnROYW1lLnRvVXBwZXJDYXNlKCkgKyBcIjogXCIgKyAoXCJPcHRpb24gXFxcIlwiICsgcHJvcGVydHkgKyBcIlxcXCIgcHJvdmlkZWQgdHlwZSBcXFwiXCIgKyB2YWx1ZVR5cGUgKyBcIlxcXCIgXCIpICsgKFwiYnV0IGV4cGVjdGVkIHR5cGUgXFxcIlwiICsgZXhwZWN0ZWRUeXBlcyArIFwiXFxcIi5cIikpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgZmluZFNoYWRvd1Jvb3Q6IGZ1bmN0aW9uIGZpbmRTaGFkb3dSb290KGVsZW1lbnQpIHtcbiAgICAgIGlmICghZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmF0dGFjaFNoYWRvdykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH0gLy8gQ2FuIGZpbmQgdGhlIHNoYWRvdyByb290IG90aGVyd2lzZSBpdCdsbCByZXR1cm4gdGhlIGRvY3VtZW50XG5cblxuICAgICAgaWYgKHR5cGVvZiBlbGVtZW50LmdldFJvb3ROb2RlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHZhciByb290ID0gZWxlbWVudC5nZXRSb290Tm9kZSgpO1xuICAgICAgICByZXR1cm4gcm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QgPyByb290IDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBTaGFkb3dSb290KSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50O1xuICAgICAgfSAvLyB3aGVuIHdlIGRvbid0IGZpbmQgYSBzaGFkb3cgcm9vdFxuXG5cbiAgICAgIGlmICghZWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gVXRpbC5maW5kU2hhZG93Um9vdChlbGVtZW50LnBhcmVudE5vZGUpO1xuICAgIH0sXG4gICAgalF1ZXJ5RGV0ZWN0aW9uOiBmdW5jdGlvbiBqUXVlcnlEZXRlY3Rpb24oKSB7XG4gICAgICBpZiAodHlwZW9mICQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0Jvb3RzdHJhcFxcJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkuIGpRdWVyeSBtdXN0IGJlIGluY2x1ZGVkIGJlZm9yZSBCb290c3RyYXBcXCdzIEphdmFTY3JpcHQuJyk7XG4gICAgICB9XG5cbiAgICAgIHZhciB2ZXJzaW9uID0gJC5mbi5qcXVlcnkuc3BsaXQoJyAnKVswXS5zcGxpdCgnLicpO1xuICAgICAgdmFyIG1pbk1ham9yID0gMTtcbiAgICAgIHZhciBsdE1ham9yID0gMjtcbiAgICAgIHZhciBtaW5NaW5vciA9IDk7XG4gICAgICB2YXIgbWluUGF0Y2ggPSAxO1xuICAgICAgdmFyIG1heE1ham9yID0gNDtcblxuICAgICAgaWYgKHZlcnNpb25bMF0gPCBsdE1ham9yICYmIHZlcnNpb25bMV0gPCBtaW5NaW5vciB8fCB2ZXJzaW9uWzBdID09PSBtaW5NYWpvciAmJiB2ZXJzaW9uWzFdID09PSBtaW5NaW5vciAmJiB2ZXJzaW9uWzJdIDwgbWluUGF0Y2ggfHwgdmVyc2lvblswXSA+PSBtYXhNYWpvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Jvb3RzdHJhcFxcJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBhdCBsZWFzdCBqUXVlcnkgdjEuOS4xIGJ1dCBsZXNzIHRoYW4gdjQuMC4wJyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuICBVdGlsLmpRdWVyeURldGVjdGlvbigpO1xuICBzZXRUcmFuc2l0aW9uRW5kU3VwcG9ydCgpO1xuXG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ29uc3RhbnRzXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgTkFNRSA9ICdhbGVydCc7XG4gIHZhciBWRVJTSU9OID0gJzQuNC4xJztcbiAgdmFyIERBVEFfS0VZID0gJ2JzLmFsZXJ0JztcbiAgdmFyIEVWRU5UX0tFWSA9IFwiLlwiICsgREFUQV9LRVk7XG4gIHZhciBEQVRBX0FQSV9LRVkgPSAnLmRhdGEtYXBpJztcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCA9ICQuZm5bTkFNRV07XG4gIHZhciBTZWxlY3RvciA9IHtcbiAgICBESVNNSVNTOiAnW2RhdGEtZGlzbWlzcz1cImFsZXJ0XCJdJ1xuICB9O1xuICB2YXIgRXZlbnQgPSB7XG4gICAgQ0xPU0U6IFwiY2xvc2VcIiArIEVWRU5UX0tFWSxcbiAgICBDTE9TRUQ6IFwiY2xvc2VkXCIgKyBFVkVOVF9LRVksXG4gICAgQ0xJQ0tfREFUQV9BUEk6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSArIERBVEFfQVBJX0tFWVxuICB9O1xuICB2YXIgQ2xhc3NOYW1lID0ge1xuICAgIEFMRVJUOiAnYWxlcnQnLFxuICAgIEZBREU6ICdmYWRlJyxcbiAgICBTSE9XOiAnc2hvdydcbiAgfTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDbGFzcyBEZWZpbml0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgQWxlcnQgPVxuICAvKiNfX1BVUkVfXyovXG4gIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBBbGVydChlbGVtZW50KSB7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICB9IC8vIEdldHRlcnNcblxuXG4gICAgdmFyIF9wcm90byA9IEFsZXJ0LnByb3RvdHlwZTtcblxuICAgIC8vIFB1YmxpY1xuICAgIF9wcm90by5jbG9zZSA9IGZ1bmN0aW9uIGNsb3NlKGVsZW1lbnQpIHtcbiAgICAgIHZhciByb290RWxlbWVudCA9IHRoaXMuX2VsZW1lbnQ7XG5cbiAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgIHJvb3RFbGVtZW50ID0gdGhpcy5fZ2V0Um9vdEVsZW1lbnQoZWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjdXN0b21FdmVudCA9IHRoaXMuX3RyaWdnZXJDbG9zZUV2ZW50KHJvb3RFbGVtZW50KTtcblxuICAgICAgaWYgKGN1c3RvbUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fcmVtb3ZlRWxlbWVudChyb290RWxlbWVudCk7XG4gICAgfTtcblxuICAgIF9wcm90by5kaXNwb3NlID0gZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICAgICQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSk7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgICB9IC8vIFByaXZhdGVcbiAgICA7XG5cbiAgICBfcHJvdG8uX2dldFJvb3RFbGVtZW50ID0gZnVuY3Rpb24gX2dldFJvb3RFbGVtZW50KGVsZW1lbnQpIHtcbiAgICAgIHZhciBzZWxlY3RvciA9IFV0aWwuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlbGVtZW50KTtcbiAgICAgIHZhciBwYXJlbnQgPSBmYWxzZTtcblxuICAgICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICAgIHBhcmVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXBhcmVudCkge1xuICAgICAgICBwYXJlbnQgPSAkKGVsZW1lbnQpLmNsb3Nlc3QoXCIuXCIgKyBDbGFzc05hbWUuQUxFUlQpWzBdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH07XG5cbiAgICBfcHJvdG8uX3RyaWdnZXJDbG9zZUV2ZW50ID0gZnVuY3Rpb24gX3RyaWdnZXJDbG9zZUV2ZW50KGVsZW1lbnQpIHtcbiAgICAgIHZhciBjbG9zZUV2ZW50ID0gJC5FdmVudChFdmVudC5DTE9TRSk7XG4gICAgICAkKGVsZW1lbnQpLnRyaWdnZXIoY2xvc2VFdmVudCk7XG4gICAgICByZXR1cm4gY2xvc2VFdmVudDtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9yZW1vdmVFbGVtZW50ID0gZnVuY3Rpb24gX3JlbW92ZUVsZW1lbnQoZWxlbWVudCkge1xuICAgICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgICAgJChlbGVtZW50KS5yZW1vdmVDbGFzcyhDbGFzc05hbWUuU0hPVyk7XG5cbiAgICAgIGlmICghJChlbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUuRkFERSkpIHtcbiAgICAgICAgdGhpcy5fZGVzdHJveUVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gVXRpbC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChlbGVtZW50KTtcbiAgICAgICQoZWxlbWVudCkub25lKFV0aWwuVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICByZXR1cm4gX3RoaXMuX2Rlc3Ryb3lFbGVtZW50KGVsZW1lbnQsIGV2ZW50KTtcbiAgICAgIH0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgfTtcblxuICAgIF9wcm90by5fZGVzdHJveUVsZW1lbnQgPSBmdW5jdGlvbiBfZGVzdHJveUVsZW1lbnQoZWxlbWVudCkge1xuICAgICAgJChlbGVtZW50KS5kZXRhY2goKS50cmlnZ2VyKEV2ZW50LkNMT1NFRCkucmVtb3ZlKCk7XG4gICAgfSAvLyBTdGF0aWNcbiAgICA7XG5cbiAgICBBbGVydC5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24gX2pRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgJGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgICAgICB2YXIgZGF0YSA9ICRlbGVtZW50LmRhdGEoREFUQV9LRVkpO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgIGRhdGEgPSBuZXcgQWxlcnQodGhpcyk7XG4gICAgICAgICAgJGVsZW1lbnQuZGF0YShEQVRBX0tFWSwgZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY29uZmlnID09PSAnY2xvc2UnKSB7XG4gICAgICAgICAgZGF0YVtjb25maWddKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgQWxlcnQuX2hhbmRsZURpc21pc3MgPSBmdW5jdGlvbiBfaGFuZGxlRGlzbWlzcyhhbGVydEluc3RhbmNlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBhbGVydEluc3RhbmNlLmNsb3NlKHRoaXMpO1xuICAgICAgfTtcbiAgICB9O1xuXG4gICAgX2NyZWF0ZUNsYXNzKEFsZXJ0LCBudWxsLCBbe1xuICAgICAga2V5OiBcIlZFUlNJT05cIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVkVSU0lPTjtcbiAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gQWxlcnQ7XG4gIH0oKTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cblxuICAkKGRvY3VtZW50KS5vbihFdmVudC5DTElDS19EQVRBX0FQSSwgU2VsZWN0b3IuRElTTUlTUywgQWxlcnQuX2hhbmRsZURpc21pc3MobmV3IEFsZXJ0KCkpKTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBqUXVlcnlcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gICQuZm5bTkFNRV0gPSBBbGVydC5falF1ZXJ5SW50ZXJmYWNlO1xuICAkLmZuW05BTUVdLkNvbnN0cnVjdG9yID0gQWxlcnQ7XG5cbiAgJC5mbltOQU1FXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQuZm5bTkFNRV0gPSBKUVVFUllfTk9fQ09ORkxJQ1Q7XG4gICAgcmV0dXJuIEFsZXJ0Ll9qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDb25zdGFudHNcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBOQU1FJDEgPSAnYnV0dG9uJztcbiAgdmFyIFZFUlNJT04kMSA9ICc0LjQuMSc7XG4gIHZhciBEQVRBX0tFWSQxID0gJ2JzLmJ1dHRvbic7XG4gIHZhciBFVkVOVF9LRVkkMSA9IFwiLlwiICsgREFUQV9LRVkkMTtcbiAgdmFyIERBVEFfQVBJX0tFWSQxID0gJy5kYXRhLWFwaSc7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkMSA9ICQuZm5bTkFNRSQxXTtcbiAgdmFyIENsYXNzTmFtZSQxID0ge1xuICAgIEFDVElWRTogJ2FjdGl2ZScsXG4gICAgQlVUVE9OOiAnYnRuJyxcbiAgICBGT0NVUzogJ2ZvY3VzJ1xuICB9O1xuICB2YXIgU2VsZWN0b3IkMSA9IHtcbiAgICBEQVRBX1RPR0dMRV9DQVJST1Q6ICdbZGF0YS10b2dnbGVePVwiYnV0dG9uXCJdJyxcbiAgICBEQVRBX1RPR0dMRVM6ICdbZGF0YS10b2dnbGU9XCJidXR0b25zXCJdJyxcbiAgICBEQVRBX1RPR0dMRTogJ1tkYXRhLXRvZ2dsZT1cImJ1dHRvblwiXScsXG4gICAgREFUQV9UT0dHTEVTX0JVVFRPTlM6ICdbZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIC5idG4nLFxuICAgIElOUFVUOiAnaW5wdXQ6bm90KFt0eXBlPVwiaGlkZGVuXCJdKScsXG4gICAgQUNUSVZFOiAnLmFjdGl2ZScsXG4gICAgQlVUVE9OOiAnLmJ0bidcbiAgfTtcbiAgdmFyIEV2ZW50JDEgPSB7XG4gICAgQ0xJQ0tfREFUQV9BUEk6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQxICsgREFUQV9BUElfS0VZJDEsXG4gICAgRk9DVVNfQkxVUl9EQVRBX0FQSTogXCJmb2N1c1wiICsgRVZFTlRfS0VZJDEgKyBEQVRBX0FQSV9LRVkkMSArIFwiIFwiICsgKFwiYmx1clwiICsgRVZFTlRfS0VZJDEgKyBEQVRBX0FQSV9LRVkkMSksXG4gICAgTE9BRF9EQVRBX0FQSTogXCJsb2FkXCIgKyBFVkVOVF9LRVkkMSArIERBVEFfQVBJX0tFWSQxXG4gIH07XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ2xhc3MgRGVmaW5pdGlvblxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgdmFyIEJ1dHRvbiA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIEJ1dHRvbihlbGVtZW50KSB7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICB9IC8vIEdldHRlcnNcblxuXG4gICAgdmFyIF9wcm90byA9IEJ1dHRvbi5wcm90b3R5cGU7XG5cbiAgICAvLyBQdWJsaWNcbiAgICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgICAgdmFyIHRyaWdnZXJDaGFuZ2VFdmVudCA9IHRydWU7XG4gICAgICB2YXIgYWRkQXJpYVByZXNzZWQgPSB0cnVlO1xuICAgICAgdmFyIHJvb3RFbGVtZW50ID0gJCh0aGlzLl9lbGVtZW50KS5jbG9zZXN0KFNlbGVjdG9yJDEuREFUQV9UT0dHTEVTKVswXTtcblxuICAgICAgaWYgKHJvb3RFbGVtZW50KSB7XG4gICAgICAgIHZhciBpbnB1dCA9IHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihTZWxlY3RvciQxLklOUFVUKTtcblxuICAgICAgICBpZiAoaW5wdXQpIHtcbiAgICAgICAgICBpZiAoaW5wdXQudHlwZSA9PT0gJ3JhZGlvJykge1xuICAgICAgICAgICAgaWYgKGlucHV0LmNoZWNrZWQgJiYgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ2xhc3NOYW1lJDEuQUNUSVZFKSkge1xuICAgICAgICAgICAgICB0cmlnZ2VyQ2hhbmdlRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhciBhY3RpdmVFbGVtZW50ID0gcm9vdEVsZW1lbnQucXVlcnlTZWxlY3RvcihTZWxlY3RvciQxLkFDVElWRSk7XG5cbiAgICAgICAgICAgICAgaWYgKGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAkKGFjdGl2ZUVsZW1lbnQpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQxLkFDVElWRSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKGlucHV0LnR5cGUgPT09ICdjaGVja2JveCcpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLl9lbGVtZW50LnRhZ05hbWUgPT09ICdMQUJFTCcgJiYgaW5wdXQuY2hlY2tlZCA9PT0gdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ2xhc3NOYW1lJDEuQUNUSVZFKSkge1xuICAgICAgICAgICAgICB0cmlnZ2VyQ2hhbmdlRXZlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgaXQncyBub3QgYSByYWRpbyBidXR0b24gb3IgY2hlY2tib3ggZG9uJ3QgYWRkIGEgcG9pbnRsZXNzL2ludmFsaWQgY2hlY2tlZCBwcm9wZXJ0eSB0byB0aGUgaW5wdXRcbiAgICAgICAgICAgIHRyaWdnZXJDaGFuZ2VFdmVudCA9IGZhbHNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgICAgIGlucHV0LmNoZWNrZWQgPSAhdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoQ2xhc3NOYW1lJDEuQUNUSVZFKTtcbiAgICAgICAgICAgICQoaW5wdXQpLnRyaWdnZXIoJ2NoYW5nZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0LmZvY3VzKCk7XG4gICAgICAgICAgYWRkQXJpYVByZXNzZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoISh0aGlzLl9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZGlzYWJsZWQnKSB8fCB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSkpIHtcbiAgICAgICAgaWYgKGFkZEFyaWFQcmVzc2VkKSB7XG4gICAgICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsICF0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDbGFzc05hbWUkMS5BQ1RJVkUpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0cmlnZ2VyQ2hhbmdlRXZlbnQpIHtcbiAgICAgICAgICAkKHRoaXMuX2VsZW1lbnQpLnRvZ2dsZUNsYXNzKENsYXNzTmFtZSQxLkFDVElWRSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgJC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDEpO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgfSAvLyBTdGF0aWNcbiAgICA7XG5cbiAgICBCdXR0b24uX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIF9qUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSAkKHRoaXMpLmRhdGEoREFUQV9LRVkkMSk7XG5cbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgZGF0YSA9IG5ldyBCdXR0b24odGhpcyk7XG4gICAgICAgICAgJCh0aGlzKS5kYXRhKERBVEFfS0VZJDEsIGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvbmZpZyA9PT0gJ3RvZ2dsZScpIHtcbiAgICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9jcmVhdGVDbGFzcyhCdXR0b24sIG51bGwsIFt7XG4gICAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBWRVJTSU9OJDE7XG4gICAgICB9XG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIEJ1dHRvbjtcbiAgfSgpO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuXG4gICQoZG9jdW1lbnQpLm9uKEV2ZW50JDEuQ0xJQ0tfREFUQV9BUEksIFNlbGVjdG9yJDEuREFUQV9UT0dHTEVfQ0FSUk9ULCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgYnV0dG9uID0gZXZlbnQudGFyZ2V0O1xuXG4gICAgaWYgKCEkKGJ1dHRvbikuaGFzQ2xhc3MoQ2xhc3NOYW1lJDEuQlVUVE9OKSkge1xuICAgICAgYnV0dG9uID0gJChidXR0b24pLmNsb3Nlc3QoU2VsZWN0b3IkMS5CVVRUT04pWzBdO1xuICAgIH1cblxuICAgIGlmICghYnV0dG9uIHx8IGJ1dHRvbi5oYXNBdHRyaWJ1dGUoJ2Rpc2FibGVkJykgfHwgYnV0dG9uLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gd29yayBhcm91bmQgRmlyZWZveCBidWcgIzE1NDA5OTVcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIGlucHV0QnRuID0gYnV0dG9uLnF1ZXJ5U2VsZWN0b3IoU2VsZWN0b3IkMS5JTlBVVCk7XG5cbiAgICAgIGlmIChpbnB1dEJ0biAmJiAoaW5wdXRCdG4uaGFzQXR0cmlidXRlKCdkaXNhYmxlZCcpIHx8IGlucHV0QnRuLmNsYXNzTGlzdC5jb250YWlucygnZGlzYWJsZWQnKSkpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsgLy8gd29yayBhcm91bmQgRmlyZWZveCBidWcgIzE1NDA5OTVcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIEJ1dHRvbi5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoJChidXR0b24pLCAndG9nZ2xlJyk7XG4gICAgfVxuICB9KS5vbihFdmVudCQxLkZPQ1VTX0JMVVJfREFUQV9BUEksIFNlbGVjdG9yJDEuREFUQV9UT0dHTEVfQ0FSUk9ULCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgYnV0dG9uID0gJChldmVudC50YXJnZXQpLmNsb3Nlc3QoU2VsZWN0b3IkMS5CVVRUT04pWzBdO1xuICAgICQoYnV0dG9uKS50b2dnbGVDbGFzcyhDbGFzc05hbWUkMS5GT0NVUywgL15mb2N1cyhpbik/JC8udGVzdChldmVudC50eXBlKSk7XG4gIH0pO1xuICAkKHdpbmRvdykub24oRXZlbnQkMS5MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbiAoKSB7XG4gICAgLy8gZW5zdXJlIGNvcnJlY3QgYWN0aXZlIGNsYXNzIGlzIHNldCB0byBtYXRjaCB0aGUgY29udHJvbHMnIGFjdHVhbCB2YWx1ZXMvc3RhdGVzXG4gICAgLy8gZmluZCBhbGwgY2hlY2tib3hlcy9yZWFkaW8gYnV0dG9ucyBpbnNpZGUgZGF0YS10b2dnbGUgZ3JvdXBzXG4gICAgdmFyIGJ1dHRvbnMgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU2VsZWN0b3IkMS5EQVRBX1RPR0dMRVNfQlVUVE9OUykpO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGJ1dHRvbnMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIHZhciBidXR0b24gPSBidXR0b25zW2ldO1xuICAgICAgdmFyIGlucHV0ID0gYnV0dG9uLnF1ZXJ5U2VsZWN0b3IoU2VsZWN0b3IkMS5JTlBVVCk7XG5cbiAgICAgIGlmIChpbnB1dC5jaGVja2VkIHx8IGlucHV0Lmhhc0F0dHJpYnV0ZSgnY2hlY2tlZCcpKSB7XG4gICAgICAgIGJ1dHRvbi5jbGFzc0xpc3QuYWRkKENsYXNzTmFtZSQxLkFDVElWRSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBidXR0b24uY2xhc3NMaXN0LnJlbW92ZShDbGFzc05hbWUkMS5BQ1RJVkUpO1xuICAgICAgfVxuICAgIH0gLy8gZmluZCBhbGwgYnV0dG9uIHRvZ2dsZXNcblxuXG4gICAgYnV0dG9ucyA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQxLkRBVEFfVE9HR0xFKSk7XG5cbiAgICBmb3IgKHZhciBfaSA9IDAsIF9sZW4gPSBidXR0b25zLmxlbmd0aDsgX2kgPCBfbGVuOyBfaSsrKSB7XG4gICAgICB2YXIgX2J1dHRvbiA9IGJ1dHRvbnNbX2ldO1xuXG4gICAgICBpZiAoX2J1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcpID09PSAndHJ1ZScpIHtcbiAgICAgICAgX2J1dHRvbi5jbGFzc0xpc3QuYWRkKENsYXNzTmFtZSQxLkFDVElWRSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfYnV0dG9uLmNsYXNzTGlzdC5yZW1vdmUoQ2xhc3NOYW1lJDEuQUNUSVZFKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIGpRdWVyeVxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgJC5mbltOQU1FJDFdID0gQnV0dG9uLl9qUXVlcnlJbnRlcmZhY2U7XG4gICQuZm5bTkFNRSQxXS5Db25zdHJ1Y3RvciA9IEJ1dHRvbjtcblxuICAkLmZuW05BTUUkMV0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkLmZuW05BTUUkMV0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkMTtcbiAgICByZXR1cm4gQnV0dG9uLl9qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDb25zdGFudHNcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBOQU1FJDIgPSAnY2Fyb3VzZWwnO1xuICB2YXIgVkVSU0lPTiQyID0gJzQuNC4xJztcbiAgdmFyIERBVEFfS0VZJDIgPSAnYnMuY2Fyb3VzZWwnO1xuICB2YXIgRVZFTlRfS0VZJDIgPSBcIi5cIiArIERBVEFfS0VZJDI7XG4gIHZhciBEQVRBX0FQSV9LRVkkMiA9ICcuZGF0YS1hcGknO1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDIgPSAkLmZuW05BTUUkMl07XG4gIHZhciBBUlJPV19MRUZUX0tFWUNPREUgPSAzNzsgLy8gS2V5Ym9hcmRFdmVudC53aGljaCB2YWx1ZSBmb3IgbGVmdCBhcnJvdyBrZXlcblxuICB2YXIgQVJST1dfUklHSFRfS0VZQ09ERSA9IDM5OyAvLyBLZXlib2FyZEV2ZW50LndoaWNoIHZhbHVlIGZvciByaWdodCBhcnJvdyBrZXlcblxuICB2YXIgVE9VQ0hFVkVOVF9DT01QQVRfV0FJVCA9IDUwMDsgLy8gVGltZSBmb3IgbW91c2UgY29tcGF0IGV2ZW50cyB0byBmaXJlIGFmdGVyIHRvdWNoXG5cbiAgdmFyIFNXSVBFX1RIUkVTSE9MRCA9IDQwO1xuICB2YXIgRGVmYXVsdCA9IHtcbiAgICBpbnRlcnZhbDogNTAwMCxcbiAgICBrZXlib2FyZDogdHJ1ZSxcbiAgICBzbGlkZTogZmFsc2UsXG4gICAgcGF1c2U6ICdob3ZlcicsXG4gICAgd3JhcDogdHJ1ZSxcbiAgICB0b3VjaDogdHJ1ZVxuICB9O1xuICB2YXIgRGVmYXVsdFR5cGUgPSB7XG4gICAgaW50ZXJ2YWw6ICcobnVtYmVyfGJvb2xlYW4pJyxcbiAgICBrZXlib2FyZDogJ2Jvb2xlYW4nLFxuICAgIHNsaWRlOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gICAgcGF1c2U6ICcoc3RyaW5nfGJvb2xlYW4pJyxcbiAgICB3cmFwOiAnYm9vbGVhbicsXG4gICAgdG91Y2g6ICdib29sZWFuJ1xuICB9O1xuICB2YXIgRGlyZWN0aW9uID0ge1xuICAgIE5FWFQ6ICduZXh0JyxcbiAgICBQUkVWOiAncHJldicsXG4gICAgTEVGVDogJ2xlZnQnLFxuICAgIFJJR0hUOiAncmlnaHQnXG4gIH07XG4gIHZhciBFdmVudCQyID0ge1xuICAgIFNMSURFOiBcInNsaWRlXCIgKyBFVkVOVF9LRVkkMixcbiAgICBTTElEOiBcInNsaWRcIiArIEVWRU5UX0tFWSQyLFxuICAgIEtFWURPV046IFwia2V5ZG93blwiICsgRVZFTlRfS0VZJDIsXG4gICAgTU9VU0VFTlRFUjogXCJtb3VzZWVudGVyXCIgKyBFVkVOVF9LRVkkMixcbiAgICBNT1VTRUxFQVZFOiBcIm1vdXNlbGVhdmVcIiArIEVWRU5UX0tFWSQyLFxuICAgIFRPVUNIU1RBUlQ6IFwidG91Y2hzdGFydFwiICsgRVZFTlRfS0VZJDIsXG4gICAgVE9VQ0hNT1ZFOiBcInRvdWNobW92ZVwiICsgRVZFTlRfS0VZJDIsXG4gICAgVE9VQ0hFTkQ6IFwidG91Y2hlbmRcIiArIEVWRU5UX0tFWSQyLFxuICAgIFBPSU5URVJET1dOOiBcInBvaW50ZXJkb3duXCIgKyBFVkVOVF9LRVkkMixcbiAgICBQT0lOVEVSVVA6IFwicG9pbnRlcnVwXCIgKyBFVkVOVF9LRVkkMixcbiAgICBEUkFHX1NUQVJUOiBcImRyYWdzdGFydFwiICsgRVZFTlRfS0VZJDIsXG4gICAgTE9BRF9EQVRBX0FQSTogXCJsb2FkXCIgKyBFVkVOVF9LRVkkMiArIERBVEFfQVBJX0tFWSQyLFxuICAgIENMSUNLX0RBVEFfQVBJOiBcImNsaWNrXCIgKyBFVkVOVF9LRVkkMiArIERBVEFfQVBJX0tFWSQyXG4gIH07XG4gIHZhciBDbGFzc05hbWUkMiA9IHtcbiAgICBDQVJPVVNFTDogJ2Nhcm91c2VsJyxcbiAgICBBQ1RJVkU6ICdhY3RpdmUnLFxuICAgIFNMSURFOiAnc2xpZGUnLFxuICAgIFJJR0hUOiAnY2Fyb3VzZWwtaXRlbS1yaWdodCcsXG4gICAgTEVGVDogJ2Nhcm91c2VsLWl0ZW0tbGVmdCcsXG4gICAgTkVYVDogJ2Nhcm91c2VsLWl0ZW0tbmV4dCcsXG4gICAgUFJFVjogJ2Nhcm91c2VsLWl0ZW0tcHJldicsXG4gICAgSVRFTTogJ2Nhcm91c2VsLWl0ZW0nLFxuICAgIFBPSU5URVJfRVZFTlQ6ICdwb2ludGVyLWV2ZW50J1xuICB9O1xuICB2YXIgU2VsZWN0b3IkMiA9IHtcbiAgICBBQ1RJVkU6ICcuYWN0aXZlJyxcbiAgICBBQ1RJVkVfSVRFTTogJy5hY3RpdmUuY2Fyb3VzZWwtaXRlbScsXG4gICAgSVRFTTogJy5jYXJvdXNlbC1pdGVtJyxcbiAgICBJVEVNX0lNRzogJy5jYXJvdXNlbC1pdGVtIGltZycsXG4gICAgTkVYVF9QUkVWOiAnLmNhcm91c2VsLWl0ZW0tbmV4dCwgLmNhcm91c2VsLWl0ZW0tcHJldicsXG4gICAgSU5ESUNBVE9SUzogJy5jYXJvdXNlbC1pbmRpY2F0b3JzJyxcbiAgICBEQVRBX1NMSURFOiAnW2RhdGEtc2xpZGVdLCBbZGF0YS1zbGlkZS10b10nLFxuICAgIERBVEFfUklERTogJ1tkYXRhLXJpZGU9XCJjYXJvdXNlbFwiXSdcbiAgfTtcbiAgdmFyIFBvaW50ZXJUeXBlID0ge1xuICAgIFRPVUNIOiAndG91Y2gnLFxuICAgIFBFTjogJ3BlbidcbiAgfTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDbGFzcyBEZWZpbml0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgQ2Fyb3VzZWwgPVxuICAvKiNfX1BVUkVfXyovXG4gIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBDYXJvdXNlbChlbGVtZW50LCBjb25maWcpIHtcbiAgICAgIHRoaXMuX2l0ZW1zID0gbnVsbDtcbiAgICAgIHRoaXMuX2ludGVydmFsID0gbnVsbDtcbiAgICAgIHRoaXMuX2FjdGl2ZUVsZW1lbnQgPSBudWxsO1xuICAgICAgdGhpcy5faXNQYXVzZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuX2lzU2xpZGluZyA9IGZhbHNlO1xuICAgICAgdGhpcy50b3VjaFRpbWVvdXQgPSBudWxsO1xuICAgICAgdGhpcy50b3VjaFN0YXJ0WCA9IDA7XG4gICAgICB0aGlzLnRvdWNoRGVsdGFYID0gMDtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICB0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCA9IHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvcihTZWxlY3RvciQyLklORElDQVRPUlMpO1xuICAgICAgdGhpcy5fdG91Y2hTdXBwb3J0ZWQgPSAnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfHwgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzID4gMDtcbiAgICAgIHRoaXMuX3BvaW50ZXJFdmVudCA9IEJvb2xlYW4od2luZG93LlBvaW50ZXJFdmVudCB8fCB3aW5kb3cuTVNQb2ludGVyRXZlbnQpO1xuXG4gICAgICB0aGlzLl9hZGRFdmVudExpc3RlbmVycygpO1xuICAgIH0gLy8gR2V0dGVyc1xuXG5cbiAgICB2YXIgX3Byb3RvID0gQ2Fyb3VzZWwucHJvdG90eXBlO1xuXG4gICAgLy8gUHVibGljXG4gICAgX3Byb3RvLm5leHQgPSBmdW5jdGlvbiBuZXh0KCkge1xuICAgICAgaWYgKCF0aGlzLl9pc1NsaWRpbmcpIHtcbiAgICAgICAgdGhpcy5fc2xpZGUoRGlyZWN0aW9uLk5FWFQpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8ubmV4dFdoZW5WaXNpYmxlID0gZnVuY3Rpb24gbmV4dFdoZW5WaXNpYmxlKCkge1xuICAgICAgLy8gRG9uJ3QgY2FsbCBuZXh0IHdoZW4gdGhlIHBhZ2UgaXNuJ3QgdmlzaWJsZVxuICAgICAgLy8gb3IgdGhlIGNhcm91c2VsIG9yIGl0cyBwYXJlbnQgaXNuJ3QgdmlzaWJsZVxuICAgICAgaWYgKCFkb2N1bWVudC5oaWRkZW4gJiYgJCh0aGlzLl9lbGVtZW50KS5pcygnOnZpc2libGUnKSAmJiAkKHRoaXMuX2VsZW1lbnQpLmNzcygndmlzaWJpbGl0eScpICE9PSAnaGlkZGVuJykge1xuICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLnByZXYgPSBmdW5jdGlvbiBwcmV2KCkge1xuICAgICAgaWYgKCF0aGlzLl9pc1NsaWRpbmcpIHtcbiAgICAgICAgdGhpcy5fc2xpZGUoRGlyZWN0aW9uLlBSRVYpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8ucGF1c2UgPSBmdW5jdGlvbiBwYXVzZShldmVudCkge1xuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICB0aGlzLl9pc1BhdXNlZCA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9lbGVtZW50LnF1ZXJ5U2VsZWN0b3IoU2VsZWN0b3IkMi5ORVhUX1BSRVYpKSB7XG4gICAgICAgIFV0aWwudHJpZ2dlclRyYW5zaXRpb25FbmQodGhpcy5fZWxlbWVudCk7XG4gICAgICAgIHRoaXMuY3ljbGUodHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5faW50ZXJ2YWwpO1xuICAgICAgdGhpcy5faW50ZXJ2YWwgPSBudWxsO1xuICAgIH07XG5cbiAgICBfcHJvdG8uY3ljbGUgPSBmdW5jdGlvbiBjeWNsZShldmVudCkge1xuICAgICAgaWYgKCFldmVudCkge1xuICAgICAgICB0aGlzLl9pc1BhdXNlZCA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5faW50ZXJ2YWwpIHtcbiAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7XG4gICAgICAgIHRoaXMuX2ludGVydmFsID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5pbnRlcnZhbCAmJiAhdGhpcy5faXNQYXVzZWQpIHtcbiAgICAgICAgdGhpcy5faW50ZXJ2YWwgPSBzZXRJbnRlcnZhbCgoZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID8gdGhpcy5uZXh0V2hlblZpc2libGUgOiB0aGlzLm5leHQpLmJpbmQodGhpcyksIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by50byA9IGZ1bmN0aW9uIHRvKGluZGV4KSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICB0aGlzLl9hY3RpdmVFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFNlbGVjdG9yJDIuQUNUSVZFX0lURU0pO1xuXG4gICAgICB2YXIgYWN0aXZlSW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgodGhpcy5fYWN0aXZlRWxlbWVudCk7XG5cbiAgICAgIGlmIChpbmRleCA+IHRoaXMuX2l0ZW1zLmxlbmd0aCAtIDEgfHwgaW5kZXggPCAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2lzU2xpZGluZykge1xuICAgICAgICAkKHRoaXMuX2VsZW1lbnQpLm9uZShFdmVudCQyLlNMSUQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMudG8oaW5kZXgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWN0aXZlSW5kZXggPT09IGluZGV4KSB7XG4gICAgICAgIHRoaXMucGF1c2UoKTtcbiAgICAgICAgdGhpcy5jeWNsZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBkaXJlY3Rpb24gPSBpbmRleCA+IGFjdGl2ZUluZGV4ID8gRGlyZWN0aW9uLk5FWFQgOiBEaXJlY3Rpb24uUFJFVjtcblxuICAgICAgdGhpcy5fc2xpZGUoZGlyZWN0aW9uLCB0aGlzLl9pdGVtc1tpbmRleF0pO1xuICAgIH07XG5cbiAgICBfcHJvdG8uZGlzcG9zZSA9IGZ1bmN0aW9uIGRpc3Bvc2UoKSB7XG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLm9mZihFVkVOVF9LRVkkMik7XG4gICAgICAkLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkMik7XG4gICAgICB0aGlzLl9pdGVtcyA9IG51bGw7XG4gICAgICB0aGlzLl9jb25maWcgPSBudWxsO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgICB0aGlzLl9pbnRlcnZhbCA9IG51bGw7XG4gICAgICB0aGlzLl9pc1BhdXNlZCA9IG51bGw7XG4gICAgICB0aGlzLl9pc1NsaWRpbmcgPSBudWxsO1xuICAgICAgdGhpcy5fYWN0aXZlRWxlbWVudCA9IG51bGw7XG4gICAgICB0aGlzLl9pbmRpY2F0b3JzRWxlbWVudCA9IG51bGw7XG4gICAgfSAvLyBQcml2YXRlXG4gICAgO1xuXG4gICAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQsIHt9LCBjb25maWcpO1xuICAgICAgVXRpbC50eXBlQ2hlY2tDb25maWcoTkFNRSQyLCBjb25maWcsIERlZmF1bHRUeXBlKTtcbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfTtcblxuICAgIF9wcm90by5faGFuZGxlU3dpcGUgPSBmdW5jdGlvbiBfaGFuZGxlU3dpcGUoKSB7XG4gICAgICB2YXIgYWJzRGVsdGF4ID0gTWF0aC5hYnModGhpcy50b3VjaERlbHRhWCk7XG5cbiAgICAgIGlmIChhYnNEZWx0YXggPD0gU1dJUEVfVEhSRVNIT0xEKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGRpcmVjdGlvbiA9IGFic0RlbHRheCAvIHRoaXMudG91Y2hEZWx0YVg7XG4gICAgICB0aGlzLnRvdWNoRGVsdGFYID0gMDsgLy8gc3dpcGUgbGVmdFxuXG4gICAgICBpZiAoZGlyZWN0aW9uID4gMCkge1xuICAgICAgICB0aGlzLnByZXYoKTtcbiAgICAgIH0gLy8gc3dpcGUgcmlnaHRcblxuXG4gICAgICBpZiAoZGlyZWN0aW9uIDwgMCkge1xuICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9hZGRFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uIF9hZGRFdmVudExpc3RlbmVycygpIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLmtleWJvYXJkKSB7XG4gICAgICAgICQodGhpcy5fZWxlbWVudCkub24oRXZlbnQkMi5LRVlET1dOLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMyLl9rZXlkb3duKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcucGF1c2UgPT09ICdob3ZlcicpIHtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQyLk1PVVNFRU5URVIsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczIucGF1c2UoZXZlbnQpO1xuICAgICAgICB9KS5vbihFdmVudCQyLk1PVVNFTEVBVkUsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczIuY3ljbGUoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy50b3VjaCkge1xuICAgICAgICB0aGlzLl9hZGRUb3VjaEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5fYWRkVG91Y2hFdmVudExpc3RlbmVycyA9IGZ1bmN0aW9uIF9hZGRUb3VjaEV2ZW50TGlzdGVuZXJzKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIGlmICghdGhpcy5fdG91Y2hTdXBwb3J0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgc3RhcnQgPSBmdW5jdGlvbiBzdGFydChldmVudCkge1xuICAgICAgICBpZiAoX3RoaXMzLl9wb2ludGVyRXZlbnQgJiYgUG9pbnRlclR5cGVbZXZlbnQub3JpZ2luYWxFdmVudC5wb2ludGVyVHlwZS50b1VwcGVyQ2FzZSgpXSkge1xuICAgICAgICAgIF90aGlzMy50b3VjaFN0YXJ0WCA9IGV2ZW50Lm9yaWdpbmFsRXZlbnQuY2xpZW50WDtcbiAgICAgICAgfSBlbHNlIGlmICghX3RoaXMzLl9wb2ludGVyRXZlbnQpIHtcbiAgICAgICAgICBfdGhpczMudG91Y2hTdGFydFggPSBldmVudC5vcmlnaW5hbEV2ZW50LnRvdWNoZXNbMF0uY2xpZW50WDtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdmFyIG1vdmUgPSBmdW5jdGlvbiBtb3ZlKGV2ZW50KSB7XG4gICAgICAgIC8vIGVuc3VyZSBzd2lwaW5nIHdpdGggb25lIHRvdWNoIGFuZCBub3QgcGluY2hpbmdcbiAgICAgICAgaWYgKGV2ZW50Lm9yaWdpbmFsRXZlbnQudG91Y2hlcyAmJiBldmVudC5vcmlnaW5hbEV2ZW50LnRvdWNoZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIF90aGlzMy50b3VjaERlbHRhWCA9IDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3RoaXMzLnRvdWNoRGVsdGFYID0gZXZlbnQub3JpZ2luYWxFdmVudC50b3VjaGVzWzBdLmNsaWVudFggLSBfdGhpczMudG91Y2hTdGFydFg7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHZhciBlbmQgPSBmdW5jdGlvbiBlbmQoZXZlbnQpIHtcbiAgICAgICAgaWYgKF90aGlzMy5fcG9pbnRlckV2ZW50ICYmIFBvaW50ZXJUeXBlW2V2ZW50Lm9yaWdpbmFsRXZlbnQucG9pbnRlclR5cGUudG9VcHBlckNhc2UoKV0pIHtcbiAgICAgICAgICBfdGhpczMudG91Y2hEZWx0YVggPSBldmVudC5vcmlnaW5hbEV2ZW50LmNsaWVudFggLSBfdGhpczMudG91Y2hTdGFydFg7XG4gICAgICAgIH1cblxuICAgICAgICBfdGhpczMuX2hhbmRsZVN3aXBlKCk7XG5cbiAgICAgICAgaWYgKF90aGlzMy5fY29uZmlnLnBhdXNlID09PSAnaG92ZXInKSB7XG4gICAgICAgICAgLy8gSWYgaXQncyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlLCBtb3VzZWVudGVyL2xlYXZlIGFyZSBmaXJlZCBhc1xuICAgICAgICAgIC8vIHBhcnQgb2YgdGhlIG1vdXNlIGNvbXBhdGliaWxpdHkgZXZlbnRzIG9uIGZpcnN0IHRhcCAtIHRoZSBjYXJvdXNlbFxuICAgICAgICAgIC8vIHdvdWxkIHN0b3AgY3ljbGluZyB1bnRpbCB1c2VyIHRhcHBlZCBvdXQgb2YgaXQ7XG4gICAgICAgICAgLy8gaGVyZSwgd2UgbGlzdGVuIGZvciB0b3VjaGVuZCwgZXhwbGljaXRseSBwYXVzZSB0aGUgY2Fyb3VzZWxcbiAgICAgICAgICAvLyAoYXMgaWYgaXQncyB0aGUgc2Vjb25kIHRpbWUgd2UgdGFwIG9uIGl0LCBtb3VzZWVudGVyIGNvbXBhdCBldmVudFxuICAgICAgICAgIC8vIGlzIE5PVCBmaXJlZCkgYW5kIGFmdGVyIGEgdGltZW91dCAodG8gYWxsb3cgZm9yIG1vdXNlIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAvLyBldmVudHMgdG8gZmlyZSkgd2UgZXhwbGljaXRseSByZXN0YXJ0IGN5Y2xpbmdcbiAgICAgICAgICBfdGhpczMucGF1c2UoKTtcblxuICAgICAgICAgIGlmIChfdGhpczMudG91Y2hUaW1lb3V0KSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoX3RoaXMzLnRvdWNoVGltZW91dCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgX3RoaXMzLnRvdWNoVGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXMzLmN5Y2xlKGV2ZW50KTtcbiAgICAgICAgICB9LCBUT1VDSEVWRU5UX0NPTVBBVF9XQUlUICsgX3RoaXMzLl9jb25maWcuaW50ZXJ2YWwpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAkKHRoaXMuX2VsZW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQyLklURU1fSU1HKSkub24oRXZlbnQkMi5EUkFHX1NUQVJULCBmdW5jdGlvbiAoZSkge1xuICAgICAgICByZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmICh0aGlzLl9wb2ludGVyRXZlbnQpIHtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQyLlBPSU5URVJET1dOLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gc3RhcnQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQyLlBPSU5URVJVUCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIGVuZChldmVudCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc05hbWUkMi5QT0lOVEVSX0VWRU5UKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICQodGhpcy5fZWxlbWVudCkub24oRXZlbnQkMi5UT1VDSFNUQVJULCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gc3RhcnQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQyLlRPVUNITU9WRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgcmV0dXJuIG1vdmUoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQyLlRPVUNIRU5ELCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICByZXR1cm4gZW5kKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5fa2V5ZG93biA9IGZ1bmN0aW9uIF9rZXlkb3duKGV2ZW50KSB7XG4gICAgICBpZiAoL2lucHV0fHRleHRhcmVhL2kudGVzdChldmVudC50YXJnZXQudGFnTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGV2ZW50LndoaWNoKSB7XG4gICAgICAgIGNhc2UgQVJST1dfTEVGVF9LRVlDT0RFOlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5wcmV2KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBBUlJPV19SSUdIVF9LRVlDT0RFOlxuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0SXRlbUluZGV4ID0gZnVuY3Rpb24gX2dldEl0ZW1JbmRleChlbGVtZW50KSB7XG4gICAgICB0aGlzLl9pdGVtcyA9IGVsZW1lbnQgJiYgZWxlbWVudC5wYXJlbnROb2RlID8gW10uc2xpY2UuY2FsbChlbGVtZW50LnBhcmVudE5vZGUucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQyLklURU0pKSA6IFtdO1xuICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1zLmluZGV4T2YoZWxlbWVudCk7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0SXRlbUJ5RGlyZWN0aW9uID0gZnVuY3Rpb24gX2dldEl0ZW1CeURpcmVjdGlvbihkaXJlY3Rpb24sIGFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHZhciBpc05leHREaXJlY3Rpb24gPSBkaXJlY3Rpb24gPT09IERpcmVjdGlvbi5ORVhUO1xuICAgICAgdmFyIGlzUHJldkRpcmVjdGlvbiA9IGRpcmVjdGlvbiA9PT0gRGlyZWN0aW9uLlBSRVY7XG5cbiAgICAgIHZhciBhY3RpdmVJbmRleCA9IHRoaXMuX2dldEl0ZW1JbmRleChhY3RpdmVFbGVtZW50KTtcblxuICAgICAgdmFyIGxhc3RJdGVtSW5kZXggPSB0aGlzLl9pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgdmFyIGlzR29pbmdUb1dyYXAgPSBpc1ByZXZEaXJlY3Rpb24gJiYgYWN0aXZlSW5kZXggPT09IDAgfHwgaXNOZXh0RGlyZWN0aW9uICYmIGFjdGl2ZUluZGV4ID09PSBsYXN0SXRlbUluZGV4O1xuXG4gICAgICBpZiAoaXNHb2luZ1RvV3JhcCAmJiAhdGhpcy5fY29uZmlnLndyYXApIHtcbiAgICAgICAgcmV0dXJuIGFjdGl2ZUVsZW1lbnQ7XG4gICAgICB9XG5cbiAgICAgIHZhciBkZWx0YSA9IGRpcmVjdGlvbiA9PT0gRGlyZWN0aW9uLlBSRVYgPyAtMSA6IDE7XG4gICAgICB2YXIgaXRlbUluZGV4ID0gKGFjdGl2ZUluZGV4ICsgZGVsdGEpICUgdGhpcy5faXRlbXMubGVuZ3RoO1xuICAgICAgcmV0dXJuIGl0ZW1JbmRleCA9PT0gLTEgPyB0aGlzLl9pdGVtc1t0aGlzLl9pdGVtcy5sZW5ndGggLSAxXSA6IHRoaXMuX2l0ZW1zW2l0ZW1JbmRleF07XG4gICAgfTtcblxuICAgIF9wcm90by5fdHJpZ2dlclNsaWRlRXZlbnQgPSBmdW5jdGlvbiBfdHJpZ2dlclNsaWRlRXZlbnQocmVsYXRlZFRhcmdldCwgZXZlbnREaXJlY3Rpb25OYW1lKSB7XG4gICAgICB2YXIgdGFyZ2V0SW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgocmVsYXRlZFRhcmdldCk7XG5cbiAgICAgIHZhciBmcm9tSW5kZXggPSB0aGlzLl9nZXRJdGVtSW5kZXgodGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFNlbGVjdG9yJDIuQUNUSVZFX0lURU0pKTtcblxuICAgICAgdmFyIHNsaWRlRXZlbnQgPSAkLkV2ZW50KEV2ZW50JDIuU0xJREUsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldCxcbiAgICAgICAgZGlyZWN0aW9uOiBldmVudERpcmVjdGlvbk5hbWUsXG4gICAgICAgIGZyb206IGZyb21JbmRleCxcbiAgICAgICAgdG86IHRhcmdldEluZGV4XG4gICAgICB9KTtcbiAgICAgICQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihzbGlkZUV2ZW50KTtcbiAgICAgIHJldHVybiBzbGlkZUV2ZW50O1xuICAgIH07XG5cbiAgICBfcHJvdG8uX3NldEFjdGl2ZUluZGljYXRvckVsZW1lbnQgPSBmdW5jdGlvbiBfc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChlbGVtZW50KSB7XG4gICAgICBpZiAodGhpcy5faW5kaWNhdG9yc0VsZW1lbnQpIHtcbiAgICAgICAgdmFyIGluZGljYXRvcnMgPSBbXS5zbGljZS5jYWxsKHRoaXMuX2luZGljYXRvcnNFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoU2VsZWN0b3IkMi5BQ1RJVkUpKTtcbiAgICAgICAgJChpbmRpY2F0b3JzKS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkMi5BQ1RJVkUpO1xuXG4gICAgICAgIHZhciBuZXh0SW5kaWNhdG9yID0gdGhpcy5faW5kaWNhdG9yc0VsZW1lbnQuY2hpbGRyZW5bdGhpcy5fZ2V0SXRlbUluZGV4KGVsZW1lbnQpXTtcblxuICAgICAgICBpZiAobmV4dEluZGljYXRvcikge1xuICAgICAgICAgICQobmV4dEluZGljYXRvcikuYWRkQ2xhc3MoQ2xhc3NOYW1lJDIuQUNUSVZFKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8uX3NsaWRlID0gZnVuY3Rpb24gX3NsaWRlKGRpcmVjdGlvbiwgZWxlbWVudCkge1xuICAgICAgdmFyIF90aGlzNCA9IHRoaXM7XG5cbiAgICAgIHZhciBhY3RpdmVFbGVtZW50ID0gdGhpcy5fZWxlbWVudC5xdWVyeVNlbGVjdG9yKFNlbGVjdG9yJDIuQUNUSVZFX0lURU0pO1xuXG4gICAgICB2YXIgYWN0aXZlRWxlbWVudEluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KGFjdGl2ZUVsZW1lbnQpO1xuXG4gICAgICB2YXIgbmV4dEVsZW1lbnQgPSBlbGVtZW50IHx8IGFjdGl2ZUVsZW1lbnQgJiYgdGhpcy5fZ2V0SXRlbUJ5RGlyZWN0aW9uKGRpcmVjdGlvbiwgYWN0aXZlRWxlbWVudCk7XG5cbiAgICAgIHZhciBuZXh0RWxlbWVudEluZGV4ID0gdGhpcy5fZ2V0SXRlbUluZGV4KG5leHRFbGVtZW50KTtcblxuICAgICAgdmFyIGlzQ3ljbGluZyA9IEJvb2xlYW4odGhpcy5faW50ZXJ2YWwpO1xuICAgICAgdmFyIGRpcmVjdGlvbmFsQ2xhc3NOYW1lO1xuICAgICAgdmFyIG9yZGVyQ2xhc3NOYW1lO1xuICAgICAgdmFyIGV2ZW50RGlyZWN0aW9uTmFtZTtcblxuICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gRGlyZWN0aW9uLk5FWFQpIHtcbiAgICAgICAgZGlyZWN0aW9uYWxDbGFzc05hbWUgPSBDbGFzc05hbWUkMi5MRUZUO1xuICAgICAgICBvcmRlckNsYXNzTmFtZSA9IENsYXNzTmFtZSQyLk5FWFQ7XG4gICAgICAgIGV2ZW50RGlyZWN0aW9uTmFtZSA9IERpcmVjdGlvbi5MRUZUO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGlyZWN0aW9uYWxDbGFzc05hbWUgPSBDbGFzc05hbWUkMi5SSUdIVDtcbiAgICAgICAgb3JkZXJDbGFzc05hbWUgPSBDbGFzc05hbWUkMi5QUkVWO1xuICAgICAgICBldmVudERpcmVjdGlvbk5hbWUgPSBEaXJlY3Rpb24uUklHSFQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXh0RWxlbWVudCAmJiAkKG5leHRFbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkMi5BQ1RJVkUpKSB7XG4gICAgICAgIHRoaXMuX2lzU2xpZGluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBzbGlkZUV2ZW50ID0gdGhpcy5fdHJpZ2dlclNsaWRlRXZlbnQobmV4dEVsZW1lbnQsIGV2ZW50RGlyZWN0aW9uTmFtZSk7XG5cbiAgICAgIGlmIChzbGlkZUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFhY3RpdmVFbGVtZW50IHx8ICFuZXh0RWxlbWVudCkge1xuICAgICAgICAvLyBTb21lIHdlaXJkbmVzcyBpcyBoYXBwZW5pbmcsIHNvIHdlIGJhaWxcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pc1NsaWRpbmcgPSB0cnVlO1xuXG4gICAgICBpZiAoaXNDeWNsaW5nKSB7XG4gICAgICAgIHRoaXMucGF1c2UoKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fc2V0QWN0aXZlSW5kaWNhdG9yRWxlbWVudChuZXh0RWxlbWVudCk7XG5cbiAgICAgIHZhciBzbGlkRXZlbnQgPSAkLkV2ZW50KEV2ZW50JDIuU0xJRCwge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiBuZXh0RWxlbWVudCxcbiAgICAgICAgZGlyZWN0aW9uOiBldmVudERpcmVjdGlvbk5hbWUsXG4gICAgICAgIGZyb206IGFjdGl2ZUVsZW1lbnRJbmRleCxcbiAgICAgICAgdG86IG5leHRFbGVtZW50SW5kZXhcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkMi5TTElERSkpIHtcbiAgICAgICAgJChuZXh0RWxlbWVudCkuYWRkQ2xhc3Mob3JkZXJDbGFzc05hbWUpO1xuICAgICAgICBVdGlsLnJlZmxvdyhuZXh0RWxlbWVudCk7XG4gICAgICAgICQoYWN0aXZlRWxlbWVudCkuYWRkQ2xhc3MoZGlyZWN0aW9uYWxDbGFzc05hbWUpO1xuICAgICAgICAkKG5leHRFbGVtZW50KS5hZGRDbGFzcyhkaXJlY3Rpb25hbENsYXNzTmFtZSk7XG4gICAgICAgIHZhciBuZXh0RWxlbWVudEludGVydmFsID0gcGFyc2VJbnQobmV4dEVsZW1lbnQuZ2V0QXR0cmlidXRlKCdkYXRhLWludGVydmFsJyksIDEwKTtcblxuICAgICAgICBpZiAobmV4dEVsZW1lbnRJbnRlcnZhbCkge1xuICAgICAgICAgIHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgPSB0aGlzLl9jb25maWcuZGVmYXVsdEludGVydmFsIHx8IHRoaXMuX2NvbmZpZy5pbnRlcnZhbDtcbiAgICAgICAgICB0aGlzLl9jb25maWcuaW50ZXJ2YWwgPSBuZXh0RWxlbWVudEludGVydmFsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuX2NvbmZpZy5pbnRlcnZhbCA9IHRoaXMuX2NvbmZpZy5kZWZhdWx0SW50ZXJ2YWwgfHwgdGhpcy5fY29uZmlnLmludGVydmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbiA9IFV0aWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQoYWN0aXZlRWxlbWVudCk7XG4gICAgICAgICQoYWN0aXZlRWxlbWVudCkub25lKFV0aWwuVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAkKG5leHRFbGVtZW50KS5yZW1vdmVDbGFzcyhkaXJlY3Rpb25hbENsYXNzTmFtZSArIFwiIFwiICsgb3JkZXJDbGFzc05hbWUpLmFkZENsYXNzKENsYXNzTmFtZSQyLkFDVElWRSk7XG4gICAgICAgICAgJChhY3RpdmVFbGVtZW50KS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkMi5BQ1RJVkUgKyBcIiBcIiArIG9yZGVyQ2xhc3NOYW1lICsgXCIgXCIgKyBkaXJlY3Rpb25hbENsYXNzTmFtZSk7XG4gICAgICAgICAgX3RoaXM0Ll9pc1NsaWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiAkKF90aGlzNC5fZWxlbWVudCkudHJpZ2dlcihzbGlkRXZlbnQpO1xuICAgICAgICAgIH0sIDApO1xuICAgICAgICB9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZCh0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgJChhY3RpdmVFbGVtZW50KS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkMi5BQ1RJVkUpO1xuICAgICAgICAkKG5leHRFbGVtZW50KS5hZGRDbGFzcyhDbGFzc05hbWUkMi5BQ1RJVkUpO1xuICAgICAgICB0aGlzLl9pc1NsaWRpbmcgPSBmYWxzZTtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHNsaWRFdmVudCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0N5Y2xpbmcpIHtcbiAgICAgICAgdGhpcy5jeWNsZSgpO1xuICAgICAgfVxuICAgIH0gLy8gU3RhdGljXG4gICAgO1xuXG4gICAgQ2Fyb3VzZWwuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIF9qUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSAkKHRoaXMpLmRhdGEoREFUQV9LRVkkMik7XG5cbiAgICAgICAgdmFyIF9jb25maWcgPSBfb2JqZWN0U3ByZWFkMih7fSwgRGVmYXVsdCwge30sICQodGhpcykuZGF0YSgpKTtcblxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBfY29uZmlnID0gX29iamVjdFNwcmVhZDIoe30sIF9jb25maWcsIHt9LCBjb25maWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGFjdGlvbiA9IHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnID8gY29uZmlnIDogX2NvbmZpZy5zbGlkZTtcblxuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICBkYXRhID0gbmV3IENhcm91c2VsKHRoaXMsIF9jb25maWcpO1xuICAgICAgICAgICQodGhpcykuZGF0YShEQVRBX0tFWSQyLCBkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIGRhdGEudG8oY29uZmlnKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgYWN0aW9uID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVthY3Rpb25dID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBhY3Rpb24gKyBcIlxcXCJcIik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGF0YVthY3Rpb25dKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoX2NvbmZpZy5pbnRlcnZhbCAmJiBfY29uZmlnLnJpZGUpIHtcbiAgICAgICAgICBkYXRhLnBhdXNlKCk7XG4gICAgICAgICAgZGF0YS5jeWNsZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgQ2Fyb3VzZWwuX2RhdGFBcGlDbGlja0hhbmRsZXIgPSBmdW5jdGlvbiBfZGF0YUFwaUNsaWNrSGFuZGxlcihldmVudCkge1xuICAgICAgdmFyIHNlbGVjdG9yID0gVXRpbC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO1xuXG4gICAgICBpZiAoIXNlbGVjdG9yKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHRhcmdldCA9ICQoc2VsZWN0b3IpWzBdO1xuXG4gICAgICBpZiAoIXRhcmdldCB8fCAhJCh0YXJnZXQpLmhhc0NsYXNzKENsYXNzTmFtZSQyLkNBUk9VU0VMKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBjb25maWcgPSBfb2JqZWN0U3ByZWFkMih7fSwgJCh0YXJnZXQpLmRhdGEoKSwge30sICQodGhpcykuZGF0YSgpKTtcblxuICAgICAgdmFyIHNsaWRlSW5kZXggPSB0aGlzLmdldEF0dHJpYnV0ZSgnZGF0YS1zbGlkZS10bycpO1xuXG4gICAgICBpZiAoc2xpZGVJbmRleCkge1xuICAgICAgICBjb25maWcuaW50ZXJ2YWwgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgQ2Fyb3VzZWwuX2pRdWVyeUludGVyZmFjZS5jYWxsKCQodGFyZ2V0KSwgY29uZmlnKTtcblxuICAgICAgaWYgKHNsaWRlSW5kZXgpIHtcbiAgICAgICAgJCh0YXJnZXQpLmRhdGEoREFUQV9LRVkkMikudG8oc2xpZGVJbmRleCk7XG4gICAgICB9XG5cbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcblxuICAgIF9jcmVhdGVDbGFzcyhDYXJvdXNlbCwgbnVsbCwgW3tcbiAgICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFZFUlNJT04kMjtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBEZWZhdWx0O1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBDYXJvdXNlbDtcbiAgfSgpO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuXG4gICQoZG9jdW1lbnQpLm9uKEV2ZW50JDIuQ0xJQ0tfREFUQV9BUEksIFNlbGVjdG9yJDIuREFUQV9TTElERSwgQ2Fyb3VzZWwuX2RhdGFBcGlDbGlja0hhbmRsZXIpO1xuICAkKHdpbmRvdykub24oRXZlbnQkMi5MT0FEX0RBVEFfQVBJLCBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGNhcm91c2VscyA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQyLkRBVEFfUklERSkpO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IGNhcm91c2Vscy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgdmFyICRjYXJvdXNlbCA9ICQoY2Fyb3VzZWxzW2ldKTtcblxuICAgICAgQ2Fyb3VzZWwuX2pRdWVyeUludGVyZmFjZS5jYWxsKCRjYXJvdXNlbCwgJGNhcm91c2VsLmRhdGEoKSk7XG4gICAgfVxuICB9KTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBqUXVlcnlcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gICQuZm5bTkFNRSQyXSA9IENhcm91c2VsLl9qUXVlcnlJbnRlcmZhY2U7XG4gICQuZm5bTkFNRSQyXS5Db25zdHJ1Y3RvciA9IENhcm91c2VsO1xuXG4gICQuZm5bTkFNRSQyXS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQuZm5bTkFNRSQyXSA9IEpRVUVSWV9OT19DT05GTElDVCQyO1xuICAgIHJldHVybiBDYXJvdXNlbC5falF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xuXG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ29uc3RhbnRzXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgTkFNRSQzID0gJ2NvbGxhcHNlJztcbiAgdmFyIFZFUlNJT04kMyA9ICc0LjQuMSc7XG4gIHZhciBEQVRBX0tFWSQzID0gJ2JzLmNvbGxhcHNlJztcbiAgdmFyIEVWRU5UX0tFWSQzID0gXCIuXCIgKyBEQVRBX0tFWSQzO1xuICB2YXIgREFUQV9BUElfS0VZJDMgPSAnLmRhdGEtYXBpJztcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQzID0gJC5mbltOQU1FJDNdO1xuICB2YXIgRGVmYXVsdCQxID0ge1xuICAgIHRvZ2dsZTogdHJ1ZSxcbiAgICBwYXJlbnQ6ICcnXG4gIH07XG4gIHZhciBEZWZhdWx0VHlwZSQxID0ge1xuICAgIHRvZ2dsZTogJ2Jvb2xlYW4nLFxuICAgIHBhcmVudDogJyhzdHJpbmd8ZWxlbWVudCknXG4gIH07XG4gIHZhciBFdmVudCQzID0ge1xuICAgIFNIT1c6IFwic2hvd1wiICsgRVZFTlRfS0VZJDMsXG4gICAgU0hPV046IFwic2hvd25cIiArIEVWRU5UX0tFWSQzLFxuICAgIEhJREU6IFwiaGlkZVwiICsgRVZFTlRfS0VZJDMsXG4gICAgSElEREVOOiBcImhpZGRlblwiICsgRVZFTlRfS0VZJDMsXG4gICAgQ0xJQ0tfREFUQV9BUEk6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQzICsgREFUQV9BUElfS0VZJDNcbiAgfTtcbiAgdmFyIENsYXNzTmFtZSQzID0ge1xuICAgIFNIT1c6ICdzaG93JyxcbiAgICBDT0xMQVBTRTogJ2NvbGxhcHNlJyxcbiAgICBDT0xMQVBTSU5HOiAnY29sbGFwc2luZycsXG4gICAgQ09MTEFQU0VEOiAnY29sbGFwc2VkJ1xuICB9O1xuICB2YXIgRGltZW5zaW9uID0ge1xuICAgIFdJRFRIOiAnd2lkdGgnLFxuICAgIEhFSUdIVDogJ2hlaWdodCdcbiAgfTtcbiAgdmFyIFNlbGVjdG9yJDMgPSB7XG4gICAgQUNUSVZFUzogJy5zaG93LCAuY29sbGFwc2luZycsXG4gICAgREFUQV9UT0dHTEU6ICdbZGF0YS10b2dnbGU9XCJjb2xsYXBzZVwiXSdcbiAgfTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDbGFzcyBEZWZpbml0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgQ29sbGFwc2UgPVxuICAvKiNfX1BVUkVfXyovXG4gIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBDb2xsYXBzZShlbGVtZW50LCBjb25maWcpIHtcbiAgICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICAgIHRoaXMuX3RyaWdnZXJBcnJheSA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChcIltkYXRhLXRvZ2dsZT1cXFwiY29sbGFwc2VcXFwiXVtocmVmPVxcXCIjXCIgKyBlbGVtZW50LmlkICsgXCJcXFwiXSxcIiArIChcIltkYXRhLXRvZ2dsZT1cXFwiY29sbGFwc2VcXFwiXVtkYXRhLXRhcmdldD1cXFwiI1wiICsgZWxlbWVudC5pZCArIFwiXFxcIl1cIikpKTtcbiAgICAgIHZhciB0b2dnbGVMaXN0ID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFNlbGVjdG9yJDMuREFUQV9UT0dHTEUpKTtcblxuICAgICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHRvZ2dsZUxpc3QubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgICAgdmFyIGVsZW0gPSB0b2dnbGVMaXN0W2ldO1xuICAgICAgICB2YXIgc2VsZWN0b3IgPSBVdGlsLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQoZWxlbSk7XG4gICAgICAgIHZhciBmaWx0ZXJFbGVtZW50ID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSkuZmlsdGVyKGZ1bmN0aW9uIChmb3VuZEVsZW0pIHtcbiAgICAgICAgICByZXR1cm4gZm91bmRFbGVtID09PSBlbGVtZW50O1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoc2VsZWN0b3IgIT09IG51bGwgJiYgZmlsdGVyRWxlbWVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdGhpcy5fc2VsZWN0b3IgPSBzZWxlY3RvcjtcblxuICAgICAgICAgIHRoaXMuX3RyaWdnZXJBcnJheS5wdXNoKGVsZW0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3BhcmVudCA9IHRoaXMuX2NvbmZpZy5wYXJlbnQgPyB0aGlzLl9nZXRQYXJlbnQoKSA6IG51bGw7XG5cbiAgICAgIGlmICghdGhpcy5fY29uZmlnLnBhcmVudCkge1xuICAgICAgICB0aGlzLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3ModGhpcy5fZWxlbWVudCwgdGhpcy5fdHJpZ2dlckFycmF5KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy50b2dnbGUpIHtcbiAgICAgICAgdGhpcy50b2dnbGUoKTtcbiAgICAgIH1cbiAgICB9IC8vIEdldHRlcnNcblxuXG4gICAgdmFyIF9wcm90byA9IENvbGxhcHNlLnByb3RvdHlwZTtcblxuICAgIC8vIFB1YmxpY1xuICAgIF9wcm90by50b2dnbGUgPSBmdW5jdGlvbiB0b2dnbGUoKSB7XG4gICAgICBpZiAoJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkMy5TSE9XKSkge1xuICAgICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICBpZiAodGhpcy5faXNUcmFuc2l0aW9uaW5nIHx8ICQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDMuU0hPVykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgYWN0aXZlcztcbiAgICAgIHZhciBhY3RpdmVzRGF0YTtcblxuICAgICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgICBhY3RpdmVzID0gW10uc2xpY2UuY2FsbCh0aGlzLl9wYXJlbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQzLkFDVElWRVMpKS5maWx0ZXIoZnVuY3Rpb24gKGVsZW0pIHtcbiAgICAgICAgICBpZiAodHlwZW9mIF90aGlzLl9jb25maWcucGFyZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCdkYXRhLXBhcmVudCcpID09PSBfdGhpcy5fY29uZmlnLnBhcmVudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZWxlbS5jbGFzc0xpc3QuY29udGFpbnMoQ2xhc3NOYW1lJDMuQ09MTEFQU0UpO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoYWN0aXZlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBhY3RpdmVzID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoYWN0aXZlcykge1xuICAgICAgICBhY3RpdmVzRGF0YSA9ICQoYWN0aXZlcykubm90KHRoaXMuX3NlbGVjdG9yKS5kYXRhKERBVEFfS0VZJDMpO1xuXG4gICAgICAgIGlmIChhY3RpdmVzRGF0YSAmJiBhY3RpdmVzRGF0YS5faXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBzdGFydEV2ZW50ID0gJC5FdmVudChFdmVudCQzLlNIT1cpO1xuICAgICAgJCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHN0YXJ0RXZlbnQpO1xuXG4gICAgICBpZiAoc3RhcnRFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChhY3RpdmVzKSB7XG4gICAgICAgIENvbGxhcHNlLl9qUXVlcnlJbnRlcmZhY2UuY2FsbCgkKGFjdGl2ZXMpLm5vdCh0aGlzLl9zZWxlY3RvciksICdoaWRlJyk7XG5cbiAgICAgICAgaWYgKCFhY3RpdmVzRGF0YSkge1xuICAgICAgICAgICQoYWN0aXZlcykuZGF0YShEQVRBX0tFWSQzLCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB2YXIgZGltZW5zaW9uID0gdGhpcy5fZ2V0RGltZW5zaW9uKCk7XG5cbiAgICAgICQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoQ2xhc3NOYW1lJDMuQ09MTEFQU0UpLmFkZENsYXNzKENsYXNzTmFtZSQzLkNPTExBUFNJTkcpO1xuICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gMDtcblxuICAgICAgaWYgKHRoaXMuX3RyaWdnZXJBcnJheS5sZW5ndGgpIHtcbiAgICAgICAgJCh0aGlzLl90cmlnZ2VyQXJyYXkpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQzLkNPTExBUFNFRCkuYXR0cignYXJpYS1leHBhbmRlZCcsIHRydWUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldFRyYW5zaXRpb25pbmcodHJ1ZSk7XG5cbiAgICAgIHZhciBjb21wbGV0ZSA9IGZ1bmN0aW9uIGNvbXBsZXRlKCkge1xuICAgICAgICAkKF90aGlzLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkMy5DT0xMQVBTSU5HKS5hZGRDbGFzcyhDbGFzc05hbWUkMy5DT0xMQVBTRSkuYWRkQ2xhc3MoQ2xhc3NOYW1lJDMuU0hPVyk7XG4gICAgICAgIF90aGlzLl9lbGVtZW50LnN0eWxlW2RpbWVuc2lvbl0gPSAnJztcblxuICAgICAgICBfdGhpcy5zZXRUcmFuc2l0aW9uaW5nKGZhbHNlKTtcblxuICAgICAgICAkKF90aGlzLl9lbGVtZW50KS50cmlnZ2VyKEV2ZW50JDMuU0hPV04pO1xuICAgICAgfTtcblxuICAgICAgdmFyIGNhcGl0YWxpemVkRGltZW5zaW9uID0gZGltZW5zaW9uWzBdLnRvVXBwZXJDYXNlKCkgKyBkaW1lbnNpb24uc2xpY2UoMSk7XG4gICAgICB2YXIgc2Nyb2xsU2l6ZSA9IFwic2Nyb2xsXCIgKyBjYXBpdGFsaXplZERpbWVuc2lvbjtcbiAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgY29tcGxldGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICB0aGlzLl9lbGVtZW50LnN0eWxlW2RpbWVuc2lvbl0gPSB0aGlzLl9lbGVtZW50W3Njcm9sbFNpemVdICsgXCJweFwiO1xuICAgIH07XG5cbiAgICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgaWYgKHRoaXMuX2lzVHJhbnNpdGlvbmluZyB8fCAhJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkMy5TSE9XKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBzdGFydEV2ZW50ID0gJC5FdmVudChFdmVudCQzLkhJREUpO1xuICAgICAgJCh0aGlzLl9lbGVtZW50KS50cmlnZ2VyKHN0YXJ0RXZlbnQpO1xuXG4gICAgICBpZiAoc3RhcnRFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciBkaW1lbnNpb24gPSB0aGlzLl9nZXREaW1lbnNpb24oKTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZVtkaW1lbnNpb25dID0gdGhpcy5fZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVtkaW1lbnNpb25dICsgXCJweFwiO1xuICAgICAgVXRpbC5yZWZsb3codGhpcy5fZWxlbWVudCk7XG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKENsYXNzTmFtZSQzLkNPTExBUFNJTkcpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQzLkNPTExBUFNFKS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkMy5TSE9XKTtcbiAgICAgIHZhciB0cmlnZ2VyQXJyYXlMZW5ndGggPSB0aGlzLl90cmlnZ2VyQXJyYXkubGVuZ3RoO1xuXG4gICAgICBpZiAodHJpZ2dlckFycmF5TGVuZ3RoID4gMCkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRyaWdnZXJBcnJheUxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgdmFyIHRyaWdnZXIgPSB0aGlzLl90cmlnZ2VyQXJyYXlbaV07XG4gICAgICAgICAgdmFyIHNlbGVjdG9yID0gVXRpbC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRyaWdnZXIpO1xuXG4gICAgICAgICAgaWYgKHNlbGVjdG9yICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgJGVsZW0gPSAkKFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcikpKTtcblxuICAgICAgICAgICAgaWYgKCEkZWxlbS5oYXNDbGFzcyhDbGFzc05hbWUkMy5TSE9XKSkge1xuICAgICAgICAgICAgICAkKHRyaWdnZXIpLmFkZENsYXNzKENsYXNzTmFtZSQzLkNPTExBUFNFRCkuYXR0cignYXJpYS1leHBhbmRlZCcsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRUcmFuc2l0aW9uaW5nKHRydWUpO1xuXG4gICAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgICAgX3RoaXMyLnNldFRyYW5zaXRpb25pbmcoZmFsc2UpO1xuXG4gICAgICAgICQoX3RoaXMyLl9lbGVtZW50KS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkMy5DT0xMQVBTSU5HKS5hZGRDbGFzcyhDbGFzc05hbWUkMy5DT0xMQVBTRSkudHJpZ2dlcihFdmVudCQzLkhJRERFTik7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLl9lbGVtZW50LnN0eWxlW2RpbWVuc2lvbl0gPSAnJztcbiAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgY29tcGxldGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgfTtcblxuICAgIF9wcm90by5zZXRUcmFuc2l0aW9uaW5nID0gZnVuY3Rpb24gc2V0VHJhbnNpdGlvbmluZyhpc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGlzVHJhbnNpdGlvbmluZztcbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgJC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDMpO1xuICAgICAgdGhpcy5fY29uZmlnID0gbnVsbDtcbiAgICAgIHRoaXMuX3BhcmVudCA9IG51bGw7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgICAgIHRoaXMuX3RyaWdnZXJBcnJheSA9IG51bGw7XG4gICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSBudWxsO1xuICAgIH0gLy8gUHJpdmF0ZVxuICAgIDtcblxuICAgIF9wcm90by5fZ2V0Q29uZmlnID0gZnVuY3Rpb24gX2dldENvbmZpZyhjb25maWcpIHtcbiAgICAgIGNvbmZpZyA9IF9vYmplY3RTcHJlYWQyKHt9LCBEZWZhdWx0JDEsIHt9LCBjb25maWcpO1xuICAgICAgY29uZmlnLnRvZ2dsZSA9IEJvb2xlYW4oY29uZmlnLnRvZ2dsZSk7IC8vIENvZXJjZSBzdHJpbmcgdmFsdWVzXG5cbiAgICAgIFV0aWwudHlwZUNoZWNrQ29uZmlnKE5BTUUkMywgY29uZmlnLCBEZWZhdWx0VHlwZSQxKTtcbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0RGltZW5zaW9uID0gZnVuY3Rpb24gX2dldERpbWVuc2lvbigpIHtcbiAgICAgIHZhciBoYXNXaWR0aCA9ICQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoRGltZW5zaW9uLldJRFRIKTtcbiAgICAgIHJldHVybiBoYXNXaWR0aCA/IERpbWVuc2lvbi5XSURUSCA6IERpbWVuc2lvbi5IRUlHSFQ7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0UGFyZW50ID0gZnVuY3Rpb24gX2dldFBhcmVudCgpIHtcbiAgICAgIHZhciBfdGhpczMgPSB0aGlzO1xuXG4gICAgICB2YXIgcGFyZW50O1xuXG4gICAgICBpZiAoVXRpbC5pc0VsZW1lbnQodGhpcy5fY29uZmlnLnBhcmVudCkpIHtcbiAgICAgICAgcGFyZW50ID0gdGhpcy5fY29uZmlnLnBhcmVudDsgLy8gSXQncyBhIGpRdWVyeSBvYmplY3RcblxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX2NvbmZpZy5wYXJlbnQuanF1ZXJ5ICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIHBhcmVudCA9IHRoaXMuX2NvbmZpZy5wYXJlbnRbMF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5fY29uZmlnLnBhcmVudCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBzZWxlY3RvciA9IFwiW2RhdGEtdG9nZ2xlPVxcXCJjb2xsYXBzZVxcXCJdW2RhdGEtcGFyZW50PVxcXCJcIiArIHRoaXMuX2NvbmZpZy5wYXJlbnQgKyBcIlxcXCJdXCI7XG4gICAgICB2YXIgY2hpbGRyZW4gPSBbXS5zbGljZS5jYWxsKHBhcmVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSk7XG4gICAgICAkKGNoaWxkcmVuKS5lYWNoKGZ1bmN0aW9uIChpLCBlbGVtZW50KSB7XG4gICAgICAgIF90aGlzMy5fYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKENvbGxhcHNlLl9nZXRUYXJnZXRGcm9tRWxlbWVudChlbGVtZW50KSwgW2VsZW1lbnRdKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MgPSBmdW5jdGlvbiBfYWRkQXJpYUFuZENvbGxhcHNlZENsYXNzKGVsZW1lbnQsIHRyaWdnZXJBcnJheSkge1xuICAgICAgdmFyIGlzT3BlbiA9ICQoZWxlbWVudCkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDMuU0hPVyk7XG5cbiAgICAgIGlmICh0cmlnZ2VyQXJyYXkubGVuZ3RoKSB7XG4gICAgICAgICQodHJpZ2dlckFycmF5KS50b2dnbGVDbGFzcyhDbGFzc05hbWUkMy5DT0xMQVBTRUQsICFpc09wZW4pLmF0dHIoJ2FyaWEtZXhwYW5kZWQnLCBpc09wZW4pO1xuICAgICAgfVxuICAgIH0gLy8gU3RhdGljXG4gICAgO1xuXG4gICAgQ29sbGFwc2UuX2dldFRhcmdldEZyb21FbGVtZW50ID0gZnVuY3Rpb24gX2dldFRhcmdldEZyb21FbGVtZW50KGVsZW1lbnQpIHtcbiAgICAgIHZhciBzZWxlY3RvciA9IFV0aWwuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlbGVtZW50KTtcbiAgICAgIHJldHVybiBzZWxlY3RvciA/IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIDogbnVsbDtcbiAgICB9O1xuXG4gICAgQ29sbGFwc2UuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIF9qUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTtcbiAgICAgICAgdmFyIGRhdGEgPSAkdGhpcy5kYXRhKERBVEFfS0VZJDMpO1xuXG4gICAgICAgIHZhciBfY29uZmlnID0gX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkMSwge30sICR0aGlzLmRhdGEoKSwge30sIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZyA/IGNvbmZpZyA6IHt9KTtcblxuICAgICAgICBpZiAoIWRhdGEgJiYgX2NvbmZpZy50b2dnbGUgJiYgL3Nob3d8aGlkZS8udGVzdChjb25maWcpKSB7XG4gICAgICAgICAgX2NvbmZpZy50b2dnbGUgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgIGRhdGEgPSBuZXcgQ29sbGFwc2UodGhpcywgX2NvbmZpZyk7XG4gICAgICAgICAgJHRoaXMuZGF0YShEQVRBX0tFWSQzLCBkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGF0YVtjb25maWddKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfY3JlYXRlQ2xhc3MoQ29sbGFwc2UsIG51bGwsIFt7XG4gICAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBWRVJTSU9OJDM7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdCQxO1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBDb2xsYXBzZTtcbiAgfSgpO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuXG4gICQoZG9jdW1lbnQpLm9uKEV2ZW50JDMuQ0xJQ0tfREFUQV9BUEksIFNlbGVjdG9yJDMuREFUQV9UT0dHTEUsIGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIHByZXZlbnREZWZhdWx0IG9ubHkgZm9yIDxhPiBlbGVtZW50cyAod2hpY2ggY2hhbmdlIHRoZSBVUkwpIG5vdCBpbnNpZGUgdGhlIGNvbGxhcHNpYmxlIGVsZW1lbnRcbiAgICBpZiAoZXZlbnQuY3VycmVudFRhcmdldC50YWdOYW1lID09PSAnQScpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgdmFyICR0cmlnZ2VyID0gJCh0aGlzKTtcbiAgICB2YXIgc2VsZWN0b3IgPSBVdGlsLmdldFNlbGVjdG9yRnJvbUVsZW1lbnQodGhpcyk7XG4gICAgdmFyIHNlbGVjdG9ycyA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3RvcikpO1xuICAgICQoc2VsZWN0b3JzKS5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgIHZhciAkdGFyZ2V0ID0gJCh0aGlzKTtcbiAgICAgIHZhciBkYXRhID0gJHRhcmdldC5kYXRhKERBVEFfS0VZJDMpO1xuICAgICAgdmFyIGNvbmZpZyA9IGRhdGEgPyAndG9nZ2xlJyA6ICR0cmlnZ2VyLmRhdGEoKTtcblxuICAgICAgQ29sbGFwc2UuX2pRdWVyeUludGVyZmFjZS5jYWxsKCR0YXJnZXQsIGNvbmZpZyk7XG4gICAgfSk7XG4gIH0pO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIGpRdWVyeVxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgJC5mbltOQU1FJDNdID0gQ29sbGFwc2UuX2pRdWVyeUludGVyZmFjZTtcbiAgJC5mbltOQU1FJDNdLkNvbnN0cnVjdG9yID0gQ29sbGFwc2U7XG5cbiAgJC5mbltOQU1FJDNdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJC5mbltOQU1FJDNdID0gSlFVRVJZX05PX0NPTkZMSUNUJDM7XG4gICAgcmV0dXJuIENvbGxhcHNlLl9qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDb25zdGFudHNcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBOQU1FJDQgPSAnZHJvcGRvd24nO1xuICB2YXIgVkVSU0lPTiQ0ID0gJzQuNC4xJztcbiAgdmFyIERBVEFfS0VZJDQgPSAnYnMuZHJvcGRvd24nO1xuICB2YXIgRVZFTlRfS0VZJDQgPSBcIi5cIiArIERBVEFfS0VZJDQ7XG4gIHZhciBEQVRBX0FQSV9LRVkkNCA9ICcuZGF0YS1hcGknO1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJDQgPSAkLmZuW05BTUUkNF07XG4gIHZhciBFU0NBUEVfS0VZQ09ERSA9IDI3OyAvLyBLZXlib2FyZEV2ZW50LndoaWNoIHZhbHVlIGZvciBFc2NhcGUgKEVzYykga2V5XG5cbiAgdmFyIFNQQUNFX0tFWUNPREUgPSAzMjsgLy8gS2V5Ym9hcmRFdmVudC53aGljaCB2YWx1ZSBmb3Igc3BhY2Uga2V5XG5cbiAgdmFyIFRBQl9LRVlDT0RFID0gOTsgLy8gS2V5Ym9hcmRFdmVudC53aGljaCB2YWx1ZSBmb3IgdGFiIGtleVxuXG4gIHZhciBBUlJPV19VUF9LRVlDT0RFID0gMzg7IC8vIEtleWJvYXJkRXZlbnQud2hpY2ggdmFsdWUgZm9yIHVwIGFycm93IGtleVxuXG4gIHZhciBBUlJPV19ET1dOX0tFWUNPREUgPSA0MDsgLy8gS2V5Ym9hcmRFdmVudC53aGljaCB2YWx1ZSBmb3IgZG93biBhcnJvdyBrZXlcblxuICB2YXIgUklHSFRfTU9VU0VfQlVUVE9OX1dISUNIID0gMzsgLy8gTW91c2VFdmVudC53aGljaCB2YWx1ZSBmb3IgdGhlIHJpZ2h0IGJ1dHRvbiAoYXNzdW1pbmcgYSByaWdodC1oYW5kZWQgbW91c2UpXG5cbiAgdmFyIFJFR0VYUF9LRVlET1dOID0gbmV3IFJlZ0V4cChBUlJPV19VUF9LRVlDT0RFICsgXCJ8XCIgKyBBUlJPV19ET1dOX0tFWUNPREUgKyBcInxcIiArIEVTQ0FQRV9LRVlDT0RFKTtcbiAgdmFyIEV2ZW50JDQgPSB7XG4gICAgSElERTogXCJoaWRlXCIgKyBFVkVOVF9LRVkkNCxcbiAgICBISURERU46IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNCxcbiAgICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ0LFxuICAgIFNIT1dOOiBcInNob3duXCIgKyBFVkVOVF9LRVkkNCxcbiAgICBDTElDSzogXCJjbGlja1wiICsgRVZFTlRfS0VZJDQsXG4gICAgQ0xJQ0tfREFUQV9BUEk6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ0ICsgREFUQV9BUElfS0VZJDQsXG4gICAgS0VZRE9XTl9EQVRBX0FQSTogXCJrZXlkb3duXCIgKyBFVkVOVF9LRVkkNCArIERBVEFfQVBJX0tFWSQ0LFxuICAgIEtFWVVQX0RBVEFfQVBJOiBcImtleXVwXCIgKyBFVkVOVF9LRVkkNCArIERBVEFfQVBJX0tFWSQ0XG4gIH07XG4gIHZhciBDbGFzc05hbWUkNCA9IHtcbiAgICBESVNBQkxFRDogJ2Rpc2FibGVkJyxcbiAgICBTSE9XOiAnc2hvdycsXG4gICAgRFJPUFVQOiAnZHJvcHVwJyxcbiAgICBEUk9QUklHSFQ6ICdkcm9wcmlnaHQnLFxuICAgIERST1BMRUZUOiAnZHJvcGxlZnQnLFxuICAgIE1FTlVSSUdIVDogJ2Ryb3Bkb3duLW1lbnUtcmlnaHQnLFxuICAgIE1FTlVMRUZUOiAnZHJvcGRvd24tbWVudS1sZWZ0JyxcbiAgICBQT1NJVElPTl9TVEFUSUM6ICdwb3NpdGlvbi1zdGF0aWMnXG4gIH07XG4gIHZhciBTZWxlY3RvciQ0ID0ge1xuICAgIERBVEFfVE9HR0xFOiAnW2RhdGEtdG9nZ2xlPVwiZHJvcGRvd25cIl0nLFxuICAgIEZPUk1fQ0hJTEQ6ICcuZHJvcGRvd24gZm9ybScsXG4gICAgTUVOVTogJy5kcm9wZG93bi1tZW51JyxcbiAgICBOQVZCQVJfTkFWOiAnLm5hdmJhci1uYXYnLFxuICAgIFZJU0lCTEVfSVRFTVM6ICcuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpub3QoLmRpc2FibGVkKTpub3QoOmRpc2FibGVkKSdcbiAgfTtcbiAgdmFyIEF0dGFjaG1lbnRNYXAgPSB7XG4gICAgVE9QOiAndG9wLXN0YXJ0JyxcbiAgICBUT1BFTkQ6ICd0b3AtZW5kJyxcbiAgICBCT1RUT006ICdib3R0b20tc3RhcnQnLFxuICAgIEJPVFRPTUVORDogJ2JvdHRvbS1lbmQnLFxuICAgIFJJR0hUOiAncmlnaHQtc3RhcnQnLFxuICAgIFJJR0hURU5EOiAncmlnaHQtZW5kJyxcbiAgICBMRUZUOiAnbGVmdC1zdGFydCcsXG4gICAgTEVGVEVORDogJ2xlZnQtZW5kJ1xuICB9O1xuICB2YXIgRGVmYXVsdCQyID0ge1xuICAgIG9mZnNldDogMCxcbiAgICBmbGlwOiB0cnVlLFxuICAgIGJvdW5kYXJ5OiAnc2Nyb2xsUGFyZW50JyxcbiAgICByZWZlcmVuY2U6ICd0b2dnbGUnLFxuICAgIGRpc3BsYXk6ICdkeW5hbWljJyxcbiAgICBwb3BwZXJDb25maWc6IG51bGxcbiAgfTtcbiAgdmFyIERlZmF1bHRUeXBlJDIgPSB7XG4gICAgb2Zmc2V0OiAnKG51bWJlcnxzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgICBmbGlwOiAnYm9vbGVhbicsXG4gICAgYm91bmRhcnk6ICcoc3RyaW5nfGVsZW1lbnQpJyxcbiAgICByZWZlcmVuY2U6ICcoc3RyaW5nfGVsZW1lbnQpJyxcbiAgICBkaXNwbGF5OiAnc3RyaW5nJyxcbiAgICBwb3BwZXJDb25maWc6ICcobnVsbHxvYmplY3QpJ1xuICB9O1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENsYXNzIERlZmluaXRpb25cbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBEcm9wZG93biA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIERyb3Bkb3duKGVsZW1lbnQsIGNvbmZpZykge1xuICAgICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICB0aGlzLl9wb3BwZXIgPSBudWxsO1xuICAgICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgICB0aGlzLl9tZW51ID0gdGhpcy5fZ2V0TWVudUVsZW1lbnQoKTtcbiAgICAgIHRoaXMuX2luTmF2YmFyID0gdGhpcy5fZGV0ZWN0TmF2YmFyKCk7XG5cbiAgICAgIHRoaXMuX2FkZEV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfSAvLyBHZXR0ZXJzXG5cblxuICAgIHZhciBfcHJvdG8gPSBEcm9wZG93bi5wcm90b3R5cGU7XG5cbiAgICAvLyBQdWJsaWNcbiAgICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKCkge1xuICAgICAgaWYgKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWQgfHwgJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkNC5ESVNBQkxFRCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgaXNBY3RpdmUgPSAkKHRoaXMuX21lbnUpLmhhc0NsYXNzKENsYXNzTmFtZSQ0LlNIT1cpO1xuXG4gICAgICBEcm9wZG93bi5fY2xlYXJNZW51cygpO1xuXG4gICAgICBpZiAoaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNob3codHJ1ZSk7XG4gICAgfTtcblxuICAgIF9wcm90by5zaG93ID0gZnVuY3Rpb24gc2hvdyh1c2VQb3BwZXIpIHtcbiAgICAgIGlmICh1c2VQb3BwZXIgPT09IHZvaWQgMCkge1xuICAgICAgICB1c2VQb3BwZXIgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2VsZW1lbnQuZGlzYWJsZWQgfHwgJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkNC5ESVNBQkxFRCkgfHwgJCh0aGlzLl9tZW51KS5oYXNDbGFzcyhDbGFzc05hbWUkNC5TSE9XKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciByZWxhdGVkVGFyZ2V0ID0ge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgICB9O1xuICAgICAgdmFyIHNob3dFdmVudCA9ICQuRXZlbnQoRXZlbnQkNC5TSE9XLCByZWxhdGVkVGFyZ2V0KTtcblxuICAgICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtcblxuICAgICAgJChwYXJlbnQpLnRyaWdnZXIoc2hvd0V2ZW50KTtcblxuICAgICAgaWYgKHNob3dFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9IC8vIERpc2FibGUgdG90YWxseSBQb3BwZXIuanMgZm9yIERyb3Bkb3duIGluIE5hdmJhclxuXG5cbiAgICAgIGlmICghdGhpcy5faW5OYXZiYXIgJiYgdXNlUG9wcGVyKSB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBDaGVjayBmb3IgUG9wcGVyIGRlcGVuZGVuY3lcbiAgICAgICAgICogUG9wcGVyIC0gaHR0cHM6Ly9wb3BwZXIuanMub3JnXG4gICAgICAgICAqL1xuICAgICAgICBpZiAodHlwZW9mIFBvcHBlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdCb290c3RyYXBcXCdzIGRyb3Bkb3ducyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnLyknKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5fZWxlbWVudDtcblxuICAgICAgICBpZiAodGhpcy5fY29uZmlnLnJlZmVyZW5jZSA9PT0gJ3BhcmVudCcpIHtcbiAgICAgICAgICByZWZlcmVuY2VFbGVtZW50ID0gcGFyZW50O1xuICAgICAgICB9IGVsc2UgaWYgKFV0aWwuaXNFbGVtZW50KHRoaXMuX2NvbmZpZy5yZWZlcmVuY2UpKSB7XG4gICAgICAgICAgcmVmZXJlbmNlRWxlbWVudCA9IHRoaXMuX2NvbmZpZy5yZWZlcmVuY2U7IC8vIENoZWNrIGlmIGl0J3MgalF1ZXJ5IGVsZW1lbnRcblxuICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5fY29uZmlnLnJlZmVyZW5jZS5qcXVlcnkgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICByZWZlcmVuY2VFbGVtZW50ID0gdGhpcy5fY29uZmlnLnJlZmVyZW5jZVswXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gSWYgYm91bmRhcnkgaXMgbm90IGBzY3JvbGxQYXJlbnRgLCB0aGVuIHNldCBwb3NpdGlvbiB0byBgc3RhdGljYFxuICAgICAgICAvLyB0byBhbGxvdyB0aGUgbWVudSB0byBcImVzY2FwZVwiIHRoZSBzY3JvbGwgcGFyZW50J3MgYm91bmRhcmllc1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI0MjUxXG5cblxuICAgICAgICBpZiAodGhpcy5fY29uZmlnLmJvdW5kYXJ5ICE9PSAnc2Nyb2xsUGFyZW50Jykge1xuICAgICAgICAgICQocGFyZW50KS5hZGRDbGFzcyhDbGFzc05hbWUkNC5QT1NJVElPTl9TVEFUSUMpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fcG9wcGVyID0gbmV3IFBvcHBlcihyZWZlcmVuY2VFbGVtZW50LCB0aGlzLl9tZW51LCB0aGlzLl9nZXRQb3BwZXJDb25maWcoKSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSB0b3VjaC1lbmFibGVkIGRldmljZSB3ZSBhZGQgZXh0cmFcbiAgICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgdG8gdGhlIGJvZHkncyBpbW1lZGlhdGUgY2hpbGRyZW47XG4gICAgICAvLyBvbmx5IG5lZWRlZCBiZWNhdXNlIG9mIGJyb2tlbiBldmVudCBkZWxlZ2F0aW9uIG9uIGlPU1xuICAgICAgLy8gaHR0cHM6Ly93d3cucXVpcmtzbW9kZS5vcmcvYmxvZy9hcmNoaXZlcy8yMDE0LzAyL21vdXNlX2V2ZW50X2J1Yi5odG1sXG5cblxuICAgICAgaWYgKCdvbnRvdWNoc3RhcnQnIGluIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAkKHBhcmVudCkuY2xvc2VzdChTZWxlY3RvciQ0Lk5BVkJBUl9OQVYpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oJ21vdXNlb3ZlcicsIG51bGwsICQubm9vcCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQuZm9jdXMoKTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCB0cnVlKTtcblxuICAgICAgJCh0aGlzLl9tZW51KS50b2dnbGVDbGFzcyhDbGFzc05hbWUkNC5TSE9XKTtcbiAgICAgICQocGFyZW50KS50b2dnbGVDbGFzcyhDbGFzc05hbWUkNC5TSE9XKS50cmlnZ2VyKCQuRXZlbnQoRXZlbnQkNC5TSE9XTiwgcmVsYXRlZFRhcmdldCkpO1xuICAgIH07XG5cbiAgICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgICBpZiAodGhpcy5fZWxlbWVudC5kaXNhYmxlZCB8fCAkKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKENsYXNzTmFtZSQ0LkRJU0FCTEVEKSB8fCAhJCh0aGlzLl9tZW51KS5oYXNDbGFzcyhDbGFzc05hbWUkNC5TSE9XKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHZhciByZWxhdGVkVGFyZ2V0ID0ge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiB0aGlzLl9lbGVtZW50XG4gICAgICB9O1xuICAgICAgdmFyIGhpZGVFdmVudCA9ICQuRXZlbnQoRXZlbnQkNC5ISURFLCByZWxhdGVkVGFyZ2V0KTtcblxuICAgICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtcblxuICAgICAgJChwYXJlbnQpLnRyaWdnZXIoaGlkZUV2ZW50KTtcblxuICAgICAgaWYgKGhpZGVFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9wb3BwZXIpIHtcbiAgICAgICAgdGhpcy5fcG9wcGVyLmRlc3Ryb3koKTtcbiAgICAgIH1cblxuICAgICAgJCh0aGlzLl9tZW51KS50b2dnbGVDbGFzcyhDbGFzc05hbWUkNC5TSE9XKTtcbiAgICAgICQocGFyZW50KS50b2dnbGVDbGFzcyhDbGFzc05hbWUkNC5TSE9XKS50cmlnZ2VyKCQuRXZlbnQoRXZlbnQkNC5ISURERU4sIHJlbGF0ZWRUYXJnZXQpKTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgJC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDQpO1xuICAgICAgJCh0aGlzLl9lbGVtZW50KS5vZmYoRVZFTlRfS0VZJDQpO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgICB0aGlzLl9tZW51ID0gbnVsbDtcblxuICAgICAgaWYgKHRoaXMuX3BvcHBlciAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9wb3BwZXIuZGVzdHJveSgpO1xuXG4gICAgICAgIHRoaXMuX3BvcHBlciA9IG51bGw7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by51cGRhdGUgPSBmdW5jdGlvbiB1cGRhdGUoKSB7XG4gICAgICB0aGlzLl9pbk5hdmJhciA9IHRoaXMuX2RldGVjdE5hdmJhcigpO1xuXG4gICAgICBpZiAodGhpcy5fcG9wcGVyICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuX3BvcHBlci5zY2hlZHVsZVVwZGF0ZSgpO1xuICAgICAgfVxuICAgIH0gLy8gUHJpdmF0ZVxuICAgIDtcblxuICAgIF9wcm90by5fYWRkRXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBfYWRkRXZlbnRMaXN0ZW5lcnMoKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLm9uKEV2ZW50JDQuQ0xJQ0ssIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgICAgICBfdGhpcy50b2dnbGUoKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMih7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LCB7fSwgJCh0aGlzLl9lbGVtZW50KS5kYXRhKCksIHt9LCBjb25maWcpO1xuICAgICAgVXRpbC50eXBlQ2hlY2tDb25maWcoTkFNRSQ0LCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9nZXRNZW51RWxlbWVudCA9IGZ1bmN0aW9uIF9nZXRNZW51RWxlbWVudCgpIHtcbiAgICAgIGlmICghdGhpcy5fbWVudSkge1xuICAgICAgICB2YXIgcGFyZW50ID0gRHJvcGRvd24uX2dldFBhcmVudEZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuXG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICB0aGlzLl9tZW51ID0gcGFyZW50LnF1ZXJ5U2VsZWN0b3IoU2VsZWN0b3IkNC5NRU5VKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5fbWVudTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9nZXRQbGFjZW1lbnQgPSBmdW5jdGlvbiBfZ2V0UGxhY2VtZW50KCkge1xuICAgICAgdmFyICRwYXJlbnREcm9wZG93biA9ICQodGhpcy5fZWxlbWVudC5wYXJlbnROb2RlKTtcbiAgICAgIHZhciBwbGFjZW1lbnQgPSBBdHRhY2htZW50TWFwLkJPVFRPTTsgLy8gSGFuZGxlIGRyb3B1cFxuXG4gICAgICBpZiAoJHBhcmVudERyb3Bkb3duLmhhc0NsYXNzKENsYXNzTmFtZSQ0LkRST1BVUCkpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gQXR0YWNobWVudE1hcC5UT1A7XG5cbiAgICAgICAgaWYgKCQodGhpcy5fbWVudSkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDQuTUVOVVJJR0hUKSkge1xuICAgICAgICAgIHBsYWNlbWVudCA9IEF0dGFjaG1lbnRNYXAuVE9QRU5EO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKCRwYXJlbnREcm9wZG93bi5oYXNDbGFzcyhDbGFzc05hbWUkNC5EUk9QUklHSFQpKSB7XG4gICAgICAgIHBsYWNlbWVudCA9IEF0dGFjaG1lbnRNYXAuUklHSFQ7XG4gICAgICB9IGVsc2UgaWYgKCRwYXJlbnREcm9wZG93bi5oYXNDbGFzcyhDbGFzc05hbWUkNC5EUk9QTEVGVCkpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gQXR0YWNobWVudE1hcC5MRUZUO1xuICAgICAgfSBlbHNlIGlmICgkKHRoaXMuX21lbnUpLmhhc0NsYXNzKENsYXNzTmFtZSQ0Lk1FTlVSSUdIVCkpIHtcbiAgICAgICAgcGxhY2VtZW50ID0gQXR0YWNobWVudE1hcC5CT1RUT01FTkQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwbGFjZW1lbnQ7XG4gICAgfTtcblxuICAgIF9wcm90by5fZGV0ZWN0TmF2YmFyID0gZnVuY3Rpb24gX2RldGVjdE5hdmJhcigpIHtcbiAgICAgIHJldHVybiAkKHRoaXMuX2VsZW1lbnQpLmNsb3Nlc3QoJy5uYXZiYXInKS5sZW5ndGggPiAwO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2dldE9mZnNldCA9IGZ1bmN0aW9uIF9nZXRPZmZzZXQoKSB7XG4gICAgICB2YXIgX3RoaXMyID0gdGhpcztcblxuICAgICAgdmFyIG9mZnNldCA9IHt9O1xuXG4gICAgICBpZiAodHlwZW9mIHRoaXMuX2NvbmZpZy5vZmZzZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgb2Zmc2V0LmZuID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICBkYXRhLm9mZnNldHMgPSBfb2JqZWN0U3ByZWFkMih7fSwgZGF0YS5vZmZzZXRzLCB7fSwgX3RoaXMyLl9jb25maWcub2Zmc2V0KGRhdGEub2Zmc2V0cywgX3RoaXMyLl9lbGVtZW50KSB8fCB7fSk7XG4gICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvZmZzZXQub2Zmc2V0ID0gdGhpcy5fY29uZmlnLm9mZnNldDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9mZnNldDtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9nZXRQb3BwZXJDb25maWcgPSBmdW5jdGlvbiBfZ2V0UG9wcGVyQ29uZmlnKCkge1xuICAgICAgdmFyIHBvcHBlckNvbmZpZyA9IHtcbiAgICAgICAgcGxhY2VtZW50OiB0aGlzLl9nZXRQbGFjZW1lbnQoKSxcbiAgICAgICAgbW9kaWZpZXJzOiB7XG4gICAgICAgICAgb2Zmc2V0OiB0aGlzLl9nZXRPZmZzZXQoKSxcbiAgICAgICAgICBmbGlwOiB7XG4gICAgICAgICAgICBlbmFibGVkOiB0aGlzLl9jb25maWcuZmxpcFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcHJldmVudE92ZXJmbG93OiB7XG4gICAgICAgICAgICBib3VuZGFyaWVzRWxlbWVudDogdGhpcy5fY29uZmlnLmJvdW5kYXJ5XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9OyAvLyBEaXNhYmxlIFBvcHBlci5qcyBpZiB3ZSBoYXZlIGEgc3RhdGljIGRpc3BsYXlcblxuICAgICAgaWYgKHRoaXMuX2NvbmZpZy5kaXNwbGF5ID09PSAnc3RhdGljJykge1xuICAgICAgICBwb3BwZXJDb25maWcubW9kaWZpZXJzLmFwcGx5U3R5bGUgPSB7XG4gICAgICAgICAgZW5hYmxlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIF9vYmplY3RTcHJlYWQyKHt9LCBwb3BwZXJDb25maWcsIHt9LCB0aGlzLl9jb25maWcucG9wcGVyQ29uZmlnKTtcbiAgICB9IC8vIFN0YXRpY1xuICAgIDtcblxuICAgIERyb3Bkb3duLl9qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBfalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYXRhID0gJCh0aGlzKS5kYXRhKERBVEFfS0VZJDQpO1xuXG4gICAgICAgIHZhciBfY29uZmlnID0gdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcgOiBudWxsO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgIGRhdGEgPSBuZXcgRHJvcGRvd24odGhpcywgX2NvbmZpZyk7XG4gICAgICAgICAgJCh0aGlzKS5kYXRhKERBVEFfS0VZJDQsIGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIERyb3Bkb3duLl9jbGVhck1lbnVzID0gZnVuY3Rpb24gX2NsZWFyTWVudXMoZXZlbnQpIHtcbiAgICAgIGlmIChldmVudCAmJiAoZXZlbnQud2hpY2ggPT09IFJJR0hUX01PVVNFX0JVVFRPTl9XSElDSCB8fCBldmVudC50eXBlID09PSAna2V5dXAnICYmIGV2ZW50LndoaWNoICE9PSBUQUJfS0VZQ09ERSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgdG9nZ2xlcyA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQ0LkRBVEFfVE9HR0xFKSk7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSB0b2dnbGVzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHZhciBwYXJlbnQgPSBEcm9wZG93bi5fZ2V0UGFyZW50RnJvbUVsZW1lbnQodG9nZ2xlc1tpXSk7XG5cbiAgICAgICAgdmFyIGNvbnRleHQgPSAkKHRvZ2dsZXNbaV0pLmRhdGEoREFUQV9LRVkkNCk7XG4gICAgICAgIHZhciByZWxhdGVkVGFyZ2V0ID0ge1xuICAgICAgICAgIHJlbGF0ZWRUYXJnZXQ6IHRvZ2dsZXNbaV1cbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoZXZlbnQgJiYgZXZlbnQudHlwZSA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgIHJlbGF0ZWRUYXJnZXQuY2xpY2tFdmVudCA9IGV2ZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZHJvcGRvd25NZW51ID0gY29udGV4dC5fbWVudTtcblxuICAgICAgICBpZiAoISQocGFyZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkNC5TSE9XKSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV2ZW50ICYmIChldmVudC50eXBlID09PSAnY2xpY2snICYmIC9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoZXZlbnQudGFyZ2V0LnRhZ05hbWUpIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcgJiYgZXZlbnQud2hpY2ggPT09IFRBQl9LRVlDT0RFKSAmJiAkLmNvbnRhaW5zKHBhcmVudCwgZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGhpZGVFdmVudCA9ICQuRXZlbnQoRXZlbnQkNC5ISURFLCByZWxhdGVkVGFyZ2V0KTtcbiAgICAgICAgJChwYXJlbnQpLnRyaWdnZXIoaGlkZUV2ZW50KTtcblxuICAgICAgICBpZiAoaGlkZUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH0gLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIHJlbW92ZSB0aGUgZXh0cmFcbiAgICAgICAgLy8gZW1wdHkgbW91c2VvdmVyIGxpc3RlbmVycyB3ZSBhZGRlZCBmb3IgaU9TIHN1cHBvcnRcblxuXG4gICAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgICAgICAkKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub2ZmKCdtb3VzZW92ZXInLCBudWxsLCAkLm5vb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgdG9nZ2xlc1tpXS5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKTtcblxuICAgICAgICBpZiAoY29udGV4dC5fcG9wcGVyKSB7XG4gICAgICAgICAgY29udGV4dC5fcG9wcGVyLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQoZHJvcGRvd25NZW51KS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkNC5TSE9XKTtcbiAgICAgICAgJChwYXJlbnQpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQ0LlNIT1cpLnRyaWdnZXIoJC5FdmVudChFdmVudCQ0LkhJRERFTiwgcmVsYXRlZFRhcmdldCkpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBEcm9wZG93bi5fZ2V0UGFyZW50RnJvbUVsZW1lbnQgPSBmdW5jdGlvbiBfZ2V0UGFyZW50RnJvbUVsZW1lbnQoZWxlbWVudCkge1xuICAgICAgdmFyIHBhcmVudDtcbiAgICAgIHZhciBzZWxlY3RvciA9IFV0aWwuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICAgIHBhcmVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyZW50IHx8IGVsZW1lbnQucGFyZW50Tm9kZTtcbiAgICB9IC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG4gICAgO1xuXG4gICAgRHJvcGRvd24uX2RhdGFBcGlLZXlkb3duSGFuZGxlciA9IGZ1bmN0aW9uIF9kYXRhQXBpS2V5ZG93bkhhbmRsZXIoZXZlbnQpIHtcbiAgICAgIC8vIElmIG5vdCBpbnB1dC90ZXh0YXJlYTpcbiAgICAgIC8vICAtIEFuZCBub3QgYSBrZXkgaW4gUkVHRVhQX0tFWURPV04gPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgICAgLy8gSWYgaW5wdXQvdGV4dGFyZWE6XG4gICAgICAvLyAgLSBJZiBzcGFjZSBrZXkgPT4gbm90IGEgZHJvcGRvd24gY29tbWFuZFxuICAgICAgLy8gIC0gSWYga2V5IGlzIG90aGVyIHRoYW4gZXNjYXBlXG4gICAgICAvLyAgICAtIElmIGtleSBpcyBub3QgdXAgb3IgZG93biA9PiBub3QgYSBkcm9wZG93biBjb21tYW5kXG4gICAgICAvLyAgICAtIElmIHRyaWdnZXIgaW5zaWRlIHRoZSBtZW51ID0+IG5vdCBhIGRyb3Bkb3duIGNvbW1hbmRcbiAgICAgIGlmICgvaW5wdXR8dGV4dGFyZWEvaS50ZXN0KGV2ZW50LnRhcmdldC50YWdOYW1lKSA/IGV2ZW50LndoaWNoID09PSBTUEFDRV9LRVlDT0RFIHx8IGV2ZW50LndoaWNoICE9PSBFU0NBUEVfS0VZQ09ERSAmJiAoZXZlbnQud2hpY2ggIT09IEFSUk9XX0RPV05fS0VZQ09ERSAmJiBldmVudC53aGljaCAhPT0gQVJST1dfVVBfS0VZQ09ERSB8fCAkKGV2ZW50LnRhcmdldCkuY2xvc2VzdChTZWxlY3RvciQ0Lk1FTlUpLmxlbmd0aCkgOiAhUkVHRVhQX0tFWURPV04udGVzdChldmVudC53aGljaCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgIGlmICh0aGlzLmRpc2FibGVkIHx8ICQodGhpcykuaGFzQ2xhc3MoQ2xhc3NOYW1lJDQuRElTQUJMRUQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIHBhcmVudCA9IERyb3Bkb3duLl9nZXRQYXJlbnRGcm9tRWxlbWVudCh0aGlzKTtcblxuICAgICAgdmFyIGlzQWN0aXZlID0gJChwYXJlbnQpLmhhc0NsYXNzKENsYXNzTmFtZSQ0LlNIT1cpO1xuXG4gICAgICBpZiAoIWlzQWN0aXZlICYmIGV2ZW50LndoaWNoID09PSBFU0NBUEVfS0VZQ09ERSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNBY3RpdmUgfHwgaXNBY3RpdmUgJiYgKGV2ZW50LndoaWNoID09PSBFU0NBUEVfS0VZQ09ERSB8fCBldmVudC53aGljaCA9PT0gU1BBQ0VfS0VZQ09ERSkpIHtcbiAgICAgICAgaWYgKGV2ZW50LndoaWNoID09PSBFU0NBUEVfS0VZQ09ERSkge1xuICAgICAgICAgIHZhciB0b2dnbGUgPSBwYXJlbnQucXVlcnlTZWxlY3RvcihTZWxlY3RvciQ0LkRBVEFfVE9HR0xFKTtcbiAgICAgICAgICAkKHRvZ2dsZSkudHJpZ2dlcignZm9jdXMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQodGhpcykudHJpZ2dlcignY2xpY2snKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgaXRlbXMgPSBbXS5zbGljZS5jYWxsKHBhcmVudC5xdWVyeVNlbGVjdG9yQWxsKFNlbGVjdG9yJDQuVklTSUJMRV9JVEVNUykpLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICByZXR1cm4gJChpdGVtKS5pcygnOnZpc2libGUnKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGluZGV4ID0gaXRlbXMuaW5kZXhPZihldmVudC50YXJnZXQpO1xuXG4gICAgICBpZiAoZXZlbnQud2hpY2ggPT09IEFSUk9XX1VQX0tFWUNPREUgJiYgaW5kZXggPiAwKSB7XG4gICAgICAgIC8vIFVwXG4gICAgICAgIGluZGV4LS07XG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudC53aGljaCA9PT0gQVJST1dfRE9XTl9LRVlDT0RFICYmIGluZGV4IDwgaXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAvLyBEb3duXG4gICAgICAgIGluZGV4Kys7XG4gICAgICB9XG5cbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgaW5kZXggPSAwO1xuICAgICAgfVxuXG4gICAgICBpdGVtc1tpbmRleF0uZm9jdXMoKTtcbiAgICB9O1xuXG4gICAgX2NyZWF0ZUNsYXNzKERyb3Bkb3duLCBudWxsLCBbe1xuICAgICAga2V5OiBcIlZFUlNJT05cIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVkVSU0lPTiQ0O1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIERlZmF1bHQkMjtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiRGVmYXVsdFR5cGVcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdFR5cGUkMjtcbiAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gRHJvcGRvd247XG4gIH0oKTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cblxuICAkKGRvY3VtZW50KS5vbihFdmVudCQ0LktFWURPV05fREFUQV9BUEksIFNlbGVjdG9yJDQuREFUQV9UT0dHTEUsIERyb3Bkb3duLl9kYXRhQXBpS2V5ZG93bkhhbmRsZXIpLm9uKEV2ZW50JDQuS0VZRE9XTl9EQVRBX0FQSSwgU2VsZWN0b3IkNC5NRU5VLCBEcm9wZG93bi5fZGF0YUFwaUtleWRvd25IYW5kbGVyKS5vbihFdmVudCQ0LkNMSUNLX0RBVEFfQVBJICsgXCIgXCIgKyBFdmVudCQ0LktFWVVQX0RBVEFfQVBJLCBEcm9wZG93bi5fY2xlYXJNZW51cykub24oRXZlbnQkNC5DTElDS19EQVRBX0FQSSwgU2VsZWN0b3IkNC5EQVRBX1RPR0dMRSwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIERyb3Bkb3duLl9qUXVlcnlJbnRlcmZhY2UuY2FsbCgkKHRoaXMpLCAndG9nZ2xlJyk7XG4gIH0pLm9uKEV2ZW50JDQuQ0xJQ0tfREFUQV9BUEksIFNlbGVjdG9yJDQuRk9STV9DSElMRCwgZnVuY3Rpb24gKGUpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICB9KTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBqUXVlcnlcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gICQuZm5bTkFNRSQ0XSA9IERyb3Bkb3duLl9qUXVlcnlJbnRlcmZhY2U7XG4gICQuZm5bTkFNRSQ0XS5Db25zdHJ1Y3RvciA9IERyb3Bkb3duO1xuXG4gICQuZm5bTkFNRSQ0XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQuZm5bTkFNRSQ0XSA9IEpRVUVSWV9OT19DT05GTElDVCQ0O1xuICAgIHJldHVybiBEcm9wZG93bi5falF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xuXG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ29uc3RhbnRzXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgTkFNRSQ1ID0gJ21vZGFsJztcbiAgdmFyIFZFUlNJT04kNSA9ICc0LjQuMSc7XG4gIHZhciBEQVRBX0tFWSQ1ID0gJ2JzLm1vZGFsJztcbiAgdmFyIEVWRU5UX0tFWSQ1ID0gXCIuXCIgKyBEQVRBX0tFWSQ1O1xuICB2YXIgREFUQV9BUElfS0VZJDUgPSAnLmRhdGEtYXBpJztcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ1ID0gJC5mbltOQU1FJDVdO1xuICB2YXIgRVNDQVBFX0tFWUNPREUkMSA9IDI3OyAvLyBLZXlib2FyZEV2ZW50LndoaWNoIHZhbHVlIGZvciBFc2NhcGUgKEVzYykga2V5XG5cbiAgdmFyIERlZmF1bHQkMyA9IHtcbiAgICBiYWNrZHJvcDogdHJ1ZSxcbiAgICBrZXlib2FyZDogdHJ1ZSxcbiAgICBmb2N1czogdHJ1ZSxcbiAgICBzaG93OiB0cnVlXG4gIH07XG4gIHZhciBEZWZhdWx0VHlwZSQzID0ge1xuICAgIGJhY2tkcm9wOiAnKGJvb2xlYW58c3RyaW5nKScsXG4gICAga2V5Ym9hcmQ6ICdib29sZWFuJyxcbiAgICBmb2N1czogJ2Jvb2xlYW4nLFxuICAgIHNob3c6ICdib29sZWFuJ1xuICB9O1xuICB2YXIgRXZlbnQkNSA9IHtcbiAgICBISURFOiBcImhpZGVcIiArIEVWRU5UX0tFWSQ1LFxuICAgIEhJREVfUFJFVkVOVEVEOiBcImhpZGVQcmV2ZW50ZWRcIiArIEVWRU5UX0tFWSQ1LFxuICAgIEhJRERFTjogXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ1LFxuICAgIFNIT1c6IFwic2hvd1wiICsgRVZFTlRfS0VZJDUsXG4gICAgU0hPV046IFwic2hvd25cIiArIEVWRU5UX0tFWSQ1LFxuICAgIEZPQ1VTSU46IFwiZm9jdXNpblwiICsgRVZFTlRfS0VZJDUsXG4gICAgUkVTSVpFOiBcInJlc2l6ZVwiICsgRVZFTlRfS0VZJDUsXG4gICAgQ0xJQ0tfRElTTUlTUzogXCJjbGljay5kaXNtaXNzXCIgKyBFVkVOVF9LRVkkNSxcbiAgICBLRVlET1dOX0RJU01JU1M6IFwia2V5ZG93bi5kaXNtaXNzXCIgKyBFVkVOVF9LRVkkNSxcbiAgICBNT1VTRVVQX0RJU01JU1M6IFwibW91c2V1cC5kaXNtaXNzXCIgKyBFVkVOVF9LRVkkNSxcbiAgICBNT1VTRURPV05fRElTTUlTUzogXCJtb3VzZWRvd24uZGlzbWlzc1wiICsgRVZFTlRfS0VZJDUsXG4gICAgQ0xJQ0tfREFUQV9BUEk6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ1ICsgREFUQV9BUElfS0VZJDVcbiAgfTtcbiAgdmFyIENsYXNzTmFtZSQ1ID0ge1xuICAgIFNDUk9MTEFCTEU6ICdtb2RhbC1kaWFsb2ctc2Nyb2xsYWJsZScsXG4gICAgU0NST0xMQkFSX01FQVNVUkVSOiAnbW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUnLFxuICAgIEJBQ0tEUk9QOiAnbW9kYWwtYmFja2Ryb3AnLFxuICAgIE9QRU46ICdtb2RhbC1vcGVuJyxcbiAgICBGQURFOiAnZmFkZScsXG4gICAgU0hPVzogJ3Nob3cnLFxuICAgIFNUQVRJQzogJ21vZGFsLXN0YXRpYydcbiAgfTtcbiAgdmFyIFNlbGVjdG9yJDUgPSB7XG4gICAgRElBTE9HOiAnLm1vZGFsLWRpYWxvZycsXG4gICAgTU9EQUxfQk9EWTogJy5tb2RhbC1ib2R5JyxcbiAgICBEQVRBX1RPR0dMRTogJ1tkYXRhLXRvZ2dsZT1cIm1vZGFsXCJdJyxcbiAgICBEQVRBX0RJU01JU1M6ICdbZGF0YS1kaXNtaXNzPVwibW9kYWxcIl0nLFxuICAgIEZJWEVEX0NPTlRFTlQ6ICcuZml4ZWQtdG9wLCAuZml4ZWQtYm90dG9tLCAuaXMtZml4ZWQsIC5zdGlja3ktdG9wJyxcbiAgICBTVElDS1lfQ09OVEVOVDogJy5zdGlja3ktdG9wJ1xuICB9O1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENsYXNzIERlZmluaXRpb25cbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBNb2RhbCA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIE1vZGFsKGVsZW1lbnQsIGNvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gdGhpcy5fZ2V0Q29uZmlnKGNvbmZpZyk7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gZWxlbWVudDtcbiAgICAgIHRoaXMuX2RpYWxvZyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihTZWxlY3RvciQ1LkRJQUxPRyk7XG4gICAgICB0aGlzLl9iYWNrZHJvcCA9IG51bGw7XG4gICAgICB0aGlzLl9pc1Nob3duID0gZmFsc2U7XG4gICAgICB0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyA9IGZhbHNlO1xuICAgICAgdGhpcy5faWdub3JlQmFja2Ryb3BDbGljayA9IGZhbHNlO1xuICAgICAgdGhpcy5faXNUcmFuc2l0aW9uaW5nID0gZmFsc2U7XG4gICAgICB0aGlzLl9zY3JvbGxiYXJXaWR0aCA9IDA7XG4gICAgfSAvLyBHZXR0ZXJzXG5cblxuICAgIHZhciBfcHJvdG8gPSBNb2RhbC5wcm90b3R5cGU7XG5cbiAgICAvLyBQdWJsaWNcbiAgICBfcHJvdG8udG9nZ2xlID0gZnVuY3Rpb24gdG9nZ2xlKHJlbGF0ZWRUYXJnZXQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9pc1Nob3duID8gdGhpcy5oaWRlKCkgOiB0aGlzLnNob3cocmVsYXRlZFRhcmdldCk7XG4gICAgfTtcblxuICAgIF9wcm90by5zaG93ID0gZnVuY3Rpb24gc2hvdyhyZWxhdGVkVGFyZ2V0KSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICBpZiAodGhpcy5faXNTaG93biB8fCB0aGlzLl9pc1RyYW5zaXRpb25pbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkNS5GQURFKSkge1xuICAgICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2hvd0V2ZW50ID0gJC5FdmVudChFdmVudCQ1LlNIT1csIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogcmVsYXRlZFRhcmdldFxuICAgICAgfSk7XG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoc2hvd0V2ZW50KTtcblxuICAgICAgaWYgKHRoaXMuX2lzU2hvd24gfHwgc2hvd0V2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNTaG93biA9IHRydWU7XG5cbiAgICAgIHRoaXMuX2NoZWNrU2Nyb2xsYmFyKCk7XG5cbiAgICAgIHRoaXMuX3NldFNjcm9sbGJhcigpO1xuXG4gICAgICB0aGlzLl9hZGp1c3REaWFsb2coKTtcblxuICAgICAgdGhpcy5fc2V0RXNjYXBlRXZlbnQoKTtcblxuICAgICAgdGhpcy5fc2V0UmVzaXplRXZlbnQoKTtcblxuICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQ1LkNMSUNLX0RJU01JU1MsIFNlbGVjdG9yJDUuREFUQV9ESVNNSVNTLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgcmV0dXJuIF90aGlzLmhpZGUoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgICAkKHRoaXMuX2RpYWxvZykub24oRXZlbnQkNS5NT1VTRURPV05fRElTTUlTUywgZnVuY3Rpb24gKCkge1xuICAgICAgICAkKF90aGlzLl9lbGVtZW50KS5vbmUoRXZlbnQkNS5NT1VTRVVQX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIGlmICgkKGV2ZW50LnRhcmdldCkuaXMoX3RoaXMuX2VsZW1lbnQpKSB7XG4gICAgICAgICAgICBfdGhpcy5faWdub3JlQmFja2Ryb3BDbGljayA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMuX3Nob3dFbGVtZW50KHJlbGF0ZWRUYXJnZXQpO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9wcm90by5oaWRlID0gZnVuY3Rpb24gaGlkZShldmVudCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIGlmIChldmVudCkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXRoaXMuX2lzU2hvd24gfHwgdGhpcy5faXNUcmFuc2l0aW9uaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGhpZGVFdmVudCA9ICQuRXZlbnQoRXZlbnQkNS5ISURFKTtcbiAgICAgICQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihoaWRlRXZlbnQpO1xuXG4gICAgICBpZiAoIXRoaXMuX2lzU2hvd24gfHwgaGlkZUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5faXNTaG93biA9IGZhbHNlO1xuICAgICAgdmFyIHRyYW5zaXRpb24gPSAkKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKENsYXNzTmFtZSQ1LkZBREUpO1xuXG4gICAgICBpZiAodHJhbnNpdGlvbikge1xuICAgICAgICB0aGlzLl9pc1RyYW5zaXRpb25pbmcgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9zZXRFc2NhcGVFdmVudCgpO1xuXG4gICAgICB0aGlzLl9zZXRSZXNpemVFdmVudCgpO1xuXG4gICAgICAkKGRvY3VtZW50KS5vZmYoRXZlbnQkNS5GT0NVU0lOKTtcbiAgICAgICQodGhpcy5fZWxlbWVudCkucmVtb3ZlQ2xhc3MoQ2xhc3NOYW1lJDUuU0hPVyk7XG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLm9mZihFdmVudCQ1LkNMSUNLX0RJU01JU1MpO1xuICAgICAgJCh0aGlzLl9kaWFsb2cpLm9mZihFdmVudCQ1Lk1PVVNFRE9XTl9ESVNNSVNTKTtcblxuICAgICAgaWYgKHRyYW5zaXRpb24pIHtcbiAgICAgICAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbiA9IFV0aWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGhpcy5fZWxlbWVudCk7XG4gICAgICAgICQodGhpcy5fZWxlbWVudCkub25lKFV0aWwuVFJBTlNJVElPTl9FTkQsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczIuX2hpZGVNb2RhbChldmVudCk7XG4gICAgICAgIH0pLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9oaWRlTW9kYWwoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgW3dpbmRvdywgdGhpcy5fZWxlbWVudCwgdGhpcy5fZGlhbG9nXS5mb3JFYWNoKGZ1bmN0aW9uIChodG1sRWxlbWVudCkge1xuICAgICAgICByZXR1cm4gJChodG1sRWxlbWVudCkub2ZmKEVWRU5UX0tFWSQ1KTtcbiAgICAgIH0pO1xuICAgICAgLyoqXG4gICAgICAgKiBgZG9jdW1lbnRgIGhhcyAyIGV2ZW50cyBgRXZlbnQuRk9DVVNJTmAgYW5kIGBFdmVudC5DTElDS19EQVRBX0FQSWBcbiAgICAgICAqIERvIG5vdCBtb3ZlIGBkb2N1bWVudGAgaW4gYGh0bWxFbGVtZW50c2AgYXJyYXlcbiAgICAgICAqIEl0IHdpbGwgcmVtb3ZlIGBFdmVudC5DTElDS19EQVRBX0FQSWAgZXZlbnQgdGhhdCBzaG91bGQgcmVtYWluXG4gICAgICAgKi9cblxuICAgICAgJChkb2N1bWVudCkub2ZmKEV2ZW50JDUuRk9DVVNJTik7XG4gICAgICAkLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkNSk7XG4gICAgICB0aGlzLl9jb25maWcgPSBudWxsO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgICB0aGlzLl9kaWFsb2cgPSBudWxsO1xuICAgICAgdGhpcy5fYmFja2Ryb3AgPSBudWxsO1xuICAgICAgdGhpcy5faXNTaG93biA9IG51bGw7XG4gICAgICB0aGlzLl9pc0JvZHlPdmVyZmxvd2luZyA9IG51bGw7XG4gICAgICB0aGlzLl9pZ25vcmVCYWNrZHJvcENsaWNrID0gbnVsbDtcbiAgICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IG51bGw7XG4gICAgICB0aGlzLl9zY3JvbGxiYXJXaWR0aCA9IG51bGw7XG4gICAgfTtcblxuICAgIF9wcm90by5oYW5kbGVVcGRhdGUgPSBmdW5jdGlvbiBoYW5kbGVVcGRhdGUoKSB7XG4gICAgICB0aGlzLl9hZGp1c3REaWFsb2coKTtcbiAgICB9IC8vIFByaXZhdGVcbiAgICA7XG5cbiAgICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMih7fSwgRGVmYXVsdCQzLCB7fSwgY29uZmlnKTtcbiAgICAgIFV0aWwudHlwZUNoZWNrQ29uZmlnKE5BTUUkNSwgY29uZmlnLCBEZWZhdWx0VHlwZSQzKTtcbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfTtcblxuICAgIF9wcm90by5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbiA9IGZ1bmN0aW9uIF90cmlnZ2VyQmFja2Ryb3BUcmFuc2l0aW9uKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcuYmFja2Ryb3AgPT09ICdzdGF0aWMnKSB7XG4gICAgICAgIHZhciBoaWRlRXZlbnRQcmV2ZW50ZWQgPSAkLkV2ZW50KEV2ZW50JDUuSElERV9QUkVWRU5URUQpO1xuICAgICAgICAkKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoaGlkZUV2ZW50UHJldmVudGVkKTtcblxuICAgICAgICBpZiAoaGlkZUV2ZW50UHJldmVudGVkLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoQ2xhc3NOYW1lJDUuU1RBVElDKTtcblxuICAgICAgICB2YXIgbW9kYWxUcmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuICAgICAgICAkKHRoaXMuX2VsZW1lbnQpLm9uZShVdGlsLlRSQU5TSVRJT05fRU5ELCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgX3RoaXMzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ2xhc3NOYW1lJDUuU1RBVElDKTtcbiAgICAgICAgfSkuZW11bGF0ZVRyYW5zaXRpb25FbmQobW9kYWxUcmFuc2l0aW9uRHVyYXRpb24pO1xuXG4gICAgICAgIHRoaXMuX2VsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8uX3Nob3dFbGVtZW50ID0gZnVuY3Rpb24gX3Nob3dFbGVtZW50KHJlbGF0ZWRUYXJnZXQpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICB2YXIgdHJhbnNpdGlvbiA9ICQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDUuRkFERSk7XG4gICAgICB2YXIgbW9kYWxCb2R5ID0gdGhpcy5fZGlhbG9nID8gdGhpcy5fZGlhbG9nLnF1ZXJ5U2VsZWN0b3IoU2VsZWN0b3IkNS5NT0RBTF9CT0RZKSA6IG51bGw7XG5cbiAgICAgIGlmICghdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlIHx8IHRoaXMuX2VsZW1lbnQucGFyZW50Tm9kZS5ub2RlVHlwZSAhPT0gTm9kZS5FTEVNRU5UX05PREUpIHtcbiAgICAgICAgLy8gRG9uJ3QgbW92ZSBtb2RhbCdzIERPTSBwb3NpdGlvblxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMuX2VsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXG4gICAgICB0aGlzLl9lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtbW9kYWwnLCB0cnVlKTtcblxuICAgICAgaWYgKCQodGhpcy5fZGlhbG9nKS5oYXNDbGFzcyhDbGFzc05hbWUkNS5TQ1JPTExBQkxFKSAmJiBtb2RhbEJvZHkpIHtcbiAgICAgICAgbW9kYWxCb2R5LnNjcm9sbFRvcCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9lbGVtZW50LnNjcm9sbFRvcCA9IDA7XG4gICAgICB9XG5cbiAgICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICAgIFV0aWwucmVmbG93KHRoaXMuX2VsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLmFkZENsYXNzKENsYXNzTmFtZSQ1LlNIT1cpO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLmZvY3VzKSB7XG4gICAgICAgIHRoaXMuX2VuZm9yY2VGb2N1cygpO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2hvd25FdmVudCA9ICQuRXZlbnQoRXZlbnQkNS5TSE9XTiwge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiByZWxhdGVkVGFyZ2V0XG4gICAgICB9KTtcblxuICAgICAgdmFyIHRyYW5zaXRpb25Db21wbGV0ZSA9IGZ1bmN0aW9uIHRyYW5zaXRpb25Db21wbGV0ZSgpIHtcbiAgICAgICAgaWYgKF90aGlzNC5fY29uZmlnLmZvY3VzKSB7XG4gICAgICAgICAgX3RoaXM0Ll9lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBfdGhpczQuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuICAgICAgICAkKF90aGlzNC5fZWxlbWVudCkudHJpZ2dlcihzaG93bkV2ZW50KTtcbiAgICAgIH07XG5cbiAgICAgIGlmICh0cmFuc2l0aW9uKSB7XG4gICAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2RpYWxvZyk7XG4gICAgICAgICQodGhpcy5fZGlhbG9nKS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgdHJhbnNpdGlvbkNvbXBsZXRlKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCh0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHJhbnNpdGlvbkNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5fZW5mb3JjZUZvY3VzID0gZnVuY3Rpb24gX2VuZm9yY2VGb2N1cygpIHtcbiAgICAgIHZhciBfdGhpczUgPSB0aGlzO1xuXG4gICAgICAkKGRvY3VtZW50KS5vZmYoRXZlbnQkNS5GT0NVU0lOKSAvLyBHdWFyZCBhZ2FpbnN0IGluZmluaXRlIGZvY3VzIGxvb3BcbiAgICAgIC5vbihFdmVudCQ1LkZPQ1VTSU4sIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBpZiAoZG9jdW1lbnQgIT09IGV2ZW50LnRhcmdldCAmJiBfdGhpczUuX2VsZW1lbnQgIT09IGV2ZW50LnRhcmdldCAmJiAkKF90aGlzNS5fZWxlbWVudCkuaGFzKGV2ZW50LnRhcmdldCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgX3RoaXM1Ll9lbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX3NldEVzY2FwZUV2ZW50ID0gZnVuY3Rpb24gX3NldEVzY2FwZUV2ZW50KCkge1xuICAgICAgdmFyIF90aGlzNiA9IHRoaXM7XG5cbiAgICAgIGlmICh0aGlzLl9pc1Nob3duICYmIHRoaXMuX2NvbmZpZy5rZXlib2FyZCkge1xuICAgICAgICAkKHRoaXMuX2VsZW1lbnQpLm9uKEV2ZW50JDUuS0VZRE9XTl9ESVNNSVNTLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICBpZiAoZXZlbnQud2hpY2ggPT09IEVTQ0FQRV9LRVlDT0RFJDEpIHtcbiAgICAgICAgICAgIF90aGlzNi5fdHJpZ2dlckJhY2tkcm9wVHJhbnNpdGlvbigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1Nob3duKSB7XG4gICAgICAgICQodGhpcy5fZWxlbWVudCkub2ZmKEV2ZW50JDUuS0VZRE9XTl9ESVNNSVNTKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9zZXRSZXNpemVFdmVudCA9IGZ1bmN0aW9uIF9zZXRSZXNpemVFdmVudCgpIHtcbiAgICAgIHZhciBfdGhpczcgPSB0aGlzO1xuXG4gICAgICBpZiAodGhpcy5faXNTaG93bikge1xuICAgICAgICAkKHdpbmRvdykub24oRXZlbnQkNS5SRVNJWkUsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIHJldHVybiBfdGhpczcuaGFuZGxlVXBkYXRlKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAkKHdpbmRvdykub2ZmKEV2ZW50JDUuUkVTSVpFKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9oaWRlTW9kYWwgPSBmdW5jdGlvbiBfaGlkZU1vZGFsKCkge1xuICAgICAgdmFyIF90aGlzOCA9IHRoaXM7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcblxuICAgICAgdGhpcy5fZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgdHJ1ZSk7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQucmVtb3ZlQXR0cmlidXRlKCdhcmlhLW1vZGFsJyk7XG5cbiAgICAgIHRoaXMuX2lzVHJhbnNpdGlvbmluZyA9IGZhbHNlO1xuXG4gICAgICB0aGlzLl9zaG93QmFja2Ryb3AoZnVuY3Rpb24gKCkge1xuICAgICAgICAkKGRvY3VtZW50LmJvZHkpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQ1Lk9QRU4pO1xuXG4gICAgICAgIF90aGlzOC5fcmVzZXRBZGp1c3RtZW50cygpO1xuXG4gICAgICAgIF90aGlzOC5fcmVzZXRTY3JvbGxiYXIoKTtcblxuICAgICAgICAkKF90aGlzOC5fZWxlbWVudCkudHJpZ2dlcihFdmVudCQ1LkhJRERFTik7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9yZW1vdmVCYWNrZHJvcCA9IGZ1bmN0aW9uIF9yZW1vdmVCYWNrZHJvcCgpIHtcbiAgICAgIGlmICh0aGlzLl9iYWNrZHJvcCkge1xuICAgICAgICAkKHRoaXMuX2JhY2tkcm9wKS5yZW1vdmUoKTtcbiAgICAgICAgdGhpcy5fYmFja2Ryb3AgPSBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8uX3Nob3dCYWNrZHJvcCA9IGZ1bmN0aW9uIF9zaG93QmFja2Ryb3AoY2FsbGJhY2spIHtcbiAgICAgIHZhciBfdGhpczkgPSB0aGlzO1xuXG4gICAgICB2YXIgYW5pbWF0ZSA9ICQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDUuRkFERSkgPyBDbGFzc05hbWUkNS5GQURFIDogJyc7XG5cbiAgICAgIGlmICh0aGlzLl9pc1Nob3duICYmIHRoaXMuX2NvbmZpZy5iYWNrZHJvcCkge1xuICAgICAgICB0aGlzLl9iYWNrZHJvcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLl9iYWNrZHJvcC5jbGFzc05hbWUgPSBDbGFzc05hbWUkNS5CQUNLRFJPUDtcblxuICAgICAgICBpZiAoYW5pbWF0ZSkge1xuICAgICAgICAgIHRoaXMuX2JhY2tkcm9wLmNsYXNzTGlzdC5hZGQoYW5pbWF0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAkKHRoaXMuX2JhY2tkcm9wKS5hcHBlbmRUbyhkb2N1bWVudC5ib2R5KTtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbihFdmVudCQ1LkNMSUNLX0RJU01JU1MsIGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgIGlmIChfdGhpczkuX2lnbm9yZUJhY2tkcm9wQ2xpY2spIHtcbiAgICAgICAgICAgIF90aGlzOS5faWdub3JlQmFja2Ryb3BDbGljayA9IGZhbHNlO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChldmVudC50YXJnZXQgIT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGhpczkuX3RyaWdnZXJCYWNrZHJvcFRyYW5zaXRpb24oKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKGFuaW1hdGUpIHtcbiAgICAgICAgICBVdGlsLnJlZmxvdyh0aGlzLl9iYWNrZHJvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAkKHRoaXMuX2JhY2tkcm9wKS5hZGRDbGFzcyhDbGFzc05hbWUkNS5TSE9XKTtcblxuICAgICAgICBpZiAoIWNhbGxiYWNrKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFhbmltYXRlKSB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgYmFja2Ryb3BUcmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2JhY2tkcm9wKTtcbiAgICAgICAgJCh0aGlzLl9iYWNrZHJvcCkub25lKFV0aWwuVFJBTlNJVElPTl9FTkQsIGNhbGxiYWNrKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChiYWNrZHJvcFRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLl9pc1Nob3duICYmIHRoaXMuX2JhY2tkcm9wKSB7XG4gICAgICAgICQodGhpcy5fYmFja2Ryb3ApLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQ1LlNIT1cpO1xuXG4gICAgICAgIHZhciBjYWxsYmFja1JlbW92ZSA9IGZ1bmN0aW9uIGNhbGxiYWNrUmVtb3ZlKCkge1xuICAgICAgICAgIF90aGlzOS5fcmVtb3ZlQmFja2Ryb3AoKTtcblxuICAgICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCQodGhpcy5fZWxlbWVudCkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDUuRkFERSkpIHtcbiAgICAgICAgICB2YXIgX2JhY2tkcm9wVHJhbnNpdGlvbkR1cmF0aW9uID0gVXRpbC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9iYWNrZHJvcCk7XG5cbiAgICAgICAgICAkKHRoaXMuX2JhY2tkcm9wKS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgY2FsbGJhY2tSZW1vdmUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKF9iYWNrZHJvcFRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2FsbGJhY2tSZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjYWxsYmFjaykge1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH0gLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyBhcmUgdXNlZCB0byBoYW5kbGUgb3ZlcmZsb3dpbmcgbW9kYWxzXG4gICAgLy8gdG9kbyAoZmF0KTogdGhlc2Ugc2hvdWxkIHByb2JhYmx5IGJlIHJlZmFjdG9yZWQgb3V0IG9mIG1vZGFsLmpzXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIDtcblxuICAgIF9wcm90by5fYWRqdXN0RGlhbG9nID0gZnVuY3Rpb24gX2FkanVzdERpYWxvZygpIHtcbiAgICAgIHZhciBpc01vZGFsT3ZlcmZsb3dpbmcgPSB0aGlzLl9lbGVtZW50LnNjcm9sbEhlaWdodCA+IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgIGlmICghdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgJiYgaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnQuc3R5bGUucGFkZGluZ0xlZnQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2lzQm9keU92ZXJmbG93aW5nICYmICFpc01vZGFsT3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQgPSB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIjtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9yZXNldEFkanVzdG1lbnRzID0gZnVuY3Rpb24gX3Jlc2V0QWRqdXN0bWVudHMoKSB7XG4gICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdMZWZ0ID0gJyc7XG4gICAgICB0aGlzLl9lbGVtZW50LnN0eWxlLnBhZGRpbmdSaWdodCA9ICcnO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2NoZWNrU2Nyb2xsYmFyID0gZnVuY3Rpb24gX2NoZWNrU2Nyb2xsYmFyKCkge1xuICAgICAgdmFyIHJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgdGhpcy5faXNCb2R5T3ZlcmZsb3dpbmcgPSByZWN0LmxlZnQgKyByZWN0LnJpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgICB0aGlzLl9zY3JvbGxiYXJXaWR0aCA9IHRoaXMuX2dldFNjcm9sbGJhcldpZHRoKCk7XG4gICAgfTtcblxuICAgIF9wcm90by5fc2V0U2Nyb2xsYmFyID0gZnVuY3Rpb24gX3NldFNjcm9sbGJhcigpIHtcbiAgICAgIHZhciBfdGhpczEwID0gdGhpcztcblxuICAgICAgaWYgKHRoaXMuX2lzQm9keU92ZXJmbG93aW5nKSB7XG4gICAgICAgIC8vIE5vdGU6IERPTU5vZGUuc3R5bGUucGFkZGluZ1JpZ2h0IHJldHVybnMgdGhlIGFjdHVhbCB2YWx1ZSBvciAnJyBpZiBub3Qgc2V0XG4gICAgICAgIC8vICAgd2hpbGUgJChET01Ob2RlKS5jc3MoJ3BhZGRpbmctcmlnaHQnKSByZXR1cm5zIHRoZSBjYWxjdWxhdGVkIHZhbHVlIG9yIDAgaWYgbm90IHNldFxuICAgICAgICB2YXIgZml4ZWRDb250ZW50ID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFNlbGVjdG9yJDUuRklYRURfQ09OVEVOVCkpO1xuICAgICAgICB2YXIgc3RpY2t5Q29udGVudCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQ1LlNUSUNLWV9DT05URU5UKSk7IC8vIEFkanVzdCBmaXhlZCBjb250ZW50IHBhZGRpbmdcblxuICAgICAgICAkKGZpeGVkQ29udGVudCkuZWFjaChmdW5jdGlvbiAoaW5kZXgsIGVsZW1lbnQpIHtcbiAgICAgICAgICB2YXIgYWN0dWFsUGFkZGluZyA9IGVsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0O1xuICAgICAgICAgIHZhciBjYWxjdWxhdGVkUGFkZGluZyA9ICQoZWxlbWVudCkuY3NzKCdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgICAgICAgJChlbGVtZW50KS5kYXRhKCdwYWRkaW5nLXJpZ2h0JywgYWN0dWFsUGFkZGluZykuY3NzKCdwYWRkaW5nLXJpZ2h0JywgcGFyc2VGbG9hdChjYWxjdWxhdGVkUGFkZGluZykgKyBfdGhpczEwLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIik7XG4gICAgICAgIH0pOyAvLyBBZGp1c3Qgc3RpY2t5IGNvbnRlbnQgbWFyZ2luXG5cbiAgICAgICAgJChzdGlja3lDb250ZW50KS5lYWNoKGZ1bmN0aW9uIChpbmRleCwgZWxlbWVudCkge1xuICAgICAgICAgIHZhciBhY3R1YWxNYXJnaW4gPSBlbGVtZW50LnN0eWxlLm1hcmdpblJpZ2h0O1xuICAgICAgICAgIHZhciBjYWxjdWxhdGVkTWFyZ2luID0gJChlbGVtZW50KS5jc3MoJ21hcmdpbi1yaWdodCcpO1xuICAgICAgICAgICQoZWxlbWVudCkuZGF0YSgnbWFyZ2luLXJpZ2h0JywgYWN0dWFsTWFyZ2luKS5jc3MoJ21hcmdpbi1yaWdodCcsIHBhcnNlRmxvYXQoY2FsY3VsYXRlZE1hcmdpbikgLSBfdGhpczEwLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIik7XG4gICAgICAgIH0pOyAvLyBBZGp1c3QgYm9keSBwYWRkaW5nXG5cbiAgICAgICAgdmFyIGFjdHVhbFBhZGRpbmcgPSBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgICAgdmFyIGNhbGN1bGF0ZWRQYWRkaW5nID0gJChkb2N1bWVudC5ib2R5KS5jc3MoJ3BhZGRpbmctcmlnaHQnKTtcbiAgICAgICAgJChkb2N1bWVudC5ib2R5KS5kYXRhKCdwYWRkaW5nLXJpZ2h0JywgYWN0dWFsUGFkZGluZykuY3NzKCdwYWRkaW5nLXJpZ2h0JywgcGFyc2VGbG9hdChjYWxjdWxhdGVkUGFkZGluZykgKyB0aGlzLl9zY3JvbGxiYXJXaWR0aCArIFwicHhcIik7XG4gICAgICB9XG5cbiAgICAgICQoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoQ2xhc3NOYW1lJDUuT1BFTik7XG4gICAgfTtcblxuICAgIF9wcm90by5fcmVzZXRTY3JvbGxiYXIgPSBmdW5jdGlvbiBfcmVzZXRTY3JvbGxiYXIoKSB7XG4gICAgICAvLyBSZXN0b3JlIGZpeGVkIGNvbnRlbnQgcGFkZGluZ1xuICAgICAgdmFyIGZpeGVkQ29udGVudCA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQ1LkZJWEVEX0NPTlRFTlQpKTtcbiAgICAgICQoZml4ZWRDb250ZW50KS5lYWNoKGZ1bmN0aW9uIChpbmRleCwgZWxlbWVudCkge1xuICAgICAgICB2YXIgcGFkZGluZyA9ICQoZWxlbWVudCkuZGF0YSgncGFkZGluZy1yaWdodCcpO1xuICAgICAgICAkKGVsZW1lbnQpLnJlbW92ZURhdGEoJ3BhZGRpbmctcmlnaHQnKTtcbiAgICAgICAgZWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQgPSBwYWRkaW5nID8gcGFkZGluZyA6ICcnO1xuICAgICAgfSk7IC8vIFJlc3RvcmUgc3RpY2t5IGNvbnRlbnRcblxuICAgICAgdmFyIGVsZW1lbnRzID0gW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiXCIgKyBTZWxlY3RvciQ1LlNUSUNLWV9DT05URU5UKSk7XG4gICAgICAkKGVsZW1lbnRzKS5lYWNoKGZ1bmN0aW9uIChpbmRleCwgZWxlbWVudCkge1xuICAgICAgICB2YXIgbWFyZ2luID0gJChlbGVtZW50KS5kYXRhKCdtYXJnaW4tcmlnaHQnKTtcblxuICAgICAgICBpZiAodHlwZW9mIG1hcmdpbiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAkKGVsZW1lbnQpLmNzcygnbWFyZ2luLXJpZ2h0JywgbWFyZ2luKS5yZW1vdmVEYXRhKCdtYXJnaW4tcmlnaHQnKTtcbiAgICAgICAgfVxuICAgICAgfSk7IC8vIFJlc3RvcmUgYm9keSBwYWRkaW5nXG5cbiAgICAgIHZhciBwYWRkaW5nID0gJChkb2N1bWVudC5ib2R5KS5kYXRhKCdwYWRkaW5nLXJpZ2h0Jyk7XG4gICAgICAkKGRvY3VtZW50LmJvZHkpLnJlbW92ZURhdGEoJ3BhZGRpbmctcmlnaHQnKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gcGFkZGluZyA/IHBhZGRpbmcgOiAnJztcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9nZXRTY3JvbGxiYXJXaWR0aCA9IGZ1bmN0aW9uIF9nZXRTY3JvbGxiYXJXaWR0aCgpIHtcbiAgICAgIC8vIHRoeCBkLndhbHNoXG4gICAgICB2YXIgc2Nyb2xsRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBzY3JvbGxEaXYuY2xhc3NOYW1lID0gQ2xhc3NOYW1lJDUuU0NST0xMQkFSX01FQVNVUkVSO1xuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JvbGxEaXYpO1xuICAgICAgdmFyIHNjcm9sbGJhcldpZHRoID0gc2Nyb2xsRGl2LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIC0gc2Nyb2xsRGl2LmNsaWVudFdpZHRoO1xuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzY3JvbGxEaXYpO1xuICAgICAgcmV0dXJuIHNjcm9sbGJhcldpZHRoO1xuICAgIH0gLy8gU3RhdGljXG4gICAgO1xuXG4gICAgTW9kYWwuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIF9qUXVlcnlJbnRlcmZhY2UoY29uZmlnLCByZWxhdGVkVGFyZ2V0KSB7XG4gICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSAkKHRoaXMpLmRhdGEoREFUQV9LRVkkNSk7XG5cbiAgICAgICAgdmFyIF9jb25maWcgPSBfb2JqZWN0U3ByZWFkMih7fSwgRGVmYXVsdCQzLCB7fSwgJCh0aGlzKS5kYXRhKCksIHt9LCB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWcgPyBjb25maWcgOiB7fSk7XG5cbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgZGF0YSA9IG5ldyBNb2RhbCh0aGlzLCBfY29uZmlnKTtcbiAgICAgICAgICAkKHRoaXMpLmRhdGEoREFUQV9LRVkkNSwgZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRhdGFbY29uZmlnXShyZWxhdGVkVGFyZ2V0KTtcbiAgICAgICAgfSBlbHNlIGlmIChfY29uZmlnLnNob3cpIHtcbiAgICAgICAgICBkYXRhLnNob3cocmVsYXRlZFRhcmdldCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfY3JlYXRlQ2xhc3MoTW9kYWwsIG51bGwsIFt7XG4gICAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBWRVJTSU9OJDU7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdCQzO1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBNb2RhbDtcbiAgfSgpO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuXG4gICQoZG9jdW1lbnQpLm9uKEV2ZW50JDUuQ0xJQ0tfREFUQV9BUEksIFNlbGVjdG9yJDUuREFUQV9UT0dHTEUsIGZ1bmN0aW9uIChldmVudCkge1xuICAgIHZhciBfdGhpczExID0gdGhpcztcblxuICAgIHZhciB0YXJnZXQ7XG4gICAgdmFyIHNlbGVjdG9yID0gVXRpbC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMpO1xuXG4gICAgaWYgKHNlbGVjdG9yKSB7XG4gICAgICB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgICB9XG5cbiAgICB2YXIgY29uZmlnID0gJCh0YXJnZXQpLmRhdGEoREFUQV9LRVkkNSkgPyAndG9nZ2xlJyA6IF9vYmplY3RTcHJlYWQyKHt9LCAkKHRhcmdldCkuZGF0YSgpLCB7fSwgJCh0aGlzKS5kYXRhKCkpO1xuXG4gICAgaWYgKHRoaXMudGFnTmFtZSA9PT0gJ0EnIHx8IHRoaXMudGFnTmFtZSA9PT0gJ0FSRUEnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIHZhciAkdGFyZ2V0ID0gJCh0YXJnZXQpLm9uZShFdmVudCQ1LlNIT1csIGZ1bmN0aW9uIChzaG93RXZlbnQpIHtcbiAgICAgIGlmIChzaG93RXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkpIHtcbiAgICAgICAgLy8gT25seSByZWdpc3RlciBmb2N1cyByZXN0b3JlciBpZiBtb2RhbCB3aWxsIGFjdHVhbGx5IGdldCBzaG93blxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgICR0YXJnZXQub25lKEV2ZW50JDUuSElEREVOLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICgkKF90aGlzMTEpLmlzKCc6dmlzaWJsZScpKSB7XG4gICAgICAgICAgX3RoaXMxMS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIE1vZGFsLl9qUXVlcnlJbnRlcmZhY2UuY2FsbCgkKHRhcmdldCksIGNvbmZpZywgdGhpcyk7XG4gIH0pO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIGpRdWVyeVxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgJC5mbltOQU1FJDVdID0gTW9kYWwuX2pRdWVyeUludGVyZmFjZTtcbiAgJC5mbltOQU1FJDVdLkNvbnN0cnVjdG9yID0gTW9kYWw7XG5cbiAgJC5mbltOQU1FJDVdLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJC5mbltOQU1FJDVdID0gSlFVRVJZX05PX0NPTkZMSUNUJDU7XG4gICAgcmV0dXJuIE1vZGFsLl9qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIEJvb3RzdHJhcCAodjQuNC4xKTogdG9vbHMvc2FuaXRpemVyLmpzXG4gICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuICB2YXIgdXJpQXR0cnMgPSBbJ2JhY2tncm91bmQnLCAnY2l0ZScsICdocmVmJywgJ2l0ZW10eXBlJywgJ2xvbmdkZXNjJywgJ3Bvc3RlcicsICdzcmMnLCAneGxpbms6aHJlZiddO1xuICB2YXIgQVJJQV9BVFRSSUJVVEVfUEFUVEVSTiA9IC9eYXJpYS1bXFx3LV0qJC9pO1xuICB2YXIgRGVmYXVsdFdoaXRlbGlzdCA9IHtcbiAgICAvLyBHbG9iYWwgYXR0cmlidXRlcyBhbGxvd2VkIG9uIGFueSBzdXBwbGllZCBlbGVtZW50IGJlbG93LlxuICAgICcqJzogWydjbGFzcycsICdkaXInLCAnaWQnLCAnbGFuZycsICdyb2xlJywgQVJJQV9BVFRSSUJVVEVfUEFUVEVSTl0sXG4gICAgYTogWyd0YXJnZXQnLCAnaHJlZicsICd0aXRsZScsICdyZWwnXSxcbiAgICBhcmVhOiBbXSxcbiAgICBiOiBbXSxcbiAgICBicjogW10sXG4gICAgY29sOiBbXSxcbiAgICBjb2RlOiBbXSxcbiAgICBkaXY6IFtdLFxuICAgIGVtOiBbXSxcbiAgICBocjogW10sXG4gICAgaDE6IFtdLFxuICAgIGgyOiBbXSxcbiAgICBoMzogW10sXG4gICAgaDQ6IFtdLFxuICAgIGg1OiBbXSxcbiAgICBoNjogW10sXG4gICAgaTogW10sXG4gICAgaW1nOiBbJ3NyYycsICdhbHQnLCAndGl0bGUnLCAnd2lkdGgnLCAnaGVpZ2h0J10sXG4gICAgbGk6IFtdLFxuICAgIG9sOiBbXSxcbiAgICBwOiBbXSxcbiAgICBwcmU6IFtdLFxuICAgIHM6IFtdLFxuICAgIHNtYWxsOiBbXSxcbiAgICBzcGFuOiBbXSxcbiAgICBzdWI6IFtdLFxuICAgIHN1cDogW10sXG4gICAgc3Ryb25nOiBbXSxcbiAgICB1OiBbXSxcbiAgICB1bDogW11cbiAgfTtcbiAgLyoqXG4gICAqIEEgcGF0dGVybiB0aGF0IHJlY29nbml6ZXMgYSBjb21tb25seSB1c2VmdWwgc3Vic2V0IG9mIFVSTHMgdGhhdCBhcmUgc2FmZS5cbiAgICpcbiAgICogU2hvdXRvdXQgdG8gQW5ndWxhciA3IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi83LjIuNC9wYWNrYWdlcy9jb3JlL3NyYy9zYW5pdGl6YXRpb24vdXJsX3Nhbml0aXplci50c1xuICAgKi9cblxuICB2YXIgU0FGRV9VUkxfUEFUVEVSTiA9IC9eKD86KD86aHR0cHM/fG1haWx0b3xmdHB8dGVsfGZpbGUpOnxbXiY6Lz8jXSooPzpbLz8jXXwkKSkvZ2k7XG4gIC8qKlxuICAgKiBBIHBhdHRlcm4gdGhhdCBtYXRjaGVzIHNhZmUgZGF0YSBVUkxzLiBPbmx5IG1hdGNoZXMgaW1hZ2UsIHZpZGVvIGFuZCBhdWRpbyB0eXBlcy5cbiAgICpcbiAgICogU2hvdXRvdXQgdG8gQW5ndWxhciA3IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvYmxvYi83LjIuNC9wYWNrYWdlcy9jb3JlL3NyYy9zYW5pdGl6YXRpb24vdXJsX3Nhbml0aXplci50c1xuICAgKi9cblxuICB2YXIgREFUQV9VUkxfUEFUVEVSTiA9IC9eZGF0YTooPzppbWFnZVxcLyg/OmJtcHxnaWZ8anBlZ3xqcGd8cG5nfHRpZmZ8d2VicCl8dmlkZW9cXC8oPzptcGVnfG1wNHxvZ2d8d2VibSl8YXVkaW9cXC8oPzptcDN8b2dhfG9nZ3xvcHVzKSk7YmFzZTY0LFthLXowLTkrL10rPSokL2k7XG5cbiAgZnVuY3Rpb24gYWxsb3dlZEF0dHJpYnV0ZShhdHRyLCBhbGxvd2VkQXR0cmlidXRlTGlzdCkge1xuICAgIHZhciBhdHRyTmFtZSA9IGF0dHIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChhbGxvd2VkQXR0cmlidXRlTGlzdC5pbmRleE9mKGF0dHJOYW1lKSAhPT0gLTEpIHtcbiAgICAgIGlmICh1cmlBdHRycy5pbmRleE9mKGF0dHJOYW1lKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4oYXR0ci5ub2RlVmFsdWUubWF0Y2goU0FGRV9VUkxfUEFUVEVSTikgfHwgYXR0ci5ub2RlVmFsdWUubWF0Y2goREFUQV9VUkxfUEFUVEVSTikpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgcmVnRXhwID0gYWxsb3dlZEF0dHJpYnV0ZUxpc3QuZmlsdGVyKGZ1bmN0aW9uIChhdHRyUmVnZXgpIHtcbiAgICAgIHJldHVybiBhdHRyUmVnZXggaW5zdGFuY2VvZiBSZWdFeHA7XG4gICAgfSk7IC8vIENoZWNrIGlmIGEgcmVndWxhciBleHByZXNzaW9uIHZhbGlkYXRlcyB0aGUgYXR0cmlidXRlLlxuXG4gICAgZm9yICh2YXIgaSA9IDAsIGwgPSByZWdFeHAubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYXR0ck5hbWUubWF0Y2gocmVnRXhwW2ldKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmdW5jdGlvbiBzYW5pdGl6ZUh0bWwodW5zYWZlSHRtbCwgd2hpdGVMaXN0LCBzYW5pdGl6ZUZuKSB7XG4gICAgaWYgKHVuc2FmZUh0bWwubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdW5zYWZlSHRtbDtcbiAgICB9XG5cbiAgICBpZiAoc2FuaXRpemVGbiAmJiB0eXBlb2Ygc2FuaXRpemVGbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuIHNhbml0aXplRm4odW5zYWZlSHRtbCk7XG4gICAgfVxuXG4gICAgdmFyIGRvbVBhcnNlciA9IG5ldyB3aW5kb3cuRE9NUGFyc2VyKCk7XG4gICAgdmFyIGNyZWF0ZWREb2N1bWVudCA9IGRvbVBhcnNlci5wYXJzZUZyb21TdHJpbmcodW5zYWZlSHRtbCwgJ3RleHQvaHRtbCcpO1xuICAgIHZhciB3aGl0ZWxpc3RLZXlzID0gT2JqZWN0LmtleXMod2hpdGVMaXN0KTtcbiAgICB2YXIgZWxlbWVudHMgPSBbXS5zbGljZS5jYWxsKGNyZWF0ZWREb2N1bWVudC5ib2R5LnF1ZXJ5U2VsZWN0b3JBbGwoJyonKSk7XG5cbiAgICB2YXIgX2xvb3AgPSBmdW5jdGlvbiBfbG9vcChpLCBsZW4pIHtcbiAgICAgIHZhciBlbCA9IGVsZW1lbnRzW2ldO1xuICAgICAgdmFyIGVsTmFtZSA9IGVsLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgIGlmICh3aGl0ZWxpc3RLZXlzLmluZGV4T2YoZWwubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkgPT09IC0xKSB7XG4gICAgICAgIGVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoZWwpO1xuICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgfVxuXG4gICAgICB2YXIgYXR0cmlidXRlTGlzdCA9IFtdLnNsaWNlLmNhbGwoZWwuYXR0cmlidXRlcyk7XG4gICAgICB2YXIgd2hpdGVsaXN0ZWRBdHRyaWJ1dGVzID0gW10uY29uY2F0KHdoaXRlTGlzdFsnKiddIHx8IFtdLCB3aGl0ZUxpc3RbZWxOYW1lXSB8fCBbXSk7XG4gICAgICBhdHRyaWJ1dGVMaXN0LmZvckVhY2goZnVuY3Rpb24gKGF0dHIpIHtcbiAgICAgICAgaWYgKCFhbGxvd2VkQXR0cmlidXRlKGF0dHIsIHdoaXRlbGlzdGVkQXR0cmlidXRlcykpIHtcbiAgICAgICAgICBlbC5yZW1vdmVBdHRyaWJ1dGUoYXR0ci5ub2RlTmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gZWxlbWVudHMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIHZhciBfcmV0ID0gX2xvb3AoaSk7XG5cbiAgICAgIGlmIChfcmV0ID09PSBcImNvbnRpbnVlXCIpIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHJldHVybiBjcmVhdGVkRG9jdW1lbnQuYm9keS5pbm5lckhUTUw7XG4gIH1cblxuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENvbnN0YW50c1xuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgdmFyIE5BTUUkNiA9ICd0b29sdGlwJztcbiAgdmFyIFZFUlNJT04kNiA9ICc0LjQuMSc7XG4gIHZhciBEQVRBX0tFWSQ2ID0gJ2JzLnRvb2x0aXAnO1xuICB2YXIgRVZFTlRfS0VZJDYgPSBcIi5cIiArIERBVEFfS0VZJDY7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkNiA9ICQuZm5bTkFNRSQ2XTtcbiAgdmFyIENMQVNTX1BSRUZJWCA9ICdicy10b29sdGlwJztcbiAgdmFyIEJTQ0xTX1BSRUZJWF9SRUdFWCA9IG5ldyBSZWdFeHAoXCIoXnxcXFxccylcIiArIENMQVNTX1BSRUZJWCArIFwiXFxcXFMrXCIsICdnJyk7XG4gIHZhciBESVNBTExPV0VEX0FUVFJJQlVURVMgPSBbJ3Nhbml0aXplJywgJ3doaXRlTGlzdCcsICdzYW5pdGl6ZUZuJ107XG4gIHZhciBEZWZhdWx0VHlwZSQ0ID0ge1xuICAgIGFuaW1hdGlvbjogJ2Jvb2xlYW4nLFxuICAgIHRlbXBsYXRlOiAnc3RyaW5nJyxcbiAgICB0aXRsZTogJyhzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbiknLFxuICAgIHRyaWdnZXI6ICdzdHJpbmcnLFxuICAgIGRlbGF5OiAnKG51bWJlcnxvYmplY3QpJyxcbiAgICBodG1sOiAnYm9vbGVhbicsXG4gICAgc2VsZWN0b3I6ICcoc3RyaW5nfGJvb2xlYW4pJyxcbiAgICBwbGFjZW1lbnQ6ICcoc3RyaW5nfGZ1bmN0aW9uKScsXG4gICAgb2Zmc2V0OiAnKG51bWJlcnxzdHJpbmd8ZnVuY3Rpb24pJyxcbiAgICBjb250YWluZXI6ICcoc3RyaW5nfGVsZW1lbnR8Ym9vbGVhbiknLFxuICAgIGZhbGxiYWNrUGxhY2VtZW50OiAnKHN0cmluZ3xhcnJheSknLFxuICAgIGJvdW5kYXJ5OiAnKHN0cmluZ3xlbGVtZW50KScsXG4gICAgc2FuaXRpemU6ICdib29sZWFuJyxcbiAgICBzYW5pdGl6ZUZuOiAnKG51bGx8ZnVuY3Rpb24pJyxcbiAgICB3aGl0ZUxpc3Q6ICdvYmplY3QnLFxuICAgIHBvcHBlckNvbmZpZzogJyhudWxsfG9iamVjdCknXG4gIH07XG4gIHZhciBBdHRhY2htZW50TWFwJDEgPSB7XG4gICAgQVVUTzogJ2F1dG8nLFxuICAgIFRPUDogJ3RvcCcsXG4gICAgUklHSFQ6ICdyaWdodCcsXG4gICAgQk9UVE9NOiAnYm90dG9tJyxcbiAgICBMRUZUOiAnbGVmdCdcbiAgfTtcbiAgdmFyIERlZmF1bHQkNCA9IHtcbiAgICBhbmltYXRpb246IHRydWUsXG4gICAgdGVtcGxhdGU6ICc8ZGl2IGNsYXNzPVwidG9vbHRpcFwiIHJvbGU9XCJ0b29sdGlwXCI+JyArICc8ZGl2IGNsYXNzPVwiYXJyb3dcIj48L2Rpdj4nICsgJzxkaXYgY2xhc3M9XCJ0b29sdGlwLWlubmVyXCI+PC9kaXY+PC9kaXY+JyxcbiAgICB0cmlnZ2VyOiAnaG92ZXIgZm9jdXMnLFxuICAgIHRpdGxlOiAnJyxcbiAgICBkZWxheTogMCxcbiAgICBodG1sOiBmYWxzZSxcbiAgICBzZWxlY3RvcjogZmFsc2UsXG4gICAgcGxhY2VtZW50OiAndG9wJyxcbiAgICBvZmZzZXQ6IDAsXG4gICAgY29udGFpbmVyOiBmYWxzZSxcbiAgICBmYWxsYmFja1BsYWNlbWVudDogJ2ZsaXAnLFxuICAgIGJvdW5kYXJ5OiAnc2Nyb2xsUGFyZW50JyxcbiAgICBzYW5pdGl6ZTogdHJ1ZSxcbiAgICBzYW5pdGl6ZUZuOiBudWxsLFxuICAgIHdoaXRlTGlzdDogRGVmYXVsdFdoaXRlbGlzdCxcbiAgICBwb3BwZXJDb25maWc6IG51bGxcbiAgfTtcbiAgdmFyIEhvdmVyU3RhdGUgPSB7XG4gICAgU0hPVzogJ3Nob3cnLFxuICAgIE9VVDogJ291dCdcbiAgfTtcbiAgdmFyIEV2ZW50JDYgPSB7XG4gICAgSElERTogXCJoaWRlXCIgKyBFVkVOVF9LRVkkNixcbiAgICBISURERU46IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNixcbiAgICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ2LFxuICAgIFNIT1dOOiBcInNob3duXCIgKyBFVkVOVF9LRVkkNixcbiAgICBJTlNFUlRFRDogXCJpbnNlcnRlZFwiICsgRVZFTlRfS0VZJDYsXG4gICAgQ0xJQ0s6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ2LFxuICAgIEZPQ1VTSU46IFwiZm9jdXNpblwiICsgRVZFTlRfS0VZJDYsXG4gICAgRk9DVVNPVVQ6IFwiZm9jdXNvdXRcIiArIEVWRU5UX0tFWSQ2LFxuICAgIE1PVVNFRU5URVI6IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDYsXG4gICAgTU9VU0VMRUFWRTogXCJtb3VzZWxlYXZlXCIgKyBFVkVOVF9LRVkkNlxuICB9O1xuICB2YXIgQ2xhc3NOYW1lJDYgPSB7XG4gICAgRkFERTogJ2ZhZGUnLFxuICAgIFNIT1c6ICdzaG93J1xuICB9O1xuICB2YXIgU2VsZWN0b3IkNiA9IHtcbiAgICBUT09MVElQOiAnLnRvb2x0aXAnLFxuICAgIFRPT0xUSVBfSU5ORVI6ICcudG9vbHRpcC1pbm5lcicsXG4gICAgQVJST1c6ICcuYXJyb3cnXG4gIH07XG4gIHZhciBUcmlnZ2VyID0ge1xuICAgIEhPVkVSOiAnaG92ZXInLFxuICAgIEZPQ1VTOiAnZm9jdXMnLFxuICAgIENMSUNLOiAnY2xpY2snLFxuICAgIE1BTlVBTDogJ21hbnVhbCdcbiAgfTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDbGFzcyBEZWZpbml0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgVG9vbHRpcCA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRvb2x0aXAoZWxlbWVudCwgY29uZmlnKSB7XG4gICAgICBpZiAodHlwZW9mIFBvcHBlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQm9vdHN0cmFwXFwncyB0b29sdGlwcyByZXF1aXJlIFBvcHBlci5qcyAoaHR0cHM6Ly9wb3BwZXIuanMub3JnLyknKTtcbiAgICAgIH0gLy8gcHJpdmF0ZVxuXG5cbiAgICAgIHRoaXMuX2lzRW5hYmxlZCA9IHRydWU7XG4gICAgICB0aGlzLl90aW1lb3V0ID0gMDtcbiAgICAgIHRoaXMuX2hvdmVyU3RhdGUgPSAnJztcbiAgICAgIHRoaXMuX2FjdGl2ZVRyaWdnZXIgPSB7fTtcbiAgICAgIHRoaXMuX3BvcHBlciA9IG51bGw7IC8vIFByb3RlY3RlZFxuXG4gICAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgdGhpcy5jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICAgIHRoaXMudGlwID0gbnVsbDtcblxuICAgICAgdGhpcy5fc2V0TGlzdGVuZXJzKCk7XG4gICAgfSAvLyBHZXR0ZXJzXG5cblxuICAgIHZhciBfcHJvdG8gPSBUb29sdGlwLnByb3RvdHlwZTtcblxuICAgIC8vIFB1YmxpY1xuICAgIF9wcm90by5lbmFibGUgPSBmdW5jdGlvbiBlbmFibGUoKSB7XG4gICAgICB0aGlzLl9pc0VuYWJsZWQgPSB0cnVlO1xuICAgIH07XG5cbiAgICBfcHJvdG8uZGlzYWJsZSA9IGZ1bmN0aW9uIGRpc2FibGUoKSB7XG4gICAgICB0aGlzLl9pc0VuYWJsZWQgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLnRvZ2dsZUVuYWJsZWQgPSBmdW5jdGlvbiB0b2dnbGVFbmFibGVkKCkge1xuICAgICAgdGhpcy5faXNFbmFibGVkID0gIXRoaXMuX2lzRW5hYmxlZDtcbiAgICB9O1xuXG4gICAgX3Byb3RvLnRvZ2dsZSA9IGZ1bmN0aW9uIHRvZ2dsZShldmVudCkge1xuICAgICAgaWYgKCF0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgdmFyIGRhdGFLZXkgPSB0aGlzLmNvbnN0cnVjdG9yLkRBVEFfS0VZO1xuICAgICAgICB2YXIgY29udGV4dCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCkuZGF0YShkYXRhS2V5KTtcblxuICAgICAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgICBjb250ZXh0ID0gbmV3IHRoaXMuY29uc3RydWN0b3IoZXZlbnQuY3VycmVudFRhcmdldCwgdGhpcy5fZ2V0RGVsZWdhdGVDb25maWcoKSk7XG4gICAgICAgICAgJChldmVudC5jdXJyZW50VGFyZ2V0KS5kYXRhKGRhdGFLZXksIGNvbnRleHQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5fYWN0aXZlVHJpZ2dlci5jbGljayA9ICFjb250ZXh0Ll9hY3RpdmVUcmlnZ2VyLmNsaWNrO1xuXG4gICAgICAgIGlmIChjb250ZXh0Ll9pc1dpdGhBY3RpdmVUcmlnZ2VyKCkpIHtcbiAgICAgICAgICBjb250ZXh0Ll9lbnRlcihudWxsLCBjb250ZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250ZXh0Ll9sZWF2ZShudWxsLCBjb250ZXh0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCQodGhpcy5nZXRUaXBFbGVtZW50KCkpLmhhc0NsYXNzKENsYXNzTmFtZSQ2LlNIT1cpKSB7XG4gICAgICAgICAgdGhpcy5fbGVhdmUobnVsbCwgdGhpcyk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9lbnRlcihudWxsLCB0aGlzKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpO1xuICAgICAgJC5yZW1vdmVEYXRhKHRoaXMuZWxlbWVudCwgdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSk7XG4gICAgICAkKHRoaXMuZWxlbWVudCkub2ZmKHRoaXMuY29uc3RydWN0b3IuRVZFTlRfS0VZKTtcbiAgICAgICQodGhpcy5lbGVtZW50KS5jbG9zZXN0KCcubW9kYWwnKS5vZmYoJ2hpZGUuYnMubW9kYWwnLCB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKTtcblxuICAgICAgaWYgKHRoaXMudGlwKSB7XG4gICAgICAgICQodGhpcy50aXApLnJlbW92ZSgpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLl9pc0VuYWJsZWQgPSBudWxsO1xuICAgICAgdGhpcy5fdGltZW91dCA9IG51bGw7XG4gICAgICB0aGlzLl9ob3ZlclN0YXRlID0gbnVsbDtcbiAgICAgIHRoaXMuX2FjdGl2ZVRyaWdnZXIgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5fcG9wcGVyKSB7XG4gICAgICAgIHRoaXMuX3BvcHBlci5kZXN0cm95KCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX3BvcHBlciA9IG51bGw7XG4gICAgICB0aGlzLmVsZW1lbnQgPSBudWxsO1xuICAgICAgdGhpcy5jb25maWcgPSBudWxsO1xuICAgICAgdGhpcy50aXAgPSBudWxsO1xuICAgIH07XG5cbiAgICBfcHJvdG8uc2hvdyA9IGZ1bmN0aW9uIHNob3coKSB7XG4gICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgICBpZiAoJCh0aGlzLmVsZW1lbnQpLmNzcygnZGlzcGxheScpID09PSAnbm9uZScpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgdXNlIHNob3cgb24gdmlzaWJsZSBlbGVtZW50cycpO1xuICAgICAgfVxuXG4gICAgICB2YXIgc2hvd0V2ZW50ID0gJC5FdmVudCh0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1cpO1xuXG4gICAgICBpZiAodGhpcy5pc1dpdGhDb250ZW50KCkgJiYgdGhpcy5faXNFbmFibGVkKSB7XG4gICAgICAgICQodGhpcy5lbGVtZW50KS50cmlnZ2VyKHNob3dFdmVudCk7XG4gICAgICAgIHZhciBzaGFkb3dSb290ID0gVXRpbC5maW5kU2hhZG93Um9vdCh0aGlzLmVsZW1lbnQpO1xuICAgICAgICB2YXIgaXNJblRoZURvbSA9ICQuY29udGFpbnMoc2hhZG93Um9vdCAhPT0gbnVsbCA/IHNoYWRvd1Jvb3QgOiB0aGlzLmVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHRoaXMuZWxlbWVudCk7XG5cbiAgICAgICAgaWYgKHNob3dFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCAhaXNJblRoZURvbSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICAgICAgdmFyIHRpcElkID0gVXRpbC5nZXRVSUQodGhpcy5jb25zdHJ1Y3Rvci5OQU1FKTtcbiAgICAgICAgdGlwLnNldEF0dHJpYnV0ZSgnaWQnLCB0aXBJZCk7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtZGVzY3JpYmVkYnknLCB0aXBJZCk7XG4gICAgICAgIHRoaXMuc2V0Q29udGVudCgpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5hbmltYXRpb24pIHtcbiAgICAgICAgICAkKHRpcCkuYWRkQ2xhc3MoQ2xhc3NOYW1lJDYuRkFERSk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgcGxhY2VtZW50ID0gdHlwZW9mIHRoaXMuY29uZmlnLnBsYWNlbWVudCA9PT0gJ2Z1bmN0aW9uJyA/IHRoaXMuY29uZmlnLnBsYWNlbWVudC5jYWxsKHRoaXMsIHRpcCwgdGhpcy5lbGVtZW50KSA6IHRoaXMuY29uZmlnLnBsYWNlbWVudDtcblxuICAgICAgICB2YXIgYXR0YWNobWVudCA9IHRoaXMuX2dldEF0dGFjaG1lbnQocGxhY2VtZW50KTtcblxuICAgICAgICB0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyhhdHRhY2htZW50KTtcblxuICAgICAgICB2YXIgY29udGFpbmVyID0gdGhpcy5fZ2V0Q29udGFpbmVyKCk7XG5cbiAgICAgICAgJCh0aXApLmRhdGEodGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWSwgdGhpcyk7XG5cbiAgICAgICAgaWYgKCEkLmNvbnRhaW5zKHRoaXMuZWxlbWVudC5vd25lckRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwgdGhpcy50aXApKSB7XG4gICAgICAgICAgJCh0aXApLmFwcGVuZFRvKGNvbnRhaW5lcik7XG4gICAgICAgIH1cblxuICAgICAgICAkKHRoaXMuZWxlbWVudCkudHJpZ2dlcih0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LklOU0VSVEVEKTtcbiAgICAgICAgdGhpcy5fcG9wcGVyID0gbmV3IFBvcHBlcih0aGlzLmVsZW1lbnQsIHRpcCwgdGhpcy5fZ2V0UG9wcGVyQ29uZmlnKGF0dGFjaG1lbnQpKTtcbiAgICAgICAgJCh0aXApLmFkZENsYXNzKENsYXNzTmFtZSQ2LlNIT1cpOyAvLyBJZiB0aGlzIGlzIGEgdG91Y2gtZW5hYmxlZCBkZXZpY2Ugd2UgYWRkIGV4dHJhXG4gICAgICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgdG8gdGhlIGJvZHkncyBpbW1lZGlhdGUgY2hpbGRyZW47XG4gICAgICAgIC8vIG9ubHkgbmVlZGVkIGJlY2F1c2Ugb2YgYnJva2VuIGV2ZW50IGRlbGVnYXRpb24gb24gaU9TXG4gICAgICAgIC8vIGh0dHBzOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxNC8wMi9tb3VzZV9ldmVudF9idWIuaHRtbFxuXG4gICAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgICAgICAkKGRvY3VtZW50LmJvZHkpLmNoaWxkcmVuKCkub24oJ21vdXNlb3ZlcicsIG51bGwsICQubm9vcCk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgICAgICBpZiAoX3RoaXMuY29uZmlnLmFuaW1hdGlvbikge1xuICAgICAgICAgICAgX3RoaXMuX2ZpeFRyYW5zaXRpb24oKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgcHJldkhvdmVyU3RhdGUgPSBfdGhpcy5faG92ZXJTdGF0ZTtcbiAgICAgICAgICBfdGhpcy5faG92ZXJTdGF0ZSA9IG51bGw7XG4gICAgICAgICAgJChfdGhpcy5lbGVtZW50KS50cmlnZ2VyKF90aGlzLmNvbnN0cnVjdG9yLkV2ZW50LlNIT1dOKTtcblxuICAgICAgICAgIGlmIChwcmV2SG92ZXJTdGF0ZSA9PT0gSG92ZXJTdGF0ZS5PVVQpIHtcbiAgICAgICAgICAgIF90aGlzLl9sZWF2ZShudWxsLCBfdGhpcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICgkKHRoaXMudGlwKS5oYXNDbGFzcyhDbGFzc05hbWUkNi5GQURFKSkge1xuICAgICAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMudGlwKTtcbiAgICAgICAgICAkKHRoaXMudGlwKS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgY29tcGxldGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoY2FsbGJhY2spIHtcbiAgICAgIHZhciBfdGhpczIgPSB0aGlzO1xuXG4gICAgICB2YXIgdGlwID0gdGhpcy5nZXRUaXBFbGVtZW50KCk7XG4gICAgICB2YXIgaGlkZUV2ZW50ID0gJC5FdmVudCh0aGlzLmNvbnN0cnVjdG9yLkV2ZW50LkhJREUpO1xuXG4gICAgICB2YXIgY29tcGxldGUgPSBmdW5jdGlvbiBjb21wbGV0ZSgpIHtcbiAgICAgICAgaWYgKF90aGlzMi5faG92ZXJTdGF0ZSAhPT0gSG92ZXJTdGF0ZS5TSE9XICYmIHRpcC5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgdGlwLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGlwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIF90aGlzMi5fY2xlYW5UaXBDbGFzcygpO1xuXG4gICAgICAgIF90aGlzMi5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgnYXJpYS1kZXNjcmliZWRieScpO1xuXG4gICAgICAgICQoX3RoaXMyLmVsZW1lbnQpLnRyaWdnZXIoX3RoaXMyLmNvbnN0cnVjdG9yLkV2ZW50LkhJRERFTik7XG5cbiAgICAgICAgaWYgKF90aGlzMi5fcG9wcGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgX3RoaXMyLl9wb3BwZXIuZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgJCh0aGlzLmVsZW1lbnQpLnRyaWdnZXIoaGlkZUV2ZW50KTtcblxuICAgICAgaWYgKGhpZGVFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgICQodGlwKS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkNi5TSE9XKTsgLy8gSWYgdGhpcyBpcyBhIHRvdWNoLWVuYWJsZWQgZGV2aWNlIHdlIHJlbW92ZSB0aGUgZXh0cmFcbiAgICAgIC8vIGVtcHR5IG1vdXNlb3ZlciBsaXN0ZW5lcnMgd2UgYWRkZWQgZm9yIGlPUyBzdXBwb3J0XG5cbiAgICAgIGlmICgnb250b3VjaHN0YXJ0JyBpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpIHtcbiAgICAgICAgJChkb2N1bWVudC5ib2R5KS5jaGlsZHJlbigpLm9mZignbW91c2VvdmVyJywgbnVsbCwgJC5ub29wKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUcmlnZ2VyLkNMSUNLXSA9IGZhbHNlO1xuICAgICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUcmlnZ2VyLkZPQ1VTXSA9IGZhbHNlO1xuICAgICAgdGhpcy5fYWN0aXZlVHJpZ2dlcltUcmlnZ2VyLkhPVkVSXSA9IGZhbHNlO1xuXG4gICAgICBpZiAoJCh0aGlzLnRpcCkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDYuRkFERSkpIHtcbiAgICAgICAgdmFyIHRyYW5zaXRpb25EdXJhdGlvbiA9IFV0aWwuZ2V0VHJhbnNpdGlvbkR1cmF0aW9uRnJvbUVsZW1lbnQodGlwKTtcbiAgICAgICAgJCh0aXApLm9uZShVdGlsLlRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQodHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBsZXRlKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2hvdmVyU3RhdGUgPSAnJztcbiAgICB9O1xuXG4gICAgX3Byb3RvLnVwZGF0ZSA9IGZ1bmN0aW9uIHVwZGF0ZSgpIHtcbiAgICAgIGlmICh0aGlzLl9wb3BwZXIgIT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5fcG9wcGVyLnNjaGVkdWxlVXBkYXRlKCk7XG4gICAgICB9XG4gICAgfSAvLyBQcm90ZWN0ZWRcbiAgICA7XG5cbiAgICBfcHJvdG8uaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gQm9vbGVhbih0aGlzLmdldFRpdGxlKCkpO1xuICAgIH07XG5cbiAgICBfcHJvdG8uYWRkQXR0YWNobWVudENsYXNzID0gZnVuY3Rpb24gYWRkQXR0YWNobWVudENsYXNzKGF0dGFjaG1lbnQpIHtcbiAgICAgICQodGhpcy5nZXRUaXBFbGVtZW50KCkpLmFkZENsYXNzKENMQVNTX1BSRUZJWCArIFwiLVwiICsgYXR0YWNobWVudCk7XG4gICAgfTtcblxuICAgIF9wcm90by5nZXRUaXBFbGVtZW50ID0gZnVuY3Rpb24gZ2V0VGlwRWxlbWVudCgpIHtcbiAgICAgIHRoaXMudGlwID0gdGhpcy50aXAgfHwgJCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF07XG4gICAgICByZXR1cm4gdGhpcy50aXA7XG4gICAgfTtcblxuICAgIF9wcm90by5zZXRDb250ZW50ID0gZnVuY3Rpb24gc2V0Q29udGVudCgpIHtcbiAgICAgIHZhciB0aXAgPSB0aGlzLmdldFRpcEVsZW1lbnQoKTtcbiAgICAgIHRoaXMuc2V0RWxlbWVudENvbnRlbnQoJCh0aXAucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQ2LlRPT0xUSVBfSU5ORVIpKSwgdGhpcy5nZXRUaXRsZSgpKTtcbiAgICAgICQodGlwKS5yZW1vdmVDbGFzcyhDbGFzc05hbWUkNi5GQURFICsgXCIgXCIgKyBDbGFzc05hbWUkNi5TSE9XKTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLnNldEVsZW1lbnRDb250ZW50ID0gZnVuY3Rpb24gc2V0RWxlbWVudENvbnRlbnQoJGVsZW1lbnQsIGNvbnRlbnQpIHtcbiAgICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ29iamVjdCcgJiYgKGNvbnRlbnQubm9kZVR5cGUgfHwgY29udGVudC5qcXVlcnkpKSB7XG4gICAgICAgIC8vIENvbnRlbnQgaXMgYSBET00gbm9kZSBvciBhIGpRdWVyeVxuICAgICAgICBpZiAodGhpcy5jb25maWcuaHRtbCkge1xuICAgICAgICAgIGlmICghJChjb250ZW50KS5wYXJlbnQoKS5pcygkZWxlbWVudCkpIHtcbiAgICAgICAgICAgICRlbGVtZW50LmVtcHR5KCkuYXBwZW5kKGNvbnRlbnQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAkZWxlbWVudC50ZXh0KCQoY29udGVudCkudGV4dCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29uZmlnLmh0bWwpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLnNhbml0aXplKSB7XG4gICAgICAgICAgY29udGVudCA9IHNhbml0aXplSHRtbChjb250ZW50LCB0aGlzLmNvbmZpZy53aGl0ZUxpc3QsIHRoaXMuY29uZmlnLnNhbml0aXplRm4pO1xuICAgICAgICB9XG5cbiAgICAgICAgJGVsZW1lbnQuaHRtbChjb250ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRlbGVtZW50LnRleHQoY29udGVudCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5nZXRUaXRsZSA9IGZ1bmN0aW9uIGdldFRpdGxlKCkge1xuICAgICAgdmFyIHRpdGxlID0gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1vcmlnaW5hbC10aXRsZScpO1xuXG4gICAgICBpZiAoIXRpdGxlKSB7XG4gICAgICAgIHRpdGxlID0gdHlwZW9mIHRoaXMuY29uZmlnLnRpdGxlID09PSAnZnVuY3Rpb24nID8gdGhpcy5jb25maWcudGl0bGUuY2FsbCh0aGlzLmVsZW1lbnQpIDogdGhpcy5jb25maWcudGl0bGU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aXRsZTtcbiAgICB9IC8vIFByaXZhdGVcbiAgICA7XG5cbiAgICBfcHJvdG8uX2dldFBvcHBlckNvbmZpZyA9IGZ1bmN0aW9uIF9nZXRQb3BwZXJDb25maWcoYXR0YWNobWVudCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZhciBkZWZhdWx0QnNDb25maWcgPSB7XG4gICAgICAgIHBsYWNlbWVudDogYXR0YWNobWVudCxcbiAgICAgICAgbW9kaWZpZXJzOiB7XG4gICAgICAgICAgb2Zmc2V0OiB0aGlzLl9nZXRPZmZzZXQoKSxcbiAgICAgICAgICBmbGlwOiB7XG4gICAgICAgICAgICBiZWhhdmlvcjogdGhpcy5jb25maWcuZmFsbGJhY2tQbGFjZW1lbnRcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFycm93OiB7XG4gICAgICAgICAgICBlbGVtZW50OiBTZWxlY3RvciQ2LkFSUk9XXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwcmV2ZW50T3ZlcmZsb3c6IHtcbiAgICAgICAgICAgIGJvdW5kYXJpZXNFbGVtZW50OiB0aGlzLmNvbmZpZy5ib3VuZGFyeVxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25DcmVhdGU6IGZ1bmN0aW9uIG9uQ3JlYXRlKGRhdGEpIHtcbiAgICAgICAgICBpZiAoZGF0YS5vcmlnaW5hbFBsYWNlbWVudCAhPT0gZGF0YS5wbGFjZW1lbnQpIHtcbiAgICAgICAgICAgIF90aGlzMy5faGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKGRhdGEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgb25VcGRhdGU6IGZ1bmN0aW9uIG9uVXBkYXRlKGRhdGEpIHtcbiAgICAgICAgICByZXR1cm4gX3RoaXMzLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UoZGF0YSk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gX29iamVjdFNwcmVhZDIoe30sIGRlZmF1bHRCc0NvbmZpZywge30sIHRoaXMuY29uZmlnLnBvcHBlckNvbmZpZyk7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0T2Zmc2V0ID0gZnVuY3Rpb24gX2dldE9mZnNldCgpIHtcbiAgICAgIHZhciBfdGhpczQgPSB0aGlzO1xuXG4gICAgICB2YXIgb2Zmc2V0ID0ge307XG5cbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub2Zmc2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9mZnNldC5mbiA9IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgZGF0YS5vZmZzZXRzID0gX29iamVjdFNwcmVhZDIoe30sIGRhdGEub2Zmc2V0cywge30sIF90aGlzNC5jb25maWcub2Zmc2V0KGRhdGEub2Zmc2V0cywgX3RoaXM0LmVsZW1lbnQpIHx8IHt9KTtcbiAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9mZnNldC5vZmZzZXQgPSB0aGlzLmNvbmZpZy5vZmZzZXQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvZmZzZXQ7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0Q29udGFpbmVyID0gZnVuY3Rpb24gX2dldENvbnRhaW5lcigpIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZy5jb250YWluZXIgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudC5ib2R5O1xuICAgICAgfVxuXG4gICAgICBpZiAoVXRpbC5pc0VsZW1lbnQodGhpcy5jb25maWcuY29udGFpbmVyKSkge1xuICAgICAgICByZXR1cm4gJCh0aGlzLmNvbmZpZy5jb250YWluZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gJChkb2N1bWVudCkuZmluZCh0aGlzLmNvbmZpZy5jb250YWluZXIpO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2dldEF0dGFjaG1lbnQgPSBmdW5jdGlvbiBfZ2V0QXR0YWNobWVudChwbGFjZW1lbnQpIHtcbiAgICAgIHJldHVybiBBdHRhY2htZW50TWFwJDFbcGxhY2VtZW50LnRvVXBwZXJDYXNlKCldO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX3NldExpc3RlbmVycyA9IGZ1bmN0aW9uIF9zZXRMaXN0ZW5lcnMoKSB7XG4gICAgICB2YXIgX3RoaXM1ID0gdGhpcztcblxuICAgICAgdmFyIHRyaWdnZXJzID0gdGhpcy5jb25maWcudHJpZ2dlci5zcGxpdCgnICcpO1xuICAgICAgdHJpZ2dlcnMuZm9yRWFjaChmdW5jdGlvbiAodHJpZ2dlcikge1xuICAgICAgICBpZiAodHJpZ2dlciA9PT0gJ2NsaWNrJykge1xuICAgICAgICAgICQoX3RoaXM1LmVsZW1lbnQpLm9uKF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5DTElDSywgX3RoaXM1LmNvbmZpZy5zZWxlY3RvciwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXM1LnRvZ2dsZShldmVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHJpZ2dlciAhPT0gVHJpZ2dlci5NQU5VQUwpIHtcbiAgICAgICAgICB2YXIgZXZlbnRJbiA9IHRyaWdnZXIgPT09IFRyaWdnZXIuSE9WRVIgPyBfdGhpczUuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VFTlRFUiA6IF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU0lOO1xuICAgICAgICAgIHZhciBldmVudE91dCA9IHRyaWdnZXIgPT09IFRyaWdnZXIuSE9WRVIgPyBfdGhpczUuY29uc3RydWN0b3IuRXZlbnQuTU9VU0VMRUFWRSA6IF90aGlzNS5jb25zdHJ1Y3Rvci5FdmVudC5GT0NVU09VVDtcbiAgICAgICAgICAkKF90aGlzNS5lbGVtZW50KS5vbihldmVudEluLCBfdGhpczUuY29uZmlnLnNlbGVjdG9yLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBfdGhpczUuX2VudGVyKGV2ZW50KTtcbiAgICAgICAgICB9KS5vbihldmVudE91dCwgX3RoaXM1LmNvbmZpZy5zZWxlY3RvciwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gX3RoaXM1Ll9sZWF2ZShldmVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoX3RoaXM1LmVsZW1lbnQpIHtcbiAgICAgICAgICBfdGhpczUuaGlkZSgpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICAkKHRoaXMuZWxlbWVudCkuY2xvc2VzdCgnLm1vZGFsJykub24oJ2hpZGUuYnMubW9kYWwnLCB0aGlzLl9oaWRlTW9kYWxIYW5kbGVyKTtcblxuICAgICAgaWYgKHRoaXMuY29uZmlnLnNlbGVjdG9yKSB7XG4gICAgICAgIHRoaXMuY29uZmlnID0gX29iamVjdFNwcmVhZDIoe30sIHRoaXMuY29uZmlnLCB7XG4gICAgICAgICAgdHJpZ2dlcjogJ21hbnVhbCcsXG4gICAgICAgICAgc2VsZWN0b3I6ICcnXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZml4VGl0bGUoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9maXhUaXRsZSA9IGZ1bmN0aW9uIF9maXhUaXRsZSgpIHtcbiAgICAgIHZhciB0aXRsZVR5cGUgPSB0eXBlb2YgdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1vcmlnaW5hbC10aXRsZScpO1xuXG4gICAgICBpZiAodGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgndGl0bGUnKSB8fCB0aXRsZVR5cGUgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2RhdGEtb3JpZ2luYWwtdGl0bGUnLCB0aGlzLmVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpIHx8ICcnKTtcbiAgICAgICAgdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgndGl0bGUnLCAnJyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5fZW50ZXIgPSBmdW5jdGlvbiBfZW50ZXIoZXZlbnQsIGNvbnRleHQpIHtcbiAgICAgIHZhciBkYXRhS2V5ID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0IHx8ICQoZXZlbnQuY3VycmVudFRhcmdldCkuZGF0YShkYXRhS2V5KTtcblxuICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIGNvbnRleHQgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihldmVudC5jdXJyZW50VGFyZ2V0LCB0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKTtcbiAgICAgICAgJChldmVudC5jdXJyZW50VGFyZ2V0KS5kYXRhKGRhdGFLZXksIGNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgY29udGV4dC5fYWN0aXZlVHJpZ2dlcltldmVudC50eXBlID09PSAnZm9jdXNpbicgPyBUcmlnZ2VyLkZPQ1VTIDogVHJpZ2dlci5IT1ZFUl0gPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoJChjb250ZXh0LmdldFRpcEVsZW1lbnQoKSkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDYuU0hPVykgfHwgY29udGV4dC5faG92ZXJTdGF0ZSA9PT0gSG92ZXJTdGF0ZS5TSE9XKSB7XG4gICAgICAgIGNvbnRleHQuX2hvdmVyU3RhdGUgPSBIb3ZlclN0YXRlLlNIT1c7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY2xlYXJUaW1lb3V0KGNvbnRleHQuX3RpbWVvdXQpO1xuICAgICAgY29udGV4dC5faG92ZXJTdGF0ZSA9IEhvdmVyU3RhdGUuU0hPVztcblxuICAgICAgaWYgKCFjb250ZXh0LmNvbmZpZy5kZWxheSB8fCAhY29udGV4dC5jb25maWcuZGVsYXkuc2hvdykge1xuICAgICAgICBjb250ZXh0LnNob3coKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb250ZXh0Ll90aW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChjb250ZXh0Ll9ob3ZlclN0YXRlID09PSBIb3ZlclN0YXRlLlNIT1cpIHtcbiAgICAgICAgICBjb250ZXh0LnNob3coKTtcbiAgICAgICAgfVxuICAgICAgfSwgY29udGV4dC5jb25maWcuZGVsYXkuc2hvdyk7XG4gICAgfTtcblxuICAgIF9wcm90by5fbGVhdmUgPSBmdW5jdGlvbiBfbGVhdmUoZXZlbnQsIGNvbnRleHQpIHtcbiAgICAgIHZhciBkYXRhS2V5ID0gdGhpcy5jb25zdHJ1Y3Rvci5EQVRBX0tFWTtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0IHx8ICQoZXZlbnQuY3VycmVudFRhcmdldCkuZGF0YShkYXRhS2V5KTtcblxuICAgICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIGNvbnRleHQgPSBuZXcgdGhpcy5jb25zdHJ1Y3RvcihldmVudC5jdXJyZW50VGFyZ2V0LCB0aGlzLl9nZXREZWxlZ2F0ZUNvbmZpZygpKTtcbiAgICAgICAgJChldmVudC5jdXJyZW50VGFyZ2V0KS5kYXRhKGRhdGFLZXksIGNvbnRleHQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnQpIHtcbiAgICAgICAgY29udGV4dC5fYWN0aXZlVHJpZ2dlcltldmVudC50eXBlID09PSAnZm9jdXNvdXQnID8gVHJpZ2dlci5GT0NVUyA6IFRyaWdnZXIuSE9WRVJdID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZXh0Ll9pc1dpdGhBY3RpdmVUcmlnZ2VyKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjbGVhclRpbWVvdXQoY29udGV4dC5fdGltZW91dCk7XG4gICAgICBjb250ZXh0Ll9ob3ZlclN0YXRlID0gSG92ZXJTdGF0ZS5PVVQ7XG5cbiAgICAgIGlmICghY29udGV4dC5jb25maWcuZGVsYXkgfHwgIWNvbnRleHQuY29uZmlnLmRlbGF5LmhpZGUpIHtcbiAgICAgICAgY29udGV4dC5oaWRlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5fdGltZW91dCA9IHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoY29udGV4dC5faG92ZXJTdGF0ZSA9PT0gSG92ZXJTdGF0ZS5PVVQpIHtcbiAgICAgICAgICBjb250ZXh0LmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgfSwgY29udGV4dC5jb25maWcuZGVsYXkuaGlkZSk7XG4gICAgfTtcblxuICAgIF9wcm90by5faXNXaXRoQWN0aXZlVHJpZ2dlciA9IGZ1bmN0aW9uIF9pc1dpdGhBY3RpdmVUcmlnZ2VyKCkge1xuICAgICAgZm9yICh2YXIgdHJpZ2dlciBpbiB0aGlzLl9hY3RpdmVUcmlnZ2VyKSB7XG4gICAgICAgIGlmICh0aGlzLl9hY3RpdmVUcmlnZ2VyW3RyaWdnZXJdKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2dldENvbmZpZyA9IGZ1bmN0aW9uIF9nZXRDb25maWcoY29uZmlnKSB7XG4gICAgICB2YXIgZGF0YUF0dHJpYnV0ZXMgPSAkKHRoaXMuZWxlbWVudCkuZGF0YSgpO1xuICAgICAgT2JqZWN0LmtleXMoZGF0YUF0dHJpYnV0ZXMpLmZvckVhY2goZnVuY3Rpb24gKGRhdGFBdHRyKSB7XG4gICAgICAgIGlmIChESVNBTExPV0VEX0FUVFJJQlVURVMuaW5kZXhPZihkYXRhQXR0cikgIT09IC0xKSB7XG4gICAgICAgICAgZGVsZXRlIGRhdGFBdHRyaWJ1dGVzW2RhdGFBdHRyXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBjb25maWcgPSBfb2JqZWN0U3ByZWFkMih7fSwgdGhpcy5jb25zdHJ1Y3Rvci5EZWZhdWx0LCB7fSwgZGF0YUF0dHJpYnV0ZXMsIHt9LCB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWcgPyBjb25maWcgOiB7fSk7XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLmRlbGF5ID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25maWcuZGVsYXkgPSB7XG4gICAgICAgICAgc2hvdzogY29uZmlnLmRlbGF5LFxuICAgICAgICAgIGhpZGU6IGNvbmZpZy5kZWxheVxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGNvbmZpZy50aXRsZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uZmlnLnRpdGxlID0gY29uZmlnLnRpdGxlLnRvU3RyaW5nKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgY29uZmlnLmNvbnRlbnQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbmZpZy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgVXRpbC50eXBlQ2hlY2tDb25maWcoTkFNRSQ2LCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuXG4gICAgICBpZiAoY29uZmlnLnNhbml0aXplKSB7XG4gICAgICAgIGNvbmZpZy50ZW1wbGF0ZSA9IHNhbml0aXplSHRtbChjb25maWcudGVtcGxhdGUsIGNvbmZpZy53aGl0ZUxpc3QsIGNvbmZpZy5zYW5pdGl6ZUZuKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9nZXREZWxlZ2F0ZUNvbmZpZyA9IGZ1bmN0aW9uIF9nZXREZWxlZ2F0ZUNvbmZpZygpIHtcbiAgICAgIHZhciBjb25maWcgPSB7fTtcblxuICAgICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiB0aGlzLmNvbmZpZykge1xuICAgICAgICAgIGlmICh0aGlzLmNvbnN0cnVjdG9yLkRlZmF1bHRba2V5XSAhPT0gdGhpcy5jb25maWdba2V5XSkge1xuICAgICAgICAgICAgY29uZmlnW2tleV0gPSB0aGlzLmNvbmZpZ1trZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2NsZWFuVGlwQ2xhc3MgPSBmdW5jdGlvbiBfY2xlYW5UaXBDbGFzcygpIHtcbiAgICAgIHZhciAkdGlwID0gJCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7XG4gICAgICB2YXIgdGFiQ2xhc3MgPSAkdGlwLmF0dHIoJ2NsYXNzJykubWF0Y2goQlNDTFNfUFJFRklYX1JFR0VYKTtcblxuICAgICAgaWYgKHRhYkNsYXNzICE9PSBudWxsICYmIHRhYkNsYXNzLmxlbmd0aCkge1xuICAgICAgICAkdGlwLnJlbW92ZUNsYXNzKHRhYkNsYXNzLmpvaW4oJycpKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9oYW5kbGVQb3BwZXJQbGFjZW1lbnRDaGFuZ2UgPSBmdW5jdGlvbiBfaGFuZGxlUG9wcGVyUGxhY2VtZW50Q2hhbmdlKHBvcHBlckRhdGEpIHtcbiAgICAgIHZhciBwb3BwZXJJbnN0YW5jZSA9IHBvcHBlckRhdGEuaW5zdGFuY2U7XG4gICAgICB0aGlzLnRpcCA9IHBvcHBlckluc3RhbmNlLnBvcHBlcjtcblxuICAgICAgdGhpcy5fY2xlYW5UaXBDbGFzcygpO1xuXG4gICAgICB0aGlzLmFkZEF0dGFjaG1lbnRDbGFzcyh0aGlzLl9nZXRBdHRhY2htZW50KHBvcHBlckRhdGEucGxhY2VtZW50KSk7XG4gICAgfTtcblxuICAgIF9wcm90by5fZml4VHJhbnNpdGlvbiA9IGZ1bmN0aW9uIF9maXhUcmFuc2l0aW9uKCkge1xuICAgICAgdmFyIHRpcCA9IHRoaXMuZ2V0VGlwRWxlbWVudCgpO1xuICAgICAgdmFyIGluaXRDb25maWdBbmltYXRpb24gPSB0aGlzLmNvbmZpZy5hbmltYXRpb247XG5cbiAgICAgIGlmICh0aXAuZ2V0QXR0cmlidXRlKCd4LXBsYWNlbWVudCcpICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgJCh0aXApLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQ2LkZBREUpO1xuICAgICAgdGhpcy5jb25maWcuYW5pbWF0aW9uID0gZmFsc2U7XG4gICAgICB0aGlzLmhpZGUoKTtcbiAgICAgIHRoaXMuc2hvdygpO1xuICAgICAgdGhpcy5jb25maWcuYW5pbWF0aW9uID0gaW5pdENvbmZpZ0FuaW1hdGlvbjtcbiAgICB9IC8vIFN0YXRpY1xuICAgIDtcblxuICAgIFRvb2x0aXAuX2pRdWVyeUludGVyZmFjZSA9IGZ1bmN0aW9uIF9qUXVlcnlJbnRlcmZhY2UoY29uZmlnKSB7XG4gICAgICByZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSAkKHRoaXMpLmRhdGEoREFUQV9LRVkkNik7XG5cbiAgICAgICAgdmFyIF9jb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWc7XG5cbiAgICAgICAgaWYgKCFkYXRhICYmIC9kaXNwb3NlfGhpZGUvLnRlc3QoY29uZmlnKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgIGRhdGEgPSBuZXcgVG9vbHRpcCh0aGlzLCBfY29uZmlnKTtcbiAgICAgICAgICAkKHRoaXMpLmRhdGEoREFUQV9LRVkkNiwgZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX2NyZWF0ZUNsYXNzKFRvb2x0aXAsIG51bGwsIFt7XG4gICAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBWRVJTSU9OJDY7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdCQ0O1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogXCJOQU1FXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIE5BTUUkNjtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiREFUQV9LRVlcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gREFUQV9LRVkkNjtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiRXZlbnRcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRXZlbnQkNjtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiRVZFTlRfS0VZXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIEVWRU5UX0tFWSQ2O1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogXCJEZWZhdWx0VHlwZVwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBEZWZhdWx0VHlwZSQ0O1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBUb29sdGlwO1xuICB9KCk7XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogalF1ZXJ5XG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuXG4gICQuZm5bTkFNRSQ2XSA9IFRvb2x0aXAuX2pRdWVyeUludGVyZmFjZTtcbiAgJC5mbltOQU1FJDZdLkNvbnN0cnVjdG9yID0gVG9vbHRpcDtcblxuICAkLmZuW05BTUUkNl0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkLmZuW05BTUUkNl0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkNjtcbiAgICByZXR1cm4gVG9vbHRpcC5falF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xuXG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ29uc3RhbnRzXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgTkFNRSQ3ID0gJ3BvcG92ZXInO1xuICB2YXIgVkVSU0lPTiQ3ID0gJzQuNC4xJztcbiAgdmFyIERBVEFfS0VZJDcgPSAnYnMucG9wb3Zlcic7XG4gIHZhciBFVkVOVF9LRVkkNyA9IFwiLlwiICsgREFUQV9LRVkkNztcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ3ID0gJC5mbltOQU1FJDddO1xuICB2YXIgQ0xBU1NfUFJFRklYJDEgPSAnYnMtcG9wb3Zlcic7XG4gIHZhciBCU0NMU19QUkVGSVhfUkVHRVgkMSA9IG5ldyBSZWdFeHAoXCIoXnxcXFxccylcIiArIENMQVNTX1BSRUZJWCQxICsgXCJcXFxcUytcIiwgJ2cnKTtcblxuICB2YXIgRGVmYXVsdCQ1ID0gX29iamVjdFNwcmVhZDIoe30sIFRvb2x0aXAuRGVmYXVsdCwge1xuICAgIHBsYWNlbWVudDogJ3JpZ2h0JyxcbiAgICB0cmlnZ2VyOiAnY2xpY2snLFxuICAgIGNvbnRlbnQ6ICcnLFxuICAgIHRlbXBsYXRlOiAnPGRpdiBjbGFzcz1cInBvcG92ZXJcIiByb2xlPVwidG9vbHRpcFwiPicgKyAnPGRpdiBjbGFzcz1cImFycm93XCI+PC9kaXY+JyArICc8aDMgY2xhc3M9XCJwb3BvdmVyLWhlYWRlclwiPjwvaDM+JyArICc8ZGl2IGNsYXNzPVwicG9wb3Zlci1ib2R5XCI+PC9kaXY+PC9kaXY+J1xuICB9KTtcblxuICB2YXIgRGVmYXVsdFR5cGUkNSA9IF9vYmplY3RTcHJlYWQyKHt9LCBUb29sdGlwLkRlZmF1bHRUeXBlLCB7XG4gICAgY29udGVudDogJyhzdHJpbmd8ZWxlbWVudHxmdW5jdGlvbiknXG4gIH0pO1xuXG4gIHZhciBDbGFzc05hbWUkNyA9IHtcbiAgICBGQURFOiAnZmFkZScsXG4gICAgU0hPVzogJ3Nob3cnXG4gIH07XG4gIHZhciBTZWxlY3RvciQ3ID0ge1xuICAgIFRJVExFOiAnLnBvcG92ZXItaGVhZGVyJyxcbiAgICBDT05URU5UOiAnLnBvcG92ZXItYm9keSdcbiAgfTtcbiAgdmFyIEV2ZW50JDcgPSB7XG4gICAgSElERTogXCJoaWRlXCIgKyBFVkVOVF9LRVkkNyxcbiAgICBISURERU46IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkNyxcbiAgICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSQ3LFxuICAgIFNIT1dOOiBcInNob3duXCIgKyBFVkVOVF9LRVkkNyxcbiAgICBJTlNFUlRFRDogXCJpbnNlcnRlZFwiICsgRVZFTlRfS0VZJDcsXG4gICAgQ0xJQ0s6IFwiY2xpY2tcIiArIEVWRU5UX0tFWSQ3LFxuICAgIEZPQ1VTSU46IFwiZm9jdXNpblwiICsgRVZFTlRfS0VZJDcsXG4gICAgRk9DVVNPVVQ6IFwiZm9jdXNvdXRcIiArIEVWRU5UX0tFWSQ3LFxuICAgIE1PVVNFRU5URVI6IFwibW91c2VlbnRlclwiICsgRVZFTlRfS0VZJDcsXG4gICAgTU9VU0VMRUFWRTogXCJtb3VzZWxlYXZlXCIgKyBFVkVOVF9LRVkkN1xuICB9O1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENsYXNzIERlZmluaXRpb25cbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBQb3BvdmVyID1cbiAgLyojX19QVVJFX18qL1xuICBmdW5jdGlvbiAoX1Rvb2x0aXApIHtcbiAgICBfaW5oZXJpdHNMb29zZShQb3BvdmVyLCBfVG9vbHRpcCk7XG5cbiAgICBmdW5jdGlvbiBQb3BvdmVyKCkge1xuICAgICAgcmV0dXJuIF9Ub29sdGlwLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykgfHwgdGhpcztcbiAgICB9XG5cbiAgICB2YXIgX3Byb3RvID0gUG9wb3Zlci5wcm90b3R5cGU7XG5cbiAgICAvLyBPdmVycmlkZXNcbiAgICBfcHJvdG8uaXNXaXRoQ29udGVudCA9IGZ1bmN0aW9uIGlzV2l0aENvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRUaXRsZSgpIHx8IHRoaXMuX2dldENvbnRlbnQoKTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLmFkZEF0dGFjaG1lbnRDbGFzcyA9IGZ1bmN0aW9uIGFkZEF0dGFjaG1lbnRDbGFzcyhhdHRhY2htZW50KSB7XG4gICAgICAkKHRoaXMuZ2V0VGlwRWxlbWVudCgpKS5hZGRDbGFzcyhDTEFTU19QUkVGSVgkMSArIFwiLVwiICsgYXR0YWNobWVudCk7XG4gICAgfTtcblxuICAgIF9wcm90by5nZXRUaXBFbGVtZW50ID0gZnVuY3Rpb24gZ2V0VGlwRWxlbWVudCgpIHtcbiAgICAgIHRoaXMudGlwID0gdGhpcy50aXAgfHwgJCh0aGlzLmNvbmZpZy50ZW1wbGF0ZSlbMF07XG4gICAgICByZXR1cm4gdGhpcy50aXA7XG4gICAgfTtcblxuICAgIF9wcm90by5zZXRDb250ZW50ID0gZnVuY3Rpb24gc2V0Q29udGVudCgpIHtcbiAgICAgIHZhciAkdGlwID0gJCh0aGlzLmdldFRpcEVsZW1lbnQoKSk7IC8vIFdlIHVzZSBhcHBlbmQgZm9yIGh0bWwgb2JqZWN0cyB0byBtYWludGFpbiBqcyBldmVudHNcblxuICAgICAgdGhpcy5zZXRFbGVtZW50Q29udGVudCgkdGlwLmZpbmQoU2VsZWN0b3IkNy5USVRMRSksIHRoaXMuZ2V0VGl0bGUoKSk7XG5cbiAgICAgIHZhciBjb250ZW50ID0gdGhpcy5fZ2V0Q29udGVudCgpO1xuXG4gICAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29udGVudCA9IGNvbnRlbnQuY2FsbCh0aGlzLmVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldEVsZW1lbnRDb250ZW50KCR0aXAuZmluZChTZWxlY3RvciQ3LkNPTlRFTlQpLCBjb250ZW50KTtcbiAgICAgICR0aXAucmVtb3ZlQ2xhc3MoQ2xhc3NOYW1lJDcuRkFERSArIFwiIFwiICsgQ2xhc3NOYW1lJDcuU0hPVyk7XG4gICAgfSAvLyBQcml2YXRlXG4gICAgO1xuXG4gICAgX3Byb3RvLl9nZXRDb250ZW50ID0gZnVuY3Rpb24gX2dldENvbnRlbnQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5lbGVtZW50LmdldEF0dHJpYnV0ZSgnZGF0YS1jb250ZW50JykgfHwgdGhpcy5jb25maWcuY29udGVudDtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9jbGVhblRpcENsYXNzID0gZnVuY3Rpb24gX2NsZWFuVGlwQ2xhc3MoKSB7XG4gICAgICB2YXIgJHRpcCA9ICQodGhpcy5nZXRUaXBFbGVtZW50KCkpO1xuICAgICAgdmFyIHRhYkNsYXNzID0gJHRpcC5hdHRyKCdjbGFzcycpLm1hdGNoKEJTQ0xTX1BSRUZJWF9SRUdFWCQxKTtcblxuICAgICAgaWYgKHRhYkNsYXNzICE9PSBudWxsICYmIHRhYkNsYXNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgJHRpcC5yZW1vdmVDbGFzcyh0YWJDbGFzcy5qb2luKCcnKSk7XG4gICAgICB9XG4gICAgfSAvLyBTdGF0aWNcbiAgICA7XG5cbiAgICBQb3BvdmVyLl9qUXVlcnlJbnRlcmZhY2UgPSBmdW5jdGlvbiBfalF1ZXJ5SW50ZXJmYWNlKGNvbmZpZykge1xuICAgICAgcmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBkYXRhID0gJCh0aGlzKS5kYXRhKERBVEFfS0VZJDcpO1xuXG4gICAgICAgIHZhciBfY29uZmlnID0gdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgPyBjb25maWcgOiBudWxsO1xuXG4gICAgICAgIGlmICghZGF0YSAmJiAvZGlzcG9zZXxoaWRlLy50ZXN0KGNvbmZpZykpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICBkYXRhID0gbmV3IFBvcG92ZXIodGhpcywgX2NvbmZpZyk7XG4gICAgICAgICAgJCh0aGlzKS5kYXRhKERBVEFfS0VZJDcsIGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkYXRhW2NvbmZpZ10oKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIF9jcmVhdGVDbGFzcyhQb3BvdmVyLCBudWxsLCBbe1xuICAgICAga2V5OiBcIlZFUlNJT05cIixcbiAgICAgIC8vIEdldHRlcnNcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVkVSU0lPTiQ3O1xuICAgICAgfVxuICAgIH0sIHtcbiAgICAgIGtleTogXCJEZWZhdWx0XCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIERlZmF1bHQkNTtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiTkFNRVwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBOQU1FJDc7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkRBVEFfS0VZXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIERBVEFfS0VZJDc7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkV2ZW50XCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIEV2ZW50JDc7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkVWRU5UX0tFWVwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBFVkVOVF9LRVkkNztcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiRGVmYXVsdFR5cGVcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdFR5cGUkNTtcbiAgICAgIH1cbiAgICB9XSk7XG5cbiAgICByZXR1cm4gUG9wb3ZlcjtcbiAgfShUb29sdGlwKTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBqUXVlcnlcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG5cbiAgJC5mbltOQU1FJDddID0gUG9wb3Zlci5falF1ZXJ5SW50ZXJmYWNlO1xuICAkLmZuW05BTUUkN10uQ29uc3RydWN0b3IgPSBQb3BvdmVyO1xuXG4gICQuZm5bTkFNRSQ3XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQuZm5bTkFNRSQ3XSA9IEpRVUVSWV9OT19DT05GTElDVCQ3O1xuICAgIHJldHVybiBQb3BvdmVyLl9qUXVlcnlJbnRlcmZhY2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDb25zdGFudHNcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBOQU1FJDggPSAnc2Nyb2xsc3B5JztcbiAgdmFyIFZFUlNJT04kOCA9ICc0LjQuMSc7XG4gIHZhciBEQVRBX0tFWSQ4ID0gJ2JzLnNjcm9sbHNweSc7XG4gIHZhciBFVkVOVF9LRVkkOCA9IFwiLlwiICsgREFUQV9LRVkkODtcbiAgdmFyIERBVEFfQVBJX0tFWSQ2ID0gJy5kYXRhLWFwaSc7XG4gIHZhciBKUVVFUllfTk9fQ09ORkxJQ1QkOCA9ICQuZm5bTkFNRSQ4XTtcbiAgdmFyIERlZmF1bHQkNiA9IHtcbiAgICBvZmZzZXQ6IDEwLFxuICAgIG1ldGhvZDogJ2F1dG8nLFxuICAgIHRhcmdldDogJydcbiAgfTtcbiAgdmFyIERlZmF1bHRUeXBlJDYgPSB7XG4gICAgb2Zmc2V0OiAnbnVtYmVyJyxcbiAgICBtZXRob2Q6ICdzdHJpbmcnLFxuICAgIHRhcmdldDogJyhzdHJpbmd8ZWxlbWVudCknXG4gIH07XG4gIHZhciBFdmVudCQ4ID0ge1xuICAgIEFDVElWQVRFOiBcImFjdGl2YXRlXCIgKyBFVkVOVF9LRVkkOCxcbiAgICBTQ1JPTEw6IFwic2Nyb2xsXCIgKyBFVkVOVF9LRVkkOCxcbiAgICBMT0FEX0RBVEFfQVBJOiBcImxvYWRcIiArIEVWRU5UX0tFWSQ4ICsgREFUQV9BUElfS0VZJDZcbiAgfTtcbiAgdmFyIENsYXNzTmFtZSQ4ID0ge1xuICAgIERST1BET1dOX0lURU06ICdkcm9wZG93bi1pdGVtJyxcbiAgICBEUk9QRE9XTl9NRU5VOiAnZHJvcGRvd24tbWVudScsXG4gICAgQUNUSVZFOiAnYWN0aXZlJ1xuICB9O1xuICB2YXIgU2VsZWN0b3IkOCA9IHtcbiAgICBEQVRBX1NQWTogJ1tkYXRhLXNweT1cInNjcm9sbFwiXScsXG4gICAgQUNUSVZFOiAnLmFjdGl2ZScsXG4gICAgTkFWX0xJU1RfR1JPVVA6ICcubmF2LCAubGlzdC1ncm91cCcsXG4gICAgTkFWX0xJTktTOiAnLm5hdi1saW5rJyxcbiAgICBOQVZfSVRFTVM6ICcubmF2LWl0ZW0nLFxuICAgIExJU1RfSVRFTVM6ICcubGlzdC1ncm91cC1pdGVtJyxcbiAgICBEUk9QRE9XTjogJy5kcm9wZG93bicsXG4gICAgRFJPUERPV05fSVRFTVM6ICcuZHJvcGRvd24taXRlbScsXG4gICAgRFJPUERPV05fVE9HR0xFOiAnLmRyb3Bkb3duLXRvZ2dsZSdcbiAgfTtcbiAgdmFyIE9mZnNldE1ldGhvZCA9IHtcbiAgICBPRkZTRVQ6ICdvZmZzZXQnLFxuICAgIFBPU0lUSU9OOiAncG9zaXRpb24nXG4gIH07XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ2xhc3MgRGVmaW5pdGlvblxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgdmFyIFNjcm9sbFNweSA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFNjcm9sbFNweShlbGVtZW50LCBjb25maWcpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgICAgdGhpcy5fc2Nyb2xsRWxlbWVudCA9IGVsZW1lbnQudGFnTmFtZSA9PT0gJ0JPRFknID8gd2luZG93IDogZWxlbWVudDtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IHRoaXMuX2dldENvbmZpZyhjb25maWcpO1xuICAgICAgdGhpcy5fc2VsZWN0b3IgPSB0aGlzLl9jb25maWcudGFyZ2V0ICsgXCIgXCIgKyBTZWxlY3RvciQ4Lk5BVl9MSU5LUyArIFwiLFwiICsgKHRoaXMuX2NvbmZpZy50YXJnZXQgKyBcIiBcIiArIFNlbGVjdG9yJDguTElTVF9JVEVNUyArIFwiLFwiKSArICh0aGlzLl9jb25maWcudGFyZ2V0ICsgXCIgXCIgKyBTZWxlY3RvciQ4LkRST1BET1dOX0lURU1TKTtcbiAgICAgIHRoaXMuX29mZnNldHMgPSBbXTtcbiAgICAgIHRoaXMuX3RhcmdldHMgPSBbXTtcbiAgICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IG51bGw7XG4gICAgICB0aGlzLl9zY3JvbGxIZWlnaHQgPSAwO1xuICAgICAgJCh0aGlzLl9zY3JvbGxFbGVtZW50KS5vbihFdmVudCQ4LlNDUk9MTCwgZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIHJldHVybiBfdGhpcy5fcHJvY2VzcyhldmVudCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucmVmcmVzaCgpO1xuXG4gICAgICB0aGlzLl9wcm9jZXNzKCk7XG4gICAgfSAvLyBHZXR0ZXJzXG5cblxuICAgIHZhciBfcHJvdG8gPSBTY3JvbGxTcHkucHJvdG90eXBlO1xuXG4gICAgLy8gUHVibGljXG4gICAgX3Byb3RvLnJlZnJlc2ggPSBmdW5jdGlvbiByZWZyZXNoKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHZhciBhdXRvTWV0aG9kID0gdGhpcy5fc2Nyb2xsRWxlbWVudCA9PT0gdGhpcy5fc2Nyb2xsRWxlbWVudC53aW5kb3cgPyBPZmZzZXRNZXRob2QuT0ZGU0VUIDogT2Zmc2V0TWV0aG9kLlBPU0lUSU9OO1xuICAgICAgdmFyIG9mZnNldE1ldGhvZCA9IHRoaXMuX2NvbmZpZy5tZXRob2QgPT09ICdhdXRvJyA/IGF1dG9NZXRob2QgOiB0aGlzLl9jb25maWcubWV0aG9kO1xuICAgICAgdmFyIG9mZnNldEJhc2UgPSBvZmZzZXRNZXRob2QgPT09IE9mZnNldE1ldGhvZC5QT1NJVElPTiA/IHRoaXMuX2dldFNjcm9sbFRvcCgpIDogMDtcbiAgICAgIHRoaXMuX29mZnNldHMgPSBbXTtcbiAgICAgIHRoaXMuX3RhcmdldHMgPSBbXTtcbiAgICAgIHRoaXMuX3Njcm9sbEhlaWdodCA9IHRoaXMuX2dldFNjcm9sbEhlaWdodCgpO1xuICAgICAgdmFyIHRhcmdldHMgPSBbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwodGhpcy5fc2VsZWN0b3IpKTtcbiAgICAgIHRhcmdldHMubWFwKGZ1bmN0aW9uIChlbGVtZW50KSB7XG4gICAgICAgIHZhciB0YXJnZXQ7XG4gICAgICAgIHZhciB0YXJnZXRTZWxlY3RvciA9IFV0aWwuZ2V0U2VsZWN0b3JGcm9tRWxlbWVudChlbGVtZW50KTtcblxuICAgICAgICBpZiAodGFyZ2V0U2VsZWN0b3IpIHtcbiAgICAgICAgICB0YXJnZXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRhcmdldFNlbGVjdG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICB2YXIgdGFyZ2V0QkNSID0gdGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgICAgICAgaWYgKHRhcmdldEJDUi53aWR0aCB8fCB0YXJnZXRCQ1IuaGVpZ2h0KSB7XG4gICAgICAgICAgICAvLyBUT0RPIChmYXQpOiByZW1vdmUgc2tldGNoIHJlbGlhbmNlIG9uIGpRdWVyeSBwb3NpdGlvbi9vZmZzZXRcbiAgICAgICAgICAgIHJldHVybiBbJCh0YXJnZXQpW29mZnNldE1ldGhvZF0oKS50b3AgKyBvZmZzZXRCYXNlLCB0YXJnZXRTZWxlY3Rvcl07XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICB9KS5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICAgIHJldHVybiBhWzBdIC0gYlswXTtcbiAgICAgIH0pLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgICAgX3RoaXMyLl9vZmZzZXRzLnB1c2goaXRlbVswXSk7XG5cbiAgICAgICAgX3RoaXMyLl90YXJnZXRzLnB1c2goaXRlbVsxXSk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgJC5yZW1vdmVEYXRhKHRoaXMuX2VsZW1lbnQsIERBVEFfS0VZJDgpO1xuICAgICAgJCh0aGlzLl9zY3JvbGxFbGVtZW50KS5vZmYoRVZFTlRfS0VZJDgpO1xuICAgICAgdGhpcy5fZWxlbWVudCA9IG51bGw7XG4gICAgICB0aGlzLl9zY3JvbGxFbGVtZW50ID0gbnVsbDtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgICB0aGlzLl9zZWxlY3RvciA9IG51bGw7XG4gICAgICB0aGlzLl9vZmZzZXRzID0gbnVsbDtcbiAgICAgIHRoaXMuX3RhcmdldHMgPSBudWxsO1xuICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbDtcbiAgICAgIHRoaXMuX3Njcm9sbEhlaWdodCA9IG51bGw7XG4gICAgfSAvLyBQcml2YXRlXG4gICAgO1xuXG4gICAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkNiwge30sIHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZyA/IGNvbmZpZyA6IHt9KTtcblxuICAgICAgaWYgKHR5cGVvZiBjb25maWcudGFyZ2V0ICE9PSAnc3RyaW5nJykge1xuICAgICAgICB2YXIgaWQgPSAkKGNvbmZpZy50YXJnZXQpLmF0dHIoJ2lkJyk7XG5cbiAgICAgICAgaWYgKCFpZCkge1xuICAgICAgICAgIGlkID0gVXRpbC5nZXRVSUQoTkFNRSQ4KTtcbiAgICAgICAgICAkKGNvbmZpZy50YXJnZXQpLmF0dHIoJ2lkJywgaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uZmlnLnRhcmdldCA9IFwiI1wiICsgaWQ7XG4gICAgICB9XG5cbiAgICAgIFV0aWwudHlwZUNoZWNrQ29uZmlnKE5BTUUkOCwgY29uZmlnLCBEZWZhdWx0VHlwZSQ2KTtcbiAgICAgIHJldHVybiBjb25maWc7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0U2Nyb2xsVG9wID0gZnVuY3Rpb24gX2dldFNjcm9sbFRvcCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50ID09PSB3aW5kb3cgPyB0aGlzLl9zY3JvbGxFbGVtZW50LnBhZ2VZT2Zmc2V0IDogdGhpcy5fc2Nyb2xsRWxlbWVudC5zY3JvbGxUb3A7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0U2Nyb2xsSGVpZ2h0ID0gZnVuY3Rpb24gX2dldFNjcm9sbEhlaWdodCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50LnNjcm9sbEhlaWdodCB8fCBNYXRoLm1heChkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodCwgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbEhlaWdodCk7XG4gICAgfTtcblxuICAgIF9wcm90by5fZ2V0T2Zmc2V0SGVpZ2h0ID0gZnVuY3Rpb24gX2dldE9mZnNldEhlaWdodCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zY3JvbGxFbGVtZW50ID09PSB3aW5kb3cgPyB3aW5kb3cuaW5uZXJIZWlnaHQgOiB0aGlzLl9zY3JvbGxFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodDtcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9wcm9jZXNzID0gZnVuY3Rpb24gX3Byb2Nlc3MoKSB7XG4gICAgICB2YXIgc2Nyb2xsVG9wID0gdGhpcy5fZ2V0U2Nyb2xsVG9wKCkgKyB0aGlzLl9jb25maWcub2Zmc2V0O1xuXG4gICAgICB2YXIgc2Nyb2xsSGVpZ2h0ID0gdGhpcy5fZ2V0U2Nyb2xsSGVpZ2h0KCk7XG5cbiAgICAgIHZhciBtYXhTY3JvbGwgPSB0aGlzLl9jb25maWcub2Zmc2V0ICsgc2Nyb2xsSGVpZ2h0IC0gdGhpcy5fZ2V0T2Zmc2V0SGVpZ2h0KCk7XG5cbiAgICAgIGlmICh0aGlzLl9zY3JvbGxIZWlnaHQgIT09IHNjcm9sbEhlaWdodCkge1xuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNjcm9sbFRvcCA+PSBtYXhTY3JvbGwpIHtcbiAgICAgICAgdmFyIHRhcmdldCA9IHRoaXMuX3RhcmdldHNbdGhpcy5fdGFyZ2V0cy5sZW5ndGggLSAxXTtcblxuICAgICAgICBpZiAodGhpcy5fYWN0aXZlVGFyZ2V0ICE9PSB0YXJnZXQpIHtcbiAgICAgICAgICB0aGlzLl9hY3RpdmF0ZSh0YXJnZXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fYWN0aXZlVGFyZ2V0ICYmIHNjcm9sbFRvcCA8IHRoaXMuX29mZnNldHNbMF0gJiYgdGhpcy5fb2Zmc2V0c1swXSA+IDApIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlVGFyZ2V0ID0gbnVsbDtcblxuICAgICAgICB0aGlzLl9jbGVhcigpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIG9mZnNldExlbmd0aCA9IHRoaXMuX29mZnNldHMubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBpID0gb2Zmc2V0TGVuZ3RoOyBpLS07KSB7XG4gICAgICAgIHZhciBpc0FjdGl2ZVRhcmdldCA9IHRoaXMuX2FjdGl2ZVRhcmdldCAhPT0gdGhpcy5fdGFyZ2V0c1tpXSAmJiBzY3JvbGxUb3AgPj0gdGhpcy5fb2Zmc2V0c1tpXSAmJiAodHlwZW9mIHRoaXMuX29mZnNldHNbaSArIDFdID09PSAndW5kZWZpbmVkJyB8fCBzY3JvbGxUb3AgPCB0aGlzLl9vZmZzZXRzW2kgKyAxXSk7XG5cbiAgICAgICAgaWYgKGlzQWN0aXZlVGFyZ2V0KSB7XG4gICAgICAgICAgdGhpcy5fYWN0aXZhdGUodGhpcy5fdGFyZ2V0c1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl9hY3RpdmF0ZSA9IGZ1bmN0aW9uIF9hY3RpdmF0ZSh0YXJnZXQpIHtcbiAgICAgIHRoaXMuX2FjdGl2ZVRhcmdldCA9IHRhcmdldDtcblxuICAgICAgdGhpcy5fY2xlYXIoKTtcblxuICAgICAgdmFyIHF1ZXJpZXMgPSB0aGlzLl9zZWxlY3Rvci5zcGxpdCgnLCcpLm1hcChmdW5jdGlvbiAoc2VsZWN0b3IpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yICsgXCJbZGF0YS10YXJnZXQ9XFxcIlwiICsgdGFyZ2V0ICsgXCJcXFwiXSxcIiArIHNlbGVjdG9yICsgXCJbaHJlZj1cXFwiXCIgKyB0YXJnZXQgKyBcIlxcXCJdXCI7XG4gICAgICB9KTtcblxuICAgICAgdmFyICRsaW5rID0gJChbXS5zbGljZS5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocXVlcmllcy5qb2luKCcsJykpKSk7XG5cbiAgICAgIGlmICgkbGluay5oYXNDbGFzcyhDbGFzc05hbWUkOC5EUk9QRE9XTl9JVEVNKSkge1xuICAgICAgICAkbGluay5jbG9zZXN0KFNlbGVjdG9yJDguRFJPUERPV04pLmZpbmQoU2VsZWN0b3IkOC5EUk9QRE9XTl9UT0dHTEUpLmFkZENsYXNzKENsYXNzTmFtZSQ4LkFDVElWRSk7XG4gICAgICAgICRsaW5rLmFkZENsYXNzKENsYXNzTmFtZSQ4LkFDVElWRSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTZXQgdHJpZ2dlcmVkIGxpbmsgYXMgYWN0aXZlXG4gICAgICAgICRsaW5rLmFkZENsYXNzKENsYXNzTmFtZSQ4LkFDVElWRSk7IC8vIFNldCB0cmlnZ2VyZWQgbGlua3MgcGFyZW50cyBhcyBhY3RpdmVcbiAgICAgICAgLy8gV2l0aCBib3RoIDx1bD4gYW5kIDxuYXY+IG1hcmt1cCBhIHBhcmVudCBpcyB0aGUgcHJldmlvdXMgc2libGluZyBvZiBhbnkgbmF2IGFuY2VzdG9yXG5cbiAgICAgICAgJGxpbmsucGFyZW50cyhTZWxlY3RvciQ4Lk5BVl9MSVNUX0dST1VQKS5wcmV2KFNlbGVjdG9yJDguTkFWX0xJTktTICsgXCIsIFwiICsgU2VsZWN0b3IkOC5MSVNUX0lURU1TKS5hZGRDbGFzcyhDbGFzc05hbWUkOC5BQ1RJVkUpOyAvLyBIYW5kbGUgc3BlY2lhbCBjYXNlIHdoZW4gLm5hdi1saW5rIGlzIGluc2lkZSAubmF2LWl0ZW1cblxuICAgICAgICAkbGluay5wYXJlbnRzKFNlbGVjdG9yJDguTkFWX0xJU1RfR1JPVVApLnByZXYoU2VsZWN0b3IkOC5OQVZfSVRFTVMpLmNoaWxkcmVuKFNlbGVjdG9yJDguTkFWX0xJTktTKS5hZGRDbGFzcyhDbGFzc05hbWUkOC5BQ1RJVkUpO1xuICAgICAgfVxuXG4gICAgICAkKHRoaXMuX3Njcm9sbEVsZW1lbnQpLnRyaWdnZXIoRXZlbnQkOC5BQ1RJVkFURSwge1xuICAgICAgICByZWxhdGVkVGFyZ2V0OiB0YXJnZXRcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2NsZWFyID0gZnVuY3Rpb24gX2NsZWFyKCkge1xuICAgICAgW10uc2xpY2UuY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHRoaXMuX3NlbGVjdG9yKSkuZmlsdGVyKGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIHJldHVybiBub2RlLmNsYXNzTGlzdC5jb250YWlucyhDbGFzc05hbWUkOC5BQ1RJVkUpO1xuICAgICAgfSkuZm9yRWFjaChmdW5jdGlvbiAobm9kZSkge1xuICAgICAgICByZXR1cm4gbm9kZS5jbGFzc0xpc3QucmVtb3ZlKENsYXNzTmFtZSQ4LkFDVElWRSk7XG4gICAgICB9KTtcbiAgICB9IC8vIFN0YXRpY1xuICAgIDtcblxuICAgIFNjcm9sbFNweS5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24gX2pRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgZGF0YSA9ICQodGhpcykuZGF0YShEQVRBX0tFWSQ4KTtcblxuICAgICAgICB2YXIgX2NvbmZpZyA9IHR5cGVvZiBjb25maWcgPT09ICdvYmplY3QnICYmIGNvbmZpZztcblxuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICBkYXRhID0gbmV3IFNjcm9sbFNweSh0aGlzLCBfY29uZmlnKTtcbiAgICAgICAgICAkKHRoaXMpLmRhdGEoREFUQV9LRVkkOCwgZGF0YSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGNvbmZpZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGRhdGFbY29uZmlnXSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJObyBtZXRob2QgbmFtZWQgXFxcIlwiICsgY29uZmlnICsgXCJcXFwiXCIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRhdGFbY29uZmlnXSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgX2NyZWF0ZUNsYXNzKFNjcm9sbFNweSwgbnVsbCwgW3tcbiAgICAgIGtleTogXCJWRVJTSU9OXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIFZFUlNJT04kODtcbiAgICAgIH1cbiAgICB9LCB7XG4gICAgICBrZXk6IFwiRGVmYXVsdFwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBEZWZhdWx0JDY7XG4gICAgICB9XG4gICAgfV0pO1xuXG4gICAgcmV0dXJuIFNjcm9sbFNweTtcbiAgfSgpO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIERhdGEgQXBpIGltcGxlbWVudGF0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuXG4gICQod2luZG93KS5vbihFdmVudCQ4LkxPQURfREFUQV9BUEksIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc2Nyb2xsU3B5cyA9IFtdLnNsaWNlLmNhbGwoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChTZWxlY3RvciQ4LkRBVEFfU1BZKSk7XG4gICAgdmFyIHNjcm9sbFNweXNMZW5ndGggPSBzY3JvbGxTcHlzLmxlbmd0aDtcblxuICAgIGZvciAodmFyIGkgPSBzY3JvbGxTcHlzTGVuZ3RoOyBpLS07KSB7XG4gICAgICB2YXIgJHNweSA9ICQoc2Nyb2xsU3B5c1tpXSk7XG5cbiAgICAgIFNjcm9sbFNweS5falF1ZXJ5SW50ZXJmYWNlLmNhbGwoJHNweSwgJHNweS5kYXRhKCkpO1xuICAgIH1cbiAgfSk7XG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogalF1ZXJ5XG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICAkLmZuW05BTUUkOF0gPSBTY3JvbGxTcHkuX2pRdWVyeUludGVyZmFjZTtcbiAgJC5mbltOQU1FJDhdLkNvbnN0cnVjdG9yID0gU2Nyb2xsU3B5O1xuXG4gICQuZm5bTkFNRSQ4XS5ub0NvbmZsaWN0ID0gZnVuY3Rpb24gKCkge1xuICAgICQuZm5bTkFNRSQ4XSA9IEpRVUVSWV9OT19DT05GTElDVCQ4O1xuICAgIHJldHVybiBTY3JvbGxTcHkuX2pRdWVyeUludGVyZmFjZTtcbiAgfTtcblxuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENvbnN0YW50c1xuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cbiAgdmFyIE5BTUUkOSA9ICd0YWInO1xuICB2YXIgVkVSU0lPTiQ5ID0gJzQuNC4xJztcbiAgdmFyIERBVEFfS0VZJDkgPSAnYnMudGFiJztcbiAgdmFyIEVWRU5UX0tFWSQ5ID0gXCIuXCIgKyBEQVRBX0tFWSQ5O1xuICB2YXIgREFUQV9BUElfS0VZJDcgPSAnLmRhdGEtYXBpJztcbiAgdmFyIEpRVUVSWV9OT19DT05GTElDVCQ5ID0gJC5mbltOQU1FJDldO1xuICB2YXIgRXZlbnQkOSA9IHtcbiAgICBISURFOiBcImhpZGVcIiArIEVWRU5UX0tFWSQ5LFxuICAgIEhJRERFTjogXCJoaWRkZW5cIiArIEVWRU5UX0tFWSQ5LFxuICAgIFNIT1c6IFwic2hvd1wiICsgRVZFTlRfS0VZJDksXG4gICAgU0hPV046IFwic2hvd25cIiArIEVWRU5UX0tFWSQ5LFxuICAgIENMSUNLX0RBVEFfQVBJOiBcImNsaWNrXCIgKyBFVkVOVF9LRVkkOSArIERBVEFfQVBJX0tFWSQ3XG4gIH07XG4gIHZhciBDbGFzc05hbWUkOSA9IHtcbiAgICBEUk9QRE9XTl9NRU5VOiAnZHJvcGRvd24tbWVudScsXG4gICAgQUNUSVZFOiAnYWN0aXZlJyxcbiAgICBESVNBQkxFRDogJ2Rpc2FibGVkJyxcbiAgICBGQURFOiAnZmFkZScsXG4gICAgU0hPVzogJ3Nob3cnXG4gIH07XG4gIHZhciBTZWxlY3RvciQ5ID0ge1xuICAgIERST1BET1dOOiAnLmRyb3Bkb3duJyxcbiAgICBOQVZfTElTVF9HUk9VUDogJy5uYXYsIC5saXN0LWdyb3VwJyxcbiAgICBBQ1RJVkU6ICcuYWN0aXZlJyxcbiAgICBBQ1RJVkVfVUw6ICc+IGxpID4gLmFjdGl2ZScsXG4gICAgREFUQV9UT0dHTEU6ICdbZGF0YS10b2dnbGU9XCJ0YWJcIl0sIFtkYXRhLXRvZ2dsZT1cInBpbGxcIl0sIFtkYXRhLXRvZ2dsZT1cImxpc3RcIl0nLFxuICAgIERST1BET1dOX1RPR0dMRTogJy5kcm9wZG93bi10b2dnbGUnLFxuICAgIERST1BET1dOX0FDVElWRV9DSElMRDogJz4gLmRyb3Bkb3duLW1lbnUgLmFjdGl2ZSdcbiAgfTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBDbGFzcyBEZWZpbml0aW9uXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgVGFiID1cbiAgLyojX19QVVJFX18qL1xuICBmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gVGFiKGVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xuICAgIH0gLy8gR2V0dGVyc1xuXG5cbiAgICB2YXIgX3Byb3RvID0gVGFiLnByb3RvdHlwZTtcblxuICAgIC8vIFB1YmxpY1xuICAgIF9wcm90by5zaG93ID0gZnVuY3Rpb24gc2hvdygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIGlmICh0aGlzLl9lbGVtZW50LnBhcmVudE5vZGUgJiYgdGhpcy5fZWxlbWVudC5wYXJlbnROb2RlLm5vZGVUeXBlID09PSBOb2RlLkVMRU1FTlRfTk9ERSAmJiAkKHRoaXMuX2VsZW1lbnQpLmhhc0NsYXNzKENsYXNzTmFtZSQ5LkFDVElWRSkgfHwgJCh0aGlzLl9lbGVtZW50KS5oYXNDbGFzcyhDbGFzc05hbWUkOS5ESVNBQkxFRCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB2YXIgdGFyZ2V0O1xuICAgICAgdmFyIHByZXZpb3VzO1xuICAgICAgdmFyIGxpc3RFbGVtZW50ID0gJCh0aGlzLl9lbGVtZW50KS5jbG9zZXN0KFNlbGVjdG9yJDkuTkFWX0xJU1RfR1JPVVApWzBdO1xuICAgICAgdmFyIHNlbGVjdG9yID0gVXRpbC5nZXRTZWxlY3RvckZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuXG4gICAgICBpZiAobGlzdEVsZW1lbnQpIHtcbiAgICAgICAgdmFyIGl0ZW1TZWxlY3RvciA9IGxpc3RFbGVtZW50Lm5vZGVOYW1lID09PSAnVUwnIHx8IGxpc3RFbGVtZW50Lm5vZGVOYW1lID09PSAnT0wnID8gU2VsZWN0b3IkOS5BQ1RJVkVfVUwgOiBTZWxlY3RvciQ5LkFDVElWRTtcbiAgICAgICAgcHJldmlvdXMgPSAkLm1ha2VBcnJheSgkKGxpc3RFbGVtZW50KS5maW5kKGl0ZW1TZWxlY3RvcikpO1xuICAgICAgICBwcmV2aW91cyA9IHByZXZpb3VzW3ByZXZpb3VzLmxlbmd0aCAtIDFdO1xuICAgICAgfVxuXG4gICAgICB2YXIgaGlkZUV2ZW50ID0gJC5FdmVudChFdmVudCQ5LkhJREUsIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogdGhpcy5fZWxlbWVudFxuICAgICAgfSk7XG4gICAgICB2YXIgc2hvd0V2ZW50ID0gJC5FdmVudChFdmVudCQ5LlNIT1csIHtcbiAgICAgICAgcmVsYXRlZFRhcmdldDogcHJldmlvdXNcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocHJldmlvdXMpIHtcbiAgICAgICAgJChwcmV2aW91cykudHJpZ2dlcihoaWRlRXZlbnQpO1xuICAgICAgfVxuXG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoc2hvd0V2ZW50KTtcblxuICAgICAgaWYgKHNob3dFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSB8fCBoaWRlRXZlbnQuaXNEZWZhdWx0UHJldmVudGVkKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgICAgdGFyZ2V0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2FjdGl2YXRlKHRoaXMuX2VsZW1lbnQsIGxpc3RFbGVtZW50KTtcblxuICAgICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICAgIHZhciBoaWRkZW5FdmVudCA9ICQuRXZlbnQoRXZlbnQkOS5ISURERU4sIHtcbiAgICAgICAgICByZWxhdGVkVGFyZ2V0OiBfdGhpcy5fZWxlbWVudFxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHNob3duRXZlbnQgPSAkLkV2ZW50KEV2ZW50JDkuU0hPV04sIHtcbiAgICAgICAgICByZWxhdGVkVGFyZ2V0OiBwcmV2aW91c1xuICAgICAgICB9KTtcbiAgICAgICAgJChwcmV2aW91cykudHJpZ2dlcihoaWRkZW5FdmVudCk7XG4gICAgICAgICQoX3RoaXMuX2VsZW1lbnQpLnRyaWdnZXIoc2hvd25FdmVudCk7XG4gICAgICB9O1xuXG4gICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgIHRoaXMuX2FjdGl2YXRlKHRhcmdldCwgdGFyZ2V0LnBhcmVudE5vZGUsIGNvbXBsZXRlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIF9wcm90by5kaXNwb3NlID0gZnVuY3Rpb24gZGlzcG9zZSgpIHtcbiAgICAgICQucmVtb3ZlRGF0YSh0aGlzLl9lbGVtZW50LCBEQVRBX0tFWSQ5KTtcbiAgICAgIHRoaXMuX2VsZW1lbnQgPSBudWxsO1xuICAgIH0gLy8gUHJpdmF0ZVxuICAgIDtcblxuICAgIF9wcm90by5fYWN0aXZhdGUgPSBmdW5jdGlvbiBfYWN0aXZhdGUoZWxlbWVudCwgY29udGFpbmVyLCBjYWxsYmFjaykge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgIHZhciBhY3RpdmVFbGVtZW50cyA9IGNvbnRhaW5lciAmJiAoY29udGFpbmVyLm5vZGVOYW1lID09PSAnVUwnIHx8IGNvbnRhaW5lci5ub2RlTmFtZSA9PT0gJ09MJykgPyAkKGNvbnRhaW5lcikuZmluZChTZWxlY3RvciQ5LkFDVElWRV9VTCkgOiAkKGNvbnRhaW5lcikuY2hpbGRyZW4oU2VsZWN0b3IkOS5BQ1RJVkUpO1xuICAgICAgdmFyIGFjdGl2ZSA9IGFjdGl2ZUVsZW1lbnRzWzBdO1xuICAgICAgdmFyIGlzVHJhbnNpdGlvbmluZyA9IGNhbGxiYWNrICYmIGFjdGl2ZSAmJiAkKGFjdGl2ZSkuaGFzQ2xhc3MoQ2xhc3NOYW1lJDkuRkFERSk7XG5cbiAgICAgIHZhciBjb21wbGV0ZSA9IGZ1bmN0aW9uIGNvbXBsZXRlKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMyLl90cmFuc2l0aW9uQ29tcGxldGUoZWxlbWVudCwgYWN0aXZlLCBjYWxsYmFjayk7XG4gICAgICB9O1xuXG4gICAgICBpZiAoYWN0aXZlICYmIGlzVHJhbnNpdGlvbmluZykge1xuICAgICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gVXRpbC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudChhY3RpdmUpO1xuICAgICAgICAkKGFjdGl2ZSkucmVtb3ZlQ2xhc3MoQ2xhc3NOYW1lJDkuU0hPVykub25lKFV0aWwuVFJBTlNJVElPTl9FTkQsIGNvbXBsZXRlKS5lbXVsYXRlVHJhbnNpdGlvbkVuZCh0cmFuc2l0aW9uRHVyYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29tcGxldGUoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgX3Byb3RvLl90cmFuc2l0aW9uQ29tcGxldGUgPSBmdW5jdGlvbiBfdHJhbnNpdGlvbkNvbXBsZXRlKGVsZW1lbnQsIGFjdGl2ZSwgY2FsbGJhY2spIHtcbiAgICAgIGlmIChhY3RpdmUpIHtcbiAgICAgICAgJChhY3RpdmUpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQ5LkFDVElWRSk7XG4gICAgICAgIHZhciBkcm9wZG93bkNoaWxkID0gJChhY3RpdmUucGFyZW50Tm9kZSkuZmluZChTZWxlY3RvciQ5LkRST1BET1dOX0FDVElWRV9DSElMRClbMF07XG5cbiAgICAgICAgaWYgKGRyb3Bkb3duQ2hpbGQpIHtcbiAgICAgICAgICAkKGRyb3Bkb3duQ2hpbGQpLnJlbW92ZUNsYXNzKENsYXNzTmFtZSQ5LkFDVElWRSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWN0aXZlLmdldEF0dHJpYnV0ZSgncm9sZScpID09PSAndGFiJykge1xuICAgICAgICAgIGFjdGl2ZS5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJChlbGVtZW50KS5hZGRDbGFzcyhDbGFzc05hbWUkOS5BQ1RJVkUpO1xuXG4gICAgICBpZiAoZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3JvbGUnKSA9PT0gJ3RhYicpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtc2VsZWN0ZWQnLCB0cnVlKTtcbiAgICAgIH1cblxuICAgICAgVXRpbC5yZWZsb3coZWxlbWVudCk7XG5cbiAgICAgIGlmIChlbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDbGFzc05hbWUkOS5GQURFKSkge1xuICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoQ2xhc3NOYW1lJDkuU0hPVyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChlbGVtZW50LnBhcmVudE5vZGUgJiYgJChlbGVtZW50LnBhcmVudE5vZGUpLmhhc0NsYXNzKENsYXNzTmFtZSQ5LkRST1BET1dOX01FTlUpKSB7XG4gICAgICAgIHZhciBkcm9wZG93bkVsZW1lbnQgPSAkKGVsZW1lbnQpLmNsb3Nlc3QoU2VsZWN0b3IkOS5EUk9QRE9XTilbMF07XG5cbiAgICAgICAgaWYgKGRyb3Bkb3duRWxlbWVudCkge1xuICAgICAgICAgIHZhciBkcm9wZG93blRvZ2dsZUxpc3QgPSBbXS5zbGljZS5jYWxsKGRyb3Bkb3duRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFNlbGVjdG9yJDkuRFJPUERPV05fVE9HR0xFKSk7XG4gICAgICAgICAgJChkcm9wZG93blRvZ2dsZUxpc3QpLmFkZENsYXNzKENsYXNzTmFtZSQ5LkFDVElWRSk7XG4gICAgICAgIH1cblxuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIHRydWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9IC8vIFN0YXRpY1xuICAgIDtcblxuICAgIFRhYi5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24gX2pRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpO1xuICAgICAgICB2YXIgZGF0YSA9ICR0aGlzLmRhdGEoREFUQV9LRVkkOSk7XG5cbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgZGF0YSA9IG5ldyBUYWIodGhpcyk7XG4gICAgICAgICAgJHRoaXMuZGF0YShEQVRBX0tFWSQ5LCBkYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgY29uZmlnID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YVtjb25maWddID09PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk5vIG1ldGhvZCBuYW1lZCBcXFwiXCIgKyBjb25maWcgKyBcIlxcXCJcIik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGF0YVtjb25maWddKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfY3JlYXRlQ2xhc3MoVGFiLCBudWxsLCBbe1xuICAgICAga2V5OiBcIlZFUlNJT05cIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gVkVSU0lPTiQ5O1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBUYWI7XG4gIH0oKTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBEYXRhIEFwaSBpbXBsZW1lbnRhdGlvblxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cblxuICAkKGRvY3VtZW50KS5vbihFdmVudCQ5LkNMSUNLX0RBVEFfQVBJLCBTZWxlY3RvciQ5LkRBVEFfVE9HR0xFLCBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgVGFiLl9qUXVlcnlJbnRlcmZhY2UuY2FsbCgkKHRoaXMpLCAnc2hvdycpO1xuICB9KTtcbiAgLyoqXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKiBqUXVlcnlcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gICQuZm5bTkFNRSQ5XSA9IFRhYi5falF1ZXJ5SW50ZXJmYWNlO1xuICAkLmZuW05BTUUkOV0uQ29uc3RydWN0b3IgPSBUYWI7XG5cbiAgJC5mbltOQU1FJDldLm5vQ29uZmxpY3QgPSBmdW5jdGlvbiAoKSB7XG4gICAgJC5mbltOQU1FJDldID0gSlFVRVJZX05PX0NPTkZMSUNUJDk7XG4gICAgcmV0dXJuIFRhYi5falF1ZXJ5SW50ZXJmYWNlO1xuICB9O1xuXG4gIC8qKlxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICogQ29uc3RhbnRzXG4gICAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgKi9cblxuICB2YXIgTkFNRSRhID0gJ3RvYXN0JztcbiAgdmFyIFZFUlNJT04kYSA9ICc0LjQuMSc7XG4gIHZhciBEQVRBX0tFWSRhID0gJ2JzLnRvYXN0JztcbiAgdmFyIEVWRU5UX0tFWSRhID0gXCIuXCIgKyBEQVRBX0tFWSRhO1xuICB2YXIgSlFVRVJZX05PX0NPTkZMSUNUJGEgPSAkLmZuW05BTUUkYV07XG4gIHZhciBFdmVudCRhID0ge1xuICAgIENMSUNLX0RJU01JU1M6IFwiY2xpY2suZGlzbWlzc1wiICsgRVZFTlRfS0VZJGEsXG4gICAgSElERTogXCJoaWRlXCIgKyBFVkVOVF9LRVkkYSxcbiAgICBISURERU46IFwiaGlkZGVuXCIgKyBFVkVOVF9LRVkkYSxcbiAgICBTSE9XOiBcInNob3dcIiArIEVWRU5UX0tFWSRhLFxuICAgIFNIT1dOOiBcInNob3duXCIgKyBFVkVOVF9LRVkkYVxuICB9O1xuICB2YXIgQ2xhc3NOYW1lJGEgPSB7XG4gICAgRkFERTogJ2ZhZGUnLFxuICAgIEhJREU6ICdoaWRlJyxcbiAgICBTSE9XOiAnc2hvdycsXG4gICAgU0hPV0lORzogJ3Nob3dpbmcnXG4gIH07XG4gIHZhciBEZWZhdWx0VHlwZSQ3ID0ge1xuICAgIGFuaW1hdGlvbjogJ2Jvb2xlYW4nLFxuICAgIGF1dG9oaWRlOiAnYm9vbGVhbicsXG4gICAgZGVsYXk6ICdudW1iZXInXG4gIH07XG4gIHZhciBEZWZhdWx0JDcgPSB7XG4gICAgYW5pbWF0aW9uOiB0cnVlLFxuICAgIGF1dG9oaWRlOiB0cnVlLFxuICAgIGRlbGF5OiA1MDBcbiAgfTtcbiAgdmFyIFNlbGVjdG9yJGEgPSB7XG4gICAgREFUQV9ESVNNSVNTOiAnW2RhdGEtZGlzbWlzcz1cInRvYXN0XCJdJ1xuICB9O1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIENsYXNzIERlZmluaXRpb25cbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqL1xuXG4gIHZhciBUb2FzdCA9XG4gIC8qI19fUFVSRV9fKi9cbiAgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIFRvYXN0KGVsZW1lbnQsIGNvbmZpZykge1xuICAgICAgdGhpcy5fZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICB0aGlzLl9jb25maWcgPSB0aGlzLl9nZXRDb25maWcoY29uZmlnKTtcbiAgICAgIHRoaXMuX3RpbWVvdXQgPSBudWxsO1xuXG4gICAgICB0aGlzLl9zZXRMaXN0ZW5lcnMoKTtcbiAgICB9IC8vIEdldHRlcnNcblxuXG4gICAgdmFyIF9wcm90byA9IFRvYXN0LnByb3RvdHlwZTtcblxuICAgIC8vIFB1YmxpY1xuICAgIF9wcm90by5zaG93ID0gZnVuY3Rpb24gc2hvdygpIHtcbiAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICAgIHZhciBzaG93RXZlbnQgPSAkLkV2ZW50KEV2ZW50JGEuU0hPVyk7XG4gICAgICAkKHRoaXMuX2VsZW1lbnQpLnRyaWdnZXIoc2hvd0V2ZW50KTtcblxuICAgICAgaWYgKHNob3dFdmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc05hbWUkYS5GQURFKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNvbXBsZXRlID0gZnVuY3Rpb24gY29tcGxldGUoKSB7XG4gICAgICAgIF90aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ2xhc3NOYW1lJGEuU0hPV0lORyk7XG5cbiAgICAgICAgX3RoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc05hbWUkYS5TSE9XKTtcblxuICAgICAgICAkKF90aGlzLl9lbGVtZW50KS50cmlnZ2VyKEV2ZW50JGEuU0hPV04pO1xuXG4gICAgICAgIGlmIChfdGhpcy5fY29uZmlnLmF1dG9oaWRlKSB7XG4gICAgICAgICAgX3RoaXMuX3RpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIF90aGlzLmhpZGUoKTtcbiAgICAgICAgICB9LCBfdGhpcy5fY29uZmlnLmRlbGF5KTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKENsYXNzTmFtZSRhLkhJREUpO1xuXG4gICAgICBVdGlsLnJlZmxvdyh0aGlzLl9lbGVtZW50KTtcblxuICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKENsYXNzTmFtZSRhLlNIT1dJTkcpO1xuXG4gICAgICBpZiAodGhpcy5fY29uZmlnLmFuaW1hdGlvbikge1xuICAgICAgICB2YXIgdHJhbnNpdGlvbkR1cmF0aW9uID0gVXRpbC5nZXRUcmFuc2l0aW9uRHVyYXRpb25Gcm9tRWxlbWVudCh0aGlzLl9lbGVtZW50KTtcbiAgICAgICAgJCh0aGlzLl9lbGVtZW50KS5vbmUoVXRpbC5UUkFOU0lUSU9OX0VORCwgY29tcGxldGUpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKHRyYW5zaXRpb25EdXJhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wbGV0ZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBfcHJvdG8uaGlkZSA9IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgICBpZiAoIXRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKENsYXNzTmFtZSRhLlNIT1cpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGhpZGVFdmVudCA9ICQuRXZlbnQoRXZlbnQkYS5ISURFKTtcbiAgICAgICQodGhpcy5fZWxlbWVudCkudHJpZ2dlcihoaWRlRXZlbnQpO1xuXG4gICAgICBpZiAoaGlkZUV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5fY2xvc2UoKTtcbiAgICB9O1xuXG4gICAgX3Byb3RvLmRpc3Bvc2UgPSBmdW5jdGlvbiBkaXNwb3NlKCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpO1xuICAgICAgdGhpcy5fdGltZW91dCA9IG51bGw7XG5cbiAgICAgIGlmICh0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhDbGFzc05hbWUkYS5TSE9XKSkge1xuICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ2xhc3NOYW1lJGEuU0hPVyk7XG4gICAgICB9XG5cbiAgICAgICQodGhpcy5fZWxlbWVudCkub2ZmKEV2ZW50JGEuQ0xJQ0tfRElTTUlTUyk7XG4gICAgICAkLnJlbW92ZURhdGEodGhpcy5fZWxlbWVudCwgREFUQV9LRVkkYSk7XG4gICAgICB0aGlzLl9lbGVtZW50ID0gbnVsbDtcbiAgICAgIHRoaXMuX2NvbmZpZyA9IG51bGw7XG4gICAgfSAvLyBQcml2YXRlXG4gICAgO1xuXG4gICAgX3Byb3RvLl9nZXRDb25maWcgPSBmdW5jdGlvbiBfZ2V0Q29uZmlnKGNvbmZpZykge1xuICAgICAgY29uZmlnID0gX29iamVjdFNwcmVhZDIoe30sIERlZmF1bHQkNywge30sICQodGhpcy5fZWxlbWVudCkuZGF0YSgpLCB7fSwgdHlwZW9mIGNvbmZpZyA9PT0gJ29iamVjdCcgJiYgY29uZmlnID8gY29uZmlnIDoge30pO1xuICAgICAgVXRpbC50eXBlQ2hlY2tDb25maWcoTkFNRSRhLCBjb25maWcsIHRoaXMuY29uc3RydWN0b3IuRGVmYXVsdFR5cGUpO1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9O1xuXG4gICAgX3Byb3RvLl9zZXRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBfc2V0TGlzdGVuZXJzKCkge1xuICAgICAgdmFyIF90aGlzMiA9IHRoaXM7XG5cbiAgICAgICQodGhpcy5fZWxlbWVudCkub24oRXZlbnQkYS5DTElDS19ESVNNSVNTLCBTZWxlY3RvciRhLkRBVEFfRElTTUlTUywgZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gX3RoaXMyLmhpZGUoKTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfcHJvdG8uX2Nsb3NlID0gZnVuY3Rpb24gX2Nsb3NlKCkge1xuICAgICAgdmFyIF90aGlzMyA9IHRoaXM7XG5cbiAgICAgIHZhciBjb21wbGV0ZSA9IGZ1bmN0aW9uIGNvbXBsZXRlKCkge1xuICAgICAgICBfdGhpczMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc05hbWUkYS5ISURFKTtcblxuICAgICAgICAkKF90aGlzMy5fZWxlbWVudCkudHJpZ2dlcihFdmVudCRhLkhJRERFTik7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoQ2xhc3NOYW1lJGEuU0hPVyk7XG5cbiAgICAgIGlmICh0aGlzLl9jb25maWcuYW5pbWF0aW9uKSB7XG4gICAgICAgIHZhciB0cmFuc2l0aW9uRHVyYXRpb24gPSBVdGlsLmdldFRyYW5zaXRpb25EdXJhdGlvbkZyb21FbGVtZW50KHRoaXMuX2VsZW1lbnQpO1xuICAgICAgICAkKHRoaXMuX2VsZW1lbnQpLm9uZShVdGlsLlRSQU5TSVRJT05fRU5ELCBjb21wbGV0ZSkuZW11bGF0ZVRyYW5zaXRpb25FbmQodHJhbnNpdGlvbkR1cmF0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfSAvLyBTdGF0aWNcbiAgICA7XG5cbiAgICBUb2FzdC5falF1ZXJ5SW50ZXJmYWNlID0gZnVuY3Rpb24gX2pRdWVyeUludGVyZmFjZShjb25maWcpIHtcbiAgICAgIHJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgJGVsZW1lbnQgPSAkKHRoaXMpO1xuICAgICAgICB2YXIgZGF0YSA9ICRlbGVtZW50LmRhdGEoREFUQV9LRVkkYSk7XG5cbiAgICAgICAgdmFyIF9jb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JyAmJiBjb25maWc7XG5cbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgZGF0YSA9IG5ldyBUb2FzdCh0aGlzLCBfY29uZmlnKTtcbiAgICAgICAgICAkZWxlbWVudC5kYXRhKERBVEFfS0VZJGEsIGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjb25maWcgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhW2NvbmZpZ10gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTm8gbWV0aG9kIG5hbWVkIFxcXCJcIiArIGNvbmZpZyArIFwiXFxcIlwiKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBkYXRhW2NvbmZpZ10odGhpcyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBfY3JlYXRlQ2xhc3MoVG9hc3QsIG51bGwsIFt7XG4gICAgICBrZXk6IFwiVkVSU0lPTlwiLFxuICAgICAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgICAgIHJldHVybiBWRVJTSU9OJGE7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkRlZmF1bHRUeXBlXCIsXG4gICAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIERlZmF1bHRUeXBlJDc7XG4gICAgICB9XG4gICAgfSwge1xuICAgICAga2V5OiBcIkRlZmF1bHRcIixcbiAgICAgIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgICAgICByZXR1cm4gRGVmYXVsdCQ3O1xuICAgICAgfVxuICAgIH1dKTtcblxuICAgIHJldHVybiBUb2FzdDtcbiAgfSgpO1xuICAvKipcbiAgICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAqIGpRdWVyeVxuICAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICovXG5cblxuICAkLmZuW05BTUUkYV0gPSBUb2FzdC5falF1ZXJ5SW50ZXJmYWNlO1xuICAkLmZuW05BTUUkYV0uQ29uc3RydWN0b3IgPSBUb2FzdDtcblxuICAkLmZuW05BTUUkYV0ubm9Db25mbGljdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAkLmZuW05BTUUkYV0gPSBKUVVFUllfTk9fQ09ORkxJQ1QkYTtcbiAgICByZXR1cm4gVG9hc3QuX2pRdWVyeUludGVyZmFjZTtcbiAgfTtcblxuICBleHBvcnRzLkFsZXJ0ID0gQWxlcnQ7XG4gIGV4cG9ydHMuQnV0dG9uID0gQnV0dG9uO1xuICBleHBvcnRzLkNhcm91c2VsID0gQ2Fyb3VzZWw7XG4gIGV4cG9ydHMuQ29sbGFwc2UgPSBDb2xsYXBzZTtcbiAgZXhwb3J0cy5Ecm9wZG93biA9IERyb3Bkb3duO1xuICBleHBvcnRzLk1vZGFsID0gTW9kYWw7XG4gIGV4cG9ydHMuUG9wb3ZlciA9IFBvcG92ZXI7XG4gIGV4cG9ydHMuU2Nyb2xsc3B5ID0gU2Nyb2xsU3B5O1xuICBleHBvcnRzLlRhYiA9IFRhYjtcbiAgZXhwb3J0cy5Ub2FzdCA9IFRvYXN0O1xuICBleHBvcnRzLlRvb2x0aXAgPSBUb29sdGlwO1xuICBleHBvcnRzLlV0aWwgPSBVdGlsO1xuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG5cbn0pKSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1ib290c3RyYXAuanMubWFwXG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/bootstrap/dist/js/bootstrap.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/jquery/dist/jquery.js\":\n/*!********************************************!*\\\n  !*** ./node_modules/jquery/dist/jquery.js ***!\n  \\********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!\\n * jQuery JavaScript Library v3.5.0\\n * https://jquery.com/\\n *\\n * Includes Sizzle.js\\n * https://sizzlejs.com/\\n *\\n * Copyright JS Foundation and other contributors\\n * Released under the MIT license\\n * https://jquery.org/license\\n *\\n * Date: 2020-04-10T15:07Z\\n */\\n( function( global, factory ) {\\n\\n\\t\\\"use strict\\\";\\n\\n\\tif (  true && typeof module.exports === \\\"object\\\" ) {\\n\\n\\t\\t// For CommonJS and CommonJS-like environments where a proper `window`\\n\\t\\t// is present, execute the factory and get jQuery.\\n\\t\\t// For environments that do not have a `window` with a `document`\\n\\t\\t// (such as Node.js), expose a factory as module.exports.\\n\\t\\t// This accentuates the need for the creation of a real `window`.\\n\\t\\t// e.g. var jQuery = require(\\\"jquery\\\")(window);\\n\\t\\t// See ticket #14549 for more info.\\n\\t\\tmodule.exports = global.document ?\\n\\t\\t\\tfactory( global, true ) :\\n\\t\\t\\tfunction( w ) {\\n\\t\\t\\t\\tif ( !w.document ) {\\n\\t\\t\\t\\t\\tthrow new Error( \\\"jQuery requires a window with a document\\\" );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn factory( w );\\n\\t\\t\\t};\\n\\t} else {\\n\\t\\tfactory( global );\\n\\t}\\n\\n// Pass this if window is not defined yet\\n} )( typeof window !== \\\"undefined\\\" ? window : this, function( window, noGlobal ) {\\n\\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\\n// enough that all such attempts are guarded in a try block.\\n\\\"use strict\\\";\\n\\nvar arr = [];\\n\\nvar getProto = Object.getPrototypeOf;\\n\\nvar slice = arr.slice;\\n\\nvar flat = arr.flat ? function( array ) {\\n\\treturn arr.flat.call( array );\\n} : function( array ) {\\n\\treturn arr.concat.apply( [], array );\\n};\\n\\n\\nvar push = arr.push;\\n\\nvar indexOf = arr.indexOf;\\n\\nvar class2type = {};\\n\\nvar toString = class2type.toString;\\n\\nvar hasOwn = class2type.hasOwnProperty;\\n\\nvar fnToString = hasOwn.toString;\\n\\nvar ObjectFunctionString = fnToString.call( Object );\\n\\nvar support = {};\\n\\nvar isFunction = function isFunction( obj ) {\\n\\n      // Support: Chrome <=57, Firefox <=52\\n      // In some browsers, typeof returns \\\"function\\\" for HTML <object> elements\\n      // (i.e., `typeof document.createElement( \\\"object\\\" ) === \\\"function\\\"`).\\n      // We don't want to classify *any* DOM node as a function.\\n      return typeof obj === \\\"function\\\" && typeof obj.nodeType !== \\\"number\\\";\\n  };\\n\\n\\nvar isWindow = function isWindow( obj ) {\\n\\t\\treturn obj != null && obj === obj.window;\\n\\t};\\n\\n\\nvar document = window.document;\\n\\n\\n\\n\\tvar preservedScriptAttributes = {\\n\\t\\ttype: true,\\n\\t\\tsrc: true,\\n\\t\\tnonce: true,\\n\\t\\tnoModule: true\\n\\t};\\n\\n\\tfunction DOMEval( code, node, doc ) {\\n\\t\\tdoc = doc || document;\\n\\n\\t\\tvar i, val,\\n\\t\\t\\tscript = doc.createElement( \\\"script\\\" );\\n\\n\\t\\tscript.text = code;\\n\\t\\tif ( node ) {\\n\\t\\t\\tfor ( i in preservedScriptAttributes ) {\\n\\n\\t\\t\\t\\t// Support: Firefox 64+, Edge 18+\\n\\t\\t\\t\\t// Some browsers don't support the \\\"nonce\\\" property on scripts.\\n\\t\\t\\t\\t// On the other hand, just using `getAttribute` is not enough as\\n\\t\\t\\t\\t// the `nonce` attribute is reset to an empty string whenever it\\n\\t\\t\\t\\t// becomes browsing-context connected.\\n\\t\\t\\t\\t// See https://github.com/whatwg/html/issues/2369\\n\\t\\t\\t\\t// See https://html.spec.whatwg.org/#nonce-attributes\\n\\t\\t\\t\\t// The `node.getAttribute` check was added for the sake of\\n\\t\\t\\t\\t// `jQuery.globalEval` so that it can fake a nonce-containing node\\n\\t\\t\\t\\t// via an object.\\n\\t\\t\\t\\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\\n\\t\\t\\t\\tif ( val ) {\\n\\t\\t\\t\\t\\tscript.setAttribute( i, val );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tdoc.head.appendChild( script ).parentNode.removeChild( script );\\n\\t}\\n\\n\\nfunction toType( obj ) {\\n\\tif ( obj == null ) {\\n\\t\\treturn obj + \\\"\\\";\\n\\t}\\n\\n\\t// Support: Android <=2.3 only (functionish RegExp)\\n\\treturn typeof obj === \\\"object\\\" || typeof obj === \\\"function\\\" ?\\n\\t\\tclass2type[ toString.call( obj ) ] || \\\"object\\\" :\\n\\t\\ttypeof obj;\\n}\\n/* global Symbol */\\n// Defining this global in .eslintrc.json would create a danger of using the global\\n// unguarded in another place, it seems safer to define global only for this module\\n\\n\\n\\nvar\\n\\tversion = \\\"3.5.0\\\",\\n\\n\\t// Define a local copy of jQuery\\n\\tjQuery = function( selector, context ) {\\n\\n\\t\\t// The jQuery object is actually just the init constructor 'enhanced'\\n\\t\\t// Need init if jQuery is called (just allow error to be thrown if not included)\\n\\t\\treturn new jQuery.fn.init( selector, context );\\n\\t};\\n\\njQuery.fn = jQuery.prototype = {\\n\\n\\t// The current version of jQuery being used\\n\\tjquery: version,\\n\\n\\tconstructor: jQuery,\\n\\n\\t// The default length of a jQuery object is 0\\n\\tlength: 0,\\n\\n\\ttoArray: function() {\\n\\t\\treturn slice.call( this );\\n\\t},\\n\\n\\t// Get the Nth element in the matched element set OR\\n\\t// Get the whole matched element set as a clean array\\n\\tget: function( num ) {\\n\\n\\t\\t// Return all the elements in a clean array\\n\\t\\tif ( num == null ) {\\n\\t\\t\\treturn slice.call( this );\\n\\t\\t}\\n\\n\\t\\t// Return just the one element from the set\\n\\t\\treturn num < 0 ? this[ num + this.length ] : this[ num ];\\n\\t},\\n\\n\\t// Take an array of elements and push it onto the stack\\n\\t// (returning the new matched element set)\\n\\tpushStack: function( elems ) {\\n\\n\\t\\t// Build a new jQuery matched element set\\n\\t\\tvar ret = jQuery.merge( this.constructor(), elems );\\n\\n\\t\\t// Add the old object onto the stack (as a reference)\\n\\t\\tret.prevObject = this;\\n\\n\\t\\t// Return the newly-formed element set\\n\\t\\treturn ret;\\n\\t},\\n\\n\\t// Execute a callback for every element in the matched set.\\n\\teach: function( callback ) {\\n\\t\\treturn jQuery.each( this, callback );\\n\\t},\\n\\n\\tmap: function( callback ) {\\n\\t\\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\\n\\t\\t\\treturn callback.call( elem, i, elem );\\n\\t\\t} ) );\\n\\t},\\n\\n\\tslice: function() {\\n\\t\\treturn this.pushStack( slice.apply( this, arguments ) );\\n\\t},\\n\\n\\tfirst: function() {\\n\\t\\treturn this.eq( 0 );\\n\\t},\\n\\n\\tlast: function() {\\n\\t\\treturn this.eq( -1 );\\n\\t},\\n\\n\\teven: function() {\\n\\t\\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\\n\\t\\t\\treturn ( i + 1 ) % 2;\\n\\t\\t} ) );\\n\\t},\\n\\n\\todd: function() {\\n\\t\\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\\n\\t\\t\\treturn i % 2;\\n\\t\\t} ) );\\n\\t},\\n\\n\\teq: function( i ) {\\n\\t\\tvar len = this.length,\\n\\t\\t\\tj = +i + ( i < 0 ? len : 0 );\\n\\t\\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\\n\\t},\\n\\n\\tend: function() {\\n\\t\\treturn this.prevObject || this.constructor();\\n\\t},\\n\\n\\t// For internal use only.\\n\\t// Behaves like an Array's method, not like a jQuery method.\\n\\tpush: push,\\n\\tsort: arr.sort,\\n\\tsplice: arr.splice\\n};\\n\\njQuery.extend = jQuery.fn.extend = function() {\\n\\tvar options, name, src, copy, copyIsArray, clone,\\n\\t\\ttarget = arguments[ 0 ] || {},\\n\\t\\ti = 1,\\n\\t\\tlength = arguments.length,\\n\\t\\tdeep = false;\\n\\n\\t// Handle a deep copy situation\\n\\tif ( typeof target === \\\"boolean\\\" ) {\\n\\t\\tdeep = target;\\n\\n\\t\\t// Skip the boolean and the target\\n\\t\\ttarget = arguments[ i ] || {};\\n\\t\\ti++;\\n\\t}\\n\\n\\t// Handle case when target is a string or something (possible in deep copy)\\n\\tif ( typeof target !== \\\"object\\\" && !isFunction( target ) ) {\\n\\t\\ttarget = {};\\n\\t}\\n\\n\\t// Extend jQuery itself if only one argument is passed\\n\\tif ( i === length ) {\\n\\t\\ttarget = this;\\n\\t\\ti--;\\n\\t}\\n\\n\\tfor ( ; i < length; i++ ) {\\n\\n\\t\\t// Only deal with non-null/undefined values\\n\\t\\tif ( ( options = arguments[ i ] ) != null ) {\\n\\n\\t\\t\\t// Extend the base object\\n\\t\\t\\tfor ( name in options ) {\\n\\t\\t\\t\\tcopy = options[ name ];\\n\\n\\t\\t\\t\\t// Prevent Object.prototype pollution\\n\\t\\t\\t\\t// Prevent never-ending loop\\n\\t\\t\\t\\tif ( name === \\\"__proto__\\\" || target === copy ) {\\n\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Recurse if we're merging plain objects or arrays\\n\\t\\t\\t\\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\\n\\t\\t\\t\\t\\t( copyIsArray = Array.isArray( copy ) ) ) ) {\\n\\t\\t\\t\\t\\tsrc = target[ name ];\\n\\n\\t\\t\\t\\t\\t// Ensure proper type for the source value\\n\\t\\t\\t\\t\\tif ( copyIsArray && !Array.isArray( src ) ) {\\n\\t\\t\\t\\t\\t\\tclone = [];\\n\\t\\t\\t\\t\\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\\n\\t\\t\\t\\t\\t\\tclone = {};\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tclone = src;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tcopyIsArray = false;\\n\\n\\t\\t\\t\\t\\t// Never move original objects, clone them\\n\\t\\t\\t\\t\\ttarget[ name ] = jQuery.extend( deep, clone, copy );\\n\\n\\t\\t\\t\\t// Don't bring in undefined values\\n\\t\\t\\t\\t} else if ( copy !== undefined ) {\\n\\t\\t\\t\\t\\ttarget[ name ] = copy;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Return the modified object\\n\\treturn target;\\n};\\n\\njQuery.extend( {\\n\\n\\t// Unique for each copy of jQuery on the page\\n\\texpando: \\\"jQuery\\\" + ( version + Math.random() ).replace( /\\\\D/g, \\\"\\\" ),\\n\\n\\t// Assume jQuery is ready without the ready module\\n\\tisReady: true,\\n\\n\\terror: function( msg ) {\\n\\t\\tthrow new Error( msg );\\n\\t},\\n\\n\\tnoop: function() {},\\n\\n\\tisPlainObject: function( obj ) {\\n\\t\\tvar proto, Ctor;\\n\\n\\t\\t// Detect obvious negatives\\n\\t\\t// Use toString instead of jQuery.type to catch host objects\\n\\t\\tif ( !obj || toString.call( obj ) !== \\\"[object Object]\\\" ) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tproto = getProto( obj );\\n\\n\\t\\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\\n\\t\\tif ( !proto ) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\n\\t\\t// Objects with prototype are plain iff they were constructed by a global Object function\\n\\t\\tCtor = hasOwn.call( proto, \\\"constructor\\\" ) && proto.constructor;\\n\\t\\treturn typeof Ctor === \\\"function\\\" && fnToString.call( Ctor ) === ObjectFunctionString;\\n\\t},\\n\\n\\tisEmptyObject: function( obj ) {\\n\\t\\tvar name;\\n\\n\\t\\tfor ( name in obj ) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\treturn true;\\n\\t},\\n\\n\\t// Evaluates a script in a provided context; falls back to the global one\\n\\t// if not specified.\\n\\tglobalEval: function( code, options, doc ) {\\n\\t\\tDOMEval( code, { nonce: options && options.nonce }, doc );\\n\\t},\\n\\n\\teach: function( obj, callback ) {\\n\\t\\tvar length, i = 0;\\n\\n\\t\\tif ( isArrayLike( obj ) ) {\\n\\t\\t\\tlength = obj.length;\\n\\t\\t\\tfor ( ; i < length; i++ ) {\\n\\t\\t\\t\\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tfor ( i in obj ) {\\n\\t\\t\\t\\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn obj;\\n\\t},\\n\\n\\t// results is for internal usage only\\n\\tmakeArray: function( arr, results ) {\\n\\t\\tvar ret = results || [];\\n\\n\\t\\tif ( arr != null ) {\\n\\t\\t\\tif ( isArrayLike( Object( arr ) ) ) {\\n\\t\\t\\t\\tjQuery.merge( ret,\\n\\t\\t\\t\\t\\ttypeof arr === \\\"string\\\" ?\\n\\t\\t\\t\\t\\t[ arr ] : arr\\n\\t\\t\\t\\t);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tpush.call( ret, arr );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn ret;\\n\\t},\\n\\n\\tinArray: function( elem, arr, i ) {\\n\\t\\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\\n\\t},\\n\\n\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\tmerge: function( first, second ) {\\n\\t\\tvar len = +second.length,\\n\\t\\t\\tj = 0,\\n\\t\\t\\ti = first.length;\\n\\n\\t\\tfor ( ; j < len; j++ ) {\\n\\t\\t\\tfirst[ i++ ] = second[ j ];\\n\\t\\t}\\n\\n\\t\\tfirst.length = i;\\n\\n\\t\\treturn first;\\n\\t},\\n\\n\\tgrep: function( elems, callback, invert ) {\\n\\t\\tvar callbackInverse,\\n\\t\\t\\tmatches = [],\\n\\t\\t\\ti = 0,\\n\\t\\t\\tlength = elems.length,\\n\\t\\t\\tcallbackExpect = !invert;\\n\\n\\t\\t// Go through the array, only saving the items\\n\\t\\t// that pass the validator function\\n\\t\\tfor ( ; i < length; i++ ) {\\n\\t\\t\\tcallbackInverse = !callback( elems[ i ], i );\\n\\t\\t\\tif ( callbackInverse !== callbackExpect ) {\\n\\t\\t\\t\\tmatches.push( elems[ i ] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn matches;\\n\\t},\\n\\n\\t// arg is for internal usage only\\n\\tmap: function( elems, callback, arg ) {\\n\\t\\tvar length, value,\\n\\t\\t\\ti = 0,\\n\\t\\t\\tret = [];\\n\\n\\t\\t// Go through the array, translating each of the items to their new values\\n\\t\\tif ( isArrayLike( elems ) ) {\\n\\t\\t\\tlength = elems.length;\\n\\t\\t\\tfor ( ; i < length; i++ ) {\\n\\t\\t\\t\\tvalue = callback( elems[ i ], i, arg );\\n\\n\\t\\t\\t\\tif ( value != null ) {\\n\\t\\t\\t\\t\\tret.push( value );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t// Go through every key on the object,\\n\\t\\t} else {\\n\\t\\t\\tfor ( i in elems ) {\\n\\t\\t\\t\\tvalue = callback( elems[ i ], i, arg );\\n\\n\\t\\t\\t\\tif ( value != null ) {\\n\\t\\t\\t\\t\\tret.push( value );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Flatten any nested arrays\\n\\t\\treturn flat( ret );\\n\\t},\\n\\n\\t// A global GUID counter for objects\\n\\tguid: 1,\\n\\n\\t// jQuery.support is not used in Core but other projects attach their\\n\\t// properties to it so it needs to exist.\\n\\tsupport: support\\n} );\\n\\nif ( typeof Symbol === \\\"function\\\" ) {\\n\\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\\n}\\n\\n// Populate the class2type map\\njQuery.each( \\\"Boolean Number String Function Array Date RegExp Object Error Symbol\\\".split( \\\" \\\" ),\\nfunction( _i, name ) {\\n\\tclass2type[ \\\"[object \\\" + name + \\\"]\\\" ] = name.toLowerCase();\\n} );\\n\\nfunction isArrayLike( obj ) {\\n\\n\\t// Support: real iOS 8.2 only (not reproducible in simulator)\\n\\t// `in` check used to prevent JIT error (gh-2145)\\n\\t// hasOwn isn't used here due to false negatives\\n\\t// regarding Nodelist length in IE\\n\\tvar length = !!obj && \\\"length\\\" in obj && obj.length,\\n\\t\\ttype = toType( obj );\\n\\n\\tif ( isFunction( obj ) || isWindow( obj ) ) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\treturn type === \\\"array\\\" || length === 0 ||\\n\\t\\ttypeof length === \\\"number\\\" && length > 0 && ( length - 1 ) in obj;\\n}\\nvar Sizzle =\\n/*!\\n * Sizzle CSS Selector Engine v2.3.5\\n * https://sizzlejs.com/\\n *\\n * Copyright JS Foundation and other contributors\\n * Released under the MIT license\\n * https://js.foundation/\\n *\\n * Date: 2020-03-14\\n */\\n( function( window ) {\\nvar i,\\n\\tsupport,\\n\\tExpr,\\n\\tgetText,\\n\\tisXML,\\n\\ttokenize,\\n\\tcompile,\\n\\tselect,\\n\\toutermostContext,\\n\\tsortInput,\\n\\thasDuplicate,\\n\\n\\t// Local document vars\\n\\tsetDocument,\\n\\tdocument,\\n\\tdocElem,\\n\\tdocumentIsHTML,\\n\\trbuggyQSA,\\n\\trbuggyMatches,\\n\\tmatches,\\n\\tcontains,\\n\\n\\t// Instance-specific data\\n\\texpando = \\\"sizzle\\\" + 1 * new Date(),\\n\\tpreferredDoc = window.document,\\n\\tdirruns = 0,\\n\\tdone = 0,\\n\\tclassCache = createCache(),\\n\\ttokenCache = createCache(),\\n\\tcompilerCache = createCache(),\\n\\tnonnativeSelectorCache = createCache(),\\n\\tsortOrder = function( a, b ) {\\n\\t\\tif ( a === b ) {\\n\\t\\t\\thasDuplicate = true;\\n\\t\\t}\\n\\t\\treturn 0;\\n\\t},\\n\\n\\t// Instance methods\\n\\thasOwn = ( {} ).hasOwnProperty,\\n\\tarr = [],\\n\\tpop = arr.pop,\\n\\tpushNative = arr.push,\\n\\tpush = arr.push,\\n\\tslice = arr.slice,\\n\\n\\t// Use a stripped-down indexOf as it's faster than native\\n\\t// https://jsperf.com/thor-indexof-vs-for/5\\n\\tindexOf = function( list, elem ) {\\n\\t\\tvar i = 0,\\n\\t\\t\\tlen = list.length;\\n\\t\\tfor ( ; i < len; i++ ) {\\n\\t\\t\\tif ( list[ i ] === elem ) {\\n\\t\\t\\t\\treturn i;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn -1;\\n\\t},\\n\\n\\tbooleans = \\\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\\\" +\\n\\t\\t\\\"ismap|loop|multiple|open|readonly|required|scoped\\\",\\n\\n\\t// Regular expressions\\n\\n\\t// http://www.w3.org/TR/css3-selectors/#whitespace\\n\\twhitespace = \\\"[\\\\\\\\x20\\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\f]\\\",\\n\\n\\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\\n\\tidentifier = \\\"(?:\\\\\\\\\\\\\\\\[\\\\\\\\da-fA-F]{1,6}\\\" + whitespace +\\n\\t\\t\\\"?|\\\\\\\\\\\\\\\\[^\\\\\\\\r\\\\\\\\n\\\\\\\\f]|[\\\\\\\\w-]|[^\\\\0-\\\\\\\\x7f])+\\\",\\n\\n\\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\\n\\tattributes = \\\"\\\\\\\\[\\\" + whitespace + \\\"*(\\\" + identifier + \\\")(?:\\\" + whitespace +\\n\\n\\t\\t// Operator (capture 2)\\n\\t\\t\\\"*([*^$|!~]?=)\\\" + whitespace +\\n\\n\\t\\t// \\\"Attribute values must be CSS identifiers [capture 5]\\n\\t\\t// or strings [capture 3 or capture 4]\\\"\\n\\t\\t\\\"*(?:'((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\'])*)'|\\\\\\\"((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\\\\\\\\"])*)\\\\\\\"|(\\\" + identifier + \\\"))|)\\\" +\\n\\t\\twhitespace + \\\"*\\\\\\\\]\\\",\\n\\n\\tpseudos = \\\":(\\\" + identifier + \\\")(?:\\\\\\\\((\\\" +\\n\\n\\t\\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\\n\\t\\t// 1. quoted (capture 3; capture 4 or capture 5)\\n\\t\\t\\\"('((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\'])*)'|\\\\\\\"((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\\\\\\\\"])*)\\\\\\\")|\\\" +\\n\\n\\t\\t// 2. simple (capture 6)\\n\\t\\t\\\"((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\()[\\\\\\\\]]|\\\" + attributes + \\\")*)|\\\" +\\n\\n\\t\\t// 3. anything else (capture 2)\\n\\t\\t\\\".*\\\" +\\n\\t\\t\\\")\\\\\\\\)|)\\\",\\n\\n\\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\\n\\trwhitespace = new RegExp( whitespace + \\\"+\\\", \\\"g\\\" ),\\n\\trtrim = new RegExp( \\\"^\\\" + whitespace + \\\"+|((?:^|[^\\\\\\\\\\\\\\\\])(?:\\\\\\\\\\\\\\\\.)*)\\\" +\\n\\t\\twhitespace + \\\"+$\\\", \\\"g\\\" ),\\n\\n\\trcomma = new RegExp( \\\"^\\\" + whitespace + \\\"*,\\\" + whitespace + \\\"*\\\" ),\\n\\trcombinators = new RegExp( \\\"^\\\" + whitespace + \\\"*([>+~]|\\\" + whitespace + \\\")\\\" + whitespace +\\n\\t\\t\\\"*\\\" ),\\n\\trdescend = new RegExp( whitespace + \\\"|>\\\" ),\\n\\n\\trpseudo = new RegExp( pseudos ),\\n\\tridentifier = new RegExp( \\\"^\\\" + identifier + \\\"$\\\" ),\\n\\n\\tmatchExpr = {\\n\\t\\t\\\"ID\\\": new RegExp( \\\"^#(\\\" + identifier + \\\")\\\" ),\\n\\t\\t\\\"CLASS\\\": new RegExp( \\\"^\\\\\\\\.(\\\" + identifier + \\\")\\\" ),\\n\\t\\t\\\"TAG\\\": new RegExp( \\\"^(\\\" + identifier + \\\"|[*])\\\" ),\\n\\t\\t\\\"ATTR\\\": new RegExp( \\\"^\\\" + attributes ),\\n\\t\\t\\\"PSEUDO\\\": new RegExp( \\\"^\\\" + pseudos ),\\n\\t\\t\\\"CHILD\\\": new RegExp( \\\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\\\\\(\\\" +\\n\\t\\t\\twhitespace + \\\"*(even|odd|(([+-]|)(\\\\\\\\d*)n|)\\\" + whitespace + \\\"*(?:([+-]|)\\\" +\\n\\t\\t\\twhitespace + \\\"*(\\\\\\\\d+)|))\\\" + whitespace + \\\"*\\\\\\\\)|)\\\", \\\"i\\\" ),\\n\\t\\t\\\"bool\\\": new RegExp( \\\"^(?:\\\" + booleans + \\\")$\\\", \\\"i\\\" ),\\n\\n\\t\\t// For use in libraries implementing .is()\\n\\t\\t// We use this for POS matching in `select`\\n\\t\\t\\\"needsContext\\\": new RegExp( \\\"^\\\" + whitespace +\\n\\t\\t\\t\\\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\\\\\(\\\" + whitespace +\\n\\t\\t\\t\\\"*((?:-\\\\\\\\d)?\\\\\\\\d*)\\\" + whitespace + \\\"*\\\\\\\\)|)(?=[^-]|$)\\\", \\\"i\\\" )\\n\\t},\\n\\n\\trhtml = /HTML$/i,\\n\\trinputs = /^(?:input|select|textarea|button)$/i,\\n\\trheader = /^h\\\\d$/i,\\n\\n\\trnative = /^[^{]+\\\\{\\\\s*\\\\[native \\\\w/,\\n\\n\\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\\n\\trquickExpr = /^(?:#([\\\\w-]+)|(\\\\w+)|\\\\.([\\\\w-]+))$/,\\n\\n\\trsibling = /[+~]/,\\n\\n\\t// CSS escapes\\n\\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\\n\\trunescape = new RegExp( \\\"\\\\\\\\\\\\\\\\[\\\\\\\\da-fA-F]{1,6}\\\" + whitespace + \\\"?|\\\\\\\\\\\\\\\\([^\\\\\\\\r\\\\\\\\n\\\\\\\\f])\\\", \\\"g\\\" ),\\n\\tfunescape = function( escape, nonHex ) {\\n\\t\\tvar high = \\\"0x\\\" + escape.slice( 1 ) - 0x10000;\\n\\n\\t\\treturn nonHex ?\\n\\n\\t\\t\\t// Strip the backslash prefix from a non-hex escape sequence\\n\\t\\t\\tnonHex :\\n\\n\\t\\t\\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\\n\\t\\t\\t// Support: IE <=11+\\n\\t\\t\\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\\n\\t\\t\\t// surrogate pair\\n\\t\\t\\thigh < 0 ?\\n\\t\\t\\t\\tString.fromCharCode( high + 0x10000 ) :\\n\\t\\t\\t\\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\\n\\t},\\n\\n\\t// CSS string/identifier serialization\\n\\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\\n\\trcssescape = /([\\\\0-\\\\x1f\\\\x7f]|^-?\\\\d)|^-$|[^\\\\0-\\\\x1f\\\\x7f-\\\\uFFFF\\\\w-]/g,\\n\\tfcssescape = function( ch, asCodePoint ) {\\n\\t\\tif ( asCodePoint ) {\\n\\n\\t\\t\\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\\n\\t\\t\\tif ( ch === \\\"\\\\0\\\" ) {\\n\\t\\t\\t\\treturn \\\"\\\\uFFFD\\\";\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Control characters and (dependent upon position) numbers get escaped as code points\\n\\t\\t\\treturn ch.slice( 0, -1 ) + \\\"\\\\\\\\\\\" +\\n\\t\\t\\t\\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \\\" \\\";\\n\\t\\t}\\n\\n\\t\\t// Other potentially-special ASCII characters get backslash-escaped\\n\\t\\treturn \\\"\\\\\\\\\\\" + ch;\\n\\t},\\n\\n\\t// Used for iframes\\n\\t// See setDocument()\\n\\t// Removing the function wrapper causes a \\\"Permission Denied\\\"\\n\\t// error in IE\\n\\tunloadHandler = function() {\\n\\t\\tsetDocument();\\n\\t},\\n\\n\\tinDisabledFieldset = addCombinator(\\n\\t\\tfunction( elem ) {\\n\\t\\t\\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \\\"fieldset\\\";\\n\\t\\t},\\n\\t\\t{ dir: \\\"parentNode\\\", next: \\\"legend\\\" }\\n\\t);\\n\\n// Optimize for push.apply( _, NodeList )\\ntry {\\n\\tpush.apply(\\n\\t\\t( arr = slice.call( preferredDoc.childNodes ) ),\\n\\t\\tpreferredDoc.childNodes\\n\\t);\\n\\n\\t// Support: Android<4.0\\n\\t// Detect silently failing push.apply\\n\\t// eslint-disable-next-line no-unused-expressions\\n\\tarr[ preferredDoc.childNodes.length ].nodeType;\\n} catch ( e ) {\\n\\tpush = { apply: arr.length ?\\n\\n\\t\\t// Leverage slice if possible\\n\\t\\tfunction( target, els ) {\\n\\t\\t\\tpushNative.apply( target, slice.call( els ) );\\n\\t\\t} :\\n\\n\\t\\t// Support: IE<9\\n\\t\\t// Otherwise append directly\\n\\t\\tfunction( target, els ) {\\n\\t\\t\\tvar j = target.length,\\n\\t\\t\\t\\ti = 0;\\n\\n\\t\\t\\t// Can't trust NodeList.length\\n\\t\\t\\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\\n\\t\\t\\ttarget.length = j - 1;\\n\\t\\t}\\n\\t};\\n}\\n\\nfunction Sizzle( selector, context, results, seed ) {\\n\\tvar m, i, elem, nid, match, groups, newSelector,\\n\\t\\tnewContext = context && context.ownerDocument,\\n\\n\\t\\t// nodeType defaults to 9, since context defaults to document\\n\\t\\tnodeType = context ? context.nodeType : 9;\\n\\n\\tresults = results || [];\\n\\n\\t// Return early from calls with invalid selector or context\\n\\tif ( typeof selector !== \\\"string\\\" || !selector ||\\n\\t\\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\\n\\n\\t\\treturn results;\\n\\t}\\n\\n\\t// Try to shortcut find operations (as opposed to filters) in HTML documents\\n\\tif ( !seed ) {\\n\\t\\tsetDocument( context );\\n\\t\\tcontext = context || document;\\n\\n\\t\\tif ( documentIsHTML ) {\\n\\n\\t\\t\\t// If the selector is sufficiently simple, try using a \\\"get*By*\\\" DOM method\\n\\t\\t\\t// (excepting DocumentFragment context, where the methods don't exist)\\n\\t\\t\\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\\n\\n\\t\\t\\t\\t// ID selector\\n\\t\\t\\t\\tif ( ( m = match[ 1 ] ) ) {\\n\\n\\t\\t\\t\\t\\t// Document context\\n\\t\\t\\t\\t\\tif ( nodeType === 9 ) {\\n\\t\\t\\t\\t\\t\\tif ( ( elem = context.getElementById( m ) ) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Support: IE, Opera, Webkit\\n\\t\\t\\t\\t\\t\\t\\t// TODO: identify versions\\n\\t\\t\\t\\t\\t\\t\\t// getElementById can match elements by name instead of ID\\n\\t\\t\\t\\t\\t\\t\\tif ( elem.id === m ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tresults.push( elem );\\n\\t\\t\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Element context\\n\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE, Opera, Webkit\\n\\t\\t\\t\\t\\t\\t// TODO: identify versions\\n\\t\\t\\t\\t\\t\\t// getElementById can match elements by name instead of ID\\n\\t\\t\\t\\t\\t\\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\\n\\t\\t\\t\\t\\t\\t\\tcontains( context, elem ) &&\\n\\t\\t\\t\\t\\t\\t\\telem.id === m ) {\\n\\n\\t\\t\\t\\t\\t\\t\\tresults.push( elem );\\n\\t\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Type selector\\n\\t\\t\\t\\t} else if ( match[ 2 ] ) {\\n\\t\\t\\t\\t\\tpush.apply( results, context.getElementsByTagName( selector ) );\\n\\t\\t\\t\\t\\treturn results;\\n\\n\\t\\t\\t\\t// Class selector\\n\\t\\t\\t\\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\\n\\t\\t\\t\\t\\tcontext.getElementsByClassName ) {\\n\\n\\t\\t\\t\\t\\tpush.apply( results, context.getElementsByClassName( m ) );\\n\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Take advantage of querySelectorAll\\n\\t\\t\\tif ( support.qsa &&\\n\\t\\t\\t\\t!nonnativeSelectorCache[ selector + \\\" \\\" ] &&\\n\\t\\t\\t\\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\\n\\n\\t\\t\\t\\t// Support: IE 8 only\\n\\t\\t\\t\\t// Exclude object elements\\n\\t\\t\\t\\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \\\"object\\\" ) ) {\\n\\n\\t\\t\\t\\tnewSelector = selector;\\n\\t\\t\\t\\tnewContext = context;\\n\\n\\t\\t\\t\\t// qSA considers elements outside a scoping root when evaluating child or\\n\\t\\t\\t\\t// descendant combinators, which is not what we want.\\n\\t\\t\\t\\t// In such cases, we work around the behavior by prefixing every selector in the\\n\\t\\t\\t\\t// list with an ID selector referencing the scope context.\\n\\t\\t\\t\\t// The technique has to be used as well when a leading combinator is used\\n\\t\\t\\t\\t// as such selectors are not recognized by querySelectorAll.\\n\\t\\t\\t\\t// Thanks to Andrew Dupont for this technique.\\n\\t\\t\\t\\tif ( nodeType === 1 &&\\n\\t\\t\\t\\t\\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\\n\\n\\t\\t\\t\\t\\t// Expand context for sibling selectors\\n\\t\\t\\t\\t\\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\\n\\t\\t\\t\\t\\t\\tcontext;\\n\\n\\t\\t\\t\\t\\t// We can use :scope instead of the ID hack if the browser\\n\\t\\t\\t\\t\\t// supports it & if we're not changing the context.\\n\\t\\t\\t\\t\\tif ( newContext !== context || !support.scope ) {\\n\\n\\t\\t\\t\\t\\t\\t// Capture the context ID, setting it first if necessary\\n\\t\\t\\t\\t\\t\\tif ( ( nid = context.getAttribute( \\\"id\\\" ) ) ) {\\n\\t\\t\\t\\t\\t\\t\\tnid = nid.replace( rcssescape, fcssescape );\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\tcontext.setAttribute( \\\"id\\\", ( nid = expando ) );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Prefix every selector in the list\\n\\t\\t\\t\\t\\tgroups = tokenize( selector );\\n\\t\\t\\t\\t\\ti = groups.length;\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\tgroups[ i ] = ( nid ? \\\"#\\\" + nid : \\\":scope\\\" ) + \\\" \\\" +\\n\\t\\t\\t\\t\\t\\t\\ttoSelector( groups[ i ] );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tnewSelector = groups.join( \\\",\\\" );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\tpush.apply( results,\\n\\t\\t\\t\\t\\t\\tnewContext.querySelectorAll( newSelector )\\n\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t} catch ( qsaError ) {\\n\\t\\t\\t\\t\\tnonnativeSelectorCache( selector, true );\\n\\t\\t\\t\\t} finally {\\n\\t\\t\\t\\t\\tif ( nid === expando ) {\\n\\t\\t\\t\\t\\t\\tcontext.removeAttribute( \\\"id\\\" );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// All others\\n\\treturn select( selector.replace( rtrim, \\\"$1\\\" ), context, results, seed );\\n}\\n\\n/**\\n * Create key-value caches of limited size\\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\\n *\\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\\n *\\tdeleting the oldest entry\\n */\\nfunction createCache() {\\n\\tvar keys = [];\\n\\n\\tfunction cache( key, value ) {\\n\\n\\t\\t// Use (key + \\\" \\\") to avoid collision with native prototype properties (see Issue #157)\\n\\t\\tif ( keys.push( key + \\\" \\\" ) > Expr.cacheLength ) {\\n\\n\\t\\t\\t// Only keep the most recent entries\\n\\t\\t\\tdelete cache[ keys.shift() ];\\n\\t\\t}\\n\\t\\treturn ( cache[ key + \\\" \\\" ] = value );\\n\\t}\\n\\treturn cache;\\n}\\n\\n/**\\n * Mark a function for special use by Sizzle\\n * @param {Function} fn The function to mark\\n */\\nfunction markFunction( fn ) {\\n\\tfn[ expando ] = true;\\n\\treturn fn;\\n}\\n\\n/**\\n * Support testing using an element\\n * @param {Function} fn Passed the created element and returns a boolean result\\n */\\nfunction assert( fn ) {\\n\\tvar el = document.createElement( \\\"fieldset\\\" );\\n\\n\\ttry {\\n\\t\\treturn !!fn( el );\\n\\t} catch ( e ) {\\n\\t\\treturn false;\\n\\t} finally {\\n\\n\\t\\t// Remove from its parent by default\\n\\t\\tif ( el.parentNode ) {\\n\\t\\t\\tel.parentNode.removeChild( el );\\n\\t\\t}\\n\\n\\t\\t// release memory in IE\\n\\t\\tel = null;\\n\\t}\\n}\\n\\n/**\\n * Adds the same handler for all of the specified attrs\\n * @param {String} attrs Pipe-separated list of attributes\\n * @param {Function} handler The method that will be applied\\n */\\nfunction addHandle( attrs, handler ) {\\n\\tvar arr = attrs.split( \\\"|\\\" ),\\n\\t\\ti = arr.length;\\n\\n\\twhile ( i-- ) {\\n\\t\\tExpr.attrHandle[ arr[ i ] ] = handler;\\n\\t}\\n}\\n\\n/**\\n * Checks document order of two siblings\\n * @param {Element} a\\n * @param {Element} b\\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\\n */\\nfunction siblingCheck( a, b ) {\\n\\tvar cur = b && a,\\n\\t\\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\\n\\t\\t\\ta.sourceIndex - b.sourceIndex;\\n\\n\\t// Use IE sourceIndex if available on both nodes\\n\\tif ( diff ) {\\n\\t\\treturn diff;\\n\\t}\\n\\n\\t// Check if b follows a\\n\\tif ( cur ) {\\n\\t\\twhile ( ( cur = cur.nextSibling ) ) {\\n\\t\\t\\tif ( cur === b ) {\\n\\t\\t\\t\\treturn -1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn a ? 1 : -1;\\n}\\n\\n/**\\n * Returns a function to use in pseudos for input types\\n * @param {String} type\\n */\\nfunction createInputPseudo( type ) {\\n\\treturn function( elem ) {\\n\\t\\tvar name = elem.nodeName.toLowerCase();\\n\\t\\treturn name === \\\"input\\\" && elem.type === type;\\n\\t};\\n}\\n\\n/**\\n * Returns a function to use in pseudos for buttons\\n * @param {String} type\\n */\\nfunction createButtonPseudo( type ) {\\n\\treturn function( elem ) {\\n\\t\\tvar name = elem.nodeName.toLowerCase();\\n\\t\\treturn ( name === \\\"input\\\" || name === \\\"button\\\" ) && elem.type === type;\\n\\t};\\n}\\n\\n/**\\n * Returns a function to use in pseudos for :enabled/:disabled\\n * @param {Boolean} disabled true for :disabled; false for :enabled\\n */\\nfunction createDisabledPseudo( disabled ) {\\n\\n\\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\\n\\treturn function( elem ) {\\n\\n\\t\\t// Only certain elements can match :enabled or :disabled\\n\\t\\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\\n\\t\\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\\n\\t\\tif ( \\\"form\\\" in elem ) {\\n\\n\\t\\t\\t// Check for inherited disabledness on relevant non-disabled elements:\\n\\t\\t\\t// * listed form-associated elements in a disabled fieldset\\n\\t\\t\\t//   https://html.spec.whatwg.org/multipage/forms.html#category-listed\\n\\t\\t\\t//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\\n\\t\\t\\t// * option elements in a disabled optgroup\\n\\t\\t\\t//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\\n\\t\\t\\t// All such elements have a \\\"form\\\" property.\\n\\t\\t\\tif ( elem.parentNode && elem.disabled === false ) {\\n\\n\\t\\t\\t\\t// Option elements defer to a parent optgroup if present\\n\\t\\t\\t\\tif ( \\\"label\\\" in elem ) {\\n\\t\\t\\t\\t\\tif ( \\\"label\\\" in elem.parentNode ) {\\n\\t\\t\\t\\t\\t\\treturn elem.parentNode.disabled === disabled;\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\treturn elem.disabled === disabled;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Support: IE 6 - 11\\n\\t\\t\\t\\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\\n\\t\\t\\t\\treturn elem.isDisabled === disabled ||\\n\\n\\t\\t\\t\\t\\t// Where there is no isDisabled, check manually\\n\\t\\t\\t\\t\\t/* jshint -W018 */\\n\\t\\t\\t\\t\\telem.isDisabled !== !disabled &&\\n\\t\\t\\t\\t\\tinDisabledFieldset( elem ) === disabled;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn elem.disabled === disabled;\\n\\n\\t\\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\\n\\t\\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\\n\\t\\t// even exist on them, let alone have a boolean value.\\n\\t\\t} else if ( \\\"label\\\" in elem ) {\\n\\t\\t\\treturn elem.disabled === disabled;\\n\\t\\t}\\n\\n\\t\\t// Remaining elements are neither :enabled nor :disabled\\n\\t\\treturn false;\\n\\t};\\n}\\n\\n/**\\n * Returns a function to use in pseudos for positionals\\n * @param {Function} fn\\n */\\nfunction createPositionalPseudo( fn ) {\\n\\treturn markFunction( function( argument ) {\\n\\t\\targument = +argument;\\n\\t\\treturn markFunction( function( seed, matches ) {\\n\\t\\t\\tvar j,\\n\\t\\t\\t\\tmatchIndexes = fn( [], seed.length, argument ),\\n\\t\\t\\t\\ti = matchIndexes.length;\\n\\n\\t\\t\\t// Match elements found at the specified indexes\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\\n\\t\\t\\t\\t\\tseed[ j ] = !( matches[ j ] = seed[ j ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t} );\\n}\\n\\n/**\\n * Checks a node for validity as a Sizzle context\\n * @param {Element|Object=} context\\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\\n */\\nfunction testContext( context ) {\\n\\treturn context && typeof context.getElementsByTagName !== \\\"undefined\\\" && context;\\n}\\n\\n// Expose support vars for convenience\\nsupport = Sizzle.support = {};\\n\\n/**\\n * Detects XML nodes\\n * @param {Element|Object} elem An element or a document\\n * @returns {Boolean} True iff elem is a non-HTML XML node\\n */\\nisXML = Sizzle.isXML = function( elem ) {\\n\\tvar namespace = elem.namespaceURI,\\n\\t\\tdocElem = ( elem.ownerDocument || elem ).documentElement;\\n\\n\\t// Support: IE <=8\\n\\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\\n\\t// https://bugs.jquery.com/ticket/4833\\n\\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \\\"HTML\\\" );\\n};\\n\\n/**\\n * Sets document-related variables once based on the current document\\n * @param {Element|Object} [doc] An element or document object to use to set the document\\n * @returns {Object} Returns the current document\\n */\\nsetDocument = Sizzle.setDocument = function( node ) {\\n\\tvar hasCompare, subWindow,\\n\\t\\tdoc = node ? node.ownerDocument || node : preferredDoc;\\n\\n\\t// Return early if doc is invalid or already selected\\n\\t// Support: IE 11+, Edge 17 - 18+\\n\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t// two documents; shallow comparisons work.\\n\\t// eslint-disable-next-line eqeqeq\\n\\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\\n\\t\\treturn document;\\n\\t}\\n\\n\\t// Update global variables\\n\\tdocument = doc;\\n\\tdocElem = document.documentElement;\\n\\tdocumentIsHTML = !isXML( document );\\n\\n\\t// Support: IE 9 - 11+, Edge 12 - 18+\\n\\t// Accessing iframe documents after unload throws \\\"permission denied\\\" errors (jQuery #13936)\\n\\t// Support: IE 11+, Edge 17 - 18+\\n\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t// two documents; shallow comparisons work.\\n\\t// eslint-disable-next-line eqeqeq\\n\\tif ( preferredDoc != document &&\\n\\t\\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\\n\\n\\t\\t// Support: IE 11, Edge\\n\\t\\tif ( subWindow.addEventListener ) {\\n\\t\\t\\tsubWindow.addEventListener( \\\"unload\\\", unloadHandler, false );\\n\\n\\t\\t// Support: IE 9 - 10 only\\n\\t\\t} else if ( subWindow.attachEvent ) {\\n\\t\\t\\tsubWindow.attachEvent( \\\"onunload\\\", unloadHandler );\\n\\t\\t}\\n\\t}\\n\\n\\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\\n\\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\\n\\t// IE/Edge & older browsers don't support the :scope pseudo-class.\\n\\t// Support: Safari 6.0 only\\n\\t// Safari 6.0 supports :scope but it's an alias of :root there.\\n\\tsupport.scope = assert( function( el ) {\\n\\t\\tdocElem.appendChild( el ).appendChild( document.createElement( \\\"div\\\" ) );\\n\\t\\treturn typeof el.querySelectorAll !== \\\"undefined\\\" &&\\n\\t\\t\\t!el.querySelectorAll( \\\":scope fieldset div\\\" ).length;\\n\\t} );\\n\\n\\t/* Attributes\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// Support: IE<8\\n\\t// Verify that getAttribute really returns attributes and not properties\\n\\t// (excepting IE8 booleans)\\n\\tsupport.attributes = assert( function( el ) {\\n\\t\\tel.className = \\\"i\\\";\\n\\t\\treturn !el.getAttribute( \\\"className\\\" );\\n\\t} );\\n\\n\\t/* getElement(s)By*\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// Check if getElementsByTagName(\\\"*\\\") returns only elements\\n\\tsupport.getElementsByTagName = assert( function( el ) {\\n\\t\\tel.appendChild( document.createComment( \\\"\\\" ) );\\n\\t\\treturn !el.getElementsByTagName( \\\"*\\\" ).length;\\n\\t} );\\n\\n\\t// Support: IE<9\\n\\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\\n\\n\\t// Support: IE<10\\n\\t// Check if getElementById returns elements by name\\n\\t// The broken getElementById methods don't pick up programmatically-set names,\\n\\t// so use a roundabout getElementsByName test\\n\\tsupport.getById = assert( function( el ) {\\n\\t\\tdocElem.appendChild( el ).id = expando;\\n\\t\\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\\n\\t} );\\n\\n\\t// ID filter and find\\n\\tif ( support.getById ) {\\n\\t\\tExpr.filter[ \\\"ID\\\" ] = function( id ) {\\n\\t\\t\\tvar attrId = id.replace( runescape, funescape );\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\treturn elem.getAttribute( \\\"id\\\" ) === attrId;\\n\\t\\t\\t};\\n\\t\\t};\\n\\t\\tExpr.find[ \\\"ID\\\" ] = function( id, context ) {\\n\\t\\t\\tif ( typeof context.getElementById !== \\\"undefined\\\" && documentIsHTML ) {\\n\\t\\t\\t\\tvar elem = context.getElementById( id );\\n\\t\\t\\t\\treturn elem ? [ elem ] : [];\\n\\t\\t\\t}\\n\\t\\t};\\n\\t} else {\\n\\t\\tExpr.filter[ \\\"ID\\\" ] =  function( id ) {\\n\\t\\t\\tvar attrId = id.replace( runescape, funescape );\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\tvar node = typeof elem.getAttributeNode !== \\\"undefined\\\" &&\\n\\t\\t\\t\\t\\telem.getAttributeNode( \\\"id\\\" );\\n\\t\\t\\t\\treturn node && node.value === attrId;\\n\\t\\t\\t};\\n\\t\\t};\\n\\n\\t\\t// Support: IE 6 - 7 only\\n\\t\\t// getElementById is not reliable as a find shortcut\\n\\t\\tExpr.find[ \\\"ID\\\" ] = function( id, context ) {\\n\\t\\t\\tif ( typeof context.getElementById !== \\\"undefined\\\" && documentIsHTML ) {\\n\\t\\t\\t\\tvar node, i, elems,\\n\\t\\t\\t\\t\\telem = context.getElementById( id );\\n\\n\\t\\t\\t\\tif ( elem ) {\\n\\n\\t\\t\\t\\t\\t// Verify the id attribute\\n\\t\\t\\t\\t\\tnode = elem.getAttributeNode( \\\"id\\\" );\\n\\t\\t\\t\\t\\tif ( node && node.value === id ) {\\n\\t\\t\\t\\t\\t\\treturn [ elem ];\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Fall back on getElementsByName\\n\\t\\t\\t\\t\\telems = context.getElementsByName( id );\\n\\t\\t\\t\\t\\ti = 0;\\n\\t\\t\\t\\t\\twhile ( ( elem = elems[ i++ ] ) ) {\\n\\t\\t\\t\\t\\t\\tnode = elem.getAttributeNode( \\\"id\\\" );\\n\\t\\t\\t\\t\\t\\tif ( node && node.value === id ) {\\n\\t\\t\\t\\t\\t\\t\\treturn [ elem ];\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn [];\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n\\n\\t// Tag\\n\\tExpr.find[ \\\"TAG\\\" ] = support.getElementsByTagName ?\\n\\t\\tfunction( tag, context ) {\\n\\t\\t\\tif ( typeof context.getElementsByTagName !== \\\"undefined\\\" ) {\\n\\t\\t\\t\\treturn context.getElementsByTagName( tag );\\n\\n\\t\\t\\t// DocumentFragment nodes don't have gEBTN\\n\\t\\t\\t} else if ( support.qsa ) {\\n\\t\\t\\t\\treturn context.querySelectorAll( tag );\\n\\t\\t\\t}\\n\\t\\t} :\\n\\n\\t\\tfunction( tag, context ) {\\n\\t\\t\\tvar elem,\\n\\t\\t\\t\\ttmp = [],\\n\\t\\t\\t\\ti = 0,\\n\\n\\t\\t\\t\\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\\n\\t\\t\\t\\tresults = context.getElementsByTagName( tag );\\n\\n\\t\\t\\t// Filter out possible comments\\n\\t\\t\\tif ( tag === \\\"*\\\" ) {\\n\\t\\t\\t\\twhile ( ( elem = results[ i++ ] ) ) {\\n\\t\\t\\t\\t\\tif ( elem.nodeType === 1 ) {\\n\\t\\t\\t\\t\\t\\ttmp.push( elem );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn tmp;\\n\\t\\t\\t}\\n\\t\\t\\treturn results;\\n\\t\\t};\\n\\n\\t// Class\\n\\tExpr.find[ \\\"CLASS\\\" ] = support.getElementsByClassName && function( className, context ) {\\n\\t\\tif ( typeof context.getElementsByClassName !== \\\"undefined\\\" && documentIsHTML ) {\\n\\t\\t\\treturn context.getElementsByClassName( className );\\n\\t\\t}\\n\\t};\\n\\n\\t/* QSA/matchesSelector\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// QSA and matchesSelector support\\n\\n\\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\\n\\trbuggyMatches = [];\\n\\n\\t// qSa(:focus) reports false when true (Chrome 21)\\n\\t// We allow this because of a bug in IE8/9 that throws an error\\n\\t// whenever `document.activeElement` is accessed on an iframe\\n\\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\\n\\t// See https://bugs.jquery.com/ticket/13378\\n\\trbuggyQSA = [];\\n\\n\\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\\n\\n\\t\\t// Build QSA regex\\n\\t\\t// Regex strategy adopted from Diego Perini\\n\\t\\tassert( function( el ) {\\n\\n\\t\\t\\tvar input;\\n\\n\\t\\t\\t// Select is set to empty string on purpose\\n\\t\\t\\t// This is to test IE's treatment of not explicitly\\n\\t\\t\\t// setting a boolean content attribute,\\n\\t\\t\\t// since its presence should be enough\\n\\t\\t\\t// https://bugs.jquery.com/ticket/12359\\n\\t\\t\\tdocElem.appendChild( el ).innerHTML = \\\"<a id='\\\" + expando + \\\"'></a>\\\" +\\n\\t\\t\\t\\t\\\"<select id='\\\" + expando + \\\"-\\\\r\\\\\\\\' msallowcapture=''>\\\" +\\n\\t\\t\\t\\t\\\"<option selected=''></option></select>\\\";\\n\\n\\t\\t\\t// Support: IE8, Opera 11-12.16\\n\\t\\t\\t// Nothing should be selected when empty strings follow ^= or $= or *=\\n\\t\\t\\t// The test attribute must be unknown in Opera but \\\"safe\\\" for WinRT\\n\\t\\t\\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\\n\\t\\t\\tif ( el.querySelectorAll( \\\"[msallowcapture^='']\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"[*^$]=\\\" + whitespace + \\\"*(?:''|\\\\\\\"\\\\\\\")\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: IE8\\n\\t\\t\\t// Boolean attributes and \\\"value\\\" are not treated correctly\\n\\t\\t\\tif ( !el.querySelectorAll( \\\"[selected]\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"\\\\\\\\[\\\" + whitespace + \\\"*(?:value|\\\" + booleans + \\\")\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\\n\\t\\t\\tif ( !el.querySelectorAll( \\\"[id~=\\\" + expando + \\\"-]\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"~=\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: IE 11+, Edge 15 - 18+\\n\\t\\t\\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\\n\\t\\t\\t// Adding a temporary attribute to the document before the selection works\\n\\t\\t\\t// around the issue.\\n\\t\\t\\t// Interestingly, IE 10 & older don't seem to have the issue.\\n\\t\\t\\tinput = document.createElement( \\\"input\\\" );\\n\\t\\t\\tinput.setAttribute( \\\"name\\\", \\\"\\\" );\\n\\t\\t\\tel.appendChild( input );\\n\\t\\t\\tif ( !el.querySelectorAll( \\\"[name='']\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"\\\\\\\\[\\\" + whitespace + \\\"*name\\\" + whitespace + \\\"*=\\\" +\\n\\t\\t\\t\\t\\twhitespace + \\\"*(?:''|\\\\\\\"\\\\\\\")\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Webkit/Opera - :checked should return selected option elements\\n\\t\\t\\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\\n\\t\\t\\t// IE8 throws error here and will not see later tests\\n\\t\\t\\tif ( !el.querySelectorAll( \\\":checked\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\":checked\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: Safari 8+, iOS 8+\\n\\t\\t\\t// https://bugs.webkit.org/show_bug.cgi?id=136851\\n\\t\\t\\t// In-page `selector#id sibling-combinator selector` fails\\n\\t\\t\\tif ( !el.querySelectorAll( \\\"a#\\\" + expando + \\\"+*\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\".#.+[+~]\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: Firefox <=3.6 - 5 only\\n\\t\\t\\t// Old Firefox doesn't throw on a badly-escaped identifier.\\n\\t\\t\\tel.querySelectorAll( \\\"\\\\\\\\\\\\f\\\" );\\n\\t\\t\\trbuggyQSA.push( \\\"[\\\\\\\\r\\\\\\\\n\\\\\\\\f]\\\" );\\n\\t\\t} );\\n\\n\\t\\tassert( function( el ) {\\n\\t\\t\\tel.innerHTML = \\\"<a href='' disabled='disabled'></a>\\\" +\\n\\t\\t\\t\\t\\\"<select disabled='disabled'><option/></select>\\\";\\n\\n\\t\\t\\t// Support: Windows 8 Native Apps\\n\\t\\t\\t// The type and name attributes are restricted during .innerHTML assignment\\n\\t\\t\\tvar input = document.createElement( \\\"input\\\" );\\n\\t\\t\\tinput.setAttribute( \\\"type\\\", \\\"hidden\\\" );\\n\\t\\t\\tel.appendChild( input ).setAttribute( \\\"name\\\", \\\"D\\\" );\\n\\n\\t\\t\\t// Support: IE8\\n\\t\\t\\t// Enforce case-sensitivity of name attribute\\n\\t\\t\\tif ( el.querySelectorAll( \\\"[name=d]\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"name\\\" + whitespace + \\\"*[*^$|!~]?=\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\\n\\t\\t\\t// IE8 throws error here and will not see later tests\\n\\t\\t\\tif ( el.querySelectorAll( \\\":enabled\\\" ).length !== 2 ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\":enabled\\\", \\\":disabled\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: IE9-11+\\n\\t\\t\\t// IE's :disabled selector does not pick up the children of disabled fieldsets\\n\\t\\t\\tdocElem.appendChild( el ).disabled = true;\\n\\t\\t\\tif ( el.querySelectorAll( \\\":disabled\\\" ).length !== 2 ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\":enabled\\\", \\\":disabled\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: Opera 10 - 11 only\\n\\t\\t\\t// Opera 10-11 does not throw on post-comma invalid pseudos\\n\\t\\t\\tel.querySelectorAll( \\\"*,:x\\\" );\\n\\t\\t\\trbuggyQSA.push( \\\",.*:\\\" );\\n\\t\\t} );\\n\\t}\\n\\n\\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\\n\\t\\tdocElem.webkitMatchesSelector ||\\n\\t\\tdocElem.mozMatchesSelector ||\\n\\t\\tdocElem.oMatchesSelector ||\\n\\t\\tdocElem.msMatchesSelector ) ) ) ) {\\n\\n\\t\\tassert( function( el ) {\\n\\n\\t\\t\\t// Check to see if it's possible to do matchesSelector\\n\\t\\t\\t// on a disconnected node (IE 9)\\n\\t\\t\\tsupport.disconnectedMatch = matches.call( el, \\\"*\\\" );\\n\\n\\t\\t\\t// This should fail with an exception\\n\\t\\t\\t// Gecko does not error, returns false instead\\n\\t\\t\\tmatches.call( el, \\\"[s!='']:x\\\" );\\n\\t\\t\\trbuggyMatches.push( \\\"!=\\\", pseudos );\\n\\t\\t} );\\n\\t}\\n\\n\\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \\\"|\\\" ) );\\n\\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \\\"|\\\" ) );\\n\\n\\t/* Contains\\n\\t---------------------------------------------------------------------- */\\n\\thasCompare = rnative.test( docElem.compareDocumentPosition );\\n\\n\\t// Element contains another\\n\\t// Purposefully self-exclusive\\n\\t// As in, an element does not contain itself\\n\\tcontains = hasCompare || rnative.test( docElem.contains ) ?\\n\\t\\tfunction( a, b ) {\\n\\t\\t\\tvar adown = a.nodeType === 9 ? a.documentElement : a,\\n\\t\\t\\t\\tbup = b && b.parentNode;\\n\\t\\t\\treturn a === bup || !!( bup && bup.nodeType === 1 && (\\n\\t\\t\\t\\tadown.contains ?\\n\\t\\t\\t\\t\\tadown.contains( bup ) :\\n\\t\\t\\t\\t\\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\\n\\t\\t\\t) );\\n\\t\\t} :\\n\\t\\tfunction( a, b ) {\\n\\t\\t\\tif ( b ) {\\n\\t\\t\\t\\twhile ( ( b = b.parentNode ) ) {\\n\\t\\t\\t\\t\\tif ( b === a ) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t};\\n\\n\\t/* Sorting\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// Document order sorting\\n\\tsortOrder = hasCompare ?\\n\\tfunction( a, b ) {\\n\\n\\t\\t// Flag for duplicate removal\\n\\t\\tif ( a === b ) {\\n\\t\\t\\thasDuplicate = true;\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\n\\t\\t// Sort on method existence if only one input has compareDocumentPosition\\n\\t\\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\\n\\t\\tif ( compare ) {\\n\\t\\t\\treturn compare;\\n\\t\\t}\\n\\n\\t\\t// Calculate position if both inputs belong to the same document\\n\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t// two documents; shallow comparisons work.\\n\\t\\t// eslint-disable-next-line eqeqeq\\n\\t\\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\\n\\t\\t\\ta.compareDocumentPosition( b ) :\\n\\n\\t\\t\\t// Otherwise we know they are disconnected\\n\\t\\t\\t1;\\n\\n\\t\\t// Disconnected nodes\\n\\t\\tif ( compare & 1 ||\\n\\t\\t\\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\\n\\n\\t\\t\\t// Choose the first element that is related to our preferred document\\n\\t\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t\\t// two documents; shallow comparisons work.\\n\\t\\t\\t// eslint-disable-next-line eqeqeq\\n\\t\\t\\tif ( a == document || a.ownerDocument == preferredDoc &&\\n\\t\\t\\t\\tcontains( preferredDoc, a ) ) {\\n\\t\\t\\t\\treturn -1;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t\\t// two documents; shallow comparisons work.\\n\\t\\t\\t// eslint-disable-next-line eqeqeq\\n\\t\\t\\tif ( b == document || b.ownerDocument == preferredDoc &&\\n\\t\\t\\t\\tcontains( preferredDoc, b ) ) {\\n\\t\\t\\t\\treturn 1;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Maintain original order\\n\\t\\t\\treturn sortInput ?\\n\\t\\t\\t\\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\\n\\t\\t\\t\\t0;\\n\\t\\t}\\n\\n\\t\\treturn compare & 4 ? -1 : 1;\\n\\t} :\\n\\tfunction( a, b ) {\\n\\n\\t\\t// Exit early if the nodes are identical\\n\\t\\tif ( a === b ) {\\n\\t\\t\\thasDuplicate = true;\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\n\\t\\tvar cur,\\n\\t\\t\\ti = 0,\\n\\t\\t\\taup = a.parentNode,\\n\\t\\t\\tbup = b.parentNode,\\n\\t\\t\\tap = [ a ],\\n\\t\\t\\tbp = [ b ];\\n\\n\\t\\t// Parentless nodes are either documents or disconnected\\n\\t\\tif ( !aup || !bup ) {\\n\\n\\t\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t\\t// two documents; shallow comparisons work.\\n\\t\\t\\t/* eslint-disable eqeqeq */\\n\\t\\t\\treturn a == document ? -1 :\\n\\t\\t\\t\\tb == document ? 1 :\\n\\t\\t\\t\\t/* eslint-enable eqeqeq */\\n\\t\\t\\t\\taup ? -1 :\\n\\t\\t\\t\\tbup ? 1 :\\n\\t\\t\\t\\tsortInput ?\\n\\t\\t\\t\\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\\n\\t\\t\\t\\t0;\\n\\n\\t\\t// If the nodes are siblings, we can do a quick check\\n\\t\\t} else if ( aup === bup ) {\\n\\t\\t\\treturn siblingCheck( a, b );\\n\\t\\t}\\n\\n\\t\\t// Otherwise we need full lists of their ancestors for comparison\\n\\t\\tcur = a;\\n\\t\\twhile ( ( cur = cur.parentNode ) ) {\\n\\t\\t\\tap.unshift( cur );\\n\\t\\t}\\n\\t\\tcur = b;\\n\\t\\twhile ( ( cur = cur.parentNode ) ) {\\n\\t\\t\\tbp.unshift( cur );\\n\\t\\t}\\n\\n\\t\\t// Walk down the tree looking for a discrepancy\\n\\t\\twhile ( ap[ i ] === bp[ i ] ) {\\n\\t\\t\\ti++;\\n\\t\\t}\\n\\n\\t\\treturn i ?\\n\\n\\t\\t\\t// Do a sibling check if the nodes have a common ancestor\\n\\t\\t\\tsiblingCheck( ap[ i ], bp[ i ] ) :\\n\\n\\t\\t\\t// Otherwise nodes in our document sort first\\n\\t\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t\\t// two documents; shallow comparisons work.\\n\\t\\t\\t/* eslint-disable eqeqeq */\\n\\t\\t\\tap[ i ] == preferredDoc ? -1 :\\n\\t\\t\\tbp[ i ] == preferredDoc ? 1 :\\n\\t\\t\\t/* eslint-enable eqeqeq */\\n\\t\\t\\t0;\\n\\t};\\n\\n\\treturn document;\\n};\\n\\nSizzle.matches = function( expr, elements ) {\\n\\treturn Sizzle( expr, null, null, elements );\\n};\\n\\nSizzle.matchesSelector = function( elem, expr ) {\\n\\tsetDocument( elem );\\n\\n\\tif ( support.matchesSelector && documentIsHTML &&\\n\\t\\t!nonnativeSelectorCache[ expr + \\\" \\\" ] &&\\n\\t\\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\\n\\t\\t( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {\\n\\n\\t\\ttry {\\n\\t\\t\\tvar ret = matches.call( elem, expr );\\n\\n\\t\\t\\t// IE 9's matchesSelector returns false on disconnected nodes\\n\\t\\t\\tif ( ret || support.disconnectedMatch ||\\n\\n\\t\\t\\t\\t// As well, disconnected nodes are said to be in a document\\n\\t\\t\\t\\t// fragment in IE 9\\n\\t\\t\\t\\telem.document && elem.document.nodeType !== 11 ) {\\n\\t\\t\\t\\treturn ret;\\n\\t\\t\\t}\\n\\t\\t} catch ( e ) {\\n\\t\\t\\tnonnativeSelectorCache( expr, true );\\n\\t\\t}\\n\\t}\\n\\n\\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\\n};\\n\\nSizzle.contains = function( context, elem ) {\\n\\n\\t// Set document vars if needed\\n\\t// Support: IE 11+, Edge 17 - 18+\\n\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t// two documents; shallow comparisons work.\\n\\t// eslint-disable-next-line eqeqeq\\n\\tif ( ( context.ownerDocument || context ) != document ) {\\n\\t\\tsetDocument( context );\\n\\t}\\n\\treturn contains( context, elem );\\n};\\n\\nSizzle.attr = function( elem, name ) {\\n\\n\\t// Set document vars if needed\\n\\t// Support: IE 11+, Edge 17 - 18+\\n\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t// two documents; shallow comparisons work.\\n\\t// eslint-disable-next-line eqeqeq\\n\\tif ( ( elem.ownerDocument || elem ) != document ) {\\n\\t\\tsetDocument( elem );\\n\\t}\\n\\n\\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\\n\\n\\t\\t// Don't get fooled by Object.prototype properties (jQuery #13807)\\n\\t\\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\\n\\t\\t\\tfn( elem, name, !documentIsHTML ) :\\n\\t\\t\\tundefined;\\n\\n\\treturn val !== undefined ?\\n\\t\\tval :\\n\\t\\tsupport.attributes || !documentIsHTML ?\\n\\t\\t\\telem.getAttribute( name ) :\\n\\t\\t\\t( val = elem.getAttributeNode( name ) ) && val.specified ?\\n\\t\\t\\t\\tval.value :\\n\\t\\t\\t\\tnull;\\n};\\n\\nSizzle.escape = function( sel ) {\\n\\treturn ( sel + \\\"\\\" ).replace( rcssescape, fcssescape );\\n};\\n\\nSizzle.error = function( msg ) {\\n\\tthrow new Error( \\\"Syntax error, unrecognized expression: \\\" + msg );\\n};\\n\\n/**\\n * Document sorting and removing duplicates\\n * @param {ArrayLike} results\\n */\\nSizzle.uniqueSort = function( results ) {\\n\\tvar elem,\\n\\t\\tduplicates = [],\\n\\t\\tj = 0,\\n\\t\\ti = 0;\\n\\n\\t// Unless we *know* we can detect duplicates, assume their presence\\n\\thasDuplicate = !support.detectDuplicates;\\n\\tsortInput = !support.sortStable && results.slice( 0 );\\n\\tresults.sort( sortOrder );\\n\\n\\tif ( hasDuplicate ) {\\n\\t\\twhile ( ( elem = results[ i++ ] ) ) {\\n\\t\\t\\tif ( elem === results[ i ] ) {\\n\\t\\t\\t\\tj = duplicates.push( i );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\twhile ( j-- ) {\\n\\t\\t\\tresults.splice( duplicates[ j ], 1 );\\n\\t\\t}\\n\\t}\\n\\n\\t// Clear input after sorting to release objects\\n\\t// See https://github.com/jquery/sizzle/pull/225\\n\\tsortInput = null;\\n\\n\\treturn results;\\n};\\n\\n/**\\n * Utility function for retrieving the text value of an array of DOM nodes\\n * @param {Array|Element} elem\\n */\\ngetText = Sizzle.getText = function( elem ) {\\n\\tvar node,\\n\\t\\tret = \\\"\\\",\\n\\t\\ti = 0,\\n\\t\\tnodeType = elem.nodeType;\\n\\n\\tif ( !nodeType ) {\\n\\n\\t\\t// If no nodeType, this is expected to be an array\\n\\t\\twhile ( ( node = elem[ i++ ] ) ) {\\n\\n\\t\\t\\t// Do not traverse comment nodes\\n\\t\\t\\tret += getText( node );\\n\\t\\t}\\n\\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\\n\\n\\t\\t// Use textContent for elements\\n\\t\\t// innerText usage removed for consistency of new lines (jQuery #11153)\\n\\t\\tif ( typeof elem.textContent === \\\"string\\\" ) {\\n\\t\\t\\treturn elem.textContent;\\n\\t\\t} else {\\n\\n\\t\\t\\t// Traverse its children\\n\\t\\t\\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\\n\\t\\t\\t\\tret += getText( elem );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else if ( nodeType === 3 || nodeType === 4 ) {\\n\\t\\treturn elem.nodeValue;\\n\\t}\\n\\n\\t// Do not include comment or processing instruction nodes\\n\\n\\treturn ret;\\n};\\n\\nExpr = Sizzle.selectors = {\\n\\n\\t// Can be adjusted by the user\\n\\tcacheLength: 50,\\n\\n\\tcreatePseudo: markFunction,\\n\\n\\tmatch: matchExpr,\\n\\n\\tattrHandle: {},\\n\\n\\tfind: {},\\n\\n\\trelative: {\\n\\t\\t\\\">\\\": { dir: \\\"parentNode\\\", first: true },\\n\\t\\t\\\" \\\": { dir: \\\"parentNode\\\" },\\n\\t\\t\\\"+\\\": { dir: \\\"previousSibling\\\", first: true },\\n\\t\\t\\\"~\\\": { dir: \\\"previousSibling\\\" }\\n\\t},\\n\\n\\tpreFilter: {\\n\\t\\t\\\"ATTR\\\": function( match ) {\\n\\t\\t\\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\\n\\n\\t\\t\\t// Move the given value to match[3] whether quoted or unquoted\\n\\t\\t\\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\\n\\t\\t\\t\\tmatch[ 5 ] || \\\"\\\" ).replace( runescape, funescape );\\n\\n\\t\\t\\tif ( match[ 2 ] === \\\"~=\\\" ) {\\n\\t\\t\\t\\tmatch[ 3 ] = \\\" \\\" + match[ 3 ] + \\\" \\\";\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn match.slice( 0, 4 );\\n\\t\\t},\\n\\n\\t\\t\\\"CHILD\\\": function( match ) {\\n\\n\\t\\t\\t/* matches from matchExpr[\\\"CHILD\\\"]\\n\\t\\t\\t\\t1 type (only|nth|...)\\n\\t\\t\\t\\t2 what (child|of-type)\\n\\t\\t\\t\\t3 argument (even|odd|\\\\d*|\\\\d*n([+-]\\\\d+)?|...)\\n\\t\\t\\t\\t4 xn-component of xn+y argument ([+-]?\\\\d*n|)\\n\\t\\t\\t\\t5 sign of xn-component\\n\\t\\t\\t\\t6 x of xn-component\\n\\t\\t\\t\\t7 sign of y-component\\n\\t\\t\\t\\t8 y of y-component\\n\\t\\t\\t*/\\n\\t\\t\\tmatch[ 1 ] = match[ 1 ].toLowerCase();\\n\\n\\t\\t\\tif ( match[ 1 ].slice( 0, 3 ) === \\\"nth\\\" ) {\\n\\n\\t\\t\\t\\t// nth-* requires argument\\n\\t\\t\\t\\tif ( !match[ 3 ] ) {\\n\\t\\t\\t\\t\\tSizzle.error( match[ 0 ] );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// numeric x and y parameters for Expr.filter.CHILD\\n\\t\\t\\t\\t// remember that false/true cast respectively to 0/1\\n\\t\\t\\t\\tmatch[ 4 ] = +( match[ 4 ] ?\\n\\t\\t\\t\\t\\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\\n\\t\\t\\t\\t\\t2 * ( match[ 3 ] === \\\"even\\\" || match[ 3 ] === \\\"odd\\\" ) );\\n\\t\\t\\t\\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \\\"odd\\\" );\\n\\n\\t\\t\\t\\t// other types prohibit arguments\\n\\t\\t\\t} else if ( match[ 3 ] ) {\\n\\t\\t\\t\\tSizzle.error( match[ 0 ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn match;\\n\\t\\t},\\n\\n\\t\\t\\\"PSEUDO\\\": function( match ) {\\n\\t\\t\\tvar excess,\\n\\t\\t\\t\\tunquoted = !match[ 6 ] && match[ 2 ];\\n\\n\\t\\t\\tif ( matchExpr[ \\\"CHILD\\\" ].test( match[ 0 ] ) ) {\\n\\t\\t\\t\\treturn null;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Accept quoted arguments as-is\\n\\t\\t\\tif ( match[ 3 ] ) {\\n\\t\\t\\t\\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \\\"\\\";\\n\\n\\t\\t\\t// Strip excess characters from unquoted arguments\\n\\t\\t\\t} else if ( unquoted && rpseudo.test( unquoted ) &&\\n\\n\\t\\t\\t\\t// Get excess from tokenize (recursively)\\n\\t\\t\\t\\t( excess = tokenize( unquoted, true ) ) &&\\n\\n\\t\\t\\t\\t// advance to the next closing parenthesis\\n\\t\\t\\t\\t( excess = unquoted.indexOf( \\\")\\\", unquoted.length - excess ) - unquoted.length ) ) {\\n\\n\\t\\t\\t\\t// excess is a negative index\\n\\t\\t\\t\\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\\n\\t\\t\\t\\tmatch[ 2 ] = unquoted.slice( 0, excess );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Return only captures needed by the pseudo filter method (type and argument)\\n\\t\\t\\treturn match.slice( 0, 3 );\\n\\t\\t}\\n\\t},\\n\\n\\tfilter: {\\n\\n\\t\\t\\\"TAG\\\": function( nodeNameSelector ) {\\n\\t\\t\\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\\n\\t\\t\\treturn nodeNameSelector === \\\"*\\\" ?\\n\\t\\t\\t\\tfunction() {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t} :\\n\\t\\t\\t\\tfunction( elem ) {\\n\\t\\t\\t\\t\\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\\n\\t\\t\\t\\t};\\n\\t\\t},\\n\\n\\t\\t\\\"CLASS\\\": function( className ) {\\n\\t\\t\\tvar pattern = classCache[ className + \\\" \\\" ];\\n\\n\\t\\t\\treturn pattern ||\\n\\t\\t\\t\\t( pattern = new RegExp( \\\"(^|\\\" + whitespace +\\n\\t\\t\\t\\t\\t\\\")\\\" + className + \\\"(\\\" + whitespace + \\\"|$)\\\" ) ) && classCache(\\n\\t\\t\\t\\t\\t\\tclassName, function( elem ) {\\n\\t\\t\\t\\t\\t\\t\\treturn pattern.test(\\n\\t\\t\\t\\t\\t\\t\\t\\ttypeof elem.className === \\\"string\\\" && elem.className ||\\n\\t\\t\\t\\t\\t\\t\\t\\ttypeof elem.getAttribute !== \\\"undefined\\\" &&\\n\\t\\t\\t\\t\\t\\t\\t\\t\\telem.getAttribute( \\\"class\\\" ) ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\\"\\\"\\n\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t} );\\n\\t\\t},\\n\\n\\t\\t\\\"ATTR\\\": function( name, operator, check ) {\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\tvar result = Sizzle.attr( elem, name );\\n\\n\\t\\t\\t\\tif ( result == null ) {\\n\\t\\t\\t\\t\\treturn operator === \\\"!=\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ( !operator ) {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tresult += \\\"\\\";\\n\\n\\t\\t\\t\\t/* eslint-disable max-len */\\n\\n\\t\\t\\t\\treturn operator === \\\"=\\\" ? result === check :\\n\\t\\t\\t\\t\\toperator === \\\"!=\\\" ? result !== check :\\n\\t\\t\\t\\t\\toperator === \\\"^=\\\" ? check && result.indexOf( check ) === 0 :\\n\\t\\t\\t\\t\\toperator === \\\"*=\\\" ? check && result.indexOf( check ) > -1 :\\n\\t\\t\\t\\t\\toperator === \\\"$=\\\" ? check && result.slice( -check.length ) === check :\\n\\t\\t\\t\\t\\toperator === \\\"~=\\\" ? ( \\\" \\\" + result.replace( rwhitespace, \\\" \\\" ) + \\\" \\\" ).indexOf( check ) > -1 :\\n\\t\\t\\t\\t\\toperator === \\\"|=\\\" ? result === check || result.slice( 0, check.length + 1 ) === check + \\\"-\\\" :\\n\\t\\t\\t\\t\\tfalse;\\n\\t\\t\\t\\t/* eslint-enable max-len */\\n\\n\\t\\t\\t};\\n\\t\\t},\\n\\n\\t\\t\\\"CHILD\\\": function( type, what, _argument, first, last ) {\\n\\t\\t\\tvar simple = type.slice( 0, 3 ) !== \\\"nth\\\",\\n\\t\\t\\t\\tforward = type.slice( -4 ) !== \\\"last\\\",\\n\\t\\t\\t\\tofType = what === \\\"of-type\\\";\\n\\n\\t\\t\\treturn first === 1 && last === 0 ?\\n\\n\\t\\t\\t\\t// Shortcut for :nth-*(n)\\n\\t\\t\\t\\tfunction( elem ) {\\n\\t\\t\\t\\t\\treturn !!elem.parentNode;\\n\\t\\t\\t\\t} :\\n\\n\\t\\t\\t\\tfunction( elem, _context, xml ) {\\n\\t\\t\\t\\t\\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\\n\\t\\t\\t\\t\\t\\tdir = simple !== forward ? \\\"nextSibling\\\" : \\\"previousSibling\\\",\\n\\t\\t\\t\\t\\t\\tparent = elem.parentNode,\\n\\t\\t\\t\\t\\t\\tname = ofType && elem.nodeName.toLowerCase(),\\n\\t\\t\\t\\t\\t\\tuseCache = !xml && !ofType,\\n\\t\\t\\t\\t\\t\\tdiff = false;\\n\\n\\t\\t\\t\\t\\tif ( parent ) {\\n\\n\\t\\t\\t\\t\\t\\t// :(first|last|only)-(child|of-type)\\n\\t\\t\\t\\t\\t\\tif ( simple ) {\\n\\t\\t\\t\\t\\t\\t\\twhile ( dir ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tnode = elem;\\n\\t\\t\\t\\t\\t\\t\\t\\twhile ( ( node = node[ dir ] ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( ofType ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeName.toLowerCase() === name :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeType === 1 ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Reverse direction for :only-* (if we haven't yet done so)\\n\\t\\t\\t\\t\\t\\t\\t\\tstart = dir = type === \\\"only\\\" && !start && \\\"nextSibling\\\";\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tstart = [ forward ? parent.firstChild : parent.lastChild ];\\n\\n\\t\\t\\t\\t\\t\\t// non-xml :nth-child(...) stores cache data on `parent`\\n\\t\\t\\t\\t\\t\\tif ( forward && useCache ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Seek `elem` from a previously-cached index\\n\\n\\t\\t\\t\\t\\t\\t\\t// ...in a gzip-friendly way\\n\\t\\t\\t\\t\\t\\t\\tnode = parent;\\n\\t\\t\\t\\t\\t\\t\\touterCache = node[ expando ] || ( node[ expando ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ node.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t( outerCache[ node.uniqueID ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t\\tcache = uniqueCache[ type ] || [];\\n\\t\\t\\t\\t\\t\\t\\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\\n\\t\\t\\t\\t\\t\\t\\tdiff = nodeIndex && cache[ 2 ];\\n\\t\\t\\t\\t\\t\\t\\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\\n\\n\\t\\t\\t\\t\\t\\t\\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Fallback to seeking `elem` from the start\\n\\t\\t\\t\\t\\t\\t\\t\\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// When found, cache indexes on `parent` and break\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( node.nodeType === 1 && ++diff && node === elem ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Use previously-cached element index if available\\n\\t\\t\\t\\t\\t\\t\\tif ( useCache ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// ...in a gzip-friendly way\\n\\t\\t\\t\\t\\t\\t\\t\\tnode = elem;\\n\\t\\t\\t\\t\\t\\t\\t\\touterCache = node[ expando ] || ( node[ expando ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ node.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t( outerCache[ node.uniqueID ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t\\t\\tcache = uniqueCache[ type ] || [];\\n\\t\\t\\t\\t\\t\\t\\t\\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\\n\\t\\t\\t\\t\\t\\t\\t\\tdiff = nodeIndex;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t// xml :nth-child(...)\\n\\t\\t\\t\\t\\t\\t\\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\\n\\t\\t\\t\\t\\t\\t\\tif ( diff === false ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Use the same loop as above to seek `elem` from the start\\n\\t\\t\\t\\t\\t\\t\\t\\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( ( ofType ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeName.toLowerCase() === name :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeType === 1 ) &&\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t++diff ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Cache the index of each encountered element\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( useCache ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\touterCache = node[ expando ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t( node[ expando ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ node.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t( outerCache[ node.uniqueID ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache[ type ] = [ dirruns, diff ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( node === elem ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// Incorporate the offset, then check against cycle size\\n\\t\\t\\t\\t\\t\\tdiff -= last;\\n\\t\\t\\t\\t\\t\\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\t},\\n\\n\\t\\t\\\"PSEUDO\\\": function( pseudo, argument ) {\\n\\n\\t\\t\\t// pseudo-class names are case-insensitive\\n\\t\\t\\t// http://www.w3.org/TR/selectors/#pseudo-classes\\n\\t\\t\\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\\n\\t\\t\\t// Remember that setFilters inherits from pseudos\\n\\t\\t\\tvar args,\\n\\t\\t\\t\\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\\n\\t\\t\\t\\t\\tSizzle.error( \\\"unsupported pseudo: \\\" + pseudo );\\n\\n\\t\\t\\t// The user may use createPseudo to indicate that\\n\\t\\t\\t// arguments are needed to create the filter function\\n\\t\\t\\t// just as Sizzle does\\n\\t\\t\\tif ( fn[ expando ] ) {\\n\\t\\t\\t\\treturn fn( argument );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// But maintain support for old signatures\\n\\t\\t\\tif ( fn.length > 1 ) {\\n\\t\\t\\t\\targs = [ pseudo, pseudo, \\\"\\\", argument ];\\n\\t\\t\\t\\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\\n\\t\\t\\t\\t\\tmarkFunction( function( seed, matches ) {\\n\\t\\t\\t\\t\\t\\tvar idx,\\n\\t\\t\\t\\t\\t\\t\\tmatched = fn( seed, argument ),\\n\\t\\t\\t\\t\\t\\t\\ti = matched.length;\\n\\t\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\t\\tidx = indexOf( seed, matched[ i ] );\\n\\t\\t\\t\\t\\t\\t\\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t} ) :\\n\\t\\t\\t\\t\\tfunction( elem ) {\\n\\t\\t\\t\\t\\t\\treturn fn( elem, 0, args );\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn fn;\\n\\t\\t}\\n\\t},\\n\\n\\tpseudos: {\\n\\n\\t\\t// Potentially complex pseudos\\n\\t\\t\\\"not\\\": markFunction( function( selector ) {\\n\\n\\t\\t\\t// Trim the selector passed to compile\\n\\t\\t\\t// to avoid treating leading and trailing\\n\\t\\t\\t// spaces as combinators\\n\\t\\t\\tvar input = [],\\n\\t\\t\\t\\tresults = [],\\n\\t\\t\\t\\tmatcher = compile( selector.replace( rtrim, \\\"$1\\\" ) );\\n\\n\\t\\t\\treturn matcher[ expando ] ?\\n\\t\\t\\t\\tmarkFunction( function( seed, matches, _context, xml ) {\\n\\t\\t\\t\\t\\tvar elem,\\n\\t\\t\\t\\t\\t\\tunmatched = matcher( seed, null, xml, [] ),\\n\\t\\t\\t\\t\\t\\ti = seed.length;\\n\\n\\t\\t\\t\\t\\t// Match elements unmatched by `matcher`\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\tif ( ( elem = unmatched[ i ] ) ) {\\n\\t\\t\\t\\t\\t\\t\\tseed[ i ] = !( matches[ i ] = elem );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} ) :\\n\\t\\t\\t\\tfunction( elem, _context, xml ) {\\n\\t\\t\\t\\t\\tinput[ 0 ] = elem;\\n\\t\\t\\t\\t\\tmatcher( input, null, xml, results );\\n\\n\\t\\t\\t\\t\\t// Don't keep the element (issue #299)\\n\\t\\t\\t\\t\\tinput[ 0 ] = null;\\n\\t\\t\\t\\t\\treturn !results.pop();\\n\\t\\t\\t\\t};\\n\\t\\t} ),\\n\\n\\t\\t\\\"has\\\": markFunction( function( selector ) {\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\treturn Sizzle( selector, elem ).length > 0;\\n\\t\\t\\t};\\n\\t\\t} ),\\n\\n\\t\\t\\\"contains\\\": markFunction( function( text ) {\\n\\t\\t\\ttext = text.replace( runescape, funescape );\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\\n\\t\\t\\t};\\n\\t\\t} ),\\n\\n\\t\\t// \\\"Whether an element is represented by a :lang() selector\\n\\t\\t// is based solely on the element's language value\\n\\t\\t// being equal to the identifier C,\\n\\t\\t// or beginning with the identifier C immediately followed by \\\"-\\\".\\n\\t\\t// The matching of C against the element's language value is performed case-insensitively.\\n\\t\\t// The identifier C does not have to be a valid language name.\\\"\\n\\t\\t// http://www.w3.org/TR/selectors/#lang-pseudo\\n\\t\\t\\\"lang\\\": markFunction( function( lang ) {\\n\\n\\t\\t\\t// lang value must be a valid identifier\\n\\t\\t\\tif ( !ridentifier.test( lang || \\\"\\\" ) ) {\\n\\t\\t\\t\\tSizzle.error( \\\"unsupported lang: \\\" + lang );\\n\\t\\t\\t}\\n\\t\\t\\tlang = lang.replace( runescape, funescape ).toLowerCase();\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\tvar elemLang;\\n\\t\\t\\t\\tdo {\\n\\t\\t\\t\\t\\tif ( ( elemLang = documentIsHTML ?\\n\\t\\t\\t\\t\\t\\telem.lang :\\n\\t\\t\\t\\t\\t\\telem.getAttribute( \\\"xml:lang\\\" ) || elem.getAttribute( \\\"lang\\\" ) ) ) {\\n\\n\\t\\t\\t\\t\\t\\telemLang = elemLang.toLowerCase();\\n\\t\\t\\t\\t\\t\\treturn elemLang === lang || elemLang.indexOf( lang + \\\"-\\\" ) === 0;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t};\\n\\t\\t} ),\\n\\n\\t\\t// Miscellaneous\\n\\t\\t\\\"target\\\": function( elem ) {\\n\\t\\t\\tvar hash = window.location && window.location.hash;\\n\\t\\t\\treturn hash && hash.slice( 1 ) === elem.id;\\n\\t\\t},\\n\\n\\t\\t\\\"root\\\": function( elem ) {\\n\\t\\t\\treturn elem === docElem;\\n\\t\\t},\\n\\n\\t\\t\\\"focus\\\": function( elem ) {\\n\\t\\t\\treturn elem === document.activeElement &&\\n\\t\\t\\t\\t( !document.hasFocus || document.hasFocus() ) &&\\n\\t\\t\\t\\t!!( elem.type || elem.href || ~elem.tabIndex );\\n\\t\\t},\\n\\n\\t\\t// Boolean properties\\n\\t\\t\\\"enabled\\\": createDisabledPseudo( false ),\\n\\t\\t\\\"disabled\\\": createDisabledPseudo( true ),\\n\\n\\t\\t\\\"checked\\\": function( elem ) {\\n\\n\\t\\t\\t// In CSS3, :checked should return both checked and selected elements\\n\\t\\t\\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\\n\\t\\t\\tvar nodeName = elem.nodeName.toLowerCase();\\n\\t\\t\\treturn ( nodeName === \\\"input\\\" && !!elem.checked ) ||\\n\\t\\t\\t\\t( nodeName === \\\"option\\\" && !!elem.selected );\\n\\t\\t},\\n\\n\\t\\t\\\"selected\\\": function( elem ) {\\n\\n\\t\\t\\t// Accessing this property makes selected-by-default\\n\\t\\t\\t// options in Safari work properly\\n\\t\\t\\tif ( elem.parentNode ) {\\n\\t\\t\\t\\t// eslint-disable-next-line no-unused-expressions\\n\\t\\t\\t\\telem.parentNode.selectedIndex;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn elem.selected === true;\\n\\t\\t},\\n\\n\\t\\t// Contents\\n\\t\\t\\\"empty\\\": function( elem ) {\\n\\n\\t\\t\\t// http://www.w3.org/TR/selectors/#empty-pseudo\\n\\t\\t\\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\\n\\t\\t\\t//   but not by others (comment: 8; processing instruction: 7; etc.)\\n\\t\\t\\t// nodeType < 6 works because attributes (2) do not appear as children\\n\\t\\t\\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\\n\\t\\t\\t\\tif ( elem.nodeType < 6 ) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn true;\\n\\t\\t},\\n\\n\\t\\t\\\"parent\\\": function( elem ) {\\n\\t\\t\\treturn !Expr.pseudos[ \\\"empty\\\" ]( elem );\\n\\t\\t},\\n\\n\\t\\t// Element/input types\\n\\t\\t\\\"header\\\": function( elem ) {\\n\\t\\t\\treturn rheader.test( elem.nodeName );\\n\\t\\t},\\n\\n\\t\\t\\\"input\\\": function( elem ) {\\n\\t\\t\\treturn rinputs.test( elem.nodeName );\\n\\t\\t},\\n\\n\\t\\t\\\"button\\\": function( elem ) {\\n\\t\\t\\tvar name = elem.nodeName.toLowerCase();\\n\\t\\t\\treturn name === \\\"input\\\" && elem.type === \\\"button\\\" || name === \\\"button\\\";\\n\\t\\t},\\n\\n\\t\\t\\\"text\\\": function( elem ) {\\n\\t\\t\\tvar attr;\\n\\t\\t\\treturn elem.nodeName.toLowerCase() === \\\"input\\\" &&\\n\\t\\t\\t\\telem.type === \\\"text\\\" &&\\n\\n\\t\\t\\t\\t// Support: IE<8\\n\\t\\t\\t\\t// New HTML5 attribute values (e.g., \\\"search\\\") appear with elem.type === \\\"text\\\"\\n\\t\\t\\t\\t( ( attr = elem.getAttribute( \\\"type\\\" ) ) == null ||\\n\\t\\t\\t\\t\\tattr.toLowerCase() === \\\"text\\\" );\\n\\t\\t},\\n\\n\\t\\t// Position-in-collection\\n\\t\\t\\\"first\\\": createPositionalPseudo( function() {\\n\\t\\t\\treturn [ 0 ];\\n\\t\\t} ),\\n\\n\\t\\t\\\"last\\\": createPositionalPseudo( function( _matchIndexes, length ) {\\n\\t\\t\\treturn [ length - 1 ];\\n\\t\\t} ),\\n\\n\\t\\t\\\"eq\\\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\\n\\t\\t\\treturn [ argument < 0 ? argument + length : argument ];\\n\\t\\t} ),\\n\\n\\t\\t\\\"even\\\": createPositionalPseudo( function( matchIndexes, length ) {\\n\\t\\t\\tvar i = 0;\\n\\t\\t\\tfor ( ; i < length; i += 2 ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t} ),\\n\\n\\t\\t\\\"odd\\\": createPositionalPseudo( function( matchIndexes, length ) {\\n\\t\\t\\tvar i = 1;\\n\\t\\t\\tfor ( ; i < length; i += 2 ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t} ),\\n\\n\\t\\t\\\"lt\\\": createPositionalPseudo( function( matchIndexes, length, argument ) {\\n\\t\\t\\tvar i = argument < 0 ?\\n\\t\\t\\t\\targument + length :\\n\\t\\t\\t\\targument > length ?\\n\\t\\t\\t\\t\\tlength :\\n\\t\\t\\t\\t\\targument;\\n\\t\\t\\tfor ( ; --i >= 0; ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t} ),\\n\\n\\t\\t\\\"gt\\\": createPositionalPseudo( function( matchIndexes, length, argument ) {\\n\\t\\t\\tvar i = argument < 0 ? argument + length : argument;\\n\\t\\t\\tfor ( ; ++i < length; ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t} )\\n\\t}\\n};\\n\\nExpr.pseudos[ \\\"nth\\\" ] = Expr.pseudos[ \\\"eq\\\" ];\\n\\n// Add button/input type pseudos\\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\\n\\tExpr.pseudos[ i ] = createInputPseudo( i );\\n}\\nfor ( i in { submit: true, reset: true } ) {\\n\\tExpr.pseudos[ i ] = createButtonPseudo( i );\\n}\\n\\n// Easy API for creating new setFilters\\nfunction setFilters() {}\\nsetFilters.prototype = Expr.filters = Expr.pseudos;\\nExpr.setFilters = new setFilters();\\n\\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\\n\\tvar matched, match, tokens, type,\\n\\t\\tsoFar, groups, preFilters,\\n\\t\\tcached = tokenCache[ selector + \\\" \\\" ];\\n\\n\\tif ( cached ) {\\n\\t\\treturn parseOnly ? 0 : cached.slice( 0 );\\n\\t}\\n\\n\\tsoFar = selector;\\n\\tgroups = [];\\n\\tpreFilters = Expr.preFilter;\\n\\n\\twhile ( soFar ) {\\n\\n\\t\\t// Comma and first run\\n\\t\\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\\n\\t\\t\\tif ( match ) {\\n\\n\\t\\t\\t\\t// Don't consume trailing commas as valid\\n\\t\\t\\t\\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\\n\\t\\t\\t}\\n\\t\\t\\tgroups.push( ( tokens = [] ) );\\n\\t\\t}\\n\\n\\t\\tmatched = false;\\n\\n\\t\\t// Combinators\\n\\t\\tif ( ( match = rcombinators.exec( soFar ) ) ) {\\n\\t\\t\\tmatched = match.shift();\\n\\t\\t\\ttokens.push( {\\n\\t\\t\\t\\tvalue: matched,\\n\\n\\t\\t\\t\\t// Cast descendant combinators to space\\n\\t\\t\\t\\ttype: match[ 0 ].replace( rtrim, \\\" \\\" )\\n\\t\\t\\t} );\\n\\t\\t\\tsoFar = soFar.slice( matched.length );\\n\\t\\t}\\n\\n\\t\\t// Filters\\n\\t\\tfor ( type in Expr.filter ) {\\n\\t\\t\\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\\n\\t\\t\\t\\t( match = preFilters[ type ]( match ) ) ) ) {\\n\\t\\t\\t\\tmatched = match.shift();\\n\\t\\t\\t\\ttokens.push( {\\n\\t\\t\\t\\t\\tvalue: matched,\\n\\t\\t\\t\\t\\ttype: type,\\n\\t\\t\\t\\t\\tmatches: match\\n\\t\\t\\t\\t} );\\n\\t\\t\\t\\tsoFar = soFar.slice( matched.length );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif ( !matched ) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t}\\n\\n\\t// Return the length of the invalid excess\\n\\t// if we're just parsing\\n\\t// Otherwise, throw an error or return tokens\\n\\treturn parseOnly ?\\n\\t\\tsoFar.length :\\n\\t\\tsoFar ?\\n\\t\\t\\tSizzle.error( selector ) :\\n\\n\\t\\t\\t// Cache the tokens\\n\\t\\t\\ttokenCache( selector, groups ).slice( 0 );\\n};\\n\\nfunction toSelector( tokens ) {\\n\\tvar i = 0,\\n\\t\\tlen = tokens.length,\\n\\t\\tselector = \\\"\\\";\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tselector += tokens[ i ].value;\\n\\t}\\n\\treturn selector;\\n}\\n\\nfunction addCombinator( matcher, combinator, base ) {\\n\\tvar dir = combinator.dir,\\n\\t\\tskip = combinator.next,\\n\\t\\tkey = skip || dir,\\n\\t\\tcheckNonElements = base && key === \\\"parentNode\\\",\\n\\t\\tdoneName = done++;\\n\\n\\treturn combinator.first ?\\n\\n\\t\\t// Check against closest ancestor/preceding element\\n\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\twhile ( ( elem = elem[ dir ] ) ) {\\n\\t\\t\\t\\tif ( elem.nodeType === 1 || checkNonElements ) {\\n\\t\\t\\t\\t\\treturn matcher( elem, context, xml );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t} :\\n\\n\\t\\t// Check against all ancestor/preceding elements\\n\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\tvar oldCache, uniqueCache, outerCache,\\n\\t\\t\\t\\tnewCache = [ dirruns, doneName ];\\n\\n\\t\\t\\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\\n\\t\\t\\tif ( xml ) {\\n\\t\\t\\t\\twhile ( ( elem = elem[ dir ] ) ) {\\n\\t\\t\\t\\t\\tif ( elem.nodeType === 1 || checkNonElements ) {\\n\\t\\t\\t\\t\\t\\tif ( matcher( elem, context, xml ) ) {\\n\\t\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\twhile ( ( elem = elem[ dir ] ) ) {\\n\\t\\t\\t\\t\\tif ( elem.nodeType === 1 || checkNonElements ) {\\n\\t\\t\\t\\t\\t\\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ elem.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t( outerCache[ elem.uniqueID ] = {} );\\n\\n\\t\\t\\t\\t\\t\\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\\n\\t\\t\\t\\t\\t\\t\\telem = elem[ dir ] || elem;\\n\\t\\t\\t\\t\\t\\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\\n\\t\\t\\t\\t\\t\\t\\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Assign to newCache so results back-propagate to previous elements\\n\\t\\t\\t\\t\\t\\t\\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\\n\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Reuse newcache so results back-propagate to previous elements\\n\\t\\t\\t\\t\\t\\t\\tuniqueCache[ key ] = newCache;\\n\\n\\t\\t\\t\\t\\t\\t\\t// A match means we're done; a fail means we have to keep checking\\n\\t\\t\\t\\t\\t\\t\\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t};\\n}\\n\\nfunction elementMatcher( matchers ) {\\n\\treturn matchers.length > 1 ?\\n\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\tvar i = matchers.length;\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tif ( !matchers[ i ]( elem, context, xml ) ) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn true;\\n\\t\\t} :\\n\\t\\tmatchers[ 0 ];\\n}\\n\\nfunction multipleContexts( selector, contexts, results ) {\\n\\tvar i = 0,\\n\\t\\tlen = contexts.length;\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tSizzle( selector, contexts[ i ], results );\\n\\t}\\n\\treturn results;\\n}\\n\\nfunction condense( unmatched, map, filter, context, xml ) {\\n\\tvar elem,\\n\\t\\tnewUnmatched = [],\\n\\t\\ti = 0,\\n\\t\\tlen = unmatched.length,\\n\\t\\tmapped = map != null;\\n\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tif ( ( elem = unmatched[ i ] ) ) {\\n\\t\\t\\tif ( !filter || filter( elem, context, xml ) ) {\\n\\t\\t\\t\\tnewUnmatched.push( elem );\\n\\t\\t\\t\\tif ( mapped ) {\\n\\t\\t\\t\\t\\tmap.push( i );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn newUnmatched;\\n}\\n\\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\\n\\tif ( postFilter && !postFilter[ expando ] ) {\\n\\t\\tpostFilter = setMatcher( postFilter );\\n\\t}\\n\\tif ( postFinder && !postFinder[ expando ] ) {\\n\\t\\tpostFinder = setMatcher( postFinder, postSelector );\\n\\t}\\n\\treturn markFunction( function( seed, results, context, xml ) {\\n\\t\\tvar temp, i, elem,\\n\\t\\t\\tpreMap = [],\\n\\t\\t\\tpostMap = [],\\n\\t\\t\\tpreexisting = results.length,\\n\\n\\t\\t\\t// Get initial elements from seed or context\\n\\t\\t\\telems = seed || multipleContexts(\\n\\t\\t\\t\\tselector || \\\"*\\\",\\n\\t\\t\\t\\tcontext.nodeType ? [ context ] : context,\\n\\t\\t\\t\\t[]\\n\\t\\t\\t),\\n\\n\\t\\t\\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\\n\\t\\t\\tmatcherIn = preFilter && ( seed || !selector ) ?\\n\\t\\t\\t\\tcondense( elems, preMap, preFilter, context, xml ) :\\n\\t\\t\\t\\telems,\\n\\n\\t\\t\\tmatcherOut = matcher ?\\n\\n\\t\\t\\t\\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\\n\\t\\t\\t\\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\\n\\n\\t\\t\\t\\t\\t// ...intermediate processing is necessary\\n\\t\\t\\t\\t\\t[] :\\n\\n\\t\\t\\t\\t\\t// ...otherwise use results directly\\n\\t\\t\\t\\t\\tresults :\\n\\t\\t\\t\\tmatcherIn;\\n\\n\\t\\t// Find primary matches\\n\\t\\tif ( matcher ) {\\n\\t\\t\\tmatcher( matcherIn, matcherOut, context, xml );\\n\\t\\t}\\n\\n\\t\\t// Apply postFilter\\n\\t\\tif ( postFilter ) {\\n\\t\\t\\ttemp = condense( matcherOut, postMap );\\n\\t\\t\\tpostFilter( temp, [], context, xml );\\n\\n\\t\\t\\t// Un-match failing elements by moving them back to matcherIn\\n\\t\\t\\ti = temp.length;\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tif ( ( elem = temp[ i ] ) ) {\\n\\t\\t\\t\\t\\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif ( seed ) {\\n\\t\\t\\tif ( postFinder || preFilter ) {\\n\\t\\t\\t\\tif ( postFinder ) {\\n\\n\\t\\t\\t\\t\\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\\n\\t\\t\\t\\t\\ttemp = [];\\n\\t\\t\\t\\t\\ti = matcherOut.length;\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\tif ( ( elem = matcherOut[ i ] ) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Restore matcherIn since elem is not yet a final match\\n\\t\\t\\t\\t\\t\\t\\ttemp.push( ( matcherIn[ i ] = elem ) );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tpostFinder( null, ( matcherOut = [] ), temp, xml );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Move matched elements from seed to results to keep them synchronized\\n\\t\\t\\t\\ti = matcherOut.length;\\n\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\tif ( ( elem = matcherOut[ i ] ) &&\\n\\t\\t\\t\\t\\t\\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\\n\\n\\t\\t\\t\\t\\t\\tseed[ temp ] = !( results[ temp ] = elem );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t// Add elements to results, through postFinder if defined\\n\\t\\t} else {\\n\\t\\t\\tmatcherOut = condense(\\n\\t\\t\\t\\tmatcherOut === results ?\\n\\t\\t\\t\\t\\tmatcherOut.splice( preexisting, matcherOut.length ) :\\n\\t\\t\\t\\t\\tmatcherOut\\n\\t\\t\\t);\\n\\t\\t\\tif ( postFinder ) {\\n\\t\\t\\t\\tpostFinder( null, results, matcherOut, xml );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tpush.apply( results, matcherOut );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} );\\n}\\n\\nfunction matcherFromTokens( tokens ) {\\n\\tvar checkContext, matcher, j,\\n\\t\\tlen = tokens.length,\\n\\t\\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\\n\\t\\timplicitRelative = leadingRelative || Expr.relative[ \\\" \\\" ],\\n\\t\\ti = leadingRelative ? 1 : 0,\\n\\n\\t\\t// The foundational matcher ensures that elements are reachable from top-level context(s)\\n\\t\\tmatchContext = addCombinator( function( elem ) {\\n\\t\\t\\treturn elem === checkContext;\\n\\t\\t}, implicitRelative, true ),\\n\\t\\tmatchAnyContext = addCombinator( function( elem ) {\\n\\t\\t\\treturn indexOf( checkContext, elem ) > -1;\\n\\t\\t}, implicitRelative, true ),\\n\\t\\tmatchers = [ function( elem, context, xml ) {\\n\\t\\t\\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\\n\\t\\t\\t\\t( checkContext = context ).nodeType ?\\n\\t\\t\\t\\t\\tmatchContext( elem, context, xml ) :\\n\\t\\t\\t\\t\\tmatchAnyContext( elem, context, xml ) );\\n\\n\\t\\t\\t// Avoid hanging onto element (issue #299)\\n\\t\\t\\tcheckContext = null;\\n\\t\\t\\treturn ret;\\n\\t\\t} ];\\n\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\\n\\t\\t\\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\\n\\t\\t} else {\\n\\t\\t\\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\\n\\n\\t\\t\\t// Return special upon seeing a positional matcher\\n\\t\\t\\tif ( matcher[ expando ] ) {\\n\\n\\t\\t\\t\\t// Find the next relative operator (if any) for proper handling\\n\\t\\t\\t\\tj = ++i;\\n\\t\\t\\t\\tfor ( ; j < len; j++ ) {\\n\\t\\t\\t\\t\\tif ( Expr.relative[ tokens[ j ].type ] ) {\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn setMatcher(\\n\\t\\t\\t\\t\\ti > 1 && elementMatcher( matchers ),\\n\\t\\t\\t\\t\\ti > 1 && toSelector(\\n\\n\\t\\t\\t\\t\\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\\n\\t\\t\\t\\t\\ttokens\\n\\t\\t\\t\\t\\t\\t.slice( 0, i - 1 )\\n\\t\\t\\t\\t\\t\\t.concat( { value: tokens[ i - 2 ].type === \\\" \\\" ? \\\"*\\\" : \\\"\\\" } )\\n\\t\\t\\t\\t\\t).replace( rtrim, \\\"$1\\\" ),\\n\\t\\t\\t\\t\\tmatcher,\\n\\t\\t\\t\\t\\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\\n\\t\\t\\t\\t\\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\\n\\t\\t\\t\\t\\tj < len && toSelector( tokens )\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t\\tmatchers.push( matcher );\\n\\t\\t}\\n\\t}\\n\\n\\treturn elementMatcher( matchers );\\n}\\n\\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\\n\\tvar bySet = setMatchers.length > 0,\\n\\t\\tbyElement = elementMatchers.length > 0,\\n\\t\\tsuperMatcher = function( seed, context, xml, results, outermost ) {\\n\\t\\t\\tvar elem, j, matcher,\\n\\t\\t\\t\\tmatchedCount = 0,\\n\\t\\t\\t\\ti = \\\"0\\\",\\n\\t\\t\\t\\tunmatched = seed && [],\\n\\t\\t\\t\\tsetMatched = [],\\n\\t\\t\\t\\tcontextBackup = outermostContext,\\n\\n\\t\\t\\t\\t// We must always have either seed elements or outermost context\\n\\t\\t\\t\\telems = seed || byElement && Expr.find[ \\\"TAG\\\" ]( \\\"*\\\", outermost ),\\n\\n\\t\\t\\t\\t// Use integer dirruns iff this is the outermost matcher\\n\\t\\t\\t\\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\\n\\t\\t\\t\\tlen = elems.length;\\n\\n\\t\\t\\tif ( outermost ) {\\n\\n\\t\\t\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t\\t\\t// two documents; shallow comparisons work.\\n\\t\\t\\t\\t// eslint-disable-next-line eqeqeq\\n\\t\\t\\t\\toutermostContext = context == document || context || outermost;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Add elements passing elementMatchers directly to results\\n\\t\\t\\t// Support: IE<9, Safari\\n\\t\\t\\t// Tolerate NodeList properties (IE: \\\"length\\\"; Safari: <number>) matching elements by id\\n\\t\\t\\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\\n\\t\\t\\t\\tif ( byElement && elem ) {\\n\\t\\t\\t\\t\\tj = 0;\\n\\n\\t\\t\\t\\t\\t// Support: IE 11+, Edge 17 - 18+\\n\\t\\t\\t\\t\\t// IE/Edge sometimes throw a \\\"Permission denied\\\" error when strict-comparing\\n\\t\\t\\t\\t\\t// two documents; shallow comparisons work.\\n\\t\\t\\t\\t\\t// eslint-disable-next-line eqeqeq\\n\\t\\t\\t\\t\\tif ( !context && elem.ownerDocument != document ) {\\n\\t\\t\\t\\t\\t\\tsetDocument( elem );\\n\\t\\t\\t\\t\\t\\txml = !documentIsHTML;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\\n\\t\\t\\t\\t\\t\\tif ( matcher( elem, context || document, xml ) ) {\\n\\t\\t\\t\\t\\t\\t\\tresults.push( elem );\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif ( outermost ) {\\n\\t\\t\\t\\t\\t\\tdirruns = dirrunsUnique;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Track unmatched elements for set filters\\n\\t\\t\\t\\tif ( bySet ) {\\n\\n\\t\\t\\t\\t\\t// They will have gone through all possible matchers\\n\\t\\t\\t\\t\\tif ( ( elem = !matcher && elem ) ) {\\n\\t\\t\\t\\t\\t\\tmatchedCount--;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Lengthen the array for every element, matched or not\\n\\t\\t\\t\\t\\tif ( seed ) {\\n\\t\\t\\t\\t\\t\\tunmatched.push( elem );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\\n\\t\\t\\t// makes the latter nonnegative.\\n\\t\\t\\tmatchedCount += i;\\n\\n\\t\\t\\t// Apply set filters to unmatched elements\\n\\t\\t\\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\\n\\t\\t\\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\\n\\t\\t\\t// no element matchers and no seed.\\n\\t\\t\\t// Incrementing an initially-string \\\"0\\\" `i` allows `i` to remain a string only in that\\n\\t\\t\\t// case, which will result in a \\\"00\\\" `matchedCount` that differs from `i` but is also\\n\\t\\t\\t// numerically zero.\\n\\t\\t\\tif ( bySet && i !== matchedCount ) {\\n\\t\\t\\t\\tj = 0;\\n\\t\\t\\t\\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\\n\\t\\t\\t\\t\\tmatcher( unmatched, setMatched, context, xml );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( seed ) {\\n\\n\\t\\t\\t\\t\\t// Reintegrate element matches to eliminate the need for sorting\\n\\t\\t\\t\\t\\tif ( matchedCount > 0 ) {\\n\\t\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\t\\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tsetMatched[ i ] = pop.call( results );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Discard index placeholder values to get only actual matches\\n\\t\\t\\t\\t\\tsetMatched = condense( setMatched );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Add matches to results\\n\\t\\t\\t\\tpush.apply( results, setMatched );\\n\\n\\t\\t\\t\\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\\n\\t\\t\\t\\tif ( outermost && !seed && setMatched.length > 0 &&\\n\\t\\t\\t\\t\\t( matchedCount + setMatchers.length ) > 1 ) {\\n\\n\\t\\t\\t\\t\\tSizzle.uniqueSort( results );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Override manipulation of globals by nested matchers\\n\\t\\t\\tif ( outermost ) {\\n\\t\\t\\t\\tdirruns = dirrunsUnique;\\n\\t\\t\\t\\toutermostContext = contextBackup;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn unmatched;\\n\\t\\t};\\n\\n\\treturn bySet ?\\n\\t\\tmarkFunction( superMatcher ) :\\n\\t\\tsuperMatcher;\\n}\\n\\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\\n\\tvar i,\\n\\t\\tsetMatchers = [],\\n\\t\\telementMatchers = [],\\n\\t\\tcached = compilerCache[ selector + \\\" \\\" ];\\n\\n\\tif ( !cached ) {\\n\\n\\t\\t// Generate a function of recursive functions that can be used to check each element\\n\\t\\tif ( !match ) {\\n\\t\\t\\tmatch = tokenize( selector );\\n\\t\\t}\\n\\t\\ti = match.length;\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\tcached = matcherFromTokens( match[ i ] );\\n\\t\\t\\tif ( cached[ expando ] ) {\\n\\t\\t\\t\\tsetMatchers.push( cached );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\telementMatchers.push( cached );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Cache the compiled function\\n\\t\\tcached = compilerCache(\\n\\t\\t\\tselector,\\n\\t\\t\\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\\n\\t\\t);\\n\\n\\t\\t// Save selector and tokenization\\n\\t\\tcached.selector = selector;\\n\\t}\\n\\treturn cached;\\n};\\n\\n/**\\n * A low-level selection function that works with Sizzle's compiled\\n *  selector functions\\n * @param {String|Function} selector A selector or a pre-compiled\\n *  selector function built with Sizzle.compile\\n * @param {Element} context\\n * @param {Array} [results]\\n * @param {Array} [seed] A set of elements to match against\\n */\\nselect = Sizzle.select = function( selector, context, results, seed ) {\\n\\tvar i, tokens, token, type, find,\\n\\t\\tcompiled = typeof selector === \\\"function\\\" && selector,\\n\\t\\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\\n\\n\\tresults = results || [];\\n\\n\\t// Try to minimize operations if there is only one selector in the list and no seed\\n\\t// (the latter of which guarantees us context)\\n\\tif ( match.length === 1 ) {\\n\\n\\t\\t// Reduce context if the leading compound selector is an ID\\n\\t\\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\\n\\t\\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \\\"ID\\\" &&\\n\\t\\t\\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\\n\\n\\t\\t\\tcontext = ( Expr.find[ \\\"ID\\\" ]( token.matches[ 0 ]\\n\\t\\t\\t\\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\\n\\t\\t\\tif ( !context ) {\\n\\t\\t\\t\\treturn results;\\n\\n\\t\\t\\t// Precompiled matchers will still verify ancestry, so step up a level\\n\\t\\t\\t} else if ( compiled ) {\\n\\t\\t\\t\\tcontext = context.parentNode;\\n\\t\\t\\t}\\n\\n\\t\\t\\tselector = selector.slice( tokens.shift().value.length );\\n\\t\\t}\\n\\n\\t\\t// Fetch a seed set for right-to-left matching\\n\\t\\ti = matchExpr[ \\\"needsContext\\\" ].test( selector ) ? 0 : tokens.length;\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\ttoken = tokens[ i ];\\n\\n\\t\\t\\t// Abort if we hit a combinator\\n\\t\\t\\tif ( Expr.relative[ ( type = token.type ) ] ) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tif ( ( find = Expr.find[ type ] ) ) {\\n\\n\\t\\t\\t\\t// Search, expanding context for leading sibling combinators\\n\\t\\t\\t\\tif ( ( seed = find(\\n\\t\\t\\t\\t\\ttoken.matches[ 0 ].replace( runescape, funescape ),\\n\\t\\t\\t\\t\\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\\n\\t\\t\\t\\t\\t\\tcontext\\n\\t\\t\\t\\t) ) ) {\\n\\n\\t\\t\\t\\t\\t// If seed is empty or no tokens remain, we can return early\\n\\t\\t\\t\\t\\ttokens.splice( i, 1 );\\n\\t\\t\\t\\t\\tselector = seed.length && toSelector( tokens );\\n\\t\\t\\t\\t\\tif ( !selector ) {\\n\\t\\t\\t\\t\\t\\tpush.apply( results, seed );\\n\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Compile and execute a filtering function if one is not provided\\n\\t// Provide `match` to avoid retokenization if we modified the selector above\\n\\t( compiled || compile( selector, match ) )(\\n\\t\\tseed,\\n\\t\\tcontext,\\n\\t\\t!documentIsHTML,\\n\\t\\tresults,\\n\\t\\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\\n\\t);\\n\\treturn results;\\n};\\n\\n// One-time assignments\\n\\n// Sort stability\\nsupport.sortStable = expando.split( \\\"\\\" ).sort( sortOrder ).join( \\\"\\\" ) === expando;\\n\\n// Support: Chrome 14-35+\\n// Always assume duplicates if they aren't passed to the comparison function\\nsupport.detectDuplicates = !!hasDuplicate;\\n\\n// Initialize against the default document\\nsetDocument();\\n\\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\\n// Detached nodes confoundingly follow *each other*\\nsupport.sortDetached = assert( function( el ) {\\n\\n\\t// Should return 1, but returns 4 (following)\\n\\treturn el.compareDocumentPosition( document.createElement( \\\"fieldset\\\" ) ) & 1;\\n} );\\n\\n// Support: IE<8\\n// Prevent attribute/property \\\"interpolation\\\"\\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\\nif ( !assert( function( el ) {\\n\\tel.innerHTML = \\\"<a href='#'></a>\\\";\\n\\treturn el.firstChild.getAttribute( \\\"href\\\" ) === \\\"#\\\";\\n} ) ) {\\n\\taddHandle( \\\"type|href|height|width\\\", function( elem, name, isXML ) {\\n\\t\\tif ( !isXML ) {\\n\\t\\t\\treturn elem.getAttribute( name, name.toLowerCase() === \\\"type\\\" ? 1 : 2 );\\n\\t\\t}\\n\\t} );\\n}\\n\\n// Support: IE<9\\n// Use defaultValue in place of getAttribute(\\\"value\\\")\\nif ( !support.attributes || !assert( function( el ) {\\n\\tel.innerHTML = \\\"<input/>\\\";\\n\\tel.firstChild.setAttribute( \\\"value\\\", \\\"\\\" );\\n\\treturn el.firstChild.getAttribute( \\\"value\\\" ) === \\\"\\\";\\n} ) ) {\\n\\taddHandle( \\\"value\\\", function( elem, _name, isXML ) {\\n\\t\\tif ( !isXML && elem.nodeName.toLowerCase() === \\\"input\\\" ) {\\n\\t\\t\\treturn elem.defaultValue;\\n\\t\\t}\\n\\t} );\\n}\\n\\n// Support: IE<9\\n// Use getAttributeNode to fetch booleans when getAttribute lies\\nif ( !assert( function( el ) {\\n\\treturn el.getAttribute( \\\"disabled\\\" ) == null;\\n} ) ) {\\n\\taddHandle( booleans, function( elem, name, isXML ) {\\n\\t\\tvar val;\\n\\t\\tif ( !isXML ) {\\n\\t\\t\\treturn elem[ name ] === true ? name.toLowerCase() :\\n\\t\\t\\t\\t( val = elem.getAttributeNode( name ) ) && val.specified ?\\n\\t\\t\\t\\t\\tval.value :\\n\\t\\t\\t\\t\\tnull;\\n\\t\\t}\\n\\t} );\\n}\\n\\nreturn Sizzle;\\n\\n} )( window );\\n\\n\\n\\njQuery.find = Sizzle;\\njQuery.expr = Sizzle.selectors;\\n\\n// Deprecated\\njQuery.expr[ \\\":\\\" ] = jQuery.expr.pseudos;\\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\\njQuery.text = Sizzle.getText;\\njQuery.isXMLDoc = Sizzle.isXML;\\njQuery.contains = Sizzle.contains;\\njQuery.escapeSelector = Sizzle.escape;\\n\\n\\n\\n\\nvar dir = function( elem, dir, until ) {\\n\\tvar matched = [],\\n\\t\\ttruncate = until !== undefined;\\n\\n\\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\\n\\t\\tif ( elem.nodeType === 1 ) {\\n\\t\\t\\tif ( truncate && jQuery( elem ).is( until ) ) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tmatched.push( elem );\\n\\t\\t}\\n\\t}\\n\\treturn matched;\\n};\\n\\n\\nvar siblings = function( n, elem ) {\\n\\tvar matched = [];\\n\\n\\tfor ( ; n; n = n.nextSibling ) {\\n\\t\\tif ( n.nodeType === 1 && n !== elem ) {\\n\\t\\t\\tmatched.push( n );\\n\\t\\t}\\n\\t}\\n\\n\\treturn matched;\\n};\\n\\n\\nvar rneedsContext = jQuery.expr.match.needsContext;\\n\\n\\n\\nfunction nodeName( elem, name ) {\\n\\n  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\\n\\n};\\nvar rsingleTag = ( /^<([a-z][^\\\\/\\\\0>:\\\\x20\\\\t\\\\r\\\\n\\\\f]*)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\\\\/?>(?:<\\\\/\\\\1>|)$/i );\\n\\n\\n\\n// Implement the identical functionality for filter and not\\nfunction winnow( elements, qualifier, not ) {\\n\\tif ( isFunction( qualifier ) ) {\\n\\t\\treturn jQuery.grep( elements, function( elem, i ) {\\n\\t\\t\\treturn !!qualifier.call( elem, i, elem ) !== not;\\n\\t\\t} );\\n\\t}\\n\\n\\t// Single element\\n\\tif ( qualifier.nodeType ) {\\n\\t\\treturn jQuery.grep( elements, function( elem ) {\\n\\t\\t\\treturn ( elem === qualifier ) !== not;\\n\\t\\t} );\\n\\t}\\n\\n\\t// Arraylike of elements (jQuery, arguments, Array)\\n\\tif ( typeof qualifier !== \\\"string\\\" ) {\\n\\t\\treturn jQuery.grep( elements, function( elem ) {\\n\\t\\t\\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\\n\\t\\t} );\\n\\t}\\n\\n\\t// Filtered directly for both simple and complex selectors\\n\\treturn jQuery.filter( qualifier, elements, not );\\n}\\n\\njQuery.filter = function( expr, elems, not ) {\\n\\tvar elem = elems[ 0 ];\\n\\n\\tif ( not ) {\\n\\t\\texpr = \\\":not(\\\" + expr + \\\")\\\";\\n\\t}\\n\\n\\tif ( elems.length === 1 && elem.nodeType === 1 ) {\\n\\t\\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\\n\\t}\\n\\n\\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\\n\\t\\treturn elem.nodeType === 1;\\n\\t} ) );\\n};\\n\\njQuery.fn.extend( {\\n\\tfind: function( selector ) {\\n\\t\\tvar i, ret,\\n\\t\\t\\tlen = this.length,\\n\\t\\t\\tself = this;\\n\\n\\t\\tif ( typeof selector !== \\\"string\\\" ) {\\n\\t\\t\\treturn this.pushStack( jQuery( selector ).filter( function() {\\n\\t\\t\\t\\tfor ( i = 0; i < len; i++ ) {\\n\\t\\t\\t\\t\\tif ( jQuery.contains( self[ i ], this ) ) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\tret = this.pushStack( [] );\\n\\n\\t\\tfor ( i = 0; i < len; i++ ) {\\n\\t\\t\\tjQuery.find( selector, self[ i ], ret );\\n\\t\\t}\\n\\n\\t\\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\\n\\t},\\n\\tfilter: function( selector ) {\\n\\t\\treturn this.pushStack( winnow( this, selector || [], false ) );\\n\\t},\\n\\tnot: function( selector ) {\\n\\t\\treturn this.pushStack( winnow( this, selector || [], true ) );\\n\\t},\\n\\tis: function( selector ) {\\n\\t\\treturn !!winnow(\\n\\t\\t\\tthis,\\n\\n\\t\\t\\t// If this is a positional/relative selector, check membership in the returned set\\n\\t\\t\\t// so $(\\\"p:first\\\").is(\\\"p:last\\\") won't return true for a doc with two \\\"p\\\".\\n\\t\\t\\ttypeof selector === \\\"string\\\" && rneedsContext.test( selector ) ?\\n\\t\\t\\t\\tjQuery( selector ) :\\n\\t\\t\\t\\tselector || [],\\n\\t\\t\\tfalse\\n\\t\\t).length;\\n\\t}\\n} );\\n\\n\\n// Initialize a jQuery object\\n\\n\\n// A central reference to the root jQuery(document)\\nvar rootjQuery,\\n\\n\\t// A simple way to check for HTML strings\\n\\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\\n\\t// Strict HTML recognition (#11290: must start with <)\\n\\t// Shortcut simple #id case for speed\\n\\trquickExpr = /^(?:\\\\s*(<[\\\\w\\\\W]+>)[^>]*|#([\\\\w-]+))$/,\\n\\n\\tinit = jQuery.fn.init = function( selector, context, root ) {\\n\\t\\tvar match, elem;\\n\\n\\t\\t// HANDLE: $(\\\"\\\"), $(null), $(undefined), $(false)\\n\\t\\tif ( !selector ) {\\n\\t\\t\\treturn this;\\n\\t\\t}\\n\\n\\t\\t// Method init() accepts an alternate rootjQuery\\n\\t\\t// so migrate can support jQuery.sub (gh-2101)\\n\\t\\troot = root || rootjQuery;\\n\\n\\t\\t// Handle HTML strings\\n\\t\\tif ( typeof selector === \\\"string\\\" ) {\\n\\t\\t\\tif ( selector[ 0 ] === \\\"<\\\" &&\\n\\t\\t\\t\\tselector[ selector.length - 1 ] === \\\">\\\" &&\\n\\t\\t\\t\\tselector.length >= 3 ) {\\n\\n\\t\\t\\t\\t// Assume that strings that start and end with <> are HTML and skip the regex check\\n\\t\\t\\t\\tmatch = [ null, selector, null ];\\n\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tmatch = rquickExpr.exec( selector );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Match html or make sure no context is specified for #id\\n\\t\\t\\tif ( match && ( match[ 1 ] || !context ) ) {\\n\\n\\t\\t\\t\\t// HANDLE: $(html) -> $(array)\\n\\t\\t\\t\\tif ( match[ 1 ] ) {\\n\\t\\t\\t\\t\\tcontext = context instanceof jQuery ? context[ 0 ] : context;\\n\\n\\t\\t\\t\\t\\t// Option to run scripts is true for back-compat\\n\\t\\t\\t\\t\\t// Intentionally let the error be thrown if parseHTML is not present\\n\\t\\t\\t\\t\\tjQuery.merge( this, jQuery.parseHTML(\\n\\t\\t\\t\\t\\t\\tmatch[ 1 ],\\n\\t\\t\\t\\t\\t\\tcontext && context.nodeType ? context.ownerDocument || context : document,\\n\\t\\t\\t\\t\\t\\ttrue\\n\\t\\t\\t\\t\\t) );\\n\\n\\t\\t\\t\\t\\t// HANDLE: $(html, props)\\n\\t\\t\\t\\t\\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\\n\\t\\t\\t\\t\\t\\tfor ( match in context ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Properties of context are called as methods if possible\\n\\t\\t\\t\\t\\t\\t\\tif ( isFunction( this[ match ] ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tthis[ match ]( context[ match ] );\\n\\n\\t\\t\\t\\t\\t\\t\\t// ...and otherwise set as attributes\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\tthis.attr( match, context[ match ] );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\treturn this;\\n\\n\\t\\t\\t\\t// HANDLE: $(#id)\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\telem = document.getElementById( match[ 2 ] );\\n\\n\\t\\t\\t\\t\\tif ( elem ) {\\n\\n\\t\\t\\t\\t\\t\\t// Inject the element directly into the jQuery object\\n\\t\\t\\t\\t\\t\\tthis[ 0 ] = elem;\\n\\t\\t\\t\\t\\t\\tthis.length = 1;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t// HANDLE: $(expr, $(...))\\n\\t\\t\\t} else if ( !context || context.jquery ) {\\n\\t\\t\\t\\treturn ( context || root ).find( selector );\\n\\n\\t\\t\\t// HANDLE: $(expr, context)\\n\\t\\t\\t// (which is just equivalent to: $(context).find(expr)\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn this.constructor( context ).find( selector );\\n\\t\\t\\t}\\n\\n\\t\\t// HANDLE: $(DOMElement)\\n\\t\\t} else if ( selector.nodeType ) {\\n\\t\\t\\tthis[ 0 ] = selector;\\n\\t\\t\\tthis.length = 1;\\n\\t\\t\\treturn this;\\n\\n\\t\\t// HANDLE: $(function)\\n\\t\\t// Shortcut for document ready\\n\\t\\t} else if ( isFunction( selector ) ) {\\n\\t\\t\\treturn root.ready !== undefined ?\\n\\t\\t\\t\\troot.ready( selector ) :\\n\\n\\t\\t\\t\\t// Execute immediately if ready is not present\\n\\t\\t\\t\\tselector( jQuery );\\n\\t\\t}\\n\\n\\t\\treturn jQuery.makeArray( selector, this );\\n\\t};\\n\\n// Give the init function the jQuery prototype for later instantiation\\ninit.prototype = jQuery.fn;\\n\\n// Initialize central reference\\nrootjQuery = jQuery( document );\\n\\n\\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\\n\\n\\t// Methods guaranteed to produce a unique set when starting from a unique set\\n\\tguaranteedUnique = {\\n\\t\\tchildren: true,\\n\\t\\tcontents: true,\\n\\t\\tnext: true,\\n\\t\\tprev: true\\n\\t};\\n\\njQuery.fn.extend( {\\n\\thas: function( target ) {\\n\\t\\tvar targets = jQuery( target, this ),\\n\\t\\t\\tl = targets.length;\\n\\n\\t\\treturn this.filter( function() {\\n\\t\\t\\tvar i = 0;\\n\\t\\t\\tfor ( ; i < l; i++ ) {\\n\\t\\t\\t\\tif ( jQuery.contains( this, targets[ i ] ) ) {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tclosest: function( selectors, context ) {\\n\\t\\tvar cur,\\n\\t\\t\\ti = 0,\\n\\t\\t\\tl = this.length,\\n\\t\\t\\tmatched = [],\\n\\t\\t\\ttargets = typeof selectors !== \\\"string\\\" && jQuery( selectors );\\n\\n\\t\\t// Positional selectors never match, since there's no _selection_ context\\n\\t\\tif ( !rneedsContext.test( selectors ) ) {\\n\\t\\t\\tfor ( ; i < l; i++ ) {\\n\\t\\t\\t\\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\\n\\n\\t\\t\\t\\t\\t// Always skip document fragments\\n\\t\\t\\t\\t\\tif ( cur.nodeType < 11 && ( targets ?\\n\\t\\t\\t\\t\\t\\ttargets.index( cur ) > -1 :\\n\\n\\t\\t\\t\\t\\t\\t// Don't pass non-elements to Sizzle\\n\\t\\t\\t\\t\\t\\tcur.nodeType === 1 &&\\n\\t\\t\\t\\t\\t\\t\\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\\n\\n\\t\\t\\t\\t\\t\\tmatched.push( cur );\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\\n\\t},\\n\\n\\t// Determine the position of an element within the set\\n\\tindex: function( elem ) {\\n\\n\\t\\t// No argument, return index in parent\\n\\t\\tif ( !elem ) {\\n\\t\\t\\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\\n\\t\\t}\\n\\n\\t\\t// Index in selector\\n\\t\\tif ( typeof elem === \\\"string\\\" ) {\\n\\t\\t\\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\\n\\t\\t}\\n\\n\\t\\t// Locate the position of the desired element\\n\\t\\treturn indexOf.call( this,\\n\\n\\t\\t\\t// If it receives a jQuery object, the first element is used\\n\\t\\t\\telem.jquery ? elem[ 0 ] : elem\\n\\t\\t);\\n\\t},\\n\\n\\tadd: function( selector, context ) {\\n\\t\\treturn this.pushStack(\\n\\t\\t\\tjQuery.uniqueSort(\\n\\t\\t\\t\\tjQuery.merge( this.get(), jQuery( selector, context ) )\\n\\t\\t\\t)\\n\\t\\t);\\n\\t},\\n\\n\\taddBack: function( selector ) {\\n\\t\\treturn this.add( selector == null ?\\n\\t\\t\\tthis.prevObject : this.prevObject.filter( selector )\\n\\t\\t);\\n\\t}\\n} );\\n\\nfunction sibling( cur, dir ) {\\n\\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\\n\\treturn cur;\\n}\\n\\njQuery.each( {\\n\\tparent: function( elem ) {\\n\\t\\tvar parent = elem.parentNode;\\n\\t\\treturn parent && parent.nodeType !== 11 ? parent : null;\\n\\t},\\n\\tparents: function( elem ) {\\n\\t\\treturn dir( elem, \\\"parentNode\\\" );\\n\\t},\\n\\tparentsUntil: function( elem, _i, until ) {\\n\\t\\treturn dir( elem, \\\"parentNode\\\", until );\\n\\t},\\n\\tnext: function( elem ) {\\n\\t\\treturn sibling( elem, \\\"nextSibling\\\" );\\n\\t},\\n\\tprev: function( elem ) {\\n\\t\\treturn sibling( elem, \\\"previousSibling\\\" );\\n\\t},\\n\\tnextAll: function( elem ) {\\n\\t\\treturn dir( elem, \\\"nextSibling\\\" );\\n\\t},\\n\\tprevAll: function( elem ) {\\n\\t\\treturn dir( elem, \\\"previousSibling\\\" );\\n\\t},\\n\\tnextUntil: function( elem, _i, until ) {\\n\\t\\treturn dir( elem, \\\"nextSibling\\\", until );\\n\\t},\\n\\tprevUntil: function( elem, _i, until ) {\\n\\t\\treturn dir( elem, \\\"previousSibling\\\", until );\\n\\t},\\n\\tsiblings: function( elem ) {\\n\\t\\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\\n\\t},\\n\\tchildren: function( elem ) {\\n\\t\\treturn siblings( elem.firstChild );\\n\\t},\\n\\tcontents: function( elem ) {\\n\\t\\tif ( elem.contentDocument != null &&\\n\\n\\t\\t\\t// Support: IE 11+\\n\\t\\t\\t// <object> elements with no `data` attribute has an object\\n\\t\\t\\t// `contentDocument` with a `null` prototype.\\n\\t\\t\\tgetProto( elem.contentDocument ) ) {\\n\\n\\t\\t\\treturn elem.contentDocument;\\n\\t\\t}\\n\\n\\t\\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\\n\\t\\t// Treat the template element as a regular one in browsers that\\n\\t\\t// don't support it.\\n\\t\\tif ( nodeName( elem, \\\"template\\\" ) ) {\\n\\t\\t\\telem = elem.content || elem;\\n\\t\\t}\\n\\n\\t\\treturn jQuery.merge( [], elem.childNodes );\\n\\t}\\n}, function( name, fn ) {\\n\\tjQuery.fn[ name ] = function( until, selector ) {\\n\\t\\tvar matched = jQuery.map( this, fn, until );\\n\\n\\t\\tif ( name.slice( -5 ) !== \\\"Until\\\" ) {\\n\\t\\t\\tselector = until;\\n\\t\\t}\\n\\n\\t\\tif ( selector && typeof selector === \\\"string\\\" ) {\\n\\t\\t\\tmatched = jQuery.filter( selector, matched );\\n\\t\\t}\\n\\n\\t\\tif ( this.length > 1 ) {\\n\\n\\t\\t\\t// Remove duplicates\\n\\t\\t\\tif ( !guaranteedUnique[ name ] ) {\\n\\t\\t\\t\\tjQuery.uniqueSort( matched );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Reverse order for parents* and prev-derivatives\\n\\t\\t\\tif ( rparentsprev.test( name ) ) {\\n\\t\\t\\t\\tmatched.reverse();\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this.pushStack( matched );\\n\\t};\\n} );\\nvar rnothtmlwhite = ( /[^\\\\x20\\\\t\\\\r\\\\n\\\\f]+/g );\\n\\n\\n\\n// Convert String-formatted options into Object-formatted ones\\nfunction createOptions( options ) {\\n\\tvar object = {};\\n\\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\\n\\t\\tobject[ flag ] = true;\\n\\t} );\\n\\treturn object;\\n}\\n\\n/*\\n * Create a callback list using the following parameters:\\n *\\n *\\toptions: an optional list of space-separated options that will change how\\n *\\t\\t\\tthe callback list behaves or a more traditional option object\\n *\\n * By default a callback list will act like an event callback list and can be\\n * \\\"fired\\\" multiple times.\\n *\\n * Possible options:\\n *\\n *\\tonce:\\t\\t\\twill ensure the callback list can only be fired once (like a Deferred)\\n *\\n *\\tmemory:\\t\\t\\twill keep track of previous values and will call any callback added\\n *\\t\\t\\t\\t\\tafter the list has been fired right away with the latest \\\"memorized\\\"\\n *\\t\\t\\t\\t\\tvalues (like a Deferred)\\n *\\n *\\tunique:\\t\\t\\twill ensure a callback can only be added once (no duplicate in the list)\\n *\\n *\\tstopOnFalse:\\tinterrupt callings when a callback returns false\\n *\\n */\\njQuery.Callbacks = function( options ) {\\n\\n\\t// Convert options from String-formatted to Object-formatted if needed\\n\\t// (we check in cache first)\\n\\toptions = typeof options === \\\"string\\\" ?\\n\\t\\tcreateOptions( options ) :\\n\\t\\tjQuery.extend( {}, options );\\n\\n\\tvar // Flag to know if list is currently firing\\n\\t\\tfiring,\\n\\n\\t\\t// Last fire value for non-forgettable lists\\n\\t\\tmemory,\\n\\n\\t\\t// Flag to know if list was already fired\\n\\t\\tfired,\\n\\n\\t\\t// Flag to prevent firing\\n\\t\\tlocked,\\n\\n\\t\\t// Actual callback list\\n\\t\\tlist = [],\\n\\n\\t\\t// Queue of execution data for repeatable lists\\n\\t\\tqueue = [],\\n\\n\\t\\t// Index of currently firing callback (modified by add/remove as needed)\\n\\t\\tfiringIndex = -1,\\n\\n\\t\\t// Fire callbacks\\n\\t\\tfire = function() {\\n\\n\\t\\t\\t// Enforce single-firing\\n\\t\\t\\tlocked = locked || options.once;\\n\\n\\t\\t\\t// Execute callbacks for all pending executions,\\n\\t\\t\\t// respecting firingIndex overrides and runtime changes\\n\\t\\t\\tfired = firing = true;\\n\\t\\t\\tfor ( ; queue.length; firingIndex = -1 ) {\\n\\t\\t\\t\\tmemory = queue.shift();\\n\\t\\t\\t\\twhile ( ++firingIndex < list.length ) {\\n\\n\\t\\t\\t\\t\\t// Run callback and check for early termination\\n\\t\\t\\t\\t\\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\\n\\t\\t\\t\\t\\t\\toptions.stopOnFalse ) {\\n\\n\\t\\t\\t\\t\\t\\t// Jump to end and forget the data so .add doesn't re-fire\\n\\t\\t\\t\\t\\t\\tfiringIndex = list.length;\\n\\t\\t\\t\\t\\t\\tmemory = false;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Forget the data if we're done with it\\n\\t\\t\\tif ( !options.memory ) {\\n\\t\\t\\t\\tmemory = false;\\n\\t\\t\\t}\\n\\n\\t\\t\\tfiring = false;\\n\\n\\t\\t\\t// Clean up if we're done firing for good\\n\\t\\t\\tif ( locked ) {\\n\\n\\t\\t\\t\\t// Keep an empty list if we have data for future add calls\\n\\t\\t\\t\\tif ( memory ) {\\n\\t\\t\\t\\t\\tlist = [];\\n\\n\\t\\t\\t\\t// Otherwise, this object is spent\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tlist = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},\\n\\n\\t\\t// Actual Callbacks object\\n\\t\\tself = {\\n\\n\\t\\t\\t// Add a callback or a collection of callbacks to the list\\n\\t\\t\\tadd: function() {\\n\\t\\t\\t\\tif ( list ) {\\n\\n\\t\\t\\t\\t\\t// If we have memory from a past run, we should fire after adding\\n\\t\\t\\t\\t\\tif ( memory && !firing ) {\\n\\t\\t\\t\\t\\t\\tfiringIndex = list.length - 1;\\n\\t\\t\\t\\t\\t\\tqueue.push( memory );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t( function add( args ) {\\n\\t\\t\\t\\t\\t\\tjQuery.each( args, function( _, arg ) {\\n\\t\\t\\t\\t\\t\\t\\tif ( isFunction( arg ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( !options.unique || !self.has( arg ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tlist.push( arg );\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t} else if ( arg && arg.length && toType( arg ) !== \\\"string\\\" ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Inspect recursively\\n\\t\\t\\t\\t\\t\\t\\t\\tadd( arg );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t} )( arguments );\\n\\n\\t\\t\\t\\t\\tif ( memory && !firing ) {\\n\\t\\t\\t\\t\\t\\tfire();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Remove a callback from the list\\n\\t\\t\\tremove: function() {\\n\\t\\t\\t\\tjQuery.each( arguments, function( _, arg ) {\\n\\t\\t\\t\\t\\tvar index;\\n\\t\\t\\t\\t\\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\\n\\t\\t\\t\\t\\t\\tlist.splice( index, 1 );\\n\\n\\t\\t\\t\\t\\t\\t// Handle firing indexes\\n\\t\\t\\t\\t\\t\\tif ( index <= firingIndex ) {\\n\\t\\t\\t\\t\\t\\t\\tfiringIndex--;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Check if a given callback is in the list.\\n\\t\\t\\t// If no argument is given, return whether or not list has callbacks attached.\\n\\t\\t\\thas: function( fn ) {\\n\\t\\t\\t\\treturn fn ?\\n\\t\\t\\t\\t\\tjQuery.inArray( fn, list ) > -1 :\\n\\t\\t\\t\\t\\tlist.length > 0;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Remove all callbacks from the list\\n\\t\\t\\tempty: function() {\\n\\t\\t\\t\\tif ( list ) {\\n\\t\\t\\t\\t\\tlist = [];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Disable .fire and .add\\n\\t\\t\\t// Abort any current/pending executions\\n\\t\\t\\t// Clear all callbacks and values\\n\\t\\t\\tdisable: function() {\\n\\t\\t\\t\\tlocked = queue = [];\\n\\t\\t\\t\\tlist = memory = \\\"\\\";\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\t\\t\\tdisabled: function() {\\n\\t\\t\\t\\treturn !list;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Disable .fire\\n\\t\\t\\t// Also disable .add unless we have memory (since it would have no effect)\\n\\t\\t\\t// Abort any pending executions\\n\\t\\t\\tlock: function() {\\n\\t\\t\\t\\tlocked = queue = [];\\n\\t\\t\\t\\tif ( !memory && !firing ) {\\n\\t\\t\\t\\t\\tlist = memory = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\t\\t\\tlocked: function() {\\n\\t\\t\\t\\treturn !!locked;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Call all callbacks with the given context and arguments\\n\\t\\t\\tfireWith: function( context, args ) {\\n\\t\\t\\t\\tif ( !locked ) {\\n\\t\\t\\t\\t\\targs = args || [];\\n\\t\\t\\t\\t\\targs = [ context, args.slice ? args.slice() : args ];\\n\\t\\t\\t\\t\\tqueue.push( args );\\n\\t\\t\\t\\t\\tif ( !firing ) {\\n\\t\\t\\t\\t\\t\\tfire();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Call all the callbacks with the given arguments\\n\\t\\t\\tfire: function() {\\n\\t\\t\\t\\tself.fireWith( this, arguments );\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// To know if the callbacks have already been called at least once\\n\\t\\t\\tfired: function() {\\n\\t\\t\\t\\treturn !!fired;\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\treturn self;\\n};\\n\\n\\nfunction Identity( v ) {\\n\\treturn v;\\n}\\nfunction Thrower( ex ) {\\n\\tthrow ex;\\n}\\n\\nfunction adoptValue( value, resolve, reject, noValue ) {\\n\\tvar method;\\n\\n\\ttry {\\n\\n\\t\\t// Check for promise aspect first to privilege synchronous behavior\\n\\t\\tif ( value && isFunction( ( method = value.promise ) ) ) {\\n\\t\\t\\tmethod.call( value ).done( resolve ).fail( reject );\\n\\n\\t\\t// Other thenables\\n\\t\\t} else if ( value && isFunction( ( method = value.then ) ) ) {\\n\\t\\t\\tmethod.call( value, resolve, reject );\\n\\n\\t\\t// Other non-thenables\\n\\t\\t} else {\\n\\n\\t\\t\\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\\n\\t\\t\\t// * false: [ value ].slice( 0 ) => resolve( value )\\n\\t\\t\\t// * true: [ value ].slice( 1 ) => resolve()\\n\\t\\t\\tresolve.apply( undefined, [ value ].slice( noValue ) );\\n\\t\\t}\\n\\n\\t// For Promises/A+, convert exceptions into rejections\\n\\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\\n\\t// Deferred#then to conditionally suppress rejection.\\n\\t} catch ( value ) {\\n\\n\\t\\t// Support: Android 4.0 only\\n\\t\\t// Strict mode functions invoked without .call/.apply get global-object context\\n\\t\\treject.apply( undefined, [ value ] );\\n\\t}\\n}\\n\\njQuery.extend( {\\n\\n\\tDeferred: function( func ) {\\n\\t\\tvar tuples = [\\n\\n\\t\\t\\t\\t// action, add listener, callbacks,\\n\\t\\t\\t\\t// ... .then handlers, argument index, [final state]\\n\\t\\t\\t\\t[ \\\"notify\\\", \\\"progress\\\", jQuery.Callbacks( \\\"memory\\\" ),\\n\\t\\t\\t\\t\\tjQuery.Callbacks( \\\"memory\\\" ), 2 ],\\n\\t\\t\\t\\t[ \\\"resolve\\\", \\\"done\\\", jQuery.Callbacks( \\\"once memory\\\" ),\\n\\t\\t\\t\\t\\tjQuery.Callbacks( \\\"once memory\\\" ), 0, \\\"resolved\\\" ],\\n\\t\\t\\t\\t[ \\\"reject\\\", \\\"fail\\\", jQuery.Callbacks( \\\"once memory\\\" ),\\n\\t\\t\\t\\t\\tjQuery.Callbacks( \\\"once memory\\\" ), 1, \\\"rejected\\\" ]\\n\\t\\t\\t],\\n\\t\\t\\tstate = \\\"pending\\\",\\n\\t\\t\\tpromise = {\\n\\t\\t\\t\\tstate: function() {\\n\\t\\t\\t\\t\\treturn state;\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\talways: function() {\\n\\t\\t\\t\\t\\tdeferred.done( arguments ).fail( arguments );\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"catch\\\": function( fn ) {\\n\\t\\t\\t\\t\\treturn promise.then( null, fn );\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Keep pipe for back-compat\\n\\t\\t\\t\\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\\n\\t\\t\\t\\t\\tvar fns = arguments;\\n\\n\\t\\t\\t\\t\\treturn jQuery.Deferred( function( newDefer ) {\\n\\t\\t\\t\\t\\t\\tjQuery.each( tuples, function( _i, tuple ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\\n\\t\\t\\t\\t\\t\\t\\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\\n\\n\\t\\t\\t\\t\\t\\t\\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\\n\\t\\t\\t\\t\\t\\t\\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\\n\\t\\t\\t\\t\\t\\t\\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\\n\\t\\t\\t\\t\\t\\t\\tdeferred[ tuple[ 1 ] ]( function() {\\n\\t\\t\\t\\t\\t\\t\\t\\tvar returned = fn && fn.apply( this, arguments );\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( returned && isFunction( returned.promise ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\treturned.promise()\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.progress( newDefer.notify )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.done( newDefer.resolve )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.fail( newDefer.reject );\\n\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tnewDefer[ tuple[ 0 ] + \\\"With\\\" ](\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthis,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfn ? [ returned ] : arguments\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t\\tfns = null;\\n\\t\\t\\t\\t\\t} ).promise();\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\tthen: function( onFulfilled, onRejected, onProgress ) {\\n\\t\\t\\t\\t\\tvar maxDepth = 0;\\n\\t\\t\\t\\t\\tfunction resolve( depth, deferred, handler, special ) {\\n\\t\\t\\t\\t\\t\\treturn function() {\\n\\t\\t\\t\\t\\t\\t\\tvar that = this,\\n\\t\\t\\t\\t\\t\\t\\t\\targs = arguments,\\n\\t\\t\\t\\t\\t\\t\\t\\tmightThrow = function() {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tvar returned, then;\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.3.3.3\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-59\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Ignore double-resolution attempts\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( depth < maxDepth ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\treturned = handler.apply( that, args );\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.1\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-48\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( returned === deferred.promise() ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthrow new TypeError( \\\"Thenable self-resolution\\\" );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ sections 2.3.3.1, 3.5\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-54\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-75\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Retrieve `then` only once\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tthen = returned &&\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.4\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-64\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Only check objects and functions for thenability\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t( typeof returned === \\\"object\\\" ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttypeof returned === \\\"function\\\" ) &&\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturned.then;\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Handle a returned thenable\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( isFunction( then ) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Special processors (notify) just wait for resolution\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( special ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthen.call(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturned,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Identity, special ),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Thrower, special )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Normal processors (resolve) also hook into progress\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// ...and disregard older resolution values\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tmaxDepth++;\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthen.call(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturned,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Identity, special ),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Thrower, special ),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Identity,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdeferred.notifyWith )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Handle all other returned values\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Only substitute handlers pass on context\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// and multiple values (non-spec behavior)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( handler !== Identity ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthat = undefined;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\targs = [ returned ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Process the value(s)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Default process is resolve\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t( special || deferred.resolveWith )( that, args );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Only normal processors (resolve) catch and reject exceptions\\n\\t\\t\\t\\t\\t\\t\\t\\tprocess = special ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tmightThrow :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tfunction() {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tmightThrow();\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t} catch ( e ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( jQuery.Deferred.exceptionHook ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tjQuery.Deferred.exceptionHook( e,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tprocess.stackTrace );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.3.3.4.1\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-61\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Ignore post-resolution exceptions\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( depth + 1 >= maxDepth ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Only substitute handlers pass on context\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// and multiple values (non-spec behavior)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( handler !== Thrower ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthat = undefined;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\targs = [ e ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdeferred.rejectWith( that, args );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t};\\n\\n\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.3.3.1\\n\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-57\\n\\t\\t\\t\\t\\t\\t\\t// Re-resolve promises immediately to dodge false rejection from\\n\\t\\t\\t\\t\\t\\t\\t// subsequent errors\\n\\t\\t\\t\\t\\t\\t\\tif ( depth ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tprocess();\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Call an optional hook to record the stack, in case of exception\\n\\t\\t\\t\\t\\t\\t\\t\\t// since it's otherwise lost when execution goes async\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( jQuery.Deferred.getStackHook ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tprocess.stackTrace = jQuery.Deferred.getStackHook();\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\twindow.setTimeout( process );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\treturn jQuery.Deferred( function( newDefer ) {\\n\\n\\t\\t\\t\\t\\t\\t// progress_handlers.add( ... )\\n\\t\\t\\t\\t\\t\\ttuples[ 0 ][ 3 ].add(\\n\\t\\t\\t\\t\\t\\t\\tresolve(\\n\\t\\t\\t\\t\\t\\t\\t\\t0,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer,\\n\\t\\t\\t\\t\\t\\t\\t\\tisFunction( onProgress ) ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tonProgress :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tIdentity,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer.notifyWith\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t\\t// fulfilled_handlers.add( ... )\\n\\t\\t\\t\\t\\t\\ttuples[ 1 ][ 3 ].add(\\n\\t\\t\\t\\t\\t\\t\\tresolve(\\n\\t\\t\\t\\t\\t\\t\\t\\t0,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer,\\n\\t\\t\\t\\t\\t\\t\\t\\tisFunction( onFulfilled ) ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tonFulfilled :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tIdentity\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t\\t// rejected_handlers.add( ... )\\n\\t\\t\\t\\t\\t\\ttuples[ 2 ][ 3 ].add(\\n\\t\\t\\t\\t\\t\\t\\tresolve(\\n\\t\\t\\t\\t\\t\\t\\t\\t0,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer,\\n\\t\\t\\t\\t\\t\\t\\t\\tisFunction( onRejected ) ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tonRejected :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tThrower\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t} ).promise();\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Get a promise for this deferred\\n\\t\\t\\t\\t// If obj is provided, the promise aspect is added to the object\\n\\t\\t\\t\\tpromise: function( obj ) {\\n\\t\\t\\t\\t\\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\tdeferred = {};\\n\\n\\t\\t// Add list-specific methods\\n\\t\\tjQuery.each( tuples, function( i, tuple ) {\\n\\t\\t\\tvar list = tuple[ 2 ],\\n\\t\\t\\t\\tstateString = tuple[ 5 ];\\n\\n\\t\\t\\t// promise.progress = list.add\\n\\t\\t\\t// promise.done = list.add\\n\\t\\t\\t// promise.fail = list.add\\n\\t\\t\\tpromise[ tuple[ 1 ] ] = list.add;\\n\\n\\t\\t\\t// Handle state\\n\\t\\t\\tif ( stateString ) {\\n\\t\\t\\t\\tlist.add(\\n\\t\\t\\t\\t\\tfunction() {\\n\\n\\t\\t\\t\\t\\t\\t// state = \\\"resolved\\\" (i.e., fulfilled)\\n\\t\\t\\t\\t\\t\\t// state = \\\"rejected\\\"\\n\\t\\t\\t\\t\\t\\tstate = stateString;\\n\\t\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t\\t// rejected_callbacks.disable\\n\\t\\t\\t\\t\\t// fulfilled_callbacks.disable\\n\\t\\t\\t\\t\\ttuples[ 3 - i ][ 2 ].disable,\\n\\n\\t\\t\\t\\t\\t// rejected_handlers.disable\\n\\t\\t\\t\\t\\t// fulfilled_handlers.disable\\n\\t\\t\\t\\t\\ttuples[ 3 - i ][ 3 ].disable,\\n\\n\\t\\t\\t\\t\\t// progress_callbacks.lock\\n\\t\\t\\t\\t\\ttuples[ 0 ][ 2 ].lock,\\n\\n\\t\\t\\t\\t\\t// progress_handlers.lock\\n\\t\\t\\t\\t\\ttuples[ 0 ][ 3 ].lock\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// progress_handlers.fire\\n\\t\\t\\t// fulfilled_handlers.fire\\n\\t\\t\\t// rejected_handlers.fire\\n\\t\\t\\tlist.add( tuple[ 3 ].fire );\\n\\n\\t\\t\\t// deferred.notify = function() { deferred.notifyWith(...) }\\n\\t\\t\\t// deferred.resolve = function() { deferred.resolveWith(...) }\\n\\t\\t\\t// deferred.reject = function() { deferred.rejectWith(...) }\\n\\t\\t\\tdeferred[ tuple[ 0 ] ] = function() {\\n\\t\\t\\t\\tdeferred[ tuple[ 0 ] + \\\"With\\\" ]( this === deferred ? undefined : this, arguments );\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t};\\n\\n\\t\\t\\t// deferred.notifyWith = list.fireWith\\n\\t\\t\\t// deferred.resolveWith = list.fireWith\\n\\t\\t\\t// deferred.rejectWith = list.fireWith\\n\\t\\t\\tdeferred[ tuple[ 0 ] + \\\"With\\\" ] = list.fireWith;\\n\\t\\t} );\\n\\n\\t\\t// Make the deferred a promise\\n\\t\\tpromise.promise( deferred );\\n\\n\\t\\t// Call given func if any\\n\\t\\tif ( func ) {\\n\\t\\t\\tfunc.call( deferred, deferred );\\n\\t\\t}\\n\\n\\t\\t// All done!\\n\\t\\treturn deferred;\\n\\t},\\n\\n\\t// Deferred helper\\n\\twhen: function( singleValue ) {\\n\\t\\tvar\\n\\n\\t\\t\\t// count of uncompleted subordinates\\n\\t\\t\\tremaining = arguments.length,\\n\\n\\t\\t\\t// count of unprocessed arguments\\n\\t\\t\\ti = remaining,\\n\\n\\t\\t\\t// subordinate fulfillment data\\n\\t\\t\\tresolveContexts = Array( i ),\\n\\t\\t\\tresolveValues = slice.call( arguments ),\\n\\n\\t\\t\\t// the master Deferred\\n\\t\\t\\tmaster = jQuery.Deferred(),\\n\\n\\t\\t\\t// subordinate callback factory\\n\\t\\t\\tupdateFunc = function( i ) {\\n\\t\\t\\t\\treturn function( value ) {\\n\\t\\t\\t\\t\\tresolveContexts[ i ] = this;\\n\\t\\t\\t\\t\\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\\n\\t\\t\\t\\t\\tif ( !( --remaining ) ) {\\n\\t\\t\\t\\t\\t\\tmaster.resolveWith( resolveContexts, resolveValues );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\t\\t};\\n\\n\\t\\t// Single- and empty arguments are adopted like Promise.resolve\\n\\t\\tif ( remaining <= 1 ) {\\n\\t\\t\\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\\n\\t\\t\\t\\t!remaining );\\n\\n\\t\\t\\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\\n\\t\\t\\tif ( master.state() === \\\"pending\\\" ||\\n\\t\\t\\t\\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\\n\\n\\t\\t\\t\\treturn master.then();\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Multiple arguments are aggregated like Promise.all array elements\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\\n\\t\\t}\\n\\n\\t\\treturn master.promise();\\n\\t}\\n} );\\n\\n\\n// These usually indicate a programmer mistake during development,\\n// warn about them ASAP rather than swallowing them by default.\\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\\n\\njQuery.Deferred.exceptionHook = function( error, stack ) {\\n\\n\\t// Support: IE 8 - 9 only\\n\\t// Console exists when dev tools are open, which can happen at any time\\n\\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\\n\\t\\twindow.console.warn( \\\"jQuery.Deferred exception: \\\" + error.message, error.stack, stack );\\n\\t}\\n};\\n\\n\\n\\n\\njQuery.readyException = function( error ) {\\n\\twindow.setTimeout( function() {\\n\\t\\tthrow error;\\n\\t} );\\n};\\n\\n\\n\\n\\n// The deferred used on DOM ready\\nvar readyList = jQuery.Deferred();\\n\\njQuery.fn.ready = function( fn ) {\\n\\n\\treadyList\\n\\t\\t.then( fn )\\n\\n\\t\\t// Wrap jQuery.readyException in a function so that the lookup\\n\\t\\t// happens at the time of error handling instead of callback\\n\\t\\t// registration.\\n\\t\\t.catch( function( error ) {\\n\\t\\t\\tjQuery.readyException( error );\\n\\t\\t} );\\n\\n\\treturn this;\\n};\\n\\njQuery.extend( {\\n\\n\\t// Is the DOM ready to be used? Set to true once it occurs.\\n\\tisReady: false,\\n\\n\\t// A counter to track how many items to wait for before\\n\\t// the ready event fires. See #6781\\n\\treadyWait: 1,\\n\\n\\t// Handle when the DOM is ready\\n\\tready: function( wait ) {\\n\\n\\t\\t// Abort if there are pending holds or we're already ready\\n\\t\\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Remember that the DOM is ready\\n\\t\\tjQuery.isReady = true;\\n\\n\\t\\t// If a normal DOM Ready event fired, decrement, and wait if need be\\n\\t\\tif ( wait !== true && --jQuery.readyWait > 0 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// If there are functions bound, to execute\\n\\t\\treadyList.resolveWith( document, [ jQuery ] );\\n\\t}\\n} );\\n\\njQuery.ready.then = readyList.then;\\n\\n// The ready event handler and self cleanup method\\nfunction completed() {\\n\\tdocument.removeEventListener( \\\"DOMContentLoaded\\\", completed );\\n\\twindow.removeEventListener( \\\"load\\\", completed );\\n\\tjQuery.ready();\\n}\\n\\n// Catch cases where $(document).ready() is called\\n// after the browser event has already occurred.\\n// Support: IE <=9 - 10 only\\n// Older IE sometimes signals \\\"interactive\\\" too soon\\nif ( document.readyState === \\\"complete\\\" ||\\n\\t( document.readyState !== \\\"loading\\\" && !document.documentElement.doScroll ) ) {\\n\\n\\t// Handle it asynchronously to allow scripts the opportunity to delay ready\\n\\twindow.setTimeout( jQuery.ready );\\n\\n} else {\\n\\n\\t// Use the handy event callback\\n\\tdocument.addEventListener( \\\"DOMContentLoaded\\\", completed );\\n\\n\\t// A fallback to window.onload, that will always work\\n\\twindow.addEventListener( \\\"load\\\", completed );\\n}\\n\\n\\n\\n\\n// Multifunctional method to get and set values of a collection\\n// The value/s can optionally be executed if it's a function\\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\\n\\tvar i = 0,\\n\\t\\tlen = elems.length,\\n\\t\\tbulk = key == null;\\n\\n\\t// Sets many values\\n\\tif ( toType( key ) === \\\"object\\\" ) {\\n\\t\\tchainable = true;\\n\\t\\tfor ( i in key ) {\\n\\t\\t\\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\\n\\t\\t}\\n\\n\\t// Sets one value\\n\\t} else if ( value !== undefined ) {\\n\\t\\tchainable = true;\\n\\n\\t\\tif ( !isFunction( value ) ) {\\n\\t\\t\\traw = true;\\n\\t\\t}\\n\\n\\t\\tif ( bulk ) {\\n\\n\\t\\t\\t// Bulk operations run against the entire set\\n\\t\\t\\tif ( raw ) {\\n\\t\\t\\t\\tfn.call( elems, value );\\n\\t\\t\\t\\tfn = null;\\n\\n\\t\\t\\t// ...except when executing function values\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tbulk = fn;\\n\\t\\t\\t\\tfn = function( elem, _key, value ) {\\n\\t\\t\\t\\t\\treturn bulk.call( jQuery( elem ), value );\\n\\t\\t\\t\\t};\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif ( fn ) {\\n\\t\\t\\tfor ( ; i < len; i++ ) {\\n\\t\\t\\t\\tfn(\\n\\t\\t\\t\\t\\telems[ i ], key, raw ?\\n\\t\\t\\t\\t\\tvalue :\\n\\t\\t\\t\\t\\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tif ( chainable ) {\\n\\t\\treturn elems;\\n\\t}\\n\\n\\t// Gets\\n\\tif ( bulk ) {\\n\\t\\treturn fn.call( elems );\\n\\t}\\n\\n\\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\\n};\\n\\n\\n// Matches dashed string for camelizing\\nvar rmsPrefix = /^-ms-/,\\n\\trdashAlpha = /-([a-z])/g;\\n\\n// Used by camelCase as callback to replace()\\nfunction fcamelCase( _all, letter ) {\\n\\treturn letter.toUpperCase();\\n}\\n\\n// Convert dashed to camelCase; used by the css and data modules\\n// Support: IE <=9 - 11, Edge 12 - 15\\n// Microsoft forgot to hump their vendor prefix (#9572)\\nfunction camelCase( string ) {\\n\\treturn string.replace( rmsPrefix, \\\"ms-\\\" ).replace( rdashAlpha, fcamelCase );\\n}\\nvar acceptData = function( owner ) {\\n\\n\\t// Accepts only:\\n\\t//  - Node\\n\\t//    - Node.ELEMENT_NODE\\n\\t//    - Node.DOCUMENT_NODE\\n\\t//  - Object\\n\\t//    - Any\\n\\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\\n};\\n\\n\\n\\n\\nfunction Data() {\\n\\tthis.expando = jQuery.expando + Data.uid++;\\n}\\n\\nData.uid = 1;\\n\\nData.prototype = {\\n\\n\\tcache: function( owner ) {\\n\\n\\t\\t// Check if the owner object already has a cache\\n\\t\\tvar value = owner[ this.expando ];\\n\\n\\t\\t// If not, create one\\n\\t\\tif ( !value ) {\\n\\t\\t\\tvalue = Object.create( null );\\n\\n\\t\\t\\t// We can accept data for non-element nodes in modern browsers,\\n\\t\\t\\t// but we should not, see #8335.\\n\\t\\t\\t// Always return an empty object.\\n\\t\\t\\tif ( acceptData( owner ) ) {\\n\\n\\t\\t\\t\\t// If it is a node unlikely to be stringify-ed or looped over\\n\\t\\t\\t\\t// use plain assignment\\n\\t\\t\\t\\tif ( owner.nodeType ) {\\n\\t\\t\\t\\t\\towner[ this.expando ] = value;\\n\\n\\t\\t\\t\\t// Otherwise secure it in a non-enumerable property\\n\\t\\t\\t\\t// configurable must be true to allow the property to be\\n\\t\\t\\t\\t// deleted when data is removed\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tObject.defineProperty( owner, this.expando, {\\n\\t\\t\\t\\t\\t\\tvalue: value,\\n\\t\\t\\t\\t\\t\\tconfigurable: true\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn value;\\n\\t},\\n\\tset: function( owner, data, value ) {\\n\\t\\tvar prop,\\n\\t\\t\\tcache = this.cache( owner );\\n\\n\\t\\t// Handle: [ owner, key, value ] args\\n\\t\\t// Always use camelCase key (gh-2257)\\n\\t\\tif ( typeof data === \\\"string\\\" ) {\\n\\t\\t\\tcache[ camelCase( data ) ] = value;\\n\\n\\t\\t// Handle: [ owner, { properties } ] args\\n\\t\\t} else {\\n\\n\\t\\t\\t// Copy the properties one-by-one to the cache object\\n\\t\\t\\tfor ( prop in data ) {\\n\\t\\t\\t\\tcache[ camelCase( prop ) ] = data[ prop ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn cache;\\n\\t},\\n\\tget: function( owner, key ) {\\n\\t\\treturn key === undefined ?\\n\\t\\t\\tthis.cache( owner ) :\\n\\n\\t\\t\\t// Always use camelCase key (gh-2257)\\n\\t\\t\\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\\n\\t},\\n\\taccess: function( owner, key, value ) {\\n\\n\\t\\t// In cases where either:\\n\\t\\t//\\n\\t\\t//   1. No key was specified\\n\\t\\t//   2. A string key was specified, but no value provided\\n\\t\\t//\\n\\t\\t// Take the \\\"read\\\" path and allow the get method to determine\\n\\t\\t// which value to return, respectively either:\\n\\t\\t//\\n\\t\\t//   1. The entire cache object\\n\\t\\t//   2. The data stored at the key\\n\\t\\t//\\n\\t\\tif ( key === undefined ||\\n\\t\\t\\t\\t( ( key && typeof key === \\\"string\\\" ) && value === undefined ) ) {\\n\\n\\t\\t\\treturn this.get( owner, key );\\n\\t\\t}\\n\\n\\t\\t// When the key is not a string, or both a key and value\\n\\t\\t// are specified, set or extend (existing objects) with either:\\n\\t\\t//\\n\\t\\t//   1. An object of properties\\n\\t\\t//   2. A key and value\\n\\t\\t//\\n\\t\\tthis.set( owner, key, value );\\n\\n\\t\\t// Since the \\\"set\\\" path can have two possible entry points\\n\\t\\t// return the expected data based on which path was taken[*]\\n\\t\\treturn value !== undefined ? value : key;\\n\\t},\\n\\tremove: function( owner, key ) {\\n\\t\\tvar i,\\n\\t\\t\\tcache = owner[ this.expando ];\\n\\n\\t\\tif ( cache === undefined ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ( key !== undefined ) {\\n\\n\\t\\t\\t// Support array or space separated string of keys\\n\\t\\t\\tif ( Array.isArray( key ) ) {\\n\\n\\t\\t\\t\\t// If key is an array of keys...\\n\\t\\t\\t\\t// We always set camelCase keys, so remove that.\\n\\t\\t\\t\\tkey = key.map( camelCase );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tkey = camelCase( key );\\n\\n\\t\\t\\t\\t// If a key with the spaces exists, use it.\\n\\t\\t\\t\\t// Otherwise, create an array by matching non-whitespace\\n\\t\\t\\t\\tkey = key in cache ?\\n\\t\\t\\t\\t\\t[ key ] :\\n\\t\\t\\t\\t\\t( key.match( rnothtmlwhite ) || [] );\\n\\t\\t\\t}\\n\\n\\t\\t\\ti = key.length;\\n\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tdelete cache[ key[ i ] ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Remove the expando if there's no more data\\n\\t\\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\\n\\n\\t\\t\\t// Support: Chrome <=35 - 45\\n\\t\\t\\t// Webkit & Blink performance suffers when deleting properties\\n\\t\\t\\t// from DOM nodes, so set to undefined instead\\n\\t\\t\\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\\n\\t\\t\\tif ( owner.nodeType ) {\\n\\t\\t\\t\\towner[ this.expando ] = undefined;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tdelete owner[ this.expando ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\thasData: function( owner ) {\\n\\t\\tvar cache = owner[ this.expando ];\\n\\t\\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\\n\\t}\\n};\\nvar dataPriv = new Data();\\n\\nvar dataUser = new Data();\\n\\n\\n\\n//\\tImplementation Summary\\n//\\n//\\t1. Enforce API surface and semantic compatibility with 1.9.x branch\\n//\\t2. Improve the module's maintainability by reducing the storage\\n//\\t\\tpaths to a single mechanism.\\n//\\t3. Use the same single mechanism to support \\\"private\\\" and \\\"user\\\" data.\\n//\\t4. _Never_ expose \\\"private\\\" data to user code (TODO: Drop _data, _removeData)\\n//\\t5. Avoid exposing implementation details on user objects (eg. expando properties)\\n//\\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\\n\\nvar rbrace = /^(?:\\\\{[\\\\w\\\\W]*\\\\}|\\\\[[\\\\w\\\\W]*\\\\])$/,\\n\\trmultiDash = /[A-Z]/g;\\n\\nfunction getData( data ) {\\n\\tif ( data === \\\"true\\\" ) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tif ( data === \\\"false\\\" ) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\tif ( data === \\\"null\\\" ) {\\n\\t\\treturn null;\\n\\t}\\n\\n\\t// Only convert to a number if it doesn't change the string\\n\\tif ( data === +data + \\\"\\\" ) {\\n\\t\\treturn +data;\\n\\t}\\n\\n\\tif ( rbrace.test( data ) ) {\\n\\t\\treturn JSON.parse( data );\\n\\t}\\n\\n\\treturn data;\\n}\\n\\nfunction dataAttr( elem, key, data ) {\\n\\tvar name;\\n\\n\\t// If nothing was found internally, try to fetch any\\n\\t// data from the HTML5 data-* attribute\\n\\tif ( data === undefined && elem.nodeType === 1 ) {\\n\\t\\tname = \\\"data-\\\" + key.replace( rmultiDash, \\\"-$&\\\" ).toLowerCase();\\n\\t\\tdata = elem.getAttribute( name );\\n\\n\\t\\tif ( typeof data === \\\"string\\\" ) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tdata = getData( data );\\n\\t\\t\\t} catch ( e ) {}\\n\\n\\t\\t\\t// Make sure we set the data so it isn't changed later\\n\\t\\t\\tdataUser.set( elem, key, data );\\n\\t\\t} else {\\n\\t\\t\\tdata = undefined;\\n\\t\\t}\\n\\t}\\n\\treturn data;\\n}\\n\\njQuery.extend( {\\n\\thasData: function( elem ) {\\n\\t\\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\\n\\t},\\n\\n\\tdata: function( elem, name, data ) {\\n\\t\\treturn dataUser.access( elem, name, data );\\n\\t},\\n\\n\\tremoveData: function( elem, name ) {\\n\\t\\tdataUser.remove( elem, name );\\n\\t},\\n\\n\\t// TODO: Now that all calls to _data and _removeData have been replaced\\n\\t// with direct calls to dataPriv methods, these can be deprecated.\\n\\t_data: function( elem, name, data ) {\\n\\t\\treturn dataPriv.access( elem, name, data );\\n\\t},\\n\\n\\t_removeData: function( elem, name ) {\\n\\t\\tdataPriv.remove( elem, name );\\n\\t}\\n} );\\n\\njQuery.fn.extend( {\\n\\tdata: function( key, value ) {\\n\\t\\tvar i, name, data,\\n\\t\\t\\telem = this[ 0 ],\\n\\t\\t\\tattrs = elem && elem.attributes;\\n\\n\\t\\t// Gets all values\\n\\t\\tif ( key === undefined ) {\\n\\t\\t\\tif ( this.length ) {\\n\\t\\t\\t\\tdata = dataUser.get( elem );\\n\\n\\t\\t\\t\\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \\\"hasDataAttrs\\\" ) ) {\\n\\t\\t\\t\\t\\ti = attrs.length;\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE 11 only\\n\\t\\t\\t\\t\\t\\t// The attrs elements can be null (#14894)\\n\\t\\t\\t\\t\\t\\tif ( attrs[ i ] ) {\\n\\t\\t\\t\\t\\t\\t\\tname = attrs[ i ].name;\\n\\t\\t\\t\\t\\t\\t\\tif ( name.indexOf( \\\"data-\\\" ) === 0 ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tname = camelCase( name.slice( 5 ) );\\n\\t\\t\\t\\t\\t\\t\\t\\tdataAttr( elem, name, data[ name ] );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tdataPriv.set( elem, \\\"hasDataAttrs\\\", true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn data;\\n\\t\\t}\\n\\n\\t\\t// Sets multiple values\\n\\t\\tif ( typeof key === \\\"object\\\" ) {\\n\\t\\t\\treturn this.each( function() {\\n\\t\\t\\t\\tdataUser.set( this, key );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\treturn access( this, function( value ) {\\n\\t\\t\\tvar data;\\n\\n\\t\\t\\t// The calling jQuery object (element matches) is not empty\\n\\t\\t\\t// (and therefore has an element appears at this[ 0 ]) and the\\n\\t\\t\\t// `value` parameter was not undefined. An empty jQuery object\\n\\t\\t\\t// will result in `undefined` for elem = this[ 0 ] which will\\n\\t\\t\\t// throw an exception if an attempt to read a data cache is made.\\n\\t\\t\\tif ( elem && value === undefined ) {\\n\\n\\t\\t\\t\\t// Attempt to get data from the cache\\n\\t\\t\\t\\t// The key will always be camelCased in Data\\n\\t\\t\\t\\tdata = dataUser.get( elem, key );\\n\\t\\t\\t\\tif ( data !== undefined ) {\\n\\t\\t\\t\\t\\treturn data;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Attempt to \\\"discover\\\" the data in\\n\\t\\t\\t\\t// HTML5 custom data-* attrs\\n\\t\\t\\t\\tdata = dataAttr( elem, key );\\n\\t\\t\\t\\tif ( data !== undefined ) {\\n\\t\\t\\t\\t\\treturn data;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// We tried really hard, but the data doesn't exist.\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Set the data...\\n\\t\\t\\tthis.each( function() {\\n\\n\\t\\t\\t\\t// We always store the camelCased key\\n\\t\\t\\t\\tdataUser.set( this, key, value );\\n\\t\\t\\t} );\\n\\t\\t}, null, value, arguments.length > 1, null, true );\\n\\t},\\n\\n\\tremoveData: function( key ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tdataUser.remove( this, key );\\n\\t\\t} );\\n\\t}\\n} );\\n\\n\\njQuery.extend( {\\n\\tqueue: function( elem, type, data ) {\\n\\t\\tvar queue;\\n\\n\\t\\tif ( elem ) {\\n\\t\\t\\ttype = ( type || \\\"fx\\\" ) + \\\"queue\\\";\\n\\t\\t\\tqueue = dataPriv.get( elem, type );\\n\\n\\t\\t\\t// Speed up dequeue by getting out quickly if this is just a lookup\\n\\t\\t\\tif ( data ) {\\n\\t\\t\\t\\tif ( !queue || Array.isArray( data ) ) {\\n\\t\\t\\t\\t\\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tqueue.push( data );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn queue || [];\\n\\t\\t}\\n\\t},\\n\\n\\tdequeue: function( elem, type ) {\\n\\t\\ttype = type || \\\"fx\\\";\\n\\n\\t\\tvar queue = jQuery.queue( elem, type ),\\n\\t\\t\\tstartLength = queue.length,\\n\\t\\t\\tfn = queue.shift(),\\n\\t\\t\\thooks = jQuery._queueHooks( elem, type ),\\n\\t\\t\\tnext = function() {\\n\\t\\t\\t\\tjQuery.dequeue( elem, type );\\n\\t\\t\\t};\\n\\n\\t\\t// If the fx queue is dequeued, always remove the progress sentinel\\n\\t\\tif ( fn === \\\"inprogress\\\" ) {\\n\\t\\t\\tfn = queue.shift();\\n\\t\\t\\tstartLength--;\\n\\t\\t}\\n\\n\\t\\tif ( fn ) {\\n\\n\\t\\t\\t// Add a progress sentinel to prevent the fx queue from being\\n\\t\\t\\t// automatically dequeued\\n\\t\\t\\tif ( type === \\\"fx\\\" ) {\\n\\t\\t\\t\\tqueue.unshift( \\\"inprogress\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Clear up the last queue stop function\\n\\t\\t\\tdelete hooks.stop;\\n\\t\\t\\tfn.call( elem, next, hooks );\\n\\t\\t}\\n\\n\\t\\tif ( !startLength && hooks ) {\\n\\t\\t\\thooks.empty.fire();\\n\\t\\t}\\n\\t},\\n\\n\\t// Not public - generate a queueHooks object, or return the current one\\n\\t_queueHooks: function( elem, type ) {\\n\\t\\tvar key = type + \\\"queueHooks\\\";\\n\\t\\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\\n\\t\\t\\tempty: jQuery.Callbacks( \\\"once memory\\\" ).add( function() {\\n\\t\\t\\t\\tdataPriv.remove( elem, [ type + \\\"queue\\\", key ] );\\n\\t\\t\\t} )\\n\\t\\t} );\\n\\t}\\n} );\\n\\njQuery.fn.extend( {\\n\\tqueue: function( type, data ) {\\n\\t\\tvar setter = 2;\\n\\n\\t\\tif ( typeof type !== \\\"string\\\" ) {\\n\\t\\t\\tdata = type;\\n\\t\\t\\ttype = \\\"fx\\\";\\n\\t\\t\\tsetter--;\\n\\t\\t}\\n\\n\\t\\tif ( arguments.length < setter ) {\\n\\t\\t\\treturn jQuery.queue( this[ 0 ], type );\\n\\t\\t}\\n\\n\\t\\treturn data === undefined ?\\n\\t\\t\\tthis :\\n\\t\\t\\tthis.each( function() {\\n\\t\\t\\t\\tvar queue = jQuery.queue( this, type, data );\\n\\n\\t\\t\\t\\t// Ensure a hooks for this queue\\n\\t\\t\\t\\tjQuery._queueHooks( this, type );\\n\\n\\t\\t\\t\\tif ( type === \\\"fx\\\" && queue[ 0 ] !== \\\"inprogress\\\" ) {\\n\\t\\t\\t\\t\\tjQuery.dequeue( this, type );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t},\\n\\tdequeue: function( type ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tjQuery.dequeue( this, type );\\n\\t\\t} );\\n\\t},\\n\\tclearQueue: function( type ) {\\n\\t\\treturn this.queue( type || \\\"fx\\\", [] );\\n\\t},\\n\\n\\t// Get a promise resolved when queues of a certain type\\n\\t// are emptied (fx is the type by default)\\n\\tpromise: function( type, obj ) {\\n\\t\\tvar tmp,\\n\\t\\t\\tcount = 1,\\n\\t\\t\\tdefer = jQuery.Deferred(),\\n\\t\\t\\telements = this,\\n\\t\\t\\ti = this.length,\\n\\t\\t\\tresolve = function() {\\n\\t\\t\\t\\tif ( !( --count ) ) {\\n\\t\\t\\t\\t\\tdefer.resolveWith( elements, [ elements ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\n\\t\\tif ( typeof type !== \\\"string\\\" ) {\\n\\t\\t\\tobj = type;\\n\\t\\t\\ttype = undefined;\\n\\t\\t}\\n\\t\\ttype = type || \\\"fx\\\";\\n\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\ttmp = dataPriv.get( elements[ i ], type + \\\"queueHooks\\\" );\\n\\t\\t\\tif ( tmp && tmp.empty ) {\\n\\t\\t\\t\\tcount++;\\n\\t\\t\\t\\ttmp.empty.add( resolve );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tresolve();\\n\\t\\treturn defer.promise( obj );\\n\\t}\\n} );\\nvar pnum = ( /[+-]?(?:\\\\d*\\\\.|)\\\\d+(?:[eE][+-]?\\\\d+|)/ ).source;\\n\\nvar rcssNum = new RegExp( \\\"^(?:([+-])=|)(\\\" + pnum + \\\")([a-z%]*)$\\\", \\\"i\\\" );\\n\\n\\nvar cssExpand = [ \\\"Top\\\", \\\"Right\\\", \\\"Bottom\\\", \\\"Left\\\" ];\\n\\nvar documentElement = document.documentElement;\\n\\n\\n\\n\\tvar isAttached = function( elem ) {\\n\\t\\t\\treturn jQuery.contains( elem.ownerDocument, elem );\\n\\t\\t},\\n\\t\\tcomposed = { composed: true };\\n\\n\\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\\n\\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\\n\\t// Support: iOS 10.0-10.2 only\\n\\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\\n\\t// leading to errors. We need to check for `getRootNode`.\\n\\tif ( documentElement.getRootNode ) {\\n\\t\\tisAttached = function( elem ) {\\n\\t\\t\\treturn jQuery.contains( elem.ownerDocument, elem ) ||\\n\\t\\t\\t\\telem.getRootNode( composed ) === elem.ownerDocument;\\n\\t\\t};\\n\\t}\\nvar isHiddenWithinTree = function( elem, el ) {\\n\\n\\t\\t// isHiddenWithinTree might be called from jQuery#filter function;\\n\\t\\t// in that case, element will be second argument\\n\\t\\telem = el || elem;\\n\\n\\t\\t// Inline style trumps all\\n\\t\\treturn elem.style.display === \\\"none\\\" ||\\n\\t\\t\\telem.style.display === \\\"\\\" &&\\n\\n\\t\\t\\t// Otherwise, check computed style\\n\\t\\t\\t// Support: Firefox <=43 - 45\\n\\t\\t\\t// Disconnected elements can have computed display: none, so first confirm that elem is\\n\\t\\t\\t// in the document.\\n\\t\\t\\tisAttached( elem ) &&\\n\\n\\t\\t\\tjQuery.css( elem, \\\"display\\\" ) === \\\"none\\\";\\n\\t};\\n\\n\\n\\nfunction adjustCSS( elem, prop, valueParts, tween ) {\\n\\tvar adjusted, scale,\\n\\t\\tmaxIterations = 20,\\n\\t\\tcurrentValue = tween ?\\n\\t\\t\\tfunction() {\\n\\t\\t\\t\\treturn tween.cur();\\n\\t\\t\\t} :\\n\\t\\t\\tfunction() {\\n\\t\\t\\t\\treturn jQuery.css( elem, prop, \\\"\\\" );\\n\\t\\t\\t},\\n\\t\\tinitial = currentValue(),\\n\\t\\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \\\"\\\" : \\\"px\\\" ),\\n\\n\\t\\t// Starting value computation is required for potential unit mismatches\\n\\t\\tinitialInUnit = elem.nodeType &&\\n\\t\\t\\t( jQuery.cssNumber[ prop ] || unit !== \\\"px\\\" && +initial ) &&\\n\\t\\t\\trcssNum.exec( jQuery.css( elem, prop ) );\\n\\n\\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\\n\\n\\t\\t// Support: Firefox <=54\\n\\t\\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\\n\\t\\tinitial = initial / 2;\\n\\n\\t\\t// Trust units reported by jQuery.css\\n\\t\\tunit = unit || initialInUnit[ 3 ];\\n\\n\\t\\t// Iteratively approximate from a nonzero starting point\\n\\t\\tinitialInUnit = +initial || 1;\\n\\n\\t\\twhile ( maxIterations-- ) {\\n\\n\\t\\t\\t// Evaluate and update our best guess (doubling guesses that zero out).\\n\\t\\t\\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\\n\\t\\t\\tjQuery.style( elem, prop, initialInUnit + unit );\\n\\t\\t\\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\\n\\t\\t\\t\\tmaxIterations = 0;\\n\\t\\t\\t}\\n\\t\\t\\tinitialInUnit = initialInUnit / scale;\\n\\n\\t\\t}\\n\\n\\t\\tinitialInUnit = initialInUnit * 2;\\n\\t\\tjQuery.style( elem, prop, initialInUnit + unit );\\n\\n\\t\\t// Make sure we update the tween properties later on\\n\\t\\tvalueParts = valueParts || [];\\n\\t}\\n\\n\\tif ( valueParts ) {\\n\\t\\tinitialInUnit = +initialInUnit || +initial || 0;\\n\\n\\t\\t// Apply relative offset (+=/-=) if specified\\n\\t\\tadjusted = valueParts[ 1 ] ?\\n\\t\\t\\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\\n\\t\\t\\t+valueParts[ 2 ];\\n\\t\\tif ( tween ) {\\n\\t\\t\\ttween.unit = unit;\\n\\t\\t\\ttween.start = initialInUnit;\\n\\t\\t\\ttween.end = adjusted;\\n\\t\\t}\\n\\t}\\n\\treturn adjusted;\\n}\\n\\n\\nvar defaultDisplayMap = {};\\n\\nfunction getDefaultDisplay( elem ) {\\n\\tvar temp,\\n\\t\\tdoc = elem.ownerDocument,\\n\\t\\tnodeName = elem.nodeName,\\n\\t\\tdisplay = defaultDisplayMap[ nodeName ];\\n\\n\\tif ( display ) {\\n\\t\\treturn display;\\n\\t}\\n\\n\\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\\n\\tdisplay = jQuery.css( temp, \\\"display\\\" );\\n\\n\\ttemp.parentNode.removeChild( temp );\\n\\n\\tif ( display === \\\"none\\\" ) {\\n\\t\\tdisplay = \\\"block\\\";\\n\\t}\\n\\tdefaultDisplayMap[ nodeName ] = display;\\n\\n\\treturn display;\\n}\\n\\nfunction showHide( elements, show ) {\\n\\tvar display, elem,\\n\\t\\tvalues = [],\\n\\t\\tindex = 0,\\n\\t\\tlength = elements.length;\\n\\n\\t// Determine new display value for elements that need to change\\n\\tfor ( ; index < length; index++ ) {\\n\\t\\telem = elements[ index ];\\n\\t\\tif ( !elem.style ) {\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\n\\t\\tdisplay = elem.style.display;\\n\\t\\tif ( show ) {\\n\\n\\t\\t\\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\\n\\t\\t\\t// check is required in this first loop unless we have a nonempty display value (either\\n\\t\\t\\t// inline or about-to-be-restored)\\n\\t\\t\\tif ( display === \\\"none\\\" ) {\\n\\t\\t\\t\\tvalues[ index ] = dataPriv.get( elem, \\\"display\\\" ) || null;\\n\\t\\t\\t\\tif ( !values[ index ] ) {\\n\\t\\t\\t\\t\\telem.style.display = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif ( elem.style.display === \\\"\\\" && isHiddenWithinTree( elem ) ) {\\n\\t\\t\\t\\tvalues[ index ] = getDefaultDisplay( elem );\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tif ( display !== \\\"none\\\" ) {\\n\\t\\t\\t\\tvalues[ index ] = \\\"none\\\";\\n\\n\\t\\t\\t\\t// Remember what we're overwriting\\n\\t\\t\\t\\tdataPriv.set( elem, \\\"display\\\", display );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Set the display of the elements in a second loop to avoid constant reflow\\n\\tfor ( index = 0; index < length; index++ ) {\\n\\t\\tif ( values[ index ] != null ) {\\n\\t\\t\\telements[ index ].style.display = values[ index ];\\n\\t\\t}\\n\\t}\\n\\n\\treturn elements;\\n}\\n\\njQuery.fn.extend( {\\n\\tshow: function() {\\n\\t\\treturn showHide( this, true );\\n\\t},\\n\\thide: function() {\\n\\t\\treturn showHide( this );\\n\\t},\\n\\ttoggle: function( state ) {\\n\\t\\tif ( typeof state === \\\"boolean\\\" ) {\\n\\t\\t\\treturn state ? this.show() : this.hide();\\n\\t\\t}\\n\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tif ( isHiddenWithinTree( this ) ) {\\n\\t\\t\\t\\tjQuery( this ).show();\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tjQuery( this ).hide();\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t}\\n} );\\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\\n\\nvar rtagName = ( /<([a-z][^\\\\/\\\\0>\\\\x20\\\\t\\\\r\\\\n\\\\f]*)/i );\\n\\nvar rscriptType = ( /^$|^module$|\\\\/(?:java|ecma)script/i );\\n\\n\\n\\n( function() {\\n\\tvar fragment = document.createDocumentFragment(),\\n\\t\\tdiv = fragment.appendChild( document.createElement( \\\"div\\\" ) ),\\n\\t\\tinput = document.createElement( \\\"input\\\" );\\n\\n\\t// Support: Android 4.0 - 4.3 only\\n\\t// Check state lost if the name is set (#11217)\\n\\t// Support: Windows Web Apps (WWA)\\n\\t// `name` and `type` must use .setAttribute for WWA (#14901)\\n\\tinput.setAttribute( \\\"type\\\", \\\"radio\\\" );\\n\\tinput.setAttribute( \\\"checked\\\", \\\"checked\\\" );\\n\\tinput.setAttribute( \\\"name\\\", \\\"t\\\" );\\n\\n\\tdiv.appendChild( input );\\n\\n\\t// Support: Android <=4.1 only\\n\\t// Older WebKit doesn't clone checked state correctly in fragments\\n\\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\\n\\n\\t// Support: IE <=11 only\\n\\t// Make sure textarea (and checkbox) defaultValue is properly cloned\\n\\tdiv.innerHTML = \\\"<textarea>x</textarea>\\\";\\n\\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\\n\\n\\t// Support: IE <=9 only\\n\\t// IE <=9 replaces <option> tags with their contents when inserted outside of\\n\\t// the select element.\\n\\tdiv.innerHTML = \\\"<option></option>\\\";\\n\\tsupport.option = !!div.lastChild;\\n} )();\\n\\n\\n// We have to close these tags to support XHTML (#13200)\\nvar wrapMap = {\\n\\n\\t// XHTML parsers do not magically insert elements in the\\n\\t// same way that tag soup parsers do. So we cannot shorten\\n\\t// this by omitting <tbody> or other required elements.\\n\\tthead: [ 1, \\\"<table>\\\", \\\"</table>\\\" ],\\n\\tcol: [ 2, \\\"<table><colgroup>\\\", \\\"</colgroup></table>\\\" ],\\n\\ttr: [ 2, \\\"<table><tbody>\\\", \\\"</tbody></table>\\\" ],\\n\\ttd: [ 3, \\\"<table><tbody><tr>\\\", \\\"</tr></tbody></table>\\\" ],\\n\\n\\t_default: [ 0, \\\"\\\", \\\"\\\" ]\\n};\\n\\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\\nwrapMap.th = wrapMap.td;\\n\\n// Support: IE <=9 only\\nif ( !support.option ) {\\n\\twrapMap.optgroup = wrapMap.option = [ 1, \\\"<select multiple='multiple'>\\\", \\\"</select>\\\" ];\\n}\\n\\n\\nfunction getAll( context, tag ) {\\n\\n\\t// Support: IE <=9 - 11 only\\n\\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\\n\\tvar ret;\\n\\n\\tif ( typeof context.getElementsByTagName !== \\\"undefined\\\" ) {\\n\\t\\tret = context.getElementsByTagName( tag || \\\"*\\\" );\\n\\n\\t} else if ( typeof context.querySelectorAll !== \\\"undefined\\\" ) {\\n\\t\\tret = context.querySelectorAll( tag || \\\"*\\\" );\\n\\n\\t} else {\\n\\t\\tret = [];\\n\\t}\\n\\n\\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\\n\\t\\treturn jQuery.merge( [ context ], ret );\\n\\t}\\n\\n\\treturn ret;\\n}\\n\\n\\n// Mark scripts as having already been evaluated\\nfunction setGlobalEval( elems, refElements ) {\\n\\tvar i = 0,\\n\\t\\tl = elems.length;\\n\\n\\tfor ( ; i < l; i++ ) {\\n\\t\\tdataPriv.set(\\n\\t\\t\\telems[ i ],\\n\\t\\t\\t\\\"globalEval\\\",\\n\\t\\t\\t!refElements || dataPriv.get( refElements[ i ], \\\"globalEval\\\" )\\n\\t\\t);\\n\\t}\\n}\\n\\n\\nvar rhtml = /<|&#?\\\\w+;/;\\n\\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\\n\\tvar elem, tmp, tag, wrap, attached, j,\\n\\t\\tfragment = context.createDocumentFragment(),\\n\\t\\tnodes = [],\\n\\t\\ti = 0,\\n\\t\\tl = elems.length;\\n\\n\\tfor ( ; i < l; i++ ) {\\n\\t\\telem = elems[ i ];\\n\\n\\t\\tif ( elem || elem === 0 ) {\\n\\n\\t\\t\\t// Add nodes directly\\n\\t\\t\\tif ( toType( elem ) === \\\"object\\\" ) {\\n\\n\\t\\t\\t\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t\\t\\t\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\t\\t\\t\\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\\n\\n\\t\\t\\t// Convert non-html into a text node\\n\\t\\t\\t} else if ( !rhtml.test( elem ) ) {\\n\\t\\t\\t\\tnodes.push( context.createTextNode( elem ) );\\n\\n\\t\\t\\t// Convert html into DOM nodes\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ttmp = tmp || fragment.appendChild( context.createElement( \\\"div\\\" ) );\\n\\n\\t\\t\\t\\t// Deserialize a standard representation\\n\\t\\t\\t\\ttag = ( rtagName.exec( elem ) || [ \\\"\\\", \\\"\\\" ] )[ 1 ].toLowerCase();\\n\\t\\t\\t\\twrap = wrapMap[ tag ] || wrapMap._default;\\n\\t\\t\\t\\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\\n\\n\\t\\t\\t\\t// Descend through wrappers to the right content\\n\\t\\t\\t\\tj = wrap[ 0 ];\\n\\t\\t\\t\\twhile ( j-- ) {\\n\\t\\t\\t\\t\\ttmp = tmp.lastChild;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t\\t\\t\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\t\\t\\t\\tjQuery.merge( nodes, tmp.childNodes );\\n\\n\\t\\t\\t\\t// Remember the top-level container\\n\\t\\t\\t\\ttmp = fragment.firstChild;\\n\\n\\t\\t\\t\\t// Ensure the created nodes are orphaned (#12392)\\n\\t\\t\\t\\ttmp.textContent = \\\"\\\";\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove wrapper from fragment\\n\\tfragment.textContent = \\\"\\\";\\n\\n\\ti = 0;\\n\\twhile ( ( elem = nodes[ i++ ] ) ) {\\n\\n\\t\\t// Skip elements already in the context collection (trac-4087)\\n\\t\\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\\n\\t\\t\\tif ( ignored ) {\\n\\t\\t\\t\\tignored.push( elem );\\n\\t\\t\\t}\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\n\\t\\tattached = isAttached( elem );\\n\\n\\t\\t// Append to fragment\\n\\t\\ttmp = getAll( fragment.appendChild( elem ), \\\"script\\\" );\\n\\n\\t\\t// Preserve script evaluation history\\n\\t\\tif ( attached ) {\\n\\t\\t\\tsetGlobalEval( tmp );\\n\\t\\t}\\n\\n\\t\\t// Capture executables\\n\\t\\tif ( scripts ) {\\n\\t\\t\\tj = 0;\\n\\t\\t\\twhile ( ( elem = tmp[ j++ ] ) ) {\\n\\t\\t\\t\\tif ( rscriptType.test( elem.type || \\\"\\\" ) ) {\\n\\t\\t\\t\\t\\tscripts.push( elem );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn fragment;\\n}\\n\\n\\nvar\\n\\trkeyEvent = /^key/,\\n\\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\\n\\trtypenamespace = /^([^.]*)(?:\\\\.(.+)|)/;\\n\\nfunction returnTrue() {\\n\\treturn true;\\n}\\n\\nfunction returnFalse() {\\n\\treturn false;\\n}\\n\\n// Support: IE <=9 - 11+\\n// focus() and blur() are asynchronous, except when they are no-op.\\n// So expect focus to be synchronous when the element is already active,\\n// and blur to be synchronous when the element is not already active.\\n// (focus and blur are always synchronous in other supported browsers,\\n// this just defines when we can count on it).\\nfunction expectSync( elem, type ) {\\n\\treturn ( elem === safeActiveElement() ) === ( type === \\\"focus\\\" );\\n}\\n\\n// Support: IE <=9 only\\n// Accessing document.activeElement can throw unexpectedly\\n// https://bugs.jquery.com/ticket/13393\\nfunction safeActiveElement() {\\n\\ttry {\\n\\t\\treturn document.activeElement;\\n\\t} catch ( err ) { }\\n}\\n\\nfunction on( elem, types, selector, data, fn, one ) {\\n\\tvar origFn, type;\\n\\n\\t// Types can be a map of types/handlers\\n\\tif ( typeof types === \\\"object\\\" ) {\\n\\n\\t\\t// ( types-Object, selector, data )\\n\\t\\tif ( typeof selector !== \\\"string\\\" ) {\\n\\n\\t\\t\\t// ( types-Object, data )\\n\\t\\t\\tdata = data || selector;\\n\\t\\t\\tselector = undefined;\\n\\t\\t}\\n\\t\\tfor ( type in types ) {\\n\\t\\t\\ton( elem, type, selector, data, types[ type ], one );\\n\\t\\t}\\n\\t\\treturn elem;\\n\\t}\\n\\n\\tif ( data == null && fn == null ) {\\n\\n\\t\\t// ( types, fn )\\n\\t\\tfn = selector;\\n\\t\\tdata = selector = undefined;\\n\\t} else if ( fn == null ) {\\n\\t\\tif ( typeof selector === \\\"string\\\" ) {\\n\\n\\t\\t\\t// ( types, selector, fn )\\n\\t\\t\\tfn = data;\\n\\t\\t\\tdata = undefined;\\n\\t\\t} else {\\n\\n\\t\\t\\t// ( types, data, fn )\\n\\t\\t\\tfn = data;\\n\\t\\t\\tdata = selector;\\n\\t\\t\\tselector = undefined;\\n\\t\\t}\\n\\t}\\n\\tif ( fn === false ) {\\n\\t\\tfn = returnFalse;\\n\\t} else if ( !fn ) {\\n\\t\\treturn elem;\\n\\t}\\n\\n\\tif ( one === 1 ) {\\n\\t\\torigFn = fn;\\n\\t\\tfn = function( event ) {\\n\\n\\t\\t\\t// Can use an empty set, since event contains the info\\n\\t\\t\\tjQuery().off( event );\\n\\t\\t\\treturn origFn.apply( this, arguments );\\n\\t\\t};\\n\\n\\t\\t// Use same guid so caller can remove using origFn\\n\\t\\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\\n\\t}\\n\\treturn elem.each( function() {\\n\\t\\tjQuery.event.add( this, types, fn, data, selector );\\n\\t} );\\n}\\n\\n/*\\n * Helper functions for managing events -- not part of the public interface.\\n * Props to Dean Edwards' addEvent library for many of the ideas.\\n */\\njQuery.event = {\\n\\n\\tglobal: {},\\n\\n\\tadd: function( elem, types, handler, data, selector ) {\\n\\n\\t\\tvar handleObjIn, eventHandle, tmp,\\n\\t\\t\\tevents, t, handleObj,\\n\\t\\t\\tspecial, handlers, type, namespaces, origType,\\n\\t\\t\\telemData = dataPriv.get( elem );\\n\\n\\t\\t// Only attach events to objects that accept data\\n\\t\\tif ( !acceptData( elem ) ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Caller can pass in an object of custom data in lieu of the handler\\n\\t\\tif ( handler.handler ) {\\n\\t\\t\\thandleObjIn = handler;\\n\\t\\t\\thandler = handleObjIn.handler;\\n\\t\\t\\tselector = handleObjIn.selector;\\n\\t\\t}\\n\\n\\t\\t// Ensure that invalid selectors throw exceptions at attach time\\n\\t\\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\\n\\t\\tif ( selector ) {\\n\\t\\t\\tjQuery.find.matchesSelector( documentElement, selector );\\n\\t\\t}\\n\\n\\t\\t// Make sure that the handler has a unique ID, used to find/remove it later\\n\\t\\tif ( !handler.guid ) {\\n\\t\\t\\thandler.guid = jQuery.guid++;\\n\\t\\t}\\n\\n\\t\\t// Init the element's event structure and main handler, if this is the first\\n\\t\\tif ( !( events = elemData.events ) ) {\\n\\t\\t\\tevents = elemData.events = Object.create( null );\\n\\t\\t}\\n\\t\\tif ( !( eventHandle = elemData.handle ) ) {\\n\\t\\t\\teventHandle = elemData.handle = function( e ) {\\n\\n\\t\\t\\t\\t// Discard the second event of a jQuery.event.trigger() and\\n\\t\\t\\t\\t// when an event is called after a page has unloaded\\n\\t\\t\\t\\treturn typeof jQuery !== \\\"undefined\\\" && jQuery.event.triggered !== e.type ?\\n\\t\\t\\t\\t\\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\\n\\t\\t\\t};\\n\\t\\t}\\n\\n\\t\\t// Handle multiple events separated by a space\\n\\t\\ttypes = ( types || \\\"\\\" ).match( rnothtmlwhite ) || [ \\\"\\\" ];\\n\\t\\tt = types.length;\\n\\t\\twhile ( t-- ) {\\n\\t\\t\\ttmp = rtypenamespace.exec( types[ t ] ) || [];\\n\\t\\t\\ttype = origType = tmp[ 1 ];\\n\\t\\t\\tnamespaces = ( tmp[ 2 ] || \\\"\\\" ).split( \\\".\\\" ).sort();\\n\\n\\t\\t\\t// There *must* be a type, no attaching namespace-only handlers\\n\\t\\t\\tif ( !type ) {\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If event changes its type, use the special event handlers for the changed type\\n\\t\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\n\\t\\t\\t// If selector defined, determine special event api type, otherwise given type\\n\\t\\t\\ttype = ( selector ? special.delegateType : special.bindType ) || type;\\n\\n\\t\\t\\t// Update special based on newly reset type\\n\\t\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\n\\t\\t\\t// handleObj is passed to all event handlers\\n\\t\\t\\thandleObj = jQuery.extend( {\\n\\t\\t\\t\\ttype: type,\\n\\t\\t\\t\\torigType: origType,\\n\\t\\t\\t\\tdata: data,\\n\\t\\t\\t\\thandler: handler,\\n\\t\\t\\t\\tguid: handler.guid,\\n\\t\\t\\t\\tselector: selector,\\n\\t\\t\\t\\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\\n\\t\\t\\t\\tnamespace: namespaces.join( \\\".\\\" )\\n\\t\\t\\t}, handleObjIn );\\n\\n\\t\\t\\t// Init the event handler queue if we're the first\\n\\t\\t\\tif ( !( handlers = events[ type ] ) ) {\\n\\t\\t\\t\\thandlers = events[ type ] = [];\\n\\t\\t\\t\\thandlers.delegateCount = 0;\\n\\n\\t\\t\\t\\t// Only use addEventListener if the special events handler returns false\\n\\t\\t\\t\\tif ( !special.setup ||\\n\\t\\t\\t\\t\\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\\n\\n\\t\\t\\t\\t\\tif ( elem.addEventListener ) {\\n\\t\\t\\t\\t\\t\\telem.addEventListener( type, eventHandle );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( special.add ) {\\n\\t\\t\\t\\tspecial.add.call( elem, handleObj );\\n\\n\\t\\t\\t\\tif ( !handleObj.handler.guid ) {\\n\\t\\t\\t\\t\\thandleObj.handler.guid = handler.guid;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Add to the element's handler list, delegates in front\\n\\t\\t\\tif ( selector ) {\\n\\t\\t\\t\\thandlers.splice( handlers.delegateCount++, 0, handleObj );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\thandlers.push( handleObj );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Keep track of which events have ever been used, for event optimization\\n\\t\\t\\tjQuery.event.global[ type ] = true;\\n\\t\\t}\\n\\n\\t},\\n\\n\\t// Detach an event or set of events from an element\\n\\tremove: function( elem, types, handler, selector, mappedTypes ) {\\n\\n\\t\\tvar j, origCount, tmp,\\n\\t\\t\\tevents, t, handleObj,\\n\\t\\t\\tspecial, handlers, type, namespaces, origType,\\n\\t\\t\\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\\n\\n\\t\\tif ( !elemData || !( events = elemData.events ) ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Once for each type.namespace in types; type may be omitted\\n\\t\\ttypes = ( types || \\\"\\\" ).match( rnothtmlwhite ) || [ \\\"\\\" ];\\n\\t\\tt = types.length;\\n\\t\\twhile ( t-- ) {\\n\\t\\t\\ttmp = rtypenamespace.exec( types[ t ] ) || [];\\n\\t\\t\\ttype = origType = tmp[ 1 ];\\n\\t\\t\\tnamespaces = ( tmp[ 2 ] || \\\"\\\" ).split( \\\".\\\" ).sort();\\n\\n\\t\\t\\t// Unbind all events (on this namespace, if provided) for the element\\n\\t\\t\\tif ( !type ) {\\n\\t\\t\\t\\tfor ( type in events ) {\\n\\t\\t\\t\\t\\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\t\\t\\ttype = ( selector ? special.delegateType : special.bindType ) || type;\\n\\t\\t\\thandlers = events[ type ] || [];\\n\\t\\t\\ttmp = tmp[ 2 ] &&\\n\\t\\t\\t\\tnew RegExp( \\\"(^|\\\\\\\\.)\\\" + namespaces.join( \\\"\\\\\\\\.(?:.*\\\\\\\\.|)\\\" ) + \\\"(\\\\\\\\.|$)\\\" );\\n\\n\\t\\t\\t// Remove matching events\\n\\t\\t\\torigCount = j = handlers.length;\\n\\t\\t\\twhile ( j-- ) {\\n\\t\\t\\t\\thandleObj = handlers[ j ];\\n\\n\\t\\t\\t\\tif ( ( mappedTypes || origType === handleObj.origType ) &&\\n\\t\\t\\t\\t\\t( !handler || handler.guid === handleObj.guid ) &&\\n\\t\\t\\t\\t\\t( !tmp || tmp.test( handleObj.namespace ) ) &&\\n\\t\\t\\t\\t\\t( !selector || selector === handleObj.selector ||\\n\\t\\t\\t\\t\\t\\tselector === \\\"**\\\" && handleObj.selector ) ) {\\n\\t\\t\\t\\t\\thandlers.splice( j, 1 );\\n\\n\\t\\t\\t\\t\\tif ( handleObj.selector ) {\\n\\t\\t\\t\\t\\t\\thandlers.delegateCount--;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif ( special.remove ) {\\n\\t\\t\\t\\t\\t\\tspecial.remove.call( elem, handleObj );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Remove generic event handler if we removed something and no more handlers exist\\n\\t\\t\\t// (avoids potential for endless recursion during removal of special event handlers)\\n\\t\\t\\tif ( origCount && !handlers.length ) {\\n\\t\\t\\t\\tif ( !special.teardown ||\\n\\t\\t\\t\\t\\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\\n\\n\\t\\t\\t\\t\\tjQuery.removeEvent( elem, type, elemData.handle );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tdelete events[ type ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Remove data and the expando if it's no longer used\\n\\t\\tif ( jQuery.isEmptyObject( events ) ) {\\n\\t\\t\\tdataPriv.remove( elem, \\\"handle events\\\" );\\n\\t\\t}\\n\\t},\\n\\n\\tdispatch: function( nativeEvent ) {\\n\\n\\t\\tvar i, j, ret, matched, handleObj, handlerQueue,\\n\\t\\t\\targs = new Array( arguments.length ),\\n\\n\\t\\t\\t// Make a writable jQuery.Event from the native event object\\n\\t\\t\\tevent = jQuery.event.fix( nativeEvent ),\\n\\n\\t\\t\\thandlers = (\\n\\t\\t\\t\\t\\tdataPriv.get( this, \\\"events\\\" ) || Object.create( null )\\n\\t\\t\\t\\t)[ event.type ] || [],\\n\\t\\t\\tspecial = jQuery.event.special[ event.type ] || {};\\n\\n\\t\\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\\n\\t\\targs[ 0 ] = event;\\n\\n\\t\\tfor ( i = 1; i < arguments.length; i++ ) {\\n\\t\\t\\targs[ i ] = arguments[ i ];\\n\\t\\t}\\n\\n\\t\\tevent.delegateTarget = this;\\n\\n\\t\\t// Call the preDispatch hook for the mapped type, and let it bail if desired\\n\\t\\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Determine handlers\\n\\t\\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\\n\\n\\t\\t// Run delegates first; they may want to stop propagation beneath us\\n\\t\\ti = 0;\\n\\t\\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\\n\\t\\t\\tevent.currentTarget = matched.elem;\\n\\n\\t\\t\\tj = 0;\\n\\t\\t\\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\\n\\t\\t\\t\\t!event.isImmediatePropagationStopped() ) {\\n\\n\\t\\t\\t\\t// If the event is namespaced, then each handler is only invoked if it is\\n\\t\\t\\t\\t// specially universal or its namespaces are a superset of the event's.\\n\\t\\t\\t\\tif ( !event.rnamespace || handleObj.namespace === false ||\\n\\t\\t\\t\\t\\tevent.rnamespace.test( handleObj.namespace ) ) {\\n\\n\\t\\t\\t\\t\\tevent.handleObj = handleObj;\\n\\t\\t\\t\\t\\tevent.data = handleObj.data;\\n\\n\\t\\t\\t\\t\\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\\n\\t\\t\\t\\t\\t\\thandleObj.handler ).apply( matched.elem, args );\\n\\n\\t\\t\\t\\t\\tif ( ret !== undefined ) {\\n\\t\\t\\t\\t\\t\\tif ( ( event.result = ret ) === false ) {\\n\\t\\t\\t\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t\\t\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Call the postDispatch hook for the mapped type\\n\\t\\tif ( special.postDispatch ) {\\n\\t\\t\\tspecial.postDispatch.call( this, event );\\n\\t\\t}\\n\\n\\t\\treturn event.result;\\n\\t},\\n\\n\\thandlers: function( event, handlers ) {\\n\\t\\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\\n\\t\\t\\thandlerQueue = [],\\n\\t\\t\\tdelegateCount = handlers.delegateCount,\\n\\t\\t\\tcur = event.target;\\n\\n\\t\\t// Find delegate handlers\\n\\t\\tif ( delegateCount &&\\n\\n\\t\\t\\t// Support: IE <=9\\n\\t\\t\\t// Black-hole SVG <use> instance trees (trac-13180)\\n\\t\\t\\tcur.nodeType &&\\n\\n\\t\\t\\t// Support: Firefox <=42\\n\\t\\t\\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\\n\\t\\t\\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\\n\\t\\t\\t// Support: IE 11 only\\n\\t\\t\\t// ...but not arrow key \\\"clicks\\\" of radio inputs, which can have `button` -1 (gh-2343)\\n\\t\\t\\t!( event.type === \\\"click\\\" && event.button >= 1 ) ) {\\n\\n\\t\\t\\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\\n\\n\\t\\t\\t\\t// Don't check non-elements (#13208)\\n\\t\\t\\t\\t// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)\\n\\t\\t\\t\\tif ( cur.nodeType === 1 && !( event.type === \\\"click\\\" && cur.disabled === true ) ) {\\n\\t\\t\\t\\t\\tmatchedHandlers = [];\\n\\t\\t\\t\\t\\tmatchedSelectors = {};\\n\\t\\t\\t\\t\\tfor ( i = 0; i < delegateCount; i++ ) {\\n\\t\\t\\t\\t\\t\\thandleObj = handlers[ i ];\\n\\n\\t\\t\\t\\t\\t\\t// Don't conflict with Object.prototype properties (#13203)\\n\\t\\t\\t\\t\\t\\tsel = handleObj.selector + \\\" \\\";\\n\\n\\t\\t\\t\\t\\t\\tif ( matchedSelectors[ sel ] === undefined ) {\\n\\t\\t\\t\\t\\t\\t\\tmatchedSelectors[ sel ] = handleObj.needsContext ?\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery( sel, this ).index( cur ) > -1 :\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery.find( sel, this, null, [ cur ] ).length;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tif ( matchedSelectors[ sel ] ) {\\n\\t\\t\\t\\t\\t\\t\\tmatchedHandlers.push( handleObj );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif ( matchedHandlers.length ) {\\n\\t\\t\\t\\t\\t\\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Add the remaining (directly-bound) handlers\\n\\t\\tcur = this;\\n\\t\\tif ( delegateCount < handlers.length ) {\\n\\t\\t\\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\\n\\t\\t}\\n\\n\\t\\treturn handlerQueue;\\n\\t},\\n\\n\\taddProp: function( name, hook ) {\\n\\t\\tObject.defineProperty( jQuery.Event.prototype, name, {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tconfigurable: true,\\n\\n\\t\\t\\tget: isFunction( hook ) ?\\n\\t\\t\\t\\tfunction() {\\n\\t\\t\\t\\t\\tif ( this.originalEvent ) {\\n\\t\\t\\t\\t\\t\\t\\treturn hook( this.originalEvent );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} :\\n\\t\\t\\t\\tfunction() {\\n\\t\\t\\t\\t\\tif ( this.originalEvent ) {\\n\\t\\t\\t\\t\\t\\t\\treturn this.originalEvent[ name ];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\tset: function( value ) {\\n\\t\\t\\t\\tObject.defineProperty( this, name, {\\n\\t\\t\\t\\t\\tenumerable: true,\\n\\t\\t\\t\\t\\tconfigurable: true,\\n\\t\\t\\t\\t\\twritable: true,\\n\\t\\t\\t\\t\\tvalue: value\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tfix: function( originalEvent ) {\\n\\t\\treturn originalEvent[ jQuery.expando ] ?\\n\\t\\t\\toriginalEvent :\\n\\t\\t\\tnew jQuery.Event( originalEvent );\\n\\t},\\n\\n\\tspecial: {\\n\\t\\tload: {\\n\\n\\t\\t\\t// Prevent triggered image.load events from bubbling to window.load\\n\\t\\t\\tnoBubble: true\\n\\t\\t},\\n\\t\\tclick: {\\n\\n\\t\\t\\t// Utilize native event to ensure correct state for checkable inputs\\n\\t\\t\\tsetup: function( data ) {\\n\\n\\t\\t\\t\\t// For mutual compressibility with _default, replace `this` access with a local var.\\n\\t\\t\\t\\t// `|| data` is dead code meant only to preserve the variable through minification.\\n\\t\\t\\t\\tvar el = this || data;\\n\\n\\t\\t\\t\\t// Claim the first handler\\n\\t\\t\\t\\tif ( rcheckableType.test( el.type ) &&\\n\\t\\t\\t\\t\\tel.click && nodeName( el, \\\"input\\\" ) ) {\\n\\n\\t\\t\\t\\t\\t// dataPriv.set( el, \\\"click\\\", ... )\\n\\t\\t\\t\\t\\tleverageNative( el, \\\"click\\\", returnTrue );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Return false to allow normal processing in the caller\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t},\\n\\t\\t\\ttrigger: function( data ) {\\n\\n\\t\\t\\t\\t// For mutual compressibility with _default, replace `this` access with a local var.\\n\\t\\t\\t\\t// `|| data` is dead code meant only to preserve the variable through minification.\\n\\t\\t\\t\\tvar el = this || data;\\n\\n\\t\\t\\t\\t// Force setup before triggering a click\\n\\t\\t\\t\\tif ( rcheckableType.test( el.type ) &&\\n\\t\\t\\t\\t\\tel.click && nodeName( el, \\\"input\\\" ) ) {\\n\\n\\t\\t\\t\\t\\tleverageNative( el, \\\"click\\\" );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Return non-false to allow normal event-path propagation\\n\\t\\t\\t\\treturn true;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// For cross-browser consistency, suppress native .click() on links\\n\\t\\t\\t// Also prevent it if we're currently inside a leveraged native-event stack\\n\\t\\t\\t_default: function( event ) {\\n\\t\\t\\t\\tvar target = event.target;\\n\\t\\t\\t\\treturn rcheckableType.test( target.type ) &&\\n\\t\\t\\t\\t\\ttarget.click && nodeName( target, \\\"input\\\" ) &&\\n\\t\\t\\t\\t\\tdataPriv.get( target, \\\"click\\\" ) ||\\n\\t\\t\\t\\t\\tnodeName( target, \\\"a\\\" );\\n\\t\\t\\t}\\n\\t\\t},\\n\\n\\t\\tbeforeunload: {\\n\\t\\t\\tpostDispatch: function( event ) {\\n\\n\\t\\t\\t\\t// Support: Firefox 20+\\n\\t\\t\\t\\t// Firefox doesn't alert if the returnValue field is not set.\\n\\t\\t\\t\\tif ( event.result !== undefined && event.originalEvent ) {\\n\\t\\t\\t\\t\\tevent.originalEvent.returnValue = event.result;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\\n// Ensure the presence of an event listener that handles manually-triggered\\n// synthetic events by interrupting progress until reinvoked in response to\\n// *native* events that it fires directly, ensuring that state changes have\\n// already occurred before other listeners are invoked.\\nfunction leverageNative( el, type, expectSync ) {\\n\\n\\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\\n\\tif ( !expectSync ) {\\n\\t\\tif ( dataPriv.get( el, type ) === undefined ) {\\n\\t\\t\\tjQuery.event.add( el, type, returnTrue );\\n\\t\\t}\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Register the controller as a special universal handler for all event namespaces\\n\\tdataPriv.set( el, type, false );\\n\\tjQuery.event.add( el, type, {\\n\\t\\tnamespace: false,\\n\\t\\thandler: function( event ) {\\n\\t\\t\\tvar notAsync, result,\\n\\t\\t\\t\\tsaved = dataPriv.get( this, type );\\n\\n\\t\\t\\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\\n\\n\\t\\t\\t\\t// Interrupt processing of the outer synthetic .trigger()ed event\\n\\t\\t\\t\\t// Saved data should be false in such cases, but might be a leftover capture object\\n\\t\\t\\t\\t// from an async native handler (gh-4350)\\n\\t\\t\\t\\tif ( !saved.length ) {\\n\\n\\t\\t\\t\\t\\t// Store arguments for use when handling the inner native event\\n\\t\\t\\t\\t\\t// There will always be at least one argument (an event object), so this array\\n\\t\\t\\t\\t\\t// will not be confused with a leftover capture object.\\n\\t\\t\\t\\t\\tsaved = slice.call( arguments );\\n\\t\\t\\t\\t\\tdataPriv.set( this, type, saved );\\n\\n\\t\\t\\t\\t\\t// Trigger the native event and capture its result\\n\\t\\t\\t\\t\\t// Support: IE <=9 - 11+\\n\\t\\t\\t\\t\\t// focus() and blur() are asynchronous\\n\\t\\t\\t\\t\\tnotAsync = expectSync( this, type );\\n\\t\\t\\t\\t\\tthis[ type ]();\\n\\t\\t\\t\\t\\tresult = dataPriv.get( this, type );\\n\\t\\t\\t\\t\\tif ( saved !== result || notAsync ) {\\n\\t\\t\\t\\t\\t\\tdataPriv.set( this, type, false );\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tresult = {};\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif ( saved !== result ) {\\n\\n\\t\\t\\t\\t\\t\\t// Cancel the outer synthetic event\\n\\t\\t\\t\\t\\t\\tevent.stopImmediatePropagation();\\n\\t\\t\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t\\t\\t\\treturn result.value;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// If this is an inner synthetic event for an event with a bubbling surrogate\\n\\t\\t\\t\\t// (focus or blur), assume that the surrogate already propagated from triggering the\\n\\t\\t\\t\\t// native event and prevent that from happening again here.\\n\\t\\t\\t\\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\\n\\t\\t\\t\\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\\n\\t\\t\\t\\t// less bad than duplication.\\n\\t\\t\\t\\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\\n\\t\\t\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t// If this is a native event triggered above, everything is now in order\\n\\t\\t\\t// Fire an inner synthetic event with the original arguments\\n\\t\\t\\t} else if ( saved.length ) {\\n\\n\\t\\t\\t\\t// ...and capture the result\\n\\t\\t\\t\\tdataPriv.set( this, type, {\\n\\t\\t\\t\\t\\tvalue: jQuery.event.trigger(\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE <=9 - 11+\\n\\t\\t\\t\\t\\t\\t// Extend with the prototype to reset the above stopImmediatePropagation()\\n\\t\\t\\t\\t\\t\\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\\n\\t\\t\\t\\t\\t\\tsaved.slice( 1 ),\\n\\t\\t\\t\\t\\t\\tthis\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\t// Abort handling of the native event\\n\\t\\t\\t\\tevent.stopImmediatePropagation();\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} );\\n}\\n\\njQuery.removeEvent = function( elem, type, handle ) {\\n\\n\\t// This \\\"if\\\" is needed for plain objects\\n\\tif ( elem.removeEventListener ) {\\n\\t\\telem.removeEventListener( type, handle );\\n\\t}\\n};\\n\\njQuery.Event = function( src, props ) {\\n\\n\\t// Allow instantiation without the 'new' keyword\\n\\tif ( !( this instanceof jQuery.Event ) ) {\\n\\t\\treturn new jQuery.Event( src, props );\\n\\t}\\n\\n\\t// Event object\\n\\tif ( src && src.type ) {\\n\\t\\tthis.originalEvent = src;\\n\\t\\tthis.type = src.type;\\n\\n\\t\\t// Events bubbling up the document may have been marked as prevented\\n\\t\\t// by a handler lower down the tree; reflect the correct value.\\n\\t\\tthis.isDefaultPrevented = src.defaultPrevented ||\\n\\t\\t\\t\\tsrc.defaultPrevented === undefined &&\\n\\n\\t\\t\\t\\t// Support: Android <=2.3 only\\n\\t\\t\\t\\tsrc.returnValue === false ?\\n\\t\\t\\treturnTrue :\\n\\t\\t\\treturnFalse;\\n\\n\\t\\t// Create target properties\\n\\t\\t// Support: Safari <=6 - 7 only\\n\\t\\t// Target should not be a text node (#504, #13143)\\n\\t\\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\\n\\t\\t\\tsrc.target.parentNode :\\n\\t\\t\\tsrc.target;\\n\\n\\t\\tthis.currentTarget = src.currentTarget;\\n\\t\\tthis.relatedTarget = src.relatedTarget;\\n\\n\\t// Event type\\n\\t} else {\\n\\t\\tthis.type = src;\\n\\t}\\n\\n\\t// Put explicitly provided properties onto the event object\\n\\tif ( props ) {\\n\\t\\tjQuery.extend( this, props );\\n\\t}\\n\\n\\t// Create a timestamp if incoming event doesn't have one\\n\\tthis.timeStamp = src && src.timeStamp || Date.now();\\n\\n\\t// Mark it as fixed\\n\\tthis[ jQuery.expando ] = true;\\n};\\n\\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\\njQuery.Event.prototype = {\\n\\tconstructor: jQuery.Event,\\n\\tisDefaultPrevented: returnFalse,\\n\\tisPropagationStopped: returnFalse,\\n\\tisImmediatePropagationStopped: returnFalse,\\n\\tisSimulated: false,\\n\\n\\tpreventDefault: function() {\\n\\t\\tvar e = this.originalEvent;\\n\\n\\t\\tthis.isDefaultPrevented = returnTrue;\\n\\n\\t\\tif ( e && !this.isSimulated ) {\\n\\t\\t\\te.preventDefault();\\n\\t\\t}\\n\\t},\\n\\tstopPropagation: function() {\\n\\t\\tvar e = this.originalEvent;\\n\\n\\t\\tthis.isPropagationStopped = returnTrue;\\n\\n\\t\\tif ( e && !this.isSimulated ) {\\n\\t\\t\\te.stopPropagation();\\n\\t\\t}\\n\\t},\\n\\tstopImmediatePropagation: function() {\\n\\t\\tvar e = this.originalEvent;\\n\\n\\t\\tthis.isImmediatePropagationStopped = returnTrue;\\n\\n\\t\\tif ( e && !this.isSimulated ) {\\n\\t\\t\\te.stopImmediatePropagation();\\n\\t\\t}\\n\\n\\t\\tthis.stopPropagation();\\n\\t}\\n};\\n\\n// Includes all common event props including KeyEvent and MouseEvent specific props\\njQuery.each( {\\n\\taltKey: true,\\n\\tbubbles: true,\\n\\tcancelable: true,\\n\\tchangedTouches: true,\\n\\tctrlKey: true,\\n\\tdetail: true,\\n\\teventPhase: true,\\n\\tmetaKey: true,\\n\\tpageX: true,\\n\\tpageY: true,\\n\\tshiftKey: true,\\n\\tview: true,\\n\\t\\\"char\\\": true,\\n\\tcode: true,\\n\\tcharCode: true,\\n\\tkey: true,\\n\\tkeyCode: true,\\n\\tbutton: true,\\n\\tbuttons: true,\\n\\tclientX: true,\\n\\tclientY: true,\\n\\toffsetX: true,\\n\\toffsetY: true,\\n\\tpointerId: true,\\n\\tpointerType: true,\\n\\tscreenX: true,\\n\\tscreenY: true,\\n\\ttargetTouches: true,\\n\\ttoElement: true,\\n\\ttouches: true,\\n\\n\\twhich: function( event ) {\\n\\t\\tvar button = event.button;\\n\\n\\t\\t// Add which for key events\\n\\t\\tif ( event.which == null && rkeyEvent.test( event.type ) ) {\\n\\t\\t\\treturn event.charCode != null ? event.charCode : event.keyCode;\\n\\t\\t}\\n\\n\\t\\t// Add which for click: 1 === left; 2 === middle; 3 === right\\n\\t\\tif ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {\\n\\t\\t\\tif ( button & 1 ) {\\n\\t\\t\\t\\treturn 1;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( button & 2 ) {\\n\\t\\t\\t\\treturn 3;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( button & 4 ) {\\n\\t\\t\\t\\treturn 2;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\n\\t\\treturn event.which;\\n\\t}\\n}, jQuery.event.addProp );\\n\\njQuery.each( { focus: \\\"focusin\\\", blur: \\\"focusout\\\" }, function( type, delegateType ) {\\n\\tjQuery.event.special[ type ] = {\\n\\n\\t\\t// Utilize native event if possible so blur/focus sequence is correct\\n\\t\\tsetup: function() {\\n\\n\\t\\t\\t// Claim the first handler\\n\\t\\t\\t// dataPriv.set( this, \\\"focus\\\", ... )\\n\\t\\t\\t// dataPriv.set( this, \\\"blur\\\", ... )\\n\\t\\t\\tleverageNative( this, type, expectSync );\\n\\n\\t\\t\\t// Return false to allow normal processing in the caller\\n\\t\\t\\treturn false;\\n\\t\\t},\\n\\t\\ttrigger: function() {\\n\\n\\t\\t\\t// Force setup before trigger\\n\\t\\t\\tleverageNative( this, type );\\n\\n\\t\\t\\t// Return non-false to allow normal event-path propagation\\n\\t\\t\\treturn true;\\n\\t\\t},\\n\\n\\t\\tdelegateType: delegateType\\n\\t};\\n} );\\n\\n// Create mouseenter/leave events using mouseover/out and event-time checks\\n// so that event delegation works in jQuery.\\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\\n//\\n// Support: Safari 7 only\\n// Safari sends mouseenter too often; see:\\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\\n// for the description of the bug (it existed in older Chrome versions as well).\\njQuery.each( {\\n\\tmouseenter: \\\"mouseover\\\",\\n\\tmouseleave: \\\"mouseout\\\",\\n\\tpointerenter: \\\"pointerover\\\",\\n\\tpointerleave: \\\"pointerout\\\"\\n}, function( orig, fix ) {\\n\\tjQuery.event.special[ orig ] = {\\n\\t\\tdelegateType: fix,\\n\\t\\tbindType: fix,\\n\\n\\t\\thandle: function( event ) {\\n\\t\\t\\tvar ret,\\n\\t\\t\\t\\ttarget = this,\\n\\t\\t\\t\\trelated = event.relatedTarget,\\n\\t\\t\\t\\thandleObj = event.handleObj;\\n\\n\\t\\t\\t// For mouseenter/leave call the handler if related is outside the target.\\n\\t\\t\\t// NB: No relatedTarget if the mouse left/entered the browser window\\n\\t\\t\\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\\n\\t\\t\\t\\tevent.type = handleObj.origType;\\n\\t\\t\\t\\tret = handleObj.handler.apply( this, arguments );\\n\\t\\t\\t\\tevent.type = fix;\\n\\t\\t\\t}\\n\\t\\t\\treturn ret;\\n\\t\\t}\\n\\t};\\n} );\\n\\njQuery.fn.extend( {\\n\\n\\ton: function( types, selector, data, fn ) {\\n\\t\\treturn on( this, types, selector, data, fn );\\n\\t},\\n\\tone: function( types, selector, data, fn ) {\\n\\t\\treturn on( this, types, selector, data, fn, 1 );\\n\\t},\\n\\toff: function( types, selector, fn ) {\\n\\t\\tvar handleObj, type;\\n\\t\\tif ( types && types.preventDefault && types.handleObj ) {\\n\\n\\t\\t\\t// ( event )  dispatched jQuery.Event\\n\\t\\t\\thandleObj = types.handleObj;\\n\\t\\t\\tjQuery( types.delegateTarget ).off(\\n\\t\\t\\t\\thandleObj.namespace ?\\n\\t\\t\\t\\t\\thandleObj.origType + \\\".\\\" + handleObj.namespace :\\n\\t\\t\\t\\t\\thandleObj.origType,\\n\\t\\t\\t\\thandleObj.selector,\\n\\t\\t\\t\\thandleObj.handler\\n\\t\\t\\t);\\n\\t\\t\\treturn this;\\n\\t\\t}\\n\\t\\tif ( typeof types === \\\"object\\\" ) {\\n\\n\\t\\t\\t// ( types-object [, selector] )\\n\\t\\t\\tfor ( type in types ) {\\n\\t\\t\\t\\tthis.off( type, selector, types[ type ] );\\n\\t\\t\\t}\\n\\t\\t\\treturn this;\\n\\t\\t}\\n\\t\\tif ( selector === false || typeof selector === \\\"function\\\" ) {\\n\\n\\t\\t\\t// ( types [, fn] )\\n\\t\\t\\tfn = selector;\\n\\t\\t\\tselector = undefined;\\n\\t\\t}\\n\\t\\tif ( fn === false ) {\\n\\t\\t\\tfn = returnFalse;\\n\\t\\t}\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tjQuery.event.remove( this, types, fn, selector );\\n\\t\\t} );\\n\\t}\\n} );\\n\\n\\nvar\\n\\n\\t// Support: IE <=10 - 11, Edge 12 - 13 only\\n\\t// In IE/Edge using regex groups here causes severe slowdowns.\\n\\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\\n\\trnoInnerhtml = /<script|<style|<link/i,\\n\\n\\t// checked=\\\"checked\\\" or checked\\n\\trchecked = /checked\\\\s*(?:[^=]|=\\\\s*.checked.)/i,\\n\\trcleanScript = /^\\\\s*<!(?:\\\\[CDATA\\\\[|--)|(?:\\\\]\\\\]|--)>\\\\s*$/g;\\n\\n// Prefer a tbody over its parent table for containing new rows\\nfunction manipulationTarget( elem, content ) {\\n\\tif ( nodeName( elem, \\\"table\\\" ) &&\\n\\t\\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \\\"tr\\\" ) ) {\\n\\n\\t\\treturn jQuery( elem ).children( \\\"tbody\\\" )[ 0 ] || elem;\\n\\t}\\n\\n\\treturn elem;\\n}\\n\\n// Replace/restore the type attribute of script elements for safe DOM manipulation\\nfunction disableScript( elem ) {\\n\\telem.type = ( elem.getAttribute( \\\"type\\\" ) !== null ) + \\\"/\\\" + elem.type;\\n\\treturn elem;\\n}\\nfunction restoreScript( elem ) {\\n\\tif ( ( elem.type || \\\"\\\" ).slice( 0, 5 ) === \\\"true/\\\" ) {\\n\\t\\telem.type = elem.type.slice( 5 );\\n\\t} else {\\n\\t\\telem.removeAttribute( \\\"type\\\" );\\n\\t}\\n\\n\\treturn elem;\\n}\\n\\nfunction cloneCopyEvent( src, dest ) {\\n\\tvar i, l, type, pdataOld, udataOld, udataCur, events;\\n\\n\\tif ( dest.nodeType !== 1 ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// 1. Copy private data: events, handlers, etc.\\n\\tif ( dataPriv.hasData( src ) ) {\\n\\t\\tpdataOld = dataPriv.get( src );\\n\\t\\tevents = pdataOld.events;\\n\\n\\t\\tif ( events ) {\\n\\t\\t\\tdataPriv.remove( dest, \\\"handle events\\\" );\\n\\n\\t\\t\\tfor ( type in events ) {\\n\\t\\t\\t\\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\\n\\t\\t\\t\\t\\tjQuery.event.add( dest, type, events[ type ][ i ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// 2. Copy user data\\n\\tif ( dataUser.hasData( src ) ) {\\n\\t\\tudataOld = dataUser.access( src );\\n\\t\\tudataCur = jQuery.extend( {}, udataOld );\\n\\n\\t\\tdataUser.set( dest, udataCur );\\n\\t}\\n}\\n\\n// Fix IE bugs, see support tests\\nfunction fixInput( src, dest ) {\\n\\tvar nodeName = dest.nodeName.toLowerCase();\\n\\n\\t// Fails to persist the checked state of a cloned checkbox or radio button.\\n\\tif ( nodeName === \\\"input\\\" && rcheckableType.test( src.type ) ) {\\n\\t\\tdest.checked = src.checked;\\n\\n\\t// Fails to return the selected option to the default selected state when cloning options\\n\\t} else if ( nodeName === \\\"input\\\" || nodeName === \\\"textarea\\\" ) {\\n\\t\\tdest.defaultValue = src.defaultValue;\\n\\t}\\n}\\n\\nfunction domManip( collection, args, callback, ignored ) {\\n\\n\\t// Flatten any nested arrays\\n\\targs = flat( args );\\n\\n\\tvar fragment, first, scripts, hasScripts, node, doc,\\n\\t\\ti = 0,\\n\\t\\tl = collection.length,\\n\\t\\tiNoClone = l - 1,\\n\\t\\tvalue = args[ 0 ],\\n\\t\\tvalueIsFunction = isFunction( value );\\n\\n\\t// We can't cloneNode fragments that contain checked, in WebKit\\n\\tif ( valueIsFunction ||\\n\\t\\t\\t( l > 1 && typeof value === \\\"string\\\" &&\\n\\t\\t\\t\\t!support.checkClone && rchecked.test( value ) ) ) {\\n\\t\\treturn collection.each( function( index ) {\\n\\t\\t\\tvar self = collection.eq( index );\\n\\t\\t\\tif ( valueIsFunction ) {\\n\\t\\t\\t\\targs[ 0 ] = value.call( this, index, self.html() );\\n\\t\\t\\t}\\n\\t\\t\\tdomManip( self, args, callback, ignored );\\n\\t\\t} );\\n\\t}\\n\\n\\tif ( l ) {\\n\\t\\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\\n\\t\\tfirst = fragment.firstChild;\\n\\n\\t\\tif ( fragment.childNodes.length === 1 ) {\\n\\t\\t\\tfragment = first;\\n\\t\\t}\\n\\n\\t\\t// Require either new content or an interest in ignored elements to invoke the callback\\n\\t\\tif ( first || ignored ) {\\n\\t\\t\\tscripts = jQuery.map( getAll( fragment, \\\"script\\\" ), disableScript );\\n\\t\\t\\thasScripts = scripts.length;\\n\\n\\t\\t\\t// Use the original fragment for the last item\\n\\t\\t\\t// instead of the first because it can end up\\n\\t\\t\\t// being emptied incorrectly in certain situations (#8070).\\n\\t\\t\\tfor ( ; i < l; i++ ) {\\n\\t\\t\\t\\tnode = fragment;\\n\\n\\t\\t\\t\\tif ( i !== iNoClone ) {\\n\\t\\t\\t\\t\\tnode = jQuery.clone( node, true, true );\\n\\n\\t\\t\\t\\t\\t// Keep references to cloned scripts for later restoration\\n\\t\\t\\t\\t\\tif ( hasScripts ) {\\n\\n\\t\\t\\t\\t\\t\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t\\t\\t\\t\\t\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\t\\t\\t\\t\\t\\tjQuery.merge( scripts, getAll( node, \\\"script\\\" ) );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tcallback.call( collection[ i ], node, i );\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( hasScripts ) {\\n\\t\\t\\t\\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\\n\\n\\t\\t\\t\\t// Reenable scripts\\n\\t\\t\\t\\tjQuery.map( scripts, restoreScript );\\n\\n\\t\\t\\t\\t// Evaluate executable scripts on first document insertion\\n\\t\\t\\t\\tfor ( i = 0; i < hasScripts; i++ ) {\\n\\t\\t\\t\\t\\tnode = scripts[ i ];\\n\\t\\t\\t\\t\\tif ( rscriptType.test( node.type || \\\"\\\" ) &&\\n\\t\\t\\t\\t\\t\\t!dataPriv.access( node, \\\"globalEval\\\" ) &&\\n\\t\\t\\t\\t\\t\\tjQuery.contains( doc, node ) ) {\\n\\n\\t\\t\\t\\t\\t\\tif ( node.src && ( node.type || \\\"\\\" ).toLowerCase()  !== \\\"module\\\" ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Optional AJAX dependency, but won't run scripts if not present\\n\\t\\t\\t\\t\\t\\t\\tif ( jQuery._evalUrl && !node.noModule ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery._evalUrl( node.src, {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tnonce: node.nonce || node.getAttribute( \\\"nonce\\\" )\\n\\t\\t\\t\\t\\t\\t\\t\\t}, doc );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\tDOMEval( node.textContent.replace( rcleanScript, \\\"\\\" ), node, doc );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn collection;\\n}\\n\\nfunction remove( elem, selector, keepData ) {\\n\\tvar node,\\n\\t\\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\\n\\t\\ti = 0;\\n\\n\\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\\n\\t\\tif ( !keepData && node.nodeType === 1 ) {\\n\\t\\t\\tjQuery.cleanData( getAll( node ) );\\n\\t\\t}\\n\\n\\t\\tif ( node.parentNode ) {\\n\\t\\t\\tif ( keepData && isAttached( node ) ) {\\n\\t\\t\\t\\tsetGlobalEval( getAll( node, \\\"script\\\" ) );\\n\\t\\t\\t}\\n\\t\\t\\tnode.parentNode.removeChild( node );\\n\\t\\t}\\n\\t}\\n\\n\\treturn elem;\\n}\\n\\njQuery.extend( {\\n\\thtmlPrefilter: function( html ) {\\n\\t\\treturn html;\\n\\t},\\n\\n\\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\\n\\t\\tvar i, l, srcElements, destElements,\\n\\t\\t\\tclone = elem.cloneNode( true ),\\n\\t\\t\\tinPage = isAttached( elem );\\n\\n\\t\\t// Fix IE cloning issues\\n\\t\\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\\n\\t\\t\\t\\t!jQuery.isXMLDoc( elem ) ) {\\n\\n\\t\\t\\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\\n\\t\\t\\tdestElements = getAll( clone );\\n\\t\\t\\tsrcElements = getAll( elem );\\n\\n\\t\\t\\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\\n\\t\\t\\t\\tfixInput( srcElements[ i ], destElements[ i ] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Copy the events from the original to the clone\\n\\t\\tif ( dataAndEvents ) {\\n\\t\\t\\tif ( deepDataAndEvents ) {\\n\\t\\t\\t\\tsrcElements = srcElements || getAll( elem );\\n\\t\\t\\t\\tdestElements = destElements || getAll( clone );\\n\\n\\t\\t\\t\\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\\n\\t\\t\\t\\t\\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tcloneCopyEvent( elem, clone );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Preserve script evaluation history\\n\\t\\tdestElements = getAll( clone, \\\"script\\\" );\\n\\t\\tif ( destElements.length > 0 ) {\\n\\t\\t\\tsetGlobalEval( destElements, !inPage && getAll( elem, \\\"script\\\" ) );\\n\\t\\t}\\n\\n\\t\\t// Return the cloned set\\n\\t\\treturn clone;\\n\\t},\\n\\n\\tcleanData: function( elems ) {\\n\\t\\tvar data, elem, type,\\n\\t\\t\\tspecial = jQuery.event.special,\\n\\t\\t\\ti = 0;\\n\\n\\t\\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\\n\\t\\t\\tif ( acceptData( elem ) ) {\\n\\t\\t\\t\\tif ( ( data = elem[ dataPriv.expando ] ) ) {\\n\\t\\t\\t\\t\\tif ( data.events ) {\\n\\t\\t\\t\\t\\t\\tfor ( type in data.events ) {\\n\\t\\t\\t\\t\\t\\t\\tif ( special[ type ] ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery.event.remove( elem, type );\\n\\n\\t\\t\\t\\t\\t\\t\\t// This is a shortcut to avoid jQuery.event.remove's overhead\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery.removeEvent( elem, type, data.handle );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Support: Chrome <=35 - 45+\\n\\t\\t\\t\\t\\t// Assign undefined instead of using delete, see Data#remove\\n\\t\\t\\t\\t\\telem[ dataPriv.expando ] = undefined;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ( elem[ dataUser.expando ] ) {\\n\\n\\t\\t\\t\\t\\t// Support: Chrome <=35 - 45+\\n\\t\\t\\t\\t\\t// Assign undefined instead of using delete, see Data#remove\\n\\t\\t\\t\\t\\telem[ dataUser.expando ] = undefined;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n} );\\n\\njQuery.fn.extend( {\\n\\tdetach: function( selector ) {\\n\\t\\treturn remove( this, selector, true );\\n\\t},\\n\\n\\tremove: function( selector ) {\\n\\t\\treturn remove( this, selector );\\n\\t},\\n\\n\\ttext: function( value ) {\\n\\t\\treturn access( this, function( value ) {\\n\\t\\t\\treturn value === undefined ?\\n\\t\\t\\t\\tjQuery.text( this ) :\\n\\t\\t\\t\\tthis.empty().each( function() {\\n\\t\\t\\t\\t\\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\\n\\t\\t\\t\\t\\t\\tthis.textContent = value;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t}, null, value, arguments.length );\\n\\t},\\n\\n\\tappend: function() {\\n\\t\\treturn domManip( this, arguments, function( elem ) {\\n\\t\\t\\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\\n\\t\\t\\t\\tvar target = manipulationTarget( this, elem );\\n\\t\\t\\t\\ttarget.appendChild( elem );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tprepend: function() {\\n\\t\\treturn domManip( this, arguments, function( elem ) {\\n\\t\\t\\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\\n\\t\\t\\t\\tvar target = manipulationTarget( this, elem );\\n\\t\\t\\t\\ttarget.insertBefore( elem, target.firstChild );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tbefore: function() {\\n\\t\\treturn domManip( this, arguments, function( elem ) {\\n\\t\\t\\tif ( this.parentNode ) {\\n\\t\\t\\t\\tthis.parentNode.insertBefore( elem, this );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tafter: function() {\\n\\t\\treturn domManip( this, arguments, function( elem ) {\\n\\t\\t\\tif ( this.parentNode ) {\\n\\t\\t\\t\\tthis.parentNode.insertBefore( elem, this.nextSibling );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tempty: function() {\\n\\t\\tvar elem,\\n\\t\\t\\ti = 0;\\n\\n\\t\\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\\n\\t\\t\\tif ( elem.nodeType === 1 ) {\\n\\n\\t\\t\\t\\t// Prevent memory leaks\\n\\t\\t\\t\\tjQuery.cleanData( getAll( elem, false ) );\\n\\n\\t\\t\\t\\t// Remove any remaining nodes\\n\\t\\t\\t\\telem.textContent = \\\"\\\";\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\tclone: function( dataAndEvents, deepDataAndEvents ) {\\n\\t\\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\\n\\t\\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\\n\\n\\t\\treturn this.map( function() {\\n\\t\\t\\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\\n\\t\\t} );\\n\\t},\\n\\n\\thtml: function( value ) {\\n\\t\\treturn access( this, function( value ) {\\n\\t\\t\\tvar elem = this[ 0 ] || {},\\n\\t\\t\\t\\ti = 0,\\n\\t\\t\\t\\tl = this.length;\\n\\n\\t\\t\\tif ( value === undefined && elem.nodeType === 1 ) {\\n\\t\\t\\t\\treturn elem.innerHTML;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// See if we can take a shortcut and just use innerHTML\\n\\t\\t\\tif ( typeof value === \\\"string\\\" && !rnoInnerhtml.test( value ) &&\\n\\t\\t\\t\\t!wrapMap[ ( rtagName.exec( value ) || [ \\\"\\\", \\\"\\\" ] )[ 1 ].toLowerCase() ] ) {\\n\\n\\t\\t\\t\\tvalue = jQuery.htmlPrefilter( value );\\n\\n\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\tfor ( ; i < l; i++ ) {\\n\\t\\t\\t\\t\\t\\telem = this[ i ] || {};\\n\\n\\t\\t\\t\\t\\t\\t// Remove element nodes and prevent memory leaks\\n\\t\\t\\t\\t\\t\\tif ( elem.nodeType === 1 ) {\\n\\t\\t\\t\\t\\t\\t\\tjQuery.cleanData( getAll( elem, false ) );\\n\\t\\t\\t\\t\\t\\t\\telem.innerHTML = value;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\telem = 0;\\n\\n\\t\\t\\t\\t// If using innerHTML throws an exception, use the fallback method\\n\\t\\t\\t\\t} catch ( e ) {}\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( elem ) {\\n\\t\\t\\t\\tthis.empty().append( value );\\n\\t\\t\\t}\\n\\t\\t}, null, value, arguments.length );\\n\\t},\\n\\n\\treplaceWith: function() {\\n\\t\\tvar ignored = [];\\n\\n\\t\\t// Make the changes, replacing each non-ignored context element with the new content\\n\\t\\treturn domManip( this, arguments, function( elem ) {\\n\\t\\t\\tvar parent = this.parentNode;\\n\\n\\t\\t\\tif ( jQuery.inArray( this, ignored ) < 0 ) {\\n\\t\\t\\t\\tjQuery.cleanData( getAll( this ) );\\n\\t\\t\\t\\tif ( parent ) {\\n\\t\\t\\t\\t\\tparent.replaceChild( elem, this );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t// Force callback invocation\\n\\t\\t}, ignored );\\n\\t}\\n} );\\n\\njQuery.each( {\\n\\tappendTo: \\\"append\\\",\\n\\tprependTo: \\\"prepend\\\",\\n\\tinsertBefore: \\\"before\\\",\\n\\tinsertAfter: \\\"after\\\",\\n\\treplaceAll: \\\"replaceWith\\\"\\n}, function( name, original ) {\\n\\tjQuery.fn[ name ] = function( selector ) {\\n\\t\\tvar elems,\\n\\t\\t\\tret = [],\\n\\t\\t\\tinsert = jQuery( selector ),\\n\\t\\t\\tlast = insert.length - 1,\\n\\t\\t\\ti = 0;\\n\\n\\t\\tfor ( ; i <= last; i++ ) {\\n\\t\\t\\telems = i === last ? this : this.clone( true );\\n\\t\\t\\tjQuery( insert[ i ] )[ original ]( elems );\\n\\n\\t\\t\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t\\t\\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\\n\\t\\t\\tpush.apply( ret, elems.get() );\\n\\t\\t}\\n\\n\\t\\treturn this.pushStack( ret );\\n\\t};\\n} );\\nvar rnumnonpx = new RegExp( \\\"^(\\\" + pnum + \\\")(?!px)[a-z%]+$\\\", \\\"i\\\" );\\n\\nvar getStyles = function( elem ) {\\n\\n\\t\\t// Support: IE <=11 only, Firefox <=30 (#15098, #14150)\\n\\t\\t// IE throws on elements created in popups\\n\\t\\t// FF meanwhile throws on frame elements through \\\"defaultView.getComputedStyle\\\"\\n\\t\\tvar view = elem.ownerDocument.defaultView;\\n\\n\\t\\tif ( !view || !view.opener ) {\\n\\t\\t\\tview = window;\\n\\t\\t}\\n\\n\\t\\treturn view.getComputedStyle( elem );\\n\\t};\\n\\nvar swap = function( elem, options, callback ) {\\n\\tvar ret, name,\\n\\t\\told = {};\\n\\n\\t// Remember the old values, and insert the new ones\\n\\tfor ( name in options ) {\\n\\t\\told[ name ] = elem.style[ name ];\\n\\t\\telem.style[ name ] = options[ name ];\\n\\t}\\n\\n\\tret = callback.call( elem );\\n\\n\\t// Revert the old values\\n\\tfor ( name in options ) {\\n\\t\\telem.style[ name ] = old[ name ];\\n\\t}\\n\\n\\treturn ret;\\n};\\n\\n\\nvar rboxStyle = new RegExp( cssExpand.join( \\\"|\\\" ), \\\"i\\\" );\\n\\n\\n\\n( function() {\\n\\n\\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\\n\\t// so they're executed at the same time to save the second computation.\\n\\tfunction computeStyleTests() {\\n\\n\\t\\t// This is a singleton, we need to execute it only once\\n\\t\\tif ( !div ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tcontainer.style.cssText = \\\"position:absolute;left:-11111px;width:60px;\\\" +\\n\\t\\t\\t\\\"margin-top:1px;padding:0;border:0\\\";\\n\\t\\tdiv.style.cssText =\\n\\t\\t\\t\\\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\\\" +\\n\\t\\t\\t\\\"margin:auto;border:1px;padding:1px;\\\" +\\n\\t\\t\\t\\\"width:60%;top:1%\\\";\\n\\t\\tdocumentElement.appendChild( container ).appendChild( div );\\n\\n\\t\\tvar divStyle = window.getComputedStyle( div );\\n\\t\\tpixelPositionVal = divStyle.top !== \\\"1%\\\";\\n\\n\\t\\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\\n\\t\\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\\n\\n\\t\\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\\n\\t\\t// Some styles come back with percentage values, even though they shouldn't\\n\\t\\tdiv.style.right = \\\"60%\\\";\\n\\t\\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\\n\\n\\t\\t// Support: IE 9 - 11 only\\n\\t\\t// Detect misreporting of content dimensions for box-sizing:border-box elements\\n\\t\\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\\n\\n\\t\\t// Support: IE 9 only\\n\\t\\t// Detect overflow:scroll screwiness (gh-3699)\\n\\t\\t// Support: Chrome <=64\\n\\t\\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\\n\\t\\tdiv.style.position = \\\"absolute\\\";\\n\\t\\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\\n\\n\\t\\tdocumentElement.removeChild( container );\\n\\n\\t\\t// Nullify the div so it wouldn't be stored in the memory and\\n\\t\\t// it will also be a sign that checks already performed\\n\\t\\tdiv = null;\\n\\t}\\n\\n\\tfunction roundPixelMeasures( measure ) {\\n\\t\\treturn Math.round( parseFloat( measure ) );\\n\\t}\\n\\n\\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\\n\\t\\treliableTrDimensionsVal, reliableMarginLeftVal,\\n\\t\\tcontainer = document.createElement( \\\"div\\\" ),\\n\\t\\tdiv = document.createElement( \\\"div\\\" );\\n\\n\\t// Finish early in limited (non-browser) environments\\n\\tif ( !div.style ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Support: IE <=9 - 11 only\\n\\t// Style of cloned element affects source element cloned (#8908)\\n\\tdiv.style.backgroundClip = \\\"content-box\\\";\\n\\tdiv.cloneNode( true ).style.backgroundClip = \\\"\\\";\\n\\tsupport.clearCloneStyle = div.style.backgroundClip === \\\"content-box\\\";\\n\\n\\tjQuery.extend( support, {\\n\\t\\tboxSizingReliable: function() {\\n\\t\\t\\tcomputeStyleTests();\\n\\t\\t\\treturn boxSizingReliableVal;\\n\\t\\t},\\n\\t\\tpixelBoxStyles: function() {\\n\\t\\t\\tcomputeStyleTests();\\n\\t\\t\\treturn pixelBoxStylesVal;\\n\\t\\t},\\n\\t\\tpixelPosition: function() {\\n\\t\\t\\tcomputeStyleTests();\\n\\t\\t\\treturn pixelPositionVal;\\n\\t\\t},\\n\\t\\treliableMarginLeft: function() {\\n\\t\\t\\tcomputeStyleTests();\\n\\t\\t\\treturn reliableMarginLeftVal;\\n\\t\\t},\\n\\t\\tscrollboxSize: function() {\\n\\t\\t\\tcomputeStyleTests();\\n\\t\\t\\treturn scrollboxSizeVal;\\n\\t\\t},\\n\\n\\t\\t// Support: IE 9 - 11+, Edge 15 - 18+\\n\\t\\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\\n\\t\\t// set in CSS while `offset*` properties report correct values.\\n\\t\\t// Behavior in IE 9 is more subtle than in newer versions & it passes\\n\\t\\t// some versions of this test; make sure not to make it pass there!\\n\\t\\treliableTrDimensions: function() {\\n\\t\\t\\tvar table, tr, trChild, trStyle;\\n\\t\\t\\tif ( reliableTrDimensionsVal == null ) {\\n\\t\\t\\t\\ttable = document.createElement( \\\"table\\\" );\\n\\t\\t\\t\\ttr = document.createElement( \\\"tr\\\" );\\n\\t\\t\\t\\ttrChild = document.createElement( \\\"div\\\" );\\n\\n\\t\\t\\t\\ttable.style.cssText = \\\"position:absolute;left:-11111px\\\";\\n\\t\\t\\t\\ttr.style.height = \\\"1px\\\";\\n\\t\\t\\t\\ttrChild.style.height = \\\"9px\\\";\\n\\n\\t\\t\\t\\tdocumentElement\\n\\t\\t\\t\\t\\t.appendChild( table )\\n\\t\\t\\t\\t\\t.appendChild( tr )\\n\\t\\t\\t\\t\\t.appendChild( trChild );\\n\\n\\t\\t\\t\\ttrStyle = window.getComputedStyle( tr );\\n\\t\\t\\t\\treliableTrDimensionsVal = parseInt( trStyle.height ) > 3;\\n\\n\\t\\t\\t\\tdocumentElement.removeChild( table );\\n\\t\\t\\t}\\n\\t\\t\\treturn reliableTrDimensionsVal;\\n\\t\\t}\\n\\t} );\\n} )();\\n\\n\\nfunction curCSS( elem, name, computed ) {\\n\\tvar width, minWidth, maxWidth, ret,\\n\\n\\t\\t// Support: Firefox 51+\\n\\t\\t// Retrieving style before computed somehow\\n\\t\\t// fixes an issue with getting wrong values\\n\\t\\t// on detached elements\\n\\t\\tstyle = elem.style;\\n\\n\\tcomputed = computed || getStyles( elem );\\n\\n\\t// getPropertyValue is needed for:\\n\\t//   .css('filter') (IE 9 only, #12537)\\n\\t//   .css('--customProperty) (#3144)\\n\\tif ( computed ) {\\n\\t\\tret = computed.getPropertyValue( name ) || computed[ name ];\\n\\n\\t\\tif ( ret === \\\"\\\" && !isAttached( elem ) ) {\\n\\t\\t\\tret = jQuery.style( elem, name );\\n\\t\\t}\\n\\n\\t\\t// A tribute to the \\\"awesome hack by Dean Edwards\\\"\\n\\t\\t// Android Browser returns percentage for some values,\\n\\t\\t// but width seems to be reliably pixels.\\n\\t\\t// This is against the CSSOM draft spec:\\n\\t\\t// https://drafts.csswg.org/cssom/#resolved-values\\n\\t\\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\\n\\n\\t\\t\\t// Remember the original values\\n\\t\\t\\twidth = style.width;\\n\\t\\t\\tminWidth = style.minWidth;\\n\\t\\t\\tmaxWidth = style.maxWidth;\\n\\n\\t\\t\\t// Put in the new values to get a computed value out\\n\\t\\t\\tstyle.minWidth = style.maxWidth = style.width = ret;\\n\\t\\t\\tret = computed.width;\\n\\n\\t\\t\\t// Revert the changed values\\n\\t\\t\\tstyle.width = width;\\n\\t\\t\\tstyle.minWidth = minWidth;\\n\\t\\t\\tstyle.maxWidth = maxWidth;\\n\\t\\t}\\n\\t}\\n\\n\\treturn ret !== undefined ?\\n\\n\\t\\t// Support: IE <=9 - 11 only\\n\\t\\t// IE returns zIndex value as an integer.\\n\\t\\tret + \\\"\\\" :\\n\\t\\tret;\\n}\\n\\n\\nfunction addGetHookIf( conditionFn, hookFn ) {\\n\\n\\t// Define the hook, we'll check on the first run if it's really needed.\\n\\treturn {\\n\\t\\tget: function() {\\n\\t\\t\\tif ( conditionFn() ) {\\n\\n\\t\\t\\t\\t// Hook not needed (or it's not possible to use it due\\n\\t\\t\\t\\t// to missing dependency), remove it.\\n\\t\\t\\t\\tdelete this.get;\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Hook needed; redefine it so that the support test is not executed again.\\n\\t\\t\\treturn ( this.get = hookFn ).apply( this, arguments );\\n\\t\\t}\\n\\t};\\n}\\n\\n\\nvar cssPrefixes = [ \\\"Webkit\\\", \\\"Moz\\\", \\\"ms\\\" ],\\n\\temptyStyle = document.createElement( \\\"div\\\" ).style,\\n\\tvendorProps = {};\\n\\n// Return a vendor-prefixed property or undefined\\nfunction vendorPropName( name ) {\\n\\n\\t// Check for vendor prefixed names\\n\\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\\n\\t\\ti = cssPrefixes.length;\\n\\n\\twhile ( i-- ) {\\n\\t\\tname = cssPrefixes[ i ] + capName;\\n\\t\\tif ( name in emptyStyle ) {\\n\\t\\t\\treturn name;\\n\\t\\t}\\n\\t}\\n}\\n\\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\\nfunction finalPropName( name ) {\\n\\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\\n\\n\\tif ( final ) {\\n\\t\\treturn final;\\n\\t}\\n\\tif ( name in emptyStyle ) {\\n\\t\\treturn name;\\n\\t}\\n\\treturn vendorProps[ name ] = vendorPropName( name ) || name;\\n}\\n\\n\\nvar\\n\\n\\t// Swappable if display is none or starts with table\\n\\t// except \\\"table\\\", \\\"table-cell\\\", or \\\"table-caption\\\"\\n\\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\\n\\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\\n\\trcustomProp = /^--/,\\n\\tcssShow = { position: \\\"absolute\\\", visibility: \\\"hidden\\\", display: \\\"block\\\" },\\n\\tcssNormalTransform = {\\n\\t\\tletterSpacing: \\\"0\\\",\\n\\t\\tfontWeight: \\\"400\\\"\\n\\t};\\n\\nfunction setPositiveNumber( _elem, value, subtract ) {\\n\\n\\t// Any relative (+/-) values have already been\\n\\t// normalized at this point\\n\\tvar matches = rcssNum.exec( value );\\n\\treturn matches ?\\n\\n\\t\\t// Guard against undefined \\\"subtract\\\", e.g., when used as in cssHooks\\n\\t\\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \\\"px\\\" ) :\\n\\t\\tvalue;\\n}\\n\\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\\n\\tvar i = dimension === \\\"width\\\" ? 1 : 0,\\n\\t\\textra = 0,\\n\\t\\tdelta = 0;\\n\\n\\t// Adjustment may not be necessary\\n\\tif ( box === ( isBorderBox ? \\\"border\\\" : \\\"content\\\" ) ) {\\n\\t\\treturn 0;\\n\\t}\\n\\n\\tfor ( ; i < 4; i += 2 ) {\\n\\n\\t\\t// Both box models exclude margin\\n\\t\\tif ( box === \\\"margin\\\" ) {\\n\\t\\t\\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\\n\\t\\t}\\n\\n\\t\\t// If we get here with a content-box, we're seeking \\\"padding\\\" or \\\"border\\\" or \\\"margin\\\"\\n\\t\\tif ( !isBorderBox ) {\\n\\n\\t\\t\\t// Add padding\\n\\t\\t\\tdelta += jQuery.css( elem, \\\"padding\\\" + cssExpand[ i ], true, styles );\\n\\n\\t\\t\\t// For \\\"border\\\" or \\\"margin\\\", add border\\n\\t\\t\\tif ( box !== \\\"padding\\\" ) {\\n\\t\\t\\t\\tdelta += jQuery.css( elem, \\\"border\\\" + cssExpand[ i ] + \\\"Width\\\", true, styles );\\n\\n\\t\\t\\t// But still keep track of it otherwise\\n\\t\\t\\t} else {\\n\\t\\t\\t\\textra += jQuery.css( elem, \\\"border\\\" + cssExpand[ i ] + \\\"Width\\\", true, styles );\\n\\t\\t\\t}\\n\\n\\t\\t// If we get here with a border-box (content + padding + border), we're seeking \\\"content\\\" or\\n\\t\\t// \\\"padding\\\" or \\\"margin\\\"\\n\\t\\t} else {\\n\\n\\t\\t\\t// For \\\"content\\\", subtract padding\\n\\t\\t\\tif ( box === \\\"content\\\" ) {\\n\\t\\t\\t\\tdelta -= jQuery.css( elem, \\\"padding\\\" + cssExpand[ i ], true, styles );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// For \\\"content\\\" or \\\"padding\\\", subtract border\\n\\t\\t\\tif ( box !== \\\"margin\\\" ) {\\n\\t\\t\\t\\tdelta -= jQuery.css( elem, \\\"border\\\" + cssExpand[ i ] + \\\"Width\\\", true, styles );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Account for positive content-box scroll gutter when requested by providing computedVal\\n\\tif ( !isBorderBox && computedVal >= 0 ) {\\n\\n\\t\\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\\n\\t\\t// Assuming integer scroll gutter, subtract the rest and round down\\n\\t\\tdelta += Math.max( 0, Math.ceil(\\n\\t\\t\\telem[ \\\"offset\\\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\\n\\t\\t\\tcomputedVal -\\n\\t\\t\\tdelta -\\n\\t\\t\\textra -\\n\\t\\t\\t0.5\\n\\n\\t\\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\\n\\t\\t// Use an explicit zero to avoid NaN (gh-3964)\\n\\t\\t) ) || 0;\\n\\t}\\n\\n\\treturn delta;\\n}\\n\\nfunction getWidthOrHeight( elem, dimension, extra ) {\\n\\n\\t// Start with computed style\\n\\tvar styles = getStyles( elem ),\\n\\n\\t\\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\\n\\t\\t// Fake content-box until we know it's needed to know the true value.\\n\\t\\tboxSizingNeeded = !support.boxSizingReliable() || extra,\\n\\t\\tisBorderBox = boxSizingNeeded &&\\n\\t\\t\\tjQuery.css( elem, \\\"boxSizing\\\", false, styles ) === \\\"border-box\\\",\\n\\t\\tvalueIsBorderBox = isBorderBox,\\n\\n\\t\\tval = curCSS( elem, dimension, styles ),\\n\\t\\toffsetProp = \\\"offset\\\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\\n\\n\\t// Support: Firefox <=54\\n\\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\\n\\tif ( rnumnonpx.test( val ) ) {\\n\\t\\tif ( !extra ) {\\n\\t\\t\\treturn val;\\n\\t\\t}\\n\\t\\tval = \\\"auto\\\";\\n\\t}\\n\\n\\n\\t// Support: IE 9 - 11 only\\n\\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\\n\\t// In those cases, the computed value can be trusted to be border-box.\\n\\tif ( ( !support.boxSizingReliable() && isBorderBox ||\\n\\n\\t\\t// Support: IE 10 - 11+, Edge 15 - 18+\\n\\t\\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\\n\\t\\t// set in CSS while `offset*` properties report correct values.\\n\\t\\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\\n\\t\\t!support.reliableTrDimensions() && nodeName( elem, \\\"tr\\\" ) ||\\n\\n\\t\\t// Fall back to offsetWidth/offsetHeight when value is \\\"auto\\\"\\n\\t\\t// This happens for inline elements with no explicit setting (gh-3571)\\n\\t\\tval === \\\"auto\\\" ||\\n\\n\\t\\t// Support: Android <=4.1 - 4.3 only\\n\\t\\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\\n\\t\\t!parseFloat( val ) && jQuery.css( elem, \\\"display\\\", false, styles ) === \\\"inline\\\" ) &&\\n\\n\\t\\t// Make sure the element is visible & connected\\n\\t\\telem.getClientRects().length ) {\\n\\n\\t\\tisBorderBox = jQuery.css( elem, \\\"boxSizing\\\", false, styles ) === \\\"border-box\\\";\\n\\n\\t\\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\\n\\t\\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\\n\\t\\t// retrieved value as a content box dimension.\\n\\t\\tvalueIsBorderBox = offsetProp in elem;\\n\\t\\tif ( valueIsBorderBox ) {\\n\\t\\t\\tval = elem[ offsetProp ];\\n\\t\\t}\\n\\t}\\n\\n\\t// Normalize \\\"\\\" and auto\\n\\tval = parseFloat( val ) || 0;\\n\\n\\t// Adjust for the element's box model\\n\\treturn ( val +\\n\\t\\tboxModelAdjustment(\\n\\t\\t\\telem,\\n\\t\\t\\tdimension,\\n\\t\\t\\textra || ( isBorderBox ? \\\"border\\\" : \\\"content\\\" ),\\n\\t\\t\\tvalueIsBorderBox,\\n\\t\\t\\tstyles,\\n\\n\\t\\t\\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\\n\\t\\t\\tval\\n\\t\\t)\\n\\t) + \\\"px\\\";\\n}\\n\\njQuery.extend( {\\n\\n\\t// Add in style property hooks for overriding the default\\n\\t// behavior of getting and setting a style property\\n\\tcssHooks: {\\n\\t\\topacity: {\\n\\t\\t\\tget: function( elem, computed ) {\\n\\t\\t\\t\\tif ( computed ) {\\n\\n\\t\\t\\t\\t\\t// We should always get a number back from opacity\\n\\t\\t\\t\\t\\tvar ret = curCSS( elem, \\\"opacity\\\" );\\n\\t\\t\\t\\t\\treturn ret === \\\"\\\" ? \\\"1\\\" : ret;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\t// Don't automatically add \\\"px\\\" to these possibly-unitless properties\\n\\tcssNumber: {\\n\\t\\t\\\"animationIterationCount\\\": true,\\n\\t\\t\\\"columnCount\\\": true,\\n\\t\\t\\\"fillOpacity\\\": true,\\n\\t\\t\\\"flexGrow\\\": true,\\n\\t\\t\\\"flexShrink\\\": true,\\n\\t\\t\\\"fontWeight\\\": true,\\n\\t\\t\\\"gridArea\\\": true,\\n\\t\\t\\\"gridColumn\\\": true,\\n\\t\\t\\\"gridColumnEnd\\\": true,\\n\\t\\t\\\"gridColumnStart\\\": true,\\n\\t\\t\\\"gridRow\\\": true,\\n\\t\\t\\\"gridRowEnd\\\": true,\\n\\t\\t\\\"gridRowStart\\\": true,\\n\\t\\t\\\"lineHeight\\\": true,\\n\\t\\t\\\"opacity\\\": true,\\n\\t\\t\\\"order\\\": true,\\n\\t\\t\\\"orphans\\\": true,\\n\\t\\t\\\"widows\\\": true,\\n\\t\\t\\\"zIndex\\\": true,\\n\\t\\t\\\"zoom\\\": true\\n\\t},\\n\\n\\t// Add in properties whose names you wish to fix before\\n\\t// setting or getting the value\\n\\tcssProps: {},\\n\\n\\t// Get and set the style property on a DOM Node\\n\\tstyle: function( elem, name, value, extra ) {\\n\\n\\t\\t// Don't set styles on text and comment nodes\\n\\t\\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Make sure that we're working with the right name\\n\\t\\tvar ret, type, hooks,\\n\\t\\t\\torigName = camelCase( name ),\\n\\t\\t\\tisCustomProp = rcustomProp.test( name ),\\n\\t\\t\\tstyle = elem.style;\\n\\n\\t\\t// Make sure that we're working with the right name. We don't\\n\\t\\t// want to query the value if it is a CSS custom property\\n\\t\\t// since they are user-defined.\\n\\t\\tif ( !isCustomProp ) {\\n\\t\\t\\tname = finalPropName( origName );\\n\\t\\t}\\n\\n\\t\\t// Gets hook for the prefixed version, then unprefixed version\\n\\t\\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\\n\\n\\t\\t// Check if we're setting a value\\n\\t\\tif ( value !== undefined ) {\\n\\t\\t\\ttype = typeof value;\\n\\n\\t\\t\\t// Convert \\\"+=\\\" or \\\"-=\\\" to relative numbers (#7345)\\n\\t\\t\\tif ( type === \\\"string\\\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\\n\\t\\t\\t\\tvalue = adjustCSS( elem, name, ret );\\n\\n\\t\\t\\t\\t// Fixes bug #9237\\n\\t\\t\\t\\ttype = \\\"number\\\";\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Make sure that null and NaN values aren't set (#7116)\\n\\t\\t\\tif ( value == null || value !== value ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If a number was passed in, add the unit (except for certain CSS properties)\\n\\t\\t\\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\\n\\t\\t\\t// \\\"px\\\" to a few hardcoded values.\\n\\t\\t\\tif ( type === \\\"number\\\" && !isCustomProp ) {\\n\\t\\t\\t\\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \\\"\\\" : \\\"px\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// background-* props affect original clone's values\\n\\t\\t\\tif ( !support.clearCloneStyle && value === \\\"\\\" && name.indexOf( \\\"background\\\" ) === 0 ) {\\n\\t\\t\\t\\tstyle[ name ] = \\\"inherit\\\";\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If a hook was provided, use that value, otherwise just set the specified value\\n\\t\\t\\tif ( !hooks || !( \\\"set\\\" in hooks ) ||\\n\\t\\t\\t\\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\\n\\n\\t\\t\\t\\tif ( isCustomProp ) {\\n\\t\\t\\t\\t\\tstyle.setProperty( name, value );\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tstyle[ name ] = value;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t} else {\\n\\n\\t\\t\\t// If a hook was provided get the non-computed value from there\\n\\t\\t\\tif ( hooks && \\\"get\\\" in hooks &&\\n\\t\\t\\t\\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\\n\\n\\t\\t\\t\\treturn ret;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Otherwise just get the value from the style object\\n\\t\\t\\treturn style[ name ];\\n\\t\\t}\\n\\t},\\n\\n\\tcss: function( elem, name, extra, styles ) {\\n\\t\\tvar val, num, hooks,\\n\\t\\t\\torigName = camelCase( name ),\\n\\t\\t\\tisCustomProp = rcustomProp.test( name );\\n\\n\\t\\t// Make sure that we're working with the right name. We don't\\n\\t\\t// want to modify the value if it is a CSS custom property\\n\\t\\t// since they are user-defined.\\n\\t\\tif ( !isCustomProp ) {\\n\\t\\t\\tname = finalPropName( origName );\\n\\t\\t}\\n\\n\\t\\t// Try prefixed name followed by the unprefixed name\\n\\t\\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\\n\\n\\t\\t// If a hook was provided get the computed value from there\\n\\t\\tif ( hooks && \\\"get\\\" in hooks ) {\\n\\t\\t\\tval = hooks.get( elem, true, extra );\\n\\t\\t}\\n\\n\\t\\t// Otherwise, if a way to get the computed value exists, use that\\n\\t\\tif ( val === undefined ) {\\n\\t\\t\\tval = curCSS( elem, name, styles );\\n\\t\\t}\\n\\n\\t\\t// Convert \\\"normal\\\" to computed value\\n\\t\\tif ( val === \\\"normal\\\" && name in cssNormalTransform ) {\\n\\t\\t\\tval = cssNormalTransform[ name ];\\n\\t\\t}\\n\\n\\t\\t// Make numeric if forced or a qualifier was provided and val looks numeric\\n\\t\\tif ( extra === \\\"\\\" || extra ) {\\n\\t\\t\\tnum = parseFloat( val );\\n\\t\\t\\treturn extra === true || isFinite( num ) ? num || 0 : val;\\n\\t\\t}\\n\\n\\t\\treturn val;\\n\\t}\\n} );\\n\\njQuery.each( [ \\\"height\\\", \\\"width\\\" ], function( _i, dimension ) {\\n\\tjQuery.cssHooks[ dimension ] = {\\n\\t\\tget: function( elem, computed, extra ) {\\n\\t\\t\\tif ( computed ) {\\n\\n\\t\\t\\t\\t// Certain elements can have dimension info if we invisibly show them\\n\\t\\t\\t\\t// but it must have a current display style that would benefit\\n\\t\\t\\t\\treturn rdisplayswap.test( jQuery.css( elem, \\\"display\\\" ) ) &&\\n\\n\\t\\t\\t\\t\\t// Support: Safari 8+\\n\\t\\t\\t\\t\\t// Table columns in Safari have non-zero offsetWidth & zero\\n\\t\\t\\t\\t\\t// getBoundingClientRect().width unless display is changed.\\n\\t\\t\\t\\t\\t// Support: IE <=11 only\\n\\t\\t\\t\\t\\t// Running getBoundingClientRect on a disconnected node\\n\\t\\t\\t\\t\\t// in IE throws an error.\\n\\t\\t\\t\\t\\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\\n\\t\\t\\t\\t\\t\\tswap( elem, cssShow, function() {\\n\\t\\t\\t\\t\\t\\t\\treturn getWidthOrHeight( elem, dimension, extra );\\n\\t\\t\\t\\t\\t\\t} ) :\\n\\t\\t\\t\\t\\t\\tgetWidthOrHeight( elem, dimension, extra );\\n\\t\\t\\t}\\n\\t\\t},\\n\\n\\t\\tset: function( elem, value, extra ) {\\n\\t\\t\\tvar matches,\\n\\t\\t\\t\\tstyles = getStyles( elem ),\\n\\n\\t\\t\\t\\t// Only read styles.position if the test has a chance to fail\\n\\t\\t\\t\\t// to avoid forcing a reflow.\\n\\t\\t\\t\\tscrollboxSizeBuggy = !support.scrollboxSize() &&\\n\\t\\t\\t\\t\\tstyles.position === \\\"absolute\\\",\\n\\n\\t\\t\\t\\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\\n\\t\\t\\t\\tboxSizingNeeded = scrollboxSizeBuggy || extra,\\n\\t\\t\\t\\tisBorderBox = boxSizingNeeded &&\\n\\t\\t\\t\\t\\tjQuery.css( elem, \\\"boxSizing\\\", false, styles ) === \\\"border-box\\\",\\n\\t\\t\\t\\tsubtract = extra ?\\n\\t\\t\\t\\t\\tboxModelAdjustment(\\n\\t\\t\\t\\t\\t\\telem,\\n\\t\\t\\t\\t\\t\\tdimension,\\n\\t\\t\\t\\t\\t\\textra,\\n\\t\\t\\t\\t\\t\\tisBorderBox,\\n\\t\\t\\t\\t\\t\\tstyles\\n\\t\\t\\t\\t\\t) :\\n\\t\\t\\t\\t\\t0;\\n\\n\\t\\t\\t// Account for unreliable border-box dimensions by comparing offset* to computed and\\n\\t\\t\\t// faking a content-box to get border and padding (gh-3699)\\n\\t\\t\\tif ( isBorderBox && scrollboxSizeBuggy ) {\\n\\t\\t\\t\\tsubtract -= Math.ceil(\\n\\t\\t\\t\\t\\telem[ \\\"offset\\\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\\n\\t\\t\\t\\t\\tparseFloat( styles[ dimension ] ) -\\n\\t\\t\\t\\t\\tboxModelAdjustment( elem, dimension, \\\"border\\\", false, styles ) -\\n\\t\\t\\t\\t\\t0.5\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Convert to pixels if value adjustment is needed\\n\\t\\t\\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\\n\\t\\t\\t\\t( matches[ 3 ] || \\\"px\\\" ) !== \\\"px\\\" ) {\\n\\n\\t\\t\\t\\telem.style[ dimension ] = value;\\n\\t\\t\\t\\tvalue = jQuery.css( elem, dimension );\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn setPositiveNumber( elem, value, subtract );\\n\\t\\t}\\n\\t};\\n} );\\n\\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\\n\\tfunction( elem, computed ) {\\n\\t\\tif ( computed ) {\\n\\t\\t\\treturn ( parseFloat( curCSS( elem, \\\"marginLeft\\\" ) ) ||\\n\\t\\t\\t\\telem.getBoundingClientRect().left -\\n\\t\\t\\t\\t\\tswap( elem, { marginLeft: 0 }, function() {\\n\\t\\t\\t\\t\\t\\treturn elem.getBoundingClientRect().left;\\n\\t\\t\\t\\t\\t} )\\n\\t\\t\\t\\t) + \\\"px\\\";\\n\\t\\t}\\n\\t}\\n);\\n\\n// These hooks are used by animate to expand properties\\njQuery.each( {\\n\\tmargin: \\\"\\\",\\n\\tpadding: \\\"\\\",\\n\\tborder: \\\"Width\\\"\\n}, function( prefix, suffix ) {\\n\\tjQuery.cssHooks[ prefix + suffix ] = {\\n\\t\\texpand: function( value ) {\\n\\t\\t\\tvar i = 0,\\n\\t\\t\\t\\texpanded = {},\\n\\n\\t\\t\\t\\t// Assumes a single number if not a string\\n\\t\\t\\t\\tparts = typeof value === \\\"string\\\" ? value.split( \\\" \\\" ) : [ value ];\\n\\n\\t\\t\\tfor ( ; i < 4; i++ ) {\\n\\t\\t\\t\\texpanded[ prefix + cssExpand[ i ] + suffix ] =\\n\\t\\t\\t\\t\\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn expanded;\\n\\t\\t}\\n\\t};\\n\\n\\tif ( prefix !== \\\"margin\\\" ) {\\n\\t\\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\\n\\t}\\n} );\\n\\njQuery.fn.extend( {\\n\\tcss: function( name, value ) {\\n\\t\\treturn access( this, function( elem, name, value ) {\\n\\t\\t\\tvar styles, len,\\n\\t\\t\\t\\tmap = {},\\n\\t\\t\\t\\ti = 0;\\n\\n\\t\\t\\tif ( Array.isArray( name ) ) {\\n\\t\\t\\t\\tstyles = getStyles( elem );\\n\\t\\t\\t\\tlen = name.length;\\n\\n\\t\\t\\t\\tfor ( ; i < len; i++ ) {\\n\\t\\t\\t\\t\\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn map;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn value !== undefined ?\\n\\t\\t\\t\\tjQuery.style( elem, name, value ) :\\n\\t\\t\\t\\tjQuery.css( elem, name );\\n\\t\\t}, name, value, arguments.length > 1 );\\n\\t}\\n} );\\n\\n\\nfunction Tween( elem, options, prop, end, easing ) {\\n\\treturn new Tween.prototype.init( elem, options, prop, end, easing );\\n}\\njQuery.Tween = Tween;\\n\\nTween.prototype = {\\n\\tconstructor: Tween,\\n\\tinit: function( elem, options, prop, end, easing, unit ) {\\n\\t\\tthis.elem = elem;\\n\\t\\tthis.prop = prop;\\n\\t\\tthis.easing = easing || jQuery.easing._default;\\n\\t\\tthis.options = options;\\n\\t\\tthis.start = this.now = this.cur();\\n\\t\\tthis.end = end;\\n\\t\\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \\\"\\\" : \\\"px\\\" );\\n\\t},\\n\\tcur: function() {\\n\\t\\tvar hooks = Tween.propHooks[ this.prop ];\\n\\n\\t\\treturn hooks && hooks.get ?\\n\\t\\t\\thooks.get( this ) :\\n\\t\\t\\tTween.propHooks._default.get( this );\\n\\t},\\n\\trun: function( percent ) {\\n\\t\\tvar eased,\\n\\t\\t\\thooks = Tween.propHooks[ this.prop ];\\n\\n\\t\\tif ( this.options.duration ) {\\n\\t\\t\\tthis.pos = eased = jQuery.easing[ this.easing ](\\n\\t\\t\\t\\tpercent, this.options.duration * percent, 0, 1, this.options.duration\\n\\t\\t\\t);\\n\\t\\t} else {\\n\\t\\t\\tthis.pos = eased = percent;\\n\\t\\t}\\n\\t\\tthis.now = ( this.end - this.start ) * eased + this.start;\\n\\n\\t\\tif ( this.options.step ) {\\n\\t\\t\\tthis.options.step.call( this.elem, this.now, this );\\n\\t\\t}\\n\\n\\t\\tif ( hooks && hooks.set ) {\\n\\t\\t\\thooks.set( this );\\n\\t\\t} else {\\n\\t\\t\\tTween.propHooks._default.set( this );\\n\\t\\t}\\n\\t\\treturn this;\\n\\t}\\n};\\n\\nTween.prototype.init.prototype = Tween.prototype;\\n\\nTween.propHooks = {\\n\\t_default: {\\n\\t\\tget: function( tween ) {\\n\\t\\t\\tvar result;\\n\\n\\t\\t\\t// Use a property on the element directly when it is not a DOM element,\\n\\t\\t\\t// or when there is no matching style property that exists.\\n\\t\\t\\tif ( tween.elem.nodeType !== 1 ||\\n\\t\\t\\t\\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\\n\\t\\t\\t\\treturn tween.elem[ tween.prop ];\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Passing an empty string as a 3rd parameter to .css will automatically\\n\\t\\t\\t// attempt a parseFloat and fallback to a string if the parse fails.\\n\\t\\t\\t// Simple values such as \\\"10px\\\" are parsed to Float;\\n\\t\\t\\t// complex values such as \\\"rotate(1rad)\\\" are returned as-is.\\n\\t\\t\\tresult = jQuery.css( tween.elem, tween.prop, \\\"\\\" );\\n\\n\\t\\t\\t// Empty strings, null, undefined and \\\"auto\\\" are converted to 0.\\n\\t\\t\\treturn !result || result === \\\"auto\\\" ? 0 : result;\\n\\t\\t},\\n\\t\\tset: function( tween ) {\\n\\n\\t\\t\\t// Use step hook for back compat.\\n\\t\\t\\t// Use cssHook if its there.\\n\\t\\t\\t// Use .style if available and use plain properties where available.\\n\\t\\t\\tif ( jQuery.fx.step[ tween.prop ] ) {\\n\\t\\t\\t\\tjQuery.fx.step[ tween.prop ]( tween );\\n\\t\\t\\t} else if ( tween.elem.nodeType === 1 && (\\n\\t\\t\\t\\t\\tjQuery.cssHooks[ tween.prop ] ||\\n\\t\\t\\t\\t\\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\\n\\t\\t\\t\\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ttween.elem[ tween.prop ] = tween.now;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n};\\n\\n// Support: IE <=9 only\\n// Panic based approach to setting things on disconnected nodes\\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\\n\\tset: function( tween ) {\\n\\t\\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\\n\\t\\t\\ttween.elem[ tween.prop ] = tween.now;\\n\\t\\t}\\n\\t}\\n};\\n\\njQuery.easing = {\\n\\tlinear: function( p ) {\\n\\t\\treturn p;\\n\\t},\\n\\tswing: function( p ) {\\n\\t\\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\\n\\t},\\n\\t_default: \\\"swing\\\"\\n};\\n\\njQuery.fx = Tween.prototype.init;\\n\\n// Back compat <1.8 extension point\\njQuery.fx.step = {};\\n\\n\\n\\n\\nvar\\n\\tfxNow, inProgress,\\n\\trfxtypes = /^(?:toggle|show|hide)$/,\\n\\trrun = /queueHooks$/;\\n\\nfunction schedule() {\\n\\tif ( inProgress ) {\\n\\t\\tif ( document.hidden === false && window.requestAnimationFrame ) {\\n\\t\\t\\twindow.requestAnimationFrame( schedule );\\n\\t\\t} else {\\n\\t\\t\\twindow.setTimeout( schedule, jQuery.fx.interval );\\n\\t\\t}\\n\\n\\t\\tjQuery.fx.tick();\\n\\t}\\n}\\n\\n// Animations created synchronously will run synchronously\\nfunction createFxNow() {\\n\\twindow.setTimeout( function() {\\n\\t\\tfxNow = undefined;\\n\\t} );\\n\\treturn ( fxNow = Date.now() );\\n}\\n\\n// Generate parameters to create a standard animation\\nfunction genFx( type, includeWidth ) {\\n\\tvar which,\\n\\t\\ti = 0,\\n\\t\\tattrs = { height: type };\\n\\n\\t// If we include width, step value is 1 to do all cssExpand values,\\n\\t// otherwise step value is 2 to skip over Left and Right\\n\\tincludeWidth = includeWidth ? 1 : 0;\\n\\tfor ( ; i < 4; i += 2 - includeWidth ) {\\n\\t\\twhich = cssExpand[ i ];\\n\\t\\tattrs[ \\\"margin\\\" + which ] = attrs[ \\\"padding\\\" + which ] = type;\\n\\t}\\n\\n\\tif ( includeWidth ) {\\n\\t\\tattrs.opacity = attrs.width = type;\\n\\t}\\n\\n\\treturn attrs;\\n}\\n\\nfunction createTween( value, prop, animation ) {\\n\\tvar tween,\\n\\t\\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \\\"*\\\" ] ),\\n\\t\\tindex = 0,\\n\\t\\tlength = collection.length;\\n\\tfor ( ; index < length; index++ ) {\\n\\t\\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\\n\\n\\t\\t\\t// We're done with this property\\n\\t\\t\\treturn tween;\\n\\t\\t}\\n\\t}\\n}\\n\\nfunction defaultPrefilter( elem, props, opts ) {\\n\\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\\n\\t\\tisBox = \\\"width\\\" in props || \\\"height\\\" in props,\\n\\t\\tanim = this,\\n\\t\\torig = {},\\n\\t\\tstyle = elem.style,\\n\\t\\thidden = elem.nodeType && isHiddenWithinTree( elem ),\\n\\t\\tdataShow = dataPriv.get( elem, \\\"fxshow\\\" );\\n\\n\\t// Queue-skipping animations hijack the fx hooks\\n\\tif ( !opts.queue ) {\\n\\t\\thooks = jQuery._queueHooks( elem, \\\"fx\\\" );\\n\\t\\tif ( hooks.unqueued == null ) {\\n\\t\\t\\thooks.unqueued = 0;\\n\\t\\t\\toldfire = hooks.empty.fire;\\n\\t\\t\\thooks.empty.fire = function() {\\n\\t\\t\\t\\tif ( !hooks.unqueued ) {\\n\\t\\t\\t\\t\\toldfire();\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t}\\n\\t\\thooks.unqueued++;\\n\\n\\t\\tanim.always( function() {\\n\\n\\t\\t\\t// Ensure the complete handler is called before this completes\\n\\t\\t\\tanim.always( function() {\\n\\t\\t\\t\\thooks.unqueued--;\\n\\t\\t\\t\\tif ( !jQuery.queue( elem, \\\"fx\\\" ).length ) {\\n\\t\\t\\t\\t\\thooks.empty.fire();\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\t} );\\n\\t}\\n\\n\\t// Detect show/hide animations\\n\\tfor ( prop in props ) {\\n\\t\\tvalue = props[ prop ];\\n\\t\\tif ( rfxtypes.test( value ) ) {\\n\\t\\t\\tdelete props[ prop ];\\n\\t\\t\\ttoggle = toggle || value === \\\"toggle\\\";\\n\\t\\t\\tif ( value === ( hidden ? \\\"hide\\\" : \\\"show\\\" ) ) {\\n\\n\\t\\t\\t\\t// Pretend to be hidden if this is a \\\"show\\\" and\\n\\t\\t\\t\\t// there is still data from a stopped show/hide\\n\\t\\t\\t\\tif ( value === \\\"show\\\" && dataShow && dataShow[ prop ] !== undefined ) {\\n\\t\\t\\t\\t\\thidden = true;\\n\\n\\t\\t\\t\\t// Ignore all other no-op show/hide data\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\\n\\t\\t}\\n\\t}\\n\\n\\t// Bail out if this is a no-op like .hide().hide()\\n\\tpropTween = !jQuery.isEmptyObject( props );\\n\\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\t// Restrict \\\"overflow\\\" and \\\"display\\\" styles during box animations\\n\\tif ( isBox && elem.nodeType === 1 ) {\\n\\n\\t\\t// Support: IE <=9 - 11, Edge 12 - 15\\n\\t\\t// Record all 3 overflow attributes because IE does not infer the shorthand\\n\\t\\t// from identically-valued overflowX and overflowY and Edge just mirrors\\n\\t\\t// the overflowX value there.\\n\\t\\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\\n\\n\\t\\t// Identify a display type, preferring old show/hide data over the CSS cascade\\n\\t\\trestoreDisplay = dataShow && dataShow.display;\\n\\t\\tif ( restoreDisplay == null ) {\\n\\t\\t\\trestoreDisplay = dataPriv.get( elem, \\\"display\\\" );\\n\\t\\t}\\n\\t\\tdisplay = jQuery.css( elem, \\\"display\\\" );\\n\\t\\tif ( display === \\\"none\\\" ) {\\n\\t\\t\\tif ( restoreDisplay ) {\\n\\t\\t\\t\\tdisplay = restoreDisplay;\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t// Get nonempty value(s) by temporarily forcing visibility\\n\\t\\t\\t\\tshowHide( [ elem ], true );\\n\\t\\t\\t\\trestoreDisplay = elem.style.display || restoreDisplay;\\n\\t\\t\\t\\tdisplay = jQuery.css( elem, \\\"display\\\" );\\n\\t\\t\\t\\tshowHide( [ elem ] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Animate inline elements as inline-block\\n\\t\\tif ( display === \\\"inline\\\" || display === \\\"inline-block\\\" && restoreDisplay != null ) {\\n\\t\\t\\tif ( jQuery.css( elem, \\\"float\\\" ) === \\\"none\\\" ) {\\n\\n\\t\\t\\t\\t// Restore the original display value at the end of pure show/hide animations\\n\\t\\t\\t\\tif ( !propTween ) {\\n\\t\\t\\t\\t\\tanim.done( function() {\\n\\t\\t\\t\\t\\t\\tstyle.display = restoreDisplay;\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\tif ( restoreDisplay == null ) {\\n\\t\\t\\t\\t\\t\\tdisplay = style.display;\\n\\t\\t\\t\\t\\t\\trestoreDisplay = display === \\\"none\\\" ? \\\"\\\" : display;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tstyle.display = \\\"inline-block\\\";\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tif ( opts.overflow ) {\\n\\t\\tstyle.overflow = \\\"hidden\\\";\\n\\t\\tanim.always( function() {\\n\\t\\t\\tstyle.overflow = opts.overflow[ 0 ];\\n\\t\\t\\tstyle.overflowX = opts.overflow[ 1 ];\\n\\t\\t\\tstyle.overflowY = opts.overflow[ 2 ];\\n\\t\\t} );\\n\\t}\\n\\n\\t// Implement show/hide animations\\n\\tpropTween = false;\\n\\tfor ( prop in orig ) {\\n\\n\\t\\t// General show/hide setup for this element animation\\n\\t\\tif ( !propTween ) {\\n\\t\\t\\tif ( dataShow ) {\\n\\t\\t\\t\\tif ( \\\"hidden\\\" in dataShow ) {\\n\\t\\t\\t\\t\\thidden = dataShow.hidden;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tdataShow = dataPriv.access( elem, \\\"fxshow\\\", { display: restoreDisplay } );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Store hidden/visible for toggle so `.stop().toggle()` \\\"reverses\\\"\\n\\t\\t\\tif ( toggle ) {\\n\\t\\t\\t\\tdataShow.hidden = !hidden;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Show elements before animating them\\n\\t\\t\\tif ( hidden ) {\\n\\t\\t\\t\\tshowHide( [ elem ], true );\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* eslint-disable no-loop-func */\\n\\n\\t\\t\\tanim.done( function() {\\n\\n\\t\\t\\t/* eslint-enable no-loop-func */\\n\\n\\t\\t\\t\\t// The final step of a \\\"hide\\\" animation is actually hiding the element\\n\\t\\t\\t\\tif ( !hidden ) {\\n\\t\\t\\t\\t\\tshowHide( [ elem ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tdataPriv.remove( elem, \\\"fxshow\\\" );\\n\\t\\t\\t\\tfor ( prop in orig ) {\\n\\t\\t\\t\\t\\tjQuery.style( elem, prop, orig[ prop ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\t// Per-property setup\\n\\t\\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\\n\\t\\tif ( !( prop in dataShow ) ) {\\n\\t\\t\\tdataShow[ prop ] = propTween.start;\\n\\t\\t\\tif ( hidden ) {\\n\\t\\t\\t\\tpropTween.end = propTween.start;\\n\\t\\t\\t\\tpropTween.start = 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\nfunction propFilter( props, specialEasing ) {\\n\\tvar index, name, easing, value, hooks;\\n\\n\\t// camelCase, specialEasing and expand cssHook pass\\n\\tfor ( index in props ) {\\n\\t\\tname = camelCase( index );\\n\\t\\teasing = specialEasing[ name ];\\n\\t\\tvalue = props[ index ];\\n\\t\\tif ( Array.isArray( value ) ) {\\n\\t\\t\\teasing = value[ 1 ];\\n\\t\\t\\tvalue = props[ index ] = value[ 0 ];\\n\\t\\t}\\n\\n\\t\\tif ( index !== name ) {\\n\\t\\t\\tprops[ name ] = value;\\n\\t\\t\\tdelete props[ index ];\\n\\t\\t}\\n\\n\\t\\thooks = jQuery.cssHooks[ name ];\\n\\t\\tif ( hooks && \\\"expand\\\" in hooks ) {\\n\\t\\t\\tvalue = hooks.expand( value );\\n\\t\\t\\tdelete props[ name ];\\n\\n\\t\\t\\t// Not quite $.extend, this won't overwrite existing keys.\\n\\t\\t\\t// Reusing 'index' because we have the correct \\\"name\\\"\\n\\t\\t\\tfor ( index in value ) {\\n\\t\\t\\t\\tif ( !( index in props ) ) {\\n\\t\\t\\t\\t\\tprops[ index ] = value[ index ];\\n\\t\\t\\t\\t\\tspecialEasing[ index ] = easing;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tspecialEasing[ name ] = easing;\\n\\t\\t}\\n\\t}\\n}\\n\\nfunction Animation( elem, properties, options ) {\\n\\tvar result,\\n\\t\\tstopped,\\n\\t\\tindex = 0,\\n\\t\\tlength = Animation.prefilters.length,\\n\\t\\tdeferred = jQuery.Deferred().always( function() {\\n\\n\\t\\t\\t// Don't match elem in the :animated selector\\n\\t\\t\\tdelete tick.elem;\\n\\t\\t} ),\\n\\t\\ttick = function() {\\n\\t\\t\\tif ( stopped ) {\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t}\\n\\t\\t\\tvar currentTime = fxNow || createFxNow(),\\n\\t\\t\\t\\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\\n\\n\\t\\t\\t\\t// Support: Android 2.3 only\\n\\t\\t\\t\\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)\\n\\t\\t\\t\\ttemp = remaining / animation.duration || 0,\\n\\t\\t\\t\\tpercent = 1 - temp,\\n\\t\\t\\t\\tindex = 0,\\n\\t\\t\\t\\tlength = animation.tweens.length;\\n\\n\\t\\t\\tfor ( ; index < length; index++ ) {\\n\\t\\t\\t\\tanimation.tweens[ index ].run( percent );\\n\\t\\t\\t}\\n\\n\\t\\t\\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\\n\\n\\t\\t\\t// If there's more to do, yield\\n\\t\\t\\tif ( percent < 1 && length ) {\\n\\t\\t\\t\\treturn remaining;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If this was an empty animation, synthesize a final progress notification\\n\\t\\t\\tif ( !length ) {\\n\\t\\t\\t\\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Resolve the animation and report its conclusion\\n\\t\\t\\tdeferred.resolveWith( elem, [ animation ] );\\n\\t\\t\\treturn false;\\n\\t\\t},\\n\\t\\tanimation = deferred.promise( {\\n\\t\\t\\telem: elem,\\n\\t\\t\\tprops: jQuery.extend( {}, properties ),\\n\\t\\t\\topts: jQuery.extend( true, {\\n\\t\\t\\t\\tspecialEasing: {},\\n\\t\\t\\t\\teasing: jQuery.easing._default\\n\\t\\t\\t}, options ),\\n\\t\\t\\toriginalProperties: properties,\\n\\t\\t\\toriginalOptions: options,\\n\\t\\t\\tstartTime: fxNow || createFxNow(),\\n\\t\\t\\tduration: options.duration,\\n\\t\\t\\ttweens: [],\\n\\t\\t\\tcreateTween: function( prop, end ) {\\n\\t\\t\\t\\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\\n\\t\\t\\t\\t\\t\\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\\n\\t\\t\\t\\tanimation.tweens.push( tween );\\n\\t\\t\\t\\treturn tween;\\n\\t\\t\\t},\\n\\t\\t\\tstop: function( gotoEnd ) {\\n\\t\\t\\t\\tvar index = 0,\\n\\n\\t\\t\\t\\t\\t// If we are going to the end, we want to run all the tweens\\n\\t\\t\\t\\t\\t// otherwise we skip this part\\n\\t\\t\\t\\t\\tlength = gotoEnd ? animation.tweens.length : 0;\\n\\t\\t\\t\\tif ( stopped ) {\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tstopped = true;\\n\\t\\t\\t\\tfor ( ; index < length; index++ ) {\\n\\t\\t\\t\\t\\tanimation.tweens[ index ].run( 1 );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Resolve when we played the last frame; otherwise, reject\\n\\t\\t\\t\\tif ( gotoEnd ) {\\n\\t\\t\\t\\t\\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\\n\\t\\t\\t\\t\\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t}\\n\\t\\t} ),\\n\\t\\tprops = animation.props;\\n\\n\\tpropFilter( props, animation.opts.specialEasing );\\n\\n\\tfor ( ; index < length; index++ ) {\\n\\t\\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\\n\\t\\tif ( result ) {\\n\\t\\t\\tif ( isFunction( result.stop ) ) {\\n\\t\\t\\t\\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\\n\\t\\t\\t\\t\\tresult.stop.bind( result );\\n\\t\\t\\t}\\n\\t\\t\\treturn result;\\n\\t\\t}\\n\\t}\\n\\n\\tjQuery.map( props, createTween, animation );\\n\\n\\tif ( isFunction( animation.opts.start ) ) {\\n\\t\\tanimation.opts.start.call( elem, animation );\\n\\t}\\n\\n\\t// Attach callbacks from options\\n\\tanimation\\n\\t\\t.progress( animation.opts.progress )\\n\\t\\t.done( animation.opts.done, animation.opts.complete )\\n\\t\\t.fail( animation.opts.fail )\\n\\t\\t.always( animation.opts.always );\\n\\n\\tjQuery.fx.timer(\\n\\t\\tjQuery.extend( tick, {\\n\\t\\t\\telem: elem,\\n\\t\\t\\tanim: animation,\\n\\t\\t\\tqueue: animation.opts.queue\\n\\t\\t} )\\n\\t);\\n\\n\\treturn animation;\\n}\\n\\njQuery.Animation = jQuery.extend( Animation, {\\n\\n\\ttweeners: {\\n\\t\\t\\\"*\\\": [ function( prop, value ) {\\n\\t\\t\\tvar tween = this.createTween( prop, value );\\n\\t\\t\\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\\n\\t\\t\\treturn tween;\\n\\t\\t} ]\\n\\t},\\n\\n\\ttweener: function( props, callback ) {\\n\\t\\tif ( isFunction( props ) ) {\\n\\t\\t\\tcallback = props;\\n\\t\\t\\tprops = [ \\\"*\\\" ];\\n\\t\\t} else {\\n\\t\\t\\tprops = props.match( rnothtmlwhite );\\n\\t\\t}\\n\\n\\t\\tvar prop,\\n\\t\\t\\tindex = 0,\\n\\t\\t\\tlength = props.length;\\n\\n\\t\\tfor ( ; index < length; index++ ) {\\n\\t\\t\\tprop = props[ index ];\\n\\t\\t\\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\\n\\t\\t\\tAnimation.tweeners[ prop ].unshift( callback );\\n\\t\\t}\\n\\t},\\n\\n\\tprefilters: [ defaultPrefilter ],\\n\\n\\tprefilter: function( callback, prepend ) {\\n\\t\\tif ( prepend ) {\\n\\t\\t\\tAnimation.prefilters.unshift( callback );\\n\\t\\t} else {\\n\\t\\t\\tAnimation.prefilters.push( callback );\\n\\t\\t}\\n\\t}\\n} );\\n\\njQuery.speed = function( speed, easing, fn ) {\\n\\tvar opt = speed && typeof speed === \\\"object\\\" ? jQuery.extend( {}, speed ) : {\\n\\t\\tcomplete: fn || !fn && easing ||\\n\\t\\t\\tisFunction( speed ) && speed,\\n\\t\\tduration: speed,\\n\\t\\teasing: fn && easing || easing && !isFunction( easing ) && easing\\n\\t};\\n\\n\\t// Go to the end state if fx are off\\n\\tif ( jQuery.fx.off ) {\\n\\t\\topt.duration = 0;\\n\\n\\t} else {\\n\\t\\tif ( typeof opt.duration !== \\\"number\\\" ) {\\n\\t\\t\\tif ( opt.duration in jQuery.fx.speeds ) {\\n\\t\\t\\t\\topt.duration = jQuery.fx.speeds[ opt.duration ];\\n\\n\\t\\t\\t} else {\\n\\t\\t\\t\\topt.duration = jQuery.fx.speeds._default;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Normalize opt.queue - true/undefined/null -> \\\"fx\\\"\\n\\tif ( opt.queue == null || opt.queue === true ) {\\n\\t\\topt.queue = \\\"fx\\\";\\n\\t}\\n\\n\\t// Queueing\\n\\topt.old = opt.complete;\\n\\n\\topt.complete = function() {\\n\\t\\tif ( isFunction( opt.old ) ) {\\n\\t\\t\\topt.old.call( this );\\n\\t\\t}\\n\\n\\t\\tif ( opt.queue ) {\\n\\t\\t\\tjQuery.dequeue( this, opt.queue );\\n\\t\\t}\\n\\t};\\n\\n\\treturn opt;\\n};\\n\\njQuery.fn.extend( {\\n\\tfadeTo: function( speed, to, easing, callback ) {\\n\\n\\t\\t// Show any hidden elements after setting opacity to 0\\n\\t\\treturn this.filter( isHiddenWithinTree ).css( \\\"opacity\\\", 0 ).show()\\n\\n\\t\\t\\t// Animate to the value specified\\n\\t\\t\\t.end().animate( { opacity: to }, speed, easing, callback );\\n\\t},\\n\\tanimate: function( prop, speed, easing, callback ) {\\n\\t\\tvar empty = jQuery.isEmptyObject( prop ),\\n\\t\\t\\toptall = jQuery.speed( speed, easing, callback ),\\n\\t\\t\\tdoAnimation = function() {\\n\\n\\t\\t\\t\\t// Operate on a copy of prop so per-property easing won't be lost\\n\\t\\t\\t\\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\\n\\n\\t\\t\\t\\t// Empty animations, or finishing resolves immediately\\n\\t\\t\\t\\tif ( empty || dataPriv.get( this, \\\"finish\\\" ) ) {\\n\\t\\t\\t\\t\\tanim.stop( true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\t\\t\\tdoAnimation.finish = doAnimation;\\n\\n\\t\\treturn empty || optall.queue === false ?\\n\\t\\t\\tthis.each( doAnimation ) :\\n\\t\\t\\tthis.queue( optall.queue, doAnimation );\\n\\t},\\n\\tstop: function( type, clearQueue, gotoEnd ) {\\n\\t\\tvar stopQueue = function( hooks ) {\\n\\t\\t\\tvar stop = hooks.stop;\\n\\t\\t\\tdelete hooks.stop;\\n\\t\\t\\tstop( gotoEnd );\\n\\t\\t};\\n\\n\\t\\tif ( typeof type !== \\\"string\\\" ) {\\n\\t\\t\\tgotoEnd = clearQueue;\\n\\t\\t\\tclearQueue = type;\\n\\t\\t\\ttype = undefined;\\n\\t\\t}\\n\\t\\tif ( clearQueue ) {\\n\\t\\t\\tthis.queue( type || \\\"fx\\\", [] );\\n\\t\\t}\\n\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tvar dequeue = true,\\n\\t\\t\\t\\tindex = type != null && type + \\\"queueHooks\\\",\\n\\t\\t\\t\\ttimers = jQuery.timers,\\n\\t\\t\\t\\tdata = dataPriv.get( this );\\n\\n\\t\\t\\tif ( index ) {\\n\\t\\t\\t\\tif ( data[ index ] && data[ index ].stop ) {\\n\\t\\t\\t\\t\\tstopQueue( data[ index ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tfor ( index in data ) {\\n\\t\\t\\t\\t\\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\\n\\t\\t\\t\\t\\t\\tstopQueue( data[ index ] );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tfor ( index = timers.length; index--; ) {\\n\\t\\t\\t\\tif ( timers[ index ].elem === this &&\\n\\t\\t\\t\\t\\t( type == null || timers[ index ].queue === type ) ) {\\n\\n\\t\\t\\t\\t\\ttimers[ index ].anim.stop( gotoEnd );\\n\\t\\t\\t\\t\\tdequeue = false;\\n\\t\\t\\t\\t\\ttimers.splice( index, 1 );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Start the next in the queue if the last step wasn't forced.\\n\\t\\t\\t// Timers currently will call their complete callbacks, which\\n\\t\\t\\t// will dequeue but only if they were gotoEnd.\\n\\t\\t\\tif ( dequeue || !gotoEnd ) {\\n\\t\\t\\t\\tjQuery.dequeue( this, type );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\tfinish: function( type ) {\\n\\t\\tif ( type !== false ) {\\n\\t\\t\\ttype = type || \\\"fx\\\";\\n\\t\\t}\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tvar index,\\n\\t\\t\\t\\tdata = dataPriv.get( this ),\\n\\t\\t\\t\\tqueue = data[ type + \\\"queue\\\" ],\\n\\t\\t\\t\\thooks = data[ type + \\\"queueHooks\\\" ],\\n\\t\\t\\t\\ttimers = jQuery.timers,\\n\\t\\t\\t\\tlength = queue ? queue.length : 0;\\n\\n\\t\\t\\t// Enable finishing flag on private data\\n\\t\\t\\tdata.finish = true;\\n\\n\\t\\t\\t// Empty the queue first\\n\\t\\t\\tjQuery.queue( this, type, [] );\\n\\n\\t\\t\\tif ( hooks && hooks.stop ) {\\n\\t\\t\\t\\thooks.stop.call( this, true );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Look for any active animations, and finish them\\n\\t\\t\\tfor ( index = timers.length; index--; ) {\\n\\t\\t\\t\\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\\n\\t\\t\\t\\t\\ttimers[ index ].anim.stop( true );\\n\\t\\t\\t\\t\\ttimers.splice( index, 1 );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Look for any animations in the old queue and finish them\\n\\t\\t\\tfor ( index = 0; index < length; index++ ) {\\n\\t\\t\\t\\tif ( queue[ index ] && queue[ index ].finish ) {\\n\\t\\t\\t\\t\\tqueue[ index ].finish.call( this );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Turn off finishing flag\\n\\t\\t\\tdelete data.finish;\\n\\t\\t} );\\n\\t}\\n} );\\n\\njQuery.each( [ \\\"toggle\\\", \\\"show\\\", \\\"hide\\\" ], function( _i, name ) {\\n\\tvar cssFn = jQuery.fn[ name ];\\n\\tjQuery.fn[ name ] = function( speed, easing, callback ) {\\n\\t\\treturn speed == null || typeof speed === \\\"boolean\\\" ?\\n\\t\\t\\tcssFn.apply( this, arguments ) :\\n\\t\\t\\tthis.animate( genFx( name, true ), speed, easing, callback );\\n\\t};\\n} );\\n\\n// Generate shortcuts for custom animations\\njQuery.each( {\\n\\tslideDown: genFx( \\\"show\\\" ),\\n\\tslideUp: genFx( \\\"hide\\\" ),\\n\\tslideToggle: genFx( \\\"toggle\\\" ),\\n\\tfadeIn: { opacity: \\\"show\\\" },\\n\\tfadeOut: { opacity: \\\"hide\\\" },\\n\\tfadeToggle: { opacity: \\\"toggle\\\" }\\n}, function( name, props ) {\\n\\tjQuery.fn[ name ] = function( speed, easing, callback ) {\\n\\t\\treturn this.animate( props, speed, easing, callback );\\n\\t};\\n} );\\n\\njQuery.timers = [];\\njQuery.fx.tick = function() {\\n\\tvar timer,\\n\\t\\ti = 0,\\n\\t\\ttimers = jQuery.timers;\\n\\n\\tfxNow = Date.now();\\n\\n\\tfor ( ; i < timers.length; i++ ) {\\n\\t\\ttimer = timers[ i ];\\n\\n\\t\\t// Run the timer and safely remove it when done (allowing for external removal)\\n\\t\\tif ( !timer() && timers[ i ] === timer ) {\\n\\t\\t\\ttimers.splice( i--, 1 );\\n\\t\\t}\\n\\t}\\n\\n\\tif ( !timers.length ) {\\n\\t\\tjQuery.fx.stop();\\n\\t}\\n\\tfxNow = undefined;\\n};\\n\\njQuery.fx.timer = function( timer ) {\\n\\tjQuery.timers.push( timer );\\n\\tjQuery.fx.start();\\n};\\n\\njQuery.fx.interval = 13;\\njQuery.fx.start = function() {\\n\\tif ( inProgress ) {\\n\\t\\treturn;\\n\\t}\\n\\n\\tinProgress = true;\\n\\tschedule();\\n};\\n\\njQuery.fx.stop = function() {\\n\\tinProgress = null;\\n};\\n\\njQuery.fx.speeds = {\\n\\tslow: 600,\\n\\tfast: 200,\\n\\n\\t// Default speed\\n\\t_default: 400\\n};\\n\\n\\n// Based off of the plugin by Clint Helfers, with permission.\\n// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/\\njQuery.fn.delay = function( time, type ) {\\n\\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\\n\\ttype = type || \\\"fx\\\";\\n\\n\\treturn this.queue( type, function( next, hooks ) {\\n\\t\\tvar timeout = window.setTimeout( next, time );\\n\\t\\thooks.stop = function() {\\n\\t\\t\\twindow.clearTimeout( timeout );\\n\\t\\t};\\n\\t} );\\n};\\n\\n\\n( function() {\\n\\tvar input = document.createElement( \\\"input\\\" ),\\n\\t\\tselect = document.createElement( \\\"select\\\" ),\\n\\t\\topt = select.appendChild( document.createElement( \\\"option\\\" ) );\\n\\n\\tinput.type = \\\"checkbox\\\";\\n\\n\\t// Support: Android <=4.3 only\\n\\t// Default value for a checkbox should be \\\"on\\\"\\n\\tsupport.checkOn = input.value !== \\\"\\\";\\n\\n\\t// Support: IE <=11 only\\n\\t// Must access selectedIndex to make default options select\\n\\tsupport.optSelected = opt.selected;\\n\\n\\t// Support: IE <=11 only\\n\\t// An input loses its value after becoming a radio\\n\\tinput = document.createElement( \\\"input\\\" );\\n\\tinput.value = \\\"t\\\";\\n\\tinput.type = \\\"radio\\\";\\n\\tsupport.radioValue = input.value === \\\"t\\\";\\n} )();\\n\\n\\nvar boolHook,\\n\\tattrHandle = jQuery.expr.attrHandle;\\n\\njQuery.fn.extend( {\\n\\tattr: function( name, value ) {\\n\\t\\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\\n\\t},\\n\\n\\tremoveAttr: function( name ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tjQuery.removeAttr( this, name );\\n\\t\\t} );\\n\\t}\\n} );\\n\\njQuery.extend( {\\n\\tattr: function( elem, name, value ) {\\n\\t\\tvar ret, hooks,\\n\\t\\t\\tnType = elem.nodeType;\\n\\n\\t\\t// Don't get/set attributes on text, comment and attribute nodes\\n\\t\\tif ( nType === 3 || nType === 8 || nType === 2 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Fallback to prop when attributes are not supported\\n\\t\\tif ( typeof elem.getAttribute === \\\"undefined\\\" ) {\\n\\t\\t\\treturn jQuery.prop( elem, name, value );\\n\\t\\t}\\n\\n\\t\\t// Attribute hooks are determined by the lowercase version\\n\\t\\t// Grab necessary hook if one is defined\\n\\t\\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\\n\\t\\t\\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\\n\\t\\t\\t\\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\\n\\t\\t}\\n\\n\\t\\tif ( value !== undefined ) {\\n\\t\\t\\tif ( value === null ) {\\n\\t\\t\\t\\tjQuery.removeAttr( elem, name );\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( hooks && \\\"set\\\" in hooks &&\\n\\t\\t\\t\\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\\n\\t\\t\\t\\treturn ret;\\n\\t\\t\\t}\\n\\n\\t\\t\\telem.setAttribute( name, value + \\\"\\\" );\\n\\t\\t\\treturn value;\\n\\t\\t}\\n\\n\\t\\tif ( hooks && \\\"get\\\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\\n\\t\\t\\treturn ret;\\n\\t\\t}\\n\\n\\t\\tret = jQuery.find.attr( elem, name );\\n\\n\\t\\t// Non-existent attributes return null, we normalize to undefined\\n\\t\\treturn ret == null ? undefined : ret;\\n\\t},\\n\\n\\tattrHooks: {\\n\\t\\ttype: {\\n\\t\\t\\tset: function( elem, value ) {\\n\\t\\t\\t\\tif ( !support.radioValue && value === \\\"radio\\\" &&\\n\\t\\t\\t\\t\\tnodeName( elem, \\\"input\\\" ) ) {\\n\\t\\t\\t\\t\\tvar val = elem.value;\\n\\t\\t\\t\\t\\telem.setAttribute( \\\"type\\\", value );\\n\\t\\t\\t\\t\\tif ( val ) {\\n\\t\\t\\t\\t\\t\\telem.value = val;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn value;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\tremoveAttr: function( elem, value ) {\\n\\t\\tvar name,\\n\\t\\t\\ti = 0,\\n\\n\\t\\t\\t// Attribute names can contain non-HTML whitespace characters\\n\\t\\t\\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\\n\\t\\t\\tattrNames = value && value.match( rnothtmlwhite );\\n\\n\\t\\tif ( attrNames && elem.nodeType === 1 ) {\\n\\t\\t\\twhile ( ( name = attrNames[ i++ ] ) ) {\\n\\t\\t\\t\\telem.removeAttribute( name );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n} );\\n\\n// Hooks for boolean attributes\\nboolHook = {\\n\\tset: function( elem, value, name ) {\\n\\t\\tif ( value === false ) {\\n\\n\\t\\t\\t// Remove boolean attributes when set to false\\n\\t\\t\\tjQuery.removeAttr( elem, name );\\n\\t\\t} else {\\n\\t\\t\\telem.setAttribute( name, name );\\n\\t\\t}\\n\\t\\treturn name;\\n\\t}\\n};\\n\\njQuery.each( jQuery.expr.match.bool.source.match( /\\\\w+/g ), function( _i, name ) {\\n\\tvar getter = attrHandle[ name ] || jQuery.find.attr;\\n\\n\\tattrHandle[ name ] = function( elem, name, isXML ) {\\n\\t\\tvar ret, handle,\\n\\t\\t\\tlowercaseName = name.toLowerCase();\\n\\n\\t\\tif ( !isXML ) {\\n\\n\\t\\t\\t// Avoid an infinite loop by temporarily removing this function from the getter\\n\\t\\t\\thandle = attrHandle[ lowercaseName ];\\n\\t\\t\\tattrHandle[ lowercaseName ] = ret;\\n\\t\\t\\tret = getter( elem, name, isXML ) != null ?\\n\\t\\t\\t\\tlowercaseName :\\n\\t\\t\\t\\tnull;\\n\\t\\t\\tattrHandle[ lowercaseName ] = handle;\\n\\t\\t}\\n\\t\\treturn ret;\\n\\t};\\n} );\\n\\n\\n\\n\\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\\n\\trclickable = /^(?:a|area)$/i;\\n\\njQuery.fn.extend( {\\n\\tprop: function( name, value ) {\\n\\t\\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\\n\\t},\\n\\n\\tremoveProp: function( name ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tdelete this[ jQuery.propFix[ name ] || name ];\\n\\t\\t} );\\n\\t}\\n} );\\n\\njQuery.extend( {\\n\\tprop: function( elem, name, value ) {\\n\\t\\tvar ret, hooks,\\n\\t\\t\\tnType = elem.nodeType;\\n\\n\\t\\t// Don't get/set properties on text, comment and attribute nodes\\n\\t\\tif ( nType === 3 || nType === 8 || nType === 2 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\\n\\n\\t\\t\\t// Fix name and attach hooks\\n\\t\\t\\tname = jQuery.propFix[ name ] || name;\\n\\t\\t\\thooks = jQuery.propHooks[ name ];\\n\\t\\t}\\n\\n\\t\\tif ( value !== undefined ) {\\n\\t\\t\\tif ( hooks && \\\"set\\\" in hooks &&\\n\\t\\t\\t\\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\\n\\t\\t\\t\\treturn ret;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn ( elem[ name ] = value );\\n\\t\\t}\\n\\n\\t\\tif ( hooks && \\\"get\\\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\\n\\t\\t\\treturn ret;\\n\\t\\t}\\n\\n\\t\\treturn elem[ name ];\\n\\t},\\n\\n\\tpropHooks: {\\n\\t\\ttabIndex: {\\n\\t\\t\\tget: function( elem ) {\\n\\n\\t\\t\\t\\t// Support: IE <=9 - 11 only\\n\\t\\t\\t\\t// elem.tabIndex doesn't always return the\\n\\t\\t\\t\\t// correct value when it hasn't been explicitly set\\n\\t\\t\\t\\t// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\\n\\t\\t\\t\\t// Use proper attribute retrieval(#12072)\\n\\t\\t\\t\\tvar tabindex = jQuery.find.attr( elem, \\\"tabindex\\\" );\\n\\n\\t\\t\\t\\tif ( tabindex ) {\\n\\t\\t\\t\\t\\treturn parseInt( tabindex, 10 );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif (\\n\\t\\t\\t\\t\\trfocusable.test( elem.nodeName ) ||\\n\\t\\t\\t\\t\\trclickable.test( elem.nodeName ) &&\\n\\t\\t\\t\\t\\telem.href\\n\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\treturn 0;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn -1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\n\\tpropFix: {\\n\\t\\t\\\"for\\\": \\\"htmlFor\\\",\\n\\t\\t\\\"class\\\": \\\"className\\\"\\n\\t}\\n} );\\n\\n// Support: IE <=11 only\\n// Accessing the selectedIndex property\\n// forces the browser to respect setting selected\\n// on the option\\n// The getter ensures a default option is selected\\n// when in an optgroup\\n// eslint rule \\\"no-unused-expressions\\\" is disabled for this code\\n// since it considers such accessions noop\\nif ( !support.optSelected ) {\\n\\tjQuery.propHooks.selected = {\\n\\t\\tget: function( elem ) {\\n\\n\\t\\t\\t/* eslint no-unused-expressions: \\\"off\\\" */\\n\\n\\t\\t\\tvar parent = elem.parentNode;\\n\\t\\t\\tif ( parent && parent.parentNode ) {\\n\\t\\t\\t\\tparent.parentNode.selectedIndex;\\n\\t\\t\\t}\\n\\t\\t\\treturn null;\\n\\t\\t},\\n\\t\\tset: function( elem ) {\\n\\n\\t\\t\\t/* eslint no-unused-expressions: \\\"off\\\" */\\n\\n\\t\\t\\tvar parent = elem.parentNode;\\n\\t\\t\\tif ( parent ) {\\n\\t\\t\\t\\tparent.selectedIndex;\\n\\n\\t\\t\\t\\tif ( parent.parentNode ) {\\n\\t\\t\\t\\t\\tparent.parentNode.selectedIndex;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n}\\n\\njQuery.each( [\\n\\t\\\"tabIndex\\\",\\n\\t\\\"readOnly\\\",\\n\\t\\\"maxLength\\\",\\n\\t\\\"cellSpacing\\\",\\n\\t\\\"cellPadding\\\",\\n\\t\\\"rowSpan\\\",\\n\\t\\\"colSpan\\\",\\n\\t\\\"useMap\\\",\\n\\t\\\"frameBorder\\\",\\n\\t\\\"contentEditable\\\"\\n], function() {\\n\\tjQuery.propFix[ this.toLowerCase() ] = this;\\n} );\\n\\n\\n\\n\\n\\t// Strip and collapse whitespace according to HTML spec\\n\\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\\n\\tfunction stripAndCollapse( value ) {\\n\\t\\tvar tokens = value.match( rnothtmlwhite ) || [];\\n\\t\\treturn tokens.join( \\\" \\\" );\\n\\t}\\n\\n\\nfunction getClass( elem ) {\\n\\treturn elem.getAttribute && elem.getAttribute( \\\"class\\\" ) || \\\"\\\";\\n}\\n\\nfunction classesToArray( value ) {\\n\\tif ( Array.isArray( value ) ) {\\n\\t\\treturn value;\\n\\t}\\n\\tif ( typeof value === \\\"string\\\" ) {\\n\\t\\treturn value.match( rnothtmlwhite ) || [];\\n\\t}\\n\\treturn [];\\n}\\n\\njQuery.fn.extend( {\\n\\taddClass: function( value ) {\\n\\t\\tvar classes, elem, cur, curValue, clazz, j, finalValue,\\n\\t\\t\\ti = 0;\\n\\n\\t\\tif ( isFunction( value ) ) {\\n\\t\\t\\treturn this.each( function( j ) {\\n\\t\\t\\t\\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tclasses = classesToArray( value );\\n\\n\\t\\tif ( classes.length ) {\\n\\t\\t\\twhile ( ( elem = this[ i++ ] ) ) {\\n\\t\\t\\t\\tcurValue = getClass( elem );\\n\\t\\t\\t\\tcur = elem.nodeType === 1 && ( \\\" \\\" + stripAndCollapse( curValue ) + \\\" \\\" );\\n\\n\\t\\t\\t\\tif ( cur ) {\\n\\t\\t\\t\\t\\tj = 0;\\n\\t\\t\\t\\t\\twhile ( ( clazz = classes[ j++ ] ) ) {\\n\\t\\t\\t\\t\\t\\tif ( cur.indexOf( \\\" \\\" + clazz + \\\" \\\" ) < 0 ) {\\n\\t\\t\\t\\t\\t\\t\\tcur += clazz + \\\" \\\";\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Only assign if different to avoid unneeded rendering.\\n\\t\\t\\t\\t\\tfinalValue = stripAndCollapse( cur );\\n\\t\\t\\t\\t\\tif ( curValue !== finalValue ) {\\n\\t\\t\\t\\t\\t\\telem.setAttribute( \\\"class\\\", finalValue );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\tremoveClass: function( value ) {\\n\\t\\tvar classes, elem, cur, curValue, clazz, j, finalValue,\\n\\t\\t\\ti = 0;\\n\\n\\t\\tif ( isFunction( value ) ) {\\n\\t\\t\\treturn this.each( function( j ) {\\n\\t\\t\\t\\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tif ( !arguments.length ) {\\n\\t\\t\\treturn this.attr( \\\"class\\\", \\\"\\\" );\\n\\t\\t}\\n\\n\\t\\tclasses = classesToArray( value );\\n\\n\\t\\tif ( classes.length ) {\\n\\t\\t\\twhile ( ( elem = this[ i++ ] ) ) {\\n\\t\\t\\t\\tcurValue = getClass( elem );\\n\\n\\t\\t\\t\\t// This expression is here for better compressibility (see addClass)\\n\\t\\t\\t\\tcur = elem.nodeType === 1 && ( \\\" \\\" + stripAndCollapse( curValue ) + \\\" \\\" );\\n\\n\\t\\t\\t\\tif ( cur ) {\\n\\t\\t\\t\\t\\tj = 0;\\n\\t\\t\\t\\t\\twhile ( ( clazz = classes[ j++ ] ) ) {\\n\\n\\t\\t\\t\\t\\t\\t// Remove *all* instances\\n\\t\\t\\t\\t\\t\\twhile ( cur.indexOf( \\\" \\\" + clazz + \\\" \\\" ) > -1 ) {\\n\\t\\t\\t\\t\\t\\t\\tcur = cur.replace( \\\" \\\" + clazz + \\\" \\\", \\\" \\\" );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Only assign if different to avoid unneeded rendering.\\n\\t\\t\\t\\t\\tfinalValue = stripAndCollapse( cur );\\n\\t\\t\\t\\t\\tif ( curValue !== finalValue ) {\\n\\t\\t\\t\\t\\t\\telem.setAttribute( \\\"class\\\", finalValue );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\ttoggleClass: function( value, stateVal ) {\\n\\t\\tvar type = typeof value,\\n\\t\\t\\tisValidValue = type === \\\"string\\\" || Array.isArray( value );\\n\\n\\t\\tif ( typeof stateVal === \\\"boolean\\\" && isValidValue ) {\\n\\t\\t\\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\\n\\t\\t}\\n\\n\\t\\tif ( isFunction( value ) ) {\\n\\t\\t\\treturn this.each( function( i ) {\\n\\t\\t\\t\\tjQuery( this ).toggleClass(\\n\\t\\t\\t\\t\\tvalue.call( this, i, getClass( this ), stateVal ),\\n\\t\\t\\t\\t\\tstateVal\\n\\t\\t\\t\\t);\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tvar className, i, self, classNames;\\n\\n\\t\\t\\tif ( isValidValue ) {\\n\\n\\t\\t\\t\\t// Toggle individual class names\\n\\t\\t\\t\\ti = 0;\\n\\t\\t\\t\\tself = jQuery( this );\\n\\t\\t\\t\\tclassNames = classesToArray( value );\\n\\n\\t\\t\\t\\twhile ( ( className = classNames[ i++ ] ) ) {\\n\\n\\t\\t\\t\\t\\t// Check each className given, space separated list\\n\\t\\t\\t\\t\\tif ( self.hasClass( className ) ) {\\n\\t\\t\\t\\t\\t\\tself.removeClass( className );\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tself.addClass( className );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t// Toggle whole class name\\n\\t\\t\\t} else if ( value === undefined || type === \\\"boolean\\\" ) {\\n\\t\\t\\t\\tclassName = getClass( this );\\n\\t\\t\\t\\tif ( className ) {\\n\\n\\t\\t\\t\\t\\t// Store className if set\\n\\t\\t\\t\\t\\tdataPriv.set( this, \\\"__className__\\\", className );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// If the element has a class name or if we're passed `false`,\\n\\t\\t\\t\\t// then remove the whole classname (if there was one, the above saved it).\\n\\t\\t\\t\\t// Otherwise bring back whatever was previously saved (if anything),\\n\\t\\t\\t\\t// falling back to the empty string if nothing was stored.\\n\\t\\t\\t\\tif ( this.setAttribute ) {\\n\\t\\t\\t\\t\\tthis.setAttribute( \\\"class\\\",\\n\\t\\t\\t\\t\\t\\tclassName || value === false ?\\n\\t\\t\\t\\t\\t\\t\\\"\\\" :\\n\\t\\t\\t\\t\\t\\tdataPriv.get( this, \\\"__className__\\\" ) || \\\"\\\"\\n\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\thasClass: function( selector ) {\\n\\t\\tvar className, elem,\\n\\t\\t\\ti = 0;\\n\\n\\t\\tclassName = \\\" \\\" + selector + \\\" \\\";\\n\\t\\twhile ( ( elem = this[ i++ ] ) ) {\\n\\t\\t\\tif ( elem.nodeType === 1 &&\\n\\t\\t\\t\\t( \\\" \\\" + stripAndCollapse( getClass( elem ) ) + \\\" \\\" ).indexOf( className ) > -1 ) {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn false;\\n\\t}\\n} );\\n\\n\\n\\n\\nvar rreturn = /\\\\r/g;\\n\\njQuery.fn.extend( {\\n\\tval: function( value ) {\\n\\t\\tvar hooks, ret, valueIsFunction,\\n\\t\\t\\telem = this[ 0 ];\\n\\n\\t\\tif ( !arguments.length ) {\\n\\t\\t\\tif ( elem ) {\\n\\t\\t\\t\\thooks = jQuery.valHooks[ elem.type ] ||\\n\\t\\t\\t\\t\\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\\n\\n\\t\\t\\t\\tif ( hooks &&\\n\\t\\t\\t\\t\\t\\\"get\\\" in hooks &&\\n\\t\\t\\t\\t\\t( ret = hooks.get( elem, \\\"value\\\" ) ) !== undefined\\n\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\treturn ret;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tret = elem.value;\\n\\n\\t\\t\\t\\t// Handle most common string cases\\n\\t\\t\\t\\tif ( typeof ret === \\\"string\\\" ) {\\n\\t\\t\\t\\t\\treturn ret.replace( rreturn, \\\"\\\" );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Handle cases where value is null/undef or number\\n\\t\\t\\t\\treturn ret == null ? \\\"\\\" : ret;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tvalueIsFunction = isFunction( value );\\n\\n\\t\\treturn this.each( function( i ) {\\n\\t\\t\\tvar val;\\n\\n\\t\\t\\tif ( this.nodeType !== 1 ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( valueIsFunction ) {\\n\\t\\t\\t\\tval = value.call( this, i, jQuery( this ).val() );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tval = value;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Treat null/undefined as \\\"\\\"; convert numbers to string\\n\\t\\t\\tif ( val == null ) {\\n\\t\\t\\t\\tval = \\\"\\\";\\n\\n\\t\\t\\t} else if ( typeof val === \\\"number\\\" ) {\\n\\t\\t\\t\\tval += \\\"\\\";\\n\\n\\t\\t\\t} else if ( Array.isArray( val ) ) {\\n\\t\\t\\t\\tval = jQuery.map( val, function( value ) {\\n\\t\\t\\t\\t\\treturn value == null ? \\\"\\\" : value + \\\"\\\";\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\n\\t\\t\\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\\n\\n\\t\\t\\t// If set returns undefined, fall back to normal setting\\n\\t\\t\\tif ( !hooks || !( \\\"set\\\" in hooks ) || hooks.set( this, val, \\\"value\\\" ) === undefined ) {\\n\\t\\t\\t\\tthis.value = val;\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t}\\n} );\\n\\njQuery.extend( {\\n\\tvalHooks: {\\n\\t\\toption: {\\n\\t\\t\\tget: function( elem ) {\\n\\n\\t\\t\\t\\tvar val = jQuery.find.attr( elem, \\\"value\\\" );\\n\\t\\t\\t\\treturn val != null ?\\n\\t\\t\\t\\t\\tval :\\n\\n\\t\\t\\t\\t\\t// Support: IE <=10 - 11 only\\n\\t\\t\\t\\t\\t// option.text throws exceptions (#14686, #14858)\\n\\t\\t\\t\\t\\t// Strip and collapse whitespace\\n\\t\\t\\t\\t\\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\\n\\t\\t\\t\\t\\tstripAndCollapse( jQuery.text( elem ) );\\n\\t\\t\\t}\\n\\t\\t},\\n\\t\\tselect: {\\n\\t\\t\\tget: function( elem ) {\\n\\t\\t\\t\\tvar value, option, i,\\n\\t\\t\\t\\t\\toptions = elem.options,\\n\\t\\t\\t\\t\\tindex = elem.selectedIndex,\\n\\t\\t\\t\\t\\tone = elem.type === \\\"select-one\\\",\\n\\t\\t\\t\\t\\tvalues = one ? null : [],\\n\\t\\t\\t\\t\\tmax = one ? index + 1 : options.length;\\n\\n\\t\\t\\t\\tif ( index < 0 ) {\\n\\t\\t\\t\\t\\ti = max;\\n\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\ti = one ? index : 0;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Loop through all the selected options\\n\\t\\t\\t\\tfor ( ; i < max; i++ ) {\\n\\t\\t\\t\\t\\toption = options[ i ];\\n\\n\\t\\t\\t\\t\\t// Support: IE <=9 only\\n\\t\\t\\t\\t\\t// IE8-9 doesn't update selected after form reset (#2551)\\n\\t\\t\\t\\t\\tif ( ( option.selected || i === index ) &&\\n\\n\\t\\t\\t\\t\\t\\t\\t// Don't return options that are disabled or in a disabled optgroup\\n\\t\\t\\t\\t\\t\\t\\t!option.disabled &&\\n\\t\\t\\t\\t\\t\\t\\t( !option.parentNode.disabled ||\\n\\t\\t\\t\\t\\t\\t\\t\\t!nodeName( option.parentNode, \\\"optgroup\\\" ) ) ) {\\n\\n\\t\\t\\t\\t\\t\\t// Get the specific value for the option\\n\\t\\t\\t\\t\\t\\tvalue = jQuery( option ).val();\\n\\n\\t\\t\\t\\t\\t\\t// We don't need an array for one selects\\n\\t\\t\\t\\t\\t\\tif ( one ) {\\n\\t\\t\\t\\t\\t\\t\\treturn value;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// Multi-Selects return an array\\n\\t\\t\\t\\t\\t\\tvalues.push( value );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn values;\\n\\t\\t\\t},\\n\\n\\t\\t\\tset: function( elem, value ) {\\n\\t\\t\\t\\tvar optionSet, option,\\n\\t\\t\\t\\t\\toptions = elem.options,\\n\\t\\t\\t\\t\\tvalues = jQuery.makeArray( value ),\\n\\t\\t\\t\\t\\ti = options.length;\\n\\n\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\toption = options[ i ];\\n\\n\\t\\t\\t\\t\\t/* eslint-disable no-cond-assign */\\n\\n\\t\\t\\t\\t\\tif ( option.selected =\\n\\t\\t\\t\\t\\t\\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\\n\\t\\t\\t\\t\\t) {\\n\\t\\t\\t\\t\\t\\toptionSet = true;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t/* eslint-enable no-cond-assign */\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Force browsers to behave consistently when non-matching value is set\\n\\t\\t\\t\\tif ( !optionSet ) {\\n\\t\\t\\t\\t\\telem.selectedIndex = -1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn values;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n} );\\n\\n// Radios and checkboxes getter/setter\\njQuery.each( [ \\\"radio\\\", \\\"checkbox\\\" ], function() {\\n\\tjQuery.valHooks[ this ] = {\\n\\t\\tset: function( elem, value ) {\\n\\t\\t\\tif ( Array.isArray( value ) ) {\\n\\t\\t\\t\\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n\\tif ( !support.checkOn ) {\\n\\t\\tjQuery.valHooks[ this ].get = function( elem ) {\\n\\t\\t\\treturn elem.getAttribute( \\\"value\\\" ) === null ? \\\"on\\\" : elem.value;\\n\\t\\t};\\n\\t}\\n} );\\n\\n\\n\\n\\n// Return jQuery for attributes-only inclusion\\n\\n\\nsupport.focusin = \\\"onfocusin\\\" in window;\\n\\n\\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\\n\\tstopPropagationCallback = function( e ) {\\n\\t\\te.stopPropagation();\\n\\t};\\n\\njQuery.extend( jQuery.event, {\\n\\n\\ttrigger: function( event, data, elem, onlyHandlers ) {\\n\\n\\t\\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\\n\\t\\t\\teventPath = [ elem || document ],\\n\\t\\t\\ttype = hasOwn.call( event, \\\"type\\\" ) ? event.type : event,\\n\\t\\t\\tnamespaces = hasOwn.call( event, \\\"namespace\\\" ) ? event.namespace.split( \\\".\\\" ) : [];\\n\\n\\t\\tcur = lastElement = tmp = elem = elem || document;\\n\\n\\t\\t// Don't do events on text and comment nodes\\n\\t\\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\\n\\t\\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ( type.indexOf( \\\".\\\" ) > -1 ) {\\n\\n\\t\\t\\t// Namespaced trigger; create a regexp to match event type in handle()\\n\\t\\t\\tnamespaces = type.split( \\\".\\\" );\\n\\t\\t\\ttype = namespaces.shift();\\n\\t\\t\\tnamespaces.sort();\\n\\t\\t}\\n\\t\\tontype = type.indexOf( \\\":\\\" ) < 0 && \\\"on\\\" + type;\\n\\n\\t\\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\\n\\t\\tevent = event[ jQuery.expando ] ?\\n\\t\\t\\tevent :\\n\\t\\t\\tnew jQuery.Event( type, typeof event === \\\"object\\\" && event );\\n\\n\\t\\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\\n\\t\\tevent.isTrigger = onlyHandlers ? 2 : 3;\\n\\t\\tevent.namespace = namespaces.join( \\\".\\\" );\\n\\t\\tevent.rnamespace = event.namespace ?\\n\\t\\t\\tnew RegExp( \\\"(^|\\\\\\\\.)\\\" + namespaces.join( \\\"\\\\\\\\.(?:.*\\\\\\\\.|)\\\" ) + \\\"(\\\\\\\\.|$)\\\" ) :\\n\\t\\t\\tnull;\\n\\n\\t\\t// Clean up the event in case it is being reused\\n\\t\\tevent.result = undefined;\\n\\t\\tif ( !event.target ) {\\n\\t\\t\\tevent.target = elem;\\n\\t\\t}\\n\\n\\t\\t// Clone any incoming data and prepend the event, creating the handler arg list\\n\\t\\tdata = data == null ?\\n\\t\\t\\t[ event ] :\\n\\t\\t\\tjQuery.makeArray( data, [ event ] );\\n\\n\\t\\t// Allow special events to draw outside the lines\\n\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\t\\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Determine event propagation path in advance, per W3C events spec (#9951)\\n\\t\\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\\n\\t\\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\\n\\n\\t\\t\\tbubbleType = special.delegateType || type;\\n\\t\\t\\tif ( !rfocusMorph.test( bubbleType + type ) ) {\\n\\t\\t\\t\\tcur = cur.parentNode;\\n\\t\\t\\t}\\n\\t\\t\\tfor ( ; cur; cur = cur.parentNode ) {\\n\\t\\t\\t\\teventPath.push( cur );\\n\\t\\t\\t\\ttmp = cur;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\\n\\t\\t\\tif ( tmp === ( elem.ownerDocument || document ) ) {\\n\\t\\t\\t\\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Fire handlers on the event path\\n\\t\\ti = 0;\\n\\t\\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\\n\\t\\t\\tlastElement = cur;\\n\\t\\t\\tevent.type = i > 1 ?\\n\\t\\t\\t\\tbubbleType :\\n\\t\\t\\t\\tspecial.bindType || type;\\n\\n\\t\\t\\t// jQuery handler\\n\\t\\t\\thandle = (\\n\\t\\t\\t\\t\\tdataPriv.get( cur, \\\"events\\\" ) || Object.create( null )\\n\\t\\t\\t\\t)[ event.type ] &&\\n\\t\\t\\t\\tdataPriv.get( cur, \\\"handle\\\" );\\n\\t\\t\\tif ( handle ) {\\n\\t\\t\\t\\thandle.apply( cur, data );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Native handler\\n\\t\\t\\thandle = ontype && cur[ ontype ];\\n\\t\\t\\tif ( handle && handle.apply && acceptData( cur ) ) {\\n\\t\\t\\t\\tevent.result = handle.apply( cur, data );\\n\\t\\t\\t\\tif ( event.result === false ) {\\n\\t\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tevent.type = type;\\n\\n\\t\\t// If nobody prevented the default action, do it now\\n\\t\\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\\n\\n\\t\\t\\tif ( ( !special._default ||\\n\\t\\t\\t\\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\\n\\t\\t\\t\\tacceptData( elem ) ) {\\n\\n\\t\\t\\t\\t// Call a native DOM method on the target with the same name as the event.\\n\\t\\t\\t\\t// Don't do default actions on window, that's where global variables be (#6170)\\n\\t\\t\\t\\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\\n\\n\\t\\t\\t\\t\\t// Don't re-trigger an onFOO event when we call its FOO() method\\n\\t\\t\\t\\t\\ttmp = elem[ ontype ];\\n\\n\\t\\t\\t\\t\\tif ( tmp ) {\\n\\t\\t\\t\\t\\t\\telem[ ontype ] = null;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Prevent re-triggering of the same event, since we already bubbled it above\\n\\t\\t\\t\\t\\tjQuery.event.triggered = type;\\n\\n\\t\\t\\t\\t\\tif ( event.isPropagationStopped() ) {\\n\\t\\t\\t\\t\\t\\tlastElement.addEventListener( type, stopPropagationCallback );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\telem[ type ]();\\n\\n\\t\\t\\t\\t\\tif ( event.isPropagationStopped() ) {\\n\\t\\t\\t\\t\\t\\tlastElement.removeEventListener( type, stopPropagationCallback );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tjQuery.event.triggered = undefined;\\n\\n\\t\\t\\t\\t\\tif ( tmp ) {\\n\\t\\t\\t\\t\\t\\telem[ ontype ] = tmp;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn event.result;\\n\\t},\\n\\n\\t// Piggyback on a donor event to simulate a different one\\n\\t// Used only for `focus(in | out)` events\\n\\tsimulate: function( type, elem, event ) {\\n\\t\\tvar e = jQuery.extend(\\n\\t\\t\\tnew jQuery.Event(),\\n\\t\\t\\tevent,\\n\\t\\t\\t{\\n\\t\\t\\t\\ttype: type,\\n\\t\\t\\t\\tisSimulated: true\\n\\t\\t\\t}\\n\\t\\t);\\n\\n\\t\\tjQuery.event.trigger( e, null, elem );\\n\\t}\\n\\n} );\\n\\njQuery.fn.extend( {\\n\\n\\ttrigger: function( type, data ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tjQuery.event.trigger( type, data, this );\\n\\t\\t} );\\n\\t},\\n\\ttriggerHandler: function( type, data ) {\\n\\t\\tvar elem = this[ 0 ];\\n\\t\\tif ( elem ) {\\n\\t\\t\\treturn jQuery.event.trigger( type, data, elem, true );\\n\\t\\t}\\n\\t}\\n} );\\n\\n\\n// Support: Firefox <=44\\n// Firefox doesn't have focus(in | out) events\\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\\n//\\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\\n// focus(in | out) events fire after focus & blur events,\\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\\nif ( !support.focusin ) {\\n\\tjQuery.each( { focus: \\\"focusin\\\", blur: \\\"focusout\\\" }, function( orig, fix ) {\\n\\n\\t\\t// Attach a single capturing handler on the document while someone wants focusin/focusout\\n\\t\\tvar handler = function( event ) {\\n\\t\\t\\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\\n\\t\\t};\\n\\n\\t\\tjQuery.event.special[ fix ] = {\\n\\t\\t\\tsetup: function() {\\n\\n\\t\\t\\t\\t// Handle: regular nodes (via `this.ownerDocument`), window\\n\\t\\t\\t\\t// (via `this.document`) & document (via `this`).\\n\\t\\t\\t\\tvar doc = this.ownerDocument || this.document || this,\\n\\t\\t\\t\\t\\tattaches = dataPriv.access( doc, fix );\\n\\n\\t\\t\\t\\tif ( !attaches ) {\\n\\t\\t\\t\\t\\tdoc.addEventListener( orig, handler, true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\\n\\t\\t\\t},\\n\\t\\t\\tteardown: function() {\\n\\t\\t\\t\\tvar doc = this.ownerDocument || this.document || this,\\n\\t\\t\\t\\t\\tattaches = dataPriv.access( doc, fix ) - 1;\\n\\n\\t\\t\\t\\tif ( !attaches ) {\\n\\t\\t\\t\\t\\tdoc.removeEventListener( orig, handler, true );\\n\\t\\t\\t\\t\\tdataPriv.remove( doc, fix );\\n\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tdataPriv.access( doc, fix, attaches );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t} );\\n}\\nvar location = window.location;\\n\\nvar nonce = { guid: Date.now() };\\n\\nvar rquery = ( /\\\\?/ );\\n\\n\\n\\n// Cross-browser xml parsing\\njQuery.parseXML = function( data ) {\\n\\tvar xml;\\n\\tif ( !data || typeof data !== \\\"string\\\" ) {\\n\\t\\treturn null;\\n\\t}\\n\\n\\t// Support: IE 9 - 11 only\\n\\t// IE throws on parseFromString with invalid input.\\n\\ttry {\\n\\t\\txml = ( new window.DOMParser() ).parseFromString( data, \\\"text/xml\\\" );\\n\\t} catch ( e ) {\\n\\t\\txml = undefined;\\n\\t}\\n\\n\\tif ( !xml || xml.getElementsByTagName( \\\"parsererror\\\" ).length ) {\\n\\t\\tjQuery.error( \\\"Invalid XML: \\\" + data );\\n\\t}\\n\\treturn xml;\\n};\\n\\n\\nvar\\n\\trbracket = /\\\\[\\\\]$/,\\n\\trCRLF = /\\\\r?\\\\n/g,\\n\\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\\n\\trsubmittable = /^(?:input|select|textarea|keygen)/i;\\n\\nfunction buildParams( prefix, obj, traditional, add ) {\\n\\tvar name;\\n\\n\\tif ( Array.isArray( obj ) ) {\\n\\n\\t\\t// Serialize array item.\\n\\t\\tjQuery.each( obj, function( i, v ) {\\n\\t\\t\\tif ( traditional || rbracket.test( prefix ) ) {\\n\\n\\t\\t\\t\\t// Treat each array item as a scalar.\\n\\t\\t\\t\\tadd( prefix, v );\\n\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t// Item is non-scalar (array or object), encode its numeric index.\\n\\t\\t\\t\\tbuildParams(\\n\\t\\t\\t\\t\\tprefix + \\\"[\\\" + ( typeof v === \\\"object\\\" && v != null ? i : \\\"\\\" ) + \\\"]\\\",\\n\\t\\t\\t\\t\\tv,\\n\\t\\t\\t\\t\\ttraditional,\\n\\t\\t\\t\\t\\tadd\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t} );\\n\\n\\t} else if ( !traditional && toType( obj ) === \\\"object\\\" ) {\\n\\n\\t\\t// Serialize object item.\\n\\t\\tfor ( name in obj ) {\\n\\t\\t\\tbuildParams( prefix + \\\"[\\\" + name + \\\"]\\\", obj[ name ], traditional, add );\\n\\t\\t}\\n\\n\\t} else {\\n\\n\\t\\t// Serialize scalar item.\\n\\t\\tadd( prefix, obj );\\n\\t}\\n}\\n\\n// Serialize an array of form elements or a set of\\n// key/values into a query string\\njQuery.param = function( a, traditional ) {\\n\\tvar prefix,\\n\\t\\ts = [],\\n\\t\\tadd = function( key, valueOrFunction ) {\\n\\n\\t\\t\\t// If value is a function, invoke it and use its return value\\n\\t\\t\\tvar value = isFunction( valueOrFunction ) ?\\n\\t\\t\\t\\tvalueOrFunction() :\\n\\t\\t\\t\\tvalueOrFunction;\\n\\n\\t\\t\\ts[ s.length ] = encodeURIComponent( key ) + \\\"=\\\" +\\n\\t\\t\\t\\tencodeURIComponent( value == null ? \\\"\\\" : value );\\n\\t\\t};\\n\\n\\tif ( a == null ) {\\n\\t\\treturn \\\"\\\";\\n\\t}\\n\\n\\t// If an array was passed in, assume that it is an array of form elements.\\n\\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\\n\\n\\t\\t// Serialize the form elements\\n\\t\\tjQuery.each( a, function() {\\n\\t\\t\\tadd( this.name, this.value );\\n\\t\\t} );\\n\\n\\t} else {\\n\\n\\t\\t// If traditional, encode the \\\"old\\\" way (the way 1.3.2 or older\\n\\t\\t// did it), otherwise encode params recursively.\\n\\t\\tfor ( prefix in a ) {\\n\\t\\t\\tbuildParams( prefix, a[ prefix ], traditional, add );\\n\\t\\t}\\n\\t}\\n\\n\\t// Return the resulting serialization\\n\\treturn s.join( \\\"&\\\" );\\n};\\n\\njQuery.fn.extend( {\\n\\tserialize: function() {\\n\\t\\treturn jQuery.param( this.serializeArray() );\\n\\t},\\n\\tserializeArray: function() {\\n\\t\\treturn this.map( function() {\\n\\n\\t\\t\\t// Can add propHook for \\\"elements\\\" to filter or add form elements\\n\\t\\t\\tvar elements = jQuery.prop( this, \\\"elements\\\" );\\n\\t\\t\\treturn elements ? jQuery.makeArray( elements ) : this;\\n\\t\\t} )\\n\\t\\t.filter( function() {\\n\\t\\t\\tvar type = this.type;\\n\\n\\t\\t\\t// Use .is( \\\":disabled\\\" ) so that fieldset[disabled] works\\n\\t\\t\\treturn this.name && !jQuery( this ).is( \\\":disabled\\\" ) &&\\n\\t\\t\\t\\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\\n\\t\\t\\t\\t( this.checked || !rcheckableType.test( type ) );\\n\\t\\t} )\\n\\t\\t.map( function( _i, elem ) {\\n\\t\\t\\tvar val = jQuery( this ).val();\\n\\n\\t\\t\\tif ( val == null ) {\\n\\t\\t\\t\\treturn null;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( Array.isArray( val ) ) {\\n\\t\\t\\t\\treturn jQuery.map( val, function( val ) {\\n\\t\\t\\t\\t\\treturn { name: elem.name, value: val.replace( rCRLF, \\\"\\\\r\\\\n\\\" ) };\\n\\t\\t\\t\\t} );\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn { name: elem.name, value: val.replace( rCRLF, \\\"\\\\r\\\\n\\\" ) };\\n\\t\\t} ).get();\\n\\t}\\n} );\\n\\n\\nvar\\n\\tr20 = /%20/g,\\n\\trhash = /#.*$/,\\n\\trantiCache = /([?&])_=[^&]*/,\\n\\trheaders = /^(.*?):[ \\\\t]*([^\\\\r\\\\n]*)$/mg,\\n\\n\\t// #7653, #8125, #8152: local protocol detection\\n\\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\\n\\trnoContent = /^(?:GET|HEAD)$/,\\n\\trprotocol = /^\\\\/\\\\//,\\n\\n\\t/* Prefilters\\n\\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\\n\\t * 2) These are called:\\n\\t *    - BEFORE asking for a transport\\n\\t *    - AFTER param serialization (s.data is a string if s.processData is true)\\n\\t * 3) key is the dataType\\n\\t * 4) the catchall symbol \\\"*\\\" can be used\\n\\t * 5) execution will start with transport dataType and THEN continue down to \\\"*\\\" if needed\\n\\t */\\n\\tprefilters = {},\\n\\n\\t/* Transports bindings\\n\\t * 1) key is the dataType\\n\\t * 2) the catchall symbol \\\"*\\\" can be used\\n\\t * 3) selection will start with transport dataType and THEN go to \\\"*\\\" if needed\\n\\t */\\n\\ttransports = {},\\n\\n\\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\\n\\tallTypes = \\\"*/\\\".concat( \\\"*\\\" ),\\n\\n\\t// Anchor tag for parsing the document origin\\n\\toriginAnchor = document.createElement( \\\"a\\\" );\\n\\toriginAnchor.href = location.href;\\n\\n// Base \\\"constructor\\\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\\nfunction addToPrefiltersOrTransports( structure ) {\\n\\n\\t// dataTypeExpression is optional and defaults to \\\"*\\\"\\n\\treturn function( dataTypeExpression, func ) {\\n\\n\\t\\tif ( typeof dataTypeExpression !== \\\"string\\\" ) {\\n\\t\\t\\tfunc = dataTypeExpression;\\n\\t\\t\\tdataTypeExpression = \\\"*\\\";\\n\\t\\t}\\n\\n\\t\\tvar dataType,\\n\\t\\t\\ti = 0,\\n\\t\\t\\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\\n\\n\\t\\tif ( isFunction( func ) ) {\\n\\n\\t\\t\\t// For each dataType in the dataTypeExpression\\n\\t\\t\\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\\n\\n\\t\\t\\t\\t// Prepend if requested\\n\\t\\t\\t\\tif ( dataType[ 0 ] === \\\"+\\\" ) {\\n\\t\\t\\t\\t\\tdataType = dataType.slice( 1 ) || \\\"*\\\";\\n\\t\\t\\t\\t\\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\\n\\n\\t\\t\\t\\t// Otherwise append\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t};\\n}\\n\\n// Base inspection function for prefilters and transports\\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\\n\\n\\tvar inspected = {},\\n\\t\\tseekingTransport = ( structure === transports );\\n\\n\\tfunction inspect( dataType ) {\\n\\t\\tvar selected;\\n\\t\\tinspected[ dataType ] = true;\\n\\t\\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\\n\\t\\t\\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\\n\\t\\t\\tif ( typeof dataTypeOrTransport === \\\"string\\\" &&\\n\\t\\t\\t\\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\\n\\n\\t\\t\\t\\toptions.dataTypes.unshift( dataTypeOrTransport );\\n\\t\\t\\t\\tinspect( dataTypeOrTransport );\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t} else if ( seekingTransport ) {\\n\\t\\t\\t\\treturn !( selected = dataTypeOrTransport );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t\\treturn selected;\\n\\t}\\n\\n\\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \\\"*\\\" ] && inspect( \\\"*\\\" );\\n}\\n\\n// A special extend for ajax options\\n// that takes \\\"flat\\\" options (not to be deep extended)\\n// Fixes #9887\\nfunction ajaxExtend( target, src ) {\\n\\tvar key, deep,\\n\\t\\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\\n\\n\\tfor ( key in src ) {\\n\\t\\tif ( src[ key ] !== undefined ) {\\n\\t\\t\\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\\n\\t\\t}\\n\\t}\\n\\tif ( deep ) {\\n\\t\\tjQuery.extend( true, target, deep );\\n\\t}\\n\\n\\treturn target;\\n}\\n\\n/* Handles responses to an ajax request:\\n * - finds the right dataType (mediates between content-type and expected dataType)\\n * - returns the corresponding response\\n */\\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\\n\\n\\tvar ct, type, finalDataType, firstDataType,\\n\\t\\tcontents = s.contents,\\n\\t\\tdataTypes = s.dataTypes;\\n\\n\\t// Remove auto dataType and get content-type in the process\\n\\twhile ( dataTypes[ 0 ] === \\\"*\\\" ) {\\n\\t\\tdataTypes.shift();\\n\\t\\tif ( ct === undefined ) {\\n\\t\\t\\tct = s.mimeType || jqXHR.getResponseHeader( \\\"Content-Type\\\" );\\n\\t\\t}\\n\\t}\\n\\n\\t// Check if we're dealing with a known content-type\\n\\tif ( ct ) {\\n\\t\\tfor ( type in contents ) {\\n\\t\\t\\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\\n\\t\\t\\t\\tdataTypes.unshift( type );\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Check to see if we have a response for the expected dataType\\n\\tif ( dataTypes[ 0 ] in responses ) {\\n\\t\\tfinalDataType = dataTypes[ 0 ];\\n\\t} else {\\n\\n\\t\\t// Try convertible dataTypes\\n\\t\\tfor ( type in responses ) {\\n\\t\\t\\tif ( !dataTypes[ 0 ] || s.converters[ type + \\\" \\\" + dataTypes[ 0 ] ] ) {\\n\\t\\t\\t\\tfinalDataType = type;\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tif ( !firstDataType ) {\\n\\t\\t\\t\\tfirstDataType = type;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Or just use first one\\n\\t\\tfinalDataType = finalDataType || firstDataType;\\n\\t}\\n\\n\\t// If we found a dataType\\n\\t// We add the dataType to the list if needed\\n\\t// and return the corresponding response\\n\\tif ( finalDataType ) {\\n\\t\\tif ( finalDataType !== dataTypes[ 0 ] ) {\\n\\t\\t\\tdataTypes.unshift( finalDataType );\\n\\t\\t}\\n\\t\\treturn responses[ finalDataType ];\\n\\t}\\n}\\n\\n/* Chain conversions given the request and the original response\\n * Also sets the responseXXX fields on the jqXHR instance\\n */\\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\\n\\tvar conv2, current, conv, tmp, prev,\\n\\t\\tconverters = {},\\n\\n\\t\\t// Work with a copy of dataTypes in case we need to modify it for conversion\\n\\t\\tdataTypes = s.dataTypes.slice();\\n\\n\\t// Create converters map with lowercased keys\\n\\tif ( dataTypes[ 1 ] ) {\\n\\t\\tfor ( conv in s.converters ) {\\n\\t\\t\\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\\n\\t\\t}\\n\\t}\\n\\n\\tcurrent = dataTypes.shift();\\n\\n\\t// Convert to each sequential dataType\\n\\twhile ( current ) {\\n\\n\\t\\tif ( s.responseFields[ current ] ) {\\n\\t\\t\\tjqXHR[ s.responseFields[ current ] ] = response;\\n\\t\\t}\\n\\n\\t\\t// Apply the dataFilter if provided\\n\\t\\tif ( !prev && isSuccess && s.dataFilter ) {\\n\\t\\t\\tresponse = s.dataFilter( response, s.dataType );\\n\\t\\t}\\n\\n\\t\\tprev = current;\\n\\t\\tcurrent = dataTypes.shift();\\n\\n\\t\\tif ( current ) {\\n\\n\\t\\t\\t// There's only work to do if current dataType is non-auto\\n\\t\\t\\tif ( current === \\\"*\\\" ) {\\n\\n\\t\\t\\t\\tcurrent = prev;\\n\\n\\t\\t\\t// Convert response if prev dataType is non-auto and differs from current\\n\\t\\t\\t} else if ( prev !== \\\"*\\\" && prev !== current ) {\\n\\n\\t\\t\\t\\t// Seek a direct converter\\n\\t\\t\\t\\tconv = converters[ prev + \\\" \\\" + current ] || converters[ \\\"* \\\" + current ];\\n\\n\\t\\t\\t\\t// If none found, seek a pair\\n\\t\\t\\t\\tif ( !conv ) {\\n\\t\\t\\t\\t\\tfor ( conv2 in converters ) {\\n\\n\\t\\t\\t\\t\\t\\t// If conv2 outputs current\\n\\t\\t\\t\\t\\t\\ttmp = conv2.split( \\\" \\\" );\\n\\t\\t\\t\\t\\t\\tif ( tmp[ 1 ] === current ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// If prev can be converted to accepted input\\n\\t\\t\\t\\t\\t\\t\\tconv = converters[ prev + \\\" \\\" + tmp[ 0 ] ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\tconverters[ \\\"* \\\" + tmp[ 0 ] ];\\n\\t\\t\\t\\t\\t\\t\\tif ( conv ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Condense equivalence converters\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( conv === true ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tconv = converters[ conv2 ];\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Otherwise, insert the intermediate dataType\\n\\t\\t\\t\\t\\t\\t\\t\\t} else if ( converters[ conv2 ] !== true ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tcurrent = tmp[ 0 ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tdataTypes.unshift( tmp[ 1 ] );\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Apply converter (if not an equivalence)\\n\\t\\t\\t\\tif ( conv !== true ) {\\n\\n\\t\\t\\t\\t\\t// Unless errors are allowed to bubble, catch and return them\\n\\t\\t\\t\\t\\tif ( conv && s.throws ) {\\n\\t\\t\\t\\t\\t\\tresponse = conv( response );\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\t\\tresponse = conv( response );\\n\\t\\t\\t\\t\\t\\t} catch ( e ) {\\n\\t\\t\\t\\t\\t\\t\\treturn {\\n\\t\\t\\t\\t\\t\\t\\t\\tstate: \\\"parsererror\\\",\\n\\t\\t\\t\\t\\t\\t\\t\\terror: conv ? e : \\\"No conversion from \\\" + prev + \\\" to \\\" + current\\n\\t\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn { state: \\\"success\\\", data: response };\\n}\\n\\njQuery.extend( {\\n\\n\\t// Counter for holding the number of active queries\\n\\tactive: 0,\\n\\n\\t// Last-Modified header cache for next request\\n\\tlastModified: {},\\n\\tetag: {},\\n\\n\\tajaxSettings: {\\n\\t\\turl: location.href,\\n\\t\\ttype: \\\"GET\\\",\\n\\t\\tisLocal: rlocalProtocol.test( location.protocol ),\\n\\t\\tglobal: true,\\n\\t\\tprocessData: true,\\n\\t\\tasync: true,\\n\\t\\tcontentType: \\\"application/x-www-form-urlencoded; charset=UTF-8\\\",\\n\\n\\t\\t/*\\n\\t\\ttimeout: 0,\\n\\t\\tdata: null,\\n\\t\\tdataType: null,\\n\\t\\tusername: null,\\n\\t\\tpassword: null,\\n\\t\\tcache: null,\\n\\t\\tthrows: false,\\n\\t\\ttraditional: false,\\n\\t\\theaders: {},\\n\\t\\t*/\\n\\n\\t\\taccepts: {\\n\\t\\t\\t\\\"*\\\": allTypes,\\n\\t\\t\\ttext: \\\"text/plain\\\",\\n\\t\\t\\thtml: \\\"text/html\\\",\\n\\t\\t\\txml: \\\"application/xml, text/xml\\\",\\n\\t\\t\\tjson: \\\"application/json, text/javascript\\\"\\n\\t\\t},\\n\\n\\t\\tcontents: {\\n\\t\\t\\txml: /\\\\bxml\\\\b/,\\n\\t\\t\\thtml: /\\\\bhtml/,\\n\\t\\t\\tjson: /\\\\bjson\\\\b/\\n\\t\\t},\\n\\n\\t\\tresponseFields: {\\n\\t\\t\\txml: \\\"responseXML\\\",\\n\\t\\t\\ttext: \\\"responseText\\\",\\n\\t\\t\\tjson: \\\"responseJSON\\\"\\n\\t\\t},\\n\\n\\t\\t// Data converters\\n\\t\\t// Keys separate source (or catchall \\\"*\\\") and destination types with a single space\\n\\t\\tconverters: {\\n\\n\\t\\t\\t// Convert anything to text\\n\\t\\t\\t\\\"* text\\\": String,\\n\\n\\t\\t\\t// Text to html (true = no transformation)\\n\\t\\t\\t\\\"text html\\\": true,\\n\\n\\t\\t\\t// Evaluate text as a json expression\\n\\t\\t\\t\\\"text json\\\": JSON.parse,\\n\\n\\t\\t\\t// Parse text as xml\\n\\t\\t\\t\\\"text xml\\\": jQuery.parseXML\\n\\t\\t},\\n\\n\\t\\t// For options that shouldn't be deep extended:\\n\\t\\t// you can add your own custom options here if\\n\\t\\t// and when you create one that shouldn't be\\n\\t\\t// deep extended (see ajaxExtend)\\n\\t\\tflatOptions: {\\n\\t\\t\\turl: true,\\n\\t\\t\\tcontext: true\\n\\t\\t}\\n\\t},\\n\\n\\t// Creates a full fledged settings object into target\\n\\t// with both ajaxSettings and settings fields.\\n\\t// If target is omitted, writes into ajaxSettings.\\n\\tajaxSetup: function( target, settings ) {\\n\\t\\treturn settings ?\\n\\n\\t\\t\\t// Building a settings object\\n\\t\\t\\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\\n\\n\\t\\t\\t// Extending ajaxSettings\\n\\t\\t\\tajaxExtend( jQuery.ajaxSettings, target );\\n\\t},\\n\\n\\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\\n\\tajaxTransport: addToPrefiltersOrTransports( transports ),\\n\\n\\t// Main method\\n\\tajax: function( url, options ) {\\n\\n\\t\\t// If url is an object, simulate pre-1.5 signature\\n\\t\\tif ( typeof url === \\\"object\\\" ) {\\n\\t\\t\\toptions = url;\\n\\t\\t\\turl = undefined;\\n\\t\\t}\\n\\n\\t\\t// Force options to be an object\\n\\t\\toptions = options || {};\\n\\n\\t\\tvar transport,\\n\\n\\t\\t\\t// URL without anti-cache param\\n\\t\\t\\tcacheURL,\\n\\n\\t\\t\\t// Response headers\\n\\t\\t\\tresponseHeadersString,\\n\\t\\t\\tresponseHeaders,\\n\\n\\t\\t\\t// timeout handle\\n\\t\\t\\ttimeoutTimer,\\n\\n\\t\\t\\t// Url cleanup var\\n\\t\\t\\turlAnchor,\\n\\n\\t\\t\\t// Request state (becomes false upon send and true upon completion)\\n\\t\\t\\tcompleted,\\n\\n\\t\\t\\t// To know if global events are to be dispatched\\n\\t\\t\\tfireGlobals,\\n\\n\\t\\t\\t// Loop variable\\n\\t\\t\\ti,\\n\\n\\t\\t\\t// uncached part of the url\\n\\t\\t\\tuncached,\\n\\n\\t\\t\\t// Create the final options object\\n\\t\\t\\ts = jQuery.ajaxSetup( {}, options ),\\n\\n\\t\\t\\t// Callbacks context\\n\\t\\t\\tcallbackContext = s.context || s,\\n\\n\\t\\t\\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\\n\\t\\t\\tglobalEventContext = s.context &&\\n\\t\\t\\t\\t( callbackContext.nodeType || callbackContext.jquery ) ?\\n\\t\\t\\t\\t\\tjQuery( callbackContext ) :\\n\\t\\t\\t\\t\\tjQuery.event,\\n\\n\\t\\t\\t// Deferreds\\n\\t\\t\\tdeferred = jQuery.Deferred(),\\n\\t\\t\\tcompleteDeferred = jQuery.Callbacks( \\\"once memory\\\" ),\\n\\n\\t\\t\\t// Status-dependent callbacks\\n\\t\\t\\tstatusCode = s.statusCode || {},\\n\\n\\t\\t\\t// Headers (they are sent all at once)\\n\\t\\t\\trequestHeaders = {},\\n\\t\\t\\trequestHeadersNames = {},\\n\\n\\t\\t\\t// Default abort message\\n\\t\\t\\tstrAbort = \\\"canceled\\\",\\n\\n\\t\\t\\t// Fake xhr\\n\\t\\t\\tjqXHR = {\\n\\t\\t\\t\\treadyState: 0,\\n\\n\\t\\t\\t\\t// Builds headers hashtable if needed\\n\\t\\t\\t\\tgetResponseHeader: function( key ) {\\n\\t\\t\\t\\t\\tvar match;\\n\\t\\t\\t\\t\\tif ( completed ) {\\n\\t\\t\\t\\t\\t\\tif ( !responseHeaders ) {\\n\\t\\t\\t\\t\\t\\t\\tresponseHeaders = {};\\n\\t\\t\\t\\t\\t\\t\\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tresponseHeaders[ match[ 1 ].toLowerCase() + \\\" \\\" ] =\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t( responseHeaders[ match[ 1 ].toLowerCase() + \\\" \\\" ] || [] )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.concat( match[ 2 ] );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\tmatch = responseHeaders[ key.toLowerCase() + \\\" \\\" ];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn match == null ? null : match.join( \\\", \\\" );\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Raw string\\n\\t\\t\\t\\tgetAllResponseHeaders: function() {\\n\\t\\t\\t\\t\\treturn completed ? responseHeadersString : null;\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Caches the header\\n\\t\\t\\t\\tsetRequestHeader: function( name, value ) {\\n\\t\\t\\t\\t\\tif ( completed == null ) {\\n\\t\\t\\t\\t\\t\\tname = requestHeadersNames[ name.toLowerCase() ] =\\n\\t\\t\\t\\t\\t\\t\\trequestHeadersNames[ name.toLowerCase() ] || name;\\n\\t\\t\\t\\t\\t\\trequestHeaders[ name ] = value;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Overrides response content-type header\\n\\t\\t\\t\\toverrideMimeType: function( type ) {\\n\\t\\t\\t\\t\\tif ( completed == null ) {\\n\\t\\t\\t\\t\\t\\ts.mimeType = type;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Status-dependent callbacks\\n\\t\\t\\t\\tstatusCode: function( map ) {\\n\\t\\t\\t\\t\\tvar code;\\n\\t\\t\\t\\t\\tif ( map ) {\\n\\t\\t\\t\\t\\t\\tif ( completed ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Execute the appropriate callbacks\\n\\t\\t\\t\\t\\t\\t\\tjqXHR.always( map[ jqXHR.status ] );\\n\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Lazy-add the new callbacks in a way that preserves old ones\\n\\t\\t\\t\\t\\t\\t\\tfor ( code in map ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Cancel the request\\n\\t\\t\\t\\tabort: function( statusText ) {\\n\\t\\t\\t\\t\\tvar finalText = statusText || strAbort;\\n\\t\\t\\t\\t\\tif ( transport ) {\\n\\t\\t\\t\\t\\t\\ttransport.abort( finalText );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tdone( 0, finalText );\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\n\\t\\t// Attach deferreds\\n\\t\\tdeferred.promise( jqXHR );\\n\\n\\t\\t// Add protocol if not provided (prefilters might expect it)\\n\\t\\t// Handle falsy url in the settings object (#10093: consistency with old signature)\\n\\t\\t// We also use the url parameter if available\\n\\t\\ts.url = ( ( url || s.url || location.href ) + \\\"\\\" )\\n\\t\\t\\t.replace( rprotocol, location.protocol + \\\"//\\\" );\\n\\n\\t\\t// Alias method option to type as per ticket #12004\\n\\t\\ts.type = options.method || options.type || s.method || s.type;\\n\\n\\t\\t// Extract dataTypes list\\n\\t\\ts.dataTypes = ( s.dataType || \\\"*\\\" ).toLowerCase().match( rnothtmlwhite ) || [ \\\"\\\" ];\\n\\n\\t\\t// A cross-domain request is in order when the origin doesn't match the current origin.\\n\\t\\tif ( s.crossDomain == null ) {\\n\\t\\t\\turlAnchor = document.createElement( \\\"a\\\" );\\n\\n\\t\\t\\t// Support: IE <=8 - 11, Edge 12 - 15\\n\\t\\t\\t// IE throws exception on accessing the href property if url is malformed,\\n\\t\\t\\t// e.g. http://example.com:80x/\\n\\t\\t\\ttry {\\n\\t\\t\\t\\turlAnchor.href = s.url;\\n\\n\\t\\t\\t\\t// Support: IE <=8 - 11 only\\n\\t\\t\\t\\t// Anchor's host property isn't correctly set when s.url is relative\\n\\t\\t\\t\\turlAnchor.href = urlAnchor.href;\\n\\t\\t\\t\\ts.crossDomain = originAnchor.protocol + \\\"//\\\" + originAnchor.host !==\\n\\t\\t\\t\\t\\turlAnchor.protocol + \\\"//\\\" + urlAnchor.host;\\n\\t\\t\\t} catch ( e ) {\\n\\n\\t\\t\\t\\t// If there is an error parsing the URL, assume it is crossDomain,\\n\\t\\t\\t\\t// it can be rejected by the transport if it is invalid\\n\\t\\t\\t\\ts.crossDomain = true;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Convert data if not already a string\\n\\t\\tif ( s.data && s.processData && typeof s.data !== \\\"string\\\" ) {\\n\\t\\t\\ts.data = jQuery.param( s.data, s.traditional );\\n\\t\\t}\\n\\n\\t\\t// Apply prefilters\\n\\t\\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\\n\\n\\t\\t// If request was aborted inside a prefilter, stop there\\n\\t\\tif ( completed ) {\\n\\t\\t\\treturn jqXHR;\\n\\t\\t}\\n\\n\\t\\t// We can fire global events as of now if asked to\\n\\t\\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)\\n\\t\\tfireGlobals = jQuery.event && s.global;\\n\\n\\t\\t// Watch for a new set of requests\\n\\t\\tif ( fireGlobals && jQuery.active++ === 0 ) {\\n\\t\\t\\tjQuery.event.trigger( \\\"ajaxStart\\\" );\\n\\t\\t}\\n\\n\\t\\t// Uppercase the type\\n\\t\\ts.type = s.type.toUpperCase();\\n\\n\\t\\t// Determine if request has content\\n\\t\\ts.hasContent = !rnoContent.test( s.type );\\n\\n\\t\\t// Save the URL in case we're toying with the If-Modified-Since\\n\\t\\t// and/or If-None-Match header later on\\n\\t\\t// Remove hash to simplify url manipulation\\n\\t\\tcacheURL = s.url.replace( rhash, \\\"\\\" );\\n\\n\\t\\t// More options handling for requests with no content\\n\\t\\tif ( !s.hasContent ) {\\n\\n\\t\\t\\t// Remember the hash so we can put it back\\n\\t\\t\\tuncached = s.url.slice( cacheURL.length );\\n\\n\\t\\t\\t// If data is available and should be processed, append data to url\\n\\t\\t\\tif ( s.data && ( s.processData || typeof s.data === \\\"string\\\" ) ) {\\n\\t\\t\\t\\tcacheURL += ( rquery.test( cacheURL ) ? \\\"&\\\" : \\\"?\\\" ) + s.data;\\n\\n\\t\\t\\t\\t// #9682: remove data so that it's not used in an eventual retry\\n\\t\\t\\t\\tdelete s.data;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Add or update anti-cache param if needed\\n\\t\\t\\tif ( s.cache === false ) {\\n\\t\\t\\t\\tcacheURL = cacheURL.replace( rantiCache, \\\"$1\\\" );\\n\\t\\t\\t\\tuncached = ( rquery.test( cacheURL ) ? \\\"&\\\" : \\\"?\\\" ) + \\\"_=\\\" + ( nonce.guid++ ) +\\n\\t\\t\\t\\t\\tuncached;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\\n\\t\\t\\ts.url = cacheURL + uncached;\\n\\n\\t\\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\\n\\t\\t} else if ( s.data && s.processData &&\\n\\t\\t\\t( s.contentType || \\\"\\\" ).indexOf( \\\"application/x-www-form-urlencoded\\\" ) === 0 ) {\\n\\t\\t\\ts.data = s.data.replace( r20, \\\"+\\\" );\\n\\t\\t}\\n\\n\\t\\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\\n\\t\\tif ( s.ifModified ) {\\n\\t\\t\\tif ( jQuery.lastModified[ cacheURL ] ) {\\n\\t\\t\\t\\tjqXHR.setRequestHeader( \\\"If-Modified-Since\\\", jQuery.lastModified[ cacheURL ] );\\n\\t\\t\\t}\\n\\t\\t\\tif ( jQuery.etag[ cacheURL ] ) {\\n\\t\\t\\t\\tjqXHR.setRequestHeader( \\\"If-None-Match\\\", jQuery.etag[ cacheURL ] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Set the correct header, if data is being sent\\n\\t\\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\\n\\t\\t\\tjqXHR.setRequestHeader( \\\"Content-Type\\\", s.contentType );\\n\\t\\t}\\n\\n\\t\\t// Set the Accepts header for the server, depending on the dataType\\n\\t\\tjqXHR.setRequestHeader(\\n\\t\\t\\t\\\"Accept\\\",\\n\\t\\t\\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\\n\\t\\t\\t\\ts.accepts[ s.dataTypes[ 0 ] ] +\\n\\t\\t\\t\\t\\t( s.dataTypes[ 0 ] !== \\\"*\\\" ? \\\", \\\" + allTypes + \\\"; q=0.01\\\" : \\\"\\\" ) :\\n\\t\\t\\t\\ts.accepts[ \\\"*\\\" ]\\n\\t\\t);\\n\\n\\t\\t// Check for headers option\\n\\t\\tfor ( i in s.headers ) {\\n\\t\\t\\tjqXHR.setRequestHeader( i, s.headers[ i ] );\\n\\t\\t}\\n\\n\\t\\t// Allow custom headers/mimetypes and early abort\\n\\t\\tif ( s.beforeSend &&\\n\\t\\t\\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\\n\\n\\t\\t\\t// Abort if not done already and return\\n\\t\\t\\treturn jqXHR.abort();\\n\\t\\t}\\n\\n\\t\\t// Aborting is no longer a cancellation\\n\\t\\tstrAbort = \\\"abort\\\";\\n\\n\\t\\t// Install callbacks on deferreds\\n\\t\\tcompleteDeferred.add( s.complete );\\n\\t\\tjqXHR.done( s.success );\\n\\t\\tjqXHR.fail( s.error );\\n\\n\\t\\t// Get transport\\n\\t\\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\\n\\n\\t\\t// If no transport, we auto-abort\\n\\t\\tif ( !transport ) {\\n\\t\\t\\tdone( -1, \\\"No Transport\\\" );\\n\\t\\t} else {\\n\\t\\t\\tjqXHR.readyState = 1;\\n\\n\\t\\t\\t// Send global event\\n\\t\\t\\tif ( fireGlobals ) {\\n\\t\\t\\t\\tglobalEventContext.trigger( \\\"ajaxSend\\\", [ jqXHR, s ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If request was aborted inside ajaxSend, stop there\\n\\t\\t\\tif ( completed ) {\\n\\t\\t\\t\\treturn jqXHR;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Timeout\\n\\t\\t\\tif ( s.async && s.timeout > 0 ) {\\n\\t\\t\\t\\ttimeoutTimer = window.setTimeout( function() {\\n\\t\\t\\t\\t\\tjqXHR.abort( \\\"timeout\\\" );\\n\\t\\t\\t\\t}, s.timeout );\\n\\t\\t\\t}\\n\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tcompleted = false;\\n\\t\\t\\t\\ttransport.send( requestHeaders, done );\\n\\t\\t\\t} catch ( e ) {\\n\\n\\t\\t\\t\\t// Rethrow post-completion exceptions\\n\\t\\t\\t\\tif ( completed ) {\\n\\t\\t\\t\\t\\tthrow e;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Propagate others as results\\n\\t\\t\\t\\tdone( -1, e );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Callback for when everything is done\\n\\t\\tfunction done( status, nativeStatusText, responses, headers ) {\\n\\t\\t\\tvar isSuccess, success, error, response, modified,\\n\\t\\t\\t\\tstatusText = nativeStatusText;\\n\\n\\t\\t\\t// Ignore repeat invocations\\n\\t\\t\\tif ( completed ) {\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\tcompleted = true;\\n\\n\\t\\t\\t// Clear timeout if it exists\\n\\t\\t\\tif ( timeoutTimer ) {\\n\\t\\t\\t\\twindow.clearTimeout( timeoutTimer );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Dereference transport for early garbage collection\\n\\t\\t\\t// (no matter how long the jqXHR object will be used)\\n\\t\\t\\ttransport = undefined;\\n\\n\\t\\t\\t// Cache response headers\\n\\t\\t\\tresponseHeadersString = headers || \\\"\\\";\\n\\n\\t\\t\\t// Set readyState\\n\\t\\t\\tjqXHR.readyState = status > 0 ? 4 : 0;\\n\\n\\t\\t\\t// Determine if successful\\n\\t\\t\\tisSuccess = status >= 200 && status < 300 || status === 304;\\n\\n\\t\\t\\t// Get response data\\n\\t\\t\\tif ( responses ) {\\n\\t\\t\\t\\tresponse = ajaxHandleResponses( s, jqXHR, responses );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Use a noop converter for missing script\\n\\t\\t\\tif ( !isSuccess && jQuery.inArray( \\\"script\\\", s.dataTypes ) > -1 ) {\\n\\t\\t\\t\\ts.converters[ \\\"text script\\\" ] = function() {};\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Convert no matter what (that way responseXXX fields are always set)\\n\\t\\t\\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\\n\\n\\t\\t\\t// If successful, handle type chaining\\n\\t\\t\\tif ( isSuccess ) {\\n\\n\\t\\t\\t\\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\\n\\t\\t\\t\\tif ( s.ifModified ) {\\n\\t\\t\\t\\t\\tmodified = jqXHR.getResponseHeader( \\\"Last-Modified\\\" );\\n\\t\\t\\t\\t\\tif ( modified ) {\\n\\t\\t\\t\\t\\t\\tjQuery.lastModified[ cacheURL ] = modified;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tmodified = jqXHR.getResponseHeader( \\\"etag\\\" );\\n\\t\\t\\t\\t\\tif ( modified ) {\\n\\t\\t\\t\\t\\t\\tjQuery.etag[ cacheURL ] = modified;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// if no content\\n\\t\\t\\t\\tif ( status === 204 || s.type === \\\"HEAD\\\" ) {\\n\\t\\t\\t\\t\\tstatusText = \\\"nocontent\\\";\\n\\n\\t\\t\\t\\t// if not modified\\n\\t\\t\\t\\t} else if ( status === 304 ) {\\n\\t\\t\\t\\t\\tstatusText = \\\"notmodified\\\";\\n\\n\\t\\t\\t\\t// If we have data, let's convert it\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tstatusText = response.state;\\n\\t\\t\\t\\t\\tsuccess = response.data;\\n\\t\\t\\t\\t\\terror = response.error;\\n\\t\\t\\t\\t\\tisSuccess = !error;\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t// Extract error from statusText and normalize for non-aborts\\n\\t\\t\\t\\terror = statusText;\\n\\t\\t\\t\\tif ( status || !statusText ) {\\n\\t\\t\\t\\t\\tstatusText = \\\"error\\\";\\n\\t\\t\\t\\t\\tif ( status < 0 ) {\\n\\t\\t\\t\\t\\t\\tstatus = 0;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Set data for the fake xhr object\\n\\t\\t\\tjqXHR.status = status;\\n\\t\\t\\tjqXHR.statusText = ( nativeStatusText || statusText ) + \\\"\\\";\\n\\n\\t\\t\\t// Success/Error\\n\\t\\t\\tif ( isSuccess ) {\\n\\t\\t\\t\\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Status-dependent callbacks\\n\\t\\t\\tjqXHR.statusCode( statusCode );\\n\\t\\t\\tstatusCode = undefined;\\n\\n\\t\\t\\tif ( fireGlobals ) {\\n\\t\\t\\t\\tglobalEventContext.trigger( isSuccess ? \\\"ajaxSuccess\\\" : \\\"ajaxError\\\",\\n\\t\\t\\t\\t\\t[ jqXHR, s, isSuccess ? success : error ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Complete\\n\\t\\t\\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\\n\\n\\t\\t\\tif ( fireGlobals ) {\\n\\t\\t\\t\\tglobalEventContext.trigger( \\\"ajaxComplete\\\", [ jqXHR, s ] );\\n\\n\\t\\t\\t\\t// Handle the global AJAX counter\\n\\t\\t\\t\\tif ( !( --jQuery.active ) ) {\\n\\t\\t\\t\\t\\tjQuery.event.trigger( \\\"ajaxStop\\\" );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn jqXHR;\\n\\t},\\n\\n\\tgetJSON: function( url, data, callback ) {\\n\\t\\treturn jQuery.get( url, data, callback, \\\"json\\\" );\\n\\t},\\n\\n\\tgetScript: function( url, callback ) {\\n\\t\\treturn jQuery.get( url, undefined, callback, \\\"script\\\" );\\n\\t}\\n} );\\n\\njQuery.each( [ \\\"get\\\", \\\"post\\\" ], function( _i, method ) {\\n\\tjQuery[ method ] = function( url, data, callback, type ) {\\n\\n\\t\\t// Shift arguments if data argument was omitted\\n\\t\\tif ( isFunction( data ) ) {\\n\\t\\t\\ttype = type || callback;\\n\\t\\t\\tcallback = data;\\n\\t\\t\\tdata = undefined;\\n\\t\\t}\\n\\n\\t\\t// The url can be an options object (which then must have .url)\\n\\t\\treturn jQuery.ajax( jQuery.extend( {\\n\\t\\t\\turl: url,\\n\\t\\t\\ttype: method,\\n\\t\\t\\tdataType: type,\\n\\t\\t\\tdata: data,\\n\\t\\t\\tsuccess: callback\\n\\t\\t}, jQuery.isPlainObject( url ) && url ) );\\n\\t};\\n} );\\n\\njQuery.ajaxPrefilter( function( s ) {\\n\\tvar i;\\n\\tfor ( i in s.headers ) {\\n\\t\\tif ( i.toLowerCase() === \\\"content-type\\\" ) {\\n\\t\\t\\ts.contentType = s.headers[ i ] || \\\"\\\";\\n\\t\\t}\\n\\t}\\n} );\\n\\n\\njQuery._evalUrl = function( url, options, doc ) {\\n\\treturn jQuery.ajax( {\\n\\t\\turl: url,\\n\\n\\t\\t// Make this explicit, since user can override this through ajaxSetup (#11264)\\n\\t\\ttype: \\\"GET\\\",\\n\\t\\tdataType: \\\"script\\\",\\n\\t\\tcache: true,\\n\\t\\tasync: false,\\n\\t\\tglobal: false,\\n\\n\\t\\t// Only evaluate the response if it is successful (gh-4126)\\n\\t\\t// dataFilter is not invoked for failure responses, so using it instead\\n\\t\\t// of the default converter is kludgy but it works.\\n\\t\\tconverters: {\\n\\t\\t\\t\\\"text script\\\": function() {}\\n\\t\\t},\\n\\t\\tdataFilter: function( response ) {\\n\\t\\t\\tjQuery.globalEval( response, options, doc );\\n\\t\\t}\\n\\t} );\\n};\\n\\n\\njQuery.fn.extend( {\\n\\twrapAll: function( html ) {\\n\\t\\tvar wrap;\\n\\n\\t\\tif ( this[ 0 ] ) {\\n\\t\\t\\tif ( isFunction( html ) ) {\\n\\t\\t\\t\\thtml = html.call( this[ 0 ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// The elements to wrap the target around\\n\\t\\t\\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\\n\\n\\t\\t\\tif ( this[ 0 ].parentNode ) {\\n\\t\\t\\t\\twrap.insertBefore( this[ 0 ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\twrap.map( function() {\\n\\t\\t\\t\\tvar elem = this;\\n\\n\\t\\t\\t\\twhile ( elem.firstElementChild ) {\\n\\t\\t\\t\\t\\telem = elem.firstElementChild;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn elem;\\n\\t\\t\\t} ).append( this );\\n\\t\\t}\\n\\n\\t\\treturn this;\\n\\t},\\n\\n\\twrapInner: function( html ) {\\n\\t\\tif ( isFunction( html ) ) {\\n\\t\\t\\treturn this.each( function( i ) {\\n\\t\\t\\t\\tjQuery( this ).wrapInner( html.call( this, i ) );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tvar self = jQuery( this ),\\n\\t\\t\\t\\tcontents = self.contents();\\n\\n\\t\\t\\tif ( contents.length ) {\\n\\t\\t\\t\\tcontents.wrapAll( html );\\n\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tself.append( html );\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\twrap: function( html ) {\\n\\t\\tvar htmlIsFunction = isFunction( html );\\n\\n\\t\\treturn this.each( function( i ) {\\n\\t\\t\\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\\n\\t\\t} );\\n\\t},\\n\\n\\tunwrap: function( selector ) {\\n\\t\\tthis.parent( selector ).not( \\\"body\\\" ).each( function() {\\n\\t\\t\\tjQuery( this ).replaceWith( this.childNodes );\\n\\t\\t} );\\n\\t\\treturn this;\\n\\t}\\n} );\\n\\n\\njQuery.expr.pseudos.hidden = function( elem ) {\\n\\treturn !jQuery.expr.pseudos.visible( elem );\\n};\\njQuery.expr.pseudos.visible = function( elem ) {\\n\\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\\n};\\n\\n\\n\\n\\njQuery.ajaxSettings.xhr = function() {\\n\\ttry {\\n\\t\\treturn new window.XMLHttpRequest();\\n\\t} catch ( e ) {}\\n};\\n\\nvar xhrSuccessStatus = {\\n\\n\\t\\t// File protocol always yields status code 0, assume 200\\n\\t\\t0: 200,\\n\\n\\t\\t// Support: IE <=9 only\\n\\t\\t// #1450: sometimes IE returns 1223 when it should be 204\\n\\t\\t1223: 204\\n\\t},\\n\\txhrSupported = jQuery.ajaxSettings.xhr();\\n\\nsupport.cors = !!xhrSupported && ( \\\"withCredentials\\\" in xhrSupported );\\nsupport.ajax = xhrSupported = !!xhrSupported;\\n\\njQuery.ajaxTransport( function( options ) {\\n\\tvar callback, errorCallback;\\n\\n\\t// Cross domain only allowed if supported through XMLHttpRequest\\n\\tif ( support.cors || xhrSupported && !options.crossDomain ) {\\n\\t\\treturn {\\n\\t\\t\\tsend: function( headers, complete ) {\\n\\t\\t\\t\\tvar i,\\n\\t\\t\\t\\t\\txhr = options.xhr();\\n\\n\\t\\t\\t\\txhr.open(\\n\\t\\t\\t\\t\\toptions.type,\\n\\t\\t\\t\\t\\toptions.url,\\n\\t\\t\\t\\t\\toptions.async,\\n\\t\\t\\t\\t\\toptions.username,\\n\\t\\t\\t\\t\\toptions.password\\n\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t// Apply custom fields if provided\\n\\t\\t\\t\\tif ( options.xhrFields ) {\\n\\t\\t\\t\\t\\tfor ( i in options.xhrFields ) {\\n\\t\\t\\t\\t\\t\\txhr[ i ] = options.xhrFields[ i ];\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Override mime type if needed\\n\\t\\t\\t\\tif ( options.mimeType && xhr.overrideMimeType ) {\\n\\t\\t\\t\\t\\txhr.overrideMimeType( options.mimeType );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// X-Requested-With header\\n\\t\\t\\t\\t// For cross-domain requests, seeing as conditions for a preflight are\\n\\t\\t\\t\\t// akin to a jigsaw puzzle, we simply never set it to be sure.\\n\\t\\t\\t\\t// (it can always be set on a per-request basis or even using ajaxSetup)\\n\\t\\t\\t\\t// For same-domain requests, won't change header if already provided.\\n\\t\\t\\t\\tif ( !options.crossDomain && !headers[ \\\"X-Requested-With\\\" ] ) {\\n\\t\\t\\t\\t\\theaders[ \\\"X-Requested-With\\\" ] = \\\"XMLHttpRequest\\\";\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Set headers\\n\\t\\t\\t\\tfor ( i in headers ) {\\n\\t\\t\\t\\t\\txhr.setRequestHeader( i, headers[ i ] );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Callback\\n\\t\\t\\t\\tcallback = function( type ) {\\n\\t\\t\\t\\t\\treturn function() {\\n\\t\\t\\t\\t\\t\\tif ( callback ) {\\n\\t\\t\\t\\t\\t\\t\\tcallback = errorCallback = xhr.onload =\\n\\t\\t\\t\\t\\t\\t\\t\\txhr.onerror = xhr.onabort = xhr.ontimeout =\\n\\t\\t\\t\\t\\t\\t\\t\\t\\txhr.onreadystatechange = null;\\n\\n\\t\\t\\t\\t\\t\\t\\tif ( type === \\\"abort\\\" ) {\\n\\t\\t\\t\\t\\t\\t\\t\\txhr.abort();\\n\\t\\t\\t\\t\\t\\t\\t} else if ( type === \\\"error\\\" ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Support: IE <=9 only\\n\\t\\t\\t\\t\\t\\t\\t\\t// On a manual native abort, IE9 throws\\n\\t\\t\\t\\t\\t\\t\\t\\t// errors on any property access that is not readyState\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( typeof xhr.status !== \\\"number\\\" ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tcomplete( 0, \\\"error\\\" );\\n\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tcomplete(\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// File: protocol always yields status 0; see #8605, #14207\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\txhr.status,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\txhr.statusText\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\tcomplete(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\txhrSuccessStatus[ xhr.status ] || xhr.status,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\txhr.statusText,\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: IE <=9 only\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// IE9 has no XHR2 but throws on binary (trac-11426)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// For XHR2 non-text, let the caller handle it (gh-2498)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t( xhr.responseType || \\\"text\\\" ) !== \\\"text\\\"  ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\ttypeof xhr.responseText !== \\\"string\\\" ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{ binary: xhr.response } :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t{ text: xhr.responseText },\\n\\t\\t\\t\\t\\t\\t\\t\\t\\txhr.getAllResponseHeaders()\\n\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t};\\n\\n\\t\\t\\t\\t// Listen to events\\n\\t\\t\\t\\txhr.onload = callback();\\n\\t\\t\\t\\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \\\"error\\\" );\\n\\n\\t\\t\\t\\t// Support: IE 9 only\\n\\t\\t\\t\\t// Use onreadystatechange to replace onabort\\n\\t\\t\\t\\t// to handle uncaught aborts\\n\\t\\t\\t\\tif ( xhr.onabort !== undefined ) {\\n\\t\\t\\t\\t\\txhr.onabort = errorCallback;\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\txhr.onreadystatechange = function() {\\n\\n\\t\\t\\t\\t\\t\\t// Check readyState before timeout as it changes\\n\\t\\t\\t\\t\\t\\tif ( xhr.readyState === 4 ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Allow onerror to be called first,\\n\\t\\t\\t\\t\\t\\t\\t// but that will not handle a native abort\\n\\t\\t\\t\\t\\t\\t\\t// Also, save errorCallback to a variable\\n\\t\\t\\t\\t\\t\\t\\t// as xhr.onerror cannot be accessed\\n\\t\\t\\t\\t\\t\\t\\twindow.setTimeout( function() {\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( callback ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\terrorCallback();\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Create the abort callback\\n\\t\\t\\t\\tcallback = callback( \\\"abort\\\" );\\n\\n\\t\\t\\t\\ttry {\\n\\n\\t\\t\\t\\t\\t// Do send the request (this may raise an exception)\\n\\t\\t\\t\\t\\txhr.send( options.hasContent && options.data || null );\\n\\t\\t\\t\\t} catch ( e ) {\\n\\n\\t\\t\\t\\t\\t// #14683: Only rethrow if this hasn't been notified as an error yet\\n\\t\\t\\t\\t\\tif ( callback ) {\\n\\t\\t\\t\\t\\t\\tthrow e;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\n\\t\\t\\tabort: function() {\\n\\t\\t\\t\\tif ( callback ) {\\n\\t\\t\\t\\t\\tcallback();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n} );\\n\\n\\n\\n\\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\\njQuery.ajaxPrefilter( function( s ) {\\n\\tif ( s.crossDomain ) {\\n\\t\\ts.contents.script = false;\\n\\t}\\n} );\\n\\n// Install script dataType\\njQuery.ajaxSetup( {\\n\\taccepts: {\\n\\t\\tscript: \\\"text/javascript, application/javascript, \\\" +\\n\\t\\t\\t\\\"application/ecmascript, application/x-ecmascript\\\"\\n\\t},\\n\\tcontents: {\\n\\t\\tscript: /\\\\b(?:java|ecma)script\\\\b/\\n\\t},\\n\\tconverters: {\\n\\t\\t\\\"text script\\\": function( text ) {\\n\\t\\t\\tjQuery.globalEval( text );\\n\\t\\t\\treturn text;\\n\\t\\t}\\n\\t}\\n} );\\n\\n// Handle cache's special case and crossDomain\\njQuery.ajaxPrefilter( \\\"script\\\", function( s ) {\\n\\tif ( s.cache === undefined ) {\\n\\t\\ts.cache = false;\\n\\t}\\n\\tif ( s.crossDomain ) {\\n\\t\\ts.type = \\\"GET\\\";\\n\\t}\\n} );\\n\\n// Bind script tag hack transport\\njQuery.ajaxTransport( \\\"script\\\", function( s ) {\\n\\n\\t// This transport only deals with cross domain or forced-by-attrs requests\\n\\tif ( s.crossDomain || s.scriptAttrs ) {\\n\\t\\tvar script, callback;\\n\\t\\treturn {\\n\\t\\t\\tsend: function( _, complete ) {\\n\\t\\t\\t\\tscript = jQuery( \\\"<script>\\\" )\\n\\t\\t\\t\\t\\t.attr( s.scriptAttrs || {} )\\n\\t\\t\\t\\t\\t.prop( { charset: s.scriptCharset, src: s.url } )\\n\\t\\t\\t\\t\\t.on( \\\"load error\\\", callback = function( evt ) {\\n\\t\\t\\t\\t\\t\\tscript.remove();\\n\\t\\t\\t\\t\\t\\tcallback = null;\\n\\t\\t\\t\\t\\t\\tif ( evt ) {\\n\\t\\t\\t\\t\\t\\t\\tcomplete( evt.type === \\\"error\\\" ? 404 : 200, evt.type );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t} );\\n\\n\\t\\t\\t\\t// Use native DOM manipulation to avoid our domManip AJAX trickery\\n\\t\\t\\t\\tdocument.head.appendChild( script[ 0 ] );\\n\\t\\t\\t},\\n\\t\\t\\tabort: function() {\\n\\t\\t\\t\\tif ( callback ) {\\n\\t\\t\\t\\t\\tcallback();\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n} );\\n\\n\\n\\n\\nvar oldCallbacks = [],\\n\\trjsonp = /(=)\\\\?(?=&|$)|\\\\?\\\\?/;\\n\\n// Default jsonp settings\\njQuery.ajaxSetup( {\\n\\tjsonp: \\\"callback\\\",\\n\\tjsonpCallback: function() {\\n\\t\\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \\\"_\\\" + ( nonce.guid++ ) );\\n\\t\\tthis[ callback ] = true;\\n\\t\\treturn callback;\\n\\t}\\n} );\\n\\n// Detect, normalize options and install callbacks for jsonp requests\\njQuery.ajaxPrefilter( \\\"json jsonp\\\", function( s, originalSettings, jqXHR ) {\\n\\n\\tvar callbackName, overwritten, responseContainer,\\n\\t\\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\\n\\t\\t\\t\\\"url\\\" :\\n\\t\\t\\ttypeof s.data === \\\"string\\\" &&\\n\\t\\t\\t\\t( s.contentType || \\\"\\\" )\\n\\t\\t\\t\\t\\t.indexOf( \\\"application/x-www-form-urlencoded\\\" ) === 0 &&\\n\\t\\t\\t\\trjsonp.test( s.data ) && \\\"data\\\"\\n\\t\\t);\\n\\n\\t// Handle iff the expected data type is \\\"jsonp\\\" or we have a parameter to set\\n\\tif ( jsonProp || s.dataTypes[ 0 ] === \\\"jsonp\\\" ) {\\n\\n\\t\\t// Get callback name, remembering preexisting value associated with it\\n\\t\\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\\n\\t\\t\\ts.jsonpCallback() :\\n\\t\\t\\ts.jsonpCallback;\\n\\n\\t\\t// Insert callback into url or form data\\n\\t\\tif ( jsonProp ) {\\n\\t\\t\\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \\\"$1\\\" + callbackName );\\n\\t\\t} else if ( s.jsonp !== false ) {\\n\\t\\t\\ts.url += ( rquery.test( s.url ) ? \\\"&\\\" : \\\"?\\\" ) + s.jsonp + \\\"=\\\" + callbackName;\\n\\t\\t}\\n\\n\\t\\t// Use data converter to retrieve json after script execution\\n\\t\\ts.converters[ \\\"script json\\\" ] = function() {\\n\\t\\t\\tif ( !responseContainer ) {\\n\\t\\t\\t\\tjQuery.error( callbackName + \\\" was not called\\\" );\\n\\t\\t\\t}\\n\\t\\t\\treturn responseContainer[ 0 ];\\n\\t\\t};\\n\\n\\t\\t// Force json dataType\\n\\t\\ts.dataTypes[ 0 ] = \\\"json\\\";\\n\\n\\t\\t// Install callback\\n\\t\\toverwritten = window[ callbackName ];\\n\\t\\twindow[ callbackName ] = function() {\\n\\t\\t\\tresponseContainer = arguments;\\n\\t\\t};\\n\\n\\t\\t// Clean-up function (fires after converters)\\n\\t\\tjqXHR.always( function() {\\n\\n\\t\\t\\t// If previous value didn't exist - remove it\\n\\t\\t\\tif ( overwritten === undefined ) {\\n\\t\\t\\t\\tjQuery( window ).removeProp( callbackName );\\n\\n\\t\\t\\t// Otherwise restore preexisting value\\n\\t\\t\\t} else {\\n\\t\\t\\t\\twindow[ callbackName ] = overwritten;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Save back as free\\n\\t\\t\\tif ( s[ callbackName ] ) {\\n\\n\\t\\t\\t\\t// Make sure that re-using the options doesn't screw things around\\n\\t\\t\\t\\ts.jsonpCallback = originalSettings.jsonpCallback;\\n\\n\\t\\t\\t\\t// Save the callback name for future use\\n\\t\\t\\t\\toldCallbacks.push( callbackName );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Call if it was a function and we have a response\\n\\t\\t\\tif ( responseContainer && isFunction( overwritten ) ) {\\n\\t\\t\\t\\toverwritten( responseContainer[ 0 ] );\\n\\t\\t\\t}\\n\\n\\t\\t\\tresponseContainer = overwritten = undefined;\\n\\t\\t} );\\n\\n\\t\\t// Delegate to script\\n\\t\\treturn \\\"script\\\";\\n\\t}\\n} );\\n\\n\\n\\n\\n// Support: Safari 8 only\\n// In Safari 8 documents created via document.implementation.createHTMLDocument\\n// collapse sibling forms: the second one becomes a child of the first one.\\n// Because of that, this security measure has to be disabled in Safari 8.\\n// https://bugs.webkit.org/show_bug.cgi?id=137337\\nsupport.createHTMLDocument = ( function() {\\n\\tvar body = document.implementation.createHTMLDocument( \\\"\\\" ).body;\\n\\tbody.innerHTML = \\\"<form></form><form></form>\\\";\\n\\treturn body.childNodes.length === 2;\\n} )();\\n\\n\\n// Argument \\\"data\\\" should be string of html\\n// context (optional): If specified, the fragment will be created in this context,\\n// defaults to document\\n// keepScripts (optional): If true, will include scripts passed in the html string\\njQuery.parseHTML = function( data, context, keepScripts ) {\\n\\tif ( typeof data !== \\\"string\\\" ) {\\n\\t\\treturn [];\\n\\t}\\n\\tif ( typeof context === \\\"boolean\\\" ) {\\n\\t\\tkeepScripts = context;\\n\\t\\tcontext = false;\\n\\t}\\n\\n\\tvar base, parsed, scripts;\\n\\n\\tif ( !context ) {\\n\\n\\t\\t// Stop scripts or inline event handlers from being executed immediately\\n\\t\\t// by using document.implementation\\n\\t\\tif ( support.createHTMLDocument ) {\\n\\t\\t\\tcontext = document.implementation.createHTMLDocument( \\\"\\\" );\\n\\n\\t\\t\\t// Set the base href for the created document\\n\\t\\t\\t// so any parsed elements with URLs\\n\\t\\t\\t// are based on the document's URL (gh-2965)\\n\\t\\t\\tbase = context.createElement( \\\"base\\\" );\\n\\t\\t\\tbase.href = document.location.href;\\n\\t\\t\\tcontext.head.appendChild( base );\\n\\t\\t} else {\\n\\t\\t\\tcontext = document;\\n\\t\\t}\\n\\t}\\n\\n\\tparsed = rsingleTag.exec( data );\\n\\tscripts = !keepScripts && [];\\n\\n\\t// Single tag\\n\\tif ( parsed ) {\\n\\t\\treturn [ context.createElement( parsed[ 1 ] ) ];\\n\\t}\\n\\n\\tparsed = buildFragment( [ data ], context, scripts );\\n\\n\\tif ( scripts && scripts.length ) {\\n\\t\\tjQuery( scripts ).remove();\\n\\t}\\n\\n\\treturn jQuery.merge( [], parsed.childNodes );\\n};\\n\\n\\n/**\\n * Load a url into a page\\n */\\njQuery.fn.load = function( url, params, callback ) {\\n\\tvar selector, type, response,\\n\\t\\tself = this,\\n\\t\\toff = url.indexOf( \\\" \\\" );\\n\\n\\tif ( off > -1 ) {\\n\\t\\tselector = stripAndCollapse( url.slice( off ) );\\n\\t\\turl = url.slice( 0, off );\\n\\t}\\n\\n\\t// If it's a function\\n\\tif ( isFunction( params ) ) {\\n\\n\\t\\t// We assume that it's the callback\\n\\t\\tcallback = params;\\n\\t\\tparams = undefined;\\n\\n\\t// Otherwise, build a param string\\n\\t} else if ( params && typeof params === \\\"object\\\" ) {\\n\\t\\ttype = \\\"POST\\\";\\n\\t}\\n\\n\\t// If we have elements to modify, make the request\\n\\tif ( self.length > 0 ) {\\n\\t\\tjQuery.ajax( {\\n\\t\\t\\turl: url,\\n\\n\\t\\t\\t// If \\\"type\\\" variable is undefined, then \\\"GET\\\" method will be used.\\n\\t\\t\\t// Make value of this field explicit since\\n\\t\\t\\t// user can override it through ajaxSetup method\\n\\t\\t\\ttype: type || \\\"GET\\\",\\n\\t\\t\\tdataType: \\\"html\\\",\\n\\t\\t\\tdata: params\\n\\t\\t} ).done( function( responseText ) {\\n\\n\\t\\t\\t// Save response for use in complete callback\\n\\t\\t\\tresponse = arguments;\\n\\n\\t\\t\\tself.html( selector ?\\n\\n\\t\\t\\t\\t// If a selector was specified, locate the right elements in a dummy div\\n\\t\\t\\t\\t// Exclude scripts to avoid IE 'Permission Denied' errors\\n\\t\\t\\t\\tjQuery( \\\"<div>\\\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\\n\\n\\t\\t\\t\\t// Otherwise use the full result\\n\\t\\t\\t\\tresponseText );\\n\\n\\t\\t// If the request succeeds, this function gets \\\"data\\\", \\\"status\\\", \\\"jqXHR\\\"\\n\\t\\t// but they are ignored because response was set above.\\n\\t\\t// If it fails, this function gets \\\"jqXHR\\\", \\\"status\\\", \\\"error\\\"\\n\\t\\t} ).always( callback && function( jqXHR, status ) {\\n\\t\\t\\tself.each( function() {\\n\\t\\t\\t\\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\\n\\t\\t\\t} );\\n\\t\\t} );\\n\\t}\\n\\n\\treturn this;\\n};\\n\\n\\n\\n\\njQuery.expr.pseudos.animated = function( elem ) {\\n\\treturn jQuery.grep( jQuery.timers, function( fn ) {\\n\\t\\treturn elem === fn.elem;\\n\\t} ).length;\\n};\\n\\n\\n\\n\\njQuery.offset = {\\n\\tsetOffset: function( elem, options, i ) {\\n\\t\\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\\n\\t\\t\\tposition = jQuery.css( elem, \\\"position\\\" ),\\n\\t\\t\\tcurElem = jQuery( elem ),\\n\\t\\t\\tprops = {};\\n\\n\\t\\t// Set position first, in-case top/left are set even on static elem\\n\\t\\tif ( position === \\\"static\\\" ) {\\n\\t\\t\\telem.style.position = \\\"relative\\\";\\n\\t\\t}\\n\\n\\t\\tcurOffset = curElem.offset();\\n\\t\\tcurCSSTop = jQuery.css( elem, \\\"top\\\" );\\n\\t\\tcurCSSLeft = jQuery.css( elem, \\\"left\\\" );\\n\\t\\tcalculatePosition = ( position === \\\"absolute\\\" || position === \\\"fixed\\\" ) &&\\n\\t\\t\\t( curCSSTop + curCSSLeft ).indexOf( \\\"auto\\\" ) > -1;\\n\\n\\t\\t// Need to be able to calculate position if either\\n\\t\\t// top or left is auto and position is either absolute or fixed\\n\\t\\tif ( calculatePosition ) {\\n\\t\\t\\tcurPosition = curElem.position();\\n\\t\\t\\tcurTop = curPosition.top;\\n\\t\\t\\tcurLeft = curPosition.left;\\n\\n\\t\\t} else {\\n\\t\\t\\tcurTop = parseFloat( curCSSTop ) || 0;\\n\\t\\t\\tcurLeft = parseFloat( curCSSLeft ) || 0;\\n\\t\\t}\\n\\n\\t\\tif ( isFunction( options ) ) {\\n\\n\\t\\t\\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\\n\\t\\t\\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\\n\\t\\t}\\n\\n\\t\\tif ( options.top != null ) {\\n\\t\\t\\tprops.top = ( options.top - curOffset.top ) + curTop;\\n\\t\\t}\\n\\t\\tif ( options.left != null ) {\\n\\t\\t\\tprops.left = ( options.left - curOffset.left ) + curLeft;\\n\\t\\t}\\n\\n\\t\\tif ( \\\"using\\\" in options ) {\\n\\t\\t\\toptions.using.call( elem, props );\\n\\n\\t\\t} else {\\n\\t\\t\\tif ( typeof props.top === \\\"number\\\" ) {\\n\\t\\t\\t\\tprops.top += \\\"px\\\";\\n\\t\\t\\t}\\n\\t\\t\\tif ( typeof props.left === \\\"number\\\" ) {\\n\\t\\t\\t\\tprops.left += \\\"px\\\";\\n\\t\\t\\t}\\n\\t\\t\\tcurElem.css( props );\\n\\t\\t}\\n\\t}\\n};\\n\\njQuery.fn.extend( {\\n\\n\\t// offset() relates an element's border box to the document origin\\n\\toffset: function( options ) {\\n\\n\\t\\t// Preserve chaining for setter\\n\\t\\tif ( arguments.length ) {\\n\\t\\t\\treturn options === undefined ?\\n\\t\\t\\t\\tthis :\\n\\t\\t\\t\\tthis.each( function( i ) {\\n\\t\\t\\t\\t\\tjQuery.offset.setOffset( this, options, i );\\n\\t\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\tvar rect, win,\\n\\t\\t\\telem = this[ 0 ];\\n\\n\\t\\tif ( !elem ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\\n\\t\\t// Support: IE <=11 only\\n\\t\\t// Running getBoundingClientRect on a\\n\\t\\t// disconnected node in IE throws an error\\n\\t\\tif ( !elem.getClientRects().length ) {\\n\\t\\t\\treturn { top: 0, left: 0 };\\n\\t\\t}\\n\\n\\t\\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\\n\\t\\trect = elem.getBoundingClientRect();\\n\\t\\twin = elem.ownerDocument.defaultView;\\n\\t\\treturn {\\n\\t\\t\\ttop: rect.top + win.pageYOffset,\\n\\t\\t\\tleft: rect.left + win.pageXOffset\\n\\t\\t};\\n\\t},\\n\\n\\t// position() relates an element's margin box to its offset parent's padding box\\n\\t// This corresponds to the behavior of CSS absolute positioning\\n\\tposition: function() {\\n\\t\\tif ( !this[ 0 ] ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tvar offsetParent, offset, doc,\\n\\t\\t\\telem = this[ 0 ],\\n\\t\\t\\tparentOffset = { top: 0, left: 0 };\\n\\n\\t\\t// position:fixed elements are offset from the viewport, which itself always has zero offset\\n\\t\\tif ( jQuery.css( elem, \\\"position\\\" ) === \\\"fixed\\\" ) {\\n\\n\\t\\t\\t// Assume position:fixed implies availability of getBoundingClientRect\\n\\t\\t\\toffset = elem.getBoundingClientRect();\\n\\n\\t\\t} else {\\n\\t\\t\\toffset = this.offset();\\n\\n\\t\\t\\t// Account for the *real* offset parent, which can be the document or its root element\\n\\t\\t\\t// when a statically positioned element is identified\\n\\t\\t\\tdoc = elem.ownerDocument;\\n\\t\\t\\toffsetParent = elem.offsetParent || doc.documentElement;\\n\\t\\t\\twhile ( offsetParent &&\\n\\t\\t\\t\\t( offsetParent === doc.body || offsetParent === doc.documentElement ) &&\\n\\t\\t\\t\\tjQuery.css( offsetParent, \\\"position\\\" ) === \\\"static\\\" ) {\\n\\n\\t\\t\\t\\toffsetParent = offsetParent.parentNode;\\n\\t\\t\\t}\\n\\t\\t\\tif ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {\\n\\n\\t\\t\\t\\t// Incorporate borders into its offset, since they are outside its content origin\\n\\t\\t\\t\\tparentOffset = jQuery( offsetParent ).offset();\\n\\t\\t\\t\\tparentOffset.top += jQuery.css( offsetParent, \\\"borderTopWidth\\\", true );\\n\\t\\t\\t\\tparentOffset.left += jQuery.css( offsetParent, \\\"borderLeftWidth\\\", true );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Subtract parent offsets and element margins\\n\\t\\treturn {\\n\\t\\t\\ttop: offset.top - parentOffset.top - jQuery.css( elem, \\\"marginTop\\\", true ),\\n\\t\\t\\tleft: offset.left - parentOffset.left - jQuery.css( elem, \\\"marginLeft\\\", true )\\n\\t\\t};\\n\\t},\\n\\n\\t// This method will return documentElement in the following cases:\\n\\t// 1) For the element inside the iframe without offsetParent, this method will return\\n\\t//    documentElement of the parent window\\n\\t// 2) For the hidden or detached element\\n\\t// 3) For body or html element, i.e. in case of the html node - it will return itself\\n\\t//\\n\\t// but those exceptions were never presented as a real life use-cases\\n\\t// and might be considered as more preferable results.\\n\\t//\\n\\t// This logic, however, is not guaranteed and can change at any point in the future\\n\\toffsetParent: function() {\\n\\t\\treturn this.map( function() {\\n\\t\\t\\tvar offsetParent = this.offsetParent;\\n\\n\\t\\t\\twhile ( offsetParent && jQuery.css( offsetParent, \\\"position\\\" ) === \\\"static\\\" ) {\\n\\t\\t\\t\\toffsetParent = offsetParent.offsetParent;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn offsetParent || documentElement;\\n\\t\\t} );\\n\\t}\\n} );\\n\\n// Create scrollLeft and scrollTop methods\\njQuery.each( { scrollLeft: \\\"pageXOffset\\\", scrollTop: \\\"pageYOffset\\\" }, function( method, prop ) {\\n\\tvar top = \\\"pageYOffset\\\" === prop;\\n\\n\\tjQuery.fn[ method ] = function( val ) {\\n\\t\\treturn access( this, function( elem, method, val ) {\\n\\n\\t\\t\\t// Coalesce documents and windows\\n\\t\\t\\tvar win;\\n\\t\\t\\tif ( isWindow( elem ) ) {\\n\\t\\t\\t\\twin = elem;\\n\\t\\t\\t} else if ( elem.nodeType === 9 ) {\\n\\t\\t\\t\\twin = elem.defaultView;\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( val === undefined ) {\\n\\t\\t\\t\\treturn win ? win[ prop ] : elem[ method ];\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( win ) {\\n\\t\\t\\t\\twin.scrollTo(\\n\\t\\t\\t\\t\\t!top ? val : win.pageXOffset,\\n\\t\\t\\t\\t\\ttop ? val : win.pageYOffset\\n\\t\\t\\t\\t);\\n\\n\\t\\t\\t} else {\\n\\t\\t\\t\\telem[ method ] = val;\\n\\t\\t\\t}\\n\\t\\t}, method, val, arguments.length );\\n\\t};\\n} );\\n\\n// Support: Safari <=7 - 9.1, Chrome <=37 - 49\\n// Add the top/left cssHooks using jQuery.fn.position\\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\\n// getComputedStyle returns percent when specified for top/left/bottom/right;\\n// rather than make the css module depend on the offset module, just check for it here\\njQuery.each( [ \\\"top\\\", \\\"left\\\" ], function( _i, prop ) {\\n\\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\\n\\t\\tfunction( elem, computed ) {\\n\\t\\t\\tif ( computed ) {\\n\\t\\t\\t\\tcomputed = curCSS( elem, prop );\\n\\n\\t\\t\\t\\t// If curCSS returns percentage, fallback to offset\\n\\t\\t\\t\\treturn rnumnonpx.test( computed ) ?\\n\\t\\t\\t\\t\\tjQuery( elem ).position()[ prop ] + \\\"px\\\" :\\n\\t\\t\\t\\t\\tcomputed;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t);\\n} );\\n\\n\\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\\njQuery.each( { Height: \\\"height\\\", Width: \\\"width\\\" }, function( name, type ) {\\n\\tjQuery.each( { padding: \\\"inner\\\" + name, content: type, \\\"\\\": \\\"outer\\\" + name },\\n\\t\\tfunction( defaultExtra, funcName ) {\\n\\n\\t\\t// Margin is only for outerHeight, outerWidth\\n\\t\\tjQuery.fn[ funcName ] = function( margin, value ) {\\n\\t\\t\\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \\\"boolean\\\" ),\\n\\t\\t\\t\\textra = defaultExtra || ( margin === true || value === true ? \\\"margin\\\" : \\\"border\\\" );\\n\\n\\t\\t\\treturn access( this, function( elem, type, value ) {\\n\\t\\t\\t\\tvar doc;\\n\\n\\t\\t\\t\\tif ( isWindow( elem ) ) {\\n\\n\\t\\t\\t\\t\\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\\n\\t\\t\\t\\t\\treturn funcName.indexOf( \\\"outer\\\" ) === 0 ?\\n\\t\\t\\t\\t\\t\\telem[ \\\"inner\\\" + name ] :\\n\\t\\t\\t\\t\\t\\telem.document.documentElement[ \\\"client\\\" + name ];\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Get document width or height\\n\\t\\t\\t\\tif ( elem.nodeType === 9 ) {\\n\\t\\t\\t\\t\\tdoc = elem.documentElement;\\n\\n\\t\\t\\t\\t\\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\\n\\t\\t\\t\\t\\t// whichever is greatest\\n\\t\\t\\t\\t\\treturn Math.max(\\n\\t\\t\\t\\t\\t\\telem.body[ \\\"scroll\\\" + name ], doc[ \\\"scroll\\\" + name ],\\n\\t\\t\\t\\t\\t\\telem.body[ \\\"offset\\\" + name ], doc[ \\\"offset\\\" + name ],\\n\\t\\t\\t\\t\\t\\tdoc[ \\\"client\\\" + name ]\\n\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn value === undefined ?\\n\\n\\t\\t\\t\\t\\t// Get width or height on the element, requesting but not forcing parseFloat\\n\\t\\t\\t\\t\\tjQuery.css( elem, type, extra ) :\\n\\n\\t\\t\\t\\t\\t// Set width or height on the element\\n\\t\\t\\t\\t\\tjQuery.style( elem, type, value, extra );\\n\\t\\t\\t}, type, chainable ? margin : undefined, chainable );\\n\\t\\t};\\n\\t} );\\n} );\\n\\n\\njQuery.each( [\\n\\t\\\"ajaxStart\\\",\\n\\t\\\"ajaxStop\\\",\\n\\t\\\"ajaxComplete\\\",\\n\\t\\\"ajaxError\\\",\\n\\t\\\"ajaxSuccess\\\",\\n\\t\\\"ajaxSend\\\"\\n], function( _i, type ) {\\n\\tjQuery.fn[ type ] = function( fn ) {\\n\\t\\treturn this.on( type, fn );\\n\\t};\\n} );\\n\\n\\n\\n\\njQuery.fn.extend( {\\n\\n\\tbind: function( types, data, fn ) {\\n\\t\\treturn this.on( types, null, data, fn );\\n\\t},\\n\\tunbind: function( types, fn ) {\\n\\t\\treturn this.off( types, null, fn );\\n\\t},\\n\\n\\tdelegate: function( selector, types, data, fn ) {\\n\\t\\treturn this.on( types, selector, data, fn );\\n\\t},\\n\\tundelegate: function( selector, types, fn ) {\\n\\n\\t\\t// ( namespace ) or ( selector, types [, fn] )\\n\\t\\treturn arguments.length === 1 ?\\n\\t\\t\\tthis.off( selector, \\\"**\\\" ) :\\n\\t\\t\\tthis.off( types, selector || \\\"**\\\", fn );\\n\\t},\\n\\n\\thover: function( fnOver, fnOut ) {\\n\\t\\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\\n\\t}\\n} );\\n\\njQuery.each( ( \\\"blur focus focusin focusout resize scroll click dblclick \\\" +\\n\\t\\\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \\\" +\\n\\t\\\"change select submit keydown keypress keyup contextmenu\\\" ).split( \\\" \\\" ),\\n\\tfunction( _i, name ) {\\n\\n\\t\\t// Handle event binding\\n\\t\\tjQuery.fn[ name ] = function( data, fn ) {\\n\\t\\t\\treturn arguments.length > 0 ?\\n\\t\\t\\t\\tthis.on( name, null, data, fn ) :\\n\\t\\t\\t\\tthis.trigger( name );\\n\\t\\t};\\n\\t} );\\n\\n\\n\\n\\n// Support: Android <=4.0 only\\n// Make sure we trim BOM and NBSP\\nvar rtrim = /^[\\\\s\\\\uFEFF\\\\xA0]+|[\\\\s\\\\uFEFF\\\\xA0]+$/g;\\n\\n// Bind a function to a context, optionally partially applying any\\n// arguments.\\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\\n// However, it is not slated for removal any time soon\\njQuery.proxy = function( fn, context ) {\\n\\tvar tmp, args, proxy;\\n\\n\\tif ( typeof context === \\\"string\\\" ) {\\n\\t\\ttmp = fn[ context ];\\n\\t\\tcontext = fn;\\n\\t\\tfn = tmp;\\n\\t}\\n\\n\\t// Quick check to determine if target is callable, in the spec\\n\\t// this throws a TypeError, but we will just return undefined.\\n\\tif ( !isFunction( fn ) ) {\\n\\t\\treturn undefined;\\n\\t}\\n\\n\\t// Simulated bind\\n\\targs = slice.call( arguments, 2 );\\n\\tproxy = function() {\\n\\t\\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\\n\\t};\\n\\n\\t// Set the guid of unique handler to the same of original handler, so it can be removed\\n\\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\\n\\n\\treturn proxy;\\n};\\n\\njQuery.holdReady = function( hold ) {\\n\\tif ( hold ) {\\n\\t\\tjQuery.readyWait++;\\n\\t} else {\\n\\t\\tjQuery.ready( true );\\n\\t}\\n};\\njQuery.isArray = Array.isArray;\\njQuery.parseJSON = JSON.parse;\\njQuery.nodeName = nodeName;\\njQuery.isFunction = isFunction;\\njQuery.isWindow = isWindow;\\njQuery.camelCase = camelCase;\\njQuery.type = toType;\\n\\njQuery.now = Date.now;\\n\\njQuery.isNumeric = function( obj ) {\\n\\n\\t// As of jQuery 3.0, isNumeric is limited to\\n\\t// strings and numbers (primitives or objects)\\n\\t// that can be coerced to finite numbers (gh-2662)\\n\\tvar type = jQuery.type( obj );\\n\\treturn ( type === \\\"number\\\" || type === \\\"string\\\" ) &&\\n\\n\\t\\t// parseFloat NaNs numeric-cast false positives (\\\"\\\")\\n\\t\\t// ...but misinterprets leading-number strings, particularly hex literals (\\\"0x...\\\")\\n\\t\\t// subtraction forces infinities to NaN\\n\\t\\t!isNaN( obj - parseFloat( obj ) );\\n};\\n\\njQuery.trim = function( text ) {\\n\\treturn text == null ?\\n\\t\\t\\\"\\\" :\\n\\t\\t( text + \\\"\\\" ).replace( rtrim, \\\"\\\" );\\n};\\n\\n\\n\\n// Register as a named AMD module, since jQuery can be concatenated with other\\n// files that may use define, but not via a proper concatenation script that\\n// understands anonymous AMD modules. A named AMD is safest and most robust\\n// way to register. Lowercase jquery is used because AMD module names are\\n// derived from file names, and jQuery is normally delivered in a lowercase\\n// file name. Do this after creating the global so that if an AMD module wants\\n// to call noConflict to hide this version of jQuery, it will work.\\n\\n// Note that for maximum portability, libraries that are not jQuery should\\n// declare themselves as anonymous modules, and avoid setting a global if an\\n// AMD loader is present. jQuery is a special case. For more information, see\\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\\n\\nif ( true ) {\\n\\t!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function() {\\n\\t\\treturn jQuery;\\n\\t}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\\n}\\n\\n\\n\\n\\nvar\\n\\n\\t// Map over jQuery in case of overwrite\\n\\t_jQuery = window.jQuery,\\n\\n\\t// Map over the $ in case of overwrite\\n\\t_$ = window.$;\\n\\njQuery.noConflict = function( deep ) {\\n\\tif ( window.$ === jQuery ) {\\n\\t\\twindow.$ = _$;\\n\\t}\\n\\n\\tif ( deep && window.jQuery === jQuery ) {\\n\\t\\twindow.jQuery = _jQuery;\\n\\t}\\n\\n\\treturn jQuery;\\n};\\n\\n// Expose jQuery and $ identifiers, even in AMD\\n// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)\\n// and CommonJS for browser emulators (#13566)\\nif ( typeof noGlobal === \\\"undefined\\\" ) {\\n\\twindow.jQuery = window.$ = jQuery;\\n}\\n\\n\\n\\n\\nreturn jQuery;\\n} );\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvanF1ZXJ5L2Rpc3QvanF1ZXJ5LmpzPzExNTciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxNQUFNLEtBQTBCOztBQUVoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7OztBQUdBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOzs7QUFHQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7OztBQUlBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQVEsWUFBWTs7QUFFcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGLG9CQUFvQjs7QUFFcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUYsNkNBQTZDO0FBQzdDO0FBQ0E7QUFDQSxrQkFBa0Isa0NBQWtDO0FBQ3BELEVBQUU7O0FBRUY7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSxZQUFZO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLFNBQVM7QUFDbEI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTLFlBQVk7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLFlBQVk7QUFDdEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxTQUFTO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtDQUFrQyxJQUFJO0FBQ3RDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLDBCQUEwQjtBQUMxQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQSxnQkFBZ0IsSUFBSTs7QUFFcEI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsMENBQTBDLElBQUk7QUFDOUM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0QsU0FBUzs7QUFFVDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYSx5QkFBeUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFNBQVM7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsU0FBUztBQUNwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFFBQVEsNkJBQTZCO0FBQ2hEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxTQUFTO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0IsYUFBYSx1QkFBdUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVyxlQUFlO0FBQzFCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLGVBQWU7QUFDMUIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQjtBQUNsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0I7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLGNBQWM7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQSxnQ0FBZ0MsTUFBTTtBQUN0QztBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUEsZUFBZTs7QUFFZixTQUFTOztBQUVUO0FBQ0EsUUFBUSxpQ0FBaUM7QUFDekMsUUFBUSxvQkFBb0I7QUFDNUIsUUFBUSxzQ0FBc0M7QUFDOUMsUUFBUTtBQUNSLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEM7O0FBRTFDO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU87O0FBRVA7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOERBQThEOztBQUU5RDtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7O0FBRTlDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBLGlFQUFpRSxVQUFVO0FBQzNFLHNDQUFzQywyQkFBMkI7QUFDakU7QUFDQSxnQ0FBZ0MsTUFBTTtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLFVBQVUsWUFBWTtBQUN0QjtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxVQUFVLFlBQVk7QUFDdEI7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLFVBQVU7QUFDcEI7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0EsVUFBVSxjQUFjO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOztBQUVBO0FBQ0EsWUFBWSx1RUFBdUU7QUFDbkY7QUFDQTtBQUNBLFlBQVksNEJBQTRCO0FBQ3hDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsU0FBUztBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSw0REFBNEQ7O0FBRTVEO0FBQ0E7QUFDQTtBQUNBLHlDQUF5Qzs7QUFFekM7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBOztBQUVBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsU0FBUztBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsUUFBUSxTQUFTO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILFFBQVEsU0FBUztBQUNqQjtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsaURBQWlEO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRCxVQUFVLDRDQUE0QztBQUN0RDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZ0JBQWdCO0FBQzNCO0FBQ0EsV0FBVyxRQUFRO0FBQ25CLFdBQVcsTUFBTTtBQUNqQixXQUFXLE1BQU07QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7O0FBRUEsQ0FBQzs7OztBQUlEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBLFFBQVEsR0FBRztBQUNYO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBOzs7O0FBSUE7O0FBRUE7O0FBRUE7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdCQUFnQixTQUFTO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBOztBQUVBLGNBQWMsU0FBUztBQUN2QjtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7OztBQUdEOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFVBQVUsT0FBTztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsVUFBVSxPQUFPO0FBQ2pCLDBCQUEwQix3QkFBd0I7O0FBRWxEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLDBDQUEwQztBQUMxQyxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7QUFDRDs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGNBQWM7QUFDeEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFROztBQUVSO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSx3Q0FBd0Msc0NBQXNDO0FBQzlFLG9DQUFvQyx1Q0FBdUM7QUFDM0Usb0NBQW9DLHNDQUFzQztBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSLE9BQU87QUFDUDtBQUNBLE1BQU07QUFDTixLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVzs7QUFFWDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVOztBQUVWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTs7QUFFUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTixLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsTUFBTTs7QUFFTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DO0FBQ3BDLHFDQUFxQztBQUNyQyxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7Ozs7QUFLQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxVQUFVLFNBQVM7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtCQUErQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVCQUF1QixhQUFhO0FBQ3BDLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0JBQW9CLFNBQVM7QUFDN0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7OztBQUdBOztBQUVBOzs7O0FBSUE7QUFDQTtBQUNBLEdBQUc7QUFDSCxjQUFjOztBQUVkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7OztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRLGdCQUFnQjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUIsZ0JBQWdCO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7O0FBRUE7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7OztBQUdEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxFQUFFO0FBQ0Y7O0FBRUEsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFFBQVEsT0FBTztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxzQkFBc0I7O0FBRXRCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLE9BQU87QUFDZjs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxnQkFBZ0I7QUFDbEI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFdBQVc7O0FBRVg7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsRUFBRTs7QUFFRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwyQ0FBMkM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsY0FBYyxzQkFBc0I7QUFDcEM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsK0RBQStEO0FBQy9EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSxjQUFjOztBQUV4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLG1CQUFtQjtBQUNwQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLHVDQUF1QztBQUNqRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsdURBQXVEO0FBQzlFOztBQUVBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLCtDQUErQztBQUNwRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUMsY0FBYztBQUNuRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQsY0FBYyxxQ0FBcUM7QUFDbkQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsQ0FBQzs7O0FBR0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsMkNBQTJDLE9BQU87QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7O0FBRTlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsT0FBTztBQUNqQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQixnQkFBZ0I7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLCtCQUErQjtBQUN2QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUNBQXVDLE9BQU87QUFDOUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0NBQXdDLE9BQU87QUFDL0M7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLHFDQUFxQztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBLFNBQVMsOEJBQThCO0FBQ3ZDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxZQUFZLE9BQU87QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFOztBQUVGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTLFdBQVc7QUFDcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQztBQUNEOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBOzs7O0FBSUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtDQUErQyxjQUFjLFdBQVc7QUFDeEUsbUJBQW1CLFVBQVU7QUFDN0I7QUFDQSxzQkFBc0IsY0FBYyxzQkFBc0IsZ0JBQWdCO0FBQzFFLGdCQUFnQixXQUFXLFlBQVk7QUFDdkMsY0FBYztBQUNkOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0YsQ0FBQzs7O0FBR0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLCtEQUErRDtBQUMzRTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLE9BQU87O0FBRWY7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQSxhQUFhOztBQUViO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLGdCQUFnQjtBQUNsQztBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjs7QUFFakI7QUFDQTs7QUFFQSxVQUFVLE9BQU87QUFDakI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxXQUFXLFNBQVM7QUFDcEI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7OztBQUdEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVzs7QUFFWDtBQUNBO0FBQ0E7QUFDQSxRQUFRLE9BQU87QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsZ0JBQWdCO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixpREFBaUQsMEJBQTBCO0FBQzNFOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsVUFBVSxnQkFBZ0I7QUFDMUI7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0I7QUFDQTs7QUFFQSw2Q0FBNkM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOztBQUVBLFFBQVEsZ0JBQWdCO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsU0FBUyxnQkFBZ0I7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0EsaUVBQWlFO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7O0FBRUEsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsY0FBYztBQUNsQyxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpREFBaUQ7O0FBRWpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCLFNBQVM7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0JBQStCLFNBQVM7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQixnQkFBZ0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLGtCQUFrQjtBQUM1QixXQUFXLGtCQUFrQjtBQUM3QixjQUFjO0FBQ2QsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxRQUFRLG1CQUFtQjtBQUMzQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7OztBQUtEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7OztBQUtEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFOztBQUVGO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7QUFLRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBLGlDQUFpQztBQUNqQztBQUNBOztBQUVBLElBQUk7QUFDSjs7QUFFQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLFNBQVM7QUFDcEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7Ozs7O0FBS0Q7OztBQUdBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBOztBQUVBOztBQUVBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJDQUEyQztBQUMzQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsS0FBSztBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxDQUFDOztBQUVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7O0FBR0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxxQ0FBcUM7O0FBRXBEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQSxhQUFhOztBQUViOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUgsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSCxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGFBQWE7QUFDYixLQUFLO0FBQ0w7O0FBRUEsV0FBVztBQUNYLEdBQUc7QUFDSDtBQUNBLENBQUM7OztBQUdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCOztBQUVoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCOztBQUVoQixnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjs7QUFFakI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsSUFBSTs7QUFFSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTO0FBQ1Q7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQixTQUFTOztBQUVUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjs7QUFFM0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQSxzQkFBc0I7QUFDdEIsMkJBQTJCOztBQUUzQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNEQUFzRDtBQUN0RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJO0FBQ0o7O0FBRUE7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLElBQUk7QUFDSjtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFFBQVE7O0FBRVI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQSxtREFBbUQ7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHVCQUF1QjtBQUNsQyxXQUFXLHlCQUF5QjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7QUFLRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjtBQUMvQixhQUFhLHVDQUF1QztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7OztBQUtEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7QUFLRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLElBQUk7QUFDSixHQUFHO0FBQ0g7O0FBRUE7QUFDQTs7Ozs7QUFLQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7Ozs7O0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxxREFBcUQ7QUFDckQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBLGNBQWMsc0RBQXNEO0FBQ3BFOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7OztBQUdEO0FBQ0EsY0FBYyxtQ0FBbUM7QUFDakQsZUFBZSw2REFBNkQ7QUFDNUU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLEVBQUU7QUFDRixDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7QUFLRDs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOztBQUVGO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTs7Ozs7QUFLRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7QUFJQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxLQUFLLElBQTBDO0FBQy9DLENBQUMsaUNBQWtCLEVBQUUsbUNBQUU7QUFDdkI7QUFDQSxFQUFFO0FBQUEsb0dBQUU7QUFDSjs7Ozs7QUFLQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7OztBQUtBO0FBQ0EsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9qcXVlcnkvZGlzdC9qcXVlcnkuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIGpRdWVyeSBKYXZhU2NyaXB0IExpYnJhcnkgdjMuNS4wXG4gKiBodHRwczovL2pxdWVyeS5jb20vXG4gKlxuICogSW5jbHVkZXMgU2l6emxlLmpzXG4gKiBodHRwczovL3NpenpsZWpzLmNvbS9cbiAqXG4gKiBDb3B5cmlnaHQgSlMgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2VcbiAqIGh0dHBzOi8vanF1ZXJ5Lm9yZy9saWNlbnNlXG4gKlxuICogRGF0ZTogMjAyMC0wNC0xMFQxNTowN1pcbiAqL1xuKCBmdW5jdGlvbiggZ2xvYmFsLCBmYWN0b3J5ICkge1xuXG5cdFwidXNlIHN0cmljdFwiO1xuXG5cdGlmICggdHlwZW9mIG1vZHVsZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlLmV4cG9ydHMgPT09IFwib2JqZWN0XCIgKSB7XG5cblx0XHQvLyBGb3IgQ29tbW9uSlMgYW5kIENvbW1vbkpTLWxpa2UgZW52aXJvbm1lbnRzIHdoZXJlIGEgcHJvcGVyIGB3aW5kb3dgXG5cdFx0Ly8gaXMgcHJlc2VudCwgZXhlY3V0ZSB0aGUgZmFjdG9yeSBhbmQgZ2V0IGpRdWVyeS5cblx0XHQvLyBGb3IgZW52aXJvbm1lbnRzIHRoYXQgZG8gbm90IGhhdmUgYSBgd2luZG93YCB3aXRoIGEgYGRvY3VtZW50YFxuXHRcdC8vIChzdWNoIGFzIE5vZGUuanMpLCBleHBvc2UgYSBmYWN0b3J5IGFzIG1vZHVsZS5leHBvcnRzLlxuXHRcdC8vIFRoaXMgYWNjZW50dWF0ZXMgdGhlIG5lZWQgZm9yIHRoZSBjcmVhdGlvbiBvZiBhIHJlYWwgYHdpbmRvd2AuXG5cdFx0Ly8gZS5nLiB2YXIgalF1ZXJ5ID0gcmVxdWlyZShcImpxdWVyeVwiKSh3aW5kb3cpO1xuXHRcdC8vIFNlZSB0aWNrZXQgIzE0NTQ5IGZvciBtb3JlIGluZm8uXG5cdFx0bW9kdWxlLmV4cG9ydHMgPSBnbG9iYWwuZG9jdW1lbnQgP1xuXHRcdFx0ZmFjdG9yeSggZ2xvYmFsLCB0cnVlICkgOlxuXHRcdFx0ZnVuY3Rpb24oIHcgKSB7XG5cdFx0XHRcdGlmICggIXcuZG9jdW1lbnQgKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCBcImpRdWVyeSByZXF1aXJlcyBhIHdpbmRvdyB3aXRoIGEgZG9jdW1lbnRcIiApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmYWN0b3J5KCB3ICk7XG5cdFx0XHR9O1xuXHR9IGVsc2Uge1xuXHRcdGZhY3RvcnkoIGdsb2JhbCApO1xuXHR9XG5cbi8vIFBhc3MgdGhpcyBpZiB3aW5kb3cgaXMgbm90IGRlZmluZWQgeWV0XG59ICkoIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyB3aW5kb3cgOiB0aGlzLCBmdW5jdGlvbiggd2luZG93LCBub0dsb2JhbCApIHtcblxuLy8gRWRnZSA8PSAxMiAtIDEzKywgRmlyZWZveCA8PTE4IC0gNDUrLCBJRSAxMCAtIDExLCBTYWZhcmkgNS4xIC0gOSssIGlPUyA2IC0gOS4xXG4vLyB0aHJvdyBleGNlcHRpb25zIHdoZW4gbm9uLXN0cmljdCBjb2RlIChlLmcuLCBBU1AuTkVUIDQuNSkgYWNjZXNzZXMgc3RyaWN0IG1vZGVcbi8vIGFyZ3VtZW50cy5jYWxsZWUuY2FsbGVyICh0cmFjLTEzMzM1KS4gQnV0IGFzIG9mIGpRdWVyeSAzLjAgKDIwMTYpLCBzdHJpY3QgbW9kZSBzaG91bGQgYmUgY29tbW9uXG4vLyBlbm91Z2ggdGhhdCBhbGwgc3VjaCBhdHRlbXB0cyBhcmUgZ3VhcmRlZCBpbiBhIHRyeSBibG9jay5cblwidXNlIHN0cmljdFwiO1xuXG52YXIgYXJyID0gW107XG5cbnZhciBnZXRQcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcblxudmFyIHNsaWNlID0gYXJyLnNsaWNlO1xuXG52YXIgZmxhdCA9IGFyci5mbGF0ID8gZnVuY3Rpb24oIGFycmF5ICkge1xuXHRyZXR1cm4gYXJyLmZsYXQuY2FsbCggYXJyYXkgKTtcbn0gOiBmdW5jdGlvbiggYXJyYXkgKSB7XG5cdHJldHVybiBhcnIuY29uY2F0LmFwcGx5KCBbXSwgYXJyYXkgKTtcbn07XG5cblxudmFyIHB1c2ggPSBhcnIucHVzaDtcblxudmFyIGluZGV4T2YgPSBhcnIuaW5kZXhPZjtcblxudmFyIGNsYXNzMnR5cGUgPSB7fTtcblxudmFyIHRvU3RyaW5nID0gY2xhc3MydHlwZS50b1N0cmluZztcblxudmFyIGhhc093biA9IGNsYXNzMnR5cGUuaGFzT3duUHJvcGVydHk7XG5cbnZhciBmblRvU3RyaW5nID0gaGFzT3duLnRvU3RyaW5nO1xuXG52YXIgT2JqZWN0RnVuY3Rpb25TdHJpbmcgPSBmblRvU3RyaW5nLmNhbGwoIE9iamVjdCApO1xuXG52YXIgc3VwcG9ydCA9IHt9O1xuXG52YXIgaXNGdW5jdGlvbiA9IGZ1bmN0aW9uIGlzRnVuY3Rpb24oIG9iaiApIHtcblxuICAgICAgLy8gU3VwcG9ydDogQ2hyb21lIDw9NTcsIEZpcmVmb3ggPD01MlxuICAgICAgLy8gSW4gc29tZSBicm93c2VycywgdHlwZW9mIHJldHVybnMgXCJmdW5jdGlvblwiIGZvciBIVE1MIDxvYmplY3Q+IGVsZW1lbnRzXG4gICAgICAvLyAoaS5lLiwgYHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcIm9iamVjdFwiICkgPT09IFwiZnVuY3Rpb25cImApLlxuICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0byBjbGFzc2lmeSAqYW55KiBET00gbm9kZSBhcyBhIGZ1bmN0aW9uLlxuICAgICAgcmV0dXJuIHR5cGVvZiBvYmogPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2Ygb2JqLm5vZGVUeXBlICE9PSBcIm51bWJlclwiO1xuICB9O1xuXG5cbnZhciBpc1dpbmRvdyA9IGZ1bmN0aW9uIGlzV2luZG93KCBvYmogKSB7XG5cdFx0cmV0dXJuIG9iaiAhPSBudWxsICYmIG9iaiA9PT0gb2JqLndpbmRvdztcblx0fTtcblxuXG52YXIgZG9jdW1lbnQgPSB3aW5kb3cuZG9jdW1lbnQ7XG5cblxuXG5cdHZhciBwcmVzZXJ2ZWRTY3JpcHRBdHRyaWJ1dGVzID0ge1xuXHRcdHR5cGU6IHRydWUsXG5cdFx0c3JjOiB0cnVlLFxuXHRcdG5vbmNlOiB0cnVlLFxuXHRcdG5vTW9kdWxlOiB0cnVlXG5cdH07XG5cblx0ZnVuY3Rpb24gRE9NRXZhbCggY29kZSwgbm9kZSwgZG9jICkge1xuXHRcdGRvYyA9IGRvYyB8fCBkb2N1bWVudDtcblxuXHRcdHZhciBpLCB2YWwsXG5cdFx0XHRzY3JpcHQgPSBkb2MuY3JlYXRlRWxlbWVudCggXCJzY3JpcHRcIiApO1xuXG5cdFx0c2NyaXB0LnRleHQgPSBjb2RlO1xuXHRcdGlmICggbm9kZSApIHtcblx0XHRcdGZvciAoIGkgaW4gcHJlc2VydmVkU2NyaXB0QXR0cmlidXRlcyApIHtcblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBGaXJlZm94IDY0KywgRWRnZSAxOCtcblx0XHRcdFx0Ly8gU29tZSBicm93c2VycyBkb24ndCBzdXBwb3J0IHRoZSBcIm5vbmNlXCIgcHJvcGVydHkgb24gc2NyaXB0cy5cblx0XHRcdFx0Ly8gT24gdGhlIG90aGVyIGhhbmQsIGp1c3QgdXNpbmcgYGdldEF0dHJpYnV0ZWAgaXMgbm90IGVub3VnaCBhc1xuXHRcdFx0XHQvLyB0aGUgYG5vbmNlYCBhdHRyaWJ1dGUgaXMgcmVzZXQgdG8gYW4gZW1wdHkgc3RyaW5nIHdoZW5ldmVyIGl0XG5cdFx0XHRcdC8vIGJlY29tZXMgYnJvd3NpbmctY29udGV4dCBjb25uZWN0ZWQuXG5cdFx0XHRcdC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL2h0bWwvaXNzdWVzLzIzNjlcblx0XHRcdFx0Ly8gU2VlIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI25vbmNlLWF0dHJpYnV0ZXNcblx0XHRcdFx0Ly8gVGhlIGBub2RlLmdldEF0dHJpYnV0ZWAgY2hlY2sgd2FzIGFkZGVkIGZvciB0aGUgc2FrZSBvZlxuXHRcdFx0XHQvLyBgalF1ZXJ5Lmdsb2JhbEV2YWxgIHNvIHRoYXQgaXQgY2FuIGZha2UgYSBub25jZS1jb250YWluaW5nIG5vZGVcblx0XHRcdFx0Ly8gdmlhIGFuIG9iamVjdC5cblx0XHRcdFx0dmFsID0gbm9kZVsgaSBdIHx8IG5vZGUuZ2V0QXR0cmlidXRlICYmIG5vZGUuZ2V0QXR0cmlidXRlKCBpICk7XG5cdFx0XHRcdGlmICggdmFsICkge1xuXHRcdFx0XHRcdHNjcmlwdC5zZXRBdHRyaWJ1dGUoIGksIHZhbCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGRvYy5oZWFkLmFwcGVuZENoaWxkKCBzY3JpcHQgKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCBzY3JpcHQgKTtcblx0fVxuXG5cbmZ1bmN0aW9uIHRvVHlwZSggb2JqICkge1xuXHRpZiAoIG9iaiA9PSBudWxsICkge1xuXHRcdHJldHVybiBvYmogKyBcIlwiO1xuXHR9XG5cblx0Ly8gU3VwcG9ydDogQW5kcm9pZCA8PTIuMyBvbmx5IChmdW5jdGlvbmlzaCBSZWdFeHApXG5cdHJldHVybiB0eXBlb2Ygb2JqID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBvYmogPT09IFwiZnVuY3Rpb25cIiA/XG5cdFx0Y2xhc3MydHlwZVsgdG9TdHJpbmcuY2FsbCggb2JqICkgXSB8fCBcIm9iamVjdFwiIDpcblx0XHR0eXBlb2Ygb2JqO1xufVxuLyogZ2xvYmFsIFN5bWJvbCAqL1xuLy8gRGVmaW5pbmcgdGhpcyBnbG9iYWwgaW4gLmVzbGludHJjLmpzb24gd291bGQgY3JlYXRlIGEgZGFuZ2VyIG9mIHVzaW5nIHRoZSBnbG9iYWxcbi8vIHVuZ3VhcmRlZCBpbiBhbm90aGVyIHBsYWNlLCBpdCBzZWVtcyBzYWZlciB0byBkZWZpbmUgZ2xvYmFsIG9ubHkgZm9yIHRoaXMgbW9kdWxlXG5cblxuXG52YXJcblx0dmVyc2lvbiA9IFwiMy41LjBcIixcblxuXHQvLyBEZWZpbmUgYSBsb2NhbCBjb3B5IG9mIGpRdWVyeVxuXHRqUXVlcnkgPSBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQgKSB7XG5cblx0XHQvLyBUaGUgalF1ZXJ5IG9iamVjdCBpcyBhY3R1YWxseSBqdXN0IHRoZSBpbml0IGNvbnN0cnVjdG9yICdlbmhhbmNlZCdcblx0XHQvLyBOZWVkIGluaXQgaWYgalF1ZXJ5IGlzIGNhbGxlZCAoanVzdCBhbGxvdyBlcnJvciB0byBiZSB0aHJvd24gaWYgbm90IGluY2x1ZGVkKVxuXHRcdHJldHVybiBuZXcgalF1ZXJ5LmZuLmluaXQoIHNlbGVjdG9yLCBjb250ZXh0ICk7XG5cdH07XG5cbmpRdWVyeS5mbiA9IGpRdWVyeS5wcm90b3R5cGUgPSB7XG5cblx0Ly8gVGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBqUXVlcnkgYmVpbmcgdXNlZFxuXHRqcXVlcnk6IHZlcnNpb24sXG5cblx0Y29uc3RydWN0b3I6IGpRdWVyeSxcblxuXHQvLyBUaGUgZGVmYXVsdCBsZW5ndGggb2YgYSBqUXVlcnkgb2JqZWN0IGlzIDBcblx0bGVuZ3RoOiAwLFxuXG5cdHRvQXJyYXk6IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiBzbGljZS5jYWxsKCB0aGlzICk7XG5cdH0sXG5cblx0Ly8gR2V0IHRoZSBOdGggZWxlbWVudCBpbiB0aGUgbWF0Y2hlZCBlbGVtZW50IHNldCBPUlxuXHQvLyBHZXQgdGhlIHdob2xlIG1hdGNoZWQgZWxlbWVudCBzZXQgYXMgYSBjbGVhbiBhcnJheVxuXHRnZXQ6IGZ1bmN0aW9uKCBudW0gKSB7XG5cblx0XHQvLyBSZXR1cm4gYWxsIHRoZSBlbGVtZW50cyBpbiBhIGNsZWFuIGFycmF5XG5cdFx0aWYgKCBudW0gPT0gbnVsbCApIHtcblx0XHRcdHJldHVybiBzbGljZS5jYWxsKCB0aGlzICk7XG5cdFx0fVxuXG5cdFx0Ly8gUmV0dXJuIGp1c3QgdGhlIG9uZSBlbGVtZW50IGZyb20gdGhlIHNldFxuXHRcdHJldHVybiBudW0gPCAwID8gdGhpc1sgbnVtICsgdGhpcy5sZW5ndGggXSA6IHRoaXNbIG51bSBdO1xuXHR9LFxuXG5cdC8vIFRha2UgYW4gYXJyYXkgb2YgZWxlbWVudHMgYW5kIHB1c2ggaXQgb250byB0aGUgc3RhY2tcblx0Ly8gKHJldHVybmluZyB0aGUgbmV3IG1hdGNoZWQgZWxlbWVudCBzZXQpXG5cdHB1c2hTdGFjazogZnVuY3Rpb24oIGVsZW1zICkge1xuXG5cdFx0Ly8gQnVpbGQgYSBuZXcgalF1ZXJ5IG1hdGNoZWQgZWxlbWVudCBzZXRcblx0XHR2YXIgcmV0ID0galF1ZXJ5Lm1lcmdlKCB0aGlzLmNvbnN0cnVjdG9yKCksIGVsZW1zICk7XG5cblx0XHQvLyBBZGQgdGhlIG9sZCBvYmplY3Qgb250byB0aGUgc3RhY2sgKGFzIGEgcmVmZXJlbmNlKVxuXHRcdHJldC5wcmV2T2JqZWN0ID0gdGhpcztcblxuXHRcdC8vIFJldHVybiB0aGUgbmV3bHktZm9ybWVkIGVsZW1lbnQgc2V0XG5cdFx0cmV0dXJuIHJldDtcblx0fSxcblxuXHQvLyBFeGVjdXRlIGEgY2FsbGJhY2sgZm9yIGV2ZXJ5IGVsZW1lbnQgaW4gdGhlIG1hdGNoZWQgc2V0LlxuXHRlYWNoOiBmdW5jdGlvbiggY2FsbGJhY2sgKSB7XG5cdFx0cmV0dXJuIGpRdWVyeS5lYWNoKCB0aGlzLCBjYWxsYmFjayApO1xuXHR9LFxuXG5cdG1hcDogZnVuY3Rpb24oIGNhbGxiYWNrICkge1xuXHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5Lm1hcCggdGhpcywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7XG5cdFx0XHRyZXR1cm4gY2FsbGJhY2suY2FsbCggZWxlbSwgaSwgZWxlbSApO1xuXHRcdH0gKSApO1xuXHR9LFxuXG5cdHNsaWNlOiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHNsaWNlLmFwcGx5KCB0aGlzLCBhcmd1bWVudHMgKSApO1xuXHR9LFxuXG5cdGZpcnN0OiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5lcSggMCApO1xuXHR9LFxuXG5cdGxhc3Q6IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLmVxKCAtMSApO1xuXHR9LFxuXG5cdGV2ZW46IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5LmdyZXAoIHRoaXMsIGZ1bmN0aW9uKCBfZWxlbSwgaSApIHtcblx0XHRcdHJldHVybiAoIGkgKyAxICkgJSAyO1xuXHRcdH0gKSApO1xuXHR9LFxuXG5cdG9kZDogZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHRoaXMucHVzaFN0YWNrKCBqUXVlcnkuZ3JlcCggdGhpcywgZnVuY3Rpb24oIF9lbGVtLCBpICkge1xuXHRcdFx0cmV0dXJuIGkgJSAyO1xuXHRcdH0gKSApO1xuXHR9LFxuXG5cdGVxOiBmdW5jdGlvbiggaSApIHtcblx0XHR2YXIgbGVuID0gdGhpcy5sZW5ndGgsXG5cdFx0XHRqID0gK2kgKyAoIGkgPCAwID8gbGVuIDogMCApO1xuXHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggaiA+PSAwICYmIGogPCBsZW4gPyBbIHRoaXNbIGogXSBdIDogW10gKTtcblx0fSxcblxuXHRlbmQ6IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLnByZXZPYmplY3QgfHwgdGhpcy5jb25zdHJ1Y3RvcigpO1xuXHR9LFxuXG5cdC8vIEZvciBpbnRlcm5hbCB1c2Ugb25seS5cblx0Ly8gQmVoYXZlcyBsaWtlIGFuIEFycmF5J3MgbWV0aG9kLCBub3QgbGlrZSBhIGpRdWVyeSBtZXRob2QuXG5cdHB1c2g6IHB1c2gsXG5cdHNvcnQ6IGFyci5zb3J0LFxuXHRzcGxpY2U6IGFyci5zcGxpY2Vcbn07XG5cbmpRdWVyeS5leHRlbmQgPSBqUXVlcnkuZm4uZXh0ZW5kID0gZnVuY3Rpb24oKSB7XG5cdHZhciBvcHRpb25zLCBuYW1lLCBzcmMsIGNvcHksIGNvcHlJc0FycmF5LCBjbG9uZSxcblx0XHR0YXJnZXQgPSBhcmd1bWVudHNbIDAgXSB8fCB7fSxcblx0XHRpID0gMSxcblx0XHRsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoLFxuXHRcdGRlZXAgPSBmYWxzZTtcblxuXHQvLyBIYW5kbGUgYSBkZWVwIGNvcHkgc2l0dWF0aW9uXG5cdGlmICggdHlwZW9mIHRhcmdldCA9PT0gXCJib29sZWFuXCIgKSB7XG5cdFx0ZGVlcCA9IHRhcmdldDtcblxuXHRcdC8vIFNraXAgdGhlIGJvb2xlYW4gYW5kIHRoZSB0YXJnZXRcblx0XHR0YXJnZXQgPSBhcmd1bWVudHNbIGkgXSB8fCB7fTtcblx0XHRpKys7XG5cdH1cblxuXHQvLyBIYW5kbGUgY2FzZSB3aGVuIHRhcmdldCBpcyBhIHN0cmluZyBvciBzb21ldGhpbmcgKHBvc3NpYmxlIGluIGRlZXAgY29weSlcblx0aWYgKCB0eXBlb2YgdGFyZ2V0ICE9PSBcIm9iamVjdFwiICYmICFpc0Z1bmN0aW9uKCB0YXJnZXQgKSApIHtcblx0XHR0YXJnZXQgPSB7fTtcblx0fVxuXG5cdC8vIEV4dGVuZCBqUXVlcnkgaXRzZWxmIGlmIG9ubHkgb25lIGFyZ3VtZW50IGlzIHBhc3NlZFxuXHRpZiAoIGkgPT09IGxlbmd0aCApIHtcblx0XHR0YXJnZXQgPSB0aGlzO1xuXHRcdGktLTtcblx0fVxuXG5cdGZvciAoIDsgaSA8IGxlbmd0aDsgaSsrICkge1xuXG5cdFx0Ly8gT25seSBkZWFsIHdpdGggbm9uLW51bGwvdW5kZWZpbmVkIHZhbHVlc1xuXHRcdGlmICggKCBvcHRpb25zID0gYXJndW1lbnRzWyBpIF0gKSAhPSBudWxsICkge1xuXG5cdFx0XHQvLyBFeHRlbmQgdGhlIGJhc2Ugb2JqZWN0XG5cdFx0XHRmb3IgKCBuYW1lIGluIG9wdGlvbnMgKSB7XG5cdFx0XHRcdGNvcHkgPSBvcHRpb25zWyBuYW1lIF07XG5cblx0XHRcdFx0Ly8gUHJldmVudCBPYmplY3QucHJvdG90eXBlIHBvbGx1dGlvblxuXHRcdFx0XHQvLyBQcmV2ZW50IG5ldmVyLWVuZGluZyBsb29wXG5cdFx0XHRcdGlmICggbmFtZSA9PT0gXCJfX3Byb3RvX19cIiB8fCB0YXJnZXQgPT09IGNvcHkgKSB7XG5cdFx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBSZWN1cnNlIGlmIHdlJ3JlIG1lcmdpbmcgcGxhaW4gb2JqZWN0cyBvciBhcnJheXNcblx0XHRcdFx0aWYgKCBkZWVwICYmIGNvcHkgJiYgKCBqUXVlcnkuaXNQbGFpbk9iamVjdCggY29weSApIHx8XG5cdFx0XHRcdFx0KCBjb3B5SXNBcnJheSA9IEFycmF5LmlzQXJyYXkoIGNvcHkgKSApICkgKSB7XG5cdFx0XHRcdFx0c3JjID0gdGFyZ2V0WyBuYW1lIF07XG5cblx0XHRcdFx0XHQvLyBFbnN1cmUgcHJvcGVyIHR5cGUgZm9yIHRoZSBzb3VyY2UgdmFsdWVcblx0XHRcdFx0XHRpZiAoIGNvcHlJc0FycmF5ICYmICFBcnJheS5pc0FycmF5KCBzcmMgKSApIHtcblx0XHRcdFx0XHRcdGNsb25lID0gW107XG5cdFx0XHRcdFx0fSBlbHNlIGlmICggIWNvcHlJc0FycmF5ICYmICFqUXVlcnkuaXNQbGFpbk9iamVjdCggc3JjICkgKSB7XG5cdFx0XHRcdFx0XHRjbG9uZSA9IHt9O1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjbG9uZSA9IHNyYztcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Y29weUlzQXJyYXkgPSBmYWxzZTtcblxuXHRcdFx0XHRcdC8vIE5ldmVyIG1vdmUgb3JpZ2luYWwgb2JqZWN0cywgY2xvbmUgdGhlbVxuXHRcdFx0XHRcdHRhcmdldFsgbmFtZSBdID0galF1ZXJ5LmV4dGVuZCggZGVlcCwgY2xvbmUsIGNvcHkgKTtcblxuXHRcdFx0XHQvLyBEb24ndCBicmluZyBpbiB1bmRlZmluZWQgdmFsdWVzXG5cdFx0XHRcdH0gZWxzZSBpZiAoIGNvcHkgIT09IHVuZGVmaW5lZCApIHtcblx0XHRcdFx0XHR0YXJnZXRbIG5hbWUgXSA9IGNvcHk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBSZXR1cm4gdGhlIG1vZGlmaWVkIG9iamVjdFxuXHRyZXR1cm4gdGFyZ2V0O1xufTtcblxualF1ZXJ5LmV4dGVuZCgge1xuXG5cdC8vIFVuaXF1ZSBmb3IgZWFjaCBjb3B5IG9mIGpRdWVyeSBvbiB0aGUgcGFnZVxuXHRleHBhbmRvOiBcImpRdWVyeVwiICsgKCB2ZXJzaW9uICsgTWF0aC5yYW5kb20oKSApLnJlcGxhY2UoIC9cXEQvZywgXCJcIiApLFxuXG5cdC8vIEFzc3VtZSBqUXVlcnkgaXMgcmVhZHkgd2l0aG91dCB0aGUgcmVhZHkgbW9kdWxlXG5cdGlzUmVhZHk6IHRydWUsXG5cblx0ZXJyb3I6IGZ1bmN0aW9uKCBtc2cgKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCBtc2cgKTtcblx0fSxcblxuXHRub29wOiBmdW5jdGlvbigpIHt9LFxuXG5cdGlzUGxhaW5PYmplY3Q6IGZ1bmN0aW9uKCBvYmogKSB7XG5cdFx0dmFyIHByb3RvLCBDdG9yO1xuXG5cdFx0Ly8gRGV0ZWN0IG9idmlvdXMgbmVnYXRpdmVzXG5cdFx0Ly8gVXNlIHRvU3RyaW5nIGluc3RlYWQgb2YgalF1ZXJ5LnR5cGUgdG8gY2F0Y2ggaG9zdCBvYmplY3RzXG5cdFx0aWYgKCAhb2JqIHx8IHRvU3RyaW5nLmNhbGwoIG9iaiApICE9PSBcIltvYmplY3QgT2JqZWN0XVwiICkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdHByb3RvID0gZ2V0UHJvdG8oIG9iaiApO1xuXG5cdFx0Ly8gT2JqZWN0cyB3aXRoIG5vIHByb3RvdHlwZSAoZS5nLiwgYE9iamVjdC5jcmVhdGUoIG51bGwgKWApIGFyZSBwbGFpblxuXHRcdGlmICggIXByb3RvICkge1xuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fVxuXG5cdFx0Ly8gT2JqZWN0cyB3aXRoIHByb3RvdHlwZSBhcmUgcGxhaW4gaWZmIHRoZXkgd2VyZSBjb25zdHJ1Y3RlZCBieSBhIGdsb2JhbCBPYmplY3QgZnVuY3Rpb25cblx0XHRDdG9yID0gaGFzT3duLmNhbGwoIHByb3RvLCBcImNvbnN0cnVjdG9yXCIgKSAmJiBwcm90by5jb25zdHJ1Y3Rvcjtcblx0XHRyZXR1cm4gdHlwZW9mIEN0b3IgPT09IFwiZnVuY3Rpb25cIiAmJiBmblRvU3RyaW5nLmNhbGwoIEN0b3IgKSA9PT0gT2JqZWN0RnVuY3Rpb25TdHJpbmc7XG5cdH0sXG5cblx0aXNFbXB0eU9iamVjdDogZnVuY3Rpb24oIG9iaiApIHtcblx0XHR2YXIgbmFtZTtcblxuXHRcdGZvciAoIG5hbWUgaW4gb2JqICkge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRyZXR1cm4gdHJ1ZTtcblx0fSxcblxuXHQvLyBFdmFsdWF0ZXMgYSBzY3JpcHQgaW4gYSBwcm92aWRlZCBjb250ZXh0OyBmYWxscyBiYWNrIHRvIHRoZSBnbG9iYWwgb25lXG5cdC8vIGlmIG5vdCBzcGVjaWZpZWQuXG5cdGdsb2JhbEV2YWw6IGZ1bmN0aW9uKCBjb2RlLCBvcHRpb25zLCBkb2MgKSB7XG5cdFx0RE9NRXZhbCggY29kZSwgeyBub25jZTogb3B0aW9ucyAmJiBvcHRpb25zLm5vbmNlIH0sIGRvYyApO1xuXHR9LFxuXG5cdGVhY2g6IGZ1bmN0aW9uKCBvYmosIGNhbGxiYWNrICkge1xuXHRcdHZhciBsZW5ndGgsIGkgPSAwO1xuXG5cdFx0aWYgKCBpc0FycmF5TGlrZSggb2JqICkgKSB7XG5cdFx0XHRsZW5ndGggPSBvYmoubGVuZ3RoO1xuXHRcdFx0Zm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7XG5cdFx0XHRcdGlmICggY2FsbGJhY2suY2FsbCggb2JqWyBpIF0sIGksIG9ialsgaSBdICkgPT09IGZhbHNlICkge1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdGZvciAoIGkgaW4gb2JqICkge1xuXHRcdFx0XHRpZiAoIGNhbGxiYWNrLmNhbGwoIG9ialsgaSBdLCBpLCBvYmpbIGkgXSApID09PSBmYWxzZSApIHtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiBvYmo7XG5cdH0sXG5cblx0Ly8gcmVzdWx0cyBpcyBmb3IgaW50ZXJuYWwgdXNhZ2Ugb25seVxuXHRtYWtlQXJyYXk6IGZ1bmN0aW9uKCBhcnIsIHJlc3VsdHMgKSB7XG5cdFx0dmFyIHJldCA9IHJlc3VsdHMgfHwgW107XG5cblx0XHRpZiAoIGFyciAhPSBudWxsICkge1xuXHRcdFx0aWYgKCBpc0FycmF5TGlrZSggT2JqZWN0KCBhcnIgKSApICkge1xuXHRcdFx0XHRqUXVlcnkubWVyZ2UoIHJldCxcblx0XHRcdFx0XHR0eXBlb2YgYXJyID09PSBcInN0cmluZ1wiID9cblx0XHRcdFx0XHRbIGFyciBdIDogYXJyXG5cdFx0XHRcdCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRwdXNoLmNhbGwoIHJldCwgYXJyICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJldDtcblx0fSxcblxuXHRpbkFycmF5OiBmdW5jdGlvbiggZWxlbSwgYXJyLCBpICkge1xuXHRcdHJldHVybiBhcnIgPT0gbnVsbCA/IC0xIDogaW5kZXhPZi5jYWxsKCBhcnIsIGVsZW0sIGkgKTtcblx0fSxcblxuXHQvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHlcblx0Ly8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdFxuXHRtZXJnZTogZnVuY3Rpb24oIGZpcnN0LCBzZWNvbmQgKSB7XG5cdFx0dmFyIGxlbiA9ICtzZWNvbmQubGVuZ3RoLFxuXHRcdFx0aiA9IDAsXG5cdFx0XHRpID0gZmlyc3QubGVuZ3RoO1xuXG5cdFx0Zm9yICggOyBqIDwgbGVuOyBqKysgKSB7XG5cdFx0XHRmaXJzdFsgaSsrIF0gPSBzZWNvbmRbIGogXTtcblx0XHR9XG5cblx0XHRmaXJzdC5sZW5ndGggPSBpO1xuXG5cdFx0cmV0dXJuIGZpcnN0O1xuXHR9LFxuXG5cdGdyZXA6IGZ1bmN0aW9uKCBlbGVtcywgY2FsbGJhY2ssIGludmVydCApIHtcblx0XHR2YXIgY2FsbGJhY2tJbnZlcnNlLFxuXHRcdFx0bWF0Y2hlcyA9IFtdLFxuXHRcdFx0aSA9IDAsXG5cdFx0XHRsZW5ndGggPSBlbGVtcy5sZW5ndGgsXG5cdFx0XHRjYWxsYmFja0V4cGVjdCA9ICFpbnZlcnQ7XG5cblx0XHQvLyBHbyB0aHJvdWdoIHRoZSBhcnJheSwgb25seSBzYXZpbmcgdGhlIGl0ZW1zXG5cdFx0Ly8gdGhhdCBwYXNzIHRoZSB2YWxpZGF0b3IgZnVuY3Rpb25cblx0XHRmb3IgKCA7IGkgPCBsZW5ndGg7IGkrKyApIHtcblx0XHRcdGNhbGxiYWNrSW52ZXJzZSA9ICFjYWxsYmFjayggZWxlbXNbIGkgXSwgaSApO1xuXHRcdFx0aWYgKCBjYWxsYmFja0ludmVyc2UgIT09IGNhbGxiYWNrRXhwZWN0ICkge1xuXHRcdFx0XHRtYXRjaGVzLnB1c2goIGVsZW1zWyBpIF0gKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gbWF0Y2hlcztcblx0fSxcblxuXHQvLyBhcmcgaXMgZm9yIGludGVybmFsIHVzYWdlIG9ubHlcblx0bWFwOiBmdW5jdGlvbiggZWxlbXMsIGNhbGxiYWNrLCBhcmcgKSB7XG5cdFx0dmFyIGxlbmd0aCwgdmFsdWUsXG5cdFx0XHRpID0gMCxcblx0XHRcdHJldCA9IFtdO1xuXG5cdFx0Ly8gR28gdGhyb3VnaCB0aGUgYXJyYXksIHRyYW5zbGF0aW5nIGVhY2ggb2YgdGhlIGl0ZW1zIHRvIHRoZWlyIG5ldyB2YWx1ZXNcblx0XHRpZiAoIGlzQXJyYXlMaWtlKCBlbGVtcyApICkge1xuXHRcdFx0bGVuZ3RoID0gZWxlbXMubGVuZ3RoO1xuXHRcdFx0Zm9yICggOyBpIDwgbGVuZ3RoOyBpKysgKSB7XG5cdFx0XHRcdHZhbHVlID0gY2FsbGJhY2soIGVsZW1zWyBpIF0sIGksIGFyZyApO1xuXG5cdFx0XHRcdGlmICggdmFsdWUgIT0gbnVsbCApIHtcblx0XHRcdFx0XHRyZXQucHVzaCggdmFsdWUgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0Ly8gR28gdGhyb3VnaCBldmVyeSBrZXkgb24gdGhlIG9iamVjdCxcblx0XHR9IGVsc2Uge1xuXHRcdFx0Zm9yICggaSBpbiBlbGVtcyApIHtcblx0XHRcdFx0dmFsdWUgPSBjYWxsYmFjayggZWxlbXNbIGkgXSwgaSwgYXJnICk7XG5cblx0XHRcdFx0aWYgKCB2YWx1ZSAhPSBudWxsICkge1xuXHRcdFx0XHRcdHJldC5wdXNoKCB2YWx1ZSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gRmxhdHRlbiBhbnkgbmVzdGVkIGFycmF5c1xuXHRcdHJldHVybiBmbGF0KCByZXQgKTtcblx0fSxcblxuXHQvLyBBIGdsb2JhbCBHVUlEIGNvdW50ZXIgZm9yIG9iamVjdHNcblx0Z3VpZDogMSxcblxuXHQvLyBqUXVlcnkuc3VwcG9ydCBpcyBub3QgdXNlZCBpbiBDb3JlIGJ1dCBvdGhlciBwcm9qZWN0cyBhdHRhY2ggdGhlaXJcblx0Ly8gcHJvcGVydGllcyB0byBpdCBzbyBpdCBuZWVkcyB0byBleGlzdC5cblx0c3VwcG9ydDogc3VwcG9ydFxufSApO1xuXG5pZiAoIHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiApIHtcblx0alF1ZXJ5LmZuWyBTeW1ib2wuaXRlcmF0b3IgXSA9IGFyclsgU3ltYm9sLml0ZXJhdG9yIF07XG59XG5cbi8vIFBvcHVsYXRlIHRoZSBjbGFzczJ0eXBlIG1hcFxualF1ZXJ5LmVhY2goIFwiQm9vbGVhbiBOdW1iZXIgU3RyaW5nIEZ1bmN0aW9uIEFycmF5IERhdGUgUmVnRXhwIE9iamVjdCBFcnJvciBTeW1ib2xcIi5zcGxpdCggXCIgXCIgKSxcbmZ1bmN0aW9uKCBfaSwgbmFtZSApIHtcblx0Y2xhc3MydHlwZVsgXCJbb2JqZWN0IFwiICsgbmFtZSArIFwiXVwiIF0gPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG59ICk7XG5cbmZ1bmN0aW9uIGlzQXJyYXlMaWtlKCBvYmogKSB7XG5cblx0Ly8gU3VwcG9ydDogcmVhbCBpT1MgOC4yIG9ubHkgKG5vdCByZXByb2R1Y2libGUgaW4gc2ltdWxhdG9yKVxuXHQvLyBgaW5gIGNoZWNrIHVzZWQgdG8gcHJldmVudCBKSVQgZXJyb3IgKGdoLTIxNDUpXG5cdC8vIGhhc093biBpc24ndCB1c2VkIGhlcmUgZHVlIHRvIGZhbHNlIG5lZ2F0aXZlc1xuXHQvLyByZWdhcmRpbmcgTm9kZWxpc3QgbGVuZ3RoIGluIElFXG5cdHZhciBsZW5ndGggPSAhIW9iaiAmJiBcImxlbmd0aFwiIGluIG9iaiAmJiBvYmoubGVuZ3RoLFxuXHRcdHR5cGUgPSB0b1R5cGUoIG9iaiApO1xuXG5cdGlmICggaXNGdW5jdGlvbiggb2JqICkgfHwgaXNXaW5kb3coIG9iaiApICkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdHJldHVybiB0eXBlID09PSBcImFycmF5XCIgfHwgbGVuZ3RoID09PSAwIHx8XG5cdFx0dHlwZW9mIGxlbmd0aCA9PT0gXCJudW1iZXJcIiAmJiBsZW5ndGggPiAwICYmICggbGVuZ3RoIC0gMSApIGluIG9iajtcbn1cbnZhciBTaXp6bGUgPVxuLyohXG4gKiBTaXp6bGUgQ1NTIFNlbGVjdG9yIEVuZ2luZSB2Mi4zLjVcbiAqIGh0dHBzOi8vc2l6emxlanMuY29tL1xuICpcbiAqIENvcHlyaWdodCBKUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnNcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZVxuICogaHR0cHM6Ly9qcy5mb3VuZGF0aW9uL1xuICpcbiAqIERhdGU6IDIwMjAtMDMtMTRcbiAqL1xuKCBmdW5jdGlvbiggd2luZG93ICkge1xudmFyIGksXG5cdHN1cHBvcnQsXG5cdEV4cHIsXG5cdGdldFRleHQsXG5cdGlzWE1MLFxuXHR0b2tlbml6ZSxcblx0Y29tcGlsZSxcblx0c2VsZWN0LFxuXHRvdXRlcm1vc3RDb250ZXh0LFxuXHRzb3J0SW5wdXQsXG5cdGhhc0R1cGxpY2F0ZSxcblxuXHQvLyBMb2NhbCBkb2N1bWVudCB2YXJzXG5cdHNldERvY3VtZW50LFxuXHRkb2N1bWVudCxcblx0ZG9jRWxlbSxcblx0ZG9jdW1lbnRJc0hUTUwsXG5cdHJidWdneVFTQSxcblx0cmJ1Z2d5TWF0Y2hlcyxcblx0bWF0Y2hlcyxcblx0Y29udGFpbnMsXG5cblx0Ly8gSW5zdGFuY2Utc3BlY2lmaWMgZGF0YVxuXHRleHBhbmRvID0gXCJzaXp6bGVcIiArIDEgKiBuZXcgRGF0ZSgpLFxuXHRwcmVmZXJyZWREb2MgPSB3aW5kb3cuZG9jdW1lbnQsXG5cdGRpcnJ1bnMgPSAwLFxuXHRkb25lID0gMCxcblx0Y2xhc3NDYWNoZSA9IGNyZWF0ZUNhY2hlKCksXG5cdHRva2VuQ2FjaGUgPSBjcmVhdGVDYWNoZSgpLFxuXHRjb21waWxlckNhY2hlID0gY3JlYXRlQ2FjaGUoKSxcblx0bm9ubmF0aXZlU2VsZWN0b3JDYWNoZSA9IGNyZWF0ZUNhY2hlKCksXG5cdHNvcnRPcmRlciA9IGZ1bmN0aW9uKCBhLCBiICkge1xuXHRcdGlmICggYSA9PT0gYiApIHtcblx0XHRcdGhhc0R1cGxpY2F0ZSA9IHRydWU7XG5cdFx0fVxuXHRcdHJldHVybiAwO1xuXHR9LFxuXG5cdC8vIEluc3RhbmNlIG1ldGhvZHNcblx0aGFzT3duID0gKCB7fSApLmhhc093blByb3BlcnR5LFxuXHRhcnIgPSBbXSxcblx0cG9wID0gYXJyLnBvcCxcblx0cHVzaE5hdGl2ZSA9IGFyci5wdXNoLFxuXHRwdXNoID0gYXJyLnB1c2gsXG5cdHNsaWNlID0gYXJyLnNsaWNlLFxuXG5cdC8vIFVzZSBhIHN0cmlwcGVkLWRvd24gaW5kZXhPZiBhcyBpdCdzIGZhc3RlciB0aGFuIG5hdGl2ZVxuXHQvLyBodHRwczovL2pzcGVyZi5jb20vdGhvci1pbmRleG9mLXZzLWZvci81XG5cdGluZGV4T2YgPSBmdW5jdGlvbiggbGlzdCwgZWxlbSApIHtcblx0XHR2YXIgaSA9IDAsXG5cdFx0XHRsZW4gPSBsaXN0Lmxlbmd0aDtcblx0XHRmb3IgKCA7IGkgPCBsZW47IGkrKyApIHtcblx0XHRcdGlmICggbGlzdFsgaSBdID09PSBlbGVtICkge1xuXHRcdFx0XHRyZXR1cm4gaTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIC0xO1xuXHR9LFxuXG5cdGJvb2xlYW5zID0gXCJjaGVja2VkfHNlbGVjdGVkfGFzeW5jfGF1dG9mb2N1c3xhdXRvcGxheXxjb250cm9sc3xkZWZlcnxkaXNhYmxlZHxoaWRkZW58XCIgK1xuXHRcdFwiaXNtYXB8bG9vcHxtdWx0aXBsZXxvcGVufHJlYWRvbmx5fHJlcXVpcmVkfHNjb3BlZFwiLFxuXG5cdC8vIFJlZ3VsYXIgZXhwcmVzc2lvbnNcblxuXHQvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXNlbGVjdG9ycy8jd2hpdGVzcGFjZVxuXHR3aGl0ZXNwYWNlID0gXCJbXFxcXHgyMFxcXFx0XFxcXHJcXFxcblxcXFxmXVwiLFxuXG5cdC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3Mtc3ludGF4LTMvI2lkZW50LXRva2VuLWRpYWdyYW1cblx0aWRlbnRpZmllciA9IFwiKD86XFxcXFxcXFxbXFxcXGRhLWZBLUZdezEsNn1cIiArIHdoaXRlc3BhY2UgK1xuXHRcdFwiP3xcXFxcXFxcXFteXFxcXHJcXFxcblxcXFxmXXxbXFxcXHctXXxbXlxcMC1cXFxceDdmXSkrXCIsXG5cblx0Ly8gQXR0cmlidXRlIHNlbGVjdG9yczogaHR0cDovL3d3dy53My5vcmcvVFIvc2VsZWN0b3JzLyNhdHRyaWJ1dGUtc2VsZWN0b3JzXG5cdGF0dHJpYnV0ZXMgPSBcIlxcXFxbXCIgKyB3aGl0ZXNwYWNlICsgXCIqKFwiICsgaWRlbnRpZmllciArIFwiKSg/OlwiICsgd2hpdGVzcGFjZSArXG5cblx0XHQvLyBPcGVyYXRvciAoY2FwdHVyZSAyKVxuXHRcdFwiKihbKl4kfCF+XT89KVwiICsgd2hpdGVzcGFjZSArXG5cblx0XHQvLyBcIkF0dHJpYnV0ZSB2YWx1ZXMgbXVzdCBiZSBDU1MgaWRlbnRpZmllcnMgW2NhcHR1cmUgNV1cblx0XHQvLyBvciBzdHJpbmdzIFtjYXB0dXJlIDMgb3IgY2FwdHVyZSA0XVwiXG5cdFx0XCIqKD86JygoPzpcXFxcXFxcXC58W15cXFxcXFxcXCddKSopJ3xcXFwiKCg/OlxcXFxcXFxcLnxbXlxcXFxcXFxcXFxcIl0pKilcXFwifChcIiArIGlkZW50aWZpZXIgKyBcIikpfClcIiArXG5cdFx0d2hpdGVzcGFjZSArIFwiKlxcXFxdXCIsXG5cblx0cHNldWRvcyA9IFwiOihcIiArIGlkZW50aWZpZXIgKyBcIikoPzpcXFxcKChcIiArXG5cblx0XHQvLyBUbyByZWR1Y2UgdGhlIG51bWJlciBvZiBzZWxlY3RvcnMgbmVlZGluZyB0b2tlbml6ZSBpbiB0aGUgcHJlRmlsdGVyLCBwcmVmZXIgYXJndW1lbnRzOlxuXHRcdC8vIDEuIHF1b3RlZCAoY2FwdHVyZSAzOyBjYXB0dXJlIDQgb3IgY2FwdHVyZSA1KVxuXHRcdFwiKCcoKD86XFxcXFxcXFwufFteXFxcXFxcXFwnXSkqKSd8XFxcIigoPzpcXFxcXFxcXC58W15cXFxcXFxcXFxcXCJdKSopXFxcIil8XCIgK1xuXG5cdFx0Ly8gMi4gc2ltcGxlIChjYXB0dXJlIDYpXG5cdFx0XCIoKD86XFxcXFxcXFwufFteXFxcXFxcXFwoKVtcXFxcXV18XCIgKyBhdHRyaWJ1dGVzICsgXCIpKil8XCIgK1xuXG5cdFx0Ly8gMy4gYW55dGhpbmcgZWxzZSAoY2FwdHVyZSAyKVxuXHRcdFwiLipcIiArXG5cdFx0XCIpXFxcXCl8KVwiLFxuXG5cdC8vIExlYWRpbmcgYW5kIG5vbi1lc2NhcGVkIHRyYWlsaW5nIHdoaXRlc3BhY2UsIGNhcHR1cmluZyBzb21lIG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlcnMgcHJlY2VkaW5nIHRoZSBsYXR0ZXJcblx0cndoaXRlc3BhY2UgPSBuZXcgUmVnRXhwKCB3aGl0ZXNwYWNlICsgXCIrXCIsIFwiZ1wiICksXG5cdHJ0cmltID0gbmV3IFJlZ0V4cCggXCJeXCIgKyB3aGl0ZXNwYWNlICsgXCIrfCgoPzpefFteXFxcXFxcXFxdKSg/OlxcXFxcXFxcLikqKVwiICtcblx0XHR3aGl0ZXNwYWNlICsgXCIrJFwiLCBcImdcIiApLFxuXG5cdHJjb21tYSA9IG5ldyBSZWdFeHAoIFwiXlwiICsgd2hpdGVzcGFjZSArIFwiKixcIiArIHdoaXRlc3BhY2UgKyBcIipcIiApLFxuXHRyY29tYmluYXRvcnMgPSBuZXcgUmVnRXhwKCBcIl5cIiArIHdoaXRlc3BhY2UgKyBcIiooWz4rfl18XCIgKyB3aGl0ZXNwYWNlICsgXCIpXCIgKyB3aGl0ZXNwYWNlICtcblx0XHRcIipcIiApLFxuXHRyZGVzY2VuZCA9IG5ldyBSZWdFeHAoIHdoaXRlc3BhY2UgKyBcInw+XCIgKSxcblxuXHRycHNldWRvID0gbmV3IFJlZ0V4cCggcHNldWRvcyApLFxuXHRyaWRlbnRpZmllciA9IG5ldyBSZWdFeHAoIFwiXlwiICsgaWRlbnRpZmllciArIFwiJFwiICksXG5cblx0bWF0Y2hFeHByID0ge1xuXHRcdFwiSURcIjogbmV3IFJlZ0V4cCggXCJeIyhcIiArIGlkZW50aWZpZXIgKyBcIilcIiApLFxuXHRcdFwiQ0xBU1NcIjogbmV3IFJlZ0V4cCggXCJeXFxcXC4oXCIgKyBpZGVudGlmaWVyICsgXCIpXCIgKSxcblx0XHRcIlRBR1wiOiBuZXcgUmVnRXhwKCBcIl4oXCIgKyBpZGVudGlmaWVyICsgXCJ8WypdKVwiICksXG5cdFx0XCJBVFRSXCI6IG5ldyBSZWdFeHAoIFwiXlwiICsgYXR0cmlidXRlcyApLFxuXHRcdFwiUFNFVURPXCI6IG5ldyBSZWdFeHAoIFwiXlwiICsgcHNldWRvcyApLFxuXHRcdFwiQ0hJTERcIjogbmV3IFJlZ0V4cCggXCJeOihvbmx5fGZpcnN0fGxhc3R8bnRofG50aC1sYXN0KS0oY2hpbGR8b2YtdHlwZSkoPzpcXFxcKFwiICtcblx0XHRcdHdoaXRlc3BhY2UgKyBcIiooZXZlbnxvZGR8KChbKy1dfCkoXFxcXGQqKW58KVwiICsgd2hpdGVzcGFjZSArIFwiKig/OihbKy1dfClcIiArXG5cdFx0XHR3aGl0ZXNwYWNlICsgXCIqKFxcXFxkKyl8KSlcIiArIHdoaXRlc3BhY2UgKyBcIipcXFxcKXwpXCIsIFwiaVwiICksXG5cdFx0XCJib29sXCI6IG5ldyBSZWdFeHAoIFwiXig/OlwiICsgYm9vbGVhbnMgKyBcIikkXCIsIFwiaVwiICksXG5cblx0XHQvLyBGb3IgdXNlIGluIGxpYnJhcmllcyBpbXBsZW1lbnRpbmcgLmlzKClcblx0XHQvLyBXZSB1c2UgdGhpcyBmb3IgUE9TIG1hdGNoaW5nIGluIGBzZWxlY3RgXG5cdFx0XCJuZWVkc0NvbnRleHRcIjogbmV3IFJlZ0V4cCggXCJeXCIgKyB3aGl0ZXNwYWNlICtcblx0XHRcdFwiKls+K35dfDooZXZlbnxvZGR8ZXF8Z3R8bHR8bnRofGZpcnN0fGxhc3QpKD86XFxcXChcIiArIHdoaXRlc3BhY2UgK1xuXHRcdFx0XCIqKCg/Oi1cXFxcZCk/XFxcXGQqKVwiICsgd2hpdGVzcGFjZSArIFwiKlxcXFwpfCkoPz1bXi1dfCQpXCIsIFwiaVwiIClcblx0fSxcblxuXHRyaHRtbCA9IC9IVE1MJC9pLFxuXHRyaW5wdXRzID0gL14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxcblx0cmhlYWRlciA9IC9eaFxcZCQvaSxcblxuXHRybmF0aXZlID0gL15bXntdK1xce1xccypcXFtuYXRpdmUgXFx3LyxcblxuXHQvLyBFYXNpbHktcGFyc2VhYmxlL3JldHJpZXZhYmxlIElEIG9yIFRBRyBvciBDTEFTUyBzZWxlY3RvcnNcblx0cnF1aWNrRXhwciA9IC9eKD86IyhbXFx3LV0rKXwoXFx3Kyl8XFwuKFtcXHctXSspKSQvLFxuXG5cdHJzaWJsaW5nID0gL1srfl0vLFxuXG5cdC8vIENTUyBlc2NhcGVzXG5cdC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL0NTUzIxL3N5bmRhdGEuaHRtbCNlc2NhcGVkLWNoYXJhY3RlcnNcblx0cnVuZXNjYXBlID0gbmV3IFJlZ0V4cCggXCJcXFxcXFxcXFtcXFxcZGEtZkEtRl17MSw2fVwiICsgd2hpdGVzcGFjZSArIFwiP3xcXFxcXFxcXChbXlxcXFxyXFxcXG5cXFxcZl0pXCIsIFwiZ1wiICksXG5cdGZ1bmVzY2FwZSA9IGZ1bmN0aW9uKCBlc2NhcGUsIG5vbkhleCApIHtcblx0XHR2YXIgaGlnaCA9IFwiMHhcIiArIGVzY2FwZS5zbGljZSggMSApIC0gMHgxMDAwMDtcblxuXHRcdHJldHVybiBub25IZXggP1xuXG5cdFx0XHQvLyBTdHJpcCB0aGUgYmFja3NsYXNoIHByZWZpeCBmcm9tIGEgbm9uLWhleCBlc2NhcGUgc2VxdWVuY2Vcblx0XHRcdG5vbkhleCA6XG5cblx0XHRcdC8vIFJlcGxhY2UgYSBoZXhhZGVjaW1hbCBlc2NhcGUgc2VxdWVuY2Ugd2l0aCB0aGUgZW5jb2RlZCBVbmljb2RlIGNvZGUgcG9pbnRcblx0XHRcdC8vIFN1cHBvcnQ6IElFIDw9MTErXG5cdFx0XHQvLyBGb3IgdmFsdWVzIG91dHNpZGUgdGhlIEJhc2ljIE11bHRpbGluZ3VhbCBQbGFuZSAoQk1QKSwgbWFudWFsbHkgY29uc3RydWN0IGFcblx0XHRcdC8vIHN1cnJvZ2F0ZSBwYWlyXG5cdFx0XHRoaWdoIDwgMCA/XG5cdFx0XHRcdFN0cmluZy5mcm9tQ2hhckNvZGUoIGhpZ2ggKyAweDEwMDAwICkgOlxuXHRcdFx0XHRTdHJpbmcuZnJvbUNoYXJDb2RlKCBoaWdoID4+IDEwIHwgMHhEODAwLCBoaWdoICYgMHgzRkYgfCAweERDMDAgKTtcblx0fSxcblxuXHQvLyBDU1Mgc3RyaW5nL2lkZW50aWZpZXIgc2VyaWFsaXphdGlvblxuXHQvLyBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3Nzb20vI2NvbW1vbi1zZXJpYWxpemluZy1pZGlvbXNcblx0cmNzc2VzY2FwZSA9IC8oW1xcMC1cXHgxZlxceDdmXXxeLT9cXGQpfF4tJHxbXlxcMC1cXHgxZlxceDdmLVxcdUZGRkZcXHctXS9nLFxuXHRmY3NzZXNjYXBlID0gZnVuY3Rpb24oIGNoLCBhc0NvZGVQb2ludCApIHtcblx0XHRpZiAoIGFzQ29kZVBvaW50ICkge1xuXG5cdFx0XHQvLyBVKzAwMDAgTlVMTCBiZWNvbWVzIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVJcblx0XHRcdGlmICggY2ggPT09IFwiXFwwXCIgKSB7XG5cdFx0XHRcdHJldHVybiBcIlxcdUZGRkRcIjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gQ29udHJvbCBjaGFyYWN0ZXJzIGFuZCAoZGVwZW5kZW50IHVwb24gcG9zaXRpb24pIG51bWJlcnMgZ2V0IGVzY2FwZWQgYXMgY29kZSBwb2ludHNcblx0XHRcdHJldHVybiBjaC5zbGljZSggMCwgLTEgKSArIFwiXFxcXFwiICtcblx0XHRcdFx0Y2guY2hhckNvZGVBdCggY2gubGVuZ3RoIC0gMSApLnRvU3RyaW5nKCAxNiApICsgXCIgXCI7XG5cdFx0fVxuXG5cdFx0Ly8gT3RoZXIgcG90ZW50aWFsbHktc3BlY2lhbCBBU0NJSSBjaGFyYWN0ZXJzIGdldCBiYWNrc2xhc2gtZXNjYXBlZFxuXHRcdHJldHVybiBcIlxcXFxcIiArIGNoO1xuXHR9LFxuXG5cdC8vIFVzZWQgZm9yIGlmcmFtZXNcblx0Ly8gU2VlIHNldERvY3VtZW50KClcblx0Ly8gUmVtb3ZpbmcgdGhlIGZ1bmN0aW9uIHdyYXBwZXIgY2F1c2VzIGEgXCJQZXJtaXNzaW9uIERlbmllZFwiXG5cdC8vIGVycm9yIGluIElFXG5cdHVubG9hZEhhbmRsZXIgPSBmdW5jdGlvbigpIHtcblx0XHRzZXREb2N1bWVudCgpO1xuXHR9LFxuXG5cdGluRGlzYWJsZWRGaWVsZHNldCA9IGFkZENvbWJpbmF0b3IoXG5cdFx0ZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gdHJ1ZSAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwiZmllbGRzZXRcIjtcblx0XHR9LFxuXHRcdHsgZGlyOiBcInBhcmVudE5vZGVcIiwgbmV4dDogXCJsZWdlbmRcIiB9XG5cdCk7XG5cbi8vIE9wdGltaXplIGZvciBwdXNoLmFwcGx5KCBfLCBOb2RlTGlzdCApXG50cnkge1xuXHRwdXNoLmFwcGx5KFxuXHRcdCggYXJyID0gc2xpY2UuY2FsbCggcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMgKSApLFxuXHRcdHByZWZlcnJlZERvYy5jaGlsZE5vZGVzXG5cdCk7XG5cblx0Ly8gU3VwcG9ydDogQW5kcm9pZDw0LjBcblx0Ly8gRGV0ZWN0IHNpbGVudGx5IGZhaWxpbmcgcHVzaC5hcHBseVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXG5cdGFyclsgcHJlZmVycmVkRG9jLmNoaWxkTm9kZXMubGVuZ3RoIF0ubm9kZVR5cGU7XG59IGNhdGNoICggZSApIHtcblx0cHVzaCA9IHsgYXBwbHk6IGFyci5sZW5ndGggP1xuXG5cdFx0Ly8gTGV2ZXJhZ2Ugc2xpY2UgaWYgcG9zc2libGVcblx0XHRmdW5jdGlvbiggdGFyZ2V0LCBlbHMgKSB7XG5cdFx0XHRwdXNoTmF0aXZlLmFwcGx5KCB0YXJnZXQsIHNsaWNlLmNhbGwoIGVscyApICk7XG5cdFx0fSA6XG5cblx0XHQvLyBTdXBwb3J0OiBJRTw5XG5cdFx0Ly8gT3RoZXJ3aXNlIGFwcGVuZCBkaXJlY3RseVxuXHRcdGZ1bmN0aW9uKCB0YXJnZXQsIGVscyApIHtcblx0XHRcdHZhciBqID0gdGFyZ2V0Lmxlbmd0aCxcblx0XHRcdFx0aSA9IDA7XG5cblx0XHRcdC8vIENhbid0IHRydXN0IE5vZGVMaXN0Lmxlbmd0aFxuXHRcdFx0d2hpbGUgKCAoIHRhcmdldFsgaisrIF0gPSBlbHNbIGkrKyBdICkgKSB7fVxuXHRcdFx0dGFyZ2V0Lmxlbmd0aCA9IGogLSAxO1xuXHRcdH1cblx0fTtcbn1cblxuZnVuY3Rpb24gU2l6emxlKCBzZWxlY3RvciwgY29udGV4dCwgcmVzdWx0cywgc2VlZCApIHtcblx0dmFyIG0sIGksIGVsZW0sIG5pZCwgbWF0Y2gsIGdyb3VwcywgbmV3U2VsZWN0b3IsXG5cdFx0bmV3Q29udGV4dCA9IGNvbnRleHQgJiYgY29udGV4dC5vd25lckRvY3VtZW50LFxuXG5cdFx0Ly8gbm9kZVR5cGUgZGVmYXVsdHMgdG8gOSwgc2luY2UgY29udGV4dCBkZWZhdWx0cyB0byBkb2N1bWVudFxuXHRcdG5vZGVUeXBlID0gY29udGV4dCA/IGNvbnRleHQubm9kZVR5cGUgOiA5O1xuXG5cdHJlc3VsdHMgPSByZXN1bHRzIHx8IFtdO1xuXG5cdC8vIFJldHVybiBlYXJseSBmcm9tIGNhbGxzIHdpdGggaW52YWxpZCBzZWxlY3RvciBvciBjb250ZXh0XG5cdGlmICggdHlwZW9mIHNlbGVjdG9yICE9PSBcInN0cmluZ1wiIHx8ICFzZWxlY3RvciB8fFxuXHRcdG5vZGVUeXBlICE9PSAxICYmIG5vZGVUeXBlICE9PSA5ICYmIG5vZGVUeXBlICE9PSAxMSApIHtcblxuXHRcdHJldHVybiByZXN1bHRzO1xuXHR9XG5cblx0Ly8gVHJ5IHRvIHNob3J0Y3V0IGZpbmQgb3BlcmF0aW9ucyAoYXMgb3Bwb3NlZCB0byBmaWx0ZXJzKSBpbiBIVE1MIGRvY3VtZW50c1xuXHRpZiAoICFzZWVkICkge1xuXHRcdHNldERvY3VtZW50KCBjb250ZXh0ICk7XG5cdFx0Y29udGV4dCA9IGNvbnRleHQgfHwgZG9jdW1lbnQ7XG5cblx0XHRpZiAoIGRvY3VtZW50SXNIVE1MICkge1xuXG5cdFx0XHQvLyBJZiB0aGUgc2VsZWN0b3IgaXMgc3VmZmljaWVudGx5IHNpbXBsZSwgdHJ5IHVzaW5nIGEgXCJnZXQqQnkqXCIgRE9NIG1ldGhvZFxuXHRcdFx0Ly8gKGV4Y2VwdGluZyBEb2N1bWVudEZyYWdtZW50IGNvbnRleHQsIHdoZXJlIHRoZSBtZXRob2RzIGRvbid0IGV4aXN0KVxuXHRcdFx0aWYgKCBub2RlVHlwZSAhPT0gMTEgJiYgKCBtYXRjaCA9IHJxdWlja0V4cHIuZXhlYyggc2VsZWN0b3IgKSApICkge1xuXG5cdFx0XHRcdC8vIElEIHNlbGVjdG9yXG5cdFx0XHRcdGlmICggKCBtID0gbWF0Y2hbIDEgXSApICkge1xuXG5cdFx0XHRcdFx0Ly8gRG9jdW1lbnQgY29udGV4dFxuXHRcdFx0XHRcdGlmICggbm9kZVR5cGUgPT09IDkgKSB7XG5cdFx0XHRcdFx0XHRpZiAoICggZWxlbSA9IGNvbnRleHQuZ2V0RWxlbWVudEJ5SWQoIG0gKSApICkge1xuXG5cdFx0XHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFLCBPcGVyYSwgV2Via2l0XG5cdFx0XHRcdFx0XHRcdC8vIFRPRE86IGlkZW50aWZ5IHZlcnNpb25zXG5cdFx0XHRcdFx0XHRcdC8vIGdldEVsZW1lbnRCeUlkIGNhbiBtYXRjaCBlbGVtZW50cyBieSBuYW1lIGluc3RlYWQgb2YgSURcblx0XHRcdFx0XHRcdFx0aWYgKCBlbGVtLmlkID09PSBtICkge1xuXHRcdFx0XHRcdFx0XHRcdHJlc3VsdHMucHVzaCggZWxlbSApO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiByZXN1bHRzO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0cztcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIEVsZW1lbnQgY29udGV4dFxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFLCBPcGVyYSwgV2Via2l0XG5cdFx0XHRcdFx0XHQvLyBUT0RPOiBpZGVudGlmeSB2ZXJzaW9uc1xuXHRcdFx0XHRcdFx0Ly8gZ2V0RWxlbWVudEJ5SWQgY2FuIG1hdGNoIGVsZW1lbnRzIGJ5IG5hbWUgaW5zdGVhZCBvZiBJRFxuXHRcdFx0XHRcdFx0aWYgKCBuZXdDb250ZXh0ICYmICggZWxlbSA9IG5ld0NvbnRleHQuZ2V0RWxlbWVudEJ5SWQoIG0gKSApICYmXG5cdFx0XHRcdFx0XHRcdGNvbnRhaW5zKCBjb250ZXh0LCBlbGVtICkgJiZcblx0XHRcdFx0XHRcdFx0ZWxlbS5pZCA9PT0gbSApIHtcblxuXHRcdFx0XHRcdFx0XHRyZXN1bHRzLnB1c2goIGVsZW0gKTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFR5cGUgc2VsZWN0b3Jcblx0XHRcdFx0fSBlbHNlIGlmICggbWF0Y2hbIDIgXSApIHtcblx0XHRcdFx0XHRwdXNoLmFwcGx5KCByZXN1bHRzLCBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lKCBzZWxlY3RvciApICk7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cblx0XHRcdFx0Ly8gQ2xhc3Mgc2VsZWN0b3Jcblx0XHRcdFx0fSBlbHNlIGlmICggKCBtID0gbWF0Y2hbIDMgXSApICYmIHN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAmJlxuXHRcdFx0XHRcdGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSApIHtcblxuXHRcdFx0XHRcdHB1c2guYXBwbHkoIHJlc3VsdHMsIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSggbSApICk7XG5cdFx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gVGFrZSBhZHZhbnRhZ2Ugb2YgcXVlcnlTZWxlY3RvckFsbFxuXHRcdFx0aWYgKCBzdXBwb3J0LnFzYSAmJlxuXHRcdFx0XHQhbm9ubmF0aXZlU2VsZWN0b3JDYWNoZVsgc2VsZWN0b3IgKyBcIiBcIiBdICYmXG5cdFx0XHRcdCggIXJidWdneVFTQSB8fCAhcmJ1Z2d5UVNBLnRlc3QoIHNlbGVjdG9yICkgKSAmJlxuXG5cdFx0XHRcdC8vIFN1cHBvcnQ6IElFIDggb25seVxuXHRcdFx0XHQvLyBFeGNsdWRlIG9iamVjdCBlbGVtZW50c1xuXHRcdFx0XHQoIG5vZGVUeXBlICE9PSAxIHx8IGNvbnRleHQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gXCJvYmplY3RcIiApICkge1xuXG5cdFx0XHRcdG5ld1NlbGVjdG9yID0gc2VsZWN0b3I7XG5cdFx0XHRcdG5ld0NvbnRleHQgPSBjb250ZXh0O1xuXG5cdFx0XHRcdC8vIHFTQSBjb25zaWRlcnMgZWxlbWVudHMgb3V0c2lkZSBhIHNjb3Bpbmcgcm9vdCB3aGVuIGV2YWx1YXRpbmcgY2hpbGQgb3Jcblx0XHRcdFx0Ly8gZGVzY2VuZGFudCBjb21iaW5hdG9ycywgd2hpY2ggaXMgbm90IHdoYXQgd2Ugd2FudC5cblx0XHRcdFx0Ly8gSW4gc3VjaCBjYXNlcywgd2Ugd29yayBhcm91bmQgdGhlIGJlaGF2aW9yIGJ5IHByZWZpeGluZyBldmVyeSBzZWxlY3RvciBpbiB0aGVcblx0XHRcdFx0Ly8gbGlzdCB3aXRoIGFuIElEIHNlbGVjdG9yIHJlZmVyZW5jaW5nIHRoZSBzY29wZSBjb250ZXh0LlxuXHRcdFx0XHQvLyBUaGUgdGVjaG5pcXVlIGhhcyB0byBiZSB1c2VkIGFzIHdlbGwgd2hlbiBhIGxlYWRpbmcgY29tYmluYXRvciBpcyB1c2VkXG5cdFx0XHRcdC8vIGFzIHN1Y2ggc2VsZWN0b3JzIGFyZSBub3QgcmVjb2duaXplZCBieSBxdWVyeVNlbGVjdG9yQWxsLlxuXHRcdFx0XHQvLyBUaGFua3MgdG8gQW5kcmV3IER1cG9udCBmb3IgdGhpcyB0ZWNobmlxdWUuXG5cdFx0XHRcdGlmICggbm9kZVR5cGUgPT09IDEgJiZcblx0XHRcdFx0XHQoIHJkZXNjZW5kLnRlc3QoIHNlbGVjdG9yICkgfHwgcmNvbWJpbmF0b3JzLnRlc3QoIHNlbGVjdG9yICkgKSApIHtcblxuXHRcdFx0XHRcdC8vIEV4cGFuZCBjb250ZXh0IGZvciBzaWJsaW5nIHNlbGVjdG9yc1xuXHRcdFx0XHRcdG5ld0NvbnRleHQgPSByc2libGluZy50ZXN0KCBzZWxlY3RvciApICYmIHRlc3RDb250ZXh0KCBjb250ZXh0LnBhcmVudE5vZGUgKSB8fFxuXHRcdFx0XHRcdFx0Y29udGV4dDtcblxuXHRcdFx0XHRcdC8vIFdlIGNhbiB1c2UgOnNjb3BlIGluc3RlYWQgb2YgdGhlIElEIGhhY2sgaWYgdGhlIGJyb3dzZXJcblx0XHRcdFx0XHQvLyBzdXBwb3J0cyBpdCAmIGlmIHdlJ3JlIG5vdCBjaGFuZ2luZyB0aGUgY29udGV4dC5cblx0XHRcdFx0XHRpZiAoIG5ld0NvbnRleHQgIT09IGNvbnRleHQgfHwgIXN1cHBvcnQuc2NvcGUgKSB7XG5cblx0XHRcdFx0XHRcdC8vIENhcHR1cmUgdGhlIGNvbnRleHQgSUQsIHNldHRpbmcgaXQgZmlyc3QgaWYgbmVjZXNzYXJ5XG5cdFx0XHRcdFx0XHRpZiAoICggbmlkID0gY29udGV4dC5nZXRBdHRyaWJ1dGUoIFwiaWRcIiApICkgKSB7XG5cdFx0XHRcdFx0XHRcdG5pZCA9IG5pZC5yZXBsYWNlKCByY3NzZXNjYXBlLCBmY3NzZXNjYXBlICk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRjb250ZXh0LnNldEF0dHJpYnV0ZSggXCJpZFwiLCAoIG5pZCA9IGV4cGFuZG8gKSApO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIFByZWZpeCBldmVyeSBzZWxlY3RvciBpbiB0aGUgbGlzdFxuXHRcdFx0XHRcdGdyb3VwcyA9IHRva2VuaXplKCBzZWxlY3RvciApO1xuXHRcdFx0XHRcdGkgPSBncm91cHMubGVuZ3RoO1xuXHRcdFx0XHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0XHRcdFx0Z3JvdXBzWyBpIF0gPSAoIG5pZCA/IFwiI1wiICsgbmlkIDogXCI6c2NvcGVcIiApICsgXCIgXCIgK1xuXHRcdFx0XHRcdFx0XHR0b1NlbGVjdG9yKCBncm91cHNbIGkgXSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRuZXdTZWxlY3RvciA9IGdyb3Vwcy5qb2luKCBcIixcIiApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRwdXNoLmFwcGx5KCByZXN1bHRzLFxuXHRcdFx0XHRcdFx0bmV3Q29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKCBuZXdTZWxlY3RvciApXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0cztcblx0XHRcdFx0fSBjYXRjaCAoIHFzYUVycm9yICkge1xuXHRcdFx0XHRcdG5vbm5hdGl2ZVNlbGVjdG9yQ2FjaGUoIHNlbGVjdG9yLCB0cnVlICk7XG5cdFx0XHRcdH0gZmluYWxseSB7XG5cdFx0XHRcdFx0aWYgKCBuaWQgPT09IGV4cGFuZG8gKSB7XG5cdFx0XHRcdFx0XHRjb250ZXh0LnJlbW92ZUF0dHJpYnV0ZSggXCJpZFwiICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gQWxsIG90aGVyc1xuXHRyZXR1cm4gc2VsZWN0KCBzZWxlY3Rvci5yZXBsYWNlKCBydHJpbSwgXCIkMVwiICksIGNvbnRleHQsIHJlc3VsdHMsIHNlZWQgKTtcbn1cblxuLyoqXG4gKiBDcmVhdGUga2V5LXZhbHVlIGNhY2hlcyBvZiBsaW1pdGVkIHNpemVcbiAqIEByZXR1cm5zIHtmdW5jdGlvbihzdHJpbmcsIG9iamVjdCl9IFJldHVybnMgdGhlIE9iamVjdCBkYXRhIGFmdGVyIHN0b3JpbmcgaXQgb24gaXRzZWxmIHdpdGhcbiAqXHRwcm9wZXJ0eSBuYW1lIHRoZSAoc3BhY2Utc3VmZml4ZWQpIHN0cmluZyBhbmQgKGlmIHRoZSBjYWNoZSBpcyBsYXJnZXIgdGhhbiBFeHByLmNhY2hlTGVuZ3RoKVxuICpcdGRlbGV0aW5nIHRoZSBvbGRlc3QgZW50cnlcbiAqL1xuZnVuY3Rpb24gY3JlYXRlQ2FjaGUoKSB7XG5cdHZhciBrZXlzID0gW107XG5cblx0ZnVuY3Rpb24gY2FjaGUoIGtleSwgdmFsdWUgKSB7XG5cblx0XHQvLyBVc2UgKGtleSArIFwiIFwiKSB0byBhdm9pZCBjb2xsaXNpb24gd2l0aCBuYXRpdmUgcHJvdG90eXBlIHByb3BlcnRpZXMgKHNlZSBJc3N1ZSAjMTU3KVxuXHRcdGlmICgga2V5cy5wdXNoKCBrZXkgKyBcIiBcIiApID4gRXhwci5jYWNoZUxlbmd0aCApIHtcblxuXHRcdFx0Ly8gT25seSBrZWVwIHRoZSBtb3N0IHJlY2VudCBlbnRyaWVzXG5cdFx0XHRkZWxldGUgY2FjaGVbIGtleXMuc2hpZnQoKSBdO1xuXHRcdH1cblx0XHRyZXR1cm4gKCBjYWNoZVsga2V5ICsgXCIgXCIgXSA9IHZhbHVlICk7XG5cdH1cblx0cmV0dXJuIGNhY2hlO1xufVxuXG4vKipcbiAqIE1hcmsgYSBmdW5jdGlvbiBmb3Igc3BlY2lhbCB1c2UgYnkgU2l6emxlXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBUaGUgZnVuY3Rpb24gdG8gbWFya1xuICovXG5mdW5jdGlvbiBtYXJrRnVuY3Rpb24oIGZuICkge1xuXHRmblsgZXhwYW5kbyBdID0gdHJ1ZTtcblx0cmV0dXJuIGZuO1xufVxuXG4vKipcbiAqIFN1cHBvcnQgdGVzdGluZyB1c2luZyBhbiBlbGVtZW50XG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmbiBQYXNzZWQgdGhlIGNyZWF0ZWQgZWxlbWVudCBhbmQgcmV0dXJucyBhIGJvb2xlYW4gcmVzdWx0XG4gKi9cbmZ1bmN0aW9uIGFzc2VydCggZm4gKSB7XG5cdHZhciBlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiZmllbGRzZXRcIiApO1xuXG5cdHRyeSB7XG5cdFx0cmV0dXJuICEhZm4oIGVsICk7XG5cdH0gY2F0Y2ggKCBlICkge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fSBmaW5hbGx5IHtcblxuXHRcdC8vIFJlbW92ZSBmcm9tIGl0cyBwYXJlbnQgYnkgZGVmYXVsdFxuXHRcdGlmICggZWwucGFyZW50Tm9kZSApIHtcblx0XHRcdGVsLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoIGVsICk7XG5cdFx0fVxuXG5cdFx0Ly8gcmVsZWFzZSBtZW1vcnkgaW4gSUVcblx0XHRlbCA9IG51bGw7XG5cdH1cbn1cblxuLyoqXG4gKiBBZGRzIHRoZSBzYW1lIGhhbmRsZXIgZm9yIGFsbCBvZiB0aGUgc3BlY2lmaWVkIGF0dHJzXG4gKiBAcGFyYW0ge1N0cmluZ30gYXR0cnMgUGlwZS1zZXBhcmF0ZWQgbGlzdCBvZiBhdHRyaWJ1dGVzXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBoYW5kbGVyIFRoZSBtZXRob2QgdGhhdCB3aWxsIGJlIGFwcGxpZWRcbiAqL1xuZnVuY3Rpb24gYWRkSGFuZGxlKCBhdHRycywgaGFuZGxlciApIHtcblx0dmFyIGFyciA9IGF0dHJzLnNwbGl0KCBcInxcIiApLFxuXHRcdGkgPSBhcnIubGVuZ3RoO1xuXG5cdHdoaWxlICggaS0tICkge1xuXHRcdEV4cHIuYXR0ckhhbmRsZVsgYXJyWyBpIF0gXSA9IGhhbmRsZXI7XG5cdH1cbn1cblxuLyoqXG4gKiBDaGVja3MgZG9jdW1lbnQgb3JkZXIgb2YgdHdvIHNpYmxpbmdzXG4gKiBAcGFyYW0ge0VsZW1lbnR9IGFcbiAqIEBwYXJhbSB7RWxlbWVudH0gYlxuICogQHJldHVybnMge051bWJlcn0gUmV0dXJucyBsZXNzIHRoYW4gMCBpZiBhIHByZWNlZGVzIGIsIGdyZWF0ZXIgdGhhbiAwIGlmIGEgZm9sbG93cyBiXG4gKi9cbmZ1bmN0aW9uIHNpYmxpbmdDaGVjayggYSwgYiApIHtcblx0dmFyIGN1ciA9IGIgJiYgYSxcblx0XHRkaWZmID0gY3VyICYmIGEubm9kZVR5cGUgPT09IDEgJiYgYi5ub2RlVHlwZSA9PT0gMSAmJlxuXHRcdFx0YS5zb3VyY2VJbmRleCAtIGIuc291cmNlSW5kZXg7XG5cblx0Ly8gVXNlIElFIHNvdXJjZUluZGV4IGlmIGF2YWlsYWJsZSBvbiBib3RoIG5vZGVzXG5cdGlmICggZGlmZiApIHtcblx0XHRyZXR1cm4gZGlmZjtcblx0fVxuXG5cdC8vIENoZWNrIGlmIGIgZm9sbG93cyBhXG5cdGlmICggY3VyICkge1xuXHRcdHdoaWxlICggKCBjdXIgPSBjdXIubmV4dFNpYmxpbmcgKSApIHtcblx0XHRcdGlmICggY3VyID09PSBiICkge1xuXHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGEgPyAxIDogLTE7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBpbnB1dCB0eXBlc1xuICogQHBhcmFtIHtTdHJpbmd9IHR5cGVcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSW5wdXRQc2V1ZG8oIHR5cGUgKSB7XG5cdHJldHVybiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHR2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblx0XHRyZXR1cm4gbmFtZSA9PT0gXCJpbnB1dFwiICYmIGVsZW0udHlwZSA9PT0gdHlwZTtcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgZnVuY3Rpb24gdG8gdXNlIGluIHBzZXVkb3MgZm9yIGJ1dHRvbnNcbiAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZUJ1dHRvblBzZXVkbyggdHlwZSApIHtcblx0cmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdHZhciBuYW1lID0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXHRcdHJldHVybiAoIG5hbWUgPT09IFwiaW5wdXRcIiB8fCBuYW1lID09PSBcImJ1dHRvblwiICkgJiYgZWxlbS50eXBlID09PSB0eXBlO1xuXHR9O1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBmdW5jdGlvbiB0byB1c2UgaW4gcHNldWRvcyBmb3IgOmVuYWJsZWQvOmRpc2FibGVkXG4gKiBAcGFyYW0ge0Jvb2xlYW59IGRpc2FibGVkIHRydWUgZm9yIDpkaXNhYmxlZDsgZmFsc2UgZm9yIDplbmFibGVkXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZURpc2FibGVkUHNldWRvKCBkaXNhYmxlZCApIHtcblxuXHQvLyBLbm93biA6ZGlzYWJsZWQgZmFsc2UgcG9zaXRpdmVzOiBmaWVsZHNldFtkaXNhYmxlZF0gPiBsZWdlbmQ6bnRoLW9mLXR5cGUobisyKSA6Y2FuLWRpc2FibGVcblx0cmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkge1xuXG5cdFx0Ly8gT25seSBjZXJ0YWluIGVsZW1lbnRzIGNhbiBtYXRjaCA6ZW5hYmxlZCBvciA6ZGlzYWJsZWRcblx0XHQvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zY3JpcHRpbmcuaHRtbCNzZWxlY3Rvci1lbmFibGVkXG5cdFx0Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2NyaXB0aW5nLmh0bWwjc2VsZWN0b3ItZGlzYWJsZWRcblx0XHRpZiAoIFwiZm9ybVwiIGluIGVsZW0gKSB7XG5cblx0XHRcdC8vIENoZWNrIGZvciBpbmhlcml0ZWQgZGlzYWJsZWRuZXNzIG9uIHJlbGV2YW50IG5vbi1kaXNhYmxlZCBlbGVtZW50czpcblx0XHRcdC8vICogbGlzdGVkIGZvcm0tYXNzb2NpYXRlZCBlbGVtZW50cyBpbiBhIGRpc2FibGVkIGZpZWxkc2V0XG5cdFx0XHQvLyAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjY2F0ZWdvcnktbGlzdGVkXG5cdFx0XHQvLyAgIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2Zvcm1zLmh0bWwjY29uY2VwdC1mZS1kaXNhYmxlZFxuXHRcdFx0Ly8gKiBvcHRpb24gZWxlbWVudHMgaW4gYSBkaXNhYmxlZCBvcHRncm91cFxuXHRcdFx0Ly8gICBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9mb3Jtcy5odG1sI2NvbmNlcHQtb3B0aW9uLWRpc2FibGVkXG5cdFx0XHQvLyBBbGwgc3VjaCBlbGVtZW50cyBoYXZlIGEgXCJmb3JtXCIgcHJvcGVydHkuXG5cdFx0XHRpZiAoIGVsZW0ucGFyZW50Tm9kZSAmJiBlbGVtLmRpc2FibGVkID09PSBmYWxzZSApIHtcblxuXHRcdFx0XHQvLyBPcHRpb24gZWxlbWVudHMgZGVmZXIgdG8gYSBwYXJlbnQgb3B0Z3JvdXAgaWYgcHJlc2VudFxuXHRcdFx0XHRpZiAoIFwibGFiZWxcIiBpbiBlbGVtICkge1xuXHRcdFx0XHRcdGlmICggXCJsYWJlbFwiIGluIGVsZW0ucGFyZW50Tm9kZSApIHtcblx0XHRcdFx0XHRcdHJldHVybiBlbGVtLnBhcmVudE5vZGUuZGlzYWJsZWQgPT09IGRpc2FibGVkO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gZGlzYWJsZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgNiAtIDExXG5cdFx0XHRcdC8vIFVzZSB0aGUgaXNEaXNhYmxlZCBzaG9ydGN1dCBwcm9wZXJ0eSB0byBjaGVjayBmb3IgZGlzYWJsZWQgZmllbGRzZXQgYW5jZXN0b3JzXG5cdFx0XHRcdHJldHVybiBlbGVtLmlzRGlzYWJsZWQgPT09IGRpc2FibGVkIHx8XG5cblx0XHRcdFx0XHQvLyBXaGVyZSB0aGVyZSBpcyBubyBpc0Rpc2FibGVkLCBjaGVjayBtYW51YWxseVxuXHRcdFx0XHRcdC8qIGpzaGludCAtVzAxOCAqL1xuXHRcdFx0XHRcdGVsZW0uaXNEaXNhYmxlZCAhPT0gIWRpc2FibGVkICYmXG5cdFx0XHRcdFx0aW5EaXNhYmxlZEZpZWxkc2V0KCBlbGVtICkgPT09IGRpc2FibGVkO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gZGlzYWJsZWQ7XG5cblx0XHQvLyBUcnkgdG8gd2lubm93IG91dCBlbGVtZW50cyB0aGF0IGNhbid0IGJlIGRpc2FibGVkIGJlZm9yZSB0cnVzdGluZyB0aGUgZGlzYWJsZWQgcHJvcGVydHkuXG5cdFx0Ly8gU29tZSB2aWN0aW1zIGdldCBjYXVnaHQgaW4gb3VyIG5ldCAobGFiZWwsIGxlZ2VuZCwgbWVudSwgdHJhY2spLCBidXQgaXQgc2hvdWxkbid0XG5cdFx0Ly8gZXZlbiBleGlzdCBvbiB0aGVtLCBsZXQgYWxvbmUgaGF2ZSBhIGJvb2xlYW4gdmFsdWUuXG5cdFx0fSBlbHNlIGlmICggXCJsYWJlbFwiIGluIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gZWxlbS5kaXNhYmxlZCA9PT0gZGlzYWJsZWQ7XG5cdFx0fVxuXG5cdFx0Ly8gUmVtYWluaW5nIGVsZW1lbnRzIGFyZSBuZWl0aGVyIDplbmFibGVkIG5vciA6ZGlzYWJsZWRcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGZ1bmN0aW9uIHRvIHVzZSBpbiBwc2V1ZG9zIGZvciBwb3NpdGlvbmFsc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAqL1xuZnVuY3Rpb24gY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZm4gKSB7XG5cdHJldHVybiBtYXJrRnVuY3Rpb24oIGZ1bmN0aW9uKCBhcmd1bWVudCApIHtcblx0XHRhcmd1bWVudCA9ICthcmd1bWVudDtcblx0XHRyZXR1cm4gbWFya0Z1bmN0aW9uKCBmdW5jdGlvbiggc2VlZCwgbWF0Y2hlcyApIHtcblx0XHRcdHZhciBqLFxuXHRcdFx0XHRtYXRjaEluZGV4ZXMgPSBmbiggW10sIHNlZWQubGVuZ3RoLCBhcmd1bWVudCApLFxuXHRcdFx0XHRpID0gbWF0Y2hJbmRleGVzLmxlbmd0aDtcblxuXHRcdFx0Ly8gTWF0Y2ggZWxlbWVudHMgZm91bmQgYXQgdGhlIHNwZWNpZmllZCBpbmRleGVzXG5cdFx0XHR3aGlsZSAoIGktLSApIHtcblx0XHRcdFx0aWYgKCBzZWVkWyAoIGogPSBtYXRjaEluZGV4ZXNbIGkgXSApIF0gKSB7XG5cdFx0XHRcdFx0c2VlZFsgaiBdID0gISggbWF0Y2hlc1sgaiBdID0gc2VlZFsgaiBdICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9ICk7XG5cdH0gKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgYSBub2RlIGZvciB2YWxpZGl0eSBhcyBhIFNpenpsZSBjb250ZXh0XG4gKiBAcGFyYW0ge0VsZW1lbnR8T2JqZWN0PX0gY29udGV4dFxuICogQHJldHVybnMge0VsZW1lbnR8T2JqZWN0fEJvb2xlYW59IFRoZSBpbnB1dCBub2RlIGlmIGFjY2VwdGFibGUsIG90aGVyd2lzZSBhIGZhbHN5IHZhbHVlXG4gKi9cbmZ1bmN0aW9uIHRlc3RDb250ZXh0KCBjb250ZXh0ICkge1xuXHRyZXR1cm4gY29udGV4dCAmJiB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBjb250ZXh0O1xufVxuXG4vLyBFeHBvc2Ugc3VwcG9ydCB2YXJzIGZvciBjb252ZW5pZW5jZVxuc3VwcG9ydCA9IFNpenpsZS5zdXBwb3J0ID0ge307XG5cbi8qKlxuICogRGV0ZWN0cyBYTUwgbm9kZXNcbiAqIEBwYXJhbSB7RWxlbWVudHxPYmplY3R9IGVsZW0gQW4gZWxlbWVudCBvciBhIGRvY3VtZW50XG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gVHJ1ZSBpZmYgZWxlbSBpcyBhIG5vbi1IVE1MIFhNTCBub2RlXG4gKi9cbmlzWE1MID0gU2l6emxlLmlzWE1MID0gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdHZhciBuYW1lc3BhY2UgPSBlbGVtLm5hbWVzcGFjZVVSSSxcblx0XHRkb2NFbGVtID0gKCBlbGVtLm93bmVyRG9jdW1lbnQgfHwgZWxlbSApLmRvY3VtZW50RWxlbWVudDtcblxuXHQvLyBTdXBwb3J0OiBJRSA8PThcblx0Ly8gQXNzdW1lIEhUTUwgd2hlbiBkb2N1bWVudEVsZW1lbnQgZG9lc24ndCB5ZXQgZXhpc3QsIHN1Y2ggYXMgaW5zaWRlIGxvYWRpbmcgaWZyYW1lc1xuXHQvLyBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvNDgzM1xuXHRyZXR1cm4gIXJodG1sLnRlc3QoIG5hbWVzcGFjZSB8fCBkb2NFbGVtICYmIGRvY0VsZW0ubm9kZU5hbWUgfHwgXCJIVE1MXCIgKTtcbn07XG5cbi8qKlxuICogU2V0cyBkb2N1bWVudC1yZWxhdGVkIHZhcmlhYmxlcyBvbmNlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGRvY3VtZW50XG4gKiBAcGFyYW0ge0VsZW1lbnR8T2JqZWN0fSBbZG9jXSBBbiBlbGVtZW50IG9yIGRvY3VtZW50IG9iamVjdCB0byB1c2UgdG8gc2V0IHRoZSBkb2N1bWVudFxuICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY3VycmVudCBkb2N1bWVudFxuICovXG5zZXREb2N1bWVudCA9IFNpenpsZS5zZXREb2N1bWVudCA9IGZ1bmN0aW9uKCBub2RlICkge1xuXHR2YXIgaGFzQ29tcGFyZSwgc3ViV2luZG93LFxuXHRcdGRvYyA9IG5vZGUgPyBub2RlLm93bmVyRG9jdW1lbnQgfHwgbm9kZSA6IHByZWZlcnJlZERvYztcblxuXHQvLyBSZXR1cm4gZWFybHkgaWYgZG9jIGlzIGludmFsaWQgb3IgYWxyZWFkeSBzZWxlY3RlZFxuXHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdC8vIHR3byBkb2N1bWVudHM7IHNoYWxsb3cgY29tcGFyaXNvbnMgd29yay5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuXHRpZiAoIGRvYyA9PSBkb2N1bWVudCB8fCBkb2Mubm9kZVR5cGUgIT09IDkgfHwgIWRvYy5kb2N1bWVudEVsZW1lbnQgKSB7XG5cdFx0cmV0dXJuIGRvY3VtZW50O1xuXHR9XG5cblx0Ly8gVXBkYXRlIGdsb2JhbCB2YXJpYWJsZXNcblx0ZG9jdW1lbnQgPSBkb2M7XG5cdGRvY0VsZW0gPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cdGRvY3VtZW50SXNIVE1MID0gIWlzWE1MKCBkb2N1bWVudCApO1xuXG5cdC8vIFN1cHBvcnQ6IElFIDkgLSAxMSssIEVkZ2UgMTIgLSAxOCtcblx0Ly8gQWNjZXNzaW5nIGlmcmFtZSBkb2N1bWVudHMgYWZ0ZXIgdW5sb2FkIHRocm93cyBcInBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3JzIChqUXVlcnkgIzEzOTM2KVxuXHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdC8vIHR3byBkb2N1bWVudHM7IHNoYWxsb3cgY29tcGFyaXNvbnMgd29yay5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuXHRpZiAoIHByZWZlcnJlZERvYyAhPSBkb2N1bWVudCAmJlxuXHRcdCggc3ViV2luZG93ID0gZG9jdW1lbnQuZGVmYXVsdFZpZXcgKSAmJiBzdWJXaW5kb3cudG9wICE9PSBzdWJXaW5kb3cgKSB7XG5cblx0XHQvLyBTdXBwb3J0OiBJRSAxMSwgRWRnZVxuXHRcdGlmICggc3ViV2luZG93LmFkZEV2ZW50TGlzdGVuZXIgKSB7XG5cdFx0XHRzdWJXaW5kb3cuYWRkRXZlbnRMaXN0ZW5lciggXCJ1bmxvYWRcIiwgdW5sb2FkSGFuZGxlciwgZmFsc2UgKTtcblxuXHRcdC8vIFN1cHBvcnQ6IElFIDkgLSAxMCBvbmx5XG5cdFx0fSBlbHNlIGlmICggc3ViV2luZG93LmF0dGFjaEV2ZW50ICkge1xuXHRcdFx0c3ViV2luZG93LmF0dGFjaEV2ZW50KCBcIm9udW5sb2FkXCIsIHVubG9hZEhhbmRsZXIgKTtcblx0XHR9XG5cdH1cblxuXHQvLyBTdXBwb3J0OiBJRSA4IC0gMTErLCBFZGdlIDEyIC0gMTgrLCBDaHJvbWUgPD0xNiAtIDI1IG9ubHksIEZpcmVmb3ggPD0zLjYgLSAzMSBvbmx5LFxuXHQvLyBTYWZhcmkgNCAtIDUgb25seSwgT3BlcmEgPD0xMS42IC0gMTIueCBvbmx5XG5cdC8vIElFL0VkZ2UgJiBvbGRlciBicm93c2VycyBkb24ndCBzdXBwb3J0IHRoZSA6c2NvcGUgcHNldWRvLWNsYXNzLlxuXHQvLyBTdXBwb3J0OiBTYWZhcmkgNi4wIG9ubHlcblx0Ly8gU2FmYXJpIDYuMCBzdXBwb3J0cyA6c2NvcGUgYnV0IGl0J3MgYW4gYWxpYXMgb2YgOnJvb3QgdGhlcmUuXG5cdHN1cHBvcnQuc2NvcGUgPSBhc3NlcnQoIGZ1bmN0aW9uKCBlbCApIHtcblx0XHRkb2NFbGVtLmFwcGVuZENoaWxkKCBlbCApLmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcImRpdlwiICkgKTtcblx0XHRyZXR1cm4gdHlwZW9mIGVsLnF1ZXJ5U2VsZWN0b3JBbGwgIT09IFwidW5kZWZpbmVkXCIgJiZcblx0XHRcdCFlbC5xdWVyeVNlbGVjdG9yQWxsKCBcIjpzY29wZSBmaWVsZHNldCBkaXZcIiApLmxlbmd0aDtcblx0fSApO1xuXG5cdC8qIEF0dHJpYnV0ZXNcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC8vIFN1cHBvcnQ6IElFPDhcblx0Ly8gVmVyaWZ5IHRoYXQgZ2V0QXR0cmlidXRlIHJlYWxseSByZXR1cm5zIGF0dHJpYnV0ZXMgYW5kIG5vdCBwcm9wZXJ0aWVzXG5cdC8vIChleGNlcHRpbmcgSUU4IGJvb2xlYW5zKVxuXHRzdXBwb3J0LmF0dHJpYnV0ZXMgPSBhc3NlcnQoIGZ1bmN0aW9uKCBlbCApIHtcblx0XHRlbC5jbGFzc05hbWUgPSBcImlcIjtcblx0XHRyZXR1cm4gIWVsLmdldEF0dHJpYnV0ZSggXCJjbGFzc05hbWVcIiApO1xuXHR9ICk7XG5cblx0LyogZ2V0RWxlbWVudChzKUJ5KlxuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblx0Ly8gQ2hlY2sgaWYgZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCIqXCIpIHJldHVybnMgb25seSBlbGVtZW50c1xuXHRzdXBwb3J0LmdldEVsZW1lbnRzQnlUYWdOYW1lID0gYXNzZXJ0KCBmdW5jdGlvbiggZWwgKSB7XG5cdFx0ZWwuYXBwZW5kQ2hpbGQoIGRvY3VtZW50LmNyZWF0ZUNvbW1lbnQoIFwiXCIgKSApO1xuXHRcdHJldHVybiAhZWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIFwiKlwiICkubGVuZ3RoO1xuXHR9ICk7XG5cblx0Ly8gU3VwcG9ydDogSUU8OVxuXHRzdXBwb3J0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgPSBybmF0aXZlLnRlc3QoIGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUgKTtcblxuXHQvLyBTdXBwb3J0OiBJRTwxMFxuXHQvLyBDaGVjayBpZiBnZXRFbGVtZW50QnlJZCByZXR1cm5zIGVsZW1lbnRzIGJ5IG5hbWVcblx0Ly8gVGhlIGJyb2tlbiBnZXRFbGVtZW50QnlJZCBtZXRob2RzIGRvbid0IHBpY2sgdXAgcHJvZ3JhbW1hdGljYWxseS1zZXQgbmFtZXMsXG5cdC8vIHNvIHVzZSBhIHJvdW5kYWJvdXQgZ2V0RWxlbWVudHNCeU5hbWUgdGVzdFxuXHRzdXBwb3J0LmdldEJ5SWQgPSBhc3NlcnQoIGZ1bmN0aW9uKCBlbCApIHtcblx0XHRkb2NFbGVtLmFwcGVuZENoaWxkKCBlbCApLmlkID0gZXhwYW5kbztcblx0XHRyZXR1cm4gIWRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lIHx8ICFkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZSggZXhwYW5kbyApLmxlbmd0aDtcblx0fSApO1xuXG5cdC8vIElEIGZpbHRlciBhbmQgZmluZFxuXHRpZiAoIHN1cHBvcnQuZ2V0QnlJZCApIHtcblx0XHRFeHByLmZpbHRlclsgXCJJRFwiIF0gPSBmdW5jdGlvbiggaWQgKSB7XG5cdFx0XHR2YXIgYXR0cklkID0gaWQucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTtcblx0XHRcdHJldHVybiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRcdFx0cmV0dXJuIGVsZW0uZ2V0QXR0cmlidXRlKCBcImlkXCIgKSA9PT0gYXR0cklkO1xuXHRcdFx0fTtcblx0XHR9O1xuXHRcdEV4cHIuZmluZFsgXCJJRFwiIF0gPSBmdW5jdGlvbiggaWQsIGNvbnRleHQgKSB7XG5cdFx0XHRpZiAoIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRCeUlkICE9PSBcInVuZGVmaW5lZFwiICYmIGRvY3VtZW50SXNIVE1MICkge1xuXHRcdFx0XHR2YXIgZWxlbSA9IGNvbnRleHQuZ2V0RWxlbWVudEJ5SWQoIGlkICk7XG5cdFx0XHRcdHJldHVybiBlbGVtID8gWyBlbGVtIF0gOiBbXTtcblx0XHRcdH1cblx0XHR9O1xuXHR9IGVsc2Uge1xuXHRcdEV4cHIuZmlsdGVyWyBcIklEXCIgXSA9ICBmdW5jdGlvbiggaWQgKSB7XG5cdFx0XHR2YXIgYXR0cklkID0gaWQucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTtcblx0XHRcdHJldHVybiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRcdFx0dmFyIG5vZGUgPSB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGVOb2RlICE9PSBcInVuZGVmaW5lZFwiICYmXG5cdFx0XHRcdFx0ZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCBcImlkXCIgKTtcblx0XHRcdFx0cmV0dXJuIG5vZGUgJiYgbm9kZS52YWx1ZSA9PT0gYXR0cklkO1xuXHRcdFx0fTtcblx0XHR9O1xuXG5cdFx0Ly8gU3VwcG9ydDogSUUgNiAtIDcgb25seVxuXHRcdC8vIGdldEVsZW1lbnRCeUlkIGlzIG5vdCByZWxpYWJsZSBhcyBhIGZpbmQgc2hvcnRjdXRcblx0XHRFeHByLmZpbmRbIFwiSURcIiBdID0gZnVuY3Rpb24oIGlkLCBjb250ZXh0ICkge1xuXHRcdFx0aWYgKCB0eXBlb2YgY29udGV4dC5nZXRFbGVtZW50QnlJZCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkb2N1bWVudElzSFRNTCApIHtcblx0XHRcdFx0dmFyIG5vZGUsIGksIGVsZW1zLFxuXHRcdFx0XHRcdGVsZW0gPSBjb250ZXh0LmdldEVsZW1lbnRCeUlkKCBpZCApO1xuXG5cdFx0XHRcdGlmICggZWxlbSApIHtcblxuXHRcdFx0XHRcdC8vIFZlcmlmeSB0aGUgaWQgYXR0cmlidXRlXG5cdFx0XHRcdFx0bm9kZSA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSggXCJpZFwiICk7XG5cdFx0XHRcdFx0aWYgKCBub2RlICYmIG5vZGUudmFsdWUgPT09IGlkICkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIFsgZWxlbSBdO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIEZhbGwgYmFjayBvbiBnZXRFbGVtZW50c0J5TmFtZVxuXHRcdFx0XHRcdGVsZW1zID0gY29udGV4dC5nZXRFbGVtZW50c0J5TmFtZSggaWQgKTtcblx0XHRcdFx0XHRpID0gMDtcblx0XHRcdFx0XHR3aGlsZSAoICggZWxlbSA9IGVsZW1zWyBpKysgXSApICkge1xuXHRcdFx0XHRcdFx0bm9kZSA9IGVsZW0uZ2V0QXR0cmlidXRlTm9kZSggXCJpZFwiICk7XG5cdFx0XHRcdFx0XHRpZiAoIG5vZGUgJiYgbm9kZS52YWx1ZSA9PT0gaWQgKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBbIGVsZW0gXTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gW107XG5cdFx0XHR9XG5cdFx0fTtcblx0fVxuXG5cdC8vIFRhZ1xuXHRFeHByLmZpbmRbIFwiVEFHXCIgXSA9IHN1cHBvcnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgP1xuXHRcdGZ1bmN0aW9uKCB0YWcsIGNvbnRleHQgKSB7XG5cdFx0XHRpZiAoIHR5cGVvZiBjb250ZXh0LmdldEVsZW1lbnRzQnlUYWdOYW1lICE9PSBcInVuZGVmaW5lZFwiICkge1xuXHRcdFx0XHRyZXR1cm4gY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGFnICk7XG5cblx0XHRcdC8vIERvY3VtZW50RnJhZ21lbnQgbm9kZXMgZG9uJ3QgaGF2ZSBnRUJUTlxuXHRcdFx0fSBlbHNlIGlmICggc3VwcG9ydC5xc2EgKSB7XG5cdFx0XHRcdHJldHVybiBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoIHRhZyApO1xuXHRcdFx0fVxuXHRcdH0gOlxuXG5cdFx0ZnVuY3Rpb24oIHRhZywgY29udGV4dCApIHtcblx0XHRcdHZhciBlbGVtLFxuXHRcdFx0XHR0bXAgPSBbXSxcblx0XHRcdFx0aSA9IDAsXG5cblx0XHRcdFx0Ly8gQnkgaGFwcHkgY29pbmNpZGVuY2UsIGEgKGJyb2tlbikgZ0VCVE4gYXBwZWFycyBvbiBEb2N1bWVudEZyYWdtZW50IG5vZGVzIHRvb1xuXHRcdFx0XHRyZXN1bHRzID0gY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGFnICk7XG5cblx0XHRcdC8vIEZpbHRlciBvdXQgcG9zc2libGUgY29tbWVudHNcblx0XHRcdGlmICggdGFnID09PSBcIipcIiApIHtcblx0XHRcdFx0d2hpbGUgKCAoIGVsZW0gPSByZXN1bHRzWyBpKysgXSApICkge1xuXHRcdFx0XHRcdGlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSApIHtcblx0XHRcdFx0XHRcdHRtcC5wdXNoKCBlbGVtICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIHRtcDtcblx0XHRcdH1cblx0XHRcdHJldHVybiByZXN1bHRzO1xuXHRcdH07XG5cblx0Ly8gQ2xhc3Ncblx0RXhwci5maW5kWyBcIkNMQVNTXCIgXSA9IHN1cHBvcnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAmJiBmdW5jdGlvbiggY2xhc3NOYW1lLCBjb250ZXh0ICkge1xuXHRcdGlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkb2N1bWVudElzSFRNTCApIHtcblx0XHRcdHJldHVybiBjb250ZXh0LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoIGNsYXNzTmFtZSApO1xuXHRcdH1cblx0fTtcblxuXHQvKiBRU0EvbWF0Y2hlc1NlbGVjdG9yXG5cdC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXHQvLyBRU0EgYW5kIG1hdGNoZXNTZWxlY3RvciBzdXBwb3J0XG5cblx0Ly8gbWF0Y2hlc1NlbGVjdG9yKDphY3RpdmUpIHJlcG9ydHMgZmFsc2Ugd2hlbiB0cnVlIChJRTkvT3BlcmEgMTEuNSlcblx0cmJ1Z2d5TWF0Y2hlcyA9IFtdO1xuXG5cdC8vIHFTYSg6Zm9jdXMpIHJlcG9ydHMgZmFsc2Ugd2hlbiB0cnVlIChDaHJvbWUgMjEpXG5cdC8vIFdlIGFsbG93IHRoaXMgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBJRTgvOSB0aGF0IHRocm93cyBhbiBlcnJvclxuXHQvLyB3aGVuZXZlciBgZG9jdW1lbnQuYWN0aXZlRWxlbWVudGAgaXMgYWNjZXNzZWQgb24gYW4gaWZyYW1lXG5cdC8vIFNvLCB3ZSBhbGxvdyA6Zm9jdXMgdG8gcGFzcyB0aHJvdWdoIFFTQSBhbGwgdGhlIHRpbWUgdG8gYXZvaWQgdGhlIElFIGVycm9yXG5cdC8vIFNlZSBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTMzNzhcblx0cmJ1Z2d5UVNBID0gW107XG5cblx0aWYgKCAoIHN1cHBvcnQucXNhID0gcm5hdGl2ZS50ZXN0KCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsICkgKSApIHtcblxuXHRcdC8vIEJ1aWxkIFFTQSByZWdleFxuXHRcdC8vIFJlZ2V4IHN0cmF0ZWd5IGFkb3B0ZWQgZnJvbSBEaWVnbyBQZXJpbmlcblx0XHRhc3NlcnQoIGZ1bmN0aW9uKCBlbCApIHtcblxuXHRcdFx0dmFyIGlucHV0O1xuXG5cdFx0XHQvLyBTZWxlY3QgaXMgc2V0IHRvIGVtcHR5IHN0cmluZyBvbiBwdXJwb3NlXG5cdFx0XHQvLyBUaGlzIGlzIHRvIHRlc3QgSUUncyB0cmVhdG1lbnQgb2Ygbm90IGV4cGxpY2l0bHlcblx0XHRcdC8vIHNldHRpbmcgYSBib29sZWFuIGNvbnRlbnQgYXR0cmlidXRlLFxuXHRcdFx0Ly8gc2luY2UgaXRzIHByZXNlbmNlIHNob3VsZCBiZSBlbm91Z2hcblx0XHRcdC8vIGh0dHBzOi8vYnVncy5qcXVlcnkuY29tL3RpY2tldC8xMjM1OVxuXHRcdFx0ZG9jRWxlbS5hcHBlbmRDaGlsZCggZWwgKS5pbm5lckhUTUwgPSBcIjxhIGlkPSdcIiArIGV4cGFuZG8gKyBcIic+PC9hPlwiICtcblx0XHRcdFx0XCI8c2VsZWN0IGlkPSdcIiArIGV4cGFuZG8gKyBcIi1cXHJcXFxcJyBtc2FsbG93Y2FwdHVyZT0nJz5cIiArXG5cdFx0XHRcdFwiPG9wdGlvbiBzZWxlY3RlZD0nJz48L29wdGlvbj48L3NlbGVjdD5cIjtcblxuXHRcdFx0Ly8gU3VwcG9ydDogSUU4LCBPcGVyYSAxMS0xMi4xNlxuXHRcdFx0Ly8gTm90aGluZyBzaG91bGQgYmUgc2VsZWN0ZWQgd2hlbiBlbXB0eSBzdHJpbmdzIGZvbGxvdyBePSBvciAkPSBvciAqPVxuXHRcdFx0Ly8gVGhlIHRlc3QgYXR0cmlidXRlIG11c3QgYmUgdW5rbm93biBpbiBPcGVyYSBidXQgXCJzYWZlXCIgZm9yIFdpblJUXG5cdFx0XHQvLyBodHRwczovL21zZG4ubWljcm9zb2Z0LmNvbS9lbi11cy9saWJyYXJ5L2llL2hoNDY1Mzg4LmFzcHgjYXR0cmlidXRlX3NlY3Rpb25cblx0XHRcdGlmICggZWwucXVlcnlTZWxlY3RvckFsbCggXCJbbXNhbGxvd2NhcHR1cmVePScnXVwiICkubGVuZ3RoICkge1xuXHRcdFx0XHRyYnVnZ3lRU0EucHVzaCggXCJbKl4kXT1cIiArIHdoaXRlc3BhY2UgKyBcIiooPzonJ3xcXFwiXFxcIilcIiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBTdXBwb3J0OiBJRThcblx0XHRcdC8vIEJvb2xlYW4gYXR0cmlidXRlcyBhbmQgXCJ2YWx1ZVwiIGFyZSBub3QgdHJlYXRlZCBjb3JyZWN0bHlcblx0XHRcdGlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIFwiW3NlbGVjdGVkXVwiICkubGVuZ3RoICkge1xuXHRcdFx0XHRyYnVnZ3lRU0EucHVzaCggXCJcXFxcW1wiICsgd2hpdGVzcGFjZSArIFwiKig/OnZhbHVlfFwiICsgYm9vbGVhbnMgKyBcIilcIiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBTdXBwb3J0OiBDaHJvbWU8MjksIEFuZHJvaWQ8NC40LCBTYWZhcmk8Ny4wKywgaU9TPDcuMCssIFBoYW50b21KUzwxLjkuOCtcblx0XHRcdGlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIFwiW2lkfj1cIiArIGV4cGFuZG8gKyBcIi1dXCIgKS5sZW5ndGggKSB7XG5cdFx0XHRcdHJidWdneVFTQS5wdXNoKCBcIn49XCIgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU3VwcG9ydDogSUUgMTErLCBFZGdlIDE1IC0gMTgrXG5cdFx0XHQvLyBJRSAxMS9FZGdlIGRvbid0IGZpbmQgZWxlbWVudHMgb24gYSBgW25hbWU9JyddYCBxdWVyeSBpbiBzb21lIGNhc2VzLlxuXHRcdFx0Ly8gQWRkaW5nIGEgdGVtcG9yYXJ5IGF0dHJpYnV0ZSB0byB0aGUgZG9jdW1lbnQgYmVmb3JlIHRoZSBzZWxlY3Rpb24gd29ya3Ncblx0XHRcdC8vIGFyb3VuZCB0aGUgaXNzdWUuXG5cdFx0XHQvLyBJbnRlcmVzdGluZ2x5LCBJRSAxMCAmIG9sZGVyIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGUgaXNzdWUuXG5cdFx0XHRpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiaW5wdXRcIiApO1xuXHRcdFx0aW5wdXQuc2V0QXR0cmlidXRlKCBcIm5hbWVcIiwgXCJcIiApO1xuXHRcdFx0ZWwuYXBwZW5kQ2hpbGQoIGlucHV0ICk7XG5cdFx0XHRpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCBcIltuYW1lPScnXVwiICkubGVuZ3RoICkge1xuXHRcdFx0XHRyYnVnZ3lRU0EucHVzaCggXCJcXFxcW1wiICsgd2hpdGVzcGFjZSArIFwiKm5hbWVcIiArIHdoaXRlc3BhY2UgKyBcIio9XCIgK1xuXHRcdFx0XHRcdHdoaXRlc3BhY2UgKyBcIiooPzonJ3xcXFwiXFxcIilcIiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBXZWJraXQvT3BlcmEgLSA6Y2hlY2tlZCBzaG91bGQgcmV0dXJuIHNlbGVjdGVkIG9wdGlvbiBlbGVtZW50c1xuXHRcdFx0Ly8gaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMS9SRUMtY3NzMy1zZWxlY3RvcnMtMjAxMTA5MjkvI2NoZWNrZWRcblx0XHRcdC8vIElFOCB0aHJvd3MgZXJyb3IgaGVyZSBhbmQgd2lsbCBub3Qgc2VlIGxhdGVyIHRlc3RzXG5cdFx0XHRpZiAoICFlbC5xdWVyeVNlbGVjdG9yQWxsKCBcIjpjaGVja2VkXCIgKS5sZW5ndGggKSB7XG5cdFx0XHRcdHJidWdneVFTQS5wdXNoKCBcIjpjaGVja2VkXCIgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU3VwcG9ydDogU2FmYXJpIDgrLCBpT1MgOCtcblx0XHRcdC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzY4NTFcblx0XHRcdC8vIEluLXBhZ2UgYHNlbGVjdG9yI2lkIHNpYmxpbmctY29tYmluYXRvciBzZWxlY3RvcmAgZmFpbHNcblx0XHRcdGlmICggIWVsLnF1ZXJ5U2VsZWN0b3JBbGwoIFwiYSNcIiArIGV4cGFuZG8gKyBcIisqXCIgKS5sZW5ndGggKSB7XG5cdFx0XHRcdHJidWdneVFTQS5wdXNoKCBcIi4jLitbK35dXCIgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU3VwcG9ydDogRmlyZWZveCA8PTMuNiAtIDUgb25seVxuXHRcdFx0Ly8gT2xkIEZpcmVmb3ggZG9lc24ndCB0aHJvdyBvbiBhIGJhZGx5LWVzY2FwZWQgaWRlbnRpZmllci5cblx0XHRcdGVsLnF1ZXJ5U2VsZWN0b3JBbGwoIFwiXFxcXFxcZlwiICk7XG5cdFx0XHRyYnVnZ3lRU0EucHVzaCggXCJbXFxcXHJcXFxcblxcXFxmXVwiICk7XG5cdFx0fSApO1xuXG5cdFx0YXNzZXJ0KCBmdW5jdGlvbiggZWwgKSB7XG5cdFx0XHRlbC5pbm5lckhUTUwgPSBcIjxhIGhyZWY9JycgZGlzYWJsZWQ9J2Rpc2FibGVkJz48L2E+XCIgK1xuXHRcdFx0XHRcIjxzZWxlY3QgZGlzYWJsZWQ9J2Rpc2FibGVkJz48b3B0aW9uLz48L3NlbGVjdD5cIjtcblxuXHRcdFx0Ly8gU3VwcG9ydDogV2luZG93cyA4IE5hdGl2ZSBBcHBzXG5cdFx0XHQvLyBUaGUgdHlwZSBhbmQgbmFtZSBhdHRyaWJ1dGVzIGFyZSByZXN0cmljdGVkIGR1cmluZyAuaW5uZXJIVE1MIGFzc2lnbm1lbnRcblx0XHRcdHZhciBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiaW5wdXRcIiApO1xuXHRcdFx0aW5wdXQuc2V0QXR0cmlidXRlKCBcInR5cGVcIiwgXCJoaWRkZW5cIiApO1xuXHRcdFx0ZWwuYXBwZW5kQ2hpbGQoIGlucHV0ICkuc2V0QXR0cmlidXRlKCBcIm5hbWVcIiwgXCJEXCIgKTtcblxuXHRcdFx0Ly8gU3VwcG9ydDogSUU4XG5cdFx0XHQvLyBFbmZvcmNlIGNhc2Utc2Vuc2l0aXZpdHkgb2YgbmFtZSBhdHRyaWJ1dGVcblx0XHRcdGlmICggZWwucXVlcnlTZWxlY3RvckFsbCggXCJbbmFtZT1kXVwiICkubGVuZ3RoICkge1xuXHRcdFx0XHRyYnVnZ3lRU0EucHVzaCggXCJuYW1lXCIgKyB3aGl0ZXNwYWNlICsgXCIqWypeJHwhfl0/PVwiICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEZGIDMuNSAtIDplbmFibGVkLzpkaXNhYmxlZCBhbmQgaGlkZGVuIGVsZW1lbnRzIChoaWRkZW4gZWxlbWVudHMgYXJlIHN0aWxsIGVuYWJsZWQpXG5cdFx0XHQvLyBJRTggdGhyb3dzIGVycm9yIGhlcmUgYW5kIHdpbGwgbm90IHNlZSBsYXRlciB0ZXN0c1xuXHRcdFx0aWYgKCBlbC5xdWVyeVNlbGVjdG9yQWxsKCBcIjplbmFibGVkXCIgKS5sZW5ndGggIT09IDIgKSB7XG5cdFx0XHRcdHJidWdneVFTQS5wdXNoKCBcIjplbmFibGVkXCIsIFwiOmRpc2FibGVkXCIgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU3VwcG9ydDogSUU5LTExK1xuXHRcdFx0Ly8gSUUncyA6ZGlzYWJsZWQgc2VsZWN0b3IgZG9lcyBub3QgcGljayB1cCB0aGUgY2hpbGRyZW4gb2YgZGlzYWJsZWQgZmllbGRzZXRzXG5cdFx0XHRkb2NFbGVtLmFwcGVuZENoaWxkKCBlbCApLmRpc2FibGVkID0gdHJ1ZTtcblx0XHRcdGlmICggZWwucXVlcnlTZWxlY3RvckFsbCggXCI6ZGlzYWJsZWRcIiApLmxlbmd0aCAhPT0gMiApIHtcblx0XHRcdFx0cmJ1Z2d5UVNBLnB1c2goIFwiOmVuYWJsZWRcIiwgXCI6ZGlzYWJsZWRcIiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBTdXBwb3J0OiBPcGVyYSAxMCAtIDExIG9ubHlcblx0XHRcdC8vIE9wZXJhIDEwLTExIGRvZXMgbm90IHRocm93IG9uIHBvc3QtY29tbWEgaW52YWxpZCBwc2V1ZG9zXG5cdFx0XHRlbC5xdWVyeVNlbGVjdG9yQWxsKCBcIiosOnhcIiApO1xuXHRcdFx0cmJ1Z2d5UVNBLnB1c2goIFwiLC4qOlwiICk7XG5cdFx0fSApO1xuXHR9XG5cblx0aWYgKCAoIHN1cHBvcnQubWF0Y2hlc1NlbGVjdG9yID0gcm5hdGl2ZS50ZXN0KCAoIG1hdGNoZXMgPSBkb2NFbGVtLm1hdGNoZXMgfHxcblx0XHRkb2NFbGVtLndlYmtpdE1hdGNoZXNTZWxlY3RvciB8fFxuXHRcdGRvY0VsZW0ubW96TWF0Y2hlc1NlbGVjdG9yIHx8XG5cdFx0ZG9jRWxlbS5vTWF0Y2hlc1NlbGVjdG9yIHx8XG5cdFx0ZG9jRWxlbS5tc01hdGNoZXNTZWxlY3RvciApICkgKSApIHtcblxuXHRcdGFzc2VydCggZnVuY3Rpb24oIGVsICkge1xuXG5cdFx0XHQvLyBDaGVjayB0byBzZWUgaWYgaXQncyBwb3NzaWJsZSB0byBkbyBtYXRjaGVzU2VsZWN0b3Jcblx0XHRcdC8vIG9uIGEgZGlzY29ubmVjdGVkIG5vZGUgKElFIDkpXG5cdFx0XHRzdXBwb3J0LmRpc2Nvbm5lY3RlZE1hdGNoID0gbWF0Y2hlcy5jYWxsKCBlbCwgXCIqXCIgKTtcblxuXHRcdFx0Ly8gVGhpcyBzaG91bGQgZmFpbCB3aXRoIGFuIGV4Y2VwdGlvblxuXHRcdFx0Ly8gR2Vja28gZG9lcyBub3QgZXJyb3IsIHJldHVybnMgZmFsc2UgaW5zdGVhZFxuXHRcdFx0bWF0Y2hlcy5jYWxsKCBlbCwgXCJbcyE9JyddOnhcIiApO1xuXHRcdFx0cmJ1Z2d5TWF0Y2hlcy5wdXNoKCBcIiE9XCIsIHBzZXVkb3MgKTtcblx0XHR9ICk7XG5cdH1cblxuXHRyYnVnZ3lRU0EgPSByYnVnZ3lRU0EubGVuZ3RoICYmIG5ldyBSZWdFeHAoIHJidWdneVFTQS5qb2luKCBcInxcIiApICk7XG5cdHJidWdneU1hdGNoZXMgPSByYnVnZ3lNYXRjaGVzLmxlbmd0aCAmJiBuZXcgUmVnRXhwKCByYnVnZ3lNYXRjaGVzLmpvaW4oIFwifFwiICkgKTtcblxuXHQvKiBDb250YWluc1xuXHQtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cdGhhc0NvbXBhcmUgPSBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29tcGFyZURvY3VtZW50UG9zaXRpb24gKTtcblxuXHQvLyBFbGVtZW50IGNvbnRhaW5zIGFub3RoZXJcblx0Ly8gUHVycG9zZWZ1bGx5IHNlbGYtZXhjbHVzaXZlXG5cdC8vIEFzIGluLCBhbiBlbGVtZW50IGRvZXMgbm90IGNvbnRhaW4gaXRzZWxmXG5cdGNvbnRhaW5zID0gaGFzQ29tcGFyZSB8fCBybmF0aXZlLnRlc3QoIGRvY0VsZW0uY29udGFpbnMgKSA/XG5cdFx0ZnVuY3Rpb24oIGEsIGIgKSB7XG5cdFx0XHR2YXIgYWRvd24gPSBhLm5vZGVUeXBlID09PSA5ID8gYS5kb2N1bWVudEVsZW1lbnQgOiBhLFxuXHRcdFx0XHRidXAgPSBiICYmIGIucGFyZW50Tm9kZTtcblx0XHRcdHJldHVybiBhID09PSBidXAgfHwgISEoIGJ1cCAmJiBidXAubm9kZVR5cGUgPT09IDEgJiYgKFxuXHRcdFx0XHRhZG93bi5jb250YWlucyA/XG5cdFx0XHRcdFx0YWRvd24uY29udGFpbnMoIGJ1cCApIDpcblx0XHRcdFx0XHRhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uICYmIGEuY29tcGFyZURvY3VtZW50UG9zaXRpb24oIGJ1cCApICYgMTZcblx0XHRcdCkgKTtcblx0XHR9IDpcblx0XHRmdW5jdGlvbiggYSwgYiApIHtcblx0XHRcdGlmICggYiApIHtcblx0XHRcdFx0d2hpbGUgKCAoIGIgPSBiLnBhcmVudE5vZGUgKSApIHtcblx0XHRcdFx0XHRpZiAoIGIgPT09IGEgKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9O1xuXG5cdC8qIFNvcnRpbmdcblx0LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5cdC8vIERvY3VtZW50IG9yZGVyIHNvcnRpbmdcblx0c29ydE9yZGVyID0gaGFzQ29tcGFyZSA/XG5cdGZ1bmN0aW9uKCBhLCBiICkge1xuXG5cdFx0Ly8gRmxhZyBmb3IgZHVwbGljYXRlIHJlbW92YWxcblx0XHRpZiAoIGEgPT09IGIgKSB7XG5cdFx0XHRoYXNEdXBsaWNhdGUgPSB0cnVlO1xuXHRcdFx0cmV0dXJuIDA7XG5cdFx0fVxuXG5cdFx0Ly8gU29ydCBvbiBtZXRob2QgZXhpc3RlbmNlIGlmIG9ubHkgb25lIGlucHV0IGhhcyBjb21wYXJlRG9jdW1lbnRQb3NpdGlvblxuXHRcdHZhciBjb21wYXJlID0gIWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24gLSAhYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbjtcblx0XHRpZiAoIGNvbXBhcmUgKSB7XG5cdFx0XHRyZXR1cm4gY29tcGFyZTtcblx0XHR9XG5cblx0XHQvLyBDYWxjdWxhdGUgcG9zaXRpb24gaWYgYm90aCBpbnB1dHMgYmVsb25nIHRvIHRoZSBzYW1lIGRvY3VtZW50XG5cdFx0Ly8gU3VwcG9ydDogSUUgMTErLCBFZGdlIDE3IC0gMTgrXG5cdFx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdFx0Ly8gdHdvIGRvY3VtZW50czsgc2hhbGxvdyBjb21wYXJpc29ucyB3b3JrLlxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcblx0XHRjb21wYXJlID0gKCBhLm93bmVyRG9jdW1lbnQgfHwgYSApID09ICggYi5vd25lckRvY3VtZW50IHx8IGIgKSA/XG5cdFx0XHRhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBiICkgOlxuXG5cdFx0XHQvLyBPdGhlcndpc2Ugd2Uga25vdyB0aGV5IGFyZSBkaXNjb25uZWN0ZWRcblx0XHRcdDE7XG5cblx0XHQvLyBEaXNjb25uZWN0ZWQgbm9kZXNcblx0XHRpZiAoIGNvbXBhcmUgJiAxIHx8XG5cdFx0XHQoICFzdXBwb3J0LnNvcnREZXRhY2hlZCAmJiBiLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBhICkgPT09IGNvbXBhcmUgKSApIHtcblxuXHRcdFx0Ly8gQ2hvb3NlIHRoZSBmaXJzdCBlbGVtZW50IHRoYXQgaXMgcmVsYXRlZCB0byBvdXIgcHJlZmVycmVkIGRvY3VtZW50XG5cdFx0XHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0XHRcdC8vIElFL0VkZ2Ugc29tZXRpbWVzIHRocm93IGEgXCJQZXJtaXNzaW9uIGRlbmllZFwiIGVycm9yIHdoZW4gc3RyaWN0LWNvbXBhcmluZ1xuXHRcdFx0Ly8gdHdvIGRvY3VtZW50czsgc2hhbGxvdyBjb21wYXJpc29ucyB3b3JrLlxuXHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuXHRcdFx0aWYgKCBhID09IGRvY3VtZW50IHx8IGEub3duZXJEb2N1bWVudCA9PSBwcmVmZXJyZWREb2MgJiZcblx0XHRcdFx0Y29udGFpbnMoIHByZWZlcnJlZERvYywgYSApICkge1xuXHRcdFx0XHRyZXR1cm4gLTE7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFN1cHBvcnQ6IElFIDExKywgRWRnZSAxNyAtIDE4K1xuXHRcdFx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdFx0XHQvLyB0d28gZG9jdW1lbnRzOyBzaGFsbG93IGNvbXBhcmlzb25zIHdvcmsuXG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZXFlcWVxXG5cdFx0XHRpZiAoIGIgPT0gZG9jdW1lbnQgfHwgYi5vd25lckRvY3VtZW50ID09IHByZWZlcnJlZERvYyAmJlxuXHRcdFx0XHRjb250YWlucyggcHJlZmVycmVkRG9jLCBiICkgKSB7XG5cdFx0XHRcdHJldHVybiAxO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBNYWludGFpbiBvcmlnaW5hbCBvcmRlclxuXHRcdFx0cmV0dXJuIHNvcnRJbnB1dCA/XG5cdFx0XHRcdCggaW5kZXhPZiggc29ydElucHV0LCBhICkgLSBpbmRleE9mKCBzb3J0SW5wdXQsIGIgKSApIDpcblx0XHRcdFx0MDtcblx0XHR9XG5cblx0XHRyZXR1cm4gY29tcGFyZSAmIDQgPyAtMSA6IDE7XG5cdH0gOlxuXHRmdW5jdGlvbiggYSwgYiApIHtcblxuXHRcdC8vIEV4aXQgZWFybHkgaWYgdGhlIG5vZGVzIGFyZSBpZGVudGljYWxcblx0XHRpZiAoIGEgPT09IGIgKSB7XG5cdFx0XHRoYXNEdXBsaWNhdGUgPSB0cnVlO1xuXHRcdFx0cmV0dXJuIDA7XG5cdFx0fVxuXG5cdFx0dmFyIGN1cixcblx0XHRcdGkgPSAwLFxuXHRcdFx0YXVwID0gYS5wYXJlbnROb2RlLFxuXHRcdFx0YnVwID0gYi5wYXJlbnROb2RlLFxuXHRcdFx0YXAgPSBbIGEgXSxcblx0XHRcdGJwID0gWyBiIF07XG5cblx0XHQvLyBQYXJlbnRsZXNzIG5vZGVzIGFyZSBlaXRoZXIgZG9jdW1lbnRzIG9yIGRpc2Nvbm5lY3RlZFxuXHRcdGlmICggIWF1cCB8fCAhYnVwICkge1xuXG5cdFx0XHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0XHRcdC8vIElFL0VkZ2Ugc29tZXRpbWVzIHRocm93IGEgXCJQZXJtaXNzaW9uIGRlbmllZFwiIGVycm9yIHdoZW4gc3RyaWN0LWNvbXBhcmluZ1xuXHRcdFx0Ly8gdHdvIGRvY3VtZW50czsgc2hhbGxvdyBjb21wYXJpc29ucyB3b3JrLlxuXHRcdFx0LyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG5cdFx0XHRyZXR1cm4gYSA9PSBkb2N1bWVudCA/IC0xIDpcblx0XHRcdFx0YiA9PSBkb2N1bWVudCA/IDEgOlxuXHRcdFx0XHQvKiBlc2xpbnQtZW5hYmxlIGVxZXFlcSAqL1xuXHRcdFx0XHRhdXAgPyAtMSA6XG5cdFx0XHRcdGJ1cCA/IDEgOlxuXHRcdFx0XHRzb3J0SW5wdXQgP1xuXHRcdFx0XHQoIGluZGV4T2YoIHNvcnRJbnB1dCwgYSApIC0gaW5kZXhPZiggc29ydElucHV0LCBiICkgKSA6XG5cdFx0XHRcdDA7XG5cblx0XHQvLyBJZiB0aGUgbm9kZXMgYXJlIHNpYmxpbmdzLCB3ZSBjYW4gZG8gYSBxdWljayBjaGVja1xuXHRcdH0gZWxzZSBpZiAoIGF1cCA9PT0gYnVwICkge1xuXHRcdFx0cmV0dXJuIHNpYmxpbmdDaGVjayggYSwgYiApO1xuXHRcdH1cblxuXHRcdC8vIE90aGVyd2lzZSB3ZSBuZWVkIGZ1bGwgbGlzdHMgb2YgdGhlaXIgYW5jZXN0b3JzIGZvciBjb21wYXJpc29uXG5cdFx0Y3VyID0gYTtcblx0XHR3aGlsZSAoICggY3VyID0gY3VyLnBhcmVudE5vZGUgKSApIHtcblx0XHRcdGFwLnVuc2hpZnQoIGN1ciApO1xuXHRcdH1cblx0XHRjdXIgPSBiO1xuXHRcdHdoaWxlICggKCBjdXIgPSBjdXIucGFyZW50Tm9kZSApICkge1xuXHRcdFx0YnAudW5zaGlmdCggY3VyICk7XG5cdFx0fVxuXG5cdFx0Ly8gV2FsayBkb3duIHRoZSB0cmVlIGxvb2tpbmcgZm9yIGEgZGlzY3JlcGFuY3lcblx0XHR3aGlsZSAoIGFwWyBpIF0gPT09IGJwWyBpIF0gKSB7XG5cdFx0XHRpKys7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGkgP1xuXG5cdFx0XHQvLyBEbyBhIHNpYmxpbmcgY2hlY2sgaWYgdGhlIG5vZGVzIGhhdmUgYSBjb21tb24gYW5jZXN0b3Jcblx0XHRcdHNpYmxpbmdDaGVjayggYXBbIGkgXSwgYnBbIGkgXSApIDpcblxuXHRcdFx0Ly8gT3RoZXJ3aXNlIG5vZGVzIGluIG91ciBkb2N1bWVudCBzb3J0IGZpcnN0XG5cdFx0XHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0XHRcdC8vIElFL0VkZ2Ugc29tZXRpbWVzIHRocm93IGEgXCJQZXJtaXNzaW9uIGRlbmllZFwiIGVycm9yIHdoZW4gc3RyaWN0LWNvbXBhcmluZ1xuXHRcdFx0Ly8gdHdvIGRvY3VtZW50czsgc2hhbGxvdyBjb21wYXJpc29ucyB3b3JrLlxuXHRcdFx0LyogZXNsaW50LWRpc2FibGUgZXFlcWVxICovXG5cdFx0XHRhcFsgaSBdID09IHByZWZlcnJlZERvYyA/IC0xIDpcblx0XHRcdGJwWyBpIF0gPT0gcHJlZmVycmVkRG9jID8gMSA6XG5cdFx0XHQvKiBlc2xpbnQtZW5hYmxlIGVxZXFlcSAqL1xuXHRcdFx0MDtcblx0fTtcblxuXHRyZXR1cm4gZG9jdW1lbnQ7XG59O1xuXG5TaXp6bGUubWF0Y2hlcyA9IGZ1bmN0aW9uKCBleHByLCBlbGVtZW50cyApIHtcblx0cmV0dXJuIFNpenpsZSggZXhwciwgbnVsbCwgbnVsbCwgZWxlbWVudHMgKTtcbn07XG5cblNpenpsZS5tYXRjaGVzU2VsZWN0b3IgPSBmdW5jdGlvbiggZWxlbSwgZXhwciApIHtcblx0c2V0RG9jdW1lbnQoIGVsZW0gKTtcblxuXHRpZiAoIHN1cHBvcnQubWF0Y2hlc1NlbGVjdG9yICYmIGRvY3VtZW50SXNIVE1MICYmXG5cdFx0IW5vbm5hdGl2ZVNlbGVjdG9yQ2FjaGVbIGV4cHIgKyBcIiBcIiBdICYmXG5cdFx0KCAhcmJ1Z2d5TWF0Y2hlcyB8fCAhcmJ1Z2d5TWF0Y2hlcy50ZXN0KCBleHByICkgKSAmJlxuXHRcdCggIXJidWdneVFTQSAgICAgfHwgIXJidWdneVFTQS50ZXN0KCBleHByICkgKSApIHtcblxuXHRcdHRyeSB7XG5cdFx0XHR2YXIgcmV0ID0gbWF0Y2hlcy5jYWxsKCBlbGVtLCBleHByICk7XG5cblx0XHRcdC8vIElFIDkncyBtYXRjaGVzU2VsZWN0b3IgcmV0dXJucyBmYWxzZSBvbiBkaXNjb25uZWN0ZWQgbm9kZXNcblx0XHRcdGlmICggcmV0IHx8IHN1cHBvcnQuZGlzY29ubmVjdGVkTWF0Y2ggfHxcblxuXHRcdFx0XHQvLyBBcyB3ZWxsLCBkaXNjb25uZWN0ZWQgbm9kZXMgYXJlIHNhaWQgdG8gYmUgaW4gYSBkb2N1bWVudFxuXHRcdFx0XHQvLyBmcmFnbWVudCBpbiBJRSA5XG5cdFx0XHRcdGVsZW0uZG9jdW1lbnQgJiYgZWxlbS5kb2N1bWVudC5ub2RlVHlwZSAhPT0gMTEgKSB7XG5cdFx0XHRcdHJldHVybiByZXQ7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoIGUgKSB7XG5cdFx0XHRub25uYXRpdmVTZWxlY3RvckNhY2hlKCBleHByLCB0cnVlICk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIFNpenpsZSggZXhwciwgZG9jdW1lbnQsIG51bGwsIFsgZWxlbSBdICkubGVuZ3RoID4gMDtcbn07XG5cblNpenpsZS5jb250YWlucyA9IGZ1bmN0aW9uKCBjb250ZXh0LCBlbGVtICkge1xuXG5cdC8vIFNldCBkb2N1bWVudCB2YXJzIGlmIG5lZWRlZFxuXHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdC8vIHR3byBkb2N1bWVudHM7IHNoYWxsb3cgY29tcGFyaXNvbnMgd29yay5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuXHRpZiAoICggY29udGV4dC5vd25lckRvY3VtZW50IHx8IGNvbnRleHQgKSAhPSBkb2N1bWVudCApIHtcblx0XHRzZXREb2N1bWVudCggY29udGV4dCApO1xuXHR9XG5cdHJldHVybiBjb250YWlucyggY29udGV4dCwgZWxlbSApO1xufTtcblxuU2l6emxlLmF0dHIgPSBmdW5jdGlvbiggZWxlbSwgbmFtZSApIHtcblxuXHQvLyBTZXQgZG9jdW1lbnQgdmFycyBpZiBuZWVkZWRcblx0Ly8gU3VwcG9ydDogSUUgMTErLCBFZGdlIDE3IC0gMTgrXG5cdC8vIElFL0VkZ2Ugc29tZXRpbWVzIHRocm93IGEgXCJQZXJtaXNzaW9uIGRlbmllZFwiIGVycm9yIHdoZW4gc3RyaWN0LWNvbXBhcmluZ1xuXHQvLyB0d28gZG9jdW1lbnRzOyBzaGFsbG93IGNvbXBhcmlzb25zIHdvcmsuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcblx0aWYgKCAoIGVsZW0ub3duZXJEb2N1bWVudCB8fCBlbGVtICkgIT0gZG9jdW1lbnQgKSB7XG5cdFx0c2V0RG9jdW1lbnQoIGVsZW0gKTtcblx0fVxuXG5cdHZhciBmbiA9IEV4cHIuYXR0ckhhbmRsZVsgbmFtZS50b0xvd2VyQ2FzZSgpIF0sXG5cblx0XHQvLyBEb24ndCBnZXQgZm9vbGVkIGJ5IE9iamVjdC5wcm90b3R5cGUgcHJvcGVydGllcyAoalF1ZXJ5ICMxMzgwNylcblx0XHR2YWwgPSBmbiAmJiBoYXNPd24uY2FsbCggRXhwci5hdHRySGFuZGxlLCBuYW1lLnRvTG93ZXJDYXNlKCkgKSA/XG5cdFx0XHRmbiggZWxlbSwgbmFtZSwgIWRvY3VtZW50SXNIVE1MICkgOlxuXHRcdFx0dW5kZWZpbmVkO1xuXG5cdHJldHVybiB2YWwgIT09IHVuZGVmaW5lZCA/XG5cdFx0dmFsIDpcblx0XHRzdXBwb3J0LmF0dHJpYnV0ZXMgfHwgIWRvY3VtZW50SXNIVE1MID9cblx0XHRcdGVsZW0uZ2V0QXR0cmlidXRlKCBuYW1lICkgOlxuXHRcdFx0KCB2YWwgPSBlbGVtLmdldEF0dHJpYnV0ZU5vZGUoIG5hbWUgKSApICYmIHZhbC5zcGVjaWZpZWQgP1xuXHRcdFx0XHR2YWwudmFsdWUgOlxuXHRcdFx0XHRudWxsO1xufTtcblxuU2l6emxlLmVzY2FwZSA9IGZ1bmN0aW9uKCBzZWwgKSB7XG5cdHJldHVybiAoIHNlbCArIFwiXCIgKS5yZXBsYWNlKCByY3NzZXNjYXBlLCBmY3NzZXNjYXBlICk7XG59O1xuXG5TaXp6bGUuZXJyb3IgPSBmdW5jdGlvbiggbXNnICkge1xuXHR0aHJvdyBuZXcgRXJyb3IoIFwiU3ludGF4IGVycm9yLCB1bnJlY29nbml6ZWQgZXhwcmVzc2lvbjogXCIgKyBtc2cgKTtcbn07XG5cbi8qKlxuICogRG9jdW1lbnQgc29ydGluZyBhbmQgcmVtb3ZpbmcgZHVwbGljYXRlc1xuICogQHBhcmFtIHtBcnJheUxpa2V9IHJlc3VsdHNcbiAqL1xuU2l6emxlLnVuaXF1ZVNvcnQgPSBmdW5jdGlvbiggcmVzdWx0cyApIHtcblx0dmFyIGVsZW0sXG5cdFx0ZHVwbGljYXRlcyA9IFtdLFxuXHRcdGogPSAwLFxuXHRcdGkgPSAwO1xuXG5cdC8vIFVubGVzcyB3ZSAqa25vdyogd2UgY2FuIGRldGVjdCBkdXBsaWNhdGVzLCBhc3N1bWUgdGhlaXIgcHJlc2VuY2Vcblx0aGFzRHVwbGljYXRlID0gIXN1cHBvcnQuZGV0ZWN0RHVwbGljYXRlcztcblx0c29ydElucHV0ID0gIXN1cHBvcnQuc29ydFN0YWJsZSAmJiByZXN1bHRzLnNsaWNlKCAwICk7XG5cdHJlc3VsdHMuc29ydCggc29ydE9yZGVyICk7XG5cblx0aWYgKCBoYXNEdXBsaWNhdGUgKSB7XG5cdFx0d2hpbGUgKCAoIGVsZW0gPSByZXN1bHRzWyBpKysgXSApICkge1xuXHRcdFx0aWYgKCBlbGVtID09PSByZXN1bHRzWyBpIF0gKSB7XG5cdFx0XHRcdGogPSBkdXBsaWNhdGVzLnB1c2goIGkgKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0d2hpbGUgKCBqLS0gKSB7XG5cdFx0XHRyZXN1bHRzLnNwbGljZSggZHVwbGljYXRlc1sgaiBdLCAxICk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQ2xlYXIgaW5wdXQgYWZ0ZXIgc29ydGluZyB0byByZWxlYXNlIG9iamVjdHNcblx0Ly8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcXVlcnkvc2l6emxlL3B1bGwvMjI1XG5cdHNvcnRJbnB1dCA9IG51bGw7XG5cblx0cmV0dXJuIHJlc3VsdHM7XG59O1xuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gZm9yIHJldHJpZXZpbmcgdGhlIHRleHQgdmFsdWUgb2YgYW4gYXJyYXkgb2YgRE9NIG5vZGVzXG4gKiBAcGFyYW0ge0FycmF5fEVsZW1lbnR9IGVsZW1cbiAqL1xuZ2V0VGV4dCA9IFNpenpsZS5nZXRUZXh0ID0gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdHZhciBub2RlLFxuXHRcdHJldCA9IFwiXCIsXG5cdFx0aSA9IDAsXG5cdFx0bm9kZVR5cGUgPSBlbGVtLm5vZGVUeXBlO1xuXG5cdGlmICggIW5vZGVUeXBlICkge1xuXG5cdFx0Ly8gSWYgbm8gbm9kZVR5cGUsIHRoaXMgaXMgZXhwZWN0ZWQgdG8gYmUgYW4gYXJyYXlcblx0XHR3aGlsZSAoICggbm9kZSA9IGVsZW1bIGkrKyBdICkgKSB7XG5cblx0XHRcdC8vIERvIG5vdCB0cmF2ZXJzZSBjb21tZW50IG5vZGVzXG5cdFx0XHRyZXQgKz0gZ2V0VGV4dCggbm9kZSApO1xuXHRcdH1cblx0fSBlbHNlIGlmICggbm9kZVR5cGUgPT09IDEgfHwgbm9kZVR5cGUgPT09IDkgfHwgbm9kZVR5cGUgPT09IDExICkge1xuXG5cdFx0Ly8gVXNlIHRleHRDb250ZW50IGZvciBlbGVtZW50c1xuXHRcdC8vIGlubmVyVGV4dCB1c2FnZSByZW1vdmVkIGZvciBjb25zaXN0ZW5jeSBvZiBuZXcgbGluZXMgKGpRdWVyeSAjMTExNTMpXG5cdFx0aWYgKCB0eXBlb2YgZWxlbS50ZXh0Q29udGVudCA9PT0gXCJzdHJpbmdcIiApIHtcblx0XHRcdHJldHVybiBlbGVtLnRleHRDb250ZW50O1xuXHRcdH0gZWxzZSB7XG5cblx0XHRcdC8vIFRyYXZlcnNlIGl0cyBjaGlsZHJlblxuXHRcdFx0Zm9yICggZWxlbSA9IGVsZW0uZmlyc3RDaGlsZDsgZWxlbTsgZWxlbSA9IGVsZW0ubmV4dFNpYmxpbmcgKSB7XG5cdFx0XHRcdHJldCArPSBnZXRUZXh0KCBlbGVtICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9IGVsc2UgaWYgKCBub2RlVHlwZSA9PT0gMyB8fCBub2RlVHlwZSA9PT0gNCApIHtcblx0XHRyZXR1cm4gZWxlbS5ub2RlVmFsdWU7XG5cdH1cblxuXHQvLyBEbyBub3QgaW5jbHVkZSBjb21tZW50IG9yIHByb2Nlc3NpbmcgaW5zdHJ1Y3Rpb24gbm9kZXNcblxuXHRyZXR1cm4gcmV0O1xufTtcblxuRXhwciA9IFNpenpsZS5zZWxlY3RvcnMgPSB7XG5cblx0Ly8gQ2FuIGJlIGFkanVzdGVkIGJ5IHRoZSB1c2VyXG5cdGNhY2hlTGVuZ3RoOiA1MCxcblxuXHRjcmVhdGVQc2V1ZG86IG1hcmtGdW5jdGlvbixcblxuXHRtYXRjaDogbWF0Y2hFeHByLFxuXG5cdGF0dHJIYW5kbGU6IHt9LFxuXG5cdGZpbmQ6IHt9LFxuXG5cdHJlbGF0aXZlOiB7XG5cdFx0XCI+XCI6IHsgZGlyOiBcInBhcmVudE5vZGVcIiwgZmlyc3Q6IHRydWUgfSxcblx0XHRcIiBcIjogeyBkaXI6IFwicGFyZW50Tm9kZVwiIH0sXG5cdFx0XCIrXCI6IHsgZGlyOiBcInByZXZpb3VzU2libGluZ1wiLCBmaXJzdDogdHJ1ZSB9LFxuXHRcdFwiflwiOiB7IGRpcjogXCJwcmV2aW91c1NpYmxpbmdcIiB9XG5cdH0sXG5cblx0cHJlRmlsdGVyOiB7XG5cdFx0XCJBVFRSXCI6IGZ1bmN0aW9uKCBtYXRjaCApIHtcblx0XHRcdG1hdGNoWyAxIF0gPSBtYXRjaFsgMSBdLnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7XG5cblx0XHRcdC8vIE1vdmUgdGhlIGdpdmVuIHZhbHVlIHRvIG1hdGNoWzNdIHdoZXRoZXIgcXVvdGVkIG9yIHVucXVvdGVkXG5cdFx0XHRtYXRjaFsgMyBdID0gKCBtYXRjaFsgMyBdIHx8IG1hdGNoWyA0IF0gfHxcblx0XHRcdFx0bWF0Y2hbIDUgXSB8fCBcIlwiICkucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKTtcblxuXHRcdFx0aWYgKCBtYXRjaFsgMiBdID09PSBcIn49XCIgKSB7XG5cdFx0XHRcdG1hdGNoWyAzIF0gPSBcIiBcIiArIG1hdGNoWyAzIF0gKyBcIiBcIjtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIG1hdGNoLnNsaWNlKCAwLCA0ICk7XG5cdFx0fSxcblxuXHRcdFwiQ0hJTERcIjogZnVuY3Rpb24oIG1hdGNoICkge1xuXG5cdFx0XHQvKiBtYXRjaGVzIGZyb20gbWF0Y2hFeHByW1wiQ0hJTERcIl1cblx0XHRcdFx0MSB0eXBlIChvbmx5fG50aHwuLi4pXG5cdFx0XHRcdDIgd2hhdCAoY2hpbGR8b2YtdHlwZSlcblx0XHRcdFx0MyBhcmd1bWVudCAoZXZlbnxvZGR8XFxkKnxcXGQqbihbKy1dXFxkKyk/fC4uLilcblx0XHRcdFx0NCB4bi1jb21wb25lbnQgb2YgeG4reSBhcmd1bWVudCAoWystXT9cXGQqbnwpXG5cdFx0XHRcdDUgc2lnbiBvZiB4bi1jb21wb25lbnRcblx0XHRcdFx0NiB4IG9mIHhuLWNvbXBvbmVudFxuXHRcdFx0XHQ3IHNpZ24gb2YgeS1jb21wb25lbnRcblx0XHRcdFx0OCB5IG9mIHktY29tcG9uZW50XG5cdFx0XHQqL1xuXHRcdFx0bWF0Y2hbIDEgXSA9IG1hdGNoWyAxIF0udG9Mb3dlckNhc2UoKTtcblxuXHRcdFx0aWYgKCBtYXRjaFsgMSBdLnNsaWNlKCAwLCAzICkgPT09IFwibnRoXCIgKSB7XG5cblx0XHRcdFx0Ly8gbnRoLSogcmVxdWlyZXMgYXJndW1lbnRcblx0XHRcdFx0aWYgKCAhbWF0Y2hbIDMgXSApIHtcblx0XHRcdFx0XHRTaXp6bGUuZXJyb3IoIG1hdGNoWyAwIF0gKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIG51bWVyaWMgeCBhbmQgeSBwYXJhbWV0ZXJzIGZvciBFeHByLmZpbHRlci5DSElMRFxuXHRcdFx0XHQvLyByZW1lbWJlciB0aGF0IGZhbHNlL3RydWUgY2FzdCByZXNwZWN0aXZlbHkgdG8gMC8xXG5cdFx0XHRcdG1hdGNoWyA0IF0gPSArKCBtYXRjaFsgNCBdID9cblx0XHRcdFx0XHRtYXRjaFsgNSBdICsgKCBtYXRjaFsgNiBdIHx8IDEgKSA6XG5cdFx0XHRcdFx0MiAqICggbWF0Y2hbIDMgXSA9PT0gXCJldmVuXCIgfHwgbWF0Y2hbIDMgXSA9PT0gXCJvZGRcIiApICk7XG5cdFx0XHRcdG1hdGNoWyA1IF0gPSArKCAoIG1hdGNoWyA3IF0gKyBtYXRjaFsgOCBdICkgfHwgbWF0Y2hbIDMgXSA9PT0gXCJvZGRcIiApO1xuXG5cdFx0XHRcdC8vIG90aGVyIHR5cGVzIHByb2hpYml0IGFyZ3VtZW50c1xuXHRcdFx0fSBlbHNlIGlmICggbWF0Y2hbIDMgXSApIHtcblx0XHRcdFx0U2l6emxlLmVycm9yKCBtYXRjaFsgMCBdICk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBtYXRjaDtcblx0XHR9LFxuXG5cdFx0XCJQU0VVRE9cIjogZnVuY3Rpb24oIG1hdGNoICkge1xuXHRcdFx0dmFyIGV4Y2Vzcyxcblx0XHRcdFx0dW5xdW90ZWQgPSAhbWF0Y2hbIDYgXSAmJiBtYXRjaFsgMiBdO1xuXG5cdFx0XHRpZiAoIG1hdGNoRXhwclsgXCJDSElMRFwiIF0udGVzdCggbWF0Y2hbIDAgXSApICkge1xuXHRcdFx0XHRyZXR1cm4gbnVsbDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gQWNjZXB0IHF1b3RlZCBhcmd1bWVudHMgYXMtaXNcblx0XHRcdGlmICggbWF0Y2hbIDMgXSApIHtcblx0XHRcdFx0bWF0Y2hbIDIgXSA9IG1hdGNoWyA0IF0gfHwgbWF0Y2hbIDUgXSB8fCBcIlwiO1xuXG5cdFx0XHQvLyBTdHJpcCBleGNlc3MgY2hhcmFjdGVycyBmcm9tIHVucXVvdGVkIGFyZ3VtZW50c1xuXHRcdFx0fSBlbHNlIGlmICggdW5xdW90ZWQgJiYgcnBzZXVkby50ZXN0KCB1bnF1b3RlZCApICYmXG5cblx0XHRcdFx0Ly8gR2V0IGV4Y2VzcyBmcm9tIHRva2VuaXplIChyZWN1cnNpdmVseSlcblx0XHRcdFx0KCBleGNlc3MgPSB0b2tlbml6ZSggdW5xdW90ZWQsIHRydWUgKSApICYmXG5cblx0XHRcdFx0Ly8gYWR2YW5jZSB0byB0aGUgbmV4dCBjbG9zaW5nIHBhcmVudGhlc2lzXG5cdFx0XHRcdCggZXhjZXNzID0gdW5xdW90ZWQuaW5kZXhPZiggXCIpXCIsIHVucXVvdGVkLmxlbmd0aCAtIGV4Y2VzcyApIC0gdW5xdW90ZWQubGVuZ3RoICkgKSB7XG5cblx0XHRcdFx0Ly8gZXhjZXNzIGlzIGEgbmVnYXRpdmUgaW5kZXhcblx0XHRcdFx0bWF0Y2hbIDAgXSA9IG1hdGNoWyAwIF0uc2xpY2UoIDAsIGV4Y2VzcyApO1xuXHRcdFx0XHRtYXRjaFsgMiBdID0gdW5xdW90ZWQuc2xpY2UoIDAsIGV4Y2VzcyApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBSZXR1cm4gb25seSBjYXB0dXJlcyBuZWVkZWQgYnkgdGhlIHBzZXVkbyBmaWx0ZXIgbWV0aG9kICh0eXBlIGFuZCBhcmd1bWVudClcblx0XHRcdHJldHVybiBtYXRjaC5zbGljZSggMCwgMyApO1xuXHRcdH1cblx0fSxcblxuXHRmaWx0ZXI6IHtcblxuXHRcdFwiVEFHXCI6IGZ1bmN0aW9uKCBub2RlTmFtZVNlbGVjdG9yICkge1xuXHRcdFx0dmFyIG5vZGVOYW1lID0gbm9kZU5hbWVTZWxlY3Rvci5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApLnRvTG93ZXJDYXNlKCk7XG5cdFx0XHRyZXR1cm4gbm9kZU5hbWVTZWxlY3RvciA9PT0gXCIqXCIgP1xuXHRcdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fSA6XG5cdFx0XHRcdGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0XHRcdHJldHVybiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gbm9kZU5hbWU7XG5cdFx0XHRcdH07XG5cdFx0fSxcblxuXHRcdFwiQ0xBU1NcIjogZnVuY3Rpb24oIGNsYXNzTmFtZSApIHtcblx0XHRcdHZhciBwYXR0ZXJuID0gY2xhc3NDYWNoZVsgY2xhc3NOYW1lICsgXCIgXCIgXTtcblxuXHRcdFx0cmV0dXJuIHBhdHRlcm4gfHxcblx0XHRcdFx0KCBwYXR0ZXJuID0gbmV3IFJlZ0V4cCggXCIoXnxcIiArIHdoaXRlc3BhY2UgK1xuXHRcdFx0XHRcdFwiKVwiICsgY2xhc3NOYW1lICsgXCIoXCIgKyB3aGl0ZXNwYWNlICsgXCJ8JClcIiApICkgJiYgY2xhc3NDYWNoZShcblx0XHRcdFx0XHRcdGNsYXNzTmFtZSwgZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBwYXR0ZXJuLnRlc3QoXG5cdFx0XHRcdFx0XHRcdFx0dHlwZW9mIGVsZW0uY2xhc3NOYW1lID09PSBcInN0cmluZ1wiICYmIGVsZW0uY2xhc3NOYW1lIHx8XG5cdFx0XHRcdFx0XHRcdFx0dHlwZW9mIGVsZW0uZ2V0QXR0cmlidXRlICE9PSBcInVuZGVmaW5lZFwiICYmXG5cdFx0XHRcdFx0XHRcdFx0XHRlbGVtLmdldEF0dHJpYnV0ZSggXCJjbGFzc1wiICkgfHxcblx0XHRcdFx0XHRcdFx0XHRcIlwiXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdH0gKTtcblx0XHR9LFxuXG5cdFx0XCJBVFRSXCI6IGZ1bmN0aW9uKCBuYW1lLCBvcGVyYXRvciwgY2hlY2sgKSB7XG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRcdHZhciByZXN1bHQgPSBTaXp6bGUuYXR0ciggZWxlbSwgbmFtZSApO1xuXG5cdFx0XHRcdGlmICggcmVzdWx0ID09IG51bGwgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9wZXJhdG9yID09PSBcIiE9XCI7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCAhb3BlcmF0b3IgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXN1bHQgKz0gXCJcIjtcblxuXHRcdFx0XHQvKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuICovXG5cblx0XHRcdFx0cmV0dXJuIG9wZXJhdG9yID09PSBcIj1cIiA/IHJlc3VsdCA9PT0gY2hlY2sgOlxuXHRcdFx0XHRcdG9wZXJhdG9yID09PSBcIiE9XCIgPyByZXN1bHQgIT09IGNoZWNrIDpcblx0XHRcdFx0XHRvcGVyYXRvciA9PT0gXCJePVwiID8gY2hlY2sgJiYgcmVzdWx0LmluZGV4T2YoIGNoZWNrICkgPT09IDAgOlxuXHRcdFx0XHRcdG9wZXJhdG9yID09PSBcIio9XCIgPyBjaGVjayAmJiByZXN1bHQuaW5kZXhPZiggY2hlY2sgKSA+IC0xIDpcblx0XHRcdFx0XHRvcGVyYXRvciA9PT0gXCIkPVwiID8gY2hlY2sgJiYgcmVzdWx0LnNsaWNlKCAtY2hlY2subGVuZ3RoICkgPT09IGNoZWNrIDpcblx0XHRcdFx0XHRvcGVyYXRvciA9PT0gXCJ+PVwiID8gKCBcIiBcIiArIHJlc3VsdC5yZXBsYWNlKCByd2hpdGVzcGFjZSwgXCIgXCIgKSArIFwiIFwiICkuaW5kZXhPZiggY2hlY2sgKSA+IC0xIDpcblx0XHRcdFx0XHRvcGVyYXRvciA9PT0gXCJ8PVwiID8gcmVzdWx0ID09PSBjaGVjayB8fCByZXN1bHQuc2xpY2UoIDAsIGNoZWNrLmxlbmd0aCArIDEgKSA9PT0gY2hlY2sgKyBcIi1cIiA6XG5cdFx0XHRcdFx0ZmFsc2U7XG5cdFx0XHRcdC8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuXG5cdFx0XHR9O1xuXHRcdH0sXG5cblx0XHRcIkNISUxEXCI6IGZ1bmN0aW9uKCB0eXBlLCB3aGF0LCBfYXJndW1lbnQsIGZpcnN0LCBsYXN0ICkge1xuXHRcdFx0dmFyIHNpbXBsZSA9IHR5cGUuc2xpY2UoIDAsIDMgKSAhPT0gXCJudGhcIixcblx0XHRcdFx0Zm9yd2FyZCA9IHR5cGUuc2xpY2UoIC00ICkgIT09IFwibGFzdFwiLFxuXHRcdFx0XHRvZlR5cGUgPSB3aGF0ID09PSBcIm9mLXR5cGVcIjtcblxuXHRcdFx0cmV0dXJuIGZpcnN0ID09PSAxICYmIGxhc3QgPT09IDAgP1xuXG5cdFx0XHRcdC8vIFNob3J0Y3V0IGZvciA6bnRoLSoobilcblx0XHRcdFx0ZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRcdFx0cmV0dXJuICEhZWxlbS5wYXJlbnROb2RlO1xuXHRcdFx0XHR9IDpcblxuXHRcdFx0XHRmdW5jdGlvbiggZWxlbSwgX2NvbnRleHQsIHhtbCApIHtcblx0XHRcdFx0XHR2YXIgY2FjaGUsIHVuaXF1ZUNhY2hlLCBvdXRlckNhY2hlLCBub2RlLCBub2RlSW5kZXgsIHN0YXJ0LFxuXHRcdFx0XHRcdFx0ZGlyID0gc2ltcGxlICE9PSBmb3J3YXJkID8gXCJuZXh0U2libGluZ1wiIDogXCJwcmV2aW91c1NpYmxpbmdcIixcblx0XHRcdFx0XHRcdHBhcmVudCA9IGVsZW0ucGFyZW50Tm9kZSxcblx0XHRcdFx0XHRcdG5hbWUgPSBvZlR5cGUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLFxuXHRcdFx0XHRcdFx0dXNlQ2FjaGUgPSAheG1sICYmICFvZlR5cGUsXG5cdFx0XHRcdFx0XHRkaWZmID0gZmFsc2U7XG5cblx0XHRcdFx0XHRpZiAoIHBhcmVudCApIHtcblxuXHRcdFx0XHRcdFx0Ly8gOihmaXJzdHxsYXN0fG9ubHkpLShjaGlsZHxvZi10eXBlKVxuXHRcdFx0XHRcdFx0aWYgKCBzaW1wbGUgKSB7XG5cdFx0XHRcdFx0XHRcdHdoaWxlICggZGlyICkge1xuXHRcdFx0XHRcdFx0XHRcdG5vZGUgPSBlbGVtO1xuXHRcdFx0XHRcdFx0XHRcdHdoaWxlICggKCBub2RlID0gbm9kZVsgZGlyIF0gKSApIHtcblx0XHRcdFx0XHRcdFx0XHRcdGlmICggb2ZUeXBlID9cblx0XHRcdFx0XHRcdFx0XHRcdFx0bm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSBuYW1lIDpcblx0XHRcdFx0XHRcdFx0XHRcdFx0bm9kZS5ub2RlVHlwZSA9PT0gMSApIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gUmV2ZXJzZSBkaXJlY3Rpb24gZm9yIDpvbmx5LSogKGlmIHdlIGhhdmVuJ3QgeWV0IGRvbmUgc28pXG5cdFx0XHRcdFx0XHRcdFx0c3RhcnQgPSBkaXIgPSB0eXBlID09PSBcIm9ubHlcIiAmJiAhc3RhcnQgJiYgXCJuZXh0U2libGluZ1wiO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRzdGFydCA9IFsgZm9yd2FyZCA/IHBhcmVudC5maXJzdENoaWxkIDogcGFyZW50Lmxhc3RDaGlsZCBdO1xuXG5cdFx0XHRcdFx0XHQvLyBub24teG1sIDpudGgtY2hpbGQoLi4uKSBzdG9yZXMgY2FjaGUgZGF0YSBvbiBgcGFyZW50YFxuXHRcdFx0XHRcdFx0aWYgKCBmb3J3YXJkICYmIHVzZUNhY2hlICkge1xuXG5cdFx0XHRcdFx0XHRcdC8vIFNlZWsgYGVsZW1gIGZyb20gYSBwcmV2aW91c2x5LWNhY2hlZCBpbmRleFxuXG5cdFx0XHRcdFx0XHRcdC8vIC4uLmluIGEgZ3ppcC1mcmllbmRseSB3YXlcblx0XHRcdFx0XHRcdFx0bm9kZSA9IHBhcmVudDtcblx0XHRcdFx0XHRcdFx0b3V0ZXJDYWNoZSA9IG5vZGVbIGV4cGFuZG8gXSB8fCAoIG5vZGVbIGV4cGFuZG8gXSA9IHt9ICk7XG5cblx0XHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPDkgb25seVxuXHRcdFx0XHRcdFx0XHQvLyBEZWZlbmQgYWdhaW5zdCBjbG9uZWQgYXR0cm9wZXJ0aWVzIChqUXVlcnkgZ2gtMTcwOSlcblx0XHRcdFx0XHRcdFx0dW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gfHxcblx0XHRcdFx0XHRcdFx0XHQoIG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSA9IHt9ICk7XG5cblx0XHRcdFx0XHRcdFx0Y2FjaGUgPSB1bmlxdWVDYWNoZVsgdHlwZSBdIHx8IFtdO1xuXHRcdFx0XHRcdFx0XHRub2RlSW5kZXggPSBjYWNoZVsgMCBdID09PSBkaXJydW5zICYmIGNhY2hlWyAxIF07XG5cdFx0XHRcdFx0XHRcdGRpZmYgPSBub2RlSW5kZXggJiYgY2FjaGVbIDIgXTtcblx0XHRcdFx0XHRcdFx0bm9kZSA9IG5vZGVJbmRleCAmJiBwYXJlbnQuY2hpbGROb2Rlc1sgbm9kZUluZGV4IF07XG5cblx0XHRcdFx0XHRcdFx0d2hpbGUgKCAoIG5vZGUgPSArK25vZGVJbmRleCAmJiBub2RlICYmIG5vZGVbIGRpciBdIHx8XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBGYWxsYmFjayB0byBzZWVraW5nIGBlbGVtYCBmcm9tIHRoZSBzdGFydFxuXHRcdFx0XHRcdFx0XHRcdCggZGlmZiA9IG5vZGVJbmRleCA9IDAgKSB8fCBzdGFydC5wb3AoKSApICkge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gV2hlbiBmb3VuZCwgY2FjaGUgaW5kZXhlcyBvbiBgcGFyZW50YCBhbmQgYnJlYWtcblx0XHRcdFx0XHRcdFx0XHRpZiAoIG5vZGUubm9kZVR5cGUgPT09IDEgJiYgKytkaWZmICYmIG5vZGUgPT09IGVsZW0gKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmlxdWVDYWNoZVsgdHlwZSBdID0gWyBkaXJydW5zLCBub2RlSW5kZXgsIGRpZmYgXTtcblx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdFx0XHRcdC8vIFVzZSBwcmV2aW91c2x5LWNhY2hlZCBlbGVtZW50IGluZGV4IGlmIGF2YWlsYWJsZVxuXHRcdFx0XHRcdFx0XHRpZiAoIHVzZUNhY2hlICkge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gLi4uaW4gYSBnemlwLWZyaWVuZGx5IHdheVxuXHRcdFx0XHRcdFx0XHRcdG5vZGUgPSBlbGVtO1xuXHRcdFx0XHRcdFx0XHRcdG91dGVyQ2FjaGUgPSBub2RlWyBleHBhbmRvIF0gfHwgKCBub2RlWyBleHBhbmRvIF0gPSB7fSApO1xuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPDkgb25seVxuXHRcdFx0XHRcdFx0XHRcdC8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KVxuXHRcdFx0XHRcdFx0XHRcdHVuaXF1ZUNhY2hlID0gb3V0ZXJDYWNoZVsgbm9kZS51bmlxdWVJRCBdIHx8XG5cdFx0XHRcdFx0XHRcdFx0XHQoIG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSA9IHt9ICk7XG5cblx0XHRcdFx0XHRcdFx0XHRjYWNoZSA9IHVuaXF1ZUNhY2hlWyB0eXBlIF0gfHwgW107XG5cdFx0XHRcdFx0XHRcdFx0bm9kZUluZGV4ID0gY2FjaGVbIDAgXSA9PT0gZGlycnVucyAmJiBjYWNoZVsgMSBdO1xuXHRcdFx0XHRcdFx0XHRcdGRpZmYgPSBub2RlSW5kZXg7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHQvLyB4bWwgOm50aC1jaGlsZCguLi4pXG5cdFx0XHRcdFx0XHRcdC8vIG9yIDpudGgtbGFzdC1jaGlsZCguLi4pIG9yIDpudGgoLWxhc3QpPy1vZi10eXBlKC4uLilcblx0XHRcdFx0XHRcdFx0aWYgKCBkaWZmID09PSBmYWxzZSApIHtcblxuXHRcdFx0XHRcdFx0XHRcdC8vIFVzZSB0aGUgc2FtZSBsb29wIGFzIGFib3ZlIHRvIHNlZWsgYGVsZW1gIGZyb20gdGhlIHN0YXJ0XG5cdFx0XHRcdFx0XHRcdFx0d2hpbGUgKCAoIG5vZGUgPSArK25vZGVJbmRleCAmJiBub2RlICYmIG5vZGVbIGRpciBdIHx8XG5cdFx0XHRcdFx0XHRcdFx0XHQoIGRpZmYgPSBub2RlSW5kZXggPSAwICkgfHwgc3RhcnQucG9wKCkgKSApIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKCAoIG9mVHlwZSA/XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gbmFtZSA6XG5cdFx0XHRcdFx0XHRcdFx0XHRcdG5vZGUubm9kZVR5cGUgPT09IDEgKSAmJlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQrK2RpZmYgKSB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gQ2FjaGUgdGhlIGluZGV4IG9mIGVhY2ggZW5jb3VudGVyZWQgZWxlbWVudFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIHVzZUNhY2hlICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG91dGVyQ2FjaGUgPSBub2RlWyBleHBhbmRvIF0gfHxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdCggbm9kZVsgZXhwYW5kbyBdID0ge30gKTtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFIDw5IG9ubHlcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBEZWZlbmQgYWdhaW5zdCBjbG9uZWQgYXR0cm9wZXJ0aWVzIChqUXVlcnkgZ2gtMTcwOSlcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1bmlxdWVDYWNoZSA9IG91dGVyQ2FjaGVbIG5vZGUudW5pcXVlSUQgXSB8fFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0KCBvdXRlckNhY2hlWyBub2RlLnVuaXF1ZUlEIF0gPSB7fSApO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pcXVlQ2FjaGVbIHR5cGUgXSA9IFsgZGlycnVucywgZGlmZiBdO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCBub2RlID09PSBlbGVtICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC8vIEluY29ycG9yYXRlIHRoZSBvZmZzZXQsIHRoZW4gY2hlY2sgYWdhaW5zdCBjeWNsZSBzaXplXG5cdFx0XHRcdFx0XHRkaWZmIC09IGxhc3Q7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZGlmZiA9PT0gZmlyc3QgfHwgKCBkaWZmICUgZmlyc3QgPT09IDAgJiYgZGlmZiAvIGZpcnN0ID49IDAgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH07XG5cdFx0fSxcblxuXHRcdFwiUFNFVURPXCI6IGZ1bmN0aW9uKCBwc2V1ZG8sIGFyZ3VtZW50ICkge1xuXG5cdFx0XHQvLyBwc2V1ZG8tY2xhc3MgbmFtZXMgYXJlIGNhc2UtaW5zZW5zaXRpdmVcblx0XHRcdC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL3NlbGVjdG9ycy8jcHNldWRvLWNsYXNzZXNcblx0XHRcdC8vIFByaW9yaXRpemUgYnkgY2FzZSBzZW5zaXRpdml0eSBpbiBjYXNlIGN1c3RvbSBwc2V1ZG9zIGFyZSBhZGRlZCB3aXRoIHVwcGVyY2FzZSBsZXR0ZXJzXG5cdFx0XHQvLyBSZW1lbWJlciB0aGF0IHNldEZpbHRlcnMgaW5oZXJpdHMgZnJvbSBwc2V1ZG9zXG5cdFx0XHR2YXIgYXJncyxcblx0XHRcdFx0Zm4gPSBFeHByLnBzZXVkb3NbIHBzZXVkbyBdIHx8IEV4cHIuc2V0RmlsdGVyc1sgcHNldWRvLnRvTG93ZXJDYXNlKCkgXSB8fFxuXHRcdFx0XHRcdFNpenpsZS5lcnJvciggXCJ1bnN1cHBvcnRlZCBwc2V1ZG86IFwiICsgcHNldWRvICk7XG5cblx0XHRcdC8vIFRoZSB1c2VyIG1heSB1c2UgY3JlYXRlUHNldWRvIHRvIGluZGljYXRlIHRoYXRcblx0XHRcdC8vIGFyZ3VtZW50cyBhcmUgbmVlZGVkIHRvIGNyZWF0ZSB0aGUgZmlsdGVyIGZ1bmN0aW9uXG5cdFx0XHQvLyBqdXN0IGFzIFNpenpsZSBkb2VzXG5cdFx0XHRpZiAoIGZuWyBleHBhbmRvIF0gKSB7XG5cdFx0XHRcdHJldHVybiBmbiggYXJndW1lbnQgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gQnV0IG1haW50YWluIHN1cHBvcnQgZm9yIG9sZCBzaWduYXR1cmVzXG5cdFx0XHRpZiAoIGZuLmxlbmd0aCA+IDEgKSB7XG5cdFx0XHRcdGFyZ3MgPSBbIHBzZXVkbywgcHNldWRvLCBcIlwiLCBhcmd1bWVudCBdO1xuXHRcdFx0XHRyZXR1cm4gRXhwci5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KCBwc2V1ZG8udG9Mb3dlckNhc2UoKSApID9cblx0XHRcdFx0XHRtYXJrRnVuY3Rpb24oIGZ1bmN0aW9uKCBzZWVkLCBtYXRjaGVzICkge1xuXHRcdFx0XHRcdFx0dmFyIGlkeCxcblx0XHRcdFx0XHRcdFx0bWF0Y2hlZCA9IGZuKCBzZWVkLCBhcmd1bWVudCApLFxuXHRcdFx0XHRcdFx0XHRpID0gbWF0Y2hlZC5sZW5ndGg7XG5cdFx0XHRcdFx0XHR3aGlsZSAoIGktLSApIHtcblx0XHRcdFx0XHRcdFx0aWR4ID0gaW5kZXhPZiggc2VlZCwgbWF0Y2hlZFsgaSBdICk7XG5cdFx0XHRcdFx0XHRcdHNlZWRbIGlkeCBdID0gISggbWF0Y2hlc1sgaWR4IF0gPSBtYXRjaGVkWyBpIF0gKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9ICkgOlxuXHRcdFx0XHRcdGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIGZuKCBlbGVtLCAwLCBhcmdzICk7XG5cdFx0XHRcdFx0fTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGZuO1xuXHRcdH1cblx0fSxcblxuXHRwc2V1ZG9zOiB7XG5cblx0XHQvLyBQb3RlbnRpYWxseSBjb21wbGV4IHBzZXVkb3Ncblx0XHRcIm5vdFwiOiBtYXJrRnVuY3Rpb24oIGZ1bmN0aW9uKCBzZWxlY3RvciApIHtcblxuXHRcdFx0Ly8gVHJpbSB0aGUgc2VsZWN0b3IgcGFzc2VkIHRvIGNvbXBpbGVcblx0XHRcdC8vIHRvIGF2b2lkIHRyZWF0aW5nIGxlYWRpbmcgYW5kIHRyYWlsaW5nXG5cdFx0XHQvLyBzcGFjZXMgYXMgY29tYmluYXRvcnNcblx0XHRcdHZhciBpbnB1dCA9IFtdLFxuXHRcdFx0XHRyZXN1bHRzID0gW10sXG5cdFx0XHRcdG1hdGNoZXIgPSBjb21waWxlKCBzZWxlY3Rvci5yZXBsYWNlKCBydHJpbSwgXCIkMVwiICkgKTtcblxuXHRcdFx0cmV0dXJuIG1hdGNoZXJbIGV4cGFuZG8gXSA/XG5cdFx0XHRcdG1hcmtGdW5jdGlvbiggZnVuY3Rpb24oIHNlZWQsIG1hdGNoZXMsIF9jb250ZXh0LCB4bWwgKSB7XG5cdFx0XHRcdFx0dmFyIGVsZW0sXG5cdFx0XHRcdFx0XHR1bm1hdGNoZWQgPSBtYXRjaGVyKCBzZWVkLCBudWxsLCB4bWwsIFtdICksXG5cdFx0XHRcdFx0XHRpID0gc2VlZC5sZW5ndGg7XG5cblx0XHRcdFx0XHQvLyBNYXRjaCBlbGVtZW50cyB1bm1hdGNoZWQgYnkgYG1hdGNoZXJgXG5cdFx0XHRcdFx0d2hpbGUgKCBpLS0gKSB7XG5cdFx0XHRcdFx0XHRpZiAoICggZWxlbSA9IHVubWF0Y2hlZFsgaSBdICkgKSB7XG5cdFx0XHRcdFx0XHRcdHNlZWRbIGkgXSA9ICEoIG1hdGNoZXNbIGkgXSA9IGVsZW0gKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gKSA6XG5cdFx0XHRcdGZ1bmN0aW9uKCBlbGVtLCBfY29udGV4dCwgeG1sICkge1xuXHRcdFx0XHRcdGlucHV0WyAwIF0gPSBlbGVtO1xuXHRcdFx0XHRcdG1hdGNoZXIoIGlucHV0LCBudWxsLCB4bWwsIHJlc3VsdHMgKTtcblxuXHRcdFx0XHRcdC8vIERvbid0IGtlZXAgdGhlIGVsZW1lbnQgKGlzc3VlICMyOTkpXG5cdFx0XHRcdFx0aW5wdXRbIDAgXSA9IG51bGw7XG5cdFx0XHRcdFx0cmV0dXJuICFyZXN1bHRzLnBvcCgpO1xuXHRcdFx0XHR9O1xuXHRcdH0gKSxcblxuXHRcdFwiaGFzXCI6IG1hcmtGdW5jdGlvbiggZnVuY3Rpb24oIHNlbGVjdG9yICkge1xuXHRcdFx0cmV0dXJuIGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0XHRyZXR1cm4gU2l6emxlKCBzZWxlY3RvciwgZWxlbSApLmxlbmd0aCA+IDA7XG5cdFx0XHR9O1xuXHRcdH0gKSxcblxuXHRcdFwiY29udGFpbnNcIjogbWFya0Z1bmN0aW9uKCBmdW5jdGlvbiggdGV4dCApIHtcblx0XHRcdHRleHQgPSB0ZXh0LnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICk7XG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRcdHJldHVybiAoIGVsZW0udGV4dENvbnRlbnQgfHwgZ2V0VGV4dCggZWxlbSApICkuaW5kZXhPZiggdGV4dCApID4gLTE7XG5cdFx0XHR9O1xuXHRcdH0gKSxcblxuXHRcdC8vIFwiV2hldGhlciBhbiBlbGVtZW50IGlzIHJlcHJlc2VudGVkIGJ5IGEgOmxhbmcoKSBzZWxlY3RvclxuXHRcdC8vIGlzIGJhc2VkIHNvbGVseSBvbiB0aGUgZWxlbWVudCdzIGxhbmd1YWdlIHZhbHVlXG5cdFx0Ly8gYmVpbmcgZXF1YWwgdG8gdGhlIGlkZW50aWZpZXIgQyxcblx0XHQvLyBvciBiZWdpbm5pbmcgd2l0aCB0aGUgaWRlbnRpZmllciBDIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IFwiLVwiLlxuXHRcdC8vIFRoZSBtYXRjaGluZyBvZiBDIGFnYWluc3QgdGhlIGVsZW1lbnQncyBsYW5ndWFnZSB2YWx1ZSBpcyBwZXJmb3JtZWQgY2FzZS1pbnNlbnNpdGl2ZWx5LlxuXHRcdC8vIFRoZSBpZGVudGlmaWVyIEMgZG9lcyBub3QgaGF2ZSB0byBiZSBhIHZhbGlkIGxhbmd1YWdlIG5hbWUuXCJcblx0XHQvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2xhbmctcHNldWRvXG5cdFx0XCJsYW5nXCI6IG1hcmtGdW5jdGlvbiggZnVuY3Rpb24oIGxhbmcgKSB7XG5cblx0XHRcdC8vIGxhbmcgdmFsdWUgbXVzdCBiZSBhIHZhbGlkIGlkZW50aWZpZXJcblx0XHRcdGlmICggIXJpZGVudGlmaWVyLnRlc3QoIGxhbmcgfHwgXCJcIiApICkge1xuXHRcdFx0XHRTaXp6bGUuZXJyb3IoIFwidW5zdXBwb3J0ZWQgbGFuZzogXCIgKyBsYW5nICk7XG5cdFx0XHR9XG5cdFx0XHRsYW5nID0gbGFuZy5yZXBsYWNlKCBydW5lc2NhcGUsIGZ1bmVzY2FwZSApLnRvTG93ZXJDYXNlKCk7XG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRcdHZhciBlbGVtTGFuZztcblx0XHRcdFx0ZG8ge1xuXHRcdFx0XHRcdGlmICggKCBlbGVtTGFuZyA9IGRvY3VtZW50SXNIVE1MID9cblx0XHRcdFx0XHRcdGVsZW0ubGFuZyA6XG5cdFx0XHRcdFx0XHRlbGVtLmdldEF0dHJpYnV0ZSggXCJ4bWw6bGFuZ1wiICkgfHwgZWxlbS5nZXRBdHRyaWJ1dGUoIFwibGFuZ1wiICkgKSApIHtcblxuXHRcdFx0XHRcdFx0ZWxlbUxhbmcgPSBlbGVtTGFuZy50b0xvd2VyQ2FzZSgpO1xuXHRcdFx0XHRcdFx0cmV0dXJuIGVsZW1MYW5nID09PSBsYW5nIHx8IGVsZW1MYW5nLmluZGV4T2YoIGxhbmcgKyBcIi1cIiApID09PSAwO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSB3aGlsZSAoICggZWxlbSA9IGVsZW0ucGFyZW50Tm9kZSApICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKTtcblx0XHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdFx0fTtcblx0XHR9ICksXG5cblx0XHQvLyBNaXNjZWxsYW5lb3VzXG5cdFx0XCJ0YXJnZXRcIjogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHR2YXIgaGFzaCA9IHdpbmRvdy5sb2NhdGlvbiAmJiB3aW5kb3cubG9jYXRpb24uaGFzaDtcblx0XHRcdHJldHVybiBoYXNoICYmIGhhc2guc2xpY2UoIDEgKSA9PT0gZWxlbS5pZDtcblx0XHR9LFxuXG5cdFx0XCJyb290XCI6IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0cmV0dXJuIGVsZW0gPT09IGRvY0VsZW07XG5cdFx0fSxcblxuXHRcdFwiZm9jdXNcIjogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gZWxlbSA9PT0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCAmJlxuXHRcdFx0XHQoICFkb2N1bWVudC5oYXNGb2N1cyB8fCBkb2N1bWVudC5oYXNGb2N1cygpICkgJiZcblx0XHRcdFx0ISEoIGVsZW0udHlwZSB8fCBlbGVtLmhyZWYgfHwgfmVsZW0udGFiSW5kZXggKTtcblx0XHR9LFxuXG5cdFx0Ly8gQm9vbGVhbiBwcm9wZXJ0aWVzXG5cdFx0XCJlbmFibGVkXCI6IGNyZWF0ZURpc2FibGVkUHNldWRvKCBmYWxzZSApLFxuXHRcdFwiZGlzYWJsZWRcIjogY3JlYXRlRGlzYWJsZWRQc2V1ZG8oIHRydWUgKSxcblxuXHRcdFwiY2hlY2tlZFwiOiBmdW5jdGlvbiggZWxlbSApIHtcblxuXHRcdFx0Ly8gSW4gQ1NTMywgOmNoZWNrZWQgc2hvdWxkIHJldHVybiBib3RoIGNoZWNrZWQgYW5kIHNlbGVjdGVkIGVsZW1lbnRzXG5cdFx0XHQvLyBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDExL1JFQy1jc3MzLXNlbGVjdG9ycy0yMDExMDkyOS8jY2hlY2tlZFxuXHRcdFx0dmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuXHRcdFx0cmV0dXJuICggbm9kZU5hbWUgPT09IFwiaW5wdXRcIiAmJiAhIWVsZW0uY2hlY2tlZCApIHx8XG5cdFx0XHRcdCggbm9kZU5hbWUgPT09IFwib3B0aW9uXCIgJiYgISFlbGVtLnNlbGVjdGVkICk7XG5cdFx0fSxcblxuXHRcdFwic2VsZWN0ZWRcIjogZnVuY3Rpb24oIGVsZW0gKSB7XG5cblx0XHRcdC8vIEFjY2Vzc2luZyB0aGlzIHByb3BlcnR5IG1ha2VzIHNlbGVjdGVkLWJ5LWRlZmF1bHRcblx0XHRcdC8vIG9wdGlvbnMgaW4gU2FmYXJpIHdvcmsgcHJvcGVybHlcblx0XHRcdGlmICggZWxlbS5wYXJlbnROb2RlICkge1xuXHRcdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXG5cdFx0XHRcdGVsZW0ucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gZWxlbS5zZWxlY3RlZCA9PT0gdHJ1ZTtcblx0XHR9LFxuXG5cdFx0Ly8gQ29udGVudHNcblx0XHRcImVtcHR5XCI6IGZ1bmN0aW9uKCBlbGVtICkge1xuXG5cdFx0XHQvLyBodHRwOi8vd3d3LnczLm9yZy9UUi9zZWxlY3RvcnMvI2VtcHR5LXBzZXVkb1xuXHRcdFx0Ly8gOmVtcHR5IGlzIG5lZ2F0ZWQgYnkgZWxlbWVudCAoMSkgb3IgY29udGVudCBub2RlcyAodGV4dDogMzsgY2RhdGE6IDQ7IGVudGl0eSByZWY6IDUpLFxuXHRcdFx0Ly8gICBidXQgbm90IGJ5IG90aGVycyAoY29tbWVudDogODsgcHJvY2Vzc2luZyBpbnN0cnVjdGlvbjogNzsgZXRjLilcblx0XHRcdC8vIG5vZGVUeXBlIDwgNiB3b3JrcyBiZWNhdXNlIGF0dHJpYnV0ZXMgKDIpIGRvIG5vdCBhcHBlYXIgYXMgY2hpbGRyZW5cblx0XHRcdGZvciAoIGVsZW0gPSBlbGVtLmZpcnN0Q2hpbGQ7IGVsZW07IGVsZW0gPSBlbGVtLm5leHRTaWJsaW5nICkge1xuXHRcdFx0XHRpZiAoIGVsZW0ubm9kZVR5cGUgPCA2ICkge1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSxcblxuXHRcdFwicGFyZW50XCI6IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0cmV0dXJuICFFeHByLnBzZXVkb3NbIFwiZW1wdHlcIiBdKCBlbGVtICk7XG5cdFx0fSxcblxuXHRcdC8vIEVsZW1lbnQvaW5wdXQgdHlwZXNcblx0XHRcImhlYWRlclwiOiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRcdHJldHVybiByaGVhZGVyLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTtcblx0XHR9LFxuXG5cdFx0XCJpbnB1dFwiOiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRcdHJldHVybiByaW5wdXRzLnRlc3QoIGVsZW0ubm9kZU5hbWUgKTtcblx0XHR9LFxuXG5cdFx0XCJidXR0b25cIjogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHR2YXIgbmFtZSA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcblx0XHRcdHJldHVybiBuYW1lID09PSBcImlucHV0XCIgJiYgZWxlbS50eXBlID09PSBcImJ1dHRvblwiIHx8IG5hbWUgPT09IFwiYnV0dG9uXCI7XG5cdFx0fSxcblxuXHRcdFwidGV4dFwiOiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRcdHZhciBhdHRyO1xuXHRcdFx0cmV0dXJuIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJpbnB1dFwiICYmXG5cdFx0XHRcdGVsZW0udHlwZSA9PT0gXCJ0ZXh0XCIgJiZcblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBJRTw4XG5cdFx0XHRcdC8vIE5ldyBIVE1MNSBhdHRyaWJ1dGUgdmFsdWVzIChlLmcuLCBcInNlYXJjaFwiKSBhcHBlYXIgd2l0aCBlbGVtLnR5cGUgPT09IFwidGV4dFwiXG5cdFx0XHRcdCggKCBhdHRyID0gZWxlbS5nZXRBdHRyaWJ1dGUoIFwidHlwZVwiICkgKSA9PSBudWxsIHx8XG5cdFx0XHRcdFx0YXR0ci50b0xvd2VyQ2FzZSgpID09PSBcInRleHRcIiApO1xuXHRcdH0sXG5cblx0XHQvLyBQb3NpdGlvbi1pbi1jb2xsZWN0aW9uXG5cdFx0XCJmaXJzdFwiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKCBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiBbIDAgXTtcblx0XHR9ICksXG5cblx0XHRcImxhc3RcIjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZnVuY3Rpb24oIF9tYXRjaEluZGV4ZXMsIGxlbmd0aCApIHtcblx0XHRcdHJldHVybiBbIGxlbmd0aCAtIDEgXTtcblx0XHR9ICksXG5cblx0XHRcImVxXCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oIGZ1bmN0aW9uKCBfbWF0Y2hJbmRleGVzLCBsZW5ndGgsIGFyZ3VtZW50ICkge1xuXHRcdFx0cmV0dXJuIFsgYXJndW1lbnQgPCAwID8gYXJndW1lbnQgKyBsZW5ndGggOiBhcmd1bWVudCBdO1xuXHRcdH0gKSxcblxuXHRcdFwiZXZlblwiOiBjcmVhdGVQb3NpdGlvbmFsUHNldWRvKCBmdW5jdGlvbiggbWF0Y2hJbmRleGVzLCBsZW5ndGggKSB7XG5cdFx0XHR2YXIgaSA9IDA7XG5cdFx0XHRmb3IgKCA7IGkgPCBsZW5ndGg7IGkgKz0gMiApIHtcblx0XHRcdFx0bWF0Y2hJbmRleGVzLnB1c2goIGkgKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBtYXRjaEluZGV4ZXM7XG5cdFx0fSApLFxuXG5cdFx0XCJvZGRcIjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoICkge1xuXHRcdFx0dmFyIGkgPSAxO1xuXHRcdFx0Zm9yICggOyBpIDwgbGVuZ3RoOyBpICs9IDIgKSB7XG5cdFx0XHRcdG1hdGNoSW5kZXhlcy5wdXNoKCBpICk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gbWF0Y2hJbmRleGVzO1xuXHRcdH0gKSxcblxuXHRcdFwibHRcIjogY3JlYXRlUG9zaXRpb25hbFBzZXVkbyggZnVuY3Rpb24oIG1hdGNoSW5kZXhlcywgbGVuZ3RoLCBhcmd1bWVudCApIHtcblx0XHRcdHZhciBpID0gYXJndW1lbnQgPCAwID9cblx0XHRcdFx0YXJndW1lbnQgKyBsZW5ndGggOlxuXHRcdFx0XHRhcmd1bWVudCA+IGxlbmd0aCA/XG5cdFx0XHRcdFx0bGVuZ3RoIDpcblx0XHRcdFx0XHRhcmd1bWVudDtcblx0XHRcdGZvciAoIDsgLS1pID49IDA7ICkge1xuXHRcdFx0XHRtYXRjaEluZGV4ZXMucHVzaCggaSApO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIG1hdGNoSW5kZXhlcztcblx0XHR9ICksXG5cblx0XHRcImd0XCI6IGNyZWF0ZVBvc2l0aW9uYWxQc2V1ZG8oIGZ1bmN0aW9uKCBtYXRjaEluZGV4ZXMsIGxlbmd0aCwgYXJndW1lbnQgKSB7XG5cdFx0XHR2YXIgaSA9IGFyZ3VtZW50IDwgMCA/IGFyZ3VtZW50ICsgbGVuZ3RoIDogYXJndW1lbnQ7XG5cdFx0XHRmb3IgKCA7ICsraSA8IGxlbmd0aDsgKSB7XG5cdFx0XHRcdG1hdGNoSW5kZXhlcy5wdXNoKCBpICk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gbWF0Y2hJbmRleGVzO1xuXHRcdH0gKVxuXHR9XG59O1xuXG5FeHByLnBzZXVkb3NbIFwibnRoXCIgXSA9IEV4cHIucHNldWRvc1sgXCJlcVwiIF07XG5cbi8vIEFkZCBidXR0b24vaW5wdXQgdHlwZSBwc2V1ZG9zXG5mb3IgKCBpIGluIHsgcmFkaW86IHRydWUsIGNoZWNrYm94OiB0cnVlLCBmaWxlOiB0cnVlLCBwYXNzd29yZDogdHJ1ZSwgaW1hZ2U6IHRydWUgfSApIHtcblx0RXhwci5wc2V1ZG9zWyBpIF0gPSBjcmVhdGVJbnB1dFBzZXVkbyggaSApO1xufVxuZm9yICggaSBpbiB7IHN1Ym1pdDogdHJ1ZSwgcmVzZXQ6IHRydWUgfSApIHtcblx0RXhwci5wc2V1ZG9zWyBpIF0gPSBjcmVhdGVCdXR0b25Qc2V1ZG8oIGkgKTtcbn1cblxuLy8gRWFzeSBBUEkgZm9yIGNyZWF0aW5nIG5ldyBzZXRGaWx0ZXJzXG5mdW5jdGlvbiBzZXRGaWx0ZXJzKCkge31cbnNldEZpbHRlcnMucHJvdG90eXBlID0gRXhwci5maWx0ZXJzID0gRXhwci5wc2V1ZG9zO1xuRXhwci5zZXRGaWx0ZXJzID0gbmV3IHNldEZpbHRlcnMoKTtcblxudG9rZW5pemUgPSBTaXp6bGUudG9rZW5pemUgPSBmdW5jdGlvbiggc2VsZWN0b3IsIHBhcnNlT25seSApIHtcblx0dmFyIG1hdGNoZWQsIG1hdGNoLCB0b2tlbnMsIHR5cGUsXG5cdFx0c29GYXIsIGdyb3VwcywgcHJlRmlsdGVycyxcblx0XHRjYWNoZWQgPSB0b2tlbkNhY2hlWyBzZWxlY3RvciArIFwiIFwiIF07XG5cblx0aWYgKCBjYWNoZWQgKSB7XG5cdFx0cmV0dXJuIHBhcnNlT25seSA/IDAgOiBjYWNoZWQuc2xpY2UoIDAgKTtcblx0fVxuXG5cdHNvRmFyID0gc2VsZWN0b3I7XG5cdGdyb3VwcyA9IFtdO1xuXHRwcmVGaWx0ZXJzID0gRXhwci5wcmVGaWx0ZXI7XG5cblx0d2hpbGUgKCBzb0ZhciApIHtcblxuXHRcdC8vIENvbW1hIGFuZCBmaXJzdCBydW5cblx0XHRpZiAoICFtYXRjaGVkIHx8ICggbWF0Y2ggPSByY29tbWEuZXhlYyggc29GYXIgKSApICkge1xuXHRcdFx0aWYgKCBtYXRjaCApIHtcblxuXHRcdFx0XHQvLyBEb24ndCBjb25zdW1lIHRyYWlsaW5nIGNvbW1hcyBhcyB2YWxpZFxuXHRcdFx0XHRzb0ZhciA9IHNvRmFyLnNsaWNlKCBtYXRjaFsgMCBdLmxlbmd0aCApIHx8IHNvRmFyO1xuXHRcdFx0fVxuXHRcdFx0Z3JvdXBzLnB1c2goICggdG9rZW5zID0gW10gKSApO1xuXHRcdH1cblxuXHRcdG1hdGNoZWQgPSBmYWxzZTtcblxuXHRcdC8vIENvbWJpbmF0b3JzXG5cdFx0aWYgKCAoIG1hdGNoID0gcmNvbWJpbmF0b3JzLmV4ZWMoIHNvRmFyICkgKSApIHtcblx0XHRcdG1hdGNoZWQgPSBtYXRjaC5zaGlmdCgpO1xuXHRcdFx0dG9rZW5zLnB1c2goIHtcblx0XHRcdFx0dmFsdWU6IG1hdGNoZWQsXG5cblx0XHRcdFx0Ly8gQ2FzdCBkZXNjZW5kYW50IGNvbWJpbmF0b3JzIHRvIHNwYWNlXG5cdFx0XHRcdHR5cGU6IG1hdGNoWyAwIF0ucmVwbGFjZSggcnRyaW0sIFwiIFwiIClcblx0XHRcdH0gKTtcblx0XHRcdHNvRmFyID0gc29GYXIuc2xpY2UoIG1hdGNoZWQubGVuZ3RoICk7XG5cdFx0fVxuXG5cdFx0Ly8gRmlsdGVyc1xuXHRcdGZvciAoIHR5cGUgaW4gRXhwci5maWx0ZXIgKSB7XG5cdFx0XHRpZiAoICggbWF0Y2ggPSBtYXRjaEV4cHJbIHR5cGUgXS5leGVjKCBzb0ZhciApICkgJiYgKCAhcHJlRmlsdGVyc1sgdHlwZSBdIHx8XG5cdFx0XHRcdCggbWF0Y2ggPSBwcmVGaWx0ZXJzWyB0eXBlIF0oIG1hdGNoICkgKSApICkge1xuXHRcdFx0XHRtYXRjaGVkID0gbWF0Y2guc2hpZnQoKTtcblx0XHRcdFx0dG9rZW5zLnB1c2goIHtcblx0XHRcdFx0XHR2YWx1ZTogbWF0Y2hlZCxcblx0XHRcdFx0XHR0eXBlOiB0eXBlLFxuXHRcdFx0XHRcdG1hdGNoZXM6IG1hdGNoXG5cdFx0XHRcdH0gKTtcblx0XHRcdFx0c29GYXIgPSBzb0Zhci5zbGljZSggbWF0Y2hlZC5sZW5ndGggKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoICFtYXRjaGVkICkge1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHR9XG5cblx0Ly8gUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGludmFsaWQgZXhjZXNzXG5cdC8vIGlmIHdlJ3JlIGp1c3QgcGFyc2luZ1xuXHQvLyBPdGhlcndpc2UsIHRocm93IGFuIGVycm9yIG9yIHJldHVybiB0b2tlbnNcblx0cmV0dXJuIHBhcnNlT25seSA/XG5cdFx0c29GYXIubGVuZ3RoIDpcblx0XHRzb0ZhciA/XG5cdFx0XHRTaXp6bGUuZXJyb3IoIHNlbGVjdG9yICkgOlxuXG5cdFx0XHQvLyBDYWNoZSB0aGUgdG9rZW5zXG5cdFx0XHR0b2tlbkNhY2hlKCBzZWxlY3RvciwgZ3JvdXBzICkuc2xpY2UoIDAgKTtcbn07XG5cbmZ1bmN0aW9uIHRvU2VsZWN0b3IoIHRva2VucyApIHtcblx0dmFyIGkgPSAwLFxuXHRcdGxlbiA9IHRva2Vucy5sZW5ndGgsXG5cdFx0c2VsZWN0b3IgPSBcIlwiO1xuXHRmb3IgKCA7IGkgPCBsZW47IGkrKyApIHtcblx0XHRzZWxlY3RvciArPSB0b2tlbnNbIGkgXS52YWx1ZTtcblx0fVxuXHRyZXR1cm4gc2VsZWN0b3I7XG59XG5cbmZ1bmN0aW9uIGFkZENvbWJpbmF0b3IoIG1hdGNoZXIsIGNvbWJpbmF0b3IsIGJhc2UgKSB7XG5cdHZhciBkaXIgPSBjb21iaW5hdG9yLmRpcixcblx0XHRza2lwID0gY29tYmluYXRvci5uZXh0LFxuXHRcdGtleSA9IHNraXAgfHwgZGlyLFxuXHRcdGNoZWNrTm9uRWxlbWVudHMgPSBiYXNlICYmIGtleSA9PT0gXCJwYXJlbnROb2RlXCIsXG5cdFx0ZG9uZU5hbWUgPSBkb25lKys7XG5cblx0cmV0dXJuIGNvbWJpbmF0b3IuZmlyc3QgP1xuXG5cdFx0Ly8gQ2hlY2sgYWdhaW5zdCBjbG9zZXN0IGFuY2VzdG9yL3ByZWNlZGluZyBlbGVtZW50XG5cdFx0ZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHtcblx0XHRcdHdoaWxlICggKCBlbGVtID0gZWxlbVsgZGlyIF0gKSApIHtcblx0XHRcdFx0aWYgKCBlbGVtLm5vZGVUeXBlID09PSAxIHx8IGNoZWNrTm9uRWxlbWVudHMgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG1hdGNoZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fSA6XG5cblx0XHQvLyBDaGVjayBhZ2FpbnN0IGFsbCBhbmNlc3Rvci9wcmVjZWRpbmcgZWxlbWVudHNcblx0XHRmdW5jdGlvbiggZWxlbSwgY29udGV4dCwgeG1sICkge1xuXHRcdFx0dmFyIG9sZENhY2hlLCB1bmlxdWVDYWNoZSwgb3V0ZXJDYWNoZSxcblx0XHRcdFx0bmV3Q2FjaGUgPSBbIGRpcnJ1bnMsIGRvbmVOYW1lIF07XG5cblx0XHRcdC8vIFdlIGNhbid0IHNldCBhcmJpdHJhcnkgZGF0YSBvbiBYTUwgbm9kZXMsIHNvIHRoZXkgZG9uJ3QgYmVuZWZpdCBmcm9tIGNvbWJpbmF0b3IgY2FjaGluZ1xuXHRcdFx0aWYgKCB4bWwgKSB7XG5cdFx0XHRcdHdoaWxlICggKCBlbGVtID0gZWxlbVsgZGlyIF0gKSApIHtcblx0XHRcdFx0XHRpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgfHwgY2hlY2tOb25FbGVtZW50cyApIHtcblx0XHRcdFx0XHRcdGlmICggbWF0Y2hlciggZWxlbSwgY29udGV4dCwgeG1sICkgKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0d2hpbGUgKCAoIGVsZW0gPSBlbGVtWyBkaXIgXSApICkge1xuXHRcdFx0XHRcdGlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSB8fCBjaGVja05vbkVsZW1lbnRzICkge1xuXHRcdFx0XHRcdFx0b3V0ZXJDYWNoZSA9IGVsZW1bIGV4cGFuZG8gXSB8fCAoIGVsZW1bIGV4cGFuZG8gXSA9IHt9ICk7XG5cblx0XHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFIDw5IG9ubHlcblx0XHRcdFx0XHRcdC8vIERlZmVuZCBhZ2FpbnN0IGNsb25lZCBhdHRyb3BlcnRpZXMgKGpRdWVyeSBnaC0xNzA5KVxuXHRcdFx0XHRcdFx0dW5pcXVlQ2FjaGUgPSBvdXRlckNhY2hlWyBlbGVtLnVuaXF1ZUlEIF0gfHxcblx0XHRcdFx0XHRcdFx0KCBvdXRlckNhY2hlWyBlbGVtLnVuaXF1ZUlEIF0gPSB7fSApO1xuXG5cdFx0XHRcdFx0XHRpZiAoIHNraXAgJiYgc2tpcCA9PT0gZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICkge1xuXHRcdFx0XHRcdFx0XHRlbGVtID0gZWxlbVsgZGlyIF0gfHwgZWxlbTtcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoICggb2xkQ2FjaGUgPSB1bmlxdWVDYWNoZVsga2V5IF0gKSAmJlxuXHRcdFx0XHRcdFx0XHRvbGRDYWNoZVsgMCBdID09PSBkaXJydW5zICYmIG9sZENhY2hlWyAxIF0gPT09IGRvbmVOYW1lICkge1xuXG5cdFx0XHRcdFx0XHRcdC8vIEFzc2lnbiB0byBuZXdDYWNoZSBzbyByZXN1bHRzIGJhY2stcHJvcGFnYXRlIHRvIHByZXZpb3VzIGVsZW1lbnRzXG5cdFx0XHRcdFx0XHRcdHJldHVybiAoIG5ld0NhY2hlWyAyIF0gPSBvbGRDYWNoZVsgMiBdICk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdFx0XHRcdC8vIFJldXNlIG5ld2NhY2hlIHNvIHJlc3VsdHMgYmFjay1wcm9wYWdhdGUgdG8gcHJldmlvdXMgZWxlbWVudHNcblx0XHRcdFx0XHRcdFx0dW5pcXVlQ2FjaGVbIGtleSBdID0gbmV3Q2FjaGU7XG5cblx0XHRcdFx0XHRcdFx0Ly8gQSBtYXRjaCBtZWFucyB3ZSdyZSBkb25lOyBhIGZhaWwgbWVhbnMgd2UgaGF2ZSB0byBrZWVwIGNoZWNraW5nXG5cdFx0XHRcdFx0XHRcdGlmICggKCBuZXdDYWNoZVsgMiBdID0gbWF0Y2hlciggZWxlbSwgY29udGV4dCwgeG1sICkgKSApIHtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH07XG59XG5cbmZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVyKCBtYXRjaGVycyApIHtcblx0cmV0dXJuIG1hdGNoZXJzLmxlbmd0aCA+IDEgP1xuXHRcdGZ1bmN0aW9uKCBlbGVtLCBjb250ZXh0LCB4bWwgKSB7XG5cdFx0XHR2YXIgaSA9IG1hdGNoZXJzLmxlbmd0aDtcblx0XHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0XHRpZiAoICFtYXRjaGVyc1sgaSBdKCBlbGVtLCBjb250ZXh0LCB4bWwgKSApIHtcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH0gOlxuXHRcdG1hdGNoZXJzWyAwIF07XG59XG5cbmZ1bmN0aW9uIG11bHRpcGxlQ29udGV4dHMoIHNlbGVjdG9yLCBjb250ZXh0cywgcmVzdWx0cyApIHtcblx0dmFyIGkgPSAwLFxuXHRcdGxlbiA9IGNvbnRleHRzLmxlbmd0aDtcblx0Zm9yICggOyBpIDwgbGVuOyBpKysgKSB7XG5cdFx0U2l6emxlKCBzZWxlY3RvciwgY29udGV4dHNbIGkgXSwgcmVzdWx0cyApO1xuXHR9XG5cdHJldHVybiByZXN1bHRzO1xufVxuXG5mdW5jdGlvbiBjb25kZW5zZSggdW5tYXRjaGVkLCBtYXAsIGZpbHRlciwgY29udGV4dCwgeG1sICkge1xuXHR2YXIgZWxlbSxcblx0XHRuZXdVbm1hdGNoZWQgPSBbXSxcblx0XHRpID0gMCxcblx0XHRsZW4gPSB1bm1hdGNoZWQubGVuZ3RoLFxuXHRcdG1hcHBlZCA9IG1hcCAhPSBudWxsO1xuXG5cdGZvciAoIDsgaSA8IGxlbjsgaSsrICkge1xuXHRcdGlmICggKCBlbGVtID0gdW5tYXRjaGVkWyBpIF0gKSApIHtcblx0XHRcdGlmICggIWZpbHRlciB8fCBmaWx0ZXIoIGVsZW0sIGNvbnRleHQsIHhtbCApICkge1xuXHRcdFx0XHRuZXdVbm1hdGNoZWQucHVzaCggZWxlbSApO1xuXHRcdFx0XHRpZiAoIG1hcHBlZCApIHtcblx0XHRcdFx0XHRtYXAucHVzaCggaSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIG5ld1VubWF0Y2hlZDtcbn1cblxuZnVuY3Rpb24gc2V0TWF0Y2hlciggcHJlRmlsdGVyLCBzZWxlY3RvciwgbWF0Y2hlciwgcG9zdEZpbHRlciwgcG9zdEZpbmRlciwgcG9zdFNlbGVjdG9yICkge1xuXHRpZiAoIHBvc3RGaWx0ZXIgJiYgIXBvc3RGaWx0ZXJbIGV4cGFuZG8gXSApIHtcblx0XHRwb3N0RmlsdGVyID0gc2V0TWF0Y2hlciggcG9zdEZpbHRlciApO1xuXHR9XG5cdGlmICggcG9zdEZpbmRlciAmJiAhcG9zdEZpbmRlclsgZXhwYW5kbyBdICkge1xuXHRcdHBvc3RGaW5kZXIgPSBzZXRNYXRjaGVyKCBwb3N0RmluZGVyLCBwb3N0U2VsZWN0b3IgKTtcblx0fVxuXHRyZXR1cm4gbWFya0Z1bmN0aW9uKCBmdW5jdGlvbiggc2VlZCwgcmVzdWx0cywgY29udGV4dCwgeG1sICkge1xuXHRcdHZhciB0ZW1wLCBpLCBlbGVtLFxuXHRcdFx0cHJlTWFwID0gW10sXG5cdFx0XHRwb3N0TWFwID0gW10sXG5cdFx0XHRwcmVleGlzdGluZyA9IHJlc3VsdHMubGVuZ3RoLFxuXG5cdFx0XHQvLyBHZXQgaW5pdGlhbCBlbGVtZW50cyBmcm9tIHNlZWQgb3IgY29udGV4dFxuXHRcdFx0ZWxlbXMgPSBzZWVkIHx8IG11bHRpcGxlQ29udGV4dHMoXG5cdFx0XHRcdHNlbGVjdG9yIHx8IFwiKlwiLFxuXHRcdFx0XHRjb250ZXh0Lm5vZGVUeXBlID8gWyBjb250ZXh0IF0gOiBjb250ZXh0LFxuXHRcdFx0XHRbXVxuXHRcdFx0KSxcblxuXHRcdFx0Ly8gUHJlZmlsdGVyIHRvIGdldCBtYXRjaGVyIGlucHV0LCBwcmVzZXJ2aW5nIGEgbWFwIGZvciBzZWVkLXJlc3VsdHMgc3luY2hyb25pemF0aW9uXG5cdFx0XHRtYXRjaGVySW4gPSBwcmVGaWx0ZXIgJiYgKCBzZWVkIHx8ICFzZWxlY3RvciApID9cblx0XHRcdFx0Y29uZGVuc2UoIGVsZW1zLCBwcmVNYXAsIHByZUZpbHRlciwgY29udGV4dCwgeG1sICkgOlxuXHRcdFx0XHRlbGVtcyxcblxuXHRcdFx0bWF0Y2hlck91dCA9IG1hdGNoZXIgP1xuXG5cdFx0XHRcdC8vIElmIHdlIGhhdmUgYSBwb3N0RmluZGVyLCBvciBmaWx0ZXJlZCBzZWVkLCBvciBub24tc2VlZCBwb3N0RmlsdGVyIG9yIHByZWV4aXN0aW5nIHJlc3VsdHMsXG5cdFx0XHRcdHBvc3RGaW5kZXIgfHwgKCBzZWVkID8gcHJlRmlsdGVyIDogcHJlZXhpc3RpbmcgfHwgcG9zdEZpbHRlciApID9cblxuXHRcdFx0XHRcdC8vIC4uLmludGVybWVkaWF0ZSBwcm9jZXNzaW5nIGlzIG5lY2Vzc2FyeVxuXHRcdFx0XHRcdFtdIDpcblxuXHRcdFx0XHRcdC8vIC4uLm90aGVyd2lzZSB1c2UgcmVzdWx0cyBkaXJlY3RseVxuXHRcdFx0XHRcdHJlc3VsdHMgOlxuXHRcdFx0XHRtYXRjaGVySW47XG5cblx0XHQvLyBGaW5kIHByaW1hcnkgbWF0Y2hlc1xuXHRcdGlmICggbWF0Y2hlciApIHtcblx0XHRcdG1hdGNoZXIoIG1hdGNoZXJJbiwgbWF0Y2hlck91dCwgY29udGV4dCwgeG1sICk7XG5cdFx0fVxuXG5cdFx0Ly8gQXBwbHkgcG9zdEZpbHRlclxuXHRcdGlmICggcG9zdEZpbHRlciApIHtcblx0XHRcdHRlbXAgPSBjb25kZW5zZSggbWF0Y2hlck91dCwgcG9zdE1hcCApO1xuXHRcdFx0cG9zdEZpbHRlciggdGVtcCwgW10sIGNvbnRleHQsIHhtbCApO1xuXG5cdFx0XHQvLyBVbi1tYXRjaCBmYWlsaW5nIGVsZW1lbnRzIGJ5IG1vdmluZyB0aGVtIGJhY2sgdG8gbWF0Y2hlckluXG5cdFx0XHRpID0gdGVtcC5sZW5ndGg7XG5cdFx0XHR3aGlsZSAoIGktLSApIHtcblx0XHRcdFx0aWYgKCAoIGVsZW0gPSB0ZW1wWyBpIF0gKSApIHtcblx0XHRcdFx0XHRtYXRjaGVyT3V0WyBwb3N0TWFwWyBpIF0gXSA9ICEoIG1hdGNoZXJJblsgcG9zdE1hcFsgaSBdIF0gPSBlbGVtICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoIHNlZWQgKSB7XG5cdFx0XHRpZiAoIHBvc3RGaW5kZXIgfHwgcHJlRmlsdGVyICkge1xuXHRcdFx0XHRpZiAoIHBvc3RGaW5kZXIgKSB7XG5cblx0XHRcdFx0XHQvLyBHZXQgdGhlIGZpbmFsIG1hdGNoZXJPdXQgYnkgY29uZGVuc2luZyB0aGlzIGludGVybWVkaWF0ZSBpbnRvIHBvc3RGaW5kZXIgY29udGV4dHNcblx0XHRcdFx0XHR0ZW1wID0gW107XG5cdFx0XHRcdFx0aSA9IG1hdGNoZXJPdXQubGVuZ3RoO1xuXHRcdFx0XHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0XHRcdFx0aWYgKCAoIGVsZW0gPSBtYXRjaGVyT3V0WyBpIF0gKSApIHtcblxuXHRcdFx0XHRcdFx0XHQvLyBSZXN0b3JlIG1hdGNoZXJJbiBzaW5jZSBlbGVtIGlzIG5vdCB5ZXQgYSBmaW5hbCBtYXRjaFxuXHRcdFx0XHRcdFx0XHR0ZW1wLnB1c2goICggbWF0Y2hlckluWyBpIF0gPSBlbGVtICkgKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cG9zdEZpbmRlciggbnVsbCwgKCBtYXRjaGVyT3V0ID0gW10gKSwgdGVtcCwgeG1sICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBNb3ZlIG1hdGNoZWQgZWxlbWVudHMgZnJvbSBzZWVkIHRvIHJlc3VsdHMgdG8ga2VlcCB0aGVtIHN5bmNocm9uaXplZFxuXHRcdFx0XHRpID0gbWF0Y2hlck91dC5sZW5ndGg7XG5cdFx0XHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0XHRcdGlmICggKCBlbGVtID0gbWF0Y2hlck91dFsgaSBdICkgJiZcblx0XHRcdFx0XHRcdCggdGVtcCA9IHBvc3RGaW5kZXIgPyBpbmRleE9mKCBzZWVkLCBlbGVtICkgOiBwcmVNYXBbIGkgXSApID4gLTEgKSB7XG5cblx0XHRcdFx0XHRcdHNlZWRbIHRlbXAgXSA9ICEoIHJlc3VsdHNbIHRlbXAgXSA9IGVsZW0gKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdC8vIEFkZCBlbGVtZW50cyB0byByZXN1bHRzLCB0aHJvdWdoIHBvc3RGaW5kZXIgaWYgZGVmaW5lZFxuXHRcdH0gZWxzZSB7XG5cdFx0XHRtYXRjaGVyT3V0ID0gY29uZGVuc2UoXG5cdFx0XHRcdG1hdGNoZXJPdXQgPT09IHJlc3VsdHMgP1xuXHRcdFx0XHRcdG1hdGNoZXJPdXQuc3BsaWNlKCBwcmVleGlzdGluZywgbWF0Y2hlck91dC5sZW5ndGggKSA6XG5cdFx0XHRcdFx0bWF0Y2hlck91dFxuXHRcdFx0KTtcblx0XHRcdGlmICggcG9zdEZpbmRlciApIHtcblx0XHRcdFx0cG9zdEZpbmRlciggbnVsbCwgcmVzdWx0cywgbWF0Y2hlck91dCwgeG1sICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRwdXNoLmFwcGx5KCByZXN1bHRzLCBtYXRjaGVyT3V0ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9ICk7XG59XG5cbmZ1bmN0aW9uIG1hdGNoZXJGcm9tVG9rZW5zKCB0b2tlbnMgKSB7XG5cdHZhciBjaGVja0NvbnRleHQsIG1hdGNoZXIsIGosXG5cdFx0bGVuID0gdG9rZW5zLmxlbmd0aCxcblx0XHRsZWFkaW5nUmVsYXRpdmUgPSBFeHByLnJlbGF0aXZlWyB0b2tlbnNbIDAgXS50eXBlIF0sXG5cdFx0aW1wbGljaXRSZWxhdGl2ZSA9IGxlYWRpbmdSZWxhdGl2ZSB8fCBFeHByLnJlbGF0aXZlWyBcIiBcIiBdLFxuXHRcdGkgPSBsZWFkaW5nUmVsYXRpdmUgPyAxIDogMCxcblxuXHRcdC8vIFRoZSBmb3VuZGF0aW9uYWwgbWF0Y2hlciBlbnN1cmVzIHRoYXQgZWxlbWVudHMgYXJlIHJlYWNoYWJsZSBmcm9tIHRvcC1sZXZlbCBjb250ZXh0KHMpXG5cdFx0bWF0Y2hDb250ZXh0ID0gYWRkQ29tYmluYXRvciggZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gZWxlbSA9PT0gY2hlY2tDb250ZXh0O1xuXHRcdH0sIGltcGxpY2l0UmVsYXRpdmUsIHRydWUgKSxcblx0XHRtYXRjaEFueUNvbnRleHQgPSBhZGRDb21iaW5hdG9yKCBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRcdHJldHVybiBpbmRleE9mKCBjaGVja0NvbnRleHQsIGVsZW0gKSA+IC0xO1xuXHRcdH0sIGltcGxpY2l0UmVsYXRpdmUsIHRydWUgKSxcblx0XHRtYXRjaGVycyA9IFsgZnVuY3Rpb24oIGVsZW0sIGNvbnRleHQsIHhtbCApIHtcblx0XHRcdHZhciByZXQgPSAoICFsZWFkaW5nUmVsYXRpdmUgJiYgKCB4bWwgfHwgY29udGV4dCAhPT0gb3V0ZXJtb3N0Q29udGV4dCApICkgfHwgKFxuXHRcdFx0XHQoIGNoZWNrQ29udGV4dCA9IGNvbnRleHQgKS5ub2RlVHlwZSA/XG5cdFx0XHRcdFx0bWF0Y2hDb250ZXh0KCBlbGVtLCBjb250ZXh0LCB4bWwgKSA6XG5cdFx0XHRcdFx0bWF0Y2hBbnlDb250ZXh0KCBlbGVtLCBjb250ZXh0LCB4bWwgKSApO1xuXG5cdFx0XHQvLyBBdm9pZCBoYW5naW5nIG9udG8gZWxlbWVudCAoaXNzdWUgIzI5OSlcblx0XHRcdGNoZWNrQ29udGV4dCA9IG51bGw7XG5cdFx0XHRyZXR1cm4gcmV0O1xuXHRcdH0gXTtcblxuXHRmb3IgKCA7IGkgPCBsZW47IGkrKyApIHtcblx0XHRpZiAoICggbWF0Y2hlciA9IEV4cHIucmVsYXRpdmVbIHRva2Vuc1sgaSBdLnR5cGUgXSApICkge1xuXHRcdFx0bWF0Y2hlcnMgPSBbIGFkZENvbWJpbmF0b3IoIGVsZW1lbnRNYXRjaGVyKCBtYXRjaGVycyApLCBtYXRjaGVyICkgXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0bWF0Y2hlciA9IEV4cHIuZmlsdGVyWyB0b2tlbnNbIGkgXS50eXBlIF0uYXBwbHkoIG51bGwsIHRva2Vuc1sgaSBdLm1hdGNoZXMgKTtcblxuXHRcdFx0Ly8gUmV0dXJuIHNwZWNpYWwgdXBvbiBzZWVpbmcgYSBwb3NpdGlvbmFsIG1hdGNoZXJcblx0XHRcdGlmICggbWF0Y2hlclsgZXhwYW5kbyBdICkge1xuXG5cdFx0XHRcdC8vIEZpbmQgdGhlIG5leHQgcmVsYXRpdmUgb3BlcmF0b3IgKGlmIGFueSkgZm9yIHByb3BlciBoYW5kbGluZ1xuXHRcdFx0XHRqID0gKytpO1xuXHRcdFx0XHRmb3IgKCA7IGogPCBsZW47IGorKyApIHtcblx0XHRcdFx0XHRpZiAoIEV4cHIucmVsYXRpdmVbIHRva2Vuc1sgaiBdLnR5cGUgXSApIHtcblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gc2V0TWF0Y2hlcihcblx0XHRcdFx0XHRpID4gMSAmJiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKSxcblx0XHRcdFx0XHRpID4gMSAmJiB0b1NlbGVjdG9yKFxuXG5cdFx0XHRcdFx0Ly8gSWYgdGhlIHByZWNlZGluZyB0b2tlbiB3YXMgYSBkZXNjZW5kYW50IGNvbWJpbmF0b3IsIGluc2VydCBhbiBpbXBsaWNpdCBhbnktZWxlbWVudCBgKmBcblx0XHRcdFx0XHR0b2tlbnNcblx0XHRcdFx0XHRcdC5zbGljZSggMCwgaSAtIDEgKVxuXHRcdFx0XHRcdFx0LmNvbmNhdCggeyB2YWx1ZTogdG9rZW5zWyBpIC0gMiBdLnR5cGUgPT09IFwiIFwiID8gXCIqXCIgOiBcIlwiIH0gKVxuXHRcdFx0XHRcdCkucmVwbGFjZSggcnRyaW0sIFwiJDFcIiApLFxuXHRcdFx0XHRcdG1hdGNoZXIsXG5cdFx0XHRcdFx0aSA8IGogJiYgbWF0Y2hlckZyb21Ub2tlbnMoIHRva2Vucy5zbGljZSggaSwgaiApICksXG5cdFx0XHRcdFx0aiA8IGxlbiAmJiBtYXRjaGVyRnJvbVRva2VucyggKCB0b2tlbnMgPSB0b2tlbnMuc2xpY2UoIGogKSApICksXG5cdFx0XHRcdFx0aiA8IGxlbiAmJiB0b1NlbGVjdG9yKCB0b2tlbnMgKVxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdFx0bWF0Y2hlcnMucHVzaCggbWF0Y2hlciApO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBlbGVtZW50TWF0Y2hlciggbWF0Y2hlcnMgKTtcbn1cblxuZnVuY3Rpb24gbWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKCBlbGVtZW50TWF0Y2hlcnMsIHNldE1hdGNoZXJzICkge1xuXHR2YXIgYnlTZXQgPSBzZXRNYXRjaGVycy5sZW5ndGggPiAwLFxuXHRcdGJ5RWxlbWVudCA9IGVsZW1lbnRNYXRjaGVycy5sZW5ndGggPiAwLFxuXHRcdHN1cGVyTWF0Y2hlciA9IGZ1bmN0aW9uKCBzZWVkLCBjb250ZXh0LCB4bWwsIHJlc3VsdHMsIG91dGVybW9zdCApIHtcblx0XHRcdHZhciBlbGVtLCBqLCBtYXRjaGVyLFxuXHRcdFx0XHRtYXRjaGVkQ291bnQgPSAwLFxuXHRcdFx0XHRpID0gXCIwXCIsXG5cdFx0XHRcdHVubWF0Y2hlZCA9IHNlZWQgJiYgW10sXG5cdFx0XHRcdHNldE1hdGNoZWQgPSBbXSxcblx0XHRcdFx0Y29udGV4dEJhY2t1cCA9IG91dGVybW9zdENvbnRleHQsXG5cblx0XHRcdFx0Ly8gV2UgbXVzdCBhbHdheXMgaGF2ZSBlaXRoZXIgc2VlZCBlbGVtZW50cyBvciBvdXRlcm1vc3QgY29udGV4dFxuXHRcdFx0XHRlbGVtcyA9IHNlZWQgfHwgYnlFbGVtZW50ICYmIEV4cHIuZmluZFsgXCJUQUdcIiBdKCBcIipcIiwgb3V0ZXJtb3N0ICksXG5cblx0XHRcdFx0Ly8gVXNlIGludGVnZXIgZGlycnVucyBpZmYgdGhpcyBpcyB0aGUgb3V0ZXJtb3N0IG1hdGNoZXJcblx0XHRcdFx0ZGlycnVuc1VuaXF1ZSA9ICggZGlycnVucyArPSBjb250ZXh0QmFja3VwID09IG51bGwgPyAxIDogTWF0aC5yYW5kb20oKSB8fCAwLjEgKSxcblx0XHRcdFx0bGVuID0gZWxlbXMubGVuZ3RoO1xuXG5cdFx0XHRpZiAoIG91dGVybW9zdCApIHtcblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBJRSAxMSssIEVkZ2UgMTcgLSAxOCtcblx0XHRcdFx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdFx0XHRcdC8vIHR3byBkb2N1bWVudHM7IHNoYWxsb3cgY29tcGFyaXNvbnMgd29yay5cblx0XHRcdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVxZXFlcVxuXHRcdFx0XHRvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dCA9PSBkb2N1bWVudCB8fCBjb250ZXh0IHx8IG91dGVybW9zdDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gQWRkIGVsZW1lbnRzIHBhc3NpbmcgZWxlbWVudE1hdGNoZXJzIGRpcmVjdGx5IHRvIHJlc3VsdHNcblx0XHRcdC8vIFN1cHBvcnQ6IElFPDksIFNhZmFyaVxuXHRcdFx0Ly8gVG9sZXJhdGUgTm9kZUxpc3QgcHJvcGVydGllcyAoSUU6IFwibGVuZ3RoXCI7IFNhZmFyaTogPG51bWJlcj4pIG1hdGNoaW5nIGVsZW1lbnRzIGJ5IGlkXG5cdFx0XHRmb3IgKCA7IGkgIT09IGxlbiAmJiAoIGVsZW0gPSBlbGVtc1sgaSBdICkgIT0gbnVsbDsgaSsrICkge1xuXHRcdFx0XHRpZiAoIGJ5RWxlbWVudCAmJiBlbGVtICkge1xuXHRcdFx0XHRcdGogPSAwO1xuXG5cdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgMTErLCBFZGdlIDE3IC0gMTgrXG5cdFx0XHRcdFx0Ly8gSUUvRWRnZSBzb21ldGltZXMgdGhyb3cgYSBcIlBlcm1pc3Npb24gZGVuaWVkXCIgZXJyb3Igd2hlbiBzdHJpY3QtY29tcGFyaW5nXG5cdFx0XHRcdFx0Ly8gdHdvIGRvY3VtZW50czsgc2hhbGxvdyBjb21wYXJpc29ucyB3b3JrLlxuXHRcdFx0XHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcWVxZXFcblx0XHRcdFx0XHRpZiAoICFjb250ZXh0ICYmIGVsZW0ub3duZXJEb2N1bWVudCAhPSBkb2N1bWVudCApIHtcblx0XHRcdFx0XHRcdHNldERvY3VtZW50KCBlbGVtICk7XG5cdFx0XHRcdFx0XHR4bWwgPSAhZG9jdW1lbnRJc0hUTUw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHdoaWxlICggKCBtYXRjaGVyID0gZWxlbWVudE1hdGNoZXJzWyBqKysgXSApICkge1xuXHRcdFx0XHRcdFx0aWYgKCBtYXRjaGVyKCBlbGVtLCBjb250ZXh0IHx8IGRvY3VtZW50LCB4bWwgKSApIHtcblx0XHRcdFx0XHRcdFx0cmVzdWx0cy5wdXNoKCBlbGVtICk7XG5cdFx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoIG91dGVybW9zdCApIHtcblx0XHRcdFx0XHRcdGRpcnJ1bnMgPSBkaXJydW5zVW5pcXVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFRyYWNrIHVubWF0Y2hlZCBlbGVtZW50cyBmb3Igc2V0IGZpbHRlcnNcblx0XHRcdFx0aWYgKCBieVNldCApIHtcblxuXHRcdFx0XHRcdC8vIFRoZXkgd2lsbCBoYXZlIGdvbmUgdGhyb3VnaCBhbGwgcG9zc2libGUgbWF0Y2hlcnNcblx0XHRcdFx0XHRpZiAoICggZWxlbSA9ICFtYXRjaGVyICYmIGVsZW0gKSApIHtcblx0XHRcdFx0XHRcdG1hdGNoZWRDb3VudC0tO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIExlbmd0aGVuIHRoZSBhcnJheSBmb3IgZXZlcnkgZWxlbWVudCwgbWF0Y2hlZCBvciBub3Rcblx0XHRcdFx0XHRpZiAoIHNlZWQgKSB7XG5cdFx0XHRcdFx0XHR1bm1hdGNoZWQucHVzaCggZWxlbSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBgaWAgaXMgbm93IHRoZSBjb3VudCBvZiBlbGVtZW50cyB2aXNpdGVkIGFib3ZlLCBhbmQgYWRkaW5nIGl0IHRvIGBtYXRjaGVkQ291bnRgXG5cdFx0XHQvLyBtYWtlcyB0aGUgbGF0dGVyIG5vbm5lZ2F0aXZlLlxuXHRcdFx0bWF0Y2hlZENvdW50ICs9IGk7XG5cblx0XHRcdC8vIEFwcGx5IHNldCBmaWx0ZXJzIHRvIHVubWF0Y2hlZCBlbGVtZW50c1xuXHRcdFx0Ly8gTk9URTogVGhpcyBjYW4gYmUgc2tpcHBlZCBpZiB0aGVyZSBhcmUgbm8gdW5tYXRjaGVkIGVsZW1lbnRzIChpLmUuLCBgbWF0Y2hlZENvdW50YFxuXHRcdFx0Ly8gZXF1YWxzIGBpYCksIHVubGVzcyB3ZSBkaWRuJ3QgdmlzaXQgX2FueV8gZWxlbWVudHMgaW4gdGhlIGFib3ZlIGxvb3AgYmVjYXVzZSB3ZSBoYXZlXG5cdFx0XHQvLyBubyBlbGVtZW50IG1hdGNoZXJzIGFuZCBubyBzZWVkLlxuXHRcdFx0Ly8gSW5jcmVtZW50aW5nIGFuIGluaXRpYWxseS1zdHJpbmcgXCIwXCIgYGlgIGFsbG93cyBgaWAgdG8gcmVtYWluIGEgc3RyaW5nIG9ubHkgaW4gdGhhdFxuXHRcdFx0Ly8gY2FzZSwgd2hpY2ggd2lsbCByZXN1bHQgaW4gYSBcIjAwXCIgYG1hdGNoZWRDb3VudGAgdGhhdCBkaWZmZXJzIGZyb20gYGlgIGJ1dCBpcyBhbHNvXG5cdFx0XHQvLyBudW1lcmljYWxseSB6ZXJvLlxuXHRcdFx0aWYgKCBieVNldCAmJiBpICE9PSBtYXRjaGVkQ291bnQgKSB7XG5cdFx0XHRcdGogPSAwO1xuXHRcdFx0XHR3aGlsZSAoICggbWF0Y2hlciA9IHNldE1hdGNoZXJzWyBqKysgXSApICkge1xuXHRcdFx0XHRcdG1hdGNoZXIoIHVubWF0Y2hlZCwgc2V0TWF0Y2hlZCwgY29udGV4dCwgeG1sICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoIHNlZWQgKSB7XG5cblx0XHRcdFx0XHQvLyBSZWludGVncmF0ZSBlbGVtZW50IG1hdGNoZXMgdG8gZWxpbWluYXRlIHRoZSBuZWVkIGZvciBzb3J0aW5nXG5cdFx0XHRcdFx0aWYgKCBtYXRjaGVkQ291bnQgPiAwICkge1xuXHRcdFx0XHRcdFx0d2hpbGUgKCBpLS0gKSB7XG5cdFx0XHRcdFx0XHRcdGlmICggISggdW5tYXRjaGVkWyBpIF0gfHwgc2V0TWF0Y2hlZFsgaSBdICkgKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2V0TWF0Y2hlZFsgaSBdID0gcG9wLmNhbGwoIHJlc3VsdHMgKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdC8vIERpc2NhcmQgaW5kZXggcGxhY2Vob2xkZXIgdmFsdWVzIHRvIGdldCBvbmx5IGFjdHVhbCBtYXRjaGVzXG5cdFx0XHRcdFx0c2V0TWF0Y2hlZCA9IGNvbmRlbnNlKCBzZXRNYXRjaGVkICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBBZGQgbWF0Y2hlcyB0byByZXN1bHRzXG5cdFx0XHRcdHB1c2guYXBwbHkoIHJlc3VsdHMsIHNldE1hdGNoZWQgKTtcblxuXHRcdFx0XHQvLyBTZWVkbGVzcyBzZXQgbWF0Y2hlcyBzdWNjZWVkaW5nIG11bHRpcGxlIHN1Y2Nlc3NmdWwgbWF0Y2hlcnMgc3RpcHVsYXRlIHNvcnRpbmdcblx0XHRcdFx0aWYgKCBvdXRlcm1vc3QgJiYgIXNlZWQgJiYgc2V0TWF0Y2hlZC5sZW5ndGggPiAwICYmXG5cdFx0XHRcdFx0KCBtYXRjaGVkQ291bnQgKyBzZXRNYXRjaGVycy5sZW5ndGggKSA+IDEgKSB7XG5cblx0XHRcdFx0XHRTaXp6bGUudW5pcXVlU29ydCggcmVzdWx0cyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIE92ZXJyaWRlIG1hbmlwdWxhdGlvbiBvZiBnbG9iYWxzIGJ5IG5lc3RlZCBtYXRjaGVyc1xuXHRcdFx0aWYgKCBvdXRlcm1vc3QgKSB7XG5cdFx0XHRcdGRpcnJ1bnMgPSBkaXJydW5zVW5pcXVlO1xuXHRcdFx0XHRvdXRlcm1vc3RDb250ZXh0ID0gY29udGV4dEJhY2t1cDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHVubWF0Y2hlZDtcblx0XHR9O1xuXG5cdHJldHVybiBieVNldCA/XG5cdFx0bWFya0Z1bmN0aW9uKCBzdXBlck1hdGNoZXIgKSA6XG5cdFx0c3VwZXJNYXRjaGVyO1xufVxuXG5jb21waWxlID0gU2l6emxlLmNvbXBpbGUgPSBmdW5jdGlvbiggc2VsZWN0b3IsIG1hdGNoIC8qIEludGVybmFsIFVzZSBPbmx5ICovICkge1xuXHR2YXIgaSxcblx0XHRzZXRNYXRjaGVycyA9IFtdLFxuXHRcdGVsZW1lbnRNYXRjaGVycyA9IFtdLFxuXHRcdGNhY2hlZCA9IGNvbXBpbGVyQ2FjaGVbIHNlbGVjdG9yICsgXCIgXCIgXTtcblxuXHRpZiAoICFjYWNoZWQgKSB7XG5cblx0XHQvLyBHZW5lcmF0ZSBhIGZ1bmN0aW9uIG9mIHJlY3Vyc2l2ZSBmdW5jdGlvbnMgdGhhdCBjYW4gYmUgdXNlZCB0byBjaGVjayBlYWNoIGVsZW1lbnRcblx0XHRpZiAoICFtYXRjaCApIHtcblx0XHRcdG1hdGNoID0gdG9rZW5pemUoIHNlbGVjdG9yICk7XG5cdFx0fVxuXHRcdGkgPSBtYXRjaC5sZW5ndGg7XG5cdFx0d2hpbGUgKCBpLS0gKSB7XG5cdFx0XHRjYWNoZWQgPSBtYXRjaGVyRnJvbVRva2VucyggbWF0Y2hbIGkgXSApO1xuXHRcdFx0aWYgKCBjYWNoZWRbIGV4cGFuZG8gXSApIHtcblx0XHRcdFx0c2V0TWF0Y2hlcnMucHVzaCggY2FjaGVkICk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRlbGVtZW50TWF0Y2hlcnMucHVzaCggY2FjaGVkICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQ2FjaGUgdGhlIGNvbXBpbGVkIGZ1bmN0aW9uXG5cdFx0Y2FjaGVkID0gY29tcGlsZXJDYWNoZShcblx0XHRcdHNlbGVjdG9yLFxuXHRcdFx0bWF0Y2hlckZyb21Hcm91cE1hdGNoZXJzKCBlbGVtZW50TWF0Y2hlcnMsIHNldE1hdGNoZXJzIClcblx0XHQpO1xuXG5cdFx0Ly8gU2F2ZSBzZWxlY3RvciBhbmQgdG9rZW5pemF0aW9uXG5cdFx0Y2FjaGVkLnNlbGVjdG9yID0gc2VsZWN0b3I7XG5cdH1cblx0cmV0dXJuIGNhY2hlZDtcbn07XG5cbi8qKlxuICogQSBsb3ctbGV2ZWwgc2VsZWN0aW9uIGZ1bmN0aW9uIHRoYXQgd29ya3Mgd2l0aCBTaXp6bGUncyBjb21waWxlZFxuICogIHNlbGVjdG9yIGZ1bmN0aW9uc1xuICogQHBhcmFtIHtTdHJpbmd8RnVuY3Rpb259IHNlbGVjdG9yIEEgc2VsZWN0b3Igb3IgYSBwcmUtY29tcGlsZWRcbiAqICBzZWxlY3RvciBmdW5jdGlvbiBidWlsdCB3aXRoIFNpenpsZS5jb21waWxlXG4gKiBAcGFyYW0ge0VsZW1lbnR9IGNvbnRleHRcbiAqIEBwYXJhbSB7QXJyYXl9IFtyZXN1bHRzXVxuICogQHBhcmFtIHtBcnJheX0gW3NlZWRdIEEgc2V0IG9mIGVsZW1lbnRzIHRvIG1hdGNoIGFnYWluc3RcbiAqL1xuc2VsZWN0ID0gU2l6emxlLnNlbGVjdCA9IGZ1bmN0aW9uKCBzZWxlY3RvciwgY29udGV4dCwgcmVzdWx0cywgc2VlZCApIHtcblx0dmFyIGksIHRva2VucywgdG9rZW4sIHR5cGUsIGZpbmQsXG5cdFx0Y29tcGlsZWQgPSB0eXBlb2Ygc2VsZWN0b3IgPT09IFwiZnVuY3Rpb25cIiAmJiBzZWxlY3Rvcixcblx0XHRtYXRjaCA9ICFzZWVkICYmIHRva2VuaXplKCAoIHNlbGVjdG9yID0gY29tcGlsZWQuc2VsZWN0b3IgfHwgc2VsZWN0b3IgKSApO1xuXG5cdHJlc3VsdHMgPSByZXN1bHRzIHx8IFtdO1xuXG5cdC8vIFRyeSB0byBtaW5pbWl6ZSBvcGVyYXRpb25zIGlmIHRoZXJlIGlzIG9ubHkgb25lIHNlbGVjdG9yIGluIHRoZSBsaXN0IGFuZCBubyBzZWVkXG5cdC8vICh0aGUgbGF0dGVyIG9mIHdoaWNoIGd1YXJhbnRlZXMgdXMgY29udGV4dClcblx0aWYgKCBtYXRjaC5sZW5ndGggPT09IDEgKSB7XG5cblx0XHQvLyBSZWR1Y2UgY29udGV4dCBpZiB0aGUgbGVhZGluZyBjb21wb3VuZCBzZWxlY3RvciBpcyBhbiBJRFxuXHRcdHRva2VucyA9IG1hdGNoWyAwIF0gPSBtYXRjaFsgMCBdLnNsaWNlKCAwICk7XG5cdFx0aWYgKCB0b2tlbnMubGVuZ3RoID4gMiAmJiAoIHRva2VuID0gdG9rZW5zWyAwIF0gKS50eXBlID09PSBcIklEXCIgJiZcblx0XHRcdGNvbnRleHQubm9kZVR5cGUgPT09IDkgJiYgZG9jdW1lbnRJc0hUTUwgJiYgRXhwci5yZWxhdGl2ZVsgdG9rZW5zWyAxIF0udHlwZSBdICkge1xuXG5cdFx0XHRjb250ZXh0ID0gKCBFeHByLmZpbmRbIFwiSURcIiBdKCB0b2tlbi5tYXRjaGVzWyAwIF1cblx0XHRcdFx0LnJlcGxhY2UoIHJ1bmVzY2FwZSwgZnVuZXNjYXBlICksIGNvbnRleHQgKSB8fCBbXSApWyAwIF07XG5cdFx0XHRpZiAoICFjb250ZXh0ICkge1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0cztcblxuXHRcdFx0Ly8gUHJlY29tcGlsZWQgbWF0Y2hlcnMgd2lsbCBzdGlsbCB2ZXJpZnkgYW5jZXN0cnksIHNvIHN0ZXAgdXAgYSBsZXZlbFxuXHRcdFx0fSBlbHNlIGlmICggY29tcGlsZWQgKSB7XG5cdFx0XHRcdGNvbnRleHQgPSBjb250ZXh0LnBhcmVudE5vZGU7XG5cdFx0XHR9XG5cblx0XHRcdHNlbGVjdG9yID0gc2VsZWN0b3Iuc2xpY2UoIHRva2Vucy5zaGlmdCgpLnZhbHVlLmxlbmd0aCApO1xuXHRcdH1cblxuXHRcdC8vIEZldGNoIGEgc2VlZCBzZXQgZm9yIHJpZ2h0LXRvLWxlZnQgbWF0Y2hpbmdcblx0XHRpID0gbWF0Y2hFeHByWyBcIm5lZWRzQ29udGV4dFwiIF0udGVzdCggc2VsZWN0b3IgKSA/IDAgOiB0b2tlbnMubGVuZ3RoO1xuXHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0dG9rZW4gPSB0b2tlbnNbIGkgXTtcblxuXHRcdFx0Ly8gQWJvcnQgaWYgd2UgaGl0IGEgY29tYmluYXRvclxuXHRcdFx0aWYgKCBFeHByLnJlbGF0aXZlWyAoIHR5cGUgPSB0b2tlbi50eXBlICkgXSApIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0XHRpZiAoICggZmluZCA9IEV4cHIuZmluZFsgdHlwZSBdICkgKSB7XG5cblx0XHRcdFx0Ly8gU2VhcmNoLCBleHBhbmRpbmcgY29udGV4dCBmb3IgbGVhZGluZyBzaWJsaW5nIGNvbWJpbmF0b3JzXG5cdFx0XHRcdGlmICggKCBzZWVkID0gZmluZChcblx0XHRcdFx0XHR0b2tlbi5tYXRjaGVzWyAwIF0ucmVwbGFjZSggcnVuZXNjYXBlLCBmdW5lc2NhcGUgKSxcblx0XHRcdFx0XHRyc2libGluZy50ZXN0KCB0b2tlbnNbIDAgXS50eXBlICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8XG5cdFx0XHRcdFx0XHRjb250ZXh0XG5cdFx0XHRcdCkgKSApIHtcblxuXHRcdFx0XHRcdC8vIElmIHNlZWQgaXMgZW1wdHkgb3Igbm8gdG9rZW5zIHJlbWFpbiwgd2UgY2FuIHJldHVybiBlYXJseVxuXHRcdFx0XHRcdHRva2Vucy5zcGxpY2UoIGksIDEgKTtcblx0XHRcdFx0XHRzZWxlY3RvciA9IHNlZWQubGVuZ3RoICYmIHRvU2VsZWN0b3IoIHRva2VucyApO1xuXHRcdFx0XHRcdGlmICggIXNlbGVjdG9yICkge1xuXHRcdFx0XHRcdFx0cHVzaC5hcHBseSggcmVzdWx0cywgc2VlZCApO1xuXHRcdFx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBDb21waWxlIGFuZCBleGVjdXRlIGEgZmlsdGVyaW5nIGZ1bmN0aW9uIGlmIG9uZSBpcyBub3QgcHJvdmlkZWRcblx0Ly8gUHJvdmlkZSBgbWF0Y2hgIHRvIGF2b2lkIHJldG9rZW5pemF0aW9uIGlmIHdlIG1vZGlmaWVkIHRoZSBzZWxlY3RvciBhYm92ZVxuXHQoIGNvbXBpbGVkIHx8IGNvbXBpbGUoIHNlbGVjdG9yLCBtYXRjaCApICkoXG5cdFx0c2VlZCxcblx0XHRjb250ZXh0LFxuXHRcdCFkb2N1bWVudElzSFRNTCxcblx0XHRyZXN1bHRzLFxuXHRcdCFjb250ZXh0IHx8IHJzaWJsaW5nLnRlc3QoIHNlbGVjdG9yICkgJiYgdGVzdENvbnRleHQoIGNvbnRleHQucGFyZW50Tm9kZSApIHx8IGNvbnRleHRcblx0KTtcblx0cmV0dXJuIHJlc3VsdHM7XG59O1xuXG4vLyBPbmUtdGltZSBhc3NpZ25tZW50c1xuXG4vLyBTb3J0IHN0YWJpbGl0eVxuc3VwcG9ydC5zb3J0U3RhYmxlID0gZXhwYW5kby5zcGxpdCggXCJcIiApLnNvcnQoIHNvcnRPcmRlciApLmpvaW4oIFwiXCIgKSA9PT0gZXhwYW5kbztcblxuLy8gU3VwcG9ydDogQ2hyb21lIDE0LTM1K1xuLy8gQWx3YXlzIGFzc3VtZSBkdXBsaWNhdGVzIGlmIHRoZXkgYXJlbid0IHBhc3NlZCB0byB0aGUgY29tcGFyaXNvbiBmdW5jdGlvblxuc3VwcG9ydC5kZXRlY3REdXBsaWNhdGVzID0gISFoYXNEdXBsaWNhdGU7XG5cbi8vIEluaXRpYWxpemUgYWdhaW5zdCB0aGUgZGVmYXVsdCBkb2N1bWVudFxuc2V0RG9jdW1lbnQoKTtcblxuLy8gU3VwcG9ydDogV2Via2l0PDUzNy4zMiAtIFNhZmFyaSA2LjAuMy9DaHJvbWUgMjUgKGZpeGVkIGluIENocm9tZSAyNylcbi8vIERldGFjaGVkIG5vZGVzIGNvbmZvdW5kaW5nbHkgZm9sbG93ICplYWNoIG90aGVyKlxuc3VwcG9ydC5zb3J0RGV0YWNoZWQgPSBhc3NlcnQoIGZ1bmN0aW9uKCBlbCApIHtcblxuXHQvLyBTaG91bGQgcmV0dXJuIDEsIGJ1dCByZXR1cm5zIDQgKGZvbGxvd2luZylcblx0cmV0dXJuIGVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcImZpZWxkc2V0XCIgKSApICYgMTtcbn0gKTtcblxuLy8gU3VwcG9ydDogSUU8OFxuLy8gUHJldmVudCBhdHRyaWJ1dGUvcHJvcGVydHkgXCJpbnRlcnBvbGF0aW9uXCJcbi8vIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvbXM1MzY0MjklMjhWUy44NSUyOS5hc3B4XG5pZiAoICFhc3NlcnQoIGZ1bmN0aW9uKCBlbCApIHtcblx0ZWwuaW5uZXJIVE1MID0gXCI8YSBocmVmPScjJz48L2E+XCI7XG5cdHJldHVybiBlbC5maXJzdENoaWxkLmdldEF0dHJpYnV0ZSggXCJocmVmXCIgKSA9PT0gXCIjXCI7XG59ICkgKSB7XG5cdGFkZEhhbmRsZSggXCJ0eXBlfGhyZWZ8aGVpZ2h0fHdpZHRoXCIsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHtcblx0XHRpZiAoICFpc1hNTCApIHtcblx0XHRcdHJldHVybiBlbGVtLmdldEF0dHJpYnV0ZSggbmFtZSwgbmFtZS50b0xvd2VyQ2FzZSgpID09PSBcInR5cGVcIiA/IDEgOiAyICk7XG5cdFx0fVxuXHR9ICk7XG59XG5cbi8vIFN1cHBvcnQ6IElFPDlcbi8vIFVzZSBkZWZhdWx0VmFsdWUgaW4gcGxhY2Ugb2YgZ2V0QXR0cmlidXRlKFwidmFsdWVcIilcbmlmICggIXN1cHBvcnQuYXR0cmlidXRlcyB8fCAhYXNzZXJ0KCBmdW5jdGlvbiggZWwgKSB7XG5cdGVsLmlubmVySFRNTCA9IFwiPGlucHV0Lz5cIjtcblx0ZWwuZmlyc3RDaGlsZC5zZXRBdHRyaWJ1dGUoIFwidmFsdWVcIiwgXCJcIiApO1xuXHRyZXR1cm4gZWwuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoIFwidmFsdWVcIiApID09PSBcIlwiO1xufSApICkge1xuXHRhZGRIYW5kbGUoIFwidmFsdWVcIiwgZnVuY3Rpb24oIGVsZW0sIF9uYW1lLCBpc1hNTCApIHtcblx0XHRpZiAoICFpc1hNTCAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwiaW5wdXRcIiApIHtcblx0XHRcdHJldHVybiBlbGVtLmRlZmF1bHRWYWx1ZTtcblx0XHR9XG5cdH0gKTtcbn1cblxuLy8gU3VwcG9ydDogSUU8OVxuLy8gVXNlIGdldEF0dHJpYnV0ZU5vZGUgdG8gZmV0Y2ggYm9vbGVhbnMgd2hlbiBnZXRBdHRyaWJ1dGUgbGllc1xuaWYgKCAhYXNzZXJ0KCBmdW5jdGlvbiggZWwgKSB7XG5cdHJldHVybiBlbC5nZXRBdHRyaWJ1dGUoIFwiZGlzYWJsZWRcIiApID09IG51bGw7XG59ICkgKSB7XG5cdGFkZEhhbmRsZSggYm9vbGVhbnMsIGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBpc1hNTCApIHtcblx0XHR2YXIgdmFsO1xuXHRcdGlmICggIWlzWE1MICkge1xuXHRcdFx0cmV0dXJuIGVsZW1bIG5hbWUgXSA9PT0gdHJ1ZSA/IG5hbWUudG9Mb3dlckNhc2UoKSA6XG5cdFx0XHRcdCggdmFsID0gZWxlbS5nZXRBdHRyaWJ1dGVOb2RlKCBuYW1lICkgKSAmJiB2YWwuc3BlY2lmaWVkID9cblx0XHRcdFx0XHR2YWwudmFsdWUgOlxuXHRcdFx0XHRcdG51bGw7XG5cdFx0fVxuXHR9ICk7XG59XG5cbnJldHVybiBTaXp6bGU7XG5cbn0gKSggd2luZG93ICk7XG5cblxuXG5qUXVlcnkuZmluZCA9IFNpenpsZTtcbmpRdWVyeS5leHByID0gU2l6emxlLnNlbGVjdG9ycztcblxuLy8gRGVwcmVjYXRlZFxualF1ZXJ5LmV4cHJbIFwiOlwiIF0gPSBqUXVlcnkuZXhwci5wc2V1ZG9zO1xualF1ZXJ5LnVuaXF1ZVNvcnQgPSBqUXVlcnkudW5pcXVlID0gU2l6emxlLnVuaXF1ZVNvcnQ7XG5qUXVlcnkudGV4dCA9IFNpenpsZS5nZXRUZXh0O1xualF1ZXJ5LmlzWE1MRG9jID0gU2l6emxlLmlzWE1MO1xualF1ZXJ5LmNvbnRhaW5zID0gU2l6emxlLmNvbnRhaW5zO1xualF1ZXJ5LmVzY2FwZVNlbGVjdG9yID0gU2l6emxlLmVzY2FwZTtcblxuXG5cblxudmFyIGRpciA9IGZ1bmN0aW9uKCBlbGVtLCBkaXIsIHVudGlsICkge1xuXHR2YXIgbWF0Y2hlZCA9IFtdLFxuXHRcdHRydW5jYXRlID0gdW50aWwgIT09IHVuZGVmaW5lZDtcblxuXHR3aGlsZSAoICggZWxlbSA9IGVsZW1bIGRpciBdICkgJiYgZWxlbS5ub2RlVHlwZSAhPT0gOSApIHtcblx0XHRpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7XG5cdFx0XHRpZiAoIHRydW5jYXRlICYmIGpRdWVyeSggZWxlbSApLmlzKCB1bnRpbCApICkge1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHRcdG1hdGNoZWQucHVzaCggZWxlbSApO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gbWF0Y2hlZDtcbn07XG5cblxudmFyIHNpYmxpbmdzID0gZnVuY3Rpb24oIG4sIGVsZW0gKSB7XG5cdHZhciBtYXRjaGVkID0gW107XG5cblx0Zm9yICggOyBuOyBuID0gbi5uZXh0U2libGluZyApIHtcblx0XHRpZiAoIG4ubm9kZVR5cGUgPT09IDEgJiYgbiAhPT0gZWxlbSApIHtcblx0XHRcdG1hdGNoZWQucHVzaCggbiApO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBtYXRjaGVkO1xufTtcblxuXG52YXIgcm5lZWRzQ29udGV4dCA9IGpRdWVyeS5leHByLm1hdGNoLm5lZWRzQ29udGV4dDtcblxuXG5cbmZ1bmN0aW9uIG5vZGVOYW1lKCBlbGVtLCBuYW1lICkge1xuXG4gIHJldHVybiBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuXG59O1xudmFyIHJzaW5nbGVUYWcgPSAoIC9ePChbYS16XVteXFwvXFwwPjpcXHgyMFxcdFxcclxcblxcZl0qKVtcXHgyMFxcdFxcclxcblxcZl0qXFwvPz4oPzo8XFwvXFwxPnwpJC9pICk7XG5cblxuXG4vLyBJbXBsZW1lbnQgdGhlIGlkZW50aWNhbCBmdW5jdGlvbmFsaXR5IGZvciBmaWx0ZXIgYW5kIG5vdFxuZnVuY3Rpb24gd2lubm93KCBlbGVtZW50cywgcXVhbGlmaWVyLCBub3QgKSB7XG5cdGlmICggaXNGdW5jdGlvbiggcXVhbGlmaWVyICkgKSB7XG5cdFx0cmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0sIGkgKSB7XG5cdFx0XHRyZXR1cm4gISFxdWFsaWZpZXIuY2FsbCggZWxlbSwgaSwgZWxlbSApICE9PSBub3Q7XG5cdFx0fSApO1xuXHR9XG5cblx0Ly8gU2luZ2xlIGVsZW1lbnRcblx0aWYgKCBxdWFsaWZpZXIubm9kZVR5cGUgKSB7XG5cdFx0cmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gKCBlbGVtID09PSBxdWFsaWZpZXIgKSAhPT0gbm90O1xuXHRcdH0gKTtcblx0fVxuXG5cdC8vIEFycmF5bGlrZSBvZiBlbGVtZW50cyAoalF1ZXJ5LCBhcmd1bWVudHMsIEFycmF5KVxuXHRpZiAoIHR5cGVvZiBxdWFsaWZpZXIgIT09IFwic3RyaW5nXCIgKSB7XG5cdFx0cmV0dXJuIGpRdWVyeS5ncmVwKCBlbGVtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gKCBpbmRleE9mLmNhbGwoIHF1YWxpZmllciwgZWxlbSApID4gLTEgKSAhPT0gbm90O1xuXHRcdH0gKTtcblx0fVxuXG5cdC8vIEZpbHRlcmVkIGRpcmVjdGx5IGZvciBib3RoIHNpbXBsZSBhbmQgY29tcGxleCBzZWxlY3RvcnNcblx0cmV0dXJuIGpRdWVyeS5maWx0ZXIoIHF1YWxpZmllciwgZWxlbWVudHMsIG5vdCApO1xufVxuXG5qUXVlcnkuZmlsdGVyID0gZnVuY3Rpb24oIGV4cHIsIGVsZW1zLCBub3QgKSB7XG5cdHZhciBlbGVtID0gZWxlbXNbIDAgXTtcblxuXHRpZiAoIG5vdCApIHtcblx0XHRleHByID0gXCI6bm90KFwiICsgZXhwciArIFwiKVwiO1xuXHR9XG5cblx0aWYgKCBlbGVtcy5sZW5ndGggPT09IDEgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHtcblx0XHRyZXR1cm4galF1ZXJ5LmZpbmQubWF0Y2hlc1NlbGVjdG9yKCBlbGVtLCBleHByICkgPyBbIGVsZW0gXSA6IFtdO1xuXHR9XG5cblx0cmV0dXJuIGpRdWVyeS5maW5kLm1hdGNoZXMoIGV4cHIsIGpRdWVyeS5ncmVwKCBlbGVtcywgZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0cmV0dXJuIGVsZW0ubm9kZVR5cGUgPT09IDE7XG5cdH0gKSApO1xufTtcblxualF1ZXJ5LmZuLmV4dGVuZCgge1xuXHRmaW5kOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7XG5cdFx0dmFyIGksIHJldCxcblx0XHRcdGxlbiA9IHRoaXMubGVuZ3RoLFxuXHRcdFx0c2VsZiA9IHRoaXM7XG5cblx0XHRpZiAoIHR5cGVvZiBzZWxlY3RvciAhPT0gXCJzdHJpbmdcIiApIHtcblx0XHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggalF1ZXJ5KCBzZWxlY3RvciApLmZpbHRlciggZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGZvciAoIGkgPSAwOyBpIDwgbGVuOyBpKysgKSB7XG5cdFx0XHRcdFx0aWYgKCBqUXVlcnkuY29udGFpbnMoIHNlbGZbIGkgXSwgdGhpcyApICkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9ICkgKTtcblx0XHR9XG5cblx0XHRyZXQgPSB0aGlzLnB1c2hTdGFjayggW10gKTtcblxuXHRcdGZvciAoIGkgPSAwOyBpIDwgbGVuOyBpKysgKSB7XG5cdFx0XHRqUXVlcnkuZmluZCggc2VsZWN0b3IsIHNlbGZbIGkgXSwgcmV0ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGxlbiA+IDEgPyBqUXVlcnkudW5pcXVlU29ydCggcmV0ICkgOiByZXQ7XG5cdH0sXG5cdGZpbHRlcjogZnVuY3Rpb24oIHNlbGVjdG9yICkge1xuXHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggd2lubm93KCB0aGlzLCBzZWxlY3RvciB8fCBbXSwgZmFsc2UgKSApO1xuXHR9LFxuXHRub3Q6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHtcblx0XHRyZXR1cm4gdGhpcy5wdXNoU3RhY2soIHdpbm5vdyggdGhpcywgc2VsZWN0b3IgfHwgW10sIHRydWUgKSApO1xuXHR9LFxuXHRpczogZnVuY3Rpb24oIHNlbGVjdG9yICkge1xuXHRcdHJldHVybiAhIXdpbm5vdyhcblx0XHRcdHRoaXMsXG5cblx0XHRcdC8vIElmIHRoaXMgaXMgYSBwb3NpdGlvbmFsL3JlbGF0aXZlIHNlbGVjdG9yLCBjaGVjayBtZW1iZXJzaGlwIGluIHRoZSByZXR1cm5lZCBzZXRcblx0XHRcdC8vIHNvICQoXCJwOmZpcnN0XCIpLmlzKFwicDpsYXN0XCIpIHdvbid0IHJldHVybiB0cnVlIGZvciBhIGRvYyB3aXRoIHR3byBcInBcIi5cblx0XHRcdHR5cGVvZiBzZWxlY3RvciA9PT0gXCJzdHJpbmdcIiAmJiBybmVlZHNDb250ZXh0LnRlc3QoIHNlbGVjdG9yICkgP1xuXHRcdFx0XHRqUXVlcnkoIHNlbGVjdG9yICkgOlxuXHRcdFx0XHRzZWxlY3RvciB8fCBbXSxcblx0XHRcdGZhbHNlXG5cdFx0KS5sZW5ndGg7XG5cdH1cbn0gKTtcblxuXG4vLyBJbml0aWFsaXplIGEgalF1ZXJ5IG9iamVjdFxuXG5cbi8vIEEgY2VudHJhbCByZWZlcmVuY2UgdG8gdGhlIHJvb3QgalF1ZXJ5KGRvY3VtZW50KVxudmFyIHJvb3RqUXVlcnksXG5cblx0Ly8gQSBzaW1wbGUgd2F5IHRvIGNoZWNrIGZvciBIVE1MIHN0cmluZ3Ncblx0Ly8gUHJpb3JpdGl6ZSAjaWQgb3ZlciA8dGFnPiB0byBhdm9pZCBYU1MgdmlhIGxvY2F0aW9uLmhhc2ggKCM5NTIxKVxuXHQvLyBTdHJpY3QgSFRNTCByZWNvZ25pdGlvbiAoIzExMjkwOiBtdXN0IHN0YXJ0IHdpdGggPClcblx0Ly8gU2hvcnRjdXQgc2ltcGxlICNpZCBjYXNlIGZvciBzcGVlZFxuXHRycXVpY2tFeHByID0gL14oPzpcXHMqKDxbXFx3XFxXXSs+KVtePl0qfCMoW1xcdy1dKykpJC8sXG5cblx0aW5pdCA9IGpRdWVyeS5mbi5pbml0ID0gZnVuY3Rpb24oIHNlbGVjdG9yLCBjb250ZXh0LCByb290ICkge1xuXHRcdHZhciBtYXRjaCwgZWxlbTtcblxuXHRcdC8vIEhBTkRMRTogJChcIlwiKSwgJChudWxsKSwgJCh1bmRlZmluZWQpLCAkKGZhbHNlKVxuXHRcdGlmICggIXNlbGVjdG9yICkge1xuXHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0fVxuXG5cdFx0Ly8gTWV0aG9kIGluaXQoKSBhY2NlcHRzIGFuIGFsdGVybmF0ZSByb290alF1ZXJ5XG5cdFx0Ly8gc28gbWlncmF0ZSBjYW4gc3VwcG9ydCBqUXVlcnkuc3ViIChnaC0yMTAxKVxuXHRcdHJvb3QgPSByb290IHx8IHJvb3RqUXVlcnk7XG5cblx0XHQvLyBIYW5kbGUgSFRNTCBzdHJpbmdzXG5cdFx0aWYgKCB0eXBlb2Ygc2VsZWN0b3IgPT09IFwic3RyaW5nXCIgKSB7XG5cdFx0XHRpZiAoIHNlbGVjdG9yWyAwIF0gPT09IFwiPFwiICYmXG5cdFx0XHRcdHNlbGVjdG9yWyBzZWxlY3Rvci5sZW5ndGggLSAxIF0gPT09IFwiPlwiICYmXG5cdFx0XHRcdHNlbGVjdG9yLmxlbmd0aCA+PSAzICkge1xuXG5cdFx0XHRcdC8vIEFzc3VtZSB0aGF0IHN0cmluZ3MgdGhhdCBzdGFydCBhbmQgZW5kIHdpdGggPD4gYXJlIEhUTUwgYW5kIHNraXAgdGhlIHJlZ2V4IGNoZWNrXG5cdFx0XHRcdG1hdGNoID0gWyBudWxsLCBzZWxlY3RvciwgbnVsbCBdO1xuXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRtYXRjaCA9IHJxdWlja0V4cHIuZXhlYyggc2VsZWN0b3IgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gTWF0Y2ggaHRtbCBvciBtYWtlIHN1cmUgbm8gY29udGV4dCBpcyBzcGVjaWZpZWQgZm9yICNpZFxuXHRcdFx0aWYgKCBtYXRjaCAmJiAoIG1hdGNoWyAxIF0gfHwgIWNvbnRleHQgKSApIHtcblxuXHRcdFx0XHQvLyBIQU5ETEU6ICQoaHRtbCkgLT4gJChhcnJheSlcblx0XHRcdFx0aWYgKCBtYXRjaFsgMSBdICkge1xuXHRcdFx0XHRcdGNvbnRleHQgPSBjb250ZXh0IGluc3RhbmNlb2YgalF1ZXJ5ID8gY29udGV4dFsgMCBdIDogY29udGV4dDtcblxuXHRcdFx0XHRcdC8vIE9wdGlvbiB0byBydW4gc2NyaXB0cyBpcyB0cnVlIGZvciBiYWNrLWNvbXBhdFxuXHRcdFx0XHRcdC8vIEludGVudGlvbmFsbHkgbGV0IHRoZSBlcnJvciBiZSB0aHJvd24gaWYgcGFyc2VIVE1MIGlzIG5vdCBwcmVzZW50XG5cdFx0XHRcdFx0alF1ZXJ5Lm1lcmdlKCB0aGlzLCBqUXVlcnkucGFyc2VIVE1MKFxuXHRcdFx0XHRcdFx0bWF0Y2hbIDEgXSxcblx0XHRcdFx0XHRcdGNvbnRleHQgJiYgY29udGV4dC5ub2RlVHlwZSA/IGNvbnRleHQub3duZXJEb2N1bWVudCB8fCBjb250ZXh0IDogZG9jdW1lbnQsXG5cdFx0XHRcdFx0XHR0cnVlXG5cdFx0XHRcdFx0KSApO1xuXG5cdFx0XHRcdFx0Ly8gSEFORExFOiAkKGh0bWwsIHByb3BzKVxuXHRcdFx0XHRcdGlmICggcnNpbmdsZVRhZy50ZXN0KCBtYXRjaFsgMSBdICkgJiYgalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGNvbnRleHQgKSApIHtcblx0XHRcdFx0XHRcdGZvciAoIG1hdGNoIGluIGNvbnRleHQgKSB7XG5cblx0XHRcdFx0XHRcdFx0Ly8gUHJvcGVydGllcyBvZiBjb250ZXh0IGFyZSBjYWxsZWQgYXMgbWV0aG9kcyBpZiBwb3NzaWJsZVxuXHRcdFx0XHRcdFx0XHRpZiAoIGlzRnVuY3Rpb24oIHRoaXNbIG1hdGNoIF0gKSApIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzWyBtYXRjaCBdKCBjb250ZXh0WyBtYXRjaCBdICk7XG5cblx0XHRcdFx0XHRcdFx0Ly8gLi4uYW5kIG90aGVyd2lzZSBzZXQgYXMgYXR0cmlidXRlc1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuYXR0ciggbWF0Y2gsIGNvbnRleHRbIG1hdGNoIF0gKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdHJldHVybiB0aGlzO1xuXG5cdFx0XHRcdC8vIEhBTkRMRTogJCgjaWQpXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCBtYXRjaFsgMiBdICk7XG5cblx0XHRcdFx0XHRpZiAoIGVsZW0gKSB7XG5cblx0XHRcdFx0XHRcdC8vIEluamVjdCB0aGUgZWxlbWVudCBkaXJlY3RseSBpbnRvIHRoZSBqUXVlcnkgb2JqZWN0XG5cdFx0XHRcdFx0XHR0aGlzWyAwIF0gPSBlbGVtO1xuXHRcdFx0XHRcdFx0dGhpcy5sZW5ndGggPSAxO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGhpcztcblx0XHRcdFx0fVxuXG5cdFx0XHQvLyBIQU5ETEU6ICQoZXhwciwgJCguLi4pKVxuXHRcdFx0fSBlbHNlIGlmICggIWNvbnRleHQgfHwgY29udGV4dC5qcXVlcnkgKSB7XG5cdFx0XHRcdHJldHVybiAoIGNvbnRleHQgfHwgcm9vdCApLmZpbmQoIHNlbGVjdG9yICk7XG5cblx0XHRcdC8vIEhBTkRMRTogJChleHByLCBjb250ZXh0KVxuXHRcdFx0Ly8gKHdoaWNoIGlzIGp1c3QgZXF1aXZhbGVudCB0bzogJChjb250ZXh0KS5maW5kKGV4cHIpXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5jb25zdHJ1Y3RvciggY29udGV4dCApLmZpbmQoIHNlbGVjdG9yICk7XG5cdFx0XHR9XG5cblx0XHQvLyBIQU5ETEU6ICQoRE9NRWxlbWVudClcblx0XHR9IGVsc2UgaWYgKCBzZWxlY3Rvci5ub2RlVHlwZSApIHtcblx0XHRcdHRoaXNbIDAgXSA9IHNlbGVjdG9yO1xuXHRcdFx0dGhpcy5sZW5ndGggPSAxO1xuXHRcdFx0cmV0dXJuIHRoaXM7XG5cblx0XHQvLyBIQU5ETEU6ICQoZnVuY3Rpb24pXG5cdFx0Ly8gU2hvcnRjdXQgZm9yIGRvY3VtZW50IHJlYWR5XG5cdFx0fSBlbHNlIGlmICggaXNGdW5jdGlvbiggc2VsZWN0b3IgKSApIHtcblx0XHRcdHJldHVybiByb290LnJlYWR5ICE9PSB1bmRlZmluZWQgP1xuXHRcdFx0XHRyb290LnJlYWR5KCBzZWxlY3RvciApIDpcblxuXHRcdFx0XHQvLyBFeGVjdXRlIGltbWVkaWF0ZWx5IGlmIHJlYWR5IGlzIG5vdCBwcmVzZW50XG5cdFx0XHRcdHNlbGVjdG9yKCBqUXVlcnkgKTtcblx0XHR9XG5cblx0XHRyZXR1cm4galF1ZXJ5Lm1ha2VBcnJheSggc2VsZWN0b3IsIHRoaXMgKTtcblx0fTtcblxuLy8gR2l2ZSB0aGUgaW5pdCBmdW5jdGlvbiB0aGUgalF1ZXJ5IHByb3RvdHlwZSBmb3IgbGF0ZXIgaW5zdGFudGlhdGlvblxuaW5pdC5wcm90b3R5cGUgPSBqUXVlcnkuZm47XG5cbi8vIEluaXRpYWxpemUgY2VudHJhbCByZWZlcmVuY2VcbnJvb3RqUXVlcnkgPSBqUXVlcnkoIGRvY3VtZW50ICk7XG5cblxudmFyIHJwYXJlbnRzcHJldiA9IC9eKD86cGFyZW50c3xwcmV2KD86VW50aWx8QWxsKSkvLFxuXG5cdC8vIE1ldGhvZHMgZ3VhcmFudGVlZCB0byBwcm9kdWNlIGEgdW5pcXVlIHNldCB3aGVuIHN0YXJ0aW5nIGZyb20gYSB1bmlxdWUgc2V0XG5cdGd1YXJhbnRlZWRVbmlxdWUgPSB7XG5cdFx0Y2hpbGRyZW46IHRydWUsXG5cdFx0Y29udGVudHM6IHRydWUsXG5cdFx0bmV4dDogdHJ1ZSxcblx0XHRwcmV2OiB0cnVlXG5cdH07XG5cbmpRdWVyeS5mbi5leHRlbmQoIHtcblx0aGFzOiBmdW5jdGlvbiggdGFyZ2V0ICkge1xuXHRcdHZhciB0YXJnZXRzID0galF1ZXJ5KCB0YXJnZXQsIHRoaXMgKSxcblx0XHRcdGwgPSB0YXJnZXRzLmxlbmd0aDtcblxuXHRcdHJldHVybiB0aGlzLmZpbHRlciggZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgaSA9IDA7XG5cdFx0XHRmb3IgKCA7IGkgPCBsOyBpKysgKSB7XG5cdFx0XHRcdGlmICggalF1ZXJ5LmNvbnRhaW5zKCB0aGlzLCB0YXJnZXRzWyBpIF0gKSApIHtcblx0XHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gKTtcblx0fSxcblxuXHRjbG9zZXN0OiBmdW5jdGlvbiggc2VsZWN0b3JzLCBjb250ZXh0ICkge1xuXHRcdHZhciBjdXIsXG5cdFx0XHRpID0gMCxcblx0XHRcdGwgPSB0aGlzLmxlbmd0aCxcblx0XHRcdG1hdGNoZWQgPSBbXSxcblx0XHRcdHRhcmdldHMgPSB0eXBlb2Ygc2VsZWN0b3JzICE9PSBcInN0cmluZ1wiICYmIGpRdWVyeSggc2VsZWN0b3JzICk7XG5cblx0XHQvLyBQb3NpdGlvbmFsIHNlbGVjdG9ycyBuZXZlciBtYXRjaCwgc2luY2UgdGhlcmUncyBubyBfc2VsZWN0aW9uXyBjb250ZXh0XG5cdFx0aWYgKCAhcm5lZWRzQ29udGV4dC50ZXN0KCBzZWxlY3RvcnMgKSApIHtcblx0XHRcdGZvciAoIDsgaSA8IGw7IGkrKyApIHtcblx0XHRcdFx0Zm9yICggY3VyID0gdGhpc1sgaSBdOyBjdXIgJiYgY3VyICE9PSBjb250ZXh0OyBjdXIgPSBjdXIucGFyZW50Tm9kZSApIHtcblxuXHRcdFx0XHRcdC8vIEFsd2F5cyBza2lwIGRvY3VtZW50IGZyYWdtZW50c1xuXHRcdFx0XHRcdGlmICggY3VyLm5vZGVUeXBlIDwgMTEgJiYgKCB0YXJnZXRzID9cblx0XHRcdFx0XHRcdHRhcmdldHMuaW5kZXgoIGN1ciApID4gLTEgOlxuXG5cdFx0XHRcdFx0XHQvLyBEb24ndCBwYXNzIG5vbi1lbGVtZW50cyB0byBTaXp6bGVcblx0XHRcdFx0XHRcdGN1ci5ub2RlVHlwZSA9PT0gMSAmJlxuXHRcdFx0XHRcdFx0XHRqUXVlcnkuZmluZC5tYXRjaGVzU2VsZWN0b3IoIGN1ciwgc2VsZWN0b3JzICkgKSApIHtcblxuXHRcdFx0XHRcdFx0bWF0Y2hlZC5wdXNoKCBjdXIgKTtcblx0XHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggbWF0Y2hlZC5sZW5ndGggPiAxID8galF1ZXJ5LnVuaXF1ZVNvcnQoIG1hdGNoZWQgKSA6IG1hdGNoZWQgKTtcblx0fSxcblxuXHQvLyBEZXRlcm1pbmUgdGhlIHBvc2l0aW9uIG9mIGFuIGVsZW1lbnQgd2l0aGluIHRoZSBzZXRcblx0aW5kZXg6IGZ1bmN0aW9uKCBlbGVtICkge1xuXG5cdFx0Ly8gTm8gYXJndW1lbnQsIHJldHVybiBpbmRleCBpbiBwYXJlbnRcblx0XHRpZiAoICFlbGVtICkge1xuXHRcdFx0cmV0dXJuICggdGhpc1sgMCBdICYmIHRoaXNbIDAgXS5wYXJlbnROb2RlICkgPyB0aGlzLmZpcnN0KCkucHJldkFsbCgpLmxlbmd0aCA6IC0xO1xuXHRcdH1cblxuXHRcdC8vIEluZGV4IGluIHNlbGVjdG9yXG5cdFx0aWYgKCB0eXBlb2YgZWxlbSA9PT0gXCJzdHJpbmdcIiApIHtcblx0XHRcdHJldHVybiBpbmRleE9mLmNhbGwoIGpRdWVyeSggZWxlbSApLCB0aGlzWyAwIF0gKTtcblx0XHR9XG5cblx0XHQvLyBMb2NhdGUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkZXNpcmVkIGVsZW1lbnRcblx0XHRyZXR1cm4gaW5kZXhPZi5jYWxsKCB0aGlzLFxuXG5cdFx0XHQvLyBJZiBpdCByZWNlaXZlcyBhIGpRdWVyeSBvYmplY3QsIHRoZSBmaXJzdCBlbGVtZW50IGlzIHVzZWRcblx0XHRcdGVsZW0uanF1ZXJ5ID8gZWxlbVsgMCBdIDogZWxlbVxuXHRcdCk7XG5cdH0sXG5cblx0YWRkOiBmdW5jdGlvbiggc2VsZWN0b3IsIGNvbnRleHQgKSB7XG5cdFx0cmV0dXJuIHRoaXMucHVzaFN0YWNrKFxuXHRcdFx0alF1ZXJ5LnVuaXF1ZVNvcnQoXG5cdFx0XHRcdGpRdWVyeS5tZXJnZSggdGhpcy5nZXQoKSwgalF1ZXJ5KCBzZWxlY3RvciwgY29udGV4dCApIClcblx0XHRcdClcblx0XHQpO1xuXHR9LFxuXG5cdGFkZEJhY2s6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHtcblx0XHRyZXR1cm4gdGhpcy5hZGQoIHNlbGVjdG9yID09IG51bGwgP1xuXHRcdFx0dGhpcy5wcmV2T2JqZWN0IDogdGhpcy5wcmV2T2JqZWN0LmZpbHRlciggc2VsZWN0b3IgKVxuXHRcdCk7XG5cdH1cbn0gKTtcblxuZnVuY3Rpb24gc2libGluZyggY3VyLCBkaXIgKSB7XG5cdHdoaWxlICggKCBjdXIgPSBjdXJbIGRpciBdICkgJiYgY3VyLm5vZGVUeXBlICE9PSAxICkge31cblx0cmV0dXJuIGN1cjtcbn1cblxualF1ZXJ5LmVhY2goIHtcblx0cGFyZW50OiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHR2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlO1xuXHRcdHJldHVybiBwYXJlbnQgJiYgcGFyZW50Lm5vZGVUeXBlICE9PSAxMSA/IHBhcmVudCA6IG51bGw7XG5cdH0sXG5cdHBhcmVudHM6IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdHJldHVybiBkaXIoIGVsZW0sIFwicGFyZW50Tm9kZVwiICk7XG5cdH0sXG5cdHBhcmVudHNVbnRpbDogZnVuY3Rpb24oIGVsZW0sIF9pLCB1bnRpbCApIHtcblx0XHRyZXR1cm4gZGlyKCBlbGVtLCBcInBhcmVudE5vZGVcIiwgdW50aWwgKTtcblx0fSxcblx0bmV4dDogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0cmV0dXJuIHNpYmxpbmcoIGVsZW0sIFwibmV4dFNpYmxpbmdcIiApO1xuXHR9LFxuXHRwcmV2OiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRyZXR1cm4gc2libGluZyggZWxlbSwgXCJwcmV2aW91c1NpYmxpbmdcIiApO1xuXHR9LFxuXHRuZXh0QWxsOiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRyZXR1cm4gZGlyKCBlbGVtLCBcIm5leHRTaWJsaW5nXCIgKTtcblx0fSxcblx0cHJldkFsbDogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0cmV0dXJuIGRpciggZWxlbSwgXCJwcmV2aW91c1NpYmxpbmdcIiApO1xuXHR9LFxuXHRuZXh0VW50aWw6IGZ1bmN0aW9uKCBlbGVtLCBfaSwgdW50aWwgKSB7XG5cdFx0cmV0dXJuIGRpciggZWxlbSwgXCJuZXh0U2libGluZ1wiLCB1bnRpbCApO1xuXHR9LFxuXHRwcmV2VW50aWw6IGZ1bmN0aW9uKCBlbGVtLCBfaSwgdW50aWwgKSB7XG5cdFx0cmV0dXJuIGRpciggZWxlbSwgXCJwcmV2aW91c1NpYmxpbmdcIiwgdW50aWwgKTtcblx0fSxcblx0c2libGluZ3M6IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdHJldHVybiBzaWJsaW5ncyggKCBlbGVtLnBhcmVudE5vZGUgfHwge30gKS5maXJzdENoaWxkLCBlbGVtICk7XG5cdH0sXG5cdGNoaWxkcmVuOiBmdW5jdGlvbiggZWxlbSApIHtcblx0XHRyZXR1cm4gc2libGluZ3MoIGVsZW0uZmlyc3RDaGlsZCApO1xuXHR9LFxuXHRjb250ZW50czogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0aWYgKCBlbGVtLmNvbnRlbnREb2N1bWVudCAhPSBudWxsICYmXG5cblx0XHRcdC8vIFN1cHBvcnQ6IElFIDExK1xuXHRcdFx0Ly8gPG9iamVjdD4gZWxlbWVudHMgd2l0aCBubyBgZGF0YWAgYXR0cmlidXRlIGhhcyBhbiBvYmplY3Rcblx0XHRcdC8vIGBjb250ZW50RG9jdW1lbnRgIHdpdGggYSBgbnVsbGAgcHJvdG90eXBlLlxuXHRcdFx0Z2V0UHJvdG8oIGVsZW0uY29udGVudERvY3VtZW50ICkgKSB7XG5cblx0XHRcdHJldHVybiBlbGVtLmNvbnRlbnREb2N1bWVudDtcblx0XHR9XG5cblx0XHQvLyBTdXBwb3J0OiBJRSA5IC0gMTEgb25seSwgaU9TIDcgb25seSwgQW5kcm9pZCBCcm93c2VyIDw9NC4zIG9ubHlcblx0XHQvLyBUcmVhdCB0aGUgdGVtcGxhdGUgZWxlbWVudCBhcyBhIHJlZ3VsYXIgb25lIGluIGJyb3dzZXJzIHRoYXRcblx0XHQvLyBkb24ndCBzdXBwb3J0IGl0LlxuXHRcdGlmICggbm9kZU5hbWUoIGVsZW0sIFwidGVtcGxhdGVcIiApICkge1xuXHRcdFx0ZWxlbSA9IGVsZW0uY29udGVudCB8fCBlbGVtO1xuXHRcdH1cblxuXHRcdHJldHVybiBqUXVlcnkubWVyZ2UoIFtdLCBlbGVtLmNoaWxkTm9kZXMgKTtcblx0fVxufSwgZnVuY3Rpb24oIG5hbWUsIGZuICkge1xuXHRqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCB1bnRpbCwgc2VsZWN0b3IgKSB7XG5cdFx0dmFyIG1hdGNoZWQgPSBqUXVlcnkubWFwKCB0aGlzLCBmbiwgdW50aWwgKTtcblxuXHRcdGlmICggbmFtZS5zbGljZSggLTUgKSAhPT0gXCJVbnRpbFwiICkge1xuXHRcdFx0c2VsZWN0b3IgPSB1bnRpbDtcblx0XHR9XG5cblx0XHRpZiAoIHNlbGVjdG9yICYmIHR5cGVvZiBzZWxlY3RvciA9PT0gXCJzdHJpbmdcIiApIHtcblx0XHRcdG1hdGNoZWQgPSBqUXVlcnkuZmlsdGVyKCBzZWxlY3RvciwgbWF0Y2hlZCApO1xuXHRcdH1cblxuXHRcdGlmICggdGhpcy5sZW5ndGggPiAxICkge1xuXG5cdFx0XHQvLyBSZW1vdmUgZHVwbGljYXRlc1xuXHRcdFx0aWYgKCAhZ3VhcmFudGVlZFVuaXF1ZVsgbmFtZSBdICkge1xuXHRcdFx0XHRqUXVlcnkudW5pcXVlU29ydCggbWF0Y2hlZCApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBSZXZlcnNlIG9yZGVyIGZvciBwYXJlbnRzKiBhbmQgcHJldi1kZXJpdmF0aXZlc1xuXHRcdFx0aWYgKCBycGFyZW50c3ByZXYudGVzdCggbmFtZSApICkge1xuXHRcdFx0XHRtYXRjaGVkLnJldmVyc2UoKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5wdXNoU3RhY2soIG1hdGNoZWQgKTtcblx0fTtcbn0gKTtcbnZhciBybm90aHRtbHdoaXRlID0gKCAvW15cXHgyMFxcdFxcclxcblxcZl0rL2cgKTtcblxuXG5cbi8vIENvbnZlcnQgU3RyaW5nLWZvcm1hdHRlZCBvcHRpb25zIGludG8gT2JqZWN0LWZvcm1hdHRlZCBvbmVzXG5mdW5jdGlvbiBjcmVhdGVPcHRpb25zKCBvcHRpb25zICkge1xuXHR2YXIgb2JqZWN0ID0ge307XG5cdGpRdWVyeS5lYWNoKCBvcHRpb25zLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW10sIGZ1bmN0aW9uKCBfLCBmbGFnICkge1xuXHRcdG9iamVjdFsgZmxhZyBdID0gdHJ1ZTtcblx0fSApO1xuXHRyZXR1cm4gb2JqZWN0O1xufVxuXG4vKlxuICogQ3JlYXRlIGEgY2FsbGJhY2sgbGlzdCB1c2luZyB0aGUgZm9sbG93aW5nIHBhcmFtZXRlcnM6XG4gKlxuICpcdG9wdGlvbnM6IGFuIG9wdGlvbmFsIGxpc3Qgb2Ygc3BhY2Utc2VwYXJhdGVkIG9wdGlvbnMgdGhhdCB3aWxsIGNoYW5nZSBob3dcbiAqXHRcdFx0dGhlIGNhbGxiYWNrIGxpc3QgYmVoYXZlcyBvciBhIG1vcmUgdHJhZGl0aW9uYWwgb3B0aW9uIG9iamVjdFxuICpcbiAqIEJ5IGRlZmF1bHQgYSBjYWxsYmFjayBsaXN0IHdpbGwgYWN0IGxpa2UgYW4gZXZlbnQgY2FsbGJhY2sgbGlzdCBhbmQgY2FuIGJlXG4gKiBcImZpcmVkXCIgbXVsdGlwbGUgdGltZXMuXG4gKlxuICogUG9zc2libGUgb3B0aW9uczpcbiAqXG4gKlx0b25jZTpcdFx0XHR3aWxsIGVuc3VyZSB0aGUgY2FsbGJhY2sgbGlzdCBjYW4gb25seSBiZSBmaXJlZCBvbmNlIChsaWtlIGEgRGVmZXJyZWQpXG4gKlxuICpcdG1lbW9yeTpcdFx0XHR3aWxsIGtlZXAgdHJhY2sgb2YgcHJldmlvdXMgdmFsdWVzIGFuZCB3aWxsIGNhbGwgYW55IGNhbGxiYWNrIGFkZGVkXG4gKlx0XHRcdFx0XHRhZnRlciB0aGUgbGlzdCBoYXMgYmVlbiBmaXJlZCByaWdodCBhd2F5IHdpdGggdGhlIGxhdGVzdCBcIm1lbW9yaXplZFwiXG4gKlx0XHRcdFx0XHR2YWx1ZXMgKGxpa2UgYSBEZWZlcnJlZClcbiAqXG4gKlx0dW5pcXVlOlx0XHRcdHdpbGwgZW5zdXJlIGEgY2FsbGJhY2sgY2FuIG9ubHkgYmUgYWRkZWQgb25jZSAobm8gZHVwbGljYXRlIGluIHRoZSBsaXN0KVxuICpcbiAqXHRzdG9wT25GYWxzZTpcdGludGVycnVwdCBjYWxsaW5ncyB3aGVuIGEgY2FsbGJhY2sgcmV0dXJucyBmYWxzZVxuICpcbiAqL1xualF1ZXJ5LkNhbGxiYWNrcyA9IGZ1bmN0aW9uKCBvcHRpb25zICkge1xuXG5cdC8vIENvbnZlcnQgb3B0aW9ucyBmcm9tIFN0cmluZy1mb3JtYXR0ZWQgdG8gT2JqZWN0LWZvcm1hdHRlZCBpZiBuZWVkZWRcblx0Ly8gKHdlIGNoZWNrIGluIGNhY2hlIGZpcnN0KVxuXHRvcHRpb25zID0gdHlwZW9mIG9wdGlvbnMgPT09IFwic3RyaW5nXCIgP1xuXHRcdGNyZWF0ZU9wdGlvbnMoIG9wdGlvbnMgKSA6XG5cdFx0alF1ZXJ5LmV4dGVuZCgge30sIG9wdGlvbnMgKTtcblxuXHR2YXIgLy8gRmxhZyB0byBrbm93IGlmIGxpc3QgaXMgY3VycmVudGx5IGZpcmluZ1xuXHRcdGZpcmluZyxcblxuXHRcdC8vIExhc3QgZmlyZSB2YWx1ZSBmb3Igbm9uLWZvcmdldHRhYmxlIGxpc3RzXG5cdFx0bWVtb3J5LFxuXG5cdFx0Ly8gRmxhZyB0byBrbm93IGlmIGxpc3Qgd2FzIGFscmVhZHkgZmlyZWRcblx0XHRmaXJlZCxcblxuXHRcdC8vIEZsYWcgdG8gcHJldmVudCBmaXJpbmdcblx0XHRsb2NrZWQsXG5cblx0XHQvLyBBY3R1YWwgY2FsbGJhY2sgbGlzdFxuXHRcdGxpc3QgPSBbXSxcblxuXHRcdC8vIFF1ZXVlIG9mIGV4ZWN1dGlvbiBkYXRhIGZvciByZXBlYXRhYmxlIGxpc3RzXG5cdFx0cXVldWUgPSBbXSxcblxuXHRcdC8vIEluZGV4IG9mIGN1cnJlbnRseSBmaXJpbmcgY2FsbGJhY2sgKG1vZGlmaWVkIGJ5IGFkZC9yZW1vdmUgYXMgbmVlZGVkKVxuXHRcdGZpcmluZ0luZGV4ID0gLTEsXG5cblx0XHQvLyBGaXJlIGNhbGxiYWNrc1xuXHRcdGZpcmUgPSBmdW5jdGlvbigpIHtcblxuXHRcdFx0Ly8gRW5mb3JjZSBzaW5nbGUtZmlyaW5nXG5cdFx0XHRsb2NrZWQgPSBsb2NrZWQgfHwgb3B0aW9ucy5vbmNlO1xuXG5cdFx0XHQvLyBFeGVjdXRlIGNhbGxiYWNrcyBmb3IgYWxsIHBlbmRpbmcgZXhlY3V0aW9ucyxcblx0XHRcdC8vIHJlc3BlY3RpbmcgZmlyaW5nSW5kZXggb3ZlcnJpZGVzIGFuZCBydW50aW1lIGNoYW5nZXNcblx0XHRcdGZpcmVkID0gZmlyaW5nID0gdHJ1ZTtcblx0XHRcdGZvciAoIDsgcXVldWUubGVuZ3RoOyBmaXJpbmdJbmRleCA9IC0xICkge1xuXHRcdFx0XHRtZW1vcnkgPSBxdWV1ZS5zaGlmdCgpO1xuXHRcdFx0XHR3aGlsZSAoICsrZmlyaW5nSW5kZXggPCBsaXN0Lmxlbmd0aCApIHtcblxuXHRcdFx0XHRcdC8vIFJ1biBjYWxsYmFjayBhbmQgY2hlY2sgZm9yIGVhcmx5IHRlcm1pbmF0aW9uXG5cdFx0XHRcdFx0aWYgKCBsaXN0WyBmaXJpbmdJbmRleCBdLmFwcGx5KCBtZW1vcnlbIDAgXSwgbWVtb3J5WyAxIF0gKSA9PT0gZmFsc2UgJiZcblx0XHRcdFx0XHRcdG9wdGlvbnMuc3RvcE9uRmFsc2UgKSB7XG5cblx0XHRcdFx0XHRcdC8vIEp1bXAgdG8gZW5kIGFuZCBmb3JnZXQgdGhlIGRhdGEgc28gLmFkZCBkb2Vzbid0IHJlLWZpcmVcblx0XHRcdFx0XHRcdGZpcmluZ0luZGV4ID0gbGlzdC5sZW5ndGg7XG5cdFx0XHRcdFx0XHRtZW1vcnkgPSBmYWxzZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gRm9yZ2V0IHRoZSBkYXRhIGlmIHdlJ3JlIGRvbmUgd2l0aCBpdFxuXHRcdFx0aWYgKCAhb3B0aW9ucy5tZW1vcnkgKSB7XG5cdFx0XHRcdG1lbW9yeSA9IGZhbHNlO1xuXHRcdFx0fVxuXG5cdFx0XHRmaXJpbmcgPSBmYWxzZTtcblxuXHRcdFx0Ly8gQ2xlYW4gdXAgaWYgd2UncmUgZG9uZSBmaXJpbmcgZm9yIGdvb2Rcblx0XHRcdGlmICggbG9ja2VkICkge1xuXG5cdFx0XHRcdC8vIEtlZXAgYW4gZW1wdHkgbGlzdCBpZiB3ZSBoYXZlIGRhdGEgZm9yIGZ1dHVyZSBhZGQgY2FsbHNcblx0XHRcdFx0aWYgKCBtZW1vcnkgKSB7XG5cdFx0XHRcdFx0bGlzdCA9IFtdO1xuXG5cdFx0XHRcdC8vIE90aGVyd2lzZSwgdGhpcyBvYmplY3QgaXMgc3BlbnRcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRsaXN0ID0gXCJcIjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHQvLyBBY3R1YWwgQ2FsbGJhY2tzIG9iamVjdFxuXHRcdHNlbGYgPSB7XG5cblx0XHRcdC8vIEFkZCBhIGNhbGxiYWNrIG9yIGEgY29sbGVjdGlvbiBvZiBjYWxsYmFja3MgdG8gdGhlIGxpc3Rcblx0XHRcdGFkZDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggbGlzdCApIHtcblxuXHRcdFx0XHRcdC8vIElmIHdlIGhhdmUgbWVtb3J5IGZyb20gYSBwYXN0IHJ1biwgd2Ugc2hvdWxkIGZpcmUgYWZ0ZXIgYWRkaW5nXG5cdFx0XHRcdFx0aWYgKCBtZW1vcnkgJiYgIWZpcmluZyApIHtcblx0XHRcdFx0XHRcdGZpcmluZ0luZGV4ID0gbGlzdC5sZW5ndGggLSAxO1xuXHRcdFx0XHRcdFx0cXVldWUucHVzaCggbWVtb3J5ICk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0KCBmdW5jdGlvbiBhZGQoIGFyZ3MgKSB7XG5cdFx0XHRcdFx0XHRqUXVlcnkuZWFjaCggYXJncywgZnVuY3Rpb24oIF8sIGFyZyApIHtcblx0XHRcdFx0XHRcdFx0aWYgKCBpc0Z1bmN0aW9uKCBhcmcgKSApIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoICFvcHRpb25zLnVuaXF1ZSB8fCAhc2VsZi5oYXMoIGFyZyApICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0bGlzdC5wdXNoKCBhcmcgKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAoIGFyZyAmJiBhcmcubGVuZ3RoICYmIHRvVHlwZSggYXJnICkgIT09IFwic3RyaW5nXCIgKSB7XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBJbnNwZWN0IHJlY3Vyc2l2ZWx5XG5cdFx0XHRcdFx0XHRcdFx0YWRkKCBhcmcgKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSApO1xuXHRcdFx0XHRcdH0gKSggYXJndW1lbnRzICk7XG5cblx0XHRcdFx0XHRpZiAoIG1lbW9yeSAmJiAhZmlyaW5nICkge1xuXHRcdFx0XHRcdFx0ZmlyZSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdGhpcztcblx0XHRcdH0sXG5cblx0XHRcdC8vIFJlbW92ZSBhIGNhbGxiYWNrIGZyb20gdGhlIGxpc3Rcblx0XHRcdHJlbW92ZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGpRdWVyeS5lYWNoKCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBfLCBhcmcgKSB7XG5cdFx0XHRcdFx0dmFyIGluZGV4O1xuXHRcdFx0XHRcdHdoaWxlICggKCBpbmRleCA9IGpRdWVyeS5pbkFycmF5KCBhcmcsIGxpc3QsIGluZGV4ICkgKSA+IC0xICkge1xuXHRcdFx0XHRcdFx0bGlzdC5zcGxpY2UoIGluZGV4LCAxICk7XG5cblx0XHRcdFx0XHRcdC8vIEhhbmRsZSBmaXJpbmcgaW5kZXhlc1xuXHRcdFx0XHRcdFx0aWYgKCBpbmRleCA8PSBmaXJpbmdJbmRleCApIHtcblx0XHRcdFx0XHRcdFx0ZmlyaW5nSW5kZXgtLTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gKTtcblx0XHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0XHR9LFxuXG5cdFx0XHQvLyBDaGVjayBpZiBhIGdpdmVuIGNhbGxiYWNrIGlzIGluIHRoZSBsaXN0LlxuXHRcdFx0Ly8gSWYgbm8gYXJndW1lbnQgaXMgZ2l2ZW4sIHJldHVybiB3aGV0aGVyIG9yIG5vdCBsaXN0IGhhcyBjYWxsYmFja3MgYXR0YWNoZWQuXG5cdFx0XHRoYXM6IGZ1bmN0aW9uKCBmbiApIHtcblx0XHRcdFx0cmV0dXJuIGZuID9cblx0XHRcdFx0XHRqUXVlcnkuaW5BcnJheSggZm4sIGxpc3QgKSA+IC0xIDpcblx0XHRcdFx0XHRsaXN0Lmxlbmd0aCA+IDA7XG5cdFx0XHR9LFxuXG5cdFx0XHQvLyBSZW1vdmUgYWxsIGNhbGxiYWNrcyBmcm9tIHRoZSBsaXN0XG5cdFx0XHRlbXB0eTogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggbGlzdCApIHtcblx0XHRcdFx0XHRsaXN0ID0gW107XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0XHR9LFxuXG5cdFx0XHQvLyBEaXNhYmxlIC5maXJlIGFuZCAuYWRkXG5cdFx0XHQvLyBBYm9ydCBhbnkgY3VycmVudC9wZW5kaW5nIGV4ZWN1dGlvbnNcblx0XHRcdC8vIENsZWFyIGFsbCBjYWxsYmFja3MgYW5kIHZhbHVlc1xuXHRcdFx0ZGlzYWJsZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGxvY2tlZCA9IHF1ZXVlID0gW107XG5cdFx0XHRcdGxpc3QgPSBtZW1vcnkgPSBcIlwiO1xuXHRcdFx0XHRyZXR1cm4gdGhpcztcblx0XHRcdH0sXG5cdFx0XHRkaXNhYmxlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiAhbGlzdDtcblx0XHRcdH0sXG5cblx0XHRcdC8vIERpc2FibGUgLmZpcmVcblx0XHRcdC8vIEFsc28gZGlzYWJsZSAuYWRkIHVubGVzcyB3ZSBoYXZlIG1lbW9yeSAoc2luY2UgaXQgd291bGQgaGF2ZSBubyBlZmZlY3QpXG5cdFx0XHQvLyBBYm9ydCBhbnkgcGVuZGluZyBleGVjdXRpb25zXG5cdFx0XHRsb2NrOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0bG9ja2VkID0gcXVldWUgPSBbXTtcblx0XHRcdFx0aWYgKCAhbWVtb3J5ICYmICFmaXJpbmcgKSB7XG5cdFx0XHRcdFx0bGlzdCA9IG1lbW9yeSA9IFwiXCI7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0XHR9LFxuXHRcdFx0bG9ja2VkOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuICEhbG9ja2VkO1xuXHRcdFx0fSxcblxuXHRcdFx0Ly8gQ2FsbCBhbGwgY2FsbGJhY2tzIHdpdGggdGhlIGdpdmVuIGNvbnRleHQgYW5kIGFyZ3VtZW50c1xuXHRcdFx0ZmlyZVdpdGg6IGZ1bmN0aW9uKCBjb250ZXh0LCBhcmdzICkge1xuXHRcdFx0XHRpZiAoICFsb2NrZWQgKSB7XG5cdFx0XHRcdFx0YXJncyA9IGFyZ3MgfHwgW107XG5cdFx0XHRcdFx0YXJncyA9IFsgY29udGV4dCwgYXJncy5zbGljZSA/IGFyZ3Muc2xpY2UoKSA6IGFyZ3MgXTtcblx0XHRcdFx0XHRxdWV1ZS5wdXNoKCBhcmdzICk7XG5cdFx0XHRcdFx0aWYgKCAhZmlyaW5nICkge1xuXHRcdFx0XHRcdFx0ZmlyZSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdGhpcztcblx0XHRcdH0sXG5cblx0XHRcdC8vIENhbGwgYWxsIHRoZSBjYWxsYmFja3Mgd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzXG5cdFx0XHRmaXJlOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0c2VsZi5maXJlV2l0aCggdGhpcywgYXJndW1lbnRzICk7XG5cdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0fSxcblxuXHRcdFx0Ly8gVG8ga25vdyBpZiB0aGUgY2FsbGJhY2tzIGhhdmUgYWxyZWFkeSBiZWVuIGNhbGxlZCBhdCBsZWFzdCBvbmNlXG5cdFx0XHRmaXJlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiAhIWZpcmVkO1xuXHRcdFx0fVxuXHRcdH07XG5cblx0cmV0dXJuIHNlbGY7XG59O1xuXG5cbmZ1bmN0aW9uIElkZW50aXR5KCB2ICkge1xuXHRyZXR1cm4gdjtcbn1cbmZ1bmN0aW9uIFRocm93ZXIoIGV4ICkge1xuXHR0aHJvdyBleDtcbn1cblxuZnVuY3Rpb24gYWRvcHRWYWx1ZSggdmFsdWUsIHJlc29sdmUsIHJlamVjdCwgbm9WYWx1ZSApIHtcblx0dmFyIG1ldGhvZDtcblxuXHR0cnkge1xuXG5cdFx0Ly8gQ2hlY2sgZm9yIHByb21pc2UgYXNwZWN0IGZpcnN0IHRvIHByaXZpbGVnZSBzeW5jaHJvbm91cyBiZWhhdmlvclxuXHRcdGlmICggdmFsdWUgJiYgaXNGdW5jdGlvbiggKCBtZXRob2QgPSB2YWx1ZS5wcm9taXNlICkgKSApIHtcblx0XHRcdG1ldGhvZC5jYWxsKCB2YWx1ZSApLmRvbmUoIHJlc29sdmUgKS5mYWlsKCByZWplY3QgKTtcblxuXHRcdC8vIE90aGVyIHRoZW5hYmxlc1xuXHRcdH0gZWxzZSBpZiAoIHZhbHVlICYmIGlzRnVuY3Rpb24oICggbWV0aG9kID0gdmFsdWUudGhlbiApICkgKSB7XG5cdFx0XHRtZXRob2QuY2FsbCggdmFsdWUsIHJlc29sdmUsIHJlamVjdCApO1xuXG5cdFx0Ly8gT3RoZXIgbm9uLXRoZW5hYmxlc1xuXHRcdH0gZWxzZSB7XG5cblx0XHRcdC8vIENvbnRyb2wgYHJlc29sdmVgIGFyZ3VtZW50cyBieSBsZXR0aW5nIEFycmF5I3NsaWNlIGNhc3QgYm9vbGVhbiBgbm9WYWx1ZWAgdG8gaW50ZWdlcjpcblx0XHRcdC8vICogZmFsc2U6IFsgdmFsdWUgXS5zbGljZSggMCApID0+IHJlc29sdmUoIHZhbHVlIClcblx0XHRcdC8vICogdHJ1ZTogWyB2YWx1ZSBdLnNsaWNlKCAxICkgPT4gcmVzb2x2ZSgpXG5cdFx0XHRyZXNvbHZlLmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXS5zbGljZSggbm9WYWx1ZSApICk7XG5cdFx0fVxuXG5cdC8vIEZvciBQcm9taXNlcy9BKywgY29udmVydCBleGNlcHRpb25zIGludG8gcmVqZWN0aW9uc1xuXHQvLyBTaW5jZSBqUXVlcnkud2hlbiBkb2Vzbid0IHVud3JhcCB0aGVuYWJsZXMsIHdlIGNhbiBza2lwIHRoZSBleHRyYSBjaGVja3MgYXBwZWFyaW5nIGluXG5cdC8vIERlZmVycmVkI3RoZW4gdG8gY29uZGl0aW9uYWxseSBzdXBwcmVzcyByZWplY3Rpb24uXG5cdH0gY2F0Y2ggKCB2YWx1ZSApIHtcblxuXHRcdC8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIG9ubHlcblx0XHQvLyBTdHJpY3QgbW9kZSBmdW5jdGlvbnMgaW52b2tlZCB3aXRob3V0IC5jYWxsLy5hcHBseSBnZXQgZ2xvYmFsLW9iamVjdCBjb250ZXh0XG5cdFx0cmVqZWN0LmFwcGx5KCB1bmRlZmluZWQsIFsgdmFsdWUgXSApO1xuXHR9XG59XG5cbmpRdWVyeS5leHRlbmQoIHtcblxuXHREZWZlcnJlZDogZnVuY3Rpb24oIGZ1bmMgKSB7XG5cdFx0dmFyIHR1cGxlcyA9IFtcblxuXHRcdFx0XHQvLyBhY3Rpb24sIGFkZCBsaXN0ZW5lciwgY2FsbGJhY2tzLFxuXHRcdFx0XHQvLyAuLi4gLnRoZW4gaGFuZGxlcnMsIGFyZ3VtZW50IGluZGV4LCBbZmluYWwgc3RhdGVdXG5cdFx0XHRcdFsgXCJub3RpZnlcIiwgXCJwcm9ncmVzc1wiLCBqUXVlcnkuQ2FsbGJhY2tzKCBcIm1lbW9yeVwiICksXG5cdFx0XHRcdFx0alF1ZXJ5LkNhbGxiYWNrcyggXCJtZW1vcnlcIiApLCAyIF0sXG5cdFx0XHRcdFsgXCJyZXNvbHZlXCIsIFwiZG9uZVwiLCBqUXVlcnkuQ2FsbGJhY2tzKCBcIm9uY2UgbWVtb3J5XCIgKSxcblx0XHRcdFx0XHRqUXVlcnkuQ2FsbGJhY2tzKCBcIm9uY2UgbWVtb3J5XCIgKSwgMCwgXCJyZXNvbHZlZFwiIF0sXG5cdFx0XHRcdFsgXCJyZWplY3RcIiwgXCJmYWlsXCIsIGpRdWVyeS5DYWxsYmFja3MoIFwib25jZSBtZW1vcnlcIiApLFxuXHRcdFx0XHRcdGpRdWVyeS5DYWxsYmFja3MoIFwib25jZSBtZW1vcnlcIiApLCAxLCBcInJlamVjdGVkXCIgXVxuXHRcdFx0XSxcblx0XHRcdHN0YXRlID0gXCJwZW5kaW5nXCIsXG5cdFx0XHRwcm9taXNlID0ge1xuXHRcdFx0XHRzdGF0ZTogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHN0YXRlO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRhbHdheXM6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdGRlZmVycmVkLmRvbmUoIGFyZ3VtZW50cyApLmZhaWwoIGFyZ3VtZW50cyApO1xuXHRcdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRcImNhdGNoXCI6IGZ1bmN0aW9uKCBmbiApIHtcblx0XHRcdFx0XHRyZXR1cm4gcHJvbWlzZS50aGVuKCBudWxsLCBmbiApO1xuXHRcdFx0XHR9LFxuXG5cdFx0XHRcdC8vIEtlZXAgcGlwZSBmb3IgYmFjay1jb21wYXRcblx0XHRcdFx0cGlwZTogZnVuY3Rpb24oIC8qIGZuRG9uZSwgZm5GYWlsLCBmblByb2dyZXNzICovICkge1xuXHRcdFx0XHRcdHZhciBmbnMgPSBhcmd1bWVudHM7XG5cblx0XHRcdFx0XHRyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCBmdW5jdGlvbiggbmV3RGVmZXIgKSB7XG5cdFx0XHRcdFx0XHRqUXVlcnkuZWFjaCggdHVwbGVzLCBmdW5jdGlvbiggX2ksIHR1cGxlICkge1xuXG5cdFx0XHRcdFx0XHRcdC8vIE1hcCB0dXBsZXMgKHByb2dyZXNzLCBkb25lLCBmYWlsKSB0byBhcmd1bWVudHMgKGRvbmUsIGZhaWwsIHByb2dyZXNzKVxuXHRcdFx0XHRcdFx0XHR2YXIgZm4gPSBpc0Z1bmN0aW9uKCBmbnNbIHR1cGxlWyA0IF0gXSApICYmIGZuc1sgdHVwbGVbIDQgXSBdO1xuXG5cdFx0XHRcdFx0XHRcdC8vIGRlZmVycmVkLnByb2dyZXNzKGZ1bmN0aW9uKCkgeyBiaW5kIHRvIG5ld0RlZmVyIG9yIG5ld0RlZmVyLm5vdGlmeSB9KVxuXHRcdFx0XHRcdFx0XHQvLyBkZWZlcnJlZC5kb25lKGZ1bmN0aW9uKCkgeyBiaW5kIHRvIG5ld0RlZmVyIG9yIG5ld0RlZmVyLnJlc29sdmUgfSlcblx0XHRcdFx0XHRcdFx0Ly8gZGVmZXJyZWQuZmFpbChmdW5jdGlvbigpIHsgYmluZCB0byBuZXdEZWZlciBvciBuZXdEZWZlci5yZWplY3QgfSlcblx0XHRcdFx0XHRcdFx0ZGVmZXJyZWRbIHR1cGxlWyAxIF0gXSggZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRcdFx0dmFyIHJldHVybmVkID0gZm4gJiYgZm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApO1xuXHRcdFx0XHRcdFx0XHRcdGlmICggcmV0dXJuZWQgJiYgaXNGdW5jdGlvbiggcmV0dXJuZWQucHJvbWlzZSApICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuZWQucHJvbWlzZSgpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC5wcm9ncmVzcyggbmV3RGVmZXIubm90aWZ5IClcblx0XHRcdFx0XHRcdFx0XHRcdFx0LmRvbmUoIG5ld0RlZmVyLnJlc29sdmUgKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQuZmFpbCggbmV3RGVmZXIucmVqZWN0ICk7XG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdG5ld0RlZmVyWyB0dXBsZVsgMCBdICsgXCJXaXRoXCIgXShcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0Zm4gPyBbIHJldHVybmVkIF0gOiBhcmd1bWVudHNcblx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9ICk7XG5cdFx0XHRcdFx0XHR9ICk7XG5cdFx0XHRcdFx0XHRmbnMgPSBudWxsO1xuXHRcdFx0XHRcdH0gKS5wcm9taXNlKCk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHRoZW46IGZ1bmN0aW9uKCBvbkZ1bGZpbGxlZCwgb25SZWplY3RlZCwgb25Qcm9ncmVzcyApIHtcblx0XHRcdFx0XHR2YXIgbWF4RGVwdGggPSAwO1xuXHRcdFx0XHRcdGZ1bmN0aW9uIHJlc29sdmUoIGRlcHRoLCBkZWZlcnJlZCwgaGFuZGxlciwgc3BlY2lhbCApIHtcblx0XHRcdFx0XHRcdHJldHVybiBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdFx0dmFyIHRoYXQgPSB0aGlzLFxuXHRcdFx0XHRcdFx0XHRcdGFyZ3MgPSBhcmd1bWVudHMsXG5cdFx0XHRcdFx0XHRcdFx0bWlnaHRUaHJvdyA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dmFyIHJldHVybmVkLCB0aGVuO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4zLjMuM1xuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTlcblx0XHRcdFx0XHRcdFx0XHRcdC8vIElnbm9yZSBkb3VibGUtcmVzb2x1dGlvbiBhdHRlbXB0c1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKCBkZXB0aCA8IG1heERlcHRoICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybmVkID0gaGFuZGxlci5hcHBseSggdGhhdCwgYXJncyApO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy4xXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBodHRwczovL3Byb21pc2VzYXBsdXMuY29tLyNwb2ludC00OFxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKCByZXR1cm5lZCA9PT0gZGVmZXJyZWQucHJvbWlzZSgpICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCBcIlRoZW5hYmxlIHNlbGYtcmVzb2x1dGlvblwiICk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdC8vIFN1cHBvcnQ6IFByb21pc2VzL0ErIHNlY3Rpb25zIDIuMy4zLjEsIDMuNVxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTRcblx0XHRcdFx0XHRcdFx0XHRcdC8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTc1XG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBSZXRyaWV2ZSBgdGhlbmAgb25seSBvbmNlXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGVuID0gcmV0dXJuZWQgJiZcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBTdXBwb3J0OiBQcm9taXNlcy9BKyBzZWN0aW9uIDIuMy40XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTY0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIE9ubHkgY2hlY2sgb2JqZWN0cyBhbmQgZnVuY3Rpb25zIGZvciB0aGVuYWJpbGl0eVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQoIHR5cGVvZiByZXR1cm5lZCA9PT0gXCJvYmplY3RcIiB8fFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGVvZiByZXR1cm5lZCA9PT0gXCJmdW5jdGlvblwiICkgJiZcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuZWQudGhlbjtcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gSGFuZGxlIGEgcmV0dXJuZWQgdGhlbmFibGVcblx0XHRcdFx0XHRcdFx0XHRcdGlmICggaXNGdW5jdGlvbiggdGhlbiApICkge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFNwZWNpYWwgcHJvY2Vzc29ycyAobm90aWZ5KSBqdXN0IHdhaXQgZm9yIHJlc29sdXRpb25cblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCBzcGVjaWFsICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoZW4uY2FsbChcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybmVkLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBJZGVudGl0eSwgc3BlY2lhbCApLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBUaHJvd2VyLCBzcGVjaWFsIClcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIE5vcm1hbCBwcm9jZXNzb3JzIChyZXNvbHZlKSBhbHNvIGhvb2sgaW50byBwcm9ncmVzc1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gLi4uYW5kIGRpc3JlZ2FyZCBvbGRlciByZXNvbHV0aW9uIHZhbHVlc1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1heERlcHRoKys7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGVuLmNhbGwoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm5lZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgSWRlbnRpdHksIHNwZWNpYWwgKSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHJlc29sdmUoIG1heERlcHRoLCBkZWZlcnJlZCwgVGhyb3dlciwgc3BlY2lhbCApLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSggbWF4RGVwdGgsIGRlZmVycmVkLCBJZGVudGl0eSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVmZXJyZWQubm90aWZ5V2l0aCApXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHQvLyBIYW5kbGUgYWxsIG90aGVyIHJldHVybmVkIHZhbHVlc1xuXHRcdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyBPbmx5IHN1YnN0aXR1dGUgaGFuZGxlcnMgcGFzcyBvbiBjb250ZXh0XG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGFuZCBtdWx0aXBsZSB2YWx1ZXMgKG5vbi1zcGVjIGJlaGF2aW9yKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZiAoIGhhbmRsZXIgIT09IElkZW50aXR5ICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQgPSB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0YXJncyA9IFsgcmV0dXJuZWQgXTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFByb2Nlc3MgdGhlIHZhbHVlKHMpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIERlZmF1bHQgcHJvY2VzcyBpcyByZXNvbHZlXG5cdFx0XHRcdFx0XHRcdFx0XHRcdCggc3BlY2lhbCB8fCBkZWZlcnJlZC5yZXNvbHZlV2l0aCApKCB0aGF0LCBhcmdzICk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fSxcblxuXHRcdFx0XHRcdFx0XHRcdC8vIE9ubHkgbm9ybWFsIHByb2Nlc3NvcnMgKHJlc29sdmUpIGNhdGNoIGFuZCByZWplY3QgZXhjZXB0aW9uc1xuXHRcdFx0XHRcdFx0XHRcdHByb2Nlc3MgPSBzcGVjaWFsID9cblx0XHRcdFx0XHRcdFx0XHRcdG1pZ2h0VGhyb3cgOlxuXHRcdFx0XHRcdFx0XHRcdFx0ZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0bWlnaHRUaHJvdygpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9IGNhdGNoICggZSApIHtcblxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGlmICggalF1ZXJ5LkRlZmVycmVkLmV4Y2VwdGlvbkhvb2sgKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRqUXVlcnkuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayggZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cHJvY2Vzcy5zdGFja1RyYWNlICk7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogUHJvbWlzZXMvQSsgc2VjdGlvbiAyLjMuMy4zLjQuMVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGh0dHBzOi8vcHJvbWlzZXNhcGx1cy5jb20vI3BvaW50LTYxXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gSWdub3JlIHBvc3QtcmVzb2x1dGlvbiBleGNlcHRpb25zXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCBkZXB0aCArIDEgPj0gbWF4RGVwdGggKSB7XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIE9ubHkgc3Vic3RpdHV0ZSBoYW5kbGVycyBwYXNzIG9uIGNvbnRleHRcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdC8vIGFuZCBtdWx0aXBsZSB2YWx1ZXMgKG5vbi1zcGVjIGJlaGF2aW9yKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKCBoYW5kbGVyICE9PSBUaHJvd2VyICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGF0ID0gdW5kZWZpbmVkO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRhcmdzID0gWyBlIF07XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGRlZmVycmVkLnJlamVjdFdpdGgoIHRoYXQsIGFyZ3MgKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdH07XG5cblx0XHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogUHJvbWlzZXMvQSsgc2VjdGlvbiAyLjMuMy4zLjFcblx0XHRcdFx0XHRcdFx0Ly8gaHR0cHM6Ly9wcm9taXNlc2FwbHVzLmNvbS8jcG9pbnQtNTdcblx0XHRcdFx0XHRcdFx0Ly8gUmUtcmVzb2x2ZSBwcm9taXNlcyBpbW1lZGlhdGVseSB0byBkb2RnZSBmYWxzZSByZWplY3Rpb24gZnJvbVxuXHRcdFx0XHRcdFx0XHQvLyBzdWJzZXF1ZW50IGVycm9yc1xuXHRcdFx0XHRcdFx0XHRpZiAoIGRlcHRoICkge1xuXHRcdFx0XHRcdFx0XHRcdHByb2Nlc3MoKTtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHRcdFx0XHRcdC8vIENhbGwgYW4gb3B0aW9uYWwgaG9vayB0byByZWNvcmQgdGhlIHN0YWNrLCBpbiBjYXNlIG9mIGV4Y2VwdGlvblxuXHRcdFx0XHRcdFx0XHRcdC8vIHNpbmNlIGl0J3Mgb3RoZXJ3aXNlIGxvc3Qgd2hlbiBleGVjdXRpb24gZ29lcyBhc3luY1xuXHRcdFx0XHRcdFx0XHRcdGlmICggalF1ZXJ5LkRlZmVycmVkLmdldFN0YWNrSG9vayApIHtcblx0XHRcdFx0XHRcdFx0XHRcdHByb2Nlc3Muc3RhY2tUcmFjZSA9IGpRdWVyeS5EZWZlcnJlZC5nZXRTdGFja0hvb2soKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0d2luZG93LnNldFRpbWVvdXQoIHByb2Nlc3MgKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRyZXR1cm4galF1ZXJ5LkRlZmVycmVkKCBmdW5jdGlvbiggbmV3RGVmZXIgKSB7XG5cblx0XHRcdFx0XHRcdC8vIHByb2dyZXNzX2hhbmRsZXJzLmFkZCggLi4uIClcblx0XHRcdFx0XHRcdHR1cGxlc1sgMCBdWyAzIF0uYWRkKFxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKFxuXHRcdFx0XHRcdFx0XHRcdDAsXG5cdFx0XHRcdFx0XHRcdFx0bmV3RGVmZXIsXG5cdFx0XHRcdFx0XHRcdFx0aXNGdW5jdGlvbiggb25Qcm9ncmVzcyApID9cblx0XHRcdFx0XHRcdFx0XHRcdG9uUHJvZ3Jlc3MgOlxuXHRcdFx0XHRcdFx0XHRcdFx0SWRlbnRpdHksXG5cdFx0XHRcdFx0XHRcdFx0bmV3RGVmZXIubm90aWZ5V2l0aFxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpO1xuXG5cdFx0XHRcdFx0XHQvLyBmdWxmaWxsZWRfaGFuZGxlcnMuYWRkKCAuLi4gKVxuXHRcdFx0XHRcdFx0dHVwbGVzWyAxIF1bIDMgXS5hZGQoXG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoXG5cdFx0XHRcdFx0XHRcdFx0MCxcblx0XHRcdFx0XHRcdFx0XHRuZXdEZWZlcixcblx0XHRcdFx0XHRcdFx0XHRpc0Z1bmN0aW9uKCBvbkZ1bGZpbGxlZCApID9cblx0XHRcdFx0XHRcdFx0XHRcdG9uRnVsZmlsbGVkIDpcblx0XHRcdFx0XHRcdFx0XHRcdElkZW50aXR5XG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdCk7XG5cblx0XHRcdFx0XHRcdC8vIHJlamVjdGVkX2hhbmRsZXJzLmFkZCggLi4uIClcblx0XHRcdFx0XHRcdHR1cGxlc1sgMiBdWyAzIF0uYWRkKFxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKFxuXHRcdFx0XHRcdFx0XHRcdDAsXG5cdFx0XHRcdFx0XHRcdFx0bmV3RGVmZXIsXG5cdFx0XHRcdFx0XHRcdFx0aXNGdW5jdGlvbiggb25SZWplY3RlZCApID9cblx0XHRcdFx0XHRcdFx0XHRcdG9uUmVqZWN0ZWQgOlxuXHRcdFx0XHRcdFx0XHRcdFx0VGhyb3dlclxuXHRcdFx0XHRcdFx0XHQpXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH0gKS5wcm9taXNlKCk7XG5cdFx0XHRcdH0sXG5cblx0XHRcdFx0Ly8gR2V0IGEgcHJvbWlzZSBmb3IgdGhpcyBkZWZlcnJlZFxuXHRcdFx0XHQvLyBJZiBvYmogaXMgcHJvdmlkZWQsIHRoZSBwcm9taXNlIGFzcGVjdCBpcyBhZGRlZCB0byB0aGUgb2JqZWN0XG5cdFx0XHRcdHByb21pc2U6IGZ1bmN0aW9uKCBvYmogKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG9iaiAhPSBudWxsID8galF1ZXJ5LmV4dGVuZCggb2JqLCBwcm9taXNlICkgOiBwcm9taXNlO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0ZGVmZXJyZWQgPSB7fTtcblxuXHRcdC8vIEFkZCBsaXN0LXNwZWNpZmljIG1ldGhvZHNcblx0XHRqUXVlcnkuZWFjaCggdHVwbGVzLCBmdW5jdGlvbiggaSwgdHVwbGUgKSB7XG5cdFx0XHR2YXIgbGlzdCA9IHR1cGxlWyAyIF0sXG5cdFx0XHRcdHN0YXRlU3RyaW5nID0gdHVwbGVbIDUgXTtcblxuXHRcdFx0Ly8gcHJvbWlzZS5wcm9ncmVzcyA9IGxpc3QuYWRkXG5cdFx0XHQvLyBwcm9taXNlLmRvbmUgPSBsaXN0LmFkZFxuXHRcdFx0Ly8gcHJvbWlzZS5mYWlsID0gbGlzdC5hZGRcblx0XHRcdHByb21pc2VbIHR1cGxlWyAxIF0gXSA9IGxpc3QuYWRkO1xuXG5cdFx0XHQvLyBIYW5kbGUgc3RhdGVcblx0XHRcdGlmICggc3RhdGVTdHJpbmcgKSB7XG5cdFx0XHRcdGxpc3QuYWRkKFxuXHRcdFx0XHRcdGZ1bmN0aW9uKCkge1xuXG5cdFx0XHRcdFx0XHQvLyBzdGF0ZSA9IFwicmVzb2x2ZWRcIiAoaS5lLiwgZnVsZmlsbGVkKVxuXHRcdFx0XHRcdFx0Ly8gc3RhdGUgPSBcInJlamVjdGVkXCJcblx0XHRcdFx0XHRcdHN0YXRlID0gc3RhdGVTdHJpbmc7XG5cdFx0XHRcdFx0fSxcblxuXHRcdFx0XHRcdC8vIHJlamVjdGVkX2NhbGxiYWNrcy5kaXNhYmxlXG5cdFx0XHRcdFx0Ly8gZnVsZmlsbGVkX2NhbGxiYWNrcy5kaXNhYmxlXG5cdFx0XHRcdFx0dHVwbGVzWyAzIC0gaSBdWyAyIF0uZGlzYWJsZSxcblxuXHRcdFx0XHRcdC8vIHJlamVjdGVkX2hhbmRsZXJzLmRpc2FibGVcblx0XHRcdFx0XHQvLyBmdWxmaWxsZWRfaGFuZGxlcnMuZGlzYWJsZVxuXHRcdFx0XHRcdHR1cGxlc1sgMyAtIGkgXVsgMyBdLmRpc2FibGUsXG5cblx0XHRcdFx0XHQvLyBwcm9ncmVzc19jYWxsYmFja3MubG9ja1xuXHRcdFx0XHRcdHR1cGxlc1sgMCBdWyAyIF0ubG9jayxcblxuXHRcdFx0XHRcdC8vIHByb2dyZXNzX2hhbmRsZXJzLmxvY2tcblx0XHRcdFx0XHR0dXBsZXNbIDAgXVsgMyBdLmxvY2tcblx0XHRcdFx0KTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gcHJvZ3Jlc3NfaGFuZGxlcnMuZmlyZVxuXHRcdFx0Ly8gZnVsZmlsbGVkX2hhbmRsZXJzLmZpcmVcblx0XHRcdC8vIHJlamVjdGVkX2hhbmRsZXJzLmZpcmVcblx0XHRcdGxpc3QuYWRkKCB0dXBsZVsgMyBdLmZpcmUgKTtcblxuXHRcdFx0Ly8gZGVmZXJyZWQubm90aWZ5ID0gZnVuY3Rpb24oKSB7IGRlZmVycmVkLm5vdGlmeVdpdGgoLi4uKSB9XG5cdFx0XHQvLyBkZWZlcnJlZC5yZXNvbHZlID0gZnVuY3Rpb24oKSB7IGRlZmVycmVkLnJlc29sdmVXaXRoKC4uLikgfVxuXHRcdFx0Ly8gZGVmZXJyZWQucmVqZWN0ID0gZnVuY3Rpb24oKSB7IGRlZmVycmVkLnJlamVjdFdpdGgoLi4uKSB9XG5cdFx0XHRkZWZlcnJlZFsgdHVwbGVbIDAgXSBdID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGRlZmVycmVkWyB0dXBsZVsgMCBdICsgXCJXaXRoXCIgXSggdGhpcyA9PT0gZGVmZXJyZWQgPyB1bmRlZmluZWQgOiB0aGlzLCBhcmd1bWVudHMgKTtcblx0XHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBkZWZlcnJlZC5ub3RpZnlXaXRoID0gbGlzdC5maXJlV2l0aFxuXHRcdFx0Ly8gZGVmZXJyZWQucmVzb2x2ZVdpdGggPSBsaXN0LmZpcmVXaXRoXG5cdFx0XHQvLyBkZWZlcnJlZC5yZWplY3RXaXRoID0gbGlzdC5maXJlV2l0aFxuXHRcdFx0ZGVmZXJyZWRbIHR1cGxlWyAwIF0gKyBcIldpdGhcIiBdID0gbGlzdC5maXJlV2l0aDtcblx0XHR9ICk7XG5cblx0XHQvLyBNYWtlIHRoZSBkZWZlcnJlZCBhIHByb21pc2Vcblx0XHRwcm9taXNlLnByb21pc2UoIGRlZmVycmVkICk7XG5cblx0XHQvLyBDYWxsIGdpdmVuIGZ1bmMgaWYgYW55XG5cdFx0aWYgKCBmdW5jICkge1xuXHRcdFx0ZnVuYy5jYWxsKCBkZWZlcnJlZCwgZGVmZXJyZWQgKTtcblx0XHR9XG5cblx0XHQvLyBBbGwgZG9uZSFcblx0XHRyZXR1cm4gZGVmZXJyZWQ7XG5cdH0sXG5cblx0Ly8gRGVmZXJyZWQgaGVscGVyXG5cdHdoZW46IGZ1bmN0aW9uKCBzaW5nbGVWYWx1ZSApIHtcblx0XHR2YXJcblxuXHRcdFx0Ly8gY291bnQgb2YgdW5jb21wbGV0ZWQgc3Vib3JkaW5hdGVzXG5cdFx0XHRyZW1haW5pbmcgPSBhcmd1bWVudHMubGVuZ3RoLFxuXG5cdFx0XHQvLyBjb3VudCBvZiB1bnByb2Nlc3NlZCBhcmd1bWVudHNcblx0XHRcdGkgPSByZW1haW5pbmcsXG5cblx0XHRcdC8vIHN1Ym9yZGluYXRlIGZ1bGZpbGxtZW50IGRhdGFcblx0XHRcdHJlc29sdmVDb250ZXh0cyA9IEFycmF5KCBpICksXG5cdFx0XHRyZXNvbHZlVmFsdWVzID0gc2xpY2UuY2FsbCggYXJndW1lbnRzICksXG5cblx0XHRcdC8vIHRoZSBtYXN0ZXIgRGVmZXJyZWRcblx0XHRcdG1hc3RlciA9IGpRdWVyeS5EZWZlcnJlZCgpLFxuXG5cdFx0XHQvLyBzdWJvcmRpbmF0ZSBjYWxsYmFjayBmYWN0b3J5XG5cdFx0XHR1cGRhdGVGdW5jID0gZnVuY3Rpb24oIGkgKSB7XG5cdFx0XHRcdHJldHVybiBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0XHRcdFx0cmVzb2x2ZUNvbnRleHRzWyBpIF0gPSB0aGlzO1xuXHRcdFx0XHRcdHJlc29sdmVWYWx1ZXNbIGkgXSA9IGFyZ3VtZW50cy5sZW5ndGggPiAxID8gc2xpY2UuY2FsbCggYXJndW1lbnRzICkgOiB2YWx1ZTtcblx0XHRcdFx0XHRpZiAoICEoIC0tcmVtYWluaW5nICkgKSB7XG5cdFx0XHRcdFx0XHRtYXN0ZXIucmVzb2x2ZVdpdGgoIHJlc29sdmVDb250ZXh0cywgcmVzb2x2ZVZhbHVlcyApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fTtcblx0XHRcdH07XG5cblx0XHQvLyBTaW5nbGUtIGFuZCBlbXB0eSBhcmd1bWVudHMgYXJlIGFkb3B0ZWQgbGlrZSBQcm9taXNlLnJlc29sdmVcblx0XHRpZiAoIHJlbWFpbmluZyA8PSAxICkge1xuXHRcdFx0YWRvcHRWYWx1ZSggc2luZ2xlVmFsdWUsIG1hc3Rlci5kb25lKCB1cGRhdGVGdW5jKCBpICkgKS5yZXNvbHZlLCBtYXN0ZXIucmVqZWN0LFxuXHRcdFx0XHQhcmVtYWluaW5nICk7XG5cblx0XHRcdC8vIFVzZSAudGhlbigpIHRvIHVud3JhcCBzZWNvbmRhcnkgdGhlbmFibGVzIChjZi4gZ2gtMzAwMClcblx0XHRcdGlmICggbWFzdGVyLnN0YXRlKCkgPT09IFwicGVuZGluZ1wiIHx8XG5cdFx0XHRcdGlzRnVuY3Rpb24oIHJlc29sdmVWYWx1ZXNbIGkgXSAmJiByZXNvbHZlVmFsdWVzWyBpIF0udGhlbiApICkge1xuXG5cdFx0XHRcdHJldHVybiBtYXN0ZXIudGhlbigpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIE11bHRpcGxlIGFyZ3VtZW50cyBhcmUgYWdncmVnYXRlZCBsaWtlIFByb21pc2UuYWxsIGFycmF5IGVsZW1lbnRzXG5cdFx0d2hpbGUgKCBpLS0gKSB7XG5cdFx0XHRhZG9wdFZhbHVlKCByZXNvbHZlVmFsdWVzWyBpIF0sIHVwZGF0ZUZ1bmMoIGkgKSwgbWFzdGVyLnJlamVjdCApO1xuXHRcdH1cblxuXHRcdHJldHVybiBtYXN0ZXIucHJvbWlzZSgpO1xuXHR9XG59ICk7XG5cblxuLy8gVGhlc2UgdXN1YWxseSBpbmRpY2F0ZSBhIHByb2dyYW1tZXIgbWlzdGFrZSBkdXJpbmcgZGV2ZWxvcG1lbnQsXG4vLyB3YXJuIGFib3V0IHRoZW0gQVNBUCByYXRoZXIgdGhhbiBzd2FsbG93aW5nIHRoZW0gYnkgZGVmYXVsdC5cbnZhciByZXJyb3JOYW1lcyA9IC9eKEV2YWx8SW50ZXJuYWx8UmFuZ2V8UmVmZXJlbmNlfFN5bnRheHxUeXBlfFVSSSlFcnJvciQvO1xuXG5qUXVlcnkuRGVmZXJyZWQuZXhjZXB0aW9uSG9vayA9IGZ1bmN0aW9uKCBlcnJvciwgc3RhY2sgKSB7XG5cblx0Ly8gU3VwcG9ydDogSUUgOCAtIDkgb25seVxuXHQvLyBDb25zb2xlIGV4aXN0cyB3aGVuIGRldiB0b29scyBhcmUgb3Blbiwgd2hpY2ggY2FuIGhhcHBlbiBhdCBhbnkgdGltZVxuXHRpZiAoIHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLndhcm4gJiYgZXJyb3IgJiYgcmVycm9yTmFtZXMudGVzdCggZXJyb3IubmFtZSApICkge1xuXHRcdHdpbmRvdy5jb25zb2xlLndhcm4oIFwialF1ZXJ5LkRlZmVycmVkIGV4Y2VwdGlvbjogXCIgKyBlcnJvci5tZXNzYWdlLCBlcnJvci5zdGFjaywgc3RhY2sgKTtcblx0fVxufTtcblxuXG5cblxualF1ZXJ5LnJlYWR5RXhjZXB0aW9uID0gZnVuY3Rpb24oIGVycm9yICkge1xuXHR3aW5kb3cuc2V0VGltZW91dCggZnVuY3Rpb24oKSB7XG5cdFx0dGhyb3cgZXJyb3I7XG5cdH0gKTtcbn07XG5cblxuXG5cbi8vIFRoZSBkZWZlcnJlZCB1c2VkIG9uIERPTSByZWFkeVxudmFyIHJlYWR5TGlzdCA9IGpRdWVyeS5EZWZlcnJlZCgpO1xuXG5qUXVlcnkuZm4ucmVhZHkgPSBmdW5jdGlvbiggZm4gKSB7XG5cblx0cmVhZHlMaXN0XG5cdFx0LnRoZW4oIGZuIClcblxuXHRcdC8vIFdyYXAgalF1ZXJ5LnJlYWR5RXhjZXB0aW9uIGluIGEgZnVuY3Rpb24gc28gdGhhdCB0aGUgbG9va3VwXG5cdFx0Ly8gaGFwcGVucyBhdCB0aGUgdGltZSBvZiBlcnJvciBoYW5kbGluZyBpbnN0ZWFkIG9mIGNhbGxiYWNrXG5cdFx0Ly8gcmVnaXN0cmF0aW9uLlxuXHRcdC5jYXRjaCggZnVuY3Rpb24oIGVycm9yICkge1xuXHRcdFx0alF1ZXJ5LnJlYWR5RXhjZXB0aW9uKCBlcnJvciApO1xuXHRcdH0gKTtcblxuXHRyZXR1cm4gdGhpcztcbn07XG5cbmpRdWVyeS5leHRlbmQoIHtcblxuXHQvLyBJcyB0aGUgRE9NIHJlYWR5IHRvIGJlIHVzZWQ/IFNldCB0byB0cnVlIG9uY2UgaXQgb2NjdXJzLlxuXHRpc1JlYWR5OiBmYWxzZSxcblxuXHQvLyBBIGNvdW50ZXIgdG8gdHJhY2sgaG93IG1hbnkgaXRlbXMgdG8gd2FpdCBmb3IgYmVmb3JlXG5cdC8vIHRoZSByZWFkeSBldmVudCBmaXJlcy4gU2VlICM2NzgxXG5cdHJlYWR5V2FpdDogMSxcblxuXHQvLyBIYW5kbGUgd2hlbiB0aGUgRE9NIGlzIHJlYWR5XG5cdHJlYWR5OiBmdW5jdGlvbiggd2FpdCApIHtcblxuXHRcdC8vIEFib3J0IGlmIHRoZXJlIGFyZSBwZW5kaW5nIGhvbGRzIG9yIHdlJ3JlIGFscmVhZHkgcmVhZHlcblx0XHRpZiAoIHdhaXQgPT09IHRydWUgPyAtLWpRdWVyeS5yZWFkeVdhaXQgOiBqUXVlcnkuaXNSZWFkeSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBSZW1lbWJlciB0aGF0IHRoZSBET00gaXMgcmVhZHlcblx0XHRqUXVlcnkuaXNSZWFkeSA9IHRydWU7XG5cblx0XHQvLyBJZiBhIG5vcm1hbCBET00gUmVhZHkgZXZlbnQgZmlyZWQsIGRlY3JlbWVudCwgYW5kIHdhaXQgaWYgbmVlZCBiZVxuXHRcdGlmICggd2FpdCAhPT0gdHJ1ZSAmJiAtLWpRdWVyeS5yZWFkeVdhaXQgPiAwICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIElmIHRoZXJlIGFyZSBmdW5jdGlvbnMgYm91bmQsIHRvIGV4ZWN1dGVcblx0XHRyZWFkeUxpc3QucmVzb2x2ZVdpdGgoIGRvY3VtZW50LCBbIGpRdWVyeSBdICk7XG5cdH1cbn0gKTtcblxualF1ZXJ5LnJlYWR5LnRoZW4gPSByZWFkeUxpc3QudGhlbjtcblxuLy8gVGhlIHJlYWR5IGV2ZW50IGhhbmRsZXIgYW5kIHNlbGYgY2xlYW51cCBtZXRob2RcbmZ1bmN0aW9uIGNvbXBsZXRlZCgpIHtcblx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lciggXCJET01Db250ZW50TG9hZGVkXCIsIGNvbXBsZXRlZCApO1xuXHR3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lciggXCJsb2FkXCIsIGNvbXBsZXRlZCApO1xuXHRqUXVlcnkucmVhZHkoKTtcbn1cblxuLy8gQ2F0Y2ggY2FzZXMgd2hlcmUgJChkb2N1bWVudCkucmVhZHkoKSBpcyBjYWxsZWRcbi8vIGFmdGVyIHRoZSBicm93c2VyIGV2ZW50IGhhcyBhbHJlYWR5IG9jY3VycmVkLlxuLy8gU3VwcG9ydDogSUUgPD05IC0gMTAgb25seVxuLy8gT2xkZXIgSUUgc29tZXRpbWVzIHNpZ25hbHMgXCJpbnRlcmFjdGl2ZVwiIHRvbyBzb29uXG5pZiAoIGRvY3VtZW50LnJlYWR5U3RhdGUgPT09IFwiY29tcGxldGVcIiB8fFxuXHQoIGRvY3VtZW50LnJlYWR5U3RhdGUgIT09IFwibG9hZGluZ1wiICYmICFkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwgKSApIHtcblxuXHQvLyBIYW5kbGUgaXQgYXN5bmNocm9ub3VzbHkgdG8gYWxsb3cgc2NyaXB0cyB0aGUgb3Bwb3J0dW5pdHkgdG8gZGVsYXkgcmVhZHlcblx0d2luZG93LnNldFRpbWVvdXQoIGpRdWVyeS5yZWFkeSApO1xuXG59IGVsc2Uge1xuXG5cdC8vIFVzZSB0aGUgaGFuZHkgZXZlbnQgY2FsbGJhY2tcblx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggXCJET01Db250ZW50TG9hZGVkXCIsIGNvbXBsZXRlZCApO1xuXG5cdC8vIEEgZmFsbGJhY2sgdG8gd2luZG93Lm9ubG9hZCwgdGhhdCB3aWxsIGFsd2F5cyB3b3JrXG5cdHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCBcImxvYWRcIiwgY29tcGxldGVkICk7XG59XG5cblxuXG5cbi8vIE11bHRpZnVuY3Rpb25hbCBtZXRob2QgdG8gZ2V0IGFuZCBzZXQgdmFsdWVzIG9mIGEgY29sbGVjdGlvblxuLy8gVGhlIHZhbHVlL3MgY2FuIG9wdGlvbmFsbHkgYmUgZXhlY3V0ZWQgaWYgaXQncyBhIGZ1bmN0aW9uXG52YXIgYWNjZXNzID0gZnVuY3Rpb24oIGVsZW1zLCBmbiwga2V5LCB2YWx1ZSwgY2hhaW5hYmxlLCBlbXB0eUdldCwgcmF3ICkge1xuXHR2YXIgaSA9IDAsXG5cdFx0bGVuID0gZWxlbXMubGVuZ3RoLFxuXHRcdGJ1bGsgPSBrZXkgPT0gbnVsbDtcblxuXHQvLyBTZXRzIG1hbnkgdmFsdWVzXG5cdGlmICggdG9UeXBlKCBrZXkgKSA9PT0gXCJvYmplY3RcIiApIHtcblx0XHRjaGFpbmFibGUgPSB0cnVlO1xuXHRcdGZvciAoIGkgaW4ga2V5ICkge1xuXHRcdFx0YWNjZXNzKCBlbGVtcywgZm4sIGksIGtleVsgaSBdLCB0cnVlLCBlbXB0eUdldCwgcmF3ICk7XG5cdFx0fVxuXG5cdC8vIFNldHMgb25lIHZhbHVlXG5cdH0gZWxzZSBpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7XG5cdFx0Y2hhaW5hYmxlID0gdHJ1ZTtcblxuXHRcdGlmICggIWlzRnVuY3Rpb24oIHZhbHVlICkgKSB7XG5cdFx0XHRyYXcgPSB0cnVlO1xuXHRcdH1cblxuXHRcdGlmICggYnVsayApIHtcblxuXHRcdFx0Ly8gQnVsayBvcGVyYXRpb25zIHJ1biBhZ2FpbnN0IHRoZSBlbnRpcmUgc2V0XG5cdFx0XHRpZiAoIHJhdyApIHtcblx0XHRcdFx0Zm4uY2FsbCggZWxlbXMsIHZhbHVlICk7XG5cdFx0XHRcdGZuID0gbnVsbDtcblxuXHRcdFx0Ly8gLi4uZXhjZXB0IHdoZW4gZXhlY3V0aW5nIGZ1bmN0aW9uIHZhbHVlc1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0YnVsayA9IGZuO1xuXHRcdFx0XHRmbiA9IGZ1bmN0aW9uKCBlbGVtLCBfa2V5LCB2YWx1ZSApIHtcblx0XHRcdFx0XHRyZXR1cm4gYnVsay5jYWxsKCBqUXVlcnkoIGVsZW0gKSwgdmFsdWUgKTtcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoIGZuICkge1xuXHRcdFx0Zm9yICggOyBpIDwgbGVuOyBpKysgKSB7XG5cdFx0XHRcdGZuKFxuXHRcdFx0XHRcdGVsZW1zWyBpIF0sIGtleSwgcmF3ID9cblx0XHRcdFx0XHR2YWx1ZSA6XG5cdFx0XHRcdFx0dmFsdWUuY2FsbCggZWxlbXNbIGkgXSwgaSwgZm4oIGVsZW1zWyBpIF0sIGtleSApIClcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpZiAoIGNoYWluYWJsZSApIHtcblx0XHRyZXR1cm4gZWxlbXM7XG5cdH1cblxuXHQvLyBHZXRzXG5cdGlmICggYnVsayApIHtcblx0XHRyZXR1cm4gZm4uY2FsbCggZWxlbXMgKTtcblx0fVxuXG5cdHJldHVybiBsZW4gPyBmbiggZWxlbXNbIDAgXSwga2V5ICkgOiBlbXB0eUdldDtcbn07XG5cblxuLy8gTWF0Y2hlcyBkYXNoZWQgc3RyaW5nIGZvciBjYW1lbGl6aW5nXG52YXIgcm1zUHJlZml4ID0gL14tbXMtLyxcblx0cmRhc2hBbHBoYSA9IC8tKFthLXpdKS9nO1xuXG4vLyBVc2VkIGJ5IGNhbWVsQ2FzZSBhcyBjYWxsYmFjayB0byByZXBsYWNlKClcbmZ1bmN0aW9uIGZjYW1lbENhc2UoIF9hbGwsIGxldHRlciApIHtcblx0cmV0dXJuIGxldHRlci50b1VwcGVyQ2FzZSgpO1xufVxuXG4vLyBDb252ZXJ0IGRhc2hlZCB0byBjYW1lbENhc2U7IHVzZWQgYnkgdGhlIGNzcyBhbmQgZGF0YSBtb2R1bGVzXG4vLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSwgRWRnZSAxMiAtIDE1XG4vLyBNaWNyb3NvZnQgZm9yZ290IHRvIGh1bXAgdGhlaXIgdmVuZG9yIHByZWZpeCAoIzk1NzIpXG5mdW5jdGlvbiBjYW1lbENhc2UoIHN0cmluZyApIHtcblx0cmV0dXJuIHN0cmluZy5yZXBsYWNlKCBybXNQcmVmaXgsIFwibXMtXCIgKS5yZXBsYWNlKCByZGFzaEFscGhhLCBmY2FtZWxDYXNlICk7XG59XG52YXIgYWNjZXB0RGF0YSA9IGZ1bmN0aW9uKCBvd25lciApIHtcblxuXHQvLyBBY2NlcHRzIG9ubHk6XG5cdC8vICAtIE5vZGVcblx0Ly8gICAgLSBOb2RlLkVMRU1FTlRfTk9ERVxuXHQvLyAgICAtIE5vZGUuRE9DVU1FTlRfTk9ERVxuXHQvLyAgLSBPYmplY3Rcblx0Ly8gICAgLSBBbnlcblx0cmV0dXJuIG93bmVyLm5vZGVUeXBlID09PSAxIHx8IG93bmVyLm5vZGVUeXBlID09PSA5IHx8ICEoICtvd25lci5ub2RlVHlwZSApO1xufTtcblxuXG5cblxuZnVuY3Rpb24gRGF0YSgpIHtcblx0dGhpcy5leHBhbmRvID0galF1ZXJ5LmV4cGFuZG8gKyBEYXRhLnVpZCsrO1xufVxuXG5EYXRhLnVpZCA9IDE7XG5cbkRhdGEucHJvdG90eXBlID0ge1xuXG5cdGNhY2hlOiBmdW5jdGlvbiggb3duZXIgKSB7XG5cblx0XHQvLyBDaGVjayBpZiB0aGUgb3duZXIgb2JqZWN0IGFscmVhZHkgaGFzIGEgY2FjaGVcblx0XHR2YXIgdmFsdWUgPSBvd25lclsgdGhpcy5leHBhbmRvIF07XG5cblx0XHQvLyBJZiBub3QsIGNyZWF0ZSBvbmVcblx0XHRpZiAoICF2YWx1ZSApIHtcblx0XHRcdHZhbHVlID0gT2JqZWN0LmNyZWF0ZSggbnVsbCApO1xuXG5cdFx0XHQvLyBXZSBjYW4gYWNjZXB0IGRhdGEgZm9yIG5vbi1lbGVtZW50IG5vZGVzIGluIG1vZGVybiBicm93c2Vycyxcblx0XHRcdC8vIGJ1dCB3ZSBzaG91bGQgbm90LCBzZWUgIzgzMzUuXG5cdFx0XHQvLyBBbHdheXMgcmV0dXJuIGFuIGVtcHR5IG9iamVjdC5cblx0XHRcdGlmICggYWNjZXB0RGF0YSggb3duZXIgKSApIHtcblxuXHRcdFx0XHQvLyBJZiBpdCBpcyBhIG5vZGUgdW5saWtlbHkgdG8gYmUgc3RyaW5naWZ5LWVkIG9yIGxvb3BlZCBvdmVyXG5cdFx0XHRcdC8vIHVzZSBwbGFpbiBhc3NpZ25tZW50XG5cdFx0XHRcdGlmICggb3duZXIubm9kZVR5cGUgKSB7XG5cdFx0XHRcdFx0b3duZXJbIHRoaXMuZXhwYW5kbyBdID0gdmFsdWU7XG5cblx0XHRcdFx0Ly8gT3RoZXJ3aXNlIHNlY3VyZSBpdCBpbiBhIG5vbi1lbnVtZXJhYmxlIHByb3BlcnR5XG5cdFx0XHRcdC8vIGNvbmZpZ3VyYWJsZSBtdXN0IGJlIHRydWUgdG8gYWxsb3cgdGhlIHByb3BlcnR5IHRvIGJlXG5cdFx0XHRcdC8vIGRlbGV0ZWQgd2hlbiBkYXRhIGlzIHJlbW92ZWRcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoIG93bmVyLCB0aGlzLmV4cGFuZG8sIHtcblx0XHRcdFx0XHRcdHZhbHVlOiB2YWx1ZSxcblx0XHRcdFx0XHRcdGNvbmZpZ3VyYWJsZTogdHJ1ZVxuXHRcdFx0XHRcdH0gKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB2YWx1ZTtcblx0fSxcblx0c2V0OiBmdW5jdGlvbiggb3duZXIsIGRhdGEsIHZhbHVlICkge1xuXHRcdHZhciBwcm9wLFxuXHRcdFx0Y2FjaGUgPSB0aGlzLmNhY2hlKCBvd25lciApO1xuXG5cdFx0Ly8gSGFuZGxlOiBbIG93bmVyLCBrZXksIHZhbHVlIF0gYXJnc1xuXHRcdC8vIEFsd2F5cyB1c2UgY2FtZWxDYXNlIGtleSAoZ2gtMjI1Nylcblx0XHRpZiAoIHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiICkge1xuXHRcdFx0Y2FjaGVbIGNhbWVsQ2FzZSggZGF0YSApIF0gPSB2YWx1ZTtcblxuXHRcdC8vIEhhbmRsZTogWyBvd25lciwgeyBwcm9wZXJ0aWVzIH0gXSBhcmdzXG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0Ly8gQ29weSB0aGUgcHJvcGVydGllcyBvbmUtYnktb25lIHRvIHRoZSBjYWNoZSBvYmplY3Rcblx0XHRcdGZvciAoIHByb3AgaW4gZGF0YSApIHtcblx0XHRcdFx0Y2FjaGVbIGNhbWVsQ2FzZSggcHJvcCApIF0gPSBkYXRhWyBwcm9wIF07XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBjYWNoZTtcblx0fSxcblx0Z2V0OiBmdW5jdGlvbiggb3duZXIsIGtleSApIHtcblx0XHRyZXR1cm4ga2V5ID09PSB1bmRlZmluZWQgP1xuXHRcdFx0dGhpcy5jYWNoZSggb3duZXIgKSA6XG5cblx0XHRcdC8vIEFsd2F5cyB1c2UgY2FtZWxDYXNlIGtleSAoZ2gtMjI1Nylcblx0XHRcdG93bmVyWyB0aGlzLmV4cGFuZG8gXSAmJiBvd25lclsgdGhpcy5leHBhbmRvIF1bIGNhbWVsQ2FzZSgga2V5ICkgXTtcblx0fSxcblx0YWNjZXNzOiBmdW5jdGlvbiggb3duZXIsIGtleSwgdmFsdWUgKSB7XG5cblx0XHQvLyBJbiBjYXNlcyB3aGVyZSBlaXRoZXI6XG5cdFx0Ly9cblx0XHQvLyAgIDEuIE5vIGtleSB3YXMgc3BlY2lmaWVkXG5cdFx0Ly8gICAyLiBBIHN0cmluZyBrZXkgd2FzIHNwZWNpZmllZCwgYnV0IG5vIHZhbHVlIHByb3ZpZGVkXG5cdFx0Ly9cblx0XHQvLyBUYWtlIHRoZSBcInJlYWRcIiBwYXRoIGFuZCBhbGxvdyB0aGUgZ2V0IG1ldGhvZCB0byBkZXRlcm1pbmVcblx0XHQvLyB3aGljaCB2YWx1ZSB0byByZXR1cm4sIHJlc3BlY3RpdmVseSBlaXRoZXI6XG5cdFx0Ly9cblx0XHQvLyAgIDEuIFRoZSBlbnRpcmUgY2FjaGUgb2JqZWN0XG5cdFx0Ly8gICAyLiBUaGUgZGF0YSBzdG9yZWQgYXQgdGhlIGtleVxuXHRcdC8vXG5cdFx0aWYgKCBrZXkgPT09IHVuZGVmaW5lZCB8fFxuXHRcdFx0XHQoICgga2V5ICYmIHR5cGVvZiBrZXkgPT09IFwic3RyaW5nXCIgKSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkgKSB7XG5cblx0XHRcdHJldHVybiB0aGlzLmdldCggb3duZXIsIGtleSApO1xuXHRcdH1cblxuXHRcdC8vIFdoZW4gdGhlIGtleSBpcyBub3QgYSBzdHJpbmcsIG9yIGJvdGggYSBrZXkgYW5kIHZhbHVlXG5cdFx0Ly8gYXJlIHNwZWNpZmllZCwgc2V0IG9yIGV4dGVuZCAoZXhpc3Rpbmcgb2JqZWN0cykgd2l0aCBlaXRoZXI6XG5cdFx0Ly9cblx0XHQvLyAgIDEuIEFuIG9iamVjdCBvZiBwcm9wZXJ0aWVzXG5cdFx0Ly8gICAyLiBBIGtleSBhbmQgdmFsdWVcblx0XHQvL1xuXHRcdHRoaXMuc2V0KCBvd25lciwga2V5LCB2YWx1ZSApO1xuXG5cdFx0Ly8gU2luY2UgdGhlIFwic2V0XCIgcGF0aCBjYW4gaGF2ZSB0d28gcG9zc2libGUgZW50cnkgcG9pbnRzXG5cdFx0Ly8gcmV0dXJuIHRoZSBleHBlY3RlZCBkYXRhIGJhc2VkIG9uIHdoaWNoIHBhdGggd2FzIHRha2VuWypdXG5cdFx0cmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgPyB2YWx1ZSA6IGtleTtcblx0fSxcblx0cmVtb3ZlOiBmdW5jdGlvbiggb3duZXIsIGtleSApIHtcblx0XHR2YXIgaSxcblx0XHRcdGNhY2hlID0gb3duZXJbIHRoaXMuZXhwYW5kbyBdO1xuXG5cdFx0aWYgKCBjYWNoZSA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmICgga2V5ICE9PSB1bmRlZmluZWQgKSB7XG5cblx0XHRcdC8vIFN1cHBvcnQgYXJyYXkgb3Igc3BhY2Ugc2VwYXJhdGVkIHN0cmluZyBvZiBrZXlzXG5cdFx0XHRpZiAoIEFycmF5LmlzQXJyYXkoIGtleSApICkge1xuXG5cdFx0XHRcdC8vIElmIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzLi4uXG5cdFx0XHRcdC8vIFdlIGFsd2F5cyBzZXQgY2FtZWxDYXNlIGtleXMsIHNvIHJlbW92ZSB0aGF0LlxuXHRcdFx0XHRrZXkgPSBrZXkubWFwKCBjYW1lbENhc2UgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGtleSA9IGNhbWVsQ2FzZSgga2V5ICk7XG5cblx0XHRcdFx0Ly8gSWYgYSBrZXkgd2l0aCB0aGUgc3BhY2VzIGV4aXN0cywgdXNlIGl0LlxuXHRcdFx0XHQvLyBPdGhlcndpc2UsIGNyZWF0ZSBhbiBhcnJheSBieSBtYXRjaGluZyBub24td2hpdGVzcGFjZVxuXHRcdFx0XHRrZXkgPSBrZXkgaW4gY2FjaGUgP1xuXHRcdFx0XHRcdFsga2V5IF0gOlxuXHRcdFx0XHRcdCgga2V5Lm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW10gKTtcblx0XHRcdH1cblxuXHRcdFx0aSA9IGtleS5sZW5ndGg7XG5cblx0XHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0XHRkZWxldGUgY2FjaGVbIGtleVsgaSBdIF07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gUmVtb3ZlIHRoZSBleHBhbmRvIGlmIHRoZXJlJ3Mgbm8gbW9yZSBkYXRhXG5cdFx0aWYgKCBrZXkgPT09IHVuZGVmaW5lZCB8fCBqUXVlcnkuaXNFbXB0eU9iamVjdCggY2FjaGUgKSApIHtcblxuXHRcdFx0Ly8gU3VwcG9ydDogQ2hyb21lIDw9MzUgLSA0NVxuXHRcdFx0Ly8gV2Via2l0ICYgQmxpbmsgcGVyZm9ybWFuY2Ugc3VmZmVycyB3aGVuIGRlbGV0aW5nIHByb3BlcnRpZXNcblx0XHRcdC8vIGZyb20gRE9NIG5vZGVzLCBzbyBzZXQgdG8gdW5kZWZpbmVkIGluc3RlYWRcblx0XHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTM3ODYwNyAoYnVnIHJlc3RyaWN0ZWQpXG5cdFx0XHRpZiAoIG93bmVyLm5vZGVUeXBlICkge1xuXHRcdFx0XHRvd25lclsgdGhpcy5leHBhbmRvIF0gPSB1bmRlZmluZWQ7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRkZWxldGUgb3duZXJbIHRoaXMuZXhwYW5kbyBdO1xuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0aGFzRGF0YTogZnVuY3Rpb24oIG93bmVyICkge1xuXHRcdHZhciBjYWNoZSA9IG93bmVyWyB0aGlzLmV4cGFuZG8gXTtcblx0XHRyZXR1cm4gY2FjaGUgIT09IHVuZGVmaW5lZCAmJiAhalF1ZXJ5LmlzRW1wdHlPYmplY3QoIGNhY2hlICk7XG5cdH1cbn07XG52YXIgZGF0YVByaXYgPSBuZXcgRGF0YSgpO1xuXG52YXIgZGF0YVVzZXIgPSBuZXcgRGF0YSgpO1xuXG5cblxuLy9cdEltcGxlbWVudGF0aW9uIFN1bW1hcnlcbi8vXG4vL1x0MS4gRW5mb3JjZSBBUEkgc3VyZmFjZSBhbmQgc2VtYW50aWMgY29tcGF0aWJpbGl0eSB3aXRoIDEuOS54IGJyYW5jaFxuLy9cdDIuIEltcHJvdmUgdGhlIG1vZHVsZSdzIG1haW50YWluYWJpbGl0eSBieSByZWR1Y2luZyB0aGUgc3RvcmFnZVxuLy9cdFx0cGF0aHMgdG8gYSBzaW5nbGUgbWVjaGFuaXNtLlxuLy9cdDMuIFVzZSB0aGUgc2FtZSBzaW5nbGUgbWVjaGFuaXNtIHRvIHN1cHBvcnQgXCJwcml2YXRlXCIgYW5kIFwidXNlclwiIGRhdGEuXG4vL1x0NC4gX05ldmVyXyBleHBvc2UgXCJwcml2YXRlXCIgZGF0YSB0byB1c2VyIGNvZGUgKFRPRE86IERyb3AgX2RhdGEsIF9yZW1vdmVEYXRhKVxuLy9cdDUuIEF2b2lkIGV4cG9zaW5nIGltcGxlbWVudGF0aW9uIGRldGFpbHMgb24gdXNlciBvYmplY3RzIChlZy4gZXhwYW5kbyBwcm9wZXJ0aWVzKVxuLy9cdDYuIFByb3ZpZGUgYSBjbGVhciBwYXRoIGZvciBpbXBsZW1lbnRhdGlvbiB1cGdyYWRlIHRvIFdlYWtNYXAgaW4gMjAxNFxuXG52YXIgcmJyYWNlID0gL14oPzpcXHtbXFx3XFxXXSpcXH18XFxbW1xcd1xcV10qXFxdKSQvLFxuXHRybXVsdGlEYXNoID0gL1tBLVpdL2c7XG5cbmZ1bmN0aW9uIGdldERhdGEoIGRhdGEgKSB7XG5cdGlmICggZGF0YSA9PT0gXCJ0cnVlXCIgKSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRpZiAoIGRhdGEgPT09IFwiZmFsc2VcIiApIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRpZiAoIGRhdGEgPT09IFwibnVsbFwiICkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0Ly8gT25seSBjb252ZXJ0IHRvIGEgbnVtYmVyIGlmIGl0IGRvZXNuJ3QgY2hhbmdlIHRoZSBzdHJpbmdcblx0aWYgKCBkYXRhID09PSArZGF0YSArIFwiXCIgKSB7XG5cdFx0cmV0dXJuICtkYXRhO1xuXHR9XG5cblx0aWYgKCByYnJhY2UudGVzdCggZGF0YSApICkge1xuXHRcdHJldHVybiBKU09OLnBhcnNlKCBkYXRhICk7XG5cdH1cblxuXHRyZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gZGF0YUF0dHIoIGVsZW0sIGtleSwgZGF0YSApIHtcblx0dmFyIG5hbWU7XG5cblx0Ly8gSWYgbm90aGluZyB3YXMgZm91bmQgaW50ZXJuYWxseSwgdHJ5IHRvIGZldGNoIGFueVxuXHQvLyBkYXRhIGZyb20gdGhlIEhUTUw1IGRhdGEtKiBhdHRyaWJ1dGVcblx0aWYgKCBkYXRhID09PSB1bmRlZmluZWQgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHtcblx0XHRuYW1lID0gXCJkYXRhLVwiICsga2V5LnJlcGxhY2UoIHJtdWx0aURhc2gsIFwiLSQmXCIgKS50b0xvd2VyQ2FzZSgpO1xuXHRcdGRhdGEgPSBlbGVtLmdldEF0dHJpYnV0ZSggbmFtZSApO1xuXG5cdFx0aWYgKCB0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIiApIHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGRhdGEgPSBnZXREYXRhKCBkYXRhICk7XG5cdFx0XHR9IGNhdGNoICggZSApIHt9XG5cblx0XHRcdC8vIE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIGRhdGEgc28gaXQgaXNuJ3QgY2hhbmdlZCBsYXRlclxuXHRcdFx0ZGF0YVVzZXIuc2V0KCBlbGVtLCBrZXksIGRhdGEgKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZGF0YSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGRhdGE7XG59XG5cbmpRdWVyeS5leHRlbmQoIHtcblx0aGFzRGF0YTogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0cmV0dXJuIGRhdGFVc2VyLmhhc0RhdGEoIGVsZW0gKSB8fCBkYXRhUHJpdi5oYXNEYXRhKCBlbGVtICk7XG5cdH0sXG5cblx0ZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7XG5cdFx0cmV0dXJuIGRhdGFVc2VyLmFjY2VzcyggZWxlbSwgbmFtZSwgZGF0YSApO1xuXHR9LFxuXG5cdHJlbW92ZURhdGE6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lICkge1xuXHRcdGRhdGFVc2VyLnJlbW92ZSggZWxlbSwgbmFtZSApO1xuXHR9LFxuXG5cdC8vIFRPRE86IE5vdyB0aGF0IGFsbCBjYWxscyB0byBfZGF0YSBhbmQgX3JlbW92ZURhdGEgaGF2ZSBiZWVuIHJlcGxhY2VkXG5cdC8vIHdpdGggZGlyZWN0IGNhbGxzIHRvIGRhdGFQcml2IG1ldGhvZHMsIHRoZXNlIGNhbiBiZSBkZXByZWNhdGVkLlxuXHRfZGF0YTogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGRhdGEgKSB7XG5cdFx0cmV0dXJuIGRhdGFQcml2LmFjY2VzcyggZWxlbSwgbmFtZSwgZGF0YSApO1xuXHR9LFxuXG5cdF9yZW1vdmVEYXRhOiBmdW5jdGlvbiggZWxlbSwgbmFtZSApIHtcblx0XHRkYXRhUHJpdi5yZW1vdmUoIGVsZW0sIG5hbWUgKTtcblx0fVxufSApO1xuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cdGRhdGE6IGZ1bmN0aW9uKCBrZXksIHZhbHVlICkge1xuXHRcdHZhciBpLCBuYW1lLCBkYXRhLFxuXHRcdFx0ZWxlbSA9IHRoaXNbIDAgXSxcblx0XHRcdGF0dHJzID0gZWxlbSAmJiBlbGVtLmF0dHJpYnV0ZXM7XG5cblx0XHQvLyBHZXRzIGFsbCB2YWx1ZXNcblx0XHRpZiAoIGtleSA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0aWYgKCB0aGlzLmxlbmd0aCApIHtcblx0XHRcdFx0ZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSApO1xuXG5cdFx0XHRcdGlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSAmJiAhZGF0YVByaXYuZ2V0KCBlbGVtLCBcImhhc0RhdGFBdHRyc1wiICkgKSB7XG5cdFx0XHRcdFx0aSA9IGF0dHJzLmxlbmd0aDtcblx0XHRcdFx0XHR3aGlsZSAoIGktLSApIHtcblxuXHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgMTEgb25seVxuXHRcdFx0XHRcdFx0Ly8gVGhlIGF0dHJzIGVsZW1lbnRzIGNhbiBiZSBudWxsICgjMTQ4OTQpXG5cdFx0XHRcdFx0XHRpZiAoIGF0dHJzWyBpIF0gKSB7XG5cdFx0XHRcdFx0XHRcdG5hbWUgPSBhdHRyc1sgaSBdLm5hbWU7XG5cdFx0XHRcdFx0XHRcdGlmICggbmFtZS5pbmRleE9mKCBcImRhdGEtXCIgKSA9PT0gMCApIHtcblx0XHRcdFx0XHRcdFx0XHRuYW1lID0gY2FtZWxDYXNlKCBuYW1lLnNsaWNlKCA1ICkgKTtcblx0XHRcdFx0XHRcdFx0XHRkYXRhQXR0ciggZWxlbSwgbmFtZSwgZGF0YVsgbmFtZSBdICk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ZGF0YVByaXYuc2V0KCBlbGVtLCBcImhhc0RhdGFBdHRyc1wiLCB0cnVlICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGRhdGE7XG5cdFx0fVxuXG5cdFx0Ly8gU2V0cyBtdWx0aXBsZSB2YWx1ZXNcblx0XHRpZiAoIHR5cGVvZiBrZXkgPT09IFwib2JqZWN0XCIgKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHtcblx0XHRcdFx0ZGF0YVVzZXIuc2V0KCB0aGlzLCBrZXkgKTtcblx0XHRcdH0gKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0XHR2YXIgZGF0YTtcblxuXHRcdFx0Ly8gVGhlIGNhbGxpbmcgalF1ZXJ5IG9iamVjdCAoZWxlbWVudCBtYXRjaGVzKSBpcyBub3QgZW1wdHlcblx0XHRcdC8vIChhbmQgdGhlcmVmb3JlIGhhcyBhbiBlbGVtZW50IGFwcGVhcnMgYXQgdGhpc1sgMCBdKSBhbmQgdGhlXG5cdFx0XHQvLyBgdmFsdWVgIHBhcmFtZXRlciB3YXMgbm90IHVuZGVmaW5lZC4gQW4gZW1wdHkgalF1ZXJ5IG9iamVjdFxuXHRcdFx0Ly8gd2lsbCByZXN1bHQgaW4gYHVuZGVmaW5lZGAgZm9yIGVsZW0gPSB0aGlzWyAwIF0gd2hpY2ggd2lsbFxuXHRcdFx0Ly8gdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGFuIGF0dGVtcHQgdG8gcmVhZCBhIGRhdGEgY2FjaGUgaXMgbWFkZS5cblx0XHRcdGlmICggZWxlbSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkICkge1xuXG5cdFx0XHRcdC8vIEF0dGVtcHQgdG8gZ2V0IGRhdGEgZnJvbSB0aGUgY2FjaGVcblx0XHRcdFx0Ly8gVGhlIGtleSB3aWxsIGFsd2F5cyBiZSBjYW1lbENhc2VkIGluIERhdGFcblx0XHRcdFx0ZGF0YSA9IGRhdGFVc2VyLmdldCggZWxlbSwga2V5ICk7XG5cdFx0XHRcdGlmICggZGF0YSAhPT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gQXR0ZW1wdCB0byBcImRpc2NvdmVyXCIgdGhlIGRhdGEgaW5cblx0XHRcdFx0Ly8gSFRNTDUgY3VzdG9tIGRhdGEtKiBhdHRyc1xuXHRcdFx0XHRkYXRhID0gZGF0YUF0dHIoIGVsZW0sIGtleSApO1xuXHRcdFx0XHRpZiAoIGRhdGEgIT09IHVuZGVmaW5lZCApIHtcblx0XHRcdFx0XHRyZXR1cm4gZGF0YTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFdlIHRyaWVkIHJlYWxseSBoYXJkLCBidXQgdGhlIGRhdGEgZG9lc24ndCBleGlzdC5cblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBTZXQgdGhlIGRhdGEuLi5cblx0XHRcdHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cblx0XHRcdFx0Ly8gV2UgYWx3YXlzIHN0b3JlIHRoZSBjYW1lbENhc2VkIGtleVxuXHRcdFx0XHRkYXRhVXNlci5zZXQoIHRoaXMsIGtleSwgdmFsdWUgKTtcblx0XHRcdH0gKTtcblx0XHR9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCA+IDEsIG51bGwsIHRydWUgKTtcblx0fSxcblxuXHRyZW1vdmVEYXRhOiBmdW5jdGlvbigga2V5ICkge1xuXHRcdHJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkge1xuXHRcdFx0ZGF0YVVzZXIucmVtb3ZlKCB0aGlzLCBrZXkgKTtcblx0XHR9ICk7XG5cdH1cbn0gKTtcblxuXG5qUXVlcnkuZXh0ZW5kKCB7XG5cdHF1ZXVlOiBmdW5jdGlvbiggZWxlbSwgdHlwZSwgZGF0YSApIHtcblx0XHR2YXIgcXVldWU7XG5cblx0XHRpZiAoIGVsZW0gKSB7XG5cdFx0XHR0eXBlID0gKCB0eXBlIHx8IFwiZnhcIiApICsgXCJxdWV1ZVwiO1xuXHRcdFx0cXVldWUgPSBkYXRhUHJpdi5nZXQoIGVsZW0sIHR5cGUgKTtcblxuXHRcdFx0Ly8gU3BlZWQgdXAgZGVxdWV1ZSBieSBnZXR0aW5nIG91dCBxdWlja2x5IGlmIHRoaXMgaXMganVzdCBhIGxvb2t1cFxuXHRcdFx0aWYgKCBkYXRhICkge1xuXHRcdFx0XHRpZiAoICFxdWV1ZSB8fCBBcnJheS5pc0FycmF5KCBkYXRhICkgKSB7XG5cdFx0XHRcdFx0cXVldWUgPSBkYXRhUHJpdi5hY2Nlc3MoIGVsZW0sIHR5cGUsIGpRdWVyeS5tYWtlQXJyYXkoIGRhdGEgKSApO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHF1ZXVlLnB1c2goIGRhdGEgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHF1ZXVlIHx8IFtdO1xuXHRcdH1cblx0fSxcblxuXHRkZXF1ZXVlOiBmdW5jdGlvbiggZWxlbSwgdHlwZSApIHtcblx0XHR0eXBlID0gdHlwZSB8fCBcImZ4XCI7XG5cblx0XHR2YXIgcXVldWUgPSBqUXVlcnkucXVldWUoIGVsZW0sIHR5cGUgKSxcblx0XHRcdHN0YXJ0TGVuZ3RoID0gcXVldWUubGVuZ3RoLFxuXHRcdFx0Zm4gPSBxdWV1ZS5zaGlmdCgpLFxuXHRcdFx0aG9va3MgPSBqUXVlcnkuX3F1ZXVlSG9va3MoIGVsZW0sIHR5cGUgKSxcblx0XHRcdG5leHQgPSBmdW5jdGlvbigpIHtcblx0XHRcdFx0alF1ZXJ5LmRlcXVldWUoIGVsZW0sIHR5cGUgKTtcblx0XHRcdH07XG5cblx0XHQvLyBJZiB0aGUgZnggcXVldWUgaXMgZGVxdWV1ZWQsIGFsd2F5cyByZW1vdmUgdGhlIHByb2dyZXNzIHNlbnRpbmVsXG5cdFx0aWYgKCBmbiA9PT0gXCJpbnByb2dyZXNzXCIgKSB7XG5cdFx0XHRmbiA9IHF1ZXVlLnNoaWZ0KCk7XG5cdFx0XHRzdGFydExlbmd0aC0tO1xuXHRcdH1cblxuXHRcdGlmICggZm4gKSB7XG5cblx0XHRcdC8vIEFkZCBhIHByb2dyZXNzIHNlbnRpbmVsIHRvIHByZXZlbnQgdGhlIGZ4IHF1ZXVlIGZyb20gYmVpbmdcblx0XHRcdC8vIGF1dG9tYXRpY2FsbHkgZGVxdWV1ZWRcblx0XHRcdGlmICggdHlwZSA9PT0gXCJmeFwiICkge1xuXHRcdFx0XHRxdWV1ZS51bnNoaWZ0KCBcImlucHJvZ3Jlc3NcIiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBDbGVhciB1cCB0aGUgbGFzdCBxdWV1ZSBzdG9wIGZ1bmN0aW9uXG5cdFx0XHRkZWxldGUgaG9va3Muc3RvcDtcblx0XHRcdGZuLmNhbGwoIGVsZW0sIG5leHQsIGhvb2tzICk7XG5cdFx0fVxuXG5cdFx0aWYgKCAhc3RhcnRMZW5ndGggJiYgaG9va3MgKSB7XG5cdFx0XHRob29rcy5lbXB0eS5maXJlKCk7XG5cdFx0fVxuXHR9LFxuXG5cdC8vIE5vdCBwdWJsaWMgLSBnZW5lcmF0ZSBhIHF1ZXVlSG9va3Mgb2JqZWN0LCBvciByZXR1cm4gdGhlIGN1cnJlbnQgb25lXG5cdF9xdWV1ZUhvb2tzOiBmdW5jdGlvbiggZWxlbSwgdHlwZSApIHtcblx0XHR2YXIga2V5ID0gdHlwZSArIFwicXVldWVIb29rc1wiO1xuXHRcdHJldHVybiBkYXRhUHJpdi5nZXQoIGVsZW0sIGtleSApIHx8IGRhdGFQcml2LmFjY2VzcyggZWxlbSwga2V5LCB7XG5cdFx0XHRlbXB0eTogalF1ZXJ5LkNhbGxiYWNrcyggXCJvbmNlIG1lbW9yeVwiICkuYWRkKCBmdW5jdGlvbigpIHtcblx0XHRcdFx0ZGF0YVByaXYucmVtb3ZlKCBlbGVtLCBbIHR5cGUgKyBcInF1ZXVlXCIsIGtleSBdICk7XG5cdFx0XHR9IClcblx0XHR9ICk7XG5cdH1cbn0gKTtcblxualF1ZXJ5LmZuLmV4dGVuZCgge1xuXHRxdWV1ZTogZnVuY3Rpb24oIHR5cGUsIGRhdGEgKSB7XG5cdFx0dmFyIHNldHRlciA9IDI7XG5cblx0XHRpZiAoIHR5cGVvZiB0eXBlICE9PSBcInN0cmluZ1wiICkge1xuXHRcdFx0ZGF0YSA9IHR5cGU7XG5cdFx0XHR0eXBlID0gXCJmeFwiO1xuXHRcdFx0c2V0dGVyLS07XG5cdFx0fVxuXG5cdFx0aWYgKCBhcmd1bWVudHMubGVuZ3RoIDwgc2V0dGVyICkge1xuXHRcdFx0cmV0dXJuIGpRdWVyeS5xdWV1ZSggdGhpc1sgMCBdLCB0eXBlICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGRhdGEgPT09IHVuZGVmaW5lZCA/XG5cdFx0XHR0aGlzIDpcblx0XHRcdHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHZhciBxdWV1ZSA9IGpRdWVyeS5xdWV1ZSggdGhpcywgdHlwZSwgZGF0YSApO1xuXG5cdFx0XHRcdC8vIEVuc3VyZSBhIGhvb2tzIGZvciB0aGlzIHF1ZXVlXG5cdFx0XHRcdGpRdWVyeS5fcXVldWVIb29rcyggdGhpcywgdHlwZSApO1xuXG5cdFx0XHRcdGlmICggdHlwZSA9PT0gXCJmeFwiICYmIHF1ZXVlWyAwIF0gIT09IFwiaW5wcm9ncmVzc1wiICkge1xuXHRcdFx0XHRcdGpRdWVyeS5kZXF1ZXVlKCB0aGlzLCB0eXBlICk7XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblx0fSxcblx0ZGVxdWV1ZTogZnVuY3Rpb24oIHR5cGUgKSB7XG5cdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHRqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApO1xuXHRcdH0gKTtcblx0fSxcblx0Y2xlYXJRdWV1ZTogZnVuY3Rpb24oIHR5cGUgKSB7XG5cdFx0cmV0dXJuIHRoaXMucXVldWUoIHR5cGUgfHwgXCJmeFwiLCBbXSApO1xuXHR9LFxuXG5cdC8vIEdldCBhIHByb21pc2UgcmVzb2x2ZWQgd2hlbiBxdWV1ZXMgb2YgYSBjZXJ0YWluIHR5cGVcblx0Ly8gYXJlIGVtcHRpZWQgKGZ4IGlzIHRoZSB0eXBlIGJ5IGRlZmF1bHQpXG5cdHByb21pc2U6IGZ1bmN0aW9uKCB0eXBlLCBvYmogKSB7XG5cdFx0dmFyIHRtcCxcblx0XHRcdGNvdW50ID0gMSxcblx0XHRcdGRlZmVyID0galF1ZXJ5LkRlZmVycmVkKCksXG5cdFx0XHRlbGVtZW50cyA9IHRoaXMsXG5cdFx0XHRpID0gdGhpcy5sZW5ndGgsXG5cdFx0XHRyZXNvbHZlID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggISggLS1jb3VudCApICkge1xuXHRcdFx0XHRcdGRlZmVyLnJlc29sdmVXaXRoKCBlbGVtZW50cywgWyBlbGVtZW50cyBdICk7XG5cdFx0XHRcdH1cblx0XHRcdH07XG5cblx0XHRpZiAoIHR5cGVvZiB0eXBlICE9PSBcInN0cmluZ1wiICkge1xuXHRcdFx0b2JqID0gdHlwZTtcblx0XHRcdHR5cGUgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdHR5cGUgPSB0eXBlIHx8IFwiZnhcIjtcblxuXHRcdHdoaWxlICggaS0tICkge1xuXHRcdFx0dG1wID0gZGF0YVByaXYuZ2V0KCBlbGVtZW50c1sgaSBdLCB0eXBlICsgXCJxdWV1ZUhvb2tzXCIgKTtcblx0XHRcdGlmICggdG1wICYmIHRtcC5lbXB0eSApIHtcblx0XHRcdFx0Y291bnQrKztcblx0XHRcdFx0dG1wLmVtcHR5LmFkZCggcmVzb2x2ZSApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXNvbHZlKCk7XG5cdFx0cmV0dXJuIGRlZmVyLnByb21pc2UoIG9iaiApO1xuXHR9XG59ICk7XG52YXIgcG51bSA9ICggL1srLV0/KD86XFxkKlxcLnwpXFxkKyg/OltlRV1bKy1dP1xcZCt8KS8gKS5zb3VyY2U7XG5cbnZhciByY3NzTnVtID0gbmV3IFJlZ0V4cCggXCJeKD86KFsrLV0pPXwpKFwiICsgcG51bSArIFwiKShbYS16JV0qKSRcIiwgXCJpXCIgKTtcblxuXG52YXIgY3NzRXhwYW5kID0gWyBcIlRvcFwiLCBcIlJpZ2h0XCIsIFwiQm90dG9tXCIsIFwiTGVmdFwiIF07XG5cbnZhciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG5cblxuXG5cdHZhciBpc0F0dGFjaGVkID0gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4galF1ZXJ5LmNvbnRhaW5zKCBlbGVtLm93bmVyRG9jdW1lbnQsIGVsZW0gKTtcblx0XHR9LFxuXHRcdGNvbXBvc2VkID0geyBjb21wb3NlZDogdHJ1ZSB9O1xuXG5cdC8vIFN1cHBvcnQ6IElFIDkgLSAxMSssIEVkZ2UgMTIgLSAxOCssIGlPUyAxMC4wIC0gMTAuMiBvbmx5XG5cdC8vIENoZWNrIGF0dGFjaG1lbnQgYWNyb3NzIHNoYWRvdyBET00gYm91bmRhcmllcyB3aGVuIHBvc3NpYmxlIChnaC0zNTA0KVxuXHQvLyBTdXBwb3J0OiBpT1MgMTAuMC0xMC4yIG9ubHlcblx0Ly8gRWFybHkgaU9TIDEwIHZlcnNpb25zIHN1cHBvcnQgYGF0dGFjaFNoYWRvd2AgYnV0IG5vdCBgZ2V0Um9vdE5vZGVgLFxuXHQvLyBsZWFkaW5nIHRvIGVycm9ycy4gV2UgbmVlZCB0byBjaGVjayBmb3IgYGdldFJvb3ROb2RlYC5cblx0aWYgKCBkb2N1bWVudEVsZW1lbnQuZ2V0Um9vdE5vZGUgKSB7XG5cdFx0aXNBdHRhY2hlZCA9IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0cmV0dXJuIGpRdWVyeS5jb250YWlucyggZWxlbS5vd25lckRvY3VtZW50LCBlbGVtICkgfHxcblx0XHRcdFx0ZWxlbS5nZXRSb290Tm9kZSggY29tcG9zZWQgKSA9PT0gZWxlbS5vd25lckRvY3VtZW50O1xuXHRcdH07XG5cdH1cbnZhciBpc0hpZGRlbldpdGhpblRyZWUgPSBmdW5jdGlvbiggZWxlbSwgZWwgKSB7XG5cblx0XHQvLyBpc0hpZGRlbldpdGhpblRyZWUgbWlnaHQgYmUgY2FsbGVkIGZyb20galF1ZXJ5I2ZpbHRlciBmdW5jdGlvbjtcblx0XHQvLyBpbiB0aGF0IGNhc2UsIGVsZW1lbnQgd2lsbCBiZSBzZWNvbmQgYXJndW1lbnRcblx0XHRlbGVtID0gZWwgfHwgZWxlbTtcblxuXHRcdC8vIElubGluZSBzdHlsZSB0cnVtcHMgYWxsXG5cdFx0cmV0dXJuIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gXCJub25lXCIgfHxcblx0XHRcdGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gXCJcIiAmJlxuXG5cdFx0XHQvLyBPdGhlcndpc2UsIGNoZWNrIGNvbXB1dGVkIHN0eWxlXG5cdFx0XHQvLyBTdXBwb3J0OiBGaXJlZm94IDw9NDMgLSA0NVxuXHRcdFx0Ly8gRGlzY29ubmVjdGVkIGVsZW1lbnRzIGNhbiBoYXZlIGNvbXB1dGVkIGRpc3BsYXk6IG5vbmUsIHNvIGZpcnN0IGNvbmZpcm0gdGhhdCBlbGVtIGlzXG5cdFx0XHQvLyBpbiB0aGUgZG9jdW1lbnQuXG5cdFx0XHRpc0F0dGFjaGVkKCBlbGVtICkgJiZcblxuXHRcdFx0alF1ZXJ5LmNzcyggZWxlbSwgXCJkaXNwbGF5XCIgKSA9PT0gXCJub25lXCI7XG5cdH07XG5cblxuXG5mdW5jdGlvbiBhZGp1c3RDU1MoIGVsZW0sIHByb3AsIHZhbHVlUGFydHMsIHR3ZWVuICkge1xuXHR2YXIgYWRqdXN0ZWQsIHNjYWxlLFxuXHRcdG1heEl0ZXJhdGlvbnMgPSAyMCxcblx0XHRjdXJyZW50VmFsdWUgPSB0d2VlbiA/XG5cdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIHR3ZWVuLmN1cigpO1xuXHRcdFx0fSA6XG5cdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0cmV0dXJuIGpRdWVyeS5jc3MoIGVsZW0sIHByb3AsIFwiXCIgKTtcblx0XHRcdH0sXG5cdFx0aW5pdGlhbCA9IGN1cnJlbnRWYWx1ZSgpLFxuXHRcdHVuaXQgPSB2YWx1ZVBhcnRzICYmIHZhbHVlUGFydHNbIDMgXSB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIHByb3AgXSA/IFwiXCIgOiBcInB4XCIgKSxcblxuXHRcdC8vIFN0YXJ0aW5nIHZhbHVlIGNvbXB1dGF0aW9uIGlzIHJlcXVpcmVkIGZvciBwb3RlbnRpYWwgdW5pdCBtaXNtYXRjaGVzXG5cdFx0aW5pdGlhbEluVW5pdCA9IGVsZW0ubm9kZVR5cGUgJiZcblx0XHRcdCggalF1ZXJ5LmNzc051bWJlclsgcHJvcCBdIHx8IHVuaXQgIT09IFwicHhcIiAmJiAraW5pdGlhbCApICYmXG5cdFx0XHRyY3NzTnVtLmV4ZWMoIGpRdWVyeS5jc3MoIGVsZW0sIHByb3AgKSApO1xuXG5cdGlmICggaW5pdGlhbEluVW5pdCAmJiBpbml0aWFsSW5Vbml0WyAzIF0gIT09IHVuaXQgKSB7XG5cblx0XHQvLyBTdXBwb3J0OiBGaXJlZm94IDw9NTRcblx0XHQvLyBIYWx2ZSB0aGUgaXRlcmF0aW9uIHRhcmdldCB2YWx1ZSB0byBwcmV2ZW50IGludGVyZmVyZW5jZSBmcm9tIENTUyB1cHBlciBib3VuZHMgKGdoLTIxNDQpXG5cdFx0aW5pdGlhbCA9IGluaXRpYWwgLyAyO1xuXG5cdFx0Ly8gVHJ1c3QgdW5pdHMgcmVwb3J0ZWQgYnkgalF1ZXJ5LmNzc1xuXHRcdHVuaXQgPSB1bml0IHx8IGluaXRpYWxJblVuaXRbIDMgXTtcblxuXHRcdC8vIEl0ZXJhdGl2ZWx5IGFwcHJveGltYXRlIGZyb20gYSBub256ZXJvIHN0YXJ0aW5nIHBvaW50XG5cdFx0aW5pdGlhbEluVW5pdCA9ICtpbml0aWFsIHx8IDE7XG5cblx0XHR3aGlsZSAoIG1heEl0ZXJhdGlvbnMtLSApIHtcblxuXHRcdFx0Ly8gRXZhbHVhdGUgYW5kIHVwZGF0ZSBvdXIgYmVzdCBndWVzcyAoZG91YmxpbmcgZ3Vlc3NlcyB0aGF0IHplcm8gb3V0KS5cblx0XHRcdC8vIEZpbmlzaCBpZiB0aGUgc2NhbGUgZXF1YWxzIG9yIGNyb3NzZXMgMSAobWFraW5nIHRoZSBvbGQqbmV3IHByb2R1Y3Qgbm9uLXBvc2l0aXZlKS5cblx0XHRcdGpRdWVyeS5zdHlsZSggZWxlbSwgcHJvcCwgaW5pdGlhbEluVW5pdCArIHVuaXQgKTtcblx0XHRcdGlmICggKCAxIC0gc2NhbGUgKSAqICggMSAtICggc2NhbGUgPSBjdXJyZW50VmFsdWUoKSAvIGluaXRpYWwgfHwgMC41ICkgKSA8PSAwICkge1xuXHRcdFx0XHRtYXhJdGVyYXRpb25zID0gMDtcblx0XHRcdH1cblx0XHRcdGluaXRpYWxJblVuaXQgPSBpbml0aWFsSW5Vbml0IC8gc2NhbGU7XG5cblx0XHR9XG5cblx0XHRpbml0aWFsSW5Vbml0ID0gaW5pdGlhbEluVW5pdCAqIDI7XG5cdFx0alF1ZXJ5LnN0eWxlKCBlbGVtLCBwcm9wLCBpbml0aWFsSW5Vbml0ICsgdW5pdCApO1xuXG5cdFx0Ly8gTWFrZSBzdXJlIHdlIHVwZGF0ZSB0aGUgdHdlZW4gcHJvcGVydGllcyBsYXRlciBvblxuXHRcdHZhbHVlUGFydHMgPSB2YWx1ZVBhcnRzIHx8IFtdO1xuXHR9XG5cblx0aWYgKCB2YWx1ZVBhcnRzICkge1xuXHRcdGluaXRpYWxJblVuaXQgPSAraW5pdGlhbEluVW5pdCB8fCAraW5pdGlhbCB8fCAwO1xuXG5cdFx0Ly8gQXBwbHkgcmVsYXRpdmUgb2Zmc2V0ICgrPS8tPSkgaWYgc3BlY2lmaWVkXG5cdFx0YWRqdXN0ZWQgPSB2YWx1ZVBhcnRzWyAxIF0gP1xuXHRcdFx0aW5pdGlhbEluVW5pdCArICggdmFsdWVQYXJ0c1sgMSBdICsgMSApICogdmFsdWVQYXJ0c1sgMiBdIDpcblx0XHRcdCt2YWx1ZVBhcnRzWyAyIF07XG5cdFx0aWYgKCB0d2VlbiApIHtcblx0XHRcdHR3ZWVuLnVuaXQgPSB1bml0O1xuXHRcdFx0dHdlZW4uc3RhcnQgPSBpbml0aWFsSW5Vbml0O1xuXHRcdFx0dHdlZW4uZW5kID0gYWRqdXN0ZWQ7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBhZGp1c3RlZDtcbn1cblxuXG52YXIgZGVmYXVsdERpc3BsYXlNYXAgPSB7fTtcblxuZnVuY3Rpb24gZ2V0RGVmYXVsdERpc3BsYXkoIGVsZW0gKSB7XG5cdHZhciB0ZW1wLFxuXHRcdGRvYyA9IGVsZW0ub3duZXJEb2N1bWVudCxcblx0XHRub2RlTmFtZSA9IGVsZW0ubm9kZU5hbWUsXG5cdFx0ZGlzcGxheSA9IGRlZmF1bHREaXNwbGF5TWFwWyBub2RlTmFtZSBdO1xuXG5cdGlmICggZGlzcGxheSApIHtcblx0XHRyZXR1cm4gZGlzcGxheTtcblx0fVxuXG5cdHRlbXAgPSBkb2MuYm9keS5hcHBlbmRDaGlsZCggZG9jLmNyZWF0ZUVsZW1lbnQoIG5vZGVOYW1lICkgKTtcblx0ZGlzcGxheSA9IGpRdWVyeS5jc3MoIHRlbXAsIFwiZGlzcGxheVwiICk7XG5cblx0dGVtcC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKCB0ZW1wICk7XG5cblx0aWYgKCBkaXNwbGF5ID09PSBcIm5vbmVcIiApIHtcblx0XHRkaXNwbGF5ID0gXCJibG9ja1wiO1xuXHR9XG5cdGRlZmF1bHREaXNwbGF5TWFwWyBub2RlTmFtZSBdID0gZGlzcGxheTtcblxuXHRyZXR1cm4gZGlzcGxheTtcbn1cblxuZnVuY3Rpb24gc2hvd0hpZGUoIGVsZW1lbnRzLCBzaG93ICkge1xuXHR2YXIgZGlzcGxheSwgZWxlbSxcblx0XHR2YWx1ZXMgPSBbXSxcblx0XHRpbmRleCA9IDAsXG5cdFx0bGVuZ3RoID0gZWxlbWVudHMubGVuZ3RoO1xuXG5cdC8vIERldGVybWluZSBuZXcgZGlzcGxheSB2YWx1ZSBmb3IgZWxlbWVudHMgdGhhdCBuZWVkIHRvIGNoYW5nZVxuXHRmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkge1xuXHRcdGVsZW0gPSBlbGVtZW50c1sgaW5kZXggXTtcblx0XHRpZiAoICFlbGVtLnN0eWxlICkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0ZGlzcGxheSA9IGVsZW0uc3R5bGUuZGlzcGxheTtcblx0XHRpZiAoIHNob3cgKSB7XG5cblx0XHRcdC8vIFNpbmNlIHdlIGZvcmNlIHZpc2liaWxpdHkgdXBvbiBjYXNjYWRlLWhpZGRlbiBlbGVtZW50cywgYW4gaW1tZWRpYXRlIChhbmQgc2xvdylcblx0XHRcdC8vIGNoZWNrIGlzIHJlcXVpcmVkIGluIHRoaXMgZmlyc3QgbG9vcCB1bmxlc3Mgd2UgaGF2ZSBhIG5vbmVtcHR5IGRpc3BsYXkgdmFsdWUgKGVpdGhlclxuXHRcdFx0Ly8gaW5saW5lIG9yIGFib3V0LXRvLWJlLXJlc3RvcmVkKVxuXHRcdFx0aWYgKCBkaXNwbGF5ID09PSBcIm5vbmVcIiApIHtcblx0XHRcdFx0dmFsdWVzWyBpbmRleCBdID0gZGF0YVByaXYuZ2V0KCBlbGVtLCBcImRpc3BsYXlcIiApIHx8IG51bGw7XG5cdFx0XHRcdGlmICggIXZhbHVlc1sgaW5kZXggXSApIHtcblx0XHRcdFx0XHRlbGVtLnN0eWxlLmRpc3BsYXkgPSBcIlwiO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoIGVsZW0uc3R5bGUuZGlzcGxheSA9PT0gXCJcIiAmJiBpc0hpZGRlbldpdGhpblRyZWUoIGVsZW0gKSApIHtcblx0XHRcdFx0dmFsdWVzWyBpbmRleCBdID0gZ2V0RGVmYXVsdERpc3BsYXkoIGVsZW0gKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0aWYgKCBkaXNwbGF5ICE9PSBcIm5vbmVcIiApIHtcblx0XHRcdFx0dmFsdWVzWyBpbmRleCBdID0gXCJub25lXCI7XG5cblx0XHRcdFx0Ly8gUmVtZW1iZXIgd2hhdCB3ZSdyZSBvdmVyd3JpdGluZ1xuXHRcdFx0XHRkYXRhUHJpdi5zZXQoIGVsZW0sIFwiZGlzcGxheVwiLCBkaXNwbGF5ICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gU2V0IHRoZSBkaXNwbGF5IG9mIHRoZSBlbGVtZW50cyBpbiBhIHNlY29uZCBsb29wIHRvIGF2b2lkIGNvbnN0YW50IHJlZmxvd1xuXHRmb3IgKCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkge1xuXHRcdGlmICggdmFsdWVzWyBpbmRleCBdICE9IG51bGwgKSB7XG5cdFx0XHRlbGVtZW50c1sgaW5kZXggXS5zdHlsZS5kaXNwbGF5ID0gdmFsdWVzWyBpbmRleCBdO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBlbGVtZW50cztcbn1cblxualF1ZXJ5LmZuLmV4dGVuZCgge1xuXHRzaG93OiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gc2hvd0hpZGUoIHRoaXMsIHRydWUgKTtcblx0fSxcblx0aGlkZTogZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIHNob3dIaWRlKCB0aGlzICk7XG5cdH0sXG5cdHRvZ2dsZTogZnVuY3Rpb24oIHN0YXRlICkge1xuXHRcdGlmICggdHlwZW9mIHN0YXRlID09PSBcImJvb2xlYW5cIiApIHtcblx0XHRcdHJldHVybiBzdGF0ZSA/IHRoaXMuc2hvdygpIDogdGhpcy5oaWRlKCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAoIGlzSGlkZGVuV2l0aGluVHJlZSggdGhpcyApICkge1xuXHRcdFx0XHRqUXVlcnkoIHRoaXMgKS5zaG93KCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRqUXVlcnkoIHRoaXMgKS5oaWRlKCk7XG5cdFx0XHR9XG5cdFx0fSApO1xuXHR9XG59ICk7XG52YXIgcmNoZWNrYWJsZVR5cGUgPSAoIC9eKD86Y2hlY2tib3h8cmFkaW8pJC9pICk7XG5cbnZhciBydGFnTmFtZSA9ICggLzwoW2Etel1bXlxcL1xcMD5cXHgyMFxcdFxcclxcblxcZl0qKS9pICk7XG5cbnZhciByc2NyaXB0VHlwZSA9ICggL14kfF5tb2R1bGUkfFxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSApO1xuXG5cblxuKCBmdW5jdGlvbigpIHtcblx0dmFyIGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLFxuXHRcdGRpdiA9IGZyYWdtZW50LmFwcGVuZENoaWxkKCBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcImRpdlwiICkgKSxcblx0XHRpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiaW5wdXRcIiApO1xuXG5cdC8vIFN1cHBvcnQ6IEFuZHJvaWQgNC4wIC0gNC4zIG9ubHlcblx0Ly8gQ2hlY2sgc3RhdGUgbG9zdCBpZiB0aGUgbmFtZSBpcyBzZXQgKCMxMTIxNylcblx0Ly8gU3VwcG9ydDogV2luZG93cyBXZWIgQXBwcyAoV1dBKVxuXHQvLyBgbmFtZWAgYW5kIGB0eXBlYCBtdXN0IHVzZSAuc2V0QXR0cmlidXRlIGZvciBXV0EgKCMxNDkwMSlcblx0aW5wdXQuc2V0QXR0cmlidXRlKCBcInR5cGVcIiwgXCJyYWRpb1wiICk7XG5cdGlucHV0LnNldEF0dHJpYnV0ZSggXCJjaGVja2VkXCIsIFwiY2hlY2tlZFwiICk7XG5cdGlucHV0LnNldEF0dHJpYnV0ZSggXCJuYW1lXCIsIFwidFwiICk7XG5cblx0ZGl2LmFwcGVuZENoaWxkKCBpbnB1dCApO1xuXG5cdC8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjEgb25seVxuXHQvLyBPbGRlciBXZWJLaXQgZG9lc24ndCBjbG9uZSBjaGVja2VkIHN0YXRlIGNvcnJlY3RseSBpbiBmcmFnbWVudHNcblx0c3VwcG9ydC5jaGVja0Nsb25lID0gZGl2LmNsb25lTm9kZSggdHJ1ZSApLmNsb25lTm9kZSggdHJ1ZSApLmxhc3RDaGlsZC5jaGVja2VkO1xuXG5cdC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seVxuXHQvLyBNYWtlIHN1cmUgdGV4dGFyZWEgKGFuZCBjaGVja2JveCkgZGVmYXVsdFZhbHVlIGlzIHByb3Blcmx5IGNsb25lZFxuXHRkaXYuaW5uZXJIVE1MID0gXCI8dGV4dGFyZWE+eDwvdGV4dGFyZWE+XCI7XG5cdHN1cHBvcnQubm9DbG9uZUNoZWNrZWQgPSAhIWRpdi5jbG9uZU5vZGUoIHRydWUgKS5sYXN0Q2hpbGQuZGVmYXVsdFZhbHVlO1xuXG5cdC8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5XG5cdC8vIElFIDw9OSByZXBsYWNlcyA8b3B0aW9uPiB0YWdzIHdpdGggdGhlaXIgY29udGVudHMgd2hlbiBpbnNlcnRlZCBvdXRzaWRlIG9mXG5cdC8vIHRoZSBzZWxlY3QgZWxlbWVudC5cblx0ZGl2LmlubmVySFRNTCA9IFwiPG9wdGlvbj48L29wdGlvbj5cIjtcblx0c3VwcG9ydC5vcHRpb24gPSAhIWRpdi5sYXN0Q2hpbGQ7XG59ICkoKTtcblxuXG4vLyBXZSBoYXZlIHRvIGNsb3NlIHRoZXNlIHRhZ3MgdG8gc3VwcG9ydCBYSFRNTCAoIzEzMjAwKVxudmFyIHdyYXBNYXAgPSB7XG5cblx0Ly8gWEhUTUwgcGFyc2VycyBkbyBub3QgbWFnaWNhbGx5IGluc2VydCBlbGVtZW50cyBpbiB0aGVcblx0Ly8gc2FtZSB3YXkgdGhhdCB0YWcgc291cCBwYXJzZXJzIGRvLiBTbyB3ZSBjYW5ub3Qgc2hvcnRlblxuXHQvLyB0aGlzIGJ5IG9taXR0aW5nIDx0Ym9keT4gb3Igb3RoZXIgcmVxdWlyZWQgZWxlbWVudHMuXG5cdHRoZWFkOiBbIDEsIFwiPHRhYmxlPlwiLCBcIjwvdGFibGU+XCIgXSxcblx0Y29sOiBbIDIsIFwiPHRhYmxlPjxjb2xncm91cD5cIiwgXCI8L2NvbGdyb3VwPjwvdGFibGU+XCIgXSxcblx0dHI6IFsgMiwgXCI8dGFibGU+PHRib2R5PlwiLCBcIjwvdGJvZHk+PC90YWJsZT5cIiBdLFxuXHR0ZDogWyAzLCBcIjx0YWJsZT48dGJvZHk+PHRyPlwiLCBcIjwvdHI+PC90Ym9keT48L3RhYmxlPlwiIF0sXG5cblx0X2RlZmF1bHQ6IFsgMCwgXCJcIiwgXCJcIiBdXG59O1xuXG53cmFwTWFwLnRib2R5ID0gd3JhcE1hcC50Zm9vdCA9IHdyYXBNYXAuY29sZ3JvdXAgPSB3cmFwTWFwLmNhcHRpb24gPSB3cmFwTWFwLnRoZWFkO1xud3JhcE1hcC50aCA9IHdyYXBNYXAudGQ7XG5cbi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5XG5pZiAoICFzdXBwb3J0Lm9wdGlvbiApIHtcblx0d3JhcE1hcC5vcHRncm91cCA9IHdyYXBNYXAub3B0aW9uID0gWyAxLCBcIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz5cIiwgXCI8L3NlbGVjdD5cIiBdO1xufVxuXG5cbmZ1bmN0aW9uIGdldEFsbCggY29udGV4dCwgdGFnICkge1xuXG5cdC8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHlcblx0Ly8gVXNlIHR5cGVvZiB0byBhdm9pZCB6ZXJvLWFyZ3VtZW50IG1ldGhvZCBpbnZvY2F0aW9uIG9uIGhvc3Qgb2JqZWN0cyAoIzE1MTUxKVxuXHR2YXIgcmV0O1xuXG5cdGlmICggdHlwZW9mIGNvbnRleHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUgIT09IFwidW5kZWZpbmVkXCIgKSB7XG5cdFx0cmV0ID0gY29udGV4dC5nZXRFbGVtZW50c0J5VGFnTmFtZSggdGFnIHx8IFwiKlwiICk7XG5cblx0fSBlbHNlIGlmICggdHlwZW9mIGNvbnRleHQucXVlcnlTZWxlY3RvckFsbCAhPT0gXCJ1bmRlZmluZWRcIiApIHtcblx0XHRyZXQgPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoIHRhZyB8fCBcIipcIiApO1xuXG5cdH0gZWxzZSB7XG5cdFx0cmV0ID0gW107XG5cdH1cblxuXHRpZiAoIHRhZyA9PT0gdW5kZWZpbmVkIHx8IHRhZyAmJiBub2RlTmFtZSggY29udGV4dCwgdGFnICkgKSB7XG5cdFx0cmV0dXJuIGpRdWVyeS5tZXJnZSggWyBjb250ZXh0IF0sIHJldCApO1xuXHR9XG5cblx0cmV0dXJuIHJldDtcbn1cblxuXG4vLyBNYXJrIHNjcmlwdHMgYXMgaGF2aW5nIGFscmVhZHkgYmVlbiBldmFsdWF0ZWRcbmZ1bmN0aW9uIHNldEdsb2JhbEV2YWwoIGVsZW1zLCByZWZFbGVtZW50cyApIHtcblx0dmFyIGkgPSAwLFxuXHRcdGwgPSBlbGVtcy5sZW5ndGg7XG5cblx0Zm9yICggOyBpIDwgbDsgaSsrICkge1xuXHRcdGRhdGFQcml2LnNldChcblx0XHRcdGVsZW1zWyBpIF0sXG5cdFx0XHRcImdsb2JhbEV2YWxcIixcblx0XHRcdCFyZWZFbGVtZW50cyB8fCBkYXRhUHJpdi5nZXQoIHJlZkVsZW1lbnRzWyBpIF0sIFwiZ2xvYmFsRXZhbFwiIClcblx0XHQpO1xuXHR9XG59XG5cblxudmFyIHJodG1sID0gLzx8JiM/XFx3KzsvO1xuXG5mdW5jdGlvbiBidWlsZEZyYWdtZW50KCBlbGVtcywgY29udGV4dCwgc2NyaXB0cywgc2VsZWN0aW9uLCBpZ25vcmVkICkge1xuXHR2YXIgZWxlbSwgdG1wLCB0YWcsIHdyYXAsIGF0dGFjaGVkLCBqLFxuXHRcdGZyYWdtZW50ID0gY29udGV4dC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksXG5cdFx0bm9kZXMgPSBbXSxcblx0XHRpID0gMCxcblx0XHRsID0gZWxlbXMubGVuZ3RoO1xuXG5cdGZvciAoIDsgaSA8IGw7IGkrKyApIHtcblx0XHRlbGVtID0gZWxlbXNbIGkgXTtcblxuXHRcdGlmICggZWxlbSB8fCBlbGVtID09PSAwICkge1xuXG5cdFx0XHQvLyBBZGQgbm9kZXMgZGlyZWN0bHlcblx0XHRcdGlmICggdG9UeXBlKCBlbGVtICkgPT09IFwib2JqZWN0XCIgKSB7XG5cblx0XHRcdFx0Ly8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5LCBQaGFudG9tSlMgMSBvbmx5XG5cdFx0XHRcdC8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXRcblx0XHRcdFx0alF1ZXJ5Lm1lcmdlKCBub2RlcywgZWxlbS5ub2RlVHlwZSA/IFsgZWxlbSBdIDogZWxlbSApO1xuXG5cdFx0XHQvLyBDb252ZXJ0IG5vbi1odG1sIGludG8gYSB0ZXh0IG5vZGVcblx0XHRcdH0gZWxzZSBpZiAoICFyaHRtbC50ZXN0KCBlbGVtICkgKSB7XG5cdFx0XHRcdG5vZGVzLnB1c2goIGNvbnRleHQuY3JlYXRlVGV4dE5vZGUoIGVsZW0gKSApO1xuXG5cdFx0XHQvLyBDb252ZXJ0IGh0bWwgaW50byBET00gbm9kZXNcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRtcCA9IHRtcCB8fCBmcmFnbWVudC5hcHBlbmRDaGlsZCggY29udGV4dC5jcmVhdGVFbGVtZW50KCBcImRpdlwiICkgKTtcblxuXHRcdFx0XHQvLyBEZXNlcmlhbGl6ZSBhIHN0YW5kYXJkIHJlcHJlc2VudGF0aW9uXG5cdFx0XHRcdHRhZyA9ICggcnRhZ05hbWUuZXhlYyggZWxlbSApIHx8IFsgXCJcIiwgXCJcIiBdIClbIDEgXS50b0xvd2VyQ2FzZSgpO1xuXHRcdFx0XHR3cmFwID0gd3JhcE1hcFsgdGFnIF0gfHwgd3JhcE1hcC5fZGVmYXVsdDtcblx0XHRcdFx0dG1wLmlubmVySFRNTCA9IHdyYXBbIDEgXSArIGpRdWVyeS5odG1sUHJlZmlsdGVyKCBlbGVtICkgKyB3cmFwWyAyIF07XG5cblx0XHRcdFx0Ly8gRGVzY2VuZCB0aHJvdWdoIHdyYXBwZXJzIHRvIHRoZSByaWdodCBjb250ZW50XG5cdFx0XHRcdGogPSB3cmFwWyAwIF07XG5cdFx0XHRcdHdoaWxlICggai0tICkge1xuXHRcdFx0XHRcdHRtcCA9IHRtcC5sYXN0Q2hpbGQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHlcblx0XHRcdFx0Ly8gcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdFxuXHRcdFx0XHRqUXVlcnkubWVyZ2UoIG5vZGVzLCB0bXAuY2hpbGROb2RlcyApO1xuXG5cdFx0XHRcdC8vIFJlbWVtYmVyIHRoZSB0b3AtbGV2ZWwgY29udGFpbmVyXG5cdFx0XHRcdHRtcCA9IGZyYWdtZW50LmZpcnN0Q2hpbGQ7XG5cblx0XHRcdFx0Ly8gRW5zdXJlIHRoZSBjcmVhdGVkIG5vZGVzIGFyZSBvcnBoYW5lZCAoIzEyMzkyKVxuXHRcdFx0XHR0bXAudGV4dENvbnRlbnQgPSBcIlwiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIFJlbW92ZSB3cmFwcGVyIGZyb20gZnJhZ21lbnRcblx0ZnJhZ21lbnQudGV4dENvbnRlbnQgPSBcIlwiO1xuXG5cdGkgPSAwO1xuXHR3aGlsZSAoICggZWxlbSA9IG5vZGVzWyBpKysgXSApICkge1xuXG5cdFx0Ly8gU2tpcCBlbGVtZW50cyBhbHJlYWR5IGluIHRoZSBjb250ZXh0IGNvbGxlY3Rpb24gKHRyYWMtNDA4Nylcblx0XHRpZiAoIHNlbGVjdGlvbiAmJiBqUXVlcnkuaW5BcnJheSggZWxlbSwgc2VsZWN0aW9uICkgPiAtMSApIHtcblx0XHRcdGlmICggaWdub3JlZCApIHtcblx0XHRcdFx0aWdub3JlZC5wdXNoKCBlbGVtICk7XG5cdFx0XHR9XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cblx0XHRhdHRhY2hlZCA9IGlzQXR0YWNoZWQoIGVsZW0gKTtcblxuXHRcdC8vIEFwcGVuZCB0byBmcmFnbWVudFxuXHRcdHRtcCA9IGdldEFsbCggZnJhZ21lbnQuYXBwZW5kQ2hpbGQoIGVsZW0gKSwgXCJzY3JpcHRcIiApO1xuXG5cdFx0Ly8gUHJlc2VydmUgc2NyaXB0IGV2YWx1YXRpb24gaGlzdG9yeVxuXHRcdGlmICggYXR0YWNoZWQgKSB7XG5cdFx0XHRzZXRHbG9iYWxFdmFsKCB0bXAgKTtcblx0XHR9XG5cblx0XHQvLyBDYXB0dXJlIGV4ZWN1dGFibGVzXG5cdFx0aWYgKCBzY3JpcHRzICkge1xuXHRcdFx0aiA9IDA7XG5cdFx0XHR3aGlsZSAoICggZWxlbSA9IHRtcFsgaisrIF0gKSApIHtcblx0XHRcdFx0aWYgKCByc2NyaXB0VHlwZS50ZXN0KCBlbGVtLnR5cGUgfHwgXCJcIiApICkge1xuXHRcdFx0XHRcdHNjcmlwdHMucHVzaCggZWxlbSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGZyYWdtZW50O1xufVxuXG5cbnZhclxuXHRya2V5RXZlbnQgPSAvXmtleS8sXG5cdHJtb3VzZUV2ZW50ID0gL14oPzptb3VzZXxwb2ludGVyfGNvbnRleHRtZW51fGRyYWd8ZHJvcCl8Y2xpY2svLFxuXHRydHlwZW5hbWVzcGFjZSA9IC9eKFteLl0qKSg/OlxcLiguKyl8KS87XG5cbmZ1bmN0aW9uIHJldHVyblRydWUoKSB7XG5cdHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiByZXR1cm5GYWxzZSgpIHtcblx0cmV0dXJuIGZhbHNlO1xufVxuXG4vLyBTdXBwb3J0OiBJRSA8PTkgLSAxMStcbi8vIGZvY3VzKCkgYW5kIGJsdXIoKSBhcmUgYXN5bmNocm9ub3VzLCBleGNlcHQgd2hlbiB0aGV5IGFyZSBuby1vcC5cbi8vIFNvIGV4cGVjdCBmb2N1cyB0byBiZSBzeW5jaHJvbm91cyB3aGVuIHRoZSBlbGVtZW50IGlzIGFscmVhZHkgYWN0aXZlLFxuLy8gYW5kIGJsdXIgdG8gYmUgc3luY2hyb25vdXMgd2hlbiB0aGUgZWxlbWVudCBpcyBub3QgYWxyZWFkeSBhY3RpdmUuXG4vLyAoZm9jdXMgYW5kIGJsdXIgYXJlIGFsd2F5cyBzeW5jaHJvbm91cyBpbiBvdGhlciBzdXBwb3J0ZWQgYnJvd3NlcnMsXG4vLyB0aGlzIGp1c3QgZGVmaW5lcyB3aGVuIHdlIGNhbiBjb3VudCBvbiBpdCkuXG5mdW5jdGlvbiBleHBlY3RTeW5jKCBlbGVtLCB0eXBlICkge1xuXHRyZXR1cm4gKCBlbGVtID09PSBzYWZlQWN0aXZlRWxlbWVudCgpICkgPT09ICggdHlwZSA9PT0gXCJmb2N1c1wiICk7XG59XG5cbi8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5XG4vLyBBY2Nlc3NpbmcgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBjYW4gdGhyb3cgdW5leHBlY3RlZGx5XG4vLyBodHRwczovL2J1Z3MuanF1ZXJ5LmNvbS90aWNrZXQvMTMzOTNcbmZ1bmN0aW9uIHNhZmVBY3RpdmVFbGVtZW50KCkge1xuXHR0cnkge1xuXHRcdHJldHVybiBkb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuXHR9IGNhdGNoICggZXJyICkgeyB9XG59XG5cbmZ1bmN0aW9uIG9uKCBlbGVtLCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuLCBvbmUgKSB7XG5cdHZhciBvcmlnRm4sIHR5cGU7XG5cblx0Ly8gVHlwZXMgY2FuIGJlIGEgbWFwIG9mIHR5cGVzL2hhbmRsZXJzXG5cdGlmICggdHlwZW9mIHR5cGVzID09PSBcIm9iamVjdFwiICkge1xuXG5cdFx0Ly8gKCB0eXBlcy1PYmplY3QsIHNlbGVjdG9yLCBkYXRhIClcblx0XHRpZiAoIHR5cGVvZiBzZWxlY3RvciAhPT0gXCJzdHJpbmdcIiApIHtcblxuXHRcdFx0Ly8gKCB0eXBlcy1PYmplY3QsIGRhdGEgKVxuXHRcdFx0ZGF0YSA9IGRhdGEgfHwgc2VsZWN0b3I7XG5cdFx0XHRzZWxlY3RvciA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0Zm9yICggdHlwZSBpbiB0eXBlcyApIHtcblx0XHRcdG9uKCBlbGVtLCB0eXBlLCBzZWxlY3RvciwgZGF0YSwgdHlwZXNbIHR5cGUgXSwgb25lICk7XG5cdFx0fVxuXHRcdHJldHVybiBlbGVtO1xuXHR9XG5cblx0aWYgKCBkYXRhID09IG51bGwgJiYgZm4gPT0gbnVsbCApIHtcblxuXHRcdC8vICggdHlwZXMsIGZuIClcblx0XHRmbiA9IHNlbGVjdG9yO1xuXHRcdGRhdGEgPSBzZWxlY3RvciA9IHVuZGVmaW5lZDtcblx0fSBlbHNlIGlmICggZm4gPT0gbnVsbCApIHtcblx0XHRpZiAoIHR5cGVvZiBzZWxlY3RvciA9PT0gXCJzdHJpbmdcIiApIHtcblxuXHRcdFx0Ly8gKCB0eXBlcywgc2VsZWN0b3IsIGZuIClcblx0XHRcdGZuID0gZGF0YTtcblx0XHRcdGRhdGEgPSB1bmRlZmluZWQ7XG5cdFx0fSBlbHNlIHtcblxuXHRcdFx0Ly8gKCB0eXBlcywgZGF0YSwgZm4gKVxuXHRcdFx0Zm4gPSBkYXRhO1xuXHRcdFx0ZGF0YSA9IHNlbGVjdG9yO1xuXHRcdFx0c2VsZWN0b3IgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cdGlmICggZm4gPT09IGZhbHNlICkge1xuXHRcdGZuID0gcmV0dXJuRmFsc2U7XG5cdH0gZWxzZSBpZiAoICFmbiApIHtcblx0XHRyZXR1cm4gZWxlbTtcblx0fVxuXG5cdGlmICggb25lID09PSAxICkge1xuXHRcdG9yaWdGbiA9IGZuO1xuXHRcdGZuID0gZnVuY3Rpb24oIGV2ZW50ICkge1xuXG5cdFx0XHQvLyBDYW4gdXNlIGFuIGVtcHR5IHNldCwgc2luY2UgZXZlbnQgY29udGFpbnMgdGhlIGluZm9cblx0XHRcdGpRdWVyeSgpLm9mZiggZXZlbnQgKTtcblx0XHRcdHJldHVybiBvcmlnRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApO1xuXHRcdH07XG5cblx0XHQvLyBVc2Ugc2FtZSBndWlkIHNvIGNhbGxlciBjYW4gcmVtb3ZlIHVzaW5nIG9yaWdGblxuXHRcdGZuLmd1aWQgPSBvcmlnRm4uZ3VpZCB8fCAoIG9yaWdGbi5ndWlkID0galF1ZXJ5Lmd1aWQrKyApO1xuXHR9XG5cdHJldHVybiBlbGVtLmVhY2goIGZ1bmN0aW9uKCkge1xuXHRcdGpRdWVyeS5ldmVudC5hZGQoIHRoaXMsIHR5cGVzLCBmbiwgZGF0YSwgc2VsZWN0b3IgKTtcblx0fSApO1xufVxuXG4vKlxuICogSGVscGVyIGZ1bmN0aW9ucyBmb3IgbWFuYWdpbmcgZXZlbnRzIC0tIG5vdCBwYXJ0IG9mIHRoZSBwdWJsaWMgaW50ZXJmYWNlLlxuICogUHJvcHMgdG8gRGVhbiBFZHdhcmRzJyBhZGRFdmVudCBsaWJyYXJ5IGZvciBtYW55IG9mIHRoZSBpZGVhcy5cbiAqL1xualF1ZXJ5LmV2ZW50ID0ge1xuXG5cdGdsb2JhbDoge30sXG5cblx0YWRkOiBmdW5jdGlvbiggZWxlbSwgdHlwZXMsIGhhbmRsZXIsIGRhdGEsIHNlbGVjdG9yICkge1xuXG5cdFx0dmFyIGhhbmRsZU9iakluLCBldmVudEhhbmRsZSwgdG1wLFxuXHRcdFx0ZXZlbnRzLCB0LCBoYW5kbGVPYmosXG5cdFx0XHRzcGVjaWFsLCBoYW5kbGVycywgdHlwZSwgbmFtZXNwYWNlcywgb3JpZ1R5cGUsXG5cdFx0XHRlbGVtRGF0YSA9IGRhdGFQcml2LmdldCggZWxlbSApO1xuXG5cdFx0Ly8gT25seSBhdHRhY2ggZXZlbnRzIHRvIG9iamVjdHMgdGhhdCBhY2NlcHQgZGF0YVxuXHRcdGlmICggIWFjY2VwdERhdGEoIGVsZW0gKSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBDYWxsZXIgY2FuIHBhc3MgaW4gYW4gb2JqZWN0IG9mIGN1c3RvbSBkYXRhIGluIGxpZXUgb2YgdGhlIGhhbmRsZXJcblx0XHRpZiAoIGhhbmRsZXIuaGFuZGxlciApIHtcblx0XHRcdGhhbmRsZU9iakluID0gaGFuZGxlcjtcblx0XHRcdGhhbmRsZXIgPSBoYW5kbGVPYmpJbi5oYW5kbGVyO1xuXHRcdFx0c2VsZWN0b3IgPSBoYW5kbGVPYmpJbi5zZWxlY3Rvcjtcblx0XHR9XG5cblx0XHQvLyBFbnN1cmUgdGhhdCBpbnZhbGlkIHNlbGVjdG9ycyB0aHJvdyBleGNlcHRpb25zIGF0IGF0dGFjaCB0aW1lXG5cdFx0Ly8gRXZhbHVhdGUgYWdhaW5zdCBkb2N1bWVudEVsZW1lbnQgaW4gY2FzZSBlbGVtIGlzIGEgbm9uLWVsZW1lbnQgbm9kZSAoZS5nLiwgZG9jdW1lbnQpXG5cdFx0aWYgKCBzZWxlY3RvciApIHtcblx0XHRcdGpRdWVyeS5maW5kLm1hdGNoZXNTZWxlY3RvciggZG9jdW1lbnRFbGVtZW50LCBzZWxlY3RvciApO1xuXHRcdH1cblxuXHRcdC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBoYW5kbGVyIGhhcyBhIHVuaXF1ZSBJRCwgdXNlZCB0byBmaW5kL3JlbW92ZSBpdCBsYXRlclxuXHRcdGlmICggIWhhbmRsZXIuZ3VpZCApIHtcblx0XHRcdGhhbmRsZXIuZ3VpZCA9IGpRdWVyeS5ndWlkKys7XG5cdFx0fVxuXG5cdFx0Ly8gSW5pdCB0aGUgZWxlbWVudCdzIGV2ZW50IHN0cnVjdHVyZSBhbmQgbWFpbiBoYW5kbGVyLCBpZiB0aGlzIGlzIHRoZSBmaXJzdFxuXHRcdGlmICggISggZXZlbnRzID0gZWxlbURhdGEuZXZlbnRzICkgKSB7XG5cdFx0XHRldmVudHMgPSBlbGVtRGF0YS5ldmVudHMgPSBPYmplY3QuY3JlYXRlKCBudWxsICk7XG5cdFx0fVxuXHRcdGlmICggISggZXZlbnRIYW5kbGUgPSBlbGVtRGF0YS5oYW5kbGUgKSApIHtcblx0XHRcdGV2ZW50SGFuZGxlID0gZWxlbURhdGEuaGFuZGxlID0gZnVuY3Rpb24oIGUgKSB7XG5cblx0XHRcdFx0Ly8gRGlzY2FyZCB0aGUgc2Vjb25kIGV2ZW50IG9mIGEgalF1ZXJ5LmV2ZW50LnRyaWdnZXIoKSBhbmRcblx0XHRcdFx0Ly8gd2hlbiBhbiBldmVudCBpcyBjYWxsZWQgYWZ0ZXIgYSBwYWdlIGhhcyB1bmxvYWRlZFxuXHRcdFx0XHRyZXR1cm4gdHlwZW9mIGpRdWVyeSAhPT0gXCJ1bmRlZmluZWRcIiAmJiBqUXVlcnkuZXZlbnQudHJpZ2dlcmVkICE9PSBlLnR5cGUgP1xuXHRcdFx0XHRcdGpRdWVyeS5ldmVudC5kaXNwYXRjaC5hcHBseSggZWxlbSwgYXJndW1lbnRzICkgOiB1bmRlZmluZWQ7XG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdC8vIEhhbmRsZSBtdWx0aXBsZSBldmVudHMgc2VwYXJhdGVkIGJ5IGEgc3BhY2Vcblx0XHR0eXBlcyA9ICggdHlwZXMgfHwgXCJcIiApLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyBcIlwiIF07XG5cdFx0dCA9IHR5cGVzLmxlbmd0aDtcblx0XHR3aGlsZSAoIHQtLSApIHtcblx0XHRcdHRtcCA9IHJ0eXBlbmFtZXNwYWNlLmV4ZWMoIHR5cGVzWyB0IF0gKSB8fCBbXTtcblx0XHRcdHR5cGUgPSBvcmlnVHlwZSA9IHRtcFsgMSBdO1xuXHRcdFx0bmFtZXNwYWNlcyA9ICggdG1wWyAyIF0gfHwgXCJcIiApLnNwbGl0KCBcIi5cIiApLnNvcnQoKTtcblxuXHRcdFx0Ly8gVGhlcmUgKm11c3QqIGJlIGEgdHlwZSwgbm8gYXR0YWNoaW5nIG5hbWVzcGFjZS1vbmx5IGhhbmRsZXJzXG5cdFx0XHRpZiAoICF0eXBlICkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgZXZlbnQgY2hhbmdlcyBpdHMgdHlwZSwgdXNlIHRoZSBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzIGZvciB0aGUgY2hhbmdlZCB0eXBlXG5cdFx0XHRzcGVjaWFsID0galF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSB8fCB7fTtcblxuXHRcdFx0Ly8gSWYgc2VsZWN0b3IgZGVmaW5lZCwgZGV0ZXJtaW5lIHNwZWNpYWwgZXZlbnQgYXBpIHR5cGUsIG90aGVyd2lzZSBnaXZlbiB0eXBlXG5cdFx0XHR0eXBlID0gKCBzZWxlY3RvciA/IHNwZWNpYWwuZGVsZWdhdGVUeXBlIDogc3BlY2lhbC5iaW5kVHlwZSApIHx8IHR5cGU7XG5cblx0XHRcdC8vIFVwZGF0ZSBzcGVjaWFsIGJhc2VkIG9uIG5ld2x5IHJlc2V0IHR5cGVcblx0XHRcdHNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbFsgdHlwZSBdIHx8IHt9O1xuXG5cdFx0XHQvLyBoYW5kbGVPYmogaXMgcGFzc2VkIHRvIGFsbCBldmVudCBoYW5kbGVyc1xuXHRcdFx0aGFuZGxlT2JqID0galF1ZXJ5LmV4dGVuZCgge1xuXHRcdFx0XHR0eXBlOiB0eXBlLFxuXHRcdFx0XHRvcmlnVHlwZTogb3JpZ1R5cGUsXG5cdFx0XHRcdGRhdGE6IGRhdGEsXG5cdFx0XHRcdGhhbmRsZXI6IGhhbmRsZXIsXG5cdFx0XHRcdGd1aWQ6IGhhbmRsZXIuZ3VpZCxcblx0XHRcdFx0c2VsZWN0b3I6IHNlbGVjdG9yLFxuXHRcdFx0XHRuZWVkc0NvbnRleHQ6IHNlbGVjdG9yICYmIGpRdWVyeS5leHByLm1hdGNoLm5lZWRzQ29udGV4dC50ZXN0KCBzZWxlY3RvciApLFxuXHRcdFx0XHRuYW1lc3BhY2U6IG5hbWVzcGFjZXMuam9pbiggXCIuXCIgKVxuXHRcdFx0fSwgaGFuZGxlT2JqSW4gKTtcblxuXHRcdFx0Ly8gSW5pdCB0aGUgZXZlbnQgaGFuZGxlciBxdWV1ZSBpZiB3ZSdyZSB0aGUgZmlyc3Rcblx0XHRcdGlmICggISggaGFuZGxlcnMgPSBldmVudHNbIHR5cGUgXSApICkge1xuXHRcdFx0XHRoYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdID0gW107XG5cdFx0XHRcdGhhbmRsZXJzLmRlbGVnYXRlQ291bnQgPSAwO1xuXG5cdFx0XHRcdC8vIE9ubHkgdXNlIGFkZEV2ZW50TGlzdGVuZXIgaWYgdGhlIHNwZWNpYWwgZXZlbnRzIGhhbmRsZXIgcmV0dXJucyBmYWxzZVxuXHRcdFx0XHRpZiAoICFzcGVjaWFsLnNldHVwIHx8XG5cdFx0XHRcdFx0c3BlY2lhbC5zZXR1cC5jYWxsKCBlbGVtLCBkYXRhLCBuYW1lc3BhY2VzLCBldmVudEhhbmRsZSApID09PSBmYWxzZSApIHtcblxuXHRcdFx0XHRcdGlmICggZWxlbS5hZGRFdmVudExpc3RlbmVyICkge1xuXHRcdFx0XHRcdFx0ZWxlbS5hZGRFdmVudExpc3RlbmVyKCB0eXBlLCBldmVudEhhbmRsZSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIHNwZWNpYWwuYWRkICkge1xuXHRcdFx0XHRzcGVjaWFsLmFkZC5jYWxsKCBlbGVtLCBoYW5kbGVPYmogKTtcblxuXHRcdFx0XHRpZiAoICFoYW5kbGVPYmouaGFuZGxlci5ndWlkICkge1xuXHRcdFx0XHRcdGhhbmRsZU9iai5oYW5kbGVyLmd1aWQgPSBoYW5kbGVyLmd1aWQ7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gQWRkIHRvIHRoZSBlbGVtZW50J3MgaGFuZGxlciBsaXN0LCBkZWxlZ2F0ZXMgaW4gZnJvbnRcblx0XHRcdGlmICggc2VsZWN0b3IgKSB7XG5cdFx0XHRcdGhhbmRsZXJzLnNwbGljZSggaGFuZGxlcnMuZGVsZWdhdGVDb3VudCsrLCAwLCBoYW5kbGVPYmogKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGhhbmRsZXJzLnB1c2goIGhhbmRsZU9iaiApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBLZWVwIHRyYWNrIG9mIHdoaWNoIGV2ZW50cyBoYXZlIGV2ZXIgYmVlbiB1c2VkLCBmb3IgZXZlbnQgb3B0aW1pemF0aW9uXG5cdFx0XHRqUXVlcnkuZXZlbnQuZ2xvYmFsWyB0eXBlIF0gPSB0cnVlO1xuXHRcdH1cblxuXHR9LFxuXG5cdC8vIERldGFjaCBhbiBldmVudCBvciBzZXQgb2YgZXZlbnRzIGZyb20gYW4gZWxlbWVudFxuXHRyZW1vdmU6IGZ1bmN0aW9uKCBlbGVtLCB0eXBlcywgaGFuZGxlciwgc2VsZWN0b3IsIG1hcHBlZFR5cGVzICkge1xuXG5cdFx0dmFyIGosIG9yaWdDb3VudCwgdG1wLFxuXHRcdFx0ZXZlbnRzLCB0LCBoYW5kbGVPYmosXG5cdFx0XHRzcGVjaWFsLCBoYW5kbGVycywgdHlwZSwgbmFtZXNwYWNlcywgb3JpZ1R5cGUsXG5cdFx0XHRlbGVtRGF0YSA9IGRhdGFQcml2Lmhhc0RhdGEoIGVsZW0gKSAmJiBkYXRhUHJpdi5nZXQoIGVsZW0gKTtcblxuXHRcdGlmICggIWVsZW1EYXRhIHx8ICEoIGV2ZW50cyA9IGVsZW1EYXRhLmV2ZW50cyApICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIE9uY2UgZm9yIGVhY2ggdHlwZS5uYW1lc3BhY2UgaW4gdHlwZXM7IHR5cGUgbWF5IGJlIG9taXR0ZWRcblx0XHR0eXBlcyA9ICggdHlwZXMgfHwgXCJcIiApLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgWyBcIlwiIF07XG5cdFx0dCA9IHR5cGVzLmxlbmd0aDtcblx0XHR3aGlsZSAoIHQtLSApIHtcblx0XHRcdHRtcCA9IHJ0eXBlbmFtZXNwYWNlLmV4ZWMoIHR5cGVzWyB0IF0gKSB8fCBbXTtcblx0XHRcdHR5cGUgPSBvcmlnVHlwZSA9IHRtcFsgMSBdO1xuXHRcdFx0bmFtZXNwYWNlcyA9ICggdG1wWyAyIF0gfHwgXCJcIiApLnNwbGl0KCBcIi5cIiApLnNvcnQoKTtcblxuXHRcdFx0Ly8gVW5iaW5kIGFsbCBldmVudHMgKG9uIHRoaXMgbmFtZXNwYWNlLCBpZiBwcm92aWRlZCkgZm9yIHRoZSBlbGVtZW50XG5cdFx0XHRpZiAoICF0eXBlICkge1xuXHRcdFx0XHRmb3IgKCB0eXBlIGluIGV2ZW50cyApIHtcblx0XHRcdFx0XHRqUXVlcnkuZXZlbnQucmVtb3ZlKCBlbGVtLCB0eXBlICsgdHlwZXNbIHQgXSwgaGFuZGxlciwgc2VsZWN0b3IsIHRydWUgKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0c3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge307XG5cdFx0XHR0eXBlID0gKCBzZWxlY3RvciA/IHNwZWNpYWwuZGVsZWdhdGVUeXBlIDogc3BlY2lhbC5iaW5kVHlwZSApIHx8IHR5cGU7XG5cdFx0XHRoYW5kbGVycyA9IGV2ZW50c1sgdHlwZSBdIHx8IFtdO1xuXHRcdFx0dG1wID0gdG1wWyAyIF0gJiZcblx0XHRcdFx0bmV3IFJlZ0V4cCggXCIoXnxcXFxcLilcIiArIG5hbWVzcGFjZXMuam9pbiggXCJcXFxcLig/Oi4qXFxcXC58KVwiICkgKyBcIihcXFxcLnwkKVwiICk7XG5cblx0XHRcdC8vIFJlbW92ZSBtYXRjaGluZyBldmVudHNcblx0XHRcdG9yaWdDb3VudCA9IGogPSBoYW5kbGVycy5sZW5ndGg7XG5cdFx0XHR3aGlsZSAoIGotLSApIHtcblx0XHRcdFx0aGFuZGxlT2JqID0gaGFuZGxlcnNbIGogXTtcblxuXHRcdFx0XHRpZiAoICggbWFwcGVkVHlwZXMgfHwgb3JpZ1R5cGUgPT09IGhhbmRsZU9iai5vcmlnVHlwZSApICYmXG5cdFx0XHRcdFx0KCAhaGFuZGxlciB8fCBoYW5kbGVyLmd1aWQgPT09IGhhbmRsZU9iai5ndWlkICkgJiZcblx0XHRcdFx0XHQoICF0bXAgfHwgdG1wLnRlc3QoIGhhbmRsZU9iai5uYW1lc3BhY2UgKSApICYmXG5cdFx0XHRcdFx0KCAhc2VsZWN0b3IgfHwgc2VsZWN0b3IgPT09IGhhbmRsZU9iai5zZWxlY3RvciB8fFxuXHRcdFx0XHRcdFx0c2VsZWN0b3IgPT09IFwiKipcIiAmJiBoYW5kbGVPYmouc2VsZWN0b3IgKSApIHtcblx0XHRcdFx0XHRoYW5kbGVycy5zcGxpY2UoIGosIDEgKTtcblxuXHRcdFx0XHRcdGlmICggaGFuZGxlT2JqLnNlbGVjdG9yICkge1xuXHRcdFx0XHRcdFx0aGFuZGxlcnMuZGVsZWdhdGVDb3VudC0tO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoIHNwZWNpYWwucmVtb3ZlICkge1xuXHRcdFx0XHRcdFx0c3BlY2lhbC5yZW1vdmUuY2FsbCggZWxlbSwgaGFuZGxlT2JqICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIFJlbW92ZSBnZW5lcmljIGV2ZW50IGhhbmRsZXIgaWYgd2UgcmVtb3ZlZCBzb21ldGhpbmcgYW5kIG5vIG1vcmUgaGFuZGxlcnMgZXhpc3Rcblx0XHRcdC8vIChhdm9pZHMgcG90ZW50aWFsIGZvciBlbmRsZXNzIHJlY3Vyc2lvbiBkdXJpbmcgcmVtb3ZhbCBvZiBzcGVjaWFsIGV2ZW50IGhhbmRsZXJzKVxuXHRcdFx0aWYgKCBvcmlnQ291bnQgJiYgIWhhbmRsZXJzLmxlbmd0aCApIHtcblx0XHRcdFx0aWYgKCAhc3BlY2lhbC50ZWFyZG93biB8fFxuXHRcdFx0XHRcdHNwZWNpYWwudGVhcmRvd24uY2FsbCggZWxlbSwgbmFtZXNwYWNlcywgZWxlbURhdGEuaGFuZGxlICkgPT09IGZhbHNlICkge1xuXG5cdFx0XHRcdFx0alF1ZXJ5LnJlbW92ZUV2ZW50KCBlbGVtLCB0eXBlLCBlbGVtRGF0YS5oYW5kbGUgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGRlbGV0ZSBldmVudHNbIHR5cGUgXTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBSZW1vdmUgZGF0YSBhbmQgdGhlIGV4cGFuZG8gaWYgaXQncyBubyBsb25nZXIgdXNlZFxuXHRcdGlmICggalF1ZXJ5LmlzRW1wdHlPYmplY3QoIGV2ZW50cyApICkge1xuXHRcdFx0ZGF0YVByaXYucmVtb3ZlKCBlbGVtLCBcImhhbmRsZSBldmVudHNcIiApO1xuXHRcdH1cblx0fSxcblxuXHRkaXNwYXRjaDogZnVuY3Rpb24oIG5hdGl2ZUV2ZW50ICkge1xuXG5cdFx0dmFyIGksIGosIHJldCwgbWF0Y2hlZCwgaGFuZGxlT2JqLCBoYW5kbGVyUXVldWUsXG5cdFx0XHRhcmdzID0gbmV3IEFycmF5KCBhcmd1bWVudHMubGVuZ3RoICksXG5cblx0XHRcdC8vIE1ha2UgYSB3cml0YWJsZSBqUXVlcnkuRXZlbnQgZnJvbSB0aGUgbmF0aXZlIGV2ZW50IG9iamVjdFxuXHRcdFx0ZXZlbnQgPSBqUXVlcnkuZXZlbnQuZml4KCBuYXRpdmVFdmVudCApLFxuXG5cdFx0XHRoYW5kbGVycyA9IChcblx0XHRcdFx0XHRkYXRhUHJpdi5nZXQoIHRoaXMsIFwiZXZlbnRzXCIgKSB8fCBPYmplY3QuY3JlYXRlKCBudWxsIClcblx0XHRcdFx0KVsgZXZlbnQudHlwZSBdIHx8IFtdLFxuXHRcdFx0c3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyBldmVudC50eXBlIF0gfHwge307XG5cblx0XHQvLyBVc2UgdGhlIGZpeC1lZCBqUXVlcnkuRXZlbnQgcmF0aGVyIHRoYW4gdGhlIChyZWFkLW9ubHkpIG5hdGl2ZSBldmVudFxuXHRcdGFyZ3NbIDAgXSA9IGV2ZW50O1xuXG5cdFx0Zm9yICggaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKysgKSB7XG5cdFx0XHRhcmdzWyBpIF0gPSBhcmd1bWVudHNbIGkgXTtcblx0XHR9XG5cblx0XHRldmVudC5kZWxlZ2F0ZVRhcmdldCA9IHRoaXM7XG5cblx0XHQvLyBDYWxsIHRoZSBwcmVEaXNwYXRjaCBob29rIGZvciB0aGUgbWFwcGVkIHR5cGUsIGFuZCBsZXQgaXQgYmFpbCBpZiBkZXNpcmVkXG5cdFx0aWYgKCBzcGVjaWFsLnByZURpc3BhdGNoICYmIHNwZWNpYWwucHJlRGlzcGF0Y2guY2FsbCggdGhpcywgZXZlbnQgKSA9PT0gZmFsc2UgKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gRGV0ZXJtaW5lIGhhbmRsZXJzXG5cdFx0aGFuZGxlclF1ZXVlID0galF1ZXJ5LmV2ZW50LmhhbmRsZXJzLmNhbGwoIHRoaXMsIGV2ZW50LCBoYW5kbGVycyApO1xuXG5cdFx0Ly8gUnVuIGRlbGVnYXRlcyBmaXJzdDsgdGhleSBtYXkgd2FudCB0byBzdG9wIHByb3BhZ2F0aW9uIGJlbmVhdGggdXNcblx0XHRpID0gMDtcblx0XHR3aGlsZSAoICggbWF0Y2hlZCA9IGhhbmRsZXJRdWV1ZVsgaSsrIF0gKSAmJiAhZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHtcblx0XHRcdGV2ZW50LmN1cnJlbnRUYXJnZXQgPSBtYXRjaGVkLmVsZW07XG5cblx0XHRcdGogPSAwO1xuXHRcdFx0d2hpbGUgKCAoIGhhbmRsZU9iaiA9IG1hdGNoZWQuaGFuZGxlcnNbIGorKyBdICkgJiZcblx0XHRcdFx0IWV2ZW50LmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkKCkgKSB7XG5cblx0XHRcdFx0Ly8gSWYgdGhlIGV2ZW50IGlzIG5hbWVzcGFjZWQsIHRoZW4gZWFjaCBoYW5kbGVyIGlzIG9ubHkgaW52b2tlZCBpZiBpdCBpc1xuXHRcdFx0XHQvLyBzcGVjaWFsbHkgdW5pdmVyc2FsIG9yIGl0cyBuYW1lc3BhY2VzIGFyZSBhIHN1cGVyc2V0IG9mIHRoZSBldmVudCdzLlxuXHRcdFx0XHRpZiAoICFldmVudC5ybmFtZXNwYWNlIHx8IGhhbmRsZU9iai5uYW1lc3BhY2UgPT09IGZhbHNlIHx8XG5cdFx0XHRcdFx0ZXZlbnQucm5hbWVzcGFjZS50ZXN0KCBoYW5kbGVPYmoubmFtZXNwYWNlICkgKSB7XG5cblx0XHRcdFx0XHRldmVudC5oYW5kbGVPYmogPSBoYW5kbGVPYmo7XG5cdFx0XHRcdFx0ZXZlbnQuZGF0YSA9IGhhbmRsZU9iai5kYXRhO1xuXG5cdFx0XHRcdFx0cmV0ID0gKCAoIGpRdWVyeS5ldmVudC5zcGVjaWFsWyBoYW5kbGVPYmoub3JpZ1R5cGUgXSB8fCB7fSApLmhhbmRsZSB8fFxuXHRcdFx0XHRcdFx0aGFuZGxlT2JqLmhhbmRsZXIgKS5hcHBseSggbWF0Y2hlZC5lbGVtLCBhcmdzICk7XG5cblx0XHRcdFx0XHRpZiAoIHJldCAhPT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRcdFx0aWYgKCAoIGV2ZW50LnJlc3VsdCA9IHJldCApID09PSBmYWxzZSApIHtcblx0XHRcdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0XHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQ2FsbCB0aGUgcG9zdERpc3BhdGNoIGhvb2sgZm9yIHRoZSBtYXBwZWQgdHlwZVxuXHRcdGlmICggc3BlY2lhbC5wb3N0RGlzcGF0Y2ggKSB7XG5cdFx0XHRzcGVjaWFsLnBvc3REaXNwYXRjaC5jYWxsKCB0aGlzLCBldmVudCApO1xuXHRcdH1cblxuXHRcdHJldHVybiBldmVudC5yZXN1bHQ7XG5cdH0sXG5cblx0aGFuZGxlcnM6IGZ1bmN0aW9uKCBldmVudCwgaGFuZGxlcnMgKSB7XG5cdFx0dmFyIGksIGhhbmRsZU9iaiwgc2VsLCBtYXRjaGVkSGFuZGxlcnMsIG1hdGNoZWRTZWxlY3RvcnMsXG5cdFx0XHRoYW5kbGVyUXVldWUgPSBbXSxcblx0XHRcdGRlbGVnYXRlQ291bnQgPSBoYW5kbGVycy5kZWxlZ2F0ZUNvdW50LFxuXHRcdFx0Y3VyID0gZXZlbnQudGFyZ2V0O1xuXG5cdFx0Ly8gRmluZCBkZWxlZ2F0ZSBoYW5kbGVyc1xuXHRcdGlmICggZGVsZWdhdGVDb3VudCAmJlxuXG5cdFx0XHQvLyBTdXBwb3J0OiBJRSA8PTlcblx0XHRcdC8vIEJsYWNrLWhvbGUgU1ZHIDx1c2U+IGluc3RhbmNlIHRyZWVzICh0cmFjLTEzMTgwKVxuXHRcdFx0Y3VyLm5vZGVUeXBlICYmXG5cblx0XHRcdC8vIFN1cHBvcnQ6IEZpcmVmb3ggPD00MlxuXHRcdFx0Ly8gU3VwcHJlc3Mgc3BlYy12aW9sYXRpbmcgY2xpY2tzIGluZGljYXRpbmcgYSBub24tcHJpbWFyeSBwb2ludGVyIGJ1dHRvbiAodHJhYy0zODYxKVxuXHRcdFx0Ly8gaHR0cHM6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnQtdHlwZS1jbGlja1xuXHRcdFx0Ly8gU3VwcG9ydDogSUUgMTEgb25seVxuXHRcdFx0Ly8gLi4uYnV0IG5vdCBhcnJvdyBrZXkgXCJjbGlja3NcIiBvZiByYWRpbyBpbnB1dHMsIHdoaWNoIGNhbiBoYXZlIGBidXR0b25gIC0xIChnaC0yMzQzKVxuXHRcdFx0ISggZXZlbnQudHlwZSA9PT0gXCJjbGlja1wiICYmIGV2ZW50LmJ1dHRvbiA+PSAxICkgKSB7XG5cblx0XHRcdGZvciAoIDsgY3VyICE9PSB0aGlzOyBjdXIgPSBjdXIucGFyZW50Tm9kZSB8fCB0aGlzICkge1xuXG5cdFx0XHRcdC8vIERvbid0IGNoZWNrIG5vbi1lbGVtZW50cyAoIzEzMjA4KVxuXHRcdFx0XHQvLyBEb24ndCBwcm9jZXNzIGNsaWNrcyBvbiBkaXNhYmxlZCBlbGVtZW50cyAoIzY5MTEsICM4MTY1LCAjMTEzODIsICMxMTc2NClcblx0XHRcdFx0aWYgKCBjdXIubm9kZVR5cGUgPT09IDEgJiYgISggZXZlbnQudHlwZSA9PT0gXCJjbGlja1wiICYmIGN1ci5kaXNhYmxlZCA9PT0gdHJ1ZSApICkge1xuXHRcdFx0XHRcdG1hdGNoZWRIYW5kbGVycyA9IFtdO1xuXHRcdFx0XHRcdG1hdGNoZWRTZWxlY3RvcnMgPSB7fTtcblx0XHRcdFx0XHRmb3IgKCBpID0gMDsgaSA8IGRlbGVnYXRlQ291bnQ7IGkrKyApIHtcblx0XHRcdFx0XHRcdGhhbmRsZU9iaiA9IGhhbmRsZXJzWyBpIF07XG5cblx0XHRcdFx0XHRcdC8vIERvbid0IGNvbmZsaWN0IHdpdGggT2JqZWN0LnByb3RvdHlwZSBwcm9wZXJ0aWVzICgjMTMyMDMpXG5cdFx0XHRcdFx0XHRzZWwgPSBoYW5kbGVPYmouc2VsZWN0b3IgKyBcIiBcIjtcblxuXHRcdFx0XHRcdFx0aWYgKCBtYXRjaGVkU2VsZWN0b3JzWyBzZWwgXSA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRcdFx0XHRtYXRjaGVkU2VsZWN0b3JzWyBzZWwgXSA9IGhhbmRsZU9iai5uZWVkc0NvbnRleHQgP1xuXHRcdFx0XHRcdFx0XHRcdGpRdWVyeSggc2VsLCB0aGlzICkuaW5kZXgoIGN1ciApID4gLTEgOlxuXHRcdFx0XHRcdFx0XHRcdGpRdWVyeS5maW5kKCBzZWwsIHRoaXMsIG51bGwsIFsgY3VyIF0gKS5sZW5ndGg7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZiAoIG1hdGNoZWRTZWxlY3RvcnNbIHNlbCBdICkge1xuXHRcdFx0XHRcdFx0XHRtYXRjaGVkSGFuZGxlcnMucHVzaCggaGFuZGxlT2JqICk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmICggbWF0Y2hlZEhhbmRsZXJzLmxlbmd0aCApIHtcblx0XHRcdFx0XHRcdGhhbmRsZXJRdWV1ZS5wdXNoKCB7IGVsZW06IGN1ciwgaGFuZGxlcnM6IG1hdGNoZWRIYW5kbGVycyB9ICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQWRkIHRoZSByZW1haW5pbmcgKGRpcmVjdGx5LWJvdW5kKSBoYW5kbGVyc1xuXHRcdGN1ciA9IHRoaXM7XG5cdFx0aWYgKCBkZWxlZ2F0ZUNvdW50IDwgaGFuZGxlcnMubGVuZ3RoICkge1xuXHRcdFx0aGFuZGxlclF1ZXVlLnB1c2goIHsgZWxlbTogY3VyLCBoYW5kbGVyczogaGFuZGxlcnMuc2xpY2UoIGRlbGVnYXRlQ291bnQgKSB9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGhhbmRsZXJRdWV1ZTtcblx0fSxcblxuXHRhZGRQcm9wOiBmdW5jdGlvbiggbmFtZSwgaG9vayApIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoIGpRdWVyeS5FdmVudC5wcm90b3R5cGUsIG5hbWUsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRjb25maWd1cmFibGU6IHRydWUsXG5cblx0XHRcdGdldDogaXNGdW5jdGlvbiggaG9vayApID9cblx0XHRcdFx0ZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0aWYgKCB0aGlzLm9yaWdpbmFsRXZlbnQgKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBob29rKCB0aGlzLm9yaWdpbmFsRXZlbnQgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gOlxuXHRcdFx0XHRmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRpZiAoIHRoaXMub3JpZ2luYWxFdmVudCApIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMub3JpZ2luYWxFdmVudFsgbmFtZSBdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblxuXHRcdFx0c2V0OiBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSggdGhpcywgbmFtZSwge1xuXHRcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHdyaXRhYmxlOiB0cnVlLFxuXHRcdFx0XHRcdHZhbHVlOiB2YWx1ZVxuXHRcdFx0XHR9ICk7XG5cdFx0XHR9XG5cdFx0fSApO1xuXHR9LFxuXG5cdGZpeDogZnVuY3Rpb24oIG9yaWdpbmFsRXZlbnQgKSB7XG5cdFx0cmV0dXJuIG9yaWdpbmFsRXZlbnRbIGpRdWVyeS5leHBhbmRvIF0gP1xuXHRcdFx0b3JpZ2luYWxFdmVudCA6XG5cdFx0XHRuZXcgalF1ZXJ5LkV2ZW50KCBvcmlnaW5hbEV2ZW50ICk7XG5cdH0sXG5cblx0c3BlY2lhbDoge1xuXHRcdGxvYWQ6IHtcblxuXHRcdFx0Ly8gUHJldmVudCB0cmlnZ2VyZWQgaW1hZ2UubG9hZCBldmVudHMgZnJvbSBidWJibGluZyB0byB3aW5kb3cubG9hZFxuXHRcdFx0bm9CdWJibGU6IHRydWVcblx0XHR9LFxuXHRcdGNsaWNrOiB7XG5cblx0XHRcdC8vIFV0aWxpemUgbmF0aXZlIGV2ZW50IHRvIGVuc3VyZSBjb3JyZWN0IHN0YXRlIGZvciBjaGVja2FibGUgaW5wdXRzXG5cdFx0XHRzZXR1cDogZnVuY3Rpb24oIGRhdGEgKSB7XG5cblx0XHRcdFx0Ly8gRm9yIG11dHVhbCBjb21wcmVzc2liaWxpdHkgd2l0aCBfZGVmYXVsdCwgcmVwbGFjZSBgdGhpc2AgYWNjZXNzIHdpdGggYSBsb2NhbCB2YXIuXG5cdFx0XHRcdC8vIGB8fCBkYXRhYCBpcyBkZWFkIGNvZGUgbWVhbnQgb25seSB0byBwcmVzZXJ2ZSB0aGUgdmFyaWFibGUgdGhyb3VnaCBtaW5pZmljYXRpb24uXG5cdFx0XHRcdHZhciBlbCA9IHRoaXMgfHwgZGF0YTtcblxuXHRcdFx0XHQvLyBDbGFpbSB0aGUgZmlyc3QgaGFuZGxlclxuXHRcdFx0XHRpZiAoIHJjaGVja2FibGVUeXBlLnRlc3QoIGVsLnR5cGUgKSAmJlxuXHRcdFx0XHRcdGVsLmNsaWNrICYmIG5vZGVOYW1lKCBlbCwgXCJpbnB1dFwiICkgKSB7XG5cblx0XHRcdFx0XHQvLyBkYXRhUHJpdi5zZXQoIGVsLCBcImNsaWNrXCIsIC4uLiApXG5cdFx0XHRcdFx0bGV2ZXJhZ2VOYXRpdmUoIGVsLCBcImNsaWNrXCIsIHJldHVyblRydWUgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFJldHVybiBmYWxzZSB0byBhbGxvdyBub3JtYWwgcHJvY2Vzc2luZyBpbiB0aGUgY2FsbGVyXG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0sXG5cdFx0XHR0cmlnZ2VyOiBmdW5jdGlvbiggZGF0YSApIHtcblxuXHRcdFx0XHQvLyBGb3IgbXV0dWFsIGNvbXByZXNzaWJpbGl0eSB3aXRoIF9kZWZhdWx0LCByZXBsYWNlIGB0aGlzYCBhY2Nlc3Mgd2l0aCBhIGxvY2FsIHZhci5cblx0XHRcdFx0Ly8gYHx8IGRhdGFgIGlzIGRlYWQgY29kZSBtZWFudCBvbmx5IHRvIHByZXNlcnZlIHRoZSB2YXJpYWJsZSB0aHJvdWdoIG1pbmlmaWNhdGlvbi5cblx0XHRcdFx0dmFyIGVsID0gdGhpcyB8fCBkYXRhO1xuXG5cdFx0XHRcdC8vIEZvcmNlIHNldHVwIGJlZm9yZSB0cmlnZ2VyaW5nIGEgY2xpY2tcblx0XHRcdFx0aWYgKCByY2hlY2thYmxlVHlwZS50ZXN0KCBlbC50eXBlICkgJiZcblx0XHRcdFx0XHRlbC5jbGljayAmJiBub2RlTmFtZSggZWwsIFwiaW5wdXRcIiApICkge1xuXG5cdFx0XHRcdFx0bGV2ZXJhZ2VOYXRpdmUoIGVsLCBcImNsaWNrXCIgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFJldHVybiBub24tZmFsc2UgdG8gYWxsb3cgbm9ybWFsIGV2ZW50LXBhdGggcHJvcGFnYXRpb25cblx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9LFxuXG5cdFx0XHQvLyBGb3IgY3Jvc3MtYnJvd3NlciBjb25zaXN0ZW5jeSwgc3VwcHJlc3MgbmF0aXZlIC5jbGljaygpIG9uIGxpbmtzXG5cdFx0XHQvLyBBbHNvIHByZXZlbnQgaXQgaWYgd2UncmUgY3VycmVudGx5IGluc2lkZSBhIGxldmVyYWdlZCBuYXRpdmUtZXZlbnQgc3RhY2tcblx0XHRcdF9kZWZhdWx0OiBmdW5jdGlvbiggZXZlbnQgKSB7XG5cdFx0XHRcdHZhciB0YXJnZXQgPSBldmVudC50YXJnZXQ7XG5cdFx0XHRcdHJldHVybiByY2hlY2thYmxlVHlwZS50ZXN0KCB0YXJnZXQudHlwZSApICYmXG5cdFx0XHRcdFx0dGFyZ2V0LmNsaWNrICYmIG5vZGVOYW1lKCB0YXJnZXQsIFwiaW5wdXRcIiApICYmXG5cdFx0XHRcdFx0ZGF0YVByaXYuZ2V0KCB0YXJnZXQsIFwiY2xpY2tcIiApIHx8XG5cdFx0XHRcdFx0bm9kZU5hbWUoIHRhcmdldCwgXCJhXCIgKTtcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0YmVmb3JldW5sb2FkOiB7XG5cdFx0XHRwb3N0RGlzcGF0Y2g6IGZ1bmN0aW9uKCBldmVudCApIHtcblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBGaXJlZm94IDIwK1xuXHRcdFx0XHQvLyBGaXJlZm94IGRvZXNuJ3QgYWxlcnQgaWYgdGhlIHJldHVyblZhbHVlIGZpZWxkIGlzIG5vdCBzZXQuXG5cdFx0XHRcdGlmICggZXZlbnQucmVzdWx0ICE9PSB1bmRlZmluZWQgJiYgZXZlbnQub3JpZ2luYWxFdmVudCApIHtcblx0XHRcdFx0XHRldmVudC5vcmlnaW5hbEV2ZW50LnJldHVyblZhbHVlID0gZXZlbnQucmVzdWx0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59O1xuXG4vLyBFbnN1cmUgdGhlIHByZXNlbmNlIG9mIGFuIGV2ZW50IGxpc3RlbmVyIHRoYXQgaGFuZGxlcyBtYW51YWxseS10cmlnZ2VyZWRcbi8vIHN5bnRoZXRpYyBldmVudHMgYnkgaW50ZXJydXB0aW5nIHByb2dyZXNzIHVudGlsIHJlaW52b2tlZCBpbiByZXNwb25zZSB0b1xuLy8gKm5hdGl2ZSogZXZlbnRzIHRoYXQgaXQgZmlyZXMgZGlyZWN0bHksIGVuc3VyaW5nIHRoYXQgc3RhdGUgY2hhbmdlcyBoYXZlXG4vLyBhbHJlYWR5IG9jY3VycmVkIGJlZm9yZSBvdGhlciBsaXN0ZW5lcnMgYXJlIGludm9rZWQuXG5mdW5jdGlvbiBsZXZlcmFnZU5hdGl2ZSggZWwsIHR5cGUsIGV4cGVjdFN5bmMgKSB7XG5cblx0Ly8gTWlzc2luZyBleHBlY3RTeW5jIGluZGljYXRlcyBhIHRyaWdnZXIgY2FsbCwgd2hpY2ggbXVzdCBmb3JjZSBzZXR1cCB0aHJvdWdoIGpRdWVyeS5ldmVudC5hZGRcblx0aWYgKCAhZXhwZWN0U3luYyApIHtcblx0XHRpZiAoIGRhdGFQcml2LmdldCggZWwsIHR5cGUgKSA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0alF1ZXJ5LmV2ZW50LmFkZCggZWwsIHR5cGUsIHJldHVyblRydWUgKTtcblx0XHR9XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0Ly8gUmVnaXN0ZXIgdGhlIGNvbnRyb2xsZXIgYXMgYSBzcGVjaWFsIHVuaXZlcnNhbCBoYW5kbGVyIGZvciBhbGwgZXZlbnQgbmFtZXNwYWNlc1xuXHRkYXRhUHJpdi5zZXQoIGVsLCB0eXBlLCBmYWxzZSApO1xuXHRqUXVlcnkuZXZlbnQuYWRkKCBlbCwgdHlwZSwge1xuXHRcdG5hbWVzcGFjZTogZmFsc2UsXG5cdFx0aGFuZGxlcjogZnVuY3Rpb24oIGV2ZW50ICkge1xuXHRcdFx0dmFyIG5vdEFzeW5jLCByZXN1bHQsXG5cdFx0XHRcdHNhdmVkID0gZGF0YVByaXYuZ2V0KCB0aGlzLCB0eXBlICk7XG5cblx0XHRcdGlmICggKCBldmVudC5pc1RyaWdnZXIgJiAxICkgJiYgdGhpc1sgdHlwZSBdICkge1xuXG5cdFx0XHRcdC8vIEludGVycnVwdCBwcm9jZXNzaW5nIG9mIHRoZSBvdXRlciBzeW50aGV0aWMgLnRyaWdnZXIoKWVkIGV2ZW50XG5cdFx0XHRcdC8vIFNhdmVkIGRhdGEgc2hvdWxkIGJlIGZhbHNlIGluIHN1Y2ggY2FzZXMsIGJ1dCBtaWdodCBiZSBhIGxlZnRvdmVyIGNhcHR1cmUgb2JqZWN0XG5cdFx0XHRcdC8vIGZyb20gYW4gYXN5bmMgbmF0aXZlIGhhbmRsZXIgKGdoLTQzNTApXG5cdFx0XHRcdGlmICggIXNhdmVkLmxlbmd0aCApIHtcblxuXHRcdFx0XHRcdC8vIFN0b3JlIGFyZ3VtZW50cyBmb3IgdXNlIHdoZW4gaGFuZGxpbmcgdGhlIGlubmVyIG5hdGl2ZSBldmVudFxuXHRcdFx0XHRcdC8vIFRoZXJlIHdpbGwgYWx3YXlzIGJlIGF0IGxlYXN0IG9uZSBhcmd1bWVudCAoYW4gZXZlbnQgb2JqZWN0KSwgc28gdGhpcyBhcnJheVxuXHRcdFx0XHRcdC8vIHdpbGwgbm90IGJlIGNvbmZ1c2VkIHdpdGggYSBsZWZ0b3ZlciBjYXB0dXJlIG9iamVjdC5cblx0XHRcdFx0XHRzYXZlZCA9IHNsaWNlLmNhbGwoIGFyZ3VtZW50cyApO1xuXHRcdFx0XHRcdGRhdGFQcml2LnNldCggdGhpcywgdHlwZSwgc2F2ZWQgKTtcblxuXHRcdFx0XHRcdC8vIFRyaWdnZXIgdGhlIG5hdGl2ZSBldmVudCBhbmQgY2FwdHVyZSBpdHMgcmVzdWx0XG5cdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPD05IC0gMTErXG5cdFx0XHRcdFx0Ly8gZm9jdXMoKSBhbmQgYmx1cigpIGFyZSBhc3luY2hyb25vdXNcblx0XHRcdFx0XHRub3RBc3luYyA9IGV4cGVjdFN5bmMoIHRoaXMsIHR5cGUgKTtcblx0XHRcdFx0XHR0aGlzWyB0eXBlIF0oKTtcblx0XHRcdFx0XHRyZXN1bHQgPSBkYXRhUHJpdi5nZXQoIHRoaXMsIHR5cGUgKTtcblx0XHRcdFx0XHRpZiAoIHNhdmVkICE9PSByZXN1bHQgfHwgbm90QXN5bmMgKSB7XG5cdFx0XHRcdFx0XHRkYXRhUHJpdi5zZXQoIHRoaXMsIHR5cGUsIGZhbHNlICk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHJlc3VsdCA9IHt9O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoIHNhdmVkICE9PSByZXN1bHQgKSB7XG5cblx0XHRcdFx0XHRcdC8vIENhbmNlbCB0aGUgb3V0ZXIgc3ludGhldGljIGV2ZW50XG5cdFx0XHRcdFx0XHRldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblx0XHRcdFx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0LnZhbHVlO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBJZiB0aGlzIGlzIGFuIGlubmVyIHN5bnRoZXRpYyBldmVudCBmb3IgYW4gZXZlbnQgd2l0aCBhIGJ1YmJsaW5nIHN1cnJvZ2F0ZVxuXHRcdFx0XHQvLyAoZm9jdXMgb3IgYmx1ciksIGFzc3VtZSB0aGF0IHRoZSBzdXJyb2dhdGUgYWxyZWFkeSBwcm9wYWdhdGVkIGZyb20gdHJpZ2dlcmluZyB0aGVcblx0XHRcdFx0Ly8gbmF0aXZlIGV2ZW50IGFuZCBwcmV2ZW50IHRoYXQgZnJvbSBoYXBwZW5pbmcgYWdhaW4gaGVyZS5cblx0XHRcdFx0Ly8gVGhpcyB0ZWNobmljYWxseSBnZXRzIHRoZSBvcmRlcmluZyB3cm9uZyB3LnIudC4gdG8gYC50cmlnZ2VyKClgIChpbiB3aGljaCB0aGVcblx0XHRcdFx0Ly8gYnViYmxpbmcgc3Vycm9nYXRlIHByb3BhZ2F0ZXMgKmFmdGVyKiB0aGUgbm9uLWJ1YmJsaW5nIGJhc2UpLCBidXQgdGhhdCBzZWVtc1xuXHRcdFx0XHQvLyBsZXNzIGJhZCB0aGFuIGR1cGxpY2F0aW9uLlxuXHRcdFx0XHR9IGVsc2UgaWYgKCAoIGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge30gKS5kZWxlZ2F0ZVR5cGUgKSB7XG5cdFx0XHRcdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgdGhpcyBpcyBhIG5hdGl2ZSBldmVudCB0cmlnZ2VyZWQgYWJvdmUsIGV2ZXJ5dGhpbmcgaXMgbm93IGluIG9yZGVyXG5cdFx0XHQvLyBGaXJlIGFuIGlubmVyIHN5bnRoZXRpYyBldmVudCB3aXRoIHRoZSBvcmlnaW5hbCBhcmd1bWVudHNcblx0XHRcdH0gZWxzZSBpZiAoIHNhdmVkLmxlbmd0aCApIHtcblxuXHRcdFx0XHQvLyAuLi5hbmQgY2FwdHVyZSB0aGUgcmVzdWx0XG5cdFx0XHRcdGRhdGFQcml2LnNldCggdGhpcywgdHlwZSwge1xuXHRcdFx0XHRcdHZhbHVlOiBqUXVlcnkuZXZlbnQudHJpZ2dlcihcblxuXHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPD05IC0gMTErXG5cdFx0XHRcdFx0XHQvLyBFeHRlbmQgd2l0aCB0aGUgcHJvdG90eXBlIHRvIHJlc2V0IHRoZSBhYm92ZSBzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuXHRcdFx0XHRcdFx0alF1ZXJ5LmV4dGVuZCggc2F2ZWRbIDAgXSwgalF1ZXJ5LkV2ZW50LnByb3RvdHlwZSApLFxuXHRcdFx0XHRcdFx0c2F2ZWQuc2xpY2UoIDEgKSxcblx0XHRcdFx0XHRcdHRoaXNcblx0XHRcdFx0XHQpXG5cdFx0XHRcdH0gKTtcblxuXHRcdFx0XHQvLyBBYm9ydCBoYW5kbGluZyBvZiB0aGUgbmF0aXZlIGV2ZW50XG5cdFx0XHRcdGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSApO1xufVxuXG5qUXVlcnkucmVtb3ZlRXZlbnQgPSBmdW5jdGlvbiggZWxlbSwgdHlwZSwgaGFuZGxlICkge1xuXG5cdC8vIFRoaXMgXCJpZlwiIGlzIG5lZWRlZCBmb3IgcGxhaW4gb2JqZWN0c1xuXHRpZiAoIGVsZW0ucmVtb3ZlRXZlbnRMaXN0ZW5lciApIHtcblx0XHRlbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoIHR5cGUsIGhhbmRsZSApO1xuXHR9XG59O1xuXG5qUXVlcnkuRXZlbnQgPSBmdW5jdGlvbiggc3JjLCBwcm9wcyApIHtcblxuXHQvLyBBbGxvdyBpbnN0YW50aWF0aW9uIHdpdGhvdXQgdGhlICduZXcnIGtleXdvcmRcblx0aWYgKCAhKCB0aGlzIGluc3RhbmNlb2YgalF1ZXJ5LkV2ZW50ICkgKSB7XG5cdFx0cmV0dXJuIG5ldyBqUXVlcnkuRXZlbnQoIHNyYywgcHJvcHMgKTtcblx0fVxuXG5cdC8vIEV2ZW50IG9iamVjdFxuXHRpZiAoIHNyYyAmJiBzcmMudHlwZSApIHtcblx0XHR0aGlzLm9yaWdpbmFsRXZlbnQgPSBzcmM7XG5cdFx0dGhpcy50eXBlID0gc3JjLnR5cGU7XG5cblx0XHQvLyBFdmVudHMgYnViYmxpbmcgdXAgdGhlIGRvY3VtZW50IG1heSBoYXZlIGJlZW4gbWFya2VkIGFzIHByZXZlbnRlZFxuXHRcdC8vIGJ5IGEgaGFuZGxlciBsb3dlciBkb3duIHRoZSB0cmVlOyByZWZsZWN0IHRoZSBjb3JyZWN0IHZhbHVlLlxuXHRcdHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gc3JjLmRlZmF1bHRQcmV2ZW50ZWQgfHxcblx0XHRcdFx0c3JjLmRlZmF1bHRQcmV2ZW50ZWQgPT09IHVuZGVmaW5lZCAmJlxuXG5cdFx0XHRcdC8vIFN1cHBvcnQ6IEFuZHJvaWQgPD0yLjMgb25seVxuXHRcdFx0XHRzcmMucmV0dXJuVmFsdWUgPT09IGZhbHNlID9cblx0XHRcdHJldHVyblRydWUgOlxuXHRcdFx0cmV0dXJuRmFsc2U7XG5cblx0XHQvLyBDcmVhdGUgdGFyZ2V0IHByb3BlcnRpZXNcblx0XHQvLyBTdXBwb3J0OiBTYWZhcmkgPD02IC0gNyBvbmx5XG5cdFx0Ly8gVGFyZ2V0IHNob3VsZCBub3QgYmUgYSB0ZXh0IG5vZGUgKCM1MDQsICMxMzE0Mylcblx0XHR0aGlzLnRhcmdldCA9ICggc3JjLnRhcmdldCAmJiBzcmMudGFyZ2V0Lm5vZGVUeXBlID09PSAzICkgP1xuXHRcdFx0c3JjLnRhcmdldC5wYXJlbnROb2RlIDpcblx0XHRcdHNyYy50YXJnZXQ7XG5cblx0XHR0aGlzLmN1cnJlbnRUYXJnZXQgPSBzcmMuY3VycmVudFRhcmdldDtcblx0XHR0aGlzLnJlbGF0ZWRUYXJnZXQgPSBzcmMucmVsYXRlZFRhcmdldDtcblxuXHQvLyBFdmVudCB0eXBlXG5cdH0gZWxzZSB7XG5cdFx0dGhpcy50eXBlID0gc3JjO1xuXHR9XG5cblx0Ly8gUHV0IGV4cGxpY2l0bHkgcHJvdmlkZWQgcHJvcGVydGllcyBvbnRvIHRoZSBldmVudCBvYmplY3Rcblx0aWYgKCBwcm9wcyApIHtcblx0XHRqUXVlcnkuZXh0ZW5kKCB0aGlzLCBwcm9wcyApO1xuXHR9XG5cblx0Ly8gQ3JlYXRlIGEgdGltZXN0YW1wIGlmIGluY29taW5nIGV2ZW50IGRvZXNuJ3QgaGF2ZSBvbmVcblx0dGhpcy50aW1lU3RhbXAgPSBzcmMgJiYgc3JjLnRpbWVTdGFtcCB8fCBEYXRlLm5vdygpO1xuXG5cdC8vIE1hcmsgaXQgYXMgZml4ZWRcblx0dGhpc1sgalF1ZXJ5LmV4cGFuZG8gXSA9IHRydWU7XG59O1xuXG4vLyBqUXVlcnkuRXZlbnQgaXMgYmFzZWQgb24gRE9NMyBFdmVudHMgYXMgc3BlY2lmaWVkIGJ5IHRoZSBFQ01BU2NyaXB0IExhbmd1YWdlIEJpbmRpbmdcbi8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDAzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDAzMDMzMS9lY21hLXNjcmlwdC1iaW5kaW5nLmh0bWxcbmpRdWVyeS5FdmVudC5wcm90b3R5cGUgPSB7XG5cdGNvbnN0cnVjdG9yOiBqUXVlcnkuRXZlbnQsXG5cdGlzRGVmYXVsdFByZXZlbnRlZDogcmV0dXJuRmFsc2UsXG5cdGlzUHJvcGFnYXRpb25TdG9wcGVkOiByZXR1cm5GYWxzZSxcblx0aXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQ6IHJldHVybkZhbHNlLFxuXHRpc1NpbXVsYXRlZDogZmFsc2UsXG5cblx0cHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBlID0gdGhpcy5vcmlnaW5hbEV2ZW50O1xuXG5cdFx0dGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSByZXR1cm5UcnVlO1xuXG5cdFx0aWYgKCBlICYmICF0aGlzLmlzU2ltdWxhdGVkICkge1xuXHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH1cblx0fSxcblx0c3RvcFByb3BhZ2F0aW9uOiBmdW5jdGlvbigpIHtcblx0XHR2YXIgZSA9IHRoaXMub3JpZ2luYWxFdmVudDtcblxuXHRcdHRoaXMuaXNQcm9wYWdhdGlvblN0b3BwZWQgPSByZXR1cm5UcnVlO1xuXG5cdFx0aWYgKCBlICYmICF0aGlzLmlzU2ltdWxhdGVkICkge1xuXHRcdFx0ZS5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR9XG5cdH0sXG5cdHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbjogZnVuY3Rpb24oKSB7XG5cdFx0dmFyIGUgPSB0aGlzLm9yaWdpbmFsRXZlbnQ7XG5cblx0XHR0aGlzLmlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkID0gcmV0dXJuVHJ1ZTtcblxuXHRcdGlmICggZSAmJiAhdGhpcy5pc1NpbXVsYXRlZCApIHtcblx0XHRcdGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5zdG9wUHJvcGFnYXRpb24oKTtcblx0fVxufTtcblxuLy8gSW5jbHVkZXMgYWxsIGNvbW1vbiBldmVudCBwcm9wcyBpbmNsdWRpbmcgS2V5RXZlbnQgYW5kIE1vdXNlRXZlbnQgc3BlY2lmaWMgcHJvcHNcbmpRdWVyeS5lYWNoKCB7XG5cdGFsdEtleTogdHJ1ZSxcblx0YnViYmxlczogdHJ1ZSxcblx0Y2FuY2VsYWJsZTogdHJ1ZSxcblx0Y2hhbmdlZFRvdWNoZXM6IHRydWUsXG5cdGN0cmxLZXk6IHRydWUsXG5cdGRldGFpbDogdHJ1ZSxcblx0ZXZlbnRQaGFzZTogdHJ1ZSxcblx0bWV0YUtleTogdHJ1ZSxcblx0cGFnZVg6IHRydWUsXG5cdHBhZ2VZOiB0cnVlLFxuXHRzaGlmdEtleTogdHJ1ZSxcblx0dmlldzogdHJ1ZSxcblx0XCJjaGFyXCI6IHRydWUsXG5cdGNvZGU6IHRydWUsXG5cdGNoYXJDb2RlOiB0cnVlLFxuXHRrZXk6IHRydWUsXG5cdGtleUNvZGU6IHRydWUsXG5cdGJ1dHRvbjogdHJ1ZSxcblx0YnV0dG9uczogdHJ1ZSxcblx0Y2xpZW50WDogdHJ1ZSxcblx0Y2xpZW50WTogdHJ1ZSxcblx0b2Zmc2V0WDogdHJ1ZSxcblx0b2Zmc2V0WTogdHJ1ZSxcblx0cG9pbnRlcklkOiB0cnVlLFxuXHRwb2ludGVyVHlwZTogdHJ1ZSxcblx0c2NyZWVuWDogdHJ1ZSxcblx0c2NyZWVuWTogdHJ1ZSxcblx0dGFyZ2V0VG91Y2hlczogdHJ1ZSxcblx0dG9FbGVtZW50OiB0cnVlLFxuXHR0b3VjaGVzOiB0cnVlLFxuXG5cdHdoaWNoOiBmdW5jdGlvbiggZXZlbnQgKSB7XG5cdFx0dmFyIGJ1dHRvbiA9IGV2ZW50LmJ1dHRvbjtcblxuXHRcdC8vIEFkZCB3aGljaCBmb3Iga2V5IGV2ZW50c1xuXHRcdGlmICggZXZlbnQud2hpY2ggPT0gbnVsbCAmJiBya2V5RXZlbnQudGVzdCggZXZlbnQudHlwZSApICkge1xuXHRcdFx0cmV0dXJuIGV2ZW50LmNoYXJDb2RlICE9IG51bGwgPyBldmVudC5jaGFyQ29kZSA6IGV2ZW50LmtleUNvZGU7XG5cdFx0fVxuXG5cdFx0Ly8gQWRkIHdoaWNoIGZvciBjbGljazogMSA9PT0gbGVmdDsgMiA9PT0gbWlkZGxlOyAzID09PSByaWdodFxuXHRcdGlmICggIWV2ZW50LndoaWNoICYmIGJ1dHRvbiAhPT0gdW5kZWZpbmVkICYmIHJtb3VzZUV2ZW50LnRlc3QoIGV2ZW50LnR5cGUgKSApIHtcblx0XHRcdGlmICggYnV0dG9uICYgMSApIHtcblx0XHRcdFx0cmV0dXJuIDE7XG5cdFx0XHR9XG5cblx0XHRcdGlmICggYnV0dG9uICYgMiApIHtcblx0XHRcdFx0cmV0dXJuIDM7XG5cdFx0XHR9XG5cblx0XHRcdGlmICggYnV0dG9uICYgNCApIHtcblx0XHRcdFx0cmV0dXJuIDI7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiAwO1xuXHRcdH1cblxuXHRcdHJldHVybiBldmVudC53aGljaDtcblx0fVxufSwgalF1ZXJ5LmV2ZW50LmFkZFByb3AgKTtcblxualF1ZXJ5LmVhY2goIHsgZm9jdXM6IFwiZm9jdXNpblwiLCBibHVyOiBcImZvY3Vzb3V0XCIgfSwgZnVuY3Rpb24oIHR5cGUsIGRlbGVnYXRlVHlwZSApIHtcblx0alF1ZXJ5LmV2ZW50LnNwZWNpYWxbIHR5cGUgXSA9IHtcblxuXHRcdC8vIFV0aWxpemUgbmF0aXZlIGV2ZW50IGlmIHBvc3NpYmxlIHNvIGJsdXIvZm9jdXMgc2VxdWVuY2UgaXMgY29ycmVjdFxuXHRcdHNldHVwOiBmdW5jdGlvbigpIHtcblxuXHRcdFx0Ly8gQ2xhaW0gdGhlIGZpcnN0IGhhbmRsZXJcblx0XHRcdC8vIGRhdGFQcml2LnNldCggdGhpcywgXCJmb2N1c1wiLCAuLi4gKVxuXHRcdFx0Ly8gZGF0YVByaXYuc2V0KCB0aGlzLCBcImJsdXJcIiwgLi4uIClcblx0XHRcdGxldmVyYWdlTmF0aXZlKCB0aGlzLCB0eXBlLCBleHBlY3RTeW5jICk7XG5cblx0XHRcdC8vIFJldHVybiBmYWxzZSB0byBhbGxvdyBub3JtYWwgcHJvY2Vzc2luZyBpbiB0aGUgY2FsbGVyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fSxcblx0XHR0cmlnZ2VyOiBmdW5jdGlvbigpIHtcblxuXHRcdFx0Ly8gRm9yY2Ugc2V0dXAgYmVmb3JlIHRyaWdnZXJcblx0XHRcdGxldmVyYWdlTmF0aXZlKCB0aGlzLCB0eXBlICk7XG5cblx0XHRcdC8vIFJldHVybiBub24tZmFsc2UgdG8gYWxsb3cgbm9ybWFsIGV2ZW50LXBhdGggcHJvcGFnYXRpb25cblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH0sXG5cblx0XHRkZWxlZ2F0ZVR5cGU6IGRlbGVnYXRlVHlwZVxuXHR9O1xufSApO1xuXG4vLyBDcmVhdGUgbW91c2VlbnRlci9sZWF2ZSBldmVudHMgdXNpbmcgbW91c2VvdmVyL291dCBhbmQgZXZlbnQtdGltZSBjaGVja3Ncbi8vIHNvIHRoYXQgZXZlbnQgZGVsZWdhdGlvbiB3b3JrcyBpbiBqUXVlcnkuXG4vLyBEbyB0aGUgc2FtZSBmb3IgcG9pbnRlcmVudGVyL3BvaW50ZXJsZWF2ZSBhbmQgcG9pbnRlcm92ZXIvcG9pbnRlcm91dFxuLy9cbi8vIFN1cHBvcnQ6IFNhZmFyaSA3IG9ubHlcbi8vIFNhZmFyaSBzZW5kcyBtb3VzZWVudGVyIHRvbyBvZnRlbjsgc2VlOlxuLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDcwMjU4XG4vLyBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcgKGl0IGV4aXN0ZWQgaW4gb2xkZXIgQ2hyb21lIHZlcnNpb25zIGFzIHdlbGwpLlxualF1ZXJ5LmVhY2goIHtcblx0bW91c2VlbnRlcjogXCJtb3VzZW92ZXJcIixcblx0bW91c2VsZWF2ZTogXCJtb3VzZW91dFwiLFxuXHRwb2ludGVyZW50ZXI6IFwicG9pbnRlcm92ZXJcIixcblx0cG9pbnRlcmxlYXZlOiBcInBvaW50ZXJvdXRcIlxufSwgZnVuY3Rpb24oIG9yaWcsIGZpeCApIHtcblx0alF1ZXJ5LmV2ZW50LnNwZWNpYWxbIG9yaWcgXSA9IHtcblx0XHRkZWxlZ2F0ZVR5cGU6IGZpeCxcblx0XHRiaW5kVHlwZTogZml4LFxuXG5cdFx0aGFuZGxlOiBmdW5jdGlvbiggZXZlbnQgKSB7XG5cdFx0XHR2YXIgcmV0LFxuXHRcdFx0XHR0YXJnZXQgPSB0aGlzLFxuXHRcdFx0XHRyZWxhdGVkID0gZXZlbnQucmVsYXRlZFRhcmdldCxcblx0XHRcdFx0aGFuZGxlT2JqID0gZXZlbnQuaGFuZGxlT2JqO1xuXG5cdFx0XHQvLyBGb3IgbW91c2VlbnRlci9sZWF2ZSBjYWxsIHRoZSBoYW5kbGVyIGlmIHJlbGF0ZWQgaXMgb3V0c2lkZSB0aGUgdGFyZ2V0LlxuXHRcdFx0Ly8gTkI6IE5vIHJlbGF0ZWRUYXJnZXQgaWYgdGhlIG1vdXNlIGxlZnQvZW50ZXJlZCB0aGUgYnJvd3NlciB3aW5kb3dcblx0XHRcdGlmICggIXJlbGF0ZWQgfHwgKCByZWxhdGVkICE9PSB0YXJnZXQgJiYgIWpRdWVyeS5jb250YWlucyggdGFyZ2V0LCByZWxhdGVkICkgKSApIHtcblx0XHRcdFx0ZXZlbnQudHlwZSA9IGhhbmRsZU9iai5vcmlnVHlwZTtcblx0XHRcdFx0cmV0ID0gaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApO1xuXHRcdFx0XHRldmVudC50eXBlID0gZml4O1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJldDtcblx0XHR9XG5cdH07XG59ICk7XG5cbmpRdWVyeS5mbi5leHRlbmQoIHtcblxuXHRvbjogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKSB7XG5cdFx0cmV0dXJuIG9uKCB0aGlzLCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuICk7XG5cdH0sXG5cdG9uZTogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKSB7XG5cdFx0cmV0dXJuIG9uKCB0aGlzLCB0eXBlcywgc2VsZWN0b3IsIGRhdGEsIGZuLCAxICk7XG5cdH0sXG5cdG9mZjogZnVuY3Rpb24oIHR5cGVzLCBzZWxlY3RvciwgZm4gKSB7XG5cdFx0dmFyIGhhbmRsZU9iaiwgdHlwZTtcblx0XHRpZiAoIHR5cGVzICYmIHR5cGVzLnByZXZlbnREZWZhdWx0ICYmIHR5cGVzLmhhbmRsZU9iaiApIHtcblxuXHRcdFx0Ly8gKCBldmVudCApICBkaXNwYXRjaGVkIGpRdWVyeS5FdmVudFxuXHRcdFx0aGFuZGxlT2JqID0gdHlwZXMuaGFuZGxlT2JqO1xuXHRcdFx0alF1ZXJ5KCB0eXBlcy5kZWxlZ2F0ZVRhcmdldCApLm9mZihcblx0XHRcdFx0aGFuZGxlT2JqLm5hbWVzcGFjZSA/XG5cdFx0XHRcdFx0aGFuZGxlT2JqLm9yaWdUeXBlICsgXCIuXCIgKyBoYW5kbGVPYmoubmFtZXNwYWNlIDpcblx0XHRcdFx0XHRoYW5kbGVPYmoub3JpZ1R5cGUsXG5cdFx0XHRcdGhhbmRsZU9iai5zZWxlY3Rvcixcblx0XHRcdFx0aGFuZGxlT2JqLmhhbmRsZXJcblx0XHRcdCk7XG5cdFx0XHRyZXR1cm4gdGhpcztcblx0XHR9XG5cdFx0aWYgKCB0eXBlb2YgdHlwZXMgPT09IFwib2JqZWN0XCIgKSB7XG5cblx0XHRcdC8vICggdHlwZXMtb2JqZWN0IFssIHNlbGVjdG9yXSApXG5cdFx0XHRmb3IgKCB0eXBlIGluIHR5cGVzICkge1xuXHRcdFx0XHR0aGlzLm9mZiggdHlwZSwgc2VsZWN0b3IsIHR5cGVzWyB0eXBlIF0gKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblx0XHRpZiAoIHNlbGVjdG9yID09PSBmYWxzZSB8fCB0eXBlb2Ygc2VsZWN0b3IgPT09IFwiZnVuY3Rpb25cIiApIHtcblxuXHRcdFx0Ly8gKCB0eXBlcyBbLCBmbl0gKVxuXHRcdFx0Zm4gPSBzZWxlY3Rvcjtcblx0XHRcdHNlbGVjdG9yID0gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRpZiAoIGZuID09PSBmYWxzZSApIHtcblx0XHRcdGZuID0gcmV0dXJuRmFsc2U7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCkge1xuXHRcdFx0alF1ZXJ5LmV2ZW50LnJlbW92ZSggdGhpcywgdHlwZXMsIGZuLCBzZWxlY3RvciApO1xuXHRcdH0gKTtcblx0fVxufSApO1xuXG5cbnZhclxuXG5cdC8vIFN1cHBvcnQ6IElFIDw9MTAgLSAxMSwgRWRnZSAxMiAtIDEzIG9ubHlcblx0Ly8gSW4gSUUvRWRnZSB1c2luZyByZWdleCBncm91cHMgaGVyZSBjYXVzZXMgc2V2ZXJlIHNsb3dkb3ducy5cblx0Ly8gU2VlIGh0dHBzOi8vY29ubmVjdC5taWNyb3NvZnQuY29tL0lFL2ZlZWRiYWNrL2RldGFpbHMvMTczNjUxMi9cblx0cm5vSW5uZXJodG1sID0gLzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksXG5cblx0Ly8gY2hlY2tlZD1cImNoZWNrZWRcIiBvciBjaGVja2VkXG5cdHJjaGVja2VkID0gL2NoZWNrZWRcXHMqKD86W149XXw9XFxzKi5jaGVja2VkLikvaSxcblx0cmNsZWFuU2NyaXB0ID0gL15cXHMqPCEoPzpcXFtDREFUQVxcW3wtLSl8KD86XFxdXFxdfC0tKT5cXHMqJC9nO1xuXG4vLyBQcmVmZXIgYSB0Ym9keSBvdmVyIGl0cyBwYXJlbnQgdGFibGUgZm9yIGNvbnRhaW5pbmcgbmV3IHJvd3NcbmZ1bmN0aW9uIG1hbmlwdWxhdGlvblRhcmdldCggZWxlbSwgY29udGVudCApIHtcblx0aWYgKCBub2RlTmFtZSggZWxlbSwgXCJ0YWJsZVwiICkgJiZcblx0XHRub2RlTmFtZSggY29udGVudC5ub2RlVHlwZSAhPT0gMTEgPyBjb250ZW50IDogY29udGVudC5maXJzdENoaWxkLCBcInRyXCIgKSApIHtcblxuXHRcdHJldHVybiBqUXVlcnkoIGVsZW0gKS5jaGlsZHJlbiggXCJ0Ym9keVwiIClbIDAgXSB8fCBlbGVtO1xuXHR9XG5cblx0cmV0dXJuIGVsZW07XG59XG5cbi8vIFJlcGxhY2UvcmVzdG9yZSB0aGUgdHlwZSBhdHRyaWJ1dGUgb2Ygc2NyaXB0IGVsZW1lbnRzIGZvciBzYWZlIERPTSBtYW5pcHVsYXRpb25cbmZ1bmN0aW9uIGRpc2FibGVTY3JpcHQoIGVsZW0gKSB7XG5cdGVsZW0udHlwZSA9ICggZWxlbS5nZXRBdHRyaWJ1dGUoIFwidHlwZVwiICkgIT09IG51bGwgKSArIFwiL1wiICsgZWxlbS50eXBlO1xuXHRyZXR1cm4gZWxlbTtcbn1cbmZ1bmN0aW9uIHJlc3RvcmVTY3JpcHQoIGVsZW0gKSB7XG5cdGlmICggKCBlbGVtLnR5cGUgfHwgXCJcIiApLnNsaWNlKCAwLCA1ICkgPT09IFwidHJ1ZS9cIiApIHtcblx0XHRlbGVtLnR5cGUgPSBlbGVtLnR5cGUuc2xpY2UoIDUgKTtcblx0fSBlbHNlIHtcblx0XHRlbGVtLnJlbW92ZUF0dHJpYnV0ZSggXCJ0eXBlXCIgKTtcblx0fVxuXG5cdHJldHVybiBlbGVtO1xufVxuXG5mdW5jdGlvbiBjbG9uZUNvcHlFdmVudCggc3JjLCBkZXN0ICkge1xuXHR2YXIgaSwgbCwgdHlwZSwgcGRhdGFPbGQsIHVkYXRhT2xkLCB1ZGF0YUN1ciwgZXZlbnRzO1xuXG5cdGlmICggZGVzdC5ub2RlVHlwZSAhPT0gMSApIHtcblx0XHRyZXR1cm47XG5cdH1cblxuXHQvLyAxLiBDb3B5IHByaXZhdGUgZGF0YTogZXZlbnRzLCBoYW5kbGVycywgZXRjLlxuXHRpZiAoIGRhdGFQcml2Lmhhc0RhdGEoIHNyYyApICkge1xuXHRcdHBkYXRhT2xkID0gZGF0YVByaXYuZ2V0KCBzcmMgKTtcblx0XHRldmVudHMgPSBwZGF0YU9sZC5ldmVudHM7XG5cblx0XHRpZiAoIGV2ZW50cyApIHtcblx0XHRcdGRhdGFQcml2LnJlbW92ZSggZGVzdCwgXCJoYW5kbGUgZXZlbnRzXCIgKTtcblxuXHRcdFx0Zm9yICggdHlwZSBpbiBldmVudHMgKSB7XG5cdFx0XHRcdGZvciAoIGkgPSAwLCBsID0gZXZlbnRzWyB0eXBlIF0ubGVuZ3RoOyBpIDwgbDsgaSsrICkge1xuXHRcdFx0XHRcdGpRdWVyeS5ldmVudC5hZGQoIGRlc3QsIHR5cGUsIGV2ZW50c1sgdHlwZSBdWyBpIF0gKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIDIuIENvcHkgdXNlciBkYXRhXG5cdGlmICggZGF0YVVzZXIuaGFzRGF0YSggc3JjICkgKSB7XG5cdFx0dWRhdGFPbGQgPSBkYXRhVXNlci5hY2Nlc3MoIHNyYyApO1xuXHRcdHVkYXRhQ3VyID0galF1ZXJ5LmV4dGVuZCgge30sIHVkYXRhT2xkICk7XG5cblx0XHRkYXRhVXNlci5zZXQoIGRlc3QsIHVkYXRhQ3VyICk7XG5cdH1cbn1cblxuLy8gRml4IElFIGJ1Z3MsIHNlZSBzdXBwb3J0IHRlc3RzXG5mdW5jdGlvbiBmaXhJbnB1dCggc3JjLCBkZXN0ICkge1xuXHR2YXIgbm9kZU5hbWUgPSBkZXN0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cblx0Ly8gRmFpbHMgdG8gcGVyc2lzdCB0aGUgY2hlY2tlZCBzdGF0ZSBvZiBhIGNsb25lZCBjaGVja2JveCBvciByYWRpbyBidXR0b24uXG5cdGlmICggbm9kZU5hbWUgPT09IFwiaW5wdXRcIiAmJiByY2hlY2thYmxlVHlwZS50ZXN0KCBzcmMudHlwZSApICkge1xuXHRcdGRlc3QuY2hlY2tlZCA9IHNyYy5jaGVja2VkO1xuXG5cdC8vIEZhaWxzIHRvIHJldHVybiB0aGUgc2VsZWN0ZWQgb3B0aW9uIHRvIHRoZSBkZWZhdWx0IHNlbGVjdGVkIHN0YXRlIHdoZW4gY2xvbmluZyBvcHRpb25zXG5cdH0gZWxzZSBpZiAoIG5vZGVOYW1lID09PSBcImlucHV0XCIgfHwgbm9kZU5hbWUgPT09IFwidGV4dGFyZWFcIiApIHtcblx0XHRkZXN0LmRlZmF1bHRWYWx1ZSA9IHNyYy5kZWZhdWx0VmFsdWU7XG5cdH1cbn1cblxuZnVuY3Rpb24gZG9tTWFuaXAoIGNvbGxlY3Rpb24sIGFyZ3MsIGNhbGxiYWNrLCBpZ25vcmVkICkge1xuXG5cdC8vIEZsYXR0ZW4gYW55IG5lc3RlZCBhcnJheXNcblx0YXJncyA9IGZsYXQoIGFyZ3MgKTtcblxuXHR2YXIgZnJhZ21lbnQsIGZpcnN0LCBzY3JpcHRzLCBoYXNTY3JpcHRzLCBub2RlLCBkb2MsXG5cdFx0aSA9IDAsXG5cdFx0bCA9IGNvbGxlY3Rpb24ubGVuZ3RoLFxuXHRcdGlOb0Nsb25lID0gbCAtIDEsXG5cdFx0dmFsdWUgPSBhcmdzWyAwIF0sXG5cdFx0dmFsdWVJc0Z1bmN0aW9uID0gaXNGdW5jdGlvbiggdmFsdWUgKTtcblxuXHQvLyBXZSBjYW4ndCBjbG9uZU5vZGUgZnJhZ21lbnRzIHRoYXQgY29udGFpbiBjaGVja2VkLCBpbiBXZWJLaXRcblx0aWYgKCB2YWx1ZUlzRnVuY3Rpb24gfHxcblx0XHRcdCggbCA+IDEgJiYgdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiICYmXG5cdFx0XHRcdCFzdXBwb3J0LmNoZWNrQ2xvbmUgJiYgcmNoZWNrZWQudGVzdCggdmFsdWUgKSApICkge1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmVhY2goIGZ1bmN0aW9uKCBpbmRleCApIHtcblx0XHRcdHZhciBzZWxmID0gY29sbGVjdGlvbi5lcSggaW5kZXggKTtcblx0XHRcdGlmICggdmFsdWVJc0Z1bmN0aW9uICkge1xuXHRcdFx0XHRhcmdzWyAwIF0gPSB2YWx1ZS5jYWxsKCB0aGlzLCBpbmRleCwgc2VsZi5odG1sKCkgKTtcblx0XHRcdH1cblx0XHRcdGRvbU1hbmlwKCBzZWxmLCBhcmdzLCBjYWxsYmFjaywgaWdub3JlZCApO1xuXHRcdH0gKTtcblx0fVxuXG5cdGlmICggbCApIHtcblx0XHRmcmFnbWVudCA9IGJ1aWxkRnJhZ21lbnQoIGFyZ3MsIGNvbGxlY3Rpb25bIDAgXS5vd25lckRvY3VtZW50LCBmYWxzZSwgY29sbGVjdGlvbiwgaWdub3JlZCApO1xuXHRcdGZpcnN0ID0gZnJhZ21lbnQuZmlyc3RDaGlsZDtcblxuXHRcdGlmICggZnJhZ21lbnQuY2hpbGROb2Rlcy5sZW5ndGggPT09IDEgKSB7XG5cdFx0XHRmcmFnbWVudCA9IGZpcnN0O1xuXHRcdH1cblxuXHRcdC8vIFJlcXVpcmUgZWl0aGVyIG5ldyBjb250ZW50IG9yIGFuIGludGVyZXN0IGluIGlnbm9yZWQgZWxlbWVudHMgdG8gaW52b2tlIHRoZSBjYWxsYmFja1xuXHRcdGlmICggZmlyc3QgfHwgaWdub3JlZCApIHtcblx0XHRcdHNjcmlwdHMgPSBqUXVlcnkubWFwKCBnZXRBbGwoIGZyYWdtZW50LCBcInNjcmlwdFwiICksIGRpc2FibGVTY3JpcHQgKTtcblx0XHRcdGhhc1NjcmlwdHMgPSBzY3JpcHRzLmxlbmd0aDtcblxuXHRcdFx0Ly8gVXNlIHRoZSBvcmlnaW5hbCBmcmFnbWVudCBmb3IgdGhlIGxhc3QgaXRlbVxuXHRcdFx0Ly8gaW5zdGVhZCBvZiB0aGUgZmlyc3QgYmVjYXVzZSBpdCBjYW4gZW5kIHVwXG5cdFx0XHQvLyBiZWluZyBlbXB0aWVkIGluY29ycmVjdGx5IGluIGNlcnRhaW4gc2l0dWF0aW9ucyAoIzgwNzApLlxuXHRcdFx0Zm9yICggOyBpIDwgbDsgaSsrICkge1xuXHRcdFx0XHRub2RlID0gZnJhZ21lbnQ7XG5cblx0XHRcdFx0aWYgKCBpICE9PSBpTm9DbG9uZSApIHtcblx0XHRcdFx0XHRub2RlID0galF1ZXJ5LmNsb25lKCBub2RlLCB0cnVlLCB0cnVlICk7XG5cblx0XHRcdFx0XHQvLyBLZWVwIHJlZmVyZW5jZXMgdG8gY2xvbmVkIHNjcmlwdHMgZm9yIGxhdGVyIHJlc3RvcmF0aW9uXG5cdFx0XHRcdFx0aWYgKCBoYXNTY3JpcHRzICkge1xuXG5cdFx0XHRcdFx0XHQvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4wIG9ubHksIFBoYW50b21KUyAxIG9ubHlcblx0XHRcdFx0XHRcdC8vIHB1c2guYXBwbHkoXywgYXJyYXlsaWtlKSB0aHJvd3Mgb24gYW5jaWVudCBXZWJLaXRcblx0XHRcdFx0XHRcdGpRdWVyeS5tZXJnZSggc2NyaXB0cywgZ2V0QWxsKCBub2RlLCBcInNjcmlwdFwiICkgKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjYWxsYmFjay5jYWxsKCBjb2xsZWN0aW9uWyBpIF0sIG5vZGUsIGkgKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCBoYXNTY3JpcHRzICkge1xuXHRcdFx0XHRkb2MgPSBzY3JpcHRzWyBzY3JpcHRzLmxlbmd0aCAtIDEgXS5vd25lckRvY3VtZW50O1xuXG5cdFx0XHRcdC8vIFJlZW5hYmxlIHNjcmlwdHNcblx0XHRcdFx0alF1ZXJ5Lm1hcCggc2NyaXB0cywgcmVzdG9yZVNjcmlwdCApO1xuXG5cdFx0XHRcdC8vIEV2YWx1YXRlIGV4ZWN1dGFibGUgc2NyaXB0cyBvbiBmaXJzdCBkb2N1bWVudCBpbnNlcnRpb25cblx0XHRcdFx0Zm9yICggaSA9IDA7IGkgPCBoYXNTY3JpcHRzOyBpKysgKSB7XG5cdFx0XHRcdFx0bm9kZSA9IHNjcmlwdHNbIGkgXTtcblx0XHRcdFx0XHRpZiAoIHJzY3JpcHRUeXBlLnRlc3QoIG5vZGUudHlwZSB8fCBcIlwiICkgJiZcblx0XHRcdFx0XHRcdCFkYXRhUHJpdi5hY2Nlc3MoIG5vZGUsIFwiZ2xvYmFsRXZhbFwiICkgJiZcblx0XHRcdFx0XHRcdGpRdWVyeS5jb250YWlucyggZG9jLCBub2RlICkgKSB7XG5cblx0XHRcdFx0XHRcdGlmICggbm9kZS5zcmMgJiYgKCBub2RlLnR5cGUgfHwgXCJcIiApLnRvTG93ZXJDYXNlKCkgICE9PSBcIm1vZHVsZVwiICkge1xuXG5cdFx0XHRcdFx0XHRcdC8vIE9wdGlvbmFsIEFKQVggZGVwZW5kZW5jeSwgYnV0IHdvbid0IHJ1biBzY3JpcHRzIGlmIG5vdCBwcmVzZW50XG5cdFx0XHRcdFx0XHRcdGlmICggalF1ZXJ5Ll9ldmFsVXJsICYmICFub2RlLm5vTW9kdWxlICkge1xuXHRcdFx0XHRcdFx0XHRcdGpRdWVyeS5fZXZhbFVybCggbm9kZS5zcmMsIHtcblx0XHRcdFx0XHRcdFx0XHRcdG5vbmNlOiBub2RlLm5vbmNlIHx8IG5vZGUuZ2V0QXR0cmlidXRlKCBcIm5vbmNlXCIgKVxuXHRcdFx0XHRcdFx0XHRcdH0sIGRvYyApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRET01FdmFsKCBub2RlLnRleHRDb250ZW50LnJlcGxhY2UoIHJjbGVhblNjcmlwdCwgXCJcIiApLCBub2RlLCBkb2MgKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gY29sbGVjdGlvbjtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlKCBlbGVtLCBzZWxlY3Rvciwga2VlcERhdGEgKSB7XG5cdHZhciBub2RlLFxuXHRcdG5vZGVzID0gc2VsZWN0b3IgPyBqUXVlcnkuZmlsdGVyKCBzZWxlY3RvciwgZWxlbSApIDogZWxlbSxcblx0XHRpID0gMDtcblxuXHRmb3IgKCA7ICggbm9kZSA9IG5vZGVzWyBpIF0gKSAhPSBudWxsOyBpKysgKSB7XG5cdFx0aWYgKCAha2VlcERhdGEgJiYgbm9kZS5ub2RlVHlwZSA9PT0gMSApIHtcblx0XHRcdGpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggbm9kZSApICk7XG5cdFx0fVxuXG5cdFx0aWYgKCBub2RlLnBhcmVudE5vZGUgKSB7XG5cdFx0XHRpZiAoIGtlZXBEYXRhICYmIGlzQXR0YWNoZWQoIG5vZGUgKSApIHtcblx0XHRcdFx0c2V0R2xvYmFsRXZhbCggZ2V0QWxsKCBub2RlLCBcInNjcmlwdFwiICkgKTtcblx0XHRcdH1cblx0XHRcdG5vZGUucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCggbm9kZSApO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBlbGVtO1xufVxuXG5qUXVlcnkuZXh0ZW5kKCB7XG5cdGh0bWxQcmVmaWx0ZXI6IGZ1bmN0aW9uKCBodG1sICkge1xuXHRcdHJldHVybiBodG1sO1xuXHR9LFxuXG5cdGNsb25lOiBmdW5jdGlvbiggZWxlbSwgZGF0YUFuZEV2ZW50cywgZGVlcERhdGFBbmRFdmVudHMgKSB7XG5cdFx0dmFyIGksIGwsIHNyY0VsZW1lbnRzLCBkZXN0RWxlbWVudHMsXG5cdFx0XHRjbG9uZSA9IGVsZW0uY2xvbmVOb2RlKCB0cnVlICksXG5cdFx0XHRpblBhZ2UgPSBpc0F0dGFjaGVkKCBlbGVtICk7XG5cblx0XHQvLyBGaXggSUUgY2xvbmluZyBpc3N1ZXNcblx0XHRpZiAoICFzdXBwb3J0Lm5vQ2xvbmVDaGVja2VkICYmICggZWxlbS5ub2RlVHlwZSA9PT0gMSB8fCBlbGVtLm5vZGVUeXBlID09PSAxMSApICYmXG5cdFx0XHRcdCFqUXVlcnkuaXNYTUxEb2MoIGVsZW0gKSApIHtcblxuXHRcdFx0Ly8gV2UgZXNjaGV3IFNpenpsZSBoZXJlIGZvciBwZXJmb3JtYW5jZSByZWFzb25zOiBodHRwczovL2pzcGVyZi5jb20vZ2V0YWxsLXZzLXNpenpsZS8yXG5cdFx0XHRkZXN0RWxlbWVudHMgPSBnZXRBbGwoIGNsb25lICk7XG5cdFx0XHRzcmNFbGVtZW50cyA9IGdldEFsbCggZWxlbSApO1xuXG5cdFx0XHRmb3IgKCBpID0gMCwgbCA9IHNyY0VsZW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKyApIHtcblx0XHRcdFx0Zml4SW5wdXQoIHNyY0VsZW1lbnRzWyBpIF0sIGRlc3RFbGVtZW50c1sgaSBdICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQ29weSB0aGUgZXZlbnRzIGZyb20gdGhlIG9yaWdpbmFsIHRvIHRoZSBjbG9uZVxuXHRcdGlmICggZGF0YUFuZEV2ZW50cyApIHtcblx0XHRcdGlmICggZGVlcERhdGFBbmRFdmVudHMgKSB7XG5cdFx0XHRcdHNyY0VsZW1lbnRzID0gc3JjRWxlbWVudHMgfHwgZ2V0QWxsKCBlbGVtICk7XG5cdFx0XHRcdGRlc3RFbGVtZW50cyA9IGRlc3RFbGVtZW50cyB8fCBnZXRBbGwoIGNsb25lICk7XG5cblx0XHRcdFx0Zm9yICggaSA9IDAsIGwgPSBzcmNFbGVtZW50cy5sZW5ndGg7IGkgPCBsOyBpKysgKSB7XG5cdFx0XHRcdFx0Y2xvbmVDb3B5RXZlbnQoIHNyY0VsZW1lbnRzWyBpIF0sIGRlc3RFbGVtZW50c1sgaSBdICk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNsb25lQ29weUV2ZW50KCBlbGVtLCBjbG9uZSApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIFByZXNlcnZlIHNjcmlwdCBldmFsdWF0aW9uIGhpc3Rvcnlcblx0XHRkZXN0RWxlbWVudHMgPSBnZXRBbGwoIGNsb25lLCBcInNjcmlwdFwiICk7XG5cdFx0aWYgKCBkZXN0RWxlbWVudHMubGVuZ3RoID4gMCApIHtcblx0XHRcdHNldEdsb2JhbEV2YWwoIGRlc3RFbGVtZW50cywgIWluUGFnZSAmJiBnZXRBbGwoIGVsZW0sIFwic2NyaXB0XCIgKSApO1xuXHRcdH1cblxuXHRcdC8vIFJldHVybiB0aGUgY2xvbmVkIHNldFxuXHRcdHJldHVybiBjbG9uZTtcblx0fSxcblxuXHRjbGVhbkRhdGE6IGZ1bmN0aW9uKCBlbGVtcyApIHtcblx0XHR2YXIgZGF0YSwgZWxlbSwgdHlwZSxcblx0XHRcdHNwZWNpYWwgPSBqUXVlcnkuZXZlbnQuc3BlY2lhbCxcblx0XHRcdGkgPSAwO1xuXG5cdFx0Zm9yICggOyAoIGVsZW0gPSBlbGVtc1sgaSBdICkgIT09IHVuZGVmaW5lZDsgaSsrICkge1xuXHRcdFx0aWYgKCBhY2NlcHREYXRhKCBlbGVtICkgKSB7XG5cdFx0XHRcdGlmICggKCBkYXRhID0gZWxlbVsgZGF0YVByaXYuZXhwYW5kbyBdICkgKSB7XG5cdFx0XHRcdFx0aWYgKCBkYXRhLmV2ZW50cyApIHtcblx0XHRcdFx0XHRcdGZvciAoIHR5cGUgaW4gZGF0YS5ldmVudHMgKSB7XG5cdFx0XHRcdFx0XHRcdGlmICggc3BlY2lhbFsgdHlwZSBdICkge1xuXHRcdFx0XHRcdFx0XHRcdGpRdWVyeS5ldmVudC5yZW1vdmUoIGVsZW0sIHR5cGUgKTtcblxuXHRcdFx0XHRcdFx0XHQvLyBUaGlzIGlzIGEgc2hvcnRjdXQgdG8gYXZvaWQgalF1ZXJ5LmV2ZW50LnJlbW92ZSdzIG92ZXJoZWFkXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0alF1ZXJ5LnJlbW92ZUV2ZW50KCBlbGVtLCB0eXBlLCBkYXRhLmhhbmRsZSApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0Ly8gU3VwcG9ydDogQ2hyb21lIDw9MzUgLSA0NStcblx0XHRcdFx0XHQvLyBBc3NpZ24gdW5kZWZpbmVkIGluc3RlYWQgb2YgdXNpbmcgZGVsZXRlLCBzZWUgRGF0YSNyZW1vdmVcblx0XHRcdFx0XHRlbGVtWyBkYXRhUHJpdi5leHBhbmRvIF0gPSB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCBlbGVtWyBkYXRhVXNlci5leHBhbmRvIF0gKSB7XG5cblx0XHRcdFx0XHQvLyBTdXBwb3J0OiBDaHJvbWUgPD0zNSAtIDQ1K1xuXHRcdFx0XHRcdC8vIEFzc2lnbiB1bmRlZmluZWQgaW5zdGVhZCBvZiB1c2luZyBkZWxldGUsIHNlZSBEYXRhI3JlbW92ZVxuXHRcdFx0XHRcdGVsZW1bIGRhdGFVc2VyLmV4cGFuZG8gXSA9IHVuZGVmaW5lZDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufSApO1xuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cdGRldGFjaDogZnVuY3Rpb24oIHNlbGVjdG9yICkge1xuXHRcdHJldHVybiByZW1vdmUoIHRoaXMsIHNlbGVjdG9yLCB0cnVlICk7XG5cdH0sXG5cblx0cmVtb3ZlOiBmdW5jdGlvbiggc2VsZWN0b3IgKSB7XG5cdFx0cmV0dXJuIHJlbW92ZSggdGhpcywgc2VsZWN0b3IgKTtcblx0fSxcblxuXHR0ZXh0OiBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0cmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIHZhbHVlICkge1xuXHRcdFx0cmV0dXJuIHZhbHVlID09PSB1bmRlZmluZWQgP1xuXHRcdFx0XHRqUXVlcnkudGV4dCggdGhpcyApIDpcblx0XHRcdFx0dGhpcy5lbXB0eSgpLmVhY2goIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdGlmICggdGhpcy5ub2RlVHlwZSA9PT0gMSB8fCB0aGlzLm5vZGVUeXBlID09PSAxMSB8fCB0aGlzLm5vZGVUeXBlID09PSA5ICkge1xuXHRcdFx0XHRcdFx0dGhpcy50ZXh0Q29udGVudCA9IHZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSApO1xuXHRcdH0sIG51bGwsIHZhbHVlLCBhcmd1bWVudHMubGVuZ3RoICk7XG5cdH0sXG5cblx0YXBwZW5kOiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRpZiAoIHRoaXMubm9kZVR5cGUgPT09IDEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gMTEgfHwgdGhpcy5ub2RlVHlwZSA9PT0gOSApIHtcblx0XHRcdFx0dmFyIHRhcmdldCA9IG1hbmlwdWxhdGlvblRhcmdldCggdGhpcywgZWxlbSApO1xuXHRcdFx0XHR0YXJnZXQuYXBwZW5kQ2hpbGQoIGVsZW0gKTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdH0sXG5cblx0cHJlcGVuZDogZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0aWYgKCB0aGlzLm5vZGVUeXBlID09PSAxIHx8IHRoaXMubm9kZVR5cGUgPT09IDExIHx8IHRoaXMubm9kZVR5cGUgPT09IDkgKSB7XG5cdFx0XHRcdHZhciB0YXJnZXQgPSBtYW5pcHVsYXRpb25UYXJnZXQoIHRoaXMsIGVsZW0gKTtcblx0XHRcdFx0dGFyZ2V0Lmluc2VydEJlZm9yZSggZWxlbSwgdGFyZ2V0LmZpcnN0Q2hpbGQgKTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdH0sXG5cblx0YmVmb3JlOiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gZG9tTWFuaXAoIHRoaXMsIGFyZ3VtZW50cywgZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRpZiAoIHRoaXMucGFyZW50Tm9kZSApIHtcblx0XHRcdFx0dGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZSggZWxlbSwgdGhpcyApO1xuXHRcdFx0fVxuXHRcdH0gKTtcblx0fSxcblxuXHRhZnRlcjogZnVuY3Rpb24oKSB7XG5cdFx0cmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0aWYgKCB0aGlzLnBhcmVudE5vZGUgKSB7XG5cdFx0XHRcdHRoaXMucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoIGVsZW0sIHRoaXMubmV4dFNpYmxpbmcgKTtcblx0XHRcdH1cblx0XHR9ICk7XG5cdH0sXG5cblx0ZW1wdHk6IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBlbGVtLFxuXHRcdFx0aSA9IDA7XG5cblx0XHRmb3IgKCA7ICggZWxlbSA9IHRoaXNbIGkgXSApICE9IG51bGw7IGkrKyApIHtcblx0XHRcdGlmICggZWxlbS5ub2RlVHlwZSA9PT0gMSApIHtcblxuXHRcdFx0XHQvLyBQcmV2ZW50IG1lbW9yeSBsZWFrc1xuXHRcdFx0XHRqUXVlcnkuY2xlYW5EYXRhKCBnZXRBbGwoIGVsZW0sIGZhbHNlICkgKTtcblxuXHRcdFx0XHQvLyBSZW1vdmUgYW55IHJlbWFpbmluZyBub2Rlc1xuXHRcdFx0XHRlbGVtLnRleHRDb250ZW50ID0gXCJcIjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fSxcblxuXHRjbG9uZTogZnVuY3Rpb24oIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICkge1xuXHRcdGRhdGFBbmRFdmVudHMgPSBkYXRhQW5kRXZlbnRzID09IG51bGwgPyBmYWxzZSA6IGRhdGFBbmRFdmVudHM7XG5cdFx0ZGVlcERhdGFBbmRFdmVudHMgPSBkZWVwRGF0YUFuZEV2ZW50cyA9PSBudWxsID8gZGF0YUFuZEV2ZW50cyA6IGRlZXBEYXRhQW5kRXZlbnRzO1xuXG5cdFx0cmV0dXJuIHRoaXMubWFwKCBmdW5jdGlvbigpIHtcblx0XHRcdHJldHVybiBqUXVlcnkuY2xvbmUoIHRoaXMsIGRhdGFBbmRFdmVudHMsIGRlZXBEYXRhQW5kRXZlbnRzICk7XG5cdFx0fSApO1xuXHR9LFxuXG5cdGh0bWw6IGZ1bmN0aW9uKCB2YWx1ZSApIHtcblx0XHRyZXR1cm4gYWNjZXNzKCB0aGlzLCBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0XHR2YXIgZWxlbSA9IHRoaXNbIDAgXSB8fCB7fSxcblx0XHRcdFx0aSA9IDAsXG5cdFx0XHRcdGwgPSB0aGlzLmxlbmd0aDtcblxuXHRcdFx0aWYgKCB2YWx1ZSA9PT0gdW5kZWZpbmVkICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7XG5cdFx0XHRcdHJldHVybiBlbGVtLmlubmVySFRNTDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gU2VlIGlmIHdlIGNhbiB0YWtlIGEgc2hvcnRjdXQgYW5kIGp1c3QgdXNlIGlubmVySFRNTFxuXHRcdFx0aWYgKCB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgIXJub0lubmVyaHRtbC50ZXN0KCB2YWx1ZSApICYmXG5cdFx0XHRcdCF3cmFwTWFwWyAoIHJ0YWdOYW1lLmV4ZWMoIHZhbHVlICkgfHwgWyBcIlwiLCBcIlwiIF0gKVsgMSBdLnRvTG93ZXJDYXNlKCkgXSApIHtcblxuXHRcdFx0XHR2YWx1ZSA9IGpRdWVyeS5odG1sUHJlZmlsdGVyKCB2YWx1ZSApO1xuXG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Zm9yICggOyBpIDwgbDsgaSsrICkge1xuXHRcdFx0XHRcdFx0ZWxlbSA9IHRoaXNbIGkgXSB8fCB7fTtcblxuXHRcdFx0XHRcdFx0Ly8gUmVtb3ZlIGVsZW1lbnQgbm9kZXMgYW5kIHByZXZlbnQgbWVtb3J5IGxlYWtzXG5cdFx0XHRcdFx0XHRpZiAoIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7XG5cdFx0XHRcdFx0XHRcdGpRdWVyeS5jbGVhbkRhdGEoIGdldEFsbCggZWxlbSwgZmFsc2UgKSApO1xuXHRcdFx0XHRcdFx0XHRlbGVtLmlubmVySFRNTCA9IHZhbHVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdGVsZW0gPSAwO1xuXG5cdFx0XHRcdC8vIElmIHVzaW5nIGlubmVySFRNTCB0aHJvd3MgYW4gZXhjZXB0aW9uLCB1c2UgdGhlIGZhbGxiYWNrIG1ldGhvZFxuXHRcdFx0XHR9IGNhdGNoICggZSApIHt9XG5cdFx0XHR9XG5cblx0XHRcdGlmICggZWxlbSApIHtcblx0XHRcdFx0dGhpcy5lbXB0eSgpLmFwcGVuZCggdmFsdWUgKTtcblx0XHRcdH1cblx0XHR9LCBudWxsLCB2YWx1ZSwgYXJndW1lbnRzLmxlbmd0aCApO1xuXHR9LFxuXG5cdHJlcGxhY2VXaXRoOiBmdW5jdGlvbigpIHtcblx0XHR2YXIgaWdub3JlZCA9IFtdO1xuXG5cdFx0Ly8gTWFrZSB0aGUgY2hhbmdlcywgcmVwbGFjaW5nIGVhY2ggbm9uLWlnbm9yZWQgY29udGV4dCBlbGVtZW50IHdpdGggdGhlIG5ldyBjb250ZW50XG5cdFx0cmV0dXJuIGRvbU1hbmlwKCB0aGlzLCBhcmd1bWVudHMsIGZ1bmN0aW9uKCBlbGVtICkge1xuXHRcdFx0dmFyIHBhcmVudCA9IHRoaXMucGFyZW50Tm9kZTtcblxuXHRcdFx0aWYgKCBqUXVlcnkuaW5BcnJheSggdGhpcywgaWdub3JlZCApIDwgMCApIHtcblx0XHRcdFx0alF1ZXJ5LmNsZWFuRGF0YSggZ2V0QWxsKCB0aGlzICkgKTtcblx0XHRcdFx0aWYgKCBwYXJlbnQgKSB7XG5cdFx0XHRcdFx0cGFyZW50LnJlcGxhY2VDaGlsZCggZWxlbSwgdGhpcyApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHQvLyBGb3JjZSBjYWxsYmFjayBpbnZvY2F0aW9uXG5cdFx0fSwgaWdub3JlZCApO1xuXHR9XG59ICk7XG5cbmpRdWVyeS5lYWNoKCB7XG5cdGFwcGVuZFRvOiBcImFwcGVuZFwiLFxuXHRwcmVwZW5kVG86IFwicHJlcGVuZFwiLFxuXHRpbnNlcnRCZWZvcmU6IFwiYmVmb3JlXCIsXG5cdGluc2VydEFmdGVyOiBcImFmdGVyXCIsXG5cdHJlcGxhY2VBbGw6IFwicmVwbGFjZVdpdGhcIlxufSwgZnVuY3Rpb24oIG5hbWUsIG9yaWdpbmFsICkge1xuXHRqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBzZWxlY3RvciApIHtcblx0XHR2YXIgZWxlbXMsXG5cdFx0XHRyZXQgPSBbXSxcblx0XHRcdGluc2VydCA9IGpRdWVyeSggc2VsZWN0b3IgKSxcblx0XHRcdGxhc3QgPSBpbnNlcnQubGVuZ3RoIC0gMSxcblx0XHRcdGkgPSAwO1xuXG5cdFx0Zm9yICggOyBpIDw9IGxhc3Q7IGkrKyApIHtcblx0XHRcdGVsZW1zID0gaSA9PT0gbGFzdCA/IHRoaXMgOiB0aGlzLmNsb25lKCB0cnVlICk7XG5cdFx0XHRqUXVlcnkoIGluc2VydFsgaSBdIClbIG9yaWdpbmFsIF0oIGVsZW1zICk7XG5cblx0XHRcdC8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjAgb25seSwgUGhhbnRvbUpTIDEgb25seVxuXHRcdFx0Ly8gLmdldCgpIGJlY2F1c2UgcHVzaC5hcHBseShfLCBhcnJheWxpa2UpIHRocm93cyBvbiBhbmNpZW50IFdlYktpdFxuXHRcdFx0cHVzaC5hcHBseSggcmV0LCBlbGVtcy5nZXQoKSApO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLnB1c2hTdGFjayggcmV0ICk7XG5cdH07XG59ICk7XG52YXIgcm51bW5vbnB4ID0gbmV3IFJlZ0V4cCggXCJeKFwiICsgcG51bSArIFwiKSg/IXB4KVthLXolXSskXCIsIFwiaVwiICk7XG5cbnZhciBnZXRTdHlsZXMgPSBmdW5jdGlvbiggZWxlbSApIHtcblxuXHRcdC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seSwgRmlyZWZveCA8PTMwICgjMTUwOTgsICMxNDE1MClcblx0XHQvLyBJRSB0aHJvd3Mgb24gZWxlbWVudHMgY3JlYXRlZCBpbiBwb3B1cHNcblx0XHQvLyBGRiBtZWFud2hpbGUgdGhyb3dzIG9uIGZyYW1lIGVsZW1lbnRzIHRocm91Z2ggXCJkZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlXCJcblx0XHR2YXIgdmlldyA9IGVsZW0ub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztcblxuXHRcdGlmICggIXZpZXcgfHwgIXZpZXcub3BlbmVyICkge1xuXHRcdFx0dmlldyA9IHdpbmRvdztcblx0XHR9XG5cblx0XHRyZXR1cm4gdmlldy5nZXRDb21wdXRlZFN0eWxlKCBlbGVtICk7XG5cdH07XG5cbnZhciBzd2FwID0gZnVuY3Rpb24oIGVsZW0sIG9wdGlvbnMsIGNhbGxiYWNrICkge1xuXHR2YXIgcmV0LCBuYW1lLFxuXHRcdG9sZCA9IHt9O1xuXG5cdC8vIFJlbWVtYmVyIHRoZSBvbGQgdmFsdWVzLCBhbmQgaW5zZXJ0IHRoZSBuZXcgb25lc1xuXHRmb3IgKCBuYW1lIGluIG9wdGlvbnMgKSB7XG5cdFx0b2xkWyBuYW1lIF0gPSBlbGVtLnN0eWxlWyBuYW1lIF07XG5cdFx0ZWxlbS5zdHlsZVsgbmFtZSBdID0gb3B0aW9uc1sgbmFtZSBdO1xuXHR9XG5cblx0cmV0ID0gY2FsbGJhY2suY2FsbCggZWxlbSApO1xuXG5cdC8vIFJldmVydCB0aGUgb2xkIHZhbHVlc1xuXHRmb3IgKCBuYW1lIGluIG9wdGlvbnMgKSB7XG5cdFx0ZWxlbS5zdHlsZVsgbmFtZSBdID0gb2xkWyBuYW1lIF07XG5cdH1cblxuXHRyZXR1cm4gcmV0O1xufTtcblxuXG52YXIgcmJveFN0eWxlID0gbmV3IFJlZ0V4cCggY3NzRXhwYW5kLmpvaW4oIFwifFwiICksIFwiaVwiICk7XG5cblxuXG4oIGZ1bmN0aW9uKCkge1xuXG5cdC8vIEV4ZWN1dGluZyBib3RoIHBpeGVsUG9zaXRpb24gJiBib3hTaXppbmdSZWxpYWJsZSB0ZXN0cyByZXF1aXJlIG9ubHkgb25lIGxheW91dFxuXHQvLyBzbyB0aGV5J3JlIGV4ZWN1dGVkIGF0IHRoZSBzYW1lIHRpbWUgdG8gc2F2ZSB0aGUgc2Vjb25kIGNvbXB1dGF0aW9uLlxuXHRmdW5jdGlvbiBjb21wdXRlU3R5bGVUZXN0cygpIHtcblxuXHRcdC8vIFRoaXMgaXMgYSBzaW5nbGV0b24sIHdlIG5lZWQgdG8gZXhlY3V0ZSBpdCBvbmx5IG9uY2Vcblx0XHRpZiAoICFkaXYgKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29udGFpbmVyLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTExMTExcHg7d2lkdGg6NjBweDtcIiArXG5cdFx0XHRcIm1hcmdpbi10b3A6MXB4O3BhZGRpbmc6MDtib3JkZXI6MFwiO1xuXHRcdGRpdi5zdHlsZS5jc3NUZXh0ID1cblx0XHRcdFwicG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztib3gtc2l6aW5nOmJvcmRlci1ib3g7b3ZlcmZsb3c6c2Nyb2xsO1wiICtcblx0XHRcdFwibWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDtcIiArXG5cdFx0XHRcIndpZHRoOjYwJTt0b3A6MSVcIjtcblx0XHRkb2N1bWVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoIGNvbnRhaW5lciApLmFwcGVuZENoaWxkKCBkaXYgKTtcblxuXHRcdHZhciBkaXZTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCBkaXYgKTtcblx0XHRwaXhlbFBvc2l0aW9uVmFsID0gZGl2U3R5bGUudG9wICE9PSBcIjElXCI7XG5cblx0XHQvLyBTdXBwb3J0OiBBbmRyb2lkIDQuMCAtIDQuMyBvbmx5LCBGaXJlZm94IDw9MyAtIDQ0XG5cdFx0cmVsaWFibGVNYXJnaW5MZWZ0VmFsID0gcm91bmRQaXhlbE1lYXN1cmVzKCBkaXZTdHlsZS5tYXJnaW5MZWZ0ICkgPT09IDEyO1xuXG5cdFx0Ly8gU3VwcG9ydDogQW5kcm9pZCA0LjAgLSA0LjMgb25seSwgU2FmYXJpIDw9OS4xIC0gMTAuMSwgaU9TIDw9Ny4wIC0gOS4zXG5cdFx0Ly8gU29tZSBzdHlsZXMgY29tZSBiYWNrIHdpdGggcGVyY2VudGFnZSB2YWx1ZXMsIGV2ZW4gdGhvdWdoIHRoZXkgc2hvdWxkbid0XG5cdFx0ZGl2LnN0eWxlLnJpZ2h0ID0gXCI2MCVcIjtcblx0XHRwaXhlbEJveFN0eWxlc1ZhbCA9IHJvdW5kUGl4ZWxNZWFzdXJlcyggZGl2U3R5bGUucmlnaHQgKSA9PT0gMzY7XG5cblx0XHQvLyBTdXBwb3J0OiBJRSA5IC0gMTEgb25seVxuXHRcdC8vIERldGVjdCBtaXNyZXBvcnRpbmcgb2YgY29udGVudCBkaW1lbnNpb25zIGZvciBib3gtc2l6aW5nOmJvcmRlci1ib3ggZWxlbWVudHNcblx0XHRib3hTaXppbmdSZWxpYWJsZVZhbCA9IHJvdW5kUGl4ZWxNZWFzdXJlcyggZGl2U3R5bGUud2lkdGggKSA9PT0gMzY7XG5cblx0XHQvLyBTdXBwb3J0OiBJRSA5IG9ubHlcblx0XHQvLyBEZXRlY3Qgb3ZlcmZsb3c6c2Nyb2xsIHNjcmV3aW5lc3MgKGdoLTM2OTkpXG5cdFx0Ly8gU3VwcG9ydDogQ2hyb21lIDw9NjRcblx0XHQvLyBEb24ndCBnZXQgdHJpY2tlZCB3aGVuIHpvb20gYWZmZWN0cyBvZmZzZXRXaWR0aCAoZ2gtNDAyOSlcblx0XHRkaXYuc3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCI7XG5cdFx0c2Nyb2xsYm94U2l6ZVZhbCA9IHJvdW5kUGl4ZWxNZWFzdXJlcyggZGl2Lm9mZnNldFdpZHRoIC8gMyApID09PSAxMjtcblxuXHRcdGRvY3VtZW50RWxlbWVudC5yZW1vdmVDaGlsZCggY29udGFpbmVyICk7XG5cblx0XHQvLyBOdWxsaWZ5IHRoZSBkaXYgc28gaXQgd291bGRuJ3QgYmUgc3RvcmVkIGluIHRoZSBtZW1vcnkgYW5kXG5cdFx0Ly8gaXQgd2lsbCBhbHNvIGJlIGEgc2lnbiB0aGF0IGNoZWNrcyBhbHJlYWR5IHBlcmZvcm1lZFxuXHRcdGRpdiA9IG51bGw7XG5cdH1cblxuXHRmdW5jdGlvbiByb3VuZFBpeGVsTWVhc3VyZXMoIG1lYXN1cmUgKSB7XG5cdFx0cmV0dXJuIE1hdGgucm91bmQoIHBhcnNlRmxvYXQoIG1lYXN1cmUgKSApO1xuXHR9XG5cblx0dmFyIHBpeGVsUG9zaXRpb25WYWwsIGJveFNpemluZ1JlbGlhYmxlVmFsLCBzY3JvbGxib3hTaXplVmFsLCBwaXhlbEJveFN0eWxlc1ZhbCxcblx0XHRyZWxpYWJsZVRyRGltZW5zaW9uc1ZhbCwgcmVsaWFibGVNYXJnaW5MZWZ0VmFsLFxuXHRcdGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiZGl2XCIgKSxcblx0XHRkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcImRpdlwiICk7XG5cblx0Ly8gRmluaXNoIGVhcmx5IGluIGxpbWl0ZWQgKG5vbi1icm93c2VyKSBlbnZpcm9ubWVudHNcblx0aWYgKCAhZGl2LnN0eWxlICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHlcblx0Ly8gU3R5bGUgb2YgY2xvbmVkIGVsZW1lbnQgYWZmZWN0cyBzb3VyY2UgZWxlbWVudCBjbG9uZWQgKCM4OTA4KVxuXHRkaXYuc3R5bGUuYmFja2dyb3VuZENsaXAgPSBcImNvbnRlbnQtYm94XCI7XG5cdGRpdi5jbG9uZU5vZGUoIHRydWUgKS5zdHlsZS5iYWNrZ3JvdW5kQ2xpcCA9IFwiXCI7XG5cdHN1cHBvcnQuY2xlYXJDbG9uZVN0eWxlID0gZGl2LnN0eWxlLmJhY2tncm91bmRDbGlwID09PSBcImNvbnRlbnQtYm94XCI7XG5cblx0alF1ZXJ5LmV4dGVuZCggc3VwcG9ydCwge1xuXHRcdGJveFNpemluZ1JlbGlhYmxlOiBmdW5jdGlvbigpIHtcblx0XHRcdGNvbXB1dGVTdHlsZVRlc3RzKCk7XG5cdFx0XHRyZXR1cm4gYm94U2l6aW5nUmVsaWFibGVWYWw7XG5cdFx0fSxcblx0XHRwaXhlbEJveFN0eWxlczogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb21wdXRlU3R5bGVUZXN0cygpO1xuXHRcdFx0cmV0dXJuIHBpeGVsQm94U3R5bGVzVmFsO1xuXHRcdH0sXG5cdFx0cGl4ZWxQb3NpdGlvbjogZnVuY3Rpb24oKSB7XG5cdFx0XHRjb21wdXRlU3R5bGVUZXN0cygpO1xuXHRcdFx0cmV0dXJuIHBpeGVsUG9zaXRpb25WYWw7XG5cdFx0fSxcblx0XHRyZWxpYWJsZU1hcmdpbkxlZnQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0Y29tcHV0ZVN0eWxlVGVzdHMoKTtcblx0XHRcdHJldHVybiByZWxpYWJsZU1hcmdpbkxlZnRWYWw7XG5cdFx0fSxcblx0XHRzY3JvbGxib3hTaXplOiBmdW5jdGlvbigpIHtcblx0XHRcdGNvbXB1dGVTdHlsZVRlc3RzKCk7XG5cdFx0XHRyZXR1cm4gc2Nyb2xsYm94U2l6ZVZhbDtcblx0XHR9LFxuXG5cdFx0Ly8gU3VwcG9ydDogSUUgOSAtIDExKywgRWRnZSAxNSAtIDE4K1xuXHRcdC8vIElFL0VkZ2UgbWlzcmVwb3J0IGBnZXRDb21wdXRlZFN0eWxlYCBvZiB0YWJsZSByb3dzIHdpdGggd2lkdGgvaGVpZ2h0XG5cdFx0Ly8gc2V0IGluIENTUyB3aGlsZSBgb2Zmc2V0KmAgcHJvcGVydGllcyByZXBvcnQgY29ycmVjdCB2YWx1ZXMuXG5cdFx0Ly8gQmVoYXZpb3IgaW4gSUUgOSBpcyBtb3JlIHN1YnRsZSB0aGFuIGluIG5ld2VyIHZlcnNpb25zICYgaXQgcGFzc2VzXG5cdFx0Ly8gc29tZSB2ZXJzaW9ucyBvZiB0aGlzIHRlc3Q7IG1ha2Ugc3VyZSBub3QgdG8gbWFrZSBpdCBwYXNzIHRoZXJlIVxuXHRcdHJlbGlhYmxlVHJEaW1lbnNpb25zOiBmdW5jdGlvbigpIHtcblx0XHRcdHZhciB0YWJsZSwgdHIsIHRyQ2hpbGQsIHRyU3R5bGU7XG5cdFx0XHRpZiAoIHJlbGlhYmxlVHJEaW1lbnNpb25zVmFsID09IG51bGwgKSB7XG5cdFx0XHRcdHRhYmxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJ0YWJsZVwiICk7XG5cdFx0XHRcdHRyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJ0clwiICk7XG5cdFx0XHRcdHRyQ2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCBcImRpdlwiICk7XG5cblx0XHRcdFx0dGFibGUuc3R5bGUuY3NzVGV4dCA9IFwicG9zaXRpb246YWJzb2x1dGU7bGVmdDotMTExMTFweFwiO1xuXHRcdFx0XHR0ci5zdHlsZS5oZWlnaHQgPSBcIjFweFwiO1xuXHRcdFx0XHR0ckNoaWxkLnN0eWxlLmhlaWdodCA9IFwiOXB4XCI7XG5cblx0XHRcdFx0ZG9jdW1lbnRFbGVtZW50XG5cdFx0XHRcdFx0LmFwcGVuZENoaWxkKCB0YWJsZSApXG5cdFx0XHRcdFx0LmFwcGVuZENoaWxkKCB0ciApXG5cdFx0XHRcdFx0LmFwcGVuZENoaWxkKCB0ckNoaWxkICk7XG5cblx0XHRcdFx0dHJTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKCB0ciApO1xuXHRcdFx0XHRyZWxpYWJsZVRyRGltZW5zaW9uc1ZhbCA9IHBhcnNlSW50KCB0clN0eWxlLmhlaWdodCApID4gMztcblxuXHRcdFx0XHRkb2N1bWVudEVsZW1lbnQucmVtb3ZlQ2hpbGQoIHRhYmxlICk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gcmVsaWFibGVUckRpbWVuc2lvbnNWYWw7XG5cdFx0fVxuXHR9ICk7XG59ICkoKTtcblxuXG5mdW5jdGlvbiBjdXJDU1MoIGVsZW0sIG5hbWUsIGNvbXB1dGVkICkge1xuXHR2YXIgd2lkdGgsIG1pbldpZHRoLCBtYXhXaWR0aCwgcmV0LFxuXG5cdFx0Ly8gU3VwcG9ydDogRmlyZWZveCA1MStcblx0XHQvLyBSZXRyaWV2aW5nIHN0eWxlIGJlZm9yZSBjb21wdXRlZCBzb21laG93XG5cdFx0Ly8gZml4ZXMgYW4gaXNzdWUgd2l0aCBnZXR0aW5nIHdyb25nIHZhbHVlc1xuXHRcdC8vIG9uIGRldGFjaGVkIGVsZW1lbnRzXG5cdFx0c3R5bGUgPSBlbGVtLnN0eWxlO1xuXG5cdGNvbXB1dGVkID0gY29tcHV0ZWQgfHwgZ2V0U3R5bGVzKCBlbGVtICk7XG5cblx0Ly8gZ2V0UHJvcGVydHlWYWx1ZSBpcyBuZWVkZWQgZm9yOlxuXHQvLyAgIC5jc3MoJ2ZpbHRlcicpIChJRSA5IG9ubHksICMxMjUzNylcblx0Ly8gICAuY3NzKCctLWN1c3RvbVByb3BlcnR5KSAoIzMxNDQpXG5cdGlmICggY29tcHV0ZWQgKSB7XG5cdFx0cmV0ID0gY29tcHV0ZWQuZ2V0UHJvcGVydHlWYWx1ZSggbmFtZSApIHx8IGNvbXB1dGVkWyBuYW1lIF07XG5cblx0XHRpZiAoIHJldCA9PT0gXCJcIiAmJiAhaXNBdHRhY2hlZCggZWxlbSApICkge1xuXHRcdFx0cmV0ID0galF1ZXJ5LnN0eWxlKCBlbGVtLCBuYW1lICk7XG5cdFx0fVxuXG5cdFx0Ly8gQSB0cmlidXRlIHRvIHRoZSBcImF3ZXNvbWUgaGFjayBieSBEZWFuIEVkd2FyZHNcIlxuXHRcdC8vIEFuZHJvaWQgQnJvd3NlciByZXR1cm5zIHBlcmNlbnRhZ2UgZm9yIHNvbWUgdmFsdWVzLFxuXHRcdC8vIGJ1dCB3aWR0aCBzZWVtcyB0byBiZSByZWxpYWJseSBwaXhlbHMuXG5cdFx0Ly8gVGhpcyBpcyBhZ2FpbnN0IHRoZSBDU1NPTSBkcmFmdCBzcGVjOlxuXHRcdC8vIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3NvbS8jcmVzb2x2ZWQtdmFsdWVzXG5cdFx0aWYgKCAhc3VwcG9ydC5waXhlbEJveFN0eWxlcygpICYmIHJudW1ub25weC50ZXN0KCByZXQgKSAmJiByYm94U3R5bGUudGVzdCggbmFtZSApICkge1xuXG5cdFx0XHQvLyBSZW1lbWJlciB0aGUgb3JpZ2luYWwgdmFsdWVzXG5cdFx0XHR3aWR0aCA9IHN0eWxlLndpZHRoO1xuXHRcdFx0bWluV2lkdGggPSBzdHlsZS5taW5XaWR0aDtcblx0XHRcdG1heFdpZHRoID0gc3R5bGUubWF4V2lkdGg7XG5cblx0XHRcdC8vIFB1dCBpbiB0aGUgbmV3IHZhbHVlcyB0byBnZXQgYSBjb21wdXRlZCB2YWx1ZSBvdXRcblx0XHRcdHN0eWxlLm1pbldpZHRoID0gc3R5bGUubWF4V2lkdGggPSBzdHlsZS53aWR0aCA9IHJldDtcblx0XHRcdHJldCA9IGNvbXB1dGVkLndpZHRoO1xuXG5cdFx0XHQvLyBSZXZlcnQgdGhlIGNoYW5nZWQgdmFsdWVzXG5cdFx0XHRzdHlsZS53aWR0aCA9IHdpZHRoO1xuXHRcdFx0c3R5bGUubWluV2lkdGggPSBtaW5XaWR0aDtcblx0XHRcdHN0eWxlLm1heFdpZHRoID0gbWF4V2lkdGg7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHJldCAhPT0gdW5kZWZpbmVkID9cblxuXHRcdC8vIFN1cHBvcnQ6IElFIDw9OSAtIDExIG9ubHlcblx0XHQvLyBJRSByZXR1cm5zIHpJbmRleCB2YWx1ZSBhcyBhbiBpbnRlZ2VyLlxuXHRcdHJldCArIFwiXCIgOlxuXHRcdHJldDtcbn1cblxuXG5mdW5jdGlvbiBhZGRHZXRIb29rSWYoIGNvbmRpdGlvbkZuLCBob29rRm4gKSB7XG5cblx0Ly8gRGVmaW5lIHRoZSBob29rLCB3ZSdsbCBjaGVjayBvbiB0aGUgZmlyc3QgcnVuIGlmIGl0J3MgcmVhbGx5IG5lZWRlZC5cblx0cmV0dXJuIHtcblx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0aWYgKCBjb25kaXRpb25GbigpICkge1xuXG5cdFx0XHRcdC8vIEhvb2sgbm90IG5lZWRlZCAob3IgaXQncyBub3QgcG9zc2libGUgdG8gdXNlIGl0IGR1ZVxuXHRcdFx0XHQvLyB0byBtaXNzaW5nIGRlcGVuZGVuY3kpLCByZW1vdmUgaXQuXG5cdFx0XHRcdGRlbGV0ZSB0aGlzLmdldDtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBIb29rIG5lZWRlZDsgcmVkZWZpbmUgaXQgc28gdGhhdCB0aGUgc3VwcG9ydCB0ZXN0IGlzIG5vdCBleGVjdXRlZCBhZ2Fpbi5cblx0XHRcdHJldHVybiAoIHRoaXMuZ2V0ID0gaG9va0ZuICkuYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApO1xuXHRcdH1cblx0fTtcbn1cblxuXG52YXIgY3NzUHJlZml4ZXMgPSBbIFwiV2Via2l0XCIsIFwiTW96XCIsIFwibXNcIiBdLFxuXHRlbXB0eVN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJkaXZcIiApLnN0eWxlLFxuXHR2ZW5kb3JQcm9wcyA9IHt9O1xuXG4vLyBSZXR1cm4gYSB2ZW5kb3ItcHJlZml4ZWQgcHJvcGVydHkgb3IgdW5kZWZpbmVkXG5mdW5jdGlvbiB2ZW5kb3JQcm9wTmFtZSggbmFtZSApIHtcblxuXHQvLyBDaGVjayBmb3IgdmVuZG9yIHByZWZpeGVkIG5hbWVzXG5cdHZhciBjYXBOYW1lID0gbmFtZVsgMCBdLnRvVXBwZXJDYXNlKCkgKyBuYW1lLnNsaWNlKCAxICksXG5cdFx0aSA9IGNzc1ByZWZpeGVzLmxlbmd0aDtcblxuXHR3aGlsZSAoIGktLSApIHtcblx0XHRuYW1lID0gY3NzUHJlZml4ZXNbIGkgXSArIGNhcE5hbWU7XG5cdFx0aWYgKCBuYW1lIGluIGVtcHR5U3R5bGUgKSB7XG5cdFx0XHRyZXR1cm4gbmFtZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gUmV0dXJuIGEgcG90ZW50aWFsbHktbWFwcGVkIGpRdWVyeS5jc3NQcm9wcyBvciB2ZW5kb3IgcHJlZml4ZWQgcHJvcGVydHlcbmZ1bmN0aW9uIGZpbmFsUHJvcE5hbWUoIG5hbWUgKSB7XG5cdHZhciBmaW5hbCA9IGpRdWVyeS5jc3NQcm9wc1sgbmFtZSBdIHx8IHZlbmRvclByb3BzWyBuYW1lIF07XG5cblx0aWYgKCBmaW5hbCApIHtcblx0XHRyZXR1cm4gZmluYWw7XG5cdH1cblx0aWYgKCBuYW1lIGluIGVtcHR5U3R5bGUgKSB7XG5cdFx0cmV0dXJuIG5hbWU7XG5cdH1cblx0cmV0dXJuIHZlbmRvclByb3BzWyBuYW1lIF0gPSB2ZW5kb3JQcm9wTmFtZSggbmFtZSApIHx8IG5hbWU7XG59XG5cblxudmFyXG5cblx0Ly8gU3dhcHBhYmxlIGlmIGRpc3BsYXkgaXMgbm9uZSBvciBzdGFydHMgd2l0aCB0YWJsZVxuXHQvLyBleGNlcHQgXCJ0YWJsZVwiLCBcInRhYmxlLWNlbGxcIiwgb3IgXCJ0YWJsZS1jYXB0aW9uXCJcblx0Ly8gU2VlIGhlcmUgZm9yIGRpc3BsYXkgdmFsdWVzOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL0NTUy9kaXNwbGF5XG5cdHJkaXNwbGF5c3dhcCA9IC9eKG5vbmV8dGFibGUoPyEtY1tlYV0pLispLyxcblx0cmN1c3RvbVByb3AgPSAvXi0tLyxcblx0Y3NzU2hvdyA9IHsgcG9zaXRpb246IFwiYWJzb2x1dGVcIiwgdmlzaWJpbGl0eTogXCJoaWRkZW5cIiwgZGlzcGxheTogXCJibG9ja1wiIH0sXG5cdGNzc05vcm1hbFRyYW5zZm9ybSA9IHtcblx0XHRsZXR0ZXJTcGFjaW5nOiBcIjBcIixcblx0XHRmb250V2VpZ2h0OiBcIjQwMFwiXG5cdH07XG5cbmZ1bmN0aW9uIHNldFBvc2l0aXZlTnVtYmVyKCBfZWxlbSwgdmFsdWUsIHN1YnRyYWN0ICkge1xuXG5cdC8vIEFueSByZWxhdGl2ZSAoKy8tKSB2YWx1ZXMgaGF2ZSBhbHJlYWR5IGJlZW5cblx0Ly8gbm9ybWFsaXplZCBhdCB0aGlzIHBvaW50XG5cdHZhciBtYXRjaGVzID0gcmNzc051bS5leGVjKCB2YWx1ZSApO1xuXHRyZXR1cm4gbWF0Y2hlcyA/XG5cblx0XHQvLyBHdWFyZCBhZ2FpbnN0IHVuZGVmaW5lZCBcInN1YnRyYWN0XCIsIGUuZy4sIHdoZW4gdXNlZCBhcyBpbiBjc3NIb29rc1xuXHRcdE1hdGgubWF4KCAwLCBtYXRjaGVzWyAyIF0gLSAoIHN1YnRyYWN0IHx8IDAgKSApICsgKCBtYXRjaGVzWyAzIF0gfHwgXCJweFwiICkgOlxuXHRcdHZhbHVlO1xufVxuXG5mdW5jdGlvbiBib3hNb2RlbEFkanVzdG1lbnQoIGVsZW0sIGRpbWVuc2lvbiwgYm94LCBpc0JvcmRlckJveCwgc3R5bGVzLCBjb21wdXRlZFZhbCApIHtcblx0dmFyIGkgPSBkaW1lbnNpb24gPT09IFwid2lkdGhcIiA/IDEgOiAwLFxuXHRcdGV4dHJhID0gMCxcblx0XHRkZWx0YSA9IDA7XG5cblx0Ly8gQWRqdXN0bWVudCBtYXkgbm90IGJlIG5lY2Vzc2FyeVxuXHRpZiAoIGJveCA9PT0gKCBpc0JvcmRlckJveCA/IFwiYm9yZGVyXCIgOiBcImNvbnRlbnRcIiApICkge1xuXHRcdHJldHVybiAwO1xuXHR9XG5cblx0Zm9yICggOyBpIDwgNDsgaSArPSAyICkge1xuXG5cdFx0Ly8gQm90aCBib3ggbW9kZWxzIGV4Y2x1ZGUgbWFyZ2luXG5cdFx0aWYgKCBib3ggPT09IFwibWFyZ2luXCIgKSB7XG5cdFx0XHRkZWx0YSArPSBqUXVlcnkuY3NzKCBlbGVtLCBib3ggKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7XG5cdFx0fVxuXG5cdFx0Ly8gSWYgd2UgZ2V0IGhlcmUgd2l0aCBhIGNvbnRlbnQtYm94LCB3ZSdyZSBzZWVraW5nIFwicGFkZGluZ1wiIG9yIFwiYm9yZGVyXCIgb3IgXCJtYXJnaW5cIlxuXHRcdGlmICggIWlzQm9yZGVyQm94ICkge1xuXG5cdFx0XHQvLyBBZGQgcGFkZGluZ1xuXHRcdFx0ZGVsdGEgKz0galF1ZXJ5LmNzcyggZWxlbSwgXCJwYWRkaW5nXCIgKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7XG5cblx0XHRcdC8vIEZvciBcImJvcmRlclwiIG9yIFwibWFyZ2luXCIsIGFkZCBib3JkZXJcblx0XHRcdGlmICggYm94ICE9PSBcInBhZGRpbmdcIiApIHtcblx0XHRcdFx0ZGVsdGEgKz0galF1ZXJ5LmNzcyggZWxlbSwgXCJib3JkZXJcIiArIGNzc0V4cGFuZFsgaSBdICsgXCJXaWR0aFwiLCB0cnVlLCBzdHlsZXMgKTtcblxuXHRcdFx0Ly8gQnV0IHN0aWxsIGtlZXAgdHJhY2sgb2YgaXQgb3RoZXJ3aXNlXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRleHRyYSArPSBqUXVlcnkuY3NzKCBlbGVtLCBcImJvcmRlclwiICsgY3NzRXhwYW5kWyBpIF0gKyBcIldpZHRoXCIsIHRydWUsIHN0eWxlcyApO1xuXHRcdFx0fVxuXG5cdFx0Ly8gSWYgd2UgZ2V0IGhlcmUgd2l0aCBhIGJvcmRlci1ib3ggKGNvbnRlbnQgKyBwYWRkaW5nICsgYm9yZGVyKSwgd2UncmUgc2Vla2luZyBcImNvbnRlbnRcIiBvclxuXHRcdC8vIFwicGFkZGluZ1wiIG9yIFwibWFyZ2luXCJcblx0XHR9IGVsc2Uge1xuXG5cdFx0XHQvLyBGb3IgXCJjb250ZW50XCIsIHN1YnRyYWN0IHBhZGRpbmdcblx0XHRcdGlmICggYm94ID09PSBcImNvbnRlbnRcIiApIHtcblx0XHRcdFx0ZGVsdGEgLT0galF1ZXJ5LmNzcyggZWxlbSwgXCJwYWRkaW5nXCIgKyBjc3NFeHBhbmRbIGkgXSwgdHJ1ZSwgc3R5bGVzICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEZvciBcImNvbnRlbnRcIiBvciBcInBhZGRpbmdcIiwgc3VidHJhY3QgYm9yZGVyXG5cdFx0XHRpZiAoIGJveCAhPT0gXCJtYXJnaW5cIiApIHtcblx0XHRcdFx0ZGVsdGEgLT0galF1ZXJ5LmNzcyggZWxlbSwgXCJib3JkZXJcIiArIGNzc0V4cGFuZFsgaSBdICsgXCJXaWR0aFwiLCB0cnVlLCBzdHlsZXMgKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBBY2NvdW50IGZvciBwb3NpdGl2ZSBjb250ZW50LWJveCBzY3JvbGwgZ3V0dGVyIHdoZW4gcmVxdWVzdGVkIGJ5IHByb3ZpZGluZyBjb21wdXRlZFZhbFxuXHRpZiAoICFpc0JvcmRlckJveCAmJiBjb21wdXRlZFZhbCA+PSAwICkge1xuXG5cdFx0Ly8gb2Zmc2V0V2lkdGgvb2Zmc2V0SGVpZ2h0IGlzIGEgcm91bmRlZCBzdW0gb2YgY29udGVudCwgcGFkZGluZywgc2Nyb2xsIGd1dHRlciwgYW5kIGJvcmRlclxuXHRcdC8vIEFzc3VtaW5nIGludGVnZXIgc2Nyb2xsIGd1dHRlciwgc3VidHJhY3QgdGhlIHJlc3QgYW5kIHJvdW5kIGRvd25cblx0XHRkZWx0YSArPSBNYXRoLm1heCggMCwgTWF0aC5jZWlsKFxuXHRcdFx0ZWxlbVsgXCJvZmZzZXRcIiArIGRpbWVuc2lvblsgMCBdLnRvVXBwZXJDYXNlKCkgKyBkaW1lbnNpb24uc2xpY2UoIDEgKSBdIC1cblx0XHRcdGNvbXB1dGVkVmFsIC1cblx0XHRcdGRlbHRhIC1cblx0XHRcdGV4dHJhIC1cblx0XHRcdDAuNVxuXG5cdFx0Ly8gSWYgb2Zmc2V0V2lkdGgvb2Zmc2V0SGVpZ2h0IGlzIHVua25vd24sIHRoZW4gd2UgY2FuJ3QgZGV0ZXJtaW5lIGNvbnRlbnQtYm94IHNjcm9sbCBndXR0ZXJcblx0XHQvLyBVc2UgYW4gZXhwbGljaXQgemVybyB0byBhdm9pZCBOYU4gKGdoLTM5NjQpXG5cdFx0KSApIHx8IDA7XG5cdH1cblxuXHRyZXR1cm4gZGVsdGE7XG59XG5cbmZ1bmN0aW9uIGdldFdpZHRoT3JIZWlnaHQoIGVsZW0sIGRpbWVuc2lvbiwgZXh0cmEgKSB7XG5cblx0Ly8gU3RhcnQgd2l0aCBjb21wdXRlZCBzdHlsZVxuXHR2YXIgc3R5bGVzID0gZ2V0U3R5bGVzKCBlbGVtICksXG5cblx0XHQvLyBUbyBhdm9pZCBmb3JjaW5nIGEgcmVmbG93LCBvbmx5IGZldGNoIGJveFNpemluZyBpZiB3ZSBuZWVkIGl0IChnaC00MzIyKS5cblx0XHQvLyBGYWtlIGNvbnRlbnQtYm94IHVudGlsIHdlIGtub3cgaXQncyBuZWVkZWQgdG8ga25vdyB0aGUgdHJ1ZSB2YWx1ZS5cblx0XHRib3hTaXppbmdOZWVkZWQgPSAhc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZSgpIHx8IGV4dHJhLFxuXHRcdGlzQm9yZGVyQm94ID0gYm94U2l6aW5nTmVlZGVkICYmXG5cdFx0XHRqUXVlcnkuY3NzKCBlbGVtLCBcImJveFNpemluZ1wiLCBmYWxzZSwgc3R5bGVzICkgPT09IFwiYm9yZGVyLWJveFwiLFxuXHRcdHZhbHVlSXNCb3JkZXJCb3ggPSBpc0JvcmRlckJveCxcblxuXHRcdHZhbCA9IGN1ckNTUyggZWxlbSwgZGltZW5zaW9uLCBzdHlsZXMgKSxcblx0XHRvZmZzZXRQcm9wID0gXCJvZmZzZXRcIiArIGRpbWVuc2lvblsgMCBdLnRvVXBwZXJDYXNlKCkgKyBkaW1lbnNpb24uc2xpY2UoIDEgKTtcblxuXHQvLyBTdXBwb3J0OiBGaXJlZm94IDw9NTRcblx0Ly8gUmV0dXJuIGEgY29uZm91bmRpbmcgbm9uLXBpeGVsIHZhbHVlIG9yIGZlaWduIGlnbm9yYW5jZSwgYXMgYXBwcm9wcmlhdGUuXG5cdGlmICggcm51bW5vbnB4LnRlc3QoIHZhbCApICkge1xuXHRcdGlmICggIWV4dHJhICkge1xuXHRcdFx0cmV0dXJuIHZhbDtcblx0XHR9XG5cdFx0dmFsID0gXCJhdXRvXCI7XG5cdH1cblxuXG5cdC8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5XG5cdC8vIFVzZSBvZmZzZXRXaWR0aC9vZmZzZXRIZWlnaHQgZm9yIHdoZW4gYm94IHNpemluZyBpcyB1bnJlbGlhYmxlLlxuXHQvLyBJbiB0aG9zZSBjYXNlcywgdGhlIGNvbXB1dGVkIHZhbHVlIGNhbiBiZSB0cnVzdGVkIHRvIGJlIGJvcmRlci1ib3guXG5cdGlmICggKCAhc3VwcG9ydC5ib3hTaXppbmdSZWxpYWJsZSgpICYmIGlzQm9yZGVyQm94IHx8XG5cblx0XHQvLyBTdXBwb3J0OiBJRSAxMCAtIDExKywgRWRnZSAxNSAtIDE4K1xuXHRcdC8vIElFL0VkZ2UgbWlzcmVwb3J0IGBnZXRDb21wdXRlZFN0eWxlYCBvZiB0YWJsZSByb3dzIHdpdGggd2lkdGgvaGVpZ2h0XG5cdFx0Ly8gc2V0IGluIENTUyB3aGlsZSBgb2Zmc2V0KmAgcHJvcGVydGllcyByZXBvcnQgY29ycmVjdCB2YWx1ZXMuXG5cdFx0Ly8gSW50ZXJlc3RpbmdseSwgaW4gc29tZSBjYXNlcyBJRSA5IGRvZXNuJ3Qgc3VmZmVyIGZyb20gdGhpcyBpc3N1ZS5cblx0XHQhc3VwcG9ydC5yZWxpYWJsZVRyRGltZW5zaW9ucygpICYmIG5vZGVOYW1lKCBlbGVtLCBcInRyXCIgKSB8fFxuXG5cdFx0Ly8gRmFsbCBiYWNrIHRvIG9mZnNldFdpZHRoL29mZnNldEhlaWdodCB3aGVuIHZhbHVlIGlzIFwiYXV0b1wiXG5cdFx0Ly8gVGhpcyBoYXBwZW5zIGZvciBpbmxpbmUgZWxlbWVudHMgd2l0aCBubyBleHBsaWNpdCBzZXR0aW5nIChnaC0zNTcxKVxuXHRcdHZhbCA9PT0gXCJhdXRvXCIgfHxcblxuXHRcdC8vIFN1cHBvcnQ6IEFuZHJvaWQgPD00LjEgLSA0LjMgb25seVxuXHRcdC8vIEFsc28gdXNlIG9mZnNldFdpZHRoL29mZnNldEhlaWdodCBmb3IgbWlzcmVwb3J0ZWQgaW5saW5lIGRpbWVuc2lvbnMgKGdoLTM2MDIpXG5cdFx0IXBhcnNlRmxvYXQoIHZhbCApICYmIGpRdWVyeS5jc3MoIGVsZW0sIFwiZGlzcGxheVwiLCBmYWxzZSwgc3R5bGVzICkgPT09IFwiaW5saW5lXCIgKSAmJlxuXG5cdFx0Ly8gTWFrZSBzdXJlIHRoZSBlbGVtZW50IGlzIHZpc2libGUgJiBjb25uZWN0ZWRcblx0XHRlbGVtLmdldENsaWVudFJlY3RzKCkubGVuZ3RoICkge1xuXG5cdFx0aXNCb3JkZXJCb3ggPSBqUXVlcnkuY3NzKCBlbGVtLCBcImJveFNpemluZ1wiLCBmYWxzZSwgc3R5bGVzICkgPT09IFwiYm9yZGVyLWJveFwiO1xuXG5cdFx0Ly8gV2hlcmUgYXZhaWxhYmxlLCBvZmZzZXRXaWR0aC9vZmZzZXRIZWlnaHQgYXBwcm94aW1hdGUgYm9yZGVyIGJveCBkaW1lbnNpb25zLlxuXHRcdC8vIFdoZXJlIG5vdCBhdmFpbGFibGUgKGUuZy4sIFNWRyksIGFzc3VtZSB1bnJlbGlhYmxlIGJveC1zaXppbmcgYW5kIGludGVycHJldCB0aGVcblx0XHQvLyByZXRyaWV2ZWQgdmFsdWUgYXMgYSBjb250ZW50IGJveCBkaW1lbnNpb24uXG5cdFx0dmFsdWVJc0JvcmRlckJveCA9IG9mZnNldFByb3AgaW4gZWxlbTtcblx0XHRpZiAoIHZhbHVlSXNCb3JkZXJCb3ggKSB7XG5cdFx0XHR2YWwgPSBlbGVtWyBvZmZzZXRQcm9wIF07XG5cdFx0fVxuXHR9XG5cblx0Ly8gTm9ybWFsaXplIFwiXCIgYW5kIGF1dG9cblx0dmFsID0gcGFyc2VGbG9hdCggdmFsICkgfHwgMDtcblxuXHQvLyBBZGp1c3QgZm9yIHRoZSBlbGVtZW50J3MgYm94IG1vZGVsXG5cdHJldHVybiAoIHZhbCArXG5cdFx0Ym94TW9kZWxBZGp1c3RtZW50KFxuXHRcdFx0ZWxlbSxcblx0XHRcdGRpbWVuc2lvbixcblx0XHRcdGV4dHJhIHx8ICggaXNCb3JkZXJCb3ggPyBcImJvcmRlclwiIDogXCJjb250ZW50XCIgKSxcblx0XHRcdHZhbHVlSXNCb3JkZXJCb3gsXG5cdFx0XHRzdHlsZXMsXG5cblx0XHRcdC8vIFByb3ZpZGUgdGhlIGN1cnJlbnQgY29tcHV0ZWQgc2l6ZSB0byByZXF1ZXN0IHNjcm9sbCBndXR0ZXIgY2FsY3VsYXRpb24gKGdoLTM1ODkpXG5cdFx0XHR2YWxcblx0XHQpXG5cdCkgKyBcInB4XCI7XG59XG5cbmpRdWVyeS5leHRlbmQoIHtcblxuXHQvLyBBZGQgaW4gc3R5bGUgcHJvcGVydHkgaG9va3MgZm9yIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHRcblx0Ly8gYmVoYXZpb3Igb2YgZ2V0dGluZyBhbmQgc2V0dGluZyBhIHN0eWxlIHByb3BlcnR5XG5cdGNzc0hvb2tzOiB7XG5cdFx0b3BhY2l0eToge1xuXHRcdFx0Z2V0OiBmdW5jdGlvbiggZWxlbSwgY29tcHV0ZWQgKSB7XG5cdFx0XHRcdGlmICggY29tcHV0ZWQgKSB7XG5cblx0XHRcdFx0XHQvLyBXZSBzaG91bGQgYWx3YXlzIGdldCBhIG51bWJlciBiYWNrIGZyb20gb3BhY2l0eVxuXHRcdFx0XHRcdHZhciByZXQgPSBjdXJDU1MoIGVsZW0sIFwib3BhY2l0eVwiICk7XG5cdFx0XHRcdFx0cmV0dXJuIHJldCA9PT0gXCJcIiA/IFwiMVwiIDogcmV0O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxuXG5cdC8vIERvbid0IGF1dG9tYXRpY2FsbHkgYWRkIFwicHhcIiB0byB0aGVzZSBwb3NzaWJseS11bml0bGVzcyBwcm9wZXJ0aWVzXG5cdGNzc051bWJlcjoge1xuXHRcdFwiYW5pbWF0aW9uSXRlcmF0aW9uQ291bnRcIjogdHJ1ZSxcblx0XHRcImNvbHVtbkNvdW50XCI6IHRydWUsXG5cdFx0XCJmaWxsT3BhY2l0eVwiOiB0cnVlLFxuXHRcdFwiZmxleEdyb3dcIjogdHJ1ZSxcblx0XHRcImZsZXhTaHJpbmtcIjogdHJ1ZSxcblx0XHRcImZvbnRXZWlnaHRcIjogdHJ1ZSxcblx0XHRcImdyaWRBcmVhXCI6IHRydWUsXG5cdFx0XCJncmlkQ29sdW1uXCI6IHRydWUsXG5cdFx0XCJncmlkQ29sdW1uRW5kXCI6IHRydWUsXG5cdFx0XCJncmlkQ29sdW1uU3RhcnRcIjogdHJ1ZSxcblx0XHRcImdyaWRSb3dcIjogdHJ1ZSxcblx0XHRcImdyaWRSb3dFbmRcIjogdHJ1ZSxcblx0XHRcImdyaWRSb3dTdGFydFwiOiB0cnVlLFxuXHRcdFwibGluZUhlaWdodFwiOiB0cnVlLFxuXHRcdFwib3BhY2l0eVwiOiB0cnVlLFxuXHRcdFwib3JkZXJcIjogdHJ1ZSxcblx0XHRcIm9ycGhhbnNcIjogdHJ1ZSxcblx0XHRcIndpZG93c1wiOiB0cnVlLFxuXHRcdFwiekluZGV4XCI6IHRydWUsXG5cdFx0XCJ6b29tXCI6IHRydWVcblx0fSxcblxuXHQvLyBBZGQgaW4gcHJvcGVydGllcyB3aG9zZSBuYW1lcyB5b3Ugd2lzaCB0byBmaXggYmVmb3JlXG5cdC8vIHNldHRpbmcgb3IgZ2V0dGluZyB0aGUgdmFsdWVcblx0Y3NzUHJvcHM6IHt9LFxuXG5cdC8vIEdldCBhbmQgc2V0IHRoZSBzdHlsZSBwcm9wZXJ0eSBvbiBhIERPTSBOb2RlXG5cdHN0eWxlOiBmdW5jdGlvbiggZWxlbSwgbmFtZSwgdmFsdWUsIGV4dHJhICkge1xuXG5cdFx0Ly8gRG9uJ3Qgc2V0IHN0eWxlcyBvbiB0ZXh0IGFuZCBjb21tZW50IG5vZGVzXG5cdFx0aWYgKCAhZWxlbSB8fCBlbGVtLm5vZGVUeXBlID09PSAzIHx8IGVsZW0ubm9kZVR5cGUgPT09IDggfHwgIWVsZW0uc3R5bGUgKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gTWFrZSBzdXJlIHRoYXQgd2UncmUgd29ya2luZyB3aXRoIHRoZSByaWdodCBuYW1lXG5cdFx0dmFyIHJldCwgdHlwZSwgaG9va3MsXG5cdFx0XHRvcmlnTmFtZSA9IGNhbWVsQ2FzZSggbmFtZSApLFxuXHRcdFx0aXNDdXN0b21Qcm9wID0gcmN1c3RvbVByb3AudGVzdCggbmFtZSApLFxuXHRcdFx0c3R5bGUgPSBlbGVtLnN0eWxlO1xuXG5cdFx0Ly8gTWFrZSBzdXJlIHRoYXQgd2UncmUgd29ya2luZyB3aXRoIHRoZSByaWdodCBuYW1lLiBXZSBkb24ndFxuXHRcdC8vIHdhbnQgdG8gcXVlcnkgdGhlIHZhbHVlIGlmIGl0IGlzIGEgQ1NTIGN1c3RvbSBwcm9wZXJ0eVxuXHRcdC8vIHNpbmNlIHRoZXkgYXJlIHVzZXItZGVmaW5lZC5cblx0XHRpZiAoICFpc0N1c3RvbVByb3AgKSB7XG5cdFx0XHRuYW1lID0gZmluYWxQcm9wTmFtZSggb3JpZ05hbWUgKTtcblx0XHR9XG5cblx0XHQvLyBHZXRzIGhvb2sgZm9yIHRoZSBwcmVmaXhlZCB2ZXJzaW9uLCB0aGVuIHVucHJlZml4ZWQgdmVyc2lvblxuXHRcdGhvb2tzID0galF1ZXJ5LmNzc0hvb2tzWyBuYW1lIF0gfHwgalF1ZXJ5LmNzc0hvb2tzWyBvcmlnTmFtZSBdO1xuXG5cdFx0Ly8gQ2hlY2sgaWYgd2UncmUgc2V0dGluZyBhIHZhbHVlXG5cdFx0aWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICkge1xuXHRcdFx0dHlwZSA9IHR5cGVvZiB2YWx1ZTtcblxuXHRcdFx0Ly8gQ29udmVydCBcIis9XCIgb3IgXCItPVwiIHRvIHJlbGF0aXZlIG51bWJlcnMgKCM3MzQ1KVxuXHRcdFx0aWYgKCB0eXBlID09PSBcInN0cmluZ1wiICYmICggcmV0ID0gcmNzc051bS5leGVjKCB2YWx1ZSApICkgJiYgcmV0WyAxIF0gKSB7XG5cdFx0XHRcdHZhbHVlID0gYWRqdXN0Q1NTKCBlbGVtLCBuYW1lLCByZXQgKTtcblxuXHRcdFx0XHQvLyBGaXhlcyBidWcgIzkyMzdcblx0XHRcdFx0dHlwZSA9IFwibnVtYmVyXCI7XG5cdFx0XHR9XG5cblx0XHRcdC8vIE1ha2Ugc3VyZSB0aGF0IG51bGwgYW5kIE5hTiB2YWx1ZXMgYXJlbid0IHNldCAoIzcxMTYpXG5cdFx0XHRpZiAoIHZhbHVlID09IG51bGwgfHwgdmFsdWUgIT09IHZhbHVlICkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdC8vIElmIGEgbnVtYmVyIHdhcyBwYXNzZWQgaW4sIGFkZCB0aGUgdW5pdCAoZXhjZXB0IGZvciBjZXJ0YWluIENTUyBwcm9wZXJ0aWVzKVxuXHRcdFx0Ly8gVGhlIGlzQ3VzdG9tUHJvcCBjaGVjayBjYW4gYmUgcmVtb3ZlZCBpbiBqUXVlcnkgNC4wIHdoZW4gd2Ugb25seSBhdXRvLWFwcGVuZFxuXHRcdFx0Ly8gXCJweFwiIHRvIGEgZmV3IGhhcmRjb2RlZCB2YWx1ZXMuXG5cdFx0XHRpZiAoIHR5cGUgPT09IFwibnVtYmVyXCIgJiYgIWlzQ3VzdG9tUHJvcCApIHtcblx0XHRcdFx0dmFsdWUgKz0gcmV0ICYmIHJldFsgMyBdIHx8ICggalF1ZXJ5LmNzc051bWJlclsgb3JpZ05hbWUgXSA/IFwiXCIgOiBcInB4XCIgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gYmFja2dyb3VuZC0qIHByb3BzIGFmZmVjdCBvcmlnaW5hbCBjbG9uZSdzIHZhbHVlc1xuXHRcdFx0aWYgKCAhc3VwcG9ydC5jbGVhckNsb25lU3R5bGUgJiYgdmFsdWUgPT09IFwiXCIgJiYgbmFtZS5pbmRleE9mKCBcImJhY2tncm91bmRcIiApID09PSAwICkge1xuXHRcdFx0XHRzdHlsZVsgbmFtZSBdID0gXCJpbmhlcml0XCI7XG5cdFx0XHR9XG5cblx0XHRcdC8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQsIHVzZSB0aGF0IHZhbHVlLCBvdGhlcndpc2UganVzdCBzZXQgdGhlIHNwZWNpZmllZCB2YWx1ZVxuXHRcdFx0aWYgKCAhaG9va3MgfHwgISggXCJzZXRcIiBpbiBob29rcyApIHx8XG5cdFx0XHRcdCggdmFsdWUgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBleHRyYSApICkgIT09IHVuZGVmaW5lZCApIHtcblxuXHRcdFx0XHRpZiAoIGlzQ3VzdG9tUHJvcCApIHtcblx0XHRcdFx0XHRzdHlsZS5zZXRQcm9wZXJ0eSggbmFtZSwgdmFsdWUgKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzdHlsZVsgbmFtZSBdID0gdmFsdWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdH0gZWxzZSB7XG5cblx0XHRcdC8vIElmIGEgaG9vayB3YXMgcHJvdmlkZWQgZ2V0IHRoZSBub24tY29tcHV0ZWQgdmFsdWUgZnJvbSB0aGVyZVxuXHRcdFx0aWYgKCBob29rcyAmJiBcImdldFwiIGluIGhvb2tzICYmXG5cdFx0XHRcdCggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBmYWxzZSwgZXh0cmEgKSApICE9PSB1bmRlZmluZWQgKSB7XG5cblx0XHRcdFx0cmV0dXJuIHJldDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gT3RoZXJ3aXNlIGp1c3QgZ2V0IHRoZSB2YWx1ZSBmcm9tIHRoZSBzdHlsZSBvYmplY3Rcblx0XHRcdHJldHVybiBzdHlsZVsgbmFtZSBdO1xuXHRcdH1cblx0fSxcblxuXHRjc3M6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCBleHRyYSwgc3R5bGVzICkge1xuXHRcdHZhciB2YWwsIG51bSwgaG9va3MsXG5cdFx0XHRvcmlnTmFtZSA9IGNhbWVsQ2FzZSggbmFtZSApLFxuXHRcdFx0aXNDdXN0b21Qcm9wID0gcmN1c3RvbVByb3AudGVzdCggbmFtZSApO1xuXG5cdFx0Ly8gTWFrZSBzdXJlIHRoYXQgd2UncmUgd29ya2luZyB3aXRoIHRoZSByaWdodCBuYW1lLiBXZSBkb24ndFxuXHRcdC8vIHdhbnQgdG8gbW9kaWZ5IHRoZSB2YWx1ZSBpZiBpdCBpcyBhIENTUyBjdXN0b20gcHJvcGVydHlcblx0XHQvLyBzaW5jZSB0aGV5IGFyZSB1c2VyLWRlZmluZWQuXG5cdFx0aWYgKCAhaXNDdXN0b21Qcm9wICkge1xuXHRcdFx0bmFtZSA9IGZpbmFsUHJvcE5hbWUoIG9yaWdOYW1lICk7XG5cdFx0fVxuXG5cdFx0Ly8gVHJ5IHByZWZpeGVkIG5hbWUgZm9sbG93ZWQgYnkgdGhlIHVucHJlZml4ZWQgbmFtZVxuXHRcdGhvb2tzID0galF1ZXJ5LmNzc0hvb2tzWyBuYW1lIF0gfHwgalF1ZXJ5LmNzc0hvb2tzWyBvcmlnTmFtZSBdO1xuXG5cdFx0Ly8gSWYgYSBob29rIHdhcyBwcm92aWRlZCBnZXQgdGhlIGNvbXB1dGVkIHZhbHVlIGZyb20gdGhlcmVcblx0XHRpZiAoIGhvb2tzICYmIFwiZ2V0XCIgaW4gaG9va3MgKSB7XG5cdFx0XHR2YWwgPSBob29rcy5nZXQoIGVsZW0sIHRydWUsIGV4dHJhICk7XG5cdFx0fVxuXG5cdFx0Ly8gT3RoZXJ3aXNlLCBpZiBhIHdheSB0byBnZXQgdGhlIGNvbXB1dGVkIHZhbHVlIGV4aXN0cywgdXNlIHRoYXRcblx0XHRpZiAoIHZhbCA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0dmFsID0gY3VyQ1NTKCBlbGVtLCBuYW1lLCBzdHlsZXMgKTtcblx0XHR9XG5cblx0XHQvLyBDb252ZXJ0IFwibm9ybWFsXCIgdG8gY29tcHV0ZWQgdmFsdWVcblx0XHRpZiAoIHZhbCA9PT0gXCJub3JtYWxcIiAmJiBuYW1lIGluIGNzc05vcm1hbFRyYW5zZm9ybSApIHtcblx0XHRcdHZhbCA9IGNzc05vcm1hbFRyYW5zZm9ybVsgbmFtZSBdO1xuXHRcdH1cblxuXHRcdC8vIE1ha2UgbnVtZXJpYyBpZiBmb3JjZWQgb3IgYSBxdWFsaWZpZXIgd2FzIHByb3ZpZGVkIGFuZCB2YWwgbG9va3MgbnVtZXJpY1xuXHRcdGlmICggZXh0cmEgPT09IFwiXCIgfHwgZXh0cmEgKSB7XG5cdFx0XHRudW0gPSBwYXJzZUZsb2F0KCB2YWwgKTtcblx0XHRcdHJldHVybiBleHRyYSA9PT0gdHJ1ZSB8fCBpc0Zpbml0ZSggbnVtICkgPyBudW0gfHwgMCA6IHZhbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gdmFsO1xuXHR9XG59ICk7XG5cbmpRdWVyeS5lYWNoKCBbIFwiaGVpZ2h0XCIsIFwid2lkdGhcIiBdLCBmdW5jdGlvbiggX2ksIGRpbWVuc2lvbiApIHtcblx0alF1ZXJ5LmNzc0hvb2tzWyBkaW1lbnNpb24gXSA9IHtcblx0XHRnZXQ6IGZ1bmN0aW9uKCBlbGVtLCBjb21wdXRlZCwgZXh0cmEgKSB7XG5cdFx0XHRpZiAoIGNvbXB1dGVkICkge1xuXG5cdFx0XHRcdC8vIENlcnRhaW4gZWxlbWVudHMgY2FuIGhhdmUgZGltZW5zaW9uIGluZm8gaWYgd2UgaW52aXNpYmx5IHNob3cgdGhlbVxuXHRcdFx0XHQvLyBidXQgaXQgbXVzdCBoYXZlIGEgY3VycmVudCBkaXNwbGF5IHN0eWxlIHRoYXQgd291bGQgYmVuZWZpdFxuXHRcdFx0XHRyZXR1cm4gcmRpc3BsYXlzd2FwLnRlc3QoIGpRdWVyeS5jc3MoIGVsZW0sIFwiZGlzcGxheVwiICkgKSAmJlxuXG5cdFx0XHRcdFx0Ly8gU3VwcG9ydDogU2FmYXJpIDgrXG5cdFx0XHRcdFx0Ly8gVGFibGUgY29sdW1ucyBpbiBTYWZhcmkgaGF2ZSBub24temVybyBvZmZzZXRXaWR0aCAmIHplcm9cblx0XHRcdFx0XHQvLyBnZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB1bmxlc3MgZGlzcGxheSBpcyBjaGFuZ2VkLlxuXHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seVxuXHRcdFx0XHRcdC8vIFJ1bm5pbmcgZ2V0Qm91bmRpbmdDbGllbnRSZWN0IG9uIGEgZGlzY29ubmVjdGVkIG5vZGVcblx0XHRcdFx0XHQvLyBpbiBJRSB0aHJvd3MgYW4gZXJyb3IuXG5cdFx0XHRcdFx0KCAhZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCB8fCAhZWxlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCApID9cblx0XHRcdFx0XHRcdHN3YXAoIGVsZW0sIGNzc1Nob3csIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gZ2V0V2lkdGhPckhlaWdodCggZWxlbSwgZGltZW5zaW9uLCBleHRyYSApO1xuXHRcdFx0XHRcdFx0fSApIDpcblx0XHRcdFx0XHRcdGdldFdpZHRoT3JIZWlnaHQoIGVsZW0sIGRpbWVuc2lvbiwgZXh0cmEgKTtcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0c2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUsIGV4dHJhICkge1xuXHRcdFx0dmFyIG1hdGNoZXMsXG5cdFx0XHRcdHN0eWxlcyA9IGdldFN0eWxlcyggZWxlbSApLFxuXG5cdFx0XHRcdC8vIE9ubHkgcmVhZCBzdHlsZXMucG9zaXRpb24gaWYgdGhlIHRlc3QgaGFzIGEgY2hhbmNlIHRvIGZhaWxcblx0XHRcdFx0Ly8gdG8gYXZvaWQgZm9yY2luZyBhIHJlZmxvdy5cblx0XHRcdFx0c2Nyb2xsYm94U2l6ZUJ1Z2d5ID0gIXN1cHBvcnQuc2Nyb2xsYm94U2l6ZSgpICYmXG5cdFx0XHRcdFx0c3R5bGVzLnBvc2l0aW9uID09PSBcImFic29sdXRlXCIsXG5cblx0XHRcdFx0Ly8gVG8gYXZvaWQgZm9yY2luZyBhIHJlZmxvdywgb25seSBmZXRjaCBib3hTaXppbmcgaWYgd2UgbmVlZCBpdCAoZ2gtMzk5MSlcblx0XHRcdFx0Ym94U2l6aW5nTmVlZGVkID0gc2Nyb2xsYm94U2l6ZUJ1Z2d5IHx8IGV4dHJhLFxuXHRcdFx0XHRpc0JvcmRlckJveCA9IGJveFNpemluZ05lZWRlZCAmJlxuXHRcdFx0XHRcdGpRdWVyeS5jc3MoIGVsZW0sIFwiYm94U2l6aW5nXCIsIGZhbHNlLCBzdHlsZXMgKSA9PT0gXCJib3JkZXItYm94XCIsXG5cdFx0XHRcdHN1YnRyYWN0ID0gZXh0cmEgP1xuXHRcdFx0XHRcdGJveE1vZGVsQWRqdXN0bWVudChcblx0XHRcdFx0XHRcdGVsZW0sXG5cdFx0XHRcdFx0XHRkaW1lbnNpb24sXG5cdFx0XHRcdFx0XHRleHRyYSxcblx0XHRcdFx0XHRcdGlzQm9yZGVyQm94LFxuXHRcdFx0XHRcdFx0c3R5bGVzXG5cdFx0XHRcdFx0KSA6XG5cdFx0XHRcdFx0MDtcblxuXHRcdFx0Ly8gQWNjb3VudCBmb3IgdW5yZWxpYWJsZSBib3JkZXItYm94IGRpbWVuc2lvbnMgYnkgY29tcGFyaW5nIG9mZnNldCogdG8gY29tcHV0ZWQgYW5kXG5cdFx0XHQvLyBmYWtpbmcgYSBjb250ZW50LWJveCB0byBnZXQgYm9yZGVyIGFuZCBwYWRkaW5nIChnaC0zNjk5KVxuXHRcdFx0aWYgKCBpc0JvcmRlckJveCAmJiBzY3JvbGxib3hTaXplQnVnZ3kgKSB7XG5cdFx0XHRcdHN1YnRyYWN0IC09IE1hdGguY2VpbChcblx0XHRcdFx0XHRlbGVtWyBcIm9mZnNldFwiICsgZGltZW5zaW9uWyAwIF0udG9VcHBlckNhc2UoKSArIGRpbWVuc2lvbi5zbGljZSggMSApIF0gLVxuXHRcdFx0XHRcdHBhcnNlRmxvYXQoIHN0eWxlc1sgZGltZW5zaW9uIF0gKSAtXG5cdFx0XHRcdFx0Ym94TW9kZWxBZGp1c3RtZW50KCBlbGVtLCBkaW1lbnNpb24sIFwiYm9yZGVyXCIsIGZhbHNlLCBzdHlsZXMgKSAtXG5cdFx0XHRcdFx0MC41XG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIENvbnZlcnQgdG8gcGl4ZWxzIGlmIHZhbHVlIGFkanVzdG1lbnQgaXMgbmVlZGVkXG5cdFx0XHRpZiAoIHN1YnRyYWN0ICYmICggbWF0Y2hlcyA9IHJjc3NOdW0uZXhlYyggdmFsdWUgKSApICYmXG5cdFx0XHRcdCggbWF0Y2hlc1sgMyBdIHx8IFwicHhcIiApICE9PSBcInB4XCIgKSB7XG5cblx0XHRcdFx0ZWxlbS5zdHlsZVsgZGltZW5zaW9uIF0gPSB2YWx1ZTtcblx0XHRcdFx0dmFsdWUgPSBqUXVlcnkuY3NzKCBlbGVtLCBkaW1lbnNpb24gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHNldFBvc2l0aXZlTnVtYmVyKCBlbGVtLCB2YWx1ZSwgc3VidHJhY3QgKTtcblx0XHR9XG5cdH07XG59ICk7XG5cbmpRdWVyeS5jc3NIb29rcy5tYXJnaW5MZWZ0ID0gYWRkR2V0SG9va0lmKCBzdXBwb3J0LnJlbGlhYmxlTWFyZ2luTGVmdCxcblx0ZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkICkge1xuXHRcdGlmICggY29tcHV0ZWQgKSB7XG5cdFx0XHRyZXR1cm4gKCBwYXJzZUZsb2F0KCBjdXJDU1MoIGVsZW0sIFwibWFyZ2luTGVmdFwiICkgKSB8fFxuXHRcdFx0XHRlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQgLVxuXHRcdFx0XHRcdHN3YXAoIGVsZW0sIHsgbWFyZ2luTGVmdDogMCB9LCBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdHJldHVybiBlbGVtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmxlZnQ7XG5cdFx0XHRcdFx0fSApXG5cdFx0XHRcdCkgKyBcInB4XCI7XG5cdFx0fVxuXHR9XG4pO1xuXG4vLyBUaGVzZSBob29rcyBhcmUgdXNlZCBieSBhbmltYXRlIHRvIGV4cGFuZCBwcm9wZXJ0aWVzXG5qUXVlcnkuZWFjaCgge1xuXHRtYXJnaW46IFwiXCIsXG5cdHBhZGRpbmc6IFwiXCIsXG5cdGJvcmRlcjogXCJXaWR0aFwiXG59LCBmdW5jdGlvbiggcHJlZml4LCBzdWZmaXggKSB7XG5cdGpRdWVyeS5jc3NIb29rc1sgcHJlZml4ICsgc3VmZml4IF0gPSB7XG5cdFx0ZXhwYW5kOiBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0XHR2YXIgaSA9IDAsXG5cdFx0XHRcdGV4cGFuZGVkID0ge30sXG5cblx0XHRcdFx0Ly8gQXNzdW1lcyBhIHNpbmdsZSBudW1iZXIgaWYgbm90IGEgc3RyaW5nXG5cdFx0XHRcdHBhcnRzID0gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUuc3BsaXQoIFwiIFwiICkgOiBbIHZhbHVlIF07XG5cblx0XHRcdGZvciAoIDsgaSA8IDQ7IGkrKyApIHtcblx0XHRcdFx0ZXhwYW5kZWRbIHByZWZpeCArIGNzc0V4cGFuZFsgaSBdICsgc3VmZml4IF0gPVxuXHRcdFx0XHRcdHBhcnRzWyBpIF0gfHwgcGFydHNbIGkgLSAyIF0gfHwgcGFydHNbIDAgXTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIGV4cGFuZGVkO1xuXHRcdH1cblx0fTtcblxuXHRpZiAoIHByZWZpeCAhPT0gXCJtYXJnaW5cIiApIHtcblx0XHRqUXVlcnkuY3NzSG9va3NbIHByZWZpeCArIHN1ZmZpeCBdLnNldCA9IHNldFBvc2l0aXZlTnVtYmVyO1xuXHR9XG59ICk7XG5cbmpRdWVyeS5mbi5leHRlbmQoIHtcblx0Y3NzOiBmdW5jdGlvbiggbmFtZSwgdmFsdWUgKSB7XG5cdFx0cmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIGVsZW0sIG5hbWUsIHZhbHVlICkge1xuXHRcdFx0dmFyIHN0eWxlcywgbGVuLFxuXHRcdFx0XHRtYXAgPSB7fSxcblx0XHRcdFx0aSA9IDA7XG5cblx0XHRcdGlmICggQXJyYXkuaXNBcnJheSggbmFtZSApICkge1xuXHRcdFx0XHRzdHlsZXMgPSBnZXRTdHlsZXMoIGVsZW0gKTtcblx0XHRcdFx0bGVuID0gbmFtZS5sZW5ndGg7XG5cblx0XHRcdFx0Zm9yICggOyBpIDwgbGVuOyBpKysgKSB7XG5cdFx0XHRcdFx0bWFwWyBuYW1lWyBpIF0gXSA9IGpRdWVyeS5jc3MoIGVsZW0sIG5hbWVbIGkgXSwgZmFsc2UsIHN0eWxlcyApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIG1hcDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHZhbHVlICE9PSB1bmRlZmluZWQgP1xuXHRcdFx0XHRqUXVlcnkuc3R5bGUoIGVsZW0sIG5hbWUsIHZhbHVlICkgOlxuXHRcdFx0XHRqUXVlcnkuY3NzKCBlbGVtLCBuYW1lICk7XG5cdFx0fSwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7XG5cdH1cbn0gKTtcblxuXG5mdW5jdGlvbiBUd2VlbiggZWxlbSwgb3B0aW9ucywgcHJvcCwgZW5kLCBlYXNpbmcgKSB7XG5cdHJldHVybiBuZXcgVHdlZW4ucHJvdG90eXBlLmluaXQoIGVsZW0sIG9wdGlvbnMsIHByb3AsIGVuZCwgZWFzaW5nICk7XG59XG5qUXVlcnkuVHdlZW4gPSBUd2VlbjtcblxuVHdlZW4ucHJvdG90eXBlID0ge1xuXHRjb25zdHJ1Y3RvcjogVHdlZW4sXG5cdGluaXQ6IGZ1bmN0aW9uKCBlbGVtLCBvcHRpb25zLCBwcm9wLCBlbmQsIGVhc2luZywgdW5pdCApIHtcblx0XHR0aGlzLmVsZW0gPSBlbGVtO1xuXHRcdHRoaXMucHJvcCA9IHByb3A7XG5cdFx0dGhpcy5lYXNpbmcgPSBlYXNpbmcgfHwgalF1ZXJ5LmVhc2luZy5fZGVmYXVsdDtcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXHRcdHRoaXMuc3RhcnQgPSB0aGlzLm5vdyA9IHRoaXMuY3VyKCk7XG5cdFx0dGhpcy5lbmQgPSBlbmQ7XG5cdFx0dGhpcy51bml0ID0gdW5pdCB8fCAoIGpRdWVyeS5jc3NOdW1iZXJbIHByb3AgXSA/IFwiXCIgOiBcInB4XCIgKTtcblx0fSxcblx0Y3VyOiBmdW5jdGlvbigpIHtcblx0XHR2YXIgaG9va3MgPSBUd2Vlbi5wcm9wSG9va3NbIHRoaXMucHJvcCBdO1xuXG5cdFx0cmV0dXJuIGhvb2tzICYmIGhvb2tzLmdldCA/XG5cdFx0XHRob29rcy5nZXQoIHRoaXMgKSA6XG5cdFx0XHRUd2Vlbi5wcm9wSG9va3MuX2RlZmF1bHQuZ2V0KCB0aGlzICk7XG5cdH0sXG5cdHJ1bjogZnVuY3Rpb24oIHBlcmNlbnQgKSB7XG5cdFx0dmFyIGVhc2VkLFxuXHRcdFx0aG9va3MgPSBUd2Vlbi5wcm9wSG9va3NbIHRoaXMucHJvcCBdO1xuXG5cdFx0aWYgKCB0aGlzLm9wdGlvbnMuZHVyYXRpb24gKSB7XG5cdFx0XHR0aGlzLnBvcyA9IGVhc2VkID0galF1ZXJ5LmVhc2luZ1sgdGhpcy5lYXNpbmcgXShcblx0XHRcdFx0cGVyY2VudCwgdGhpcy5vcHRpb25zLmR1cmF0aW9uICogcGVyY2VudCwgMCwgMSwgdGhpcy5vcHRpb25zLmR1cmF0aW9uXG5cdFx0XHQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnBvcyA9IGVhc2VkID0gcGVyY2VudDtcblx0XHR9XG5cdFx0dGhpcy5ub3cgPSAoIHRoaXMuZW5kIC0gdGhpcy5zdGFydCApICogZWFzZWQgKyB0aGlzLnN0YXJ0O1xuXG5cdFx0aWYgKCB0aGlzLm9wdGlvbnMuc3RlcCApIHtcblx0XHRcdHRoaXMub3B0aW9ucy5zdGVwLmNhbGwoIHRoaXMuZWxlbSwgdGhpcy5ub3csIHRoaXMgKTtcblx0XHR9XG5cblx0XHRpZiAoIGhvb2tzICYmIGhvb2tzLnNldCApIHtcblx0XHRcdGhvb2tzLnNldCggdGhpcyApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRUd2Vlbi5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KCB0aGlzICk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59O1xuXG5Ud2Vlbi5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGUgPSBUd2Vlbi5wcm90b3R5cGU7XG5cblR3ZWVuLnByb3BIb29rcyA9IHtcblx0X2RlZmF1bHQ6IHtcblx0XHRnZXQ6IGZ1bmN0aW9uKCB0d2VlbiApIHtcblx0XHRcdHZhciByZXN1bHQ7XG5cblx0XHRcdC8vIFVzZSBhIHByb3BlcnR5IG9uIHRoZSBlbGVtZW50IGRpcmVjdGx5IHdoZW4gaXQgaXMgbm90IGEgRE9NIGVsZW1lbnQsXG5cdFx0XHQvLyBvciB3aGVuIHRoZXJlIGlzIG5vIG1hdGNoaW5nIHN0eWxlIHByb3BlcnR5IHRoYXQgZXhpc3RzLlxuXHRcdFx0aWYgKCB0d2Vlbi5lbGVtLm5vZGVUeXBlICE9PSAxIHx8XG5cdFx0XHRcdHR3ZWVuLmVsZW1bIHR3ZWVuLnByb3AgXSAhPSBudWxsICYmIHR3ZWVuLmVsZW0uc3R5bGVbIHR3ZWVuLnByb3AgXSA9PSBudWxsICkge1xuXHRcdFx0XHRyZXR1cm4gdHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBQYXNzaW5nIGFuIGVtcHR5IHN0cmluZyBhcyBhIDNyZCBwYXJhbWV0ZXIgdG8gLmNzcyB3aWxsIGF1dG9tYXRpY2FsbHlcblx0XHRcdC8vIGF0dGVtcHQgYSBwYXJzZUZsb2F0IGFuZCBmYWxsYmFjayB0byBhIHN0cmluZyBpZiB0aGUgcGFyc2UgZmFpbHMuXG5cdFx0XHQvLyBTaW1wbGUgdmFsdWVzIHN1Y2ggYXMgXCIxMHB4XCIgYXJlIHBhcnNlZCB0byBGbG9hdDtcblx0XHRcdC8vIGNvbXBsZXggdmFsdWVzIHN1Y2ggYXMgXCJyb3RhdGUoMXJhZClcIiBhcmUgcmV0dXJuZWQgYXMtaXMuXG5cdFx0XHRyZXN1bHQgPSBqUXVlcnkuY3NzKCB0d2Vlbi5lbGVtLCB0d2Vlbi5wcm9wLCBcIlwiICk7XG5cblx0XHRcdC8vIEVtcHR5IHN0cmluZ3MsIG51bGwsIHVuZGVmaW5lZCBhbmQgXCJhdXRvXCIgYXJlIGNvbnZlcnRlZCB0byAwLlxuXHRcdFx0cmV0dXJuICFyZXN1bHQgfHwgcmVzdWx0ID09PSBcImF1dG9cIiA/IDAgOiByZXN1bHQ7XG5cdFx0fSxcblx0XHRzZXQ6IGZ1bmN0aW9uKCB0d2VlbiApIHtcblxuXHRcdFx0Ly8gVXNlIHN0ZXAgaG9vayBmb3IgYmFjayBjb21wYXQuXG5cdFx0XHQvLyBVc2UgY3NzSG9vayBpZiBpdHMgdGhlcmUuXG5cdFx0XHQvLyBVc2UgLnN0eWxlIGlmIGF2YWlsYWJsZSBhbmQgdXNlIHBsYWluIHByb3BlcnRpZXMgd2hlcmUgYXZhaWxhYmxlLlxuXHRcdFx0aWYgKCBqUXVlcnkuZnguc3RlcFsgdHdlZW4ucHJvcCBdICkge1xuXHRcdFx0XHRqUXVlcnkuZnguc3RlcFsgdHdlZW4ucHJvcCBdKCB0d2VlbiApO1xuXHRcdFx0fSBlbHNlIGlmICggdHdlZW4uZWxlbS5ub2RlVHlwZSA9PT0gMSAmJiAoXG5cdFx0XHRcdFx0alF1ZXJ5LmNzc0hvb2tzWyB0d2Vlbi5wcm9wIF0gfHxcblx0XHRcdFx0XHR0d2Vlbi5lbGVtLnN0eWxlWyBmaW5hbFByb3BOYW1lKCB0d2Vlbi5wcm9wICkgXSAhPSBudWxsICkgKSB7XG5cdFx0XHRcdGpRdWVyeS5zdHlsZSggdHdlZW4uZWxlbSwgdHdlZW4ucHJvcCwgdHdlZW4ubm93ICsgdHdlZW4udW5pdCApO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdID0gdHdlZW4ubm93O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufTtcblxuLy8gU3VwcG9ydDogSUUgPD05IG9ubHlcbi8vIFBhbmljIGJhc2VkIGFwcHJvYWNoIHRvIHNldHRpbmcgdGhpbmdzIG9uIGRpc2Nvbm5lY3RlZCBub2Rlc1xuVHdlZW4ucHJvcEhvb2tzLnNjcm9sbFRvcCA9IFR3ZWVuLnByb3BIb29rcy5zY3JvbGxMZWZ0ID0ge1xuXHRzZXQ6IGZ1bmN0aW9uKCB0d2VlbiApIHtcblx0XHRpZiAoIHR3ZWVuLmVsZW0ubm9kZVR5cGUgJiYgdHdlZW4uZWxlbS5wYXJlbnROb2RlICkge1xuXHRcdFx0dHdlZW4uZWxlbVsgdHdlZW4ucHJvcCBdID0gdHdlZW4ubm93O1xuXHRcdH1cblx0fVxufTtcblxualF1ZXJ5LmVhc2luZyA9IHtcblx0bGluZWFyOiBmdW5jdGlvbiggcCApIHtcblx0XHRyZXR1cm4gcDtcblx0fSxcblx0c3dpbmc6IGZ1bmN0aW9uKCBwICkge1xuXHRcdHJldHVybiAwLjUgLSBNYXRoLmNvcyggcCAqIE1hdGguUEkgKSAvIDI7XG5cdH0sXG5cdF9kZWZhdWx0OiBcInN3aW5nXCJcbn07XG5cbmpRdWVyeS5meCA9IFR3ZWVuLnByb3RvdHlwZS5pbml0O1xuXG4vLyBCYWNrIGNvbXBhdCA8MS44IGV4dGVuc2lvbiBwb2ludFxualF1ZXJ5LmZ4LnN0ZXAgPSB7fTtcblxuXG5cblxudmFyXG5cdGZ4Tm93LCBpblByb2dyZXNzLFxuXHRyZnh0eXBlcyA9IC9eKD86dG9nZ2xlfHNob3d8aGlkZSkkLyxcblx0cnJ1biA9IC9xdWV1ZUhvb2tzJC87XG5cbmZ1bmN0aW9uIHNjaGVkdWxlKCkge1xuXHRpZiAoIGluUHJvZ3Jlc3MgKSB7XG5cdFx0aWYgKCBkb2N1bWVudC5oaWRkZW4gPT09IGZhbHNlICYmIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgKSB7XG5cdFx0XHR3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCBzY2hlZHVsZSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR3aW5kb3cuc2V0VGltZW91dCggc2NoZWR1bGUsIGpRdWVyeS5meC5pbnRlcnZhbCApO1xuXHRcdH1cblxuXHRcdGpRdWVyeS5meC50aWNrKCk7XG5cdH1cbn1cblxuLy8gQW5pbWF0aW9ucyBjcmVhdGVkIHN5bmNocm9ub3VzbHkgd2lsbCBydW4gc3luY2hyb25vdXNseVxuZnVuY3Rpb24gY3JlYXRlRnhOb3coKSB7XG5cdHdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHtcblx0XHRmeE5vdyA9IHVuZGVmaW5lZDtcblx0fSApO1xuXHRyZXR1cm4gKCBmeE5vdyA9IERhdGUubm93KCkgKTtcbn1cblxuLy8gR2VuZXJhdGUgcGFyYW1ldGVycyB0byBjcmVhdGUgYSBzdGFuZGFyZCBhbmltYXRpb25cbmZ1bmN0aW9uIGdlbkZ4KCB0eXBlLCBpbmNsdWRlV2lkdGggKSB7XG5cdHZhciB3aGljaCxcblx0XHRpID0gMCxcblx0XHRhdHRycyA9IHsgaGVpZ2h0OiB0eXBlIH07XG5cblx0Ly8gSWYgd2UgaW5jbHVkZSB3aWR0aCwgc3RlcCB2YWx1ZSBpcyAxIHRvIGRvIGFsbCBjc3NFeHBhbmQgdmFsdWVzLFxuXHQvLyBvdGhlcndpc2Ugc3RlcCB2YWx1ZSBpcyAyIHRvIHNraXAgb3ZlciBMZWZ0IGFuZCBSaWdodFxuXHRpbmNsdWRlV2lkdGggPSBpbmNsdWRlV2lkdGggPyAxIDogMDtcblx0Zm9yICggOyBpIDwgNDsgaSArPSAyIC0gaW5jbHVkZVdpZHRoICkge1xuXHRcdHdoaWNoID0gY3NzRXhwYW5kWyBpIF07XG5cdFx0YXR0cnNbIFwibWFyZ2luXCIgKyB3aGljaCBdID0gYXR0cnNbIFwicGFkZGluZ1wiICsgd2hpY2ggXSA9IHR5cGU7XG5cdH1cblxuXHRpZiAoIGluY2x1ZGVXaWR0aCApIHtcblx0XHRhdHRycy5vcGFjaXR5ID0gYXR0cnMud2lkdGggPSB0eXBlO1xuXHR9XG5cblx0cmV0dXJuIGF0dHJzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVUd2VlbiggdmFsdWUsIHByb3AsIGFuaW1hdGlvbiApIHtcblx0dmFyIHR3ZWVuLFxuXHRcdGNvbGxlY3Rpb24gPSAoIEFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdIHx8IFtdICkuY29uY2F0KCBBbmltYXRpb24udHdlZW5lcnNbIFwiKlwiIF0gKSxcblx0XHRpbmRleCA9IDAsXG5cdFx0bGVuZ3RoID0gY29sbGVjdGlvbi5sZW5ndGg7XG5cdGZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7XG5cdFx0aWYgKCAoIHR3ZWVuID0gY29sbGVjdGlvblsgaW5kZXggXS5jYWxsKCBhbmltYXRpb24sIHByb3AsIHZhbHVlICkgKSApIHtcblxuXHRcdFx0Ly8gV2UncmUgZG9uZSB3aXRoIHRoaXMgcHJvcGVydHlcblx0XHRcdHJldHVybiB0d2Vlbjtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gZGVmYXVsdFByZWZpbHRlciggZWxlbSwgcHJvcHMsIG9wdHMgKSB7XG5cdHZhciBwcm9wLCB2YWx1ZSwgdG9nZ2xlLCBob29rcywgb2xkZmlyZSwgcHJvcFR3ZWVuLCByZXN0b3JlRGlzcGxheSwgZGlzcGxheSxcblx0XHRpc0JveCA9IFwid2lkdGhcIiBpbiBwcm9wcyB8fCBcImhlaWdodFwiIGluIHByb3BzLFxuXHRcdGFuaW0gPSB0aGlzLFxuXHRcdG9yaWcgPSB7fSxcblx0XHRzdHlsZSA9IGVsZW0uc3R5bGUsXG5cdFx0aGlkZGVuID0gZWxlbS5ub2RlVHlwZSAmJiBpc0hpZGRlbldpdGhpblRyZWUoIGVsZW0gKSxcblx0XHRkYXRhU2hvdyA9IGRhdGFQcml2LmdldCggZWxlbSwgXCJmeHNob3dcIiApO1xuXG5cdC8vIFF1ZXVlLXNraXBwaW5nIGFuaW1hdGlvbnMgaGlqYWNrIHRoZSBmeCBob29rc1xuXHRpZiAoICFvcHRzLnF1ZXVlICkge1xuXHRcdGhvb2tzID0galF1ZXJ5Ll9xdWV1ZUhvb2tzKCBlbGVtLCBcImZ4XCIgKTtcblx0XHRpZiAoIGhvb2tzLnVucXVldWVkID09IG51bGwgKSB7XG5cdFx0XHRob29rcy51bnF1ZXVlZCA9IDA7XG5cdFx0XHRvbGRmaXJlID0gaG9va3MuZW1wdHkuZmlyZTtcblx0XHRcdGhvb2tzLmVtcHR5LmZpcmUgPSBmdW5jdGlvbigpIHtcblx0XHRcdFx0aWYgKCAhaG9va3MudW5xdWV1ZWQgKSB7XG5cdFx0XHRcdFx0b2xkZmlyZSgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdH1cblx0XHRob29rcy51bnF1ZXVlZCsrO1xuXG5cdFx0YW5pbS5hbHdheXMoIGZ1bmN0aW9uKCkge1xuXG5cdFx0XHQvLyBFbnN1cmUgdGhlIGNvbXBsZXRlIGhhbmRsZXIgaXMgY2FsbGVkIGJlZm9yZSB0aGlzIGNvbXBsZXRlc1xuXHRcdFx0YW5pbS5hbHdheXMoIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRob29rcy51bnF1ZXVlZC0tO1xuXHRcdFx0XHRpZiAoICFqUXVlcnkucXVldWUoIGVsZW0sIFwiZnhcIiApLmxlbmd0aCApIHtcblx0XHRcdFx0XHRob29rcy5lbXB0eS5maXJlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gKTtcblx0XHR9ICk7XG5cdH1cblxuXHQvLyBEZXRlY3Qgc2hvdy9oaWRlIGFuaW1hdGlvbnNcblx0Zm9yICggcHJvcCBpbiBwcm9wcyApIHtcblx0XHR2YWx1ZSA9IHByb3BzWyBwcm9wIF07XG5cdFx0aWYgKCByZnh0eXBlcy50ZXN0KCB2YWx1ZSApICkge1xuXHRcdFx0ZGVsZXRlIHByb3BzWyBwcm9wIF07XG5cdFx0XHR0b2dnbGUgPSB0b2dnbGUgfHwgdmFsdWUgPT09IFwidG9nZ2xlXCI7XG5cdFx0XHRpZiAoIHZhbHVlID09PSAoIGhpZGRlbiA/IFwiaGlkZVwiIDogXCJzaG93XCIgKSApIHtcblxuXHRcdFx0XHQvLyBQcmV0ZW5kIHRvIGJlIGhpZGRlbiBpZiB0aGlzIGlzIGEgXCJzaG93XCIgYW5kXG5cdFx0XHRcdC8vIHRoZXJlIGlzIHN0aWxsIGRhdGEgZnJvbSBhIHN0b3BwZWQgc2hvdy9oaWRlXG5cdFx0XHRcdGlmICggdmFsdWUgPT09IFwic2hvd1wiICYmIGRhdGFTaG93ICYmIGRhdGFTaG93WyBwcm9wIF0gIT09IHVuZGVmaW5lZCApIHtcblx0XHRcdFx0XHRoaWRkZW4gPSB0cnVlO1xuXG5cdFx0XHRcdC8vIElnbm9yZSBhbGwgb3RoZXIgbm8tb3Agc2hvdy9oaWRlIGRhdGFcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRjb250aW51ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0b3JpZ1sgcHJvcCBdID0gZGF0YVNob3cgJiYgZGF0YVNob3dbIHByb3AgXSB8fCBqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AgKTtcblx0XHR9XG5cdH1cblxuXHQvLyBCYWlsIG91dCBpZiB0aGlzIGlzIGEgbm8tb3AgbGlrZSAuaGlkZSgpLmhpZGUoKVxuXHRwcm9wVHdlZW4gPSAhalF1ZXJ5LmlzRW1wdHlPYmplY3QoIHByb3BzICk7XG5cdGlmICggIXByb3BUd2VlbiAmJiBqUXVlcnkuaXNFbXB0eU9iamVjdCggb3JpZyApICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdC8vIFJlc3RyaWN0IFwib3ZlcmZsb3dcIiBhbmQgXCJkaXNwbGF5XCIgc3R5bGVzIGR1cmluZyBib3ggYW5pbWF0aW9uc1xuXHRpZiAoIGlzQm94ICYmIGVsZW0ubm9kZVR5cGUgPT09IDEgKSB7XG5cblx0XHQvLyBTdXBwb3J0OiBJRSA8PTkgLSAxMSwgRWRnZSAxMiAtIDE1XG5cdFx0Ly8gUmVjb3JkIGFsbCAzIG92ZXJmbG93IGF0dHJpYnV0ZXMgYmVjYXVzZSBJRSBkb2VzIG5vdCBpbmZlciB0aGUgc2hvcnRoYW5kXG5cdFx0Ly8gZnJvbSBpZGVudGljYWxseS12YWx1ZWQgb3ZlcmZsb3dYIGFuZCBvdmVyZmxvd1kgYW5kIEVkZ2UganVzdCBtaXJyb3JzXG5cdFx0Ly8gdGhlIG92ZXJmbG93WCB2YWx1ZSB0aGVyZS5cblx0XHRvcHRzLm92ZXJmbG93ID0gWyBzdHlsZS5vdmVyZmxvdywgc3R5bGUub3ZlcmZsb3dYLCBzdHlsZS5vdmVyZmxvd1kgXTtcblxuXHRcdC8vIElkZW50aWZ5IGEgZGlzcGxheSB0eXBlLCBwcmVmZXJyaW5nIG9sZCBzaG93L2hpZGUgZGF0YSBvdmVyIHRoZSBDU1MgY2FzY2FkZVxuXHRcdHJlc3RvcmVEaXNwbGF5ID0gZGF0YVNob3cgJiYgZGF0YVNob3cuZGlzcGxheTtcblx0XHRpZiAoIHJlc3RvcmVEaXNwbGF5ID09IG51bGwgKSB7XG5cdFx0XHRyZXN0b3JlRGlzcGxheSA9IGRhdGFQcml2LmdldCggZWxlbSwgXCJkaXNwbGF5XCIgKTtcblx0XHR9XG5cdFx0ZGlzcGxheSA9IGpRdWVyeS5jc3MoIGVsZW0sIFwiZGlzcGxheVwiICk7XG5cdFx0aWYgKCBkaXNwbGF5ID09PSBcIm5vbmVcIiApIHtcblx0XHRcdGlmICggcmVzdG9yZURpc3BsYXkgKSB7XG5cdFx0XHRcdGRpc3BsYXkgPSByZXN0b3JlRGlzcGxheTtcblx0XHRcdH0gZWxzZSB7XG5cblx0XHRcdFx0Ly8gR2V0IG5vbmVtcHR5IHZhbHVlKHMpIGJ5IHRlbXBvcmFyaWx5IGZvcmNpbmcgdmlzaWJpbGl0eVxuXHRcdFx0XHRzaG93SGlkZSggWyBlbGVtIF0sIHRydWUgKTtcblx0XHRcdFx0cmVzdG9yZURpc3BsYXkgPSBlbGVtLnN0eWxlLmRpc3BsYXkgfHwgcmVzdG9yZURpc3BsYXk7XG5cdFx0XHRcdGRpc3BsYXkgPSBqUXVlcnkuY3NzKCBlbGVtLCBcImRpc3BsYXlcIiApO1xuXHRcdFx0XHRzaG93SGlkZSggWyBlbGVtIF0gKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBBbmltYXRlIGlubGluZSBlbGVtZW50cyBhcyBpbmxpbmUtYmxvY2tcblx0XHRpZiAoIGRpc3BsYXkgPT09IFwiaW5saW5lXCIgfHwgZGlzcGxheSA9PT0gXCJpbmxpbmUtYmxvY2tcIiAmJiByZXN0b3JlRGlzcGxheSAhPSBudWxsICkge1xuXHRcdFx0aWYgKCBqUXVlcnkuY3NzKCBlbGVtLCBcImZsb2F0XCIgKSA9PT0gXCJub25lXCIgKSB7XG5cblx0XHRcdFx0Ly8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgZGlzcGxheSB2YWx1ZSBhdCB0aGUgZW5kIG9mIHB1cmUgc2hvdy9oaWRlIGFuaW1hdGlvbnNcblx0XHRcdFx0aWYgKCAhcHJvcFR3ZWVuICkge1xuXHRcdFx0XHRcdGFuaW0uZG9uZSggZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRzdHlsZS5kaXNwbGF5ID0gcmVzdG9yZURpc3BsYXk7XG5cdFx0XHRcdFx0fSApO1xuXHRcdFx0XHRcdGlmICggcmVzdG9yZURpc3BsYXkgPT0gbnVsbCApIHtcblx0XHRcdFx0XHRcdGRpc3BsYXkgPSBzdHlsZS5kaXNwbGF5O1xuXHRcdFx0XHRcdFx0cmVzdG9yZURpc3BsYXkgPSBkaXNwbGF5ID09PSBcIm5vbmVcIiA/IFwiXCIgOiBkaXNwbGF5O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRzdHlsZS5kaXNwbGF5ID0gXCJpbmxpbmUtYmxvY2tcIjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpZiAoIG9wdHMub3ZlcmZsb3cgKSB7XG5cdFx0c3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiO1xuXHRcdGFuaW0uYWx3YXlzKCBmdW5jdGlvbigpIHtcblx0XHRcdHN0eWxlLm92ZXJmbG93ID0gb3B0cy5vdmVyZmxvd1sgMCBdO1xuXHRcdFx0c3R5bGUub3ZlcmZsb3dYID0gb3B0cy5vdmVyZmxvd1sgMSBdO1xuXHRcdFx0c3R5bGUub3ZlcmZsb3dZID0gb3B0cy5vdmVyZmxvd1sgMiBdO1xuXHRcdH0gKTtcblx0fVxuXG5cdC8vIEltcGxlbWVudCBzaG93L2hpZGUgYW5pbWF0aW9uc1xuXHRwcm9wVHdlZW4gPSBmYWxzZTtcblx0Zm9yICggcHJvcCBpbiBvcmlnICkge1xuXG5cdFx0Ly8gR2VuZXJhbCBzaG93L2hpZGUgc2V0dXAgZm9yIHRoaXMgZWxlbWVudCBhbmltYXRpb25cblx0XHRpZiAoICFwcm9wVHdlZW4gKSB7XG5cdFx0XHRpZiAoIGRhdGFTaG93ICkge1xuXHRcdFx0XHRpZiAoIFwiaGlkZGVuXCIgaW4gZGF0YVNob3cgKSB7XG5cdFx0XHRcdFx0aGlkZGVuID0gZGF0YVNob3cuaGlkZGVuO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRkYXRhU2hvdyA9IGRhdGFQcml2LmFjY2VzcyggZWxlbSwgXCJmeHNob3dcIiwgeyBkaXNwbGF5OiByZXN0b3JlRGlzcGxheSB9ICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFN0b3JlIGhpZGRlbi92aXNpYmxlIGZvciB0b2dnbGUgc28gYC5zdG9wKCkudG9nZ2xlKClgIFwicmV2ZXJzZXNcIlxuXHRcdFx0aWYgKCB0b2dnbGUgKSB7XG5cdFx0XHRcdGRhdGFTaG93LmhpZGRlbiA9ICFoaWRkZW47XG5cdFx0XHR9XG5cblx0XHRcdC8vIFNob3cgZWxlbWVudHMgYmVmb3JlIGFuaW1hdGluZyB0aGVtXG5cdFx0XHRpZiAoIGhpZGRlbiApIHtcblx0XHRcdFx0c2hvd0hpZGUoIFsgZWxlbSBdLCB0cnVlICk7XG5cdFx0XHR9XG5cblx0XHRcdC8qIGVzbGludC1kaXNhYmxlIG5vLWxvb3AtZnVuYyAqL1xuXG5cdFx0XHRhbmltLmRvbmUoIGZ1bmN0aW9uKCkge1xuXG5cdFx0XHQvKiBlc2xpbnQtZW5hYmxlIG5vLWxvb3AtZnVuYyAqL1xuXG5cdFx0XHRcdC8vIFRoZSBmaW5hbCBzdGVwIG9mIGEgXCJoaWRlXCIgYW5pbWF0aW9uIGlzIGFjdHVhbGx5IGhpZGluZyB0aGUgZWxlbWVudFxuXHRcdFx0XHRpZiAoICFoaWRkZW4gKSB7XG5cdFx0XHRcdFx0c2hvd0hpZGUoIFsgZWxlbSBdICk7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZGF0YVByaXYucmVtb3ZlKCBlbGVtLCBcImZ4c2hvd1wiICk7XG5cdFx0XHRcdGZvciAoIHByb3AgaW4gb3JpZyApIHtcblx0XHRcdFx0XHRqUXVlcnkuc3R5bGUoIGVsZW0sIHByb3AsIG9yaWdbIHByb3AgXSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cdFx0fVxuXG5cdFx0Ly8gUGVyLXByb3BlcnR5IHNldHVwXG5cdFx0cHJvcFR3ZWVuID0gY3JlYXRlVHdlZW4oIGhpZGRlbiA/IGRhdGFTaG93WyBwcm9wIF0gOiAwLCBwcm9wLCBhbmltICk7XG5cdFx0aWYgKCAhKCBwcm9wIGluIGRhdGFTaG93ICkgKSB7XG5cdFx0XHRkYXRhU2hvd1sgcHJvcCBdID0gcHJvcFR3ZWVuLnN0YXJ0O1xuXHRcdFx0aWYgKCBoaWRkZW4gKSB7XG5cdFx0XHRcdHByb3BUd2Vlbi5lbmQgPSBwcm9wVHdlZW4uc3RhcnQ7XG5cdFx0XHRcdHByb3BUd2Vlbi5zdGFydCA9IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbmZ1bmN0aW9uIHByb3BGaWx0ZXIoIHByb3BzLCBzcGVjaWFsRWFzaW5nICkge1xuXHR2YXIgaW5kZXgsIG5hbWUsIGVhc2luZywgdmFsdWUsIGhvb2tzO1xuXG5cdC8vIGNhbWVsQ2FzZSwgc3BlY2lhbEVhc2luZyBhbmQgZXhwYW5kIGNzc0hvb2sgcGFzc1xuXHRmb3IgKCBpbmRleCBpbiBwcm9wcyApIHtcblx0XHRuYW1lID0gY2FtZWxDYXNlKCBpbmRleCApO1xuXHRcdGVhc2luZyA9IHNwZWNpYWxFYXNpbmdbIG5hbWUgXTtcblx0XHR2YWx1ZSA9IHByb3BzWyBpbmRleCBdO1xuXHRcdGlmICggQXJyYXkuaXNBcnJheSggdmFsdWUgKSApIHtcblx0XHRcdGVhc2luZyA9IHZhbHVlWyAxIF07XG5cdFx0XHR2YWx1ZSA9IHByb3BzWyBpbmRleCBdID0gdmFsdWVbIDAgXTtcblx0XHR9XG5cblx0XHRpZiAoIGluZGV4ICE9PSBuYW1lICkge1xuXHRcdFx0cHJvcHNbIG5hbWUgXSA9IHZhbHVlO1xuXHRcdFx0ZGVsZXRlIHByb3BzWyBpbmRleCBdO1xuXHRcdH1cblxuXHRcdGhvb2tzID0galF1ZXJ5LmNzc0hvb2tzWyBuYW1lIF07XG5cdFx0aWYgKCBob29rcyAmJiBcImV4cGFuZFwiIGluIGhvb2tzICkge1xuXHRcdFx0dmFsdWUgPSBob29rcy5leHBhbmQoIHZhbHVlICk7XG5cdFx0XHRkZWxldGUgcHJvcHNbIG5hbWUgXTtcblxuXHRcdFx0Ly8gTm90IHF1aXRlICQuZXh0ZW5kLCB0aGlzIHdvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBrZXlzLlxuXHRcdFx0Ly8gUmV1c2luZyAnaW5kZXgnIGJlY2F1c2Ugd2UgaGF2ZSB0aGUgY29ycmVjdCBcIm5hbWVcIlxuXHRcdFx0Zm9yICggaW5kZXggaW4gdmFsdWUgKSB7XG5cdFx0XHRcdGlmICggISggaW5kZXggaW4gcHJvcHMgKSApIHtcblx0XHRcdFx0XHRwcm9wc1sgaW5kZXggXSA9IHZhbHVlWyBpbmRleCBdO1xuXHRcdFx0XHRcdHNwZWNpYWxFYXNpbmdbIGluZGV4IF0gPSBlYXNpbmc7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0c3BlY2lhbEVhc2luZ1sgbmFtZSBdID0gZWFzaW5nO1xuXHRcdH1cblx0fVxufVxuXG5mdW5jdGlvbiBBbmltYXRpb24oIGVsZW0sIHByb3BlcnRpZXMsIG9wdGlvbnMgKSB7XG5cdHZhciByZXN1bHQsXG5cdFx0c3RvcHBlZCxcblx0XHRpbmRleCA9IDAsXG5cdFx0bGVuZ3RoID0gQW5pbWF0aW9uLnByZWZpbHRlcnMubGVuZ3RoLFxuXHRcdGRlZmVycmVkID0galF1ZXJ5LkRlZmVycmVkKCkuYWx3YXlzKCBmdW5jdGlvbigpIHtcblxuXHRcdFx0Ly8gRG9uJ3QgbWF0Y2ggZWxlbSBpbiB0aGUgOmFuaW1hdGVkIHNlbGVjdG9yXG5cdFx0XHRkZWxldGUgdGljay5lbGVtO1xuXHRcdH0gKSxcblx0XHR0aWNrID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRpZiAoIHN0b3BwZWQgKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHRcdHZhciBjdXJyZW50VGltZSA9IGZ4Tm93IHx8IGNyZWF0ZUZ4Tm93KCksXG5cdFx0XHRcdHJlbWFpbmluZyA9IE1hdGgubWF4KCAwLCBhbmltYXRpb24uc3RhcnRUaW1lICsgYW5pbWF0aW9uLmR1cmF0aW9uIC0gY3VycmVudFRpbWUgKSxcblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBBbmRyb2lkIDIuMyBvbmx5XG5cdFx0XHRcdC8vIEFyY2hhaWMgY3Jhc2ggYnVnIHdvbid0IGFsbG93IHVzIHRvIHVzZSBgMSAtICggMC41IHx8IDAgKWAgKCMxMjQ5Nylcblx0XHRcdFx0dGVtcCA9IHJlbWFpbmluZyAvIGFuaW1hdGlvbi5kdXJhdGlvbiB8fCAwLFxuXHRcdFx0XHRwZXJjZW50ID0gMSAtIHRlbXAsXG5cdFx0XHRcdGluZGV4ID0gMCxcblx0XHRcdFx0bGVuZ3RoID0gYW5pbWF0aW9uLnR3ZWVucy5sZW5ndGg7XG5cblx0XHRcdGZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7XG5cdFx0XHRcdGFuaW1hdGlvbi50d2VlbnNbIGluZGV4IF0ucnVuKCBwZXJjZW50ICk7XG5cdFx0XHR9XG5cblx0XHRcdGRlZmVycmVkLm5vdGlmeVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCBwZXJjZW50LCByZW1haW5pbmcgXSApO1xuXG5cdFx0XHQvLyBJZiB0aGVyZSdzIG1vcmUgdG8gZG8sIHlpZWxkXG5cdFx0XHRpZiAoIHBlcmNlbnQgPCAxICYmIGxlbmd0aCApIHtcblx0XHRcdFx0cmV0dXJuIHJlbWFpbmluZztcblx0XHRcdH1cblxuXHRcdFx0Ly8gSWYgdGhpcyB3YXMgYW4gZW1wdHkgYW5pbWF0aW9uLCBzeW50aGVzaXplIGEgZmluYWwgcHJvZ3Jlc3Mgbm90aWZpY2F0aW9uXG5cdFx0XHRpZiAoICFsZW5ndGggKSB7XG5cdFx0XHRcdGRlZmVycmVkLm5vdGlmeVdpdGgoIGVsZW0sIFsgYW5pbWF0aW9uLCAxLCAwIF0gKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gUmVzb2x2ZSB0aGUgYW5pbWF0aW9uIGFuZCByZXBvcnQgaXRzIGNvbmNsdXNpb25cblx0XHRcdGRlZmVycmVkLnJlc29sdmVXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiBdICk7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fSxcblx0XHRhbmltYXRpb24gPSBkZWZlcnJlZC5wcm9taXNlKCB7XG5cdFx0XHRlbGVtOiBlbGVtLFxuXHRcdFx0cHJvcHM6IGpRdWVyeS5leHRlbmQoIHt9LCBwcm9wZXJ0aWVzICksXG5cdFx0XHRvcHRzOiBqUXVlcnkuZXh0ZW5kKCB0cnVlLCB7XG5cdFx0XHRcdHNwZWNpYWxFYXNpbmc6IHt9LFxuXHRcdFx0XHRlYXNpbmc6IGpRdWVyeS5lYXNpbmcuX2RlZmF1bHRcblx0XHRcdH0sIG9wdGlvbnMgKSxcblx0XHRcdG9yaWdpbmFsUHJvcGVydGllczogcHJvcGVydGllcyxcblx0XHRcdG9yaWdpbmFsT3B0aW9uczogb3B0aW9ucyxcblx0XHRcdHN0YXJ0VGltZTogZnhOb3cgfHwgY3JlYXRlRnhOb3coKSxcblx0XHRcdGR1cmF0aW9uOiBvcHRpb25zLmR1cmF0aW9uLFxuXHRcdFx0dHdlZW5zOiBbXSxcblx0XHRcdGNyZWF0ZVR3ZWVuOiBmdW5jdGlvbiggcHJvcCwgZW5kICkge1xuXHRcdFx0XHR2YXIgdHdlZW4gPSBqUXVlcnkuVHdlZW4oIGVsZW0sIGFuaW1hdGlvbi5vcHRzLCBwcm9wLCBlbmQsXG5cdFx0XHRcdFx0XHRhbmltYXRpb24ub3B0cy5zcGVjaWFsRWFzaW5nWyBwcm9wIF0gfHwgYW5pbWF0aW9uLm9wdHMuZWFzaW5nICk7XG5cdFx0XHRcdGFuaW1hdGlvbi50d2VlbnMucHVzaCggdHdlZW4gKTtcblx0XHRcdFx0cmV0dXJuIHR3ZWVuO1xuXHRcdFx0fSxcblx0XHRcdHN0b3A6IGZ1bmN0aW9uKCBnb3RvRW5kICkge1xuXHRcdFx0XHR2YXIgaW5kZXggPSAwLFxuXG5cdFx0XHRcdFx0Ly8gSWYgd2UgYXJlIGdvaW5nIHRvIHRoZSBlbmQsIHdlIHdhbnQgdG8gcnVuIGFsbCB0aGUgdHdlZW5zXG5cdFx0XHRcdFx0Ly8gb3RoZXJ3aXNlIHdlIHNraXAgdGhpcyBwYXJ0XG5cdFx0XHRcdFx0bGVuZ3RoID0gZ290b0VuZCA/IGFuaW1hdGlvbi50d2VlbnMubGVuZ3RoIDogMDtcblx0XHRcdFx0aWYgKCBzdG9wcGVkICkge1xuXHRcdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHN0b3BwZWQgPSB0cnVlO1xuXHRcdFx0XHRmb3IgKCA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrICkge1xuXHRcdFx0XHRcdGFuaW1hdGlvbi50d2VlbnNbIGluZGV4IF0ucnVuKCAxICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBSZXNvbHZlIHdoZW4gd2UgcGxheWVkIHRoZSBsYXN0IGZyYW1lOyBvdGhlcndpc2UsIHJlamVjdFxuXHRcdFx0XHRpZiAoIGdvdG9FbmQgKSB7XG5cdFx0XHRcdFx0ZGVmZXJyZWQubm90aWZ5V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIDEsIDAgXSApO1xuXHRcdFx0XHRcdGRlZmVycmVkLnJlc29sdmVXaXRoKCBlbGVtLCBbIGFuaW1hdGlvbiwgZ290b0VuZCBdICk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZGVmZXJyZWQucmVqZWN0V2l0aCggZWxlbSwgWyBhbmltYXRpb24sIGdvdG9FbmQgXSApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0fVxuXHRcdH0gKSxcblx0XHRwcm9wcyA9IGFuaW1hdGlvbi5wcm9wcztcblxuXHRwcm9wRmlsdGVyKCBwcm9wcywgYW5pbWF0aW9uLm9wdHMuc3BlY2lhbEVhc2luZyApO1xuXG5cdGZvciAoIDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7XG5cdFx0cmVzdWx0ID0gQW5pbWF0aW9uLnByZWZpbHRlcnNbIGluZGV4IF0uY2FsbCggYW5pbWF0aW9uLCBlbGVtLCBwcm9wcywgYW5pbWF0aW9uLm9wdHMgKTtcblx0XHRpZiAoIHJlc3VsdCApIHtcblx0XHRcdGlmICggaXNGdW5jdGlvbiggcmVzdWx0LnN0b3AgKSApIHtcblx0XHRcdFx0alF1ZXJ5Ll9xdWV1ZUhvb2tzKCBhbmltYXRpb24uZWxlbSwgYW5pbWF0aW9uLm9wdHMucXVldWUgKS5zdG9wID1cblx0XHRcdFx0XHRyZXN1bHQuc3RvcC5iaW5kKCByZXN1bHQgKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXHR9XG5cblx0alF1ZXJ5Lm1hcCggcHJvcHMsIGNyZWF0ZVR3ZWVuLCBhbmltYXRpb24gKTtcblxuXHRpZiAoIGlzRnVuY3Rpb24oIGFuaW1hdGlvbi5vcHRzLnN0YXJ0ICkgKSB7XG5cdFx0YW5pbWF0aW9uLm9wdHMuc3RhcnQuY2FsbCggZWxlbSwgYW5pbWF0aW9uICk7XG5cdH1cblxuXHQvLyBBdHRhY2ggY2FsbGJhY2tzIGZyb20gb3B0aW9uc1xuXHRhbmltYXRpb25cblx0XHQucHJvZ3Jlc3MoIGFuaW1hdGlvbi5vcHRzLnByb2dyZXNzIClcblx0XHQuZG9uZSggYW5pbWF0aW9uLm9wdHMuZG9uZSwgYW5pbWF0aW9uLm9wdHMuY29tcGxldGUgKVxuXHRcdC5mYWlsKCBhbmltYXRpb24ub3B0cy5mYWlsIClcblx0XHQuYWx3YXlzKCBhbmltYXRpb24ub3B0cy5hbHdheXMgKTtcblxuXHRqUXVlcnkuZngudGltZXIoXG5cdFx0alF1ZXJ5LmV4dGVuZCggdGljaywge1xuXHRcdFx0ZWxlbTogZWxlbSxcblx0XHRcdGFuaW06IGFuaW1hdGlvbixcblx0XHRcdHF1ZXVlOiBhbmltYXRpb24ub3B0cy5xdWV1ZVxuXHRcdH0gKVxuXHQpO1xuXG5cdHJldHVybiBhbmltYXRpb247XG59XG5cbmpRdWVyeS5BbmltYXRpb24gPSBqUXVlcnkuZXh0ZW5kKCBBbmltYXRpb24sIHtcblxuXHR0d2VlbmVyczoge1xuXHRcdFwiKlwiOiBbIGZ1bmN0aW9uKCBwcm9wLCB2YWx1ZSApIHtcblx0XHRcdHZhciB0d2VlbiA9IHRoaXMuY3JlYXRlVHdlZW4oIHByb3AsIHZhbHVlICk7XG5cdFx0XHRhZGp1c3RDU1MoIHR3ZWVuLmVsZW0sIHByb3AsIHJjc3NOdW0uZXhlYyggdmFsdWUgKSwgdHdlZW4gKTtcblx0XHRcdHJldHVybiB0d2Vlbjtcblx0XHR9IF1cblx0fSxcblxuXHR0d2VlbmVyOiBmdW5jdGlvbiggcHJvcHMsIGNhbGxiYWNrICkge1xuXHRcdGlmICggaXNGdW5jdGlvbiggcHJvcHMgKSApIHtcblx0XHRcdGNhbGxiYWNrID0gcHJvcHM7XG5cdFx0XHRwcm9wcyA9IFsgXCIqXCIgXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cHJvcHMgPSBwcm9wcy5tYXRjaCggcm5vdGh0bWx3aGl0ZSApO1xuXHRcdH1cblxuXHRcdHZhciBwcm9wLFxuXHRcdFx0aW5kZXggPSAwLFxuXHRcdFx0bGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG5cdFx0Zm9yICggOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKyApIHtcblx0XHRcdHByb3AgPSBwcm9wc1sgaW5kZXggXTtcblx0XHRcdEFuaW1hdGlvbi50d2VlbmVyc1sgcHJvcCBdID0gQW5pbWF0aW9uLnR3ZWVuZXJzWyBwcm9wIF0gfHwgW107XG5cdFx0XHRBbmltYXRpb24udHdlZW5lcnNbIHByb3AgXS51bnNoaWZ0KCBjYWxsYmFjayApO1xuXHRcdH1cblx0fSxcblxuXHRwcmVmaWx0ZXJzOiBbIGRlZmF1bHRQcmVmaWx0ZXIgXSxcblxuXHRwcmVmaWx0ZXI6IGZ1bmN0aW9uKCBjYWxsYmFjaywgcHJlcGVuZCApIHtcblx0XHRpZiAoIHByZXBlbmQgKSB7XG5cdFx0XHRBbmltYXRpb24ucHJlZmlsdGVycy51bnNoaWZ0KCBjYWxsYmFjayApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRBbmltYXRpb24ucHJlZmlsdGVycy5wdXNoKCBjYWxsYmFjayApO1xuXHRcdH1cblx0fVxufSApO1xuXG5qUXVlcnkuc3BlZWQgPSBmdW5jdGlvbiggc3BlZWQsIGVhc2luZywgZm4gKSB7XG5cdHZhciBvcHQgPSBzcGVlZCAmJiB0eXBlb2Ygc3BlZWQgPT09IFwib2JqZWN0XCIgPyBqUXVlcnkuZXh0ZW5kKCB7fSwgc3BlZWQgKSA6IHtcblx0XHRjb21wbGV0ZTogZm4gfHwgIWZuICYmIGVhc2luZyB8fFxuXHRcdFx0aXNGdW5jdGlvbiggc3BlZWQgKSAmJiBzcGVlZCxcblx0XHRkdXJhdGlvbjogc3BlZWQsXG5cdFx0ZWFzaW5nOiBmbiAmJiBlYXNpbmcgfHwgZWFzaW5nICYmICFpc0Z1bmN0aW9uKCBlYXNpbmcgKSAmJiBlYXNpbmdcblx0fTtcblxuXHQvLyBHbyB0byB0aGUgZW5kIHN0YXRlIGlmIGZ4IGFyZSBvZmZcblx0aWYgKCBqUXVlcnkuZngub2ZmICkge1xuXHRcdG9wdC5kdXJhdGlvbiA9IDA7XG5cblx0fSBlbHNlIHtcblx0XHRpZiAoIHR5cGVvZiBvcHQuZHVyYXRpb24gIT09IFwibnVtYmVyXCIgKSB7XG5cdFx0XHRpZiAoIG9wdC5kdXJhdGlvbiBpbiBqUXVlcnkuZnguc3BlZWRzICkge1xuXHRcdFx0XHRvcHQuZHVyYXRpb24gPSBqUXVlcnkuZnguc3BlZWRzWyBvcHQuZHVyYXRpb24gXTtcblxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0b3B0LmR1cmF0aW9uID0galF1ZXJ5LmZ4LnNwZWVkcy5fZGVmYXVsdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvLyBOb3JtYWxpemUgb3B0LnF1ZXVlIC0gdHJ1ZS91bmRlZmluZWQvbnVsbCAtPiBcImZ4XCJcblx0aWYgKCBvcHQucXVldWUgPT0gbnVsbCB8fCBvcHQucXVldWUgPT09IHRydWUgKSB7XG5cdFx0b3B0LnF1ZXVlID0gXCJmeFwiO1xuXHR9XG5cblx0Ly8gUXVldWVpbmdcblx0b3B0Lm9sZCA9IG9wdC5jb21wbGV0ZTtcblxuXHRvcHQuY29tcGxldGUgPSBmdW5jdGlvbigpIHtcblx0XHRpZiAoIGlzRnVuY3Rpb24oIG9wdC5vbGQgKSApIHtcblx0XHRcdG9wdC5vbGQuY2FsbCggdGhpcyApO1xuXHRcdH1cblxuXHRcdGlmICggb3B0LnF1ZXVlICkge1xuXHRcdFx0alF1ZXJ5LmRlcXVldWUoIHRoaXMsIG9wdC5xdWV1ZSApO1xuXHRcdH1cblx0fTtcblxuXHRyZXR1cm4gb3B0O1xufTtcblxualF1ZXJ5LmZuLmV4dGVuZCgge1xuXHRmYWRlVG86IGZ1bmN0aW9uKCBzcGVlZCwgdG8sIGVhc2luZywgY2FsbGJhY2sgKSB7XG5cblx0XHQvLyBTaG93IGFueSBoaWRkZW4gZWxlbWVudHMgYWZ0ZXIgc2V0dGluZyBvcGFjaXR5IHRvIDBcblx0XHRyZXR1cm4gdGhpcy5maWx0ZXIoIGlzSGlkZGVuV2l0aGluVHJlZSApLmNzcyggXCJvcGFjaXR5XCIsIDAgKS5zaG93KClcblxuXHRcdFx0Ly8gQW5pbWF0ZSB0byB0aGUgdmFsdWUgc3BlY2lmaWVkXG5cdFx0XHQuZW5kKCkuYW5pbWF0ZSggeyBvcGFjaXR5OiB0byB9LCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApO1xuXHR9LFxuXHRhbmltYXRlOiBmdW5jdGlvbiggcHJvcCwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSB7XG5cdFx0dmFyIGVtcHR5ID0galF1ZXJ5LmlzRW1wdHlPYmplY3QoIHByb3AgKSxcblx0XHRcdG9wdGFsbCA9IGpRdWVyeS5zcGVlZCggc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKSxcblx0XHRcdGRvQW5pbWF0aW9uID0gZnVuY3Rpb24oKSB7XG5cblx0XHRcdFx0Ly8gT3BlcmF0ZSBvbiBhIGNvcHkgb2YgcHJvcCBzbyBwZXItcHJvcGVydHkgZWFzaW5nIHdvbid0IGJlIGxvc3Rcblx0XHRcdFx0dmFyIGFuaW0gPSBBbmltYXRpb24oIHRoaXMsIGpRdWVyeS5leHRlbmQoIHt9LCBwcm9wICksIG9wdGFsbCApO1xuXG5cdFx0XHRcdC8vIEVtcHR5IGFuaW1hdGlvbnMsIG9yIGZpbmlzaGluZyByZXNvbHZlcyBpbW1lZGlhdGVseVxuXHRcdFx0XHRpZiAoIGVtcHR5IHx8IGRhdGFQcml2LmdldCggdGhpcywgXCJmaW5pc2hcIiApICkge1xuXHRcdFx0XHRcdGFuaW0uc3RvcCggdHJ1ZSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9O1xuXHRcdFx0ZG9BbmltYXRpb24uZmluaXNoID0gZG9BbmltYXRpb247XG5cblx0XHRyZXR1cm4gZW1wdHkgfHwgb3B0YWxsLnF1ZXVlID09PSBmYWxzZSA/XG5cdFx0XHR0aGlzLmVhY2goIGRvQW5pbWF0aW9uICkgOlxuXHRcdFx0dGhpcy5xdWV1ZSggb3B0YWxsLnF1ZXVlLCBkb0FuaW1hdGlvbiApO1xuXHR9LFxuXHRzdG9wOiBmdW5jdGlvbiggdHlwZSwgY2xlYXJRdWV1ZSwgZ290b0VuZCApIHtcblx0XHR2YXIgc3RvcFF1ZXVlID0gZnVuY3Rpb24oIGhvb2tzICkge1xuXHRcdFx0dmFyIHN0b3AgPSBob29rcy5zdG9wO1xuXHRcdFx0ZGVsZXRlIGhvb2tzLnN0b3A7XG5cdFx0XHRzdG9wKCBnb3RvRW5kICk7XG5cdFx0fTtcblxuXHRcdGlmICggdHlwZW9mIHR5cGUgIT09IFwic3RyaW5nXCIgKSB7XG5cdFx0XHRnb3RvRW5kID0gY2xlYXJRdWV1ZTtcblx0XHRcdGNsZWFyUXVldWUgPSB0eXBlO1xuXHRcdFx0dHlwZSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdFx0aWYgKCBjbGVhclF1ZXVlICkge1xuXHRcdFx0dGhpcy5xdWV1ZSggdHlwZSB8fCBcImZ4XCIsIFtdICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgZGVxdWV1ZSA9IHRydWUsXG5cdFx0XHRcdGluZGV4ID0gdHlwZSAhPSBudWxsICYmIHR5cGUgKyBcInF1ZXVlSG9va3NcIixcblx0XHRcdFx0dGltZXJzID0galF1ZXJ5LnRpbWVycyxcblx0XHRcdFx0ZGF0YSA9IGRhdGFQcml2LmdldCggdGhpcyApO1xuXG5cdFx0XHRpZiAoIGluZGV4ICkge1xuXHRcdFx0XHRpZiAoIGRhdGFbIGluZGV4IF0gJiYgZGF0YVsgaW5kZXggXS5zdG9wICkge1xuXHRcdFx0XHRcdHN0b3BRdWV1ZSggZGF0YVsgaW5kZXggXSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRmb3IgKCBpbmRleCBpbiBkYXRhICkge1xuXHRcdFx0XHRcdGlmICggZGF0YVsgaW5kZXggXSAmJiBkYXRhWyBpbmRleCBdLnN0b3AgJiYgcnJ1bi50ZXN0KCBpbmRleCApICkge1xuXHRcdFx0XHRcdFx0c3RvcFF1ZXVlKCBkYXRhWyBpbmRleCBdICk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGZvciAoIGluZGV4ID0gdGltZXJzLmxlbmd0aDsgaW5kZXgtLTsgKSB7XG5cdFx0XHRcdGlmICggdGltZXJzWyBpbmRleCBdLmVsZW0gPT09IHRoaXMgJiZcblx0XHRcdFx0XHQoIHR5cGUgPT0gbnVsbCB8fCB0aW1lcnNbIGluZGV4IF0ucXVldWUgPT09IHR5cGUgKSApIHtcblxuXHRcdFx0XHRcdHRpbWVyc1sgaW5kZXggXS5hbmltLnN0b3AoIGdvdG9FbmQgKTtcblx0XHRcdFx0XHRkZXF1ZXVlID0gZmFsc2U7XG5cdFx0XHRcdFx0dGltZXJzLnNwbGljZSggaW5kZXgsIDEgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBTdGFydCB0aGUgbmV4dCBpbiB0aGUgcXVldWUgaWYgdGhlIGxhc3Qgc3RlcCB3YXNuJ3QgZm9yY2VkLlxuXHRcdFx0Ly8gVGltZXJzIGN1cnJlbnRseSB3aWxsIGNhbGwgdGhlaXIgY29tcGxldGUgY2FsbGJhY2tzLCB3aGljaFxuXHRcdFx0Ly8gd2lsbCBkZXF1ZXVlIGJ1dCBvbmx5IGlmIHRoZXkgd2VyZSBnb3RvRW5kLlxuXHRcdFx0aWYgKCBkZXF1ZXVlIHx8ICFnb3RvRW5kICkge1xuXHRcdFx0XHRqUXVlcnkuZGVxdWV1ZSggdGhpcywgdHlwZSApO1xuXHRcdFx0fVxuXHRcdH0gKTtcblx0fSxcblx0ZmluaXNoOiBmdW5jdGlvbiggdHlwZSApIHtcblx0XHRpZiAoIHR5cGUgIT09IGZhbHNlICkge1xuXHRcdFx0dHlwZSA9IHR5cGUgfHwgXCJmeFwiO1xuXHRcdH1cblx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHtcblx0XHRcdHZhciBpbmRleCxcblx0XHRcdFx0ZGF0YSA9IGRhdGFQcml2LmdldCggdGhpcyApLFxuXHRcdFx0XHRxdWV1ZSA9IGRhdGFbIHR5cGUgKyBcInF1ZXVlXCIgXSxcblx0XHRcdFx0aG9va3MgPSBkYXRhWyB0eXBlICsgXCJxdWV1ZUhvb2tzXCIgXSxcblx0XHRcdFx0dGltZXJzID0galF1ZXJ5LnRpbWVycyxcblx0XHRcdFx0bGVuZ3RoID0gcXVldWUgPyBxdWV1ZS5sZW5ndGggOiAwO1xuXG5cdFx0XHQvLyBFbmFibGUgZmluaXNoaW5nIGZsYWcgb24gcHJpdmF0ZSBkYXRhXG5cdFx0XHRkYXRhLmZpbmlzaCA9IHRydWU7XG5cblx0XHRcdC8vIEVtcHR5IHRoZSBxdWV1ZSBmaXJzdFxuXHRcdFx0alF1ZXJ5LnF1ZXVlKCB0aGlzLCB0eXBlLCBbXSApO1xuXG5cdFx0XHRpZiAoIGhvb2tzICYmIGhvb2tzLnN0b3AgKSB7XG5cdFx0XHRcdGhvb2tzLnN0b3AuY2FsbCggdGhpcywgdHJ1ZSApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBMb29rIGZvciBhbnkgYWN0aXZlIGFuaW1hdGlvbnMsIGFuZCBmaW5pc2ggdGhlbVxuXHRcdFx0Zm9yICggaW5kZXggPSB0aW1lcnMubGVuZ3RoOyBpbmRleC0tOyApIHtcblx0XHRcdFx0aWYgKCB0aW1lcnNbIGluZGV4IF0uZWxlbSA9PT0gdGhpcyAmJiB0aW1lcnNbIGluZGV4IF0ucXVldWUgPT09IHR5cGUgKSB7XG5cdFx0XHRcdFx0dGltZXJzWyBpbmRleCBdLmFuaW0uc3RvcCggdHJ1ZSApO1xuXHRcdFx0XHRcdHRpbWVycy5zcGxpY2UoIGluZGV4LCAxICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gTG9vayBmb3IgYW55IGFuaW1hdGlvbnMgaW4gdGhlIG9sZCBxdWV1ZSBhbmQgZmluaXNoIHRoZW1cblx0XHRcdGZvciAoIGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4KysgKSB7XG5cdFx0XHRcdGlmICggcXVldWVbIGluZGV4IF0gJiYgcXVldWVbIGluZGV4IF0uZmluaXNoICkge1xuXHRcdFx0XHRcdHF1ZXVlWyBpbmRleCBdLmZpbmlzaC5jYWxsKCB0aGlzICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Ly8gVHVybiBvZmYgZmluaXNoaW5nIGZsYWdcblx0XHRcdGRlbGV0ZSBkYXRhLmZpbmlzaDtcblx0XHR9ICk7XG5cdH1cbn0gKTtcblxualF1ZXJ5LmVhY2goIFsgXCJ0b2dnbGVcIiwgXCJzaG93XCIsIFwiaGlkZVwiIF0sIGZ1bmN0aW9uKCBfaSwgbmFtZSApIHtcblx0dmFyIGNzc0ZuID0galF1ZXJ5LmZuWyBuYW1lIF07XG5cdGpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIHNwZWVkLCBlYXNpbmcsIGNhbGxiYWNrICkge1xuXHRcdHJldHVybiBzcGVlZCA9PSBudWxsIHx8IHR5cGVvZiBzcGVlZCA9PT0gXCJib29sZWFuXCIgP1xuXHRcdFx0Y3NzRm4uYXBwbHkoIHRoaXMsIGFyZ3VtZW50cyApIDpcblx0XHRcdHRoaXMuYW5pbWF0ZSggZ2VuRngoIG5hbWUsIHRydWUgKSwgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTtcblx0fTtcbn0gKTtcblxuLy8gR2VuZXJhdGUgc2hvcnRjdXRzIGZvciBjdXN0b20gYW5pbWF0aW9uc1xualF1ZXJ5LmVhY2goIHtcblx0c2xpZGVEb3duOiBnZW5GeCggXCJzaG93XCIgKSxcblx0c2xpZGVVcDogZ2VuRngoIFwiaGlkZVwiICksXG5cdHNsaWRlVG9nZ2xlOiBnZW5GeCggXCJ0b2dnbGVcIiApLFxuXHRmYWRlSW46IHsgb3BhY2l0eTogXCJzaG93XCIgfSxcblx0ZmFkZU91dDogeyBvcGFjaXR5OiBcImhpZGVcIiB9LFxuXHRmYWRlVG9nZ2xlOiB7IG9wYWNpdHk6IFwidG9nZ2xlXCIgfVxufSwgZnVuY3Rpb24oIG5hbWUsIHByb3BzICkge1xuXHRqUXVlcnkuZm5bIG5hbWUgXSA9IGZ1bmN0aW9uKCBzcGVlZCwgZWFzaW5nLCBjYWxsYmFjayApIHtcblx0XHRyZXR1cm4gdGhpcy5hbmltYXRlKCBwcm9wcywgc3BlZWQsIGVhc2luZywgY2FsbGJhY2sgKTtcblx0fTtcbn0gKTtcblxualF1ZXJ5LnRpbWVycyA9IFtdO1xualF1ZXJ5LmZ4LnRpY2sgPSBmdW5jdGlvbigpIHtcblx0dmFyIHRpbWVyLFxuXHRcdGkgPSAwLFxuXHRcdHRpbWVycyA9IGpRdWVyeS50aW1lcnM7XG5cblx0ZnhOb3cgPSBEYXRlLm5vdygpO1xuXG5cdGZvciAoIDsgaSA8IHRpbWVycy5sZW5ndGg7IGkrKyApIHtcblx0XHR0aW1lciA9IHRpbWVyc1sgaSBdO1xuXG5cdFx0Ly8gUnVuIHRoZSB0aW1lciBhbmQgc2FmZWx5IHJlbW92ZSBpdCB3aGVuIGRvbmUgKGFsbG93aW5nIGZvciBleHRlcm5hbCByZW1vdmFsKVxuXHRcdGlmICggIXRpbWVyKCkgJiYgdGltZXJzWyBpIF0gPT09IHRpbWVyICkge1xuXHRcdFx0dGltZXJzLnNwbGljZSggaS0tLCAxICk7XG5cdFx0fVxuXHR9XG5cblx0aWYgKCAhdGltZXJzLmxlbmd0aCApIHtcblx0XHRqUXVlcnkuZnguc3RvcCgpO1xuXHR9XG5cdGZ4Tm93ID0gdW5kZWZpbmVkO1xufTtcblxualF1ZXJ5LmZ4LnRpbWVyID0gZnVuY3Rpb24oIHRpbWVyICkge1xuXHRqUXVlcnkudGltZXJzLnB1c2goIHRpbWVyICk7XG5cdGpRdWVyeS5meC5zdGFydCgpO1xufTtcblxualF1ZXJ5LmZ4LmludGVydmFsID0gMTM7XG5qUXVlcnkuZnguc3RhcnQgPSBmdW5jdGlvbigpIHtcblx0aWYgKCBpblByb2dyZXNzICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGluUHJvZ3Jlc3MgPSB0cnVlO1xuXHRzY2hlZHVsZSgpO1xufTtcblxualF1ZXJ5LmZ4LnN0b3AgPSBmdW5jdGlvbigpIHtcblx0aW5Qcm9ncmVzcyA9IG51bGw7XG59O1xuXG5qUXVlcnkuZnguc3BlZWRzID0ge1xuXHRzbG93OiA2MDAsXG5cdGZhc3Q6IDIwMCxcblxuXHQvLyBEZWZhdWx0IHNwZWVkXG5cdF9kZWZhdWx0OiA0MDBcbn07XG5cblxuLy8gQmFzZWQgb2ZmIG9mIHRoZSBwbHVnaW4gYnkgQ2xpbnQgSGVsZmVycywgd2l0aCBwZXJtaXNzaW9uLlxuLy8gaHR0cHM6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTAwMzI0MDE0NzQ3L2h0dHA6Ly9ibGluZHNpZ25hbHMuY29tL2luZGV4LnBocC8yMDA5LzA3L2pxdWVyeS1kZWxheS9cbmpRdWVyeS5mbi5kZWxheSA9IGZ1bmN0aW9uKCB0aW1lLCB0eXBlICkge1xuXHR0aW1lID0galF1ZXJ5LmZ4ID8galF1ZXJ5LmZ4LnNwZWVkc1sgdGltZSBdIHx8IHRpbWUgOiB0aW1lO1xuXHR0eXBlID0gdHlwZSB8fCBcImZ4XCI7XG5cblx0cmV0dXJuIHRoaXMucXVldWUoIHR5cGUsIGZ1bmN0aW9uKCBuZXh0LCBob29rcyApIHtcblx0XHR2YXIgdGltZW91dCA9IHdpbmRvdy5zZXRUaW1lb3V0KCBuZXh0LCB0aW1lICk7XG5cdFx0aG9va3Muc3RvcCA9IGZ1bmN0aW9uKCkge1xuXHRcdFx0d2luZG93LmNsZWFyVGltZW91dCggdGltZW91dCApO1xuXHRcdH07XG5cdH0gKTtcbn07XG5cblxuKCBmdW5jdGlvbigpIHtcblx0dmFyIGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJpbnB1dFwiICksXG5cdFx0c2VsZWN0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJzZWxlY3RcIiApLFxuXHRcdG9wdCA9IHNlbGVjdC5hcHBlbmRDaGlsZCggZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJvcHRpb25cIiApICk7XG5cblx0aW5wdXQudHlwZSA9IFwiY2hlY2tib3hcIjtcblxuXHQvLyBTdXBwb3J0OiBBbmRyb2lkIDw9NC4zIG9ubHlcblx0Ly8gRGVmYXVsdCB2YWx1ZSBmb3IgYSBjaGVja2JveCBzaG91bGQgYmUgXCJvblwiXG5cdHN1cHBvcnQuY2hlY2tPbiA9IGlucHV0LnZhbHVlICE9PSBcIlwiO1xuXG5cdC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seVxuXHQvLyBNdXN0IGFjY2VzcyBzZWxlY3RlZEluZGV4IHRvIG1ha2UgZGVmYXVsdCBvcHRpb25zIHNlbGVjdFxuXHRzdXBwb3J0Lm9wdFNlbGVjdGVkID0gb3B0LnNlbGVjdGVkO1xuXG5cdC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seVxuXHQvLyBBbiBpbnB1dCBsb3NlcyBpdHMgdmFsdWUgYWZ0ZXIgYmVjb21pbmcgYSByYWRpb1xuXHRpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiaW5wdXRcIiApO1xuXHRpbnB1dC52YWx1ZSA9IFwidFwiO1xuXHRpbnB1dC50eXBlID0gXCJyYWRpb1wiO1xuXHRzdXBwb3J0LnJhZGlvVmFsdWUgPSBpbnB1dC52YWx1ZSA9PT0gXCJ0XCI7XG59ICkoKTtcblxuXG52YXIgYm9vbEhvb2ssXG5cdGF0dHJIYW5kbGUgPSBqUXVlcnkuZXhwci5hdHRySGFuZGxlO1xuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cdGF0dHI6IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSApIHtcblx0XHRyZXR1cm4gYWNjZXNzKCB0aGlzLCBqUXVlcnkuYXR0ciwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7XG5cdH0sXG5cblx0cmVtb3ZlQXR0cjogZnVuY3Rpb24oIG5hbWUgKSB7XG5cdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHRqUXVlcnkucmVtb3ZlQXR0ciggdGhpcywgbmFtZSApO1xuXHRcdH0gKTtcblx0fVxufSApO1xuXG5qUXVlcnkuZXh0ZW5kKCB7XG5cdGF0dHI6IGZ1bmN0aW9uKCBlbGVtLCBuYW1lLCB2YWx1ZSApIHtcblx0XHR2YXIgcmV0LCBob29rcyxcblx0XHRcdG5UeXBlID0gZWxlbS5ub2RlVHlwZTtcblxuXHRcdC8vIERvbid0IGdldC9zZXQgYXR0cmlidXRlcyBvbiB0ZXh0LCBjb21tZW50IGFuZCBhdHRyaWJ1dGUgbm9kZXNcblx0XHRpZiAoIG5UeXBlID09PSAzIHx8IG5UeXBlID09PSA4IHx8IG5UeXBlID09PSAyICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdC8vIEZhbGxiYWNrIHRvIHByb3Agd2hlbiBhdHRyaWJ1dGVzIGFyZSBub3Qgc3VwcG9ydGVkXG5cdFx0aWYgKCB0eXBlb2YgZWxlbS5nZXRBdHRyaWJ1dGUgPT09IFwidW5kZWZpbmVkXCIgKSB7XG5cdFx0XHRyZXR1cm4galF1ZXJ5LnByb3AoIGVsZW0sIG5hbWUsIHZhbHVlICk7XG5cdFx0fVxuXG5cdFx0Ly8gQXR0cmlidXRlIGhvb2tzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBsb3dlcmNhc2UgdmVyc2lvblxuXHRcdC8vIEdyYWIgbmVjZXNzYXJ5IGhvb2sgaWYgb25lIGlzIGRlZmluZWRcblx0XHRpZiAoIG5UeXBlICE9PSAxIHx8ICFqUXVlcnkuaXNYTUxEb2MoIGVsZW0gKSApIHtcblx0XHRcdGhvb2tzID0galF1ZXJ5LmF0dHJIb29rc1sgbmFtZS50b0xvd2VyQ2FzZSgpIF0gfHxcblx0XHRcdFx0KCBqUXVlcnkuZXhwci5tYXRjaC5ib29sLnRlc3QoIG5hbWUgKSA/IGJvb2xIb29rIDogdW5kZWZpbmVkICk7XG5cdFx0fVxuXG5cdFx0aWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkICkge1xuXHRcdFx0aWYgKCB2YWx1ZSA9PT0gbnVsbCApIHtcblx0XHRcdFx0alF1ZXJ5LnJlbW92ZUF0dHIoIGVsZW0sIG5hbWUgKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIGhvb2tzICYmIFwic2V0XCIgaW4gaG9va3MgJiZcblx0XHRcdFx0KCByZXQgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBuYW1lICkgKSAhPT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRyZXR1cm4gcmV0O1xuXHRcdFx0fVxuXG5cdFx0XHRlbGVtLnNldEF0dHJpYnV0ZSggbmFtZSwgdmFsdWUgKyBcIlwiICk7XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fVxuXG5cdFx0aWYgKCBob29rcyAmJiBcImdldFwiIGluIGhvb2tzICYmICggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBuYW1lICkgKSAhPT0gbnVsbCApIHtcblx0XHRcdHJldHVybiByZXQ7XG5cdFx0fVxuXG5cdFx0cmV0ID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgbmFtZSApO1xuXG5cdFx0Ly8gTm9uLWV4aXN0ZW50IGF0dHJpYnV0ZXMgcmV0dXJuIG51bGwsIHdlIG5vcm1hbGl6ZSB0byB1bmRlZmluZWRcblx0XHRyZXR1cm4gcmV0ID09IG51bGwgPyB1bmRlZmluZWQgOiByZXQ7XG5cdH0sXG5cblx0YXR0ckhvb2tzOiB7XG5cdFx0dHlwZToge1xuXHRcdFx0c2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUgKSB7XG5cdFx0XHRcdGlmICggIXN1cHBvcnQucmFkaW9WYWx1ZSAmJiB2YWx1ZSA9PT0gXCJyYWRpb1wiICYmXG5cdFx0XHRcdFx0bm9kZU5hbWUoIGVsZW0sIFwiaW5wdXRcIiApICkge1xuXHRcdFx0XHRcdHZhciB2YWwgPSBlbGVtLnZhbHVlO1xuXHRcdFx0XHRcdGVsZW0uc2V0QXR0cmlidXRlKCBcInR5cGVcIiwgdmFsdWUgKTtcblx0XHRcdFx0XHRpZiAoIHZhbCApIHtcblx0XHRcdFx0XHRcdGVsZW0udmFsdWUgPSB2YWw7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblxuXHRyZW1vdmVBdHRyOiBmdW5jdGlvbiggZWxlbSwgdmFsdWUgKSB7XG5cdFx0dmFyIG5hbWUsXG5cdFx0XHRpID0gMCxcblxuXHRcdFx0Ly8gQXR0cmlidXRlIG5hbWVzIGNhbiBjb250YWluIG5vbi1IVE1MIHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuXHRcdFx0Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjYXR0cmlidXRlcy0yXG5cdFx0XHRhdHRyTmFtZXMgPSB2YWx1ZSAmJiB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApO1xuXG5cdFx0aWYgKCBhdHRyTmFtZXMgJiYgZWxlbS5ub2RlVHlwZSA9PT0gMSApIHtcblx0XHRcdHdoaWxlICggKCBuYW1lID0gYXR0ck5hbWVzWyBpKysgXSApICkge1xuXHRcdFx0XHRlbGVtLnJlbW92ZUF0dHJpYnV0ZSggbmFtZSApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSApO1xuXG4vLyBIb29rcyBmb3IgYm9vbGVhbiBhdHRyaWJ1dGVzXG5ib29sSG9vayA9IHtcblx0c2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUsIG5hbWUgKSB7XG5cdFx0aWYgKCB2YWx1ZSA9PT0gZmFsc2UgKSB7XG5cblx0XHRcdC8vIFJlbW92ZSBib29sZWFuIGF0dHJpYnV0ZXMgd2hlbiBzZXQgdG8gZmFsc2Vcblx0XHRcdGpRdWVyeS5yZW1vdmVBdHRyKCBlbGVtLCBuYW1lICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGVsZW0uc2V0QXR0cmlidXRlKCBuYW1lLCBuYW1lICk7XG5cdFx0fVxuXHRcdHJldHVybiBuYW1lO1xuXHR9XG59O1xuXG5qUXVlcnkuZWFjaCggalF1ZXJ5LmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goIC9cXHcrL2cgKSwgZnVuY3Rpb24oIF9pLCBuYW1lICkge1xuXHR2YXIgZ2V0dGVyID0gYXR0ckhhbmRsZVsgbmFtZSBdIHx8IGpRdWVyeS5maW5kLmF0dHI7XG5cblx0YXR0ckhhbmRsZVsgbmFtZSBdID0gZnVuY3Rpb24oIGVsZW0sIG5hbWUsIGlzWE1MICkge1xuXHRcdHZhciByZXQsIGhhbmRsZSxcblx0XHRcdGxvd2VyY2FzZU5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG5cblx0XHRpZiAoICFpc1hNTCApIHtcblxuXHRcdFx0Ly8gQXZvaWQgYW4gaW5maW5pdGUgbG9vcCBieSB0ZW1wb3JhcmlseSByZW1vdmluZyB0aGlzIGZ1bmN0aW9uIGZyb20gdGhlIGdldHRlclxuXHRcdFx0aGFuZGxlID0gYXR0ckhhbmRsZVsgbG93ZXJjYXNlTmFtZSBdO1xuXHRcdFx0YXR0ckhhbmRsZVsgbG93ZXJjYXNlTmFtZSBdID0gcmV0O1xuXHRcdFx0cmV0ID0gZ2V0dGVyKCBlbGVtLCBuYW1lLCBpc1hNTCApICE9IG51bGwgP1xuXHRcdFx0XHRsb3dlcmNhc2VOYW1lIDpcblx0XHRcdFx0bnVsbDtcblx0XHRcdGF0dHJIYW5kbGVbIGxvd2VyY2FzZU5hbWUgXSA9IGhhbmRsZTtcblx0XHR9XG5cdFx0cmV0dXJuIHJldDtcblx0fTtcbn0gKTtcblxuXG5cblxudmFyIHJmb2N1c2FibGUgPSAvXig/OmlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b24pJC9pLFxuXHRyY2xpY2thYmxlID0gL14oPzphfGFyZWEpJC9pO1xuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cdHByb3A6IGZ1bmN0aW9uKCBuYW1lLCB2YWx1ZSApIHtcblx0XHRyZXR1cm4gYWNjZXNzKCB0aGlzLCBqUXVlcnkucHJvcCwgbmFtZSwgdmFsdWUsIGFyZ3VtZW50cy5sZW5ndGggPiAxICk7XG5cdH0sXG5cblx0cmVtb3ZlUHJvcDogZnVuY3Rpb24oIG5hbWUgKSB7XG5cdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHRkZWxldGUgdGhpc1sgalF1ZXJ5LnByb3BGaXhbIG5hbWUgXSB8fCBuYW1lIF07XG5cdFx0fSApO1xuXHR9XG59ICk7XG5cbmpRdWVyeS5leHRlbmQoIHtcblx0cHJvcDogZnVuY3Rpb24oIGVsZW0sIG5hbWUsIHZhbHVlICkge1xuXHRcdHZhciByZXQsIGhvb2tzLFxuXHRcdFx0blR5cGUgPSBlbGVtLm5vZGVUeXBlO1xuXG5cdFx0Ly8gRG9uJ3QgZ2V0L3NldCBwcm9wZXJ0aWVzIG9uIHRleHQsIGNvbW1lbnQgYW5kIGF0dHJpYnV0ZSBub2Rlc1xuXHRcdGlmICggblR5cGUgPT09IDMgfHwgblR5cGUgPT09IDggfHwgblR5cGUgPT09IDIgKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0aWYgKCBuVHlwZSAhPT0gMSB8fCAhalF1ZXJ5LmlzWE1MRG9jKCBlbGVtICkgKSB7XG5cblx0XHRcdC8vIEZpeCBuYW1lIGFuZCBhdHRhY2ggaG9va3Ncblx0XHRcdG5hbWUgPSBqUXVlcnkucHJvcEZpeFsgbmFtZSBdIHx8IG5hbWU7XG5cdFx0XHRob29rcyA9IGpRdWVyeS5wcm9wSG9va3NbIG5hbWUgXTtcblx0XHR9XG5cblx0XHRpZiAoIHZhbHVlICE9PSB1bmRlZmluZWQgKSB7XG5cdFx0XHRpZiAoIGhvb2tzICYmIFwic2V0XCIgaW4gaG9va3MgJiZcblx0XHRcdFx0KCByZXQgPSBob29rcy5zZXQoIGVsZW0sIHZhbHVlLCBuYW1lICkgKSAhPT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRyZXR1cm4gcmV0O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gKCBlbGVtWyBuYW1lIF0gPSB2YWx1ZSApO1xuXHRcdH1cblxuXHRcdGlmICggaG9va3MgJiYgXCJnZXRcIiBpbiBob29rcyAmJiAoIHJldCA9IGhvb2tzLmdldCggZWxlbSwgbmFtZSApICkgIT09IG51bGwgKSB7XG5cdFx0XHRyZXR1cm4gcmV0O1xuXHRcdH1cblxuXHRcdHJldHVybiBlbGVtWyBuYW1lIF07XG5cdH0sXG5cblx0cHJvcEhvb2tzOiB7XG5cdFx0dGFiSW5kZXg6IHtcblx0XHRcdGdldDogZnVuY3Rpb24oIGVsZW0gKSB7XG5cblx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPD05IC0gMTEgb25seVxuXHRcdFx0XHQvLyBlbGVtLnRhYkluZGV4IGRvZXNuJ3QgYWx3YXlzIHJldHVybiB0aGVcblx0XHRcdFx0Ly8gY29ycmVjdCB2YWx1ZSB3aGVuIGl0IGhhc24ndCBiZWVuIGV4cGxpY2l0bHkgc2V0XG5cdFx0XHRcdC8vIGh0dHBzOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE0MTExNjIzMzM0Ny9odHRwOi8vZmx1aWRwcm9qZWN0Lm9yZy9ibG9nLzIwMDgvMDEvMDkvZ2V0dGluZy1zZXR0aW5nLWFuZC1yZW1vdmluZy10YWJpbmRleC12YWx1ZXMtd2l0aC1qYXZhc2NyaXB0L1xuXHRcdFx0XHQvLyBVc2UgcHJvcGVyIGF0dHJpYnV0ZSByZXRyaWV2YWwoIzEyMDcyKVxuXHRcdFx0XHR2YXIgdGFiaW5kZXggPSBqUXVlcnkuZmluZC5hdHRyKCBlbGVtLCBcInRhYmluZGV4XCIgKTtcblxuXHRcdFx0XHRpZiAoIHRhYmluZGV4ICkge1xuXHRcdFx0XHRcdHJldHVybiBwYXJzZUludCggdGFiaW5kZXgsIDEwICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoXG5cdFx0XHRcdFx0cmZvY3VzYWJsZS50ZXN0KCBlbGVtLm5vZGVOYW1lICkgfHxcblx0XHRcdFx0XHRyY2xpY2thYmxlLnRlc3QoIGVsZW0ubm9kZU5hbWUgKSAmJlxuXHRcdFx0XHRcdGVsZW0uaHJlZlxuXHRcdFx0XHQpIHtcblx0XHRcdFx0XHRyZXR1cm4gMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiAtMTtcblx0XHRcdH1cblx0XHR9XG5cdH0sXG5cblx0cHJvcEZpeDoge1xuXHRcdFwiZm9yXCI6IFwiaHRtbEZvclwiLFxuXHRcdFwiY2xhc3NcIjogXCJjbGFzc05hbWVcIlxuXHR9XG59ICk7XG5cbi8vIFN1cHBvcnQ6IElFIDw9MTEgb25seVxuLy8gQWNjZXNzaW5nIHRoZSBzZWxlY3RlZEluZGV4IHByb3BlcnR5XG4vLyBmb3JjZXMgdGhlIGJyb3dzZXIgdG8gcmVzcGVjdCBzZXR0aW5nIHNlbGVjdGVkXG4vLyBvbiB0aGUgb3B0aW9uXG4vLyBUaGUgZ2V0dGVyIGVuc3VyZXMgYSBkZWZhdWx0IG9wdGlvbiBpcyBzZWxlY3RlZFxuLy8gd2hlbiBpbiBhbiBvcHRncm91cFxuLy8gZXNsaW50IHJ1bGUgXCJuby11bnVzZWQtZXhwcmVzc2lvbnNcIiBpcyBkaXNhYmxlZCBmb3IgdGhpcyBjb2RlXG4vLyBzaW5jZSBpdCBjb25zaWRlcnMgc3VjaCBhY2Nlc3Npb25zIG5vb3BcbmlmICggIXN1cHBvcnQub3B0U2VsZWN0ZWQgKSB7XG5cdGpRdWVyeS5wcm9wSG9va3Muc2VsZWN0ZWQgPSB7XG5cdFx0Z2V0OiBmdW5jdGlvbiggZWxlbSApIHtcblxuXHRcdFx0LyogZXNsaW50IG5vLXVudXNlZC1leHByZXNzaW9uczogXCJvZmZcIiAqL1xuXG5cdFx0XHR2YXIgcGFyZW50ID0gZWxlbS5wYXJlbnROb2RlO1xuXHRcdFx0aWYgKCBwYXJlbnQgJiYgcGFyZW50LnBhcmVudE5vZGUgKSB7XG5cdFx0XHRcdHBhcmVudC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9LFxuXHRcdHNldDogZnVuY3Rpb24oIGVsZW0gKSB7XG5cblx0XHRcdC8qIGVzbGludCBuby11bnVzZWQtZXhwcmVzc2lvbnM6IFwib2ZmXCIgKi9cblxuXHRcdFx0dmFyIHBhcmVudCA9IGVsZW0ucGFyZW50Tm9kZTtcblx0XHRcdGlmICggcGFyZW50ICkge1xuXHRcdFx0XHRwYXJlbnQuc2VsZWN0ZWRJbmRleDtcblxuXHRcdFx0XHRpZiAoIHBhcmVudC5wYXJlbnROb2RlICkge1xuXHRcdFx0XHRcdHBhcmVudC5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH07XG59XG5cbmpRdWVyeS5lYWNoKCBbXG5cdFwidGFiSW5kZXhcIixcblx0XCJyZWFkT25seVwiLFxuXHRcIm1heExlbmd0aFwiLFxuXHRcImNlbGxTcGFjaW5nXCIsXG5cdFwiY2VsbFBhZGRpbmdcIixcblx0XCJyb3dTcGFuXCIsXG5cdFwiY29sU3BhblwiLFxuXHRcInVzZU1hcFwiLFxuXHRcImZyYW1lQm9yZGVyXCIsXG5cdFwiY29udGVudEVkaXRhYmxlXCJcbl0sIGZ1bmN0aW9uKCkge1xuXHRqUXVlcnkucHJvcEZpeFsgdGhpcy50b0xvd2VyQ2FzZSgpIF0gPSB0aGlzO1xufSApO1xuXG5cblxuXG5cdC8vIFN0cmlwIGFuZCBjb2xsYXBzZSB3aGl0ZXNwYWNlIGFjY29yZGluZyB0byBIVE1MIHNwZWNcblx0Ly8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI3N0cmlwLWFuZC1jb2xsYXBzZS1hc2NpaS13aGl0ZXNwYWNlXG5cdGZ1bmN0aW9uIHN0cmlwQW5kQ29sbGFwc2UoIHZhbHVlICkge1xuXHRcdHZhciB0b2tlbnMgPSB2YWx1ZS5tYXRjaCggcm5vdGh0bWx3aGl0ZSApIHx8IFtdO1xuXHRcdHJldHVybiB0b2tlbnMuam9pbiggXCIgXCIgKTtcblx0fVxuXG5cbmZ1bmN0aW9uIGdldENsYXNzKCBlbGVtICkge1xuXHRyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUgJiYgZWxlbS5nZXRBdHRyaWJ1dGUoIFwiY2xhc3NcIiApIHx8IFwiXCI7XG59XG5cbmZ1bmN0aW9uIGNsYXNzZXNUb0FycmF5KCB2YWx1ZSApIHtcblx0aWYgKCBBcnJheS5pc0FycmF5KCB2YWx1ZSApICkge1xuXHRcdHJldHVybiB2YWx1ZTtcblx0fVxuXHRpZiAoIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiApIHtcblx0XHRyZXR1cm4gdmFsdWUubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbXTtcblx0fVxuXHRyZXR1cm4gW107XG59XG5cbmpRdWVyeS5mbi5leHRlbmQoIHtcblx0YWRkQ2xhc3M6IGZ1bmN0aW9uKCB2YWx1ZSApIHtcblx0XHR2YXIgY2xhc3NlcywgZWxlbSwgY3VyLCBjdXJWYWx1ZSwgY2xhenosIGosIGZpbmFsVmFsdWUsXG5cdFx0XHRpID0gMDtcblxuXHRcdGlmICggaXNGdW5jdGlvbiggdmFsdWUgKSApIHtcblx0XHRcdHJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBqICkge1xuXHRcdFx0XHRqUXVlcnkoIHRoaXMgKS5hZGRDbGFzcyggdmFsdWUuY2FsbCggdGhpcywgaiwgZ2V0Q2xhc3MoIHRoaXMgKSApICk7XG5cdFx0XHR9ICk7XG5cdFx0fVxuXG5cdFx0Y2xhc3NlcyA9IGNsYXNzZXNUb0FycmF5KCB2YWx1ZSApO1xuXG5cdFx0aWYgKCBjbGFzc2VzLmxlbmd0aCApIHtcblx0XHRcdHdoaWxlICggKCBlbGVtID0gdGhpc1sgaSsrIF0gKSApIHtcblx0XHRcdFx0Y3VyVmFsdWUgPSBnZXRDbGFzcyggZWxlbSApO1xuXHRcdFx0XHRjdXIgPSBlbGVtLm5vZGVUeXBlID09PSAxICYmICggXCIgXCIgKyBzdHJpcEFuZENvbGxhcHNlKCBjdXJWYWx1ZSApICsgXCIgXCIgKTtcblxuXHRcdFx0XHRpZiAoIGN1ciApIHtcblx0XHRcdFx0XHRqID0gMDtcblx0XHRcdFx0XHR3aGlsZSAoICggY2xhenogPSBjbGFzc2VzWyBqKysgXSApICkge1xuXHRcdFx0XHRcdFx0aWYgKCBjdXIuaW5kZXhPZiggXCIgXCIgKyBjbGF6eiArIFwiIFwiICkgPCAwICkge1xuXHRcdFx0XHRcdFx0XHRjdXIgKz0gY2xhenogKyBcIiBcIjtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBPbmx5IGFzc2lnbiBpZiBkaWZmZXJlbnQgdG8gYXZvaWQgdW5uZWVkZWQgcmVuZGVyaW5nLlxuXHRcdFx0XHRcdGZpbmFsVmFsdWUgPSBzdHJpcEFuZENvbGxhcHNlKCBjdXIgKTtcblx0XHRcdFx0XHRpZiAoIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkge1xuXHRcdFx0XHRcdFx0ZWxlbS5zZXRBdHRyaWJ1dGUoIFwiY2xhc3NcIiwgZmluYWxWYWx1ZSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzO1xuXHR9LFxuXG5cdHJlbW92ZUNsYXNzOiBmdW5jdGlvbiggdmFsdWUgKSB7XG5cdFx0dmFyIGNsYXNzZXMsIGVsZW0sIGN1ciwgY3VyVmFsdWUsIGNsYXp6LCBqLCBmaW5hbFZhbHVlLFxuXHRcdFx0aSA9IDA7XG5cblx0XHRpZiAoIGlzRnVuY3Rpb24oIHZhbHVlICkgKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaiApIHtcblx0XHRcdFx0alF1ZXJ5KCB0aGlzICkucmVtb3ZlQ2xhc3MoIHZhbHVlLmNhbGwoIHRoaXMsIGosIGdldENsYXNzKCB0aGlzICkgKSApO1xuXHRcdFx0fSApO1xuXHRcdH1cblxuXHRcdGlmICggIWFyZ3VtZW50cy5sZW5ndGggKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5hdHRyKCBcImNsYXNzXCIsIFwiXCIgKTtcblx0XHR9XG5cblx0XHRjbGFzc2VzID0gY2xhc3Nlc1RvQXJyYXkoIHZhbHVlICk7XG5cblx0XHRpZiAoIGNsYXNzZXMubGVuZ3RoICkge1xuXHRcdFx0d2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkge1xuXHRcdFx0XHRjdXJWYWx1ZSA9IGdldENsYXNzKCBlbGVtICk7XG5cblx0XHRcdFx0Ly8gVGhpcyBleHByZXNzaW9uIGlzIGhlcmUgZm9yIGJldHRlciBjb21wcmVzc2liaWxpdHkgKHNlZSBhZGRDbGFzcylcblx0XHRcdFx0Y3VyID0gZWxlbS5ub2RlVHlwZSA9PT0gMSAmJiAoIFwiIFwiICsgc3RyaXBBbmRDb2xsYXBzZSggY3VyVmFsdWUgKSArIFwiIFwiICk7XG5cblx0XHRcdFx0aWYgKCBjdXIgKSB7XG5cdFx0XHRcdFx0aiA9IDA7XG5cdFx0XHRcdFx0d2hpbGUgKCAoIGNsYXp6ID0gY2xhc3Nlc1sgaisrIF0gKSApIHtcblxuXHRcdFx0XHRcdFx0Ly8gUmVtb3ZlICphbGwqIGluc3RhbmNlc1xuXHRcdFx0XHRcdFx0d2hpbGUgKCBjdXIuaW5kZXhPZiggXCIgXCIgKyBjbGF6eiArIFwiIFwiICkgPiAtMSApIHtcblx0XHRcdFx0XHRcdFx0Y3VyID0gY3VyLnJlcGxhY2UoIFwiIFwiICsgY2xhenogKyBcIiBcIiwgXCIgXCIgKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBPbmx5IGFzc2lnbiBpZiBkaWZmZXJlbnQgdG8gYXZvaWQgdW5uZWVkZWQgcmVuZGVyaW5nLlxuXHRcdFx0XHRcdGZpbmFsVmFsdWUgPSBzdHJpcEFuZENvbGxhcHNlKCBjdXIgKTtcblx0XHRcdFx0XHRpZiAoIGN1clZhbHVlICE9PSBmaW5hbFZhbHVlICkge1xuXHRcdFx0XHRcdFx0ZWxlbS5zZXRBdHRyaWJ1dGUoIFwiY2xhc3NcIiwgZmluYWxWYWx1ZSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzO1xuXHR9LFxuXG5cdHRvZ2dsZUNsYXNzOiBmdW5jdGlvbiggdmFsdWUsIHN0YXRlVmFsICkge1xuXHRcdHZhciB0eXBlID0gdHlwZW9mIHZhbHVlLFxuXHRcdFx0aXNWYWxpZFZhbHVlID0gdHlwZSA9PT0gXCJzdHJpbmdcIiB8fCBBcnJheS5pc0FycmF5KCB2YWx1ZSApO1xuXG5cdFx0aWYgKCB0eXBlb2Ygc3RhdGVWYWwgPT09IFwiYm9vbGVhblwiICYmIGlzVmFsaWRWYWx1ZSApIHtcblx0XHRcdHJldHVybiBzdGF0ZVZhbCA/IHRoaXMuYWRkQ2xhc3MoIHZhbHVlICkgOiB0aGlzLnJlbW92ZUNsYXNzKCB2YWx1ZSApO1xuXHRcdH1cblxuXHRcdGlmICggaXNGdW5jdGlvbiggdmFsdWUgKSApIHtcblx0XHRcdHJldHVybiB0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkge1xuXHRcdFx0XHRqUXVlcnkoIHRoaXMgKS50b2dnbGVDbGFzcyhcblx0XHRcdFx0XHR2YWx1ZS5jYWxsKCB0aGlzLCBpLCBnZXRDbGFzcyggdGhpcyApLCBzdGF0ZVZhbCApLFxuXHRcdFx0XHRcdHN0YXRlVmFsXG5cdFx0XHRcdCk7XG5cdFx0XHR9ICk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oKSB7XG5cdFx0XHR2YXIgY2xhc3NOYW1lLCBpLCBzZWxmLCBjbGFzc05hbWVzO1xuXG5cdFx0XHRpZiAoIGlzVmFsaWRWYWx1ZSApIHtcblxuXHRcdFx0XHQvLyBUb2dnbGUgaW5kaXZpZHVhbCBjbGFzcyBuYW1lc1xuXHRcdFx0XHRpID0gMDtcblx0XHRcdFx0c2VsZiA9IGpRdWVyeSggdGhpcyApO1xuXHRcdFx0XHRjbGFzc05hbWVzID0gY2xhc3Nlc1RvQXJyYXkoIHZhbHVlICk7XG5cblx0XHRcdFx0d2hpbGUgKCAoIGNsYXNzTmFtZSA9IGNsYXNzTmFtZXNbIGkrKyBdICkgKSB7XG5cblx0XHRcdFx0XHQvLyBDaGVjayBlYWNoIGNsYXNzTmFtZSBnaXZlbiwgc3BhY2Ugc2VwYXJhdGVkIGxpc3Rcblx0XHRcdFx0XHRpZiAoIHNlbGYuaGFzQ2xhc3MoIGNsYXNzTmFtZSApICkge1xuXHRcdFx0XHRcdFx0c2VsZi5yZW1vdmVDbGFzcyggY2xhc3NOYW1lICk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHNlbGYuYWRkQ2xhc3MoIGNsYXNzTmFtZSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHQvLyBUb2dnbGUgd2hvbGUgY2xhc3MgbmFtZVxuXHRcdFx0fSBlbHNlIGlmICggdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0eXBlID09PSBcImJvb2xlYW5cIiApIHtcblx0XHRcdFx0Y2xhc3NOYW1lID0gZ2V0Q2xhc3MoIHRoaXMgKTtcblx0XHRcdFx0aWYgKCBjbGFzc05hbWUgKSB7XG5cblx0XHRcdFx0XHQvLyBTdG9yZSBjbGFzc05hbWUgaWYgc2V0XG5cdFx0XHRcdFx0ZGF0YVByaXYuc2V0KCB0aGlzLCBcIl9fY2xhc3NOYW1lX19cIiwgY2xhc3NOYW1lICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBJZiB0aGUgZWxlbWVudCBoYXMgYSBjbGFzcyBuYW1lIG9yIGlmIHdlJ3JlIHBhc3NlZCBgZmFsc2VgLFxuXHRcdFx0XHQvLyB0aGVuIHJlbW92ZSB0aGUgd2hvbGUgY2xhc3NuYW1lIChpZiB0aGVyZSB3YXMgb25lLCB0aGUgYWJvdmUgc2F2ZWQgaXQpLlxuXHRcdFx0XHQvLyBPdGhlcndpc2UgYnJpbmcgYmFjayB3aGF0ZXZlciB3YXMgcHJldmlvdXNseSBzYXZlZCAoaWYgYW55dGhpbmcpLFxuXHRcdFx0XHQvLyBmYWxsaW5nIGJhY2sgdG8gdGhlIGVtcHR5IHN0cmluZyBpZiBub3RoaW5nIHdhcyBzdG9yZWQuXG5cdFx0XHRcdGlmICggdGhpcy5zZXRBdHRyaWJ1dGUgKSB7XG5cdFx0XHRcdFx0dGhpcy5zZXRBdHRyaWJ1dGUoIFwiY2xhc3NcIixcblx0XHRcdFx0XHRcdGNsYXNzTmFtZSB8fCB2YWx1ZSA9PT0gZmFsc2UgP1xuXHRcdFx0XHRcdFx0XCJcIiA6XG5cdFx0XHRcdFx0XHRkYXRhUHJpdi5nZXQoIHRoaXMsIFwiX19jbGFzc05hbWVfX1wiICkgfHwgXCJcIlxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9ICk7XG5cdH0sXG5cblx0aGFzQ2xhc3M6IGZ1bmN0aW9uKCBzZWxlY3RvciApIHtcblx0XHR2YXIgY2xhc3NOYW1lLCBlbGVtLFxuXHRcdFx0aSA9IDA7XG5cblx0XHRjbGFzc05hbWUgPSBcIiBcIiArIHNlbGVjdG9yICsgXCIgXCI7XG5cdFx0d2hpbGUgKCAoIGVsZW0gPSB0aGlzWyBpKysgXSApICkge1xuXHRcdFx0aWYgKCBlbGVtLm5vZGVUeXBlID09PSAxICYmXG5cdFx0XHRcdCggXCIgXCIgKyBzdHJpcEFuZENvbGxhcHNlKCBnZXRDbGFzcyggZWxlbSApICkgKyBcIiBcIiApLmluZGV4T2YoIGNsYXNzTmFtZSApID4gLTEgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59ICk7XG5cblxuXG5cbnZhciBycmV0dXJuID0gL1xcci9nO1xuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cdHZhbDogZnVuY3Rpb24oIHZhbHVlICkge1xuXHRcdHZhciBob29rcywgcmV0LCB2YWx1ZUlzRnVuY3Rpb24sXG5cdFx0XHRlbGVtID0gdGhpc1sgMCBdO1xuXG5cdFx0aWYgKCAhYXJndW1lbnRzLmxlbmd0aCApIHtcblx0XHRcdGlmICggZWxlbSApIHtcblx0XHRcdFx0aG9va3MgPSBqUXVlcnkudmFsSG9va3NbIGVsZW0udHlwZSBdIHx8XG5cdFx0XHRcdFx0alF1ZXJ5LnZhbEhvb2tzWyBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTtcblxuXHRcdFx0XHRpZiAoIGhvb2tzICYmXG5cdFx0XHRcdFx0XCJnZXRcIiBpbiBob29rcyAmJlxuXHRcdFx0XHRcdCggcmV0ID0gaG9va3MuZ2V0KCBlbGVtLCBcInZhbHVlXCIgKSApICE9PSB1bmRlZmluZWRcblx0XHRcdFx0KSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJldDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldCA9IGVsZW0udmFsdWU7XG5cblx0XHRcdFx0Ly8gSGFuZGxlIG1vc3QgY29tbW9uIHN0cmluZyBjYXNlc1xuXHRcdFx0XHRpZiAoIHR5cGVvZiByZXQgPT09IFwic3RyaW5nXCIgKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHJldC5yZXBsYWNlKCBycmV0dXJuLCBcIlwiICk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBIYW5kbGUgY2FzZXMgd2hlcmUgdmFsdWUgaXMgbnVsbC91bmRlZiBvciBudW1iZXJcblx0XHRcdFx0cmV0dXJuIHJldCA9PSBudWxsID8gXCJcIiA6IHJldDtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHZhbHVlSXNGdW5jdGlvbiA9IGlzRnVuY3Rpb24oIHZhbHVlICk7XG5cblx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHtcblx0XHRcdHZhciB2YWw7XG5cblx0XHRcdGlmICggdGhpcy5ub2RlVHlwZSAhPT0gMSApIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIHZhbHVlSXNGdW5jdGlvbiApIHtcblx0XHRcdFx0dmFsID0gdmFsdWUuY2FsbCggdGhpcywgaSwgalF1ZXJ5KCB0aGlzICkudmFsKCkgKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHZhbCA9IHZhbHVlO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBUcmVhdCBudWxsL3VuZGVmaW5lZCBhcyBcIlwiOyBjb252ZXJ0IG51bWJlcnMgdG8gc3RyaW5nXG5cdFx0XHRpZiAoIHZhbCA9PSBudWxsICkge1xuXHRcdFx0XHR2YWwgPSBcIlwiO1xuXG5cdFx0XHR9IGVsc2UgaWYgKCB0eXBlb2YgdmFsID09PSBcIm51bWJlclwiICkge1xuXHRcdFx0XHR2YWwgKz0gXCJcIjtcblxuXHRcdFx0fSBlbHNlIGlmICggQXJyYXkuaXNBcnJheSggdmFsICkgKSB7XG5cdFx0XHRcdHZhbCA9IGpRdWVyeS5tYXAoIHZhbCwgZnVuY3Rpb24oIHZhbHVlICkge1xuXHRcdFx0XHRcdHJldHVybiB2YWx1ZSA9PSBudWxsID8gXCJcIiA6IHZhbHVlICsgXCJcIjtcblx0XHRcdFx0fSApO1xuXHRcdFx0fVxuXG5cdFx0XHRob29rcyA9IGpRdWVyeS52YWxIb29rc1sgdGhpcy50eXBlIF0gfHwgalF1ZXJ5LnZhbEhvb2tzWyB0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgXTtcblxuXHRcdFx0Ly8gSWYgc2V0IHJldHVybnMgdW5kZWZpbmVkLCBmYWxsIGJhY2sgdG8gbm9ybWFsIHNldHRpbmdcblx0XHRcdGlmICggIWhvb2tzIHx8ICEoIFwic2V0XCIgaW4gaG9va3MgKSB8fCBob29rcy5zZXQoIHRoaXMsIHZhbCwgXCJ2YWx1ZVwiICkgPT09IHVuZGVmaW5lZCApIHtcblx0XHRcdFx0dGhpcy52YWx1ZSA9IHZhbDtcblx0XHRcdH1cblx0XHR9ICk7XG5cdH1cbn0gKTtcblxualF1ZXJ5LmV4dGVuZCgge1xuXHR2YWxIb29rczoge1xuXHRcdG9wdGlvbjoge1xuXHRcdFx0Z2V0OiBmdW5jdGlvbiggZWxlbSApIHtcblxuXHRcdFx0XHR2YXIgdmFsID0galF1ZXJ5LmZpbmQuYXR0ciggZWxlbSwgXCJ2YWx1ZVwiICk7XG5cdFx0XHRcdHJldHVybiB2YWwgIT0gbnVsbCA/XG5cdFx0XHRcdFx0dmFsIDpcblxuXHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFIDw9MTAgLSAxMSBvbmx5XG5cdFx0XHRcdFx0Ly8gb3B0aW9uLnRleHQgdGhyb3dzIGV4Y2VwdGlvbnMgKCMxNDY4NiwgIzE0ODU4KVxuXHRcdFx0XHRcdC8vIFN0cmlwIGFuZCBjb2xsYXBzZSB3aGl0ZXNwYWNlXG5cdFx0XHRcdFx0Ly8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jc3RyaXAtYW5kLWNvbGxhcHNlLXdoaXRlc3BhY2Vcblx0XHRcdFx0XHRzdHJpcEFuZENvbGxhcHNlKCBqUXVlcnkudGV4dCggZWxlbSApICk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRzZWxlY3Q6IHtcblx0XHRcdGdldDogZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRcdHZhciB2YWx1ZSwgb3B0aW9uLCBpLFxuXHRcdFx0XHRcdG9wdGlvbnMgPSBlbGVtLm9wdGlvbnMsXG5cdFx0XHRcdFx0aW5kZXggPSBlbGVtLnNlbGVjdGVkSW5kZXgsXG5cdFx0XHRcdFx0b25lID0gZWxlbS50eXBlID09PSBcInNlbGVjdC1vbmVcIixcblx0XHRcdFx0XHR2YWx1ZXMgPSBvbmUgPyBudWxsIDogW10sXG5cdFx0XHRcdFx0bWF4ID0gb25lID8gaW5kZXggKyAxIDogb3B0aW9ucy5sZW5ndGg7XG5cblx0XHRcdFx0aWYgKCBpbmRleCA8IDAgKSB7XG5cdFx0XHRcdFx0aSA9IG1heDtcblxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGkgPSBvbmUgPyBpbmRleCA6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBzZWxlY3RlZCBvcHRpb25zXG5cdFx0XHRcdGZvciAoIDsgaSA8IG1heDsgaSsrICkge1xuXHRcdFx0XHRcdG9wdGlvbiA9IG9wdGlvbnNbIGkgXTtcblxuXHRcdFx0XHRcdC8vIFN1cHBvcnQ6IElFIDw9OSBvbmx5XG5cdFx0XHRcdFx0Ly8gSUU4LTkgZG9lc24ndCB1cGRhdGUgc2VsZWN0ZWQgYWZ0ZXIgZm9ybSByZXNldCAoIzI1NTEpXG5cdFx0XHRcdFx0aWYgKCAoIG9wdGlvbi5zZWxlY3RlZCB8fCBpID09PSBpbmRleCApICYmXG5cblx0XHRcdFx0XHRcdFx0Ly8gRG9uJ3QgcmV0dXJuIG9wdGlvbnMgdGhhdCBhcmUgZGlzYWJsZWQgb3IgaW4gYSBkaXNhYmxlZCBvcHRncm91cFxuXHRcdFx0XHRcdFx0XHQhb3B0aW9uLmRpc2FibGVkICYmXG5cdFx0XHRcdFx0XHRcdCggIW9wdGlvbi5wYXJlbnROb2RlLmRpc2FibGVkIHx8XG5cdFx0XHRcdFx0XHRcdFx0IW5vZGVOYW1lKCBvcHRpb24ucGFyZW50Tm9kZSwgXCJvcHRncm91cFwiICkgKSApIHtcblxuXHRcdFx0XHRcdFx0Ly8gR2V0IHRoZSBzcGVjaWZpYyB2YWx1ZSBmb3IgdGhlIG9wdGlvblxuXHRcdFx0XHRcdFx0dmFsdWUgPSBqUXVlcnkoIG9wdGlvbiApLnZhbCgpO1xuXG5cdFx0XHRcdFx0XHQvLyBXZSBkb24ndCBuZWVkIGFuIGFycmF5IGZvciBvbmUgc2VsZWN0c1xuXHRcdFx0XHRcdFx0aWYgKCBvbmUgKSB7XG5cdFx0XHRcdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ly8gTXVsdGktU2VsZWN0cyByZXR1cm4gYW4gYXJyYXlcblx0XHRcdFx0XHRcdHZhbHVlcy5wdXNoKCB2YWx1ZSApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiB2YWx1ZXM7XG5cdFx0XHR9LFxuXG5cdFx0XHRzZXQ6IGZ1bmN0aW9uKCBlbGVtLCB2YWx1ZSApIHtcblx0XHRcdFx0dmFyIG9wdGlvblNldCwgb3B0aW9uLFxuXHRcdFx0XHRcdG9wdGlvbnMgPSBlbGVtLm9wdGlvbnMsXG5cdFx0XHRcdFx0dmFsdWVzID0galF1ZXJ5Lm1ha2VBcnJheSggdmFsdWUgKSxcblx0XHRcdFx0XHRpID0gb3B0aW9ucy5sZW5ndGg7XG5cblx0XHRcdFx0d2hpbGUgKCBpLS0gKSB7XG5cdFx0XHRcdFx0b3B0aW9uID0gb3B0aW9uc1sgaSBdO1xuXG5cdFx0XHRcdFx0LyogZXNsaW50LWRpc2FibGUgbm8tY29uZC1hc3NpZ24gKi9cblxuXHRcdFx0XHRcdGlmICggb3B0aW9uLnNlbGVjdGVkID1cblx0XHRcdFx0XHRcdGpRdWVyeS5pbkFycmF5KCBqUXVlcnkudmFsSG9va3Mub3B0aW9uLmdldCggb3B0aW9uICksIHZhbHVlcyApID4gLTFcblx0XHRcdFx0XHQpIHtcblx0XHRcdFx0XHRcdG9wdGlvblNldCA9IHRydWU7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0LyogZXNsaW50LWVuYWJsZSBuby1jb25kLWFzc2lnbiAqL1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gRm9yY2UgYnJvd3NlcnMgdG8gYmVoYXZlIGNvbnNpc3RlbnRseSB3aGVuIG5vbi1tYXRjaGluZyB2YWx1ZSBpcyBzZXRcblx0XHRcdFx0aWYgKCAhb3B0aW9uU2V0ICkge1xuXHRcdFx0XHRcdGVsZW0uc2VsZWN0ZWRJbmRleCA9IC0xO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB2YWx1ZXM7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59ICk7XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBnZXR0ZXIvc2V0dGVyXG5qUXVlcnkuZWFjaCggWyBcInJhZGlvXCIsIFwiY2hlY2tib3hcIiBdLCBmdW5jdGlvbigpIHtcblx0alF1ZXJ5LnZhbEhvb2tzWyB0aGlzIF0gPSB7XG5cdFx0c2V0OiBmdW5jdGlvbiggZWxlbSwgdmFsdWUgKSB7XG5cdFx0XHRpZiAoIEFycmF5LmlzQXJyYXkoIHZhbHVlICkgKSB7XG5cdFx0XHRcdHJldHVybiAoIGVsZW0uY2hlY2tlZCA9IGpRdWVyeS5pbkFycmF5KCBqUXVlcnkoIGVsZW0gKS52YWwoKSwgdmFsdWUgKSA+IC0xICk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9O1xuXHRpZiAoICFzdXBwb3J0LmNoZWNrT24gKSB7XG5cdFx0alF1ZXJ5LnZhbEhvb2tzWyB0aGlzIF0uZ2V0ID0gZnVuY3Rpb24oIGVsZW0gKSB7XG5cdFx0XHRyZXR1cm4gZWxlbS5nZXRBdHRyaWJ1dGUoIFwidmFsdWVcIiApID09PSBudWxsID8gXCJvblwiIDogZWxlbS52YWx1ZTtcblx0XHR9O1xuXHR9XG59ICk7XG5cblxuXG5cbi8vIFJldHVybiBqUXVlcnkgZm9yIGF0dHJpYnV0ZXMtb25seSBpbmNsdXNpb25cblxuXG5zdXBwb3J0LmZvY3VzaW4gPSBcIm9uZm9jdXNpblwiIGluIHdpbmRvdztcblxuXG52YXIgcmZvY3VzTW9ycGggPSAvXig/OmZvY3VzaW5mb2N1c3xmb2N1c291dGJsdXIpJC8sXG5cdHN0b3BQcm9wYWdhdGlvbkNhbGxiYWNrID0gZnVuY3Rpb24oIGUgKSB7XG5cdFx0ZS5zdG9wUHJvcGFnYXRpb24oKTtcblx0fTtcblxualF1ZXJ5LmV4dGVuZCggalF1ZXJ5LmV2ZW50LCB7XG5cblx0dHJpZ2dlcjogZnVuY3Rpb24oIGV2ZW50LCBkYXRhLCBlbGVtLCBvbmx5SGFuZGxlcnMgKSB7XG5cblx0XHR2YXIgaSwgY3VyLCB0bXAsIGJ1YmJsZVR5cGUsIG9udHlwZSwgaGFuZGxlLCBzcGVjaWFsLCBsYXN0RWxlbWVudCxcblx0XHRcdGV2ZW50UGF0aCA9IFsgZWxlbSB8fCBkb2N1bWVudCBdLFxuXHRcdFx0dHlwZSA9IGhhc093bi5jYWxsKCBldmVudCwgXCJ0eXBlXCIgKSA/IGV2ZW50LnR5cGUgOiBldmVudCxcblx0XHRcdG5hbWVzcGFjZXMgPSBoYXNPd24uY2FsbCggZXZlbnQsIFwibmFtZXNwYWNlXCIgKSA/IGV2ZW50Lm5hbWVzcGFjZS5zcGxpdCggXCIuXCIgKSA6IFtdO1xuXG5cdFx0Y3VyID0gbGFzdEVsZW1lbnQgPSB0bXAgPSBlbGVtID0gZWxlbSB8fCBkb2N1bWVudDtcblxuXHRcdC8vIERvbid0IGRvIGV2ZW50cyBvbiB0ZXh0IGFuZCBjb21tZW50IG5vZGVzXG5cdFx0aWYgKCBlbGVtLm5vZGVUeXBlID09PSAzIHx8IGVsZW0ubm9kZVR5cGUgPT09IDggKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gZm9jdXMvYmx1ciBtb3JwaHMgdG8gZm9jdXNpbi9vdXQ7IGVuc3VyZSB3ZSdyZSBub3QgZmlyaW5nIHRoZW0gcmlnaHQgbm93XG5cdFx0aWYgKCByZm9jdXNNb3JwaC50ZXN0KCB0eXBlICsgalF1ZXJ5LmV2ZW50LnRyaWdnZXJlZCApICkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmICggdHlwZS5pbmRleE9mKCBcIi5cIiApID4gLTEgKSB7XG5cblx0XHRcdC8vIE5hbWVzcGFjZWQgdHJpZ2dlcjsgY3JlYXRlIGEgcmVnZXhwIHRvIG1hdGNoIGV2ZW50IHR5cGUgaW4gaGFuZGxlKClcblx0XHRcdG5hbWVzcGFjZXMgPSB0eXBlLnNwbGl0KCBcIi5cIiApO1xuXHRcdFx0dHlwZSA9IG5hbWVzcGFjZXMuc2hpZnQoKTtcblx0XHRcdG5hbWVzcGFjZXMuc29ydCgpO1xuXHRcdH1cblx0XHRvbnR5cGUgPSB0eXBlLmluZGV4T2YoIFwiOlwiICkgPCAwICYmIFwib25cIiArIHR5cGU7XG5cblx0XHQvLyBDYWxsZXIgY2FuIHBhc3MgaW4gYSBqUXVlcnkuRXZlbnQgb2JqZWN0LCBPYmplY3QsIG9yIGp1c3QgYW4gZXZlbnQgdHlwZSBzdHJpbmdcblx0XHRldmVudCA9IGV2ZW50WyBqUXVlcnkuZXhwYW5kbyBdID9cblx0XHRcdGV2ZW50IDpcblx0XHRcdG5ldyBqUXVlcnkuRXZlbnQoIHR5cGUsIHR5cGVvZiBldmVudCA9PT0gXCJvYmplY3RcIiAmJiBldmVudCApO1xuXG5cdFx0Ly8gVHJpZ2dlciBiaXRtYXNrOiAmIDEgZm9yIG5hdGl2ZSBoYW5kbGVyczsgJiAyIGZvciBqUXVlcnkgKGFsd2F5cyB0cnVlKVxuXHRcdGV2ZW50LmlzVHJpZ2dlciA9IG9ubHlIYW5kbGVycyA/IDIgOiAzO1xuXHRcdGV2ZW50Lm5hbWVzcGFjZSA9IG5hbWVzcGFjZXMuam9pbiggXCIuXCIgKTtcblx0XHRldmVudC5ybmFtZXNwYWNlID0gZXZlbnQubmFtZXNwYWNlID9cblx0XHRcdG5ldyBSZWdFeHAoIFwiKF58XFxcXC4pXCIgKyBuYW1lc3BhY2VzLmpvaW4oIFwiXFxcXC4oPzouKlxcXFwufClcIiApICsgXCIoXFxcXC58JClcIiApIDpcblx0XHRcdG51bGw7XG5cblx0XHQvLyBDbGVhbiB1cCB0aGUgZXZlbnQgaW4gY2FzZSBpdCBpcyBiZWluZyByZXVzZWRcblx0XHRldmVudC5yZXN1bHQgPSB1bmRlZmluZWQ7XG5cdFx0aWYgKCAhZXZlbnQudGFyZ2V0ICkge1xuXHRcdFx0ZXZlbnQudGFyZ2V0ID0gZWxlbTtcblx0XHR9XG5cblx0XHQvLyBDbG9uZSBhbnkgaW5jb21pbmcgZGF0YSBhbmQgcHJlcGVuZCB0aGUgZXZlbnQsIGNyZWF0aW5nIHRoZSBoYW5kbGVyIGFyZyBsaXN0XG5cdFx0ZGF0YSA9IGRhdGEgPT0gbnVsbCA/XG5cdFx0XHRbIGV2ZW50IF0gOlxuXHRcdFx0alF1ZXJ5Lm1ha2VBcnJheSggZGF0YSwgWyBldmVudCBdICk7XG5cblx0XHQvLyBBbGxvdyBzcGVjaWFsIGV2ZW50cyB0byBkcmF3IG91dHNpZGUgdGhlIGxpbmVzXG5cdFx0c3BlY2lhbCA9IGpRdWVyeS5ldmVudC5zcGVjaWFsWyB0eXBlIF0gfHwge307XG5cdFx0aWYgKCAhb25seUhhbmRsZXJzICYmIHNwZWNpYWwudHJpZ2dlciAmJiBzcGVjaWFsLnRyaWdnZXIuYXBwbHkoIGVsZW0sIGRhdGEgKSA9PT0gZmFsc2UgKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gRGV0ZXJtaW5lIGV2ZW50IHByb3BhZ2F0aW9uIHBhdGggaW4gYWR2YW5jZSwgcGVyIFczQyBldmVudHMgc3BlYyAoIzk5NTEpXG5cdFx0Ly8gQnViYmxlIHVwIHRvIGRvY3VtZW50LCB0aGVuIHRvIHdpbmRvdzsgd2F0Y2ggZm9yIGEgZ2xvYmFsIG93bmVyRG9jdW1lbnQgdmFyICgjOTcyNClcblx0XHRpZiAoICFvbmx5SGFuZGxlcnMgJiYgIXNwZWNpYWwubm9CdWJibGUgJiYgIWlzV2luZG93KCBlbGVtICkgKSB7XG5cblx0XHRcdGJ1YmJsZVR5cGUgPSBzcGVjaWFsLmRlbGVnYXRlVHlwZSB8fCB0eXBlO1xuXHRcdFx0aWYgKCAhcmZvY3VzTW9ycGgudGVzdCggYnViYmxlVHlwZSArIHR5cGUgKSApIHtcblx0XHRcdFx0Y3VyID0gY3VyLnBhcmVudE5vZGU7XG5cdFx0XHR9XG5cdFx0XHRmb3IgKCA7IGN1cjsgY3VyID0gY3VyLnBhcmVudE5vZGUgKSB7XG5cdFx0XHRcdGV2ZW50UGF0aC5wdXNoKCBjdXIgKTtcblx0XHRcdFx0dG1wID0gY3VyO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBPbmx5IGFkZCB3aW5kb3cgaWYgd2UgZ290IHRvIGRvY3VtZW50IChlLmcuLCBub3QgcGxhaW4gb2JqIG9yIGRldGFjaGVkIERPTSlcblx0XHRcdGlmICggdG1wID09PSAoIGVsZW0ub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudCApICkge1xuXHRcdFx0XHRldmVudFBhdGgucHVzaCggdG1wLmRlZmF1bHRWaWV3IHx8IHRtcC5wYXJlbnRXaW5kb3cgfHwgd2luZG93ICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gRmlyZSBoYW5kbGVycyBvbiB0aGUgZXZlbnQgcGF0aFxuXHRcdGkgPSAwO1xuXHRcdHdoaWxlICggKCBjdXIgPSBldmVudFBhdGhbIGkrKyBdICkgJiYgIWV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkgKSB7XG5cdFx0XHRsYXN0RWxlbWVudCA9IGN1cjtcblx0XHRcdGV2ZW50LnR5cGUgPSBpID4gMSA/XG5cdFx0XHRcdGJ1YmJsZVR5cGUgOlxuXHRcdFx0XHRzcGVjaWFsLmJpbmRUeXBlIHx8IHR5cGU7XG5cblx0XHRcdC8vIGpRdWVyeSBoYW5kbGVyXG5cdFx0XHRoYW5kbGUgPSAoXG5cdFx0XHRcdFx0ZGF0YVByaXYuZ2V0KCBjdXIsIFwiZXZlbnRzXCIgKSB8fCBPYmplY3QuY3JlYXRlKCBudWxsIClcblx0XHRcdFx0KVsgZXZlbnQudHlwZSBdICYmXG5cdFx0XHRcdGRhdGFQcml2LmdldCggY3VyLCBcImhhbmRsZVwiICk7XG5cdFx0XHRpZiAoIGhhbmRsZSApIHtcblx0XHRcdFx0aGFuZGxlLmFwcGx5KCBjdXIsIGRhdGEgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gTmF0aXZlIGhhbmRsZXJcblx0XHRcdGhhbmRsZSA9IG9udHlwZSAmJiBjdXJbIG9udHlwZSBdO1xuXHRcdFx0aWYgKCBoYW5kbGUgJiYgaGFuZGxlLmFwcGx5ICYmIGFjY2VwdERhdGEoIGN1ciApICkge1xuXHRcdFx0XHRldmVudC5yZXN1bHQgPSBoYW5kbGUuYXBwbHkoIGN1ciwgZGF0YSApO1xuXHRcdFx0XHRpZiAoIGV2ZW50LnJlc3VsdCA9PT0gZmFsc2UgKSB7XG5cdFx0XHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRldmVudC50eXBlID0gdHlwZTtcblxuXHRcdC8vIElmIG5vYm9keSBwcmV2ZW50ZWQgdGhlIGRlZmF1bHQgYWN0aW9uLCBkbyBpdCBub3dcblx0XHRpZiAoICFvbmx5SGFuZGxlcnMgJiYgIWV2ZW50LmlzRGVmYXVsdFByZXZlbnRlZCgpICkge1xuXG5cdFx0XHRpZiAoICggIXNwZWNpYWwuX2RlZmF1bHQgfHxcblx0XHRcdFx0c3BlY2lhbC5fZGVmYXVsdC5hcHBseSggZXZlbnRQYXRoLnBvcCgpLCBkYXRhICkgPT09IGZhbHNlICkgJiZcblx0XHRcdFx0YWNjZXB0RGF0YSggZWxlbSApICkge1xuXG5cdFx0XHRcdC8vIENhbGwgYSBuYXRpdmUgRE9NIG1ldGhvZCBvbiB0aGUgdGFyZ2V0IHdpdGggdGhlIHNhbWUgbmFtZSBhcyB0aGUgZXZlbnQuXG5cdFx0XHRcdC8vIERvbid0IGRvIGRlZmF1bHQgYWN0aW9ucyBvbiB3aW5kb3csIHRoYXQncyB3aGVyZSBnbG9iYWwgdmFyaWFibGVzIGJlICgjNjE3MClcblx0XHRcdFx0aWYgKCBvbnR5cGUgJiYgaXNGdW5jdGlvbiggZWxlbVsgdHlwZSBdICkgJiYgIWlzV2luZG93KCBlbGVtICkgKSB7XG5cblx0XHRcdFx0XHQvLyBEb24ndCByZS10cmlnZ2VyIGFuIG9uRk9PIGV2ZW50IHdoZW4gd2UgY2FsbCBpdHMgRk9PKCkgbWV0aG9kXG5cdFx0XHRcdFx0dG1wID0gZWxlbVsgb250eXBlIF07XG5cblx0XHRcdFx0XHRpZiAoIHRtcCApIHtcblx0XHRcdFx0XHRcdGVsZW1bIG9udHlwZSBdID0gbnVsbDtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHQvLyBQcmV2ZW50IHJlLXRyaWdnZXJpbmcgb2YgdGhlIHNhbWUgZXZlbnQsIHNpbmNlIHdlIGFscmVhZHkgYnViYmxlZCBpdCBhYm92ZVxuXHRcdFx0XHRcdGpRdWVyeS5ldmVudC50cmlnZ2VyZWQgPSB0eXBlO1xuXG5cdFx0XHRcdFx0aWYgKCBldmVudC5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpICkge1xuXHRcdFx0XHRcdFx0bGFzdEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lciggdHlwZSwgc3RvcFByb3BhZ2F0aW9uQ2FsbGJhY2sgKTtcblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRlbGVtWyB0eXBlIF0oKTtcblxuXHRcdFx0XHRcdGlmICggZXZlbnQuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSApIHtcblx0XHRcdFx0XHRcdGxhc3RFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIHR5cGUsIHN0b3BQcm9wYWdhdGlvbkNhbGxiYWNrICk7XG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0alF1ZXJ5LmV2ZW50LnRyaWdnZXJlZCA9IHVuZGVmaW5lZDtcblxuXHRcdFx0XHRcdGlmICggdG1wICkge1xuXHRcdFx0XHRcdFx0ZWxlbVsgb250eXBlIF0gPSB0bXA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGV2ZW50LnJlc3VsdDtcblx0fSxcblxuXHQvLyBQaWdneWJhY2sgb24gYSBkb25vciBldmVudCB0byBzaW11bGF0ZSBhIGRpZmZlcmVudCBvbmVcblx0Ly8gVXNlZCBvbmx5IGZvciBgZm9jdXMoaW4gfCBvdXQpYCBldmVudHNcblx0c2ltdWxhdGU6IGZ1bmN0aW9uKCB0eXBlLCBlbGVtLCBldmVudCApIHtcblx0XHR2YXIgZSA9IGpRdWVyeS5leHRlbmQoXG5cdFx0XHRuZXcgalF1ZXJ5LkV2ZW50KCksXG5cdFx0XHRldmVudCxcblx0XHRcdHtcblx0XHRcdFx0dHlwZTogdHlwZSxcblx0XHRcdFx0aXNTaW11bGF0ZWQ6IHRydWVcblx0XHRcdH1cblx0XHQpO1xuXG5cdFx0alF1ZXJ5LmV2ZW50LnRyaWdnZXIoIGUsIG51bGwsIGVsZW0gKTtcblx0fVxuXG59ICk7XG5cbmpRdWVyeS5mbi5leHRlbmQoIHtcblxuXHR0cmlnZ2VyOiBmdW5jdGlvbiggdHlwZSwgZGF0YSApIHtcblx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHtcblx0XHRcdGpRdWVyeS5ldmVudC50cmlnZ2VyKCB0eXBlLCBkYXRhLCB0aGlzICk7XG5cdFx0fSApO1xuXHR9LFxuXHR0cmlnZ2VySGFuZGxlcjogZnVuY3Rpb24oIHR5cGUsIGRhdGEgKSB7XG5cdFx0dmFyIGVsZW0gPSB0aGlzWyAwIF07XG5cdFx0aWYgKCBlbGVtICkge1xuXHRcdFx0cmV0dXJuIGpRdWVyeS5ldmVudC50cmlnZ2VyKCB0eXBlLCBkYXRhLCBlbGVtLCB0cnVlICk7XG5cdFx0fVxuXHR9XG59ICk7XG5cblxuLy8gU3VwcG9ydDogRmlyZWZveCA8PTQ0XG4vLyBGaXJlZm94IGRvZXNuJ3QgaGF2ZSBmb2N1cyhpbiB8IG91dCkgZXZlbnRzXG4vLyBSZWxhdGVkIHRpY2tldCAtIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Nzc4N1xuLy9cbi8vIFN1cHBvcnQ6IENocm9tZSA8PTQ4IC0gNDksIFNhZmFyaSA8PTkuMCAtIDkuMVxuLy8gZm9jdXMoaW4gfCBvdXQpIGV2ZW50cyBmaXJlIGFmdGVyIGZvY3VzICYgYmx1ciBldmVudHMsXG4vLyB3aGljaCBpcyBzcGVjIHZpb2xhdGlvbiAtIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWZvY3VzZXZlbnQtZXZlbnQtb3JkZXJcbi8vIFJlbGF0ZWQgdGlja2V0IC0gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDQ5ODU3XG5pZiAoICFzdXBwb3J0LmZvY3VzaW4gKSB7XG5cdGpRdWVyeS5lYWNoKCB7IGZvY3VzOiBcImZvY3VzaW5cIiwgYmx1cjogXCJmb2N1c291dFwiIH0sIGZ1bmN0aW9uKCBvcmlnLCBmaXggKSB7XG5cblx0XHQvLyBBdHRhY2ggYSBzaW5nbGUgY2FwdHVyaW5nIGhhbmRsZXIgb24gdGhlIGRvY3VtZW50IHdoaWxlIHNvbWVvbmUgd2FudHMgZm9jdXNpbi9mb2N1c291dFxuXHRcdHZhciBoYW5kbGVyID0gZnVuY3Rpb24oIGV2ZW50ICkge1xuXHRcdFx0alF1ZXJ5LmV2ZW50LnNpbXVsYXRlKCBmaXgsIGV2ZW50LnRhcmdldCwgalF1ZXJ5LmV2ZW50LmZpeCggZXZlbnQgKSApO1xuXHRcdH07XG5cblx0XHRqUXVlcnkuZXZlbnQuc3BlY2lhbFsgZml4IF0gPSB7XG5cdFx0XHRzZXR1cDogZnVuY3Rpb24oKSB7XG5cblx0XHRcdFx0Ly8gSGFuZGxlOiByZWd1bGFyIG5vZGVzICh2aWEgYHRoaXMub3duZXJEb2N1bWVudGApLCB3aW5kb3dcblx0XHRcdFx0Ly8gKHZpYSBgdGhpcy5kb2N1bWVudGApICYgZG9jdW1lbnQgKHZpYSBgdGhpc2ApLlxuXHRcdFx0XHR2YXIgZG9jID0gdGhpcy5vd25lckRvY3VtZW50IHx8IHRoaXMuZG9jdW1lbnQgfHwgdGhpcyxcblx0XHRcdFx0XHRhdHRhY2hlcyA9IGRhdGFQcml2LmFjY2VzcyggZG9jLCBmaXggKTtcblxuXHRcdFx0XHRpZiAoICFhdHRhY2hlcyApIHtcblx0XHRcdFx0XHRkb2MuYWRkRXZlbnRMaXN0ZW5lciggb3JpZywgaGFuZGxlciwgdHJ1ZSApO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGRhdGFQcml2LmFjY2VzcyggZG9jLCBmaXgsICggYXR0YWNoZXMgfHwgMCApICsgMSApO1xuXHRcdFx0fSxcblx0XHRcdHRlYXJkb3duOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0dmFyIGRvYyA9IHRoaXMub3duZXJEb2N1bWVudCB8fCB0aGlzLmRvY3VtZW50IHx8IHRoaXMsXG5cdFx0XHRcdFx0YXR0YWNoZXMgPSBkYXRhUHJpdi5hY2Nlc3MoIGRvYywgZml4ICkgLSAxO1xuXG5cdFx0XHRcdGlmICggIWF0dGFjaGVzICkge1xuXHRcdFx0XHRcdGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKCBvcmlnLCBoYW5kbGVyLCB0cnVlICk7XG5cdFx0XHRcdFx0ZGF0YVByaXYucmVtb3ZlKCBkb2MsIGZpeCApO1xuXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZGF0YVByaXYuYWNjZXNzKCBkb2MsIGZpeCwgYXR0YWNoZXMgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdH0gKTtcbn1cbnZhciBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbjtcblxudmFyIG5vbmNlID0geyBndWlkOiBEYXRlLm5vdygpIH07XG5cbnZhciBycXVlcnkgPSAoIC9cXD8vICk7XG5cblxuXG4vLyBDcm9zcy1icm93c2VyIHhtbCBwYXJzaW5nXG5qUXVlcnkucGFyc2VYTUwgPSBmdW5jdGlvbiggZGF0YSApIHtcblx0dmFyIHhtbDtcblx0aWYgKCAhZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gXCJzdHJpbmdcIiApIHtcblx0XHRyZXR1cm4gbnVsbDtcblx0fVxuXG5cdC8vIFN1cHBvcnQ6IElFIDkgLSAxMSBvbmx5XG5cdC8vIElFIHRocm93cyBvbiBwYXJzZUZyb21TdHJpbmcgd2l0aCBpbnZhbGlkIGlucHV0LlxuXHR0cnkge1xuXHRcdHhtbCA9ICggbmV3IHdpbmRvdy5ET01QYXJzZXIoKSApLnBhcnNlRnJvbVN0cmluZyggZGF0YSwgXCJ0ZXh0L3htbFwiICk7XG5cdH0gY2F0Y2ggKCBlICkge1xuXHRcdHhtbCA9IHVuZGVmaW5lZDtcblx0fVxuXG5cdGlmICggIXhtbCB8fCB4bWwuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIFwicGFyc2VyZXJyb3JcIiApLmxlbmd0aCApIHtcblx0XHRqUXVlcnkuZXJyb3IoIFwiSW52YWxpZCBYTUw6IFwiICsgZGF0YSApO1xuXHR9XG5cdHJldHVybiB4bWw7XG59O1xuXG5cbnZhclxuXHRyYnJhY2tldCA9IC9cXFtcXF0kLyxcblx0ckNSTEYgPSAvXFxyP1xcbi9nLFxuXHRyc3VibWl0dGVyVHlwZXMgPSAvXig/OnN1Ym1pdHxidXR0b258aW1hZ2V8cmVzZXR8ZmlsZSkkL2ksXG5cdHJzdWJtaXR0YWJsZSA9IC9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtcblxuZnVuY3Rpb24gYnVpbGRQYXJhbXMoIHByZWZpeCwgb2JqLCB0cmFkaXRpb25hbCwgYWRkICkge1xuXHR2YXIgbmFtZTtcblxuXHRpZiAoIEFycmF5LmlzQXJyYXkoIG9iaiApICkge1xuXG5cdFx0Ly8gU2VyaWFsaXplIGFycmF5IGl0ZW0uXG5cdFx0alF1ZXJ5LmVhY2goIG9iaiwgZnVuY3Rpb24oIGksIHYgKSB7XG5cdFx0XHRpZiAoIHRyYWRpdGlvbmFsIHx8IHJicmFja2V0LnRlc3QoIHByZWZpeCApICkge1xuXG5cdFx0XHRcdC8vIFRyZWF0IGVhY2ggYXJyYXkgaXRlbSBhcyBhIHNjYWxhci5cblx0XHRcdFx0YWRkKCBwcmVmaXgsIHYgKTtcblxuXHRcdFx0fSBlbHNlIHtcblxuXHRcdFx0XHQvLyBJdGVtIGlzIG5vbi1zY2FsYXIgKGFycmF5IG9yIG9iamVjdCksIGVuY29kZSBpdHMgbnVtZXJpYyBpbmRleC5cblx0XHRcdFx0YnVpbGRQYXJhbXMoXG5cdFx0XHRcdFx0cHJlZml4ICsgXCJbXCIgKyAoIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYgIT0gbnVsbCA/IGkgOiBcIlwiICkgKyBcIl1cIixcblx0XHRcdFx0XHR2LFxuXHRcdFx0XHRcdHRyYWRpdGlvbmFsLFxuXHRcdFx0XHRcdGFkZFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH0gKTtcblxuXHR9IGVsc2UgaWYgKCAhdHJhZGl0aW9uYWwgJiYgdG9UeXBlKCBvYmogKSA9PT0gXCJvYmplY3RcIiApIHtcblxuXHRcdC8vIFNlcmlhbGl6ZSBvYmplY3QgaXRlbS5cblx0XHRmb3IgKCBuYW1lIGluIG9iaiApIHtcblx0XHRcdGJ1aWxkUGFyYW1zKCBwcmVmaXggKyBcIltcIiArIG5hbWUgKyBcIl1cIiwgb2JqWyBuYW1lIF0sIHRyYWRpdGlvbmFsLCBhZGQgKTtcblx0XHR9XG5cblx0fSBlbHNlIHtcblxuXHRcdC8vIFNlcmlhbGl6ZSBzY2FsYXIgaXRlbS5cblx0XHRhZGQoIHByZWZpeCwgb2JqICk7XG5cdH1cbn1cblxuLy8gU2VyaWFsaXplIGFuIGFycmF5IG9mIGZvcm0gZWxlbWVudHMgb3IgYSBzZXQgb2Zcbi8vIGtleS92YWx1ZXMgaW50byBhIHF1ZXJ5IHN0cmluZ1xualF1ZXJ5LnBhcmFtID0gZnVuY3Rpb24oIGEsIHRyYWRpdGlvbmFsICkge1xuXHR2YXIgcHJlZml4LFxuXHRcdHMgPSBbXSxcblx0XHRhZGQgPSBmdW5jdGlvbigga2V5LCB2YWx1ZU9yRnVuY3Rpb24gKSB7XG5cblx0XHRcdC8vIElmIHZhbHVlIGlzIGEgZnVuY3Rpb24sIGludm9rZSBpdCBhbmQgdXNlIGl0cyByZXR1cm4gdmFsdWVcblx0XHRcdHZhciB2YWx1ZSA9IGlzRnVuY3Rpb24oIHZhbHVlT3JGdW5jdGlvbiApID9cblx0XHRcdFx0dmFsdWVPckZ1bmN0aW9uKCkgOlxuXHRcdFx0XHR2YWx1ZU9yRnVuY3Rpb247XG5cblx0XHRcdHNbIHMubGVuZ3RoIF0gPSBlbmNvZGVVUklDb21wb25lbnQoIGtleSApICsgXCI9XCIgK1xuXHRcdFx0XHRlbmNvZGVVUklDb21wb25lbnQoIHZhbHVlID09IG51bGwgPyBcIlwiIDogdmFsdWUgKTtcblx0XHR9O1xuXG5cdGlmICggYSA9PSBudWxsICkge1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG5cblx0Ly8gSWYgYW4gYXJyYXkgd2FzIHBhc3NlZCBpbiwgYXNzdW1lIHRoYXQgaXQgaXMgYW4gYXJyYXkgb2YgZm9ybSBlbGVtZW50cy5cblx0aWYgKCBBcnJheS5pc0FycmF5KCBhICkgfHwgKCBhLmpxdWVyeSAmJiAhalF1ZXJ5LmlzUGxhaW5PYmplY3QoIGEgKSApICkge1xuXG5cdFx0Ly8gU2VyaWFsaXplIHRoZSBmb3JtIGVsZW1lbnRzXG5cdFx0alF1ZXJ5LmVhY2goIGEsIGZ1bmN0aW9uKCkge1xuXHRcdFx0YWRkKCB0aGlzLm5hbWUsIHRoaXMudmFsdWUgKTtcblx0XHR9ICk7XG5cblx0fSBlbHNlIHtcblxuXHRcdC8vIElmIHRyYWRpdGlvbmFsLCBlbmNvZGUgdGhlIFwib2xkXCIgd2F5ICh0aGUgd2F5IDEuMy4yIG9yIG9sZGVyXG5cdFx0Ly8gZGlkIGl0KSwgb3RoZXJ3aXNlIGVuY29kZSBwYXJhbXMgcmVjdXJzaXZlbHkuXG5cdFx0Zm9yICggcHJlZml4IGluIGEgKSB7XG5cdFx0XHRidWlsZFBhcmFtcyggcHJlZml4LCBhWyBwcmVmaXggXSwgdHJhZGl0aW9uYWwsIGFkZCApO1xuXHRcdH1cblx0fVxuXG5cdC8vIFJldHVybiB0aGUgcmVzdWx0aW5nIHNlcmlhbGl6YXRpb25cblx0cmV0dXJuIHMuam9pbiggXCImXCIgKTtcbn07XG5cbmpRdWVyeS5mbi5leHRlbmQoIHtcblx0c2VyaWFsaXplOiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4galF1ZXJ5LnBhcmFtKCB0aGlzLnNlcmlhbGl6ZUFycmF5KCkgKTtcblx0fSxcblx0c2VyaWFsaXplQXJyYXk6IGZ1bmN0aW9uKCkge1xuXHRcdHJldHVybiB0aGlzLm1hcCggZnVuY3Rpb24oKSB7XG5cblx0XHRcdC8vIENhbiBhZGQgcHJvcEhvb2sgZm9yIFwiZWxlbWVudHNcIiB0byBmaWx0ZXIgb3IgYWRkIGZvcm0gZWxlbWVudHNcblx0XHRcdHZhciBlbGVtZW50cyA9IGpRdWVyeS5wcm9wKCB0aGlzLCBcImVsZW1lbnRzXCIgKTtcblx0XHRcdHJldHVybiBlbGVtZW50cyA/IGpRdWVyeS5tYWtlQXJyYXkoIGVsZW1lbnRzICkgOiB0aGlzO1xuXHRcdH0gKVxuXHRcdC5maWx0ZXIoIGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIHR5cGUgPSB0aGlzLnR5cGU7XG5cblx0XHRcdC8vIFVzZSAuaXMoIFwiOmRpc2FibGVkXCIgKSBzbyB0aGF0IGZpZWxkc2V0W2Rpc2FibGVkXSB3b3Jrc1xuXHRcdFx0cmV0dXJuIHRoaXMubmFtZSAmJiAhalF1ZXJ5KCB0aGlzICkuaXMoIFwiOmRpc2FibGVkXCIgKSAmJlxuXHRcdFx0XHRyc3VibWl0dGFibGUudGVzdCggdGhpcy5ub2RlTmFtZSApICYmICFyc3VibWl0dGVyVHlwZXMudGVzdCggdHlwZSApICYmXG5cdFx0XHRcdCggdGhpcy5jaGVja2VkIHx8ICFyY2hlY2thYmxlVHlwZS50ZXN0KCB0eXBlICkgKTtcblx0XHR9IClcblx0XHQubWFwKCBmdW5jdGlvbiggX2ksIGVsZW0gKSB7XG5cdFx0XHR2YXIgdmFsID0galF1ZXJ5KCB0aGlzICkudmFsKCk7XG5cblx0XHRcdGlmICggdmFsID09IG51bGwgKSB7XG5cdFx0XHRcdHJldHVybiBudWxsO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIEFycmF5LmlzQXJyYXkoIHZhbCApICkge1xuXHRcdFx0XHRyZXR1cm4galF1ZXJ5Lm1hcCggdmFsLCBmdW5jdGlvbiggdmFsICkge1xuXHRcdFx0XHRcdHJldHVybiB7IG5hbWU6IGVsZW0ubmFtZSwgdmFsdWU6IHZhbC5yZXBsYWNlKCByQ1JMRiwgXCJcXHJcXG5cIiApIH07XG5cdFx0XHRcdH0gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHsgbmFtZTogZWxlbS5uYW1lLCB2YWx1ZTogdmFsLnJlcGxhY2UoIHJDUkxGLCBcIlxcclxcblwiICkgfTtcblx0XHR9ICkuZ2V0KCk7XG5cdH1cbn0gKTtcblxuXG52YXJcblx0cjIwID0gLyUyMC9nLFxuXHRyaGFzaCA9IC8jLiokLyxcblx0cmFudGlDYWNoZSA9IC8oWz8mXSlfPVteJl0qLyxcblx0cmhlYWRlcnMgPSAvXiguKj8pOlsgXFx0XSooW15cXHJcXG5dKikkL21nLFxuXG5cdC8vICM3NjUzLCAjODEyNSwgIzgxNTI6IGxvY2FsIHByb3RvY29sIGRldGVjdGlvblxuXHRybG9jYWxQcm90b2NvbCA9IC9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLFxuXHRybm9Db250ZW50ID0gL14oPzpHRVR8SEVBRCkkLyxcblx0cnByb3RvY29sID0gL15cXC9cXC8vLFxuXG5cdC8qIFByZWZpbHRlcnNcblx0ICogMSkgVGhleSBhcmUgdXNlZnVsIHRvIGludHJvZHVjZSBjdXN0b20gZGF0YVR5cGVzIChzZWUgYWpheC9qc29ucC5qcyBmb3IgYW4gZXhhbXBsZSlcblx0ICogMikgVGhlc2UgYXJlIGNhbGxlZDpcblx0ICogICAgLSBCRUZPUkUgYXNraW5nIGZvciBhIHRyYW5zcG9ydFxuXHQgKiAgICAtIEFGVEVSIHBhcmFtIHNlcmlhbGl6YXRpb24gKHMuZGF0YSBpcyBhIHN0cmluZyBpZiBzLnByb2Nlc3NEYXRhIGlzIHRydWUpXG5cdCAqIDMpIGtleSBpcyB0aGUgZGF0YVR5cGVcblx0ICogNCkgdGhlIGNhdGNoYWxsIHN5bWJvbCBcIipcIiBjYW4gYmUgdXNlZFxuXHQgKiA1KSBleGVjdXRpb24gd2lsbCBzdGFydCB3aXRoIHRyYW5zcG9ydCBkYXRhVHlwZSBhbmQgVEhFTiBjb250aW51ZSBkb3duIHRvIFwiKlwiIGlmIG5lZWRlZFxuXHQgKi9cblx0cHJlZmlsdGVycyA9IHt9LFxuXG5cdC8qIFRyYW5zcG9ydHMgYmluZGluZ3Ncblx0ICogMSkga2V5IGlzIHRoZSBkYXRhVHlwZVxuXHQgKiAyKSB0aGUgY2F0Y2hhbGwgc3ltYm9sIFwiKlwiIGNhbiBiZSB1c2VkXG5cdCAqIDMpIHNlbGVjdGlvbiB3aWxsIHN0YXJ0IHdpdGggdHJhbnNwb3J0IGRhdGFUeXBlIGFuZCBUSEVOIGdvIHRvIFwiKlwiIGlmIG5lZWRlZFxuXHQgKi9cblx0dHJhbnNwb3J0cyA9IHt9LFxuXG5cdC8vIEF2b2lkIGNvbW1lbnQtcHJvbG9nIGNoYXIgc2VxdWVuY2UgKCMxMDA5OCk7IG11c3QgYXBwZWFzZSBsaW50IGFuZCBldmFkZSBjb21wcmVzc2lvblxuXHRhbGxUeXBlcyA9IFwiKi9cIi5jb25jYXQoIFwiKlwiICksXG5cblx0Ly8gQW5jaG9yIHRhZyBmb3IgcGFyc2luZyB0aGUgZG9jdW1lbnQgb3JpZ2luXG5cdG9yaWdpbkFuY2hvciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIFwiYVwiICk7XG5cdG9yaWdpbkFuY2hvci5ocmVmID0gbG9jYXRpb24uaHJlZjtcblxuLy8gQmFzZSBcImNvbnN0cnVjdG9yXCIgZm9yIGpRdWVyeS5hamF4UHJlZmlsdGVyIGFuZCBqUXVlcnkuYWpheFRyYW5zcG9ydFxuZnVuY3Rpb24gYWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBzdHJ1Y3R1cmUgKSB7XG5cblx0Ly8gZGF0YVR5cGVFeHByZXNzaW9uIGlzIG9wdGlvbmFsIGFuZCBkZWZhdWx0cyB0byBcIipcIlxuXHRyZXR1cm4gZnVuY3Rpb24oIGRhdGFUeXBlRXhwcmVzc2lvbiwgZnVuYyApIHtcblxuXHRcdGlmICggdHlwZW9mIGRhdGFUeXBlRXhwcmVzc2lvbiAhPT0gXCJzdHJpbmdcIiApIHtcblx0XHRcdGZ1bmMgPSBkYXRhVHlwZUV4cHJlc3Npb247XG5cdFx0XHRkYXRhVHlwZUV4cHJlc3Npb24gPSBcIipcIjtcblx0XHR9XG5cblx0XHR2YXIgZGF0YVR5cGUsXG5cdFx0XHRpID0gMCxcblx0XHRcdGRhdGFUeXBlcyA9IGRhdGFUeXBlRXhwcmVzc2lvbi50b0xvd2VyQ2FzZSgpLm1hdGNoKCBybm90aHRtbHdoaXRlICkgfHwgW107XG5cblx0XHRpZiAoIGlzRnVuY3Rpb24oIGZ1bmMgKSApIHtcblxuXHRcdFx0Ly8gRm9yIGVhY2ggZGF0YVR5cGUgaW4gdGhlIGRhdGFUeXBlRXhwcmVzc2lvblxuXHRcdFx0d2hpbGUgKCAoIGRhdGFUeXBlID0gZGF0YVR5cGVzWyBpKysgXSApICkge1xuXG5cdFx0XHRcdC8vIFByZXBlbmQgaWYgcmVxdWVzdGVkXG5cdFx0XHRcdGlmICggZGF0YVR5cGVbIDAgXSA9PT0gXCIrXCIgKSB7XG5cdFx0XHRcdFx0ZGF0YVR5cGUgPSBkYXRhVHlwZS5zbGljZSggMSApIHx8IFwiKlwiO1xuXHRcdFx0XHRcdCggc3RydWN0dXJlWyBkYXRhVHlwZSBdID0gc3RydWN0dXJlWyBkYXRhVHlwZSBdIHx8IFtdICkudW5zaGlmdCggZnVuYyApO1xuXG5cdFx0XHRcdC8vIE90aGVyd2lzZSBhcHBlbmRcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHQoIHN0cnVjdHVyZVsgZGF0YVR5cGUgXSA9IHN0cnVjdHVyZVsgZGF0YVR5cGUgXSB8fCBbXSApLnB1c2goIGZ1bmMgKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn1cblxuLy8gQmFzZSBpbnNwZWN0aW9uIGZ1bmN0aW9uIGZvciBwcmVmaWx0ZXJzIGFuZCB0cmFuc3BvcnRzXG5mdW5jdGlvbiBpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggc3RydWN0dXJlLCBvcHRpb25zLCBvcmlnaW5hbE9wdGlvbnMsIGpxWEhSICkge1xuXG5cdHZhciBpbnNwZWN0ZWQgPSB7fSxcblx0XHRzZWVraW5nVHJhbnNwb3J0ID0gKCBzdHJ1Y3R1cmUgPT09IHRyYW5zcG9ydHMgKTtcblxuXHRmdW5jdGlvbiBpbnNwZWN0KCBkYXRhVHlwZSApIHtcblx0XHR2YXIgc2VsZWN0ZWQ7XG5cdFx0aW5zcGVjdGVkWyBkYXRhVHlwZSBdID0gdHJ1ZTtcblx0XHRqUXVlcnkuZWFjaCggc3RydWN0dXJlWyBkYXRhVHlwZSBdIHx8IFtdLCBmdW5jdGlvbiggXywgcHJlZmlsdGVyT3JGYWN0b3J5ICkge1xuXHRcdFx0dmFyIGRhdGFUeXBlT3JUcmFuc3BvcnQgPSBwcmVmaWx0ZXJPckZhY3RvcnkoIG9wdGlvbnMsIG9yaWdpbmFsT3B0aW9ucywganFYSFIgKTtcblx0XHRcdGlmICggdHlwZW9mIGRhdGFUeXBlT3JUcmFuc3BvcnQgPT09IFwic3RyaW5nXCIgJiZcblx0XHRcdFx0IXNlZWtpbmdUcmFuc3BvcnQgJiYgIWluc3BlY3RlZFsgZGF0YVR5cGVPclRyYW5zcG9ydCBdICkge1xuXG5cdFx0XHRcdG9wdGlvbnMuZGF0YVR5cGVzLnVuc2hpZnQoIGRhdGFUeXBlT3JUcmFuc3BvcnQgKTtcblx0XHRcdFx0aW5zcGVjdCggZGF0YVR5cGVPclRyYW5zcG9ydCApO1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHR9IGVsc2UgaWYgKCBzZWVraW5nVHJhbnNwb3J0ICkge1xuXHRcdFx0XHRyZXR1cm4gISggc2VsZWN0ZWQgPSBkYXRhVHlwZU9yVHJhbnNwb3J0ICk7XG5cdFx0XHR9XG5cdFx0fSApO1xuXHRcdHJldHVybiBzZWxlY3RlZDtcblx0fVxuXG5cdHJldHVybiBpbnNwZWN0KCBvcHRpb25zLmRhdGFUeXBlc1sgMCBdICkgfHwgIWluc3BlY3RlZFsgXCIqXCIgXSAmJiBpbnNwZWN0KCBcIipcIiApO1xufVxuXG4vLyBBIHNwZWNpYWwgZXh0ZW5kIGZvciBhamF4IG9wdGlvbnNcbi8vIHRoYXQgdGFrZXMgXCJmbGF0XCIgb3B0aW9ucyAobm90IHRvIGJlIGRlZXAgZXh0ZW5kZWQpXG4vLyBGaXhlcyAjOTg4N1xuZnVuY3Rpb24gYWpheEV4dGVuZCggdGFyZ2V0LCBzcmMgKSB7XG5cdHZhciBrZXksIGRlZXAsXG5cdFx0ZmxhdE9wdGlvbnMgPSBqUXVlcnkuYWpheFNldHRpbmdzLmZsYXRPcHRpb25zIHx8IHt9O1xuXG5cdGZvciAoIGtleSBpbiBzcmMgKSB7XG5cdFx0aWYgKCBzcmNbIGtleSBdICE9PSB1bmRlZmluZWQgKSB7XG5cdFx0XHQoIGZsYXRPcHRpb25zWyBrZXkgXSA/IHRhcmdldCA6ICggZGVlcCB8fCAoIGRlZXAgPSB7fSApICkgKVsga2V5IF0gPSBzcmNbIGtleSBdO1xuXHRcdH1cblx0fVxuXHRpZiAoIGRlZXAgKSB7XG5cdFx0alF1ZXJ5LmV4dGVuZCggdHJ1ZSwgdGFyZ2V0LCBkZWVwICk7XG5cdH1cblxuXHRyZXR1cm4gdGFyZ2V0O1xufVxuXG4vKiBIYW5kbGVzIHJlc3BvbnNlcyB0byBhbiBhamF4IHJlcXVlc3Q6XG4gKiAtIGZpbmRzIHRoZSByaWdodCBkYXRhVHlwZSAobWVkaWF0ZXMgYmV0d2VlbiBjb250ZW50LXR5cGUgYW5kIGV4cGVjdGVkIGRhdGFUeXBlKVxuICogLSByZXR1cm5zIHRoZSBjb3JyZXNwb25kaW5nIHJlc3BvbnNlXG4gKi9cbmZ1bmN0aW9uIGFqYXhIYW5kbGVSZXNwb25zZXMoIHMsIGpxWEhSLCByZXNwb25zZXMgKSB7XG5cblx0dmFyIGN0LCB0eXBlLCBmaW5hbERhdGFUeXBlLCBmaXJzdERhdGFUeXBlLFxuXHRcdGNvbnRlbnRzID0gcy5jb250ZW50cyxcblx0XHRkYXRhVHlwZXMgPSBzLmRhdGFUeXBlcztcblxuXHQvLyBSZW1vdmUgYXV0byBkYXRhVHlwZSBhbmQgZ2V0IGNvbnRlbnQtdHlwZSBpbiB0aGUgcHJvY2Vzc1xuXHR3aGlsZSAoIGRhdGFUeXBlc1sgMCBdID09PSBcIipcIiApIHtcblx0XHRkYXRhVHlwZXMuc2hpZnQoKTtcblx0XHRpZiAoIGN0ID09PSB1bmRlZmluZWQgKSB7XG5cdFx0XHRjdCA9IHMubWltZVR5cGUgfHwganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoIFwiQ29udGVudC1UeXBlXCIgKTtcblx0XHR9XG5cdH1cblxuXHQvLyBDaGVjayBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSBrbm93biBjb250ZW50LXR5cGVcblx0aWYgKCBjdCApIHtcblx0XHRmb3IgKCB0eXBlIGluIGNvbnRlbnRzICkge1xuXHRcdFx0aWYgKCBjb250ZW50c1sgdHlwZSBdICYmIGNvbnRlbnRzWyB0eXBlIF0udGVzdCggY3QgKSApIHtcblx0XHRcdFx0ZGF0YVR5cGVzLnVuc2hpZnQoIHR5cGUgKTtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gQ2hlY2sgdG8gc2VlIGlmIHdlIGhhdmUgYSByZXNwb25zZSBmb3IgdGhlIGV4cGVjdGVkIGRhdGFUeXBlXG5cdGlmICggZGF0YVR5cGVzWyAwIF0gaW4gcmVzcG9uc2VzICkge1xuXHRcdGZpbmFsRGF0YVR5cGUgPSBkYXRhVHlwZXNbIDAgXTtcblx0fSBlbHNlIHtcblxuXHRcdC8vIFRyeSBjb252ZXJ0aWJsZSBkYXRhVHlwZXNcblx0XHRmb3IgKCB0eXBlIGluIHJlc3BvbnNlcyApIHtcblx0XHRcdGlmICggIWRhdGFUeXBlc1sgMCBdIHx8IHMuY29udmVydGVyc1sgdHlwZSArIFwiIFwiICsgZGF0YVR5cGVzWyAwIF0gXSApIHtcblx0XHRcdFx0ZmluYWxEYXRhVHlwZSA9IHR5cGU7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCAhZmlyc3REYXRhVHlwZSApIHtcblx0XHRcdFx0Zmlyc3REYXRhVHlwZSA9IHR5cGU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gT3IganVzdCB1c2UgZmlyc3Qgb25lXG5cdFx0ZmluYWxEYXRhVHlwZSA9IGZpbmFsRGF0YVR5cGUgfHwgZmlyc3REYXRhVHlwZTtcblx0fVxuXG5cdC8vIElmIHdlIGZvdW5kIGEgZGF0YVR5cGVcblx0Ly8gV2UgYWRkIHRoZSBkYXRhVHlwZSB0byB0aGUgbGlzdCBpZiBuZWVkZWRcblx0Ly8gYW5kIHJldHVybiB0aGUgY29ycmVzcG9uZGluZyByZXNwb25zZVxuXHRpZiAoIGZpbmFsRGF0YVR5cGUgKSB7XG5cdFx0aWYgKCBmaW5hbERhdGFUeXBlICE9PSBkYXRhVHlwZXNbIDAgXSApIHtcblx0XHRcdGRhdGFUeXBlcy51bnNoaWZ0KCBmaW5hbERhdGFUeXBlICk7XG5cdFx0fVxuXHRcdHJldHVybiByZXNwb25zZXNbIGZpbmFsRGF0YVR5cGUgXTtcblx0fVxufVxuXG4vKiBDaGFpbiBjb252ZXJzaW9ucyBnaXZlbiB0aGUgcmVxdWVzdCBhbmQgdGhlIG9yaWdpbmFsIHJlc3BvbnNlXG4gKiBBbHNvIHNldHMgdGhlIHJlc3BvbnNlWFhYIGZpZWxkcyBvbiB0aGUganFYSFIgaW5zdGFuY2VcbiAqL1xuZnVuY3Rpb24gYWpheENvbnZlcnQoIHMsIHJlc3BvbnNlLCBqcVhIUiwgaXNTdWNjZXNzICkge1xuXHR2YXIgY29udjIsIGN1cnJlbnQsIGNvbnYsIHRtcCwgcHJldixcblx0XHRjb252ZXJ0ZXJzID0ge30sXG5cblx0XHQvLyBXb3JrIHdpdGggYSBjb3B5IG9mIGRhdGFUeXBlcyBpbiBjYXNlIHdlIG5lZWQgdG8gbW9kaWZ5IGl0IGZvciBjb252ZXJzaW9uXG5cdFx0ZGF0YVR5cGVzID0gcy5kYXRhVHlwZXMuc2xpY2UoKTtcblxuXHQvLyBDcmVhdGUgY29udmVydGVycyBtYXAgd2l0aCBsb3dlcmNhc2VkIGtleXNcblx0aWYgKCBkYXRhVHlwZXNbIDEgXSApIHtcblx0XHRmb3IgKCBjb252IGluIHMuY29udmVydGVycyApIHtcblx0XHRcdGNvbnZlcnRlcnNbIGNvbnYudG9Mb3dlckNhc2UoKSBdID0gcy5jb252ZXJ0ZXJzWyBjb252IF07XG5cdFx0fVxuXHR9XG5cblx0Y3VycmVudCA9IGRhdGFUeXBlcy5zaGlmdCgpO1xuXG5cdC8vIENvbnZlcnQgdG8gZWFjaCBzZXF1ZW50aWFsIGRhdGFUeXBlXG5cdHdoaWxlICggY3VycmVudCApIHtcblxuXHRcdGlmICggcy5yZXNwb25zZUZpZWxkc1sgY3VycmVudCBdICkge1xuXHRcdFx0anFYSFJbIHMucmVzcG9uc2VGaWVsZHNbIGN1cnJlbnQgXSBdID0gcmVzcG9uc2U7XG5cdFx0fVxuXG5cdFx0Ly8gQXBwbHkgdGhlIGRhdGFGaWx0ZXIgaWYgcHJvdmlkZWRcblx0XHRpZiAoICFwcmV2ICYmIGlzU3VjY2VzcyAmJiBzLmRhdGFGaWx0ZXIgKSB7XG5cdFx0XHRyZXNwb25zZSA9IHMuZGF0YUZpbHRlciggcmVzcG9uc2UsIHMuZGF0YVR5cGUgKTtcblx0XHR9XG5cblx0XHRwcmV2ID0gY3VycmVudDtcblx0XHRjdXJyZW50ID0gZGF0YVR5cGVzLnNoaWZ0KCk7XG5cblx0XHRpZiAoIGN1cnJlbnQgKSB7XG5cblx0XHRcdC8vIFRoZXJlJ3Mgb25seSB3b3JrIHRvIGRvIGlmIGN1cnJlbnQgZGF0YVR5cGUgaXMgbm9uLWF1dG9cblx0XHRcdGlmICggY3VycmVudCA9PT0gXCIqXCIgKSB7XG5cblx0XHRcdFx0Y3VycmVudCA9IHByZXY7XG5cblx0XHRcdC8vIENvbnZlcnQgcmVzcG9uc2UgaWYgcHJldiBkYXRhVHlwZSBpcyBub24tYXV0byBhbmQgZGlmZmVycyBmcm9tIGN1cnJlbnRcblx0XHRcdH0gZWxzZSBpZiAoIHByZXYgIT09IFwiKlwiICYmIHByZXYgIT09IGN1cnJlbnQgKSB7XG5cblx0XHRcdFx0Ly8gU2VlayBhIGRpcmVjdCBjb252ZXJ0ZXJcblx0XHRcdFx0Y29udiA9IGNvbnZlcnRlcnNbIHByZXYgKyBcIiBcIiArIGN1cnJlbnQgXSB8fCBjb252ZXJ0ZXJzWyBcIiogXCIgKyBjdXJyZW50IF07XG5cblx0XHRcdFx0Ly8gSWYgbm9uZSBmb3VuZCwgc2VlayBhIHBhaXJcblx0XHRcdFx0aWYgKCAhY29udiApIHtcblx0XHRcdFx0XHRmb3IgKCBjb252MiBpbiBjb252ZXJ0ZXJzICkge1xuXG5cdFx0XHRcdFx0XHQvLyBJZiBjb252MiBvdXRwdXRzIGN1cnJlbnRcblx0XHRcdFx0XHRcdHRtcCA9IGNvbnYyLnNwbGl0KCBcIiBcIiApO1xuXHRcdFx0XHRcdFx0aWYgKCB0bXBbIDEgXSA9PT0gY3VycmVudCApIHtcblxuXHRcdFx0XHRcdFx0XHQvLyBJZiBwcmV2IGNhbiBiZSBjb252ZXJ0ZWQgdG8gYWNjZXB0ZWQgaW5wdXRcblx0XHRcdFx0XHRcdFx0Y29udiA9IGNvbnZlcnRlcnNbIHByZXYgKyBcIiBcIiArIHRtcFsgMCBdIF0gfHxcblx0XHRcdFx0XHRcdFx0XHRjb252ZXJ0ZXJzWyBcIiogXCIgKyB0bXBbIDAgXSBdO1xuXHRcdFx0XHRcdFx0XHRpZiAoIGNvbnYgKSB7XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBDb25kZW5zZSBlcXVpdmFsZW5jZSBjb252ZXJ0ZXJzXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCBjb252ID09PSB0cnVlICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29udiA9IGNvbnZlcnRlcnNbIGNvbnYyIF07XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBPdGhlcndpc2UsIGluc2VydCB0aGUgaW50ZXJtZWRpYXRlIGRhdGFUeXBlXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmICggY29udmVydGVyc1sgY29udjIgXSAhPT0gdHJ1ZSApIHtcblx0XHRcdFx0XHRcdFx0XHRcdGN1cnJlbnQgPSB0bXBbIDAgXTtcblx0XHRcdFx0XHRcdFx0XHRcdGRhdGFUeXBlcy51bnNoaWZ0KCB0bXBbIDEgXSApO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIEFwcGx5IGNvbnZlcnRlciAoaWYgbm90IGFuIGVxdWl2YWxlbmNlKVxuXHRcdFx0XHRpZiAoIGNvbnYgIT09IHRydWUgKSB7XG5cblx0XHRcdFx0XHQvLyBVbmxlc3MgZXJyb3JzIGFyZSBhbGxvd2VkIHRvIGJ1YmJsZSwgY2F0Y2ggYW5kIHJldHVybiB0aGVtXG5cdFx0XHRcdFx0aWYgKCBjb252ICYmIHMudGhyb3dzICkge1xuXHRcdFx0XHRcdFx0cmVzcG9uc2UgPSBjb252KCByZXNwb25zZSApO1xuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHRyZXNwb25zZSA9IGNvbnYoIHJlc3BvbnNlICk7XG5cdFx0XHRcdFx0XHR9IGNhdGNoICggZSApIHtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0XHRzdGF0ZTogXCJwYXJzZXJlcnJvclwiLFxuXHRcdFx0XHRcdFx0XHRcdGVycm9yOiBjb252ID8gZSA6IFwiTm8gY29udmVyc2lvbiBmcm9tIFwiICsgcHJldiArIFwiIHRvIFwiICsgY3VycmVudFxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiB7IHN0YXRlOiBcInN1Y2Nlc3NcIiwgZGF0YTogcmVzcG9uc2UgfTtcbn1cblxualF1ZXJ5LmV4dGVuZCgge1xuXG5cdC8vIENvdW50ZXIgZm9yIGhvbGRpbmcgdGhlIG51bWJlciBvZiBhY3RpdmUgcXVlcmllc1xuXHRhY3RpdmU6IDAsXG5cblx0Ly8gTGFzdC1Nb2RpZmllZCBoZWFkZXIgY2FjaGUgZm9yIG5leHQgcmVxdWVzdFxuXHRsYXN0TW9kaWZpZWQ6IHt9LFxuXHRldGFnOiB7fSxcblxuXHRhamF4U2V0dGluZ3M6IHtcblx0XHR1cmw6IGxvY2F0aW9uLmhyZWYsXG5cdFx0dHlwZTogXCJHRVRcIixcblx0XHRpc0xvY2FsOiBybG9jYWxQcm90b2NvbC50ZXN0KCBsb2NhdGlvbi5wcm90b2NvbCApLFxuXHRcdGdsb2JhbDogdHJ1ZSxcblx0XHRwcm9jZXNzRGF0YTogdHJ1ZSxcblx0XHRhc3luYzogdHJ1ZSxcblx0XHRjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLThcIixcblxuXHRcdC8qXG5cdFx0dGltZW91dDogMCxcblx0XHRkYXRhOiBudWxsLFxuXHRcdGRhdGFUeXBlOiBudWxsLFxuXHRcdHVzZXJuYW1lOiBudWxsLFxuXHRcdHBhc3N3b3JkOiBudWxsLFxuXHRcdGNhY2hlOiBudWxsLFxuXHRcdHRocm93czogZmFsc2UsXG5cdFx0dHJhZGl0aW9uYWw6IGZhbHNlLFxuXHRcdGhlYWRlcnM6IHt9LFxuXHRcdCovXG5cblx0XHRhY2NlcHRzOiB7XG5cdFx0XHRcIipcIjogYWxsVHlwZXMsXG5cdFx0XHR0ZXh0OiBcInRleHQvcGxhaW5cIixcblx0XHRcdGh0bWw6IFwidGV4dC9odG1sXCIsXG5cdFx0XHR4bWw6IFwiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbFwiLFxuXHRcdFx0anNvbjogXCJhcHBsaWNhdGlvbi9qc29uLCB0ZXh0L2phdmFzY3JpcHRcIlxuXHRcdH0sXG5cblx0XHRjb250ZW50czoge1xuXHRcdFx0eG1sOiAvXFxieG1sXFxiLyxcblx0XHRcdGh0bWw6IC9cXGJodG1sLyxcblx0XHRcdGpzb246IC9cXGJqc29uXFxiL1xuXHRcdH0sXG5cblx0XHRyZXNwb25zZUZpZWxkczoge1xuXHRcdFx0eG1sOiBcInJlc3BvbnNlWE1MXCIsXG5cdFx0XHR0ZXh0OiBcInJlc3BvbnNlVGV4dFwiLFxuXHRcdFx0anNvbjogXCJyZXNwb25zZUpTT05cIlxuXHRcdH0sXG5cblx0XHQvLyBEYXRhIGNvbnZlcnRlcnNcblx0XHQvLyBLZXlzIHNlcGFyYXRlIHNvdXJjZSAob3IgY2F0Y2hhbGwgXCIqXCIpIGFuZCBkZXN0aW5hdGlvbiB0eXBlcyB3aXRoIGEgc2luZ2xlIHNwYWNlXG5cdFx0Y29udmVydGVyczoge1xuXG5cdFx0XHQvLyBDb252ZXJ0IGFueXRoaW5nIHRvIHRleHRcblx0XHRcdFwiKiB0ZXh0XCI6IFN0cmluZyxcblxuXHRcdFx0Ly8gVGV4dCB0byBodG1sICh0cnVlID0gbm8gdHJhbnNmb3JtYXRpb24pXG5cdFx0XHRcInRleHQgaHRtbFwiOiB0cnVlLFxuXG5cdFx0XHQvLyBFdmFsdWF0ZSB0ZXh0IGFzIGEganNvbiBleHByZXNzaW9uXG5cdFx0XHRcInRleHQganNvblwiOiBKU09OLnBhcnNlLFxuXG5cdFx0XHQvLyBQYXJzZSB0ZXh0IGFzIHhtbFxuXHRcdFx0XCJ0ZXh0IHhtbFwiOiBqUXVlcnkucGFyc2VYTUxcblx0XHR9LFxuXG5cdFx0Ly8gRm9yIG9wdGlvbnMgdGhhdCBzaG91bGRuJ3QgYmUgZGVlcCBleHRlbmRlZDpcblx0XHQvLyB5b3UgY2FuIGFkZCB5b3VyIG93biBjdXN0b20gb3B0aW9ucyBoZXJlIGlmXG5cdFx0Ly8gYW5kIHdoZW4geW91IGNyZWF0ZSBvbmUgdGhhdCBzaG91bGRuJ3QgYmVcblx0XHQvLyBkZWVwIGV4dGVuZGVkIChzZWUgYWpheEV4dGVuZClcblx0XHRmbGF0T3B0aW9uczoge1xuXHRcdFx0dXJsOiB0cnVlLFxuXHRcdFx0Y29udGV4dDogdHJ1ZVxuXHRcdH1cblx0fSxcblxuXHQvLyBDcmVhdGVzIGEgZnVsbCBmbGVkZ2VkIHNldHRpbmdzIG9iamVjdCBpbnRvIHRhcmdldFxuXHQvLyB3aXRoIGJvdGggYWpheFNldHRpbmdzIGFuZCBzZXR0aW5ncyBmaWVsZHMuXG5cdC8vIElmIHRhcmdldCBpcyBvbWl0dGVkLCB3cml0ZXMgaW50byBhamF4U2V0dGluZ3MuXG5cdGFqYXhTZXR1cDogZnVuY3Rpb24oIHRhcmdldCwgc2V0dGluZ3MgKSB7XG5cdFx0cmV0dXJuIHNldHRpbmdzID9cblxuXHRcdFx0Ly8gQnVpbGRpbmcgYSBzZXR0aW5ncyBvYmplY3Rcblx0XHRcdGFqYXhFeHRlbmQoIGFqYXhFeHRlbmQoIHRhcmdldCwgalF1ZXJ5LmFqYXhTZXR0aW5ncyApLCBzZXR0aW5ncyApIDpcblxuXHRcdFx0Ly8gRXh0ZW5kaW5nIGFqYXhTZXR0aW5nc1xuXHRcdFx0YWpheEV4dGVuZCggalF1ZXJ5LmFqYXhTZXR0aW5ncywgdGFyZ2V0ICk7XG5cdH0sXG5cblx0YWpheFByZWZpbHRlcjogYWRkVG9QcmVmaWx0ZXJzT3JUcmFuc3BvcnRzKCBwcmVmaWx0ZXJzICksXG5cdGFqYXhUcmFuc3BvcnQ6IGFkZFRvUHJlZmlsdGVyc09yVHJhbnNwb3J0cyggdHJhbnNwb3J0cyApLFxuXG5cdC8vIE1haW4gbWV0aG9kXG5cdGFqYXg6IGZ1bmN0aW9uKCB1cmwsIG9wdGlvbnMgKSB7XG5cblx0XHQvLyBJZiB1cmwgaXMgYW4gb2JqZWN0LCBzaW11bGF0ZSBwcmUtMS41IHNpZ25hdHVyZVxuXHRcdGlmICggdHlwZW9mIHVybCA9PT0gXCJvYmplY3RcIiApIHtcblx0XHRcdG9wdGlvbnMgPSB1cmw7XG5cdFx0XHR1cmwgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0Ly8gRm9yY2Ugb3B0aW9ucyB0byBiZSBhbiBvYmplY3Rcblx0XHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuXHRcdHZhciB0cmFuc3BvcnQsXG5cblx0XHRcdC8vIFVSTCB3aXRob3V0IGFudGktY2FjaGUgcGFyYW1cblx0XHRcdGNhY2hlVVJMLFxuXG5cdFx0XHQvLyBSZXNwb25zZSBoZWFkZXJzXG5cdFx0XHRyZXNwb25zZUhlYWRlcnNTdHJpbmcsXG5cdFx0XHRyZXNwb25zZUhlYWRlcnMsXG5cblx0XHRcdC8vIHRpbWVvdXQgaGFuZGxlXG5cdFx0XHR0aW1lb3V0VGltZXIsXG5cblx0XHRcdC8vIFVybCBjbGVhbnVwIHZhclxuXHRcdFx0dXJsQW5jaG9yLFxuXG5cdFx0XHQvLyBSZXF1ZXN0IHN0YXRlIChiZWNvbWVzIGZhbHNlIHVwb24gc2VuZCBhbmQgdHJ1ZSB1cG9uIGNvbXBsZXRpb24pXG5cdFx0XHRjb21wbGV0ZWQsXG5cblx0XHRcdC8vIFRvIGtub3cgaWYgZ2xvYmFsIGV2ZW50cyBhcmUgdG8gYmUgZGlzcGF0Y2hlZFxuXHRcdFx0ZmlyZUdsb2JhbHMsXG5cblx0XHRcdC8vIExvb3AgdmFyaWFibGVcblx0XHRcdGksXG5cblx0XHRcdC8vIHVuY2FjaGVkIHBhcnQgb2YgdGhlIHVybFxuXHRcdFx0dW5jYWNoZWQsXG5cblx0XHRcdC8vIENyZWF0ZSB0aGUgZmluYWwgb3B0aW9ucyBvYmplY3Rcblx0XHRcdHMgPSBqUXVlcnkuYWpheFNldHVwKCB7fSwgb3B0aW9ucyApLFxuXG5cdFx0XHQvLyBDYWxsYmFja3MgY29udGV4dFxuXHRcdFx0Y2FsbGJhY2tDb250ZXh0ID0gcy5jb250ZXh0IHx8IHMsXG5cblx0XHRcdC8vIENvbnRleHQgZm9yIGdsb2JhbCBldmVudHMgaXMgY2FsbGJhY2tDb250ZXh0IGlmIGl0IGlzIGEgRE9NIG5vZGUgb3IgalF1ZXJ5IGNvbGxlY3Rpb25cblx0XHRcdGdsb2JhbEV2ZW50Q29udGV4dCA9IHMuY29udGV4dCAmJlxuXHRcdFx0XHQoIGNhbGxiYWNrQ29udGV4dC5ub2RlVHlwZSB8fCBjYWxsYmFja0NvbnRleHQuanF1ZXJ5ICkgP1xuXHRcdFx0XHRcdGpRdWVyeSggY2FsbGJhY2tDb250ZXh0ICkgOlxuXHRcdFx0XHRcdGpRdWVyeS5ldmVudCxcblxuXHRcdFx0Ly8gRGVmZXJyZWRzXG5cdFx0XHRkZWZlcnJlZCA9IGpRdWVyeS5EZWZlcnJlZCgpLFxuXHRcdFx0Y29tcGxldGVEZWZlcnJlZCA9IGpRdWVyeS5DYWxsYmFja3MoIFwib25jZSBtZW1vcnlcIiApLFxuXG5cdFx0XHQvLyBTdGF0dXMtZGVwZW5kZW50IGNhbGxiYWNrc1xuXHRcdFx0c3RhdHVzQ29kZSA9IHMuc3RhdHVzQ29kZSB8fCB7fSxcblxuXHRcdFx0Ly8gSGVhZGVycyAodGhleSBhcmUgc2VudCBhbGwgYXQgb25jZSlcblx0XHRcdHJlcXVlc3RIZWFkZXJzID0ge30sXG5cdFx0XHRyZXF1ZXN0SGVhZGVyc05hbWVzID0ge30sXG5cblx0XHRcdC8vIERlZmF1bHQgYWJvcnQgbWVzc2FnZVxuXHRcdFx0c3RyQWJvcnQgPSBcImNhbmNlbGVkXCIsXG5cblx0XHRcdC8vIEZha2UgeGhyXG5cdFx0XHRqcVhIUiA9IHtcblx0XHRcdFx0cmVhZHlTdGF0ZTogMCxcblxuXHRcdFx0XHQvLyBCdWlsZHMgaGVhZGVycyBoYXNodGFibGUgaWYgbmVlZGVkXG5cdFx0XHRcdGdldFJlc3BvbnNlSGVhZGVyOiBmdW5jdGlvbigga2V5ICkge1xuXHRcdFx0XHRcdHZhciBtYXRjaDtcblx0XHRcdFx0XHRpZiAoIGNvbXBsZXRlZCApIHtcblx0XHRcdFx0XHRcdGlmICggIXJlc3BvbnNlSGVhZGVycyApIHtcblx0XHRcdFx0XHRcdFx0cmVzcG9uc2VIZWFkZXJzID0ge307XG5cdFx0XHRcdFx0XHRcdHdoaWxlICggKCBtYXRjaCA9IHJoZWFkZXJzLmV4ZWMoIHJlc3BvbnNlSGVhZGVyc1N0cmluZyApICkgKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVzcG9uc2VIZWFkZXJzWyBtYXRjaFsgMSBdLnRvTG93ZXJDYXNlKCkgKyBcIiBcIiBdID1cblx0XHRcdFx0XHRcdFx0XHRcdCggcmVzcG9uc2VIZWFkZXJzWyBtYXRjaFsgMSBdLnRvTG93ZXJDYXNlKCkgKyBcIiBcIiBdIHx8IFtdIClcblx0XHRcdFx0XHRcdFx0XHRcdFx0LmNvbmNhdCggbWF0Y2hbIDIgXSApO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRtYXRjaCA9IHJlc3BvbnNlSGVhZGVyc1sga2V5LnRvTG93ZXJDYXNlKCkgKyBcIiBcIiBdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gbWF0Y2ggPT0gbnVsbCA/IG51bGwgOiBtYXRjaC5qb2luKCBcIiwgXCIgKTtcblx0XHRcdFx0fSxcblxuXHRcdFx0XHQvLyBSYXcgc3RyaW5nXG5cdFx0XHRcdGdldEFsbFJlc3BvbnNlSGVhZGVyczogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGNvbXBsZXRlZCA/IHJlc3BvbnNlSGVhZGVyc1N0cmluZyA6IG51bGw7XG5cdFx0XHRcdH0sXG5cblx0XHRcdFx0Ly8gQ2FjaGVzIHRoZSBoZWFkZXJcblx0XHRcdFx0c2V0UmVxdWVzdEhlYWRlcjogZnVuY3Rpb24oIG5hbWUsIHZhbHVlICkge1xuXHRcdFx0XHRcdGlmICggY29tcGxldGVkID09IG51bGwgKSB7XG5cdFx0XHRcdFx0XHRuYW1lID0gcmVxdWVzdEhlYWRlcnNOYW1lc1sgbmFtZS50b0xvd2VyQ2FzZSgpIF0gPVxuXHRcdFx0XHRcdFx0XHRyZXF1ZXN0SGVhZGVyc05hbWVzWyBuYW1lLnRvTG93ZXJDYXNlKCkgXSB8fCBuYW1lO1xuXHRcdFx0XHRcdFx0cmVxdWVzdEhlYWRlcnNbIG5hbWUgXSA9IHZhbHVlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGhpcztcblx0XHRcdFx0fSxcblxuXHRcdFx0XHQvLyBPdmVycmlkZXMgcmVzcG9uc2UgY29udGVudC10eXBlIGhlYWRlclxuXHRcdFx0XHRvdmVycmlkZU1pbWVUeXBlOiBmdW5jdGlvbiggdHlwZSApIHtcblx0XHRcdFx0XHRpZiAoIGNvbXBsZXRlZCA9PSBudWxsICkge1xuXHRcdFx0XHRcdFx0cy5taW1lVHlwZSA9IHR5cGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0XHR9LFxuXG5cdFx0XHRcdC8vIFN0YXR1cy1kZXBlbmRlbnQgY2FsbGJhY2tzXG5cdFx0XHRcdHN0YXR1c0NvZGU6IGZ1bmN0aW9uKCBtYXAgKSB7XG5cdFx0XHRcdFx0dmFyIGNvZGU7XG5cdFx0XHRcdFx0aWYgKCBtYXAgKSB7XG5cdFx0XHRcdFx0XHRpZiAoIGNvbXBsZXRlZCApIHtcblxuXHRcdFx0XHRcdFx0XHQvLyBFeGVjdXRlIHRoZSBhcHByb3ByaWF0ZSBjYWxsYmFja3Ncblx0XHRcdFx0XHRcdFx0anFYSFIuYWx3YXlzKCBtYXBbIGpxWEhSLnN0YXR1cyBdICk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdFx0XHRcdC8vIExhenktYWRkIHRoZSBuZXcgY2FsbGJhY2tzIGluIGEgd2F5IHRoYXQgcHJlc2VydmVzIG9sZCBvbmVzXG5cdFx0XHRcdFx0XHRcdGZvciAoIGNvZGUgaW4gbWFwICkge1xuXHRcdFx0XHRcdFx0XHRcdHN0YXR1c0NvZGVbIGNvZGUgXSA9IFsgc3RhdHVzQ29kZVsgY29kZSBdLCBtYXBbIGNvZGUgXSBdO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0aGlzO1xuXHRcdFx0XHR9LFxuXG5cdFx0XHRcdC8vIENhbmNlbCB0aGUgcmVxdWVzdFxuXHRcdFx0XHRhYm9ydDogZnVuY3Rpb24oIHN0YXR1c1RleHQgKSB7XG5cdFx0XHRcdFx0dmFyIGZpbmFsVGV4dCA9IHN0YXR1c1RleHQgfHwgc3RyQWJvcnQ7XG5cdFx0XHRcdFx0aWYgKCB0cmFuc3BvcnQgKSB7XG5cdFx0XHRcdFx0XHR0cmFuc3BvcnQuYWJvcnQoIGZpbmFsVGV4dCApO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRkb25lKCAwLCBmaW5hbFRleHQgKTtcblx0XHRcdFx0XHRyZXR1cm4gdGhpcztcblx0XHRcdFx0fVxuXHRcdFx0fTtcblxuXHRcdC8vIEF0dGFjaCBkZWZlcnJlZHNcblx0XHRkZWZlcnJlZC5wcm9taXNlKCBqcVhIUiApO1xuXG5cdFx0Ly8gQWRkIHByb3RvY29sIGlmIG5vdCBwcm92aWRlZCAocHJlZmlsdGVycyBtaWdodCBleHBlY3QgaXQpXG5cdFx0Ly8gSGFuZGxlIGZhbHN5IHVybCBpbiB0aGUgc2V0dGluZ3Mgb2JqZWN0ICgjMTAwOTM6IGNvbnNpc3RlbmN5IHdpdGggb2xkIHNpZ25hdHVyZSlcblx0XHQvLyBXZSBhbHNvIHVzZSB0aGUgdXJsIHBhcmFtZXRlciBpZiBhdmFpbGFibGVcblx0XHRzLnVybCA9ICggKCB1cmwgfHwgcy51cmwgfHwgbG9jYXRpb24uaHJlZiApICsgXCJcIiApXG5cdFx0XHQucmVwbGFjZSggcnByb3RvY29sLCBsb2NhdGlvbi5wcm90b2NvbCArIFwiLy9cIiApO1xuXG5cdFx0Ly8gQWxpYXMgbWV0aG9kIG9wdGlvbiB0byB0eXBlIGFzIHBlciB0aWNrZXQgIzEyMDA0XG5cdFx0cy50eXBlID0gb3B0aW9ucy5tZXRob2QgfHwgb3B0aW9ucy50eXBlIHx8IHMubWV0aG9kIHx8IHMudHlwZTtcblxuXHRcdC8vIEV4dHJhY3QgZGF0YVR5cGVzIGxpc3Rcblx0XHRzLmRhdGFUeXBlcyA9ICggcy5kYXRhVHlwZSB8fCBcIipcIiApLnRvTG93ZXJDYXNlKCkubWF0Y2goIHJub3RodG1sd2hpdGUgKSB8fCBbIFwiXCIgXTtcblxuXHRcdC8vIEEgY3Jvc3MtZG9tYWluIHJlcXVlc3QgaXMgaW4gb3JkZXIgd2hlbiB0aGUgb3JpZ2luIGRvZXNuJ3QgbWF0Y2ggdGhlIGN1cnJlbnQgb3JpZ2luLlxuXHRcdGlmICggcy5jcm9zc0RvbWFpbiA9PSBudWxsICkge1xuXHRcdFx0dXJsQW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCggXCJhXCIgKTtcblxuXHRcdFx0Ly8gU3VwcG9ydDogSUUgPD04IC0gMTEsIEVkZ2UgMTIgLSAxNVxuXHRcdFx0Ly8gSUUgdGhyb3dzIGV4Y2VwdGlvbiBvbiBhY2Nlc3NpbmcgdGhlIGhyZWYgcHJvcGVydHkgaWYgdXJsIGlzIG1hbGZvcm1lZCxcblx0XHRcdC8vIGUuZy4gaHR0cDovL2V4YW1wbGUuY29tOjgweC9cblx0XHRcdHRyeSB7XG5cdFx0XHRcdHVybEFuY2hvci5ocmVmID0gcy51cmw7XG5cblx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPD04IC0gMTEgb25seVxuXHRcdFx0XHQvLyBBbmNob3IncyBob3N0IHByb3BlcnR5IGlzbid0IGNvcnJlY3RseSBzZXQgd2hlbiBzLnVybCBpcyByZWxhdGl2ZVxuXHRcdFx0XHR1cmxBbmNob3IuaHJlZiA9IHVybEFuY2hvci5ocmVmO1xuXHRcdFx0XHRzLmNyb3NzRG9tYWluID0gb3JpZ2luQW5jaG9yLnByb3RvY29sICsgXCIvL1wiICsgb3JpZ2luQW5jaG9yLmhvc3QgIT09XG5cdFx0XHRcdFx0dXJsQW5jaG9yLnByb3RvY29sICsgXCIvL1wiICsgdXJsQW5jaG9yLmhvc3Q7XG5cdFx0XHR9IGNhdGNoICggZSApIHtcblxuXHRcdFx0XHQvLyBJZiB0aGVyZSBpcyBhbiBlcnJvciBwYXJzaW5nIHRoZSBVUkwsIGFzc3VtZSBpdCBpcyBjcm9zc0RvbWFpbixcblx0XHRcdFx0Ly8gaXQgY2FuIGJlIHJlamVjdGVkIGJ5IHRoZSB0cmFuc3BvcnQgaWYgaXQgaXMgaW52YWxpZFxuXHRcdFx0XHRzLmNyb3NzRG9tYWluID0gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBDb252ZXJ0IGRhdGEgaWYgbm90IGFscmVhZHkgYSBzdHJpbmdcblx0XHRpZiAoIHMuZGF0YSAmJiBzLnByb2Nlc3NEYXRhICYmIHR5cGVvZiBzLmRhdGEgIT09IFwic3RyaW5nXCIgKSB7XG5cdFx0XHRzLmRhdGEgPSBqUXVlcnkucGFyYW0oIHMuZGF0YSwgcy50cmFkaXRpb25hbCApO1xuXHRcdH1cblxuXHRcdC8vIEFwcGx5IHByZWZpbHRlcnNcblx0XHRpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggcHJlZmlsdGVycywgcywgb3B0aW9ucywganFYSFIgKTtcblxuXHRcdC8vIElmIHJlcXVlc3Qgd2FzIGFib3J0ZWQgaW5zaWRlIGEgcHJlZmlsdGVyLCBzdG9wIHRoZXJlXG5cdFx0aWYgKCBjb21wbGV0ZWQgKSB7XG5cdFx0XHRyZXR1cm4ganFYSFI7XG5cdFx0fVxuXG5cdFx0Ly8gV2UgY2FuIGZpcmUgZ2xvYmFsIGV2ZW50cyBhcyBvZiBub3cgaWYgYXNrZWQgdG9cblx0XHQvLyBEb24ndCBmaXJlIGV2ZW50cyBpZiBqUXVlcnkuZXZlbnQgaXMgdW5kZWZpbmVkIGluIGFuIEFNRC11c2FnZSBzY2VuYXJpbyAoIzE1MTE4KVxuXHRcdGZpcmVHbG9iYWxzID0galF1ZXJ5LmV2ZW50ICYmIHMuZ2xvYmFsO1xuXG5cdFx0Ly8gV2F0Y2ggZm9yIGEgbmV3IHNldCBvZiByZXF1ZXN0c1xuXHRcdGlmICggZmlyZUdsb2JhbHMgJiYgalF1ZXJ5LmFjdGl2ZSsrID09PSAwICkge1xuXHRcdFx0alF1ZXJ5LmV2ZW50LnRyaWdnZXIoIFwiYWpheFN0YXJ0XCIgKTtcblx0XHR9XG5cblx0XHQvLyBVcHBlcmNhc2UgdGhlIHR5cGVcblx0XHRzLnR5cGUgPSBzLnR5cGUudG9VcHBlckNhc2UoKTtcblxuXHRcdC8vIERldGVybWluZSBpZiByZXF1ZXN0IGhhcyBjb250ZW50XG5cdFx0cy5oYXNDb250ZW50ID0gIXJub0NvbnRlbnQudGVzdCggcy50eXBlICk7XG5cblx0XHQvLyBTYXZlIHRoZSBVUkwgaW4gY2FzZSB3ZSdyZSB0b3lpbmcgd2l0aCB0aGUgSWYtTW9kaWZpZWQtU2luY2Vcblx0XHQvLyBhbmQvb3IgSWYtTm9uZS1NYXRjaCBoZWFkZXIgbGF0ZXIgb25cblx0XHQvLyBSZW1vdmUgaGFzaCB0byBzaW1wbGlmeSB1cmwgbWFuaXB1bGF0aW9uXG5cdFx0Y2FjaGVVUkwgPSBzLnVybC5yZXBsYWNlKCByaGFzaCwgXCJcIiApO1xuXG5cdFx0Ly8gTW9yZSBvcHRpb25zIGhhbmRsaW5nIGZvciByZXF1ZXN0cyB3aXRoIG5vIGNvbnRlbnRcblx0XHRpZiAoICFzLmhhc0NvbnRlbnQgKSB7XG5cblx0XHRcdC8vIFJlbWVtYmVyIHRoZSBoYXNoIHNvIHdlIGNhbiBwdXQgaXQgYmFja1xuXHRcdFx0dW5jYWNoZWQgPSBzLnVybC5zbGljZSggY2FjaGVVUkwubGVuZ3RoICk7XG5cblx0XHRcdC8vIElmIGRhdGEgaXMgYXZhaWxhYmxlIGFuZCBzaG91bGQgYmUgcHJvY2Vzc2VkLCBhcHBlbmQgZGF0YSB0byB1cmxcblx0XHRcdGlmICggcy5kYXRhICYmICggcy5wcm9jZXNzRGF0YSB8fCB0eXBlb2Ygcy5kYXRhID09PSBcInN0cmluZ1wiICkgKSB7XG5cdFx0XHRcdGNhY2hlVVJMICs9ICggcnF1ZXJ5LnRlc3QoIGNhY2hlVVJMICkgPyBcIiZcIiA6IFwiP1wiICkgKyBzLmRhdGE7XG5cblx0XHRcdFx0Ly8gIzk2ODI6IHJlbW92ZSBkYXRhIHNvIHRoYXQgaXQncyBub3QgdXNlZCBpbiBhbiBldmVudHVhbCByZXRyeVxuXHRcdFx0XHRkZWxldGUgcy5kYXRhO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBBZGQgb3IgdXBkYXRlIGFudGktY2FjaGUgcGFyYW0gaWYgbmVlZGVkXG5cdFx0XHRpZiAoIHMuY2FjaGUgPT09IGZhbHNlICkge1xuXHRcdFx0XHRjYWNoZVVSTCA9IGNhY2hlVVJMLnJlcGxhY2UoIHJhbnRpQ2FjaGUsIFwiJDFcIiApO1xuXHRcdFx0XHR1bmNhY2hlZCA9ICggcnF1ZXJ5LnRlc3QoIGNhY2hlVVJMICkgPyBcIiZcIiA6IFwiP1wiICkgKyBcIl89XCIgKyAoIG5vbmNlLmd1aWQrKyApICtcblx0XHRcdFx0XHR1bmNhY2hlZDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gUHV0IGhhc2ggYW5kIGFudGktY2FjaGUgb24gdGhlIFVSTCB0aGF0IHdpbGwgYmUgcmVxdWVzdGVkIChnaC0xNzMyKVxuXHRcdFx0cy51cmwgPSBjYWNoZVVSTCArIHVuY2FjaGVkO1xuXG5cdFx0Ly8gQ2hhbmdlICclMjAnIHRvICcrJyBpZiB0aGlzIGlzIGVuY29kZWQgZm9ybSBib2R5IGNvbnRlbnQgKGdoLTI2NTgpXG5cdFx0fSBlbHNlIGlmICggcy5kYXRhICYmIHMucHJvY2Vzc0RhdGEgJiZcblx0XHRcdCggcy5jb250ZW50VHlwZSB8fCBcIlwiICkuaW5kZXhPZiggXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIiApID09PSAwICkge1xuXHRcdFx0cy5kYXRhID0gcy5kYXRhLnJlcGxhY2UoIHIyMCwgXCIrXCIgKTtcblx0XHR9XG5cblx0XHQvLyBTZXQgdGhlIElmLU1vZGlmaWVkLVNpbmNlIGFuZC9vciBJZi1Ob25lLU1hdGNoIGhlYWRlciwgaWYgaW4gaWZNb2RpZmllZCBtb2RlLlxuXHRcdGlmICggcy5pZk1vZGlmaWVkICkge1xuXHRcdFx0aWYgKCBqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdICkge1xuXHRcdFx0XHRqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKCBcIklmLU1vZGlmaWVkLVNpbmNlXCIsIGpRdWVyeS5sYXN0TW9kaWZpZWRbIGNhY2hlVVJMIF0gKTtcblx0XHRcdH1cblx0XHRcdGlmICggalF1ZXJ5LmV0YWdbIGNhY2hlVVJMIF0gKSB7XG5cdFx0XHRcdGpxWEhSLnNldFJlcXVlc3RIZWFkZXIoIFwiSWYtTm9uZS1NYXRjaFwiLCBqUXVlcnkuZXRhZ1sgY2FjaGVVUkwgXSApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIFNldCB0aGUgY29ycmVjdCBoZWFkZXIsIGlmIGRhdGEgaXMgYmVpbmcgc2VudFxuXHRcdGlmICggcy5kYXRhICYmIHMuaGFzQ29udGVudCAmJiBzLmNvbnRlbnRUeXBlICE9PSBmYWxzZSB8fCBvcHRpb25zLmNvbnRlbnRUeXBlICkge1xuXHRcdFx0anFYSFIuc2V0UmVxdWVzdEhlYWRlciggXCJDb250ZW50LVR5cGVcIiwgcy5jb250ZW50VHlwZSApO1xuXHRcdH1cblxuXHRcdC8vIFNldCB0aGUgQWNjZXB0cyBoZWFkZXIgZm9yIHRoZSBzZXJ2ZXIsIGRlcGVuZGluZyBvbiB0aGUgZGF0YVR5cGVcblx0XHRqcVhIUi5zZXRSZXF1ZXN0SGVhZGVyKFxuXHRcdFx0XCJBY2NlcHRcIixcblx0XHRcdHMuZGF0YVR5cGVzWyAwIF0gJiYgcy5hY2NlcHRzWyBzLmRhdGFUeXBlc1sgMCBdIF0gP1xuXHRcdFx0XHRzLmFjY2VwdHNbIHMuZGF0YVR5cGVzWyAwIF0gXSArXG5cdFx0XHRcdFx0KCBzLmRhdGFUeXBlc1sgMCBdICE9PSBcIipcIiA/IFwiLCBcIiArIGFsbFR5cGVzICsgXCI7IHE9MC4wMVwiIDogXCJcIiApIDpcblx0XHRcdFx0cy5hY2NlcHRzWyBcIipcIiBdXG5cdFx0KTtcblxuXHRcdC8vIENoZWNrIGZvciBoZWFkZXJzIG9wdGlvblxuXHRcdGZvciAoIGkgaW4gcy5oZWFkZXJzICkge1xuXHRcdFx0anFYSFIuc2V0UmVxdWVzdEhlYWRlciggaSwgcy5oZWFkZXJzWyBpIF0gKTtcblx0XHR9XG5cblx0XHQvLyBBbGxvdyBjdXN0b20gaGVhZGVycy9taW1ldHlwZXMgYW5kIGVhcmx5IGFib3J0XG5cdFx0aWYgKCBzLmJlZm9yZVNlbmQgJiZcblx0XHRcdCggcy5iZWZvcmVTZW5kLmNhbGwoIGNhbGxiYWNrQ29udGV4dCwganFYSFIsIHMgKSA9PT0gZmFsc2UgfHwgY29tcGxldGVkICkgKSB7XG5cblx0XHRcdC8vIEFib3J0IGlmIG5vdCBkb25lIGFscmVhZHkgYW5kIHJldHVyblxuXHRcdFx0cmV0dXJuIGpxWEhSLmFib3J0KCk7XG5cdFx0fVxuXG5cdFx0Ly8gQWJvcnRpbmcgaXMgbm8gbG9uZ2VyIGEgY2FuY2VsbGF0aW9uXG5cdFx0c3RyQWJvcnQgPSBcImFib3J0XCI7XG5cblx0XHQvLyBJbnN0YWxsIGNhbGxiYWNrcyBvbiBkZWZlcnJlZHNcblx0XHRjb21wbGV0ZURlZmVycmVkLmFkZCggcy5jb21wbGV0ZSApO1xuXHRcdGpxWEhSLmRvbmUoIHMuc3VjY2VzcyApO1xuXHRcdGpxWEhSLmZhaWwoIHMuZXJyb3IgKTtcblxuXHRcdC8vIEdldCB0cmFuc3BvcnRcblx0XHR0cmFuc3BvcnQgPSBpbnNwZWN0UHJlZmlsdGVyc09yVHJhbnNwb3J0cyggdHJhbnNwb3J0cywgcywgb3B0aW9ucywganFYSFIgKTtcblxuXHRcdC8vIElmIG5vIHRyYW5zcG9ydCwgd2UgYXV0by1hYm9ydFxuXHRcdGlmICggIXRyYW5zcG9ydCApIHtcblx0XHRcdGRvbmUoIC0xLCBcIk5vIFRyYW5zcG9ydFwiICk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGpxWEhSLnJlYWR5U3RhdGUgPSAxO1xuXG5cdFx0XHQvLyBTZW5kIGdsb2JhbCBldmVudFxuXHRcdFx0aWYgKCBmaXJlR2xvYmFscyApIHtcblx0XHRcdFx0Z2xvYmFsRXZlbnRDb250ZXh0LnRyaWdnZXIoIFwiYWpheFNlbmRcIiwgWyBqcVhIUiwgcyBdICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIElmIHJlcXVlc3Qgd2FzIGFib3J0ZWQgaW5zaWRlIGFqYXhTZW5kLCBzdG9wIHRoZXJlXG5cdFx0XHRpZiAoIGNvbXBsZXRlZCApIHtcblx0XHRcdFx0cmV0dXJuIGpxWEhSO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBUaW1lb3V0XG5cdFx0XHRpZiAoIHMuYXN5bmMgJiYgcy50aW1lb3V0ID4gMCApIHtcblx0XHRcdFx0dGltZW91dFRpbWVyID0gd2luZG93LnNldFRpbWVvdXQoIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdGpxWEhSLmFib3J0KCBcInRpbWVvdXRcIiApO1xuXHRcdFx0XHR9LCBzLnRpbWVvdXQgKTtcblx0XHRcdH1cblxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29tcGxldGVkID0gZmFsc2U7XG5cdFx0XHRcdHRyYW5zcG9ydC5zZW5kKCByZXF1ZXN0SGVhZGVycywgZG9uZSApO1xuXHRcdFx0fSBjYXRjaCAoIGUgKSB7XG5cblx0XHRcdFx0Ly8gUmV0aHJvdyBwb3N0LWNvbXBsZXRpb24gZXhjZXB0aW9uc1xuXHRcdFx0XHRpZiAoIGNvbXBsZXRlZCApIHtcblx0XHRcdFx0XHR0aHJvdyBlO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gUHJvcGFnYXRlIG90aGVycyBhcyByZXN1bHRzXG5cdFx0XHRcdGRvbmUoIC0xLCBlICk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gQ2FsbGJhY2sgZm9yIHdoZW4gZXZlcnl0aGluZyBpcyBkb25lXG5cdFx0ZnVuY3Rpb24gZG9uZSggc3RhdHVzLCBuYXRpdmVTdGF0dXNUZXh0LCByZXNwb25zZXMsIGhlYWRlcnMgKSB7XG5cdFx0XHR2YXIgaXNTdWNjZXNzLCBzdWNjZXNzLCBlcnJvciwgcmVzcG9uc2UsIG1vZGlmaWVkLFxuXHRcdFx0XHRzdGF0dXNUZXh0ID0gbmF0aXZlU3RhdHVzVGV4dDtcblxuXHRcdFx0Ly8gSWdub3JlIHJlcGVhdCBpbnZvY2F0aW9uc1xuXHRcdFx0aWYgKCBjb21wbGV0ZWQgKSB7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Y29tcGxldGVkID0gdHJ1ZTtcblxuXHRcdFx0Ly8gQ2xlYXIgdGltZW91dCBpZiBpdCBleGlzdHNcblx0XHRcdGlmICggdGltZW91dFRpbWVyICkge1xuXHRcdFx0XHR3aW5kb3cuY2xlYXJUaW1lb3V0KCB0aW1lb3V0VGltZXIgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gRGVyZWZlcmVuY2UgdHJhbnNwb3J0IGZvciBlYXJseSBnYXJiYWdlIGNvbGxlY3Rpb25cblx0XHRcdC8vIChubyBtYXR0ZXIgaG93IGxvbmcgdGhlIGpxWEhSIG9iamVjdCB3aWxsIGJlIHVzZWQpXG5cdFx0XHR0cmFuc3BvcnQgPSB1bmRlZmluZWQ7XG5cblx0XHRcdC8vIENhY2hlIHJlc3BvbnNlIGhlYWRlcnNcblx0XHRcdHJlc3BvbnNlSGVhZGVyc1N0cmluZyA9IGhlYWRlcnMgfHwgXCJcIjtcblxuXHRcdFx0Ly8gU2V0IHJlYWR5U3RhdGVcblx0XHRcdGpxWEhSLnJlYWR5U3RhdGUgPSBzdGF0dXMgPiAwID8gNCA6IDA7XG5cblx0XHRcdC8vIERldGVybWluZSBpZiBzdWNjZXNzZnVsXG5cdFx0XHRpc1N1Y2Nlc3MgPSBzdGF0dXMgPj0gMjAwICYmIHN0YXR1cyA8IDMwMCB8fCBzdGF0dXMgPT09IDMwNDtcblxuXHRcdFx0Ly8gR2V0IHJlc3BvbnNlIGRhdGFcblx0XHRcdGlmICggcmVzcG9uc2VzICkge1xuXHRcdFx0XHRyZXNwb25zZSA9IGFqYXhIYW5kbGVSZXNwb25zZXMoIHMsIGpxWEhSLCByZXNwb25zZXMgKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gVXNlIGEgbm9vcCBjb252ZXJ0ZXIgZm9yIG1pc3Npbmcgc2NyaXB0XG5cdFx0XHRpZiAoICFpc1N1Y2Nlc3MgJiYgalF1ZXJ5LmluQXJyYXkoIFwic2NyaXB0XCIsIHMuZGF0YVR5cGVzICkgPiAtMSApIHtcblx0XHRcdFx0cy5jb252ZXJ0ZXJzWyBcInRleHQgc2NyaXB0XCIgXSA9IGZ1bmN0aW9uKCkge307XG5cdFx0XHR9XG5cblx0XHRcdC8vIENvbnZlcnQgbm8gbWF0dGVyIHdoYXQgKHRoYXQgd2F5IHJlc3BvbnNlWFhYIGZpZWxkcyBhcmUgYWx3YXlzIHNldClcblx0XHRcdHJlc3BvbnNlID0gYWpheENvbnZlcnQoIHMsIHJlc3BvbnNlLCBqcVhIUiwgaXNTdWNjZXNzICk7XG5cblx0XHRcdC8vIElmIHN1Y2Nlc3NmdWwsIGhhbmRsZSB0eXBlIGNoYWluaW5nXG5cdFx0XHRpZiAoIGlzU3VjY2VzcyApIHtcblxuXHRcdFx0XHQvLyBTZXQgdGhlIElmLU1vZGlmaWVkLVNpbmNlIGFuZC9vciBJZi1Ob25lLU1hdGNoIGhlYWRlciwgaWYgaW4gaWZNb2RpZmllZCBtb2RlLlxuXHRcdFx0XHRpZiAoIHMuaWZNb2RpZmllZCApIHtcblx0XHRcdFx0XHRtb2RpZmllZCA9IGpxWEhSLmdldFJlc3BvbnNlSGVhZGVyKCBcIkxhc3QtTW9kaWZpZWRcIiApO1xuXHRcdFx0XHRcdGlmICggbW9kaWZpZWQgKSB7XG5cdFx0XHRcdFx0XHRqUXVlcnkubGFzdE1vZGlmaWVkWyBjYWNoZVVSTCBdID0gbW9kaWZpZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG1vZGlmaWVkID0ganFYSFIuZ2V0UmVzcG9uc2VIZWFkZXIoIFwiZXRhZ1wiICk7XG5cdFx0XHRcdFx0aWYgKCBtb2RpZmllZCApIHtcblx0XHRcdFx0XHRcdGpRdWVyeS5ldGFnWyBjYWNoZVVSTCBdID0gbW9kaWZpZWQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gaWYgbm8gY29udGVudFxuXHRcdFx0XHRpZiAoIHN0YXR1cyA9PT0gMjA0IHx8IHMudHlwZSA9PT0gXCJIRUFEXCIgKSB7XG5cdFx0XHRcdFx0c3RhdHVzVGV4dCA9IFwibm9jb250ZW50XCI7XG5cblx0XHRcdFx0Ly8gaWYgbm90IG1vZGlmaWVkXG5cdFx0XHRcdH0gZWxzZSBpZiAoIHN0YXR1cyA9PT0gMzA0ICkge1xuXHRcdFx0XHRcdHN0YXR1c1RleHQgPSBcIm5vdG1vZGlmaWVkXCI7XG5cblx0XHRcdFx0Ly8gSWYgd2UgaGF2ZSBkYXRhLCBsZXQncyBjb252ZXJ0IGl0XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c3RhdHVzVGV4dCA9IHJlc3BvbnNlLnN0YXRlO1xuXHRcdFx0XHRcdHN1Y2Nlc3MgPSByZXNwb25zZS5kYXRhO1xuXHRcdFx0XHRcdGVycm9yID0gcmVzcG9uc2UuZXJyb3I7XG5cdFx0XHRcdFx0aXNTdWNjZXNzID0gIWVycm9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXG5cdFx0XHRcdC8vIEV4dHJhY3QgZXJyb3IgZnJvbSBzdGF0dXNUZXh0IGFuZCBub3JtYWxpemUgZm9yIG5vbi1hYm9ydHNcblx0XHRcdFx0ZXJyb3IgPSBzdGF0dXNUZXh0O1xuXHRcdFx0XHRpZiAoIHN0YXR1cyB8fCAhc3RhdHVzVGV4dCApIHtcblx0XHRcdFx0XHRzdGF0dXNUZXh0ID0gXCJlcnJvclwiO1xuXHRcdFx0XHRcdGlmICggc3RhdHVzIDwgMCApIHtcblx0XHRcdFx0XHRcdHN0YXR1cyA9IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdC8vIFNldCBkYXRhIGZvciB0aGUgZmFrZSB4aHIgb2JqZWN0XG5cdFx0XHRqcVhIUi5zdGF0dXMgPSBzdGF0dXM7XG5cdFx0XHRqcVhIUi5zdGF0dXNUZXh0ID0gKCBuYXRpdmVTdGF0dXNUZXh0IHx8IHN0YXR1c1RleHQgKSArIFwiXCI7XG5cblx0XHRcdC8vIFN1Y2Nlc3MvRXJyb3Jcblx0XHRcdGlmICggaXNTdWNjZXNzICkge1xuXHRcdFx0XHRkZWZlcnJlZC5yZXNvbHZlV2l0aCggY2FsbGJhY2tDb250ZXh0LCBbIHN1Y2Nlc3MsIHN0YXR1c1RleHQsIGpxWEhSIF0gKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGRlZmVycmVkLnJlamVjdFdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBqcVhIUiwgc3RhdHVzVGV4dCwgZXJyb3IgXSApO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBTdGF0dXMtZGVwZW5kZW50IGNhbGxiYWNrc1xuXHRcdFx0anFYSFIuc3RhdHVzQ29kZSggc3RhdHVzQ29kZSApO1xuXHRcdFx0c3RhdHVzQ29kZSA9IHVuZGVmaW5lZDtcblxuXHRcdFx0aWYgKCBmaXJlR2xvYmFscyApIHtcblx0XHRcdFx0Z2xvYmFsRXZlbnRDb250ZXh0LnRyaWdnZXIoIGlzU3VjY2VzcyA/IFwiYWpheFN1Y2Nlc3NcIiA6IFwiYWpheEVycm9yXCIsXG5cdFx0XHRcdFx0WyBqcVhIUiwgcywgaXNTdWNjZXNzID8gc3VjY2VzcyA6IGVycm9yIF0gKTtcblx0XHRcdH1cblxuXHRcdFx0Ly8gQ29tcGxldGVcblx0XHRcdGNvbXBsZXRlRGVmZXJyZWQuZmlyZVdpdGgoIGNhbGxiYWNrQ29udGV4dCwgWyBqcVhIUiwgc3RhdHVzVGV4dCBdICk7XG5cblx0XHRcdGlmICggZmlyZUdsb2JhbHMgKSB7XG5cdFx0XHRcdGdsb2JhbEV2ZW50Q29udGV4dC50cmlnZ2VyKCBcImFqYXhDb21wbGV0ZVwiLCBbIGpxWEhSLCBzIF0gKTtcblxuXHRcdFx0XHQvLyBIYW5kbGUgdGhlIGdsb2JhbCBBSkFYIGNvdW50ZXJcblx0XHRcdFx0aWYgKCAhKCAtLWpRdWVyeS5hY3RpdmUgKSApIHtcblx0XHRcdFx0XHRqUXVlcnkuZXZlbnQudHJpZ2dlciggXCJhamF4U3RvcFwiICk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4ganFYSFI7XG5cdH0sXG5cblx0Z2V0SlNPTjogZnVuY3Rpb24oIHVybCwgZGF0YSwgY2FsbGJhY2sgKSB7XG5cdFx0cmV0dXJuIGpRdWVyeS5nZXQoIHVybCwgZGF0YSwgY2FsbGJhY2ssIFwianNvblwiICk7XG5cdH0sXG5cblx0Z2V0U2NyaXB0OiBmdW5jdGlvbiggdXJsLCBjYWxsYmFjayApIHtcblx0XHRyZXR1cm4galF1ZXJ5LmdldCggdXJsLCB1bmRlZmluZWQsIGNhbGxiYWNrLCBcInNjcmlwdFwiICk7XG5cdH1cbn0gKTtcblxualF1ZXJ5LmVhY2goIFsgXCJnZXRcIiwgXCJwb3N0XCIgXSwgZnVuY3Rpb24oIF9pLCBtZXRob2QgKSB7XG5cdGpRdWVyeVsgbWV0aG9kIF0gPSBmdW5jdGlvbiggdXJsLCBkYXRhLCBjYWxsYmFjaywgdHlwZSApIHtcblxuXHRcdC8vIFNoaWZ0IGFyZ3VtZW50cyBpZiBkYXRhIGFyZ3VtZW50IHdhcyBvbWl0dGVkXG5cdFx0aWYgKCBpc0Z1bmN0aW9uKCBkYXRhICkgKSB7XG5cdFx0XHR0eXBlID0gdHlwZSB8fCBjYWxsYmFjaztcblx0XHRcdGNhbGxiYWNrID0gZGF0YTtcblx0XHRcdGRhdGEgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXG5cdFx0Ly8gVGhlIHVybCBjYW4gYmUgYW4gb3B0aW9ucyBvYmplY3QgKHdoaWNoIHRoZW4gbXVzdCBoYXZlIC51cmwpXG5cdFx0cmV0dXJuIGpRdWVyeS5hamF4KCBqUXVlcnkuZXh0ZW5kKCB7XG5cdFx0XHR1cmw6IHVybCxcblx0XHRcdHR5cGU6IG1ldGhvZCxcblx0XHRcdGRhdGFUeXBlOiB0eXBlLFxuXHRcdFx0ZGF0YTogZGF0YSxcblx0XHRcdHN1Y2Nlc3M6IGNhbGxiYWNrXG5cdFx0fSwgalF1ZXJ5LmlzUGxhaW5PYmplY3QoIHVybCApICYmIHVybCApICk7XG5cdH07XG59ICk7XG5cbmpRdWVyeS5hamF4UHJlZmlsdGVyKCBmdW5jdGlvbiggcyApIHtcblx0dmFyIGk7XG5cdGZvciAoIGkgaW4gcy5oZWFkZXJzICkge1xuXHRcdGlmICggaS50b0xvd2VyQ2FzZSgpID09PSBcImNvbnRlbnQtdHlwZVwiICkge1xuXHRcdFx0cy5jb250ZW50VHlwZSA9IHMuaGVhZGVyc1sgaSBdIHx8IFwiXCI7XG5cdFx0fVxuXHR9XG59ICk7XG5cblxualF1ZXJ5Ll9ldmFsVXJsID0gZnVuY3Rpb24oIHVybCwgb3B0aW9ucywgZG9jICkge1xuXHRyZXR1cm4galF1ZXJ5LmFqYXgoIHtcblx0XHR1cmw6IHVybCxcblxuXHRcdC8vIE1ha2UgdGhpcyBleHBsaWNpdCwgc2luY2UgdXNlciBjYW4gb3ZlcnJpZGUgdGhpcyB0aHJvdWdoIGFqYXhTZXR1cCAoIzExMjY0KVxuXHRcdHR5cGU6IFwiR0VUXCIsXG5cdFx0ZGF0YVR5cGU6IFwic2NyaXB0XCIsXG5cdFx0Y2FjaGU6IHRydWUsXG5cdFx0YXN5bmM6IGZhbHNlLFxuXHRcdGdsb2JhbDogZmFsc2UsXG5cblx0XHQvLyBPbmx5IGV2YWx1YXRlIHRoZSByZXNwb25zZSBpZiBpdCBpcyBzdWNjZXNzZnVsIChnaC00MTI2KVxuXHRcdC8vIGRhdGFGaWx0ZXIgaXMgbm90IGludm9rZWQgZm9yIGZhaWx1cmUgcmVzcG9uc2VzLCBzbyB1c2luZyBpdCBpbnN0ZWFkXG5cdFx0Ly8gb2YgdGhlIGRlZmF1bHQgY29udmVydGVyIGlzIGtsdWRneSBidXQgaXQgd29ya3MuXG5cdFx0Y29udmVydGVyczoge1xuXHRcdFx0XCJ0ZXh0IHNjcmlwdFwiOiBmdW5jdGlvbigpIHt9XG5cdFx0fSxcblx0XHRkYXRhRmlsdGVyOiBmdW5jdGlvbiggcmVzcG9uc2UgKSB7XG5cdFx0XHRqUXVlcnkuZ2xvYmFsRXZhbCggcmVzcG9uc2UsIG9wdGlvbnMsIGRvYyApO1xuXHRcdH1cblx0fSApO1xufTtcblxuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cdHdyYXBBbGw6IGZ1bmN0aW9uKCBodG1sICkge1xuXHRcdHZhciB3cmFwO1xuXG5cdFx0aWYgKCB0aGlzWyAwIF0gKSB7XG5cdFx0XHRpZiAoIGlzRnVuY3Rpb24oIGh0bWwgKSApIHtcblx0XHRcdFx0aHRtbCA9IGh0bWwuY2FsbCggdGhpc1sgMCBdICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFRoZSBlbGVtZW50cyB0byB3cmFwIHRoZSB0YXJnZXQgYXJvdW5kXG5cdFx0XHR3cmFwID0galF1ZXJ5KCBodG1sLCB0aGlzWyAwIF0ub3duZXJEb2N1bWVudCApLmVxKCAwICkuY2xvbmUoIHRydWUgKTtcblxuXHRcdFx0aWYgKCB0aGlzWyAwIF0ucGFyZW50Tm9kZSApIHtcblx0XHRcdFx0d3JhcC5pbnNlcnRCZWZvcmUoIHRoaXNbIDAgXSApO1xuXHRcdFx0fVxuXG5cdFx0XHR3cmFwLm1hcCggZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHZhciBlbGVtID0gdGhpcztcblxuXHRcdFx0XHR3aGlsZSAoIGVsZW0uZmlyc3RFbGVtZW50Q2hpbGQgKSB7XG5cdFx0XHRcdFx0ZWxlbSA9IGVsZW0uZmlyc3RFbGVtZW50Q2hpbGQ7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gZWxlbTtcblx0XHRcdH0gKS5hcHBlbmQoIHRoaXMgKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fSxcblxuXHR3cmFwSW5uZXI6IGZ1bmN0aW9uKCBodG1sICkge1xuXHRcdGlmICggaXNGdW5jdGlvbiggaHRtbCApICkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZWFjaCggZnVuY3Rpb24oIGkgKSB7XG5cdFx0XHRcdGpRdWVyeSggdGhpcyApLndyYXBJbm5lciggaHRtbC5jYWxsKCB0aGlzLCBpICkgKTtcblx0XHRcdH0gKTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbigpIHtcblx0XHRcdHZhciBzZWxmID0galF1ZXJ5KCB0aGlzICksXG5cdFx0XHRcdGNvbnRlbnRzID0gc2VsZi5jb250ZW50cygpO1xuXG5cdFx0XHRpZiAoIGNvbnRlbnRzLmxlbmd0aCApIHtcblx0XHRcdFx0Y29udGVudHMud3JhcEFsbCggaHRtbCApO1xuXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRzZWxmLmFwcGVuZCggaHRtbCApO1xuXHRcdFx0fVxuXHRcdH0gKTtcblx0fSxcblxuXHR3cmFwOiBmdW5jdGlvbiggaHRtbCApIHtcblx0XHR2YXIgaHRtbElzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uKCBodG1sICk7XG5cblx0XHRyZXR1cm4gdGhpcy5lYWNoKCBmdW5jdGlvbiggaSApIHtcblx0XHRcdGpRdWVyeSggdGhpcyApLndyYXBBbGwoIGh0bWxJc0Z1bmN0aW9uID8gaHRtbC5jYWxsKCB0aGlzLCBpICkgOiBodG1sICk7XG5cdFx0fSApO1xuXHR9LFxuXG5cdHVud3JhcDogZnVuY3Rpb24oIHNlbGVjdG9yICkge1xuXHRcdHRoaXMucGFyZW50KCBzZWxlY3RvciApLm5vdCggXCJib2R5XCIgKS5lYWNoKCBmdW5jdGlvbigpIHtcblx0XHRcdGpRdWVyeSggdGhpcyApLnJlcGxhY2VXaXRoKCB0aGlzLmNoaWxkTm9kZXMgKTtcblx0XHR9ICk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cbn0gKTtcblxuXG5qUXVlcnkuZXhwci5wc2V1ZG9zLmhpZGRlbiA9IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRyZXR1cm4gIWpRdWVyeS5leHByLnBzZXVkb3MudmlzaWJsZSggZWxlbSApO1xufTtcbmpRdWVyeS5leHByLnBzZXVkb3MudmlzaWJsZSA9IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRyZXR1cm4gISEoIGVsZW0ub2Zmc2V0V2lkdGggfHwgZWxlbS5vZmZzZXRIZWlnaHQgfHwgZWxlbS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aCApO1xufTtcblxuXG5cblxualF1ZXJ5LmFqYXhTZXR0aW5ncy54aHIgPSBmdW5jdGlvbigpIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gbmV3IHdpbmRvdy5YTUxIdHRwUmVxdWVzdCgpO1xuXHR9IGNhdGNoICggZSApIHt9XG59O1xuXG52YXIgeGhyU3VjY2Vzc1N0YXR1cyA9IHtcblxuXHRcdC8vIEZpbGUgcHJvdG9jb2wgYWx3YXlzIHlpZWxkcyBzdGF0dXMgY29kZSAwLCBhc3N1bWUgMjAwXG5cdFx0MDogMjAwLFxuXG5cdFx0Ly8gU3VwcG9ydDogSUUgPD05IG9ubHlcblx0XHQvLyAjMTQ1MDogc29tZXRpbWVzIElFIHJldHVybnMgMTIyMyB3aGVuIGl0IHNob3VsZCBiZSAyMDRcblx0XHQxMjIzOiAyMDRcblx0fSxcblx0eGhyU3VwcG9ydGVkID0galF1ZXJ5LmFqYXhTZXR0aW5ncy54aHIoKTtcblxuc3VwcG9ydC5jb3JzID0gISF4aHJTdXBwb3J0ZWQgJiYgKCBcIndpdGhDcmVkZW50aWFsc1wiIGluIHhoclN1cHBvcnRlZCApO1xuc3VwcG9ydC5hamF4ID0geGhyU3VwcG9ydGVkID0gISF4aHJTdXBwb3J0ZWQ7XG5cbmpRdWVyeS5hamF4VHJhbnNwb3J0KCBmdW5jdGlvbiggb3B0aW9ucyApIHtcblx0dmFyIGNhbGxiYWNrLCBlcnJvckNhbGxiYWNrO1xuXG5cdC8vIENyb3NzIGRvbWFpbiBvbmx5IGFsbG93ZWQgaWYgc3VwcG9ydGVkIHRocm91Z2ggWE1MSHR0cFJlcXVlc3Rcblx0aWYgKCBzdXBwb3J0LmNvcnMgfHwgeGhyU3VwcG9ydGVkICYmICFvcHRpb25zLmNyb3NzRG9tYWluICkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRzZW5kOiBmdW5jdGlvbiggaGVhZGVycywgY29tcGxldGUgKSB7XG5cdFx0XHRcdHZhciBpLFxuXHRcdFx0XHRcdHhociA9IG9wdGlvbnMueGhyKCk7XG5cblx0XHRcdFx0eGhyLm9wZW4oXG5cdFx0XHRcdFx0b3B0aW9ucy50eXBlLFxuXHRcdFx0XHRcdG9wdGlvbnMudXJsLFxuXHRcdFx0XHRcdG9wdGlvbnMuYXN5bmMsXG5cdFx0XHRcdFx0b3B0aW9ucy51c2VybmFtZSxcblx0XHRcdFx0XHRvcHRpb25zLnBhc3N3b3JkXG5cdFx0XHRcdCk7XG5cblx0XHRcdFx0Ly8gQXBwbHkgY3VzdG9tIGZpZWxkcyBpZiBwcm92aWRlZFxuXHRcdFx0XHRpZiAoIG9wdGlvbnMueGhyRmllbGRzICkge1xuXHRcdFx0XHRcdGZvciAoIGkgaW4gb3B0aW9ucy54aHJGaWVsZHMgKSB7XG5cdFx0XHRcdFx0XHR4aHJbIGkgXSA9IG9wdGlvbnMueGhyRmllbGRzWyBpIF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gT3ZlcnJpZGUgbWltZSB0eXBlIGlmIG5lZWRlZFxuXHRcdFx0XHRpZiAoIG9wdGlvbnMubWltZVR5cGUgJiYgeGhyLm92ZXJyaWRlTWltZVR5cGUgKSB7XG5cdFx0XHRcdFx0eGhyLm92ZXJyaWRlTWltZVR5cGUoIG9wdGlvbnMubWltZVR5cGUgKTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFgtUmVxdWVzdGVkLVdpdGggaGVhZGVyXG5cdFx0XHRcdC8vIEZvciBjcm9zcy1kb21haW4gcmVxdWVzdHMsIHNlZWluZyBhcyBjb25kaXRpb25zIGZvciBhIHByZWZsaWdodCBhcmVcblx0XHRcdFx0Ly8gYWtpbiB0byBhIGppZ3NhdyBwdXp6bGUsIHdlIHNpbXBseSBuZXZlciBzZXQgaXQgdG8gYmUgc3VyZS5cblx0XHRcdFx0Ly8gKGl0IGNhbiBhbHdheXMgYmUgc2V0IG9uIGEgcGVyLXJlcXVlc3QgYmFzaXMgb3IgZXZlbiB1c2luZyBhamF4U2V0dXApXG5cdFx0XHRcdC8vIEZvciBzYW1lLWRvbWFpbiByZXF1ZXN0cywgd29uJ3QgY2hhbmdlIGhlYWRlciBpZiBhbHJlYWR5IHByb3ZpZGVkLlxuXHRcdFx0XHRpZiAoICFvcHRpb25zLmNyb3NzRG9tYWluICYmICFoZWFkZXJzWyBcIlgtUmVxdWVzdGVkLVdpdGhcIiBdICkge1xuXHRcdFx0XHRcdGhlYWRlcnNbIFwiWC1SZXF1ZXN0ZWQtV2l0aFwiIF0gPSBcIlhNTEh0dHBSZXF1ZXN0XCI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBTZXQgaGVhZGVyc1xuXHRcdFx0XHRmb3IgKCBpIGluIGhlYWRlcnMgKSB7XG5cdFx0XHRcdFx0eGhyLnNldFJlcXVlc3RIZWFkZXIoIGksIGhlYWRlcnNbIGkgXSApO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ly8gQ2FsbGJhY2tcblx0XHRcdFx0Y2FsbGJhY2sgPSBmdW5jdGlvbiggdHlwZSApIHtcblx0XHRcdFx0XHRyZXR1cm4gZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRpZiAoIGNhbGxiYWNrICkge1xuXHRcdFx0XHRcdFx0XHRjYWxsYmFjayA9IGVycm9yQ2FsbGJhY2sgPSB4aHIub25sb2FkID1cblx0XHRcdFx0XHRcdFx0XHR4aHIub25lcnJvciA9IHhoci5vbmFib3J0ID0geGhyLm9udGltZW91dCA9XG5cdFx0XHRcdFx0XHRcdFx0XHR4aHIub25yZWFkeXN0YXRlY2hhbmdlID0gbnVsbDtcblxuXHRcdFx0XHRcdFx0XHRpZiAoIHR5cGUgPT09IFwiYWJvcnRcIiApIHtcblx0XHRcdFx0XHRcdFx0XHR4aHIuYWJvcnQoKTtcblx0XHRcdFx0XHRcdFx0fSBlbHNlIGlmICggdHlwZSA9PT0gXCJlcnJvclwiICkge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPD05IG9ubHlcblx0XHRcdFx0XHRcdFx0XHQvLyBPbiBhIG1hbnVhbCBuYXRpdmUgYWJvcnQsIElFOSB0aHJvd3Ncblx0XHRcdFx0XHRcdFx0XHQvLyBlcnJvcnMgb24gYW55IHByb3BlcnR5IGFjY2VzcyB0aGF0IGlzIG5vdCByZWFkeVN0YXRlXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCB0eXBlb2YgeGhyLnN0YXR1cyAhPT0gXCJudW1iZXJcIiApIHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlKCAwLCBcImVycm9yXCIgKTtcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcGxldGUoXG5cblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gRmlsZTogcHJvdG9jb2wgYWx3YXlzIHlpZWxkcyBzdGF0dXMgMDsgc2VlICM4NjA1LCAjMTQyMDdcblx0XHRcdFx0XHRcdFx0XHRcdFx0eGhyLnN0YXR1cyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0eGhyLnN0YXR1c1RleHRcblx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlKFxuXHRcdFx0XHRcdFx0XHRcdFx0eGhyU3VjY2Vzc1N0YXR1c1sgeGhyLnN0YXR1cyBdIHx8IHhoci5zdGF0dXMsXG5cdFx0XHRcdFx0XHRcdFx0XHR4aHIuc3RhdHVzVGV4dCxcblxuXHRcdFx0XHRcdFx0XHRcdFx0Ly8gU3VwcG9ydDogSUUgPD05IG9ubHlcblx0XHRcdFx0XHRcdFx0XHRcdC8vIElFOSBoYXMgbm8gWEhSMiBidXQgdGhyb3dzIG9uIGJpbmFyeSAodHJhYy0xMTQyNilcblx0XHRcdFx0XHRcdFx0XHRcdC8vIEZvciBYSFIyIG5vbi10ZXh0LCBsZXQgdGhlIGNhbGxlciBoYW5kbGUgaXQgKGdoLTI0OTgpXG5cdFx0XHRcdFx0XHRcdFx0XHQoIHhoci5yZXNwb25zZVR5cGUgfHwgXCJ0ZXh0XCIgKSAhPT0gXCJ0ZXh0XCIgIHx8XG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlb2YgeGhyLnJlc3BvbnNlVGV4dCAhPT0gXCJzdHJpbmdcIiA/XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgYmluYXJ5OiB4aHIucmVzcG9uc2UgfSA6XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHsgdGV4dDogeGhyLnJlc3BvbnNlVGV4dCB9LFxuXHRcdFx0XHRcdFx0XHRcdFx0eGhyLmdldEFsbFJlc3BvbnNlSGVhZGVycygpXG5cdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH07XG5cblx0XHRcdFx0Ly8gTGlzdGVuIHRvIGV2ZW50c1xuXHRcdFx0XHR4aHIub25sb2FkID0gY2FsbGJhY2soKTtcblx0XHRcdFx0ZXJyb3JDYWxsYmFjayA9IHhoci5vbmVycm9yID0geGhyLm9udGltZW91dCA9IGNhbGxiYWNrKCBcImVycm9yXCIgKTtcblxuXHRcdFx0XHQvLyBTdXBwb3J0OiBJRSA5IG9ubHlcblx0XHRcdFx0Ly8gVXNlIG9ucmVhZHlzdGF0ZWNoYW5nZSB0byByZXBsYWNlIG9uYWJvcnRcblx0XHRcdFx0Ly8gdG8gaGFuZGxlIHVuY2F1Z2h0IGFib3J0c1xuXHRcdFx0XHRpZiAoIHhoci5vbmFib3J0ICE9PSB1bmRlZmluZWQgKSB7XG5cdFx0XHRcdFx0eGhyLm9uYWJvcnQgPSBlcnJvckNhbGxiYWNrO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHhoci5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBmdW5jdGlvbigpIHtcblxuXHRcdFx0XHRcdFx0Ly8gQ2hlY2sgcmVhZHlTdGF0ZSBiZWZvcmUgdGltZW91dCBhcyBpdCBjaGFuZ2VzXG5cdFx0XHRcdFx0XHRpZiAoIHhoci5yZWFkeVN0YXRlID09PSA0ICkge1xuXG5cdFx0XHRcdFx0XHRcdC8vIEFsbG93IG9uZXJyb3IgdG8gYmUgY2FsbGVkIGZpcnN0LFxuXHRcdFx0XHRcdFx0XHQvLyBidXQgdGhhdCB3aWxsIG5vdCBoYW5kbGUgYSBuYXRpdmUgYWJvcnRcblx0XHRcdFx0XHRcdFx0Ly8gQWxzbywgc2F2ZSBlcnJvckNhbGxiYWNrIHRvIGEgdmFyaWFibGVcblx0XHRcdFx0XHRcdFx0Ly8gYXMgeGhyLm9uZXJyb3IgY2Fubm90IGJlIGFjY2Vzc2VkXG5cdFx0XHRcdFx0XHRcdHdpbmRvdy5zZXRUaW1lb3V0KCBmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoIGNhbGxiYWNrICkge1xuXHRcdFx0XHRcdFx0XHRcdFx0ZXJyb3JDYWxsYmFjaygpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSApO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBDcmVhdGUgdGhlIGFib3J0IGNhbGxiYWNrXG5cdFx0XHRcdGNhbGxiYWNrID0gY2FsbGJhY2soIFwiYWJvcnRcIiApO1xuXG5cdFx0XHRcdHRyeSB7XG5cblx0XHRcdFx0XHQvLyBEbyBzZW5kIHRoZSByZXF1ZXN0ICh0aGlzIG1heSByYWlzZSBhbiBleGNlcHRpb24pXG5cdFx0XHRcdFx0eGhyLnNlbmQoIG9wdGlvbnMuaGFzQ29udGVudCAmJiBvcHRpb25zLmRhdGEgfHwgbnVsbCApO1xuXHRcdFx0XHR9IGNhdGNoICggZSApIHtcblxuXHRcdFx0XHRcdC8vICMxNDY4MzogT25seSByZXRocm93IGlmIHRoaXMgaGFzbid0IGJlZW4gbm90aWZpZWQgYXMgYW4gZXJyb3IgeWV0XG5cdFx0XHRcdFx0aWYgKCBjYWxsYmFjayApIHtcblx0XHRcdFx0XHRcdHRocm93IGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRhYm9ydDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggY2FsbGJhY2sgKSB7XG5cdFx0XHRcdFx0Y2FsbGJhY2soKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdH1cbn0gKTtcblxuXG5cblxuLy8gUHJldmVudCBhdXRvLWV4ZWN1dGlvbiBvZiBzY3JpcHRzIHdoZW4gbm8gZXhwbGljaXQgZGF0YVR5cGUgd2FzIHByb3ZpZGVkIChTZWUgZ2gtMjQzMilcbmpRdWVyeS5hamF4UHJlZmlsdGVyKCBmdW5jdGlvbiggcyApIHtcblx0aWYgKCBzLmNyb3NzRG9tYWluICkge1xuXHRcdHMuY29udGVudHMuc2NyaXB0ID0gZmFsc2U7XG5cdH1cbn0gKTtcblxuLy8gSW5zdGFsbCBzY3JpcHQgZGF0YVR5cGVcbmpRdWVyeS5hamF4U2V0dXAoIHtcblx0YWNjZXB0czoge1xuXHRcdHNjcmlwdDogXCJ0ZXh0L2phdmFzY3JpcHQsIGFwcGxpY2F0aW9uL2phdmFzY3JpcHQsIFwiICtcblx0XHRcdFwiYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0XCJcblx0fSxcblx0Y29udGVudHM6IHtcblx0XHRzY3JpcHQ6IC9cXGIoPzpqYXZhfGVjbWEpc2NyaXB0XFxiL1xuXHR9LFxuXHRjb252ZXJ0ZXJzOiB7XG5cdFx0XCJ0ZXh0IHNjcmlwdFwiOiBmdW5jdGlvbiggdGV4dCApIHtcblx0XHRcdGpRdWVyeS5nbG9iYWxFdmFsKCB0ZXh0ICk7XG5cdFx0XHRyZXR1cm4gdGV4dDtcblx0XHR9XG5cdH1cbn0gKTtcblxuLy8gSGFuZGxlIGNhY2hlJ3Mgc3BlY2lhbCBjYXNlIGFuZCBjcm9zc0RvbWFpblxualF1ZXJ5LmFqYXhQcmVmaWx0ZXIoIFwic2NyaXB0XCIsIGZ1bmN0aW9uKCBzICkge1xuXHRpZiAoIHMuY2FjaGUgPT09IHVuZGVmaW5lZCApIHtcblx0XHRzLmNhY2hlID0gZmFsc2U7XG5cdH1cblx0aWYgKCBzLmNyb3NzRG9tYWluICkge1xuXHRcdHMudHlwZSA9IFwiR0VUXCI7XG5cdH1cbn0gKTtcblxuLy8gQmluZCBzY3JpcHQgdGFnIGhhY2sgdHJhbnNwb3J0XG5qUXVlcnkuYWpheFRyYW5zcG9ydCggXCJzY3JpcHRcIiwgZnVuY3Rpb24oIHMgKSB7XG5cblx0Ly8gVGhpcyB0cmFuc3BvcnQgb25seSBkZWFscyB3aXRoIGNyb3NzIGRvbWFpbiBvciBmb3JjZWQtYnktYXR0cnMgcmVxdWVzdHNcblx0aWYgKCBzLmNyb3NzRG9tYWluIHx8IHMuc2NyaXB0QXR0cnMgKSB7XG5cdFx0dmFyIHNjcmlwdCwgY2FsbGJhY2s7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHNlbmQ6IGZ1bmN0aW9uKCBfLCBjb21wbGV0ZSApIHtcblx0XHRcdFx0c2NyaXB0ID0galF1ZXJ5KCBcIjxzY3JpcHQ+XCIgKVxuXHRcdFx0XHRcdC5hdHRyKCBzLnNjcmlwdEF0dHJzIHx8IHt9IClcblx0XHRcdFx0XHQucHJvcCggeyBjaGFyc2V0OiBzLnNjcmlwdENoYXJzZXQsIHNyYzogcy51cmwgfSApXG5cdFx0XHRcdFx0Lm9uKCBcImxvYWQgZXJyb3JcIiwgY2FsbGJhY2sgPSBmdW5jdGlvbiggZXZ0ICkge1xuXHRcdFx0XHRcdFx0c2NyaXB0LnJlbW92ZSgpO1xuXHRcdFx0XHRcdFx0Y2FsbGJhY2sgPSBudWxsO1xuXHRcdFx0XHRcdFx0aWYgKCBldnQgKSB7XG5cdFx0XHRcdFx0XHRcdGNvbXBsZXRlKCBldnQudHlwZSA9PT0gXCJlcnJvclwiID8gNDA0IDogMjAwLCBldnQudHlwZSApO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gKTtcblxuXHRcdFx0XHQvLyBVc2UgbmF0aXZlIERPTSBtYW5pcHVsYXRpb24gdG8gYXZvaWQgb3VyIGRvbU1hbmlwIEFKQVggdHJpY2tlcnlcblx0XHRcdFx0ZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZCggc2NyaXB0WyAwIF0gKTtcblx0XHRcdH0sXG5cdFx0XHRhYm9ydDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdGlmICggY2FsbGJhY2sgKSB7XG5cdFx0XHRcdFx0Y2FsbGJhY2soKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cdH1cbn0gKTtcblxuXG5cblxudmFyIG9sZENhbGxiYWNrcyA9IFtdLFxuXHRyanNvbnAgPSAvKD0pXFw/KD89JnwkKXxcXD9cXD8vO1xuXG4vLyBEZWZhdWx0IGpzb25wIHNldHRpbmdzXG5qUXVlcnkuYWpheFNldHVwKCB7XG5cdGpzb25wOiBcImNhbGxiYWNrXCIsXG5cdGpzb25wQ2FsbGJhY2s6IGZ1bmN0aW9uKCkge1xuXHRcdHZhciBjYWxsYmFjayA9IG9sZENhbGxiYWNrcy5wb3AoKSB8fCAoIGpRdWVyeS5leHBhbmRvICsgXCJfXCIgKyAoIG5vbmNlLmd1aWQrKyApICk7XG5cdFx0dGhpc1sgY2FsbGJhY2sgXSA9IHRydWU7XG5cdFx0cmV0dXJuIGNhbGxiYWNrO1xuXHR9XG59ICk7XG5cbi8vIERldGVjdCwgbm9ybWFsaXplIG9wdGlvbnMgYW5kIGluc3RhbGwgY2FsbGJhY2tzIGZvciBqc29ucCByZXF1ZXN0c1xualF1ZXJ5LmFqYXhQcmVmaWx0ZXIoIFwianNvbiBqc29ucFwiLCBmdW5jdGlvbiggcywgb3JpZ2luYWxTZXR0aW5ncywganFYSFIgKSB7XG5cblx0dmFyIGNhbGxiYWNrTmFtZSwgb3ZlcndyaXR0ZW4sIHJlc3BvbnNlQ29udGFpbmVyLFxuXHRcdGpzb25Qcm9wID0gcy5qc29ucCAhPT0gZmFsc2UgJiYgKCByanNvbnAudGVzdCggcy51cmwgKSA/XG5cdFx0XHRcInVybFwiIDpcblx0XHRcdHR5cGVvZiBzLmRhdGEgPT09IFwic3RyaW5nXCIgJiZcblx0XHRcdFx0KCBzLmNvbnRlbnRUeXBlIHx8IFwiXCIgKVxuXHRcdFx0XHRcdC5pbmRleE9mKCBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiICkgPT09IDAgJiZcblx0XHRcdFx0cmpzb25wLnRlc3QoIHMuZGF0YSApICYmIFwiZGF0YVwiXG5cdFx0KTtcblxuXHQvLyBIYW5kbGUgaWZmIHRoZSBleHBlY3RlZCBkYXRhIHR5cGUgaXMgXCJqc29ucFwiIG9yIHdlIGhhdmUgYSBwYXJhbWV0ZXIgdG8gc2V0XG5cdGlmICgganNvblByb3AgfHwgcy5kYXRhVHlwZXNbIDAgXSA9PT0gXCJqc29ucFwiICkge1xuXG5cdFx0Ly8gR2V0IGNhbGxiYWNrIG5hbWUsIHJlbWVtYmVyaW5nIHByZWV4aXN0aW5nIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBpdFxuXHRcdGNhbGxiYWNrTmFtZSA9IHMuanNvbnBDYWxsYmFjayA9IGlzRnVuY3Rpb24oIHMuanNvbnBDYWxsYmFjayApID9cblx0XHRcdHMuanNvbnBDYWxsYmFjaygpIDpcblx0XHRcdHMuanNvbnBDYWxsYmFjaztcblxuXHRcdC8vIEluc2VydCBjYWxsYmFjayBpbnRvIHVybCBvciBmb3JtIGRhdGFcblx0XHRpZiAoIGpzb25Qcm9wICkge1xuXHRcdFx0c1sganNvblByb3AgXSA9IHNbIGpzb25Qcm9wIF0ucmVwbGFjZSggcmpzb25wLCBcIiQxXCIgKyBjYWxsYmFja05hbWUgKTtcblx0XHR9IGVsc2UgaWYgKCBzLmpzb25wICE9PSBmYWxzZSApIHtcblx0XHRcdHMudXJsICs9ICggcnF1ZXJ5LnRlc3QoIHMudXJsICkgPyBcIiZcIiA6IFwiP1wiICkgKyBzLmpzb25wICsgXCI9XCIgKyBjYWxsYmFja05hbWU7XG5cdFx0fVxuXG5cdFx0Ly8gVXNlIGRhdGEgY29udmVydGVyIHRvIHJldHJpZXZlIGpzb24gYWZ0ZXIgc2NyaXB0IGV4ZWN1dGlvblxuXHRcdHMuY29udmVydGVyc1sgXCJzY3JpcHQganNvblwiIF0gPSBmdW5jdGlvbigpIHtcblx0XHRcdGlmICggIXJlc3BvbnNlQ29udGFpbmVyICkge1xuXHRcdFx0XHRqUXVlcnkuZXJyb3IoIGNhbGxiYWNrTmFtZSArIFwiIHdhcyBub3QgY2FsbGVkXCIgKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiByZXNwb25zZUNvbnRhaW5lclsgMCBdO1xuXHRcdH07XG5cblx0XHQvLyBGb3JjZSBqc29uIGRhdGFUeXBlXG5cdFx0cy5kYXRhVHlwZXNbIDAgXSA9IFwianNvblwiO1xuXG5cdFx0Ly8gSW5zdGFsbCBjYWxsYmFja1xuXHRcdG92ZXJ3cml0dGVuID0gd2luZG93WyBjYWxsYmFja05hbWUgXTtcblx0XHR3aW5kb3dbIGNhbGxiYWNrTmFtZSBdID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRyZXNwb25zZUNvbnRhaW5lciA9IGFyZ3VtZW50cztcblx0XHR9O1xuXG5cdFx0Ly8gQ2xlYW4tdXAgZnVuY3Rpb24gKGZpcmVzIGFmdGVyIGNvbnZlcnRlcnMpXG5cdFx0anFYSFIuYWx3YXlzKCBmdW5jdGlvbigpIHtcblxuXHRcdFx0Ly8gSWYgcHJldmlvdXMgdmFsdWUgZGlkbid0IGV4aXN0IC0gcmVtb3ZlIGl0XG5cdFx0XHRpZiAoIG92ZXJ3cml0dGVuID09PSB1bmRlZmluZWQgKSB7XG5cdFx0XHRcdGpRdWVyeSggd2luZG93ICkucmVtb3ZlUHJvcCggY2FsbGJhY2tOYW1lICk7XG5cblx0XHRcdC8vIE90aGVyd2lzZSByZXN0b3JlIHByZWV4aXN0aW5nIHZhbHVlXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR3aW5kb3dbIGNhbGxiYWNrTmFtZSBdID0gb3ZlcndyaXR0ZW47XG5cdFx0XHR9XG5cblx0XHRcdC8vIFNhdmUgYmFjayBhcyBmcmVlXG5cdFx0XHRpZiAoIHNbIGNhbGxiYWNrTmFtZSBdICkge1xuXG5cdFx0XHRcdC8vIE1ha2Ugc3VyZSB0aGF0IHJlLXVzaW5nIHRoZSBvcHRpb25zIGRvZXNuJ3Qgc2NyZXcgdGhpbmdzIGFyb3VuZFxuXHRcdFx0XHRzLmpzb25wQ2FsbGJhY2sgPSBvcmlnaW5hbFNldHRpbmdzLmpzb25wQ2FsbGJhY2s7XG5cblx0XHRcdFx0Ly8gU2F2ZSB0aGUgY2FsbGJhY2sgbmFtZSBmb3IgZnV0dXJlIHVzZVxuXHRcdFx0XHRvbGRDYWxsYmFja3MucHVzaCggY2FsbGJhY2tOYW1lICk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIENhbGwgaWYgaXQgd2FzIGEgZnVuY3Rpb24gYW5kIHdlIGhhdmUgYSByZXNwb25zZVxuXHRcdFx0aWYgKCByZXNwb25zZUNvbnRhaW5lciAmJiBpc0Z1bmN0aW9uKCBvdmVyd3JpdHRlbiApICkge1xuXHRcdFx0XHRvdmVyd3JpdHRlbiggcmVzcG9uc2VDb250YWluZXJbIDAgXSApO1xuXHRcdFx0fVxuXG5cdFx0XHRyZXNwb25zZUNvbnRhaW5lciA9IG92ZXJ3cml0dGVuID0gdW5kZWZpbmVkO1xuXHRcdH0gKTtcblxuXHRcdC8vIERlbGVnYXRlIHRvIHNjcmlwdFxuXHRcdHJldHVybiBcInNjcmlwdFwiO1xuXHR9XG59ICk7XG5cblxuXG5cbi8vIFN1cHBvcnQ6IFNhZmFyaSA4IG9ubHlcbi8vIEluIFNhZmFyaSA4IGRvY3VtZW50cyBjcmVhdGVkIHZpYSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnRcbi8vIGNvbGxhcHNlIHNpYmxpbmcgZm9ybXM6IHRoZSBzZWNvbmQgb25lIGJlY29tZXMgYSBjaGlsZCBvZiB0aGUgZmlyc3Qgb25lLlxuLy8gQmVjYXVzZSBvZiB0aGF0LCB0aGlzIHNlY3VyaXR5IG1lYXN1cmUgaGFzIHRvIGJlIGRpc2FibGVkIGluIFNhZmFyaSA4LlxuLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzMzN1xuc3VwcG9ydC5jcmVhdGVIVE1MRG9jdW1lbnQgPSAoIGZ1bmN0aW9uKCkge1xuXHR2YXIgYm9keSA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCggXCJcIiApLmJvZHk7XG5cdGJvZHkuaW5uZXJIVE1MID0gXCI8Zm9ybT48L2Zvcm0+PGZvcm0+PC9mb3JtPlwiO1xuXHRyZXR1cm4gYm9keS5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMjtcbn0gKSgpO1xuXG5cbi8vIEFyZ3VtZW50IFwiZGF0YVwiIHNob3VsZCBiZSBzdHJpbmcgb2YgaHRtbFxuLy8gY29udGV4dCAob3B0aW9uYWwpOiBJZiBzcGVjaWZpZWQsIHRoZSBmcmFnbWVudCB3aWxsIGJlIGNyZWF0ZWQgaW4gdGhpcyBjb250ZXh0LFxuLy8gZGVmYXVsdHMgdG8gZG9jdW1lbnRcbi8vIGtlZXBTY3JpcHRzIChvcHRpb25hbCk6IElmIHRydWUsIHdpbGwgaW5jbHVkZSBzY3JpcHRzIHBhc3NlZCBpbiB0aGUgaHRtbCBzdHJpbmdcbmpRdWVyeS5wYXJzZUhUTUwgPSBmdW5jdGlvbiggZGF0YSwgY29udGV4dCwga2VlcFNjcmlwdHMgKSB7XG5cdGlmICggdHlwZW9mIGRhdGEgIT09IFwic3RyaW5nXCIgKSB7XG5cdFx0cmV0dXJuIFtdO1xuXHR9XG5cdGlmICggdHlwZW9mIGNvbnRleHQgPT09IFwiYm9vbGVhblwiICkge1xuXHRcdGtlZXBTY3JpcHRzID0gY29udGV4dDtcblx0XHRjb250ZXh0ID0gZmFsc2U7XG5cdH1cblxuXHR2YXIgYmFzZSwgcGFyc2VkLCBzY3JpcHRzO1xuXG5cdGlmICggIWNvbnRleHQgKSB7XG5cblx0XHQvLyBTdG9wIHNjcmlwdHMgb3IgaW5saW5lIGV2ZW50IGhhbmRsZXJzIGZyb20gYmVpbmcgZXhlY3V0ZWQgaW1tZWRpYXRlbHlcblx0XHQvLyBieSB1c2luZyBkb2N1bWVudC5pbXBsZW1lbnRhdGlvblxuXHRcdGlmICggc3VwcG9ydC5jcmVhdGVIVE1MRG9jdW1lbnQgKSB7XG5cdFx0XHRjb250ZXh0ID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCBcIlwiICk7XG5cblx0XHRcdC8vIFNldCB0aGUgYmFzZSBocmVmIGZvciB0aGUgY3JlYXRlZCBkb2N1bWVudFxuXHRcdFx0Ly8gc28gYW55IHBhcnNlZCBlbGVtZW50cyB3aXRoIFVSTHNcblx0XHRcdC8vIGFyZSBiYXNlZCBvbiB0aGUgZG9jdW1lbnQncyBVUkwgKGdoLTI5NjUpXG5cdFx0XHRiYXNlID0gY29udGV4dC5jcmVhdGVFbGVtZW50KCBcImJhc2VcIiApO1xuXHRcdFx0YmFzZS5ocmVmID0gZG9jdW1lbnQubG9jYXRpb24uaHJlZjtcblx0XHRcdGNvbnRleHQuaGVhZC5hcHBlbmRDaGlsZCggYmFzZSApO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb250ZXh0ID0gZG9jdW1lbnQ7XG5cdFx0fVxuXHR9XG5cblx0cGFyc2VkID0gcnNpbmdsZVRhZy5leGVjKCBkYXRhICk7XG5cdHNjcmlwdHMgPSAha2VlcFNjcmlwdHMgJiYgW107XG5cblx0Ly8gU2luZ2xlIHRhZ1xuXHRpZiAoIHBhcnNlZCApIHtcblx0XHRyZXR1cm4gWyBjb250ZXh0LmNyZWF0ZUVsZW1lbnQoIHBhcnNlZFsgMSBdICkgXTtcblx0fVxuXG5cdHBhcnNlZCA9IGJ1aWxkRnJhZ21lbnQoIFsgZGF0YSBdLCBjb250ZXh0LCBzY3JpcHRzICk7XG5cblx0aWYgKCBzY3JpcHRzICYmIHNjcmlwdHMubGVuZ3RoICkge1xuXHRcdGpRdWVyeSggc2NyaXB0cyApLnJlbW92ZSgpO1xuXHR9XG5cblx0cmV0dXJuIGpRdWVyeS5tZXJnZSggW10sIHBhcnNlZC5jaGlsZE5vZGVzICk7XG59O1xuXG5cbi8qKlxuICogTG9hZCBhIHVybCBpbnRvIGEgcGFnZVxuICovXG5qUXVlcnkuZm4ubG9hZCA9IGZ1bmN0aW9uKCB1cmwsIHBhcmFtcywgY2FsbGJhY2sgKSB7XG5cdHZhciBzZWxlY3RvciwgdHlwZSwgcmVzcG9uc2UsXG5cdFx0c2VsZiA9IHRoaXMsXG5cdFx0b2ZmID0gdXJsLmluZGV4T2YoIFwiIFwiICk7XG5cblx0aWYgKCBvZmYgPiAtMSApIHtcblx0XHRzZWxlY3RvciA9IHN0cmlwQW5kQ29sbGFwc2UoIHVybC5zbGljZSggb2ZmICkgKTtcblx0XHR1cmwgPSB1cmwuc2xpY2UoIDAsIG9mZiApO1xuXHR9XG5cblx0Ly8gSWYgaXQncyBhIGZ1bmN0aW9uXG5cdGlmICggaXNGdW5jdGlvbiggcGFyYW1zICkgKSB7XG5cblx0XHQvLyBXZSBhc3N1bWUgdGhhdCBpdCdzIHRoZSBjYWxsYmFja1xuXHRcdGNhbGxiYWNrID0gcGFyYW1zO1xuXHRcdHBhcmFtcyA9IHVuZGVmaW5lZDtcblxuXHQvLyBPdGhlcndpc2UsIGJ1aWxkIGEgcGFyYW0gc3RyaW5nXG5cdH0gZWxzZSBpZiAoIHBhcmFtcyAmJiB0eXBlb2YgcGFyYW1zID09PSBcIm9iamVjdFwiICkge1xuXHRcdHR5cGUgPSBcIlBPU1RcIjtcblx0fVxuXG5cdC8vIElmIHdlIGhhdmUgZWxlbWVudHMgdG8gbW9kaWZ5LCBtYWtlIHRoZSByZXF1ZXN0XG5cdGlmICggc2VsZi5sZW5ndGggPiAwICkge1xuXHRcdGpRdWVyeS5hamF4KCB7XG5cdFx0XHR1cmw6IHVybCxcblxuXHRcdFx0Ly8gSWYgXCJ0eXBlXCIgdmFyaWFibGUgaXMgdW5kZWZpbmVkLCB0aGVuIFwiR0VUXCIgbWV0aG9kIHdpbGwgYmUgdXNlZC5cblx0XHRcdC8vIE1ha2UgdmFsdWUgb2YgdGhpcyBmaWVsZCBleHBsaWNpdCBzaW5jZVxuXHRcdFx0Ly8gdXNlciBjYW4gb3ZlcnJpZGUgaXQgdGhyb3VnaCBhamF4U2V0dXAgbWV0aG9kXG5cdFx0XHR0eXBlOiB0eXBlIHx8IFwiR0VUXCIsXG5cdFx0XHRkYXRhVHlwZTogXCJodG1sXCIsXG5cdFx0XHRkYXRhOiBwYXJhbXNcblx0XHR9ICkuZG9uZSggZnVuY3Rpb24oIHJlc3BvbnNlVGV4dCApIHtcblxuXHRcdFx0Ly8gU2F2ZSByZXNwb25zZSBmb3IgdXNlIGluIGNvbXBsZXRlIGNhbGxiYWNrXG5cdFx0XHRyZXNwb25zZSA9IGFyZ3VtZW50cztcblxuXHRcdFx0c2VsZi5odG1sKCBzZWxlY3RvciA/XG5cblx0XHRcdFx0Ly8gSWYgYSBzZWxlY3RvciB3YXMgc3BlY2lmaWVkLCBsb2NhdGUgdGhlIHJpZ2h0IGVsZW1lbnRzIGluIGEgZHVtbXkgZGl2XG5cdFx0XHRcdC8vIEV4Y2x1ZGUgc2NyaXB0cyB0byBhdm9pZCBJRSAnUGVybWlzc2lvbiBEZW5pZWQnIGVycm9yc1xuXHRcdFx0XHRqUXVlcnkoIFwiPGRpdj5cIiApLmFwcGVuZCggalF1ZXJ5LnBhcnNlSFRNTCggcmVzcG9uc2VUZXh0ICkgKS5maW5kKCBzZWxlY3RvciApIDpcblxuXHRcdFx0XHQvLyBPdGhlcndpc2UgdXNlIHRoZSBmdWxsIHJlc3VsdFxuXHRcdFx0XHRyZXNwb25zZVRleHQgKTtcblxuXHRcdC8vIElmIHRoZSByZXF1ZXN0IHN1Y2NlZWRzLCB0aGlzIGZ1bmN0aW9uIGdldHMgXCJkYXRhXCIsIFwic3RhdHVzXCIsIFwianFYSFJcIlxuXHRcdC8vIGJ1dCB0aGV5IGFyZSBpZ25vcmVkIGJlY2F1c2UgcmVzcG9uc2Ugd2FzIHNldCBhYm92ZS5cblx0XHQvLyBJZiBpdCBmYWlscywgdGhpcyBmdW5jdGlvbiBnZXRzIFwianFYSFJcIiwgXCJzdGF0dXNcIiwgXCJlcnJvclwiXG5cdFx0fSApLmFsd2F5cyggY2FsbGJhY2sgJiYgZnVuY3Rpb24oIGpxWEhSLCBzdGF0dXMgKSB7XG5cdFx0XHRzZWxmLmVhY2goIGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRjYWxsYmFjay5hcHBseSggdGhpcywgcmVzcG9uc2UgfHwgWyBqcVhIUi5yZXNwb25zZVRleHQsIHN0YXR1cywganFYSFIgXSApO1xuXHRcdFx0fSApO1xuXHRcdH0gKTtcblx0fVxuXG5cdHJldHVybiB0aGlzO1xufTtcblxuXG5cblxualF1ZXJ5LmV4cHIucHNldWRvcy5hbmltYXRlZCA9IGZ1bmN0aW9uKCBlbGVtICkge1xuXHRyZXR1cm4galF1ZXJ5LmdyZXAoIGpRdWVyeS50aW1lcnMsIGZ1bmN0aW9uKCBmbiApIHtcblx0XHRyZXR1cm4gZWxlbSA9PT0gZm4uZWxlbTtcblx0fSApLmxlbmd0aDtcbn07XG5cblxuXG5cbmpRdWVyeS5vZmZzZXQgPSB7XG5cdHNldE9mZnNldDogZnVuY3Rpb24oIGVsZW0sIG9wdGlvbnMsIGkgKSB7XG5cdFx0dmFyIGN1clBvc2l0aW9uLCBjdXJMZWZ0LCBjdXJDU1NUb3AsIGN1clRvcCwgY3VyT2Zmc2V0LCBjdXJDU1NMZWZ0LCBjYWxjdWxhdGVQb3NpdGlvbixcblx0XHRcdHBvc2l0aW9uID0galF1ZXJ5LmNzcyggZWxlbSwgXCJwb3NpdGlvblwiICksXG5cdFx0XHRjdXJFbGVtID0galF1ZXJ5KCBlbGVtICksXG5cdFx0XHRwcm9wcyA9IHt9O1xuXG5cdFx0Ly8gU2V0IHBvc2l0aW9uIGZpcnN0LCBpbi1jYXNlIHRvcC9sZWZ0IGFyZSBzZXQgZXZlbiBvbiBzdGF0aWMgZWxlbVxuXHRcdGlmICggcG9zaXRpb24gPT09IFwic3RhdGljXCIgKSB7XG5cdFx0XHRlbGVtLnN0eWxlLnBvc2l0aW9uID0gXCJyZWxhdGl2ZVwiO1xuXHRcdH1cblxuXHRcdGN1ck9mZnNldCA9IGN1ckVsZW0ub2Zmc2V0KCk7XG5cdFx0Y3VyQ1NTVG9wID0galF1ZXJ5LmNzcyggZWxlbSwgXCJ0b3BcIiApO1xuXHRcdGN1ckNTU0xlZnQgPSBqUXVlcnkuY3NzKCBlbGVtLCBcImxlZnRcIiApO1xuXHRcdGNhbGN1bGF0ZVBvc2l0aW9uID0gKCBwb3NpdGlvbiA9PT0gXCJhYnNvbHV0ZVwiIHx8IHBvc2l0aW9uID09PSBcImZpeGVkXCIgKSAmJlxuXHRcdFx0KCBjdXJDU1NUb3AgKyBjdXJDU1NMZWZ0ICkuaW5kZXhPZiggXCJhdXRvXCIgKSA+IC0xO1xuXG5cdFx0Ly8gTmVlZCB0byBiZSBhYmxlIHRvIGNhbGN1bGF0ZSBwb3NpdGlvbiBpZiBlaXRoZXJcblx0XHQvLyB0b3Agb3IgbGVmdCBpcyBhdXRvIGFuZCBwb3NpdGlvbiBpcyBlaXRoZXIgYWJzb2x1dGUgb3IgZml4ZWRcblx0XHRpZiAoIGNhbGN1bGF0ZVBvc2l0aW9uICkge1xuXHRcdFx0Y3VyUG9zaXRpb24gPSBjdXJFbGVtLnBvc2l0aW9uKCk7XG5cdFx0XHRjdXJUb3AgPSBjdXJQb3NpdGlvbi50b3A7XG5cdFx0XHRjdXJMZWZ0ID0gY3VyUG9zaXRpb24ubGVmdDtcblxuXHRcdH0gZWxzZSB7XG5cdFx0XHRjdXJUb3AgPSBwYXJzZUZsb2F0KCBjdXJDU1NUb3AgKSB8fCAwO1xuXHRcdFx0Y3VyTGVmdCA9IHBhcnNlRmxvYXQoIGN1ckNTU0xlZnQgKSB8fCAwO1xuXHRcdH1cblxuXHRcdGlmICggaXNGdW5jdGlvbiggb3B0aW9ucyApICkge1xuXG5cdFx0XHQvLyBVc2UgalF1ZXJ5LmV4dGVuZCBoZXJlIHRvIGFsbG93IG1vZGlmaWNhdGlvbiBvZiBjb29yZGluYXRlcyBhcmd1bWVudCAoZ2gtMTg0OClcblx0XHRcdG9wdGlvbnMgPSBvcHRpb25zLmNhbGwoIGVsZW0sIGksIGpRdWVyeS5leHRlbmQoIHt9LCBjdXJPZmZzZXQgKSApO1xuXHRcdH1cblxuXHRcdGlmICggb3B0aW9ucy50b3AgIT0gbnVsbCApIHtcblx0XHRcdHByb3BzLnRvcCA9ICggb3B0aW9ucy50b3AgLSBjdXJPZmZzZXQudG9wICkgKyBjdXJUb3A7XG5cdFx0fVxuXHRcdGlmICggb3B0aW9ucy5sZWZ0ICE9IG51bGwgKSB7XG5cdFx0XHRwcm9wcy5sZWZ0ID0gKCBvcHRpb25zLmxlZnQgLSBjdXJPZmZzZXQubGVmdCApICsgY3VyTGVmdDtcblx0XHR9XG5cblx0XHRpZiAoIFwidXNpbmdcIiBpbiBvcHRpb25zICkge1xuXHRcdFx0b3B0aW9ucy51c2luZy5jYWxsKCBlbGVtLCBwcm9wcyApO1xuXG5cdFx0fSBlbHNlIHtcblx0XHRcdGlmICggdHlwZW9mIHByb3BzLnRvcCA9PT0gXCJudW1iZXJcIiApIHtcblx0XHRcdFx0cHJvcHMudG9wICs9IFwicHhcIjtcblx0XHRcdH1cblx0XHRcdGlmICggdHlwZW9mIHByb3BzLmxlZnQgPT09IFwibnVtYmVyXCIgKSB7XG5cdFx0XHRcdHByb3BzLmxlZnQgKz0gXCJweFwiO1xuXHRcdFx0fVxuXHRcdFx0Y3VyRWxlbS5jc3MoIHByb3BzICk7XG5cdFx0fVxuXHR9XG59O1xuXG5qUXVlcnkuZm4uZXh0ZW5kKCB7XG5cblx0Ly8gb2Zmc2V0KCkgcmVsYXRlcyBhbiBlbGVtZW50J3MgYm9yZGVyIGJveCB0byB0aGUgZG9jdW1lbnQgb3JpZ2luXG5cdG9mZnNldDogZnVuY3Rpb24oIG9wdGlvbnMgKSB7XG5cblx0XHQvLyBQcmVzZXJ2ZSBjaGFpbmluZyBmb3Igc2V0dGVyXG5cdFx0aWYgKCBhcmd1bWVudHMubGVuZ3RoICkge1xuXHRcdFx0cmV0dXJuIG9wdGlvbnMgPT09IHVuZGVmaW5lZCA/XG5cdFx0XHRcdHRoaXMgOlxuXHRcdFx0XHR0aGlzLmVhY2goIGZ1bmN0aW9uKCBpICkge1xuXHRcdFx0XHRcdGpRdWVyeS5vZmZzZXQuc2V0T2Zmc2V0KCB0aGlzLCBvcHRpb25zLCBpICk7XG5cdFx0XHRcdH0gKTtcblx0XHR9XG5cblx0XHR2YXIgcmVjdCwgd2luLFxuXHRcdFx0ZWxlbSA9IHRoaXNbIDAgXTtcblxuXHRcdGlmICggIWVsZW0gKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Ly8gUmV0dXJuIHplcm9zIGZvciBkaXNjb25uZWN0ZWQgYW5kIGhpZGRlbiAoZGlzcGxheTogbm9uZSkgZWxlbWVudHMgKGdoLTIzMTApXG5cdFx0Ly8gU3VwcG9ydDogSUUgPD0xMSBvbmx5XG5cdFx0Ly8gUnVubmluZyBnZXRCb3VuZGluZ0NsaWVudFJlY3Qgb24gYVxuXHRcdC8vIGRpc2Nvbm5lY3RlZCBub2RlIGluIElFIHRocm93cyBhbiBlcnJvclxuXHRcdGlmICggIWVsZW0uZ2V0Q2xpZW50UmVjdHMoKS5sZW5ndGggKSB7XG5cdFx0XHRyZXR1cm4geyB0b3A6IDAsIGxlZnQ6IDAgfTtcblx0XHR9XG5cblx0XHQvLyBHZXQgZG9jdW1lbnQtcmVsYXRpdmUgcG9zaXRpb24gYnkgYWRkaW5nIHZpZXdwb3J0IHNjcm9sbCB0byB2aWV3cG9ydC1yZWxhdGl2ZSBnQkNSXG5cdFx0cmVjdCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0d2luID0gZWxlbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuXHRcdHJldHVybiB7XG5cdFx0XHR0b3A6IHJlY3QudG9wICsgd2luLnBhZ2VZT2Zmc2V0LFxuXHRcdFx0bGVmdDogcmVjdC5sZWZ0ICsgd2luLnBhZ2VYT2Zmc2V0XG5cdFx0fTtcblx0fSxcblxuXHQvLyBwb3NpdGlvbigpIHJlbGF0ZXMgYW4gZWxlbWVudCdzIG1hcmdpbiBib3ggdG8gaXRzIG9mZnNldCBwYXJlbnQncyBwYWRkaW5nIGJveFxuXHQvLyBUaGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBiZWhhdmlvciBvZiBDU1MgYWJzb2x1dGUgcG9zaXRpb25pbmdcblx0cG9zaXRpb246IGZ1bmN0aW9uKCkge1xuXHRcdGlmICggIXRoaXNbIDAgXSApIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR2YXIgb2Zmc2V0UGFyZW50LCBvZmZzZXQsIGRvYyxcblx0XHRcdGVsZW0gPSB0aGlzWyAwIF0sXG5cdFx0XHRwYXJlbnRPZmZzZXQgPSB7IHRvcDogMCwgbGVmdDogMCB9O1xuXG5cdFx0Ly8gcG9zaXRpb246Zml4ZWQgZWxlbWVudHMgYXJlIG9mZnNldCBmcm9tIHRoZSB2aWV3cG9ydCwgd2hpY2ggaXRzZWxmIGFsd2F5cyBoYXMgemVybyBvZmZzZXRcblx0XHRpZiAoIGpRdWVyeS5jc3MoIGVsZW0sIFwicG9zaXRpb25cIiApID09PSBcImZpeGVkXCIgKSB7XG5cblx0XHRcdC8vIEFzc3VtZSBwb3NpdGlvbjpmaXhlZCBpbXBsaWVzIGF2YWlsYWJpbGl0eSBvZiBnZXRCb3VuZGluZ0NsaWVudFJlY3Rcblx0XHRcdG9mZnNldCA9IGVsZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cblx0XHR9IGVsc2Uge1xuXHRcdFx0b2Zmc2V0ID0gdGhpcy5vZmZzZXQoKTtcblxuXHRcdFx0Ly8gQWNjb3VudCBmb3IgdGhlICpyZWFsKiBvZmZzZXQgcGFyZW50LCB3aGljaCBjYW4gYmUgdGhlIGRvY3VtZW50IG9yIGl0cyByb290IGVsZW1lbnRcblx0XHRcdC8vIHdoZW4gYSBzdGF0aWNhbGx5IHBvc2l0aW9uZWQgZWxlbWVudCBpcyBpZGVudGlmaWVkXG5cdFx0XHRkb2MgPSBlbGVtLm93bmVyRG9jdW1lbnQ7XG5cdFx0XHRvZmZzZXRQYXJlbnQgPSBlbGVtLm9mZnNldFBhcmVudCB8fCBkb2MuZG9jdW1lbnRFbGVtZW50O1xuXHRcdFx0d2hpbGUgKCBvZmZzZXRQYXJlbnQgJiZcblx0XHRcdFx0KCBvZmZzZXRQYXJlbnQgPT09IGRvYy5ib2R5IHx8IG9mZnNldFBhcmVudCA9PT0gZG9jLmRvY3VtZW50RWxlbWVudCApICYmXG5cdFx0XHRcdGpRdWVyeS5jc3MoIG9mZnNldFBhcmVudCwgXCJwb3NpdGlvblwiICkgPT09IFwic3RhdGljXCIgKSB7XG5cblx0XHRcdFx0b2Zmc2V0UGFyZW50ID0gb2Zmc2V0UGFyZW50LnBhcmVudE5vZGU7XG5cdFx0XHR9XG5cdFx0XHRpZiAoIG9mZnNldFBhcmVudCAmJiBvZmZzZXRQYXJlbnQgIT09IGVsZW0gJiYgb2Zmc2V0UGFyZW50Lm5vZGVUeXBlID09PSAxICkge1xuXG5cdFx0XHRcdC8vIEluY29ycG9yYXRlIGJvcmRlcnMgaW50byBpdHMgb2Zmc2V0LCBzaW5jZSB0aGV5IGFyZSBvdXRzaWRlIGl0cyBjb250ZW50IG9yaWdpblxuXHRcdFx0XHRwYXJlbnRPZmZzZXQgPSBqUXVlcnkoIG9mZnNldFBhcmVudCApLm9mZnNldCgpO1xuXHRcdFx0XHRwYXJlbnRPZmZzZXQudG9wICs9IGpRdWVyeS5jc3MoIG9mZnNldFBhcmVudCwgXCJib3JkZXJUb3BXaWR0aFwiLCB0cnVlICk7XG5cdFx0XHRcdHBhcmVudE9mZnNldC5sZWZ0ICs9IGpRdWVyeS5jc3MoIG9mZnNldFBhcmVudCwgXCJib3JkZXJMZWZ0V2lkdGhcIiwgdHJ1ZSApO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIFN1YnRyYWN0IHBhcmVudCBvZmZzZXRzIGFuZCBlbGVtZW50IG1hcmdpbnNcblx0XHRyZXR1cm4ge1xuXHRcdFx0dG9wOiBvZmZzZXQudG9wIC0gcGFyZW50T2Zmc2V0LnRvcCAtIGpRdWVyeS5jc3MoIGVsZW0sIFwibWFyZ2luVG9wXCIsIHRydWUgKSxcblx0XHRcdGxlZnQ6IG9mZnNldC5sZWZ0IC0gcGFyZW50T2Zmc2V0LmxlZnQgLSBqUXVlcnkuY3NzKCBlbGVtLCBcIm1hcmdpbkxlZnRcIiwgdHJ1ZSApXG5cdFx0fTtcblx0fSxcblxuXHQvLyBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBkb2N1bWVudEVsZW1lbnQgaW4gdGhlIGZvbGxvd2luZyBjYXNlczpcblx0Ly8gMSkgRm9yIHRoZSBlbGVtZW50IGluc2lkZSB0aGUgaWZyYW1lIHdpdGhvdXQgb2Zmc2V0UGFyZW50LCB0aGlzIG1ldGhvZCB3aWxsIHJldHVyblxuXHQvLyAgICBkb2N1bWVudEVsZW1lbnQgb2YgdGhlIHBhcmVudCB3aW5kb3dcblx0Ly8gMikgRm9yIHRoZSBoaWRkZW4gb3IgZGV0YWNoZWQgZWxlbWVudFxuXHQvLyAzKSBGb3IgYm9keSBvciBodG1sIGVsZW1lbnQsIGkuZS4gaW4gY2FzZSBvZiB0aGUgaHRtbCBub2RlIC0gaXQgd2lsbCByZXR1cm4gaXRzZWxmXG5cdC8vXG5cdC8vIGJ1dCB0aG9zZSBleGNlcHRpb25zIHdlcmUgbmV2ZXIgcHJlc2VudGVkIGFzIGEgcmVhbCBsaWZlIHVzZS1jYXNlc1xuXHQvLyBhbmQgbWlnaHQgYmUgY29uc2lkZXJlZCBhcyBtb3JlIHByZWZlcmFibGUgcmVzdWx0cy5cblx0Ly9cblx0Ly8gVGhpcyBsb2dpYywgaG93ZXZlciwgaXMgbm90IGd1YXJhbnRlZWQgYW5kIGNhbiBjaGFuZ2UgYXQgYW55IHBvaW50IGluIHRoZSBmdXR1cmVcblx0b2Zmc2V0UGFyZW50OiBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gdGhpcy5tYXAoIGZ1bmN0aW9uKCkge1xuXHRcdFx0dmFyIG9mZnNldFBhcmVudCA9IHRoaXMub2Zmc2V0UGFyZW50O1xuXG5cdFx0XHR3aGlsZSAoIG9mZnNldFBhcmVudCAmJiBqUXVlcnkuY3NzKCBvZmZzZXRQYXJlbnQsIFwicG9zaXRpb25cIiApID09PSBcInN0YXRpY1wiICkge1xuXHRcdFx0XHRvZmZzZXRQYXJlbnQgPSBvZmZzZXRQYXJlbnQub2Zmc2V0UGFyZW50O1xuXHRcdFx0fVxuXG5cdFx0XHRyZXR1cm4gb2Zmc2V0UGFyZW50IHx8IGRvY3VtZW50RWxlbWVudDtcblx0XHR9ICk7XG5cdH1cbn0gKTtcblxuLy8gQ3JlYXRlIHNjcm9sbExlZnQgYW5kIHNjcm9sbFRvcCBtZXRob2RzXG5qUXVlcnkuZWFjaCggeyBzY3JvbGxMZWZ0OiBcInBhZ2VYT2Zmc2V0XCIsIHNjcm9sbFRvcDogXCJwYWdlWU9mZnNldFwiIH0sIGZ1bmN0aW9uKCBtZXRob2QsIHByb3AgKSB7XG5cdHZhciB0b3AgPSBcInBhZ2VZT2Zmc2V0XCIgPT09IHByb3A7XG5cblx0alF1ZXJ5LmZuWyBtZXRob2QgXSA9IGZ1bmN0aW9uKCB2YWwgKSB7XG5cdFx0cmV0dXJuIGFjY2VzcyggdGhpcywgZnVuY3Rpb24oIGVsZW0sIG1ldGhvZCwgdmFsICkge1xuXG5cdFx0XHQvLyBDb2FsZXNjZSBkb2N1bWVudHMgYW5kIHdpbmRvd3Ncblx0XHRcdHZhciB3aW47XG5cdFx0XHRpZiAoIGlzV2luZG93KCBlbGVtICkgKSB7XG5cdFx0XHRcdHdpbiA9IGVsZW07XG5cdFx0XHR9IGVsc2UgaWYgKCBlbGVtLm5vZGVUeXBlID09PSA5ICkge1xuXHRcdFx0XHR3aW4gPSBlbGVtLmRlZmF1bHRWaWV3O1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoIHZhbCA9PT0gdW5kZWZpbmVkICkge1xuXHRcdFx0XHRyZXR1cm4gd2luID8gd2luWyBwcm9wIF0gOiBlbGVtWyBtZXRob2QgXTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKCB3aW4gKSB7XG5cdFx0XHRcdHdpbi5zY3JvbGxUbyhcblx0XHRcdFx0XHQhdG9wID8gdmFsIDogd2luLnBhZ2VYT2Zmc2V0LFxuXHRcdFx0XHRcdHRvcCA/IHZhbCA6IHdpbi5wYWdlWU9mZnNldFxuXHRcdFx0XHQpO1xuXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRlbGVtWyBtZXRob2QgXSA9IHZhbDtcblx0XHRcdH1cblx0XHR9LCBtZXRob2QsIHZhbCwgYXJndW1lbnRzLmxlbmd0aCApO1xuXHR9O1xufSApO1xuXG4vLyBTdXBwb3J0OiBTYWZhcmkgPD03IC0gOS4xLCBDaHJvbWUgPD0zNyAtIDQ5XG4vLyBBZGQgdGhlIHRvcC9sZWZ0IGNzc0hvb2tzIHVzaW5nIGpRdWVyeS5mbi5wb3NpdGlvblxuLy8gV2Via2l0IGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI5MDg0XG4vLyBCbGluayBidWc6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTU4OTM0N1xuLy8gZ2V0Q29tcHV0ZWRTdHlsZSByZXR1cm5zIHBlcmNlbnQgd2hlbiBzcGVjaWZpZWQgZm9yIHRvcC9sZWZ0L2JvdHRvbS9yaWdodDtcbi8vIHJhdGhlciB0aGFuIG1ha2UgdGhlIGNzcyBtb2R1bGUgZGVwZW5kIG9uIHRoZSBvZmZzZXQgbW9kdWxlLCBqdXN0IGNoZWNrIGZvciBpdCBoZXJlXG5qUXVlcnkuZWFjaCggWyBcInRvcFwiLCBcImxlZnRcIiBdLCBmdW5jdGlvbiggX2ksIHByb3AgKSB7XG5cdGpRdWVyeS5jc3NIb29rc1sgcHJvcCBdID0gYWRkR2V0SG9va0lmKCBzdXBwb3J0LnBpeGVsUG9zaXRpb24sXG5cdFx0ZnVuY3Rpb24oIGVsZW0sIGNvbXB1dGVkICkge1xuXHRcdFx0aWYgKCBjb21wdXRlZCApIHtcblx0XHRcdFx0Y29tcHV0ZWQgPSBjdXJDU1MoIGVsZW0sIHByb3AgKTtcblxuXHRcdFx0XHQvLyBJZiBjdXJDU1MgcmV0dXJucyBwZXJjZW50YWdlLCBmYWxsYmFjayB0byBvZmZzZXRcblx0XHRcdFx0cmV0dXJuIHJudW1ub25weC50ZXN0KCBjb21wdXRlZCApID9cblx0XHRcdFx0XHRqUXVlcnkoIGVsZW0gKS5wb3NpdGlvbigpWyBwcm9wIF0gKyBcInB4XCIgOlxuXHRcdFx0XHRcdGNvbXB1dGVkO1xuXHRcdFx0fVxuXHRcdH1cblx0KTtcbn0gKTtcblxuXG4vLyBDcmVhdGUgaW5uZXJIZWlnaHQsIGlubmVyV2lkdGgsIGhlaWdodCwgd2lkdGgsIG91dGVySGVpZ2h0IGFuZCBvdXRlcldpZHRoIG1ldGhvZHNcbmpRdWVyeS5lYWNoKCB7IEhlaWdodDogXCJoZWlnaHRcIiwgV2lkdGg6IFwid2lkdGhcIiB9LCBmdW5jdGlvbiggbmFtZSwgdHlwZSApIHtcblx0alF1ZXJ5LmVhY2goIHsgcGFkZGluZzogXCJpbm5lclwiICsgbmFtZSwgY29udGVudDogdHlwZSwgXCJcIjogXCJvdXRlclwiICsgbmFtZSB9LFxuXHRcdGZ1bmN0aW9uKCBkZWZhdWx0RXh0cmEsIGZ1bmNOYW1lICkge1xuXG5cdFx0Ly8gTWFyZ2luIGlzIG9ubHkgZm9yIG91dGVySGVpZ2h0LCBvdXRlcldpZHRoXG5cdFx0alF1ZXJ5LmZuWyBmdW5jTmFtZSBdID0gZnVuY3Rpb24oIG1hcmdpbiwgdmFsdWUgKSB7XG5cdFx0XHR2YXIgY2hhaW5hYmxlID0gYXJndW1lbnRzLmxlbmd0aCAmJiAoIGRlZmF1bHRFeHRyYSB8fCB0eXBlb2YgbWFyZ2luICE9PSBcImJvb2xlYW5cIiApLFxuXHRcdFx0XHRleHRyYSA9IGRlZmF1bHRFeHRyYSB8fCAoIG1hcmdpbiA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gdHJ1ZSA/IFwibWFyZ2luXCIgOiBcImJvcmRlclwiICk7XG5cblx0XHRcdHJldHVybiBhY2Nlc3MoIHRoaXMsIGZ1bmN0aW9uKCBlbGVtLCB0eXBlLCB2YWx1ZSApIHtcblx0XHRcdFx0dmFyIGRvYztcblxuXHRcdFx0XHRpZiAoIGlzV2luZG93KCBlbGVtICkgKSB7XG5cblx0XHRcdFx0XHQvLyAkKCB3aW5kb3cgKS5vdXRlcldpZHRoL0hlaWdodCByZXR1cm4gdy9oIGluY2x1ZGluZyBzY3JvbGxiYXJzIChnaC0xNzI5KVxuXHRcdFx0XHRcdHJldHVybiBmdW5jTmFtZS5pbmRleE9mKCBcIm91dGVyXCIgKSA9PT0gMCA/XG5cdFx0XHRcdFx0XHRlbGVtWyBcImlubmVyXCIgKyBuYW1lIF0gOlxuXHRcdFx0XHRcdFx0ZWxlbS5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbIFwiY2xpZW50XCIgKyBuYW1lIF07XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBHZXQgZG9jdW1lbnQgd2lkdGggb3IgaGVpZ2h0XG5cdFx0XHRcdGlmICggZWxlbS5ub2RlVHlwZSA9PT0gOSApIHtcblx0XHRcdFx0XHRkb2MgPSBlbGVtLmRvY3VtZW50RWxlbWVudDtcblxuXHRcdFx0XHRcdC8vIEVpdGhlciBzY3JvbGxbV2lkdGgvSGVpZ2h0XSBvciBvZmZzZXRbV2lkdGgvSGVpZ2h0XSBvciBjbGllbnRbV2lkdGgvSGVpZ2h0XSxcblx0XHRcdFx0XHQvLyB3aGljaGV2ZXIgaXMgZ3JlYXRlc3Rcblx0XHRcdFx0XHRyZXR1cm4gTWF0aC5tYXgoXG5cdFx0XHRcdFx0XHRlbGVtLmJvZHlbIFwic2Nyb2xsXCIgKyBuYW1lIF0sIGRvY1sgXCJzY3JvbGxcIiArIG5hbWUgXSxcblx0XHRcdFx0XHRcdGVsZW0uYm9keVsgXCJvZmZzZXRcIiArIG5hbWUgXSwgZG9jWyBcIm9mZnNldFwiICsgbmFtZSBdLFxuXHRcdFx0XHRcdFx0ZG9jWyBcImNsaWVudFwiICsgbmFtZSBdXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID9cblxuXHRcdFx0XHRcdC8vIEdldCB3aWR0aCBvciBoZWlnaHQgb24gdGhlIGVsZW1lbnQsIHJlcXVlc3RpbmcgYnV0IG5vdCBmb3JjaW5nIHBhcnNlRmxvYXRcblx0XHRcdFx0XHRqUXVlcnkuY3NzKCBlbGVtLCB0eXBlLCBleHRyYSApIDpcblxuXHRcdFx0XHRcdC8vIFNldCB3aWR0aCBvciBoZWlnaHQgb24gdGhlIGVsZW1lbnRcblx0XHRcdFx0XHRqUXVlcnkuc3R5bGUoIGVsZW0sIHR5cGUsIHZhbHVlLCBleHRyYSApO1xuXHRcdFx0fSwgdHlwZSwgY2hhaW5hYmxlID8gbWFyZ2luIDogdW5kZWZpbmVkLCBjaGFpbmFibGUgKTtcblx0XHR9O1xuXHR9ICk7XG59ICk7XG5cblxualF1ZXJ5LmVhY2goIFtcblx0XCJhamF4U3RhcnRcIixcblx0XCJhamF4U3RvcFwiLFxuXHRcImFqYXhDb21wbGV0ZVwiLFxuXHRcImFqYXhFcnJvclwiLFxuXHRcImFqYXhTdWNjZXNzXCIsXG5cdFwiYWpheFNlbmRcIlxuXSwgZnVuY3Rpb24oIF9pLCB0eXBlICkge1xuXHRqUXVlcnkuZm5bIHR5cGUgXSA9IGZ1bmN0aW9uKCBmbiApIHtcblx0XHRyZXR1cm4gdGhpcy5vbiggdHlwZSwgZm4gKTtcblx0fTtcbn0gKTtcblxuXG5cblxualF1ZXJ5LmZuLmV4dGVuZCgge1xuXG5cdGJpbmQ6IGZ1bmN0aW9uKCB0eXBlcywgZGF0YSwgZm4gKSB7XG5cdFx0cmV0dXJuIHRoaXMub24oIHR5cGVzLCBudWxsLCBkYXRhLCBmbiApO1xuXHR9LFxuXHR1bmJpbmQ6IGZ1bmN0aW9uKCB0eXBlcywgZm4gKSB7XG5cdFx0cmV0dXJuIHRoaXMub2ZmKCB0eXBlcywgbnVsbCwgZm4gKTtcblx0fSxcblxuXHRkZWxlZ2F0ZTogZnVuY3Rpb24oIHNlbGVjdG9yLCB0eXBlcywgZGF0YSwgZm4gKSB7XG5cdFx0cmV0dXJuIHRoaXMub24oIHR5cGVzLCBzZWxlY3RvciwgZGF0YSwgZm4gKTtcblx0fSxcblx0dW5kZWxlZ2F0ZTogZnVuY3Rpb24oIHNlbGVjdG9yLCB0eXBlcywgZm4gKSB7XG5cblx0XHQvLyAoIG5hbWVzcGFjZSApIG9yICggc2VsZWN0b3IsIHR5cGVzIFssIGZuXSApXG5cdFx0cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPT09IDEgP1xuXHRcdFx0dGhpcy5vZmYoIHNlbGVjdG9yLCBcIioqXCIgKSA6XG5cdFx0XHR0aGlzLm9mZiggdHlwZXMsIHNlbGVjdG9yIHx8IFwiKipcIiwgZm4gKTtcblx0fSxcblxuXHRob3ZlcjogZnVuY3Rpb24oIGZuT3ZlciwgZm5PdXQgKSB7XG5cdFx0cmV0dXJuIHRoaXMubW91c2VlbnRlciggZm5PdmVyICkubW91c2VsZWF2ZSggZm5PdXQgfHwgZm5PdmVyICk7XG5cdH1cbn0gKTtcblxualF1ZXJ5LmVhY2goICggXCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgcmVzaXplIHNjcm9sbCBjbGljayBkYmxjbGljayBcIiArXG5cdFwibW91c2Vkb3duIG1vdXNldXAgbW91c2Vtb3ZlIG1vdXNlb3ZlciBtb3VzZW91dCBtb3VzZWVudGVyIG1vdXNlbGVhdmUgXCIgK1xuXHRcImNoYW5nZSBzZWxlY3Qgc3VibWl0IGtleWRvd24ga2V5cHJlc3Mga2V5dXAgY29udGV4dG1lbnVcIiApLnNwbGl0KCBcIiBcIiApLFxuXHRmdW5jdGlvbiggX2ksIG5hbWUgKSB7XG5cblx0XHQvLyBIYW5kbGUgZXZlbnQgYmluZGluZ1xuXHRcdGpRdWVyeS5mblsgbmFtZSBdID0gZnVuY3Rpb24oIGRhdGEsIGZuICkge1xuXHRcdFx0cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPiAwID9cblx0XHRcdFx0dGhpcy5vbiggbmFtZSwgbnVsbCwgZGF0YSwgZm4gKSA6XG5cdFx0XHRcdHRoaXMudHJpZ2dlciggbmFtZSApO1xuXHRcdH07XG5cdH0gKTtcblxuXG5cblxuLy8gU3VwcG9ydDogQW5kcm9pZCA8PTQuMCBvbmx5XG4vLyBNYWtlIHN1cmUgd2UgdHJpbSBCT00gYW5kIE5CU1BcbnZhciBydHJpbSA9IC9eW1xcc1xcdUZFRkZcXHhBMF0rfFtcXHNcXHVGRUZGXFx4QTBdKyQvZztcblxuLy8gQmluZCBhIGZ1bmN0aW9uIHRvIGEgY29udGV4dCwgb3B0aW9uYWxseSBwYXJ0aWFsbHkgYXBwbHlpbmcgYW55XG4vLyBhcmd1bWVudHMuXG4vLyBqUXVlcnkucHJveHkgaXMgZGVwcmVjYXRlZCB0byBwcm9tb3RlIHN0YW5kYXJkcyAoc3BlY2lmaWNhbGx5IEZ1bmN0aW9uI2JpbmQpXG4vLyBIb3dldmVyLCBpdCBpcyBub3Qgc2xhdGVkIGZvciByZW1vdmFsIGFueSB0aW1lIHNvb25cbmpRdWVyeS5wcm94eSA9IGZ1bmN0aW9uKCBmbiwgY29udGV4dCApIHtcblx0dmFyIHRtcCwgYXJncywgcHJveHk7XG5cblx0aWYgKCB0eXBlb2YgY29udGV4dCA9PT0gXCJzdHJpbmdcIiApIHtcblx0XHR0bXAgPSBmblsgY29udGV4dCBdO1xuXHRcdGNvbnRleHQgPSBmbjtcblx0XHRmbiA9IHRtcDtcblx0fVxuXG5cdC8vIFF1aWNrIGNoZWNrIHRvIGRldGVybWluZSBpZiB0YXJnZXQgaXMgY2FsbGFibGUsIGluIHRoZSBzcGVjXG5cdC8vIHRoaXMgdGhyb3dzIGEgVHlwZUVycm9yLCBidXQgd2Ugd2lsbCBqdXN0IHJldHVybiB1bmRlZmluZWQuXG5cdGlmICggIWlzRnVuY3Rpb24oIGZuICkgKSB7XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdC8vIFNpbXVsYXRlZCBiaW5kXG5cdGFyZ3MgPSBzbGljZS5jYWxsKCBhcmd1bWVudHMsIDIgKTtcblx0cHJveHkgPSBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4gZm4uYXBwbHkoIGNvbnRleHQgfHwgdGhpcywgYXJncy5jb25jYXQoIHNsaWNlLmNhbGwoIGFyZ3VtZW50cyApICkgKTtcblx0fTtcblxuXHQvLyBTZXQgdGhlIGd1aWQgb2YgdW5pcXVlIGhhbmRsZXIgdG8gdGhlIHNhbWUgb2Ygb3JpZ2luYWwgaGFuZGxlciwgc28gaXQgY2FuIGJlIHJlbW92ZWRcblx0cHJveHkuZ3VpZCA9IGZuLmd1aWQgPSBmbi5ndWlkIHx8IGpRdWVyeS5ndWlkKys7XG5cblx0cmV0dXJuIHByb3h5O1xufTtcblxualF1ZXJ5LmhvbGRSZWFkeSA9IGZ1bmN0aW9uKCBob2xkICkge1xuXHRpZiAoIGhvbGQgKSB7XG5cdFx0alF1ZXJ5LnJlYWR5V2FpdCsrO1xuXHR9IGVsc2Uge1xuXHRcdGpRdWVyeS5yZWFkeSggdHJ1ZSApO1xuXHR9XG59O1xualF1ZXJ5LmlzQXJyYXkgPSBBcnJheS5pc0FycmF5O1xualF1ZXJ5LnBhcnNlSlNPTiA9IEpTT04ucGFyc2U7XG5qUXVlcnkubm9kZU5hbWUgPSBub2RlTmFtZTtcbmpRdWVyeS5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjtcbmpRdWVyeS5pc1dpbmRvdyA9IGlzV2luZG93O1xualF1ZXJ5LmNhbWVsQ2FzZSA9IGNhbWVsQ2FzZTtcbmpRdWVyeS50eXBlID0gdG9UeXBlO1xuXG5qUXVlcnkubm93ID0gRGF0ZS5ub3c7XG5cbmpRdWVyeS5pc051bWVyaWMgPSBmdW5jdGlvbiggb2JqICkge1xuXG5cdC8vIEFzIG9mIGpRdWVyeSAzLjAsIGlzTnVtZXJpYyBpcyBsaW1pdGVkIHRvXG5cdC8vIHN0cmluZ3MgYW5kIG51bWJlcnMgKHByaW1pdGl2ZXMgb3Igb2JqZWN0cylcblx0Ly8gdGhhdCBjYW4gYmUgY29lcmNlZCB0byBmaW5pdGUgbnVtYmVycyAoZ2gtMjY2Milcblx0dmFyIHR5cGUgPSBqUXVlcnkudHlwZSggb2JqICk7XG5cdHJldHVybiAoIHR5cGUgPT09IFwibnVtYmVyXCIgfHwgdHlwZSA9PT0gXCJzdHJpbmdcIiApICYmXG5cblx0XHQvLyBwYXJzZUZsb2F0IE5hTnMgbnVtZXJpYy1jYXN0IGZhbHNlIHBvc2l0aXZlcyAoXCJcIilcblx0XHQvLyAuLi5idXQgbWlzaW50ZXJwcmV0cyBsZWFkaW5nLW51bWJlciBzdHJpbmdzLCBwYXJ0aWN1bGFybHkgaGV4IGxpdGVyYWxzIChcIjB4Li4uXCIpXG5cdFx0Ly8gc3VidHJhY3Rpb24gZm9yY2VzIGluZmluaXRpZXMgdG8gTmFOXG5cdFx0IWlzTmFOKCBvYmogLSBwYXJzZUZsb2F0KCBvYmogKSApO1xufTtcblxualF1ZXJ5LnRyaW0gPSBmdW5jdGlvbiggdGV4dCApIHtcblx0cmV0dXJuIHRleHQgPT0gbnVsbCA/XG5cdFx0XCJcIiA6XG5cdFx0KCB0ZXh0ICsgXCJcIiApLnJlcGxhY2UoIHJ0cmltLCBcIlwiICk7XG59O1xuXG5cblxuLy8gUmVnaXN0ZXIgYXMgYSBuYW1lZCBBTUQgbW9kdWxlLCBzaW5jZSBqUXVlcnkgY2FuIGJlIGNvbmNhdGVuYXRlZCB3aXRoIG90aGVyXG4vLyBmaWxlcyB0aGF0IG1heSB1c2UgZGVmaW5lLCBidXQgbm90IHZpYSBhIHByb3BlciBjb25jYXRlbmF0aW9uIHNjcmlwdCB0aGF0XG4vLyB1bmRlcnN0YW5kcyBhbm9ueW1vdXMgQU1EIG1vZHVsZXMuIEEgbmFtZWQgQU1EIGlzIHNhZmVzdCBhbmQgbW9zdCByb2J1c3Rcbi8vIHdheSB0byByZWdpc3Rlci4gTG93ZXJjYXNlIGpxdWVyeSBpcyB1c2VkIGJlY2F1c2UgQU1EIG1vZHVsZSBuYW1lcyBhcmVcbi8vIGRlcml2ZWQgZnJvbSBmaWxlIG5hbWVzLCBhbmQgalF1ZXJ5IGlzIG5vcm1hbGx5IGRlbGl2ZXJlZCBpbiBhIGxvd2VyY2FzZVxuLy8gZmlsZSBuYW1lLiBEbyB0aGlzIGFmdGVyIGNyZWF0aW5nIHRoZSBnbG9iYWwgc28gdGhhdCBpZiBhbiBBTUQgbW9kdWxlIHdhbnRzXG4vLyB0byBjYWxsIG5vQ29uZmxpY3QgdG8gaGlkZSB0aGlzIHZlcnNpb24gb2YgalF1ZXJ5LCBpdCB3aWxsIHdvcmsuXG5cbi8vIE5vdGUgdGhhdCBmb3IgbWF4aW11bSBwb3J0YWJpbGl0eSwgbGlicmFyaWVzIHRoYXQgYXJlIG5vdCBqUXVlcnkgc2hvdWxkXG4vLyBkZWNsYXJlIHRoZW1zZWx2ZXMgYXMgYW5vbnltb3VzIG1vZHVsZXMsIGFuZCBhdm9pZCBzZXR0aW5nIGEgZ2xvYmFsIGlmIGFuXG4vLyBBTUQgbG9hZGVyIGlzIHByZXNlbnQuIGpRdWVyeSBpcyBhIHNwZWNpYWwgY2FzZS4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2pyYnVya2UvcmVxdWlyZWpzL3dpa2kvVXBkYXRpbmctZXhpc3RpbmctbGlicmFyaWVzI3dpa2ktYW5vblxuXG5pZiAoIHR5cGVvZiBkZWZpbmUgPT09IFwiZnVuY3Rpb25cIiAmJiBkZWZpbmUuYW1kICkge1xuXHRkZWZpbmUoIFwianF1ZXJ5XCIsIFtdLCBmdW5jdGlvbigpIHtcblx0XHRyZXR1cm4galF1ZXJ5O1xuXHR9ICk7XG59XG5cblxuXG5cbnZhclxuXG5cdC8vIE1hcCBvdmVyIGpRdWVyeSBpbiBjYXNlIG9mIG92ZXJ3cml0ZVxuXHRfalF1ZXJ5ID0gd2luZG93LmpRdWVyeSxcblxuXHQvLyBNYXAgb3ZlciB0aGUgJCBpbiBjYXNlIG9mIG92ZXJ3cml0ZVxuXHRfJCA9IHdpbmRvdy4kO1xuXG5qUXVlcnkubm9Db25mbGljdCA9IGZ1bmN0aW9uKCBkZWVwICkge1xuXHRpZiAoIHdpbmRvdy4kID09PSBqUXVlcnkgKSB7XG5cdFx0d2luZG93LiQgPSBfJDtcblx0fVxuXG5cdGlmICggZGVlcCAmJiB3aW5kb3cualF1ZXJ5ID09PSBqUXVlcnkgKSB7XG5cdFx0d2luZG93LmpRdWVyeSA9IF9qUXVlcnk7XG5cdH1cblxuXHRyZXR1cm4galF1ZXJ5O1xufTtcblxuLy8gRXhwb3NlIGpRdWVyeSBhbmQgJCBpZGVudGlmaWVycywgZXZlbiBpbiBBTURcbi8vICgjNzEwMiNjb21tZW50OjEwLCBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9wdWxsLzU1Nylcbi8vIGFuZCBDb21tb25KUyBmb3IgYnJvd3NlciBlbXVsYXRvcnMgKCMxMzU2NilcbmlmICggdHlwZW9mIG5vR2xvYmFsID09PSBcInVuZGVmaW5lZFwiICkge1xuXHR3aW5kb3cualF1ZXJ5ID0gd2luZG93LiQgPSBqUXVlcnk7XG59XG5cblxuXG5cbnJldHVybiBqUXVlcnk7XG59ICk7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/jquery/dist/jquery.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/lodash/lodash.js\":\n/*!***************************************!*\\\n  !*** ./node_modules/lodash/lodash.js ***!\n  \\***************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"/* WEBPACK VAR INJECTION */(function(global, module) {var __WEBPACK_AMD_DEFINE_RESULT__;/**\\n * @license\\n * Lodash <https://lodash.com/>\\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\\n * Released under MIT license <https://lodash.com/license>\\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\\n */\\n;(function() {\\n\\n  /** Used as a safe reference for `undefined` in pre-ES5 environments. */\\n  var undefined;\\n\\n  /** Used as the semantic version number. */\\n  var VERSION = '4.17.15';\\n\\n  /** Used as the size to enable large array optimizations. */\\n  var LARGE_ARRAY_SIZE = 200;\\n\\n  /** Error message constants. */\\n  var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\\n      FUNC_ERROR_TEXT = 'Expected a function';\\n\\n  /** Used to stand-in for `undefined` hash values. */\\n  var HASH_UNDEFINED = '__lodash_hash_undefined__';\\n\\n  /** Used as the maximum memoize cache size. */\\n  var MAX_MEMOIZE_SIZE = 500;\\n\\n  /** Used as the internal argument placeholder. */\\n  var PLACEHOLDER = '__lodash_placeholder__';\\n\\n  /** Used to compose bitmasks for cloning. */\\n  var CLONE_DEEP_FLAG = 1,\\n      CLONE_FLAT_FLAG = 2,\\n      CLONE_SYMBOLS_FLAG = 4;\\n\\n  /** Used to compose bitmasks for value comparisons. */\\n  var COMPARE_PARTIAL_FLAG = 1,\\n      COMPARE_UNORDERED_FLAG = 2;\\n\\n  /** Used to compose bitmasks for function metadata. */\\n  var WRAP_BIND_FLAG = 1,\\n      WRAP_BIND_KEY_FLAG = 2,\\n      WRAP_CURRY_BOUND_FLAG = 4,\\n      WRAP_CURRY_FLAG = 8,\\n      WRAP_CURRY_RIGHT_FLAG = 16,\\n      WRAP_PARTIAL_FLAG = 32,\\n      WRAP_PARTIAL_RIGHT_FLAG = 64,\\n      WRAP_ARY_FLAG = 128,\\n      WRAP_REARG_FLAG = 256,\\n      WRAP_FLIP_FLAG = 512;\\n\\n  /** Used as default options for `_.truncate`. */\\n  var DEFAULT_TRUNC_LENGTH = 30,\\n      DEFAULT_TRUNC_OMISSION = '...';\\n\\n  /** Used to detect hot functions by number of calls within a span of milliseconds. */\\n  var HOT_COUNT = 800,\\n      HOT_SPAN = 16;\\n\\n  /** Used to indicate the type of lazy iteratees. */\\n  var LAZY_FILTER_FLAG = 1,\\n      LAZY_MAP_FLAG = 2,\\n      LAZY_WHILE_FLAG = 3;\\n\\n  /** Used as references for various `Number` constants. */\\n  var INFINITY = 1 / 0,\\n      MAX_SAFE_INTEGER = 9007199254740991,\\n      MAX_INTEGER = 1.7976931348623157e+308,\\n      NAN = 0 / 0;\\n\\n  /** Used as references for the maximum length and index of an array. */\\n  var MAX_ARRAY_LENGTH = 4294967295,\\n      MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\\n      HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\\n\\n  /** Used to associate wrap methods with their bit flags. */\\n  var wrapFlags = [\\n    ['ary', WRAP_ARY_FLAG],\\n    ['bind', WRAP_BIND_FLAG],\\n    ['bindKey', WRAP_BIND_KEY_FLAG],\\n    ['curry', WRAP_CURRY_FLAG],\\n    ['curryRight', WRAP_CURRY_RIGHT_FLAG],\\n    ['flip', WRAP_FLIP_FLAG],\\n    ['partial', WRAP_PARTIAL_FLAG],\\n    ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\\n    ['rearg', WRAP_REARG_FLAG]\\n  ];\\n\\n  /** `Object#toString` result references. */\\n  var argsTag = '[object Arguments]',\\n      arrayTag = '[object Array]',\\n      asyncTag = '[object AsyncFunction]',\\n      boolTag = '[object Boolean]',\\n      dateTag = '[object Date]',\\n      domExcTag = '[object DOMException]',\\n      errorTag = '[object Error]',\\n      funcTag = '[object Function]',\\n      genTag = '[object GeneratorFunction]',\\n      mapTag = '[object Map]',\\n      numberTag = '[object Number]',\\n      nullTag = '[object Null]',\\n      objectTag = '[object Object]',\\n      promiseTag = '[object Promise]',\\n      proxyTag = '[object Proxy]',\\n      regexpTag = '[object RegExp]',\\n      setTag = '[object Set]',\\n      stringTag = '[object String]',\\n      symbolTag = '[object Symbol]',\\n      undefinedTag = '[object Undefined]',\\n      weakMapTag = '[object WeakMap]',\\n      weakSetTag = '[object WeakSet]';\\n\\n  var arrayBufferTag = '[object ArrayBuffer]',\\n      dataViewTag = '[object DataView]',\\n      float32Tag = '[object Float32Array]',\\n      float64Tag = '[object Float64Array]',\\n      int8Tag = '[object Int8Array]',\\n      int16Tag = '[object Int16Array]',\\n      int32Tag = '[object Int32Array]',\\n      uint8Tag = '[object Uint8Array]',\\n      uint8ClampedTag = '[object Uint8ClampedArray]',\\n      uint16Tag = '[object Uint16Array]',\\n      uint32Tag = '[object Uint32Array]';\\n\\n  /** Used to match empty string literals in compiled template source. */\\n  var reEmptyStringLeading = /\\\\b__p \\\\+= '';/g,\\n      reEmptyStringMiddle = /\\\\b(__p \\\\+=) '' \\\\+/g,\\n      reEmptyStringTrailing = /(__e\\\\(.*?\\\\)|\\\\b__t\\\\)) \\\\+\\\\n'';/g;\\n\\n  /** Used to match HTML entities and HTML characters. */\\n  var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\\n      reUnescapedHtml = /[&<>\\\"']/g,\\n      reHasEscapedHtml = RegExp(reEscapedHtml.source),\\n      reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\\n\\n  /** Used to match template delimiters. */\\n  var reEscape = /<%-([\\\\s\\\\S]+?)%>/g,\\n      reEvaluate = /<%([\\\\s\\\\S]+?)%>/g,\\n      reInterpolate = /<%=([\\\\s\\\\S]+?)%>/g;\\n\\n  /** Used to match property names within property paths. */\\n  var reIsDeepProp = /\\\\.|\\\\[(?:[^[\\\\]]*|([\\\"'])(?:(?!\\\\1)[^\\\\\\\\]|\\\\\\\\.)*?\\\\1)\\\\]/,\\n      reIsPlainProp = /^\\\\w*$/,\\n      rePropName = /[^.[\\\\]]+|\\\\[(?:(-?\\\\d+(?:\\\\.\\\\d+)?)|([\\\"'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))/g;\\n\\n  /**\\n   * Used to match `RegExp`\\n   * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\\n   */\\n  var reRegExpChar = /[\\\\\\\\^$.*+?()[\\\\]{}|]/g,\\n      reHasRegExpChar = RegExp(reRegExpChar.source);\\n\\n  /** Used to match leading and trailing whitespace. */\\n  var reTrim = /^\\\\s+|\\\\s+$/g,\\n      reTrimStart = /^\\\\s+/,\\n      reTrimEnd = /\\\\s+$/;\\n\\n  /** Used to match wrap detail comments. */\\n  var reWrapComment = /\\\\{(?:\\\\n\\\\/\\\\* \\\\[wrapped with .+\\\\] \\\\*\\\\/)?\\\\n?/,\\n      reWrapDetails = /\\\\{\\\\n\\\\/\\\\* \\\\[wrapped with (.+)\\\\] \\\\*/,\\n      reSplitDetails = /,? & /;\\n\\n  /** Used to match words composed of alphanumeric characters. */\\n  var reAsciiWord = /[^\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\x7f]+/g;\\n\\n  /** Used to match backslashes in property paths. */\\n  var reEscapeChar = /\\\\\\\\(\\\\\\\\)?/g;\\n\\n  /**\\n   * Used to match\\n   * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\\n   */\\n  var reEsTemplate = /\\\\$\\\\{([^\\\\\\\\}]*(?:\\\\\\\\.[^\\\\\\\\}]*)*)\\\\}/g;\\n\\n  /** Used to match `RegExp` flags from their coerced string values. */\\n  var reFlags = /\\\\w*$/;\\n\\n  /** Used to detect bad signed hexadecimal string values. */\\n  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\\n\\n  /** Used to detect binary string values. */\\n  var reIsBinary = /^0b[01]+$/i;\\n\\n  /** Used to detect host constructors (Safari). */\\n  var reIsHostCtor = /^\\\\[object .+?Constructor\\\\]$/;\\n\\n  /** Used to detect octal string values. */\\n  var reIsOctal = /^0o[0-7]+$/i;\\n\\n  /** Used to detect unsigned integer values. */\\n  var reIsUint = /^(?:0|[1-9]\\\\d*)$/;\\n\\n  /** Used to match Latin Unicode letters (excluding mathematical operators). */\\n  var reLatin = /[\\\\xc0-\\\\xd6\\\\xd8-\\\\xf6\\\\xf8-\\\\xff\\\\u0100-\\\\u017f]/g;\\n\\n  /** Used to ensure capturing order of template delimiters. */\\n  var reNoMatch = /($^)/;\\n\\n  /** Used to match unescaped characters in compiled string literals. */\\n  var reUnescapedString = /['\\\\n\\\\r\\\\u2028\\\\u2029\\\\\\\\]/g;\\n\\n  /** Used to compose unicode character classes. */\\n  var rsAstralRange = '\\\\\\\\ud800-\\\\\\\\udfff',\\n      rsComboMarksRange = '\\\\\\\\u0300-\\\\\\\\u036f',\\n      reComboHalfMarksRange = '\\\\\\\\ufe20-\\\\\\\\ufe2f',\\n      rsComboSymbolsRange = '\\\\\\\\u20d0-\\\\\\\\u20ff',\\n      rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\\n      rsDingbatRange = '\\\\\\\\u2700-\\\\\\\\u27bf',\\n      rsLowerRange = 'a-z\\\\\\\\xdf-\\\\\\\\xf6\\\\\\\\xf8-\\\\\\\\xff',\\n      rsMathOpRange = '\\\\\\\\xac\\\\\\\\xb1\\\\\\\\xd7\\\\\\\\xf7',\\n      rsNonCharRange = '\\\\\\\\x00-\\\\\\\\x2f\\\\\\\\x3a-\\\\\\\\x40\\\\\\\\x5b-\\\\\\\\x60\\\\\\\\x7b-\\\\\\\\xbf',\\n      rsPunctuationRange = '\\\\\\\\u2000-\\\\\\\\u206f',\\n      rsSpaceRange = ' \\\\\\\\t\\\\\\\\x0b\\\\\\\\f\\\\\\\\xa0\\\\\\\\ufeff\\\\\\\\n\\\\\\\\r\\\\\\\\u2028\\\\\\\\u2029\\\\\\\\u1680\\\\\\\\u180e\\\\\\\\u2000\\\\\\\\u2001\\\\\\\\u2002\\\\\\\\u2003\\\\\\\\u2004\\\\\\\\u2005\\\\\\\\u2006\\\\\\\\u2007\\\\\\\\u2008\\\\\\\\u2009\\\\\\\\u200a\\\\\\\\u202f\\\\\\\\u205f\\\\\\\\u3000',\\n      rsUpperRange = 'A-Z\\\\\\\\xc0-\\\\\\\\xd6\\\\\\\\xd8-\\\\\\\\xde',\\n      rsVarRange = '\\\\\\\\ufe0e\\\\\\\\ufe0f',\\n      rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\\n\\n  /** Used to compose unicode capture groups. */\\n  var rsApos = \\\"['\\\\u2019]\\\",\\n      rsAstral = '[' + rsAstralRange + ']',\\n      rsBreak = '[' + rsBreakRange + ']',\\n      rsCombo = '[' + rsComboRange + ']',\\n      rsDigits = '\\\\\\\\d+',\\n      rsDingbat = '[' + rsDingbatRange + ']',\\n      rsLower = '[' + rsLowerRange + ']',\\n      rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\\n      rsFitz = '\\\\\\\\ud83c[\\\\\\\\udffb-\\\\\\\\udfff]',\\n      rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\\n      rsNonAstral = '[^' + rsAstralRange + ']',\\n      rsRegional = '(?:\\\\\\\\ud83c[\\\\\\\\udde6-\\\\\\\\uddff]){2}',\\n      rsSurrPair = '[\\\\\\\\ud800-\\\\\\\\udbff][\\\\\\\\udc00-\\\\\\\\udfff]',\\n      rsUpper = '[' + rsUpperRange + ']',\\n      rsZWJ = '\\\\\\\\u200d';\\n\\n  /** Used to compose unicode regexes. */\\n  var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\\n      rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\\n      rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\\n      rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\\n      reOptMod = rsModifier + '?',\\n      rsOptVar = '[' + rsVarRange + ']?',\\n      rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\\n      rsOrdLower = '\\\\\\\\d*(?:1st|2nd|3rd|(?![123])\\\\\\\\dth)(?=\\\\\\\\b|[A-Z_])',\\n      rsOrdUpper = '\\\\\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\\\\\dTH)(?=\\\\\\\\b|[a-z_])',\\n      rsSeq = rsOptVar + reOptMod + rsOptJoin,\\n      rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\\n      rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\\n\\n  /** Used to match apostrophes. */\\n  var reApos = RegExp(rsApos, 'g');\\n\\n  /**\\n   * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\\n   * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\\n   */\\n  var reComboMark = RegExp(rsCombo, 'g');\\n\\n  /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\\n  var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\\n\\n  /** Used to match complex or compound words. */\\n  var reUnicodeWord = RegExp([\\n    rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\\n    rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\\n    rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\\n    rsUpper + '+' + rsOptContrUpper,\\n    rsOrdUpper,\\n    rsOrdLower,\\n    rsDigits,\\n    rsEmoji\\n  ].join('|'), 'g');\\n\\n  /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\\n  var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange  + rsComboRange + rsVarRange + ']');\\n\\n  /** Used to detect strings that need a more robust regexp to match words. */\\n  var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\\n\\n  /** Used to assign default `context` object properties. */\\n  var contextProps = [\\n    'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\\n    'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\\n    'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\\n    'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\\n    '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\\n  ];\\n\\n  /** Used to make template sourceURLs easier to identify. */\\n  var templateCounter = -1;\\n\\n  /** Used to identify `toStringTag` values of typed arrays. */\\n  var typedArrayTags = {};\\n  typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\\n  typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\\n  typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\\n  typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\\n  typedArrayTags[uint32Tag] = true;\\n  typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\\n  typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\\n  typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\\n  typedArrayTags[errorTag] = typedArrayTags[funcTag] =\\n  typedArrayTags[mapTag] = typedArrayTags[numberTag] =\\n  typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\\n  typedArrayTags[setTag] = typedArrayTags[stringTag] =\\n  typedArrayTags[weakMapTag] = false;\\n\\n  /** Used to identify `toStringTag` values supported by `_.clone`. */\\n  var cloneableTags = {};\\n  cloneableTags[argsTag] = cloneableTags[arrayTag] =\\n  cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\\n  cloneableTags[boolTag] = cloneableTags[dateTag] =\\n  cloneableTags[float32Tag] = cloneableTags[float64Tag] =\\n  cloneableTags[int8Tag] = cloneableTags[int16Tag] =\\n  cloneableTags[int32Tag] = cloneableTags[mapTag] =\\n  cloneableTags[numberTag] = cloneableTags[objectTag] =\\n  cloneableTags[regexpTag] = cloneableTags[setTag] =\\n  cloneableTags[stringTag] = cloneableTags[symbolTag] =\\n  cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\\n  cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\\n  cloneableTags[errorTag] = cloneableTags[funcTag] =\\n  cloneableTags[weakMapTag] = false;\\n\\n  /** Used to map Latin Unicode letters to basic Latin letters. */\\n  var deburredLetters = {\\n    // Latin-1 Supplement block.\\n    '\\\\xc0': 'A',  '\\\\xc1': 'A', '\\\\xc2': 'A', '\\\\xc3': 'A', '\\\\xc4': 'A', '\\\\xc5': 'A',\\n    '\\\\xe0': 'a',  '\\\\xe1': 'a', '\\\\xe2': 'a', '\\\\xe3': 'a', '\\\\xe4': 'a', '\\\\xe5': 'a',\\n    '\\\\xc7': 'C',  '\\\\xe7': 'c',\\n    '\\\\xd0': 'D',  '\\\\xf0': 'd',\\n    '\\\\xc8': 'E',  '\\\\xc9': 'E', '\\\\xca': 'E', '\\\\xcb': 'E',\\n    '\\\\xe8': 'e',  '\\\\xe9': 'e', '\\\\xea': 'e', '\\\\xeb': 'e',\\n    '\\\\xcc': 'I',  '\\\\xcd': 'I', '\\\\xce': 'I', '\\\\xcf': 'I',\\n    '\\\\xec': 'i',  '\\\\xed': 'i', '\\\\xee': 'i', '\\\\xef': 'i',\\n    '\\\\xd1': 'N',  '\\\\xf1': 'n',\\n    '\\\\xd2': 'O',  '\\\\xd3': 'O', '\\\\xd4': 'O', '\\\\xd5': 'O', '\\\\xd6': 'O', '\\\\xd8': 'O',\\n    '\\\\xf2': 'o',  '\\\\xf3': 'o', '\\\\xf4': 'o', '\\\\xf5': 'o', '\\\\xf6': 'o', '\\\\xf8': 'o',\\n    '\\\\xd9': 'U',  '\\\\xda': 'U', '\\\\xdb': 'U', '\\\\xdc': 'U',\\n    '\\\\xf9': 'u',  '\\\\xfa': 'u', '\\\\xfb': 'u', '\\\\xfc': 'u',\\n    '\\\\xdd': 'Y',  '\\\\xfd': 'y', '\\\\xff': 'y',\\n    '\\\\xc6': 'Ae', '\\\\xe6': 'ae',\\n    '\\\\xde': 'Th', '\\\\xfe': 'th',\\n    '\\\\xdf': 'ss',\\n    // Latin Extended-A block.\\n    '\\\\u0100': 'A',  '\\\\u0102': 'A', '\\\\u0104': 'A',\\n    '\\\\u0101': 'a',  '\\\\u0103': 'a', '\\\\u0105': 'a',\\n    '\\\\u0106': 'C',  '\\\\u0108': 'C', '\\\\u010a': 'C', '\\\\u010c': 'C',\\n    '\\\\u0107': 'c',  '\\\\u0109': 'c', '\\\\u010b': 'c', '\\\\u010d': 'c',\\n    '\\\\u010e': 'D',  '\\\\u0110': 'D', '\\\\u010f': 'd', '\\\\u0111': 'd',\\n    '\\\\u0112': 'E',  '\\\\u0114': 'E', '\\\\u0116': 'E', '\\\\u0118': 'E', '\\\\u011a': 'E',\\n    '\\\\u0113': 'e',  '\\\\u0115': 'e', '\\\\u0117': 'e', '\\\\u0119': 'e', '\\\\u011b': 'e',\\n    '\\\\u011c': 'G',  '\\\\u011e': 'G', '\\\\u0120': 'G', '\\\\u0122': 'G',\\n    '\\\\u011d': 'g',  '\\\\u011f': 'g', '\\\\u0121': 'g', '\\\\u0123': 'g',\\n    '\\\\u0124': 'H',  '\\\\u0126': 'H', '\\\\u0125': 'h', '\\\\u0127': 'h',\\n    '\\\\u0128': 'I',  '\\\\u012a': 'I', '\\\\u012c': 'I', '\\\\u012e': 'I', '\\\\u0130': 'I',\\n    '\\\\u0129': 'i',  '\\\\u012b': 'i', '\\\\u012d': 'i', '\\\\u012f': 'i', '\\\\u0131': 'i',\\n    '\\\\u0134': 'J',  '\\\\u0135': 'j',\\n    '\\\\u0136': 'K',  '\\\\u0137': 'k', '\\\\u0138': 'k',\\n    '\\\\u0139': 'L',  '\\\\u013b': 'L', '\\\\u013d': 'L', '\\\\u013f': 'L', '\\\\u0141': 'L',\\n    '\\\\u013a': 'l',  '\\\\u013c': 'l', '\\\\u013e': 'l', '\\\\u0140': 'l', '\\\\u0142': 'l',\\n    '\\\\u0143': 'N',  '\\\\u0145': 'N', '\\\\u0147': 'N', '\\\\u014a': 'N',\\n    '\\\\u0144': 'n',  '\\\\u0146': 'n', '\\\\u0148': 'n', '\\\\u014b': 'n',\\n    '\\\\u014c': 'O',  '\\\\u014e': 'O', '\\\\u0150': 'O',\\n    '\\\\u014d': 'o',  '\\\\u014f': 'o', '\\\\u0151': 'o',\\n    '\\\\u0154': 'R',  '\\\\u0156': 'R', '\\\\u0158': 'R',\\n    '\\\\u0155': 'r',  '\\\\u0157': 'r', '\\\\u0159': 'r',\\n    '\\\\u015a': 'S',  '\\\\u015c': 'S', '\\\\u015e': 'S', '\\\\u0160': 'S',\\n    '\\\\u015b': 's',  '\\\\u015d': 's', '\\\\u015f': 's', '\\\\u0161': 's',\\n    '\\\\u0162': 'T',  '\\\\u0164': 'T', '\\\\u0166': 'T',\\n    '\\\\u0163': 't',  '\\\\u0165': 't', '\\\\u0167': 't',\\n    '\\\\u0168': 'U',  '\\\\u016a': 'U', '\\\\u016c': 'U', '\\\\u016e': 'U', '\\\\u0170': 'U', '\\\\u0172': 'U',\\n    '\\\\u0169': 'u',  '\\\\u016b': 'u', '\\\\u016d': 'u', '\\\\u016f': 'u', '\\\\u0171': 'u', '\\\\u0173': 'u',\\n    '\\\\u0174': 'W',  '\\\\u0175': 'w',\\n    '\\\\u0176': 'Y',  '\\\\u0177': 'y', '\\\\u0178': 'Y',\\n    '\\\\u0179': 'Z',  '\\\\u017b': 'Z', '\\\\u017d': 'Z',\\n    '\\\\u017a': 'z',  '\\\\u017c': 'z', '\\\\u017e': 'z',\\n    '\\\\u0132': 'IJ', '\\\\u0133': 'ij',\\n    '\\\\u0152': 'Oe', '\\\\u0153': 'oe',\\n    '\\\\u0149': \\\"'n\\\", '\\\\u017f': 's'\\n  };\\n\\n  /** Used to map characters to HTML entities. */\\n  var htmlEscapes = {\\n    '&': '&amp;',\\n    '<': '&lt;',\\n    '>': '&gt;',\\n    '\\\"': '&quot;',\\n    \\\"'\\\": '&#39;'\\n  };\\n\\n  /** Used to map HTML entities to characters. */\\n  var htmlUnescapes = {\\n    '&amp;': '&',\\n    '&lt;': '<',\\n    '&gt;': '>',\\n    '&quot;': '\\\"',\\n    '&#39;': \\\"'\\\"\\n  };\\n\\n  /** Used to escape characters for inclusion in compiled string literals. */\\n  var stringEscapes = {\\n    '\\\\\\\\': '\\\\\\\\',\\n    \\\"'\\\": \\\"'\\\",\\n    '\\\\n': 'n',\\n    '\\\\r': 'r',\\n    '\\\\u2028': 'u2028',\\n    '\\\\u2029': 'u2029'\\n  };\\n\\n  /** Built-in method references without a dependency on `root`. */\\n  var freeParseFloat = parseFloat,\\n      freeParseInt = parseInt;\\n\\n  /** Detect free variable `global` from Node.js. */\\n  var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\\n\\n  /** Detect free variable `self`. */\\n  var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\\n\\n  /** Used as a reference to the global object. */\\n  var root = freeGlobal || freeSelf || Function('return this')();\\n\\n  /** Detect free variable `exports`. */\\n  var freeExports =  true && exports && !exports.nodeType && exports;\\n\\n  /** Detect free variable `module`. */\\n  var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\\n\\n  /** Detect the popular CommonJS extension `module.exports`. */\\n  var moduleExports = freeModule && freeModule.exports === freeExports;\\n\\n  /** Detect free variable `process` from Node.js. */\\n  var freeProcess = moduleExports && freeGlobal.process;\\n\\n  /** Used to access faster Node.js helpers. */\\n  var nodeUtil = (function() {\\n    try {\\n      // Use `util.types` for Node.js 10+.\\n      var types = freeModule && freeModule.require && freeModule.require('util').types;\\n\\n      if (types) {\\n        return types;\\n      }\\n\\n      // Legacy `process.binding('util')` for Node.js < 10.\\n      return freeProcess && freeProcess.binding && freeProcess.binding('util');\\n    } catch (e) {}\\n  }());\\n\\n  /* Node.js helper references. */\\n  var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\\n      nodeIsDate = nodeUtil && nodeUtil.isDate,\\n      nodeIsMap = nodeUtil && nodeUtil.isMap,\\n      nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\\n      nodeIsSet = nodeUtil && nodeUtil.isSet,\\n      nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\\n\\n  /*--------------------------------------------------------------------------*/\\n\\n  /**\\n   * A faster alternative to `Function#apply`, this function invokes `func`\\n   * with the `this` binding of `thisArg` and the arguments of `args`.\\n   *\\n   * @private\\n   * @param {Function} func The function to invoke.\\n   * @param {*} thisArg The `this` binding of `func`.\\n   * @param {Array} args The arguments to invoke `func` with.\\n   * @returns {*} Returns the result of `func`.\\n   */\\n  function apply(func, thisArg, args) {\\n    switch (args.length) {\\n      case 0: return func.call(thisArg);\\n      case 1: return func.call(thisArg, args[0]);\\n      case 2: return func.call(thisArg, args[0], args[1]);\\n      case 3: return func.call(thisArg, args[0], args[1], args[2]);\\n    }\\n    return func.apply(thisArg, args);\\n  }\\n\\n  /**\\n   * A specialized version of `baseAggregator` for arrays.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} setter The function to set `accumulator` values.\\n   * @param {Function} iteratee The iteratee to transform keys.\\n   * @param {Object} accumulator The initial aggregated object.\\n   * @returns {Function} Returns `accumulator`.\\n   */\\n  function arrayAggregator(array, setter, iteratee, accumulator) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length;\\n\\n    while (++index < length) {\\n      var value = array[index];\\n      setter(accumulator, value, iteratee(value), array);\\n    }\\n    return accumulator;\\n  }\\n\\n  /**\\n   * A specialized version of `_.forEach` for arrays without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @returns {Array} Returns `array`.\\n   */\\n  function arrayEach(array, iteratee) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length;\\n\\n    while (++index < length) {\\n      if (iteratee(array[index], index, array) === false) {\\n        break;\\n      }\\n    }\\n    return array;\\n  }\\n\\n  /**\\n   * A specialized version of `_.forEachRight` for arrays without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @returns {Array} Returns `array`.\\n   */\\n  function arrayEachRight(array, iteratee) {\\n    var length = array == null ? 0 : array.length;\\n\\n    while (length--) {\\n      if (iteratee(array[length], length, array) === false) {\\n        break;\\n      }\\n    }\\n    return array;\\n  }\\n\\n  /**\\n   * A specialized version of `_.every` for arrays without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} predicate The function invoked per iteration.\\n   * @returns {boolean} Returns `true` if all elements pass the predicate check,\\n   *  else `false`.\\n   */\\n  function arrayEvery(array, predicate) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length;\\n\\n    while (++index < length) {\\n      if (!predicate(array[index], index, array)) {\\n        return false;\\n      }\\n    }\\n    return true;\\n  }\\n\\n  /**\\n   * A specialized version of `_.filter` for arrays without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} predicate The function invoked per iteration.\\n   * @returns {Array} Returns the new filtered array.\\n   */\\n  function arrayFilter(array, predicate) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length,\\n        resIndex = 0,\\n        result = [];\\n\\n    while (++index < length) {\\n      var value = array[index];\\n      if (predicate(value, index, array)) {\\n        result[resIndex++] = value;\\n      }\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * A specialized version of `_.includes` for arrays without support for\\n   * specifying an index to search from.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to inspect.\\n   * @param {*} target The value to search for.\\n   * @returns {boolean} Returns `true` if `target` is found, else `false`.\\n   */\\n  function arrayIncludes(array, value) {\\n    var length = array == null ? 0 : array.length;\\n    return !!length && baseIndexOf(array, value, 0) > -1;\\n  }\\n\\n  /**\\n   * This function is like `arrayIncludes` except that it accepts a comparator.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to inspect.\\n   * @param {*} target The value to search for.\\n   * @param {Function} comparator The comparator invoked per element.\\n   * @returns {boolean} Returns `true` if `target` is found, else `false`.\\n   */\\n  function arrayIncludesWith(array, value, comparator) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length;\\n\\n    while (++index < length) {\\n      if (comparator(value, array[index])) {\\n        return true;\\n      }\\n    }\\n    return false;\\n  }\\n\\n  /**\\n   * A specialized version of `_.map` for arrays without support for iteratee\\n   * shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @returns {Array} Returns the new mapped array.\\n   */\\n  function arrayMap(array, iteratee) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length,\\n        result = Array(length);\\n\\n    while (++index < length) {\\n      result[index] = iteratee(array[index], index, array);\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * Appends the elements of `values` to `array`.\\n   *\\n   * @private\\n   * @param {Array} array The array to modify.\\n   * @param {Array} values The values to append.\\n   * @returns {Array} Returns `array`.\\n   */\\n  function arrayPush(array, values) {\\n    var index = -1,\\n        length = values.length,\\n        offset = array.length;\\n\\n    while (++index < length) {\\n      array[offset + index] = values[index];\\n    }\\n    return array;\\n  }\\n\\n  /**\\n   * A specialized version of `_.reduce` for arrays without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @param {*} [accumulator] The initial value.\\n   * @param {boolean} [initAccum] Specify using the first element of `array` as\\n   *  the initial value.\\n   * @returns {*} Returns the accumulated value.\\n   */\\n  function arrayReduce(array, iteratee, accumulator, initAccum) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length;\\n\\n    if (initAccum && length) {\\n      accumulator = array[++index];\\n    }\\n    while (++index < length) {\\n      accumulator = iteratee(accumulator, array[index], index, array);\\n    }\\n    return accumulator;\\n  }\\n\\n  /**\\n   * A specialized version of `_.reduceRight` for arrays without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @param {*} [accumulator] The initial value.\\n   * @param {boolean} [initAccum] Specify using the last element of `array` as\\n   *  the initial value.\\n   * @returns {*} Returns the accumulated value.\\n   */\\n  function arrayReduceRight(array, iteratee, accumulator, initAccum) {\\n    var length = array == null ? 0 : array.length;\\n    if (initAccum && length) {\\n      accumulator = array[--length];\\n    }\\n    while (length--) {\\n      accumulator = iteratee(accumulator, array[length], length, array);\\n    }\\n    return accumulator;\\n  }\\n\\n  /**\\n   * A specialized version of `_.some` for arrays without support for iteratee\\n   * shorthands.\\n   *\\n   * @private\\n   * @param {Array} [array] The array to iterate over.\\n   * @param {Function} predicate The function invoked per iteration.\\n   * @returns {boolean} Returns `true` if any element passes the predicate check,\\n   *  else `false`.\\n   */\\n  function arraySome(array, predicate) {\\n    var index = -1,\\n        length = array == null ? 0 : array.length;\\n\\n    while (++index < length) {\\n      if (predicate(array[index], index, array)) {\\n        return true;\\n      }\\n    }\\n    return false;\\n  }\\n\\n  /**\\n   * Gets the size of an ASCII `string`.\\n   *\\n   * @private\\n   * @param {string} string The string inspect.\\n   * @returns {number} Returns the string size.\\n   */\\n  var asciiSize = baseProperty('length');\\n\\n  /**\\n   * Converts an ASCII `string` to an array.\\n   *\\n   * @private\\n   * @param {string} string The string to convert.\\n   * @returns {Array} Returns the converted array.\\n   */\\n  function asciiToArray(string) {\\n    return string.split('');\\n  }\\n\\n  /**\\n   * Splits an ASCII `string` into an array of its words.\\n   *\\n   * @private\\n   * @param {string} The string to inspect.\\n   * @returns {Array} Returns the words of `string`.\\n   */\\n  function asciiWords(string) {\\n    return string.match(reAsciiWord) || [];\\n  }\\n\\n  /**\\n   * The base implementation of methods like `_.findKey` and `_.findLastKey`,\\n   * without support for iteratee shorthands, which iterates over `collection`\\n   * using `eachFunc`.\\n   *\\n   * @private\\n   * @param {Array|Object} collection The collection to inspect.\\n   * @param {Function} predicate The function invoked per iteration.\\n   * @param {Function} eachFunc The function to iterate over `collection`.\\n   * @returns {*} Returns the found element or its key, else `undefined`.\\n   */\\n  function baseFindKey(collection, predicate, eachFunc) {\\n    var result;\\n    eachFunc(collection, function(value, key, collection) {\\n      if (predicate(value, key, collection)) {\\n        result = key;\\n        return false;\\n      }\\n    });\\n    return result;\\n  }\\n\\n  /**\\n   * The base implementation of `_.findIndex` and `_.findLastIndex` without\\n   * support for iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} array The array to inspect.\\n   * @param {Function} predicate The function invoked per iteration.\\n   * @param {number} fromIndex The index to search from.\\n   * @param {boolean} [fromRight] Specify iterating from right to left.\\n   * @returns {number} Returns the index of the matched value, else `-1`.\\n   */\\n  function baseFindIndex(array, predicate, fromIndex, fromRight) {\\n    var length = array.length,\\n        index = fromIndex + (fromRight ? 1 : -1);\\n\\n    while ((fromRight ? index-- : ++index < length)) {\\n      if (predicate(array[index], index, array)) {\\n        return index;\\n      }\\n    }\\n    return -1;\\n  }\\n\\n  /**\\n   * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\\n   *\\n   * @private\\n   * @param {Array} array The array to inspect.\\n   * @param {*} value The value to search for.\\n   * @param {number} fromIndex The index to search from.\\n   * @returns {number} Returns the index of the matched value, else `-1`.\\n   */\\n  function baseIndexOf(array, value, fromIndex) {\\n    return value === value\\n      ? strictIndexOf(array, value, fromIndex)\\n      : baseFindIndex(array, baseIsNaN, fromIndex);\\n  }\\n\\n  /**\\n   * This function is like `baseIndexOf` except that it accepts a comparator.\\n   *\\n   * @private\\n   * @param {Array} array The array to inspect.\\n   * @param {*} value The value to search for.\\n   * @param {number} fromIndex The index to search from.\\n   * @param {Function} comparator The comparator invoked per element.\\n   * @returns {number} Returns the index of the matched value, else `-1`.\\n   */\\n  function baseIndexOfWith(array, value, fromIndex, comparator) {\\n    var index = fromIndex - 1,\\n        length = array.length;\\n\\n    while (++index < length) {\\n      if (comparator(array[index], value)) {\\n        return index;\\n      }\\n    }\\n    return -1;\\n  }\\n\\n  /**\\n   * The base implementation of `_.isNaN` without support for number objects.\\n   *\\n   * @private\\n   * @param {*} value The value to check.\\n   * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\\n   */\\n  function baseIsNaN(value) {\\n    return value !== value;\\n  }\\n\\n  /**\\n   * The base implementation of `_.mean` and `_.meanBy` without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} array The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @returns {number} Returns the mean.\\n   */\\n  function baseMean(array, iteratee) {\\n    var length = array == null ? 0 : array.length;\\n    return length ? (baseSum(array, iteratee) / length) : NAN;\\n  }\\n\\n  /**\\n   * The base implementation of `_.property` without support for deep paths.\\n   *\\n   * @private\\n   * @param {string} key The key of the property to get.\\n   * @returns {Function} Returns the new accessor function.\\n   */\\n  function baseProperty(key) {\\n    return function(object) {\\n      return object == null ? undefined : object[key];\\n    };\\n  }\\n\\n  /**\\n   * The base implementation of `_.propertyOf` without support for deep paths.\\n   *\\n   * @private\\n   * @param {Object} object The object to query.\\n   * @returns {Function} Returns the new accessor function.\\n   */\\n  function basePropertyOf(object) {\\n    return function(key) {\\n      return object == null ? undefined : object[key];\\n    };\\n  }\\n\\n  /**\\n   * The base implementation of `_.reduce` and `_.reduceRight`, without support\\n   * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\\n   *\\n   * @private\\n   * @param {Array|Object} collection The collection to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @param {*} accumulator The initial value.\\n   * @param {boolean} initAccum Specify using the first or last element of\\n   *  `collection` as the initial value.\\n   * @param {Function} eachFunc The function to iterate over `collection`.\\n   * @returns {*} Returns the accumulated value.\\n   */\\n  function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\\n    eachFunc(collection, function(value, index, collection) {\\n      accumulator = initAccum\\n        ? (initAccum = false, value)\\n        : iteratee(accumulator, value, index, collection);\\n    });\\n    return accumulator;\\n  }\\n\\n  /**\\n   * The base implementation of `_.sortBy` which uses `comparer` to define the\\n   * sort order of `array` and replaces criteria objects with their corresponding\\n   * values.\\n   *\\n   * @private\\n   * @param {Array} array The array to sort.\\n   * @param {Function} comparer The function to define sort order.\\n   * @returns {Array} Returns `array`.\\n   */\\n  function baseSortBy(array, comparer) {\\n    var length = array.length;\\n\\n    array.sort(comparer);\\n    while (length--) {\\n      array[length] = array[length].value;\\n    }\\n    return array;\\n  }\\n\\n  /**\\n   * The base implementation of `_.sum` and `_.sumBy` without support for\\n   * iteratee shorthands.\\n   *\\n   * @private\\n   * @param {Array} array The array to iterate over.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @returns {number} Returns the sum.\\n   */\\n  function baseSum(array, iteratee) {\\n    var result,\\n        index = -1,\\n        length = array.length;\\n\\n    while (++index < length) {\\n      var current = iteratee(array[index]);\\n      if (current !== undefined) {\\n        result = result === undefined ? current : (result + current);\\n      }\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * The base implementation of `_.times` without support for iteratee shorthands\\n   * or max array length checks.\\n   *\\n   * @private\\n   * @param {number} n The number of times to invoke `iteratee`.\\n   * @param {Function} iteratee The function invoked per iteration.\\n   * @returns {Array} Returns the array of results.\\n   */\\n  function baseTimes(n, iteratee) {\\n    var index = -1,\\n        result = Array(n);\\n\\n    while (++index < n) {\\n      result[index] = iteratee(index);\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\\n   * of key-value pairs for `object` corresponding to the property names of `props`.\\n   *\\n   * @private\\n   * @param {Object} object The object to query.\\n   * @param {Array} props The property names to get values for.\\n   * @returns {Object} Returns the key-value pairs.\\n   */\\n  function baseToPairs(object, props) {\\n    return arrayMap(props, function(key) {\\n      return [key, object[key]];\\n    });\\n  }\\n\\n  /**\\n   * The base implementation of `_.unary` without support for storing metadata.\\n   *\\n   * @private\\n   * @param {Function} func The function to cap arguments for.\\n   * @returns {Function} Returns the new capped function.\\n   */\\n  function baseUnary(func) {\\n    return function(value) {\\n      return func(value);\\n    };\\n  }\\n\\n  /**\\n   * The base implementation of `_.values` and `_.valuesIn` which creates an\\n   * array of `object` property values corresponding to the property names\\n   * of `props`.\\n   *\\n   * @private\\n   * @param {Object} object The object to query.\\n   * @param {Array} props The property names to get values for.\\n   * @returns {Object} Returns the array of property values.\\n   */\\n  function baseValues(object, props) {\\n    return arrayMap(props, function(key) {\\n      return object[key];\\n    });\\n  }\\n\\n  /**\\n   * Checks if a `cache` value for `key` exists.\\n   *\\n   * @private\\n   * @param {Object} cache The cache to query.\\n   * @param {string} key The key of the entry to check.\\n   * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\\n   */\\n  function cacheHas(cache, key) {\\n    return cache.has(key);\\n  }\\n\\n  /**\\n   * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\\n   * that is not found in the character symbols.\\n   *\\n   * @private\\n   * @param {Array} strSymbols The string symbols to inspect.\\n   * @param {Array} chrSymbols The character symbols to find.\\n   * @returns {number} Returns the index of the first unmatched string symbol.\\n   */\\n  function charsStartIndex(strSymbols, chrSymbols) {\\n    var index = -1,\\n        length = strSymbols.length;\\n\\n    while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\\n    return index;\\n  }\\n\\n  /**\\n   * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\\n   * that is not found in the character symbols.\\n   *\\n   * @private\\n   * @param {Array} strSymbols The string symbols to inspect.\\n   * @param {Array} chrSymbols The character symbols to find.\\n   * @returns {number} Returns the index of the last unmatched string symbol.\\n   */\\n  function charsEndIndex(strSymbols, chrSymbols) {\\n    var index = strSymbols.length;\\n\\n    while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\\n    return index;\\n  }\\n\\n  /**\\n   * Gets the number of `placeholder` occurrences in `array`.\\n   *\\n   * @private\\n   * @param {Array} array The array to inspect.\\n   * @param {*} placeholder The placeholder to search for.\\n   * @returns {number} Returns the placeholder count.\\n   */\\n  function countHolders(array, placeholder) {\\n    var length = array.length,\\n        result = 0;\\n\\n    while (length--) {\\n      if (array[length] === placeholder) {\\n        ++result;\\n      }\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\\n   * letters to basic Latin letters.\\n   *\\n   * @private\\n   * @param {string} letter The matched letter to deburr.\\n   * @returns {string} Returns the deburred letter.\\n   */\\n  var deburrLetter = basePropertyOf(deburredLetters);\\n\\n  /**\\n   * Used by `_.escape` to convert characters to HTML entities.\\n   *\\n   * @private\\n   * @param {string} chr The matched character to escape.\\n   * @returns {string} Returns the escaped character.\\n   */\\n  var escapeHtmlChar = basePropertyOf(htmlEscapes);\\n\\n  /**\\n   * Used by `_.template` to escape characters for inclusion in compiled string literals.\\n   *\\n   * @private\\n   * @param {string} chr The matched character to escape.\\n   * @returns {string} Returns the escaped character.\\n   */\\n  function escapeStringChar(chr) {\\n    return '\\\\\\\\' + stringEscapes[chr];\\n  }\\n\\n  /**\\n   * Gets the value at `key` of `object`.\\n   *\\n   * @private\\n   * @param {Object} [object] The object to query.\\n   * @param {string} key The key of the property to get.\\n   * @returns {*} Returns the property value.\\n   */\\n  function getValue(object, key) {\\n    return object == null ? undefined : object[key];\\n  }\\n\\n  /**\\n   * Checks if `string` contains Unicode symbols.\\n   *\\n   * @private\\n   * @param {string} string The string to inspect.\\n   * @returns {boolean} Returns `true` if a symbol is found, else `false`.\\n   */\\n  function hasUnicode(string) {\\n    return reHasUnicode.test(string);\\n  }\\n\\n  /**\\n   * Checks if `string` contains a word composed of Unicode symbols.\\n   *\\n   * @private\\n   * @param {string} string The string to inspect.\\n   * @returns {boolean} Returns `true` if a word is found, else `false`.\\n   */\\n  function hasUnicodeWord(string) {\\n    return reHasUnicodeWord.test(string);\\n  }\\n\\n  /**\\n   * Converts `iterator` to an array.\\n   *\\n   * @private\\n   * @param {Object} iterator The iterator to convert.\\n   * @returns {Array} Returns the converted array.\\n   */\\n  function iteratorToArray(iterator) {\\n    var data,\\n        result = [];\\n\\n    while (!(data = iterator.next()).done) {\\n      result.push(data.value);\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * Converts `map` to its key-value pairs.\\n   *\\n   * @private\\n   * @param {Object} map The map to convert.\\n   * @returns {Array} Returns the key-value pairs.\\n   */\\n  function mapToArray(map) {\\n    var index = -1,\\n        result = Array(map.size);\\n\\n    map.forEach(function(value, key) {\\n      result[++index] = [key, value];\\n    });\\n    return result;\\n  }\\n\\n  /**\\n   * Creates a unary function that invokes `func` with its argument transformed.\\n   *\\n   * @private\\n   * @param {Function} func The function to wrap.\\n   * @param {Function} transform The argument transform.\\n   * @returns {Function} Returns the new function.\\n   */\\n  function overArg(func, transform) {\\n    return function(arg) {\\n      return func(transform(arg));\\n    };\\n  }\\n\\n  /**\\n   * Replaces all `placeholder` elements in `array` with an internal placeholder\\n   * and returns an array of their indexes.\\n   *\\n   * @private\\n   * @param {Array} array The array to modify.\\n   * @param {*} placeholder The placeholder to replace.\\n   * @returns {Array} Returns the new array of placeholder indexes.\\n   */\\n  function replaceHolders(array, placeholder) {\\n    var index = -1,\\n        length = array.length,\\n        resIndex = 0,\\n        result = [];\\n\\n    while (++index < length) {\\n      var value = array[index];\\n      if (value === placeholder || value === PLACEHOLDER) {\\n        array[index] = PLACEHOLDER;\\n        result[resIndex++] = index;\\n      }\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * Converts `set` to an array of its values.\\n   *\\n   * @private\\n   * @param {Object} set The set to convert.\\n   * @returns {Array} Returns the values.\\n   */\\n  function setToArray(set) {\\n    var index = -1,\\n        result = Array(set.size);\\n\\n    set.forEach(function(value) {\\n      result[++index] = value;\\n    });\\n    return result;\\n  }\\n\\n  /**\\n   * Converts `set` to its value-value pairs.\\n   *\\n   * @private\\n   * @param {Object} set The set to convert.\\n   * @returns {Array} Returns the value-value pairs.\\n   */\\n  function setToPairs(set) {\\n    var index = -1,\\n        result = Array(set.size);\\n\\n    set.forEach(function(value) {\\n      result[++index] = [value, value];\\n    });\\n    return result;\\n  }\\n\\n  /**\\n   * A specialized version of `_.indexOf` which performs strict equality\\n   * comparisons of values, i.e. `===`.\\n   *\\n   * @private\\n   * @param {Array} array The array to inspect.\\n   * @param {*} value The value to search for.\\n   * @param {number} fromIndex The index to search from.\\n   * @returns {number} Returns the index of the matched value, else `-1`.\\n   */\\n  function strictIndexOf(array, value, fromIndex) {\\n    var index = fromIndex - 1,\\n        length = array.length;\\n\\n    while (++index < length) {\\n      if (array[index] === value) {\\n        return index;\\n      }\\n    }\\n    return -1;\\n  }\\n\\n  /**\\n   * A specialized version of `_.lastIndexOf` which performs strict equality\\n   * comparisons of values, i.e. `===`.\\n   *\\n   * @private\\n   * @param {Array} array The array to inspect.\\n   * @param {*} value The value to search for.\\n   * @param {number} fromIndex The index to search from.\\n   * @returns {number} Returns the index of the matched value, else `-1`.\\n   */\\n  function strictLastIndexOf(array, value, fromIndex) {\\n    var index = fromIndex + 1;\\n    while (index--) {\\n      if (array[index] === value) {\\n        return index;\\n      }\\n    }\\n    return index;\\n  }\\n\\n  /**\\n   * Gets the number of symbols in `string`.\\n   *\\n   * @private\\n   * @param {string} string The string to inspect.\\n   * @returns {number} Returns the string size.\\n   */\\n  function stringSize(string) {\\n    return hasUnicode(string)\\n      ? unicodeSize(string)\\n      : asciiSize(string);\\n  }\\n\\n  /**\\n   * Converts `string` to an array.\\n   *\\n   * @private\\n   * @param {string} string The string to convert.\\n   * @returns {Array} Returns the converted array.\\n   */\\n  function stringToArray(string) {\\n    return hasUnicode(string)\\n      ? unicodeToArray(string)\\n      : asciiToArray(string);\\n  }\\n\\n  /**\\n   * Used by `_.unescape` to convert HTML entities to characters.\\n   *\\n   * @private\\n   * @param {string} chr The matched character to unescape.\\n   * @returns {string} Returns the unescaped character.\\n   */\\n  var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\\n\\n  /**\\n   * Gets the size of a Unicode `string`.\\n   *\\n   * @private\\n   * @param {string} string The string inspect.\\n   * @returns {number} Returns the string size.\\n   */\\n  function unicodeSize(string) {\\n    var result = reUnicode.lastIndex = 0;\\n    while (reUnicode.test(string)) {\\n      ++result;\\n    }\\n    return result;\\n  }\\n\\n  /**\\n   * Converts a Unicode `string` to an array.\\n   *\\n   * @private\\n   * @param {string} string The string to convert.\\n   * @returns {Array} Returns the converted array.\\n   */\\n  function unicodeToArray(string) {\\n    return string.match(reUnicode) || [];\\n  }\\n\\n  /**\\n   * Splits a Unicode `string` into an array of its words.\\n   *\\n   * @private\\n   * @param {string} The string to inspect.\\n   * @returns {Array} Returns the words of `string`.\\n   */\\n  function unicodeWords(string) {\\n    return string.match(reUnicodeWord) || [];\\n  }\\n\\n  /*--------------------------------------------------------------------------*/\\n\\n  /**\\n   * Create a new pristine `lodash` function using the `context` object.\\n   *\\n   * @static\\n   * @memberOf _\\n   * @since 1.1.0\\n   * @category Util\\n   * @param {Object} [context=root] The context object.\\n   * @returns {Function} Returns a new `lodash` function.\\n   * @example\\n   *\\n   * _.mixin({ 'foo': _.constant('foo') });\\n   *\\n   * var lodash = _.runInContext();\\n   * lodash.mixin({ 'bar': lodash.constant('bar') });\\n   *\\n   * _.isFunction(_.foo);\\n   * // => true\\n   * _.isFunction(_.bar);\\n   * // => false\\n   *\\n   * lodash.isFunction(lodash.foo);\\n   * // => false\\n   * lodash.isFunction(lodash.bar);\\n   * // => true\\n   *\\n   * // Create a suped-up `defer` in Node.js.\\n   * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\\n   */\\n  var runInContext = (function runInContext(context) {\\n    context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\\n\\n    /** Built-in constructor references. */\\n    var Array = context.Array,\\n        Date = context.Date,\\n        Error = context.Error,\\n        Function = context.Function,\\n        Math = context.Math,\\n        Object = context.Object,\\n        RegExp = context.RegExp,\\n        String = context.String,\\n        TypeError = context.TypeError;\\n\\n    /** Used for built-in method references. */\\n    var arrayProto = Array.prototype,\\n        funcProto = Function.prototype,\\n        objectProto = Object.prototype;\\n\\n    /** Used to detect overreaching core-js shims. */\\n    var coreJsData = context['__core-js_shared__'];\\n\\n    /** Used to resolve the decompiled source of functions. */\\n    var funcToString = funcProto.toString;\\n\\n    /** Used to check objects for own properties. */\\n    var hasOwnProperty = objectProto.hasOwnProperty;\\n\\n    /** Used to generate unique IDs. */\\n    var idCounter = 0;\\n\\n    /** Used to detect methods masquerading as native. */\\n    var maskSrcKey = (function() {\\n      var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\\n      return uid ? ('Symbol(src)_1.' + uid) : '';\\n    }());\\n\\n    /**\\n     * Used to resolve the\\n     * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\\n     * of values.\\n     */\\n    var nativeObjectToString = objectProto.toString;\\n\\n    /** Used to infer the `Object` constructor. */\\n    var objectCtorString = funcToString.call(Object);\\n\\n    /** Used to restore the original `_` reference in `_.noConflict`. */\\n    var oldDash = root._;\\n\\n    /** Used to detect if a method is native. */\\n    var reIsNative = RegExp('^' +\\n      funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\\\\\$&')\\n      .replace(/hasOwnProperty|(function).*?(?=\\\\\\\\\\\\()| for .+?(?=\\\\\\\\\\\\])/g, '$1.*?') + '$'\\n    );\\n\\n    /** Built-in value references. */\\n    var Buffer = moduleExports ? context.Buffer : undefined,\\n        Symbol = context.Symbol,\\n        Uint8Array = context.Uint8Array,\\n        allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\\n        getPrototype = overArg(Object.getPrototypeOf, Object),\\n        objectCreate = Object.create,\\n        propertyIsEnumerable = objectProto.propertyIsEnumerable,\\n        splice = arrayProto.splice,\\n        spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\\n        symIterator = Symbol ? Symbol.iterator : undefined,\\n        symToStringTag = Symbol ? Symbol.toStringTag : undefined;\\n\\n    var defineProperty = (function() {\\n      try {\\n        var func = getNative(Object, 'defineProperty');\\n        func({}, '', {});\\n        return func;\\n      } catch (e) {}\\n    }());\\n\\n    /** Mocked built-ins. */\\n    var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\\n        ctxNow = Date && Date.now !== root.Date.now && Date.now,\\n        ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\\n\\n    /* Built-in method references for those with the same name as other `lodash` methods. */\\n    var nativeCeil = Math.ceil,\\n        nativeFloor = Math.floor,\\n        nativeGetSymbols = Object.getOwnPropertySymbols,\\n        nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\\n        nativeIsFinite = context.isFinite,\\n        nativeJoin = arrayProto.join,\\n        nativeKeys = overArg(Object.keys, Object),\\n        nativeMax = Math.max,\\n        nativeMin = Math.min,\\n        nativeNow = Date.now,\\n        nativeParseInt = context.parseInt,\\n        nativeRandom = Math.random,\\n        nativeReverse = arrayProto.reverse;\\n\\n    /* Built-in method references that are verified to be native. */\\n    var DataView = getNative(context, 'DataView'),\\n        Map = getNative(context, 'Map'),\\n        Promise = getNative(context, 'Promise'),\\n        Set = getNative(context, 'Set'),\\n        WeakMap = getNative(context, 'WeakMap'),\\n        nativeCreate = getNative(Object, 'create');\\n\\n    /** Used to store function metadata. */\\n    var metaMap = WeakMap && new WeakMap;\\n\\n    /** Used to lookup unminified function names. */\\n    var realNames = {};\\n\\n    /** Used to detect maps, sets, and weakmaps. */\\n    var dataViewCtorString = toSource(DataView),\\n        mapCtorString = toSource(Map),\\n        promiseCtorString = toSource(Promise),\\n        setCtorString = toSource(Set),\\n        weakMapCtorString = toSource(WeakMap);\\n\\n    /** Used to convert symbols to primitives and strings. */\\n    var symbolProto = Symbol ? Symbol.prototype : undefined,\\n        symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\\n        symbolToString = symbolProto ? symbolProto.toString : undefined;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates a `lodash` object which wraps `value` to enable implicit method\\n     * chain sequences. Methods that operate on and return arrays, collections,\\n     * and functions can be chained together. Methods that retrieve a single value\\n     * or may return a primitive value will automatically end the chain sequence\\n     * and return the unwrapped value. Otherwise, the value must be unwrapped\\n     * with `_#value`.\\n     *\\n     * Explicit chain sequences, which must be unwrapped with `_#value`, may be\\n     * enabled using `_.chain`.\\n     *\\n     * The execution of chained methods is lazy, that is, it's deferred until\\n     * `_#value` is implicitly or explicitly called.\\n     *\\n     * Lazy evaluation allows several methods to support shortcut fusion.\\n     * Shortcut fusion is an optimization to merge iteratee calls; this avoids\\n     * the creation of intermediate arrays and can greatly reduce the number of\\n     * iteratee executions. Sections of a chain sequence qualify for shortcut\\n     * fusion if the section is applied to an array and iteratees accept only\\n     * one argument. The heuristic for whether a section qualifies for shortcut\\n     * fusion is subject to change.\\n     *\\n     * Chaining is supported in custom builds as long as the `_#value` method is\\n     * directly or indirectly included in the build.\\n     *\\n     * In addition to lodash methods, wrappers have `Array` and `String` methods.\\n     *\\n     * The wrapper `Array` methods are:\\n     * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\\n     *\\n     * The wrapper `String` methods are:\\n     * `replace` and `split`\\n     *\\n     * The wrapper methods that support shortcut fusion are:\\n     * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\\n     * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\\n     * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\\n     *\\n     * The chainable wrapper methods are:\\n     * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\\n     * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\\n     * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\\n     * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\\n     * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\\n     * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\\n     * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\\n     * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\\n     * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\\n     * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\\n     * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\\n     * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\\n     * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\\n     * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\\n     * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\\n     * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\\n     * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\\n     * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\\n     * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\\n     * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\\n     * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\\n     * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\\n     * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\\n     * `zipObject`, `zipObjectDeep`, and `zipWith`\\n     *\\n     * The wrapper methods that are **not** chainable by default are:\\n     * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\\n     * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\\n     * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\\n     * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\\n     * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\\n     * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\\n     * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\\n     * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\\n     * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\\n     * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\\n     * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\\n     * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\\n     * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\\n     * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\\n     * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\\n     * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\\n     * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\\n     * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\\n     * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\\n     * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\\n     * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\\n     * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\\n     * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\\n     * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\\n     * `upperFirst`, `value`, and `words`\\n     *\\n     * @name _\\n     * @constructor\\n     * @category Seq\\n     * @param {*} value The value to wrap in a `lodash` instance.\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * function square(n) {\\n     *   return n * n;\\n     * }\\n     *\\n     * var wrapped = _([1, 2, 3]);\\n     *\\n     * // Returns an unwrapped value.\\n     * wrapped.reduce(_.add);\\n     * // => 6\\n     *\\n     * // Returns a wrapped value.\\n     * var squares = wrapped.map(square);\\n     *\\n     * _.isArray(squares);\\n     * // => false\\n     *\\n     * _.isArray(squares.value());\\n     * // => true\\n     */\\n    function lodash(value) {\\n      if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\\n        if (value instanceof LodashWrapper) {\\n          return value;\\n        }\\n        if (hasOwnProperty.call(value, '__wrapped__')) {\\n          return wrapperClone(value);\\n        }\\n      }\\n      return new LodashWrapper(value);\\n    }\\n\\n    /**\\n     * The base implementation of `_.create` without support for assigning\\n     * properties to the created object.\\n     *\\n     * @private\\n     * @param {Object} proto The object to inherit from.\\n     * @returns {Object} Returns the new object.\\n     */\\n    var baseCreate = (function() {\\n      function object() {}\\n      return function(proto) {\\n        if (!isObject(proto)) {\\n          return {};\\n        }\\n        if (objectCreate) {\\n          return objectCreate(proto);\\n        }\\n        object.prototype = proto;\\n        var result = new object;\\n        object.prototype = undefined;\\n        return result;\\n      };\\n    }());\\n\\n    /**\\n     * The function whose prototype chain sequence wrappers inherit from.\\n     *\\n     * @private\\n     */\\n    function baseLodash() {\\n      // No operation performed.\\n    }\\n\\n    /**\\n     * The base constructor for creating `lodash` wrapper objects.\\n     *\\n     * @private\\n     * @param {*} value The value to wrap.\\n     * @param {boolean} [chainAll] Enable explicit method chain sequences.\\n     */\\n    function LodashWrapper(value, chainAll) {\\n      this.__wrapped__ = value;\\n      this.__actions__ = [];\\n      this.__chain__ = !!chainAll;\\n      this.__index__ = 0;\\n      this.__values__ = undefined;\\n    }\\n\\n    /**\\n     * By default, the template delimiters used by lodash are like those in\\n     * embedded Ruby (ERB) as well as ES2015 template strings. Change the\\n     * following template settings to use alternative delimiters.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @type {Object}\\n     */\\n    lodash.templateSettings = {\\n\\n      /**\\n       * Used to detect `data` property values to be HTML-escaped.\\n       *\\n       * @memberOf _.templateSettings\\n       * @type {RegExp}\\n       */\\n      'escape': reEscape,\\n\\n      /**\\n       * Used to detect code to be evaluated.\\n       *\\n       * @memberOf _.templateSettings\\n       * @type {RegExp}\\n       */\\n      'evaluate': reEvaluate,\\n\\n      /**\\n       * Used to detect `data` property values to inject.\\n       *\\n       * @memberOf _.templateSettings\\n       * @type {RegExp}\\n       */\\n      'interpolate': reInterpolate,\\n\\n      /**\\n       * Used to reference the data object in the template text.\\n       *\\n       * @memberOf _.templateSettings\\n       * @type {string}\\n       */\\n      'variable': '',\\n\\n      /**\\n       * Used to import variables into the compiled template.\\n       *\\n       * @memberOf _.templateSettings\\n       * @type {Object}\\n       */\\n      'imports': {\\n\\n        /**\\n         * A reference to the `lodash` function.\\n         *\\n         * @memberOf _.templateSettings.imports\\n         * @type {Function}\\n         */\\n        '_': lodash\\n      }\\n    };\\n\\n    // Ensure wrappers are instances of `baseLodash`.\\n    lodash.prototype = baseLodash.prototype;\\n    lodash.prototype.constructor = lodash;\\n\\n    LodashWrapper.prototype = baseCreate(baseLodash.prototype);\\n    LodashWrapper.prototype.constructor = LodashWrapper;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\\n     *\\n     * @private\\n     * @constructor\\n     * @param {*} value The value to wrap.\\n     */\\n    function LazyWrapper(value) {\\n      this.__wrapped__ = value;\\n      this.__actions__ = [];\\n      this.__dir__ = 1;\\n      this.__filtered__ = false;\\n      this.__iteratees__ = [];\\n      this.__takeCount__ = MAX_ARRAY_LENGTH;\\n      this.__views__ = [];\\n    }\\n\\n    /**\\n     * Creates a clone of the lazy wrapper object.\\n     *\\n     * @private\\n     * @name clone\\n     * @memberOf LazyWrapper\\n     * @returns {Object} Returns the cloned `LazyWrapper` object.\\n     */\\n    function lazyClone() {\\n      var result = new LazyWrapper(this.__wrapped__);\\n      result.__actions__ = copyArray(this.__actions__);\\n      result.__dir__ = this.__dir__;\\n      result.__filtered__ = this.__filtered__;\\n      result.__iteratees__ = copyArray(this.__iteratees__);\\n      result.__takeCount__ = this.__takeCount__;\\n      result.__views__ = copyArray(this.__views__);\\n      return result;\\n    }\\n\\n    /**\\n     * Reverses the direction of lazy iteration.\\n     *\\n     * @private\\n     * @name reverse\\n     * @memberOf LazyWrapper\\n     * @returns {Object} Returns the new reversed `LazyWrapper` object.\\n     */\\n    function lazyReverse() {\\n      if (this.__filtered__) {\\n        var result = new LazyWrapper(this);\\n        result.__dir__ = -1;\\n        result.__filtered__ = true;\\n      } else {\\n        result = this.clone();\\n        result.__dir__ *= -1;\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Extracts the unwrapped value from its lazy wrapper.\\n     *\\n     * @private\\n     * @name value\\n     * @memberOf LazyWrapper\\n     * @returns {*} Returns the unwrapped value.\\n     */\\n    function lazyValue() {\\n      var array = this.__wrapped__.value(),\\n          dir = this.__dir__,\\n          isArr = isArray(array),\\n          isRight = dir < 0,\\n          arrLength = isArr ? array.length : 0,\\n          view = getView(0, arrLength, this.__views__),\\n          start = view.start,\\n          end = view.end,\\n          length = end - start,\\n          index = isRight ? end : (start - 1),\\n          iteratees = this.__iteratees__,\\n          iterLength = iteratees.length,\\n          resIndex = 0,\\n          takeCount = nativeMin(length, this.__takeCount__);\\n\\n      if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\\n        return baseWrapperValue(array, this.__actions__);\\n      }\\n      var result = [];\\n\\n      outer:\\n      while (length-- && resIndex < takeCount) {\\n        index += dir;\\n\\n        var iterIndex = -1,\\n            value = array[index];\\n\\n        while (++iterIndex < iterLength) {\\n          var data = iteratees[iterIndex],\\n              iteratee = data.iteratee,\\n              type = data.type,\\n              computed = iteratee(value);\\n\\n          if (type == LAZY_MAP_FLAG) {\\n            value = computed;\\n          } else if (!computed) {\\n            if (type == LAZY_FILTER_FLAG) {\\n              continue outer;\\n            } else {\\n              break outer;\\n            }\\n          }\\n        }\\n        result[resIndex++] = value;\\n      }\\n      return result;\\n    }\\n\\n    // Ensure `LazyWrapper` is an instance of `baseLodash`.\\n    LazyWrapper.prototype = baseCreate(baseLodash.prototype);\\n    LazyWrapper.prototype.constructor = LazyWrapper;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates a hash object.\\n     *\\n     * @private\\n     * @constructor\\n     * @param {Array} [entries] The key-value pairs to cache.\\n     */\\n    function Hash(entries) {\\n      var index = -1,\\n          length = entries == null ? 0 : entries.length;\\n\\n      this.clear();\\n      while (++index < length) {\\n        var entry = entries[index];\\n        this.set(entry[0], entry[1]);\\n      }\\n    }\\n\\n    /**\\n     * Removes all key-value entries from the hash.\\n     *\\n     * @private\\n     * @name clear\\n     * @memberOf Hash\\n     */\\n    function hashClear() {\\n      this.__data__ = nativeCreate ? nativeCreate(null) : {};\\n      this.size = 0;\\n    }\\n\\n    /**\\n     * Removes `key` and its value from the hash.\\n     *\\n     * @private\\n     * @name delete\\n     * @memberOf Hash\\n     * @param {Object} hash The hash to modify.\\n     * @param {string} key The key of the value to remove.\\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\\n     */\\n    function hashDelete(key) {\\n      var result = this.has(key) && delete this.__data__[key];\\n      this.size -= result ? 1 : 0;\\n      return result;\\n    }\\n\\n    /**\\n     * Gets the hash value for `key`.\\n     *\\n     * @private\\n     * @name get\\n     * @memberOf Hash\\n     * @param {string} key The key of the value to get.\\n     * @returns {*} Returns the entry value.\\n     */\\n    function hashGet(key) {\\n      var data = this.__data__;\\n      if (nativeCreate) {\\n        var result = data[key];\\n        return result === HASH_UNDEFINED ? undefined : result;\\n      }\\n      return hasOwnProperty.call(data, key) ? data[key] : undefined;\\n    }\\n\\n    /**\\n     * Checks if a hash value for `key` exists.\\n     *\\n     * @private\\n     * @name has\\n     * @memberOf Hash\\n     * @param {string} key The key of the entry to check.\\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\\n     */\\n    function hashHas(key) {\\n      var data = this.__data__;\\n      return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\\n    }\\n\\n    /**\\n     * Sets the hash `key` to `value`.\\n     *\\n     * @private\\n     * @name set\\n     * @memberOf Hash\\n     * @param {string} key The key of the value to set.\\n     * @param {*} value The value to set.\\n     * @returns {Object} Returns the hash instance.\\n     */\\n    function hashSet(key, value) {\\n      var data = this.__data__;\\n      this.size += this.has(key) ? 0 : 1;\\n      data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\\n      return this;\\n    }\\n\\n    // Add methods to `Hash`.\\n    Hash.prototype.clear = hashClear;\\n    Hash.prototype['delete'] = hashDelete;\\n    Hash.prototype.get = hashGet;\\n    Hash.prototype.has = hashHas;\\n    Hash.prototype.set = hashSet;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates an list cache object.\\n     *\\n     * @private\\n     * @constructor\\n     * @param {Array} [entries] The key-value pairs to cache.\\n     */\\n    function ListCache(entries) {\\n      var index = -1,\\n          length = entries == null ? 0 : entries.length;\\n\\n      this.clear();\\n      while (++index < length) {\\n        var entry = entries[index];\\n        this.set(entry[0], entry[1]);\\n      }\\n    }\\n\\n    /**\\n     * Removes all key-value entries from the list cache.\\n     *\\n     * @private\\n     * @name clear\\n     * @memberOf ListCache\\n     */\\n    function listCacheClear() {\\n      this.__data__ = [];\\n      this.size = 0;\\n    }\\n\\n    /**\\n     * Removes `key` and its value from the list cache.\\n     *\\n     * @private\\n     * @name delete\\n     * @memberOf ListCache\\n     * @param {string} key The key of the value to remove.\\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\\n     */\\n    function listCacheDelete(key) {\\n      var data = this.__data__,\\n          index = assocIndexOf(data, key);\\n\\n      if (index < 0) {\\n        return false;\\n      }\\n      var lastIndex = data.length - 1;\\n      if (index == lastIndex) {\\n        data.pop();\\n      } else {\\n        splice.call(data, index, 1);\\n      }\\n      --this.size;\\n      return true;\\n    }\\n\\n    /**\\n     * Gets the list cache value for `key`.\\n     *\\n     * @private\\n     * @name get\\n     * @memberOf ListCache\\n     * @param {string} key The key of the value to get.\\n     * @returns {*} Returns the entry value.\\n     */\\n    function listCacheGet(key) {\\n      var data = this.__data__,\\n          index = assocIndexOf(data, key);\\n\\n      return index < 0 ? undefined : data[index][1];\\n    }\\n\\n    /**\\n     * Checks if a list cache value for `key` exists.\\n     *\\n     * @private\\n     * @name has\\n     * @memberOf ListCache\\n     * @param {string} key The key of the entry to check.\\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\\n     */\\n    function listCacheHas(key) {\\n      return assocIndexOf(this.__data__, key) > -1;\\n    }\\n\\n    /**\\n     * Sets the list cache `key` to `value`.\\n     *\\n     * @private\\n     * @name set\\n     * @memberOf ListCache\\n     * @param {string} key The key of the value to set.\\n     * @param {*} value The value to set.\\n     * @returns {Object} Returns the list cache instance.\\n     */\\n    function listCacheSet(key, value) {\\n      var data = this.__data__,\\n          index = assocIndexOf(data, key);\\n\\n      if (index < 0) {\\n        ++this.size;\\n        data.push([key, value]);\\n      } else {\\n        data[index][1] = value;\\n      }\\n      return this;\\n    }\\n\\n    // Add methods to `ListCache`.\\n    ListCache.prototype.clear = listCacheClear;\\n    ListCache.prototype['delete'] = listCacheDelete;\\n    ListCache.prototype.get = listCacheGet;\\n    ListCache.prototype.has = listCacheHas;\\n    ListCache.prototype.set = listCacheSet;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates a map cache object to store key-value pairs.\\n     *\\n     * @private\\n     * @constructor\\n     * @param {Array} [entries] The key-value pairs to cache.\\n     */\\n    function MapCache(entries) {\\n      var index = -1,\\n          length = entries == null ? 0 : entries.length;\\n\\n      this.clear();\\n      while (++index < length) {\\n        var entry = entries[index];\\n        this.set(entry[0], entry[1]);\\n      }\\n    }\\n\\n    /**\\n     * Removes all key-value entries from the map.\\n     *\\n     * @private\\n     * @name clear\\n     * @memberOf MapCache\\n     */\\n    function mapCacheClear() {\\n      this.size = 0;\\n      this.__data__ = {\\n        'hash': new Hash,\\n        'map': new (Map || ListCache),\\n        'string': new Hash\\n      };\\n    }\\n\\n    /**\\n     * Removes `key` and its value from the map.\\n     *\\n     * @private\\n     * @name delete\\n     * @memberOf MapCache\\n     * @param {string} key The key of the value to remove.\\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\\n     */\\n    function mapCacheDelete(key) {\\n      var result = getMapData(this, key)['delete'](key);\\n      this.size -= result ? 1 : 0;\\n      return result;\\n    }\\n\\n    /**\\n     * Gets the map value for `key`.\\n     *\\n     * @private\\n     * @name get\\n     * @memberOf MapCache\\n     * @param {string} key The key of the value to get.\\n     * @returns {*} Returns the entry value.\\n     */\\n    function mapCacheGet(key) {\\n      return getMapData(this, key).get(key);\\n    }\\n\\n    /**\\n     * Checks if a map value for `key` exists.\\n     *\\n     * @private\\n     * @name has\\n     * @memberOf MapCache\\n     * @param {string} key The key of the entry to check.\\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\\n     */\\n    function mapCacheHas(key) {\\n      return getMapData(this, key).has(key);\\n    }\\n\\n    /**\\n     * Sets the map `key` to `value`.\\n     *\\n     * @private\\n     * @name set\\n     * @memberOf MapCache\\n     * @param {string} key The key of the value to set.\\n     * @param {*} value The value to set.\\n     * @returns {Object} Returns the map cache instance.\\n     */\\n    function mapCacheSet(key, value) {\\n      var data = getMapData(this, key),\\n          size = data.size;\\n\\n      data.set(key, value);\\n      this.size += data.size == size ? 0 : 1;\\n      return this;\\n    }\\n\\n    // Add methods to `MapCache`.\\n    MapCache.prototype.clear = mapCacheClear;\\n    MapCache.prototype['delete'] = mapCacheDelete;\\n    MapCache.prototype.get = mapCacheGet;\\n    MapCache.prototype.has = mapCacheHas;\\n    MapCache.prototype.set = mapCacheSet;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     *\\n     * Creates an array cache object to store unique values.\\n     *\\n     * @private\\n     * @constructor\\n     * @param {Array} [values] The values to cache.\\n     */\\n    function SetCache(values) {\\n      var index = -1,\\n          length = values == null ? 0 : values.length;\\n\\n      this.__data__ = new MapCache;\\n      while (++index < length) {\\n        this.add(values[index]);\\n      }\\n    }\\n\\n    /**\\n     * Adds `value` to the array cache.\\n     *\\n     * @private\\n     * @name add\\n     * @memberOf SetCache\\n     * @alias push\\n     * @param {*} value The value to cache.\\n     * @returns {Object} Returns the cache instance.\\n     */\\n    function setCacheAdd(value) {\\n      this.__data__.set(value, HASH_UNDEFINED);\\n      return this;\\n    }\\n\\n    /**\\n     * Checks if `value` is in the array cache.\\n     *\\n     * @private\\n     * @name has\\n     * @memberOf SetCache\\n     * @param {*} value The value to search for.\\n     * @returns {number} Returns `true` if `value` is found, else `false`.\\n     */\\n    function setCacheHas(value) {\\n      return this.__data__.has(value);\\n    }\\n\\n    // Add methods to `SetCache`.\\n    SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\\n    SetCache.prototype.has = setCacheHas;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates a stack cache object to store key-value pairs.\\n     *\\n     * @private\\n     * @constructor\\n     * @param {Array} [entries] The key-value pairs to cache.\\n     */\\n    function Stack(entries) {\\n      var data = this.__data__ = new ListCache(entries);\\n      this.size = data.size;\\n    }\\n\\n    /**\\n     * Removes all key-value entries from the stack.\\n     *\\n     * @private\\n     * @name clear\\n     * @memberOf Stack\\n     */\\n    function stackClear() {\\n      this.__data__ = new ListCache;\\n      this.size = 0;\\n    }\\n\\n    /**\\n     * Removes `key` and its value from the stack.\\n     *\\n     * @private\\n     * @name delete\\n     * @memberOf Stack\\n     * @param {string} key The key of the value to remove.\\n     * @returns {boolean} Returns `true` if the entry was removed, else `false`.\\n     */\\n    function stackDelete(key) {\\n      var data = this.__data__,\\n          result = data['delete'](key);\\n\\n      this.size = data.size;\\n      return result;\\n    }\\n\\n    /**\\n     * Gets the stack value for `key`.\\n     *\\n     * @private\\n     * @name get\\n     * @memberOf Stack\\n     * @param {string} key The key of the value to get.\\n     * @returns {*} Returns the entry value.\\n     */\\n    function stackGet(key) {\\n      return this.__data__.get(key);\\n    }\\n\\n    /**\\n     * Checks if a stack value for `key` exists.\\n     *\\n     * @private\\n     * @name has\\n     * @memberOf Stack\\n     * @param {string} key The key of the entry to check.\\n     * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\\n     */\\n    function stackHas(key) {\\n      return this.__data__.has(key);\\n    }\\n\\n    /**\\n     * Sets the stack `key` to `value`.\\n     *\\n     * @private\\n     * @name set\\n     * @memberOf Stack\\n     * @param {string} key The key of the value to set.\\n     * @param {*} value The value to set.\\n     * @returns {Object} Returns the stack cache instance.\\n     */\\n    function stackSet(key, value) {\\n      var data = this.__data__;\\n      if (data instanceof ListCache) {\\n        var pairs = data.__data__;\\n        if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\\n          pairs.push([key, value]);\\n          this.size = ++data.size;\\n          return this;\\n        }\\n        data = this.__data__ = new MapCache(pairs);\\n      }\\n      data.set(key, value);\\n      this.size = data.size;\\n      return this;\\n    }\\n\\n    // Add methods to `Stack`.\\n    Stack.prototype.clear = stackClear;\\n    Stack.prototype['delete'] = stackDelete;\\n    Stack.prototype.get = stackGet;\\n    Stack.prototype.has = stackHas;\\n    Stack.prototype.set = stackSet;\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates an array of the enumerable property names of the array-like `value`.\\n     *\\n     * @private\\n     * @param {*} value The value to query.\\n     * @param {boolean} inherited Specify returning inherited property names.\\n     * @returns {Array} Returns the array of property names.\\n     */\\n    function arrayLikeKeys(value, inherited) {\\n      var isArr = isArray(value),\\n          isArg = !isArr && isArguments(value),\\n          isBuff = !isArr && !isArg && isBuffer(value),\\n          isType = !isArr && !isArg && !isBuff && isTypedArray(value),\\n          skipIndexes = isArr || isArg || isBuff || isType,\\n          result = skipIndexes ? baseTimes(value.length, String) : [],\\n          length = result.length;\\n\\n      for (var key in value) {\\n        if ((inherited || hasOwnProperty.call(value, key)) &&\\n            !(skipIndexes && (\\n               // Safari 9 has enumerable `arguments.length` in strict mode.\\n               key == 'length' ||\\n               // Node.js 0.10 has enumerable non-index properties on buffers.\\n               (isBuff && (key == 'offset' || key == 'parent')) ||\\n               // PhantomJS 2 has enumerable non-index properties on typed arrays.\\n               (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\\n               // Skip index properties.\\n               isIndex(key, length)\\n            ))) {\\n          result.push(key);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * A specialized version of `_.sample` for arrays.\\n     *\\n     * @private\\n     * @param {Array} array The array to sample.\\n     * @returns {*} Returns the random element.\\n     */\\n    function arraySample(array) {\\n      var length = array.length;\\n      return length ? array[baseRandom(0, length - 1)] : undefined;\\n    }\\n\\n    /**\\n     * A specialized version of `_.sampleSize` for arrays.\\n     *\\n     * @private\\n     * @param {Array} array The array to sample.\\n     * @param {number} n The number of elements to sample.\\n     * @returns {Array} Returns the random elements.\\n     */\\n    function arraySampleSize(array, n) {\\n      return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\\n    }\\n\\n    /**\\n     * A specialized version of `_.shuffle` for arrays.\\n     *\\n     * @private\\n     * @param {Array} array The array to shuffle.\\n     * @returns {Array} Returns the new shuffled array.\\n     */\\n    function arrayShuffle(array) {\\n      return shuffleSelf(copyArray(array));\\n    }\\n\\n    /**\\n     * This function is like `assignValue` except that it doesn't assign\\n     * `undefined` values.\\n     *\\n     * @private\\n     * @param {Object} object The object to modify.\\n     * @param {string} key The key of the property to assign.\\n     * @param {*} value The value to assign.\\n     */\\n    function assignMergeValue(object, key, value) {\\n      if ((value !== undefined && !eq(object[key], value)) ||\\n          (value === undefined && !(key in object))) {\\n        baseAssignValue(object, key, value);\\n      }\\n    }\\n\\n    /**\\n     * Assigns `value` to `key` of `object` if the existing value is not equivalent\\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons.\\n     *\\n     * @private\\n     * @param {Object} object The object to modify.\\n     * @param {string} key The key of the property to assign.\\n     * @param {*} value The value to assign.\\n     */\\n    function assignValue(object, key, value) {\\n      var objValue = object[key];\\n      if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\\n          (value === undefined && !(key in object))) {\\n        baseAssignValue(object, key, value);\\n      }\\n    }\\n\\n    /**\\n     * Gets the index at which the `key` is found in `array` of key-value pairs.\\n     *\\n     * @private\\n     * @param {Array} array The array to inspect.\\n     * @param {*} key The key to search for.\\n     * @returns {number} Returns the index of the matched value, else `-1`.\\n     */\\n    function assocIndexOf(array, key) {\\n      var length = array.length;\\n      while (length--) {\\n        if (eq(array[length][0], key)) {\\n          return length;\\n        }\\n      }\\n      return -1;\\n    }\\n\\n    /**\\n     * Aggregates elements of `collection` on `accumulator` with keys transformed\\n     * by `iteratee` and values set by `setter`.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} setter The function to set `accumulator` values.\\n     * @param {Function} iteratee The iteratee to transform keys.\\n     * @param {Object} accumulator The initial aggregated object.\\n     * @returns {Function} Returns `accumulator`.\\n     */\\n    function baseAggregator(collection, setter, iteratee, accumulator) {\\n      baseEach(collection, function(value, key, collection) {\\n        setter(accumulator, value, iteratee(value), collection);\\n      });\\n      return accumulator;\\n    }\\n\\n    /**\\n     * The base implementation of `_.assign` without support for multiple sources\\n     * or `customizer` functions.\\n     *\\n     * @private\\n     * @param {Object} object The destination object.\\n     * @param {Object} source The source object.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function baseAssign(object, source) {\\n      return object && copyObject(source, keys(source), object);\\n    }\\n\\n    /**\\n     * The base implementation of `_.assignIn` without support for multiple sources\\n     * or `customizer` functions.\\n     *\\n     * @private\\n     * @param {Object} object The destination object.\\n     * @param {Object} source The source object.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function baseAssignIn(object, source) {\\n      return object && copyObject(source, keysIn(source), object);\\n    }\\n\\n    /**\\n     * The base implementation of `assignValue` and `assignMergeValue` without\\n     * value checks.\\n     *\\n     * @private\\n     * @param {Object} object The object to modify.\\n     * @param {string} key The key of the property to assign.\\n     * @param {*} value The value to assign.\\n     */\\n    function baseAssignValue(object, key, value) {\\n      if (key == '__proto__' && defineProperty) {\\n        defineProperty(object, key, {\\n          'configurable': true,\\n          'enumerable': true,\\n          'value': value,\\n          'writable': true\\n        });\\n      } else {\\n        object[key] = value;\\n      }\\n    }\\n\\n    /**\\n     * The base implementation of `_.at` without support for individual paths.\\n     *\\n     * @private\\n     * @param {Object} object The object to iterate over.\\n     * @param {string[]} paths The property paths to pick.\\n     * @returns {Array} Returns the picked elements.\\n     */\\n    function baseAt(object, paths) {\\n      var index = -1,\\n          length = paths.length,\\n          result = Array(length),\\n          skip = object == null;\\n\\n      while (++index < length) {\\n        result[index] = skip ? undefined : get(object, paths[index]);\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.clamp` which doesn't coerce arguments.\\n     *\\n     * @private\\n     * @param {number} number The number to clamp.\\n     * @param {number} [lower] The lower bound.\\n     * @param {number} upper The upper bound.\\n     * @returns {number} Returns the clamped number.\\n     */\\n    function baseClamp(number, lower, upper) {\\n      if (number === number) {\\n        if (upper !== undefined) {\\n          number = number <= upper ? number : upper;\\n        }\\n        if (lower !== undefined) {\\n          number = number >= lower ? number : lower;\\n        }\\n      }\\n      return number;\\n    }\\n\\n    /**\\n     * The base implementation of `_.clone` and `_.cloneDeep` which tracks\\n     * traversed objects.\\n     *\\n     * @private\\n     * @param {*} value The value to clone.\\n     * @param {boolean} bitmask The bitmask flags.\\n     *  1 - Deep clone\\n     *  2 - Flatten inherited properties\\n     *  4 - Clone symbols\\n     * @param {Function} [customizer] The function to customize cloning.\\n     * @param {string} [key] The key of `value`.\\n     * @param {Object} [object] The parent object of `value`.\\n     * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\\n     * @returns {*} Returns the cloned value.\\n     */\\n    function baseClone(value, bitmask, customizer, key, object, stack) {\\n      var result,\\n          isDeep = bitmask & CLONE_DEEP_FLAG,\\n          isFlat = bitmask & CLONE_FLAT_FLAG,\\n          isFull = bitmask & CLONE_SYMBOLS_FLAG;\\n\\n      if (customizer) {\\n        result = object ? customizer(value, key, object, stack) : customizer(value);\\n      }\\n      if (result !== undefined) {\\n        return result;\\n      }\\n      if (!isObject(value)) {\\n        return value;\\n      }\\n      var isArr = isArray(value);\\n      if (isArr) {\\n        result = initCloneArray(value);\\n        if (!isDeep) {\\n          return copyArray(value, result);\\n        }\\n      } else {\\n        var tag = getTag(value),\\n            isFunc = tag == funcTag || tag == genTag;\\n\\n        if (isBuffer(value)) {\\n          return cloneBuffer(value, isDeep);\\n        }\\n        if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\\n          result = (isFlat || isFunc) ? {} : initCloneObject(value);\\n          if (!isDeep) {\\n            return isFlat\\n              ? copySymbolsIn(value, baseAssignIn(result, value))\\n              : copySymbols(value, baseAssign(result, value));\\n          }\\n        } else {\\n          if (!cloneableTags[tag]) {\\n            return object ? value : {};\\n          }\\n          result = initCloneByTag(value, tag, isDeep);\\n        }\\n      }\\n      // Check for circular references and return its corresponding clone.\\n      stack || (stack = new Stack);\\n      var stacked = stack.get(value);\\n      if (stacked) {\\n        return stacked;\\n      }\\n      stack.set(value, result);\\n\\n      if (isSet(value)) {\\n        value.forEach(function(subValue) {\\n          result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\\n        });\\n      } else if (isMap(value)) {\\n        value.forEach(function(subValue, key) {\\n          result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\\n        });\\n      }\\n\\n      var keysFunc = isFull\\n        ? (isFlat ? getAllKeysIn : getAllKeys)\\n        : (isFlat ? keysIn : keys);\\n\\n      var props = isArr ? undefined : keysFunc(value);\\n      arrayEach(props || value, function(subValue, key) {\\n        if (props) {\\n          key = subValue;\\n          subValue = value[key];\\n        }\\n        // Recursively populate clone (susceptible to call stack limits).\\n        assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\\n      });\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.conforms` which doesn't clone `source`.\\n     *\\n     * @private\\n     * @param {Object} source The object of property predicates to conform to.\\n     * @returns {Function} Returns the new spec function.\\n     */\\n    function baseConforms(source) {\\n      var props = keys(source);\\n      return function(object) {\\n        return baseConformsTo(object, source, props);\\n      };\\n    }\\n\\n    /**\\n     * The base implementation of `_.conformsTo` which accepts `props` to check.\\n     *\\n     * @private\\n     * @param {Object} object The object to inspect.\\n     * @param {Object} source The object of property predicates to conform to.\\n     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\\n     */\\n    function baseConformsTo(object, source, props) {\\n      var length = props.length;\\n      if (object == null) {\\n        return !length;\\n      }\\n      object = Object(object);\\n      while (length--) {\\n        var key = props[length],\\n            predicate = source[key],\\n            value = object[key];\\n\\n        if ((value === undefined && !(key in object)) || !predicate(value)) {\\n          return false;\\n        }\\n      }\\n      return true;\\n    }\\n\\n    /**\\n     * The base implementation of `_.delay` and `_.defer` which accepts `args`\\n     * to provide to `func`.\\n     *\\n     * @private\\n     * @param {Function} func The function to delay.\\n     * @param {number} wait The number of milliseconds to delay invocation.\\n     * @param {Array} args The arguments to provide to `func`.\\n     * @returns {number|Object} Returns the timer id or timeout object.\\n     */\\n    function baseDelay(func, wait, args) {\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      return setTimeout(function() { func.apply(undefined, args); }, wait);\\n    }\\n\\n    /**\\n     * The base implementation of methods like `_.difference` without support\\n     * for excluding multiple arrays or iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array} array The array to inspect.\\n     * @param {Array} values The values to exclude.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of filtered values.\\n     */\\n    function baseDifference(array, values, iteratee, comparator) {\\n      var index = -1,\\n          includes = arrayIncludes,\\n          isCommon = true,\\n          length = array.length,\\n          result = [],\\n          valuesLength = values.length;\\n\\n      if (!length) {\\n        return result;\\n      }\\n      if (iteratee) {\\n        values = arrayMap(values, baseUnary(iteratee));\\n      }\\n      if (comparator) {\\n        includes = arrayIncludesWith;\\n        isCommon = false;\\n      }\\n      else if (values.length >= LARGE_ARRAY_SIZE) {\\n        includes = cacheHas;\\n        isCommon = false;\\n        values = new SetCache(values);\\n      }\\n      outer:\\n      while (++index < length) {\\n        var value = array[index],\\n            computed = iteratee == null ? value : iteratee(value);\\n\\n        value = (comparator || value !== 0) ? value : 0;\\n        if (isCommon && computed === computed) {\\n          var valuesIndex = valuesLength;\\n          while (valuesIndex--) {\\n            if (values[valuesIndex] === computed) {\\n              continue outer;\\n            }\\n          }\\n          result.push(value);\\n        }\\n        else if (!includes(values, computed, comparator)) {\\n          result.push(value);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.forEach` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @returns {Array|Object} Returns `collection`.\\n     */\\n    var baseEach = createBaseEach(baseForOwn);\\n\\n    /**\\n     * The base implementation of `_.forEachRight` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @returns {Array|Object} Returns `collection`.\\n     */\\n    var baseEachRight = createBaseEach(baseForOwnRight, true);\\n\\n    /**\\n     * The base implementation of `_.every` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} predicate The function invoked per iteration.\\n     * @returns {boolean} Returns `true` if all elements pass the predicate check,\\n     *  else `false`\\n     */\\n    function baseEvery(collection, predicate) {\\n      var result = true;\\n      baseEach(collection, function(value, index, collection) {\\n        result = !!predicate(value, index, collection);\\n        return result;\\n      });\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of methods like `_.max` and `_.min` which accepts a\\n     * `comparator` to determine the extremum value.\\n     *\\n     * @private\\n     * @param {Array} array The array to iterate over.\\n     * @param {Function} iteratee The iteratee invoked per iteration.\\n     * @param {Function} comparator The comparator used to compare values.\\n     * @returns {*} Returns the extremum value.\\n     */\\n    function baseExtremum(array, iteratee, comparator) {\\n      var index = -1,\\n          length = array.length;\\n\\n      while (++index < length) {\\n        var value = array[index],\\n            current = iteratee(value);\\n\\n        if (current != null && (computed === undefined\\n              ? (current === current && !isSymbol(current))\\n              : comparator(current, computed)\\n            )) {\\n          var computed = current,\\n              result = value;\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.fill` without an iteratee call guard.\\n     *\\n     * @private\\n     * @param {Array} array The array to fill.\\n     * @param {*} value The value to fill `array` with.\\n     * @param {number} [start=0] The start position.\\n     * @param {number} [end=array.length] The end position.\\n     * @returns {Array} Returns `array`.\\n     */\\n    function baseFill(array, value, start, end) {\\n      var length = array.length;\\n\\n      start = toInteger(start);\\n      if (start < 0) {\\n        start = -start > length ? 0 : (length + start);\\n      }\\n      end = (end === undefined || end > length) ? length : toInteger(end);\\n      if (end < 0) {\\n        end += length;\\n      }\\n      end = start > end ? 0 : toLength(end);\\n      while (start < end) {\\n        array[start++] = value;\\n      }\\n      return array;\\n    }\\n\\n    /**\\n     * The base implementation of `_.filter` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} predicate The function invoked per iteration.\\n     * @returns {Array} Returns the new filtered array.\\n     */\\n    function baseFilter(collection, predicate) {\\n      var result = [];\\n      baseEach(collection, function(value, index, collection) {\\n        if (predicate(value, index, collection)) {\\n          result.push(value);\\n        }\\n      });\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.flatten` with support for restricting flattening.\\n     *\\n     * @private\\n     * @param {Array} array The array to flatten.\\n     * @param {number} depth The maximum recursion depth.\\n     * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\\n     * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\\n     * @param {Array} [result=[]] The initial result value.\\n     * @returns {Array} Returns the new flattened array.\\n     */\\n    function baseFlatten(array, depth, predicate, isStrict, result) {\\n      var index = -1,\\n          length = array.length;\\n\\n      predicate || (predicate = isFlattenable);\\n      result || (result = []);\\n\\n      while (++index < length) {\\n        var value = array[index];\\n        if (depth > 0 && predicate(value)) {\\n          if (depth > 1) {\\n            // Recursively flatten arrays (susceptible to call stack limits).\\n            baseFlatten(value, depth - 1, predicate, isStrict, result);\\n          } else {\\n            arrayPush(result, value);\\n          }\\n        } else if (!isStrict) {\\n          result[result.length] = value;\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `baseForOwn` which iterates over `object`\\n     * properties returned by `keysFunc` and invokes `iteratee` for each property.\\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\\n     *\\n     * @private\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @param {Function} keysFunc The function to get the keys of `object`.\\n     * @returns {Object} Returns `object`.\\n     */\\n    var baseFor = createBaseFor();\\n\\n    /**\\n     * This function is like `baseFor` except that it iterates over properties\\n     * in the opposite order.\\n     *\\n     * @private\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @param {Function} keysFunc The function to get the keys of `object`.\\n     * @returns {Object} Returns `object`.\\n     */\\n    var baseForRight = createBaseFor(true);\\n\\n    /**\\n     * The base implementation of `_.forOwn` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function baseForOwn(object, iteratee) {\\n      return object && baseFor(object, iteratee, keys);\\n    }\\n\\n    /**\\n     * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function baseForOwnRight(object, iteratee) {\\n      return object && baseForRight(object, iteratee, keys);\\n    }\\n\\n    /**\\n     * The base implementation of `_.functions` which creates an array of\\n     * `object` function property names filtered from `props`.\\n     *\\n     * @private\\n     * @param {Object} object The object to inspect.\\n     * @param {Array} props The property names to filter.\\n     * @returns {Array} Returns the function names.\\n     */\\n    function baseFunctions(object, props) {\\n      return arrayFilter(props, function(key) {\\n        return isFunction(object[key]);\\n      });\\n    }\\n\\n    /**\\n     * The base implementation of `_.get` without support for default values.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path of the property to get.\\n     * @returns {*} Returns the resolved value.\\n     */\\n    function baseGet(object, path) {\\n      path = castPath(path, object);\\n\\n      var index = 0,\\n          length = path.length;\\n\\n      while (object != null && index < length) {\\n        object = object[toKey(path[index++])];\\n      }\\n      return (index && index == length) ? object : undefined;\\n    }\\n\\n    /**\\n     * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\\n     * `keysFunc` and `symbolsFunc` to get the enumerable property names and\\n     * symbols of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {Function} keysFunc The function to get the keys of `object`.\\n     * @param {Function} symbolsFunc The function to get the symbols of `object`.\\n     * @returns {Array} Returns the array of property names and symbols.\\n     */\\n    function baseGetAllKeys(object, keysFunc, symbolsFunc) {\\n      var result = keysFunc(object);\\n      return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\\n    }\\n\\n    /**\\n     * The base implementation of `getTag` without fallbacks for buggy environments.\\n     *\\n     * @private\\n     * @param {*} value The value to query.\\n     * @returns {string} Returns the `toStringTag`.\\n     */\\n    function baseGetTag(value) {\\n      if (value == null) {\\n        return value === undefined ? undefinedTag : nullTag;\\n      }\\n      return (symToStringTag && symToStringTag in Object(value))\\n        ? getRawTag(value)\\n        : objectToString(value);\\n    }\\n\\n    /**\\n     * The base implementation of `_.gt` which doesn't coerce arguments.\\n     *\\n     * @private\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if `value` is greater than `other`,\\n     *  else `false`.\\n     */\\n    function baseGt(value, other) {\\n      return value > other;\\n    }\\n\\n    /**\\n     * The base implementation of `_.has` without support for deep paths.\\n     *\\n     * @private\\n     * @param {Object} [object] The object to query.\\n     * @param {Array|string} key The key to check.\\n     * @returns {boolean} Returns `true` if `key` exists, else `false`.\\n     */\\n    function baseHas(object, key) {\\n      return object != null && hasOwnProperty.call(object, key);\\n    }\\n\\n    /**\\n     * The base implementation of `_.hasIn` without support for deep paths.\\n     *\\n     * @private\\n     * @param {Object} [object] The object to query.\\n     * @param {Array|string} key The key to check.\\n     * @returns {boolean} Returns `true` if `key` exists, else `false`.\\n     */\\n    function baseHasIn(object, key) {\\n      return object != null && key in Object(object);\\n    }\\n\\n    /**\\n     * The base implementation of `_.inRange` which doesn't coerce arguments.\\n     *\\n     * @private\\n     * @param {number} number The number to check.\\n     * @param {number} start The start of the range.\\n     * @param {number} end The end of the range.\\n     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\\n     */\\n    function baseInRange(number, start, end) {\\n      return number >= nativeMin(start, end) && number < nativeMax(start, end);\\n    }\\n\\n    /**\\n     * The base implementation of methods like `_.intersection`, without support\\n     * for iteratee shorthands, that accepts an array of arrays to inspect.\\n     *\\n     * @private\\n     * @param {Array} arrays The arrays to inspect.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of shared values.\\n     */\\n    function baseIntersection(arrays, iteratee, comparator) {\\n      var includes = comparator ? arrayIncludesWith : arrayIncludes,\\n          length = arrays[0].length,\\n          othLength = arrays.length,\\n          othIndex = othLength,\\n          caches = Array(othLength),\\n          maxLength = Infinity,\\n          result = [];\\n\\n      while (othIndex--) {\\n        var array = arrays[othIndex];\\n        if (othIndex && iteratee) {\\n          array = arrayMap(array, baseUnary(iteratee));\\n        }\\n        maxLength = nativeMin(array.length, maxLength);\\n        caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\\n          ? new SetCache(othIndex && array)\\n          : undefined;\\n      }\\n      array = arrays[0];\\n\\n      var index = -1,\\n          seen = caches[0];\\n\\n      outer:\\n      while (++index < length && result.length < maxLength) {\\n        var value = array[index],\\n            computed = iteratee ? iteratee(value) : value;\\n\\n        value = (comparator || value !== 0) ? value : 0;\\n        if (!(seen\\n              ? cacheHas(seen, computed)\\n              : includes(result, computed, comparator)\\n            )) {\\n          othIndex = othLength;\\n          while (--othIndex) {\\n            var cache = caches[othIndex];\\n            if (!(cache\\n                  ? cacheHas(cache, computed)\\n                  : includes(arrays[othIndex], computed, comparator))\\n                ) {\\n              continue outer;\\n            }\\n          }\\n          if (seen) {\\n            seen.push(computed);\\n          }\\n          result.push(value);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.invert` and `_.invertBy` which inverts\\n     * `object` with values transformed by `iteratee` and set by `setter`.\\n     *\\n     * @private\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} setter The function to set `accumulator` values.\\n     * @param {Function} iteratee The iteratee to transform values.\\n     * @param {Object} accumulator The initial inverted object.\\n     * @returns {Function} Returns `accumulator`.\\n     */\\n    function baseInverter(object, setter, iteratee, accumulator) {\\n      baseForOwn(object, function(value, key, object) {\\n        setter(accumulator, iteratee(value), key, object);\\n      });\\n      return accumulator;\\n    }\\n\\n    /**\\n     * The base implementation of `_.invoke` without support for individual\\n     * method arguments.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path of the method to invoke.\\n     * @param {Array} args The arguments to invoke the method with.\\n     * @returns {*} Returns the result of the invoked method.\\n     */\\n    function baseInvoke(object, path, args) {\\n      path = castPath(path, object);\\n      object = parent(object, path);\\n      var func = object == null ? object : object[toKey(last(path))];\\n      return func == null ? undefined : apply(func, object, args);\\n    }\\n\\n    /**\\n     * The base implementation of `_.isArguments`.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\\n     */\\n    function baseIsArguments(value) {\\n      return isObjectLike(value) && baseGetTag(value) == argsTag;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\\n     */\\n    function baseIsArrayBuffer(value) {\\n      return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isDate` without Node.js optimizations.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\\n     */\\n    function baseIsDate(value) {\\n      return isObjectLike(value) && baseGetTag(value) == dateTag;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isEqual` which supports partial comparisons\\n     * and tracks traversed objects.\\n     *\\n     * @private\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @param {boolean} bitmask The bitmask flags.\\n     *  1 - Unordered comparison\\n     *  2 - Partial comparison\\n     * @param {Function} [customizer] The function to customize comparisons.\\n     * @param {Object} [stack] Tracks traversed `value` and `other` objects.\\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\\n     */\\n    function baseIsEqual(value, other, bitmask, customizer, stack) {\\n      if (value === other) {\\n        return true;\\n      }\\n      if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\\n        return value !== value && other !== other;\\n      }\\n      return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\\n    }\\n\\n    /**\\n     * A specialized version of `baseIsEqual` for arrays and objects which performs\\n     * deep comparisons and tracks traversed objects enabling objects with circular\\n     * references to be compared.\\n     *\\n     * @private\\n     * @param {Object} object The object to compare.\\n     * @param {Object} other The other object to compare.\\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\\n     * @param {Function} customizer The function to customize comparisons.\\n     * @param {Function} equalFunc The function to determine equivalents of values.\\n     * @param {Object} [stack] Tracks traversed `object` and `other` objects.\\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\\n     */\\n    function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\\n      var objIsArr = isArray(object),\\n          othIsArr = isArray(other),\\n          objTag = objIsArr ? arrayTag : getTag(object),\\n          othTag = othIsArr ? arrayTag : getTag(other);\\n\\n      objTag = objTag == argsTag ? objectTag : objTag;\\n      othTag = othTag == argsTag ? objectTag : othTag;\\n\\n      var objIsObj = objTag == objectTag,\\n          othIsObj = othTag == objectTag,\\n          isSameTag = objTag == othTag;\\n\\n      if (isSameTag && isBuffer(object)) {\\n        if (!isBuffer(other)) {\\n          return false;\\n        }\\n        objIsArr = true;\\n        objIsObj = false;\\n      }\\n      if (isSameTag && !objIsObj) {\\n        stack || (stack = new Stack);\\n        return (objIsArr || isTypedArray(object))\\n          ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\\n          : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\\n      }\\n      if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\\n        var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\\n            othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\\n\\n        if (objIsWrapped || othIsWrapped) {\\n          var objUnwrapped = objIsWrapped ? object.value() : object,\\n              othUnwrapped = othIsWrapped ? other.value() : other;\\n\\n          stack || (stack = new Stack);\\n          return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\\n        }\\n      }\\n      if (!isSameTag) {\\n        return false;\\n      }\\n      stack || (stack = new Stack);\\n      return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\\n    }\\n\\n    /**\\n     * The base implementation of `_.isMap` without Node.js optimizations.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\\n     */\\n    function baseIsMap(value) {\\n      return isObjectLike(value) && getTag(value) == mapTag;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isMatch` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Object} object The object to inspect.\\n     * @param {Object} source The object of property values to match.\\n     * @param {Array} matchData The property names, values, and compare flags to match.\\n     * @param {Function} [customizer] The function to customize comparisons.\\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\\n     */\\n    function baseIsMatch(object, source, matchData, customizer) {\\n      var index = matchData.length,\\n          length = index,\\n          noCustomizer = !customizer;\\n\\n      if (object == null) {\\n        return !length;\\n      }\\n      object = Object(object);\\n      while (index--) {\\n        var data = matchData[index];\\n        if ((noCustomizer && data[2])\\n              ? data[1] !== object[data[0]]\\n              : !(data[0] in object)\\n            ) {\\n          return false;\\n        }\\n      }\\n      while (++index < length) {\\n        data = matchData[index];\\n        var key = data[0],\\n            objValue = object[key],\\n            srcValue = data[1];\\n\\n        if (noCustomizer && data[2]) {\\n          if (objValue === undefined && !(key in object)) {\\n            return false;\\n          }\\n        } else {\\n          var stack = new Stack;\\n          if (customizer) {\\n            var result = customizer(objValue, srcValue, key, object, source, stack);\\n          }\\n          if (!(result === undefined\\n                ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\\n                : result\\n              )) {\\n            return false;\\n          }\\n        }\\n      }\\n      return true;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isNative` without bad shim checks.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a native function,\\n     *  else `false`.\\n     */\\n    function baseIsNative(value) {\\n      if (!isObject(value) || isMasked(value)) {\\n        return false;\\n      }\\n      var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\\n      return pattern.test(toSource(value));\\n    }\\n\\n    /**\\n     * The base implementation of `_.isRegExp` without Node.js optimizations.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\\n     */\\n    function baseIsRegExp(value) {\\n      return isObjectLike(value) && baseGetTag(value) == regexpTag;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isSet` without Node.js optimizations.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\\n     */\\n    function baseIsSet(value) {\\n      return isObjectLike(value) && getTag(value) == setTag;\\n    }\\n\\n    /**\\n     * The base implementation of `_.isTypedArray` without Node.js optimizations.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\\n     */\\n    function baseIsTypedArray(value) {\\n      return isObjectLike(value) &&\\n        isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\\n    }\\n\\n    /**\\n     * The base implementation of `_.iteratee`.\\n     *\\n     * @private\\n     * @param {*} [value=_.identity] The value to convert to an iteratee.\\n     * @returns {Function} Returns the iteratee.\\n     */\\n    function baseIteratee(value) {\\n      // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\\n      // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\\n      if (typeof value == 'function') {\\n        return value;\\n      }\\n      if (value == null) {\\n        return identity;\\n      }\\n      if (typeof value == 'object') {\\n        return isArray(value)\\n          ? baseMatchesProperty(value[0], value[1])\\n          : baseMatches(value);\\n      }\\n      return property(value);\\n    }\\n\\n    /**\\n     * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names.\\n     */\\n    function baseKeys(object) {\\n      if (!isPrototype(object)) {\\n        return nativeKeys(object);\\n      }\\n      var result = [];\\n      for (var key in Object(object)) {\\n        if (hasOwnProperty.call(object, key) && key != 'constructor') {\\n          result.push(key);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names.\\n     */\\n    function baseKeysIn(object) {\\n      if (!isObject(object)) {\\n        return nativeKeysIn(object);\\n      }\\n      var isProto = isPrototype(object),\\n          result = [];\\n\\n      for (var key in object) {\\n        if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\\n          result.push(key);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.lt` which doesn't coerce arguments.\\n     *\\n     * @private\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if `value` is less than `other`,\\n     *  else `false`.\\n     */\\n    function baseLt(value, other) {\\n      return value < other;\\n    }\\n\\n    /**\\n     * The base implementation of `_.map` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} iteratee The function invoked per iteration.\\n     * @returns {Array} Returns the new mapped array.\\n     */\\n    function baseMap(collection, iteratee) {\\n      var index = -1,\\n          result = isArrayLike(collection) ? Array(collection.length) : [];\\n\\n      baseEach(collection, function(value, key, collection) {\\n        result[++index] = iteratee(value, key, collection);\\n      });\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.matches` which doesn't clone `source`.\\n     *\\n     * @private\\n     * @param {Object} source The object of property values to match.\\n     * @returns {Function} Returns the new spec function.\\n     */\\n    function baseMatches(source) {\\n      var matchData = getMatchData(source);\\n      if (matchData.length == 1 && matchData[0][2]) {\\n        return matchesStrictComparable(matchData[0][0], matchData[0][1]);\\n      }\\n      return function(object) {\\n        return object === source || baseIsMatch(object, source, matchData);\\n      };\\n    }\\n\\n    /**\\n     * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\\n     *\\n     * @private\\n     * @param {string} path The path of the property to get.\\n     * @param {*} srcValue The value to match.\\n     * @returns {Function} Returns the new spec function.\\n     */\\n    function baseMatchesProperty(path, srcValue) {\\n      if (isKey(path) && isStrictComparable(srcValue)) {\\n        return matchesStrictComparable(toKey(path), srcValue);\\n      }\\n      return function(object) {\\n        var objValue = get(object, path);\\n        return (objValue === undefined && objValue === srcValue)\\n          ? hasIn(object, path)\\n          : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\\n      };\\n    }\\n\\n    /**\\n     * The base implementation of `_.merge` without support for multiple sources.\\n     *\\n     * @private\\n     * @param {Object} object The destination object.\\n     * @param {Object} source The source object.\\n     * @param {number} srcIndex The index of `source`.\\n     * @param {Function} [customizer] The function to customize merged values.\\n     * @param {Object} [stack] Tracks traversed source values and their merged\\n     *  counterparts.\\n     */\\n    function baseMerge(object, source, srcIndex, customizer, stack) {\\n      if (object === source) {\\n        return;\\n      }\\n      baseFor(source, function(srcValue, key) {\\n        stack || (stack = new Stack);\\n        if (isObject(srcValue)) {\\n          baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\\n        }\\n        else {\\n          var newValue = customizer\\n            ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\\n            : undefined;\\n\\n          if (newValue === undefined) {\\n            newValue = srcValue;\\n          }\\n          assignMergeValue(object, key, newValue);\\n        }\\n      }, keysIn);\\n    }\\n\\n    /**\\n     * A specialized version of `baseMerge` for arrays and objects which performs\\n     * deep merges and tracks traversed objects enabling objects with circular\\n     * references to be merged.\\n     *\\n     * @private\\n     * @param {Object} object The destination object.\\n     * @param {Object} source The source object.\\n     * @param {string} key The key of the value to merge.\\n     * @param {number} srcIndex The index of `source`.\\n     * @param {Function} mergeFunc The function to merge values.\\n     * @param {Function} [customizer] The function to customize assigned values.\\n     * @param {Object} [stack] Tracks traversed source values and their merged\\n     *  counterparts.\\n     */\\n    function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\\n      var objValue = safeGet(object, key),\\n          srcValue = safeGet(source, key),\\n          stacked = stack.get(srcValue);\\n\\n      if (stacked) {\\n        assignMergeValue(object, key, stacked);\\n        return;\\n      }\\n      var newValue = customizer\\n        ? customizer(objValue, srcValue, (key + ''), object, source, stack)\\n        : undefined;\\n\\n      var isCommon = newValue === undefined;\\n\\n      if (isCommon) {\\n        var isArr = isArray(srcValue),\\n            isBuff = !isArr && isBuffer(srcValue),\\n            isTyped = !isArr && !isBuff && isTypedArray(srcValue);\\n\\n        newValue = srcValue;\\n        if (isArr || isBuff || isTyped) {\\n          if (isArray(objValue)) {\\n            newValue = objValue;\\n          }\\n          else if (isArrayLikeObject(objValue)) {\\n            newValue = copyArray(objValue);\\n          }\\n          else if (isBuff) {\\n            isCommon = false;\\n            newValue = cloneBuffer(srcValue, true);\\n          }\\n          else if (isTyped) {\\n            isCommon = false;\\n            newValue = cloneTypedArray(srcValue, true);\\n          }\\n          else {\\n            newValue = [];\\n          }\\n        }\\n        else if (isPlainObject(srcValue) || isArguments(srcValue)) {\\n          newValue = objValue;\\n          if (isArguments(objValue)) {\\n            newValue = toPlainObject(objValue);\\n          }\\n          else if (!isObject(objValue) || isFunction(objValue)) {\\n            newValue = initCloneObject(srcValue);\\n          }\\n        }\\n        else {\\n          isCommon = false;\\n        }\\n      }\\n      if (isCommon) {\\n        // Recursively merge objects and arrays (susceptible to call stack limits).\\n        stack.set(srcValue, newValue);\\n        mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\\n        stack['delete'](srcValue);\\n      }\\n      assignMergeValue(object, key, newValue);\\n    }\\n\\n    /**\\n     * The base implementation of `_.nth` which doesn't coerce arguments.\\n     *\\n     * @private\\n     * @param {Array} array The array to query.\\n     * @param {number} n The index of the element to return.\\n     * @returns {*} Returns the nth element of `array`.\\n     */\\n    function baseNth(array, n) {\\n      var length = array.length;\\n      if (!length) {\\n        return;\\n      }\\n      n += n < 0 ? length : 0;\\n      return isIndex(n, length) ? array[n] : undefined;\\n    }\\n\\n    /**\\n     * The base implementation of `_.orderBy` without param guards.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\\n     * @param {string[]} orders The sort orders of `iteratees`.\\n     * @returns {Array} Returns the new sorted array.\\n     */\\n    function baseOrderBy(collection, iteratees, orders) {\\n      var index = -1;\\n      iteratees = arrayMap(iteratees.length ? iteratees : [identity], baseUnary(getIteratee()));\\n\\n      var result = baseMap(collection, function(value, key, collection) {\\n        var criteria = arrayMap(iteratees, function(iteratee) {\\n          return iteratee(value);\\n        });\\n        return { 'criteria': criteria, 'index': ++index, 'value': value };\\n      });\\n\\n      return baseSortBy(result, function(object, other) {\\n        return compareMultiple(object, other, orders);\\n      });\\n    }\\n\\n    /**\\n     * The base implementation of `_.pick` without support for individual\\n     * property identifiers.\\n     *\\n     * @private\\n     * @param {Object} object The source object.\\n     * @param {string[]} paths The property paths to pick.\\n     * @returns {Object} Returns the new object.\\n     */\\n    function basePick(object, paths) {\\n      return basePickBy(object, paths, function(value, path) {\\n        return hasIn(object, path);\\n      });\\n    }\\n\\n    /**\\n     * The base implementation of  `_.pickBy` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Object} object The source object.\\n     * @param {string[]} paths The property paths to pick.\\n     * @param {Function} predicate The function invoked per property.\\n     * @returns {Object} Returns the new object.\\n     */\\n    function basePickBy(object, paths, predicate) {\\n      var index = -1,\\n          length = paths.length,\\n          result = {};\\n\\n      while (++index < length) {\\n        var path = paths[index],\\n            value = baseGet(object, path);\\n\\n        if (predicate(value, path)) {\\n          baseSet(result, castPath(path, object), value);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * A specialized version of `baseProperty` which supports deep paths.\\n     *\\n     * @private\\n     * @param {Array|string} path The path of the property to get.\\n     * @returns {Function} Returns the new accessor function.\\n     */\\n    function basePropertyDeep(path) {\\n      return function(object) {\\n        return baseGet(object, path);\\n      };\\n    }\\n\\n    /**\\n     * The base implementation of `_.pullAllBy` without support for iteratee\\n     * shorthands.\\n     *\\n     * @private\\n     * @param {Array} array The array to modify.\\n     * @param {Array} values The values to remove.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns `array`.\\n     */\\n    function basePullAll(array, values, iteratee, comparator) {\\n      var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\\n          index = -1,\\n          length = values.length,\\n          seen = array;\\n\\n      if (array === values) {\\n        values = copyArray(values);\\n      }\\n      if (iteratee) {\\n        seen = arrayMap(array, baseUnary(iteratee));\\n      }\\n      while (++index < length) {\\n        var fromIndex = 0,\\n            value = values[index],\\n            computed = iteratee ? iteratee(value) : value;\\n\\n        while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\\n          if (seen !== array) {\\n            splice.call(seen, fromIndex, 1);\\n          }\\n          splice.call(array, fromIndex, 1);\\n        }\\n      }\\n      return array;\\n    }\\n\\n    /**\\n     * The base implementation of `_.pullAt` without support for individual\\n     * indexes or capturing the removed elements.\\n     *\\n     * @private\\n     * @param {Array} array The array to modify.\\n     * @param {number[]} indexes The indexes of elements to remove.\\n     * @returns {Array} Returns `array`.\\n     */\\n    function basePullAt(array, indexes) {\\n      var length = array ? indexes.length : 0,\\n          lastIndex = length - 1;\\n\\n      while (length--) {\\n        var index = indexes[length];\\n        if (length == lastIndex || index !== previous) {\\n          var previous = index;\\n          if (isIndex(index)) {\\n            splice.call(array, index, 1);\\n          } else {\\n            baseUnset(array, index);\\n          }\\n        }\\n      }\\n      return array;\\n    }\\n\\n    /**\\n     * The base implementation of `_.random` without support for returning\\n     * floating-point numbers.\\n     *\\n     * @private\\n     * @param {number} lower The lower bound.\\n     * @param {number} upper The upper bound.\\n     * @returns {number} Returns the random number.\\n     */\\n    function baseRandom(lower, upper) {\\n      return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\\n    }\\n\\n    /**\\n     * The base implementation of `_.range` and `_.rangeRight` which doesn't\\n     * coerce arguments.\\n     *\\n     * @private\\n     * @param {number} start The start of the range.\\n     * @param {number} end The end of the range.\\n     * @param {number} step The value to increment or decrement by.\\n     * @param {boolean} [fromRight] Specify iterating from right to left.\\n     * @returns {Array} Returns the range of numbers.\\n     */\\n    function baseRange(start, end, step, fromRight) {\\n      var index = -1,\\n          length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\\n          result = Array(length);\\n\\n      while (length--) {\\n        result[fromRight ? length : ++index] = start;\\n        start += step;\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.repeat` which doesn't coerce arguments.\\n     *\\n     * @private\\n     * @param {string} string The string to repeat.\\n     * @param {number} n The number of times to repeat the string.\\n     * @returns {string} Returns the repeated string.\\n     */\\n    function baseRepeat(string, n) {\\n      var result = '';\\n      if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\\n        return result;\\n      }\\n      // Leverage the exponentiation by squaring algorithm for a faster repeat.\\n      // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\\n      do {\\n        if (n % 2) {\\n          result += string;\\n        }\\n        n = nativeFloor(n / 2);\\n        if (n) {\\n          string += string;\\n        }\\n      } while (n);\\n\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.rest` which doesn't validate or coerce arguments.\\n     *\\n     * @private\\n     * @param {Function} func The function to apply a rest parameter to.\\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\\n     * @returns {Function} Returns the new function.\\n     */\\n    function baseRest(func, start) {\\n      return setToString(overRest(func, start, identity), func + '');\\n    }\\n\\n    /**\\n     * The base implementation of `_.sample`.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to sample.\\n     * @returns {*} Returns the random element.\\n     */\\n    function baseSample(collection) {\\n      return arraySample(values(collection));\\n    }\\n\\n    /**\\n     * The base implementation of `_.sampleSize` without param guards.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to sample.\\n     * @param {number} n The number of elements to sample.\\n     * @returns {Array} Returns the random elements.\\n     */\\n    function baseSampleSize(collection, n) {\\n      var array = values(collection);\\n      return shuffleSelf(array, baseClamp(n, 0, array.length));\\n    }\\n\\n    /**\\n     * The base implementation of `_.set`.\\n     *\\n     * @private\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to set.\\n     * @param {*} value The value to set.\\n     * @param {Function} [customizer] The function to customize path creation.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function baseSet(object, path, value, customizer) {\\n      if (!isObject(object)) {\\n        return object;\\n      }\\n      path = castPath(path, object);\\n\\n      var index = -1,\\n          length = path.length,\\n          lastIndex = length - 1,\\n          nested = object;\\n\\n      while (nested != null && ++index < length) {\\n        var key = toKey(path[index]),\\n            newValue = value;\\n\\n        if (index != lastIndex) {\\n          var objValue = nested[key];\\n          newValue = customizer ? customizer(objValue, key, nested) : undefined;\\n          if (newValue === undefined) {\\n            newValue = isObject(objValue)\\n              ? objValue\\n              : (isIndex(path[index + 1]) ? [] : {});\\n          }\\n        }\\n        assignValue(nested, key, newValue);\\n        nested = nested[key];\\n      }\\n      return object;\\n    }\\n\\n    /**\\n     * The base implementation of `setData` without support for hot loop shorting.\\n     *\\n     * @private\\n     * @param {Function} func The function to associate metadata with.\\n     * @param {*} data The metadata.\\n     * @returns {Function} Returns `func`.\\n     */\\n    var baseSetData = !metaMap ? identity : function(func, data) {\\n      metaMap.set(func, data);\\n      return func;\\n    };\\n\\n    /**\\n     * The base implementation of `setToString` without support for hot loop shorting.\\n     *\\n     * @private\\n     * @param {Function} func The function to modify.\\n     * @param {Function} string The `toString` result.\\n     * @returns {Function} Returns `func`.\\n     */\\n    var baseSetToString = !defineProperty ? identity : function(func, string) {\\n      return defineProperty(func, 'toString', {\\n        'configurable': true,\\n        'enumerable': false,\\n        'value': constant(string),\\n        'writable': true\\n      });\\n    };\\n\\n    /**\\n     * The base implementation of `_.shuffle`.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to shuffle.\\n     * @returns {Array} Returns the new shuffled array.\\n     */\\n    function baseShuffle(collection) {\\n      return shuffleSelf(values(collection));\\n    }\\n\\n    /**\\n     * The base implementation of `_.slice` without an iteratee call guard.\\n     *\\n     * @private\\n     * @param {Array} array The array to slice.\\n     * @param {number} [start=0] The start position.\\n     * @param {number} [end=array.length] The end position.\\n     * @returns {Array} Returns the slice of `array`.\\n     */\\n    function baseSlice(array, start, end) {\\n      var index = -1,\\n          length = array.length;\\n\\n      if (start < 0) {\\n        start = -start > length ? 0 : (length + start);\\n      }\\n      end = end > length ? length : end;\\n      if (end < 0) {\\n        end += length;\\n      }\\n      length = start > end ? 0 : ((end - start) >>> 0);\\n      start >>>= 0;\\n\\n      var result = Array(length);\\n      while (++index < length) {\\n        result[index] = array[index + start];\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.some` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} predicate The function invoked per iteration.\\n     * @returns {boolean} Returns `true` if any element passes the predicate check,\\n     *  else `false`.\\n     */\\n    function baseSome(collection, predicate) {\\n      var result;\\n\\n      baseEach(collection, function(value, index, collection) {\\n        result = predicate(value, index, collection);\\n        return !result;\\n      });\\n      return !!result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\\n     * performs a binary search of `array` to determine the index at which `value`\\n     * should be inserted into `array` in order to maintain its sort order.\\n     *\\n     * @private\\n     * @param {Array} array The sorted array to inspect.\\n     * @param {*} value The value to evaluate.\\n     * @param {boolean} [retHighest] Specify returning the highest qualified index.\\n     * @returns {number} Returns the index at which `value` should be inserted\\n     *  into `array`.\\n     */\\n    function baseSortedIndex(array, value, retHighest) {\\n      var low = 0,\\n          high = array == null ? low : array.length;\\n\\n      if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\\n        while (low < high) {\\n          var mid = (low + high) >>> 1,\\n              computed = array[mid];\\n\\n          if (computed !== null && !isSymbol(computed) &&\\n              (retHighest ? (computed <= value) : (computed < value))) {\\n            low = mid + 1;\\n          } else {\\n            high = mid;\\n          }\\n        }\\n        return high;\\n      }\\n      return baseSortedIndexBy(array, value, identity, retHighest);\\n    }\\n\\n    /**\\n     * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\\n     * which invokes `iteratee` for `value` and each element of `array` to compute\\n     * their sort ranking. The iteratee is invoked with one argument; (value).\\n     *\\n     * @private\\n     * @param {Array} array The sorted array to inspect.\\n     * @param {*} value The value to evaluate.\\n     * @param {Function} iteratee The iteratee invoked per element.\\n     * @param {boolean} [retHighest] Specify returning the highest qualified index.\\n     * @returns {number} Returns the index at which `value` should be inserted\\n     *  into `array`.\\n     */\\n    function baseSortedIndexBy(array, value, iteratee, retHighest) {\\n      value = iteratee(value);\\n\\n      var low = 0,\\n          high = array == null ? 0 : array.length,\\n          valIsNaN = value !== value,\\n          valIsNull = value === null,\\n          valIsSymbol = isSymbol(value),\\n          valIsUndefined = value === undefined;\\n\\n      while (low < high) {\\n        var mid = nativeFloor((low + high) / 2),\\n            computed = iteratee(array[mid]),\\n            othIsDefined = computed !== undefined,\\n            othIsNull = computed === null,\\n            othIsReflexive = computed === computed,\\n            othIsSymbol = isSymbol(computed);\\n\\n        if (valIsNaN) {\\n          var setLow = retHighest || othIsReflexive;\\n        } else if (valIsUndefined) {\\n          setLow = othIsReflexive && (retHighest || othIsDefined);\\n        } else if (valIsNull) {\\n          setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\\n        } else if (valIsSymbol) {\\n          setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\\n        } else if (othIsNull || othIsSymbol) {\\n          setLow = false;\\n        } else {\\n          setLow = retHighest ? (computed <= value) : (computed < value);\\n        }\\n        if (setLow) {\\n          low = mid + 1;\\n        } else {\\n          high = mid;\\n        }\\n      }\\n      return nativeMin(high, MAX_ARRAY_INDEX);\\n    }\\n\\n    /**\\n     * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\\n     * support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @returns {Array} Returns the new duplicate free array.\\n     */\\n    function baseSortedUniq(array, iteratee) {\\n      var index = -1,\\n          length = array.length,\\n          resIndex = 0,\\n          result = [];\\n\\n      while (++index < length) {\\n        var value = array[index],\\n            computed = iteratee ? iteratee(value) : value;\\n\\n        if (!index || !eq(computed, seen)) {\\n          var seen = computed;\\n          result[resIndex++] = value === 0 ? 0 : value;\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.toNumber` which doesn't ensure correct\\n     * conversions of binary, hexadecimal, or octal string values.\\n     *\\n     * @private\\n     * @param {*} value The value to process.\\n     * @returns {number} Returns the number.\\n     */\\n    function baseToNumber(value) {\\n      if (typeof value == 'number') {\\n        return value;\\n      }\\n      if (isSymbol(value)) {\\n        return NAN;\\n      }\\n      return +value;\\n    }\\n\\n    /**\\n     * The base implementation of `_.toString` which doesn't convert nullish\\n     * values to empty strings.\\n     *\\n     * @private\\n     * @param {*} value The value to process.\\n     * @returns {string} Returns the string.\\n     */\\n    function baseToString(value) {\\n      // Exit early for strings to avoid a performance hit in some environments.\\n      if (typeof value == 'string') {\\n        return value;\\n      }\\n      if (isArray(value)) {\\n        // Recursively convert values (susceptible to call stack limits).\\n        return arrayMap(value, baseToString) + '';\\n      }\\n      if (isSymbol(value)) {\\n        return symbolToString ? symbolToString.call(value) : '';\\n      }\\n      var result = (value + '');\\n      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.uniqBy` without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new duplicate free array.\\n     */\\n    function baseUniq(array, iteratee, comparator) {\\n      var index = -1,\\n          includes = arrayIncludes,\\n          length = array.length,\\n          isCommon = true,\\n          result = [],\\n          seen = result;\\n\\n      if (comparator) {\\n        isCommon = false;\\n        includes = arrayIncludesWith;\\n      }\\n      else if (length >= LARGE_ARRAY_SIZE) {\\n        var set = iteratee ? null : createSet(array);\\n        if (set) {\\n          return setToArray(set);\\n        }\\n        isCommon = false;\\n        includes = cacheHas;\\n        seen = new SetCache;\\n      }\\n      else {\\n        seen = iteratee ? [] : result;\\n      }\\n      outer:\\n      while (++index < length) {\\n        var value = array[index],\\n            computed = iteratee ? iteratee(value) : value;\\n\\n        value = (comparator || value !== 0) ? value : 0;\\n        if (isCommon && computed === computed) {\\n          var seenIndex = seen.length;\\n          while (seenIndex--) {\\n            if (seen[seenIndex] === computed) {\\n              continue outer;\\n            }\\n          }\\n          if (iteratee) {\\n            seen.push(computed);\\n          }\\n          result.push(value);\\n        }\\n        else if (!includes(seen, computed, comparator)) {\\n          if (seen !== result) {\\n            seen.push(computed);\\n          }\\n          result.push(value);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * The base implementation of `_.unset`.\\n     *\\n     * @private\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The property path to unset.\\n     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\\n     */\\n    function baseUnset(object, path) {\\n      path = castPath(path, object);\\n      object = parent(object, path);\\n      return object == null || delete object[toKey(last(path))];\\n    }\\n\\n    /**\\n     * The base implementation of `_.update`.\\n     *\\n     * @private\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to update.\\n     * @param {Function} updater The function to produce the updated value.\\n     * @param {Function} [customizer] The function to customize path creation.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function baseUpdate(object, path, updater, customizer) {\\n      return baseSet(object, path, updater(baseGet(object, path)), customizer);\\n    }\\n\\n    /**\\n     * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\\n     * without support for iteratee shorthands.\\n     *\\n     * @private\\n     * @param {Array} array The array to query.\\n     * @param {Function} predicate The function invoked per iteration.\\n     * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\\n     * @param {boolean} [fromRight] Specify iterating from right to left.\\n     * @returns {Array} Returns the slice of `array`.\\n     */\\n    function baseWhile(array, predicate, isDrop, fromRight) {\\n      var length = array.length,\\n          index = fromRight ? length : -1;\\n\\n      while ((fromRight ? index-- : ++index < length) &&\\n        predicate(array[index], index, array)) {}\\n\\n      return isDrop\\n        ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\\n        : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\\n    }\\n\\n    /**\\n     * The base implementation of `wrapperValue` which returns the result of\\n     * performing a sequence of actions on the unwrapped `value`, where each\\n     * successive action is supplied the return value of the previous.\\n     *\\n     * @private\\n     * @param {*} value The unwrapped value.\\n     * @param {Array} actions Actions to perform to resolve the unwrapped value.\\n     * @returns {*} Returns the resolved value.\\n     */\\n    function baseWrapperValue(value, actions) {\\n      var result = value;\\n      if (result instanceof LazyWrapper) {\\n        result = result.value();\\n      }\\n      return arrayReduce(actions, function(result, action) {\\n        return action.func.apply(action.thisArg, arrayPush([result], action.args));\\n      }, result);\\n    }\\n\\n    /**\\n     * The base implementation of methods like `_.xor`, without support for\\n     * iteratee shorthands, that accepts an array of arrays to inspect.\\n     *\\n     * @private\\n     * @param {Array} arrays The arrays to inspect.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of values.\\n     */\\n    function baseXor(arrays, iteratee, comparator) {\\n      var length = arrays.length;\\n      if (length < 2) {\\n        return length ? baseUniq(arrays[0]) : [];\\n      }\\n      var index = -1,\\n          result = Array(length);\\n\\n      while (++index < length) {\\n        var array = arrays[index],\\n            othIndex = -1;\\n\\n        while (++othIndex < length) {\\n          if (othIndex != index) {\\n            result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\\n          }\\n        }\\n      }\\n      return baseUniq(baseFlatten(result, 1), iteratee, comparator);\\n    }\\n\\n    /**\\n     * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\\n     *\\n     * @private\\n     * @param {Array} props The property identifiers.\\n     * @param {Array} values The property values.\\n     * @param {Function} assignFunc The function to assign values.\\n     * @returns {Object} Returns the new object.\\n     */\\n    function baseZipObject(props, values, assignFunc) {\\n      var index = -1,\\n          length = props.length,\\n          valsLength = values.length,\\n          result = {};\\n\\n      while (++index < length) {\\n        var value = index < valsLength ? values[index] : undefined;\\n        assignFunc(result, props[index], value);\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Casts `value` to an empty array if it's not an array like object.\\n     *\\n     * @private\\n     * @param {*} value The value to inspect.\\n     * @returns {Array|Object} Returns the cast array-like object.\\n     */\\n    function castArrayLikeObject(value) {\\n      return isArrayLikeObject(value) ? value : [];\\n    }\\n\\n    /**\\n     * Casts `value` to `identity` if it's not a function.\\n     *\\n     * @private\\n     * @param {*} value The value to inspect.\\n     * @returns {Function} Returns cast function.\\n     */\\n    function castFunction(value) {\\n      return typeof value == 'function' ? value : identity;\\n    }\\n\\n    /**\\n     * Casts `value` to a path array if it's not one.\\n     *\\n     * @private\\n     * @param {*} value The value to inspect.\\n     * @param {Object} [object] The object to query keys on.\\n     * @returns {Array} Returns the cast property path array.\\n     */\\n    function castPath(value, object) {\\n      if (isArray(value)) {\\n        return value;\\n      }\\n      return isKey(value, object) ? [value] : stringToPath(toString(value));\\n    }\\n\\n    /**\\n     * A `baseRest` alias which can be replaced with `identity` by module\\n     * replacement plugins.\\n     *\\n     * @private\\n     * @type {Function}\\n     * @param {Function} func The function to apply a rest parameter to.\\n     * @returns {Function} Returns the new function.\\n     */\\n    var castRest = baseRest;\\n\\n    /**\\n     * Casts `array` to a slice if it's needed.\\n     *\\n     * @private\\n     * @param {Array} array The array to inspect.\\n     * @param {number} start The start position.\\n     * @param {number} [end=array.length] The end position.\\n     * @returns {Array} Returns the cast slice.\\n     */\\n    function castSlice(array, start, end) {\\n      var length = array.length;\\n      end = end === undefined ? length : end;\\n      return (!start && end >= length) ? array : baseSlice(array, start, end);\\n    }\\n\\n    /**\\n     * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\\n     *\\n     * @private\\n     * @param {number|Object} id The timer id or timeout object of the timer to clear.\\n     */\\n    var clearTimeout = ctxClearTimeout || function(id) {\\n      return root.clearTimeout(id);\\n    };\\n\\n    /**\\n     * Creates a clone of  `buffer`.\\n     *\\n     * @private\\n     * @param {Buffer} buffer The buffer to clone.\\n     * @param {boolean} [isDeep] Specify a deep clone.\\n     * @returns {Buffer} Returns the cloned buffer.\\n     */\\n    function cloneBuffer(buffer, isDeep) {\\n      if (isDeep) {\\n        return buffer.slice();\\n      }\\n      var length = buffer.length,\\n          result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\\n\\n      buffer.copy(result);\\n      return result;\\n    }\\n\\n    /**\\n     * Creates a clone of `arrayBuffer`.\\n     *\\n     * @private\\n     * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\\n     * @returns {ArrayBuffer} Returns the cloned array buffer.\\n     */\\n    function cloneArrayBuffer(arrayBuffer) {\\n      var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\\n      new Uint8Array(result).set(new Uint8Array(arrayBuffer));\\n      return result;\\n    }\\n\\n    /**\\n     * Creates a clone of `dataView`.\\n     *\\n     * @private\\n     * @param {Object} dataView The data view to clone.\\n     * @param {boolean} [isDeep] Specify a deep clone.\\n     * @returns {Object} Returns the cloned data view.\\n     */\\n    function cloneDataView(dataView, isDeep) {\\n      var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\\n      return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\\n    }\\n\\n    /**\\n     * Creates a clone of `regexp`.\\n     *\\n     * @private\\n     * @param {Object} regexp The regexp to clone.\\n     * @returns {Object} Returns the cloned regexp.\\n     */\\n    function cloneRegExp(regexp) {\\n      var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\\n      result.lastIndex = regexp.lastIndex;\\n      return result;\\n    }\\n\\n    /**\\n     * Creates a clone of the `symbol` object.\\n     *\\n     * @private\\n     * @param {Object} symbol The symbol object to clone.\\n     * @returns {Object} Returns the cloned symbol object.\\n     */\\n    function cloneSymbol(symbol) {\\n      return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\\n    }\\n\\n    /**\\n     * Creates a clone of `typedArray`.\\n     *\\n     * @private\\n     * @param {Object} typedArray The typed array to clone.\\n     * @param {boolean} [isDeep] Specify a deep clone.\\n     * @returns {Object} Returns the cloned typed array.\\n     */\\n    function cloneTypedArray(typedArray, isDeep) {\\n      var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\\n      return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\\n    }\\n\\n    /**\\n     * Compares values to sort them in ascending order.\\n     *\\n     * @private\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {number} Returns the sort order indicator for `value`.\\n     */\\n    function compareAscending(value, other) {\\n      if (value !== other) {\\n        var valIsDefined = value !== undefined,\\n            valIsNull = value === null,\\n            valIsReflexive = value === value,\\n            valIsSymbol = isSymbol(value);\\n\\n        var othIsDefined = other !== undefined,\\n            othIsNull = other === null,\\n            othIsReflexive = other === other,\\n            othIsSymbol = isSymbol(other);\\n\\n        if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\\n            (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\\n            (valIsNull && othIsDefined && othIsReflexive) ||\\n            (!valIsDefined && othIsReflexive) ||\\n            !valIsReflexive) {\\n          return 1;\\n        }\\n        if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\\n            (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\\n            (othIsNull && valIsDefined && valIsReflexive) ||\\n            (!othIsDefined && valIsReflexive) ||\\n            !othIsReflexive) {\\n          return -1;\\n        }\\n      }\\n      return 0;\\n    }\\n\\n    /**\\n     * Used by `_.orderBy` to compare multiple properties of a value to another\\n     * and stable sort them.\\n     *\\n     * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\\n     * specify an order of \\\"desc\\\" for descending or \\\"asc\\\" for ascending sort order\\n     * of corresponding values.\\n     *\\n     * @private\\n     * @param {Object} object The object to compare.\\n     * @param {Object} other The other object to compare.\\n     * @param {boolean[]|string[]} orders The order to sort by for each property.\\n     * @returns {number} Returns the sort order indicator for `object`.\\n     */\\n    function compareMultiple(object, other, orders) {\\n      var index = -1,\\n          objCriteria = object.criteria,\\n          othCriteria = other.criteria,\\n          length = objCriteria.length,\\n          ordersLength = orders.length;\\n\\n      while (++index < length) {\\n        var result = compareAscending(objCriteria[index], othCriteria[index]);\\n        if (result) {\\n          if (index >= ordersLength) {\\n            return result;\\n          }\\n          var order = orders[index];\\n          return result * (order == 'desc' ? -1 : 1);\\n        }\\n      }\\n      // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\\n      // that causes it, under certain circumstances, to provide the same value for\\n      // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\\n      // for more details.\\n      //\\n      // This also ensures a stable sort in V8 and other engines.\\n      // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\\n      return object.index - other.index;\\n    }\\n\\n    /**\\n     * Creates an array that is the composition of partially applied arguments,\\n     * placeholders, and provided arguments into a single array of arguments.\\n     *\\n     * @private\\n     * @param {Array} args The provided arguments.\\n     * @param {Array} partials The arguments to prepend to those provided.\\n     * @param {Array} holders The `partials` placeholder indexes.\\n     * @params {boolean} [isCurried] Specify composing for a curried function.\\n     * @returns {Array} Returns the new array of composed arguments.\\n     */\\n    function composeArgs(args, partials, holders, isCurried) {\\n      var argsIndex = -1,\\n          argsLength = args.length,\\n          holdersLength = holders.length,\\n          leftIndex = -1,\\n          leftLength = partials.length,\\n          rangeLength = nativeMax(argsLength - holdersLength, 0),\\n          result = Array(leftLength + rangeLength),\\n          isUncurried = !isCurried;\\n\\n      while (++leftIndex < leftLength) {\\n        result[leftIndex] = partials[leftIndex];\\n      }\\n      while (++argsIndex < holdersLength) {\\n        if (isUncurried || argsIndex < argsLength) {\\n          result[holders[argsIndex]] = args[argsIndex];\\n        }\\n      }\\n      while (rangeLength--) {\\n        result[leftIndex++] = args[argsIndex++];\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * This function is like `composeArgs` except that the arguments composition\\n     * is tailored for `_.partialRight`.\\n     *\\n     * @private\\n     * @param {Array} args The provided arguments.\\n     * @param {Array} partials The arguments to append to those provided.\\n     * @param {Array} holders The `partials` placeholder indexes.\\n     * @params {boolean} [isCurried] Specify composing for a curried function.\\n     * @returns {Array} Returns the new array of composed arguments.\\n     */\\n    function composeArgsRight(args, partials, holders, isCurried) {\\n      var argsIndex = -1,\\n          argsLength = args.length,\\n          holdersIndex = -1,\\n          holdersLength = holders.length,\\n          rightIndex = -1,\\n          rightLength = partials.length,\\n          rangeLength = nativeMax(argsLength - holdersLength, 0),\\n          result = Array(rangeLength + rightLength),\\n          isUncurried = !isCurried;\\n\\n      while (++argsIndex < rangeLength) {\\n        result[argsIndex] = args[argsIndex];\\n      }\\n      var offset = argsIndex;\\n      while (++rightIndex < rightLength) {\\n        result[offset + rightIndex] = partials[rightIndex];\\n      }\\n      while (++holdersIndex < holdersLength) {\\n        if (isUncurried || argsIndex < argsLength) {\\n          result[offset + holders[holdersIndex]] = args[argsIndex++];\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Copies the values of `source` to `array`.\\n     *\\n     * @private\\n     * @param {Array} source The array to copy values from.\\n     * @param {Array} [array=[]] The array to copy values to.\\n     * @returns {Array} Returns `array`.\\n     */\\n    function copyArray(source, array) {\\n      var index = -1,\\n          length = source.length;\\n\\n      array || (array = Array(length));\\n      while (++index < length) {\\n        array[index] = source[index];\\n      }\\n      return array;\\n    }\\n\\n    /**\\n     * Copies properties of `source` to `object`.\\n     *\\n     * @private\\n     * @param {Object} source The object to copy properties from.\\n     * @param {Array} props The property identifiers to copy.\\n     * @param {Object} [object={}] The object to copy properties to.\\n     * @param {Function} [customizer] The function to customize copied values.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function copyObject(source, props, object, customizer) {\\n      var isNew = !object;\\n      object || (object = {});\\n\\n      var index = -1,\\n          length = props.length;\\n\\n      while (++index < length) {\\n        var key = props[index];\\n\\n        var newValue = customizer\\n          ? customizer(object[key], source[key], key, object, source)\\n          : undefined;\\n\\n        if (newValue === undefined) {\\n          newValue = source[key];\\n        }\\n        if (isNew) {\\n          baseAssignValue(object, key, newValue);\\n        } else {\\n          assignValue(object, key, newValue);\\n        }\\n      }\\n      return object;\\n    }\\n\\n    /**\\n     * Copies own symbols of `source` to `object`.\\n     *\\n     * @private\\n     * @param {Object} source The object to copy symbols from.\\n     * @param {Object} [object={}] The object to copy symbols to.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function copySymbols(source, object) {\\n      return copyObject(source, getSymbols(source), object);\\n    }\\n\\n    /**\\n     * Copies own and inherited symbols of `source` to `object`.\\n     *\\n     * @private\\n     * @param {Object} source The object to copy symbols from.\\n     * @param {Object} [object={}] The object to copy symbols to.\\n     * @returns {Object} Returns `object`.\\n     */\\n    function copySymbolsIn(source, object) {\\n      return copyObject(source, getSymbolsIn(source), object);\\n    }\\n\\n    /**\\n     * Creates a function like `_.groupBy`.\\n     *\\n     * @private\\n     * @param {Function} setter The function to set accumulator values.\\n     * @param {Function} [initializer] The accumulator object initializer.\\n     * @returns {Function} Returns the new aggregator function.\\n     */\\n    function createAggregator(setter, initializer) {\\n      return function(collection, iteratee) {\\n        var func = isArray(collection) ? arrayAggregator : baseAggregator,\\n            accumulator = initializer ? initializer() : {};\\n\\n        return func(collection, setter, getIteratee(iteratee, 2), accumulator);\\n      };\\n    }\\n\\n    /**\\n     * Creates a function like `_.assign`.\\n     *\\n     * @private\\n     * @param {Function} assigner The function to assign values.\\n     * @returns {Function} Returns the new assigner function.\\n     */\\n    function createAssigner(assigner) {\\n      return baseRest(function(object, sources) {\\n        var index = -1,\\n            length = sources.length,\\n            customizer = length > 1 ? sources[length - 1] : undefined,\\n            guard = length > 2 ? sources[2] : undefined;\\n\\n        customizer = (assigner.length > 3 && typeof customizer == 'function')\\n          ? (length--, customizer)\\n          : undefined;\\n\\n        if (guard && isIterateeCall(sources[0], sources[1], guard)) {\\n          customizer = length < 3 ? undefined : customizer;\\n          length = 1;\\n        }\\n        object = Object(object);\\n        while (++index < length) {\\n          var source = sources[index];\\n          if (source) {\\n            assigner(object, source, index, customizer);\\n          }\\n        }\\n        return object;\\n      });\\n    }\\n\\n    /**\\n     * Creates a `baseEach` or `baseEachRight` function.\\n     *\\n     * @private\\n     * @param {Function} eachFunc The function to iterate over a collection.\\n     * @param {boolean} [fromRight] Specify iterating from right to left.\\n     * @returns {Function} Returns the new base function.\\n     */\\n    function createBaseEach(eachFunc, fromRight) {\\n      return function(collection, iteratee) {\\n        if (collection == null) {\\n          return collection;\\n        }\\n        if (!isArrayLike(collection)) {\\n          return eachFunc(collection, iteratee);\\n        }\\n        var length = collection.length,\\n            index = fromRight ? length : -1,\\n            iterable = Object(collection);\\n\\n        while ((fromRight ? index-- : ++index < length)) {\\n          if (iteratee(iterable[index], index, iterable) === false) {\\n            break;\\n          }\\n        }\\n        return collection;\\n      };\\n    }\\n\\n    /**\\n     * Creates a base function for methods like `_.forIn` and `_.forOwn`.\\n     *\\n     * @private\\n     * @param {boolean} [fromRight] Specify iterating from right to left.\\n     * @returns {Function} Returns the new base function.\\n     */\\n    function createBaseFor(fromRight) {\\n      return function(object, iteratee, keysFunc) {\\n        var index = -1,\\n            iterable = Object(object),\\n            props = keysFunc(object),\\n            length = props.length;\\n\\n        while (length--) {\\n          var key = props[fromRight ? length : ++index];\\n          if (iteratee(iterable[key], key, iterable) === false) {\\n            break;\\n          }\\n        }\\n        return object;\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that wraps `func` to invoke it with the optional `this`\\n     * binding of `thisArg`.\\n     *\\n     * @private\\n     * @param {Function} func The function to wrap.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @param {*} [thisArg] The `this` binding of `func`.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createBind(func, bitmask, thisArg) {\\n      var isBind = bitmask & WRAP_BIND_FLAG,\\n          Ctor = createCtor(func);\\n\\n      function wrapper() {\\n        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\\n        return fn.apply(isBind ? thisArg : this, arguments);\\n      }\\n      return wrapper;\\n    }\\n\\n    /**\\n     * Creates a function like `_.lowerFirst`.\\n     *\\n     * @private\\n     * @param {string} methodName The name of the `String` case method to use.\\n     * @returns {Function} Returns the new case function.\\n     */\\n    function createCaseFirst(methodName) {\\n      return function(string) {\\n        string = toString(string);\\n\\n        var strSymbols = hasUnicode(string)\\n          ? stringToArray(string)\\n          : undefined;\\n\\n        var chr = strSymbols\\n          ? strSymbols[0]\\n          : string.charAt(0);\\n\\n        var trailing = strSymbols\\n          ? castSlice(strSymbols, 1).join('')\\n          : string.slice(1);\\n\\n        return chr[methodName]() + trailing;\\n      };\\n    }\\n\\n    /**\\n     * Creates a function like `_.camelCase`.\\n     *\\n     * @private\\n     * @param {Function} callback The function to combine each word.\\n     * @returns {Function} Returns the new compounder function.\\n     */\\n    function createCompounder(callback) {\\n      return function(string) {\\n        return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that produces an instance of `Ctor` regardless of\\n     * whether it was invoked as part of a `new` expression or by `call` or `apply`.\\n     *\\n     * @private\\n     * @param {Function} Ctor The constructor to wrap.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createCtor(Ctor) {\\n      return function() {\\n        // Use a `switch` statement to work with class constructors. See\\n        // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\\n        // for more details.\\n        var args = arguments;\\n        switch (args.length) {\\n          case 0: return new Ctor;\\n          case 1: return new Ctor(args[0]);\\n          case 2: return new Ctor(args[0], args[1]);\\n          case 3: return new Ctor(args[0], args[1], args[2]);\\n          case 4: return new Ctor(args[0], args[1], args[2], args[3]);\\n          case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\\n          case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\\n          case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\\n        }\\n        var thisBinding = baseCreate(Ctor.prototype),\\n            result = Ctor.apply(thisBinding, args);\\n\\n        // Mimic the constructor's `return` behavior.\\n        // See https://es5.github.io/#x13.2.2 for more details.\\n        return isObject(result) ? result : thisBinding;\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that wraps `func` to enable currying.\\n     *\\n     * @private\\n     * @param {Function} func The function to wrap.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @param {number} arity The arity of `func`.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createCurry(func, bitmask, arity) {\\n      var Ctor = createCtor(func);\\n\\n      function wrapper() {\\n        var length = arguments.length,\\n            args = Array(length),\\n            index = length,\\n            placeholder = getHolder(wrapper);\\n\\n        while (index--) {\\n          args[index] = arguments[index];\\n        }\\n        var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\\n          ? []\\n          : replaceHolders(args, placeholder);\\n\\n        length -= holders.length;\\n        if (length < arity) {\\n          return createRecurry(\\n            func, bitmask, createHybrid, wrapper.placeholder, undefined,\\n            args, holders, undefined, undefined, arity - length);\\n        }\\n        var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\\n        return apply(fn, this, args);\\n      }\\n      return wrapper;\\n    }\\n\\n    /**\\n     * Creates a `_.find` or `_.findLast` function.\\n     *\\n     * @private\\n     * @param {Function} findIndexFunc The function to find the collection index.\\n     * @returns {Function} Returns the new find function.\\n     */\\n    function createFind(findIndexFunc) {\\n      return function(collection, predicate, fromIndex) {\\n        var iterable = Object(collection);\\n        if (!isArrayLike(collection)) {\\n          var iteratee = getIteratee(predicate, 3);\\n          collection = keys(collection);\\n          predicate = function(key) { return iteratee(iterable[key], key, iterable); };\\n        }\\n        var index = findIndexFunc(collection, predicate, fromIndex);\\n        return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\\n      };\\n    }\\n\\n    /**\\n     * Creates a `_.flow` or `_.flowRight` function.\\n     *\\n     * @private\\n     * @param {boolean} [fromRight] Specify iterating from right to left.\\n     * @returns {Function} Returns the new flow function.\\n     */\\n    function createFlow(fromRight) {\\n      return flatRest(function(funcs) {\\n        var length = funcs.length,\\n            index = length,\\n            prereq = LodashWrapper.prototype.thru;\\n\\n        if (fromRight) {\\n          funcs.reverse();\\n        }\\n        while (index--) {\\n          var func = funcs[index];\\n          if (typeof func != 'function') {\\n            throw new TypeError(FUNC_ERROR_TEXT);\\n          }\\n          if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\\n            var wrapper = new LodashWrapper([], true);\\n          }\\n        }\\n        index = wrapper ? index : length;\\n        while (++index < length) {\\n          func = funcs[index];\\n\\n          var funcName = getFuncName(func),\\n              data = funcName == 'wrapper' ? getData(func) : undefined;\\n\\n          if (data && isLaziable(data[0]) &&\\n                data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\\n                !data[4].length && data[9] == 1\\n              ) {\\n            wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\\n          } else {\\n            wrapper = (func.length == 1 && isLaziable(func))\\n              ? wrapper[funcName]()\\n              : wrapper.thru(func);\\n          }\\n        }\\n        return function() {\\n          var args = arguments,\\n              value = args[0];\\n\\n          if (wrapper && args.length == 1 && isArray(value)) {\\n            return wrapper.plant(value).value();\\n          }\\n          var index = 0,\\n              result = length ? funcs[index].apply(this, args) : value;\\n\\n          while (++index < length) {\\n            result = funcs[index].call(this, result);\\n          }\\n          return result;\\n        };\\n      });\\n    }\\n\\n    /**\\n     * Creates a function that wraps `func` to invoke it with optional `this`\\n     * binding of `thisArg`, partial application, and currying.\\n     *\\n     * @private\\n     * @param {Function|string} func The function or method name to wrap.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @param {*} [thisArg] The `this` binding of `func`.\\n     * @param {Array} [partials] The arguments to prepend to those provided to\\n     *  the new function.\\n     * @param {Array} [holders] The `partials` placeholder indexes.\\n     * @param {Array} [partialsRight] The arguments to append to those provided\\n     *  to the new function.\\n     * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\\n     * @param {Array} [argPos] The argument positions of the new function.\\n     * @param {number} [ary] The arity cap of `func`.\\n     * @param {number} [arity] The arity of `func`.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\\n      var isAry = bitmask & WRAP_ARY_FLAG,\\n          isBind = bitmask & WRAP_BIND_FLAG,\\n          isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\\n          isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\\n          isFlip = bitmask & WRAP_FLIP_FLAG,\\n          Ctor = isBindKey ? undefined : createCtor(func);\\n\\n      function wrapper() {\\n        var length = arguments.length,\\n            args = Array(length),\\n            index = length;\\n\\n        while (index--) {\\n          args[index] = arguments[index];\\n        }\\n        if (isCurried) {\\n          var placeholder = getHolder(wrapper),\\n              holdersCount = countHolders(args, placeholder);\\n        }\\n        if (partials) {\\n          args = composeArgs(args, partials, holders, isCurried);\\n        }\\n        if (partialsRight) {\\n          args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\\n        }\\n        length -= holdersCount;\\n        if (isCurried && length < arity) {\\n          var newHolders = replaceHolders(args, placeholder);\\n          return createRecurry(\\n            func, bitmask, createHybrid, wrapper.placeholder, thisArg,\\n            args, newHolders, argPos, ary, arity - length\\n          );\\n        }\\n        var thisBinding = isBind ? thisArg : this,\\n            fn = isBindKey ? thisBinding[func] : func;\\n\\n        length = args.length;\\n        if (argPos) {\\n          args = reorder(args, argPos);\\n        } else if (isFlip && length > 1) {\\n          args.reverse();\\n        }\\n        if (isAry && ary < length) {\\n          args.length = ary;\\n        }\\n        if (this && this !== root && this instanceof wrapper) {\\n          fn = Ctor || createCtor(fn);\\n        }\\n        return fn.apply(thisBinding, args);\\n      }\\n      return wrapper;\\n    }\\n\\n    /**\\n     * Creates a function like `_.invertBy`.\\n     *\\n     * @private\\n     * @param {Function} setter The function to set accumulator values.\\n     * @param {Function} toIteratee The function to resolve iteratees.\\n     * @returns {Function} Returns the new inverter function.\\n     */\\n    function createInverter(setter, toIteratee) {\\n      return function(object, iteratee) {\\n        return baseInverter(object, setter, toIteratee(iteratee), {});\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that performs a mathematical operation on two values.\\n     *\\n     * @private\\n     * @param {Function} operator The function to perform the operation.\\n     * @param {number} [defaultValue] The value used for `undefined` arguments.\\n     * @returns {Function} Returns the new mathematical operation function.\\n     */\\n    function createMathOperation(operator, defaultValue) {\\n      return function(value, other) {\\n        var result;\\n        if (value === undefined && other === undefined) {\\n          return defaultValue;\\n        }\\n        if (value !== undefined) {\\n          result = value;\\n        }\\n        if (other !== undefined) {\\n          if (result === undefined) {\\n            return other;\\n          }\\n          if (typeof value == 'string' || typeof other == 'string') {\\n            value = baseToString(value);\\n            other = baseToString(other);\\n          } else {\\n            value = baseToNumber(value);\\n            other = baseToNumber(other);\\n          }\\n          result = operator(value, other);\\n        }\\n        return result;\\n      };\\n    }\\n\\n    /**\\n     * Creates a function like `_.over`.\\n     *\\n     * @private\\n     * @param {Function} arrayFunc The function to iterate over iteratees.\\n     * @returns {Function} Returns the new over function.\\n     */\\n    function createOver(arrayFunc) {\\n      return flatRest(function(iteratees) {\\n        iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\\n        return baseRest(function(args) {\\n          var thisArg = this;\\n          return arrayFunc(iteratees, function(iteratee) {\\n            return apply(iteratee, thisArg, args);\\n          });\\n        });\\n      });\\n    }\\n\\n    /**\\n     * Creates the padding for `string` based on `length`. The `chars` string\\n     * is truncated if the number of characters exceeds `length`.\\n     *\\n     * @private\\n     * @param {number} length The padding length.\\n     * @param {string} [chars=' '] The string used as padding.\\n     * @returns {string} Returns the padding for `string`.\\n     */\\n    function createPadding(length, chars) {\\n      chars = chars === undefined ? ' ' : baseToString(chars);\\n\\n      var charsLength = chars.length;\\n      if (charsLength < 2) {\\n        return charsLength ? baseRepeat(chars, length) : chars;\\n      }\\n      var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\\n      return hasUnicode(chars)\\n        ? castSlice(stringToArray(result), 0, length).join('')\\n        : result.slice(0, length);\\n    }\\n\\n    /**\\n     * Creates a function that wraps `func` to invoke it with the `this` binding\\n     * of `thisArg` and `partials` prepended to the arguments it receives.\\n     *\\n     * @private\\n     * @param {Function} func The function to wrap.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @param {*} thisArg The `this` binding of `func`.\\n     * @param {Array} partials The arguments to prepend to those provided to\\n     *  the new function.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createPartial(func, bitmask, thisArg, partials) {\\n      var isBind = bitmask & WRAP_BIND_FLAG,\\n          Ctor = createCtor(func);\\n\\n      function wrapper() {\\n        var argsIndex = -1,\\n            argsLength = arguments.length,\\n            leftIndex = -1,\\n            leftLength = partials.length,\\n            args = Array(leftLength + argsLength),\\n            fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\\n\\n        while (++leftIndex < leftLength) {\\n          args[leftIndex] = partials[leftIndex];\\n        }\\n        while (argsLength--) {\\n          args[leftIndex++] = arguments[++argsIndex];\\n        }\\n        return apply(fn, isBind ? thisArg : this, args);\\n      }\\n      return wrapper;\\n    }\\n\\n    /**\\n     * Creates a `_.range` or `_.rangeRight` function.\\n     *\\n     * @private\\n     * @param {boolean} [fromRight] Specify iterating from right to left.\\n     * @returns {Function} Returns the new range function.\\n     */\\n    function createRange(fromRight) {\\n      return function(start, end, step) {\\n        if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\\n          end = step = undefined;\\n        }\\n        // Ensure the sign of `-0` is preserved.\\n        start = toFinite(start);\\n        if (end === undefined) {\\n          end = start;\\n          start = 0;\\n        } else {\\n          end = toFinite(end);\\n        }\\n        step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\\n        return baseRange(start, end, step, fromRight);\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that performs a relational operation on two values.\\n     *\\n     * @private\\n     * @param {Function} operator The function to perform the operation.\\n     * @returns {Function} Returns the new relational operation function.\\n     */\\n    function createRelationalOperation(operator) {\\n      return function(value, other) {\\n        if (!(typeof value == 'string' && typeof other == 'string')) {\\n          value = toNumber(value);\\n          other = toNumber(other);\\n        }\\n        return operator(value, other);\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that wraps `func` to continue currying.\\n     *\\n     * @private\\n     * @param {Function} func The function to wrap.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @param {Function} wrapFunc The function to create the `func` wrapper.\\n     * @param {*} placeholder The placeholder value.\\n     * @param {*} [thisArg] The `this` binding of `func`.\\n     * @param {Array} [partials] The arguments to prepend to those provided to\\n     *  the new function.\\n     * @param {Array} [holders] The `partials` placeholder indexes.\\n     * @param {Array} [argPos] The argument positions of the new function.\\n     * @param {number} [ary] The arity cap of `func`.\\n     * @param {number} [arity] The arity of `func`.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\\n      var isCurry = bitmask & WRAP_CURRY_FLAG,\\n          newHolders = isCurry ? holders : undefined,\\n          newHoldersRight = isCurry ? undefined : holders,\\n          newPartials = isCurry ? partials : undefined,\\n          newPartialsRight = isCurry ? undefined : partials;\\n\\n      bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\\n      bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\\n\\n      if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\\n        bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\\n      }\\n      var newData = [\\n        func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\\n        newHoldersRight, argPos, ary, arity\\n      ];\\n\\n      var result = wrapFunc.apply(undefined, newData);\\n      if (isLaziable(func)) {\\n        setData(result, newData);\\n      }\\n      result.placeholder = placeholder;\\n      return setWrapToString(result, func, bitmask);\\n    }\\n\\n    /**\\n     * Creates a function like `_.round`.\\n     *\\n     * @private\\n     * @param {string} methodName The name of the `Math` method to use when rounding.\\n     * @returns {Function} Returns the new round function.\\n     */\\n    function createRound(methodName) {\\n      var func = Math[methodName];\\n      return function(number, precision) {\\n        number = toNumber(number);\\n        precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\\n        if (precision && nativeIsFinite(number)) {\\n          // Shift with exponential notation to avoid floating-point issues.\\n          // See [MDN](https://mdn.io/round#Examples) for more details.\\n          var pair = (toString(number) + 'e').split('e'),\\n              value = func(pair[0] + 'e' + (+pair[1] + precision));\\n\\n          pair = (toString(value) + 'e').split('e');\\n          return +(pair[0] + 'e' + (+pair[1] - precision));\\n        }\\n        return func(number);\\n      };\\n    }\\n\\n    /**\\n     * Creates a set object of `values`.\\n     *\\n     * @private\\n     * @param {Array} values The values to add to the set.\\n     * @returns {Object} Returns the new set.\\n     */\\n    var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\\n      return new Set(values);\\n    };\\n\\n    /**\\n     * Creates a `_.toPairs` or `_.toPairsIn` function.\\n     *\\n     * @private\\n     * @param {Function} keysFunc The function to get the keys of a given object.\\n     * @returns {Function} Returns the new pairs function.\\n     */\\n    function createToPairs(keysFunc) {\\n      return function(object) {\\n        var tag = getTag(object);\\n        if (tag == mapTag) {\\n          return mapToArray(object);\\n        }\\n        if (tag == setTag) {\\n          return setToPairs(object);\\n        }\\n        return baseToPairs(object, keysFunc(object));\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that either curries or invokes `func` with optional\\n     * `this` binding and partially applied arguments.\\n     *\\n     * @private\\n     * @param {Function|string} func The function or method name to wrap.\\n     * @param {number} bitmask The bitmask flags.\\n     *    1 - `_.bind`\\n     *    2 - `_.bindKey`\\n     *    4 - `_.curry` or `_.curryRight` of a bound function\\n     *    8 - `_.curry`\\n     *   16 - `_.curryRight`\\n     *   32 - `_.partial`\\n     *   64 - `_.partialRight`\\n     *  128 - `_.rearg`\\n     *  256 - `_.ary`\\n     *  512 - `_.flip`\\n     * @param {*} [thisArg] The `this` binding of `func`.\\n     * @param {Array} [partials] The arguments to be partially applied.\\n     * @param {Array} [holders] The `partials` placeholder indexes.\\n     * @param {Array} [argPos] The argument positions of the new function.\\n     * @param {number} [ary] The arity cap of `func`.\\n     * @param {number} [arity] The arity of `func`.\\n     * @returns {Function} Returns the new wrapped function.\\n     */\\n    function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\\n      var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\\n      if (!isBindKey && typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      var length = partials ? partials.length : 0;\\n      if (!length) {\\n        bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\\n        partials = holders = undefined;\\n      }\\n      ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\\n      arity = arity === undefined ? arity : toInteger(arity);\\n      length -= holders ? holders.length : 0;\\n\\n      if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\\n        var partialsRight = partials,\\n            holdersRight = holders;\\n\\n        partials = holders = undefined;\\n      }\\n      var data = isBindKey ? undefined : getData(func);\\n\\n      var newData = [\\n        func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\\n        argPos, ary, arity\\n      ];\\n\\n      if (data) {\\n        mergeData(newData, data);\\n      }\\n      func = newData[0];\\n      bitmask = newData[1];\\n      thisArg = newData[2];\\n      partials = newData[3];\\n      holders = newData[4];\\n      arity = newData[9] = newData[9] === undefined\\n        ? (isBindKey ? 0 : func.length)\\n        : nativeMax(newData[9] - length, 0);\\n\\n      if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\\n        bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\\n      }\\n      if (!bitmask || bitmask == WRAP_BIND_FLAG) {\\n        var result = createBind(func, bitmask, thisArg);\\n      } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\\n        result = createCurry(func, bitmask, arity);\\n      } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\\n        result = createPartial(func, bitmask, thisArg, partials);\\n      } else {\\n        result = createHybrid.apply(undefined, newData);\\n      }\\n      var setter = data ? baseSetData : setData;\\n      return setWrapToString(setter(result, newData), func, bitmask);\\n    }\\n\\n    /**\\n     * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\\n     * of source objects to the destination object for all destination properties\\n     * that resolve to `undefined`.\\n     *\\n     * @private\\n     * @param {*} objValue The destination value.\\n     * @param {*} srcValue The source value.\\n     * @param {string} key The key of the property to assign.\\n     * @param {Object} object The parent object of `objValue`.\\n     * @returns {*} Returns the value to assign.\\n     */\\n    function customDefaultsAssignIn(objValue, srcValue, key, object) {\\n      if (objValue === undefined ||\\n          (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\\n        return srcValue;\\n      }\\n      return objValue;\\n    }\\n\\n    /**\\n     * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\\n     * objects into destination objects that are passed thru.\\n     *\\n     * @private\\n     * @param {*} objValue The destination value.\\n     * @param {*} srcValue The source value.\\n     * @param {string} key The key of the property to merge.\\n     * @param {Object} object The parent object of `objValue`.\\n     * @param {Object} source The parent object of `srcValue`.\\n     * @param {Object} [stack] Tracks traversed source values and their merged\\n     *  counterparts.\\n     * @returns {*} Returns the value to assign.\\n     */\\n    function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\\n      if (isObject(objValue) && isObject(srcValue)) {\\n        // Recursively merge objects and arrays (susceptible to call stack limits).\\n        stack.set(srcValue, objValue);\\n        baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\\n        stack['delete'](srcValue);\\n      }\\n      return objValue;\\n    }\\n\\n    /**\\n     * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\\n     * objects.\\n     *\\n     * @private\\n     * @param {*} value The value to inspect.\\n     * @param {string} key The key of the property to inspect.\\n     * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\\n     */\\n    function customOmitClone(value) {\\n      return isPlainObject(value) ? undefined : value;\\n    }\\n\\n    /**\\n     * A specialized version of `baseIsEqualDeep` for arrays with support for\\n     * partial deep comparisons.\\n     *\\n     * @private\\n     * @param {Array} array The array to compare.\\n     * @param {Array} other The other array to compare.\\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\\n     * @param {Function} customizer The function to customize comparisons.\\n     * @param {Function} equalFunc The function to determine equivalents of values.\\n     * @param {Object} stack Tracks traversed `array` and `other` objects.\\n     * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\\n     */\\n    function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\\n          arrLength = array.length,\\n          othLength = other.length;\\n\\n      if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\\n        return false;\\n      }\\n      // Assume cyclic values are equal.\\n      var stacked = stack.get(array);\\n      if (stacked && stack.get(other)) {\\n        return stacked == other;\\n      }\\n      var index = -1,\\n          result = true,\\n          seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\\n\\n      stack.set(array, other);\\n      stack.set(other, array);\\n\\n      // Ignore non-index properties.\\n      while (++index < arrLength) {\\n        var arrValue = array[index],\\n            othValue = other[index];\\n\\n        if (customizer) {\\n          var compared = isPartial\\n            ? customizer(othValue, arrValue, index, other, array, stack)\\n            : customizer(arrValue, othValue, index, array, other, stack);\\n        }\\n        if (compared !== undefined) {\\n          if (compared) {\\n            continue;\\n          }\\n          result = false;\\n          break;\\n        }\\n        // Recursively compare arrays (susceptible to call stack limits).\\n        if (seen) {\\n          if (!arraySome(other, function(othValue, othIndex) {\\n                if (!cacheHas(seen, othIndex) &&\\n                    (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\\n                  return seen.push(othIndex);\\n                }\\n              })) {\\n            result = false;\\n            break;\\n          }\\n        } else if (!(\\n              arrValue === othValue ||\\n                equalFunc(arrValue, othValue, bitmask, customizer, stack)\\n            )) {\\n          result = false;\\n          break;\\n        }\\n      }\\n      stack['delete'](array);\\n      stack['delete'](other);\\n      return result;\\n    }\\n\\n    /**\\n     * A specialized version of `baseIsEqualDeep` for comparing objects of\\n     * the same `toStringTag`.\\n     *\\n     * **Note:** This function only supports comparing values with tags of\\n     * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\\n     *\\n     * @private\\n     * @param {Object} object The object to compare.\\n     * @param {Object} other The other object to compare.\\n     * @param {string} tag The `toStringTag` of the objects to compare.\\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\\n     * @param {Function} customizer The function to customize comparisons.\\n     * @param {Function} equalFunc The function to determine equivalents of values.\\n     * @param {Object} stack Tracks traversed `object` and `other` objects.\\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\\n     */\\n    function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\\n      switch (tag) {\\n        case dataViewTag:\\n          if ((object.byteLength != other.byteLength) ||\\n              (object.byteOffset != other.byteOffset)) {\\n            return false;\\n          }\\n          object = object.buffer;\\n          other = other.buffer;\\n\\n        case arrayBufferTag:\\n          if ((object.byteLength != other.byteLength) ||\\n              !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\\n            return false;\\n          }\\n          return true;\\n\\n        case boolTag:\\n        case dateTag:\\n        case numberTag:\\n          // Coerce booleans to `1` or `0` and dates to milliseconds.\\n          // Invalid dates are coerced to `NaN`.\\n          return eq(+object, +other);\\n\\n        case errorTag:\\n          return object.name == other.name && object.message == other.message;\\n\\n        case regexpTag:\\n        case stringTag:\\n          // Coerce regexes to strings and treat strings, primitives and objects,\\n          // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\\n          // for more details.\\n          return object == (other + '');\\n\\n        case mapTag:\\n          var convert = mapToArray;\\n\\n        case setTag:\\n          var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\\n          convert || (convert = setToArray);\\n\\n          if (object.size != other.size && !isPartial) {\\n            return false;\\n          }\\n          // Assume cyclic values are equal.\\n          var stacked = stack.get(object);\\n          if (stacked) {\\n            return stacked == other;\\n          }\\n          bitmask |= COMPARE_UNORDERED_FLAG;\\n\\n          // Recursively compare objects (susceptible to call stack limits).\\n          stack.set(object, other);\\n          var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\\n          stack['delete'](object);\\n          return result;\\n\\n        case symbolTag:\\n          if (symbolValueOf) {\\n            return symbolValueOf.call(object) == symbolValueOf.call(other);\\n          }\\n      }\\n      return false;\\n    }\\n\\n    /**\\n     * A specialized version of `baseIsEqualDeep` for objects with support for\\n     * partial deep comparisons.\\n     *\\n     * @private\\n     * @param {Object} object The object to compare.\\n     * @param {Object} other The other object to compare.\\n     * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\\n     * @param {Function} customizer The function to customize comparisons.\\n     * @param {Function} equalFunc The function to determine equivalents of values.\\n     * @param {Object} stack Tracks traversed `object` and `other` objects.\\n     * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\\n     */\\n    function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\\n      var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\\n          objProps = getAllKeys(object),\\n          objLength = objProps.length,\\n          othProps = getAllKeys(other),\\n          othLength = othProps.length;\\n\\n      if (objLength != othLength && !isPartial) {\\n        return false;\\n      }\\n      var index = objLength;\\n      while (index--) {\\n        var key = objProps[index];\\n        if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\\n          return false;\\n        }\\n      }\\n      // Assume cyclic values are equal.\\n      var stacked = stack.get(object);\\n      if (stacked && stack.get(other)) {\\n        return stacked == other;\\n      }\\n      var result = true;\\n      stack.set(object, other);\\n      stack.set(other, object);\\n\\n      var skipCtor = isPartial;\\n      while (++index < objLength) {\\n        key = objProps[index];\\n        var objValue = object[key],\\n            othValue = other[key];\\n\\n        if (customizer) {\\n          var compared = isPartial\\n            ? customizer(othValue, objValue, key, other, object, stack)\\n            : customizer(objValue, othValue, key, object, other, stack);\\n        }\\n        // Recursively compare objects (susceptible to call stack limits).\\n        if (!(compared === undefined\\n              ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\\n              : compared\\n            )) {\\n          result = false;\\n          break;\\n        }\\n        skipCtor || (skipCtor = key == 'constructor');\\n      }\\n      if (result && !skipCtor) {\\n        var objCtor = object.constructor,\\n            othCtor = other.constructor;\\n\\n        // Non `Object` object instances with different constructors are not equal.\\n        if (objCtor != othCtor &&\\n            ('constructor' in object && 'constructor' in other) &&\\n            !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\\n              typeof othCtor == 'function' && othCtor instanceof othCtor)) {\\n          result = false;\\n        }\\n      }\\n      stack['delete'](object);\\n      stack['delete'](other);\\n      return result;\\n    }\\n\\n    /**\\n     * A specialized version of `baseRest` which flattens the rest array.\\n     *\\n     * @private\\n     * @param {Function} func The function to apply a rest parameter to.\\n     * @returns {Function} Returns the new function.\\n     */\\n    function flatRest(func) {\\n      return setToString(overRest(func, undefined, flatten), func + '');\\n    }\\n\\n    /**\\n     * Creates an array of own enumerable property names and symbols of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names and symbols.\\n     */\\n    function getAllKeys(object) {\\n      return baseGetAllKeys(object, keys, getSymbols);\\n    }\\n\\n    /**\\n     * Creates an array of own and inherited enumerable property names and\\n     * symbols of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names and symbols.\\n     */\\n    function getAllKeysIn(object) {\\n      return baseGetAllKeys(object, keysIn, getSymbolsIn);\\n    }\\n\\n    /**\\n     * Gets metadata for `func`.\\n     *\\n     * @private\\n     * @param {Function} func The function to query.\\n     * @returns {*} Returns the metadata for `func`.\\n     */\\n    var getData = !metaMap ? noop : function(func) {\\n      return metaMap.get(func);\\n    };\\n\\n    /**\\n     * Gets the name of `func`.\\n     *\\n     * @private\\n     * @param {Function} func The function to query.\\n     * @returns {string} Returns the function name.\\n     */\\n    function getFuncName(func) {\\n      var result = (func.name + ''),\\n          array = realNames[result],\\n          length = hasOwnProperty.call(realNames, result) ? array.length : 0;\\n\\n      while (length--) {\\n        var data = array[length],\\n            otherFunc = data.func;\\n        if (otherFunc == null || otherFunc == func) {\\n          return data.name;\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Gets the argument placeholder value for `func`.\\n     *\\n     * @private\\n     * @param {Function} func The function to inspect.\\n     * @returns {*} Returns the placeholder value.\\n     */\\n    function getHolder(func) {\\n      var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\\n      return object.placeholder;\\n    }\\n\\n    /**\\n     * Gets the appropriate \\\"iteratee\\\" function. If `_.iteratee` is customized,\\n     * this function returns the custom method, otherwise it returns `baseIteratee`.\\n     * If arguments are provided, the chosen function is invoked with them and\\n     * its result is returned.\\n     *\\n     * @private\\n     * @param {*} [value] The value to convert to an iteratee.\\n     * @param {number} [arity] The arity of the created iteratee.\\n     * @returns {Function} Returns the chosen function or its result.\\n     */\\n    function getIteratee() {\\n      var result = lodash.iteratee || iteratee;\\n      result = result === iteratee ? baseIteratee : result;\\n      return arguments.length ? result(arguments[0], arguments[1]) : result;\\n    }\\n\\n    /**\\n     * Gets the data for `map`.\\n     *\\n     * @private\\n     * @param {Object} map The map to query.\\n     * @param {string} key The reference key.\\n     * @returns {*} Returns the map data.\\n     */\\n    function getMapData(map, key) {\\n      var data = map.__data__;\\n      return isKeyable(key)\\n        ? data[typeof key == 'string' ? 'string' : 'hash']\\n        : data.map;\\n    }\\n\\n    /**\\n     * Gets the property names, values, and compare flags of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the match data of `object`.\\n     */\\n    function getMatchData(object) {\\n      var result = keys(object),\\n          length = result.length;\\n\\n      while (length--) {\\n        var key = result[length],\\n            value = object[key];\\n\\n        result[length] = [key, value, isStrictComparable(value)];\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Gets the native function at `key` of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {string} key The key of the method to get.\\n     * @returns {*} Returns the function if it's native, else `undefined`.\\n     */\\n    function getNative(object, key) {\\n      var value = getValue(object, key);\\n      return baseIsNative(value) ? value : undefined;\\n    }\\n\\n    /**\\n     * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\\n     *\\n     * @private\\n     * @param {*} value The value to query.\\n     * @returns {string} Returns the raw `toStringTag`.\\n     */\\n    function getRawTag(value) {\\n      var isOwn = hasOwnProperty.call(value, symToStringTag),\\n          tag = value[symToStringTag];\\n\\n      try {\\n        value[symToStringTag] = undefined;\\n        var unmasked = true;\\n      } catch (e) {}\\n\\n      var result = nativeObjectToString.call(value);\\n      if (unmasked) {\\n        if (isOwn) {\\n          value[symToStringTag] = tag;\\n        } else {\\n          delete value[symToStringTag];\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Creates an array of the own enumerable symbols of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of symbols.\\n     */\\n    var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\\n      if (object == null) {\\n        return [];\\n      }\\n      object = Object(object);\\n      return arrayFilter(nativeGetSymbols(object), function(symbol) {\\n        return propertyIsEnumerable.call(object, symbol);\\n      });\\n    };\\n\\n    /**\\n     * Creates an array of the own and inherited enumerable symbols of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of symbols.\\n     */\\n    var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\\n      var result = [];\\n      while (object) {\\n        arrayPush(result, getSymbols(object));\\n        object = getPrototype(object);\\n      }\\n      return result;\\n    };\\n\\n    /**\\n     * Gets the `toStringTag` of `value`.\\n     *\\n     * @private\\n     * @param {*} value The value to query.\\n     * @returns {string} Returns the `toStringTag`.\\n     */\\n    var getTag = baseGetTag;\\n\\n    // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\\n    if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\\n        (Map && getTag(new Map) != mapTag) ||\\n        (Promise && getTag(Promise.resolve()) != promiseTag) ||\\n        (Set && getTag(new Set) != setTag) ||\\n        (WeakMap && getTag(new WeakMap) != weakMapTag)) {\\n      getTag = function(value) {\\n        var result = baseGetTag(value),\\n            Ctor = result == objectTag ? value.constructor : undefined,\\n            ctorString = Ctor ? toSource(Ctor) : '';\\n\\n        if (ctorString) {\\n          switch (ctorString) {\\n            case dataViewCtorString: return dataViewTag;\\n            case mapCtorString: return mapTag;\\n            case promiseCtorString: return promiseTag;\\n            case setCtorString: return setTag;\\n            case weakMapCtorString: return weakMapTag;\\n          }\\n        }\\n        return result;\\n      };\\n    }\\n\\n    /**\\n     * Gets the view, applying any `transforms` to the `start` and `end` positions.\\n     *\\n     * @private\\n     * @param {number} start The start of the view.\\n     * @param {number} end The end of the view.\\n     * @param {Array} transforms The transformations to apply to the view.\\n     * @returns {Object} Returns an object containing the `start` and `end`\\n     *  positions of the view.\\n     */\\n    function getView(start, end, transforms) {\\n      var index = -1,\\n          length = transforms.length;\\n\\n      while (++index < length) {\\n        var data = transforms[index],\\n            size = data.size;\\n\\n        switch (data.type) {\\n          case 'drop':      start += size; break;\\n          case 'dropRight': end -= size; break;\\n          case 'take':      end = nativeMin(end, start + size); break;\\n          case 'takeRight': start = nativeMax(start, end - size); break;\\n        }\\n      }\\n      return { 'start': start, 'end': end };\\n    }\\n\\n    /**\\n     * Extracts wrapper details from the `source` body comment.\\n     *\\n     * @private\\n     * @param {string} source The source to inspect.\\n     * @returns {Array} Returns the wrapper details.\\n     */\\n    function getWrapDetails(source) {\\n      var match = source.match(reWrapDetails);\\n      return match ? match[1].split(reSplitDetails) : [];\\n    }\\n\\n    /**\\n     * Checks if `path` exists on `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path to check.\\n     * @param {Function} hasFunc The function to check properties.\\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\\n     */\\n    function hasPath(object, path, hasFunc) {\\n      path = castPath(path, object);\\n\\n      var index = -1,\\n          length = path.length,\\n          result = false;\\n\\n      while (++index < length) {\\n        var key = toKey(path[index]);\\n        if (!(result = object != null && hasFunc(object, key))) {\\n          break;\\n        }\\n        object = object[key];\\n      }\\n      if (result || ++index != length) {\\n        return result;\\n      }\\n      length = object == null ? 0 : object.length;\\n      return !!length && isLength(length) && isIndex(key, length) &&\\n        (isArray(object) || isArguments(object));\\n    }\\n\\n    /**\\n     * Initializes an array clone.\\n     *\\n     * @private\\n     * @param {Array} array The array to clone.\\n     * @returns {Array} Returns the initialized clone.\\n     */\\n    function initCloneArray(array) {\\n      var length = array.length,\\n          result = new array.constructor(length);\\n\\n      // Add properties assigned by `RegExp#exec`.\\n      if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\\n        result.index = array.index;\\n        result.input = array.input;\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Initializes an object clone.\\n     *\\n     * @private\\n     * @param {Object} object The object to clone.\\n     * @returns {Object} Returns the initialized clone.\\n     */\\n    function initCloneObject(object) {\\n      return (typeof object.constructor == 'function' && !isPrototype(object))\\n        ? baseCreate(getPrototype(object))\\n        : {};\\n    }\\n\\n    /**\\n     * Initializes an object clone based on its `toStringTag`.\\n     *\\n     * **Note:** This function only supports cloning values with tags of\\n     * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\\n     *\\n     * @private\\n     * @param {Object} object The object to clone.\\n     * @param {string} tag The `toStringTag` of the object to clone.\\n     * @param {boolean} [isDeep] Specify a deep clone.\\n     * @returns {Object} Returns the initialized clone.\\n     */\\n    function initCloneByTag(object, tag, isDeep) {\\n      var Ctor = object.constructor;\\n      switch (tag) {\\n        case arrayBufferTag:\\n          return cloneArrayBuffer(object);\\n\\n        case boolTag:\\n        case dateTag:\\n          return new Ctor(+object);\\n\\n        case dataViewTag:\\n          return cloneDataView(object, isDeep);\\n\\n        case float32Tag: case float64Tag:\\n        case int8Tag: case int16Tag: case int32Tag:\\n        case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\\n          return cloneTypedArray(object, isDeep);\\n\\n        case mapTag:\\n          return new Ctor;\\n\\n        case numberTag:\\n        case stringTag:\\n          return new Ctor(object);\\n\\n        case regexpTag:\\n          return cloneRegExp(object);\\n\\n        case setTag:\\n          return new Ctor;\\n\\n        case symbolTag:\\n          return cloneSymbol(object);\\n      }\\n    }\\n\\n    /**\\n     * Inserts wrapper `details` in a comment at the top of the `source` body.\\n     *\\n     * @private\\n     * @param {string} source The source to modify.\\n     * @returns {Array} details The details to insert.\\n     * @returns {string} Returns the modified source.\\n     */\\n    function insertWrapDetails(source, details) {\\n      var length = details.length;\\n      if (!length) {\\n        return source;\\n      }\\n      var lastIndex = length - 1;\\n      details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\\n      details = details.join(length > 2 ? ', ' : ' ');\\n      return source.replace(reWrapComment, '{\\\\n/* [wrapped with ' + details + '] */\\\\n');\\n    }\\n\\n    /**\\n     * Checks if `value` is a flattenable `arguments` object or array.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\\n     */\\n    function isFlattenable(value) {\\n      return isArray(value) || isArguments(value) ||\\n        !!(spreadableSymbol && value && value[spreadableSymbol]);\\n    }\\n\\n    /**\\n     * Checks if `value` is a valid array-like index.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\\n     * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\\n     */\\n    function isIndex(value, length) {\\n      var type = typeof value;\\n      length = length == null ? MAX_SAFE_INTEGER : length;\\n\\n      return !!length &&\\n        (type == 'number' ||\\n          (type != 'symbol' && reIsUint.test(value))) &&\\n            (value > -1 && value % 1 == 0 && value < length);\\n    }\\n\\n    /**\\n     * Checks if the given arguments are from an iteratee call.\\n     *\\n     * @private\\n     * @param {*} value The potential iteratee value argument.\\n     * @param {*} index The potential iteratee index or key argument.\\n     * @param {*} object The potential iteratee object argument.\\n     * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\\n     *  else `false`.\\n     */\\n    function isIterateeCall(value, index, object) {\\n      if (!isObject(object)) {\\n        return false;\\n      }\\n      var type = typeof index;\\n      if (type == 'number'\\n            ? (isArrayLike(object) && isIndex(index, object.length))\\n            : (type == 'string' && index in object)\\n          ) {\\n        return eq(object[index], value);\\n      }\\n      return false;\\n    }\\n\\n    /**\\n     * Checks if `value` is a property name and not a property path.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @param {Object} [object] The object to query keys on.\\n     * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\\n     */\\n    function isKey(value, object) {\\n      if (isArray(value)) {\\n        return false;\\n      }\\n      var type = typeof value;\\n      if (type == 'number' || type == 'symbol' || type == 'boolean' ||\\n          value == null || isSymbol(value)) {\\n        return true;\\n      }\\n      return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\\n        (object != null && value in Object(object));\\n    }\\n\\n    /**\\n     * Checks if `value` is suitable for use as unique object key.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\\n     */\\n    function isKeyable(value) {\\n      var type = typeof value;\\n      return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\\n        ? (value !== '__proto__')\\n        : (value === null);\\n    }\\n\\n    /**\\n     * Checks if `func` has a lazy counterpart.\\n     *\\n     * @private\\n     * @param {Function} func The function to check.\\n     * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\\n     *  else `false`.\\n     */\\n    function isLaziable(func) {\\n      var funcName = getFuncName(func),\\n          other = lodash[funcName];\\n\\n      if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\\n        return false;\\n      }\\n      if (func === other) {\\n        return true;\\n      }\\n      var data = getData(other);\\n      return !!data && func === data[0];\\n    }\\n\\n    /**\\n     * Checks if `func` has its source masked.\\n     *\\n     * @private\\n     * @param {Function} func The function to check.\\n     * @returns {boolean} Returns `true` if `func` is masked, else `false`.\\n     */\\n    function isMasked(func) {\\n      return !!maskSrcKey && (maskSrcKey in func);\\n    }\\n\\n    /**\\n     * Checks if `func` is capable of being masked.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\\n     */\\n    var isMaskable = coreJsData ? isFunction : stubFalse;\\n\\n    /**\\n     * Checks if `value` is likely a prototype object.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\\n     */\\n    function isPrototype(value) {\\n      var Ctor = value && value.constructor,\\n          proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\\n\\n      return value === proto;\\n    }\\n\\n    /**\\n     * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\\n     *\\n     * @private\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` if suitable for strict\\n     *  equality comparisons, else `false`.\\n     */\\n    function isStrictComparable(value) {\\n      return value === value && !isObject(value);\\n    }\\n\\n    /**\\n     * A specialized version of `matchesProperty` for source values suitable\\n     * for strict equality comparisons, i.e. `===`.\\n     *\\n     * @private\\n     * @param {string} key The key of the property to get.\\n     * @param {*} srcValue The value to match.\\n     * @returns {Function} Returns the new spec function.\\n     */\\n    function matchesStrictComparable(key, srcValue) {\\n      return function(object) {\\n        if (object == null) {\\n          return false;\\n        }\\n        return object[key] === srcValue &&\\n          (srcValue !== undefined || (key in Object(object)));\\n      };\\n    }\\n\\n    /**\\n     * A specialized version of `_.memoize` which clears the memoized function's\\n     * cache when it exceeds `MAX_MEMOIZE_SIZE`.\\n     *\\n     * @private\\n     * @param {Function} func The function to have its output memoized.\\n     * @returns {Function} Returns the new memoized function.\\n     */\\n    function memoizeCapped(func) {\\n      var result = memoize(func, function(key) {\\n        if (cache.size === MAX_MEMOIZE_SIZE) {\\n          cache.clear();\\n        }\\n        return key;\\n      });\\n\\n      var cache = result.cache;\\n      return result;\\n    }\\n\\n    /**\\n     * Merges the function metadata of `source` into `data`.\\n     *\\n     * Merging metadata reduces the number of wrappers used to invoke a function.\\n     * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\\n     * may be applied regardless of execution order. Methods like `_.ary` and\\n     * `_.rearg` modify function arguments, making the order in which they are\\n     * executed important, preventing the merging of metadata. However, we make\\n     * an exception for a safe combined case where curried functions have `_.ary`\\n     * and or `_.rearg` applied.\\n     *\\n     * @private\\n     * @param {Array} data The destination metadata.\\n     * @param {Array} source The source metadata.\\n     * @returns {Array} Returns `data`.\\n     */\\n    function mergeData(data, source) {\\n      var bitmask = data[1],\\n          srcBitmask = source[1],\\n          newBitmask = bitmask | srcBitmask,\\n          isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\\n\\n      var isCombo =\\n        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\\n        ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\\n        ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\\n\\n      // Exit early if metadata can't be merged.\\n      if (!(isCommon || isCombo)) {\\n        return data;\\n      }\\n      // Use source `thisArg` if available.\\n      if (srcBitmask & WRAP_BIND_FLAG) {\\n        data[2] = source[2];\\n        // Set when currying a bound function.\\n        newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\\n      }\\n      // Compose partial arguments.\\n      var value = source[3];\\n      if (value) {\\n        var partials = data[3];\\n        data[3] = partials ? composeArgs(partials, value, source[4]) : value;\\n        data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\\n      }\\n      // Compose partial right arguments.\\n      value = source[5];\\n      if (value) {\\n        partials = data[5];\\n        data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\\n        data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\\n      }\\n      // Use source `argPos` if available.\\n      value = source[7];\\n      if (value) {\\n        data[7] = value;\\n      }\\n      // Use source `ary` if it's smaller.\\n      if (srcBitmask & WRAP_ARY_FLAG) {\\n        data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\\n      }\\n      // Use source `arity` if one is not provided.\\n      if (data[9] == null) {\\n        data[9] = source[9];\\n      }\\n      // Use source `func` and merge bitmasks.\\n      data[0] = source[0];\\n      data[1] = newBitmask;\\n\\n      return data;\\n    }\\n\\n    /**\\n     * This function is like\\n     * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\\n     * except that it includes inherited enumerable properties.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names.\\n     */\\n    function nativeKeysIn(object) {\\n      var result = [];\\n      if (object != null) {\\n        for (var key in Object(object)) {\\n          result.push(key);\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Converts `value` to a string using `Object.prototype.toString`.\\n     *\\n     * @private\\n     * @param {*} value The value to convert.\\n     * @returns {string} Returns the converted string.\\n     */\\n    function objectToString(value) {\\n      return nativeObjectToString.call(value);\\n    }\\n\\n    /**\\n     * A specialized version of `baseRest` which transforms the rest array.\\n     *\\n     * @private\\n     * @param {Function} func The function to apply a rest parameter to.\\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\\n     * @param {Function} transform The rest array transform.\\n     * @returns {Function} Returns the new function.\\n     */\\n    function overRest(func, start, transform) {\\n      start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\\n      return function() {\\n        var args = arguments,\\n            index = -1,\\n            length = nativeMax(args.length - start, 0),\\n            array = Array(length);\\n\\n        while (++index < length) {\\n          array[index] = args[start + index];\\n        }\\n        index = -1;\\n        var otherArgs = Array(start + 1);\\n        while (++index < start) {\\n          otherArgs[index] = args[index];\\n        }\\n        otherArgs[start] = transform(array);\\n        return apply(func, this, otherArgs);\\n      };\\n    }\\n\\n    /**\\n     * Gets the parent value at `path` of `object`.\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {Array} path The path to get the parent value of.\\n     * @returns {*} Returns the parent value.\\n     */\\n    function parent(object, path) {\\n      return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\\n    }\\n\\n    /**\\n     * Reorder `array` according to the specified indexes where the element at\\n     * the first index is assigned as the first element, the element at\\n     * the second index is assigned as the second element, and so on.\\n     *\\n     * @private\\n     * @param {Array} array The array to reorder.\\n     * @param {Array} indexes The arranged array indexes.\\n     * @returns {Array} Returns `array`.\\n     */\\n    function reorder(array, indexes) {\\n      var arrLength = array.length,\\n          length = nativeMin(indexes.length, arrLength),\\n          oldArray = copyArray(array);\\n\\n      while (length--) {\\n        var index = indexes[length];\\n        array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\\n      }\\n      return array;\\n    }\\n\\n    /**\\n     * Gets the value at `key`, unless `key` is \\\"__proto__\\\" or \\\"constructor\\\".\\n     *\\n     * @private\\n     * @param {Object} object The object to query.\\n     * @param {string} key The key of the property to get.\\n     * @returns {*} Returns the property value.\\n     */\\n    function safeGet(object, key) {\\n      if (key === 'constructor' && typeof object[key] === 'function') {\\n        return;\\n      }\\n\\n      if (key == '__proto__') {\\n        return;\\n      }\\n\\n      return object[key];\\n    }\\n\\n    /**\\n     * Sets metadata for `func`.\\n     *\\n     * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\\n     * period of time, it will trip its breaker and transition to an identity\\n     * function to avoid garbage collection pauses in V8. See\\n     * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\\n     * for more details.\\n     *\\n     * @private\\n     * @param {Function} func The function to associate metadata with.\\n     * @param {*} data The metadata.\\n     * @returns {Function} Returns `func`.\\n     */\\n    var setData = shortOut(baseSetData);\\n\\n    /**\\n     * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\\n     *\\n     * @private\\n     * @param {Function} func The function to delay.\\n     * @param {number} wait The number of milliseconds to delay invocation.\\n     * @returns {number|Object} Returns the timer id or timeout object.\\n     */\\n    var setTimeout = ctxSetTimeout || function(func, wait) {\\n      return root.setTimeout(func, wait);\\n    };\\n\\n    /**\\n     * Sets the `toString` method of `func` to return `string`.\\n     *\\n     * @private\\n     * @param {Function} func The function to modify.\\n     * @param {Function} string The `toString` result.\\n     * @returns {Function} Returns `func`.\\n     */\\n    var setToString = shortOut(baseSetToString);\\n\\n    /**\\n     * Sets the `toString` method of `wrapper` to mimic the source of `reference`\\n     * with wrapper details in a comment at the top of the source body.\\n     *\\n     * @private\\n     * @param {Function} wrapper The function to modify.\\n     * @param {Function} reference The reference function.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @returns {Function} Returns `wrapper`.\\n     */\\n    function setWrapToString(wrapper, reference, bitmask) {\\n      var source = (reference + '');\\n      return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\\n    }\\n\\n    /**\\n     * Creates a function that'll short out and invoke `identity` instead\\n     * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\\n     * milliseconds.\\n     *\\n     * @private\\n     * @param {Function} func The function to restrict.\\n     * @returns {Function} Returns the new shortable function.\\n     */\\n    function shortOut(func) {\\n      var count = 0,\\n          lastCalled = 0;\\n\\n      return function() {\\n        var stamp = nativeNow(),\\n            remaining = HOT_SPAN - (stamp - lastCalled);\\n\\n        lastCalled = stamp;\\n        if (remaining > 0) {\\n          if (++count >= HOT_COUNT) {\\n            return arguments[0];\\n          }\\n        } else {\\n          count = 0;\\n        }\\n        return func.apply(undefined, arguments);\\n      };\\n    }\\n\\n    /**\\n     * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\\n     *\\n     * @private\\n     * @param {Array} array The array to shuffle.\\n     * @param {number} [size=array.length] The size of `array`.\\n     * @returns {Array} Returns `array`.\\n     */\\n    function shuffleSelf(array, size) {\\n      var index = -1,\\n          length = array.length,\\n          lastIndex = length - 1;\\n\\n      size = size === undefined ? length : size;\\n      while (++index < size) {\\n        var rand = baseRandom(index, lastIndex),\\n            value = array[rand];\\n\\n        array[rand] = array[index];\\n        array[index] = value;\\n      }\\n      array.length = size;\\n      return array;\\n    }\\n\\n    /**\\n     * Converts `string` to a property path array.\\n     *\\n     * @private\\n     * @param {string} string The string to convert.\\n     * @returns {Array} Returns the property path array.\\n     */\\n    var stringToPath = memoizeCapped(function(string) {\\n      var result = [];\\n      if (string.charCodeAt(0) === 46 /* . */) {\\n        result.push('');\\n      }\\n      string.replace(rePropName, function(match, number, quote, subString) {\\n        result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\\n      });\\n      return result;\\n    });\\n\\n    /**\\n     * Converts `value` to a string key if it's not a string or symbol.\\n     *\\n     * @private\\n     * @param {*} value The value to inspect.\\n     * @returns {string|symbol} Returns the key.\\n     */\\n    function toKey(value) {\\n      if (typeof value == 'string' || isSymbol(value)) {\\n        return value;\\n      }\\n      var result = (value + '');\\n      return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\\n    }\\n\\n    /**\\n     * Converts `func` to its source code.\\n     *\\n     * @private\\n     * @param {Function} func The function to convert.\\n     * @returns {string} Returns the source code.\\n     */\\n    function toSource(func) {\\n      if (func != null) {\\n        try {\\n          return funcToString.call(func);\\n        } catch (e) {}\\n        try {\\n          return (func + '');\\n        } catch (e) {}\\n      }\\n      return '';\\n    }\\n\\n    /**\\n     * Updates wrapper `details` based on `bitmask` flags.\\n     *\\n     * @private\\n     * @returns {Array} details The details to modify.\\n     * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\\n     * @returns {Array} Returns `details`.\\n     */\\n    function updateWrapDetails(details, bitmask) {\\n      arrayEach(wrapFlags, function(pair) {\\n        var value = '_.' + pair[0];\\n        if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\\n          details.push(value);\\n        }\\n      });\\n      return details.sort();\\n    }\\n\\n    /**\\n     * Creates a clone of `wrapper`.\\n     *\\n     * @private\\n     * @param {Object} wrapper The wrapper to clone.\\n     * @returns {Object} Returns the cloned wrapper.\\n     */\\n    function wrapperClone(wrapper) {\\n      if (wrapper instanceof LazyWrapper) {\\n        return wrapper.clone();\\n      }\\n      var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\\n      result.__actions__ = copyArray(wrapper.__actions__);\\n      result.__index__  = wrapper.__index__;\\n      result.__values__ = wrapper.__values__;\\n      return result;\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates an array of elements split into groups the length of `size`.\\n     * If `array` can't be split evenly, the final chunk will be the remaining\\n     * elements.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to process.\\n     * @param {number} [size=1] The length of each chunk\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the new array of chunks.\\n     * @example\\n     *\\n     * _.chunk(['a', 'b', 'c', 'd'], 2);\\n     * // => [['a', 'b'], ['c', 'd']]\\n     *\\n     * _.chunk(['a', 'b', 'c', 'd'], 3);\\n     * // => [['a', 'b', 'c'], ['d']]\\n     */\\n    function chunk(array, size, guard) {\\n      if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\\n        size = 1;\\n      } else {\\n        size = nativeMax(toInteger(size), 0);\\n      }\\n      var length = array == null ? 0 : array.length;\\n      if (!length || size < 1) {\\n        return [];\\n      }\\n      var index = 0,\\n          resIndex = 0,\\n          result = Array(nativeCeil(length / size));\\n\\n      while (index < length) {\\n        result[resIndex++] = baseSlice(array, index, (index += size));\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Creates an array with all falsey values removed. The values `false`, `null`,\\n     * `0`, `\\\"\\\"`, `undefined`, and `NaN` are falsey.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to compact.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @example\\n     *\\n     * _.compact([0, 1, false, 2, '', 3]);\\n     * // => [1, 2, 3]\\n     */\\n    function compact(array) {\\n      var index = -1,\\n          length = array == null ? 0 : array.length,\\n          resIndex = 0,\\n          result = [];\\n\\n      while (++index < length) {\\n        var value = array[index];\\n        if (value) {\\n          result[resIndex++] = value;\\n        }\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Creates a new array concatenating `array` with any additional arrays\\n     * and/or values.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to concatenate.\\n     * @param {...*} [values] The values to concatenate.\\n     * @returns {Array} Returns the new concatenated array.\\n     * @example\\n     *\\n     * var array = [1];\\n     * var other = _.concat(array, 2, [3], [[4]]);\\n     *\\n     * console.log(other);\\n     * // => [1, 2, 3, [4]]\\n     *\\n     * console.log(array);\\n     * // => [1]\\n     */\\n    function concat() {\\n      var length = arguments.length;\\n      if (!length) {\\n        return [];\\n      }\\n      var args = Array(length - 1),\\n          array = arguments[0],\\n          index = length;\\n\\n      while (index--) {\\n        args[index - 1] = arguments[index];\\n      }\\n      return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\\n    }\\n\\n    /**\\n     * Creates an array of `array` values not included in the other given arrays\\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons. The order and references of result values are\\n     * determined by the first array.\\n     *\\n     * **Note:** Unlike `_.pullAll`, this method returns a new array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {...Array} [values] The values to exclude.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @see _.without, _.xor\\n     * @example\\n     *\\n     * _.difference([2, 1], [2, 3]);\\n     * // => [1]\\n     */\\n    var difference = baseRest(function(array, values) {\\n      return isArrayLikeObject(array)\\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\\n        : [];\\n    });\\n\\n    /**\\n     * This method is like `_.difference` except that it accepts `iteratee` which\\n     * is invoked for each element of `array` and `values` to generate the criterion\\n     * by which they're compared. The order and references of result values are\\n     * determined by the first array. The iteratee is invoked with one argument:\\n     * (value).\\n     *\\n     * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {...Array} [values] The values to exclude.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @example\\n     *\\n     * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\\n     * // => [1.2]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\\n     * // => [{ 'x': 2 }]\\n     */\\n    var differenceBy = baseRest(function(array, values) {\\n      var iteratee = last(values);\\n      if (isArrayLikeObject(iteratee)) {\\n        iteratee = undefined;\\n      }\\n      return isArrayLikeObject(array)\\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\\n        : [];\\n    });\\n\\n    /**\\n     * This method is like `_.difference` except that it accepts `comparator`\\n     * which is invoked to compare elements of `array` to `values`. The order and\\n     * references of result values are determined by the first array. The comparator\\n     * is invoked with two arguments: (arrVal, othVal).\\n     *\\n     * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {...Array} [values] The values to exclude.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\\n     *\\n     * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\\n     * // => [{ 'x': 2, 'y': 1 }]\\n     */\\n    var differenceWith = baseRest(function(array, values) {\\n      var comparator = last(values);\\n      if (isArrayLikeObject(comparator)) {\\n        comparator = undefined;\\n      }\\n      return isArrayLikeObject(array)\\n        ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\\n        : [];\\n    });\\n\\n    /**\\n     * Creates a slice of `array` with `n` elements dropped from the beginning.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.5.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {number} [n=1] The number of elements to drop.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * _.drop([1, 2, 3]);\\n     * // => [2, 3]\\n     *\\n     * _.drop([1, 2, 3], 2);\\n     * // => [3]\\n     *\\n     * _.drop([1, 2, 3], 5);\\n     * // => []\\n     *\\n     * _.drop([1, 2, 3], 0);\\n     * // => [1, 2, 3]\\n     */\\n    function drop(array, n, guard) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return [];\\n      }\\n      n = (guard || n === undefined) ? 1 : toInteger(n);\\n      return baseSlice(array, n < 0 ? 0 : n, length);\\n    }\\n\\n    /**\\n     * Creates a slice of `array` with `n` elements dropped from the end.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {number} [n=1] The number of elements to drop.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * _.dropRight([1, 2, 3]);\\n     * // => [1, 2]\\n     *\\n     * _.dropRight([1, 2, 3], 2);\\n     * // => [1]\\n     *\\n     * _.dropRight([1, 2, 3], 5);\\n     * // => []\\n     *\\n     * _.dropRight([1, 2, 3], 0);\\n     * // => [1, 2, 3]\\n     */\\n    function dropRight(array, n, guard) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return [];\\n      }\\n      n = (guard || n === undefined) ? 1 : toInteger(n);\\n      n = length - n;\\n      return baseSlice(array, 0, n < 0 ? 0 : n);\\n    }\\n\\n    /**\\n     * Creates a slice of `array` excluding elements dropped from the end.\\n     * Elements are dropped until `predicate` returns falsey. The predicate is\\n     * invoked with three arguments: (value, index, array).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'active': true },\\n     *   { 'user': 'fred',    'active': false },\\n     *   { 'user': 'pebbles', 'active': false }\\n     * ];\\n     *\\n     * _.dropRightWhile(users, function(o) { return !o.active; });\\n     * // => objects for ['barney']\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\\n     * // => objects for ['barney', 'fred']\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.dropRightWhile(users, ['active', false]);\\n     * // => objects for ['barney']\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.dropRightWhile(users, 'active');\\n     * // => objects for ['barney', 'fred', 'pebbles']\\n     */\\n    function dropRightWhile(array, predicate) {\\n      return (array && array.length)\\n        ? baseWhile(array, getIteratee(predicate, 3), true, true)\\n        : [];\\n    }\\n\\n    /**\\n     * Creates a slice of `array` excluding elements dropped from the beginning.\\n     * Elements are dropped until `predicate` returns falsey. The predicate is\\n     * invoked with three arguments: (value, index, array).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'active': false },\\n     *   { 'user': 'fred',    'active': false },\\n     *   { 'user': 'pebbles', 'active': true }\\n     * ];\\n     *\\n     * _.dropWhile(users, function(o) { return !o.active; });\\n     * // => objects for ['pebbles']\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.dropWhile(users, { 'user': 'barney', 'active': false });\\n     * // => objects for ['fred', 'pebbles']\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.dropWhile(users, ['active', false]);\\n     * // => objects for ['pebbles']\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.dropWhile(users, 'active');\\n     * // => objects for ['barney', 'fred', 'pebbles']\\n     */\\n    function dropWhile(array, predicate) {\\n      return (array && array.length)\\n        ? baseWhile(array, getIteratee(predicate, 3), true)\\n        : [];\\n    }\\n\\n    /**\\n     * Fills elements of `array` with `value` from `start` up to, but not\\n     * including, `end`.\\n     *\\n     * **Note:** This method mutates `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.2.0\\n     * @category Array\\n     * @param {Array} array The array to fill.\\n     * @param {*} value The value to fill `array` with.\\n     * @param {number} [start=0] The start position.\\n     * @param {number} [end=array.length] The end position.\\n     * @returns {Array} Returns `array`.\\n     * @example\\n     *\\n     * var array = [1, 2, 3];\\n     *\\n     * _.fill(array, 'a');\\n     * console.log(array);\\n     * // => ['a', 'a', 'a']\\n     *\\n     * _.fill(Array(3), 2);\\n     * // => [2, 2, 2]\\n     *\\n     * _.fill([4, 6, 8, 10], '*', 1, 3);\\n     * // => [4, '*', '*', 10]\\n     */\\n    function fill(array, value, start, end) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return [];\\n      }\\n      if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\\n        start = 0;\\n        end = length;\\n      }\\n      return baseFill(array, value, start, end);\\n    }\\n\\n    /**\\n     * This method is like `_.find` except that it returns the index of the first\\n     * element `predicate` returns truthy for instead of the element itself.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.1.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @param {number} [fromIndex=0] The index to search from.\\n     * @returns {number} Returns the index of the found element, else `-1`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'active': false },\\n     *   { 'user': 'fred',    'active': false },\\n     *   { 'user': 'pebbles', 'active': true }\\n     * ];\\n     *\\n     * _.findIndex(users, function(o) { return o.user == 'barney'; });\\n     * // => 0\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.findIndex(users, { 'user': 'fred', 'active': false });\\n     * // => 1\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.findIndex(users, ['active', false]);\\n     * // => 0\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.findIndex(users, 'active');\\n     * // => 2\\n     */\\n    function findIndex(array, predicate, fromIndex) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return -1;\\n      }\\n      var index = fromIndex == null ? 0 : toInteger(fromIndex);\\n      if (index < 0) {\\n        index = nativeMax(length + index, 0);\\n      }\\n      return baseFindIndex(array, getIteratee(predicate, 3), index);\\n    }\\n\\n    /**\\n     * This method is like `_.findIndex` except that it iterates over elements\\n     * of `collection` from right to left.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @param {number} [fromIndex=array.length-1] The index to search from.\\n     * @returns {number} Returns the index of the found element, else `-1`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'active': true },\\n     *   { 'user': 'fred',    'active': false },\\n     *   { 'user': 'pebbles', 'active': false }\\n     * ];\\n     *\\n     * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\\n     * // => 2\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.findLastIndex(users, { 'user': 'barney', 'active': true });\\n     * // => 0\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.findLastIndex(users, ['active', false]);\\n     * // => 2\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.findLastIndex(users, 'active');\\n     * // => 0\\n     */\\n    function findLastIndex(array, predicate, fromIndex) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return -1;\\n      }\\n      var index = length - 1;\\n      if (fromIndex !== undefined) {\\n        index = toInteger(fromIndex);\\n        index = fromIndex < 0\\n          ? nativeMax(length + index, 0)\\n          : nativeMin(index, length - 1);\\n      }\\n      return baseFindIndex(array, getIteratee(predicate, 3), index, true);\\n    }\\n\\n    /**\\n     * Flattens `array` a single level deep.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to flatten.\\n     * @returns {Array} Returns the new flattened array.\\n     * @example\\n     *\\n     * _.flatten([1, [2, [3, [4]], 5]]);\\n     * // => [1, 2, [3, [4]], 5]\\n     */\\n    function flatten(array) {\\n      var length = array == null ? 0 : array.length;\\n      return length ? baseFlatten(array, 1) : [];\\n    }\\n\\n    /**\\n     * Recursively flattens `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to flatten.\\n     * @returns {Array} Returns the new flattened array.\\n     * @example\\n     *\\n     * _.flattenDeep([1, [2, [3, [4]], 5]]);\\n     * // => [1, 2, 3, 4, 5]\\n     */\\n    function flattenDeep(array) {\\n      var length = array == null ? 0 : array.length;\\n      return length ? baseFlatten(array, INFINITY) : [];\\n    }\\n\\n    /**\\n     * Recursively flatten `array` up to `depth` times.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.4.0\\n     * @category Array\\n     * @param {Array} array The array to flatten.\\n     * @param {number} [depth=1] The maximum recursion depth.\\n     * @returns {Array} Returns the new flattened array.\\n     * @example\\n     *\\n     * var array = [1, [2, [3, [4]], 5]];\\n     *\\n     * _.flattenDepth(array, 1);\\n     * // => [1, 2, [3, [4]], 5]\\n     *\\n     * _.flattenDepth(array, 2);\\n     * // => [1, 2, 3, [4], 5]\\n     */\\n    function flattenDepth(array, depth) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return [];\\n      }\\n      depth = depth === undefined ? 1 : toInteger(depth);\\n      return baseFlatten(array, depth);\\n    }\\n\\n    /**\\n     * The inverse of `_.toPairs`; this method returns an object composed\\n     * from key-value `pairs`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} pairs The key-value pairs.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * _.fromPairs([['a', 1], ['b', 2]]);\\n     * // => { 'a': 1, 'b': 2 }\\n     */\\n    function fromPairs(pairs) {\\n      var index = -1,\\n          length = pairs == null ? 0 : pairs.length,\\n          result = {};\\n\\n      while (++index < length) {\\n        var pair = pairs[index];\\n        result[pair[0]] = pair[1];\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Gets the first element of `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @alias first\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @returns {*} Returns the first element of `array`.\\n     * @example\\n     *\\n     * _.head([1, 2, 3]);\\n     * // => 1\\n     *\\n     * _.head([]);\\n     * // => undefined\\n     */\\n    function head(array) {\\n      return (array && array.length) ? array[0] : undefined;\\n    }\\n\\n    /**\\n     * Gets the index at which the first occurrence of `value` is found in `array`\\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons. If `fromIndex` is negative, it's used as the\\n     * offset from the end of `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {*} value The value to search for.\\n     * @param {number} [fromIndex=0] The index to search from.\\n     * @returns {number} Returns the index of the matched value, else `-1`.\\n     * @example\\n     *\\n     * _.indexOf([1, 2, 1, 2], 2);\\n     * // => 1\\n     *\\n     * // Search from the `fromIndex`.\\n     * _.indexOf([1, 2, 1, 2], 2, 2);\\n     * // => 3\\n     */\\n    function indexOf(array, value, fromIndex) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return -1;\\n      }\\n      var index = fromIndex == null ? 0 : toInteger(fromIndex);\\n      if (index < 0) {\\n        index = nativeMax(length + index, 0);\\n      }\\n      return baseIndexOf(array, value, index);\\n    }\\n\\n    /**\\n     * Gets all but the last element of `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * _.initial([1, 2, 3]);\\n     * // => [1, 2]\\n     */\\n    function initial(array) {\\n      var length = array == null ? 0 : array.length;\\n      return length ? baseSlice(array, 0, -1) : [];\\n    }\\n\\n    /**\\n     * Creates an array of unique values that are included in all given arrays\\n     * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons. The order and references of result values are\\n     * determined by the first array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @returns {Array} Returns the new array of intersecting values.\\n     * @example\\n     *\\n     * _.intersection([2, 1], [2, 3]);\\n     * // => [2]\\n     */\\n    var intersection = baseRest(function(arrays) {\\n      var mapped = arrayMap(arrays, castArrayLikeObject);\\n      return (mapped.length && mapped[0] === arrays[0])\\n        ? baseIntersection(mapped)\\n        : [];\\n    });\\n\\n    /**\\n     * This method is like `_.intersection` except that it accepts `iteratee`\\n     * which is invoked for each element of each `arrays` to generate the criterion\\n     * by which they're compared. The order and references of result values are\\n     * determined by the first array. The iteratee is invoked with one argument:\\n     * (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Array} Returns the new array of intersecting values.\\n     * @example\\n     *\\n     * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\\n     * // => [2.1]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\\n     * // => [{ 'x': 1 }]\\n     */\\n    var intersectionBy = baseRest(function(arrays) {\\n      var iteratee = last(arrays),\\n          mapped = arrayMap(arrays, castArrayLikeObject);\\n\\n      if (iteratee === last(mapped)) {\\n        iteratee = undefined;\\n      } else {\\n        mapped.pop();\\n      }\\n      return (mapped.length && mapped[0] === arrays[0])\\n        ? baseIntersection(mapped, getIteratee(iteratee, 2))\\n        : [];\\n    });\\n\\n    /**\\n     * This method is like `_.intersection` except that it accepts `comparator`\\n     * which is invoked to compare elements of `arrays`. The order and references\\n     * of result values are determined by the first array. The comparator is\\n     * invoked with two arguments: (arrVal, othVal).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of intersecting values.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\\n     *\\n     * _.intersectionWith(objects, others, _.isEqual);\\n     * // => [{ 'x': 1, 'y': 2 }]\\n     */\\n    var intersectionWith = baseRest(function(arrays) {\\n      var comparator = last(arrays),\\n          mapped = arrayMap(arrays, castArrayLikeObject);\\n\\n      comparator = typeof comparator == 'function' ? comparator : undefined;\\n      if (comparator) {\\n        mapped.pop();\\n      }\\n      return (mapped.length && mapped[0] === arrays[0])\\n        ? baseIntersection(mapped, undefined, comparator)\\n        : [];\\n    });\\n\\n    /**\\n     * Converts all elements in `array` into a string separated by `separator`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to convert.\\n     * @param {string} [separator=','] The element separator.\\n     * @returns {string} Returns the joined string.\\n     * @example\\n     *\\n     * _.join(['a', 'b', 'c'], '~');\\n     * // => 'a~b~c'\\n     */\\n    function join(array, separator) {\\n      return array == null ? '' : nativeJoin.call(array, separator);\\n    }\\n\\n    /**\\n     * Gets the last element of `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @returns {*} Returns the last element of `array`.\\n     * @example\\n     *\\n     * _.last([1, 2, 3]);\\n     * // => 3\\n     */\\n    function last(array) {\\n      var length = array == null ? 0 : array.length;\\n      return length ? array[length - 1] : undefined;\\n    }\\n\\n    /**\\n     * This method is like `_.indexOf` except that it iterates over elements of\\n     * `array` from right to left.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {*} value The value to search for.\\n     * @param {number} [fromIndex=array.length-1] The index to search from.\\n     * @returns {number} Returns the index of the matched value, else `-1`.\\n     * @example\\n     *\\n     * _.lastIndexOf([1, 2, 1, 2], 2);\\n     * // => 3\\n     *\\n     * // Search from the `fromIndex`.\\n     * _.lastIndexOf([1, 2, 1, 2], 2, 2);\\n     * // => 1\\n     */\\n    function lastIndexOf(array, value, fromIndex) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return -1;\\n      }\\n      var index = length;\\n      if (fromIndex !== undefined) {\\n        index = toInteger(fromIndex);\\n        index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\\n      }\\n      return value === value\\n        ? strictLastIndexOf(array, value, index)\\n        : baseFindIndex(array, baseIsNaN, index, true);\\n    }\\n\\n    /**\\n     * Gets the element at index `n` of `array`. If `n` is negative, the nth\\n     * element from the end is returned.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.11.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {number} [n=0] The index of the element to return.\\n     * @returns {*} Returns the nth element of `array`.\\n     * @example\\n     *\\n     * var array = ['a', 'b', 'c', 'd'];\\n     *\\n     * _.nth(array, 1);\\n     * // => 'b'\\n     *\\n     * _.nth(array, -2);\\n     * // => 'c';\\n     */\\n    function nth(array, n) {\\n      return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\\n    }\\n\\n    /**\\n     * Removes all given values from `array` using\\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons.\\n     *\\n     * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\\n     * to remove elements from an array by predicate.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @param {...*} [values] The values to remove.\\n     * @returns {Array} Returns `array`.\\n     * @example\\n     *\\n     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\\n     *\\n     * _.pull(array, 'a', 'c');\\n     * console.log(array);\\n     * // => ['b', 'b']\\n     */\\n    var pull = baseRest(pullAll);\\n\\n    /**\\n     * This method is like `_.pull` except that it accepts an array of values to remove.\\n     *\\n     * **Note:** Unlike `_.difference`, this method mutates `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @param {Array} values The values to remove.\\n     * @returns {Array} Returns `array`.\\n     * @example\\n     *\\n     * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\\n     *\\n     * _.pullAll(array, ['a', 'c']);\\n     * console.log(array);\\n     * // => ['b', 'b']\\n     */\\n    function pullAll(array, values) {\\n      return (array && array.length && values && values.length)\\n        ? basePullAll(array, values)\\n        : array;\\n    }\\n\\n    /**\\n     * This method is like `_.pullAll` except that it accepts `iteratee` which is\\n     * invoked for each element of `array` and `values` to generate the criterion\\n     * by which they're compared. The iteratee is invoked with one argument: (value).\\n     *\\n     * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @param {Array} values The values to remove.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Array} Returns `array`.\\n     * @example\\n     *\\n     * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\\n     *\\n     * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\\n     * console.log(array);\\n     * // => [{ 'x': 2 }]\\n     */\\n    function pullAllBy(array, values, iteratee) {\\n      return (array && array.length && values && values.length)\\n        ? basePullAll(array, values, getIteratee(iteratee, 2))\\n        : array;\\n    }\\n\\n    /**\\n     * This method is like `_.pullAll` except that it accepts `comparator` which\\n     * is invoked to compare elements of `array` to `values`. The comparator is\\n     * invoked with two arguments: (arrVal, othVal).\\n     *\\n     * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.6.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @param {Array} values The values to remove.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns `array`.\\n     * @example\\n     *\\n     * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\\n     *\\n     * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\\n     * console.log(array);\\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\\n     */\\n    function pullAllWith(array, values, comparator) {\\n      return (array && array.length && values && values.length)\\n        ? basePullAll(array, values, undefined, comparator)\\n        : array;\\n    }\\n\\n    /**\\n     * Removes elements from `array` corresponding to `indexes` and returns an\\n     * array of removed elements.\\n     *\\n     * **Note:** Unlike `_.at`, this method mutates `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @param {...(number|number[])} [indexes] The indexes of elements to remove.\\n     * @returns {Array} Returns the new array of removed elements.\\n     * @example\\n     *\\n     * var array = ['a', 'b', 'c', 'd'];\\n     * var pulled = _.pullAt(array, [1, 3]);\\n     *\\n     * console.log(array);\\n     * // => ['a', 'c']\\n     *\\n     * console.log(pulled);\\n     * // => ['b', 'd']\\n     */\\n    var pullAt = flatRest(function(array, indexes) {\\n      var length = array == null ? 0 : array.length,\\n          result = baseAt(array, indexes);\\n\\n      basePullAt(array, arrayMap(indexes, function(index) {\\n        return isIndex(index, length) ? +index : index;\\n      }).sort(compareAscending));\\n\\n      return result;\\n    });\\n\\n    /**\\n     * Removes all elements from `array` that `predicate` returns truthy for\\n     * and returns an array of the removed elements. The predicate is invoked\\n     * with three arguments: (value, index, array).\\n     *\\n     * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\\n     * to pull elements from an array by value.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the new array of removed elements.\\n     * @example\\n     *\\n     * var array = [1, 2, 3, 4];\\n     * var evens = _.remove(array, function(n) {\\n     *   return n % 2 == 0;\\n     * });\\n     *\\n     * console.log(array);\\n     * // => [1, 3]\\n     *\\n     * console.log(evens);\\n     * // => [2, 4]\\n     */\\n    function remove(array, predicate) {\\n      var result = [];\\n      if (!(array && array.length)) {\\n        return result;\\n      }\\n      var index = -1,\\n          indexes = [],\\n          length = array.length;\\n\\n      predicate = getIteratee(predicate, 3);\\n      while (++index < length) {\\n        var value = array[index];\\n        if (predicate(value, index, array)) {\\n          result.push(value);\\n          indexes.push(index);\\n        }\\n      }\\n      basePullAt(array, indexes);\\n      return result;\\n    }\\n\\n    /**\\n     * Reverses `array` so that the first element becomes the last, the second\\n     * element becomes the second to last, and so on.\\n     *\\n     * **Note:** This method mutates `array` and is based on\\n     * [`Array#reverse`](https://mdn.io/Array/reverse).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to modify.\\n     * @returns {Array} Returns `array`.\\n     * @example\\n     *\\n     * var array = [1, 2, 3];\\n     *\\n     * _.reverse(array);\\n     * // => [3, 2, 1]\\n     *\\n     * console.log(array);\\n     * // => [3, 2, 1]\\n     */\\n    function reverse(array) {\\n      return array == null ? array : nativeReverse.call(array);\\n    }\\n\\n    /**\\n     * Creates a slice of `array` from `start` up to, but not including, `end`.\\n     *\\n     * **Note:** This method is used instead of\\n     * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\\n     * returned.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to slice.\\n     * @param {number} [start=0] The start position.\\n     * @param {number} [end=array.length] The end position.\\n     * @returns {Array} Returns the slice of `array`.\\n     */\\n    function slice(array, start, end) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return [];\\n      }\\n      if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\\n        start = 0;\\n        end = length;\\n      }\\n      else {\\n        start = start == null ? 0 : toInteger(start);\\n        end = end === undefined ? length : toInteger(end);\\n      }\\n      return baseSlice(array, start, end);\\n    }\\n\\n    /**\\n     * Uses a binary search to determine the lowest index at which `value`\\n     * should be inserted into `array` in order to maintain its sort order.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The sorted array to inspect.\\n     * @param {*} value The value to evaluate.\\n     * @returns {number} Returns the index at which `value` should be inserted\\n     *  into `array`.\\n     * @example\\n     *\\n     * _.sortedIndex([30, 50], 40);\\n     * // => 1\\n     */\\n    function sortedIndex(array, value) {\\n      return baseSortedIndex(array, value);\\n    }\\n\\n    /**\\n     * This method is like `_.sortedIndex` except that it accepts `iteratee`\\n     * which is invoked for `value` and each element of `array` to compute their\\n     * sort ranking. The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The sorted array to inspect.\\n     * @param {*} value The value to evaluate.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {number} Returns the index at which `value` should be inserted\\n     *  into `array`.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 4 }, { 'x': 5 }];\\n     *\\n     * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\\n     * // => 0\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\\n     * // => 0\\n     */\\n    function sortedIndexBy(array, value, iteratee) {\\n      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\\n    }\\n\\n    /**\\n     * This method is like `_.indexOf` except that it performs a binary\\n     * search on a sorted `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {*} value The value to search for.\\n     * @returns {number} Returns the index of the matched value, else `-1`.\\n     * @example\\n     *\\n     * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\\n     * // => 1\\n     */\\n    function sortedIndexOf(array, value) {\\n      var length = array == null ? 0 : array.length;\\n      if (length) {\\n        var index = baseSortedIndex(array, value);\\n        if (index < length && eq(array[index], value)) {\\n          return index;\\n        }\\n      }\\n      return -1;\\n    }\\n\\n    /**\\n     * This method is like `_.sortedIndex` except that it returns the highest\\n     * index at which `value` should be inserted into `array` in order to\\n     * maintain its sort order.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The sorted array to inspect.\\n     * @param {*} value The value to evaluate.\\n     * @returns {number} Returns the index at which `value` should be inserted\\n     *  into `array`.\\n     * @example\\n     *\\n     * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\\n     * // => 4\\n     */\\n    function sortedLastIndex(array, value) {\\n      return baseSortedIndex(array, value, true);\\n    }\\n\\n    /**\\n     * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\\n     * which is invoked for `value` and each element of `array` to compute their\\n     * sort ranking. The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The sorted array to inspect.\\n     * @param {*} value The value to evaluate.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {number} Returns the index at which `value` should be inserted\\n     *  into `array`.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 4 }, { 'x': 5 }];\\n     *\\n     * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\\n     * // => 1\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\\n     * // => 1\\n     */\\n    function sortedLastIndexBy(array, value, iteratee) {\\n      return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\\n    }\\n\\n    /**\\n     * This method is like `_.lastIndexOf` except that it performs a binary\\n     * search on a sorted `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {*} value The value to search for.\\n     * @returns {number} Returns the index of the matched value, else `-1`.\\n     * @example\\n     *\\n     * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\\n     * // => 3\\n     */\\n    function sortedLastIndexOf(array, value) {\\n      var length = array == null ? 0 : array.length;\\n      if (length) {\\n        var index = baseSortedIndex(array, value, true) - 1;\\n        if (eq(array[index], value)) {\\n          return index;\\n        }\\n      }\\n      return -1;\\n    }\\n\\n    /**\\n     * This method is like `_.uniq` except that it's designed and optimized\\n     * for sorted arrays.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @returns {Array} Returns the new duplicate free array.\\n     * @example\\n     *\\n     * _.sortedUniq([1, 1, 2]);\\n     * // => [1, 2]\\n     */\\n    function sortedUniq(array) {\\n      return (array && array.length)\\n        ? baseSortedUniq(array)\\n        : [];\\n    }\\n\\n    /**\\n     * This method is like `_.uniqBy` except that it's designed and optimized\\n     * for sorted arrays.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [iteratee] The iteratee invoked per element.\\n     * @returns {Array} Returns the new duplicate free array.\\n     * @example\\n     *\\n     * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\\n     * // => [1.1, 2.3]\\n     */\\n    function sortedUniqBy(array, iteratee) {\\n      return (array && array.length)\\n        ? baseSortedUniq(array, getIteratee(iteratee, 2))\\n        : [];\\n    }\\n\\n    /**\\n     * Gets all but the first element of `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * _.tail([1, 2, 3]);\\n     * // => [2, 3]\\n     */\\n    function tail(array) {\\n      var length = array == null ? 0 : array.length;\\n      return length ? baseSlice(array, 1, length) : [];\\n    }\\n\\n    /**\\n     * Creates a slice of `array` with `n` elements taken from the beginning.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {number} [n=1] The number of elements to take.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * _.take([1, 2, 3]);\\n     * // => [1]\\n     *\\n     * _.take([1, 2, 3], 2);\\n     * // => [1, 2]\\n     *\\n     * _.take([1, 2, 3], 5);\\n     * // => [1, 2, 3]\\n     *\\n     * _.take([1, 2, 3], 0);\\n     * // => []\\n     */\\n    function take(array, n, guard) {\\n      if (!(array && array.length)) {\\n        return [];\\n      }\\n      n = (guard || n === undefined) ? 1 : toInteger(n);\\n      return baseSlice(array, 0, n < 0 ? 0 : n);\\n    }\\n\\n    /**\\n     * Creates a slice of `array` with `n` elements taken from the end.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {number} [n=1] The number of elements to take.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * _.takeRight([1, 2, 3]);\\n     * // => [3]\\n     *\\n     * _.takeRight([1, 2, 3], 2);\\n     * // => [2, 3]\\n     *\\n     * _.takeRight([1, 2, 3], 5);\\n     * // => [1, 2, 3]\\n     *\\n     * _.takeRight([1, 2, 3], 0);\\n     * // => []\\n     */\\n    function takeRight(array, n, guard) {\\n      var length = array == null ? 0 : array.length;\\n      if (!length) {\\n        return [];\\n      }\\n      n = (guard || n === undefined) ? 1 : toInteger(n);\\n      n = length - n;\\n      return baseSlice(array, n < 0 ? 0 : n, length);\\n    }\\n\\n    /**\\n     * Creates a slice of `array` with elements taken from the end. Elements are\\n     * taken until `predicate` returns falsey. The predicate is invoked with\\n     * three arguments: (value, index, array).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'active': true },\\n     *   { 'user': 'fred',    'active': false },\\n     *   { 'user': 'pebbles', 'active': false }\\n     * ];\\n     *\\n     * _.takeRightWhile(users, function(o) { return !o.active; });\\n     * // => objects for ['fred', 'pebbles']\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\\n     * // => objects for ['pebbles']\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.takeRightWhile(users, ['active', false]);\\n     * // => objects for ['fred', 'pebbles']\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.takeRightWhile(users, 'active');\\n     * // => []\\n     */\\n    function takeRightWhile(array, predicate) {\\n      return (array && array.length)\\n        ? baseWhile(array, getIteratee(predicate, 3), false, true)\\n        : [];\\n    }\\n\\n    /**\\n     * Creates a slice of `array` with elements taken from the beginning. Elements\\n     * are taken until `predicate` returns falsey. The predicate is invoked with\\n     * three arguments: (value, index, array).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Array\\n     * @param {Array} array The array to query.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the slice of `array`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'active': false },\\n     *   { 'user': 'fred',    'active': false },\\n     *   { 'user': 'pebbles', 'active': true }\\n     * ];\\n     *\\n     * _.takeWhile(users, function(o) { return !o.active; });\\n     * // => objects for ['barney', 'fred']\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.takeWhile(users, { 'user': 'barney', 'active': false });\\n     * // => objects for ['barney']\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.takeWhile(users, ['active', false]);\\n     * // => objects for ['barney', 'fred']\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.takeWhile(users, 'active');\\n     * // => []\\n     */\\n    function takeWhile(array, predicate) {\\n      return (array && array.length)\\n        ? baseWhile(array, getIteratee(predicate, 3))\\n        : [];\\n    }\\n\\n    /**\\n     * Creates an array of unique values, in order, from all given arrays using\\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @returns {Array} Returns the new array of combined values.\\n     * @example\\n     *\\n     * _.union([2], [1, 2]);\\n     * // => [2, 1]\\n     */\\n    var union = baseRest(function(arrays) {\\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\\n    });\\n\\n    /**\\n     * This method is like `_.union` except that it accepts `iteratee` which is\\n     * invoked for each element of each `arrays` to generate the criterion by\\n     * which uniqueness is computed. Result values are chosen from the first\\n     * array in which the value occurs. The iteratee is invoked with one argument:\\n     * (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Array} Returns the new array of combined values.\\n     * @example\\n     *\\n     * _.unionBy([2.1], [1.2, 2.3], Math.floor);\\n     * // => [2.1, 1.2]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\\n     * // => [{ 'x': 1 }, { 'x': 2 }]\\n     */\\n    var unionBy = baseRest(function(arrays) {\\n      var iteratee = last(arrays);\\n      if (isArrayLikeObject(iteratee)) {\\n        iteratee = undefined;\\n      }\\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\\n    });\\n\\n    /**\\n     * This method is like `_.union` except that it accepts `comparator` which\\n     * is invoked to compare elements of `arrays`. Result values are chosen from\\n     * the first array in which the value occurs. The comparator is invoked\\n     * with two arguments: (arrVal, othVal).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of combined values.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\\n     *\\n     * _.unionWith(objects, others, _.isEqual);\\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\\n     */\\n    var unionWith = baseRest(function(arrays) {\\n      var comparator = last(arrays);\\n      comparator = typeof comparator == 'function' ? comparator : undefined;\\n      return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\\n    });\\n\\n    /**\\n     * Creates a duplicate-free version of an array, using\\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons, in which only the first occurrence of each element\\n     * is kept. The order of result values is determined by the order they occur\\n     * in the array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @returns {Array} Returns the new duplicate free array.\\n     * @example\\n     *\\n     * _.uniq([2, 1, 2]);\\n     * // => [2, 1]\\n     */\\n    function uniq(array) {\\n      return (array && array.length) ? baseUniq(array) : [];\\n    }\\n\\n    /**\\n     * This method is like `_.uniq` except that it accepts `iteratee` which is\\n     * invoked for each element in `array` to generate the criterion by which\\n     * uniqueness is computed. The order of result values is determined by the\\n     * order they occur in the array. The iteratee is invoked with one argument:\\n     * (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Array} Returns the new duplicate free array.\\n     * @example\\n     *\\n     * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\\n     * // => [2.1, 1.2]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\\n     * // => [{ 'x': 1 }, { 'x': 2 }]\\n     */\\n    function uniqBy(array, iteratee) {\\n      return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\\n    }\\n\\n    /**\\n     * This method is like `_.uniq` except that it accepts `comparator` which\\n     * is invoked to compare elements of `array`. The order of result values is\\n     * determined by the order they occur in the array.The comparator is invoked\\n     * with two arguments: (arrVal, othVal).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new duplicate free array.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\\n     *\\n     * _.uniqWith(objects, _.isEqual);\\n     * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\\n     */\\n    function uniqWith(array, comparator) {\\n      comparator = typeof comparator == 'function' ? comparator : undefined;\\n      return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\\n    }\\n\\n    /**\\n     * This method is like `_.zip` except that it accepts an array of grouped\\n     * elements and creates an array regrouping the elements to their pre-zip\\n     * configuration.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.2.0\\n     * @category Array\\n     * @param {Array} array The array of grouped elements to process.\\n     * @returns {Array} Returns the new array of regrouped elements.\\n     * @example\\n     *\\n     * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\\n     * // => [['a', 1, true], ['b', 2, false]]\\n     *\\n     * _.unzip(zipped);\\n     * // => [['a', 'b'], [1, 2], [true, false]]\\n     */\\n    function unzip(array) {\\n      if (!(array && array.length)) {\\n        return [];\\n      }\\n      var length = 0;\\n      array = arrayFilter(array, function(group) {\\n        if (isArrayLikeObject(group)) {\\n          length = nativeMax(group.length, length);\\n          return true;\\n        }\\n      });\\n      return baseTimes(length, function(index) {\\n        return arrayMap(array, baseProperty(index));\\n      });\\n    }\\n\\n    /**\\n     * This method is like `_.unzip` except that it accepts `iteratee` to specify\\n     * how regrouped values should be combined. The iteratee is invoked with the\\n     * elements of each group: (...group).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.8.0\\n     * @category Array\\n     * @param {Array} array The array of grouped elements to process.\\n     * @param {Function} [iteratee=_.identity] The function to combine\\n     *  regrouped values.\\n     * @returns {Array} Returns the new array of regrouped elements.\\n     * @example\\n     *\\n     * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\\n     * // => [[1, 10, 100], [2, 20, 200]]\\n     *\\n     * _.unzipWith(zipped, _.add);\\n     * // => [3, 30, 300]\\n     */\\n    function unzipWith(array, iteratee) {\\n      if (!(array && array.length)) {\\n        return [];\\n      }\\n      var result = unzip(array);\\n      if (iteratee == null) {\\n        return result;\\n      }\\n      return arrayMap(result, function(group) {\\n        return apply(iteratee, undefined, group);\\n      });\\n    }\\n\\n    /**\\n     * Creates an array excluding all given values using\\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * for equality comparisons.\\n     *\\n     * **Note:** Unlike `_.pull`, this method returns a new array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {Array} array The array to inspect.\\n     * @param {...*} [values] The values to exclude.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @see _.difference, _.xor\\n     * @example\\n     *\\n     * _.without([2, 1, 2, 3], 1, 2);\\n     * // => [3]\\n     */\\n    var without = baseRest(function(array, values) {\\n      return isArrayLikeObject(array)\\n        ? baseDifference(array, values)\\n        : [];\\n    });\\n\\n    /**\\n     * Creates an array of unique values that is the\\n     * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\\n     * of the given arrays. The order of result values is determined by the order\\n     * they occur in the arrays.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.4.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @see _.difference, _.without\\n     * @example\\n     *\\n     * _.xor([2, 1], [2, 3]);\\n     * // => [1, 3]\\n     */\\n    var xor = baseRest(function(arrays) {\\n      return baseXor(arrayFilter(arrays, isArrayLikeObject));\\n    });\\n\\n    /**\\n     * This method is like `_.xor` except that it accepts `iteratee` which is\\n     * invoked for each element of each `arrays` to generate the criterion by\\n     * which by which they're compared. The order of result values is determined\\n     * by the order they occur in the arrays. The iteratee is invoked with one\\n     * argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @example\\n     *\\n     * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\\n     * // => [1.2, 3.4]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\\n     * // => [{ 'x': 2 }]\\n     */\\n    var xorBy = baseRest(function(arrays) {\\n      var iteratee = last(arrays);\\n      if (isArrayLikeObject(iteratee)) {\\n        iteratee = undefined;\\n      }\\n      return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\\n    });\\n\\n    /**\\n     * This method is like `_.xor` except that it accepts `comparator` which is\\n     * invoked to compare elements of `arrays`. The order of result values is\\n     * determined by the order they occur in the arrays. The comparator is invoked\\n     * with two arguments: (arrVal, othVal).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to inspect.\\n     * @param {Function} [comparator] The comparator invoked per element.\\n     * @returns {Array} Returns the new array of filtered values.\\n     * @example\\n     *\\n     * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\\n     * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\\n     *\\n     * _.xorWith(objects, others, _.isEqual);\\n     * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\\n     */\\n    var xorWith = baseRest(function(arrays) {\\n      var comparator = last(arrays);\\n      comparator = typeof comparator == 'function' ? comparator : undefined;\\n      return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\\n    });\\n\\n    /**\\n     * Creates an array of grouped elements, the first of which contains the\\n     * first elements of the given arrays, the second of which contains the\\n     * second elements of the given arrays, and so on.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to process.\\n     * @returns {Array} Returns the new array of grouped elements.\\n     * @example\\n     *\\n     * _.zip(['a', 'b'], [1, 2], [true, false]);\\n     * // => [['a', 1, true], ['b', 2, false]]\\n     */\\n    var zip = baseRest(unzip);\\n\\n    /**\\n     * This method is like `_.fromPairs` except that it accepts two arrays,\\n     * one of property identifiers and one of corresponding values.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.4.0\\n     * @category Array\\n     * @param {Array} [props=[]] The property identifiers.\\n     * @param {Array} [values=[]] The property values.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * _.zipObject(['a', 'b'], [1, 2]);\\n     * // => { 'a': 1, 'b': 2 }\\n     */\\n    function zipObject(props, values) {\\n      return baseZipObject(props || [], values || [], assignValue);\\n    }\\n\\n    /**\\n     * This method is like `_.zipObject` except that it supports property paths.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.1.0\\n     * @category Array\\n     * @param {Array} [props=[]] The property identifiers.\\n     * @param {Array} [values=[]] The property values.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\\n     * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\\n     */\\n    function zipObjectDeep(props, values) {\\n      return baseZipObject(props || [], values || [], baseSet);\\n    }\\n\\n    /**\\n     * This method is like `_.zip` except that it accepts `iteratee` to specify\\n     * how grouped values should be combined. The iteratee is invoked with the\\n     * elements of each group: (...group).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.8.0\\n     * @category Array\\n     * @param {...Array} [arrays] The arrays to process.\\n     * @param {Function} [iteratee=_.identity] The function to combine\\n     *  grouped values.\\n     * @returns {Array} Returns the new array of grouped elements.\\n     * @example\\n     *\\n     * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\\n     *   return a + b + c;\\n     * });\\n     * // => [111, 222]\\n     */\\n    var zipWith = baseRest(function(arrays) {\\n      var length = arrays.length,\\n          iteratee = length > 1 ? arrays[length - 1] : undefined;\\n\\n      iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\\n      return unzipWith(arrays, iteratee);\\n    });\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates a `lodash` wrapper instance that wraps `value` with explicit method\\n     * chain sequences enabled. The result of such sequences must be unwrapped\\n     * with `_#value`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.3.0\\n     * @category Seq\\n     * @param {*} value The value to wrap.\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'age': 36 },\\n     *   { 'user': 'fred',    'age': 40 },\\n     *   { 'user': 'pebbles', 'age': 1 }\\n     * ];\\n     *\\n     * var youngest = _\\n     *   .chain(users)\\n     *   .sortBy('age')\\n     *   .map(function(o) {\\n     *     return o.user + ' is ' + o.age;\\n     *   })\\n     *   .head()\\n     *   .value();\\n     * // => 'pebbles is 1'\\n     */\\n    function chain(value) {\\n      var result = lodash(value);\\n      result.__chain__ = true;\\n      return result;\\n    }\\n\\n    /**\\n     * This method invokes `interceptor` and returns `value`. The interceptor\\n     * is invoked with one argument; (value). The purpose of this method is to\\n     * \\\"tap into\\\" a method chain sequence in order to modify intermediate results.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Seq\\n     * @param {*} value The value to provide to `interceptor`.\\n     * @param {Function} interceptor The function to invoke.\\n     * @returns {*} Returns `value`.\\n     * @example\\n     *\\n     * _([1, 2, 3])\\n     *  .tap(function(array) {\\n     *    // Mutate input array.\\n     *    array.pop();\\n     *  })\\n     *  .reverse()\\n     *  .value();\\n     * // => [2, 1]\\n     */\\n    function tap(value, interceptor) {\\n      interceptor(value);\\n      return value;\\n    }\\n\\n    /**\\n     * This method is like `_.tap` except that it returns the result of `interceptor`.\\n     * The purpose of this method is to \\\"pass thru\\\" values replacing intermediate\\n     * results in a method chain sequence.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Seq\\n     * @param {*} value The value to provide to `interceptor`.\\n     * @param {Function} interceptor The function to invoke.\\n     * @returns {*} Returns the result of `interceptor`.\\n     * @example\\n     *\\n     * _('  abc  ')\\n     *  .chain()\\n     *  .trim()\\n     *  .thru(function(value) {\\n     *    return [value];\\n     *  })\\n     *  .value();\\n     * // => ['abc']\\n     */\\n    function thru(value, interceptor) {\\n      return interceptor(value);\\n    }\\n\\n    /**\\n     * This method is the wrapper version of `_.at`.\\n     *\\n     * @name at\\n     * @memberOf _\\n     * @since 1.0.0\\n     * @category Seq\\n     * @param {...(string|string[])} [paths] The property paths to pick.\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\\n     *\\n     * _(object).at(['a[0].b.c', 'a[1]']).value();\\n     * // => [3, 4]\\n     */\\n    var wrapperAt = flatRest(function(paths) {\\n      var length = paths.length,\\n          start = length ? paths[0] : 0,\\n          value = this.__wrapped__,\\n          interceptor = function(object) { return baseAt(object, paths); };\\n\\n      if (length > 1 || this.__actions__.length ||\\n          !(value instanceof LazyWrapper) || !isIndex(start)) {\\n        return this.thru(interceptor);\\n      }\\n      value = value.slice(start, +start + (length ? 1 : 0));\\n      value.__actions__.push({\\n        'func': thru,\\n        'args': [interceptor],\\n        'thisArg': undefined\\n      });\\n      return new LodashWrapper(value, this.__chain__).thru(function(array) {\\n        if (length && !array.length) {\\n          array.push(undefined);\\n        }\\n        return array;\\n      });\\n    });\\n\\n    /**\\n     * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\\n     *\\n     * @name chain\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Seq\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney', 'age': 36 },\\n     *   { 'user': 'fred',   'age': 40 }\\n     * ];\\n     *\\n     * // A sequence without explicit chaining.\\n     * _(users).head();\\n     * // => { 'user': 'barney', 'age': 36 }\\n     *\\n     * // A sequence with explicit chaining.\\n     * _(users)\\n     *   .chain()\\n     *   .head()\\n     *   .pick('user')\\n     *   .value();\\n     * // => { 'user': 'barney' }\\n     */\\n    function wrapperChain() {\\n      return chain(this);\\n    }\\n\\n    /**\\n     * Executes the chain sequence and returns the wrapped result.\\n     *\\n     * @name commit\\n     * @memberOf _\\n     * @since 3.2.0\\n     * @category Seq\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * var array = [1, 2];\\n     * var wrapped = _(array).push(3);\\n     *\\n     * console.log(array);\\n     * // => [1, 2]\\n     *\\n     * wrapped = wrapped.commit();\\n     * console.log(array);\\n     * // => [1, 2, 3]\\n     *\\n     * wrapped.last();\\n     * // => 3\\n     *\\n     * console.log(array);\\n     * // => [1, 2, 3]\\n     */\\n    function wrapperCommit() {\\n      return new LodashWrapper(this.value(), this.__chain__);\\n    }\\n\\n    /**\\n     * Gets the next value on a wrapped object following the\\n     * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\\n     *\\n     * @name next\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Seq\\n     * @returns {Object} Returns the next iterator value.\\n     * @example\\n     *\\n     * var wrapped = _([1, 2]);\\n     *\\n     * wrapped.next();\\n     * // => { 'done': false, 'value': 1 }\\n     *\\n     * wrapped.next();\\n     * // => { 'done': false, 'value': 2 }\\n     *\\n     * wrapped.next();\\n     * // => { 'done': true, 'value': undefined }\\n     */\\n    function wrapperNext() {\\n      if (this.__values__ === undefined) {\\n        this.__values__ = toArray(this.value());\\n      }\\n      var done = this.__index__ >= this.__values__.length,\\n          value = done ? undefined : this.__values__[this.__index__++];\\n\\n      return { 'done': done, 'value': value };\\n    }\\n\\n    /**\\n     * Enables the wrapper to be iterable.\\n     *\\n     * @name Symbol.iterator\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Seq\\n     * @returns {Object} Returns the wrapper object.\\n     * @example\\n     *\\n     * var wrapped = _([1, 2]);\\n     *\\n     * wrapped[Symbol.iterator]() === wrapped;\\n     * // => true\\n     *\\n     * Array.from(wrapped);\\n     * // => [1, 2]\\n     */\\n    function wrapperToIterator() {\\n      return this;\\n    }\\n\\n    /**\\n     * Creates a clone of the chain sequence planting `value` as the wrapped value.\\n     *\\n     * @name plant\\n     * @memberOf _\\n     * @since 3.2.0\\n     * @category Seq\\n     * @param {*} value The value to plant.\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * function square(n) {\\n     *   return n * n;\\n     * }\\n     *\\n     * var wrapped = _([1, 2]).map(square);\\n     * var other = wrapped.plant([3, 4]);\\n     *\\n     * other.value();\\n     * // => [9, 16]\\n     *\\n     * wrapped.value();\\n     * // => [1, 4]\\n     */\\n    function wrapperPlant(value) {\\n      var result,\\n          parent = this;\\n\\n      while (parent instanceof baseLodash) {\\n        var clone = wrapperClone(parent);\\n        clone.__index__ = 0;\\n        clone.__values__ = undefined;\\n        if (result) {\\n          previous.__wrapped__ = clone;\\n        } else {\\n          result = clone;\\n        }\\n        var previous = clone;\\n        parent = parent.__wrapped__;\\n      }\\n      previous.__wrapped__ = value;\\n      return result;\\n    }\\n\\n    /**\\n     * This method is the wrapper version of `_.reverse`.\\n     *\\n     * **Note:** This method mutates the wrapped array.\\n     *\\n     * @name reverse\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Seq\\n     * @returns {Object} Returns the new `lodash` wrapper instance.\\n     * @example\\n     *\\n     * var array = [1, 2, 3];\\n     *\\n     * _(array).reverse().value()\\n     * // => [3, 2, 1]\\n     *\\n     * console.log(array);\\n     * // => [3, 2, 1]\\n     */\\n    function wrapperReverse() {\\n      var value = this.__wrapped__;\\n      if (value instanceof LazyWrapper) {\\n        var wrapped = value;\\n        if (this.__actions__.length) {\\n          wrapped = new LazyWrapper(this);\\n        }\\n        wrapped = wrapped.reverse();\\n        wrapped.__actions__.push({\\n          'func': thru,\\n          'args': [reverse],\\n          'thisArg': undefined\\n        });\\n        return new LodashWrapper(wrapped, this.__chain__);\\n      }\\n      return this.thru(reverse);\\n    }\\n\\n    /**\\n     * Executes the chain sequence to resolve the unwrapped value.\\n     *\\n     * @name value\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @alias toJSON, valueOf\\n     * @category Seq\\n     * @returns {*} Returns the resolved unwrapped value.\\n     * @example\\n     *\\n     * _([1, 2, 3]).value();\\n     * // => [1, 2, 3]\\n     */\\n    function wrapperValue() {\\n      return baseWrapperValue(this.__wrapped__, this.__actions__);\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Creates an object composed of keys generated from the results of running\\n     * each element of `collection` thru `iteratee`. The corresponding value of\\n     * each key is the number of times the key was returned by `iteratee`. The\\n     * iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.5.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\\n     * @returns {Object} Returns the composed aggregate object.\\n     * @example\\n     *\\n     * _.countBy([6.1, 4.2, 6.3], Math.floor);\\n     * // => { '4': 1, '6': 2 }\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.countBy(['one', 'two', 'three'], 'length');\\n     * // => { '3': 2, '5': 1 }\\n     */\\n    var countBy = createAggregator(function(result, value, key) {\\n      if (hasOwnProperty.call(result, key)) {\\n        ++result[key];\\n      } else {\\n        baseAssignValue(result, key, 1);\\n      }\\n    });\\n\\n    /**\\n     * Checks if `predicate` returns truthy for **all** elements of `collection`.\\n     * Iteration is stopped once `predicate` returns falsey. The predicate is\\n     * invoked with three arguments: (value, index|key, collection).\\n     *\\n     * **Note:** This method returns `true` for\\n     * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\\n     * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\\n     * elements of empty collections.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {boolean} Returns `true` if all elements pass the predicate check,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.every([true, 1, null, 'yes'], Boolean);\\n     * // => false\\n     *\\n     * var users = [\\n     *   { 'user': 'barney', 'age': 36, 'active': false },\\n     *   { 'user': 'fred',   'age': 40, 'active': false }\\n     * ];\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.every(users, { 'user': 'barney', 'active': false });\\n     * // => false\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.every(users, ['active', false]);\\n     * // => true\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.every(users, 'active');\\n     * // => false\\n     */\\n    function every(collection, predicate, guard) {\\n      var func = isArray(collection) ? arrayEvery : baseEvery;\\n      if (guard && isIterateeCall(collection, predicate, guard)) {\\n        predicate = undefined;\\n      }\\n      return func(collection, getIteratee(predicate, 3));\\n    }\\n\\n    /**\\n     * Iterates over elements of `collection`, returning an array of all elements\\n     * `predicate` returns truthy for. The predicate is invoked with three\\n     * arguments: (value, index|key, collection).\\n     *\\n     * **Note:** Unlike `_.remove`, this method returns a new array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the new filtered array.\\n     * @see _.reject\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney', 'age': 36, 'active': true },\\n     *   { 'user': 'fred',   'age': 40, 'active': false }\\n     * ];\\n     *\\n     * _.filter(users, function(o) { return !o.active; });\\n     * // => objects for ['fred']\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.filter(users, { 'age': 36, 'active': true });\\n     * // => objects for ['barney']\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.filter(users, ['active', false]);\\n     * // => objects for ['fred']\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.filter(users, 'active');\\n     * // => objects for ['barney']\\n     */\\n    function filter(collection, predicate) {\\n      var func = isArray(collection) ? arrayFilter : baseFilter;\\n      return func(collection, getIteratee(predicate, 3));\\n    }\\n\\n    /**\\n     * Iterates over elements of `collection`, returning the first element\\n     * `predicate` returns truthy for. The predicate is invoked with three\\n     * arguments: (value, index|key, collection).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to inspect.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @param {number} [fromIndex=0] The index to search from.\\n     * @returns {*} Returns the matched element, else `undefined`.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'age': 36, 'active': true },\\n     *   { 'user': 'fred',    'age': 40, 'active': false },\\n     *   { 'user': 'pebbles', 'age': 1,  'active': true }\\n     * ];\\n     *\\n     * _.find(users, function(o) { return o.age < 40; });\\n     * // => object for 'barney'\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.find(users, { 'age': 1, 'active': true });\\n     * // => object for 'pebbles'\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.find(users, ['active', false]);\\n     * // => object for 'fred'\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.find(users, 'active');\\n     * // => object for 'barney'\\n     */\\n    var find = createFind(findIndex);\\n\\n    /**\\n     * This method is like `_.find` except that it iterates over elements of\\n     * `collection` from right to left.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to inspect.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @param {number} [fromIndex=collection.length-1] The index to search from.\\n     * @returns {*} Returns the matched element, else `undefined`.\\n     * @example\\n     *\\n     * _.findLast([1, 2, 3, 4], function(n) {\\n     *   return n % 2 == 1;\\n     * });\\n     * // => 3\\n     */\\n    var findLast = createFind(findLastIndex);\\n\\n    /**\\n     * Creates a flattened array of values by running each element in `collection`\\n     * thru `iteratee` and flattening the mapped results. The iteratee is invoked\\n     * with three arguments: (value, index|key, collection).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the new flattened array.\\n     * @example\\n     *\\n     * function duplicate(n) {\\n     *   return [n, n];\\n     * }\\n     *\\n     * _.flatMap([1, 2], duplicate);\\n     * // => [1, 1, 2, 2]\\n     */\\n    function flatMap(collection, iteratee) {\\n      return baseFlatten(map(collection, iteratee), 1);\\n    }\\n\\n    /**\\n     * This method is like `_.flatMap` except that it recursively flattens the\\n     * mapped results.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.7.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the new flattened array.\\n     * @example\\n     *\\n     * function duplicate(n) {\\n     *   return [[[n, n]]];\\n     * }\\n     *\\n     * _.flatMapDeep([1, 2], duplicate);\\n     * // => [1, 1, 2, 2]\\n     */\\n    function flatMapDeep(collection, iteratee) {\\n      return baseFlatten(map(collection, iteratee), INFINITY);\\n    }\\n\\n    /**\\n     * This method is like `_.flatMap` except that it recursively flattens the\\n     * mapped results up to `depth` times.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.7.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @param {number} [depth=1] The maximum recursion depth.\\n     * @returns {Array} Returns the new flattened array.\\n     * @example\\n     *\\n     * function duplicate(n) {\\n     *   return [[[n, n]]];\\n     * }\\n     *\\n     * _.flatMapDepth([1, 2], duplicate, 2);\\n     * // => [[1, 1], [2, 2]]\\n     */\\n    function flatMapDepth(collection, iteratee, depth) {\\n      depth = depth === undefined ? 1 : toInteger(depth);\\n      return baseFlatten(map(collection, iteratee), depth);\\n    }\\n\\n    /**\\n     * Iterates over elements of `collection` and invokes `iteratee` for each element.\\n     * The iteratee is invoked with three arguments: (value, index|key, collection).\\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\\n     *\\n     * **Note:** As with other \\\"Collections\\\" methods, objects with a \\\"length\\\"\\n     * property are iterated like arrays. To avoid this behavior use `_.forIn`\\n     * or `_.forOwn` for object iteration.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @alias each\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Array|Object} Returns `collection`.\\n     * @see _.forEachRight\\n     * @example\\n     *\\n     * _.forEach([1, 2], function(value) {\\n     *   console.log(value);\\n     * });\\n     * // => Logs `1` then `2`.\\n     *\\n     * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\\n     *   console.log(key);\\n     * });\\n     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\\n     */\\n    function forEach(collection, iteratee) {\\n      var func = isArray(collection) ? arrayEach : baseEach;\\n      return func(collection, getIteratee(iteratee, 3));\\n    }\\n\\n    /**\\n     * This method is like `_.forEach` except that it iterates over elements of\\n     * `collection` from right to left.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @alias eachRight\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Array|Object} Returns `collection`.\\n     * @see _.forEach\\n     * @example\\n     *\\n     * _.forEachRight([1, 2], function(value) {\\n     *   console.log(value);\\n     * });\\n     * // => Logs `2` then `1`.\\n     */\\n    function forEachRight(collection, iteratee) {\\n      var func = isArray(collection) ? arrayEachRight : baseEachRight;\\n      return func(collection, getIteratee(iteratee, 3));\\n    }\\n\\n    /**\\n     * Creates an object composed of keys generated from the results of running\\n     * each element of `collection` thru `iteratee`. The order of grouped values\\n     * is determined by the order they occur in `collection`. The corresponding\\n     * value of each key is an array of elements responsible for generating the\\n     * key. The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\\n     * @returns {Object} Returns the composed aggregate object.\\n     * @example\\n     *\\n     * _.groupBy([6.1, 4.2, 6.3], Math.floor);\\n     * // => { '4': [4.2], '6': [6.1, 6.3] }\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.groupBy(['one', 'two', 'three'], 'length');\\n     * // => { '3': ['one', 'two'], '5': ['three'] }\\n     */\\n    var groupBy = createAggregator(function(result, value, key) {\\n      if (hasOwnProperty.call(result, key)) {\\n        result[key].push(value);\\n      } else {\\n        baseAssignValue(result, key, [value]);\\n      }\\n    });\\n\\n    /**\\n     * Checks if `value` is in `collection`. If `collection` is a string, it's\\n     * checked for a substring of `value`, otherwise\\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * is used for equality comparisons. If `fromIndex` is negative, it's used as\\n     * the offset from the end of `collection`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object|string} collection The collection to inspect.\\n     * @param {*} value The value to search for.\\n     * @param {number} [fromIndex=0] The index to search from.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\\n     * @returns {boolean} Returns `true` if `value` is found, else `false`.\\n     * @example\\n     *\\n     * _.includes([1, 2, 3], 1);\\n     * // => true\\n     *\\n     * _.includes([1, 2, 3], 1, 2);\\n     * // => false\\n     *\\n     * _.includes({ 'a': 1, 'b': 2 }, 1);\\n     * // => true\\n     *\\n     * _.includes('abcd', 'bc');\\n     * // => true\\n     */\\n    function includes(collection, value, fromIndex, guard) {\\n      collection = isArrayLike(collection) ? collection : values(collection);\\n      fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\\n\\n      var length = collection.length;\\n      if (fromIndex < 0) {\\n        fromIndex = nativeMax(length + fromIndex, 0);\\n      }\\n      return isString(collection)\\n        ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\\n        : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\\n    }\\n\\n    /**\\n     * Invokes the method at `path` of each element in `collection`, returning\\n     * an array of the results of each invoked method. Any additional arguments\\n     * are provided to each invoked method. If `path` is a function, it's invoked\\n     * for, and `this` bound to, each element in `collection`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Array|Function|string} path The path of the method to invoke or\\n     *  the function invoked per iteration.\\n     * @param {...*} [args] The arguments to invoke each method with.\\n     * @returns {Array} Returns the array of results.\\n     * @example\\n     *\\n     * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\\n     * // => [[1, 5, 7], [1, 2, 3]]\\n     *\\n     * _.invokeMap([123, 456], String.prototype.split, '');\\n     * // => [['1', '2', '3'], ['4', '5', '6']]\\n     */\\n    var invokeMap = baseRest(function(collection, path, args) {\\n      var index = -1,\\n          isFunc = typeof path == 'function',\\n          result = isArrayLike(collection) ? Array(collection.length) : [];\\n\\n      baseEach(collection, function(value) {\\n        result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\\n      });\\n      return result;\\n    });\\n\\n    /**\\n     * Creates an object composed of keys generated from the results of running\\n     * each element of `collection` thru `iteratee`. The corresponding value of\\n     * each key is the last element responsible for generating the key. The\\n     * iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\\n     * @returns {Object} Returns the composed aggregate object.\\n     * @example\\n     *\\n     * var array = [\\n     *   { 'dir': 'left', 'code': 97 },\\n     *   { 'dir': 'right', 'code': 100 }\\n     * ];\\n     *\\n     * _.keyBy(array, function(o) {\\n     *   return String.fromCharCode(o.code);\\n     * });\\n     * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\\n     *\\n     * _.keyBy(array, 'dir');\\n     * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\\n     */\\n    var keyBy = createAggregator(function(result, value, key) {\\n      baseAssignValue(result, key, value);\\n    });\\n\\n    /**\\n     * Creates an array of values by running each element in `collection` thru\\n     * `iteratee`. The iteratee is invoked with three arguments:\\n     * (value, index|key, collection).\\n     *\\n     * Many lodash methods are guarded to work as iteratees for methods like\\n     * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\\n     *\\n     * The guarded methods are:\\n     * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\\n     * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\\n     * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\\n     * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the new mapped array.\\n     * @example\\n     *\\n     * function square(n) {\\n     *   return n * n;\\n     * }\\n     *\\n     * _.map([4, 8], square);\\n     * // => [16, 64]\\n     *\\n     * _.map({ 'a': 4, 'b': 8 }, square);\\n     * // => [16, 64] (iteration order is not guaranteed)\\n     *\\n     * var users = [\\n     *   { 'user': 'barney' },\\n     *   { 'user': 'fred' }\\n     * ];\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.map(users, 'user');\\n     * // => ['barney', 'fred']\\n     */\\n    function map(collection, iteratee) {\\n      var func = isArray(collection) ? arrayMap : baseMap;\\n      return func(collection, getIteratee(iteratee, 3));\\n    }\\n\\n    /**\\n     * This method is like `_.sortBy` except that it allows specifying the sort\\n     * orders of the iteratees to sort by. If `orders` is unspecified, all values\\n     * are sorted in ascending order. Otherwise, specify an order of \\\"desc\\\" for\\n     * descending or \\\"asc\\\" for ascending sort order of corresponding values.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\\n     *  The iteratees to sort by.\\n     * @param {string[]} [orders] The sort orders of `iteratees`.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\\n     * @returns {Array} Returns the new sorted array.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'fred',   'age': 48 },\\n     *   { 'user': 'barney', 'age': 34 },\\n     *   { 'user': 'fred',   'age': 40 },\\n     *   { 'user': 'barney', 'age': 36 }\\n     * ];\\n     *\\n     * // Sort by `user` in ascending order and by `age` in descending order.\\n     * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\\n     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\\n     */\\n    function orderBy(collection, iteratees, orders, guard) {\\n      if (collection == null) {\\n        return [];\\n      }\\n      if (!isArray(iteratees)) {\\n        iteratees = iteratees == null ? [] : [iteratees];\\n      }\\n      orders = guard ? undefined : orders;\\n      if (!isArray(orders)) {\\n        orders = orders == null ? [] : [orders];\\n      }\\n      return baseOrderBy(collection, iteratees, orders);\\n    }\\n\\n    /**\\n     * Creates an array of elements split into two groups, the first of which\\n     * contains elements `predicate` returns truthy for, the second of which\\n     * contains elements `predicate` returns falsey for. The predicate is\\n     * invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the array of grouped elements.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney',  'age': 36, 'active': false },\\n     *   { 'user': 'fred',    'age': 40, 'active': true },\\n     *   { 'user': 'pebbles', 'age': 1,  'active': false }\\n     * ];\\n     *\\n     * _.partition(users, function(o) { return o.active; });\\n     * // => objects for [['fred'], ['barney', 'pebbles']]\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.partition(users, { 'age': 1, 'active': false });\\n     * // => objects for [['pebbles'], ['barney', 'fred']]\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.partition(users, ['active', false]);\\n     * // => objects for [['barney', 'pebbles'], ['fred']]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.partition(users, 'active');\\n     * // => objects for [['fred'], ['barney', 'pebbles']]\\n     */\\n    var partition = createAggregator(function(result, value, key) {\\n      result[key ? 0 : 1].push(value);\\n    }, function() { return [[], []]; });\\n\\n    /**\\n     * Reduces `collection` to a value which is the accumulated result of running\\n     * each element in `collection` thru `iteratee`, where each successive\\n     * invocation is supplied the return value of the previous. If `accumulator`\\n     * is not given, the first element of `collection` is used as the initial\\n     * value. The iteratee is invoked with four arguments:\\n     * (accumulator, value, index|key, collection).\\n     *\\n     * Many lodash methods are guarded to work as iteratees for methods like\\n     * `_.reduce`, `_.reduceRight`, and `_.transform`.\\n     *\\n     * The guarded methods are:\\n     * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\\n     * and `sortBy`\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @param {*} [accumulator] The initial value.\\n     * @returns {*} Returns the accumulated value.\\n     * @see _.reduceRight\\n     * @example\\n     *\\n     * _.reduce([1, 2], function(sum, n) {\\n     *   return sum + n;\\n     * }, 0);\\n     * // => 3\\n     *\\n     * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\\n     *   (result[value] || (result[value] = [])).push(key);\\n     *   return result;\\n     * }, {});\\n     * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\\n     */\\n    function reduce(collection, iteratee, accumulator) {\\n      var func = isArray(collection) ? arrayReduce : baseReduce,\\n          initAccum = arguments.length < 3;\\n\\n      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\\n    }\\n\\n    /**\\n     * This method is like `_.reduce` except that it iterates over elements of\\n     * `collection` from right to left.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @param {*} [accumulator] The initial value.\\n     * @returns {*} Returns the accumulated value.\\n     * @see _.reduce\\n     * @example\\n     *\\n     * var array = [[0, 1], [2, 3], [4, 5]];\\n     *\\n     * _.reduceRight(array, function(flattened, other) {\\n     *   return flattened.concat(other);\\n     * }, []);\\n     * // => [4, 5, 2, 3, 0, 1]\\n     */\\n    function reduceRight(collection, iteratee, accumulator) {\\n      var func = isArray(collection) ? arrayReduceRight : baseReduce,\\n          initAccum = arguments.length < 3;\\n\\n      return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\\n    }\\n\\n    /**\\n     * The opposite of `_.filter`; this method returns the elements of `collection`\\n     * that `predicate` does **not** return truthy for.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the new filtered array.\\n     * @see _.filter\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney', 'age': 36, 'active': false },\\n     *   { 'user': 'fred',   'age': 40, 'active': true }\\n     * ];\\n     *\\n     * _.reject(users, function(o) { return !o.active; });\\n     * // => objects for ['fred']\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.reject(users, { 'age': 40, 'active': true });\\n     * // => objects for ['barney']\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.reject(users, ['active', false]);\\n     * // => objects for ['fred']\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.reject(users, 'active');\\n     * // => objects for ['barney']\\n     */\\n    function reject(collection, predicate) {\\n      var func = isArray(collection) ? arrayFilter : baseFilter;\\n      return func(collection, negate(getIteratee(predicate, 3)));\\n    }\\n\\n    /**\\n     * Gets a random element from `collection`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to sample.\\n     * @returns {*} Returns the random element.\\n     * @example\\n     *\\n     * _.sample([1, 2, 3, 4]);\\n     * // => 2\\n     */\\n    function sample(collection) {\\n      var func = isArray(collection) ? arraySample : baseSample;\\n      return func(collection);\\n    }\\n\\n    /**\\n     * Gets `n` random elements at unique keys from `collection` up to the\\n     * size of `collection`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to sample.\\n     * @param {number} [n=1] The number of elements to sample.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the random elements.\\n     * @example\\n     *\\n     * _.sampleSize([1, 2, 3], 2);\\n     * // => [3, 1]\\n     *\\n     * _.sampleSize([1, 2, 3], 4);\\n     * // => [2, 3, 1]\\n     */\\n    function sampleSize(collection, n, guard) {\\n      if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\\n        n = 1;\\n      } else {\\n        n = toInteger(n);\\n      }\\n      var func = isArray(collection) ? arraySampleSize : baseSampleSize;\\n      return func(collection, n);\\n    }\\n\\n    /**\\n     * Creates an array of shuffled values, using a version of the\\n     * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to shuffle.\\n     * @returns {Array} Returns the new shuffled array.\\n     * @example\\n     *\\n     * _.shuffle([1, 2, 3, 4]);\\n     * // => [4, 1, 3, 2]\\n     */\\n    function shuffle(collection) {\\n      var func = isArray(collection) ? arrayShuffle : baseShuffle;\\n      return func(collection);\\n    }\\n\\n    /**\\n     * Gets the size of `collection` by returning its length for array-like\\n     * values or the number of own enumerable string keyed properties for objects.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object|string} collection The collection to inspect.\\n     * @returns {number} Returns the collection size.\\n     * @example\\n     *\\n     * _.size([1, 2, 3]);\\n     * // => 3\\n     *\\n     * _.size({ 'a': 1, 'b': 2 });\\n     * // => 2\\n     *\\n     * _.size('pebbles');\\n     * // => 7\\n     */\\n    function size(collection) {\\n      if (collection == null) {\\n        return 0;\\n      }\\n      if (isArrayLike(collection)) {\\n        return isString(collection) ? stringSize(collection) : collection.length;\\n      }\\n      var tag = getTag(collection);\\n      if (tag == mapTag || tag == setTag) {\\n        return collection.size;\\n      }\\n      return baseKeys(collection).length;\\n    }\\n\\n    /**\\n     * Checks if `predicate` returns truthy for **any** element of `collection`.\\n     * Iteration is stopped once `predicate` returns truthy. The predicate is\\n     * invoked with three arguments: (value, index|key, collection).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {boolean} Returns `true` if any element passes the predicate check,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.some([null, 0, 'yes', false], Boolean);\\n     * // => true\\n     *\\n     * var users = [\\n     *   { 'user': 'barney', 'active': true },\\n     *   { 'user': 'fred',   'active': false }\\n     * ];\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.some(users, { 'user': 'barney', 'active': false });\\n     * // => false\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.some(users, ['active', false]);\\n     * // => true\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.some(users, 'active');\\n     * // => true\\n     */\\n    function some(collection, predicate, guard) {\\n      var func = isArray(collection) ? arraySome : baseSome;\\n      if (guard && isIterateeCall(collection, predicate, guard)) {\\n        predicate = undefined;\\n      }\\n      return func(collection, getIteratee(predicate, 3));\\n    }\\n\\n    /**\\n     * Creates an array of elements, sorted in ascending order by the results of\\n     * running each element in a collection thru each iteratee. This method\\n     * performs a stable sort, that is, it preserves the original sort order of\\n     * equal elements. The iteratees are invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Collection\\n     * @param {Array|Object} collection The collection to iterate over.\\n     * @param {...(Function|Function[])} [iteratees=[_.identity]]\\n     *  The iteratees to sort by.\\n     * @returns {Array} Returns the new sorted array.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'fred',   'age': 48 },\\n     *   { 'user': 'barney', 'age': 36 },\\n     *   { 'user': 'fred',   'age': 40 },\\n     *   { 'user': 'barney', 'age': 34 }\\n     * ];\\n     *\\n     * _.sortBy(users, [function(o) { return o.user; }]);\\n     * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\\n     *\\n     * _.sortBy(users, ['user', 'age']);\\n     * // => objects for [['barney', 34], ['barney', 36], ['fred', 40], ['fred', 48]]\\n     */\\n    var sortBy = baseRest(function(collection, iteratees) {\\n      if (collection == null) {\\n        return [];\\n      }\\n      var length = iteratees.length;\\n      if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\\n        iteratees = [];\\n      } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\\n        iteratees = [iteratees[0]];\\n      }\\n      return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\\n    });\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Gets the timestamp of the number of milliseconds that have elapsed since\\n     * the Unix epoch (1 January 1970 00:00:00 UTC).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.4.0\\n     * @category Date\\n     * @returns {number} Returns the timestamp.\\n     * @example\\n     *\\n     * _.defer(function(stamp) {\\n     *   console.log(_.now() - stamp);\\n     * }, _.now());\\n     * // => Logs the number of milliseconds it took for the deferred invocation.\\n     */\\n    var now = ctxNow || function() {\\n      return root.Date.now();\\n    };\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * The opposite of `_.before`; this method creates a function that invokes\\n     * `func` once it's called `n` or more times.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {number} n The number of calls before `func` is invoked.\\n     * @param {Function} func The function to restrict.\\n     * @returns {Function} Returns the new restricted function.\\n     * @example\\n     *\\n     * var saves = ['profile', 'settings'];\\n     *\\n     * var done = _.after(saves.length, function() {\\n     *   console.log('done saving!');\\n     * });\\n     *\\n     * _.forEach(saves, function(type) {\\n     *   asyncSave({ 'type': type, 'complete': done });\\n     * });\\n     * // => Logs 'done saving!' after the two async saves have completed.\\n     */\\n    function after(n, func) {\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      n = toInteger(n);\\n      return function() {\\n        if (--n < 1) {\\n          return func.apply(this, arguments);\\n        }\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that invokes `func`, with up to `n` arguments,\\n     * ignoring any additional arguments.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Function\\n     * @param {Function} func The function to cap arguments for.\\n     * @param {number} [n=func.length] The arity cap.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Function} Returns the new capped function.\\n     * @example\\n     *\\n     * _.map(['6', '8', '10'], _.ary(parseInt, 1));\\n     * // => [6, 8, 10]\\n     */\\n    function ary(func, n, guard) {\\n      n = guard ? undefined : n;\\n      n = (func && n == null) ? func.length : n;\\n      return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\\n    }\\n\\n    /**\\n     * Creates a function that invokes `func`, with the `this` binding and arguments\\n     * of the created function, while it's called less than `n` times. Subsequent\\n     * calls to the created function return the result of the last `func` invocation.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Function\\n     * @param {number} n The number of calls at which `func` is no longer invoked.\\n     * @param {Function} func The function to restrict.\\n     * @returns {Function} Returns the new restricted function.\\n     * @example\\n     *\\n     * jQuery(element).on('click', _.before(5, addContactToList));\\n     * // => Allows adding up to 4 contacts to the list.\\n     */\\n    function before(n, func) {\\n      var result;\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      n = toInteger(n);\\n      return function() {\\n        if (--n > 0) {\\n          result = func.apply(this, arguments);\\n        }\\n        if (n <= 1) {\\n          func = undefined;\\n        }\\n        return result;\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that invokes `func` with the `this` binding of `thisArg`\\n     * and `partials` prepended to the arguments it receives.\\n     *\\n     * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\\n     * may be used as a placeholder for partially applied arguments.\\n     *\\n     * **Note:** Unlike native `Function#bind`, this method doesn't set the \\\"length\\\"\\n     * property of bound functions.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to bind.\\n     * @param {*} thisArg The `this` binding of `func`.\\n     * @param {...*} [partials] The arguments to be partially applied.\\n     * @returns {Function} Returns the new bound function.\\n     * @example\\n     *\\n     * function greet(greeting, punctuation) {\\n     *   return greeting + ' ' + this.user + punctuation;\\n     * }\\n     *\\n     * var object = { 'user': 'fred' };\\n     *\\n     * var bound = _.bind(greet, object, 'hi');\\n     * bound('!');\\n     * // => 'hi fred!'\\n     *\\n     * // Bound with placeholders.\\n     * var bound = _.bind(greet, object, _, '!');\\n     * bound('hi');\\n     * // => 'hi fred!'\\n     */\\n    var bind = baseRest(function(func, thisArg, partials) {\\n      var bitmask = WRAP_BIND_FLAG;\\n      if (partials.length) {\\n        var holders = replaceHolders(partials, getHolder(bind));\\n        bitmask |= WRAP_PARTIAL_FLAG;\\n      }\\n      return createWrap(func, bitmask, thisArg, partials, holders);\\n    });\\n\\n    /**\\n     * Creates a function that invokes the method at `object[key]` with `partials`\\n     * prepended to the arguments it receives.\\n     *\\n     * This method differs from `_.bind` by allowing bound functions to reference\\n     * methods that may be redefined or don't yet exist. See\\n     * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\\n     * for more details.\\n     *\\n     * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\\n     * builds, may be used as a placeholder for partially applied arguments.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.10.0\\n     * @category Function\\n     * @param {Object} object The object to invoke the method on.\\n     * @param {string} key The key of the method.\\n     * @param {...*} [partials] The arguments to be partially applied.\\n     * @returns {Function} Returns the new bound function.\\n     * @example\\n     *\\n     * var object = {\\n     *   'user': 'fred',\\n     *   'greet': function(greeting, punctuation) {\\n     *     return greeting + ' ' + this.user + punctuation;\\n     *   }\\n     * };\\n     *\\n     * var bound = _.bindKey(object, 'greet', 'hi');\\n     * bound('!');\\n     * // => 'hi fred!'\\n     *\\n     * object.greet = function(greeting, punctuation) {\\n     *   return greeting + 'ya ' + this.user + punctuation;\\n     * };\\n     *\\n     * bound('!');\\n     * // => 'hiya fred!'\\n     *\\n     * // Bound with placeholders.\\n     * var bound = _.bindKey(object, 'greet', _, '!');\\n     * bound('hi');\\n     * // => 'hiya fred!'\\n     */\\n    var bindKey = baseRest(function(object, key, partials) {\\n      var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\\n      if (partials.length) {\\n        var holders = replaceHolders(partials, getHolder(bindKey));\\n        bitmask |= WRAP_PARTIAL_FLAG;\\n      }\\n      return createWrap(key, bitmask, object, partials, holders);\\n    });\\n\\n    /**\\n     * Creates a function that accepts arguments of `func` and either invokes\\n     * `func` returning its result, if at least `arity` number of arguments have\\n     * been provided, or returns a function that accepts the remaining `func`\\n     * arguments, and so on. The arity of `func` may be specified if `func.length`\\n     * is not sufficient.\\n     *\\n     * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\\n     * may be used as a placeholder for provided arguments.\\n     *\\n     * **Note:** This method doesn't set the \\\"length\\\" property of curried functions.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Function\\n     * @param {Function} func The function to curry.\\n     * @param {number} [arity=func.length] The arity of `func`.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Function} Returns the new curried function.\\n     * @example\\n     *\\n     * var abc = function(a, b, c) {\\n     *   return [a, b, c];\\n     * };\\n     *\\n     * var curried = _.curry(abc);\\n     *\\n     * curried(1)(2)(3);\\n     * // => [1, 2, 3]\\n     *\\n     * curried(1, 2)(3);\\n     * // => [1, 2, 3]\\n     *\\n     * curried(1, 2, 3);\\n     * // => [1, 2, 3]\\n     *\\n     * // Curried with placeholders.\\n     * curried(1)(_, 3)(2);\\n     * // => [1, 2, 3]\\n     */\\n    function curry(func, arity, guard) {\\n      arity = guard ? undefined : arity;\\n      var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\\n      result.placeholder = curry.placeholder;\\n      return result;\\n    }\\n\\n    /**\\n     * This method is like `_.curry` except that arguments are applied to `func`\\n     * in the manner of `_.partialRight` instead of `_.partial`.\\n     *\\n     * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\\n     * builds, may be used as a placeholder for provided arguments.\\n     *\\n     * **Note:** This method doesn't set the \\\"length\\\" property of curried functions.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Function\\n     * @param {Function} func The function to curry.\\n     * @param {number} [arity=func.length] The arity of `func`.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Function} Returns the new curried function.\\n     * @example\\n     *\\n     * var abc = function(a, b, c) {\\n     *   return [a, b, c];\\n     * };\\n     *\\n     * var curried = _.curryRight(abc);\\n     *\\n     * curried(3)(2)(1);\\n     * // => [1, 2, 3]\\n     *\\n     * curried(2, 3)(1);\\n     * // => [1, 2, 3]\\n     *\\n     * curried(1, 2, 3);\\n     * // => [1, 2, 3]\\n     *\\n     * // Curried with placeholders.\\n     * curried(3)(1, _)(2);\\n     * // => [1, 2, 3]\\n     */\\n    function curryRight(func, arity, guard) {\\n      arity = guard ? undefined : arity;\\n      var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\\n      result.placeholder = curryRight.placeholder;\\n      return result;\\n    }\\n\\n    /**\\n     * Creates a debounced function that delays invoking `func` until after `wait`\\n     * milliseconds have elapsed since the last time the debounced function was\\n     * invoked. The debounced function comes with a `cancel` method to cancel\\n     * delayed `func` invocations and a `flush` method to immediately invoke them.\\n     * Provide `options` to indicate whether `func` should be invoked on the\\n     * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\\n     * with the last arguments provided to the debounced function. Subsequent\\n     * calls to the debounced function return the result of the last `func`\\n     * invocation.\\n     *\\n     * **Note:** If `leading` and `trailing` options are `true`, `func` is\\n     * invoked on the trailing edge of the timeout only if the debounced function\\n     * is invoked more than once during the `wait` timeout.\\n     *\\n     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\\n     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\\n     *\\n     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\\n     * for details over the differences between `_.debounce` and `_.throttle`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to debounce.\\n     * @param {number} [wait=0] The number of milliseconds to delay.\\n     * @param {Object} [options={}] The options object.\\n     * @param {boolean} [options.leading=false]\\n     *  Specify invoking on the leading edge of the timeout.\\n     * @param {number} [options.maxWait]\\n     *  The maximum time `func` is allowed to be delayed before it's invoked.\\n     * @param {boolean} [options.trailing=true]\\n     *  Specify invoking on the trailing edge of the timeout.\\n     * @returns {Function} Returns the new debounced function.\\n     * @example\\n     *\\n     * // Avoid costly calculations while the window size is in flux.\\n     * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\\n     *\\n     * // Invoke `sendMail` when clicked, debouncing subsequent calls.\\n     * jQuery(element).on('click', _.debounce(sendMail, 300, {\\n     *   'leading': true,\\n     *   'trailing': false\\n     * }));\\n     *\\n     * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\\n     * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\\n     * var source = new EventSource('/stream');\\n     * jQuery(source).on('message', debounced);\\n     *\\n     * // Cancel the trailing debounced invocation.\\n     * jQuery(window).on('popstate', debounced.cancel);\\n     */\\n    function debounce(func, wait, options) {\\n      var lastArgs,\\n          lastThis,\\n          maxWait,\\n          result,\\n          timerId,\\n          lastCallTime,\\n          lastInvokeTime = 0,\\n          leading = false,\\n          maxing = false,\\n          trailing = true;\\n\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      wait = toNumber(wait) || 0;\\n      if (isObject(options)) {\\n        leading = !!options.leading;\\n        maxing = 'maxWait' in options;\\n        maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\\n        trailing = 'trailing' in options ? !!options.trailing : trailing;\\n      }\\n\\n      function invokeFunc(time) {\\n        var args = lastArgs,\\n            thisArg = lastThis;\\n\\n        lastArgs = lastThis = undefined;\\n        lastInvokeTime = time;\\n        result = func.apply(thisArg, args);\\n        return result;\\n      }\\n\\n      function leadingEdge(time) {\\n        // Reset any `maxWait` timer.\\n        lastInvokeTime = time;\\n        // Start the timer for the trailing edge.\\n        timerId = setTimeout(timerExpired, wait);\\n        // Invoke the leading edge.\\n        return leading ? invokeFunc(time) : result;\\n      }\\n\\n      function remainingWait(time) {\\n        var timeSinceLastCall = time - lastCallTime,\\n            timeSinceLastInvoke = time - lastInvokeTime,\\n            timeWaiting = wait - timeSinceLastCall;\\n\\n        return maxing\\n          ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\\n          : timeWaiting;\\n      }\\n\\n      function shouldInvoke(time) {\\n        var timeSinceLastCall = time - lastCallTime,\\n            timeSinceLastInvoke = time - lastInvokeTime;\\n\\n        // Either this is the first call, activity has stopped and we're at the\\n        // trailing edge, the system time has gone backwards and we're treating\\n        // it as the trailing edge, or we've hit the `maxWait` limit.\\n        return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\\n          (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\\n      }\\n\\n      function timerExpired() {\\n        var time = now();\\n        if (shouldInvoke(time)) {\\n          return trailingEdge(time);\\n        }\\n        // Restart the timer.\\n        timerId = setTimeout(timerExpired, remainingWait(time));\\n      }\\n\\n      function trailingEdge(time) {\\n        timerId = undefined;\\n\\n        // Only invoke if we have `lastArgs` which means `func` has been\\n        // debounced at least once.\\n        if (trailing && lastArgs) {\\n          return invokeFunc(time);\\n        }\\n        lastArgs = lastThis = undefined;\\n        return result;\\n      }\\n\\n      function cancel() {\\n        if (timerId !== undefined) {\\n          clearTimeout(timerId);\\n        }\\n        lastInvokeTime = 0;\\n        lastArgs = lastCallTime = lastThis = timerId = undefined;\\n      }\\n\\n      function flush() {\\n        return timerId === undefined ? result : trailingEdge(now());\\n      }\\n\\n      function debounced() {\\n        var time = now(),\\n            isInvoking = shouldInvoke(time);\\n\\n        lastArgs = arguments;\\n        lastThis = this;\\n        lastCallTime = time;\\n\\n        if (isInvoking) {\\n          if (timerId === undefined) {\\n            return leadingEdge(lastCallTime);\\n          }\\n          if (maxing) {\\n            // Handle invocations in a tight loop.\\n            clearTimeout(timerId);\\n            timerId = setTimeout(timerExpired, wait);\\n            return invokeFunc(lastCallTime);\\n          }\\n        }\\n        if (timerId === undefined) {\\n          timerId = setTimeout(timerExpired, wait);\\n        }\\n        return result;\\n      }\\n      debounced.cancel = cancel;\\n      debounced.flush = flush;\\n      return debounced;\\n    }\\n\\n    /**\\n     * Defers invoking the `func` until the current call stack has cleared. Any\\n     * additional arguments are provided to `func` when it's invoked.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to defer.\\n     * @param {...*} [args] The arguments to invoke `func` with.\\n     * @returns {number} Returns the timer id.\\n     * @example\\n     *\\n     * _.defer(function(text) {\\n     *   console.log(text);\\n     * }, 'deferred');\\n     * // => Logs 'deferred' after one millisecond.\\n     */\\n    var defer = baseRest(function(func, args) {\\n      return baseDelay(func, 1, args);\\n    });\\n\\n    /**\\n     * Invokes `func` after `wait` milliseconds. Any additional arguments are\\n     * provided to `func` when it's invoked.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to delay.\\n     * @param {number} wait The number of milliseconds to delay invocation.\\n     * @param {...*} [args] The arguments to invoke `func` with.\\n     * @returns {number} Returns the timer id.\\n     * @example\\n     *\\n     * _.delay(function(text) {\\n     *   console.log(text);\\n     * }, 1000, 'later');\\n     * // => Logs 'later' after one second.\\n     */\\n    var delay = baseRest(function(func, wait, args) {\\n      return baseDelay(func, toNumber(wait) || 0, args);\\n    });\\n\\n    /**\\n     * Creates a function that invokes `func` with arguments reversed.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Function\\n     * @param {Function} func The function to flip arguments for.\\n     * @returns {Function} Returns the new flipped function.\\n     * @example\\n     *\\n     * var flipped = _.flip(function() {\\n     *   return _.toArray(arguments);\\n     * });\\n     *\\n     * flipped('a', 'b', 'c', 'd');\\n     * // => ['d', 'c', 'b', 'a']\\n     */\\n    function flip(func) {\\n      return createWrap(func, WRAP_FLIP_FLAG);\\n    }\\n\\n    /**\\n     * Creates a function that memoizes the result of `func`. If `resolver` is\\n     * provided, it determines the cache key for storing the result based on the\\n     * arguments provided to the memoized function. By default, the first argument\\n     * provided to the memoized function is used as the map cache key. The `func`\\n     * is invoked with the `this` binding of the memoized function.\\n     *\\n     * **Note:** The cache is exposed as the `cache` property on the memoized\\n     * function. Its creation may be customized by replacing the `_.memoize.Cache`\\n     * constructor with one whose instances implement the\\n     * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\\n     * method interface of `clear`, `delete`, `get`, `has`, and `set`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to have its output memoized.\\n     * @param {Function} [resolver] The function to resolve the cache key.\\n     * @returns {Function} Returns the new memoized function.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': 2 };\\n     * var other = { 'c': 3, 'd': 4 };\\n     *\\n     * var values = _.memoize(_.values);\\n     * values(object);\\n     * // => [1, 2]\\n     *\\n     * values(other);\\n     * // => [3, 4]\\n     *\\n     * object.a = 2;\\n     * values(object);\\n     * // => [1, 2]\\n     *\\n     * // Modify the result cache.\\n     * values.cache.set(object, ['a', 'b']);\\n     * values(object);\\n     * // => ['a', 'b']\\n     *\\n     * // Replace `_.memoize.Cache`.\\n     * _.memoize.Cache = WeakMap;\\n     */\\n    function memoize(func, resolver) {\\n      if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      var memoized = function() {\\n        var args = arguments,\\n            key = resolver ? resolver.apply(this, args) : args[0],\\n            cache = memoized.cache;\\n\\n        if (cache.has(key)) {\\n          return cache.get(key);\\n        }\\n        var result = func.apply(this, args);\\n        memoized.cache = cache.set(key, result) || cache;\\n        return result;\\n      };\\n      memoized.cache = new (memoize.Cache || MapCache);\\n      return memoized;\\n    }\\n\\n    // Expose `MapCache`.\\n    memoize.Cache = MapCache;\\n\\n    /**\\n     * Creates a function that negates the result of the predicate `func`. The\\n     * `func` predicate is invoked with the `this` binding and arguments of the\\n     * created function.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Function\\n     * @param {Function} predicate The predicate to negate.\\n     * @returns {Function} Returns the new negated function.\\n     * @example\\n     *\\n     * function isEven(n) {\\n     *   return n % 2 == 0;\\n     * }\\n     *\\n     * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\\n     * // => [1, 3, 5]\\n     */\\n    function negate(predicate) {\\n      if (typeof predicate != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      return function() {\\n        var args = arguments;\\n        switch (args.length) {\\n          case 0: return !predicate.call(this);\\n          case 1: return !predicate.call(this, args[0]);\\n          case 2: return !predicate.call(this, args[0], args[1]);\\n          case 3: return !predicate.call(this, args[0], args[1], args[2]);\\n        }\\n        return !predicate.apply(this, args);\\n      };\\n    }\\n\\n    /**\\n     * Creates a function that is restricted to invoking `func` once. Repeat calls\\n     * to the function return the value of the first invocation. The `func` is\\n     * invoked with the `this` binding and arguments of the created function.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to restrict.\\n     * @returns {Function} Returns the new restricted function.\\n     * @example\\n     *\\n     * var initialize = _.once(createApplication);\\n     * initialize();\\n     * initialize();\\n     * // => `createApplication` is invoked once\\n     */\\n    function once(func) {\\n      return before(2, func);\\n    }\\n\\n    /**\\n     * Creates a function that invokes `func` with its arguments transformed.\\n     *\\n     * @static\\n     * @since 4.0.0\\n     * @memberOf _\\n     * @category Function\\n     * @param {Function} func The function to wrap.\\n     * @param {...(Function|Function[])} [transforms=[_.identity]]\\n     *  The argument transforms.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * function doubled(n) {\\n     *   return n * 2;\\n     * }\\n     *\\n     * function square(n) {\\n     *   return n * n;\\n     * }\\n     *\\n     * var func = _.overArgs(function(x, y) {\\n     *   return [x, y];\\n     * }, [square, doubled]);\\n     *\\n     * func(9, 3);\\n     * // => [81, 6]\\n     *\\n     * func(10, 5);\\n     * // => [100, 10]\\n     */\\n    var overArgs = castRest(function(func, transforms) {\\n      transforms = (transforms.length == 1 && isArray(transforms[0]))\\n        ? arrayMap(transforms[0], baseUnary(getIteratee()))\\n        : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\\n\\n      var funcsLength = transforms.length;\\n      return baseRest(function(args) {\\n        var index = -1,\\n            length = nativeMin(args.length, funcsLength);\\n\\n        while (++index < length) {\\n          args[index] = transforms[index].call(this, args[index]);\\n        }\\n        return apply(func, this, args);\\n      });\\n    });\\n\\n    /**\\n     * Creates a function that invokes `func` with `partials` prepended to the\\n     * arguments it receives. This method is like `_.bind` except it does **not**\\n     * alter the `this` binding.\\n     *\\n     * The `_.partial.placeholder` value, which defaults to `_` in monolithic\\n     * builds, may be used as a placeholder for partially applied arguments.\\n     *\\n     * **Note:** This method doesn't set the \\\"length\\\" property of partially\\n     * applied functions.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.2.0\\n     * @category Function\\n     * @param {Function} func The function to partially apply arguments to.\\n     * @param {...*} [partials] The arguments to be partially applied.\\n     * @returns {Function} Returns the new partially applied function.\\n     * @example\\n     *\\n     * function greet(greeting, name) {\\n     *   return greeting + ' ' + name;\\n     * }\\n     *\\n     * var sayHelloTo = _.partial(greet, 'hello');\\n     * sayHelloTo('fred');\\n     * // => 'hello fred'\\n     *\\n     * // Partially applied with placeholders.\\n     * var greetFred = _.partial(greet, _, 'fred');\\n     * greetFred('hi');\\n     * // => 'hi fred'\\n     */\\n    var partial = baseRest(function(func, partials) {\\n      var holders = replaceHolders(partials, getHolder(partial));\\n      return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\\n    });\\n\\n    /**\\n     * This method is like `_.partial` except that partially applied arguments\\n     * are appended to the arguments it receives.\\n     *\\n     * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\\n     * builds, may be used as a placeholder for partially applied arguments.\\n     *\\n     * **Note:** This method doesn't set the \\\"length\\\" property of partially\\n     * applied functions.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.0.0\\n     * @category Function\\n     * @param {Function} func The function to partially apply arguments to.\\n     * @param {...*} [partials] The arguments to be partially applied.\\n     * @returns {Function} Returns the new partially applied function.\\n     * @example\\n     *\\n     * function greet(greeting, name) {\\n     *   return greeting + ' ' + name;\\n     * }\\n     *\\n     * var greetFred = _.partialRight(greet, 'fred');\\n     * greetFred('hi');\\n     * // => 'hi fred'\\n     *\\n     * // Partially applied with placeholders.\\n     * var sayHelloTo = _.partialRight(greet, 'hello', _);\\n     * sayHelloTo('fred');\\n     * // => 'hello fred'\\n     */\\n    var partialRight = baseRest(function(func, partials) {\\n      var holders = replaceHolders(partials, getHolder(partialRight));\\n      return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\\n    });\\n\\n    /**\\n     * Creates a function that invokes `func` with arguments arranged according\\n     * to the specified `indexes` where the argument value at the first index is\\n     * provided as the first argument, the argument value at the second index is\\n     * provided as the second argument, and so on.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Function\\n     * @param {Function} func The function to rearrange arguments for.\\n     * @param {...(number|number[])} indexes The arranged argument indexes.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var rearged = _.rearg(function(a, b, c) {\\n     *   return [a, b, c];\\n     * }, [2, 0, 1]);\\n     *\\n     * rearged('b', 'c', 'a')\\n     * // => ['a', 'b', 'c']\\n     */\\n    var rearg = flatRest(function(func, indexes) {\\n      return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\\n    });\\n\\n    /**\\n     * Creates a function that invokes `func` with the `this` binding of the\\n     * created function and arguments from `start` and beyond provided as\\n     * an array.\\n     *\\n     * **Note:** This method is based on the\\n     * [rest parameter](https://mdn.io/rest_parameters).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Function\\n     * @param {Function} func The function to apply a rest parameter to.\\n     * @param {number} [start=func.length-1] The start position of the rest parameter.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var say = _.rest(function(what, names) {\\n     *   return what + ' ' + _.initial(names).join(', ') +\\n     *     (_.size(names) > 1 ? ', & ' : '') + _.last(names);\\n     * });\\n     *\\n     * say('hello', 'fred', 'barney', 'pebbles');\\n     * // => 'hello fred, barney, & pebbles'\\n     */\\n    function rest(func, start) {\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      start = start === undefined ? start : toInteger(start);\\n      return baseRest(func, start);\\n    }\\n\\n    /**\\n     * Creates a function that invokes `func` with the `this` binding of the\\n     * create function and an array of arguments much like\\n     * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\\n     *\\n     * **Note:** This method is based on the\\n     * [spread operator](https://mdn.io/spread_operator).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.2.0\\n     * @category Function\\n     * @param {Function} func The function to spread arguments over.\\n     * @param {number} [start=0] The start position of the spread.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var say = _.spread(function(who, what) {\\n     *   return who + ' says ' + what;\\n     * });\\n     *\\n     * say(['fred', 'hello']);\\n     * // => 'fred says hello'\\n     *\\n     * var numbers = Promise.all([\\n     *   Promise.resolve(40),\\n     *   Promise.resolve(36)\\n     * ]);\\n     *\\n     * numbers.then(_.spread(function(x, y) {\\n     *   return x + y;\\n     * }));\\n     * // => a Promise of 76\\n     */\\n    function spread(func, start) {\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      start = start == null ? 0 : nativeMax(toInteger(start), 0);\\n      return baseRest(function(args) {\\n        var array = args[start],\\n            otherArgs = castSlice(args, 0, start);\\n\\n        if (array) {\\n          arrayPush(otherArgs, array);\\n        }\\n        return apply(func, this, otherArgs);\\n      });\\n    }\\n\\n    /**\\n     * Creates a throttled function that only invokes `func` at most once per\\n     * every `wait` milliseconds. The throttled function comes with a `cancel`\\n     * method to cancel delayed `func` invocations and a `flush` method to\\n     * immediately invoke them. Provide `options` to indicate whether `func`\\n     * should be invoked on the leading and/or trailing edge of the `wait`\\n     * timeout. The `func` is invoked with the last arguments provided to the\\n     * throttled function. Subsequent calls to the throttled function return the\\n     * result of the last `func` invocation.\\n     *\\n     * **Note:** If `leading` and `trailing` options are `true`, `func` is\\n     * invoked on the trailing edge of the timeout only if the throttled function\\n     * is invoked more than once during the `wait` timeout.\\n     *\\n     * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\\n     * until to the next tick, similar to `setTimeout` with a timeout of `0`.\\n     *\\n     * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\\n     * for details over the differences between `_.throttle` and `_.debounce`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {Function} func The function to throttle.\\n     * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\\n     * @param {Object} [options={}] The options object.\\n     * @param {boolean} [options.leading=true]\\n     *  Specify invoking on the leading edge of the timeout.\\n     * @param {boolean} [options.trailing=true]\\n     *  Specify invoking on the trailing edge of the timeout.\\n     * @returns {Function} Returns the new throttled function.\\n     * @example\\n     *\\n     * // Avoid excessively updating the position while scrolling.\\n     * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\\n     *\\n     * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\\n     * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\\n     * jQuery(element).on('click', throttled);\\n     *\\n     * // Cancel the trailing throttled invocation.\\n     * jQuery(window).on('popstate', throttled.cancel);\\n     */\\n    function throttle(func, wait, options) {\\n      var leading = true,\\n          trailing = true;\\n\\n      if (typeof func != 'function') {\\n        throw new TypeError(FUNC_ERROR_TEXT);\\n      }\\n      if (isObject(options)) {\\n        leading = 'leading' in options ? !!options.leading : leading;\\n        trailing = 'trailing' in options ? !!options.trailing : trailing;\\n      }\\n      return debounce(func, wait, {\\n        'leading': leading,\\n        'maxWait': wait,\\n        'trailing': trailing\\n      });\\n    }\\n\\n    /**\\n     * Creates a function that accepts up to one argument, ignoring any\\n     * additional arguments.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Function\\n     * @param {Function} func The function to cap arguments for.\\n     * @returns {Function} Returns the new capped function.\\n     * @example\\n     *\\n     * _.map(['6', '8', '10'], _.unary(parseInt));\\n     * // => [6, 8, 10]\\n     */\\n    function unary(func) {\\n      return ary(func, 1);\\n    }\\n\\n    /**\\n     * Creates a function that provides `value` to `wrapper` as its first\\n     * argument. Any additional arguments provided to the function are appended\\n     * to those provided to the `wrapper`. The wrapper is invoked with the `this`\\n     * binding of the created function.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Function\\n     * @param {*} value The value to wrap.\\n     * @param {Function} [wrapper=identity] The wrapper function.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var p = _.wrap(_.escape, function(func, text) {\\n     *   return '<p>' + func(text) + '</p>';\\n     * });\\n     *\\n     * p('fred, barney, & pebbles');\\n     * // => '<p>fred, barney, &amp; pebbles</p>'\\n     */\\n    function wrap(value, wrapper) {\\n      return partial(castFunction(wrapper), value);\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Casts `value` as an array if it's not one.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.4.0\\n     * @category Lang\\n     * @param {*} value The value to inspect.\\n     * @returns {Array} Returns the cast array.\\n     * @example\\n     *\\n     * _.castArray(1);\\n     * // => [1]\\n     *\\n     * _.castArray({ 'a': 1 });\\n     * // => [{ 'a': 1 }]\\n     *\\n     * _.castArray('abc');\\n     * // => ['abc']\\n     *\\n     * _.castArray(null);\\n     * // => [null]\\n     *\\n     * _.castArray(undefined);\\n     * // => [undefined]\\n     *\\n     * _.castArray();\\n     * // => []\\n     *\\n     * var array = [1, 2, 3];\\n     * console.log(_.castArray(array) === array);\\n     * // => true\\n     */\\n    function castArray() {\\n      if (!arguments.length) {\\n        return [];\\n      }\\n      var value = arguments[0];\\n      return isArray(value) ? value : [value];\\n    }\\n\\n    /**\\n     * Creates a shallow clone of `value`.\\n     *\\n     * **Note:** This method is loosely based on the\\n     * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\\n     * and supports cloning arrays, array buffers, booleans, date objects, maps,\\n     * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\\n     * arrays. The own enumerable properties of `arguments` objects are cloned\\n     * as plain objects. An empty object is returned for uncloneable values such\\n     * as error objects, functions, DOM nodes, and WeakMaps.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to clone.\\n     * @returns {*} Returns the cloned value.\\n     * @see _.cloneDeep\\n     * @example\\n     *\\n     * var objects = [{ 'a': 1 }, { 'b': 2 }];\\n     *\\n     * var shallow = _.clone(objects);\\n     * console.log(shallow[0] === objects[0]);\\n     * // => true\\n     */\\n    function clone(value) {\\n      return baseClone(value, CLONE_SYMBOLS_FLAG);\\n    }\\n\\n    /**\\n     * This method is like `_.clone` except that it accepts `customizer` which\\n     * is invoked to produce the cloned value. If `customizer` returns `undefined`,\\n     * cloning is handled by the method instead. The `customizer` is invoked with\\n     * up to four arguments; (value [, index|key, object, stack]).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to clone.\\n     * @param {Function} [customizer] The function to customize cloning.\\n     * @returns {*} Returns the cloned value.\\n     * @see _.cloneDeepWith\\n     * @example\\n     *\\n     * function customizer(value) {\\n     *   if (_.isElement(value)) {\\n     *     return value.cloneNode(false);\\n     *   }\\n     * }\\n     *\\n     * var el = _.cloneWith(document.body, customizer);\\n     *\\n     * console.log(el === document.body);\\n     * // => false\\n     * console.log(el.nodeName);\\n     * // => 'BODY'\\n     * console.log(el.childNodes.length);\\n     * // => 0\\n     */\\n    function cloneWith(value, customizer) {\\n      customizer = typeof customizer == 'function' ? customizer : undefined;\\n      return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\\n    }\\n\\n    /**\\n     * This method is like `_.clone` except that it recursively clones `value`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.0.0\\n     * @category Lang\\n     * @param {*} value The value to recursively clone.\\n     * @returns {*} Returns the deep cloned value.\\n     * @see _.clone\\n     * @example\\n     *\\n     * var objects = [{ 'a': 1 }, { 'b': 2 }];\\n     *\\n     * var deep = _.cloneDeep(objects);\\n     * console.log(deep[0] === objects[0]);\\n     * // => false\\n     */\\n    function cloneDeep(value) {\\n      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\\n    }\\n\\n    /**\\n     * This method is like `_.cloneWith` except that it recursively clones `value`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to recursively clone.\\n     * @param {Function} [customizer] The function to customize cloning.\\n     * @returns {*} Returns the deep cloned value.\\n     * @see _.cloneWith\\n     * @example\\n     *\\n     * function customizer(value) {\\n     *   if (_.isElement(value)) {\\n     *     return value.cloneNode(true);\\n     *   }\\n     * }\\n     *\\n     * var el = _.cloneDeepWith(document.body, customizer);\\n     *\\n     * console.log(el === document.body);\\n     * // => false\\n     * console.log(el.nodeName);\\n     * // => 'BODY'\\n     * console.log(el.childNodes.length);\\n     * // => 20\\n     */\\n    function cloneDeepWith(value, customizer) {\\n      customizer = typeof customizer == 'function' ? customizer : undefined;\\n      return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\\n    }\\n\\n    /**\\n     * Checks if `object` conforms to `source` by invoking the predicate\\n     * properties of `source` with the corresponding property values of `object`.\\n     *\\n     * **Note:** This method is equivalent to `_.conforms` when `source` is\\n     * partially applied.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.14.0\\n     * @category Lang\\n     * @param {Object} object The object to inspect.\\n     * @param {Object} source The object of property predicates to conform to.\\n     * @returns {boolean} Returns `true` if `object` conforms, else `false`.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': 2 };\\n     *\\n     * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\\n     * // => true\\n     *\\n     * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\\n     * // => false\\n     */\\n    function conformsTo(object, source) {\\n      return source == null || baseConformsTo(object, source, keys(source));\\n    }\\n\\n    /**\\n     * Performs a\\n     * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\\n     * comparison between two values to determine if they are equivalent.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\\n     * @example\\n     *\\n     * var object = { 'a': 1 };\\n     * var other = { 'a': 1 };\\n     *\\n     * _.eq(object, object);\\n     * // => true\\n     *\\n     * _.eq(object, other);\\n     * // => false\\n     *\\n     * _.eq('a', 'a');\\n     * // => true\\n     *\\n     * _.eq('a', Object('a'));\\n     * // => false\\n     *\\n     * _.eq(NaN, NaN);\\n     * // => true\\n     */\\n    function eq(value, other) {\\n      return value === other || (value !== value && other !== other);\\n    }\\n\\n    /**\\n     * Checks if `value` is greater than `other`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.9.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if `value` is greater than `other`,\\n     *  else `false`.\\n     * @see _.lt\\n     * @example\\n     *\\n     * _.gt(3, 1);\\n     * // => true\\n     *\\n     * _.gt(3, 3);\\n     * // => false\\n     *\\n     * _.gt(1, 3);\\n     * // => false\\n     */\\n    var gt = createRelationalOperation(baseGt);\\n\\n    /**\\n     * Checks if `value` is greater than or equal to `other`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.9.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if `value` is greater than or equal to\\n     *  `other`, else `false`.\\n     * @see _.lte\\n     * @example\\n     *\\n     * _.gte(3, 1);\\n     * // => true\\n     *\\n     * _.gte(3, 3);\\n     * // => true\\n     *\\n     * _.gte(1, 3);\\n     * // => false\\n     */\\n    var gte = createRelationalOperation(function(value, other) {\\n      return value >= other;\\n    });\\n\\n    /**\\n     * Checks if `value` is likely an `arguments` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an `arguments` object,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.isArguments(function() { return arguments; }());\\n     * // => true\\n     *\\n     * _.isArguments([1, 2, 3]);\\n     * // => false\\n     */\\n    var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\\n      return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\\n        !propertyIsEnumerable.call(value, 'callee');\\n    };\\n\\n    /**\\n     * Checks if `value` is classified as an `Array` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an array, else `false`.\\n     * @example\\n     *\\n     * _.isArray([1, 2, 3]);\\n     * // => true\\n     *\\n     * _.isArray(document.body.children);\\n     * // => false\\n     *\\n     * _.isArray('abc');\\n     * // => false\\n     *\\n     * _.isArray(_.noop);\\n     * // => false\\n     */\\n    var isArray = Array.isArray;\\n\\n    /**\\n     * Checks if `value` is classified as an `ArrayBuffer` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.3.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\\n     * @example\\n     *\\n     * _.isArrayBuffer(new ArrayBuffer(2));\\n     * // => true\\n     *\\n     * _.isArrayBuffer(new Array(2));\\n     * // => false\\n     */\\n    var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\\n\\n    /**\\n     * Checks if `value` is array-like. A value is considered array-like if it's\\n     * not a function and has a `value.length` that's an integer greater than or\\n     * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\\n     * @example\\n     *\\n     * _.isArrayLike([1, 2, 3]);\\n     * // => true\\n     *\\n     * _.isArrayLike(document.body.children);\\n     * // => true\\n     *\\n     * _.isArrayLike('abc');\\n     * // => true\\n     *\\n     * _.isArrayLike(_.noop);\\n     * // => false\\n     */\\n    function isArrayLike(value) {\\n      return value != null && isLength(value.length) && !isFunction(value);\\n    }\\n\\n    /**\\n     * This method is like `_.isArrayLike` except that it also checks if `value`\\n     * is an object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an array-like object,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.isArrayLikeObject([1, 2, 3]);\\n     * // => true\\n     *\\n     * _.isArrayLikeObject(document.body.children);\\n     * // => true\\n     *\\n     * _.isArrayLikeObject('abc');\\n     * // => false\\n     *\\n     * _.isArrayLikeObject(_.noop);\\n     * // => false\\n     */\\n    function isArrayLikeObject(value) {\\n      return isObjectLike(value) && isArrayLike(value);\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a boolean primitive or object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\\n     * @example\\n     *\\n     * _.isBoolean(false);\\n     * // => true\\n     *\\n     * _.isBoolean(null);\\n     * // => false\\n     */\\n    function isBoolean(value) {\\n      return value === true || value === false ||\\n        (isObjectLike(value) && baseGetTag(value) == boolTag);\\n    }\\n\\n    /**\\n     * Checks if `value` is a buffer.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.3.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\\n     * @example\\n     *\\n     * _.isBuffer(new Buffer(2));\\n     * // => true\\n     *\\n     * _.isBuffer(new Uint8Array(2));\\n     * // => false\\n     */\\n    var isBuffer = nativeIsBuffer || stubFalse;\\n\\n    /**\\n     * Checks if `value` is classified as a `Date` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\\n     * @example\\n     *\\n     * _.isDate(new Date);\\n     * // => true\\n     *\\n     * _.isDate('Mon April 23 2012');\\n     * // => false\\n     */\\n    var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\\n\\n    /**\\n     * Checks if `value` is likely a DOM element.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\\n     * @example\\n     *\\n     * _.isElement(document.body);\\n     * // => true\\n     *\\n     * _.isElement('<body>');\\n     * // => false\\n     */\\n    function isElement(value) {\\n      return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\\n    }\\n\\n    /**\\n     * Checks if `value` is an empty object, collection, map, or set.\\n     *\\n     * Objects are considered empty if they have no own enumerable string keyed\\n     * properties.\\n     *\\n     * Array-like values such as `arguments` objects, arrays, buffers, strings, or\\n     * jQuery-like collections are considered empty if they have a `length` of `0`.\\n     * Similarly, maps and sets are considered empty if they have a `size` of `0`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is empty, else `false`.\\n     * @example\\n     *\\n     * _.isEmpty(null);\\n     * // => true\\n     *\\n     * _.isEmpty(true);\\n     * // => true\\n     *\\n     * _.isEmpty(1);\\n     * // => true\\n     *\\n     * _.isEmpty([1, 2, 3]);\\n     * // => false\\n     *\\n     * _.isEmpty({ 'a': 1 });\\n     * // => false\\n     */\\n    function isEmpty(value) {\\n      if (value == null) {\\n        return true;\\n      }\\n      if (isArrayLike(value) &&\\n          (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\\n            isBuffer(value) || isTypedArray(value) || isArguments(value))) {\\n        return !value.length;\\n      }\\n      var tag = getTag(value);\\n      if (tag == mapTag || tag == setTag) {\\n        return !value.size;\\n      }\\n      if (isPrototype(value)) {\\n        return !baseKeys(value).length;\\n      }\\n      for (var key in value) {\\n        if (hasOwnProperty.call(value, key)) {\\n          return false;\\n        }\\n      }\\n      return true;\\n    }\\n\\n    /**\\n     * Performs a deep comparison between two values to determine if they are\\n     * equivalent.\\n     *\\n     * **Note:** This method supports comparing arrays, array buffers, booleans,\\n     * date objects, error objects, maps, numbers, `Object` objects, regexes,\\n     * sets, strings, symbols, and typed arrays. `Object` objects are compared\\n     * by their own, not inherited, enumerable properties. Functions and DOM\\n     * nodes are compared by strict equality, i.e. `===`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\\n     * @example\\n     *\\n     * var object = { 'a': 1 };\\n     * var other = { 'a': 1 };\\n     *\\n     * _.isEqual(object, other);\\n     * // => true\\n     *\\n     * object === other;\\n     * // => false\\n     */\\n    function isEqual(value, other) {\\n      return baseIsEqual(value, other);\\n    }\\n\\n    /**\\n     * This method is like `_.isEqual` except that it accepts `customizer` which\\n     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\\n     * are handled by the method instead. The `customizer` is invoked with up to\\n     * six arguments: (objValue, othValue [, index|key, object, other, stack]).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @param {Function} [customizer] The function to customize comparisons.\\n     * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\\n     * @example\\n     *\\n     * function isGreeting(value) {\\n     *   return /^h(?:i|ello)$/.test(value);\\n     * }\\n     *\\n     * function customizer(objValue, othValue) {\\n     *   if (isGreeting(objValue) && isGreeting(othValue)) {\\n     *     return true;\\n     *   }\\n     * }\\n     *\\n     * var array = ['hello', 'goodbye'];\\n     * var other = ['hi', 'goodbye'];\\n     *\\n     * _.isEqualWith(array, other, customizer);\\n     * // => true\\n     */\\n    function isEqualWith(value, other, customizer) {\\n      customizer = typeof customizer == 'function' ? customizer : undefined;\\n      var result = customizer ? customizer(value, other) : undefined;\\n      return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\\n    }\\n\\n    /**\\n     * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\\n     * `SyntaxError`, `TypeError`, or `URIError` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\\n     * @example\\n     *\\n     * _.isError(new Error);\\n     * // => true\\n     *\\n     * _.isError(Error);\\n     * // => false\\n     */\\n    function isError(value) {\\n      if (!isObjectLike(value)) {\\n        return false;\\n      }\\n      var tag = baseGetTag(value);\\n      return tag == errorTag || tag == domExcTag ||\\n        (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\\n    }\\n\\n    /**\\n     * Checks if `value` is a finite primitive number.\\n     *\\n     * **Note:** This method is based on\\n     * [`Number.isFinite`](https://mdn.io/Number/isFinite).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\\n     * @example\\n     *\\n     * _.isFinite(3);\\n     * // => true\\n     *\\n     * _.isFinite(Number.MIN_VALUE);\\n     * // => true\\n     *\\n     * _.isFinite(Infinity);\\n     * // => false\\n     *\\n     * _.isFinite('3');\\n     * // => false\\n     */\\n    function isFinite(value) {\\n      return typeof value == 'number' && nativeIsFinite(value);\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `Function` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a function, else `false`.\\n     * @example\\n     *\\n     * _.isFunction(_);\\n     * // => true\\n     *\\n     * _.isFunction(/abc/);\\n     * // => false\\n     */\\n    function isFunction(value) {\\n      if (!isObject(value)) {\\n        return false;\\n      }\\n      // The use of `Object#toString` avoids issues with the `typeof` operator\\n      // in Safari 9 which returns 'object' for typed arrays and other constructors.\\n      var tag = baseGetTag(value);\\n      return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\\n    }\\n\\n    /**\\n     * Checks if `value` is an integer.\\n     *\\n     * **Note:** This method is based on\\n     * [`Number.isInteger`](https://mdn.io/Number/isInteger).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\\n     * @example\\n     *\\n     * _.isInteger(3);\\n     * // => true\\n     *\\n     * _.isInteger(Number.MIN_VALUE);\\n     * // => false\\n     *\\n     * _.isInteger(Infinity);\\n     * // => false\\n     *\\n     * _.isInteger('3');\\n     * // => false\\n     */\\n    function isInteger(value) {\\n      return typeof value == 'number' && value == toInteger(value);\\n    }\\n\\n    /**\\n     * Checks if `value` is a valid array-like length.\\n     *\\n     * **Note:** This method is loosely based on\\n     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\\n     * @example\\n     *\\n     * _.isLength(3);\\n     * // => true\\n     *\\n     * _.isLength(Number.MIN_VALUE);\\n     * // => false\\n     *\\n     * _.isLength(Infinity);\\n     * // => false\\n     *\\n     * _.isLength('3');\\n     * // => false\\n     */\\n    function isLength(value) {\\n      return typeof value == 'number' &&\\n        value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\\n    }\\n\\n    /**\\n     * Checks if `value` is the\\n     * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\\n     * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is an object, else `false`.\\n     * @example\\n     *\\n     * _.isObject({});\\n     * // => true\\n     *\\n     * _.isObject([1, 2, 3]);\\n     * // => true\\n     *\\n     * _.isObject(_.noop);\\n     * // => true\\n     *\\n     * _.isObject(null);\\n     * // => false\\n     */\\n    function isObject(value) {\\n      var type = typeof value;\\n      return value != null && (type == 'object' || type == 'function');\\n    }\\n\\n    /**\\n     * Checks if `value` is object-like. A value is object-like if it's not `null`\\n     * and has a `typeof` result of \\\"object\\\".\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\\n     * @example\\n     *\\n     * _.isObjectLike({});\\n     * // => true\\n     *\\n     * _.isObjectLike([1, 2, 3]);\\n     * // => true\\n     *\\n     * _.isObjectLike(_.noop);\\n     * // => false\\n     *\\n     * _.isObjectLike(null);\\n     * // => false\\n     */\\n    function isObjectLike(value) {\\n      return value != null && typeof value == 'object';\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `Map` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.3.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a map, else `false`.\\n     * @example\\n     *\\n     * _.isMap(new Map);\\n     * // => true\\n     *\\n     * _.isMap(new WeakMap);\\n     * // => false\\n     */\\n    var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\\n\\n    /**\\n     * Performs a partial deep comparison between `object` and `source` to\\n     * determine if `object` contains equivalent property values.\\n     *\\n     * **Note:** This method is equivalent to `_.matches` when `source` is\\n     * partially applied.\\n     *\\n     * Partial comparisons will match empty array and empty object `source`\\n     * values against any array or object value, respectively. See `_.isEqual`\\n     * for a list of supported value comparisons.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Lang\\n     * @param {Object} object The object to inspect.\\n     * @param {Object} source The object of property values to match.\\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': 2 };\\n     *\\n     * _.isMatch(object, { 'b': 2 });\\n     * // => true\\n     *\\n     * _.isMatch(object, { 'b': 1 });\\n     * // => false\\n     */\\n    function isMatch(object, source) {\\n      return object === source || baseIsMatch(object, source, getMatchData(source));\\n    }\\n\\n    /**\\n     * This method is like `_.isMatch` except that it accepts `customizer` which\\n     * is invoked to compare values. If `customizer` returns `undefined`, comparisons\\n     * are handled by the method instead. The `customizer` is invoked with five\\n     * arguments: (objValue, srcValue, index|key, object, source).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {Object} object The object to inspect.\\n     * @param {Object} source The object of property values to match.\\n     * @param {Function} [customizer] The function to customize comparisons.\\n     * @returns {boolean} Returns `true` if `object` is a match, else `false`.\\n     * @example\\n     *\\n     * function isGreeting(value) {\\n     *   return /^h(?:i|ello)$/.test(value);\\n     * }\\n     *\\n     * function customizer(objValue, srcValue) {\\n     *   if (isGreeting(objValue) && isGreeting(srcValue)) {\\n     *     return true;\\n     *   }\\n     * }\\n     *\\n     * var object = { 'greeting': 'hello' };\\n     * var source = { 'greeting': 'hi' };\\n     *\\n     * _.isMatchWith(object, source, customizer);\\n     * // => true\\n     */\\n    function isMatchWith(object, source, customizer) {\\n      customizer = typeof customizer == 'function' ? customizer : undefined;\\n      return baseIsMatch(object, source, getMatchData(source), customizer);\\n    }\\n\\n    /**\\n     * Checks if `value` is `NaN`.\\n     *\\n     * **Note:** This method is based on\\n     * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\\n     * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\\n     * `undefined` and other non-number values.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\\n     * @example\\n     *\\n     * _.isNaN(NaN);\\n     * // => true\\n     *\\n     * _.isNaN(new Number(NaN));\\n     * // => true\\n     *\\n     * isNaN(undefined);\\n     * // => true\\n     *\\n     * _.isNaN(undefined);\\n     * // => false\\n     */\\n    function isNaN(value) {\\n      // An `NaN` primitive is the only value that is not equal to itself.\\n      // Perform the `toStringTag` check first to avoid errors with some\\n      // ActiveX objects in IE.\\n      return isNumber(value) && value != +value;\\n    }\\n\\n    /**\\n     * Checks if `value` is a pristine native function.\\n     *\\n     * **Note:** This method can't reliably detect native functions in the presence\\n     * of the core-js package because core-js circumvents this kind of detection.\\n     * Despite multiple requests, the core-js maintainer has made it clear: any\\n     * attempt to fix the detection will be obstructed. As a result, we're left\\n     * with little choice but to throw an error. Unfortunately, this also affects\\n     * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\\n     * which rely on core-js.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a native function,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.isNative(Array.prototype.push);\\n     * // => true\\n     *\\n     * _.isNative(_);\\n     * // => false\\n     */\\n    function isNative(value) {\\n      if (isMaskable(value)) {\\n        throw new Error(CORE_ERROR_TEXT);\\n      }\\n      return baseIsNative(value);\\n    }\\n\\n    /**\\n     * Checks if `value` is `null`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\\n     * @example\\n     *\\n     * _.isNull(null);\\n     * // => true\\n     *\\n     * _.isNull(void 0);\\n     * // => false\\n     */\\n    function isNull(value) {\\n      return value === null;\\n    }\\n\\n    /**\\n     * Checks if `value` is `null` or `undefined`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\\n     * @example\\n     *\\n     * _.isNil(null);\\n     * // => true\\n     *\\n     * _.isNil(void 0);\\n     * // => true\\n     *\\n     * _.isNil(NaN);\\n     * // => false\\n     */\\n    function isNil(value) {\\n      return value == null;\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `Number` primitive or object.\\n     *\\n     * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\\n     * classified as numbers, use the `_.isFinite` method.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a number, else `false`.\\n     * @example\\n     *\\n     * _.isNumber(3);\\n     * // => true\\n     *\\n     * _.isNumber(Number.MIN_VALUE);\\n     * // => true\\n     *\\n     * _.isNumber(Infinity);\\n     * // => true\\n     *\\n     * _.isNumber('3');\\n     * // => false\\n     */\\n    function isNumber(value) {\\n      return typeof value == 'number' ||\\n        (isObjectLike(value) && baseGetTag(value) == numberTag);\\n    }\\n\\n    /**\\n     * Checks if `value` is a plain object, that is, an object created by the\\n     * `Object` constructor or one with a `[[Prototype]]` of `null`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.8.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     * }\\n     *\\n     * _.isPlainObject(new Foo);\\n     * // => false\\n     *\\n     * _.isPlainObject([1, 2, 3]);\\n     * // => false\\n     *\\n     * _.isPlainObject({ 'x': 0, 'y': 0 });\\n     * // => true\\n     *\\n     * _.isPlainObject(Object.create(null));\\n     * // => true\\n     */\\n    function isPlainObject(value) {\\n      if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\\n        return false;\\n      }\\n      var proto = getPrototype(value);\\n      if (proto === null) {\\n        return true;\\n      }\\n      var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\\n      return typeof Ctor == 'function' && Ctor instanceof Ctor &&\\n        funcToString.call(Ctor) == objectCtorString;\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `RegExp` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.1.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\\n     * @example\\n     *\\n     * _.isRegExp(/abc/);\\n     * // => true\\n     *\\n     * _.isRegExp('/abc/');\\n     * // => false\\n     */\\n    var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\\n\\n    /**\\n     * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\\n     * double precision number which isn't the result of a rounded unsafe integer.\\n     *\\n     * **Note:** This method is based on\\n     * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\\n     * @example\\n     *\\n     * _.isSafeInteger(3);\\n     * // => true\\n     *\\n     * _.isSafeInteger(Number.MIN_VALUE);\\n     * // => false\\n     *\\n     * _.isSafeInteger(Infinity);\\n     * // => false\\n     *\\n     * _.isSafeInteger('3');\\n     * // => false\\n     */\\n    function isSafeInteger(value) {\\n      return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `Set` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.3.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a set, else `false`.\\n     * @example\\n     *\\n     * _.isSet(new Set);\\n     * // => true\\n     *\\n     * _.isSet(new WeakSet);\\n     * // => false\\n     */\\n    var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\\n\\n    /**\\n     * Checks if `value` is classified as a `String` primitive or object.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a string, else `false`.\\n     * @example\\n     *\\n     * _.isString('abc');\\n     * // => true\\n     *\\n     * _.isString(1);\\n     * // => false\\n     */\\n    function isString(value) {\\n      return typeof value == 'string' ||\\n        (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `Symbol` primitive or object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\\n     * @example\\n     *\\n     * _.isSymbol(Symbol.iterator);\\n     * // => true\\n     *\\n     * _.isSymbol('abc');\\n     * // => false\\n     */\\n    function isSymbol(value) {\\n      return typeof value == 'symbol' ||\\n        (isObjectLike(value) && baseGetTag(value) == symbolTag);\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a typed array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\\n     * @example\\n     *\\n     * _.isTypedArray(new Uint8Array);\\n     * // => true\\n     *\\n     * _.isTypedArray([]);\\n     * // => false\\n     */\\n    var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\\n\\n    /**\\n     * Checks if `value` is `undefined`.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\\n     * @example\\n     *\\n     * _.isUndefined(void 0);\\n     * // => true\\n     *\\n     * _.isUndefined(null);\\n     * // => false\\n     */\\n    function isUndefined(value) {\\n      return value === undefined;\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `WeakMap` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.3.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\\n     * @example\\n     *\\n     * _.isWeakMap(new WeakMap);\\n     * // => true\\n     *\\n     * _.isWeakMap(new Map);\\n     * // => false\\n     */\\n    function isWeakMap(value) {\\n      return isObjectLike(value) && getTag(value) == weakMapTag;\\n    }\\n\\n    /**\\n     * Checks if `value` is classified as a `WeakSet` object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.3.0\\n     * @category Lang\\n     * @param {*} value The value to check.\\n     * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\\n     * @example\\n     *\\n     * _.isWeakSet(new WeakSet);\\n     * // => true\\n     *\\n     * _.isWeakSet(new Set);\\n     * // => false\\n     */\\n    function isWeakSet(value) {\\n      return isObjectLike(value) && baseGetTag(value) == weakSetTag;\\n    }\\n\\n    /**\\n     * Checks if `value` is less than `other`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.9.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if `value` is less than `other`,\\n     *  else `false`.\\n     * @see _.gt\\n     * @example\\n     *\\n     * _.lt(1, 3);\\n     * // => true\\n     *\\n     * _.lt(3, 3);\\n     * // => false\\n     *\\n     * _.lt(3, 1);\\n     * // => false\\n     */\\n    var lt = createRelationalOperation(baseLt);\\n\\n    /**\\n     * Checks if `value` is less than or equal to `other`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.9.0\\n     * @category Lang\\n     * @param {*} value The value to compare.\\n     * @param {*} other The other value to compare.\\n     * @returns {boolean} Returns `true` if `value` is less than or equal to\\n     *  `other`, else `false`.\\n     * @see _.gte\\n     * @example\\n     *\\n     * _.lte(1, 3);\\n     * // => true\\n     *\\n     * _.lte(3, 3);\\n     * // => true\\n     *\\n     * _.lte(3, 1);\\n     * // => false\\n     */\\n    var lte = createRelationalOperation(function(value, other) {\\n      return value <= other;\\n    });\\n\\n    /**\\n     * Converts `value` to an array.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {Array} Returns the converted array.\\n     * @example\\n     *\\n     * _.toArray({ 'a': 1, 'b': 2 });\\n     * // => [1, 2]\\n     *\\n     * _.toArray('abc');\\n     * // => ['a', 'b', 'c']\\n     *\\n     * _.toArray(1);\\n     * // => []\\n     *\\n     * _.toArray(null);\\n     * // => []\\n     */\\n    function toArray(value) {\\n      if (!value) {\\n        return [];\\n      }\\n      if (isArrayLike(value)) {\\n        return isString(value) ? stringToArray(value) : copyArray(value);\\n      }\\n      if (symIterator && value[symIterator]) {\\n        return iteratorToArray(value[symIterator]());\\n      }\\n      var tag = getTag(value),\\n          func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\\n\\n      return func(value);\\n    }\\n\\n    /**\\n     * Converts `value` to a finite number.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.12.0\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {number} Returns the converted number.\\n     * @example\\n     *\\n     * _.toFinite(3.2);\\n     * // => 3.2\\n     *\\n     * _.toFinite(Number.MIN_VALUE);\\n     * // => 5e-324\\n     *\\n     * _.toFinite(Infinity);\\n     * // => 1.7976931348623157e+308\\n     *\\n     * _.toFinite('3.2');\\n     * // => 3.2\\n     */\\n    function toFinite(value) {\\n      if (!value) {\\n        return value === 0 ? value : 0;\\n      }\\n      value = toNumber(value);\\n      if (value === INFINITY || value === -INFINITY) {\\n        var sign = (value < 0 ? -1 : 1);\\n        return sign * MAX_INTEGER;\\n      }\\n      return value === value ? value : 0;\\n    }\\n\\n    /**\\n     * Converts `value` to an integer.\\n     *\\n     * **Note:** This method is loosely based on\\n     * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {number} Returns the converted integer.\\n     * @example\\n     *\\n     * _.toInteger(3.2);\\n     * // => 3\\n     *\\n     * _.toInteger(Number.MIN_VALUE);\\n     * // => 0\\n     *\\n     * _.toInteger(Infinity);\\n     * // => 1.7976931348623157e+308\\n     *\\n     * _.toInteger('3.2');\\n     * // => 3\\n     */\\n    function toInteger(value) {\\n      var result = toFinite(value),\\n          remainder = result % 1;\\n\\n      return result === result ? (remainder ? result - remainder : result) : 0;\\n    }\\n\\n    /**\\n     * Converts `value` to an integer suitable for use as the length of an\\n     * array-like object.\\n     *\\n     * **Note:** This method is based on\\n     * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {number} Returns the converted integer.\\n     * @example\\n     *\\n     * _.toLength(3.2);\\n     * // => 3\\n     *\\n     * _.toLength(Number.MIN_VALUE);\\n     * // => 0\\n     *\\n     * _.toLength(Infinity);\\n     * // => 4294967295\\n     *\\n     * _.toLength('3.2');\\n     * // => 3\\n     */\\n    function toLength(value) {\\n      return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\\n    }\\n\\n    /**\\n     * Converts `value` to a number.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to process.\\n     * @returns {number} Returns the number.\\n     * @example\\n     *\\n     * _.toNumber(3.2);\\n     * // => 3.2\\n     *\\n     * _.toNumber(Number.MIN_VALUE);\\n     * // => 5e-324\\n     *\\n     * _.toNumber(Infinity);\\n     * // => Infinity\\n     *\\n     * _.toNumber('3.2');\\n     * // => 3.2\\n     */\\n    function toNumber(value) {\\n      if (typeof value == 'number') {\\n        return value;\\n      }\\n      if (isSymbol(value)) {\\n        return NAN;\\n      }\\n      if (isObject(value)) {\\n        var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\\n        value = isObject(other) ? (other + '') : other;\\n      }\\n      if (typeof value != 'string') {\\n        return value === 0 ? value : +value;\\n      }\\n      value = value.replace(reTrim, '');\\n      var isBinary = reIsBinary.test(value);\\n      return (isBinary || reIsOctal.test(value))\\n        ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\\n        : (reIsBadHex.test(value) ? NAN : +value);\\n    }\\n\\n    /**\\n     * Converts `value` to a plain object flattening inherited enumerable string\\n     * keyed properties of `value` to own properties of the plain object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {Object} Returns the converted plain object.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.assign({ 'a': 1 }, new Foo);\\n     * // => { 'a': 1, 'b': 2 }\\n     *\\n     * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\\n     * // => { 'a': 1, 'b': 2, 'c': 3 }\\n     */\\n    function toPlainObject(value) {\\n      return copyObject(value, keysIn(value));\\n    }\\n\\n    /**\\n     * Converts `value` to a safe integer. A safe integer can be compared and\\n     * represented correctly.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {number} Returns the converted integer.\\n     * @example\\n     *\\n     * _.toSafeInteger(3.2);\\n     * // => 3\\n     *\\n     * _.toSafeInteger(Number.MIN_VALUE);\\n     * // => 0\\n     *\\n     * _.toSafeInteger(Infinity);\\n     * // => 9007199254740991\\n     *\\n     * _.toSafeInteger('3.2');\\n     * // => 3\\n     */\\n    function toSafeInteger(value) {\\n      return value\\n        ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\\n        : (value === 0 ? value : 0);\\n    }\\n\\n    /**\\n     * Converts `value` to a string. An empty string is returned for `null`\\n     * and `undefined` values. The sign of `-0` is preserved.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Lang\\n     * @param {*} value The value to convert.\\n     * @returns {string} Returns the converted string.\\n     * @example\\n     *\\n     * _.toString(null);\\n     * // => ''\\n     *\\n     * _.toString(-0);\\n     * // => '-0'\\n     *\\n     * _.toString([1, 2, 3]);\\n     * // => '1,2,3'\\n     */\\n    function toString(value) {\\n      return value == null ? '' : baseToString(value);\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Assigns own enumerable string keyed properties of source objects to the\\n     * destination object. Source objects are applied from left to right.\\n     * Subsequent sources overwrite property assignments of previous sources.\\n     *\\n     * **Note:** This method mutates `object` and is loosely based on\\n     * [`Object.assign`](https://mdn.io/Object/assign).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.10.0\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} [sources] The source objects.\\n     * @returns {Object} Returns `object`.\\n     * @see _.assignIn\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     * }\\n     *\\n     * function Bar() {\\n     *   this.c = 3;\\n     * }\\n     *\\n     * Foo.prototype.b = 2;\\n     * Bar.prototype.d = 4;\\n     *\\n     * _.assign({ 'a': 0 }, new Foo, new Bar);\\n     * // => { 'a': 1, 'c': 3 }\\n     */\\n    var assign = createAssigner(function(object, source) {\\n      if (isPrototype(source) || isArrayLike(source)) {\\n        copyObject(source, keys(source), object);\\n        return;\\n      }\\n      for (var key in source) {\\n        if (hasOwnProperty.call(source, key)) {\\n          assignValue(object, key, source[key]);\\n        }\\n      }\\n    });\\n\\n    /**\\n     * This method is like `_.assign` except that it iterates over own and\\n     * inherited source properties.\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @alias extend\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} [sources] The source objects.\\n     * @returns {Object} Returns `object`.\\n     * @see _.assign\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     * }\\n     *\\n     * function Bar() {\\n     *   this.c = 3;\\n     * }\\n     *\\n     * Foo.prototype.b = 2;\\n     * Bar.prototype.d = 4;\\n     *\\n     * _.assignIn({ 'a': 0 }, new Foo, new Bar);\\n     * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\\n     */\\n    var assignIn = createAssigner(function(object, source) {\\n      copyObject(source, keysIn(source), object);\\n    });\\n\\n    /**\\n     * This method is like `_.assignIn` except that it accepts `customizer`\\n     * which is invoked to produce the assigned values. If `customizer` returns\\n     * `undefined`, assignment is handled by the method instead. The `customizer`\\n     * is invoked with five arguments: (objValue, srcValue, key, object, source).\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @alias extendWith\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} sources The source objects.\\n     * @param {Function} [customizer] The function to customize assigned values.\\n     * @returns {Object} Returns `object`.\\n     * @see _.assignWith\\n     * @example\\n     *\\n     * function customizer(objValue, srcValue) {\\n     *   return _.isUndefined(objValue) ? srcValue : objValue;\\n     * }\\n     *\\n     * var defaults = _.partialRight(_.assignInWith, customizer);\\n     *\\n     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\\n     * // => { 'a': 1, 'b': 2 }\\n     */\\n    var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\\n      copyObject(source, keysIn(source), object, customizer);\\n    });\\n\\n    /**\\n     * This method is like `_.assign` except that it accepts `customizer`\\n     * which is invoked to produce the assigned values. If `customizer` returns\\n     * `undefined`, assignment is handled by the method instead. The `customizer`\\n     * is invoked with five arguments: (objValue, srcValue, key, object, source).\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} sources The source objects.\\n     * @param {Function} [customizer] The function to customize assigned values.\\n     * @returns {Object} Returns `object`.\\n     * @see _.assignInWith\\n     * @example\\n     *\\n     * function customizer(objValue, srcValue) {\\n     *   return _.isUndefined(objValue) ? srcValue : objValue;\\n     * }\\n     *\\n     * var defaults = _.partialRight(_.assignWith, customizer);\\n     *\\n     * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\\n     * // => { 'a': 1, 'b': 2 }\\n     */\\n    var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\\n      copyObject(source, keys(source), object, customizer);\\n    });\\n\\n    /**\\n     * Creates an array of values corresponding to `paths` of `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.0.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {...(string|string[])} [paths] The property paths to pick.\\n     * @returns {Array} Returns the picked values.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\\n     *\\n     * _.at(object, ['a[0].b.c', 'a[1]']);\\n     * // => [3, 4]\\n     */\\n    var at = flatRest(baseAt);\\n\\n    /**\\n     * Creates an object that inherits from the `prototype` object. If a\\n     * `properties` object is given, its own enumerable string keyed properties\\n     * are assigned to the created object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.3.0\\n     * @category Object\\n     * @param {Object} prototype The object to inherit from.\\n     * @param {Object} [properties] The properties to assign to the object.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * function Shape() {\\n     *   this.x = 0;\\n     *   this.y = 0;\\n     * }\\n     *\\n     * function Circle() {\\n     *   Shape.call(this);\\n     * }\\n     *\\n     * Circle.prototype = _.create(Shape.prototype, {\\n     *   'constructor': Circle\\n     * });\\n     *\\n     * var circle = new Circle;\\n     * circle instanceof Circle;\\n     * // => true\\n     *\\n     * circle instanceof Shape;\\n     * // => true\\n     */\\n    function create(prototype, properties) {\\n      var result = baseCreate(prototype);\\n      return properties == null ? result : baseAssign(result, properties);\\n    }\\n\\n    /**\\n     * Assigns own and inherited enumerable string keyed properties of source\\n     * objects to the destination object for all destination properties that\\n     * resolve to `undefined`. Source objects are applied from left to right.\\n     * Once a property is set, additional values of the same property are ignored.\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} [sources] The source objects.\\n     * @returns {Object} Returns `object`.\\n     * @see _.defaultsDeep\\n     * @example\\n     *\\n     * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\\n     * // => { 'a': 1, 'b': 2 }\\n     */\\n    var defaults = baseRest(function(object, sources) {\\n      object = Object(object);\\n\\n      var index = -1;\\n      var length = sources.length;\\n      var guard = length > 2 ? sources[2] : undefined;\\n\\n      if (guard && isIterateeCall(sources[0], sources[1], guard)) {\\n        length = 1;\\n      }\\n\\n      while (++index < length) {\\n        var source = sources[index];\\n        var props = keysIn(source);\\n        var propsIndex = -1;\\n        var propsLength = props.length;\\n\\n        while (++propsIndex < propsLength) {\\n          var key = props[propsIndex];\\n          var value = object[key];\\n\\n          if (value === undefined ||\\n              (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\\n            object[key] = source[key];\\n          }\\n        }\\n      }\\n\\n      return object;\\n    });\\n\\n    /**\\n     * This method is like `_.defaults` except that it recursively assigns\\n     * default properties.\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.10.0\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} [sources] The source objects.\\n     * @returns {Object} Returns `object`.\\n     * @see _.defaults\\n     * @example\\n     *\\n     * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\\n     * // => { 'a': { 'b': 2, 'c': 3 } }\\n     */\\n    var defaultsDeep = baseRest(function(args) {\\n      args.push(undefined, customDefaultsMerge);\\n      return apply(mergeWith, undefined, args);\\n    });\\n\\n    /**\\n     * This method is like `_.find` except that it returns the key of the first\\n     * element `predicate` returns truthy for instead of the element itself.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.1.0\\n     * @category Object\\n     * @param {Object} object The object to inspect.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {string|undefined} Returns the key of the matched element,\\n     *  else `undefined`.\\n     * @example\\n     *\\n     * var users = {\\n     *   'barney':  { 'age': 36, 'active': true },\\n     *   'fred':    { 'age': 40, 'active': false },\\n     *   'pebbles': { 'age': 1,  'active': true }\\n     * };\\n     *\\n     * _.findKey(users, function(o) { return o.age < 40; });\\n     * // => 'barney' (iteration order is not guaranteed)\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.findKey(users, { 'age': 1, 'active': true });\\n     * // => 'pebbles'\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.findKey(users, ['active', false]);\\n     * // => 'fred'\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.findKey(users, 'active');\\n     * // => 'barney'\\n     */\\n    function findKey(object, predicate) {\\n      return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\\n    }\\n\\n    /**\\n     * This method is like `_.findKey` except that it iterates over elements of\\n     * a collection in the opposite order.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Object\\n     * @param {Object} object The object to inspect.\\n     * @param {Function} [predicate=_.identity] The function invoked per iteration.\\n     * @returns {string|undefined} Returns the key of the matched element,\\n     *  else `undefined`.\\n     * @example\\n     *\\n     * var users = {\\n     *   'barney':  { 'age': 36, 'active': true },\\n     *   'fred':    { 'age': 40, 'active': false },\\n     *   'pebbles': { 'age': 1,  'active': true }\\n     * };\\n     *\\n     * _.findLastKey(users, function(o) { return o.age < 40; });\\n     * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.findLastKey(users, { 'age': 36, 'active': true });\\n     * // => 'barney'\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.findLastKey(users, ['active', false]);\\n     * // => 'fred'\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.findLastKey(users, 'active');\\n     * // => 'pebbles'\\n     */\\n    function findLastKey(object, predicate) {\\n      return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\\n    }\\n\\n    /**\\n     * Iterates over own and inherited enumerable string keyed properties of an\\n     * object and invokes `iteratee` for each property. The iteratee is invoked\\n     * with three arguments: (value, key, object). Iteratee functions may exit\\n     * iteration early by explicitly returning `false`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.3.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Object} Returns `object`.\\n     * @see _.forInRight\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.forIn(new Foo, function(value, key) {\\n     *   console.log(key);\\n     * });\\n     * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\\n     */\\n    function forIn(object, iteratee) {\\n      return object == null\\n        ? object\\n        : baseFor(object, getIteratee(iteratee, 3), keysIn);\\n    }\\n\\n    /**\\n     * This method is like `_.forIn` except that it iterates over properties of\\n     * `object` in the opposite order.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Object} Returns `object`.\\n     * @see _.forIn\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.forInRight(new Foo, function(value, key) {\\n     *   console.log(key);\\n     * });\\n     * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\\n     */\\n    function forInRight(object, iteratee) {\\n      return object == null\\n        ? object\\n        : baseForRight(object, getIteratee(iteratee, 3), keysIn);\\n    }\\n\\n    /**\\n     * Iterates over own enumerable string keyed properties of an object and\\n     * invokes `iteratee` for each property. The iteratee is invoked with three\\n     * arguments: (value, key, object). Iteratee functions may exit iteration\\n     * early by explicitly returning `false`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.3.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Object} Returns `object`.\\n     * @see _.forOwnRight\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.forOwn(new Foo, function(value, key) {\\n     *   console.log(key);\\n     * });\\n     * // => Logs 'a' then 'b' (iteration order is not guaranteed).\\n     */\\n    function forOwn(object, iteratee) {\\n      return object && baseForOwn(object, getIteratee(iteratee, 3));\\n    }\\n\\n    /**\\n     * This method is like `_.forOwn` except that it iterates over properties of\\n     * `object` in the opposite order.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.0.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Object} Returns `object`.\\n     * @see _.forOwn\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.forOwnRight(new Foo, function(value, key) {\\n     *   console.log(key);\\n     * });\\n     * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\\n     */\\n    function forOwnRight(object, iteratee) {\\n      return object && baseForOwnRight(object, getIteratee(iteratee, 3));\\n    }\\n\\n    /**\\n     * Creates an array of function property names from own enumerable properties\\n     * of `object`.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The object to inspect.\\n     * @returns {Array} Returns the function names.\\n     * @see _.functionsIn\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = _.constant('a');\\n     *   this.b = _.constant('b');\\n     * }\\n     *\\n     * Foo.prototype.c = _.constant('c');\\n     *\\n     * _.functions(new Foo);\\n     * // => ['a', 'b']\\n     */\\n    function functions(object) {\\n      return object == null ? [] : baseFunctions(object, keys(object));\\n    }\\n\\n    /**\\n     * Creates an array of function property names from own and inherited\\n     * enumerable properties of `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The object to inspect.\\n     * @returns {Array} Returns the function names.\\n     * @see _.functions\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = _.constant('a');\\n     *   this.b = _.constant('b');\\n     * }\\n     *\\n     * Foo.prototype.c = _.constant('c');\\n     *\\n     * _.functionsIn(new Foo);\\n     * // => ['a', 'b', 'c']\\n     */\\n    function functionsIn(object) {\\n      return object == null ? [] : baseFunctions(object, keysIn(object));\\n    }\\n\\n    /**\\n     * Gets the value at `path` of `object`. If the resolved value is\\n     * `undefined`, the `defaultValue` is returned in its place.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.7.0\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path of the property to get.\\n     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\\n     * @returns {*} Returns the resolved value.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\\n     *\\n     * _.get(object, 'a[0].b.c');\\n     * // => 3\\n     *\\n     * _.get(object, ['a', '0', 'b', 'c']);\\n     * // => 3\\n     *\\n     * _.get(object, 'a.b.c', 'default');\\n     * // => 'default'\\n     */\\n    function get(object, path, defaultValue) {\\n      var result = object == null ? undefined : baseGet(object, path);\\n      return result === undefined ? defaultValue : result;\\n    }\\n\\n    /**\\n     * Checks if `path` is a direct property of `object`.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path to check.\\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\\n     * @example\\n     *\\n     * var object = { 'a': { 'b': 2 } };\\n     * var other = _.create({ 'a': _.create({ 'b': 2 }) });\\n     *\\n     * _.has(object, 'a');\\n     * // => true\\n     *\\n     * _.has(object, 'a.b');\\n     * // => true\\n     *\\n     * _.has(object, ['a', 'b']);\\n     * // => true\\n     *\\n     * _.has(other, 'a');\\n     * // => false\\n     */\\n    function has(object, path) {\\n      return object != null && hasPath(object, path, baseHas);\\n    }\\n\\n    /**\\n     * Checks if `path` is a direct or inherited property of `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path to check.\\n     * @returns {boolean} Returns `true` if `path` exists, else `false`.\\n     * @example\\n     *\\n     * var object = _.create({ 'a': _.create({ 'b': 2 }) });\\n     *\\n     * _.hasIn(object, 'a');\\n     * // => true\\n     *\\n     * _.hasIn(object, 'a.b');\\n     * // => true\\n     *\\n     * _.hasIn(object, ['a', 'b']);\\n     * // => true\\n     *\\n     * _.hasIn(object, 'b');\\n     * // => false\\n     */\\n    function hasIn(object, path) {\\n      return object != null && hasPath(object, path, baseHasIn);\\n    }\\n\\n    /**\\n     * Creates an object composed of the inverted keys and values of `object`.\\n     * If `object` contains duplicate values, subsequent values overwrite\\n     * property assignments of previous values.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.7.0\\n     * @category Object\\n     * @param {Object} object The object to invert.\\n     * @returns {Object} Returns the new inverted object.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': 2, 'c': 1 };\\n     *\\n     * _.invert(object);\\n     * // => { '1': 'c', '2': 'b' }\\n     */\\n    var invert = createInverter(function(result, value, key) {\\n      if (value != null &&\\n          typeof value.toString != 'function') {\\n        value = nativeObjectToString.call(value);\\n      }\\n\\n      result[value] = key;\\n    }, constant(identity));\\n\\n    /**\\n     * This method is like `_.invert` except that the inverted object is generated\\n     * from the results of running each element of `object` thru `iteratee`. The\\n     * corresponding inverted value of each inverted key is an array of keys\\n     * responsible for generating the inverted value. The iteratee is invoked\\n     * with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.1.0\\n     * @category Object\\n     * @param {Object} object The object to invert.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {Object} Returns the new inverted object.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': 2, 'c': 1 };\\n     *\\n     * _.invertBy(object);\\n     * // => { '1': ['a', 'c'], '2': ['b'] }\\n     *\\n     * _.invertBy(object, function(value) {\\n     *   return 'group' + value;\\n     * });\\n     * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\\n     */\\n    var invertBy = createInverter(function(result, value, key) {\\n      if (value != null &&\\n          typeof value.toString != 'function') {\\n        value = nativeObjectToString.call(value);\\n      }\\n\\n      if (hasOwnProperty.call(result, value)) {\\n        result[value].push(key);\\n      } else {\\n        result[value] = [key];\\n      }\\n    }, getIteratee);\\n\\n    /**\\n     * Invokes the method at `path` of `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path of the method to invoke.\\n     * @param {...*} [args] The arguments to invoke the method with.\\n     * @returns {*} Returns the result of the invoked method.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\\n     *\\n     * _.invoke(object, 'a[0].b.c.slice', 1, 3);\\n     * // => [2, 3]\\n     */\\n    var invoke = baseRest(baseInvoke);\\n\\n    /**\\n     * Creates an array of the own enumerable property names of `object`.\\n     *\\n     * **Note:** Non-object values are coerced to objects. See the\\n     * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\\n     * for more details.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.keys(new Foo);\\n     * // => ['a', 'b'] (iteration order is not guaranteed)\\n     *\\n     * _.keys('hi');\\n     * // => ['0', '1']\\n     */\\n    function keys(object) {\\n      return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\\n    }\\n\\n    /**\\n     * Creates an array of the own and inherited enumerable property names of `object`.\\n     *\\n     * **Note:** Non-object values are coerced to objects.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property names.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.keysIn(new Foo);\\n     * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\\n     */\\n    function keysIn(object) {\\n      return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\\n    }\\n\\n    /**\\n     * The opposite of `_.mapValues`; this method creates an object with the\\n     * same values as `object` and keys generated by running each own enumerable\\n     * string keyed property of `object` thru `iteratee`. The iteratee is invoked\\n     * with three arguments: (value, key, object).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.8.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Object} Returns the new mapped object.\\n     * @see _.mapValues\\n     * @example\\n     *\\n     * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\\n     *   return key + value;\\n     * });\\n     * // => { 'a1': 1, 'b2': 2 }\\n     */\\n    function mapKeys(object, iteratee) {\\n      var result = {};\\n      iteratee = getIteratee(iteratee, 3);\\n\\n      baseForOwn(object, function(value, key, object) {\\n        baseAssignValue(result, iteratee(value, key, object), value);\\n      });\\n      return result;\\n    }\\n\\n    /**\\n     * Creates an object with the same keys as `object` and values generated\\n     * by running each own enumerable string keyed property of `object` thru\\n     * `iteratee`. The iteratee is invoked with three arguments:\\n     * (value, key, object).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.4.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Object} Returns the new mapped object.\\n     * @see _.mapKeys\\n     * @example\\n     *\\n     * var users = {\\n     *   'fred':    { 'user': 'fred',    'age': 40 },\\n     *   'pebbles': { 'user': 'pebbles', 'age': 1 }\\n     * };\\n     *\\n     * _.mapValues(users, function(o) { return o.age; });\\n     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.mapValues(users, 'age');\\n     * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\\n     */\\n    function mapValues(object, iteratee) {\\n      var result = {};\\n      iteratee = getIteratee(iteratee, 3);\\n\\n      baseForOwn(object, function(value, key, object) {\\n        baseAssignValue(result, key, iteratee(value, key, object));\\n      });\\n      return result;\\n    }\\n\\n    /**\\n     * This method is like `_.assign` except that it recursively merges own and\\n     * inherited enumerable string keyed properties of source objects into the\\n     * destination object. Source properties that resolve to `undefined` are\\n     * skipped if a destination value exists. Array and plain object properties\\n     * are merged recursively. Other objects and value types are overridden by\\n     * assignment. Source objects are applied from left to right. Subsequent\\n     * sources overwrite property assignments of previous sources.\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.5.0\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} [sources] The source objects.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * var object = {\\n     *   'a': [{ 'b': 2 }, { 'd': 4 }]\\n     * };\\n     *\\n     * var other = {\\n     *   'a': [{ 'c': 3 }, { 'e': 5 }]\\n     * };\\n     *\\n     * _.merge(object, other);\\n     * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\\n     */\\n    var merge = createAssigner(function(object, source, srcIndex) {\\n      baseMerge(object, source, srcIndex);\\n    });\\n\\n    /**\\n     * This method is like `_.merge` except that it accepts `customizer` which\\n     * is invoked to produce the merged values of the destination and source\\n     * properties. If `customizer` returns `undefined`, merging is handled by the\\n     * method instead. The `customizer` is invoked with six arguments:\\n     * (objValue, srcValue, key, object, source, stack).\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The destination object.\\n     * @param {...Object} sources The source objects.\\n     * @param {Function} customizer The function to customize assigned values.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * function customizer(objValue, srcValue) {\\n     *   if (_.isArray(objValue)) {\\n     *     return objValue.concat(srcValue);\\n     *   }\\n     * }\\n     *\\n     * var object = { 'a': [1], 'b': [2] };\\n     * var other = { 'a': [3], 'b': [4] };\\n     *\\n     * _.mergeWith(object, other, customizer);\\n     * // => { 'a': [1, 3], 'b': [2, 4] }\\n     */\\n    var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\\n      baseMerge(object, source, srcIndex, customizer);\\n    });\\n\\n    /**\\n     * The opposite of `_.pick`; this method creates an object composed of the\\n     * own and inherited enumerable property paths of `object` that are not omitted.\\n     *\\n     * **Note:** This method is considerably slower than `_.pick`.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The source object.\\n     * @param {...(string|string[])} [paths] The property paths to omit.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\\n     *\\n     * _.omit(object, ['a', 'c']);\\n     * // => { 'b': '2' }\\n     */\\n    var omit = flatRest(function(object, paths) {\\n      var result = {};\\n      if (object == null) {\\n        return result;\\n      }\\n      var isDeep = false;\\n      paths = arrayMap(paths, function(path) {\\n        path = castPath(path, object);\\n        isDeep || (isDeep = path.length > 1);\\n        return path;\\n      });\\n      copyObject(object, getAllKeysIn(object), result);\\n      if (isDeep) {\\n        result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\\n      }\\n      var length = paths.length;\\n      while (length--) {\\n        baseUnset(result, paths[length]);\\n      }\\n      return result;\\n    });\\n\\n    /**\\n     * The opposite of `_.pickBy`; this method creates an object composed of\\n     * the own and inherited enumerable string keyed properties of `object` that\\n     * `predicate` doesn't return truthy for. The predicate is invoked with two\\n     * arguments: (value, key).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The source object.\\n     * @param {Function} [predicate=_.identity] The function invoked per property.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\\n     *\\n     * _.omitBy(object, _.isNumber);\\n     * // => { 'b': '2' }\\n     */\\n    function omitBy(object, predicate) {\\n      return pickBy(object, negate(getIteratee(predicate)));\\n    }\\n\\n    /**\\n     * Creates an object composed of the picked `object` properties.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The source object.\\n     * @param {...(string|string[])} [paths] The property paths to pick.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\\n     *\\n     * _.pick(object, ['a', 'c']);\\n     * // => { 'a': 1, 'c': 3 }\\n     */\\n    var pick = flatRest(function(object, paths) {\\n      return object == null ? {} : basePick(object, paths);\\n    });\\n\\n    /**\\n     * Creates an object composed of the `object` properties `predicate` returns\\n     * truthy for. The predicate is invoked with two arguments: (value, key).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The source object.\\n     * @param {Function} [predicate=_.identity] The function invoked per property.\\n     * @returns {Object} Returns the new object.\\n     * @example\\n     *\\n     * var object = { 'a': 1, 'b': '2', 'c': 3 };\\n     *\\n     * _.pickBy(object, _.isNumber);\\n     * // => { 'a': 1, 'c': 3 }\\n     */\\n    function pickBy(object, predicate) {\\n      if (object == null) {\\n        return {};\\n      }\\n      var props = arrayMap(getAllKeysIn(object), function(prop) {\\n        return [prop];\\n      });\\n      predicate = getIteratee(predicate);\\n      return basePickBy(object, props, function(value, path) {\\n        return predicate(value, path[0]);\\n      });\\n    }\\n\\n    /**\\n     * This method is like `_.get` except that if the resolved value is a\\n     * function it's invoked with the `this` binding of its parent object and\\n     * its result is returned.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @param {Array|string} path The path of the property to resolve.\\n     * @param {*} [defaultValue] The value returned for `undefined` resolved values.\\n     * @returns {*} Returns the resolved value.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\\n     *\\n     * _.result(object, 'a[0].b.c1');\\n     * // => 3\\n     *\\n     * _.result(object, 'a[0].b.c2');\\n     * // => 4\\n     *\\n     * _.result(object, 'a[0].b.c3', 'default');\\n     * // => 'default'\\n     *\\n     * _.result(object, 'a[0].b.c3', _.constant('default'));\\n     * // => 'default'\\n     */\\n    function result(object, path, defaultValue) {\\n      path = castPath(path, object);\\n\\n      var index = -1,\\n          length = path.length;\\n\\n      // Ensure the loop is entered when path is empty.\\n      if (!length) {\\n        length = 1;\\n        object = undefined;\\n      }\\n      while (++index < length) {\\n        var value = object == null ? undefined : object[toKey(path[index])];\\n        if (value === undefined) {\\n          index = length;\\n          value = defaultValue;\\n        }\\n        object = isFunction(value) ? value.call(object) : value;\\n      }\\n      return object;\\n    }\\n\\n    /**\\n     * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\\n     * it's created. Arrays are created for missing index properties while objects\\n     * are created for all other missing properties. Use `_.setWith` to customize\\n     * `path` creation.\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.7.0\\n     * @category Object\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to set.\\n     * @param {*} value The value to set.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\\n     *\\n     * _.set(object, 'a[0].b.c', 4);\\n     * console.log(object.a[0].b.c);\\n     * // => 4\\n     *\\n     * _.set(object, ['x', '0', 'y', 'z'], 5);\\n     * console.log(object.x[0].y.z);\\n     * // => 5\\n     */\\n    function set(object, path, value) {\\n      return object == null ? object : baseSet(object, path, value);\\n    }\\n\\n    /**\\n     * This method is like `_.set` except that it accepts `customizer` which is\\n     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\\n     * path creation is handled by the method instead. The `customizer` is invoked\\n     * with three arguments: (nsValue, key, nsObject).\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to set.\\n     * @param {*} value The value to set.\\n     * @param {Function} [customizer] The function to customize assigned values.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * var object = {};\\n     *\\n     * _.setWith(object, '[0][1]', 'a', Object);\\n     * // => { '0': { '1': 'a' } }\\n     */\\n    function setWith(object, path, value, customizer) {\\n      customizer = typeof customizer == 'function' ? customizer : undefined;\\n      return object == null ? object : baseSet(object, path, value, customizer);\\n    }\\n\\n    /**\\n     * Creates an array of own enumerable string keyed-value pairs for `object`\\n     * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\\n     * entries are returned.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @alias entries\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the key-value pairs.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.toPairs(new Foo);\\n     * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\\n     */\\n    var toPairs = createToPairs(keys);\\n\\n    /**\\n     * Creates an array of own and inherited enumerable string keyed-value pairs\\n     * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\\n     * or set, its entries are returned.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @alias entriesIn\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the key-value pairs.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.toPairsIn(new Foo);\\n     * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\\n     */\\n    var toPairsIn = createToPairs(keysIn);\\n\\n    /**\\n     * An alternative to `_.reduce`; this method transforms `object` to a new\\n     * `accumulator` object which is the result of running each of its own\\n     * enumerable string keyed properties thru `iteratee`, with each invocation\\n     * potentially mutating the `accumulator` object. If `accumulator` is not\\n     * provided, a new object with the same `[[Prototype]]` will be used. The\\n     * iteratee is invoked with four arguments: (accumulator, value, key, object).\\n     * Iteratee functions may exit iteration early by explicitly returning `false`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.3.0\\n     * @category Object\\n     * @param {Object} object The object to iterate over.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @param {*} [accumulator] The custom accumulator value.\\n     * @returns {*} Returns the accumulated value.\\n     * @example\\n     *\\n     * _.transform([2, 3, 4], function(result, n) {\\n     *   result.push(n *= n);\\n     *   return n % 2 == 0;\\n     * }, []);\\n     * // => [4, 9]\\n     *\\n     * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\\n     *   (result[value] || (result[value] = [])).push(key);\\n     * }, {});\\n     * // => { '1': ['a', 'c'], '2': ['b'] }\\n     */\\n    function transform(object, iteratee, accumulator) {\\n      var isArr = isArray(object),\\n          isArrLike = isArr || isBuffer(object) || isTypedArray(object);\\n\\n      iteratee = getIteratee(iteratee, 4);\\n      if (accumulator == null) {\\n        var Ctor = object && object.constructor;\\n        if (isArrLike) {\\n          accumulator = isArr ? new Ctor : [];\\n        }\\n        else if (isObject(object)) {\\n          accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\\n        }\\n        else {\\n          accumulator = {};\\n        }\\n      }\\n      (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\\n        return iteratee(accumulator, value, index, object);\\n      });\\n      return accumulator;\\n    }\\n\\n    /**\\n     * Removes the property at `path` of `object`.\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Object\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to unset.\\n     * @returns {boolean} Returns `true` if the property is deleted, else `false`.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': 7 } }] };\\n     * _.unset(object, 'a[0].b.c');\\n     * // => true\\n     *\\n     * console.log(object);\\n     * // => { 'a': [{ 'b': {} }] };\\n     *\\n     * _.unset(object, ['a', '0', 'b', 'c']);\\n     * // => true\\n     *\\n     * console.log(object);\\n     * // => { 'a': [{ 'b': {} }] };\\n     */\\n    function unset(object, path) {\\n      return object == null ? true : baseUnset(object, path);\\n    }\\n\\n    /**\\n     * This method is like `_.set` except that accepts `updater` to produce the\\n     * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\\n     * is invoked with one argument: (value).\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.6.0\\n     * @category Object\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to set.\\n     * @param {Function} updater The function to produce the updated value.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * var object = { 'a': [{ 'b': { 'c': 3 } }] };\\n     *\\n     * _.update(object, 'a[0].b.c', function(n) { return n * n; });\\n     * console.log(object.a[0].b.c);\\n     * // => 9\\n     *\\n     * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\\n     * console.log(object.x[0].y.z);\\n     * // => 0\\n     */\\n    function update(object, path, updater) {\\n      return object == null ? object : baseUpdate(object, path, castFunction(updater));\\n    }\\n\\n    /**\\n     * This method is like `_.update` except that it accepts `customizer` which is\\n     * invoked to produce the objects of `path`.  If `customizer` returns `undefined`\\n     * path creation is handled by the method instead. The `customizer` is invoked\\n     * with three arguments: (nsValue, key, nsObject).\\n     *\\n     * **Note:** This method mutates `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.6.0\\n     * @category Object\\n     * @param {Object} object The object to modify.\\n     * @param {Array|string} path The path of the property to set.\\n     * @param {Function} updater The function to produce the updated value.\\n     * @param {Function} [customizer] The function to customize assigned values.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * var object = {};\\n     *\\n     * _.updateWith(object, '[0][1]', _.constant('a'), Object);\\n     * // => { '0': { '1': 'a' } }\\n     */\\n    function updateWith(object, path, updater, customizer) {\\n      customizer = typeof customizer == 'function' ? customizer : undefined;\\n      return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\\n    }\\n\\n    /**\\n     * Creates an array of the own enumerable string keyed property values of `object`.\\n     *\\n     * **Note:** Non-object values are coerced to objects.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property values.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.values(new Foo);\\n     * // => [1, 2] (iteration order is not guaranteed)\\n     *\\n     * _.values('hi');\\n     * // => ['h', 'i']\\n     */\\n    function values(object) {\\n      return object == null ? [] : baseValues(object, keys(object));\\n    }\\n\\n    /**\\n     * Creates an array of the own and inherited enumerable string keyed property\\n     * values of `object`.\\n     *\\n     * **Note:** Non-object values are coerced to objects.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Object\\n     * @param {Object} object The object to query.\\n     * @returns {Array} Returns the array of property values.\\n     * @example\\n     *\\n     * function Foo() {\\n     *   this.a = 1;\\n     *   this.b = 2;\\n     * }\\n     *\\n     * Foo.prototype.c = 3;\\n     *\\n     * _.valuesIn(new Foo);\\n     * // => [1, 2, 3] (iteration order is not guaranteed)\\n     */\\n    function valuesIn(object) {\\n      return object == null ? [] : baseValues(object, keysIn(object));\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Clamps `number` within the inclusive `lower` and `upper` bounds.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Number\\n     * @param {number} number The number to clamp.\\n     * @param {number} [lower] The lower bound.\\n     * @param {number} upper The upper bound.\\n     * @returns {number} Returns the clamped number.\\n     * @example\\n     *\\n     * _.clamp(-10, -5, 5);\\n     * // => -5\\n     *\\n     * _.clamp(10, -5, 5);\\n     * // => 5\\n     */\\n    function clamp(number, lower, upper) {\\n      if (upper === undefined) {\\n        upper = lower;\\n        lower = undefined;\\n      }\\n      if (upper !== undefined) {\\n        upper = toNumber(upper);\\n        upper = upper === upper ? upper : 0;\\n      }\\n      if (lower !== undefined) {\\n        lower = toNumber(lower);\\n        lower = lower === lower ? lower : 0;\\n      }\\n      return baseClamp(toNumber(number), lower, upper);\\n    }\\n\\n    /**\\n     * Checks if `n` is between `start` and up to, but not including, `end`. If\\n     * `end` is not specified, it's set to `start` with `start` then set to `0`.\\n     * If `start` is greater than `end` the params are swapped to support\\n     * negative ranges.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.3.0\\n     * @category Number\\n     * @param {number} number The number to check.\\n     * @param {number} [start=0] The start of the range.\\n     * @param {number} end The end of the range.\\n     * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\\n     * @see _.range, _.rangeRight\\n     * @example\\n     *\\n     * _.inRange(3, 2, 4);\\n     * // => true\\n     *\\n     * _.inRange(4, 8);\\n     * // => true\\n     *\\n     * _.inRange(4, 2);\\n     * // => false\\n     *\\n     * _.inRange(2, 2);\\n     * // => false\\n     *\\n     * _.inRange(1.2, 2);\\n     * // => true\\n     *\\n     * _.inRange(5.2, 4);\\n     * // => false\\n     *\\n     * _.inRange(-3, -2, -6);\\n     * // => true\\n     */\\n    function inRange(number, start, end) {\\n      start = toFinite(start);\\n      if (end === undefined) {\\n        end = start;\\n        start = 0;\\n      } else {\\n        end = toFinite(end);\\n      }\\n      number = toNumber(number);\\n      return baseInRange(number, start, end);\\n    }\\n\\n    /**\\n     * Produces a random number between the inclusive `lower` and `upper` bounds.\\n     * If only one argument is provided a number between `0` and the given number\\n     * is returned. If `floating` is `true`, or either `lower` or `upper` are\\n     * floats, a floating-point number is returned instead of an integer.\\n     *\\n     * **Note:** JavaScript follows the IEEE-754 standard for resolving\\n     * floating-point values which can produce unexpected results.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.7.0\\n     * @category Number\\n     * @param {number} [lower=0] The lower bound.\\n     * @param {number} [upper=1] The upper bound.\\n     * @param {boolean} [floating] Specify returning a floating-point number.\\n     * @returns {number} Returns the random number.\\n     * @example\\n     *\\n     * _.random(0, 5);\\n     * // => an integer between 0 and 5\\n     *\\n     * _.random(5);\\n     * // => also an integer between 0 and 5\\n     *\\n     * _.random(5, true);\\n     * // => a floating-point number between 0 and 5\\n     *\\n     * _.random(1.2, 5.2);\\n     * // => a floating-point number between 1.2 and 5.2\\n     */\\n    function random(lower, upper, floating) {\\n      if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\\n        upper = floating = undefined;\\n      }\\n      if (floating === undefined) {\\n        if (typeof upper == 'boolean') {\\n          floating = upper;\\n          upper = undefined;\\n        }\\n        else if (typeof lower == 'boolean') {\\n          floating = lower;\\n          lower = undefined;\\n        }\\n      }\\n      if (lower === undefined && upper === undefined) {\\n        lower = 0;\\n        upper = 1;\\n      }\\n      else {\\n        lower = toFinite(lower);\\n        if (upper === undefined) {\\n          upper = lower;\\n          lower = 0;\\n        } else {\\n          upper = toFinite(upper);\\n        }\\n      }\\n      if (lower > upper) {\\n        var temp = lower;\\n        lower = upper;\\n        upper = temp;\\n      }\\n      if (floating || lower % 1 || upper % 1) {\\n        var rand = nativeRandom();\\n        return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\\n      }\\n      return baseRandom(lower, upper);\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the camel cased string.\\n     * @example\\n     *\\n     * _.camelCase('Foo Bar');\\n     * // => 'fooBar'\\n     *\\n     * _.camelCase('--foo-bar--');\\n     * // => 'fooBar'\\n     *\\n     * _.camelCase('__FOO_BAR__');\\n     * // => 'fooBar'\\n     */\\n    var camelCase = createCompounder(function(result, word, index) {\\n      word = word.toLowerCase();\\n      return result + (index ? capitalize(word) : word);\\n    });\\n\\n    /**\\n     * Converts the first character of `string` to upper case and the remaining\\n     * to lower case.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to capitalize.\\n     * @returns {string} Returns the capitalized string.\\n     * @example\\n     *\\n     * _.capitalize('FRED');\\n     * // => 'Fred'\\n     */\\n    function capitalize(string) {\\n      return upperFirst(toString(string).toLowerCase());\\n    }\\n\\n    /**\\n     * Deburrs `string` by converting\\n     * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\\n     * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\\n     * letters to basic Latin letters and removing\\n     * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to deburr.\\n     * @returns {string} Returns the deburred string.\\n     * @example\\n     *\\n     * _.deburr('déjà vu');\\n     * // => 'deja vu'\\n     */\\n    function deburr(string) {\\n      string = toString(string);\\n      return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\\n    }\\n\\n    /**\\n     * Checks if `string` ends with the given target string.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to inspect.\\n     * @param {string} [target] The string to search for.\\n     * @param {number} [position=string.length] The position to search up to.\\n     * @returns {boolean} Returns `true` if `string` ends with `target`,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.endsWith('abc', 'c');\\n     * // => true\\n     *\\n     * _.endsWith('abc', 'b');\\n     * // => false\\n     *\\n     * _.endsWith('abc', 'b', 2);\\n     * // => true\\n     */\\n    function endsWith(string, target, position) {\\n      string = toString(string);\\n      target = baseToString(target);\\n\\n      var length = string.length;\\n      position = position === undefined\\n        ? length\\n        : baseClamp(toInteger(position), 0, length);\\n\\n      var end = position;\\n      position -= target.length;\\n      return position >= 0 && string.slice(position, end) == target;\\n    }\\n\\n    /**\\n     * Converts the characters \\\"&\\\", \\\"<\\\", \\\">\\\", '\\\"', and \\\"'\\\" in `string` to their\\n     * corresponding HTML entities.\\n     *\\n     * **Note:** No other characters are escaped. To escape additional\\n     * characters use a third-party library like [_he_](https://mths.be/he).\\n     *\\n     * Though the \\\">\\\" character is escaped for symmetry, characters like\\n     * \\\">\\\" and \\\"/\\\" don't need escaping in HTML and have no special meaning\\n     * unless they're part of a tag or unquoted attribute value. See\\n     * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\\n     * (under \\\"semi-related fun fact\\\") for more details.\\n     *\\n     * When working with HTML you should always\\n     * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\\n     * XSS vectors.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category String\\n     * @param {string} [string=''] The string to escape.\\n     * @returns {string} Returns the escaped string.\\n     * @example\\n     *\\n     * _.escape('fred, barney, & pebbles');\\n     * // => 'fred, barney, &amp; pebbles'\\n     */\\n    function escape(string) {\\n      string = toString(string);\\n      return (string && reHasUnescapedHtml.test(string))\\n        ? string.replace(reUnescapedHtml, escapeHtmlChar)\\n        : string;\\n    }\\n\\n    /**\\n     * Escapes the `RegExp` special characters \\\"^\\\", \\\"$\\\", \\\"\\\\\\\", \\\".\\\", \\\"*\\\", \\\"+\\\",\\n     * \\\"?\\\", \\\"(\\\", \\\")\\\", \\\"[\\\", \\\"]\\\", \\\"{\\\", \\\"}\\\", and \\\"|\\\" in `string`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to escape.\\n     * @returns {string} Returns the escaped string.\\n     * @example\\n     *\\n     * _.escapeRegExp('[lodash](https://lodash.com/)');\\n     * // => '\\\\[lodash\\\\]\\\\(https://lodash\\\\.com/\\\\)'\\n     */\\n    function escapeRegExp(string) {\\n      string = toString(string);\\n      return (string && reHasRegExpChar.test(string))\\n        ? string.replace(reRegExpChar, '\\\\\\\\$&')\\n        : string;\\n    }\\n\\n    /**\\n     * Converts `string` to\\n     * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the kebab cased string.\\n     * @example\\n     *\\n     * _.kebabCase('Foo Bar');\\n     * // => 'foo-bar'\\n     *\\n     * _.kebabCase('fooBar');\\n     * // => 'foo-bar'\\n     *\\n     * _.kebabCase('__FOO_BAR__');\\n     * // => 'foo-bar'\\n     */\\n    var kebabCase = createCompounder(function(result, word, index) {\\n      return result + (index ? '-' : '') + word.toLowerCase();\\n    });\\n\\n    /**\\n     * Converts `string`, as space separated words, to lower case.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the lower cased string.\\n     * @example\\n     *\\n     * _.lowerCase('--Foo-Bar--');\\n     * // => 'foo bar'\\n     *\\n     * _.lowerCase('fooBar');\\n     * // => 'foo bar'\\n     *\\n     * _.lowerCase('__FOO_BAR__');\\n     * // => 'foo bar'\\n     */\\n    var lowerCase = createCompounder(function(result, word, index) {\\n      return result + (index ? ' ' : '') + word.toLowerCase();\\n    });\\n\\n    /**\\n     * Converts the first character of `string` to lower case.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the converted string.\\n     * @example\\n     *\\n     * _.lowerFirst('Fred');\\n     * // => 'fred'\\n     *\\n     * _.lowerFirst('FRED');\\n     * // => 'fRED'\\n     */\\n    var lowerFirst = createCaseFirst('toLowerCase');\\n\\n    /**\\n     * Pads `string` on the left and right sides if it's shorter than `length`.\\n     * Padding characters are truncated if they can't be evenly divided by `length`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to pad.\\n     * @param {number} [length=0] The padding length.\\n     * @param {string} [chars=' '] The string used as padding.\\n     * @returns {string} Returns the padded string.\\n     * @example\\n     *\\n     * _.pad('abc', 8);\\n     * // => '  abc   '\\n     *\\n     * _.pad('abc', 8, '_-');\\n     * // => '_-abc_-_'\\n     *\\n     * _.pad('abc', 3);\\n     * // => 'abc'\\n     */\\n    function pad(string, length, chars) {\\n      string = toString(string);\\n      length = toInteger(length);\\n\\n      var strLength = length ? stringSize(string) : 0;\\n      if (!length || strLength >= length) {\\n        return string;\\n      }\\n      var mid = (length - strLength) / 2;\\n      return (\\n        createPadding(nativeFloor(mid), chars) +\\n        string +\\n        createPadding(nativeCeil(mid), chars)\\n      );\\n    }\\n\\n    /**\\n     * Pads `string` on the right side if it's shorter than `length`. Padding\\n     * characters are truncated if they exceed `length`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to pad.\\n     * @param {number} [length=0] The padding length.\\n     * @param {string} [chars=' '] The string used as padding.\\n     * @returns {string} Returns the padded string.\\n     * @example\\n     *\\n     * _.padEnd('abc', 6);\\n     * // => 'abc   '\\n     *\\n     * _.padEnd('abc', 6, '_-');\\n     * // => 'abc_-_'\\n     *\\n     * _.padEnd('abc', 3);\\n     * // => 'abc'\\n     */\\n    function padEnd(string, length, chars) {\\n      string = toString(string);\\n      length = toInteger(length);\\n\\n      var strLength = length ? stringSize(string) : 0;\\n      return (length && strLength < length)\\n        ? (string + createPadding(length - strLength, chars))\\n        : string;\\n    }\\n\\n    /**\\n     * Pads `string` on the left side if it's shorter than `length`. Padding\\n     * characters are truncated if they exceed `length`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to pad.\\n     * @param {number} [length=0] The padding length.\\n     * @param {string} [chars=' '] The string used as padding.\\n     * @returns {string} Returns the padded string.\\n     * @example\\n     *\\n     * _.padStart('abc', 6);\\n     * // => '   abc'\\n     *\\n     * _.padStart('abc', 6, '_-');\\n     * // => '_-_abc'\\n     *\\n     * _.padStart('abc', 3);\\n     * // => 'abc'\\n     */\\n    function padStart(string, length, chars) {\\n      string = toString(string);\\n      length = toInteger(length);\\n\\n      var strLength = length ? stringSize(string) : 0;\\n      return (length && strLength < length)\\n        ? (createPadding(length - strLength, chars) + string)\\n        : string;\\n    }\\n\\n    /**\\n     * Converts `string` to an integer of the specified radix. If `radix` is\\n     * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\\n     * hexadecimal, in which case a `radix` of `16` is used.\\n     *\\n     * **Note:** This method aligns with the\\n     * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 1.1.0\\n     * @category String\\n     * @param {string} string The string to convert.\\n     * @param {number} [radix=10] The radix to interpret `value` by.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {number} Returns the converted integer.\\n     * @example\\n     *\\n     * _.parseInt('08');\\n     * // => 8\\n     *\\n     * _.map(['6', '08', '10'], _.parseInt);\\n     * // => [6, 8, 10]\\n     */\\n    function parseInt(string, radix, guard) {\\n      if (guard || radix == null) {\\n        radix = 0;\\n      } else if (radix) {\\n        radix = +radix;\\n      }\\n      return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\\n    }\\n\\n    /**\\n     * Repeats the given string `n` times.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to repeat.\\n     * @param {number} [n=1] The number of times to repeat the string.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {string} Returns the repeated string.\\n     * @example\\n     *\\n     * _.repeat('*', 3);\\n     * // => '***'\\n     *\\n     * _.repeat('abc', 2);\\n     * // => 'abcabc'\\n     *\\n     * _.repeat('abc', 0);\\n     * // => ''\\n     */\\n    function repeat(string, n, guard) {\\n      if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\\n        n = 1;\\n      } else {\\n        n = toInteger(n);\\n      }\\n      return baseRepeat(toString(string), n);\\n    }\\n\\n    /**\\n     * Replaces matches for `pattern` in `string` with `replacement`.\\n     *\\n     * **Note:** This method is based on\\n     * [`String#replace`](https://mdn.io/String/replace).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to modify.\\n     * @param {RegExp|string} pattern The pattern to replace.\\n     * @param {Function|string} replacement The match replacement.\\n     * @returns {string} Returns the modified string.\\n     * @example\\n     *\\n     * _.replace('Hi Fred', 'Fred', 'Barney');\\n     * // => 'Hi Barney'\\n     */\\n    function replace() {\\n      var args = arguments,\\n          string = toString(args[0]);\\n\\n      return args.length < 3 ? string : string.replace(args[1], args[2]);\\n    }\\n\\n    /**\\n     * Converts `string` to\\n     * [snake case](https://en.wikipedia.org/wiki/Snake_case).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the snake cased string.\\n     * @example\\n     *\\n     * _.snakeCase('Foo Bar');\\n     * // => 'foo_bar'\\n     *\\n     * _.snakeCase('fooBar');\\n     * // => 'foo_bar'\\n     *\\n     * _.snakeCase('--FOO-BAR--');\\n     * // => 'foo_bar'\\n     */\\n    var snakeCase = createCompounder(function(result, word, index) {\\n      return result + (index ? '_' : '') + word.toLowerCase();\\n    });\\n\\n    /**\\n     * Splits `string` by `separator`.\\n     *\\n     * **Note:** This method is based on\\n     * [`String#split`](https://mdn.io/String/split).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to split.\\n     * @param {RegExp|string} separator The separator pattern to split by.\\n     * @param {number} [limit] The length to truncate results to.\\n     * @returns {Array} Returns the string segments.\\n     * @example\\n     *\\n     * _.split('a-b-c', '-', 2);\\n     * // => ['a', 'b']\\n     */\\n    function split(string, separator, limit) {\\n      if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\\n        separator = limit = undefined;\\n      }\\n      limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\\n      if (!limit) {\\n        return [];\\n      }\\n      string = toString(string);\\n      if (string && (\\n            typeof separator == 'string' ||\\n            (separator != null && !isRegExp(separator))\\n          )) {\\n        separator = baseToString(separator);\\n        if (!separator && hasUnicode(string)) {\\n          return castSlice(stringToArray(string), 0, limit);\\n        }\\n      }\\n      return string.split(separator, limit);\\n    }\\n\\n    /**\\n     * Converts `string` to\\n     * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.1.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the start cased string.\\n     * @example\\n     *\\n     * _.startCase('--foo-bar--');\\n     * // => 'Foo Bar'\\n     *\\n     * _.startCase('fooBar');\\n     * // => 'Foo Bar'\\n     *\\n     * _.startCase('__FOO_BAR__');\\n     * // => 'FOO BAR'\\n     */\\n    var startCase = createCompounder(function(result, word, index) {\\n      return result + (index ? ' ' : '') + upperFirst(word);\\n    });\\n\\n    /**\\n     * Checks if `string` starts with the given target string.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to inspect.\\n     * @param {string} [target] The string to search for.\\n     * @param {number} [position=0] The position to search from.\\n     * @returns {boolean} Returns `true` if `string` starts with `target`,\\n     *  else `false`.\\n     * @example\\n     *\\n     * _.startsWith('abc', 'a');\\n     * // => true\\n     *\\n     * _.startsWith('abc', 'b');\\n     * // => false\\n     *\\n     * _.startsWith('abc', 'b', 1);\\n     * // => true\\n     */\\n    function startsWith(string, target, position) {\\n      string = toString(string);\\n      position = position == null\\n        ? 0\\n        : baseClamp(toInteger(position), 0, string.length);\\n\\n      target = baseToString(target);\\n      return string.slice(position, position + target.length) == target;\\n    }\\n\\n    /**\\n     * Creates a compiled template function that can interpolate data properties\\n     * in \\\"interpolate\\\" delimiters, HTML-escape interpolated data properties in\\n     * \\\"escape\\\" delimiters, and execute JavaScript in \\\"evaluate\\\" delimiters. Data\\n     * properties may be accessed as free variables in the template. If a setting\\n     * object is given, it takes precedence over `_.templateSettings` values.\\n     *\\n     * **Note:** In the development build `_.template` utilizes\\n     * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\\n     * for easier debugging.\\n     *\\n     * For more information on precompiling templates see\\n     * [lodash's custom builds documentation](https://lodash.com/custom-builds).\\n     *\\n     * For more information on Chrome extension sandboxes see\\n     * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category String\\n     * @param {string} [string=''] The template string.\\n     * @param {Object} [options={}] The options object.\\n     * @param {RegExp} [options.escape=_.templateSettings.escape]\\n     *  The HTML \\\"escape\\\" delimiter.\\n     * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\\n     *  The \\\"evaluate\\\" delimiter.\\n     * @param {Object} [options.imports=_.templateSettings.imports]\\n     *  An object to import into the template as free variables.\\n     * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\\n     *  The \\\"interpolate\\\" delimiter.\\n     * @param {string} [options.sourceURL='lodash.templateSources[n]']\\n     *  The sourceURL of the compiled template.\\n     * @param {string} [options.variable='obj']\\n     *  The data object variable name.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Function} Returns the compiled template function.\\n     * @example\\n     *\\n     * // Use the \\\"interpolate\\\" delimiter to create a compiled template.\\n     * var compiled = _.template('hello <%= user %>!');\\n     * compiled({ 'user': 'fred' });\\n     * // => 'hello fred!'\\n     *\\n     * // Use the HTML \\\"escape\\\" delimiter to escape data property values.\\n     * var compiled = _.template('<b><%- value %></b>');\\n     * compiled({ 'value': '<script>' });\\n     * // => '<b>&lt;script&gt;</b>'\\n     *\\n     * // Use the \\\"evaluate\\\" delimiter to execute JavaScript and generate HTML.\\n     * var compiled = _.template('<% _.forEach(users, function(user) { %><li><%- user %></li><% }); %>');\\n     * compiled({ 'users': ['fred', 'barney'] });\\n     * // => '<li>fred</li><li>barney</li>'\\n     *\\n     * // Use the internal `print` function in \\\"evaluate\\\" delimiters.\\n     * var compiled = _.template('<% print(\\\"hello \\\" + user); %>!');\\n     * compiled({ 'user': 'barney' });\\n     * // => 'hello barney!'\\n     *\\n     * // Use the ES template literal delimiter as an \\\"interpolate\\\" delimiter.\\n     * // Disable support by replacing the \\\"interpolate\\\" delimiter.\\n     * var compiled = _.template('hello ${ user }!');\\n     * compiled({ 'user': 'pebbles' });\\n     * // => 'hello pebbles!'\\n     *\\n     * // Use backslashes to treat delimiters as plain text.\\n     * var compiled = _.template('<%= \\\"\\\\\\\\<%- value %\\\\\\\\>\\\" %>');\\n     * compiled({ 'value': 'ignored' });\\n     * // => '<%- value %>'\\n     *\\n     * // Use the `imports` option to import `jQuery` as `jq`.\\n     * var text = '<% jq.each(users, function(user) { %><li><%- user %></li><% }); %>';\\n     * var compiled = _.template(text, { 'imports': { 'jq': jQuery } });\\n     * compiled({ 'users': ['fred', 'barney'] });\\n     * // => '<li>fred</li><li>barney</li>'\\n     *\\n     * // Use the `sourceURL` option to specify a custom sourceURL for the template.\\n     * var compiled = _.template('hello <%= user %>!', { 'sourceURL': '/basic/greeting.jst' });\\n     * compiled(data);\\n     * // => Find the source of \\\"greeting.jst\\\" under the Sources tab or Resources panel of the web inspector.\\n     *\\n     * // Use the `variable` option to ensure a with-statement isn't used in the compiled template.\\n     * var compiled = _.template('hi <%= data.user %>!', { 'variable': 'data' });\\n     * compiled.source;\\n     * // => function(data) {\\n     * //   var __t, __p = '';\\n     * //   __p += 'hi ' + ((__t = ( data.user )) == null ? '' : __t) + '!';\\n     * //   return __p;\\n     * // }\\n     *\\n     * // Use custom template delimiters.\\n     * _.templateSettings.interpolate = /{{([\\\\s\\\\S]+?)}}/g;\\n     * var compiled = _.template('hello {{ user }}!');\\n     * compiled({ 'user': 'mustache' });\\n     * // => 'hello mustache!'\\n     *\\n     * // Use the `source` property to inline compiled templates for meaningful\\n     * // line numbers in error messages and stack traces.\\n     * fs.writeFileSync(path.join(process.cwd(), 'jst.js'), '\\\\\\n     *   var JST = {\\\\\\n     *     \\\"main\\\": ' + _.template(mainText).source + '\\\\\\n     *   };\\\\\\n     * ');\\n     */\\n    function template(string, options, guard) {\\n      // Based on John Resig's `tmpl` implementation\\n      // (http://ejohn.org/blog/javascript-micro-templating/)\\n      // and Laura Doktorova's doT.js (https://github.com/olado/doT).\\n      var settings = lodash.templateSettings;\\n\\n      if (guard && isIterateeCall(string, options, guard)) {\\n        options = undefined;\\n      }\\n      string = toString(string);\\n      options = assignInWith({}, options, settings, customDefaultsAssignIn);\\n\\n      var imports = assignInWith({}, options.imports, settings.imports, customDefaultsAssignIn),\\n          importsKeys = keys(imports),\\n          importsValues = baseValues(imports, importsKeys);\\n\\n      var isEscaping,\\n          isEvaluating,\\n          index = 0,\\n          interpolate = options.interpolate || reNoMatch,\\n          source = \\\"__p += '\\\";\\n\\n      // Compile the regexp to match each delimiter.\\n      var reDelimiters = RegExp(\\n        (options.escape || reNoMatch).source + '|' +\\n        interpolate.source + '|' +\\n        (interpolate === reInterpolate ? reEsTemplate : reNoMatch).source + '|' +\\n        (options.evaluate || reNoMatch).source + '|$'\\n      , 'g');\\n\\n      // Use a sourceURL for easier debugging.\\n      // The sourceURL gets injected into the source that's eval-ed, so be careful\\n      // with lookup (in case of e.g. prototype pollution), and strip newlines if any.\\n      // A newline wouldn't be a valid sourceURL anyway, and it'd enable code injection.\\n      var sourceURL = '//# sourceURL=' +\\n        (hasOwnProperty.call(options, 'sourceURL')\\n          ? (options.sourceURL + '').replace(/[\\\\r\\\\n]/g, ' ')\\n          : ('lodash.templateSources[' + (++templateCounter) + ']')\\n        ) + '\\\\n';\\n\\n      string.replace(reDelimiters, function(match, escapeValue, interpolateValue, esTemplateValue, evaluateValue, offset) {\\n        interpolateValue || (interpolateValue = esTemplateValue);\\n\\n        // Escape characters that can't be included in string literals.\\n        source += string.slice(index, offset).replace(reUnescapedString, escapeStringChar);\\n\\n        // Replace delimiters with snippets.\\n        if (escapeValue) {\\n          isEscaping = true;\\n          source += \\\"' +\\\\n__e(\\\" + escapeValue + \\\") +\\\\n'\\\";\\n        }\\n        if (evaluateValue) {\\n          isEvaluating = true;\\n          source += \\\"';\\\\n\\\" + evaluateValue + \\\";\\\\n__p += '\\\";\\n        }\\n        if (interpolateValue) {\\n          source += \\\"' +\\\\n((__t = (\\\" + interpolateValue + \\\")) == null ? '' : __t) +\\\\n'\\\";\\n        }\\n        index = offset + match.length;\\n\\n        // The JS engine embedded in Adobe products needs `match` returned in\\n        // order to produce the correct `offset` value.\\n        return match;\\n      });\\n\\n      source += \\\"';\\\\n\\\";\\n\\n      // If `variable` is not specified wrap a with-statement around the generated\\n      // code to add the data object to the top of the scope chain.\\n      // Like with sourceURL, we take care to not check the option's prototype,\\n      // as this configuration is a code injection vector.\\n      var variable = hasOwnProperty.call(options, 'variable') && options.variable;\\n      if (!variable) {\\n        source = 'with (obj) {\\\\n' + source + '\\\\n}\\\\n';\\n      }\\n      // Cleanup code by stripping empty strings.\\n      source = (isEvaluating ? source.replace(reEmptyStringLeading, '') : source)\\n        .replace(reEmptyStringMiddle, '$1')\\n        .replace(reEmptyStringTrailing, '$1;');\\n\\n      // Frame code as the function body.\\n      source = 'function(' + (variable || 'obj') + ') {\\\\n' +\\n        (variable\\n          ? ''\\n          : 'obj || (obj = {});\\\\n'\\n        ) +\\n        \\\"var __t, __p = ''\\\" +\\n        (isEscaping\\n           ? ', __e = _.escape'\\n           : ''\\n        ) +\\n        (isEvaluating\\n          ? ', __j = Array.prototype.join;\\\\n' +\\n            \\\"function print() { __p += __j.call(arguments, '') }\\\\n\\\"\\n          : ';\\\\n'\\n        ) +\\n        source +\\n        'return __p\\\\n}';\\n\\n      var result = attempt(function() {\\n        return Function(importsKeys, sourceURL + 'return ' + source)\\n          .apply(undefined, importsValues);\\n      });\\n\\n      // Provide the compiled function's source by its `toString` method or\\n      // the `source` property as a convenience for inlining compiled templates.\\n      result.source = source;\\n      if (isError(result)) {\\n        throw result;\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Converts `string`, as a whole, to lower case just like\\n     * [String#toLowerCase](https://mdn.io/toLowerCase).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the lower cased string.\\n     * @example\\n     *\\n     * _.toLower('--Foo-Bar--');\\n     * // => '--foo-bar--'\\n     *\\n     * _.toLower('fooBar');\\n     * // => 'foobar'\\n     *\\n     * _.toLower('__FOO_BAR__');\\n     * // => '__foo_bar__'\\n     */\\n    function toLower(value) {\\n      return toString(value).toLowerCase();\\n    }\\n\\n    /**\\n     * Converts `string`, as a whole, to upper case just like\\n     * [String#toUpperCase](https://mdn.io/toUpperCase).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the upper cased string.\\n     * @example\\n     *\\n     * _.toUpper('--foo-bar--');\\n     * // => '--FOO-BAR--'\\n     *\\n     * _.toUpper('fooBar');\\n     * // => 'FOOBAR'\\n     *\\n     * _.toUpper('__foo_bar__');\\n     * // => '__FOO_BAR__'\\n     */\\n    function toUpper(value) {\\n      return toString(value).toUpperCase();\\n    }\\n\\n    /**\\n     * Removes leading and trailing whitespace or specified characters from `string`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to trim.\\n     * @param {string} [chars=whitespace] The characters to trim.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {string} Returns the trimmed string.\\n     * @example\\n     *\\n     * _.trim('  abc  ');\\n     * // => 'abc'\\n     *\\n     * _.trim('-_-abc-_-', '_-');\\n     * // => 'abc'\\n     *\\n     * _.map(['  foo  ', '  bar  '], _.trim);\\n     * // => ['foo', 'bar']\\n     */\\n    function trim(string, chars, guard) {\\n      string = toString(string);\\n      if (string && (guard || chars === undefined)) {\\n        return string.replace(reTrim, '');\\n      }\\n      if (!string || !(chars = baseToString(chars))) {\\n        return string;\\n      }\\n      var strSymbols = stringToArray(string),\\n          chrSymbols = stringToArray(chars),\\n          start = charsStartIndex(strSymbols, chrSymbols),\\n          end = charsEndIndex(strSymbols, chrSymbols) + 1;\\n\\n      return castSlice(strSymbols, start, end).join('');\\n    }\\n\\n    /**\\n     * Removes trailing whitespace or specified characters from `string`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to trim.\\n     * @param {string} [chars=whitespace] The characters to trim.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {string} Returns the trimmed string.\\n     * @example\\n     *\\n     * _.trimEnd('  abc  ');\\n     * // => '  abc'\\n     *\\n     * _.trimEnd('-_-abc-_-', '_-');\\n     * // => '-_-abc'\\n     */\\n    function trimEnd(string, chars, guard) {\\n      string = toString(string);\\n      if (string && (guard || chars === undefined)) {\\n        return string.replace(reTrimEnd, '');\\n      }\\n      if (!string || !(chars = baseToString(chars))) {\\n        return string;\\n      }\\n      var strSymbols = stringToArray(string),\\n          end = charsEndIndex(strSymbols, stringToArray(chars)) + 1;\\n\\n      return castSlice(strSymbols, 0, end).join('');\\n    }\\n\\n    /**\\n     * Removes leading whitespace or specified characters from `string`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to trim.\\n     * @param {string} [chars=whitespace] The characters to trim.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {string} Returns the trimmed string.\\n     * @example\\n     *\\n     * _.trimStart('  abc  ');\\n     * // => 'abc  '\\n     *\\n     * _.trimStart('-_-abc-_-', '_-');\\n     * // => 'abc-_-'\\n     */\\n    function trimStart(string, chars, guard) {\\n      string = toString(string);\\n      if (string && (guard || chars === undefined)) {\\n        return string.replace(reTrimStart, '');\\n      }\\n      if (!string || !(chars = baseToString(chars))) {\\n        return string;\\n      }\\n      var strSymbols = stringToArray(string),\\n          start = charsStartIndex(strSymbols, stringToArray(chars));\\n\\n      return castSlice(strSymbols, start).join('');\\n    }\\n\\n    /**\\n     * Truncates `string` if it's longer than the given maximum string length.\\n     * The last characters of the truncated string are replaced with the omission\\n     * string which defaults to \\\"...\\\".\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to truncate.\\n     * @param {Object} [options={}] The options object.\\n     * @param {number} [options.length=30] The maximum string length.\\n     * @param {string} [options.omission='...'] The string to indicate text is omitted.\\n     * @param {RegExp|string} [options.separator] The separator pattern to truncate to.\\n     * @returns {string} Returns the truncated string.\\n     * @example\\n     *\\n     * _.truncate('hi-diddly-ho there, neighborino');\\n     * // => 'hi-diddly-ho there, neighbo...'\\n     *\\n     * _.truncate('hi-diddly-ho there, neighborino', {\\n     *   'length': 24,\\n     *   'separator': ' '\\n     * });\\n     * // => 'hi-diddly-ho there,...'\\n     *\\n     * _.truncate('hi-diddly-ho there, neighborino', {\\n     *   'length': 24,\\n     *   'separator': /,? +/\\n     * });\\n     * // => 'hi-diddly-ho there...'\\n     *\\n     * _.truncate('hi-diddly-ho there, neighborino', {\\n     *   'omission': ' [...]'\\n     * });\\n     * // => 'hi-diddly-ho there, neig [...]'\\n     */\\n    function truncate(string, options) {\\n      var length = DEFAULT_TRUNC_LENGTH,\\n          omission = DEFAULT_TRUNC_OMISSION;\\n\\n      if (isObject(options)) {\\n        var separator = 'separator' in options ? options.separator : separator;\\n        length = 'length' in options ? toInteger(options.length) : length;\\n        omission = 'omission' in options ? baseToString(options.omission) : omission;\\n      }\\n      string = toString(string);\\n\\n      var strLength = string.length;\\n      if (hasUnicode(string)) {\\n        var strSymbols = stringToArray(string);\\n        strLength = strSymbols.length;\\n      }\\n      if (length >= strLength) {\\n        return string;\\n      }\\n      var end = length - stringSize(omission);\\n      if (end < 1) {\\n        return omission;\\n      }\\n      var result = strSymbols\\n        ? castSlice(strSymbols, 0, end).join('')\\n        : string.slice(0, end);\\n\\n      if (separator === undefined) {\\n        return result + omission;\\n      }\\n      if (strSymbols) {\\n        end += (result.length - end);\\n      }\\n      if (isRegExp(separator)) {\\n        if (string.slice(end).search(separator)) {\\n          var match,\\n              substring = result;\\n\\n          if (!separator.global) {\\n            separator = RegExp(separator.source, toString(reFlags.exec(separator)) + 'g');\\n          }\\n          separator.lastIndex = 0;\\n          while ((match = separator.exec(substring))) {\\n            var newEnd = match.index;\\n          }\\n          result = result.slice(0, newEnd === undefined ? end : newEnd);\\n        }\\n      } else if (string.indexOf(baseToString(separator), end) != end) {\\n        var index = result.lastIndexOf(separator);\\n        if (index > -1) {\\n          result = result.slice(0, index);\\n        }\\n      }\\n      return result + omission;\\n    }\\n\\n    /**\\n     * The inverse of `_.escape`; this method converts the HTML entities\\n     * `&amp;`, `&lt;`, `&gt;`, `&quot;`, and `&#39;` in `string` to\\n     * their corresponding characters.\\n     *\\n     * **Note:** No other HTML entities are unescaped. To unescape additional\\n     * HTML entities use a third-party library like [_he_](https://mths.be/he).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 0.6.0\\n     * @category String\\n     * @param {string} [string=''] The string to unescape.\\n     * @returns {string} Returns the unescaped string.\\n     * @example\\n     *\\n     * _.unescape('fred, barney, &amp; pebbles');\\n     * // => 'fred, barney, & pebbles'\\n     */\\n    function unescape(string) {\\n      string = toString(string);\\n      return (string && reHasEscapedHtml.test(string))\\n        ? string.replace(reEscapedHtml, unescapeHtmlChar)\\n        : string;\\n    }\\n\\n    /**\\n     * Converts `string`, as space separated words, to upper case.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the upper cased string.\\n     * @example\\n     *\\n     * _.upperCase('--foo-bar');\\n     * // => 'FOO BAR'\\n     *\\n     * _.upperCase('fooBar');\\n     * // => 'FOO BAR'\\n     *\\n     * _.upperCase('__foo_bar__');\\n     * // => 'FOO BAR'\\n     */\\n    var upperCase = createCompounder(function(result, word, index) {\\n      return result + (index ? ' ' : '') + word.toUpperCase();\\n    });\\n\\n    /**\\n     * Converts the first character of `string` to upper case.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to convert.\\n     * @returns {string} Returns the converted string.\\n     * @example\\n     *\\n     * _.upperFirst('fred');\\n     * // => 'Fred'\\n     *\\n     * _.upperFirst('FRED');\\n     * // => 'FRED'\\n     */\\n    var upperFirst = createCaseFirst('toUpperCase');\\n\\n    /**\\n     * Splits `string` into an array of its words.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category String\\n     * @param {string} [string=''] The string to inspect.\\n     * @param {RegExp|string} [pattern] The pattern to match words.\\n     * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\\n     * @returns {Array} Returns the words of `string`.\\n     * @example\\n     *\\n     * _.words('fred, barney, & pebbles');\\n     * // => ['fred', 'barney', 'pebbles']\\n     *\\n     * _.words('fred, barney, & pebbles', /[^, ]+/g);\\n     * // => ['fred', 'barney', '&', 'pebbles']\\n     */\\n    function words(string, pattern, guard) {\\n      string = toString(string);\\n      pattern = guard ? undefined : pattern;\\n\\n      if (pattern === undefined) {\\n        return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);\\n      }\\n      return string.match(pattern) || [];\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Attempts to invoke `func`, returning either the result or the caught error\\n     * object. Any additional arguments are provided to `func` when it's invoked.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Util\\n     * @param {Function} func The function to attempt.\\n     * @param {...*} [args] The arguments to invoke `func` with.\\n     * @returns {*} Returns the `func` result or error object.\\n     * @example\\n     *\\n     * // Avoid throwing errors for invalid selectors.\\n     * var elements = _.attempt(function(selector) {\\n     *   return document.querySelectorAll(selector);\\n     * }, '>_>');\\n     *\\n     * if (_.isError(elements)) {\\n     *   elements = [];\\n     * }\\n     */\\n    var attempt = baseRest(function(func, args) {\\n      try {\\n        return apply(func, undefined, args);\\n      } catch (e) {\\n        return isError(e) ? e : new Error(e);\\n      }\\n    });\\n\\n    /**\\n     * Binds methods of an object to the object itself, overwriting the existing\\n     * method.\\n     *\\n     * **Note:** This method doesn't set the \\\"length\\\" property of bound functions.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {Object} object The object to bind and assign the bound methods to.\\n     * @param {...(string|string[])} methodNames The object method names to bind.\\n     * @returns {Object} Returns `object`.\\n     * @example\\n     *\\n     * var view = {\\n     *   'label': 'docs',\\n     *   'click': function() {\\n     *     console.log('clicked ' + this.label);\\n     *   }\\n     * };\\n     *\\n     * _.bindAll(view, ['click']);\\n     * jQuery(element).on('click', view.click);\\n     * // => Logs 'clicked docs' when clicked.\\n     */\\n    var bindAll = flatRest(function(object, methodNames) {\\n      arrayEach(methodNames, function(key) {\\n        key = toKey(key);\\n        baseAssignValue(object, key, bind(object[key], object));\\n      });\\n      return object;\\n    });\\n\\n    /**\\n     * Creates a function that iterates over `pairs` and invokes the corresponding\\n     * function of the first predicate to return truthy. The predicate-function\\n     * pairs are invoked with the `this` binding and arguments of the created\\n     * function.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {Array} pairs The predicate-function pairs.\\n     * @returns {Function} Returns the new composite function.\\n     * @example\\n     *\\n     * var func = _.cond([\\n     *   [_.matches({ 'a': 1 }),           _.constant('matches A')],\\n     *   [_.conforms({ 'b': _.isNumber }), _.constant('matches B')],\\n     *   [_.stubTrue,                      _.constant('no match')]\\n     * ]);\\n     *\\n     * func({ 'a': 1, 'b': 2 });\\n     * // => 'matches A'\\n     *\\n     * func({ 'a': 0, 'b': 1 });\\n     * // => 'matches B'\\n     *\\n     * func({ 'a': '1', 'b': '2' });\\n     * // => 'no match'\\n     */\\n    function cond(pairs) {\\n      var length = pairs == null ? 0 : pairs.length,\\n          toIteratee = getIteratee();\\n\\n      pairs = !length ? [] : arrayMap(pairs, function(pair) {\\n        if (typeof pair[1] != 'function') {\\n          throw new TypeError(FUNC_ERROR_TEXT);\\n        }\\n        return [toIteratee(pair[0]), pair[1]];\\n      });\\n\\n      return baseRest(function(args) {\\n        var index = -1;\\n        while (++index < length) {\\n          var pair = pairs[index];\\n          if (apply(pair[0], this, args)) {\\n            return apply(pair[1], this, args);\\n          }\\n        }\\n      });\\n    }\\n\\n    /**\\n     * Creates a function that invokes the predicate properties of `source` with\\n     * the corresponding property values of a given object, returning `true` if\\n     * all predicates return truthy, else `false`.\\n     *\\n     * **Note:** The created function is equivalent to `_.conformsTo` with\\n     * `source` partially applied.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {Object} source The object of property predicates to conform to.\\n     * @returns {Function} Returns the new spec function.\\n     * @example\\n     *\\n     * var objects = [\\n     *   { 'a': 2, 'b': 1 },\\n     *   { 'a': 1, 'b': 2 }\\n     * ];\\n     *\\n     * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } }));\\n     * // => [{ 'a': 1, 'b': 2 }]\\n     */\\n    function conforms(source) {\\n      return baseConforms(baseClone(source, CLONE_DEEP_FLAG));\\n    }\\n\\n    /**\\n     * Creates a function that returns `value`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.4.0\\n     * @category Util\\n     * @param {*} value The value to return from the new function.\\n     * @returns {Function} Returns the new constant function.\\n     * @example\\n     *\\n     * var objects = _.times(2, _.constant({ 'a': 1 }));\\n     *\\n     * console.log(objects);\\n     * // => [{ 'a': 1 }, { 'a': 1 }]\\n     *\\n     * console.log(objects[0] === objects[1]);\\n     * // => true\\n     */\\n    function constant(value) {\\n      return function() {\\n        return value;\\n      };\\n    }\\n\\n    /**\\n     * Checks `value` to determine whether a default value should be returned in\\n     * its place. The `defaultValue` is returned if `value` is `NaN`, `null`,\\n     * or `undefined`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.14.0\\n     * @category Util\\n     * @param {*} value The value to check.\\n     * @param {*} defaultValue The default value.\\n     * @returns {*} Returns the resolved value.\\n     * @example\\n     *\\n     * _.defaultTo(1, 10);\\n     * // => 1\\n     *\\n     * _.defaultTo(undefined, 10);\\n     * // => 10\\n     */\\n    function defaultTo(value, defaultValue) {\\n      return (value == null || value !== value) ? defaultValue : value;\\n    }\\n\\n    /**\\n     * Creates a function that returns the result of invoking the given functions\\n     * with the `this` binding of the created function, where each successive\\n     * invocation is supplied the return value of the previous.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Util\\n     * @param {...(Function|Function[])} [funcs] The functions to invoke.\\n     * @returns {Function} Returns the new composite function.\\n     * @see _.flowRight\\n     * @example\\n     *\\n     * function square(n) {\\n     *   return n * n;\\n     * }\\n     *\\n     * var addSquare = _.flow([_.add, square]);\\n     * addSquare(1, 2);\\n     * // => 9\\n     */\\n    var flow = createFlow();\\n\\n    /**\\n     * This method is like `_.flow` except that it creates a function that\\n     * invokes the given functions from right to left.\\n     *\\n     * @static\\n     * @since 3.0.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {...(Function|Function[])} [funcs] The functions to invoke.\\n     * @returns {Function} Returns the new composite function.\\n     * @see _.flow\\n     * @example\\n     *\\n     * function square(n) {\\n     *   return n * n;\\n     * }\\n     *\\n     * var addSquare = _.flowRight([square, _.add]);\\n     * addSquare(1, 2);\\n     * // => 9\\n     */\\n    var flowRight = createFlow(true);\\n\\n    /**\\n     * This method returns the first argument it receives.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {*} value Any value.\\n     * @returns {*} Returns `value`.\\n     * @example\\n     *\\n     * var object = { 'a': 1 };\\n     *\\n     * console.log(_.identity(object) === object);\\n     * // => true\\n     */\\n    function identity(value) {\\n      return value;\\n    }\\n\\n    /**\\n     * Creates a function that invokes `func` with the arguments of the created\\n     * function. If `func` is a property name, the created function returns the\\n     * property value for a given element. If `func` is an array or object, the\\n     * created function returns `true` for elements that contain the equivalent\\n     * source properties, otherwise it returns `false`.\\n     *\\n     * @static\\n     * @since 4.0.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {*} [func=_.identity] The value to convert to a callback.\\n     * @returns {Function} Returns the callback.\\n     * @example\\n     *\\n     * var users = [\\n     *   { 'user': 'barney', 'age': 36, 'active': true },\\n     *   { 'user': 'fred',   'age': 40, 'active': false }\\n     * ];\\n     *\\n     * // The `_.matches` iteratee shorthand.\\n     * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true }));\\n     * // => [{ 'user': 'barney', 'age': 36, 'active': true }]\\n     *\\n     * // The `_.matchesProperty` iteratee shorthand.\\n     * _.filter(users, _.iteratee(['user', 'fred']));\\n     * // => [{ 'user': 'fred', 'age': 40 }]\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.map(users, _.iteratee('user'));\\n     * // => ['barney', 'fred']\\n     *\\n     * // Create custom iteratee shorthands.\\n     * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) {\\n     *   return !_.isRegExp(func) ? iteratee(func) : function(string) {\\n     *     return func.test(string);\\n     *   };\\n     * });\\n     *\\n     * _.filter(['abc', 'def'], /ef/);\\n     * // => ['def']\\n     */\\n    function iteratee(func) {\\n      return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG));\\n    }\\n\\n    /**\\n     * Creates a function that performs a partial deep comparison between a given\\n     * object and `source`, returning `true` if the given object has equivalent\\n     * property values, else `false`.\\n     *\\n     * **Note:** The created function is equivalent to `_.isMatch` with `source`\\n     * partially applied.\\n     *\\n     * Partial comparisons will match empty array and empty object `source`\\n     * values against any array or object value, respectively. See `_.isEqual`\\n     * for a list of supported value comparisons.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Util\\n     * @param {Object} source The object of property values to match.\\n     * @returns {Function} Returns the new spec function.\\n     * @example\\n     *\\n     * var objects = [\\n     *   { 'a': 1, 'b': 2, 'c': 3 },\\n     *   { 'a': 4, 'b': 5, 'c': 6 }\\n     * ];\\n     *\\n     * _.filter(objects, _.matches({ 'a': 4, 'c': 6 }));\\n     * // => [{ 'a': 4, 'b': 5, 'c': 6 }]\\n     */\\n    function matches(source) {\\n      return baseMatches(baseClone(source, CLONE_DEEP_FLAG));\\n    }\\n\\n    /**\\n     * Creates a function that performs a partial deep comparison between the\\n     * value at `path` of a given object to `srcValue`, returning `true` if the\\n     * object value is equivalent, else `false`.\\n     *\\n     * **Note:** Partial comparisons will match empty array and empty object\\n     * `srcValue` values against any array or object value, respectively. See\\n     * `_.isEqual` for a list of supported value comparisons.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.2.0\\n     * @category Util\\n     * @param {Array|string} path The path of the property to get.\\n     * @param {*} srcValue The value to match.\\n     * @returns {Function} Returns the new spec function.\\n     * @example\\n     *\\n     * var objects = [\\n     *   { 'a': 1, 'b': 2, 'c': 3 },\\n     *   { 'a': 4, 'b': 5, 'c': 6 }\\n     * ];\\n     *\\n     * _.find(objects, _.matchesProperty('a', 4));\\n     * // => { 'a': 4, 'b': 5, 'c': 6 }\\n     */\\n    function matchesProperty(path, srcValue) {\\n      return baseMatchesProperty(path, baseClone(srcValue, CLONE_DEEP_FLAG));\\n    }\\n\\n    /**\\n     * Creates a function that invokes the method at `path` of a given object.\\n     * Any additional arguments are provided to the invoked method.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.7.0\\n     * @category Util\\n     * @param {Array|string} path The path of the method to invoke.\\n     * @param {...*} [args] The arguments to invoke the method with.\\n     * @returns {Function} Returns the new invoker function.\\n     * @example\\n     *\\n     * var objects = [\\n     *   { 'a': { 'b': _.constant(2) } },\\n     *   { 'a': { 'b': _.constant(1) } }\\n     * ];\\n     *\\n     * _.map(objects, _.method('a.b'));\\n     * // => [2, 1]\\n     *\\n     * _.map(objects, _.method(['a', 'b']));\\n     * // => [2, 1]\\n     */\\n    var method = baseRest(function(path, args) {\\n      return function(object) {\\n        return baseInvoke(object, path, args);\\n      };\\n    });\\n\\n    /**\\n     * The opposite of `_.method`; this method creates a function that invokes\\n     * the method at a given path of `object`. Any additional arguments are\\n     * provided to the invoked method.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.7.0\\n     * @category Util\\n     * @param {Object} object The object to query.\\n     * @param {...*} [args] The arguments to invoke the method with.\\n     * @returns {Function} Returns the new invoker function.\\n     * @example\\n     *\\n     * var array = _.times(3, _.constant),\\n     *     object = { 'a': array, 'b': array, 'c': array };\\n     *\\n     * _.map(['a[2]', 'c[0]'], _.methodOf(object));\\n     * // => [2, 0]\\n     *\\n     * _.map([['a', '2'], ['c', '0']], _.methodOf(object));\\n     * // => [2, 0]\\n     */\\n    var methodOf = baseRest(function(object, args) {\\n      return function(path) {\\n        return baseInvoke(object, path, args);\\n      };\\n    });\\n\\n    /**\\n     * Adds all own enumerable string keyed function properties of a source\\n     * object to the destination object. If `object` is a function, then methods\\n     * are added to its prototype as well.\\n     *\\n     * **Note:** Use `_.runInContext` to create a pristine `lodash` function to\\n     * avoid conflicts caused by modifying the original.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {Function|Object} [object=lodash] The destination object.\\n     * @param {Object} source The object of functions to add.\\n     * @param {Object} [options={}] The options object.\\n     * @param {boolean} [options.chain=true] Specify whether mixins are chainable.\\n     * @returns {Function|Object} Returns `object`.\\n     * @example\\n     *\\n     * function vowels(string) {\\n     *   return _.filter(string, function(v) {\\n     *     return /[aeiou]/i.test(v);\\n     *   });\\n     * }\\n     *\\n     * _.mixin({ 'vowels': vowels });\\n     * _.vowels('fred');\\n     * // => ['e']\\n     *\\n     * _('fred').vowels().value();\\n     * // => ['e']\\n     *\\n     * _.mixin({ 'vowels': vowels }, { 'chain': false });\\n     * _('fred').vowels();\\n     * // => ['e']\\n     */\\n    function mixin(object, source, options) {\\n      var props = keys(source),\\n          methodNames = baseFunctions(source, props);\\n\\n      if (options == null &&\\n          !(isObject(source) && (methodNames.length || !props.length))) {\\n        options = source;\\n        source = object;\\n        object = this;\\n        methodNames = baseFunctions(source, keys(source));\\n      }\\n      var chain = !(isObject(options) && 'chain' in options) || !!options.chain,\\n          isFunc = isFunction(object);\\n\\n      arrayEach(methodNames, function(methodName) {\\n        var func = source[methodName];\\n        object[methodName] = func;\\n        if (isFunc) {\\n          object.prototype[methodName] = function() {\\n            var chainAll = this.__chain__;\\n            if (chain || chainAll) {\\n              var result = object(this.__wrapped__),\\n                  actions = result.__actions__ = copyArray(this.__actions__);\\n\\n              actions.push({ 'func': func, 'args': arguments, 'thisArg': object });\\n              result.__chain__ = chainAll;\\n              return result;\\n            }\\n            return func.apply(object, arrayPush([this.value()], arguments));\\n          };\\n        }\\n      });\\n\\n      return object;\\n    }\\n\\n    /**\\n     * Reverts the `_` variable to its previous value and returns a reference to\\n     * the `lodash` function.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @returns {Function} Returns the `lodash` function.\\n     * @example\\n     *\\n     * var lodash = _.noConflict();\\n     */\\n    function noConflict() {\\n      if (root._ === this) {\\n        root._ = oldDash;\\n      }\\n      return this;\\n    }\\n\\n    /**\\n     * This method returns `undefined`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.3.0\\n     * @category Util\\n     * @example\\n     *\\n     * _.times(2, _.noop);\\n     * // => [undefined, undefined]\\n     */\\n    function noop() {\\n      // No operation performed.\\n    }\\n\\n    /**\\n     * Creates a function that gets the argument at index `n`. If `n` is negative,\\n     * the nth argument from the end is returned.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {number} [n=0] The index of the argument to return.\\n     * @returns {Function} Returns the new pass-thru function.\\n     * @example\\n     *\\n     * var func = _.nthArg(1);\\n     * func('a', 'b', 'c', 'd');\\n     * // => 'b'\\n     *\\n     * var func = _.nthArg(-2);\\n     * func('a', 'b', 'c', 'd');\\n     * // => 'c'\\n     */\\n    function nthArg(n) {\\n      n = toInteger(n);\\n      return baseRest(function(args) {\\n        return baseNth(args, n);\\n      });\\n    }\\n\\n    /**\\n     * Creates a function that invokes `iteratees` with the arguments it receives\\n     * and returns their results.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {...(Function|Function[])} [iteratees=[_.identity]]\\n     *  The iteratees to invoke.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var func = _.over([Math.max, Math.min]);\\n     *\\n     * func(1, 2, 3, 4);\\n     * // => [4, 1]\\n     */\\n    var over = createOver(arrayMap);\\n\\n    /**\\n     * Creates a function that checks if **all** of the `predicates` return\\n     * truthy when invoked with the arguments it receives.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {...(Function|Function[])} [predicates=[_.identity]]\\n     *  The predicates to check.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var func = _.overEvery([Boolean, isFinite]);\\n     *\\n     * func('1');\\n     * // => true\\n     *\\n     * func(null);\\n     * // => false\\n     *\\n     * func(NaN);\\n     * // => false\\n     */\\n    var overEvery = createOver(arrayEvery);\\n\\n    /**\\n     * Creates a function that checks if **any** of the `predicates` return\\n     * truthy when invoked with the arguments it receives.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {...(Function|Function[])} [predicates=[_.identity]]\\n     *  The predicates to check.\\n     * @returns {Function} Returns the new function.\\n     * @example\\n     *\\n     * var func = _.overSome([Boolean, isFinite]);\\n     *\\n     * func('1');\\n     * // => true\\n     *\\n     * func(null);\\n     * // => true\\n     *\\n     * func(NaN);\\n     * // => false\\n     */\\n    var overSome = createOver(arraySome);\\n\\n    /**\\n     * Creates a function that returns the value at `path` of a given object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 2.4.0\\n     * @category Util\\n     * @param {Array|string} path The path of the property to get.\\n     * @returns {Function} Returns the new accessor function.\\n     * @example\\n     *\\n     * var objects = [\\n     *   { 'a': { 'b': 2 } },\\n     *   { 'a': { 'b': 1 } }\\n     * ];\\n     *\\n     * _.map(objects, _.property('a.b'));\\n     * // => [2, 1]\\n     *\\n     * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\\n     * // => [1, 2]\\n     */\\n    function property(path) {\\n      return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\\n    }\\n\\n    /**\\n     * The opposite of `_.property`; this method creates a function that returns\\n     * the value at a given path of `object`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.0.0\\n     * @category Util\\n     * @param {Object} object The object to query.\\n     * @returns {Function} Returns the new accessor function.\\n     * @example\\n     *\\n     * var array = [0, 1, 2],\\n     *     object = { 'a': array, 'b': array, 'c': array };\\n     *\\n     * _.map(['a[2]', 'c[0]'], _.propertyOf(object));\\n     * // => [2, 0]\\n     *\\n     * _.map([['a', '2'], ['c', '0']], _.propertyOf(object));\\n     * // => [2, 0]\\n     */\\n    function propertyOf(object) {\\n      return function(path) {\\n        return object == null ? undefined : baseGet(object, path);\\n      };\\n    }\\n\\n    /**\\n     * Creates an array of numbers (positive and/or negative) progressing from\\n     * `start` up to, but not including, `end`. A step of `-1` is used if a negative\\n     * `start` is specified without an `end` or `step`. If `end` is not specified,\\n     * it's set to `start` with `start` then set to `0`.\\n     *\\n     * **Note:** JavaScript follows the IEEE-754 standard for resolving\\n     * floating-point values which can produce unexpected results.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {number} [start=0] The start of the range.\\n     * @param {number} end The end of the range.\\n     * @param {number} [step=1] The value to increment or decrement by.\\n     * @returns {Array} Returns the range of numbers.\\n     * @see _.inRange, _.rangeRight\\n     * @example\\n     *\\n     * _.range(4);\\n     * // => [0, 1, 2, 3]\\n     *\\n     * _.range(-4);\\n     * // => [0, -1, -2, -3]\\n     *\\n     * _.range(1, 5);\\n     * // => [1, 2, 3, 4]\\n     *\\n     * _.range(0, 20, 5);\\n     * // => [0, 5, 10, 15]\\n     *\\n     * _.range(0, -4, -1);\\n     * // => [0, -1, -2, -3]\\n     *\\n     * _.range(1, 4, 0);\\n     * // => [1, 1, 1]\\n     *\\n     * _.range(0);\\n     * // => []\\n     */\\n    var range = createRange();\\n\\n    /**\\n     * This method is like `_.range` except that it populates values in\\n     * descending order.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {number} [start=0] The start of the range.\\n     * @param {number} end The end of the range.\\n     * @param {number} [step=1] The value to increment or decrement by.\\n     * @returns {Array} Returns the range of numbers.\\n     * @see _.inRange, _.range\\n     * @example\\n     *\\n     * _.rangeRight(4);\\n     * // => [3, 2, 1, 0]\\n     *\\n     * _.rangeRight(-4);\\n     * // => [-3, -2, -1, 0]\\n     *\\n     * _.rangeRight(1, 5);\\n     * // => [4, 3, 2, 1]\\n     *\\n     * _.rangeRight(0, 20, 5);\\n     * // => [15, 10, 5, 0]\\n     *\\n     * _.rangeRight(0, -4, -1);\\n     * // => [-3, -2, -1, 0]\\n     *\\n     * _.rangeRight(1, 4, 0);\\n     * // => [1, 1, 1]\\n     *\\n     * _.rangeRight(0);\\n     * // => []\\n     */\\n    var rangeRight = createRange(true);\\n\\n    /**\\n     * This method returns a new empty array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.13.0\\n     * @category Util\\n     * @returns {Array} Returns the new empty array.\\n     * @example\\n     *\\n     * var arrays = _.times(2, _.stubArray);\\n     *\\n     * console.log(arrays);\\n     * // => [[], []]\\n     *\\n     * console.log(arrays[0] === arrays[1]);\\n     * // => false\\n     */\\n    function stubArray() {\\n      return [];\\n    }\\n\\n    /**\\n     * This method returns `false`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.13.0\\n     * @category Util\\n     * @returns {boolean} Returns `false`.\\n     * @example\\n     *\\n     * _.times(2, _.stubFalse);\\n     * // => [false, false]\\n     */\\n    function stubFalse() {\\n      return false;\\n    }\\n\\n    /**\\n     * This method returns a new empty object.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.13.0\\n     * @category Util\\n     * @returns {Object} Returns the new empty object.\\n     * @example\\n     *\\n     * var objects = _.times(2, _.stubObject);\\n     *\\n     * console.log(objects);\\n     * // => [{}, {}]\\n     *\\n     * console.log(objects[0] === objects[1]);\\n     * // => false\\n     */\\n    function stubObject() {\\n      return {};\\n    }\\n\\n    /**\\n     * This method returns an empty string.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.13.0\\n     * @category Util\\n     * @returns {string} Returns the empty string.\\n     * @example\\n     *\\n     * _.times(2, _.stubString);\\n     * // => ['', '']\\n     */\\n    function stubString() {\\n      return '';\\n    }\\n\\n    /**\\n     * This method returns `true`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.13.0\\n     * @category Util\\n     * @returns {boolean} Returns `true`.\\n     * @example\\n     *\\n     * _.times(2, _.stubTrue);\\n     * // => [true, true]\\n     */\\n    function stubTrue() {\\n      return true;\\n    }\\n\\n    /**\\n     * Invokes the iteratee `n` times, returning an array of the results of\\n     * each invocation. The iteratee is invoked with one argument; (index).\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {number} n The number of times to invoke `iteratee`.\\n     * @param {Function} [iteratee=_.identity] The function invoked per iteration.\\n     * @returns {Array} Returns the array of results.\\n     * @example\\n     *\\n     * _.times(3, String);\\n     * // => ['0', '1', '2']\\n     *\\n     *  _.times(4, _.constant(0));\\n     * // => [0, 0, 0, 0]\\n     */\\n    function times(n, iteratee) {\\n      n = toInteger(n);\\n      if (n < 1 || n > MAX_SAFE_INTEGER) {\\n        return [];\\n      }\\n      var index = MAX_ARRAY_LENGTH,\\n          length = nativeMin(n, MAX_ARRAY_LENGTH);\\n\\n      iteratee = getIteratee(iteratee);\\n      n -= MAX_ARRAY_LENGTH;\\n\\n      var result = baseTimes(length, iteratee);\\n      while (++index < n) {\\n        iteratee(index);\\n      }\\n      return result;\\n    }\\n\\n    /**\\n     * Converts `value` to a property path array.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Util\\n     * @param {*} value The value to convert.\\n     * @returns {Array} Returns the new property path array.\\n     * @example\\n     *\\n     * _.toPath('a.b.c');\\n     * // => ['a', 'b', 'c']\\n     *\\n     * _.toPath('a[0].b.c');\\n     * // => ['a', '0', 'b', 'c']\\n     */\\n    function toPath(value) {\\n      if (isArray(value)) {\\n        return arrayMap(value, toKey);\\n      }\\n      return isSymbol(value) ? [value] : copyArray(stringToPath(toString(value)));\\n    }\\n\\n    /**\\n     * Generates a unique ID. If `prefix` is given, the ID is appended to it.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Util\\n     * @param {string} [prefix=''] The value to prefix the ID with.\\n     * @returns {string} Returns the unique ID.\\n     * @example\\n     *\\n     * _.uniqueId('contact_');\\n     * // => 'contact_104'\\n     *\\n     * _.uniqueId();\\n     * // => '105'\\n     */\\n    function uniqueId(prefix) {\\n      var id = ++idCounter;\\n      return toString(prefix) + id;\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * Adds two numbers.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.4.0\\n     * @category Math\\n     * @param {number} augend The first number in an addition.\\n     * @param {number} addend The second number in an addition.\\n     * @returns {number} Returns the total.\\n     * @example\\n     *\\n     * _.add(6, 4);\\n     * // => 10\\n     */\\n    var add = createMathOperation(function(augend, addend) {\\n      return augend + addend;\\n    }, 0);\\n\\n    /**\\n     * Computes `number` rounded up to `precision`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.10.0\\n     * @category Math\\n     * @param {number} number The number to round up.\\n     * @param {number} [precision=0] The precision to round up to.\\n     * @returns {number} Returns the rounded up number.\\n     * @example\\n     *\\n     * _.ceil(4.006);\\n     * // => 5\\n     *\\n     * _.ceil(6.004, 2);\\n     * // => 6.01\\n     *\\n     * _.ceil(6040, -2);\\n     * // => 6100\\n     */\\n    var ceil = createRound('ceil');\\n\\n    /**\\n     * Divide two numbers.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.7.0\\n     * @category Math\\n     * @param {number} dividend The first number in a division.\\n     * @param {number} divisor The second number in a division.\\n     * @returns {number} Returns the quotient.\\n     * @example\\n     *\\n     * _.divide(6, 4);\\n     * // => 1.5\\n     */\\n    var divide = createMathOperation(function(dividend, divisor) {\\n      return dividend / divisor;\\n    }, 1);\\n\\n    /**\\n     * Computes `number` rounded down to `precision`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.10.0\\n     * @category Math\\n     * @param {number} number The number to round down.\\n     * @param {number} [precision=0] The precision to round down to.\\n     * @returns {number} Returns the rounded down number.\\n     * @example\\n     *\\n     * _.floor(4.006);\\n     * // => 4\\n     *\\n     * _.floor(0.046, 2);\\n     * // => 0.04\\n     *\\n     * _.floor(4060, -2);\\n     * // => 4000\\n     */\\n    var floor = createRound('floor');\\n\\n    /**\\n     * Computes the maximum value of `array`. If `array` is empty or falsey,\\n     * `undefined` is returned.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @returns {*} Returns the maximum value.\\n     * @example\\n     *\\n     * _.max([4, 2, 8, 6]);\\n     * // => 8\\n     *\\n     * _.max([]);\\n     * // => undefined\\n     */\\n    function max(array) {\\n      return (array && array.length)\\n        ? baseExtremum(array, identity, baseGt)\\n        : undefined;\\n    }\\n\\n    /**\\n     * This method is like `_.max` except that it accepts `iteratee` which is\\n     * invoked for each element in `array` to generate the criterion by which\\n     * the value is ranked. The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {*} Returns the maximum value.\\n     * @example\\n     *\\n     * var objects = [{ 'n': 1 }, { 'n': 2 }];\\n     *\\n     * _.maxBy(objects, function(o) { return o.n; });\\n     * // => { 'n': 2 }\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.maxBy(objects, 'n');\\n     * // => { 'n': 2 }\\n     */\\n    function maxBy(array, iteratee) {\\n      return (array && array.length)\\n        ? baseExtremum(array, getIteratee(iteratee, 2), baseGt)\\n        : undefined;\\n    }\\n\\n    /**\\n     * Computes the mean of the values in `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @returns {number} Returns the mean.\\n     * @example\\n     *\\n     * _.mean([4, 2, 8, 6]);\\n     * // => 5\\n     */\\n    function mean(array) {\\n      return baseMean(array, identity);\\n    }\\n\\n    /**\\n     * This method is like `_.mean` except that it accepts `iteratee` which is\\n     * invoked for each element in `array` to generate the value to be averaged.\\n     * The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.7.0\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {number} Returns the mean.\\n     * @example\\n     *\\n     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\\n     *\\n     * _.meanBy(objects, function(o) { return o.n; });\\n     * // => 5\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.meanBy(objects, 'n');\\n     * // => 5\\n     */\\n    function meanBy(array, iteratee) {\\n      return baseMean(array, getIteratee(iteratee, 2));\\n    }\\n\\n    /**\\n     * Computes the minimum value of `array`. If `array` is empty or falsey,\\n     * `undefined` is returned.\\n     *\\n     * @static\\n     * @since 0.1.0\\n     * @memberOf _\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @returns {*} Returns the minimum value.\\n     * @example\\n     *\\n     * _.min([4, 2, 8, 6]);\\n     * // => 2\\n     *\\n     * _.min([]);\\n     * // => undefined\\n     */\\n    function min(array) {\\n      return (array && array.length)\\n        ? baseExtremum(array, identity, baseLt)\\n        : undefined;\\n    }\\n\\n    /**\\n     * This method is like `_.min` except that it accepts `iteratee` which is\\n     * invoked for each element in `array` to generate the criterion by which\\n     * the value is ranked. The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {*} Returns the minimum value.\\n     * @example\\n     *\\n     * var objects = [{ 'n': 1 }, { 'n': 2 }];\\n     *\\n     * _.minBy(objects, function(o) { return o.n; });\\n     * // => { 'n': 1 }\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.minBy(objects, 'n');\\n     * // => { 'n': 1 }\\n     */\\n    function minBy(array, iteratee) {\\n      return (array && array.length)\\n        ? baseExtremum(array, getIteratee(iteratee, 2), baseLt)\\n        : undefined;\\n    }\\n\\n    /**\\n     * Multiply two numbers.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.7.0\\n     * @category Math\\n     * @param {number} multiplier The first number in a multiplication.\\n     * @param {number} multiplicand The second number in a multiplication.\\n     * @returns {number} Returns the product.\\n     * @example\\n     *\\n     * _.multiply(6, 4);\\n     * // => 24\\n     */\\n    var multiply = createMathOperation(function(multiplier, multiplicand) {\\n      return multiplier * multiplicand;\\n    }, 1);\\n\\n    /**\\n     * Computes `number` rounded to `precision`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.10.0\\n     * @category Math\\n     * @param {number} number The number to round.\\n     * @param {number} [precision=0] The precision to round to.\\n     * @returns {number} Returns the rounded number.\\n     * @example\\n     *\\n     * _.round(4.006);\\n     * // => 4\\n     *\\n     * _.round(4.006, 2);\\n     * // => 4.01\\n     *\\n     * _.round(4060, -2);\\n     * // => 4100\\n     */\\n    var round = createRound('round');\\n\\n    /**\\n     * Subtract two numbers.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Math\\n     * @param {number} minuend The first number in a subtraction.\\n     * @param {number} subtrahend The second number in a subtraction.\\n     * @returns {number} Returns the difference.\\n     * @example\\n     *\\n     * _.subtract(6, 4);\\n     * // => 2\\n     */\\n    var subtract = createMathOperation(function(minuend, subtrahend) {\\n      return minuend - subtrahend;\\n    }, 0);\\n\\n    /**\\n     * Computes the sum of the values in `array`.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 3.4.0\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @returns {number} Returns the sum.\\n     * @example\\n     *\\n     * _.sum([4, 2, 8, 6]);\\n     * // => 20\\n     */\\n    function sum(array) {\\n      return (array && array.length)\\n        ? baseSum(array, identity)\\n        : 0;\\n    }\\n\\n    /**\\n     * This method is like `_.sum` except that it accepts `iteratee` which is\\n     * invoked for each element in `array` to generate the value to be summed.\\n     * The iteratee is invoked with one argument: (value).\\n     *\\n     * @static\\n     * @memberOf _\\n     * @since 4.0.0\\n     * @category Math\\n     * @param {Array} array The array to iterate over.\\n     * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\\n     * @returns {number} Returns the sum.\\n     * @example\\n     *\\n     * var objects = [{ 'n': 4 }, { 'n': 2 }, { 'n': 8 }, { 'n': 6 }];\\n     *\\n     * _.sumBy(objects, function(o) { return o.n; });\\n     * // => 20\\n     *\\n     * // The `_.property` iteratee shorthand.\\n     * _.sumBy(objects, 'n');\\n     * // => 20\\n     */\\n    function sumBy(array, iteratee) {\\n      return (array && array.length)\\n        ? baseSum(array, getIteratee(iteratee, 2))\\n        : 0;\\n    }\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    // Add methods that return wrapped values in chain sequences.\\n    lodash.after = after;\\n    lodash.ary = ary;\\n    lodash.assign = assign;\\n    lodash.assignIn = assignIn;\\n    lodash.assignInWith = assignInWith;\\n    lodash.assignWith = assignWith;\\n    lodash.at = at;\\n    lodash.before = before;\\n    lodash.bind = bind;\\n    lodash.bindAll = bindAll;\\n    lodash.bindKey = bindKey;\\n    lodash.castArray = castArray;\\n    lodash.chain = chain;\\n    lodash.chunk = chunk;\\n    lodash.compact = compact;\\n    lodash.concat = concat;\\n    lodash.cond = cond;\\n    lodash.conforms = conforms;\\n    lodash.constant = constant;\\n    lodash.countBy = countBy;\\n    lodash.create = create;\\n    lodash.curry = curry;\\n    lodash.curryRight = curryRight;\\n    lodash.debounce = debounce;\\n    lodash.defaults = defaults;\\n    lodash.defaultsDeep = defaultsDeep;\\n    lodash.defer = defer;\\n    lodash.delay = delay;\\n    lodash.difference = difference;\\n    lodash.differenceBy = differenceBy;\\n    lodash.differenceWith = differenceWith;\\n    lodash.drop = drop;\\n    lodash.dropRight = dropRight;\\n    lodash.dropRightWhile = dropRightWhile;\\n    lodash.dropWhile = dropWhile;\\n    lodash.fill = fill;\\n    lodash.filter = filter;\\n    lodash.flatMap = flatMap;\\n    lodash.flatMapDeep = flatMapDeep;\\n    lodash.flatMapDepth = flatMapDepth;\\n    lodash.flatten = flatten;\\n    lodash.flattenDeep = flattenDeep;\\n    lodash.flattenDepth = flattenDepth;\\n    lodash.flip = flip;\\n    lodash.flow = flow;\\n    lodash.flowRight = flowRight;\\n    lodash.fromPairs = fromPairs;\\n    lodash.functions = functions;\\n    lodash.functionsIn = functionsIn;\\n    lodash.groupBy = groupBy;\\n    lodash.initial = initial;\\n    lodash.intersection = intersection;\\n    lodash.intersectionBy = intersectionBy;\\n    lodash.intersectionWith = intersectionWith;\\n    lodash.invert = invert;\\n    lodash.invertBy = invertBy;\\n    lodash.invokeMap = invokeMap;\\n    lodash.iteratee = iteratee;\\n    lodash.keyBy = keyBy;\\n    lodash.keys = keys;\\n    lodash.keysIn = keysIn;\\n    lodash.map = map;\\n    lodash.mapKeys = mapKeys;\\n    lodash.mapValues = mapValues;\\n    lodash.matches = matches;\\n    lodash.matchesProperty = matchesProperty;\\n    lodash.memoize = memoize;\\n    lodash.merge = merge;\\n    lodash.mergeWith = mergeWith;\\n    lodash.method = method;\\n    lodash.methodOf = methodOf;\\n    lodash.mixin = mixin;\\n    lodash.negate = negate;\\n    lodash.nthArg = nthArg;\\n    lodash.omit = omit;\\n    lodash.omitBy = omitBy;\\n    lodash.once = once;\\n    lodash.orderBy = orderBy;\\n    lodash.over = over;\\n    lodash.overArgs = overArgs;\\n    lodash.overEvery = overEvery;\\n    lodash.overSome = overSome;\\n    lodash.partial = partial;\\n    lodash.partialRight = partialRight;\\n    lodash.partition = partition;\\n    lodash.pick = pick;\\n    lodash.pickBy = pickBy;\\n    lodash.property = property;\\n    lodash.propertyOf = propertyOf;\\n    lodash.pull = pull;\\n    lodash.pullAll = pullAll;\\n    lodash.pullAllBy = pullAllBy;\\n    lodash.pullAllWith = pullAllWith;\\n    lodash.pullAt = pullAt;\\n    lodash.range = range;\\n    lodash.rangeRight = rangeRight;\\n    lodash.rearg = rearg;\\n    lodash.reject = reject;\\n    lodash.remove = remove;\\n    lodash.rest = rest;\\n    lodash.reverse = reverse;\\n    lodash.sampleSize = sampleSize;\\n    lodash.set = set;\\n    lodash.setWith = setWith;\\n    lodash.shuffle = shuffle;\\n    lodash.slice = slice;\\n    lodash.sortBy = sortBy;\\n    lodash.sortedUniq = sortedUniq;\\n    lodash.sortedUniqBy = sortedUniqBy;\\n    lodash.split = split;\\n    lodash.spread = spread;\\n    lodash.tail = tail;\\n    lodash.take = take;\\n    lodash.takeRight = takeRight;\\n    lodash.takeRightWhile = takeRightWhile;\\n    lodash.takeWhile = takeWhile;\\n    lodash.tap = tap;\\n    lodash.throttle = throttle;\\n    lodash.thru = thru;\\n    lodash.toArray = toArray;\\n    lodash.toPairs = toPairs;\\n    lodash.toPairsIn = toPairsIn;\\n    lodash.toPath = toPath;\\n    lodash.toPlainObject = toPlainObject;\\n    lodash.transform = transform;\\n    lodash.unary = unary;\\n    lodash.union = union;\\n    lodash.unionBy = unionBy;\\n    lodash.unionWith = unionWith;\\n    lodash.uniq = uniq;\\n    lodash.uniqBy = uniqBy;\\n    lodash.uniqWith = uniqWith;\\n    lodash.unset = unset;\\n    lodash.unzip = unzip;\\n    lodash.unzipWith = unzipWith;\\n    lodash.update = update;\\n    lodash.updateWith = updateWith;\\n    lodash.values = values;\\n    lodash.valuesIn = valuesIn;\\n    lodash.without = without;\\n    lodash.words = words;\\n    lodash.wrap = wrap;\\n    lodash.xor = xor;\\n    lodash.xorBy = xorBy;\\n    lodash.xorWith = xorWith;\\n    lodash.zip = zip;\\n    lodash.zipObject = zipObject;\\n    lodash.zipObjectDeep = zipObjectDeep;\\n    lodash.zipWith = zipWith;\\n\\n    // Add aliases.\\n    lodash.entries = toPairs;\\n    lodash.entriesIn = toPairsIn;\\n    lodash.extend = assignIn;\\n    lodash.extendWith = assignInWith;\\n\\n    // Add methods to `lodash.prototype`.\\n    mixin(lodash, lodash);\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    // Add methods that return unwrapped values in chain sequences.\\n    lodash.add = add;\\n    lodash.attempt = attempt;\\n    lodash.camelCase = camelCase;\\n    lodash.capitalize = capitalize;\\n    lodash.ceil = ceil;\\n    lodash.clamp = clamp;\\n    lodash.clone = clone;\\n    lodash.cloneDeep = cloneDeep;\\n    lodash.cloneDeepWith = cloneDeepWith;\\n    lodash.cloneWith = cloneWith;\\n    lodash.conformsTo = conformsTo;\\n    lodash.deburr = deburr;\\n    lodash.defaultTo = defaultTo;\\n    lodash.divide = divide;\\n    lodash.endsWith = endsWith;\\n    lodash.eq = eq;\\n    lodash.escape = escape;\\n    lodash.escapeRegExp = escapeRegExp;\\n    lodash.every = every;\\n    lodash.find = find;\\n    lodash.findIndex = findIndex;\\n    lodash.findKey = findKey;\\n    lodash.findLast = findLast;\\n    lodash.findLastIndex = findLastIndex;\\n    lodash.findLastKey = findLastKey;\\n    lodash.floor = floor;\\n    lodash.forEach = forEach;\\n    lodash.forEachRight = forEachRight;\\n    lodash.forIn = forIn;\\n    lodash.forInRight = forInRight;\\n    lodash.forOwn = forOwn;\\n    lodash.forOwnRight = forOwnRight;\\n    lodash.get = get;\\n    lodash.gt = gt;\\n    lodash.gte = gte;\\n    lodash.has = has;\\n    lodash.hasIn = hasIn;\\n    lodash.head = head;\\n    lodash.identity = identity;\\n    lodash.includes = includes;\\n    lodash.indexOf = indexOf;\\n    lodash.inRange = inRange;\\n    lodash.invoke = invoke;\\n    lodash.isArguments = isArguments;\\n    lodash.isArray = isArray;\\n    lodash.isArrayBuffer = isArrayBuffer;\\n    lodash.isArrayLike = isArrayLike;\\n    lodash.isArrayLikeObject = isArrayLikeObject;\\n    lodash.isBoolean = isBoolean;\\n    lodash.isBuffer = isBuffer;\\n    lodash.isDate = isDate;\\n    lodash.isElement = isElement;\\n    lodash.isEmpty = isEmpty;\\n    lodash.isEqual = isEqual;\\n    lodash.isEqualWith = isEqualWith;\\n    lodash.isError = isError;\\n    lodash.isFinite = isFinite;\\n    lodash.isFunction = isFunction;\\n    lodash.isInteger = isInteger;\\n    lodash.isLength = isLength;\\n    lodash.isMap = isMap;\\n    lodash.isMatch = isMatch;\\n    lodash.isMatchWith = isMatchWith;\\n    lodash.isNaN = isNaN;\\n    lodash.isNative = isNative;\\n    lodash.isNil = isNil;\\n    lodash.isNull = isNull;\\n    lodash.isNumber = isNumber;\\n    lodash.isObject = isObject;\\n    lodash.isObjectLike = isObjectLike;\\n    lodash.isPlainObject = isPlainObject;\\n    lodash.isRegExp = isRegExp;\\n    lodash.isSafeInteger = isSafeInteger;\\n    lodash.isSet = isSet;\\n    lodash.isString = isString;\\n    lodash.isSymbol = isSymbol;\\n    lodash.isTypedArray = isTypedArray;\\n    lodash.isUndefined = isUndefined;\\n    lodash.isWeakMap = isWeakMap;\\n    lodash.isWeakSet = isWeakSet;\\n    lodash.join = join;\\n    lodash.kebabCase = kebabCase;\\n    lodash.last = last;\\n    lodash.lastIndexOf = lastIndexOf;\\n    lodash.lowerCase = lowerCase;\\n    lodash.lowerFirst = lowerFirst;\\n    lodash.lt = lt;\\n    lodash.lte = lte;\\n    lodash.max = max;\\n    lodash.maxBy = maxBy;\\n    lodash.mean = mean;\\n    lodash.meanBy = meanBy;\\n    lodash.min = min;\\n    lodash.minBy = minBy;\\n    lodash.stubArray = stubArray;\\n    lodash.stubFalse = stubFalse;\\n    lodash.stubObject = stubObject;\\n    lodash.stubString = stubString;\\n    lodash.stubTrue = stubTrue;\\n    lodash.multiply = multiply;\\n    lodash.nth = nth;\\n    lodash.noConflict = noConflict;\\n    lodash.noop = noop;\\n    lodash.now = now;\\n    lodash.pad = pad;\\n    lodash.padEnd = padEnd;\\n    lodash.padStart = padStart;\\n    lodash.parseInt = parseInt;\\n    lodash.random = random;\\n    lodash.reduce = reduce;\\n    lodash.reduceRight = reduceRight;\\n    lodash.repeat = repeat;\\n    lodash.replace = replace;\\n    lodash.result = result;\\n    lodash.round = round;\\n    lodash.runInContext = runInContext;\\n    lodash.sample = sample;\\n    lodash.size = size;\\n    lodash.snakeCase = snakeCase;\\n    lodash.some = some;\\n    lodash.sortedIndex = sortedIndex;\\n    lodash.sortedIndexBy = sortedIndexBy;\\n    lodash.sortedIndexOf = sortedIndexOf;\\n    lodash.sortedLastIndex = sortedLastIndex;\\n    lodash.sortedLastIndexBy = sortedLastIndexBy;\\n    lodash.sortedLastIndexOf = sortedLastIndexOf;\\n    lodash.startCase = startCase;\\n    lodash.startsWith = startsWith;\\n    lodash.subtract = subtract;\\n    lodash.sum = sum;\\n    lodash.sumBy = sumBy;\\n    lodash.template = template;\\n    lodash.times = times;\\n    lodash.toFinite = toFinite;\\n    lodash.toInteger = toInteger;\\n    lodash.toLength = toLength;\\n    lodash.toLower = toLower;\\n    lodash.toNumber = toNumber;\\n    lodash.toSafeInteger = toSafeInteger;\\n    lodash.toString = toString;\\n    lodash.toUpper = toUpper;\\n    lodash.trim = trim;\\n    lodash.trimEnd = trimEnd;\\n    lodash.trimStart = trimStart;\\n    lodash.truncate = truncate;\\n    lodash.unescape = unescape;\\n    lodash.uniqueId = uniqueId;\\n    lodash.upperCase = upperCase;\\n    lodash.upperFirst = upperFirst;\\n\\n    // Add aliases.\\n    lodash.each = forEach;\\n    lodash.eachRight = forEachRight;\\n    lodash.first = head;\\n\\n    mixin(lodash, (function() {\\n      var source = {};\\n      baseForOwn(lodash, function(func, methodName) {\\n        if (!hasOwnProperty.call(lodash.prototype, methodName)) {\\n          source[methodName] = func;\\n        }\\n      });\\n      return source;\\n    }()), { 'chain': false });\\n\\n    /*------------------------------------------------------------------------*/\\n\\n    /**\\n     * The semantic version number.\\n     *\\n     * @static\\n     * @memberOf _\\n     * @type {string}\\n     */\\n    lodash.VERSION = VERSION;\\n\\n    // Assign default placeholders.\\n    arrayEach(['bind', 'bindKey', 'curry', 'curryRight', 'partial', 'partialRight'], function(methodName) {\\n      lodash[methodName].placeholder = lodash;\\n    });\\n\\n    // Add `LazyWrapper` methods for `_.drop` and `_.take` variants.\\n    arrayEach(['drop', 'take'], function(methodName, index) {\\n      LazyWrapper.prototype[methodName] = function(n) {\\n        n = n === undefined ? 1 : nativeMax(toInteger(n), 0);\\n\\n        var result = (this.__filtered__ && !index)\\n          ? new LazyWrapper(this)\\n          : this.clone();\\n\\n        if (result.__filtered__) {\\n          result.__takeCount__ = nativeMin(n, result.__takeCount__);\\n        } else {\\n          result.__views__.push({\\n            'size': nativeMin(n, MAX_ARRAY_LENGTH),\\n            'type': methodName + (result.__dir__ < 0 ? 'Right' : '')\\n          });\\n        }\\n        return result;\\n      };\\n\\n      LazyWrapper.prototype[methodName + 'Right'] = function(n) {\\n        return this.reverse()[methodName](n).reverse();\\n      };\\n    });\\n\\n    // Add `LazyWrapper` methods that accept an `iteratee` value.\\n    arrayEach(['filter', 'map', 'takeWhile'], function(methodName, index) {\\n      var type = index + 1,\\n          isFilter = type == LAZY_FILTER_FLAG || type == LAZY_WHILE_FLAG;\\n\\n      LazyWrapper.prototype[methodName] = function(iteratee) {\\n        var result = this.clone();\\n        result.__iteratees__.push({\\n          'iteratee': getIteratee(iteratee, 3),\\n          'type': type\\n        });\\n        result.__filtered__ = result.__filtered__ || isFilter;\\n        return result;\\n      };\\n    });\\n\\n    // Add `LazyWrapper` methods for `_.head` and `_.last`.\\n    arrayEach(['head', 'last'], function(methodName, index) {\\n      var takeName = 'take' + (index ? 'Right' : '');\\n\\n      LazyWrapper.prototype[methodName] = function() {\\n        return this[takeName](1).value()[0];\\n      };\\n    });\\n\\n    // Add `LazyWrapper` methods for `_.initial` and `_.tail`.\\n    arrayEach(['initial', 'tail'], function(methodName, index) {\\n      var dropName = 'drop' + (index ? '' : 'Right');\\n\\n      LazyWrapper.prototype[methodName] = function() {\\n        return this.__filtered__ ? new LazyWrapper(this) : this[dropName](1);\\n      };\\n    });\\n\\n    LazyWrapper.prototype.compact = function() {\\n      return this.filter(identity);\\n    };\\n\\n    LazyWrapper.prototype.find = function(predicate) {\\n      return this.filter(predicate).head();\\n    };\\n\\n    LazyWrapper.prototype.findLast = function(predicate) {\\n      return this.reverse().find(predicate);\\n    };\\n\\n    LazyWrapper.prototype.invokeMap = baseRest(function(path, args) {\\n      if (typeof path == 'function') {\\n        return new LazyWrapper(this);\\n      }\\n      return this.map(function(value) {\\n        return baseInvoke(value, path, args);\\n      });\\n    });\\n\\n    LazyWrapper.prototype.reject = function(predicate) {\\n      return this.filter(negate(getIteratee(predicate)));\\n    };\\n\\n    LazyWrapper.prototype.slice = function(start, end) {\\n      start = toInteger(start);\\n\\n      var result = this;\\n      if (result.__filtered__ && (start > 0 || end < 0)) {\\n        return new LazyWrapper(result);\\n      }\\n      if (start < 0) {\\n        result = result.takeRight(-start);\\n      } else if (start) {\\n        result = result.drop(start);\\n      }\\n      if (end !== undefined) {\\n        end = toInteger(end);\\n        result = end < 0 ? result.dropRight(-end) : result.take(end - start);\\n      }\\n      return result;\\n    };\\n\\n    LazyWrapper.prototype.takeRightWhile = function(predicate) {\\n      return this.reverse().takeWhile(predicate).reverse();\\n    };\\n\\n    LazyWrapper.prototype.toArray = function() {\\n      return this.take(MAX_ARRAY_LENGTH);\\n    };\\n\\n    // Add `LazyWrapper` methods to `lodash.prototype`.\\n    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\\n      var checkIteratee = /^(?:filter|find|map|reject)|While$/.test(methodName),\\n          isTaker = /^(?:head|last)$/.test(methodName),\\n          lodashFunc = lodash[isTaker ? ('take' + (methodName == 'last' ? 'Right' : '')) : methodName],\\n          retUnwrapped = isTaker || /^find/.test(methodName);\\n\\n      if (!lodashFunc) {\\n        return;\\n      }\\n      lodash.prototype[methodName] = function() {\\n        var value = this.__wrapped__,\\n            args = isTaker ? [1] : arguments,\\n            isLazy = value instanceof LazyWrapper,\\n            iteratee = args[0],\\n            useLazy = isLazy || isArray(value);\\n\\n        var interceptor = function(value) {\\n          var result = lodashFunc.apply(lodash, arrayPush([value], args));\\n          return (isTaker && chainAll) ? result[0] : result;\\n        };\\n\\n        if (useLazy && checkIteratee && typeof iteratee == 'function' && iteratee.length != 1) {\\n          // Avoid lazy use if the iteratee has a \\\"length\\\" value other than `1`.\\n          isLazy = useLazy = false;\\n        }\\n        var chainAll = this.__chain__,\\n            isHybrid = !!this.__actions__.length,\\n            isUnwrapped = retUnwrapped && !chainAll,\\n            onlyLazy = isLazy && !isHybrid;\\n\\n        if (!retUnwrapped && useLazy) {\\n          value = onlyLazy ? value : new LazyWrapper(this);\\n          var result = func.apply(value, args);\\n          result.__actions__.push({ 'func': thru, 'args': [interceptor], 'thisArg': undefined });\\n          return new LodashWrapper(result, chainAll);\\n        }\\n        if (isUnwrapped && onlyLazy) {\\n          return func.apply(this, args);\\n        }\\n        result = this.thru(interceptor);\\n        return isUnwrapped ? (isTaker ? result.value()[0] : result.value()) : result;\\n      };\\n    });\\n\\n    // Add `Array` methods to `lodash.prototype`.\\n    arrayEach(['pop', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {\\n      var func = arrayProto[methodName],\\n          chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru',\\n          retUnwrapped = /^(?:pop|shift)$/.test(methodName);\\n\\n      lodash.prototype[methodName] = function() {\\n        var args = arguments;\\n        if (retUnwrapped && !this.__chain__) {\\n          var value = this.value();\\n          return func.apply(isArray(value) ? value : [], args);\\n        }\\n        return this[chainName](function(value) {\\n          return func.apply(isArray(value) ? value : [], args);\\n        });\\n      };\\n    });\\n\\n    // Map minified method names to their real names.\\n    baseForOwn(LazyWrapper.prototype, function(func, methodName) {\\n      var lodashFunc = lodash[methodName];\\n      if (lodashFunc) {\\n        var key = lodashFunc.name + '';\\n        if (!hasOwnProperty.call(realNames, key)) {\\n          realNames[key] = [];\\n        }\\n        realNames[key].push({ 'name': methodName, 'func': lodashFunc });\\n      }\\n    });\\n\\n    realNames[createHybrid(undefined, WRAP_BIND_KEY_FLAG).name] = [{\\n      'name': 'wrapper',\\n      'func': undefined\\n    }];\\n\\n    // Add methods to `LazyWrapper`.\\n    LazyWrapper.prototype.clone = lazyClone;\\n    LazyWrapper.prototype.reverse = lazyReverse;\\n    LazyWrapper.prototype.value = lazyValue;\\n\\n    // Add chain sequence methods to the `lodash` wrapper.\\n    lodash.prototype.at = wrapperAt;\\n    lodash.prototype.chain = wrapperChain;\\n    lodash.prototype.commit = wrapperCommit;\\n    lodash.prototype.next = wrapperNext;\\n    lodash.prototype.plant = wrapperPlant;\\n    lodash.prototype.reverse = wrapperReverse;\\n    lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue;\\n\\n    // Add lazy aliases.\\n    lodash.prototype.first = lodash.prototype.head;\\n\\n    if (symIterator) {\\n      lodash.prototype[symIterator] = wrapperToIterator;\\n    }\\n    return lodash;\\n  });\\n\\n  /*--------------------------------------------------------------------------*/\\n\\n  // Export lodash.\\n  var _ = runInContext();\\n\\n  // Some AMD build optimizers, like r.js, check for condition patterns like:\\n  if (true) {\\n    // Expose Lodash on the global object to prevent errors when Lodash is\\n    // loaded by a script tag in the presence of an AMD loader.\\n    // See http://requirejs.org/docs/errors.html#mismatch for more details.\\n    // Use `_.noConflict` to remove Lodash from the global object.\\n    root._ = _;\\n\\n    // Define as an anonymous module so, through path mapping, it can be\\n    // referenced as the \\\"underscore\\\" module.\\n    !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\\n      return _;\\n    }).call(exports, __webpack_require__, exports, module),\\n\\t\\t\\t\\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\\n  }\\n  // Check for `exports` after `define` in case a build optimizer adds it.\\n  else {}\\n}.call(this));\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\"), __webpack_require__(/*! ./../webpack/buildin/module.js */ \\\"./node_modules/webpack/buildin/module.js\\\")(module)))//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvbG9kYXNoL2xvZGFzaC5qcz8yZWYwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBLDJEQUEyRDs7QUFFM0Q7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDO0FBQ3RDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsTUFBTSxhQUFhLE9BQU87O0FBRXBEO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsRUFBRTtBQUNuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsMkNBQTJDLEVBQUU7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLGNBQWM7QUFDZCxjQUFjO0FBQ2QsZ0JBQWdCO0FBQ2hCLGVBQWU7QUFDZjs7QUFFQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLFNBQVM7QUFDVCxTQUFTO0FBQ1QsV0FBVztBQUNYLFVBQVU7QUFDVjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CLEtBQTBCOztBQUU5QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QixhQUFhLEVBQUU7QUFDZixhQUFhLE1BQU07QUFDbkIsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEIsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQixhQUFhLFNBQVM7QUFDdEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQixhQUFhLFNBQVM7QUFDdEIsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQixhQUFhLFNBQVM7QUFDdEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxFQUFFO0FBQ2YsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxFQUFFO0FBQ2YsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsU0FBUztBQUN0QixlQUFlLE1BQU07QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsTUFBTTtBQUNuQixlQUFlLE1BQU07QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxTQUFTO0FBQ3RCLGFBQWEsRUFBRTtBQUNmLGFBQWEsUUFBUTtBQUNyQjtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxTQUFTO0FBQ3RCLGFBQWEsRUFBRTtBQUNmLGFBQWEsUUFBUTtBQUNyQjtBQUNBLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsT0FBTztBQUN0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixlQUFlLE1BQU07QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxhQUFhO0FBQzFCLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEIsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsU0FBUztBQUN0QixhQUFhLE9BQU87QUFDcEIsYUFBYSxRQUFRO0FBQ3JCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQixhQUFhLEVBQUU7QUFDZixhQUFhLE9BQU87QUFDcEIsZUFBZSxPQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQixhQUFhLEVBQUU7QUFDZixhQUFhLE9BQU87QUFDcEIsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsRUFBRTtBQUNmLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsU0FBUztBQUN0QixlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixlQUFlLFNBQVM7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsYUFBYTtBQUMxQixhQUFhLFNBQVM7QUFDdEIsYUFBYSxFQUFFO0FBQ2YsYUFBYSxRQUFRO0FBQ3JCO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixhQUFhLFNBQVM7QUFDdEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixhQUFhLE1BQU07QUFDbkIsZUFBZSxPQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxTQUFTO0FBQ3RCLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGFBQWEsTUFBTTtBQUNuQixlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsTUFBTTtBQUNuQixlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE1BQU07QUFDbkIsYUFBYSxNQUFNO0FBQ25CLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsRUFBRTtBQUNmLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsT0FBTztBQUN0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsT0FBTztBQUN0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixhQUFhLE9BQU87QUFDcEIsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsU0FBUztBQUN0QixhQUFhLFNBQVM7QUFDdEIsZUFBZSxTQUFTO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsRUFBRTtBQUNmLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxNQUFNO0FBQ25CLGFBQWEsRUFBRTtBQUNmLGFBQWEsT0FBTztBQUNwQixlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsTUFBTTtBQUNuQixhQUFhLEVBQUU7QUFDZixhQUFhLE9BQU87QUFDcEIsZUFBZSxPQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixlQUFlLE9BQU87QUFDdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixlQUFlLE9BQU87QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsT0FBTztBQUNwQixlQUFlLE1BQU07QUFDckI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLE9BQU87QUFDcEIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxPQUFPO0FBQ3BCLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0EsY0FBYywyQkFBMkI7QUFDekM7QUFDQTtBQUNBLG1CQUFtQixnQ0FBZ0M7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLDZCQUE2QjtBQUM5RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0VBQWtFO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0I7QUFDaEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQjtBQUNoQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxFQUFFO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLFFBQVE7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixlQUFlLE1BQU07QUFDckIsaUJBQWlCLGNBQWM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyw2QkFBNkIsRUFBRTtBQUNuRTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixhQUFhO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixhQUFhO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLEVBQUU7QUFDakIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxRQUFRO0FBQ3ZCLGVBQWUsUUFBUTtBQUN2QixlQUFlLE1BQU07QUFDckIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLGFBQWE7QUFDNUIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLGFBQWE7QUFDNUIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxhQUFhO0FBQzVCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLGFBQWE7QUFDNUIsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsUUFBUTtBQUN2QjtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsNkJBQTZCO0FBQzVDLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsZ0JBQWdCO0FBQ2hCLE9BQU87O0FBRVA7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsUUFBUTtBQUN2QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixlQUFlLEVBQUU7QUFDakIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLEVBQUU7QUFDakIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFFQUFxRTtBQUNyRTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsRUFBRTtBQUNqQixlQUFlLFNBQVM7QUFDeEIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxhQUFhO0FBQzVCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixlQUFlLFFBQVE7QUFDdkIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsYUFBYTtBQUM5QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZCxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsY0FBYztBQUM3QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFFBQVE7QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxZQUFZO0FBQzNCLGlCQUFpQixZQUFZO0FBQzdCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFFBQVE7QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLG1CQUFtQjtBQUNsQyxpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLE1BQU07QUFDckIsZ0JBQWdCLFFBQVE7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGdCQUFnQixRQUFRO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE1BQU07QUFDckIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU8sV0FBVztBQUNqQyxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCOztBQUU1QjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU8sV0FBVztBQUNqQyxpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU8sV0FBVztBQUNqQyxpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFFBQVE7QUFDdkIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFFBQVE7QUFDdkIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQywrQ0FBK0M7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsUUFBUTtBQUN2QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxnQkFBZ0I7QUFDL0IsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQixlQUFlLE1BQU07QUFDckI7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1gsU0FBUztBQUNULE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsRUFBRTtBQUNqQixlQUFlLE1BQU07QUFDckI7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsUUFBUTtBQUN2QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsZUFBZSxNQUFNO0FBQ3JCO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsZ0JBQWdCO0FBQy9CLGVBQWUsT0FBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsRUFBRTtBQUNqQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEI7QUFDQSxpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlO0FBQ2Y7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE1BQU07QUFDckIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBMEM7QUFDMUMsd0NBQXdDO0FBQ3hDLCtEQUErRDtBQUMvRCxpRUFBaUU7QUFDakU7QUFDQTtBQUNBLGNBQWM7QUFDZDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsY0FBYztBQUMvQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLGNBQWM7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE1BQU07QUFDdkIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxPQUFPO0FBQ3RCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsU0FBUyxHQUFHLFNBQVMsS0FBSyxTQUFTO0FBQzNELGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQSx1QkFBdUIsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQzVEO0FBQ0EsbUNBQW1DLGlCQUFpQjtBQUNwRCxlQUFlLGlCQUFpQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsb0NBQW9DO0FBQzlDLFVBQVUscUNBQXFDO0FBQy9DLFVBQVU7QUFDVjtBQUNBO0FBQ0EsNENBQTRDLGtCQUFrQixFQUFFO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBLGdDQUFnQyxxQ0FBcUM7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0EsVUFBVSxxQ0FBcUM7QUFDL0MsVUFBVSxxQ0FBcUM7QUFDL0MsVUFBVTtBQUNWO0FBQ0E7QUFDQSx1Q0FBdUMsa0JBQWtCLEVBQUU7QUFDM0Q7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLG9DQUFvQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLFVBQVUscUNBQXFDO0FBQy9DLFVBQVUscUNBQXFDO0FBQy9DLFVBQVU7QUFDVjtBQUNBO0FBQ0EsdUNBQXVDLDJCQUEyQixFQUFFO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQixrQ0FBa0M7QUFDN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxVQUFVLG9DQUFvQztBQUM5QyxVQUFVLHFDQUFxQztBQUMvQyxVQUFVO0FBQ1Y7QUFDQTtBQUNBLDJDQUEyQyw0QkFBNEIsRUFBRTtBQUN6RTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsbUNBQW1DO0FBQ2xFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLFNBQVMsS0FBSyxTQUFTLEdBQUcsU0FBUztBQUM3RCxlQUFlLFNBQVM7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBLHVCQUF1QixpQkFBaUIsR0FBRyxpQkFBaUI7QUFDNUQsc0JBQXNCLGlCQUFpQixHQUFHLGlCQUFpQjtBQUMzRDtBQUNBO0FBQ0EsZUFBZSxpQkFBaUI7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsRUFBRTtBQUNqQixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0EscUJBQXFCLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFDbEU7QUFDQSw0QkFBNEIsU0FBUyxHQUFHLFNBQVM7QUFDakQ7QUFDQSxlQUFlLFNBQVM7QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0EscUJBQXFCLGlCQUFpQixHQUFHLGlCQUFpQixHQUFHLGlCQUFpQjtBQUM5RTtBQUNBLDhCQUE4QixpQkFBaUI7QUFDL0M7QUFDQSxlQUFlLGlCQUFpQixHQUFHLGlCQUFpQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxxQkFBcUI7QUFDcEMsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsU0FBUyxHQUFHLFNBQVM7QUFDNUM7QUFDQSxpQ0FBaUMsU0FBUyxlQUFlLFlBQVksRUFBRTtBQUN2RTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsU0FBUztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsU0FBUyxHQUFHLFNBQVM7QUFDNUM7QUFDQSxxQ0FBcUMsU0FBUyxlQUFlLFlBQVksRUFBRTtBQUMzRTtBQUNBO0FBQ0E7QUFDQSxxQ0FBcUMsU0FBUztBQUM5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0EsVUFBVSxvQ0FBb0M7QUFDOUMsVUFBVSxxQ0FBcUM7QUFDL0MsVUFBVTtBQUNWO0FBQ0E7QUFDQSw0Q0FBNEMsa0JBQWtCLEVBQUU7QUFDaEU7QUFDQTtBQUNBO0FBQ0EsZ0NBQWdDLHFDQUFxQztBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQSxVQUFVLHFDQUFxQztBQUMvQyxVQUFVLHFDQUFxQztBQUMvQyxVQUFVO0FBQ1Y7QUFDQTtBQUNBLHVDQUF1QyxrQkFBa0IsRUFBRTtBQUMzRDtBQUNBO0FBQ0E7QUFDQSwyQkFBMkIsb0NBQW9DO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixTQUFTLEtBQUssU0FBUyxHQUFHLFNBQVM7QUFDdEQsZUFBZSxTQUFTLEdBQUcsU0FBUztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQSx1QkFBdUIsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQzVELHNCQUFzQixpQkFBaUIsR0FBRyxpQkFBaUI7QUFDM0Q7QUFDQTtBQUNBLGVBQWUsaUJBQWlCLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTO0FBQ25ELGVBQWUsU0FBUyxHQUFHLFNBQVM7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQSx1QkFBdUIsaUJBQWlCLEdBQUcsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQ2hGO0FBQ0E7QUFDQSxlQUFlLGlCQUFpQixHQUFHLGlCQUFpQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCO0FBQ0EsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUyxLQUFLLFNBQVMsR0FBRyxTQUFTO0FBQ3BELGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQSx1QkFBdUIsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQzVELHNCQUFzQixpQkFBaUIsR0FBRyxpQkFBaUI7QUFDM0Q7QUFDQTtBQUNBLGVBQWUsaUJBQWlCLEdBQUcsaUJBQWlCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLE1BQU07QUFDckIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU8sUUFBUSxTQUFTLEdBQUcsU0FBUyxHQUFHO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEI7QUFDQSxpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxVQUFVLCtCQUErQjtBQUN6QyxVQUFVLCtCQUErQjtBQUN6QyxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUscUJBQXFCO0FBQ3BDLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSxxQkFBcUIsUUFBUSxPQUFPLFNBQVMsRUFBRTtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLDhCQUE4Qjs7QUFFeEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYztBQUNkOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSwrQ0FBK0M7QUFDekQsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixvQ0FBb0M7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsOENBQThDO0FBQ3hELFVBQVU7QUFDVjtBQUNBO0FBQ0Esb0NBQW9DLGtCQUFrQixFQUFFO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qiw0QkFBNEI7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQSxVQUFVLCtDQUErQztBQUN6RCxVQUFVLGdEQUFnRDtBQUMxRCxVQUFVO0FBQ1Y7QUFDQTtBQUNBLGtDQUFrQyxtQkFBbUIsRUFBRTtBQUN2RDtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsMkJBQTJCO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixhQUFhO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLGFBQWE7QUFDOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxvQkFBb0I7QUFDbkMsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxzQkFBc0I7QUFDckM7QUFDQSxlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxVQUFVLDRCQUE0QjtBQUN0QyxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1IsY0FBYyxPQUFPLDRCQUE0QixRQUFRLDhCQUE4QjtBQUN2RjtBQUNBO0FBQ0EsY0FBYyxVQUFVLDRCQUE0QixZQUFZLDhCQUE4QjtBQUM5RjtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxpQkFBaUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0EsVUFBVSxtQkFBbUI7QUFDN0IsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUscUNBQXFDO0FBQ3BEO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0EsVUFBVSxnREFBZ0Q7QUFDMUQsVUFBVSwrQ0FBK0M7QUFDekQsVUFBVTtBQUNWO0FBQ0E7QUFDQSx1Q0FBdUMsaUJBQWlCLEVBQUU7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDRCQUE0QjtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLGNBQWMsaUJBQWlCLEVBQUU7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0EsaUJBQWlCLHlCQUF5QjtBQUMxQztBQUNBO0FBQ0EsUUFBUSxJQUFJO0FBQ1osY0FBYyw4QkFBOEI7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLCtDQUErQztBQUN6RCxVQUFVO0FBQ1Y7QUFDQTtBQUNBLG9DQUFvQyxrQkFBa0IsRUFBRTtBQUN4RDtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsNEJBQTRCO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxPQUFPO0FBQ3RCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxvQkFBb0I7QUFDbkMsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsaUJBQWlCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxTQUFTO0FBQ3hCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxtQ0FBbUM7QUFDN0MsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixvQ0FBb0M7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsYUFBYTtBQUM1QixlQUFlLHlCQUF5QjtBQUN4QztBQUNBLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVUsOEJBQThCO0FBQ3hDLFVBQVU7QUFDVjtBQUNBO0FBQ0EscUNBQXFDLGVBQWUsRUFBRTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0Esb0JBQW9CLGlDQUFpQztBQUNyRCxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLEVBQUU7QUFDakIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPLFlBQVk7QUFDbEMsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxrREFBa0Qsa0JBQWtCO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsS0FBSztBQUNwQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLHlCQUF5QjtBQUN4QztBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsS0FBSztBQUNwQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxxQkFBcUI7QUFDcEMsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLFNBQVM7QUFDeEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU8sWUFBWTtBQUNsQyxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsb0JBQW9CO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixTQUFTO0FBQzdCLGVBQWUsU0FBUztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixTQUFTLEdBQUcsU0FBUztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixTQUFTLEdBQUcsU0FBUztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0EsNkJBQTZCLG1CQUFtQixjQUFjLEVBQUUsRUFBRTtBQUNsRTtBQUNBO0FBQ0EsNkJBQTZCLG1CQUFtQixjQUFjLEVBQUUsRUFBRTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLGtCQUFrQixFQUFFO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0Qsa0JBQWtCLEVBQUU7QUFDdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsU0FBUztBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCLG9CQUFvQjtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQSwwQkFBMEIsU0FBUztBQUNuQztBQUNBO0FBQ0EsMEJBQTBCLFNBQVM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQixxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsaUJBQWlCO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUIsY0FBYztBQUNkO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFVBQVU7QUFDekIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTO0FBQzFCLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsVUFBVTtBQUN6QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFNBQVM7QUFDNUIsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxVQUFVO0FBQ3pCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTO0FBQ2xELGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFVBQVU7QUFDekIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFDbEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxxQkFBcUI7QUFDcEMsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBLHFCQUFxQixRQUFRLE9BQU8sU0FBUyxFQUFFO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsVUFBVTtBQUN6QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTO0FBQ3BELGNBQWM7QUFDZDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsVUFBVTtBQUN6QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSx1QkFBdUIsT0FBTyxTQUFTLEVBQUUsR0FBRyxPQUFPLGlCQUFpQixFQUFFO0FBQ3RFLGNBQWMsT0FBTyxpQkFBaUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixpQkFBaUI7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsNEJBQTRCO0FBQ2pELHFCQUFxQiw2QkFBNkI7QUFDbEQscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxxQ0FBcUMsbUJBQW1CLEVBQUU7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLDJCQUEyQjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDRCQUE0QjtBQUNqRCxxQkFBcUIsNkJBQTZCO0FBQ2xELHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EseUNBQXlDLG1CQUFtQixFQUFFO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qiw0QkFBNEI7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBLHFCQUFxQixRQUFRLE9BQU8sU0FBUyxFQUFFO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxhQUFhO0FBQzVCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQSxxQkFBcUIsT0FBTyxTQUFTO0FBQ3JDLDZCQUE2QixnQkFBZ0IsU0FBUyxHQUFHO0FBQ3pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0EsOEJBQThCLGdCQUFnQixTQUFTLEdBQUc7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1IsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBLHFCQUFxQixRQUFRLE9BQU8sb0JBQW9CLEVBQUU7QUFDMUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixpQkFBaUI7QUFDbkM7QUFDQSxRQUFRO0FBQ1IsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUIsK0JBQStCO0FBQ3BELHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsdUNBQXVDLGNBQWMsRUFBRTtBQUN2RCxjQUFjLDJCQUEyQjtBQUN6QztBQUNBO0FBQ0E7QUFDQSxjQUFjLDJCQUEyQjtBQUN6QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsVUFBVTtBQUN6QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsU0FBUyxHQUFHLFNBQVM7QUFDckM7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFNBQVMsR0FBRyxTQUFTO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUSxpQkFBaUIsR0FBRyxpQkFBaUI7QUFDM0Q7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFVBQVU7QUFDekIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBLGdDQUFnQztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUscUJBQXFCO0FBQ3BDLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUscUJBQXFCO0FBQ3BDLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxhQUFhO0FBQzVCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0EscUJBQXFCLFFBQVEsT0FBTywrQkFBK0IsRUFBRTtBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBLHFCQUFxQixRQUFRLE9BQU8sU0FBUyxFQUFFO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxhQUFhO0FBQzVCLGVBQWUsRUFBRTtBQUNqQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTyxXQUFXO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLG9CQUFvQix5QkFBeUI7QUFDN0M7QUFDQSxRQUFRLElBQUk7QUFDWixjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0EscUJBQXFCLFFBQVEsT0FBTyxTQUFTLEVBQUU7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVEsUUFBUSxFQUFFO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVEsUUFBUSxFQUFFO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxhQUFhO0FBQzVCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0EscUJBQXFCLFFBQVEsT0FBTyxTQUFTLEVBQUU7QUFDL0M7QUFDQSxpREFBaUQsY0FBYyxFQUFFO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRCxzQkFBc0IsRUFBRTtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsYUFBYTtBQUM1QixlQUFlLFNBQVM7QUFDeEIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU8sV0FBVztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGtDQUFrQyxLQUFLO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLGNBQWM7QUFDN0IsZUFBZSxnQkFBZ0I7QUFDL0IsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsY0FBYztBQUM3QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPLFlBQVk7QUFDbEMsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsaUJBQWlCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHNCQUFzQjtBQUN2QyxxQkFBcUIsVUFBVTtBQUMvQjtBQUNBO0FBQ0Esc0VBQXNFLDJCQUEyQixFQUFFO0FBQ25HLGlCQUFpQiw4QkFBOEI7QUFDL0M7QUFDQTtBQUNBO0FBQ0EsNERBQTREO0FBQzVELGlCQUFpQixtQkFBbUI7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsT0FBTztBQUNqRCxpQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLHFCQUFxQjtBQUN0QztBQUNBO0FBQ0E7QUFDQSxxREFBcUQsMkJBQTJCLEVBQUU7QUFDbEYsd0NBQXdDLGFBQWEsZUFBZSxFQUFFO0FBQ3RFLGlCQUFpQiw4QkFBOEI7QUFDL0M7QUFDQTtBQUNBO0FBQ0Esd0RBQXdELHFDQUFxQztBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRCxxQkFBcUI7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxZQUFZO0FBQ3ZELDBDQUEwQyxRQUFRO0FBQ2xELGlCQUFpQixxQkFBcUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQjtBQUNwQjtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtCQUErQjs7QUFFL0IsbUNBQW1DO0FBQ25DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHdCQUF3QjtBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVAsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsbUJBQW1CO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDOztBQUU1QztBQUNBLHVEQUF1RDtBQUN2RDtBQUNBO0FBQ0EsNkJBQTZCLEVBQUU7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEM7QUFDMUMsK0JBQStCLGlDQUFpQztBQUNoRSxjQUFjO0FBQ2Q7QUFDQTtBQUNBLHNCQUFzQjs7QUFFdEI7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZ0JBQWdCLE9BQU87QUFDdkIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGdCQUFnQixPQUFPO0FBQ3ZCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU8sWUFBWTtBQUNsQyxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsY0FBYztBQUM3QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlDQUFpQztBQUNqQyxhQUFhLFFBQVEsUUFBUSxVQUFVLGFBQWE7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsY0FBYztBQUM3QixnQkFBZ0IsT0FBTztBQUN2QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsU0FBUztBQUN4QixlQUFlLEtBQUs7QUFDcEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUscUJBQXFCO0FBQ3BDLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQixTQUFTO0FBQzlCLHNCQUFzQixrQkFBa0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpQkFBaUI7QUFDOUI7QUFDQTtBQUNBLGFBQWEsaUJBQWlCO0FBQzlCO0FBQ0E7QUFDQSxhQUFhLHFCQUFxQjtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaUJBQWlCO0FBQzNCLFVBQVU7QUFDVjtBQUNBO0FBQ0EscUNBQXFDLG1CQUFtQixjQUFjLEVBQUUsRUFBRTtBQUMxRSxlQUFlLGlCQUFpQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0EsNENBQTRDLFNBQVM7QUFDckQ7QUFDQTtBQUNBLGVBQWUsU0FBUyxHQUFHLFNBQVM7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixlQUFlLEVBQUU7QUFDakIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlCQUF5QjtBQUN4QyxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUseUJBQXlCO0FBQ3hDLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLEVBQUU7QUFDakIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsVUFBVSw4Q0FBOEM7QUFDeEQsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQyxtQ0FBbUM7QUFDdEUsZUFBZSw4Q0FBOEM7QUFDN0Q7QUFDQTtBQUNBO0FBQ0EsZUFBZSw0QkFBNEI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsVUFBVSx5QkFBeUI7QUFDbkMsVUFBVTtBQUNWO0FBQ0E7QUFDQSxvQ0FBb0MsaUJBQWlCO0FBQ3JELGVBQWUseUJBQXlCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGVBQWUsRUFBRTtBQUNqQixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQSxVQUFVLHlCQUF5QjtBQUNuQyxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGFBQWE7QUFDNUIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsT0FBTyxxQkFBcUIsRUFBRTtBQUN4QyxVQUFVLE9BQU8scUJBQXFCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxLQUFLO0FBQ3BCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLGdCQUFnQjtBQUMvQixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPLFlBQVk7QUFDbEMsZUFBZSxRQUFRO0FBQ3ZCLGlCQUFpQixnQkFBZ0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0EsZ0JBQWdCLG1CQUFtQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsbUJBQW1CLEdBQUcsaUJBQWlCO0FBQ3ZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDRCQUE0QixxREFBcUQ7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7QUFFUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLHlCQUF5QjtBQUN4QztBQUNBLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUseUJBQXlCO0FBQ3hDO0FBQ0EsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSx5QkFBeUI7QUFDeEM7QUFDQSxpQkFBaUIsU0FBUztBQUMxQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxhQUFhO0FBQzVCLGlCQUFpQixTQUFTO0FBQzFCO0FBQ0E7QUFDQTtBQUNBLFVBQVUsT0FBTyxTQUFTLEVBQUU7QUFDNUIsVUFBVSxPQUFPLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLFNBQVM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsTUFBTTtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLFFBQVE7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQkFBZ0IsSUFBSTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsUUFBUTtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrRUFBa0U7QUFDbEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLE1BQU07QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxFQUFFO0FBQ2pCLGlCQUFpQixNQUFNO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixpQkFBaUIsRUFBRTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsZUFBZSxTQUFTO0FBQ3hCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQSx1QkFBdUIsU0FBUyxHQUFHLFNBQVM7QUFDNUM7QUFDQSxxQ0FBcUMsWUFBWSxFQUFFO0FBQ25ELGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0EsdUJBQXVCLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFDcEU7QUFDQSxzQ0FBc0MsWUFBWSxFQUFFO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGlCQUFpQixFQUFFO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsTUFBTTtBQUNyQixlQUFlLFNBQVM7QUFDeEIsaUJBQWlCLEVBQUU7QUFDbkI7QUFDQTtBQUNBLHVCQUF1QixTQUFTLEdBQUcsU0FBUztBQUM1QztBQUNBLHFDQUFxQyxZQUFZLEVBQUU7QUFDbkQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEIsZUFBZSxPQUFPO0FBQ3RCLGlCQUFpQixPQUFPO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QixlQUFlLE9BQU87QUFDdEIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCLGVBQWUsT0FBTztBQUN0QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE1BQU07QUFDckIsaUJBQWlCLE9BQU87QUFDeEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxNQUFNO0FBQ3JCLGVBQWUsU0FBUztBQUN4QixpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0EsdUJBQXVCLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFDcEU7QUFDQSxxQ0FBcUMsWUFBWSxFQUFFO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSyxNQUFNLGlCQUFpQjs7QUFFNUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUMsNERBQTREO0FBQy9GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2Qix5Q0FBeUM7QUFDdEU7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsTUFBTSxJQUEwRTtBQUNoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJLG1DQUFPO0FBQ1g7QUFDQSxLQUFLO0FBQUEsb0dBQUM7QUFDTjtBQUNBO0FBQ0EsT0FBTyxFQVNKO0FBQ0gsQ0FBQyIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9sb2Rhc2gvbG9kYXNoLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogTG9kYXNoIDxodHRwczovL2xvZGFzaC5jb20vPlxuICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vb3BlbmpzZi5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovXG47KGZ1bmN0aW9uKCkge1xuXG4gIC8qKiBVc2VkIGFzIGEgc2FmZSByZWZlcmVuY2UgZm9yIGB1bmRlZmluZWRgIGluIHByZS1FUzUgZW52aXJvbm1lbnRzLiAqL1xuICB2YXIgdW5kZWZpbmVkO1xuXG4gIC8qKiBVc2VkIGFzIHRoZSBzZW1hbnRpYyB2ZXJzaW9uIG51bWJlci4gKi9cbiAgdmFyIFZFUlNJT04gPSAnNC4xNy4xNSc7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIHNpemUgdG8gZW5hYmxlIGxhcmdlIGFycmF5IG9wdGltaXphdGlvbnMuICovXG4gIHZhciBMQVJHRV9BUlJBWV9TSVpFID0gMjAwO1xuXG4gIC8qKiBFcnJvciBtZXNzYWdlIGNvbnN0YW50cy4gKi9cbiAgdmFyIENPUkVfRVJST1JfVEVYVCA9ICdVbnN1cHBvcnRlZCBjb3JlLWpzIHVzZS4gVHJ5IGh0dHBzOi8vbnBtcy5pby9zZWFyY2g/cT1wb255ZmlsbC4nLFxuICAgICAgRlVOQ19FUlJPUl9URVhUID0gJ0V4cGVjdGVkIGEgZnVuY3Rpb24nO1xuXG4gIC8qKiBVc2VkIHRvIHN0YW5kLWluIGZvciBgdW5kZWZpbmVkYCBoYXNoIHZhbHVlcy4gKi9cbiAgdmFyIEhBU0hfVU5ERUZJTkVEID0gJ19fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18nO1xuXG4gIC8qKiBVc2VkIGFzIHRoZSBtYXhpbXVtIG1lbW9pemUgY2FjaGUgc2l6ZS4gKi9cbiAgdmFyIE1BWF9NRU1PSVpFX1NJWkUgPSA1MDA7XG5cbiAgLyoqIFVzZWQgYXMgdGhlIGludGVybmFsIGFyZ3VtZW50IHBsYWNlaG9sZGVyLiAqL1xuICB2YXIgUExBQ0VIT0xERVIgPSAnX19sb2Rhc2hfcGxhY2Vob2xkZXJfXyc7XG5cbiAgLyoqIFVzZWQgdG8gY29tcG9zZSBiaXRtYXNrcyBmb3IgY2xvbmluZy4gKi9cbiAgdmFyIENMT05FX0RFRVBfRkxBRyA9IDEsXG4gICAgICBDTE9ORV9GTEFUX0ZMQUcgPSAyLFxuICAgICAgQ0xPTkVfU1lNQk9MU19GTEFHID0gNDtcblxuICAvKiogVXNlZCB0byBjb21wb3NlIGJpdG1hc2tzIGZvciB2YWx1ZSBjb21wYXJpc29ucy4gKi9cbiAgdmFyIENPTVBBUkVfUEFSVElBTF9GTEFHID0gMSxcbiAgICAgIENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcgPSAyO1xuXG4gIC8qKiBVc2VkIHRvIGNvbXBvc2UgYml0bWFza3MgZm9yIGZ1bmN0aW9uIG1ldGFkYXRhLiAqL1xuICB2YXIgV1JBUF9CSU5EX0ZMQUcgPSAxLFxuICAgICAgV1JBUF9CSU5EX0tFWV9GTEFHID0gMixcbiAgICAgIFdSQVBfQ1VSUllfQk9VTkRfRkxBRyA9IDQsXG4gICAgICBXUkFQX0NVUlJZX0ZMQUcgPSA4LFxuICAgICAgV1JBUF9DVVJSWV9SSUdIVF9GTEFHID0gMTYsXG4gICAgICBXUkFQX1BBUlRJQUxfRkxBRyA9IDMyLFxuICAgICAgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcgPSA2NCxcbiAgICAgIFdSQVBfQVJZX0ZMQUcgPSAxMjgsXG4gICAgICBXUkFQX1JFQVJHX0ZMQUcgPSAyNTYsXG4gICAgICBXUkFQX0ZMSVBfRkxBRyA9IDUxMjtcblxuICAvKiogVXNlZCBhcyBkZWZhdWx0IG9wdGlvbnMgZm9yIGBfLnRydW5jYXRlYC4gKi9cbiAgdmFyIERFRkFVTFRfVFJVTkNfTEVOR1RIID0gMzAsXG4gICAgICBERUZBVUxUX1RSVU5DX09NSVNTSU9OID0gJy4uLic7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IGhvdCBmdW5jdGlvbnMgYnkgbnVtYmVyIG9mIGNhbGxzIHdpdGhpbiBhIHNwYW4gb2YgbWlsbGlzZWNvbmRzLiAqL1xuICB2YXIgSE9UX0NPVU5UID0gODAwLFxuICAgICAgSE9UX1NQQU4gPSAxNjtcblxuICAvKiogVXNlZCB0byBpbmRpY2F0ZSB0aGUgdHlwZSBvZiBsYXp5IGl0ZXJhdGVlcy4gKi9cbiAgdmFyIExBWllfRklMVEVSX0ZMQUcgPSAxLFxuICAgICAgTEFaWV9NQVBfRkxBRyA9IDIsXG4gICAgICBMQVpZX1dISUxFX0ZMQUcgPSAzO1xuXG4gIC8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHZhcmlvdXMgYE51bWJlcmAgY29uc3RhbnRzLiAqL1xuICB2YXIgSU5GSU5JVFkgPSAxIC8gMCxcbiAgICAgIE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxLFxuICAgICAgTUFYX0lOVEVHRVIgPSAxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOCxcbiAgICAgIE5BTiA9IDAgLyAwO1xuXG4gIC8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHRoZSBtYXhpbXVtIGxlbmd0aCBhbmQgaW5kZXggb2YgYW4gYXJyYXkuICovXG4gIHZhciBNQVhfQVJSQVlfTEVOR1RIID0gNDI5NDk2NzI5NSxcbiAgICAgIE1BWF9BUlJBWV9JTkRFWCA9IE1BWF9BUlJBWV9MRU5HVEggLSAxLFxuICAgICAgSEFMRl9NQVhfQVJSQVlfTEVOR1RIID0gTUFYX0FSUkFZX0xFTkdUSCA+Pj4gMTtcblxuICAvKiogVXNlZCB0byBhc3NvY2lhdGUgd3JhcCBtZXRob2RzIHdpdGggdGhlaXIgYml0IGZsYWdzLiAqL1xuICB2YXIgd3JhcEZsYWdzID0gW1xuICAgIFsnYXJ5JywgV1JBUF9BUllfRkxBR10sXG4gICAgWydiaW5kJywgV1JBUF9CSU5EX0ZMQUddLFxuICAgIFsnYmluZEtleScsIFdSQVBfQklORF9LRVlfRkxBR10sXG4gICAgWydjdXJyeScsIFdSQVBfQ1VSUllfRkxBR10sXG4gICAgWydjdXJyeVJpZ2h0JywgV1JBUF9DVVJSWV9SSUdIVF9GTEFHXSxcbiAgICBbJ2ZsaXAnLCBXUkFQX0ZMSVBfRkxBR10sXG4gICAgWydwYXJ0aWFsJywgV1JBUF9QQVJUSUFMX0ZMQUddLFxuICAgIFsncGFydGlhbFJpZ2h0JywgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUddLFxuICAgIFsncmVhcmcnLCBXUkFQX1JFQVJHX0ZMQUddXG4gIF07XG5cbiAgLyoqIGBPYmplY3QjdG9TdHJpbmdgIHJlc3VsdCByZWZlcmVuY2VzLiAqL1xuICB2YXIgYXJnc1RhZyA9ICdbb2JqZWN0IEFyZ3VtZW50c10nLFxuICAgICAgYXJyYXlUYWcgPSAnW29iamVjdCBBcnJheV0nLFxuICAgICAgYXN5bmNUYWcgPSAnW29iamVjdCBBc3luY0Z1bmN0aW9uXScsXG4gICAgICBib29sVGFnID0gJ1tvYmplY3QgQm9vbGVhbl0nLFxuICAgICAgZGF0ZVRhZyA9ICdbb2JqZWN0IERhdGVdJyxcbiAgICAgIGRvbUV4Y1RhZyA9ICdbb2JqZWN0IERPTUV4Y2VwdGlvbl0nLFxuICAgICAgZXJyb3JUYWcgPSAnW29iamVjdCBFcnJvcl0nLFxuICAgICAgZnVuY1RhZyA9ICdbb2JqZWN0IEZ1bmN0aW9uXScsXG4gICAgICBnZW5UYWcgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nLFxuICAgICAgbWFwVGFnID0gJ1tvYmplY3QgTWFwXScsXG4gICAgICBudW1iZXJUYWcgPSAnW29iamVjdCBOdW1iZXJdJyxcbiAgICAgIG51bGxUYWcgPSAnW29iamVjdCBOdWxsXScsXG4gICAgICBvYmplY3RUYWcgPSAnW29iamVjdCBPYmplY3RdJyxcbiAgICAgIHByb21pc2VUYWcgPSAnW29iamVjdCBQcm9taXNlXScsXG4gICAgICBwcm94eVRhZyA9ICdbb2JqZWN0IFByb3h5XScsXG4gICAgICByZWdleHBUYWcgPSAnW29iamVjdCBSZWdFeHBdJyxcbiAgICAgIHNldFRhZyA9ICdbb2JqZWN0IFNldF0nLFxuICAgICAgc3RyaW5nVGFnID0gJ1tvYmplY3QgU3RyaW5nXScsXG4gICAgICBzeW1ib2xUYWcgPSAnW29iamVjdCBTeW1ib2xdJyxcbiAgICAgIHVuZGVmaW5lZFRhZyA9ICdbb2JqZWN0IFVuZGVmaW5lZF0nLFxuICAgICAgd2Vha01hcFRhZyA9ICdbb2JqZWN0IFdlYWtNYXBdJyxcbiAgICAgIHdlYWtTZXRUYWcgPSAnW29iamVjdCBXZWFrU2V0XSc7XG5cbiAgdmFyIGFycmF5QnVmZmVyVGFnID0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJyxcbiAgICAgIGRhdGFWaWV3VGFnID0gJ1tvYmplY3QgRGF0YVZpZXddJyxcbiAgICAgIGZsb2F0MzJUYWcgPSAnW29iamVjdCBGbG9hdDMyQXJyYXldJyxcbiAgICAgIGZsb2F0NjRUYWcgPSAnW29iamVjdCBGbG9hdDY0QXJyYXldJyxcbiAgICAgIGludDhUYWcgPSAnW29iamVjdCBJbnQ4QXJyYXldJyxcbiAgICAgIGludDE2VGFnID0gJ1tvYmplY3QgSW50MTZBcnJheV0nLFxuICAgICAgaW50MzJUYWcgPSAnW29iamVjdCBJbnQzMkFycmF5XScsXG4gICAgICB1aW50OFRhZyA9ICdbb2JqZWN0IFVpbnQ4QXJyYXldJyxcbiAgICAgIHVpbnQ4Q2xhbXBlZFRhZyA9ICdbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XScsXG4gICAgICB1aW50MTZUYWcgPSAnW29iamVjdCBVaW50MTZBcnJheV0nLFxuICAgICAgdWludDMyVGFnID0gJ1tvYmplY3QgVWludDMyQXJyYXldJztcblxuICAvKiogVXNlZCB0byBtYXRjaCBlbXB0eSBzdHJpbmcgbGl0ZXJhbHMgaW4gY29tcGlsZWQgdGVtcGxhdGUgc291cmNlLiAqL1xuICB2YXIgcmVFbXB0eVN0cmluZ0xlYWRpbmcgPSAvXFxiX19wIFxcKz0gJyc7L2csXG4gICAgICByZUVtcHR5U3RyaW5nTWlkZGxlID0gL1xcYihfX3AgXFwrPSkgJycgXFwrL2csXG4gICAgICByZUVtcHR5U3RyaW5nVHJhaWxpbmcgPSAvKF9fZVxcKC4qP1xcKXxcXGJfX3RcXCkpIFxcK1xcbicnOy9nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIEhUTUwgZW50aXRpZXMgYW5kIEhUTUwgY2hhcmFjdGVycy4gKi9cbiAgdmFyIHJlRXNjYXBlZEh0bWwgPSAvJig/OmFtcHxsdHxndHxxdW90fCMzOSk7L2csXG4gICAgICByZVVuZXNjYXBlZEh0bWwgPSAvWyY8PlwiJ10vZyxcbiAgICAgIHJlSGFzRXNjYXBlZEh0bWwgPSBSZWdFeHAocmVFc2NhcGVkSHRtbC5zb3VyY2UpLFxuICAgICAgcmVIYXNVbmVzY2FwZWRIdG1sID0gUmVnRXhwKHJlVW5lc2NhcGVkSHRtbC5zb3VyY2UpO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG4gIHZhciByZUVzY2FwZSA9IC88JS0oW1xcc1xcU10rPyklPi9nLFxuICAgICAgcmVFdmFsdWF0ZSA9IC88JShbXFxzXFxTXSs/KSU+L2csXG4gICAgICByZUludGVycG9sYXRlID0gLzwlPShbXFxzXFxTXSs/KSU+L2c7XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggcHJvcGVydHkgbmFtZXMgd2l0aGluIHByb3BlcnR5IHBhdGhzLiAqL1xuICB2YXIgcmVJc0RlZXBQcm9wID0gL1xcLnxcXFsoPzpbXltcXF1dKnwoW1wiJ10pKD86KD8hXFwxKVteXFxcXF18XFxcXC4pKj9cXDEpXFxdLyxcbiAgICAgIHJlSXNQbGFpblByb3AgPSAvXlxcdyokLyxcbiAgICAgIHJlUHJvcE5hbWUgPSAvW14uW1xcXV0rfFxcWyg/OigtP1xcZCsoPzpcXC5cXGQrKT8pfChbXCInXSkoKD86KD8hXFwyKVteXFxcXF18XFxcXC4pKj8pXFwyKVxcXXwoPz0oPzpcXC58XFxbXFxdKSg/OlxcLnxcXFtcXF18JCkpL2c7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWF0Y2ggYFJlZ0V4cGBcbiAgICogW3N5bnRheCBjaGFyYWN0ZXJzXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1wYXR0ZXJucykuXG4gICAqL1xuICB2YXIgcmVSZWdFeHBDaGFyID0gL1tcXFxcXiQuKis/KClbXFxde318XS9nLFxuICAgICAgcmVIYXNSZWdFeHBDaGFyID0gUmVnRXhwKHJlUmVnRXhwQ2hhci5zb3VyY2UpO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UuICovXG4gIHZhciByZVRyaW0gPSAvXlxccyt8XFxzKyQvZyxcbiAgICAgIHJlVHJpbVN0YXJ0ID0gL15cXHMrLyxcbiAgICAgIHJlVHJpbUVuZCA9IC9cXHMrJC87XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggd3JhcCBkZXRhaWwgY29tbWVudHMuICovXG4gIHZhciByZVdyYXBDb21tZW50ID0gL1xceyg/OlxcblxcL1xcKiBcXFt3cmFwcGVkIHdpdGggLitcXF0gXFwqXFwvKT9cXG4/LyxcbiAgICAgIHJlV3JhcERldGFpbHMgPSAvXFx7XFxuXFwvXFwqIFxcW3dyYXBwZWQgd2l0aCAoLispXFxdIFxcKi8sXG4gICAgICByZVNwbGl0RGV0YWlscyA9IC8sPyAmIC87XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggd29yZHMgY29tcG9zZWQgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuICovXG4gIHZhciByZUFzY2lpV29yZCA9IC9bXlxceDAwLVxceDJmXFx4M2EtXFx4NDBcXHg1Yi1cXHg2MFxceDdiLVxceDdmXSsvZztcblxuICAvKiogVXNlZCB0byBtYXRjaCBiYWNrc2xhc2hlcyBpbiBwcm9wZXJ0eSBwYXRocy4gKi9cbiAgdmFyIHJlRXNjYXBlQ2hhciA9IC9cXFxcKFxcXFwpPy9nO1xuXG4gIC8qKlxuICAgKiBVc2VkIHRvIG1hdGNoXG4gICAqIFtFUyB0ZW1wbGF0ZSBkZWxpbWl0ZXJzXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10ZW1wbGF0ZS1saXRlcmFsLWxleGljYWwtY29tcG9uZW50cykuXG4gICAqL1xuICB2YXIgcmVFc1RlbXBsYXRlID0gL1xcJFxceyhbXlxcXFx9XSooPzpcXFxcLlteXFxcXH1dKikqKVxcfS9nO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIGBSZWdFeHBgIGZsYWdzIGZyb20gdGhlaXIgY29lcmNlZCBzdHJpbmcgdmFsdWVzLiAqL1xuICB2YXIgcmVGbGFncyA9IC9cXHcqJC87XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IGJhZCBzaWduZWQgaGV4YWRlY2ltYWwgc3RyaW5nIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNCYWRIZXggPSAvXlstK10weFswLTlhLWZdKyQvaTtcblxuICAvKiogVXNlZCB0byBkZXRlY3QgYmluYXJ5IHN0cmluZyB2YWx1ZXMuICovXG4gIHZhciByZUlzQmluYXJ5ID0gL14wYlswMV0rJC9pO1xuXG4gIC8qKiBVc2VkIHRvIGRldGVjdCBob3N0IGNvbnN0cnVjdG9ycyAoU2FmYXJpKS4gKi9cbiAgdmFyIHJlSXNIb3N0Q3RvciA9IC9eXFxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXFxdJC87XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IG9jdGFsIHN0cmluZyB2YWx1ZXMuICovXG4gIHZhciByZUlzT2N0YWwgPSAvXjBvWzAtN10rJC9pO1xuXG4gIC8qKiBVc2VkIHRvIGRldGVjdCB1bnNpZ25lZCBpbnRlZ2VyIHZhbHVlcy4gKi9cbiAgdmFyIHJlSXNVaW50ID0gL14oPzowfFsxLTldXFxkKikkLztcblxuICAvKiogVXNlZCB0byBtYXRjaCBMYXRpbiBVbmljb2RlIGxldHRlcnMgKGV4Y2x1ZGluZyBtYXRoZW1hdGljYWwgb3BlcmF0b3JzKS4gKi9cbiAgdmFyIHJlTGF0aW4gPSAvW1xceGMwLVxceGQ2XFx4ZDgtXFx4ZjZcXHhmOC1cXHhmZlxcdTAxMDAtXFx1MDE3Zl0vZztcblxuICAvKiogVXNlZCB0byBlbnN1cmUgY2FwdHVyaW5nIG9yZGVyIG9mIHRlbXBsYXRlIGRlbGltaXRlcnMuICovXG4gIHZhciByZU5vTWF0Y2ggPSAvKCReKS87XG5cbiAgLyoqIFVzZWQgdG8gbWF0Y2ggdW5lc2NhcGVkIGNoYXJhY3RlcnMgaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xuICB2YXIgcmVVbmVzY2FwZWRTdHJpbmcgPSAvWydcXG5cXHJcXHUyMDI4XFx1MjAyOVxcXFxdL2c7XG5cbiAgLyoqIFVzZWQgdG8gY29tcG9zZSB1bmljb2RlIGNoYXJhY3RlciBjbGFzc2VzLiAqL1xuICB2YXIgcnNBc3RyYWxSYW5nZSA9ICdcXFxcdWQ4MDAtXFxcXHVkZmZmJyxcbiAgICAgIHJzQ29tYm9NYXJrc1JhbmdlID0gJ1xcXFx1MDMwMC1cXFxcdTAzNmYnLFxuICAgICAgcmVDb21ib0hhbGZNYXJrc1JhbmdlID0gJ1xcXFx1ZmUyMC1cXFxcdWZlMmYnLFxuICAgICAgcnNDb21ib1N5bWJvbHNSYW5nZSA9ICdcXFxcdTIwZDAtXFxcXHUyMGZmJyxcbiAgICAgIHJzQ29tYm9SYW5nZSA9IHJzQ29tYm9NYXJrc1JhbmdlICsgcmVDb21ib0hhbGZNYXJrc1JhbmdlICsgcnNDb21ib1N5bWJvbHNSYW5nZSxcbiAgICAgIHJzRGluZ2JhdFJhbmdlID0gJ1xcXFx1MjcwMC1cXFxcdTI3YmYnLFxuICAgICAgcnNMb3dlclJhbmdlID0gJ2EtelxcXFx4ZGYtXFxcXHhmNlxcXFx4ZjgtXFxcXHhmZicsXG4gICAgICByc01hdGhPcFJhbmdlID0gJ1xcXFx4YWNcXFxceGIxXFxcXHhkN1xcXFx4ZjcnLFxuICAgICAgcnNOb25DaGFyUmFuZ2UgPSAnXFxcXHgwMC1cXFxceDJmXFxcXHgzYS1cXFxceDQwXFxcXHg1Yi1cXFxceDYwXFxcXHg3Yi1cXFxceGJmJyxcbiAgICAgIHJzUHVuY3R1YXRpb25SYW5nZSA9ICdcXFxcdTIwMDAtXFxcXHUyMDZmJyxcbiAgICAgIHJzU3BhY2VSYW5nZSA9ICcgXFxcXHRcXFxceDBiXFxcXGZcXFxceGEwXFxcXHVmZWZmXFxcXG5cXFxcclxcXFx1MjAyOFxcXFx1MjAyOVxcXFx1MTY4MFxcXFx1MTgwZVxcXFx1MjAwMFxcXFx1MjAwMVxcXFx1MjAwMlxcXFx1MjAwM1xcXFx1MjAwNFxcXFx1MjAwNVxcXFx1MjAwNlxcXFx1MjAwN1xcXFx1MjAwOFxcXFx1MjAwOVxcXFx1MjAwYVxcXFx1MjAyZlxcXFx1MjA1ZlxcXFx1MzAwMCcsXG4gICAgICByc1VwcGVyUmFuZ2UgPSAnQS1aXFxcXHhjMC1cXFxceGQ2XFxcXHhkOC1cXFxceGRlJyxcbiAgICAgIHJzVmFyUmFuZ2UgPSAnXFxcXHVmZTBlXFxcXHVmZTBmJyxcbiAgICAgIHJzQnJlYWtSYW5nZSA9IHJzTWF0aE9wUmFuZ2UgKyByc05vbkNoYXJSYW5nZSArIHJzUHVuY3R1YXRpb25SYW5nZSArIHJzU3BhY2VSYW5nZTtcblxuICAvKiogVXNlZCB0byBjb21wb3NlIHVuaWNvZGUgY2FwdHVyZSBncm91cHMuICovXG4gIHZhciByc0Fwb3MgPSBcIlsnXFx1MjAxOV1cIixcbiAgICAgIHJzQXN0cmFsID0gJ1snICsgcnNBc3RyYWxSYW5nZSArICddJyxcbiAgICAgIHJzQnJlYWsgPSAnWycgKyByc0JyZWFrUmFuZ2UgKyAnXScsXG4gICAgICByc0NvbWJvID0gJ1snICsgcnNDb21ib1JhbmdlICsgJ10nLFxuICAgICAgcnNEaWdpdHMgPSAnXFxcXGQrJyxcbiAgICAgIHJzRGluZ2JhdCA9ICdbJyArIHJzRGluZ2JhdFJhbmdlICsgJ10nLFxuICAgICAgcnNMb3dlciA9ICdbJyArIHJzTG93ZXJSYW5nZSArICddJyxcbiAgICAgIHJzTWlzYyA9ICdbXicgKyByc0FzdHJhbFJhbmdlICsgcnNCcmVha1JhbmdlICsgcnNEaWdpdHMgKyByc0RpbmdiYXRSYW5nZSArIHJzTG93ZXJSYW5nZSArIHJzVXBwZXJSYW5nZSArICddJyxcbiAgICAgIHJzRml0eiA9ICdcXFxcdWQ4M2NbXFxcXHVkZmZiLVxcXFx1ZGZmZl0nLFxuICAgICAgcnNNb2RpZmllciA9ICcoPzonICsgcnNDb21ibyArICd8JyArIHJzRml0eiArICcpJyxcbiAgICAgIHJzTm9uQXN0cmFsID0gJ1teJyArIHJzQXN0cmFsUmFuZ2UgKyAnXScsXG4gICAgICByc1JlZ2lvbmFsID0gJyg/OlxcXFx1ZDgzY1tcXFxcdWRkZTYtXFxcXHVkZGZmXSl7Mn0nLFxuICAgICAgcnNTdXJyUGFpciA9ICdbXFxcXHVkODAwLVxcXFx1ZGJmZl1bXFxcXHVkYzAwLVxcXFx1ZGZmZl0nLFxuICAgICAgcnNVcHBlciA9ICdbJyArIHJzVXBwZXJSYW5nZSArICddJyxcbiAgICAgIHJzWldKID0gJ1xcXFx1MjAwZCc7XG5cbiAgLyoqIFVzZWQgdG8gY29tcG9zZSB1bmljb2RlIHJlZ2V4ZXMuICovXG4gIHZhciByc01pc2NMb3dlciA9ICcoPzonICsgcnNMb3dlciArICd8JyArIHJzTWlzYyArICcpJyxcbiAgICAgIHJzTWlzY1VwcGVyID0gJyg/OicgKyByc1VwcGVyICsgJ3wnICsgcnNNaXNjICsgJyknLFxuICAgICAgcnNPcHRDb250ckxvd2VyID0gJyg/OicgKyByc0Fwb3MgKyAnKD86ZHxsbHxtfHJlfHN8dHx2ZSkpPycsXG4gICAgICByc09wdENvbnRyVXBwZXIgPSAnKD86JyArIHJzQXBvcyArICcoPzpEfExMfE18UkV8U3xUfFZFKSk/JyxcbiAgICAgIHJlT3B0TW9kID0gcnNNb2RpZmllciArICc/JyxcbiAgICAgIHJzT3B0VmFyID0gJ1snICsgcnNWYXJSYW5nZSArICddPycsXG4gICAgICByc09wdEpvaW4gPSAnKD86JyArIHJzWldKICsgJyg/OicgKyBbcnNOb25Bc3RyYWwsIHJzUmVnaW9uYWwsIHJzU3VyclBhaXJdLmpvaW4oJ3wnKSArICcpJyArIHJzT3B0VmFyICsgcmVPcHRNb2QgKyAnKSonLFxuICAgICAgcnNPcmRMb3dlciA9ICdcXFxcZCooPzoxc3R8Mm5kfDNyZHwoPyFbMTIzXSlcXFxcZHRoKSg/PVxcXFxifFtBLVpfXSknLFxuICAgICAgcnNPcmRVcHBlciA9ICdcXFxcZCooPzoxU1R8Mk5EfDNSRHwoPyFbMTIzXSlcXFxcZFRIKSg/PVxcXFxifFthLXpfXSknLFxuICAgICAgcnNTZXEgPSByc09wdFZhciArIHJlT3B0TW9kICsgcnNPcHRKb2luLFxuICAgICAgcnNFbW9qaSA9ICcoPzonICsgW3JzRGluZ2JhdCwgcnNSZWdpb25hbCwgcnNTdXJyUGFpcl0uam9pbignfCcpICsgJyknICsgcnNTZXEsXG4gICAgICByc1N5bWJvbCA9ICcoPzonICsgW3JzTm9uQXN0cmFsICsgcnNDb21ibyArICc/JywgcnNDb21ibywgcnNSZWdpb25hbCwgcnNTdXJyUGFpciwgcnNBc3RyYWxdLmpvaW4oJ3wnKSArICcpJztcblxuICAvKiogVXNlZCB0byBtYXRjaCBhcG9zdHJvcGhlcy4gKi9cbiAgdmFyIHJlQXBvcyA9IFJlZ0V4cChyc0Fwb3MsICdnJyk7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gbWF0Y2ggW2NvbWJpbmluZyBkaWFjcml0aWNhbCBtYXJrc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29tYmluaW5nX0RpYWNyaXRpY2FsX01hcmtzKSBhbmRcbiAgICogW2NvbWJpbmluZyBkaWFjcml0aWNhbCBtYXJrcyBmb3Igc3ltYm9sc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ29tYmluaW5nX0RpYWNyaXRpY2FsX01hcmtzX2Zvcl9TeW1ib2xzKS5cbiAgICovXG4gIHZhciByZUNvbWJvTWFyayA9IFJlZ0V4cChyc0NvbWJvLCAnZycpO1xuXG4gIC8qKiBVc2VkIHRvIG1hdGNoIFtzdHJpbmcgc3ltYm9sc10oaHR0cHM6Ly9tYXRoaWFzYnluZW5zLmJlL25vdGVzL2phdmFzY3JpcHQtdW5pY29kZSkuICovXG4gIHZhciByZVVuaWNvZGUgPSBSZWdFeHAocnNGaXR6ICsgJyg/PScgKyByc0ZpdHogKyAnKXwnICsgcnNTeW1ib2wgKyByc1NlcSwgJ2cnKTtcblxuICAvKiogVXNlZCB0byBtYXRjaCBjb21wbGV4IG9yIGNvbXBvdW5kIHdvcmRzLiAqL1xuICB2YXIgcmVVbmljb2RlV29yZCA9IFJlZ0V4cChbXG4gICAgcnNVcHBlciArICc/JyArIHJzTG93ZXIgKyAnKycgKyByc09wdENvbnRyTG93ZXIgKyAnKD89JyArIFtyc0JyZWFrLCByc1VwcGVyLCAnJCddLmpvaW4oJ3wnKSArICcpJyxcbiAgICByc01pc2NVcHBlciArICcrJyArIHJzT3B0Q29udHJVcHBlciArICcoPz0nICsgW3JzQnJlYWssIHJzVXBwZXIgKyByc01pc2NMb3dlciwgJyQnXS5qb2luKCd8JykgKyAnKScsXG4gICAgcnNVcHBlciArICc/JyArIHJzTWlzY0xvd2VyICsgJysnICsgcnNPcHRDb250ckxvd2VyLFxuICAgIHJzVXBwZXIgKyAnKycgKyByc09wdENvbnRyVXBwZXIsXG4gICAgcnNPcmRVcHBlcixcbiAgICByc09yZExvd2VyLFxuICAgIHJzRGlnaXRzLFxuICAgIHJzRW1vamlcbiAgXS5qb2luKCd8JyksICdnJyk7XG5cbiAgLyoqIFVzZWQgdG8gZGV0ZWN0IHN0cmluZ3Mgd2l0aCBbemVyby13aWR0aCBqb2luZXJzIG9yIGNvZGUgcG9pbnRzIGZyb20gdGhlIGFzdHJhbCBwbGFuZXNdKGh0dHA6Ly9lZXYuZWUvYmxvZy8yMDE1LzA5LzEyL2RhcmstY29ybmVycy1vZi11bmljb2RlLykuICovXG4gIHZhciByZUhhc1VuaWNvZGUgPSBSZWdFeHAoJ1snICsgcnNaV0ogKyByc0FzdHJhbFJhbmdlICArIHJzQ29tYm9SYW5nZSArIHJzVmFyUmFuZ2UgKyAnXScpO1xuXG4gIC8qKiBVc2VkIHRvIGRldGVjdCBzdHJpbmdzIHRoYXQgbmVlZCBhIG1vcmUgcm9idXN0IHJlZ2V4cCB0byBtYXRjaCB3b3Jkcy4gKi9cbiAgdmFyIHJlSGFzVW5pY29kZVdvcmQgPSAvW2Etel1bQS1aXXxbQS1aXXsyfVthLXpdfFswLTldW2EtekEtWl18W2EtekEtWl1bMC05XXxbXmEtekEtWjAtOSBdLztcblxuICAvKiogVXNlZCB0byBhc3NpZ24gZGVmYXVsdCBgY29udGV4dGAgb2JqZWN0IHByb3BlcnRpZXMuICovXG4gIHZhciBjb250ZXh0UHJvcHMgPSBbXG4gICAgJ0FycmF5JywgJ0J1ZmZlcicsICdEYXRhVmlldycsICdEYXRlJywgJ0Vycm9yJywgJ0Zsb2F0MzJBcnJheScsICdGbG9hdDY0QXJyYXknLFxuICAgICdGdW5jdGlvbicsICdJbnQ4QXJyYXknLCAnSW50MTZBcnJheScsICdJbnQzMkFycmF5JywgJ01hcCcsICdNYXRoJywgJ09iamVjdCcsXG4gICAgJ1Byb21pc2UnLCAnUmVnRXhwJywgJ1NldCcsICdTdHJpbmcnLCAnU3ltYm9sJywgJ1R5cGVFcnJvcicsICdVaW50OEFycmF5JyxcbiAgICAnVWludDhDbGFtcGVkQXJyYXknLCAnVWludDE2QXJyYXknLCAnVWludDMyQXJyYXknLCAnV2Vha01hcCcsXG4gICAgJ18nLCAnY2xlYXJUaW1lb3V0JywgJ2lzRmluaXRlJywgJ3BhcnNlSW50JywgJ3NldFRpbWVvdXQnXG4gIF07XG5cbiAgLyoqIFVzZWQgdG8gbWFrZSB0ZW1wbGF0ZSBzb3VyY2VVUkxzIGVhc2llciB0byBpZGVudGlmeS4gKi9cbiAgdmFyIHRlbXBsYXRlQ291bnRlciA9IC0xO1xuXG4gIC8qKiBVc2VkIHRvIGlkZW50aWZ5IGB0b1N0cmluZ1RhZ2AgdmFsdWVzIG9mIHR5cGVkIGFycmF5cy4gKi9cbiAgdmFyIHR5cGVkQXJyYXlUYWdzID0ge307XG4gIHR5cGVkQXJyYXlUYWdzW2Zsb2F0MzJUYWddID0gdHlwZWRBcnJheVRhZ3NbZmxvYXQ2NFRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1tpbnQ4VGFnXSA9IHR5cGVkQXJyYXlUYWdzW2ludDE2VGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2ludDMyVGFnXSA9IHR5cGVkQXJyYXlUYWdzW3VpbnQ4VGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW3VpbnQ4Q2xhbXBlZFRhZ10gPSB0eXBlZEFycmF5VGFnc1t1aW50MTZUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbdWludDMyVGFnXSA9IHRydWU7XG4gIHR5cGVkQXJyYXlUYWdzW2FyZ3NUYWddID0gdHlwZWRBcnJheVRhZ3NbYXJyYXlUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbYXJyYXlCdWZmZXJUYWddID0gdHlwZWRBcnJheVRhZ3NbYm9vbFRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1tkYXRhVmlld1RhZ10gPSB0eXBlZEFycmF5VGFnc1tkYXRlVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW2Vycm9yVGFnXSA9IHR5cGVkQXJyYXlUYWdzW2Z1bmNUYWddID1cbiAgdHlwZWRBcnJheVRhZ3NbbWFwVGFnXSA9IHR5cGVkQXJyYXlUYWdzW251bWJlclRhZ10gPVxuICB0eXBlZEFycmF5VGFnc1tvYmplY3RUYWddID0gdHlwZWRBcnJheVRhZ3NbcmVnZXhwVGFnXSA9XG4gIHR5cGVkQXJyYXlUYWdzW3NldFRhZ10gPSB0eXBlZEFycmF5VGFnc1tzdHJpbmdUYWddID1cbiAgdHlwZWRBcnJheVRhZ3Nbd2Vha01hcFRhZ10gPSBmYWxzZTtcblxuICAvKiogVXNlZCB0byBpZGVudGlmeSBgdG9TdHJpbmdUYWdgIHZhbHVlcyBzdXBwb3J0ZWQgYnkgYF8uY2xvbmVgLiAqL1xuICB2YXIgY2xvbmVhYmxlVGFncyA9IHt9O1xuICBjbG9uZWFibGVUYWdzW2FyZ3NUYWddID0gY2xvbmVhYmxlVGFnc1thcnJheVRhZ10gPVxuICBjbG9uZWFibGVUYWdzW2FycmF5QnVmZmVyVGFnXSA9IGNsb25lYWJsZVRhZ3NbZGF0YVZpZXdUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tib29sVGFnXSA9IGNsb25lYWJsZVRhZ3NbZGF0ZVRhZ10gPVxuICBjbG9uZWFibGVUYWdzW2Zsb2F0MzJUYWddID0gY2xvbmVhYmxlVGFnc1tmbG9hdDY0VGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbaW50OFRhZ10gPSBjbG9uZWFibGVUYWdzW2ludDE2VGFnXSA9XG4gIGNsb25lYWJsZVRhZ3NbaW50MzJUYWddID0gY2xvbmVhYmxlVGFnc1ttYXBUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tudW1iZXJUYWddID0gY2xvbmVhYmxlVGFnc1tvYmplY3RUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tyZWdleHBUYWddID0gY2xvbmVhYmxlVGFnc1tzZXRUYWddID1cbiAgY2xvbmVhYmxlVGFnc1tzdHJpbmdUYWddID0gY2xvbmVhYmxlVGFnc1tzeW1ib2xUYWddID1cbiAgY2xvbmVhYmxlVGFnc1t1aW50OFRhZ10gPSBjbG9uZWFibGVUYWdzW3VpbnQ4Q2xhbXBlZFRhZ10gPVxuICBjbG9uZWFibGVUYWdzW3VpbnQxNlRhZ10gPSBjbG9uZWFibGVUYWdzW3VpbnQzMlRhZ10gPSB0cnVlO1xuICBjbG9uZWFibGVUYWdzW2Vycm9yVGFnXSA9IGNsb25lYWJsZVRhZ3NbZnVuY1RhZ10gPVxuICBjbG9uZWFibGVUYWdzW3dlYWtNYXBUYWddID0gZmFsc2U7XG5cbiAgLyoqIFVzZWQgdG8gbWFwIExhdGluIFVuaWNvZGUgbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzLiAqL1xuICB2YXIgZGVidXJyZWRMZXR0ZXJzID0ge1xuICAgIC8vIExhdGluLTEgU3VwcGxlbWVudCBibG9jay5cbiAgICAnXFx4YzAnOiAnQScsICAnXFx4YzEnOiAnQScsICdcXHhjMic6ICdBJywgJ1xceGMzJzogJ0EnLCAnXFx4YzQnOiAnQScsICdcXHhjNSc6ICdBJyxcbiAgICAnXFx4ZTAnOiAnYScsICAnXFx4ZTEnOiAnYScsICdcXHhlMic6ICdhJywgJ1xceGUzJzogJ2EnLCAnXFx4ZTQnOiAnYScsICdcXHhlNSc6ICdhJyxcbiAgICAnXFx4YzcnOiAnQycsICAnXFx4ZTcnOiAnYycsXG4gICAgJ1xceGQwJzogJ0QnLCAgJ1xceGYwJzogJ2QnLFxuICAgICdcXHhjOCc6ICdFJywgICdcXHhjOSc6ICdFJywgJ1xceGNhJzogJ0UnLCAnXFx4Y2InOiAnRScsXG4gICAgJ1xceGU4JzogJ2UnLCAgJ1xceGU5JzogJ2UnLCAnXFx4ZWEnOiAnZScsICdcXHhlYic6ICdlJyxcbiAgICAnXFx4Y2MnOiAnSScsICAnXFx4Y2QnOiAnSScsICdcXHhjZSc6ICdJJywgJ1xceGNmJzogJ0knLFxuICAgICdcXHhlYyc6ICdpJywgICdcXHhlZCc6ICdpJywgJ1xceGVlJzogJ2knLCAnXFx4ZWYnOiAnaScsXG4gICAgJ1xceGQxJzogJ04nLCAgJ1xceGYxJzogJ24nLFxuICAgICdcXHhkMic6ICdPJywgICdcXHhkMyc6ICdPJywgJ1xceGQ0JzogJ08nLCAnXFx4ZDUnOiAnTycsICdcXHhkNic6ICdPJywgJ1xceGQ4JzogJ08nLFxuICAgICdcXHhmMic6ICdvJywgICdcXHhmMyc6ICdvJywgJ1xceGY0JzogJ28nLCAnXFx4ZjUnOiAnbycsICdcXHhmNic6ICdvJywgJ1xceGY4JzogJ28nLFxuICAgICdcXHhkOSc6ICdVJywgICdcXHhkYSc6ICdVJywgJ1xceGRiJzogJ1UnLCAnXFx4ZGMnOiAnVScsXG4gICAgJ1xceGY5JzogJ3UnLCAgJ1xceGZhJzogJ3UnLCAnXFx4ZmInOiAndScsICdcXHhmYyc6ICd1JyxcbiAgICAnXFx4ZGQnOiAnWScsICAnXFx4ZmQnOiAneScsICdcXHhmZic6ICd5JyxcbiAgICAnXFx4YzYnOiAnQWUnLCAnXFx4ZTYnOiAnYWUnLFxuICAgICdcXHhkZSc6ICdUaCcsICdcXHhmZSc6ICd0aCcsXG4gICAgJ1xceGRmJzogJ3NzJyxcbiAgICAvLyBMYXRpbiBFeHRlbmRlZC1BIGJsb2NrLlxuICAgICdcXHUwMTAwJzogJ0EnLCAgJ1xcdTAxMDInOiAnQScsICdcXHUwMTA0JzogJ0EnLFxuICAgICdcXHUwMTAxJzogJ2EnLCAgJ1xcdTAxMDMnOiAnYScsICdcXHUwMTA1JzogJ2EnLFxuICAgICdcXHUwMTA2JzogJ0MnLCAgJ1xcdTAxMDgnOiAnQycsICdcXHUwMTBhJzogJ0MnLCAnXFx1MDEwYyc6ICdDJyxcbiAgICAnXFx1MDEwNyc6ICdjJywgICdcXHUwMTA5JzogJ2MnLCAnXFx1MDEwYic6ICdjJywgJ1xcdTAxMGQnOiAnYycsXG4gICAgJ1xcdTAxMGUnOiAnRCcsICAnXFx1MDExMCc6ICdEJywgJ1xcdTAxMGYnOiAnZCcsICdcXHUwMTExJzogJ2QnLFxuICAgICdcXHUwMTEyJzogJ0UnLCAgJ1xcdTAxMTQnOiAnRScsICdcXHUwMTE2JzogJ0UnLCAnXFx1MDExOCc6ICdFJywgJ1xcdTAxMWEnOiAnRScsXG4gICAgJ1xcdTAxMTMnOiAnZScsICAnXFx1MDExNSc6ICdlJywgJ1xcdTAxMTcnOiAnZScsICdcXHUwMTE5JzogJ2UnLCAnXFx1MDExYic6ICdlJyxcbiAgICAnXFx1MDExYyc6ICdHJywgICdcXHUwMTFlJzogJ0cnLCAnXFx1MDEyMCc6ICdHJywgJ1xcdTAxMjInOiAnRycsXG4gICAgJ1xcdTAxMWQnOiAnZycsICAnXFx1MDExZic6ICdnJywgJ1xcdTAxMjEnOiAnZycsICdcXHUwMTIzJzogJ2cnLFxuICAgICdcXHUwMTI0JzogJ0gnLCAgJ1xcdTAxMjYnOiAnSCcsICdcXHUwMTI1JzogJ2gnLCAnXFx1MDEyNyc6ICdoJyxcbiAgICAnXFx1MDEyOCc6ICdJJywgICdcXHUwMTJhJzogJ0knLCAnXFx1MDEyYyc6ICdJJywgJ1xcdTAxMmUnOiAnSScsICdcXHUwMTMwJzogJ0knLFxuICAgICdcXHUwMTI5JzogJ2knLCAgJ1xcdTAxMmInOiAnaScsICdcXHUwMTJkJzogJ2knLCAnXFx1MDEyZic6ICdpJywgJ1xcdTAxMzEnOiAnaScsXG4gICAgJ1xcdTAxMzQnOiAnSicsICAnXFx1MDEzNSc6ICdqJyxcbiAgICAnXFx1MDEzNic6ICdLJywgICdcXHUwMTM3JzogJ2snLCAnXFx1MDEzOCc6ICdrJyxcbiAgICAnXFx1MDEzOSc6ICdMJywgICdcXHUwMTNiJzogJ0wnLCAnXFx1MDEzZCc6ICdMJywgJ1xcdTAxM2YnOiAnTCcsICdcXHUwMTQxJzogJ0wnLFxuICAgICdcXHUwMTNhJzogJ2wnLCAgJ1xcdTAxM2MnOiAnbCcsICdcXHUwMTNlJzogJ2wnLCAnXFx1MDE0MCc6ICdsJywgJ1xcdTAxNDInOiAnbCcsXG4gICAgJ1xcdTAxNDMnOiAnTicsICAnXFx1MDE0NSc6ICdOJywgJ1xcdTAxNDcnOiAnTicsICdcXHUwMTRhJzogJ04nLFxuICAgICdcXHUwMTQ0JzogJ24nLCAgJ1xcdTAxNDYnOiAnbicsICdcXHUwMTQ4JzogJ24nLCAnXFx1MDE0Yic6ICduJyxcbiAgICAnXFx1MDE0Yyc6ICdPJywgICdcXHUwMTRlJzogJ08nLCAnXFx1MDE1MCc6ICdPJyxcbiAgICAnXFx1MDE0ZCc6ICdvJywgICdcXHUwMTRmJzogJ28nLCAnXFx1MDE1MSc6ICdvJyxcbiAgICAnXFx1MDE1NCc6ICdSJywgICdcXHUwMTU2JzogJ1InLCAnXFx1MDE1OCc6ICdSJyxcbiAgICAnXFx1MDE1NSc6ICdyJywgICdcXHUwMTU3JzogJ3InLCAnXFx1MDE1OSc6ICdyJyxcbiAgICAnXFx1MDE1YSc6ICdTJywgICdcXHUwMTVjJzogJ1MnLCAnXFx1MDE1ZSc6ICdTJywgJ1xcdTAxNjAnOiAnUycsXG4gICAgJ1xcdTAxNWInOiAncycsICAnXFx1MDE1ZCc6ICdzJywgJ1xcdTAxNWYnOiAncycsICdcXHUwMTYxJzogJ3MnLFxuICAgICdcXHUwMTYyJzogJ1QnLCAgJ1xcdTAxNjQnOiAnVCcsICdcXHUwMTY2JzogJ1QnLFxuICAgICdcXHUwMTYzJzogJ3QnLCAgJ1xcdTAxNjUnOiAndCcsICdcXHUwMTY3JzogJ3QnLFxuICAgICdcXHUwMTY4JzogJ1UnLCAgJ1xcdTAxNmEnOiAnVScsICdcXHUwMTZjJzogJ1UnLCAnXFx1MDE2ZSc6ICdVJywgJ1xcdTAxNzAnOiAnVScsICdcXHUwMTcyJzogJ1UnLFxuICAgICdcXHUwMTY5JzogJ3UnLCAgJ1xcdTAxNmInOiAndScsICdcXHUwMTZkJzogJ3UnLCAnXFx1MDE2Zic6ICd1JywgJ1xcdTAxNzEnOiAndScsICdcXHUwMTczJzogJ3UnLFxuICAgICdcXHUwMTc0JzogJ1cnLCAgJ1xcdTAxNzUnOiAndycsXG4gICAgJ1xcdTAxNzYnOiAnWScsICAnXFx1MDE3Nyc6ICd5JywgJ1xcdTAxNzgnOiAnWScsXG4gICAgJ1xcdTAxNzknOiAnWicsICAnXFx1MDE3Yic6ICdaJywgJ1xcdTAxN2QnOiAnWicsXG4gICAgJ1xcdTAxN2EnOiAneicsICAnXFx1MDE3Yyc6ICd6JywgJ1xcdTAxN2UnOiAneicsXG4gICAgJ1xcdTAxMzInOiAnSUonLCAnXFx1MDEzMyc6ICdpaicsXG4gICAgJ1xcdTAxNTInOiAnT2UnLCAnXFx1MDE1Myc6ICdvZScsXG4gICAgJ1xcdTAxNDknOiBcIiduXCIsICdcXHUwMTdmJzogJ3MnXG4gIH07XG5cbiAgLyoqIFVzZWQgdG8gbWFwIGNoYXJhY3RlcnMgdG8gSFRNTCBlbnRpdGllcy4gKi9cbiAgdmFyIGh0bWxFc2NhcGVzID0ge1xuICAgICcmJzogJyZhbXA7JyxcbiAgICAnPCc6ICcmbHQ7JyxcbiAgICAnPic6ICcmZ3Q7JyxcbiAgICAnXCInOiAnJnF1b3Q7JyxcbiAgICBcIidcIjogJyYjMzk7J1xuICB9O1xuXG4gIC8qKiBVc2VkIHRvIG1hcCBIVE1MIGVudGl0aWVzIHRvIGNoYXJhY3RlcnMuICovXG4gIHZhciBodG1sVW5lc2NhcGVzID0ge1xuICAgICcmYW1wOyc6ICcmJyxcbiAgICAnJmx0Oyc6ICc8JyxcbiAgICAnJmd0Oyc6ICc+JyxcbiAgICAnJnF1b3Q7JzogJ1wiJyxcbiAgICAnJiMzOTsnOiBcIidcIlxuICB9O1xuXG4gIC8qKiBVc2VkIHRvIGVzY2FwZSBjaGFyYWN0ZXJzIGZvciBpbmNsdXNpb24gaW4gY29tcGlsZWQgc3RyaW5nIGxpdGVyYWxzLiAqL1xuICB2YXIgc3RyaW5nRXNjYXBlcyA9IHtcbiAgICAnXFxcXCc6ICdcXFxcJyxcbiAgICBcIidcIjogXCInXCIsXG4gICAgJ1xcbic6ICduJyxcbiAgICAnXFxyJzogJ3InLFxuICAgICdcXHUyMDI4JzogJ3UyMDI4JyxcbiAgICAnXFx1MjAyOSc6ICd1MjAyOSdcbiAgfTtcblxuICAvKiogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgd2l0aG91dCBhIGRlcGVuZGVuY3kgb24gYHJvb3RgLiAqL1xuICB2YXIgZnJlZVBhcnNlRmxvYXQgPSBwYXJzZUZsb2F0LFxuICAgICAgZnJlZVBhcnNlSW50ID0gcGFyc2VJbnQ7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBnbG9iYWxgIGZyb20gTm9kZS5qcy4gKi9cbiAgdmFyIGZyZWVHbG9iYWwgPSB0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGdsb2JhbCAmJiBnbG9iYWwuT2JqZWN0ID09PSBPYmplY3QgJiYgZ2xvYmFsO1xuXG4gIC8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgc2VsZmAuICovXG4gIHZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4gIC8qKiBVc2VkIGFzIGEgcmVmZXJlbmNlIHRvIHRoZSBnbG9iYWwgb2JqZWN0LiAqL1xuICB2YXIgcm9vdCA9IGZyZWVHbG9iYWwgfHwgZnJlZVNlbGYgfHwgRnVuY3Rpb24oJ3JldHVybiB0aGlzJykoKTtcblxuICAvKiogRGV0ZWN0IGZyZWUgdmFyaWFibGUgYGV4cG9ydHNgLiAqL1xuICB2YXIgZnJlZUV4cG9ydHMgPSB0eXBlb2YgZXhwb3J0cyA9PSAnb2JqZWN0JyAmJiBleHBvcnRzICYmICFleHBvcnRzLm5vZGVUeXBlICYmIGV4cG9ydHM7XG5cbiAgLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBtb2R1bGVgLiAqL1xuICB2YXIgZnJlZU1vZHVsZSA9IGZyZWVFeHBvcnRzICYmIHR5cGVvZiBtb2R1bGUgPT0gJ29iamVjdCcgJiYgbW9kdWxlICYmICFtb2R1bGUubm9kZVR5cGUgJiYgbW9kdWxlO1xuXG4gIC8qKiBEZXRlY3QgdGhlIHBvcHVsYXIgQ29tbW9uSlMgZXh0ZW5zaW9uIGBtb2R1bGUuZXhwb3J0c2AuICovXG4gIHZhciBtb2R1bGVFeHBvcnRzID0gZnJlZU1vZHVsZSAmJiBmcmVlTW9kdWxlLmV4cG9ydHMgPT09IGZyZWVFeHBvcnRzO1xuXG4gIC8qKiBEZXRlY3QgZnJlZSB2YXJpYWJsZSBgcHJvY2Vzc2AgZnJvbSBOb2RlLmpzLiAqL1xuICB2YXIgZnJlZVByb2Nlc3MgPSBtb2R1bGVFeHBvcnRzICYmIGZyZWVHbG9iYWwucHJvY2VzcztcblxuICAvKiogVXNlZCB0byBhY2Nlc3MgZmFzdGVyIE5vZGUuanMgaGVscGVycy4gKi9cbiAgdmFyIG5vZGVVdGlsID0gKGZ1bmN0aW9uKCkge1xuICAgIHRyeSB7XG4gICAgICAvLyBVc2UgYHV0aWwudHlwZXNgIGZvciBOb2RlLmpzIDEwKy5cbiAgICAgIHZhciB0eXBlcyA9IGZyZWVNb2R1bGUgJiYgZnJlZU1vZHVsZS5yZXF1aXJlICYmIGZyZWVNb2R1bGUucmVxdWlyZSgndXRpbCcpLnR5cGVzO1xuXG4gICAgICBpZiAodHlwZXMpIHtcbiAgICAgICAgcmV0dXJuIHR5cGVzO1xuICAgICAgfVxuXG4gICAgICAvLyBMZWdhY3kgYHByb2Nlc3MuYmluZGluZygndXRpbCcpYCBmb3IgTm9kZS5qcyA8IDEwLlxuICAgICAgcmV0dXJuIGZyZWVQcm9jZXNzICYmIGZyZWVQcm9jZXNzLmJpbmRpbmcgJiYgZnJlZVByb2Nlc3MuYmluZGluZygndXRpbCcpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH0oKSk7XG5cbiAgLyogTm9kZS5qcyBoZWxwZXIgcmVmZXJlbmNlcy4gKi9cbiAgdmFyIG5vZGVJc0FycmF5QnVmZmVyID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNBcnJheUJ1ZmZlcixcbiAgICAgIG5vZGVJc0RhdGUgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc0RhdGUsXG4gICAgICBub2RlSXNNYXAgPSBub2RlVXRpbCAmJiBub2RlVXRpbC5pc01hcCxcbiAgICAgIG5vZGVJc1JlZ0V4cCA9IG5vZGVVdGlsICYmIG5vZGVVdGlsLmlzUmVnRXhwLFxuICAgICAgbm9kZUlzU2V0ID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNTZXQsXG4gICAgICBub2RlSXNUeXBlZEFycmF5ID0gbm9kZVV0aWwgJiYgbm9kZVV0aWwuaXNUeXBlZEFycmF5O1xuXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIC8qKlxuICAgKiBBIGZhc3RlciBhbHRlcm5hdGl2ZSB0byBgRnVuY3Rpb24jYXBwbHlgLCB0aGlzIGZ1bmN0aW9uIGludm9rZXMgYGZ1bmNgXG4gICAqIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGB0aGlzQXJnYCBhbmQgdGhlIGFyZ3VtZW50cyBvZiBgYXJnc2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGludm9rZS5cbiAgICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXN1bHQgb2YgYGZ1bmNgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXBwbHkoZnVuYywgdGhpc0FyZywgYXJncykge1xuICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgIGNhc2UgMDogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnKTtcbiAgICAgIGNhc2UgMTogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdKTtcbiAgICAgIGNhc2UgMjogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgIGNhc2UgMzogcmV0dXJuIGZ1bmMuY2FsbCh0aGlzQXJnLCBhcmdzWzBdLCBhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmMuYXBwbHkodGhpc0FyZywgYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlQWdncmVnYXRvcmAgZm9yIGFycmF5cy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBgYWNjdW11bGF0b3JgIHZhbHVlcy5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSBrZXlzLlxuICAgKiBAcGFyYW0ge09iamVjdH0gYWNjdW11bGF0b3IgVGhlIGluaXRpYWwgYWdncmVnYXRlZCBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgYWNjdW11bGF0b3JgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlBZ2dyZWdhdG9yKGFycmF5LCBzZXR0ZXIsIGl0ZXJhdGVlLCBhY2N1bXVsYXRvcikge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICBzZXR0ZXIoYWNjdW11bGF0b3IsIHZhbHVlLCBpdGVyYXRlZSh2YWx1ZSksIGFycmF5KTtcbiAgICB9XG4gICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5mb3JFYWNoYCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5RWFjaChhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGl0ZXJhdGVlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8uZm9yRWFjaFJpZ2h0YCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5RWFjaFJpZ2h0KGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgaWYgKGl0ZXJhdGVlKGFycmF5W2xlbmd0aF0sIGxlbmd0aCwgYXJyYXkpID09PSBmYWxzZSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5ldmVyeWAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbGwgZWxlbWVudHMgcGFzcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlFdmVyeShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGlmICghcHJlZGljYXRlKGFycmF5W2luZGV4XSwgaW5kZXgsIGFycmF5KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5maWx0ZXJgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmaWx0ZXJlZCBhcnJheS5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5RmlsdGVyKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgIHJlc0luZGV4ID0gMCxcbiAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGFycmF5KSkge1xuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8uaW5jbHVkZXNgIGZvciBhcnJheXMgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBzcGVjaWZ5aW5nIGFuIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBbYXJyYXldIFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0geyp9IHRhcmdldCBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB0YXJnZXRgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheUluY2x1ZGVzKGFycmF5LCB2YWx1ZSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICByZXR1cm4gISFsZW5ndGggJiYgYmFzZUluZGV4T2YoYXJyYXksIHZhbHVlLCAwKSA+IC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZSBgYXJyYXlJbmNsdWRlc2AgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBhIGNvbXBhcmF0b3IuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdGFyZ2V0IFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJhdG9yIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdGFyZ2V0YCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlJbmNsdWRlc1dpdGgoYXJyYXksIHZhbHVlLCBjb21wYXJhdG9yKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGlmIChjb21wYXJhdG9yKHZhbHVlLCBhcnJheVtpbmRleF0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLm1hcGAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gICAqIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgbWFwcGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gYXJyYXlNYXAoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoLFxuICAgICAgICByZXN1bHQgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShhcnJheVtpbmRleF0sIGluZGV4LCBhcnJheSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQXBwZW5kcyB0aGUgZWxlbWVudHMgb2YgYHZhbHVlc2AgdG8gYGFycmF5YC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYXBwZW5kLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5UHVzaChhcnJheSwgdmFsdWVzKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IHZhbHVlcy5sZW5ndGgsXG4gICAgICAgIG9mZnNldCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICBhcnJheVtvZmZzZXQgKyBpbmRleF0gPSB2YWx1ZXNbaW5kZXhdO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnJlZHVjZWAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpbml0QWNjdW1dIFNwZWNpZnkgdXNpbmcgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYGFycmF5YCBhc1xuICAgKiAgdGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5UmVkdWNlKGFycmF5LCBpdGVyYXRlZSwgYWNjdW11bGF0b3IsIGluaXRBY2N1bSkge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcblxuICAgIGlmIChpbml0QWNjdW0gJiYgbGVuZ3RoKSB7XG4gICAgICBhY2N1bXVsYXRvciA9IGFycmF5WysraW5kZXhdO1xuICAgIH1cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgYWNjdW11bGF0b3IgPSBpdGVyYXRlZShhY2N1bXVsYXRvciwgYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpO1xuICAgIH1cbiAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gIH1cblxuICAvKipcbiAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnJlZHVjZVJpZ2h0YCBmb3IgYXJyYXlzIHdpdGhvdXQgc3VwcG9ydCBmb3JcbiAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gW2FycmF5XSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcGFyYW0geyp9IFthY2N1bXVsYXRvcl0gVGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2luaXRBY2N1bV0gU3BlY2lmeSB1c2luZyB0aGUgbGFzdCBlbGVtZW50IG9mIGBhcnJheWAgYXNcbiAgICogIHRoZSBpbml0aWFsIHZhbHVlLlxuICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYWNjdW11bGF0ZWQgdmFsdWUuXG4gICAqL1xuICBmdW5jdGlvbiBhcnJheVJlZHVjZVJpZ2h0KGFycmF5LCBpdGVyYXRlZSwgYWNjdW11bGF0b3IsIGluaXRBY2N1bSkge1xuICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICBpZiAoaW5pdEFjY3VtICYmIGxlbmd0aCkge1xuICAgICAgYWNjdW11bGF0b3IgPSBhcnJheVstLWxlbmd0aF07XG4gICAgfVxuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgYWNjdW11bGF0b3IgPSBpdGVyYXRlZShhY2N1bXVsYXRvciwgYXJyYXlbbGVuZ3RoXSwgbGVuZ3RoLCBhcnJheSk7XG4gICAgfVxuICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8uc29tZWAgZm9yIGFycmF5cyB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlXG4gICAqIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheV0gVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbnkgZWxlbWVudCBwYXNzZXMgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICogIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGFycmF5U29tZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2l6ZSBvZiBhbiBBU0NJSSBgc3RyaW5nYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN0cmluZyBzaXplLlxuICAgKi9cbiAgdmFyIGFzY2lpU2l6ZSA9IGJhc2VQcm9wZXJ0eSgnbGVuZ3RoJyk7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGFuIEFTQ0lJIGBzdHJpbmdgIHRvIGFuIGFycmF5LlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgYXJyYXkuXG4gICAqL1xuICBmdW5jdGlvbiBhc2NpaVRvQXJyYXkoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5zcGxpdCgnJyk7XG4gIH1cblxuICAvKipcbiAgICogU3BsaXRzIGFuIEFTQ0lJIGBzdHJpbmdgIGludG8gYW4gYXJyYXkgb2YgaXRzIHdvcmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHdvcmRzIG9mIGBzdHJpbmdgLlxuICAgKi9cbiAgZnVuY3Rpb24gYXNjaWlXb3JkcyhzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLm1hdGNoKHJlQXNjaWlXb3JkKSB8fCBbXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8uZmluZEtleWAgYW5kIGBfLmZpbmRMYXN0S2V5YCxcbiAgICogd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLCB3aGljaCBpdGVyYXRlcyBvdmVyIGBjb2xsZWN0aW9uYFxuICAgKiB1c2luZyBgZWFjaEZ1bmNgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcmVkaWNhdGUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBgY29sbGVjdGlvbmAuXG4gICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmb3VuZCBlbGVtZW50IG9yIGl0cyBrZXksIGVsc2UgYHVuZGVmaW5lZGAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlRmluZEtleShjb2xsZWN0aW9uLCBwcmVkaWNhdGUsIGVhY2hGdW5jKSB7XG4gICAgdmFyIHJlc3VsdDtcbiAgICBlYWNoRnVuYyhjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pKSB7XG4gICAgICAgIHJlc3VsdCA9IGtleTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZmluZEluZGV4YCBhbmQgYF8uZmluZExhc3RJbmRleGAgd2l0aG91dFxuICAgKiBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmcm9tSW5kZXggVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VGaW5kSW5kZXgoYXJyYXksIHByZWRpY2F0ZSwgZnJvbUluZGV4LCBmcm9tUmlnaHQpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICBpbmRleCA9IGZyb21JbmRleCArIChmcm9tUmlnaHQgPyAxIDogLTEpO1xuXG4gICAgd2hpbGUgKChmcm9tUmlnaHQgPyBpbmRleC0tIDogKytpbmRleCA8IGxlbmd0aCkpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmluZGV4T2ZgIHdpdGhvdXQgYGZyb21JbmRleGAgYm91bmRzIGNoZWNrcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmcm9tSW5kZXggVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZUluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICByZXR1cm4gdmFsdWUgPT09IHZhbHVlXG4gICAgICA/IHN0cmljdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpXG4gICAgICA6IGJhc2VGaW5kSW5kZXgoYXJyYXksIGJhc2VJc05hTiwgZnJvbUluZGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGJhc2VJbmRleE9mYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGEgY29tcGFyYXRvci5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmcm9tSW5kZXggVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJhdG9yIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlSW5kZXhPZldpdGgoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgsIGNvbXBhcmF0b3IpIHtcbiAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggLSAxLFxuICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgaWYgKGNvbXBhcmF0b3IoYXJyYXlbaW5kZXhdLCB2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYU5gIHdpdGhvdXQgc3VwcG9ydCBmb3IgbnVtYmVyIG9iamVjdHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBgTmFOYCwgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gYmFzZUlzTmFOKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlICE9PSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5tZWFuYCBhbmQgYF8ubWVhbkJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAqIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIG1lYW4uXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlTWVhbihhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgcmV0dXJuIGxlbmd0aCA/IChiYXNlU3VtKGFycmF5LCBpdGVyYXRlZSkgLyBsZW5ndGgpIDogTkFOO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnByb3BlcnR5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGRlZXAgcGF0aHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VQcm9wZXJ0eShrZXkpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyB1bmRlZmluZWQgOiBvYmplY3Rba2V5XTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnByb3BlcnR5T2ZgIHdpdGhvdXQgc3VwcG9ydCBmb3IgZGVlcCBwYXRocy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VQcm9wZXJ0eU9mKG9iamVjdCkge1xuICAgIHJldHVybiBmdW5jdGlvbihrZXkpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmVkdWNlYCBhbmQgYF8ucmVkdWNlUmlnaHRgLCB3aXRob3V0IHN1cHBvcnRcbiAgICogZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMsIHdoaWNoIGl0ZXJhdGVzIG92ZXIgYGNvbGxlY3Rpb25gIHVzaW5nIGBlYWNoRnVuY2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICogQHBhcmFtIHsqfSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBpbml0QWNjdW0gU3BlY2lmeSB1c2luZyB0aGUgZmlyc3Qgb3IgbGFzdCBlbGVtZW50IG9mXG4gICAqICBgY29sbGVjdGlvbmAgYXMgdGhlIGluaXRpYWwgdmFsdWUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGVhY2hGdW5jIFRoZSBmdW5jdGlvbiB0byBpdGVyYXRlIG92ZXIgYGNvbGxlY3Rpb25gLlxuICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYWNjdW11bGF0ZWQgdmFsdWUuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlUmVkdWNlKGNvbGxlY3Rpb24sIGl0ZXJhdGVlLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBlYWNoRnVuYykge1xuICAgIGVhY2hGdW5jKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbikge1xuICAgICAgYWNjdW11bGF0b3IgPSBpbml0QWNjdW1cbiAgICAgICAgPyAoaW5pdEFjY3VtID0gZmFsc2UsIHZhbHVlKVxuICAgICAgICA6IGl0ZXJhdGVlKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pO1xuICAgIH0pO1xuICAgIHJldHVybiBhY2N1bXVsYXRvcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zb3J0QnlgIHdoaWNoIHVzZXMgYGNvbXBhcmVyYCB0byBkZWZpbmUgdGhlXG4gICAqIHNvcnQgb3JkZXIgb2YgYGFycmF5YCBhbmQgcmVwbGFjZXMgY3JpdGVyaWEgb2JqZWN0cyB3aXRoIHRoZWlyIGNvcnJlc3BvbmRpbmdcbiAgICogdmFsdWVzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc29ydC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gY29tcGFyZXIgVGhlIGZ1bmN0aW9uIHRvIGRlZmluZSBzb3J0IG9yZGVyLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VTb3J0QnkoYXJyYXksIGNvbXBhcmVyKSB7XG4gICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIGFycmF5LnNvcnQoY29tcGFyZXIpO1xuICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgYXJyYXlbbGVuZ3RoXSA9IGFycmF5W2xlbmd0aF0udmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBhcnJheTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zdW1gIGFuZCBgXy5zdW1CeWAgd2l0aG91dCBzdXBwb3J0IGZvclxuICAgKiBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdW0uXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlU3VtKGFycmF5LCBpdGVyYXRlZSkge1xuICAgIHZhciByZXN1bHQsXG4gICAgICAgIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgY3VycmVudCA9IGl0ZXJhdGVlKGFycmF5W2luZGV4XSk7XG4gICAgICBpZiAoY3VycmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJlc3VsdCA9IHJlc3VsdCA9PT0gdW5kZWZpbmVkID8gY3VycmVudCA6IChyZXN1bHQgKyBjdXJyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50aW1lc2Agd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzXG4gICAqIG9yIG1heCBhcnJheSBsZW5ndGggY2hlY2tzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIGludm9rZSBgaXRlcmF0ZWVgLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlVGltZXMobiwgaXRlcmF0ZWUpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkobik7XG5cbiAgICB3aGlsZSAoKytpbmRleCA8IG4pIHtcbiAgICAgIHJlc3VsdFtpbmRleF0gPSBpdGVyYXRlZShpbmRleCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udG9QYWlyc2AgYW5kIGBfLnRvUGFpcnNJbmAgd2hpY2ggY3JlYXRlcyBhbiBhcnJheVxuICAgKiBvZiBrZXktdmFsdWUgcGFpcnMgZm9yIGBvYmplY3RgIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHByb3BlcnR5IG5hbWVzIG9mIGBwcm9wc2AuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IG5hbWVzIHRvIGdldCB2YWx1ZXMgZm9yLlxuICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBrZXktdmFsdWUgcGFpcnMuXG4gICAqL1xuICBmdW5jdGlvbiBiYXNlVG9QYWlycyhvYmplY3QsIHByb3BzKSB7XG4gICAgcmV0dXJuIGFycmF5TWFwKHByb3BzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgIHJldHVybiBba2V5LCBvYmplY3Rba2V5XV07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5hcnlgIHdpdGhvdXQgc3VwcG9ydCBmb3Igc3RvcmluZyBtZXRhZGF0YS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY2FwIGFyZ3VtZW50cyBmb3IuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhcHBlZCBmdW5jdGlvbi5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VVbmFyeShmdW5jKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gZnVuYyh2YWx1ZSk7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy52YWx1ZXNgIGFuZCBgXy52YWx1ZXNJbmAgd2hpY2ggY3JlYXRlcyBhblxuICAgKiBhcnJheSBvZiBgb2JqZWN0YCBwcm9wZXJ0eSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0byB0aGUgcHJvcGVydHkgbmFtZXNcbiAgICogb2YgYHByb3BzYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgbmFtZXMgdG8gZ2V0IHZhbHVlcyBmb3IuXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IHZhbHVlcy5cbiAgICovXG4gIGZ1bmN0aW9uIGJhc2VWYWx1ZXMob2JqZWN0LCBwcm9wcykge1xuICAgIHJldHVybiBhcnJheU1hcChwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICByZXR1cm4gb2JqZWN0W2tleV07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGEgYGNhY2hlYCB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gY2FjaGUgVGhlIGNhY2hlIHRvIHF1ZXJ5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgKi9cbiAgZnVuY3Rpb24gY2FjaGVIYXMoY2FjaGUsIGtleSkge1xuICAgIHJldHVybiBjYWNoZS5oYXMoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLnRyaW1gIGFuZCBgXy50cmltU3RhcnRgIHRvIGdldCB0aGUgaW5kZXggb2YgdGhlIGZpcnN0IHN0cmluZyBzeW1ib2xcbiAgICogdGhhdCBpcyBub3QgZm91bmQgaW4gdGhlIGNoYXJhY3RlciBzeW1ib2xzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBzdHJTeW1ib2xzIFRoZSBzdHJpbmcgc3ltYm9scyB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0ge0FycmF5fSBjaHJTeW1ib2xzIFRoZSBjaGFyYWN0ZXIgc3ltYm9scyB0byBmaW5kLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgdW5tYXRjaGVkIHN0cmluZyBzeW1ib2wuXG4gICAqL1xuICBmdW5jdGlvbiBjaGFyc1N0YXJ0SW5kZXgoc3RyU3ltYm9scywgY2hyU3ltYm9scykge1xuICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICBsZW5ndGggPSBzdHJTeW1ib2xzLmxlbmd0aDtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoICYmIGJhc2VJbmRleE9mKGNoclN5bWJvbHMsIHN0clN5bWJvbHNbaW5kZXhdLCAwKSA+IC0xKSB7fVxuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLnRyaW1gIGFuZCBgXy50cmltRW5kYCB0byBnZXQgdGhlIGluZGV4IG9mIHRoZSBsYXN0IHN0cmluZyBzeW1ib2xcbiAgICogdGhhdCBpcyBub3QgZm91bmQgaW4gdGhlIGNoYXJhY3RlciBzeW1ib2xzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBzdHJTeW1ib2xzIFRoZSBzdHJpbmcgc3ltYm9scyB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0ge0FycmF5fSBjaHJTeW1ib2xzIFRoZSBjaGFyYWN0ZXIgc3ltYm9scyB0byBmaW5kLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbGFzdCB1bm1hdGNoZWQgc3RyaW5nIHN5bWJvbC5cbiAgICovXG4gIGZ1bmN0aW9uIGNoYXJzRW5kSW5kZXgoc3RyU3ltYm9scywgY2hyU3ltYm9scykge1xuICAgIHZhciBpbmRleCA9IHN0clN5bWJvbHMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGluZGV4LS0gJiYgYmFzZUluZGV4T2YoY2hyU3ltYm9scywgc3RyU3ltYm9sc1tpbmRleF0sIDApID4gLTEpIHt9XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIG51bWJlciBvZiBgcGxhY2Vob2xkZXJgIG9jY3VycmVuY2VzIGluIGBhcnJheWAuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgKiBAcGFyYW0geyp9IHBsYWNlaG9sZGVyIFRoZSBwbGFjZWhvbGRlciB0byBzZWFyY2ggZm9yLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBwbGFjZWhvbGRlciBjb3VudC5cbiAgICovXG4gIGZ1bmN0aW9uIGNvdW50SG9sZGVycyhhcnJheSwgcGxhY2Vob2xkZXIpIHtcbiAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICByZXN1bHQgPSAwO1xuXG4gICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICBpZiAoYXJyYXlbbGVuZ3RoXSA9PT0gcGxhY2Vob2xkZXIpIHtcbiAgICAgICAgKytyZXN1bHQ7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBieSBgXy5kZWJ1cnJgIHRvIGNvbnZlcnQgTGF0aW4tMSBTdXBwbGVtZW50IGFuZCBMYXRpbiBFeHRlbmRlZC1BXG4gICAqIGxldHRlcnMgdG8gYmFzaWMgTGF0aW4gbGV0dGVycy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGxldHRlciBUaGUgbWF0Y2hlZCBsZXR0ZXIgdG8gZGVidXJyLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBkZWJ1cnJlZCBsZXR0ZXIuXG4gICAqL1xuICB2YXIgZGVidXJyTGV0dGVyID0gYmFzZVByb3BlcnR5T2YoZGVidXJyZWRMZXR0ZXJzKTtcblxuICAvKipcbiAgICogVXNlZCBieSBgXy5lc2NhcGVgIHRvIGNvbnZlcnQgY2hhcmFjdGVycyB0byBIVE1MIGVudGl0aWVzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byBlc2NhcGUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGVzY2FwZWQgY2hhcmFjdGVyLlxuICAgKi9cbiAgdmFyIGVzY2FwZUh0bWxDaGFyID0gYmFzZVByb3BlcnR5T2YoaHRtbEVzY2FwZXMpO1xuXG4gIC8qKlxuICAgKiBVc2VkIGJ5IGBfLnRlbXBsYXRlYCB0byBlc2NhcGUgY2hhcmFjdGVycyBmb3IgaW5jbHVzaW9uIGluIGNvbXBpbGVkIHN0cmluZyBsaXRlcmFscy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNociBUaGUgbWF0Y2hlZCBjaGFyYWN0ZXIgdG8gZXNjYXBlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIGNoYXJhY3Rlci5cbiAgICovXG4gIGZ1bmN0aW9uIGVzY2FwZVN0cmluZ0NoYXIoY2hyKSB7XG4gICAgcmV0dXJuICdcXFxcJyArIHN0cmluZ0VzY2FwZXNbY2hyXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcHJvcGVydHkgdmFsdWUuXG4gICAqL1xuICBmdW5jdGlvbiBnZXRWYWx1ZShvYmplY3QsIGtleSkge1xuICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFtrZXldO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBgc3RyaW5nYCBjb250YWlucyBVbmljb2RlIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYSBzeW1ib2wgaXMgZm91bmQsIGVsc2UgYGZhbHNlYC5cbiAgICovXG4gIGZ1bmN0aW9uIGhhc1VuaWNvZGUoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHJlSGFzVW5pY29kZS50ZXN0KHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGBzdHJpbmdgIGNvbnRhaW5zIGEgd29yZCBjb21wb3NlZCBvZiBVbmljb2RlIHN5bWJvbHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYSB3b3JkIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAqL1xuICBmdW5jdGlvbiBoYXNVbmljb2RlV29yZChzdHJpbmcpIHtcbiAgICByZXR1cm4gcmVIYXNVbmljb2RlV29yZC50ZXN0KHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYGl0ZXJhdG9yYCB0byBhbiBhcnJheS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IGl0ZXJhdG9yIFRoZSBpdGVyYXRvciB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBhcnJheS5cbiAgICovXG4gIGZ1bmN0aW9uIGl0ZXJhdG9yVG9BcnJheShpdGVyYXRvcikge1xuICAgIHZhciBkYXRhLFxuICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgIHdoaWxlICghKGRhdGEgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGRhdGEudmFsdWUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGBtYXBgIHRvIGl0cyBrZXktdmFsdWUgcGFpcnMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBtYXAgVGhlIG1hcCB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICovXG4gIGZ1bmN0aW9uIG1hcFRvQXJyYXkobWFwKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIHJlc3VsdCA9IEFycmF5KG1hcC5zaXplKTtcblxuICAgIG1hcC5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgIHJlc3VsdFsrK2luZGV4XSA9IFtrZXksIHZhbHVlXTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB1bmFyeSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggaXRzIGFyZ3VtZW50IHRyYW5zZm9ybWVkLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byB3cmFwLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm0gVGhlIGFyZ3VtZW50IHRyYW5zZm9ybS5cbiAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAqL1xuICBmdW5jdGlvbiBvdmVyQXJnKGZ1bmMsIHRyYW5zZm9ybSkge1xuICAgIHJldHVybiBmdW5jdGlvbihhcmcpIHtcbiAgICAgIHJldHVybiBmdW5jKHRyYW5zZm9ybShhcmcpKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIGFsbCBgcGxhY2Vob2xkZXJgIGVsZW1lbnRzIGluIGBhcnJheWAgd2l0aCBhbiBpbnRlcm5hbCBwbGFjZWhvbGRlclxuICAgKiBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiB0aGVpciBpbmRleGVzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0geyp9IHBsYWNlaG9sZGVyIFRoZSBwbGFjZWhvbGRlciB0byByZXBsYWNlLlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBwbGFjZWhvbGRlciBpbmRleGVzLlxuICAgKi9cbiAgZnVuY3Rpb24gcmVwbGFjZUhvbGRlcnMoYXJyYXksIHBsYWNlaG9sZGVyKSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF07XG4gICAgICBpZiAodmFsdWUgPT09IHBsYWNlaG9sZGVyIHx8IHZhbHVlID09PSBQTEFDRUhPTERFUikge1xuICAgICAgICBhcnJheVtpbmRleF0gPSBQTEFDRUhPTERFUjtcbiAgICAgICAgcmVzdWx0W3Jlc0luZGV4KytdID0gaW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYHNldGAgdG8gYW4gYXJyYXkgb2YgaXRzIHZhbHVlcy5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtPYmplY3R9IHNldCBUaGUgc2V0IHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgdmFsdWVzLlxuICAgKi9cbiAgZnVuY3Rpb24gc2V0VG9BcnJheShzZXQpIHtcbiAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgcmVzdWx0ID0gQXJyYXkoc2V0LnNpemUpO1xuXG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgIHJlc3VsdFsrK2luZGV4XSA9IHZhbHVlO1xuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYHNldGAgdG8gaXRzIHZhbHVlLXZhbHVlIHBhaXJzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge09iamVjdH0gc2V0IFRoZSBzZXQgdG8gY29udmVydC5cbiAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB2YWx1ZS12YWx1ZSBwYWlycy5cbiAgICovXG4gIGZ1bmN0aW9uIHNldFRvUGFpcnMoc2V0KSB7XG4gICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgIHJlc3VsdCA9IEFycmF5KHNldC5zaXplKTtcblxuICAgIHNldC5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXN1bHRbKytpbmRleF0gPSBbdmFsdWUsIHZhbHVlXTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5pbmRleE9mYCB3aGljaCBwZXJmb3JtcyBzdHJpY3QgZXF1YWxpdHlcbiAgICogY29tcGFyaXNvbnMgb2YgdmFsdWVzLCBpLmUuIGA9PT1gLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGZyb21JbmRleCBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAqL1xuICBmdW5jdGlvbiBzdHJpY3RJbmRleE9mKGFycmF5LCB2YWx1ZSwgZnJvbUluZGV4KSB7XG4gICAgdmFyIGluZGV4ID0gZnJvbUluZGV4IC0gMSxcbiAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGlmIChhcnJheVtpbmRleF0gPT09IHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5sYXN0SW5kZXhPZmAgd2hpY2ggcGVyZm9ybXMgc3RyaWN0IGVxdWFsaXR5XG4gICAqIGNvbXBhcmlzb25zIG9mIHZhbHVlcywgaS5lLiBgPT09YC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBmcm9tSW5kZXggVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgKi9cbiAgZnVuY3Rpb24gc3RyaWN0TGFzdEluZGV4T2YoYXJyYXksIHZhbHVlLCBmcm9tSW5kZXgpIHtcbiAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggKyAxO1xuICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICBpZiAoYXJyYXlbaW5kZXhdID09PSB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpbmRleDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBudW1iZXIgb2Ygc3ltYm9scyBpbiBgc3RyaW5nYC5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN0cmluZyBzaXplLlxuICAgKi9cbiAgZnVuY3Rpb24gc3RyaW5nU2l6ZShzdHJpbmcpIHtcbiAgICByZXR1cm4gaGFzVW5pY29kZShzdHJpbmcpXG4gICAgICA/IHVuaWNvZGVTaXplKHN0cmluZylcbiAgICAgIDogYXNjaWlTaXplKHN0cmluZyk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYHN0cmluZ2AgdG8gYW4gYXJyYXkuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBhcnJheS5cbiAgICovXG4gIGZ1bmN0aW9uIHN0cmluZ1RvQXJyYXkoc3RyaW5nKSB7XG4gICAgcmV0dXJuIGhhc1VuaWNvZGUoc3RyaW5nKVxuICAgICAgPyB1bmljb2RlVG9BcnJheShzdHJpbmcpXG4gICAgICA6IGFzY2lpVG9BcnJheShzdHJpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgYnkgYF8udW5lc2NhcGVgIHRvIGNvbnZlcnQgSFRNTCBlbnRpdGllcyB0byBjaGFyYWN0ZXJzLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hyIFRoZSBtYXRjaGVkIGNoYXJhY3RlciB0byB1bmVzY2FwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdW5lc2NhcGVkIGNoYXJhY3Rlci5cbiAgICovXG4gIHZhciB1bmVzY2FwZUh0bWxDaGFyID0gYmFzZVByb3BlcnR5T2YoaHRtbFVuZXNjYXBlcyk7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpemUgb2YgYSBVbmljb2RlIGBzdHJpbmdgLlxuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nIFRoZSBzdHJpbmcgaW5zcGVjdC5cbiAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc3RyaW5nIHNpemUuXG4gICAqL1xuICBmdW5jdGlvbiB1bmljb2RlU2l6ZShzdHJpbmcpIHtcbiAgICB2YXIgcmVzdWx0ID0gcmVVbmljb2RlLmxhc3RJbmRleCA9IDA7XG4gICAgd2hpbGUgKHJlVW5pY29kZS50ZXN0KHN0cmluZykpIHtcbiAgICAgICsrcmVzdWx0O1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIGEgVW5pY29kZSBgc3RyaW5nYCB0byBhbiBhcnJheS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgKi9cbiAgZnVuY3Rpb24gdW5pY29kZVRvQXJyYXkoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5tYXRjaChyZVVuaWNvZGUpIHx8IFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIFNwbGl0cyBhIFVuaWNvZGUgYHN0cmluZ2AgaW50byBhbiBhcnJheSBvZiBpdHMgd29yZHMuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBUaGUgc3RyaW5nIHRvIGluc3BlY3QuXG4gICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgd29yZHMgb2YgYHN0cmluZ2AuXG4gICAqL1xuICBmdW5jdGlvbiB1bmljb2RlV29yZHMoc3RyaW5nKSB7XG4gICAgcmV0dXJuIHN0cmluZy5tYXRjaChyZVVuaWNvZGVXb3JkKSB8fCBbXTtcbiAgfVxuXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgcHJpc3RpbmUgYGxvZGFzaGAgZnVuY3Rpb24gdXNpbmcgdGhlIGBjb250ZXh0YCBvYmplY3QuXG4gICAqXG4gICAqIEBzdGF0aWNcbiAgICogQG1lbWJlck9mIF9cbiAgICogQHNpbmNlIDEuMS4wXG4gICAqIEBjYXRlZ29yeSBVdGlsXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBbY29udGV4dD1yb290XSBUaGUgY29udGV4dCBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBhIG5ldyBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICogQGV4YW1wbGVcbiAgICpcbiAgICogXy5taXhpbih7ICdmb28nOiBfLmNvbnN0YW50KCdmb28nKSB9KTtcbiAgICpcbiAgICogdmFyIGxvZGFzaCA9IF8ucnVuSW5Db250ZXh0KCk7XG4gICAqIGxvZGFzaC5taXhpbih7ICdiYXInOiBsb2Rhc2guY29uc3RhbnQoJ2JhcicpIH0pO1xuICAgKlxuICAgKiBfLmlzRnVuY3Rpb24oXy5mb28pO1xuICAgKiAvLyA9PiB0cnVlXG4gICAqIF8uaXNGdW5jdGlvbihfLmJhcik7XG4gICAqIC8vID0+IGZhbHNlXG4gICAqXG4gICAqIGxvZGFzaC5pc0Z1bmN0aW9uKGxvZGFzaC5mb28pO1xuICAgKiAvLyA9PiBmYWxzZVxuICAgKiBsb2Rhc2guaXNGdW5jdGlvbihsb2Rhc2guYmFyKTtcbiAgICogLy8gPT4gdHJ1ZVxuICAgKlxuICAgKiAvLyBDcmVhdGUgYSBzdXBlZC11cCBgZGVmZXJgIGluIE5vZGUuanMuXG4gICAqIHZhciBkZWZlciA9IF8ucnVuSW5Db250ZXh0KHsgJ3NldFRpbWVvdXQnOiBzZXRJbW1lZGlhdGUgfSkuZGVmZXI7XG4gICAqL1xuICB2YXIgcnVuSW5Db250ZXh0ID0gKGZ1bmN0aW9uIHJ1bkluQ29udGV4dChjb250ZXh0KSB7XG4gICAgY29udGV4dCA9IGNvbnRleHQgPT0gbnVsbCA/IHJvb3QgOiBfLmRlZmF1bHRzKHJvb3QuT2JqZWN0KCksIGNvbnRleHQsIF8ucGljayhyb290LCBjb250ZXh0UHJvcHMpKTtcblxuICAgIC8qKiBCdWlsdC1pbiBjb25zdHJ1Y3RvciByZWZlcmVuY2VzLiAqL1xuICAgIHZhciBBcnJheSA9IGNvbnRleHQuQXJyYXksXG4gICAgICAgIERhdGUgPSBjb250ZXh0LkRhdGUsXG4gICAgICAgIEVycm9yID0gY29udGV4dC5FcnJvcixcbiAgICAgICAgRnVuY3Rpb24gPSBjb250ZXh0LkZ1bmN0aW9uLFxuICAgICAgICBNYXRoID0gY29udGV4dC5NYXRoLFxuICAgICAgICBPYmplY3QgPSBjb250ZXh0Lk9iamVjdCxcbiAgICAgICAgUmVnRXhwID0gY29udGV4dC5SZWdFeHAsXG4gICAgICAgIFN0cmluZyA9IGNvbnRleHQuU3RyaW5nLFxuICAgICAgICBUeXBlRXJyb3IgPSBjb250ZXh0LlR5cGVFcnJvcjtcblxuICAgIC8qKiBVc2VkIGZvciBidWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcy4gKi9cbiAgICB2YXIgYXJyYXlQcm90byA9IEFycmF5LnByb3RvdHlwZSxcbiAgICAgICAgZnVuY1Byb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlLFxuICAgICAgICBvYmplY3RQcm90byA9IE9iamVjdC5wcm90b3R5cGU7XG5cbiAgICAvKiogVXNlZCB0byBkZXRlY3Qgb3ZlcnJlYWNoaW5nIGNvcmUtanMgc2hpbXMuICovXG4gICAgdmFyIGNvcmVKc0RhdGEgPSBjb250ZXh0WydfX2NvcmUtanNfc2hhcmVkX18nXTtcblxuICAgIC8qKiBVc2VkIHRvIHJlc29sdmUgdGhlIGRlY29tcGlsZWQgc291cmNlIG9mIGZ1bmN0aW9ucy4gKi9cbiAgICB2YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuXG4gICAgLyoqIFVzZWQgdG8gY2hlY2sgb2JqZWN0cyBmb3Igb3duIHByb3BlcnRpZXMuICovXG4gICAgdmFyIGhhc093blByb3BlcnR5ID0gb2JqZWN0UHJvdG8uaGFzT3duUHJvcGVydHk7XG5cbiAgICAvKiogVXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgSURzLiAqL1xuICAgIHZhciBpZENvdW50ZXIgPSAwO1xuXG4gICAgLyoqIFVzZWQgdG8gZGV0ZWN0IG1ldGhvZHMgbWFzcXVlcmFkaW5nIGFzIG5hdGl2ZS4gKi9cbiAgICB2YXIgbWFza1NyY0tleSA9IChmdW5jdGlvbigpIHtcbiAgICAgIHZhciB1aWQgPSAvW14uXSskLy5leGVjKGNvcmVKc0RhdGEgJiYgY29yZUpzRGF0YS5rZXlzICYmIGNvcmVKc0RhdGEua2V5cy5JRV9QUk9UTyB8fCAnJyk7XG4gICAgICByZXR1cm4gdWlkID8gKCdTeW1ib2woc3JjKV8xLicgKyB1aWQpIDogJyc7XG4gICAgfSgpKTtcblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAgICAgKiBbYHRvU3RyaW5nVGFnYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LnByb3RvdHlwZS50b3N0cmluZylcbiAgICAgKiBvZiB2YWx1ZXMuXG4gICAgICovXG4gICAgdmFyIG5hdGl2ZU9iamVjdFRvU3RyaW5nID0gb2JqZWN0UHJvdG8udG9TdHJpbmc7XG5cbiAgICAvKiogVXNlZCB0byBpbmZlciB0aGUgYE9iamVjdGAgY29uc3RydWN0b3IuICovXG4gICAgdmFyIG9iamVjdEN0b3JTdHJpbmcgPSBmdW5jVG9TdHJpbmcuY2FsbChPYmplY3QpO1xuXG4gICAgLyoqIFVzZWQgdG8gcmVzdG9yZSB0aGUgb3JpZ2luYWwgYF9gIHJlZmVyZW5jZSBpbiBgXy5ub0NvbmZsaWN0YC4gKi9cbiAgICB2YXIgb2xkRGFzaCA9IHJvb3QuXztcblxuICAgIC8qKiBVc2VkIHRvIGRldGVjdCBpZiBhIG1ldGhvZCBpcyBuYXRpdmUuICovXG4gICAgdmFyIHJlSXNOYXRpdmUgPSBSZWdFeHAoJ14nICtcbiAgICAgIGZ1bmNUb1N0cmluZy5jYWxsKGhhc093blByb3BlcnR5KS5yZXBsYWNlKHJlUmVnRXhwQ2hhciwgJ1xcXFwkJicpXG4gICAgICAucmVwbGFjZSgvaGFzT3duUHJvcGVydHl8KGZ1bmN0aW9uKS4qPyg/PVxcXFxcXCgpfCBmb3IgLis/KD89XFxcXFxcXSkvZywgJyQxLio/JykgKyAnJCdcbiAgICApO1xuXG4gICAgLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG4gICAgdmFyIEJ1ZmZlciA9IG1vZHVsZUV4cG9ydHMgPyBjb250ZXh0LkJ1ZmZlciA6IHVuZGVmaW5lZCxcbiAgICAgICAgU3ltYm9sID0gY29udGV4dC5TeW1ib2wsXG4gICAgICAgIFVpbnQ4QXJyYXkgPSBjb250ZXh0LlVpbnQ4QXJyYXksXG4gICAgICAgIGFsbG9jVW5zYWZlID0gQnVmZmVyID8gQnVmZmVyLmFsbG9jVW5zYWZlIDogdW5kZWZpbmVkLFxuICAgICAgICBnZXRQcm90b3R5cGUgPSBvdmVyQXJnKE9iamVjdC5nZXRQcm90b3R5cGVPZiwgT2JqZWN0KSxcbiAgICAgICAgb2JqZWN0Q3JlYXRlID0gT2JqZWN0LmNyZWF0ZSxcbiAgICAgICAgcHJvcGVydHlJc0VudW1lcmFibGUgPSBvYmplY3RQcm90by5wcm9wZXJ0eUlzRW51bWVyYWJsZSxcbiAgICAgICAgc3BsaWNlID0gYXJyYXlQcm90by5zcGxpY2UsXG4gICAgICAgIHNwcmVhZGFibGVTeW1ib2wgPSBTeW1ib2wgPyBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlIDogdW5kZWZpbmVkLFxuICAgICAgICBzeW1JdGVyYXRvciA9IFN5bWJvbCA/IFN5bWJvbC5pdGVyYXRvciA6IHVuZGVmaW5lZCxcbiAgICAgICAgc3ltVG9TdHJpbmdUYWcgPSBTeW1ib2wgPyBTeW1ib2wudG9TdHJpbmdUYWcgOiB1bmRlZmluZWQ7XG5cbiAgICB2YXIgZGVmaW5lUHJvcGVydHkgPSAoZnVuY3Rpb24oKSB7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgZnVuYyA9IGdldE5hdGl2ZShPYmplY3QsICdkZWZpbmVQcm9wZXJ0eScpO1xuICAgICAgICBmdW5jKHt9LCAnJywge30pO1xuICAgICAgICByZXR1cm4gZnVuYztcbiAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgfSgpKTtcblxuICAgIC8qKiBNb2NrZWQgYnVpbHQtaW5zLiAqL1xuICAgIHZhciBjdHhDbGVhclRpbWVvdXQgPSBjb250ZXh0LmNsZWFyVGltZW91dCAhPT0gcm9vdC5jbGVhclRpbWVvdXQgJiYgY29udGV4dC5jbGVhclRpbWVvdXQsXG4gICAgICAgIGN0eE5vdyA9IERhdGUgJiYgRGF0ZS5ub3cgIT09IHJvb3QuRGF0ZS5ub3cgJiYgRGF0ZS5ub3csXG4gICAgICAgIGN0eFNldFRpbWVvdXQgPSBjb250ZXh0LnNldFRpbWVvdXQgIT09IHJvb3Quc2V0VGltZW91dCAmJiBjb250ZXh0LnNldFRpbWVvdXQ7XG5cbiAgICAvKiBCdWlsdC1pbiBtZXRob2QgcmVmZXJlbmNlcyBmb3IgdGhvc2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGFzIG90aGVyIGBsb2Rhc2hgIG1ldGhvZHMuICovXG4gICAgdmFyIG5hdGl2ZUNlaWwgPSBNYXRoLmNlaWwsXG4gICAgICAgIG5hdGl2ZUZsb29yID0gTWF0aC5mbG9vcixcbiAgICAgICAgbmF0aXZlR2V0U3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsXG4gICAgICAgIG5hdGl2ZUlzQnVmZmVyID0gQnVmZmVyID8gQnVmZmVyLmlzQnVmZmVyIDogdW5kZWZpbmVkLFxuICAgICAgICBuYXRpdmVJc0Zpbml0ZSA9IGNvbnRleHQuaXNGaW5pdGUsXG4gICAgICAgIG5hdGl2ZUpvaW4gPSBhcnJheVByb3RvLmpvaW4sXG4gICAgICAgIG5hdGl2ZUtleXMgPSBvdmVyQXJnKE9iamVjdC5rZXlzLCBPYmplY3QpLFxuICAgICAgICBuYXRpdmVNYXggPSBNYXRoLm1heCxcbiAgICAgICAgbmF0aXZlTWluID0gTWF0aC5taW4sXG4gICAgICAgIG5hdGl2ZU5vdyA9IERhdGUubm93LFxuICAgICAgICBuYXRpdmVQYXJzZUludCA9IGNvbnRleHQucGFyc2VJbnQsXG4gICAgICAgIG5hdGl2ZVJhbmRvbSA9IE1hdGgucmFuZG9tLFxuICAgICAgICBuYXRpdmVSZXZlcnNlID0gYXJyYXlQcm90by5yZXZlcnNlO1xuXG4gICAgLyogQnVpbHQtaW4gbWV0aG9kIHJlZmVyZW5jZXMgdGhhdCBhcmUgdmVyaWZpZWQgdG8gYmUgbmF0aXZlLiAqL1xuICAgIHZhciBEYXRhVmlldyA9IGdldE5hdGl2ZShjb250ZXh0LCAnRGF0YVZpZXcnKSxcbiAgICAgICAgTWFwID0gZ2V0TmF0aXZlKGNvbnRleHQsICdNYXAnKSxcbiAgICAgICAgUHJvbWlzZSA9IGdldE5hdGl2ZShjb250ZXh0LCAnUHJvbWlzZScpLFxuICAgICAgICBTZXQgPSBnZXROYXRpdmUoY29udGV4dCwgJ1NldCcpLFxuICAgICAgICBXZWFrTWFwID0gZ2V0TmF0aXZlKGNvbnRleHQsICdXZWFrTWFwJyksXG4gICAgICAgIG5hdGl2ZUNyZWF0ZSA9IGdldE5hdGl2ZShPYmplY3QsICdjcmVhdGUnKTtcblxuICAgIC8qKiBVc2VkIHRvIHN0b3JlIGZ1bmN0aW9uIG1ldGFkYXRhLiAqL1xuICAgIHZhciBtZXRhTWFwID0gV2Vha01hcCAmJiBuZXcgV2Vha01hcDtcblxuICAgIC8qKiBVc2VkIHRvIGxvb2t1cCB1bm1pbmlmaWVkIGZ1bmN0aW9uIG5hbWVzLiAqL1xuICAgIHZhciByZWFsTmFtZXMgPSB7fTtcblxuICAgIC8qKiBVc2VkIHRvIGRldGVjdCBtYXBzLCBzZXRzLCBhbmQgd2Vha21hcHMuICovXG4gICAgdmFyIGRhdGFWaWV3Q3RvclN0cmluZyA9IHRvU291cmNlKERhdGFWaWV3KSxcbiAgICAgICAgbWFwQ3RvclN0cmluZyA9IHRvU291cmNlKE1hcCksXG4gICAgICAgIHByb21pc2VDdG9yU3RyaW5nID0gdG9Tb3VyY2UoUHJvbWlzZSksXG4gICAgICAgIHNldEN0b3JTdHJpbmcgPSB0b1NvdXJjZShTZXQpLFxuICAgICAgICB3ZWFrTWFwQ3RvclN0cmluZyA9IHRvU291cmNlKFdlYWtNYXApO1xuXG4gICAgLyoqIFVzZWQgdG8gY29udmVydCBzeW1ib2xzIHRvIHByaW1pdGl2ZXMgYW5kIHN0cmluZ3MuICovXG4gICAgdmFyIHN5bWJvbFByb3RvID0gU3ltYm9sID8gU3ltYm9sLnByb3RvdHlwZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgc3ltYm9sVmFsdWVPZiA9IHN5bWJvbFByb3RvID8gc3ltYm9sUHJvdG8udmFsdWVPZiA6IHVuZGVmaW5lZCxcbiAgICAgICAgc3ltYm9sVG9TdHJpbmcgPSBzeW1ib2xQcm90byA/IHN5bWJvbFByb3RvLnRvU3RyaW5nIDogdW5kZWZpbmVkO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBsb2Rhc2hgIG9iamVjdCB3aGljaCB3cmFwcyBgdmFsdWVgIHRvIGVuYWJsZSBpbXBsaWNpdCBtZXRob2RcbiAgICAgKiBjaGFpbiBzZXF1ZW5jZXMuIE1ldGhvZHMgdGhhdCBvcGVyYXRlIG9uIGFuZCByZXR1cm4gYXJyYXlzLCBjb2xsZWN0aW9ucyxcbiAgICAgKiBhbmQgZnVuY3Rpb25zIGNhbiBiZSBjaGFpbmVkIHRvZ2V0aGVyLiBNZXRob2RzIHRoYXQgcmV0cmlldmUgYSBzaW5nbGUgdmFsdWVcbiAgICAgKiBvciBtYXkgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlIHdpbGwgYXV0b21hdGljYWxseSBlbmQgdGhlIGNoYWluIHNlcXVlbmNlXG4gICAgICogYW5kIHJldHVybiB0aGUgdW53cmFwcGVkIHZhbHVlLiBPdGhlcndpc2UsIHRoZSB2YWx1ZSBtdXN0IGJlIHVud3JhcHBlZFxuICAgICAqIHdpdGggYF8jdmFsdWVgLlxuICAgICAqXG4gICAgICogRXhwbGljaXQgY2hhaW4gc2VxdWVuY2VzLCB3aGljaCBtdXN0IGJlIHVud3JhcHBlZCB3aXRoIGBfI3ZhbHVlYCwgbWF5IGJlXG4gICAgICogZW5hYmxlZCB1c2luZyBgXy5jaGFpbmAuXG4gICAgICpcbiAgICAgKiBUaGUgZXhlY3V0aW9uIG9mIGNoYWluZWQgbWV0aG9kcyBpcyBsYXp5LCB0aGF0IGlzLCBpdCdzIGRlZmVycmVkIHVudGlsXG4gICAgICogYF8jdmFsdWVgIGlzIGltcGxpY2l0bHkgb3IgZXhwbGljaXRseSBjYWxsZWQuXG4gICAgICpcbiAgICAgKiBMYXp5IGV2YWx1YXRpb24gYWxsb3dzIHNldmVyYWwgbWV0aG9kcyB0byBzdXBwb3J0IHNob3J0Y3V0IGZ1c2lvbi5cbiAgICAgKiBTaG9ydGN1dCBmdXNpb24gaXMgYW4gb3B0aW1pemF0aW9uIHRvIG1lcmdlIGl0ZXJhdGVlIGNhbGxzOyB0aGlzIGF2b2lkc1xuICAgICAqIHRoZSBjcmVhdGlvbiBvZiBpbnRlcm1lZGlhdGUgYXJyYXlzIGFuZCBjYW4gZ3JlYXRseSByZWR1Y2UgdGhlIG51bWJlciBvZlxuICAgICAqIGl0ZXJhdGVlIGV4ZWN1dGlvbnMuIFNlY3Rpb25zIG9mIGEgY2hhaW4gc2VxdWVuY2UgcXVhbGlmeSBmb3Igc2hvcnRjdXRcbiAgICAgKiBmdXNpb24gaWYgdGhlIHNlY3Rpb24gaXMgYXBwbGllZCB0byBhbiBhcnJheSBhbmQgaXRlcmF0ZWVzIGFjY2VwdCBvbmx5XG4gICAgICogb25lIGFyZ3VtZW50LiBUaGUgaGV1cmlzdGljIGZvciB3aGV0aGVyIGEgc2VjdGlvbiBxdWFsaWZpZXMgZm9yIHNob3J0Y3V0XG4gICAgICogZnVzaW9uIGlzIHN1YmplY3QgdG8gY2hhbmdlLlxuICAgICAqXG4gICAgICogQ2hhaW5pbmcgaXMgc3VwcG9ydGVkIGluIGN1c3RvbSBidWlsZHMgYXMgbG9uZyBhcyB0aGUgYF8jdmFsdWVgIG1ldGhvZCBpc1xuICAgICAqIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgaW5jbHVkZWQgaW4gdGhlIGJ1aWxkLlxuICAgICAqXG4gICAgICogSW4gYWRkaXRpb24gdG8gbG9kYXNoIG1ldGhvZHMsIHdyYXBwZXJzIGhhdmUgYEFycmF5YCBhbmQgYFN0cmluZ2AgbWV0aG9kcy5cbiAgICAgKlxuICAgICAqIFRoZSB3cmFwcGVyIGBBcnJheWAgbWV0aG9kcyBhcmU6XG4gICAgICogYGNvbmNhdGAsIGBqb2luYCwgYHBvcGAsIGBwdXNoYCwgYHNoaWZ0YCwgYHNvcnRgLCBgc3BsaWNlYCwgYW5kIGB1bnNoaWZ0YFxuICAgICAqXG4gICAgICogVGhlIHdyYXBwZXIgYFN0cmluZ2AgbWV0aG9kcyBhcmU6XG4gICAgICogYHJlcGxhY2VgIGFuZCBgc3BsaXRgXG4gICAgICpcbiAgICAgKiBUaGUgd3JhcHBlciBtZXRob2RzIHRoYXQgc3VwcG9ydCBzaG9ydGN1dCBmdXNpb24gYXJlOlxuICAgICAqIGBhdGAsIGBjb21wYWN0YCwgYGRyb3BgLCBgZHJvcFJpZ2h0YCwgYGRyb3BXaGlsZWAsIGBmaWx0ZXJgLCBgZmluZGAsXG4gICAgICogYGZpbmRMYXN0YCwgYGhlYWRgLCBgaW5pdGlhbGAsIGBsYXN0YCwgYG1hcGAsIGByZWplY3RgLCBgcmV2ZXJzZWAsIGBzbGljZWAsXG4gICAgICogYHRhaWxgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLCBgdGFrZVJpZ2h0V2hpbGVgLCBgdGFrZVdoaWxlYCwgYW5kIGB0b0FycmF5YFxuICAgICAqXG4gICAgICogVGhlIGNoYWluYWJsZSB3cmFwcGVyIG1ldGhvZHMgYXJlOlxuICAgICAqIGBhZnRlcmAsIGBhcnlgLCBgYXNzaWduYCwgYGFzc2lnbkluYCwgYGFzc2lnbkluV2l0aGAsIGBhc3NpZ25XaXRoYCwgYGF0YCxcbiAgICAgKiBgYmVmb3JlYCwgYGJpbmRgLCBgYmluZEFsbGAsIGBiaW5kS2V5YCwgYGNhc3RBcnJheWAsIGBjaGFpbmAsIGBjaHVua2AsXG4gICAgICogYGNvbW1pdGAsIGBjb21wYWN0YCwgYGNvbmNhdGAsIGBjb25mb3Jtc2AsIGBjb25zdGFudGAsIGBjb3VudEJ5YCwgYGNyZWF0ZWAsXG4gICAgICogYGN1cnJ5YCwgYGRlYm91bmNlYCwgYGRlZmF1bHRzYCwgYGRlZmF1bHRzRGVlcGAsIGBkZWZlcmAsIGBkZWxheWAsXG4gICAgICogYGRpZmZlcmVuY2VgLCBgZGlmZmVyZW5jZUJ5YCwgYGRpZmZlcmVuY2VXaXRoYCwgYGRyb3BgLCBgZHJvcFJpZ2h0YCxcbiAgICAgKiBgZHJvcFJpZ2h0V2hpbGVgLCBgZHJvcFdoaWxlYCwgYGV4dGVuZGAsIGBleHRlbmRXaXRoYCwgYGZpbGxgLCBgZmlsdGVyYCxcbiAgICAgKiBgZmxhdE1hcGAsIGBmbGF0TWFwRGVlcGAsIGBmbGF0TWFwRGVwdGhgLCBgZmxhdHRlbmAsIGBmbGF0dGVuRGVlcGAsXG4gICAgICogYGZsYXR0ZW5EZXB0aGAsIGBmbGlwYCwgYGZsb3dgLCBgZmxvd1JpZ2h0YCwgYGZyb21QYWlyc2AsIGBmdW5jdGlvbnNgLFxuICAgICAqIGBmdW5jdGlvbnNJbmAsIGBncm91cEJ5YCwgYGluaXRpYWxgLCBgaW50ZXJzZWN0aW9uYCwgYGludGVyc2VjdGlvbkJ5YCxcbiAgICAgKiBgaW50ZXJzZWN0aW9uV2l0aGAsIGBpbnZlcnRgLCBgaW52ZXJ0QnlgLCBgaW52b2tlTWFwYCwgYGl0ZXJhdGVlYCwgYGtleUJ5YCxcbiAgICAgKiBga2V5c2AsIGBrZXlzSW5gLCBgbWFwYCwgYG1hcEtleXNgLCBgbWFwVmFsdWVzYCwgYG1hdGNoZXNgLCBgbWF0Y2hlc1Byb3BlcnR5YCxcbiAgICAgKiBgbWVtb2l6ZWAsIGBtZXJnZWAsIGBtZXJnZVdpdGhgLCBgbWV0aG9kYCwgYG1ldGhvZE9mYCwgYG1peGluYCwgYG5lZ2F0ZWAsXG4gICAgICogYG50aEFyZ2AsIGBvbWl0YCwgYG9taXRCeWAsIGBvbmNlYCwgYG9yZGVyQnlgLCBgb3ZlcmAsIGBvdmVyQXJnc2AsXG4gICAgICogYG92ZXJFdmVyeWAsIGBvdmVyU29tZWAsIGBwYXJ0aWFsYCwgYHBhcnRpYWxSaWdodGAsIGBwYXJ0aXRpb25gLCBgcGlja2AsXG4gICAgICogYHBpY2tCeWAsIGBwbGFudGAsIGBwcm9wZXJ0eWAsIGBwcm9wZXJ0eU9mYCwgYHB1bGxgLCBgcHVsbEFsbGAsIGBwdWxsQWxsQnlgLFxuICAgICAqIGBwdWxsQWxsV2l0aGAsIGBwdWxsQXRgLCBgcHVzaGAsIGByYW5nZWAsIGByYW5nZVJpZ2h0YCwgYHJlYXJnYCwgYHJlamVjdGAsXG4gICAgICogYHJlbW92ZWAsIGByZXN0YCwgYHJldmVyc2VgLCBgc2FtcGxlU2l6ZWAsIGBzZXRgLCBgc2V0V2l0aGAsIGBzaHVmZmxlYCxcbiAgICAgKiBgc2xpY2VgLCBgc29ydGAsIGBzb3J0QnlgLCBgc3BsaWNlYCwgYHNwcmVhZGAsIGB0YWlsYCwgYHRha2VgLCBgdGFrZVJpZ2h0YCxcbiAgICAgKiBgdGFrZVJpZ2h0V2hpbGVgLCBgdGFrZVdoaWxlYCwgYHRhcGAsIGB0aHJvdHRsZWAsIGB0aHJ1YCwgYHRvQXJyYXlgLFxuICAgICAqIGB0b1BhaXJzYCwgYHRvUGFpcnNJbmAsIGB0b1BhdGhgLCBgdG9QbGFpbk9iamVjdGAsIGB0cmFuc2Zvcm1gLCBgdW5hcnlgLFxuICAgICAqIGB1bmlvbmAsIGB1bmlvbkJ5YCwgYHVuaW9uV2l0aGAsIGB1bmlxYCwgYHVuaXFCeWAsIGB1bmlxV2l0aGAsIGB1bnNldGAsXG4gICAgICogYHVuc2hpZnRgLCBgdW56aXBgLCBgdW56aXBXaXRoYCwgYHVwZGF0ZWAsIGB1cGRhdGVXaXRoYCwgYHZhbHVlc2AsXG4gICAgICogYHZhbHVlc0luYCwgYHdpdGhvdXRgLCBgd3JhcGAsIGB4b3JgLCBgeG9yQnlgLCBgeG9yV2l0aGAsIGB6aXBgLFxuICAgICAqIGB6aXBPYmplY3RgLCBgemlwT2JqZWN0RGVlcGAsIGFuZCBgemlwV2l0aGBcbiAgICAgKlxuICAgICAqIFRoZSB3cmFwcGVyIG1ldGhvZHMgdGhhdCBhcmUgKipub3QqKiBjaGFpbmFibGUgYnkgZGVmYXVsdCBhcmU6XG4gICAgICogYGFkZGAsIGBhdHRlbXB0YCwgYGNhbWVsQ2FzZWAsIGBjYXBpdGFsaXplYCwgYGNlaWxgLCBgY2xhbXBgLCBgY2xvbmVgLFxuICAgICAqIGBjbG9uZURlZXBgLCBgY2xvbmVEZWVwV2l0aGAsIGBjbG9uZVdpdGhgLCBgY29uZm9ybXNUb2AsIGBkZWJ1cnJgLFxuICAgICAqIGBkZWZhdWx0VG9gLCBgZGl2aWRlYCwgYGVhY2hgLCBgZWFjaFJpZ2h0YCwgYGVuZHNXaXRoYCwgYGVxYCwgYGVzY2FwZWAsXG4gICAgICogYGVzY2FwZVJlZ0V4cGAsIGBldmVyeWAsIGBmaW5kYCwgYGZpbmRJbmRleGAsIGBmaW5kS2V5YCwgYGZpbmRMYXN0YCxcbiAgICAgKiBgZmluZExhc3RJbmRleGAsIGBmaW5kTGFzdEtleWAsIGBmaXJzdGAsIGBmbG9vcmAsIGBmb3JFYWNoYCwgYGZvckVhY2hSaWdodGAsXG4gICAgICogYGZvckluYCwgYGZvckluUmlnaHRgLCBgZm9yT3duYCwgYGZvck93blJpZ2h0YCwgYGdldGAsIGBndGAsIGBndGVgLCBgaGFzYCxcbiAgICAgKiBgaGFzSW5gLCBgaGVhZGAsIGBpZGVudGl0eWAsIGBpbmNsdWRlc2AsIGBpbmRleE9mYCwgYGluUmFuZ2VgLCBgaW52b2tlYCxcbiAgICAgKiBgaXNBcmd1bWVudHNgLCBgaXNBcnJheWAsIGBpc0FycmF5QnVmZmVyYCwgYGlzQXJyYXlMaWtlYCwgYGlzQXJyYXlMaWtlT2JqZWN0YCxcbiAgICAgKiBgaXNCb29sZWFuYCwgYGlzQnVmZmVyYCwgYGlzRGF0ZWAsIGBpc0VsZW1lbnRgLCBgaXNFbXB0eWAsIGBpc0VxdWFsYCxcbiAgICAgKiBgaXNFcXVhbFdpdGhgLCBgaXNFcnJvcmAsIGBpc0Zpbml0ZWAsIGBpc0Z1bmN0aW9uYCwgYGlzSW50ZWdlcmAsIGBpc0xlbmd0aGAsXG4gICAgICogYGlzTWFwYCwgYGlzTWF0Y2hgLCBgaXNNYXRjaFdpdGhgLCBgaXNOYU5gLCBgaXNOYXRpdmVgLCBgaXNOaWxgLCBgaXNOdWxsYCxcbiAgICAgKiBgaXNOdW1iZXJgLCBgaXNPYmplY3RgLCBgaXNPYmplY3RMaWtlYCwgYGlzUGxhaW5PYmplY3RgLCBgaXNSZWdFeHBgLFxuICAgICAqIGBpc1NhZmVJbnRlZ2VyYCwgYGlzU2V0YCwgYGlzU3RyaW5nYCwgYGlzVW5kZWZpbmVkYCwgYGlzVHlwZWRBcnJheWAsXG4gICAgICogYGlzV2Vha01hcGAsIGBpc1dlYWtTZXRgLCBgam9pbmAsIGBrZWJhYkNhc2VgLCBgbGFzdGAsIGBsYXN0SW5kZXhPZmAsXG4gICAgICogYGxvd2VyQ2FzZWAsIGBsb3dlckZpcnN0YCwgYGx0YCwgYGx0ZWAsIGBtYXhgLCBgbWF4QnlgLCBgbWVhbmAsIGBtZWFuQnlgLFxuICAgICAqIGBtaW5gLCBgbWluQnlgLCBgbXVsdGlwbHlgLCBgbm9Db25mbGljdGAsIGBub29wYCwgYG5vd2AsIGBudGhgLCBgcGFkYCxcbiAgICAgKiBgcGFkRW5kYCwgYHBhZFN0YXJ0YCwgYHBhcnNlSW50YCwgYHBvcGAsIGByYW5kb21gLCBgcmVkdWNlYCwgYHJlZHVjZVJpZ2h0YCxcbiAgICAgKiBgcmVwZWF0YCwgYHJlc3VsdGAsIGByb3VuZGAsIGBydW5JbkNvbnRleHRgLCBgc2FtcGxlYCwgYHNoaWZ0YCwgYHNpemVgLFxuICAgICAqIGBzbmFrZUNhc2VgLCBgc29tZWAsIGBzb3J0ZWRJbmRleGAsIGBzb3J0ZWRJbmRleEJ5YCwgYHNvcnRlZExhc3RJbmRleGAsXG4gICAgICogYHNvcnRlZExhc3RJbmRleEJ5YCwgYHN0YXJ0Q2FzZWAsIGBzdGFydHNXaXRoYCwgYHN0dWJBcnJheWAsIGBzdHViRmFsc2VgLFxuICAgICAqIGBzdHViT2JqZWN0YCwgYHN0dWJTdHJpbmdgLCBgc3R1YlRydWVgLCBgc3VidHJhY3RgLCBgc3VtYCwgYHN1bUJ5YCxcbiAgICAgKiBgdGVtcGxhdGVgLCBgdGltZXNgLCBgdG9GaW5pdGVgLCBgdG9JbnRlZ2VyYCwgYHRvSlNPTmAsIGB0b0xlbmd0aGAsXG4gICAgICogYHRvTG93ZXJgLCBgdG9OdW1iZXJgLCBgdG9TYWZlSW50ZWdlcmAsIGB0b1N0cmluZ2AsIGB0b1VwcGVyYCwgYHRyaW1gLFxuICAgICAqIGB0cmltRW5kYCwgYHRyaW1TdGFydGAsIGB0cnVuY2F0ZWAsIGB1bmVzY2FwZWAsIGB1bmlxdWVJZGAsIGB1cHBlckNhc2VgLFxuICAgICAqIGB1cHBlckZpcnN0YCwgYHZhbHVlYCwgYW5kIGB3b3Jkc2BcbiAgICAgKlxuICAgICAqIEBuYW1lIF9cbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gd3JhcCBpbiBhIGBsb2Rhc2hgIGluc3RhbmNlLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBzcXVhcmUobikge1xuICAgICAqICAgcmV0dXJuIG4gKiBuO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciB3cmFwcGVkID0gXyhbMSwgMiwgM10pO1xuICAgICAqXG4gICAgICogLy8gUmV0dXJucyBhbiB1bndyYXBwZWQgdmFsdWUuXG4gICAgICogd3JhcHBlZC5yZWR1Y2UoXy5hZGQpO1xuICAgICAqIC8vID0+IDZcbiAgICAgKlxuICAgICAqIC8vIFJldHVybnMgYSB3cmFwcGVkIHZhbHVlLlxuICAgICAqIHZhciBzcXVhcmVzID0gd3JhcHBlZC5tYXAoc3F1YXJlKTtcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheShzcXVhcmVzKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KHNxdWFyZXMudmFsdWUoKSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxvZGFzaCh2YWx1ZSkge1xuICAgICAgaWYgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgIWlzQXJyYXkodmFsdWUpICYmICEodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikpIHtcbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgTG9kYXNoV3JhcHBlcikge1xuICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgJ19fd3JhcHBlZF9fJykpIHtcbiAgICAgICAgICByZXR1cm4gd3JhcHBlckNsb25lKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5jcmVhdGVgIHdpdGhvdXQgc3VwcG9ydCBmb3IgYXNzaWduaW5nXG4gICAgICogcHJvcGVydGllcyB0byB0aGUgY3JlYXRlZCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm90byBUaGUgb2JqZWN0IHRvIGluaGVyaXQgZnJvbS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqL1xuICAgIHZhciBiYXNlQ3JlYXRlID0gKGZ1bmN0aW9uKCkge1xuICAgICAgZnVuY3Rpb24gb2JqZWN0KCkge31cbiAgICAgIHJldHVybiBmdW5jdGlvbihwcm90bykge1xuICAgICAgICBpZiAoIWlzT2JqZWN0KHByb3RvKSkge1xuICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob2JqZWN0Q3JlYXRlKSB7XG4gICAgICAgICAgcmV0dXJuIG9iamVjdENyZWF0ZShwcm90byk7XG4gICAgICAgIH1cbiAgICAgICAgb2JqZWN0LnByb3RvdHlwZSA9IHByb3RvO1xuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IG9iamVjdDtcbiAgICAgICAgb2JqZWN0LnByb3RvdHlwZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgfSgpKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBmdW5jdGlvbiB3aG9zZSBwcm90b3R5cGUgY2hhaW4gc2VxdWVuY2Ugd3JhcHBlcnMgaW5oZXJpdCBmcm9tLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlTG9kYXNoKCkge1xuICAgICAgLy8gTm8gb3BlcmF0aW9uIHBlcmZvcm1lZC5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBjb25zdHJ1Y3RvciBmb3IgY3JlYXRpbmcgYGxvZGFzaGAgd3JhcHBlciBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2NoYWluQWxsXSBFbmFibGUgZXhwbGljaXQgbWV0aG9kIGNoYWluIHNlcXVlbmNlcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBMb2Rhc2hXcmFwcGVyKHZhbHVlLCBjaGFpbkFsbCkge1xuICAgICAgdGhpcy5fX3dyYXBwZWRfXyA9IHZhbHVlO1xuICAgICAgdGhpcy5fX2FjdGlvbnNfXyA9IFtdO1xuICAgICAgdGhpcy5fX2NoYWluX18gPSAhIWNoYWluQWxsO1xuICAgICAgdGhpcy5fX2luZGV4X18gPSAwO1xuICAgICAgdGhpcy5fX3ZhbHVlc19fID0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJ5IGRlZmF1bHQsIHRoZSB0ZW1wbGF0ZSBkZWxpbWl0ZXJzIHVzZWQgYnkgbG9kYXNoIGFyZSBsaWtlIHRob3NlIGluXG4gICAgICogZW1iZWRkZWQgUnVieSAoRVJCKSBhcyB3ZWxsIGFzIEVTMjAxNSB0ZW1wbGF0ZSBzdHJpbmdzLiBDaGFuZ2UgdGhlXG4gICAgICogZm9sbG93aW5nIHRlbXBsYXRlIHNldHRpbmdzIHRvIHVzZSBhbHRlcm5hdGl2ZSBkZWxpbWl0ZXJzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHR5cGUge09iamVjdH1cbiAgICAgKi9cbiAgICBsb2Rhc2gudGVtcGxhdGVTZXR0aW5ncyA9IHtcblxuICAgICAgLyoqXG4gICAgICAgKiBVc2VkIHRvIGRldGVjdCBgZGF0YWAgcHJvcGVydHkgdmFsdWVzIHRvIGJlIEhUTUwtZXNjYXBlZC5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgICAgICovXG4gICAgICAnZXNjYXBlJzogcmVFc2NhcGUsXG5cbiAgICAgIC8qKlxuICAgICAgICogVXNlZCB0byBkZXRlY3QgY29kZSB0byBiZSBldmFsdWF0ZWQuXG4gICAgICAgKlxuICAgICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgICAgICogQHR5cGUge1JlZ0V4cH1cbiAgICAgICAqL1xuICAgICAgJ2V2YWx1YXRlJzogcmVFdmFsdWF0ZSxcblxuICAgICAgLyoqXG4gICAgICAgKiBVc2VkIHRvIGRldGVjdCBgZGF0YWAgcHJvcGVydHkgdmFsdWVzIHRvIGluamVjdC5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7UmVnRXhwfVxuICAgICAgICovXG4gICAgICAnaW50ZXJwb2xhdGUnOiByZUludGVycG9sYXRlLFxuXG4gICAgICAvKipcbiAgICAgICAqIFVzZWQgdG8gcmVmZXJlbmNlIHRoZSBkYXRhIG9iamVjdCBpbiB0aGUgdGVtcGxhdGUgdGV4dC5cbiAgICAgICAqXG4gICAgICAgKiBAbWVtYmVyT2YgXy50ZW1wbGF0ZVNldHRpbmdzXG4gICAgICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgICAgICovXG4gICAgICAndmFyaWFibGUnOiAnJyxcblxuICAgICAgLyoqXG4gICAgICAgKiBVc2VkIHRvIGltcG9ydCB2YXJpYWJsZXMgaW50byB0aGUgY29tcGlsZWQgdGVtcGxhdGUuXG4gICAgICAgKlxuICAgICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5nc1xuICAgICAgICogQHR5cGUge09iamVjdH1cbiAgICAgICAqL1xuICAgICAgJ2ltcG9ydHMnOiB7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIEEgcmVmZXJlbmNlIHRvIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgICAgICpcbiAgICAgICAgICogQG1lbWJlck9mIF8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXG4gICAgICAgICAqIEB0eXBlIHtGdW5jdGlvbn1cbiAgICAgICAgICovXG4gICAgICAgICdfJzogbG9kYXNoXG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIEVuc3VyZSB3cmFwcGVycyBhcmUgaW5zdGFuY2VzIG9mIGBiYXNlTG9kYXNoYC5cbiAgICBsb2Rhc2gucHJvdG90eXBlID0gYmFzZUxvZGFzaC5wcm90b3R5cGU7XG4gICAgbG9kYXNoLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGxvZGFzaDtcblxuICAgIExvZGFzaFdyYXBwZXIucHJvdG90eXBlID0gYmFzZUNyZWF0ZShiYXNlTG9kYXNoLnByb3RvdHlwZSk7XG4gICAgTG9kYXNoV3JhcHBlci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBMb2Rhc2hXcmFwcGVyO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGxhenkgd3JhcHBlciBvYmplY3Qgd2hpY2ggd3JhcHMgYHZhbHVlYCB0byBlbmFibGUgbGF6eSBldmFsdWF0aW9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byB3cmFwLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIExhenlXcmFwcGVyKHZhbHVlKSB7XG4gICAgICB0aGlzLl9fd3JhcHBlZF9fID0gdmFsdWU7XG4gICAgICB0aGlzLl9fYWN0aW9uc19fID0gW107XG4gICAgICB0aGlzLl9fZGlyX18gPSAxO1xuICAgICAgdGhpcy5fX2ZpbHRlcmVkX18gPSBmYWxzZTtcbiAgICAgIHRoaXMuX19pdGVyYXRlZXNfXyA9IFtdO1xuICAgICAgdGhpcy5fX3Rha2VDb3VudF9fID0gTUFYX0FSUkFZX0xFTkdUSDtcbiAgICAgIHRoaXMuX192aWV3c19fID0gW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIHRoZSBsYXp5IHdyYXBwZXIgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBjbG9uZVxuICAgICAqIEBtZW1iZXJPZiBMYXp5V3JhcHBlclxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNsb25lZCBgTGF6eVdyYXBwZXJgIG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXp5Q2xvbmUoKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbmV3IExhenlXcmFwcGVyKHRoaXMuX193cmFwcGVkX18pO1xuICAgICAgcmVzdWx0Ll9fYWN0aW9uc19fID0gY29weUFycmF5KHRoaXMuX19hY3Rpb25zX18pO1xuICAgICAgcmVzdWx0Ll9fZGlyX18gPSB0aGlzLl9fZGlyX187XG4gICAgICByZXN1bHQuX19maWx0ZXJlZF9fID0gdGhpcy5fX2ZpbHRlcmVkX187XG4gICAgICByZXN1bHQuX19pdGVyYXRlZXNfXyA9IGNvcHlBcnJheSh0aGlzLl9faXRlcmF0ZWVzX18pO1xuICAgICAgcmVzdWx0Ll9fdGFrZUNvdW50X18gPSB0aGlzLl9fdGFrZUNvdW50X187XG4gICAgICByZXN1bHQuX192aWV3c19fID0gY29weUFycmF5KHRoaXMuX192aWV3c19fKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJzZXMgdGhlIGRpcmVjdGlvbiBvZiBsYXp5IGl0ZXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgcmV2ZXJzZVxuICAgICAqIEBtZW1iZXJPZiBMYXp5V3JhcHBlclxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyByZXZlcnNlZCBgTGF6eVdyYXBwZXJgIG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXp5UmV2ZXJzZSgpIHtcbiAgICAgIGlmICh0aGlzLl9fZmlsdGVyZWRfXykge1xuICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IExhenlXcmFwcGVyKHRoaXMpO1xuICAgICAgICByZXN1bHQuX19kaXJfXyA9IC0xO1xuICAgICAgICByZXN1bHQuX19maWx0ZXJlZF9fID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IHRoaXMuY2xvbmUoKTtcbiAgICAgICAgcmVzdWx0Ll9fZGlyX18gKj0gLTE7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4dHJhY3RzIHRoZSB1bndyYXBwZWQgdmFsdWUgZnJvbSBpdHMgbGF6eSB3cmFwcGVyLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSB2YWx1ZVxuICAgICAqIEBtZW1iZXJPZiBMYXp5V3JhcHBlclxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSB1bndyYXBwZWQgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbGF6eVZhbHVlKCkge1xuICAgICAgdmFyIGFycmF5ID0gdGhpcy5fX3dyYXBwZWRfXy52YWx1ZSgpLFxuICAgICAgICAgIGRpciA9IHRoaXMuX19kaXJfXyxcbiAgICAgICAgICBpc0FyciA9IGlzQXJyYXkoYXJyYXkpLFxuICAgICAgICAgIGlzUmlnaHQgPSBkaXIgPCAwLFxuICAgICAgICAgIGFyckxlbmd0aCA9IGlzQXJyID8gYXJyYXkubGVuZ3RoIDogMCxcbiAgICAgICAgICB2aWV3ID0gZ2V0VmlldygwLCBhcnJMZW5ndGgsIHRoaXMuX192aWV3c19fKSxcbiAgICAgICAgICBzdGFydCA9IHZpZXcuc3RhcnQsXG4gICAgICAgICAgZW5kID0gdmlldy5lbmQsXG4gICAgICAgICAgbGVuZ3RoID0gZW5kIC0gc3RhcnQsXG4gICAgICAgICAgaW5kZXggPSBpc1JpZ2h0ID8gZW5kIDogKHN0YXJ0IC0gMSksXG4gICAgICAgICAgaXRlcmF0ZWVzID0gdGhpcy5fX2l0ZXJhdGVlc19fLFxuICAgICAgICAgIGl0ZXJMZW5ndGggPSBpdGVyYXRlZXMubGVuZ3RoLFxuICAgICAgICAgIHJlc0luZGV4ID0gMCxcbiAgICAgICAgICB0YWtlQ291bnQgPSBuYXRpdmVNaW4obGVuZ3RoLCB0aGlzLl9fdGFrZUNvdW50X18pO1xuXG4gICAgICBpZiAoIWlzQXJyIHx8ICghaXNSaWdodCAmJiBhcnJMZW5ndGggPT0gbGVuZ3RoICYmIHRha2VDb3VudCA9PSBsZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBiYXNlV3JhcHBlclZhbHVlKGFycmF5LCB0aGlzLl9fYWN0aW9uc19fKTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBbXTtcblxuICAgICAgb3V0ZXI6XG4gICAgICB3aGlsZSAobGVuZ3RoLS0gJiYgcmVzSW5kZXggPCB0YWtlQ291bnQpIHtcbiAgICAgICAgaW5kZXggKz0gZGlyO1xuXG4gICAgICAgIHZhciBpdGVySW5kZXggPSAtMSxcbiAgICAgICAgICAgIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgICAgIHdoaWxlICgrK2l0ZXJJbmRleCA8IGl0ZXJMZW5ndGgpIHtcbiAgICAgICAgICB2YXIgZGF0YSA9IGl0ZXJhdGVlc1tpdGVySW5kZXhdLFxuICAgICAgICAgICAgICBpdGVyYXRlZSA9IGRhdGEuaXRlcmF0ZWUsXG4gICAgICAgICAgICAgIHR5cGUgPSBkYXRhLnR5cGUsXG4gICAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUodmFsdWUpO1xuXG4gICAgICAgICAgaWYgKHR5cGUgPT0gTEFaWV9NQVBfRkxBRykge1xuICAgICAgICAgICAgdmFsdWUgPSBjb21wdXRlZDtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFjb21wdXRlZCkge1xuICAgICAgICAgICAgaWYgKHR5cGUgPT0gTEFaWV9GSUxURVJfRkxBRykge1xuICAgICAgICAgICAgICBjb250aW51ZSBvdXRlcjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIGBMYXp5V3JhcHBlcmAgaXMgYW4gaW5zdGFuY2Ugb2YgYGJhc2VMb2Rhc2hgLlxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZSA9IGJhc2VDcmVhdGUoYmFzZUxvZGFzaC5wcm90b3R5cGUpO1xuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IExhenlXcmFwcGVyO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGhhc2ggb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbZW50cmllc10gVGhlIGtleS12YWx1ZSBwYWlycyB0byBjYWNoZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBIYXNoKGVudHJpZXMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGVudHJpZXMgPT0gbnVsbCA/IDAgOiBlbnRyaWVzLmxlbmd0aDtcblxuICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwga2V5LXZhbHVlIGVudHJpZXMgZnJvbSB0aGUgaGFzaC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgSGFzaFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc2hDbGVhcigpIHtcbiAgICAgIHRoaXMuX19kYXRhX18gPSBuYXRpdmVDcmVhdGUgPyBuYXRpdmVDcmVhdGUobnVsbCkgOiB7fTtcbiAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIGhhc2guXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGRlbGV0ZVxuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICogQHBhcmFtIHtPYmplY3R9IGhhc2ggVGhlIGhhc2ggdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgZW50cnkgd2FzIHJlbW92ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBoYXNoRGVsZXRlKGtleSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRoaXMuaGFzKGtleSkgJiYgZGVsZXRlIHRoaXMuX19kYXRhX19ba2V5XTtcbiAgICAgIHRoaXMuc2l6ZSAtPSByZXN1bHQgPyAxIDogMDtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaGFzaCB2YWx1ZSBmb3IgYGtleWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGdldFxuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGVudHJ5IHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc2hHZXQoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICBpZiAobmF0aXZlQ3JlYXRlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBkYXRhW2tleV07XG4gICAgICAgIHJldHVybiByZXN1bHQgPT09IEhBU0hfVU5ERUZJTkVEID8gdW5kZWZpbmVkIDogcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc093blByb3BlcnR5LmNhbGwoZGF0YSwga2V5KSA/IGRhdGFba2V5XSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYSBoYXNoIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGhhc1xuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc2hIYXMoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICByZXR1cm4gbmF0aXZlQ3JlYXRlID8gKGRhdGFba2V5XSAhPT0gdW5kZWZpbmVkKSA6IGhhc093blByb3BlcnR5LmNhbGwoZGF0YSwga2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBoYXNoIGBrZXlgIHRvIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHNldFxuICAgICAqIEBtZW1iZXJPZiBIYXNoXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGhhc2ggaW5zdGFuY2UuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGFzaFNldChrZXksIHZhbHVlKSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX187XG4gICAgICB0aGlzLnNpemUgKz0gdGhpcy5oYXMoa2V5KSA/IDAgOiAxO1xuICAgICAgZGF0YVtrZXldID0gKG5hdGl2ZUNyZWF0ZSAmJiB2YWx1ZSA9PT0gdW5kZWZpbmVkKSA/IEhBU0hfVU5ERUZJTkVEIDogdmFsdWU7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0byBgSGFzaGAuXG4gICAgSGFzaC5wcm90b3R5cGUuY2xlYXIgPSBoYXNoQ2xlYXI7XG4gICAgSGFzaC5wcm90b3R5cGVbJ2RlbGV0ZSddID0gaGFzaERlbGV0ZTtcbiAgICBIYXNoLnByb3RvdHlwZS5nZXQgPSBoYXNoR2V0O1xuICAgIEhhc2gucHJvdG90eXBlLmhhcyA9IGhhc2hIYXM7XG4gICAgSGFzaC5wcm90b3R5cGUuc2V0ID0gaGFzaFNldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gbGlzdCBjYWNoZSBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIExpc3RDYWNoZShlbnRyaWVzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBlbnRyaWVzID09IG51bGwgPyAwIDogZW50cmllcy5sZW5ndGg7XG5cbiAgICAgIHRoaXMuY2xlYXIoKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgICAgICB0aGlzLnNldChlbnRyeVswXSwgZW50cnlbMV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIGxpc3QgY2FjaGUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGNsZWFyXG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxpc3RDYWNoZUNsZWFyKCkge1xuICAgICAgdGhpcy5fX2RhdGFfXyA9IFtdO1xuICAgICAgdGhpcy5zaXplID0gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGBrZXlgIGFuZCBpdHMgdmFsdWUgZnJvbSB0aGUgbGlzdCBjYWNoZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgZW50cnkgd2FzIHJlbW92ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsaXN0Q2FjaGVEZWxldGUoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgbGFzdEluZGV4ID0gZGF0YS5sZW5ndGggLSAxO1xuICAgICAgaWYgKGluZGV4ID09IGxhc3RJbmRleCkge1xuICAgICAgICBkYXRhLnBvcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3BsaWNlLmNhbGwoZGF0YSwgaW5kZXgsIDEpO1xuICAgICAgfVxuICAgICAgLS10aGlzLnNpemU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsaXN0IGNhY2hlIHZhbHVlIGZvciBga2V5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZ2V0XG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsaXN0Q2FjaGVHZXQoa2V5KSB7XG4gICAgICB2YXIgZGF0YSA9IHRoaXMuX19kYXRhX18sXG4gICAgICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICAgICAgcmV0dXJuIGluZGV4IDwgMCA/IHVuZGVmaW5lZCA6IGRhdGFbaW5kZXhdWzFdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBhIGxpc3QgY2FjaGUgdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIExpc3RDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsaXN0Q2FjaGVIYXMoa2V5KSB7XG4gICAgICByZXR1cm4gYXNzb2NJbmRleE9mKHRoaXMuX19kYXRhX18sIGtleSkgPiAtMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBsaXN0IGNhY2hlIGBrZXlgIHRvIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHNldFxuICAgICAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbGlzdCBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsaXN0Q2FjaGVTZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgICAgIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG5cbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgKyt0aGlzLnNpemU7XG4gICAgICAgIGRhdGEucHVzaChba2V5LCB2YWx1ZV0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0YVtpbmRleF1bMV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBMaXN0Q2FjaGVgLlxuICAgIExpc3RDYWNoZS5wcm90b3R5cGUuY2xlYXIgPSBsaXN0Q2FjaGVDbGVhcjtcbiAgICBMaXN0Q2FjaGUucHJvdG90eXBlWydkZWxldGUnXSA9IGxpc3RDYWNoZURlbGV0ZTtcbiAgICBMaXN0Q2FjaGUucHJvdG90eXBlLmdldCA9IGxpc3RDYWNoZUdldDtcbiAgICBMaXN0Q2FjaGUucHJvdG90eXBlLmhhcyA9IGxpc3RDYWNoZUhhcztcbiAgICBMaXN0Q2FjaGUucHJvdG90eXBlLnNldCA9IGxpc3RDYWNoZVNldDtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBtYXAgY2FjaGUgb2JqZWN0IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gTWFwQ2FjaGUoZW50cmllcykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gZW50cmllcyA9PSBudWxsID8gMCA6IGVudHJpZXMubGVuZ3RoO1xuXG4gICAgICB0aGlzLmNsZWFyKCk7XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgZW50cnkgPSBlbnRyaWVzW2luZGV4XTtcbiAgICAgICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBtYXAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGNsZWFyXG4gICAgICogQG1lbWJlck9mIE1hcENhY2hlXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFwQ2FjaGVDbGVhcigpIHtcbiAgICAgIHRoaXMuc2l6ZSA9IDA7XG4gICAgICB0aGlzLl9fZGF0YV9fID0ge1xuICAgICAgICAnaGFzaCc6IG5ldyBIYXNoLFxuICAgICAgICAnbWFwJzogbmV3IChNYXAgfHwgTGlzdENhY2hlKSxcbiAgICAgICAgJ3N0cmluZyc6IG5ldyBIYXNoXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBtYXAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGRlbGV0ZVxuICAgICAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgZW50cnkgd2FzIHJlbW92ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZURlbGV0ZShrZXkpIHtcbiAgICAgIHZhciByZXN1bHQgPSBnZXRNYXBEYXRhKHRoaXMsIGtleSlbJ2RlbGV0ZSddKGtleSk7XG4gICAgICB0aGlzLnNpemUgLT0gcmVzdWx0ID8gMSA6IDA7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIG1hcCB2YWx1ZSBmb3IgYGtleWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGdldFxuICAgICAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZUdldChrZXkpIHtcbiAgICAgIHJldHVybiBnZXRNYXBEYXRhKHRoaXMsIGtleSkuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGEgbWFwIHZhbHVlIGZvciBga2V5YCBleGlzdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIGhhc1xuICAgICAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFuIGVudHJ5IGZvciBga2V5YCBleGlzdHMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBDYWNoZUhhcyhrZXkpIHtcbiAgICAgIHJldHVybiBnZXRNYXBEYXRhKHRoaXMsIGtleSkuaGFzKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyB0aGUgbWFwIGBrZXlgIHRvIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBuYW1lIHNldFxuICAgICAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBtYXAgY2FjaGUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFwQ2FjaGVTZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIGRhdGEgPSBnZXRNYXBEYXRhKHRoaXMsIGtleSksXG4gICAgICAgICAgc2l6ZSA9IGRhdGEuc2l6ZTtcblxuICAgICAgZGF0YS5zZXQoa2V5LCB2YWx1ZSk7XG4gICAgICB0aGlzLnNpemUgKz0gZGF0YS5zaXplID09IHNpemUgPyAwIDogMTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBNYXBDYWNoZWAuXG4gICAgTWFwQ2FjaGUucHJvdG90eXBlLmNsZWFyID0gbWFwQ2FjaGVDbGVhcjtcbiAgICBNYXBDYWNoZS5wcm90b3R5cGVbJ2RlbGV0ZSddID0gbWFwQ2FjaGVEZWxldGU7XG4gICAgTWFwQ2FjaGUucHJvdG90eXBlLmdldCA9IG1hcENhY2hlR2V0O1xuICAgIE1hcENhY2hlLnByb3RvdHlwZS5oYXMgPSBtYXBDYWNoZUhhcztcbiAgICBNYXBDYWNoZS5wcm90b3R5cGUuc2V0ID0gbWFwQ2FjaGVTZXQ7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgY2FjaGUgb2JqZWN0IHRvIHN0b3JlIHVuaXF1ZSB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gY2FjaGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gU2V0Q2FjaGUodmFsdWVzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSB2YWx1ZXMgPT0gbnVsbCA/IDAgOiB2YWx1ZXMubGVuZ3RoO1xuXG4gICAgICB0aGlzLl9fZGF0YV9fID0gbmV3IE1hcENhY2hlO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdGhpcy5hZGQodmFsdWVzW2luZGV4XSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyBgdmFsdWVgIHRvIHRoZSBhcnJheSBjYWNoZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgYWRkXG4gICAgICogQG1lbWJlck9mIFNldENhY2hlXG4gICAgICogQGFsaWFzIHB1c2hcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjYWNoZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjYWNoZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzZXRDYWNoZUFkZCh2YWx1ZSkge1xuICAgICAgdGhpcy5fX2RhdGFfXy5zZXQodmFsdWUsIEhBU0hfVU5ERUZJTkVEKTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGluIHRoZSBhcnJheSBjYWNoZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgaGFzXG4gICAgICogQG1lbWJlck9mIFNldENhY2hlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGZvdW5kLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2V0Q2FjaGVIYXModmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYFNldENhY2hlYC5cbiAgICBTZXRDYWNoZS5wcm90b3R5cGUuYWRkID0gU2V0Q2FjaGUucHJvdG90eXBlLnB1c2ggPSBzZXRDYWNoZUFkZDtcbiAgICBTZXRDYWNoZS5wcm90b3R5cGUuaGFzID0gc2V0Q2FjaGVIYXM7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc3RhY2sgY2FjaGUgb2JqZWN0IHRvIHN0b3JlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQGNvbnN0cnVjdG9yXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gU3RhY2soZW50cmllcykge1xuICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fID0gbmV3IExpc3RDYWNoZShlbnRyaWVzKTtcbiAgICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBzdGFjay5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgY2xlYXJcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdGFja0NsZWFyKCkge1xuICAgICAgdGhpcy5fX2RhdGFfXyA9IG5ldyBMaXN0Q2FjaGU7XG4gICAgICB0aGlzLnNpemUgPSAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBzdGFjay5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQG5hbWUgZGVsZXRlXG4gICAgICogQG1lbWJlck9mIFN0YWNrXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0YWNrRGVsZXRlKGtleSkge1xuICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgICAgIHJlc3VsdCA9IGRhdGFbJ2RlbGV0ZSddKGtleSk7XG5cbiAgICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc3RhY2sgdmFsdWUgZm9yIGBrZXlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBnZXRcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhY2tHZXQoa2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYSBzdGFjayB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBoYXNcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIGVudHJ5IHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhY2tIYXMoa2V5KSB7XG4gICAgICByZXR1cm4gdGhpcy5fX2RhdGFfXy5oYXMoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBzdGFjayBga2V5YCB0byBgdmFsdWVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAbmFtZSBzZXRcbiAgICAgKiBAbWVtYmVyT2YgU3RhY2tcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgc3RhY2sgY2FjaGUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhY2tTZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICAgICAgaWYgKGRhdGEgaW5zdGFuY2VvZiBMaXN0Q2FjaGUpIHtcbiAgICAgICAgdmFyIHBhaXJzID0gZGF0YS5fX2RhdGFfXztcbiAgICAgICAgaWYgKCFNYXAgfHwgKHBhaXJzLmxlbmd0aCA8IExBUkdFX0FSUkFZX1NJWkUgLSAxKSkge1xuICAgICAgICAgIHBhaXJzLnB1c2goW2tleSwgdmFsdWVdKTtcbiAgICAgICAgICB0aGlzLnNpemUgPSArK2RhdGEuc2l6ZTtcbiAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuICAgICAgICBkYXRhID0gdGhpcy5fX2RhdGFfXyA9IG5ldyBNYXBDYWNoZShwYWlycyk7XG4gICAgICB9XG4gICAgICBkYXRhLnNldChrZXksIHZhbHVlKTtcbiAgICAgIHRoaXMuc2l6ZSA9IGRhdGEuc2l6ZTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFkZCBtZXRob2RzIHRvIGBTdGFja2AuXG4gICAgU3RhY2sucHJvdG90eXBlLmNsZWFyID0gc3RhY2tDbGVhcjtcbiAgICBTdGFjay5wcm90b3R5cGVbJ2RlbGV0ZSddID0gc3RhY2tEZWxldGU7XG4gICAgU3RhY2sucHJvdG90eXBlLmdldCA9IHN0YWNrR2V0O1xuICAgIFN0YWNrLnByb3RvdHlwZS5oYXMgPSBzdGFja0hhcztcbiAgICBTdGFjay5wcm90b3R5cGUuc2V0ID0gc3RhY2tTZXQ7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIG9mIHRoZSBhcnJheS1saWtlIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gaW5oZXJpdGVkIFNwZWNpZnkgcmV0dXJuaW5nIGluaGVyaXRlZCBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFycmF5TGlrZUtleXModmFsdWUsIGluaGVyaXRlZCkge1xuICAgICAgdmFyIGlzQXJyID0gaXNBcnJheSh2YWx1ZSksXG4gICAgICAgICAgaXNBcmcgPSAhaXNBcnIgJiYgaXNBcmd1bWVudHModmFsdWUpLFxuICAgICAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiAhaXNBcmcgJiYgaXNCdWZmZXIodmFsdWUpLFxuICAgICAgICAgIGlzVHlwZSA9ICFpc0FyciAmJiAhaXNBcmcgJiYgIWlzQnVmZiAmJiBpc1R5cGVkQXJyYXkodmFsdWUpLFxuICAgICAgICAgIHNraXBJbmRleGVzID0gaXNBcnIgfHwgaXNBcmcgfHwgaXNCdWZmIHx8IGlzVHlwZSxcbiAgICAgICAgICByZXN1bHQgPSBza2lwSW5kZXhlcyA/IGJhc2VUaW1lcyh2YWx1ZS5sZW5ndGgsIFN0cmluZykgOiBbXSxcbiAgICAgICAgICBsZW5ndGggPSByZXN1bHQubGVuZ3RoO1xuXG4gICAgICBmb3IgKHZhciBrZXkgaW4gdmFsdWUpIHtcbiAgICAgICAgaWYgKChpbmhlcml0ZWQgfHwgaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwga2V5KSkgJiZcbiAgICAgICAgICAgICEoc2tpcEluZGV4ZXMgJiYgKFxuICAgICAgICAgICAgICAgLy8gU2FmYXJpIDkgaGFzIGVudW1lcmFibGUgYGFyZ3VtZW50cy5sZW5ndGhgIGluIHN0cmljdCBtb2RlLlxuICAgICAgICAgICAgICAga2V5ID09ICdsZW5ndGgnIHx8XG4gICAgICAgICAgICAgICAvLyBOb2RlLmpzIDAuMTAgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gYnVmZmVycy5cbiAgICAgICAgICAgICAgIChpc0J1ZmYgJiYgKGtleSA9PSAnb2Zmc2V0JyB8fCBrZXkgPT0gJ3BhcmVudCcpKSB8fFxuICAgICAgICAgICAgICAgLy8gUGhhbnRvbUpTIDIgaGFzIGVudW1lcmFibGUgbm9uLWluZGV4IHByb3BlcnRpZXMgb24gdHlwZWQgYXJyYXlzLlxuICAgICAgICAgICAgICAgKGlzVHlwZSAmJiAoa2V5ID09ICdidWZmZXInIHx8IGtleSA9PSAnYnl0ZUxlbmd0aCcgfHwga2V5ID09ICdieXRlT2Zmc2V0JykpIHx8XG4gICAgICAgICAgICAgICAvLyBTa2lwIGluZGV4IHByb3BlcnRpZXMuXG4gICAgICAgICAgICAgICBpc0luZGV4KGtleSwgbGVuZ3RoKVxuICAgICAgICAgICAgKSkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zYW1wbGVgIGZvciBhcnJheXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzYW1wbGUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJhbmRvbSBlbGVtZW50LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFycmF5U2FtcGxlKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgcmV0dXJuIGxlbmd0aCA/IGFycmF5W2Jhc2VSYW5kb20oMCwgbGVuZ3RoIC0gMSldIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgXy5zYW1wbGVTaXplYCBmb3IgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gc2FtcGxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gc2FtcGxlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFycmF5U2FtcGxlU2l6ZShhcnJheSwgbikge1xuICAgICAgcmV0dXJuIHNodWZmbGVTZWxmKGNvcHlBcnJheShhcnJheSksIGJhc2VDbGFtcChuLCAwLCBhcnJheS5sZW5ndGgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYF8uc2h1ZmZsZWAgZm9yIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNodWZmbGUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc2h1ZmZsZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYXJyYXlTaHVmZmxlKGFycmF5KSB7XG4gICAgICByZXR1cm4gc2h1ZmZsZVNlbGYoY29weUFycmF5KGFycmF5KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlIGBhc3NpZ25WYWx1ZWAgZXhjZXB0IHRoYXQgaXQgZG9lc24ndCBhc3NpZ25cbiAgICAgKiBgdW5kZWZpbmVkYCB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBwcm9wZXJ0eSB0byBhc3NpZ24uXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKSB7XG4gICAgICBpZiAoKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgIWVxKG9iamVjdFtrZXldLCB2YWx1ZSkpIHx8XG4gICAgICAgICAgKHZhbHVlID09PSB1bmRlZmluZWQgJiYgIShrZXkgaW4gb2JqZWN0KSkpIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXNzaWducyBgdmFsdWVgIHRvIGBrZXlgIG9mIGBvYmplY3RgIGlmIHRoZSBleGlzdGluZyB2YWx1ZSBpcyBub3QgZXF1aXZhbGVudFxuICAgICAqIHVzaW5nIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGFzc2lnbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhc3NpZ25WYWx1ZShvYmplY3QsIGtleSwgdmFsdWUpIHtcbiAgICAgIHZhciBvYmpWYWx1ZSA9IG9iamVjdFtrZXldO1xuICAgICAgaWYgKCEoaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkgJiYgZXEob2JqVmFsdWUsIHZhbHVlKSkgfHxcbiAgICAgICAgICAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiAhKGtleSBpbiBvYmplY3QpKSkge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBpbmRleCBhdCB3aGljaCB0aGUgYGtleWAgaXMgZm91bmQgaW4gYGFycmF5YCBvZiBrZXktdmFsdWUgcGFpcnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0ga2V5IFRoZSBrZXkgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFzc29jSW5kZXhPZihhcnJheSwga2V5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIGlmIChlcShhcnJheVtsZW5ndGhdWzBdLCBrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFnZ3JlZ2F0ZXMgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gIG9uIGBhY2N1bXVsYXRvcmAgd2l0aCBrZXlzIHRyYW5zZm9ybWVkXG4gICAgICogYnkgYGl0ZXJhdGVlYCBhbmQgdmFsdWVzIHNldCBieSBgc2V0dGVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGBhY2N1bXVsYXRvcmAgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBpdGVyYXRlZSB0byB0cmFuc2Zvcm0ga2V5cy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gYWNjdW11bGF0b3IgVGhlIGluaXRpYWwgYWdncmVnYXRlZCBvYmplY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBhY2N1bXVsYXRvcmAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUFnZ3JlZ2F0b3IoY29sbGVjdGlvbiwgc2V0dGVyLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIGJhc2VFYWNoKGNvbGxlY3Rpb24sIGZ1bmN0aW9uKHZhbHVlLCBrZXksIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgc2V0dGVyKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaXRlcmF0ZWUodmFsdWUpLCBjb2xsZWN0aW9uKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmFzc2lnbmAgd2l0aG91dCBzdXBwb3J0IGZvciBtdWx0aXBsZSBzb3VyY2VzXG4gICAgICogb3IgYGN1c3RvbWl6ZXJgIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQXNzaWduKG9iamVjdCwgc291cmNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uYXNzaWduSW5gIHdpdGhvdXQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgc291cmNlc1xuICAgICAqIG9yIGBjdXN0b21pemVyYCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUFzc2lnbkluKG9iamVjdCwgc291cmNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzSW4oc291cmNlKSwgb2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgYXNzaWduVmFsdWVgIGFuZCBgYXNzaWduTWVyZ2VWYWx1ZWAgd2l0aG91dFxuICAgICAqIHZhbHVlIGNoZWNrcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGFzc2lnbi5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCB2YWx1ZSkge1xuICAgICAgaWYgKGtleSA9PSAnX19wcm90b19fJyAmJiBkZWZpbmVQcm9wZXJ0eSkge1xuICAgICAgICBkZWZpbmVQcm9wZXJ0eShvYmplY3QsIGtleSwge1xuICAgICAgICAgICdjb25maWd1cmFibGUnOiB0cnVlLFxuICAgICAgICAgICdlbnVtZXJhYmxlJzogdHJ1ZSxcbiAgICAgICAgICAndmFsdWUnOiB2YWx1ZSxcbiAgICAgICAgICAnd3JpdGFibGUnOiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5hdGAgd2l0aG91dCBzdXBwb3J0IGZvciBpbmRpdmlkdWFsIHBhdGhzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHBhdGhzIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcGlja2VkIGVsZW1lbnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VBdChvYmplY3QsIHBhdGhzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBwYXRocy5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICBza2lwID0gb2JqZWN0ID09IG51bGw7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtpbmRleF0gPSBza2lwID8gdW5kZWZpbmVkIDogZ2V0KG9iamVjdCwgcGF0aHNbaW5kZXhdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uY2xhbXBgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNsYW1wLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbG93ZXJdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdXBwZXIgVGhlIHVwcGVyIGJvdW5kLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNsYW1wZWQgbnVtYmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDbGFtcChudW1iZXIsIGxvd2VyLCB1cHBlcikge1xuICAgICAgaWYgKG51bWJlciA9PT0gbnVtYmVyKSB7XG4gICAgICAgIGlmICh1cHBlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgbnVtYmVyID0gbnVtYmVyIDw9IHVwcGVyID8gbnVtYmVyIDogdXBwZXI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxvd2VyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBudW1iZXIgPSBudW1iZXIgPj0gbG93ZXIgPyBudW1iZXIgOiBsb3dlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG51bWJlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5jbG9uZWAgYW5kIGBfLmNsb25lRGVlcGAgd2hpY2ggdHJhY2tzXG4gICAgICogdHJhdmVyc2VkIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy5cbiAgICAgKiAgMSAtIERlZXAgY2xvbmVcbiAgICAgKiAgMiAtIEZsYXR0ZW4gaW5oZXJpdGVkIHByb3BlcnRpZXNcbiAgICAgKiAgNCAtIENsb25lIHN5bWJvbHNcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjbG9uaW5nLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBba2V5XSBUaGUga2V5IG9mIGB2YWx1ZWAuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvYmplY3RdIFRoZSBwYXJlbnQgb2JqZWN0IG9mIGB2YWx1ZWAuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBvYmplY3RzIGFuZCB0aGVpciBjbG9uZSBjb3VudGVycGFydHMuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGNsb25lZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQ2xvbmUodmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGtleSwgb2JqZWN0LCBzdGFjaykge1xuICAgICAgdmFyIHJlc3VsdCxcbiAgICAgICAgICBpc0RlZXAgPSBiaXRtYXNrICYgQ0xPTkVfREVFUF9GTEFHLFxuICAgICAgICAgIGlzRmxhdCA9IGJpdG1hc2sgJiBDTE9ORV9GTEFUX0ZMQUcsXG4gICAgICAgICAgaXNGdWxsID0gYml0bWFzayAmIENMT05FX1NZTUJPTFNfRkxBRztcblxuICAgICAgaWYgKGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgcmVzdWx0ID0gb2JqZWN0ID8gY3VzdG9taXplcih2YWx1ZSwga2V5LCBvYmplY3QsIHN0YWNrKSA6IGN1c3RvbWl6ZXIodmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICB2YXIgaXNBcnIgPSBpc0FycmF5KHZhbHVlKTtcbiAgICAgIGlmIChpc0Fycikge1xuICAgICAgICByZXN1bHQgPSBpbml0Q2xvbmVBcnJheSh2YWx1ZSk7XG4gICAgICAgIGlmICghaXNEZWVwKSB7XG4gICAgICAgICAgcmV0dXJuIGNvcHlBcnJheSh2YWx1ZSwgcmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHRhZyA9IGdldFRhZyh2YWx1ZSksXG4gICAgICAgICAgICBpc0Z1bmMgPSB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnO1xuXG4gICAgICAgIGlmIChpc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gY2xvbmVCdWZmZXIodmFsdWUsIGlzRGVlcCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhZyA9PSBvYmplY3RUYWcgfHwgdGFnID09IGFyZ3NUYWcgfHwgKGlzRnVuYyAmJiAhb2JqZWN0KSkge1xuICAgICAgICAgIHJlc3VsdCA9IChpc0ZsYXQgfHwgaXNGdW5jKSA/IHt9IDogaW5pdENsb25lT2JqZWN0KHZhbHVlKTtcbiAgICAgICAgICBpZiAoIWlzRGVlcCkge1xuICAgICAgICAgICAgcmV0dXJuIGlzRmxhdFxuICAgICAgICAgICAgICA/IGNvcHlTeW1ib2xzSW4odmFsdWUsIGJhc2VBc3NpZ25JbihyZXN1bHQsIHZhbHVlKSlcbiAgICAgICAgICAgICAgOiBjb3B5U3ltYm9scyh2YWx1ZSwgYmFzZUFzc2lnbihyZXN1bHQsIHZhbHVlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghY2xvbmVhYmxlVGFnc1t0YWddKSB7XG4gICAgICAgICAgICByZXR1cm4gb2JqZWN0ID8gdmFsdWUgOiB7fTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gaW5pdENsb25lQnlUYWcodmFsdWUsIHRhZywgaXNEZWVwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQ2hlY2sgZm9yIGNpcmN1bGFyIHJlZmVyZW5jZXMgYW5kIHJldHVybiBpdHMgY29ycmVzcG9uZGluZyBjbG9uZS5cbiAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjayk7XG4gICAgICB2YXIgc3RhY2tlZCA9IHN0YWNrLmdldCh2YWx1ZSk7XG4gICAgICBpZiAoc3RhY2tlZCkge1xuICAgICAgICByZXR1cm4gc3RhY2tlZDtcbiAgICAgIH1cbiAgICAgIHN0YWNrLnNldCh2YWx1ZSwgcmVzdWx0KTtcblxuICAgICAgaWYgKGlzU2V0KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlKSB7XG4gICAgICAgICAgcmVzdWx0LmFkZChiYXNlQ2xvbmUoc3ViVmFsdWUsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIHN1YlZhbHVlLCB2YWx1ZSwgc3RhY2spKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKGlzTWFwKHZhbHVlKSkge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGZ1bmN0aW9uKHN1YlZhbHVlLCBrZXkpIHtcbiAgICAgICAgICByZXN1bHQuc2V0KGtleSwgYmFzZUNsb25lKHN1YlZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBrZXksIHZhbHVlLCBzdGFjaykpO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgdmFyIGtleXNGdW5jID0gaXNGdWxsXG4gICAgICAgID8gKGlzRmxhdCA/IGdldEFsbEtleXNJbiA6IGdldEFsbEtleXMpXG4gICAgICAgIDogKGlzRmxhdCA/IGtleXNJbiA6IGtleXMpO1xuXG4gICAgICB2YXIgcHJvcHMgPSBpc0FyciA/IHVuZGVmaW5lZCA6IGtleXNGdW5jKHZhbHVlKTtcbiAgICAgIGFycmF5RWFjaChwcm9wcyB8fCB2YWx1ZSwgZnVuY3Rpb24oc3ViVmFsdWUsIGtleSkge1xuICAgICAgICBpZiAocHJvcHMpIHtcbiAgICAgICAgICBrZXkgPSBzdWJWYWx1ZTtcbiAgICAgICAgICBzdWJWYWx1ZSA9IHZhbHVlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVjdXJzaXZlbHkgcG9wdWxhdGUgY2xvbmUgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgYXNzaWduVmFsdWUocmVzdWx0LCBrZXksIGJhc2VDbG9uZShzdWJWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwga2V5LCB2YWx1ZSwgc3RhY2spKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5jb25mb3Jtc2Agd2hpY2ggZG9lc24ndCBjbG9uZSBgc291cmNlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHByZWRpY2F0ZXMgdG8gY29uZm9ybSB0by5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzcGVjIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VDb25mb3Jtcyhzb3VyY2UpIHtcbiAgICAgIHZhciBwcm9wcyA9IGtleXMoc291cmNlKTtcbiAgICAgIHJldHVybiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBwcm9wcyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmNvbmZvcm1zVG9gIHdoaWNoIGFjY2VwdHMgYHByb3BzYCB0byBjaGVjay5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHByZWRpY2F0ZXMgdG8gY29uZm9ybSB0by5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgY29uZm9ybXMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlQ29uZm9ybXNUbyhvYmplY3QsIHNvdXJjZSwgcHJvcHMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBwcm9wcy5sZW5ndGg7XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuICFsZW5ndGg7XG4gICAgICB9XG4gICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIga2V5ID0gcHJvcHNbbGVuZ3RoXSxcbiAgICAgICAgICAgIHByZWRpY2F0ZSA9IHNvdXJjZVtrZXldLFxuICAgICAgICAgICAgdmFsdWUgPSBvYmplY3Rba2V5XTtcblxuICAgICAgICBpZiAoKHZhbHVlID09PSB1bmRlZmluZWQgJiYgIShrZXkgaW4gb2JqZWN0KSkgfHwgIXByZWRpY2F0ZSh2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmRlbGF5YCBhbmQgYF8uZGVmZXJgIHdoaWNoIGFjY2VwdHMgYGFyZ3NgXG4gICAgICogdG8gcHJvdmlkZSB0byBgZnVuY2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlbGF5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB3YWl0IFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5IGludm9jYXRpb24uXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJncyBUaGUgYXJndW1lbnRzIHRvIHByb3ZpZGUgdG8gYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ8T2JqZWN0fSBSZXR1cm5zIHRoZSB0aW1lciBpZCBvciB0aW1lb3V0IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRGVsYXkoZnVuYywgd2FpdCwgYXJncykge1xuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGZ1bmMuYXBwbHkodW5kZWZpbmVkLCBhcmdzKTsgfSwgd2FpdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kcyBsaWtlIGBfLmRpZmZlcmVuY2VgIHdpdGhvdXQgc3VwcG9ydFxuICAgICAqIGZvciBleGNsdWRpbmcgbXVsdGlwbGUgYXJyYXlzIG9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIGV4Y2x1ZGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlXSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZURpZmZlcmVuY2UoYXJyYXksIHZhbHVlcywgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGluY2x1ZGVzID0gYXJyYXlJbmNsdWRlcyxcbiAgICAgICAgICBpc0NvbW1vbiA9IHRydWUsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IFtdLFxuICAgICAgICAgIHZhbHVlc0xlbmd0aCA9IHZhbHVlcy5sZW5ndGg7XG5cbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFsdWVzID0gYXJyYXlNYXAodmFsdWVzLCBiYXNlVW5hcnkoaXRlcmF0ZWUpKTtcbiAgICAgIH1cbiAgICAgIGlmIChjb21wYXJhdG9yKSB7XG4gICAgICAgIGluY2x1ZGVzID0gYXJyYXlJbmNsdWRlc1dpdGg7XG4gICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICB9XG4gICAgICBlbHNlIGlmICh2YWx1ZXMubGVuZ3RoID49IExBUkdFX0FSUkFZX1NJWkUpIHtcbiAgICAgICAgaW5jbHVkZXMgPSBjYWNoZUhhcztcbiAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgdmFsdWVzID0gbmV3IFNldENhY2hlKHZhbHVlcyk7XG4gICAgICB9XG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPT0gbnVsbCA/IHZhbHVlIDogaXRlcmF0ZWUodmFsdWUpO1xuXG4gICAgICAgIHZhbHVlID0gKGNvbXBhcmF0b3IgfHwgdmFsdWUgIT09IDApID8gdmFsdWUgOiAwO1xuICAgICAgICBpZiAoaXNDb21tb24gJiYgY29tcHV0ZWQgPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgdmFyIHZhbHVlc0luZGV4ID0gdmFsdWVzTGVuZ3RoO1xuICAgICAgICAgIHdoaWxlICh2YWx1ZXNJbmRleC0tKSB7XG4gICAgICAgICAgICBpZiAodmFsdWVzW3ZhbHVlc0luZGV4XSA9PT0gY29tcHV0ZWQpIHtcbiAgICAgICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghaW5jbHVkZXModmFsdWVzLCBjb21wdXRlZCwgY29tcGFyYXRvcikpIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yRWFjaGAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl8T2JqZWN0fSBSZXR1cm5zIGBjb2xsZWN0aW9uYC5cbiAgICAgKi9cbiAgICB2YXIgYmFzZUVhY2ggPSBjcmVhdGVCYXNlRWFjaChiYXNlRm9yT3duKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZvckVhY2hSaWdodGAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl8T2JqZWN0fSBSZXR1cm5zIGBjb2xsZWN0aW9uYC5cbiAgICAgKi9cbiAgICB2YXIgYmFzZUVhY2hSaWdodCA9IGNyZWF0ZUJhc2VFYWNoKGJhc2VGb3JPd25SaWdodCwgdHJ1ZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5ldmVyeWAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFsbCBlbGVtZW50cyBwYXNzIHRoZSBwcmVkaWNhdGUgY2hlY2ssXG4gICAgICogIGVsc2UgYGZhbHNlYFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VFdmVyeShjb2xsZWN0aW9uLCBwcmVkaWNhdGUpIHtcbiAgICAgIHZhciByZXN1bHQgPSB0cnVlO1xuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGluZGV4LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHJlc3VsdCA9ICEhcHJlZGljYXRlKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbik7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgbWV0aG9kcyBsaWtlIGBfLm1heGAgYW5kIGBfLm1pbmAgd2hpY2ggYWNjZXB0cyBhXG4gICAgICogYGNvbXBhcmF0b3JgIHRvIGRldGVybWluZSB0aGUgZXh0cmVtdW0gdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBjb21wYXJhdG9yIFRoZSBjb21wYXJhdG9yIHVzZWQgdG8gY29tcGFyZSB2YWx1ZXMuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGV4dHJlbXVtIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VFeHRyZW11bShhcnJheSwgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgICAgY3VycmVudCA9IGl0ZXJhdGVlKHZhbHVlKTtcblxuICAgICAgICBpZiAoY3VycmVudCAhPSBudWxsICYmIChjb21wdXRlZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gKGN1cnJlbnQgPT09IGN1cnJlbnQgJiYgIWlzU3ltYm9sKGN1cnJlbnQpKVxuICAgICAgICAgICAgICA6IGNvbXBhcmF0b3IoY3VycmVudCwgY29tcHV0ZWQpXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgdmFyIGNvbXB1dGVkID0gY3VycmVudCxcbiAgICAgICAgICAgICAgcmVzdWx0ID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZmlsbGAgd2l0aG91dCBhbiBpdGVyYXRlZSBjYWxsIGd1YXJkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmlsbC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBmaWxsIGBhcnJheWAgd2l0aC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2VuZD1hcnJheS5sZW5ndGhdIFRoZSBlbmQgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUZpbGwoYXJyYXksIHZhbHVlLCBzdGFydCwgZW5kKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgICBzdGFydCA9IHRvSW50ZWdlcihzdGFydCk7XG4gICAgICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgICAgIHN0YXJ0ID0gLXN0YXJ0ID4gbGVuZ3RoID8gMCA6IChsZW5ndGggKyBzdGFydCk7XG4gICAgICB9XG4gICAgICBlbmQgPSAoZW5kID09PSB1bmRlZmluZWQgfHwgZW5kID4gbGVuZ3RoKSA/IGxlbmd0aCA6IHRvSW50ZWdlcihlbmQpO1xuICAgICAgaWYgKGVuZCA8IDApIHtcbiAgICAgICAgZW5kICs9IGxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGVuZCA9IHN0YXJ0ID4gZW5kID8gMCA6IHRvTGVuZ3RoKGVuZCk7XG4gICAgICB3aGlsZSAoc3RhcnQgPCBlbmQpIHtcbiAgICAgICAgYXJyYXlbc3RhcnQrK10gPSB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5maWx0ZXJgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWUgc2hvcnRoYW5kcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZpbHRlcmVkIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGaWx0ZXIoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZmxhdHRlbmAgd2l0aCBzdXBwb3J0IGZvciByZXN0cmljdGluZyBmbGF0dGVuaW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmxhdHRlbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGVwdGggVGhlIG1heGltdW0gcmVjdXJzaW9uIGRlcHRoLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3ByZWRpY2F0ZT1pc0ZsYXR0ZW5hYmxlXSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzU3RyaWN0XSBSZXN0cmljdCB0byB2YWx1ZXMgdGhhdCBwYXNzIGBwcmVkaWNhdGVgIGNoZWNrcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcmVzdWx0PVtdXSBUaGUgaW5pdGlhbCByZXN1bHQgdmFsdWUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGbGF0dGVuKGFycmF5LCBkZXB0aCwgcHJlZGljYXRlLCBpc1N0cmljdCwgcmVzdWx0KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgICAgIHByZWRpY2F0ZSB8fCAocHJlZGljYXRlID0gaXNGbGF0dGVuYWJsZSk7XG4gICAgICByZXN1bHQgfHwgKHJlc3VsdCA9IFtdKTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICBpZiAoZGVwdGggPiAwICYmIHByZWRpY2F0ZSh2YWx1ZSkpIHtcbiAgICAgICAgICBpZiAoZGVwdGggPiAxKSB7XG4gICAgICAgICAgICAvLyBSZWN1cnNpdmVseSBmbGF0dGVuIGFycmF5cyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICAgICAgYmFzZUZsYXR0ZW4odmFsdWUsIGRlcHRoIC0gMSwgcHJlZGljYXRlLCBpc1N0cmljdCwgcmVzdWx0KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXJyYXlQdXNoKHJlc3VsdCwgdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghaXNTdHJpY3QpIHtcbiAgICAgICAgICByZXN1bHRbcmVzdWx0Lmxlbmd0aF0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgYmFzZUZvck93bmAgd2hpY2ggaXRlcmF0ZXMgb3ZlciBgb2JqZWN0YFxuICAgICAqIHByb3BlcnRpZXMgcmV0dXJuZWQgYnkgYGtleXNGdW5jYCBhbmQgaW52b2tlcyBgaXRlcmF0ZWVgIGZvciBlYWNoIHByb3BlcnR5LlxuICAgICAqIEl0ZXJhdGVlIGZ1bmN0aW9ucyBtYXkgZXhpdCBpdGVyYXRpb24gZWFybHkgYnkgZXhwbGljaXRseSByZXR1cm5pbmcgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGtleXNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgb2YgYG9iamVjdGAuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICB2YXIgYmFzZUZvciA9IGNyZWF0ZUJhc2VGb3IoKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgbGlrZSBgYmFzZUZvcmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBwcm9wZXJ0aWVzXG4gICAgICogaW4gdGhlIG9wcG9zaXRlIG9yZGVyLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0ga2V5c0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUga2V5cyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIHZhciBiYXNlRm9yUmlnaHQgPSBjcmVhdGVCYXNlRm9yKHRydWUpO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uZm9yT3duYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGb3JPd24ob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIG9iamVjdCAmJiBiYXNlRm9yKG9iamVjdCwgaXRlcmF0ZWUsIGtleXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmZvck93blJpZ2h0YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VGb3JPd25SaWdodChvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3JSaWdodChvYmplY3QsIGl0ZXJhdGVlLCBrZXlzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5mdW5jdGlvbnNgIHdoaWNoIGNyZWF0ZXMgYW4gYXJyYXkgb2ZcbiAgICAgKiBgb2JqZWN0YCBmdW5jdGlvbiBwcm9wZXJ0eSBuYW1lcyBmaWx0ZXJlZCBmcm9tIGBwcm9wc2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHByb3BzIFRoZSBwcm9wZXJ0eSBuYW1lcyB0byBmaWx0ZXIuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBuYW1lcy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlRnVuY3Rpb25zKG9iamVjdCwgcHJvcHMpIHtcbiAgICAgIHJldHVybiBhcnJheUZpbHRlcihwcm9wcywgZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIHJldHVybiBpc0Z1bmN0aW9uKG9iamVjdFtrZXldKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmdldGAgd2l0aG91dCBzdXBwb3J0IGZvciBkZWZhdWx0IHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VHZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gMCxcbiAgICAgICAgICBsZW5ndGggPSBwYXRoLmxlbmd0aDtcblxuICAgICAgd2hpbGUgKG9iamVjdCAhPSBudWxsICYmIGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIG9iamVjdCA9IG9iamVjdFt0b0tleShwYXRoW2luZGV4KytdKV07XG4gICAgICB9XG4gICAgICByZXR1cm4gKGluZGV4ICYmIGluZGV4ID09IGxlbmd0aCkgPyBvYmplY3QgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYGdldEFsbEtleXNgIGFuZCBgZ2V0QWxsS2V5c0luYCB3aGljaCB1c2VzXG4gICAgICogYGtleXNGdW5jYCBhbmQgYHN5bWJvbHNGdW5jYCB0byBnZXQgdGhlIGVudW1lcmFibGUgcHJvcGVydHkgbmFtZXMgYW5kXG4gICAgICogc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGtleXNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgb2YgYG9iamVjdGAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc3ltYm9sc0Z1bmMgVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUgc3ltYm9scyBvZiBgb2JqZWN0YC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIGFuZCBzeW1ib2xzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VHZXRBbGxLZXlzKG9iamVjdCwga2V5c0Z1bmMsIHN5bWJvbHNGdW5jKSB7XG4gICAgICB2YXIgcmVzdWx0ID0ga2V5c0Z1bmMob2JqZWN0KTtcbiAgICAgIHJldHVybiBpc0FycmF5KG9iamVjdCkgPyByZXN1bHQgOiBhcnJheVB1c2gocmVzdWx0LCBzeW1ib2xzRnVuYyhvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgZ2V0VGFnYCB3aXRob3V0IGZhbGxiYWNrcyBmb3IgYnVnZ3kgZW52aXJvbm1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBgdG9TdHJpbmdUYWdgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VHZXRUYWcodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkVGFnIDogbnVsbFRhZztcbiAgICAgIH1cbiAgICAgIHJldHVybiAoc3ltVG9TdHJpbmdUYWcgJiYgc3ltVG9TdHJpbmdUYWcgaW4gT2JqZWN0KHZhbHVlKSlcbiAgICAgICAgPyBnZXRSYXdUYWcodmFsdWUpXG4gICAgICAgIDogb2JqZWN0VG9TdHJpbmcodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmd0YCB3aGljaCBkb2Vzbid0IGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBncmVhdGVyIHRoYW4gYG90aGVyYCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VHdCh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+IG90aGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmhhc2Agd2l0aG91dCBzdXBwb3J0IGZvciBkZWVwIHBhdGhzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30ga2V5IFRoZSBrZXkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VIYXMob2JqZWN0LCBrZXkpIHtcbiAgICAgIHJldHVybiBvYmplY3QgIT0gbnVsbCAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5oYXNJbmAgd2l0aG91dCBzdXBwb3J0IGZvciBkZWVwIHBhdGhzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30ga2V5IFRoZSBrZXkgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VIYXNJbihvYmplY3QsIGtleSkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGtleSBpbiBPYmplY3Qob2JqZWN0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pblJhbmdlYCB3aGljaCBkb2Vzbid0IGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnQgVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgbnVtYmVyYCBpcyBpbiB0aGUgcmFuZ2UsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHJldHVybiBudW1iZXIgPj0gbmF0aXZlTWluKHN0YXJ0LCBlbmQpICYmIG51bWJlciA8IG5hdGl2ZU1heChzdGFydCwgZW5kKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBtZXRob2RzIGxpa2UgYF8uaW50ZXJzZWN0aW9uYCwgd2l0aG91dCBzdXBwb3J0XG4gICAgICogZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMsIHRoYXQgYWNjZXB0cyBhbiBhcnJheSBvZiBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXlzIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHNoYXJlZCB2YWx1ZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUludGVyc2VjdGlvbihhcnJheXMsIGl0ZXJhdGVlLCBjb21wYXJhdG9yKSB7XG4gICAgICB2YXIgaW5jbHVkZXMgPSBjb21wYXJhdG9yID8gYXJyYXlJbmNsdWRlc1dpdGggOiBhcnJheUluY2x1ZGVzLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5c1swXS5sZW5ndGgsXG4gICAgICAgICAgb3RoTGVuZ3RoID0gYXJyYXlzLmxlbmd0aCxcbiAgICAgICAgICBvdGhJbmRleCA9IG90aExlbmd0aCxcbiAgICAgICAgICBjYWNoZXMgPSBBcnJheShvdGhMZW5ndGgpLFxuICAgICAgICAgIG1heExlbmd0aCA9IEluZmluaXR5LFxuICAgICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgICB3aGlsZSAob3RoSW5kZXgtLSkge1xuICAgICAgICB2YXIgYXJyYXkgPSBhcnJheXNbb3RoSW5kZXhdO1xuICAgICAgICBpZiAob3RoSW5kZXggJiYgaXRlcmF0ZWUpIHtcbiAgICAgICAgICBhcnJheSA9IGFycmF5TWFwKGFycmF5LCBiYXNlVW5hcnkoaXRlcmF0ZWUpKTtcbiAgICAgICAgfVxuICAgICAgICBtYXhMZW5ndGggPSBuYXRpdmVNaW4oYXJyYXkubGVuZ3RoLCBtYXhMZW5ndGgpO1xuICAgICAgICBjYWNoZXNbb3RoSW5kZXhdID0gIWNvbXBhcmF0b3IgJiYgKGl0ZXJhdGVlIHx8IChsZW5ndGggPj0gMTIwICYmIGFycmF5Lmxlbmd0aCA+PSAxMjApKVxuICAgICAgICAgID8gbmV3IFNldENhY2hlKG90aEluZGV4ICYmIGFycmF5KVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgYXJyYXkgPSBhcnJheXNbMF07XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIHNlZW4gPSBjYWNoZXNbMF07XG5cbiAgICAgIG91dGVyOlxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGggJiYgcmVzdWx0Lmxlbmd0aCA8IG1heExlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlID8gaXRlcmF0ZWUodmFsdWUpIDogdmFsdWU7XG5cbiAgICAgICAgdmFsdWUgPSAoY29tcGFyYXRvciB8fCB2YWx1ZSAhPT0gMCkgPyB2YWx1ZSA6IDA7XG4gICAgICAgIGlmICghKHNlZW5cbiAgICAgICAgICAgICAgPyBjYWNoZUhhcyhzZWVuLCBjb21wdXRlZClcbiAgICAgICAgICAgICAgOiBpbmNsdWRlcyhyZXN1bHQsIGNvbXB1dGVkLCBjb21wYXJhdG9yKVxuICAgICAgICAgICAgKSkge1xuICAgICAgICAgIG90aEluZGV4ID0gb3RoTGVuZ3RoO1xuICAgICAgICAgIHdoaWxlICgtLW90aEluZGV4KSB7XG4gICAgICAgICAgICB2YXIgY2FjaGUgPSBjYWNoZXNbb3RoSW5kZXhdO1xuICAgICAgICAgICAgaWYgKCEoY2FjaGVcbiAgICAgICAgICAgICAgICAgID8gY2FjaGVIYXMoY2FjaGUsIGNvbXB1dGVkKVxuICAgICAgICAgICAgICAgICAgOiBpbmNsdWRlcyhhcnJheXNbb3RoSW5kZXhdLCBjb21wdXRlZCwgY29tcGFyYXRvcikpXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc2Vlbikge1xuICAgICAgICAgICAgc2Vlbi5wdXNoKGNvbXB1dGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmludmVydGAgYW5kIGBfLmludmVydEJ5YCB3aGljaCBpbnZlcnRzXG4gICAgICogYG9iamVjdGAgd2l0aCB2YWx1ZXMgdHJhbnNmb3JtZWQgYnkgYGl0ZXJhdGVlYCBhbmQgc2V0IGJ5IGBzZXR0ZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHNldHRlciBUaGUgZnVuY3Rpb24gdG8gc2V0IGBhY2N1bXVsYXRvcmAgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGl0ZXJhdGVlIFRoZSBpdGVyYXRlZSB0byB0cmFuc2Zvcm0gdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBhY2N1bXVsYXRvciBUaGUgaW5pdGlhbCBpbnZlcnRlZCBvYmplY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBhY2N1bXVsYXRvcmAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUludmVydGVyKG9iamVjdCwgc2V0dGVyLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgICAgICAgc2V0dGVyKGFjY3VtdWxhdG9yLCBpdGVyYXRlZSh2YWx1ZSksIGtleSwgb2JqZWN0KTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGFjY3VtdWxhdG9yO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmludm9rZWAgd2l0aG91dCBzdXBwb3J0IGZvciBpbmRpdmlkdWFsXG4gICAgICogbWV0aG9kIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBtZXRob2QgdG8gaW52b2tlLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgdGhlIG1ldGhvZCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJbnZva2Uob2JqZWN0LCBwYXRoLCBhcmdzKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcbiAgICAgIG9iamVjdCA9IHBhcmVudChvYmplY3QsIHBhdGgpO1xuICAgICAgdmFyIGZ1bmMgPSBvYmplY3QgPT0gbnVsbCA/IG9iamVjdCA6IG9iamVjdFt0b0tleShsYXN0KHBhdGgpKV07XG4gICAgICByZXR1cm4gZnVuYyA9PSBudWxsID8gdW5kZWZpbmVkIDogYXBwbHkoZnVuYywgb2JqZWN0LCBhcmdzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0FyZ3VtZW50c2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNBcmd1bWVudHModmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIGJhc2VHZXRUYWcodmFsdWUpID09IGFyZ3NUYWc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNBcnJheUJ1ZmZlcmAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5IGJ1ZmZlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc0FycmF5QnVmZmVyKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBhcnJheUJ1ZmZlclRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0RhdGVgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIGRhdGUgb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzRGF0ZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gZGF0ZVRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc0VxdWFsYCB3aGljaCBzdXBwb3J0cyBwYXJ0aWFsIGNvbXBhcmlzb25zXG4gICAgICogYW5kIHRyYWNrcyB0cmF2ZXJzZWQgb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy5cbiAgICAgKiAgMSAtIFVub3JkZXJlZCBjb21wYXJpc29uXG4gICAgICogIDIgLSBQYXJ0aWFsIGNvbXBhcmlzb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIGB2YWx1ZWAgYW5kIGBvdGhlcmAgb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc0VxdWFsKHZhbHVlLCBvdGhlciwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gb3RoZXIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCBvdGhlciA9PSBudWxsIHx8ICghaXNPYmplY3RMaWtlKHZhbHVlKSAmJiAhaXNPYmplY3RMaWtlKG90aGVyKSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXI7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZUlzRXF1YWxEZWVwKHZhbHVlLCBvdGhlciwgYml0bWFzaywgY3VzdG9taXplciwgYmFzZUlzRXF1YWwsIHN0YWNrKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VJc0VxdWFsYCBmb3IgYXJyYXlzIGFuZCBvYmplY3RzIHdoaWNoIHBlcmZvcm1zXG4gICAgICogZGVlcCBjb21wYXJpc29ucyBhbmQgdHJhY2tzIHRyYXZlcnNlZCBvYmplY3RzIGVuYWJsaW5nIG9iamVjdHMgd2l0aCBjaXJjdWxhclxuICAgICAqIHJlZmVyZW5jZXMgdG8gYmUgY29tcGFyZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvdGhlciBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW3N0YWNrXSBUcmFja3MgdHJhdmVyc2VkIGBvYmplY3RgIGFuZCBgb3RoZXJgIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBvYmplY3RzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzRXF1YWxEZWVwKG9iamVjdCwgb3RoZXIsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spIHtcbiAgICAgIHZhciBvYmpJc0FyciA9IGlzQXJyYXkob2JqZWN0KSxcbiAgICAgICAgICBvdGhJc0FyciA9IGlzQXJyYXkob3RoZXIpLFxuICAgICAgICAgIG9ialRhZyA9IG9iaklzQXJyID8gYXJyYXlUYWcgOiBnZXRUYWcob2JqZWN0KSxcbiAgICAgICAgICBvdGhUYWcgPSBvdGhJc0FyciA/IGFycmF5VGFnIDogZ2V0VGFnKG90aGVyKTtcblxuICAgICAgb2JqVGFnID0gb2JqVGFnID09IGFyZ3NUYWcgPyBvYmplY3RUYWcgOiBvYmpUYWc7XG4gICAgICBvdGhUYWcgPSBvdGhUYWcgPT0gYXJnc1RhZyA/IG9iamVjdFRhZyA6IG90aFRhZztcblxuICAgICAgdmFyIG9iaklzT2JqID0gb2JqVGFnID09IG9iamVjdFRhZyxcbiAgICAgICAgICBvdGhJc09iaiA9IG90aFRhZyA9PSBvYmplY3RUYWcsXG4gICAgICAgICAgaXNTYW1lVGFnID0gb2JqVGFnID09IG90aFRhZztcblxuICAgICAgaWYgKGlzU2FtZVRhZyAmJiBpc0J1ZmZlcihvYmplY3QpKSB7XG4gICAgICAgIGlmICghaXNCdWZmZXIob3RoZXIpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIG9iaklzQXJyID0gdHJ1ZTtcbiAgICAgICAgb2JqSXNPYmogPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1NhbWVUYWcgJiYgIW9iaklzT2JqKSB7XG4gICAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjayk7XG4gICAgICAgIHJldHVybiAob2JqSXNBcnIgfHwgaXNUeXBlZEFycmF5KG9iamVjdCkpXG4gICAgICAgICAgPyBlcXVhbEFycmF5cyhvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKVxuICAgICAgICAgIDogZXF1YWxCeVRhZyhvYmplY3QsIG90aGVyLCBvYmpUYWcsIGJpdG1hc2ssIGN1c3RvbWl6ZXIsIGVxdWFsRnVuYywgc3RhY2spO1xuICAgICAgfVxuICAgICAgaWYgKCEoYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHKSkge1xuICAgICAgICB2YXIgb2JqSXNXcmFwcGVkID0gb2JqSXNPYmogJiYgaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsICdfX3dyYXBwZWRfXycpLFxuICAgICAgICAgICAgb3RoSXNXcmFwcGVkID0gb3RoSXNPYmogJiYgaGFzT3duUHJvcGVydHkuY2FsbChvdGhlciwgJ19fd3JhcHBlZF9fJyk7XG5cbiAgICAgICAgaWYgKG9iaklzV3JhcHBlZCB8fCBvdGhJc1dyYXBwZWQpIHtcbiAgICAgICAgICB2YXIgb2JqVW53cmFwcGVkID0gb2JqSXNXcmFwcGVkID8gb2JqZWN0LnZhbHVlKCkgOiBvYmplY3QsXG4gICAgICAgICAgICAgIG90aFVud3JhcHBlZCA9IG90aElzV3JhcHBlZCA/IG90aGVyLnZhbHVlKCkgOiBvdGhlcjtcblxuICAgICAgICAgIHN0YWNrIHx8IChzdGFjayA9IG5ldyBTdGFjayk7XG4gICAgICAgICAgcmV0dXJuIGVxdWFsRnVuYyhvYmpVbndyYXBwZWQsIG90aFVud3JhcHBlZCwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWlzU2FtZVRhZykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBzdGFjayB8fCAoc3RhY2sgPSBuZXcgU3RhY2spO1xuICAgICAgcmV0dXJuIGVxdWFsT2JqZWN0cyhvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc01hcGAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbWFwLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzTWFwKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBnZXRUYWcodmFsdWUpID09IG1hcFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc01hdGNoYCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgdG8gbWF0Y2guXG4gICAgICogQHBhcmFtIHtBcnJheX0gbWF0Y2hEYXRhIFRoZSBwcm9wZXJ0eSBuYW1lcywgdmFsdWVzLCBhbmQgY29tcGFyZSBmbGFncyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc01hdGNoKG9iamVjdCwgc291cmNlLCBtYXRjaERhdGEsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIHZhciBpbmRleCA9IG1hdGNoRGF0YS5sZW5ndGgsXG4gICAgICAgICAgbGVuZ3RoID0gaW5kZXgsXG4gICAgICAgICAgbm9DdXN0b21pemVyID0gIWN1c3RvbWl6ZXI7XG5cbiAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gIWxlbmd0aDtcbiAgICAgIH1cbiAgICAgIG9iamVjdCA9IE9iamVjdChvYmplY3QpO1xuICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgdmFyIGRhdGEgPSBtYXRjaERhdGFbaW5kZXhdO1xuICAgICAgICBpZiAoKG5vQ3VzdG9taXplciAmJiBkYXRhWzJdKVxuICAgICAgICAgICAgICA/IGRhdGFbMV0gIT09IG9iamVjdFtkYXRhWzBdXVxuICAgICAgICAgICAgICA6ICEoZGF0YVswXSBpbiBvYmplY3QpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIGRhdGEgPSBtYXRjaERhdGFbaW5kZXhdO1xuICAgICAgICB2YXIga2V5ID0gZGF0YVswXSxcbiAgICAgICAgICAgIG9ialZhbHVlID0gb2JqZWN0W2tleV0sXG4gICAgICAgICAgICBzcmNWYWx1ZSA9IGRhdGFbMV07XG5cbiAgICAgICAgaWYgKG5vQ3VzdG9taXplciAmJiBkYXRhWzJdKSB7XG4gICAgICAgICAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgJiYgIShrZXkgaW4gb2JqZWN0KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgc3RhY2sgPSBuZXcgU3RhY2s7XG4gICAgICAgICAgaWYgKGN1c3RvbWl6ZXIpIHtcbiAgICAgICAgICAgIHZhciByZXN1bHQgPSBjdXN0b21pemVyKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSwgc3RhY2spO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIShyZXN1bHQgPT09IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgID8gYmFzZUlzRXF1YWwoc3JjVmFsdWUsIG9ialZhbHVlLCBDT01QQVJFX1BBUlRJQUxfRkxBRyB8IENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcsIGN1c3RvbWl6ZXIsIHN0YWNrKVxuICAgICAgICAgICAgICAgIDogcmVzdWx0XG4gICAgICAgICAgICAgICkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmlzTmF0aXZlYCB3aXRob3V0IGJhZCBzaGltIGNoZWNrcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBuYXRpdmUgZnVuY3Rpb24sXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlSXNOYXRpdmUodmFsdWUpIHtcbiAgICAgIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgcGF0dGVybiA9IGlzRnVuY3Rpb24odmFsdWUpID8gcmVJc05hdGl2ZSA6IHJlSXNIb3N0Q3RvcjtcbiAgICAgIHJldHVybiBwYXR0ZXJuLnRlc3QodG9Tb3VyY2UodmFsdWUpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5pc1JlZ0V4cGAgd2l0aG91dCBOb2RlLmpzIG9wdGltaXphdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcmVnZXhwLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUlzUmVnRXhwKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSByZWdleHBUYWc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNTZXRgIHdpdGhvdXQgTm9kZS5qcyBvcHRpbWl6YXRpb25zLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHNldCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc1NldCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgZ2V0VGFnKHZhbHVlKSA9PSBzZXRUYWc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNUeXBlZEFycmF5YCB3aXRob3V0IE5vZGUuanMgb3B0aW1pemF0aW9ucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJc1R5cGVkQXJyYXkodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmXG4gICAgICAgIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgISF0eXBlZEFycmF5VGFnc1tiYXNlR2V0VGFnKHZhbHVlKV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXRlcmF0ZWVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IFt2YWx1ZT1fLmlkZW50aXR5XSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhbiBpdGVyYXRlZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIGl0ZXJhdGVlLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VJdGVyYXRlZSh2YWx1ZSkge1xuICAgICAgLy8gRG9uJ3Qgc3RvcmUgdGhlIGB0eXBlb2ZgIHJlc3VsdCBpbiBhIHZhcmlhYmxlIHRvIGF2b2lkIGEgSklUIGJ1ZyBpbiBTYWZhcmkgOS5cbiAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2MDM0IGZvciBtb3JlIGRldGFpbHMuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgICAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGlkZW50aXR5O1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4gaXNBcnJheSh2YWx1ZSlcbiAgICAgICAgICA/IGJhc2VNYXRjaGVzUHJvcGVydHkodmFsdWVbMF0sIHZhbHVlWzFdKVxuICAgICAgICAgIDogYmFzZU1hdGNoZXModmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzYCB3aGljaCBkb2Vzbid0IHRyZWF0IHNwYXJzZSBhcnJheXMgYXMgZGVuc2UuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VLZXlzKG9iamVjdCkge1xuICAgICAgaWYgKCFpc1Byb3RvdHlwZShvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBuYXRpdmVLZXlzKG9iamVjdCk7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpICYmIGtleSAhPSAnY29uc3RydWN0b3InKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5rZXlzSW5gIHdoaWNoIGRvZXNuJ3QgdHJlYXQgc3BhcnNlIGFycmF5cyBhcyBkZW5zZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgbmFtZXMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZUtleXNJbihvYmplY3QpIHtcbiAgICAgIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICByZXR1cm4gbmF0aXZlS2V5c0luKG9iamVjdCk7XG4gICAgICB9XG4gICAgICB2YXIgaXNQcm90byA9IGlzUHJvdG90eXBlKG9iamVjdCksXG4gICAgICAgICAgcmVzdWx0ID0gW107XG5cbiAgICAgIGZvciAodmFyIGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgaWYgKCEoa2V5ID09ICdjb25zdHJ1Y3RvcicgJiYgKGlzUHJvdG8gfHwgIWhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBrZXkpKSkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmx0YCB3aGljaCBkb2Vzbid0IGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBsZXNzIHRoYW4gYG90aGVyYCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VMdCh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA8IG90aGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1hcGAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaXRlcmF0ZWUgVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1hcChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgcmVzdWx0ID0gaXNBcnJheUxpa2UoY29sbGVjdGlvbikgPyBBcnJheShjb2xsZWN0aW9uLmxlbmd0aCkgOiBbXTtcblxuICAgICAgYmFzZUVhY2goY29sbGVjdGlvbiwgZnVuY3Rpb24odmFsdWUsIGtleSwgY29sbGVjdGlvbikge1xuICAgICAgICByZXN1bHRbKytpbmRleF0gPSBpdGVyYXRlZSh2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5tYXRjaGVzYCB3aGljaCBkb2Vzbid0IGNsb25lIGBzb3VyY2VgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgdmFsdWVzIHRvIG1hdGNoLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1hdGNoZXMoc291cmNlKSB7XG4gICAgICB2YXIgbWF0Y2hEYXRhID0gZ2V0TWF0Y2hEYXRhKHNvdXJjZSk7XG4gICAgICBpZiAobWF0Y2hEYXRhLmxlbmd0aCA9PSAxICYmIG1hdGNoRGF0YVswXVsyXSkge1xuICAgICAgICByZXR1cm4gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUobWF0Y2hEYXRhWzBdWzBdLCBtYXRjaERhdGFbMF1bMV0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gb2JqZWN0ID09PSBzb3VyY2UgfHwgYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIG1hdGNoRGF0YSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm1hdGNoZXNQcm9wZXJ0eWAgd2hpY2ggZG9lc24ndCBjbG9uZSBgc3JjVmFsdWVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU1hdGNoZXNQcm9wZXJ0eShwYXRoLCBzcmNWYWx1ZSkge1xuICAgICAgaWYgKGlzS2V5KHBhdGgpICYmIGlzU3RyaWN0Q29tcGFyYWJsZShzcmNWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoZXNTdHJpY3RDb21wYXJhYmxlKHRvS2V5KHBhdGgpLCBzcmNWYWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICAgIHZhciBvYmpWYWx1ZSA9IGdldChvYmplY3QsIHBhdGgpO1xuICAgICAgICByZXR1cm4gKG9ialZhbHVlID09PSB1bmRlZmluZWQgJiYgb2JqVmFsdWUgPT09IHNyY1ZhbHVlKVxuICAgICAgICAgID8gaGFzSW4ob2JqZWN0LCBwYXRoKVxuICAgICAgICAgIDogYmFzZUlzRXF1YWwoc3JjVmFsdWUsIG9ialZhbHVlLCBDT01QQVJFX1BBUlRJQUxfRkxBRyB8IENPTVBBUkVfVU5PUkRFUkVEX0ZMQUcpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5tZXJnZWAgd2l0aG91dCBzdXBwb3J0IGZvciBtdWx0aXBsZSBzb3VyY2VzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gc3JjSW5kZXggVGhlIGluZGV4IG9mIGBzb3VyY2VgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIG1lcmdlZCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBzb3VyY2UgdmFsdWVzIGFuZCB0aGVpciBtZXJnZWRcbiAgICAgKiAgY291bnRlcnBhcnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VNZXJnZShvYmplY3QsIHNvdXJjZSwgc3JjSW5kZXgsIGN1c3RvbWl6ZXIsIHN0YWNrKSB7XG4gICAgICBpZiAob2JqZWN0ID09PSBzb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYmFzZUZvcihzb3VyY2UsIGZ1bmN0aW9uKHNyY1ZhbHVlLCBrZXkpIHtcbiAgICAgICAgc3RhY2sgfHwgKHN0YWNrID0gbmV3IFN0YWNrKTtcbiAgICAgICAgaWYgKGlzT2JqZWN0KHNyY1ZhbHVlKSkge1xuICAgICAgICAgIGJhc2VNZXJnZURlZXAob2JqZWN0LCBzb3VyY2UsIGtleSwgc3JjSW5kZXgsIGJhc2VNZXJnZSwgY3VzdG9taXplciwgc3RhY2spO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIHZhciBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXJcbiAgICAgICAgICAgID8gY3VzdG9taXplcihzYWZlR2V0KG9iamVjdCwga2V5KSwgc3JjVmFsdWUsIChrZXkgKyAnJyksIG9iamVjdCwgc291cmNlLCBzdGFjaylcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gc3JjVmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSwga2V5c0luKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VNZXJnZWAgZm9yIGFycmF5cyBhbmQgb2JqZWN0cyB3aGljaCBwZXJmb3Jtc1xuICAgICAqIGRlZXAgbWVyZ2VzIGFuZCB0cmFja3MgdHJhdmVyc2VkIG9iamVjdHMgZW5hYmxpbmcgb2JqZWN0cyB3aXRoIGNpcmN1bGFyXG4gICAgICogcmVmZXJlbmNlcyB0byBiZSBtZXJnZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gbWVyZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHNyY0luZGV4IFRoZSBpbmRleCBvZiBgc291cmNlYC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBtZXJnZUZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1lcmdlIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBzb3VyY2UgdmFsdWVzIGFuZCB0aGVpciBtZXJnZWRcbiAgICAgKiAgY291bnRlcnBhcnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VNZXJnZURlZXAob2JqZWN0LCBzb3VyY2UsIGtleSwgc3JjSW5kZXgsIG1lcmdlRnVuYywgY3VzdG9taXplciwgc3RhY2spIHtcbiAgICAgIHZhciBvYmpWYWx1ZSA9IHNhZmVHZXQob2JqZWN0LCBrZXkpLFxuICAgICAgICAgIHNyY1ZhbHVlID0gc2FmZUdldChzb3VyY2UsIGtleSksXG4gICAgICAgICAgc3RhY2tlZCA9IHN0YWNrLmdldChzcmNWYWx1ZSk7XG5cbiAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIHN0YWNrZWQpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyXG4gICAgICAgID8gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUsIChrZXkgKyAnJyksIG9iamVjdCwgc291cmNlLCBzdGFjaylcbiAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgIHZhciBpc0NvbW1vbiA9IG5ld1ZhbHVlID09PSB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChpc0NvbW1vbikge1xuICAgICAgICB2YXIgaXNBcnIgPSBpc0FycmF5KHNyY1ZhbHVlKSxcbiAgICAgICAgICAgIGlzQnVmZiA9ICFpc0FyciAmJiBpc0J1ZmZlcihzcmNWYWx1ZSksXG4gICAgICAgICAgICBpc1R5cGVkID0gIWlzQXJyICYmICFpc0J1ZmYgJiYgaXNUeXBlZEFycmF5KHNyY1ZhbHVlKTtcblxuICAgICAgICBuZXdWYWx1ZSA9IHNyY1ZhbHVlO1xuICAgICAgICBpZiAoaXNBcnIgfHwgaXNCdWZmIHx8IGlzVHlwZWQpIHtcbiAgICAgICAgICBpZiAoaXNBcnJheShvYmpWYWx1ZSkpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gb2JqVmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KG9ialZhbHVlKSkge1xuICAgICAgICAgICAgbmV3VmFsdWUgPSBjb3B5QXJyYXkob2JqVmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbHNlIGlmIChpc0J1ZmYpIHtcbiAgICAgICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IGNsb25lQnVmZmVyKHNyY1ZhbHVlLCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoaXNUeXBlZCkge1xuICAgICAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gY2xvbmVUeXBlZEFycmF5KHNyY1ZhbHVlLCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBuZXdWYWx1ZSA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1BsYWluT2JqZWN0KHNyY1ZhbHVlKSB8fCBpc0FyZ3VtZW50cyhzcmNWYWx1ZSkpIHtcbiAgICAgICAgICBuZXdWYWx1ZSA9IG9ialZhbHVlO1xuICAgICAgICAgIGlmIChpc0FyZ3VtZW50cyhvYmpWYWx1ZSkpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gdG9QbGFpbk9iamVjdChvYmpWYWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2UgaWYgKCFpc09iamVjdChvYmpWYWx1ZSkgfHwgaXNGdW5jdGlvbihvYmpWYWx1ZSkpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gaW5pdENsb25lT2JqZWN0KHNyY1ZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgaXNDb21tb24gPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGlzQ29tbW9uKSB7XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IG1lcmdlIG9iamVjdHMgYW5kIGFycmF5cyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICBzdGFjay5zZXQoc3JjVmFsdWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgbWVyZ2VGdW5jKG5ld1ZhbHVlLCBzcmNWYWx1ZSwgc3JjSW5kZXgsIGN1c3RvbWl6ZXIsIHN0YWNrKTtcbiAgICAgICAgc3RhY2tbJ2RlbGV0ZSddKHNyY1ZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGFzc2lnbk1lcmdlVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5udGhgIHdoaWNoIGRvZXNuJ3QgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBpbmRleCBvZiB0aGUgZWxlbWVudCB0byByZXR1cm4uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG50aCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZU50aChhcnJheSwgbikge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIG4gKz0gbiA8IDAgPyBsZW5ndGggOiAwO1xuICAgICAgcmV0dXJuIGlzSW5kZXgobiwgbGVuZ3RoKSA/IGFycmF5W25dIDogdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLm9yZGVyQnlgIHdpdGhvdXQgcGFyYW0gZ3VhcmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbltdfE9iamVjdFtdfHN0cmluZ1tdfSBpdGVyYXRlZXMgVGhlIGl0ZXJhdGVlcyB0byBzb3J0IGJ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IG9yZGVycyBUaGUgc29ydCBvcmRlcnMgb2YgYGl0ZXJhdGVlc2AuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc29ydGVkIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VPcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMTtcbiAgICAgIGl0ZXJhdGVlcyA9IGFycmF5TWFwKGl0ZXJhdGVlcy5sZW5ndGggPyBpdGVyYXRlZXMgOiBbaWRlbnRpdHldLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gYmFzZU1hcChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwga2V5LCBjb2xsZWN0aW9uKSB7XG4gICAgICAgIHZhciBjcml0ZXJpYSA9IGFycmF5TWFwKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgICByZXR1cm4gaXRlcmF0ZWUodmFsdWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHsgJ2NyaXRlcmlhJzogY3JpdGVyaWEsICdpbmRleCc6ICsraW5kZXgsICd2YWx1ZSc6IHZhbHVlIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGJhc2VTb3J0QnkocmVzdWx0LCBmdW5jdGlvbihvYmplY3QsIG90aGVyKSB7XG4gICAgICAgIHJldHVybiBjb21wYXJlTXVsdGlwbGUob2JqZWN0LCBvdGhlciwgb3JkZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnBpY2tgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaW5kaXZpZHVhbFxuICAgICAqIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBzb3VyY2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nW119IHBhdGhzIFRoZSBwcm9wZXJ0eSBwYXRocyB0byBwaWNrLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVBpY2sob2JqZWN0LCBwYXRocykge1xuICAgICAgcmV0dXJuIGJhc2VQaWNrQnkob2JqZWN0LCBwYXRocywgZnVuY3Rpb24odmFsdWUsIHBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGhhc0luKG9iamVjdCwgcGF0aCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiAgYF8ucGlja0J5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gcGF0aHMgVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQaWNrQnkob2JqZWN0LCBwYXRocywgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBwYXRocy5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0ge307XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBwYXRoID0gcGF0aHNbaW5kZXhdLFxuICAgICAgICAgICAgdmFsdWUgPSBiYXNlR2V0KG9iamVjdCwgcGF0aCk7XG5cbiAgICAgICAgaWYgKHByZWRpY2F0ZSh2YWx1ZSwgcGF0aCkpIHtcbiAgICAgICAgICBiYXNlU2V0KHJlc3VsdCwgY2FzdFBhdGgocGF0aCwgb2JqZWN0KSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZVByb3BlcnR5YCB3aGljaCBzdXBwb3J0cyBkZWVwIHBhdGhzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQcm9wZXJ0eURlZXAocGF0aCkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5wdWxsQWxsQnlgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaXRlcmF0ZWVcbiAgICAgKiBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWVdIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VQdWxsQWxsKGFycmF5LCB2YWx1ZXMsIGl0ZXJhdGVlLCBjb21wYXJhdG9yKSB7XG4gICAgICB2YXIgaW5kZXhPZiA9IGNvbXBhcmF0b3IgPyBiYXNlSW5kZXhPZldpdGggOiBiYXNlSW5kZXhPZixcbiAgICAgICAgICBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHZhbHVlcy5sZW5ndGgsXG4gICAgICAgICAgc2VlbiA9IGFycmF5O1xuXG4gICAgICBpZiAoYXJyYXkgPT09IHZhbHVlcykge1xuICAgICAgICB2YWx1ZXMgPSBjb3B5QXJyYXkodmFsdWVzKTtcbiAgICAgIH1cbiAgICAgIGlmIChpdGVyYXRlZSkge1xuICAgICAgICBzZWVuID0gYXJyYXlNYXAoYXJyYXksIGJhc2VVbmFyeShpdGVyYXRlZSkpO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGZyb21JbmRleCA9IDAsXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlc1tpbmRleF0sXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlID8gaXRlcmF0ZWUodmFsdWUpIDogdmFsdWU7XG5cbiAgICAgICAgd2hpbGUgKChmcm9tSW5kZXggPSBpbmRleE9mKHNlZW4sIGNvbXB1dGVkLCBmcm9tSW5kZXgsIGNvbXBhcmF0b3IpKSA+IC0xKSB7XG4gICAgICAgICAgaWYgKHNlZW4gIT09IGFycmF5KSB7XG4gICAgICAgICAgICBzcGxpY2UuY2FsbChzZWVuLCBmcm9tSW5kZXgsIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzcGxpY2UuY2FsbChhcnJheSwgZnJvbUluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnB1bGxBdGAgd2l0aG91dCBzdXBwb3J0IGZvciBpbmRpdmlkdWFsXG4gICAgICogaW5kZXhlcyBvciBjYXB0dXJpbmcgdGhlIHJlbW92ZWQgZWxlbWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJbXX0gaW5kZXhlcyBUaGUgaW5kZXhlcyBvZiBlbGVtZW50cyB0byByZW1vdmUuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVB1bGxBdChhcnJheSwgaW5kZXhlcykge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID8gaW5kZXhlcy5sZW5ndGggOiAwLFxuICAgICAgICAgIGxhc3RJbmRleCA9IGxlbmd0aCAtIDE7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIgaW5kZXggPSBpbmRleGVzW2xlbmd0aF07XG4gICAgICAgIGlmIChsZW5ndGggPT0gbGFzdEluZGV4IHx8IGluZGV4ICE9PSBwcmV2aW91cykge1xuICAgICAgICAgIHZhciBwcmV2aW91cyA9IGluZGV4O1xuICAgICAgICAgIGlmIChpc0luZGV4KGluZGV4KSkge1xuICAgICAgICAgICAgc3BsaWNlLmNhbGwoYXJyYXksIGluZGV4LCAxKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYmFzZVVuc2V0KGFycmF5LCBpbmRleCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmFuZG9tYCB3aXRob3V0IHN1cHBvcnQgZm9yIHJldHVybmluZ1xuICAgICAqIGZsb2F0aW5nLXBvaW50IG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBsb3dlciBUaGUgbG93ZXIgYm91bmQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHVwcGVyIFRoZSB1cHBlciBib3VuZC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSByYW5kb20gbnVtYmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VSYW5kb20obG93ZXIsIHVwcGVyKSB7XG4gICAgICByZXR1cm4gbG93ZXIgKyBuYXRpdmVGbG9vcihuYXRpdmVSYW5kb20oKSAqICh1cHBlciAtIGxvd2VyICsgMSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJhbmdlYCBhbmQgYF8ucmFuZ2VSaWdodGAgd2hpY2ggZG9lc24ndFxuICAgICAqIGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXAgVGhlIHZhbHVlIHRvIGluY3JlbWVudCBvciBkZWNyZW1lbnQgYnkuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSByYW5nZSBvZiBudW1iZXJzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VSYW5nZShzdGFydCwgZW5kLCBzdGVwLCBmcm9tUmlnaHQpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChuYXRpdmVDZWlsKChlbmQgLSBzdGFydCkgLyAoc3RlcCB8fCAxKSksIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KGxlbmd0aCk7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICByZXN1bHRbZnJvbVJpZ2h0ID8gbGVuZ3RoIDogKytpbmRleF0gPSBzdGFydDtcbiAgICAgICAgc3RhcnQgKz0gc3RlcDtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8ucmVwZWF0YCB3aGljaCBkb2Vzbid0IGNvZXJjZSBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byByZXBlYXQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiB0aW1lcyB0byByZXBlYXQgdGhlIHN0cmluZy5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByZXBlYXRlZCBzdHJpbmcuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVJlcGVhdChzdHJpbmcsIG4pIHtcbiAgICAgIHZhciByZXN1bHQgPSAnJztcbiAgICAgIGlmICghc3RyaW5nIHx8IG4gPCAxIHx8IG4gPiBNQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICAvLyBMZXZlcmFnZSB0aGUgZXhwb25lbnRpYXRpb24gYnkgc3F1YXJpbmcgYWxnb3JpdGhtIGZvciBhIGZhc3RlciByZXBlYXQuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRXhwb25lbnRpYXRpb25fYnlfc3F1YXJpbmcgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIGRvIHtcbiAgICAgICAgaWYgKG4gJSAyKSB7XG4gICAgICAgICAgcmVzdWx0ICs9IHN0cmluZztcbiAgICAgICAgfVxuICAgICAgICBuID0gbmF0aXZlRmxvb3IobiAvIDIpO1xuICAgICAgICBpZiAobikge1xuICAgICAgICAgIHN0cmluZyArPSBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKG4pO1xuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnJlc3RgIHdoaWNoIGRvZXNuJ3QgdmFsaWRhdGUgb3IgY29lcmNlIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PWZ1bmMubGVuZ3RoLTFdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgcmVzdCBwYXJhbWV0ZXIuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVJlc3QoZnVuYywgc3RhcnQpIHtcbiAgICAgIHJldHVybiBzZXRUb1N0cmluZyhvdmVyUmVzdChmdW5jLCBzdGFydCwgaWRlbnRpdHkpLCBmdW5jICsgJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNhbXBsZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIHNhbXBsZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnQuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNhbXBsZShjb2xsZWN0aW9uKSB7XG4gICAgICByZXR1cm4gYXJyYXlTYW1wbGUodmFsdWVzKGNvbGxlY3Rpb24pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy5zYW1wbGVTaXplYCB3aXRob3V0IHBhcmFtIGd1YXJkcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBuIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gc2FtcGxlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTYW1wbGVTaXplKGNvbGxlY3Rpb24sIG4pIHtcbiAgICAgIHZhciBhcnJheSA9IHZhbHVlcyhjb2xsZWN0aW9uKTtcbiAgICAgIHJldHVybiBzaHVmZmxlU2VsZihhcnJheSwgYmFzZUNsYW1wKG4sIDAsIGFycmF5Lmxlbmd0aCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNldGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIHNldC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgcGF0aCBjcmVhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTZXQob2JqZWN0LCBwYXRoLCB2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgaWYgKCFpc09iamVjdChvYmplY3QpKSB7XG4gICAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgICB9XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcGF0aC5sZW5ndGgsXG4gICAgICAgICAgbGFzdEluZGV4ID0gbGVuZ3RoIC0gMSxcbiAgICAgICAgICBuZXN0ZWQgPSBvYmplY3Q7XG5cbiAgICAgIHdoaWxlIChuZXN0ZWQgIT0gbnVsbCAmJiArK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBrZXkgPSB0b0tleShwYXRoW2luZGV4XSksXG4gICAgICAgICAgICBuZXdWYWx1ZSA9IHZhbHVlO1xuXG4gICAgICAgIGlmIChpbmRleCAhPSBsYXN0SW5kZXgpIHtcbiAgICAgICAgICB2YXIgb2JqVmFsdWUgPSBuZXN0ZWRba2V5XTtcbiAgICAgICAgICBuZXdWYWx1ZSA9IGN1c3RvbWl6ZXIgPyBjdXN0b21pemVyKG9ialZhbHVlLCBrZXksIG5lc3RlZCkgOiB1bmRlZmluZWQ7XG4gICAgICAgICAgaWYgKG5ld1ZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIG5ld1ZhbHVlID0gaXNPYmplY3Qob2JqVmFsdWUpXG4gICAgICAgICAgICAgID8gb2JqVmFsdWVcbiAgICAgICAgICAgICAgOiAoaXNJbmRleChwYXRoW2luZGV4ICsgMV0pID8gW10gOiB7fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFzc2lnblZhbHVlKG5lc3RlZCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgICAgIG5lc3RlZCA9IG5lc3RlZFtrZXldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgc2V0RGF0YWAgd2l0aG91dCBzdXBwb3J0IGZvciBob3QgbG9vcCBzaG9ydGluZy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXNzb2NpYXRlIG1ldGFkYXRhIHdpdGguXG4gICAgICogQHBhcmFtIHsqfSBkYXRhIFRoZSBtZXRhZGF0YS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICAgICAqL1xuICAgIHZhciBiYXNlU2V0RGF0YSA9ICFtZXRhTWFwID8gaWRlbnRpdHkgOiBmdW5jdGlvbihmdW5jLCBkYXRhKSB7XG4gICAgICBtZXRhTWFwLnNldChmdW5jLCBkYXRhKTtcbiAgICAgIHJldHVybiBmdW5jO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgc2V0VG9TdHJpbmdgIHdpdGhvdXQgc3VwcG9ydCBmb3IgaG90IGxvb3Agc2hvcnRpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzdHJpbmcgVGhlIGB0b1N0cmluZ2AgcmVzdWx0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyBgZnVuY2AuXG4gICAgICovXG4gICAgdmFyIGJhc2VTZXRUb1N0cmluZyA9ICFkZWZpbmVQcm9wZXJ0eSA/IGlkZW50aXR5IDogZnVuY3Rpb24oZnVuYywgc3RyaW5nKSB7XG4gICAgICByZXR1cm4gZGVmaW5lUHJvcGVydHkoZnVuYywgJ3RvU3RyaW5nJywge1xuICAgICAgICAnY29uZmlndXJhYmxlJzogdHJ1ZSxcbiAgICAgICAgJ2VudW1lcmFibGUnOiBmYWxzZSxcbiAgICAgICAgJ3ZhbHVlJzogY29uc3RhbnQoc3RyaW5nKSxcbiAgICAgICAgJ3dyaXRhYmxlJzogdHJ1ZVxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNodWZmbGVgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBzaHVmZmxlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IHNodWZmbGVkIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTaHVmZmxlKGNvbGxlY3Rpb24pIHtcbiAgICAgIHJldHVybiBzaHVmZmxlU2VsZih2YWx1ZXMoY29sbGVjdGlvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnNsaWNlYCB3aXRob3V0IGFuIGl0ZXJhdGVlIGNhbGwgZ3VhcmQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzbGljZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2VuZD1hcnJheS5sZW5ndGhdIFRoZSBlbmQgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTbGljZShhcnJheSwgc3RhcnQsIGVuZCkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgICBpZiAoc3RhcnQgPCAwKSB7XG4gICAgICAgIHN0YXJ0ID0gLXN0YXJ0ID4gbGVuZ3RoID8gMCA6IChsZW5ndGggKyBzdGFydCk7XG4gICAgICB9XG4gICAgICBlbmQgPSBlbmQgPiBsZW5ndGggPyBsZW5ndGggOiBlbmQ7XG4gICAgICBpZiAoZW5kIDwgMCkge1xuICAgICAgICBlbmQgKz0gbGVuZ3RoO1xuICAgICAgfVxuICAgICAgbGVuZ3RoID0gc3RhcnQgPiBlbmQgPyAwIDogKChlbmQgLSBzdGFydCkgPj4+IDApO1xuICAgICAgc3RhcnQgPj4+PSAwO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtpbmRleF0gPSBhcnJheVtpbmRleCArIHN0YXJ0XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29tZWAgd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGFueSBlbGVtZW50IHBhc3NlcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNvbWUoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgcmVzdWx0O1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSwgaW5kZXgsIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgcmVzdWx0ID0gcHJlZGljYXRlKHZhbHVlLCBpbmRleCwgY29sbGVjdGlvbik7XG4gICAgICAgIHJldHVybiAhcmVzdWx0O1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gISFyZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29ydGVkSW5kZXhgIGFuZCBgXy5zb3J0ZWRMYXN0SW5kZXhgIHdoaWNoXG4gICAgICogcGVyZm9ybXMgYSBiaW5hcnkgc2VhcmNoIG9mIGBhcnJheWAgdG8gZGV0ZXJtaW5lIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgXG4gICAgICogc2hvdWxkIGJlIGluc2VydGVkIGludG8gYGFycmF5YCBpbiBvcmRlciB0byBtYWludGFpbiBpdHMgc29ydCBvcmRlci5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3JldEhpZ2hlc3RdIFNwZWNpZnkgcmV0dXJuaW5nIHRoZSBoaWdoZXN0IHF1YWxpZmllZCBpbmRleC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSwgcmV0SGlnaGVzdCkge1xuICAgICAgdmFyIGxvdyA9IDAsXG4gICAgICAgICAgaGlnaCA9IGFycmF5ID09IG51bGwgPyBsb3cgOiBhcnJheS5sZW5ndGg7XG5cbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicgJiYgdmFsdWUgPT09IHZhbHVlICYmIGhpZ2ggPD0gSEFMRl9NQVhfQVJSQVlfTEVOR1RIKSB7XG4gICAgICAgIHdoaWxlIChsb3cgPCBoaWdoKSB7XG4gICAgICAgICAgdmFyIG1pZCA9IChsb3cgKyBoaWdoKSA+Pj4gMSxcbiAgICAgICAgICAgICAgY29tcHV0ZWQgPSBhcnJheVttaWRdO1xuXG4gICAgICAgICAgaWYgKGNvbXB1dGVkICE9PSBudWxsICYmICFpc1N5bWJvbChjb21wdXRlZCkgJiZcbiAgICAgICAgICAgICAgKHJldEhpZ2hlc3QgPyAoY29tcHV0ZWQgPD0gdmFsdWUpIDogKGNvbXB1dGVkIDwgdmFsdWUpKSkge1xuICAgICAgICAgICAgbG93ID0gbWlkICsgMTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGlnaCA9IG1pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGhpZ2g7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBpZGVudGl0eSwgcmV0SGlnaGVzdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29ydGVkSW5kZXhCeWAgYW5kIGBfLnNvcnRlZExhc3RJbmRleEJ5YFxuICAgICAqIHdoaWNoIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgYHZhbHVlYCBhbmQgZWFjaCBlbGVtZW50IG9mIGBhcnJheWAgdG8gY29tcHV0ZVxuICAgICAqIHRoZWlyIHNvcnQgcmFua2luZy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ7ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBpdGVyYXRlZSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtyZXRIaWdoZXN0XSBTcGVjaWZ5IHJldHVybmluZyB0aGUgaGlnaGVzdCBxdWFsaWZpZWQgaW5kZXguXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaXRlcmF0ZWUsIHJldEhpZ2hlc3QpIHtcbiAgICAgIHZhbHVlID0gaXRlcmF0ZWUodmFsdWUpO1xuXG4gICAgICB2YXIgbG93ID0gMCxcbiAgICAgICAgICBoaWdoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgdmFsSXNOYU4gPSB2YWx1ZSAhPT0gdmFsdWUsXG4gICAgICAgICAgdmFsSXNOdWxsID0gdmFsdWUgPT09IG51bGwsXG4gICAgICAgICAgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSksXG4gICAgICAgICAgdmFsSXNVbmRlZmluZWQgPSB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuXG4gICAgICB3aGlsZSAobG93IDwgaGlnaCkge1xuICAgICAgICB2YXIgbWlkID0gbmF0aXZlRmxvb3IoKGxvdyArIGhpZ2gpIC8gMiksXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlKGFycmF5W21pZF0pLFxuICAgICAgICAgICAgb3RoSXNEZWZpbmVkID0gY29tcHV0ZWQgIT09IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIG90aElzTnVsbCA9IGNvbXB1dGVkID09PSBudWxsLFxuICAgICAgICAgICAgb3RoSXNSZWZsZXhpdmUgPSBjb21wdXRlZCA9PT0gY29tcHV0ZWQsXG4gICAgICAgICAgICBvdGhJc1N5bWJvbCA9IGlzU3ltYm9sKGNvbXB1dGVkKTtcblxuICAgICAgICBpZiAodmFsSXNOYU4pIHtcbiAgICAgICAgICB2YXIgc2V0TG93ID0gcmV0SGlnaGVzdCB8fCBvdGhJc1JlZmxleGl2ZTtcbiAgICAgICAgfSBlbHNlIGlmICh2YWxJc1VuZGVmaW5lZCkge1xuICAgICAgICAgIHNldExvdyA9IG90aElzUmVmbGV4aXZlICYmIChyZXRIaWdoZXN0IHx8IG90aElzRGVmaW5lZCk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsSXNOdWxsKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmIChyZXRIaWdoZXN0IHx8ICFvdGhJc051bGwpO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbElzU3ltYm9sKSB7XG4gICAgICAgICAgc2V0TG93ID0gb3RoSXNSZWZsZXhpdmUgJiYgb3RoSXNEZWZpbmVkICYmICFvdGhJc051bGwgJiYgKHJldEhpZ2hlc3QgfHwgIW90aElzU3ltYm9sKTtcbiAgICAgICAgfSBlbHNlIGlmIChvdGhJc051bGwgfHwgb3RoSXNTeW1ib2wpIHtcbiAgICAgICAgICBzZXRMb3cgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRMb3cgPSByZXRIaWdoZXN0ID8gKGNvbXB1dGVkIDw9IHZhbHVlKSA6IChjb21wdXRlZCA8IHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2V0TG93KSB7XG4gICAgICAgICAgbG93ID0gbWlkICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWdoID0gbWlkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbmF0aXZlTWluKGhpZ2gsIE1BWF9BUlJBWV9JTkRFWCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uc29ydGVkVW5pcWAgYW5kIGBfLnNvcnRlZFVuaXFCeWAgd2l0aG91dFxuICAgICAqIHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVNvcnRlZFVuaXEoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgcmVzSW5kZXggPSAwLFxuICAgICAgICAgIHJlc3VsdCA9IFtdO1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgICBjb21wdXRlZCA9IGl0ZXJhdGVlID8gaXRlcmF0ZWUodmFsdWUpIDogdmFsdWU7XG5cbiAgICAgICAgaWYgKCFpbmRleCB8fCAhZXEoY29tcHV0ZWQsIHNlZW4pKSB7XG4gICAgICAgICAgdmFyIHNlZW4gPSBjb21wdXRlZDtcbiAgICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZSA9PT0gMCA/IDAgOiB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b051bWJlcmAgd2hpY2ggZG9lc24ndCBlbnN1cmUgY29ycmVjdFxuICAgICAqIGNvbnZlcnNpb25zIG9mIGJpbmFyeSwgaGV4YWRlY2ltYWwsIG9yIG9jdGFsIHN0cmluZyB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VUb051bWJlcih2YWx1ZSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJykge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICBpZiAoaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBOQU47XG4gICAgICB9XG4gICAgICByZXR1cm4gK3ZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnRvU3RyaW5nYCB3aGljaCBkb2Vzbid0IGNvbnZlcnQgbnVsbGlzaFxuICAgICAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHN0cmluZy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgICAgIC8vIEV4aXQgZWFybHkgZm9yIHN0cmluZ3MgdG8gYXZvaWQgYSBwZXJmb3JtYW5jZSBoaXQgaW4gc29tZSBlbnZpcm9ubWVudHMuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBjb252ZXJ0IHZhbHVlcyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICByZXR1cm4gYXJyYXlNYXAodmFsdWUsIGJhc2VUb1N0cmluZykgKyAnJztcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHN5bWJvbFRvU3RyaW5nID8gc3ltYm9sVG9TdHJpbmcuY2FsbCh2YWx1ZSkgOiAnJztcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSAodmFsdWUgKyAnJyk7XG4gICAgICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8udW5pcUJ5YCB3aXRob3V0IHN1cHBvcnQgZm9yIGl0ZXJhdGVlIHNob3J0aGFuZHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gYmFzZVVuaXEoYXJyYXksIGl0ZXJhdGVlLCBjb21wYXJhdG9yKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBpbmNsdWRlcyA9IGFycmF5SW5jbHVkZXMsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGlzQ29tbW9uID0gdHJ1ZSxcbiAgICAgICAgICByZXN1bHQgPSBbXSxcbiAgICAgICAgICBzZWVuID0gcmVzdWx0O1xuXG4gICAgICBpZiAoY29tcGFyYXRvcikge1xuICAgICAgICBpc0NvbW1vbiA9IGZhbHNlO1xuICAgICAgICBpbmNsdWRlcyA9IGFycmF5SW5jbHVkZXNXaXRoO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAobGVuZ3RoID49IExBUkdFX0FSUkFZX1NJWkUpIHtcbiAgICAgICAgdmFyIHNldCA9IGl0ZXJhdGVlID8gbnVsbCA6IGNyZWF0ZVNldChhcnJheSk7XG4gICAgICAgIGlmIChzZXQpIHtcbiAgICAgICAgICByZXR1cm4gc2V0VG9BcnJheShzZXQpO1xuICAgICAgICB9XG4gICAgICAgIGlzQ29tbW9uID0gZmFsc2U7XG4gICAgICAgIGluY2x1ZGVzID0gY2FjaGVIYXM7XG4gICAgICAgIHNlZW4gPSBuZXcgU2V0Q2FjaGU7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgc2VlbiA9IGl0ZXJhdGVlID8gW10gOiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBvdXRlcjpcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIGNvbXB1dGVkID0gaXRlcmF0ZWUgPyBpdGVyYXRlZSh2YWx1ZSkgOiB2YWx1ZTtcblxuICAgICAgICB2YWx1ZSA9IChjb21wYXJhdG9yIHx8IHZhbHVlICE9PSAwKSA/IHZhbHVlIDogMDtcbiAgICAgICAgaWYgKGlzQ29tbW9uICYmIGNvbXB1dGVkID09PSBjb21wdXRlZCkge1xuICAgICAgICAgIHZhciBzZWVuSW5kZXggPSBzZWVuLmxlbmd0aDtcbiAgICAgICAgICB3aGlsZSAoc2VlbkluZGV4LS0pIHtcbiAgICAgICAgICAgIGlmIChzZWVuW3NlZW5JbmRleF0gPT09IGNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlIG91dGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaXRlcmF0ZWUpIHtcbiAgICAgICAgICAgIHNlZW4ucHVzaChjb21wdXRlZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdC5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghaW5jbHVkZXMoc2VlbiwgY29tcHV0ZWQsIGNvbXBhcmF0b3IpKSB7XG4gICAgICAgICAgaWYgKHNlZW4gIT09IHJlc3VsdCkge1xuICAgICAgICAgICAgc2Vlbi5wdXNoKGNvbXB1dGVkKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVuc2V0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcHJvcGVydHkgcGF0aCB0byB1bnNldC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHByb3BlcnR5IGlzIGRlbGV0ZWQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVW5zZXQob2JqZWN0LCBwYXRoKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcbiAgICAgIG9iamVjdCA9IHBhcmVudChvYmplY3QsIHBhdGgpO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsIHx8IGRlbGV0ZSBvYmplY3RbdG9LZXkobGFzdChwYXRoKSldO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLnVwZGF0ZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIHVwZGF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB1cGRhdGVyIFRoZSBmdW5jdGlvbiB0byBwcm9kdWNlIHRoZSB1cGRhdGVkIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIHBhdGggY3JlYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgdXBkYXRlciwgY3VzdG9taXplcikge1xuICAgICAgcmV0dXJuIGJhc2VTZXQob2JqZWN0LCBwYXRoLCB1cGRhdGVyKGJhc2VHZXQob2JqZWN0LCBwYXRoKSksIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy5kcm9wV2hpbGVgIGFuZCBgXy50YWtlV2hpbGVgXG4gICAgICogd2l0aG91dCBzdXBwb3J0IGZvciBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gcHJlZGljYXRlIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbaXNEcm9wXSBTcGVjaWZ5IGRyb3BwaW5nIGVsZW1lbnRzIGluc3RlYWQgb2YgdGFraW5nIHRoZW0uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VXaGlsZShhcnJheSwgcHJlZGljYXRlLCBpc0Ryb3AsIGZyb21SaWdodCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBpbmRleCA9IGZyb21SaWdodCA/IGxlbmd0aCA6IC0xO1xuXG4gICAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSAmJlxuICAgICAgICBwcmVkaWNhdGUoYXJyYXlbaW5kZXhdLCBpbmRleCwgYXJyYXkpKSB7fVxuXG4gICAgICByZXR1cm4gaXNEcm9wXG4gICAgICAgID8gYmFzZVNsaWNlKGFycmF5LCAoZnJvbVJpZ2h0ID8gMCA6IGluZGV4KSwgKGZyb21SaWdodCA/IGluZGV4ICsgMSA6IGxlbmd0aCkpXG4gICAgICAgIDogYmFzZVNsaWNlKGFycmF5LCAoZnJvbVJpZ2h0ID8gaW5kZXggKyAxIDogMCksIChmcm9tUmlnaHQgPyBsZW5ndGggOiBpbmRleCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGB3cmFwcGVyVmFsdWVgIHdoaWNoIHJldHVybnMgdGhlIHJlc3VsdCBvZlxuICAgICAqIHBlcmZvcm1pbmcgYSBzZXF1ZW5jZSBvZiBhY3Rpb25zIG9uIHRoZSB1bndyYXBwZWQgYHZhbHVlYCwgd2hlcmUgZWFjaFxuICAgICAqIHN1Y2Nlc3NpdmUgYWN0aW9uIGlzIHN1cHBsaWVkIHRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHByZXZpb3VzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB1bndyYXBwZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtBcnJheX0gYWN0aW9ucyBBY3Rpb25zIHRvIHBlcmZvcm0gdG8gcmVzb2x2ZSB0aGUgdW53cmFwcGVkIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlV3JhcHBlclZhbHVlKHZhbHVlLCBhY3Rpb25zKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gdmFsdWU7XG4gICAgICBpZiAocmVzdWx0IGluc3RhbmNlb2YgTGF6eVdyYXBwZXIpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnZhbHVlKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXlSZWR1Y2UoYWN0aW9ucywgZnVuY3Rpb24ocmVzdWx0LCBhY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIGFjdGlvbi5mdW5jLmFwcGx5KGFjdGlvbi50aGlzQXJnLCBhcnJheVB1c2goW3Jlc3VsdF0sIGFjdGlvbi5hcmdzKSk7XG4gICAgICB9LCByZXN1bHQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIG1ldGhvZHMgbGlrZSBgXy54b3JgLCB3aXRob3V0IHN1cHBvcnQgZm9yXG4gICAgICogaXRlcmF0ZWUgc2hvcnRoYW5kcywgdGhhdCBhY2NlcHRzIGFuIGFycmF5IG9mIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheXMgVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgdmFsdWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGJhc2VYb3IoYXJyYXlzLCBpdGVyYXRlZSwgY29tcGFyYXRvcikge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5cy5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVVuaXEoYXJyYXlzWzBdKSA6IFtdO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgcmVzdWx0ID0gQXJyYXkobGVuZ3RoKTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gYXJyYXlzW2luZGV4XSxcbiAgICAgICAgICAgIG90aEluZGV4ID0gLTE7XG5cbiAgICAgICAgd2hpbGUgKCsrb3RoSW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICBpZiAob3RoSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgICAgIHJlc3VsdFtpbmRleF0gPSBiYXNlRGlmZmVyZW5jZShyZXN1bHRbaW5kZXhdIHx8IGFycmF5LCBhcnJheXNbb3RoSW5kZXhdLCBpdGVyYXRlZSwgY29tcGFyYXRvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4ocmVzdWx0LCAxKSwgaXRlcmF0ZWUsIGNvbXBhcmF0b3IpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy56aXBPYmplY3RgIHdoaWNoIGFzc2lnbnMgdmFsdWVzIHVzaW5nIGBhc3NpZ25GdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gcHJvcHMgVGhlIHByb3BlcnR5IGlkZW50aWZpZXJzLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGFzc2lnbkZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFzc2lnbiB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiYXNlWmlwT2JqZWN0KHByb3BzLCB2YWx1ZXMsIGFzc2lnbkZ1bmMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aCxcbiAgICAgICAgICB2YWxzTGVuZ3RoID0gdmFsdWVzLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSB7fTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gaW5kZXggPCB2YWxzTGVuZ3RoID8gdmFsdWVzW2luZGV4XSA6IHVuZGVmaW5lZDtcbiAgICAgICAgYXNzaWduRnVuYyhyZXN1bHQsIHByb3BzW2luZGV4XSwgdmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgdmFsdWVgIHRvIGFuIGVtcHR5IGFycmF5IGlmIGl0J3Mgbm90IGFuIGFycmF5IGxpa2Ugb2JqZWN0LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgdGhlIGNhc3QgYXJyYXktbGlrZSBvYmplY3QuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdEFycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KHZhbHVlKSA/IHZhbHVlIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCB0byBgaWRlbnRpdHlgIGlmIGl0J3Mgbm90IGEgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGNhc3QgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2FzdEZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdmdW5jdGlvbicgPyB2YWx1ZSA6IGlkZW50aXR5O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENhc3RzIGB2YWx1ZWAgdG8gYSBwYXRoIGFycmF5IGlmIGl0J3Mgbm90IG9uZS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeSBrZXlzIG9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY2FzdCBwcm9wZXJ0eSBwYXRoIGFycmF5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNhc3RQYXRoKHZhbHVlLCBvYmplY3QpIHtcbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNLZXkodmFsdWUsIG9iamVjdCkgPyBbdmFsdWVdIDogc3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBgYmFzZVJlc3RgIGFsaWFzIHdoaWNoIGNhbiBiZSByZXBsYWNlZCB3aXRoIGBpZGVudGl0eWAgYnkgbW9kdWxlXG4gICAgICogcmVwbGFjZW1lbnQgcGx1Z2lucy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHR5cGUge0Z1bmN0aW9ufVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICovXG4gICAgdmFyIGNhc3RSZXN0ID0gYmFzZVJlc3Q7XG5cbiAgICAvKipcbiAgICAgKiBDYXN0cyBgYXJyYXlgIHRvIGEgc2xpY2UgaWYgaXQncyBuZWVkZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgcG9zaXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtlbmQ9YXJyYXkubGVuZ3RoXSBUaGUgZW5kIHBvc2l0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY2FzdCBzbGljZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0U2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZCA/IGxlbmd0aCA6IGVuZDtcbiAgICAgIHJldHVybiAoIXN0YXJ0ICYmIGVuZCA+PSBsZW5ndGgpID8gYXJyYXkgOiBiYXNlU2xpY2UoYXJyYXksIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHRoZSBnbG9iYWwgW2BjbGVhclRpbWVvdXRgXShodHRwczovL21kbi5pby9jbGVhclRpbWVvdXQpLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge251bWJlcnxPYmplY3R9IGlkIFRoZSB0aW1lciBpZCBvciB0aW1lb3V0IG9iamVjdCBvZiB0aGUgdGltZXIgdG8gY2xlYXIuXG4gICAgICovXG4gICAgdmFyIGNsZWFyVGltZW91dCA9IGN0eENsZWFyVGltZW91dCB8fCBmdW5jdGlvbihpZCkge1xuICAgICAgcmV0dXJuIHJvb3QuY2xlYXJUaW1lb3V0KGlkKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mICBgYnVmZmVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtCdWZmZXJ9IGJ1ZmZlciBUaGUgYnVmZmVyIHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge0J1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGJ1ZmZlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZUJ1ZmZlcihidWZmZXIsIGlzRGVlcCkge1xuICAgICAgaWYgKGlzRGVlcCkge1xuICAgICAgICByZXR1cm4gYnVmZmVyLnNsaWNlKCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gYnVmZmVyLmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBhbGxvY1Vuc2FmZSA/IGFsbG9jVW5zYWZlKGxlbmd0aCkgOiBuZXcgYnVmZmVyLmNvbnN0cnVjdG9yKGxlbmd0aCk7XG5cbiAgICAgIGJ1ZmZlci5jb3B5KHJlc3VsdCk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgYXJyYXlCdWZmZXJgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5QnVmZmVyfSBhcnJheUJ1ZmZlciBUaGUgYXJyYXkgYnVmZmVyIHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtBcnJheUJ1ZmZlcn0gUmV0dXJucyB0aGUgY2xvbmVkIGFycmF5IGJ1ZmZlci5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZUFycmF5QnVmZmVyKGFycmF5QnVmZmVyKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gbmV3IGFycmF5QnVmZmVyLmNvbnN0cnVjdG9yKGFycmF5QnVmZmVyLmJ5dGVMZW5ndGgpO1xuICAgICAgbmV3IFVpbnQ4QXJyYXkocmVzdWx0KS5zZXQobmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGBkYXRhVmlld2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhVmlldyBUaGUgZGF0YSB2aWV3IHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2lzRGVlcF0gU3BlY2lmeSBhIGRlZXAgY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIGRhdGEgdmlldy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZURhdGFWaWV3KGRhdGFWaWV3LCBpc0RlZXApIHtcbiAgICAgIHZhciBidWZmZXIgPSBpc0RlZXAgPyBjbG9uZUFycmF5QnVmZmVyKGRhdGFWaWV3LmJ1ZmZlcikgOiBkYXRhVmlldy5idWZmZXI7XG4gICAgICByZXR1cm4gbmV3IGRhdGFWaWV3LmNvbnN0cnVjdG9yKGJ1ZmZlciwgZGF0YVZpZXcuYnl0ZU9mZnNldCwgZGF0YVZpZXcuYnl0ZUxlbmd0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGNsb25lIG9mIGByZWdleHBgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gcmVnZXhwIFRoZSByZWdleHAgdG8gY2xvbmUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY2xvbmVkIHJlZ2V4cC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVJlZ0V4cChyZWdleHApIHtcbiAgICAgIHZhciByZXN1bHQgPSBuZXcgcmVnZXhwLmNvbnN0cnVjdG9yKHJlZ2V4cC5zb3VyY2UsIHJlRmxhZ3MuZXhlYyhyZWdleHApKTtcbiAgICAgIHJlc3VsdC5sYXN0SW5kZXggPSByZWdleHAubGFzdEluZGV4O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGBzeW1ib2xgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN5bWJvbCBUaGUgc3ltYm9sIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjbG9uZWQgc3ltYm9sIG9iamVjdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVN5bWJvbChzeW1ib2wpIHtcbiAgICAgIHJldHVybiBzeW1ib2xWYWx1ZU9mID8gT2JqZWN0KHN5bWJvbFZhbHVlT2YuY2FsbChzeW1ib2wpKSA6IHt9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgdHlwZWRBcnJheWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSB0eXBlZEFycmF5IFRoZSB0eXBlZCBhcnJheSB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0RlZXBdIFNwZWNpZnkgYSBkZWVwIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNsb25lZCB0eXBlZCBhcnJheS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVR5cGVkQXJyYXkodHlwZWRBcnJheSwgaXNEZWVwKSB7XG4gICAgICB2YXIgYnVmZmVyID0gaXNEZWVwID8gY2xvbmVBcnJheUJ1ZmZlcih0eXBlZEFycmF5LmJ1ZmZlcikgOiB0eXBlZEFycmF5LmJ1ZmZlcjtcbiAgICAgIHJldHVybiBuZXcgdHlwZWRBcnJheS5jb25zdHJ1Y3RvcihidWZmZXIsIHR5cGVkQXJyYXkuYnl0ZU9mZnNldCwgdHlwZWRBcnJheS5sZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXBhcmVzIHZhbHVlcyB0byBzb3J0IHRoZW0gaW4gYXNjZW5kaW5nIG9yZGVyLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGB2YWx1ZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcGFyZUFzY2VuZGluZyh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gb3RoZXIpIHtcbiAgICAgICAgdmFyIHZhbElzRGVmaW5lZCA9IHZhbHVlICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICB2YWxJc051bGwgPSB2YWx1ZSA9PT0gbnVsbCxcbiAgICAgICAgICAgIHZhbElzUmVmbGV4aXZlID0gdmFsdWUgPT09IHZhbHVlLFxuICAgICAgICAgICAgdmFsSXNTeW1ib2wgPSBpc1N5bWJvbCh2YWx1ZSk7XG5cbiAgICAgICAgdmFyIG90aElzRGVmaW5lZCA9IG90aGVyICE9PSB1bmRlZmluZWQsXG4gICAgICAgICAgICBvdGhJc051bGwgPSBvdGhlciA9PT0gbnVsbCxcbiAgICAgICAgICAgIG90aElzUmVmbGV4aXZlID0gb3RoZXIgPT09IG90aGVyLFxuICAgICAgICAgICAgb3RoSXNTeW1ib2wgPSBpc1N5bWJvbChvdGhlcik7XG5cbiAgICAgICAgaWYgKCghb3RoSXNOdWxsICYmICFvdGhJc1N5bWJvbCAmJiAhdmFsSXNTeW1ib2wgJiYgdmFsdWUgPiBvdGhlcikgfHxcbiAgICAgICAgICAgICh2YWxJc1N5bWJvbCAmJiBvdGhJc0RlZmluZWQgJiYgb3RoSXNSZWZsZXhpdmUgJiYgIW90aElzTnVsbCAmJiAhb3RoSXNTeW1ib2wpIHx8XG4gICAgICAgICAgICAodmFsSXNOdWxsICYmIG90aElzRGVmaW5lZCAmJiBvdGhJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgICAgICghdmFsSXNEZWZpbmVkICYmIG90aElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgIXZhbElzUmVmbGV4aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIDE7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCghdmFsSXNOdWxsICYmICF2YWxJc1N5bWJvbCAmJiAhb3RoSXNTeW1ib2wgJiYgdmFsdWUgPCBvdGhlcikgfHxcbiAgICAgICAgICAgIChvdGhJc1N5bWJvbCAmJiB2YWxJc0RlZmluZWQgJiYgdmFsSXNSZWZsZXhpdmUgJiYgIXZhbElzTnVsbCAmJiAhdmFsSXNTeW1ib2wpIHx8XG4gICAgICAgICAgICAob3RoSXNOdWxsICYmIHZhbElzRGVmaW5lZCAmJiB2YWxJc1JlZmxleGl2ZSkgfHxcbiAgICAgICAgICAgICghb3RoSXNEZWZpbmVkICYmIHZhbElzUmVmbGV4aXZlKSB8fFxuICAgICAgICAgICAgIW90aElzUmVmbGV4aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGJ5IGBfLm9yZGVyQnlgIHRvIGNvbXBhcmUgbXVsdGlwbGUgcHJvcGVydGllcyBvZiBhIHZhbHVlIHRvIGFub3RoZXJcbiAgICAgKiBhbmQgc3RhYmxlIHNvcnQgdGhlbS5cbiAgICAgKlxuICAgICAqIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzIGFyZSBzb3J0ZWQgaW4gYXNjZW5kaW5nIG9yZGVyLiBPdGhlcndpc2UsXG4gICAgICogc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3IgZGVzY2VuZGluZyBvciBcImFzY1wiIGZvciBhc2NlbmRpbmcgc29ydCBvcmRlclxuICAgICAqIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3RoZXIgVGhlIG90aGVyIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbltdfHN0cmluZ1tdfSBvcmRlcnMgVGhlIG9yZGVyIHRvIHNvcnQgYnkgZm9yIGVhY2ggcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgc29ydCBvcmRlciBpbmRpY2F0b3IgZm9yIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBhcmVNdWx0aXBsZShvYmplY3QsIG90aGVyLCBvcmRlcnMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIG9iakNyaXRlcmlhID0gb2JqZWN0LmNyaXRlcmlhLFxuICAgICAgICAgIG90aENyaXRlcmlhID0gb3RoZXIuY3JpdGVyaWEsXG4gICAgICAgICAgbGVuZ3RoID0gb2JqQ3JpdGVyaWEubGVuZ3RoLFxuICAgICAgICAgIG9yZGVyc0xlbmd0aCA9IG9yZGVycy5sZW5ndGg7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBjb21wYXJlQXNjZW5kaW5nKG9iakNyaXRlcmlhW2luZGV4XSwgb3RoQ3JpdGVyaWFbaW5kZXhdKTtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIGlmIChpbmRleCA+PSBvcmRlcnNMZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHZhciBvcmRlciA9IG9yZGVyc1tpbmRleF07XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdCAqIChvcmRlciA9PSAnZGVzYycgPyAtMSA6IDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBGaXhlcyBhbiBgQXJyYXkjc29ydGAgYnVnIGluIHRoZSBKUyBlbmdpbmUgZW1iZWRkZWQgaW4gQWRvYmUgYXBwbGljYXRpb25zXG4gICAgICAvLyB0aGF0IGNhdXNlcyBpdCwgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCB0byBwcm92aWRlIHRoZSBzYW1lIHZhbHVlIGZvclxuICAgICAgLy8gYG9iamVjdGAgYW5kIGBvdGhlcmAuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vamFzaGtlbmFzL3VuZGVyc2NvcmUvcHVsbC8xMjQ3XG4gICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgLy9cbiAgICAgIC8vIFRoaXMgYWxzbyBlbnN1cmVzIGEgc3RhYmxlIHNvcnQgaW4gVjggYW5kIG90aGVyIGVuZ2luZXMuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9OTAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgIHJldHVybiBvYmplY3QuaW5kZXggLSBvdGhlci5pbmRleDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IHRoYXQgaXMgdGhlIGNvbXBvc2l0aW9uIG9mIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cyxcbiAgICAgKiBwbGFjZWhvbGRlcnMsIGFuZCBwcm92aWRlZCBhcmd1bWVudHMgaW50byBhIHNpbmdsZSBhcnJheSBvZiBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQuXG4gICAgICogQHBhcmFtIHtBcnJheX0gaG9sZGVycyBUaGUgYHBhcnRpYWxzYCBwbGFjZWhvbGRlciBpbmRleGVzLlxuICAgICAqIEBwYXJhbXMge2Jvb2xlYW59IFtpc0N1cnJpZWRdIFNwZWNpZnkgY29tcG9zaW5nIGZvciBhIGN1cnJpZWQgZnVuY3Rpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tcG9zZWQgYXJndW1lbnRzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBvc2VBcmdzKGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpIHtcbiAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICBhcmdzTGVuZ3RoID0gYXJncy5sZW5ndGgsXG4gICAgICAgICAgaG9sZGVyc0xlbmd0aCA9IGhvbGRlcnMubGVuZ3RoLFxuICAgICAgICAgIGxlZnRJbmRleCA9IC0xLFxuICAgICAgICAgIGxlZnRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgcmFuZ2VMZW5ndGggPSBuYXRpdmVNYXgoYXJnc0xlbmd0aCAtIGhvbGRlcnNMZW5ndGgsIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KGxlZnRMZW5ndGggKyByYW5nZUxlbmd0aCksXG4gICAgICAgICAgaXNVbmN1cnJpZWQgPSAhaXNDdXJyaWVkO1xuXG4gICAgICB3aGlsZSAoKytsZWZ0SW5kZXggPCBsZWZ0TGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgIH1cbiAgICAgIHdoaWxlICgrK2FyZ3NJbmRleCA8IGhvbGRlcnNMZW5ndGgpIHtcbiAgICAgICAgaWYgKGlzVW5jdXJyaWVkIHx8IGFyZ3NJbmRleCA8IGFyZ3NMZW5ndGgpIHtcbiAgICAgICAgICByZXN1bHRbaG9sZGVyc1thcmdzSW5kZXhdXSA9IGFyZ3NbYXJnc0luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKHJhbmdlTGVuZ3RoLS0pIHtcbiAgICAgICAgcmVzdWx0W2xlZnRJbmRleCsrXSA9IGFyZ3NbYXJnc0luZGV4KytdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGlzIGxpa2UgYGNvbXBvc2VBcmdzYCBleGNlcHQgdGhhdCB0aGUgYXJndW1lbnRzIGNvbXBvc2l0aW9uXG4gICAgICogaXMgdGFpbG9yZWQgZm9yIGBfLnBhcnRpYWxSaWdodGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFyZ3MgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIGFwcGVuZCB0byB0aG9zZSBwcm92aWRlZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBob2xkZXJzIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtcyB7Ym9vbGVhbn0gW2lzQ3VycmllZF0gU3BlY2lmeSBjb21wb3NpbmcgZm9yIGEgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21wb3NlZCBhcmd1bWVudHMuXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29tcG9zZUFyZ3NSaWdodChhcmdzLCBwYXJ0aWFscywgaG9sZGVycywgaXNDdXJyaWVkKSB7XG4gICAgICB2YXIgYXJnc0luZGV4ID0gLTEsXG4gICAgICAgICAgYXJnc0xlbmd0aCA9IGFyZ3MubGVuZ3RoLFxuICAgICAgICAgIGhvbGRlcnNJbmRleCA9IC0xLFxuICAgICAgICAgIGhvbGRlcnNMZW5ndGggPSBob2xkZXJzLmxlbmd0aCxcbiAgICAgICAgICByaWdodEluZGV4ID0gLTEsXG4gICAgICAgICAgcmlnaHRMZW5ndGggPSBwYXJ0aWFscy5sZW5ndGgsXG4gICAgICAgICAgcmFuZ2VMZW5ndGggPSBuYXRpdmVNYXgoYXJnc0xlbmd0aCAtIGhvbGRlcnNMZW5ndGgsIDApLFxuICAgICAgICAgIHJlc3VsdCA9IEFycmF5KHJhbmdlTGVuZ3RoICsgcmlnaHRMZW5ndGgpLFxuICAgICAgICAgIGlzVW5jdXJyaWVkID0gIWlzQ3VycmllZDtcblxuICAgICAgd2hpbGUgKCsrYXJnc0luZGV4IDwgcmFuZ2VMZW5ndGgpIHtcbiAgICAgICAgcmVzdWx0W2FyZ3NJbmRleF0gPSBhcmdzW2FyZ3NJbmRleF07XG4gICAgICB9XG4gICAgICB2YXIgb2Zmc2V0ID0gYXJnc0luZGV4O1xuICAgICAgd2hpbGUgKCsrcmlnaHRJbmRleCA8IHJpZ2h0TGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtvZmZzZXQgKyByaWdodEluZGV4XSA9IHBhcnRpYWxzW3JpZ2h0SW5kZXhdO1xuICAgICAgfVxuICAgICAgd2hpbGUgKCsraG9sZGVyc0luZGV4IDwgaG9sZGVyc0xlbmd0aCkge1xuICAgICAgICBpZiAoaXNVbmN1cnJpZWQgfHwgYXJnc0luZGV4IDwgYXJnc0xlbmd0aCkge1xuICAgICAgICAgIHJlc3VsdFtvZmZzZXQgKyBob2xkZXJzW2hvbGRlcnNJbmRleF1dID0gYXJnc1thcmdzSW5kZXgrK107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIHRoZSB2YWx1ZXMgb2YgYHNvdXJjZWAgdG8gYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gc291cmNlIFRoZSBhcnJheSB0byBjb3B5IHZhbHVlcyBmcm9tLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFthcnJheT1bXV0gVGhlIGFycmF5IHRvIGNvcHkgdmFsdWVzIHRvLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlBcnJheShzb3VyY2UsIGFycmF5KSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSBzb3VyY2UubGVuZ3RoO1xuXG4gICAgICBhcnJheSB8fCAoYXJyYXkgPSBBcnJheShsZW5ndGgpKTtcbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIGFycmF5W2luZGV4XSA9IHNvdXJjZVtpbmRleF07XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIHByb3BlcnRpZXMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwcm9wcyBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMgdG8gY29weS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHByb3BlcnRpZXMgdG8uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY29waWVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvcHlPYmplY3Qoc291cmNlLCBwcm9wcywgb2JqZWN0LCBjdXN0b21pemVyKSB7XG4gICAgICB2YXIgaXNOZXcgPSAhb2JqZWN0O1xuICAgICAgb2JqZWN0IHx8IChvYmplY3QgPSB7fSk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHByb3BzLmxlbmd0aDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGtleSA9IHByb3BzW2luZGV4XTtcblxuICAgICAgICB2YXIgbmV3VmFsdWUgPSBjdXN0b21pemVyXG4gICAgICAgICAgPyBjdXN0b21pemVyKG9iamVjdFtrZXldLCBzb3VyY2Vba2V5XSwga2V5LCBvYmplY3QsIHNvdXJjZSlcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAobmV3VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIG5ld1ZhbHVlID0gc291cmNlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTmV3KSB7XG4gICAgICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBuZXdWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3BpZXMgb3duIHN5bWJvbHMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgdG8uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb3B5U3ltYm9scyhzb3VyY2UsIG9iamVjdCkge1xuICAgICAgcmV0dXJuIGNvcHlPYmplY3Qoc291cmNlLCBnZXRTeW1ib2xzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29waWVzIG93biBhbmQgaW5oZXJpdGVkIHN5bWJvbHMgb2YgYHNvdXJjZWAgdG8gYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgZnJvbS5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdD17fV0gVGhlIG9iamVjdCB0byBjb3B5IHN5bWJvbHMgdG8uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjb3B5U3ltYm9sc0luKHNvdXJjZSwgb2JqZWN0KSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdChzb3VyY2UsIGdldFN5bWJvbHNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmdyb3VwQnlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBhY2N1bXVsYXRvciB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2luaXRpYWxpemVyXSBUaGUgYWNjdW11bGF0b3Igb2JqZWN0IGluaXRpYWxpemVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFnZ3JlZ2F0b3IgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQWdncmVnYXRvcihzZXR0ZXIsIGluaXRpYWxpemVyKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlBZ2dyZWdhdG9yIDogYmFzZUFnZ3JlZ2F0b3IsXG4gICAgICAgICAgICBhY2N1bXVsYXRvciA9IGluaXRpYWxpemVyID8gaW5pdGlhbGl6ZXIoKSA6IHt9O1xuXG4gICAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24sIHNldHRlciwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpLCBhY2N1bXVsYXRvcik7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmFzc2lnbmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGFzc2lnbmVyIFRoZSBmdW5jdGlvbiB0byBhc3NpZ24gdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFzc2lnbmVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUFzc2lnbmVyKGFzc2lnbmVyKSB7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgICAgbGVuZ3RoID0gc291cmNlcy5sZW5ndGgsXG4gICAgICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoID4gMSA/IHNvdXJjZXNbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBndWFyZCA9IGxlbmd0aCA+IDIgPyBzb3VyY2VzWzJdIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGN1c3RvbWl6ZXIgPSAoYXNzaWduZXIubGVuZ3RoID4gMyAmJiB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nKVxuICAgICAgICAgID8gKGxlbmd0aC0tLCBjdXN0b21pemVyKVxuICAgICAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzb3VyY2VzWzBdLCBzb3VyY2VzWzFdLCBndWFyZCkpIHtcbiAgICAgICAgICBjdXN0b21pemVyID0gbGVuZ3RoIDwgMyA/IHVuZGVmaW5lZCA6IGN1c3RvbWl6ZXI7XG4gICAgICAgICAgbGVuZ3RoID0gMTtcbiAgICAgICAgfVxuICAgICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgYXNzaWduZXIob2JqZWN0LCBzb3VyY2UsIGluZGV4LCBjdXN0b21pemVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBgYmFzZUVhY2hgIG9yIGBiYXNlRWFjaFJpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZWFjaEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGl0ZXJhdGUgb3ZlciBhIGNvbGxlY3Rpb24uXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYmFzZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVCYXNlRWFjaChlYWNoRnVuYywgZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBjb2xsZWN0aW9uO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNBcnJheUxpa2UoY29sbGVjdGlvbikpIHtcbiAgICAgICAgICByZXR1cm4gZWFjaEZ1bmMoY29sbGVjdGlvbiwgaXRlcmF0ZWUpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsZW5ndGggPSBjb2xsZWN0aW9uLmxlbmd0aCxcbiAgICAgICAgICAgIGluZGV4ID0gZnJvbVJpZ2h0ID8gbGVuZ3RoIDogLTEsXG4gICAgICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcblxuICAgICAgICB3aGlsZSAoKGZyb21SaWdodCA/IGluZGV4LS0gOiArK2luZGV4IDwgbGVuZ3RoKSkge1xuICAgICAgICAgIGlmIChpdGVyYXRlZShpdGVyYWJsZVtpbmRleF0sIGluZGV4LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBiYXNlIGZ1bmN0aW9uIGZvciBtZXRob2RzIGxpa2UgYF8uZm9ySW5gIGFuZCBgXy5mb3JPd25gLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmcm9tUmlnaHRdIFNwZWNpZnkgaXRlcmF0aW5nIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBiYXNlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUJhc2VGb3IoZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBpdGVyYXRlZSwga2V5c0Z1bmMpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgICBpdGVyYWJsZSA9IE9iamVjdChvYmplY3QpLFxuICAgICAgICAgICAgcHJvcHMgPSBrZXlzRnVuYyhvYmplY3QpLFxuICAgICAgICAgICAgbGVuZ3RoID0gcHJvcHMubGVuZ3RoO1xuXG4gICAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICAgIHZhciBrZXkgPSBwcm9wc1tmcm9tUmlnaHQgPyBsZW5ndGggOiArK2luZGV4XTtcbiAgICAgICAgICBpZiAoaXRlcmF0ZWUoaXRlcmFibGVba2V5XSwga2V5LCBpdGVyYWJsZSkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGludm9rZSBpdCB3aXRoIHRoZSBvcHRpb25hbCBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIGB0aGlzQXJnYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVCaW5kKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcpIHtcbiAgICAgIHZhciBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgQ3RvciA9IGNyZWF0ZUN0b3IoZnVuYyk7XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBwZXIoKSB7XG4gICAgICAgIHZhciBmbiA9ICh0aGlzICYmIHRoaXMgIT09IHJvb3QgJiYgdGhpcyBpbnN0YW5jZW9mIHdyYXBwZXIpID8gQ3RvciA6IGZ1bmM7XG4gICAgICAgIHJldHVybiBmbi5hcHBseShpc0JpbmQgPyB0aGlzQXJnIDogdGhpcywgYXJndW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB3cmFwcGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmxvd2VyRmlyc3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgYFN0cmluZ2AgY2FzZSBtZXRob2QgdG8gdXNlLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhc2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ2FzZUZpcnN0KG1ldGhvZE5hbWUpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcblxuICAgICAgICB2YXIgc3RyU3ltYm9scyA9IGhhc1VuaWNvZGUoc3RyaW5nKVxuICAgICAgICAgID8gc3RyaW5nVG9BcnJheShzdHJpbmcpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICAgICAgdmFyIGNociA9IHN0clN5bWJvbHNcbiAgICAgICAgICA/IHN0clN5bWJvbHNbMF1cbiAgICAgICAgICA6IHN0cmluZy5jaGFyQXQoMCk7XG5cbiAgICAgICAgdmFyIHRyYWlsaW5nID0gc3RyU3ltYm9sc1xuICAgICAgICAgID8gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDEpLmpvaW4oJycpXG4gICAgICAgICAgOiBzdHJpbmcuc2xpY2UoMSk7XG5cbiAgICAgICAgcmV0dXJuIGNoclttZXRob2ROYW1lXSgpICsgdHJhaWxpbmc7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiBsaWtlIGBfLmNhbWVsQ2FzZWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGNhbGxiYWNrIFRoZSBmdW5jdGlvbiB0byBjb21iaW5lIGVhY2ggd29yZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb21wb3VuZGVyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUNvbXBvdW5kZXIoY2FsbGJhY2spIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5UmVkdWNlKHdvcmRzKGRlYnVycihzdHJpbmcpLnJlcGxhY2UocmVBcG9zLCAnJykpLCBjYWxsYmFjaywgJycpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwcm9kdWNlcyBhbiBpbnN0YW5jZSBvZiBgQ3RvcmAgcmVnYXJkbGVzcyBvZlxuICAgICAqIHdoZXRoZXIgaXQgd2FzIGludm9rZWQgYXMgcGFydCBvZiBhIGBuZXdgIGV4cHJlc3Npb24gb3IgYnkgYGNhbGxgIG9yIGBhcHBseWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IEN0b3IgVGhlIGNvbnN0cnVjdG9yIHRvIHdyYXAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVDdG9yKEN0b3IpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gVXNlIGEgYHN3aXRjaGAgc3RhdGVtZW50IHRvIHdvcmsgd2l0aCBjbGFzcyBjb25zdHJ1Y3RvcnMuIFNlZVxuICAgICAgICAvLyBodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWZ1bmN0aW9uLW9iamVjdHMtY2FsbC10aGlzYXJndW1lbnQtYXJndW1lbnRzbGlzdFxuICAgICAgICAvLyBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAgICB2YXIgYXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgc3dpdGNoIChhcmdzLmxlbmd0aCkge1xuICAgICAgICAgIGNhc2UgMDogcmV0dXJuIG5ldyBDdG9yO1xuICAgICAgICAgIGNhc2UgMTogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0pO1xuICAgICAgICAgIGNhc2UgMjogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0pO1xuICAgICAgICAgIGNhc2UgMzogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0pO1xuICAgICAgICAgIGNhc2UgNDogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10pO1xuICAgICAgICAgIGNhc2UgNTogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0pO1xuICAgICAgICAgIGNhc2UgNjogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0pO1xuICAgICAgICAgIGNhc2UgNzogcmV0dXJuIG5ldyBDdG9yKGFyZ3NbMF0sIGFyZ3NbMV0sIGFyZ3NbMl0sIGFyZ3NbM10sIGFyZ3NbNF0sIGFyZ3NbNV0sIGFyZ3NbNl0pO1xuICAgICAgICB9XG4gICAgICAgIHZhciB0aGlzQmluZGluZyA9IGJhc2VDcmVhdGUoQ3Rvci5wcm90b3R5cGUpLFxuICAgICAgICAgICAgcmVzdWx0ID0gQ3Rvci5hcHBseSh0aGlzQmluZGluZywgYXJncyk7XG5cbiAgICAgICAgLy8gTWltaWMgdGhlIGNvbnN0cnVjdG9yJ3MgYHJldHVybmAgYmVoYXZpb3IuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2VzNS5naXRodWIuaW8vI3gxMy4yLjIgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgcmV0dXJuIGlzT2JqZWN0KHJlc3VsdCkgPyByZXN1bHQgOiB0aGlzQmluZGluZztcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgd3JhcHMgYGZ1bmNgIHRvIGVuYWJsZSBjdXJyeWluZy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhcml0eSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlQ3VycnkoZnVuYywgYml0bWFzaywgYXJpdHkpIHtcbiAgICAgIHZhciBDdG9yID0gY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIgPSBnZXRIb2xkZXIod3JhcHBlcik7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgICBhcmdzW2luZGV4XSA9IGFyZ3VtZW50c1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGhvbGRlcnMgPSAobGVuZ3RoIDwgMyAmJiBhcmdzWzBdICE9PSBwbGFjZWhvbGRlciAmJiBhcmdzW2xlbmd0aCAtIDFdICE9PSBwbGFjZWhvbGRlcilcbiAgICAgICAgICA/IFtdXG4gICAgICAgICAgOiByZXBsYWNlSG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG5cbiAgICAgICAgbGVuZ3RoIC09IGhvbGRlcnMubGVuZ3RoO1xuICAgICAgICBpZiAobGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlUmVjdXJyeShcbiAgICAgICAgICAgIGZ1bmMsIGJpdG1hc2ssIGNyZWF0ZUh5YnJpZCwgd3JhcHBlci5wbGFjZWhvbGRlciwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgYXJncywgaG9sZGVycywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5IC0gbGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZm4gPSAodGhpcyAmJiB0aGlzICE9PSByb290ICYmIHRoaXMgaW5zdGFuY2VvZiB3cmFwcGVyKSA/IEN0b3IgOiBmdW5jO1xuICAgICAgICByZXR1cm4gYXBwbHkoZm4sIHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLmZpbmRgIG9yIGBfLmZpbmRMYXN0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZmluZEluZGV4RnVuYyBUaGUgZnVuY3Rpb24gdG8gZmluZCB0aGUgY29sbGVjdGlvbiBpbmRleC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmaW5kIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUZpbmQoZmluZEluZGV4RnVuYykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZnJvbUluZGV4KSB7XG4gICAgICAgIHZhciBpdGVyYWJsZSA9IE9iamVjdChjb2xsZWN0aW9uKTtcbiAgICAgICAgaWYgKCFpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICAgIHZhciBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyk7XG4gICAgICAgICAgY29sbGVjdGlvbiA9IGtleXMoY29sbGVjdGlvbik7XG4gICAgICAgICAgcHJlZGljYXRlID0gZnVuY3Rpb24oa2V5KSB7IHJldHVybiBpdGVyYXRlZShpdGVyYWJsZVtrZXldLCBrZXksIGl0ZXJhYmxlKTsgfTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaW5kZXggPSBmaW5kSW5kZXhGdW5jKGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZnJvbUluZGV4KTtcbiAgICAgICAgcmV0dXJuIGluZGV4ID4gLTEgPyBpdGVyYWJsZVtpdGVyYXRlZSA/IGNvbGxlY3Rpb25baW5kZXhdIDogaW5kZXhdIDogdW5kZWZpbmVkO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYF8uZmxvd2Agb3IgYF8uZmxvd1JpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZmxvdyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVGbG93KGZyb21SaWdodCkge1xuICAgICAgcmV0dXJuIGZsYXRSZXN0KGZ1bmN0aW9uKGZ1bmNzKSB7XG4gICAgICAgIHZhciBsZW5ndGggPSBmdW5jcy5sZW5ndGgsXG4gICAgICAgICAgICBpbmRleCA9IGxlbmd0aCxcbiAgICAgICAgICAgIHByZXJlcSA9IExvZGFzaFdyYXBwZXIucHJvdG90eXBlLnRocnU7XG5cbiAgICAgICAgaWYgKGZyb21SaWdodCkge1xuICAgICAgICAgIGZ1bmNzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICAgIHZhciBmdW5jID0gZnVuY3NbaW5kZXhdO1xuICAgICAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcmVyZXEgJiYgIXdyYXBwZXIgJiYgZ2V0RnVuY05hbWUoZnVuYykgPT0gJ3dyYXBwZXInKSB7XG4gICAgICAgICAgICB2YXIgd3JhcHBlciA9IG5ldyBMb2Rhc2hXcmFwcGVyKFtdLCB0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSB3cmFwcGVyID8gaW5kZXggOiBsZW5ndGg7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgZnVuYyA9IGZ1bmNzW2luZGV4XTtcblxuICAgICAgICAgIHZhciBmdW5jTmFtZSA9IGdldEZ1bmNOYW1lKGZ1bmMpLFxuICAgICAgICAgICAgICBkYXRhID0gZnVuY05hbWUgPT0gJ3dyYXBwZXInID8gZ2V0RGF0YShmdW5jKSA6IHVuZGVmaW5lZDtcblxuICAgICAgICAgIGlmIChkYXRhICYmIGlzTGF6aWFibGUoZGF0YVswXSkgJiZcbiAgICAgICAgICAgICAgICBkYXRhWzFdID09IChXUkFQX0FSWV9GTEFHIHwgV1JBUF9DVVJSWV9GTEFHIHwgV1JBUF9QQVJUSUFMX0ZMQUcgfCBXUkFQX1JFQVJHX0ZMQUcpICYmXG4gICAgICAgICAgICAgICAgIWRhdGFbNF0ubGVuZ3RoICYmIGRhdGFbOV0gPT0gMVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgIHdyYXBwZXIgPSB3cmFwcGVyW2dldEZ1bmNOYW1lKGRhdGFbMF0pXS5hcHBseSh3cmFwcGVyLCBkYXRhWzNdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd3JhcHBlciA9IChmdW5jLmxlbmd0aCA9PSAxICYmIGlzTGF6aWFibGUoZnVuYykpXG4gICAgICAgICAgICAgID8gd3JhcHBlcltmdW5jTmFtZV0oKVxuICAgICAgICAgICAgICA6IHdyYXBwZXIudGhydShmdW5jKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzLFxuICAgICAgICAgICAgICB2YWx1ZSA9IGFyZ3NbMF07XG5cbiAgICAgICAgICBpZiAod3JhcHBlciAmJiBhcmdzLmxlbmd0aCA9PSAxICYmIGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gd3JhcHBlci5wbGFudCh2YWx1ZSkudmFsdWUoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdmFyIGluZGV4ID0gMCxcbiAgICAgICAgICAgICAgcmVzdWx0ID0gbGVuZ3RoID8gZnVuY3NbaW5kZXhdLmFwcGx5KHRoaXMsIGFyZ3MpIDogdmFsdWU7XG5cbiAgICAgICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZnVuY3NbaW5kZXhdLmNhbGwodGhpcywgcmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBpbnZva2UgaXQgd2l0aCBvcHRpb25hbCBgdGhpc2BcbiAgICAgKiBiaW5kaW5nIG9mIGB0aGlzQXJnYCwgcGFydGlhbCBhcHBsaWNhdGlvbiwgYW5kIGN1cnJ5aW5nLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gZnVuYyBUaGUgZnVuY3Rpb24gb3IgbWV0aG9kIG5hbWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy4gU2VlIGBjcmVhdGVXcmFwYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7Kn0gW3RoaXNBcmddIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbcGFydGlhbHNSaWdodF0gVGhlIGFyZ3VtZW50cyB0byBhcHBlbmQgdG8gdGhvc2UgcHJvdmlkZWRcbiAgICAgKiAgdG8gdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc1JpZ2h0XSBUaGUgYHBhcnRpYWxzUmlnaHRgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FyZ1Bvc10gVGhlIGFyZ3VtZW50IHBvc2l0aW9ucyBvZiB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJ5XSBUaGUgYXJpdHkgY2FwIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlSHlicmlkKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBwYXJ0aWFsc1JpZ2h0LCBob2xkZXJzUmlnaHQsIGFyZ1BvcywgYXJ5LCBhcml0eSkge1xuICAgICAgdmFyIGlzQXJ5ID0gYml0bWFzayAmIFdSQVBfQVJZX0ZMQUcsXG4gICAgICAgICAgaXNCaW5kID0gYml0bWFzayAmIFdSQVBfQklORF9GTEFHLFxuICAgICAgICAgIGlzQmluZEtleSA9IGJpdG1hc2sgJiBXUkFQX0JJTkRfS0VZX0ZMQUcsXG4gICAgICAgICAgaXNDdXJyaWVkID0gYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpLFxuICAgICAgICAgIGlzRmxpcCA9IGJpdG1hc2sgJiBXUkFQX0ZMSVBfRkxBRyxcbiAgICAgICAgICBDdG9yID0gaXNCaW5kS2V5ID8gdW5kZWZpbmVkIDogY3JlYXRlQ3RvcihmdW5jKTtcblxuICAgICAgZnVuY3Rpb24gd3JhcHBlcigpIHtcbiAgICAgICAgdmFyIGxlbmd0aCA9IGFyZ3VtZW50cy5sZW5ndGgsXG4gICAgICAgICAgICBhcmdzID0gQXJyYXkobGVuZ3RoKSxcbiAgICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuXG4gICAgICAgIHdoaWxlIChpbmRleC0tKSB7XG4gICAgICAgICAgYXJnc1tpbmRleF0gPSBhcmd1bWVudHNbaW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0N1cnJpZWQpIHtcbiAgICAgICAgICB2YXIgcGxhY2Vob2xkZXIgPSBnZXRIb2xkZXIod3JhcHBlciksXG4gICAgICAgICAgICAgIGhvbGRlcnNDb3VudCA9IGNvdW50SG9sZGVycyhhcmdzLCBwbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnRpYWxzKSB7XG4gICAgICAgICAgYXJncyA9IGNvbXBvc2VBcmdzKGFyZ3MsIHBhcnRpYWxzLCBob2xkZXJzLCBpc0N1cnJpZWQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXJ0aWFsc1JpZ2h0KSB7XG4gICAgICAgICAgYXJncyA9IGNvbXBvc2VBcmdzUmlnaHQoYXJncywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LCBpc0N1cnJpZWQpO1xuICAgICAgICB9XG4gICAgICAgIGxlbmd0aCAtPSBob2xkZXJzQ291bnQ7XG4gICAgICAgIGlmIChpc0N1cnJpZWQgJiYgbGVuZ3RoIDwgYXJpdHkpIHtcbiAgICAgICAgICB2YXIgbmV3SG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKGFyZ3MsIHBsYWNlaG9sZGVyKTtcbiAgICAgICAgICByZXR1cm4gY3JlYXRlUmVjdXJyeShcbiAgICAgICAgICAgIGZ1bmMsIGJpdG1hc2ssIGNyZWF0ZUh5YnJpZCwgd3JhcHBlci5wbGFjZWhvbGRlciwgdGhpc0FyZyxcbiAgICAgICAgICAgIGFyZ3MsIG5ld0hvbGRlcnMsIGFyZ1BvcywgYXJ5LCBhcml0eSAtIGxlbmd0aFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRoaXNCaW5kaW5nID0gaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsXG4gICAgICAgICAgICBmbiA9IGlzQmluZEtleSA/IHRoaXNCaW5kaW5nW2Z1bmNdIDogZnVuYztcblxuICAgICAgICBsZW5ndGggPSBhcmdzLmxlbmd0aDtcbiAgICAgICAgaWYgKGFyZ1Bvcykge1xuICAgICAgICAgIGFyZ3MgPSByZW9yZGVyKGFyZ3MsIGFyZ1Bvcyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGbGlwICYmIGxlbmd0aCA+IDEpIHtcbiAgICAgICAgICBhcmdzLnJldmVyc2UoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNBcnkgJiYgYXJ5IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJncy5sZW5ndGggPSBhcnk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikge1xuICAgICAgICAgIGZuID0gQ3RvciB8fCBjcmVhdGVDdG9yKGZuKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm4uYXBwbHkodGhpc0JpbmRpbmcsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8uaW52ZXJ0QnlgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzZXR0ZXIgVGhlIGZ1bmN0aW9uIHRvIHNldCBhY2N1bXVsYXRvciB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gdG9JdGVyYXRlZSBUaGUgZnVuY3Rpb24gdG8gcmVzb2x2ZSBpdGVyYXRlZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52ZXJ0ZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlSW52ZXJ0ZXIoc2V0dGVyLCB0b0l0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgICByZXR1cm4gYmFzZUludmVydGVyKG9iamVjdCwgc2V0dGVyLCB0b0l0ZXJhdGVlKGl0ZXJhdGVlKSwge30pO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIG1hdGhlbWF0aWNhbCBvcGVyYXRpb24gb24gdHdvIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gb3BlcmF0b3IgVGhlIGZ1bmN0aW9uIHRvIHBlcmZvcm0gdGhlIG9wZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RlZmF1bHRWYWx1ZV0gVGhlIHZhbHVlIHVzZWQgZm9yIGB1bmRlZmluZWRgIGFyZ3VtZW50cy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtYXRoZW1hdGljYWwgb3BlcmF0aW9uIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZU1hdGhPcGVyYXRpb24ob3BlcmF0b3IsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICB2YXIgcmVzdWx0O1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCAmJiBvdGhlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJlc3VsdCA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvdGhlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gb3RoZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgdHlwZW9mIG90aGVyID09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGJhc2VUb1N0cmluZyh2YWx1ZSk7XG4gICAgICAgICAgICBvdGhlciA9IGJhc2VUb1N0cmluZyhvdGhlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbHVlID0gYmFzZVRvTnVtYmVyKHZhbHVlKTtcbiAgICAgICAgICAgIG90aGVyID0gYmFzZVRvTnVtYmVyKG90aGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0ID0gb3BlcmF0b3IodmFsdWUsIG90aGVyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gbGlrZSBgXy5vdmVyYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gYXJyYXlGdW5jIFRoZSBmdW5jdGlvbiB0byBpdGVyYXRlIG92ZXIgaXRlcmF0ZWVzLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IG92ZXIgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlT3ZlcihhcnJheUZ1bmMpIHtcbiAgICAgIHJldHVybiBmbGF0UmVzdChmdW5jdGlvbihpdGVyYXRlZXMpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gYXJyYXlNYXAoaXRlcmF0ZWVzLCBiYXNlVW5hcnkoZ2V0SXRlcmF0ZWUoKSkpO1xuICAgICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICAgIHZhciB0aGlzQXJnID0gdGhpcztcbiAgICAgICAgICByZXR1cm4gYXJyYXlGdW5jKGl0ZXJhdGVlcywgZnVuY3Rpb24oaXRlcmF0ZWUpIHtcbiAgICAgICAgICAgIHJldHVybiBhcHBseShpdGVyYXRlZSwgdGhpc0FyZywgYXJncyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyB0aGUgcGFkZGluZyBmb3IgYHN0cmluZ2AgYmFzZWQgb24gYGxlbmd0aGAuIFRoZSBgY2hhcnNgIHN0cmluZ1xuICAgICAqIGlzIHRydW5jYXRlZCBpZiB0aGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgZXhjZWVkcyBgbGVuZ3RoYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGxlbmd0aCBUaGUgcGFkZGluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz0nICddIFRoZSBzdHJpbmcgdXNlZCBhcyBwYWRkaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHBhZGRpbmcgZm9yIGBzdHJpbmdgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVBhZGRpbmcobGVuZ3RoLCBjaGFycykge1xuICAgICAgY2hhcnMgPSBjaGFycyA9PT0gdW5kZWZpbmVkID8gJyAnIDogYmFzZVRvU3RyaW5nKGNoYXJzKTtcblxuICAgICAgdmFyIGNoYXJzTGVuZ3RoID0gY2hhcnMubGVuZ3RoO1xuICAgICAgaWYgKGNoYXJzTGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gY2hhcnNMZW5ndGggPyBiYXNlUmVwZWF0KGNoYXJzLCBsZW5ndGgpIDogY2hhcnM7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gYmFzZVJlcGVhdChjaGFycywgbmF0aXZlQ2VpbChsZW5ndGggLyBzdHJpbmdTaXplKGNoYXJzKSkpO1xuICAgICAgcmV0dXJuIGhhc1VuaWNvZGUoY2hhcnMpXG4gICAgICAgID8gY2FzdFNsaWNlKHN0cmluZ1RvQXJyYXkocmVzdWx0KSwgMCwgbGVuZ3RoKS5qb2luKCcnKVxuICAgICAgICA6IHJlc3VsdC5zbGljZSgwLCBsZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHdyYXBzIGBmdW5jYCB0byBpbnZva2UgaXQgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmdcbiAgICAgKiBvZiBgdGhpc0FyZ2AgYW5kIGBwYXJ0aWFsc2AgcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0geyp9IHRoaXNBcmcgVGhlIGB0aGlzYCBiaW5kaW5nIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXJ0aWFscyBUaGUgYXJndW1lbnRzIHRvIHByZXBlbmQgdG8gdGhvc2UgcHJvdmlkZWQgdG9cbiAgICAgKiAgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyB3cmFwcGVkIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZVBhcnRpYWwoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMpIHtcbiAgICAgIHZhciBpc0JpbmQgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcsXG4gICAgICAgICAgQ3RvciA9IGNyZWF0ZUN0b3IoZnVuYyk7XG5cbiAgICAgIGZ1bmN0aW9uIHdyYXBwZXIoKSB7XG4gICAgICAgIHZhciBhcmdzSW5kZXggPSAtMSxcbiAgICAgICAgICAgIGFyZ3NMZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoLFxuICAgICAgICAgICAgbGVmdEluZGV4ID0gLTEsXG4gICAgICAgICAgICBsZWZ0TGVuZ3RoID0gcGFydGlhbHMubGVuZ3RoLFxuICAgICAgICAgICAgYXJncyA9IEFycmF5KGxlZnRMZW5ndGggKyBhcmdzTGVuZ3RoKSxcbiAgICAgICAgICAgIGZuID0gKHRoaXMgJiYgdGhpcyAhPT0gcm9vdCAmJiB0aGlzIGluc3RhbmNlb2Ygd3JhcHBlcikgPyBDdG9yIDogZnVuYztcblxuICAgICAgICB3aGlsZSAoKytsZWZ0SW5kZXggPCBsZWZ0TGVuZ3RoKSB7XG4gICAgICAgICAgYXJnc1tsZWZ0SW5kZXhdID0gcGFydGlhbHNbbGVmdEluZGV4XTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoYXJnc0xlbmd0aC0tKSB7XG4gICAgICAgICAgYXJnc1tsZWZ0SW5kZXgrK10gPSBhcmd1bWVudHNbKythcmdzSW5kZXhdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhcHBseShmbiwgaXNCaW5kID8gdGhpc0FyZyA6IHRoaXMsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHdyYXBwZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLnJhbmdlYCBvciBgXy5yYW5nZVJpZ2h0YCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbZnJvbVJpZ2h0XSBTcGVjaWZ5IGl0ZXJhdGluZyBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmFuZ2UgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmFuZ2UoZnJvbVJpZ2h0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oc3RhcnQsIGVuZCwgc3RlcCkge1xuICAgICAgICBpZiAoc3RlcCAmJiB0eXBlb2Ygc3RlcCAhPSAnbnVtYmVyJyAmJiBpc0l0ZXJhdGVlQ2FsbChzdGFydCwgZW5kLCBzdGVwKSkge1xuICAgICAgICAgIGVuZCA9IHN0ZXAgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBzaWduIG9mIGAtMGAgaXMgcHJlc2VydmVkLlxuICAgICAgICBzdGFydCA9IHRvRmluaXRlKHN0YXJ0KTtcbiAgICAgICAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZW5kID0gc3RhcnQ7XG4gICAgICAgICAgc3RhcnQgPSAwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVuZCA9IHRvRmluaXRlKGVuZCk7XG4gICAgICAgIH1cbiAgICAgICAgc3RlcCA9IHN0ZXAgPT09IHVuZGVmaW5lZCA/IChzdGFydCA8IGVuZCA/IDEgOiAtMSkgOiB0b0Zpbml0ZShzdGVwKTtcbiAgICAgICAgcmV0dXJuIGJhc2VSYW5nZShzdGFydCwgZW5kLCBzdGVwLCBmcm9tUmlnaHQpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBwZXJmb3JtcyBhIHJlbGF0aW9uYWwgb3BlcmF0aW9uIG9uIHR3byB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IG9wZXJhdG9yIFRoZSBmdW5jdGlvbiB0byBwZXJmb3JtIHRoZSBvcGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVsYXRpb25hbCBvcGVyYXRpb24gZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihvcGVyYXRvcikge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHZhbHVlLCBvdGhlcikge1xuICAgICAgICBpZiAoISh0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgJiYgdHlwZW9mIG90aGVyID09ICdzdHJpbmcnKSkge1xuICAgICAgICAgIHZhbHVlID0gdG9OdW1iZXIodmFsdWUpO1xuICAgICAgICAgIG90aGVyID0gdG9OdW1iZXIob3RoZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvcGVyYXRvcih2YWx1ZSwgb3RoZXIpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCB3cmFwcyBgZnVuY2AgdG8gY29udGludWUgY3VycnlpbmcuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB3cmFwRnVuYyBUaGUgZnVuY3Rpb24gdG8gY3JlYXRlIHRoZSBgZnVuY2Agd3JhcHBlci5cbiAgICAgKiBAcGFyYW0geyp9IHBsYWNlaG9sZGVyIFRoZSBwbGFjZWhvbGRlciB2YWx1ZS5cbiAgICAgKiBAcGFyYW0geyp9IFt0aGlzQXJnXSBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBwcmVwZW5kIHRvIHRob3NlIHByb3ZpZGVkIHRvXG4gICAgICogIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2hvbGRlcnNdIFRoZSBgcGFydGlhbHNgIHBsYWNlaG9sZGVyIGluZGV4ZXMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW2FyZ1Bvc10gVGhlIGFyZ3VtZW50IHBvc2l0aW9ucyBvZiB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJ5XSBUaGUgYXJpdHkgY2FwIG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHdyYXBwZWQgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlUmVjdXJyeShmdW5jLCBiaXRtYXNrLCB3cmFwRnVuYywgcGxhY2Vob2xkZXIsIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeSwgYXJpdHkpIHtcbiAgICAgIHZhciBpc0N1cnJ5ID0gYml0bWFzayAmIFdSQVBfQ1VSUllfRkxBRyxcbiAgICAgICAgICBuZXdIb2xkZXJzID0gaXNDdXJyeSA/IGhvbGRlcnMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3SG9sZGVyc1JpZ2h0ID0gaXNDdXJyeSA/IHVuZGVmaW5lZCA6IGhvbGRlcnMsXG4gICAgICAgICAgbmV3UGFydGlhbHMgPSBpc0N1cnJ5ID8gcGFydGlhbHMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbmV3UGFydGlhbHNSaWdodCA9IGlzQ3VycnkgPyB1bmRlZmluZWQgOiBwYXJ0aWFscztcblxuICAgICAgYml0bWFzayB8PSAoaXNDdXJyeSA/IFdSQVBfUEFSVElBTF9GTEFHIDogV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgYml0bWFzayAmPSB+KGlzQ3VycnkgPyBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRyA6IFdSQVBfUEFSVElBTF9GTEFHKTtcblxuICAgICAgaWYgKCEoYml0bWFzayAmIFdSQVBfQ1VSUllfQk9VTkRfRkxBRykpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfQklORF9GTEFHIHwgV1JBUF9CSU5EX0tFWV9GTEFHKTtcbiAgICAgIH1cbiAgICAgIHZhciBuZXdEYXRhID0gW1xuICAgICAgICBmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBuZXdQYXJ0aWFscywgbmV3SG9sZGVycywgbmV3UGFydGlhbHNSaWdodCxcbiAgICAgICAgbmV3SG9sZGVyc1JpZ2h0LCBhcmdQb3MsIGFyeSwgYXJpdHlcbiAgICAgIF07XG5cbiAgICAgIHZhciByZXN1bHQgPSB3cmFwRnVuYy5hcHBseSh1bmRlZmluZWQsIG5ld0RhdGEpO1xuICAgICAgaWYgKGlzTGF6aWFibGUoZnVuYykpIHtcbiAgICAgICAgc2V0RGF0YShyZXN1bHQsIG5ld0RhdGEpO1xuICAgICAgfVxuICAgICAgcmVzdWx0LnBsYWNlaG9sZGVyID0gcGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHJlc3VsdCwgZnVuYywgYml0bWFzayk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIGxpa2UgYF8ucm91bmRgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kTmFtZSBUaGUgbmFtZSBvZiB0aGUgYE1hdGhgIG1ldGhvZCB0byB1c2Ugd2hlbiByb3VuZGluZy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByb3VuZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVSb3VuZChtZXRob2ROYW1lKSB7XG4gICAgICB2YXIgZnVuYyA9IE1hdGhbbWV0aG9kTmFtZV07XG4gICAgICByZXR1cm4gZnVuY3Rpb24obnVtYmVyLCBwcmVjaXNpb24pIHtcbiAgICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgICAgcHJlY2lzaW9uID0gcHJlY2lzaW9uID09IG51bGwgPyAwIDogbmF0aXZlTWluKHRvSW50ZWdlcihwcmVjaXNpb24pLCAyOTIpO1xuICAgICAgICBpZiAocHJlY2lzaW9uICYmIG5hdGl2ZUlzRmluaXRlKG51bWJlcikpIHtcbiAgICAgICAgICAvLyBTaGlmdCB3aXRoIGV4cG9uZW50aWFsIG5vdGF0aW9uIHRvIGF2b2lkIGZsb2F0aW5nLXBvaW50IGlzc3Vlcy5cbiAgICAgICAgICAvLyBTZWUgW01ETl0oaHR0cHM6Ly9tZG4uaW8vcm91bmQjRXhhbXBsZXMpIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICAgICAgdmFyIHBhaXIgPSAodG9TdHJpbmcobnVtYmVyKSArICdlJykuc3BsaXQoJ2UnKSxcbiAgICAgICAgICAgICAgdmFsdWUgPSBmdW5jKHBhaXJbMF0gKyAnZScgKyAoK3BhaXJbMV0gKyBwcmVjaXNpb24pKTtcblxuICAgICAgICAgIHBhaXIgPSAodG9TdHJpbmcodmFsdWUpICsgJ2UnKS5zcGxpdCgnZScpO1xuICAgICAgICAgIHJldHVybiArKHBhaXJbMF0gKyAnZScgKyAoK3BhaXJbMV0gLSBwcmVjaXNpb24pKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZnVuYyhudW1iZXIpO1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2V0IG9iamVjdCBvZiBgdmFsdWVzYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gYWRkIHRvIHRoZSBzZXQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IHNldC5cbiAgICAgKi9cbiAgICB2YXIgY3JlYXRlU2V0ID0gIShTZXQgJiYgKDEgLyBzZXRUb0FycmF5KG5ldyBTZXQoWywtMF0pKVsxXSkgPT0gSU5GSU5JVFkpID8gbm9vcCA6IGZ1bmN0aW9uKHZhbHVlcykge1xuICAgICAgcmV0dXJuIG5ldyBTZXQodmFsdWVzKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGBfLnRvUGFpcnNgIG9yIGBfLnRvUGFpcnNJbmAgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGtleXNGdW5jIFRoZSBmdW5jdGlvbiB0byBnZXQgdGhlIGtleXMgb2YgYSBnaXZlbiBvYmplY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFpcnMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3JlYXRlVG9QYWlycyhrZXlzRnVuYykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICB2YXIgdGFnID0gZ2V0VGFnKG9iamVjdCk7XG4gICAgICAgIGlmICh0YWcgPT0gbWFwVGFnKSB7XG4gICAgICAgICAgcmV0dXJuIG1hcFRvQXJyYXkob2JqZWN0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFnID09IHNldFRhZykge1xuICAgICAgICAgIHJldHVybiBzZXRUb1BhaXJzKG9iamVjdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJhc2VUb1BhaXJzKG9iamVjdCwga2V5c0Z1bmMob2JqZWN0KSk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGVpdGhlciBjdXJyaWVzIG9yIGludm9rZXMgYGZ1bmNgIHdpdGggb3B0aW9uYWxcbiAgICAgKiBgdGhpc2AgYmluZGluZyBhbmQgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gZnVuYyBUaGUgZnVuY3Rpb24gb3IgbWV0aG9kIG5hbWUgdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYml0bWFzayBUaGUgYml0bWFzayBmbGFncy5cbiAgICAgKiAgICAxIC0gYF8uYmluZGBcbiAgICAgKiAgICAyIC0gYF8uYmluZEtleWBcbiAgICAgKiAgICA0IC0gYF8uY3VycnlgIG9yIGBfLmN1cnJ5UmlnaHRgIG9mIGEgYm91bmQgZnVuY3Rpb25cbiAgICAgKiAgICA4IC0gYF8uY3VycnlgXG4gICAgICogICAxNiAtIGBfLmN1cnJ5UmlnaHRgXG4gICAgICogICAzMiAtIGBfLnBhcnRpYWxgXG4gICAgICogICA2NCAtIGBfLnBhcnRpYWxSaWdodGBcbiAgICAgKiAgMTI4IC0gYF8ucmVhcmdgXG4gICAgICogIDI1NiAtIGBfLmFyeWBcbiAgICAgKiAgNTEyIC0gYF8uZmxpcGBcbiAgICAgKiBAcGFyYW0geyp9IFt0aGlzQXJnXSBUaGUgYHRoaXNgIGJpbmRpbmcgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbaG9sZGVyc10gVGhlIGBwYXJ0aWFsc2AgcGxhY2Vob2xkZXIgaW5kZXhlcy5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBbYXJnUG9zXSBUaGUgYXJndW1lbnQgcG9zaXRpb25zIG9mIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcnldIFRoZSBhcml0eSBjYXAgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJpdHldIFRoZSBhcml0eSBvZiBgZnVuY2AuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgd3JhcHBlZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVXcmFwKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzLCBob2xkZXJzLCBhcmdQb3MsIGFyeSwgYXJpdHkpIHtcbiAgICAgIHZhciBpc0JpbmRLZXkgPSBiaXRtYXNrICYgV1JBUF9CSU5EX0tFWV9GTEFHO1xuICAgICAgaWYgKCFpc0JpbmRLZXkgJiYgdHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gcGFydGlhbHMgPyBwYXJ0aWFscy5sZW5ndGggOiAwO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgYml0bWFzayAmPSB+KFdSQVBfUEFSVElBTF9GTEFHIHwgV1JBUF9QQVJUSUFMX1JJR0hUX0ZMQUcpO1xuICAgICAgICBwYXJ0aWFscyA9IGhvbGRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICBhcnkgPSBhcnkgPT09IHVuZGVmaW5lZCA/IGFyeSA6IG5hdGl2ZU1heCh0b0ludGVnZXIoYXJ5KSwgMCk7XG4gICAgICBhcml0eSA9IGFyaXR5ID09PSB1bmRlZmluZWQgPyBhcml0eSA6IHRvSW50ZWdlcihhcml0eSk7XG4gICAgICBsZW5ndGggLT0gaG9sZGVycyA/IGhvbGRlcnMubGVuZ3RoIDogMDtcblxuICAgICAgaWYgKGJpdG1hc2sgJiBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRykge1xuICAgICAgICB2YXIgcGFydGlhbHNSaWdodCA9IHBhcnRpYWxzLFxuICAgICAgICAgICAgaG9sZGVyc1JpZ2h0ID0gaG9sZGVycztcblxuICAgICAgICBwYXJ0aWFscyA9IGhvbGRlcnMgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB2YXIgZGF0YSA9IGlzQmluZEtleSA/IHVuZGVmaW5lZCA6IGdldERhdGEoZnVuYyk7XG5cbiAgICAgIHZhciBuZXdEYXRhID0gW1xuICAgICAgICBmdW5jLCBiaXRtYXNrLCB0aGlzQXJnLCBwYXJ0aWFscywgaG9sZGVycywgcGFydGlhbHNSaWdodCwgaG9sZGVyc1JpZ2h0LFxuICAgICAgICBhcmdQb3MsIGFyeSwgYXJpdHlcbiAgICAgIF07XG5cbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIG1lcmdlRGF0YShuZXdEYXRhLCBkYXRhKTtcbiAgICAgIH1cbiAgICAgIGZ1bmMgPSBuZXdEYXRhWzBdO1xuICAgICAgYml0bWFzayA9IG5ld0RhdGFbMV07XG4gICAgICB0aGlzQXJnID0gbmV3RGF0YVsyXTtcbiAgICAgIHBhcnRpYWxzID0gbmV3RGF0YVszXTtcbiAgICAgIGhvbGRlcnMgPSBuZXdEYXRhWzRdO1xuICAgICAgYXJpdHkgPSBuZXdEYXRhWzldID0gbmV3RGF0YVs5XSA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gKGlzQmluZEtleSA/IDAgOiBmdW5jLmxlbmd0aClcbiAgICAgICAgOiBuYXRpdmVNYXgobmV3RGF0YVs5XSAtIGxlbmd0aCwgMCk7XG5cbiAgICAgIGlmICghYXJpdHkgJiYgYml0bWFzayAmIChXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpKSB7XG4gICAgICAgIGJpdG1hc2sgJj0gfihXUkFQX0NVUlJZX0ZMQUcgfCBXUkFQX0NVUlJZX1JJR0hUX0ZMQUcpO1xuICAgICAgfVxuICAgICAgaWYgKCFiaXRtYXNrIHx8IGJpdG1hc2sgPT0gV1JBUF9CSU5EX0ZMQUcpIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IGNyZWF0ZUJpbmQoZnVuYywgYml0bWFzaywgdGhpc0FyZyk7XG4gICAgICB9IGVsc2UgaWYgKGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9GTEFHIHx8IGJpdG1hc2sgPT0gV1JBUF9DVVJSWV9SSUdIVF9GTEFHKSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZUN1cnJ5KGZ1bmMsIGJpdG1hc2ssIGFyaXR5KTtcbiAgICAgIH0gZWxzZSBpZiAoKGJpdG1hc2sgPT0gV1JBUF9QQVJUSUFMX0ZMQUcgfHwgYml0bWFzayA9PSAoV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX1BBUlRJQUxfRkxBRykpICYmICFob2xkZXJzLmxlbmd0aCkge1xuICAgICAgICByZXN1bHQgPSBjcmVhdGVQYXJ0aWFsKGZ1bmMsIGJpdG1hc2ssIHRoaXNBcmcsIHBhcnRpYWxzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IGNyZWF0ZUh5YnJpZC5hcHBseSh1bmRlZmluZWQsIG5ld0RhdGEpO1xuICAgICAgfVxuICAgICAgdmFyIHNldHRlciA9IGRhdGEgPyBiYXNlU2V0RGF0YSA6IHNldERhdGE7XG4gICAgICByZXR1cm4gc2V0V3JhcFRvU3RyaW5nKHNldHRlcihyZXN1bHQsIG5ld0RhdGEpLCBmdW5jLCBiaXRtYXNrKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVc2VkIGJ5IGBfLmRlZmF1bHRzYCB0byBjdXN0b21pemUgaXRzIGBfLmFzc2lnbkluYCB1c2UgdG8gYXNzaWduIHByb3BlcnRpZXNcbiAgICAgKiBvZiBzb3VyY2Ugb2JqZWN0cyB0byB0aGUgZGVzdGluYXRpb24gb2JqZWN0IGZvciBhbGwgZGVzdGluYXRpb24gcHJvcGVydGllc1xuICAgICAqIHRoYXQgcmVzb2x2ZSB0byBgdW5kZWZpbmVkYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSBvYmpWYWx1ZSBUaGUgZGVzdGluYXRpb24gdmFsdWUuXG4gICAgICogQHBhcmFtIHsqfSBzcmNWYWx1ZSBUaGUgc291cmNlIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gYXNzaWduLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHBhcmVudCBvYmplY3Qgb2YgYG9ialZhbHVlYC5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgdmFsdWUgdG8gYXNzaWduLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGN1c3RvbURlZmF1bHRzQXNzaWduSW4ob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCkge1xuICAgICAgaWYgKG9ialZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAoZXEob2JqVmFsdWUsIG9iamVjdFByb3RvW2tleV0pICYmICFoYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwga2V5KSkpIHtcbiAgICAgICAgcmV0dXJuIHNyY1ZhbHVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8uZGVmYXVsdHNEZWVwYCB0byBjdXN0b21pemUgaXRzIGBfLm1lcmdlYCB1c2UgdG8gbWVyZ2Ugc291cmNlXG4gICAgICogb2JqZWN0cyBpbnRvIGRlc3RpbmF0aW9uIG9iamVjdHMgdGhhdCBhcmUgcGFzc2VkIHRocnUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gb2JqVmFsdWUgVGhlIGRlc3RpbmF0aW9uIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHNvdXJjZSB2YWx1ZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIG1lcmdlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHBhcmVudCBvYmplY3Qgb2YgYG9ialZhbHVlYC5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBwYXJlbnQgb2JqZWN0IG9mIGBzcmNWYWx1ZWAuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtzdGFja10gVHJhY2tzIHRyYXZlcnNlZCBzb3VyY2UgdmFsdWVzIGFuZCB0aGVpciBtZXJnZWRcbiAgICAgKiAgY291bnRlcnBhcnRzLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSB2YWx1ZSB0byBhc3NpZ24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VzdG9tRGVmYXVsdHNNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UsIHN0YWNrKSB7XG4gICAgICBpZiAoaXNPYmplY3Qob2JqVmFsdWUpICYmIGlzT2JqZWN0KHNyY1ZhbHVlKSkge1xuICAgICAgICAvLyBSZWN1cnNpdmVseSBtZXJnZSBvYmplY3RzIGFuZCBhcnJheXMgKHN1c2NlcHRpYmxlIHRvIGNhbGwgc3RhY2sgbGltaXRzKS5cbiAgICAgICAgc3RhY2suc2V0KHNyY1ZhbHVlLCBvYmpWYWx1ZSk7XG4gICAgICAgIGJhc2VNZXJnZShvYmpWYWx1ZSwgc3JjVmFsdWUsIHVuZGVmaW5lZCwgY3VzdG9tRGVmYXVsdHNNZXJnZSwgc3RhY2spO1xuICAgICAgICBzdGFja1snZGVsZXRlJ10oc3JjVmFsdWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVzZWQgYnkgYF8ub21pdGAgdG8gY3VzdG9taXplIGl0cyBgXy5jbG9uZURlZXBgIHVzZSB0byBvbmx5IGNsb25lIHBsYWluXG4gICAgICogb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHByb3BlcnR5IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHVuY2xvbmVkIHZhbHVlIG9yIGB1bmRlZmluZWRgIHRvIGRlZmVyIGNsb25pbmcgdG8gYF8uY2xvbmVEZWVwYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXN0b21PbWl0Q2xvbmUodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc1BsYWluT2JqZWN0KHZhbHVlKSA/IHVuZGVmaW5lZCA6IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgYmFzZUlzRXF1YWxEZWVwYCBmb3IgYXJyYXlzIHdpdGggc3VwcG9ydCBmb3JcbiAgICAgKiBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IG90aGVyIFRoZSBvdGhlciBhcnJheSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGJhc2VJc0VxdWFsYCBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBlcXVhbEZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRldGVybWluZSBlcXVpdmFsZW50cyBvZiB2YWx1ZXMuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHN0YWNrIFRyYWNrcyB0cmF2ZXJzZWQgYGFycmF5YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgYXJyYXlzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXF1YWxBcnJheXMoYXJyYXksIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLFxuICAgICAgICAgIGFyckxlbmd0aCA9IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICBvdGhMZW5ndGggPSBvdGhlci5sZW5ndGg7XG5cbiAgICAgIGlmIChhcnJMZW5ndGggIT0gb3RoTGVuZ3RoICYmICEoaXNQYXJ0aWFsICYmIG90aExlbmd0aCA+IGFyckxlbmd0aCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgLy8gQXNzdW1lIGN5Y2xpYyB2YWx1ZXMgYXJlIGVxdWFsLlxuICAgICAgdmFyIHN0YWNrZWQgPSBzdGFjay5nZXQoYXJyYXkpO1xuICAgICAgaWYgKHN0YWNrZWQgJiYgc3RhY2suZ2V0KG90aGVyKSkge1xuICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIHJlc3VsdCA9IHRydWUsXG4gICAgICAgICAgc2VlbiA9IChiaXRtYXNrICYgQ09NUEFSRV9VTk9SREVSRURfRkxBRykgPyBuZXcgU2V0Q2FjaGUgOiB1bmRlZmluZWQ7XG5cbiAgICAgIHN0YWNrLnNldChhcnJheSwgb3RoZXIpO1xuICAgICAgc3RhY2suc2V0KG90aGVyLCBhcnJheSk7XG5cbiAgICAgIC8vIElnbm9yZSBub24taW5kZXggcHJvcGVydGllcy5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgYXJyTGVuZ3RoKSB7XG4gICAgICAgIHZhciBhcnJWYWx1ZSA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICAgIG90aFZhbHVlID0gb3RoZXJbaW5kZXhdO1xuXG4gICAgICAgIGlmIChjdXN0b21pemVyKSB7XG4gICAgICAgICAgdmFyIGNvbXBhcmVkID0gaXNQYXJ0aWFsXG4gICAgICAgICAgICA/IGN1c3RvbWl6ZXIob3RoVmFsdWUsIGFyclZhbHVlLCBpbmRleCwgb3RoZXIsIGFycmF5LCBzdGFjaylcbiAgICAgICAgICAgIDogY3VzdG9taXplcihhcnJWYWx1ZSwgb3RoVmFsdWUsIGluZGV4LCBhcnJheSwgb3RoZXIsIHN0YWNrKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29tcGFyZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChjb21wYXJlZCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc3VsdCA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbXBhcmUgYXJyYXlzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgIGlmIChzZWVuKSB7XG4gICAgICAgICAgaWYgKCFhcnJheVNvbWUob3RoZXIsIGZ1bmN0aW9uKG90aFZhbHVlLCBvdGhJbmRleCkge1xuICAgICAgICAgICAgICAgIGlmICghY2FjaGVIYXMoc2Vlbiwgb3RoSW5kZXgpICYmXG4gICAgICAgICAgICAgICAgICAgIChhcnJWYWx1ZSA9PT0gb3RoVmFsdWUgfHwgZXF1YWxGdW5jKGFyclZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spKSkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlZW4ucHVzaChvdGhJbmRleCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoIShcbiAgICAgICAgICAgICAgYXJyVmFsdWUgPT09IG90aFZhbHVlIHx8XG4gICAgICAgICAgICAgICAgZXF1YWxGdW5jKGFyclZhbHVlLCBvdGhWYWx1ZSwgYml0bWFzaywgY3VzdG9taXplciwgc3RhY2spXG4gICAgICAgICAgICApKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN0YWNrWydkZWxldGUnXShhcnJheSk7XG4gICAgICBzdGFja1snZGVsZXRlJ10ob3RoZXIpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VJc0VxdWFsRGVlcGAgZm9yIGNvbXBhcmluZyBvYmplY3RzIG9mXG4gICAgICogdGhlIHNhbWUgYHRvU3RyaW5nVGFnYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIGZ1bmN0aW9uIG9ubHkgc3VwcG9ydHMgY29tcGFyaW5nIHZhbHVlcyB3aXRoIHRhZ3Mgb2ZcbiAgICAgKiBgQm9vbGVhbmAsIGBEYXRlYCwgYEVycm9yYCwgYE51bWJlcmAsIGBSZWdFeHBgLCBvciBgU3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG90aGVyIFRoZSBvdGhlciBvYmplY3QgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGFnIFRoZSBgdG9TdHJpbmdUYWdgIG9mIHRoZSBvYmplY3RzIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxdWFsQnlUYWcob2JqZWN0LCBvdGhlciwgdGFnLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgICBjYXNlIGRhdGFWaWV3VGFnOlxuICAgICAgICAgIGlmICgob2JqZWN0LmJ5dGVMZW5ndGggIT0gb3RoZXIuYnl0ZUxlbmd0aCkgfHxcbiAgICAgICAgICAgICAgKG9iamVjdC5ieXRlT2Zmc2V0ICE9IG90aGVyLmJ5dGVPZmZzZXQpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9iamVjdCA9IG9iamVjdC5idWZmZXI7XG4gICAgICAgICAgb3RoZXIgPSBvdGhlci5idWZmZXI7XG5cbiAgICAgICAgY2FzZSBhcnJheUJ1ZmZlclRhZzpcbiAgICAgICAgICBpZiAoKG9iamVjdC5ieXRlTGVuZ3RoICE9IG90aGVyLmJ5dGVMZW5ndGgpIHx8XG4gICAgICAgICAgICAgICFlcXVhbEZ1bmMobmV3IFVpbnQ4QXJyYXkob2JqZWN0KSwgbmV3IFVpbnQ4QXJyYXkob3RoZXIpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcblxuICAgICAgICBjYXNlIGJvb2xUYWc6XG4gICAgICAgIGNhc2UgZGF0ZVRhZzpcbiAgICAgICAgY2FzZSBudW1iZXJUYWc6XG4gICAgICAgICAgLy8gQ29lcmNlIGJvb2xlYW5zIHRvIGAxYCBvciBgMGAgYW5kIGRhdGVzIHRvIG1pbGxpc2Vjb25kcy5cbiAgICAgICAgICAvLyBJbnZhbGlkIGRhdGVzIGFyZSBjb2VyY2VkIHRvIGBOYU5gLlxuICAgICAgICAgIHJldHVybiBlcSgrb2JqZWN0LCArb3RoZXIpO1xuXG4gICAgICAgIGNhc2UgZXJyb3JUYWc6XG4gICAgICAgICAgcmV0dXJuIG9iamVjdC5uYW1lID09IG90aGVyLm5hbWUgJiYgb2JqZWN0Lm1lc3NhZ2UgPT0gb3RoZXIubWVzc2FnZTtcblxuICAgICAgICBjYXNlIHJlZ2V4cFRhZzpcbiAgICAgICAgY2FzZSBzdHJpbmdUYWc6XG4gICAgICAgICAgLy8gQ29lcmNlIHJlZ2V4ZXMgdG8gc3RyaW5ncyBhbmQgdHJlYXQgc3RyaW5ncywgcHJpbWl0aXZlcyBhbmQgb2JqZWN0cyxcbiAgICAgICAgICAvLyBhcyBlcXVhbC4gU2VlIGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1yZWdleHAucHJvdG90eXBlLnRvc3RyaW5nXG4gICAgICAgICAgLy8gZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgICAgICByZXR1cm4gb2JqZWN0ID09IChvdGhlciArICcnKTtcblxuICAgICAgICBjYXNlIG1hcFRhZzpcbiAgICAgICAgICB2YXIgY29udmVydCA9IG1hcFRvQXJyYXk7XG5cbiAgICAgICAgY2FzZSBzZXRUYWc6XG4gICAgICAgICAgdmFyIGlzUGFydGlhbCA9IGJpdG1hc2sgJiBDT01QQVJFX1BBUlRJQUxfRkxBRztcbiAgICAgICAgICBjb252ZXJ0IHx8IChjb252ZXJ0ID0gc2V0VG9BcnJheSk7XG5cbiAgICAgICAgICBpZiAob2JqZWN0LnNpemUgIT0gb3RoZXIuc2l6ZSAmJiAhaXNQYXJ0aWFsKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFzc3VtZSBjeWNsaWMgdmFsdWVzIGFyZSBlcXVhbC5cbiAgICAgICAgICB2YXIgc3RhY2tlZCA9IHN0YWNrLmdldChvYmplY3QpO1xuICAgICAgICAgIGlmIChzdGFja2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RhY2tlZCA9PSBvdGhlcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgYml0bWFzayB8PSBDT01QQVJFX1VOT1JERVJFRF9GTEFHO1xuXG4gICAgICAgICAgLy8gUmVjdXJzaXZlbHkgY29tcGFyZSBvYmplY3RzIChzdXNjZXB0aWJsZSB0byBjYWxsIHN0YWNrIGxpbWl0cykuXG4gICAgICAgICAgc3RhY2suc2V0KG9iamVjdCwgb3RoZXIpO1xuICAgICAgICAgIHZhciByZXN1bHQgPSBlcXVhbEFycmF5cyhjb252ZXJ0KG9iamVjdCksIGNvbnZlcnQob3RoZXIpLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKTtcbiAgICAgICAgICBzdGFja1snZGVsZXRlJ10ob2JqZWN0KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuXG4gICAgICAgIGNhc2Ugc3ltYm9sVGFnOlxuICAgICAgICAgIGlmIChzeW1ib2xWYWx1ZU9mKSB7XG4gICAgICAgICAgICByZXR1cm4gc3ltYm9sVmFsdWVPZi5jYWxsKG9iamVjdCkgPT0gc3ltYm9sVmFsdWVPZi5jYWxsKG90aGVyKTtcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBiYXNlSXNFcXVhbERlZXBgIGZvciBvYmplY3RzIHdpdGggc3VwcG9ydCBmb3JcbiAgICAgKiBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvdGhlciBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgYmFzZUlzRXF1YWxgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gY3VzdG9taXplciBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGNvbXBhcmlzb25zLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGVxdWFsRnVuYyBUaGUgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lIGVxdWl2YWxlbnRzIG9mIHZhbHVlcy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc3RhY2sgVHJhY2tzIHRyYXZlcnNlZCBgb2JqZWN0YCBhbmQgYG90aGVyYCBvYmplY3RzLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgb2JqZWN0cyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGVxdWFsT2JqZWN0cyhvYmplY3QsIG90aGVyLCBiaXRtYXNrLCBjdXN0b21pemVyLCBlcXVhbEZ1bmMsIHN0YWNrKSB7XG4gICAgICB2YXIgaXNQYXJ0aWFsID0gYml0bWFzayAmIENPTVBBUkVfUEFSVElBTF9GTEFHLFxuICAgICAgICAgIG9ialByb3BzID0gZ2V0QWxsS2V5cyhvYmplY3QpLFxuICAgICAgICAgIG9iakxlbmd0aCA9IG9ialByb3BzLmxlbmd0aCxcbiAgICAgICAgICBvdGhQcm9wcyA9IGdldEFsbEtleXMob3RoZXIpLFxuICAgICAgICAgIG90aExlbmd0aCA9IG90aFByb3BzLmxlbmd0aDtcblxuICAgICAgaWYgKG9iakxlbmd0aCAhPSBvdGhMZW5ndGggJiYgIWlzUGFydGlhbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBvYmpMZW5ndGg7XG4gICAgICB3aGlsZSAoaW5kZXgtLSkge1xuICAgICAgICB2YXIga2V5ID0gb2JqUHJvcHNbaW5kZXhdO1xuICAgICAgICBpZiAoIShpc1BhcnRpYWwgPyBrZXkgaW4gb3RoZXIgOiBoYXNPd25Qcm9wZXJ0eS5jYWxsKG90aGVyLCBrZXkpKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gQXNzdW1lIGN5Y2xpYyB2YWx1ZXMgYXJlIGVxdWFsLlxuICAgICAgdmFyIHN0YWNrZWQgPSBzdGFjay5nZXQob2JqZWN0KTtcbiAgICAgIGlmIChzdGFja2VkICYmIHN0YWNrLmdldChvdGhlcikpIHtcbiAgICAgICAgcmV0dXJuIHN0YWNrZWQgPT0gb3RoZXI7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgIHN0YWNrLnNldChvYmplY3QsIG90aGVyKTtcbiAgICAgIHN0YWNrLnNldChvdGhlciwgb2JqZWN0KTtcblxuICAgICAgdmFyIHNraXBDdG9yID0gaXNQYXJ0aWFsO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBvYmpMZW5ndGgpIHtcbiAgICAgICAga2V5ID0gb2JqUHJvcHNbaW5kZXhdO1xuICAgICAgICB2YXIgb2JqVmFsdWUgPSBvYmplY3Rba2V5XSxcbiAgICAgICAgICAgIG90aFZhbHVlID0gb3RoZXJba2V5XTtcblxuICAgICAgICBpZiAoY3VzdG9taXplcikge1xuICAgICAgICAgIHZhciBjb21wYXJlZCA9IGlzUGFydGlhbFxuICAgICAgICAgICAgPyBjdXN0b21pemVyKG90aFZhbHVlLCBvYmpWYWx1ZSwga2V5LCBvdGhlciwgb2JqZWN0LCBzdGFjaylcbiAgICAgICAgICAgIDogY3VzdG9taXplcihvYmpWYWx1ZSwgb3RoVmFsdWUsIGtleSwgb2JqZWN0LCBvdGhlciwgc3RhY2spO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlY3Vyc2l2ZWx5IGNvbXBhcmUgb2JqZWN0cyAoc3VzY2VwdGlibGUgdG8gY2FsbCBzdGFjayBsaW1pdHMpLlxuICAgICAgICBpZiAoIShjb21wYXJlZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgID8gKG9ialZhbHVlID09PSBvdGhWYWx1ZSB8fCBlcXVhbEZ1bmMob2JqVmFsdWUsIG90aFZhbHVlLCBiaXRtYXNrLCBjdXN0b21pemVyLCBzdGFjaykpXG4gICAgICAgICAgICAgIDogY29tcGFyZWRcbiAgICAgICAgICAgICkpIHtcbiAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBza2lwQ3RvciB8fCAoc2tpcEN0b3IgPSBrZXkgPT0gJ2NvbnN0cnVjdG9yJyk7XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0ICYmICFza2lwQ3Rvcikge1xuICAgICAgICB2YXIgb2JqQ3RvciA9IG9iamVjdC5jb25zdHJ1Y3RvcixcbiAgICAgICAgICAgIG90aEN0b3IgPSBvdGhlci5jb25zdHJ1Y3RvcjtcblxuICAgICAgICAvLyBOb24gYE9iamVjdGAgb2JqZWN0IGluc3RhbmNlcyB3aXRoIGRpZmZlcmVudCBjb25zdHJ1Y3RvcnMgYXJlIG5vdCBlcXVhbC5cbiAgICAgICAgaWYgKG9iakN0b3IgIT0gb3RoQ3RvciAmJlxuICAgICAgICAgICAgKCdjb25zdHJ1Y3RvcicgaW4gb2JqZWN0ICYmICdjb25zdHJ1Y3RvcicgaW4gb3RoZXIpICYmXG4gICAgICAgICAgICAhKHR5cGVvZiBvYmpDdG9yID09ICdmdW5jdGlvbicgJiYgb2JqQ3RvciBpbnN0YW5jZW9mIG9iakN0b3IgJiZcbiAgICAgICAgICAgICAgdHlwZW9mIG90aEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBvdGhDdG9yIGluc3RhbmNlb2Ygb3RoQ3RvcikpIHtcbiAgICAgICAgICByZXN1bHQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RhY2tbJ2RlbGV0ZSddKG9iamVjdCk7XG4gICAgICBzdGFja1snZGVsZXRlJ10ob3RoZXIpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VSZXN0YCB3aGljaCBmbGF0dGVucyB0aGUgcmVzdCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gYXBwbHkgYSByZXN0IHBhcmFtZXRlciB0by5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0UmVzdChmdW5jKSB7XG4gICAgICByZXR1cm4gc2V0VG9TdHJpbmcob3ZlclJlc3QoZnVuYywgdW5kZWZpbmVkLCBmbGF0dGVuKSwgZnVuYyArICcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG93biBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIGFuZCBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyBhbmQgc3ltYm9scy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRBbGxLZXlzKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGJhc2VHZXRBbGxLZXlzKG9iamVjdCwga2V5cywgZ2V0U3ltYm9scyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBvd24gYW5kIGluaGVyaXRlZCBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIGFuZFxuICAgICAqIHN5bWJvbHMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzIGFuZCBzeW1ib2xzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldEFsbEtleXNJbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBiYXNlR2V0QWxsS2V5cyhvYmplY3QsIGtleXNJbiwgZ2V0U3ltYm9sc0luKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIG1ldGFkYXRhIGZvciBgZnVuY2AuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtZXRhZGF0YSBmb3IgYGZ1bmNgLlxuICAgICAqL1xuICAgIHZhciBnZXREYXRhID0gIW1ldGFNYXAgPyBub29wIDogZnVuY3Rpb24oZnVuYykge1xuICAgICAgcmV0dXJuIG1ldGFNYXAuZ2V0KGZ1bmMpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYW1lIG9mIGBmdW5jYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZnVuY3Rpb24gbmFtZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRGdW5jTmFtZShmdW5jKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gKGZ1bmMubmFtZSArICcnKSxcbiAgICAgICAgICBhcnJheSA9IHJlYWxOYW1lc1tyZXN1bHRdLFxuICAgICAgICAgIGxlbmd0aCA9IGhhc093blByb3BlcnR5LmNhbGwocmVhbE5hbWVzLCByZXN1bHQpID8gYXJyYXkubGVuZ3RoIDogMDtcblxuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBkYXRhID0gYXJyYXlbbGVuZ3RoXSxcbiAgICAgICAgICAgIG90aGVyRnVuYyA9IGRhdGEuZnVuYztcbiAgICAgICAgaWYgKG90aGVyRnVuYyA9PSBudWxsIHx8IG90aGVyRnVuYyA9PSBmdW5jKSB7XG4gICAgICAgICAgcmV0dXJuIGRhdGEubmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBhcmd1bWVudCBwbGFjZWhvbGRlciB2YWx1ZSBmb3IgYGZ1bmNgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwbGFjZWhvbGRlciB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRIb2xkZXIoZnVuYykge1xuICAgICAgdmFyIG9iamVjdCA9IGhhc093blByb3BlcnR5LmNhbGwobG9kYXNoLCAncGxhY2Vob2xkZXInKSA/IGxvZGFzaCA6IGZ1bmM7XG4gICAgICByZXR1cm4gb2JqZWN0LnBsYWNlaG9sZGVyO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGFwcHJvcHJpYXRlIFwiaXRlcmF0ZWVcIiBmdW5jdGlvbi4gSWYgYF8uaXRlcmF0ZWVgIGlzIGN1c3RvbWl6ZWQsXG4gICAgICogdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXN0b20gbWV0aG9kLCBvdGhlcndpc2UgaXQgcmV0dXJucyBgYmFzZUl0ZXJhdGVlYC5cbiAgICAgKiBJZiBhcmd1bWVudHMgYXJlIHByb3ZpZGVkLCB0aGUgY2hvc2VuIGZ1bmN0aW9uIGlzIGludm9rZWQgd2l0aCB0aGVtIGFuZFxuICAgICAqIGl0cyByZXN1bHQgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gW3ZhbHVlXSBUaGUgdmFsdWUgdG8gY29udmVydCB0byBhbiBpdGVyYXRlZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5XSBUaGUgYXJpdHkgb2YgdGhlIGNyZWF0ZWQgaXRlcmF0ZWUuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjaG9zZW4gZnVuY3Rpb24gb3IgaXRzIHJlc3VsdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRJdGVyYXRlZSgpIHtcbiAgICAgIHZhciByZXN1bHQgPSBsb2Rhc2guaXRlcmF0ZWUgfHwgaXRlcmF0ZWU7XG4gICAgICByZXN1bHQgPSByZXN1bHQgPT09IGl0ZXJhdGVlID8gYmFzZUl0ZXJhdGVlIDogcmVzdWx0O1xuICAgICAgcmV0dXJuIGFyZ3VtZW50cy5sZW5ndGggPyByZXN1bHQoYXJndW1lbnRzWzBdLCBhcmd1bWVudHNbMV0pIDogcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGRhdGEgZm9yIGBtYXBgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gbWFwIFRoZSBtYXAgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUgcmVmZXJlbmNlIGtleS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbWFwIGRhdGEuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0TWFwRGF0YShtYXAsIGtleSkge1xuICAgICAgdmFyIGRhdGEgPSBtYXAuX19kYXRhX187XG4gICAgICByZXR1cm4gaXNLZXlhYmxlKGtleSlcbiAgICAgICAgPyBkYXRhW3R5cGVvZiBrZXkgPT0gJ3N0cmluZycgPyAnc3RyaW5nJyA6ICdoYXNoJ11cbiAgICAgICAgOiBkYXRhLm1hcDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwcm9wZXJ0eSBuYW1lcywgdmFsdWVzLCBhbmQgY29tcGFyZSBmbGFncyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbWF0Y2ggZGF0YSBvZiBgb2JqZWN0YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRNYXRjaERhdGEob2JqZWN0KSB7XG4gICAgICB2YXIgcmVzdWx0ID0ga2V5cyhvYmplY3QpLFxuICAgICAgICAgIGxlbmd0aCA9IHJlc3VsdC5sZW5ndGg7XG5cbiAgICAgIHdoaWxlIChsZW5ndGgtLSkge1xuICAgICAgICB2YXIga2V5ID0gcmVzdWx0W2xlbmd0aF0sXG4gICAgICAgICAgICB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgIHJlc3VsdFtsZW5ndGhdID0gW2tleSwgdmFsdWUsIGlzU3RyaWN0Q29tcGFyYWJsZSh2YWx1ZSldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBuYXRpdmUgZnVuY3Rpb24gYXQgYGtleWAgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZCB0byBnZXQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZ1bmN0aW9uIGlmIGl0J3MgbmF0aXZlLCBlbHNlIGB1bmRlZmluZWRgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGdldE5hdGl2ZShvYmplY3QsIGtleSkge1xuICAgICAgdmFyIHZhbHVlID0gZ2V0VmFsdWUob2JqZWN0LCBrZXkpO1xuICAgICAgcmV0dXJuIGJhc2VJc05hdGl2ZSh2YWx1ZSkgPyB2YWx1ZSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VHZXRUYWdgIHdoaWNoIGlnbm9yZXMgYFN5bWJvbC50b1N0cmluZ1RhZ2AgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSByYXcgYHRvU3RyaW5nVGFnYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRSYXdUYWcodmFsdWUpIHtcbiAgICAgIHZhciBpc093biA9IGhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIHN5bVRvU3RyaW5nVGFnKSxcbiAgICAgICAgICB0YWcgPSB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ107XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHZhbHVlW3N5bVRvU3RyaW5nVGFnXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdmFyIHVubWFza2VkID0gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHt9XG5cbiAgICAgIHZhciByZXN1bHQgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgICAgIGlmICh1bm1hc2tlZCkge1xuICAgICAgICBpZiAoaXNPd24pIHtcbiAgICAgICAgICB2YWx1ZVtzeW1Ub1N0cmluZ1RhZ10gPSB0YWc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGVsZXRlIHZhbHVlW3N5bVRvU3RyaW5nVGFnXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHRoZSBvd24gZW51bWVyYWJsZSBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBzeW1ib2xzLlxuICAgICAqL1xuICAgIHZhciBnZXRTeW1ib2xzID0gIW5hdGl2ZUdldFN5bWJvbHMgPyBzdHViQXJyYXkgOiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIGlmIChvYmplY3QgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcbiAgICAgIHJldHVybiBhcnJheUZpbHRlcihuYXRpdmVHZXRTeW1ib2xzKG9iamVjdCksIGZ1bmN0aW9uKHN5bWJvbCkge1xuICAgICAgICByZXR1cm4gcHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChvYmplY3QsIHN5bWJvbCk7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzeW1ib2xzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBzeW1ib2xzLlxuICAgICAqL1xuICAgIHZhciBnZXRTeW1ib2xzSW4gPSAhbmF0aXZlR2V0U3ltYm9scyA/IHN0dWJBcnJheSA6IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgdmFyIHJlc3VsdCA9IFtdO1xuICAgICAgd2hpbGUgKG9iamVjdCkge1xuICAgICAgICBhcnJheVB1c2gocmVzdWx0LCBnZXRTeW1ib2xzKG9iamVjdCkpO1xuICAgICAgICBvYmplY3QgPSBnZXRQcm90b3R5cGUob2JqZWN0KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGB0b1N0cmluZ1RhZ2Agb2YgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgYHRvU3RyaW5nVGFnYC5cbiAgICAgKi9cbiAgICB2YXIgZ2V0VGFnID0gYmFzZUdldFRhZztcblxuICAgIC8vIEZhbGxiYWNrIGZvciBkYXRhIHZpZXdzLCBtYXBzLCBzZXRzLCBhbmQgd2VhayBtYXBzIGluIElFIDExIGFuZCBwcm9taXNlcyBpbiBOb2RlLmpzIDwgNi5cbiAgICBpZiAoKERhdGFWaWV3ICYmIGdldFRhZyhuZXcgRGF0YVZpZXcobmV3IEFycmF5QnVmZmVyKDEpKSkgIT0gZGF0YVZpZXdUYWcpIHx8XG4gICAgICAgIChNYXAgJiYgZ2V0VGFnKG5ldyBNYXApICE9IG1hcFRhZykgfHxcbiAgICAgICAgKFByb21pc2UgJiYgZ2V0VGFnKFByb21pc2UucmVzb2x2ZSgpKSAhPSBwcm9taXNlVGFnKSB8fFxuICAgICAgICAoU2V0ICYmIGdldFRhZyhuZXcgU2V0KSAhPSBzZXRUYWcpIHx8XG4gICAgICAgIChXZWFrTWFwICYmIGdldFRhZyhuZXcgV2Vha01hcCkgIT0gd2Vha01hcFRhZykpIHtcbiAgICAgIGdldFRhZyA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIHZhciByZXN1bHQgPSBiYXNlR2V0VGFnKHZhbHVlKSxcbiAgICAgICAgICAgIEN0b3IgPSByZXN1bHQgPT0gb2JqZWN0VGFnID8gdmFsdWUuY29uc3RydWN0b3IgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBjdG9yU3RyaW5nID0gQ3RvciA/IHRvU291cmNlKEN0b3IpIDogJyc7XG5cbiAgICAgICAgaWYgKGN0b3JTdHJpbmcpIHtcbiAgICAgICAgICBzd2l0Y2ggKGN0b3JTdHJpbmcpIHtcbiAgICAgICAgICAgIGNhc2UgZGF0YVZpZXdDdG9yU3RyaW5nOiByZXR1cm4gZGF0YVZpZXdUYWc7XG4gICAgICAgICAgICBjYXNlIG1hcEN0b3JTdHJpbmc6IHJldHVybiBtYXBUYWc7XG4gICAgICAgICAgICBjYXNlIHByb21pc2VDdG9yU3RyaW5nOiByZXR1cm4gcHJvbWlzZVRhZztcbiAgICAgICAgICAgIGNhc2Ugc2V0Q3RvclN0cmluZzogcmV0dXJuIHNldFRhZztcbiAgICAgICAgICAgIGNhc2Ugd2Vha01hcEN0b3JTdHJpbmc6IHJldHVybiB3ZWFrTWFwVGFnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB2aWV3LCBhcHBseWluZyBhbnkgYHRyYW5zZm9ybXNgIHRvIHRoZSBgc3RhcnRgIGFuZCBgZW5kYCBwb3NpdGlvbnMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdGFydCBUaGUgc3RhcnQgb2YgdGhlIHZpZXcuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSB2aWV3LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHRyYW5zZm9ybXMgVGhlIHRyYW5zZm9ybWF0aW9ucyB0byBhcHBseSB0byB0aGUgdmlldy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBgc3RhcnRgIGFuZCBgZW5kYFxuICAgICAqICBwb3NpdGlvbnMgb2YgdGhlIHZpZXcuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZ2V0VmlldyhzdGFydCwgZW5kLCB0cmFuc2Zvcm1zKSB7XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBsZW5ndGggPSB0cmFuc2Zvcm1zLmxlbmd0aDtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIGRhdGEgPSB0cmFuc2Zvcm1zW2luZGV4XSxcbiAgICAgICAgICAgIHNpemUgPSBkYXRhLnNpemU7XG5cbiAgICAgICAgc3dpdGNoIChkYXRhLnR5cGUpIHtcbiAgICAgICAgICBjYXNlICdkcm9wJzogICAgICBzdGFydCArPSBzaXplOyBicmVhaztcbiAgICAgICAgICBjYXNlICdkcm9wUmlnaHQnOiBlbmQgLT0gc2l6ZTsgYnJlYWs7XG4gICAgICAgICAgY2FzZSAndGFrZSc6ICAgICAgZW5kID0gbmF0aXZlTWluKGVuZCwgc3RhcnQgKyBzaXplKTsgYnJlYWs7XG4gICAgICAgICAgY2FzZSAndGFrZVJpZ2h0Jzogc3RhcnQgPSBuYXRpdmVNYXgoc3RhcnQsIGVuZCAtIHNpemUpOyBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHsgJ3N0YXJ0Jzogc3RhcnQsICdlbmQnOiBlbmQgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFeHRyYWN0cyB3cmFwcGVyIGRldGFpbHMgZnJvbSB0aGUgYHNvdXJjZWAgYm9keSBjb21tZW50LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc291cmNlIFRoZSBzb3VyY2UgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHdyYXBwZXIgZGV0YWlscy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXRXcmFwRGV0YWlscyhzb3VyY2UpIHtcbiAgICAgIHZhciBtYXRjaCA9IHNvdXJjZS5tYXRjaChyZVdyYXBEZXRhaWxzKTtcbiAgICAgIHJldHVybiBtYXRjaCA/IG1hdGNoWzFdLnNwbGl0KHJlU3BsaXREZXRhaWxzKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgcGF0aGAgZXhpc3RzIG9uIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggdG8gY2hlY2suXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaGFzRnVuYyBUaGUgZnVuY3Rpb24gdG8gY2hlY2sgcHJvcGVydGllcy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHBhdGhgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc1BhdGgob2JqZWN0LCBwYXRoLCBoYXNGdW5jKSB7XG4gICAgICBwYXRoID0gY2FzdFBhdGgocGF0aCwgb2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gcGF0aC5sZW5ndGgsXG4gICAgICAgICAgcmVzdWx0ID0gZmFsc2U7XG5cbiAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHZhciBrZXkgPSB0b0tleShwYXRoW2luZGV4XSk7XG4gICAgICAgIGlmICghKHJlc3VsdCA9IG9iamVjdCAhPSBudWxsICYmIGhhc0Z1bmMob2JqZWN0LCBrZXkpKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdCA9IG9iamVjdFtrZXldO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdCB8fCArK2luZGV4ICE9IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgbGVuZ3RoID0gb2JqZWN0ID09IG51bGwgPyAwIDogb2JqZWN0Lmxlbmd0aDtcbiAgICAgIHJldHVybiAhIWxlbmd0aCAmJiBpc0xlbmd0aChsZW5ndGgpICYmIGlzSW5kZXgoa2V5LCBsZW5ndGgpICYmXG4gICAgICAgIChpc0FycmF5KG9iamVjdCkgfHwgaXNBcmd1bWVudHMob2JqZWN0KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5pdGlhbGl6ZXMgYW4gYXJyYXkgY2xvbmUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGluaXRpYWxpemVkIGNsb25lLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluaXRDbG9uZUFycmF5KGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IG5ldyBhcnJheS5jb25zdHJ1Y3RvcihsZW5ndGgpO1xuXG4gICAgICAvLyBBZGQgcHJvcGVydGllcyBhc3NpZ25lZCBieSBgUmVnRXhwI2V4ZWNgLlxuICAgICAgaWYgKGxlbmd0aCAmJiB0eXBlb2YgYXJyYXlbMF0gPT0gJ3N0cmluZycgJiYgaGFzT3duUHJvcGVydHkuY2FsbChhcnJheSwgJ2luZGV4JykpIHtcbiAgICAgICAgcmVzdWx0LmluZGV4ID0gYXJyYXkuaW5kZXg7XG4gICAgICAgIHJlc3VsdC5pbnB1dCA9IGFycmF5LmlucHV0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyBhbiBvYmplY3QgY2xvbmUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBpbml0aWFsaXplZCBjbG9uZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbml0Q2xvbmVPYmplY3Qob2JqZWN0KSB7XG4gICAgICByZXR1cm4gKHR5cGVvZiBvYmplY3QuY29uc3RydWN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNQcm90b3R5cGUob2JqZWN0KSlcbiAgICAgICAgPyBiYXNlQ3JlYXRlKGdldFByb3RvdHlwZShvYmplY3QpKVxuICAgICAgICA6IHt9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluaXRpYWxpemVzIGFuIG9iamVjdCBjbG9uZSBiYXNlZCBvbiBpdHMgYHRvU3RyaW5nVGFnYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIGZ1bmN0aW9uIG9ubHkgc3VwcG9ydHMgY2xvbmluZyB2YWx1ZXMgd2l0aCB0YWdzIG9mXG4gICAgICogYEJvb2xlYW5gLCBgRGF0ZWAsIGBFcnJvcmAsIGBNYXBgLCBgTnVtYmVyYCwgYFJlZ0V4cGAsIGBTZXRgLCBvciBgU3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGNsb25lLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIGB0b1N0cmluZ1RhZ2Agb2YgdGhlIG9iamVjdCB0byBjbG9uZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0RlZXBdIFNwZWNpZnkgYSBkZWVwIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGluaXRpYWxpemVkIGNsb25lLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGluaXRDbG9uZUJ5VGFnKG9iamVjdCwgdGFnLCBpc0RlZXApIHtcbiAgICAgIHZhciBDdG9yID0gb2JqZWN0LmNvbnN0cnVjdG9yO1xuICAgICAgc3dpdGNoICh0YWcpIHtcbiAgICAgICAgY2FzZSBhcnJheUJ1ZmZlclRhZzpcbiAgICAgICAgICByZXR1cm4gY2xvbmVBcnJheUJ1ZmZlcihvYmplY3QpO1xuXG4gICAgICAgIGNhc2UgYm9vbFRhZzpcbiAgICAgICAgY2FzZSBkYXRlVGFnOlxuICAgICAgICAgIHJldHVybiBuZXcgQ3Rvcigrb2JqZWN0KTtcblxuICAgICAgICBjYXNlIGRhdGFWaWV3VGFnOlxuICAgICAgICAgIHJldHVybiBjbG9uZURhdGFWaWV3KG9iamVjdCwgaXNEZWVwKTtcblxuICAgICAgICBjYXNlIGZsb2F0MzJUYWc6IGNhc2UgZmxvYXQ2NFRhZzpcbiAgICAgICAgY2FzZSBpbnQ4VGFnOiBjYXNlIGludDE2VGFnOiBjYXNlIGludDMyVGFnOlxuICAgICAgICBjYXNlIHVpbnQ4VGFnOiBjYXNlIHVpbnQ4Q2xhbXBlZFRhZzogY2FzZSB1aW50MTZUYWc6IGNhc2UgdWludDMyVGFnOlxuICAgICAgICAgIHJldHVybiBjbG9uZVR5cGVkQXJyYXkob2JqZWN0LCBpc0RlZXApO1xuXG4gICAgICAgIGNhc2UgbWFwVGFnOlxuICAgICAgICAgIHJldHVybiBuZXcgQ3RvcjtcblxuICAgICAgICBjYXNlIG51bWJlclRhZzpcbiAgICAgICAgY2FzZSBzdHJpbmdUYWc6XG4gICAgICAgICAgcmV0dXJuIG5ldyBDdG9yKG9iamVjdCk7XG5cbiAgICAgICAgY2FzZSByZWdleHBUYWc6XG4gICAgICAgICAgcmV0dXJuIGNsb25lUmVnRXhwKG9iamVjdCk7XG5cbiAgICAgICAgY2FzZSBzZXRUYWc6XG4gICAgICAgICAgcmV0dXJuIG5ldyBDdG9yO1xuXG4gICAgICAgIGNhc2Ugc3ltYm9sVGFnOlxuICAgICAgICAgIHJldHVybiBjbG9uZVN5bWJvbChvYmplY3QpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEluc2VydHMgd3JhcHBlciBgZGV0YWlsc2AgaW4gYSBjb21tZW50IGF0IHRoZSB0b3Agb2YgdGhlIGBzb3VyY2VgIGJvZHkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIHNvdXJjZSB0byBtb2RpZnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBkZXRhaWxzIFRoZSBkZXRhaWxzIHRvIGluc2VydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBtb2RpZmllZCBzb3VyY2UuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5zZXJ0V3JhcERldGFpbHMoc291cmNlLCBkZXRhaWxzKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gZGV0YWlscy5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgICAgfVxuICAgICAgdmFyIGxhc3RJbmRleCA9IGxlbmd0aCAtIDE7XG4gICAgICBkZXRhaWxzW2xhc3RJbmRleF0gPSAobGVuZ3RoID4gMSA/ICcmICcgOiAnJykgKyBkZXRhaWxzW2xhc3RJbmRleF07XG4gICAgICBkZXRhaWxzID0gZGV0YWlscy5qb2luKGxlbmd0aCA+IDIgPyAnLCAnIDogJyAnKTtcbiAgICAgIHJldHVybiBzb3VyY2UucmVwbGFjZShyZVdyYXBDb21tZW50LCAne1xcbi8qIFt3cmFwcGVkIHdpdGggJyArIGRldGFpbHMgKyAnXSAqL1xcbicpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgZmxhdHRlbmFibGUgYGFyZ3VtZW50c2Agb2JqZWN0IG9yIGFycmF5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBmbGF0dGVuYWJsZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRmxhdHRlbmFibGUodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc0FycmF5KHZhbHVlKSB8fCBpc0FyZ3VtZW50cyh2YWx1ZSkgfHxcbiAgICAgICAgISEoc3ByZWFkYWJsZVN5bWJvbCAmJiB2YWx1ZSAmJiB2YWx1ZVtzcHJlYWRhYmxlU3ltYm9sXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBhcnJheS1saWtlIGluZGV4LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xlbmd0aD1NQVhfU0FGRV9JTlRFR0VSXSBUaGUgdXBwZXIgYm91bmRzIG9mIGEgdmFsaWQgaW5kZXguXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB2YWxpZCBpbmRleCwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSW5kZXgodmFsdWUsIGxlbmd0aCkge1xuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICBsZW5ndGggPSBsZW5ndGggPT0gbnVsbCA/IE1BWF9TQUZFX0lOVEVHRVIgOiBsZW5ndGg7XG5cbiAgICAgIHJldHVybiAhIWxlbmd0aCAmJlxuICAgICAgICAodHlwZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgICAgICh0eXBlICE9ICdzeW1ib2wnICYmIHJlSXNVaW50LnRlc3QodmFsdWUpKSkgJiZcbiAgICAgICAgICAgICh2YWx1ZSA+IC0xICYmIHZhbHVlICUgMSA9PSAwICYmIHZhbHVlIDwgbGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGdpdmVuIGFyZ3VtZW50cyBhcmUgZnJvbSBhbiBpdGVyYXRlZSBjYWxsLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSBwb3RlbnRpYWwgaXRlcmF0ZWUgdmFsdWUgYXJndW1lbnQuXG4gICAgICogQHBhcmFtIHsqfSBpbmRleCBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIGluZGV4IG9yIGtleSBhcmd1bWVudC5cbiAgICAgKiBAcGFyYW0geyp9IG9iamVjdCBUaGUgcG90ZW50aWFsIGl0ZXJhdGVlIG9iamVjdCBhcmd1bWVudC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGFyZ3VtZW50cyBhcmUgZnJvbSBhbiBpdGVyYXRlZSBjYWxsLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNJdGVyYXRlZUNhbGwodmFsdWUsIGluZGV4LCBvYmplY3QpIHtcbiAgICAgIGlmICghaXNPYmplY3Qob2JqZWN0KSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgdHlwZSA9IHR5cGVvZiBpbmRleDtcbiAgICAgIGlmICh0eXBlID09ICdudW1iZXInXG4gICAgICAgICAgICA/IChpc0FycmF5TGlrZShvYmplY3QpICYmIGlzSW5kZXgoaW5kZXgsIG9iamVjdC5sZW5ndGgpKVxuICAgICAgICAgICAgOiAodHlwZSA9PSAnc3RyaW5nJyAmJiBpbmRleCBpbiBvYmplY3QpXG4gICAgICAgICAgKSB7XG4gICAgICAgIHJldHVybiBlcShvYmplY3RbaW5kZXhdLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBwcm9wZXJ0eSBuYW1lIGFuZCBub3QgYSBwcm9wZXJ0eSBwYXRoLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeSBrZXlzIG9uLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcHJvcGVydHkgbmFtZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzS2V5KHZhbHVlLCBvYmplY3QpIHtcbiAgICAgIGlmIChpc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgICAgIGlmICh0eXBlID09ICdudW1iZXInIHx8IHR5cGUgPT0gJ3N5bWJvbCcgfHwgdHlwZSA9PSAnYm9vbGVhbicgfHxcbiAgICAgICAgICB2YWx1ZSA9PSBudWxsIHx8IGlzU3ltYm9sKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZUlzUGxhaW5Qcm9wLnRlc3QodmFsdWUpIHx8ICFyZUlzRGVlcFByb3AudGVzdCh2YWx1ZSkgfHxcbiAgICAgICAgKG9iamVjdCAhPSBudWxsICYmIHZhbHVlIGluIE9iamVjdChvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBzdWl0YWJsZSBmb3IgdXNlIGFzIHVuaXF1ZSBvYmplY3Qga2V5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBzdWl0YWJsZSwgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzS2V5YWJsZSh2YWx1ZSkge1xuICAgICAgdmFyIHR5cGUgPSB0eXBlb2YgdmFsdWU7XG4gICAgICByZXR1cm4gKHR5cGUgPT0gJ3N0cmluZycgfHwgdHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nKVxuICAgICAgICA/ICh2YWx1ZSAhPT0gJ19fcHJvdG9fXycpXG4gICAgICAgIDogKHZhbHVlID09PSBudWxsKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYGZ1bmNgIGhhcyBhIGxhenkgY291bnRlcnBhcnQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgZnVuY2AgaGFzIGEgbGF6eSBjb3VudGVycGFydCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTGF6aWFibGUoZnVuYykge1xuICAgICAgdmFyIGZ1bmNOYW1lID0gZ2V0RnVuY05hbWUoZnVuYyksXG4gICAgICAgICAgb3RoZXIgPSBsb2Rhc2hbZnVuY05hbWVdO1xuXG4gICAgICBpZiAodHlwZW9mIG90aGVyICE9ICdmdW5jdGlvbicgfHwgIShmdW5jTmFtZSBpbiBMYXp5V3JhcHBlci5wcm90b3R5cGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChmdW5jID09PSBvdGhlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBkYXRhID0gZ2V0RGF0YShvdGhlcik7XG4gICAgICByZXR1cm4gISFkYXRhICYmIGZ1bmMgPT09IGRhdGFbMF07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBmdW5jYCBoYXMgaXRzIHNvdXJjZSBtYXNrZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgZnVuY2AgaXMgbWFza2VkLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNNYXNrZWQoZnVuYykge1xuICAgICAgcmV0dXJuICEhbWFza1NyY0tleSAmJiAobWFza1NyY0tleSBpbiBmdW5jKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYGZ1bmNgIGlzIGNhcGFibGUgb2YgYmVpbmcgbWFza2VkLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYGZ1bmNgIGlzIG1hc2thYmxlLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgdmFyIGlzTWFza2FibGUgPSBjb3JlSnNEYXRhID8gaXNGdW5jdGlvbiA6IHN0dWJGYWxzZTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhIHByb3RvdHlwZSBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcHJvdG90eXBlLCBlbHNlIGBmYWxzZWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNQcm90b3R5cGUodmFsdWUpIHtcbiAgICAgIHZhciBDdG9yID0gdmFsdWUgJiYgdmFsdWUuY29uc3RydWN0b3IsXG4gICAgICAgICAgcHJvdG8gPSAodHlwZW9mIEN0b3IgPT0gJ2Z1bmN0aW9uJyAmJiBDdG9yLnByb3RvdHlwZSkgfHwgb2JqZWN0UHJvdG87XG5cbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gcHJvdG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUgZm9yIHN0cmljdCBlcXVhbGl0eSBjb21wYXJpc29ucywgaS5lLiBgPT09YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaWYgc3VpdGFibGUgZm9yIHN0cmljdFxuICAgICAqICBlcXVhbGl0eSBjb21wYXJpc29ucywgZWxzZSBgZmFsc2VgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzU3RyaWN0Q29tcGFyYWJsZSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlID09PSB2YWx1ZSAmJiAhaXNPYmplY3QodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgc3BlY2lhbGl6ZWQgdmVyc2lvbiBvZiBgbWF0Y2hlc1Byb3BlcnR5YCBmb3Igc291cmNlIHZhbHVlcyBzdWl0YWJsZVxuICAgICAqIGZvciBzdHJpY3QgZXF1YWxpdHkgY29tcGFyaXNvbnMsIGkuZS4gYD09PWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWF0Y2hlc1N0cmljdENvbXBhcmFibGUoa2V5LCBzcmNWYWx1ZSkge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9iamVjdFtrZXldID09PSBzcmNWYWx1ZSAmJlxuICAgICAgICAgIChzcmNWYWx1ZSAhPT0gdW5kZWZpbmVkIHx8IChrZXkgaW4gT2JqZWN0KG9iamVjdCkpKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLm1lbW9pemVgIHdoaWNoIGNsZWFycyB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24nc1xuICAgICAqIGNhY2hlIHdoZW4gaXQgZXhjZWVkcyBgTUFYX01FTU9JWkVfU0laRWAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGhhdmUgaXRzIG91dHB1dCBtZW1vaXplZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtZW1vaXplZCBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtZW1vaXplQ2FwcGVkKGZ1bmMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBtZW1vaXplKGZ1bmMsIGZ1bmN0aW9uKGtleSkge1xuICAgICAgICBpZiAoY2FjaGUuc2l6ZSA9PT0gTUFYX01FTU9JWkVfU0laRSkge1xuICAgICAgICAgIGNhY2hlLmNsZWFyKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGtleTtcbiAgICAgIH0pO1xuXG4gICAgICB2YXIgY2FjaGUgPSByZXN1bHQuY2FjaGU7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1lcmdlcyB0aGUgZnVuY3Rpb24gbWV0YWRhdGEgb2YgYHNvdXJjZWAgaW50byBgZGF0YWAuXG4gICAgICpcbiAgICAgKiBNZXJnaW5nIG1ldGFkYXRhIHJlZHVjZXMgdGhlIG51bWJlciBvZiB3cmFwcGVycyB1c2VkIHRvIGludm9rZSBhIGZ1bmN0aW9uLlxuICAgICAqIFRoaXMgaXMgcG9zc2libGUgYmVjYXVzZSBtZXRob2RzIGxpa2UgYF8uYmluZGAsIGBfLmN1cnJ5YCwgYW5kIGBfLnBhcnRpYWxgXG4gICAgICogbWF5IGJlIGFwcGxpZWQgcmVnYXJkbGVzcyBvZiBleGVjdXRpb24gb3JkZXIuIE1ldGhvZHMgbGlrZSBgXy5hcnlgIGFuZFxuICAgICAqIGBfLnJlYXJnYCBtb2RpZnkgZnVuY3Rpb24gYXJndW1lbnRzLCBtYWtpbmcgdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgYXJlXG4gICAgICogZXhlY3V0ZWQgaW1wb3J0YW50LCBwcmV2ZW50aW5nIHRoZSBtZXJnaW5nIG9mIG1ldGFkYXRhLiBIb3dldmVyLCB3ZSBtYWtlXG4gICAgICogYW4gZXhjZXB0aW9uIGZvciBhIHNhZmUgY29tYmluZWQgY2FzZSB3aGVyZSBjdXJyaWVkIGZ1bmN0aW9ucyBoYXZlIGBfLmFyeWBcbiAgICAgKiBhbmQgb3IgYF8ucmVhcmdgIGFwcGxpZWQuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGRhdGEgVGhlIGRlc3RpbmF0aW9uIG1ldGFkYXRhLlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHNvdXJjZSBUaGUgc291cmNlIG1ldGFkYXRhLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgZGF0YWAuXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWVyZ2VEYXRhKGRhdGEsIHNvdXJjZSkge1xuICAgICAgdmFyIGJpdG1hc2sgPSBkYXRhWzFdLFxuICAgICAgICAgIHNyY0JpdG1hc2sgPSBzb3VyY2VbMV0sXG4gICAgICAgICAgbmV3Qml0bWFzayA9IGJpdG1hc2sgfCBzcmNCaXRtYXNrLFxuICAgICAgICAgIGlzQ29tbW9uID0gbmV3Qml0bWFzayA8IChXUkFQX0JJTkRfRkxBRyB8IFdSQVBfQklORF9LRVlfRkxBRyB8IFdSQVBfQVJZX0ZMQUcpO1xuXG4gICAgICB2YXIgaXNDb21ibyA9XG4gICAgICAgICgoc3JjQml0bWFzayA9PSBXUkFQX0FSWV9GTEFHKSAmJiAoYml0bWFzayA9PSBXUkFQX0NVUlJZX0ZMQUcpKSB8fFxuICAgICAgICAoKHNyY0JpdG1hc2sgPT0gV1JBUF9BUllfRkxBRykgJiYgKGJpdG1hc2sgPT0gV1JBUF9SRUFSR19GTEFHKSAmJiAoZGF0YVs3XS5sZW5ndGggPD0gc291cmNlWzhdKSkgfHxcbiAgICAgICAgKChzcmNCaXRtYXNrID09IChXUkFQX0FSWV9GTEFHIHwgV1JBUF9SRUFSR19GTEFHKSkgJiYgKHNvdXJjZVs3XS5sZW5ndGggPD0gc291cmNlWzhdKSAmJiAoYml0bWFzayA9PSBXUkFQX0NVUlJZX0ZMQUcpKTtcblxuICAgICAgLy8gRXhpdCBlYXJseSBpZiBtZXRhZGF0YSBjYW4ndCBiZSBtZXJnZWQuXG4gICAgICBpZiAoIShpc0NvbW1vbiB8fCBpc0NvbWJvKSkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgIH1cbiAgICAgIC8vIFVzZSBzb3VyY2UgYHRoaXNBcmdgIGlmIGF2YWlsYWJsZS5cbiAgICAgIGlmIChzcmNCaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcpIHtcbiAgICAgICAgZGF0YVsyXSA9IHNvdXJjZVsyXTtcbiAgICAgICAgLy8gU2V0IHdoZW4gY3VycnlpbmcgYSBib3VuZCBmdW5jdGlvbi5cbiAgICAgICAgbmV3Qml0bWFzayB8PSBiaXRtYXNrICYgV1JBUF9CSU5EX0ZMQUcgPyAwIDogV1JBUF9DVVJSWV9CT1VORF9GTEFHO1xuICAgICAgfVxuICAgICAgLy8gQ29tcG9zZSBwYXJ0aWFsIGFyZ3VtZW50cy5cbiAgICAgIHZhciB2YWx1ZSA9IHNvdXJjZVszXTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB2YXIgcGFydGlhbHMgPSBkYXRhWzNdO1xuICAgICAgICBkYXRhWzNdID0gcGFydGlhbHMgPyBjb21wb3NlQXJncyhwYXJ0aWFscywgdmFsdWUsIHNvdXJjZVs0XSkgOiB2YWx1ZTtcbiAgICAgICAgZGF0YVs0XSA9IHBhcnRpYWxzID8gcmVwbGFjZUhvbGRlcnMoZGF0YVszXSwgUExBQ0VIT0xERVIpIDogc291cmNlWzRdO1xuICAgICAgfVxuICAgICAgLy8gQ29tcG9zZSBwYXJ0aWFsIHJpZ2h0IGFyZ3VtZW50cy5cbiAgICAgIHZhbHVlID0gc291cmNlWzVdO1xuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHBhcnRpYWxzID0gZGF0YVs1XTtcbiAgICAgICAgZGF0YVs1XSA9IHBhcnRpYWxzID8gY29tcG9zZUFyZ3NSaWdodChwYXJ0aWFscywgdmFsdWUsIHNvdXJjZVs2XSkgOiB2YWx1ZTtcbiAgICAgICAgZGF0YVs2XSA9IHBhcnRpYWxzID8gcmVwbGFjZUhvbGRlcnMoZGF0YVs1XSwgUExBQ0VIT0xERVIpIDogc291cmNlWzZdO1xuICAgICAgfVxuICAgICAgLy8gVXNlIHNvdXJjZSBgYXJnUG9zYCBpZiBhdmFpbGFibGUuXG4gICAgICB2YWx1ZSA9IHNvdXJjZVs3XTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBkYXRhWzddID0gdmFsdWU7XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGBhcnlgIGlmIGl0J3Mgc21hbGxlci5cbiAgICAgIGlmIChzcmNCaXRtYXNrICYgV1JBUF9BUllfRkxBRykge1xuICAgICAgICBkYXRhWzhdID0gZGF0YVs4XSA9PSBudWxsID8gc291cmNlWzhdIDogbmF0aXZlTWluKGRhdGFbOF0sIHNvdXJjZVs4XSk7XG4gICAgICB9XG4gICAgICAvLyBVc2Ugc291cmNlIGBhcml0eWAgaWYgb25lIGlzIG5vdCBwcm92aWRlZC5cbiAgICAgIGlmIChkYXRhWzldID09IG51bGwpIHtcbiAgICAgICAgZGF0YVs5XSA9IHNvdXJjZVs5XTtcbiAgICAgIH1cbiAgICAgIC8vIFVzZSBzb3VyY2UgYGZ1bmNgIGFuZCBtZXJnZSBiaXRtYXNrcy5cbiAgICAgIGRhdGFbMF0gPSBzb3VyY2VbMF07XG4gICAgICBkYXRhWzFdID0gbmV3Qml0bWFzaztcblxuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBmdW5jdGlvbiBpcyBsaWtlXG4gICAgICogW2BPYmplY3Qua2V5c2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLW9iamVjdC5rZXlzKVxuICAgICAqIGV4Y2VwdCB0aGF0IGl0IGluY2x1ZGVzIGluaGVyaXRlZCBlbnVtZXJhYmxlIHByb3BlcnRpZXMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5hdGl2ZUtleXNJbihvYmplY3QpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGlmIChvYmplY3QgIT0gbnVsbCkge1xuICAgICAgICBmb3IgKHZhciBrZXkgaW4gT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcgdXNpbmcgYE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmdgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBzdHJpbmcuXG4gICAgICovXG4gICAgZnVuY3Rpb24gb2JqZWN0VG9TdHJpbmcodmFsdWUpIHtcbiAgICAgIHJldHVybiBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHNwZWNpYWxpemVkIHZlcnNpb24gb2YgYGJhc2VSZXN0YCB3aGljaCB0cmFuc2Zvcm1zIHRoZSByZXN0IGFycmF5LlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBhcHBseSBhIHJlc3QgcGFyYW1ldGVyIHRvLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9ZnVuYy5sZW5ndGgtMV0gVGhlIHN0YXJ0IHBvc2l0aW9uIG9mIHRoZSByZXN0IHBhcmFtZXRlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSB0cmFuc2Zvcm0gVGhlIHJlc3QgYXJyYXkgdHJhbnNmb3JtLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG92ZXJSZXN0KGZ1bmMsIHN0YXJ0LCB0cmFuc2Zvcm0pIHtcbiAgICAgIHN0YXJ0ID0gbmF0aXZlTWF4KHN0YXJ0ID09PSB1bmRlZmluZWQgPyAoZnVuYy5sZW5ndGggLSAxKSA6IHN0YXJ0LCAwKTtcbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgICBpbmRleCA9IC0xLFxuICAgICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWF4KGFyZ3MubGVuZ3RoIC0gc3RhcnQsIDApLFxuICAgICAgICAgICAgYXJyYXkgPSBBcnJheShsZW5ndGgpO1xuXG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJyYXlbaW5kZXhdID0gYXJnc1tzdGFydCArIGluZGV4XTtcbiAgICAgICAgfVxuICAgICAgICBpbmRleCA9IC0xO1xuICAgICAgICB2YXIgb3RoZXJBcmdzID0gQXJyYXkoc3RhcnQgKyAxKTtcbiAgICAgICAgd2hpbGUgKCsraW5kZXggPCBzdGFydCkge1xuICAgICAgICAgIG90aGVyQXJnc1tpbmRleF0gPSBhcmdzW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgICBvdGhlckFyZ3Nbc3RhcnRdID0gdHJhbnNmb3JtKGFycmF5KTtcbiAgICAgICAgcmV0dXJuIGFwcGx5KGZ1bmMsIHRoaXMsIG90aGVyQXJncyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHBhcmVudCB2YWx1ZSBhdCBgcGF0aGAgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYXRoIFRoZSBwYXRoIHRvIGdldCB0aGUgcGFyZW50IHZhbHVlIG9mLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwYXJlbnQgdmFsdWUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gcGFyZW50KG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIHBhdGgubGVuZ3RoIDwgMiA/IG9iamVjdCA6IGJhc2VHZXQob2JqZWN0LCBiYXNlU2xpY2UocGF0aCwgMCwgLTEpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW9yZGVyIGBhcnJheWAgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgaW5kZXhlcyB3aGVyZSB0aGUgZWxlbWVudCBhdFxuICAgICAqIHRoZSBmaXJzdCBpbmRleCBpcyBhc3NpZ25lZCBhcyB0aGUgZmlyc3QgZWxlbWVudCwgdGhlIGVsZW1lbnQgYXRcbiAgICAgKiB0aGUgc2Vjb25kIGluZGV4IGlzIGFzc2lnbmVkIGFzIHRoZSBzZWNvbmQgZWxlbWVudCwgYW5kIHNvIG9uLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcmVvcmRlci5cbiAgICAgKiBAcGFyYW0ge0FycmF5fSBpbmRleGVzIFRoZSBhcnJhbmdlZCBhcnJheSBpbmRleGVzLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlb3JkZXIoYXJyYXksIGluZGV4ZXMpIHtcbiAgICAgIHZhciBhcnJMZW5ndGggPSBhcnJheS5sZW5ndGgsXG4gICAgICAgICAgbGVuZ3RoID0gbmF0aXZlTWluKGluZGV4ZXMubGVuZ3RoLCBhcnJMZW5ndGgpLFxuICAgICAgICAgIG9sZEFycmF5ID0gY29weUFycmF5KGFycmF5KTtcblxuICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7XG4gICAgICAgIHZhciBpbmRleCA9IGluZGV4ZXNbbGVuZ3RoXTtcbiAgICAgICAgYXJyYXlbbGVuZ3RoXSA9IGlzSW5kZXgoaW5kZXgsIGFyckxlbmd0aCkgPyBvbGRBcnJheVtpbmRleF0gOiB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgYXQgYGtleWAsIHVubGVzcyBga2V5YCBpcyBcIl9fcHJvdG9fX1wiIG9yIFwiY29uc3RydWN0b3JcIi5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBwcm9wZXJ0eSB2YWx1ZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzYWZlR2V0KG9iamVjdCwga2V5KSB7XG4gICAgICBpZiAoa2V5ID09PSAnY29uc3RydWN0b3InICYmIHR5cGVvZiBvYmplY3Rba2V5XSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChrZXkgPT0gJ19fcHJvdG9fXycpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqZWN0W2tleV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBtZXRhZGF0YSBmb3IgYGZ1bmNgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIElmIHRoaXMgZnVuY3Rpb24gYmVjb21lcyBob3QsIGkuZS4gaXMgaW52b2tlZCBhIGxvdCBpbiBhIHNob3J0XG4gICAgICogcGVyaW9kIG9mIHRpbWUsIGl0IHdpbGwgdHJpcCBpdHMgYnJlYWtlciBhbmQgdHJhbnNpdGlvbiB0byBhbiBpZGVudGl0eVxuICAgICAqIGZ1bmN0aW9uIHRvIGF2b2lkIGdhcmJhZ2UgY29sbGVjdGlvbiBwYXVzZXMgaW4gVjguIFNlZVxuICAgICAqIFtWOCBpc3N1ZSAyMDcwXShodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0yMDcwKVxuICAgICAqIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFzc29jaWF0ZSBtZXRhZGF0YSB3aXRoLlxuICAgICAqIEBwYXJhbSB7Kn0gZGF0YSBUaGUgbWV0YWRhdGEuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGBmdW5jYC5cbiAgICAgKi9cbiAgICB2YXIgc2V0RGF0YSA9IHNob3J0T3V0KGJhc2VTZXREYXRhKTtcblxuICAgIC8qKlxuICAgICAqIEEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHRoZSBnbG9iYWwgW2BzZXRUaW1lb3V0YF0oaHR0cHM6Ly9tZG4uaW8vc2V0VGltZW91dCkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlbGF5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSB3YWl0IFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5IGludm9jYXRpb24uXG4gICAgICogQHJldHVybnMge251bWJlcnxPYmplY3R9IFJldHVybnMgdGhlIHRpbWVyIGlkIG9yIHRpbWVvdXQgb2JqZWN0LlxuICAgICAqL1xuICAgIHZhciBzZXRUaW1lb3V0ID0gY3R4U2V0VGltZW91dCB8fCBmdW5jdGlvbihmdW5jLCB3YWl0KSB7XG4gICAgICByZXR1cm4gcm9vdC5zZXRUaW1lb3V0KGZ1bmMsIHdhaXQpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBgdG9TdHJpbmdgIG1ldGhvZCBvZiBgZnVuY2AgdG8gcmV0dXJuIGBzdHJpbmdgLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gc3RyaW5nIFRoZSBgdG9TdHJpbmdgIHJlc3VsdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgYGZ1bmNgLlxuICAgICAqL1xuICAgIHZhciBzZXRUb1N0cmluZyA9IHNob3J0T3V0KGJhc2VTZXRUb1N0cmluZyk7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBgdG9TdHJpbmdgIG1ldGhvZCBvZiBgd3JhcHBlcmAgdG8gbWltaWMgdGhlIHNvdXJjZSBvZiBgcmVmZXJlbmNlYFxuICAgICAqIHdpdGggd3JhcHBlciBkZXRhaWxzIGluIGEgY29tbWVudCBhdCB0aGUgdG9wIG9mIHRoZSBzb3VyY2UgYm9keS5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gd3JhcHBlciBUaGUgZnVuY3Rpb24gdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHJlZmVyZW5jZSBUaGUgcmVmZXJlbmNlIGZ1bmN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBiaXRtYXNrIFRoZSBiaXRtYXNrIGZsYWdzLiBTZWUgYGNyZWF0ZVdyYXBgIGZvciBtb3JlIGRldGFpbHMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIGB3cmFwcGVyYC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzZXRXcmFwVG9TdHJpbmcod3JhcHBlciwgcmVmZXJlbmNlLCBiaXRtYXNrKSB7XG4gICAgICB2YXIgc291cmNlID0gKHJlZmVyZW5jZSArICcnKTtcbiAgICAgIHJldHVybiBzZXRUb1N0cmluZyh3cmFwcGVyLCBpbnNlcnRXcmFwRGV0YWlscyhzb3VyY2UsIHVwZGF0ZVdyYXBEZXRhaWxzKGdldFdyYXBEZXRhaWxzKHNvdXJjZSksIGJpdG1hc2spKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQnbGwgc2hvcnQgb3V0IGFuZCBpbnZva2UgYGlkZW50aXR5YCBpbnN0ZWFkXG4gICAgICogb2YgYGZ1bmNgIHdoZW4gaXQncyBjYWxsZWQgYEhPVF9DT1VOVGAgb3IgbW9yZSB0aW1lcyBpbiBgSE9UX1NQQU5gXG4gICAgICogbWlsbGlzZWNvbmRzLlxuICAgICAqXG4gICAgICogQHByaXZhdGVcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byByZXN0cmljdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzaG9ydGFibGUgZnVuY3Rpb24uXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2hvcnRPdXQoZnVuYykge1xuICAgICAgdmFyIGNvdW50ID0gMCxcbiAgICAgICAgICBsYXN0Q2FsbGVkID0gMDtcblxuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICB2YXIgc3RhbXAgPSBuYXRpdmVOb3coKSxcbiAgICAgICAgICAgIHJlbWFpbmluZyA9IEhPVF9TUEFOIC0gKHN0YW1wIC0gbGFzdENhbGxlZCk7XG5cbiAgICAgICAgbGFzdENhbGxlZCA9IHN0YW1wO1xuICAgICAgICBpZiAocmVtYWluaW5nID4gMCkge1xuICAgICAgICAgIGlmICgrK2NvdW50ID49IEhPVF9DT1VOVCkge1xuICAgICAgICAgICAgcmV0dXJuIGFyZ3VtZW50c1swXTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY291bnQgPSAwO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBzcGVjaWFsaXplZCB2ZXJzaW9uIG9mIGBfLnNodWZmbGVgIHdoaWNoIG11dGF0ZXMgYW5kIHNldHMgdGhlIHNpemUgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHNodWZmbGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzaXplPWFycmF5Lmxlbmd0aF0gVGhlIHNpemUgb2YgYGFycmF5YC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzaHVmZmxlU2VsZihhcnJheSwgc2l6ZSkge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIGxhc3RJbmRleCA9IGxlbmd0aCAtIDE7XG5cbiAgICAgIHNpemUgPSBzaXplID09PSB1bmRlZmluZWQgPyBsZW5ndGggOiBzaXplO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBzaXplKSB7XG4gICAgICAgIHZhciByYW5kID0gYmFzZVJhbmRvbShpbmRleCwgbGFzdEluZGV4KSxcbiAgICAgICAgICAgIHZhbHVlID0gYXJyYXlbcmFuZF07XG5cbiAgICAgICAgYXJyYXlbcmFuZF0gPSBhcnJheVtpbmRleF07XG4gICAgICAgIGFycmF5W2luZGV4XSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgYXJyYXkubGVuZ3RoID0gc2l6ZTtcbiAgICAgIHJldHVybiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBhIHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcHJvcGVydHkgcGF0aCBhcnJheS5cbiAgICAgKi9cbiAgICB2YXIgc3RyaW5nVG9QYXRoID0gbWVtb2l6ZUNhcHBlZChmdW5jdGlvbihzdHJpbmcpIHtcbiAgICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICAgIGlmIChzdHJpbmcuY2hhckNvZGVBdCgwKSA9PT0gNDYgLyogLiAqLykge1xuICAgICAgICByZXN1bHQucHVzaCgnJyk7XG4gICAgICB9XG4gICAgICBzdHJpbmcucmVwbGFjZShyZVByb3BOYW1lLCBmdW5jdGlvbihtYXRjaCwgbnVtYmVyLCBxdW90ZSwgc3ViU3RyaW5nKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHF1b3RlID8gc3ViU3RyaW5nLnJlcGxhY2UocmVFc2NhcGVDaGFyLCAnJDEnKSA6IChudW1iZXIgfHwgbWF0Y2gpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBzdHJpbmcga2V5IGlmIGl0J3Mgbm90IGEgc3RyaW5nIG9yIHN5bWJvbC5cbiAgICAgKlxuICAgICAqIEBwcml2YXRlXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfHN5bWJvbH0gUmV0dXJucyB0aGUga2V5LlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvS2V5KHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnIHx8IGlzU3ltYm9sKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gKHZhbHVlICsgJycpO1xuICAgICAgcmV0dXJuIChyZXN1bHQgPT0gJzAnICYmICgxIC8gdmFsdWUpID09IC1JTkZJTklUWSkgPyAnLTAnIDogcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBmdW5jYCB0byBpdHMgc291cmNlIGNvZGUuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc291cmNlIGNvZGUuXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9Tb3VyY2UoZnVuYykge1xuICAgICAgaWYgKGZ1bmMgIT0gbnVsbCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBmdW5jVG9TdHJpbmcuY2FsbChmdW5jKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gKGZ1bmMgKyAnJyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgICB9XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB3cmFwcGVyIGBkZXRhaWxzYCBiYXNlZCBvbiBgYml0bWFza2AgZmxhZ3MuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gZGV0YWlscyBUaGUgZGV0YWlscyB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGJpdG1hc2sgVGhlIGJpdG1hc2sgZmxhZ3MuIFNlZSBgY3JlYXRlV3JhcGAgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGRldGFpbHNgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVwZGF0ZVdyYXBEZXRhaWxzKGRldGFpbHMsIGJpdG1hc2spIHtcbiAgICAgIGFycmF5RWFjaCh3cmFwRmxhZ3MsIGZ1bmN0aW9uKHBhaXIpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gJ18uJyArIHBhaXJbMF07XG4gICAgICAgIGlmICgoYml0bWFzayAmIHBhaXJbMV0pICYmICFhcnJheUluY2x1ZGVzKGRldGFpbHMsIHZhbHVlKSkge1xuICAgICAgICAgIGRldGFpbHMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGRldGFpbHMuc29ydCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjbG9uZSBvZiBgd3JhcHBlcmAuXG4gICAgICpcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSB3cmFwcGVyIFRoZSB3cmFwcGVyIHRvIGNsb25lLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNsb25lZCB3cmFwcGVyLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJDbG9uZSh3cmFwcGVyKSB7XG4gICAgICBpZiAod3JhcHBlciBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSB7XG4gICAgICAgIHJldHVybiB3cmFwcGVyLmNsb25lKCk7XG4gICAgICB9XG4gICAgICB2YXIgcmVzdWx0ID0gbmV3IExvZGFzaFdyYXBwZXIod3JhcHBlci5fX3dyYXBwZWRfXywgd3JhcHBlci5fX2NoYWluX18pO1xuICAgICAgcmVzdWx0Ll9fYWN0aW9uc19fID0gY29weUFycmF5KHdyYXBwZXIuX19hY3Rpb25zX18pO1xuICAgICAgcmVzdWx0Ll9faW5kZXhfXyAgPSB3cmFwcGVyLl9faW5kZXhfXztcbiAgICAgIHJlc3VsdC5fX3ZhbHVlc19fID0gd3JhcHBlci5fX3ZhbHVlc19fO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGVsZW1lbnRzIHNwbGl0IGludG8gZ3JvdXBzIHRoZSBsZW5ndGggb2YgYHNpemVgLlxuICAgICAqIElmIGBhcnJheWAgY2FuJ3QgYmUgc3BsaXQgZXZlbmx5LCB0aGUgZmluYWwgY2h1bmsgd2lsbCBiZSB0aGUgcmVtYWluaW5nXG4gICAgICogZWxlbWVudHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NpemU9MV0gVGhlIGxlbmd0aCBvZiBlYWNoIGNodW5rXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjaHVua3MuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY2h1bmsoWydhJywgJ2InLCAnYycsICdkJ10sIDIpO1xuICAgICAqIC8vID0+IFtbJ2EnLCAnYiddLCBbJ2MnLCAnZCddXVxuICAgICAqXG4gICAgICogXy5jaHVuayhbJ2EnLCAnYicsICdjJywgJ2QnXSwgMyk7XG4gICAgICogLy8gPT4gW1snYScsICdiJywgJ2MnXSwgWydkJ11dXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2h1bmsoYXJyYXksIHNpemUsIGd1YXJkKSB7XG4gICAgICBpZiAoKGd1YXJkID8gaXNJdGVyYXRlZUNhbGwoYXJyYXksIHNpemUsIGd1YXJkKSA6IHNpemUgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgc2l6ZSA9IDE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaXplID0gbmF0aXZlTWF4KHRvSW50ZWdlcihzaXplKSwgMCk7XG4gICAgICB9XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCB8fCBzaXplIDwgMSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSAwLFxuICAgICAgICAgIHJlc0luZGV4ID0gMCxcbiAgICAgICAgICByZXN1bHQgPSBBcnJheShuYXRpdmVDZWlsKGxlbmd0aCAvIHNpemUpKTtcblxuICAgICAgd2hpbGUgKGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIHJlc3VsdFtyZXNJbmRleCsrXSA9IGJhc2VTbGljZShhcnJheSwgaW5kZXgsIChpbmRleCArPSBzaXplKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgd2l0aCBhbGwgZmFsc2V5IHZhbHVlcyByZW1vdmVkLiBUaGUgdmFsdWVzIGBmYWxzZWAsIGBudWxsYCxcbiAgICAgKiBgMGAsIGBcIlwiYCwgYHVuZGVmaW5lZGAsIGFuZCBgTmFOYCBhcmUgZmFsc2V5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGNvbXBhY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNvbXBhY3QoWzAsIDEsIGZhbHNlLCAyLCAnJywgM10pO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbXBhY3QoYXJyYXkpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoLFxuICAgICAgICAgIHJlc0luZGV4ID0gMCxcbiAgICAgICAgICByZXN1bHQgPSBbXTtcblxuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICByZXN1bHRbcmVzSW5kZXgrK10gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgbmV3IGFycmF5IGNvbmNhdGVuYXRpbmcgYGFycmF5YCB3aXRoIGFueSBhZGRpdGlvbmFsIGFycmF5c1xuICAgICAqIGFuZC9vciB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gY29uY2F0ZW5hdGUuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGNvbmNhdGVuYXRlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGNvbmNhdGVuYXRlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzFdO1xuICAgICAqIHZhciBvdGhlciA9IF8uY29uY2F0KGFycmF5LCAyLCBbM10sIFtbNF1dKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG90aGVyKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgMywgWzRdXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbmNhdCgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGFyZ3MgPSBBcnJheShsZW5ndGggLSAxKSxcbiAgICAgICAgICBhcnJheSA9IGFyZ3VtZW50c1swXSxcbiAgICAgICAgICBpbmRleCA9IGxlbmd0aDtcblxuICAgICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgICAgYXJnc1tpbmRleCAtIDFdID0gYXJndW1lbnRzW2luZGV4XTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnJheVB1c2goaXNBcnJheShhcnJheSkgPyBjb3B5QXJyYXkoYXJyYXkpIDogW2FycmF5XSwgYmFzZUZsYXR0ZW4oYXJncywgMSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgYGFycmF5YCB2YWx1ZXMgbm90IGluY2x1ZGVkIGluIHRoZSBvdGhlciBnaXZlbiBhcnJheXNcbiAgICAgKiB1c2luZyBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gVGhlIG9yZGVyIGFuZCByZWZlcmVuY2VzIG9mIHJlc3VsdCB2YWx1ZXMgYXJlXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnB1bGxBbGxgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBleGNsdWRlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAc2VlIF8ud2l0aG91dCwgXy54b3JcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kaWZmZXJlbmNlKFsyLCAxXSwgWzIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKi9cbiAgICB2YXIgZGlmZmVyZW5jZSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHJldHVybiBpc0FycmF5TGlrZU9iamVjdChhcnJheSlcbiAgICAgICAgPyBiYXNlRGlmZmVyZW5jZShhcnJheSwgYmFzZUZsYXR0ZW4odmFsdWVzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSkpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmRpZmZlcmVuY2VgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaFxuICAgICAqIGlzIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBgYXJyYXlgIGFuZCBgdmFsdWVzYCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uXG4gICAgICogYnkgd2hpY2ggdGhleSdyZSBjb21wYXJlZC4gVGhlIG9yZGVyIGFuZCByZWZlcmVuY2VzIG9mIHJlc3VsdCB2YWx1ZXMgYXJlXG4gICAgICogZGV0ZXJtaW5lZCBieSB0aGUgZmlyc3QgYXJyYXkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OlxuICAgICAqICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnB1bGxBbGxCeWAsIHRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIGV4Y2x1ZGUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kaWZmZXJlbmNlQnkoWzIuMSwgMS4yXSwgWzIuMywgMy40XSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzEuMl1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZGlmZmVyZW5jZUJ5KFt7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgW3sgJ3gnOiAxIH1dLCAneCcpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMiB9XVxuICAgICAqL1xuICAgIHZhciBkaWZmZXJlbmNlQnkgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheSwgdmFsdWVzKSB7XG4gICAgICB2YXIgaXRlcmF0ZWUgPSBsYXN0KHZhbHVlcyk7XG4gICAgICBpZiAoaXNBcnJheUxpa2VPYmplY3QoaXRlcmF0ZWUpKSB7XG4gICAgICAgIGl0ZXJhdGVlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KVxuICAgICAgICA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCBiYXNlRmxhdHRlbih2YWx1ZXMsIDEsIGlzQXJyYXlMaWtlT2JqZWN0LCB0cnVlKSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IFtdO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5kaWZmZXJlbmNlYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjb21wYXJhdG9yYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgdG8gY29tcGFyZSBlbGVtZW50cyBvZiBgYXJyYXlgIHRvIGB2YWx1ZXNgLiBUaGUgb3JkZXIgYW5kXG4gICAgICogcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZSBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS4gVGhlIGNvbXBhcmF0b3JcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggdHdvIGFyZ3VtZW50czogKGFyclZhbCwgb3RoVmFsKS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ucHVsbEFsbFdpdGhgLCB0aGlzIG1ldGhvZCByZXR1cm5zIGEgbmV3IGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW3ZhbHVlc10gVGhlIHZhbHVlcyB0byBleGNsdWRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH1dO1xuICAgICAqXG4gICAgICogXy5kaWZmZXJlbmNlV2l0aChvYmplY3RzLCBbeyAneCc6IDEsICd5JzogMiB9XSwgXy5pc0VxdWFsKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIsICd5JzogMSB9XVxuICAgICAqL1xuICAgIHZhciBkaWZmZXJlbmNlV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5LCB2YWx1ZXMpIHtcbiAgICAgIHZhciBjb21wYXJhdG9yID0gbGFzdCh2YWx1ZXMpO1xuICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGNvbXBhcmF0b3IpKSB7XG4gICAgICAgIGNvbXBhcmF0b3IgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2VPYmplY3QoYXJyYXkpXG4gICAgICAgID8gYmFzZURpZmZlcmVuY2UoYXJyYXksIGJhc2VGbGF0dGVuKHZhbHVlcywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGBuYCBlbGVtZW50cyBkcm9wcGVkIGZyb20gdGhlIGJlZ2lubmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjUuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MV0gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBkcm9wLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRyb3AoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMiwgM11cbiAgICAgKlxuICAgICAqIF8uZHJvcChbMSwgMiwgM10sIDIpO1xuICAgICAqIC8vID0+IFszXVxuICAgICAqXG4gICAgICogXy5kcm9wKFsxLCAyLCAzXSwgNSk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKlxuICAgICAqIF8uZHJvcChbMSwgMiwgM10sIDApO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRyb3AoYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBuID0gKGd1YXJkIHx8IG4gPT09IHVuZGVmaW5lZCkgPyAxIDogdG9JbnRlZ2VyKG4pO1xuICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgbiA8IDAgPyAwIDogbiwgbGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGBuYCBlbGVtZW50cyBkcm9wcGVkIGZyb20gdGhlIGVuZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MV0gVGhlIG51bWJlciBvZiBlbGVtZW50cyB0byBkcm9wLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRyb3BSaWdodChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqXG4gICAgICogXy5kcm9wUmlnaHQoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKlxuICAgICAqIF8uZHJvcFJpZ2h0KFsxLCAyLCAzXSwgNSk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKlxuICAgICAqIF8uZHJvcFJpZ2h0KFsxLCAyLCAzXSwgMCk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJvcFJpZ2h0KGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgbiA9IChndWFyZCB8fCBuID09PSB1bmRlZmluZWQpID8gMSA6IHRvSW50ZWdlcihuKTtcbiAgICAgIG4gPSBsZW5ndGggLSBuO1xuICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgMCwgbiA8IDAgPyAwIDogbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgZXhjbHVkaW5nIGVsZW1lbnRzIGRyb3BwZWQgZnJvbSB0aGUgZW5kLlxuICAgICAqIEVsZW1lbnRzIGFyZSBkcm9wcGVkIHVudGlsIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5LiBUaGUgcHJlZGljYXRlIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZHJvcFJpZ2h0V2hpbGUodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuICFvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BSaWdodFdoaWxlKHVzZXJzLCB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknLCAnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wUmlnaHRXaGlsZSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZHJvcFJpZ2h0V2hpbGUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2Jhcm5leScsICdmcmVkJywgJ3BlYmJsZXMnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRyb3BSaWdodFdoaWxlKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VXaGlsZShhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgdHJ1ZSwgdHJ1ZSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCBleGNsdWRpbmcgZWxlbWVudHMgZHJvcHBlZCBmcm9tIHRoZSBiZWdpbm5pbmcuXG4gICAgICogRWxlbWVudHMgYXJlIGRyb3BwZWQgdW50aWwgYHByZWRpY2F0ZWAgcmV0dXJucyBmYWxzZXkuIFRoZSBwcmVkaWNhdGUgaXNcbiAgICAgKiBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4LCBhcnJheSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiB0cnVlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5kcm9wV2hpbGUodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuICFvLmFjdGl2ZTsgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5kcm9wV2hpbGUodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCcsICdwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BXaGlsZSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmRyb3BXaGlsZSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnLCAncGViYmxlcyddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZHJvcFdoaWxlKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VXaGlsZShhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgdHJ1ZSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaWxscyBlbGVtZW50cyBvZiBgYXJyYXlgIHdpdGggYHZhbHVlYCBmcm9tIGBzdGFydGAgdXAgdG8sIGJ1dCBub3RcbiAgICAgKiBpbmNsdWRpbmcsIGBlbmRgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmaWxsLlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGZpbGwgYGFycmF5YCB3aXRoLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IHBvc2l0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZW5kPWFycmF5Lmxlbmd0aF0gVGhlIGVuZCBwb3NpdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqXG4gICAgICogXy5maWxsKGFycmF5LCAnYScpO1xuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYScsICdhJ11cbiAgICAgKlxuICAgICAqIF8uZmlsbChBcnJheSgzKSwgMik7XG4gICAgICogLy8gPT4gWzIsIDIsIDJdXG4gICAgICpcbiAgICAgKiBfLmZpbGwoWzQsIDYsIDgsIDEwXSwgJyonLCAxLCAzKTtcbiAgICAgKiAvLyA9PiBbNCwgJyonLCAnKicsIDEwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbGwoYXJyYXksIHZhbHVlLCBzdGFydCwgZW5kKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoc3RhcnQgJiYgdHlwZW9mIHN0YXJ0ICE9ICdudW1iZXInICYmIGlzSXRlcmF0ZWVDYWxsKGFycmF5LCB2YWx1ZSwgc3RhcnQpKSB7XG4gICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgZW5kID0gbGVuZ3RoO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VGaWxsKGFycmF5LCB2YWx1ZSwgc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5maW5kYCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgZmlyc3RcbiAgICAgKiBlbGVtZW50IGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvciBpbnN0ZWFkIG9mIHRoZSBlbGVtZW50IGl0c2VsZi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIGZvdW5kIGVsZW1lbnQsIGVsc2UgYC0xYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiB0cnVlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5maW5kSW5kZXgodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8udXNlciA9PSAnYmFybmV5JzsgfSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRJbmRleCh1c2VycywgeyAndXNlcic6ICdmcmVkJywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IDFcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRJbmRleCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEluZGV4KHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gMlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmRJbmRleChhcnJheSwgcHJlZGljYXRlLCBmcm9tSW5kZXgpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAtMTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IGZyb21JbmRleCA9PSBudWxsID8gMCA6IHRvSW50ZWdlcihmcm9tSW5kZXgpO1xuICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICBpbmRleCA9IG5hdGl2ZU1heChsZW5ndGggKyBpbmRleCwgMCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZUZpbmRJbmRleChhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZEluZGV4YCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIGVsZW1lbnRzXG4gICAgICogb2YgYGNvbGxlY3Rpb25gIGZyb20gcmlnaHQgdG8gbGVmdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD1hcnJheS5sZW5ndGgtMV0gVGhlIGluZGV4IHRvIHNlYXJjaCBmcm9tLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBmb3VuZCBlbGVtZW50LCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhY3RpdmUnOiBmYWxzZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmluZExhc3RJbmRleCh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby51c2VyID09ICdwZWJibGVzJzsgfSk7XG4gICAgICogLy8gPT4gMlxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRMYXN0SW5kZXgodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IHRydWUgfSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RJbmRleCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IDJcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RJbmRleCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaW5kTGFzdEluZGV4KGFycmF5LCBwcmVkaWNhdGUsIGZyb21JbmRleCkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gbGVuZ3RoIC0gMTtcbiAgICAgIGlmIChmcm9tSW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpbmRleCA9IHRvSW50ZWdlcihmcm9tSW5kZXgpO1xuICAgICAgICBpbmRleCA9IGZyb21JbmRleCA8IDBcbiAgICAgICAgICA/IG5hdGl2ZU1heChsZW5ndGggKyBpbmRleCwgMClcbiAgICAgICAgICA6IG5hdGl2ZU1pbihpbmRleCwgbGVuZ3RoIC0gMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZUZpbmRJbmRleChhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgaW5kZXgsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZsYXR0ZW5zIGBhcnJheWAgYSBzaW5nbGUgbGV2ZWwgZGVlcC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBmbGF0dGVuLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGZsYXR0ZW5lZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mbGF0dGVuKFsxLCBbMiwgWzMsIFs0XV0sIDVdXSk7XG4gICAgICogLy8gPT4gWzEsIDIsIFszLCBbNF1dLCA1XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXR0ZW4oYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIHJldHVybiBsZW5ndGggPyBiYXNlRmxhdHRlbihhcnJheSwgMSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZWN1cnNpdmVseSBmbGF0dGVucyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGZsYXR0ZW4uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmZsYXR0ZW5EZWVwKFsxLCBbMiwgWzMsIFs0XV0sIDVdXSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDMsIDQsIDVdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdHRlbkRlZXAoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIHJldHVybiBsZW5ndGggPyBiYXNlRmxhdHRlbihhcnJheSwgSU5GSU5JVFkpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVjdXJzaXZlbHkgZmxhdHRlbiBgYXJyYXlgIHVwIHRvIGBkZXB0aGAgdGltZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC40LjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gZmxhdHRlbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RlcHRoPTFdIFRoZSBtYXhpbXVtIHJlY3Vyc2lvbiBkZXB0aC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBmbGF0dGVuZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsxLCBbMiwgWzMsIFs0XV0sIDVdXTtcbiAgICAgKlxuICAgICAqIF8uZmxhdHRlbkRlcHRoKGFycmF5LCAxKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgWzMsIFs0XV0sIDVdXG4gICAgICpcbiAgICAgKiBfLmZsYXR0ZW5EZXB0aChhcnJheSwgMik7XG4gICAgICogLy8gPT4gWzEsIDIsIDMsIFs0XSwgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0dGVuRGVwdGgoYXJyYXksIGRlcHRoKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBkZXB0aCA9IGRlcHRoID09PSB1bmRlZmluZWQgPyAxIDogdG9JbnRlZ2VyKGRlcHRoKTtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihhcnJheSwgZGVwdGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoZSBpbnZlcnNlIG9mIGBfLnRvUGFpcnNgOyB0aGlzIG1ldGhvZCByZXR1cm5zIGFuIG9iamVjdCBjb21wb3NlZFxuICAgICAqIGZyb20ga2V5LXZhbHVlIGBwYWlyc2AuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBwYWlycyBUaGUga2V5LXZhbHVlIHBhaXJzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZnJvbVBhaXJzKFtbJ2EnLCAxXSwgWydiJywgMl1dKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmcm9tUGFpcnMocGFpcnMpIHtcbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhaXJzID09IG51bGwgPyAwIDogcGFpcnMubGVuZ3RoLFxuICAgICAgICAgIHJlc3VsdCA9IHt9O1xuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgcGFpciA9IHBhaXJzW2luZGV4XTtcbiAgICAgICAgcmVzdWx0W3BhaXJbMF1dID0gcGFpclsxXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgZmlyc3QgZWxlbWVudCBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGFsaWFzIGZpcnN0XG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaGVhZChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IDFcbiAgICAgKlxuICAgICAqIF8uaGVhZChbXSk7XG4gICAgICogLy8gPT4gdW5kZWZpbmVkXG4gICAgICovXG4gICAgZnVuY3Rpb24gaGVhZChhcnJheSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpID8gYXJyYXlbMF0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaW5kZXggYXQgd2hpY2ggdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgYHZhbHVlYCBpcyBmb3VuZCBpbiBgYXJyYXlgXG4gICAgICogdXNpbmcgW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBmb3IgZXF1YWxpdHkgY29tcGFyaXNvbnMuIElmIGBmcm9tSW5kZXhgIGlzIG5lZ2F0aXZlLCBpdCdzIHVzZWQgYXMgdGhlXG4gICAgICogb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pbmRleE9mKFsxLCAyLCAxLCAyXSwgMik7XG4gICAgICogLy8gPT4gMVxuICAgICAqXG4gICAgICogLy8gU2VhcmNoIGZyb20gdGhlIGBmcm9tSW5kZXhgLlxuICAgICAqIF8uaW5kZXhPZihbMSwgMiwgMSwgMl0sIDIsIDIpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbmRleE9mKGFycmF5LCB2YWx1ZSwgZnJvbUluZGV4KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBmcm9tSW5kZXggPT0gbnVsbCA/IDAgOiB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgIGlmIChpbmRleCA8IDApIHtcbiAgICAgICAgaW5kZXggPSBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VJbmRleE9mKGFycmF5LCB2YWx1ZSwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYWxsIGJ1dCB0aGUgbGFzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmluaXRpYWwoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbml0aWFsKGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYmFzZVNsaWNlKGFycmF5LCAwLCAtMSkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHVuaXF1ZSB2YWx1ZXMgdGhhdCBhcmUgaW5jbHVkZWQgaW4gYWxsIGdpdmVuIGFycmF5c1xuICAgICAqIHVzaW5nIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLiBUaGUgb3JkZXIgYW5kIHJlZmVyZW5jZXMgb2YgcmVzdWx0IHZhbHVlcyBhcmVcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBmaXJzdCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBpbnRlcnNlY3RpbmcgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmludGVyc2VjdGlvbihbMiwgMV0sIFsyLCAzXSk7XG4gICAgICogLy8gPT4gWzJdXG4gICAgICovXG4gICAgdmFyIGludGVyc2VjdGlvbiA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIG1hcHBlZCA9IGFycmF5TWFwKGFycmF5cywgY2FzdEFycmF5TGlrZU9iamVjdCk7XG4gICAgICByZXR1cm4gKG1hcHBlZC5sZW5ndGggJiYgbWFwcGVkWzBdID09PSBhcnJheXNbMF0pXG4gICAgICAgID8gYmFzZUludGVyc2VjdGlvbihtYXBwZWQpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmludGVyc2VjdGlvbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IG9mIGVhY2ggYGFycmF5c2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvblxuICAgICAqIGJ5IHdoaWNoIHRoZXkncmUgY29tcGFyZWQuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlcyBvZiByZXN1bHQgdmFsdWVzIGFyZVxuICAgICAqIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDpcbiAgICAgKiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBpbnRlcnNlY3RpbmcgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmludGVyc2VjdGlvbkJ5KFsyLjEsIDEuMl0sIFsyLjMsIDMuNF0sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IFsyLjFdXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmludGVyc2VjdGlvbkJ5KFt7ICd4JzogMSB9XSwgW3sgJ3gnOiAyIH0sIHsgJ3gnOiAxIH1dLCAneCcpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSB9XVxuICAgICAqL1xuICAgIHZhciBpbnRlcnNlY3Rpb25CeSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGl0ZXJhdGVlID0gbGFzdChhcnJheXMpLFxuICAgICAgICAgIG1hcHBlZCA9IGFycmF5TWFwKGFycmF5cywgY2FzdEFycmF5TGlrZU9iamVjdCk7XG5cbiAgICAgIGlmIChpdGVyYXRlZSA9PT0gbGFzdChtYXBwZWQpKSB7XG4gICAgICAgIGl0ZXJhdGVlID0gdW5kZWZpbmVkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWFwcGVkLnBvcCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChtYXBwZWQubGVuZ3RoICYmIG1hcHBlZFswXSA9PT0gYXJyYXlzWzBdKVxuICAgICAgICA/IGJhc2VJbnRlcnNlY3Rpb24obWFwcGVkLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmludGVyc2VjdGlvbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5c2AuIFRoZSBvcmRlciBhbmQgcmVmZXJlbmNlc1xuICAgICAqIG9mIHJlc3VsdCB2YWx1ZXMgYXJlIGRldGVybWluZWQgYnkgdGhlIGZpcnN0IGFycmF5LiBUaGUgY29tcGFyYXRvciBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGludGVyc2VjdGluZyB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9XTtcbiAgICAgKiB2YXIgb3RoZXJzID0gW3sgJ3gnOiAxLCAneSc6IDEgfSwgeyAneCc6IDEsICd5JzogMiB9XTtcbiAgICAgKlxuICAgICAqIF8uaW50ZXJzZWN0aW9uV2l0aChvYmplY3RzLCBvdGhlcnMsIF8uaXNFcXVhbCk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxLCAneSc6IDIgfV1cbiAgICAgKi9cbiAgICB2YXIgaW50ZXJzZWN0aW9uV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGNvbXBhcmF0b3IgPSBsYXN0KGFycmF5cyksXG4gICAgICAgICAgbWFwcGVkID0gYXJyYXlNYXAoYXJyYXlzLCBjYXN0QXJyYXlMaWtlT2JqZWN0KTtcblxuICAgICAgY29tcGFyYXRvciA9IHR5cGVvZiBjb21wYXJhdG9yID09ICdmdW5jdGlvbicgPyBjb21wYXJhdG9yIDogdW5kZWZpbmVkO1xuICAgICAgaWYgKGNvbXBhcmF0b3IpIHtcbiAgICAgICAgbWFwcGVkLnBvcCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChtYXBwZWQubGVuZ3RoICYmIG1hcHBlZFswXSA9PT0gYXJyYXlzWzBdKVxuICAgICAgICA/IGJhc2VJbnRlcnNlY3Rpb24obWFwcGVkLCB1bmRlZmluZWQsIGNvbXBhcmF0b3IpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBhbGwgZWxlbWVudHMgaW4gYGFycmF5YCBpbnRvIGEgc3RyaW5nIHNlcGFyYXRlZCBieSBgc2VwYXJhdG9yYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBjb252ZXJ0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc2VwYXJhdG9yPScsJ10gVGhlIGVsZW1lbnQgc2VwYXJhdG9yLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGpvaW5lZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uam9pbihbJ2EnLCAnYicsICdjJ10sICd+Jyk7XG4gICAgICogLy8gPT4gJ2F+Yn5jJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGpvaW4oYXJyYXksIHNlcGFyYXRvcikge1xuICAgICAgcmV0dXJuIGFycmF5ID09IG51bGwgPyAnJyA6IG5hdGl2ZUpvaW4uY2FsbChhcnJheSwgc2VwYXJhdG9yKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBsYXN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbGFzdCBlbGVtZW50IG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubGFzdChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBsYXN0KGFycmF5KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICByZXR1cm4gbGVuZ3RoID8gYXJyYXlbbGVuZ3RoIC0gMV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5pbmRleE9mYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mXG4gICAgICogYGFycmF5YCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbZnJvbUluZGV4PWFycmF5Lmxlbmd0aC0xXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sYXN0SW5kZXhPZihbMSwgMiwgMSwgMl0sIDIpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIC8vIFNlYXJjaCBmcm9tIHRoZSBgZnJvbUluZGV4YC5cbiAgICAgKiBfLmxhc3RJbmRleE9mKFsxLCAyLCAxLCAyXSwgMiwgMik7XG4gICAgICogLy8gPT4gMVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGxhc3RJbmRleE9mKGFycmF5LCB2YWx1ZSwgZnJvbUluZGV4KSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSBsZW5ndGg7XG4gICAgICBpZiAoZnJvbUluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaW5kZXggPSB0b0ludGVnZXIoZnJvbUluZGV4KTtcbiAgICAgICAgaW5kZXggPSBpbmRleCA8IDAgPyBuYXRpdmVNYXgobGVuZ3RoICsgaW5kZXgsIDApIDogbmF0aXZlTWluKGluZGV4LCBsZW5ndGggLSAxKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdmFsdWVcbiAgICAgICAgPyBzdHJpY3RMYXN0SW5kZXhPZihhcnJheSwgdmFsdWUsIGluZGV4KVxuICAgICAgICA6IGJhc2VGaW5kSW5kZXgoYXJyYXksIGJhc2VJc05hTiwgaW5kZXgsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGVsZW1lbnQgYXQgaW5kZXggYG5gIG9mIGBhcnJheWAuIElmIGBuYCBpcyBuZWdhdGl2ZSwgdGhlIG50aFxuICAgICAqIGVsZW1lbnQgZnJvbSB0aGUgZW5kIGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249MF0gVGhlIGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIHJldHVybi5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgbnRoIGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydhJywgJ2InLCAnYycsICdkJ107XG4gICAgICpcbiAgICAgKiBfLm50aChhcnJheSwgMSk7XG4gICAgICogLy8gPT4gJ2InXG4gICAgICpcbiAgICAgKiBfLm50aChhcnJheSwgLTIpO1xuICAgICAqIC8vID0+ICdjJztcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBudGgoYXJyYXksIG4pIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSA/IGJhc2VOdGgoYXJyYXksIHRvSW50ZWdlcihuKSkgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbGwgZ2l2ZW4gdmFsdWVzIGZyb20gYGFycmF5YCB1c2luZ1xuICAgICAqIFtgU2FtZVZhbHVlWmVyb2BdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXNhbWV2YWx1ZXplcm8pXG4gICAgICogZm9yIGVxdWFsaXR5IGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy53aXRob3V0YCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLiBVc2UgYF8ucmVtb3ZlYFxuICAgICAqIHRvIHJlbW92ZSBlbGVtZW50cyBmcm9tIGFuIGFycmF5IGJ5IHByZWRpY2F0ZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbdmFsdWVzXSBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydhJywgJ2InLCAnYycsICdhJywgJ2InLCAnYyddO1xuICAgICAqXG4gICAgICogXy5wdWxsKGFycmF5LCAnYScsICdjJyk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsnYicsICdiJ11cbiAgICAgKi9cbiAgICB2YXIgcHVsbCA9IGJhc2VSZXN0KHB1bGxBbGwpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5wdWxsYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGFuIGFycmF5IG9mIHZhbHVlcyB0byByZW1vdmUuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLmRpZmZlcmVuY2VgLCB0aGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl9IHZhbHVlcyBUaGUgdmFsdWVzIHRvIHJlbW92ZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydhJywgJ2InLCAnYycsICdhJywgJ2InLCAnYyddO1xuICAgICAqXG4gICAgICogXy5wdWxsQWxsKGFycmF5LCBbJ2EnLCAnYyddKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gWydiJywgJ2InXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHB1bGxBbGwoYXJyYXksIHZhbHVlcykge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGggJiYgdmFsdWVzICYmIHZhbHVlcy5sZW5ndGgpXG4gICAgICAgID8gYmFzZVB1bGxBbGwoYXJyYXksIHZhbHVlcylcbiAgICAgICAgOiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnB1bGxBbGxgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBgYXJyYXlgIGFuZCBgdmFsdWVzYCB0byBnZW5lcmF0ZSB0aGUgY3JpdGVyaW9uXG4gICAgICogYnkgd2hpY2ggdGhleSdyZSBjb21wYXJlZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLmRpZmZlcmVuY2VCeWAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW3sgJ3gnOiAxIH0sIHsgJ3gnOiAyIH0sIHsgJ3gnOiAzIH0sIHsgJ3gnOiAxIH1dO1xuICAgICAqXG4gICAgICogXy5wdWxsQWxsQnkoYXJyYXksIFt7ICd4JzogMSB9LCB7ICd4JzogMyB9XSwgJ3gnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAyIH1dXG4gICAgICovXG4gICAgZnVuY3Rpb24gcHVsbEFsbEJ5KGFycmF5LCB2YWx1ZXMsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCAmJiB2YWx1ZXMgJiYgdmFsdWVzLmxlbmd0aClcbiAgICAgICAgPyBiYXNlUHVsbEFsbChhcnJheSwgdmFsdWVzLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpXG4gICAgICAgIDogYXJyYXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5wdWxsQWxsYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjb21wYXJhdG9yYCB3aGljaFxuICAgICAqIGlzIGludm9rZWQgdG8gY29tcGFyZSBlbGVtZW50cyBvZiBgYXJyYXlgIHRvIGB2YWx1ZXNgLiBUaGUgY29tcGFyYXRvciBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0d28gYXJndW1lbnRzOiAoYXJyVmFsLCBvdGhWYWwpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBgXy5kaWZmZXJlbmNlV2l0aGAsIHRoaXMgbWV0aG9kIG11dGF0ZXMgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjYuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBtb2RpZnkuXG4gICAgICogQHBhcmFtIHtBcnJheX0gdmFsdWVzIFRoZSB2YWx1ZXMgdG8gcmVtb3ZlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjb21wYXJhdG9yXSBUaGUgY29tcGFyYXRvciBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMywgJ3knOiA0IH0sIHsgJ3gnOiA1LCAneSc6IDYgfV07XG4gICAgICpcbiAgICAgKiBfLnB1bGxBbGxXaXRoKGFycmF5LCBbeyAneCc6IDMsICd5JzogNCB9XSwgXy5pc0VxdWFsKTtcbiAgICAgKiBjb25zb2xlLmxvZyhhcnJheSk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDUsICd5JzogNiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHB1bGxBbGxXaXRoKGFycmF5LCB2YWx1ZXMsIGNvbXBhcmF0b3IpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoICYmIHZhbHVlcyAmJiB2YWx1ZXMubGVuZ3RoKVxuICAgICAgICA/IGJhc2VQdWxsQWxsKGFycmF5LCB2YWx1ZXMsIHVuZGVmaW5lZCwgY29tcGFyYXRvcilcbiAgICAgICAgOiBhcnJheTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGVsZW1lbnRzIGZyb20gYGFycmF5YCBjb3JyZXNwb25kaW5nIHRvIGBpbmRleGVzYCBhbmQgcmV0dXJucyBhblxuICAgICAqIGFycmF5IG9mIHJlbW92ZWQgZWxlbWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLmF0YCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0gey4uLihudW1iZXJ8bnVtYmVyW10pfSBbaW5kZXhlc10gVGhlIGluZGV4ZXMgb2YgZWxlbWVudHMgdG8gcmVtb3ZlLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIHJlbW92ZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFsnYScsICdiJywgJ2MnLCAnZCddO1xuICAgICAqIHZhciBwdWxsZWQgPSBfLnB1bGxBdChhcnJheSwgWzEsIDNdKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYyddXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhwdWxsZWQpO1xuICAgICAqIC8vID0+IFsnYicsICdkJ11cbiAgICAgKi9cbiAgICB2YXIgcHVsbEF0ID0gZmxhdFJlc3QoZnVuY3Rpb24oYXJyYXksIGluZGV4ZXMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aCxcbiAgICAgICAgICByZXN1bHQgPSBiYXNlQXQoYXJyYXksIGluZGV4ZXMpO1xuXG4gICAgICBiYXNlUHVsbEF0KGFycmF5LCBhcnJheU1hcChpbmRleGVzLCBmdW5jdGlvbihpbmRleCkge1xuICAgICAgICByZXR1cm4gaXNJbmRleChpbmRleCwgbGVuZ3RoKSA/ICtpbmRleCA6IGluZGV4O1xuICAgICAgfSkuc29ydChjb21wYXJlQXNjZW5kaW5nKSk7XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFsbCBlbGVtZW50cyBmcm9tIGBhcnJheWAgdGhhdCBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3JcbiAgICAgKiBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgcmVtb3ZlZCBlbGVtZW50cy4gVGhlIHByZWRpY2F0ZSBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8uZmlsdGVyYCwgdGhpcyBtZXRob2QgbXV0YXRlcyBgYXJyYXlgLiBVc2UgYF8ucHVsbGBcbiAgICAgKiB0byBwdWxsIGVsZW1lbnRzIGZyb20gYW4gYXJyYXkgYnkgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiByZW1vdmVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgMiwgMywgNF07XG4gICAgICogdmFyIGV2ZW5zID0gXy5yZW1vdmUoYXJyYXksIGZ1bmN0aW9uKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAwO1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsxLCAzXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coZXZlbnMpO1xuICAgICAqIC8vID0+IFsyLCA0XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlbW92ZShhcnJheSwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgcmVzdWx0ID0gW107XG4gICAgICBpZiAoIShhcnJheSAmJiBhcnJheS5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICBpbmRleGVzID0gW10sXG4gICAgICAgICAgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gICAgICBwcmVkaWNhdGUgPSBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBsZW5ndGgpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gYXJyYXlbaW5kZXhdO1xuICAgICAgICBpZiAocHJlZGljYXRlKHZhbHVlLCBpbmRleCwgYXJyYXkpKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2godmFsdWUpO1xuICAgICAgICAgIGluZGV4ZXMucHVzaChpbmRleCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJhc2VQdWxsQXQoYXJyYXksIGluZGV4ZXMpO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXZlcnNlcyBgYXJyYXlgIHNvIHRoYXQgdGhlIGZpcnN0IGVsZW1lbnQgYmVjb21lcyB0aGUgbGFzdCwgdGhlIHNlY29uZFxuICAgICAqIGVsZW1lbnQgYmVjb21lcyB0aGUgc2Vjb25kIHRvIGxhc3QsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBhcnJheWAgYW5kIGlzIGJhc2VkIG9uXG4gICAgICogW2BBcnJheSNyZXZlcnNlYF0oaHR0cHM6Ly9tZG4uaW8vQXJyYXkvcmV2ZXJzZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gbW9kaWZ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgMiwgM107XG4gICAgICpcbiAgICAgKiBfLnJldmVyc2UoYXJyYXkpO1xuICAgICAqIC8vID0+IFszLCAyLCAxXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFszLCAyLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJldmVyc2UoYXJyYXkpIHtcbiAgICAgIHJldHVybiBhcnJheSA9PSBudWxsID8gYXJyYXkgOiBuYXRpdmVSZXZlcnNlLmNhbGwoYXJyYXkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIGZyb20gYHN0YXJ0YCB1cCB0bywgYnV0IG5vdCBpbmNsdWRpbmcsIGBlbmRgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIHVzZWQgaW5zdGVhZCBvZlxuICAgICAqIFtgQXJyYXkjc2xpY2VgXShodHRwczovL21kbi5pby9BcnJheS9zbGljZSkgdG8gZW5zdXJlIGRlbnNlIGFycmF5cyBhcmVcbiAgICAgKiByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBzbGljZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2VuZD1hcnJheS5sZW5ndGhdIFRoZSBlbmQgcG9zaXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNsaWNlKGFycmF5LCBzdGFydCwgZW5kKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoZW5kICYmIHR5cGVvZiBlbmQgIT0gJ251bWJlcicgJiYgaXNJdGVyYXRlZUNhbGwoYXJyYXksIHN0YXJ0LCBlbmQpKSB7XG4gICAgICAgIHN0YXJ0ID0gMDtcbiAgICAgICAgZW5kID0gbGVuZ3RoO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIHN0YXJ0ID0gc3RhcnQgPT0gbnVsbCA/IDAgOiB0b0ludGVnZXIoc3RhcnQpO1xuICAgICAgICBlbmQgPSBlbmQgPT09IHVuZGVmaW5lZCA/IGxlbmd0aCA6IHRvSW50ZWdlcihlbmQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgc3RhcnQsIGVuZCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVXNlcyBhIGJpbmFyeSBzZWFyY2ggdG8gZGV0ZXJtaW5lIHRoZSBsb3dlc3QgaW5kZXggYXQgd2hpY2ggYHZhbHVlYFxuICAgICAqIHNob3VsZCBiZSBpbnNlcnRlZCBpbnRvIGBhcnJheWAgaW4gb3JkZXIgdG8gbWFpbnRhaW4gaXRzIHNvcnQgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgc29ydGVkIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gZXZhbHVhdGUuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvcnRlZEluZGV4KFszMCwgNTBdLCA0MCk7XG4gICAgICogLy8gPT4gMVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydGVkSW5kZXhgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYFxuICAgICAqIHdoaWNoIGlzIGludm9rZWQgZm9yIGB2YWx1ZWAgYW5kIGVhY2ggZWxlbWVudCBvZiBgYXJyYXlgIHRvIGNvbXB1dGUgdGhlaXJcbiAgICAgKiBzb3J0IHJhbmtpbmcuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBhdCB3aGljaCBgdmFsdWVgIHNob3VsZCBiZSBpbnNlcnRlZFxuICAgICAqICBpbnRvIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ3gnOiA0IH0sIHsgJ3gnOiA1IH1dO1xuICAgICAqXG4gICAgICogXy5zb3J0ZWRJbmRleEJ5KG9iamVjdHMsIHsgJ3gnOiA0IH0sIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ueDsgfSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb3J0ZWRJbmRleEJ5KG9iamVjdHMsIHsgJ3gnOiA0IH0sICd4Jyk7XG4gICAgICogLy8gPT4gMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZEluZGV4QnkoYXJyYXksIHZhbHVlLCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleEJ5KGFycmF5LCB2YWx1ZSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmluZGV4T2ZgIGV4Y2VwdCB0aGF0IGl0IHBlcmZvcm1zIGEgYmluYXJ5XG4gICAgICogc2VhcmNoIG9uIGEgc29ydGVkIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZWFyY2ggZm9yLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IG9mIHRoZSBtYXRjaGVkIHZhbHVlLCBlbHNlIGAtMWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkSW5kZXhPZihbNCwgNSwgNSwgNSwgNl0sIDUpO1xuICAgICAqIC8vID0+IDFcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRJbmRleE9mKGFycmF5LCB2YWx1ZSkge1xuICAgICAgdmFyIGxlbmd0aCA9IGFycmF5ID09IG51bGwgPyAwIDogYXJyYXkubGVuZ3RoO1xuICAgICAgaWYgKGxlbmd0aCkge1xuICAgICAgICB2YXIgaW5kZXggPSBiYXNlU29ydGVkSW5kZXgoYXJyYXksIHZhbHVlKTtcbiAgICAgICAgaWYgKGluZGV4IDwgbGVuZ3RoICYmIGVxKGFycmF5W2luZGV4XSwgdmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIGluZGV4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zb3J0ZWRJbmRleGAgZXhjZXB0IHRoYXQgaXQgcmV0dXJucyB0aGUgaGlnaGVzdFxuICAgICAqIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkIGludG8gYGFycmF5YCBpbiBvcmRlciB0b1xuICAgICAqIG1haW50YWluIGl0cyBzb3J0IG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIHNvcnRlZCBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGV2YWx1YXRlLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGluZGV4IGF0IHdoaWNoIGB2YWx1ZWAgc2hvdWxkIGJlIGluc2VydGVkXG4gICAgICogIGludG8gYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRMYXN0SW5kZXgoWzQsIDUsIDUsIDUsIDZdLCA1KTtcbiAgICAgKiAvLyA9PiA0XG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkTGFzdEluZGV4KGFycmF5LCB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGJhc2VTb3J0ZWRJbmRleChhcnJheSwgdmFsdWUsIHRydWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydGVkTGFzdEluZGV4YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIGZvciBgdmFsdWVgIGFuZCBlYWNoIGVsZW1lbnQgb2YgYGFycmF5YCB0byBjb21wdXRlIHRoZWlyXG4gICAgICogc29ydCByYW5raW5nLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBzb3J0ZWQgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBldmFsdWF0ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggYXQgd2hpY2ggYHZhbHVlYCBzaG91bGQgYmUgaW5zZXJ0ZWRcbiAgICAgKiAgaW50byBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogNCB9LCB7ICd4JzogNSB9XTtcbiAgICAgKlxuICAgICAqIF8uc29ydGVkTGFzdEluZGV4Qnkob2JqZWN0cywgeyAneCc6IDQgfSwgZnVuY3Rpb24obykgeyByZXR1cm4gby54OyB9KTtcbiAgICAgKiAvLyA9PiAxXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvcnRlZExhc3RJbmRleEJ5KG9iamVjdHMsIHsgJ3gnOiA0IH0sICd4Jyk7XG4gICAgICogLy8gPT4gMVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZExhc3RJbmRleEJ5KGFycmF5LCB2YWx1ZSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlU29ydGVkSW5kZXhCeShhcnJheSwgdmFsdWUsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5sYXN0SW5kZXhPZmAgZXhjZXB0IHRoYXQgaXQgcGVyZm9ybXMgYSBiaW5hcnlcbiAgICAgKiBzZWFyY2ggb24gYSBzb3J0ZWQgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgaW5kZXggb2YgdGhlIG1hdGNoZWQgdmFsdWUsIGVsc2UgYC0xYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zb3J0ZWRMYXN0SW5kZXhPZihbNCwgNSwgNSwgNSwgNl0sIDUpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzb3J0ZWRMYXN0SW5kZXhPZihhcnJheSwgdmFsdWUpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIGlmIChsZW5ndGgpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gYmFzZVNvcnRlZEluZGV4KGFycmF5LCB2YWx1ZSwgdHJ1ZSkgLSAxO1xuICAgICAgICBpZiAoZXEoYXJyYXlbaW5kZXhdLCB2YWx1ZSkpIHtcbiAgICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuaXFgIGV4Y2VwdCB0aGF0IGl0J3MgZGVzaWduZWQgYW5kIG9wdGltaXplZFxuICAgICAqIGZvciBzb3J0ZWQgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkVW5pcShbMSwgMSwgMl0pO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvcnRlZFVuaXEoYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VTb3J0ZWRVbmlxKGFycmF5KVxuICAgICAgICA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pcUJ5YCBleGNlcHQgdGhhdCBpdCdzIGRlc2lnbmVkIGFuZCBvcHRpbWl6ZWRcbiAgICAgKiBmb3Igc29ydGVkIGFycmF5cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc29ydGVkVW5pcUJ5KFsxLjEsIDEuMiwgMi4zLCAyLjRdLCBNYXRoLmZsb29yKTtcbiAgICAgKiAvLyA9PiBbMS4xLCAyLjNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc29ydGVkVW5pcUJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVNvcnRlZFVuaXEoYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFsbCBidXQgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGFpbChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IFsyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRhaWwoYXJyYXkpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheSA9PSBudWxsID8gMCA6IGFycmF5Lmxlbmd0aDtcbiAgICAgIHJldHVybiBsZW5ndGggPyBiYXNlU2xpY2UoYXJyYXksIDEsIGxlbmd0aCkgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgc2xpY2Ugb2YgYGFycmF5YCB3aXRoIGBuYCBlbGVtZW50cyB0YWtlbiBmcm9tIHRoZSBiZWdpbm5pbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTFdIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgdG8gdGFrZS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgc2xpY2Ugb2YgYGFycmF5YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50YWtlKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzFdXG4gICAgICpcbiAgICAgKiBfLnRha2UoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIF8udGFrZShbMSwgMiwgM10sIDUpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogXy50YWtlKFsxLCAyLCAzXSwgMCk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWtlKGFycmF5LCBuLCBndWFyZCkge1xuICAgICAgaWYgKCEoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBuID0gKGd1YXJkIHx8IG4gPT09IHVuZGVmaW5lZCkgPyAxIDogdG9JbnRlZ2VyKG4pO1xuICAgICAgcmV0dXJuIGJhc2VTbGljZShhcnJheSwgMCwgbiA8IDAgPyAwIDogbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBgbmAgZWxlbWVudHMgdGFrZW4gZnJvbSB0aGUgZW5kLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHRha2UuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGFrZVJpZ2h0KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gWzNdXG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodChbMSwgMiwgM10sIDIpO1xuICAgICAqIC8vID0+IFsyLCAzXVxuICAgICAqXG4gICAgICogXy50YWtlUmlnaHQoWzEsIDIsIDNdLCA1KTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIF8udGFrZVJpZ2h0KFsxLCAyLCAzXSwgMCk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0YWtlUmlnaHQoYXJyYXksIG4sIGd1YXJkKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gYXJyYXkgPT0gbnVsbCA/IDAgOiBhcnJheS5sZW5ndGg7XG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBuID0gKGd1YXJkIHx8IG4gPT09IHVuZGVmaW5lZCkgPyAxIDogdG9JbnRlZ2VyKG4pO1xuICAgICAgbiA9IGxlbmd0aCAtIG47XG4gICAgICByZXR1cm4gYmFzZVNsaWNlKGFycmF5LCBuIDwgMCA/IDAgOiBuLCBsZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzbGljZSBvZiBgYXJyYXlgIHdpdGggZWxlbWVudHMgdGFrZW4gZnJvbSB0aGUgZW5kLiBFbGVtZW50cyBhcmVcbiAgICAgKiB0YWtlbiB1bnRpbCBgcHJlZGljYXRlYCByZXR1cm5zIGZhbHNleS4gVGhlIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGhcbiAgICAgKiB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXgsIGFycmF5KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBzbGljZSBvZiBgYXJyYXlgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnRha2VSaWdodFdoaWxlKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCcsICdwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlUmlnaHRXaGlsZSh1c2VycywgeyAndXNlcic6ICdwZWJibGVzJywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsncGViYmxlcyddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy50YWtlUmlnaHRXaGlsZSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCcsICdwZWJibGVzJ11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVJpZ2h0V2hpbGUodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRha2VSaWdodFdoaWxlKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VXaGlsZShhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgZmFsc2UsIHRydWUpXG4gICAgICAgIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHNsaWNlIG9mIGBhcnJheWAgd2l0aCBlbGVtZW50cyB0YWtlbiBmcm9tIHRoZSBiZWdpbm5pbmcuIEVsZW1lbnRzXG4gICAgICogYXJlIHRha2VuIHVudGlsIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5LiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aFxuICAgICAqIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleCwgYXJyYXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHNsaWNlIG9mIGBhcnJheWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWN0aXZlJzogdHJ1ZSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8udGFrZVdoaWxlKHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiAhby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5JywgJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VXaGlsZSh1c2VycywgeyAndXNlcic6ICdiYXJuZXknLCAnYWN0aXZlJzogZmFsc2UgfSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8udGFrZVdoaWxlKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgWydiYXJuZXknLCAnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnRha2VXaGlsZSh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFrZVdoaWxlKGFycmF5LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VXaGlsZShhcnJheSwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSlcbiAgICAgICAgOiBbXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHVuaXF1ZSB2YWx1ZXMsIGluIG9yZGVyLCBmcm9tIGFsbCBnaXZlbiBhcnJheXMgdXNpbmdcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gaW5zcGVjdC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21iaW5lZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udW5pb24oWzJdLCBbMSwgMl0pO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIHZhciB1bmlvbiA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgcmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKGFycmF5cywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pb25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBvZiBlYWNoIGBhcnJheXNgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnlcbiAgICAgKiB3aGljaCB1bmlxdWVuZXNzIGlzIGNvbXB1dGVkLiBSZXN1bHQgdmFsdWVzIGFyZSBjaG9zZW4gZnJvbSB0aGUgZmlyc3RcbiAgICAgKiBhcnJheSBpbiB3aGljaCB0aGUgdmFsdWUgb2NjdXJzLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDpcbiAgICAgKiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBjb21iaW5lZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udW5pb25CeShbMi4xXSwgWzEuMiwgMi4zXSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzIuMSwgMS4yXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy51bmlvbkJ5KFt7ICd4JzogMSB9XSwgW3sgJ3gnOiAyIH0sIHsgJ3gnOiAxIH1dLCAneCcpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSB9LCB7ICd4JzogMiB9XVxuICAgICAqL1xuICAgIHZhciB1bmlvbkJ5ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICB2YXIgaXRlcmF0ZWUgPSBsYXN0KGFycmF5cyk7XG4gICAgICBpZiAoaXNBcnJheUxpa2VPYmplY3QoaXRlcmF0ZWUpKSB7XG4gICAgICAgIGl0ZXJhdGVlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VVbmlxKGJhc2VGbGF0dGVuKGFycmF5cywgMSwgaXNBcnJheUxpa2VPYmplY3QsIHRydWUpLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlvbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY29tcGFyYXRvcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgZWxlbWVudHMgb2YgYGFycmF5c2AuIFJlc3VsdCB2YWx1ZXMgYXJlIGNob3NlbiBmcm9tXG4gICAgICogdGhlIGZpcnN0IGFycmF5IGluIHdoaWNoIHRoZSB2YWx1ZSBvY2N1cnMuIFRoZSBjb21wYXJhdG9yIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgY29tYmluZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV07XG4gICAgICogdmFyIG90aGVycyA9IFt7ICd4JzogMSwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLnVuaW9uV2l0aChvYmplY3RzLCBvdGhlcnMsIF8uaXNFcXVhbCk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9LCB7ICd4JzogMSwgJ3knOiAxIH1dXG4gICAgICovXG4gICAgdmFyIHVuaW9uV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGNvbXBhcmF0b3IgPSBsYXN0KGFycmF5cyk7XG4gICAgICBjb21wYXJhdG9yID0gdHlwZW9mIGNvbXBhcmF0b3IgPT0gJ2Z1bmN0aW9uJyA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gYmFzZVVuaXEoYmFzZUZsYXR0ZW4oYXJyYXlzLCAxLCBpc0FycmF5TGlrZU9iamVjdCwgdHJ1ZSksIHVuZGVmaW5lZCwgY29tcGFyYXRvcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZHVwbGljYXRlLWZyZWUgdmVyc2lvbiBvZiBhbiBhcnJheSwgdXNpbmdcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucywgaW4gd2hpY2ggb25seSB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiBlYWNoIGVsZW1lbnRcbiAgICAgKiBpcyBrZXB0LiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlciB0aGV5IG9jY3VyXG4gICAgICogaW4gdGhlIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udW5pcShbMiwgMSwgMl0pO1xuICAgICAqIC8vID0+IFsyLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuaXEoYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSA/IGJhc2VVbmlxKGFycmF5KSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udW5pcWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IGluIGBhcnJheWAgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvbiBieSB3aGljaFxuICAgICAqIHVuaXF1ZW5lc3MgaXMgY29tcHV0ZWQuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzIGRldGVybWluZWQgYnkgdGhlXG4gICAgICogb3JkZXIgdGhleSBvY2N1ciBpbiB0aGUgYXJyYXkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OlxuICAgICAqICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZHVwbGljYXRlIGZyZWUgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udW5pcUJ5KFsyLjEsIDEuMiwgMi4zXSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzIuMSwgMS4yXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy51bmlxQnkoW3sgJ3gnOiAxIH0sIHsgJ3gnOiAyIH0sIHsgJ3gnOiAxIH1dLCAneCcpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMSB9LCB7ICd4JzogMiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuaXFCeShhcnJheSwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKSA/IGJhc2VVbmlxKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpIDogW107XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy51bmlxYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjb21wYXJhdG9yYCB3aGljaFxuICAgICAqIGlzIGludm9rZWQgdG8gY29tcGFyZSBlbGVtZW50cyBvZiBgYXJyYXlgLiBUaGUgb3JkZXIgb2YgcmVzdWx0IHZhbHVlcyBpc1xuICAgICAqIGRldGVybWluZWQgYnkgdGhlIG9yZGVyIHRoZXkgb2NjdXIgaW4gdGhlIGFycmF5LlRoZSBjb21wYXJhdG9yIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyYXRvcl0gVGhlIGNvbXBhcmF0b3IgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBkdXBsaWNhdGUgZnJlZSBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAneCc6IDEsICd5JzogMiB9LCB7ICd4JzogMiwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLnVuaXFXaXRoKG9iamVjdHMsIF8uaXNFcXVhbCk7XG4gICAgICogLy8gPT4gW3sgJ3gnOiAxLCAneSc6IDIgfSwgeyAneCc6IDIsICd5JzogMSB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuaXFXaXRoKGFycmF5LCBjb21wYXJhdG9yKSB7XG4gICAgICBjb21wYXJhdG9yID0gdHlwZW9mIGNvbXBhcmF0b3IgPT0gJ2Z1bmN0aW9uJyA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aCkgPyBiYXNlVW5pcShhcnJheSwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKSA6IFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uemlwYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGFuIGFycmF5IG9mIGdyb3VwZWRcbiAgICAgKiBlbGVtZW50cyBhbmQgY3JlYXRlcyBhbiBhcnJheSByZWdyb3VwaW5nIHRoZSBlbGVtZW50cyB0byB0aGVpciBwcmUtemlwXG4gICAgICogY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjIuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgcmVncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgemlwcGVkID0gXy56aXAoWydhJywgJ2InXSwgWzEsIDJdLCBbdHJ1ZSwgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiBbWydhJywgMSwgdHJ1ZV0sIFsnYicsIDIsIGZhbHNlXV1cbiAgICAgKlxuICAgICAqIF8udW56aXAoemlwcGVkKTtcbiAgICAgKiAvLyA9PiBbWydhJywgJ2InXSwgWzEsIDJdLCBbdHJ1ZSwgZmFsc2VdXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuemlwKGFycmF5KSB7XG4gICAgICBpZiAoIShhcnJheSAmJiBhcnJheS5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSAwO1xuICAgICAgYXJyYXkgPSBhcnJheUZpbHRlcihhcnJheSwgZnVuY3Rpb24oZ3JvdXApIHtcbiAgICAgICAgaWYgKGlzQXJyYXlMaWtlT2JqZWN0KGdyb3VwKSkge1xuICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1heChncm91cC5sZW5ndGgsIGxlbmd0aCk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGJhc2VUaW1lcyhsZW5ndGgsIGZ1bmN0aW9uKGluZGV4KSB7XG4gICAgICAgIHJldHVybiBhcnJheU1hcChhcnJheSwgYmFzZVByb3BlcnR5KGluZGV4KSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVuemlwYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBpdGVyYXRlZWAgdG8gc3BlY2lmeVxuICAgICAqIGhvdyByZWdyb3VwZWQgdmFsdWVzIHNob3VsZCBiZSBjb21iaW5lZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCB0aGVcbiAgICAgKiBlbGVtZW50cyBvZiBlYWNoIGdyb3VwOiAoLi4uZ3JvdXApLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IG9mIGdyb3VwZWQgZWxlbWVudHMgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIHRvIGNvbWJpbmVcbiAgICAgKiAgcmVncm91cGVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiByZWdyb3VwZWQgZWxlbWVudHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB6aXBwZWQgPSBfLnppcChbMSwgMl0sIFsxMCwgMjBdLCBbMTAwLCAyMDBdKTtcbiAgICAgKiAvLyA9PiBbWzEsIDEwLCAxMDBdLCBbMiwgMjAsIDIwMF1dXG4gICAgICpcbiAgICAgKiBfLnVuemlwV2l0aCh6aXBwZWQsIF8uYWRkKTtcbiAgICAgKiAvLyA9PiBbMywgMzAsIDMwMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bnppcFdpdGgoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICBpZiAoIShhcnJheSAmJiBhcnJheS5sZW5ndGgpKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSB1bnppcChhcnJheSk7XG4gICAgICBpZiAoaXRlcmF0ZWUgPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycmF5TWFwKHJlc3VsdCwgZnVuY3Rpb24oZ3JvdXApIHtcbiAgICAgICAgcmV0dXJuIGFwcGx5KGl0ZXJhdGVlLCB1bmRlZmluZWQsIGdyb3VwKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgZXhjbHVkaW5nIGFsbCBnaXZlbiB2YWx1ZXMgdXNpbmdcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBVbmxpa2UgYF8ucHVsbGAsIHRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0gey4uLip9IFt2YWx1ZXNdIFRoZSB2YWx1ZXMgdG8gZXhjbHVkZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQHNlZSBfLmRpZmZlcmVuY2UsIF8ueG9yXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ud2l0aG91dChbMiwgMSwgMiwgM10sIDEsIDIpO1xuICAgICAqIC8vID0+IFszXVxuICAgICAqL1xuICAgIHZhciB3aXRob3V0ID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXksIHZhbHVlcykge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlT2JqZWN0KGFycmF5KVxuICAgICAgICA/IGJhc2VEaWZmZXJlbmNlKGFycmF5LCB2YWx1ZXMpXG4gICAgICAgIDogW107XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIHVuaXF1ZSB2YWx1ZXMgdGhhdCBpcyB0aGVcbiAgICAgKiBbc3ltbWV0cmljIGRpZmZlcmVuY2VdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL1N5bW1ldHJpY19kaWZmZXJlbmNlKVxuICAgICAqIG9mIHRoZSBnaXZlbiBhcnJheXMuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzIGRldGVybWluZWQgYnkgdGhlIG9yZGVyXG4gICAgICogdGhleSBvY2N1ciBpbiB0aGUgYXJyYXlzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuNC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IGFycmF5IG9mIGZpbHRlcmVkIHZhbHVlcy5cbiAgICAgKiBAc2VlIF8uZGlmZmVyZW5jZSwgXy53aXRob3V0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ueG9yKFsyLCAxXSwgWzIsIDNdKTtcbiAgICAgKiAvLyA9PiBbMSwgM11cbiAgICAgKi9cbiAgICB2YXIgeG9yID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJyYXlzKSB7XG4gICAgICByZXR1cm4gYmFzZVhvcihhcnJheUZpbHRlcihhcnJheXMsIGlzQXJyYXlMaWtlT2JqZWN0KSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnhvcmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IG9mIGVhY2ggYGFycmF5c2AgdG8gZ2VuZXJhdGUgdGhlIGNyaXRlcmlvbiBieVxuICAgICAqIHdoaWNoIGJ5IHdoaWNoIHRoZXkncmUgY29tcGFyZWQuIFRoZSBvcmRlciBvZiByZXN1bHQgdmFsdWVzIGlzIGRldGVybWluZWRcbiAgICAgKiBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiB0aGUgYXJyYXlzLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZVxuICAgICAqIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBmaWx0ZXJlZCB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ueG9yQnkoWzIuMSwgMS4yXSwgWzIuMywgMy40XSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4gWzEuMiwgMy40XVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy54b3JCeShbeyAneCc6IDEgfV0sIFt7ICd4JzogMiB9LCB7ICd4JzogMSB9XSwgJ3gnKTtcbiAgICAgKiAvLyA9PiBbeyAneCc6IDIgfV1cbiAgICAgKi9cbiAgICB2YXIgeG9yQnkgPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBpdGVyYXRlZSA9IGxhc3QoYXJyYXlzKTtcbiAgICAgIGlmIChpc0FycmF5TGlrZU9iamVjdChpdGVyYXRlZSkpIHtcbiAgICAgICAgaXRlcmF0ZWUgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZVhvcihhcnJheUZpbHRlcihhcnJheXMsIGlzQXJyYXlMaWtlT2JqZWN0KSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ueG9yYCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjb21wYXJhdG9yYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgdG8gY29tcGFyZSBlbGVtZW50cyBvZiBgYXJyYXlzYC4gVGhlIG9yZGVyIG9mIHJlc3VsdCB2YWx1ZXMgaXNcbiAgICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBvcmRlciB0aGV5IG9jY3VyIGluIHRoZSBhcnJheXMuIFRoZSBjb21wYXJhdG9yIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHR3byBhcmd1bWVudHM6IChhcnJWYWwsIG90aFZhbCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQXJyYXlcbiAgICAgKiBAcGFyYW0gey4uLkFycmF5fSBbYXJyYXlzXSBUaGUgYXJyYXlzIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmF0b3JdIFRoZSBjb21wYXJhdG9yIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgYXJyYXkgb2YgZmlsdGVyZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICd4JzogMSwgJ3knOiAyIH0sIHsgJ3gnOiAyLCAneSc6IDEgfV07XG4gICAgICogdmFyIG90aGVycyA9IFt7ICd4JzogMSwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDIgfV07XG4gICAgICpcbiAgICAgKiBfLnhvcldpdGgob2JqZWN0cywgb3RoZXJzLCBfLmlzRXF1YWwpO1xuICAgICAqIC8vID0+IFt7ICd4JzogMiwgJ3knOiAxIH0sIHsgJ3gnOiAxLCAneSc6IDEgfV1cbiAgICAgKi9cbiAgICB2YXIgeG9yV2l0aCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGFycmF5cykge1xuICAgICAgdmFyIGNvbXBhcmF0b3IgPSBsYXN0KGFycmF5cyk7XG4gICAgICBjb21wYXJhdG9yID0gdHlwZW9mIGNvbXBhcmF0b3IgPT0gJ2Z1bmN0aW9uJyA/IGNvbXBhcmF0b3IgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gYmFzZVhvcihhcnJheUZpbHRlcihhcnJheXMsIGlzQXJyYXlMaWtlT2JqZWN0KSwgdW5kZWZpbmVkLCBjb21wYXJhdG9yKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgZ3JvdXBlZCBlbGVtZW50cywgdGhlIGZpcnN0IG9mIHdoaWNoIGNvbnRhaW5zIHRoZVxuICAgICAqIGZpcnN0IGVsZW1lbnRzIG9mIHRoZSBnaXZlbiBhcnJheXMsIHRoZSBzZWNvbmQgb2Ygd2hpY2ggY29udGFpbnMgdGhlXG4gICAgICogc2Vjb25kIGVsZW1lbnRzIG9mIHRoZSBnaXZlbiBhcnJheXMsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBBcnJheVxuICAgICAqIEBwYXJhbSB7Li4uQXJyYXl9IFthcnJheXNdIFRoZSBhcnJheXMgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnppcChbJ2EnLCAnYiddLCBbMSwgMl0sIFt0cnVlLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IFtbJ2EnLCAxLCB0cnVlXSwgWydiJywgMiwgZmFsc2VdXVxuICAgICAqL1xuICAgIHZhciB6aXAgPSBiYXNlUmVzdCh1bnppcCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZyb21QYWlyc2AgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyB0d28gYXJyYXlzLFxuICAgICAqIG9uZSBvZiBwcm9wZXJ0eSBpZGVudGlmaWVycyBhbmQgb25lIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gW3Byb3BzPVtdXSBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3ZhbHVlcz1bXV0gVGhlIHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnppcE9iamVjdChbJ2EnLCAnYiddLCBbMSwgMl0pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHppcE9iamVjdChwcm9wcywgdmFsdWVzKSB7XG4gICAgICByZXR1cm4gYmFzZVppcE9iamVjdChwcm9wcyB8fCBbXSwgdmFsdWVzIHx8IFtdLCBhc3NpZ25WYWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy56aXBPYmplY3RgIGV4Y2VwdCB0aGF0IGl0IHN1cHBvcnRzIHByb3BlcnR5IHBhdGhzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMS4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHtBcnJheX0gW3Byb3BzPVtdXSBUaGUgcHJvcGVydHkgaWRlbnRpZmllcnMuXG4gICAgICogQHBhcmFtIHtBcnJheX0gW3ZhbHVlcz1bXV0gVGhlIHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnppcE9iamVjdERlZXAoWydhLmJbMF0uYycsICdhLmJbMV0uZCddLCBbMSwgMl0pO1xuICAgICAqIC8vID0+IHsgJ2EnOiB7ICdiJzogW3sgJ2MnOiAxIH0sIHsgJ2QnOiAyIH1dIH0gfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHppcE9iamVjdERlZXAocHJvcHMsIHZhbHVlcykge1xuICAgICAgcmV0dXJuIGJhc2VaaXBPYmplY3QocHJvcHMgfHwgW10sIHZhbHVlcyB8fCBbXSwgYmFzZVNldCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy56aXBgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB0byBzcGVjaWZ5XG4gICAgICogaG93IGdyb3VwZWQgdmFsdWVzIHNob3VsZCBiZSBjb21iaW5lZC4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCB0aGVcbiAgICAgKiBlbGVtZW50cyBvZiBlYWNoIGdyb3VwOiAoLi4uZ3JvdXApLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOC4wXG4gICAgICogQGNhdGVnb3J5IEFycmF5XG4gICAgICogQHBhcmFtIHsuLi5BcnJheX0gW2FycmF5c10gVGhlIGFycmF5cyB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gdG8gY29tYmluZVxuICAgICAqICBncm91cGVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnppcFdpdGgoWzEsIDJdLCBbMTAsIDIwXSwgWzEwMCwgMjAwXSwgZnVuY3Rpb24oYSwgYiwgYykge1xuICAgICAqICAgcmV0dXJuIGEgKyBiICsgYztcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBbMTExLCAyMjJdXG4gICAgICovXG4gICAgdmFyIHppcFdpdGggPSBiYXNlUmVzdChmdW5jdGlvbihhcnJheXMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBhcnJheXMubGVuZ3RoLFxuICAgICAgICAgIGl0ZXJhdGVlID0gbGVuZ3RoID4gMSA/IGFycmF5c1tsZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaXRlcmF0ZWUgPSB0eXBlb2YgaXRlcmF0ZWUgPT0gJ2Z1bmN0aW9uJyA/IChhcnJheXMucG9wKCksIGl0ZXJhdGVlKSA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB1bnppcFdpdGgoYXJyYXlzLCBpdGVyYXRlZSk7XG4gICAgfSk7XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZSB0aGF0IHdyYXBzIGB2YWx1ZWAgd2l0aCBleHBsaWNpdCBtZXRob2RcbiAgICAgKiBjaGFpbiBzZXF1ZW5jZXMgZW5hYmxlZC4gVGhlIHJlc3VsdCBvZiBzdWNoIHNlcXVlbmNlcyBtdXN0IGJlIHVud3JhcHBlZFxuICAgICAqIHdpdGggYF8jdmFsdWVgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMy4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgICdhZ2UnOiAzNiB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICB7ICd1c2VyJzogJ3BlYmJsZXMnLCAnYWdlJzogMSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIHZhciB5b3VuZ2VzdCA9IF9cbiAgICAgKiAgIC5jaGFpbih1c2VycylcbiAgICAgKiAgIC5zb3J0QnkoJ2FnZScpXG4gICAgICogICAubWFwKGZ1bmN0aW9uKG8pIHtcbiAgICAgKiAgICAgcmV0dXJuIG8udXNlciArICcgaXMgJyArIG8uYWdlO1xuICAgICAqICAgfSlcbiAgICAgKiAgIC5oZWFkKClcbiAgICAgKiAgIC52YWx1ZSgpO1xuICAgICAqIC8vID0+ICdwZWJibGVzIGlzIDEnXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2hhaW4odmFsdWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBsb2Rhc2godmFsdWUpO1xuICAgICAgcmVzdWx0Ll9fY2hhaW5fXyA9IHRydWU7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGludm9rZXMgYGludGVyY2VwdG9yYCBhbmQgcmV0dXJucyBgdmFsdWVgLiBUaGUgaW50ZXJjZXB0b3JcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OyAodmFsdWUpLiBUaGUgcHVycG9zZSBvZiB0aGlzIG1ldGhvZCBpcyB0b1xuICAgICAqIFwidGFwIGludG9cIiBhIG1ldGhvZCBjaGFpbiBzZXF1ZW5jZSBpbiBvcmRlciB0byBtb2RpZnkgaW50ZXJtZWRpYXRlIHJlc3VsdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcHJvdmlkZSB0byBgaW50ZXJjZXB0b3JgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGludGVyY2VwdG9yIFRoZSBmdW5jdGlvbiB0byBpbnZva2UuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgYHZhbHVlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXyhbMSwgMiwgM10pXG4gICAgICogIC50YXAoZnVuY3Rpb24oYXJyYXkpIHtcbiAgICAgKiAgICAvLyBNdXRhdGUgaW5wdXQgYXJyYXkuXG4gICAgICogICAgYXJyYXkucG9wKCk7XG4gICAgICogIH0pXG4gICAgICogIC5yZXZlcnNlKClcbiAgICAgKiAgLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzIsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGFwKHZhbHVlLCBpbnRlcmNlcHRvcikge1xuICAgICAgaW50ZXJjZXB0b3IodmFsdWUpO1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8udGFwYCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIHRoZSByZXN1bHQgb2YgYGludGVyY2VwdG9yYC5cbiAgICAgKiBUaGUgcHVycG9zZSBvZiB0aGlzIG1ldGhvZCBpcyB0byBcInBhc3MgdGhydVwiIHZhbHVlcyByZXBsYWNpbmcgaW50ZXJtZWRpYXRlXG4gICAgICogcmVzdWx0cyBpbiBhIG1ldGhvZCBjaGFpbiBzZXF1ZW5jZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm92aWRlIHRvIGBpbnRlcmNlcHRvcmAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gaW50ZXJjZXB0b3IgVGhlIGZ1bmN0aW9uIHRvIGludm9rZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzdWx0IG9mIGBpbnRlcmNlcHRvcmAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8oJyAgYWJjICAnKVxuICAgICAqICAuY2hhaW4oKVxuICAgICAqICAudHJpbSgpXG4gICAgICogIC50aHJ1KGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICogICAgcmV0dXJuIFt2YWx1ZV07XG4gICAgICogIH0pXG4gICAgICogIC52YWx1ZSgpO1xuICAgICAqIC8vID0+IFsnYWJjJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0aHJ1KHZhbHVlLCBpbnRlcmNlcHRvcikge1xuICAgICAgcmV0dXJuIGludGVyY2VwdG9yKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB0aGUgd3JhcHBlciB2ZXJzaW9uIG9mIGBfLmF0YC5cbiAgICAgKlxuICAgICAqIEBuYW1lIGF0XG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiAzIH0gfSwgNF0gfTtcbiAgICAgKlxuICAgICAqIF8ob2JqZWN0KS5hdChbJ2FbMF0uYi5jJywgJ2FbMV0nXSkudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbMywgNF1cbiAgICAgKi9cbiAgICB2YXIgd3JhcHBlckF0ID0gZmxhdFJlc3QoZnVuY3Rpb24ocGF0aHMpIHtcbiAgICAgIHZhciBsZW5ndGggPSBwYXRocy5sZW5ndGgsXG4gICAgICAgICAgc3RhcnQgPSBsZW5ndGggPyBwYXRoc1swXSA6IDAsXG4gICAgICAgICAgdmFsdWUgPSB0aGlzLl9fd3JhcHBlZF9fLFxuICAgICAgICAgIGludGVyY2VwdG9yID0gZnVuY3Rpb24ob2JqZWN0KSB7IHJldHVybiBiYXNlQXQob2JqZWN0LCBwYXRocyk7IH07XG5cbiAgICAgIGlmIChsZW5ndGggPiAxIHx8IHRoaXMuX19hY3Rpb25zX18ubGVuZ3RoIHx8XG4gICAgICAgICAgISh2YWx1ZSBpbnN0YW5jZW9mIExhenlXcmFwcGVyKSB8fCAhaXNJbmRleChzdGFydCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGhydShpbnRlcmNlcHRvcik7XG4gICAgICB9XG4gICAgICB2YWx1ZSA9IHZhbHVlLnNsaWNlKHN0YXJ0LCArc3RhcnQgKyAobGVuZ3RoID8gMSA6IDApKTtcbiAgICAgIHZhbHVlLl9fYWN0aW9uc19fLnB1c2goe1xuICAgICAgICAnZnVuYyc6IHRocnUsXG4gICAgICAgICdhcmdzJzogW2ludGVyY2VwdG9yXSxcbiAgICAgICAgJ3RoaXNBcmcnOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG5ldyBMb2Rhc2hXcmFwcGVyKHZhbHVlLCB0aGlzLl9fY2hhaW5fXykudGhydShmdW5jdGlvbihhcnJheSkge1xuICAgICAgICBpZiAobGVuZ3RoICYmICFhcnJheS5sZW5ndGgpIHtcbiAgICAgICAgICBhcnJheS5wdXNoKHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycmF5O1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZSB3aXRoIGV4cGxpY2l0IG1ldGhvZCBjaGFpbiBzZXF1ZW5jZXMgZW5hYmxlZC5cbiAgICAgKlxuICAgICAqIEBuYW1lIGNoYWluXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgU2VxXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGBsb2Rhc2hgIHdyYXBwZXIgaW5zdGFuY2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIEEgc2VxdWVuY2Ugd2l0aG91dCBleHBsaWNpdCBjaGFpbmluZy5cbiAgICAgKiBfKHVzZXJzKS5oZWFkKCk7XG4gICAgICogLy8gPT4geyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYgfVxuICAgICAqXG4gICAgICogLy8gQSBzZXF1ZW5jZSB3aXRoIGV4cGxpY2l0IGNoYWluaW5nLlxuICAgICAqIF8odXNlcnMpXG4gICAgICogICAuY2hhaW4oKVxuICAgICAqICAgLmhlYWQoKVxuICAgICAqICAgLnBpY2soJ3VzZXInKVxuICAgICAqICAgLnZhbHVlKCk7XG4gICAgICogLy8gPT4geyAndXNlcic6ICdiYXJuZXknIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyQ2hhaW4oKSB7XG4gICAgICByZXR1cm4gY2hhaW4odGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRXhlY3V0ZXMgdGhlIGNoYWluIHNlcXVlbmNlIGFuZCByZXR1cm5zIHRoZSB3cmFwcGVkIHJlc3VsdC5cbiAgICAgKlxuICAgICAqIEBuYW1lIGNvbW1pdFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMi4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgYXJyYXkgPSBbMSwgMl07XG4gICAgICogdmFyIHdyYXBwZWQgPSBfKGFycmF5KS5wdXNoKDMpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsxLCAyXVxuICAgICAqXG4gICAgICogd3JhcHBlZCA9IHdyYXBwZWQuY29tbWl0KCk7XG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogd3JhcHBlZC5sYXN0KCk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXkpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJDb21taXQoKSB7XG4gICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIodGhpcy52YWx1ZSgpLCB0aGlzLl9fY2hhaW5fXyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgbmV4dCB2YWx1ZSBvbiBhIHdyYXBwZWQgb2JqZWN0IGZvbGxvd2luZyB0aGVcbiAgICAgKiBbaXRlcmF0b3IgcHJvdG9jb2xdKGh0dHBzOi8vbWRuLmlvL2l0ZXJhdGlvbl9wcm90b2NvbHMjaXRlcmF0b3IpLlxuICAgICAqXG4gICAgICogQG5hbWUgbmV4dFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5leHQgaXRlcmF0b3IgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB3cmFwcGVkID0gXyhbMSwgMl0pO1xuICAgICAqXG4gICAgICogd3JhcHBlZC5uZXh0KCk7XG4gICAgICogLy8gPT4geyAnZG9uZSc6IGZhbHNlLCAndmFsdWUnOiAxIH1cbiAgICAgKlxuICAgICAqIHdyYXBwZWQubmV4dCgpO1xuICAgICAqIC8vID0+IHsgJ2RvbmUnOiBmYWxzZSwgJ3ZhbHVlJzogMiB9XG4gICAgICpcbiAgICAgKiB3cmFwcGVkLm5leHQoKTtcbiAgICAgKiAvLyA9PiB7ICdkb25lJzogdHJ1ZSwgJ3ZhbHVlJzogdW5kZWZpbmVkIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyTmV4dCgpIHtcbiAgICAgIGlmICh0aGlzLl9fdmFsdWVzX18gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9fdmFsdWVzX18gPSB0b0FycmF5KHRoaXMudmFsdWUoKSk7XG4gICAgICB9XG4gICAgICB2YXIgZG9uZSA9IHRoaXMuX19pbmRleF9fID49IHRoaXMuX192YWx1ZXNfXy5sZW5ndGgsXG4gICAgICAgICAgdmFsdWUgPSBkb25lID8gdW5kZWZpbmVkIDogdGhpcy5fX3ZhbHVlc19fW3RoaXMuX19pbmRleF9fKytdO1xuXG4gICAgICByZXR1cm4geyAnZG9uZSc6IGRvbmUsICd2YWx1ZSc6IHZhbHVlIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRW5hYmxlcyB0aGUgd3JhcHBlciB0byBiZSBpdGVyYWJsZS5cbiAgICAgKlxuICAgICAqIEBuYW1lIFN5bWJvbC5pdGVyYXRvclxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIHdyYXBwZXIgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgd3JhcHBlZCA9IF8oWzEsIDJdKTtcbiAgICAgKlxuICAgICAqIHdyYXBwZWRbU3ltYm9sLml0ZXJhdG9yXSgpID09PSB3cmFwcGVkO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIEFycmF5LmZyb20od3JhcHBlZCk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcHBlclRvSXRlcmF0b3IoKSB7XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgY2xvbmUgb2YgdGhlIGNoYWluIHNlcXVlbmNlIHBsYW50aW5nIGB2YWx1ZWAgYXMgdGhlIHdyYXBwZWQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAbmFtZSBwbGFudFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMi4wXG4gICAgICogQGNhdGVnb3J5IFNlcVxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHBsYW50LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBgbG9kYXNoYCB3cmFwcGVyIGluc3RhbmNlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBzcXVhcmUobikge1xuICAgICAqICAgcmV0dXJuIG4gKiBuO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciB3cmFwcGVkID0gXyhbMSwgMl0pLm1hcChzcXVhcmUpO1xuICAgICAqIHZhciBvdGhlciA9IHdyYXBwZWQucGxhbnQoWzMsIDRdKTtcbiAgICAgKlxuICAgICAqIG90aGVyLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWzksIDE2XVxuICAgICAqXG4gICAgICogd3JhcHBlZC52YWx1ZSgpO1xuICAgICAqIC8vID0+IFsxLCA0XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHdyYXBwZXJQbGFudCh2YWx1ZSkge1xuICAgICAgdmFyIHJlc3VsdCxcbiAgICAgICAgICBwYXJlbnQgPSB0aGlzO1xuXG4gICAgICB3aGlsZSAocGFyZW50IGluc3RhbmNlb2YgYmFzZUxvZGFzaCkge1xuICAgICAgICB2YXIgY2xvbmUgPSB3cmFwcGVyQ2xvbmUocGFyZW50KTtcbiAgICAgICAgY2xvbmUuX19pbmRleF9fID0gMDtcbiAgICAgICAgY2xvbmUuX192YWx1ZXNfXyA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgIHByZXZpb3VzLl9fd3JhcHBlZF9fID0gY2xvbmU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gY2xvbmU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHByZXZpb3VzID0gY2xvbmU7XG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5fX3dyYXBwZWRfXztcbiAgICAgIH1cbiAgICAgIHByZXZpb3VzLl9fd3JhcHBlZF9fID0gdmFsdWU7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHRoZSB3cmFwcGVyIHZlcnNpb24gb2YgYF8ucmV2ZXJzZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyB0aGUgd3JhcHBlZCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBuYW1lIHJldmVyc2VcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgYGxvZGFzaGAgd3JhcHBlciBpbnN0YW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqXG4gICAgICogXyhhcnJheSkucmV2ZXJzZSgpLnZhbHVlKClcbiAgICAgKiAvLyA9PiBbMywgMiwgMV1cbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKGFycmF5KTtcbiAgICAgKiAvLyA9PiBbMywgMiwgMV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyUmV2ZXJzZSgpIHtcbiAgICAgIHZhciB2YWx1ZSA9IHRoaXMuX193cmFwcGVkX187XG4gICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBMYXp5V3JhcHBlcikge1xuICAgICAgICB2YXIgd3JhcHBlZCA9IHZhbHVlO1xuICAgICAgICBpZiAodGhpcy5fX2FjdGlvbnNfXy5sZW5ndGgpIHtcbiAgICAgICAgICB3cmFwcGVkID0gbmV3IExhenlXcmFwcGVyKHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHdyYXBwZWQgPSB3cmFwcGVkLnJldmVyc2UoKTtcbiAgICAgICAgd3JhcHBlZC5fX2FjdGlvbnNfXy5wdXNoKHtcbiAgICAgICAgICAnZnVuYyc6IHRocnUsXG4gICAgICAgICAgJ2FyZ3MnOiBbcmV2ZXJzZV0sXG4gICAgICAgICAgJ3RoaXNBcmcnOiB1bmRlZmluZWRcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBuZXcgTG9kYXNoV3JhcHBlcih3cmFwcGVkLCB0aGlzLl9fY2hhaW5fXyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy50aHJ1KHJldmVyc2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBjaGFpbiBzZXF1ZW5jZSB0byByZXNvbHZlIHRoZSB1bndyYXBwZWQgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAbmFtZSB2YWx1ZVxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGFsaWFzIHRvSlNPTiwgdmFsdWVPZlxuICAgICAqIEBjYXRlZ29yeSBTZXFcbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdW53cmFwcGVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfKFsxLCAyLCAzXSkudmFsdWUoKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3cmFwcGVyVmFsdWUoKSB7XG4gICAgICByZXR1cm4gYmFzZVdyYXBwZXJWYWx1ZSh0aGlzLl9fd3JhcHBlZF9fLCB0aGlzLl9fYWN0aW9uc19fKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBjb21wb3NlZCBvZiBrZXlzIGdlbmVyYXRlZCBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmdcbiAgICAgKiBlYWNoIGVsZW1lbnQgb2YgYGNvbGxlY3Rpb25gIHRocnUgYGl0ZXJhdGVlYC4gVGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgb2ZcbiAgICAgKiBlYWNoIGtleSBpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBrZXkgd2FzIHJldHVybmVkIGJ5IGBpdGVyYXRlZWAuIFRoZVxuICAgICAqIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC41LjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIHRvIHRyYW5zZm9ybSBrZXlzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGNvbXBvc2VkIGFnZ3JlZ2F0ZSBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uY291bnRCeShbNi4xLCA0LjIsIDYuM10sIE1hdGguZmxvb3IpO1xuICAgICAqIC8vID0+IHsgJzQnOiAxLCAnNic6IDIgfVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5jb3VudEJ5KFsnb25lJywgJ3R3bycsICd0aHJlZSddLCAnbGVuZ3RoJyk7XG4gICAgICogLy8gPT4geyAnMyc6IDIsICc1JzogMSB9XG4gICAgICovXG4gICAgdmFyIGNvdW50QnkgPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCBrZXkpKSB7XG4gICAgICAgICsrcmVzdWx0W2tleV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBiYXNlQXNzaWduVmFsdWUocmVzdWx0LCBrZXksIDEpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvciAqKmFsbCoqIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKiBJdGVyYXRpb24gaXMgc3RvcHBlZCBvbmNlIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5LiBUaGUgcHJlZGljYXRlIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIHJldHVybnMgYHRydWVgIGZvclxuICAgICAqIFtlbXB0eSBjb2xsZWN0aW9uc10oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRW1wdHlfc2V0KSBiZWNhdXNlXG4gICAgICogW2V2ZXJ5dGhpbmcgaXMgdHJ1ZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvVmFjdW91c190cnV0aCkgb2ZcbiAgICAgKiBlbGVtZW50cyBvZiBlbXB0eSBjb2xsZWN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbGwgZWxlbWVudHMgcGFzcyB0aGUgcHJlZGljYXRlIGNoZWNrLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZXZlcnkoW3RydWUsIDEsIG51bGwsICd5ZXMnXSwgQm9vbGVhbik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM2LCAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZXZlcnkodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5ldmVyeSh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZXZlcnkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGV2ZXJ5KGNvbGxlY3Rpb24sIHByZWRpY2F0ZSwgZ3VhcmQpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5RXZlcnkgOiBiYXNlRXZlcnk7XG4gICAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkpIHtcbiAgICAgICAgcHJlZGljYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAsIHJldHVybmluZyBhbiBhcnJheSBvZiBhbGwgZWxlbWVudHNcbiAgICAgKiBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoIHRocmVlXG4gICAgICogYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVW5saWtlIGBfLnJlbW92ZWAsIHRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICogQHNlZSBfLnJlamVjdFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbHRlcih1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbHRlcih1c2VycywgeyAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbHRlcih1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbHRlcih1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaWx0ZXIoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUZpbHRlciA6IGJhc2VGaWx0ZXI7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShwcmVkaWNhdGUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIGVsZW1lbnRzIG9mIGBjb2xsZWN0aW9uYCwgcmV0dXJuaW5nIHRoZSBmaXJzdCBlbGVtZW50XG4gICAgICogYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0aHJlZVxuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hdGNoZWQgZWxlbWVudCwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogZmFsc2UgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmQodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2Jhcm5leSdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzYCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kKHVzZXJzLCB7ICdhZ2UnOiAxLCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3QgZm9yICdwZWJibGVzJ1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdCBmb3IgJ2ZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmQodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiBvYmplY3QgZm9yICdiYXJuZXknXG4gICAgICovXG4gICAgdmFyIGZpbmQgPSBjcmVhdGVGaW5kKGZpbmRJbmRleCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZpbmRgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD1jb2xsZWN0aW9uLmxlbmd0aC0xXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1hdGNoZWQgZWxlbWVudCwgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5maW5kTGFzdChbMSwgMiwgMywgNF0sIGZ1bmN0aW9uKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAxO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKi9cbiAgICB2YXIgZmluZExhc3QgPSBjcmVhdGVGaW5kKGZpbmRMYXN0SW5kZXgpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZsYXR0ZW5lZCBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gXG4gICAgICogdGhydSBgaXRlcmF0ZWVgIGFuZCBmbGF0dGVuaW5nIHRoZSBtYXBwZWQgcmVzdWx0cy4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBpbmRleHxrZXksIGNvbGxlY3Rpb24pLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtuLCBuXTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLmZsYXRNYXAoWzEsIDJdLCBkdXBsaWNhdGUpO1xuICAgICAqIC8vID0+IFsxLCAxLCAyLCAyXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsYXRNYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCAxKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmZsYXRNYXBgIGV4Y2VwdCB0aGF0IGl0IHJlY3Vyc2l2ZWx5IGZsYXR0ZW5zIHRoZVxuICAgICAqIG1hcHBlZCByZXN1bHRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtbW24sIG5dXV07XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5mbGF0TWFwRGVlcChbMSwgMl0sIGR1cGxpY2F0ZSk7XG4gICAgICogLy8gPT4gWzEsIDEsIDIsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gZmxhdE1hcERlZXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCBJTkZJTklUWSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mbGF0TWFwYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBmbGF0dGVucyB0aGVcbiAgICAgKiBtYXBwZWQgcmVzdWx0cyB1cCB0byBgZGVwdGhgIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtkZXB0aD0xXSBUaGUgbWF4aW11bSByZWN1cnNpb24gZGVwdGguXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmxhdHRlbmVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBkdXBsaWNhdGUobikge1xuICAgICAqICAgcmV0dXJuIFtbW24sIG5dXV07XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5mbGF0TWFwRGVwdGgoWzEsIDJdLCBkdXBsaWNhdGUsIDIpO1xuICAgICAqIC8vID0+IFtbMSwgMV0sIFsyLCAyXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmbGF0TWFwRGVwdGgoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGRlcHRoKSB7XG4gICAgICBkZXB0aCA9IGRlcHRoID09PSB1bmRlZmluZWQgPyAxIDogdG9JbnRlZ2VyKGRlcHRoKTtcbiAgICAgIHJldHVybiBiYXNlRmxhdHRlbihtYXAoY29sbGVjdGlvbiwgaXRlcmF0ZWUpLCBkZXB0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZiBgY29sbGVjdGlvbmAgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBlbGVtZW50LlxuICAgICAqIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWUgYXJndW1lbnRzOiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEFzIHdpdGggb3RoZXIgXCJDb2xsZWN0aW9uc1wiIG1ldGhvZHMsIG9iamVjdHMgd2l0aCBhIFwibGVuZ3RoXCJcbiAgICAgKiBwcm9wZXJ0eSBhcmUgaXRlcmF0ZWQgbGlrZSBhcnJheXMuIFRvIGF2b2lkIHRoaXMgYmVoYXZpb3IgdXNlIGBfLmZvckluYFxuICAgICAqIG9yIGBfLmZvck93bmAgZm9yIG9iamVjdCBpdGVyYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAYWxpYXMgZWFjaFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheXxPYmplY3R9IFJldHVybnMgYGNvbGxlY3Rpb25gLlxuICAgICAqIEBzZWUgXy5mb3JFYWNoUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mb3JFYWNoKFsxLCAyXSwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHZhbHVlKTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzIGAxYCB0aGVuIGAyYC5cbiAgICAgKlxuICAgICAqIF8uZm9yRWFjaCh7ICdhJzogMSwgJ2InOiAyIH0sIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKGtleSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4gTG9ncyAnYScgdGhlbiAnYicgKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZCkuXG4gICAgICovXG4gICAgZnVuY3Rpb24gZm9yRWFjaChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoIDogYmFzZUVhY2g7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZm9yRWFjaGAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGBjb2xsZWN0aW9uYCBmcm9tIHJpZ2h0IHRvIGxlZnQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAYWxpYXMgZWFjaFJpZ2h0XG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fE9iamVjdH0gUmV0dXJucyBgY29sbGVjdGlvbmAuXG4gICAgICogQHNlZSBfLmZvckVhY2hcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5mb3JFYWNoUmlnaHQoWzEsIDJdLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAqICAgY29uc29sZS5sb2codmFsdWUpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgYDJgIHRoZW4gYDFgLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckVhY2hSaWdodChjb2xsZWN0aW9uLCBpdGVyYXRlZSkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlFYWNoUmlnaHQgOiBiYXNlRWFjaFJpZ2h0O1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCBjb21wb3NlZCBvZiBrZXlzIGdlbmVyYXRlZCBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmdcbiAgICAgKiBlYWNoIGVsZW1lbnQgb2YgYGNvbGxlY3Rpb25gIHRocnUgYGl0ZXJhdGVlYC4gVGhlIG9yZGVyIG9mIGdyb3VwZWQgdmFsdWVzXG4gICAgICogaXMgZGV0ZXJtaW5lZCBieSB0aGUgb3JkZXIgdGhleSBvY2N1ciBpbiBgY29sbGVjdGlvbmAuIFRoZSBjb3JyZXNwb25kaW5nXG4gICAgICogdmFsdWUgb2YgZWFjaCBrZXkgaXMgYW4gYXJyYXkgb2YgZWxlbWVudHMgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlXG4gICAgICoga2V5LiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ncm91cEJ5KFs2LjEsIDQuMiwgNi4zXSwgTWF0aC5mbG9vcik7XG4gICAgICogLy8gPT4geyAnNCc6IFs0LjJdLCAnNic6IFs2LjEsIDYuM10gfVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5ncm91cEJ5KFsnb25lJywgJ3R3bycsICd0aHJlZSddLCAnbGVuZ3RoJyk7XG4gICAgICogLy8gPT4geyAnMyc6IFsnb25lJywgJ3R3byddLCAnNSc6IFsndGhyZWUnXSB9XG4gICAgICovXG4gICAgdmFyIGdyb3VwQnkgPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCBrZXkpKSB7XG4gICAgICAgIHJlc3VsdFtrZXldLnB1c2godmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCBbdmFsdWVdKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGluIGBjb2xsZWN0aW9uYC4gSWYgYGNvbGxlY3Rpb25gIGlzIGEgc3RyaW5nLCBpdCdzXG4gICAgICogY2hlY2tlZCBmb3IgYSBzdWJzdHJpbmcgb2YgYHZhbHVlYCwgb3RoZXJ3aXNlXG4gICAgICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAgICAgKiBpcyB1c2VkIGZvciBlcXVhbGl0eSBjb21wYXJpc29ucy4gSWYgYGZyb21JbmRleGAgaXMgbmVnYXRpdmUsIGl0J3MgdXNlZCBhc1xuICAgICAqIHRoZSBvZmZzZXQgZnJvbSB0aGUgZW5kIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R8c3RyaW5nfSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2VhcmNoIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2Zyb21JbmRleD0wXSBUaGUgaW5kZXggdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ucmVkdWNlYC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBmb3VuZCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKFsxLCAyLCAzXSwgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pbmNsdWRlcyhbMSwgMiwgM10sIDEsIDIpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmluY2x1ZGVzKHsgJ2EnOiAxLCAnYic6IDIgfSwgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pbmNsdWRlcygnYWJjZCcsICdiYycpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbmNsdWRlcyhjb2xsZWN0aW9uLCB2YWx1ZSwgZnJvbUluZGV4LCBndWFyZCkge1xuICAgICAgY29sbGVjdGlvbiA9IGlzQXJyYXlMaWtlKGNvbGxlY3Rpb24pID8gY29sbGVjdGlvbiA6IHZhbHVlcyhjb2xsZWN0aW9uKTtcbiAgICAgIGZyb21JbmRleCA9IChmcm9tSW5kZXggJiYgIWd1YXJkKSA/IHRvSW50ZWdlcihmcm9tSW5kZXgpIDogMDtcblxuICAgICAgdmFyIGxlbmd0aCA9IGNvbGxlY3Rpb24ubGVuZ3RoO1xuICAgICAgaWYgKGZyb21JbmRleCA8IDApIHtcbiAgICAgICAgZnJvbUluZGV4ID0gbmF0aXZlTWF4KGxlbmd0aCArIGZyb21JbmRleCwgMCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbilcbiAgICAgICAgPyAoZnJvbUluZGV4IDw9IGxlbmd0aCAmJiBjb2xsZWN0aW9uLmluZGV4T2YodmFsdWUsIGZyb21JbmRleCkgPiAtMSlcbiAgICAgICAgOiAoISFsZW5ndGggJiYgYmFzZUluZGV4T2YoY29sbGVjdGlvbiwgdmFsdWUsIGZyb21JbmRleCkgPiAtMSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gLCByZXR1cm5pbmdcbiAgICAgKiBhbiBhcnJheSBvZiB0aGUgcmVzdWx0cyBvZiBlYWNoIGludm9rZWQgbWV0aG9kLiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHNcbiAgICAgKiBhcmUgcHJvdmlkZWQgdG8gZWFjaCBpbnZva2VkIG1ldGhvZC4gSWYgYHBhdGhgIGlzIGEgZnVuY3Rpb24sIGl0J3MgaW52b2tlZFxuICAgICAqIGZvciwgYW5kIGB0aGlzYCBib3VuZCB0bywgZWFjaCBlbGVtZW50IGluIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7QXJyYXl8RnVuY3Rpb258c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBtZXRob2QgdG8gaW52b2tlIG9yXG4gICAgICogIHRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgZWFjaCBtZXRob2Qgd2l0aC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHJlc3VsdHMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaW52b2tlTWFwKFtbNSwgMSwgN10sIFszLCAyLCAxXV0sICdzb3J0Jyk7XG4gICAgICogLy8gPT4gW1sxLCA1LCA3XSwgWzEsIDIsIDNdXVxuICAgICAqXG4gICAgICogXy5pbnZva2VNYXAoWzEyMywgNDU2XSwgU3RyaW5nLnByb3RvdHlwZS5zcGxpdCwgJycpO1xuICAgICAqIC8vID0+IFtbJzEnLCAnMicsICczJ10sIFsnNCcsICc1JywgJzYnXV1cbiAgICAgKi9cbiAgICB2YXIgaW52b2tlTWFwID0gYmFzZVJlc3QoZnVuY3Rpb24oY29sbGVjdGlvbiwgcGF0aCwgYXJncykge1xuICAgICAgdmFyIGluZGV4ID0gLTEsXG4gICAgICAgICAgaXNGdW5jID0gdHlwZW9mIHBhdGggPT0gJ2Z1bmN0aW9uJyxcbiAgICAgICAgICByZXN1bHQgPSBpc0FycmF5TGlrZShjb2xsZWN0aW9uKSA/IEFycmF5KGNvbGxlY3Rpb24ubGVuZ3RoKSA6IFtdO1xuXG4gICAgICBiYXNlRWFjaChjb2xsZWN0aW9uLCBmdW5jdGlvbih2YWx1ZSkge1xuICAgICAgICByZXN1bHRbKytpbmRleF0gPSBpc0Z1bmMgPyBhcHBseShwYXRoLCB2YWx1ZSwgYXJncykgOiBiYXNlSW52b2tlKHZhbHVlLCBwYXRoLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIGtleXMgZ2VuZXJhdGVkIGZyb20gdGhlIHJlc3VsdHMgb2YgcnVubmluZ1xuICAgICAqIGVhY2ggZWxlbWVudCBvZiBgY29sbGVjdGlvbmAgdGhydSBgaXRlcmF0ZWVgLiBUaGUgY29ycmVzcG9uZGluZyB2YWx1ZSBvZlxuICAgICAqIGVhY2gga2V5IGlzIHRoZSBsYXN0IGVsZW1lbnQgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGtleS4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgdG8gdHJhbnNmb3JtIGtleXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgY29tcG9zZWQgYWdncmVnYXRlIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gW1xuICAgICAqICAgeyAnZGlyJzogJ2xlZnQnLCAnY29kZSc6IDk3IH0sXG4gICAgICogICB7ICdkaXInOiAncmlnaHQnLCAnY29kZSc6IDEwMCB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8ua2V5QnkoYXJyYXksIGZ1bmN0aW9uKG8pIHtcbiAgICAgKiAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG8uY29kZSk7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnYSc6IHsgJ2Rpcic6ICdsZWZ0JywgJ2NvZGUnOiA5NyB9LCAnZCc6IHsgJ2Rpcic6ICdyaWdodCcsICdjb2RlJzogMTAwIH0gfVxuICAgICAqXG4gICAgICogXy5rZXlCeShhcnJheSwgJ2RpcicpO1xuICAgICAqIC8vID0+IHsgJ2xlZnQnOiB7ICdkaXInOiAnbGVmdCcsICdjb2RlJzogOTcgfSwgJ3JpZ2h0JzogeyAnZGlyJzogJ3JpZ2h0JywgJ2NvZGUnOiAxMDAgfSB9XG4gICAgICovXG4gICAgdmFyIGtleUJ5ID0gY3JlYXRlQWdncmVnYXRvcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGtleSwgdmFsdWUpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB2YWx1ZXMgYnkgcnVubmluZyBlYWNoIGVsZW1lbnQgaW4gYGNvbGxlY3Rpb25gIHRocnVcbiAgICAgKiBgaXRlcmF0ZWVgLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAgICAgKiAodmFsdWUsIGluZGV4fGtleSwgY29sbGVjdGlvbikuXG4gICAgICpcbiAgICAgKiBNYW55IGxvZGFzaCBtZXRob2RzIGFyZSBndWFyZGVkIHRvIHdvcmsgYXMgaXRlcmF0ZWVzIGZvciBtZXRob2RzIGxpa2VcbiAgICAgKiBgXy5ldmVyeWAsIGBfLmZpbHRlcmAsIGBfLm1hcGAsIGBfLm1hcFZhbHVlc2AsIGBfLnJlamVjdGAsIGFuZCBgXy5zb21lYC5cbiAgICAgKlxuICAgICAqIFRoZSBndWFyZGVkIG1ldGhvZHMgYXJlOlxuICAgICAqIGBhcnlgLCBgY2h1bmtgLCBgY3VycnlgLCBgY3VycnlSaWdodGAsIGBkcm9wYCwgYGRyb3BSaWdodGAsIGBldmVyeWAsXG4gICAgICogYGZpbGxgLCBgaW52ZXJ0YCwgYHBhcnNlSW50YCwgYHJhbmRvbWAsIGByYW5nZWAsIGByYW5nZVJpZ2h0YCwgYHJlcGVhdGAsXG4gICAgICogYHNhbXBsZVNpemVgLCBgc2xpY2VgLCBgc29tZWAsIGBzb3J0QnlgLCBgc3BsaXRgLCBgdGFrZWAsIGB0YWtlUmlnaHRgLFxuICAgICAqIGB0ZW1wbGF0ZWAsIGB0cmltYCwgYHRyaW1FbmRgLCBgdHJpbVN0YXJ0YCwgYW5kIGB3b3Jkc2BcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBfLm1hcChbNCwgOF0sIHNxdWFyZSk7XG4gICAgICogLy8gPT4gWzE2LCA2NF1cbiAgICAgKlxuICAgICAqIF8ubWFwKHsgJ2EnOiA0LCAnYic6IDggfSwgc3F1YXJlKTtcbiAgICAgKiAvLyA9PiBbMTYsIDY0XSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5tYXAodXNlcnMsICd1c2VyJyk7XG4gICAgICogLy8gPT4gWydiYXJuZXknLCAnZnJlZCddXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWFwKGNvbGxlY3Rpb24sIGl0ZXJhdGVlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheU1hcCA6IGJhc2VNYXA7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc29ydEJ5YCBleGNlcHQgdGhhdCBpdCBhbGxvd3Mgc3BlY2lmeWluZyB0aGUgc29ydFxuICAgICAqIG9yZGVycyBvZiB0aGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuIElmIGBvcmRlcnNgIGlzIHVuc3BlY2lmaWVkLCBhbGwgdmFsdWVzXG4gICAgICogYXJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIE90aGVyd2lzZSwgc3BlY2lmeSBhbiBvcmRlciBvZiBcImRlc2NcIiBmb3JcbiAgICAgKiBkZXNjZW5kaW5nIG9yIFwiYXNjXCIgZm9yIGFzY2VuZGluZyBzb3J0IG9yZGVyIG9mIGNvcnJlc3BvbmRpbmcgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtBcnJheVtdfEZ1bmN0aW9uW118T2JqZWN0W118c3RyaW5nW119IFtpdGVyYXRlZXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgaXRlcmF0ZWVzIHRvIHNvcnQgYnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmdbXX0gW29yZGVyc10gVGhlIHNvcnQgb3JkZXJzIG9mIGBpdGVyYXRlZXNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLnJlZHVjZWAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgc29ydGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0OCB9LFxuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzQgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIC8vIFNvcnQgYnkgYHVzZXJgIGluIGFzY2VuZGluZyBvcmRlciBhbmQgYnkgYGFnZWAgaW4gZGVzY2VuZGluZyBvcmRlci5cbiAgICAgKiBfLm9yZGVyQnkodXNlcnMsIFsndXNlcicsICdhZ2UnXSwgWydhc2MnLCAnZGVzYyddKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDQwXV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvcmRlckJ5KGNvbGxlY3Rpb24sIGl0ZXJhdGVlcywgb3JkZXJzLCBndWFyZCkge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBpZiAoIWlzQXJyYXkoaXRlcmF0ZWVzKSkge1xuICAgICAgICBpdGVyYXRlZXMgPSBpdGVyYXRlZXMgPT0gbnVsbCA/IFtdIDogW2l0ZXJhdGVlc107XG4gICAgICB9XG4gICAgICBvcmRlcnMgPSBndWFyZCA/IHVuZGVmaW5lZCA6IG9yZGVycztcbiAgICAgIGlmICghaXNBcnJheShvcmRlcnMpKSB7XG4gICAgICAgIG9yZGVycyA9IG9yZGVycyA9PSBudWxsID8gW10gOiBbb3JkZXJzXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlT3JkZXJCeShjb2xsZWN0aW9uLCBpdGVyYXRlZXMsIG9yZGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cyBzcGxpdCBpbnRvIHR3byBncm91cHMsIHRoZSBmaXJzdCBvZiB3aGljaFxuICAgICAqIGNvbnRhaW5zIGVsZW1lbnRzIGBwcmVkaWNhdGVgIHJldHVybnMgdHJ1dGh5IGZvciwgdGhlIHNlY29uZCBvZiB3aGljaFxuICAgICAqIGNvbnRhaW5zIGVsZW1lbnRzIGBwcmVkaWNhdGVgIHJldHVybnMgZmFsc2V5IGZvci4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBncm91cGVkIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICAnYWdlJzogMzYsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwLCAnYWN0aXZlJzogdHJ1ZSB9LFxuICAgICAqICAgeyAndXNlcic6ICdwZWJibGVzJywgJ2FnZSc6IDEsICAnYWN0aXZlJzogZmFsc2UgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gby5hY3RpdmU7IH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2ZyZWQnXSwgWydiYXJuZXknLCAncGViYmxlcyddXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgeyAnYWdlJzogMSwgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ3BlYmJsZXMnXSwgWydiYXJuZXknLCAnZnJlZCddXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ucGFydGl0aW9uKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gb2JqZWN0cyBmb3IgW1snYmFybmV5JywgJ3BlYmJsZXMnXSwgWydmcmVkJ11dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnBhcnRpdGlvbih1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2ZyZWQnXSwgWydiYXJuZXknLCAncGViYmxlcyddXVxuICAgICAqL1xuICAgIHZhciBwYXJ0aXRpb24gPSBjcmVhdGVBZ2dyZWdhdG9yKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgcmVzdWx0W2tleSA/IDAgOiAxXS5wdXNoKHZhbHVlKTtcbiAgICB9LCBmdW5jdGlvbigpIHsgcmV0dXJuIFtbXSwgW11dOyB9KTtcblxuICAgIC8qKlxuICAgICAqIFJlZHVjZXMgYGNvbGxlY3Rpb25gIHRvIGEgdmFsdWUgd2hpY2ggaXMgdGhlIGFjY3VtdWxhdGVkIHJlc3VsdCBvZiBydW5uaW5nXG4gICAgICogZWFjaCBlbGVtZW50IGluIGBjb2xsZWN0aW9uYCB0aHJ1IGBpdGVyYXRlZWAsIHdoZXJlIGVhY2ggc3VjY2Vzc2l2ZVxuICAgICAqIGludm9jYXRpb24gaXMgc3VwcGxpZWQgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgcHJldmlvdXMuIElmIGBhY2N1bXVsYXRvcmBcbiAgICAgKiBpcyBub3QgZ2l2ZW4sIHRoZSBmaXJzdCBlbGVtZW50IG9mIGBjb2xsZWN0aW9uYCBpcyB1c2VkIGFzIHRoZSBpbml0aWFsXG4gICAgICogdmFsdWUuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggZm91ciBhcmd1bWVudHM6XG4gICAgICogKGFjY3VtdWxhdG9yLCB2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIE1hbnkgbG9kYXNoIG1ldGhvZHMgYXJlIGd1YXJkZWQgdG8gd29yayBhcyBpdGVyYXRlZXMgZm9yIG1ldGhvZHMgbGlrZVxuICAgICAqIGBfLnJlZHVjZWAsIGBfLnJlZHVjZVJpZ2h0YCwgYW5kIGBfLnRyYW5zZm9ybWAuXG4gICAgICpcbiAgICAgKiBUaGUgZ3VhcmRlZCBtZXRob2RzIGFyZTpcbiAgICAgKiBgYXNzaWduYCwgYGRlZmF1bHRzYCwgYGRlZmF1bHRzRGVlcGAsIGBpbmNsdWRlc2AsIGBtZXJnZWAsIGBvcmRlckJ5YCxcbiAgICAgKiBhbmQgYHNvcnRCeWBcbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEBwYXJhbSB7Kn0gW2FjY3VtdWxhdG9yXSBUaGUgaW5pdGlhbCB2YWx1ZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgYWNjdW11bGF0ZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLnJlZHVjZVJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlKFsxLCAyXSwgZnVuY3Rpb24oc3VtLCBuKSB7XG4gICAgICogICByZXR1cm4gc3VtICsgbjtcbiAgICAgKiB9LCAwKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICpcbiAgICAgKiBfLnJlZHVjZSh7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDEgfSwgZnVuY3Rpb24ocmVzdWx0LCB2YWx1ZSwga2V5KSB7XG4gICAgICogICAocmVzdWx0W3ZhbHVlXSB8fCAocmVzdWx0W3ZhbHVlXSA9IFtdKSkucHVzaChrZXkpO1xuICAgICAqICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgKiB9LCB7fSk7XG4gICAgICogLy8gPT4geyAnMSc6IFsnYScsICdjJ10sICcyJzogWydiJ10gfSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlZHVjZShjb2xsZWN0aW9uLCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5UmVkdWNlIDogYmFzZVJlZHVjZSxcbiAgICAgICAgICBpbml0QWNjdW0gPSBhcmd1bWVudHMubGVuZ3RoIDwgMztcblxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBiYXNlRWFjaCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5yZWR1Y2VgIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgZWxlbWVudHMgb2ZcbiAgICAgKiBgY29sbGVjdGlvbmAgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IENvbGxlY3Rpb25cbiAgICAgKiBAcGFyYW0ge0FycmF5fE9iamVjdH0gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBpbml0aWFsIHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBhY2N1bXVsYXRlZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8ucmVkdWNlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhcnJheSA9IFtbMCwgMV0sIFsyLCAzXSwgWzQsIDVdXTtcbiAgICAgKlxuICAgICAqIF8ucmVkdWNlUmlnaHQoYXJyYXksIGZ1bmN0aW9uKGZsYXR0ZW5lZCwgb3RoZXIpIHtcbiAgICAgKiAgIHJldHVybiBmbGF0dGVuZWQuY29uY2F0KG90aGVyKTtcbiAgICAgKiB9LCBbXSk7XG4gICAgICogLy8gPT4gWzQsIDUsIDIsIDMsIDAsIDFdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVkdWNlUmlnaHQoY29sbGVjdGlvbiwgaXRlcmF0ZWUsIGFjY3VtdWxhdG9yKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVJlZHVjZVJpZ2h0IDogYmFzZVJlZHVjZSxcbiAgICAgICAgICBpbml0QWNjdW0gPSBhcmd1bWVudHMubGVuZ3RoIDwgMztcblxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDQpLCBhY2N1bXVsYXRvciwgaW5pdEFjY3VtLCBiYXNlRWFjaFJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8uZmlsdGVyYDsgdGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZWxlbWVudHMgb2YgYGNvbGxlY3Rpb25gXG4gICAgICogdGhhdCBgcHJlZGljYXRlYCBkb2VzICoqbm90KiogcmV0dXJuIHRydXRoeSBmb3IuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgZmlsdGVyZWQgYXJyYXkuXG4gICAgICogQHNlZSBfLmZpbHRlclxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgdXNlcnMgPSBbXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IGZhbHNlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLnJlamVjdCh1c2VycywgZnVuY3Rpb24obykgeyByZXR1cm4gIW8uYWN0aXZlOyB9KTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgeyAnYWdlJzogNDAsICdhY3RpdmUnOiB0cnVlIH0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5tYXRjaGVzUHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgWydhY3RpdmUnLCBmYWxzZV0pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnZnJlZCddXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnJlamVjdCh1c2VycywgJ2FjdGl2ZScpO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFsnYmFybmV5J11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZWplY3QoY29sbGVjdGlvbiwgcHJlZGljYXRlKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheUZpbHRlciA6IGJhc2VGaWx0ZXI7XG4gICAgICByZXR1cm4gZnVuYyhjb2xsZWN0aW9uLCBuZWdhdGUoZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSByYW5kb20gZWxlbWVudCBmcm9tIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByYW5kb20gZWxlbWVudC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zYW1wbGUoWzEsIDIsIDMsIDRdKTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2FtcGxlKGNvbGxlY3Rpb24pIHtcbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2FtcGxlIDogYmFzZVNhbXBsZTtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYG5gIHJhbmRvbSBlbGVtZW50cyBhdCB1bmlxdWUga2V5cyBmcm9tIGBjb2xsZWN0aW9uYCB1cCB0byB0aGVcbiAgICAgKiBzaXplIG9mIGBjb2xsZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2FtcGxlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIHNhbXBsZS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZG9tIGVsZW1lbnRzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNhbXBsZVNpemUoWzEsIDIsIDNdLCAyKTtcbiAgICAgKiAvLyA9PiBbMywgMV1cbiAgICAgKlxuICAgICAqIF8uc2FtcGxlU2l6ZShbMSwgMiwgM10sIDQpO1xuICAgICAqIC8vID0+IFsyLCAzLCAxXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNhbXBsZVNpemUoY29sbGVjdGlvbiwgbiwgZ3VhcmQpIHtcbiAgICAgIGlmICgoZ3VhcmQgPyBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIG4gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIH1cbiAgICAgIHZhciBmdW5jID0gaXNBcnJheShjb2xsZWN0aW9uKSA/IGFycmF5U2FtcGxlU2l6ZSA6IGJhc2VTYW1wbGVTaXplO1xuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBzaHVmZmxlZCB2YWx1ZXMsIHVzaW5nIGEgdmVyc2lvbiBvZiB0aGVcbiAgICAgKiBbRmlzaGVyLVlhdGVzIHNodWZmbGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0Zpc2hlci1ZYXRlc19zaHVmZmxlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gc2h1ZmZsZS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzaHVmZmxlZCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zaHVmZmxlKFsxLCAyLCAzLCA0XSk7XG4gICAgICogLy8gPT4gWzQsIDEsIDMsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc2h1ZmZsZShjb2xsZWN0aW9uKSB7XG4gICAgICB2YXIgZnVuYyA9IGlzQXJyYXkoY29sbGVjdGlvbikgPyBhcnJheVNodWZmbGUgOiBiYXNlU2h1ZmZsZTtcbiAgICAgIHJldHVybiBmdW5jKGNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHNpemUgb2YgYGNvbGxlY3Rpb25gIGJ5IHJldHVybmluZyBpdHMgbGVuZ3RoIGZvciBhcnJheS1saWtlXG4gICAgICogdmFsdWVzIG9yIHRoZSBudW1iZXIgb2Ygb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgZm9yIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fHN0cmluZ30gY29sbGVjdGlvbiBUaGUgY29sbGVjdGlvbiB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbGxlY3Rpb24gc2l6ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zaXplKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy5zaXplKHsgJ2EnOiAxLCAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gMlxuICAgICAqXG4gICAgICogXy5zaXplKCdwZWJibGVzJyk7XG4gICAgICogLy8gPT4gN1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNpemUoY29sbGVjdGlvbikge1xuICAgICAgaWYgKGNvbGxlY3Rpb24gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChpc0FycmF5TGlrZShjb2xsZWN0aW9uKSkge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcoY29sbGVjdGlvbikgPyBzdHJpbmdTaXplKGNvbGxlY3Rpb24pIDogY29sbGVjdGlvbi5sZW5ndGg7XG4gICAgICB9XG4gICAgICB2YXIgdGFnID0gZ2V0VGFnKGNvbGxlY3Rpb24pO1xuICAgICAgaWYgKHRhZyA9PSBtYXBUYWcgfHwgdGFnID09IHNldFRhZykge1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbi5zaXplO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VLZXlzKGNvbGxlY3Rpb24pLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHByZWRpY2F0ZWAgcmV0dXJucyB0cnV0aHkgZm9yICoqYW55KiogZWxlbWVudCBvZiBgY29sbGVjdGlvbmAuXG4gICAgICogSXRlcmF0aW9uIGlzIHN0b3BwZWQgb25jZSBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeS4gVGhlIHByZWRpY2F0ZSBpc1xuICAgICAqIGludm9rZWQgd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwgaW5kZXh8a2V5LCBjb2xsZWN0aW9uKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBDb2xsZWN0aW9uXG4gICAgICogQHBhcmFtIHtBcnJheXxPYmplY3R9IGNvbGxlY3Rpb24gVGhlIGNvbGxlY3Rpb24gdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtwcmVkaWNhdGU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbnkgZWxlbWVudCBwYXNzZXMgdGhlIHByZWRpY2F0ZSBjaGVjayxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnNvbWUoW251bGwsIDAsICd5ZXMnLCBmYWxzZV0sIEJvb2xlYW4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLnNvbWUodXNlcnMsIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FjdGl2ZSc6IGZhbHNlIH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb21lKHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5zb21lKHVzZXJzLCAnYWN0aXZlJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNvbWUoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkge1xuICAgICAgdmFyIGZ1bmMgPSBpc0FycmF5KGNvbGxlY3Rpb24pID8gYXJyYXlTb21lIDogYmFzZVNvbWU7XG4gICAgICBpZiAoZ3VhcmQgJiYgaXNJdGVyYXRlZUNhbGwoY29sbGVjdGlvbiwgcHJlZGljYXRlLCBndWFyZCkpIHtcbiAgICAgICAgcHJlZGljYXRlID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZ1bmMoY29sbGVjdGlvbiwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiBlbGVtZW50cywgc29ydGVkIGluIGFzY2VuZGluZyBvcmRlciBieSB0aGUgcmVzdWx0cyBvZlxuICAgICAqIHJ1bm5pbmcgZWFjaCBlbGVtZW50IGluIGEgY29sbGVjdGlvbiB0aHJ1IGVhY2ggaXRlcmF0ZWUuIFRoaXMgbWV0aG9kXG4gICAgICogcGVyZm9ybXMgYSBzdGFibGUgc29ydCwgdGhhdCBpcywgaXQgcHJlc2VydmVzIHRoZSBvcmlnaW5hbCBzb3J0IG9yZGVyIG9mXG4gICAgICogZXF1YWwgZWxlbWVudHMuIFRoZSBpdGVyYXRlZXMgYXJlIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgQ29sbGVjdGlvblxuICAgICAqIEBwYXJhbSB7QXJyYXl8T2JqZWN0fSBjb2xsZWN0aW9uIFRoZSBjb2xsZWN0aW9uIHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2l0ZXJhdGVlcz1bXy5pZGVudGl0eV1dXG4gICAgICogIFRoZSBpdGVyYXRlZXMgdG8gc29ydCBieS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBzb3J0ZWQgYXJyYXkuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IFtcbiAgICAgKiAgIHsgJ3VzZXInOiAnZnJlZCcsICAgJ2FnZSc6IDQ4IH0sXG4gICAgICogICB7ICd1c2VyJzogJ2Jhcm5leScsICdhZ2UnOiAzNiB9LFxuICAgICAqICAgeyAndXNlcic6ICdmcmVkJywgICAnYWdlJzogNDAgfSxcbiAgICAgKiAgIHsgJ3VzZXInOiAnYmFybmV5JywgJ2FnZSc6IDM0IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5zb3J0QnkodXNlcnMsIFtmdW5jdGlvbihvKSB7IHJldHVybiBvLnVzZXI7IH1dKTtcbiAgICAgKiAvLyA9PiBvYmplY3RzIGZvciBbWydiYXJuZXknLCAzNl0sIFsnYmFybmV5JywgMzRdLCBbJ2ZyZWQnLCA0OF0sIFsnZnJlZCcsIDQwXV1cbiAgICAgKlxuICAgICAqIF8uc29ydEJ5KHVzZXJzLCBbJ3VzZXInLCAnYWdlJ10pO1xuICAgICAqIC8vID0+IG9iamVjdHMgZm9yIFtbJ2Jhcm5leScsIDM0XSwgWydiYXJuZXknLCAzNl0sIFsnZnJlZCcsIDQwXSwgWydmcmVkJywgNDhdXVxuICAgICAqL1xuICAgIHZhciBzb3J0QnkgPSBiYXNlUmVzdChmdW5jdGlvbihjb2xsZWN0aW9uLCBpdGVyYXRlZXMpIHtcbiAgICAgIGlmIChjb2xsZWN0aW9uID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGxlbmd0aCA9IGl0ZXJhdGVlcy5sZW5ndGg7XG4gICAgICBpZiAobGVuZ3RoID4gMSAmJiBpc0l0ZXJhdGVlQ2FsbChjb2xsZWN0aW9uLCBpdGVyYXRlZXNbMF0sIGl0ZXJhdGVlc1sxXSkpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gW107XG4gICAgICB9IGVsc2UgaWYgKGxlbmd0aCA+IDIgJiYgaXNJdGVyYXRlZUNhbGwoaXRlcmF0ZWVzWzBdLCBpdGVyYXRlZXNbMV0sIGl0ZXJhdGVlc1syXSkpIHtcbiAgICAgICAgaXRlcmF0ZWVzID0gW2l0ZXJhdGVlc1swXV07XG4gICAgICB9XG4gICAgICByZXR1cm4gYmFzZU9yZGVyQnkoY29sbGVjdGlvbiwgYmFzZUZsYXR0ZW4oaXRlcmF0ZWVzLCAxKSwgW10pO1xuICAgIH0pO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdGltZXN0YW1wIG9mIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRoYXQgaGF2ZSBlbGFwc2VkIHNpbmNlXG4gICAgICogdGhlIFVuaXggZXBvY2ggKDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi40LjBcbiAgICAgKiBAY2F0ZWdvcnkgRGF0ZVxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVzdGFtcC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZlcihmdW5jdGlvbihzdGFtcCkge1xuICAgICAqICAgY29uc29sZS5sb2coXy5ub3coKSAtIHN0YW1wKTtcbiAgICAgKiB9LCBfLm5vdygpKTtcbiAgICAgKiAvLyA9PiBMb2dzIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIGl0IHRvb2sgZm9yIHRoZSBkZWZlcnJlZCBpbnZvY2F0aW9uLlxuICAgICAqL1xuICAgIHZhciBub3cgPSBjdHhOb3cgfHwgZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gcm9vdC5EYXRlLm5vdygpO1xuICAgIH07XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8uYmVmb3JlYDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlc1xuICAgICAqIGBmdW5jYCBvbmNlIGl0J3MgY2FsbGVkIGBuYCBvciBtb3JlIHRpbWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG4gVGhlIG51bWJlciBvZiBjYWxscyBiZWZvcmUgYGZ1bmNgIGlzIGludm9rZWQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVzdHJpY3RlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHNhdmVzID0gWydwcm9maWxlJywgJ3NldHRpbmdzJ107XG4gICAgICpcbiAgICAgKiB2YXIgZG9uZSA9IF8uYWZ0ZXIoc2F2ZXMubGVuZ3RoLCBmdW5jdGlvbigpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKCdkb25lIHNhdmluZyEnKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIF8uZm9yRWFjaChzYXZlcywgZnVuY3Rpb24odHlwZSkge1xuICAgICAqICAgYXN5bmNTYXZlKHsgJ3R5cGUnOiB0eXBlLCAnY29tcGxldGUnOiBkb25lIH0pO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2RvbmUgc2F2aW5nIScgYWZ0ZXIgdGhlIHR3byBhc3luYyBzYXZlcyBoYXZlIGNvbXBsZXRlZC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBhZnRlcihuLCBmdW5jKSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBuID0gdG9JbnRlZ2VyKG4pO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAoLS1uIDwgMSkge1xuICAgICAgICAgIHJldHVybiBmdW5jLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2AsIHdpdGggdXAgdG8gYG5gIGFyZ3VtZW50cyxcbiAgICAgKiBpZ25vcmluZyBhbnkgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjYXAgYXJndW1lbnRzIGZvci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW249ZnVuYy5sZW5ndGhdIFRoZSBhcml0eSBjYXAuXG4gICAgICogQHBhcmFtLSB7T2JqZWN0fSBbZ3VhcmRdIEVuYWJsZXMgdXNlIGFzIGFuIGl0ZXJhdGVlIGZvciBtZXRob2RzIGxpa2UgYF8ubWFwYC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjYXBwZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnNicsICc4JywgJzEwJ10sIF8uYXJ5KHBhcnNlSW50LCAxKSk7XG4gICAgICogLy8gPT4gWzYsIDgsIDEwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGFyeShmdW5jLCBuLCBndWFyZCkge1xuICAgICAgbiA9IGd1YXJkID8gdW5kZWZpbmVkIDogbjtcbiAgICAgIG4gPSAoZnVuYyAmJiBuID09IG51bGwpID8gZnVuYy5sZW5ndGggOiBuO1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9BUllfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBuKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCwgd2l0aCB0aGUgYHRoaXNgIGJpbmRpbmcgYW5kIGFyZ3VtZW50c1xuICAgICAqIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLCB3aGlsZSBpdCdzIGNhbGxlZCBsZXNzIHRoYW4gYG5gIHRpbWVzLiBTdWJzZXF1ZW50XG4gICAgICogY2FsbHMgdG8gdGhlIGNyZWF0ZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIGNhbGxzIGF0IHdoaWNoIGBmdW5jYCBpcyBubyBsb25nZXIgaW52b2tlZC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byByZXN0cmljdC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyByZXN0cmljdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBqUXVlcnkoZWxlbWVudCkub24oJ2NsaWNrJywgXy5iZWZvcmUoNSwgYWRkQ29udGFjdFRvTGlzdCkpO1xuICAgICAqIC8vID0+IEFsbG93cyBhZGRpbmcgdXAgdG8gNCBjb250YWN0cyB0byB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBiZWZvcmUobiwgZnVuYykge1xuICAgICAgdmFyIHJlc3VsdDtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIG4gPSB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICgtLW4gPiAwKSB7XG4gICAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuIDw9IDEpIHtcbiAgICAgICAgICBmdW5jID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGB0aGlzQXJnYFxuICAgICAqIGFuZCBgcGFydGlhbHNgIHByZXBlbmRlZCB0byB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogVGhlIGBfLmJpbmQucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpYyBidWlsZHMsXG4gICAgICogbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVubGlrZSBuYXRpdmUgYEZ1bmN0aW9uI2JpbmRgLCB0aGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIlxuICAgICAqIHByb3BlcnR5IG9mIGJvdW5kIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGJpbmQuXG4gICAgICogQHBhcmFtIHsqfSB0aGlzQXJnIFRoZSBgdGhpc2AgYmluZGluZyBvZiBgZnVuY2AuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgYm91bmQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBwdW5jdHVhdGlvbikge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgdGhpcy51c2VyICsgcHVuY3R1YXRpb247XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ3VzZXInOiAnZnJlZCcgfTtcbiAgICAgKlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZChncmVldCwgb2JqZWN0LCAnaGknKTtcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKlxuICAgICAqIC8vIEJvdW5kIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZChncmVldCwgb2JqZWN0LCBfLCAnIScpO1xuICAgICAqIGJvdW5kKCdoaScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKi9cbiAgICB2YXIgYmluZCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRoaXNBcmcsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgYml0bWFzayA9IFdSQVBfQklORF9GTEFHO1xuICAgICAgaWYgKHBhcnRpYWxzLmxlbmd0aCkge1xuICAgICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIoYmluZCkpO1xuICAgICAgICBiaXRtYXNrIHw9IFdSQVBfUEFSVElBTF9GTEFHO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgYml0bWFzaywgdGhpc0FyZywgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0aGUgbWV0aG9kIGF0IGBvYmplY3Rba2V5XWAgd2l0aCBgcGFydGlhbHNgXG4gICAgICogcHJlcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGlzIG1ldGhvZCBkaWZmZXJzIGZyb20gYF8uYmluZGAgYnkgYWxsb3dpbmcgYm91bmQgZnVuY3Rpb25zIHRvIHJlZmVyZW5jZVxuICAgICAqIG1ldGhvZHMgdGhhdCBtYXkgYmUgcmVkZWZpbmVkIG9yIGRvbid0IHlldCBleGlzdC4gU2VlXG4gICAgICogW1BldGVyIE1pY2hhdXgncyBhcnRpY2xlXShodHRwOi8vcGV0ZXIubWljaGF1eC5jYS9hcnRpY2xlcy9sYXp5LWZ1bmN0aW9uLWRlZmluaXRpb24tcGF0dGVybilcbiAgICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgICAqXG4gICAgICogVGhlIGBfLmJpbmRLZXkucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpY1xuICAgICAqIGJ1aWxkcywgbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZva2UgdGhlIG1ldGhvZCBvbi5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIG1ldGhvZC5cbiAgICAgKiBAcGFyYW0gey4uLip9IFtwYXJ0aWFsc10gVGhlIGFyZ3VtZW50cyB0byBiZSBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBib3VuZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHtcbiAgICAgKiAgICd1c2VyJzogJ2ZyZWQnLFxuICAgICAqICAgJ2dyZWV0JzogZnVuY3Rpb24oZ3JlZXRpbmcsIHB1bmN0dWF0aW9uKSB7XG4gICAgICogICAgIHJldHVybiBncmVldGluZyArICcgJyArIHRoaXMudXNlciArIHB1bmN0dWF0aW9uO1xuICAgICAqICAgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgYm91bmQgPSBfLmJpbmRLZXkob2JqZWN0LCAnZ3JlZXQnLCAnaGknKTtcbiAgICAgKiBib3VuZCgnIScpO1xuICAgICAqIC8vID0+ICdoaSBmcmVkISdcbiAgICAgKlxuICAgICAqIG9iamVjdC5ncmVldCA9IGZ1bmN0aW9uKGdyZWV0aW5nLCBwdW5jdHVhdGlvbikge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJ3lhICcgKyB0aGlzLnVzZXIgKyBwdW5jdHVhdGlvbjtcbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogYm91bmQoJyEnKTtcbiAgICAgKiAvLyA9PiAnaGl5YSBmcmVkISdcbiAgICAgKlxuICAgICAqIC8vIEJvdW5kIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIHZhciBib3VuZCA9IF8uYmluZEtleShvYmplY3QsICdncmVldCcsIF8sICchJyk7XG4gICAgICogYm91bmQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpeWEgZnJlZCEnXG4gICAgICovXG4gICAgdmFyIGJpbmRLZXkgPSBiYXNlUmVzdChmdW5jdGlvbihvYmplY3QsIGtleSwgcGFydGlhbHMpIHtcbiAgICAgIHZhciBiaXRtYXNrID0gV1JBUF9CSU5EX0ZMQUcgfCBXUkFQX0JJTkRfS0VZX0ZMQUc7XG4gICAgICBpZiAocGFydGlhbHMubGVuZ3RoKSB7XG4gICAgICAgIHZhciBob2xkZXJzID0gcmVwbGFjZUhvbGRlcnMocGFydGlhbHMsIGdldEhvbGRlcihiaW5kS2V5KSk7XG4gICAgICAgIGJpdG1hc2sgfD0gV1JBUF9QQVJUSUFMX0ZMQUc7XG4gICAgICB9XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChrZXksIGJpdG1hc2ssIG9iamVjdCwgcGFydGlhbHMsIGhvbGRlcnMpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhcmd1bWVudHMgb2YgYGZ1bmNgIGFuZCBlaXRoZXIgaW52b2tlc1xuICAgICAqIGBmdW5jYCByZXR1cm5pbmcgaXRzIHJlc3VsdCwgaWYgYXQgbGVhc3QgYGFyaXR5YCBudW1iZXIgb2YgYXJndW1lbnRzIGhhdmVcbiAgICAgKiBiZWVuIHByb3ZpZGVkLCBvciByZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBhY2NlcHRzIHRoZSByZW1haW5pbmcgYGZ1bmNgXG4gICAgICogYXJndW1lbnRzLCBhbmQgc28gb24uIFRoZSBhcml0eSBvZiBgZnVuY2AgbWF5IGJlIHNwZWNpZmllZCBpZiBgZnVuYy5sZW5ndGhgXG4gICAgICogaXMgbm90IHN1ZmZpY2llbnQuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uY3VycnkucGxhY2Vob2xkZXJgIHZhbHVlLCB3aGljaCBkZWZhdWx0cyB0byBgX2AgaW4gbW9ub2xpdGhpYyBidWlsZHMsXG4gICAgICogbWF5IGJlIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBmb3IgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc2V0IHRoZSBcImxlbmd0aFwiIHByb3BlcnR5IG9mIGN1cnJpZWQgZnVuY3Rpb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gY3VycnkuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFthcml0eT1mdW5jLmxlbmd0aF0gVGhlIGFyaXR5IG9mIGBmdW5jYC5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGN1cnJpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBhYmMgPSBmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gW2EsIGIsIGNdO1xuICAgICAqIH07XG4gICAgICpcbiAgICAgKiB2YXIgY3VycmllZCA9IF8uY3VycnkoYWJjKTtcbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSkoMikoMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDEsIDIpKDMpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgxLCAyLCAzKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIC8vIEN1cnJpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogY3VycmllZCgxKShfLCAzKSgyKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjdXJyeShmdW5jLCBhcml0eSwgZ3VhcmQpIHtcbiAgICAgIGFyaXR5ID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBhcml0eTtcbiAgICAgIHZhciByZXN1bHQgPSBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfQ1VSUllfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5KTtcbiAgICAgIHJlc3VsdC5wbGFjZWhvbGRlciA9IGN1cnJ5LnBsYWNlaG9sZGVyO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmN1cnJ5YCBleGNlcHQgdGhhdCBhcmd1bWVudHMgYXJlIGFwcGxpZWQgdG8gYGZ1bmNgXG4gICAgICogaW4gdGhlIG1hbm5lciBvZiBgXy5wYXJ0aWFsUmlnaHRgIGluc3RlYWQgb2YgYF8ucGFydGlhbGAuXG4gICAgICpcbiAgICAgKiBUaGUgYF8uY3VycnlSaWdodC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgY3VycmllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBjdXJyeS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2FyaXR5PWZ1bmMubGVuZ3RoXSBUaGUgYXJpdHkgb2YgYGZ1bmNgLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY3VycmllZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFiYyA9IGZ1bmN0aW9uKGEsIGIsIGMpIHtcbiAgICAgKiAgIHJldHVybiBbYSwgYiwgY107XG4gICAgICogfTtcbiAgICAgKlxuICAgICAqIHZhciBjdXJyaWVkID0gXy5jdXJyeVJpZ2h0KGFiYyk7XG4gICAgICpcbiAgICAgKiBjdXJyaWVkKDMpKDIpKDEpO1xuICAgICAqIC8vID0+IFsxLCAyLCAzXVxuICAgICAqXG4gICAgICogY3VycmllZCgyLCAzKSgxKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM11cbiAgICAgKlxuICAgICAqIGN1cnJpZWQoMSwgMiwgMyk7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICpcbiAgICAgKiAvLyBDdXJyaWVkIHdpdGggcGxhY2Vob2xkZXJzLlxuICAgICAqIGN1cnJpZWQoMykoMSwgXykoMik7XG4gICAgICogLy8gPT4gWzEsIDIsIDNdXG4gICAgICovXG4gICAgZnVuY3Rpb24gY3VycnlSaWdodChmdW5jLCBhcml0eSwgZ3VhcmQpIHtcbiAgICAgIGFyaXR5ID0gZ3VhcmQgPyB1bmRlZmluZWQgOiBhcml0eTtcbiAgICAgIHZhciByZXN1bHQgPSBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfQ1VSUllfUklHSFRfRkxBRywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIGFyaXR5KTtcbiAgICAgIHJlc3VsdC5wbGFjZWhvbGRlciA9IGN1cnJ5UmlnaHQucGxhY2Vob2xkZXI7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBkZWJvdW5jZWQgZnVuY3Rpb24gdGhhdCBkZWxheXMgaW52b2tpbmcgYGZ1bmNgIHVudGlsIGFmdGVyIGB3YWl0YFxuICAgICAqIG1pbGxpc2Vjb25kcyBoYXZlIGVsYXBzZWQgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uIHdhc1xuICAgICAqIGludm9rZWQuIFRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gY29tZXMgd2l0aCBhIGBjYW5jZWxgIG1ldGhvZCB0byBjYW5jZWxcbiAgICAgKiBkZWxheWVkIGBmdW5jYCBpbnZvY2F0aW9ucyBhbmQgYSBgZmx1c2hgIG1ldGhvZCB0byBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS5cbiAgICAgKiBQcm92aWRlIGBvcHRpb25zYCB0byBpbmRpY2F0ZSB3aGV0aGVyIGBmdW5jYCBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGVcbiAgICAgKiBsZWFkaW5nIGFuZC9vciB0cmFpbGluZyBlZGdlIG9mIHRoZSBgd2FpdGAgdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aGUgbGFzdCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGRlYm91bmNlZCBmdW5jdGlvbi4gU3Vic2VxdWVudFxuICAgICAqIGNhbGxzIHRvIHRoZSBkZWJvdW5jZWQgZnVuY3Rpb24gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgXG4gICAgICogaW52b2NhdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBJZiBgbGVhZGluZ2AgYW5kIGB0cmFpbGluZ2Agb3B0aW9ucyBhcmUgYHRydWVgLCBgZnVuY2AgaXNcbiAgICAgKiBpbnZva2VkIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0IG9ubHkgaWYgdGhlIGRlYm91bmNlZCBmdW5jdGlvblxuICAgICAqIGlzIGludm9rZWQgbW9yZSB0aGFuIG9uY2UgZHVyaW5nIHRoZSBgd2FpdGAgdGltZW91dC5cbiAgICAgKlxuICAgICAqIElmIGB3YWl0YCBpcyBgMGAgYW5kIGBsZWFkaW5nYCBpcyBgZmFsc2VgLCBgZnVuY2AgaW52b2NhdGlvbiBpcyBkZWZlcnJlZFxuICAgICAqIHVudGlsIHRvIHRoZSBuZXh0IHRpY2ssIHNpbWlsYXIgdG8gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYC5cbiAgICAgKlxuICAgICAqIFNlZSBbRGF2aWQgQ29yYmFjaG8ncyBhcnRpY2xlXShodHRwczovL2Nzcy10cmlja3MuY29tL2RlYm91bmNpbmctdGhyb3R0bGluZy1leHBsYWluZWQtZXhhbXBsZXMvKVxuICAgICAqIGZvciBkZXRhaWxzIG92ZXIgdGhlIGRpZmZlcmVuY2VzIGJldHdlZW4gYF8uZGVib3VuY2VgIGFuZCBgXy50aHJvdHRsZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWJvdW5jZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3dhaXQ9MF0gVGhlIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gZGVsYXkuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5sZWFkaW5nPWZhbHNlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtvcHRpb25zLm1heFdhaXRdXG4gICAgICogIFRoZSBtYXhpbXVtIHRpbWUgYGZ1bmNgIGlzIGFsbG93ZWQgdG8gYmUgZGVsYXllZCBiZWZvcmUgaXQncyBpbnZva2VkLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMudHJhaWxpbmc9dHJ1ZV1cbiAgICAgKiAgU3BlY2lmeSBpbnZva2luZyBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBkZWJvdW5jZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIC8vIEF2b2lkIGNvc3RseSBjYWxjdWxhdGlvbnMgd2hpbGUgdGhlIHdpbmRvdyBzaXplIGlzIGluIGZsdXguXG4gICAgICogalF1ZXJ5KHdpbmRvdykub24oJ3Jlc2l6ZScsIF8uZGVib3VuY2UoY2FsY3VsYXRlTGF5b3V0LCAxNTApKTtcbiAgICAgKlxuICAgICAqIC8vIEludm9rZSBgc2VuZE1haWxgIHdoZW4gY2xpY2tlZCwgZGVib3VuY2luZyBzdWJzZXF1ZW50IGNhbGxzLlxuICAgICAqIGpRdWVyeShlbGVtZW50KS5vbignY2xpY2snLCBfLmRlYm91bmNlKHNlbmRNYWlsLCAzMDAsIHtcbiAgICAgKiAgICdsZWFkaW5nJzogdHJ1ZSxcbiAgICAgKiAgICd0cmFpbGluZyc6IGZhbHNlXG4gICAgICogfSkpO1xuICAgICAqXG4gICAgICogLy8gRW5zdXJlIGBiYXRjaExvZ2AgaXMgaW52b2tlZCBvbmNlIGFmdGVyIDEgc2Vjb25kIG9mIGRlYm91bmNlZCBjYWxscy5cbiAgICAgKiB2YXIgZGVib3VuY2VkID0gXy5kZWJvdW5jZShiYXRjaExvZywgMjUwLCB7ICdtYXhXYWl0JzogMTAwMCB9KTtcbiAgICAgKiB2YXIgc291cmNlID0gbmV3IEV2ZW50U291cmNlKCcvc3RyZWFtJyk7XG4gICAgICogalF1ZXJ5KHNvdXJjZSkub24oJ21lc3NhZ2UnLCBkZWJvdW5jZWQpO1xuICAgICAqXG4gICAgICogLy8gQ2FuY2VsIHRoZSB0cmFpbGluZyBkZWJvdW5jZWQgaW52b2NhdGlvbi5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbigncG9wc3RhdGUnLCBkZWJvdW5jZWQuY2FuY2VsKTtcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBkZWJvdW5jZShmdW5jLCB3YWl0LCBvcHRpb25zKSB7XG4gICAgICB2YXIgbGFzdEFyZ3MsXG4gICAgICAgICAgbGFzdFRoaXMsXG4gICAgICAgICAgbWF4V2FpdCxcbiAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgdGltZXJJZCxcbiAgICAgICAgICBsYXN0Q2FsbFRpbWUsXG4gICAgICAgICAgbGFzdEludm9rZVRpbWUgPSAwLFxuICAgICAgICAgIGxlYWRpbmcgPSBmYWxzZSxcbiAgICAgICAgICBtYXhpbmcgPSBmYWxzZSxcbiAgICAgICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHdhaXQgPSB0b051bWJlcih3YWl0KSB8fCAwO1xuICAgICAgaWYgKGlzT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgIGxlYWRpbmcgPSAhIW9wdGlvbnMubGVhZGluZztcbiAgICAgICAgbWF4aW5nID0gJ21heFdhaXQnIGluIG9wdGlvbnM7XG4gICAgICAgIG1heFdhaXQgPSBtYXhpbmcgPyBuYXRpdmVNYXgodG9OdW1iZXIob3B0aW9ucy5tYXhXYWl0KSB8fCAwLCB3YWl0KSA6IG1heFdhaXQ7XG4gICAgICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGludm9rZUZ1bmModGltZSkge1xuICAgICAgICB2YXIgYXJncyA9IGxhc3RBcmdzLFxuICAgICAgICAgICAgdGhpc0FyZyA9IGxhc3RUaGlzO1xuXG4gICAgICAgIGxhc3RBcmdzID0gbGFzdFRoaXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gdGltZTtcbiAgICAgICAgcmVzdWx0ID0gZnVuYy5hcHBseSh0aGlzQXJnLCBhcmdzKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gbGVhZGluZ0VkZ2UodGltZSkge1xuICAgICAgICAvLyBSZXNldCBhbnkgYG1heFdhaXRgIHRpbWVyLlxuICAgICAgICBsYXN0SW52b2tlVGltZSA9IHRpbWU7XG4gICAgICAgIC8vIFN0YXJ0IHRoZSB0aW1lciBmb3IgdGhlIHRyYWlsaW5nIGVkZ2UuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIC8vIEludm9rZSB0aGUgbGVhZGluZyBlZGdlLlxuICAgICAgICByZXR1cm4gbGVhZGluZyA/IGludm9rZUZ1bmModGltZSkgOiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHJlbWFpbmluZ1dhaXQodGltZSkge1xuICAgICAgICB2YXIgdGltZVNpbmNlTGFzdENhbGwgPSB0aW1lIC0gbGFzdENhbGxUaW1lLFxuICAgICAgICAgICAgdGltZVNpbmNlTGFzdEludm9rZSA9IHRpbWUgLSBsYXN0SW52b2tlVGltZSxcbiAgICAgICAgICAgIHRpbWVXYWl0aW5nID0gd2FpdCAtIHRpbWVTaW5jZUxhc3RDYWxsO1xuXG4gICAgICAgIHJldHVybiBtYXhpbmdcbiAgICAgICAgICA/IG5hdGl2ZU1pbih0aW1lV2FpdGluZywgbWF4V2FpdCAtIHRpbWVTaW5jZUxhc3RJbnZva2UpXG4gICAgICAgICAgOiB0aW1lV2FpdGluZztcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gc2hvdWxkSW52b2tlKHRpbWUpIHtcbiAgICAgICAgdmFyIHRpbWVTaW5jZUxhc3RDYWxsID0gdGltZSAtIGxhc3RDYWxsVGltZSxcbiAgICAgICAgICAgIHRpbWVTaW5jZUxhc3RJbnZva2UgPSB0aW1lIC0gbGFzdEludm9rZVRpbWU7XG5cbiAgICAgICAgLy8gRWl0aGVyIHRoaXMgaXMgdGhlIGZpcnN0IGNhbGwsIGFjdGl2aXR5IGhhcyBzdG9wcGVkIGFuZCB3ZSdyZSBhdCB0aGVcbiAgICAgICAgLy8gdHJhaWxpbmcgZWRnZSwgdGhlIHN5c3RlbSB0aW1lIGhhcyBnb25lIGJhY2t3YXJkcyBhbmQgd2UncmUgdHJlYXRpbmdcbiAgICAgICAgLy8gaXQgYXMgdGhlIHRyYWlsaW5nIGVkZ2UsIG9yIHdlJ3ZlIGhpdCB0aGUgYG1heFdhaXRgIGxpbWl0LlxuICAgICAgICByZXR1cm4gKGxhc3RDYWxsVGltZSA9PT0gdW5kZWZpbmVkIHx8ICh0aW1lU2luY2VMYXN0Q2FsbCA+PSB3YWl0KSB8fFxuICAgICAgICAgICh0aW1lU2luY2VMYXN0Q2FsbCA8IDApIHx8IChtYXhpbmcgJiYgdGltZVNpbmNlTGFzdEludm9rZSA+PSBtYXhXYWl0KSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRpbWVyRXhwaXJlZCgpIHtcbiAgICAgICAgdmFyIHRpbWUgPSBub3coKTtcbiAgICAgICAgaWYgKHNob3VsZEludm9rZSh0aW1lKSkge1xuICAgICAgICAgIHJldHVybiB0cmFpbGluZ0VkZ2UodGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmVzdGFydCB0aGUgdGltZXIuXG4gICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgcmVtYWluaW5nV2FpdCh0aW1lKSk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIHRyYWlsaW5nRWRnZSh0aW1lKSB7XG4gICAgICAgIHRpbWVySWQgPSB1bmRlZmluZWQ7XG5cbiAgICAgICAgLy8gT25seSBpbnZva2UgaWYgd2UgaGF2ZSBgbGFzdEFyZ3NgIHdoaWNoIG1lYW5zIGBmdW5jYCBoYXMgYmVlblxuICAgICAgICAvLyBkZWJvdW5jZWQgYXQgbGVhc3Qgb25jZS5cbiAgICAgICAgaWYgKHRyYWlsaW5nICYmIGxhc3RBcmdzKSB7XG4gICAgICAgICAgcmV0dXJuIGludm9rZUZ1bmModGltZSk7XG4gICAgICAgIH1cbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0VGhpcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gY2FuY2VsKCkge1xuICAgICAgICBpZiAodGltZXJJZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVySWQpO1xuICAgICAgICB9XG4gICAgICAgIGxhc3RJbnZva2VUaW1lID0gMDtcbiAgICAgICAgbGFzdEFyZ3MgPSBsYXN0Q2FsbFRpbWUgPSBsYXN0VGhpcyA9IHRpbWVySWQgPSB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgICAgICByZXR1cm4gdGltZXJJZCA9PT0gdW5kZWZpbmVkID8gcmVzdWx0IDogdHJhaWxpbmdFZGdlKG5vdygpKTtcbiAgICAgIH1cblxuICAgICAgZnVuY3Rpb24gZGVib3VuY2VkKCkge1xuICAgICAgICB2YXIgdGltZSA9IG5vdygpLFxuICAgICAgICAgICAgaXNJbnZva2luZyA9IHNob3VsZEludm9rZSh0aW1lKTtcblxuICAgICAgICBsYXN0QXJncyA9IGFyZ3VtZW50cztcbiAgICAgICAgbGFzdFRoaXMgPSB0aGlzO1xuICAgICAgICBsYXN0Q2FsbFRpbWUgPSB0aW1lO1xuXG4gICAgICAgIGlmIChpc0ludm9raW5nKSB7XG4gICAgICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIGxlYWRpbmdFZGdlKGxhc3RDYWxsVGltZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChtYXhpbmcpIHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBpbnZvY2F0aW9ucyBpbiBhIHRpZ2h0IGxvb3AuXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGltZXJJZCk7XG4gICAgICAgICAgICB0aW1lcklkID0gc2V0VGltZW91dCh0aW1lckV4cGlyZWQsIHdhaXQpO1xuICAgICAgICAgICAgcmV0dXJuIGludm9rZUZ1bmMobGFzdENhbGxUaW1lKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRpbWVySWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRpbWVySWQgPSBzZXRUaW1lb3V0KHRpbWVyRXhwaXJlZCwgd2FpdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGRlYm91bmNlZC5jYW5jZWwgPSBjYW5jZWw7XG4gICAgICBkZWJvdW5jZWQuZmx1c2ggPSBmbHVzaDtcbiAgICAgIHJldHVybiBkZWJvdW5jZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVmZXJzIGludm9raW5nIHRoZSBgZnVuY2AgdW50aWwgdGhlIGN1cnJlbnQgY2FsbCBzdGFjayBoYXMgY2xlYXJlZC4gQW55XG4gICAgICogYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIGBmdW5jYCB3aGVuIGl0J3MgaW52b2tlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGRlZmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVyIGlkLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlZmVyKGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHRleHQpO1xuICAgICAqIH0sICdkZWZlcnJlZCcpO1xuICAgICAqIC8vID0+IExvZ3MgJ2RlZmVycmVkJyBhZnRlciBvbmUgbWlsbGlzZWNvbmQuXG4gICAgICovXG4gICAgdmFyIGRlZmVyID0gYmFzZVJlc3QoZnVuY3Rpb24oZnVuYywgYXJncykge1xuICAgICAgcmV0dXJuIGJhc2VEZWxheShmdW5jLCAxLCBhcmdzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIEludm9rZXMgYGZ1bmNgIGFmdGVyIGB3YWl0YCBtaWxsaXNlY29uZHMuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmVcbiAgICAgKiBwcm92aWRlZCB0byBgZnVuY2Agd2hlbiBpdCdzIGludm9rZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBkZWxheS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gd2FpdCBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byBkZWxheSBpbnZvY2F0aW9uLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW2FyZ3NdIFRoZSBhcmd1bWVudHMgdG8gaW52b2tlIGBmdW5jYCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRpbWVyIGlkLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmRlbGF5KGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgKiAgIGNvbnNvbGUubG9nKHRleHQpO1xuICAgICAqIH0sIDEwMDAsICdsYXRlcicpO1xuICAgICAqIC8vID0+IExvZ3MgJ2xhdGVyJyBhZnRlciBvbmUgc2Vjb25kLlxuICAgICAqL1xuICAgIHZhciBkZWxheSA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHdhaXQsIGFyZ3MpIHtcbiAgICAgIHJldHVybiBiYXNlRGVsYXkoZnVuYywgdG9OdW1iZXIod2FpdCkgfHwgMCwgYXJncyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGFyZ3VtZW50cyByZXZlcnNlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGZsaXAgYXJndW1lbnRzIGZvci5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmbGlwcGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgZmxpcHBlZCA9IF8uZmxpcChmdW5jdGlvbigpIHtcbiAgICAgKiAgIHJldHVybiBfLnRvQXJyYXkoYXJndW1lbnRzKTtcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIGZsaXBwZWQoJ2EnLCAnYicsICdjJywgJ2QnKTtcbiAgICAgKiAvLyA9PiBbJ2QnLCAnYycsICdiJywgJ2EnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZsaXAoZnVuYykge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9GTElQX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IG1lbW9pemVzIHRoZSByZXN1bHQgb2YgYGZ1bmNgLiBJZiBgcmVzb2x2ZXJgIGlzXG4gICAgICogcHJvdmlkZWQsIGl0IGRldGVybWluZXMgdGhlIGNhY2hlIGtleSBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IGJhc2VkIG9uIHRoZVxuICAgICAqIGFyZ3VtZW50cyBwcm92aWRlZCB0byB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uIEJ5IGRlZmF1bHQsIHRoZSBmaXJzdCBhcmd1bWVudFxuICAgICAqIHByb3ZpZGVkIHRvIHRoZSBtZW1vaXplZCBmdW5jdGlvbiBpcyB1c2VkIGFzIHRoZSBtYXAgY2FjaGUga2V5LiBUaGUgYGZ1bmNgXG4gICAgICogaXMgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhlIGNhY2hlIGlzIGV4cG9zZWQgYXMgdGhlIGBjYWNoZWAgcHJvcGVydHkgb24gdGhlIG1lbW9pemVkXG4gICAgICogZnVuY3Rpb24uIEl0cyBjcmVhdGlvbiBtYXkgYmUgY3VzdG9taXplZCBieSByZXBsYWNpbmcgdGhlIGBfLm1lbW9pemUuQ2FjaGVgXG4gICAgICogY29uc3RydWN0b3Igd2l0aCBvbmUgd2hvc2UgaW5zdGFuY2VzIGltcGxlbWVudCB0aGVcbiAgICAgKiBbYE1hcGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXByb3BlcnRpZXMtb2YtdGhlLW1hcC1wcm90b3R5cGUtb2JqZWN0KVxuICAgICAqIG1ldGhvZCBpbnRlcmZhY2Ugb2YgYGNsZWFyYCwgYGRlbGV0ZWAsIGBnZXRgLCBgaGFzYCwgYW5kIGBzZXRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaGF2ZSBpdHMgb3V0cHV0IG1lbW9pemVkLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtyZXNvbHZlcl0gVGhlIGZ1bmN0aW9uIHRvIHJlc29sdmUgdGhlIGNhY2hlIGtleS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBtZW1vaXplZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIgfTtcbiAgICAgKiB2YXIgb3RoZXIgPSB7ICdjJzogMywgJ2QnOiA0IH07XG4gICAgICpcbiAgICAgKiB2YXIgdmFsdWVzID0gXy5tZW1vaXplKF8udmFsdWVzKTtcbiAgICAgKiB2YWx1ZXMob2JqZWN0KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIHZhbHVlcyhvdGhlcik7XG4gICAgICogLy8gPT4gWzMsIDRdXG4gICAgICpcbiAgICAgKiBvYmplY3QuYSA9IDI7XG4gICAgICogdmFsdWVzKG9iamVjdCk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICpcbiAgICAgKiAvLyBNb2RpZnkgdGhlIHJlc3VsdCBjYWNoZS5cbiAgICAgKiB2YWx1ZXMuY2FjaGUuc2V0KG9iamVjdCwgWydhJywgJ2InXSk7XG4gICAgICogdmFsdWVzKG9iamVjdCk7XG4gICAgICogLy8gPT4gWydhJywgJ2InXVxuICAgICAqXG4gICAgICogLy8gUmVwbGFjZSBgXy5tZW1vaXplLkNhY2hlYC5cbiAgICAgKiBfLm1lbW9pemUuQ2FjaGUgPSBXZWFrTWFwO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lbW9pemUoZnVuYywgcmVzb2x2ZXIpIHtcbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nIHx8IChyZXNvbHZlciAhPSBudWxsICYmIHR5cGVvZiByZXNvbHZlciAhPSAnZnVuY3Rpb24nKSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICB2YXIgbWVtb2l6ZWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgICBrZXkgPSByZXNvbHZlciA/IHJlc29sdmVyLmFwcGx5KHRoaXMsIGFyZ3MpIDogYXJnc1swXSxcbiAgICAgICAgICAgIGNhY2hlID0gbWVtb2l6ZWQuY2FjaGU7XG5cbiAgICAgICAgaWYgKGNhY2hlLmhhcyhrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGNhY2hlLmdldChrZXkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciByZXN1bHQgPSBmdW5jLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgICAgICBtZW1vaXplZC5jYWNoZSA9IGNhY2hlLnNldChrZXksIHJlc3VsdCkgfHwgY2FjaGU7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9O1xuICAgICAgbWVtb2l6ZWQuY2FjaGUgPSBuZXcgKG1lbW9pemUuQ2FjaGUgfHwgTWFwQ2FjaGUpO1xuICAgICAgcmV0dXJuIG1lbW9pemVkO1xuICAgIH1cblxuICAgIC8vIEV4cG9zZSBgTWFwQ2FjaGVgLlxuICAgIG1lbW9pemUuQ2FjaGUgPSBNYXBDYWNoZTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IG5lZ2F0ZXMgdGhlIHJlc3VsdCBvZiB0aGUgcHJlZGljYXRlIGBmdW5jYC4gVGhlXG4gICAgICogYGZ1bmNgIHByZWRpY2F0ZSBpcyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIGFuZCBhcmd1bWVudHMgb2YgdGhlXG4gICAgICogY3JlYXRlZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSBUaGUgcHJlZGljYXRlIHRvIG5lZ2F0ZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBuZWdhdGVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0V2ZW4obikge1xuICAgICAqICAgcmV0dXJuIG4gJSAyID09IDA7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5maWx0ZXIoWzEsIDIsIDMsIDQsIDUsIDZdLCBfLm5lZ2F0ZShpc0V2ZW4pKTtcbiAgICAgKiAvLyA9PiBbMSwgMywgNV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBuZWdhdGUocHJlZGljYXRlKSB7XG4gICAgICBpZiAodHlwZW9mIHByZWRpY2F0ZSAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgICAgIHN3aXRjaCAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgICBjYXNlIDA6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcyk7XG4gICAgICAgICAgY2FzZSAxOiByZXR1cm4gIXByZWRpY2F0ZS5jYWxsKHRoaXMsIGFyZ3NbMF0pO1xuICAgICAgICAgIGNhc2UgMjogcmV0dXJuICFwcmVkaWNhdGUuY2FsbCh0aGlzLCBhcmdzWzBdLCBhcmdzWzFdKTtcbiAgICAgICAgICBjYXNlIDM6IHJldHVybiAhcHJlZGljYXRlLmNhbGwodGhpcywgYXJnc1swXSwgYXJnc1sxXSwgYXJnc1syXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICFwcmVkaWNhdGUuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGlzIHJlc3RyaWN0ZWQgdG8gaW52b2tpbmcgYGZ1bmNgIG9uY2UuIFJlcGVhdCBjYWxsc1xuICAgICAqIHRvIHRoZSBmdW5jdGlvbiByZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBmaXJzdCBpbnZvY2F0aW9uLiBUaGUgYGZ1bmNgIGlzXG4gICAgICogaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBhbmQgYXJndW1lbnRzIG9mIHRoZSBjcmVhdGVkIGZ1bmN0aW9uLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcmVzdHJpY3QuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcmVzdHJpY3RlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGluaXRpYWxpemUgPSBfLm9uY2UoY3JlYXRlQXBwbGljYXRpb24pO1xuICAgICAqIGluaXRpYWxpemUoKTtcbiAgICAgKiBpbml0aWFsaXplKCk7XG4gICAgICogLy8gPT4gYGNyZWF0ZUFwcGxpY2F0aW9uYCBpcyBpbnZva2VkIG9uY2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBvbmNlKGZ1bmMpIHtcbiAgICAgIHJldHVybiBiZWZvcmUoMiwgZnVuYyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyBgZnVuY2Agd2l0aCBpdHMgYXJndW1lbnRzIHRyYW5zZm9ybWVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gd3JhcC5cbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW3RyYW5zZm9ybXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgYXJndW1lbnQgdHJhbnNmb3Jtcy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gZG91YmxlZChuKSB7XG4gICAgICogICByZXR1cm4gbiAqIDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ub3ZlckFyZ3MoZnVuY3Rpb24oeCwgeSkge1xuICAgICAqICAgcmV0dXJuIFt4LCB5XTtcbiAgICAgKiB9LCBbc3F1YXJlLCBkb3VibGVkXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKDksIDMpO1xuICAgICAqIC8vID0+IFs4MSwgNl1cbiAgICAgKlxuICAgICAqIGZ1bmMoMTAsIDUpO1xuICAgICAqIC8vID0+IFsxMDAsIDEwXVxuICAgICAqL1xuICAgIHZhciBvdmVyQXJncyA9IGNhc3RSZXN0KGZ1bmN0aW9uKGZ1bmMsIHRyYW5zZm9ybXMpIHtcbiAgICAgIHRyYW5zZm9ybXMgPSAodHJhbnNmb3Jtcy5sZW5ndGggPT0gMSAmJiBpc0FycmF5KHRyYW5zZm9ybXNbMF0pKVxuICAgICAgICA/IGFycmF5TWFwKHRyYW5zZm9ybXNbMF0sIGJhc2VVbmFyeShnZXRJdGVyYXRlZSgpKSlcbiAgICAgICAgOiBhcnJheU1hcChiYXNlRmxhdHRlbih0cmFuc2Zvcm1zLCAxKSwgYmFzZVVuYXJ5KGdldEl0ZXJhdGVlKCkpKTtcblxuICAgICAgdmFyIGZ1bmNzTGVuZ3RoID0gdHJhbnNmb3Jtcy5sZW5ndGg7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICB2YXIgaW5kZXggPSAtMSxcbiAgICAgICAgICAgIGxlbmd0aCA9IG5hdGl2ZU1pbihhcmdzLmxlbmd0aCwgZnVuY3NMZW5ndGgpO1xuXG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgYXJnc1tpbmRleF0gPSB0cmFuc2Zvcm1zW2luZGV4XS5jYWxsKHRoaXMsIGFyZ3NbaW5kZXhdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgYXJncyk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggYHBhcnRpYWxzYCBwcmVwZW5kZWQgdG8gdGhlXG4gICAgICogYXJndW1lbnRzIGl0IHJlY2VpdmVzLiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmJpbmRgIGV4Y2VwdCBpdCBkb2VzICoqbm90KipcbiAgICAgKiBhbHRlciB0aGUgYHRoaXNgIGJpbmRpbmcuXG4gICAgICpcbiAgICAgKiBUaGUgYF8ucGFydGlhbC5wbGFjZWhvbGRlcmAgdmFsdWUsIHdoaWNoIGRlZmF1bHRzIHRvIGBfYCBpbiBtb25vbGl0aGljXG4gICAgICogYnVpbGRzLCBtYXkgYmUgdXNlZCBhcyBhIHBsYWNlaG9sZGVyIGZvciBwYXJ0aWFsbHkgYXBwbGllZCBhcmd1bWVudHMuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgZG9lc24ndCBzZXQgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgb2YgcGFydGlhbGx5XG4gICAgICogYXBwbGllZCBmdW5jdGlvbnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4yLjBcbiAgICAgKiBAY2F0ZWdvcnkgRnVuY3Rpb25cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBwYXJ0aWFsbHkgYXBwbHkgYXJndW1lbnRzIHRvLlxuICAgICAqIEBwYXJhbSB7Li4uKn0gW3BhcnRpYWxzXSBUaGUgYXJndW1lbnRzIHRvIGJlIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHBhcnRpYWxseSBhcHBsaWVkIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBncmVldChncmVldGluZywgbmFtZSkge1xuICAgICAqICAgcmV0dXJuIGdyZWV0aW5nICsgJyAnICsgbmFtZTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgc2F5SGVsbG9UbyA9IF8ucGFydGlhbChncmVldCwgJ2hlbGxvJyk7XG4gICAgICogc2F5SGVsbG9UbygnZnJlZCcpO1xuICAgICAqIC8vID0+ICdoZWxsbyBmcmVkJ1xuICAgICAqXG4gICAgICogLy8gUGFydGlhbGx5IGFwcGxpZWQgd2l0aCBwbGFjZWhvbGRlcnMuXG4gICAgICogdmFyIGdyZWV0RnJlZCA9IF8ucGFydGlhbChncmVldCwgXywgJ2ZyZWQnKTtcbiAgICAgKiBncmVldEZyZWQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQnXG4gICAgICovXG4gICAgdmFyIHBhcnRpYWwgPSBiYXNlUmVzdChmdW5jdGlvbihmdW5jLCBwYXJ0aWFscykge1xuICAgICAgdmFyIGhvbGRlcnMgPSByZXBsYWNlSG9sZGVycyhwYXJ0aWFscywgZ2V0SG9sZGVyKHBhcnRpYWwpKTtcbiAgICAgIHJldHVybiBjcmVhdGVXcmFwKGZ1bmMsIFdSQVBfUEFSVElBTF9GTEFHLCB1bmRlZmluZWQsIHBhcnRpYWxzLCBob2xkZXJzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ucGFydGlhbGAgZXhjZXB0IHRoYXQgcGFydGlhbGx5IGFwcGxpZWQgYXJndW1lbnRzXG4gICAgICogYXJlIGFwcGVuZGVkIHRvIHRoZSBhcmd1bWVudHMgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBUaGUgYF8ucGFydGlhbFJpZ2h0LnBsYWNlaG9sZGVyYCB2YWx1ZSwgd2hpY2ggZGVmYXVsdHMgdG8gYF9gIGluIG1vbm9saXRoaWNcbiAgICAgKiBidWlsZHMsIG1heSBiZSB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgZm9yIHBhcnRpYWxseSBhcHBsaWVkIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBkb2Vzbid0IHNldCB0aGUgXCJsZW5ndGhcIiBwcm9wZXJ0eSBvZiBwYXJ0aWFsbHlcbiAgICAgKiBhcHBsaWVkIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHBhcnRpYWxseSBhcHBseSBhcmd1bWVudHMgdG8uXG4gICAgICogQHBhcmFtIHsuLi4qfSBbcGFydGlhbHNdIFRoZSBhcmd1bWVudHMgdG8gYmUgcGFydGlhbGx5IGFwcGxpZWQuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgcGFydGlhbGx5IGFwcGxpZWQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGdyZWV0KGdyZWV0aW5nLCBuYW1lKSB7XG4gICAgICogICByZXR1cm4gZ3JlZXRpbmcgKyAnICcgKyBuYW1lO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBncmVldEZyZWQgPSBfLnBhcnRpYWxSaWdodChncmVldCwgJ2ZyZWQnKTtcbiAgICAgKiBncmVldEZyZWQoJ2hpJyk7XG4gICAgICogLy8gPT4gJ2hpIGZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBQYXJ0aWFsbHkgYXBwbGllZCB3aXRoIHBsYWNlaG9sZGVycy5cbiAgICAgKiB2YXIgc2F5SGVsbG9UbyA9IF8ucGFydGlhbFJpZ2h0KGdyZWV0LCAnaGVsbG8nLCBfKTtcbiAgICAgKiBzYXlIZWxsb1RvKCdmcmVkJyk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQnXG4gICAgICovXG4gICAgdmFyIHBhcnRpYWxSaWdodCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIHBhcnRpYWxzKSB7XG4gICAgICB2YXIgaG9sZGVycyA9IHJlcGxhY2VIb2xkZXJzKHBhcnRpYWxzLCBnZXRIb2xkZXIocGFydGlhbFJpZ2h0KSk7XG4gICAgICByZXR1cm4gY3JlYXRlV3JhcChmdW5jLCBXUkFQX1BBUlRJQUxfUklHSFRfRkxBRywgdW5kZWZpbmVkLCBwYXJ0aWFscywgaG9sZGVycyk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIGFyZ3VtZW50cyBhcnJhbmdlZCBhY2NvcmRpbmdcbiAgICAgKiB0byB0aGUgc3BlY2lmaWVkIGBpbmRleGVzYCB3aGVyZSB0aGUgYXJndW1lbnQgdmFsdWUgYXQgdGhlIGZpcnN0IGluZGV4IGlzXG4gICAgICogcHJvdmlkZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50LCB0aGUgYXJndW1lbnQgdmFsdWUgYXQgdGhlIHNlY29uZCBpbmRleCBpc1xuICAgICAqIHByb3ZpZGVkIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQsIGFuZCBzbyBvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHJlYXJyYW5nZSBhcmd1bWVudHMgZm9yLlxuICAgICAqIEBwYXJhbSB7Li4uKG51bWJlcnxudW1iZXJbXSl9IGluZGV4ZXMgVGhlIGFycmFuZ2VkIGFyZ3VtZW50IGluZGV4ZXMuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciByZWFyZ2VkID0gXy5yZWFyZyhmdW5jdGlvbihhLCBiLCBjKSB7XG4gICAgICogICByZXR1cm4gW2EsIGIsIGNdO1xuICAgICAqIH0sIFsyLCAwLCAxXSk7XG4gICAgICpcbiAgICAgKiByZWFyZ2VkKCdiJywgJ2MnLCAnYScpXG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICovXG4gICAgdmFyIHJlYXJnID0gZmxhdFJlc3QoZnVuY3Rpb24oZnVuYywgaW5kZXhlcykge1xuICAgICAgcmV0dXJuIGNyZWF0ZVdyYXAoZnVuYywgV1JBUF9SRUFSR19GTEFHLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBpbmRleGVzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIHRoZVxuICAgICAqIGNyZWF0ZWQgZnVuY3Rpb24gYW5kIGFyZ3VtZW50cyBmcm9tIGBzdGFydGAgYW5kIGJleW9uZCBwcm92aWRlZCBhc1xuICAgICAqIGFuIGFycmF5LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uIHRoZVxuICAgICAqIFtyZXN0IHBhcmFtZXRlcl0oaHR0cHM6Ly9tZG4uaW8vcmVzdF9wYXJhbWV0ZXJzKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IGEgcmVzdCBwYXJhbWV0ZXIgdG8uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD1mdW5jLmxlbmd0aC0xXSBUaGUgc3RhcnQgcG9zaXRpb24gb2YgdGhlIHJlc3QgcGFyYW1ldGVyLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F5ID0gXy5yZXN0KGZ1bmN0aW9uKHdoYXQsIG5hbWVzKSB7XG4gICAgICogICByZXR1cm4gd2hhdCArICcgJyArIF8uaW5pdGlhbChuYW1lcykuam9pbignLCAnKSArXG4gICAgICogICAgIChfLnNpemUobmFtZXMpID4gMSA/ICcsICYgJyA6ICcnKSArIF8ubGFzdChuYW1lcyk7XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBzYXkoJ2hlbGxvJywgJ2ZyZWQnLCAnYmFybmV5JywgJ3BlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnXG4gICAgICovXG4gICAgZnVuY3Rpb24gcmVzdChmdW5jLCBzdGFydCkge1xuICAgICAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgfVxuICAgICAgc3RhcnQgPSBzdGFydCA9PT0gdW5kZWZpbmVkID8gc3RhcnQgOiB0b0ludGVnZXIoc3RhcnQpO1xuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmMsIHN0YXJ0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIGBmdW5jYCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGVcbiAgICAgKiBjcmVhdGUgZnVuY3Rpb24gYW5kIGFuIGFycmF5IG9mIGFyZ3VtZW50cyBtdWNoIGxpa2VcbiAgICAgKiBbYEZ1bmN0aW9uI2FwcGx5YF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb24gdGhlXG4gICAgICogW3NwcmVhZCBvcGVyYXRvcl0oaHR0cHM6Ly9tZG4uaW8vc3ByZWFkX29wZXJhdG9yKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjIuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIHNwcmVhZCBhcmd1bWVudHMgb3Zlci5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBwb3NpdGlvbiBvZiB0aGUgc3ByZWFkLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgc2F5ID0gXy5zcHJlYWQoZnVuY3Rpb24od2hvLCB3aGF0KSB7XG4gICAgICogICByZXR1cm4gd2hvICsgJyBzYXlzICcgKyB3aGF0O1xuICAgICAqIH0pO1xuICAgICAqXG4gICAgICogc2F5KFsnZnJlZCcsICdoZWxsbyddKTtcbiAgICAgKiAvLyA9PiAnZnJlZCBzYXlzIGhlbGxvJ1xuICAgICAqXG4gICAgICogdmFyIG51bWJlcnMgPSBQcm9taXNlLmFsbChbXG4gICAgICogICBQcm9taXNlLnJlc29sdmUoNDApLFxuICAgICAqICAgUHJvbWlzZS5yZXNvbHZlKDM2KVxuICAgICAqIF0pO1xuICAgICAqXG4gICAgICogbnVtYmVycy50aGVuKF8uc3ByZWFkKGZ1bmN0aW9uKHgsIHkpIHtcbiAgICAgKiAgIHJldHVybiB4ICsgeTtcbiAgICAgKiB9KSk7XG4gICAgICogLy8gPT4gYSBQcm9taXNlIG9mIDc2XG4gICAgICovXG4gICAgZnVuY3Rpb24gc3ByZWFkKGZ1bmMsIHN0YXJ0KSB7XG4gICAgICBpZiAodHlwZW9mIGZ1bmMgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKEZVTkNfRVJST1JfVEVYVCk7XG4gICAgICB9XG4gICAgICBzdGFydCA9IHN0YXJ0ID09IG51bGwgPyAwIDogbmF0aXZlTWF4KHRvSW50ZWdlcihzdGFydCksIDApO1xuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgICAgdmFyIGFycmF5ID0gYXJnc1tzdGFydF0sXG4gICAgICAgICAgICBvdGhlckFyZ3MgPSBjYXN0U2xpY2UoYXJncywgMCwgc3RhcnQpO1xuXG4gICAgICAgIGlmIChhcnJheSkge1xuICAgICAgICAgIGFycmF5UHVzaChvdGhlckFyZ3MsIGFycmF5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXBwbHkoZnVuYywgdGhpcywgb3RoZXJBcmdzKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSB0aHJvdHRsZWQgZnVuY3Rpb24gdGhhdCBvbmx5IGludm9rZXMgYGZ1bmNgIGF0IG1vc3Qgb25jZSBwZXJcbiAgICAgKiBldmVyeSBgd2FpdGAgbWlsbGlzZWNvbmRzLiBUaGUgdGhyb3R0bGVkIGZ1bmN0aW9uIGNvbWVzIHdpdGggYSBgY2FuY2VsYFxuICAgICAqIG1ldGhvZCB0byBjYW5jZWwgZGVsYXllZCBgZnVuY2AgaW52b2NhdGlvbnMgYW5kIGEgYGZsdXNoYCBtZXRob2QgdG9cbiAgICAgKiBpbW1lZGlhdGVseSBpbnZva2UgdGhlbS4gUHJvdmlkZSBgb3B0aW9uc2AgdG8gaW5kaWNhdGUgd2hldGhlciBgZnVuY2BcbiAgICAgKiBzaG91bGQgYmUgaW52b2tlZCBvbiB0aGUgbGVhZGluZyBhbmQvb3IgdHJhaWxpbmcgZWRnZSBvZiB0aGUgYHdhaXRgXG4gICAgICogdGltZW91dC4gVGhlIGBmdW5jYCBpcyBpbnZva2VkIHdpdGggdGhlIGxhc3QgYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZVxuICAgICAqIHRocm90dGxlZCBmdW5jdGlvbi4gU3Vic2VxdWVudCBjYWxscyB0byB0aGUgdGhyb3R0bGVkIGZ1bmN0aW9uIHJldHVybiB0aGVcbiAgICAgKiByZXN1bHQgb2YgdGhlIGxhc3QgYGZ1bmNgIGludm9jYXRpb24uXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSWYgYGxlYWRpbmdgIGFuZCBgdHJhaWxpbmdgIG9wdGlvbnMgYXJlIGB0cnVlYCwgYGZ1bmNgIGlzXG4gICAgICogaW52b2tlZCBvbiB0aGUgdHJhaWxpbmcgZWRnZSBvZiB0aGUgdGltZW91dCBvbmx5IGlmIHRoZSB0aHJvdHRsZWQgZnVuY3Rpb25cbiAgICAgKiBpcyBpbnZva2VkIG1vcmUgdGhhbiBvbmNlIGR1cmluZyB0aGUgYHdhaXRgIHRpbWVvdXQuXG4gICAgICpcbiAgICAgKiBJZiBgd2FpdGAgaXMgYDBgIGFuZCBgbGVhZGluZ2AgaXMgYGZhbHNlYCwgYGZ1bmNgIGludm9jYXRpb24gaXMgZGVmZXJyZWRcbiAgICAgKiB1bnRpbCB0byB0aGUgbmV4dCB0aWNrLCBzaW1pbGFyIHRvIGBzZXRUaW1lb3V0YCB3aXRoIGEgdGltZW91dCBvZiBgMGAuXG4gICAgICpcbiAgICAgKiBTZWUgW0RhdmlkIENvcmJhY2hvJ3MgYXJ0aWNsZV0oaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9kZWJvdW5jaW5nLXRocm90dGxpbmctZXhwbGFpbmVkLWV4YW1wbGVzLylcbiAgICAgKiBmb3IgZGV0YWlscyBvdmVyIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGBfLnRocm90dGxlYCBhbmQgYF8uZGVib3VuY2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IEZ1bmN0aW9uXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gdGhyb3R0bGUuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFt3YWl0PTBdIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHRocm90dGxlIGludm9jYXRpb25zIHRvLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMubGVhZGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSBsZWFkaW5nIGVkZ2Ugb2YgdGhlIHRpbWVvdXQuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy50cmFpbGluZz10cnVlXVxuICAgICAqICBTcGVjaWZ5IGludm9raW5nIG9uIHRoZSB0cmFpbGluZyBlZGdlIG9mIHRoZSB0aW1lb3V0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHRocm90dGxlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gQXZvaWQgZXhjZXNzaXZlbHkgdXBkYXRpbmcgdGhlIHBvc2l0aW9uIHdoaWxlIHNjcm9sbGluZy5cbiAgICAgKiBqUXVlcnkod2luZG93KS5vbignc2Nyb2xsJywgXy50aHJvdHRsZSh1cGRhdGVQb3NpdGlvbiwgMTAwKSk7XG4gICAgICpcbiAgICAgKiAvLyBJbnZva2UgYHJlbmV3VG9rZW5gIHdoZW4gdGhlIGNsaWNrIGV2ZW50IGlzIGZpcmVkLCBidXQgbm90IG1vcmUgdGhhbiBvbmNlIGV2ZXJ5IDUgbWludXRlcy5cbiAgICAgKiB2YXIgdGhyb3R0bGVkID0gXy50aHJvdHRsZShyZW5ld1Rva2VuLCAzMDAwMDAsIHsgJ3RyYWlsaW5nJzogZmFsc2UgfSk7XG4gICAgICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIHRocm90dGxlZCk7XG4gICAgICpcbiAgICAgKiAvLyBDYW5jZWwgdGhlIHRyYWlsaW5nIHRocm90dGxlZCBpbnZvY2F0aW9uLlxuICAgICAqIGpRdWVyeSh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIHRocm90dGxlZC5jYW5jZWwpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRocm90dGxlKGZ1bmMsIHdhaXQsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBsZWFkaW5nID0gdHJ1ZSxcbiAgICAgICAgICB0cmFpbGluZyA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlb2YgZnVuYyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc09iamVjdChvcHRpb25zKSkge1xuICAgICAgICBsZWFkaW5nID0gJ2xlYWRpbmcnIGluIG9wdGlvbnMgPyAhIW9wdGlvbnMubGVhZGluZyA6IGxlYWRpbmc7XG4gICAgICAgIHRyYWlsaW5nID0gJ3RyYWlsaW5nJyBpbiBvcHRpb25zID8gISFvcHRpb25zLnRyYWlsaW5nIDogdHJhaWxpbmc7XG4gICAgICB9XG4gICAgICByZXR1cm4gZGVib3VuY2UoZnVuYywgd2FpdCwge1xuICAgICAgICAnbGVhZGluZyc6IGxlYWRpbmcsXG4gICAgICAgICdtYXhXYWl0Jzogd2FpdCxcbiAgICAgICAgJ3RyYWlsaW5nJzogdHJhaWxpbmdcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgdXAgdG8gb25lIGFyZ3VtZW50LCBpZ25vcmluZyBhbnlcbiAgICAgKiBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNhcCBhcmd1bWVudHMgZm9yLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGNhcHBlZCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tYXAoWyc2JywgJzgnLCAnMTAnXSwgXy51bmFyeShwYXJzZUludCkpO1xuICAgICAqIC8vID0+IFs2LCA4LCAxMF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmFyeShmdW5jKSB7XG4gICAgICByZXR1cm4gYXJ5KGZ1bmMsIDEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHByb3ZpZGVzIGB2YWx1ZWAgdG8gYHdyYXBwZXJgIGFzIGl0cyBmaXJzdFxuICAgICAqIGFyZ3VtZW50LiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgcHJvdmlkZWQgdG8gdGhlIGZ1bmN0aW9uIGFyZSBhcHBlbmRlZFxuICAgICAqIHRvIHRob3NlIHByb3ZpZGVkIHRvIHRoZSBgd3JhcHBlcmAuIFRoZSB3cmFwcGVyIGlzIGludm9rZWQgd2l0aCB0aGUgYHRoaXNgXG4gICAgICogYmluZGluZyBvZiB0aGUgY3JlYXRlZCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHdyYXAuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3dyYXBwZXI9aWRlbnRpdHldIFRoZSB3cmFwcGVyIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgcCA9IF8ud3JhcChfLmVzY2FwZSwgZnVuY3Rpb24oZnVuYywgdGV4dCkge1xuICAgICAqICAgcmV0dXJuICc8cD4nICsgZnVuYyh0ZXh0KSArICc8L3A+JztcbiAgICAgKiB9KTtcbiAgICAgKlxuICAgICAqIHAoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJzxwPmZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlczwvcD4nXG4gICAgICovXG4gICAgZnVuY3Rpb24gd3JhcCh2YWx1ZSwgd3JhcHBlcikge1xuICAgICAgcmV0dXJuIHBhcnRpYWwoY2FzdEZ1bmN0aW9uKHdyYXBwZXIpLCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogQ2FzdHMgYHZhbHVlYCBhcyBhbiBhcnJheSBpZiBpdCdzIG5vdCBvbmUuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC40LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjYXN0IGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhc3RBcnJheSgxKTtcbiAgICAgKiAvLyA9PiBbMV1cbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KHsgJ2EnOiAxIH0pO1xuICAgICAqIC8vID0+IFt7ICdhJzogMSB9XVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoJ2FiYycpO1xuICAgICAqIC8vID0+IFsnYWJjJ11cbiAgICAgKlxuICAgICAqIF8uY2FzdEFycmF5KG51bGwpO1xuICAgICAqIC8vID0+IFtudWxsXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkodW5kZWZpbmVkKTtcbiAgICAgKiAvLyA9PiBbdW5kZWZpbmVkXVxuICAgICAqXG4gICAgICogXy5jYXN0QXJyYXkoKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzEsIDIsIDNdO1xuICAgICAqIGNvbnNvbGUubG9nKF8uY2FzdEFycmF5KGFycmF5KSA9PT0gYXJyYXkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXN0QXJyYXkoKSB7XG4gICAgICBpZiAoIWFyZ3VtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIHZhbHVlID0gYXJndW1lbnRzWzBdO1xuICAgICAgcmV0dXJuIGlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBzaGFsbG93IGNsb25lIG9mIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvbiB0aGVcbiAgICAgKiBbc3RydWN0dXJlZCBjbG9uZSBhbGdvcml0aG1dKGh0dHBzOi8vbWRuLmlvL1N0cnVjdHVyZWRfY2xvbmVfYWxnb3JpdGhtKVxuICAgICAqIGFuZCBzdXBwb3J0cyBjbG9uaW5nIGFycmF5cywgYXJyYXkgYnVmZmVycywgYm9vbGVhbnMsIGRhdGUgb2JqZWN0cywgbWFwcyxcbiAgICAgKiBudW1iZXJzLCBgT2JqZWN0YCBvYmplY3RzLCByZWdleGVzLCBzZXRzLCBzdHJpbmdzLCBzeW1ib2xzLCBhbmQgdHlwZWRcbiAgICAgKiBhcnJheXMuIFRoZSBvd24gZW51bWVyYWJsZSBwcm9wZXJ0aWVzIG9mIGBhcmd1bWVudHNgIG9iamVjdHMgYXJlIGNsb25lZFxuICAgICAqIGFzIHBsYWluIG9iamVjdHMuIEFuIGVtcHR5IG9iamVjdCBpcyByZXR1cm5lZCBmb3IgdW5jbG9uZWFibGUgdmFsdWVzIHN1Y2hcbiAgICAgKiBhcyBlcnJvciBvYmplY3RzLCBmdW5jdGlvbnMsIERPTSBub2RlcywgYW5kIFdlYWtNYXBzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjbG9uZS5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZURlZXBcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnYSc6IDEgfSwgeyAnYic6IDIgfV07XG4gICAgICpcbiAgICAgKiB2YXIgc2hhbGxvdyA9IF8uY2xvbmUob2JqZWN0cyk7XG4gICAgICogY29uc29sZS5sb2coc2hhbGxvd1swXSA9PT0gb2JqZWN0c1swXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lKHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY2xvbmVgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBjbG9uZWQgdmFsdWUuIElmIGBjdXN0b21pemVyYCByZXR1cm5zIGB1bmRlZmluZWRgLFxuICAgICAqIGNsb25pbmcgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoXG4gICAgICogdXAgdG8gZm91ciBhcmd1bWVudHM7ICh2YWx1ZSBbLCBpbmRleHxrZXksIG9iamVjdCwgc3RhY2tdKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2xvbmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY2xvbmluZy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgY2xvbmVkIHZhbHVlLlxuICAgICAqIEBzZWUgXy5jbG9uZURlZXBXaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIodmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzRWxlbWVudCh2YWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHZhbHVlLmNsb25lTm9kZShmYWxzZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGVsID0gXy5jbG9uZVdpdGgoZG9jdW1lbnQuYm9keSwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhlbCA9PT0gZG9jdW1lbnQuYm9keSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKiBjb25zb2xlLmxvZyhlbC5ub2RlTmFtZSk7XG4gICAgICogLy8gPT4gJ0JPRFknXG4gICAgICogY29uc29sZS5sb2coZWwuY2hpbGROb2Rlcy5sZW5ndGgpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjbG9uZVdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5jbG9uZWAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgY2xvbmVzIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHJlY3Vyc2l2ZWx5IGNsb25lLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBkZWVwIGNsb25lZCB2YWx1ZS5cbiAgICAgKiBAc2VlIF8uY2xvbmVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnYSc6IDEgfSwgeyAnYic6IDIgfV07XG4gICAgICpcbiAgICAgKiB2YXIgZGVlcCA9IF8uY2xvbmVEZWVwKG9iamVjdHMpO1xuICAgICAqIGNvbnNvbGUubG9nKGRlZXBbMF0gPT09IG9iamVjdHNbMF0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY2xvbmVEZWVwKHZhbHVlKSB7XG4gICAgICByZXR1cm4gYmFzZUNsb25lKHZhbHVlLCBDTE9ORV9ERUVQX0ZMQUcgfCBDTE9ORV9TWU1CT0xTX0ZMQUcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uY2xvbmVXaXRoYCBleGNlcHQgdGhhdCBpdCByZWN1cnNpdmVseSBjbG9uZXMgYHZhbHVlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVjdXJzaXZlbHkgY2xvbmUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgY2xvbmluZy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZGVlcCBjbG9uZWQgdmFsdWUuXG4gICAgICogQHNlZSBfLmNsb25lV2l0aFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBjdXN0b21pemVyKHZhbHVlKSB7XG4gICAgICogICBpZiAoXy5pc0VsZW1lbnQodmFsdWUpKSB7XG4gICAgICogICAgIHJldHVybiB2YWx1ZS5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGVsID0gXy5jbG9uZURlZXBXaXRoKGRvY3VtZW50LmJvZHksIGN1c3RvbWl6ZXIpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coZWwgPT09IGRvY3VtZW50LmJvZHkpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICogY29uc29sZS5sb2coZWwubm9kZU5hbWUpO1xuICAgICAqIC8vID0+ICdCT0RZJ1xuICAgICAqIGNvbnNvbGUubG9nKGVsLmNoaWxkTm9kZXMubGVuZ3RoKTtcbiAgICAgKiAvLyA9PiAyMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsb25lRGVlcFdpdGgodmFsdWUsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBiYXNlQ2xvbmUodmFsdWUsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBvYmplY3RgIGNvbmZvcm1zIHRvIGBzb3VyY2VgIGJ5IGludm9raW5nIHRoZSBwcmVkaWNhdGVcbiAgICAgKiBwcm9wZXJ0aWVzIG9mIGBzb3VyY2VgIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgdmFsdWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGVxdWl2YWxlbnQgdG8gYF8uY29uZm9ybXNgIHdoZW4gYHNvdXJjZWAgaXNcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjE0LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBzb3VyY2UgVGhlIG9iamVjdCBvZiBwcm9wZXJ0eSBwcmVkaWNhdGVzIHRvIGNvbmZvcm0gdG8uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBvYmplY3RgIGNvbmZvcm1zLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyIH07XG4gICAgICpcbiAgICAgKiBfLmNvbmZvcm1zVG8ob2JqZWN0LCB7ICdiJzogZnVuY3Rpb24obikgeyByZXR1cm4gbiA+IDE7IH0gfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5jb25mb3Jtc1RvKG9iamVjdCwgeyAnYic6IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG4gPiAyOyB9IH0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uZm9ybXNUbyhvYmplY3QsIHNvdXJjZSkge1xuICAgICAgcmV0dXJuIHNvdXJjZSA9PSBudWxsIHx8IGJhc2VDb25mb3Jtc1RvKG9iamVjdCwgc291cmNlLCBrZXlzKHNvdXJjZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBlcmZvcm1zIGFcbiAgICAgKiBbYFNhbWVWYWx1ZVplcm9gXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1zYW1ldmFsdWV6ZXJvKVxuICAgICAqIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uZXEob2JqZWN0LCBvYmplY3QpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZXEob2JqZWN0LCBvdGhlcik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZXEoJ2EnLCAnYScpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uZXEoJ2EnLCBPYmplY3QoJ2EnKSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uZXEoTmFOLCBOYU4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlcSh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGdyZWF0ZXIgdGhhbiBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIGBvdGhlcmAsXG4gICAgICogIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8ubHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ndCgzLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmd0KDMsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmd0KDEsIDMpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGd0ID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihiYXNlR3QpO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIGBvdGhlcmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy45LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG9cbiAgICAgKiAgYG90aGVyYCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBzZWUgXy5sdGVcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5ndGUoMywgMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5ndGUoMywgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5ndGUoMSwgMyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgZ3RlID0gY3JlYXRlUmVsYXRpb25hbE9wZXJhdGlvbihmdW5jdGlvbih2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA+PSBvdGhlcjtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxpa2VseSBhbiBgYXJndW1lbnRzYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGBhcmd1bWVudHNgIG9iamVjdCxcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJndW1lbnRzKGZ1bmN0aW9uKCkgeyByZXR1cm4gYXJndW1lbnRzOyB9KCkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcmd1bWVudHMoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FyZ3VtZW50cyA9IGJhc2VJc0FyZ3VtZW50cyhmdW5jdGlvbigpIHsgcmV0dXJuIGFyZ3VtZW50czsgfSgpKSA/IGJhc2VJc0FyZ3VtZW50cyA6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCAnY2FsbGVlJykgJiZcbiAgICAgICAgIXByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwodmFsdWUsICdjYWxsZWUnKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhbiBgQXJyYXlgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoJ2FiYycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5QnVmZmVyYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5IGJ1ZmZlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5QnVmZmVyKDIpKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlCdWZmZXIobmV3IEFycmF5KDIpKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc0FycmF5QnVmZmVyID0gbm9kZUlzQXJyYXlCdWZmZXIgPyBiYXNlVW5hcnkobm9kZUlzQXJyYXlCdWZmZXIpIDogYmFzZUlzQXJyYXlCdWZmZXI7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhcnJheS1saWtlLiBBIHZhbHVlIGlzIGNvbnNpZGVyZWQgYXJyYXktbGlrZSBpZiBpdCdzXG4gICAgICogbm90IGEgZnVuY3Rpb24gYW5kIGhhcyBhIGB2YWx1ZS5sZW5ndGhgIHRoYXQncyBhbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiBvclxuICAgICAqIGVxdWFsIHRvIGAwYCBhbmQgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIGBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUmAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFycmF5LWxpa2UsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2UoZG9jdW1lbnQuYm9keS5jaGlsZHJlbik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZSgnYWJjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0FycmF5TGlrZShfLm5vb3ApO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNBcnJheUxpa2UodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSAhPSBudWxsICYmIGlzTGVuZ3RoKHZhbHVlLmxlbmd0aCkgJiYgIWlzRnVuY3Rpb24odmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNBcnJheUxpa2VgIGV4Y2VwdCB0aGF0IGl0IGFsc28gY2hlY2tzIGlmIGB2YWx1ZWBcbiAgICAgKiBpcyBhbiBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGFycmF5LWxpa2Ugb2JqZWN0LFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlT2JqZWN0KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNBcnJheUxpa2VPYmplY3QoJ2FiYycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzQXJyYXlMaWtlT2JqZWN0KF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0FycmF5TGlrZU9iamVjdCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgaXNBcnJheUxpa2UodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBib29sZWFuIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYm9vbGVhbiwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzQm9vbGVhbihmYWxzZSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Jvb2xlYW4obnVsbCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdHJ1ZSB8fCB2YWx1ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgKGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gYm9vbFRhZyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYSBidWZmZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4zLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgYnVmZmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNCdWZmZXIobmV3IEJ1ZmZlcigyKSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0J1ZmZlcihuZXcgVWludDhBcnJheSgyKSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNCdWZmZXIgPSBuYXRpdmVJc0J1ZmZlciB8fCBzdHViRmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYERhdGVgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBkYXRlIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRGF0ZShuZXcgRGF0ZSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0RhdGUoJ01vbiBBcHJpbCAyMyAyMDEyJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICB2YXIgaXNEYXRlID0gbm9kZUlzRGF0ZSA/IGJhc2VVbmFyeShub2RlSXNEYXRlKSA6IGJhc2VJc0RhdGU7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsaWtlbHkgYSBET00gZWxlbWVudC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBET00gZWxlbWVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRWxlbWVudChkb2N1bWVudC5ib2R5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRWxlbWVudCgnPGJvZHk+Jyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0VsZW1lbnQodmFsdWUpIHtcbiAgICAgIHJldHVybiBpc09iamVjdExpa2UodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAxICYmICFpc1BsYWluT2JqZWN0KHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBlbXB0eSBvYmplY3QsIGNvbGxlY3Rpb24sIG1hcCwgb3Igc2V0LlxuICAgICAqXG4gICAgICogT2JqZWN0cyBhcmUgY29uc2lkZXJlZCBlbXB0eSBpZiB0aGV5IGhhdmUgbm8gb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkXG4gICAgICogcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqIEFycmF5LWxpa2UgdmFsdWVzIHN1Y2ggYXMgYGFyZ3VtZW50c2Agb2JqZWN0cywgYXJyYXlzLCBidWZmZXJzLCBzdHJpbmdzLCBvclxuICAgICAqIGpRdWVyeS1saWtlIGNvbGxlY3Rpb25zIGFyZSBjb25zaWRlcmVkIGVtcHR5IGlmIHRoZXkgaGF2ZSBhIGBsZW5ndGhgIG9mIGAwYC5cbiAgICAgKiBTaW1pbGFybHksIG1hcHMgYW5kIHNldHMgYXJlIGNvbnNpZGVyZWQgZW1wdHkgaWYgdGhleSBoYXZlIGEgYHNpemVgIG9mIGAwYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgZW1wdHksIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSh0cnVlKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzRW1wdHkoMSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0VtcHR5KFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNFbXB0eSh7ICdhJzogMSB9KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRW1wdHkodmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSAmJlxuICAgICAgICAgIChpc0FycmF5KHZhbHVlKSB8fCB0eXBlb2YgdmFsdWUgPT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlLnNwbGljZSA9PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICBpc0J1ZmZlcih2YWx1ZSkgfHwgaXNUeXBlZEFycmF5KHZhbHVlKSB8fCBpc0FyZ3VtZW50cyh2YWx1ZSkpKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUubGVuZ3RoO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGdldFRhZyh2YWx1ZSk7XG4gICAgICBpZiAodGFnID09IG1hcFRhZyB8fCB0YWcgPT0gc2V0VGFnKSB7XG4gICAgICAgIHJldHVybiAhdmFsdWUuc2l6ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1Byb3RvdHlwZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuICFiYXNlS2V5cyh2YWx1ZSkubGVuZ3RoO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIga2V5IGluIHZhbHVlKSB7XG4gICAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBrZXkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQZXJmb3JtcyBhIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIHR3byB2YWx1ZXMgdG8gZGV0ZXJtaW5lIGlmIHRoZXkgYXJlXG4gICAgICogZXF1aXZhbGVudC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBzdXBwb3J0cyBjb21wYXJpbmcgYXJyYXlzLCBhcnJheSBidWZmZXJzLCBib29sZWFucyxcbiAgICAgKiBkYXRlIG9iamVjdHMsIGVycm9yIG9iamVjdHMsIG1hcHMsIG51bWJlcnMsIGBPYmplY3RgIG9iamVjdHMsIHJlZ2V4ZXMsXG4gICAgICogc2V0cywgc3RyaW5ncywgc3ltYm9scywgYW5kIHR5cGVkIGFycmF5cy4gYE9iamVjdGAgb2JqZWN0cyBhcmUgY29tcGFyZWRcbiAgICAgKiBieSB0aGVpciBvd24sIG5vdCBpbmhlcml0ZWQsIGVudW1lcmFibGUgcHJvcGVydGllcy4gRnVuY3Rpb25zIGFuZCBET01cbiAgICAgKiBub2RlcyBhcmUgY29tcGFyZWQgYnkgc3RyaWN0IGVxdWFsaXR5LCBpLmUuIGA9PT1gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZXMgYXJlIGVxdWl2YWxlbnQsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxIH07XG4gICAgICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uaXNFcXVhbChvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBvYmplY3QgPT09IG90aGVyO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNFcXVhbCh2YWx1ZSwgb3RoZXIpIHtcbiAgICAgIHJldHVybiBiYXNlSXNFcXVhbCh2YWx1ZSwgb3RoZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uaXNFcXVhbGAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2hcbiAgICAgKiBpcyBpbnZva2VkIHRvIGNvbXBhcmUgdmFsdWVzLiBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYCwgY29tcGFyaXNvbnNcbiAgICAgKiBhcmUgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZCB3aXRoIHVwIHRvXG4gICAgICogc2l4IGFyZ3VtZW50czogKG9ialZhbHVlLCBvdGhWYWx1ZSBbLCBpbmRleHxrZXksIG9iamVjdCwgb3RoZXIsIHN0YWNrXSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlcyBhcmUgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0dyZWV0aW5nKHZhbHVlKSB7XG4gICAgICogICByZXR1cm4gL15oKD86aXxlbGxvKSQvLnRlc3QodmFsdWUpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIG90aFZhbHVlKSB7XG4gICAgICogICBpZiAoaXNHcmVldGluZyhvYmpWYWx1ZSkgJiYgaXNHcmVldGluZyhvdGhWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHRydWU7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWydoZWxsbycsICdnb29kYnllJ107XG4gICAgICogdmFyIG90aGVyID0gWydoaScsICdnb29kYnllJ107XG4gICAgICpcbiAgICAgKiBfLmlzRXF1YWxXaXRoKGFycmF5LCBvdGhlciwgY3VzdG9taXplcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRXF1YWxXaXRoKHZhbHVlLCBvdGhlciwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgdmFyIHJlc3VsdCA9IGN1c3RvbWl6ZXIgPyBjdXN0b21pemVyKHZhbHVlLCBvdGhlcikgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBiYXNlSXNFcXVhbCh2YWx1ZSwgb3RoZXIsIHVuZGVmaW5lZCwgY3VzdG9taXplcikgOiAhIXJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBgRXJyb3JgLCBgRXZhbEVycm9yYCwgYFJhbmdlRXJyb3JgLCBgUmVmZXJlbmNlRXJyb3JgLFxuICAgICAqIGBTeW50YXhFcnJvcmAsIGBUeXBlRXJyb3JgLCBvciBgVVJJRXJyb3JgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gZXJyb3Igb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNFcnJvcihuZXcgRXJyb3IpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNFcnJvcihFcnJvcik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Vycm9yKHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgcmV0dXJuIHRhZyA9PSBlcnJvclRhZyB8fCB0YWcgPT0gZG9tRXhjVGFnIHx8XG4gICAgICAgICh0eXBlb2YgdmFsdWUubWVzc2FnZSA9PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUubmFtZSA9PSAnc3RyaW5nJyAmJiAhaXNQbGFpbk9iamVjdCh2YWx1ZSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgZmluaXRlIHByaW1pdGl2ZSBudW1iZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc0Zpbml0ZWBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc0Zpbml0ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZmluaXRlIG51bWJlciwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzRmluaXRlKDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0Zpbml0ZShJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNGaW5pdGUoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzRmluaXRlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmIG5hdGl2ZUlzRmluaXRlKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgZnVuY3Rpb24sIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0Z1bmN0aW9uKF8pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNGdW5jdGlvbigvYWJjLyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc0Z1bmN0aW9uKHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICAvLyBUaGUgdXNlIG9mIGBPYmplY3QjdG9TdHJpbmdgIGF2b2lkcyBpc3N1ZXMgd2l0aCB0aGUgYHR5cGVvZmAgb3BlcmF0b3JcbiAgICAgIC8vIGluIFNhZmFyaSA5IHdoaWNoIHJldHVybnMgJ29iamVjdCcgZm9yIHR5cGVkIGFycmF5cyBhbmQgb3RoZXIgY29uc3RydWN0b3JzLlxuICAgICAgdmFyIHRhZyA9IGJhc2VHZXRUYWcodmFsdWUpO1xuICAgICAgcmV0dXJuIHRhZyA9PSBmdW5jVGFnIHx8IHRhZyA9PSBnZW5UYWcgfHwgdGFnID09IGFzeW5jVGFnIHx8IHRhZyA9PSBwcm94eVRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhbiBpbnRlZ2VyLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BOdW1iZXIuaXNJbnRlZ2VyYF0oaHR0cHM6Ly9tZG4uaW8vTnVtYmVyL2lzSW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIGludGVnZXIsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNJbnRlZ2VyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0ludGVnZXIoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyAmJiB2YWx1ZSA9PSB0b0ludGVnZXIodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgYXJyYXktbGlrZSBsZW5ndGguXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvblxuICAgICAqIFtgVG9MZW5ndGhgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy10b2xlbmd0aCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgdmFsaWQgbGVuZ3RoLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNMZW5ndGgoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aChOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc0xlbmd0aChJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNMZW5ndGgoJzMnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTGVuZ3RoKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdudW1iZXInICYmXG4gICAgICAgIHZhbHVlID4gLTEgJiYgdmFsdWUgJSAxID09IDAgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyB0aGVcbiAgICAgKiBbbGFuZ3VhZ2UgdHlwZV0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLWVjbWFzY3JpcHQtbGFuZ3VhZ2UtdHlwZXMpXG4gICAgICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhbiBvYmplY3QsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdCh7fSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc09iamVjdChbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3QoXy5ub29wKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0KG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgICAgIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAgICAgKiBhbmQgaGFzIGEgYHR5cGVvZmAgcmVzdWx0IG9mIFwib2JqZWN0XCIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG9iamVjdC1saWtlLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKHt9KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzT2JqZWN0TGlrZShbMSwgMiwgM10pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKF8ubm9vcCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNPYmplY3RMaWtlKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNPYmplY3RMaWtlKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgIT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBNYXBgIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjMuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBtYXAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc01hcChuZXcgTWFwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTWFwKG5ldyBXZWFrTWFwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBpc01hcCA9IG5vZGVJc01hcCA/IGJhc2VVbmFyeShub2RlSXNNYXApIDogYmFzZUlzTWFwO1xuXG4gICAgLyoqXG4gICAgICogUGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIGBvYmplY3RgIGFuZCBgc291cmNlYCB0b1xuICAgICAqIGRldGVybWluZSBpZiBgb2JqZWN0YCBjb250YWlucyBlcXVpdmFsZW50IHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBlcXVpdmFsZW50IHRvIGBfLm1hdGNoZXNgIHdoZW4gYHNvdXJjZWAgaXNcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIFBhcnRpYWwgY29tcGFyaXNvbnMgd2lsbCBtYXRjaCBlbXB0eSBhcnJheSBhbmQgZW1wdHkgb2JqZWN0IGBzb3VyY2VgXG4gICAgICogdmFsdWVzIGFnYWluc3QgYW55IGFycmF5IG9yIG9iamVjdCB2YWx1ZSwgcmVzcGVjdGl2ZWx5LiBTZWUgYF8uaXNFcXVhbGBcbiAgICAgKiBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCB2YWx1ZSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogMiB9O1xuICAgICAqXG4gICAgICogXy5pc01hdGNoKG9iamVjdCwgeyAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc01hdGNoKG9iamVjdCwgeyAnYic6IDEgfSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hdGNoKG9iamVjdCwgc291cmNlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09PSBzb3VyY2UgfHwgYmFzZUlzTWF0Y2gob2JqZWN0LCBzb3VyY2UsIGdldE1hdGNoRGF0YShzb3VyY2UpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmlzTWF0Y2hgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBjb21wYXJlIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsIGNvbXBhcmlzb25zXG4gICAgICogYXJlIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWQgd2l0aCBmaXZlXG4gICAgICogYXJndW1lbnRzOiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBpbmRleHxrZXksIG9iamVjdCwgc291cmNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBjb21wYXJpc29ucy5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG9iamVjdGAgaXMgYSBtYXRjaCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBpc0dyZWV0aW5nKHZhbHVlKSB7XG4gICAgICogICByZXR1cm4gL15oKD86aXxlbGxvKSQvLnRlc3QodmFsdWUpO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlKSB7XG4gICAgICogICBpZiAoaXNHcmVldGluZyhvYmpWYWx1ZSkgJiYgaXNHcmVldGluZyhzcmNWYWx1ZSkpIHtcbiAgICAgKiAgICAgcmV0dXJuIHRydWU7XG4gICAgICogICB9XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2dyZWV0aW5nJzogJ2hlbGxvJyB9O1xuICAgICAqIHZhciBzb3VyY2UgPSB7ICdncmVldGluZyc6ICdoaScgfTtcbiAgICAgKlxuICAgICAqIF8uaXNNYXRjaFdpdGgob2JqZWN0LCBzb3VyY2UsIGN1c3RvbWl6ZXIpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc01hdGNoV2l0aChvYmplY3QsIHNvdXJjZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIGJhc2VJc01hdGNoKG9iamVjdCwgc291cmNlLCBnZXRNYXRjaERhdGEoc291cmNlKSwgY3VzdG9taXplcik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYE5hTmAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYE51bWJlci5pc05hTmBdKGh0dHBzOi8vbWRuLmlvL051bWJlci9pc05hTikgYW5kIGlzIG5vdCB0aGUgc2FtZSBhc1xuICAgICAqIGdsb2JhbCBbYGlzTmFOYF0oaHR0cHM6Ly9tZG4uaW8vaXNOYU4pIHdoaWNoIHJldHVybnMgYHRydWVgIGZvclxuICAgICAqIGB1bmRlZmluZWRgIGFuZCBvdGhlciBub24tbnVtYmVyIHZhbHVlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYE5hTmAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc05hTihOYU4pO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYU4obmV3IE51bWJlcihOYU4pKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBpc05hTih1bmRlZmluZWQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOYU4odW5kZWZpbmVkKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzTmFOKHZhbHVlKSB7XG4gICAgICAvLyBBbiBgTmFOYCBwcmltaXRpdmUgaXMgdGhlIG9ubHkgdmFsdWUgdGhhdCBpcyBub3QgZXF1YWwgdG8gaXRzZWxmLlxuICAgICAgLy8gUGVyZm9ybSB0aGUgYHRvU3RyaW5nVGFnYCBjaGVjayBmaXJzdCB0byBhdm9pZCBlcnJvcnMgd2l0aCBzb21lXG4gICAgICAvLyBBY3RpdmVYIG9iamVjdHMgaW4gSUUuXG4gICAgICByZXR1cm4gaXNOdW1iZXIodmFsdWUpICYmIHZhbHVlICE9ICt2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHByaXN0aW5lIG5hdGl2ZSBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBjYW4ndCByZWxpYWJseSBkZXRlY3QgbmF0aXZlIGZ1bmN0aW9ucyBpbiB0aGUgcHJlc2VuY2VcbiAgICAgKiBvZiB0aGUgY29yZS1qcyBwYWNrYWdlIGJlY2F1c2UgY29yZS1qcyBjaXJjdW12ZW50cyB0aGlzIGtpbmQgb2YgZGV0ZWN0aW9uLlxuICAgICAqIERlc3BpdGUgbXVsdGlwbGUgcmVxdWVzdHMsIHRoZSBjb3JlLWpzIG1haW50YWluZXIgaGFzIG1hZGUgaXQgY2xlYXI6IGFueVxuICAgICAqIGF0dGVtcHQgdG8gZml4IHRoZSBkZXRlY3Rpb24gd2lsbCBiZSBvYnN0cnVjdGVkLiBBcyBhIHJlc3VsdCwgd2UncmUgbGVmdFxuICAgICAqIHdpdGggbGl0dGxlIGNob2ljZSBidXQgdG8gdGhyb3cgYW4gZXJyb3IuIFVuZm9ydHVuYXRlbHksIHRoaXMgYWxzbyBhZmZlY3RzXG4gICAgICogcGFja2FnZXMsIGxpa2UgW2JhYmVsLXBvbHlmaWxsXShodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9iYWJlbC1wb2x5ZmlsbCksXG4gICAgICogd2hpY2ggcmVseSBvbiBjb3JlLWpzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIG5hdGl2ZSBmdW5jdGlvbixcbiAgICAgKiAgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzTmF0aXZlKEFycmF5LnByb3RvdHlwZS5wdXNoKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmF0aXZlKF8pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOYXRpdmUodmFsdWUpIHtcbiAgICAgIGlmIChpc01hc2thYmxlKHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoQ09SRV9FUlJPUl9URVhUKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlSXNOYXRpdmUodmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGBudWxsYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYG51bGxgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOdWxsKG51bGwpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNOdWxsKHZvaWQgMCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc051bGwodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIG51bGxpc2gsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc05pbChudWxsKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTmlsKHZvaWQgMCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc05pbChOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNOaWwodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PSBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgTnVtYmVyYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRvIGV4Y2x1ZGUgYEluZmluaXR5YCwgYC1JbmZpbml0eWAsIGFuZCBgTmFOYCwgd2hpY2ggYXJlXG4gICAgICogY2xhc3NpZmllZCBhcyBudW1iZXJzLCB1c2UgdGhlIGBfLmlzRmluaXRlYCBtZXRob2QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbnVtYmVyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNOdW1iZXIoMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc051bWJlcihOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKEluZmluaXR5KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzTnVtYmVyKCczJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc051bWJlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnbnVtYmVyJyB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBudW1iZXJUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCB0aGF0IGlzLCBhbiBvYmplY3QgY3JlYXRlZCBieSB0aGVcbiAgICAgKiBgT2JqZWN0YCBjb25zdHJ1Y3RvciBvciBvbmUgd2l0aCBhIGBbW1Byb3RvdHlwZV1dYCBvZiBgbnVsbGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC44LjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgcGxhaW4gb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KG5ldyBGb28pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICpcbiAgICAgKiBfLmlzUGxhaW5PYmplY3QoWzEsIDIsIDNdKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KHsgJ3gnOiAwLCAneSc6IDAgfSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1BsYWluT2JqZWN0KE9iamVjdC5jcmVhdGUobnVsbCkpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICBpZiAoIWlzT2JqZWN0TGlrZSh2YWx1ZSkgfHwgYmFzZUdldFRhZyh2YWx1ZSkgIT0gb2JqZWN0VGFnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBwcm90byA9IGdldFByb3RvdHlwZSh2YWx1ZSk7XG4gICAgICBpZiAocHJvdG8gPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgQ3RvciA9IGhhc093blByb3BlcnR5LmNhbGwocHJvdG8sICdjb25zdHJ1Y3RvcicpICYmIHByb3RvLmNvbnN0cnVjdG9yO1xuICAgICAgcmV0dXJuIHR5cGVvZiBDdG9yID09ICdmdW5jdGlvbicgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiZcbiAgICAgICAgZnVuY1RvU3RyaW5nLmNhbGwoQ3RvcikgPT0gb2JqZWN0Q3RvclN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFJlZ0V4cGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHJlZ2V4cCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzUmVnRXhwKC9hYmMvKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzUmVnRXhwKCcvYWJjLycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzUmVnRXhwID0gbm9kZUlzUmVnRXhwID8gYmFzZVVuYXJ5KG5vZGVJc1JlZ0V4cCkgOiBiYXNlSXNSZWdFeHA7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIHNhZmUgaW50ZWdlci4gQW4gaW50ZWdlciBpcyBzYWZlIGlmIGl0J3MgYW4gSUVFRS03NTRcbiAgICAgKiBkb3VibGUgcHJlY2lzaW9uIG51bWJlciB3aGljaCBpc24ndCB0aGUgcmVzdWx0IG9mIGEgcm91bmRlZCB1bnNhZmUgaW50ZWdlci5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBpcyBiYXNlZCBvblxuICAgICAqIFtgTnVtYmVyLmlzU2FmZUludGVnZXJgXShodHRwczovL21kbi5pby9OdW1iZXIvaXNTYWZlSW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgc2FmZSBpbnRlZ2VyLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcigzKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzU2FmZUludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaXNTYWZlSW50ZWdlcignMycpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNTYWZlSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzSW50ZWdlcih2YWx1ZSkgJiYgdmFsdWUgPj0gLU1BWF9TQUZFX0lOVEVHRVIgJiYgdmFsdWUgPD0gTUFYX1NBRkVfSU5URUdFUjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFNldGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHNldCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU2V0KG5ldyBTZXQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaXNTZXQobmV3IFdlYWtTZXQpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzU2V0ID0gbm9kZUlzU2V0ID8gYmFzZVVuYXJ5KG5vZGVJc1NldCkgOiBiYXNlSXNTZXQ7XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYFN0cmluZ2AgcHJpbWl0aXZlIG9yIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzdHJpbmcsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pc1N0cmluZygnYWJjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1N0cmluZygxKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09ICdzdHJpbmcnIHx8XG4gICAgICAgICghaXNBcnJheSh2YWx1ZSkgJiYgaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzdHJpbmdUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgU3ltYm9sYCBwcmltaXRpdmUgb3Igb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHN5bWJvbCwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzU3ltYm9sKFN5bWJvbC5pdGVyYXRvcik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1N5bWJvbCgnYWJjJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpc1N5bWJvbCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgICAgICAoaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBiYXNlR2V0VGFnKHZhbHVlKSA9PSBzeW1ib2xUYWcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSB0eXBlZCBhcnJheS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSB0eXBlZCBhcnJheSwgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmlzVHlwZWRBcnJheShuZXcgVWludDhBcnJheSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pc1R5cGVkQXJyYXkoW10pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGlzVHlwZWRBcnJheSA9IG5vZGVJc1R5cGVkQXJyYXkgPyBiYXNlVW5hcnkobm9kZUlzVHlwZWRBcnJheSkgOiBiYXNlSXNUeXBlZEFycmF5O1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgYHVuZGVmaW5lZGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGB1bmRlZmluZWRgLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNVbmRlZmluZWQodm9pZCAwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzVW5kZWZpbmVkKG51bGwpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaXNVbmRlZmluZWQodmFsdWUpIHtcbiAgICAgIHJldHVybiB2YWx1ZSA9PT0gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgV2Vha01hcGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHdlYWsgbWFwLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrTWFwKG5ldyBXZWFrTWFwKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzV2Vha01hcChuZXcgTWFwKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzV2Vha01hcCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgZ2V0VGFnKHZhbHVlKSA9PSB3ZWFrTWFwVGFnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYSBgV2Vha1NldGAgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMy4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIHdlYWsgc2V0LCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uaXNXZWFrU2V0KG5ldyBXZWFrU2V0KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmlzV2Vha1NldChuZXcgU2V0KTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGlzV2Vha1NldCh2YWx1ZSkge1xuICAgICAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgYmFzZUdldFRhZyh2YWx1ZSkgPT0gd2Vha1NldFRhZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBsZXNzIHRoYW4gYG90aGVyYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjkuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29tcGFyZS5cbiAgICAgKiBAcGFyYW0geyp9IG90aGVyIFRoZSBvdGhlciB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBgb3RoZXJgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLmd0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubHQoMSwgMyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5sdCgzLCAzKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5sdCgzLCAxKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIHZhciBsdCA9IGNyZWF0ZVJlbGF0aW9uYWxPcGVyYXRpb24oYmFzZUx0KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGxlc3MgdGhhbiBvciBlcXVhbCB0byBgb3RoZXJgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOS4wXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICAgICAqIEBwYXJhbSB7Kn0gb3RoZXIgVGhlIG90aGVyIHZhbHVlIHRvIGNvbXBhcmUuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvXG4gICAgICogIGBvdGhlcmAsIGVsc2UgYGZhbHNlYC5cbiAgICAgKiBAc2VlIF8uZ3RlXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ubHRlKDEsIDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8ubHRlKDMsIDMpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8ubHRlKDMsIDEpO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIGx0ZSA9IGNyZWF0ZVJlbGF0aW9uYWxPcGVyYXRpb24oZnVuY3Rpb24odmFsdWUsIG90aGVyKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPD0gb3RoZXI7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGFycmF5LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IExhbmdcbiAgICAgKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgY29udmVydGVkIGFycmF5LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvQXJyYXkoeyAnYSc6IDEsICdiJzogMiB9KTtcbiAgICAgKiAvLyA9PiBbMSwgMl1cbiAgICAgKlxuICAgICAqIF8udG9BcnJheSgnYWJjJyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICpcbiAgICAgKiBfLnRvQXJyYXkoMSk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKlxuICAgICAqIF8udG9BcnJheShudWxsKTtcbiAgICAgKiAvLyA9PiBbXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvQXJyYXkodmFsdWUpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGlzQXJyYXlMaWtlKHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gaXNTdHJpbmcodmFsdWUpID8gc3RyaW5nVG9BcnJheSh2YWx1ZSkgOiBjb3B5QXJyYXkodmFsdWUpO1xuICAgICAgfVxuICAgICAgaWYgKHN5bUl0ZXJhdG9yICYmIHZhbHVlW3N5bUl0ZXJhdG9yXSkge1xuICAgICAgICByZXR1cm4gaXRlcmF0b3JUb0FycmF5KHZhbHVlW3N5bUl0ZXJhdG9yXSgpKTtcbiAgICAgIH1cbiAgICAgIHZhciB0YWcgPSBnZXRUYWcodmFsdWUpLFxuICAgICAgICAgIGZ1bmMgPSB0YWcgPT0gbWFwVGFnID8gbWFwVG9BcnJheSA6ICh0YWcgPT0gc2V0VGFnID8gc2V0VG9BcnJheSA6IHZhbHVlcyk7XG5cbiAgICAgIHJldHVybiBmdW5jKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgZmluaXRlIG51bWJlci5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEyLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZSgzLjIpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqXG4gICAgICogXy50b0Zpbml0ZShOdW1iZXIuTUlOX1ZBTFVFKTtcbiAgICAgKiAvLyA9PiA1ZS0zMjRcbiAgICAgKlxuICAgICAqIF8udG9GaW5pdGUoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XG4gICAgICpcbiAgICAgKiBfLnRvRmluaXRlKCczLjInKTtcbiAgICAgKiAvLyA9PiAzLjJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b0Zpbml0ZSh2YWx1ZSkge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6IDA7XG4gICAgICB9XG4gICAgICB2YWx1ZSA9IHRvTnVtYmVyKHZhbHVlKTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gSU5GSU5JVFkgfHwgdmFsdWUgPT09IC1JTkZJTklUWSkge1xuICAgICAgICB2YXIgc2lnbiA9ICh2YWx1ZSA8IDAgPyAtMSA6IDEpO1xuICAgICAgICByZXR1cm4gc2lnbiAqIE1BWF9JTlRFR0VSO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlID09PSB2YWx1ZSA/IHZhbHVlIDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgbG9vc2VseSBiYXNlZCBvblxuICAgICAqIFtgVG9JbnRlZ2VyYF0oaHR0cDovL3d3dy5lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvaW50ZWdlcikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgY29udmVydGVkIGludGVnZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udG9JbnRlZ2VyKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b0ludGVnZXIoSW5maW5pdHkpO1xuICAgICAqIC8vID0+IDEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XG4gICAgICpcbiAgICAgKiBfLnRvSW50ZWdlcignMy4yJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvSW50ZWdlcih2YWx1ZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHRvRmluaXRlKHZhbHVlKSxcbiAgICAgICAgICByZW1haW5kZXIgPSByZXN1bHQgJSAxO1xuXG4gICAgICByZXR1cm4gcmVzdWx0ID09PSByZXN1bHQgPyAocmVtYWluZGVyID8gcmVzdWx0IC0gcmVtYWluZGVyIDogcmVzdWx0KSA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhbiBpbnRlZ2VyIHN1aXRhYmxlIGZvciB1c2UgYXMgdGhlIGxlbmd0aCBvZiBhblxuICAgICAqIGFycmF5LWxpa2Ugb2JqZWN0LlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGlzIGJhc2VkIG9uXG4gICAgICogW2BUb0xlbmd0aGBdKGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2VjbWEtMjYyLzcuMC8jc2VjLXRvbGVuZ3RoKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0xlbmd0aCgzLjIpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8udG9MZW5ndGgoTnVtYmVyLk1JTl9WQUxVRSk7XG4gICAgICogLy8gPT4gMFxuICAgICAqXG4gICAgICogXy50b0xlbmd0aChJbmZpbml0eSk7XG4gICAgICogLy8gPT4gNDI5NDk2NzI5NVxuICAgICAqXG4gICAgICogXy50b0xlbmd0aCgnMy4yJyk7XG4gICAgICogLy8gPT4gM1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTGVuZ3RoKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPyBiYXNlQ2xhbXAodG9JbnRlZ2VyKHZhbHVlKSwgMCwgTUFYX0FSUkFZX0xFTkdUSCkgOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBudW1iZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTGFuZ1xuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHByb2Nlc3MuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKDMuMik7XG4gICAgICogLy8gPT4gMy4yXG4gICAgICpcbiAgICAgKiBfLnRvTnVtYmVyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDVlLTMyNFxuICAgICAqXG4gICAgICogXy50b051bWJlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gSW5maW5pdHlcbiAgICAgKlxuICAgICAqIF8udG9OdW1iZXIoJzMuMicpO1xuICAgICAqIC8vID0+IDMuMlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvTnVtYmVyKHZhbHVlKSB7XG4gICAgICBpZiAodHlwZW9mIHZhbHVlID09ICdudW1iZXInKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc1N5bWJvbCh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIE5BTjtcbiAgICAgIH1cbiAgICAgIGlmIChpc09iamVjdCh2YWx1ZSkpIHtcbiAgICAgICAgdmFyIG90aGVyID0gdHlwZW9mIHZhbHVlLnZhbHVlT2YgPT0gJ2Z1bmN0aW9uJyA/IHZhbHVlLnZhbHVlT2YoKSA6IHZhbHVlO1xuICAgICAgICB2YWx1ZSA9IGlzT2JqZWN0KG90aGVyKSA/IChvdGhlciArICcnKSA6IG90aGVyO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSAhPSAnc3RyaW5nJykge1xuICAgICAgICByZXR1cm4gdmFsdWUgPT09IDAgPyB2YWx1ZSA6ICt2YWx1ZTtcbiAgICAgIH1cbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZShyZVRyaW0sICcnKTtcbiAgICAgIHZhciBpc0JpbmFyeSA9IHJlSXNCaW5hcnkudGVzdCh2YWx1ZSk7XG4gICAgICByZXR1cm4gKGlzQmluYXJ5IHx8IHJlSXNPY3RhbC50ZXN0KHZhbHVlKSlcbiAgICAgICAgPyBmcmVlUGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIGlzQmluYXJ5ID8gMiA6IDgpXG4gICAgICAgIDogKHJlSXNCYWRIZXgudGVzdCh2YWx1ZSkgPyBOQU4gOiArdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGB2YWx1ZWAgdG8gYSBwbGFpbiBvYmplY3QgZmxhdHRlbmluZyBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmdcbiAgICAgKiBrZXllZCBwcm9wZXJ0aWVzIG9mIGB2YWx1ZWAgdG8gb3duIHByb3BlcnRpZXMgb2YgdGhlIHBsYWluIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgcGxhaW4gb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbih7ICdhJzogMSB9LCBuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKlxuICAgICAqIF8uYXNzaWduKHsgJ2EnOiAxIH0sIF8udG9QbGFpbk9iamVjdChuZXcgRm9vKSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0b1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gICAgICByZXR1cm4gY29weU9iamVjdCh2YWx1ZSwga2V5c0luKHZhbHVlKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHNhZmUgaW50ZWdlci4gQSBzYWZlIGludGVnZXIgY2FuIGJlIGNvbXBhcmVkIGFuZFxuICAgICAqIHJlcHJlc2VudGVkIGNvcnJlY3RseS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgaW50ZWdlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKDMuMik7XG4gICAgICogLy8gPT4gM1xuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKE51bWJlci5NSU5fVkFMVUUpO1xuICAgICAqIC8vID0+IDBcbiAgICAgKlxuICAgICAqIF8udG9TYWZlSW50ZWdlcihJbmZpbml0eSk7XG4gICAgICogLy8gPT4gOTAwNzE5OTI1NDc0MDk5MVxuICAgICAqXG4gICAgICogXy50b1NhZmVJbnRlZ2VyKCczLjInKTtcbiAgICAgKiAvLyA9PiAzXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9TYWZlSW50ZWdlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgID8gYmFzZUNsYW1wKHRvSW50ZWdlcih2YWx1ZSksIC1NQVhfU0FGRV9JTlRFR0VSLCBNQVhfU0FGRV9JTlRFR0VSKVxuICAgICAgICA6ICh2YWx1ZSA9PT0gMCA/IHZhbHVlIDogMCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZy4gQW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkIGZvciBgbnVsbGBcbiAgICAgKiBhbmQgYHVuZGVmaW5lZGAgdmFsdWVzLiBUaGUgc2lnbiBvZiBgLTBgIGlzIHByZXNlcnZlZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBMYW5nXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBjb252ZXJ0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKG51bGwpO1xuICAgICAqIC8vID0+ICcnXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKC0wKTtcbiAgICAgKiAvLyA9PiAnLTAnXG4gICAgICpcbiAgICAgKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gICAgICogLy8gPT4gJzEsMiwzJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogYmFzZVRvU3RyaW5nKHZhbHVlKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBBc3NpZ25zIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIHNvdXJjZSBvYmplY3RzIHRvIHRoZVxuICAgICAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LlxuICAgICAqIFN1YnNlcXVlbnQgc291cmNlcyBvdmVyd3JpdGUgcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgc291cmNlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgIGFuZCBpcyBsb29zZWx5IGJhc2VkIG9uXG4gICAgICogW2BPYmplY3QuYXNzaWduYF0oaHR0cHM6Ly9tZG4uaW8vT2JqZWN0L2Fzc2lnbikuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMC4xMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5hc3NpZ25JblxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEJhcigpIHtcbiAgICAgKiAgIHRoaXMuYyA9IDM7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5iID0gMjtcbiAgICAgKiBCYXIucHJvdG90eXBlLmQgPSA0O1xuICAgICAqXG4gICAgICogXy5hc3NpZ24oeyAnYSc6IDAgfSwgbmV3IEZvbywgbmV3IEJhcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgdmFyIGFzc2lnbiA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlKSB7XG4gICAgICBpZiAoaXNQcm90b3R5cGUoc291cmNlKSB8fCBpc0FycmF5TGlrZShzb3VyY2UpKSB7XG4gICAgICAgIGNvcHlPYmplY3Qoc291cmNlLCBrZXlzKHNvdXJjZSksIG9iamVjdCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgICAgYXNzaWduVmFsdWUob2JqZWN0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25gIGV4Y2VwdCB0aGF0IGl0IGl0ZXJhdGVzIG92ZXIgb3duIGFuZFxuICAgICAqIGluaGVyaXRlZCBzb3VyY2UgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGFsaWFzIGV4dGVuZFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogfVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gQmFyKCkge1xuICAgICAqICAgdGhpcy5jID0gMztcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmIgPSAyO1xuICAgICAqIEJhci5wcm90b3R5cGUuZCA9IDQ7XG4gICAgICpcbiAgICAgKiBfLmFzc2lnbkluKHsgJ2EnOiAwIH0sIG5ldyBGb28sIG5ldyBCYXIpO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMywgJ2QnOiA0IH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduSW4gPSBjcmVhdGVBc3NpZ25lcihmdW5jdGlvbihvYmplY3QsIHNvdXJjZSkge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25JbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmBcbiAgICAgKiB3aGljaCBpcyBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIGFzc2lnbmVkIHZhbHVlcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnNcbiAgICAgKiBgdW5kZWZpbmVkYCwgYXNzaWdubWVudCBpcyBoYW5kbGVkIGJ5IHRoZSBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYFxuICAgICAqIGlzIGludm9rZWQgd2l0aCBmaXZlIGFyZ3VtZW50czogKG9ialZhbHVlLCBzcmNWYWx1ZSwga2V5LCBvYmplY3QsIHNvdXJjZSkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBleHRlbmRXaXRoXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gc291cmNlcyBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmFzc2lnbldpdGhcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiBfLmlzVW5kZWZpbmVkKG9ialZhbHVlKSA/IHNyY1ZhbHVlIDogb2JqVmFsdWU7XG4gICAgICogfVxuICAgICAqXG4gICAgICogdmFyIGRlZmF1bHRzID0gXy5wYXJ0aWFsUmlnaHQoXy5hc3NpZ25JbldpdGgsIGN1c3RvbWl6ZXIpO1xuICAgICAqXG4gICAgICogZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgdmFyIGFzc2lnbkluV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXNJbihzb3VyY2UpLCBvYmplY3QsIGN1c3RvbWl6ZXIpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5hc3NpZ25gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgXG4gICAgICogd2hpY2ggaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBhc3NpZ25lZCB2YWx1ZXMuIElmIGBjdXN0b21pemVyYCByZXR1cm5zXG4gICAgICogYHVuZGVmaW5lZGAsIGFzc2lnbm1lbnQgaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmBcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggZml2ZSBhcmd1bWVudHM6IChvYmpWYWx1ZSwgc3JjVmFsdWUsIGtleSwgb2JqZWN0LCBzb3VyY2UpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgZGVzdGluYXRpb24gb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7Li4uT2JqZWN0fSBzb3VyY2VzIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY3VzdG9taXplcl0gVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uYXNzaWduSW5XaXRoXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIGN1c3RvbWl6ZXIob2JqVmFsdWUsIHNyY1ZhbHVlKSB7XG4gICAgICogICByZXR1cm4gXy5pc1VuZGVmaW5lZChvYmpWYWx1ZSkgPyBzcmNWYWx1ZSA6IG9ialZhbHVlO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBkZWZhdWx0cyA9IF8ucGFydGlhbFJpZ2h0KF8uYXNzaWduV2l0aCwgY3VzdG9taXplcik7XG4gICAgICpcbiAgICAgKiBkZWZhdWx0cyh7ICdhJzogMSB9LCB7ICdiJzogMiB9LCB7ICdhJzogMyB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogMSwgJ2InOiAyIH1cbiAgICAgKi9cbiAgICB2YXIgYXNzaWduV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgY29weU9iamVjdChzb3VyY2UsIGtleXMoc291cmNlKSwgb2JqZWN0LCBjdXN0b21pemVyKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdmFsdWVzIGNvcnJlc3BvbmRpbmcgdG8gYHBhdGhzYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAxLjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7Li4uKHN0cmluZ3xzdHJpbmdbXSl9IFtwYXRoc10gVGhlIHByb3BlcnR5IHBhdGhzIHRvIHBpY2suXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBwaWNrZWQgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9LCA0XSB9O1xuICAgICAqXG4gICAgICogXy5hdChvYmplY3QsIFsnYVswXS5iLmMnLCAnYVsxXSddKTtcbiAgICAgKiAvLyA9PiBbMywgNF1cbiAgICAgKi9cbiAgICB2YXIgYXQgPSBmbGF0UmVzdChiYXNlQXQpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgdGhhdCBpbmhlcml0cyBmcm9tIHRoZSBgcHJvdG90eXBlYCBvYmplY3QuIElmIGFcbiAgICAgKiBgcHJvcGVydGllc2Agb2JqZWN0IGlzIGdpdmVuLCBpdHMgb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXNcbiAgICAgKiBhcmUgYXNzaWduZWQgdG8gdGhlIGNyZWF0ZWQgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBwcm90b3R5cGUgVGhlIG9iamVjdCB0byBpbmhlcml0IGZyb20uXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtwcm9wZXJ0aWVzXSBUaGUgcHJvcGVydGllcyB0byBhc3NpZ24gdG8gdGhlIG9iamVjdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBTaGFwZSgpIHtcbiAgICAgKiAgIHRoaXMueCA9IDA7XG4gICAgICogICB0aGlzLnkgPSAwO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIENpcmNsZSgpIHtcbiAgICAgKiAgIFNoYXBlLmNhbGwodGhpcyk7XG4gICAgICogfVxuICAgICAqXG4gICAgICogQ2lyY2xlLnByb3RvdHlwZSA9IF8uY3JlYXRlKFNoYXBlLnByb3RvdHlwZSwge1xuICAgICAqICAgJ2NvbnN0cnVjdG9yJzogQ2lyY2xlXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiB2YXIgY2lyY2xlID0gbmV3IENpcmNsZTtcbiAgICAgKiBjaXJjbGUgaW5zdGFuY2VvZiBDaXJjbGU7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY2lyY2xlIGluc3RhbmNlb2YgU2hhcGU7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNyZWF0ZShwcm90b3R5cGUsIHByb3BlcnRpZXMpIHtcbiAgICAgIHZhciByZXN1bHQgPSBiYXNlQ3JlYXRlKHByb3RvdHlwZSk7XG4gICAgICByZXR1cm4gcHJvcGVydGllcyA9PSBudWxsID8gcmVzdWx0IDogYmFzZUFzc2lnbihyZXN1bHQsIHByb3BlcnRpZXMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFzc2lnbnMgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBzb3VyY2VcbiAgICAgKiBvYmplY3RzIHRvIHRoZSBkZXN0aW5hdGlvbiBvYmplY3QgZm9yIGFsbCBkZXN0aW5hdGlvbiBwcm9wZXJ0aWVzIHRoYXRcbiAgICAgKiByZXNvbHZlIHRvIGB1bmRlZmluZWRgLiBTb3VyY2Ugb2JqZWN0cyBhcmUgYXBwbGllZCBmcm9tIGxlZnQgdG8gcmlnaHQuXG4gICAgICogT25jZSBhIHByb3BlcnR5IGlzIHNldCwgYWRkaXRpb25hbCB2YWx1ZXMgb2YgdGhlIHNhbWUgcHJvcGVydHkgYXJlIGlnbm9yZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZGVmYXVsdHNEZWVwXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGVmYXVsdHMoeyAnYSc6IDEgfSwgeyAnYic6IDIgfSwgeyAnYSc6IDMgfSk7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdiJzogMiB9XG4gICAgICovXG4gICAgdmFyIGRlZmF1bHRzID0gYmFzZVJlc3QoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2VzKSB7XG4gICAgICBvYmplY3QgPSBPYmplY3Qob2JqZWN0KTtcblxuICAgICAgdmFyIGluZGV4ID0gLTE7XG4gICAgICB2YXIgbGVuZ3RoID0gc291cmNlcy5sZW5ndGg7XG4gICAgICB2YXIgZ3VhcmQgPSBsZW5ndGggPiAyID8gc291cmNlc1syXSA6IHVuZGVmaW5lZDtcblxuICAgICAgaWYgKGd1YXJkICYmIGlzSXRlcmF0ZWVDYWxsKHNvdXJjZXNbMF0sIHNvdXJjZXNbMV0sIGd1YXJkKSkge1xuICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgc291cmNlID0gc291cmNlc1tpbmRleF07XG4gICAgICAgIHZhciBwcm9wcyA9IGtleXNJbihzb3VyY2UpO1xuICAgICAgICB2YXIgcHJvcHNJbmRleCA9IC0xO1xuICAgICAgICB2YXIgcHJvcHNMZW5ndGggPSBwcm9wcy5sZW5ndGg7XG5cbiAgICAgICAgd2hpbGUgKCsrcHJvcHNJbmRleCA8IHByb3BzTGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIGtleSA9IHByb3BzW3Byb3BzSW5kZXhdO1xuICAgICAgICAgIHZhciB2YWx1ZSA9IG9iamVjdFtrZXldO1xuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgKGVxKHZhbHVlLCBvYmplY3RQcm90b1trZXldKSAmJiAhaGFzT3duUHJvcGVydHkuY2FsbChvYmplY3QsIGtleSkpKSB7XG4gICAgICAgICAgICBvYmplY3Rba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5kZWZhdWx0c2AgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgYXNzaWduc1xuICAgICAqIGRlZmF1bHQgcHJvcGVydGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IFtzb3VyY2VzXSBUaGUgc291cmNlIG9iamVjdHMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZGVmYXVsdHNcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZhdWx0c0RlZXAoeyAnYSc6IHsgJ2InOiAyIH0gfSwgeyAnYSc6IHsgJ2InOiAxLCAnYyc6IDMgfSB9KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogeyAnYic6IDIsICdjJzogMyB9IH1cbiAgICAgKi9cbiAgICB2YXIgZGVmYXVsdHNEZWVwID0gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgYXJncy5wdXNoKHVuZGVmaW5lZCwgY3VzdG9tRGVmYXVsdHNNZXJnZSk7XG4gICAgICByZXR1cm4gYXBwbHkobWVyZ2VXaXRoLCB1bmRlZmluZWQsIGFyZ3MpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5maW5kYCBleGNlcHQgdGhhdCBpdCByZXR1cm5zIHRoZSBrZXkgb2YgdGhlIGZpcnN0XG4gICAgICogZWxlbWVudCBgcHJlZGljYXRlYCByZXR1cm5zIHRydXRoeSBmb3IgaW5zdGVhZCBvZiB0aGUgZWxlbWVudCBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMS4xLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIG1hdGNoZWQgZWxlbWVudCxcbiAgICAgKiAgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2Jhcm5leSc6ICB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgICdmcmVkJzogICAgeyAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgJ3BlYmJsZXMnOiB7ICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlIDwgNDA7IH0pO1xuICAgICAqIC8vID0+ICdiYXJuZXknIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZEtleSh1c2VycywgeyAnYWdlJzogMSwgJ2FjdGl2ZSc6IHRydWUgfSk7XG4gICAgICogLy8gPT4gJ3BlYmJsZXMnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maW5kS2V5KHVzZXJzLCBbJ2FjdGl2ZScsIGZhbHNlXSk7XG4gICAgICogLy8gPT4gJ2ZyZWQnXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbmRLZXkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAnYmFybmV5J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZpbmRLZXkob2JqZWN0LCBwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiBiYXNlRmluZEtleShvYmplY3QsIGdldEl0ZXJhdGVlKHByZWRpY2F0ZSwgMyksIGJhc2VGb3JPd24pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmluZEtleWAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBlbGVtZW50cyBvZlxuICAgICAqIGEgY29sbGVjdGlvbiBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8dW5kZWZpbmVkfSBSZXR1cm5zIHRoZSBrZXkgb2YgdGhlIG1hdGNoZWQgZWxlbWVudCxcbiAgICAgKiAgZWxzZSBgdW5kZWZpbmVkYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0ge1xuICAgICAqICAgJ2Jhcm5leSc6ICB7ICdhZ2UnOiAzNiwgJ2FjdGl2ZSc6IHRydWUgfSxcbiAgICAgKiAgICdmcmVkJzogICAgeyAnYWdlJzogNDAsICdhY3RpdmUnOiBmYWxzZSB9LFxuICAgICAqICAgJ3BlYmJsZXMnOiB7ICdhZ2UnOiAxLCAgJ2FjdGl2ZSc6IHRydWUgfVxuICAgICAqIH07XG4gICAgICpcbiAgICAgKiBfLmZpbmRMYXN0S2V5KHVzZXJzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLmFnZSA8IDQwOyB9KTtcbiAgICAgKiAvLyA9PiByZXR1cm5zICdwZWJibGVzJyBhc3N1bWluZyBgXy5maW5kS2V5YCByZXR1cm5zICdiYXJuZXknXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc2AgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIHsgJ2FnZSc6IDM2LCAnYWN0aXZlJzogdHJ1ZSB9KTtcbiAgICAgKiAvLyA9PiAnYmFybmV5J1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNQcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsIFsnYWN0aXZlJywgZmFsc2VdKTtcbiAgICAgKiAvLyA9PiAnZnJlZCdcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uZmluZExhc3RLZXkodXNlcnMsICdhY3RpdmUnKTtcbiAgICAgKiAvLyA9PiAncGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmaW5kTGFzdEtleShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIGJhc2VGaW5kS2V5KG9iamVjdCwgZ2V0SXRlcmF0ZWUocHJlZGljYXRlLCAzKSwgYmFzZUZvck93blJpZ2h0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYW5cbiAgICAgKiBvYmplY3QgYW5kIGludm9rZXMgYGl0ZXJhdGVlYCBmb3IgZWFjaCBwcm9wZXJ0eS4gVGhlIGl0ZXJhdGVlIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKHZhbHVlLCBrZXksIG9iamVjdCkuIEl0ZXJhdGVlIGZ1bmN0aW9ucyBtYXkgZXhpdFxuICAgICAqIGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9ySW5SaWdodFxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5mb3JJbihuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2EnLCAnYicsIHRoZW4gJ2MnIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvckluKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbFxuICAgICAgICA/IG9iamVjdFxuICAgICAgICA6IGJhc2VGb3Iob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyksIGtleXNJbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5mb3JJbmAgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMgb3ZlciBwcm9wZXJ0aWVzIG9mXG4gICAgICogYG9iamVjdGAgaW4gdGhlIG9wcG9zaXRlIG9yZGVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAc2VlIF8uZm9ySW5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9ySW5SaWdodChuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2MnLCAnYicsIHRoZW4gJ2EnIGFzc3VtaW5nIGBfLmZvckluYCBsb2dzICdhJywgJ2InLCB0aGVuICdjJy5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBmb3JJblJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbFxuICAgICAgICA/IG9iamVjdFxuICAgICAgICA6IGJhc2VGb3JSaWdodChvYmplY3QsIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAzKSwga2V5c0luKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJdGVyYXRlcyBvdmVyIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0aWVzIG9mIGFuIG9iamVjdCBhbmRcbiAgICAgKiBpbnZva2VzIGBpdGVyYXRlZWAgZm9yIGVhY2ggcHJvcGVydHkuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggdGhyZWVcbiAgICAgKiBhcmd1bWVudHM6ICh2YWx1ZSwga2V5LCBvYmplY3QpLiBJdGVyYXRlZSBmdW5jdGlvbnMgbWF5IGV4aXQgaXRlcmF0aW9uXG4gICAgICogZWFybHkgYnkgZXhwbGljaXRseSByZXR1cm5pbmcgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjMuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQHNlZSBfLmZvck93blJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLmZvck93bihuZXcgRm9vLCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICBjb25zb2xlLmxvZyhrZXkpO1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+IExvZ3MgJ2EnIHRoZW4gJ2InIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvck93bihvYmplY3QsIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIGJhc2VGb3JPd24ob2JqZWN0LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZm9yT3duYCBleGNlcHQgdGhhdCBpdCBpdGVyYXRlcyBvdmVyIHByb3BlcnRpZXMgb2ZcbiAgICAgKiBgb2JqZWN0YCBpbiB0aGUgb3Bwb3NpdGUgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGZ1bmN0aW9uIGludm9rZWQgcGVyIGl0ZXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBzZWUgXy5mb3JPd25cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8uZm9yT3duUmlnaHQobmV3IEZvbywgZnVuY3Rpb24odmFsdWUsIGtleSkge1xuICAgICAqICAgY29uc29sZS5sb2coa2V5KTtcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiBMb2dzICdiJyB0aGVuICdhJyBhc3N1bWluZyBgXy5mb3JPd25gIGxvZ3MgJ2EnIHRoZW4gJ2InLlxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZvck93blJpZ2h0KG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHJldHVybiBvYmplY3QgJiYgYmFzZUZvck93blJpZ2h0KG9iamVjdCwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZyb20gb3duIGVudW1lcmFibGUgcHJvcGVydGllc1xuICAgICAqIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnNwZWN0LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgZnVuY3Rpb24gbmFtZXMuXG4gICAgICogQHNlZSBfLmZ1bmN0aW9uc0luXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IF8uY29uc3RhbnQoJ2EnKTtcbiAgICAgKiAgIHRoaXMuYiA9IF8uY29uc3RhbnQoJ2InKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSBfLmNvbnN0YW50KCdjJyk7XG4gICAgICpcbiAgICAgKiBfLmZ1bmN0aW9ucyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddXG4gICAgICovXG4gICAgZnVuY3Rpb24gZnVuY3Rpb25zKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5cyhvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIGZ1bmN0aW9uIHByb3BlcnR5IG5hbWVzIGZyb20gb3duIGFuZCBpbmhlcml0ZWRcbiAgICAgKiBlbnVtZXJhYmxlIHByb3BlcnRpZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGluc3BlY3QuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBmdW5jdGlvbiBuYW1lcy5cbiAgICAgKiBAc2VlIF8uZnVuY3Rpb25zXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IF8uY29uc3RhbnQoJ2EnKTtcbiAgICAgKiAgIHRoaXMuYiA9IF8uY29uc3RhbnQoJ2InKTtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSBfLmNvbnN0YW50KCdjJyk7XG4gICAgICpcbiAgICAgKiBfLmZ1bmN0aW9uc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFsnYScsICdiJywgJ2MnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGZ1bmN0aW9uc0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gW10gOiBiYXNlRnVuY3Rpb25zKG9iamVjdCwga2V5c0luKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgdGhlIHJlc29sdmVkIHZhbHVlIGlzXG4gICAgICogYHVuZGVmaW5lZGAsIHRoZSBgZGVmYXVsdFZhbHVlYCBpcyByZXR1cm5lZCBpbiBpdHMgcGxhY2UuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBnZXQuXG4gICAgICogQHBhcmFtIHsqfSBbZGVmYXVsdFZhbHVlXSBUaGUgdmFsdWUgcmV0dXJuZWQgZm9yIGB1bmRlZmluZWRgIHJlc29sdmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgcmVzb2x2ZWQgdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogMyB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLmdldChvYmplY3QsICdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgWydhJywgJzAnLCAnYicsICdjJ10pO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8uZ2V0KG9iamVjdCwgJ2EuYi5jJywgJ2RlZmF1bHQnKTtcbiAgICAgKiAvLyA9PiAnZGVmYXVsdCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBnZXQob2JqZWN0LCBwYXRoLCBkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IGJhc2VHZXQob2JqZWN0LCBwYXRoKTtcbiAgICAgIHJldHVybiByZXN1bHQgPT09IHVuZGVmaW5lZCA/IGRlZmF1bHRWYWx1ZSA6IHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYHBhdGhgIGlzIGEgZGlyZWN0IHByb3BlcnR5IG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHBhdGhgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IHsgJ2InOiAyIH0gfTtcbiAgICAgKiB2YXIgb3RoZXIgPSBfLmNyZWF0ZSh7ICdhJzogXy5jcmVhdGUoeyAnYic6IDIgfSkgfSk7XG4gICAgICpcbiAgICAgKiBfLmhhcyhvYmplY3QsICdhJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXMob2JqZWN0LCAnYS5iJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5oYXMob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhcyhvdGhlciwgJ2EnKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhcyhvYmplY3QsIHBhdGgpIHtcbiAgICAgIHJldHVybiBvYmplY3QgIT0gbnVsbCAmJiBoYXNQYXRoKG9iamVjdCwgcGF0aCwgYmFzZUhhcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGBwYXRoYCBpcyBhIGRpcmVjdCBvciBpbmhlcml0ZWQgcHJvcGVydHkgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIHRvIGNoZWNrLlxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgcGF0aGAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSBfLmNyZWF0ZSh7ICdhJzogXy5jcmVhdGUoeyAnYic6IDIgfSkgfSk7XG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2EuYicpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaGFzSW4ob2JqZWN0LCBbJ2EnLCAnYiddKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmhhc0luKG9iamVjdCwgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGhhc0luKG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCAhPSBudWxsICYmIGhhc1BhdGgob2JqZWN0LCBwYXRoLCBiYXNlSGFzSW4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZSBpbnZlcnRlZCBrZXlzIGFuZCB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICogSWYgYG9iamVjdGAgY29udGFpbnMgZHVwbGljYXRlIHZhbHVlcywgc3Vic2VxdWVudCB2YWx1ZXMgb3ZlcndyaXRlXG4gICAgICogcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgdmFsdWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZlcnQuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGludmVydGVkIG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9O1xuICAgICAqXG4gICAgICogXy5pbnZlcnQob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogJ2MnLCAnMic6ICdiJyB9XG4gICAgICovXG4gICAgdmFyIGludmVydCA9IGNyZWF0ZUludmVydGVyKGZ1bmN0aW9uKHJlc3VsdCwgdmFsdWUsIGtleSkge1xuICAgICAgaWYgKHZhbHVlICE9IG51bGwgJiZcbiAgICAgICAgICB0eXBlb2YgdmFsdWUudG9TdHJpbmcgIT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB2YWx1ZSA9IG5hdGl2ZU9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXN1bHRbdmFsdWVdID0ga2V5O1xuICAgIH0sIGNvbnN0YW50KGlkZW50aXR5KSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmludmVydGAgZXhjZXB0IHRoYXQgdGhlIGludmVydGVkIG9iamVjdCBpcyBnZW5lcmF0ZWRcbiAgICAgKiBmcm9tIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmcgZWFjaCBlbGVtZW50IG9mIGBvYmplY3RgIHRocnUgYGl0ZXJhdGVlYC4gVGhlXG4gICAgICogY29ycmVzcG9uZGluZyBpbnZlcnRlZCB2YWx1ZSBvZiBlYWNoIGludmVydGVkIGtleSBpcyBhbiBhcnJheSBvZiBrZXlzXG4gICAgICogcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcgdGhlIGludmVydGVkIHZhbHVlLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZFxuICAgICAqIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMS4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpbnZlcnQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBpbnZlcnRlZCBvYmplY3QuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyLCAnYyc6IDEgfTtcbiAgICAgKlxuICAgICAqIF8uaW52ZXJ0Qnkob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICcxJzogWydhJywgJ2MnXSwgJzInOiBbJ2InXSB9XG4gICAgICpcbiAgICAgKiBfLmludmVydEJ5KG9iamVjdCwgZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgKiAgIHJldHVybiAnZ3JvdXAnICsgdmFsdWU7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnZ3JvdXAxJzogWydhJywgJ2MnXSwgJ2dyb3VwMic6IFsnYiddIH1cbiAgICAgKi9cbiAgICB2YXIgaW52ZXJ0QnkgPSBjcmVhdGVJbnZlcnRlcihmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsICYmXG4gICAgICAgICAgdHlwZW9mIHZhbHVlLnRvU3RyaW5nICE9ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdmFsdWUgPSBuYXRpdmVPYmplY3RUb1N0cmluZy5jYWxsKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocmVzdWx0LCB2YWx1ZSkpIHtcbiAgICAgICAgcmVzdWx0W3ZhbHVlXS5wdXNoKGtleSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRbdmFsdWVdID0gW2tleV07XG4gICAgICB9XG4gICAgfSwgZ2V0SXRlcmF0ZWUpO1xuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgdGhlIG1ldGhvZCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXN1bHQgb2YgdGhlIGludm9rZWQgbWV0aG9kLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IFsxLCAyLCAzLCA0XSB9IH1dIH07XG4gICAgICpcbiAgICAgKiBfLmludm9rZShvYmplY3QsICdhWzBdLmIuYy5zbGljZScsIDEsIDMpO1xuICAgICAqIC8vID0+IFsyLCAzXVxuICAgICAqL1xuICAgIHZhciBpbnZva2UgPSBiYXNlUmVzdChiYXNlSW52b2tlKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHByb3BlcnR5IG5hbWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuIFNlZSB0aGVcbiAgICAgKiBbRVMgc3BlY10oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtb2JqZWN0LmtleXMpXG4gICAgICogZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSBuYW1lcy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8ua2V5cyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnYiddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiBfLmtleXMoJ2hpJyk7XG4gICAgICogLy8gPT4gWycwJywgJzEnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGtleXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gaXNBcnJheUxpa2Uob2JqZWN0KSA/IGFycmF5TGlrZUtleXMob2JqZWN0KSA6IGJhc2VLZXlzKG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBhcnJheSBvZiB0aGUgb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBwcm9wZXJ0eSBuYW1lcyBvZiBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBOb24tb2JqZWN0IHZhbHVlcyBhcmUgY29lcmNlZCB0byBvYmplY3RzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGFycmF5IG9mIHByb3BlcnR5IG5hbWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy5rZXlzSW4obmV3IEZvbyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddIChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICovXG4gICAgZnVuY3Rpb24ga2V5c0luKG9iamVjdCkge1xuICAgICAgcmV0dXJuIGlzQXJyYXlMaWtlKG9iamVjdCkgPyBhcnJheUxpa2VLZXlzKG9iamVjdCwgdHJ1ZSkgOiBiYXNlS2V5c0luKG9iamVjdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLm1hcFZhbHVlc2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IHdpdGggdGhlXG4gICAgICogc2FtZSB2YWx1ZXMgYXMgYG9iamVjdGAgYW5kIGtleXMgZ2VuZXJhdGVkIGJ5IHJ1bm5pbmcgZWFjaCBvd24gZW51bWVyYWJsZVxuICAgICAqIHN0cmluZyBrZXllZCBwcm9wZXJ0eSBvZiBgb2JqZWN0YCB0aHJ1IGBpdGVyYXRlZWAuIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkXG4gICAgICogd2l0aCB0aHJlZSBhcmd1bWVudHM6ICh2YWx1ZSwga2V5LCBvYmplY3QpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuOC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG1hcHBlZCBvYmplY3QuXG4gICAgICogQHNlZSBfLm1hcFZhbHVlc1xuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1hcEtleXMoeyAnYSc6IDEsICdiJzogMiB9LCBmdW5jdGlvbih2YWx1ZSwga2V5KSB7XG4gICAgICogICByZXR1cm4ga2V5ICsgdmFsdWU7XG4gICAgICogfSk7XG4gICAgICogLy8gPT4geyAnYTEnOiAxLCAnYjInOiAyIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBLZXlzKG9iamVjdCwgaXRlcmF0ZWUpIHtcbiAgICAgIHZhciByZXN1bHQgPSB7fTtcbiAgICAgIGl0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDMpO1xuXG4gICAgICBiYXNlRm9yT3duKG9iamVjdCwgZnVuY3Rpb24odmFsdWUsIGtleSwgb2JqZWN0KSB7XG4gICAgICAgIGJhc2VBc3NpZ25WYWx1ZShyZXN1bHQsIGl0ZXJhdGVlKHZhbHVlLCBrZXksIG9iamVjdCksIHZhbHVlKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIG9iamVjdCB3aXRoIHRoZSBzYW1lIGtleXMgYXMgYG9iamVjdGAgYW5kIHZhbHVlcyBnZW5lcmF0ZWRcbiAgICAgKiBieSBydW5uaW5nIGVhY2ggb3duIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5IG9mIGBvYmplY3RgIHRocnVcbiAgICAgKiBgaXRlcmF0ZWVgLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAgICAgKiAodmFsdWUsIGtleSwgb2JqZWN0KS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAyLjQuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIG5ldyBtYXBwZWQgb2JqZWN0LlxuICAgICAqIEBzZWUgXy5tYXBLZXlzXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB1c2VycyA9IHtcbiAgICAgKiAgICdmcmVkJzogICAgeyAndXNlcic6ICdmcmVkJywgICAgJ2FnZSc6IDQwIH0sXG4gICAgICogICAncGViYmxlcyc6IHsgJ3VzZXInOiAncGViYmxlcycsICdhZ2UnOiAxIH1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5tYXBWYWx1ZXModXNlcnMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8uYWdlOyB9KTtcbiAgICAgKiAvLyA9PiB7ICdmcmVkJzogNDAsICdwZWJibGVzJzogMSB9IChpdGVyYXRpb24gb3JkZXIgaXMgbm90IGd1YXJhbnRlZWQpXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ucHJvcGVydHlgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLm1hcFZhbHVlcyh1c2VycywgJ2FnZScpO1xuICAgICAqIC8vID0+IHsgJ2ZyZWQnOiA0MCwgJ3BlYmJsZXMnOiAxIH0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXBWYWx1ZXMob2JqZWN0LCBpdGVyYXRlZSkge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaXRlcmF0ZWUgPSBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyk7XG5cbiAgICAgIGJhc2VGb3JPd24ob2JqZWN0LCBmdW5jdGlvbih2YWx1ZSwga2V5LCBvYmplY3QpIHtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKHJlc3VsdCwga2V5LCBpdGVyYXRlZSh2YWx1ZSwga2V5LCBvYmplY3QpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLmFzc2lnbmAgZXhjZXB0IHRoYXQgaXQgcmVjdXJzaXZlbHkgbWVyZ2VzIG93biBhbmRcbiAgICAgKiBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgcHJvcGVydGllcyBvZiBzb3VyY2Ugb2JqZWN0cyBpbnRvIHRoZVxuICAgICAqIGRlc3RpbmF0aW9uIG9iamVjdC4gU291cmNlIHByb3BlcnRpZXMgdGhhdCByZXNvbHZlIHRvIGB1bmRlZmluZWRgIGFyZVxuICAgICAqIHNraXBwZWQgaWYgYSBkZXN0aW5hdGlvbiB2YWx1ZSBleGlzdHMuIEFycmF5IGFuZCBwbGFpbiBvYmplY3QgcHJvcGVydGllc1xuICAgICAqIGFyZSBtZXJnZWQgcmVjdXJzaXZlbHkuIE90aGVyIG9iamVjdHMgYW5kIHZhbHVlIHR5cGVzIGFyZSBvdmVycmlkZGVuIGJ5XG4gICAgICogYXNzaWdubWVudC4gU291cmNlIG9iamVjdHMgYXJlIGFwcGxpZWQgZnJvbSBsZWZ0IHRvIHJpZ2h0LiBTdWJzZXF1ZW50XG4gICAgICogc291cmNlcyBvdmVyd3JpdGUgcHJvcGVydHkgYXNzaWdubWVudHMgb2YgcHJldmlvdXMgc291cmNlcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGlzIG1ldGhvZCBtdXRhdGVzIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNS4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIGRlc3RpbmF0aW9uIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gey4uLk9iamVjdH0gW3NvdXJjZXNdIFRoZSBzb3VyY2Ugb2JqZWN0cy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge1xuICAgICAqICAgJ2EnOiBbeyAnYic6IDIgfSwgeyAnZCc6IDQgfV1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogdmFyIG90aGVyID0ge1xuICAgICAqICAgJ2EnOiBbeyAnYyc6IDMgfSwgeyAnZSc6IDUgfV1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5tZXJnZShvYmplY3QsIG90aGVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiAyLCAnYyc6IDMgfSwgeyAnZCc6IDQsICdlJzogNSB9XSB9XG4gICAgICovXG4gICAgdmFyIG1lcmdlID0gY3JlYXRlQXNzaWduZXIoZnVuY3Rpb24ob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4KSB7XG4gICAgICBiYXNlTWVyZ2Uob2JqZWN0LCBzb3VyY2UsIHNyY0luZGV4KTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWVyZ2VgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGN1c3RvbWl6ZXJgIHdoaWNoXG4gICAgICogaXMgaW52b2tlZCB0byBwcm9kdWNlIHRoZSBtZXJnZWQgdmFsdWVzIG9mIHRoZSBkZXN0aW5hdGlvbiBhbmQgc291cmNlXG4gICAgICogcHJvcGVydGllcy4gSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGAsIG1lcmdpbmcgaXMgaGFuZGxlZCBieSB0aGVcbiAgICAgKiBtZXRob2QgaW5zdGVhZC4gVGhlIGBjdXN0b21pemVyYCBpcyBpbnZva2VkIHdpdGggc2l4IGFyZ3VtZW50czpcbiAgICAgKiAob2JqVmFsdWUsIHNyY1ZhbHVlLCBrZXksIG9iamVjdCwgc291cmNlLCBzdGFjaykuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi5PYmplY3R9IHNvdXJjZXMgVGhlIHNvdXJjZSBvYmplY3RzLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGN1c3RvbWl6ZXIgVGhlIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSBhc3NpZ25lZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gY3VzdG9taXplcihvYmpWYWx1ZSwgc3JjVmFsdWUpIHtcbiAgICAgKiAgIGlmIChfLmlzQXJyYXkob2JqVmFsdWUpKSB7XG4gICAgICogICAgIHJldHVybiBvYmpWYWx1ZS5jb25jYXQoc3JjVmFsdWUpO1xuICAgICAqICAgfVxuICAgICAqIH1cbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogWzFdLCAnYic6IFsyXSB9O1xuICAgICAqIHZhciBvdGhlciA9IHsgJ2EnOiBbM10sICdiJzogWzRdIH07XG4gICAgICpcbiAgICAgKiBfLm1lcmdlV2l0aChvYmplY3QsIG90aGVyLCBjdXN0b21pemVyKTtcbiAgICAgKiAvLyA9PiB7ICdhJzogWzEsIDNdLCAnYic6IFsyLCA0XSB9XG4gICAgICovXG4gICAgdmFyIG1lcmdlV2l0aCA9IGNyZWF0ZUFzc2lnbmVyKGZ1bmN0aW9uKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcikge1xuICAgICAgYmFzZU1lcmdlKG9iamVjdCwgc291cmNlLCBzcmNJbmRleCwgY3VzdG9taXplcik7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3Bwb3NpdGUgb2YgYF8ucGlja2A7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZVxuICAgICAqIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgcHJvcGVydHkgcGF0aHMgb2YgYG9iamVjdGAgdGhhdCBhcmUgbm90IG9taXR0ZWQuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgY29uc2lkZXJhYmx5IHNsb3dlciB0aGFuIGBfLnBpY2tgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gb21pdC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ub21pdChvYmplY3QsIFsnYScsICdjJ10pO1xuICAgICAqIC8vID0+IHsgJ2InOiAnMicgfVxuICAgICAqL1xuICAgIHZhciBvbWl0ID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgICAgaWYgKG9iamVjdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICB2YXIgaXNEZWVwID0gZmFsc2U7XG4gICAgICBwYXRocyA9IGFycmF5TWFwKHBhdGhzLCBmdW5jdGlvbihwYXRoKSB7XG4gICAgICAgIHBhdGggPSBjYXN0UGF0aChwYXRoLCBvYmplY3QpO1xuICAgICAgICBpc0RlZXAgfHwgKGlzRGVlcCA9IHBhdGgubGVuZ3RoID4gMSk7XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgfSk7XG4gICAgICBjb3B5T2JqZWN0KG9iamVjdCwgZ2V0QWxsS2V5c0luKG9iamVjdCksIHJlc3VsdCk7XG4gICAgICBpZiAoaXNEZWVwKSB7XG4gICAgICAgIHJlc3VsdCA9IGJhc2VDbG9uZShyZXN1bHQsIENMT05FX0RFRVBfRkxBRyB8IENMT05FX0ZMQVRfRkxBRyB8IENMT05FX1NZTUJPTFNfRkxBRywgY3VzdG9tT21pdENsb25lKTtcbiAgICAgIH1cbiAgICAgIHZhciBsZW5ndGggPSBwYXRocy5sZW5ndGg7XG4gICAgICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICAgICAgYmFzZVVuc2V0KHJlc3VsdCwgcGF0aHNbbGVuZ3RoXSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLnBpY2tCeWA7IHRoaXMgbWV0aG9kIGNyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mXG4gICAgICogdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgb2YgYG9iamVjdGAgdGhhdFxuICAgICAqIGBwcmVkaWNhdGVgIGRvZXNuJ3QgcmV0dXJuIHRydXRoeSBmb3IuIFRoZSBwcmVkaWNhdGUgaXMgaW52b2tlZCB3aXRoIHR3b1xuICAgICAqIGFyZ3VtZW50czogKHZhbHVlLCBrZXkpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3ByZWRpY2F0ZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgcHJvcGVydHkuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiAxLCAnYic6ICcyJywgJ2MnOiAzIH07XG4gICAgICpcbiAgICAgKiBfLm9taXRCeShvYmplY3QsIF8uaXNOdW1iZXIpO1xuICAgICAqIC8vID0+IHsgJ2InOiAnMicgfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG9taXRCeShvYmplY3QsIHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHBpY2tCeShvYmplY3QsIG5lZ2F0ZShnZXRJdGVyYXRlZShwcmVkaWNhdGUpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhbiBvYmplY3QgY29tcG9zZWQgb2YgdGhlIHBpY2tlZCBgb2JqZWN0YCBwcm9wZXJ0aWVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIHNvdXJjZSBvYmplY3QuXG4gICAgICogQHBhcmFtIHsuLi4oc3RyaW5nfHN0cmluZ1tdKX0gW3BhdGhzXSBUaGUgcHJvcGVydHkgcGF0aHMgdG8gcGljay5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ucGljayhvYmplY3QsIFsnYScsICdjJ10pO1xuICAgICAqIC8vID0+IHsgJ2EnOiAxLCAnYyc6IDMgfVxuICAgICAqL1xuICAgIHZhciBwaWNrID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBwYXRocykge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8ge30gOiBiYXNlUGljayhvYmplY3QsIHBhdGhzKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gb2JqZWN0IGNvbXBvc2VkIG9mIHRoZSBgb2JqZWN0YCBwcm9wZXJ0aWVzIGBwcmVkaWNhdGVgIHJldHVybnNcbiAgICAgKiB0cnV0aHkgZm9yLiBUaGUgcHJlZGljYXRlIGlzIGludm9rZWQgd2l0aCB0d28gYXJndW1lbnRzOiAodmFsdWUsIGtleSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgc291cmNlIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJlZGljYXRlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBwcm9wZXJ0eS5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBuZXcgb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IDEsICdiJzogJzInLCAnYyc6IDMgfTtcbiAgICAgKlxuICAgICAqIF8ucGlja0J5KG9iamVjdCwgXy5pc051bWJlcik7XG4gICAgICogLy8gPT4geyAnYSc6IDEsICdjJzogMyB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gcGlja0J5KG9iamVjdCwgcHJlZGljYXRlKSB7XG4gICAgICBpZiAob2JqZWN0ID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuICAgICAgdmFyIHByb3BzID0gYXJyYXlNYXAoZ2V0QWxsS2V5c0luKG9iamVjdCksIGZ1bmN0aW9uKHByb3ApIHtcbiAgICAgICAgcmV0dXJuIFtwcm9wXTtcbiAgICAgIH0pO1xuICAgICAgcHJlZGljYXRlID0gZ2V0SXRlcmF0ZWUocHJlZGljYXRlKTtcbiAgICAgIHJldHVybiBiYXNlUGlja0J5KG9iamVjdCwgcHJvcHMsIGZ1bmN0aW9uKHZhbHVlLCBwYXRoKSB7XG4gICAgICAgIHJldHVybiBwcmVkaWNhdGUodmFsdWUsIHBhdGhbMF0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5nZXRgIGV4Y2VwdCB0aGF0IGlmIHRoZSByZXNvbHZlZCB2YWx1ZSBpcyBhXG4gICAgICogZnVuY3Rpb24gaXQncyBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIG9mIGl0cyBwYXJlbnQgb2JqZWN0IGFuZFxuICAgICAqIGl0cyByZXN1bHQgaXMgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byByZXNvbHZlLlxuICAgICAqIEBwYXJhbSB7Kn0gW2RlZmF1bHRWYWx1ZV0gVGhlIHZhbHVlIHJldHVybmVkIGZvciBgdW5kZWZpbmVkYCByZXNvbHZlZCB2YWx1ZXMuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYzEnOiAzLCAnYzInOiBfLmNvbnN0YW50KDQpIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMScpO1xuICAgICAqIC8vID0+IDNcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMicpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8ucmVzdWx0KG9iamVjdCwgJ2FbMF0uYi5jMycsICdkZWZhdWx0Jyk7XG4gICAgICogLy8gPT4gJ2RlZmF1bHQnXG4gICAgICpcbiAgICAgKiBfLnJlc3VsdChvYmplY3QsICdhWzBdLmIuYzMnLCBfLmNvbnN0YW50KCdkZWZhdWx0JykpO1xuICAgICAqIC8vID0+ICdkZWZhdWx0J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlc3VsdChvYmplY3QsIHBhdGgsIGRlZmF1bHRWYWx1ZSkge1xuICAgICAgcGF0aCA9IGNhc3RQYXRoKHBhdGgsIG9iamVjdCk7XG5cbiAgICAgIHZhciBpbmRleCA9IC0xLFxuICAgICAgICAgIGxlbmd0aCA9IHBhdGgubGVuZ3RoO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGxvb3AgaXMgZW50ZXJlZCB3aGVuIHBhdGggaXMgZW1wdHkuXG4gICAgICBpZiAoIWxlbmd0aCkge1xuICAgICAgICBsZW5ndGggPSAxO1xuICAgICAgICBvYmplY3QgPSB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSBvYmplY3QgPT0gbnVsbCA/IHVuZGVmaW5lZCA6IG9iamVjdFt0b0tleShwYXRoW2luZGV4XSldO1xuICAgICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGluZGV4ID0gbGVuZ3RoO1xuICAgICAgICAgIHZhbHVlID0gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIG9iamVjdCA9IGlzRnVuY3Rpb24odmFsdWUpID8gdmFsdWUuY2FsbChvYmplY3QpIDogdmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gb2JqZWN0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgYSBwb3J0aW9uIG9mIGBwYXRoYCBkb2Vzbid0IGV4aXN0LFxuICAgICAqIGl0J3MgY3JlYXRlZC4gQXJyYXlzIGFyZSBjcmVhdGVkIGZvciBtaXNzaW5nIGluZGV4IHByb3BlcnRpZXMgd2hpbGUgb2JqZWN0c1xuICAgICAqIGFyZSBjcmVhdGVkIGZvciBhbGwgb3RoZXIgbWlzc2luZyBwcm9wZXJ0aWVzLiBVc2UgYF8uc2V0V2l0aGAgdG8gY3VzdG9taXplXG4gICAgICogYHBhdGhgIGNyZWF0aW9uLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0geyAnYSc6IFt7ICdiJzogeyAnYyc6IDMgfSB9XSB9O1xuICAgICAqXG4gICAgICogXy5zZXQob2JqZWN0LCAnYVswXS5iLmMnLCA0KTtcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QuYVswXS5iLmMpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8uc2V0KG9iamVjdCwgWyd4JywgJzAnLCAneScsICd6J10sIDUpO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC54WzBdLnkueik7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldChvYmplY3QsIHBhdGgsIHZhbHVlKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlU2V0KG9iamVjdCwgcGF0aCwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc2V0YCBleGNlcHQgdGhhdCBpdCBhY2NlcHRzIGBjdXN0b21pemVyYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgdG8gcHJvZHVjZSB0aGUgb2JqZWN0cyBvZiBgcGF0aGAuICBJZiBgY3VzdG9taXplcmAgcmV0dXJucyBgdW5kZWZpbmVkYFxuICAgICAqIHBhdGggY3JlYXRpb24gaXMgaGFuZGxlZCBieSB0aGUgbWV0aG9kIGluc3RlYWQuIFRoZSBgY3VzdG9taXplcmAgaXMgaW52b2tlZFxuICAgICAqIHdpdGggdGhyZWUgYXJndW1lbnRzOiAobnNWYWx1ZSwga2V5LCBuc09iamVjdCkuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgbXV0YXRlcyBgb2JqZWN0YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gbW9kaWZ5LlxuICAgICAqIEBwYXJhbSB7QXJyYXl8c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSB0byBzZXQuXG4gICAgICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtjdXN0b21pemVyXSBUaGUgZnVuY3Rpb24gdG8gY3VzdG9taXplIGFzc2lnbmVkIHZhbHVlcy5cbiAgICAgKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIGBvYmplY3RgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0ID0ge307XG4gICAgICpcbiAgICAgKiBfLnNldFdpdGgob2JqZWN0LCAnWzBdWzFdJywgJ2EnLCBPYmplY3QpO1xuICAgICAqIC8vID0+IHsgJzAnOiB7ICcxJzogJ2EnIH0gfVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHNldFdpdGgob2JqZWN0LCBwYXRoLCB2YWx1ZSwgY3VzdG9taXplcikge1xuICAgICAgY3VzdG9taXplciA9IHR5cGVvZiBjdXN0b21pemVyID09ICdmdW5jdGlvbicgPyBjdXN0b21pemVyIDogdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gb2JqZWN0IDogYmFzZVNldChvYmplY3QsIHBhdGgsIHZhbHVlLCBjdXN0b21pemVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGFycmF5IG9mIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZC12YWx1ZSBwYWlycyBmb3IgYG9iamVjdGBcbiAgICAgKiB3aGljaCBjYW4gYmUgY29uc3VtZWQgYnkgYF8uZnJvbVBhaXJzYC4gSWYgYG9iamVjdGAgaXMgYSBtYXAgb3Igc2V0LCBpdHNcbiAgICAgKiBlbnRyaWVzIGFyZSByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBhbGlhcyBlbnRyaWVzXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udG9QYWlycyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbWydhJywgMV0sIFsnYicsIDJdXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIHZhciB0b1BhaXJzID0gY3JlYXRlVG9QYWlycyhrZXlzKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2Ygb3duIGFuZCBpbmhlcml0ZWQgZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQtdmFsdWUgcGFpcnNcbiAgICAgKiBmb3IgYG9iamVjdGAgd2hpY2ggY2FuIGJlIGNvbnN1bWVkIGJ5IGBfLmZyb21QYWlyc2AuIElmIGBvYmplY3RgIGlzIGEgbWFwXG4gICAgICogb3Igc2V0LCBpdHMgZW50cmllcyBhcmUgcmV0dXJuZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAYWxpYXMgZW50cmllc0luXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIGtleS12YWx1ZSBwYWlycy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gRm9vKCkge1xuICAgICAqICAgdGhpcy5hID0gMTtcbiAgICAgKiAgIHRoaXMuYiA9IDI7XG4gICAgICogfVxuICAgICAqXG4gICAgICogRm9vLnByb3RvdHlwZS5jID0gMztcbiAgICAgKlxuICAgICAqIF8udG9QYWlyc0luKG5ldyBGb28pO1xuICAgICAqIC8vID0+IFtbJ2EnLCAxXSwgWydiJywgMl0sIFsnYycsIDNdXSAoaXRlcmF0aW9uIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkKVxuICAgICAqL1xuICAgIHZhciB0b1BhaXJzSW4gPSBjcmVhdGVUb1BhaXJzKGtleXNJbik7XG5cbiAgICAvKipcbiAgICAgKiBBbiBhbHRlcm5hdGl2ZSB0byBgXy5yZWR1Y2VgOyB0aGlzIG1ldGhvZCB0cmFuc2Zvcm1zIGBvYmplY3RgIHRvIGEgbmV3XG4gICAgICogYGFjY3VtdWxhdG9yYCBvYmplY3Qgd2hpY2ggaXMgdGhlIHJlc3VsdCBvZiBydW5uaW5nIGVhY2ggb2YgaXRzIG93blxuICAgICAqIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnRpZXMgdGhydSBgaXRlcmF0ZWVgLCB3aXRoIGVhY2ggaW52b2NhdGlvblxuICAgICAqIHBvdGVudGlhbGx5IG11dGF0aW5nIHRoZSBgYWNjdW11bGF0b3JgIG9iamVjdC4gSWYgYGFjY3VtdWxhdG9yYCBpcyBub3RcbiAgICAgKiBwcm92aWRlZCwgYSBuZXcgb2JqZWN0IHdpdGggdGhlIHNhbWUgYFtbUHJvdG90eXBlXV1gIHdpbGwgYmUgdXNlZC4gVGhlXG4gICAgICogaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIGZvdXIgYXJndW1lbnRzOiAoYWNjdW11bGF0b3IsIHZhbHVlLCBrZXksIG9iamVjdCkuXG4gICAgICogSXRlcmF0ZWUgZnVuY3Rpb25zIG1heSBleGl0IGl0ZXJhdGlvbiBlYXJseSBieSBleHBsaWNpdGx5IHJldHVybmluZyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMy4wXG4gICAgICogQGNhdGVnb3J5IE9iamVjdFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBmdW5jdGlvbiBpbnZva2VkIHBlciBpdGVyYXRpb24uXG4gICAgICogQHBhcmFtIHsqfSBbYWNjdW11bGF0b3JdIFRoZSBjdXN0b20gYWNjdW11bGF0b3IgdmFsdWUuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGFjY3VtdWxhdGVkIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRyYW5zZm9ybShbMiwgMywgNF0sIGZ1bmN0aW9uKHJlc3VsdCwgbikge1xuICAgICAqICAgcmVzdWx0LnB1c2gobiAqPSBuKTtcbiAgICAgKiAgIHJldHVybiBuICUgMiA9PSAwO1xuICAgICAqIH0sIFtdKTtcbiAgICAgKiAvLyA9PiBbNCwgOV1cbiAgICAgKlxuICAgICAqIF8udHJhbnNmb3JtKHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMSB9LCBmdW5jdGlvbihyZXN1bHQsIHZhbHVlLCBrZXkpIHtcbiAgICAgKiAgIChyZXN1bHRbdmFsdWVdIHx8IChyZXN1bHRbdmFsdWVdID0gW10pKS5wdXNoKGtleSk7XG4gICAgICogfSwge30pO1xuICAgICAqIC8vID0+IHsgJzEnOiBbJ2EnLCAnYyddLCAnMic6IFsnYiddIH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cmFuc2Zvcm0ob2JqZWN0LCBpdGVyYXRlZSwgYWNjdW11bGF0b3IpIHtcbiAgICAgIHZhciBpc0FyciA9IGlzQXJyYXkob2JqZWN0KSxcbiAgICAgICAgICBpc0Fyckxpa2UgPSBpc0FyciB8fCBpc0J1ZmZlcihvYmplY3QpIHx8IGlzVHlwZWRBcnJheShvYmplY3QpO1xuXG4gICAgICBpdGVyYXRlZSA9IGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCA0KTtcbiAgICAgIGlmIChhY2N1bXVsYXRvciA9PSBudWxsKSB7XG4gICAgICAgIHZhciBDdG9yID0gb2JqZWN0ICYmIG9iamVjdC5jb25zdHJ1Y3RvcjtcbiAgICAgICAgaWYgKGlzQXJyTGlrZSkge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0gaXNBcnIgPyBuZXcgQ3RvciA6IFtdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzT2JqZWN0KG9iamVjdCkpIHtcbiAgICAgICAgICBhY2N1bXVsYXRvciA9IGlzRnVuY3Rpb24oQ3RvcikgPyBiYXNlQ3JlYXRlKGdldFByb3RvdHlwZShvYmplY3QpKSA6IHt9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgIGFjY3VtdWxhdG9yID0ge307XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIChpc0Fyckxpa2UgPyBhcnJheUVhY2ggOiBiYXNlRm9yT3duKShvYmplY3QsIGZ1bmN0aW9uKHZhbHVlLCBpbmRleCwgb2JqZWN0KSB7XG4gICAgICAgIHJldHVybiBpdGVyYXRlZShhY2N1bXVsYXRvciwgdmFsdWUsIGluZGV4LCBvYmplY3QpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gYWNjdW11bGF0b3I7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyB0aGUgcHJvcGVydHkgYXQgYHBhdGhgIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gdW5zZXQuXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBwcm9wZXJ0eSBpcyBkZWxldGVkLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogW3sgJ2InOiB7ICdjJzogNyB9IH1dIH07XG4gICAgICogXy51bnNldChvYmplY3QsICdhWzBdLmIuYycpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdCk7XG4gICAgICogLy8gPT4geyAnYSc6IFt7ICdiJzoge30gfV0gfTtcbiAgICAgKlxuICAgICAqIF8udW5zZXQob2JqZWN0LCBbJ2EnLCAnMCcsICdiJywgJ2MnXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0KTtcbiAgICAgKiAvLyA9PiB7ICdhJzogW3sgJ2InOiB7fSB9XSB9O1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuc2V0KG9iamVjdCwgcGF0aCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA9PSBudWxsID8gdHJ1ZSA6IGJhc2VVbnNldChvYmplY3QsIHBhdGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uc2V0YCBleGNlcHQgdGhhdCBhY2NlcHRzIGB1cGRhdGVyYCB0byBwcm9kdWNlIHRoZVxuICAgICAqIHZhbHVlIHRvIHNldC4gVXNlIGBfLnVwZGF0ZVdpdGhgIHRvIGN1c3RvbWl6ZSBgcGF0aGAgY3JlYXRpb24uIFRoZSBgdXBkYXRlcmBcbiAgICAgKiBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiAzIH0gfV0gfTtcbiAgICAgKlxuICAgICAqIF8udXBkYXRlKG9iamVjdCwgJ2FbMF0uYi5jJywgZnVuY3Rpb24obikgeyByZXR1cm4gbiAqIG47IH0pO1xuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdC5hWzBdLmIuYyk7XG4gICAgICogLy8gPT4gOVxuICAgICAqXG4gICAgICogXy51cGRhdGUob2JqZWN0LCAneFswXS55LnonLCBmdW5jdGlvbihuKSB7IHJldHVybiBuID8gbiArIDEgOiAwOyB9KTtcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3QueFswXS55LnopO1xuICAgICAqIC8vID0+IDBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1cGRhdGUob2JqZWN0LCBwYXRoLCB1cGRhdGVyKSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBvYmplY3QgOiBiYXNlVXBkYXRlKG9iamVjdCwgcGF0aCwgY2FzdEZ1bmN0aW9uKHVwZGF0ZXIpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBsaWtlIGBfLnVwZGF0ZWAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgY3VzdG9taXplcmAgd2hpY2ggaXNcbiAgICAgKiBpbnZva2VkIHRvIHByb2R1Y2UgdGhlIG9iamVjdHMgb2YgYHBhdGhgLiAgSWYgYGN1c3RvbWl6ZXJgIHJldHVybnMgYHVuZGVmaW5lZGBcbiAgICAgKiBwYXRoIGNyZWF0aW9uIGlzIGhhbmRsZWQgYnkgdGhlIG1ldGhvZCBpbnN0ZWFkLiBUaGUgYGN1c3RvbWl6ZXJgIGlzIGludm9rZWRcbiAgICAgKiB3aXRoIHRocmVlIGFyZ3VtZW50czogKG5zVmFsdWUsIGtleSwgbnNPYmplY3QpLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIG11dGF0ZXMgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC42LjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gc2V0LlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IHVwZGF0ZXIgVGhlIGZ1bmN0aW9uIHRvIHByb2R1Y2UgdGhlIHVwZGF0ZWQgdmFsdWUuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2N1c3RvbWl6ZXJdIFRoZSBmdW5jdGlvbiB0byBjdXN0b21pemUgYXNzaWduZWQgdmFsdWVzLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7fTtcbiAgICAgKlxuICAgICAqIF8udXBkYXRlV2l0aChvYmplY3QsICdbMF1bMV0nLCBfLmNvbnN0YW50KCdhJyksIE9iamVjdCk7XG4gICAgICogLy8gPT4geyAnMCc6IHsgJzEnOiAnYScgfSB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gdXBkYXRlV2l0aChvYmplY3QsIHBhdGgsIHVwZGF0ZXIsIGN1c3RvbWl6ZXIpIHtcbiAgICAgIGN1c3RvbWl6ZXIgPSB0eXBlb2YgY3VzdG9taXplciA9PSAnZnVuY3Rpb24nID8gY3VzdG9taXplciA6IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IG9iamVjdCA6IGJhc2VVcGRhdGUob2JqZWN0LCBwYXRoLCBjYXN0RnVuY3Rpb24odXBkYXRlciksIGN1c3RvbWl6ZXIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBlbnVtZXJhYmxlIHN0cmluZyBrZXllZCBwcm9wZXJ0eSB2YWx1ZXMgb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogTm9uLW9iamVjdCB2YWx1ZXMgYXJlIGNvZXJjZWQgdG8gb2JqZWN0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBPYmplY3RcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBhcnJheSBvZiBwcm9wZXJ0eSB2YWx1ZXMuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIGZ1bmN0aW9uIEZvbygpIHtcbiAgICAgKiAgIHRoaXMuYSA9IDE7XG4gICAgICogICB0aGlzLmIgPSAyO1xuICAgICAqIH1cbiAgICAgKlxuICAgICAqIEZvby5wcm90b3R5cGUuYyA9IDM7XG4gICAgICpcbiAgICAgKiBfLnZhbHVlcyhuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbMSwgMl0gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKlxuICAgICAqIF8udmFsdWVzKCdoaScpO1xuICAgICAqIC8vID0+IFsnaCcsICdpJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB2YWx1ZXMob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyBbXSA6IGJhc2VWYWx1ZXMob2JqZWN0LCBrZXlzKG9iamVjdCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgdGhlIG93biBhbmQgaW5oZXJpdGVkIGVudW1lcmFibGUgc3RyaW5nIGtleWVkIHByb3BlcnR5XG4gICAgICogdmFsdWVzIG9mIGBvYmplY3RgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vbi1vYmplY3QgdmFsdWVzIGFyZSBjb2VyY2VkIHRvIG9iamVjdHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgT2JqZWN0XG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcHJvcGVydHkgdmFsdWVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBmdW5jdGlvbiBGb28oKSB7XG4gICAgICogICB0aGlzLmEgPSAxO1xuICAgICAqICAgdGhpcy5iID0gMjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiBGb28ucHJvdG90eXBlLmMgPSAzO1xuICAgICAqXG4gICAgICogXy52YWx1ZXNJbihuZXcgRm9vKTtcbiAgICAgKiAvLyA9PiBbMSwgMiwgM10gKGl0ZXJhdGlvbiBvcmRlciBpcyBub3QgZ3VhcmFudGVlZClcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB2YWx1ZXNJbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPT0gbnVsbCA/IFtdIDogYmFzZVZhbHVlcyhvYmplY3QsIGtleXNJbihvYmplY3QpKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDbGFtcHMgYG51bWJlcmAgd2l0aGluIHRoZSBpbmNsdXNpdmUgYGxvd2VyYCBhbmQgYHVwcGVyYCBib3VuZHMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTnVtYmVyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIGNsYW1wLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbG93ZXJdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gdXBwZXIgVGhlIHVwcGVyIGJvdW5kLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNsYW1wZWQgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNsYW1wKC0xMCwgLTUsIDUpO1xuICAgICAqIC8vID0+IC01XG4gICAgICpcbiAgICAgKiBfLmNsYW1wKDEwLCAtNSwgNSk7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNsYW1wKG51bWJlciwgbG93ZXIsIHVwcGVyKSB7XG4gICAgICBpZiAodXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB1cHBlciA9IGxvd2VyO1xuICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmICh1cHBlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHVwcGVyID0gdG9OdW1iZXIodXBwZXIpO1xuICAgICAgICB1cHBlciA9IHVwcGVyID09PSB1cHBlciA/IHVwcGVyIDogMDtcbiAgICAgIH1cbiAgICAgIGlmIChsb3dlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGxvd2VyID0gdG9OdW1iZXIobG93ZXIpO1xuICAgICAgICBsb3dlciA9IGxvd2VyID09PSBsb3dlciA/IGxvd2VyIDogMDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlQ2xhbXAodG9OdW1iZXIobnVtYmVyKSwgbG93ZXIsIHVwcGVyKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgYG5gIGlzIGJldHdlZW4gYHN0YXJ0YCBhbmQgdXAgdG8sIGJ1dCBub3QgaW5jbHVkaW5nLCBgZW5kYC4gSWZcbiAgICAgKiBgZW5kYCBpcyBub3Qgc3BlY2lmaWVkLCBpdCdzIHNldCB0byBgc3RhcnRgIHdpdGggYHN0YXJ0YCB0aGVuIHNldCB0byBgMGAuXG4gICAgICogSWYgYHN0YXJ0YCBpcyBncmVhdGVyIHRoYW4gYGVuZGAgdGhlIHBhcmFtcyBhcmUgc3dhcHBlZCB0byBzdXBwb3J0XG4gICAgICogbmVnYXRpdmUgcmFuZ2VzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMy4wXG4gICAgICogQGNhdGVnb3J5IE51bWJlclxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byBjaGVjay5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0PTBdIFRoZSBzdGFydCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IGVuZCBUaGUgZW5kIG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYG51bWJlcmAgaXMgaW4gdGhlIHJhbmdlLCBlbHNlIGBmYWxzZWAuXG4gICAgICogQHNlZSBfLnJhbmdlLCBfLnJhbmdlUmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDMsIDIsIDQpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSg0LCA4KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLmluUmFuZ2UoNCwgMik7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSgyLCAyKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDEuMiwgMik7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5pblJhbmdlKDUuMiwgNCk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uaW5SYW5nZSgtMywgLTIsIC02KTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gaW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpIHtcbiAgICAgIHN0YXJ0ID0gdG9GaW5pdGUoc3RhcnQpO1xuICAgICAgaWYgKGVuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGVuZCA9IHN0YXJ0O1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlbmQgPSB0b0Zpbml0ZShlbmQpO1xuICAgICAgfVxuICAgICAgbnVtYmVyID0gdG9OdW1iZXIobnVtYmVyKTtcbiAgICAgIHJldHVybiBiYXNlSW5SYW5nZShudW1iZXIsIHN0YXJ0LCBlbmQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2R1Y2VzIGEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIHRoZSBpbmNsdXNpdmUgYGxvd2VyYCBhbmQgYHVwcGVyYCBib3VuZHMuXG4gICAgICogSWYgb25seSBvbmUgYXJndW1lbnQgaXMgcHJvdmlkZWQgYSBudW1iZXIgYmV0d2VlbiBgMGAgYW5kIHRoZSBnaXZlbiBudW1iZXJcbiAgICAgKiBpcyByZXR1cm5lZC4gSWYgYGZsb2F0aW5nYCBpcyBgdHJ1ZWAsIG9yIGVpdGhlciBgbG93ZXJgIG9yIGB1cHBlcmAgYXJlXG4gICAgICogZmxvYXRzLCBhIGZsb2F0aW5nLXBvaW50IG51bWJlciBpcyByZXR1cm5lZCBpbnN0ZWFkIG9mIGFuIGludGVnZXIuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSmF2YVNjcmlwdCBmb2xsb3dzIHRoZSBJRUVFLTc1NCBzdGFuZGFyZCBmb3IgcmVzb2x2aW5nXG4gICAgICogZmxvYXRpbmctcG9pbnQgdmFsdWVzIHdoaWNoIGNhbiBwcm9kdWNlIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAwLjcuMFxuICAgICAqIEBjYXRlZ29yeSBOdW1iZXJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xvd2VyPTBdIFRoZSBsb3dlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3VwcGVyPTFdIFRoZSB1cHBlciBib3VuZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtmbG9hdGluZ10gU3BlY2lmeSByZXR1cm5pbmcgYSBmbG9hdGluZy1wb2ludCBudW1iZXIuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcmFuZG9tIG51bWJlci5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yYW5kb20oMCwgNSk7XG4gICAgICogLy8gPT4gYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDVcbiAgICAgKlxuICAgICAqIF8ucmFuZG9tKDUpO1xuICAgICAqIC8vID0+IGFsc28gYW4gaW50ZWdlciBiZXR3ZWVuIDAgYW5kIDVcbiAgICAgKlxuICAgICAqIF8ucmFuZG9tKDUsIHRydWUpO1xuICAgICAqIC8vID0+IGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGJldHdlZW4gMCBhbmQgNVxuICAgICAqXG4gICAgICogXy5yYW5kb20oMS4yLCA1LjIpO1xuICAgICAqIC8vID0+IGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyIGJldHdlZW4gMS4yIGFuZCA1LjJcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByYW5kb20obG93ZXIsIHVwcGVyLCBmbG9hdGluZykge1xuICAgICAgaWYgKGZsb2F0aW5nICYmIHR5cGVvZiBmbG9hdGluZyAhPSAnYm9vbGVhbicgJiYgaXNJdGVyYXRlZUNhbGwobG93ZXIsIHVwcGVyLCBmbG9hdGluZykpIHtcbiAgICAgICAgdXBwZXIgPSBmbG9hdGluZyA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGlmIChmbG9hdGluZyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdXBwZXIgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgZmxvYXRpbmcgPSB1cHBlcjtcbiAgICAgICAgICB1cHBlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgbG93ZXIgPT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgZmxvYXRpbmcgPSBsb3dlcjtcbiAgICAgICAgICBsb3dlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID09PSB1bmRlZmluZWQgJiYgdXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBsb3dlciA9IDA7XG4gICAgICAgIHVwcGVyID0gMTtcbiAgICAgIH1cbiAgICAgIGVsc2Uge1xuICAgICAgICBsb3dlciA9IHRvRmluaXRlKGxvd2VyKTtcbiAgICAgICAgaWYgKHVwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB1cHBlciA9IGxvd2VyO1xuICAgICAgICAgIGxvd2VyID0gMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB1cHBlciA9IHRvRmluaXRlKHVwcGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGxvd2VyID4gdXBwZXIpIHtcbiAgICAgICAgdmFyIHRlbXAgPSBsb3dlcjtcbiAgICAgICAgbG93ZXIgPSB1cHBlcjtcbiAgICAgICAgdXBwZXIgPSB0ZW1wO1xuICAgICAgfVxuICAgICAgaWYgKGZsb2F0aW5nIHx8IGxvd2VyICUgMSB8fCB1cHBlciAlIDEpIHtcbiAgICAgICAgdmFyIHJhbmQgPSBuYXRpdmVSYW5kb20oKTtcbiAgICAgICAgcmV0dXJuIG5hdGl2ZU1pbihsb3dlciArIChyYW5kICogKHVwcGVyIC0gbG93ZXIgKyBmcmVlUGFyc2VGbG9hdCgnMWUtJyArICgocmFuZCArICcnKS5sZW5ndGggLSAxKSkpKSwgdXBwZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJhc2VSYW5kb20obG93ZXIsIHVwcGVyKTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0byBbY2FtZWwgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQ2FtZWxDYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGNhbWVsIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vQmFyJ1xuICAgICAqXG4gICAgICogXy5jYW1lbENhc2UoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJ2Zvb0JhcidcbiAgICAgKlxuICAgICAqIF8uY2FtZWxDYXNlKCdfX0ZPT19CQVJfXycpO1xuICAgICAqIC8vID0+ICdmb29CYXInXG4gICAgICovXG4gICAgdmFyIGNhbWVsQ2FzZSA9IGNyZWF0ZUNvbXBvdW5kZXIoZnVuY3Rpb24ocmVzdWx0LCB3b3JkLCBpbmRleCkge1xuICAgICAgd29yZCA9IHdvcmQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyBjYXBpdGFsaXplKHdvcmQpIDogd29yZCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIGBzdHJpbmdgIHRvIHVwcGVyIGNhc2UgYW5kIHRoZSByZW1haW5pbmdcbiAgICAgKiB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNhcGl0YWxpemUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY2FwaXRhbGl6ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNhcGl0YWxpemUoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnRnJlZCdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjYXBpdGFsaXplKHN0cmluZykge1xuICAgICAgcmV0dXJuIHVwcGVyRmlyc3QodG9TdHJpbmcoc3RyaW5nKS50b0xvd2VyQ2FzZSgpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWJ1cnJzIGBzdHJpbmdgIGJ5IGNvbnZlcnRpbmdcbiAgICAgKiBbTGF0aW4tMSBTdXBwbGVtZW50XShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9MYXRpbi0xX1N1cHBsZW1lbnRfKFVuaWNvZGVfYmxvY2spI0NoYXJhY3Rlcl90YWJsZSlcbiAgICAgKiBhbmQgW0xhdGluIEV4dGVuZGVkLUFdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xhdGluX0V4dGVuZGVkLUEpXG4gICAgICogbGV0dGVycyB0byBiYXNpYyBMYXRpbiBsZXR0ZXJzIGFuZCByZW1vdmluZ1xuICAgICAqIFtjb21iaW5pbmcgZGlhY3JpdGljYWwgbWFya3NdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0NvbWJpbmluZ19EaWFjcml0aWNhbF9NYXJrcykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gZGVidXJyLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGRlYnVycmVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWJ1cnIoJ2TDqWrDoCB2dScpO1xuICAgICAqIC8vID0+ICdkZWphIHZ1J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIGRlYnVycihzdHJpbmcpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICByZXR1cm4gc3RyaW5nICYmIHN0cmluZy5yZXBsYWNlKHJlTGF0aW4sIGRlYnVyckxldHRlcikucmVwbGFjZShyZUNvbWJvTWFyaywgJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgc3RyaW5nYCBlbmRzIHdpdGggdGhlIGdpdmVuIHRhcmdldCBzdHJpbmcuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gaW5zcGVjdC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3RhcmdldF0gVGhlIHN0cmluZyB0byBzZWFyY2ggZm9yLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcG9zaXRpb249c3RyaW5nLmxlbmd0aF0gVGhlIHBvc2l0aW9uIHRvIHNlYXJjaCB1cCB0by5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHN0cmluZ2AgZW5kcyB3aXRoIGB0YXJnZXRgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZW5kc1dpdGgoJ2FiYycsICdjJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2InKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogXy5lbmRzV2l0aCgnYWJjJywgJ2InLCAyKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gZW5kc1dpdGgoc3RyaW5nLCB0YXJnZXQsIHBvc2l0aW9uKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgdGFyZ2V0ID0gYmFzZVRvU3RyaW5nKHRhcmdldCk7XG5cbiAgICAgIHZhciBsZW5ndGggPSBzdHJpbmcubGVuZ3RoO1xuICAgICAgcG9zaXRpb24gPSBwb3NpdGlvbiA9PT0gdW5kZWZpbmVkXG4gICAgICAgID8gbGVuZ3RoXG4gICAgICAgIDogYmFzZUNsYW1wKHRvSW50ZWdlcihwb3NpdGlvbiksIDAsIGxlbmd0aCk7XG5cbiAgICAgIHZhciBlbmQgPSBwb3NpdGlvbjtcbiAgICAgIHBvc2l0aW9uIC09IHRhcmdldC5sZW5ndGg7XG4gICAgICByZXR1cm4gcG9zaXRpb24gPj0gMCAmJiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIGVuZCkgPT0gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIHRoZSBjaGFyYWN0ZXJzIFwiJlwiLCBcIjxcIiwgXCI+XCIsICdcIicsIGFuZCBcIidcIiBpbiBgc3RyaW5nYCB0byB0aGVpclxuICAgICAqIGNvcnJlc3BvbmRpbmcgSFRNTCBlbnRpdGllcy5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBObyBvdGhlciBjaGFyYWN0ZXJzIGFyZSBlc2NhcGVkLiBUbyBlc2NhcGUgYWRkaXRpb25hbFxuICAgICAqIGNoYXJhY3RlcnMgdXNlIGEgdGhpcmQtcGFydHkgbGlicmFyeSBsaWtlIFtfaGVfXShodHRwczovL210aHMuYmUvaGUpLlxuICAgICAqXG4gICAgICogVGhvdWdoIHRoZSBcIj5cIiBjaGFyYWN0ZXIgaXMgZXNjYXBlZCBmb3Igc3ltbWV0cnksIGNoYXJhY3RlcnMgbGlrZVxuICAgICAqIFwiPlwiIGFuZCBcIi9cIiBkb24ndCBuZWVkIGVzY2FwaW5nIGluIEhUTUwgYW5kIGhhdmUgbm8gc3BlY2lhbCBtZWFuaW5nXG4gICAgICogdW5sZXNzIHRoZXkncmUgcGFydCBvZiBhIHRhZyBvciB1bnF1b3RlZCBhdHRyaWJ1dGUgdmFsdWUuIFNlZVxuICAgICAqIFtNYXRoaWFzIEJ5bmVucydzIGFydGljbGVdKGh0dHBzOi8vbWF0aGlhc2J5bmVucy5iZS9ub3Rlcy9hbWJpZ3VvdXMtYW1wZXJzYW5kcylcbiAgICAgKiAodW5kZXIgXCJzZW1pLXJlbGF0ZWQgZnVuIGZhY3RcIikgZm9yIG1vcmUgZGV0YWlscy5cbiAgICAgKlxuICAgICAqIFdoZW4gd29ya2luZyB3aXRoIEhUTUwgeW91IHNob3VsZCBhbHdheXNcbiAgICAgKiBbcXVvdGUgYXR0cmlidXRlIHZhbHVlc10oaHR0cDovL3dvbmtvLmNvbS9wb3N0L2h0bWwtZXNjYXBpbmcpIHRvIHJlZHVjZVxuICAgICAqIFhTUyB2ZWN0b3JzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGVzY2FwZS5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBlc2NhcGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJiBwZWJibGVzJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBlc2NhcGUoc3RyaW5nKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcmV0dXJuIChzdHJpbmcgJiYgcmVIYXNVbmVzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKSlcbiAgICAgICAgPyBzdHJpbmcucmVwbGFjZShyZVVuZXNjYXBlZEh0bWwsIGVzY2FwZUh0bWxDaGFyKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBFc2NhcGVzIHRoZSBgUmVnRXhwYCBzcGVjaWFsIGNoYXJhY3RlcnMgXCJeXCIsIFwiJFwiLCBcIlxcXCIsIFwiLlwiLCBcIipcIiwgXCIrXCIsXG4gICAgICogXCI/XCIsIFwiKFwiLCBcIilcIiwgXCJbXCIsIFwiXVwiLCBcIntcIiwgXCJ9XCIsIGFuZCBcInxcIiBpbiBgc3RyaW5nYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBlc2NhcGUuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZXNjYXBlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZXNjYXBlUmVnRXhwKCdbbG9kYXNoXShodHRwczovL2xvZGFzaC5jb20vKScpO1xuICAgICAqIC8vID0+ICdcXFtsb2Rhc2hcXF1cXChodHRwczovL2xvZGFzaFxcLmNvbS9cXCknXG4gICAgICovXG4gICAgZnVuY3Rpb24gZXNjYXBlUmVnRXhwKHN0cmluZykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIHJldHVybiAoc3RyaW5nICYmIHJlSGFzUmVnRXhwQ2hhci50ZXN0KHN0cmluZykpXG4gICAgICAgID8gc3RyaW5nLnJlcGxhY2UocmVSZWdFeHBDaGFyLCAnXFxcXCQmJylcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG9cbiAgICAgKiBba2ViYWIgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGV0dGVyX2Nhc2UjU3BlY2lhbF9jYXNlX3N0eWxlcykuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gY29udmVydC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBSZXR1cm5zIHRoZSBrZWJhYiBjYXNlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ua2ViYWJDYXNlKCdGb28gQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvby1iYXInXG4gICAgICpcbiAgICAgKiBfLmtlYmFiQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvby1iYXInXG4gICAgICpcbiAgICAgKiBfLmtlYmFiQ2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnZm9vLWJhcidcbiAgICAgKi9cbiAgICB2YXIga2ViYWJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJy0nIDogJycpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AsIGFzIHNwYWNlIHNlcGFyYXRlZCB3b3JkcywgdG8gbG93ZXIgY2FzZS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGxvd2VyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sb3dlckNhc2UoJy0tRm9vLUJhci0tJyk7XG4gICAgICogLy8gPT4gJ2ZvbyBiYXInXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2ZvbyBiYXInXG4gICAgICpcbiAgICAgKiBfLmxvd2VyQ2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnZm9vIGJhcidcbiAgICAgKi9cbiAgICB2YXIgbG93ZXJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgd29yZC50b0xvd2VyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBgc3RyaW5nYCB0byBsb3dlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5sb3dlckZpcnN0KCdGcmVkJyk7XG4gICAgICogLy8gPT4gJ2ZyZWQnXG4gICAgICpcbiAgICAgKiBfLmxvd2VyRmlyc3QoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnZlJFRCdcbiAgICAgKi9cbiAgICB2YXIgbG93ZXJGaXJzdCA9IGNyZWF0ZUNhc2VGaXJzdCgndG9Mb3dlckNhc2UnKTtcblxuICAgIC8qKlxuICAgICAqIFBhZHMgYHN0cmluZ2Agb24gdGhlIGxlZnQgYW5kIHJpZ2h0IHNpZGVzIGlmIGl0J3Mgc2hvcnRlciB0aGFuIGBsZW5ndGhgLlxuICAgICAqIFBhZGRpbmcgY2hhcmFjdGVycyBhcmUgdHJ1bmNhdGVkIGlmIHRoZXkgY2FuJ3QgYmUgZXZlbmx5IGRpdmlkZWQgYnkgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWQoJ2FiYycsIDgpO1xuICAgICAqIC8vID0+ICcgIGFiYyAgICdcbiAgICAgKlxuICAgICAqIF8ucGFkKCdhYmMnLCA4LCAnXy0nKTtcbiAgICAgKiAvLyA9PiAnXy1hYmNfLV8nXG4gICAgICpcbiAgICAgKiBfLnBhZCgnYWJjJywgMyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYWQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgaWYgKCFsZW5ndGggfHwgc3RyTGVuZ3RoID49IGxlbmd0aCkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIG1pZCA9IChsZW5ndGggLSBzdHJMZW5ndGgpIC8gMjtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIGNyZWF0ZVBhZGRpbmcobmF0aXZlRmxvb3IobWlkKSwgY2hhcnMpICtcbiAgICAgICAgc3RyaW5nICtcbiAgICAgICAgY3JlYXRlUGFkZGluZyhuYXRpdmVDZWlsKG1pZCksIGNoYXJzKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWRzIGBzdHJpbmdgIG9uIHRoZSByaWdodCBzaWRlIGlmIGl0J3Mgc2hvcnRlciB0aGFuIGBsZW5ndGhgLiBQYWRkaW5nXG4gICAgICogY2hhcmFjdGVycyBhcmUgdHJ1bmNhdGVkIGlmIHRoZXkgZXhjZWVkIGBsZW5ndGhgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHBhZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2xlbmd0aD0wXSBUaGUgcGFkZGluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz0nICddIFRoZSBzdHJpbmcgdXNlZCBhcyBwYWRkaW5nLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHBhZGRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucGFkRW5kKCdhYmMnLCA2KTtcbiAgICAgKiAvLyA9PiAnYWJjICAgJ1xuICAgICAqXG4gICAgICogXy5wYWRFbmQoJ2FiYycsIDYsICdfLScpO1xuICAgICAqIC8vID0+ICdhYmNfLV8nXG4gICAgICpcbiAgICAgKiBfLnBhZEVuZCgnYWJjJywgMyk7XG4gICAgICogLy8gPT4gJ2FiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBwYWRFbmQoc3RyaW5nLCBsZW5ndGgsIGNoYXJzKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgbGVuZ3RoID0gdG9JbnRlZ2VyKGxlbmd0aCk7XG5cbiAgICAgIHZhciBzdHJMZW5ndGggPSBsZW5ndGggPyBzdHJpbmdTaXplKHN0cmluZykgOiAwO1xuICAgICAgcmV0dXJuIChsZW5ndGggJiYgc3RyTGVuZ3RoIDwgbGVuZ3RoKVxuICAgICAgICA/IChzdHJpbmcgKyBjcmVhdGVQYWRkaW5nKGxlbmd0aCAtIHN0ckxlbmd0aCwgY2hhcnMpKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYWRzIGBzdHJpbmdgIG9uIHRoZSBsZWZ0IHNpZGUgaWYgaXQncyBzaG9ydGVyIHRoYW4gYGxlbmd0aGAuIFBhZGRpbmdcbiAgICAgKiBjaGFyYWN0ZXJzIGFyZSB0cnVuY2F0ZWQgaWYgdGhleSBleGNlZWQgYGxlbmd0aGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcGFkLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGVuZ3RoPTBdIFRoZSBwYWRkaW5nIGxlbmd0aC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2NoYXJzPScgJ10gVGhlIHN0cmluZyB1c2VkIGFzIHBhZGRpbmcuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcGFkZGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5wYWRTdGFydCgnYWJjJywgNik7XG4gICAgICogLy8gPT4gJyAgIGFiYydcbiAgICAgKlxuICAgICAqIF8ucGFkU3RhcnQoJ2FiYycsIDYsICdfLScpO1xuICAgICAqIC8vID0+ICdfLV9hYmMnXG4gICAgICpcbiAgICAgKiBfLnBhZFN0YXJ0KCdhYmMnLCAzKTtcbiAgICAgKiAvLyA9PiAnYWJjJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHBhZFN0YXJ0KHN0cmluZywgbGVuZ3RoLCBjaGFycykge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGxlbmd0aCA9IHRvSW50ZWdlcihsZW5ndGgpO1xuXG4gICAgICB2YXIgc3RyTGVuZ3RoID0gbGVuZ3RoID8gc3RyaW5nU2l6ZShzdHJpbmcpIDogMDtcbiAgICAgIHJldHVybiAobGVuZ3RoICYmIHN0ckxlbmd0aCA8IGxlbmd0aClcbiAgICAgICAgPyAoY3JlYXRlUGFkZGluZyhsZW5ndGggLSBzdHJMZW5ndGgsIGNoYXJzKSArIHN0cmluZylcbiAgICAgICAgOiBzdHJpbmc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG8gYW4gaW50ZWdlciBvZiB0aGUgc3BlY2lmaWVkIHJhZGl4LiBJZiBgcmFkaXhgIGlzXG4gICAgICogYHVuZGVmaW5lZGAgb3IgYDBgLCBhIGByYWRpeGAgb2YgYDEwYCBpcyB1c2VkIHVubGVzcyBgdmFsdWVgIGlzIGFcbiAgICAgKiBoZXhhZGVjaW1hbCwgaW4gd2hpY2ggY2FzZSBhIGByYWRpeGAgb2YgYDE2YCBpcyB1c2VkLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGFsaWducyB3aXRoIHRoZVxuICAgICAqIFtFUzUgaW1wbGVtZW50YXRpb25dKGh0dHBzOi8vZXM1LmdpdGh1Yi5pby8jeDE1LjEuMi4yKSBvZiBgcGFyc2VJbnRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDEuMS4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmcgVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbcmFkaXg9MTBdIFRoZSByYWRpeCB0byBpbnRlcnByZXQgYHZhbHVlYCBieS5cbiAgICAgKiBAcGFyYW0tIHtPYmplY3R9IFtndWFyZF0gRW5hYmxlcyB1c2UgYXMgYW4gaXRlcmF0ZWUgZm9yIG1ldGhvZHMgbGlrZSBgXy5tYXBgLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIGNvbnZlcnRlZCBpbnRlZ2VyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnBhcnNlSW50KCcwOCcpO1xuICAgICAqIC8vID0+IDhcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnNicsICcwOCcsICcxMCddLCBfLnBhcnNlSW50KTtcbiAgICAgKiAvLyA9PiBbNiwgOCwgMTBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcGFyc2VJbnQoc3RyaW5nLCByYWRpeCwgZ3VhcmQpIHtcbiAgICAgIGlmIChndWFyZCB8fCByYWRpeCA9PSBudWxsKSB7XG4gICAgICAgIHJhZGl4ID0gMDtcbiAgICAgIH0gZWxzZSBpZiAocmFkaXgpIHtcbiAgICAgICAgcmFkaXggPSArcmFkaXg7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmF0aXZlUGFyc2VJbnQodG9TdHJpbmcoc3RyaW5nKS5yZXBsYWNlKHJlVHJpbVN0YXJ0LCAnJyksIHJhZGl4IHx8IDApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGVhdHMgdGhlIGdpdmVuIHN0cmluZyBgbmAgdGltZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gcmVwZWF0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbj0xXSBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIHJlcGVhdCB0aGUgc3RyaW5nLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgcmVwZWF0ZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJlcGVhdCgnKicsIDMpO1xuICAgICAqIC8vID0+ICcqKionXG4gICAgICpcbiAgICAgKiBfLnJlcGVhdCgnYWJjJywgMik7XG4gICAgICogLy8gPT4gJ2FiY2FiYydcbiAgICAgKlxuICAgICAqIF8ucmVwZWF0KCdhYmMnLCAwKTtcbiAgICAgKiAvLyA9PiAnJ1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsIG4sIGd1YXJkKSB7XG4gICAgICBpZiAoKGd1YXJkID8gaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBuLCBndWFyZCkgOiBuID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIG4gPSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbiA9IHRvSW50ZWdlcihuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBiYXNlUmVwZWF0KHRvU3RyaW5nKHN0cmluZyksIG4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIG1hdGNoZXMgZm9yIGBwYXR0ZXJuYCBpbiBgc3RyaW5nYCB3aXRoIGByZXBsYWNlbWVudGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFN0cmluZyNyZXBsYWNlYF0oaHR0cHM6Ly9tZG4uaW8vU3RyaW5nL3JlcGxhY2UpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIG1vZGlmeS5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IHBhdHRlcm4gVGhlIHBhdHRlcm4gdG8gcmVwbGFjZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufHN0cmluZ30gcmVwbGFjZW1lbnQgVGhlIG1hdGNoIHJlcGxhY2VtZW50LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIG1vZGlmaWVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yZXBsYWNlKCdIaSBGcmVkJywgJ0ZyZWQnLCAnQmFybmV5Jyk7XG4gICAgICogLy8gPT4gJ0hpIEJhcm5leSdcbiAgICAgKi9cbiAgICBmdW5jdGlvbiByZXBsYWNlKCkge1xuICAgICAgdmFyIGFyZ3MgPSBhcmd1bWVudHMsXG4gICAgICAgICAgc3RyaW5nID0gdG9TdHJpbmcoYXJnc1swXSk7XG5cbiAgICAgIHJldHVybiBhcmdzLmxlbmd0aCA8IDMgPyBzdHJpbmcgOiBzdHJpbmcucmVwbGFjZShhcmdzWzFdLCBhcmdzWzJdKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCB0b1xuICAgICAqIFtzbmFrZSBjYXNlXShodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9TbmFrZV9jYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNuYWtlIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zbmFrZUNhc2UoJ0ZvbyBCYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vX2JhcidcbiAgICAgKlxuICAgICAqIF8uc25ha2VDYXNlKCdmb29CYXInKTtcbiAgICAgKiAvLyA9PiAnZm9vX2JhcidcbiAgICAgKlxuICAgICAqIF8uc25ha2VDYXNlKCctLUZPTy1CQVItLScpO1xuICAgICAqIC8vID0+ICdmb29fYmFyJ1xuICAgICAqL1xuICAgIHZhciBzbmFrZUNhc2UgPSBjcmVhdGVDb21wb3VuZGVyKGZ1bmN0aW9uKHJlc3VsdCwgd29yZCwgaW5kZXgpIHtcbiAgICAgIHJldHVybiByZXN1bHQgKyAoaW5kZXggPyAnXycgOiAnJykgKyB3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBTcGxpdHMgYHN0cmluZ2AgYnkgYHNlcGFyYXRvcmAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogVGhpcyBtZXRob2QgaXMgYmFzZWQgb25cbiAgICAgKiBbYFN0cmluZyNzcGxpdGBdKGh0dHBzOi8vbWRuLmlvL1N0cmluZy9zcGxpdCkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgU3RyaW5nXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtzdHJpbmc9JyddIFRoZSBzdHJpbmcgdG8gc3BsaXQuXG4gICAgICogQHBhcmFtIHtSZWdFeHB8c3RyaW5nfSBzZXBhcmF0b3IgVGhlIHNlcGFyYXRvciBwYXR0ZXJuIHRvIHNwbGl0IGJ5LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIFRoZSBsZW5ndGggdG8gdHJ1bmNhdGUgcmVzdWx0cyB0by5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHN0cmluZyBzZWdtZW50cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zcGxpdCgnYS1iLWMnLCAnLScsIDIpO1xuICAgICAqIC8vID0+IFsnYScsICdiJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzcGxpdChzdHJpbmcsIHNlcGFyYXRvciwgbGltaXQpIHtcbiAgICAgIGlmIChsaW1pdCAmJiB0eXBlb2YgbGltaXQgIT0gJ251bWJlcicgJiYgaXNJdGVyYXRlZUNhbGwoc3RyaW5nLCBzZXBhcmF0b3IsIGxpbWl0KSkge1xuICAgICAgICBzZXBhcmF0b3IgPSBsaW1pdCA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGxpbWl0ID0gbGltaXQgPT09IHVuZGVmaW5lZCA/IE1BWF9BUlJBWV9MRU5HVEggOiBsaW1pdCA+Pj4gMDtcbiAgICAgIGlmICghbGltaXQpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKFxuICAgICAgICAgICAgdHlwZW9mIHNlcGFyYXRvciA9PSAnc3RyaW5nJyB8fFxuICAgICAgICAgICAgKHNlcGFyYXRvciAhPSBudWxsICYmICFpc1JlZ0V4cChzZXBhcmF0b3IpKVxuICAgICAgICAgICkpIHtcbiAgICAgICAgc2VwYXJhdG9yID0gYmFzZVRvU3RyaW5nKHNlcGFyYXRvcik7XG4gICAgICAgIGlmICghc2VwYXJhdG9yICYmIGhhc1VuaWNvZGUoc3RyaW5nKSkge1xuICAgICAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyaW5nVG9BcnJheShzdHJpbmcpLCAwLCBsaW1pdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJpbmcuc3BsaXQoc2VwYXJhdG9yLCBsaW1pdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHN0cmluZ2AgdG9cbiAgICAgKiBbc3RhcnQgY2FzZV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGV0dGVyX2Nhc2UjU3R5bGlzdGljX29yX3NwZWNpYWxpc2VkX3VzYWdlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHN0YXJ0IGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zdGFydENhc2UoJy0tZm9vLWJhci0tJyk7XG4gICAgICogLy8gPT4gJ0ZvbyBCYXInXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ0ZvbyBCYXInXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0Q2FzZSgnX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnRk9PIEJBUidcbiAgICAgKi9cbiAgICB2YXIgc3RhcnRDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgdXBwZXJGaXJzdCh3b3JkKTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiBgc3RyaW5nYCBzdGFydHMgd2l0aCB0aGUgZ2l2ZW4gdGFyZ2V0IHN0cmluZy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbdGFyZ2V0XSBUaGUgc3RyaW5nIHRvIHNlYXJjaCBmb3IuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwb3NpdGlvbj0wXSBUaGUgcG9zaXRpb24gdG8gc2VhcmNoIGZyb20uXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBzdHJpbmdgIHN0YXJ0cyB3aXRoIGB0YXJnZXRgLFxuICAgICAqICBlbHNlIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2EnKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICpcbiAgICAgKiBfLnN0YXJ0c1dpdGgoJ2FiYycsICdiJyk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKlxuICAgICAqIF8uc3RhcnRzV2l0aCgnYWJjJywgJ2InLCAxKTtcbiAgICAgKiAvLyA9PiB0cnVlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3RhcnRzV2l0aChzdHJpbmcsIHRhcmdldCwgcG9zaXRpb24pIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICBwb3NpdGlvbiA9IHBvc2l0aW9uID09IG51bGxcbiAgICAgICAgPyAwXG4gICAgICAgIDogYmFzZUNsYW1wKHRvSW50ZWdlcihwb3NpdGlvbiksIDAsIHN0cmluZy5sZW5ndGgpO1xuXG4gICAgICB0YXJnZXQgPSBiYXNlVG9TdHJpbmcodGFyZ2V0KTtcbiAgICAgIHJldHVybiBzdHJpbmcuc2xpY2UocG9zaXRpb24sIHBvc2l0aW9uICsgdGFyZ2V0Lmxlbmd0aCkgPT0gdGFyZ2V0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbiB0aGF0IGNhbiBpbnRlcnBvbGF0ZSBkYXRhIHByb3BlcnRpZXNcbiAgICAgKiBpbiBcImludGVycG9sYXRlXCIgZGVsaW1pdGVycywgSFRNTC1lc2NhcGUgaW50ZXJwb2xhdGVkIGRhdGEgcHJvcGVydGllcyBpblxuICAgICAqIFwiZXNjYXBlXCIgZGVsaW1pdGVycywgYW5kIGV4ZWN1dGUgSmF2YVNjcmlwdCBpbiBcImV2YWx1YXRlXCIgZGVsaW1pdGVycy4gRGF0YVxuICAgICAqIHByb3BlcnRpZXMgbWF5IGJlIGFjY2Vzc2VkIGFzIGZyZWUgdmFyaWFibGVzIGluIHRoZSB0ZW1wbGF0ZS4gSWYgYSBzZXR0aW5nXG4gICAgICogb2JqZWN0IGlzIGdpdmVuLCBpdCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYF8udGVtcGxhdGVTZXR0aW5nc2AgdmFsdWVzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIEluIHRoZSBkZXZlbG9wbWVudCBidWlsZCBgXy50ZW1wbGF0ZWAgdXRpbGl6ZXNcbiAgICAgKiBbc291cmNlVVJMc10oaHR0cDovL3d3dy5odG1sNXJvY2tzLmNvbS9lbi90dXRvcmlhbHMvZGV2ZWxvcGVydG9vbHMvc291cmNlbWFwcy8jdG9jLXNvdXJjZXVybClcbiAgICAgKiBmb3IgZWFzaWVyIGRlYnVnZ2luZy5cbiAgICAgKlxuICAgICAqIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHByZWNvbXBpbGluZyB0ZW1wbGF0ZXMgc2VlXG4gICAgICogW2xvZGFzaCdzIGN1c3RvbSBidWlsZHMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9sb2Rhc2guY29tL2N1c3RvbS1idWlsZHMpLlxuICAgICAqXG4gICAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gQ2hyb21lIGV4dGVuc2lvbiBzYW5kYm94ZXMgc2VlXG4gICAgICogW0Nocm9tZSdzIGV4dGVuc2lvbnMgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9leHRlbnNpb25zL3NhbmRib3hpbmdFdmFsKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHRlbXBsYXRlIHN0cmluZy5cbiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdGlvbnM9e31dIFRoZSBvcHRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cH0gW29wdGlvbnMuZXNjYXBlPV8udGVtcGxhdGVTZXR0aW5ncy5lc2NhcGVdXG4gICAgICogIFRoZSBIVE1MIFwiZXNjYXBlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5ldmFsdWF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuZXZhbHVhdGVdXG4gICAgICogIFRoZSBcImV2YWx1YXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucy5pbXBvcnRzPV8udGVtcGxhdGVTZXR0aW5ncy5pbXBvcnRzXVxuICAgICAqICBBbiBvYmplY3QgdG8gaW1wb3J0IGludG8gdGhlIHRlbXBsYXRlIGFzIGZyZWUgdmFyaWFibGVzLlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfSBbb3B0aW9ucy5pbnRlcnBvbGF0ZT1fLnRlbXBsYXRlU2V0dGluZ3MuaW50ZXJwb2xhdGVdXG4gICAgICogIFRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5zb3VyY2VVUkw9J2xvZGFzaC50ZW1wbGF0ZVNvdXJjZXNbbl0nXVxuICAgICAqICBUaGUgc291cmNlVVJMIG9mIHRoZSBjb21waWxlZCB0ZW1wbGF0ZS5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMudmFyaWFibGU9J29iaiddXG4gICAgICogIFRoZSBkYXRhIG9iamVjdCB2YXJpYWJsZSBuYW1lLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjb21waWxlZCB0ZW1wbGF0ZSBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBcImludGVycG9sYXRlXCIgZGVsaW1pdGVyIHRvIGNyZWF0ZSBhIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hlbGxvIDwlPSB1c2VyICU+IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnZnJlZCcgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGZyZWQhJ1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBIVE1MIFwiZXNjYXBlXCIgZGVsaW1pdGVyIHRvIGVzY2FwZSBkYXRhIHByb3BlcnR5IHZhbHVlcy5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCc8Yj48JS0gdmFsdWUgJT48L2I+Jyk7XG4gICAgICogY29tcGlsZWQoeyAndmFsdWUnOiAnPHNjcmlwdD4nIH0pO1xuICAgICAqIC8vID0+ICc8Yj4mbHQ7c2NyaXB0Jmd0OzwvYj4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIFwiZXZhbHVhdGVcIiBkZWxpbWl0ZXIgdG8gZXhlY3V0ZSBKYXZhU2NyaXB0IGFuZCBnZW5lcmF0ZSBIVE1MLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlIF8uZm9yRWFjaCh1c2VycywgZnVuY3Rpb24odXNlcikgeyAlPjxsaT48JS0gdXNlciAlPjwvbGk+PCUgfSk7ICU+Jyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcnMnOiBbJ2ZyZWQnLCAnYmFybmV5J10gfSk7XG4gICAgICogLy8gPT4gJzxsaT5mcmVkPC9saT48bGk+YmFybmV5PC9saT4nXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGludGVybmFsIGBwcmludGAgZnVuY3Rpb24gaW4gXCJldmFsdWF0ZVwiIGRlbGltaXRlcnMuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnPCUgcHJpbnQoXCJoZWxsbyBcIiArIHVzZXIpOyAlPiEnKTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2VyJzogJ2Jhcm5leScgfSk7XG4gICAgICogLy8gPT4gJ2hlbGxvIGJhcm5leSEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIEVTIHRlbXBsYXRlIGxpdGVyYWwgZGVsaW1pdGVyIGFzIGFuIFwiaW50ZXJwb2xhdGVcIiBkZWxpbWl0ZXIuXG4gICAgICogLy8gRGlzYWJsZSBzdXBwb3J0IGJ5IHJlcGxhY2luZyB0aGUgXCJpbnRlcnBvbGF0ZVwiIGRlbGltaXRlci5cbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyAkeyB1c2VyIH0hJyk7XG4gICAgICogY29tcGlsZWQoeyAndXNlcic6ICdwZWJibGVzJyB9KTtcbiAgICAgKiAvLyA9PiAnaGVsbG8gcGViYmxlcyEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgYmFja3NsYXNoZXMgdG8gdHJlYXQgZGVsaW1pdGVycyBhcyBwbGFpbiB0ZXh0LlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJzwlPSBcIlxcXFw8JS0gdmFsdWUgJVxcXFw+XCIgJT4nKTtcbiAgICAgKiBjb21waWxlZCh7ICd2YWx1ZSc6ICdpZ25vcmVkJyB9KTtcbiAgICAgKiAvLyA9PiAnPCUtIHZhbHVlICU+J1xuICAgICAqXG4gICAgICogLy8gVXNlIHRoZSBgaW1wb3J0c2Agb3B0aW9uIHRvIGltcG9ydCBgalF1ZXJ5YCBhcyBganFgLlxuICAgICAqIHZhciB0ZXh0ID0gJzwlIGpxLmVhY2godXNlcnMsIGZ1bmN0aW9uKHVzZXIpIHsgJT48bGk+PCUtIHVzZXIgJT48L2xpPjwlIH0pOyAlPic7XG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSh0ZXh0LCB7ICdpbXBvcnRzJzogeyAnanEnOiBqUXVlcnkgfSB9KTtcbiAgICAgKiBjb21waWxlZCh7ICd1c2Vycyc6IFsnZnJlZCcsICdiYXJuZXknXSB9KTtcbiAgICAgKiAvLyA9PiAnPGxpPmZyZWQ8L2xpPjxsaT5iYXJuZXk8L2xpPidcbiAgICAgKlxuICAgICAqIC8vIFVzZSB0aGUgYHNvdXJjZVVSTGAgb3B0aW9uIHRvIHNwZWNpZnkgYSBjdXN0b20gc291cmNlVVJMIGZvciB0aGUgdGVtcGxhdGUuXG4gICAgICogdmFyIGNvbXBpbGVkID0gXy50ZW1wbGF0ZSgnaGVsbG8gPCU9IHVzZXIgJT4hJywgeyAnc291cmNlVVJMJzogJy9iYXNpYy9ncmVldGluZy5qc3QnIH0pO1xuICAgICAqIGNvbXBpbGVkKGRhdGEpO1xuICAgICAqIC8vID0+IEZpbmQgdGhlIHNvdXJjZSBvZiBcImdyZWV0aW5nLmpzdFwiIHVuZGVyIHRoZSBTb3VyY2VzIHRhYiBvciBSZXNvdXJjZXMgcGFuZWwgb2YgdGhlIHdlYiBpbnNwZWN0b3IuXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGB2YXJpYWJsZWAgb3B0aW9uIHRvIGVuc3VyZSBhIHdpdGgtc3RhdGVtZW50IGlzbid0IHVzZWQgaW4gdGhlIGNvbXBpbGVkIHRlbXBsYXRlLlxuICAgICAqIHZhciBjb21waWxlZCA9IF8udGVtcGxhdGUoJ2hpIDwlPSBkYXRhLnVzZXIgJT4hJywgeyAndmFyaWFibGUnOiAnZGF0YScgfSk7XG4gICAgICogY29tcGlsZWQuc291cmNlO1xuICAgICAqIC8vID0+IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgKiAvLyAgIHZhciBfX3QsIF9fcCA9ICcnO1xuICAgICAqIC8vICAgX19wICs9ICdoaSAnICsgKChfX3QgPSAoIGRhdGEudXNlciApKSA9PSBudWxsID8gJycgOiBfX3QpICsgJyEnO1xuICAgICAqIC8vICAgcmV0dXJuIF9fcDtcbiAgICAgKiAvLyB9XG4gICAgICpcbiAgICAgKiAvLyBVc2UgY3VzdG9tIHRlbXBsYXRlIGRlbGltaXRlcnMuXG4gICAgICogXy50ZW1wbGF0ZVNldHRpbmdzLmludGVycG9sYXRlID0gL3t7KFtcXHNcXFNdKz8pfX0vZztcbiAgICAgKiB2YXIgY29tcGlsZWQgPSBfLnRlbXBsYXRlKCdoZWxsbyB7eyB1c2VyIH19IScpO1xuICAgICAqIGNvbXBpbGVkKHsgJ3VzZXInOiAnbXVzdGFjaGUnIH0pO1xuICAgICAqIC8vID0+ICdoZWxsbyBtdXN0YWNoZSEnXG4gICAgICpcbiAgICAgKiAvLyBVc2UgdGhlIGBzb3VyY2VgIHByb3BlcnR5IHRvIGlubGluZSBjb21waWxlZCB0ZW1wbGF0ZXMgZm9yIG1lYW5pbmdmdWxcbiAgICAgKiAvLyBsaW5lIG51bWJlcnMgaW4gZXJyb3IgbWVzc2FnZXMgYW5kIHN0YWNrIHRyYWNlcy5cbiAgICAgKiBmcy53cml0ZUZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnanN0LmpzJyksICdcXFxuICAgICAqICAgdmFyIEpTVCA9IHtcXFxuICAgICAqICAgICBcIm1haW5cIjogJyArIF8udGVtcGxhdGUobWFpblRleHQpLnNvdXJjZSArICdcXFxuICAgICAqICAgfTtcXFxuICAgICAqICcpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRlbXBsYXRlKHN0cmluZywgb3B0aW9ucywgZ3VhcmQpIHtcbiAgICAgIC8vIEJhc2VkIG9uIEpvaG4gUmVzaWcncyBgdG1wbGAgaW1wbGVtZW50YXRpb25cbiAgICAgIC8vIChodHRwOi8vZWpvaG4ub3JnL2Jsb2cvamF2YXNjcmlwdC1taWNyby10ZW1wbGF0aW5nLylcbiAgICAgIC8vIGFuZCBMYXVyYSBEb2t0b3JvdmEncyBkb1QuanMgKGh0dHBzOi8vZ2l0aHViLmNvbS9vbGFkby9kb1QpLlxuICAgICAgdmFyIHNldHRpbmdzID0gbG9kYXNoLnRlbXBsYXRlU2V0dGluZ3M7XG5cbiAgICAgIGlmIChndWFyZCAmJiBpc0l0ZXJhdGVlQ2FsbChzdHJpbmcsIG9wdGlvbnMsIGd1YXJkKSkge1xuICAgICAgICBvcHRpb25zID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIG9wdGlvbnMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMsIHNldHRpbmdzLCBjdXN0b21EZWZhdWx0c0Fzc2lnbkluKTtcblxuICAgICAgdmFyIGltcG9ydHMgPSBhc3NpZ25JbldpdGgoe30sIG9wdGlvbnMuaW1wb3J0cywgc2V0dGluZ3MuaW1wb3J0cywgY3VzdG9tRGVmYXVsdHNBc3NpZ25JbiksXG4gICAgICAgICAgaW1wb3J0c0tleXMgPSBrZXlzKGltcG9ydHMpLFxuICAgICAgICAgIGltcG9ydHNWYWx1ZXMgPSBiYXNlVmFsdWVzKGltcG9ydHMsIGltcG9ydHNLZXlzKTtcblxuICAgICAgdmFyIGlzRXNjYXBpbmcsXG4gICAgICAgICAgaXNFdmFsdWF0aW5nLFxuICAgICAgICAgIGluZGV4ID0gMCxcbiAgICAgICAgICBpbnRlcnBvbGF0ZSA9IG9wdGlvbnMuaW50ZXJwb2xhdGUgfHwgcmVOb01hdGNoLFxuICAgICAgICAgIHNvdXJjZSA9IFwiX19wICs9ICdcIjtcblxuICAgICAgLy8gQ29tcGlsZSB0aGUgcmVnZXhwIHRvIG1hdGNoIGVhY2ggZGVsaW1pdGVyLlxuICAgICAgdmFyIHJlRGVsaW1pdGVycyA9IFJlZ0V4cChcbiAgICAgICAgKG9wdGlvbnMuZXNjYXBlIHx8IHJlTm9NYXRjaCkuc291cmNlICsgJ3wnICtcbiAgICAgICAgaW50ZXJwb2xhdGUuc291cmNlICsgJ3wnICtcbiAgICAgICAgKGludGVycG9sYXRlID09PSByZUludGVycG9sYXRlID8gcmVFc1RlbXBsYXRlIDogcmVOb01hdGNoKS5zb3VyY2UgKyAnfCcgK1xuICAgICAgICAob3B0aW9ucy5ldmFsdWF0ZSB8fCByZU5vTWF0Y2gpLnNvdXJjZSArICd8JCdcbiAgICAgICwgJ2cnKTtcblxuICAgICAgLy8gVXNlIGEgc291cmNlVVJMIGZvciBlYXNpZXIgZGVidWdnaW5nLlxuICAgICAgLy8gVGhlIHNvdXJjZVVSTCBnZXRzIGluamVjdGVkIGludG8gdGhlIHNvdXJjZSB0aGF0J3MgZXZhbC1lZCwgc28gYmUgY2FyZWZ1bFxuICAgICAgLy8gd2l0aCBsb29rdXAgKGluIGNhc2Ugb2YgZS5nLiBwcm90b3R5cGUgcG9sbHV0aW9uKSwgYW5kIHN0cmlwIG5ld2xpbmVzIGlmIGFueS5cbiAgICAgIC8vIEEgbmV3bGluZSB3b3VsZG4ndCBiZSBhIHZhbGlkIHNvdXJjZVVSTCBhbnl3YXksIGFuZCBpdCdkIGVuYWJsZSBjb2RlIGluamVjdGlvbi5cbiAgICAgIHZhciBzb3VyY2VVUkwgPSAnLy8jIHNvdXJjZVVSTD0nICtcbiAgICAgICAgKGhhc093blByb3BlcnR5LmNhbGwob3B0aW9ucywgJ3NvdXJjZVVSTCcpXG4gICAgICAgICAgPyAob3B0aW9ucy5zb3VyY2VVUkwgKyAnJykucmVwbGFjZSgvW1xcclxcbl0vZywgJyAnKVxuICAgICAgICAgIDogKCdsb2Rhc2gudGVtcGxhdGVTb3VyY2VzWycgKyAoKyt0ZW1wbGF0ZUNvdW50ZXIpICsgJ10nKVxuICAgICAgICApICsgJ1xcbic7XG5cbiAgICAgIHN0cmluZy5yZXBsYWNlKHJlRGVsaW1pdGVycywgZnVuY3Rpb24obWF0Y2gsIGVzY2FwZVZhbHVlLCBpbnRlcnBvbGF0ZVZhbHVlLCBlc1RlbXBsYXRlVmFsdWUsIGV2YWx1YXRlVmFsdWUsIG9mZnNldCkge1xuICAgICAgICBpbnRlcnBvbGF0ZVZhbHVlIHx8IChpbnRlcnBvbGF0ZVZhbHVlID0gZXNUZW1wbGF0ZVZhbHVlKTtcblxuICAgICAgICAvLyBFc2NhcGUgY2hhcmFjdGVycyB0aGF0IGNhbid0IGJlIGluY2x1ZGVkIGluIHN0cmluZyBsaXRlcmFscy5cbiAgICAgICAgc291cmNlICs9IHN0cmluZy5zbGljZShpbmRleCwgb2Zmc2V0KS5yZXBsYWNlKHJlVW5lc2NhcGVkU3RyaW5nLCBlc2NhcGVTdHJpbmdDaGFyKTtcblxuICAgICAgICAvLyBSZXBsYWNlIGRlbGltaXRlcnMgd2l0aCBzbmlwcGV0cy5cbiAgICAgICAgaWYgKGVzY2FwZVZhbHVlKSB7XG4gICAgICAgICAgaXNFc2NhcGluZyA9IHRydWU7XG4gICAgICAgICAgc291cmNlICs9IFwiJyArXFxuX19lKFwiICsgZXNjYXBlVmFsdWUgKyBcIikgK1xcbidcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZhbHVhdGVWYWx1ZSkge1xuICAgICAgICAgIGlzRXZhbHVhdGluZyA9IHRydWU7XG4gICAgICAgICAgc291cmNlICs9IFwiJztcXG5cIiArIGV2YWx1YXRlVmFsdWUgKyBcIjtcXG5fX3AgKz0gJ1wiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnRlcnBvbGF0ZVZhbHVlKSB7XG4gICAgICAgICAgc291cmNlICs9IFwiJyArXFxuKChfX3QgPSAoXCIgKyBpbnRlcnBvbGF0ZVZhbHVlICsgXCIpKSA9PSBudWxsID8gJycgOiBfX3QpICtcXG4nXCI7XG4gICAgICAgIH1cbiAgICAgICAgaW5kZXggPSBvZmZzZXQgKyBtYXRjaC5sZW5ndGg7XG5cbiAgICAgICAgLy8gVGhlIEpTIGVuZ2luZSBlbWJlZGRlZCBpbiBBZG9iZSBwcm9kdWN0cyBuZWVkcyBgbWF0Y2hgIHJldHVybmVkIGluXG4gICAgICAgIC8vIG9yZGVyIHRvIHByb2R1Y2UgdGhlIGNvcnJlY3QgYG9mZnNldGAgdmFsdWUuXG4gICAgICAgIHJldHVybiBtYXRjaDtcbiAgICAgIH0pO1xuXG4gICAgICBzb3VyY2UgKz0gXCInO1xcblwiO1xuXG4gICAgICAvLyBJZiBgdmFyaWFibGVgIGlzIG5vdCBzcGVjaWZpZWQgd3JhcCBhIHdpdGgtc3RhdGVtZW50IGFyb3VuZCB0aGUgZ2VuZXJhdGVkXG4gICAgICAvLyBjb2RlIHRvIGFkZCB0aGUgZGF0YSBvYmplY3QgdG8gdGhlIHRvcCBvZiB0aGUgc2NvcGUgY2hhaW4uXG4gICAgICAvLyBMaWtlIHdpdGggc291cmNlVVJMLCB3ZSB0YWtlIGNhcmUgdG8gbm90IGNoZWNrIHRoZSBvcHRpb24ncyBwcm90b3R5cGUsXG4gICAgICAvLyBhcyB0aGlzIGNvbmZpZ3VyYXRpb24gaXMgYSBjb2RlIGluamVjdGlvbiB2ZWN0b3IuXG4gICAgICB2YXIgdmFyaWFibGUgPSBoYXNPd25Qcm9wZXJ0eS5jYWxsKG9wdGlvbnMsICd2YXJpYWJsZScpICYmIG9wdGlvbnMudmFyaWFibGU7XG4gICAgICBpZiAoIXZhcmlhYmxlKSB7XG4gICAgICAgIHNvdXJjZSA9ICd3aXRoIChvYmopIHtcXG4nICsgc291cmNlICsgJ1xcbn1cXG4nO1xuICAgICAgfVxuICAgICAgLy8gQ2xlYW51cCBjb2RlIGJ5IHN0cmlwcGluZyBlbXB0eSBzdHJpbmdzLlxuICAgICAgc291cmNlID0gKGlzRXZhbHVhdGluZyA/IHNvdXJjZS5yZXBsYWNlKHJlRW1wdHlTdHJpbmdMZWFkaW5nLCAnJykgOiBzb3VyY2UpXG4gICAgICAgIC5yZXBsYWNlKHJlRW1wdHlTdHJpbmdNaWRkbGUsICckMScpXG4gICAgICAgIC5yZXBsYWNlKHJlRW1wdHlTdHJpbmdUcmFpbGluZywgJyQxOycpO1xuXG4gICAgICAvLyBGcmFtZSBjb2RlIGFzIHRoZSBmdW5jdGlvbiBib2R5LlxuICAgICAgc291cmNlID0gJ2Z1bmN0aW9uKCcgKyAodmFyaWFibGUgfHwgJ29iaicpICsgJykge1xcbicgK1xuICAgICAgICAodmFyaWFibGVcbiAgICAgICAgICA/ICcnXG4gICAgICAgICAgOiAnb2JqIHx8IChvYmogPSB7fSk7XFxuJ1xuICAgICAgICApICtcbiAgICAgICAgXCJ2YXIgX190LCBfX3AgPSAnJ1wiICtcbiAgICAgICAgKGlzRXNjYXBpbmdcbiAgICAgICAgICAgPyAnLCBfX2UgPSBfLmVzY2FwZSdcbiAgICAgICAgICAgOiAnJ1xuICAgICAgICApICtcbiAgICAgICAgKGlzRXZhbHVhdGluZ1xuICAgICAgICAgID8gJywgX19qID0gQXJyYXkucHJvdG90eXBlLmpvaW47XFxuJyArXG4gICAgICAgICAgICBcImZ1bmN0aW9uIHByaW50KCkgeyBfX3AgKz0gX19qLmNhbGwoYXJndW1lbnRzLCAnJykgfVxcblwiXG4gICAgICAgICAgOiAnO1xcbidcbiAgICAgICAgKSArXG4gICAgICAgIHNvdXJjZSArXG4gICAgICAgICdyZXR1cm4gX19wXFxufSc7XG5cbiAgICAgIHZhciByZXN1bHQgPSBhdHRlbXB0KGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRnVuY3Rpb24oaW1wb3J0c0tleXMsIHNvdXJjZVVSTCArICdyZXR1cm4gJyArIHNvdXJjZSlcbiAgICAgICAgICAuYXBwbHkodW5kZWZpbmVkLCBpbXBvcnRzVmFsdWVzKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBQcm92aWRlIHRoZSBjb21waWxlZCBmdW5jdGlvbidzIHNvdXJjZSBieSBpdHMgYHRvU3RyaW5nYCBtZXRob2Qgb3JcbiAgICAgIC8vIHRoZSBgc291cmNlYCBwcm9wZXJ0eSBhcyBhIGNvbnZlbmllbmNlIGZvciBpbmxpbmluZyBjb21waWxlZCB0ZW1wbGF0ZXMuXG4gICAgICByZXN1bHQuc291cmNlID0gc291cmNlO1xuICAgICAgaWYgKGlzRXJyb3IocmVzdWx0KSkge1xuICAgICAgICB0aHJvdyByZXN1bHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBzdHJpbmdgLCBhcyBhIHdob2xlLCB0byBsb3dlciBjYXNlIGp1c3QgbGlrZVxuICAgICAqIFtTdHJpbmcjdG9Mb3dlckNhc2VdKGh0dHBzOi8vbWRuLmlvL3RvTG93ZXJDYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIGxvd2VyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b0xvd2VyKCctLUZvby1CYXItLScpO1xuICAgICAqIC8vID0+ICctLWZvby1iYXItLSdcbiAgICAgKlxuICAgICAqIF8udG9Mb3dlcignZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ2Zvb2JhcidcbiAgICAgKlxuICAgICAqIF8udG9Mb3dlcignX19GT09fQkFSX18nKTtcbiAgICAgKiAvLyA9PiAnX19mb29fYmFyX18nXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9Mb3dlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRvU3RyaW5nKHZhbHVlKS50b0xvd2VyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbnZlcnRzIGBzdHJpbmdgLCBhcyBhIHdob2xlLCB0byB1cHBlciBjYXNlIGp1c3QgbGlrZVxuICAgICAqIFtTdHJpbmcjdG9VcHBlckNhc2VdKGh0dHBzOi8vbWRuLmlvL3RvVXBwZXJDYXNlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBjb252ZXJ0LlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHVwcGVyIGNhc2VkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b1VwcGVyKCctLWZvby1iYXItLScpO1xuICAgICAqIC8vID0+ICctLUZPTy1CQVItLSdcbiAgICAgKlxuICAgICAqIF8udG9VcHBlcignZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ0ZPT0JBUidcbiAgICAgKlxuICAgICAqIF8udG9VcHBlcignX19mb29fYmFyX18nKTtcbiAgICAgKiAvLyA9PiAnX19GT09fQkFSX18nXG4gICAgICovXG4gICAgZnVuY3Rpb24gdG9VcHBlcih2YWx1ZSkge1xuICAgICAgcmV0dXJuIHRvU3RyaW5nKHZhbHVlKS50b1VwcGVyQ2FzZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgbGVhZGluZyBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBvciBzcGVjaWZpZWQgY2hhcmFjdGVycyBmcm9tIGBzdHJpbmdgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHRyaW0uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz13aGl0ZXNwYWNlXSBUaGUgY2hhcmFjdGVycyB0byB0cmltLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdHJpbW1lZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udHJpbSgnICBhYmMgICcpO1xuICAgICAqIC8vID0+ICdhYmMnXG4gICAgICpcbiAgICAgKiBfLnRyaW0oJy1fLWFiYy1fLScsICdfLScpO1xuICAgICAqIC8vID0+ICdhYmMnXG4gICAgICpcbiAgICAgKiBfLm1hcChbJyAgZm9vICAnLCAnICBiYXIgICddLCBfLnRyaW0pO1xuICAgICAqIC8vID0+IFsnZm9vJywgJ2JhciddXG4gICAgICovXG4gICAgZnVuY3Rpb24gdHJpbShzdHJpbmcsIGNoYXJzLCBndWFyZCkge1xuICAgICAgc3RyaW5nID0gdG9TdHJpbmcoc3RyaW5nKTtcbiAgICAgIGlmIChzdHJpbmcgJiYgKGd1YXJkIHx8IGNoYXJzID09PSB1bmRlZmluZWQpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmcucmVwbGFjZShyZVRyaW0sICcnKTtcbiAgICAgIH1cbiAgICAgIGlmICghc3RyaW5nIHx8ICEoY2hhcnMgPSBiYXNlVG9TdHJpbmcoY2hhcnMpKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgICAgfVxuICAgICAgdmFyIHN0clN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KHN0cmluZyksXG4gICAgICAgICAgY2hyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoY2hhcnMpLFxuICAgICAgICAgIHN0YXJ0ID0gY2hhcnNTdGFydEluZGV4KHN0clN5bWJvbHMsIGNoclN5bWJvbHMpLFxuICAgICAgICAgIGVuZCA9IGNoYXJzRW5kSW5kZXgoc3RyU3ltYm9scywgY2hyU3ltYm9scykgKyAxO1xuXG4gICAgICByZXR1cm4gY2FzdFNsaWNlKHN0clN5bWJvbHMsIHN0YXJ0LCBlbmQpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgdHJhaWxpbmcgd2hpdGVzcGFjZSBvciBzcGVjaWZpZWQgY2hhcmFjdGVycyBmcm9tIGBzdHJpbmdgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHRyaW0uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz13aGl0ZXNwYWNlXSBUaGUgY2hhcmFjdGVycyB0byB0cmltLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdHJpbW1lZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udHJpbUVuZCgnICBhYmMgICcpO1xuICAgICAqIC8vID0+ICcgIGFiYydcbiAgICAgKlxuICAgICAqIF8udHJpbUVuZCgnLV8tYWJjLV8tJywgJ18tJyk7XG4gICAgICogLy8gPT4gJy1fLWFiYydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB0cmltRW5kKHN0cmluZywgY2hhcnMsIGd1YXJkKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgaWYgKHN0cmluZyAmJiAoZ3VhcmQgfHwgY2hhcnMgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKHJlVHJpbUVuZCwgJycpO1xuICAgICAgfVxuICAgICAgaWYgKCFzdHJpbmcgfHwgIShjaGFycyA9IGJhc2VUb1N0cmluZyhjaGFycykpKSB7XG4gICAgICAgIHJldHVybiBzdHJpbmc7XG4gICAgICB9XG4gICAgICB2YXIgc3RyU3ltYm9scyA9IHN0cmluZ1RvQXJyYXkoc3RyaW5nKSxcbiAgICAgICAgICBlbmQgPSBjaGFyc0VuZEluZGV4KHN0clN5bWJvbHMsIHN0cmluZ1RvQXJyYXkoY2hhcnMpKSArIDE7XG5cbiAgICAgIHJldHVybiBjYXN0U2xpY2Uoc3RyU3ltYm9scywgMCwgZW5kKS5qb2luKCcnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGxlYWRpbmcgd2hpdGVzcGFjZSBvciBzcGVjaWZpZWQgY2hhcmFjdGVycyBmcm9tIGBzdHJpbmdgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHRyaW0uXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtjaGFycz13aGl0ZXNwYWNlXSBUaGUgY2hhcmFjdGVycyB0byB0cmltLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdHJpbW1lZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udHJpbVN0YXJ0KCcgIGFiYyAgJyk7XG4gICAgICogLy8gPT4gJ2FiYyAgJ1xuICAgICAqXG4gICAgICogXy50cmltU3RhcnQoJy1fLWFiYy1fLScsICdfLScpO1xuICAgICAqIC8vID0+ICdhYmMtXy0nXG4gICAgICovXG4gICAgZnVuY3Rpb24gdHJpbVN0YXJ0KHN0cmluZywgY2hhcnMsIGd1YXJkKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgaWYgKHN0cmluZyAmJiAoZ3VhcmQgfHwgY2hhcnMgPT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZy5yZXBsYWNlKHJlVHJpbVN0YXJ0LCAnJyk7XG4gICAgICB9XG4gICAgICBpZiAoIXN0cmluZyB8fCAhKGNoYXJzID0gYmFzZVRvU3RyaW5nKGNoYXJzKSkpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH1cbiAgICAgIHZhciBzdHJTeW1ib2xzID0gc3RyaW5nVG9BcnJheShzdHJpbmcpLFxuICAgICAgICAgIHN0YXJ0ID0gY2hhcnNTdGFydEluZGV4KHN0clN5bWJvbHMsIHN0cmluZ1RvQXJyYXkoY2hhcnMpKTtcblxuICAgICAgcmV0dXJuIGNhc3RTbGljZShzdHJTeW1ib2xzLCBzdGFydCkuam9pbignJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJ1bmNhdGVzIGBzdHJpbmdgIGlmIGl0J3MgbG9uZ2VyIHRoYW4gdGhlIGdpdmVuIG1heGltdW0gc3RyaW5nIGxlbmd0aC5cbiAgICAgKiBUaGUgbGFzdCBjaGFyYWN0ZXJzIG9mIHRoZSB0cnVuY2F0ZWQgc3RyaW5nIGFyZSByZXBsYWNlZCB3aXRoIHRoZSBvbWlzc2lvblxuICAgICAqIHN0cmluZyB3aGljaCBkZWZhdWx0cyB0byBcIi4uLlwiLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHRydW5jYXRlLlxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBbb3B0aW9ucz17fV0gVGhlIG9wdGlvbnMgb2JqZWN0LlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5sZW5ndGg9MzBdIFRoZSBtYXhpbXVtIHN0cmluZyBsZW5ndGguXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLm9taXNzaW9uPScuLi4nXSBUaGUgc3RyaW5nIHRvIGluZGljYXRlIHRleHQgaXMgb21pdHRlZC5cbiAgICAgKiBAcGFyYW0ge1JlZ0V4cHxzdHJpbmd9IFtvcHRpb25zLnNlcGFyYXRvcl0gVGhlIHNlcGFyYXRvciBwYXR0ZXJuIHRvIHRydW5jYXRlIHRvLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHRydW5jYXRlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udHJ1bmNhdGUoJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hib3Jpbm8nKTtcbiAgICAgKiAvLyA9PiAnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnaGJvLi4uJ1xuICAgICAqXG4gICAgICogXy50cnVuY2F0ZSgnaGktZGlkZGx5LWhvIHRoZXJlLCBuZWlnaGJvcmlubycsIHtcbiAgICAgKiAgICdsZW5ndGgnOiAyNCxcbiAgICAgKiAgICdzZXBhcmF0b3InOiAnICdcbiAgICAgKiB9KTtcbiAgICAgKiAvLyA9PiAnaGktZGlkZGx5LWhvIHRoZXJlLC4uLidcbiAgICAgKlxuICAgICAqIF8udHJ1bmNhdGUoJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hib3Jpbm8nLCB7XG4gICAgICogICAnbGVuZ3RoJzogMjQsXG4gICAgICogICAnc2VwYXJhdG9yJzogLyw/ICsvXG4gICAgICogfSk7XG4gICAgICogLy8gPT4gJ2hpLWRpZGRseS1obyB0aGVyZS4uLidcbiAgICAgKlxuICAgICAqIF8udHJ1bmNhdGUoJ2hpLWRpZGRseS1obyB0aGVyZSwgbmVpZ2hib3Jpbm8nLCB7XG4gICAgICogICAnb21pc3Npb24nOiAnIFsuLi5dJ1xuICAgICAqIH0pO1xuICAgICAqIC8vID0+ICdoaS1kaWRkbHktaG8gdGhlcmUsIG5laWcgWy4uLl0nXG4gICAgICovXG4gICAgZnVuY3Rpb24gdHJ1bmNhdGUoc3RyaW5nLCBvcHRpb25zKSB7XG4gICAgICB2YXIgbGVuZ3RoID0gREVGQVVMVF9UUlVOQ19MRU5HVEgsXG4gICAgICAgICAgb21pc3Npb24gPSBERUZBVUxUX1RSVU5DX09NSVNTSU9OO1xuXG4gICAgICBpZiAoaXNPYmplY3Qob3B0aW9ucykpIHtcbiAgICAgICAgdmFyIHNlcGFyYXRvciA9ICdzZXBhcmF0b3InIGluIG9wdGlvbnMgPyBvcHRpb25zLnNlcGFyYXRvciA6IHNlcGFyYXRvcjtcbiAgICAgICAgbGVuZ3RoID0gJ2xlbmd0aCcgaW4gb3B0aW9ucyA/IHRvSW50ZWdlcihvcHRpb25zLmxlbmd0aCkgOiBsZW5ndGg7XG4gICAgICAgIG9taXNzaW9uID0gJ29taXNzaW9uJyBpbiBvcHRpb25zID8gYmFzZVRvU3RyaW5nKG9wdGlvbnMub21pc3Npb24pIDogb21pc3Npb247XG4gICAgICB9XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuXG4gICAgICB2YXIgc3RyTGVuZ3RoID0gc3RyaW5nLmxlbmd0aDtcbiAgICAgIGlmIChoYXNVbmljb2RlKHN0cmluZykpIHtcbiAgICAgICAgdmFyIHN0clN5bWJvbHMgPSBzdHJpbmdUb0FycmF5KHN0cmluZyk7XG4gICAgICAgIHN0ckxlbmd0aCA9IHN0clN5bWJvbHMubGVuZ3RoO1xuICAgICAgfVxuICAgICAgaWYgKGxlbmd0aCA+PSBzdHJMZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHN0cmluZztcbiAgICAgIH1cbiAgICAgIHZhciBlbmQgPSBsZW5ndGggLSBzdHJpbmdTaXplKG9taXNzaW9uKTtcbiAgICAgIGlmIChlbmQgPCAxKSB7XG4gICAgICAgIHJldHVybiBvbWlzc2lvbjtcbiAgICAgIH1cbiAgICAgIHZhciByZXN1bHQgPSBzdHJTeW1ib2xzXG4gICAgICAgID8gY2FzdFNsaWNlKHN0clN5bWJvbHMsIDAsIGVuZCkuam9pbignJylcbiAgICAgICAgOiBzdHJpbmcuc2xpY2UoMCwgZW5kKTtcblxuICAgICAgaWYgKHNlcGFyYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQgKyBvbWlzc2lvbjtcbiAgICAgIH1cbiAgICAgIGlmIChzdHJTeW1ib2xzKSB7XG4gICAgICAgIGVuZCArPSAocmVzdWx0Lmxlbmd0aCAtIGVuZCk7XG4gICAgICB9XG4gICAgICBpZiAoaXNSZWdFeHAoc2VwYXJhdG9yKSkge1xuICAgICAgICBpZiAoc3RyaW5nLnNsaWNlKGVuZCkuc2VhcmNoKHNlcGFyYXRvcikpIHtcbiAgICAgICAgICB2YXIgbWF0Y2gsXG4gICAgICAgICAgICAgIHN1YnN0cmluZyA9IHJlc3VsdDtcblxuICAgICAgICAgIGlmICghc2VwYXJhdG9yLmdsb2JhbCkge1xuICAgICAgICAgICAgc2VwYXJhdG9yID0gUmVnRXhwKHNlcGFyYXRvci5zb3VyY2UsIHRvU3RyaW5nKHJlRmxhZ3MuZXhlYyhzZXBhcmF0b3IpKSArICdnJyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNlcGFyYXRvci5sYXN0SW5kZXggPSAwO1xuICAgICAgICAgIHdoaWxlICgobWF0Y2ggPSBzZXBhcmF0b3IuZXhlYyhzdWJzdHJpbmcpKSkge1xuICAgICAgICAgICAgdmFyIG5ld0VuZCA9IG1hdGNoLmluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuc2xpY2UoMCwgbmV3RW5kID09PSB1bmRlZmluZWQgPyBlbmQgOiBuZXdFbmQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0cmluZy5pbmRleE9mKGJhc2VUb1N0cmluZyhzZXBhcmF0b3IpLCBlbmQpICE9IGVuZCkge1xuICAgICAgICB2YXIgaW5kZXggPSByZXN1bHQubGFzdEluZGV4T2Yoc2VwYXJhdG9yKTtcbiAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHQuc2xpY2UoMCwgaW5kZXgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0ICsgb21pc3Npb247XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGludmVyc2Ugb2YgYF8uZXNjYXBlYDsgdGhpcyBtZXRob2QgY29udmVydHMgdGhlIEhUTUwgZW50aXRpZXNcbiAgICAgKiBgJmFtcDtgLCBgJmx0O2AsIGAmZ3Q7YCwgYCZxdW90O2AsIGFuZCBgJiMzOTtgIGluIGBzdHJpbmdgIHRvXG4gICAgICogdGhlaXIgY29ycmVzcG9uZGluZyBjaGFyYWN0ZXJzLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIE5vIG90aGVyIEhUTUwgZW50aXRpZXMgYXJlIHVuZXNjYXBlZC4gVG8gdW5lc2NhcGUgYWRkaXRpb25hbFxuICAgICAqIEhUTUwgZW50aXRpZXMgdXNlIGEgdGhpcmQtcGFydHkgbGlicmFyeSBsaWtlIFtfaGVfXShodHRwczovL210aHMuYmUvaGUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDAuNi4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIHVuZXNjYXBlLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHVuZXNjYXBlZCBzdHJpbmcuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udW5lc2NhcGUoJ2ZyZWQsIGJhcm5leSwgJmFtcDsgcGViYmxlcycpO1xuICAgICAqIC8vID0+ICdmcmVkLCBiYXJuZXksICYgcGViYmxlcydcbiAgICAgKi9cbiAgICBmdW5jdGlvbiB1bmVzY2FwZShzdHJpbmcpIHtcbiAgICAgIHN0cmluZyA9IHRvU3RyaW5nKHN0cmluZyk7XG4gICAgICByZXR1cm4gKHN0cmluZyAmJiByZUhhc0VzY2FwZWRIdG1sLnRlc3Qoc3RyaW5nKSlcbiAgICAgICAgPyBzdHJpbmcucmVwbGFjZShyZUVzY2FwZWRIdG1sLCB1bmVzY2FwZUh0bWxDaGFyKVxuICAgICAgICA6IHN0cmluZztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0cyBgc3RyaW5nYCwgYXMgc3BhY2Ugc2VwYXJhdGVkIHdvcmRzLCB0byB1cHBlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdXBwZXIgY2FzZWQgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVwcGVyQ2FzZSgnLS1mb28tYmFyJyk7XG4gICAgICogLy8gPT4gJ0ZPTyBCQVInXG4gICAgICpcbiAgICAgKiBfLnVwcGVyQ2FzZSgnZm9vQmFyJyk7XG4gICAgICogLy8gPT4gJ0ZPTyBCQVInXG4gICAgICpcbiAgICAgKiBfLnVwcGVyQ2FzZSgnX19mb29fYmFyX18nKTtcbiAgICAgKiAvLyA9PiAnRk9PIEJBUidcbiAgICAgKi9cbiAgICB2YXIgdXBwZXJDYXNlID0gY3JlYXRlQ29tcG91bmRlcihmdW5jdGlvbihyZXN1bHQsIHdvcmQsIGluZGV4KSB7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgKGluZGV4ID8gJyAnIDogJycpICsgd29yZC50b1VwcGVyQ2FzZSgpO1xuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBgc3RyaW5nYCB0byB1cHBlciBjYXNlLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFN0cmluZ1xuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbc3RyaW5nPScnXSBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgY29udmVydGVkIHN0cmluZy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy51cHBlckZpcnN0KCdmcmVkJyk7XG4gICAgICogLy8gPT4gJ0ZyZWQnXG4gICAgICpcbiAgICAgKiBfLnVwcGVyRmlyc3QoJ0ZSRUQnKTtcbiAgICAgKiAvLyA9PiAnRlJFRCdcbiAgICAgKi9cbiAgICB2YXIgdXBwZXJGaXJzdCA9IGNyZWF0ZUNhc2VGaXJzdCgndG9VcHBlckNhc2UnKTtcblxuICAgIC8qKlxuICAgICAqIFNwbGl0cyBgc3RyaW5nYCBpbnRvIGFuIGFycmF5IG9mIGl0cyB3b3Jkcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBTdHJpbmdcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW3N0cmluZz0nJ10gVGhlIHN0cmluZyB0byBpbnNwZWN0LlxuICAgICAqIEBwYXJhbSB7UmVnRXhwfHN0cmluZ30gW3BhdHRlcm5dIFRoZSBwYXR0ZXJuIHRvIG1hdGNoIHdvcmRzLlxuICAgICAqIEBwYXJhbS0ge09iamVjdH0gW2d1YXJkXSBFbmFibGVzIHVzZSBhcyBhbiBpdGVyYXRlZSBmb3IgbWV0aG9kcyBsaWtlIGBfLm1hcGAuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSB3b3JkcyBvZiBgc3RyaW5nYC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy53b3JkcygnZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnKTtcbiAgICAgKiAvLyA9PiBbJ2ZyZWQnLCAnYmFybmV5JywgJ3BlYmJsZXMnXVxuICAgICAqXG4gICAgICogXy53b3JkcygnZnJlZCwgYmFybmV5LCAmIHBlYmJsZXMnLCAvW14sIF0rL2cpO1xuICAgICAqIC8vID0+IFsnZnJlZCcsICdiYXJuZXknLCAnJicsICdwZWJibGVzJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiB3b3JkcyhzdHJpbmcsIHBhdHRlcm4sIGd1YXJkKSB7XG4gICAgICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuICAgICAgcGF0dGVybiA9IGd1YXJkID8gdW5kZWZpbmVkIDogcGF0dGVybjtcblxuICAgICAgaWYgKHBhdHRlcm4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gaGFzVW5pY29kZVdvcmQoc3RyaW5nKSA/IHVuaWNvZGVXb3JkcyhzdHJpbmcpIDogYXNjaWlXb3JkcyhzdHJpbmcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cmluZy5tYXRjaChwYXR0ZXJuKSB8fCBbXTtcbiAgICB9XG5cbiAgICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgICAvKipcbiAgICAgKiBBdHRlbXB0cyB0byBpbnZva2UgYGZ1bmNgLCByZXR1cm5pbmcgZWl0aGVyIHRoZSByZXN1bHQgb3IgdGhlIGNhdWdodCBlcnJvclxuICAgICAqIG9iamVjdC4gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwcm92aWRlZCB0byBgZnVuY2Agd2hlbiBpdCdzIGludm9rZWQuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGF0dGVtcHQuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgYGZ1bmNgIHdpdGguXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGBmdW5jYCByZXN1bHQgb3IgZXJyb3Igb2JqZWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiAvLyBBdm9pZCB0aHJvd2luZyBlcnJvcnMgZm9yIGludmFsaWQgc2VsZWN0b3JzLlxuICAgICAqIHZhciBlbGVtZW50cyA9IF8uYXR0ZW1wdChmdW5jdGlvbihzZWxlY3Rvcikge1xuICAgICAqICAgcmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpO1xuICAgICAqIH0sICc+Xz4nKTtcbiAgICAgKlxuICAgICAqIGlmIChfLmlzRXJyb3IoZWxlbWVudHMpKSB7XG4gICAgICogICBlbGVtZW50cyA9IFtdO1xuICAgICAqIH1cbiAgICAgKi9cbiAgICB2YXIgYXR0ZW1wdCA9IGJhc2VSZXN0KGZ1bmN0aW9uKGZ1bmMsIGFyZ3MpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhcHBseShmdW5jLCB1bmRlZmluZWQsIGFyZ3MpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gaXNFcnJvcihlKSA/IGUgOiBuZXcgRXJyb3IoZSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBCaW5kcyBtZXRob2RzIG9mIGFuIG9iamVjdCB0byB0aGUgb2JqZWN0IGl0c2VsZiwgb3ZlcndyaXRpbmcgdGhlIGV4aXN0aW5nXG4gICAgICogbWV0aG9kLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoaXMgbWV0aG9kIGRvZXNuJ3Qgc2V0IHRoZSBcImxlbmd0aFwiIHByb3BlcnR5IG9mIGJvdW5kIGZ1bmN0aW9ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIGJpbmQgYW5kIGFzc2lnbiB0aGUgYm91bmQgbWV0aG9kcyB0by5cbiAgICAgKiBAcGFyYW0gey4uLihzdHJpbmd8c3RyaW5nW10pfSBtZXRob2ROYW1lcyBUaGUgb2JqZWN0IG1ldGhvZCBuYW1lcyB0byBiaW5kLlxuICAgICAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgYG9iamVjdGAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciB2aWV3ID0ge1xuICAgICAqICAgJ2xhYmVsJzogJ2RvY3MnLFxuICAgICAqICAgJ2NsaWNrJzogZnVuY3Rpb24oKSB7XG4gICAgICogICAgIGNvbnNvbGUubG9nKCdjbGlja2VkICcgKyB0aGlzLmxhYmVsKTtcbiAgICAgKiAgIH1cbiAgICAgKiB9O1xuICAgICAqXG4gICAgICogXy5iaW5kQWxsKHZpZXcsIFsnY2xpY2snXSk7XG4gICAgICogalF1ZXJ5KGVsZW1lbnQpLm9uKCdjbGljaycsIHZpZXcuY2xpY2spO1xuICAgICAqIC8vID0+IExvZ3MgJ2NsaWNrZWQgZG9jcycgd2hlbiBjbGlja2VkLlxuICAgICAqL1xuICAgIHZhciBiaW5kQWxsID0gZmxhdFJlc3QoZnVuY3Rpb24ob2JqZWN0LCBtZXRob2ROYW1lcykge1xuICAgICAgYXJyYXlFYWNoKG1ldGhvZE5hbWVzLCBmdW5jdGlvbihrZXkpIHtcbiAgICAgICAga2V5ID0gdG9LZXkoa2V5KTtcbiAgICAgICAgYmFzZUFzc2lnblZhbHVlKG9iamVjdCwga2V5LCBiaW5kKG9iamVjdFtrZXldLCBvYmplY3QpKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGl0ZXJhdGVzIG92ZXIgYHBhaXJzYCBhbmQgaW52b2tlcyB0aGUgY29ycmVzcG9uZGluZ1xuICAgICAqIGZ1bmN0aW9uIG9mIHRoZSBmaXJzdCBwcmVkaWNhdGUgdG8gcmV0dXJuIHRydXRoeS4gVGhlIHByZWRpY2F0ZS1mdW5jdGlvblxuICAgICAqIHBhaXJzIGFyZSBpbnZva2VkIHdpdGggdGhlIGB0aGlzYCBiaW5kaW5nIGFuZCBhcmd1bWVudHMgb2YgdGhlIGNyZWF0ZWRcbiAgICAgKiBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtBcnJheX0gcGFpcnMgVGhlIHByZWRpY2F0ZS1mdW5jdGlvbiBwYWlycy5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb21wb3NpdGUgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5jb25kKFtcbiAgICAgKiAgIFtfLm1hdGNoZXMoeyAnYSc6IDEgfSksICAgICAgICAgICBfLmNvbnN0YW50KCdtYXRjaGVzIEEnKV0sXG4gICAgICogICBbXy5jb25mb3Jtcyh7ICdiJzogXy5pc051bWJlciB9KSwgXy5jb25zdGFudCgnbWF0Y2hlcyBCJyldLFxuICAgICAqICAgW18uc3R1YlRydWUsICAgICAgICAgICAgICAgICAgICAgIF8uY29uc3RhbnQoJ25vIG1hdGNoJyldXG4gICAgICogXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKHsgJ2EnOiAxLCAnYic6IDIgfSk7XG4gICAgICogLy8gPT4gJ21hdGNoZXMgQSdcbiAgICAgKlxuICAgICAqIGZ1bmMoeyAnYSc6IDAsICdiJzogMSB9KTtcbiAgICAgKiAvLyA9PiAnbWF0Y2hlcyBCJ1xuICAgICAqXG4gICAgICogZnVuYyh7ICdhJzogJzEnLCAnYic6ICcyJyB9KTtcbiAgICAgKiAvLyA9PiAnbm8gbWF0Y2gnXG4gICAgICovXG4gICAgZnVuY3Rpb24gY29uZChwYWlycykge1xuICAgICAgdmFyIGxlbmd0aCA9IHBhaXJzID09IG51bGwgPyAwIDogcGFpcnMubGVuZ3RoLFxuICAgICAgICAgIHRvSXRlcmF0ZWUgPSBnZXRJdGVyYXRlZSgpO1xuXG4gICAgICBwYWlycyA9ICFsZW5ndGggPyBbXSA6IGFycmF5TWFwKHBhaXJzLCBmdW5jdGlvbihwYWlyKSB7XG4gICAgICAgIGlmICh0eXBlb2YgcGFpclsxXSAhPSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihGVU5DX0VSUk9SX1RFWFQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbdG9JdGVyYXRlZShwYWlyWzBdKSwgcGFpclsxXV07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGJhc2VSZXN0KGZ1bmN0aW9uKGFyZ3MpIHtcbiAgICAgICAgdmFyIGluZGV4ID0gLTE7XG4gICAgICAgIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgICAgdmFyIHBhaXIgPSBwYWlyc1tpbmRleF07XG4gICAgICAgICAgaWYgKGFwcGx5KHBhaXJbMF0sIHRoaXMsIGFyZ3MpKSB7XG4gICAgICAgICAgICByZXR1cm4gYXBwbHkocGFpclsxXSwgdGhpcywgYXJncyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzIHRoZSBwcmVkaWNhdGUgcHJvcGVydGllcyBvZiBgc291cmNlYCB3aXRoXG4gICAgICogdGhlIGNvcnJlc3BvbmRpbmcgcHJvcGVydHkgdmFsdWVzIG9mIGEgZ2l2ZW4gb2JqZWN0LCByZXR1cm5pbmcgYHRydWVgIGlmXG4gICAgICogYWxsIHByZWRpY2F0ZXMgcmV0dXJuIHRydXRoeSwgZWxzZSBgZmFsc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFRoZSBjcmVhdGVkIGZ1bmN0aW9uIGlzIGVxdWl2YWxlbnQgdG8gYF8uY29uZm9ybXNUb2Agd2l0aFxuICAgICAqIGBzb3VyY2VgIHBhcnRpYWxseSBhcHBsaWVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge09iamVjdH0gc291cmNlIFRoZSBvYmplY3Qgb2YgcHJvcGVydHkgcHJlZGljYXRlcyB0byBjb25mb3JtIHRvLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW1xuICAgICAqICAgeyAnYSc6IDIsICdiJzogMSB9LFxuICAgICAqICAgeyAnYSc6IDEsICdiJzogMiB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8uZmlsdGVyKG9iamVjdHMsIF8uY29uZm9ybXMoeyAnYic6IGZ1bmN0aW9uKG4pIHsgcmV0dXJuIG4gPiAxOyB9IH0pKTtcbiAgICAgKiAvLyA9PiBbeyAnYSc6IDEsICdiJzogMiB9XVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbmZvcm1zKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIGJhc2VDb25mb3JtcyhiYXNlQ2xvbmUoc291cmNlLCBDTE9ORV9ERUVQX0ZMQUcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGB2YWx1ZWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMi40LjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHJldHVybiBmcm9tIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29uc3RhbnQgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gXy50aW1lcygyLCBfLmNvbnN0YW50KHsgJ2EnOiAxIH0pKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG9iamVjdHMpO1xuICAgICAqIC8vID0+IFt7ICdhJzogMSB9LCB7ICdhJzogMSB9XVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0c1swXSA9PT0gb2JqZWN0c1sxXSk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGNvbnN0YW50KHZhbHVlKSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGB2YWx1ZWAgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBkZWZhdWx0IHZhbHVlIHNob3VsZCBiZSByZXR1cm5lZCBpblxuICAgICAqIGl0cyBwbGFjZS4gVGhlIGBkZWZhdWx0VmFsdWVgIGlzIHJldHVybmVkIGlmIGB2YWx1ZWAgaXMgYE5hTmAsIGBudWxsYCxcbiAgICAgKiBvciBgdW5kZWZpbmVkYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjE0LjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICAgICAqIEBwYXJhbSB7Kn0gZGVmYXVsdFZhbHVlIFRoZSBkZWZhdWx0IHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5kZWZhdWx0VG8oMSwgMTApO1xuICAgICAqIC8vID0+IDFcbiAgICAgKlxuICAgICAqIF8uZGVmYXVsdFRvKHVuZGVmaW5lZCwgMTApO1xuICAgICAqIC8vID0+IDEwXG4gICAgICovXG4gICAgZnVuY3Rpb24gZGVmYXVsdFRvKHZhbHVlLCBkZWZhdWx0VmFsdWUpIHtcbiAgICAgIHJldHVybiAodmFsdWUgPT0gbnVsbCB8fCB2YWx1ZSAhPT0gdmFsdWUpID8gZGVmYXVsdFZhbHVlIDogdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgcmVzdWx0IG9mIGludm9raW5nIHRoZSBnaXZlbiBmdW5jdGlvbnNcbiAgICAgKiB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGUgY3JlYXRlZCBmdW5jdGlvbiwgd2hlcmUgZWFjaCBzdWNjZXNzaXZlXG4gICAgICogaW52b2NhdGlvbiBpcyBzdXBwbGllZCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBwcmV2aW91cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtmdW5jc10gVGhlIGZ1bmN0aW9ucyB0byBpbnZva2UuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgY29tcG9zaXRlIGZ1bmN0aW9uLlxuICAgICAqIEBzZWUgXy5mbG93UmlnaHRcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgYWRkU3F1YXJlID0gXy5mbG93KFtfLmFkZCwgc3F1YXJlXSk7XG4gICAgICogYWRkU3F1YXJlKDEsIDIpO1xuICAgICAqIC8vID0+IDlcbiAgICAgKi9cbiAgICB2YXIgZmxvdyA9IGNyZWF0ZUZsb3coKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8uZmxvd2AgZXhjZXB0IHRoYXQgaXQgY3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXRcbiAgICAgKiBpbnZva2VzIHRoZSBnaXZlbiBmdW5jdGlvbnMgZnJvbSByaWdodCB0byBsZWZ0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW2Z1bmNzXSBUaGUgZnVuY3Rpb25zIHRvIGludm9rZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBjb21wb3NpdGUgZnVuY3Rpb24uXG4gICAgICogQHNlZSBfLmZsb3dcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gc3F1YXJlKG4pIHtcbiAgICAgKiAgIHJldHVybiBuICogbjtcbiAgICAgKiB9XG4gICAgICpcbiAgICAgKiB2YXIgYWRkU3F1YXJlID0gXy5mbG93UmlnaHQoW3NxdWFyZSwgXy5hZGRdKTtcbiAgICAgKiBhZGRTcXVhcmUoMSwgMik7XG4gICAgICogLy8gPT4gOVxuICAgICAqL1xuICAgIHZhciBmbG93UmlnaHQgPSBjcmVhdGVGbG93KHRydWUpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgcmV0dXJucyB0aGUgZmlyc3QgYXJndW1lbnQgaXQgcmVjZWl2ZXMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQHNpbmNlIDAuMS4wXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgQW55IHZhbHVlLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIGB2YWx1ZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3QgPSB7ICdhJzogMSB9O1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coXy5pZGVudGl0eShvYmplY3QpID09PSBvYmplY3QpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpZGVudGl0eSh2YWx1ZSkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGZ1bmNgIHdpdGggdGhlIGFyZ3VtZW50cyBvZiB0aGUgY3JlYXRlZFxuICAgICAqIGZ1bmN0aW9uLiBJZiBgZnVuY2AgaXMgYSBwcm9wZXJ0eSBuYW1lLCB0aGUgY3JlYXRlZCBmdW5jdGlvbiByZXR1cm5zIHRoZVxuICAgICAqIHByb3BlcnR5IHZhbHVlIGZvciBhIGdpdmVuIGVsZW1lbnQuIElmIGBmdW5jYCBpcyBhbiBhcnJheSBvciBvYmplY3QsIHRoZVxuICAgICAqIGNyZWF0ZWQgZnVuY3Rpb24gcmV0dXJucyBgdHJ1ZWAgZm9yIGVsZW1lbnRzIHRoYXQgY29udGFpbiB0aGUgZXF1aXZhbGVudFxuICAgICAqIHNvdXJjZSBwcm9wZXJ0aWVzLCBvdGhlcndpc2UgaXQgcmV0dXJucyBgZmFsc2VgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0geyp9IFtmdW5jPV8uaWRlbnRpdHldIFRoZSB2YWx1ZSB0byBjb252ZXJ0IHRvIGEgY2FsbGJhY2suXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBjYWxsYmFjay5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIHVzZXJzID0gW1xuICAgICAqICAgeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH0sXG4gICAgICogICB7ICd1c2VyJzogJ2ZyZWQnLCAgICdhZ2UnOiA0MCwgJ2FjdGl2ZSc6IGZhbHNlIH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogLy8gVGhlIGBfLm1hdGNoZXNgIGl0ZXJhdGVlIHNob3J0aGFuZC5cbiAgICAgKiBfLmZpbHRlcih1c2VycywgXy5pdGVyYXRlZSh7ICd1c2VyJzogJ2Jhcm5leScsICdhY3RpdmUnOiB0cnVlIH0pKTtcbiAgICAgKiAvLyA9PiBbeyAndXNlcic6ICdiYXJuZXknLCAnYWdlJzogMzYsICdhY3RpdmUnOiB0cnVlIH1dXG4gICAgICpcbiAgICAgKiAvLyBUaGUgYF8ubWF0Y2hlc1Byb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5maWx0ZXIodXNlcnMsIF8uaXRlcmF0ZWUoWyd1c2VyJywgJ2ZyZWQnXSkpO1xuICAgICAqIC8vID0+IFt7ICd1c2VyJzogJ2ZyZWQnLCAnYWdlJzogNDAgfV1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ubWFwKHVzZXJzLCBfLml0ZXJhdGVlKCd1c2VyJykpO1xuICAgICAqIC8vID0+IFsnYmFybmV5JywgJ2ZyZWQnXVxuICAgICAqXG4gICAgICogLy8gQ3JlYXRlIGN1c3RvbSBpdGVyYXRlZSBzaG9ydGhhbmRzLlxuICAgICAqIF8uaXRlcmF0ZWUgPSBfLndyYXAoXy5pdGVyYXRlZSwgZnVuY3Rpb24oaXRlcmF0ZWUsIGZ1bmMpIHtcbiAgICAgKiAgIHJldHVybiAhXy5pc1JlZ0V4cChmdW5jKSA/IGl0ZXJhdGVlKGZ1bmMpIDogZnVuY3Rpb24oc3RyaW5nKSB7XG4gICAgICogICAgIHJldHVybiBmdW5jLnRlc3Qoc3RyaW5nKTtcbiAgICAgKiAgIH07XG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBfLmZpbHRlcihbJ2FiYycsICdkZWYnXSwgL2VmLyk7XG4gICAgICogLy8gPT4gWydkZWYnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIGl0ZXJhdGVlKGZ1bmMpIHtcbiAgICAgIHJldHVybiBiYXNlSXRlcmF0ZWUodHlwZW9mIGZ1bmMgPT0gJ2Z1bmN0aW9uJyA/IGZ1bmMgOiBiYXNlQ2xvbmUoZnVuYywgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcGVyZm9ybXMgYSBwYXJ0aWFsIGRlZXAgY29tcGFyaXNvbiBiZXR3ZWVuIGEgZ2l2ZW5cbiAgICAgKiBvYmplY3QgYW5kIGBzb3VyY2VgLCByZXR1cm5pbmcgYHRydWVgIGlmIHRoZSBnaXZlbiBvYmplY3QgaGFzIGVxdWl2YWxlbnRcbiAgICAgKiBwcm9wZXJ0eSB2YWx1ZXMsIGVsc2UgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqICoqTm90ZToqKiBUaGUgY3JlYXRlZCBmdW5jdGlvbiBpcyBlcXVpdmFsZW50IHRvIGBfLmlzTWF0Y2hgIHdpdGggYHNvdXJjZWBcbiAgICAgKiBwYXJ0aWFsbHkgYXBwbGllZC5cbiAgICAgKlxuICAgICAqIFBhcnRpYWwgY29tcGFyaXNvbnMgd2lsbCBtYXRjaCBlbXB0eSBhcnJheSBhbmQgZW1wdHkgb2JqZWN0IGBzb3VyY2VgXG4gICAgICogdmFsdWVzIGFnYWluc3QgYW55IGFycmF5IG9yIG9iamVjdCB2YWx1ZSwgcmVzcGVjdGl2ZWx5LiBTZWUgYF8uaXNFcXVhbGBcbiAgICAgKiBmb3IgYSBsaXN0IG9mIHN1cHBvcnRlZCB2YWx1ZSBjb21wYXJpc29ucy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIHByb3BlcnR5IHZhbHVlcyB0byBtYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBzcGVjIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFtcbiAgICAgKiAgIHsgJ2EnOiAxLCAnYic6IDIsICdjJzogMyB9LFxuICAgICAqICAgeyAnYSc6IDQsICdiJzogNSwgJ2MnOiA2IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5maWx0ZXIob2JqZWN0cywgXy5tYXRjaGVzKHsgJ2EnOiA0LCAnYyc6IDYgfSkpO1xuICAgICAqIC8vID0+IFt7ICdhJzogNCwgJ2InOiA1LCAnYyc6IDYgfV1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXRjaGVzKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIGJhc2VNYXRjaGVzKGJhc2VDbG9uZShzb3VyY2UsIENMT05FX0RFRVBfRkxBRykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IHBlcmZvcm1zIGEgcGFydGlhbCBkZWVwIGNvbXBhcmlzb24gYmV0d2VlbiB0aGVcbiAgICAgKiB2YWx1ZSBhdCBgcGF0aGAgb2YgYSBnaXZlbiBvYmplY3QgdG8gYHNyY1ZhbHVlYCwgcmV0dXJuaW5nIGB0cnVlYCBpZiB0aGVcbiAgICAgKiBvYmplY3QgdmFsdWUgaXMgZXF1aXZhbGVudCwgZWxzZSBgZmFsc2VgLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFBhcnRpYWwgY29tcGFyaXNvbnMgd2lsbCBtYXRjaCBlbXB0eSBhcnJheSBhbmQgZW1wdHkgb2JqZWN0XG4gICAgICogYHNyY1ZhbHVlYCB2YWx1ZXMgYWdhaW5zdCBhbnkgYXJyYXkgb3Igb2JqZWN0IHZhbHVlLCByZXNwZWN0aXZlbHkuIFNlZVxuICAgICAqIGBfLmlzRXF1YWxgIGZvciBhIGxpc3Qgb2Ygc3VwcG9ydGVkIHZhbHVlIGNvbXBhcmlzb25zLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMi4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgICAqIEBwYXJhbSB7Kn0gc3JjVmFsdWUgVGhlIHZhbHVlIHRvIG1hdGNoLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHNwZWMgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW1xuICAgICAqICAgeyAnYSc6IDEsICdiJzogMiwgJ2MnOiAzIH0sXG4gICAgICogICB7ICdhJzogNCwgJ2InOiA1LCAnYyc6IDYgfVxuICAgICAqIF07XG4gICAgICpcbiAgICAgKiBfLmZpbmQob2JqZWN0cywgXy5tYXRjaGVzUHJvcGVydHkoJ2EnLCA0KSk7XG4gICAgICogLy8gPT4geyAnYSc6IDQsICdiJzogNSwgJ2MnOiA2IH1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXRjaGVzUHJvcGVydHkocGF0aCwgc3JjVmFsdWUpIHtcbiAgICAgIHJldHVybiBiYXNlTWF0Y2hlc1Byb3BlcnR5KHBhdGgsIGJhc2VDbG9uZShzcmNWYWx1ZSwgQ0xPTkVfREVFUF9GTEFHKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgaW52b2tlcyB0aGUgbWV0aG9kIGF0IGBwYXRoYCBvZiBhIGdpdmVuIG9iamVjdC5cbiAgICAgKiBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHByb3ZpZGVkIHRvIHRoZSBpbnZva2VkIG1ldGhvZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjcuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIG1ldGhvZCB0byBpbnZva2UuXG4gICAgICogQHBhcmFtIHsuLi4qfSBbYXJnc10gVGhlIGFyZ3VtZW50cyB0byBpbnZva2UgdGhlIG1ldGhvZCB3aXRoLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGludm9rZXIgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW1xuICAgICAqICAgeyAnYSc6IHsgJ2InOiBfLmNvbnN0YW50KDIpIH0gfSxcbiAgICAgKiAgIHsgJ2EnOiB7ICdiJzogXy5jb25zdGFudCgxKSB9IH1cbiAgICAgKiBdO1xuICAgICAqXG4gICAgICogXy5tYXAob2JqZWN0cywgXy5tZXRob2QoJ2EuYicpKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKlxuICAgICAqIF8ubWFwKG9iamVjdHMsIF8ubWV0aG9kKFsnYScsICdiJ10pKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKi9cbiAgICB2YXIgbWV0aG9kID0gYmFzZVJlc3QoZnVuY3Rpb24ocGF0aCwgYXJncykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgICByZXR1cm4gYmFzZUludm9rZShvYmplY3QsIHBhdGgsIGFyZ3MpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcHBvc2l0ZSBvZiBgXy5tZXRob2RgOyB0aGlzIG1ldGhvZCBjcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBpbnZva2VzXG4gICAgICogdGhlIG1ldGhvZCBhdCBhIGdpdmVuIHBhdGggb2YgYG9iamVjdGAuIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmVcbiAgICAgKiBwcm92aWRlZCB0byB0aGUgaW52b2tlZCBtZXRob2QuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy43LjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcGFyYW0gey4uLip9IFthcmdzXSBUaGUgYXJndW1lbnRzIHRvIGludm9rZSB0aGUgbWV0aG9kIHdpdGguXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgaW52b2tlciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gXy50aW1lcygzLCBfLmNvbnN0YW50KSxcbiAgICAgKiAgICAgb2JqZWN0ID0geyAnYSc6IGFycmF5LCAnYic6IGFycmF5LCAnYyc6IGFycmF5IH07XG4gICAgICpcbiAgICAgKiBfLm1hcChbJ2FbMl0nLCAnY1swXSddLCBfLm1ldGhvZE9mKG9iamVjdCkpO1xuICAgICAqIC8vID0+IFsyLCAwXVxuICAgICAqXG4gICAgICogXy5tYXAoW1snYScsICcyJ10sIFsnYycsICcwJ11dLCBfLm1ldGhvZE9mKG9iamVjdCkpO1xuICAgICAqIC8vID0+IFsyLCAwXVxuICAgICAqL1xuICAgIHZhciBtZXRob2RPZiA9IGJhc2VSZXN0KGZ1bmN0aW9uKG9iamVjdCwgYXJncykge1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgICAgcmV0dXJuIGJhc2VJbnZva2Uob2JqZWN0LCBwYXRoLCBhcmdzKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIGFsbCBvd24gZW51bWVyYWJsZSBzdHJpbmcga2V5ZWQgZnVuY3Rpb24gcHJvcGVydGllcyBvZiBhIHNvdXJjZVxuICAgICAqIG9iamVjdCB0byB0aGUgZGVzdGluYXRpb24gb2JqZWN0LiBJZiBgb2JqZWN0YCBpcyBhIGZ1bmN0aW9uLCB0aGVuIG1ldGhvZHNcbiAgICAgKiBhcmUgYWRkZWQgdG8gaXRzIHByb3RvdHlwZSBhcyB3ZWxsLlxuICAgICAqXG4gICAgICogKipOb3RlOioqIFVzZSBgXy5ydW5JbkNvbnRleHRgIHRvIGNyZWF0ZSBhIHByaXN0aW5lIGBsb2Rhc2hgIGZ1bmN0aW9uIHRvXG4gICAgICogYXZvaWQgY29uZmxpY3RzIGNhdXNlZCBieSBtb2RpZnlpbmcgdGhlIG9yaWdpbmFsLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufE9iamVjdH0gW29iamVjdD1sb2Rhc2hdIFRoZSBkZXN0aW5hdGlvbiBvYmplY3QuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IHNvdXJjZSBUaGUgb2JqZWN0IG9mIGZ1bmN0aW9ucyB0byBhZGQuXG4gICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zPXt9XSBUaGUgb3B0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5jaGFpbj10cnVlXSBTcGVjaWZ5IHdoZXRoZXIgbWl4aW5zIGFyZSBjaGFpbmFibGUuXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufE9iamVjdH0gUmV0dXJucyBgb2JqZWN0YC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogZnVuY3Rpb24gdm93ZWxzKHN0cmluZykge1xuICAgICAqICAgcmV0dXJuIF8uZmlsdGVyKHN0cmluZywgZnVuY3Rpb24odikge1xuICAgICAqICAgICByZXR1cm4gL1thZWlvdV0vaS50ZXN0KHYpO1xuICAgICAqICAgfSk7XG4gICAgICogfVxuICAgICAqXG4gICAgICogXy5taXhpbih7ICd2b3dlbHMnOiB2b3dlbHMgfSk7XG4gICAgICogXy52b3dlbHMoJ2ZyZWQnKTtcbiAgICAgKiAvLyA9PiBbJ2UnXVxuICAgICAqXG4gICAgICogXygnZnJlZCcpLnZvd2VscygpLnZhbHVlKCk7XG4gICAgICogLy8gPT4gWydlJ11cbiAgICAgKlxuICAgICAqIF8ubWl4aW4oeyAndm93ZWxzJzogdm93ZWxzIH0sIHsgJ2NoYWluJzogZmFsc2UgfSk7XG4gICAgICogXygnZnJlZCcpLnZvd2VscygpO1xuICAgICAqIC8vID0+IFsnZSddXG4gICAgICovXG4gICAgZnVuY3Rpb24gbWl4aW4ob2JqZWN0LCBzb3VyY2UsIG9wdGlvbnMpIHtcbiAgICAgIHZhciBwcm9wcyA9IGtleXMoc291cmNlKSxcbiAgICAgICAgICBtZXRob2ROYW1lcyA9IGJhc2VGdW5jdGlvbnMoc291cmNlLCBwcm9wcyk7XG5cbiAgICAgIGlmIChvcHRpb25zID09IG51bGwgJiZcbiAgICAgICAgICAhKGlzT2JqZWN0KHNvdXJjZSkgJiYgKG1ldGhvZE5hbWVzLmxlbmd0aCB8fCAhcHJvcHMubGVuZ3RoKSkpIHtcbiAgICAgICAgb3B0aW9ucyA9IHNvdXJjZTtcbiAgICAgICAgc291cmNlID0gb2JqZWN0O1xuICAgICAgICBvYmplY3QgPSB0aGlzO1xuICAgICAgICBtZXRob2ROYW1lcyA9IGJhc2VGdW5jdGlvbnMoc291cmNlLCBrZXlzKHNvdXJjZSkpO1xuICAgICAgfVxuICAgICAgdmFyIGNoYWluID0gIShpc09iamVjdChvcHRpb25zKSAmJiAnY2hhaW4nIGluIG9wdGlvbnMpIHx8ICEhb3B0aW9ucy5jaGFpbixcbiAgICAgICAgICBpc0Z1bmMgPSBpc0Z1bmN0aW9uKG9iamVjdCk7XG5cbiAgICAgIGFycmF5RWFjaChtZXRob2ROYW1lcywgZnVuY3Rpb24obWV0aG9kTmFtZSkge1xuICAgICAgICB2YXIgZnVuYyA9IHNvdXJjZVttZXRob2ROYW1lXTtcbiAgICAgICAgb2JqZWN0W21ldGhvZE5hbWVdID0gZnVuYztcbiAgICAgICAgaWYgKGlzRnVuYykge1xuICAgICAgICAgIG9iamVjdC5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHZhciBjaGFpbkFsbCA9IHRoaXMuX19jaGFpbl9fO1xuICAgICAgICAgICAgaWYgKGNoYWluIHx8IGNoYWluQWxsKSB7XG4gICAgICAgICAgICAgIHZhciByZXN1bHQgPSBvYmplY3QodGhpcy5fX3dyYXBwZWRfXyksXG4gICAgICAgICAgICAgICAgICBhY3Rpb25zID0gcmVzdWx0Ll9fYWN0aW9uc19fID0gY29weUFycmF5KHRoaXMuX19hY3Rpb25zX18pO1xuXG4gICAgICAgICAgICAgIGFjdGlvbnMucHVzaCh7ICdmdW5jJzogZnVuYywgJ2FyZ3MnOiBhcmd1bWVudHMsICd0aGlzQXJnJzogb2JqZWN0IH0pO1xuICAgICAgICAgICAgICByZXN1bHQuX19jaGFpbl9fID0gY2hhaW5BbGw7XG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZnVuYy5hcHBseShvYmplY3QsIGFycmF5UHVzaChbdGhpcy52YWx1ZSgpXSwgYXJndW1lbnRzKSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV2ZXJ0cyB0aGUgYF9gIHZhcmlhYmxlIHRvIGl0cyBwcmV2aW91cyB2YWx1ZSBhbmQgcmV0dXJucyBhIHJlZmVyZW5jZSB0b1xuICAgICAqIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBgbG9kYXNoYCBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGxvZGFzaCA9IF8ubm9Db25mbGljdCgpO1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIG5vQ29uZmxpY3QoKSB7XG4gICAgICBpZiAocm9vdC5fID09PSB0aGlzKSB7XG4gICAgICAgIHJvb3QuXyA9IG9sZERhc2g7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCByZXR1cm5zIGB1bmRlZmluZWRgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygyLCBfLm5vb3ApO1xuICAgICAqIC8vID0+IFt1bmRlZmluZWQsIHVuZGVmaW5lZF1cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBub29wKCkge1xuICAgICAgLy8gTm8gb3BlcmF0aW9uIHBlcmZvcm1lZC5cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBnZXRzIHRoZSBhcmd1bWVudCBhdCBpbmRleCBgbmAuIElmIGBuYCBpcyBuZWdhdGl2ZSxcbiAgICAgKiB0aGUgbnRoIGFyZ3VtZW50IGZyb20gdGhlIGVuZCBpcyByZXR1cm5lZC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtuPTBdIFRoZSBpbmRleCBvZiB0aGUgYXJndW1lbnQgdG8gcmV0dXJuLlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IHBhc3MtdGhydSBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGZ1bmMgPSBfLm50aEFyZygxKTtcbiAgICAgKiBmdW5jKCdhJywgJ2InLCAnYycsICdkJyk7XG4gICAgICogLy8gPT4gJ2InXG4gICAgICpcbiAgICAgKiB2YXIgZnVuYyA9IF8ubnRoQXJnKC0yKTtcbiAgICAgKiBmdW5jKCdhJywgJ2InLCAnYycsICdkJyk7XG4gICAgICogLy8gPT4gJ2MnXG4gICAgICovXG4gICAgZnVuY3Rpb24gbnRoQXJnKG4pIHtcbiAgICAgIG4gPSB0b0ludGVnZXIobik7XG4gICAgICByZXR1cm4gYmFzZVJlc3QoZnVuY3Rpb24oYXJncykge1xuICAgICAgICByZXR1cm4gYmFzZU50aChhcmdzLCBuKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGludm9rZXMgYGl0ZXJhdGVlc2Agd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzXG4gICAgICogYW5kIHJldHVybnMgdGhlaXIgcmVzdWx0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtpdGVyYXRlZXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgaXRlcmF0ZWVzIHRvIGludm9rZS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGZ1bmMgPSBfLm92ZXIoW01hdGgubWF4LCBNYXRoLm1pbl0pO1xuICAgICAqXG4gICAgICogZnVuYygxLCAyLCAzLCA0KTtcbiAgICAgKiAvLyA9PiBbNCwgMV1cbiAgICAgKi9cbiAgICB2YXIgb3ZlciA9IGNyZWF0ZU92ZXIoYXJyYXlNYXApO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgY2hlY2tzIGlmICoqYWxsKiogb2YgdGhlIGBwcmVkaWNhdGVzYCByZXR1cm5cbiAgICAgKiB0cnV0aHkgd2hlbiBpbnZva2VkIHdpdGggdGhlIGFyZ3VtZW50cyBpdCByZWNlaXZlcy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHsuLi4oRnVuY3Rpb258RnVuY3Rpb25bXSl9IFtwcmVkaWNhdGVzPVtfLmlkZW50aXR5XV1cbiAgICAgKiAgVGhlIHByZWRpY2F0ZXMgdG8gY2hlY2suXG4gICAgICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgZnVuY3Rpb24uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBmdW5jID0gXy5vdmVyRXZlcnkoW0Jvb2xlYW4sIGlzRmluaXRlXSk7XG4gICAgICpcbiAgICAgKiBmdW5jKCcxJyk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogZnVuYyhudWxsKTtcbiAgICAgKiAvLyA9PiBmYWxzZVxuICAgICAqXG4gICAgICogZnVuYyhOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIG92ZXJFdmVyeSA9IGNyZWF0ZU92ZXIoYXJyYXlFdmVyeSk7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgKiphbnkqKiBvZiB0aGUgYHByZWRpY2F0ZXNgIHJldHVyblxuICAgICAqIHRydXRoeSB3aGVuIGludm9rZWQgd2l0aCB0aGUgYXJndW1lbnRzIGl0IHJlY2VpdmVzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0gey4uLihGdW5jdGlvbnxGdW5jdGlvbltdKX0gW3ByZWRpY2F0ZXM9W18uaWRlbnRpdHldXVxuICAgICAqICBUaGUgcHJlZGljYXRlcyB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGZ1bmMgPSBfLm92ZXJTb21lKFtCb29sZWFuLCBpc0Zpbml0ZV0pO1xuICAgICAqXG4gICAgICogZnVuYygnMScpO1xuICAgICAqIC8vID0+IHRydWVcbiAgICAgKlxuICAgICAqIGZ1bmMobnVsbCk7XG4gICAgICogLy8gPT4gdHJ1ZVxuICAgICAqXG4gICAgICogZnVuYyhOYU4pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgdmFyIG92ZXJTb21lID0gY3JlYXRlT3ZlcihhcnJheVNvbWUpO1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgdmFsdWUgYXQgYHBhdGhgIG9mIGEgZ2l2ZW4gb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDIuNC4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICAgICAqIEByZXR1cm5zIHtGdW5jdGlvbn0gUmV0dXJucyB0aGUgbmV3IGFjY2Vzc29yIGZ1bmN0aW9uLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFtcbiAgICAgKiAgIHsgJ2EnOiB7ICdiJzogMiB9IH0sXG4gICAgICogICB7ICdhJzogeyAnYic6IDEgfSB9XG4gICAgICogXTtcbiAgICAgKlxuICAgICAqIF8ubWFwKG9iamVjdHMsIF8ucHJvcGVydHkoJ2EuYicpKTtcbiAgICAgKiAvLyA9PiBbMiwgMV1cbiAgICAgKlxuICAgICAqIF8ubWFwKF8uc29ydEJ5KG9iamVjdHMsIF8ucHJvcGVydHkoWydhJywgJ2InXSkpLCAnYS5iJyk7XG4gICAgICogLy8gPT4gWzEsIDJdXG4gICAgICovXG4gICAgZnVuY3Rpb24gcHJvcGVydHkocGF0aCkge1xuICAgICAgcmV0dXJuIGlzS2V5KHBhdGgpID8gYmFzZVByb3BlcnR5KHRvS2V5KHBhdGgpKSA6IGJhc2VQcm9wZXJ0eURlZXAocGF0aCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG9wcG9zaXRlIG9mIGBfLnByb3BlcnR5YDsgdGhpcyBtZXRob2QgY3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJuc1xuICAgICAqIHRoZSB2YWx1ZSBhdCBhIGdpdmVuIHBhdGggb2YgYG9iamVjdGAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgVGhlIG9iamVjdCB0byBxdWVyeS5cbiAgICAgKiBAcmV0dXJucyB7RnVuY3Rpb259IFJldHVybnMgdGhlIG5ldyBhY2Nlc3NvciBmdW5jdGlvbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5ID0gWzAsIDEsIDJdLFxuICAgICAqICAgICBvYmplY3QgPSB7ICdhJzogYXJyYXksICdiJzogYXJyYXksICdjJzogYXJyYXkgfTtcbiAgICAgKlxuICAgICAqIF8ubWFwKFsnYVsyXScsICdjWzBdJ10sIF8ucHJvcGVydHlPZihvYmplY3QpKTtcbiAgICAgKiAvLyA9PiBbMiwgMF1cbiAgICAgKlxuICAgICAqIF8ubWFwKFtbJ2EnLCAnMiddLCBbJ2MnLCAnMCddXSwgXy5wcm9wZXJ0eU9mKG9iamVjdCkpO1xuICAgICAqIC8vID0+IFsyLCAwXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHByb3BlcnR5T2Yob2JqZWN0KSB7XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyB1bmRlZmluZWQgOiBiYXNlR2V0KG9iamVjdCwgcGF0aCk7XG4gICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgYW4gYXJyYXkgb2YgbnVtYmVycyAocG9zaXRpdmUgYW5kL29yIG5lZ2F0aXZlKSBwcm9ncmVzc2luZyBmcm9tXG4gICAgICogYHN0YXJ0YCB1cCB0bywgYnV0IG5vdCBpbmNsdWRpbmcsIGBlbmRgLiBBIHN0ZXAgb2YgYC0xYCBpcyB1c2VkIGlmIGEgbmVnYXRpdmVcbiAgICAgKiBgc3RhcnRgIGlzIHNwZWNpZmllZCB3aXRob3V0IGFuIGBlbmRgIG9yIGBzdGVwYC4gSWYgYGVuZGAgaXMgbm90IHNwZWNpZmllZCxcbiAgICAgKiBpdCdzIHNldCB0byBgc3RhcnRgIHdpdGggYHN0YXJ0YCB0aGVuIHNldCB0byBgMGAuXG4gICAgICpcbiAgICAgKiAqKk5vdGU6KiogSmF2YVNjcmlwdCBmb2xsb3dzIHRoZSBJRUVFLTc1NCBzdGFuZGFyZCBmb3IgcmVzb2x2aW5nXG4gICAgICogZmxvYXRpbmctcG9pbnQgdmFsdWVzIHdoaWNoIGNhbiBwcm9kdWNlIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgc3RhcnQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBlbmQgVGhlIGVuZCBvZiB0aGUgcmFuZ2UuXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtzdGVwPTFdIFRoZSB2YWx1ZSB0byBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ5LlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgcmFuZ2Ugb2YgbnVtYmVycy5cbiAgICAgKiBAc2VlIF8uaW5SYW5nZSwgXy5yYW5nZVJpZ2h0XG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoNCk7XG4gICAgICogLy8gPT4gWzAsIDEsIDIsIDNdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKC00KTtcbiAgICAgKiAvLyA9PiBbMCwgLTEsIC0yLCAtM11cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMSwgNSk7XG4gICAgICogLy8gPT4gWzEsIDIsIDMsIDRdXG4gICAgICpcbiAgICAgKiBfLnJhbmdlKDAsIDIwLCA1KTtcbiAgICAgKiAvLyA9PiBbMCwgNSwgMTAsIDE1XVxuICAgICAqXG4gICAgICogXy5yYW5nZSgwLCAtNCwgLTEpO1xuICAgICAqIC8vID0+IFswLCAtMSwgLTIsIC0zXVxuICAgICAqXG4gICAgICogXy5yYW5nZSgxLCA0LCAwKTtcbiAgICAgKiAvLyA9PiBbMSwgMSwgMV1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2UoMCk7XG4gICAgICogLy8gPT4gW11cbiAgICAgKi9cbiAgICB2YXIgcmFuZ2UgPSBjcmVhdGVSYW5nZSgpO1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5yYW5nZWAgZXhjZXB0IHRoYXQgaXQgcG9wdWxhdGVzIHZhbHVlcyBpblxuICAgICAqIGRlc2NlbmRpbmcgb3JkZXIuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnQ9MF0gVGhlIHN0YXJ0IG9mIHRoZSByYW5nZS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZW5kIFRoZSBlbmQgb2YgdGhlIHJhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbc3RlcD0xXSBUaGUgdmFsdWUgdG8gaW5jcmVtZW50IG9yIGRlY3JlbWVudCBieS5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHJhbmdlIG9mIG51bWJlcnMuXG4gICAgICogQHNlZSBfLmluUmFuZ2UsIF8ucmFuZ2VcbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KDQpO1xuICAgICAqIC8vID0+IFszLCAyLCAxLCAwXVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KC00KTtcbiAgICAgKiAvLyA9PiBbLTMsIC0yLCAtMSwgMF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgxLCA1KTtcbiAgICAgKiAvLyA9PiBbNCwgMywgMiwgMV1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgwLCAyMCwgNSk7XG4gICAgICogLy8gPT4gWzE1LCAxMCwgNSwgMF1cbiAgICAgKlxuICAgICAqIF8ucmFuZ2VSaWdodCgwLCAtNCwgLTEpO1xuICAgICAqIC8vID0+IFstMywgLTIsIC0xLCAwXVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KDEsIDQsIDApO1xuICAgICAqIC8vID0+IFsxLCAxLCAxXVxuICAgICAqXG4gICAgICogXy5yYW5nZVJpZ2h0KDApO1xuICAgICAqIC8vID0+IFtdXG4gICAgICovXG4gICAgdmFyIHJhbmdlUmlnaHQgPSBjcmVhdGVSYW5nZSh0cnVlKTtcblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgZW1wdHkgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4xMy4wXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIG5ldyBlbXB0eSBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIGFycmF5cyA9IF8udGltZXMoMiwgXy5zdHViQXJyYXkpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXlzKTtcbiAgICAgKiAvLyA9PiBbW10sIFtdXVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coYXJyYXlzWzBdID09PSBhcnJheXNbMV0pO1xuICAgICAqIC8vID0+IGZhbHNlXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1YkFycmF5KCkge1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjEzLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGBmYWxzZWAuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8udGltZXMoMiwgXy5zdHViRmFsc2UpO1xuICAgICAqIC8vID0+IFtmYWxzZSwgZmFsc2VdXG4gICAgICovXG4gICAgZnVuY3Rpb24gc3R1YkZhbHNlKCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYSBuZXcgZW1wdHkgb2JqZWN0LlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTMuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge09iamVjdH0gUmV0dXJucyB0aGUgbmV3IGVtcHR5IG9iamVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBfLnRpbWVzKDIsIF8uc3R1Yk9iamVjdCk7XG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhvYmplY3RzKTtcbiAgICAgKiAvLyA9PiBbe30sIHt9XVxuICAgICAqXG4gICAgICogY29uc29sZS5sb2cob2JqZWN0c1swXSA9PT0gb2JqZWN0c1sxXSk7XG4gICAgICogLy8gPT4gZmFsc2VcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdHViT2JqZWN0KCkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYW4gZW1wdHkgc3RyaW5nLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTMuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgZW1wdHkgc3RyaW5nLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8uc3R1YlN0cmluZyk7XG4gICAgICogLy8gPT4gWycnLCAnJ11cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdHViU3RyaW5nKCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIHJldHVybnMgYHRydWVgLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuMTMuMFxuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnRpbWVzKDIsIF8uc3R1YlRydWUpO1xuICAgICAqIC8vID0+IFt0cnVlLCB0cnVlXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN0dWJUcnVlKCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52b2tlcyB0aGUgaXRlcmF0ZWUgYG5gIHRpbWVzLCByZXR1cm5pbmcgYW4gYXJyYXkgb2YgdGhlIHJlc3VsdHMgb2ZcbiAgICAgKiBlYWNoIGludm9jYXRpb24uIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OyAoaW5kZXgpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IFV0aWxcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbiBUaGUgbnVtYmVyIG9mIHRpbWVzIHRvIGludm9rZSBgaXRlcmF0ZWVgLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgZnVuY3Rpb24gaW52b2tlZCBwZXIgaXRlcmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtBcnJheX0gUmV0dXJucyB0aGUgYXJyYXkgb2YgcmVzdWx0cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50aW1lcygzLCBTdHJpbmcpO1xuICAgICAqIC8vID0+IFsnMCcsICcxJywgJzInXVxuICAgICAqXG4gICAgICogIF8udGltZXMoNCwgXy5jb25zdGFudCgwKSk7XG4gICAgICogLy8gPT4gWzAsIDAsIDAsIDBdXG4gICAgICovXG4gICAgZnVuY3Rpb24gdGltZXMobiwgaXRlcmF0ZWUpIHtcbiAgICAgIG4gPSB0b0ludGVnZXIobik7XG4gICAgICBpZiAobiA8IDEgfHwgbiA+IE1BWF9TQUZFX0lOVEVHRVIpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gTUFYX0FSUkFZX0xFTkdUSCxcbiAgICAgICAgICBsZW5ndGggPSBuYXRpdmVNaW4obiwgTUFYX0FSUkFZX0xFTkdUSCk7XG5cbiAgICAgIGl0ZXJhdGVlID0gZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUpO1xuICAgICAgbiAtPSBNQVhfQVJSQVlfTEVOR1RIO1xuXG4gICAgICB2YXIgcmVzdWx0ID0gYmFzZVRpbWVzKGxlbmd0aCwgaXRlcmF0ZWUpO1xuICAgICAgd2hpbGUgKCsraW5kZXggPCBuKSB7XG4gICAgICAgIGl0ZXJhdGVlKGluZGV4KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydHMgYHZhbHVlYCB0byBhIHByb3BlcnR5IHBhdGggYXJyYXkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgVXRpbFxuICAgICAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNvbnZlcnQuXG4gICAgICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBuZXcgcHJvcGVydHkgcGF0aCBhcnJheS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy50b1BhdGgoJ2EuYi5jJyk7XG4gICAgICogLy8gPT4gWydhJywgJ2InLCAnYyddXG4gICAgICpcbiAgICAgKiBfLnRvUGF0aCgnYVswXS5iLmMnKTtcbiAgICAgKiAvLyA9PiBbJ2EnLCAnMCcsICdiJywgJ2MnXVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHRvUGF0aCh2YWx1ZSkge1xuICAgICAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHJldHVybiBhcnJheU1hcCh2YWx1ZSwgdG9LZXkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlzU3ltYm9sKHZhbHVlKSA/IFt2YWx1ZV0gOiBjb3B5QXJyYXkoc3RyaW5nVG9QYXRoKHRvU3RyaW5nKHZhbHVlKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBJRC4gSWYgYHByZWZpeGAgaXMgZ2l2ZW4sIHRoZSBJRCBpcyBhcHBlbmRlZCB0byBpdC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAc2luY2UgMC4xLjBcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBjYXRlZ29yeSBVdGlsXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IFtwcmVmaXg9JyddIFRoZSB2YWx1ZSB0byBwcmVmaXggdGhlIElEIHdpdGguXG4gICAgICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgdW5pcXVlIElELlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnVuaXF1ZUlkKCdjb250YWN0XycpO1xuICAgICAqIC8vID0+ICdjb250YWN0XzEwNCdcbiAgICAgKlxuICAgICAqIF8udW5pcXVlSWQoKTtcbiAgICAgKiAvLyA9PiAnMTA1J1xuICAgICAqL1xuICAgIGZ1bmN0aW9uIHVuaXF1ZUlkKHByZWZpeCkge1xuICAgICAgdmFyIGlkID0gKytpZENvdW50ZXI7XG4gICAgICByZXR1cm4gdG9TdHJpbmcocHJlZml4KSArIGlkO1xuICAgIH1cblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8qKlxuICAgICAqIEFkZHMgdHdvIG51bWJlcnMuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgMy40LjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBhdWdlbmQgVGhlIGZpcnN0IG51bWJlciBpbiBhbiBhZGRpdGlvbi5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gYWRkZW5kIFRoZSBzZWNvbmQgbnVtYmVyIGluIGFuIGFkZGl0aW9uLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHRvdGFsLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmFkZCg2LCA0KTtcbiAgICAgKiAvLyA9PiAxMFxuICAgICAqL1xuICAgIHZhciBhZGQgPSBjcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKGF1Z2VuZCwgYWRkZW5kKSB7XG4gICAgICByZXR1cm4gYXVnZW5kICsgYWRkZW5kO1xuICAgIH0sIDApO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgYG51bWJlcmAgcm91bmRlZCB1cCB0byBgcHJlY2lzaW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEwLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byByb3VuZCB1cC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3ByZWNpc2lvbj0wXSBUaGUgcHJlY2lzaW9uIHRvIHJvdW5kIHVwIHRvLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHJvdW5kZWQgdXAgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLmNlaWwoNC4wMDYpO1xuICAgICAqIC8vID0+IDVcbiAgICAgKlxuICAgICAqIF8uY2VpbCg2LjAwNCwgMik7XG4gICAgICogLy8gPT4gNi4wMVxuICAgICAqXG4gICAgICogXy5jZWlsKDYwNDAsIC0yKTtcbiAgICAgKiAvLyA9PiA2MTAwXG4gICAgICovXG4gICAgdmFyIGNlaWwgPSBjcmVhdGVSb3VuZCgnY2VpbCcpO1xuXG4gICAgLyoqXG4gICAgICogRGl2aWRlIHR3byBudW1iZXJzLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gZGl2aWRlbmQgVGhlIGZpcnN0IG51bWJlciBpbiBhIGRpdmlzaW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBkaXZpc29yIFRoZSBzZWNvbmQgbnVtYmVyIGluIGEgZGl2aXNpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgcXVvdGllbnQuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZGl2aWRlKDYsIDQpO1xuICAgICAqIC8vID0+IDEuNVxuICAgICAqL1xuICAgIHZhciBkaXZpZGUgPSBjcmVhdGVNYXRoT3BlcmF0aW9uKGZ1bmN0aW9uKGRpdmlkZW5kLCBkaXZpc29yKSB7XG4gICAgICByZXR1cm4gZGl2aWRlbmQgLyBkaXZpc29yO1xuICAgIH0sIDEpO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgYG51bWJlcmAgcm91bmRlZCBkb3duIHRvIGBwcmVjaXNpb25gLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDMuMTAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlciBUaGUgbnVtYmVyIHRvIHJvdW5kIGRvd24uXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IFtwcmVjaXNpb249MF0gVGhlIHByZWNpc2lvbiB0byByb3VuZCBkb3duIHRvLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHJvdW5kZWQgZG93biBudW1iZXIuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uZmxvb3IoNC4wMDYpO1xuICAgICAqIC8vID0+IDRcbiAgICAgKlxuICAgICAqIF8uZmxvb3IoMC4wNDYsIDIpO1xuICAgICAqIC8vID0+IDAuMDRcbiAgICAgKlxuICAgICAqIF8uZmxvb3IoNDA2MCwgLTIpO1xuICAgICAqIC8vID0+IDQwMDBcbiAgICAgKi9cbiAgICB2YXIgZmxvb3IgPSBjcmVhdGVSb3VuZCgnZmxvb3InKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBtYXhpbXVtIHZhbHVlIG9mIGBhcnJheWAuIElmIGBhcnJheWAgaXMgZW1wdHkgb3IgZmFsc2V5LFxuICAgICAqIGB1bmRlZmluZWRgIGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXhpbXVtIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1heChbNCwgMiwgOCwgNl0pO1xuICAgICAqIC8vID0+IDhcbiAgICAgKlxuICAgICAqIF8ubWF4KFtdKTtcbiAgICAgKiAvLyA9PiB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtYXgoYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VFeHRyZW11bShhcnJheSwgaWRlbnRpdHksIGJhc2VHdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5tYXhgIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnkgd2hpY2hcbiAgICAgKiB0aGUgdmFsdWUgaXMgcmFua2VkLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1heGltdW0gdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ24nOiAxIH0sIHsgJ24nOiAyIH1dO1xuICAgICAqXG4gICAgICogXy5tYXhCeShvYmplY3RzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLm47IH0pO1xuICAgICAqIC8vID0+IHsgJ24nOiAyIH1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ubWF4Qnkob2JqZWN0cywgJ24nKTtcbiAgICAgKiAvLyA9PiB7ICduJzogMiB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gbWF4QnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlRXh0cmVtdW0oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSwgYmFzZUd0KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgbWVhbiBvZiB0aGUgdmFsdWVzIGluIGBhcnJheWAuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgbWVhbi5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5tZWFuKFs0LCAyLCA4LCA2XSk7XG4gICAgICogLy8gPT4gNVxuICAgICAqL1xuICAgIGZ1bmN0aW9uIG1lYW4oYXJyYXkpIHtcbiAgICAgIHJldHVybiBiYXNlTWVhbihhcnJheSwgaWRlbnRpdHkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIGxpa2UgYF8ubWVhbmAgZXhjZXB0IHRoYXQgaXQgYWNjZXB0cyBgaXRlcmF0ZWVgIHdoaWNoIGlzXG4gICAgICogaW52b2tlZCBmb3IgZWFjaCBlbGVtZW50IGluIGBhcnJheWAgdG8gZ2VuZXJhdGUgdGhlIHZhbHVlIHRvIGJlIGF2ZXJhZ2VkLlxuICAgICAqIFRoZSBpdGVyYXRlZSBpcyBpbnZva2VkIHdpdGggb25lIGFyZ3VtZW50OiAodmFsdWUpLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHNpbmNlIDQuNy4wXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEBwYXJhbSB7RnVuY3Rpb259IFtpdGVyYXRlZT1fLmlkZW50aXR5XSBUaGUgaXRlcmF0ZWUgaW52b2tlZCBwZXIgZWxlbWVudC5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBtZWFuLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiB2YXIgb2JqZWN0cyA9IFt7ICduJzogNCB9LCB7ICduJzogMiB9LCB7ICduJzogOCB9LCB7ICduJzogNiB9XTtcbiAgICAgKlxuICAgICAqIF8ubWVhbkJ5KG9iamVjdHMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ubjsgfSk7XG4gICAgICogLy8gPT4gNVxuICAgICAqXG4gICAgICogLy8gVGhlIGBfLnByb3BlcnR5YCBpdGVyYXRlZSBzaG9ydGhhbmQuXG4gICAgICogXy5tZWFuQnkob2JqZWN0cywgJ24nKTtcbiAgICAgKiAvLyA9PiA1XG4gICAgICovXG4gICAgZnVuY3Rpb24gbWVhbkJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIGJhc2VNZWFuKGFycmF5LCBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBtaW5pbXVtIHZhbHVlIG9mIGBhcnJheWAuIElmIGBhcnJheWAgaXMgZW1wdHkgb3IgZmFsc2V5LFxuICAgICAqIGB1bmRlZmluZWRgIGlzIHJldHVybmVkLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBzaW5jZSAwLjEuMFxuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQGNhdGVnb3J5IE1hdGhcbiAgICAgKiBAcGFyYW0ge0FycmF5fSBhcnJheSBUaGUgYXJyYXkgdG8gaXRlcmF0ZSBvdmVyLlxuICAgICAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtaW5pbXVtIHZhbHVlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm1pbihbNCwgMiwgOCwgNl0pO1xuICAgICAqIC8vID0+IDJcbiAgICAgKlxuICAgICAqIF8ubWluKFtdKTtcbiAgICAgKiAvLyA9PiB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBtaW4oYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VFeHRyZW11bShhcnJheSwgaWRlbnRpdHksIGJhc2VMdClcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5taW5gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSBjcml0ZXJpb24gYnkgd2hpY2hcbiAgICAgKiB0aGUgdmFsdWUgaXMgcmFua2VkLiBUaGUgaXRlcmF0ZWUgaXMgaW52b2tlZCB3aXRoIG9uZSBhcmd1bWVudDogKHZhbHVlKS5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbaXRlcmF0ZWU9Xy5pZGVudGl0eV0gVGhlIGl0ZXJhdGVlIGludm9rZWQgcGVyIGVsZW1lbnQuXG4gICAgICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIG1pbmltdW0gdmFsdWUuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIHZhciBvYmplY3RzID0gW3sgJ24nOiAxIH0sIHsgJ24nOiAyIH1dO1xuICAgICAqXG4gICAgICogXy5taW5CeShvYmplY3RzLCBmdW5jdGlvbihvKSB7IHJldHVybiBvLm47IH0pO1xuICAgICAqIC8vID0+IHsgJ24nOiAxIH1cbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8ubWluQnkob2JqZWN0cywgJ24nKTtcbiAgICAgKiAvLyA9PiB7ICduJzogMSB9XG4gICAgICovXG4gICAgZnVuY3Rpb24gbWluQnkoYXJyYXksIGl0ZXJhdGVlKSB7XG4gICAgICByZXR1cm4gKGFycmF5ICYmIGFycmF5Lmxlbmd0aClcbiAgICAgICAgPyBiYXNlRXh0cmVtdW0oYXJyYXksIGdldEl0ZXJhdGVlKGl0ZXJhdGVlLCAyKSwgYmFzZUx0KVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNdWx0aXBseSB0d28gbnVtYmVycy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjcuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG11bHRpcGxpZXIgVGhlIGZpcnN0IG51bWJlciBpbiBhIG11bHRpcGxpY2F0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtdWx0aXBsaWNhbmQgVGhlIHNlY29uZCBudW1iZXIgaW4gYSBtdWx0aXBsaWNhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBwcm9kdWN0LlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLm11bHRpcGx5KDYsIDQpO1xuICAgICAqIC8vID0+IDI0XG4gICAgICovXG4gICAgdmFyIG11bHRpcGx5ID0gY3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihtdWx0aXBsaWVyLCBtdWx0aXBsaWNhbmQpIHtcbiAgICAgIHJldHVybiBtdWx0aXBsaWVyICogbXVsdGlwbGljYW5kO1xuICAgIH0sIDEpO1xuXG4gICAgLyoqXG4gICAgICogQ29tcHV0ZXMgYG51bWJlcmAgcm91bmRlZCB0byBgcHJlY2lzaW9uYC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjEwLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBudW1iZXIgVGhlIG51bWJlciB0byByb3VuZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3ByZWNpc2lvbj0wXSBUaGUgcHJlY2lzaW9uIHRvIHJvdW5kIHRvLlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHJvdW5kZWQgbnVtYmVyLlxuICAgICAqIEBleGFtcGxlXG4gICAgICpcbiAgICAgKiBfLnJvdW5kKDQuMDA2KTtcbiAgICAgKiAvLyA9PiA0XG4gICAgICpcbiAgICAgKiBfLnJvdW5kKDQuMDA2LCAyKTtcbiAgICAgKiAvLyA9PiA0LjAxXG4gICAgICpcbiAgICAgKiBfLnJvdW5kKDQwNjAsIC0yKTtcbiAgICAgKiAvLyA9PiA0MTAwXG4gICAgICovXG4gICAgdmFyIHJvdW5kID0gY3JlYXRlUm91bmQoJ3JvdW5kJyk7XG5cbiAgICAvKipcbiAgICAgKiBTdWJ0cmFjdCB0d28gbnVtYmVycy5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSA0LjAuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IG1pbnVlbmQgVGhlIGZpcnN0IG51bWJlciBpbiBhIHN1YnRyYWN0aW9uLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzdWJ0cmFoZW5kIFRoZSBzZWNvbmQgbnVtYmVyIGluIGEgc3VidHJhY3Rpb24uXG4gICAgICogQHJldHVybnMge251bWJlcn0gUmV0dXJucyB0aGUgZGlmZmVyZW5jZS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogXy5zdWJ0cmFjdCg2LCA0KTtcbiAgICAgKiAvLyA9PiAyXG4gICAgICovXG4gICAgdmFyIHN1YnRyYWN0ID0gY3JlYXRlTWF0aE9wZXJhdGlvbihmdW5jdGlvbihtaW51ZW5kLCBzdWJ0cmFoZW5kKSB7XG4gICAgICByZXR1cm4gbWludWVuZCAtIHN1YnRyYWhlbmQ7XG4gICAgfSwgMCk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgc3VtIG9mIHRoZSB2YWx1ZXMgaW4gYGFycmF5YC5cbiAgICAgKlxuICAgICAqIEBzdGF0aWNcbiAgICAgKiBAbWVtYmVyT2YgX1xuICAgICAqIEBzaW5jZSAzLjQuMFxuICAgICAqIEBjYXRlZ29yeSBNYXRoXG4gICAgICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGl0ZXJhdGUgb3Zlci5cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBzdW0uXG4gICAgICogQGV4YW1wbGVcbiAgICAgKlxuICAgICAqIF8uc3VtKFs0LCAyLCA4LCA2XSk7XG4gICAgICogLy8gPT4gMjBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBzdW0oYXJyYXkpIHtcbiAgICAgIHJldHVybiAoYXJyYXkgJiYgYXJyYXkubGVuZ3RoKVxuICAgICAgICA/IGJhc2VTdW0oYXJyYXksIGlkZW50aXR5KVxuICAgICAgICA6IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhpcyBtZXRob2QgaXMgbGlrZSBgXy5zdW1gIGV4Y2VwdCB0aGF0IGl0IGFjY2VwdHMgYGl0ZXJhdGVlYCB3aGljaCBpc1xuICAgICAqIGludm9rZWQgZm9yIGVhY2ggZWxlbWVudCBpbiBgYXJyYXlgIHRvIGdlbmVyYXRlIHRoZSB2YWx1ZSB0byBiZSBzdW1tZWQuXG4gICAgICogVGhlIGl0ZXJhdGVlIGlzIGludm9rZWQgd2l0aCBvbmUgYXJndW1lbnQ6ICh2YWx1ZSkuXG4gICAgICpcbiAgICAgKiBAc3RhdGljXG4gICAgICogQG1lbWJlck9mIF9cbiAgICAgKiBAc2luY2UgNC4wLjBcbiAgICAgKiBAY2F0ZWdvcnkgTWF0aFxuICAgICAqIEBwYXJhbSB7QXJyYXl9IGFycmF5IFRoZSBhcnJheSB0byBpdGVyYXRlIG92ZXIuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gW2l0ZXJhdGVlPV8uaWRlbnRpdHldIFRoZSBpdGVyYXRlZSBpbnZva2VkIHBlciBlbGVtZW50LlxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IFJldHVybnMgdGhlIHN1bS5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqXG4gICAgICogdmFyIG9iamVjdHMgPSBbeyAnbic6IDQgfSwgeyAnbic6IDIgfSwgeyAnbic6IDggfSwgeyAnbic6IDYgfV07XG4gICAgICpcbiAgICAgKiBfLnN1bUJ5KG9iamVjdHMsIGZ1bmN0aW9uKG8pIHsgcmV0dXJuIG8ubjsgfSk7XG4gICAgICogLy8gPT4gMjBcbiAgICAgKlxuICAgICAqIC8vIFRoZSBgXy5wcm9wZXJ0eWAgaXRlcmF0ZWUgc2hvcnRoYW5kLlxuICAgICAqIF8uc3VtQnkob2JqZWN0cywgJ24nKTtcbiAgICAgKiAvLyA9PiAyMFxuICAgICAqL1xuICAgIGZ1bmN0aW9uIHN1bUJ5KGFycmF5LCBpdGVyYXRlZSkge1xuICAgICAgcmV0dXJuIChhcnJheSAmJiBhcnJheS5sZW5ndGgpXG4gICAgICAgID8gYmFzZVN1bShhcnJheSwgZ2V0SXRlcmF0ZWUoaXRlcmF0ZWUsIDIpKVxuICAgICAgICA6IDA7XG4gICAgfVxuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLy8gQWRkIG1ldGhvZHMgdGhhdCByZXR1cm4gd3JhcHBlZCB2YWx1ZXMgaW4gY2hhaW4gc2VxdWVuY2VzLlxuICAgIGxvZGFzaC5hZnRlciA9IGFmdGVyO1xuICAgIGxvZGFzaC5hcnkgPSBhcnk7XG4gICAgbG9kYXNoLmFzc2lnbiA9IGFzc2lnbjtcbiAgICBsb2Rhc2guYXNzaWduSW4gPSBhc3NpZ25JbjtcbiAgICBsb2Rhc2guYXNzaWduSW5XaXRoID0gYXNzaWduSW5XaXRoO1xuICAgIGxvZGFzaC5hc3NpZ25XaXRoID0gYXNzaWduV2l0aDtcbiAgICBsb2Rhc2guYXQgPSBhdDtcbiAgICBsb2Rhc2guYmVmb3JlID0gYmVmb3JlO1xuICAgIGxvZGFzaC5iaW5kID0gYmluZDtcbiAgICBsb2Rhc2guYmluZEFsbCA9IGJpbmRBbGw7XG4gICAgbG9kYXNoLmJpbmRLZXkgPSBiaW5kS2V5O1xuICAgIGxvZGFzaC5jYXN0QXJyYXkgPSBjYXN0QXJyYXk7XG4gICAgbG9kYXNoLmNoYWluID0gY2hhaW47XG4gICAgbG9kYXNoLmNodW5rID0gY2h1bms7XG4gICAgbG9kYXNoLmNvbXBhY3QgPSBjb21wYWN0O1xuICAgIGxvZGFzaC5jb25jYXQgPSBjb25jYXQ7XG4gICAgbG9kYXNoLmNvbmQgPSBjb25kO1xuICAgIGxvZGFzaC5jb25mb3JtcyA9IGNvbmZvcm1zO1xuICAgIGxvZGFzaC5jb25zdGFudCA9IGNvbnN0YW50O1xuICAgIGxvZGFzaC5jb3VudEJ5ID0gY291bnRCeTtcbiAgICBsb2Rhc2guY3JlYXRlID0gY3JlYXRlO1xuICAgIGxvZGFzaC5jdXJyeSA9IGN1cnJ5O1xuICAgIGxvZGFzaC5jdXJyeVJpZ2h0ID0gY3VycnlSaWdodDtcbiAgICBsb2Rhc2guZGVib3VuY2UgPSBkZWJvdW5jZTtcbiAgICBsb2Rhc2guZGVmYXVsdHMgPSBkZWZhdWx0cztcbiAgICBsb2Rhc2guZGVmYXVsdHNEZWVwID0gZGVmYXVsdHNEZWVwO1xuICAgIGxvZGFzaC5kZWZlciA9IGRlZmVyO1xuICAgIGxvZGFzaC5kZWxheSA9IGRlbGF5O1xuICAgIGxvZGFzaC5kaWZmZXJlbmNlID0gZGlmZmVyZW5jZTtcbiAgICBsb2Rhc2guZGlmZmVyZW5jZUJ5ID0gZGlmZmVyZW5jZUJ5O1xuICAgIGxvZGFzaC5kaWZmZXJlbmNlV2l0aCA9IGRpZmZlcmVuY2VXaXRoO1xuICAgIGxvZGFzaC5kcm9wID0gZHJvcDtcbiAgICBsb2Rhc2guZHJvcFJpZ2h0ID0gZHJvcFJpZ2h0O1xuICAgIGxvZGFzaC5kcm9wUmlnaHRXaGlsZSA9IGRyb3BSaWdodFdoaWxlO1xuICAgIGxvZGFzaC5kcm9wV2hpbGUgPSBkcm9wV2hpbGU7XG4gICAgbG9kYXNoLmZpbGwgPSBmaWxsO1xuICAgIGxvZGFzaC5maWx0ZXIgPSBmaWx0ZXI7XG4gICAgbG9kYXNoLmZsYXRNYXAgPSBmbGF0TWFwO1xuICAgIGxvZGFzaC5mbGF0TWFwRGVlcCA9IGZsYXRNYXBEZWVwO1xuICAgIGxvZGFzaC5mbGF0TWFwRGVwdGggPSBmbGF0TWFwRGVwdGg7XG4gICAgbG9kYXNoLmZsYXR0ZW4gPSBmbGF0dGVuO1xuICAgIGxvZGFzaC5mbGF0dGVuRGVlcCA9IGZsYXR0ZW5EZWVwO1xuICAgIGxvZGFzaC5mbGF0dGVuRGVwdGggPSBmbGF0dGVuRGVwdGg7XG4gICAgbG9kYXNoLmZsaXAgPSBmbGlwO1xuICAgIGxvZGFzaC5mbG93ID0gZmxvdztcbiAgICBsb2Rhc2guZmxvd1JpZ2h0ID0gZmxvd1JpZ2h0O1xuICAgIGxvZGFzaC5mcm9tUGFpcnMgPSBmcm9tUGFpcnM7XG4gICAgbG9kYXNoLmZ1bmN0aW9ucyA9IGZ1bmN0aW9ucztcbiAgICBsb2Rhc2guZnVuY3Rpb25zSW4gPSBmdW5jdGlvbnNJbjtcbiAgICBsb2Rhc2guZ3JvdXBCeSA9IGdyb3VwQnk7XG4gICAgbG9kYXNoLmluaXRpYWwgPSBpbml0aWFsO1xuICAgIGxvZGFzaC5pbnRlcnNlY3Rpb24gPSBpbnRlcnNlY3Rpb247XG4gICAgbG9kYXNoLmludGVyc2VjdGlvbkJ5ID0gaW50ZXJzZWN0aW9uQnk7XG4gICAgbG9kYXNoLmludGVyc2VjdGlvbldpdGggPSBpbnRlcnNlY3Rpb25XaXRoO1xuICAgIGxvZGFzaC5pbnZlcnQgPSBpbnZlcnQ7XG4gICAgbG9kYXNoLmludmVydEJ5ID0gaW52ZXJ0Qnk7XG4gICAgbG9kYXNoLmludm9rZU1hcCA9IGludm9rZU1hcDtcbiAgICBsb2Rhc2guaXRlcmF0ZWUgPSBpdGVyYXRlZTtcbiAgICBsb2Rhc2gua2V5QnkgPSBrZXlCeTtcbiAgICBsb2Rhc2gua2V5cyA9IGtleXM7XG4gICAgbG9kYXNoLmtleXNJbiA9IGtleXNJbjtcbiAgICBsb2Rhc2gubWFwID0gbWFwO1xuICAgIGxvZGFzaC5tYXBLZXlzID0gbWFwS2V5cztcbiAgICBsb2Rhc2gubWFwVmFsdWVzID0gbWFwVmFsdWVzO1xuICAgIGxvZGFzaC5tYXRjaGVzID0gbWF0Y2hlcztcbiAgICBsb2Rhc2gubWF0Y2hlc1Byb3BlcnR5ID0gbWF0Y2hlc1Byb3BlcnR5O1xuICAgIGxvZGFzaC5tZW1vaXplID0gbWVtb2l6ZTtcbiAgICBsb2Rhc2gubWVyZ2UgPSBtZXJnZTtcbiAgICBsb2Rhc2gubWVyZ2VXaXRoID0gbWVyZ2VXaXRoO1xuICAgIGxvZGFzaC5tZXRob2QgPSBtZXRob2Q7XG4gICAgbG9kYXNoLm1ldGhvZE9mID0gbWV0aG9kT2Y7XG4gICAgbG9kYXNoLm1peGluID0gbWl4aW47XG4gICAgbG9kYXNoLm5lZ2F0ZSA9IG5lZ2F0ZTtcbiAgICBsb2Rhc2gubnRoQXJnID0gbnRoQXJnO1xuICAgIGxvZGFzaC5vbWl0ID0gb21pdDtcbiAgICBsb2Rhc2gub21pdEJ5ID0gb21pdEJ5O1xuICAgIGxvZGFzaC5vbmNlID0gb25jZTtcbiAgICBsb2Rhc2gub3JkZXJCeSA9IG9yZGVyQnk7XG4gICAgbG9kYXNoLm92ZXIgPSBvdmVyO1xuICAgIGxvZGFzaC5vdmVyQXJncyA9IG92ZXJBcmdzO1xuICAgIGxvZGFzaC5vdmVyRXZlcnkgPSBvdmVyRXZlcnk7XG4gICAgbG9kYXNoLm92ZXJTb21lID0gb3ZlclNvbWU7XG4gICAgbG9kYXNoLnBhcnRpYWwgPSBwYXJ0aWFsO1xuICAgIGxvZGFzaC5wYXJ0aWFsUmlnaHQgPSBwYXJ0aWFsUmlnaHQ7XG4gICAgbG9kYXNoLnBhcnRpdGlvbiA9IHBhcnRpdGlvbjtcbiAgICBsb2Rhc2gucGljayA9IHBpY2s7XG4gICAgbG9kYXNoLnBpY2tCeSA9IHBpY2tCeTtcbiAgICBsb2Rhc2gucHJvcGVydHkgPSBwcm9wZXJ0eTtcbiAgICBsb2Rhc2gucHJvcGVydHlPZiA9IHByb3BlcnR5T2Y7XG4gICAgbG9kYXNoLnB1bGwgPSBwdWxsO1xuICAgIGxvZGFzaC5wdWxsQWxsID0gcHVsbEFsbDtcbiAgICBsb2Rhc2gucHVsbEFsbEJ5ID0gcHVsbEFsbEJ5O1xuICAgIGxvZGFzaC5wdWxsQWxsV2l0aCA9IHB1bGxBbGxXaXRoO1xuICAgIGxvZGFzaC5wdWxsQXQgPSBwdWxsQXQ7XG4gICAgbG9kYXNoLnJhbmdlID0gcmFuZ2U7XG4gICAgbG9kYXNoLnJhbmdlUmlnaHQgPSByYW5nZVJpZ2h0O1xuICAgIGxvZGFzaC5yZWFyZyA9IHJlYXJnO1xuICAgIGxvZGFzaC5yZWplY3QgPSByZWplY3Q7XG4gICAgbG9kYXNoLnJlbW92ZSA9IHJlbW92ZTtcbiAgICBsb2Rhc2gucmVzdCA9IHJlc3Q7XG4gICAgbG9kYXNoLnJldmVyc2UgPSByZXZlcnNlO1xuICAgIGxvZGFzaC5zYW1wbGVTaXplID0gc2FtcGxlU2l6ZTtcbiAgICBsb2Rhc2guc2V0ID0gc2V0O1xuICAgIGxvZGFzaC5zZXRXaXRoID0gc2V0V2l0aDtcbiAgICBsb2Rhc2guc2h1ZmZsZSA9IHNodWZmbGU7XG4gICAgbG9kYXNoLnNsaWNlID0gc2xpY2U7XG4gICAgbG9kYXNoLnNvcnRCeSA9IHNvcnRCeTtcbiAgICBsb2Rhc2guc29ydGVkVW5pcSA9IHNvcnRlZFVuaXE7XG4gICAgbG9kYXNoLnNvcnRlZFVuaXFCeSA9IHNvcnRlZFVuaXFCeTtcbiAgICBsb2Rhc2guc3BsaXQgPSBzcGxpdDtcbiAgICBsb2Rhc2guc3ByZWFkID0gc3ByZWFkO1xuICAgIGxvZGFzaC50YWlsID0gdGFpbDtcbiAgICBsb2Rhc2gudGFrZSA9IHRha2U7XG4gICAgbG9kYXNoLnRha2VSaWdodCA9IHRha2VSaWdodDtcbiAgICBsb2Rhc2gudGFrZVJpZ2h0V2hpbGUgPSB0YWtlUmlnaHRXaGlsZTtcbiAgICBsb2Rhc2gudGFrZVdoaWxlID0gdGFrZVdoaWxlO1xuICAgIGxvZGFzaC50YXAgPSB0YXA7XG4gICAgbG9kYXNoLnRocm90dGxlID0gdGhyb3R0bGU7XG4gICAgbG9kYXNoLnRocnUgPSB0aHJ1O1xuICAgIGxvZGFzaC50b0FycmF5ID0gdG9BcnJheTtcbiAgICBsb2Rhc2gudG9QYWlycyA9IHRvUGFpcnM7XG4gICAgbG9kYXNoLnRvUGFpcnNJbiA9IHRvUGFpcnNJbjtcbiAgICBsb2Rhc2gudG9QYXRoID0gdG9QYXRoO1xuICAgIGxvZGFzaC50b1BsYWluT2JqZWN0ID0gdG9QbGFpbk9iamVjdDtcbiAgICBsb2Rhc2gudHJhbnNmb3JtID0gdHJhbnNmb3JtO1xuICAgIGxvZGFzaC51bmFyeSA9IHVuYXJ5O1xuICAgIGxvZGFzaC51bmlvbiA9IHVuaW9uO1xuICAgIGxvZGFzaC51bmlvbkJ5ID0gdW5pb25CeTtcbiAgICBsb2Rhc2gudW5pb25XaXRoID0gdW5pb25XaXRoO1xuICAgIGxvZGFzaC51bmlxID0gdW5pcTtcbiAgICBsb2Rhc2gudW5pcUJ5ID0gdW5pcUJ5O1xuICAgIGxvZGFzaC51bmlxV2l0aCA9IHVuaXFXaXRoO1xuICAgIGxvZGFzaC51bnNldCA9IHVuc2V0O1xuICAgIGxvZGFzaC51bnppcCA9IHVuemlwO1xuICAgIGxvZGFzaC51bnppcFdpdGggPSB1bnppcFdpdGg7XG4gICAgbG9kYXNoLnVwZGF0ZSA9IHVwZGF0ZTtcbiAgICBsb2Rhc2gudXBkYXRlV2l0aCA9IHVwZGF0ZVdpdGg7XG4gICAgbG9kYXNoLnZhbHVlcyA9IHZhbHVlcztcbiAgICBsb2Rhc2gudmFsdWVzSW4gPSB2YWx1ZXNJbjtcbiAgICBsb2Rhc2gud2l0aG91dCA9IHdpdGhvdXQ7XG4gICAgbG9kYXNoLndvcmRzID0gd29yZHM7XG4gICAgbG9kYXNoLndyYXAgPSB3cmFwO1xuICAgIGxvZGFzaC54b3IgPSB4b3I7XG4gICAgbG9kYXNoLnhvckJ5ID0geG9yQnk7XG4gICAgbG9kYXNoLnhvcldpdGggPSB4b3JXaXRoO1xuICAgIGxvZGFzaC56aXAgPSB6aXA7XG4gICAgbG9kYXNoLnppcE9iamVjdCA9IHppcE9iamVjdDtcbiAgICBsb2Rhc2guemlwT2JqZWN0RGVlcCA9IHppcE9iamVjdERlZXA7XG4gICAgbG9kYXNoLnppcFdpdGggPSB6aXBXaXRoO1xuXG4gICAgLy8gQWRkIGFsaWFzZXMuXG4gICAgbG9kYXNoLmVudHJpZXMgPSB0b1BhaXJzO1xuICAgIGxvZGFzaC5lbnRyaWVzSW4gPSB0b1BhaXJzSW47XG4gICAgbG9kYXNoLmV4dGVuZCA9IGFzc2lnbkluO1xuICAgIGxvZGFzaC5leHRlbmRXaXRoID0gYXNzaWduSW5XaXRoO1xuXG4gICAgLy8gQWRkIG1ldGhvZHMgdG8gYGxvZGFzaC5wcm90b3R5cGVgLlxuICAgIG1peGluKGxvZGFzaCwgbG9kYXNoKTtcblxuICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAgIC8vIEFkZCBtZXRob2RzIHRoYXQgcmV0dXJuIHVud3JhcHBlZCB2YWx1ZXMgaW4gY2hhaW4gc2VxdWVuY2VzLlxuICAgIGxvZGFzaC5hZGQgPSBhZGQ7XG4gICAgbG9kYXNoLmF0dGVtcHQgPSBhdHRlbXB0O1xuICAgIGxvZGFzaC5jYW1lbENhc2UgPSBjYW1lbENhc2U7XG4gICAgbG9kYXNoLmNhcGl0YWxpemUgPSBjYXBpdGFsaXplO1xuICAgIGxvZGFzaC5jZWlsID0gY2VpbDtcbiAgICBsb2Rhc2guY2xhbXAgPSBjbGFtcDtcbiAgICBsb2Rhc2guY2xvbmUgPSBjbG9uZTtcbiAgICBsb2Rhc2guY2xvbmVEZWVwID0gY2xvbmVEZWVwO1xuICAgIGxvZGFzaC5jbG9uZURlZXBXaXRoID0gY2xvbmVEZWVwV2l0aDtcbiAgICBsb2Rhc2guY2xvbmVXaXRoID0gY2xvbmVXaXRoO1xuICAgIGxvZGFzaC5jb25mb3Jtc1RvID0gY29uZm9ybXNUbztcbiAgICBsb2Rhc2guZGVidXJyID0gZGVidXJyO1xuICAgIGxvZGFzaC5kZWZhdWx0VG8gPSBkZWZhdWx0VG87XG4gICAgbG9kYXNoLmRpdmlkZSA9IGRpdmlkZTtcbiAgICBsb2Rhc2guZW5kc1dpdGggPSBlbmRzV2l0aDtcbiAgICBsb2Rhc2guZXEgPSBlcTtcbiAgICBsb2Rhc2guZXNjYXBlID0gZXNjYXBlO1xuICAgIGxvZGFzaC5lc2NhcGVSZWdFeHAgPSBlc2NhcGVSZWdFeHA7XG4gICAgbG9kYXNoLmV2ZXJ5ID0gZXZlcnk7XG4gICAgbG9kYXNoLmZpbmQgPSBmaW5kO1xuICAgIGxvZGFzaC5maW5kSW5kZXggPSBmaW5kSW5kZXg7XG4gICAgbG9kYXNoLmZpbmRLZXkgPSBmaW5kS2V5O1xuICAgIGxvZGFzaC5maW5kTGFzdCA9IGZpbmRMYXN0O1xuICAgIGxvZGFzaC5maW5kTGFzdEluZGV4ID0gZmluZExhc3RJbmRleDtcbiAgICBsb2Rhc2guZmluZExhc3RLZXkgPSBmaW5kTGFzdEtleTtcbiAgICBsb2Rhc2guZmxvb3IgPSBmbG9vcjtcbiAgICBsb2Rhc2guZm9yRWFjaCA9IGZvckVhY2g7XG4gICAgbG9kYXNoLmZvckVhY2hSaWdodCA9IGZvckVhY2hSaWdodDtcbiAgICBsb2Rhc2guZm9ySW4gPSBmb3JJbjtcbiAgICBsb2Rhc2guZm9ySW5SaWdodCA9IGZvckluUmlnaHQ7XG4gICAgbG9kYXNoLmZvck93biA9IGZvck93bjtcbiAgICBsb2Rhc2guZm9yT3duUmlnaHQgPSBmb3JPd25SaWdodDtcbiAgICBsb2Rhc2guZ2V0ID0gZ2V0O1xuICAgIGxvZGFzaC5ndCA9IGd0O1xuICAgIGxvZGFzaC5ndGUgPSBndGU7XG4gICAgbG9kYXNoLmhhcyA9IGhhcztcbiAgICBsb2Rhc2guaGFzSW4gPSBoYXNJbjtcbiAgICBsb2Rhc2guaGVhZCA9IGhlYWQ7XG4gICAgbG9kYXNoLmlkZW50aXR5ID0gaWRlbnRpdHk7XG4gICAgbG9kYXNoLmluY2x1ZGVzID0gaW5jbHVkZXM7XG4gICAgbG9kYXNoLmluZGV4T2YgPSBpbmRleE9mO1xuICAgIGxvZGFzaC5pblJhbmdlID0gaW5SYW5nZTtcbiAgICBsb2Rhc2guaW52b2tlID0gaW52b2tlO1xuICAgIGxvZGFzaC5pc0FyZ3VtZW50cyA9IGlzQXJndW1lbnRzO1xuICAgIGxvZGFzaC5pc0FycmF5ID0gaXNBcnJheTtcbiAgICBsb2Rhc2guaXNBcnJheUJ1ZmZlciA9IGlzQXJyYXlCdWZmZXI7XG4gICAgbG9kYXNoLmlzQXJyYXlMaWtlID0gaXNBcnJheUxpa2U7XG4gICAgbG9kYXNoLmlzQXJyYXlMaWtlT2JqZWN0ID0gaXNBcnJheUxpa2VPYmplY3Q7XG4gICAgbG9kYXNoLmlzQm9vbGVhbiA9IGlzQm9vbGVhbjtcbiAgICBsb2Rhc2guaXNCdWZmZXIgPSBpc0J1ZmZlcjtcbiAgICBsb2Rhc2guaXNEYXRlID0gaXNEYXRlO1xuICAgIGxvZGFzaC5pc0VsZW1lbnQgPSBpc0VsZW1lbnQ7XG4gICAgbG9kYXNoLmlzRW1wdHkgPSBpc0VtcHR5O1xuICAgIGxvZGFzaC5pc0VxdWFsID0gaXNFcXVhbDtcbiAgICBsb2Rhc2guaXNFcXVhbFdpdGggPSBpc0VxdWFsV2l0aDtcbiAgICBsb2Rhc2guaXNFcnJvciA9IGlzRXJyb3I7XG4gICAgbG9kYXNoLmlzRmluaXRlID0gaXNGaW5pdGU7XG4gICAgbG9kYXNoLmlzRnVuY3Rpb24gPSBpc0Z1bmN0aW9uO1xuICAgIGxvZGFzaC5pc0ludGVnZXIgPSBpc0ludGVnZXI7XG4gICAgbG9kYXNoLmlzTGVuZ3RoID0gaXNMZW5ndGg7XG4gICAgbG9kYXNoLmlzTWFwID0gaXNNYXA7XG4gICAgbG9kYXNoLmlzTWF0Y2ggPSBpc01hdGNoO1xuICAgIGxvZGFzaC5pc01hdGNoV2l0aCA9IGlzTWF0Y2hXaXRoO1xuICAgIGxvZGFzaC5pc05hTiA9IGlzTmFOO1xuICAgIGxvZGFzaC5pc05hdGl2ZSA9IGlzTmF0aXZlO1xuICAgIGxvZGFzaC5pc05pbCA9IGlzTmlsO1xuICAgIGxvZGFzaC5pc051bGwgPSBpc051bGw7XG4gICAgbG9kYXNoLmlzTnVtYmVyID0gaXNOdW1iZXI7XG4gICAgbG9kYXNoLmlzT2JqZWN0ID0gaXNPYmplY3Q7XG4gICAgbG9kYXNoLmlzT2JqZWN0TGlrZSA9IGlzT2JqZWN0TGlrZTtcbiAgICBsb2Rhc2guaXNQbGFpbk9iamVjdCA9IGlzUGxhaW5PYmplY3Q7XG4gICAgbG9kYXNoLmlzUmVnRXhwID0gaXNSZWdFeHA7XG4gICAgbG9kYXNoLmlzU2FmZUludGVnZXIgPSBpc1NhZmVJbnRlZ2VyO1xuICAgIGxvZGFzaC5pc1NldCA9IGlzU2V0O1xuICAgIGxvZGFzaC5pc1N0cmluZyA9IGlzU3RyaW5nO1xuICAgIGxvZGFzaC5pc1N5bWJvbCA9IGlzU3ltYm9sO1xuICAgIGxvZGFzaC5pc1R5cGVkQXJyYXkgPSBpc1R5cGVkQXJyYXk7XG4gICAgbG9kYXNoLmlzVW5kZWZpbmVkID0gaXNVbmRlZmluZWQ7XG4gICAgbG9kYXNoLmlzV2Vha01hcCA9IGlzV2Vha01hcDtcbiAgICBsb2Rhc2guaXNXZWFrU2V0ID0gaXNXZWFrU2V0O1xuICAgIGxvZGFzaC5qb2luID0gam9pbjtcbiAgICBsb2Rhc2gua2ViYWJDYXNlID0ga2ViYWJDYXNlO1xuICAgIGxvZGFzaC5sYXN0ID0gbGFzdDtcbiAgICBsb2Rhc2gubGFzdEluZGV4T2YgPSBsYXN0SW5kZXhPZjtcbiAgICBsb2Rhc2gubG93ZXJDYXNlID0gbG93ZXJDYXNlO1xuICAgIGxvZGFzaC5sb3dlckZpcnN0ID0gbG93ZXJGaXJzdDtcbiAgICBsb2Rhc2gubHQgPSBsdDtcbiAgICBsb2Rhc2gubHRlID0gbHRlO1xuICAgIGxvZGFzaC5tYXggPSBtYXg7XG4gICAgbG9kYXNoLm1heEJ5ID0gbWF4Qnk7XG4gICAgbG9kYXNoLm1lYW4gPSBtZWFuO1xuICAgIGxvZGFzaC5tZWFuQnkgPSBtZWFuQnk7XG4gICAgbG9kYXNoLm1pbiA9IG1pbjtcbiAgICBsb2Rhc2gubWluQnkgPSBtaW5CeTtcbiAgICBsb2Rhc2guc3R1YkFycmF5ID0gc3R1YkFycmF5O1xuICAgIGxvZGFzaC5zdHViRmFsc2UgPSBzdHViRmFsc2U7XG4gICAgbG9kYXNoLnN0dWJPYmplY3QgPSBzdHViT2JqZWN0O1xuICAgIGxvZGFzaC5zdHViU3RyaW5nID0gc3R1YlN0cmluZztcbiAgICBsb2Rhc2guc3R1YlRydWUgPSBzdHViVHJ1ZTtcbiAgICBsb2Rhc2gubXVsdGlwbHkgPSBtdWx0aXBseTtcbiAgICBsb2Rhc2gubnRoID0gbnRoO1xuICAgIGxvZGFzaC5ub0NvbmZsaWN0ID0gbm9Db25mbGljdDtcbiAgICBsb2Rhc2gubm9vcCA9IG5vb3A7XG4gICAgbG9kYXNoLm5vdyA9IG5vdztcbiAgICBsb2Rhc2gucGFkID0gcGFkO1xuICAgIGxvZGFzaC5wYWRFbmQgPSBwYWRFbmQ7XG4gICAgbG9kYXNoLnBhZFN0YXJ0ID0gcGFkU3RhcnQ7XG4gICAgbG9kYXNoLnBhcnNlSW50ID0gcGFyc2VJbnQ7XG4gICAgbG9kYXNoLnJhbmRvbSA9IHJhbmRvbTtcbiAgICBsb2Rhc2gucmVkdWNlID0gcmVkdWNlO1xuICAgIGxvZGFzaC5yZWR1Y2VSaWdodCA9IHJlZHVjZVJpZ2h0O1xuICAgIGxvZGFzaC5yZXBlYXQgPSByZXBlYXQ7XG4gICAgbG9kYXNoLnJlcGxhY2UgPSByZXBsYWNlO1xuICAgIGxvZGFzaC5yZXN1bHQgPSByZXN1bHQ7XG4gICAgbG9kYXNoLnJvdW5kID0gcm91bmQ7XG4gICAgbG9kYXNoLnJ1bkluQ29udGV4dCA9IHJ1bkluQ29udGV4dDtcbiAgICBsb2Rhc2guc2FtcGxlID0gc2FtcGxlO1xuICAgIGxvZGFzaC5zaXplID0gc2l6ZTtcbiAgICBsb2Rhc2guc25ha2VDYXNlID0gc25ha2VDYXNlO1xuICAgIGxvZGFzaC5zb21lID0gc29tZTtcbiAgICBsb2Rhc2guc29ydGVkSW5kZXggPSBzb3J0ZWRJbmRleDtcbiAgICBsb2Rhc2guc29ydGVkSW5kZXhCeSA9IHNvcnRlZEluZGV4Qnk7XG4gICAgbG9kYXNoLnNvcnRlZEluZGV4T2YgPSBzb3J0ZWRJbmRleE9mO1xuICAgIGxvZGFzaC5zb3J0ZWRMYXN0SW5kZXggPSBzb3J0ZWRMYXN0SW5kZXg7XG4gICAgbG9kYXNoLnNvcnRlZExhc3RJbmRleEJ5ID0gc29ydGVkTGFzdEluZGV4Qnk7XG4gICAgbG9kYXNoLnNvcnRlZExhc3RJbmRleE9mID0gc29ydGVkTGFzdEluZGV4T2Y7XG4gICAgbG9kYXNoLnN0YXJ0Q2FzZSA9IHN0YXJ0Q2FzZTtcbiAgICBsb2Rhc2guc3RhcnRzV2l0aCA9IHN0YXJ0c1dpdGg7XG4gICAgbG9kYXNoLnN1YnRyYWN0ID0gc3VidHJhY3Q7XG4gICAgbG9kYXNoLnN1bSA9IHN1bTtcbiAgICBsb2Rhc2guc3VtQnkgPSBzdW1CeTtcbiAgICBsb2Rhc2gudGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICBsb2Rhc2gudGltZXMgPSB0aW1lcztcbiAgICBsb2Rhc2gudG9GaW5pdGUgPSB0b0Zpbml0ZTtcbiAgICBsb2Rhc2gudG9JbnRlZ2VyID0gdG9JbnRlZ2VyO1xuICAgIGxvZGFzaC50b0xlbmd0aCA9IHRvTGVuZ3RoO1xuICAgIGxvZGFzaC50b0xvd2VyID0gdG9Mb3dlcjtcbiAgICBsb2Rhc2gudG9OdW1iZXIgPSB0b051bWJlcjtcbiAgICBsb2Rhc2gudG9TYWZlSW50ZWdlciA9IHRvU2FmZUludGVnZXI7XG4gICAgbG9kYXNoLnRvU3RyaW5nID0gdG9TdHJpbmc7XG4gICAgbG9kYXNoLnRvVXBwZXIgPSB0b1VwcGVyO1xuICAgIGxvZGFzaC50cmltID0gdHJpbTtcbiAgICBsb2Rhc2gudHJpbUVuZCA9IHRyaW1FbmQ7XG4gICAgbG9kYXNoLnRyaW1TdGFydCA9IHRyaW1TdGFydDtcbiAgICBsb2Rhc2gudHJ1bmNhdGUgPSB0cnVuY2F0ZTtcbiAgICBsb2Rhc2gudW5lc2NhcGUgPSB1bmVzY2FwZTtcbiAgICBsb2Rhc2gudW5pcXVlSWQgPSB1bmlxdWVJZDtcbiAgICBsb2Rhc2gudXBwZXJDYXNlID0gdXBwZXJDYXNlO1xuICAgIGxvZGFzaC51cHBlckZpcnN0ID0gdXBwZXJGaXJzdDtcblxuICAgIC8vIEFkZCBhbGlhc2VzLlxuICAgIGxvZGFzaC5lYWNoID0gZm9yRWFjaDtcbiAgICBsb2Rhc2guZWFjaFJpZ2h0ID0gZm9yRWFjaFJpZ2h0O1xuICAgIGxvZGFzaC5maXJzdCA9IGhlYWQ7XG5cbiAgICBtaXhpbihsb2Rhc2gsIChmdW5jdGlvbigpIHtcbiAgICAgIHZhciBzb3VyY2UgPSB7fTtcbiAgICAgIGJhc2VGb3JPd24obG9kYXNoLCBmdW5jdGlvbihmdW5jLCBtZXRob2ROYW1lKSB7XG4gICAgICAgIGlmICghaGFzT3duUHJvcGVydHkuY2FsbChsb2Rhc2gucHJvdG90eXBlLCBtZXRob2ROYW1lKSkge1xuICAgICAgICAgIHNvdXJjZVttZXRob2ROYW1lXSA9IGZ1bmM7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICB9KCkpLCB7ICdjaGFpbic6IGZhbHNlIH0pO1xuXG4gICAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNlbWFudGljIHZlcnNpb24gbnVtYmVyLlxuICAgICAqXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBtZW1iZXJPZiBfXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBsb2Rhc2guVkVSU0lPTiA9IFZFUlNJT047XG5cbiAgICAvLyBBc3NpZ24gZGVmYXVsdCBwbGFjZWhvbGRlcnMuXG4gICAgYXJyYXlFYWNoKFsnYmluZCcsICdiaW5kS2V5JywgJ2N1cnJ5JywgJ2N1cnJ5UmlnaHQnLCAncGFydGlhbCcsICdwYXJ0aWFsUmlnaHQnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSkge1xuICAgICAgbG9kYXNoW21ldGhvZE5hbWVdLnBsYWNlaG9sZGVyID0gbG9kYXNoO1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyBmb3IgYF8uZHJvcGAgYW5kIGBfLnRha2VgIHZhcmlhbnRzLlxuICAgIGFycmF5RWFjaChbJ2Ryb3AnLCAndGFrZSddLCBmdW5jdGlvbihtZXRob2ROYW1lLCBpbmRleCkge1xuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24obikge1xuICAgICAgICBuID0gbiA9PT0gdW5kZWZpbmVkID8gMSA6IG5hdGl2ZU1heCh0b0ludGVnZXIobiksIDApO1xuXG4gICAgICAgIHZhciByZXN1bHQgPSAodGhpcy5fX2ZpbHRlcmVkX18gJiYgIWluZGV4KVxuICAgICAgICAgID8gbmV3IExhenlXcmFwcGVyKHRoaXMpXG4gICAgICAgICAgOiB0aGlzLmNsb25lKCk7XG5cbiAgICAgICAgaWYgKHJlc3VsdC5fX2ZpbHRlcmVkX18pIHtcbiAgICAgICAgICByZXN1bHQuX190YWtlQ291bnRfXyA9IG5hdGl2ZU1pbihuLCByZXN1bHQuX190YWtlQ291bnRfXyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0Ll9fdmlld3NfXy5wdXNoKHtcbiAgICAgICAgICAgICdzaXplJzogbmF0aXZlTWluKG4sIE1BWF9BUlJBWV9MRU5HVEgpLFxuICAgICAgICAgICAgJ3R5cGUnOiBtZXRob2ROYW1lICsgKHJlc3VsdC5fX2Rpcl9fIDwgMCA/ICdSaWdodCcgOiAnJylcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcblxuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWUgKyAnUmlnaHQnXSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmV2ZXJzZSgpW21ldGhvZE5hbWVdKG4pLnJldmVyc2UoKTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYExhenlXcmFwcGVyYCBtZXRob2RzIHRoYXQgYWNjZXB0IGFuIGBpdGVyYXRlZWAgdmFsdWUuXG4gICAgYXJyYXlFYWNoKFsnZmlsdGVyJywgJ21hcCcsICd0YWtlV2hpbGUnXSwgZnVuY3Rpb24obWV0aG9kTmFtZSwgaW5kZXgpIHtcbiAgICAgIHZhciB0eXBlID0gaW5kZXggKyAxLFxuICAgICAgICAgIGlzRmlsdGVyID0gdHlwZSA9PSBMQVpZX0ZJTFRFUl9GTEFHIHx8IHR5cGUgPT0gTEFaWV9XSElMRV9GTEFHO1xuXG4gICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbihpdGVyYXRlZSkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gdGhpcy5jbG9uZSgpO1xuICAgICAgICByZXN1bHQuX19pdGVyYXRlZXNfXy5wdXNoKHtcbiAgICAgICAgICAnaXRlcmF0ZWUnOiBnZXRJdGVyYXRlZShpdGVyYXRlZSwgMyksXG4gICAgICAgICAgJ3R5cGUnOiB0eXBlXG4gICAgICAgIH0pO1xuICAgICAgICByZXN1bHQuX19maWx0ZXJlZF9fID0gcmVzdWx0Ll9fZmlsdGVyZWRfXyB8fCBpc0ZpbHRlcjtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYExhenlXcmFwcGVyYCBtZXRob2RzIGZvciBgXy5oZWFkYCBhbmQgYF8ubGFzdGAuXG4gICAgYXJyYXlFYWNoKFsnaGVhZCcsICdsYXN0J10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUsIGluZGV4KSB7XG4gICAgICB2YXIgdGFrZU5hbWUgPSAndGFrZScgKyAoaW5kZXggPyAnUmlnaHQnIDogJycpO1xuXG4gICAgICBMYXp5V3JhcHBlci5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbdGFrZU5hbWVdKDEpLnZhbHVlKClbMF07XG4gICAgICB9O1xuICAgIH0pO1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyBmb3IgYF8uaW5pdGlhbGAgYW5kIGBfLnRhaWxgLlxuICAgIGFycmF5RWFjaChbJ2luaXRpYWwnLCAndGFpbCddLCBmdW5jdGlvbihtZXRob2ROYW1lLCBpbmRleCkge1xuICAgICAgdmFyIGRyb3BOYW1lID0gJ2Ryb3AnICsgKGluZGV4ID8gJycgOiAnUmlnaHQnKTtcblxuICAgICAgTGF6eVdyYXBwZXIucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9fZmlsdGVyZWRfXyA/IG5ldyBMYXp5V3JhcHBlcih0aGlzKSA6IHRoaXNbZHJvcE5hbWVdKDEpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5jb21wYWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpcy5maWx0ZXIoaWRlbnRpdHkpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuZmluZCA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKHByZWRpY2F0ZSkuaGVhZCgpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUuZmluZExhc3QgPSBmdW5jdGlvbihwcmVkaWNhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJldmVyc2UoKS5maW5kKHByZWRpY2F0ZSk7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5pbnZva2VNYXAgPSBiYXNlUmVzdChmdW5jdGlvbihwYXRoLCBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIHBhdGggPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICByZXR1cm4gbmV3IExhenlXcmFwcGVyKHRoaXMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBiYXNlSW52b2tlKHZhbHVlLCBwYXRoLCBhcmdzKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnJlamVjdCA9IGZ1bmN0aW9uKHByZWRpY2F0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyKG5lZ2F0ZShnZXRJdGVyYXRlZShwcmVkaWNhdGUpKSk7XG4gICAgfTtcblxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5zbGljZSA9IGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHtcbiAgICAgIHN0YXJ0ID0gdG9JbnRlZ2VyKHN0YXJ0KTtcblxuICAgICAgdmFyIHJlc3VsdCA9IHRoaXM7XG4gICAgICBpZiAocmVzdWx0Ll9fZmlsdGVyZWRfXyAmJiAoc3RhcnQgPiAwIHx8IGVuZCA8IDApKSB7XG4gICAgICAgIHJldHVybiBuZXcgTGF6eVdyYXBwZXIocmVzdWx0KTtcbiAgICAgIH1cbiAgICAgIGlmIChzdGFydCA8IDApIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LnRha2VSaWdodCgtc3RhcnQpO1xuICAgICAgfSBlbHNlIGlmIChzdGFydCkge1xuICAgICAgICByZXN1bHQgPSByZXN1bHQuZHJvcChzdGFydCk7XG4gICAgICB9XG4gICAgICBpZiAoZW5kICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZW5kID0gdG9JbnRlZ2VyKGVuZCk7XG4gICAgICAgIHJlc3VsdCA9IGVuZCA8IDAgPyByZXN1bHQuZHJvcFJpZ2h0KC1lbmQpIDogcmVzdWx0LnRha2UoZW5kIC0gc3RhcnQpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuXG4gICAgTGF6eVdyYXBwZXIucHJvdG90eXBlLnRha2VSaWdodFdoaWxlID0gZnVuY3Rpb24ocHJlZGljYXRlKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXZlcnNlKCkudGFrZVdoaWxlKHByZWRpY2F0ZSkucmV2ZXJzZSgpO1xuICAgIH07XG5cbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUudG9BcnJheSA9IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIHRoaXMudGFrZShNQVhfQVJSQVlfTEVOR1RIKTtcbiAgICB9O1xuXG4gICAgLy8gQWRkIGBMYXp5V3JhcHBlcmAgbWV0aG9kcyB0byBgbG9kYXNoLnByb3RvdHlwZWAuXG4gICAgYmFzZUZvck93bihMYXp5V3JhcHBlci5wcm90b3R5cGUsIGZ1bmN0aW9uKGZ1bmMsIG1ldGhvZE5hbWUpIHtcbiAgICAgIHZhciBjaGVja0l0ZXJhdGVlID0gL14oPzpmaWx0ZXJ8ZmluZHxtYXB8cmVqZWN0KXxXaGlsZSQvLnRlc3QobWV0aG9kTmFtZSksXG4gICAgICAgICAgaXNUYWtlciA9IC9eKD86aGVhZHxsYXN0KSQvLnRlc3QobWV0aG9kTmFtZSksXG4gICAgICAgICAgbG9kYXNoRnVuYyA9IGxvZGFzaFtpc1Rha2VyID8gKCd0YWtlJyArIChtZXRob2ROYW1lID09ICdsYXN0JyA/ICdSaWdodCcgOiAnJykpIDogbWV0aG9kTmFtZV0sXG4gICAgICAgICAgcmV0VW53cmFwcGVkID0gaXNUYWtlciB8fCAvXmZpbmQvLnRlc3QobWV0aG9kTmFtZSk7XG5cbiAgICAgIGlmICghbG9kYXNoRnVuYykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsb2Rhc2gucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciB2YWx1ZSA9IHRoaXMuX193cmFwcGVkX18sXG4gICAgICAgICAgICBhcmdzID0gaXNUYWtlciA/IFsxXSA6IGFyZ3VtZW50cyxcbiAgICAgICAgICAgIGlzTGF6eSA9IHZhbHVlIGluc3RhbmNlb2YgTGF6eVdyYXBwZXIsXG4gICAgICAgICAgICBpdGVyYXRlZSA9IGFyZ3NbMF0sXG4gICAgICAgICAgICB1c2VMYXp5ID0gaXNMYXp5IHx8IGlzQXJyYXkodmFsdWUpO1xuXG4gICAgICAgIHZhciBpbnRlcmNlcHRvciA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IGxvZGFzaEZ1bmMuYXBwbHkobG9kYXNoLCBhcnJheVB1c2goW3ZhbHVlXSwgYXJncykpO1xuICAgICAgICAgIHJldHVybiAoaXNUYWtlciAmJiBjaGFpbkFsbCkgPyByZXN1bHRbMF0gOiByZXN1bHQ7XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHVzZUxhenkgJiYgY2hlY2tJdGVyYXRlZSAmJiB0eXBlb2YgaXRlcmF0ZWUgPT0gJ2Z1bmN0aW9uJyAmJiBpdGVyYXRlZS5sZW5ndGggIT0gMSkge1xuICAgICAgICAgIC8vIEF2b2lkIGxhenkgdXNlIGlmIHRoZSBpdGVyYXRlZSBoYXMgYSBcImxlbmd0aFwiIHZhbHVlIG90aGVyIHRoYW4gYDFgLlxuICAgICAgICAgIGlzTGF6eSA9IHVzZUxhenkgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgY2hhaW5BbGwgPSB0aGlzLl9fY2hhaW5fXyxcbiAgICAgICAgICAgIGlzSHlicmlkID0gISF0aGlzLl9fYWN0aW9uc19fLmxlbmd0aCxcbiAgICAgICAgICAgIGlzVW53cmFwcGVkID0gcmV0VW53cmFwcGVkICYmICFjaGFpbkFsbCxcbiAgICAgICAgICAgIG9ubHlMYXp5ID0gaXNMYXp5ICYmICFpc0h5YnJpZDtcblxuICAgICAgICBpZiAoIXJldFVud3JhcHBlZCAmJiB1c2VMYXp5KSB7XG4gICAgICAgICAgdmFsdWUgPSBvbmx5TGF6eSA/IHZhbHVlIDogbmV3IExhenlXcmFwcGVyKHRoaXMpO1xuICAgICAgICAgIHZhciByZXN1bHQgPSBmdW5jLmFwcGx5KHZhbHVlLCBhcmdzKTtcbiAgICAgICAgICByZXN1bHQuX19hY3Rpb25zX18ucHVzaCh7ICdmdW5jJzogdGhydSwgJ2FyZ3MnOiBbaW50ZXJjZXB0b3JdLCAndGhpc0FyZyc6IHVuZGVmaW5lZCB9KTtcbiAgICAgICAgICByZXR1cm4gbmV3IExvZGFzaFdyYXBwZXIocmVzdWx0LCBjaGFpbkFsbCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzVW53cmFwcGVkICYmIG9ubHlMYXp5KSB7XG4gICAgICAgICAgcmV0dXJuIGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVzdWx0ID0gdGhpcy50aHJ1KGludGVyY2VwdG9yKTtcbiAgICAgICAgcmV0dXJuIGlzVW53cmFwcGVkID8gKGlzVGFrZXIgPyByZXN1bHQudmFsdWUoKVswXSA6IHJlc3VsdC52YWx1ZSgpKSA6IHJlc3VsdDtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBBZGQgYEFycmF5YCBtZXRob2RzIHRvIGBsb2Rhc2gucHJvdG90eXBlYC5cbiAgICBhcnJheUVhY2goWydwb3AnLCAncHVzaCcsICdzaGlmdCcsICdzb3J0JywgJ3NwbGljZScsICd1bnNoaWZ0J10sIGZ1bmN0aW9uKG1ldGhvZE5hbWUpIHtcbiAgICAgIHZhciBmdW5jID0gYXJyYXlQcm90b1ttZXRob2ROYW1lXSxcbiAgICAgICAgICBjaGFpbk5hbWUgPSAvXig/OnB1c2h8c29ydHx1bnNoaWZ0KSQvLnRlc3QobWV0aG9kTmFtZSkgPyAndGFwJyA6ICd0aHJ1JyxcbiAgICAgICAgICByZXRVbndyYXBwZWQgPSAvXig/OnBvcHxzaGlmdCkkLy50ZXN0KG1ldGhvZE5hbWUpO1xuXG4gICAgICBsb2Rhc2gucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzO1xuICAgICAgICBpZiAocmV0VW53cmFwcGVkICYmICF0aGlzLl9fY2hhaW5fXykge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMudmFsdWUoKTtcbiAgICAgICAgICByZXR1cm4gZnVuYy5hcHBseShpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW10sIGFyZ3MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzW2NoYWluTmFtZV0oZnVuY3Rpb24odmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gZnVuYy5hcHBseShpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW10sIGFyZ3MpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICAvLyBNYXAgbWluaWZpZWQgbWV0aG9kIG5hbWVzIHRvIHRoZWlyIHJlYWwgbmFtZXMuXG4gICAgYmFzZUZvck93bihMYXp5V3JhcHBlci5wcm90b3R5cGUsIGZ1bmN0aW9uKGZ1bmMsIG1ldGhvZE5hbWUpIHtcbiAgICAgIHZhciBsb2Rhc2hGdW5jID0gbG9kYXNoW21ldGhvZE5hbWVdO1xuICAgICAgaWYgKGxvZGFzaEZ1bmMpIHtcbiAgICAgICAgdmFyIGtleSA9IGxvZGFzaEZ1bmMubmFtZSArICcnO1xuICAgICAgICBpZiAoIWhhc093blByb3BlcnR5LmNhbGwocmVhbE5hbWVzLCBrZXkpKSB7XG4gICAgICAgICAgcmVhbE5hbWVzW2tleV0gPSBbXTtcbiAgICAgICAgfVxuICAgICAgICByZWFsTmFtZXNba2V5XS5wdXNoKHsgJ25hbWUnOiBtZXRob2ROYW1lLCAnZnVuYyc6IGxvZGFzaEZ1bmMgfSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZWFsTmFtZXNbY3JlYXRlSHlicmlkKHVuZGVmaW5lZCwgV1JBUF9CSU5EX0tFWV9GTEFHKS5uYW1lXSA9IFt7XG4gICAgICAnbmFtZSc6ICd3cmFwcGVyJyxcbiAgICAgICdmdW5jJzogdW5kZWZpbmVkXG4gICAgfV07XG5cbiAgICAvLyBBZGQgbWV0aG9kcyB0byBgTGF6eVdyYXBwZXJgLlxuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS5jbG9uZSA9IGxhenlDbG9uZTtcbiAgICBMYXp5V3JhcHBlci5wcm90b3R5cGUucmV2ZXJzZSA9IGxhenlSZXZlcnNlO1xuICAgIExhenlXcmFwcGVyLnByb3RvdHlwZS52YWx1ZSA9IGxhenlWYWx1ZTtcblxuICAgIC8vIEFkZCBjaGFpbiBzZXF1ZW5jZSBtZXRob2RzIHRvIHRoZSBgbG9kYXNoYCB3cmFwcGVyLlxuICAgIGxvZGFzaC5wcm90b3R5cGUuYXQgPSB3cmFwcGVyQXQ7XG4gICAgbG9kYXNoLnByb3RvdHlwZS5jaGFpbiA9IHdyYXBwZXJDaGFpbjtcbiAgICBsb2Rhc2gucHJvdG90eXBlLmNvbW1pdCA9IHdyYXBwZXJDb21taXQ7XG4gICAgbG9kYXNoLnByb3RvdHlwZS5uZXh0ID0gd3JhcHBlck5leHQ7XG4gICAgbG9kYXNoLnByb3RvdHlwZS5wbGFudCA9IHdyYXBwZXJQbGFudDtcbiAgICBsb2Rhc2gucHJvdG90eXBlLnJldmVyc2UgPSB3cmFwcGVyUmV2ZXJzZTtcbiAgICBsb2Rhc2gucHJvdG90eXBlLnRvSlNPTiA9IGxvZGFzaC5wcm90b3R5cGUudmFsdWVPZiA9IGxvZGFzaC5wcm90b3R5cGUudmFsdWUgPSB3cmFwcGVyVmFsdWU7XG5cbiAgICAvLyBBZGQgbGF6eSBhbGlhc2VzLlxuICAgIGxvZGFzaC5wcm90b3R5cGUuZmlyc3QgPSBsb2Rhc2gucHJvdG90eXBlLmhlYWQ7XG5cbiAgICBpZiAoc3ltSXRlcmF0b3IpIHtcbiAgICAgIGxvZGFzaC5wcm90b3R5cGVbc3ltSXRlcmF0b3JdID0gd3JhcHBlclRvSXRlcmF0b3I7XG4gICAgfVxuICAgIHJldHVybiBsb2Rhc2g7XG4gIH0pO1xuXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIC8vIEV4cG9ydCBsb2Rhc2guXG4gIHZhciBfID0gcnVuSW5Db250ZXh0KCk7XG5cbiAgLy8gU29tZSBBTUQgYnVpbGQgb3B0aW1pemVycywgbGlrZSByLmpzLCBjaGVjayBmb3IgY29uZGl0aW9uIHBhdHRlcm5zIGxpa2U6XG4gIGlmICh0eXBlb2YgZGVmaW5lID09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGRlZmluZS5hbWQgPT0gJ29iamVjdCcgJiYgZGVmaW5lLmFtZCkge1xuICAgIC8vIEV4cG9zZSBMb2Rhc2ggb24gdGhlIGdsb2JhbCBvYmplY3QgdG8gcHJldmVudCBlcnJvcnMgd2hlbiBMb2Rhc2ggaXNcbiAgICAvLyBsb2FkZWQgYnkgYSBzY3JpcHQgdGFnIGluIHRoZSBwcmVzZW5jZSBvZiBhbiBBTUQgbG9hZGVyLlxuICAgIC8vIFNlZSBodHRwOi8vcmVxdWlyZWpzLm9yZy9kb2NzL2Vycm9ycy5odG1sI21pc21hdGNoIGZvciBtb3JlIGRldGFpbHMuXG4gICAgLy8gVXNlIGBfLm5vQ29uZmxpY3RgIHRvIHJlbW92ZSBMb2Rhc2ggZnJvbSB0aGUgZ2xvYmFsIG9iamVjdC5cbiAgICByb290Ll8gPSBfO1xuXG4gICAgLy8gRGVmaW5lIGFzIGFuIGFub255bW91cyBtb2R1bGUgc28sIHRocm91Z2ggcGF0aCBtYXBwaW5nLCBpdCBjYW4gYmVcbiAgICAvLyByZWZlcmVuY2VkIGFzIHRoZSBcInVuZGVyc2NvcmVcIiBtb2R1bGUuXG4gICAgZGVmaW5lKGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIF87XG4gICAgfSk7XG4gIH1cbiAgLy8gQ2hlY2sgZm9yIGBleHBvcnRzYCBhZnRlciBgZGVmaW5lYCBpbiBjYXNlIGEgYnVpbGQgb3B0aW1pemVyIGFkZHMgaXQuXG4gIGVsc2UgaWYgKGZyZWVNb2R1bGUpIHtcbiAgICAvLyBFeHBvcnQgZm9yIE5vZGUuanMuXG4gICAgKGZyZWVNb2R1bGUuZXhwb3J0cyA9IF8pLl8gPSBfO1xuICAgIC8vIEV4cG9ydCBmb3IgQ29tbW9uSlMgc3VwcG9ydC5cbiAgICBmcmVlRXhwb3J0cy5fID0gXztcbiAgfVxuICBlbHNlIHtcbiAgICAvLyBFeHBvcnQgdG8gdGhlIGdsb2JhbCBvYmplY3QuXG4gICAgcm9vdC5fID0gXztcbiAgfVxufS5jYWxsKHRoaXMpKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/lodash/lodash.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/object-assign/index.js\":\n/*!*********************************************!*\\\n  !*** ./node_modules/object-assign/index.js ***!\n  \\*********************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/*\\nobject-assign\\n(c) Sindre Sorhus\\n@license MIT\\n*/\\n\\n\\n/* eslint-disable no-unused-vars */\\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\\n\\nfunction toObject(val) {\\n\\tif (val === null || val === undefined) {\\n\\t\\tthrow new TypeError('Object.assign cannot be called with null or undefined');\\n\\t}\\n\\n\\treturn Object(val);\\n}\\n\\nfunction shouldUseNative() {\\n\\ttry {\\n\\t\\tif (!Object.assign) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// Detect buggy property enumeration order in older V8 versions.\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\\n\\t\\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\\n\\t\\ttest1[5] = 'de';\\n\\t\\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\\n\\t\\tvar test2 = {};\\n\\t\\tfor (var i = 0; i < 10; i++) {\\n\\t\\t\\ttest2['_' + String.fromCharCode(i)] = i;\\n\\t\\t}\\n\\t\\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\\n\\t\\t\\treturn test2[n];\\n\\t\\t});\\n\\t\\tif (order2.join('') !== '0123456789') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\\n\\t\\tvar test3 = {};\\n\\t\\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\\n\\t\\t\\ttest3[letter] = letter;\\n\\t\\t});\\n\\t\\tif (Object.keys(Object.assign({}, test3)).join('') !==\\n\\t\\t\\t\\t'abcdefghijklmnopqrst') {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\treturn true;\\n\\t} catch (err) {\\n\\t\\t// We don't expect any of the above to throw, but better to be safe.\\n\\t\\treturn false;\\n\\t}\\n}\\n\\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\\n\\tvar from;\\n\\tvar to = toObject(target);\\n\\tvar symbols;\\n\\n\\tfor (var s = 1; s < arguments.length; s++) {\\n\\t\\tfrom = Object(arguments[s]);\\n\\n\\t\\tfor (var key in from) {\\n\\t\\t\\tif (hasOwnProperty.call(from, key)) {\\n\\t\\t\\t\\tto[key] = from[key];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif (getOwnPropertySymbols) {\\n\\t\\t\\tsymbols = getOwnPropertySymbols(from);\\n\\t\\t\\tfor (var i = 0; i < symbols.length; i++) {\\n\\t\\t\\t\\tif (propIsEnumerable.call(from, symbols[i])) {\\n\\t\\t\\t\\t\\tto[symbols[i]] = from[symbols[i]];\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn to;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvb2JqZWN0LWFzc2lnbi9pbmRleC5qcz8zMjBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxnQ0FBZ0M7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixRQUFRO0FBQ3pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdCQUFnQixzQkFBc0I7QUFDdEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esa0JBQWtCLG9CQUFvQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbm9iamVjdC1hc3NpZ25cbihjKSBTaW5kcmUgU29yaHVzXG5AbGljZW5zZSBNSVRcbiovXG5cbid1c2Ugc3RyaWN0Jztcbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG52YXIgZ2V0T3duUHJvcGVydHlTeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scztcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgcHJvcElzRW51bWVyYWJsZSA9IE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGU7XG5cbmZ1bmN0aW9uIHRvT2JqZWN0KHZhbCkge1xuXHRpZiAodmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignT2JqZWN0LmFzc2lnbiBjYW5ub3QgYmUgY2FsbGVkIHdpdGggbnVsbCBvciB1bmRlZmluZWQnKTtcblx0fVxuXG5cdHJldHVybiBPYmplY3QodmFsKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkVXNlTmF0aXZlKCkge1xuXHR0cnkge1xuXHRcdGlmICghT2JqZWN0LmFzc2lnbikge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIERldGVjdCBidWdneSBwcm9wZXJ0eSBlbnVtZXJhdGlvbiBvcmRlciBpbiBvbGRlciBWOCB2ZXJzaW9ucy5cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTQxMThcblx0XHR2YXIgdGVzdDEgPSBuZXcgU3RyaW5nKCdhYmMnKTsgIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmV3LXdyYXBwZXJzXG5cdFx0dGVzdDFbNV0gPSAnZGUnO1xuXHRcdGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0ZXN0MSlbMF0gPT09ICc1Jykge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC92OC9pc3N1ZXMvZGV0YWlsP2lkPTMwNTZcblx0XHR2YXIgdGVzdDIgPSB7fTtcblx0XHRmb3IgKHZhciBpID0gMDsgaSA8IDEwOyBpKyspIHtcblx0XHRcdHRlc3QyWydfJyArIFN0cmluZy5mcm9tQ2hhckNvZGUoaSldID0gaTtcblx0XHR9XG5cdFx0dmFyIG9yZGVyMiA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRlc3QyKS5tYXAoZnVuY3Rpb24gKG4pIHtcblx0XHRcdHJldHVybiB0ZXN0MltuXTtcblx0XHR9KTtcblx0XHRpZiAob3JkZXIyLmpvaW4oJycpICE9PSAnMDEyMzQ1Njc4OScpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cblx0XHQvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0zMDU2XG5cdFx0dmFyIHRlc3QzID0ge307XG5cdFx0J2FiY2RlZmdoaWprbG1ub3BxcnN0Jy5zcGxpdCgnJykuZm9yRWFjaChmdW5jdGlvbiAobGV0dGVyKSB7XG5cdFx0XHR0ZXN0M1tsZXR0ZXJdID0gbGV0dGVyO1xuXHRcdH0pO1xuXHRcdGlmIChPYmplY3Qua2V5cyhPYmplY3QuYXNzaWduKHt9LCB0ZXN0MykpLmpvaW4oJycpICE9PVxuXHRcdFx0XHQnYWJjZGVmZ2hpamtsbW5vcHFyc3QnKSB7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRydWU7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdC8vIFdlIGRvbid0IGV4cGVjdCBhbnkgb2YgdGhlIGFib3ZlIHRvIHRocm93LCBidXQgYmV0dGVyIHRvIGJlIHNhZmUuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gc2hvdWxkVXNlTmF0aXZlKCkgPyBPYmplY3QuYXNzaWduIDogZnVuY3Rpb24gKHRhcmdldCwgc291cmNlKSB7XG5cdHZhciBmcm9tO1xuXHR2YXIgdG8gPSB0b09iamVjdCh0YXJnZXQpO1xuXHR2YXIgc3ltYm9scztcblxuXHRmb3IgKHZhciBzID0gMTsgcyA8IGFyZ3VtZW50cy5sZW5ndGg7IHMrKykge1xuXHRcdGZyb20gPSBPYmplY3QoYXJndW1lbnRzW3NdKTtcblxuXHRcdGZvciAodmFyIGtleSBpbiBmcm9tKSB7XG5cdFx0XHRpZiAoaGFzT3duUHJvcGVydHkuY2FsbChmcm9tLCBrZXkpKSB7XG5cdFx0XHRcdHRvW2tleV0gPSBmcm9tW2tleV07XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKGdldE93blByb3BlcnR5U3ltYm9scykge1xuXHRcdFx0c3ltYm9scyA9IGdldE93blByb3BlcnR5U3ltYm9scyhmcm9tKTtcblx0XHRcdGZvciAodmFyIGkgPSAwOyBpIDwgc3ltYm9scy5sZW5ndGg7IGkrKykge1xuXHRcdFx0XHRpZiAocHJvcElzRW51bWVyYWJsZS5jYWxsKGZyb20sIHN5bWJvbHNbaV0pKSB7XG5cdFx0XHRcdFx0dG9bc3ltYm9sc1tpXV0gPSBmcm9tW3N5bWJvbHNbaV1dO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/object-assign/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/popper.js/dist/esm/popper.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/popper.js/dist/esm/popper.js ***!\n  \\***************************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* WEBPACK VAR INJECTION */(function(global) {/**!\\n * @fileOverview Kickass library to create and place poppers near their reference elements.\\n * @version 1.16.1\\n * @license\\n * Copyright (c) 2016 Federico Zivolo and contributors\\n *\\n * Permission is hereby granted, free of charge, to any person obtaining a copy\\n * of this software and associated documentation files (the \\\"Software\\\"), to deal\\n * in the Software without restriction, including without limitation the rights\\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\\n * copies of the Software, and to permit persons to whom the Software is\\n * furnished to do so, subject to the following conditions:\\n *\\n * The above copyright notice and this permission notice shall be included in all\\n * copies or substantial portions of the Software.\\n *\\n * THE SOFTWARE IS PROVIDED \\\"AS IS\\\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\\n * SOFTWARE.\\n */\\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && typeof navigator !== 'undefined';\\n\\nvar timeoutDuration = function () {\\n  var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\\n  for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\\n    if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\\n      return 1;\\n    }\\n  }\\n  return 0;\\n}();\\n\\nfunction microtaskDebounce(fn) {\\n  var called = false;\\n  return function () {\\n    if (called) {\\n      return;\\n    }\\n    called = true;\\n    window.Promise.resolve().then(function () {\\n      called = false;\\n      fn();\\n    });\\n  };\\n}\\n\\nfunction taskDebounce(fn) {\\n  var scheduled = false;\\n  return function () {\\n    if (!scheduled) {\\n      scheduled = true;\\n      setTimeout(function () {\\n        scheduled = false;\\n        fn();\\n      }, timeoutDuration);\\n    }\\n  };\\n}\\n\\nvar supportsMicroTasks = isBrowser && window.Promise;\\n\\n/**\\n* Create a debounced version of a method, that's asynchronously deferred\\n* but called in the minimum time possible.\\n*\\n* @method\\n* @memberof Popper.Utils\\n* @argument {Function} fn\\n* @returns {Function}\\n*/\\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\\n\\n/**\\n * Check if the given variable is a function\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Any} functionToCheck - variable to check\\n * @returns {Boolean} answer to: is a function?\\n */\\nfunction isFunction(functionToCheck) {\\n  var getType = {};\\n  return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\\n}\\n\\n/**\\n * Get CSS computed property of the given element\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Eement} element\\n * @argument {String} property\\n */\\nfunction getStyleComputedProperty(element, property) {\\n  if (element.nodeType !== 1) {\\n    return [];\\n  }\\n  // NOTE: 1 DOM access here\\n  var window = element.ownerDocument.defaultView;\\n  var css = window.getComputedStyle(element, null);\\n  return property ? css[property] : css;\\n}\\n\\n/**\\n * Returns the parentNode or the host of the element\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @returns {Element} parent\\n */\\nfunction getParentNode(element) {\\n  if (element.nodeName === 'HTML') {\\n    return element;\\n  }\\n  return element.parentNode || element.host;\\n}\\n\\n/**\\n * Returns the scrolling parent of the given element\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @returns {Element} scroll parent\\n */\\nfunction getScrollParent(element) {\\n  // Return body, `getScroll` will take care to get the correct `scrollTop` from it\\n  if (!element) {\\n    return document.body;\\n  }\\n\\n  switch (element.nodeName) {\\n    case 'HTML':\\n    case 'BODY':\\n      return element.ownerDocument.body;\\n    case '#document':\\n      return element.body;\\n  }\\n\\n  // Firefox want us to check `-x` and `-y` variations as well\\n\\n  var _getStyleComputedProp = getStyleComputedProperty(element),\\n      overflow = _getStyleComputedProp.overflow,\\n      overflowX = _getStyleComputedProp.overflowX,\\n      overflowY = _getStyleComputedProp.overflowY;\\n\\n  if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\\n    return element;\\n  }\\n\\n  return getScrollParent(getParentNode(element));\\n}\\n\\n/**\\n * Returns the reference node of the reference object, or the reference object itself.\\n * @method\\n * @memberof Popper.Utils\\n * @param {Element|Object} reference - the reference element (the popper will be relative to this)\\n * @returns {Element} parent\\n */\\nfunction getReferenceNode(reference) {\\n  return reference && reference.referenceNode ? reference.referenceNode : reference;\\n}\\n\\nvar isIE11 = isBrowser && !!(window.MSInputMethodContext && document.documentMode);\\nvar isIE10 = isBrowser && /MSIE 10/.test(navigator.userAgent);\\n\\n/**\\n * Determines if the browser is Internet Explorer\\n * @method\\n * @memberof Popper.Utils\\n * @param {Number} version to check\\n * @returns {Boolean} isIE\\n */\\nfunction isIE(version) {\\n  if (version === 11) {\\n    return isIE11;\\n  }\\n  if (version === 10) {\\n    return isIE10;\\n  }\\n  return isIE11 || isIE10;\\n}\\n\\n/**\\n * Returns the offset parent of the given element\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @returns {Element} offset parent\\n */\\nfunction getOffsetParent(element) {\\n  if (!element) {\\n    return document.documentElement;\\n  }\\n\\n  var noOffsetParent = isIE(10) ? document.body : null;\\n\\n  // NOTE: 1 DOM access here\\n  var offsetParent = element.offsetParent || null;\\n  // Skip hidden elements which don't have an offsetParent\\n  while (offsetParent === noOffsetParent && element.nextElementSibling) {\\n    offsetParent = (element = element.nextElementSibling).offsetParent;\\n  }\\n\\n  var nodeName = offsetParent && offsetParent.nodeName;\\n\\n  if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\\n    return element ? element.ownerDocument.documentElement : document.documentElement;\\n  }\\n\\n  // .offsetParent will return the closest TH, TD or TABLE in case\\n  // no offsetParent is present, I hate this job...\\n  if (['TH', 'TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\\n    return getOffsetParent(offsetParent);\\n  }\\n\\n  return offsetParent;\\n}\\n\\nfunction isOffsetContainer(element) {\\n  var nodeName = element.nodeName;\\n\\n  if (nodeName === 'BODY') {\\n    return false;\\n  }\\n  return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\\n}\\n\\n/**\\n * Finds the root node (document, shadowDOM root) of the given element\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} node\\n * @returns {Element} root node\\n */\\nfunction getRoot(node) {\\n  if (node.parentNode !== null) {\\n    return getRoot(node.parentNode);\\n  }\\n\\n  return node;\\n}\\n\\n/**\\n * Finds the offset parent common to the two provided nodes\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element1\\n * @argument {Element} element2\\n * @returns {Element} common offset parent\\n */\\nfunction findCommonOffsetParent(element1, element2) {\\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\\n  if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\\n    return document.documentElement;\\n  }\\n\\n  // Here we make sure to give as \\\"start\\\" the element that comes first in the DOM\\n  var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\\n  var start = order ? element1 : element2;\\n  var end = order ? element2 : element1;\\n\\n  // Get common ancestor container\\n  var range = document.createRange();\\n  range.setStart(start, 0);\\n  range.setEnd(end, 0);\\n  var commonAncestorContainer = range.commonAncestorContainer;\\n\\n  // Both nodes are inside #document\\n\\n  if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\\n    if (isOffsetContainer(commonAncestorContainer)) {\\n      return commonAncestorContainer;\\n    }\\n\\n    return getOffsetParent(commonAncestorContainer);\\n  }\\n\\n  // one of the nodes is inside shadowDOM, find which one\\n  var element1root = getRoot(element1);\\n  if (element1root.host) {\\n    return findCommonOffsetParent(element1root.host, element2);\\n  } else {\\n    return findCommonOffsetParent(element1, getRoot(element2).host);\\n  }\\n}\\n\\n/**\\n * Gets the scroll value of the given element in the given side (top and left)\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @argument {String} side `top` or `left`\\n * @returns {number} amount of scrolled pixels\\n */\\nfunction getScroll(element) {\\n  var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\\n\\n  var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\\n  var nodeName = element.nodeName;\\n\\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\\n    var html = element.ownerDocument.documentElement;\\n    var scrollingElement = element.ownerDocument.scrollingElement || html;\\n    return scrollingElement[upperSide];\\n  }\\n\\n  return element[upperSide];\\n}\\n\\n/*\\n * Sum or subtract the element scroll values (left and top) from a given rect object\\n * @method\\n * @memberof Popper.Utils\\n * @param {Object} rect - Rect object you want to change\\n * @param {HTMLElement} element - The element from the function reads the scroll values\\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\\n * @return {Object} rect - The modifier rect object\\n */\\nfunction includeScroll(rect, element) {\\n  var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\\n\\n  var scrollTop = getScroll(element, 'top');\\n  var scrollLeft = getScroll(element, 'left');\\n  var modifier = subtract ? -1 : 1;\\n  rect.top += scrollTop * modifier;\\n  rect.bottom += scrollTop * modifier;\\n  rect.left += scrollLeft * modifier;\\n  rect.right += scrollLeft * modifier;\\n  return rect;\\n}\\n\\n/*\\n * Helper to detect borders of a given element\\n * @method\\n * @memberof Popper.Utils\\n * @param {CSSStyleDeclaration} styles\\n * Result of `getStyleComputedProperty` on the given element\\n * @param {String} axis - `x` or `y`\\n * @return {number} borders - The borders size of the given axis\\n */\\n\\nfunction getBordersSize(styles, axis) {\\n  var sideA = axis === 'x' ? 'Left' : 'Top';\\n  var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\\n\\n  return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);\\n}\\n\\nfunction getSize(axis, body, html, computedStyle) {\\n  return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE(10) ? parseInt(html['offset' + axis]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')]) + parseInt(computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')]) : 0);\\n}\\n\\nfunction getWindowSizes(document) {\\n  var body = document.body;\\n  var html = document.documentElement;\\n  var computedStyle = isIE(10) && getComputedStyle(html);\\n\\n  return {\\n    height: getSize('Height', body, html, computedStyle),\\n    width: getSize('Width', body, html, computedStyle)\\n  };\\n}\\n\\nvar classCallCheck = function (instance, Constructor) {\\n  if (!(instance instanceof Constructor)) {\\n    throw new TypeError(\\\"Cannot call a class as a function\\\");\\n  }\\n};\\n\\nvar createClass = function () {\\n  function defineProperties(target, props) {\\n    for (var i = 0; i < props.length; i++) {\\n      var descriptor = props[i];\\n      descriptor.enumerable = descriptor.enumerable || false;\\n      descriptor.configurable = true;\\n      if (\\\"value\\\" in descriptor) descriptor.writable = true;\\n      Object.defineProperty(target, descriptor.key, descriptor);\\n    }\\n  }\\n\\n  return function (Constructor, protoProps, staticProps) {\\n    if (protoProps) defineProperties(Constructor.prototype, protoProps);\\n    if (staticProps) defineProperties(Constructor, staticProps);\\n    return Constructor;\\n  };\\n}();\\n\\n\\n\\n\\n\\nvar defineProperty = function (obj, key, value) {\\n  if (key in obj) {\\n    Object.defineProperty(obj, key, {\\n      value: value,\\n      enumerable: true,\\n      configurable: true,\\n      writable: true\\n    });\\n  } else {\\n    obj[key] = value;\\n  }\\n\\n  return obj;\\n};\\n\\nvar _extends = Object.assign || function (target) {\\n  for (var i = 1; i < arguments.length; i++) {\\n    var source = arguments[i];\\n\\n    for (var key in source) {\\n      if (Object.prototype.hasOwnProperty.call(source, key)) {\\n        target[key] = source[key];\\n      }\\n    }\\n  }\\n\\n  return target;\\n};\\n\\n/**\\n * Given element offsets, generate an output similar to getBoundingClientRect\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Object} offsets\\n * @returns {Object} ClientRect like output\\n */\\nfunction getClientRect(offsets) {\\n  return _extends({}, offsets, {\\n    right: offsets.left + offsets.width,\\n    bottom: offsets.top + offsets.height\\n  });\\n}\\n\\n/**\\n * Get bounding client rect of given element\\n * @method\\n * @memberof Popper.Utils\\n * @param {HTMLElement} element\\n * @return {Object} client rect\\n */\\nfunction getBoundingClientRect(element) {\\n  var rect = {};\\n\\n  // IE10 10 FIX: Please, don't ask, the element isn't\\n  // considered in DOM in some circumstances...\\n  // This isn't reproducible in IE10 compatibility mode of IE11\\n  try {\\n    if (isIE(10)) {\\n      rect = element.getBoundingClientRect();\\n      var scrollTop = getScroll(element, 'top');\\n      var scrollLeft = getScroll(element, 'left');\\n      rect.top += scrollTop;\\n      rect.left += scrollLeft;\\n      rect.bottom += scrollTop;\\n      rect.right += scrollLeft;\\n    } else {\\n      rect = element.getBoundingClientRect();\\n    }\\n  } catch (e) {}\\n\\n  var result = {\\n    left: rect.left,\\n    top: rect.top,\\n    width: rect.right - rect.left,\\n    height: rect.bottom - rect.top\\n  };\\n\\n  // subtract scrollbar size from sizes\\n  var sizes = element.nodeName === 'HTML' ? getWindowSizes(element.ownerDocument) : {};\\n  var width = sizes.width || element.clientWidth || result.width;\\n  var height = sizes.height || element.clientHeight || result.height;\\n\\n  var horizScrollbar = element.offsetWidth - width;\\n  var vertScrollbar = element.offsetHeight - height;\\n\\n  // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\\n  // we make this check conditional for performance reasons\\n  if (horizScrollbar || vertScrollbar) {\\n    var styles = getStyleComputedProperty(element);\\n    horizScrollbar -= getBordersSize(styles, 'x');\\n    vertScrollbar -= getBordersSize(styles, 'y');\\n\\n    result.width -= horizScrollbar;\\n    result.height -= vertScrollbar;\\n  }\\n\\n  return getClientRect(result);\\n}\\n\\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\\n  var fixedPosition = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\\n\\n  var isIE10 = isIE(10);\\n  var isHTML = parent.nodeName === 'HTML';\\n  var childrenRect = getBoundingClientRect(children);\\n  var parentRect = getBoundingClientRect(parent);\\n  var scrollParent = getScrollParent(children);\\n\\n  var styles = getStyleComputedProperty(parent);\\n  var borderTopWidth = parseFloat(styles.borderTopWidth);\\n  var borderLeftWidth = parseFloat(styles.borderLeftWidth);\\n\\n  // In cases where the parent is fixed, we must ignore negative scroll in offset calc\\n  if (fixedPosition && isHTML) {\\n    parentRect.top = Math.max(parentRect.top, 0);\\n    parentRect.left = Math.max(parentRect.left, 0);\\n  }\\n  var offsets = getClientRect({\\n    top: childrenRect.top - parentRect.top - borderTopWidth,\\n    left: childrenRect.left - parentRect.left - borderLeftWidth,\\n    width: childrenRect.width,\\n    height: childrenRect.height\\n  });\\n  offsets.marginTop = 0;\\n  offsets.marginLeft = 0;\\n\\n  // Subtract margins of documentElement in case it's being used as parent\\n  // we do this only on HTML because it's the only element that behaves\\n  // differently when margins are applied to it. The margins are included in\\n  // the box of the documentElement, in the other cases not.\\n  if (!isIE10 && isHTML) {\\n    var marginTop = parseFloat(styles.marginTop);\\n    var marginLeft = parseFloat(styles.marginLeft);\\n\\n    offsets.top -= borderTopWidth - marginTop;\\n    offsets.bottom -= borderTopWidth - marginTop;\\n    offsets.left -= borderLeftWidth - marginLeft;\\n    offsets.right -= borderLeftWidth - marginLeft;\\n\\n    // Attach marginTop and marginLeft because in some circumstances we may need them\\n    offsets.marginTop = marginTop;\\n    offsets.marginLeft = marginLeft;\\n  }\\n\\n  if (isIE10 && !fixedPosition ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\\n    offsets = includeScroll(offsets, parent);\\n  }\\n\\n  return offsets;\\n}\\n\\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\\n  var excludeScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\\n\\n  var html = element.ownerDocument.documentElement;\\n  var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\\n  var width = Math.max(html.clientWidth, window.innerWidth || 0);\\n  var height = Math.max(html.clientHeight, window.innerHeight || 0);\\n\\n  var scrollTop = !excludeScroll ? getScroll(html) : 0;\\n  var scrollLeft = !excludeScroll ? getScroll(html, 'left') : 0;\\n\\n  var offset = {\\n    top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\\n    left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\\n    width: width,\\n    height: height\\n  };\\n\\n  return getClientRect(offset);\\n}\\n\\n/**\\n * Check if the given element is fixed or is inside a fixed parent\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @argument {Element} customContainer\\n * @returns {Boolean} answer to \\\"isFixed?\\\"\\n */\\nfunction isFixed(element) {\\n  var nodeName = element.nodeName;\\n  if (nodeName === 'BODY' || nodeName === 'HTML') {\\n    return false;\\n  }\\n  if (getStyleComputedProperty(element, 'position') === 'fixed') {\\n    return true;\\n  }\\n  var parentNode = getParentNode(element);\\n  if (!parentNode) {\\n    return false;\\n  }\\n  return isFixed(parentNode);\\n}\\n\\n/**\\n * Finds the first parent of an element that has a transformed property defined\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @returns {Element} first transformed parent or documentElement\\n */\\n\\nfunction getFixedPositionOffsetParent(element) {\\n  // This check is needed to avoid errors in case one of the elements isn't defined for any reason\\n  if (!element || !element.parentElement || isIE()) {\\n    return document.documentElement;\\n  }\\n  var el = element.parentElement;\\n  while (el && getStyleComputedProperty(el, 'transform') === 'none') {\\n    el = el.parentElement;\\n  }\\n  return el || document.documentElement;\\n}\\n\\n/**\\n * Computed the boundaries limits and return them\\n * @method\\n * @memberof Popper.Utils\\n * @param {HTMLElement} popper\\n * @param {HTMLElement} reference\\n * @param {number} padding\\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\\n * @param {Boolean} fixedPosition - Is in fixed position mode\\n * @returns {Object} Coordinates of the boundaries\\n */\\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\\n  var fixedPosition = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\\n\\n  // NOTE: 1 DOM access here\\n\\n  var boundaries = { top: 0, left: 0 };\\n  var offsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\\n\\n  // Handle viewport case\\n  if (boundariesElement === 'viewport') {\\n    boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent, fixedPosition);\\n  } else {\\n    // Handle other cases based on DOM element used as boundaries\\n    var boundariesNode = void 0;\\n    if (boundariesElement === 'scrollParent') {\\n      boundariesNode = getScrollParent(getParentNode(reference));\\n      if (boundariesNode.nodeName === 'BODY') {\\n        boundariesNode = popper.ownerDocument.documentElement;\\n      }\\n    } else if (boundariesElement === 'window') {\\n      boundariesNode = popper.ownerDocument.documentElement;\\n    } else {\\n      boundariesNode = boundariesElement;\\n    }\\n\\n    var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent, fixedPosition);\\n\\n    // In case of HTML, we need a different computation\\n    if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\\n      var _getWindowSizes = getWindowSizes(popper.ownerDocument),\\n          height = _getWindowSizes.height,\\n          width = _getWindowSizes.width;\\n\\n      boundaries.top += offsets.top - offsets.marginTop;\\n      boundaries.bottom = height + offsets.top;\\n      boundaries.left += offsets.left - offsets.marginLeft;\\n      boundaries.right = width + offsets.left;\\n    } else {\\n      // for all the other DOM elements, this one is good\\n      boundaries = offsets;\\n    }\\n  }\\n\\n  // Add paddings\\n  padding = padding || 0;\\n  var isPaddingNumber = typeof padding === 'number';\\n  boundaries.left += isPaddingNumber ? padding : padding.left || 0;\\n  boundaries.top += isPaddingNumber ? padding : padding.top || 0;\\n  boundaries.right -= isPaddingNumber ? padding : padding.right || 0;\\n  boundaries.bottom -= isPaddingNumber ? padding : padding.bottom || 0;\\n\\n  return boundaries;\\n}\\n\\nfunction getArea(_ref) {\\n  var width = _ref.width,\\n      height = _ref.height;\\n\\n  return width * height;\\n}\\n\\n/**\\n * Utility used to transform the `auto` placement to the placement with more\\n * available space.\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Object} data - The data object generated by update method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\\n  var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\\n\\n  if (placement.indexOf('auto') === -1) {\\n    return placement;\\n  }\\n\\n  var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\\n\\n  var rects = {\\n    top: {\\n      width: boundaries.width,\\n      height: refRect.top - boundaries.top\\n    },\\n    right: {\\n      width: boundaries.right - refRect.right,\\n      height: boundaries.height\\n    },\\n    bottom: {\\n      width: boundaries.width,\\n      height: boundaries.bottom - refRect.bottom\\n    },\\n    left: {\\n      width: refRect.left - boundaries.left,\\n      height: boundaries.height\\n    }\\n  };\\n\\n  var sortedAreas = Object.keys(rects).map(function (key) {\\n    return _extends({\\n      key: key\\n    }, rects[key], {\\n      area: getArea(rects[key])\\n    });\\n  }).sort(function (a, b) {\\n    return b.area - a.area;\\n  });\\n\\n  var filteredAreas = sortedAreas.filter(function (_ref2) {\\n    var width = _ref2.width,\\n        height = _ref2.height;\\n    return width >= popper.clientWidth && height >= popper.clientHeight;\\n  });\\n\\n  var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\\n\\n  var variation = placement.split('-')[1];\\n\\n  return computedPlacement + (variation ? '-' + variation : '');\\n}\\n\\n/**\\n * Get offsets to the reference element\\n * @method\\n * @memberof Popper.Utils\\n * @param {Object} state\\n * @param {Element} popper - the popper element\\n * @param {Element} reference - the reference element (the popper will be relative to this)\\n * @param {Element} fixedPosition - is in fixed position mode\\n * @returns {Object} An object containing the offsets which will be applied to the popper\\n */\\nfunction getReferenceOffsets(state, popper, reference) {\\n  var fixedPosition = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\\n\\n  var commonOffsetParent = fixedPosition ? getFixedPositionOffsetParent(popper) : findCommonOffsetParent(popper, getReferenceNode(reference));\\n  return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent, fixedPosition);\\n}\\n\\n/**\\n * Get the outer sizes of the given element (offset size + margins)\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element\\n * @returns {Object} object containing width and height properties\\n */\\nfunction getOuterSizes(element) {\\n  var window = element.ownerDocument.defaultView;\\n  var styles = window.getComputedStyle(element);\\n  var x = parseFloat(styles.marginTop || 0) + parseFloat(styles.marginBottom || 0);\\n  var y = parseFloat(styles.marginLeft || 0) + parseFloat(styles.marginRight || 0);\\n  var result = {\\n    width: element.offsetWidth + y,\\n    height: element.offsetHeight + x\\n  };\\n  return result;\\n}\\n\\n/**\\n * Get the opposite placement of the given one\\n * @method\\n * @memberof Popper.Utils\\n * @argument {String} placement\\n * @returns {String} flipped placement\\n */\\nfunction getOppositePlacement(placement) {\\n  var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\\n    return hash[matched];\\n  });\\n}\\n\\n/**\\n * Get offsets to the popper\\n * @method\\n * @memberof Popper.Utils\\n * @param {Object} position - CSS position the Popper will get applied\\n * @param {HTMLElement} popper - the popper element\\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\\n * @param {String} placement - one of the valid placement options\\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\\n */\\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\\n  placement = placement.split('-')[0];\\n\\n  // Get popper node sizes\\n  var popperRect = getOuterSizes(popper);\\n\\n  // Add position, width and height to our offsets object\\n  var popperOffsets = {\\n    width: popperRect.width,\\n    height: popperRect.height\\n  };\\n\\n  // depending by the popper placement we have to compute its offsets slightly differently\\n  var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\\n  var mainSide = isHoriz ? 'top' : 'left';\\n  var secondarySide = isHoriz ? 'left' : 'top';\\n  var measurement = isHoriz ? 'height' : 'width';\\n  var secondaryMeasurement = !isHoriz ? 'height' : 'width';\\n\\n  popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\\n  if (placement === secondarySide) {\\n    popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\\n  } else {\\n    popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\\n  }\\n\\n  return popperOffsets;\\n}\\n\\n/**\\n * Mimics the `find` method of Array\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Array} arr\\n * @argument prop\\n * @argument value\\n * @returns index or -1\\n */\\nfunction find(arr, check) {\\n  // use native find if supported\\n  if (Array.prototype.find) {\\n    return arr.find(check);\\n  }\\n\\n  // use `filter` to obtain the same behavior of `find`\\n  return arr.filter(check)[0];\\n}\\n\\n/**\\n * Return the index of the matching object\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Array} arr\\n * @argument prop\\n * @argument value\\n * @returns index or -1\\n */\\nfunction findIndex(arr, prop, value) {\\n  // use native findIndex if supported\\n  if (Array.prototype.findIndex) {\\n    return arr.findIndex(function (cur) {\\n      return cur[prop] === value;\\n    });\\n  }\\n\\n  // use `find` + `indexOf` if `findIndex` isn't supported\\n  var match = find(arr, function (obj) {\\n    return obj[prop] === value;\\n  });\\n  return arr.indexOf(match);\\n}\\n\\n/**\\n * Loop trough the list of modifiers and run them in order,\\n * each of them will then edit the data object.\\n * @method\\n * @memberof Popper.Utils\\n * @param {dataObject} data\\n * @param {Array} modifiers\\n * @param {String} ends - Optional modifier name used as stopper\\n * @returns {dataObject}\\n */\\nfunction runModifiers(modifiers, data, ends) {\\n  var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\\n\\n  modifiersToRun.forEach(function (modifier) {\\n    if (modifier['function']) {\\n      // eslint-disable-line dot-notation\\n      console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\\n    }\\n    var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\\n    if (modifier.enabled && isFunction(fn)) {\\n      // Add properties to offsets to make them a complete clientRect object\\n      // we do this before each modifier to make sure the previous one doesn't\\n      // mess with these values\\n      data.offsets.popper = getClientRect(data.offsets.popper);\\n      data.offsets.reference = getClientRect(data.offsets.reference);\\n\\n      data = fn(data, modifier);\\n    }\\n  });\\n\\n  return data;\\n}\\n\\n/**\\n * Updates the position of the popper, computing the new offsets and applying\\n * the new style.<br />\\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\\n * @method\\n * @memberof Popper\\n */\\nfunction update() {\\n  // if popper is destroyed, don't perform any further update\\n  if (this.state.isDestroyed) {\\n    return;\\n  }\\n\\n  var data = {\\n    instance: this,\\n    styles: {},\\n    arrowStyles: {},\\n    attributes: {},\\n    flipped: false,\\n    offsets: {}\\n  };\\n\\n  // compute reference element offsets\\n  data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference, this.options.positionFixed);\\n\\n  // compute auto placement, store placement inside the data object,\\n  // modifiers will be able to edit `placement` if needed\\n  // and refer to originalPlacement to know the original value\\n  data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\\n\\n  // store the computed placement inside `originalPlacement`\\n  data.originalPlacement = data.placement;\\n\\n  data.positionFixed = this.options.positionFixed;\\n\\n  // compute the popper offsets\\n  data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\\n\\n  data.offsets.popper.position = this.options.positionFixed ? 'fixed' : 'absolute';\\n\\n  // run the modifiers\\n  data = runModifiers(this.modifiers, data);\\n\\n  // the first `update` will call `onCreate` callback\\n  // the other ones will call `onUpdate` callback\\n  if (!this.state.isCreated) {\\n    this.state.isCreated = true;\\n    this.options.onCreate(data);\\n  } else {\\n    this.options.onUpdate(data);\\n  }\\n}\\n\\n/**\\n * Helper used to know if the given modifier is enabled.\\n * @method\\n * @memberof Popper.Utils\\n * @returns {Boolean}\\n */\\nfunction isModifierEnabled(modifiers, modifierName) {\\n  return modifiers.some(function (_ref) {\\n    var name = _ref.name,\\n        enabled = _ref.enabled;\\n    return enabled && name === modifierName;\\n  });\\n}\\n\\n/**\\n * Get the prefixed supported property name\\n * @method\\n * @memberof Popper.Utils\\n * @argument {String} property (camelCase)\\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\\n */\\nfunction getSupportedPropertyName(property) {\\n  var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\\n  var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\\n\\n  for (var i = 0; i < prefixes.length; i++) {\\n    var prefix = prefixes[i];\\n    var toCheck = prefix ? '' + prefix + upperProp : property;\\n    if (typeof document.body.style[toCheck] !== 'undefined') {\\n      return toCheck;\\n    }\\n  }\\n  return null;\\n}\\n\\n/**\\n * Destroys the popper.\\n * @method\\n * @memberof Popper\\n */\\nfunction destroy() {\\n  this.state.isDestroyed = true;\\n\\n  // touch DOM only if `applyStyle` modifier is enabled\\n  if (isModifierEnabled(this.modifiers, 'applyStyle')) {\\n    this.popper.removeAttribute('x-placement');\\n    this.popper.style.position = '';\\n    this.popper.style.top = '';\\n    this.popper.style.left = '';\\n    this.popper.style.right = '';\\n    this.popper.style.bottom = '';\\n    this.popper.style.willChange = '';\\n    this.popper.style[getSupportedPropertyName('transform')] = '';\\n  }\\n\\n  this.disableEventListeners();\\n\\n  // remove the popper if user explicitly asked for the deletion on destroy\\n  // do not use `remove` because IE11 doesn't support it\\n  if (this.options.removeOnDestroy) {\\n    this.popper.parentNode.removeChild(this.popper);\\n  }\\n  return this;\\n}\\n\\n/**\\n * Get the window associated with the element\\n * @argument {Element} element\\n * @returns {Window}\\n */\\nfunction getWindow(element) {\\n  var ownerDocument = element.ownerDocument;\\n  return ownerDocument ? ownerDocument.defaultView : window;\\n}\\n\\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\\n  var isBody = scrollParent.nodeName === 'BODY';\\n  var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\\n  target.addEventListener(event, callback, { passive: true });\\n\\n  if (!isBody) {\\n    attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\\n  }\\n  scrollParents.push(target);\\n}\\n\\n/**\\n * Setup needed event listeners used to update the popper position\\n * @method\\n * @memberof Popper.Utils\\n * @private\\n */\\nfunction setupEventListeners(reference, options, state, updateBound) {\\n  // Resize event listener on window\\n  state.updateBound = updateBound;\\n  getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\\n\\n  // Scroll event listener on scroll parents\\n  var scrollElement = getScrollParent(reference);\\n  attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\\n  state.scrollElement = scrollElement;\\n  state.eventsEnabled = true;\\n\\n  return state;\\n}\\n\\n/**\\n * It will add resize/scroll events and start recalculating\\n * position of the popper element when they are triggered.\\n * @method\\n * @memberof Popper\\n */\\nfunction enableEventListeners() {\\n  if (!this.state.eventsEnabled) {\\n    this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\\n  }\\n}\\n\\n/**\\n * Remove event listeners used to update the popper position\\n * @method\\n * @memberof Popper.Utils\\n * @private\\n */\\nfunction removeEventListeners(reference, state) {\\n  // Remove resize event listener on window\\n  getWindow(reference).removeEventListener('resize', state.updateBound);\\n\\n  // Remove scroll event listener on scroll parents\\n  state.scrollParents.forEach(function (target) {\\n    target.removeEventListener('scroll', state.updateBound);\\n  });\\n\\n  // Reset state\\n  state.updateBound = null;\\n  state.scrollParents = [];\\n  state.scrollElement = null;\\n  state.eventsEnabled = false;\\n  return state;\\n}\\n\\n/**\\n * It will remove resize/scroll events and won't recalculate popper position\\n * when they are triggered. It also won't trigger `onUpdate` callback anymore,\\n * unless you call `update` method manually.\\n * @method\\n * @memberof Popper\\n */\\nfunction disableEventListeners() {\\n  if (this.state.eventsEnabled) {\\n    cancelAnimationFrame(this.scheduleUpdate);\\n    this.state = removeEventListeners(this.reference, this.state);\\n  }\\n}\\n\\n/**\\n * Tells if a given input is a number\\n * @method\\n * @memberof Popper.Utils\\n * @param {*} input to check\\n * @return {Boolean}\\n */\\nfunction isNumeric(n) {\\n  return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\\n}\\n\\n/**\\n * Set the style to the given popper\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element - Element to apply the style to\\n * @argument {Object} styles\\n * Object with a list of properties and values which will be applied to the element\\n */\\nfunction setStyles(element, styles) {\\n  Object.keys(styles).forEach(function (prop) {\\n    var unit = '';\\n    // add unit if the value is numeric and is one of the following\\n    if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\\n      unit = 'px';\\n    }\\n    element.style[prop] = styles[prop] + unit;\\n  });\\n}\\n\\n/**\\n * Set the attributes to the given popper\\n * @method\\n * @memberof Popper.Utils\\n * @argument {Element} element - Element to apply the attributes to\\n * @argument {Object} styles\\n * Object with a list of properties and values which will be applied to the element\\n */\\nfunction setAttributes(element, attributes) {\\n  Object.keys(attributes).forEach(function (prop) {\\n    var value = attributes[prop];\\n    if (value !== false) {\\n      element.setAttribute(prop, attributes[prop]);\\n    } else {\\n      element.removeAttribute(prop);\\n    }\\n  });\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by `update` method\\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The same data object\\n */\\nfunction applyStyle(data) {\\n  // any property present in `data.styles` will be applied to the popper,\\n  // in this way we can make the 3rd party modifiers add custom styles to it\\n  // Be aware, modifiers could override the properties defined in the previous\\n  // lines of this modifier!\\n  setStyles(data.instance.popper, data.styles);\\n\\n  // any property present in `data.attributes` will be applied to the popper,\\n  // they will be set as HTML attributes of the element\\n  setAttributes(data.instance.popper, data.attributes);\\n\\n  // if arrowElement is defined and arrowStyles has some properties\\n  if (data.arrowElement && Object.keys(data.arrowStyles).length) {\\n    setStyles(data.arrowElement, data.arrowStyles);\\n  }\\n\\n  return data;\\n}\\n\\n/**\\n * Set the x-placement attribute before everything else because it could be used\\n * to add margins to the popper margins needs to be calculated to get the\\n * correct popper offsets.\\n * @method\\n * @memberof Popper.modifiers\\n * @param {HTMLElement} reference - The reference element used to position the popper\\n * @param {HTMLElement} popper - The HTML element used as popper\\n * @param {Object} options - Popper.js options\\n */\\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\\n  // compute reference element offsets\\n  var referenceOffsets = getReferenceOffsets(state, popper, reference, options.positionFixed);\\n\\n  // compute auto placement, store placement inside the data object,\\n  // modifiers will be able to edit `placement` if needed\\n  // and refer to originalPlacement to know the original value\\n  var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\\n\\n  popper.setAttribute('x-placement', placement);\\n\\n  // Apply `position` to popper before anything else because\\n  // without the position applied we can't guarantee correct computations\\n  setStyles(popper, { position: options.positionFixed ? 'fixed' : 'absolute' });\\n\\n  return options;\\n}\\n\\n/**\\n * @function\\n * @memberof Popper.Utils\\n * @argument {Object} data - The data object generated by `update` method\\n * @argument {Boolean} shouldRound - If the offsets should be rounded at all\\n * @returns {Object} The popper's position offsets rounded\\n *\\n * The tale of pixel-perfect positioning. It's still not 100% perfect, but as\\n * good as it can be within reason.\\n * Discussion here: https://github.com/FezVrasta/popper.js/pull/715\\n *\\n * Low DPI screens cause a popper to be blurry if not using full pixels (Safari\\n * as well on High DPI screens).\\n *\\n * Firefox prefers no rounding for positioning and does not have blurriness on\\n * high DPI screens.\\n *\\n * Only horizontal placement and left/right values need to be considered.\\n */\\nfunction getRoundedOffsets(data, shouldRound) {\\n  var _data$offsets = data.offsets,\\n      popper = _data$offsets.popper,\\n      reference = _data$offsets.reference;\\n  var round = Math.round,\\n      floor = Math.floor;\\n\\n  var noRound = function noRound(v) {\\n    return v;\\n  };\\n\\n  var referenceWidth = round(reference.width);\\n  var popperWidth = round(popper.width);\\n\\n  var isVertical = ['left', 'right'].indexOf(data.placement) !== -1;\\n  var isVariation = data.placement.indexOf('-') !== -1;\\n  var sameWidthParity = referenceWidth % 2 === popperWidth % 2;\\n  var bothOddWidth = referenceWidth % 2 === 1 && popperWidth % 2 === 1;\\n\\n  var horizontalToInteger = !shouldRound ? noRound : isVertical || isVariation || sameWidthParity ? round : floor;\\n  var verticalToInteger = !shouldRound ? noRound : round;\\n\\n  return {\\n    left: horizontalToInteger(bothOddWidth && !isVariation && shouldRound ? popper.left - 1 : popper.left),\\n    top: verticalToInteger(popper.top),\\n    bottom: verticalToInteger(popper.bottom),\\n    right: horizontalToInteger(popper.right)\\n  };\\n}\\n\\nvar isFirefox = isBrowser && /Firefox/i.test(navigator.userAgent);\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by `update` method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction computeStyle(data, options) {\\n  var x = options.x,\\n      y = options.y;\\n  var popper = data.offsets.popper;\\n\\n  // Remove this legacy support in Popper.js v2\\n\\n  var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\\n    return modifier.name === 'applyStyle';\\n  }).gpuAcceleration;\\n  if (legacyGpuAccelerationOption !== undefined) {\\n    console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\\n  }\\n  var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\\n\\n  var offsetParent = getOffsetParent(data.instance.popper);\\n  var offsetParentRect = getBoundingClientRect(offsetParent);\\n\\n  // Styles\\n  var styles = {\\n    position: popper.position\\n  };\\n\\n  var offsets = getRoundedOffsets(data, window.devicePixelRatio < 2 || !isFirefox);\\n\\n  var sideA = x === 'bottom' ? 'top' : 'bottom';\\n  var sideB = y === 'right' ? 'left' : 'right';\\n\\n  // if gpuAcceleration is set to `true` and transform is supported,\\n  //  we use `translate3d` to apply the position to the popper we\\n  // automatically use the supported prefixed version if needed\\n  var prefixedProperty = getSupportedPropertyName('transform');\\n\\n  // now, let's make a step back and look at this code closely (wtf?)\\n  // If the content of the popper grows once it's been positioned, it\\n  // may happen that the popper gets misplaced because of the new content\\n  // overflowing its reference element\\n  // To avoid this problem, we provide two options (x and y), which allow\\n  // the consumer to define the offset origin.\\n  // If we position a popper on top of a reference element, we can set\\n  // `x` to `top` to make the popper grow towards its top instead of\\n  // its bottom.\\n  var left = void 0,\\n      top = void 0;\\n  if (sideA === 'bottom') {\\n    // when offsetParent is <html> the positioning is relative to the bottom of the screen (excluding the scrollbar)\\n    // and not the bottom of the html element\\n    if (offsetParent.nodeName === 'HTML') {\\n      top = -offsetParent.clientHeight + offsets.bottom;\\n    } else {\\n      top = -offsetParentRect.height + offsets.bottom;\\n    }\\n  } else {\\n    top = offsets.top;\\n  }\\n  if (sideB === 'right') {\\n    if (offsetParent.nodeName === 'HTML') {\\n      left = -offsetParent.clientWidth + offsets.right;\\n    } else {\\n      left = -offsetParentRect.width + offsets.right;\\n    }\\n  } else {\\n    left = offsets.left;\\n  }\\n  if (gpuAcceleration && prefixedProperty) {\\n    styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\\n    styles[sideA] = 0;\\n    styles[sideB] = 0;\\n    styles.willChange = 'transform';\\n  } else {\\n    // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\\n    var invertTop = sideA === 'bottom' ? -1 : 1;\\n    var invertLeft = sideB === 'right' ? -1 : 1;\\n    styles[sideA] = top * invertTop;\\n    styles[sideB] = left * invertLeft;\\n    styles.willChange = sideA + ', ' + sideB;\\n  }\\n\\n  // Attributes\\n  var attributes = {\\n    'x-placement': data.placement\\n  };\\n\\n  // Update `data` attributes, styles and arrowStyles\\n  data.attributes = _extends({}, attributes, data.attributes);\\n  data.styles = _extends({}, styles, data.styles);\\n  data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\\n\\n  return data;\\n}\\n\\n/**\\n * Helper used to know if the given modifier depends from another one.<br />\\n * It checks if the needed modifier is listed and enabled.\\n * @method\\n * @memberof Popper.Utils\\n * @param {Array} modifiers - list of modifiers\\n * @param {String} requestingName - name of requesting modifier\\n * @param {String} requestedName - name of requested modifier\\n * @returns {Boolean}\\n */\\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\\n  var requesting = find(modifiers, function (_ref) {\\n    var name = _ref.name;\\n    return name === requestingName;\\n  });\\n\\n  var isRequired = !!requesting && modifiers.some(function (modifier) {\\n    return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\\n  });\\n\\n  if (!isRequired) {\\n    var _requesting = '`' + requestingName + '`';\\n    var requested = '`' + requestedName + '`';\\n    console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\\n  }\\n  return isRequired;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by update method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction arrow(data, options) {\\n  var _data$offsets$arrow;\\n\\n  // arrow depends on keepTogether in order to work\\n  if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\\n    return data;\\n  }\\n\\n  var arrowElement = options.element;\\n\\n  // if arrowElement is a string, suppose it's a CSS selector\\n  if (typeof arrowElement === 'string') {\\n    arrowElement = data.instance.popper.querySelector(arrowElement);\\n\\n    // if arrowElement is not found, don't run the modifier\\n    if (!arrowElement) {\\n      return data;\\n    }\\n  } else {\\n    // if the arrowElement isn't a query selector we must check that the\\n    // provided DOM node is child of its popper node\\n    if (!data.instance.popper.contains(arrowElement)) {\\n      console.warn('WARNING: `arrow.element` must be child of its popper element!');\\n      return data;\\n    }\\n  }\\n\\n  var placement = data.placement.split('-')[0];\\n  var _data$offsets = data.offsets,\\n      popper = _data$offsets.popper,\\n      reference = _data$offsets.reference;\\n\\n  var isVertical = ['left', 'right'].indexOf(placement) !== -1;\\n\\n  var len = isVertical ? 'height' : 'width';\\n  var sideCapitalized = isVertical ? 'Top' : 'Left';\\n  var side = sideCapitalized.toLowerCase();\\n  var altSide = isVertical ? 'left' : 'top';\\n  var opSide = isVertical ? 'bottom' : 'right';\\n  var arrowElementSize = getOuterSizes(arrowElement)[len];\\n\\n  //\\n  // extends keepTogether behavior making sure the popper and its\\n  // reference have enough pixels in conjunction\\n  //\\n\\n  // top/left side\\n  if (reference[opSide] - arrowElementSize < popper[side]) {\\n    data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\\n  }\\n  // bottom/right side\\n  if (reference[side] + arrowElementSize > popper[opSide]) {\\n    data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\\n  }\\n  data.offsets.popper = getClientRect(data.offsets.popper);\\n\\n  // compute center of the popper\\n  var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\\n\\n  // Compute the sideValue using the updated popper offsets\\n  // take popper margin in account because we don't have this info available\\n  var css = getStyleComputedProperty(data.instance.popper);\\n  var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);\\n  var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);\\n  var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\\n\\n  // prevent arrowElement from being placed not contiguously to its popper\\n  sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\\n\\n  data.arrowElement = arrowElement;\\n  data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\\n\\n  return data;\\n}\\n\\n/**\\n * Get the opposite placement variation of the given one\\n * @method\\n * @memberof Popper.Utils\\n * @argument {String} placement variation\\n * @returns {String} flipped placement variation\\n */\\nfunction getOppositeVariation(variation) {\\n  if (variation === 'end') {\\n    return 'start';\\n  } else if (variation === 'start') {\\n    return 'end';\\n  }\\n  return variation;\\n}\\n\\n/**\\n * List of accepted placements to use as values of the `placement` option.<br />\\n * Valid placements are:\\n * - `auto`\\n * - `top`\\n * - `right`\\n * - `bottom`\\n * - `left`\\n *\\n * Each placement can have a variation from this list:\\n * - `-start`\\n * - `-end`\\n *\\n * Variations are interpreted easily if you think of them as the left to right\\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\\n * is right.<br />\\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\\n *\\n * Some valid examples are:\\n * - `top-end` (on top of reference, right aligned)\\n * - `right-start` (on right of reference, top aligned)\\n * - `bottom` (on bottom, centered)\\n * - `auto-end` (on the side with more space available, alignment depends by placement)\\n *\\n * @static\\n * @type {Array}\\n * @enum {String}\\n * @readonly\\n * @method placements\\n * @memberof Popper\\n */\\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\\n\\n// Get rid of `auto` `auto-start` and `auto-end`\\nvar validPlacements = placements.slice(3);\\n\\n/**\\n * Given an initial placement, returns all the subsequent placements\\n * clockwise (or counter-clockwise).\\n *\\n * @method\\n * @memberof Popper.Utils\\n * @argument {String} placement - A valid placement (it accepts variations)\\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\\n * @returns {Array} placements including their variations\\n */\\nfunction clockwise(placement) {\\n  var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\\n\\n  var index = validPlacements.indexOf(placement);\\n  var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\\n  return counter ? arr.reverse() : arr;\\n}\\n\\nvar BEHAVIORS = {\\n  FLIP: 'flip',\\n  CLOCKWISE: 'clockwise',\\n  COUNTERCLOCKWISE: 'counterclockwise'\\n};\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by update method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction flip(data, options) {\\n  // if `inner` modifier is enabled, we can't use the `flip` modifier\\n  if (isModifierEnabled(data.instance.modifiers, 'inner')) {\\n    return data;\\n  }\\n\\n  if (data.flipped && data.placement === data.originalPlacement) {\\n    // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\\n    return data;\\n  }\\n\\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement, data.positionFixed);\\n\\n  var placement = data.placement.split('-')[0];\\n  var placementOpposite = getOppositePlacement(placement);\\n  var variation = data.placement.split('-')[1] || '';\\n\\n  var flipOrder = [];\\n\\n  switch (options.behavior) {\\n    case BEHAVIORS.FLIP:\\n      flipOrder = [placement, placementOpposite];\\n      break;\\n    case BEHAVIORS.CLOCKWISE:\\n      flipOrder = clockwise(placement);\\n      break;\\n    case BEHAVIORS.COUNTERCLOCKWISE:\\n      flipOrder = clockwise(placement, true);\\n      break;\\n    default:\\n      flipOrder = options.behavior;\\n  }\\n\\n  flipOrder.forEach(function (step, index) {\\n    if (placement !== step || flipOrder.length === index + 1) {\\n      return data;\\n    }\\n\\n    placement = data.placement.split('-')[0];\\n    placementOpposite = getOppositePlacement(placement);\\n\\n    var popperOffsets = data.offsets.popper;\\n    var refOffsets = data.offsets.reference;\\n\\n    // using floor because the reference offsets may contain decimals we are not going to consider here\\n    var floor = Math.floor;\\n    var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\\n\\n    var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\\n    var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\\n    var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\\n    var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\\n\\n    var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\\n\\n    // flip the variation if required\\n    var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\\n\\n    // flips variation if reference element overflows boundaries\\n    var flippedVariationByRef = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\\n\\n    // flips variation if popper content overflows boundaries\\n    var flippedVariationByContent = !!options.flipVariationsByContent && (isVertical && variation === 'start' && overflowsRight || isVertical && variation === 'end' && overflowsLeft || !isVertical && variation === 'start' && overflowsBottom || !isVertical && variation === 'end' && overflowsTop);\\n\\n    var flippedVariation = flippedVariationByRef || flippedVariationByContent;\\n\\n    if (overlapsRef || overflowsBoundaries || flippedVariation) {\\n      // this boolean to detect any flip loop\\n      data.flipped = true;\\n\\n      if (overlapsRef || overflowsBoundaries) {\\n        placement = flipOrder[index + 1];\\n      }\\n\\n      if (flippedVariation) {\\n        variation = getOppositeVariation(variation);\\n      }\\n\\n      data.placement = placement + (variation ? '-' + variation : '');\\n\\n      // this object contains `position`, we want to preserve it along with\\n      // any additional property we may add in the future\\n      data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\\n\\n      data = runModifiers(data.instance.modifiers, data, 'flip');\\n    }\\n  });\\n  return data;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by update method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction keepTogether(data) {\\n  var _data$offsets = data.offsets,\\n      popper = _data$offsets.popper,\\n      reference = _data$offsets.reference;\\n\\n  var placement = data.placement.split('-')[0];\\n  var floor = Math.floor;\\n  var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\\n  var side = isVertical ? 'right' : 'bottom';\\n  var opSide = isVertical ? 'left' : 'top';\\n  var measurement = isVertical ? 'width' : 'height';\\n\\n  if (popper[side] < floor(reference[opSide])) {\\n    data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\\n  }\\n  if (popper[opSide] > floor(reference[side])) {\\n    data.offsets.popper[opSide] = floor(reference[side]);\\n  }\\n\\n  return data;\\n}\\n\\n/**\\n * Converts a string containing value + unit into a px value number\\n * @function\\n * @memberof {modifiers~offset}\\n * @private\\n * @argument {String} str - Value + unit string\\n * @argument {String} measurement - `height` or `width`\\n * @argument {Object} popperOffsets\\n * @argument {Object} referenceOffsets\\n * @returns {Number|String}\\n * Value in pixels, or original string if no values were extracted\\n */\\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\\n  // separate value from unit\\n  var split = str.match(/((?:\\\\-|\\\\+)?\\\\d*\\\\.?\\\\d*)(.*)/);\\n  var value = +split[1];\\n  var unit = split[2];\\n\\n  // If it's not a number it's an operator, I guess\\n  if (!value) {\\n    return str;\\n  }\\n\\n  if (unit.indexOf('%') === 0) {\\n    var element = void 0;\\n    switch (unit) {\\n      case '%p':\\n        element = popperOffsets;\\n        break;\\n      case '%':\\n      case '%r':\\n      default:\\n        element = referenceOffsets;\\n    }\\n\\n    var rect = getClientRect(element);\\n    return rect[measurement] / 100 * value;\\n  } else if (unit === 'vh' || unit === 'vw') {\\n    // if is a vh or vw, we calculate the size based on the viewport\\n    var size = void 0;\\n    if (unit === 'vh') {\\n      size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\\n    } else {\\n      size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\\n    }\\n    return size / 100 * value;\\n  } else {\\n    // if is an explicit pixel unit, we get rid of the unit and keep the value\\n    // if is an implicit unit, it's px, and we return just the value\\n    return value;\\n  }\\n}\\n\\n/**\\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\\n * @function\\n * @memberof {modifiers~offset}\\n * @private\\n * @argument {String} offset\\n * @argument {Object} popperOffsets\\n * @argument {Object} referenceOffsets\\n * @argument {String} basePlacement\\n * @returns {Array} a two cells array with x and y offsets in numbers\\n */\\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\\n  var offsets = [0, 0];\\n\\n  // Use height if placement is left or right and index is 0 otherwise use width\\n  // in this way the first offset will use an axis and the second one\\n  // will use the other one\\n  var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\\n\\n  // Split the offset string to obtain a list of values and operands\\n  // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\\n  var fragments = offset.split(/(\\\\+|\\\\-)/).map(function (frag) {\\n    return frag.trim();\\n  });\\n\\n  // Detect if the offset string contains a pair of values or a single one\\n  // they could be separated by comma or space\\n  var divider = fragments.indexOf(find(fragments, function (frag) {\\n    return frag.search(/,|\\\\s/) !== -1;\\n  }));\\n\\n  if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\\n    console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\\n  }\\n\\n  // If divider is found, we divide the list of values and operands to divide\\n  // them by ofset X and Y.\\n  var splitRegex = /\\\\s*,\\\\s*|\\\\s+/;\\n  var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\\n\\n  // Convert the values with units to absolute pixels to allow our computations\\n  ops = ops.map(function (op, index) {\\n    // Most of the units rely on the orientation of the popper\\n    var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\\n    var mergeWithPrevious = false;\\n    return op\\n    // This aggregates any `+` or `-` sign that aren't considered operators\\n    // e.g.: 10 + +5 => [10, +, +5]\\n    .reduce(function (a, b) {\\n      if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\\n        a[a.length - 1] = b;\\n        mergeWithPrevious = true;\\n        return a;\\n      } else if (mergeWithPrevious) {\\n        a[a.length - 1] += b;\\n        mergeWithPrevious = false;\\n        return a;\\n      } else {\\n        return a.concat(b);\\n      }\\n    }, [])\\n    // Here we convert the string values into number values (in px)\\n    .map(function (str) {\\n      return toValue(str, measurement, popperOffsets, referenceOffsets);\\n    });\\n  });\\n\\n  // Loop trough the offsets arrays and execute the operations\\n  ops.forEach(function (op, index) {\\n    op.forEach(function (frag, index2) {\\n      if (isNumeric(frag)) {\\n        offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\\n      }\\n    });\\n  });\\n  return offsets;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by update method\\n * @argument {Object} options - Modifiers configuration and options\\n * @argument {Number|String} options.offset=0\\n * The offset value as described in the modifier description\\n * @returns {Object} The data object, properly modified\\n */\\nfunction offset(data, _ref) {\\n  var offset = _ref.offset;\\n  var placement = data.placement,\\n      _data$offsets = data.offsets,\\n      popper = _data$offsets.popper,\\n      reference = _data$offsets.reference;\\n\\n  var basePlacement = placement.split('-')[0];\\n\\n  var offsets = void 0;\\n  if (isNumeric(+offset)) {\\n    offsets = [+offset, 0];\\n  } else {\\n    offsets = parseOffset(offset, popper, reference, basePlacement);\\n  }\\n\\n  if (basePlacement === 'left') {\\n    popper.top += offsets[0];\\n    popper.left -= offsets[1];\\n  } else if (basePlacement === 'right') {\\n    popper.top += offsets[0];\\n    popper.left += offsets[1];\\n  } else if (basePlacement === 'top') {\\n    popper.left += offsets[0];\\n    popper.top -= offsets[1];\\n  } else if (basePlacement === 'bottom') {\\n    popper.left += offsets[0];\\n    popper.top += offsets[1];\\n  }\\n\\n  data.popper = popper;\\n  return data;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by `update` method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction preventOverflow(data, options) {\\n  var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\\n\\n  // If offsetParent is the reference element, we really want to\\n  // go one step up and use the next offsetParent as reference to\\n  // avoid to make this modifier completely useless and look like broken\\n  if (data.instance.reference === boundariesElement) {\\n    boundariesElement = getOffsetParent(boundariesElement);\\n  }\\n\\n  // NOTE: DOM access here\\n  // resets the popper's position so that the document size can be calculated excluding\\n  // the size of the popper element itself\\n  var transformProp = getSupportedPropertyName('transform');\\n  var popperStyles = data.instance.popper.style; // assignment to help minification\\n  var top = popperStyles.top,\\n      left = popperStyles.left,\\n      transform = popperStyles[transformProp];\\n\\n  popperStyles.top = '';\\n  popperStyles.left = '';\\n  popperStyles[transformProp] = '';\\n\\n  var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement, data.positionFixed);\\n\\n  // NOTE: DOM access here\\n  // restores the original style properties after the offsets have been computed\\n  popperStyles.top = top;\\n  popperStyles.left = left;\\n  popperStyles[transformProp] = transform;\\n\\n  options.boundaries = boundaries;\\n\\n  var order = options.priority;\\n  var popper = data.offsets.popper;\\n\\n  var check = {\\n    primary: function primary(placement) {\\n      var value = popper[placement];\\n      if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\\n        value = Math.max(popper[placement], boundaries[placement]);\\n      }\\n      return defineProperty({}, placement, value);\\n    },\\n    secondary: function secondary(placement) {\\n      var mainSide = placement === 'right' ? 'left' : 'top';\\n      var value = popper[mainSide];\\n      if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\\n        value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\\n      }\\n      return defineProperty({}, mainSide, value);\\n    }\\n  };\\n\\n  order.forEach(function (placement) {\\n    var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\\n    popper = _extends({}, popper, check[side](placement));\\n  });\\n\\n  data.offsets.popper = popper;\\n\\n  return data;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by `update` method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction shift(data) {\\n  var placement = data.placement;\\n  var basePlacement = placement.split('-')[0];\\n  var shiftvariation = placement.split('-')[1];\\n\\n  // if shift shiftvariation is specified, run the modifier\\n  if (shiftvariation) {\\n    var _data$offsets = data.offsets,\\n        reference = _data$offsets.reference,\\n        popper = _data$offsets.popper;\\n\\n    var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\\n    var side = isVertical ? 'left' : 'top';\\n    var measurement = isVertical ? 'width' : 'height';\\n\\n    var shiftOffsets = {\\n      start: defineProperty({}, side, reference[side]),\\n      end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\\n    };\\n\\n    data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\\n  }\\n\\n  return data;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by update method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction hide(data) {\\n  if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\\n    return data;\\n  }\\n\\n  var refRect = data.offsets.reference;\\n  var bound = find(data.instance.modifiers, function (modifier) {\\n    return modifier.name === 'preventOverflow';\\n  }).boundaries;\\n\\n  if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\\n    // Avoid unnecessary DOM access if visibility hasn't changed\\n    if (data.hide === true) {\\n      return data;\\n    }\\n\\n    data.hide = true;\\n    data.attributes['x-out-of-boundaries'] = '';\\n  } else {\\n    // Avoid unnecessary DOM access if visibility hasn't changed\\n    if (data.hide === false) {\\n      return data;\\n    }\\n\\n    data.hide = false;\\n    data.attributes['x-out-of-boundaries'] = false;\\n  }\\n\\n  return data;\\n}\\n\\n/**\\n * @function\\n * @memberof Modifiers\\n * @argument {Object} data - The data object generated by `update` method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {Object} The data object, properly modified\\n */\\nfunction inner(data) {\\n  var placement = data.placement;\\n  var basePlacement = placement.split('-')[0];\\n  var _data$offsets = data.offsets,\\n      popper = _data$offsets.popper,\\n      reference = _data$offsets.reference;\\n\\n  var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\\n\\n  var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\\n\\n  popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\\n\\n  data.placement = getOppositePlacement(placement);\\n  data.offsets.popper = getClientRect(popper);\\n\\n  return data;\\n}\\n\\n/**\\n * Modifier function, each modifier can have a function of this type assigned\\n * to its `fn` property.<br />\\n * These functions will be called on each update, this means that you must\\n * make sure they are performant enough to avoid performance bottlenecks.\\n *\\n * @function ModifierFn\\n * @argument {dataObject} data - The data object generated by `update` method\\n * @argument {Object} options - Modifiers configuration and options\\n * @returns {dataObject} The data object, properly modified\\n */\\n\\n/**\\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\\n * needed by the library.\\n *\\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\\n * All the other properties are configurations that could be tweaked.\\n * @namespace modifiers\\n */\\nvar modifiers = {\\n  /**\\n   * Modifier used to shift the popper on the start or end of its reference\\n   * element.<br />\\n   * It will read the variation of the `placement` property.<br />\\n   * It can be one either `-end` or `-start`.\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  shift: {\\n    /** @prop {number} order=100 - Index used to define the order of execution */\\n    order: 100,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: shift\\n  },\\n\\n  /**\\n   * The `offset` modifier can shift your popper on both its axis.\\n   *\\n   * It accepts the following units:\\n   * - `px` or unit-less, interpreted as pixels\\n   * - `%` or `%r`, percentage relative to the length of the reference element\\n   * - `%p`, percentage relative to the length of the popper element\\n   * - `vw`, CSS viewport width unit\\n   * - `vh`, CSS viewport height unit\\n   *\\n   * For length is intended the main axis relative to the placement of the popper.<br />\\n   * This means that if the placement is `top` or `bottom`, the length will be the\\n   * `width`. In case of `left` or `right`, it will be the `height`.\\n   *\\n   * You can provide a single value (as `Number` or `String`), or a pair of values\\n   * as `String` divided by a comma or one (or more) white spaces.<br />\\n   * The latter is a deprecated method because it leads to confusion and will be\\n   * removed in v2.<br />\\n   * Additionally, it accepts additions and subtractions between different units.\\n   * Note that multiplications and divisions aren't supported.\\n   *\\n   * Valid examples are:\\n   * ```\\n   * 10\\n   * '10%'\\n   * '10, 10'\\n   * '10%, 10'\\n   * '10 + 10%'\\n   * '10 - 5vh + 3%'\\n   * '-10px + 5vh, 5px - 6%'\\n   * ```\\n   * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\\n   * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\\n   * > You can read more on this at this [issue](https://github.com/FezVrasta/popper.js/issues/373).\\n   *\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  offset: {\\n    /** @prop {number} order=200 - Index used to define the order of execution */\\n    order: 200,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: offset,\\n    /** @prop {Number|String} offset=0\\n     * The offset value as described in the modifier description\\n     */\\n    offset: 0\\n  },\\n\\n  /**\\n   * Modifier used to prevent the popper from being positioned outside the boundary.\\n   *\\n   * A scenario exists where the reference itself is not within the boundaries.<br />\\n   * We can say it has \\\"escaped the boundaries\\\" — or just \\\"escaped\\\".<br />\\n   * In this case we need to decide whether the popper should either:\\n   *\\n   * - detach from the reference and remain \\\"trapped\\\" in the boundaries, or\\n   * - if it should ignore the boundary and \\\"escape with its reference\\\"\\n   *\\n   * When `escapeWithReference` is set to`true` and reference is completely\\n   * outside its boundaries, the popper will overflow (or completely leave)\\n   * the boundaries in order to remain attached to the edge of the reference.\\n   *\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  preventOverflow: {\\n    /** @prop {number} order=300 - Index used to define the order of execution */\\n    order: 300,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: preventOverflow,\\n    /**\\n     * @prop {Array} [priority=['left','right','top','bottom']]\\n     * Popper will try to prevent overflow following these priorities by default,\\n     * then, it could overflow on the left and on top of the `boundariesElement`\\n     */\\n    priority: ['left', 'right', 'top', 'bottom'],\\n    /**\\n     * @prop {number} padding=5\\n     * Amount of pixel used to define a minimum distance between the boundaries\\n     * and the popper. This makes sure the popper always has a little padding\\n     * between the edges of its container\\n     */\\n    padding: 5,\\n    /**\\n     * @prop {String|HTMLElement} boundariesElement='scrollParent'\\n     * Boundaries used by the modifier. Can be `scrollParent`, `window`,\\n     * `viewport` or any DOM element.\\n     */\\n    boundariesElement: 'scrollParent'\\n  },\\n\\n  /**\\n   * Modifier used to make sure the reference and its popper stay near each other\\n   * without leaving any gap between the two. Especially useful when the arrow is\\n   * enabled and you want to ensure that it points to its reference element.\\n   * It cares only about the first axis. You can still have poppers with margin\\n   * between the popper and its reference element.\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  keepTogether: {\\n    /** @prop {number} order=400 - Index used to define the order of execution */\\n    order: 400,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: keepTogether\\n  },\\n\\n  /**\\n   * This modifier is used to move the `arrowElement` of the popper to make\\n   * sure it is positioned between the reference element and its popper element.\\n   * It will read the outer size of the `arrowElement` node to detect how many\\n   * pixels of conjunction are needed.\\n   *\\n   * It has no effect if no `arrowElement` is provided.\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  arrow: {\\n    /** @prop {number} order=500 - Index used to define the order of execution */\\n    order: 500,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: arrow,\\n    /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\\n    element: '[x-arrow]'\\n  },\\n\\n  /**\\n   * Modifier used to flip the popper's placement when it starts to overlap its\\n   * reference element.\\n   *\\n   * Requires the `preventOverflow` modifier before it in order to work.\\n   *\\n   * **NOTE:** this modifier will interrupt the current update cycle and will\\n   * restart it if it detects the need to flip the placement.\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  flip: {\\n    /** @prop {number} order=600 - Index used to define the order of execution */\\n    order: 600,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: flip,\\n    /**\\n     * @prop {String|Array} behavior='flip'\\n     * The behavior used to change the popper's placement. It can be one of\\n     * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\\n     * placements (with optional variations)\\n     */\\n    behavior: 'flip',\\n    /**\\n     * @prop {number} padding=5\\n     * The popper will flip if it hits the edges of the `boundariesElement`\\n     */\\n    padding: 5,\\n    /**\\n     * @prop {String|HTMLElement} boundariesElement='viewport'\\n     * The element which will define the boundaries of the popper position.\\n     * The popper will never be placed outside of the defined boundaries\\n     * (except if `keepTogether` is enabled)\\n     */\\n    boundariesElement: 'viewport',\\n    /**\\n     * @prop {Boolean} flipVariations=false\\n     * The popper will switch placement variation between `-start` and `-end` when\\n     * the reference element overlaps its boundaries.\\n     *\\n     * The original placement should have a set variation.\\n     */\\n    flipVariations: false,\\n    /**\\n     * @prop {Boolean} flipVariationsByContent=false\\n     * The popper will switch placement variation between `-start` and `-end` when\\n     * the popper element overlaps its reference boundaries.\\n     *\\n     * The original placement should have a set variation.\\n     */\\n    flipVariationsByContent: false\\n  },\\n\\n  /**\\n   * Modifier used to make the popper flow toward the inner of the reference element.\\n   * By default, when this modifier is disabled, the popper will be placed outside\\n   * the reference element.\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  inner: {\\n    /** @prop {number} order=700 - Index used to define the order of execution */\\n    order: 700,\\n    /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\\n    enabled: false,\\n    /** @prop {ModifierFn} */\\n    fn: inner\\n  },\\n\\n  /**\\n   * Modifier used to hide the popper when its reference element is outside of the\\n   * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\\n   * be used to hide with a CSS selector the popper when its reference is\\n   * out of boundaries.\\n   *\\n   * Requires the `preventOverflow` modifier before it in order to work.\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  hide: {\\n    /** @prop {number} order=800 - Index used to define the order of execution */\\n    order: 800,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: hide\\n  },\\n\\n  /**\\n   * Computes the style that will be applied to the popper element to gets\\n   * properly positioned.\\n   *\\n   * Note that this modifier will not touch the DOM, it just prepares the styles\\n   * so that `applyStyle` modifier can apply it. This separation is useful\\n   * in case you need to replace `applyStyle` with a custom implementation.\\n   *\\n   * This modifier has `850` as `order` value to maintain backward compatibility\\n   * with previous versions of Popper.js. Expect the modifiers ordering method\\n   * to change in future major versions of the library.\\n   *\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  computeStyle: {\\n    /** @prop {number} order=850 - Index used to define the order of execution */\\n    order: 850,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: computeStyle,\\n    /**\\n     * @prop {Boolean} gpuAcceleration=true\\n     * If true, it uses the CSS 3D transformation to position the popper.\\n     * Otherwise, it will use the `top` and `left` properties\\n     */\\n    gpuAcceleration: true,\\n    /**\\n     * @prop {string} [x='bottom']\\n     * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\\n     * Change this if your popper should grow in a direction different from `bottom`\\n     */\\n    x: 'bottom',\\n    /**\\n     * @prop {string} [x='left']\\n     * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\\n     * Change this if your popper should grow in a direction different from `right`\\n     */\\n    y: 'right'\\n  },\\n\\n  /**\\n   * Applies the computed styles to the popper element.\\n   *\\n   * All the DOM manipulations are limited to this modifier. This is useful in case\\n   * you want to integrate Popper.js inside a framework or view library and you\\n   * want to delegate all the DOM manipulations to it.\\n   *\\n   * Note that if you disable this modifier, you must make sure the popper element\\n   * has its position set to `absolute` before Popper.js can do its work!\\n   *\\n   * Just disable this modifier and define your own to achieve the desired effect.\\n   *\\n   * @memberof modifiers\\n   * @inner\\n   */\\n  applyStyle: {\\n    /** @prop {number} order=900 - Index used to define the order of execution */\\n    order: 900,\\n    /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\\n    enabled: true,\\n    /** @prop {ModifierFn} */\\n    fn: applyStyle,\\n    /** @prop {Function} */\\n    onLoad: applyStyleOnLoad,\\n    /**\\n     * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\\n     * @prop {Boolean} gpuAcceleration=true\\n     * If true, it uses the CSS 3D transformation to position the popper.\\n     * Otherwise, it will use the `top` and `left` properties\\n     */\\n    gpuAcceleration: undefined\\n  }\\n};\\n\\n/**\\n * The `dataObject` is an object containing all the information used by Popper.js.\\n * This object is passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\\n * @name dataObject\\n * @property {Object} data.instance The Popper.js instance\\n * @property {String} data.placement Placement applied to popper\\n * @property {String} data.originalPlacement Placement originally defined on init\\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper\\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper. It expects the JavaScript nomenclature (eg. `marginBottom`)\\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow. It expects the JavaScript nomenclature (eg. `marginBottom`)\\n * @property {Object} data.boundaries Offsets of the popper boundaries\\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements\\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\\n */\\n\\n/**\\n * Default options provided to Popper.js constructor.<br />\\n * These can be overridden using the `options` argument of Popper.js.<br />\\n * To override an option, simply pass an object with the same\\n * structure of the `options` object, as the 3rd argument. For example:\\n * ```\\n * new Popper(ref, pop, {\\n *   modifiers: {\\n *     preventOverflow: { enabled: false }\\n *   }\\n * })\\n * ```\\n * @type {Object}\\n * @static\\n * @memberof Popper\\n */\\nvar Defaults = {\\n  /**\\n   * Popper's placement.\\n   * @prop {Popper.placements} placement='bottom'\\n   */\\n  placement: 'bottom',\\n\\n  /**\\n   * Set this to true if you want popper to position it self in 'fixed' mode\\n   * @prop {Boolean} positionFixed=false\\n   */\\n  positionFixed: false,\\n\\n  /**\\n   * Whether events (resize, scroll) are initially enabled.\\n   * @prop {Boolean} eventsEnabled=true\\n   */\\n  eventsEnabled: true,\\n\\n  /**\\n   * Set to true if you want to automatically remove the popper when\\n   * you call the `destroy` method.\\n   * @prop {Boolean} removeOnDestroy=false\\n   */\\n  removeOnDestroy: false,\\n\\n  /**\\n   * Callback called when the popper is created.<br />\\n   * By default, it is set to no-op.<br />\\n   * Access Popper.js instance with `data.instance`.\\n   * @prop {onCreate}\\n   */\\n  onCreate: function onCreate() {},\\n\\n  /**\\n   * Callback called when the popper is updated. This callback is not called\\n   * on the initialization/creation of the popper, but only on subsequent\\n   * updates.<br />\\n   * By default, it is set to no-op.<br />\\n   * Access Popper.js instance with `data.instance`.\\n   * @prop {onUpdate}\\n   */\\n  onUpdate: function onUpdate() {},\\n\\n  /**\\n   * List of modifiers used to modify the offsets before they are applied to the popper.\\n   * They provide most of the functionalities of Popper.js.\\n   * @prop {modifiers}\\n   */\\n  modifiers: modifiers\\n};\\n\\n/**\\n * @callback onCreate\\n * @param {dataObject} data\\n */\\n\\n/**\\n * @callback onUpdate\\n * @param {dataObject} data\\n */\\n\\n// Utils\\n// Methods\\nvar Popper = function () {\\n  /**\\n   * Creates a new Popper.js instance.\\n   * @class Popper\\n   * @param {Element|referenceObject} reference - The reference element used to position the popper\\n   * @param {Element} popper - The HTML / XML element used as the popper\\n   * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\\n   * @return {Object} instance - The generated Popper.js instance\\n   */\\n  function Popper(reference, popper) {\\n    var _this = this;\\n\\n    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\\n    classCallCheck(this, Popper);\\n\\n    this.scheduleUpdate = function () {\\n      return requestAnimationFrame(_this.update);\\n    };\\n\\n    // make update() debounced, so that it only runs at most once-per-tick\\n    this.update = debounce(this.update.bind(this));\\n\\n    // with {} we create a new object with the options inside it\\n    this.options = _extends({}, Popper.Defaults, options);\\n\\n    // init state\\n    this.state = {\\n      isDestroyed: false,\\n      isCreated: false,\\n      scrollParents: []\\n    };\\n\\n    // get reference and popper elements (allow jQuery wrappers)\\n    this.reference = reference && reference.jquery ? reference[0] : reference;\\n    this.popper = popper && popper.jquery ? popper[0] : popper;\\n\\n    // Deep merge modifiers options\\n    this.options.modifiers = {};\\n    Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\\n      _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\\n    });\\n\\n    // Refactoring modifiers' list (Object => Array)\\n    this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\\n      return _extends({\\n        name: name\\n      }, _this.options.modifiers[name]);\\n    })\\n    // sort the modifiers by order\\n    .sort(function (a, b) {\\n      return a.order - b.order;\\n    });\\n\\n    // modifiers have the ability to execute arbitrary code when Popper.js get inited\\n    // such code is executed in the same order of its modifier\\n    // they could add new properties to their options configuration\\n    // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\\n    this.modifiers.forEach(function (modifierOptions) {\\n      if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\\n        modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\\n      }\\n    });\\n\\n    // fire the first update to position the popper in the right place\\n    this.update();\\n\\n    var eventsEnabled = this.options.eventsEnabled;\\n    if (eventsEnabled) {\\n      // setup event listeners, they will take care of update the position in specific situations\\n      this.enableEventListeners();\\n    }\\n\\n    this.state.eventsEnabled = eventsEnabled;\\n  }\\n\\n  // We can't use class properties because they don't get listed in the\\n  // class prototype and break stuff like Sinon stubs\\n\\n\\n  createClass(Popper, [{\\n    key: 'update',\\n    value: function update$$1() {\\n      return update.call(this);\\n    }\\n  }, {\\n    key: 'destroy',\\n    value: function destroy$$1() {\\n      return destroy.call(this);\\n    }\\n  }, {\\n    key: 'enableEventListeners',\\n    value: function enableEventListeners$$1() {\\n      return enableEventListeners.call(this);\\n    }\\n  }, {\\n    key: 'disableEventListeners',\\n    value: function disableEventListeners$$1() {\\n      return disableEventListeners.call(this);\\n    }\\n\\n    /**\\n     * Schedules an update. It will run on the next UI update available.\\n     * @method scheduleUpdate\\n     * @memberof Popper\\n     */\\n\\n\\n    /**\\n     * Collection of utilities useful when writing custom modifiers.\\n     * Starting from version 1.7, this method is available only if you\\n     * include `popper-utils.js` before `popper.js`.\\n     *\\n     * **DEPRECATION**: This way to access PopperUtils is deprecated\\n     * and will be removed in v2! Use the PopperUtils module directly instead.\\n     * Due to the high instability of the methods contained in Utils, we can't\\n     * guarantee them to follow semver. Use them at your own risk!\\n     * @static\\n     * @private\\n     * @type {Object}\\n     * @deprecated since version 1.8\\n     * @member Utils\\n     * @memberof Popper\\n     */\\n\\n  }]);\\n  return Popper;\\n}();\\n\\n/**\\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\\n * and lets you use it as replacement of a real DOM node.<br />\\n * You can use this method to position a popper relatively to a set of coordinates\\n * in case you don't have a DOM node to use as reference.\\n *\\n * ```\\n * new Popper(referenceObject, popperNode);\\n * ```\\n *\\n * NB: This feature isn't supported in Internet Explorer 10.\\n * @name referenceObject\\n * @property {Function} data.getBoundingClientRect\\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\\n * @property {number} data.clientWidth\\n * An ES6 getter that will return the width of the virtual reference element.\\n * @property {number} data.clientHeight\\n * An ES6 getter that will return the height of the virtual reference element.\\n */\\n\\n\\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\\nPopper.placements = placements;\\nPopper.Defaults = Defaults;\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Popper);\\n//# sourceMappingURL=popper.js.map\\n\\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ \\\"./node_modules/webpack/buildin/global.js\\\")))//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcG9wcGVyLmpzL2Rpc3QvZXNtL3BvcHBlci5qcz9mMGJkIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGlCQUFpQixrQ0FBa0M7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFNBQVM7QUFDdEIsWUFBWTtBQUNaO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLElBQUk7QUFDbEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxlQUFlO0FBQzFCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixjQUFjLFFBQVE7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkIsWUFBWSxPQUFPO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLG9CQUFvQjtBQUMvQjtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZLE9BQU87QUFDbkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CLGtCQUFrQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7Ozs7O0FBTUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQixzQkFBc0I7QUFDdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQSxvQkFBb0I7QUFDcEI7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixZQUFZLE9BQU87QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixjQUFjLFFBQVE7QUFDdEIsYUFBYSxRQUFRO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLFFBQVE7QUFDckI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFlBQVk7QUFDdkIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsWUFBWTtBQUN2QixXQUFXLFFBQVE7QUFDbkIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxvQkFBb0I7QUFDcEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLFFBQVE7QUFDbkIsV0FBVyxRQUFRO0FBQ25CLFdBQVcsUUFBUTtBQUNuQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxZQUFZO0FBQ3ZCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE1BQU07QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsTUFBTTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixXQUFXLE1BQU07QUFDakIsV0FBVyxPQUFPO0FBQ2xCLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWM7QUFDZCxtQkFBbUI7QUFDbkIsa0JBQWtCO0FBQ2xCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLHFCQUFxQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw0Q0FBNEMsZ0JBQWdCOztBQUU1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNFQUFzRSxnQkFBZ0I7O0FBRXRGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxFQUFFO0FBQ2IsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsUUFBUTtBQUN0QixjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsWUFBWTtBQUN2QixXQUFXLFlBQVk7QUFDdkIsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxxQkFBcUIseURBQXlEOztBQUU5RTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLFFBQVE7QUFDdEIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtCQUErQjtBQUMvQiwyQkFBMkI7QUFDM0IsZ0NBQWdDOztBQUVoQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE1BQU07QUFDakIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0Q7O0FBRWhEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsUUFBUTtBQUN0QixhQUFhLE1BQU07QUFDbkI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxNQUFNO0FBQ25CO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLGNBQWM7QUFDNUI7QUFDQSxhQUFhLE9BQU87QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4QkFBOEI7QUFDOUI7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCLEdBQUc7O0FBRUg7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEJBQThCO0FBQzlCLDRCQUE0QjtBQUM1Qjs7QUFFQSxxQ0FBcUM7QUFDckM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGFBQWEsT0FBTztBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsYUFBYSxPQUFPO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsV0FBVztBQUN6QixjQUFjLE9BQU87QUFDckIsYUFBYSxXQUFXO0FBQ3hCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxlQUFlLGNBQWM7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQTtBQUNBLGNBQWMsTUFBTTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyxPQUFPO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsbUJBQW1CO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBLGVBQWUsbUJBQW1CO0FBQ2xDO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQTtBQUNBLGNBQWMsYUFBYTtBQUMzQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLG1CQUFtQjtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxPQUFPO0FBQ3RCO0FBQ0EsZUFBZSxRQUFRO0FBQ3ZCO0FBQ0EsZUFBZSxXQUFXO0FBQzFCO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsT0FBTztBQUN0QjtBQUNBLGVBQWUsUUFBUTtBQUN2QjtBQUNBLGVBQWUsV0FBVztBQUMxQjtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLE9BQU87QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxlQUFlLE9BQU87QUFDdEI7QUFDQSxlQUFlLFFBQVE7QUFDdkI7QUFDQSxlQUFlLFdBQVc7QUFDMUI7QUFDQSxlQUFlLFNBQVM7QUFDeEI7QUFDQTtBQUNBO0FBQ0EsY0FBYyxRQUFRO0FBQ3RCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsUUFBUTtBQUN0QixjQUFjLFFBQVE7QUFDdEIsY0FBYyxZQUFZO0FBQzFCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQixjQUFjLE9BQU87QUFDckIsY0FBYyxPQUFPO0FBQ3JCLGNBQWMsT0FBTztBQUNyQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCO0FBQ3pCO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksa0JBQWtCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFlBQVksUUFBUTtBQUNwQjtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBLGtDQUFrQzs7QUFFbEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0Esa0NBQWtDOztBQUVsQztBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEI7O0FBRUE7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLHdCQUF3QjtBQUNyQyxhQUFhLFFBQVE7QUFDckIsYUFBYSxPQUFPO0FBQ3BCLGNBQWMsT0FBTztBQUNyQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxjQUFjO0FBQ2QsOEJBQThCOztBQUU5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0IsaURBQWlELHVDQUF1QyxrREFBa0Q7QUFDMUksS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjO0FBQ2Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRztBQUNIO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLFNBQVM7QUFDdkI7QUFDQSxjQUFjLE9BQU87QUFDckI7QUFDQSxjQUFjLE9BQU87QUFDckI7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVlLHFFQUFNLEVBQUM7QUFDdEIiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcG9wcGVyLmpzL2Rpc3QvZXNtL3BvcHBlci5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiFcbiAqIEBmaWxlT3ZlcnZpZXcgS2lja2FzcyBsaWJyYXJ5IHRvIGNyZWF0ZSBhbmQgcGxhY2UgcG9wcGVycyBuZWFyIHRoZWlyIHJlZmVyZW5jZSBlbGVtZW50cy5cbiAqIEB2ZXJzaW9uIDEuMTYuMVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCAoYykgMjAxNiBGZWRlcmljbyBaaXZvbG8gYW5kIGNvbnRyaWJ1dG9yc1xuICpcbiAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiAqIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiAqIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHNcbiAqIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiAqIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuICogZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4gKlxuICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksXG4gKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbiAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gKiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuICogU09GVFdBUkUuXG4gKi9cbnZhciBpc0Jyb3dzZXIgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnO1xuXG52YXIgdGltZW91dER1cmF0aW9uID0gZnVuY3Rpb24gKCkge1xuICB2YXIgbG9uZ2VyVGltZW91dEJyb3dzZXJzID0gWydFZGdlJywgJ1RyaWRlbnQnLCAnRmlyZWZveCddO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxvbmdlclRpbWVvdXRCcm93c2Vycy5sZW5ndGg7IGkgKz0gMSkge1xuICAgIGlmIChpc0Jyb3dzZXIgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKGxvbmdlclRpbWVvdXRCcm93c2Vyc1tpXSkgPj0gMCkge1xuICAgICAgcmV0dXJuIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiAwO1xufSgpO1xuXG5mdW5jdGlvbiBtaWNyb3Rhc2tEZWJvdW5jZShmbikge1xuICB2YXIgY2FsbGVkID0gZmFsc2U7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGNhbGxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIHdpbmRvdy5Qcm9taXNlLnJlc29sdmUoKS50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgIGNhbGxlZCA9IGZhbHNlO1xuICAgICAgZm4oKTtcbiAgICB9KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gdGFza0RlYm91bmNlKGZuKSB7XG4gIHZhciBzY2hlZHVsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXNjaGVkdWxlZCkge1xuICAgICAgc2NoZWR1bGVkID0gdHJ1ZTtcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICBzY2hlZHVsZWQgPSBmYWxzZTtcbiAgICAgICAgZm4oKTtcbiAgICAgIH0sIHRpbWVvdXREdXJhdGlvbik7XG4gICAgfVxuICB9O1xufVxuXG52YXIgc3VwcG9ydHNNaWNyb1Rhc2tzID0gaXNCcm93c2VyICYmIHdpbmRvdy5Qcm9taXNlO1xuXG4vKipcbiogQ3JlYXRlIGEgZGVib3VuY2VkIHZlcnNpb24gb2YgYSBtZXRob2QsIHRoYXQncyBhc3luY2hyb25vdXNseSBkZWZlcnJlZFxuKiBidXQgY2FsbGVkIGluIHRoZSBtaW5pbXVtIHRpbWUgcG9zc2libGUuXG4qXG4qIEBtZXRob2RcbiogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuKiBAYXJndW1lbnQge0Z1bmN0aW9ufSBmblxuKiBAcmV0dXJucyB7RnVuY3Rpb259XG4qL1xudmFyIGRlYm91bmNlID0gc3VwcG9ydHNNaWNyb1Rhc2tzID8gbWljcm90YXNrRGVib3VuY2UgOiB0YXNrRGVib3VuY2U7XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIHZhcmlhYmxlIGlzIGEgZnVuY3Rpb25cbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7QW55fSBmdW5jdGlvblRvQ2hlY2sgLSB2YXJpYWJsZSB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IGFuc3dlciB0bzogaXMgYSBmdW5jdGlvbj9cbiAqL1xuZnVuY3Rpb24gaXNGdW5jdGlvbihmdW5jdGlvblRvQ2hlY2spIHtcbiAgdmFyIGdldFR5cGUgPSB7fTtcbiAgcmV0dXJuIGZ1bmN0aW9uVG9DaGVjayAmJiBnZXRUeXBlLnRvU3RyaW5nLmNhbGwoZnVuY3Rpb25Ub0NoZWNrKSA9PT0gJ1tvYmplY3QgRnVuY3Rpb25dJztcbn1cblxuLyoqXG4gKiBHZXQgQ1NTIGNvbXB1dGVkIHByb3BlcnR5IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VlbWVudH0gZWxlbWVudFxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHByb3BlcnR5XG4gKi9cbmZ1bmN0aW9uIGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50LCBwcm9wZXJ0eSkge1xuICBpZiAoZWxlbWVudC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuICB2YXIgd2luZG93ID0gZWxlbWVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICB2YXIgY3NzID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCk7XG4gIHJldHVybiBwcm9wZXJ0eSA/IGNzc1twcm9wZXJ0eV0gOiBjc3M7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcGFyZW50Tm9kZSBvciB0aGUgaG9zdCBvZiB0aGUgZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGdldFBhcmVudE5vZGUoZWxlbWVudCkge1xuICBpZiAoZWxlbWVudC5ub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cbiAgcmV0dXJuIGVsZW1lbnQucGFyZW50Tm9kZSB8fCBlbGVtZW50Lmhvc3Q7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc2Nyb2xsaW5nIHBhcmVudCBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gc2Nyb2xsIHBhcmVudFxuICovXG5mdW5jdGlvbiBnZXRTY3JvbGxQYXJlbnQoZWxlbWVudCkge1xuICAvLyBSZXR1cm4gYm9keSwgYGdldFNjcm9sbGAgd2lsbCB0YWtlIGNhcmUgdG8gZ2V0IHRoZSBjb3JyZWN0IGBzY3JvbGxUb3BgIGZyb20gaXRcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH1cblxuICBzd2l0Y2ggKGVsZW1lbnQubm9kZU5hbWUpIHtcbiAgICBjYXNlICdIVE1MJzpcbiAgICBjYXNlICdCT0RZJzpcbiAgICAgIHJldHVybiBlbGVtZW50Lm93bmVyRG9jdW1lbnQuYm9keTtcbiAgICBjYXNlICcjZG9jdW1lbnQnOlxuICAgICAgcmV0dXJuIGVsZW1lbnQuYm9keTtcbiAgfVxuXG4gIC8vIEZpcmVmb3ggd2FudCB1cyB0byBjaGVjayBgLXhgIGFuZCBgLXlgIHZhcmlhdGlvbnMgYXMgd2VsbFxuXG4gIHZhciBfZ2V0U3R5bGVDb21wdXRlZFByb3AgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZWxlbWVudCksXG4gICAgICBvdmVyZmxvdyA9IF9nZXRTdHlsZUNvbXB1dGVkUHJvcC5vdmVyZmxvdyxcbiAgICAgIG92ZXJmbG93WCA9IF9nZXRTdHlsZUNvbXB1dGVkUHJvcC5vdmVyZmxvd1gsXG4gICAgICBvdmVyZmxvd1kgPSBfZ2V0U3R5bGVDb21wdXRlZFByb3Aub3ZlcmZsb3dZO1xuXG4gIGlmICgvKGF1dG98c2Nyb2xsfG92ZXJsYXkpLy50ZXN0KG92ZXJmbG93ICsgb3ZlcmZsb3dZICsgb3ZlcmZsb3dYKSkge1xuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKGVsZW1lbnQpKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWZlcmVuY2Ugbm9kZSBvZiB0aGUgcmVmZXJlbmNlIG9iamVjdCwgb3IgdGhlIHJlZmVyZW5jZSBvYmplY3QgaXRzZWxmLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtFbGVtZW50fE9iamVjdH0gcmVmZXJlbmNlIC0gdGhlIHJlZmVyZW5jZSBlbGVtZW50ICh0aGUgcG9wcGVyIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhpcylcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBwYXJlbnRcbiAqL1xuZnVuY3Rpb24gZ2V0UmVmZXJlbmNlTm9kZShyZWZlcmVuY2UpIHtcbiAgcmV0dXJuIHJlZmVyZW5jZSAmJiByZWZlcmVuY2UucmVmZXJlbmNlTm9kZSA/IHJlZmVyZW5jZS5yZWZlcmVuY2VOb2RlIDogcmVmZXJlbmNlO1xufVxuXG52YXIgaXNJRTExID0gaXNCcm93c2VyICYmICEhKHdpbmRvdy5NU0lucHV0TWV0aG9kQ29udGV4dCAmJiBkb2N1bWVudC5kb2N1bWVudE1vZGUpO1xudmFyIGlzSUUxMCA9IGlzQnJvd3NlciAmJiAvTVNJRSAxMC8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIHRoZSBicm93c2VyIGlzIEludGVybmV0IEV4cGxvcmVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0ge051bWJlcn0gdmVyc2lvbiB0byBjaGVja1xuICogQHJldHVybnMge0Jvb2xlYW59IGlzSUVcbiAqL1xuZnVuY3Rpb24gaXNJRSh2ZXJzaW9uKSB7XG4gIGlmICh2ZXJzaW9uID09PSAxMSkge1xuICAgIHJldHVybiBpc0lFMTE7XG4gIH1cbiAgaWYgKHZlcnNpb24gPT09IDEwKSB7XG4gICAgcmV0dXJuIGlzSUUxMDtcbiAgfVxuICByZXR1cm4gaXNJRTExIHx8IGlzSUUxMDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvZmZzZXQgcGFyZW50IG9mIHRoZSBnaXZlbiBlbGVtZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm5zIHtFbGVtZW50fSBvZmZzZXQgcGFyZW50XG4gKi9cbmZ1bmN0aW9uIGdldE9mZnNldFBhcmVudChlbGVtZW50KSB7XG4gIGlmICghZWxlbWVudCkge1xuICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIH1cblxuICB2YXIgbm9PZmZzZXRQYXJlbnQgPSBpc0lFKDEwKSA/IGRvY3VtZW50LmJvZHkgOiBudWxsO1xuXG4gIC8vIE5PVEU6IDEgRE9NIGFjY2VzcyBoZXJlXG4gIHZhciBvZmZzZXRQYXJlbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudCB8fCBudWxsO1xuICAvLyBTa2lwIGhpZGRlbiBlbGVtZW50cyB3aGljaCBkb24ndCBoYXZlIGFuIG9mZnNldFBhcmVudFxuICB3aGlsZSAob2Zmc2V0UGFyZW50ID09PSBub09mZnNldFBhcmVudCAmJiBlbGVtZW50Lm5leHRFbGVtZW50U2libGluZykge1xuICAgIG9mZnNldFBhcmVudCA9IChlbGVtZW50ID0gZWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcpLm9mZnNldFBhcmVudDtcbiAgfVxuXG4gIHZhciBub2RlTmFtZSA9IG9mZnNldFBhcmVudCAmJiBvZmZzZXRQYXJlbnQubm9kZU5hbWU7XG5cbiAgaWYgKCFub2RlTmFtZSB8fCBub2RlTmFtZSA9PT0gJ0JPRFknIHx8IG5vZGVOYW1lID09PSAnSFRNTCcpIHtcbiAgICByZXR1cm4gZWxlbWVudCA/IGVsZW1lbnQub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgOiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gIH1cblxuICAvLyAub2Zmc2V0UGFyZW50IHdpbGwgcmV0dXJuIHRoZSBjbG9zZXN0IFRILCBURCBvciBUQUJMRSBpbiBjYXNlXG4gIC8vIG5vIG9mZnNldFBhcmVudCBpcyBwcmVzZW50LCBJIGhhdGUgdGhpcyBqb2IuLi5cbiAgaWYgKFsnVEgnLCAnVEQnLCAnVEFCTEUnXS5pbmRleE9mKG9mZnNldFBhcmVudC5ub2RlTmFtZSkgIT09IC0xICYmIGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShvZmZzZXRQYXJlbnQsICdwb3NpdGlvbicpID09PSAnc3RhdGljJykge1xuICAgIHJldHVybiBnZXRPZmZzZXRQYXJlbnQob2Zmc2V0UGFyZW50KTtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXRQYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIGlzT2Zmc2V0Q29udGFpbmVyKGVsZW1lbnQpIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdCT0RZJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gbm9kZU5hbWUgPT09ICdIVE1MJyB8fCBnZXRPZmZzZXRQYXJlbnQoZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZCkgPT09IGVsZW1lbnQ7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIHJvb3Qgbm9kZSAoZG9jdW1lbnQsIHNoYWRvd0RPTSByb290KSBvZiB0aGUgZ2l2ZW4gZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBub2RlXG4gKiBAcmV0dXJucyB7RWxlbWVudH0gcm9vdCBub2RlXG4gKi9cbmZ1bmN0aW9uIGdldFJvb3Qobm9kZSkge1xuICBpZiAobm9kZS5wYXJlbnROb2RlICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGdldFJvb3Qobm9kZS5wYXJlbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBvZmZzZXQgcGFyZW50IGNvbW1vbiB0byB0aGUgdHdvIHByb3ZpZGVkIG5vZGVzXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnQxXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnQyXG4gKiBAcmV0dXJucyB7RWxlbWVudH0gY29tbW9uIG9mZnNldCBwYXJlbnRcbiAqL1xuZnVuY3Rpb24gZmluZENvbW1vbk9mZnNldFBhcmVudChlbGVtZW50MSwgZWxlbWVudDIpIHtcbiAgLy8gVGhpcyBjaGVjayBpcyBuZWVkZWQgdG8gYXZvaWQgZXJyb3JzIGluIGNhc2Ugb25lIG9mIHRoZSBlbGVtZW50cyBpc24ndCBkZWZpbmVkIGZvciBhbnkgcmVhc29uXG4gIGlmICghZWxlbWVudDEgfHwgIWVsZW1lbnQxLm5vZGVUeXBlIHx8ICFlbGVtZW50MiB8fCAhZWxlbWVudDIubm9kZVR5cGUpIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB9XG5cbiAgLy8gSGVyZSB3ZSBtYWtlIHN1cmUgdG8gZ2l2ZSBhcyBcInN0YXJ0XCIgdGhlIGVsZW1lbnQgdGhhdCBjb21lcyBmaXJzdCBpbiB0aGUgRE9NXG4gIHZhciBvcmRlciA9IGVsZW1lbnQxLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGVsZW1lbnQyKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HO1xuICB2YXIgc3RhcnQgPSBvcmRlciA/IGVsZW1lbnQxIDogZWxlbWVudDI7XG4gIHZhciBlbmQgPSBvcmRlciA/IGVsZW1lbnQyIDogZWxlbWVudDE7XG5cbiAgLy8gR2V0IGNvbW1vbiBhbmNlc3RvciBjb250YWluZXJcbiAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnQsIDApO1xuICByYW5nZS5zZXRFbmQoZW5kLCAwKTtcbiAgdmFyIGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyID0gcmFuZ2UuY29tbW9uQW5jZXN0b3JDb250YWluZXI7XG5cbiAgLy8gQm90aCBub2RlcyBhcmUgaW5zaWRlICNkb2N1bWVudFxuXG4gIGlmIChlbGVtZW50MSAhPT0gY29tbW9uQW5jZXN0b3JDb250YWluZXIgJiYgZWxlbWVudDIgIT09IGNvbW1vbkFuY2VzdG9yQ29udGFpbmVyIHx8IHN0YXJ0LmNvbnRhaW5zKGVuZCkpIHtcbiAgICBpZiAoaXNPZmZzZXRDb250YWluZXIoY29tbW9uQW5jZXN0b3JDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gY29tbW9uQW5jZXN0b3JDb250YWluZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdldE9mZnNldFBhcmVudChjb21tb25BbmNlc3RvckNvbnRhaW5lcik7XG4gIH1cblxuICAvLyBvbmUgb2YgdGhlIG5vZGVzIGlzIGluc2lkZSBzaGFkb3dET00sIGZpbmQgd2hpY2ggb25lXG4gIHZhciBlbGVtZW50MXJvb3QgPSBnZXRSb290KGVsZW1lbnQxKTtcbiAgaWYgKGVsZW1lbnQxcm9vdC5ob3N0KSB7XG4gICAgcmV0dXJuIGZpbmRDb21tb25PZmZzZXRQYXJlbnQoZWxlbWVudDFyb290Lmhvc3QsIGVsZW1lbnQyKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmluZENvbW1vbk9mZnNldFBhcmVudChlbGVtZW50MSwgZ2V0Um9vdChlbGVtZW50MikuaG9zdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBzY3JvbGwgdmFsdWUgb2YgdGhlIGdpdmVuIGVsZW1lbnQgaW4gdGhlIGdpdmVuIHNpZGUgKHRvcCBhbmQgbGVmdClcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHNpZGUgYHRvcGAgb3IgYGxlZnRgXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBhbW91bnQgb2Ygc2Nyb2xsZWQgcGl4ZWxzXG4gKi9cbmZ1bmN0aW9uIGdldFNjcm9sbChlbGVtZW50KSB7XG4gIHZhciBzaWRlID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiAndG9wJztcblxuICB2YXIgdXBwZXJTaWRlID0gc2lkZSA9PT0gJ3RvcCcgPyAnc2Nyb2xsVG9wJyA6ICdzY3JvbGxMZWZ0JztcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcblxuICBpZiAobm9kZU5hbWUgPT09ICdCT0RZJyB8fCBub2RlTmFtZSA9PT0gJ0hUTUwnKSB7XG4gICAgdmFyIGh0bWwgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIHZhciBzY3JvbGxpbmdFbGVtZW50ID0gZWxlbWVudC5vd25lckRvY3VtZW50LnNjcm9sbGluZ0VsZW1lbnQgfHwgaHRtbDtcbiAgICByZXR1cm4gc2Nyb2xsaW5nRWxlbWVudFt1cHBlclNpZGVdO1xuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRbdXBwZXJTaWRlXTtcbn1cblxuLypcbiAqIFN1bSBvciBzdWJ0cmFjdCB0aGUgZWxlbWVudCBzY3JvbGwgdmFsdWVzIChsZWZ0IGFuZCB0b3ApIGZyb20gYSBnaXZlbiByZWN0IG9iamVjdFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHJlY3QgLSBSZWN0IG9iamVjdCB5b3Ugd2FudCB0byBjaGFuZ2VcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBUaGUgZWxlbWVudCBmcm9tIHRoZSBmdW5jdGlvbiByZWFkcyB0aGUgc2Nyb2xsIHZhbHVlc1xuICogQHBhcmFtIHtCb29sZWFufSBzdWJ0cmFjdCAtIHNldCB0byB0cnVlIGlmIHlvdSB3YW50IHRvIHN1YnRyYWN0IHRoZSBzY3JvbGwgdmFsdWVzXG4gKiBAcmV0dXJuIHtPYmplY3R9IHJlY3QgLSBUaGUgbW9kaWZpZXIgcmVjdCBvYmplY3RcbiAqL1xuZnVuY3Rpb24gaW5jbHVkZVNjcm9sbChyZWN0LCBlbGVtZW50KSB7XG4gIHZhciBzdWJ0cmFjdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAyICYmIGFyZ3VtZW50c1syXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzJdIDogZmFsc2U7XG5cbiAgdmFyIHNjcm9sbFRvcCA9IGdldFNjcm9sbChlbGVtZW50LCAndG9wJyk7XG4gIHZhciBzY3JvbGxMZWZ0ID0gZ2V0U2Nyb2xsKGVsZW1lbnQsICdsZWZ0Jyk7XG4gIHZhciBtb2RpZmllciA9IHN1YnRyYWN0ID8gLTEgOiAxO1xuICByZWN0LnRvcCArPSBzY3JvbGxUb3AgKiBtb2RpZmllcjtcbiAgcmVjdC5ib3R0b20gKz0gc2Nyb2xsVG9wICogbW9kaWZpZXI7XG4gIHJlY3QubGVmdCArPSBzY3JvbGxMZWZ0ICogbW9kaWZpZXI7XG4gIHJlY3QucmlnaHQgKz0gc2Nyb2xsTGVmdCAqIG1vZGlmaWVyO1xuICByZXR1cm4gcmVjdDtcbn1cblxuLypcbiAqIEhlbHBlciB0byBkZXRlY3QgYm9yZGVycyBvZiBhIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7Q1NTU3R5bGVEZWNsYXJhdGlvbn0gc3R5bGVzXG4gKiBSZXN1bHQgb2YgYGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eWAgb24gdGhlIGdpdmVuIGVsZW1lbnRcbiAqIEBwYXJhbSB7U3RyaW5nfSBheGlzIC0gYHhgIG9yIGB5YFxuICogQHJldHVybiB7bnVtYmVyfSBib3JkZXJzIC0gVGhlIGJvcmRlcnMgc2l6ZSBvZiB0aGUgZ2l2ZW4gYXhpc1xuICovXG5cbmZ1bmN0aW9uIGdldEJvcmRlcnNTaXplKHN0eWxlcywgYXhpcykge1xuICB2YXIgc2lkZUEgPSBheGlzID09PSAneCcgPyAnTGVmdCcgOiAnVG9wJztcbiAgdmFyIHNpZGVCID0gc2lkZUEgPT09ICdMZWZ0JyA/ICdSaWdodCcgOiAnQm90dG9tJztcblxuICByZXR1cm4gcGFyc2VGbG9hdChzdHlsZXNbJ2JvcmRlcicgKyBzaWRlQSArICdXaWR0aCddKSArIHBhcnNlRmxvYXQoc3R5bGVzWydib3JkZXInICsgc2lkZUIgKyAnV2lkdGgnXSk7XG59XG5cbmZ1bmN0aW9uIGdldFNpemUoYXhpcywgYm9keSwgaHRtbCwgY29tcHV0ZWRTdHlsZSkge1xuICByZXR1cm4gTWF0aC5tYXgoYm9keVsnb2Zmc2V0JyArIGF4aXNdLCBib2R5WydzY3JvbGwnICsgYXhpc10sIGh0bWxbJ2NsaWVudCcgKyBheGlzXSwgaHRtbFsnb2Zmc2V0JyArIGF4aXNdLCBodG1sWydzY3JvbGwnICsgYXhpc10sIGlzSUUoMTApID8gcGFyc2VJbnQoaHRtbFsnb2Zmc2V0JyArIGF4aXNdKSArIHBhcnNlSW50KGNvbXB1dGVkU3R5bGVbJ21hcmdpbicgKyAoYXhpcyA9PT0gJ0hlaWdodCcgPyAnVG9wJyA6ICdMZWZ0JyldKSArIHBhcnNlSW50KGNvbXB1dGVkU3R5bGVbJ21hcmdpbicgKyAoYXhpcyA9PT0gJ0hlaWdodCcgPyAnQm90dG9tJyA6ICdSaWdodCcpXSkgOiAwKTtcbn1cblxuZnVuY3Rpb24gZ2V0V2luZG93U2l6ZXMoZG9jdW1lbnQpIHtcbiAgdmFyIGJvZHkgPSBkb2N1bWVudC5ib2R5O1xuICB2YXIgaHRtbCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgdmFyIGNvbXB1dGVkU3R5bGUgPSBpc0lFKDEwKSAmJiBnZXRDb21wdXRlZFN0eWxlKGh0bWwpO1xuXG4gIHJldHVybiB7XG4gICAgaGVpZ2h0OiBnZXRTaXplKCdIZWlnaHQnLCBib2R5LCBodG1sLCBjb21wdXRlZFN0eWxlKSxcbiAgICB3aWR0aDogZ2V0U2l6ZSgnV2lkdGgnLCBib2R5LCBodG1sLCBjb21wdXRlZFN0eWxlKVxuICB9O1xufVxuXG52YXIgY2xhc3NDYWxsQ2hlY2sgPSBmdW5jdGlvbiAoaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgfVxufTtcblxudmFyIGNyZWF0ZUNsYXNzID0gZnVuY3Rpb24gKCkge1xuICBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gICAgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7XG4gICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICB9O1xufSgpO1xuXG5cblxuXG5cbnZhciBkZWZpbmVQcm9wZXJ0eSA9IGZ1bmN0aW9uIChvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufTtcblxudmFyIF9leHRlbmRzID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbiAodGFyZ2V0KSB7XG4gIGZvciAodmFyIGkgPSAxOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXTtcblxuICAgIGZvciAodmFyIGtleSBpbiBzb3VyY2UpIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoc291cmNlLCBrZXkpKSB7XG4gICAgICAgIHRhcmdldFtrZXldID0gc291cmNlW2tleV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn07XG5cbi8qKlxuICogR2l2ZW4gZWxlbWVudCBvZmZzZXRzLCBnZW5lcmF0ZSBhbiBvdXRwdXQgc2ltaWxhciB0byBnZXRCb3VuZGluZ0NsaWVudFJlY3RcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvZmZzZXRzXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBDbGllbnRSZWN0IGxpa2Ugb3V0cHV0XG4gKi9cbmZ1bmN0aW9uIGdldENsaWVudFJlY3Qob2Zmc2V0cykge1xuICByZXR1cm4gX2V4dGVuZHMoe30sIG9mZnNldHMsIHtcbiAgICByaWdodDogb2Zmc2V0cy5sZWZ0ICsgb2Zmc2V0cy53aWR0aCxcbiAgICBib3R0b206IG9mZnNldHMudG9wICsgb2Zmc2V0cy5oZWlnaHRcbiAgfSk7XG59XG5cbi8qKlxuICogR2V0IGJvdW5kaW5nIGNsaWVudCByZWN0IG9mIGdpdmVuIGVsZW1lbnRcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IGVsZW1lbnRcbiAqIEByZXR1cm4ge09iamVjdH0gY2xpZW50IHJlY3RcbiAqL1xuZnVuY3Rpb24gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGVsZW1lbnQpIHtcbiAgdmFyIHJlY3QgPSB7fTtcblxuICAvLyBJRTEwIDEwIEZJWDogUGxlYXNlLCBkb24ndCBhc2ssIHRoZSBlbGVtZW50IGlzbid0XG4gIC8vIGNvbnNpZGVyZWQgaW4gRE9NIGluIHNvbWUgY2lyY3Vtc3RhbmNlcy4uLlxuICAvLyBUaGlzIGlzbid0IHJlcHJvZHVjaWJsZSBpbiBJRTEwIGNvbXBhdGliaWxpdHkgbW9kZSBvZiBJRTExXG4gIHRyeSB7XG4gICAgaWYgKGlzSUUoMTApKSB7XG4gICAgICByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIHZhciBzY3JvbGxUb3AgPSBnZXRTY3JvbGwoZWxlbWVudCwgJ3RvcCcpO1xuICAgICAgdmFyIHNjcm9sbExlZnQgPSBnZXRTY3JvbGwoZWxlbWVudCwgJ2xlZnQnKTtcbiAgICAgIHJlY3QudG9wICs9IHNjcm9sbFRvcDtcbiAgICAgIHJlY3QubGVmdCArPSBzY3JvbGxMZWZ0O1xuICAgICAgcmVjdC5ib3R0b20gKz0gc2Nyb2xsVG9wO1xuICAgICAgcmVjdC5yaWdodCArPSBzY3JvbGxMZWZ0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGUpIHt9XG5cbiAgdmFyIHJlc3VsdCA9IHtcbiAgICBsZWZ0OiByZWN0LmxlZnQsXG4gICAgdG9wOiByZWN0LnRvcCxcbiAgICB3aWR0aDogcmVjdC5yaWdodCAtIHJlY3QubGVmdCxcbiAgICBoZWlnaHQ6IHJlY3QuYm90dG9tIC0gcmVjdC50b3BcbiAgfTtcblxuICAvLyBzdWJ0cmFjdCBzY3JvbGxiYXIgc2l6ZSBmcm9tIHNpemVzXG4gIHZhciBzaXplcyA9IGVsZW1lbnQubm9kZU5hbWUgPT09ICdIVE1MJyA/IGdldFdpbmRvd1NpemVzKGVsZW1lbnQub3duZXJEb2N1bWVudCkgOiB7fTtcbiAgdmFyIHdpZHRoID0gc2l6ZXMud2lkdGggfHwgZWxlbWVudC5jbGllbnRXaWR0aCB8fCByZXN1bHQud2lkdGg7XG4gIHZhciBoZWlnaHQgPSBzaXplcy5oZWlnaHQgfHwgZWxlbWVudC5jbGllbnRIZWlnaHQgfHwgcmVzdWx0LmhlaWdodDtcblxuICB2YXIgaG9yaXpTY3JvbGxiYXIgPSBlbGVtZW50Lm9mZnNldFdpZHRoIC0gd2lkdGg7XG4gIHZhciB2ZXJ0U2Nyb2xsYmFyID0gZWxlbWVudC5vZmZzZXRIZWlnaHQgLSBoZWlnaHQ7XG5cbiAgLy8gaWYgYW4gaHlwb3RoZXRpY2FsIHNjcm9sbGJhciBpcyBkZXRlY3RlZCwgd2UgbXVzdCBiZSBzdXJlIGl0J3Mgbm90IGEgYGJvcmRlcmBcbiAgLy8gd2UgbWFrZSB0aGlzIGNoZWNrIGNvbmRpdGlvbmFsIGZvciBwZXJmb3JtYW5jZSByZWFzb25zXG4gIGlmIChob3JpelNjcm9sbGJhciB8fCB2ZXJ0U2Nyb2xsYmFyKSB7XG4gICAgdmFyIHN0eWxlcyA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShlbGVtZW50KTtcbiAgICBob3JpelNjcm9sbGJhciAtPSBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsICd4Jyk7XG4gICAgdmVydFNjcm9sbGJhciAtPSBnZXRCb3JkZXJzU2l6ZShzdHlsZXMsICd5Jyk7XG5cbiAgICByZXN1bHQud2lkdGggLT0gaG9yaXpTY3JvbGxiYXI7XG4gICAgcmVzdWx0LmhlaWdodCAtPSB2ZXJ0U2Nyb2xsYmFyO1xuICB9XG5cbiAgcmV0dXJuIGdldENsaWVudFJlY3QocmVzdWx0KTtcbn1cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGNoaWxkcmVuLCBwYXJlbnQpIHtcbiAgdmFyIGZpeGVkUG9zaXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IGZhbHNlO1xuXG4gIHZhciBpc0lFMTAgPSBpc0lFKDEwKTtcbiAgdmFyIGlzSFRNTCA9IHBhcmVudC5ub2RlTmFtZSA9PT0gJ0hUTUwnO1xuICB2YXIgY2hpbGRyZW5SZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KGNoaWxkcmVuKTtcbiAgdmFyIHBhcmVudFJlY3QgPSBnZXRCb3VuZGluZ0NsaWVudFJlY3QocGFyZW50KTtcbiAgdmFyIHNjcm9sbFBhcmVudCA9IGdldFNjcm9sbFBhcmVudChjaGlsZHJlbik7XG5cbiAgdmFyIHN0eWxlcyA9IGdldFN0eWxlQ29tcHV0ZWRQcm9wZXJ0eShwYXJlbnQpO1xuICB2YXIgYm9yZGVyVG9wV2lkdGggPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJUb3BXaWR0aCk7XG4gIHZhciBib3JkZXJMZWZ0V2lkdGggPSBwYXJzZUZsb2F0KHN0eWxlcy5ib3JkZXJMZWZ0V2lkdGgpO1xuXG4gIC8vIEluIGNhc2VzIHdoZXJlIHRoZSBwYXJlbnQgaXMgZml4ZWQsIHdlIG11c3QgaWdub3JlIG5lZ2F0aXZlIHNjcm9sbCBpbiBvZmZzZXQgY2FsY1xuICBpZiAoZml4ZWRQb3NpdGlvbiAmJiBpc0hUTUwpIHtcbiAgICBwYXJlbnRSZWN0LnRvcCA9IE1hdGgubWF4KHBhcmVudFJlY3QudG9wLCAwKTtcbiAgICBwYXJlbnRSZWN0LmxlZnQgPSBNYXRoLm1heChwYXJlbnRSZWN0LmxlZnQsIDApO1xuICB9XG4gIHZhciBvZmZzZXRzID0gZ2V0Q2xpZW50UmVjdCh7XG4gICAgdG9wOiBjaGlsZHJlblJlY3QudG9wIC0gcGFyZW50UmVjdC50b3AgLSBib3JkZXJUb3BXaWR0aCxcbiAgICBsZWZ0OiBjaGlsZHJlblJlY3QubGVmdCAtIHBhcmVudFJlY3QubGVmdCAtIGJvcmRlckxlZnRXaWR0aCxcbiAgICB3aWR0aDogY2hpbGRyZW5SZWN0LndpZHRoLFxuICAgIGhlaWdodDogY2hpbGRyZW5SZWN0LmhlaWdodFxuICB9KTtcbiAgb2Zmc2V0cy5tYXJnaW5Ub3AgPSAwO1xuICBvZmZzZXRzLm1hcmdpbkxlZnQgPSAwO1xuXG4gIC8vIFN1YnRyYWN0IG1hcmdpbnMgb2YgZG9jdW1lbnRFbGVtZW50IGluIGNhc2UgaXQncyBiZWluZyB1c2VkIGFzIHBhcmVudFxuICAvLyB3ZSBkbyB0aGlzIG9ubHkgb24gSFRNTCBiZWNhdXNlIGl0J3MgdGhlIG9ubHkgZWxlbWVudCB0aGF0IGJlaGF2ZXNcbiAgLy8gZGlmZmVyZW50bHkgd2hlbiBtYXJnaW5zIGFyZSBhcHBsaWVkIHRvIGl0LiBUaGUgbWFyZ2lucyBhcmUgaW5jbHVkZWQgaW5cbiAgLy8gdGhlIGJveCBvZiB0aGUgZG9jdW1lbnRFbGVtZW50LCBpbiB0aGUgb3RoZXIgY2FzZXMgbm90LlxuICBpZiAoIWlzSUUxMCAmJiBpc0hUTUwpIHtcbiAgICB2YXIgbWFyZ2luVG9wID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luVG9wKTtcbiAgICB2YXIgbWFyZ2luTGVmdCA9IHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpbkxlZnQpO1xuXG4gICAgb2Zmc2V0cy50b3AgLT0gYm9yZGVyVG9wV2lkdGggLSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5ib3R0b20gLT0gYm9yZGVyVG9wV2lkdGggLSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5sZWZ0IC09IGJvcmRlckxlZnRXaWR0aCAtIG1hcmdpbkxlZnQ7XG4gICAgb2Zmc2V0cy5yaWdodCAtPSBib3JkZXJMZWZ0V2lkdGggLSBtYXJnaW5MZWZ0O1xuXG4gICAgLy8gQXR0YWNoIG1hcmdpblRvcCBhbmQgbWFyZ2luTGVmdCBiZWNhdXNlIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyB3ZSBtYXkgbmVlZCB0aGVtXG4gICAgb2Zmc2V0cy5tYXJnaW5Ub3AgPSBtYXJnaW5Ub3A7XG4gICAgb2Zmc2V0cy5tYXJnaW5MZWZ0ID0gbWFyZ2luTGVmdDtcbiAgfVxuXG4gIGlmIChpc0lFMTAgJiYgIWZpeGVkUG9zaXRpb24gPyBwYXJlbnQuY29udGFpbnMoc2Nyb2xsUGFyZW50KSA6IHBhcmVudCA9PT0gc2Nyb2xsUGFyZW50ICYmIHNjcm9sbFBhcmVudC5ub2RlTmFtZSAhPT0gJ0JPRFknKSB7XG4gICAgb2Zmc2V0cyA9IGluY2x1ZGVTY3JvbGwob2Zmc2V0cywgcGFyZW50KTtcbiAgfVxuXG4gIHJldHVybiBvZmZzZXRzO1xufVxuXG5mdW5jdGlvbiBnZXRWaWV3cG9ydE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJ0Yml0cmFyeU5vZGUoZWxlbWVudCkge1xuICB2YXIgZXhjbHVkZVNjcm9sbCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogZmFsc2U7XG5cbiAgdmFyIGh0bWwgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICB2YXIgcmVsYXRpdmVPZmZzZXQgPSBnZXRPZmZzZXRSZWN0UmVsYXRpdmVUb0FyYml0cmFyeU5vZGUoZWxlbWVudCwgaHRtbCk7XG4gIHZhciB3aWR0aCA9IE1hdGgubWF4KGh0bWwuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApO1xuICB2YXIgaGVpZ2h0ID0gTWF0aC5tYXgoaHRtbC5jbGllbnRIZWlnaHQsIHdpbmRvdy5pbm5lckhlaWdodCB8fCAwKTtcblxuICB2YXIgc2Nyb2xsVG9wID0gIWV4Y2x1ZGVTY3JvbGwgPyBnZXRTY3JvbGwoaHRtbCkgOiAwO1xuICB2YXIgc2Nyb2xsTGVmdCA9ICFleGNsdWRlU2Nyb2xsID8gZ2V0U2Nyb2xsKGh0bWwsICdsZWZ0JykgOiAwO1xuXG4gIHZhciBvZmZzZXQgPSB7XG4gICAgdG9wOiBzY3JvbGxUb3AgLSByZWxhdGl2ZU9mZnNldC50b3AgKyByZWxhdGl2ZU9mZnNldC5tYXJnaW5Ub3AsXG4gICAgbGVmdDogc2Nyb2xsTGVmdCAtIHJlbGF0aXZlT2Zmc2V0LmxlZnQgKyByZWxhdGl2ZU9mZnNldC5tYXJnaW5MZWZ0LFxuICAgIHdpZHRoOiB3aWR0aCxcbiAgICBoZWlnaHQ6IGhlaWdodFxuICB9O1xuXG4gIHJldHVybiBnZXRDbGllbnRSZWN0KG9mZnNldCk7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgdGhlIGdpdmVuIGVsZW1lbnQgaXMgZml4ZWQgb3IgaXMgaW5zaWRlIGEgZml4ZWQgcGFyZW50XG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge0VsZW1lbnR9IGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gY3VzdG9tQ29udGFpbmVyXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn0gYW5zd2VyIHRvIFwiaXNGaXhlZD9cIlxuICovXG5mdW5jdGlvbiBpc0ZpeGVkKGVsZW1lbnQpIHtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZTtcbiAgaWYgKG5vZGVOYW1lID09PSAnQk9EWScgfHwgbm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZ2V0U3R5bGVDb21wdXRlZFByb3BlcnR5KGVsZW1lbnQsICdwb3NpdGlvbicpID09PSAnZml4ZWQnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgdmFyIHBhcmVudE5vZGUgPSBnZXRQYXJlbnROb2RlKGVsZW1lbnQpO1xuICBpZiAoIXBhcmVudE5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIGlzRml4ZWQocGFyZW50Tm9kZSk7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIGZpcnN0IHBhcmVudCBvZiBhbiBlbGVtZW50IHRoYXQgaGFzIGEgdHJhbnNmb3JtZWQgcHJvcGVydHkgZGVmaW5lZFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudH0gZmlyc3QgdHJhbnNmb3JtZWQgcGFyZW50IG9yIGRvY3VtZW50RWxlbWVudFxuICovXG5cbmZ1bmN0aW9uIGdldEZpeGVkUG9zaXRpb25PZmZzZXRQYXJlbnQoZWxlbWVudCkge1xuICAvLyBUaGlzIGNoZWNrIGlzIG5lZWRlZCB0byBhdm9pZCBlcnJvcnMgaW4gY2FzZSBvbmUgb2YgdGhlIGVsZW1lbnRzIGlzbid0IGRlZmluZWQgZm9yIGFueSByZWFzb25cbiAgaWYgKCFlbGVtZW50IHx8ICFlbGVtZW50LnBhcmVudEVsZW1lbnQgfHwgaXNJRSgpKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgfVxuICB2YXIgZWwgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gIHdoaWxlIChlbCAmJiBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZWwsICd0cmFuc2Zvcm0nKSA9PT0gJ25vbmUnKSB7XG4gICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICB9XG4gIHJldHVybiBlbCB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG59XG5cbi8qKlxuICogQ29tcHV0ZWQgdGhlIGJvdW5kYXJpZXMgbGltaXRzIGFuZCByZXR1cm4gdGhlbVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSByZWZlcmVuY2VcbiAqIEBwYXJhbSB7bnVtYmVyfSBwYWRkaW5nXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBib3VuZGFyaWVzRWxlbWVudCAtIEVsZW1lbnQgdXNlZCB0byBkZWZpbmUgdGhlIGJvdW5kYXJpZXNcbiAqIEBwYXJhbSB7Qm9vbGVhbn0gZml4ZWRQb3NpdGlvbiAtIElzIGluIGZpeGVkIHBvc2l0aW9uIG1vZGVcbiAqIEByZXR1cm5zIHtPYmplY3R9IENvb3JkaW5hdGVzIG9mIHRoZSBib3VuZGFyaWVzXG4gKi9cbmZ1bmN0aW9uIGdldEJvdW5kYXJpZXMocG9wcGVyLCByZWZlcmVuY2UsIHBhZGRpbmcsIGJvdW5kYXJpZXNFbGVtZW50KSB7XG4gIHZhciBmaXhlZFBvc2l0aW9uID0gYXJndW1lbnRzLmxlbmd0aCA+IDQgJiYgYXJndW1lbnRzWzRdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbNF0gOiBmYWxzZTtcblxuICAvLyBOT1RFOiAxIERPTSBhY2Nlc3MgaGVyZVxuXG4gIHZhciBib3VuZGFyaWVzID0geyB0b3A6IDAsIGxlZnQ6IDAgfTtcbiAgdmFyIG9mZnNldFBhcmVudCA9IGZpeGVkUG9zaXRpb24gPyBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50KHBvcHBlcikgOiBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KHBvcHBlciwgZ2V0UmVmZXJlbmNlTm9kZShyZWZlcmVuY2UpKTtcblxuICAvLyBIYW5kbGUgdmlld3BvcnQgY2FzZVxuICBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICd2aWV3cG9ydCcpIHtcbiAgICBib3VuZGFyaWVzID0gZ2V0Vmlld3BvcnRPZmZzZXRSZWN0UmVsYXRpdmVUb0FydGJpdHJhcnlOb2RlKG9mZnNldFBhcmVudCwgZml4ZWRQb3NpdGlvbik7XG4gIH0gZWxzZSB7XG4gICAgLy8gSGFuZGxlIG90aGVyIGNhc2VzIGJhc2VkIG9uIERPTSBlbGVtZW50IHVzZWQgYXMgYm91bmRhcmllc1xuICAgIHZhciBib3VuZGFyaWVzTm9kZSA9IHZvaWQgMDtcbiAgICBpZiAoYm91bmRhcmllc0VsZW1lbnQgPT09ICdzY3JvbGxQYXJlbnQnKSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IGdldFNjcm9sbFBhcmVudChnZXRQYXJlbnROb2RlKHJlZmVyZW5jZSkpO1xuICAgICAgaWYgKGJvdW5kYXJpZXNOb2RlLm5vZGVOYW1lID09PSAnQk9EWScpIHtcbiAgICAgICAgYm91bmRhcmllc05vZGUgPSBwb3BwZXIub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChib3VuZGFyaWVzRWxlbWVudCA9PT0gJ3dpbmRvdycpIHtcbiAgICAgIGJvdW5kYXJpZXNOb2RlID0gcG9wcGVyLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBib3VuZGFyaWVzTm9kZSA9IGJvdW5kYXJpZXNFbGVtZW50O1xuICAgIH1cblxuICAgIHZhciBvZmZzZXRzID0gZ2V0T2Zmc2V0UmVjdFJlbGF0aXZlVG9BcmJpdHJhcnlOb2RlKGJvdW5kYXJpZXNOb2RlLCBvZmZzZXRQYXJlbnQsIGZpeGVkUG9zaXRpb24pO1xuXG4gICAgLy8gSW4gY2FzZSBvZiBIVE1MLCB3ZSBuZWVkIGEgZGlmZmVyZW50IGNvbXB1dGF0aW9uXG4gICAgaWYgKGJvdW5kYXJpZXNOb2RlLm5vZGVOYW1lID09PSAnSFRNTCcgJiYgIWlzRml4ZWQob2Zmc2V0UGFyZW50KSkge1xuICAgICAgdmFyIF9nZXRXaW5kb3dTaXplcyA9IGdldFdpbmRvd1NpemVzKHBvcHBlci5vd25lckRvY3VtZW50KSxcbiAgICAgICAgICBoZWlnaHQgPSBfZ2V0V2luZG93U2l6ZXMuaGVpZ2h0LFxuICAgICAgICAgIHdpZHRoID0gX2dldFdpbmRvd1NpemVzLndpZHRoO1xuXG4gICAgICBib3VuZGFyaWVzLnRvcCArPSBvZmZzZXRzLnRvcCAtIG9mZnNldHMubWFyZ2luVG9wO1xuICAgICAgYm91bmRhcmllcy5ib3R0b20gPSBoZWlnaHQgKyBvZmZzZXRzLnRvcDtcbiAgICAgIGJvdW5kYXJpZXMubGVmdCArPSBvZmZzZXRzLmxlZnQgLSBvZmZzZXRzLm1hcmdpbkxlZnQ7XG4gICAgICBib3VuZGFyaWVzLnJpZ2h0ID0gd2lkdGggKyBvZmZzZXRzLmxlZnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGZvciBhbGwgdGhlIG90aGVyIERPTSBlbGVtZW50cywgdGhpcyBvbmUgaXMgZ29vZFxuICAgICAgYm91bmRhcmllcyA9IG9mZnNldHM7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHBhZGRpbmdzXG4gIHBhZGRpbmcgPSBwYWRkaW5nIHx8IDA7XG4gIHZhciBpc1BhZGRpbmdOdW1iZXIgPSB0eXBlb2YgcGFkZGluZyA9PT0gJ251bWJlcic7XG4gIGJvdW5kYXJpZXMubGVmdCArPSBpc1BhZGRpbmdOdW1iZXIgPyBwYWRkaW5nIDogcGFkZGluZy5sZWZ0IHx8IDA7XG4gIGJvdW5kYXJpZXMudG9wICs9IGlzUGFkZGluZ051bWJlciA/IHBhZGRpbmcgOiBwYWRkaW5nLnRvcCB8fCAwO1xuICBib3VuZGFyaWVzLnJpZ2h0IC09IGlzUGFkZGluZ051bWJlciA/IHBhZGRpbmcgOiBwYWRkaW5nLnJpZ2h0IHx8IDA7XG4gIGJvdW5kYXJpZXMuYm90dG9tIC09IGlzUGFkZGluZ051bWJlciA/IHBhZGRpbmcgOiBwYWRkaW5nLmJvdHRvbSB8fCAwO1xuXG4gIHJldHVybiBib3VuZGFyaWVzO1xufVxuXG5mdW5jdGlvbiBnZXRBcmVhKF9yZWYpIHtcbiAgdmFyIHdpZHRoID0gX3JlZi53aWR0aCxcbiAgICAgIGhlaWdodCA9IF9yZWYuaGVpZ2h0O1xuXG4gIHJldHVybiB3aWR0aCAqIGhlaWdodDtcbn1cblxuLyoqXG4gKiBVdGlsaXR5IHVzZWQgdG8gdHJhbnNmb3JtIHRoZSBgYXV0b2AgcGxhY2VtZW50IHRvIHRoZSBwbGFjZW1lbnQgd2l0aCBtb3JlXG4gKiBhdmFpbGFibGUgc3BhY2UuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBjb21wdXRlQXV0b1BsYWNlbWVudChwbGFjZW1lbnQsIHJlZlJlY3QsIHBvcHBlciwgcmVmZXJlbmNlLCBib3VuZGFyaWVzRWxlbWVudCkge1xuICB2YXIgcGFkZGluZyA9IGFyZ3VtZW50cy5sZW5ndGggPiA1ICYmIGFyZ3VtZW50c1s1XSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzVdIDogMDtcblxuICBpZiAocGxhY2VtZW50LmluZGV4T2YoJ2F1dG8nKSA9PT0gLTEpIHtcbiAgICByZXR1cm4gcGxhY2VtZW50O1xuICB9XG5cbiAgdmFyIGJvdW5kYXJpZXMgPSBnZXRCb3VuZGFyaWVzKHBvcHBlciwgcmVmZXJlbmNlLCBwYWRkaW5nLCBib3VuZGFyaWVzRWxlbWVudCk7XG5cbiAgdmFyIHJlY3RzID0ge1xuICAgIHRvcDoge1xuICAgICAgd2lkdGg6IGJvdW5kYXJpZXMud2lkdGgsXG4gICAgICBoZWlnaHQ6IHJlZlJlY3QudG9wIC0gYm91bmRhcmllcy50b3BcbiAgICB9LFxuICAgIHJpZ2h0OiB7XG4gICAgICB3aWR0aDogYm91bmRhcmllcy5yaWdodCAtIHJlZlJlY3QucmlnaHQsXG4gICAgICBoZWlnaHQ6IGJvdW5kYXJpZXMuaGVpZ2h0XG4gICAgfSxcbiAgICBib3R0b206IHtcbiAgICAgIHdpZHRoOiBib3VuZGFyaWVzLndpZHRoLFxuICAgICAgaGVpZ2h0OiBib3VuZGFyaWVzLmJvdHRvbSAtIHJlZlJlY3QuYm90dG9tXG4gICAgfSxcbiAgICBsZWZ0OiB7XG4gICAgICB3aWR0aDogcmVmUmVjdC5sZWZ0IC0gYm91bmRhcmllcy5sZWZ0LFxuICAgICAgaGVpZ2h0OiBib3VuZGFyaWVzLmhlaWdodFxuICAgIH1cbiAgfTtcblxuICB2YXIgc29ydGVkQXJlYXMgPSBPYmplY3Qua2V5cyhyZWN0cykubWFwKGZ1bmN0aW9uIChrZXkpIHtcbiAgICByZXR1cm4gX2V4dGVuZHMoe1xuICAgICAga2V5OiBrZXlcbiAgICB9LCByZWN0c1trZXldLCB7XG4gICAgICBhcmVhOiBnZXRBcmVhKHJlY3RzW2tleV0pXG4gICAgfSk7XG4gIH0pLnNvcnQoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICByZXR1cm4gYi5hcmVhIC0gYS5hcmVhO1xuICB9KTtcblxuICB2YXIgZmlsdGVyZWRBcmVhcyA9IHNvcnRlZEFyZWFzLmZpbHRlcihmdW5jdGlvbiAoX3JlZjIpIHtcbiAgICB2YXIgd2lkdGggPSBfcmVmMi53aWR0aCxcbiAgICAgICAgaGVpZ2h0ID0gX3JlZjIuaGVpZ2h0O1xuICAgIHJldHVybiB3aWR0aCA+PSBwb3BwZXIuY2xpZW50V2lkdGggJiYgaGVpZ2h0ID49IHBvcHBlci5jbGllbnRIZWlnaHQ7XG4gIH0pO1xuXG4gIHZhciBjb21wdXRlZFBsYWNlbWVudCA9IGZpbHRlcmVkQXJlYXMubGVuZ3RoID4gMCA/IGZpbHRlcmVkQXJlYXNbMF0ua2V5IDogc29ydGVkQXJlYXNbMF0ua2V5O1xuXG4gIHZhciB2YXJpYXRpb24gPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVsxXTtcblxuICByZXR1cm4gY29tcHV0ZWRQbGFjZW1lbnQgKyAodmFyaWF0aW9uID8gJy0nICsgdmFyaWF0aW9uIDogJycpO1xufVxuXG4vKipcbiAqIEdldCBvZmZzZXRzIHRvIHRoZSByZWZlcmVuY2UgZWxlbWVudFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtPYmplY3R9IHN0YXRlXG4gKiBAcGFyYW0ge0VsZW1lbnR9IHBvcHBlciAtIHRoZSBwb3BwZXIgZWxlbWVudFxuICogQHBhcmFtIHtFbGVtZW50fSByZWZlcmVuY2UgLSB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgKHRoZSBwb3BwZXIgd2lsbCBiZSByZWxhdGl2ZSB0byB0aGlzKVxuICogQHBhcmFtIHtFbGVtZW50fSBmaXhlZFBvc2l0aW9uIC0gaXMgaW4gZml4ZWQgcG9zaXRpb24gbW9kZVxuICogQHJldHVybnMge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9mZnNldHMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXJcbiAqL1xuZnVuY3Rpb24gZ2V0UmVmZXJlbmNlT2Zmc2V0cyhzdGF0ZSwgcG9wcGVyLCByZWZlcmVuY2UpIHtcbiAgdmFyIGZpeGVkUG9zaXRpb24gPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IG51bGw7XG5cbiAgdmFyIGNvbW1vbk9mZnNldFBhcmVudCA9IGZpeGVkUG9zaXRpb24gPyBnZXRGaXhlZFBvc2l0aW9uT2Zmc2V0UGFyZW50KHBvcHBlcikgOiBmaW5kQ29tbW9uT2Zmc2V0UGFyZW50KHBvcHBlciwgZ2V0UmVmZXJlbmNlTm9kZShyZWZlcmVuY2UpKTtcbiAgcmV0dXJuIGdldE9mZnNldFJlY3RSZWxhdGl2ZVRvQXJiaXRyYXJ5Tm9kZShyZWZlcmVuY2UsIGNvbW1vbk9mZnNldFBhcmVudCwgZml4ZWRQb3NpdGlvbik7XG59XG5cbi8qKlxuICogR2V0IHRoZSBvdXRlciBzaXplcyBvZiB0aGUgZ2l2ZW4gZWxlbWVudCAob2Zmc2V0IHNpemUgKyBtYXJnaW5zKVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7T2JqZWN0fSBvYmplY3QgY29udGFpbmluZyB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXNcbiAqL1xuZnVuY3Rpb24gZ2V0T3V0ZXJTaXplcyhlbGVtZW50KSB7XG4gIHZhciB3aW5kb3cgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gIHZhciBzdHlsZXMgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgdmFyIHggPSBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Ub3AgfHwgMCkgKyBwYXJzZUZsb2F0KHN0eWxlcy5tYXJnaW5Cb3R0b20gfHwgMCk7XG4gIHZhciB5ID0gcGFyc2VGbG9hdChzdHlsZXMubWFyZ2luTGVmdCB8fCAwKSArIHBhcnNlRmxvYXQoc3R5bGVzLm1hcmdpblJpZ2h0IHx8IDApO1xuICB2YXIgcmVzdWx0ID0ge1xuICAgIHdpZHRoOiBlbGVtZW50Lm9mZnNldFdpZHRoICsgeSxcbiAgICBoZWlnaHQ6IGVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgeFxuICB9O1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEdldCB0aGUgb3Bwb3NpdGUgcGxhY2VtZW50IG9mIHRoZSBnaXZlbiBvbmVcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBwbGFjZW1lbnRcbiAqIEByZXR1cm5zIHtTdHJpbmd9IGZsaXBwZWQgcGxhY2VtZW50XG4gKi9cbmZ1bmN0aW9uIGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCkge1xuICB2YXIgaGFzaCA9IHsgbGVmdDogJ3JpZ2h0JywgcmlnaHQ6ICdsZWZ0JywgYm90dG9tOiAndG9wJywgdG9wOiAnYm90dG9tJyB9O1xuICByZXR1cm4gcGxhY2VtZW50LnJlcGxhY2UoL2xlZnR8cmlnaHR8Ym90dG9tfHRvcC9nLCBmdW5jdGlvbiAobWF0Y2hlZCkge1xuICAgIHJldHVybiBoYXNoW21hdGNoZWRdO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgb2Zmc2V0cyB0byB0aGUgcG9wcGVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0ge09iamVjdH0gcG9zaXRpb24gLSBDU1MgcG9zaXRpb24gdGhlIFBvcHBlciB3aWxsIGdldCBhcHBsaWVkXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBwb3BwZXIgLSB0aGUgcG9wcGVyIGVsZW1lbnRcbiAqIEBwYXJhbSB7T2JqZWN0fSByZWZlcmVuY2VPZmZzZXRzIC0gdGhlIHJlZmVyZW5jZSBvZmZzZXRzICh0aGUgcG9wcGVyIHdpbGwgYmUgcmVsYXRpdmUgdG8gdGhpcylcbiAqIEBwYXJhbSB7U3RyaW5nfSBwbGFjZW1lbnQgLSBvbmUgb2YgdGhlIHZhbGlkIHBsYWNlbWVudCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBwb3BwZXJPZmZzZXRzIC0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIG9mZnNldHMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXJcbiAqL1xuZnVuY3Rpb24gZ2V0UG9wcGVyT2Zmc2V0cyhwb3BwZXIsIHJlZmVyZW5jZU9mZnNldHMsIHBsYWNlbWVudCkge1xuICBwbGFjZW1lbnQgPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcblxuICAvLyBHZXQgcG9wcGVyIG5vZGUgc2l6ZXNcbiAgdmFyIHBvcHBlclJlY3QgPSBnZXRPdXRlclNpemVzKHBvcHBlcik7XG5cbiAgLy8gQWRkIHBvc2l0aW9uLCB3aWR0aCBhbmQgaGVpZ2h0IHRvIG91ciBvZmZzZXRzIG9iamVjdFxuICB2YXIgcG9wcGVyT2Zmc2V0cyA9IHtcbiAgICB3aWR0aDogcG9wcGVyUmVjdC53aWR0aCxcbiAgICBoZWlnaHQ6IHBvcHBlclJlY3QuaGVpZ2h0XG4gIH07XG5cbiAgLy8gZGVwZW5kaW5nIGJ5IHRoZSBwb3BwZXIgcGxhY2VtZW50IHdlIGhhdmUgdG8gY29tcHV0ZSBpdHMgb2Zmc2V0cyBzbGlnaHRseSBkaWZmZXJlbnRseVxuICB2YXIgaXNIb3JpeiA9IFsncmlnaHQnLCAnbGVmdCddLmluZGV4T2YocGxhY2VtZW50KSAhPT0gLTE7XG4gIHZhciBtYWluU2lkZSA9IGlzSG9yaXogPyAndG9wJyA6ICdsZWZ0JztcbiAgdmFyIHNlY29uZGFyeVNpZGUgPSBpc0hvcml6ID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBtZWFzdXJlbWVudCA9IGlzSG9yaXogPyAnaGVpZ2h0JyA6ICd3aWR0aCc7XG4gIHZhciBzZWNvbmRhcnlNZWFzdXJlbWVudCA9ICFpc0hvcml6ID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuXG4gIHBvcHBlck9mZnNldHNbbWFpblNpZGVdID0gcmVmZXJlbmNlT2Zmc2V0c1ttYWluU2lkZV0gKyByZWZlcmVuY2VPZmZzZXRzW21lYXN1cmVtZW50XSAvIDIgLSBwb3BwZXJSZWN0W21lYXN1cmVtZW50XSAvIDI7XG4gIGlmIChwbGFjZW1lbnQgPT09IHNlY29uZGFyeVNpZGUpIHtcbiAgICBwb3BwZXJPZmZzZXRzW3NlY29uZGFyeVNpZGVdID0gcmVmZXJlbmNlT2Zmc2V0c1tzZWNvbmRhcnlTaWRlXSAtIHBvcHBlclJlY3Rbc2Vjb25kYXJ5TWVhc3VyZW1lbnRdO1xuICB9IGVsc2Uge1xuICAgIHBvcHBlck9mZnNldHNbc2Vjb25kYXJ5U2lkZV0gPSByZWZlcmVuY2VPZmZzZXRzW2dldE9wcG9zaXRlUGxhY2VtZW50KHNlY29uZGFyeVNpZGUpXTtcbiAgfVxuXG4gIHJldHVybiBwb3BwZXJPZmZzZXRzO1xufVxuXG4vKipcbiAqIE1pbWljcyB0aGUgYGZpbmRgIG1ldGhvZCBvZiBBcnJheVxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtBcnJheX0gYXJyXG4gKiBAYXJndW1lbnQgcHJvcFxuICogQGFyZ3VtZW50IHZhbHVlXG4gKiBAcmV0dXJucyBpbmRleCBvciAtMVxuICovXG5mdW5jdGlvbiBmaW5kKGFyciwgY2hlY2spIHtcbiAgLy8gdXNlIG5hdGl2ZSBmaW5kIGlmIHN1cHBvcnRlZFxuICBpZiAoQXJyYXkucHJvdG90eXBlLmZpbmQpIHtcbiAgICByZXR1cm4gYXJyLmZpbmQoY2hlY2spO1xuICB9XG5cbiAgLy8gdXNlIGBmaWx0ZXJgIHRvIG9idGFpbiB0aGUgc2FtZSBiZWhhdmlvciBvZiBgZmluZGBcbiAgcmV0dXJuIGFyci5maWx0ZXIoY2hlY2spWzBdO1xufVxuXG4vKipcbiAqIFJldHVybiB0aGUgaW5kZXggb2YgdGhlIG1hdGNoaW5nIG9iamVjdFxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtBcnJheX0gYXJyXG4gKiBAYXJndW1lbnQgcHJvcFxuICogQGFyZ3VtZW50IHZhbHVlXG4gKiBAcmV0dXJucyBpbmRleCBvciAtMVxuICovXG5mdW5jdGlvbiBmaW5kSW5kZXgoYXJyLCBwcm9wLCB2YWx1ZSkge1xuICAvLyB1c2UgbmF0aXZlIGZpbmRJbmRleCBpZiBzdXBwb3J0ZWRcbiAgaWYgKEFycmF5LnByb3RvdHlwZS5maW5kSW5kZXgpIHtcbiAgICByZXR1cm4gYXJyLmZpbmRJbmRleChmdW5jdGlvbiAoY3VyKSB7XG4gICAgICByZXR1cm4gY3VyW3Byb3BdID09PSB2YWx1ZTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIHVzZSBgZmluZGAgKyBgaW5kZXhPZmAgaWYgYGZpbmRJbmRleGAgaXNuJ3Qgc3VwcG9ydGVkXG4gIHZhciBtYXRjaCA9IGZpbmQoYXJyLCBmdW5jdGlvbiAob2JqKSB7XG4gICAgcmV0dXJuIG9ialtwcm9wXSA9PT0gdmFsdWU7XG4gIH0pO1xuICByZXR1cm4gYXJyLmluZGV4T2YobWF0Y2gpO1xufVxuXG4vKipcbiAqIExvb3AgdHJvdWdoIHRoZSBsaXN0IG9mIG1vZGlmaWVycyBhbmQgcnVuIHRoZW0gaW4gb3JkZXIsXG4gKiBlYWNoIG9mIHRoZW0gd2lsbCB0aGVuIGVkaXQgdGhlIGRhdGEgb2JqZWN0LlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtkYXRhT2JqZWN0fSBkYXRhXG4gKiBAcGFyYW0ge0FycmF5fSBtb2RpZmllcnNcbiAqIEBwYXJhbSB7U3RyaW5nfSBlbmRzIC0gT3B0aW9uYWwgbW9kaWZpZXIgbmFtZSB1c2VkIGFzIHN0b3BwZXJcbiAqIEByZXR1cm5zIHtkYXRhT2JqZWN0fVxuICovXG5mdW5jdGlvbiBydW5Nb2RpZmllcnMobW9kaWZpZXJzLCBkYXRhLCBlbmRzKSB7XG4gIHZhciBtb2RpZmllcnNUb1J1biA9IGVuZHMgPT09IHVuZGVmaW5lZCA/IG1vZGlmaWVycyA6IG1vZGlmaWVycy5zbGljZSgwLCBmaW5kSW5kZXgobW9kaWZpZXJzLCAnbmFtZScsIGVuZHMpKTtcblxuICBtb2RpZmllcnNUb1J1bi5mb3JFYWNoKGZ1bmN0aW9uIChtb2RpZmllcikge1xuICAgIGlmIChtb2RpZmllclsnZnVuY3Rpb24nXSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBkb3Qtbm90YXRpb25cbiAgICAgIGNvbnNvbGUud2FybignYG1vZGlmaWVyLmZ1bmN0aW9uYCBpcyBkZXByZWNhdGVkLCB1c2UgYG1vZGlmaWVyLmZuYCEnKTtcbiAgICB9XG4gICAgdmFyIGZuID0gbW9kaWZpZXJbJ2Z1bmN0aW9uJ10gfHwgbW9kaWZpZXIuZm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgZG90LW5vdGF0aW9uXG4gICAgaWYgKG1vZGlmaWVyLmVuYWJsZWQgJiYgaXNGdW5jdGlvbihmbikpIHtcbiAgICAgIC8vIEFkZCBwcm9wZXJ0aWVzIHRvIG9mZnNldHMgdG8gbWFrZSB0aGVtIGEgY29tcGxldGUgY2xpZW50UmVjdCBvYmplY3RcbiAgICAgIC8vIHdlIGRvIHRoaXMgYmVmb3JlIGVhY2ggbW9kaWZpZXIgdG8gbWFrZSBzdXJlIHRoZSBwcmV2aW91cyBvbmUgZG9lc24ndFxuICAgICAgLy8gbWVzcyB3aXRoIHRoZXNlIHZhbHVlc1xuICAgICAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnBvcHBlcik7XG4gICAgICBkYXRhLm9mZnNldHMucmVmZXJlbmNlID0gZ2V0Q2xpZW50UmVjdChkYXRhLm9mZnNldHMucmVmZXJlbmNlKTtcblxuICAgICAgZGF0YSA9IGZuKGRhdGEsIG1vZGlmaWVyKTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIFVwZGF0ZXMgdGhlIHBvc2l0aW9uIG9mIHRoZSBwb3BwZXIsIGNvbXB1dGluZyB0aGUgbmV3IG9mZnNldHMgYW5kIGFwcGx5aW5nXG4gKiB0aGUgbmV3IHN0eWxlLjxiciAvPlxuICogUHJlZmVyIGBzY2hlZHVsZVVwZGF0ZWAgb3ZlciBgdXBkYXRlYCBiZWNhdXNlIG9mIHBlcmZvcm1hbmNlIHJlYXNvbnMuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZSgpIHtcbiAgLy8gaWYgcG9wcGVyIGlzIGRlc3Ryb3llZCwgZG9uJ3QgcGVyZm9ybSBhbnkgZnVydGhlciB1cGRhdGVcbiAgaWYgKHRoaXMuc3RhdGUuaXNEZXN0cm95ZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZGF0YSA9IHtcbiAgICBpbnN0YW5jZTogdGhpcyxcbiAgICBzdHlsZXM6IHt9LFxuICAgIGFycm93U3R5bGVzOiB7fSxcbiAgICBhdHRyaWJ1dGVzOiB7fSxcbiAgICBmbGlwcGVkOiBmYWxzZSxcbiAgICBvZmZzZXRzOiB7fVxuICB9O1xuXG4gIC8vIGNvbXB1dGUgcmVmZXJlbmNlIGVsZW1lbnQgb2Zmc2V0c1xuICBkYXRhLm9mZnNldHMucmVmZXJlbmNlID0gZ2V0UmVmZXJlbmNlT2Zmc2V0cyh0aGlzLnN0YXRlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkKTtcblxuICAvLyBjb21wdXRlIGF1dG8gcGxhY2VtZW50LCBzdG9yZSBwbGFjZW1lbnQgaW5zaWRlIHRoZSBkYXRhIG9iamVjdCxcbiAgLy8gbW9kaWZpZXJzIHdpbGwgYmUgYWJsZSB0byBlZGl0IGBwbGFjZW1lbnRgIGlmIG5lZWRlZFxuICAvLyBhbmQgcmVmZXIgdG8gb3JpZ2luYWxQbGFjZW1lbnQgdG8ga25vdyB0aGUgb3JpZ2luYWwgdmFsdWVcbiAgZGF0YS5wbGFjZW1lbnQgPSBjb21wdXRlQXV0b1BsYWNlbWVudCh0aGlzLm9wdGlvbnMucGxhY2VtZW50LCBkYXRhLm9mZnNldHMucmVmZXJlbmNlLCB0aGlzLnBvcHBlciwgdGhpcy5yZWZlcmVuY2UsIHRoaXMub3B0aW9ucy5tb2RpZmllcnMuZmxpcC5ib3VuZGFyaWVzRWxlbWVudCwgdGhpcy5vcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO1xuXG4gIC8vIHN0b3JlIHRoZSBjb21wdXRlZCBwbGFjZW1lbnQgaW5zaWRlIGBvcmlnaW5hbFBsYWNlbWVudGBcbiAgZGF0YS5vcmlnaW5hbFBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50O1xuXG4gIGRhdGEucG9zaXRpb25GaXhlZCA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkO1xuXG4gIC8vIGNvbXB1dGUgdGhlIHBvcHBlciBvZmZzZXRzXG4gIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBnZXRQb3BwZXJPZmZzZXRzKHRoaXMucG9wcGVyLCBkYXRhLm9mZnNldHMucmVmZXJlbmNlLCBkYXRhLnBsYWNlbWVudCk7XG5cbiAgZGF0YS5vZmZzZXRzLnBvcHBlci5wb3NpdGlvbiA9IHRoaXMub3B0aW9ucy5wb3NpdGlvbkZpeGVkID8gJ2ZpeGVkJyA6ICdhYnNvbHV0ZSc7XG5cbiAgLy8gcnVuIHRoZSBtb2RpZmllcnNcbiAgZGF0YSA9IHJ1bk1vZGlmaWVycyh0aGlzLm1vZGlmaWVycywgZGF0YSk7XG5cbiAgLy8gdGhlIGZpcnN0IGB1cGRhdGVgIHdpbGwgY2FsbCBgb25DcmVhdGVgIGNhbGxiYWNrXG4gIC8vIHRoZSBvdGhlciBvbmVzIHdpbGwgY2FsbCBgb25VcGRhdGVgIGNhbGxiYWNrXG4gIGlmICghdGhpcy5zdGF0ZS5pc0NyZWF0ZWQpIHtcbiAgICB0aGlzLnN0YXRlLmlzQ3JlYXRlZCA9IHRydWU7XG4gICAgdGhpcy5vcHRpb25zLm9uQ3JlYXRlKGRhdGEpO1xuICB9IGVsc2Uge1xuICAgIHRoaXMub3B0aW9ucy5vblVwZGF0ZShkYXRhKTtcbiAgfVxufVxuXG4vKipcbiAqIEhlbHBlciB1c2VkIHRvIGtub3cgaWYgdGhlIGdpdmVuIG1vZGlmaWVyIGlzIGVuYWJsZWQuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcmV0dXJucyB7Qm9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNNb2RpZmllckVuYWJsZWQobW9kaWZpZXJzLCBtb2RpZmllck5hbWUpIHtcbiAgcmV0dXJuIG1vZGlmaWVycy5zb21lKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG5hbWUgPSBfcmVmLm5hbWUsXG4gICAgICAgIGVuYWJsZWQgPSBfcmVmLmVuYWJsZWQ7XG4gICAgcmV0dXJuIGVuYWJsZWQgJiYgbmFtZSA9PT0gbW9kaWZpZXJOYW1lO1xuICB9KTtcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHByZWZpeGVkIHN1cHBvcnRlZCBwcm9wZXJ0eSBuYW1lXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAYXJndW1lbnQge1N0cmluZ30gcHJvcGVydHkgKGNhbWVsQ2FzZSlcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHByZWZpeGVkIHByb3BlcnR5IChjYW1lbENhc2Ugb3IgUGFzY2FsQ2FzZSwgZGVwZW5kaW5nIG9uIHRoZSB2ZW5kb3IgcHJlZml4KVxuICovXG5mdW5jdGlvbiBnZXRTdXBwb3J0ZWRQcm9wZXJ0eU5hbWUocHJvcGVydHkpIHtcbiAgdmFyIHByZWZpeGVzID0gW2ZhbHNlLCAnbXMnLCAnV2Via2l0JywgJ01veicsICdPJ107XG4gIHZhciB1cHBlclByb3AgPSBwcm9wZXJ0eS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHByb3BlcnR5LnNsaWNlKDEpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJlZml4ZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgcHJlZml4ID0gcHJlZml4ZXNbaV07XG4gICAgdmFyIHRvQ2hlY2sgPSBwcmVmaXggPyAnJyArIHByZWZpeCArIHVwcGVyUHJvcCA6IHByb3BlcnR5O1xuICAgIGlmICh0eXBlb2YgZG9jdW1lbnQuYm9keS5zdHlsZVt0b0NoZWNrXSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiB0b0NoZWNrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBEZXN0cm95cyB0aGUgcG9wcGVyLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG5mdW5jdGlvbiBkZXN0cm95KCkge1xuICB0aGlzLnN0YXRlLmlzRGVzdHJveWVkID0gdHJ1ZTtcblxuICAvLyB0b3VjaCBET00gb25seSBpZiBgYXBwbHlTdHlsZWAgbW9kaWZpZXIgaXMgZW5hYmxlZFxuICBpZiAoaXNNb2RpZmllckVuYWJsZWQodGhpcy5tb2RpZmllcnMsICdhcHBseVN0eWxlJykpIHtcbiAgICB0aGlzLnBvcHBlci5yZW1vdmVBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50Jyk7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUucG9zaXRpb24gPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS50b3AgPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS5sZWZ0ID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGUucmlnaHQgPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS5ib3R0b20gPSAnJztcbiAgICB0aGlzLnBvcHBlci5zdHlsZS53aWxsQ2hhbmdlID0gJyc7XG4gICAgdGhpcy5wb3BwZXIuc3R5bGVbZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKCd0cmFuc2Zvcm0nKV0gPSAnJztcbiAgfVxuXG4gIHRoaXMuZGlzYWJsZUV2ZW50TGlzdGVuZXJzKCk7XG5cbiAgLy8gcmVtb3ZlIHRoZSBwb3BwZXIgaWYgdXNlciBleHBsaWNpdGx5IGFza2VkIGZvciB0aGUgZGVsZXRpb24gb24gZGVzdHJveVxuICAvLyBkbyBub3QgdXNlIGByZW1vdmVgIGJlY2F1c2UgSUUxMSBkb2Vzbid0IHN1cHBvcnQgaXRcbiAgaWYgKHRoaXMub3B0aW9ucy5yZW1vdmVPbkRlc3Ryb3kpIHtcbiAgICB0aGlzLnBvcHBlci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucG9wcGVyKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn1cblxuLyoqXG4gKiBHZXQgdGhlIHdpbmRvdyBhc3NvY2lhdGVkIHdpdGggdGhlIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudFxuICogQHJldHVybnMge1dpbmRvd31cbiAqL1xuZnVuY3Rpb24gZ2V0V2luZG93KGVsZW1lbnQpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gIHJldHVybiBvd25lckRvY3VtZW50ID8gb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyA6IHdpbmRvdztcbn1cblxuZnVuY3Rpb24gYXR0YWNoVG9TY3JvbGxQYXJlbnRzKHNjcm9sbFBhcmVudCwgZXZlbnQsIGNhbGxiYWNrLCBzY3JvbGxQYXJlbnRzKSB7XG4gIHZhciBpc0JvZHkgPSBzY3JvbGxQYXJlbnQubm9kZU5hbWUgPT09ICdCT0RZJztcbiAgdmFyIHRhcmdldCA9IGlzQm9keSA/IHNjcm9sbFBhcmVudC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3IDogc2Nyb2xsUGFyZW50O1xuICB0YXJnZXQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgY2FsbGJhY2ssIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICBpZiAoIWlzQm9keSkge1xuICAgIGF0dGFjaFRvU2Nyb2xsUGFyZW50cyhnZXRTY3JvbGxQYXJlbnQodGFyZ2V0LnBhcmVudE5vZGUpLCBldmVudCwgY2FsbGJhY2ssIHNjcm9sbFBhcmVudHMpO1xuICB9XG4gIHNjcm9sbFBhcmVudHMucHVzaCh0YXJnZXQpO1xufVxuXG4vKipcbiAqIFNldHVwIG5lZWRlZCBldmVudCBsaXN0ZW5lcnMgdXNlZCB0byB1cGRhdGUgdGhlIHBvcHBlciBwb3NpdGlvblxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gc2V0dXBFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIG9wdGlvbnMsIHN0YXRlLCB1cGRhdGVCb3VuZCkge1xuICAvLyBSZXNpemUgZXZlbnQgbGlzdGVuZXIgb24gd2luZG93XG4gIHN0YXRlLnVwZGF0ZUJvdW5kID0gdXBkYXRlQm91bmQ7XG4gIGdldFdpbmRvdyhyZWZlcmVuY2UpLmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cbiAgLy8gU2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHZhciBzY3JvbGxFbGVtZW50ID0gZ2V0U2Nyb2xsUGFyZW50KHJlZmVyZW5jZSk7XG4gIGF0dGFjaFRvU2Nyb2xsUGFyZW50cyhzY3JvbGxFbGVtZW50LCAnc2Nyb2xsJywgc3RhdGUudXBkYXRlQm91bmQsIHN0YXRlLnNjcm9sbFBhcmVudHMpO1xuICBzdGF0ZS5zY3JvbGxFbGVtZW50ID0gc2Nyb2xsRWxlbWVudDtcbiAgc3RhdGUuZXZlbnRzRW5hYmxlZCA9IHRydWU7XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG4vKipcbiAqIEl0IHdpbGwgYWRkIHJlc2l6ZS9zY3JvbGwgZXZlbnRzIGFuZCBzdGFydCByZWNhbGN1bGF0aW5nXG4gKiBwb3NpdGlvbiBvZiB0aGUgcG9wcGVyIGVsZW1lbnQgd2hlbiB0aGV5IGFyZSB0cmlnZ2VyZWQuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGVuYWJsZUV2ZW50TGlzdGVuZXJzKCkge1xuICBpZiAoIXRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCkge1xuICAgIHRoaXMuc3RhdGUgPSBzZXR1cEV2ZW50TGlzdGVuZXJzKHRoaXMucmVmZXJlbmNlLCB0aGlzLm9wdGlvbnMsIHRoaXMuc3RhdGUsIHRoaXMuc2NoZWR1bGVVcGRhdGUpO1xuICB9XG59XG5cbi8qKlxuICogUmVtb3ZlIGV2ZW50IGxpc3RlbmVycyB1c2VkIHRvIHVwZGF0ZSB0aGUgcG9wcGVyIHBvc2l0aW9uXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVycyhyZWZlcmVuY2UsIHN0YXRlKSB7XG4gIC8vIFJlbW92ZSByZXNpemUgZXZlbnQgbGlzdGVuZXIgb24gd2luZG93XG4gIGdldFdpbmRvdyhyZWZlcmVuY2UpLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcblxuICAvLyBSZW1vdmUgc2Nyb2xsIGV2ZW50IGxpc3RlbmVyIG9uIHNjcm9sbCBwYXJlbnRzXG4gIHN0YXRlLnNjcm9sbFBhcmVudHMuZm9yRWFjaChmdW5jdGlvbiAodGFyZ2V0KSB7XG4gICAgdGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHN0YXRlLnVwZGF0ZUJvdW5kKTtcbiAgfSk7XG5cbiAgLy8gUmVzZXQgc3RhdGVcbiAgc3RhdGUudXBkYXRlQm91bmQgPSBudWxsO1xuICBzdGF0ZS5zY3JvbGxQYXJlbnRzID0gW107XG4gIHN0YXRlLnNjcm9sbEVsZW1lbnQgPSBudWxsO1xuICBzdGF0ZS5ldmVudHNFbmFibGVkID0gZmFsc2U7XG4gIHJldHVybiBzdGF0ZTtcbn1cblxuLyoqXG4gKiBJdCB3aWxsIHJlbW92ZSByZXNpemUvc2Nyb2xsIGV2ZW50cyBhbmQgd29uJ3QgcmVjYWxjdWxhdGUgcG9wcGVyIHBvc2l0aW9uXG4gKiB3aGVuIHRoZXkgYXJlIHRyaWdnZXJlZC4gSXQgYWxzbyB3b24ndCB0cmlnZ2VyIGBvblVwZGF0ZWAgY2FsbGJhY2sgYW55bW9yZSxcbiAqIHVubGVzcyB5b3UgY2FsbCBgdXBkYXRlYCBtZXRob2QgbWFudWFsbHkuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyXG4gKi9cbmZ1bmN0aW9uIGRpc2FibGVFdmVudExpc3RlbmVycygpIHtcbiAgaWYgKHRoaXMuc3RhdGUuZXZlbnRzRW5hYmxlZCkge1xuICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuc2NoZWR1bGVVcGRhdGUpO1xuICAgIHRoaXMuc3RhdGUgPSByZW1vdmVFdmVudExpc3RlbmVycyh0aGlzLnJlZmVyZW5jZSwgdGhpcy5zdGF0ZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBUZWxscyBpZiBhIGdpdmVuIGlucHV0IGlzIGEgbnVtYmVyXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLlV0aWxzXG4gKiBAcGFyYW0geyp9IGlucHV0IHRvIGNoZWNrXG4gKiBAcmV0dXJuIHtCb29sZWFufVxuICovXG5mdW5jdGlvbiBpc051bWVyaWMobikge1xuICByZXR1cm4gbiAhPT0gJycgJiYgIWlzTmFOKHBhcnNlRmxvYXQobikpICYmIGlzRmluaXRlKG4pO1xufVxuXG4vKipcbiAqIFNldCB0aGUgc3R5bGUgdG8gdGhlIGdpdmVuIHBvcHBlclxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtFbGVtZW50fSBlbGVtZW50IC0gRWxlbWVudCB0byBhcHBseSB0aGUgc3R5bGUgdG9cbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBzdHlsZXNcbiAqIE9iamVjdCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIHNldFN0eWxlcyhlbGVtZW50LCBzdHlsZXMpIHtcbiAgT2JqZWN0LmtleXMoc3R5bGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgdmFyIHVuaXQgPSAnJztcbiAgICAvLyBhZGQgdW5pdCBpZiB0aGUgdmFsdWUgaXMgbnVtZXJpYyBhbmQgaXMgb25lIG9mIHRoZSBmb2xsb3dpbmdcbiAgICBpZiAoWyd3aWR0aCcsICdoZWlnaHQnLCAndG9wJywgJ3JpZ2h0JywgJ2JvdHRvbScsICdsZWZ0J10uaW5kZXhPZihwcm9wKSAhPT0gLTEgJiYgaXNOdW1lcmljKHN0eWxlc1twcm9wXSkpIHtcbiAgICAgIHVuaXQgPSAncHgnO1xuICAgIH1cbiAgICBlbGVtZW50LnN0eWxlW3Byb3BdID0gc3R5bGVzW3Byb3BdICsgdW5pdDtcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0IHRoZSBhdHRyaWJ1dGVzIHRvIHRoZSBnaXZlbiBwb3BwZXJcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7RWxlbWVudH0gZWxlbWVudCAtIEVsZW1lbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgdG9cbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBzdHlsZXNcbiAqIE9iamVjdCB3aXRoIGEgbGlzdCBvZiBwcm9wZXJ0aWVzIGFuZCB2YWx1ZXMgd2hpY2ggd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50XG4gKi9cbmZ1bmN0aW9uIHNldEF0dHJpYnV0ZXMoZWxlbWVudCwgYXR0cmlidXRlcykge1xuICBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgdmFyIHZhbHVlID0gYXR0cmlidXRlc1twcm9wXTtcbiAgICBpZiAodmFsdWUgIT09IGZhbHNlKSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShwcm9wLCBhdHRyaWJ1dGVzW3Byb3BdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUocHJvcCk7XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhLnN0eWxlcyAtIExpc3Qgb2Ygc3R5bGUgcHJvcGVydGllcyAtIHZhbHVlcyB0byBhcHBseSB0byBwb3BwZXIgZWxlbWVudFxuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEuYXR0cmlidXRlcyAtIExpc3Qgb2YgYXR0cmlidXRlIHByb3BlcnRpZXMgLSB2YWx1ZXMgdG8gYXBwbHkgdG8gcG9wcGVyIGVsZW1lbnRcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBzYW1lIGRhdGEgb2JqZWN0XG4gKi9cbmZ1bmN0aW9uIGFwcGx5U3R5bGUoZGF0YSkge1xuICAvLyBhbnkgcHJvcGVydHkgcHJlc2VudCBpbiBgZGF0YS5zdHlsZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyBpbiB0aGlzIHdheSB3ZSBjYW4gbWFrZSB0aGUgM3JkIHBhcnR5IG1vZGlmaWVycyBhZGQgY3VzdG9tIHN0eWxlcyB0byBpdFxuICAvLyBCZSBhd2FyZSwgbW9kaWZpZXJzIGNvdWxkIG92ZXJyaWRlIHRoZSBwcm9wZXJ0aWVzIGRlZmluZWQgaW4gdGhlIHByZXZpb3VzXG4gIC8vIGxpbmVzIG9mIHRoaXMgbW9kaWZpZXIhXG4gIHNldFN0eWxlcyhkYXRhLmluc3RhbmNlLnBvcHBlciwgZGF0YS5zdHlsZXMpO1xuXG4gIC8vIGFueSBwcm9wZXJ0eSBwcmVzZW50IGluIGBkYXRhLmF0dHJpYnV0ZXNgIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLFxuICAvLyB0aGV5IHdpbGwgYmUgc2V0IGFzIEhUTUwgYXR0cmlidXRlcyBvZiB0aGUgZWxlbWVudFxuICBzZXRBdHRyaWJ1dGVzKGRhdGEuaW5zdGFuY2UucG9wcGVyLCBkYXRhLmF0dHJpYnV0ZXMpO1xuXG4gIC8vIGlmIGFycm93RWxlbWVudCBpcyBkZWZpbmVkIGFuZCBhcnJvd1N0eWxlcyBoYXMgc29tZSBwcm9wZXJ0aWVzXG4gIGlmIChkYXRhLmFycm93RWxlbWVudCAmJiBPYmplY3Qua2V5cyhkYXRhLmFycm93U3R5bGVzKS5sZW5ndGgpIHtcbiAgICBzZXRTdHlsZXMoZGF0YS5hcnJvd0VsZW1lbnQsIGRhdGEuYXJyb3dTdHlsZXMpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogU2V0IHRoZSB4LXBsYWNlbWVudCBhdHRyaWJ1dGUgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBiZWNhdXNlIGl0IGNvdWxkIGJlIHVzZWRcbiAqIHRvIGFkZCBtYXJnaW5zIHRvIHRoZSBwb3BwZXIgbWFyZ2lucyBuZWVkcyB0byBiZSBjYWxjdWxhdGVkIHRvIGdldCB0aGVcbiAqIGNvcnJlY3QgcG9wcGVyIG9mZnNldHMuXG4gKiBAbWV0aG9kXG4gKiBAbWVtYmVyb2YgUG9wcGVyLm1vZGlmaWVyc1xuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcmVmZXJlbmNlIC0gVGhlIHJlZmVyZW5jZSBlbGVtZW50IHVzZWQgdG8gcG9zaXRpb24gdGhlIHBvcHBlclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcG9wcGVyIC0gVGhlIEhUTUwgZWxlbWVudCB1c2VkIGFzIHBvcHBlclxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBQb3BwZXIuanMgb3B0aW9uc1xuICovXG5mdW5jdGlvbiBhcHBseVN0eWxlT25Mb2FkKHJlZmVyZW5jZSwgcG9wcGVyLCBvcHRpb25zLCBtb2RpZmllck9wdGlvbnMsIHN0YXRlKSB7XG4gIC8vIGNvbXB1dGUgcmVmZXJlbmNlIGVsZW1lbnQgb2Zmc2V0c1xuICB2YXIgcmVmZXJlbmNlT2Zmc2V0cyA9IGdldFJlZmVyZW5jZU9mZnNldHMoc3RhdGUsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLnBvc2l0aW9uRml4ZWQpO1xuXG4gIC8vIGNvbXB1dGUgYXV0byBwbGFjZW1lbnQsIHN0b3JlIHBsYWNlbWVudCBpbnNpZGUgdGhlIGRhdGEgb2JqZWN0LFxuICAvLyBtb2RpZmllcnMgd2lsbCBiZSBhYmxlIHRvIGVkaXQgYHBsYWNlbWVudGAgaWYgbmVlZGVkXG4gIC8vIGFuZCByZWZlciB0byBvcmlnaW5hbFBsYWNlbWVudCB0byBrbm93IHRoZSBvcmlnaW5hbCB2YWx1ZVxuICB2YXIgcGxhY2VtZW50ID0gY29tcHV0ZUF1dG9QbGFjZW1lbnQob3B0aW9ucy5wbGFjZW1lbnQsIHJlZmVyZW5jZU9mZnNldHMsIHBvcHBlciwgcmVmZXJlbmNlLCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLmJvdW5kYXJpZXNFbGVtZW50LCBvcHRpb25zLm1vZGlmaWVycy5mbGlwLnBhZGRpbmcpO1xuXG4gIHBvcHBlci5zZXRBdHRyaWJ1dGUoJ3gtcGxhY2VtZW50JywgcGxhY2VtZW50KTtcblxuICAvLyBBcHBseSBgcG9zaXRpb25gIHRvIHBvcHBlciBiZWZvcmUgYW55dGhpbmcgZWxzZSBiZWNhdXNlXG4gIC8vIHdpdGhvdXQgdGhlIHBvc2l0aW9uIGFwcGxpZWQgd2UgY2FuJ3QgZ3VhcmFudGVlIGNvcnJlY3QgY29tcHV0YXRpb25zXG4gIHNldFN0eWxlcyhwb3BwZXIsIHsgcG9zaXRpb246IG9wdGlvbnMucG9zaXRpb25GaXhlZCA/ICdmaXhlZCcgOiAnYWJzb2x1dGUnIH0pO1xuXG4gIHJldHVybiBvcHRpb25zO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtCb29sZWFufSBzaG91bGRSb3VuZCAtIElmIHRoZSBvZmZzZXRzIHNob3VsZCBiZSByb3VuZGVkIGF0IGFsbFxuICogQHJldHVybnMge09iamVjdH0gVGhlIHBvcHBlcidzIHBvc2l0aW9uIG9mZnNldHMgcm91bmRlZFxuICpcbiAqIFRoZSB0YWxlIG9mIHBpeGVsLXBlcmZlY3QgcG9zaXRpb25pbmcuIEl0J3Mgc3RpbGwgbm90IDEwMCUgcGVyZmVjdCwgYnV0IGFzXG4gKiBnb29kIGFzIGl0IGNhbiBiZSB3aXRoaW4gcmVhc29uLlxuICogRGlzY3Vzc2lvbiBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vRmV6VnJhc3RhL3BvcHBlci5qcy9wdWxsLzcxNVxuICpcbiAqIExvdyBEUEkgc2NyZWVucyBjYXVzZSBhIHBvcHBlciB0byBiZSBibHVycnkgaWYgbm90IHVzaW5nIGZ1bGwgcGl4ZWxzIChTYWZhcmlcbiAqIGFzIHdlbGwgb24gSGlnaCBEUEkgc2NyZWVucykuXG4gKlxuICogRmlyZWZveCBwcmVmZXJzIG5vIHJvdW5kaW5nIGZvciBwb3NpdGlvbmluZyBhbmQgZG9lcyBub3QgaGF2ZSBibHVycmluZXNzIG9uXG4gKiBoaWdoIERQSSBzY3JlZW5zLlxuICpcbiAqIE9ubHkgaG9yaXpvbnRhbCBwbGFjZW1lbnQgYW5kIGxlZnQvcmlnaHQgdmFsdWVzIG5lZWQgdG8gYmUgY29uc2lkZXJlZC5cbiAqL1xuZnVuY3Rpb24gZ2V0Um91bmRlZE9mZnNldHMoZGF0YSwgc2hvdWxkUm91bmQpIHtcbiAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuICB2YXIgcm91bmQgPSBNYXRoLnJvdW5kLFxuICAgICAgZmxvb3IgPSBNYXRoLmZsb29yO1xuXG4gIHZhciBub1JvdW5kID0gZnVuY3Rpb24gbm9Sb3VuZCh2KSB7XG4gICAgcmV0dXJuIHY7XG4gIH07XG5cbiAgdmFyIHJlZmVyZW5jZVdpZHRoID0gcm91bmQocmVmZXJlbmNlLndpZHRoKTtcbiAgdmFyIHBvcHBlcldpZHRoID0gcm91bmQocG9wcGVyLndpZHRoKTtcblxuICB2YXIgaXNWZXJ0aWNhbCA9IFsnbGVmdCcsICdyaWdodCddLmluZGV4T2YoZGF0YS5wbGFjZW1lbnQpICE9PSAtMTtcbiAgdmFyIGlzVmFyaWF0aW9uID0gZGF0YS5wbGFjZW1lbnQuaW5kZXhPZignLScpICE9PSAtMTtcbiAgdmFyIHNhbWVXaWR0aFBhcml0eSA9IHJlZmVyZW5jZVdpZHRoICUgMiA9PT0gcG9wcGVyV2lkdGggJSAyO1xuICB2YXIgYm90aE9kZFdpZHRoID0gcmVmZXJlbmNlV2lkdGggJSAyID09PSAxICYmIHBvcHBlcldpZHRoICUgMiA9PT0gMTtcblxuICB2YXIgaG9yaXpvbnRhbFRvSW50ZWdlciA9ICFzaG91bGRSb3VuZCA/IG5vUm91bmQgOiBpc1ZlcnRpY2FsIHx8IGlzVmFyaWF0aW9uIHx8IHNhbWVXaWR0aFBhcml0eSA/IHJvdW5kIDogZmxvb3I7XG4gIHZhciB2ZXJ0aWNhbFRvSW50ZWdlciA9ICFzaG91bGRSb3VuZCA/IG5vUm91bmQgOiByb3VuZDtcblxuICByZXR1cm4ge1xuICAgIGxlZnQ6IGhvcml6b250YWxUb0ludGVnZXIoYm90aE9kZFdpZHRoICYmICFpc1ZhcmlhdGlvbiAmJiBzaG91bGRSb3VuZCA/IHBvcHBlci5sZWZ0IC0gMSA6IHBvcHBlci5sZWZ0KSxcbiAgICB0b3A6IHZlcnRpY2FsVG9JbnRlZ2VyKHBvcHBlci50b3ApLFxuICAgIGJvdHRvbTogdmVydGljYWxUb0ludGVnZXIocG9wcGVyLmJvdHRvbSksXG4gICAgcmlnaHQ6IGhvcml6b250YWxUb0ludGVnZXIocG9wcGVyLnJpZ2h0KVxuICB9O1xufVxuXG52YXIgaXNGaXJlZm94ID0gaXNCcm93c2VyICYmIC9GaXJlZm94L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gY29tcHV0ZVN0eWxlKGRhdGEsIG9wdGlvbnMpIHtcbiAgdmFyIHggPSBvcHRpb25zLngsXG4gICAgICB5ID0gb3B0aW9ucy55O1xuICB2YXIgcG9wcGVyID0gZGF0YS5vZmZzZXRzLnBvcHBlcjtcblxuICAvLyBSZW1vdmUgdGhpcyBsZWdhY3kgc3VwcG9ydCBpbiBQb3BwZXIuanMgdjJcblxuICB2YXIgbGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uID0gZmluZChkYXRhLmluc3RhbmNlLm1vZGlmaWVycywgZnVuY3Rpb24gKG1vZGlmaWVyKSB7XG4gICAgcmV0dXJuIG1vZGlmaWVyLm5hbWUgPT09ICdhcHBseVN0eWxlJztcbiAgfSkuZ3B1QWNjZWxlcmF0aW9uO1xuICBpZiAobGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICBjb25zb2xlLndhcm4oJ1dBUk5JTkc6IGBncHVBY2NlbGVyYXRpb25gIG9wdGlvbiBtb3ZlZCB0byBgY29tcHV0ZVN0eWxlYCBtb2RpZmllciBhbmQgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBvZiBQb3BwZXIuanMhJyk7XG4gIH1cbiAgdmFyIGdwdUFjY2VsZXJhdGlvbiA9IGxlZ2FjeUdwdUFjY2VsZXJhdGlvbk9wdGlvbiAhPT0gdW5kZWZpbmVkID8gbGVnYWN5R3B1QWNjZWxlcmF0aW9uT3B0aW9uIDogb3B0aW9ucy5ncHVBY2NlbGVyYXRpb247XG5cbiAgdmFyIG9mZnNldFBhcmVudCA9IGdldE9mZnNldFBhcmVudChkYXRhLmluc3RhbmNlLnBvcHBlcik7XG4gIHZhciBvZmZzZXRQYXJlbnRSZWN0ID0gZ2V0Qm91bmRpbmdDbGllbnRSZWN0KG9mZnNldFBhcmVudCk7XG5cbiAgLy8gU3R5bGVzXG4gIHZhciBzdHlsZXMgPSB7XG4gICAgcG9zaXRpb246IHBvcHBlci5wb3NpdGlvblxuICB9O1xuXG4gIHZhciBvZmZzZXRzID0gZ2V0Um91bmRlZE9mZnNldHMoZGF0YSwgd2luZG93LmRldmljZVBpeGVsUmF0aW8gPCAyIHx8ICFpc0ZpcmVmb3gpO1xuXG4gIHZhciBzaWRlQSA9IHggPT09ICdib3R0b20nID8gJ3RvcCcgOiAnYm90dG9tJztcbiAgdmFyIHNpZGVCID0geSA9PT0gJ3JpZ2h0JyA/ICdsZWZ0JyA6ICdyaWdodCc7XG5cbiAgLy8gaWYgZ3B1QWNjZWxlcmF0aW9uIGlzIHNldCB0byBgdHJ1ZWAgYW5kIHRyYW5zZm9ybSBpcyBzdXBwb3J0ZWQsXG4gIC8vICB3ZSB1c2UgYHRyYW5zbGF0ZTNkYCB0byBhcHBseSB0aGUgcG9zaXRpb24gdG8gdGhlIHBvcHBlciB3ZVxuICAvLyBhdXRvbWF0aWNhbGx5IHVzZSB0aGUgc3VwcG9ydGVkIHByZWZpeGVkIHZlcnNpb24gaWYgbmVlZGVkXG4gIHZhciBwcmVmaXhlZFByb3BlcnR5ID0gZ2V0U3VwcG9ydGVkUHJvcGVydHlOYW1lKCd0cmFuc2Zvcm0nKTtcblxuICAvLyBub3csIGxldCdzIG1ha2UgYSBzdGVwIGJhY2sgYW5kIGxvb2sgYXQgdGhpcyBjb2RlIGNsb3NlbHkgKHd0Zj8pXG4gIC8vIElmIHRoZSBjb250ZW50IG9mIHRoZSBwb3BwZXIgZ3Jvd3Mgb25jZSBpdCdzIGJlZW4gcG9zaXRpb25lZCwgaXRcbiAgLy8gbWF5IGhhcHBlbiB0aGF0IHRoZSBwb3BwZXIgZ2V0cyBtaXNwbGFjZWQgYmVjYXVzZSBvZiB0aGUgbmV3IGNvbnRlbnRcbiAgLy8gb3ZlcmZsb3dpbmcgaXRzIHJlZmVyZW5jZSBlbGVtZW50XG4gIC8vIFRvIGF2b2lkIHRoaXMgcHJvYmxlbSwgd2UgcHJvdmlkZSB0d28gb3B0aW9ucyAoeCBhbmQgeSksIHdoaWNoIGFsbG93XG4gIC8vIHRoZSBjb25zdW1lciB0byBkZWZpbmUgdGhlIG9mZnNldCBvcmlnaW4uXG4gIC8vIElmIHdlIHBvc2l0aW9uIGEgcG9wcGVyIG9uIHRvcCBvZiBhIHJlZmVyZW5jZSBlbGVtZW50LCB3ZSBjYW4gc2V0XG4gIC8vIGB4YCB0byBgdG9wYCB0byBtYWtlIHRoZSBwb3BwZXIgZ3JvdyB0b3dhcmRzIGl0cyB0b3AgaW5zdGVhZCBvZlxuICAvLyBpdHMgYm90dG9tLlxuICB2YXIgbGVmdCA9IHZvaWQgMCxcbiAgICAgIHRvcCA9IHZvaWQgMDtcbiAgaWYgKHNpZGVBID09PSAnYm90dG9tJykge1xuICAgIC8vIHdoZW4gb2Zmc2V0UGFyZW50IGlzIDxodG1sPiB0aGUgcG9zaXRpb25pbmcgaXMgcmVsYXRpdmUgdG8gdGhlIGJvdHRvbSBvZiB0aGUgc2NyZWVuIChleGNsdWRpbmcgdGhlIHNjcm9sbGJhcilcbiAgICAvLyBhbmQgbm90IHRoZSBib3R0b20gb2YgdGhlIGh0bWwgZWxlbWVudFxuICAgIGlmIChvZmZzZXRQYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgICAgdG9wID0gLW9mZnNldFBhcmVudC5jbGllbnRIZWlnaHQgKyBvZmZzZXRzLmJvdHRvbTtcbiAgICB9IGVsc2Uge1xuICAgICAgdG9wID0gLW9mZnNldFBhcmVudFJlY3QuaGVpZ2h0ICsgb2Zmc2V0cy5ib3R0b207XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHRvcCA9IG9mZnNldHMudG9wO1xuICB9XG4gIGlmIChzaWRlQiA9PT0gJ3JpZ2h0Jykge1xuICAgIGlmIChvZmZzZXRQYXJlbnQubm9kZU5hbWUgPT09ICdIVE1MJykge1xuICAgICAgbGVmdCA9IC1vZmZzZXRQYXJlbnQuY2xpZW50V2lkdGggKyBvZmZzZXRzLnJpZ2h0O1xuICAgIH0gZWxzZSB7XG4gICAgICBsZWZ0ID0gLW9mZnNldFBhcmVudFJlY3Qud2lkdGggKyBvZmZzZXRzLnJpZ2h0O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBsZWZ0ID0gb2Zmc2V0cy5sZWZ0O1xuICB9XG4gIGlmIChncHVBY2NlbGVyYXRpb24gJiYgcHJlZml4ZWRQcm9wZXJ0eSkge1xuICAgIHN0eWxlc1twcmVmaXhlZFByb3BlcnR5XSA9ICd0cmFuc2xhdGUzZCgnICsgbGVmdCArICdweCwgJyArIHRvcCArICdweCwgMCknO1xuICAgIHN0eWxlc1tzaWRlQV0gPSAwO1xuICAgIHN0eWxlc1tzaWRlQl0gPSAwO1xuICAgIHN0eWxlcy53aWxsQ2hhbmdlID0gJ3RyYW5zZm9ybSc7XG4gIH0gZWxzZSB7XG4gICAgLy8gb3Rod2VyaXNlLCB3ZSB1c2UgdGhlIHN0YW5kYXJkIGB0b3BgLCBgbGVmdGAsIGBib3R0b21gIGFuZCBgcmlnaHRgIHByb3BlcnRpZXNcbiAgICB2YXIgaW52ZXJ0VG9wID0gc2lkZUEgPT09ICdib3R0b20nID8gLTEgOiAxO1xuICAgIHZhciBpbnZlcnRMZWZ0ID0gc2lkZUIgPT09ICdyaWdodCcgPyAtMSA6IDE7XG4gICAgc3R5bGVzW3NpZGVBXSA9IHRvcCAqIGludmVydFRvcDtcbiAgICBzdHlsZXNbc2lkZUJdID0gbGVmdCAqIGludmVydExlZnQ7XG4gICAgc3R5bGVzLndpbGxDaGFuZ2UgPSBzaWRlQSArICcsICcgKyBzaWRlQjtcbiAgfVxuXG4gIC8vIEF0dHJpYnV0ZXNcbiAgdmFyIGF0dHJpYnV0ZXMgPSB7XG4gICAgJ3gtcGxhY2VtZW50JzogZGF0YS5wbGFjZW1lbnRcbiAgfTtcblxuICAvLyBVcGRhdGUgYGRhdGFgIGF0dHJpYnV0ZXMsIHN0eWxlcyBhbmQgYXJyb3dTdHlsZXNcbiAgZGF0YS5hdHRyaWJ1dGVzID0gX2V4dGVuZHMoe30sIGF0dHJpYnV0ZXMsIGRhdGEuYXR0cmlidXRlcyk7XG4gIGRhdGEuc3R5bGVzID0gX2V4dGVuZHMoe30sIHN0eWxlcywgZGF0YS5zdHlsZXMpO1xuICBkYXRhLmFycm93U3R5bGVzID0gX2V4dGVuZHMoe30sIGRhdGEub2Zmc2V0cy5hcnJvdywgZGF0YS5hcnJvd1N0eWxlcyk7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogSGVscGVyIHVzZWQgdG8ga25vdyBpZiB0aGUgZ2l2ZW4gbW9kaWZpZXIgZGVwZW5kcyBmcm9tIGFub3RoZXIgb25lLjxiciAvPlxuICogSXQgY2hlY2tzIGlmIHRoZSBuZWVkZWQgbW9kaWZpZXIgaXMgbGlzdGVkIGFuZCBlbmFibGVkLlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQHBhcmFtIHtBcnJheX0gbW9kaWZpZXJzIC0gbGlzdCBvZiBtb2RpZmllcnNcbiAqIEBwYXJhbSB7U3RyaW5nfSByZXF1ZXN0aW5nTmFtZSAtIG5hbWUgb2YgcmVxdWVzdGluZyBtb2RpZmllclxuICogQHBhcmFtIHtTdHJpbmd9IHJlcXVlc3RlZE5hbWUgLSBuYW1lIG9mIHJlcXVlc3RlZCBtb2RpZmllclxuICogQHJldHVybnMge0Jvb2xlYW59XG4gKi9cbmZ1bmN0aW9uIGlzTW9kaWZpZXJSZXF1aXJlZChtb2RpZmllcnMsIHJlcXVlc3RpbmdOYW1lLCByZXF1ZXN0ZWROYW1lKSB7XG4gIHZhciByZXF1ZXN0aW5nID0gZmluZChtb2RpZmllcnMsIGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG5hbWUgPSBfcmVmLm5hbWU7XG4gICAgcmV0dXJuIG5hbWUgPT09IHJlcXVlc3RpbmdOYW1lO1xuICB9KTtcblxuICB2YXIgaXNSZXF1aXJlZCA9ICEhcmVxdWVzdGluZyAmJiBtb2RpZmllcnMuc29tZShmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICByZXR1cm4gbW9kaWZpZXIubmFtZSA9PT0gcmVxdWVzdGVkTmFtZSAmJiBtb2RpZmllci5lbmFibGVkICYmIG1vZGlmaWVyLm9yZGVyIDwgcmVxdWVzdGluZy5vcmRlcjtcbiAgfSk7XG5cbiAgaWYgKCFpc1JlcXVpcmVkKSB7XG4gICAgdmFyIF9yZXF1ZXN0aW5nID0gJ2AnICsgcmVxdWVzdGluZ05hbWUgKyAnYCc7XG4gICAgdmFyIHJlcXVlc3RlZCA9ICdgJyArIHJlcXVlc3RlZE5hbWUgKyAnYCc7XG4gICAgY29uc29sZS53YXJuKHJlcXVlc3RlZCArICcgbW9kaWZpZXIgaXMgcmVxdWlyZWQgYnkgJyArIF9yZXF1ZXN0aW5nICsgJyBtb2RpZmllciBpbiBvcmRlciB0byB3b3JrLCBiZSBzdXJlIHRvIGluY2x1ZGUgaXQgYmVmb3JlICcgKyBfcmVxdWVzdGluZyArICchJyk7XG4gIH1cbiAgcmV0dXJuIGlzUmVxdWlyZWQ7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBhcnJvdyhkYXRhLCBvcHRpb25zKSB7XG4gIHZhciBfZGF0YSRvZmZzZXRzJGFycm93O1xuXG4gIC8vIGFycm93IGRlcGVuZHMgb24ga2VlcFRvZ2V0aGVyIGluIG9yZGVyIHRvIHdvcmtcbiAgaWYgKCFpc01vZGlmaWVyUmVxdWlyZWQoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsICdhcnJvdycsICdrZWVwVG9nZXRoZXInKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyIGFycm93RWxlbWVudCA9IG9wdGlvbnMuZWxlbWVudDtcblxuICAvLyBpZiBhcnJvd0VsZW1lbnQgaXMgYSBzdHJpbmcsIHN1cHBvc2UgaXQncyBhIENTUyBzZWxlY3RvclxuICBpZiAodHlwZW9mIGFycm93RWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICBhcnJvd0VsZW1lbnQgPSBkYXRhLmluc3RhbmNlLnBvcHBlci5xdWVyeVNlbGVjdG9yKGFycm93RWxlbWVudCk7XG5cbiAgICAvLyBpZiBhcnJvd0VsZW1lbnQgaXMgbm90IGZvdW5kLCBkb24ndCBydW4gdGhlIG1vZGlmaWVyXG4gICAgaWYgKCFhcnJvd0VsZW1lbnQpIHtcbiAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBpZiB0aGUgYXJyb3dFbGVtZW50IGlzbid0IGEgcXVlcnkgc2VsZWN0b3Igd2UgbXVzdCBjaGVjayB0aGF0IHRoZVxuICAgIC8vIHByb3ZpZGVkIERPTSBub2RlIGlzIGNoaWxkIG9mIGl0cyBwb3BwZXIgbm9kZVxuICAgIGlmICghZGF0YS5pbnN0YW5jZS5wb3BwZXIuY29udGFpbnMoYXJyb3dFbGVtZW50KSkge1xuICAgICAgY29uc29sZS53YXJuKCdXQVJOSU5HOiBgYXJyb3cuZWxlbWVudGAgbXVzdCBiZSBjaGlsZCBvZiBpdHMgcG9wcGVyIGVsZW1lbnQhJyk7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG4gIH1cblxuICB2YXIgcGxhY2VtZW50ID0gZGF0YS5wbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuXG4gIHZhciBpc1ZlcnRpY2FsID0gWydsZWZ0JywgJ3JpZ2h0J10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMTtcblxuICB2YXIgbGVuID0gaXNWZXJ0aWNhbCA/ICdoZWlnaHQnIDogJ3dpZHRoJztcbiAgdmFyIHNpZGVDYXBpdGFsaXplZCA9IGlzVmVydGljYWwgPyAnVG9wJyA6ICdMZWZ0JztcbiAgdmFyIHNpZGUgPSBzaWRlQ2FwaXRhbGl6ZWQudG9Mb3dlckNhc2UoKTtcbiAgdmFyIGFsdFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2xlZnQnIDogJ3RvcCc7XG4gIHZhciBvcFNpZGUgPSBpc1ZlcnRpY2FsID8gJ2JvdHRvbScgOiAncmlnaHQnO1xuICB2YXIgYXJyb3dFbGVtZW50U2l6ZSA9IGdldE91dGVyU2l6ZXMoYXJyb3dFbGVtZW50KVtsZW5dO1xuXG4gIC8vXG4gIC8vIGV4dGVuZHMga2VlcFRvZ2V0aGVyIGJlaGF2aW9yIG1ha2luZyBzdXJlIHRoZSBwb3BwZXIgYW5kIGl0c1xuICAvLyByZWZlcmVuY2UgaGF2ZSBlbm91Z2ggcGl4ZWxzIGluIGNvbmp1bmN0aW9uXG4gIC8vXG5cbiAgLy8gdG9wL2xlZnQgc2lkZVxuICBpZiAocmVmZXJlbmNlW29wU2lkZV0gLSBhcnJvd0VsZW1lbnRTaXplIDwgcG9wcGVyW3NpZGVdKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltzaWRlXSAtPSBwb3BwZXJbc2lkZV0gLSAocmVmZXJlbmNlW29wU2lkZV0gLSBhcnJvd0VsZW1lbnRTaXplKTtcbiAgfVxuICAvLyBib3R0b20vcmlnaHQgc2lkZVxuICBpZiAocmVmZXJlbmNlW3NpZGVdICsgYXJyb3dFbGVtZW50U2l6ZSA+IHBvcHBlcltvcFNpZGVdKSB7XG4gICAgZGF0YS5vZmZzZXRzLnBvcHBlcltzaWRlXSArPSByZWZlcmVuY2Vbc2lkZV0gKyBhcnJvd0VsZW1lbnRTaXplIC0gcG9wcGVyW29wU2lkZV07XG4gIH1cbiAgZGF0YS5vZmZzZXRzLnBvcHBlciA9IGdldENsaWVudFJlY3QoZGF0YS5vZmZzZXRzLnBvcHBlcik7XG5cbiAgLy8gY29tcHV0ZSBjZW50ZXIgb2YgdGhlIHBvcHBlclxuICB2YXIgY2VudGVyID0gcmVmZXJlbmNlW3NpZGVdICsgcmVmZXJlbmNlW2xlbl0gLyAyIC0gYXJyb3dFbGVtZW50U2l6ZSAvIDI7XG5cbiAgLy8gQ29tcHV0ZSB0aGUgc2lkZVZhbHVlIHVzaW5nIHRoZSB1cGRhdGVkIHBvcHBlciBvZmZzZXRzXG4gIC8vIHRha2UgcG9wcGVyIG1hcmdpbiBpbiBhY2NvdW50IGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSB0aGlzIGluZm8gYXZhaWxhYmxlXG4gIHZhciBjc3MgPSBnZXRTdHlsZUNvbXB1dGVkUHJvcGVydHkoZGF0YS5pbnN0YW5jZS5wb3BwZXIpO1xuICB2YXIgcG9wcGVyTWFyZ2luU2lkZSA9IHBhcnNlRmxvYXQoY3NzWydtYXJnaW4nICsgc2lkZUNhcGl0YWxpemVkXSk7XG4gIHZhciBwb3BwZXJCb3JkZXJTaWRlID0gcGFyc2VGbG9hdChjc3NbJ2JvcmRlcicgKyBzaWRlQ2FwaXRhbGl6ZWQgKyAnV2lkdGgnXSk7XG4gIHZhciBzaWRlVmFsdWUgPSBjZW50ZXIgLSBkYXRhLm9mZnNldHMucG9wcGVyW3NpZGVdIC0gcG9wcGVyTWFyZ2luU2lkZSAtIHBvcHBlckJvcmRlclNpZGU7XG5cbiAgLy8gcHJldmVudCBhcnJvd0VsZW1lbnQgZnJvbSBiZWluZyBwbGFjZWQgbm90IGNvbnRpZ3VvdXNseSB0byBpdHMgcG9wcGVyXG4gIHNpZGVWYWx1ZSA9IE1hdGgubWF4KE1hdGgubWluKHBvcHBlcltsZW5dIC0gYXJyb3dFbGVtZW50U2l6ZSwgc2lkZVZhbHVlKSwgMCk7XG5cbiAgZGF0YS5hcnJvd0VsZW1lbnQgPSBhcnJvd0VsZW1lbnQ7XG4gIGRhdGEub2Zmc2V0cy5hcnJvdyA9IChfZGF0YSRvZmZzZXRzJGFycm93ID0ge30sIGRlZmluZVByb3BlcnR5KF9kYXRhJG9mZnNldHMkYXJyb3csIHNpZGUsIE1hdGgucm91bmQoc2lkZVZhbHVlKSksIGRlZmluZVByb3BlcnR5KF9kYXRhJG9mZnNldHMkYXJyb3csIGFsdFNpZGUsICcnKSwgX2RhdGEkb2Zmc2V0cyRhcnJvdyk7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogR2V0IHRoZSBvcHBvc2l0ZSBwbGFjZW1lbnQgdmFyaWF0aW9uIG9mIHRoZSBnaXZlbiBvbmVcbiAqIEBtZXRob2RcbiAqIEBtZW1iZXJvZiBQb3BwZXIuVXRpbHNcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBwbGFjZW1lbnQgdmFyaWF0aW9uXG4gKiBAcmV0dXJucyB7U3RyaW5nfSBmbGlwcGVkIHBsYWNlbWVudCB2YXJpYXRpb25cbiAqL1xuZnVuY3Rpb24gZ2V0T3Bwb3NpdGVWYXJpYXRpb24odmFyaWF0aW9uKSB7XG4gIGlmICh2YXJpYXRpb24gPT09ICdlbmQnKSB7XG4gICAgcmV0dXJuICdzdGFydCc7XG4gIH0gZWxzZSBpZiAodmFyaWF0aW9uID09PSAnc3RhcnQnKSB7XG4gICAgcmV0dXJuICdlbmQnO1xuICB9XG4gIHJldHVybiB2YXJpYXRpb247XG59XG5cbi8qKlxuICogTGlzdCBvZiBhY2NlcHRlZCBwbGFjZW1lbnRzIHRvIHVzZSBhcyB2YWx1ZXMgb2YgdGhlIGBwbGFjZW1lbnRgIG9wdGlvbi48YnIgLz5cbiAqIFZhbGlkIHBsYWNlbWVudHMgYXJlOlxuICogLSBgYXV0b2BcbiAqIC0gYHRvcGBcbiAqIC0gYHJpZ2h0YFxuICogLSBgYm90dG9tYFxuICogLSBgbGVmdGBcbiAqXG4gKiBFYWNoIHBsYWNlbWVudCBjYW4gaGF2ZSBhIHZhcmlhdGlvbiBmcm9tIHRoaXMgbGlzdDpcbiAqIC0gYC1zdGFydGBcbiAqIC0gYC1lbmRgXG4gKlxuICogVmFyaWF0aW9ucyBhcmUgaW50ZXJwcmV0ZWQgZWFzaWx5IGlmIHlvdSB0aGluayBvZiB0aGVtIGFzIHRoZSBsZWZ0IHRvIHJpZ2h0XG4gKiB3cml0dGVuIGxhbmd1YWdlcy4gSG9yaXpvbnRhbGx5IChgdG9wYCBhbmQgYGJvdHRvbWApLCBgc3RhcnRgIGlzIGxlZnQgYW5kIGBlbmRgXG4gKiBpcyByaWdodC48YnIgLz5cbiAqIFZlcnRpY2FsbHkgKGBsZWZ0YCBhbmQgYHJpZ2h0YCksIGBzdGFydGAgaXMgdG9wIGFuZCBgZW5kYCBpcyBib3R0b20uXG4gKlxuICogU29tZSB2YWxpZCBleGFtcGxlcyBhcmU6XG4gKiAtIGB0b3AtZW5kYCAob24gdG9wIG9mIHJlZmVyZW5jZSwgcmlnaHQgYWxpZ25lZClcbiAqIC0gYHJpZ2h0LXN0YXJ0YCAob24gcmlnaHQgb2YgcmVmZXJlbmNlLCB0b3AgYWxpZ25lZClcbiAqIC0gYGJvdHRvbWAgKG9uIGJvdHRvbSwgY2VudGVyZWQpXG4gKiAtIGBhdXRvLWVuZGAgKG9uIHRoZSBzaWRlIHdpdGggbW9yZSBzcGFjZSBhdmFpbGFibGUsIGFsaWdubWVudCBkZXBlbmRzIGJ5IHBsYWNlbWVudClcbiAqXG4gKiBAc3RhdGljXG4gKiBAdHlwZSB7QXJyYXl9XG4gKiBAZW51bSB7U3RyaW5nfVxuICogQHJlYWRvbmx5XG4gKiBAbWV0aG9kIHBsYWNlbWVudHNcbiAqIEBtZW1iZXJvZiBQb3BwZXJcbiAqL1xudmFyIHBsYWNlbWVudHMgPSBbJ2F1dG8tc3RhcnQnLCAnYXV0bycsICdhdXRvLWVuZCcsICd0b3Atc3RhcnQnLCAndG9wJywgJ3RvcC1lbmQnLCAncmlnaHQtc3RhcnQnLCAncmlnaHQnLCAncmlnaHQtZW5kJywgJ2JvdHRvbS1lbmQnLCAnYm90dG9tJywgJ2JvdHRvbS1zdGFydCcsICdsZWZ0LWVuZCcsICdsZWZ0JywgJ2xlZnQtc3RhcnQnXTtcblxuLy8gR2V0IHJpZCBvZiBgYXV0b2AgYGF1dG8tc3RhcnRgIGFuZCBgYXV0by1lbmRgXG52YXIgdmFsaWRQbGFjZW1lbnRzID0gcGxhY2VtZW50cy5zbGljZSgzKTtcblxuLyoqXG4gKiBHaXZlbiBhbiBpbml0aWFsIHBsYWNlbWVudCwgcmV0dXJucyBhbGwgdGhlIHN1YnNlcXVlbnQgcGxhY2VtZW50c1xuICogY2xvY2t3aXNlIChvciBjb3VudGVyLWNsb2Nrd2lzZSkuXG4gKlxuICogQG1ldGhvZFxuICogQG1lbWJlcm9mIFBvcHBlci5VdGlsc1xuICogQGFyZ3VtZW50IHtTdHJpbmd9IHBsYWNlbWVudCAtIEEgdmFsaWQgcGxhY2VtZW50IChpdCBhY2NlcHRzIHZhcmlhdGlvbnMpXG4gKiBAYXJndW1lbnQge0Jvb2xlYW59IGNvdW50ZXIgLSBTZXQgdG8gdHJ1ZSB0byB3YWxrIHRoZSBwbGFjZW1lbnRzIGNvdW50ZXJjbG9ja3dpc2VcbiAqIEByZXR1cm5zIHtBcnJheX0gcGxhY2VtZW50cyBpbmNsdWRpbmcgdGhlaXIgdmFyaWF0aW9uc1xuICovXG5mdW5jdGlvbiBjbG9ja3dpc2UocGxhY2VtZW50KSB7XG4gIHZhciBjb3VudGVyID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBmYWxzZTtcblxuICB2YXIgaW5kZXggPSB2YWxpZFBsYWNlbWVudHMuaW5kZXhPZihwbGFjZW1lbnQpO1xuICB2YXIgYXJyID0gdmFsaWRQbGFjZW1lbnRzLnNsaWNlKGluZGV4ICsgMSkuY29uY2F0KHZhbGlkUGxhY2VtZW50cy5zbGljZSgwLCBpbmRleCkpO1xuICByZXR1cm4gY291bnRlciA/IGFyci5yZXZlcnNlKCkgOiBhcnI7XG59XG5cbnZhciBCRUhBVklPUlMgPSB7XG4gIEZMSVA6ICdmbGlwJyxcbiAgQ0xPQ0tXSVNFOiAnY2xvY2t3aXNlJyxcbiAgQ09VTlRFUkNMT0NLV0lTRTogJ2NvdW50ZXJjbG9ja3dpc2UnXG59O1xuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gZmxpcChkYXRhLCBvcHRpb25zKSB7XG4gIC8vIGlmIGBpbm5lcmAgbW9kaWZpZXIgaXMgZW5hYmxlZCwgd2UgY2FuJ3QgdXNlIHRoZSBgZmxpcGAgbW9kaWZpZXJcbiAgaWYgKGlzTW9kaWZpZXJFbmFibGVkKGRhdGEuaW5zdGFuY2UubW9kaWZpZXJzLCAnaW5uZXInKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgaWYgKGRhdGEuZmxpcHBlZCAmJiBkYXRhLnBsYWNlbWVudCA9PT0gZGF0YS5vcmlnaW5hbFBsYWNlbWVudCkge1xuICAgIC8vIHNlZW1zIGxpa2UgZmxpcCBpcyB0cnlpbmcgdG8gbG9vcCwgcHJvYmFibHkgdGhlcmUncyBub3QgZW5vdWdoIHNwYWNlIG9uIGFueSBvZiB0aGUgZmxpcHBhYmxlIHNpZGVzXG4gICAgcmV0dXJuIGRhdGE7XG4gIH1cblxuICB2YXIgYm91bmRhcmllcyA9IGdldEJvdW5kYXJpZXMoZGF0YS5pbnN0YW5jZS5wb3BwZXIsIGRhdGEuaW5zdGFuY2UucmVmZXJlbmNlLCBvcHRpb25zLnBhZGRpbmcsIG9wdGlvbnMuYm91bmRhcmllc0VsZW1lbnQsIGRhdGEucG9zaXRpb25GaXhlZCk7XG5cbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIHZhciBwbGFjZW1lbnRPcHBvc2l0ZSA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIHZhciB2YXJpYXRpb24gPSBkYXRhLnBsYWNlbWVudC5zcGxpdCgnLScpWzFdIHx8ICcnO1xuXG4gIHZhciBmbGlwT3JkZXIgPSBbXTtcblxuICBzd2l0Y2ggKG9wdGlvbnMuYmVoYXZpb3IpIHtcbiAgICBjYXNlIEJFSEFWSU9SUy5GTElQOlxuICAgICAgZmxpcE9yZGVyID0gW3BsYWNlbWVudCwgcGxhY2VtZW50T3Bwb3NpdGVdO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBCRUhBVklPUlMuQ0xPQ0tXSVNFOlxuICAgICAgZmxpcE9yZGVyID0gY2xvY2t3aXNlKHBsYWNlbWVudCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEJFSEFWSU9SUy5DT1VOVEVSQ0xPQ0tXSVNFOlxuICAgICAgZmxpcE9yZGVyID0gY2xvY2t3aXNlKHBsYWNlbWVudCwgdHJ1ZSk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgZmxpcE9yZGVyID0gb3B0aW9ucy5iZWhhdmlvcjtcbiAgfVxuXG4gIGZsaXBPcmRlci5mb3JFYWNoKGZ1bmN0aW9uIChzdGVwLCBpbmRleCkge1xuICAgIGlmIChwbGFjZW1lbnQgIT09IHN0ZXAgfHwgZmxpcE9yZGVyLmxlbmd0aCA9PT0gaW5kZXggKyAxKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICAgIHBsYWNlbWVudE9wcG9zaXRlID0gZ2V0T3Bwb3NpdGVQbGFjZW1lbnQocGxhY2VtZW50KTtcblxuICAgIHZhciBwb3BwZXJPZmZzZXRzID0gZGF0YS5vZmZzZXRzLnBvcHBlcjtcbiAgICB2YXIgcmVmT2Zmc2V0cyA9IGRhdGEub2Zmc2V0cy5yZWZlcmVuY2U7XG5cbiAgICAvLyB1c2luZyBmbG9vciBiZWNhdXNlIHRoZSByZWZlcmVuY2Ugb2Zmc2V0cyBtYXkgY29udGFpbiBkZWNpbWFscyB3ZSBhcmUgbm90IGdvaW5nIHRvIGNvbnNpZGVyIGhlcmVcbiAgICB2YXIgZmxvb3IgPSBNYXRoLmZsb29yO1xuICAgIHZhciBvdmVybGFwc1JlZiA9IHBsYWNlbWVudCA9PT0gJ2xlZnQnICYmIGZsb29yKHBvcHBlck9mZnNldHMucmlnaHQpID4gZmxvb3IocmVmT2Zmc2V0cy5sZWZ0KSB8fCBwbGFjZW1lbnQgPT09ICdyaWdodCcgJiYgZmxvb3IocG9wcGVyT2Zmc2V0cy5sZWZ0KSA8IGZsb29yKHJlZk9mZnNldHMucmlnaHQpIHx8IHBsYWNlbWVudCA9PT0gJ3RvcCcgJiYgZmxvb3IocG9wcGVyT2Zmc2V0cy5ib3R0b20pID4gZmxvb3IocmVmT2Zmc2V0cy50b3ApIHx8IHBsYWNlbWVudCA9PT0gJ2JvdHRvbScgJiYgZmxvb3IocG9wcGVyT2Zmc2V0cy50b3ApIDwgZmxvb3IocmVmT2Zmc2V0cy5ib3R0b20pO1xuXG4gICAgdmFyIG92ZXJmbG93c0xlZnQgPSBmbG9vcihwb3BwZXJPZmZzZXRzLmxlZnQpIDwgZmxvb3IoYm91bmRhcmllcy5sZWZ0KTtcbiAgICB2YXIgb3ZlcmZsb3dzUmlnaHQgPSBmbG9vcihwb3BwZXJPZmZzZXRzLnJpZ2h0KSA+IGZsb29yKGJvdW5kYXJpZXMucmlnaHQpO1xuICAgIHZhciBvdmVyZmxvd3NUb3AgPSBmbG9vcihwb3BwZXJPZmZzZXRzLnRvcCkgPCBmbG9vcihib3VuZGFyaWVzLnRvcCk7XG4gICAgdmFyIG92ZXJmbG93c0JvdHRvbSA9IGZsb29yKHBvcHBlck9mZnNldHMuYm90dG9tKSA+IGZsb29yKGJvdW5kYXJpZXMuYm90dG9tKTtcblxuICAgIHZhciBvdmVyZmxvd3NCb3VuZGFyaWVzID0gcGxhY2VtZW50ID09PSAnbGVmdCcgJiYgb3ZlcmZsb3dzTGVmdCB8fCBwbGFjZW1lbnQgPT09ICdyaWdodCcgJiYgb3ZlcmZsb3dzUmlnaHQgfHwgcGxhY2VtZW50ID09PSAndG9wJyAmJiBvdmVyZmxvd3NUb3AgfHwgcGxhY2VtZW50ID09PSAnYm90dG9tJyAmJiBvdmVyZmxvd3NCb3R0b207XG5cbiAgICAvLyBmbGlwIHRoZSB2YXJpYXRpb24gaWYgcmVxdWlyZWRcbiAgICB2YXIgaXNWZXJ0aWNhbCA9IFsndG9wJywgJ2JvdHRvbSddLmluZGV4T2YocGxhY2VtZW50KSAhPT0gLTE7XG5cbiAgICAvLyBmbGlwcyB2YXJpYXRpb24gaWYgcmVmZXJlbmNlIGVsZW1lbnQgb3ZlcmZsb3dzIGJvdW5kYXJpZXNcbiAgICB2YXIgZmxpcHBlZFZhcmlhdGlvbkJ5UmVmID0gISFvcHRpb25zLmZsaXBWYXJpYXRpb25zICYmIChpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NMZWZ0IHx8IGlzVmVydGljYWwgJiYgdmFyaWF0aW9uID09PSAnZW5kJyAmJiBvdmVyZmxvd3NSaWdodCB8fCAhaXNWZXJ0aWNhbCAmJiB2YXJpYXRpb24gPT09ICdzdGFydCcgJiYgb3ZlcmZsb3dzVG9wIHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ2VuZCcgJiYgb3ZlcmZsb3dzQm90dG9tKTtcblxuICAgIC8vIGZsaXBzIHZhcmlhdGlvbiBpZiBwb3BwZXIgY29udGVudCBvdmVyZmxvd3MgYm91bmRhcmllc1xuICAgIHZhciBmbGlwcGVkVmFyaWF0aW9uQnlDb250ZW50ID0gISFvcHRpb25zLmZsaXBWYXJpYXRpb25zQnlDb250ZW50ICYmIChpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ3N0YXJ0JyAmJiBvdmVyZmxvd3NSaWdodCB8fCBpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ2VuZCcgJiYgb3ZlcmZsb3dzTGVmdCB8fCAhaXNWZXJ0aWNhbCAmJiB2YXJpYXRpb24gPT09ICdzdGFydCcgJiYgb3ZlcmZsb3dzQm90dG9tIHx8ICFpc1ZlcnRpY2FsICYmIHZhcmlhdGlvbiA9PT0gJ2VuZCcgJiYgb3ZlcmZsb3dzVG9wKTtcblxuICAgIHZhciBmbGlwcGVkVmFyaWF0aW9uID0gZmxpcHBlZFZhcmlhdGlvbkJ5UmVmIHx8IGZsaXBwZWRWYXJpYXRpb25CeUNvbnRlbnQ7XG5cbiAgICBpZiAob3ZlcmxhcHNSZWYgfHwgb3ZlcmZsb3dzQm91bmRhcmllcyB8fCBmbGlwcGVkVmFyaWF0aW9uKSB7XG4gICAgICAvLyB0aGlzIGJvb2xlYW4gdG8gZGV0ZWN0IGFueSBmbGlwIGxvb3BcbiAgICAgIGRhdGEuZmxpcHBlZCA9IHRydWU7XG5cbiAgICAgIGlmIChvdmVybGFwc1JlZiB8fCBvdmVyZmxvd3NCb3VuZGFyaWVzKSB7XG4gICAgICAgIHBsYWNlbWVudCA9IGZsaXBPcmRlcltpbmRleCArIDFdO1xuICAgICAgfVxuXG4gICAgICBpZiAoZmxpcHBlZFZhcmlhdGlvbikge1xuICAgICAgICB2YXJpYXRpb24gPSBnZXRPcHBvc2l0ZVZhcmlhdGlvbih2YXJpYXRpb24pO1xuICAgICAgfVxuXG4gICAgICBkYXRhLnBsYWNlbWVudCA9IHBsYWNlbWVudCArICh2YXJpYXRpb24gPyAnLScgKyB2YXJpYXRpb24gOiAnJyk7XG5cbiAgICAgIC8vIHRoaXMgb2JqZWN0IGNvbnRhaW5zIGBwb3NpdGlvbmAsIHdlIHdhbnQgdG8gcHJlc2VydmUgaXQgYWxvbmcgd2l0aFxuICAgICAgLy8gYW55IGFkZGl0aW9uYWwgcHJvcGVydHkgd2UgbWF5IGFkZCBpbiB0aGUgZnV0dXJlXG4gICAgICBkYXRhLm9mZnNldHMucG9wcGVyID0gX2V4dGVuZHMoe30sIGRhdGEub2Zmc2V0cy5wb3BwZXIsIGdldFBvcHBlck9mZnNldHMoZGF0YS5pbnN0YW5jZS5wb3BwZXIsIGRhdGEub2Zmc2V0cy5yZWZlcmVuY2UsIGRhdGEucGxhY2VtZW50KSk7XG5cbiAgICAgIGRhdGEgPSBydW5Nb2RpZmllcnMoZGF0YS5pbnN0YW5jZS5tb2RpZmllcnMsIGRhdGEsICdmbGlwJyk7XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgdXBkYXRlIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBrZWVwVG9nZXRoZXIoZGF0YSkge1xuICB2YXIgX2RhdGEkb2Zmc2V0cyA9IGRhdGEub2Zmc2V0cyxcbiAgICAgIHBvcHBlciA9IF9kYXRhJG9mZnNldHMucG9wcGVyLFxuICAgICAgcmVmZXJlbmNlID0gX2RhdGEkb2Zmc2V0cy5yZWZlcmVuY2U7XG5cbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50LnNwbGl0KCctJylbMF07XG4gIHZhciBmbG9vciA9IE1hdGguZmxvb3I7XG4gIHZhciBpc1ZlcnRpY2FsID0gWyd0b3AnLCAnYm90dG9tJ10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMTtcbiAgdmFyIHNpZGUgPSBpc1ZlcnRpY2FsID8gJ3JpZ2h0JyA6ICdib3R0b20nO1xuICB2YXIgb3BTaWRlID0gaXNWZXJ0aWNhbCA/ICdsZWZ0JyA6ICd0b3AnO1xuICB2YXIgbWVhc3VyZW1lbnQgPSBpc1ZlcnRpY2FsID8gJ3dpZHRoJyA6ICdoZWlnaHQnO1xuXG4gIGlmIChwb3BwZXJbc2lkZV0gPCBmbG9vcihyZWZlcmVuY2Vbb3BTaWRlXSkpIHtcbiAgICBkYXRhLm9mZnNldHMucG9wcGVyW29wU2lkZV0gPSBmbG9vcihyZWZlcmVuY2Vbb3BTaWRlXSkgLSBwb3BwZXJbbWVhc3VyZW1lbnRdO1xuICB9XG4gIGlmIChwb3BwZXJbb3BTaWRlXSA+IGZsb29yKHJlZmVyZW5jZVtzaWRlXSkpIHtcbiAgICBkYXRhLm9mZnNldHMucG9wcGVyW29wU2lkZV0gPSBmbG9vcihyZWZlcmVuY2Vbc2lkZV0pO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgY29udGFpbmluZyB2YWx1ZSArIHVuaXQgaW50byBhIHB4IHZhbHVlIG51bWJlclxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2Yge21vZGlmaWVyc35vZmZzZXR9XG4gKiBAcHJpdmF0ZVxuICogQGFyZ3VtZW50IHtTdHJpbmd9IHN0ciAtIFZhbHVlICsgdW5pdCBzdHJpbmdcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBtZWFzdXJlbWVudCAtIGBoZWlnaHRgIG9yIGB3aWR0aGBcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBwb3BwZXJPZmZzZXRzXG4gKiBAYXJndW1lbnQge09iamVjdH0gcmVmZXJlbmNlT2Zmc2V0c1xuICogQHJldHVybnMge051bWJlcnxTdHJpbmd9XG4gKiBWYWx1ZSBpbiBwaXhlbHMsIG9yIG9yaWdpbmFsIHN0cmluZyBpZiBubyB2YWx1ZXMgd2VyZSBleHRyYWN0ZWRcbiAqL1xuZnVuY3Rpb24gdG9WYWx1ZShzdHIsIG1lYXN1cmVtZW50LCBwb3BwZXJPZmZzZXRzLCByZWZlcmVuY2VPZmZzZXRzKSB7XG4gIC8vIHNlcGFyYXRlIHZhbHVlIGZyb20gdW5pdFxuICB2YXIgc3BsaXQgPSBzdHIubWF0Y2goLygoPzpcXC18XFwrKT9cXGQqXFwuP1xcZCopKC4qKS8pO1xuICB2YXIgdmFsdWUgPSArc3BsaXRbMV07XG4gIHZhciB1bml0ID0gc3BsaXRbMl07XG5cbiAgLy8gSWYgaXQncyBub3QgYSBudW1iZXIgaXQncyBhbiBvcGVyYXRvciwgSSBndWVzc1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIHN0cjtcbiAgfVxuXG4gIGlmICh1bml0LmluZGV4T2YoJyUnKSA9PT0gMCkge1xuICAgIHZhciBlbGVtZW50ID0gdm9pZCAwO1xuICAgIHN3aXRjaCAodW5pdCkge1xuICAgICAgY2FzZSAnJXAnOlxuICAgICAgICBlbGVtZW50ID0gcG9wcGVyT2Zmc2V0cztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICclJzpcbiAgICAgIGNhc2UgJyVyJzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGVsZW1lbnQgPSByZWZlcmVuY2VPZmZzZXRzO1xuICAgIH1cblxuICAgIHZhciByZWN0ID0gZ2V0Q2xpZW50UmVjdChlbGVtZW50KTtcbiAgICByZXR1cm4gcmVjdFttZWFzdXJlbWVudF0gLyAxMDAgKiB2YWx1ZTtcbiAgfSBlbHNlIGlmICh1bml0ID09PSAndmgnIHx8IHVuaXQgPT09ICd2dycpIHtcbiAgICAvLyBpZiBpcyBhIHZoIG9yIHZ3LCB3ZSBjYWxjdWxhdGUgdGhlIHNpemUgYmFzZWQgb24gdGhlIHZpZXdwb3J0XG4gICAgdmFyIHNpemUgPSB2b2lkIDA7XG4gICAgaWYgKHVuaXQgPT09ICd2aCcpIHtcbiAgICAgIHNpemUgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0LCB3aW5kb3cuaW5uZXJIZWlnaHQgfHwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNpemUgPSBNYXRoLm1heChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgsIHdpbmRvdy5pbm5lcldpZHRoIHx8IDApO1xuICAgIH1cbiAgICByZXR1cm4gc2l6ZSAvIDEwMCAqIHZhbHVlO1xuICB9IGVsc2Uge1xuICAgIC8vIGlmIGlzIGFuIGV4cGxpY2l0IHBpeGVsIHVuaXQsIHdlIGdldCByaWQgb2YgdGhlIHVuaXQgYW5kIGtlZXAgdGhlIHZhbHVlXG4gICAgLy8gaWYgaXMgYW4gaW1wbGljaXQgdW5pdCwgaXQncyBweCwgYW5kIHdlIHJldHVybiBqdXN0IHRoZSB2YWx1ZVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufVxuXG4vKipcbiAqIFBhcnNlIGFuIGBvZmZzZXRgIHN0cmluZyB0byBleHRyYXBvbGF0ZSBgeGAgYW5kIGB5YCBudW1lcmljIG9mZnNldHMuXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiB7bW9kaWZpZXJzfm9mZnNldH1cbiAqIEBwcml2YXRlXG4gKiBAYXJndW1lbnQge1N0cmluZ30gb2Zmc2V0XG4gKiBAYXJndW1lbnQge09iamVjdH0gcG9wcGVyT2Zmc2V0c1xuICogQGFyZ3VtZW50IHtPYmplY3R9IHJlZmVyZW5jZU9mZnNldHNcbiAqIEBhcmd1bWVudCB7U3RyaW5nfSBiYXNlUGxhY2VtZW50XG4gKiBAcmV0dXJucyB7QXJyYXl9IGEgdHdvIGNlbGxzIGFycmF5IHdpdGggeCBhbmQgeSBvZmZzZXRzIGluIG51bWJlcnNcbiAqL1xuZnVuY3Rpb24gcGFyc2VPZmZzZXQob2Zmc2V0LCBwb3BwZXJPZmZzZXRzLCByZWZlcmVuY2VPZmZzZXRzLCBiYXNlUGxhY2VtZW50KSB7XG4gIHZhciBvZmZzZXRzID0gWzAsIDBdO1xuXG4gIC8vIFVzZSBoZWlnaHQgaWYgcGxhY2VtZW50IGlzIGxlZnQgb3IgcmlnaHQgYW5kIGluZGV4IGlzIDAgb3RoZXJ3aXNlIHVzZSB3aWR0aFxuICAvLyBpbiB0aGlzIHdheSB0aGUgZmlyc3Qgb2Zmc2V0IHdpbGwgdXNlIGFuIGF4aXMgYW5kIHRoZSBzZWNvbmQgb25lXG4gIC8vIHdpbGwgdXNlIHRoZSBvdGhlciBvbmVcbiAgdmFyIHVzZUhlaWdodCA9IFsncmlnaHQnLCAnbGVmdCddLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgIT09IC0xO1xuXG4gIC8vIFNwbGl0IHRoZSBvZmZzZXQgc3RyaW5nIHRvIG9idGFpbiBhIGxpc3Qgb2YgdmFsdWVzIGFuZCBvcGVyYW5kc1xuICAvLyBUaGUgcmVnZXggYWRkcmVzc2VzIHZhbHVlcyB3aXRoIHRoZSBwbHVzIG9yIG1pbnVzIHNpZ24gaW4gZnJvbnQgKCsxMCwgLTIwLCBldGMpXG4gIHZhciBmcmFnbWVudHMgPSBvZmZzZXQuc3BsaXQoLyhcXCt8XFwtKS8pLm1hcChmdW5jdGlvbiAoZnJhZykge1xuICAgIHJldHVybiBmcmFnLnRyaW0oKTtcbiAgfSk7XG5cbiAgLy8gRGV0ZWN0IGlmIHRoZSBvZmZzZXQgc3RyaW5nIGNvbnRhaW5zIGEgcGFpciBvZiB2YWx1ZXMgb3IgYSBzaW5nbGUgb25lXG4gIC8vIHRoZXkgY291bGQgYmUgc2VwYXJhdGVkIGJ5IGNvbW1hIG9yIHNwYWNlXG4gIHZhciBkaXZpZGVyID0gZnJhZ21lbnRzLmluZGV4T2YoZmluZChmcmFnbWVudHMsIGZ1bmN0aW9uIChmcmFnKSB7XG4gICAgcmV0dXJuIGZyYWcuc2VhcmNoKC8sfFxccy8pICE9PSAtMTtcbiAgfSkpO1xuXG4gIGlmIChmcmFnbWVudHNbZGl2aWRlcl0gJiYgZnJhZ21lbnRzW2RpdmlkZXJdLmluZGV4T2YoJywnKSA9PT0gLTEpIHtcbiAgICBjb25zb2xlLndhcm4oJ09mZnNldHMgc2VwYXJhdGVkIGJ5IHdoaXRlIHNwYWNlKHMpIGFyZSBkZXByZWNhdGVkLCB1c2UgYSBjb21tYSAoLCkgaW5zdGVhZC4nKTtcbiAgfVxuXG4gIC8vIElmIGRpdmlkZXIgaXMgZm91bmQsIHdlIGRpdmlkZSB0aGUgbGlzdCBvZiB2YWx1ZXMgYW5kIG9wZXJhbmRzIHRvIGRpdmlkZVxuICAvLyB0aGVtIGJ5IG9mc2V0IFggYW5kIFkuXG4gIHZhciBzcGxpdFJlZ2V4ID0gL1xccyosXFxzKnxcXHMrLztcbiAgdmFyIG9wcyA9IGRpdmlkZXIgIT09IC0xID8gW2ZyYWdtZW50cy5zbGljZSgwLCBkaXZpZGVyKS5jb25jYXQoW2ZyYWdtZW50c1tkaXZpZGVyXS5zcGxpdChzcGxpdFJlZ2V4KVswXV0pLCBbZnJhZ21lbnRzW2RpdmlkZXJdLnNwbGl0KHNwbGl0UmVnZXgpWzFdXS5jb25jYXQoZnJhZ21lbnRzLnNsaWNlKGRpdmlkZXIgKyAxKSldIDogW2ZyYWdtZW50c107XG5cbiAgLy8gQ29udmVydCB0aGUgdmFsdWVzIHdpdGggdW5pdHMgdG8gYWJzb2x1dGUgcGl4ZWxzIHRvIGFsbG93IG91ciBjb21wdXRhdGlvbnNcbiAgb3BzID0gb3BzLm1hcChmdW5jdGlvbiAob3AsIGluZGV4KSB7XG4gICAgLy8gTW9zdCBvZiB0aGUgdW5pdHMgcmVseSBvbiB0aGUgb3JpZW50YXRpb24gb2YgdGhlIHBvcHBlclxuICAgIHZhciBtZWFzdXJlbWVudCA9IChpbmRleCA9PT0gMSA/ICF1c2VIZWlnaHQgOiB1c2VIZWlnaHQpID8gJ2hlaWdodCcgOiAnd2lkdGgnO1xuICAgIHZhciBtZXJnZVdpdGhQcmV2aW91cyA9IGZhbHNlO1xuICAgIHJldHVybiBvcFxuICAgIC8vIFRoaXMgYWdncmVnYXRlcyBhbnkgYCtgIG9yIGAtYCBzaWduIHRoYXQgYXJlbid0IGNvbnNpZGVyZWQgb3BlcmF0b3JzXG4gICAgLy8gZS5nLjogMTAgKyArNSA9PiBbMTAsICssICs1XVxuICAgIC5yZWR1Y2UoZnVuY3Rpb24gKGEsIGIpIHtcbiAgICAgIGlmIChhW2EubGVuZ3RoIC0gMV0gPT09ICcnICYmIFsnKycsICctJ10uaW5kZXhPZihiKSAhPT0gLTEpIHtcbiAgICAgICAgYVthLmxlbmd0aCAtIDFdID0gYjtcbiAgICAgICAgbWVyZ2VXaXRoUHJldmlvdXMgPSB0cnVlO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH0gZWxzZSBpZiAobWVyZ2VXaXRoUHJldmlvdXMpIHtcbiAgICAgICAgYVthLmxlbmd0aCAtIDFdICs9IGI7XG4gICAgICAgIG1lcmdlV2l0aFByZXZpb3VzID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGEuY29uY2F0KGIpO1xuICAgICAgfVxuICAgIH0sIFtdKVxuICAgIC8vIEhlcmUgd2UgY29udmVydCB0aGUgc3RyaW5nIHZhbHVlcyBpbnRvIG51bWJlciB2YWx1ZXMgKGluIHB4KVxuICAgIC5tYXAoZnVuY3Rpb24gKHN0cikge1xuICAgICAgcmV0dXJuIHRvVmFsdWUoc3RyLCBtZWFzdXJlbWVudCwgcG9wcGVyT2Zmc2V0cywgcmVmZXJlbmNlT2Zmc2V0cyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIC8vIExvb3AgdHJvdWdoIHRoZSBvZmZzZXRzIGFycmF5cyBhbmQgZXhlY3V0ZSB0aGUgb3BlcmF0aW9uc1xuICBvcHMuZm9yRWFjaChmdW5jdGlvbiAob3AsIGluZGV4KSB7XG4gICAgb3AuZm9yRWFjaChmdW5jdGlvbiAoZnJhZywgaW5kZXgyKSB7XG4gICAgICBpZiAoaXNOdW1lcmljKGZyYWcpKSB7XG4gICAgICAgIG9mZnNldHNbaW5kZXhdICs9IGZyYWcgKiAob3BbaW5kZXgyIC0gMV0gPT09ICctJyA/IC0xIDogMSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xuICByZXR1cm4gb2Zmc2V0cztcbn1cblxuLyoqXG4gKiBAZnVuY3Rpb25cbiAqIEBtZW1iZXJvZiBNb2RpZmllcnNcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSB1cGRhdGUgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAYXJndW1lbnQge051bWJlcnxTdHJpbmd9IG9wdGlvbnMub2Zmc2V0PTBcbiAqIFRoZSBvZmZzZXQgdmFsdWUgYXMgZGVzY3JpYmVkIGluIHRoZSBtb2RpZmllciBkZXNjcmlwdGlvblxuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBvZmZzZXQoZGF0YSwgX3JlZikge1xuICB2YXIgb2Zmc2V0ID0gX3JlZi5vZmZzZXQ7XG4gIHZhciBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudCxcbiAgICAgIF9kYXRhJG9mZnNldHMgPSBkYXRhLm9mZnNldHMsXG4gICAgICBwb3BwZXIgPSBfZGF0YSRvZmZzZXRzLnBvcHBlcixcbiAgICAgIHJlZmVyZW5jZSA9IF9kYXRhJG9mZnNldHMucmVmZXJlbmNlO1xuXG4gIHZhciBiYXNlUGxhY2VtZW50ID0gcGxhY2VtZW50LnNwbGl0KCctJylbMF07XG5cbiAgdmFyIG9mZnNldHMgPSB2b2lkIDA7XG4gIGlmIChpc051bWVyaWMoK29mZnNldCkpIHtcbiAgICBvZmZzZXRzID0gWytvZmZzZXQsIDBdO1xuICB9IGVsc2Uge1xuICAgIG9mZnNldHMgPSBwYXJzZU9mZnNldChvZmZzZXQsIHBvcHBlciwgcmVmZXJlbmNlLCBiYXNlUGxhY2VtZW50KTtcbiAgfVxuXG4gIGlmIChiYXNlUGxhY2VtZW50ID09PSAnbGVmdCcpIHtcbiAgICBwb3BwZXIudG9wICs9IG9mZnNldHNbMF07XG4gICAgcG9wcGVyLmxlZnQgLT0gb2Zmc2V0c1sxXTtcbiAgfSBlbHNlIGlmIChiYXNlUGxhY2VtZW50ID09PSAncmlnaHQnKSB7XG4gICAgcG9wcGVyLnRvcCArPSBvZmZzZXRzWzBdO1xuICAgIHBvcHBlci5sZWZ0ICs9IG9mZnNldHNbMV07XG4gIH0gZWxzZSBpZiAoYmFzZVBsYWNlbWVudCA9PT0gJ3RvcCcpIHtcbiAgICBwb3BwZXIubGVmdCArPSBvZmZzZXRzWzBdO1xuICAgIHBvcHBlci50b3AgLT0gb2Zmc2V0c1sxXTtcbiAgfSBlbHNlIGlmIChiYXNlUGxhY2VtZW50ID09PSAnYm90dG9tJykge1xuICAgIHBvcHBlci5sZWZ0ICs9IG9mZnNldHNbMF07XG4gICAgcG9wcGVyLnRvcCArPSBvZmZzZXRzWzFdO1xuICB9XG5cbiAgZGF0YS5wb3BwZXIgPSBwb3BwZXI7XG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBwcmV2ZW50T3ZlcmZsb3coZGF0YSwgb3B0aW9ucykge1xuICB2YXIgYm91bmRhcmllc0VsZW1lbnQgPSBvcHRpb25zLmJvdW5kYXJpZXNFbGVtZW50IHx8IGdldE9mZnNldFBhcmVudChkYXRhLmluc3RhbmNlLnBvcHBlcik7XG5cbiAgLy8gSWYgb2Zmc2V0UGFyZW50IGlzIHRoZSByZWZlcmVuY2UgZWxlbWVudCwgd2UgcmVhbGx5IHdhbnQgdG9cbiAgLy8gZ28gb25lIHN0ZXAgdXAgYW5kIHVzZSB0aGUgbmV4dCBvZmZzZXRQYXJlbnQgYXMgcmVmZXJlbmNlIHRvXG4gIC8vIGF2b2lkIHRvIG1ha2UgdGhpcyBtb2RpZmllciBjb21wbGV0ZWx5IHVzZWxlc3MgYW5kIGxvb2sgbGlrZSBicm9rZW5cbiAgaWYgKGRhdGEuaW5zdGFuY2UucmVmZXJlbmNlID09PSBib3VuZGFyaWVzRWxlbWVudCkge1xuICAgIGJvdW5kYXJpZXNFbGVtZW50ID0gZ2V0T2Zmc2V0UGFyZW50KGJvdW5kYXJpZXNFbGVtZW50KTtcbiAgfVxuXG4gIC8vIE5PVEU6IERPTSBhY2Nlc3MgaGVyZVxuICAvLyByZXNldHMgdGhlIHBvcHBlcidzIHBvc2l0aW9uIHNvIHRoYXQgdGhlIGRvY3VtZW50IHNpemUgY2FuIGJlIGNhbGN1bGF0ZWQgZXhjbHVkaW5nXG4gIC8vIHRoZSBzaXplIG9mIHRoZSBwb3BwZXIgZWxlbWVudCBpdHNlbGZcbiAgdmFyIHRyYW5zZm9ybVByb3AgPSBnZXRTdXBwb3J0ZWRQcm9wZXJ0eU5hbWUoJ3RyYW5zZm9ybScpO1xuICB2YXIgcG9wcGVyU3R5bGVzID0gZGF0YS5pbnN0YW5jZS5wb3BwZXIuc3R5bGU7IC8vIGFzc2lnbm1lbnQgdG8gaGVscCBtaW5pZmljYXRpb25cbiAgdmFyIHRvcCA9IHBvcHBlclN0eWxlcy50b3AsXG4gICAgICBsZWZ0ID0gcG9wcGVyU3R5bGVzLmxlZnQsXG4gICAgICB0cmFuc2Zvcm0gPSBwb3BwZXJTdHlsZXNbdHJhbnNmb3JtUHJvcF07XG5cbiAgcG9wcGVyU3R5bGVzLnRvcCA9ICcnO1xuICBwb3BwZXJTdHlsZXMubGVmdCA9ICcnO1xuICBwb3BwZXJTdHlsZXNbdHJhbnNmb3JtUHJvcF0gPSAnJztcblxuICB2YXIgYm91bmRhcmllcyA9IGdldEJvdW5kYXJpZXMoZGF0YS5pbnN0YW5jZS5wb3BwZXIsIGRhdGEuaW5zdGFuY2UucmVmZXJlbmNlLCBvcHRpb25zLnBhZGRpbmcsIGJvdW5kYXJpZXNFbGVtZW50LCBkYXRhLnBvc2l0aW9uRml4ZWQpO1xuXG4gIC8vIE5PVEU6IERPTSBhY2Nlc3MgaGVyZVxuICAvLyByZXN0b3JlcyB0aGUgb3JpZ2luYWwgc3R5bGUgcHJvcGVydGllcyBhZnRlciB0aGUgb2Zmc2V0cyBoYXZlIGJlZW4gY29tcHV0ZWRcbiAgcG9wcGVyU3R5bGVzLnRvcCA9IHRvcDtcbiAgcG9wcGVyU3R5bGVzLmxlZnQgPSBsZWZ0O1xuICBwb3BwZXJTdHlsZXNbdHJhbnNmb3JtUHJvcF0gPSB0cmFuc2Zvcm07XG5cbiAgb3B0aW9ucy5ib3VuZGFyaWVzID0gYm91bmRhcmllcztcblxuICB2YXIgb3JkZXIgPSBvcHRpb25zLnByaW9yaXR5O1xuICB2YXIgcG9wcGVyID0gZGF0YS5vZmZzZXRzLnBvcHBlcjtcblxuICB2YXIgY2hlY2sgPSB7XG4gICAgcHJpbWFyeTogZnVuY3Rpb24gcHJpbWFyeShwbGFjZW1lbnQpIHtcbiAgICAgIHZhciB2YWx1ZSA9IHBvcHBlcltwbGFjZW1lbnRdO1xuICAgICAgaWYgKHBvcHBlcltwbGFjZW1lbnRdIDwgYm91bmRhcmllc1twbGFjZW1lbnRdICYmICFvcHRpb25zLmVzY2FwZVdpdGhSZWZlcmVuY2UpIHtcbiAgICAgICAgdmFsdWUgPSBNYXRoLm1heChwb3BwZXJbcGxhY2VtZW50XSwgYm91bmRhcmllc1twbGFjZW1lbnRdKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eSh7fSwgcGxhY2VtZW50LCB2YWx1ZSk7XG4gICAgfSxcbiAgICBzZWNvbmRhcnk6IGZ1bmN0aW9uIHNlY29uZGFyeShwbGFjZW1lbnQpIHtcbiAgICAgIHZhciBtYWluU2lkZSA9IHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/ICdsZWZ0JyA6ICd0b3AnO1xuICAgICAgdmFyIHZhbHVlID0gcG9wcGVyW21haW5TaWRlXTtcbiAgICAgIGlmIChwb3BwZXJbcGxhY2VtZW50XSA+IGJvdW5kYXJpZXNbcGxhY2VtZW50XSAmJiAhb3B0aW9ucy5lc2NhcGVXaXRoUmVmZXJlbmNlKSB7XG4gICAgICAgIHZhbHVlID0gTWF0aC5taW4ocG9wcGVyW21haW5TaWRlXSwgYm91bmRhcmllc1twbGFjZW1lbnRdIC0gKHBsYWNlbWVudCA9PT0gJ3JpZ2h0JyA/IHBvcHBlci53aWR0aCA6IHBvcHBlci5oZWlnaHQpKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkZWZpbmVQcm9wZXJ0eSh7fSwgbWFpblNpZGUsIHZhbHVlKTtcbiAgICB9XG4gIH07XG5cbiAgb3JkZXIuZm9yRWFjaChmdW5jdGlvbiAocGxhY2VtZW50KSB7XG4gICAgdmFyIHNpZGUgPSBbJ2xlZnQnLCAndG9wJ10uaW5kZXhPZihwbGFjZW1lbnQpICE9PSAtMSA/ICdwcmltYXJ5JyA6ICdzZWNvbmRhcnknO1xuICAgIHBvcHBlciA9IF9leHRlbmRzKHt9LCBwb3BwZXIsIGNoZWNrW3NpZGVdKHBsYWNlbWVudCkpO1xuICB9KTtcblxuICBkYXRhLm9mZnNldHMucG9wcGVyID0gcG9wcGVyO1xuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IGB1cGRhdGVgIG1ldGhvZFxuICogQGFyZ3VtZW50IHtPYmplY3R9IG9wdGlvbnMgLSBNb2RpZmllcnMgY29uZmlndXJhdGlvbiBhbmQgb3B0aW9uc1xuICogQHJldHVybnMge09iamVjdH0gVGhlIGRhdGEgb2JqZWN0LCBwcm9wZXJseSBtb2RpZmllZFxuICovXG5mdW5jdGlvbiBzaGlmdChkYXRhKSB7XG4gIHZhciBwbGFjZW1lbnQgPSBkYXRhLnBsYWNlbWVudDtcbiAgdmFyIGJhc2VQbGFjZW1lbnQgPSBwbGFjZW1lbnQuc3BsaXQoJy0nKVswXTtcbiAgdmFyIHNoaWZ0dmFyaWF0aW9uID0gcGxhY2VtZW50LnNwbGl0KCctJylbMV07XG5cbiAgLy8gaWYgc2hpZnQgc2hpZnR2YXJpYXRpb24gaXMgc3BlY2lmaWVkLCBydW4gdGhlIG1vZGlmaWVyXG4gIGlmIChzaGlmdHZhcmlhdGlvbikge1xuICAgIHZhciBfZGF0YSRvZmZzZXRzID0gZGF0YS5vZmZzZXRzLFxuICAgICAgICByZWZlcmVuY2UgPSBfZGF0YSRvZmZzZXRzLnJlZmVyZW5jZSxcbiAgICAgICAgcG9wcGVyID0gX2RhdGEkb2Zmc2V0cy5wb3BwZXI7XG5cbiAgICB2YXIgaXNWZXJ0aWNhbCA9IFsnYm90dG9tJywgJ3RvcCddLmluZGV4T2YoYmFzZVBsYWNlbWVudCkgIT09IC0xO1xuICAgIHZhciBzaWRlID0gaXNWZXJ0aWNhbCA/ICdsZWZ0JyA6ICd0b3AnO1xuICAgIHZhciBtZWFzdXJlbWVudCA9IGlzVmVydGljYWwgPyAnd2lkdGgnIDogJ2hlaWdodCc7XG5cbiAgICB2YXIgc2hpZnRPZmZzZXRzID0ge1xuICAgICAgc3RhcnQ6IGRlZmluZVByb3BlcnR5KHt9LCBzaWRlLCByZWZlcmVuY2Vbc2lkZV0pLFxuICAgICAgZW5kOiBkZWZpbmVQcm9wZXJ0eSh7fSwgc2lkZSwgcmVmZXJlbmNlW3NpZGVdICsgcmVmZXJlbmNlW21lYXN1cmVtZW50XSAtIHBvcHBlclttZWFzdXJlbWVudF0pXG4gICAgfTtcblxuICAgIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBfZXh0ZW5kcyh7fSwgcG9wcGVyLCBzaGlmdE9mZnNldHNbc2hpZnR2YXJpYXRpb25dKTtcbiAgfVxuXG4gIHJldHVybiBkYXRhO1xufVxuXG4vKipcbiAqIEBmdW5jdGlvblxuICogQG1lbWJlcm9mIE1vZGlmaWVyc1xuICogQGFyZ3VtZW50IHtPYmplY3R9IGRhdGEgLSBUaGUgZGF0YSBvYmplY3QgZ2VuZXJhdGVkIGJ5IHVwZGF0ZSBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtPYmplY3R9IFRoZSBkYXRhIG9iamVjdCwgcHJvcGVybHkgbW9kaWZpZWRcbiAqL1xuZnVuY3Rpb24gaGlkZShkYXRhKSB7XG4gIGlmICghaXNNb2RpZmllclJlcXVpcmVkKGRhdGEuaW5zdGFuY2UubW9kaWZpZXJzLCAnaGlkZScsICdwcmV2ZW50T3ZlcmZsb3cnKSkge1xuICAgIHJldHVybiBkYXRhO1xuICB9XG5cbiAgdmFyIHJlZlJlY3QgPSBkYXRhLm9mZnNldHMucmVmZXJlbmNlO1xuICB2YXIgYm91bmQgPSBmaW5kKGRhdGEuaW5zdGFuY2UubW9kaWZpZXJzLCBmdW5jdGlvbiAobW9kaWZpZXIpIHtcbiAgICByZXR1cm4gbW9kaWZpZXIubmFtZSA9PT0gJ3ByZXZlbnRPdmVyZmxvdyc7XG4gIH0pLmJvdW5kYXJpZXM7XG5cbiAgaWYgKHJlZlJlY3QuYm90dG9tIDwgYm91bmQudG9wIHx8IHJlZlJlY3QubGVmdCA+IGJvdW5kLnJpZ2h0IHx8IHJlZlJlY3QudG9wID4gYm91bmQuYm90dG9tIHx8IHJlZlJlY3QucmlnaHQgPCBib3VuZC5sZWZ0KSB7XG4gICAgLy8gQXZvaWQgdW5uZWNlc3NhcnkgRE9NIGFjY2VzcyBpZiB2aXNpYmlsaXR5IGhhc24ndCBjaGFuZ2VkXG4gICAgaWYgKGRhdGEuaGlkZSA9PT0gdHJ1ZSkge1xuICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfVxuXG4gICAgZGF0YS5oaWRlID0gdHJ1ZTtcbiAgICBkYXRhLmF0dHJpYnV0ZXNbJ3gtb3V0LW9mLWJvdW5kYXJpZXMnXSA9ICcnO1xuICB9IGVsc2Uge1xuICAgIC8vIEF2b2lkIHVubmVjZXNzYXJ5IERPTSBhY2Nlc3MgaWYgdmlzaWJpbGl0eSBoYXNuJ3QgY2hhbmdlZFxuICAgIGlmIChkYXRhLmhpZGUgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBkYXRhLmhpZGUgPSBmYWxzZTtcbiAgICBkYXRhLmF0dHJpYnV0ZXNbJ3gtb3V0LW9mLWJvdW5kYXJpZXMnXSA9IGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogQGZ1bmN0aW9uXG4gKiBAbWVtYmVyb2YgTW9kaWZpZXJzXG4gKiBAYXJndW1lbnQge09iamVjdH0gZGF0YSAtIFRoZSBkYXRhIG9iamVjdCBnZW5lcmF0ZWQgYnkgYHVwZGF0ZWAgbWV0aG9kXG4gKiBAYXJndW1lbnQge09iamVjdH0gb3B0aW9ucyAtIE1vZGlmaWVycyBjb25maWd1cmF0aW9uIGFuZCBvcHRpb25zXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cbmZ1bmN0aW9uIGlubmVyKGRhdGEpIHtcbiAgdmFyIHBsYWNlbWVudCA9IGRhdGEucGxhY2VtZW50O1xuICB2YXIgYmFzZVBsYWNlbWVudCA9IHBsYWNlbWVudC5zcGxpdCgnLScpWzBdO1xuICB2YXIgX2RhdGEkb2Zmc2V0cyA9IGRhdGEub2Zmc2V0cyxcbiAgICAgIHBvcHBlciA9IF9kYXRhJG9mZnNldHMucG9wcGVyLFxuICAgICAgcmVmZXJlbmNlID0gX2RhdGEkb2Zmc2V0cy5yZWZlcmVuY2U7XG5cbiAgdmFyIGlzSG9yaXogPSBbJ2xlZnQnLCAncmlnaHQnXS5pbmRleE9mKGJhc2VQbGFjZW1lbnQpICE9PSAtMTtcblxuICB2YXIgc3VidHJhY3RMZW5ndGggPSBbJ3RvcCcsICdsZWZ0J10uaW5kZXhPZihiYXNlUGxhY2VtZW50KSA9PT0gLTE7XG5cbiAgcG9wcGVyW2lzSG9yaXogPyAnbGVmdCcgOiAndG9wJ10gPSByZWZlcmVuY2VbYmFzZVBsYWNlbWVudF0gLSAoc3VidHJhY3RMZW5ndGggPyBwb3BwZXJbaXNIb3JpeiA/ICd3aWR0aCcgOiAnaGVpZ2h0J10gOiAwKTtcblxuICBkYXRhLnBsYWNlbWVudCA9IGdldE9wcG9zaXRlUGxhY2VtZW50KHBsYWNlbWVudCk7XG4gIGRhdGEub2Zmc2V0cy5wb3BwZXIgPSBnZXRDbGllbnRSZWN0KHBvcHBlcik7XG5cbiAgcmV0dXJuIGRhdGE7XG59XG5cbi8qKlxuICogTW9kaWZpZXIgZnVuY3Rpb24sIGVhY2ggbW9kaWZpZXIgY2FuIGhhdmUgYSBmdW5jdGlvbiBvZiB0aGlzIHR5cGUgYXNzaWduZWRcbiAqIHRvIGl0cyBgZm5gIHByb3BlcnR5LjxiciAvPlxuICogVGhlc2UgZnVuY3Rpb25zIHdpbGwgYmUgY2FsbGVkIG9uIGVhY2ggdXBkYXRlLCB0aGlzIG1lYW5zIHRoYXQgeW91IG11c3RcbiAqIG1ha2Ugc3VyZSB0aGV5IGFyZSBwZXJmb3JtYW50IGVub3VnaCB0byBhdm9pZCBwZXJmb3JtYW5jZSBib3R0bGVuZWNrcy5cbiAqXG4gKiBAZnVuY3Rpb24gTW9kaWZpZXJGblxuICogQGFyZ3VtZW50IHtkYXRhT2JqZWN0fSBkYXRhIC0gVGhlIGRhdGEgb2JqZWN0IGdlbmVyYXRlZCBieSBgdXBkYXRlYCBtZXRob2RcbiAqIEBhcmd1bWVudCB7T2JqZWN0fSBvcHRpb25zIC0gTW9kaWZpZXJzIGNvbmZpZ3VyYXRpb24gYW5kIG9wdGlvbnNcbiAqIEByZXR1cm5zIHtkYXRhT2JqZWN0fSBUaGUgZGF0YSBvYmplY3QsIHByb3Blcmx5IG1vZGlmaWVkXG4gKi9cblxuLyoqXG4gKiBNb2RpZmllcnMgYXJlIHBsdWdpbnMgdXNlZCB0byBhbHRlciB0aGUgYmVoYXZpb3Igb2YgeW91ciBwb3BwZXJzLjxiciAvPlxuICogUG9wcGVyLmpzIHVzZXMgYSBzZXQgb2YgOSBtb2RpZmllcnMgdG8gcHJvdmlkZSBhbGwgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdGllc1xuICogbmVlZGVkIGJ5IHRoZSBsaWJyYXJ5LlxuICpcbiAqIFVzdWFsbHkgeW91IGRvbid0IHdhbnQgdG8gb3ZlcnJpZGUgdGhlIGBvcmRlcmAsIGBmbmAgYW5kIGBvbkxvYWRgIHByb3BzLlxuICogQWxsIHRoZSBvdGhlciBwcm9wZXJ0aWVzIGFyZSBjb25maWd1cmF0aW9ucyB0aGF0IGNvdWxkIGJlIHR3ZWFrZWQuXG4gKiBAbmFtZXNwYWNlIG1vZGlmaWVyc1xuICovXG52YXIgbW9kaWZpZXJzID0ge1xuICAvKipcbiAgICogTW9kaWZpZXIgdXNlZCB0byBzaGlmdCB0aGUgcG9wcGVyIG9uIHRoZSBzdGFydCBvciBlbmQgb2YgaXRzIHJlZmVyZW5jZVxuICAgKiBlbGVtZW50LjxiciAvPlxuICAgKiBJdCB3aWxsIHJlYWQgdGhlIHZhcmlhdGlvbiBvZiB0aGUgYHBsYWNlbWVudGAgcHJvcGVydHkuPGJyIC8+XG4gICAqIEl0IGNhbiBiZSBvbmUgZWl0aGVyIGAtZW5kYCBvciBgLXN0YXJ0YC5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIHNoaWZ0OiB7XG4gICAgLyoqIEBwcm9wIHtudW1iZXJ9IG9yZGVyPTEwMCAtIEluZGV4IHVzZWQgdG8gZGVmaW5lIHRoZSBvcmRlciBvZiBleGVjdXRpb24gKi9cbiAgICBvcmRlcjogMTAwLFxuICAgIC8qKiBAcHJvcCB7Qm9vbGVhbn0gZW5hYmxlZD10cnVlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIC8qKiBAcHJvcCB7TW9kaWZpZXJGbn0gKi9cbiAgICBmbjogc2hpZnRcbiAgfSxcblxuICAvKipcbiAgICogVGhlIGBvZmZzZXRgIG1vZGlmaWVyIGNhbiBzaGlmdCB5b3VyIHBvcHBlciBvbiBib3RoIGl0cyBheGlzLlxuICAgKlxuICAgKiBJdCBhY2NlcHRzIHRoZSBmb2xsb3dpbmcgdW5pdHM6XG4gICAqIC0gYHB4YCBvciB1bml0LWxlc3MsIGludGVycHJldGVkIGFzIHBpeGVsc1xuICAgKiAtIGAlYCBvciBgJXJgLCBwZXJjZW50YWdlIHJlbGF0aXZlIHRvIHRoZSBsZW5ndGggb2YgdGhlIHJlZmVyZW5jZSBlbGVtZW50XG4gICAqIC0gYCVwYCwgcGVyY2VudGFnZSByZWxhdGl2ZSB0byB0aGUgbGVuZ3RoIG9mIHRoZSBwb3BwZXIgZWxlbWVudFxuICAgKiAtIGB2d2AsIENTUyB2aWV3cG9ydCB3aWR0aCB1bml0XG4gICAqIC0gYHZoYCwgQ1NTIHZpZXdwb3J0IGhlaWdodCB1bml0XG4gICAqXG4gICAqIEZvciBsZW5ndGggaXMgaW50ZW5kZWQgdGhlIG1haW4gYXhpcyByZWxhdGl2ZSB0byB0aGUgcGxhY2VtZW50IG9mIHRoZSBwb3BwZXIuPGJyIC8+XG4gICAqIFRoaXMgbWVhbnMgdGhhdCBpZiB0aGUgcGxhY2VtZW50IGlzIGB0b3BgIG9yIGBib3R0b21gLCB0aGUgbGVuZ3RoIHdpbGwgYmUgdGhlXG4gICAqIGB3aWR0aGAuIEluIGNhc2Ugb2YgYGxlZnRgIG9yIGByaWdodGAsIGl0IHdpbGwgYmUgdGhlIGBoZWlnaHRgLlxuICAgKlxuICAgKiBZb3UgY2FuIHByb3ZpZGUgYSBzaW5nbGUgdmFsdWUgKGFzIGBOdW1iZXJgIG9yIGBTdHJpbmdgKSwgb3IgYSBwYWlyIG9mIHZhbHVlc1xuICAgKiBhcyBgU3RyaW5nYCBkaXZpZGVkIGJ5IGEgY29tbWEgb3Igb25lIChvciBtb3JlKSB3aGl0ZSBzcGFjZXMuPGJyIC8+XG4gICAqIFRoZSBsYXR0ZXIgaXMgYSBkZXByZWNhdGVkIG1ldGhvZCBiZWNhdXNlIGl0IGxlYWRzIHRvIGNvbmZ1c2lvbiBhbmQgd2lsbCBiZVxuICAgKiByZW1vdmVkIGluIHYyLjxiciAvPlxuICAgKiBBZGRpdGlvbmFsbHksIGl0IGFjY2VwdHMgYWRkaXRpb25zIGFuZCBzdWJ0cmFjdGlvbnMgYmV0d2VlbiBkaWZmZXJlbnQgdW5pdHMuXG4gICAqIE5vdGUgdGhhdCBtdWx0aXBsaWNhdGlvbnMgYW5kIGRpdmlzaW9ucyBhcmVuJ3Qgc3VwcG9ydGVkLlxuICAgKlxuICAgKiBWYWxpZCBleGFtcGxlcyBhcmU6XG4gICAqIGBgYFxuICAgKiAxMFxuICAgKiAnMTAlJ1xuICAgKiAnMTAsIDEwJ1xuICAgKiAnMTAlLCAxMCdcbiAgICogJzEwICsgMTAlJ1xuICAgKiAnMTAgLSA1dmggKyAzJSdcbiAgICogJy0xMHB4ICsgNXZoLCA1cHggLSA2JSdcbiAgICogYGBgXG4gICAqID4gKipOQioqOiBJZiB5b3UgZGVzaXJlIHRvIGFwcGx5IG9mZnNldHMgdG8geW91ciBwb3BwZXJzIGluIGEgd2F5IHRoYXQgbWF5IG1ha2UgdGhlbSBvdmVybGFwXG4gICAqID4gd2l0aCB0aGVpciByZWZlcmVuY2UgZWxlbWVudCwgdW5mb3J0dW5hdGVseSwgeW91IHdpbGwgaGF2ZSB0byBkaXNhYmxlIHRoZSBgZmxpcGAgbW9kaWZpZXIuXG4gICAqID4gWW91IGNhbiByZWFkIG1vcmUgb24gdGhpcyBhdCB0aGlzIFtpc3N1ZV0oaHR0cHM6Ly9naXRodWIuY29tL0ZlelZyYXN0YS9wb3BwZXIuanMvaXNzdWVzLzM3MykuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBvZmZzZXQ6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9MjAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiAyMDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBvZmZzZXQsXG4gICAgLyoqIEBwcm9wIHtOdW1iZXJ8U3RyaW5nfSBvZmZzZXQ9MFxuICAgICAqIFRoZSBvZmZzZXQgdmFsdWUgYXMgZGVzY3JpYmVkIGluIHRoZSBtb2RpZmllciBkZXNjcmlwdGlvblxuICAgICAqL1xuICAgIG9mZnNldDogMFxuICB9LFxuXG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIHByZXZlbnQgdGhlIHBvcHBlciBmcm9tIGJlaW5nIHBvc2l0aW9uZWQgb3V0c2lkZSB0aGUgYm91bmRhcnkuXG4gICAqXG4gICAqIEEgc2NlbmFyaW8gZXhpc3RzIHdoZXJlIHRoZSByZWZlcmVuY2UgaXRzZWxmIGlzIG5vdCB3aXRoaW4gdGhlIGJvdW5kYXJpZXMuPGJyIC8+XG4gICAqIFdlIGNhbiBzYXkgaXQgaGFzIFwiZXNjYXBlZCB0aGUgYm91bmRhcmllc1wiIOKAlCBvciBqdXN0IFwiZXNjYXBlZFwiLjxiciAvPlxuICAgKiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCB0byBkZWNpZGUgd2hldGhlciB0aGUgcG9wcGVyIHNob3VsZCBlaXRoZXI6XG4gICAqXG4gICAqIC0gZGV0YWNoIGZyb20gdGhlIHJlZmVyZW5jZSBhbmQgcmVtYWluIFwidHJhcHBlZFwiIGluIHRoZSBib3VuZGFyaWVzLCBvclxuICAgKiAtIGlmIGl0IHNob3VsZCBpZ25vcmUgdGhlIGJvdW5kYXJ5IGFuZCBcImVzY2FwZSB3aXRoIGl0cyByZWZlcmVuY2VcIlxuICAgKlxuICAgKiBXaGVuIGBlc2NhcGVXaXRoUmVmZXJlbmNlYCBpcyBzZXQgdG9gdHJ1ZWAgYW5kIHJlZmVyZW5jZSBpcyBjb21wbGV0ZWx5XG4gICAqIG91dHNpZGUgaXRzIGJvdW5kYXJpZXMsIHRoZSBwb3BwZXIgd2lsbCBvdmVyZmxvdyAob3IgY29tcGxldGVseSBsZWF2ZSlcbiAgICogdGhlIGJvdW5kYXJpZXMgaW4gb3JkZXIgdG8gcmVtYWluIGF0dGFjaGVkIHRvIHRoZSBlZGdlIG9mIHRoZSByZWZlcmVuY2UuXG4gICAqXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBwcmV2ZW50T3ZlcmZsb3c6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9MzAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiAzMDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBwcmV2ZW50T3ZlcmZsb3csXG4gICAgLyoqXG4gICAgICogQHByb3Age0FycmF5fSBbcHJpb3JpdHk9WydsZWZ0JywncmlnaHQnLCd0b3AnLCdib3R0b20nXV1cbiAgICAgKiBQb3BwZXIgd2lsbCB0cnkgdG8gcHJldmVudCBvdmVyZmxvdyBmb2xsb3dpbmcgdGhlc2UgcHJpb3JpdGllcyBieSBkZWZhdWx0LFxuICAgICAqIHRoZW4sIGl0IGNvdWxkIG92ZXJmbG93IG9uIHRoZSBsZWZ0IGFuZCBvbiB0b3Agb2YgdGhlIGBib3VuZGFyaWVzRWxlbWVudGBcbiAgICAgKi9cbiAgICBwcmlvcml0eTogWydsZWZ0JywgJ3JpZ2h0JywgJ3RvcCcsICdib3R0b20nXSxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7bnVtYmVyfSBwYWRkaW5nPTVcbiAgICAgKiBBbW91bnQgb2YgcGl4ZWwgdXNlZCB0byBkZWZpbmUgYSBtaW5pbXVtIGRpc3RhbmNlIGJldHdlZW4gdGhlIGJvdW5kYXJpZXNcbiAgICAgKiBhbmQgdGhlIHBvcHBlci4gVGhpcyBtYWtlcyBzdXJlIHRoZSBwb3BwZXIgYWx3YXlzIGhhcyBhIGxpdHRsZSBwYWRkaW5nXG4gICAgICogYmV0d2VlbiB0aGUgZWRnZXMgb2YgaXRzIGNvbnRhaW5lclxuICAgICAqL1xuICAgIHBhZGRpbmc6IDUsXG4gICAgLyoqXG4gICAgICogQHByb3Age1N0cmluZ3xIVE1MRWxlbWVudH0gYm91bmRhcmllc0VsZW1lbnQ9J3Njcm9sbFBhcmVudCdcbiAgICAgKiBCb3VuZGFyaWVzIHVzZWQgYnkgdGhlIG1vZGlmaWVyLiBDYW4gYmUgYHNjcm9sbFBhcmVudGAsIGB3aW5kb3dgLFxuICAgICAqIGB2aWV3cG9ydGAgb3IgYW55IERPTSBlbGVtZW50LlxuICAgICAqL1xuICAgIGJvdW5kYXJpZXNFbGVtZW50OiAnc2Nyb2xsUGFyZW50J1xuICB9LFxuXG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIG1ha2Ugc3VyZSB0aGUgcmVmZXJlbmNlIGFuZCBpdHMgcG9wcGVyIHN0YXkgbmVhciBlYWNoIG90aGVyXG4gICAqIHdpdGhvdXQgbGVhdmluZyBhbnkgZ2FwIGJldHdlZW4gdGhlIHR3by4gRXNwZWNpYWxseSB1c2VmdWwgd2hlbiB0aGUgYXJyb3cgaXNcbiAgICogZW5hYmxlZCBhbmQgeW91IHdhbnQgdG8gZW5zdXJlIHRoYXQgaXQgcG9pbnRzIHRvIGl0cyByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogSXQgY2FyZXMgb25seSBhYm91dCB0aGUgZmlyc3QgYXhpcy4gWW91IGNhbiBzdGlsbCBoYXZlIHBvcHBlcnMgd2l0aCBtYXJnaW5cbiAgICogYmV0d2VlbiB0aGUgcG9wcGVyIGFuZCBpdHMgcmVmZXJlbmNlIGVsZW1lbnQuXG4gICAqIEBtZW1iZXJvZiBtb2RpZmllcnNcbiAgICogQGlubmVyXG4gICAqL1xuICBrZWVwVG9nZXRoZXI6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NDAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA0MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBrZWVwVG9nZXRoZXJcbiAgfSxcblxuICAvKipcbiAgICogVGhpcyBtb2RpZmllciBpcyB1c2VkIHRvIG1vdmUgdGhlIGBhcnJvd0VsZW1lbnRgIG9mIHRoZSBwb3BwZXIgdG8gbWFrZVxuICAgKiBzdXJlIGl0IGlzIHBvc2l0aW9uZWQgYmV0d2VlbiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQgYW5kIGl0cyBwb3BwZXIgZWxlbWVudC5cbiAgICogSXQgd2lsbCByZWFkIHRoZSBvdXRlciBzaXplIG9mIHRoZSBgYXJyb3dFbGVtZW50YCBub2RlIHRvIGRldGVjdCBob3cgbWFueVxuICAgKiBwaXhlbHMgb2YgY29uanVuY3Rpb24gYXJlIG5lZWRlZC5cbiAgICpcbiAgICogSXQgaGFzIG5vIGVmZmVjdCBpZiBubyBgYXJyb3dFbGVtZW50YCBpcyBwcm92aWRlZC5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGFycm93OiB7XG4gICAgLyoqIEBwcm9wIHtudW1iZXJ9IG9yZGVyPTUwMCAtIEluZGV4IHVzZWQgdG8gZGVmaW5lIHRoZSBvcmRlciBvZiBleGVjdXRpb24gKi9cbiAgICBvcmRlcjogNTAwLFxuICAgIC8qKiBAcHJvcCB7Qm9vbGVhbn0gZW5hYmxlZD10cnVlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIC8qKiBAcHJvcCB7TW9kaWZpZXJGbn0gKi9cbiAgICBmbjogYXJyb3csXG4gICAgLyoqIEBwcm9wIHtTdHJpbmd8SFRNTEVsZW1lbnR9IGVsZW1lbnQ9J1t4LWFycm93XScgLSBTZWxlY3RvciBvciBub2RlIHVzZWQgYXMgYXJyb3cgKi9cbiAgICBlbGVtZW50OiAnW3gtYXJyb3ddJ1xuICB9LFxuXG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIGZsaXAgdGhlIHBvcHBlcidzIHBsYWNlbWVudCB3aGVuIGl0IHN0YXJ0cyB0byBvdmVybGFwIGl0c1xuICAgKiByZWZlcmVuY2UgZWxlbWVudC5cbiAgICpcbiAgICogUmVxdWlyZXMgdGhlIGBwcmV2ZW50T3ZlcmZsb3dgIG1vZGlmaWVyIGJlZm9yZSBpdCBpbiBvcmRlciB0byB3b3JrLlxuICAgKlxuICAgKiAqKk5PVEU6KiogdGhpcyBtb2RpZmllciB3aWxsIGludGVycnVwdCB0aGUgY3VycmVudCB1cGRhdGUgY3ljbGUgYW5kIHdpbGxcbiAgICogcmVzdGFydCBpdCBpZiBpdCBkZXRlY3RzIHRoZSBuZWVkIHRvIGZsaXAgdGhlIHBsYWNlbWVudC5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGZsaXA6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9NjAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA2MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBmbGlwLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtTdHJpbmd8QXJyYXl9IGJlaGF2aW9yPSdmbGlwJ1xuICAgICAqIFRoZSBiZWhhdmlvciB1c2VkIHRvIGNoYW5nZSB0aGUgcG9wcGVyJ3MgcGxhY2VtZW50LiBJdCBjYW4gYmUgb25lIG9mXG4gICAgICogYGZsaXBgLCBgY2xvY2t3aXNlYCwgYGNvdW50ZXJjbG9ja3dpc2VgIG9yIGFuIGFycmF5IHdpdGggYSBsaXN0IG9mIHZhbGlkXG4gICAgICogcGxhY2VtZW50cyAod2l0aCBvcHRpb25hbCB2YXJpYXRpb25zKVxuICAgICAqL1xuICAgIGJlaGF2aW9yOiAnZmxpcCcsXG4gICAgLyoqXG4gICAgICogQHByb3Age251bWJlcn0gcGFkZGluZz01XG4gICAgICogVGhlIHBvcHBlciB3aWxsIGZsaXAgaWYgaXQgaGl0cyB0aGUgZWRnZXMgb2YgdGhlIGBib3VuZGFyaWVzRWxlbWVudGBcbiAgICAgKi9cbiAgICBwYWRkaW5nOiA1LFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtTdHJpbmd8SFRNTEVsZW1lbnR9IGJvdW5kYXJpZXNFbGVtZW50PSd2aWV3cG9ydCdcbiAgICAgKiBUaGUgZWxlbWVudCB3aGljaCB3aWxsIGRlZmluZSB0aGUgYm91bmRhcmllcyBvZiB0aGUgcG9wcGVyIHBvc2l0aW9uLlxuICAgICAqIFRoZSBwb3BwZXIgd2lsbCBuZXZlciBiZSBwbGFjZWQgb3V0c2lkZSBvZiB0aGUgZGVmaW5lZCBib3VuZGFyaWVzXG4gICAgICogKGV4Y2VwdCBpZiBga2VlcFRvZ2V0aGVyYCBpcyBlbmFibGVkKVxuICAgICAqL1xuICAgIGJvdW5kYXJpZXNFbGVtZW50OiAndmlld3BvcnQnLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtCb29sZWFufSBmbGlwVmFyaWF0aW9ucz1mYWxzZVxuICAgICAqIFRoZSBwb3BwZXIgd2lsbCBzd2l0Y2ggcGxhY2VtZW50IHZhcmlhdGlvbiBiZXR3ZWVuIGAtc3RhcnRgIGFuZCBgLWVuZGAgd2hlblxuICAgICAqIHRoZSByZWZlcmVuY2UgZWxlbWVudCBvdmVybGFwcyBpdHMgYm91bmRhcmllcy5cbiAgICAgKlxuICAgICAqIFRoZSBvcmlnaW5hbCBwbGFjZW1lbnQgc2hvdWxkIGhhdmUgYSBzZXQgdmFyaWF0aW9uLlxuICAgICAqL1xuICAgIGZsaXBWYXJpYXRpb25zOiBmYWxzZSxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7Qm9vbGVhbn0gZmxpcFZhcmlhdGlvbnNCeUNvbnRlbnQ9ZmFsc2VcbiAgICAgKiBUaGUgcG9wcGVyIHdpbGwgc3dpdGNoIHBsYWNlbWVudCB2YXJpYXRpb24gYmV0d2VlbiBgLXN0YXJ0YCBhbmQgYC1lbmRgIHdoZW5cbiAgICAgKiB0aGUgcG9wcGVyIGVsZW1lbnQgb3ZlcmxhcHMgaXRzIHJlZmVyZW5jZSBib3VuZGFyaWVzLlxuICAgICAqXG4gICAgICogVGhlIG9yaWdpbmFsIHBsYWNlbWVudCBzaG91bGQgaGF2ZSBhIHNldCB2YXJpYXRpb24uXG4gICAgICovXG4gICAgZmxpcFZhcmlhdGlvbnNCeUNvbnRlbnQ6IGZhbHNlXG4gIH0sXG5cbiAgLyoqXG4gICAqIE1vZGlmaWVyIHVzZWQgdG8gbWFrZSB0aGUgcG9wcGVyIGZsb3cgdG93YXJkIHRoZSBpbm5lciBvZiB0aGUgcmVmZXJlbmNlIGVsZW1lbnQuXG4gICAqIEJ5IGRlZmF1bHQsIHdoZW4gdGhpcyBtb2RpZmllciBpcyBkaXNhYmxlZCwgdGhlIHBvcHBlciB3aWxsIGJlIHBsYWNlZCBvdXRzaWRlXG4gICAqIHRoZSByZWZlcmVuY2UgZWxlbWVudC5cbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGlubmVyOiB7XG4gICAgLyoqIEBwcm9wIHtudW1iZXJ9IG9yZGVyPTcwMCAtIEluZGV4IHVzZWQgdG8gZGVmaW5lIHRoZSBvcmRlciBvZiBleGVjdXRpb24gKi9cbiAgICBvcmRlcjogNzAwLFxuICAgIC8qKiBAcHJvcCB7Qm9vbGVhbn0gZW5hYmxlZD1mYWxzZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogZmFsc2UsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBpbm5lclxuICB9LFxuXG4gIC8qKlxuICAgKiBNb2RpZmllciB1c2VkIHRvIGhpZGUgdGhlIHBvcHBlciB3aGVuIGl0cyByZWZlcmVuY2UgZWxlbWVudCBpcyBvdXRzaWRlIG9mIHRoZVxuICAgKiBwb3BwZXIgYm91bmRhcmllcy4gSXQgd2lsbCBzZXQgYSBgeC1vdXQtb2YtYm91bmRhcmllc2AgYXR0cmlidXRlIHdoaWNoIGNhblxuICAgKiBiZSB1c2VkIHRvIGhpZGUgd2l0aCBhIENTUyBzZWxlY3RvciB0aGUgcG9wcGVyIHdoZW4gaXRzIHJlZmVyZW5jZSBpc1xuICAgKiBvdXQgb2YgYm91bmRhcmllcy5cbiAgICpcbiAgICogUmVxdWlyZXMgdGhlIGBwcmV2ZW50T3ZlcmZsb3dgIG1vZGlmaWVyIGJlZm9yZSBpdCBpbiBvcmRlciB0byB3b3JrLlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgaGlkZToge1xuICAgIC8qKiBAcHJvcCB7bnVtYmVyfSBvcmRlcj04MDAgLSBJbmRleCB1c2VkIHRvIGRlZmluZSB0aGUgb3JkZXIgb2YgZXhlY3V0aW9uICovXG4gICAgb3JkZXI6IDgwMCxcbiAgICAvKiogQHByb3Age0Jvb2xlYW59IGVuYWJsZWQ9dHJ1ZSAtIFdoZXRoZXIgdGhlIG1vZGlmaWVyIGlzIGVuYWJsZWQgb3Igbm90ICovXG4gICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAvKiogQHByb3Age01vZGlmaWVyRm59ICovXG4gICAgZm46IGhpZGVcbiAgfSxcblxuICAvKipcbiAgICogQ29tcHV0ZXMgdGhlIHN0eWxlIHRoYXQgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXIgZWxlbWVudCB0byBnZXRzXG4gICAqIHByb3Blcmx5IHBvc2l0aW9uZWQuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGlzIG1vZGlmaWVyIHdpbGwgbm90IHRvdWNoIHRoZSBET00sIGl0IGp1c3QgcHJlcGFyZXMgdGhlIHN0eWxlc1xuICAgKiBzbyB0aGF0IGBhcHBseVN0eWxlYCBtb2RpZmllciBjYW4gYXBwbHkgaXQuIFRoaXMgc2VwYXJhdGlvbiBpcyB1c2VmdWxcbiAgICogaW4gY2FzZSB5b3UgbmVlZCB0byByZXBsYWNlIGBhcHBseVN0eWxlYCB3aXRoIGEgY3VzdG9tIGltcGxlbWVudGF0aW9uLlxuICAgKlxuICAgKiBUaGlzIG1vZGlmaWVyIGhhcyBgODUwYCBhcyBgb3JkZXJgIHZhbHVlIHRvIG1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICogd2l0aCBwcmV2aW91cyB2ZXJzaW9ucyBvZiBQb3BwZXIuanMuIEV4cGVjdCB0aGUgbW9kaWZpZXJzIG9yZGVyaW5nIG1ldGhvZFxuICAgKiB0byBjaGFuZ2UgaW4gZnV0dXJlIG1ham9yIHZlcnNpb25zIG9mIHRoZSBsaWJyYXJ5LlxuICAgKlxuICAgKiBAbWVtYmVyb2YgbW9kaWZpZXJzXG4gICAqIEBpbm5lclxuICAgKi9cbiAgY29tcHV0ZVN0eWxlOiB7XG4gICAgLyoqIEBwcm9wIHtudW1iZXJ9IG9yZGVyPTg1MCAtIEluZGV4IHVzZWQgdG8gZGVmaW5lIHRoZSBvcmRlciBvZiBleGVjdXRpb24gKi9cbiAgICBvcmRlcjogODUwLFxuICAgIC8qKiBAcHJvcCB7Qm9vbGVhbn0gZW5hYmxlZD10cnVlIC0gV2hldGhlciB0aGUgbW9kaWZpZXIgaXMgZW5hYmxlZCBvciBub3QgKi9cbiAgICBlbmFibGVkOiB0cnVlLFxuICAgIC8qKiBAcHJvcCB7TW9kaWZpZXJGbn0gKi9cbiAgICBmbjogY29tcHV0ZVN0eWxlLFxuICAgIC8qKlxuICAgICAqIEBwcm9wIHtCb29sZWFufSBncHVBY2NlbGVyYXRpb249dHJ1ZVxuICAgICAqIElmIHRydWUsIGl0IHVzZXMgdGhlIENTUyAzRCB0cmFuc2Zvcm1hdGlvbiB0byBwb3NpdGlvbiB0aGUgcG9wcGVyLlxuICAgICAqIE90aGVyd2lzZSwgaXQgd2lsbCB1c2UgdGhlIGB0b3BgIGFuZCBgbGVmdGAgcHJvcGVydGllc1xuICAgICAqL1xuICAgIGdwdUFjY2VsZXJhdGlvbjogdHJ1ZSxcbiAgICAvKipcbiAgICAgKiBAcHJvcCB7c3RyaW5nfSBbeD0nYm90dG9tJ11cbiAgICAgKiBXaGVyZSB0byBhbmNob3IgdGhlIFggYXhpcyAoYGJvdHRvbWAgb3IgYHRvcGApLiBBS0EgWCBvZmZzZXQgb3JpZ2luLlxuICAgICAqIENoYW5nZSB0aGlzIGlmIHlvdXIgcG9wcGVyIHNob3VsZCBncm93IGluIGEgZGlyZWN0aW9uIGRpZmZlcmVudCBmcm9tIGBib3R0b21gXG4gICAgICovXG4gICAgeDogJ2JvdHRvbScsXG4gICAgLyoqXG4gICAgICogQHByb3Age3N0cmluZ30gW3g9J2xlZnQnXVxuICAgICAqIFdoZXJlIHRvIGFuY2hvciB0aGUgWSBheGlzIChgbGVmdGAgb3IgYHJpZ2h0YCkuIEFLQSBZIG9mZnNldCBvcmlnaW4uXG4gICAgICogQ2hhbmdlIHRoaXMgaWYgeW91ciBwb3BwZXIgc2hvdWxkIGdyb3cgaW4gYSBkaXJlY3Rpb24gZGlmZmVyZW50IGZyb20gYHJpZ2h0YFxuICAgICAqL1xuICAgIHk6ICdyaWdodCdcbiAgfSxcblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgY29tcHV0ZWQgc3R5bGVzIHRvIHRoZSBwb3BwZXIgZWxlbWVudC5cbiAgICpcbiAgICogQWxsIHRoZSBET00gbWFuaXB1bGF0aW9ucyBhcmUgbGltaXRlZCB0byB0aGlzIG1vZGlmaWVyLiBUaGlzIGlzIHVzZWZ1bCBpbiBjYXNlXG4gICAqIHlvdSB3YW50IHRvIGludGVncmF0ZSBQb3BwZXIuanMgaW5zaWRlIGEgZnJhbWV3b3JrIG9yIHZpZXcgbGlicmFyeSBhbmQgeW91XG4gICAqIHdhbnQgdG8gZGVsZWdhdGUgYWxsIHRoZSBET00gbWFuaXB1bGF0aW9ucyB0byBpdC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGlmIHlvdSBkaXNhYmxlIHRoaXMgbW9kaWZpZXIsIHlvdSBtdXN0IG1ha2Ugc3VyZSB0aGUgcG9wcGVyIGVsZW1lbnRcbiAgICogaGFzIGl0cyBwb3NpdGlvbiBzZXQgdG8gYGFic29sdXRlYCBiZWZvcmUgUG9wcGVyLmpzIGNhbiBkbyBpdHMgd29yayFcbiAgICpcbiAgICogSnVzdCBkaXNhYmxlIHRoaXMgbW9kaWZpZXIgYW5kIGRlZmluZSB5b3VyIG93biB0byBhY2hpZXZlIHRoZSBkZXNpcmVkIGVmZmVjdC5cbiAgICpcbiAgICogQG1lbWJlcm9mIG1vZGlmaWVyc1xuICAgKiBAaW5uZXJcbiAgICovXG4gIGFwcGx5U3R5bGU6IHtcbiAgICAvKiogQHByb3Age251bWJlcn0gb3JkZXI9OTAwIC0gSW5kZXggdXNlZCB0byBkZWZpbmUgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiAqL1xuICAgIG9yZGVyOiA5MDAsXG4gICAgLyoqIEBwcm9wIHtCb29sZWFufSBlbmFibGVkPXRydWUgLSBXaGV0aGVyIHRoZSBtb2RpZmllciBpcyBlbmFibGVkIG9yIG5vdCAqL1xuICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgLyoqIEBwcm9wIHtNb2RpZmllckZufSAqL1xuICAgIGZuOiBhcHBseVN0eWxlLFxuICAgIC8qKiBAcHJvcCB7RnVuY3Rpb259ICovXG4gICAgb25Mb2FkOiBhcHBseVN0eWxlT25Mb2FkLFxuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMS4xMC4wLCB0aGUgcHJvcGVydHkgbW92ZWQgdG8gYGNvbXB1dGVTdHlsZWAgbW9kaWZpZXJcbiAgICAgKiBAcHJvcCB7Qm9vbGVhbn0gZ3B1QWNjZWxlcmF0aW9uPXRydWVcbiAgICAgKiBJZiB0cnVlLCBpdCB1c2VzIHRoZSBDU1MgM0QgdHJhbnNmb3JtYXRpb24gdG8gcG9zaXRpb24gdGhlIHBvcHBlci5cbiAgICAgKiBPdGhlcndpc2UsIGl0IHdpbGwgdXNlIHRoZSBgdG9wYCBhbmQgYGxlZnRgIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBncHVBY2NlbGVyYXRpb246IHVuZGVmaW5lZFxuICB9XG59O1xuXG4vKipcbiAqIFRoZSBgZGF0YU9iamVjdGAgaXMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgYWxsIHRoZSBpbmZvcm1hdGlvbiB1c2VkIGJ5IFBvcHBlci5qcy5cbiAqIFRoaXMgb2JqZWN0IGlzIHBhc3NlZCB0byBtb2RpZmllcnMgYW5kIHRvIHRoZSBgb25DcmVhdGVgIGFuZCBgb25VcGRhdGVgIGNhbGxiYWNrcy5cbiAqIEBuYW1lIGRhdGFPYmplY3RcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLmluc3RhbmNlIFRoZSBQb3BwZXIuanMgaW5zdGFuY2VcbiAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBkYXRhLnBsYWNlbWVudCBQbGFjZW1lbnQgYXBwbGllZCB0byBwb3BwZXJcbiAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBkYXRhLm9yaWdpbmFsUGxhY2VtZW50IFBsYWNlbWVudCBvcmlnaW5hbGx5IGRlZmluZWQgb24gaW5pdFxuICogQHByb3BlcnR5IHtCb29sZWFufSBkYXRhLmZsaXBwZWQgVHJ1ZSBpZiBwb3BwZXIgaGFzIGJlZW4gZmxpcHBlZCBieSBmbGlwIG1vZGlmaWVyXG4gKiBAcHJvcGVydHkge0Jvb2xlYW59IGRhdGEuaGlkZSBUcnVlIGlmIHRoZSByZWZlcmVuY2UgZWxlbWVudCBpcyBvdXQgb2YgYm91bmRhcmllcywgdXNlZnVsIHRvIGtub3cgd2hlbiB0byBoaWRlIHRoZSBwb3BwZXJcbiAqIEBwcm9wZXJ0eSB7SFRNTEVsZW1lbnR9IGRhdGEuYXJyb3dFbGVtZW50IE5vZGUgdXNlZCBhcyBhcnJvdyBieSBhcnJvdyBtb2RpZmllclxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuc3R5bGVzIEFueSBDU1MgcHJvcGVydHkgZGVmaW5lZCBoZXJlIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgcG9wcGVyLiBJdCBleHBlY3RzIHRoZSBKYXZhU2NyaXB0IG5vbWVuY2xhdHVyZSAoZWcuIGBtYXJnaW5Cb3R0b21gKVxuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEuYXJyb3dTdHlsZXMgQW55IENTUyBwcm9wZXJ0eSBkZWZpbmVkIGhlcmUgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBwb3BwZXIgYXJyb3cuIEl0IGV4cGVjdHMgdGhlIEphdmFTY3JpcHQgbm9tZW5jbGF0dXJlIChlZy4gYG1hcmdpbkJvdHRvbWApXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5ib3VuZGFyaWVzIE9mZnNldHMgb2YgdGhlIHBvcHBlciBib3VuZGFyaWVzXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5vZmZzZXRzIFRoZSBtZWFzdXJlbWVudHMgb2YgcG9wcGVyLCByZWZlcmVuY2UgYW5kIGFycm93IGVsZW1lbnRzXG4gKiBAcHJvcGVydHkge09iamVjdH0gZGF0YS5vZmZzZXRzLnBvcHBlciBgdG9wYCwgYGxlZnRgLCBgd2lkdGhgLCBgaGVpZ2h0YCB2YWx1ZXNcbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBkYXRhLm9mZnNldHMucmVmZXJlbmNlIGB0b3BgLCBgbGVmdGAsIGB3aWR0aGAsIGBoZWlnaHRgIHZhbHVlc1xuICogQHByb3BlcnR5IHtPYmplY3R9IGRhdGEub2Zmc2V0cy5hcnJvd10gYHRvcGAgYW5kIGBsZWZ0YCBvZmZzZXRzLCBvbmx5IG9uZSBvZiB0aGVtIHdpbGwgYmUgZGlmZmVyZW50IGZyb20gMFxuICovXG5cbi8qKlxuICogRGVmYXVsdCBvcHRpb25zIHByb3ZpZGVkIHRvIFBvcHBlci5qcyBjb25zdHJ1Y3Rvci48YnIgLz5cbiAqIFRoZXNlIGNhbiBiZSBvdmVycmlkZGVuIHVzaW5nIHRoZSBgb3B0aW9uc2AgYXJndW1lbnQgb2YgUG9wcGVyLmpzLjxiciAvPlxuICogVG8gb3ZlcnJpZGUgYW4gb3B0aW9uLCBzaW1wbHkgcGFzcyBhbiBvYmplY3Qgd2l0aCB0aGUgc2FtZVxuICogc3RydWN0dXJlIG9mIHRoZSBgb3B0aW9uc2Agb2JqZWN0LCBhcyB0aGUgM3JkIGFyZ3VtZW50LiBGb3IgZXhhbXBsZTpcbiAqIGBgYFxuICogbmV3IFBvcHBlcihyZWYsIHBvcCwge1xuICogICBtb2RpZmllcnM6IHtcbiAqICAgICBwcmV2ZW50T3ZlcmZsb3c6IHsgZW5hYmxlZDogZmFsc2UgfVxuICogICB9XG4gKiB9KVxuICogYGBgXG4gKiBAdHlwZSB7T2JqZWN0fVxuICogQHN0YXRpY1xuICogQG1lbWJlcm9mIFBvcHBlclxuICovXG52YXIgRGVmYXVsdHMgPSB7XG4gIC8qKlxuICAgKiBQb3BwZXIncyBwbGFjZW1lbnQuXG4gICAqIEBwcm9wIHtQb3BwZXIucGxhY2VtZW50c30gcGxhY2VtZW50PSdib3R0b20nXG4gICAqL1xuICBwbGFjZW1lbnQ6ICdib3R0b20nLFxuXG4gIC8qKlxuICAgKiBTZXQgdGhpcyB0byB0cnVlIGlmIHlvdSB3YW50IHBvcHBlciB0byBwb3NpdGlvbiBpdCBzZWxmIGluICdmaXhlZCcgbW9kZVxuICAgKiBAcHJvcCB7Qm9vbGVhbn0gcG9zaXRpb25GaXhlZD1mYWxzZVxuICAgKi9cbiAgcG9zaXRpb25GaXhlZDogZmFsc2UsXG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgZXZlbnRzIChyZXNpemUsIHNjcm9sbCkgYXJlIGluaXRpYWxseSBlbmFibGVkLlxuICAgKiBAcHJvcCB7Qm9vbGVhbn0gZXZlbnRzRW5hYmxlZD10cnVlXG4gICAqL1xuICBldmVudHNFbmFibGVkOiB0cnVlLFxuXG4gIC8qKlxuICAgKiBTZXQgdG8gdHJ1ZSBpZiB5b3Ugd2FudCB0byBhdXRvbWF0aWNhbGx5IHJlbW92ZSB0aGUgcG9wcGVyIHdoZW5cbiAgICogeW91IGNhbGwgdGhlIGBkZXN0cm95YCBtZXRob2QuXG4gICAqIEBwcm9wIHtCb29sZWFufSByZW1vdmVPbkRlc3Ryb3k9ZmFsc2VcbiAgICovXG4gIHJlbW92ZU9uRGVzdHJveTogZmFsc2UsXG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGNhbGxlZCB3aGVuIHRoZSBwb3BwZXIgaXMgY3JlYXRlZC48YnIgLz5cbiAgICogQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIG5vLW9wLjxiciAvPlxuICAgKiBBY2Nlc3MgUG9wcGVyLmpzIGluc3RhbmNlIHdpdGggYGRhdGEuaW5zdGFuY2VgLlxuICAgKiBAcHJvcCB7b25DcmVhdGV9XG4gICAqL1xuICBvbkNyZWF0ZTogZnVuY3Rpb24gb25DcmVhdGUoKSB7fSxcblxuICAvKipcbiAgICogQ2FsbGJhY2sgY2FsbGVkIHdoZW4gdGhlIHBvcHBlciBpcyB1cGRhdGVkLiBUaGlzIGNhbGxiYWNrIGlzIG5vdCBjYWxsZWRcbiAgICogb24gdGhlIGluaXRpYWxpemF0aW9uL2NyZWF0aW9uIG9mIHRoZSBwb3BwZXIsIGJ1dCBvbmx5IG9uIHN1YnNlcXVlbnRcbiAgICogdXBkYXRlcy48YnIgLz5cbiAgICogQnkgZGVmYXVsdCwgaXQgaXMgc2V0IHRvIG5vLW9wLjxiciAvPlxuICAgKiBBY2Nlc3MgUG9wcGVyLmpzIGluc3RhbmNlIHdpdGggYGRhdGEuaW5zdGFuY2VgLlxuICAgKiBAcHJvcCB7b25VcGRhdGV9XG4gICAqL1xuICBvblVwZGF0ZTogZnVuY3Rpb24gb25VcGRhdGUoKSB7fSxcblxuICAvKipcbiAgICogTGlzdCBvZiBtb2RpZmllcnMgdXNlZCB0byBtb2RpZnkgdGhlIG9mZnNldHMgYmVmb3JlIHRoZXkgYXJlIGFwcGxpZWQgdG8gdGhlIHBvcHBlci5cbiAgICogVGhleSBwcm92aWRlIG1vc3Qgb2YgdGhlIGZ1bmN0aW9uYWxpdGllcyBvZiBQb3BwZXIuanMuXG4gICAqIEBwcm9wIHttb2RpZmllcnN9XG4gICAqL1xuICBtb2RpZmllcnM6IG1vZGlmaWVyc1xufTtcblxuLyoqXG4gKiBAY2FsbGJhY2sgb25DcmVhdGVcbiAqIEBwYXJhbSB7ZGF0YU9iamVjdH0gZGF0YVxuICovXG5cbi8qKlxuICogQGNhbGxiYWNrIG9uVXBkYXRlXG4gKiBAcGFyYW0ge2RhdGFPYmplY3R9IGRhdGFcbiAqL1xuXG4vLyBVdGlsc1xuLy8gTWV0aG9kc1xudmFyIFBvcHBlciA9IGZ1bmN0aW9uICgpIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgUG9wcGVyLmpzIGluc3RhbmNlLlxuICAgKiBAY2xhc3MgUG9wcGVyXG4gICAqIEBwYXJhbSB7RWxlbWVudHxyZWZlcmVuY2VPYmplY3R9IHJlZmVyZW5jZSAtIFRoZSByZWZlcmVuY2UgZWxlbWVudCB1c2VkIHRvIHBvc2l0aW9uIHRoZSBwb3BwZXJcbiAgICogQHBhcmFtIHtFbGVtZW50fSBwb3BwZXIgLSBUaGUgSFRNTCAvIFhNTCBlbGVtZW50IHVzZWQgYXMgdGhlIHBvcHBlclxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIFlvdXIgY3VzdG9tIG9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhlIG9uZXMgZGVmaW5lZCBpbiBbRGVmYXVsdHNdKCNkZWZhdWx0cylcbiAgICogQHJldHVybiB7T2JqZWN0fSBpbnN0YW5jZSAtIFRoZSBnZW5lcmF0ZWQgUG9wcGVyLmpzIGluc3RhbmNlXG4gICAqL1xuICBmdW5jdGlvbiBQb3BwZXIocmVmZXJlbmNlLCBwb3BwZXIpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICAgIGNsYXNzQ2FsbENoZWNrKHRoaXMsIFBvcHBlcik7XG5cbiAgICB0aGlzLnNjaGVkdWxlVXBkYXRlID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHJlcXVlc3RBbmltYXRpb25GcmFtZShfdGhpcy51cGRhdGUpO1xuICAgIH07XG5cbiAgICAvLyBtYWtlIHVwZGF0ZSgpIGRlYm91bmNlZCwgc28gdGhhdCBpdCBvbmx5IHJ1bnMgYXQgbW9zdCBvbmNlLXBlci10aWNrXG4gICAgdGhpcy51cGRhdGUgPSBkZWJvdW5jZSh0aGlzLnVwZGF0ZS5iaW5kKHRoaXMpKTtcblxuICAgIC8vIHdpdGgge30gd2UgY3JlYXRlIGEgbmV3IG9iamVjdCB3aXRoIHRoZSBvcHRpb25zIGluc2lkZSBpdFxuICAgIHRoaXMub3B0aW9ucyA9IF9leHRlbmRzKHt9LCBQb3BwZXIuRGVmYXVsdHMsIG9wdGlvbnMpO1xuXG4gICAgLy8gaW5pdCBzdGF0ZVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBpc0Rlc3Ryb3llZDogZmFsc2UsXG4gICAgICBpc0NyZWF0ZWQ6IGZhbHNlLFxuICAgICAgc2Nyb2xsUGFyZW50czogW11cbiAgICB9O1xuXG4gICAgLy8gZ2V0IHJlZmVyZW5jZSBhbmQgcG9wcGVyIGVsZW1lbnRzIChhbGxvdyBqUXVlcnkgd3JhcHBlcnMpXG4gICAgdGhpcy5yZWZlcmVuY2UgPSByZWZlcmVuY2UgJiYgcmVmZXJlbmNlLmpxdWVyeSA/IHJlZmVyZW5jZVswXSA6IHJlZmVyZW5jZTtcbiAgICB0aGlzLnBvcHBlciA9IHBvcHBlciAmJiBwb3BwZXIuanF1ZXJ5ID8gcG9wcGVyWzBdIDogcG9wcGVyO1xuXG4gICAgLy8gRGVlcCBtZXJnZSBtb2RpZmllcnMgb3B0aW9uc1xuICAgIHRoaXMub3B0aW9ucy5tb2RpZmllcnMgPSB7fTtcbiAgICBPYmplY3Qua2V5cyhfZXh0ZW5kcyh7fSwgUG9wcGVyLkRlZmF1bHRzLm1vZGlmaWVycywgb3B0aW9ucy5tb2RpZmllcnMpKS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICBfdGhpcy5vcHRpb25zLm1vZGlmaWVyc1tuYW1lXSA9IF9leHRlbmRzKHt9LCBQb3BwZXIuRGVmYXVsdHMubW9kaWZpZXJzW25hbWVdIHx8IHt9LCBvcHRpb25zLm1vZGlmaWVycyA/IG9wdGlvbnMubW9kaWZpZXJzW25hbWVdIDoge30pO1xuICAgIH0pO1xuXG4gICAgLy8gUmVmYWN0b3JpbmcgbW9kaWZpZXJzJyBsaXN0IChPYmplY3QgPT4gQXJyYXkpXG4gICAgdGhpcy5tb2RpZmllcnMgPSBPYmplY3Qua2V5cyh0aGlzLm9wdGlvbnMubW9kaWZpZXJzKS5tYXAoZnVuY3Rpb24gKG5hbWUpIHtcbiAgICAgIHJldHVybiBfZXh0ZW5kcyh7XG4gICAgICAgIG5hbWU6IG5hbWVcbiAgICAgIH0sIF90aGlzLm9wdGlvbnMubW9kaWZpZXJzW25hbWVdKTtcbiAgICB9KVxuICAgIC8vIHNvcnQgdGhlIG1vZGlmaWVycyBieSBvcmRlclxuICAgIC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7XG4gICAgICByZXR1cm4gYS5vcmRlciAtIGIub3JkZXI7XG4gICAgfSk7XG5cbiAgICAvLyBtb2RpZmllcnMgaGF2ZSB0aGUgYWJpbGl0eSB0byBleGVjdXRlIGFyYml0cmFyeSBjb2RlIHdoZW4gUG9wcGVyLmpzIGdldCBpbml0ZWRcbiAgICAvLyBzdWNoIGNvZGUgaXMgZXhlY3V0ZWQgaW4gdGhlIHNhbWUgb3JkZXIgb2YgaXRzIG1vZGlmaWVyXG4gICAgLy8gdGhleSBjb3VsZCBhZGQgbmV3IHByb3BlcnRpZXMgdG8gdGhlaXIgb3B0aW9ucyBjb25maWd1cmF0aW9uXG4gICAgLy8gQkUgQVdBUkU6IGRvbid0IGFkZCBvcHRpb25zIHRvIGBvcHRpb25zLm1vZGlmaWVycy5uYW1lYCBidXQgdG8gYG1vZGlmaWVyT3B0aW9uc2AhXG4gICAgdGhpcy5tb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbiAobW9kaWZpZXJPcHRpb25zKSB7XG4gICAgICBpZiAobW9kaWZpZXJPcHRpb25zLmVuYWJsZWQgJiYgaXNGdW5jdGlvbihtb2RpZmllck9wdGlvbnMub25Mb2FkKSkge1xuICAgICAgICBtb2RpZmllck9wdGlvbnMub25Mb2FkKF90aGlzLnJlZmVyZW5jZSwgX3RoaXMucG9wcGVyLCBfdGhpcy5vcHRpb25zLCBtb2RpZmllck9wdGlvbnMsIF90aGlzLnN0YXRlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIGZpcmUgdGhlIGZpcnN0IHVwZGF0ZSB0byBwb3NpdGlvbiB0aGUgcG9wcGVyIGluIHRoZSByaWdodCBwbGFjZVxuICAgIHRoaXMudXBkYXRlKCk7XG5cbiAgICB2YXIgZXZlbnRzRW5hYmxlZCA9IHRoaXMub3B0aW9ucy5ldmVudHNFbmFibGVkO1xuICAgIGlmIChldmVudHNFbmFibGVkKSB7XG4gICAgICAvLyBzZXR1cCBldmVudCBsaXN0ZW5lcnMsIHRoZXkgd2lsbCB0YWtlIGNhcmUgb2YgdXBkYXRlIHRoZSBwb3NpdGlvbiBpbiBzcGVjaWZpYyBzaXR1YXRpb25zXG4gICAgICB0aGlzLmVuYWJsZUV2ZW50TGlzdGVuZXJzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5ldmVudHNFbmFibGVkID0gZXZlbnRzRW5hYmxlZDtcbiAgfVxuXG4gIC8vIFdlIGNhbid0IHVzZSBjbGFzcyBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkb24ndCBnZXQgbGlzdGVkIGluIHRoZVxuICAvLyBjbGFzcyBwcm90b3R5cGUgYW5kIGJyZWFrIHN0dWZmIGxpa2UgU2lub24gc3R1YnNcblxuXG4gIGNyZWF0ZUNsYXNzKFBvcHBlciwgW3tcbiAgICBrZXk6ICd1cGRhdGUnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB1cGRhdGUkJDEoKSB7XG4gICAgICByZXR1cm4gdXBkYXRlLmNhbGwodGhpcyk7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiAnZGVzdHJveScsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGRlc3Ryb3kkJDEoKSB7XG4gICAgICByZXR1cm4gZGVzdHJveS5jYWxsKHRoaXMpO1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogJ2VuYWJsZUV2ZW50TGlzdGVuZXJzJyxcbiAgICB2YWx1ZTogZnVuY3Rpb24gZW5hYmxlRXZlbnRMaXN0ZW5lcnMkJDEoKSB7XG4gICAgICByZXR1cm4gZW5hYmxlRXZlbnRMaXN0ZW5lcnMuY2FsbCh0aGlzKTtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6ICdkaXNhYmxlRXZlbnRMaXN0ZW5lcnMnLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBkaXNhYmxlRXZlbnRMaXN0ZW5lcnMkJDEoKSB7XG4gICAgICByZXR1cm4gZGlzYWJsZUV2ZW50TGlzdGVuZXJzLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2NoZWR1bGVzIGFuIHVwZGF0ZS4gSXQgd2lsbCBydW4gb24gdGhlIG5leHQgVUkgdXBkYXRlIGF2YWlsYWJsZS5cbiAgICAgKiBAbWV0aG9kIHNjaGVkdWxlVXBkYXRlXG4gICAgICogQG1lbWJlcm9mIFBvcHBlclxuICAgICAqL1xuXG5cbiAgICAvKipcbiAgICAgKiBDb2xsZWN0aW9uIG9mIHV0aWxpdGllcyB1c2VmdWwgd2hlbiB3cml0aW5nIGN1c3RvbSBtb2RpZmllcnMuXG4gICAgICogU3RhcnRpbmcgZnJvbSB2ZXJzaW9uIDEuNywgdGhpcyBtZXRob2QgaXMgYXZhaWxhYmxlIG9ubHkgaWYgeW91XG4gICAgICogaW5jbHVkZSBgcG9wcGVyLXV0aWxzLmpzYCBiZWZvcmUgYHBvcHBlci5qc2AuXG4gICAgICpcbiAgICAgKiAqKkRFUFJFQ0FUSU9OKio6IFRoaXMgd2F5IHRvIGFjY2VzcyBQb3BwZXJVdGlscyBpcyBkZXByZWNhdGVkXG4gICAgICogYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB2MiEgVXNlIHRoZSBQb3BwZXJVdGlscyBtb2R1bGUgZGlyZWN0bHkgaW5zdGVhZC5cbiAgICAgKiBEdWUgdG8gdGhlIGhpZ2ggaW5zdGFiaWxpdHkgb2YgdGhlIG1ldGhvZHMgY29udGFpbmVkIGluIFV0aWxzLCB3ZSBjYW4ndFxuICAgICAqIGd1YXJhbnRlZSB0aGVtIHRvIGZvbGxvdyBzZW12ZXIuIFVzZSB0aGVtIGF0IHlvdXIgb3duIHJpc2shXG4gICAgICogQHN0YXRpY1xuICAgICAqIEBwcml2YXRlXG4gICAgICogQHR5cGUge09iamVjdH1cbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDEuOFxuICAgICAqIEBtZW1iZXIgVXRpbHNcbiAgICAgKiBAbWVtYmVyb2YgUG9wcGVyXG4gICAgICovXG5cbiAgfV0pO1xuICByZXR1cm4gUG9wcGVyO1xufSgpO1xuXG4vKipcbiAqIFRoZSBgcmVmZXJlbmNlT2JqZWN0YCBpcyBhbiBvYmplY3QgdGhhdCBwcm92aWRlcyBhbiBpbnRlcmZhY2UgY29tcGF0aWJsZSB3aXRoIFBvcHBlci5qc1xuICogYW5kIGxldHMgeW91IHVzZSBpdCBhcyByZXBsYWNlbWVudCBvZiBhIHJlYWwgRE9NIG5vZGUuPGJyIC8+XG4gKiBZb3UgY2FuIHVzZSB0aGlzIG1ldGhvZCB0byBwb3NpdGlvbiBhIHBvcHBlciByZWxhdGl2ZWx5IHRvIGEgc2V0IG9mIGNvb3JkaW5hdGVzXG4gKiBpbiBjYXNlIHlvdSBkb24ndCBoYXZlIGEgRE9NIG5vZGUgdG8gdXNlIGFzIHJlZmVyZW5jZS5cbiAqXG4gKiBgYGBcbiAqIG5ldyBQb3BwZXIocmVmZXJlbmNlT2JqZWN0LCBwb3BwZXJOb2RlKTtcbiAqIGBgYFxuICpcbiAqIE5COiBUaGlzIGZlYXR1cmUgaXNuJ3Qgc3VwcG9ydGVkIGluIEludGVybmV0IEV4cGxvcmVyIDEwLlxuICogQG5hbWUgcmVmZXJlbmNlT2JqZWN0XG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSBkYXRhLmdldEJvdW5kaW5nQ2xpZW50UmVjdFxuICogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBzZXQgb2YgY29vcmRpbmF0ZXMgY29tcGF0aWJsZSB3aXRoIHRoZSBuYXRpdmUgYGdldEJvdW5kaW5nQ2xpZW50UmVjdGAgbWV0aG9kLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGRhdGEuY2xpZW50V2lkdGhcbiAqIEFuIEVTNiBnZXR0ZXIgdGhhdCB3aWxsIHJldHVybiB0aGUgd2lkdGggb2YgdGhlIHZpcnR1YWwgcmVmZXJlbmNlIGVsZW1lbnQuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGF0YS5jbGllbnRIZWlnaHRcbiAqIEFuIEVTNiBnZXR0ZXIgdGhhdCB3aWxsIHJldHVybiB0aGUgaGVpZ2h0IG9mIHRoZSB2aXJ0dWFsIHJlZmVyZW5jZSBlbGVtZW50LlxuICovXG5cblxuUG9wcGVyLlV0aWxzID0gKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93IDogZ2xvYmFsKS5Qb3BwZXJVdGlscztcblBvcHBlci5wbGFjZW1lbnRzID0gcGxhY2VtZW50cztcblBvcHBlci5EZWZhdWx0cyA9IERlZmF1bHRzO1xuXG5leHBvcnQgZGVmYXVsdCBQb3BwZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wb3BwZXIuanMubWFwXG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/popper.js/dist/esm/popper.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/process/browser.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/process/browser.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// shim for using process in browser\\nvar process = module.exports = {};\\n\\n// cached from whatever global is present so that test runners that stub it\\n// don't break things.  But we need to wrap it in a try catch in case it is\\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\\n// function because try/catches deoptimize in certain engines.\\n\\nvar cachedSetTimeout;\\nvar cachedClearTimeout;\\n\\nfunction defaultSetTimout() {\\n    throw new Error('setTimeout has not been defined');\\n}\\nfunction defaultClearTimeout () {\\n    throw new Error('clearTimeout has not been defined');\\n}\\n(function () {\\n    try {\\n        if (typeof setTimeout === 'function') {\\n            cachedSetTimeout = setTimeout;\\n        } else {\\n            cachedSetTimeout = defaultSetTimout;\\n        }\\n    } catch (e) {\\n        cachedSetTimeout = defaultSetTimout;\\n    }\\n    try {\\n        if (typeof clearTimeout === 'function') {\\n            cachedClearTimeout = clearTimeout;\\n        } else {\\n            cachedClearTimeout = defaultClearTimeout;\\n        }\\n    } catch (e) {\\n        cachedClearTimeout = defaultClearTimeout;\\n    }\\n} ())\\nfunction runTimeout(fun) {\\n    if (cachedSetTimeout === setTimeout) {\\n        //normal enviroments in sane situations\\n        return setTimeout(fun, 0);\\n    }\\n    // if setTimeout wasn't available but was latter defined\\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\\n        cachedSetTimeout = setTimeout;\\n        return setTimeout(fun, 0);\\n    }\\n    try {\\n        // when when somebody has screwed with setTimeout but no I.E. maddness\\n        return cachedSetTimeout(fun, 0);\\n    } catch(e){\\n        try {\\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\\n            return cachedSetTimeout.call(null, fun, 0);\\n        } catch(e){\\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\\n            return cachedSetTimeout.call(this, fun, 0);\\n        }\\n    }\\n\\n\\n}\\nfunction runClearTimeout(marker) {\\n    if (cachedClearTimeout === clearTimeout) {\\n        //normal enviroments in sane situations\\n        return clearTimeout(marker);\\n    }\\n    // if clearTimeout wasn't available but was latter defined\\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\\n        cachedClearTimeout = clearTimeout;\\n        return clearTimeout(marker);\\n    }\\n    try {\\n        // when when somebody has screwed with setTimeout but no I.E. maddness\\n        return cachedClearTimeout(marker);\\n    } catch (e){\\n        try {\\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\\n            return cachedClearTimeout.call(null, marker);\\n        } catch (e){\\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\\n            return cachedClearTimeout.call(this, marker);\\n        }\\n    }\\n\\n\\n\\n}\\nvar queue = [];\\nvar draining = false;\\nvar currentQueue;\\nvar queueIndex = -1;\\n\\nfunction cleanUpNextTick() {\\n    if (!draining || !currentQueue) {\\n        return;\\n    }\\n    draining = false;\\n    if (currentQueue.length) {\\n        queue = currentQueue.concat(queue);\\n    } else {\\n        queueIndex = -1;\\n    }\\n    if (queue.length) {\\n        drainQueue();\\n    }\\n}\\n\\nfunction drainQueue() {\\n    if (draining) {\\n        return;\\n    }\\n    var timeout = runTimeout(cleanUpNextTick);\\n    draining = true;\\n\\n    var len = queue.length;\\n    while(len) {\\n        currentQueue = queue;\\n        queue = [];\\n        while (++queueIndex < len) {\\n            if (currentQueue) {\\n                currentQueue[queueIndex].run();\\n            }\\n        }\\n        queueIndex = -1;\\n        len = queue.length;\\n    }\\n    currentQueue = null;\\n    draining = false;\\n    runClearTimeout(timeout);\\n}\\n\\nprocess.nextTick = function (fun) {\\n    var args = new Array(arguments.length - 1);\\n    if (arguments.length > 1) {\\n        for (var i = 1; i < arguments.length; i++) {\\n            args[i - 1] = arguments[i];\\n        }\\n    }\\n    queue.push(new Item(fun, args));\\n    if (queue.length === 1 && !draining) {\\n        runTimeout(drainQueue);\\n    }\\n};\\n\\n// v8 likes predictible objects\\nfunction Item(fun, array) {\\n    this.fun = fun;\\n    this.array = array;\\n}\\nItem.prototype.run = function () {\\n    this.fun.apply(null, this.array);\\n};\\nprocess.title = 'browser';\\nprocess.browser = true;\\nprocess.env = {};\\nprocess.argv = [];\\nprocess.version = ''; // empty string to avoid regexp issues\\nprocess.versions = {};\\n\\nfunction noop() {}\\n\\nprocess.on = noop;\\nprocess.addListener = noop;\\nprocess.once = noop;\\nprocess.off = noop;\\nprocess.removeListener = noop;\\nprocess.removeAllListeners = noop;\\nprocess.emit = noop;\\nprocess.prependListener = noop;\\nprocess.prependOnceListener = noop;\\n\\nprocess.listeners = function (name) { return [] }\\n\\nprocess.binding = function (name) {\\n    throw new Error('process.binding is not supported');\\n};\\n\\nprocess.cwd = function () { return '/' };\\nprocess.chdir = function (dir) {\\n    throw new Error('process.chdir is not supported');\\n};\\nprocess.umask = function() { return 0; };\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvY2Vzcy9icm93c2VyLmpzP2YyOGMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7O0FBSUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFDQUFxQzs7QUFFckM7QUFDQTtBQUNBOztBQUVBLDJCQUEyQjtBQUMzQjtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsVUFBVSIsImZpbGUiOiIuL25vZGVfbW9kdWxlcy9wcm9jZXNzL2Jyb3dzZXIuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBzaGltIGZvciB1c2luZyBwcm9jZXNzIGluIGJyb3dzZXJcbnZhciBwcm9jZXNzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcblxuLy8gY2FjaGVkIGZyb20gd2hhdGV2ZXIgZ2xvYmFsIGlzIHByZXNlbnQgc28gdGhhdCB0ZXN0IHJ1bm5lcnMgdGhhdCBzdHViIGl0XG4vLyBkb24ndCBicmVhayB0aGluZ3MuICBCdXQgd2UgbmVlZCB0byB3cmFwIGl0IGluIGEgdHJ5IGNhdGNoIGluIGNhc2UgaXQgaXNcbi8vIHdyYXBwZWQgaW4gc3RyaWN0IG1vZGUgY29kZSB3aGljaCBkb2Vzbid0IGRlZmluZSBhbnkgZ2xvYmFscy4gIEl0J3MgaW5zaWRlIGFcbi8vIGZ1bmN0aW9uIGJlY2F1c2UgdHJ5L2NhdGNoZXMgZGVvcHRpbWl6ZSBpbiBjZXJ0YWluIGVuZ2luZXMuXG5cbnZhciBjYWNoZWRTZXRUaW1lb3V0O1xudmFyIGNhY2hlZENsZWFyVGltZW91dDtcblxuZnVuY3Rpb24gZGVmYXVsdFNldFRpbW91dCgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3NldFRpbWVvdXQgaGFzIG5vdCBiZWVuIGRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGRlZmF1bHRDbGVhclRpbWVvdXQgKCkge1xuICAgIHRocm93IG5ldyBFcnJvcignY2xlYXJUaW1lb3V0IGhhcyBub3QgYmVlbiBkZWZpbmVkJyk7XG59XG4oZnVuY3Rpb24gKCkge1xuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IHNldFRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gZGVmYXVsdFNldFRpbW91dDtcbiAgICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY2FjaGVkU2V0VGltZW91dCA9IGRlZmF1bHRTZXRUaW1vdXQ7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGlmICh0eXBlb2YgY2xlYXJUaW1lb3V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBjbGVhclRpbWVvdXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjYWNoZWRDbGVhclRpbWVvdXQgPSBkZWZhdWx0Q2xlYXJUaW1lb3V0O1xuICAgIH1cbn0gKCkpXG5mdW5jdGlvbiBydW5UaW1lb3V0KGZ1bikge1xuICAgIGlmIChjYWNoZWRTZXRUaW1lb3V0ID09PSBzZXRUaW1lb3V0KSB7XG4gICAgICAgIC8vbm9ybWFsIGVudmlyb21lbnRzIGluIHNhbmUgc2l0dWF0aW9uc1xuICAgICAgICByZXR1cm4gc2V0VGltZW91dChmdW4sIDApO1xuICAgIH1cbiAgICAvLyBpZiBzZXRUaW1lb3V0IHdhc24ndCBhdmFpbGFibGUgYnV0IHdhcyBsYXR0ZXIgZGVmaW5lZFxuICAgIGlmICgoY2FjaGVkU2V0VGltZW91dCA9PT0gZGVmYXVsdFNldFRpbW91dCB8fCAhY2FjaGVkU2V0VGltZW91dCkgJiYgc2V0VGltZW91dCkge1xuICAgICAgICBjYWNoZWRTZXRUaW1lb3V0ID0gc2V0VGltZW91dDtcbiAgICAgICAgcmV0dXJuIHNldFRpbWVvdXQoZnVuLCAwKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gd2hlbiB3aGVuIHNvbWVib2R5IGhhcyBzY3Jld2VkIHdpdGggc2V0VGltZW91dCBidXQgbm8gSS5FLiBtYWRkbmVzc1xuICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dChmdW4sIDApO1xuICAgIH0gY2F0Y2goZSl7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBXaGVuIHdlIGFyZSBpbiBJLkUuIGJ1dCB0aGUgc2NyaXB0IGhhcyBiZWVuIGV2YWxlZCBzbyBJLkUuIGRvZXNuJ3QgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRTZXRUaW1lb3V0LmNhbGwobnVsbCwgZnVuLCAwKTtcbiAgICAgICAgfSBjYXRjaChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yXG4gICAgICAgICAgICByZXR1cm4gY2FjaGVkU2V0VGltZW91dC5jYWxsKHRoaXMsIGZ1biwgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuZnVuY3Rpb24gcnVuQ2xlYXJUaW1lb3V0KG1hcmtlcikge1xuICAgIGlmIChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGNsZWFyVGltZW91dCkge1xuICAgICAgICAvL25vcm1hbCBlbnZpcm9tZW50cyBpbiBzYW5lIHNpdHVhdGlvbnNcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICAvLyBpZiBjbGVhclRpbWVvdXQgd2Fzbid0IGF2YWlsYWJsZSBidXQgd2FzIGxhdHRlciBkZWZpbmVkXG4gICAgaWYgKChjYWNoZWRDbGVhclRpbWVvdXQgPT09IGRlZmF1bHRDbGVhclRpbWVvdXQgfHwgIWNhY2hlZENsZWFyVGltZW91dCkgJiYgY2xlYXJUaW1lb3V0KSB7XG4gICAgICAgIGNhY2hlZENsZWFyVGltZW91dCA9IGNsZWFyVGltZW91dDtcbiAgICAgICAgcmV0dXJuIGNsZWFyVGltZW91dChtYXJrZXIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgICAvLyB3aGVuIHdoZW4gc29tZWJvZHkgaGFzIHNjcmV3ZWQgd2l0aCBzZXRUaW1lb3V0IGJ1dCBubyBJLkUuIG1hZGRuZXNzXG4gICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQobWFya2VyKTtcbiAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFdoZW4gd2UgYXJlIGluIEkuRS4gYnV0IHRoZSBzY3JpcHQgaGFzIGJlZW4gZXZhbGVkIHNvIEkuRS4gZG9lc24ndCAgdHJ1c3QgdGhlIGdsb2JhbCBvYmplY3Qgd2hlbiBjYWxsZWQgbm9ybWFsbHlcbiAgICAgICAgICAgIHJldHVybiBjYWNoZWRDbGVhclRpbWVvdXQuY2FsbChudWxsLCBtYXJrZXIpO1xuICAgICAgICB9IGNhdGNoIChlKXtcbiAgICAgICAgICAgIC8vIHNhbWUgYXMgYWJvdmUgYnV0IHdoZW4gaXQncyBhIHZlcnNpb24gb2YgSS5FLiB0aGF0IG11c3QgaGF2ZSB0aGUgZ2xvYmFsIG9iamVjdCBmb3IgJ3RoaXMnLCBob3BmdWxseSBvdXIgY29udGV4dCBjb3JyZWN0IG90aGVyd2lzZSBpdCB3aWxsIHRocm93IGEgZ2xvYmFsIGVycm9yLlxuICAgICAgICAgICAgLy8gU29tZSB2ZXJzaW9ucyBvZiBJLkUuIGhhdmUgZGlmZmVyZW50IHJ1bGVzIGZvciBjbGVhclRpbWVvdXQgdnMgc2V0VGltZW91dFxuICAgICAgICAgICAgcmV0dXJuIGNhY2hlZENsZWFyVGltZW91dC5jYWxsKHRoaXMsIG1hcmtlcik7XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG59XG52YXIgcXVldWUgPSBbXTtcbnZhciBkcmFpbmluZyA9IGZhbHNlO1xudmFyIGN1cnJlbnRRdWV1ZTtcbnZhciBxdWV1ZUluZGV4ID0gLTE7XG5cbmZ1bmN0aW9uIGNsZWFuVXBOZXh0VGljaygpIHtcbiAgICBpZiAoIWRyYWluaW5nIHx8ICFjdXJyZW50UXVldWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkcmFpbmluZyA9IGZhbHNlO1xuICAgIGlmIChjdXJyZW50UXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHF1ZXVlID0gY3VycmVudFF1ZXVlLmNvbmNhdChxdWV1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgIH1cbiAgICBpZiAocXVldWUubGVuZ3RoKSB7XG4gICAgICAgIGRyYWluUXVldWUoKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGRyYWluUXVldWUoKSB7XG4gICAgaWYgKGRyYWluaW5nKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHRpbWVvdXQgPSBydW5UaW1lb3V0KGNsZWFuVXBOZXh0VGljayk7XG4gICAgZHJhaW5pbmcgPSB0cnVlO1xuXG4gICAgdmFyIGxlbiA9IHF1ZXVlLmxlbmd0aDtcbiAgICB3aGlsZShsZW4pIHtcbiAgICAgICAgY3VycmVudFF1ZXVlID0gcXVldWU7XG4gICAgICAgIHF1ZXVlID0gW107XG4gICAgICAgIHdoaWxlICgrK3F1ZXVlSW5kZXggPCBsZW4pIHtcbiAgICAgICAgICAgIGlmIChjdXJyZW50UXVldWUpIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50UXVldWVbcXVldWVJbmRleF0ucnVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcXVldWVJbmRleCA9IC0xO1xuICAgICAgICBsZW4gPSBxdWV1ZS5sZW5ndGg7XG4gICAgfVxuICAgIGN1cnJlbnRRdWV1ZSA9IG51bGw7XG4gICAgZHJhaW5pbmcgPSBmYWxzZTtcbiAgICBydW5DbGVhclRpbWVvdXQodGltZW91dCk7XG59XG5cbnByb2Nlc3MubmV4dFRpY2sgPSBmdW5jdGlvbiAoZnVuKSB7XG4gICAgdmFyIGFyZ3MgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aCAtIDEpO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgYXJnc1tpIC0gMV0gPSBhcmd1bWVudHNbaV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcXVldWUucHVzaChuZXcgSXRlbShmdW4sIGFyZ3MpKTtcbiAgICBpZiAocXVldWUubGVuZ3RoID09PSAxICYmICFkcmFpbmluZykge1xuICAgICAgICBydW5UaW1lb3V0KGRyYWluUXVldWUpO1xuICAgIH1cbn07XG5cbi8vIHY4IGxpa2VzIHByZWRpY3RpYmxlIG9iamVjdHNcbmZ1bmN0aW9uIEl0ZW0oZnVuLCBhcnJheSkge1xuICAgIHRoaXMuZnVuID0gZnVuO1xuICAgIHRoaXMuYXJyYXkgPSBhcnJheTtcbn1cbkl0ZW0ucHJvdG90eXBlLnJ1biA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmZ1bi5hcHBseShudWxsLCB0aGlzLmFycmF5KTtcbn07XG5wcm9jZXNzLnRpdGxlID0gJ2Jyb3dzZXInO1xucHJvY2Vzcy5icm93c2VyID0gdHJ1ZTtcbnByb2Nlc3MuZW52ID0ge307XG5wcm9jZXNzLmFyZ3YgPSBbXTtcbnByb2Nlc3MudmVyc2lvbiA9ICcnOyAvLyBlbXB0eSBzdHJpbmcgdG8gYXZvaWQgcmVnZXhwIGlzc3Vlc1xucHJvY2Vzcy52ZXJzaW9ucyA9IHt9O1xuXG5mdW5jdGlvbiBub29wKCkge31cblxucHJvY2Vzcy5vbiA9IG5vb3A7XG5wcm9jZXNzLmFkZExpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3Mub25jZSA9IG5vb3A7XG5wcm9jZXNzLm9mZiA9IG5vb3A7XG5wcm9jZXNzLnJlbW92ZUxpc3RlbmVyID0gbm9vcDtcbnByb2Nlc3MucmVtb3ZlQWxsTGlzdGVuZXJzID0gbm9vcDtcbnByb2Nlc3MuZW1pdCA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRMaXN0ZW5lciA9IG5vb3A7XG5wcm9jZXNzLnByZXBlbmRPbmNlTGlzdGVuZXIgPSBub29wO1xuXG5wcm9jZXNzLmxpc3RlbmVycyA9IGZ1bmN0aW9uIChuYW1lKSB7IHJldHVybiBbXSB9XG5cbnByb2Nlc3MuYmluZGluZyA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmJpbmRpbmcgaXMgbm90IHN1cHBvcnRlZCcpO1xufTtcblxucHJvY2Vzcy5jd2QgPSBmdW5jdGlvbiAoKSB7IHJldHVybiAnLycgfTtcbnByb2Nlc3MuY2hkaXIgPSBmdW5jdGlvbiAoZGlyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwcm9jZXNzLmNoZGlyIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn07XG5wcm9jZXNzLnVtYXNrID0gZnVuY3Rpb24oKSB7IHJldHVybiAwOyB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/process/browser.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/checkPropTypes.js\":\n/*!***************************************************!*\\\n  !*** ./node_modules/prop-types/checkPropTypes.js ***!\n  \\***************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/**\\n * Copyright (c) 2013-present, Facebook, Inc.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\nvar printWarning = function() {};\\n\\nif (true) {\\n  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ \\\"./node_modules/prop-types/lib/ReactPropTypesSecret.js\\\");\\n  var loggedTypeFailures = {};\\n  var has = Function.call.bind(Object.prototype.hasOwnProperty);\\n\\n  printWarning = function(text) {\\n    var message = 'Warning: ' + text;\\n    if (typeof console !== 'undefined') {\\n      console.error(message);\\n    }\\n    try {\\n      // --- Welcome to debugging React ---\\n      // This error was thrown as a convenience so that you can use this stack\\n      // to find the callsite that caused this warning to fire.\\n      throw new Error(message);\\n    } catch (x) {}\\n  };\\n}\\n\\n/**\\n * Assert that the values match with the type specs.\\n * Error messages are memorized and will only be shown once.\\n *\\n * @param {object} typeSpecs Map of name to a ReactPropType\\n * @param {object} values Runtime values that need to be type-checked\\n * @param {string} location e.g. \\\"prop\\\", \\\"context\\\", \\\"child context\\\"\\n * @param {string} componentName Name of the component for error messages.\\n * @param {?Function} getStack Returns the component stack.\\n * @private\\n */\\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\\n  if (true) {\\n    for (var typeSpecName in typeSpecs) {\\n      if (has(typeSpecs, typeSpecName)) {\\n        var error;\\n        // Prop type validation may throw. In case they do, we don't want to\\n        // fail the render phase where it didn't fail before. So we log it.\\n        // After these have been cleaned up, we'll let them throw.\\n        try {\\n          // This is intentionally an invariant that gets caught. It's the same\\n          // behavior as without this statement except with a better message.\\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\\n            var err = Error(\\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'\\n            );\\n            err.name = 'Invariant Violation';\\n            throw err;\\n          }\\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\\n        } catch (ex) {\\n          error = ex;\\n        }\\n        if (error && !(error instanceof Error)) {\\n          printWarning(\\n            (componentName || 'React class') + ': type specification of ' +\\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\\n            'You may have forgotten to pass an argument to the type checker ' +\\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\\n            'shape all require an argument).'\\n          );\\n        }\\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\\n          // Only monitor this failure once because there tends to be a lot of the\\n          // same error.\\n          loggedTypeFailures[error.message] = true;\\n\\n          var stack = getStack ? getStack() : '';\\n\\n          printWarning(\\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\\n          );\\n        }\\n      }\\n    }\\n  }\\n}\\n\\n/**\\n * Resets warning cache when testing.\\n *\\n * @private\\n */\\ncheckPropTypes.resetWarningCache = function() {\\n  if (true) {\\n    loggedTypeFailures = {};\\n  }\\n}\\n\\nmodule.exports = checkPropTypes;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9jaGVja1Byb3BUeXBlcy5qcz9hMTVjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7QUFFYjs7QUFFQSxJQUFJLElBQXFDO0FBQ3pDLDZCQUE2QixtQkFBTyxDQUFDLHlGQUE0QjtBQUNqRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEIsV0FBVyxVQUFVO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBcUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRHQUE0RztBQUM1RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBcUM7QUFDM0M7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvY2hlY2tQcm9wVHlwZXMuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIHByaW50V2FybmluZyA9IGZ1bmN0aW9uKCkge307XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIHZhciBSZWFjdFByb3BUeXBlc1NlY3JldCA9IHJlcXVpcmUoJy4vbGliL1JlYWN0UHJvcFR5cGVzU2VjcmV0Jyk7XG4gIHZhciBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbiAgdmFyIGhhcyA9IEZ1bmN0aW9uLmNhbGwuYmluZChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5KTtcblxuICBwcmludFdhcm5pbmcgPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIHRleHQ7XG4gICAgaWYgKHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc29sZS5lcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIC8vIC0tLSBXZWxjb21lIHRvIGRlYnVnZ2luZyBSZWFjdCAtLS1cbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoeCkge31cbiAgfTtcbn1cblxuLyoqXG4gKiBBc3NlcnQgdGhhdCB0aGUgdmFsdWVzIG1hdGNoIHdpdGggdGhlIHR5cGUgc3BlY3MuXG4gKiBFcnJvciBtZXNzYWdlcyBhcmUgbWVtb3JpemVkIGFuZCB3aWxsIG9ubHkgYmUgc2hvd24gb25jZS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gdHlwZVNwZWNzIE1hcCBvZiBuYW1lIHRvIGEgUmVhY3RQcm9wVHlwZVxuICogQHBhcmFtIHtvYmplY3R9IHZhbHVlcyBSdW50aW1lIHZhbHVlcyB0aGF0IG5lZWQgdG8gYmUgdHlwZS1jaGVja2VkXG4gKiBAcGFyYW0ge3N0cmluZ30gbG9jYXRpb24gZS5nLiBcInByb3BcIiwgXCJjb250ZXh0XCIsIFwiY2hpbGQgY29udGV4dFwiXG4gKiBAcGFyYW0ge3N0cmluZ30gY29tcG9uZW50TmFtZSBOYW1lIG9mIHRoZSBjb21wb25lbnQgZm9yIGVycm9yIG1lc3NhZ2VzLlxuICogQHBhcmFtIHs/RnVuY3Rpb259IGdldFN0YWNrIFJldHVybnMgdGhlIGNvbXBvbmVudCBzdGFjay5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGNoZWNrUHJvcFR5cGVzKHR5cGVTcGVjcywgdmFsdWVzLCBsb2NhdGlvbiwgY29tcG9uZW50TmFtZSwgZ2V0U3RhY2spIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBmb3IgKHZhciB0eXBlU3BlY05hbWUgaW4gdHlwZVNwZWNzKSB7XG4gICAgICBpZiAoaGFzKHR5cGVTcGVjcywgdHlwZVNwZWNOYW1lKSkge1xuICAgICAgICB2YXIgZXJyb3I7XG4gICAgICAgIC8vIFByb3AgdHlwZSB2YWxpZGF0aW9uIG1heSB0aHJvdy4gSW4gY2FzZSB0aGV5IGRvLCB3ZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIGZhaWwgdGhlIHJlbmRlciBwaGFzZSB3aGVyZSBpdCBkaWRuJ3QgZmFpbCBiZWZvcmUuIFNvIHdlIGxvZyBpdC5cbiAgICAgICAgLy8gQWZ0ZXIgdGhlc2UgaGF2ZSBiZWVuIGNsZWFuZWQgdXAsIHdlJ2xsIGxldCB0aGVtIHRocm93LlxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgaW50ZW50aW9uYWxseSBhbiBpbnZhcmlhbnQgdGhhdCBnZXRzIGNhdWdodC4gSXQncyB0aGUgc2FtZVxuICAgICAgICAgIC8vIGJlaGF2aW9yIGFzIHdpdGhvdXQgdGhpcyBzdGF0ZW1lbnQgZXhjZXB0IHdpdGggYSBiZXR0ZXIgbWVzc2FnZS5cbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGVTcGVjc1t0eXBlU3BlY05hbWVdICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB2YXIgZXJyID0gRXJyb3IoXG4gICAgICAgICAgICAgIChjb21wb25lbnROYW1lIHx8ICdSZWFjdCBjbGFzcycpICsgJzogJyArIGxvY2F0aW9uICsgJyB0eXBlIGAnICsgdHlwZVNwZWNOYW1lICsgJ2AgaXMgaW52YWxpZDsgJyArXG4gICAgICAgICAgICAgICdpdCBtdXN0IGJlIGEgZnVuY3Rpb24sIHVzdWFsbHkgZnJvbSB0aGUgYHByb3AtdHlwZXNgIHBhY2thZ2UsIGJ1dCByZWNlaXZlZCBgJyArIHR5cGVvZiB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSArICdgLidcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBlcnIubmFtZSA9ICdJbnZhcmlhbnQgVmlvbGF0aW9uJztcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZXJyb3IgPSB0eXBlU3BlY3NbdHlwZVNwZWNOYW1lXSh2YWx1ZXMsIHR5cGVTcGVjTmFtZSwgY29tcG9uZW50TmFtZSwgbG9jYXRpb24sIG51bGwsIFJlYWN0UHJvcFR5cGVzU2VjcmV0KTtcbiAgICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgICBlcnJvciA9IGV4O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvciAmJiAhKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpKSB7XG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgKGNvbXBvbmVudE5hbWUgfHwgJ1JlYWN0IGNsYXNzJykgKyAnOiB0eXBlIHNwZWNpZmljYXRpb24gb2YgJyArXG4gICAgICAgICAgICBsb2NhdGlvbiArICcgYCcgKyB0eXBlU3BlY05hbWUgKyAnYCBpcyBpbnZhbGlkOyB0aGUgdHlwZSBjaGVja2VyICcgK1xuICAgICAgICAgICAgJ2Z1bmN0aW9uIG11c3QgcmV0dXJuIGBudWxsYCBvciBhbiBgRXJyb3JgIGJ1dCByZXR1cm5lZCBhICcgKyB0eXBlb2YgZXJyb3IgKyAnLiAnICtcbiAgICAgICAgICAgICdZb3UgbWF5IGhhdmUgZm9yZ290dGVuIHRvIHBhc3MgYW4gYXJndW1lbnQgdG8gdGhlIHR5cGUgY2hlY2tlciAnICtcbiAgICAgICAgICAgICdjcmVhdG9yIChhcnJheU9mLCBpbnN0YW5jZU9mLCBvYmplY3RPZiwgb25lT2YsIG9uZU9mVHlwZSwgYW5kICcgK1xuICAgICAgICAgICAgJ3NoYXBlIGFsbCByZXF1aXJlIGFuIGFyZ3VtZW50KS4nXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJiAhKGVycm9yLm1lc3NhZ2UgaW4gbG9nZ2VkVHlwZUZhaWx1cmVzKSkge1xuICAgICAgICAgIC8vIE9ubHkgbW9uaXRvciB0aGlzIGZhaWx1cmUgb25jZSBiZWNhdXNlIHRoZXJlIHRlbmRzIHRvIGJlIGEgbG90IG9mIHRoZVxuICAgICAgICAgIC8vIHNhbWUgZXJyb3IuXG4gICAgICAgICAgbG9nZ2VkVHlwZUZhaWx1cmVzW2Vycm9yLm1lc3NhZ2VdID0gdHJ1ZTtcblxuICAgICAgICAgIHZhciBzdGFjayA9IGdldFN0YWNrID8gZ2V0U3RhY2soKSA6ICcnO1xuXG4gICAgICAgICAgcHJpbnRXYXJuaW5nKFxuICAgICAgICAgICAgJ0ZhaWxlZCAnICsgbG9jYXRpb24gKyAnIHR5cGU6ICcgKyBlcnJvci5tZXNzYWdlICsgKHN0YWNrICE9IG51bGwgPyBzdGFjayA6ICcnKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXNldHMgd2FybmluZyBjYWNoZSB3aGVuIHRlc3RpbmcuXG4gKlxuICogQHByaXZhdGVcbiAqL1xuY2hlY2tQcm9wVHlwZXMucmVzZXRXYXJuaW5nQ2FjaGUgPSBmdW5jdGlvbigpIHtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICBsb2dnZWRUeXBlRmFpbHVyZXMgPSB7fTtcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGNoZWNrUHJvcFR5cGVzO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/prop-types/checkPropTypes.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/prop-types/lib/ReactPropTypesSecret.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/**\\n * Copyright (c) 2013-present, Facebook, Inc.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\\n\\nmodule.exports = ReactPropTypesSecret;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanM/NTliMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7O0FBRWI7O0FBRUEiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxMy1wcmVzZW50LCBGYWNlYm9vaywgSW5jLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxudmFyIFJlYWN0UHJvcFR5cGVzU2VjcmV0ID0gJ1NFQ1JFVF9ET19OT1RfUEFTU19USElTX09SX1lPVV9XSUxMX0JFX0ZJUkVEJztcblxubW9kdWxlLmV4cG9ydHMgPSBSZWFjdFByb3BUeXBlc1NlY3JldDtcbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/prop-types/lib/ReactPropTypesSecret.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/react-dom/cjs/react-dom.development.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/react-dom/cjs/react-dom.development.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/** @license React v16.13.1\\n * react-dom.development.js\\n *\\n * Copyright (c) Facebook, Inc. and its affiliates.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\n\\n\\nif (true) {\\n  (function() {\\n'use strict';\\n\\nvar React = __webpack_require__(/*! react */ \\\"./node_modules/react/index.js\\\");\\nvar _assign = __webpack_require__(/*! object-assign */ \\\"./node_modules/object-assign/index.js\\\");\\nvar Scheduler = __webpack_require__(/*! scheduler */ \\\"./node_modules/scheduler/index.js\\\");\\nvar checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ \\\"./node_modules/prop-types/checkPropTypes.js\\\");\\nvar tracing = __webpack_require__(/*! scheduler/tracing */ \\\"./node_modules/scheduler/tracing.js\\\");\\n\\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; // Prevent newer renderers from RTE when used with older react package versions.\\n// Current owner and dispatcher used to share the same ref,\\n// but PR #14548 split them out to better support the react-debug-tools package.\\n\\nif (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) {\\n  ReactSharedInternals.ReactCurrentDispatcher = {\\n    current: null\\n  };\\n}\\n\\nif (!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')) {\\n  ReactSharedInternals.ReactCurrentBatchConfig = {\\n    suspense: null\\n  };\\n}\\n\\n// by calls to these methods by a Babel plugin.\\n//\\n// In PROD (or in packages without access to React internals),\\n// they are left as they are instead.\\n\\nfunction warn(format) {\\n  {\\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\\n      args[_key - 1] = arguments[_key];\\n    }\\n\\n    printWarning('warn', format, args);\\n  }\\n}\\nfunction error(format) {\\n  {\\n    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\\n      args[_key2 - 1] = arguments[_key2];\\n    }\\n\\n    printWarning('error', format, args);\\n  }\\n}\\n\\nfunction printWarning(level, format, args) {\\n  // When changing this logic, you might want to also\\n  // update consoleWithStackDev.www.js as well.\\n  {\\n    var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\\\\n    in') === 0;\\n\\n    if (!hasExistingStack) {\\n      var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\\n      var stack = ReactDebugCurrentFrame.getStackAddendum();\\n\\n      if (stack !== '') {\\n        format += '%s';\\n        args = args.concat([stack]);\\n      }\\n    }\\n\\n    var argsWithFormat = args.map(function (item) {\\n      return '' + item;\\n    }); // Careful: RN currently depends on this prefix\\n\\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\\n    // breaks IE9: https://github.com/facebook/react/issues/13610\\n    // eslint-disable-next-line react-internal/no-production-logging\\n\\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\\n\\n    try {\\n      // --- Welcome to debugging React ---\\n      // This error was thrown as a convenience so that you can use this stack\\n      // to find the callsite that caused this warning to fire.\\n      var argIndex = 0;\\n      var message = 'Warning: ' + format.replace(/%s/g, function () {\\n        return args[argIndex++];\\n      });\\n      throw new Error(message);\\n    } catch (x) {}\\n  }\\n}\\n\\nif (!React) {\\n  {\\n    throw Error( \\\"ReactDOM was loaded before React. Make sure you load the React package before loading ReactDOM.\\\" );\\n  }\\n}\\n\\nvar invokeGuardedCallbackImpl = function (name, func, context, a, b, c, d, e, f) {\\n  var funcArgs = Array.prototype.slice.call(arguments, 3);\\n\\n  try {\\n    func.apply(context, funcArgs);\\n  } catch (error) {\\n    this.onError(error);\\n  }\\n};\\n\\n{\\n  // In DEV mode, we swap out invokeGuardedCallback for a special version\\n  // that plays more nicely with the browser's DevTools. The idea is to preserve\\n  // \\\"Pause on exceptions\\\" behavior. Because React wraps all user-provided\\n  // functions in invokeGuardedCallback, and the production version of\\n  // invokeGuardedCallback uses a try-catch, all user exceptions are treated\\n  // like caught exceptions, and the DevTools won't pause unless the developer\\n  // takes the extra step of enabling pause on caught exceptions. This is\\n  // unintuitive, though, because even though React has caught the error, from\\n  // the developer's perspective, the error is uncaught.\\n  //\\n  // To preserve the expected \\\"Pause on exceptions\\\" behavior, we don't use a\\n  // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake\\n  // DOM node, and call the user-provided callback from inside an event handler\\n  // for that fake event. If the callback throws, the error is \\\"captured\\\" using\\n  // a global event handler. But because the error happens in a different\\n  // event loop context, it does not interrupt the normal program flow.\\n  // Effectively, this gives us try-catch behavior without actually using\\n  // try-catch. Neat!\\n  // Check that the browser supports the APIs we need to implement our special\\n  // DEV version of invokeGuardedCallback\\n  if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\\n    var fakeNode = document.createElement('react');\\n\\n    var invokeGuardedCallbackDev = function (name, func, context, a, b, c, d, e, f) {\\n      // If document doesn't exist we know for sure we will crash in this method\\n      // when we call document.createEvent(). However this can cause confusing\\n      // errors: https://github.com/facebookincubator/create-react-app/issues/3482\\n      // So we preemptively throw with a better message instead.\\n      if (!(typeof document !== 'undefined')) {\\n        {\\n          throw Error( \\\"The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.\\\" );\\n        }\\n      }\\n\\n      var evt = document.createEvent('Event'); // Keeps track of whether the user-provided callback threw an error. We\\n      // set this to true at the beginning, then set it to false right after\\n      // calling the function. If the function errors, `didError` will never be\\n      // set to false. This strategy works even if the browser is flaky and\\n      // fails to call our global error handler, because it doesn't rely on\\n      // the error event at all.\\n\\n      var didError = true; // Keeps track of the value of window.event so that we can reset it\\n      // during the callback to let user code access window.event in the\\n      // browsers that support it.\\n\\n      var windowEvent = window.event; // Keeps track of the descriptor of window.event to restore it after event\\n      // dispatching: https://github.com/facebook/react/issues/13688\\n\\n      var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event'); // Create an event handler for our fake event. We will synchronously\\n      // dispatch our fake event using `dispatchEvent`. Inside the handler, we\\n      // call the user-provided callback.\\n\\n      var funcArgs = Array.prototype.slice.call(arguments, 3);\\n\\n      function callCallback() {\\n        // We immediately remove the callback from event listeners so that\\n        // nested `invokeGuardedCallback` calls do not clash. Otherwise, a\\n        // nested call would trigger the fake event handlers of any call higher\\n        // in the stack.\\n        fakeNode.removeEventListener(evtType, callCallback, false); // We check for window.hasOwnProperty('event') to prevent the\\n        // window.event assignment in both IE <= 10 as they throw an error\\n        // \\\"Member not found\\\" in strict mode, and in Firefox which does not\\n        // support window.event.\\n\\n        if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) {\\n          window.event = windowEvent;\\n        }\\n\\n        func.apply(context, funcArgs);\\n        didError = false;\\n      } // Create a global error event handler. We use this to capture the value\\n      // that was thrown. It's possible that this error handler will fire more\\n      // than once; for example, if non-React code also calls `dispatchEvent`\\n      // and a handler for that event throws. We should be resilient to most of\\n      // those cases. Even if our error event handler fires more than once, the\\n      // last error event is always used. If the callback actually does error,\\n      // we know that the last error event is the correct one, because it's not\\n      // possible for anything else to have happened in between our callback\\n      // erroring and the code that follows the `dispatchEvent` call below. If\\n      // the callback doesn't error, but the error event was fired, we know to\\n      // ignore it because `didError` will be false, as described above.\\n\\n\\n      var error; // Use this to track whether the error event is ever called.\\n\\n      var didSetError = false;\\n      var isCrossOriginError = false;\\n\\n      function handleWindowError(event) {\\n        error = event.error;\\n        didSetError = true;\\n\\n        if (error === null && event.colno === 0 && event.lineno === 0) {\\n          isCrossOriginError = true;\\n        }\\n\\n        if (event.defaultPrevented) {\\n          // Some other error handler has prevented default.\\n          // Browsers silence the error report if this happens.\\n          // We'll remember this to later decide whether to log it or not.\\n          if (error != null && typeof error === 'object') {\\n            try {\\n              error._suppressLogging = true;\\n            } catch (inner) {// Ignore.\\n            }\\n          }\\n        }\\n      } // Create a fake event type.\\n\\n\\n      var evtType = \\\"react-\\\" + (name ? name : 'invokeguardedcallback'); // Attach our event handlers\\n\\n      window.addEventListener('error', handleWindowError);\\n      fakeNode.addEventListener(evtType, callCallback, false); // Synchronously dispatch our fake event. If the user-provided function\\n      // errors, it will trigger our global error handler.\\n\\n      evt.initEvent(evtType, false, false);\\n      fakeNode.dispatchEvent(evt);\\n\\n      if (windowEventDescriptor) {\\n        Object.defineProperty(window, 'event', windowEventDescriptor);\\n      }\\n\\n      if (didError) {\\n        if (!didSetError) {\\n          // The callback errored, but the error event never fired.\\n          error = new Error('An error was thrown inside one of your components, but React ' + \\\"doesn't know what it was. This is likely due to browser \\\" + 'flakiness. React does its best to preserve the \\\"Pause on ' + 'exceptions\\\" behavior of the DevTools, which requires some ' + \\\"DEV-mode only tricks. It's possible that these don't work in \\\" + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.');\\n        } else if (isCrossOriginError) {\\n          error = new Error(\\\"A cross-origin error was thrown. React doesn't have access to \\\" + 'the actual error object in development. ' + 'See https://fb.me/react-crossorigin-error for more information.');\\n        }\\n\\n        this.onError(error);\\n      } // Remove our event listeners\\n\\n\\n      window.removeEventListener('error', handleWindowError);\\n    };\\n\\n    invokeGuardedCallbackImpl = invokeGuardedCallbackDev;\\n  }\\n}\\n\\nvar invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl;\\n\\nvar hasError = false;\\nvar caughtError = null; // Used by event system to capture/rethrow the first error.\\n\\nvar hasRethrowError = false;\\nvar rethrowError = null;\\nvar reporter = {\\n  onError: function (error) {\\n    hasError = true;\\n    caughtError = error;\\n  }\\n};\\n/**\\n * Call a function while guarding against errors that happens within it.\\n * Returns an error if it throws, otherwise null.\\n *\\n * In production, this is implemented using a try-catch. The reason we don't\\n * use a try-catch directly is so that we can swap out a different\\n * implementation in DEV mode.\\n *\\n * @param {String} name of the guard to use for logging or debugging\\n * @param {Function} func The function to invoke\\n * @param {*} context The context to use when calling the function\\n * @param {...*} args Arguments for function\\n */\\n\\nfunction invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {\\n  hasError = false;\\n  caughtError = null;\\n  invokeGuardedCallbackImpl$1.apply(reporter, arguments);\\n}\\n/**\\n * Same as invokeGuardedCallback, but instead of returning an error, it stores\\n * it in a global so it can be rethrown by `rethrowCaughtError` later.\\n * TODO: See if caughtError and rethrowError can be unified.\\n *\\n * @param {String} name of the guard to use for logging or debugging\\n * @param {Function} func The function to invoke\\n * @param {*} context The context to use when calling the function\\n * @param {...*} args Arguments for function\\n */\\n\\nfunction invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {\\n  invokeGuardedCallback.apply(this, arguments);\\n\\n  if (hasError) {\\n    var error = clearCaughtError();\\n\\n    if (!hasRethrowError) {\\n      hasRethrowError = true;\\n      rethrowError = error;\\n    }\\n  }\\n}\\n/**\\n * During execution of guarded functions we will capture the first error which\\n * we will rethrow to be handled by the top level error handler.\\n */\\n\\nfunction rethrowCaughtError() {\\n  if (hasRethrowError) {\\n    var error = rethrowError;\\n    hasRethrowError = false;\\n    rethrowError = null;\\n    throw error;\\n  }\\n}\\nfunction hasCaughtError() {\\n  return hasError;\\n}\\nfunction clearCaughtError() {\\n  if (hasError) {\\n    var error = caughtError;\\n    hasError = false;\\n    caughtError = null;\\n    return error;\\n  } else {\\n    {\\n      {\\n        throw Error( \\\"clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n  }\\n}\\n\\nvar getFiberCurrentPropsFromNode = null;\\nvar getInstanceFromNode = null;\\nvar getNodeFromInstance = null;\\nfunction setComponentTree(getFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl, getNodeFromInstanceImpl) {\\n  getFiberCurrentPropsFromNode = getFiberCurrentPropsFromNodeImpl;\\n  getInstanceFromNode = getInstanceFromNodeImpl;\\n  getNodeFromInstance = getNodeFromInstanceImpl;\\n\\n  {\\n    if (!getNodeFromInstance || !getInstanceFromNode) {\\n      error('EventPluginUtils.setComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.');\\n    }\\n  }\\n}\\nvar validateEventDispatches;\\n\\n{\\n  validateEventDispatches = function (event) {\\n    var dispatchListeners = event._dispatchListeners;\\n    var dispatchInstances = event._dispatchInstances;\\n    var listenersIsArr = Array.isArray(dispatchListeners);\\n    var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\\n    var instancesIsArr = Array.isArray(dispatchInstances);\\n    var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;\\n\\n    if (instancesIsArr !== listenersIsArr || instancesLen !== listenersLen) {\\n      error('EventPluginUtils: Invalid `event`.');\\n    }\\n  };\\n}\\n/**\\n * Dispatch the event to the listener.\\n * @param {SyntheticEvent} event SyntheticEvent to handle\\n * @param {function} listener Application-level callback\\n * @param {*} inst Internal component instance\\n */\\n\\n\\nfunction executeDispatch(event, listener, inst) {\\n  var type = event.type || 'unknown-event';\\n  event.currentTarget = getNodeFromInstance(inst);\\n  invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, event);\\n  event.currentTarget = null;\\n}\\n/**\\n * Standard/simple iteration through an event's collected dispatches.\\n */\\n\\nfunction executeDispatchesInOrder(event) {\\n  var dispatchListeners = event._dispatchListeners;\\n  var dispatchInstances = event._dispatchInstances;\\n\\n  {\\n    validateEventDispatches(event);\\n  }\\n\\n  if (Array.isArray(dispatchListeners)) {\\n    for (var i = 0; i < dispatchListeners.length; i++) {\\n      if (event.isPropagationStopped()) {\\n        break;\\n      } // Listeners and Instances are two parallel arrays that are always in sync.\\n\\n\\n      executeDispatch(event, dispatchListeners[i], dispatchInstances[i]);\\n    }\\n  } else if (dispatchListeners) {\\n    executeDispatch(event, dispatchListeners, dispatchInstances);\\n  }\\n\\n  event._dispatchListeners = null;\\n  event._dispatchInstances = null;\\n}\\n\\nvar FunctionComponent = 0;\\nvar ClassComponent = 1;\\nvar IndeterminateComponent = 2; // Before we know whether it is function or class\\n\\nvar HostRoot = 3; // Root of a host tree. Could be nested inside another node.\\n\\nvar HostPortal = 4; // A subtree. Could be an entry point to a different renderer.\\n\\nvar HostComponent = 5;\\nvar HostText = 6;\\nvar Fragment = 7;\\nvar Mode = 8;\\nvar ContextConsumer = 9;\\nvar ContextProvider = 10;\\nvar ForwardRef = 11;\\nvar Profiler = 12;\\nvar SuspenseComponent = 13;\\nvar MemoComponent = 14;\\nvar SimpleMemoComponent = 15;\\nvar LazyComponent = 16;\\nvar IncompleteClassComponent = 17;\\nvar DehydratedFragment = 18;\\nvar SuspenseListComponent = 19;\\nvar FundamentalComponent = 20;\\nvar ScopeComponent = 21;\\nvar Block = 22;\\n\\n/**\\n * Injectable ordering of event plugins.\\n */\\nvar eventPluginOrder = null;\\n/**\\n * Injectable mapping from names to event plugin modules.\\n */\\n\\nvar namesToPlugins = {};\\n/**\\n * Recomputes the plugin list using the injected plugins and plugin ordering.\\n *\\n * @private\\n */\\n\\nfunction recomputePluginOrdering() {\\n  if (!eventPluginOrder) {\\n    // Wait until an `eventPluginOrder` is injected.\\n    return;\\n  }\\n\\n  for (var pluginName in namesToPlugins) {\\n    var pluginModule = namesToPlugins[pluginName];\\n    var pluginIndex = eventPluginOrder.indexOf(pluginName);\\n\\n    if (!(pluginIndex > -1)) {\\n      {\\n        throw Error( \\\"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `\\\" + pluginName + \\\"`.\\\" );\\n      }\\n    }\\n\\n    if (plugins[pluginIndex]) {\\n      continue;\\n    }\\n\\n    if (!pluginModule.extractEvents) {\\n      {\\n        throw Error( \\\"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `\\\" + pluginName + \\\"` does not.\\\" );\\n      }\\n    }\\n\\n    plugins[pluginIndex] = pluginModule;\\n    var publishedEvents = pluginModule.eventTypes;\\n\\n    for (var eventName in publishedEvents) {\\n      if (!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName)) {\\n        {\\n          throw Error( \\\"EventPluginRegistry: Failed to publish event `\\\" + eventName + \\\"` for plugin `\\\" + pluginName + \\\"`.\\\" );\\n        }\\n      }\\n    }\\n  }\\n}\\n/**\\n * Publishes an event so that it can be dispatched by the supplied plugin.\\n *\\n * @param {object} dispatchConfig Dispatch configuration for the event.\\n * @param {object} PluginModule Plugin publishing the event.\\n * @return {boolean} True if the event was successfully published.\\n * @private\\n */\\n\\n\\nfunction publishEventForPlugin(dispatchConfig, pluginModule, eventName) {\\n  if (!!eventNameDispatchConfigs.hasOwnProperty(eventName)) {\\n    {\\n      throw Error( \\\"EventPluginRegistry: More than one plugin attempted to publish the same event name, `\\\" + eventName + \\\"`.\\\" );\\n    }\\n  }\\n\\n  eventNameDispatchConfigs[eventName] = dispatchConfig;\\n  var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\\n\\n  if (phasedRegistrationNames) {\\n    for (var phaseName in phasedRegistrationNames) {\\n      if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\\n        var phasedRegistrationName = phasedRegistrationNames[phaseName];\\n        publishRegistrationName(phasedRegistrationName, pluginModule, eventName);\\n      }\\n    }\\n\\n    return true;\\n  } else if (dispatchConfig.registrationName) {\\n    publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);\\n    return true;\\n  }\\n\\n  return false;\\n}\\n/**\\n * Publishes a registration name that is used to identify dispatched events.\\n *\\n * @param {string} registrationName Registration name to add.\\n * @param {object} PluginModule Plugin publishing the event.\\n * @private\\n */\\n\\n\\nfunction publishRegistrationName(registrationName, pluginModule, eventName) {\\n  if (!!registrationNameModules[registrationName]) {\\n    {\\n      throw Error( \\\"EventPluginRegistry: More than one plugin attempted to publish the same registration name, `\\\" + registrationName + \\\"`.\\\" );\\n    }\\n  }\\n\\n  registrationNameModules[registrationName] = pluginModule;\\n  registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;\\n\\n  {\\n    var lowerCasedName = registrationName.toLowerCase();\\n    possibleRegistrationNames[lowerCasedName] = registrationName;\\n\\n    if (registrationName === 'onDoubleClick') {\\n      possibleRegistrationNames.ondblclick = registrationName;\\n    }\\n  }\\n}\\n/**\\n * Registers plugins so that they can extract and dispatch events.\\n */\\n\\n/**\\n * Ordered list of injected plugins.\\n */\\n\\n\\nvar plugins = [];\\n/**\\n * Mapping from event name to dispatch config\\n */\\n\\nvar eventNameDispatchConfigs = {};\\n/**\\n * Mapping from registration name to plugin module\\n */\\n\\nvar registrationNameModules = {};\\n/**\\n * Mapping from registration name to event name\\n */\\n\\nvar registrationNameDependencies = {};\\n/**\\n * Mapping from lowercase registration names to the properly cased version,\\n * used to warn in the case of missing event handlers. Available\\n * only in true.\\n * @type {Object}\\n */\\n\\nvar possibleRegistrationNames =  {} ; // Trust the developer to only use possibleRegistrationNames in true\\n\\n/**\\n * Injects an ordering of plugins (by plugin name). This allows the ordering\\n * to be decoupled from injection of the actual plugins so that ordering is\\n * always deterministic regardless of packaging, on-the-fly injection, etc.\\n *\\n * @param {array} InjectedEventPluginOrder\\n * @internal\\n */\\n\\nfunction injectEventPluginOrder(injectedEventPluginOrder) {\\n  if (!!eventPluginOrder) {\\n    {\\n      throw Error( \\\"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.\\\" );\\n    }\\n  } // Clone the ordering so it cannot be dynamically mutated.\\n\\n\\n  eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);\\n  recomputePluginOrdering();\\n}\\n/**\\n * Injects plugins to be used by plugin event system. The plugin names must be\\n * in the ordering injected by `injectEventPluginOrder`.\\n *\\n * Plugins can be injected as part of page initialization or on-the-fly.\\n *\\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\\n * @internal\\n */\\n\\nfunction injectEventPluginsByName(injectedNamesToPlugins) {\\n  var isOrderingDirty = false;\\n\\n  for (var pluginName in injectedNamesToPlugins) {\\n    if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\\n      continue;\\n    }\\n\\n    var pluginModule = injectedNamesToPlugins[pluginName];\\n\\n    if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {\\n      if (!!namesToPlugins[pluginName]) {\\n        {\\n          throw Error( \\\"EventPluginRegistry: Cannot inject two different event plugins using the same name, `\\\" + pluginName + \\\"`.\\\" );\\n        }\\n      }\\n\\n      namesToPlugins[pluginName] = pluginModule;\\n      isOrderingDirty = true;\\n    }\\n  }\\n\\n  if (isOrderingDirty) {\\n    recomputePluginOrdering();\\n  }\\n}\\n\\nvar canUseDOM = !!(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');\\n\\nvar PLUGIN_EVENT_SYSTEM = 1;\\nvar IS_REPLAYED = 1 << 5;\\nvar IS_FIRST_ANCESTOR = 1 << 6;\\n\\nvar restoreImpl = null;\\nvar restoreTarget = null;\\nvar restoreQueue = null;\\n\\nfunction restoreStateOfTarget(target) {\\n  // We perform this translation at the end of the event loop so that we\\n  // always receive the correct fiber here\\n  var internalInstance = getInstanceFromNode(target);\\n\\n  if (!internalInstance) {\\n    // Unmounted\\n    return;\\n  }\\n\\n  if (!(typeof restoreImpl === 'function')) {\\n    {\\n      throw Error( \\\"setRestoreImplementation() needs to be called to handle a target for controlled events. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n\\n  var stateNode = internalInstance.stateNode; // Guard against Fiber being unmounted.\\n\\n  if (stateNode) {\\n    var _props = getFiberCurrentPropsFromNode(stateNode);\\n\\n    restoreImpl(internalInstance.stateNode, internalInstance.type, _props);\\n  }\\n}\\n\\nfunction setRestoreImplementation(impl) {\\n  restoreImpl = impl;\\n}\\nfunction enqueueStateRestore(target) {\\n  if (restoreTarget) {\\n    if (restoreQueue) {\\n      restoreQueue.push(target);\\n    } else {\\n      restoreQueue = [target];\\n    }\\n  } else {\\n    restoreTarget = target;\\n  }\\n}\\nfunction needsStateRestore() {\\n  return restoreTarget !== null || restoreQueue !== null;\\n}\\nfunction restoreStateIfNeeded() {\\n  if (!restoreTarget) {\\n    return;\\n  }\\n\\n  var target = restoreTarget;\\n  var queuedTargets = restoreQueue;\\n  restoreTarget = null;\\n  restoreQueue = null;\\n  restoreStateOfTarget(target);\\n\\n  if (queuedTargets) {\\n    for (var i = 0; i < queuedTargets.length; i++) {\\n      restoreStateOfTarget(queuedTargets[i]);\\n    }\\n  }\\n}\\n\\nvar enableProfilerTimer = true; // Trace which interactions trigger each commit.\\n\\nvar enableDeprecatedFlareAPI = false; // Experimental Host Component support.\\n\\nvar enableFundamentalAPI = false; // Experimental Scope support.\\nvar warnAboutStringRefs = false;\\n\\n// the renderer. Such as when we're dispatching events or if third party\\n// libraries need to call batchedUpdates. Eventually, this API will go away when\\n// everything is batched by default. We'll then have a similar API to opt-out of\\n// scheduled work and instead do synchronous work.\\n// Defaults\\n\\nvar batchedUpdatesImpl = function (fn, bookkeeping) {\\n  return fn(bookkeeping);\\n};\\n\\nvar discreteUpdatesImpl = function (fn, a, b, c, d) {\\n  return fn(a, b, c, d);\\n};\\n\\nvar flushDiscreteUpdatesImpl = function () {};\\n\\nvar batchedEventUpdatesImpl = batchedUpdatesImpl;\\nvar isInsideEventHandler = false;\\nvar isBatchingEventUpdates = false;\\n\\nfunction finishEventHandler() {\\n  // Here we wait until all updates have propagated, which is important\\n  // when using controlled components within layers:\\n  // https://github.com/facebook/react/issues/1698\\n  // Then we restore state of any controlled component.\\n  var controlledComponentsHavePendingUpdates = needsStateRestore();\\n\\n  if (controlledComponentsHavePendingUpdates) {\\n    // If a controlled event was fired, we may need to restore the state of\\n    // the DOM node back to the controlled value. This is necessary when React\\n    // bails out of the update without touching the DOM.\\n    flushDiscreteUpdatesImpl();\\n    restoreStateIfNeeded();\\n  }\\n}\\n\\nfunction batchedUpdates(fn, bookkeeping) {\\n  if (isInsideEventHandler) {\\n    // If we are currently inside another batch, we need to wait until it\\n    // fully completes before restoring state.\\n    return fn(bookkeeping);\\n  }\\n\\n  isInsideEventHandler = true;\\n\\n  try {\\n    return batchedUpdatesImpl(fn, bookkeeping);\\n  } finally {\\n    isInsideEventHandler = false;\\n    finishEventHandler();\\n  }\\n}\\nfunction batchedEventUpdates(fn, a, b) {\\n  if (isBatchingEventUpdates) {\\n    // If we are currently inside another batch, we need to wait until it\\n    // fully completes before restoring state.\\n    return fn(a, b);\\n  }\\n\\n  isBatchingEventUpdates = true;\\n\\n  try {\\n    return batchedEventUpdatesImpl(fn, a, b);\\n  } finally {\\n    isBatchingEventUpdates = false;\\n    finishEventHandler();\\n  }\\n} // This is for the React Flare event system\\nfunction discreteUpdates(fn, a, b, c, d) {\\n  var prevIsInsideEventHandler = isInsideEventHandler;\\n  isInsideEventHandler = true;\\n\\n  try {\\n    return discreteUpdatesImpl(fn, a, b, c, d);\\n  } finally {\\n    isInsideEventHandler = prevIsInsideEventHandler;\\n\\n    if (!isInsideEventHandler) {\\n      finishEventHandler();\\n    }\\n  }\\n}\\nfunction flushDiscreteUpdatesIfNeeded(timeStamp) {\\n  // event.timeStamp isn't overly reliable due to inconsistencies in\\n  // how different browsers have historically provided the time stamp.\\n  // Some browsers provide high-resolution time stamps for all events,\\n  // some provide low-resolution time stamps for all events. FF < 52\\n  // even mixes both time stamps together. Some browsers even report\\n  // negative time stamps or time stamps that are 0 (iOS9) in some cases.\\n  // Given we are only comparing two time stamps with equality (!==),\\n  // we are safe from the resolution differences. If the time stamp is 0\\n  // we bail-out of preventing the flush, which can affect semantics,\\n  // such as if an earlier flush removes or adds event listeners that\\n  // are fired in the subsequent flush. However, this is the same\\n  // behaviour as we had before this change, so the risks are low.\\n  if (!isInsideEventHandler && (!enableDeprecatedFlareAPI  )) {\\n    flushDiscreteUpdatesImpl();\\n  }\\n}\\nfunction setBatchingImplementation(_batchedUpdatesImpl, _discreteUpdatesImpl, _flushDiscreteUpdatesImpl, _batchedEventUpdatesImpl) {\\n  batchedUpdatesImpl = _batchedUpdatesImpl;\\n  discreteUpdatesImpl = _discreteUpdatesImpl;\\n  flushDiscreteUpdatesImpl = _flushDiscreteUpdatesImpl;\\n  batchedEventUpdatesImpl = _batchedEventUpdatesImpl;\\n}\\n\\nvar DiscreteEvent = 0;\\nvar UserBlockingEvent = 1;\\nvar ContinuousEvent = 2;\\n\\n// A reserved attribute.\\n// It is handled by React separately and shouldn't be written to the DOM.\\nvar RESERVED = 0; // A simple string attribute.\\n// Attributes that aren't in the whitelist are presumed to have this type.\\n\\nvar STRING = 1; // A string attribute that accepts booleans in React. In HTML, these are called\\n// \\\"enumerated\\\" attributes with \\\"true\\\" and \\\"false\\\" as possible values.\\n// When true, it should be set to a \\\"true\\\" string.\\n// When false, it should be set to a \\\"false\\\" string.\\n\\nvar BOOLEANISH_STRING = 2; // A real boolean attribute.\\n// When true, it should be present (set either to an empty string or its name).\\n// When false, it should be omitted.\\n\\nvar BOOLEAN = 3; // An attribute that can be used as a flag as well as with a value.\\n// When true, it should be present (set either to an empty string or its name).\\n// When false, it should be omitted.\\n// For any other value, should be present with that value.\\n\\nvar OVERLOADED_BOOLEAN = 4; // An attribute that must be numeric or parse as a numeric.\\n// When falsy, it should be removed.\\n\\nvar NUMERIC = 5; // An attribute that must be positive numeric or parse as a positive numeric.\\n// When falsy, it should be removed.\\n\\nvar POSITIVE_NUMERIC = 6;\\n\\n/* eslint-disable max-len */\\nvar ATTRIBUTE_NAME_START_CHAR = \\\":A-Z_a-z\\\\\\\\u00C0-\\\\\\\\u00D6\\\\\\\\u00D8-\\\\\\\\u00F6\\\\\\\\u00F8-\\\\\\\\u02FF\\\\\\\\u0370-\\\\\\\\u037D\\\\\\\\u037F-\\\\\\\\u1FFF\\\\\\\\u200C-\\\\\\\\u200D\\\\\\\\u2070-\\\\\\\\u218F\\\\\\\\u2C00-\\\\\\\\u2FEF\\\\\\\\u3001-\\\\\\\\uD7FF\\\\\\\\uF900-\\\\\\\\uFDCF\\\\\\\\uFDF0-\\\\\\\\uFFFD\\\";\\n/* eslint-enable max-len */\\n\\nvar ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + \\\"\\\\\\\\-.0-9\\\\\\\\u00B7\\\\\\\\u0300-\\\\\\\\u036F\\\\\\\\u203F-\\\\\\\\u2040\\\";\\nvar ROOT_ATTRIBUTE_NAME = 'data-reactroot';\\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');\\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\\nvar illegalAttributeNameCache = {};\\nvar validatedAttributeNameCache = {};\\nfunction isAttributeNameSafe(attributeName) {\\n  if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {\\n    return true;\\n  }\\n\\n  if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {\\n    return false;\\n  }\\n\\n  if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\\n    validatedAttributeNameCache[attributeName] = true;\\n    return true;\\n  }\\n\\n  illegalAttributeNameCache[attributeName] = true;\\n\\n  {\\n    error('Invalid attribute name: `%s`', attributeName);\\n  }\\n\\n  return false;\\n}\\nfunction shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {\\n  if (propertyInfo !== null) {\\n    return propertyInfo.type === RESERVED;\\n  }\\n\\n  if (isCustomComponentTag) {\\n    return false;\\n  }\\n\\n  if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {\\n    return true;\\n  }\\n\\n  return false;\\n}\\nfunction shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {\\n  if (propertyInfo !== null && propertyInfo.type === RESERVED) {\\n    return false;\\n  }\\n\\n  switch (typeof value) {\\n    case 'function': // $FlowIssue symbol is perfectly valid here\\n\\n    case 'symbol':\\n      // eslint-disable-line\\n      return true;\\n\\n    case 'boolean':\\n      {\\n        if (isCustomComponentTag) {\\n          return false;\\n        }\\n\\n        if (propertyInfo !== null) {\\n          return !propertyInfo.acceptsBooleans;\\n        } else {\\n          var prefix = name.toLowerCase().slice(0, 5);\\n          return prefix !== 'data-' && prefix !== 'aria-';\\n        }\\n      }\\n\\n    default:\\n      return false;\\n  }\\n}\\nfunction shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {\\n  if (value === null || typeof value === 'undefined') {\\n    return true;\\n  }\\n\\n  if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {\\n    return true;\\n  }\\n\\n  if (isCustomComponentTag) {\\n    return false;\\n  }\\n\\n  if (propertyInfo !== null) {\\n    switch (propertyInfo.type) {\\n      case BOOLEAN:\\n        return !value;\\n\\n      case OVERLOADED_BOOLEAN:\\n        return value === false;\\n\\n      case NUMERIC:\\n        return isNaN(value);\\n\\n      case POSITIVE_NUMERIC:\\n        return isNaN(value) || value < 1;\\n    }\\n  }\\n\\n  return false;\\n}\\nfunction getPropertyInfo(name) {\\n  return properties.hasOwnProperty(name) ? properties[name] : null;\\n}\\n\\nfunction PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace, sanitizeURL) {\\n  this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;\\n  this.attributeName = attributeName;\\n  this.attributeNamespace = attributeNamespace;\\n  this.mustUseProperty = mustUseProperty;\\n  this.propertyName = name;\\n  this.type = type;\\n  this.sanitizeURL = sanitizeURL;\\n} // When adding attributes to this list, be sure to also add them to\\n// the `possibleStandardNames` module to ensure casing and incorrect\\n// name warnings.\\n\\n\\nvar properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.\\n\\nvar reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular\\n// elements (not just inputs). Now that ReactDOMInput assigns to the\\n// defaultValue property -- do we need this?\\n'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];\\n\\nreservedProps.forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty\\n  name, // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // A few React string attributes have a different name.\\n// This is a mapping from React prop names to the attribute names.\\n\\n[['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {\\n  var name = _ref[0],\\n      attributeName = _ref[1];\\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\\n  attributeName, // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are \\\"enumerated\\\" HTML attributes that accept \\\"true\\\" and \\\"false\\\".\\n// In React, we let users pass `true` and `false` even though technically\\n// these aren't boolean attributes (they are coerced to strings).\\n\\n['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\\n  name.toLowerCase(), // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are \\\"enumerated\\\" SVG attributes that accept \\\"true\\\" and \\\"false\\\".\\n// In React, we let users pass `true` and `false` even though technically\\n// these aren't boolean attributes (they are coerced to strings).\\n// Since these are SVG attributes, their attribute names are case-sensitive.\\n\\n['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty\\n  name, // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are HTML boolean attributes.\\n\\n['allowFullScreen', 'async', // Note: there is a special case that prevents it from being written to the DOM\\n// on the client side because the browsers are inconsistent. Instead we call focus().\\n'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'disablePictureInPicture', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless', // Microdata\\n'itemScope'].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty\\n  name.toLowerCase(), // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are the few React props that we set as DOM properties\\n// rather than attributes. These are all booleans.\\n\\n['checked', // Note: `option.selected` is not updated if `select.multiple` is\\n// disabled with `removeAttribute`. We have special logic for handling this.\\n'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,\\n// you'll need to set attributeName to name.toLowerCase()\\n// instead in the assignment below.\\n].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty\\n  name, // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are HTML attributes that are \\\"overloaded booleans\\\": they behave like\\n// booleans, but can also accept a string value.\\n\\n['capture', 'download' // NOTE: if you add a camelCased prop to this list,\\n// you'll need to set attributeName to name.toLowerCase()\\n// instead in the assignment below.\\n].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty\\n  name, // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are HTML attributes that must be positive numbers.\\n\\n['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,\\n// you'll need to set attributeName to name.toLowerCase()\\n// instead in the assignment below.\\n].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty\\n  name, // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These are HTML attributes that must be numbers.\\n\\n['rowSpan', 'start'].forEach(function (name) {\\n  properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty\\n  name.toLowerCase(), // attributeName\\n  null, // attributeNamespace\\n  false);\\n});\\nvar CAMELIZE = /[\\\\-\\\\:]([a-z])/g;\\n\\nvar capitalize = function (token) {\\n  return token[1].toUpperCase();\\n}; // This is a list of all SVG attributes that need special casing, namespacing,\\n// or boolean value assignment. Regular attributes that just accept strings\\n// and have the same names are omitted, just like in the HTML whitelist.\\n// Some of these attributes can be hard to find. This list was created by\\n// scraping the MDN documentation.\\n\\n\\n['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height' // NOTE: if you add a camelCased prop to this list,\\n// you'll need to set attributeName to name.toLowerCase()\\n// instead in the assignment below.\\n].forEach(function (attributeName) {\\n  var name = attributeName.replace(CAMELIZE, capitalize);\\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\\n  attributeName, null, // attributeNamespace\\n  false);\\n}); // String SVG attributes with the xlink namespace.\\n\\n['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,\\n// you'll need to set attributeName to name.toLowerCase()\\n// instead in the assignment below.\\n].forEach(function (attributeName) {\\n  var name = attributeName.replace(CAMELIZE, capitalize);\\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\\n  attributeName, 'http://www.w3.org/1999/xlink', false);\\n}); // String SVG attributes with the xml namespace.\\n\\n['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,\\n// you'll need to set attributeName to name.toLowerCase()\\n// instead in the assignment below.\\n].forEach(function (attributeName) {\\n  var name = attributeName.replace(CAMELIZE, capitalize);\\n  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty\\n  attributeName, 'http://www.w3.org/XML/1998/namespace', false);\\n}); // These attribute exists both in HTML and SVG.\\n// The attribute name is case-sensitive in SVG so we can't just use\\n// the React name like we do for attributes that exist only in HTML.\\n\\n['tabIndex', 'crossOrigin'].forEach(function (attributeName) {\\n  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\\n  attributeName.toLowerCase(), // attributeName\\n  null, // attributeNamespace\\n  false);\\n}); // These attributes accept URLs. These must not allow javascript: URLS.\\n// These will also need to accept Trusted Types object in the future.\\n\\nvar xlinkHref = 'xlinkHref';\\nproperties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mustUseProperty\\n'xlink:href', 'http://www.w3.org/1999/xlink', true);\\n['src', 'href', 'action', 'formAction'].forEach(function (attributeName) {\\n  properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty\\n  attributeName.toLowerCase(), // attributeName\\n  null, // attributeNamespace\\n  true);\\n});\\n\\nvar ReactDebugCurrentFrame = null;\\n\\n{\\n  ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\\n} // A javascript: URL can contain leading C0 control or \\\\u0020 SPACE,\\n// and any newline or tab are filtered out as if they're not part of the URL.\\n// https://url.spec.whatwg.org/#url-parsing\\n// Tab or newline are defined as \\\\r\\\\n\\\\t:\\n// https://infra.spec.whatwg.org/#ascii-tab-or-newline\\n// A C0 control is a code point in the range \\\\u0000 NULL to \\\\u001F\\n// INFORMATION SEPARATOR ONE, inclusive:\\n// https://infra.spec.whatwg.org/#c0-control-or-space\\n\\n/* eslint-disable max-len */\\n\\n\\nvar isJavaScriptProtocol = /^[\\\\u0000-\\\\u001F ]*j[\\\\r\\\\n\\\\t]*a[\\\\r\\\\n\\\\t]*v[\\\\r\\\\n\\\\t]*a[\\\\r\\\\n\\\\t]*s[\\\\r\\\\n\\\\t]*c[\\\\r\\\\n\\\\t]*r[\\\\r\\\\n\\\\t]*i[\\\\r\\\\n\\\\t]*p[\\\\r\\\\n\\\\t]*t[\\\\r\\\\n\\\\t]*\\\\:/i;\\nvar didWarn = false;\\n\\nfunction sanitizeURL(url) {\\n  {\\n    if (!didWarn && isJavaScriptProtocol.test(url)) {\\n      didWarn = true;\\n\\n      error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));\\n    }\\n  }\\n}\\n\\n/**\\n * Get the value for a property on a node. Only used in DEV for SSR validation.\\n * The \\\"expected\\\" argument is used as a hint of what the expected value is.\\n * Some properties have multiple equivalent values.\\n */\\nfunction getValueForProperty(node, name, expected, propertyInfo) {\\n  {\\n    if (propertyInfo.mustUseProperty) {\\n      var propertyName = propertyInfo.propertyName;\\n      return node[propertyName];\\n    } else {\\n      if ( propertyInfo.sanitizeURL) {\\n        // If we haven't fully disabled javascript: URLs, and if\\n        // the hydration is successful of a javascript: URL, we\\n        // still want to warn on the client.\\n        sanitizeURL('' + expected);\\n      }\\n\\n      var attributeName = propertyInfo.attributeName;\\n      var stringValue = null;\\n\\n      if (propertyInfo.type === OVERLOADED_BOOLEAN) {\\n        if (node.hasAttribute(attributeName)) {\\n          var value = node.getAttribute(attributeName);\\n\\n          if (value === '') {\\n            return true;\\n          }\\n\\n          if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\\n            return value;\\n          }\\n\\n          if (value === '' + expected) {\\n            return expected;\\n          }\\n\\n          return value;\\n        }\\n      } else if (node.hasAttribute(attributeName)) {\\n        if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\\n          // We had an attribute but shouldn't have had one, so read it\\n          // for the error message.\\n          return node.getAttribute(attributeName);\\n        }\\n\\n        if (propertyInfo.type === BOOLEAN) {\\n          // If this was a boolean, it doesn't matter what the value is\\n          // the fact that we have it is the same as the expected.\\n          return expected;\\n        } // Even if this property uses a namespace we use getAttribute\\n        // because we assume its namespaced name is the same as our config.\\n        // To use getAttributeNS we need the local name which we don't have\\n        // in our config atm.\\n\\n\\n        stringValue = node.getAttribute(attributeName);\\n      }\\n\\n      if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {\\n        return stringValue === null ? expected : stringValue;\\n      } else if (stringValue === '' + expected) {\\n        return expected;\\n      } else {\\n        return stringValue;\\n      }\\n    }\\n  }\\n}\\n/**\\n * Get the value for a attribute on a node. Only used in DEV for SSR validation.\\n * The third argument is used as a hint of what the expected value is. Some\\n * attributes have multiple equivalent values.\\n */\\n\\nfunction getValueForAttribute(node, name, expected) {\\n  {\\n    if (!isAttributeNameSafe(name)) {\\n      return;\\n    }\\n\\n    if (!node.hasAttribute(name)) {\\n      return expected === undefined ? undefined : null;\\n    }\\n\\n    var value = node.getAttribute(name);\\n\\n    if (value === '' + expected) {\\n      return expected;\\n    }\\n\\n    return value;\\n  }\\n}\\n/**\\n * Sets the value for a property on a node.\\n *\\n * @param {DOMElement} node\\n * @param {string} name\\n * @param {*} value\\n */\\n\\nfunction setValueForProperty(node, name, value, isCustomComponentTag) {\\n  var propertyInfo = getPropertyInfo(name);\\n\\n  if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {\\n    return;\\n  }\\n\\n  if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {\\n    value = null;\\n  } // If the prop isn't in the special list, treat it as a simple attribute.\\n\\n\\n  if (isCustomComponentTag || propertyInfo === null) {\\n    if (isAttributeNameSafe(name)) {\\n      var _attributeName = name;\\n\\n      if (value === null) {\\n        node.removeAttribute(_attributeName);\\n      } else {\\n        node.setAttribute(_attributeName,  '' + value);\\n      }\\n    }\\n\\n    return;\\n  }\\n\\n  var mustUseProperty = propertyInfo.mustUseProperty;\\n\\n  if (mustUseProperty) {\\n    var propertyName = propertyInfo.propertyName;\\n\\n    if (value === null) {\\n      var type = propertyInfo.type;\\n      node[propertyName] = type === BOOLEAN ? false : '';\\n    } else {\\n      // Contrary to `setAttribute`, object properties are properly\\n      // `toString`ed by IE8/9.\\n      node[propertyName] = value;\\n    }\\n\\n    return;\\n  } // The rest are treated as attributes with special cases.\\n\\n\\n  var attributeName = propertyInfo.attributeName,\\n      attributeNamespace = propertyInfo.attributeNamespace;\\n\\n  if (value === null) {\\n    node.removeAttribute(attributeName);\\n  } else {\\n    var _type = propertyInfo.type;\\n    var attributeValue;\\n\\n    if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {\\n      // If attribute type is boolean, we know for sure it won't be an execution sink\\n      // and we won't require Trusted Type here.\\n      attributeValue = '';\\n    } else {\\n      // `setAttribute` with objects becomes only `[object]` in IE8/9,\\n      // ('' + value) makes it output the correct toString()-value.\\n      {\\n        attributeValue = '' + value;\\n      }\\n\\n      if (propertyInfo.sanitizeURL) {\\n        sanitizeURL(attributeValue.toString());\\n      }\\n    }\\n\\n    if (attributeNamespace) {\\n      node.setAttributeNS(attributeNamespace, attributeName, attributeValue);\\n    } else {\\n      node.setAttribute(attributeName, attributeValue);\\n    }\\n  }\\n}\\n\\nvar BEFORE_SLASH_RE = /^(.*)[\\\\\\\\\\\\/]/;\\nfunction describeComponentFrame (name, source, ownerName) {\\n  var sourceInfo = '';\\n\\n  if (source) {\\n    var path = source.fileName;\\n    var fileName = path.replace(BEFORE_SLASH_RE, '');\\n\\n    {\\n      // In DEV, include code for a common special case:\\n      // prefer \\\"folder/index.js\\\" instead of just \\\"index.js\\\".\\n      if (/^index\\\\./.test(fileName)) {\\n        var match = path.match(BEFORE_SLASH_RE);\\n\\n        if (match) {\\n          var pathBeforeSlash = match[1];\\n\\n          if (pathBeforeSlash) {\\n            var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');\\n            fileName = folderName + '/' + fileName;\\n          }\\n        }\\n      }\\n    }\\n\\n    sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';\\n  } else if (ownerName) {\\n    sourceInfo = ' (created by ' + ownerName + ')';\\n  }\\n\\n  return '\\\\n    in ' + (name || 'Unknown') + sourceInfo;\\n}\\n\\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\\n// nor polyfill, then a plain number is used for performance.\\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\\nfunction getIteratorFn(maybeIterable) {\\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\\n    return null;\\n  }\\n\\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\\n\\n  if (typeof maybeIterator === 'function') {\\n    return maybeIterator;\\n  }\\n\\n  return null;\\n}\\n\\nvar Uninitialized = -1;\\nvar Pending = 0;\\nvar Resolved = 1;\\nvar Rejected = 2;\\nfunction refineResolvedLazyComponent(lazyComponent) {\\n  return lazyComponent._status === Resolved ? lazyComponent._result : null;\\n}\\nfunction initializeLazyComponentType(lazyComponent) {\\n  if (lazyComponent._status === Uninitialized) {\\n    lazyComponent._status = Pending;\\n    var ctor = lazyComponent._ctor;\\n    var thenable = ctor();\\n    lazyComponent._result = thenable;\\n    thenable.then(function (moduleObject) {\\n      if (lazyComponent._status === Pending) {\\n        var defaultExport = moduleObject.default;\\n\\n        {\\n          if (defaultExport === undefined) {\\n            error('lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\\\\n\\\\nYour code should look like: \\\\n  ' + \\\"const MyComponent = lazy(() => import('./MyComponent'))\\\", moduleObject);\\n          }\\n        }\\n\\n        lazyComponent._status = Resolved;\\n        lazyComponent._result = defaultExport;\\n      }\\n    }, function (error) {\\n      if (lazyComponent._status === Pending) {\\n        lazyComponent._status = Rejected;\\n        lazyComponent._result = error;\\n      }\\n    });\\n  }\\n}\\n\\nfunction getWrappedName(outerType, innerType, wrapperName) {\\n  var functionName = innerType.displayName || innerType.name || '';\\n  return outerType.displayName || (functionName !== '' ? wrapperName + \\\"(\\\" + functionName + \\\")\\\" : wrapperName);\\n}\\n\\nfunction getComponentName(type) {\\n  if (type == null) {\\n    // Host root, text node or just invalid type.\\n    return null;\\n  }\\n\\n  {\\n    if (typeof type.tag === 'number') {\\n      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\\n    }\\n  }\\n\\n  if (typeof type === 'function') {\\n    return type.displayName || type.name || null;\\n  }\\n\\n  if (typeof type === 'string') {\\n    return type;\\n  }\\n\\n  switch (type) {\\n    case REACT_FRAGMENT_TYPE:\\n      return 'Fragment';\\n\\n    case REACT_PORTAL_TYPE:\\n      return 'Portal';\\n\\n    case REACT_PROFILER_TYPE:\\n      return \\\"Profiler\\\";\\n\\n    case REACT_STRICT_MODE_TYPE:\\n      return 'StrictMode';\\n\\n    case REACT_SUSPENSE_TYPE:\\n      return 'Suspense';\\n\\n    case REACT_SUSPENSE_LIST_TYPE:\\n      return 'SuspenseList';\\n  }\\n\\n  if (typeof type === 'object') {\\n    switch (type.$$typeof) {\\n      case REACT_CONTEXT_TYPE:\\n        return 'Context.Consumer';\\n\\n      case REACT_PROVIDER_TYPE:\\n        return 'Context.Provider';\\n\\n      case REACT_FORWARD_REF_TYPE:\\n        return getWrappedName(type, type.render, 'ForwardRef');\\n\\n      case REACT_MEMO_TYPE:\\n        return getComponentName(type.type);\\n\\n      case REACT_BLOCK_TYPE:\\n        return getComponentName(type.render);\\n\\n      case REACT_LAZY_TYPE:\\n        {\\n          var thenable = type;\\n          var resolvedThenable = refineResolvedLazyComponent(thenable);\\n\\n          if (resolvedThenable) {\\n            return getComponentName(resolvedThenable);\\n          }\\n\\n          break;\\n        }\\n    }\\n  }\\n\\n  return null;\\n}\\n\\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\\n\\nfunction describeFiber(fiber) {\\n  switch (fiber.tag) {\\n    case HostRoot:\\n    case HostPortal:\\n    case HostText:\\n    case Fragment:\\n    case ContextProvider:\\n    case ContextConsumer:\\n      return '';\\n\\n    default:\\n      var owner = fiber._debugOwner;\\n      var source = fiber._debugSource;\\n      var name = getComponentName(fiber.type);\\n      var ownerName = null;\\n\\n      if (owner) {\\n        ownerName = getComponentName(owner.type);\\n      }\\n\\n      return describeComponentFrame(name, source, ownerName);\\n  }\\n}\\n\\nfunction getStackByFiberInDevAndProd(workInProgress) {\\n  var info = '';\\n  var node = workInProgress;\\n\\n  do {\\n    info += describeFiber(node);\\n    node = node.return;\\n  } while (node);\\n\\n  return info;\\n}\\nvar current = null;\\nvar isRendering = false;\\nfunction getCurrentFiberOwnerNameInDevOrNull() {\\n  {\\n    if (current === null) {\\n      return null;\\n    }\\n\\n    var owner = current._debugOwner;\\n\\n    if (owner !== null && typeof owner !== 'undefined') {\\n      return getComponentName(owner.type);\\n    }\\n  }\\n\\n  return null;\\n}\\nfunction getCurrentFiberStackInDev() {\\n  {\\n    if (current === null) {\\n      return '';\\n    } // Safe because if current fiber exists, we are reconciling,\\n    // and it is guaranteed to be the work-in-progress version.\\n\\n\\n    return getStackByFiberInDevAndProd(current);\\n  }\\n}\\nfunction resetCurrentFiber() {\\n  {\\n    ReactDebugCurrentFrame$1.getCurrentStack = null;\\n    current = null;\\n    isRendering = false;\\n  }\\n}\\nfunction setCurrentFiber(fiber) {\\n  {\\n    ReactDebugCurrentFrame$1.getCurrentStack = getCurrentFiberStackInDev;\\n    current = fiber;\\n    isRendering = false;\\n  }\\n}\\nfunction setIsRendering(rendering) {\\n  {\\n    isRendering = rendering;\\n  }\\n}\\n\\n// Flow does not allow string concatenation of most non-string types. To work\\n// around this limitation, we use an opaque type that can only be obtained by\\n// passing the value through getToStringValue first.\\nfunction toString(value) {\\n  return '' + value;\\n}\\nfunction getToStringValue(value) {\\n  switch (typeof value) {\\n    case 'boolean':\\n    case 'number':\\n    case 'object':\\n    case 'string':\\n    case 'undefined':\\n      return value;\\n\\n    default:\\n      // function, symbol are assigned as empty strings\\n      return '';\\n  }\\n}\\n\\nvar ReactDebugCurrentFrame$2 = null;\\nvar ReactControlledValuePropTypes = {\\n  checkPropTypes: null\\n};\\n\\n{\\n  ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame;\\n  var hasReadOnlyValue = {\\n    button: true,\\n    checkbox: true,\\n    image: true,\\n    hidden: true,\\n    radio: true,\\n    reset: true,\\n    submit: true\\n  };\\n  var propTypes = {\\n    value: function (props, propName, componentName) {\\n      if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {\\n        return null;\\n      }\\n\\n      return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\\n    },\\n    checked: function (props, propName, componentName) {\\n      if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {\\n        return null;\\n      }\\n\\n      return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\\n    }\\n  };\\n  /**\\n   * Provide a linked `value` attribute for controlled forms. You should not use\\n   * this outside of the ReactDOM controlled form components.\\n   */\\n\\n  ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) {\\n    checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$2.getStackAddendum);\\n  };\\n}\\n\\nfunction isCheckable(elem) {\\n  var type = elem.type;\\n  var nodeName = elem.nodeName;\\n  return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\\n}\\n\\nfunction getTracker(node) {\\n  return node._valueTracker;\\n}\\n\\nfunction detachTracker(node) {\\n  node._valueTracker = null;\\n}\\n\\nfunction getValueFromNode(node) {\\n  var value = '';\\n\\n  if (!node) {\\n    return value;\\n  }\\n\\n  if (isCheckable(node)) {\\n    value = node.checked ? 'true' : 'false';\\n  } else {\\n    value = node.value;\\n  }\\n\\n  return value;\\n}\\n\\nfunction trackValueOnNode(node) {\\n  var valueField = isCheckable(node) ? 'checked' : 'value';\\n  var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\\n  var currentValue = '' + node[valueField]; // if someone has already defined a value or Safari, then bail\\n  // and don't track value will cause over reporting of changes,\\n  // but it's better then a hard failure\\n  // (needed for certain tests that spyOn input values and Safari)\\n\\n  if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\\n    return;\\n  }\\n\\n  var get = descriptor.get,\\n      set = descriptor.set;\\n  Object.defineProperty(node, valueField, {\\n    configurable: true,\\n    get: function () {\\n      return get.call(this);\\n    },\\n    set: function (value) {\\n      currentValue = '' + value;\\n      set.call(this, value);\\n    }\\n  }); // We could've passed this the first time\\n  // but it triggers a bug in IE11 and Edge 14/15.\\n  // Calling defineProperty() again should be equivalent.\\n  // https://github.com/facebook/react/issues/11768\\n\\n  Object.defineProperty(node, valueField, {\\n    enumerable: descriptor.enumerable\\n  });\\n  var tracker = {\\n    getValue: function () {\\n      return currentValue;\\n    },\\n    setValue: function (value) {\\n      currentValue = '' + value;\\n    },\\n    stopTracking: function () {\\n      detachTracker(node);\\n      delete node[valueField];\\n    }\\n  };\\n  return tracker;\\n}\\n\\nfunction track(node) {\\n  if (getTracker(node)) {\\n    return;\\n  } // TODO: Once it's just Fiber we can move this to node._wrapperState\\n\\n\\n  node._valueTracker = trackValueOnNode(node);\\n}\\nfunction updateValueIfChanged(node) {\\n  if (!node) {\\n    return false;\\n  }\\n\\n  var tracker = getTracker(node); // if there is no tracker at this point it's unlikely\\n  // that trying again will succeed\\n\\n  if (!tracker) {\\n    return true;\\n  }\\n\\n  var lastValue = tracker.getValue();\\n  var nextValue = getValueFromNode(node);\\n\\n  if (nextValue !== lastValue) {\\n    tracker.setValue(nextValue);\\n    return true;\\n  }\\n\\n  return false;\\n}\\n\\nvar didWarnValueDefaultValue = false;\\nvar didWarnCheckedDefaultChecked = false;\\nvar didWarnControlledToUncontrolled = false;\\nvar didWarnUncontrolledToControlled = false;\\n\\nfunction isControlled(props) {\\n  var usesChecked = props.type === 'checkbox' || props.type === 'radio';\\n  return usesChecked ? props.checked != null : props.value != null;\\n}\\n/**\\n * Implements an <input> host component that allows setting these optional\\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\\n *\\n * If `checked` or `value` are not supplied (or null/undefined), user actions\\n * that affect the checked state or value will trigger updates to the element.\\n *\\n * If they are supplied (and not null/undefined), the rendered element will not\\n * trigger updates to the element. Instead, the props must change in order for\\n * the rendered element to be updated.\\n *\\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\\n * with an empty value (or `defaultValue`).\\n *\\n * See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\\n */\\n\\n\\nfunction getHostProps(element, props) {\\n  var node = element;\\n  var checked = props.checked;\\n\\n  var hostProps = _assign({}, props, {\\n    defaultChecked: undefined,\\n    defaultValue: undefined,\\n    value: undefined,\\n    checked: checked != null ? checked : node._wrapperState.initialChecked\\n  });\\n\\n  return hostProps;\\n}\\nfunction initWrapperState(element, props) {\\n  {\\n    ReactControlledValuePropTypes.checkPropTypes('input', props);\\n\\n    if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\\n      error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\\n\\n      didWarnCheckedDefaultChecked = true;\\n    }\\n\\n    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\\n      error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component', props.type);\\n\\n      didWarnValueDefaultValue = true;\\n    }\\n  }\\n\\n  var node = element;\\n  var defaultValue = props.defaultValue == null ? '' : props.defaultValue;\\n  node._wrapperState = {\\n    initialChecked: props.checked != null ? props.checked : props.defaultChecked,\\n    initialValue: getToStringValue(props.value != null ? props.value : defaultValue),\\n    controlled: isControlled(props)\\n  };\\n}\\nfunction updateChecked(element, props) {\\n  var node = element;\\n  var checked = props.checked;\\n\\n  if (checked != null) {\\n    setValueForProperty(node, 'checked', checked, false);\\n  }\\n}\\nfunction updateWrapper(element, props) {\\n  var node = element;\\n\\n  {\\n    var controlled = isControlled(props);\\n\\n    if (!node._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\\n      error('A component is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type);\\n\\n      didWarnUncontrolledToControlled = true;\\n    }\\n\\n    if (node._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\\n      error('A component is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', props.type);\\n\\n      didWarnControlledToUncontrolled = true;\\n    }\\n  }\\n\\n  updateChecked(element, props);\\n  var value = getToStringValue(props.value);\\n  var type = props.type;\\n\\n  if (value != null) {\\n    if (type === 'number') {\\n      if (value === 0 && node.value === '' || // We explicitly want to coerce to number here if possible.\\n      // eslint-disable-next-line\\n      node.value != value) {\\n        node.value = toString(value);\\n      }\\n    } else if (node.value !== toString(value)) {\\n      node.value = toString(value);\\n    }\\n  } else if (type === 'submit' || type === 'reset') {\\n    // Submit/reset inputs need the attribute removed completely to avoid\\n    // blank-text buttons.\\n    node.removeAttribute('value');\\n    return;\\n  }\\n\\n  {\\n    // When syncing the value attribute, the value comes from a cascade of\\n    // properties:\\n    //  1. The value React property\\n    //  2. The defaultValue React property\\n    //  3. Otherwise there should be no change\\n    if (props.hasOwnProperty('value')) {\\n      setDefaultValue(node, props.type, value);\\n    } else if (props.hasOwnProperty('defaultValue')) {\\n      setDefaultValue(node, props.type, getToStringValue(props.defaultValue));\\n    }\\n  }\\n\\n  {\\n    // When syncing the checked attribute, it only changes when it needs\\n    // to be removed, such as transitioning from a checkbox into a text input\\n    if (props.checked == null && props.defaultChecked != null) {\\n      node.defaultChecked = !!props.defaultChecked;\\n    }\\n  }\\n}\\nfunction postMountWrapper(element, props, isHydrating) {\\n  var node = element; // Do not assign value if it is already set. This prevents user text input\\n  // from being lost during SSR hydration.\\n\\n  if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {\\n    var type = props.type;\\n    var isButton = type === 'submit' || type === 'reset'; // Avoid setting value attribute on submit/reset inputs as it overrides the\\n    // default value provided by the browser. See: #12872\\n\\n    if (isButton && (props.value === undefined || props.value === null)) {\\n      return;\\n    }\\n\\n    var initialValue = toString(node._wrapperState.initialValue); // Do not assign value if it is already set. This prevents user text input\\n    // from being lost during SSR hydration.\\n\\n    if (!isHydrating) {\\n      {\\n        // When syncing the value attribute, the value property should use\\n        // the wrapperState._initialValue property. This uses:\\n        //\\n        //   1. The value React property when present\\n        //   2. The defaultValue React property when present\\n        //   3. An empty string\\n        if (initialValue !== node.value) {\\n          node.value = initialValue;\\n        }\\n      }\\n    }\\n\\n    {\\n      // Otherwise, the value attribute is synchronized to the property,\\n      // so we assign defaultValue to the same thing as the value property\\n      // assignment step above.\\n      node.defaultValue = initialValue;\\n    }\\n  } // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\\n  // this is needed to work around a chrome bug where setting defaultChecked\\n  // will sometimes influence the value of checked (even after detachment).\\n  // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\\n  // We need to temporarily unset name to avoid disrupting radio button groups.\\n\\n\\n  var name = node.name;\\n\\n  if (name !== '') {\\n    node.name = '';\\n  }\\n\\n  {\\n    // When syncing the checked attribute, both the checked property and\\n    // attribute are assigned at the same time using defaultChecked. This uses:\\n    //\\n    //   1. The checked React property when present\\n    //   2. The defaultChecked React property when present\\n    //   3. Otherwise, false\\n    node.defaultChecked = !node.defaultChecked;\\n    node.defaultChecked = !!node._wrapperState.initialChecked;\\n  }\\n\\n  if (name !== '') {\\n    node.name = name;\\n  }\\n}\\nfunction restoreControlledState(element, props) {\\n  var node = element;\\n  updateWrapper(node, props);\\n  updateNamedCousins(node, props);\\n}\\n\\nfunction updateNamedCousins(rootNode, props) {\\n  var name = props.name;\\n\\n  if (props.type === 'radio' && name != null) {\\n    var queryRoot = rootNode;\\n\\n    while (queryRoot.parentNode) {\\n      queryRoot = queryRoot.parentNode;\\n    } // If `rootNode.form` was non-null, then we could try `form.elements`,\\n    // but that sometimes behaves strangely in IE8. We could also try using\\n    // `form.getElementsByName`, but that will only return direct children\\n    // and won't include inputs that use the HTML5 `form=` attribute. Since\\n    // the input might not even be in a form. It might not even be in the\\n    // document. Let's just use the local `querySelectorAll` to ensure we don't\\n    // miss anything.\\n\\n\\n    var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\\\"radio\\\"]');\\n\\n    for (var i = 0; i < group.length; i++) {\\n      var otherNode = group[i];\\n\\n      if (otherNode === rootNode || otherNode.form !== rootNode.form) {\\n        continue;\\n      } // This will throw if radio buttons rendered by different copies of React\\n      // and the same name are rendered into the same form (same as #1939).\\n      // That's probably okay; we don't support it just as we don't support\\n      // mixing React radio buttons with non-React ones.\\n\\n\\n      var otherProps = getFiberCurrentPropsFromNode$1(otherNode);\\n\\n      if (!otherProps) {\\n        {\\n          throw Error( \\\"ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.\\\" );\\n        }\\n      } // We need update the tracked value on the named cousin since the value\\n      // was changed but the input saw no event or value set\\n\\n\\n      updateValueIfChanged(otherNode); // If this is a controlled radio button group, forcing the input that\\n      // was previously checked to update will cause it to be come re-checked\\n      // as appropriate.\\n\\n      updateWrapper(otherNode, otherProps);\\n    }\\n  }\\n} // In Chrome, assigning defaultValue to certain input types triggers input validation.\\n// For number inputs, the display value loses trailing decimal points. For email inputs,\\n// Chrome raises \\\"The specified value <x> is not a valid email address\\\".\\n//\\n// Here we check to see if the defaultValue has actually changed, avoiding these problems\\n// when the user is inputting text\\n//\\n// https://github.com/facebook/react/issues/7253\\n\\n\\nfunction setDefaultValue(node, type, value) {\\n  if ( // Focused number inputs synchronize on blur. See ChangeEventPlugin.js\\n  type !== 'number' || node.ownerDocument.activeElement !== node) {\\n    if (value == null) {\\n      node.defaultValue = toString(node._wrapperState.initialValue);\\n    } else if (node.defaultValue !== toString(value)) {\\n      node.defaultValue = toString(value);\\n    }\\n  }\\n}\\n\\nvar didWarnSelectedSetOnOption = false;\\nvar didWarnInvalidChild = false;\\n\\nfunction flattenChildren(children) {\\n  var content = ''; // Flatten children. We'll warn if they are invalid\\n  // during validateProps() which runs for hydration too.\\n  // Note that this would throw on non-element objects.\\n  // Elements are stringified (which is normally irrelevant\\n  // but matters for <fbt>).\\n\\n  React.Children.forEach(children, function (child) {\\n    if (child == null) {\\n      return;\\n    }\\n\\n    content += child; // Note: we don't warn about invalid children here.\\n    // Instead, this is done separately below so that\\n    // it happens during the hydration codepath too.\\n  });\\n  return content;\\n}\\n/**\\n * Implements an <option> host component that warns when `selected` is set.\\n */\\n\\n\\nfunction validateProps(element, props) {\\n  {\\n    // This mirrors the codepath above, but runs for hydration too.\\n    // Warn about invalid children here so that client and hydration are consistent.\\n    // TODO: this seems like it could cause a DEV-only throw for hydration\\n    // if children contains a non-element object. We should try to avoid that.\\n    if (typeof props.children === 'object' && props.children !== null) {\\n      React.Children.forEach(props.children, function (child) {\\n        if (child == null) {\\n          return;\\n        }\\n\\n        if (typeof child === 'string' || typeof child === 'number') {\\n          return;\\n        }\\n\\n        if (typeof child.type !== 'string') {\\n          return;\\n        }\\n\\n        if (!didWarnInvalidChild) {\\n          didWarnInvalidChild = true;\\n\\n          error('Only strings and numbers are supported as <option> children.');\\n        }\\n      });\\n    } // TODO: Remove support for `selected` in <option>.\\n\\n\\n    if (props.selected != null && !didWarnSelectedSetOnOption) {\\n      error('Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');\\n\\n      didWarnSelectedSetOnOption = true;\\n    }\\n  }\\n}\\nfunction postMountWrapper$1(element, props) {\\n  // value=\\\"\\\" should make a value attribute (#6219)\\n  if (props.value != null) {\\n    element.setAttribute('value', toString(getToStringValue(props.value)));\\n  }\\n}\\nfunction getHostProps$1(element, props) {\\n  var hostProps = _assign({\\n    children: undefined\\n  }, props);\\n\\n  var content = flattenChildren(props.children);\\n\\n  if (content) {\\n    hostProps.children = content;\\n  }\\n\\n  return hostProps;\\n}\\n\\nvar didWarnValueDefaultValue$1;\\n\\n{\\n  didWarnValueDefaultValue$1 = false;\\n}\\n\\nfunction getDeclarationErrorAddendum() {\\n  var ownerName = getCurrentFiberOwnerNameInDevOrNull();\\n\\n  if (ownerName) {\\n    return '\\\\n\\\\nCheck the render method of `' + ownerName + '`.';\\n  }\\n\\n  return '';\\n}\\n\\nvar valuePropNames = ['value', 'defaultValue'];\\n/**\\n * Validation function for `value` and `defaultValue`.\\n */\\n\\nfunction checkSelectPropTypes(props) {\\n  {\\n    ReactControlledValuePropTypes.checkPropTypes('select', props);\\n\\n    for (var i = 0; i < valuePropNames.length; i++) {\\n      var propName = valuePropNames[i];\\n\\n      if (props[propName] == null) {\\n        continue;\\n      }\\n\\n      var isArray = Array.isArray(props[propName]);\\n\\n      if (props.multiple && !isArray) {\\n        error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());\\n      } else if (!props.multiple && isArray) {\\n        error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());\\n      }\\n    }\\n  }\\n}\\n\\nfunction updateOptions(node, multiple, propValue, setDefaultSelected) {\\n  var options = node.options;\\n\\n  if (multiple) {\\n    var selectedValues = propValue;\\n    var selectedValue = {};\\n\\n    for (var i = 0; i < selectedValues.length; i++) {\\n      // Prefix to avoid chaos with special keys.\\n      selectedValue['$' + selectedValues[i]] = true;\\n    }\\n\\n    for (var _i = 0; _i < options.length; _i++) {\\n      var selected = selectedValue.hasOwnProperty('$' + options[_i].value);\\n\\n      if (options[_i].selected !== selected) {\\n        options[_i].selected = selected;\\n      }\\n\\n      if (selected && setDefaultSelected) {\\n        options[_i].defaultSelected = true;\\n      }\\n    }\\n  } else {\\n    // Do not set `select.value` as exact behavior isn't consistent across all\\n    // browsers for all cases.\\n    var _selectedValue = toString(getToStringValue(propValue));\\n\\n    var defaultSelected = null;\\n\\n    for (var _i2 = 0; _i2 < options.length; _i2++) {\\n      if (options[_i2].value === _selectedValue) {\\n        options[_i2].selected = true;\\n\\n        if (setDefaultSelected) {\\n          options[_i2].defaultSelected = true;\\n        }\\n\\n        return;\\n      }\\n\\n      if (defaultSelected === null && !options[_i2].disabled) {\\n        defaultSelected = options[_i2];\\n      }\\n    }\\n\\n    if (defaultSelected !== null) {\\n      defaultSelected.selected = true;\\n    }\\n  }\\n}\\n/**\\n * Implements a <select> host component that allows optionally setting the\\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\\n * stringable. If `multiple` is true, the prop must be an array of stringables.\\n *\\n * If `value` is not supplied (or null/undefined), user actions that change the\\n * selected option will trigger updates to the rendered options.\\n *\\n * If it is supplied (and not null/undefined), the rendered options will not\\n * update in response to user actions. Instead, the `value` prop must change in\\n * order for the rendered options to update.\\n *\\n * If `defaultValue` is provided, any options with the supplied values will be\\n * selected.\\n */\\n\\n\\nfunction getHostProps$2(element, props) {\\n  return _assign({}, props, {\\n    value: undefined\\n  });\\n}\\nfunction initWrapperState$1(element, props) {\\n  var node = element;\\n\\n  {\\n    checkSelectPropTypes(props);\\n  }\\n\\n  node._wrapperState = {\\n    wasMultiple: !!props.multiple\\n  };\\n\\n  {\\n    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue$1) {\\n      error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');\\n\\n      didWarnValueDefaultValue$1 = true;\\n    }\\n  }\\n}\\nfunction postMountWrapper$2(element, props) {\\n  var node = element;\\n  node.multiple = !!props.multiple;\\n  var value = props.value;\\n\\n  if (value != null) {\\n    updateOptions(node, !!props.multiple, value, false);\\n  } else if (props.defaultValue != null) {\\n    updateOptions(node, !!props.multiple, props.defaultValue, true);\\n  }\\n}\\nfunction postUpdateWrapper(element, props) {\\n  var node = element;\\n  var wasMultiple = node._wrapperState.wasMultiple;\\n  node._wrapperState.wasMultiple = !!props.multiple;\\n  var value = props.value;\\n\\n  if (value != null) {\\n    updateOptions(node, !!props.multiple, value, false);\\n  } else if (wasMultiple !== !!props.multiple) {\\n    // For simplicity, reapply `defaultValue` if `multiple` is toggled.\\n    if (props.defaultValue != null) {\\n      updateOptions(node, !!props.multiple, props.defaultValue, true);\\n    } else {\\n      // Revert the select back to its default unselected state.\\n      updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);\\n    }\\n  }\\n}\\nfunction restoreControlledState$1(element, props) {\\n  var node = element;\\n  var value = props.value;\\n\\n  if (value != null) {\\n    updateOptions(node, !!props.multiple, value, false);\\n  }\\n}\\n\\nvar didWarnValDefaultVal = false;\\n\\n/**\\n * Implements a <textarea> host component that allows setting `value`, and\\n * `defaultValue`. This differs from the traditional DOM API because value is\\n * usually set as PCDATA children.\\n *\\n * If `value` is not supplied (or null/undefined), user actions that affect the\\n * value will trigger updates to the element.\\n *\\n * If `value` is supplied (and not null/undefined), the rendered element will\\n * not trigger updates to the element. Instead, the `value` prop must change in\\n * order for the rendered element to be updated.\\n *\\n * The rendered element will be initialized with an empty value, the prop\\n * `defaultValue` if specified, or the children content (deprecated).\\n */\\nfunction getHostProps$3(element, props) {\\n  var node = element;\\n\\n  if (!(props.dangerouslySetInnerHTML == null)) {\\n    {\\n      throw Error( \\\"`dangerouslySetInnerHTML` does not make sense on <textarea>.\\\" );\\n    }\\n  } // Always set children to the same thing. In IE9, the selection range will\\n  // get reset if `textContent` is mutated.  We could add a check in setTextContent\\n  // to only set the value if/when the value differs from the node value (which would\\n  // completely solve this IE9 bug), but Sebastian+Sophie seemed to like this\\n  // solution. The value can be a boolean or object so that's why it's forced\\n  // to be a string.\\n\\n\\n  var hostProps = _assign({}, props, {\\n    value: undefined,\\n    defaultValue: undefined,\\n    children: toString(node._wrapperState.initialValue)\\n  });\\n\\n  return hostProps;\\n}\\nfunction initWrapperState$2(element, props) {\\n  var node = element;\\n\\n  {\\n    ReactControlledValuePropTypes.checkPropTypes('textarea', props);\\n\\n    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\\n      error('%s contains a textarea with both value and defaultValue props. ' + 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', getCurrentFiberOwnerNameInDevOrNull() || 'A component');\\n\\n      didWarnValDefaultVal = true;\\n    }\\n  }\\n\\n  var initialValue = props.value; // Only bother fetching default value if we're going to use it\\n\\n  if (initialValue == null) {\\n    var children = props.children,\\n        defaultValue = props.defaultValue;\\n\\n    if (children != null) {\\n      {\\n        error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');\\n      }\\n\\n      {\\n        if (!(defaultValue == null)) {\\n          {\\n            throw Error( \\\"If you supply `defaultValue` on a <textarea>, do not pass children.\\\" );\\n          }\\n        }\\n\\n        if (Array.isArray(children)) {\\n          if (!(children.length <= 1)) {\\n            {\\n              throw Error( \\\"<textarea> can only have at most one child.\\\" );\\n            }\\n          }\\n\\n          children = children[0];\\n        }\\n\\n        defaultValue = children;\\n      }\\n    }\\n\\n    if (defaultValue == null) {\\n      defaultValue = '';\\n    }\\n\\n    initialValue = defaultValue;\\n  }\\n\\n  node._wrapperState = {\\n    initialValue: getToStringValue(initialValue)\\n  };\\n}\\nfunction updateWrapper$1(element, props) {\\n  var node = element;\\n  var value = getToStringValue(props.value);\\n  var defaultValue = getToStringValue(props.defaultValue);\\n\\n  if (value != null) {\\n    // Cast `value` to a string to ensure the value is set correctly. While\\n    // browsers typically do this as necessary, jsdom doesn't.\\n    var newValue = toString(value); // To avoid side effects (such as losing text selection), only set value if changed\\n\\n    if (newValue !== node.value) {\\n      node.value = newValue;\\n    }\\n\\n    if (props.defaultValue == null && node.defaultValue !== newValue) {\\n      node.defaultValue = newValue;\\n    }\\n  }\\n\\n  if (defaultValue != null) {\\n    node.defaultValue = toString(defaultValue);\\n  }\\n}\\nfunction postMountWrapper$3(element, props) {\\n  var node = element; // This is in postMount because we need access to the DOM node, which is not\\n  // available until after the component has mounted.\\n\\n  var textContent = node.textContent; // Only set node.value if textContent is equal to the expected\\n  // initial value. In IE10/IE11 there is a bug where the placeholder attribute\\n  // will populate textContent as well.\\n  // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\\n\\n  if (textContent === node._wrapperState.initialValue) {\\n    if (textContent !== '' && textContent !== null) {\\n      node.value = textContent;\\n    }\\n  }\\n}\\nfunction restoreControlledState$2(element, props) {\\n  // DOM component is still mounted; update\\n  updateWrapper$1(element, props);\\n}\\n\\nvar HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\\nvar MATH_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\\nvar SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\\nvar Namespaces = {\\n  html: HTML_NAMESPACE,\\n  mathml: MATH_NAMESPACE,\\n  svg: SVG_NAMESPACE\\n}; // Assumes there is no parent namespace.\\n\\nfunction getIntrinsicNamespace(type) {\\n  switch (type) {\\n    case 'svg':\\n      return SVG_NAMESPACE;\\n\\n    case 'math':\\n      return MATH_NAMESPACE;\\n\\n    default:\\n      return HTML_NAMESPACE;\\n  }\\n}\\nfunction getChildNamespace(parentNamespace, type) {\\n  if (parentNamespace == null || parentNamespace === HTML_NAMESPACE) {\\n    // No (or default) parent namespace: potential entry point.\\n    return getIntrinsicNamespace(type);\\n  }\\n\\n  if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {\\n    // We're leaving SVG.\\n    return HTML_NAMESPACE;\\n  } // By default, pass namespace below.\\n\\n\\n  return parentNamespace;\\n}\\n\\n/* globals MSApp */\\n\\n/**\\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\\n */\\nvar createMicrosoftUnsafeLocalFunction = function (func) {\\n  if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\\n    return function (arg0, arg1, arg2, arg3) {\\n      MSApp.execUnsafeLocalFunction(function () {\\n        return func(arg0, arg1, arg2, arg3);\\n      });\\n    };\\n  } else {\\n    return func;\\n  }\\n};\\n\\nvar reusableSVGContainer;\\n/**\\n * Set the innerHTML property of a node\\n *\\n * @param {DOMElement} node\\n * @param {string} html\\n * @internal\\n */\\n\\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\\n  if (node.namespaceURI === Namespaces.svg) {\\n\\n    if (!('innerHTML' in node)) {\\n      // IE does not have innerHTML for SVG nodes, so instead we inject the\\n      // new markup in a temp node and then move the child nodes across into\\n      // the target node\\n      reusableSVGContainer = reusableSVGContainer || document.createElement('div');\\n      reusableSVGContainer.innerHTML = '<svg>' + html.valueOf().toString() + '</svg>';\\n      var svgNode = reusableSVGContainer.firstChild;\\n\\n      while (node.firstChild) {\\n        node.removeChild(node.firstChild);\\n      }\\n\\n      while (svgNode.firstChild) {\\n        node.appendChild(svgNode.firstChild);\\n      }\\n\\n      return;\\n    }\\n  }\\n\\n  node.innerHTML = html;\\n});\\n\\n/**\\n * HTML nodeType values that represent the type of the node\\n */\\nvar ELEMENT_NODE = 1;\\nvar TEXT_NODE = 3;\\nvar COMMENT_NODE = 8;\\nvar DOCUMENT_NODE = 9;\\nvar DOCUMENT_FRAGMENT_NODE = 11;\\n\\n/**\\n * Set the textContent property of a node. For text updates, it's faster\\n * to set the `nodeValue` of the Text node directly instead of using\\n * `.textContent` which will remove the existing node and create a new one.\\n *\\n * @param {DOMElement} node\\n * @param {string} text\\n * @internal\\n */\\n\\nvar setTextContent = function (node, text) {\\n  if (text) {\\n    var firstChild = node.firstChild;\\n\\n    if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {\\n      firstChild.nodeValue = text;\\n      return;\\n    }\\n  }\\n\\n  node.textContent = text;\\n};\\n\\n// Do not use the below two methods directly!\\n// Instead use constants exported from DOMTopLevelEventTypes in ReactDOM.\\n// (It is the only module that is allowed to access these methods.)\\nfunction unsafeCastStringToDOMTopLevelType(topLevelType) {\\n  return topLevelType;\\n}\\nfunction unsafeCastDOMTopLevelTypeToString(topLevelType) {\\n  return topLevelType;\\n}\\n\\n/**\\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\\n *\\n * @param {string} styleProp\\n * @param {string} eventName\\n * @returns {object}\\n */\\n\\nfunction makePrefixMap(styleProp, eventName) {\\n  var prefixes = {};\\n  prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\\n  prefixes['Webkit' + styleProp] = 'webkit' + eventName;\\n  prefixes['Moz' + styleProp] = 'moz' + eventName;\\n  return prefixes;\\n}\\n/**\\n * A list of event names to a configurable list of vendor prefixes.\\n */\\n\\n\\nvar vendorPrefixes = {\\n  animationend: makePrefixMap('Animation', 'AnimationEnd'),\\n  animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\\n  animationstart: makePrefixMap('Animation', 'AnimationStart'),\\n  transitionend: makePrefixMap('Transition', 'TransitionEnd')\\n};\\n/**\\n * Event names that have already been detected and prefixed (if applicable).\\n */\\n\\nvar prefixedEventNames = {};\\n/**\\n * Element to check for prefixes on.\\n */\\n\\nvar style = {};\\n/**\\n * Bootstrap if a DOM exists.\\n */\\n\\nif (canUseDOM) {\\n  style = document.createElement('div').style; // On some platforms, in particular some releases of Android 4.x,\\n  // the un-prefixed \\\"animation\\\" and \\\"transition\\\" properties are defined on the\\n  // style object but the events that fire will still be prefixed, so we need\\n  // to check if the un-prefixed events are usable, and if not remove them from the map.\\n\\n  if (!('AnimationEvent' in window)) {\\n    delete vendorPrefixes.animationend.animation;\\n    delete vendorPrefixes.animationiteration.animation;\\n    delete vendorPrefixes.animationstart.animation;\\n  } // Same as above\\n\\n\\n  if (!('TransitionEvent' in window)) {\\n    delete vendorPrefixes.transitionend.transition;\\n  }\\n}\\n/**\\n * Attempts to determine the correct vendor prefixed event name.\\n *\\n * @param {string} eventName\\n * @returns {string}\\n */\\n\\n\\nfunction getVendorPrefixedEventName(eventName) {\\n  if (prefixedEventNames[eventName]) {\\n    return prefixedEventNames[eventName];\\n  } else if (!vendorPrefixes[eventName]) {\\n    return eventName;\\n  }\\n\\n  var prefixMap = vendorPrefixes[eventName];\\n\\n  for (var styleProp in prefixMap) {\\n    if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\\n      return prefixedEventNames[eventName] = prefixMap[styleProp];\\n    }\\n  }\\n\\n  return eventName;\\n}\\n\\n/**\\n * To identify top level events in ReactDOM, we use constants defined by this\\n * module. This is the only module that uses the unsafe* methods to express\\n * that the constants actually correspond to the browser event names. This lets\\n * us save some bundle size by avoiding a top level type -> event name map.\\n * The rest of ReactDOM code should import top level types from this file.\\n */\\n\\nvar TOP_ABORT = unsafeCastStringToDOMTopLevelType('abort');\\nvar TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend'));\\nvar TOP_ANIMATION_ITERATION = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationiteration'));\\nvar TOP_ANIMATION_START = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationstart'));\\nvar TOP_BLUR = unsafeCastStringToDOMTopLevelType('blur');\\nvar TOP_CAN_PLAY = unsafeCastStringToDOMTopLevelType('canplay');\\nvar TOP_CAN_PLAY_THROUGH = unsafeCastStringToDOMTopLevelType('canplaythrough');\\nvar TOP_CANCEL = unsafeCastStringToDOMTopLevelType('cancel');\\nvar TOP_CHANGE = unsafeCastStringToDOMTopLevelType('change');\\nvar TOP_CLICK = unsafeCastStringToDOMTopLevelType('click');\\nvar TOP_CLOSE = unsafeCastStringToDOMTopLevelType('close');\\nvar TOP_COMPOSITION_END = unsafeCastStringToDOMTopLevelType('compositionend');\\nvar TOP_COMPOSITION_START = unsafeCastStringToDOMTopLevelType('compositionstart');\\nvar TOP_COMPOSITION_UPDATE = unsafeCastStringToDOMTopLevelType('compositionupdate');\\nvar TOP_CONTEXT_MENU = unsafeCastStringToDOMTopLevelType('contextmenu');\\nvar TOP_COPY = unsafeCastStringToDOMTopLevelType('copy');\\nvar TOP_CUT = unsafeCastStringToDOMTopLevelType('cut');\\nvar TOP_DOUBLE_CLICK = unsafeCastStringToDOMTopLevelType('dblclick');\\nvar TOP_AUX_CLICK = unsafeCastStringToDOMTopLevelType('auxclick');\\nvar TOP_DRAG = unsafeCastStringToDOMTopLevelType('drag');\\nvar TOP_DRAG_END = unsafeCastStringToDOMTopLevelType('dragend');\\nvar TOP_DRAG_ENTER = unsafeCastStringToDOMTopLevelType('dragenter');\\nvar TOP_DRAG_EXIT = unsafeCastStringToDOMTopLevelType('dragexit');\\nvar TOP_DRAG_LEAVE = unsafeCastStringToDOMTopLevelType('dragleave');\\nvar TOP_DRAG_OVER = unsafeCastStringToDOMTopLevelType('dragover');\\nvar TOP_DRAG_START = unsafeCastStringToDOMTopLevelType('dragstart');\\nvar TOP_DROP = unsafeCastStringToDOMTopLevelType('drop');\\nvar TOP_DURATION_CHANGE = unsafeCastStringToDOMTopLevelType('durationchange');\\nvar TOP_EMPTIED = unsafeCastStringToDOMTopLevelType('emptied');\\nvar TOP_ENCRYPTED = unsafeCastStringToDOMTopLevelType('encrypted');\\nvar TOP_ENDED = unsafeCastStringToDOMTopLevelType('ended');\\nvar TOP_ERROR = unsafeCastStringToDOMTopLevelType('error');\\nvar TOP_FOCUS = unsafeCastStringToDOMTopLevelType('focus');\\nvar TOP_GOT_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('gotpointercapture');\\nvar TOP_INPUT = unsafeCastStringToDOMTopLevelType('input');\\nvar TOP_INVALID = unsafeCastStringToDOMTopLevelType('invalid');\\nvar TOP_KEY_DOWN = unsafeCastStringToDOMTopLevelType('keydown');\\nvar TOP_KEY_PRESS = unsafeCastStringToDOMTopLevelType('keypress');\\nvar TOP_KEY_UP = unsafeCastStringToDOMTopLevelType('keyup');\\nvar TOP_LOAD = unsafeCastStringToDOMTopLevelType('load');\\nvar TOP_LOAD_START = unsafeCastStringToDOMTopLevelType('loadstart');\\nvar TOP_LOADED_DATA = unsafeCastStringToDOMTopLevelType('loadeddata');\\nvar TOP_LOADED_METADATA = unsafeCastStringToDOMTopLevelType('loadedmetadata');\\nvar TOP_LOST_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('lostpointercapture');\\nvar TOP_MOUSE_DOWN = unsafeCastStringToDOMTopLevelType('mousedown');\\nvar TOP_MOUSE_MOVE = unsafeCastStringToDOMTopLevelType('mousemove');\\nvar TOP_MOUSE_OUT = unsafeCastStringToDOMTopLevelType('mouseout');\\nvar TOP_MOUSE_OVER = unsafeCastStringToDOMTopLevelType('mouseover');\\nvar TOP_MOUSE_UP = unsafeCastStringToDOMTopLevelType('mouseup');\\nvar TOP_PASTE = unsafeCastStringToDOMTopLevelType('paste');\\nvar TOP_PAUSE = unsafeCastStringToDOMTopLevelType('pause');\\nvar TOP_PLAY = unsafeCastStringToDOMTopLevelType('play');\\nvar TOP_PLAYING = unsafeCastStringToDOMTopLevelType('playing');\\nvar TOP_POINTER_CANCEL = unsafeCastStringToDOMTopLevelType('pointercancel');\\nvar TOP_POINTER_DOWN = unsafeCastStringToDOMTopLevelType('pointerdown');\\nvar TOP_POINTER_MOVE = unsafeCastStringToDOMTopLevelType('pointermove');\\nvar TOP_POINTER_OUT = unsafeCastStringToDOMTopLevelType('pointerout');\\nvar TOP_POINTER_OVER = unsafeCastStringToDOMTopLevelType('pointerover');\\nvar TOP_POINTER_UP = unsafeCastStringToDOMTopLevelType('pointerup');\\nvar TOP_PROGRESS = unsafeCastStringToDOMTopLevelType('progress');\\nvar TOP_RATE_CHANGE = unsafeCastStringToDOMTopLevelType('ratechange');\\nvar TOP_RESET = unsafeCastStringToDOMTopLevelType('reset');\\nvar TOP_SCROLL = unsafeCastStringToDOMTopLevelType('scroll');\\nvar TOP_SEEKED = unsafeCastStringToDOMTopLevelType('seeked');\\nvar TOP_SEEKING = unsafeCastStringToDOMTopLevelType('seeking');\\nvar TOP_SELECTION_CHANGE = unsafeCastStringToDOMTopLevelType('selectionchange');\\nvar TOP_STALLED = unsafeCastStringToDOMTopLevelType('stalled');\\nvar TOP_SUBMIT = unsafeCastStringToDOMTopLevelType('submit');\\nvar TOP_SUSPEND = unsafeCastStringToDOMTopLevelType('suspend');\\nvar TOP_TEXT_INPUT = unsafeCastStringToDOMTopLevelType('textInput');\\nvar TOP_TIME_UPDATE = unsafeCastStringToDOMTopLevelType('timeupdate');\\nvar TOP_TOGGLE = unsafeCastStringToDOMTopLevelType('toggle');\\nvar TOP_TOUCH_CANCEL = unsafeCastStringToDOMTopLevelType('touchcancel');\\nvar TOP_TOUCH_END = unsafeCastStringToDOMTopLevelType('touchend');\\nvar TOP_TOUCH_MOVE = unsafeCastStringToDOMTopLevelType('touchmove');\\nvar TOP_TOUCH_START = unsafeCastStringToDOMTopLevelType('touchstart');\\nvar TOP_TRANSITION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('transitionend'));\\nvar TOP_VOLUME_CHANGE = unsafeCastStringToDOMTopLevelType('volumechange');\\nvar TOP_WAITING = unsafeCastStringToDOMTopLevelType('waiting');\\nvar TOP_WHEEL = unsafeCastStringToDOMTopLevelType('wheel'); // List of events that need to be individually attached to media elements.\\n// Note that events in this list will *not* be listened to at the top level\\n// unless they're explicitly whitelisted in `ReactBrowserEventEmitter.listenTo`.\\n\\nvar mediaEventTypes = [TOP_ABORT, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_VOLUME_CHANGE, TOP_WAITING];\\nfunction getRawEventName(topLevelType) {\\n  return unsafeCastDOMTopLevelTypeToString(topLevelType);\\n}\\n\\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // prettier-ignore\\n\\nvar elementListenerMap = new PossiblyWeakMap();\\nfunction getListenerMapForElement(element) {\\n  var listenerMap = elementListenerMap.get(element);\\n\\n  if (listenerMap === undefined) {\\n    listenerMap = new Map();\\n    elementListenerMap.set(element, listenerMap);\\n  }\\n\\n  return listenerMap;\\n}\\n\\n/**\\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\\n * instance (key) and the internal representation (value). This allows public\\n * methods to accept the user facing instance as an argument and map them back\\n * to internal methods.\\n *\\n * Note that this module is currently shared and assumed to be stateless.\\n * If this becomes an actual Map, that will break.\\n */\\nfunction get(key) {\\n  return key._reactInternalFiber;\\n}\\nfunction has(key) {\\n  return key._reactInternalFiber !== undefined;\\n}\\nfunction set(key, value) {\\n  key._reactInternalFiber = value;\\n}\\n\\n// Don't change these two values. They're used by React Dev Tools.\\nvar NoEffect =\\n/*              */\\n0;\\nvar PerformedWork =\\n/*         */\\n1; // You can change the rest (and add more).\\n\\nvar Placement =\\n/*             */\\n2;\\nvar Update =\\n/*                */\\n4;\\nvar PlacementAndUpdate =\\n/*    */\\n6;\\nvar Deletion =\\n/*              */\\n8;\\nvar ContentReset =\\n/*          */\\n16;\\nvar Callback =\\n/*              */\\n32;\\nvar DidCapture =\\n/*            */\\n64;\\nvar Ref =\\n/*                   */\\n128;\\nvar Snapshot =\\n/*              */\\n256;\\nvar Passive =\\n/*               */\\n512;\\nvar Hydrating =\\n/*             */\\n1024;\\nvar HydratingAndUpdate =\\n/*    */\\n1028; // Passive & Update & Callback & Ref & Snapshot\\n\\nvar LifecycleEffectMask =\\n/*   */\\n932; // Union of all host effects\\n\\nvar HostEffectMask =\\n/*        */\\n2047;\\nvar Incomplete =\\n/*            */\\n2048;\\nvar ShouldCapture =\\n/*         */\\n4096;\\n\\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\\nfunction getNearestMountedFiber(fiber) {\\n  var node = fiber;\\n  var nearestMounted = fiber;\\n\\n  if (!fiber.alternate) {\\n    // If there is no alternate, this might be a new tree that isn't inserted\\n    // yet. If it is, then it will have a pending insertion effect on it.\\n    var nextNode = node;\\n\\n    do {\\n      node = nextNode;\\n\\n      if ((node.effectTag & (Placement | Hydrating)) !== NoEffect) {\\n        // This is an insertion or in-progress hydration. The nearest possible\\n        // mounted fiber is the parent but we need to continue to figure out\\n        // if that one is still mounted.\\n        nearestMounted = node.return;\\n      }\\n\\n      nextNode = node.return;\\n    } while (nextNode);\\n  } else {\\n    while (node.return) {\\n      node = node.return;\\n    }\\n  }\\n\\n  if (node.tag === HostRoot) {\\n    // TODO: Check if this was a nested HostRoot when used with\\n    // renderContainerIntoSubtree.\\n    return nearestMounted;\\n  } // If we didn't hit the root, that means that we're in an disconnected tree\\n  // that has been unmounted.\\n\\n\\n  return null;\\n}\\nfunction getSuspenseInstanceFromFiber(fiber) {\\n  if (fiber.tag === SuspenseComponent) {\\n    var suspenseState = fiber.memoizedState;\\n\\n    if (suspenseState === null) {\\n      var current = fiber.alternate;\\n\\n      if (current !== null) {\\n        suspenseState = current.memoizedState;\\n      }\\n    }\\n\\n    if (suspenseState !== null) {\\n      return suspenseState.dehydrated;\\n    }\\n  }\\n\\n  return null;\\n}\\nfunction getContainerFromFiber(fiber) {\\n  return fiber.tag === HostRoot ? fiber.stateNode.containerInfo : null;\\n}\\nfunction isFiberMounted(fiber) {\\n  return getNearestMountedFiber(fiber) === fiber;\\n}\\nfunction isMounted(component) {\\n  {\\n    var owner = ReactCurrentOwner.current;\\n\\n    if (owner !== null && owner.tag === ClassComponent) {\\n      var ownerFiber = owner;\\n      var instance = ownerFiber.stateNode;\\n\\n      if (!instance._warnedAboutRefsInRender) {\\n        error('%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber.type) || 'A component');\\n      }\\n\\n      instance._warnedAboutRefsInRender = true;\\n    }\\n  }\\n\\n  var fiber = get(component);\\n\\n  if (!fiber) {\\n    return false;\\n  }\\n\\n  return getNearestMountedFiber(fiber) === fiber;\\n}\\n\\nfunction assertIsMounted(fiber) {\\n  if (!(getNearestMountedFiber(fiber) === fiber)) {\\n    {\\n      throw Error( \\\"Unable to find node on an unmounted component.\\\" );\\n    }\\n  }\\n}\\n\\nfunction findCurrentFiberUsingSlowPath(fiber) {\\n  var alternate = fiber.alternate;\\n\\n  if (!alternate) {\\n    // If there is no alternate, then we only need to check if it is mounted.\\n    var nearestMounted = getNearestMountedFiber(fiber);\\n\\n    if (!(nearestMounted !== null)) {\\n      {\\n        throw Error( \\\"Unable to find node on an unmounted component.\\\" );\\n      }\\n    }\\n\\n    if (nearestMounted !== fiber) {\\n      return null;\\n    }\\n\\n    return fiber;\\n  } // If we have two possible branches, we'll walk backwards up to the root\\n  // to see what path the root points to. On the way we may hit one of the\\n  // special cases and we'll deal with them.\\n\\n\\n  var a = fiber;\\n  var b = alternate;\\n\\n  while (true) {\\n    var parentA = a.return;\\n\\n    if (parentA === null) {\\n      // We're at the root.\\n      break;\\n    }\\n\\n    var parentB = parentA.alternate;\\n\\n    if (parentB === null) {\\n      // There is no alternate. This is an unusual case. Currently, it only\\n      // happens when a Suspense component is hidden. An extra fragment fiber\\n      // is inserted in between the Suspense fiber and its children. Skip\\n      // over this extra fragment fiber and proceed to the next parent.\\n      var nextParent = parentA.return;\\n\\n      if (nextParent !== null) {\\n        a = b = nextParent;\\n        continue;\\n      } // If there's no parent, we're at the root.\\n\\n\\n      break;\\n    } // If both copies of the parent fiber point to the same child, we can\\n    // assume that the child is current. This happens when we bailout on low\\n    // priority: the bailed out fiber's child reuses the current child.\\n\\n\\n    if (parentA.child === parentB.child) {\\n      var child = parentA.child;\\n\\n      while (child) {\\n        if (child === a) {\\n          // We've determined that A is the current branch.\\n          assertIsMounted(parentA);\\n          return fiber;\\n        }\\n\\n        if (child === b) {\\n          // We've determined that B is the current branch.\\n          assertIsMounted(parentA);\\n          return alternate;\\n        }\\n\\n        child = child.sibling;\\n      } // We should never have an alternate for any mounting node. So the only\\n      // way this could possibly happen is if this was unmounted, if at all.\\n\\n\\n      {\\n        {\\n          throw Error( \\\"Unable to find node on an unmounted component.\\\" );\\n        }\\n      }\\n    }\\n\\n    if (a.return !== b.return) {\\n      // The return pointer of A and the return pointer of B point to different\\n      // fibers. We assume that return pointers never criss-cross, so A must\\n      // belong to the child set of A.return, and B must belong to the child\\n      // set of B.return.\\n      a = parentA;\\n      b = parentB;\\n    } else {\\n      // The return pointers point to the same fiber. We'll have to use the\\n      // default, slow path: scan the child sets of each parent alternate to see\\n      // which child belongs to which set.\\n      //\\n      // Search parent A's child set\\n      var didFindChild = false;\\n      var _child = parentA.child;\\n\\n      while (_child) {\\n        if (_child === a) {\\n          didFindChild = true;\\n          a = parentA;\\n          b = parentB;\\n          break;\\n        }\\n\\n        if (_child === b) {\\n          didFindChild = true;\\n          b = parentA;\\n          a = parentB;\\n          break;\\n        }\\n\\n        _child = _child.sibling;\\n      }\\n\\n      if (!didFindChild) {\\n        // Search parent B's child set\\n        _child = parentB.child;\\n\\n        while (_child) {\\n          if (_child === a) {\\n            didFindChild = true;\\n            a = parentB;\\n            b = parentA;\\n            break;\\n          }\\n\\n          if (_child === b) {\\n            didFindChild = true;\\n            b = parentB;\\n            a = parentA;\\n            break;\\n          }\\n\\n          _child = _child.sibling;\\n        }\\n\\n        if (!didFindChild) {\\n          {\\n            throw Error( \\\"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\\\" );\\n          }\\n        }\\n      }\\n    }\\n\\n    if (!(a.alternate === b)) {\\n      {\\n        throw Error( \\\"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n  } // If the root is not a host container, we're in a disconnected tree. I.e.\\n  // unmounted.\\n\\n\\n  if (!(a.tag === HostRoot)) {\\n    {\\n      throw Error( \\\"Unable to find node on an unmounted component.\\\" );\\n    }\\n  }\\n\\n  if (a.stateNode.current === a) {\\n    // We've determined that A is the current branch.\\n    return fiber;\\n  } // Otherwise B has to be current branch.\\n\\n\\n  return alternate;\\n}\\nfunction findCurrentHostFiber(parent) {\\n  var currentParent = findCurrentFiberUsingSlowPath(parent);\\n\\n  if (!currentParent) {\\n    return null;\\n  } // Next we'll drill down this component to find the first HostComponent/Text.\\n\\n\\n  var node = currentParent;\\n\\n  while (true) {\\n    if (node.tag === HostComponent || node.tag === HostText) {\\n      return node;\\n    } else if (node.child) {\\n      node.child.return = node;\\n      node = node.child;\\n      continue;\\n    }\\n\\n    if (node === currentParent) {\\n      return null;\\n    }\\n\\n    while (!node.sibling) {\\n      if (!node.return || node.return === currentParent) {\\n        return null;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n  } // Flow needs the return null here, but ESLint complains about it.\\n  // eslint-disable-next-line no-unreachable\\n\\n\\n  return null;\\n}\\nfunction findCurrentHostFiberWithNoPortals(parent) {\\n  var currentParent = findCurrentFiberUsingSlowPath(parent);\\n\\n  if (!currentParent) {\\n    return null;\\n  } // Next we'll drill down this component to find the first HostComponent/Text.\\n\\n\\n  var node = currentParent;\\n\\n  while (true) {\\n    if (node.tag === HostComponent || node.tag === HostText || enableFundamentalAPI ) {\\n      return node;\\n    } else if (node.child && node.tag !== HostPortal) {\\n      node.child.return = node;\\n      node = node.child;\\n      continue;\\n    }\\n\\n    if (node === currentParent) {\\n      return null;\\n    }\\n\\n    while (!node.sibling) {\\n      if (!node.return || node.return === currentParent) {\\n        return null;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n  } // Flow needs the return null here, but ESLint complains about it.\\n  // eslint-disable-next-line no-unreachable\\n\\n\\n  return null;\\n}\\n\\n/**\\n * Accumulates items that must not be null or undefined into the first one. This\\n * is used to conserve memory by avoiding array allocations, and thus sacrifices\\n * API cleanness. Since `current` can be null before being passed in and not\\n * null after this function, make sure to assign it back to `current`:\\n *\\n * `a = accumulateInto(a, b);`\\n *\\n * This API should be sparingly used. Try `accumulate` for something cleaner.\\n *\\n * @return {*|array<*>} An accumulation of items.\\n */\\n\\nfunction accumulateInto(current, next) {\\n  if (!(next != null)) {\\n    {\\n      throw Error( \\\"accumulateInto(...): Accumulated items must not be null or undefined.\\\" );\\n    }\\n  }\\n\\n  if (current == null) {\\n    return next;\\n  } // Both are not empty. Warning: Never call x.concat(y) when you are not\\n  // certain that x is an Array (x could be a string with concat method).\\n\\n\\n  if (Array.isArray(current)) {\\n    if (Array.isArray(next)) {\\n      current.push.apply(current, next);\\n      return current;\\n    }\\n\\n    current.push(next);\\n    return current;\\n  }\\n\\n  if (Array.isArray(next)) {\\n    // A bit too dangerous to mutate `next`.\\n    return [current].concat(next);\\n  }\\n\\n  return [current, next];\\n}\\n\\n/**\\n * @param {array} arr an \\\"accumulation\\\" of items which is either an Array or\\n * a single item. Useful when paired with the `accumulate` module. This is a\\n * simple utility that allows us to reason about a collection of items, but\\n * handling the case when there is exactly one item (and we do not need to\\n * allocate an array).\\n * @param {function} cb Callback invoked with each element or a collection.\\n * @param {?} [scope] Scope used as `this` in a callback.\\n */\\nfunction forEachAccumulated(arr, cb, scope) {\\n  if (Array.isArray(arr)) {\\n    arr.forEach(cb, scope);\\n  } else if (arr) {\\n    cb.call(scope, arr);\\n  }\\n}\\n\\n/**\\n * Internal queue of events that have accumulated their dispatches and are\\n * waiting to have their dispatches executed.\\n */\\n\\nvar eventQueue = null;\\n/**\\n * Dispatches an event and releases it back into the pool, unless persistent.\\n *\\n * @param {?object} event Synthetic event to be dispatched.\\n * @private\\n */\\n\\nvar executeDispatchesAndRelease = function (event) {\\n  if (event) {\\n    executeDispatchesInOrder(event);\\n\\n    if (!event.isPersistent()) {\\n      event.constructor.release(event);\\n    }\\n  }\\n};\\n\\nvar executeDispatchesAndReleaseTopLevel = function (e) {\\n  return executeDispatchesAndRelease(e);\\n};\\n\\nfunction runEventsInBatch(events) {\\n  if (events !== null) {\\n    eventQueue = accumulateInto(eventQueue, events);\\n  } // Set `eventQueue` to null before processing it so that we can tell if more\\n  // events get enqueued while processing.\\n\\n\\n  var processingEventQueue = eventQueue;\\n  eventQueue = null;\\n\\n  if (!processingEventQueue) {\\n    return;\\n  }\\n\\n  forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\\n\\n  if (!!eventQueue) {\\n    {\\n      throw Error( \\\"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.\\\" );\\n    }\\n  } // This would be a good time to rethrow if any of the event handlers threw.\\n\\n\\n  rethrowCaughtError();\\n}\\n\\n/**\\n * Gets the target node from a native browser event by accounting for\\n * inconsistencies in browser DOM APIs.\\n *\\n * @param {object} nativeEvent Native browser event.\\n * @return {DOMEventTarget} Target node.\\n */\\n\\nfunction getEventTarget(nativeEvent) {\\n  // Fallback to nativeEvent.srcElement for IE9\\n  // https://github.com/facebook/react/issues/12506\\n  var target = nativeEvent.target || nativeEvent.srcElement || window; // Normalize SVG <use> element events #4963\\n\\n  if (target.correspondingUseElement) {\\n    target = target.correspondingUseElement;\\n  } // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\\n  // @see http://www.quirksmode.org/js/events_properties.html\\n\\n\\n  return target.nodeType === TEXT_NODE ? target.parentNode : target;\\n}\\n\\n/**\\n * Checks if an event is supported in the current execution environment.\\n *\\n * NOTE: This will not work correctly for non-generic events such as `change`,\\n * `reset`, `load`, `error`, and `select`.\\n *\\n * Borrows from Modernizr.\\n *\\n * @param {string} eventNameSuffix Event name, e.g. \\\"click\\\".\\n * @return {boolean} True if the event is supported.\\n * @internal\\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\\n */\\n\\nfunction isEventSupported(eventNameSuffix) {\\n  if (!canUseDOM) {\\n    return false;\\n  }\\n\\n  var eventName = 'on' + eventNameSuffix;\\n  var isSupported = eventName in document;\\n\\n  if (!isSupported) {\\n    var element = document.createElement('div');\\n    element.setAttribute(eventName, 'return;');\\n    isSupported = typeof element[eventName] === 'function';\\n  }\\n\\n  return isSupported;\\n}\\n\\n/**\\n * Summary of `DOMEventPluginSystem` event handling:\\n *\\n *  - Top-level delegation is used to trap most native browser events. This\\n *    may only occur in the main thread and is the responsibility of\\n *    ReactDOMEventListener, which is injected and can therefore support\\n *    pluggable event sources. This is the only work that occurs in the main\\n *    thread.\\n *\\n *  - We normalize and de-duplicate events to account for browser quirks. This\\n *    may be done in the worker thread.\\n *\\n *  - Forward these native events (with the associated top-level type used to\\n *    trap it) to `EventPluginRegistry`, which in turn will ask plugins if they want\\n *    to extract any synthetic events.\\n *\\n *  - The `EventPluginRegistry` will then process each event by annotating them with\\n *    \\\"dispatches\\\", a sequence of listeners and IDs that care about that event.\\n *\\n *  - The `EventPluginRegistry` then dispatches the events.\\n *\\n * Overview of React and the event system:\\n *\\n * +------------+    .\\n * |    DOM     |    .\\n * +------------+    .\\n *       |           .\\n *       v           .\\n * +------------+    .\\n * | ReactEvent |    .\\n * |  Listener  |    .\\n * +------------+    .                         +-----------+\\n *       |           .               +--------+|SimpleEvent|\\n *       |           .               |         |Plugin     |\\n * +-----|------+    .               v         +-----------+\\n * |     |      |    .    +--------------+                    +------------+\\n * |     +-----------.--->|PluginRegistry|                    |    Event   |\\n * |            |    .    |              |     +-----------+  | Propagators|\\n * | ReactEvent |    .    |              |     |TapEvent   |  |------------|\\n * |  Emitter   |    .    |              |<---+|Plugin     |  |other plugin|\\n * |            |    .    |              |     +-----------+  |  utilities |\\n * |     +-----------.--->|              |                    +------------+\\n * |     |      |    .    +--------------+\\n * +-----|------+    .                ^        +-----------+\\n *       |           .                |        |Enter/Leave|\\n *       +           .                +-------+|Plugin     |\\n * +-------------+   .                         +-----------+\\n * | application |   .\\n * |-------------|   .\\n * |             |   .\\n * |             |   .\\n * +-------------+   .\\n *                   .\\n *    React Core     .  General Purpose Event Plugin System\\n */\\n\\nvar CALLBACK_BOOKKEEPING_POOL_SIZE = 10;\\nvar callbackBookkeepingPool = [];\\n\\nfunction releaseTopLevelCallbackBookKeeping(instance) {\\n  instance.topLevelType = null;\\n  instance.nativeEvent = null;\\n  instance.targetInst = null;\\n  instance.ancestors.length = 0;\\n\\n  if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) {\\n    callbackBookkeepingPool.push(instance);\\n  }\\n} // Used to store ancestor hierarchy in top level callback\\n\\n\\nfunction getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags) {\\n  if (callbackBookkeepingPool.length) {\\n    var instance = callbackBookkeepingPool.pop();\\n    instance.topLevelType = topLevelType;\\n    instance.eventSystemFlags = eventSystemFlags;\\n    instance.nativeEvent = nativeEvent;\\n    instance.targetInst = targetInst;\\n    return instance;\\n  }\\n\\n  return {\\n    topLevelType: topLevelType,\\n    eventSystemFlags: eventSystemFlags,\\n    nativeEvent: nativeEvent,\\n    targetInst: targetInst,\\n    ancestors: []\\n  };\\n}\\n/**\\n * Find the deepest React component completely containing the root of the\\n * passed-in instance (for use when entire React trees are nested within each\\n * other). If React trees are not nested, returns null.\\n */\\n\\n\\nfunction findRootContainerNode(inst) {\\n  if (inst.tag === HostRoot) {\\n    return inst.stateNode.containerInfo;\\n  } // TODO: It may be a good idea to cache this to prevent unnecessary DOM\\n  // traversal, but caching is difficult to do correctly without using a\\n  // mutation observer to listen for all DOM changes.\\n\\n\\n  while (inst.return) {\\n    inst = inst.return;\\n  }\\n\\n  if (inst.tag !== HostRoot) {\\n    // This can happen if we're in a detached tree.\\n    return null;\\n  }\\n\\n  return inst.stateNode.containerInfo;\\n}\\n/**\\n * Allows registered plugins an opportunity to extract events from top-level\\n * native browser events.\\n *\\n * @return {*} An accumulation of synthetic events.\\n * @internal\\n */\\n\\n\\nfunction extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {\\n  var events = null;\\n\\n  for (var i = 0; i < plugins.length; i++) {\\n    // Not every plugin in the ordering may be loaded at runtime.\\n    var possiblePlugin = plugins[i];\\n\\n    if (possiblePlugin) {\\n      var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\\n\\n      if (extractedEvents) {\\n        events = accumulateInto(events, extractedEvents);\\n      }\\n    }\\n  }\\n\\n  return events;\\n}\\n\\nfunction runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {\\n  var events = extractPluginEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags);\\n  runEventsInBatch(events);\\n}\\n\\nfunction handleTopLevel(bookKeeping) {\\n  var targetInst = bookKeeping.targetInst; // Loop through the hierarchy, in case there's any nested components.\\n  // It's important that we build the array of ancestors before calling any\\n  // event handlers, because event handlers can modify the DOM, leading to\\n  // inconsistencies with ReactMount's node cache. See #1105.\\n\\n  var ancestor = targetInst;\\n\\n  do {\\n    if (!ancestor) {\\n      var ancestors = bookKeeping.ancestors;\\n      ancestors.push(ancestor);\\n      break;\\n    }\\n\\n    var root = findRootContainerNode(ancestor);\\n\\n    if (!root) {\\n      break;\\n    }\\n\\n    var tag = ancestor.tag;\\n\\n    if (tag === HostComponent || tag === HostText) {\\n      bookKeeping.ancestors.push(ancestor);\\n    }\\n\\n    ancestor = getClosestInstanceFromNode(root);\\n  } while (ancestor);\\n\\n  for (var i = 0; i < bookKeeping.ancestors.length; i++) {\\n    targetInst = bookKeeping.ancestors[i];\\n    var eventTarget = getEventTarget(bookKeeping.nativeEvent);\\n    var topLevelType = bookKeeping.topLevelType;\\n    var nativeEvent = bookKeeping.nativeEvent;\\n    var eventSystemFlags = bookKeeping.eventSystemFlags; // If this is the first ancestor, we mark it on the system flags\\n\\n    if (i === 0) {\\n      eventSystemFlags |= IS_FIRST_ANCESTOR;\\n    }\\n\\n    runExtractedPluginEventsInBatch(topLevelType, targetInst, nativeEvent, eventTarget, eventSystemFlags);\\n  }\\n}\\n\\nfunction dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst) {\\n  var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst, eventSystemFlags);\\n\\n  try {\\n    // Event queue being processed in the same cycle allows\\n    // `preventDefault`.\\n    batchedEventUpdates(handleTopLevel, bookKeeping);\\n  } finally {\\n    releaseTopLevelCallbackBookKeeping(bookKeeping);\\n  }\\n}\\n/**\\n * We listen for bubbled touch events on the document object.\\n *\\n * Firefox v8.01 (and possibly others) exhibited strange behavior when\\n * mounting `onmousemove` events at some node that was not the document\\n * element. The symptoms were that if your mouse is not moving over something\\n * contained within that mount point (for example on the background) the\\n * top-level listeners for `onmousemove` won't be called. However, if you\\n * register the `mousemove` on the document object, then it will of course\\n * catch all `mousemove`s. This along with iOS quirks, justifies restricting\\n * top-level listeners to the document object only, at least for these\\n * movement types of events and possibly all events.\\n *\\n * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\\n *\\n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\\n * they bubble to document.\\n *\\n * @param {string} registrationName Name of listener (e.g. `onClick`).\\n * @param {object} mountAt Container where to mount the listener\\n */\\n\\nfunction legacyListenToEvent(registrationName, mountAt) {\\n  var listenerMap = getListenerMapForElement(mountAt);\\n  var dependencies = registrationNameDependencies[registrationName];\\n\\n  for (var i = 0; i < dependencies.length; i++) {\\n    var dependency = dependencies[i];\\n    legacyListenToTopLevelEvent(dependency, mountAt, listenerMap);\\n  }\\n}\\nfunction legacyListenToTopLevelEvent(topLevelType, mountAt, listenerMap) {\\n  if (!listenerMap.has(topLevelType)) {\\n    switch (topLevelType) {\\n      case TOP_SCROLL:\\n        trapCapturedEvent(TOP_SCROLL, mountAt);\\n        break;\\n\\n      case TOP_FOCUS:\\n      case TOP_BLUR:\\n        trapCapturedEvent(TOP_FOCUS, mountAt);\\n        trapCapturedEvent(TOP_BLUR, mountAt); // We set the flag for a single dependency later in this function,\\n        // but this ensures we mark both as attached rather than just one.\\n\\n        listenerMap.set(TOP_BLUR, null);\\n        listenerMap.set(TOP_FOCUS, null);\\n        break;\\n\\n      case TOP_CANCEL:\\n      case TOP_CLOSE:\\n        if (isEventSupported(getRawEventName(topLevelType))) {\\n          trapCapturedEvent(topLevelType, mountAt);\\n        }\\n\\n        break;\\n\\n      case TOP_INVALID:\\n      case TOP_SUBMIT:\\n      case TOP_RESET:\\n        // We listen to them on the target DOM elements.\\n        // Some of them bubble so we don't want them to fire twice.\\n        break;\\n\\n      default:\\n        // By default, listen on the top level to all non-media events.\\n        // Media events don't bubble so adding the listener wouldn't do anything.\\n        var isMediaEvent = mediaEventTypes.indexOf(topLevelType) !== -1;\\n\\n        if (!isMediaEvent) {\\n          trapBubbledEvent(topLevelType, mountAt);\\n        }\\n\\n        break;\\n    }\\n\\n    listenerMap.set(topLevelType, null);\\n  }\\n}\\nfunction isListeningToAllDependencies(registrationName, mountAt) {\\n  var listenerMap = getListenerMapForElement(mountAt);\\n  var dependencies = registrationNameDependencies[registrationName];\\n\\n  for (var i = 0; i < dependencies.length; i++) {\\n    var dependency = dependencies[i];\\n\\n    if (!listenerMap.has(dependency)) {\\n      return false;\\n    }\\n  }\\n\\n  return true;\\n}\\n\\nvar attemptUserBlockingHydration;\\nfunction setAttemptUserBlockingHydration(fn) {\\n  attemptUserBlockingHydration = fn;\\n}\\nvar attemptContinuousHydration;\\nfunction setAttemptContinuousHydration(fn) {\\n  attemptContinuousHydration = fn;\\n}\\nvar attemptHydrationAtCurrentPriority;\\nfunction setAttemptHydrationAtCurrentPriority(fn) {\\n  attemptHydrationAtCurrentPriority = fn;\\n} // TODO: Upgrade this definition once we're on a newer version of Flow that\\nvar hasScheduledReplayAttempt = false; // The queue of discrete events to be replayed.\\n\\nvar queuedDiscreteEvents = []; // Indicates if any continuous event targets are non-null for early bailout.\\n// if the last target was dehydrated.\\n\\nvar queuedFocus = null;\\nvar queuedDrag = null;\\nvar queuedMouse = null; // For pointer events there can be one latest event per pointerId.\\n\\nvar queuedPointers = new Map();\\nvar queuedPointerCaptures = new Map(); // We could consider replaying selectionchange and touchmoves too.\\n\\nvar queuedExplicitHydrationTargets = [];\\nfunction hasQueuedDiscreteEvents() {\\n  return queuedDiscreteEvents.length > 0;\\n}\\nvar discreteReplayableEvents = [TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_TOUCH_CANCEL, TOP_TOUCH_END, TOP_TOUCH_START, TOP_AUX_CLICK, TOP_DOUBLE_CLICK, TOP_POINTER_CANCEL, TOP_POINTER_DOWN, TOP_POINTER_UP, TOP_DRAG_END, TOP_DRAG_START, TOP_DROP, TOP_COMPOSITION_END, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_INPUT, TOP_TEXT_INPUT, TOP_CLOSE, TOP_CANCEL, TOP_COPY, TOP_CUT, TOP_PASTE, TOP_CLICK, TOP_CHANGE, TOP_CONTEXT_MENU, TOP_RESET, TOP_SUBMIT];\\nvar continuousReplayableEvents = [TOP_FOCUS, TOP_BLUR, TOP_DRAG_ENTER, TOP_DRAG_LEAVE, TOP_MOUSE_OVER, TOP_MOUSE_OUT, TOP_POINTER_OVER, TOP_POINTER_OUT, TOP_GOT_POINTER_CAPTURE, TOP_LOST_POINTER_CAPTURE];\\nfunction isReplayableDiscreteEvent(eventType) {\\n  return discreteReplayableEvents.indexOf(eventType) > -1;\\n}\\n\\nfunction trapReplayableEventForDocument(topLevelType, document, listenerMap) {\\n  legacyListenToTopLevelEvent(topLevelType, document, listenerMap);\\n}\\n\\nfunction eagerlyTrapReplayableEvents(container, document) {\\n  var listenerMapForDoc = getListenerMapForElement(document); // Discrete\\n\\n  discreteReplayableEvents.forEach(function (topLevelType) {\\n    trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc);\\n  }); // Continuous\\n\\n  continuousReplayableEvents.forEach(function (topLevelType) {\\n    trapReplayableEventForDocument(topLevelType, document, listenerMapForDoc);\\n  });\\n}\\n\\nfunction createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {\\n  return {\\n    blockedOn: blockedOn,\\n    topLevelType: topLevelType,\\n    eventSystemFlags: eventSystemFlags | IS_REPLAYED,\\n    nativeEvent: nativeEvent,\\n    container: container\\n  };\\n}\\n\\nfunction queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {\\n  var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);\\n  queuedDiscreteEvents.push(queuedEvent);\\n} // Resets the replaying for this type of continuous event to no event.\\n\\nfunction clearIfContinuousEvent(topLevelType, nativeEvent) {\\n  switch (topLevelType) {\\n    case TOP_FOCUS:\\n    case TOP_BLUR:\\n      queuedFocus = null;\\n      break;\\n\\n    case TOP_DRAG_ENTER:\\n    case TOP_DRAG_LEAVE:\\n      queuedDrag = null;\\n      break;\\n\\n    case TOP_MOUSE_OVER:\\n    case TOP_MOUSE_OUT:\\n      queuedMouse = null;\\n      break;\\n\\n    case TOP_POINTER_OVER:\\n    case TOP_POINTER_OUT:\\n      {\\n        var pointerId = nativeEvent.pointerId;\\n        queuedPointers.delete(pointerId);\\n        break;\\n      }\\n\\n    case TOP_GOT_POINTER_CAPTURE:\\n    case TOP_LOST_POINTER_CAPTURE:\\n      {\\n        var _pointerId = nativeEvent.pointerId;\\n        queuedPointerCaptures.delete(_pointerId);\\n        break;\\n      }\\n  }\\n}\\n\\nfunction accumulateOrCreateContinuousQueuedReplayableEvent(existingQueuedEvent, blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {\\n  if (existingQueuedEvent === null || existingQueuedEvent.nativeEvent !== nativeEvent) {\\n    var queuedEvent = createQueuedReplayableEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);\\n\\n    if (blockedOn !== null) {\\n      var _fiber2 = getInstanceFromNode$1(blockedOn);\\n\\n      if (_fiber2 !== null) {\\n        // Attempt to increase the priority of this target.\\n        attemptContinuousHydration(_fiber2);\\n      }\\n    }\\n\\n    return queuedEvent;\\n  } // If we have already queued this exact event, then it's because\\n  // the different event systems have different DOM event listeners.\\n  // We can accumulate the flags and store a single event to be\\n  // replayed.\\n\\n\\n  existingQueuedEvent.eventSystemFlags |= eventSystemFlags;\\n  return existingQueuedEvent;\\n}\\n\\nfunction queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent) {\\n  // These set relatedTarget to null because the replayed event will be treated as if we\\n  // moved from outside the window (no target) onto the target once it hydrates.\\n  // Instead of mutating we could clone the event.\\n  switch (topLevelType) {\\n    case TOP_FOCUS:\\n      {\\n        var focusEvent = nativeEvent;\\n        queuedFocus = accumulateOrCreateContinuousQueuedReplayableEvent(queuedFocus, blockedOn, topLevelType, eventSystemFlags, container, focusEvent);\\n        return true;\\n      }\\n\\n    case TOP_DRAG_ENTER:\\n      {\\n        var dragEvent = nativeEvent;\\n        queuedDrag = accumulateOrCreateContinuousQueuedReplayableEvent(queuedDrag, blockedOn, topLevelType, eventSystemFlags, container, dragEvent);\\n        return true;\\n      }\\n\\n    case TOP_MOUSE_OVER:\\n      {\\n        var mouseEvent = nativeEvent;\\n        queuedMouse = accumulateOrCreateContinuousQueuedReplayableEvent(queuedMouse, blockedOn, topLevelType, eventSystemFlags, container, mouseEvent);\\n        return true;\\n      }\\n\\n    case TOP_POINTER_OVER:\\n      {\\n        var pointerEvent = nativeEvent;\\n        var pointerId = pointerEvent.pointerId;\\n        queuedPointers.set(pointerId, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointers.get(pointerId) || null, blockedOn, topLevelType, eventSystemFlags, container, pointerEvent));\\n        return true;\\n      }\\n\\n    case TOP_GOT_POINTER_CAPTURE:\\n      {\\n        var _pointerEvent = nativeEvent;\\n        var _pointerId2 = _pointerEvent.pointerId;\\n        queuedPointerCaptures.set(_pointerId2, accumulateOrCreateContinuousQueuedReplayableEvent(queuedPointerCaptures.get(_pointerId2) || null, blockedOn, topLevelType, eventSystemFlags, container, _pointerEvent));\\n        return true;\\n      }\\n  }\\n\\n  return false;\\n} // Check if this target is unblocked. Returns true if it's unblocked.\\n\\nfunction attemptExplicitHydrationTarget(queuedTarget) {\\n  // TODO: This function shares a lot of logic with attemptToDispatchEvent.\\n  // Try to unify them. It's a bit tricky since it would require two return\\n  // values.\\n  var targetInst = getClosestInstanceFromNode(queuedTarget.target);\\n\\n  if (targetInst !== null) {\\n    var nearestMounted = getNearestMountedFiber(targetInst);\\n\\n    if (nearestMounted !== null) {\\n      var tag = nearestMounted.tag;\\n\\n      if (tag === SuspenseComponent) {\\n        var instance = getSuspenseInstanceFromFiber(nearestMounted);\\n\\n        if (instance !== null) {\\n          // We're blocked on hydrating this boundary.\\n          // Increase its priority.\\n          queuedTarget.blockedOn = instance;\\n          Scheduler.unstable_runWithPriority(queuedTarget.priority, function () {\\n            attemptHydrationAtCurrentPriority(nearestMounted);\\n          });\\n          return;\\n        }\\n      } else if (tag === HostRoot) {\\n        var root = nearestMounted.stateNode;\\n\\n        if (root.hydrate) {\\n          queuedTarget.blockedOn = getContainerFromFiber(nearestMounted); // We don't currently have a way to increase the priority of\\n          // a root other than sync.\\n\\n          return;\\n        }\\n      }\\n    }\\n  }\\n\\n  queuedTarget.blockedOn = null;\\n}\\n\\nfunction attemptReplayContinuousQueuedEvent(queuedEvent) {\\n  if (queuedEvent.blockedOn !== null) {\\n    return false;\\n  }\\n\\n  var nextBlockedOn = attemptToDispatchEvent(queuedEvent.topLevelType, queuedEvent.eventSystemFlags, queuedEvent.container, queuedEvent.nativeEvent);\\n\\n  if (nextBlockedOn !== null) {\\n    // We're still blocked. Try again later.\\n    var _fiber3 = getInstanceFromNode$1(nextBlockedOn);\\n\\n    if (_fiber3 !== null) {\\n      attemptContinuousHydration(_fiber3);\\n    }\\n\\n    queuedEvent.blockedOn = nextBlockedOn;\\n    return false;\\n  }\\n\\n  return true;\\n}\\n\\nfunction attemptReplayContinuousQueuedEventInMap(queuedEvent, key, map) {\\n  if (attemptReplayContinuousQueuedEvent(queuedEvent)) {\\n    map.delete(key);\\n  }\\n}\\n\\nfunction replayUnblockedEvents() {\\n  hasScheduledReplayAttempt = false; // First replay discrete events.\\n\\n  while (queuedDiscreteEvents.length > 0) {\\n    var nextDiscreteEvent = queuedDiscreteEvents[0];\\n\\n    if (nextDiscreteEvent.blockedOn !== null) {\\n      // We're still blocked.\\n      // Increase the priority of this boundary to unblock\\n      // the next discrete event.\\n      var _fiber4 = getInstanceFromNode$1(nextDiscreteEvent.blockedOn);\\n\\n      if (_fiber4 !== null) {\\n        attemptUserBlockingHydration(_fiber4);\\n      }\\n\\n      break;\\n    }\\n\\n    var nextBlockedOn = attemptToDispatchEvent(nextDiscreteEvent.topLevelType, nextDiscreteEvent.eventSystemFlags, nextDiscreteEvent.container, nextDiscreteEvent.nativeEvent);\\n\\n    if (nextBlockedOn !== null) {\\n      // We're still blocked. Try again later.\\n      nextDiscreteEvent.blockedOn = nextBlockedOn;\\n    } else {\\n      // We've successfully replayed the first event. Let's try the next one.\\n      queuedDiscreteEvents.shift();\\n    }\\n  } // Next replay any continuous events.\\n\\n\\n  if (queuedFocus !== null && attemptReplayContinuousQueuedEvent(queuedFocus)) {\\n    queuedFocus = null;\\n  }\\n\\n  if (queuedDrag !== null && attemptReplayContinuousQueuedEvent(queuedDrag)) {\\n    queuedDrag = null;\\n  }\\n\\n  if (queuedMouse !== null && attemptReplayContinuousQueuedEvent(queuedMouse)) {\\n    queuedMouse = null;\\n  }\\n\\n  queuedPointers.forEach(attemptReplayContinuousQueuedEventInMap);\\n  queuedPointerCaptures.forEach(attemptReplayContinuousQueuedEventInMap);\\n}\\n\\nfunction scheduleCallbackIfUnblocked(queuedEvent, unblocked) {\\n  if (queuedEvent.blockedOn === unblocked) {\\n    queuedEvent.blockedOn = null;\\n\\n    if (!hasScheduledReplayAttempt) {\\n      hasScheduledReplayAttempt = true; // Schedule a callback to attempt replaying as many events as are\\n      // now unblocked. This first might not actually be unblocked yet.\\n      // We could check it early to avoid scheduling an unnecessary callback.\\n\\n      Scheduler.unstable_scheduleCallback(Scheduler.unstable_NormalPriority, replayUnblockedEvents);\\n    }\\n  }\\n}\\n\\nfunction retryIfBlockedOn(unblocked) {\\n  // Mark anything that was blocked on this as no longer blocked\\n  // and eligible for a replay.\\n  if (queuedDiscreteEvents.length > 0) {\\n    scheduleCallbackIfUnblocked(queuedDiscreteEvents[0], unblocked); // This is a exponential search for each boundary that commits. I think it's\\n    // worth it because we expect very few discrete events to queue up and once\\n    // we are actually fully unblocked it will be fast to replay them.\\n\\n    for (var i = 1; i < queuedDiscreteEvents.length; i++) {\\n      var queuedEvent = queuedDiscreteEvents[i];\\n\\n      if (queuedEvent.blockedOn === unblocked) {\\n        queuedEvent.blockedOn = null;\\n      }\\n    }\\n  }\\n\\n  if (queuedFocus !== null) {\\n    scheduleCallbackIfUnblocked(queuedFocus, unblocked);\\n  }\\n\\n  if (queuedDrag !== null) {\\n    scheduleCallbackIfUnblocked(queuedDrag, unblocked);\\n  }\\n\\n  if (queuedMouse !== null) {\\n    scheduleCallbackIfUnblocked(queuedMouse, unblocked);\\n  }\\n\\n  var unblock = function (queuedEvent) {\\n    return scheduleCallbackIfUnblocked(queuedEvent, unblocked);\\n  };\\n\\n  queuedPointers.forEach(unblock);\\n  queuedPointerCaptures.forEach(unblock);\\n\\n  for (var _i = 0; _i < queuedExplicitHydrationTargets.length; _i++) {\\n    var queuedTarget = queuedExplicitHydrationTargets[_i];\\n\\n    if (queuedTarget.blockedOn === unblocked) {\\n      queuedTarget.blockedOn = null;\\n    }\\n  }\\n\\n  while (queuedExplicitHydrationTargets.length > 0) {\\n    var nextExplicitTarget = queuedExplicitHydrationTargets[0];\\n\\n    if (nextExplicitTarget.blockedOn !== null) {\\n      // We're still blocked.\\n      break;\\n    } else {\\n      attemptExplicitHydrationTarget(nextExplicitTarget);\\n\\n      if (nextExplicitTarget.blockedOn === null) {\\n        // We're unblocked.\\n        queuedExplicitHydrationTargets.shift();\\n      }\\n    }\\n  }\\n}\\n\\nfunction addEventBubbleListener(element, eventType, listener) {\\n  element.addEventListener(eventType, listener, false);\\n}\\nfunction addEventCaptureListener(element, eventType, listener) {\\n  element.addEventListener(eventType, listener, true);\\n}\\n\\n// do it in two places, which duplicates logic\\n// and increases the bundle size, we do it all\\n// here once. If we remove or refactor the\\n// SimpleEventPlugin, we should also remove or\\n// update the below line.\\n\\nvar simpleEventPluginEventTypes = {};\\nvar topLevelEventsToDispatchConfig = new Map();\\nvar eventPriorities = new Map(); // We store most of the events in this module in pairs of two strings so we can re-use\\n// the code required to apply the same logic for event prioritization and that of the\\n// SimpleEventPlugin. This complicates things slightly, but the aim is to reduce code\\n// duplication (for which there would be quite a bit). For the events that are not needed\\n// for the SimpleEventPlugin (otherDiscreteEvents) we process them separately as an\\n// array of top level events.\\n// Lastly, we ignore prettier so we can keep the formatting sane.\\n// prettier-ignore\\n\\nvar discreteEventPairsForSimpleEventPlugin = [TOP_BLUR, 'blur', TOP_CANCEL, 'cancel', TOP_CLICK, 'click', TOP_CLOSE, 'close', TOP_CONTEXT_MENU, 'contextMenu', TOP_COPY, 'copy', TOP_CUT, 'cut', TOP_AUX_CLICK, 'auxClick', TOP_DOUBLE_CLICK, 'doubleClick', TOP_DRAG_END, 'dragEnd', TOP_DRAG_START, 'dragStart', TOP_DROP, 'drop', TOP_FOCUS, 'focus', TOP_INPUT, 'input', TOP_INVALID, 'invalid', TOP_KEY_DOWN, 'keyDown', TOP_KEY_PRESS, 'keyPress', TOP_KEY_UP, 'keyUp', TOP_MOUSE_DOWN, 'mouseDown', TOP_MOUSE_UP, 'mouseUp', TOP_PASTE, 'paste', TOP_PAUSE, 'pause', TOP_PLAY, 'play', TOP_POINTER_CANCEL, 'pointerCancel', TOP_POINTER_DOWN, 'pointerDown', TOP_POINTER_UP, 'pointerUp', TOP_RATE_CHANGE, 'rateChange', TOP_RESET, 'reset', TOP_SEEKED, 'seeked', TOP_SUBMIT, 'submit', TOP_TOUCH_CANCEL, 'touchCancel', TOP_TOUCH_END, 'touchEnd', TOP_TOUCH_START, 'touchStart', TOP_VOLUME_CHANGE, 'volumeChange'];\\nvar otherDiscreteEvents = [TOP_CHANGE, TOP_SELECTION_CHANGE, TOP_TEXT_INPUT, TOP_COMPOSITION_START, TOP_COMPOSITION_END, TOP_COMPOSITION_UPDATE]; // prettier-ignore\\n\\nvar userBlockingPairsForSimpleEventPlugin = [TOP_DRAG, 'drag', TOP_DRAG_ENTER, 'dragEnter', TOP_DRAG_EXIT, 'dragExit', TOP_DRAG_LEAVE, 'dragLeave', TOP_DRAG_OVER, 'dragOver', TOP_MOUSE_MOVE, 'mouseMove', TOP_MOUSE_OUT, 'mouseOut', TOP_MOUSE_OVER, 'mouseOver', TOP_POINTER_MOVE, 'pointerMove', TOP_POINTER_OUT, 'pointerOut', TOP_POINTER_OVER, 'pointerOver', TOP_SCROLL, 'scroll', TOP_TOGGLE, 'toggle', TOP_TOUCH_MOVE, 'touchMove', TOP_WHEEL, 'wheel']; // prettier-ignore\\n\\nvar continuousPairsForSimpleEventPlugin = [TOP_ABORT, 'abort', TOP_ANIMATION_END, 'animationEnd', TOP_ANIMATION_ITERATION, 'animationIteration', TOP_ANIMATION_START, 'animationStart', TOP_CAN_PLAY, 'canPlay', TOP_CAN_PLAY_THROUGH, 'canPlayThrough', TOP_DURATION_CHANGE, 'durationChange', TOP_EMPTIED, 'emptied', TOP_ENCRYPTED, 'encrypted', TOP_ENDED, 'ended', TOP_ERROR, 'error', TOP_GOT_POINTER_CAPTURE, 'gotPointerCapture', TOP_LOAD, 'load', TOP_LOADED_DATA, 'loadedData', TOP_LOADED_METADATA, 'loadedMetadata', TOP_LOAD_START, 'loadStart', TOP_LOST_POINTER_CAPTURE, 'lostPointerCapture', TOP_PLAYING, 'playing', TOP_PROGRESS, 'progress', TOP_SEEKING, 'seeking', TOP_STALLED, 'stalled', TOP_SUSPEND, 'suspend', TOP_TIME_UPDATE, 'timeUpdate', TOP_TRANSITION_END, 'transitionEnd', TOP_WAITING, 'waiting'];\\n/**\\n * Turns\\n * ['abort', ...]\\n * into\\n * eventTypes = {\\n *   'abort': {\\n *     phasedRegistrationNames: {\\n *       bubbled: 'onAbort',\\n *       captured: 'onAbortCapture',\\n *     },\\n *     dependencies: [TOP_ABORT],\\n *   },\\n *   ...\\n * };\\n * topLevelEventsToDispatchConfig = new Map([\\n *   [TOP_ABORT, { sameConfig }],\\n * ]);\\n */\\n\\nfunction processSimpleEventPluginPairsByPriority(eventTypes, priority) {\\n  // As the event types are in pairs of two, we need to iterate\\n  // through in twos. The events are in pairs of two to save code\\n  // and improve init perf of processing this array, as it will\\n  // result in far fewer object allocations and property accesses\\n  // if we only use three arrays to process all the categories of\\n  // instead of tuples.\\n  for (var i = 0; i < eventTypes.length; i += 2) {\\n    var topEvent = eventTypes[i];\\n    var event = eventTypes[i + 1];\\n    var capitalizedEvent = event[0].toUpperCase() + event.slice(1);\\n    var onEvent = 'on' + capitalizedEvent;\\n    var config = {\\n      phasedRegistrationNames: {\\n        bubbled: onEvent,\\n        captured: onEvent + 'Capture'\\n      },\\n      dependencies: [topEvent],\\n      eventPriority: priority\\n    };\\n    eventPriorities.set(topEvent, priority);\\n    topLevelEventsToDispatchConfig.set(topEvent, config);\\n    simpleEventPluginEventTypes[event] = config;\\n  }\\n}\\n\\nfunction processTopEventPairsByPriority(eventTypes, priority) {\\n  for (var i = 0; i < eventTypes.length; i++) {\\n    eventPriorities.set(eventTypes[i], priority);\\n  }\\n} // SimpleEventPlugin\\n\\n\\nprocessSimpleEventPluginPairsByPriority(discreteEventPairsForSimpleEventPlugin, DiscreteEvent);\\nprocessSimpleEventPluginPairsByPriority(userBlockingPairsForSimpleEventPlugin, UserBlockingEvent);\\nprocessSimpleEventPluginPairsByPriority(continuousPairsForSimpleEventPlugin, ContinuousEvent); // Not used by SimpleEventPlugin\\n\\nprocessTopEventPairsByPriority(otherDiscreteEvents, DiscreteEvent);\\nfunction getEventPriorityForPluginSystem(topLevelType) {\\n  var priority = eventPriorities.get(topLevelType); // Default to a ContinuousEvent. Note: we might\\n  // want to warn if we can't detect the priority\\n  // for the event.\\n\\n  return priority === undefined ? ContinuousEvent : priority;\\n}\\n\\n// Intentionally not named imports because Rollup would use dynamic dispatch for\\nvar UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\\n    runWithPriority = Scheduler.unstable_runWithPriority; // TODO: can we stop exporting these?\\n\\nvar _enabled = true;\\nfunction setEnabled(enabled) {\\n  _enabled = !!enabled;\\n}\\nfunction isEnabled() {\\n  return _enabled;\\n}\\nfunction trapBubbledEvent(topLevelType, element) {\\n  trapEventForPluginEventSystem(element, topLevelType, false);\\n}\\nfunction trapCapturedEvent(topLevelType, element) {\\n  trapEventForPluginEventSystem(element, topLevelType, true);\\n}\\n\\nfunction trapEventForPluginEventSystem(container, topLevelType, capture) {\\n  var listener;\\n\\n  switch (getEventPriorityForPluginSystem(topLevelType)) {\\n    case DiscreteEvent:\\n      listener = dispatchDiscreteEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);\\n      break;\\n\\n    case UserBlockingEvent:\\n      listener = dispatchUserBlockingUpdate.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);\\n      break;\\n\\n    case ContinuousEvent:\\n    default:\\n      listener = dispatchEvent.bind(null, topLevelType, PLUGIN_EVENT_SYSTEM, container);\\n      break;\\n  }\\n\\n  var rawEventName = getRawEventName(topLevelType);\\n\\n  if (capture) {\\n    addEventCaptureListener(container, rawEventName, listener);\\n  } else {\\n    addEventBubbleListener(container, rawEventName, listener);\\n  }\\n}\\n\\nfunction dispatchDiscreteEvent(topLevelType, eventSystemFlags, container, nativeEvent) {\\n  flushDiscreteUpdatesIfNeeded(nativeEvent.timeStamp);\\n  discreteUpdates(dispatchEvent, topLevelType, eventSystemFlags, container, nativeEvent);\\n}\\n\\nfunction dispatchUserBlockingUpdate(topLevelType, eventSystemFlags, container, nativeEvent) {\\n  runWithPriority(UserBlockingPriority, dispatchEvent.bind(null, topLevelType, eventSystemFlags, container, nativeEvent));\\n}\\n\\nfunction dispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) {\\n  if (!_enabled) {\\n    return;\\n  }\\n\\n  if (hasQueuedDiscreteEvents() && isReplayableDiscreteEvent(topLevelType)) {\\n    // If we already have a queue of discrete events, and this is another discrete\\n    // event, then we can't dispatch it regardless of its target, since they\\n    // need to dispatch in order.\\n    queueDiscreteEvent(null, // Flags that we're not actually blocked on anything as far as we know.\\n    topLevelType, eventSystemFlags, container, nativeEvent);\\n    return;\\n  }\\n\\n  var blockedOn = attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent);\\n\\n  if (blockedOn === null) {\\n    // We successfully dispatched this event.\\n    clearIfContinuousEvent(topLevelType, nativeEvent);\\n    return;\\n  }\\n\\n  if (isReplayableDiscreteEvent(topLevelType)) {\\n    // This this to be replayed later once the target is available.\\n    queueDiscreteEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent);\\n    return;\\n  }\\n\\n  if (queueIfContinuousEvent(blockedOn, topLevelType, eventSystemFlags, container, nativeEvent)) {\\n    return;\\n  } // We need to clear only if we didn't queue because\\n  // queueing is accummulative.\\n\\n\\n  clearIfContinuousEvent(topLevelType, nativeEvent); // This is not replayable so we'll invoke it but without a target,\\n  // in case the event system needs to trace it.\\n\\n  {\\n    dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, null);\\n  }\\n} // Attempt dispatching an event. Returns a SuspenseInstance or Container if it's blocked.\\n\\nfunction attemptToDispatchEvent(topLevelType, eventSystemFlags, container, nativeEvent) {\\n  // TODO: Warn if _enabled is false.\\n  var nativeEventTarget = getEventTarget(nativeEvent);\\n  var targetInst = getClosestInstanceFromNode(nativeEventTarget);\\n\\n  if (targetInst !== null) {\\n    var nearestMounted = getNearestMountedFiber(targetInst);\\n\\n    if (nearestMounted === null) {\\n      // This tree has been unmounted already. Dispatch without a target.\\n      targetInst = null;\\n    } else {\\n      var tag = nearestMounted.tag;\\n\\n      if (tag === SuspenseComponent) {\\n        var instance = getSuspenseInstanceFromFiber(nearestMounted);\\n\\n        if (instance !== null) {\\n          // Queue the event to be replayed later. Abort dispatching since we\\n          // don't want this event dispatched twice through the event system.\\n          // TODO: If this is the first discrete event in the queue. Schedule an increased\\n          // priority for this boundary.\\n          return instance;\\n        } // This shouldn't happen, something went wrong but to avoid blocking\\n        // the whole system, dispatch the event without a target.\\n        // TODO: Warn.\\n\\n\\n        targetInst = null;\\n      } else if (tag === HostRoot) {\\n        var root = nearestMounted.stateNode;\\n\\n        if (root.hydrate) {\\n          // If this happens during a replay something went wrong and it might block\\n          // the whole system.\\n          return getContainerFromFiber(nearestMounted);\\n        }\\n\\n        targetInst = null;\\n      } else if (nearestMounted !== targetInst) {\\n        // If we get an event (ex: img onload) before committing that\\n        // component's mount, ignore it for now (that is, treat it as if it was an\\n        // event on a non-React tree). We might also consider queueing events and\\n        // dispatching them after the mount.\\n        targetInst = null;\\n      }\\n    }\\n  }\\n\\n  {\\n    dispatchEventForLegacyPluginEventSystem(topLevelType, eventSystemFlags, nativeEvent, targetInst);\\n  } // We're not blocked on anything.\\n\\n\\n  return null;\\n}\\n\\n// List derived from Gecko source code:\\n// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js\\nvar shorthandToLonghand = {\\n  animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],\\n  background: ['backgroundAttachment', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundSize'],\\n  backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],\\n  border: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderTopColor', 'borderTopStyle', 'borderTopWidth'],\\n  borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],\\n  borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],\\n  borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],\\n  borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],\\n  borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\\n  borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],\\n  borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],\\n  borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],\\n  borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\\n  borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],\\n  borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', 'borderTopStyle'],\\n  borderTop: ['borderTopColor', 'borderTopStyle', 'borderTopWidth'],\\n  borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],\\n  columnRule: ['columnRuleColor', 'columnRuleStyle', 'columnRuleWidth'],\\n  columns: ['columnCount', 'columnWidth'],\\n  flex: ['flexBasis', 'flexGrow', 'flexShrink'],\\n  flexFlow: ['flexDirection', 'flexWrap'],\\n  font: ['fontFamily', 'fontFeatureSettings', 'fontKerning', 'fontLanguageOverride', 'fontSize', 'fontSizeAdjust', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition', 'fontWeight', 'lineHeight'],\\n  fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],\\n  gap: ['columnGap', 'rowGap'],\\n  grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\\n  gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],\\n  gridColumn: ['gridColumnEnd', 'gridColumnStart'],\\n  gridColumnGap: ['columnGap'],\\n  gridGap: ['columnGap', 'rowGap'],\\n  gridRow: ['gridRowEnd', 'gridRowStart'],\\n  gridRowGap: ['rowGap'],\\n  gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],\\n  listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\\n  margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\\n  marker: ['markerEnd', 'markerMid', 'markerStart'],\\n  mask: ['maskClip', 'maskComposite', 'maskImage', 'maskMode', 'maskOrigin', 'maskPositionX', 'maskPositionY', 'maskRepeat', 'maskSize'],\\n  maskPosition: ['maskPositionX', 'maskPositionY'],\\n  outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],\\n  overflow: ['overflowX', 'overflowY'],\\n  padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\\n  placeContent: ['alignContent', 'justifyContent'],\\n  placeItems: ['alignItems', 'justifyItems'],\\n  placeSelf: ['alignSelf', 'justifySelf'],\\n  textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],\\n  textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],\\n  transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'],\\n  wordWrap: ['overflowWrap']\\n};\\n\\n/**\\n * CSS properties which accept numbers but are not in units of \\\"px\\\".\\n */\\nvar isUnitlessNumber = {\\n  animationIterationCount: true,\\n  borderImageOutset: true,\\n  borderImageSlice: true,\\n  borderImageWidth: true,\\n  boxFlex: true,\\n  boxFlexGroup: true,\\n  boxOrdinalGroup: true,\\n  columnCount: true,\\n  columns: true,\\n  flex: true,\\n  flexGrow: true,\\n  flexPositive: true,\\n  flexShrink: true,\\n  flexNegative: true,\\n  flexOrder: true,\\n  gridArea: true,\\n  gridRow: true,\\n  gridRowEnd: true,\\n  gridRowSpan: true,\\n  gridRowStart: true,\\n  gridColumn: true,\\n  gridColumnEnd: true,\\n  gridColumnSpan: true,\\n  gridColumnStart: true,\\n  fontWeight: true,\\n  lineClamp: true,\\n  lineHeight: true,\\n  opacity: true,\\n  order: true,\\n  orphans: true,\\n  tabSize: true,\\n  widows: true,\\n  zIndex: true,\\n  zoom: true,\\n  // SVG-related properties\\n  fillOpacity: true,\\n  floodOpacity: true,\\n  stopOpacity: true,\\n  strokeDasharray: true,\\n  strokeDashoffset: true,\\n  strokeMiterlimit: true,\\n  strokeOpacity: true,\\n  strokeWidth: true\\n};\\n/**\\n * @param {string} prefix vendor-specific prefix, eg: Webkit\\n * @param {string} key style name, eg: transitionDuration\\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\\n * WebkitTransitionDuration\\n */\\n\\nfunction prefixKey(prefix, key) {\\n  return prefix + key.charAt(0).toUpperCase() + key.substring(1);\\n}\\n/**\\n * Support style names that may come passed in prefixed by adding permutations\\n * of vendor prefixes.\\n */\\n\\n\\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O']; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\\n// infinite loop, because it iterates over the newly added props too.\\n\\nObject.keys(isUnitlessNumber).forEach(function (prop) {\\n  prefixes.forEach(function (prefix) {\\n    isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\\n  });\\n});\\n\\n/**\\n * Convert a value into the proper css writable value. The style name `name`\\n * should be logical (no hyphens), as specified\\n * in `CSSProperty.isUnitlessNumber`.\\n *\\n * @param {string} name CSS property name such as `topMargin`.\\n * @param {*} value CSS property value such as `10px`.\\n * @return {string} Normalized style value with dimensions applied.\\n */\\n\\nfunction dangerousStyleValue(name, value, isCustomProperty) {\\n  // Note that we've removed escapeTextForBrowser() calls here since the\\n  // whole string will be escaped when the attribute is injected into\\n  // the markup. If you provide unsafe user data here they can inject\\n  // arbitrary CSS which may be problematic (I couldn't repro this):\\n  // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\\n  // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\\n  // This is not an XSS hole but instead a potential CSS injection issue\\n  // which has lead to a greater discussion about how we're going to\\n  // trust URLs moving forward. See #2115901\\n  var isEmpty = value == null || typeof value === 'boolean' || value === '';\\n\\n  if (isEmpty) {\\n    return '';\\n  }\\n\\n  if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\\n    return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\\n  }\\n\\n  return ('' + value).trim();\\n}\\n\\nvar uppercasePattern = /([A-Z])/g;\\nvar msPattern = /^ms-/;\\n/**\\n * Hyphenates a camelcased CSS property name, for example:\\n *\\n *   > hyphenateStyleName('backgroundColor')\\n *   < \\\"background-color\\\"\\n *   > hyphenateStyleName('MozTransition')\\n *   < \\\"-moz-transition\\\"\\n *   > hyphenateStyleName('msTransition')\\n *   < \\\"-ms-transition\\\"\\n *\\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\\n * is converted to `-ms-`.\\n */\\n\\nfunction hyphenateStyleName(name) {\\n  return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');\\n}\\n\\nvar warnValidStyle = function () {};\\n\\n{\\n  // 'msTransform' is correct, but the other prefixes should be capitalized\\n  var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\\n  var msPattern$1 = /^-ms-/;\\n  var hyphenPattern = /-(.)/g; // style values shouldn't contain a semicolon\\n\\n  var badStyleValueWithSemicolonPattern = /;\\\\s*$/;\\n  var warnedStyleNames = {};\\n  var warnedStyleValues = {};\\n  var warnedForNaNValue = false;\\n  var warnedForInfinityValue = false;\\n\\n  var camelize = function (string) {\\n    return string.replace(hyphenPattern, function (_, character) {\\n      return character.toUpperCase();\\n    });\\n  };\\n\\n  var warnHyphenatedStyleName = function (name) {\\n    if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\\n      return;\\n    }\\n\\n    warnedStyleNames[name] = true;\\n\\n    error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests\\n    // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\\n    // is converted to lowercase `ms`.\\n    camelize(name.replace(msPattern$1, 'ms-')));\\n  };\\n\\n  var warnBadVendoredStyleName = function (name) {\\n    if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\\n      return;\\n    }\\n\\n    warnedStyleNames[name] = true;\\n\\n    error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));\\n  };\\n\\n  var warnStyleValueWithSemicolon = function (name, value) {\\n    if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\\n      return;\\n    }\\n\\n    warnedStyleValues[value] = true;\\n\\n    error(\\\"Style property values shouldn't contain a semicolon. \\\" + 'Try \\\"%s: %s\\\" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));\\n  };\\n\\n  var warnStyleValueIsNaN = function (name, value) {\\n    if (warnedForNaNValue) {\\n      return;\\n    }\\n\\n    warnedForNaNValue = true;\\n\\n    error('`NaN` is an invalid value for the `%s` css style property.', name);\\n  };\\n\\n  var warnStyleValueIsInfinity = function (name, value) {\\n    if (warnedForInfinityValue) {\\n      return;\\n    }\\n\\n    warnedForInfinityValue = true;\\n\\n    error('`Infinity` is an invalid value for the `%s` css style property.', name);\\n  };\\n\\n  warnValidStyle = function (name, value) {\\n    if (name.indexOf('-') > -1) {\\n      warnHyphenatedStyleName(name);\\n    } else if (badVendoredStyleNamePattern.test(name)) {\\n      warnBadVendoredStyleName(name);\\n    } else if (badStyleValueWithSemicolonPattern.test(value)) {\\n      warnStyleValueWithSemicolon(name, value);\\n    }\\n\\n    if (typeof value === 'number') {\\n      if (isNaN(value)) {\\n        warnStyleValueIsNaN(name, value);\\n      } else if (!isFinite(value)) {\\n        warnStyleValueIsInfinity(name, value);\\n      }\\n    }\\n  };\\n}\\n\\nvar warnValidStyle$1 = warnValidStyle;\\n\\n/**\\n * Operations for dealing with CSS properties.\\n */\\n\\n/**\\n * This creates a string that is expected to be equivalent to the style\\n * attribute generated by server-side rendering. It by-passes warnings and\\n * security checks so it's not safe to use this value for anything other than\\n * comparison. It is only used in DEV for SSR validation.\\n */\\n\\nfunction createDangerousStringForStyles(styles) {\\n  {\\n    var serialized = '';\\n    var delimiter = '';\\n\\n    for (var styleName in styles) {\\n      if (!styles.hasOwnProperty(styleName)) {\\n        continue;\\n      }\\n\\n      var styleValue = styles[styleName];\\n\\n      if (styleValue != null) {\\n        var isCustomProperty = styleName.indexOf('--') === 0;\\n        serialized += delimiter + (isCustomProperty ? styleName : hyphenateStyleName(styleName)) + ':';\\n        serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);\\n        delimiter = ';';\\n      }\\n    }\\n\\n    return serialized || null;\\n  }\\n}\\n/**\\n * Sets the value for multiple styles on a node.  If a value is specified as\\n * '' (empty string), the corresponding style property will be unset.\\n *\\n * @param {DOMElement} node\\n * @param {object} styles\\n */\\n\\nfunction setValueForStyles(node, styles) {\\n  var style = node.style;\\n\\n  for (var styleName in styles) {\\n    if (!styles.hasOwnProperty(styleName)) {\\n      continue;\\n    }\\n\\n    var isCustomProperty = styleName.indexOf('--') === 0;\\n\\n    {\\n      if (!isCustomProperty) {\\n        warnValidStyle$1(styleName, styles[styleName]);\\n      }\\n    }\\n\\n    var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\\n\\n    if (styleName === 'float') {\\n      styleName = 'cssFloat';\\n    }\\n\\n    if (isCustomProperty) {\\n      style.setProperty(styleName, styleValue);\\n    } else {\\n      style[styleName] = styleValue;\\n    }\\n  }\\n}\\n\\nfunction isValueEmpty(value) {\\n  return value == null || typeof value === 'boolean' || value === '';\\n}\\n/**\\n * Given {color: 'red', overflow: 'hidden'} returns {\\n *   color: 'color',\\n *   overflowX: 'overflow',\\n *   overflowY: 'overflow',\\n * }. This can be read as \\\"the overflowY property was set by the overflow\\n * shorthand\\\". That is, the values are the property that each was derived from.\\n */\\n\\n\\nfunction expandShorthandMap(styles) {\\n  var expanded = {};\\n\\n  for (var key in styles) {\\n    var longhands = shorthandToLonghand[key] || [key];\\n\\n    for (var i = 0; i < longhands.length; i++) {\\n      expanded[longhands[i]] = key;\\n    }\\n  }\\n\\n  return expanded;\\n}\\n/**\\n * When mixing shorthand and longhand property names, we warn during updates if\\n * we expect an incorrect result to occur. In particular, we warn for:\\n *\\n * Updating a shorthand property (longhand gets overwritten):\\n *   {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}\\n *   becomes .style.font = 'baz'\\n * Removing a shorthand property (longhand gets lost too):\\n *   {font: 'foo', fontVariant: 'bar'} -> {fontVariant: 'bar'}\\n *   becomes .style.font = ''\\n * Removing a longhand property (should revert to shorthand; doesn't):\\n *   {font: 'foo', fontVariant: 'bar'} -> {font: 'foo'}\\n *   becomes .style.fontVariant = ''\\n */\\n\\n\\nfunction validateShorthandPropertyCollisionInDev(styleUpdates, nextStyles) {\\n  {\\n\\n    if (!nextStyles) {\\n      return;\\n    }\\n\\n    var expandedUpdates = expandShorthandMap(styleUpdates);\\n    var expandedStyles = expandShorthandMap(nextStyles);\\n    var warnedAbout = {};\\n\\n    for (var key in expandedUpdates) {\\n      var originalKey = expandedUpdates[key];\\n      var correctOriginalKey = expandedStyles[key];\\n\\n      if (correctOriginalKey && originalKey !== correctOriginalKey) {\\n        var warningKey = originalKey + ',' + correctOriginalKey;\\n\\n        if (warnedAbout[warningKey]) {\\n          continue;\\n        }\\n\\n        warnedAbout[warningKey] = true;\\n\\n        error('%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) can lead to styling bugs. To ' + \\\"avoid this, don't mix shorthand and non-shorthand properties \\\" + 'for the same value; instead, replace the shorthand with ' + 'separate values.', isValueEmpty(styleUpdates[originalKey]) ? 'Removing' : 'Updating', originalKey, correctOriginalKey);\\n      }\\n    }\\n  }\\n}\\n\\n// For HTML, certain tags should omit their close tag. We keep a whitelist for\\n// those special-case tags.\\nvar omittedCloseTags = {\\n  area: true,\\n  base: true,\\n  br: true,\\n  col: true,\\n  embed: true,\\n  hr: true,\\n  img: true,\\n  input: true,\\n  keygen: true,\\n  link: true,\\n  meta: true,\\n  param: true,\\n  source: true,\\n  track: true,\\n  wbr: true // NOTE: menuitem's close tag should be omitted, but that causes problems.\\n\\n};\\n\\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\\n\\nvar voidElementTags = _assign({\\n  menuitem: true\\n}, omittedCloseTags);\\n\\nvar HTML = '__html';\\nvar ReactDebugCurrentFrame$3 = null;\\n\\n{\\n  ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame;\\n}\\n\\nfunction assertValidProps(tag, props) {\\n  if (!props) {\\n    return;\\n  } // Note the use of `==` which checks for null or undefined.\\n\\n\\n  if (voidElementTags[tag]) {\\n    if (!(props.children == null && props.dangerouslySetInnerHTML == null)) {\\n      {\\n        throw Error( tag + \\\" is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.\\\" + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );\\n      }\\n    }\\n  }\\n\\n  if (props.dangerouslySetInnerHTML != null) {\\n    if (!(props.children == null)) {\\n      {\\n        throw Error( \\\"Can only set one of `children` or `props.dangerouslySetInnerHTML`.\\\" );\\n      }\\n    }\\n\\n    if (!(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML)) {\\n      {\\n        throw Error( \\\"`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.\\\" );\\n      }\\n    }\\n  }\\n\\n  {\\n    if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {\\n      error('A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.');\\n    }\\n  }\\n\\n  if (!(props.style == null || typeof props.style === 'object')) {\\n    {\\n      throw Error( \\\"The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.\\\" + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );\\n    }\\n  }\\n}\\n\\nfunction isCustomComponent(tagName, props) {\\n  if (tagName.indexOf('-') === -1) {\\n    return typeof props.is === 'string';\\n  }\\n\\n  switch (tagName) {\\n    // These are reserved SVG and MathML elements.\\n    // We don't mind this whitelist too much because we expect it to never grow.\\n    // The alternative is to track the namespace in a few places which is convoluted.\\n    // https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts\\n    case 'annotation-xml':\\n    case 'color-profile':\\n    case 'font-face':\\n    case 'font-face-src':\\n    case 'font-face-uri':\\n    case 'font-face-format':\\n    case 'font-face-name':\\n    case 'missing-glyph':\\n      return false;\\n\\n    default:\\n      return true;\\n  }\\n}\\n\\n// When adding attributes to the HTML or SVG whitelist, be sure to\\n// also add them to this module to ensure casing and incorrect name\\n// warnings.\\nvar possibleStandardNames = {\\n  // HTML\\n  accept: 'accept',\\n  acceptcharset: 'acceptCharset',\\n  'accept-charset': 'acceptCharset',\\n  accesskey: 'accessKey',\\n  action: 'action',\\n  allowfullscreen: 'allowFullScreen',\\n  alt: 'alt',\\n  as: 'as',\\n  async: 'async',\\n  autocapitalize: 'autoCapitalize',\\n  autocomplete: 'autoComplete',\\n  autocorrect: 'autoCorrect',\\n  autofocus: 'autoFocus',\\n  autoplay: 'autoPlay',\\n  autosave: 'autoSave',\\n  capture: 'capture',\\n  cellpadding: 'cellPadding',\\n  cellspacing: 'cellSpacing',\\n  challenge: 'challenge',\\n  charset: 'charSet',\\n  checked: 'checked',\\n  children: 'children',\\n  cite: 'cite',\\n  class: 'className',\\n  classid: 'classID',\\n  classname: 'className',\\n  cols: 'cols',\\n  colspan: 'colSpan',\\n  content: 'content',\\n  contenteditable: 'contentEditable',\\n  contextmenu: 'contextMenu',\\n  controls: 'controls',\\n  controlslist: 'controlsList',\\n  coords: 'coords',\\n  crossorigin: 'crossOrigin',\\n  dangerouslysetinnerhtml: 'dangerouslySetInnerHTML',\\n  data: 'data',\\n  datetime: 'dateTime',\\n  default: 'default',\\n  defaultchecked: 'defaultChecked',\\n  defaultvalue: 'defaultValue',\\n  defer: 'defer',\\n  dir: 'dir',\\n  disabled: 'disabled',\\n  disablepictureinpicture: 'disablePictureInPicture',\\n  download: 'download',\\n  draggable: 'draggable',\\n  enctype: 'encType',\\n  for: 'htmlFor',\\n  form: 'form',\\n  formmethod: 'formMethod',\\n  formaction: 'formAction',\\n  formenctype: 'formEncType',\\n  formnovalidate: 'formNoValidate',\\n  formtarget: 'formTarget',\\n  frameborder: 'frameBorder',\\n  headers: 'headers',\\n  height: 'height',\\n  hidden: 'hidden',\\n  high: 'high',\\n  href: 'href',\\n  hreflang: 'hrefLang',\\n  htmlfor: 'htmlFor',\\n  httpequiv: 'httpEquiv',\\n  'http-equiv': 'httpEquiv',\\n  icon: 'icon',\\n  id: 'id',\\n  innerhtml: 'innerHTML',\\n  inputmode: 'inputMode',\\n  integrity: 'integrity',\\n  is: 'is',\\n  itemid: 'itemID',\\n  itemprop: 'itemProp',\\n  itemref: 'itemRef',\\n  itemscope: 'itemScope',\\n  itemtype: 'itemType',\\n  keyparams: 'keyParams',\\n  keytype: 'keyType',\\n  kind: 'kind',\\n  label: 'label',\\n  lang: 'lang',\\n  list: 'list',\\n  loop: 'loop',\\n  low: 'low',\\n  manifest: 'manifest',\\n  marginwidth: 'marginWidth',\\n  marginheight: 'marginHeight',\\n  max: 'max',\\n  maxlength: 'maxLength',\\n  media: 'media',\\n  mediagroup: 'mediaGroup',\\n  method: 'method',\\n  min: 'min',\\n  minlength: 'minLength',\\n  multiple: 'multiple',\\n  muted: 'muted',\\n  name: 'name',\\n  nomodule: 'noModule',\\n  nonce: 'nonce',\\n  novalidate: 'noValidate',\\n  open: 'open',\\n  optimum: 'optimum',\\n  pattern: 'pattern',\\n  placeholder: 'placeholder',\\n  playsinline: 'playsInline',\\n  poster: 'poster',\\n  preload: 'preload',\\n  profile: 'profile',\\n  radiogroup: 'radioGroup',\\n  readonly: 'readOnly',\\n  referrerpolicy: 'referrerPolicy',\\n  rel: 'rel',\\n  required: 'required',\\n  reversed: 'reversed',\\n  role: 'role',\\n  rows: 'rows',\\n  rowspan: 'rowSpan',\\n  sandbox: 'sandbox',\\n  scope: 'scope',\\n  scoped: 'scoped',\\n  scrolling: 'scrolling',\\n  seamless: 'seamless',\\n  selected: 'selected',\\n  shape: 'shape',\\n  size: 'size',\\n  sizes: 'sizes',\\n  span: 'span',\\n  spellcheck: 'spellCheck',\\n  src: 'src',\\n  srcdoc: 'srcDoc',\\n  srclang: 'srcLang',\\n  srcset: 'srcSet',\\n  start: 'start',\\n  step: 'step',\\n  style: 'style',\\n  summary: 'summary',\\n  tabindex: 'tabIndex',\\n  target: 'target',\\n  title: 'title',\\n  type: 'type',\\n  usemap: 'useMap',\\n  value: 'value',\\n  width: 'width',\\n  wmode: 'wmode',\\n  wrap: 'wrap',\\n  // SVG\\n  about: 'about',\\n  accentheight: 'accentHeight',\\n  'accent-height': 'accentHeight',\\n  accumulate: 'accumulate',\\n  additive: 'additive',\\n  alignmentbaseline: 'alignmentBaseline',\\n  'alignment-baseline': 'alignmentBaseline',\\n  allowreorder: 'allowReorder',\\n  alphabetic: 'alphabetic',\\n  amplitude: 'amplitude',\\n  arabicform: 'arabicForm',\\n  'arabic-form': 'arabicForm',\\n  ascent: 'ascent',\\n  attributename: 'attributeName',\\n  attributetype: 'attributeType',\\n  autoreverse: 'autoReverse',\\n  azimuth: 'azimuth',\\n  basefrequency: 'baseFrequency',\\n  baselineshift: 'baselineShift',\\n  'baseline-shift': 'baselineShift',\\n  baseprofile: 'baseProfile',\\n  bbox: 'bbox',\\n  begin: 'begin',\\n  bias: 'bias',\\n  by: 'by',\\n  calcmode: 'calcMode',\\n  capheight: 'capHeight',\\n  'cap-height': 'capHeight',\\n  clip: 'clip',\\n  clippath: 'clipPath',\\n  'clip-path': 'clipPath',\\n  clippathunits: 'clipPathUnits',\\n  cliprule: 'clipRule',\\n  'clip-rule': 'clipRule',\\n  color: 'color',\\n  colorinterpolation: 'colorInterpolation',\\n  'color-interpolation': 'colorInterpolation',\\n  colorinterpolationfilters: 'colorInterpolationFilters',\\n  'color-interpolation-filters': 'colorInterpolationFilters',\\n  colorprofile: 'colorProfile',\\n  'color-profile': 'colorProfile',\\n  colorrendering: 'colorRendering',\\n  'color-rendering': 'colorRendering',\\n  contentscripttype: 'contentScriptType',\\n  contentstyletype: 'contentStyleType',\\n  cursor: 'cursor',\\n  cx: 'cx',\\n  cy: 'cy',\\n  d: 'd',\\n  datatype: 'datatype',\\n  decelerate: 'decelerate',\\n  descent: 'descent',\\n  diffuseconstant: 'diffuseConstant',\\n  direction: 'direction',\\n  display: 'display',\\n  divisor: 'divisor',\\n  dominantbaseline: 'dominantBaseline',\\n  'dominant-baseline': 'dominantBaseline',\\n  dur: 'dur',\\n  dx: 'dx',\\n  dy: 'dy',\\n  edgemode: 'edgeMode',\\n  elevation: 'elevation',\\n  enablebackground: 'enableBackground',\\n  'enable-background': 'enableBackground',\\n  end: 'end',\\n  exponent: 'exponent',\\n  externalresourcesrequired: 'externalResourcesRequired',\\n  fill: 'fill',\\n  fillopacity: 'fillOpacity',\\n  'fill-opacity': 'fillOpacity',\\n  fillrule: 'fillRule',\\n  'fill-rule': 'fillRule',\\n  filter: 'filter',\\n  filterres: 'filterRes',\\n  filterunits: 'filterUnits',\\n  floodopacity: 'floodOpacity',\\n  'flood-opacity': 'floodOpacity',\\n  floodcolor: 'floodColor',\\n  'flood-color': 'floodColor',\\n  focusable: 'focusable',\\n  fontfamily: 'fontFamily',\\n  'font-family': 'fontFamily',\\n  fontsize: 'fontSize',\\n  'font-size': 'fontSize',\\n  fontsizeadjust: 'fontSizeAdjust',\\n  'font-size-adjust': 'fontSizeAdjust',\\n  fontstretch: 'fontStretch',\\n  'font-stretch': 'fontStretch',\\n  fontstyle: 'fontStyle',\\n  'font-style': 'fontStyle',\\n  fontvariant: 'fontVariant',\\n  'font-variant': 'fontVariant',\\n  fontweight: 'fontWeight',\\n  'font-weight': 'fontWeight',\\n  format: 'format',\\n  from: 'from',\\n  fx: 'fx',\\n  fy: 'fy',\\n  g1: 'g1',\\n  g2: 'g2',\\n  glyphname: 'glyphName',\\n  'glyph-name': 'glyphName',\\n  glyphorientationhorizontal: 'glyphOrientationHorizontal',\\n  'glyph-orientation-horizontal': 'glyphOrientationHorizontal',\\n  glyphorientationvertical: 'glyphOrientationVertical',\\n  'glyph-orientation-vertical': 'glyphOrientationVertical',\\n  glyphref: 'glyphRef',\\n  gradienttransform: 'gradientTransform',\\n  gradientunits: 'gradientUnits',\\n  hanging: 'hanging',\\n  horizadvx: 'horizAdvX',\\n  'horiz-adv-x': 'horizAdvX',\\n  horizoriginx: 'horizOriginX',\\n  'horiz-origin-x': 'horizOriginX',\\n  ideographic: 'ideographic',\\n  imagerendering: 'imageRendering',\\n  'image-rendering': 'imageRendering',\\n  in2: 'in2',\\n  in: 'in',\\n  inlist: 'inlist',\\n  intercept: 'intercept',\\n  k1: 'k1',\\n  k2: 'k2',\\n  k3: 'k3',\\n  k4: 'k4',\\n  k: 'k',\\n  kernelmatrix: 'kernelMatrix',\\n  kernelunitlength: 'kernelUnitLength',\\n  kerning: 'kerning',\\n  keypoints: 'keyPoints',\\n  keysplines: 'keySplines',\\n  keytimes: 'keyTimes',\\n  lengthadjust: 'lengthAdjust',\\n  letterspacing: 'letterSpacing',\\n  'letter-spacing': 'letterSpacing',\\n  lightingcolor: 'lightingColor',\\n  'lighting-color': 'lightingColor',\\n  limitingconeangle: 'limitingConeAngle',\\n  local: 'local',\\n  markerend: 'markerEnd',\\n  'marker-end': 'markerEnd',\\n  markerheight: 'markerHeight',\\n  markermid: 'markerMid',\\n  'marker-mid': 'markerMid',\\n  markerstart: 'markerStart',\\n  'marker-start': 'markerStart',\\n  markerunits: 'markerUnits',\\n  markerwidth: 'markerWidth',\\n  mask: 'mask',\\n  maskcontentunits: 'maskContentUnits',\\n  maskunits: 'maskUnits',\\n  mathematical: 'mathematical',\\n  mode: 'mode',\\n  numoctaves: 'numOctaves',\\n  offset: 'offset',\\n  opacity: 'opacity',\\n  operator: 'operator',\\n  order: 'order',\\n  orient: 'orient',\\n  orientation: 'orientation',\\n  origin: 'origin',\\n  overflow: 'overflow',\\n  overlineposition: 'overlinePosition',\\n  'overline-position': 'overlinePosition',\\n  overlinethickness: 'overlineThickness',\\n  'overline-thickness': 'overlineThickness',\\n  paintorder: 'paintOrder',\\n  'paint-order': 'paintOrder',\\n  panose1: 'panose1',\\n  'panose-1': 'panose1',\\n  pathlength: 'pathLength',\\n  patterncontentunits: 'patternContentUnits',\\n  patterntransform: 'patternTransform',\\n  patternunits: 'patternUnits',\\n  pointerevents: 'pointerEvents',\\n  'pointer-events': 'pointerEvents',\\n  points: 'points',\\n  pointsatx: 'pointsAtX',\\n  pointsaty: 'pointsAtY',\\n  pointsatz: 'pointsAtZ',\\n  prefix: 'prefix',\\n  preservealpha: 'preserveAlpha',\\n  preserveaspectratio: 'preserveAspectRatio',\\n  primitiveunits: 'primitiveUnits',\\n  property: 'property',\\n  r: 'r',\\n  radius: 'radius',\\n  refx: 'refX',\\n  refy: 'refY',\\n  renderingintent: 'renderingIntent',\\n  'rendering-intent': 'renderingIntent',\\n  repeatcount: 'repeatCount',\\n  repeatdur: 'repeatDur',\\n  requiredextensions: 'requiredExtensions',\\n  requiredfeatures: 'requiredFeatures',\\n  resource: 'resource',\\n  restart: 'restart',\\n  result: 'result',\\n  results: 'results',\\n  rotate: 'rotate',\\n  rx: 'rx',\\n  ry: 'ry',\\n  scale: 'scale',\\n  security: 'security',\\n  seed: 'seed',\\n  shaperendering: 'shapeRendering',\\n  'shape-rendering': 'shapeRendering',\\n  slope: 'slope',\\n  spacing: 'spacing',\\n  specularconstant: 'specularConstant',\\n  specularexponent: 'specularExponent',\\n  speed: 'speed',\\n  spreadmethod: 'spreadMethod',\\n  startoffset: 'startOffset',\\n  stddeviation: 'stdDeviation',\\n  stemh: 'stemh',\\n  stemv: 'stemv',\\n  stitchtiles: 'stitchTiles',\\n  stopcolor: 'stopColor',\\n  'stop-color': 'stopColor',\\n  stopopacity: 'stopOpacity',\\n  'stop-opacity': 'stopOpacity',\\n  strikethroughposition: 'strikethroughPosition',\\n  'strikethrough-position': 'strikethroughPosition',\\n  strikethroughthickness: 'strikethroughThickness',\\n  'strikethrough-thickness': 'strikethroughThickness',\\n  string: 'string',\\n  stroke: 'stroke',\\n  strokedasharray: 'strokeDasharray',\\n  'stroke-dasharray': 'strokeDasharray',\\n  strokedashoffset: 'strokeDashoffset',\\n  'stroke-dashoffset': 'strokeDashoffset',\\n  strokelinecap: 'strokeLinecap',\\n  'stroke-linecap': 'strokeLinecap',\\n  strokelinejoin: 'strokeLinejoin',\\n  'stroke-linejoin': 'strokeLinejoin',\\n  strokemiterlimit: 'strokeMiterlimit',\\n  'stroke-miterlimit': 'strokeMiterlimit',\\n  strokewidth: 'strokeWidth',\\n  'stroke-width': 'strokeWidth',\\n  strokeopacity: 'strokeOpacity',\\n  'stroke-opacity': 'strokeOpacity',\\n  suppresscontenteditablewarning: 'suppressContentEditableWarning',\\n  suppresshydrationwarning: 'suppressHydrationWarning',\\n  surfacescale: 'surfaceScale',\\n  systemlanguage: 'systemLanguage',\\n  tablevalues: 'tableValues',\\n  targetx: 'targetX',\\n  targety: 'targetY',\\n  textanchor: 'textAnchor',\\n  'text-anchor': 'textAnchor',\\n  textdecoration: 'textDecoration',\\n  'text-decoration': 'textDecoration',\\n  textlength: 'textLength',\\n  textrendering: 'textRendering',\\n  'text-rendering': 'textRendering',\\n  to: 'to',\\n  transform: 'transform',\\n  typeof: 'typeof',\\n  u1: 'u1',\\n  u2: 'u2',\\n  underlineposition: 'underlinePosition',\\n  'underline-position': 'underlinePosition',\\n  underlinethickness: 'underlineThickness',\\n  'underline-thickness': 'underlineThickness',\\n  unicode: 'unicode',\\n  unicodebidi: 'unicodeBidi',\\n  'unicode-bidi': 'unicodeBidi',\\n  unicoderange: 'unicodeRange',\\n  'unicode-range': 'unicodeRange',\\n  unitsperem: 'unitsPerEm',\\n  'units-per-em': 'unitsPerEm',\\n  unselectable: 'unselectable',\\n  valphabetic: 'vAlphabetic',\\n  'v-alphabetic': 'vAlphabetic',\\n  values: 'values',\\n  vectoreffect: 'vectorEffect',\\n  'vector-effect': 'vectorEffect',\\n  version: 'version',\\n  vertadvy: 'vertAdvY',\\n  'vert-adv-y': 'vertAdvY',\\n  vertoriginx: 'vertOriginX',\\n  'vert-origin-x': 'vertOriginX',\\n  vertoriginy: 'vertOriginY',\\n  'vert-origin-y': 'vertOriginY',\\n  vhanging: 'vHanging',\\n  'v-hanging': 'vHanging',\\n  videographic: 'vIdeographic',\\n  'v-ideographic': 'vIdeographic',\\n  viewbox: 'viewBox',\\n  viewtarget: 'viewTarget',\\n  visibility: 'visibility',\\n  vmathematical: 'vMathematical',\\n  'v-mathematical': 'vMathematical',\\n  vocab: 'vocab',\\n  widths: 'widths',\\n  wordspacing: 'wordSpacing',\\n  'word-spacing': 'wordSpacing',\\n  writingmode: 'writingMode',\\n  'writing-mode': 'writingMode',\\n  x1: 'x1',\\n  x2: 'x2',\\n  x: 'x',\\n  xchannelselector: 'xChannelSelector',\\n  xheight: 'xHeight',\\n  'x-height': 'xHeight',\\n  xlinkactuate: 'xlinkActuate',\\n  'xlink:actuate': 'xlinkActuate',\\n  xlinkarcrole: 'xlinkArcrole',\\n  'xlink:arcrole': 'xlinkArcrole',\\n  xlinkhref: 'xlinkHref',\\n  'xlink:href': 'xlinkHref',\\n  xlinkrole: 'xlinkRole',\\n  'xlink:role': 'xlinkRole',\\n  xlinkshow: 'xlinkShow',\\n  'xlink:show': 'xlinkShow',\\n  xlinktitle: 'xlinkTitle',\\n  'xlink:title': 'xlinkTitle',\\n  xlinktype: 'xlinkType',\\n  'xlink:type': 'xlinkType',\\n  xmlbase: 'xmlBase',\\n  'xml:base': 'xmlBase',\\n  xmllang: 'xmlLang',\\n  'xml:lang': 'xmlLang',\\n  xmlns: 'xmlns',\\n  'xml:space': 'xmlSpace',\\n  xmlnsxlink: 'xmlnsXlink',\\n  'xmlns:xlink': 'xmlnsXlink',\\n  xmlspace: 'xmlSpace',\\n  y1: 'y1',\\n  y2: 'y2',\\n  y: 'y',\\n  ychannelselector: 'yChannelSelector',\\n  z: 'z',\\n  zoomandpan: 'zoomAndPan'\\n};\\n\\nvar ariaProperties = {\\n  'aria-current': 0,\\n  // state\\n  'aria-details': 0,\\n  'aria-disabled': 0,\\n  // state\\n  'aria-hidden': 0,\\n  // state\\n  'aria-invalid': 0,\\n  // state\\n  'aria-keyshortcuts': 0,\\n  'aria-label': 0,\\n  'aria-roledescription': 0,\\n  // Widget Attributes\\n  'aria-autocomplete': 0,\\n  'aria-checked': 0,\\n  'aria-expanded': 0,\\n  'aria-haspopup': 0,\\n  'aria-level': 0,\\n  'aria-modal': 0,\\n  'aria-multiline': 0,\\n  'aria-multiselectable': 0,\\n  'aria-orientation': 0,\\n  'aria-placeholder': 0,\\n  'aria-pressed': 0,\\n  'aria-readonly': 0,\\n  'aria-required': 0,\\n  'aria-selected': 0,\\n  'aria-sort': 0,\\n  'aria-valuemax': 0,\\n  'aria-valuemin': 0,\\n  'aria-valuenow': 0,\\n  'aria-valuetext': 0,\\n  // Live Region Attributes\\n  'aria-atomic': 0,\\n  'aria-busy': 0,\\n  'aria-live': 0,\\n  'aria-relevant': 0,\\n  // Drag-and-Drop Attributes\\n  'aria-dropeffect': 0,\\n  'aria-grabbed': 0,\\n  // Relationship Attributes\\n  'aria-activedescendant': 0,\\n  'aria-colcount': 0,\\n  'aria-colindex': 0,\\n  'aria-colspan': 0,\\n  'aria-controls': 0,\\n  'aria-describedby': 0,\\n  'aria-errormessage': 0,\\n  'aria-flowto': 0,\\n  'aria-labelledby': 0,\\n  'aria-owns': 0,\\n  'aria-posinset': 0,\\n  'aria-rowcount': 0,\\n  'aria-rowindex': 0,\\n  'aria-rowspan': 0,\\n  'aria-setsize': 0\\n};\\n\\nvar warnedProperties = {};\\nvar rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\\nvar rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\\nvar hasOwnProperty$1 = Object.prototype.hasOwnProperty;\\n\\nfunction validateProperty(tagName, name) {\\n  {\\n    if (hasOwnProperty$1.call(warnedProperties, name) && warnedProperties[name]) {\\n      return true;\\n    }\\n\\n    if (rARIACamel.test(name)) {\\n      var ariaName = 'aria-' + name.slice(4).toLowerCase();\\n      var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM\\n      // DOM properties, then it is an invalid aria-* attribute.\\n\\n      if (correctName == null) {\\n        error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);\\n\\n        warnedProperties[name] = true;\\n        return true;\\n      } // aria-* attributes should be lowercase; suggest the lowercase version.\\n\\n\\n      if (name !== correctName) {\\n        error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);\\n\\n        warnedProperties[name] = true;\\n        return true;\\n      }\\n    }\\n\\n    if (rARIA.test(name)) {\\n      var lowerCasedName = name.toLowerCase();\\n      var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM\\n      // DOM properties, then it is an invalid aria-* attribute.\\n\\n      if (standardName == null) {\\n        warnedProperties[name] = true;\\n        return false;\\n      } // aria-* attributes should be lowercase; suggest the lowercase version.\\n\\n\\n      if (name !== standardName) {\\n        error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);\\n\\n        warnedProperties[name] = true;\\n        return true;\\n      }\\n    }\\n  }\\n\\n  return true;\\n}\\n\\nfunction warnInvalidARIAProps(type, props) {\\n  {\\n    var invalidProps = [];\\n\\n    for (var key in props) {\\n      var isValid = validateProperty(type, key);\\n\\n      if (!isValid) {\\n        invalidProps.push(key);\\n      }\\n    }\\n\\n    var unknownPropString = invalidProps.map(function (prop) {\\n      return '`' + prop + '`';\\n    }).join(', ');\\n\\n    if (invalidProps.length === 1) {\\n      error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);\\n    } else if (invalidProps.length > 1) {\\n      error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);\\n    }\\n  }\\n}\\n\\nfunction validateProperties(type, props) {\\n  if (isCustomComponent(type, props)) {\\n    return;\\n  }\\n\\n  warnInvalidARIAProps(type, props);\\n}\\n\\nvar didWarnValueNull = false;\\nfunction validateProperties$1(type, props) {\\n  {\\n    if (type !== 'input' && type !== 'textarea' && type !== 'select') {\\n      return;\\n    }\\n\\n    if (props != null && props.value === null && !didWarnValueNull) {\\n      didWarnValueNull = true;\\n\\n      if (type === 'select' && props.multiple) {\\n        error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);\\n      } else {\\n        error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);\\n      }\\n    }\\n  }\\n}\\n\\nvar validateProperty$1 = function () {};\\n\\n{\\n  var warnedProperties$1 = {};\\n  var _hasOwnProperty = Object.prototype.hasOwnProperty;\\n  var EVENT_NAME_REGEX = /^on./;\\n  var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;\\n  var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');\\n  var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');\\n\\n  validateProperty$1 = function (tagName, name, value, canUseEventSystem) {\\n    if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {\\n      return true;\\n    }\\n\\n    var lowerCasedName = name.toLowerCase();\\n\\n    if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {\\n      error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    } // We can't rely on the event system being injected on the server.\\n\\n\\n    if (canUseEventSystem) {\\n      if (registrationNameModules.hasOwnProperty(name)) {\\n        return true;\\n      }\\n\\n      var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;\\n\\n      if (registrationName != null) {\\n        error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);\\n\\n        warnedProperties$1[name] = true;\\n        return true;\\n      }\\n\\n      if (EVENT_NAME_REGEX.test(name)) {\\n        error('Unknown event handler property `%s`. It will be ignored.', name);\\n\\n        warnedProperties$1[name] = true;\\n        return true;\\n      }\\n    } else if (EVENT_NAME_REGEX.test(name)) {\\n      // If no event plugins have been injected, we are in a server environment.\\n      // So we can't tell if the event name is correct for sure, but we can filter\\n      // out known bad ones like `onclick`. We can't suggest a specific replacement though.\\n      if (INVALID_EVENT_NAME_REGEX.test(name)) {\\n        error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);\\n      }\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    } // Let the ARIA attribute hook validate ARIA attributes\\n\\n\\n    if (rARIA$1.test(name) || rARIACamel$1.test(name)) {\\n      return true;\\n    }\\n\\n    if (lowerCasedName === 'innerhtml') {\\n      error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    }\\n\\n    if (lowerCasedName === 'aria') {\\n      error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    }\\n\\n    if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {\\n      error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    }\\n\\n    if (typeof value === 'number' && isNaN(value)) {\\n      error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    }\\n\\n    var propertyInfo = getPropertyInfo(name);\\n    var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED; // Known attributes should match the casing specified in the property config.\\n\\n    if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {\\n      var standardName = possibleStandardNames[lowerCasedName];\\n\\n      if (standardName !== name) {\\n        error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);\\n\\n        warnedProperties$1[name] = true;\\n        return true;\\n      }\\n    } else if (!isReserved && name !== lowerCasedName) {\\n      // Unknown attributes should have lowercase casing since that's how they\\n      // will be cased anyway with server rendering.\\n      error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    }\\n\\n    if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\\n      if (value) {\\n        error('Received `%s` for a non-boolean attribute `%s`.\\\\n\\\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\\\"%s\\\" or %s={value.toString()}.', value, name, name, value, name);\\n      } else {\\n        error('Received `%s` for a non-boolean attribute `%s`.\\\\n\\\\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s=\\\"%s\\\" or %s={value.toString()}.\\\\n\\\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);\\n      }\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    } // Now that we've validated casing, do not validate\\n    // data types for reserved props\\n\\n\\n    if (isReserved) {\\n      return true;\\n    } // Warn when a known attribute is a bad type\\n\\n\\n    if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {\\n      warnedProperties$1[name] = true;\\n      return false;\\n    } // Warn when passing the strings 'false' or 'true' into a boolean prop\\n\\n\\n    if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {\\n      error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string \\\"false\\\".', name, value);\\n\\n      warnedProperties$1[name] = true;\\n      return true;\\n    }\\n\\n    return true;\\n  };\\n}\\n\\nvar warnUnknownProperties = function (type, props, canUseEventSystem) {\\n  {\\n    var unknownProps = [];\\n\\n    for (var key in props) {\\n      var isValid = validateProperty$1(type, key, props[key], canUseEventSystem);\\n\\n      if (!isValid) {\\n        unknownProps.push(key);\\n      }\\n    }\\n\\n    var unknownPropString = unknownProps.map(function (prop) {\\n      return '`' + prop + '`';\\n    }).join(', ');\\n\\n    if (unknownProps.length === 1) {\\n      error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);\\n    } else if (unknownProps.length > 1) {\\n      error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);\\n    }\\n  }\\n};\\n\\nfunction validateProperties$2(type, props, canUseEventSystem) {\\n  if (isCustomComponent(type, props)) {\\n    return;\\n  }\\n\\n  warnUnknownProperties(type, props, canUseEventSystem);\\n}\\n\\nvar didWarnInvalidHydration = false;\\nvar DANGEROUSLY_SET_INNER_HTML = 'dangerouslySetInnerHTML';\\nvar SUPPRESS_CONTENT_EDITABLE_WARNING = 'suppressContentEditableWarning';\\nvar SUPPRESS_HYDRATION_WARNING = 'suppressHydrationWarning';\\nvar AUTOFOCUS = 'autoFocus';\\nvar CHILDREN = 'children';\\nvar STYLE = 'style';\\nvar HTML$1 = '__html';\\nvar HTML_NAMESPACE$1 = Namespaces.html;\\nvar warnedUnknownTags;\\nvar suppressHydrationWarning;\\nvar validatePropertiesInDevelopment;\\nvar warnForTextDifference;\\nvar warnForPropDifference;\\nvar warnForExtraAttributes;\\nvar warnForInvalidEventListener;\\nvar canDiffStyleForHydrationWarning;\\nvar normalizeMarkupForTextOrAttribute;\\nvar normalizeHTML;\\n\\n{\\n  warnedUnknownTags = {\\n    // Chrome is the only major browser not shipping <time>. But as of July\\n    // 2017 it intends to ship it due to widespread usage. We intentionally\\n    // *don't* warn for <time> even if it's unrecognized by Chrome because\\n    // it soon will be, and many apps have been using it anyway.\\n    time: true,\\n    // There are working polyfills for <dialog>. Let people use it.\\n    dialog: true,\\n    // Electron ships a custom <webview> tag to display external web content in\\n    // an isolated frame and process.\\n    // This tag is not present in non Electron environments such as JSDom which\\n    // is often used for testing purposes.\\n    // @see https://electronjs.org/docs/api/webview-tag\\n    webview: true\\n  };\\n\\n  validatePropertiesInDevelopment = function (type, props) {\\n    validateProperties(type, props);\\n    validateProperties$1(type, props);\\n    validateProperties$2(type, props,\\n    /* canUseEventSystem */\\n    true);\\n  }; // IE 11 parses & normalizes the style attribute as opposed to other\\n  // browsers. It adds spaces and sorts the properties in some\\n  // non-alphabetical order. Handling that would require sorting CSS\\n  // properties in the client & server versions or applying\\n  // `expectedStyle` to a temporary DOM node to read its `style` attribute\\n  // normalized. Since it only affects IE, we're skipping style warnings\\n  // in that browser completely in favor of doing all that work.\\n  // See https://github.com/facebook/react/issues/11807\\n\\n\\n  canDiffStyleForHydrationWarning = canUseDOM && !document.documentMode; // HTML parsing normalizes CR and CRLF to LF.\\n  // It also can turn \\\\u0000 into \\\\uFFFD inside attributes.\\n  // https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream\\n  // If we have a mismatch, it might be caused by that.\\n  // We will still patch up in this case but not fire the warning.\\n\\n  var NORMALIZE_NEWLINES_REGEX = /\\\\r\\\\n?/g;\\n  var NORMALIZE_NULL_AND_REPLACEMENT_REGEX = /\\\\u0000|\\\\uFFFD/g;\\n\\n  normalizeMarkupForTextOrAttribute = function (markup) {\\n    var markupString = typeof markup === 'string' ? markup : '' + markup;\\n    return markupString.replace(NORMALIZE_NEWLINES_REGEX, '\\\\n').replace(NORMALIZE_NULL_AND_REPLACEMENT_REGEX, '');\\n  };\\n\\n  warnForTextDifference = function (serverText, clientText) {\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    var normalizedClientText = normalizeMarkupForTextOrAttribute(clientText);\\n    var normalizedServerText = normalizeMarkupForTextOrAttribute(serverText);\\n\\n    if (normalizedServerText === normalizedClientText) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n\\n    error('Text content did not match. Server: \\\"%s\\\" Client: \\\"%s\\\"', normalizedServerText, normalizedClientText);\\n  };\\n\\n  warnForPropDifference = function (propName, serverValue, clientValue) {\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    var normalizedClientValue = normalizeMarkupForTextOrAttribute(clientValue);\\n    var normalizedServerValue = normalizeMarkupForTextOrAttribute(serverValue);\\n\\n    if (normalizedServerValue === normalizedClientValue) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n\\n    error('Prop `%s` did not match. Server: %s Client: %s', propName, JSON.stringify(normalizedServerValue), JSON.stringify(normalizedClientValue));\\n  };\\n\\n  warnForExtraAttributes = function (attributeNames) {\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n    var names = [];\\n    attributeNames.forEach(function (name) {\\n      names.push(name);\\n    });\\n\\n    error('Extra attributes from the server: %s', names);\\n  };\\n\\n  warnForInvalidEventListener = function (registrationName, listener) {\\n    if (listener === false) {\\n      error('Expected `%s` listener to be a function, instead got `false`.\\\\n\\\\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', registrationName, registrationName, registrationName);\\n    } else {\\n      error('Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener);\\n    }\\n  }; // Parse the HTML and read it back to normalize the HTML string so that it\\n  // can be used for comparison.\\n\\n\\n  normalizeHTML = function (parent, html) {\\n    // We could have created a separate document here to avoid\\n    // re-initializing custom elements if they exist. But this breaks\\n    // how <noscript> is being handled. So we use the same document.\\n    // See the discussion in https://github.com/facebook/react/pull/11157.\\n    var testElement = parent.namespaceURI === HTML_NAMESPACE$1 ? parent.ownerDocument.createElement(parent.tagName) : parent.ownerDocument.createElementNS(parent.namespaceURI, parent.tagName);\\n    testElement.innerHTML = html;\\n    return testElement.innerHTML;\\n  };\\n}\\n\\nfunction ensureListeningTo(rootContainerElement, registrationName) {\\n  var isDocumentOrFragment = rootContainerElement.nodeType === DOCUMENT_NODE || rootContainerElement.nodeType === DOCUMENT_FRAGMENT_NODE;\\n  var doc = isDocumentOrFragment ? rootContainerElement : rootContainerElement.ownerDocument;\\n  legacyListenToEvent(registrationName, doc);\\n}\\n\\nfunction getOwnerDocumentFromRootContainer(rootContainerElement) {\\n  return rootContainerElement.nodeType === DOCUMENT_NODE ? rootContainerElement : rootContainerElement.ownerDocument;\\n}\\n\\nfunction noop() {}\\n\\nfunction trapClickOnNonInteractiveElement(node) {\\n  // Mobile Safari does not fire properly bubble click events on\\n  // non-interactive elements, which means delegated click listeners do not\\n  // fire. The workaround for this bug involves attaching an empty click\\n  // listener on the target node.\\n  // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\\n  // Just set it using the onclick property so that we don't have to manage any\\n  // bookkeeping for it. Not sure if we need to clear it when the listener is\\n  // removed.\\n  // TODO: Only do this for the relevant Safaris maybe?\\n  node.onclick = noop;\\n}\\n\\nfunction setInitialDOMProperties(tag, domElement, rootContainerElement, nextProps, isCustomComponentTag) {\\n  for (var propKey in nextProps) {\\n    if (!nextProps.hasOwnProperty(propKey)) {\\n      continue;\\n    }\\n\\n    var nextProp = nextProps[propKey];\\n\\n    if (propKey === STYLE) {\\n      {\\n        if (nextProp) {\\n          // Freeze the next style object so that we can assume it won't be\\n          // mutated. We have already warned for this in the past.\\n          Object.freeze(nextProp);\\n        }\\n      } // Relies on `updateStylesByID` not mutating `styleUpdates`.\\n\\n\\n      setValueForStyles(domElement, nextProp);\\n    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\\n      var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\\n\\n      if (nextHtml != null) {\\n        setInnerHTML(domElement, nextHtml);\\n      }\\n    } else if (propKey === CHILDREN) {\\n      if (typeof nextProp === 'string') {\\n        // Avoid setting initial textContent when the text is empty. In IE11 setting\\n        // textContent on a <textarea> will cause the placeholder to not\\n        // show within the <textarea> until it has been focused and blurred again.\\n        // https://github.com/facebook/react/issues/6731#issuecomment-254874553\\n        var canSetTextContent = tag !== 'textarea' || nextProp !== '';\\n\\n        if (canSetTextContent) {\\n          setTextContent(domElement, nextProp);\\n        }\\n      } else if (typeof nextProp === 'number') {\\n        setTextContent(domElement, '' + nextProp);\\n      }\\n    } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) {\\n      if (nextProp != null) {\\n        if ( typeof nextProp !== 'function') {\\n          warnForInvalidEventListener(propKey, nextProp);\\n        }\\n\\n        ensureListeningTo(rootContainerElement, propKey);\\n      }\\n    } else if (nextProp != null) {\\n      setValueForProperty(domElement, propKey, nextProp, isCustomComponentTag);\\n    }\\n  }\\n}\\n\\nfunction updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag) {\\n  // TODO: Handle wasCustomComponentTag\\n  for (var i = 0; i < updatePayload.length; i += 2) {\\n    var propKey = updatePayload[i];\\n    var propValue = updatePayload[i + 1];\\n\\n    if (propKey === STYLE) {\\n      setValueForStyles(domElement, propValue);\\n    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\\n      setInnerHTML(domElement, propValue);\\n    } else if (propKey === CHILDREN) {\\n      setTextContent(domElement, propValue);\\n    } else {\\n      setValueForProperty(domElement, propKey, propValue, isCustomComponentTag);\\n    }\\n  }\\n}\\n\\nfunction createElement(type, props, rootContainerElement, parentNamespace) {\\n  var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML\\n  // tags get no namespace.\\n\\n  var ownerDocument = getOwnerDocumentFromRootContainer(rootContainerElement);\\n  var domElement;\\n  var namespaceURI = parentNamespace;\\n\\n  if (namespaceURI === HTML_NAMESPACE$1) {\\n    namespaceURI = getIntrinsicNamespace(type);\\n  }\\n\\n  if (namespaceURI === HTML_NAMESPACE$1) {\\n    {\\n      isCustomComponentTag = isCustomComponent(type, props); // Should this check be gated by parent namespace? Not sure we want to\\n      // allow <SVG> or <mATH>.\\n\\n      if (!isCustomComponentTag && type !== type.toLowerCase()) {\\n        error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', type);\\n      }\\n    }\\n\\n    if (type === 'script') {\\n      // Create the script via .innerHTML so its \\\"parser-inserted\\\" flag is\\n      // set to true and it does not execute\\n      var div = ownerDocument.createElement('div');\\n\\n      div.innerHTML = '<script><' + '/script>'; // eslint-disable-line\\n      // This is guaranteed to yield a script element.\\n\\n      var firstChild = div.firstChild;\\n      domElement = div.removeChild(firstChild);\\n    } else if (typeof props.is === 'string') {\\n      // $FlowIssue `createElement` should be updated for Web Components\\n      domElement = ownerDocument.createElement(type, {\\n        is: props.is\\n      });\\n    } else {\\n      // Separate else branch instead of using `props.is || undefined` above because of a Firefox bug.\\n      // See discussion in https://github.com/facebook/react/pull/6896\\n      // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\\n      domElement = ownerDocument.createElement(type); // Normally attributes are assigned in `setInitialDOMProperties`, however the `multiple` and `size`\\n      // attributes on `select`s needs to be added before `option`s are inserted.\\n      // This prevents:\\n      // - a bug where the `select` does not scroll to the correct option because singular\\n      //  `select` elements automatically pick the first item #13222\\n      // - a bug where the `select` set the first item as selected despite the `size` attribute #14239\\n      // See https://github.com/facebook/react/issues/13222\\n      // and https://github.com/facebook/react/issues/14239\\n\\n      if (type === 'select') {\\n        var node = domElement;\\n\\n        if (props.multiple) {\\n          node.multiple = true;\\n        } else if (props.size) {\\n          // Setting a size greater than 1 causes a select to behave like `multiple=true`, where\\n          // it is possible that no option is selected.\\n          //\\n          // This is only necessary when a select in \\\"single selection mode\\\".\\n          node.size = props.size;\\n        }\\n      }\\n    }\\n  } else {\\n    domElement = ownerDocument.createElementNS(namespaceURI, type);\\n  }\\n\\n  {\\n    if (namespaceURI === HTML_NAMESPACE$1) {\\n      if (!isCustomComponentTag && Object.prototype.toString.call(domElement) === '[object HTMLUnknownElement]' && !Object.prototype.hasOwnProperty.call(warnedUnknownTags, type)) {\\n        warnedUnknownTags[type] = true;\\n\\n        error('The tag <%s> is unrecognized in this browser. ' + 'If you meant to render a React component, start its name with ' + 'an uppercase letter.', type);\\n      }\\n    }\\n  }\\n\\n  return domElement;\\n}\\nfunction createTextNode(text, rootContainerElement) {\\n  return getOwnerDocumentFromRootContainer(rootContainerElement).createTextNode(text);\\n}\\nfunction setInitialProperties(domElement, tag, rawProps, rootContainerElement) {\\n  var isCustomComponentTag = isCustomComponent(tag, rawProps);\\n\\n  {\\n    validatePropertiesInDevelopment(tag, rawProps);\\n  } // TODO: Make sure that we check isMounted before firing any of these events.\\n\\n\\n  var props;\\n\\n  switch (tag) {\\n    case 'iframe':\\n    case 'object':\\n    case 'embed':\\n      trapBubbledEvent(TOP_LOAD, domElement);\\n      props = rawProps;\\n      break;\\n\\n    case 'video':\\n    case 'audio':\\n      // Create listener for each media event\\n      for (var i = 0; i < mediaEventTypes.length; i++) {\\n        trapBubbledEvent(mediaEventTypes[i], domElement);\\n      }\\n\\n      props = rawProps;\\n      break;\\n\\n    case 'source':\\n      trapBubbledEvent(TOP_ERROR, domElement);\\n      props = rawProps;\\n      break;\\n\\n    case 'img':\\n    case 'image':\\n    case 'link':\\n      trapBubbledEvent(TOP_ERROR, domElement);\\n      trapBubbledEvent(TOP_LOAD, domElement);\\n      props = rawProps;\\n      break;\\n\\n    case 'form':\\n      trapBubbledEvent(TOP_RESET, domElement);\\n      trapBubbledEvent(TOP_SUBMIT, domElement);\\n      props = rawProps;\\n      break;\\n\\n    case 'details':\\n      trapBubbledEvent(TOP_TOGGLE, domElement);\\n      props = rawProps;\\n      break;\\n\\n    case 'input':\\n      initWrapperState(domElement, rawProps);\\n      props = getHostProps(domElement, rawProps);\\n      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening\\n      // to onChange. Even if there is no listener.\\n\\n      ensureListeningTo(rootContainerElement, 'onChange');\\n      break;\\n\\n    case 'option':\\n      validateProps(domElement, rawProps);\\n      props = getHostProps$1(domElement, rawProps);\\n      break;\\n\\n    case 'select':\\n      initWrapperState$1(domElement, rawProps);\\n      props = getHostProps$2(domElement, rawProps);\\n      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening\\n      // to onChange. Even if there is no listener.\\n\\n      ensureListeningTo(rootContainerElement, 'onChange');\\n      break;\\n\\n    case 'textarea':\\n      initWrapperState$2(domElement, rawProps);\\n      props = getHostProps$3(domElement, rawProps);\\n      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening\\n      // to onChange. Even if there is no listener.\\n\\n      ensureListeningTo(rootContainerElement, 'onChange');\\n      break;\\n\\n    default:\\n      props = rawProps;\\n  }\\n\\n  assertValidProps(tag, props);\\n  setInitialDOMProperties(tag, domElement, rootContainerElement, props, isCustomComponentTag);\\n\\n  switch (tag) {\\n    case 'input':\\n      // TODO: Make sure we check if this is still unmounted or do any clean\\n      // up necessary since we never stop tracking anymore.\\n      track(domElement);\\n      postMountWrapper(domElement, rawProps, false);\\n      break;\\n\\n    case 'textarea':\\n      // TODO: Make sure we check if this is still unmounted or do any clean\\n      // up necessary since we never stop tracking anymore.\\n      track(domElement);\\n      postMountWrapper$3(domElement);\\n      break;\\n\\n    case 'option':\\n      postMountWrapper$1(domElement, rawProps);\\n      break;\\n\\n    case 'select':\\n      postMountWrapper$2(domElement, rawProps);\\n      break;\\n\\n    default:\\n      if (typeof props.onClick === 'function') {\\n        // TODO: This cast may not be sound for SVG, MathML or custom elements.\\n        trapClickOnNonInteractiveElement(domElement);\\n      }\\n\\n      break;\\n  }\\n} // Calculate the diff between the two objects.\\n\\nfunction diffProperties(domElement, tag, lastRawProps, nextRawProps, rootContainerElement) {\\n  {\\n    validatePropertiesInDevelopment(tag, nextRawProps);\\n  }\\n\\n  var updatePayload = null;\\n  var lastProps;\\n  var nextProps;\\n\\n  switch (tag) {\\n    case 'input':\\n      lastProps = getHostProps(domElement, lastRawProps);\\n      nextProps = getHostProps(domElement, nextRawProps);\\n      updatePayload = [];\\n      break;\\n\\n    case 'option':\\n      lastProps = getHostProps$1(domElement, lastRawProps);\\n      nextProps = getHostProps$1(domElement, nextRawProps);\\n      updatePayload = [];\\n      break;\\n\\n    case 'select':\\n      lastProps = getHostProps$2(domElement, lastRawProps);\\n      nextProps = getHostProps$2(domElement, nextRawProps);\\n      updatePayload = [];\\n      break;\\n\\n    case 'textarea':\\n      lastProps = getHostProps$3(domElement, lastRawProps);\\n      nextProps = getHostProps$3(domElement, nextRawProps);\\n      updatePayload = [];\\n      break;\\n\\n    default:\\n      lastProps = lastRawProps;\\n      nextProps = nextRawProps;\\n\\n      if (typeof lastProps.onClick !== 'function' && typeof nextProps.onClick === 'function') {\\n        // TODO: This cast may not be sound for SVG, MathML or custom elements.\\n        trapClickOnNonInteractiveElement(domElement);\\n      }\\n\\n      break;\\n  }\\n\\n  assertValidProps(tag, nextProps);\\n  var propKey;\\n  var styleName;\\n  var styleUpdates = null;\\n\\n  for (propKey in lastProps) {\\n    if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\\n      continue;\\n    }\\n\\n    if (propKey === STYLE) {\\n      var lastStyle = lastProps[propKey];\\n\\n      for (styleName in lastStyle) {\\n        if (lastStyle.hasOwnProperty(styleName)) {\\n          if (!styleUpdates) {\\n            styleUpdates = {};\\n          }\\n\\n          styleUpdates[styleName] = '';\\n        }\\n      }\\n    } else if (propKey === DANGEROUSLY_SET_INNER_HTML || propKey === CHILDREN) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (propKey === AUTOFOCUS) ; else if (registrationNameModules.hasOwnProperty(propKey)) {\\n      // This is a special case. If any listener updates we need to ensure\\n      // that the \\\"current\\\" fiber pointer gets updated so we need a commit\\n      // to update this element.\\n      if (!updatePayload) {\\n        updatePayload = [];\\n      }\\n    } else {\\n      // For all other deleted properties we add it to the queue. We use\\n      // the whitelist in the commit phase instead.\\n      (updatePayload = updatePayload || []).push(propKey, null);\\n    }\\n  }\\n\\n  for (propKey in nextProps) {\\n    var nextProp = nextProps[propKey];\\n    var lastProp = lastProps != null ? lastProps[propKey] : undefined;\\n\\n    if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\\n      continue;\\n    }\\n\\n    if (propKey === STYLE) {\\n      {\\n        if (nextProp) {\\n          // Freeze the next style object so that we can assume it won't be\\n          // mutated. We have already warned for this in the past.\\n          Object.freeze(nextProp);\\n        }\\n      }\\n\\n      if (lastProp) {\\n        // Unset styles on `lastProp` but not on `nextProp`.\\n        for (styleName in lastProp) {\\n          if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\\n            if (!styleUpdates) {\\n              styleUpdates = {};\\n            }\\n\\n            styleUpdates[styleName] = '';\\n          }\\n        } // Update styles that changed since `lastProp`.\\n\\n\\n        for (styleName in nextProp) {\\n          if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\\n            if (!styleUpdates) {\\n              styleUpdates = {};\\n            }\\n\\n            styleUpdates[styleName] = nextProp[styleName];\\n          }\\n        }\\n      } else {\\n        // Relies on `updateStylesByID` not mutating `styleUpdates`.\\n        if (!styleUpdates) {\\n          if (!updatePayload) {\\n            updatePayload = [];\\n          }\\n\\n          updatePayload.push(propKey, styleUpdates);\\n        }\\n\\n        styleUpdates = nextProp;\\n      }\\n    } else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\\n      var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\\n      var lastHtml = lastProp ? lastProp[HTML$1] : undefined;\\n\\n      if (nextHtml != null) {\\n        if (lastHtml !== nextHtml) {\\n          (updatePayload = updatePayload || []).push(propKey, nextHtml);\\n        }\\n      }\\n    } else if (propKey === CHILDREN) {\\n      if (lastProp !== nextProp && (typeof nextProp === 'string' || typeof nextProp === 'number')) {\\n        (updatePayload = updatePayload || []).push(propKey, '' + nextProp);\\n      }\\n    } else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING) ; else if (registrationNameModules.hasOwnProperty(propKey)) {\\n      if (nextProp != null) {\\n        // We eagerly listen to this even though we haven't committed yet.\\n        if ( typeof nextProp !== 'function') {\\n          warnForInvalidEventListener(propKey, nextProp);\\n        }\\n\\n        ensureListeningTo(rootContainerElement, propKey);\\n      }\\n\\n      if (!updatePayload && lastProp !== nextProp) {\\n        // This is a special case. If any listener updates we need to ensure\\n        // that the \\\"current\\\" props pointer gets updated so we need a commit\\n        // to update this element.\\n        updatePayload = [];\\n      }\\n    } else {\\n      // For any other property we always add it to the queue and then we\\n      // filter it out using the whitelist during the commit.\\n      (updatePayload = updatePayload || []).push(propKey, nextProp);\\n    }\\n  }\\n\\n  if (styleUpdates) {\\n    {\\n      validateShorthandPropertyCollisionInDev(styleUpdates, nextProps[STYLE]);\\n    }\\n\\n    (updatePayload = updatePayload || []).push(STYLE, styleUpdates);\\n  }\\n\\n  return updatePayload;\\n} // Apply the diff.\\n\\nfunction updateProperties(domElement, updatePayload, tag, lastRawProps, nextRawProps) {\\n  // Update checked *before* name.\\n  // In the middle of an update, it is possible to have multiple checked.\\n  // When a checked radio tries to change name, browser makes another radio's checked false.\\n  if (tag === 'input' && nextRawProps.type === 'radio' && nextRawProps.name != null) {\\n    updateChecked(domElement, nextRawProps);\\n  }\\n\\n  var wasCustomComponentTag = isCustomComponent(tag, lastRawProps);\\n  var isCustomComponentTag = isCustomComponent(tag, nextRawProps); // Apply the diff.\\n\\n  updateDOMProperties(domElement, updatePayload, wasCustomComponentTag, isCustomComponentTag); // TODO: Ensure that an update gets scheduled if any of the special props\\n  // changed.\\n\\n  switch (tag) {\\n    case 'input':\\n      // Update the wrapper around inputs *after* updating props. This has to\\n      // happen after `updateDOMProperties`. Otherwise HTML5 input validations\\n      // raise warnings and prevent the new value from being assigned.\\n      updateWrapper(domElement, nextRawProps);\\n      break;\\n\\n    case 'textarea':\\n      updateWrapper$1(domElement, nextRawProps);\\n      break;\\n\\n    case 'select':\\n      // <select> value update needs to occur after <option> children\\n      // reconciliation\\n      postUpdateWrapper(domElement, nextRawProps);\\n      break;\\n  }\\n}\\n\\nfunction getPossibleStandardName(propName) {\\n  {\\n    var lowerCasedName = propName.toLowerCase();\\n\\n    if (!possibleStandardNames.hasOwnProperty(lowerCasedName)) {\\n      return null;\\n    }\\n\\n    return possibleStandardNames[lowerCasedName] || null;\\n  }\\n}\\n\\nfunction diffHydratedProperties(domElement, tag, rawProps, parentNamespace, rootContainerElement) {\\n  var isCustomComponentTag;\\n  var extraAttributeNames;\\n\\n  {\\n    suppressHydrationWarning = rawProps[SUPPRESS_HYDRATION_WARNING] === true;\\n    isCustomComponentTag = isCustomComponent(tag, rawProps);\\n    validatePropertiesInDevelopment(tag, rawProps);\\n  } // TODO: Make sure that we check isMounted before firing any of these events.\\n\\n\\n  switch (tag) {\\n    case 'iframe':\\n    case 'object':\\n    case 'embed':\\n      trapBubbledEvent(TOP_LOAD, domElement);\\n      break;\\n\\n    case 'video':\\n    case 'audio':\\n      // Create listener for each media event\\n      for (var i = 0; i < mediaEventTypes.length; i++) {\\n        trapBubbledEvent(mediaEventTypes[i], domElement);\\n      }\\n\\n      break;\\n\\n    case 'source':\\n      trapBubbledEvent(TOP_ERROR, domElement);\\n      break;\\n\\n    case 'img':\\n    case 'image':\\n    case 'link':\\n      trapBubbledEvent(TOP_ERROR, domElement);\\n      trapBubbledEvent(TOP_LOAD, domElement);\\n      break;\\n\\n    case 'form':\\n      trapBubbledEvent(TOP_RESET, domElement);\\n      trapBubbledEvent(TOP_SUBMIT, domElement);\\n      break;\\n\\n    case 'details':\\n      trapBubbledEvent(TOP_TOGGLE, domElement);\\n      break;\\n\\n    case 'input':\\n      initWrapperState(domElement, rawProps);\\n      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening\\n      // to onChange. Even if there is no listener.\\n\\n      ensureListeningTo(rootContainerElement, 'onChange');\\n      break;\\n\\n    case 'option':\\n      validateProps(domElement, rawProps);\\n      break;\\n\\n    case 'select':\\n      initWrapperState$1(domElement, rawProps);\\n      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening\\n      // to onChange. Even if there is no listener.\\n\\n      ensureListeningTo(rootContainerElement, 'onChange');\\n      break;\\n\\n    case 'textarea':\\n      initWrapperState$2(domElement, rawProps);\\n      trapBubbledEvent(TOP_INVALID, domElement); // For controlled components we always need to ensure we're listening\\n      // to onChange. Even if there is no listener.\\n\\n      ensureListeningTo(rootContainerElement, 'onChange');\\n      break;\\n  }\\n\\n  assertValidProps(tag, rawProps);\\n\\n  {\\n    extraAttributeNames = new Set();\\n    var attributes = domElement.attributes;\\n\\n    for (var _i = 0; _i < attributes.length; _i++) {\\n      var name = attributes[_i].name.toLowerCase();\\n\\n      switch (name) {\\n        // Built-in SSR attribute is whitelisted\\n        case 'data-reactroot':\\n          break;\\n        // Controlled attributes are not validated\\n        // TODO: Only ignore them on controlled tags.\\n\\n        case 'value':\\n          break;\\n\\n        case 'checked':\\n          break;\\n\\n        case 'selected':\\n          break;\\n\\n        default:\\n          // Intentionally use the original name.\\n          // See discussion in https://github.com/facebook/react/pull/10676.\\n          extraAttributeNames.add(attributes[_i].name);\\n      }\\n    }\\n  }\\n\\n  var updatePayload = null;\\n\\n  for (var propKey in rawProps) {\\n    if (!rawProps.hasOwnProperty(propKey)) {\\n      continue;\\n    }\\n\\n    var nextProp = rawProps[propKey];\\n\\n    if (propKey === CHILDREN) {\\n      // For text content children we compare against textContent. This\\n      // might match additional HTML that is hidden when we read it using\\n      // textContent. E.g. \\\"foo\\\" will match \\\"f<span>oo</span>\\\" but that still\\n      // satisfies our requirement. Our requirement is not to produce perfect\\n      // HTML and attributes. Ideally we should preserve structure but it's\\n      // ok not to if the visible content is still enough to indicate what\\n      // even listeners these nodes might be wired up to.\\n      // TODO: Warn if there is more than a single textNode as a child.\\n      // TODO: Should we use domElement.firstChild.nodeValue to compare?\\n      if (typeof nextProp === 'string') {\\n        if (domElement.textContent !== nextProp) {\\n          if ( !suppressHydrationWarning) {\\n            warnForTextDifference(domElement.textContent, nextProp);\\n          }\\n\\n          updatePayload = [CHILDREN, nextProp];\\n        }\\n      } else if (typeof nextProp === 'number') {\\n        if (domElement.textContent !== '' + nextProp) {\\n          if ( !suppressHydrationWarning) {\\n            warnForTextDifference(domElement.textContent, nextProp);\\n          }\\n\\n          updatePayload = [CHILDREN, '' + nextProp];\\n        }\\n      }\\n    } else if (registrationNameModules.hasOwnProperty(propKey)) {\\n      if (nextProp != null) {\\n        if ( typeof nextProp !== 'function') {\\n          warnForInvalidEventListener(propKey, nextProp);\\n        }\\n\\n        ensureListeningTo(rootContainerElement, propKey);\\n      }\\n    } else if ( // Convince Flow we've calculated it (it's DEV-only in this method.)\\n    typeof isCustomComponentTag === 'boolean') {\\n      // Validate that the properties correspond to their expected values.\\n      var serverValue = void 0;\\n      var propertyInfo = getPropertyInfo(propKey);\\n\\n      if (suppressHydrationWarning) ; else if ( propKey === SUPPRESS_CONTENT_EDITABLE_WARNING || propKey === SUPPRESS_HYDRATION_WARNING || // Controlled attributes are not validated\\n      // TODO: Only ignore them on controlled tags.\\n      propKey === 'value' || propKey === 'checked' || propKey === 'selected') ; else if (propKey === DANGEROUSLY_SET_INNER_HTML) {\\n        var serverHTML = domElement.innerHTML;\\n        var nextHtml = nextProp ? nextProp[HTML$1] : undefined;\\n        var expectedHTML = normalizeHTML(domElement, nextHtml != null ? nextHtml : '');\\n\\n        if (expectedHTML !== serverHTML) {\\n          warnForPropDifference(propKey, serverHTML, expectedHTML);\\n        }\\n      } else if (propKey === STYLE) {\\n        // $FlowFixMe - Should be inferred as not undefined.\\n        extraAttributeNames.delete(propKey);\\n\\n        if (canDiffStyleForHydrationWarning) {\\n          var expectedStyle = createDangerousStringForStyles(nextProp);\\n          serverValue = domElement.getAttribute('style');\\n\\n          if (expectedStyle !== serverValue) {\\n            warnForPropDifference(propKey, serverValue, expectedStyle);\\n          }\\n        }\\n      } else if (isCustomComponentTag) {\\n        // $FlowFixMe - Should be inferred as not undefined.\\n        extraAttributeNames.delete(propKey.toLowerCase());\\n        serverValue = getValueForAttribute(domElement, propKey, nextProp);\\n\\n        if (nextProp !== serverValue) {\\n          warnForPropDifference(propKey, serverValue, nextProp);\\n        }\\n      } else if (!shouldIgnoreAttribute(propKey, propertyInfo, isCustomComponentTag) && !shouldRemoveAttribute(propKey, nextProp, propertyInfo, isCustomComponentTag)) {\\n        var isMismatchDueToBadCasing = false;\\n\\n        if (propertyInfo !== null) {\\n          // $FlowFixMe - Should be inferred as not undefined.\\n          extraAttributeNames.delete(propertyInfo.attributeName);\\n          serverValue = getValueForProperty(domElement, propKey, nextProp, propertyInfo);\\n        } else {\\n          var ownNamespace = parentNamespace;\\n\\n          if (ownNamespace === HTML_NAMESPACE$1) {\\n            ownNamespace = getIntrinsicNamespace(tag);\\n          }\\n\\n          if (ownNamespace === HTML_NAMESPACE$1) {\\n            // $FlowFixMe - Should be inferred as not undefined.\\n            extraAttributeNames.delete(propKey.toLowerCase());\\n          } else {\\n            var standardName = getPossibleStandardName(propKey);\\n\\n            if (standardName !== null && standardName !== propKey) {\\n              // If an SVG prop is supplied with bad casing, it will\\n              // be successfully parsed from HTML, but will produce a mismatch\\n              // (and would be incorrectly rendered on the client).\\n              // However, we already warn about bad casing elsewhere.\\n              // So we'll skip the misleading extra mismatch warning in this case.\\n              isMismatchDueToBadCasing = true; // $FlowFixMe - Should be inferred as not undefined.\\n\\n              extraAttributeNames.delete(standardName);\\n            } // $FlowFixMe - Should be inferred as not undefined.\\n\\n\\n            extraAttributeNames.delete(propKey);\\n          }\\n\\n          serverValue = getValueForAttribute(domElement, propKey, nextProp);\\n        }\\n\\n        if (nextProp !== serverValue && !isMismatchDueToBadCasing) {\\n          warnForPropDifference(propKey, serverValue, nextProp);\\n        }\\n      }\\n    }\\n  }\\n\\n  {\\n    // $FlowFixMe - Should be inferred as not undefined.\\n    if (extraAttributeNames.size > 0 && !suppressHydrationWarning) {\\n      // $FlowFixMe - Should be inferred as not undefined.\\n      warnForExtraAttributes(extraAttributeNames);\\n    }\\n  }\\n\\n  switch (tag) {\\n    case 'input':\\n      // TODO: Make sure we check if this is still unmounted or do any clean\\n      // up necessary since we never stop tracking anymore.\\n      track(domElement);\\n      postMountWrapper(domElement, rawProps, true);\\n      break;\\n\\n    case 'textarea':\\n      // TODO: Make sure we check if this is still unmounted or do any clean\\n      // up necessary since we never stop tracking anymore.\\n      track(domElement);\\n      postMountWrapper$3(domElement);\\n      break;\\n\\n    case 'select':\\n    case 'option':\\n      // For input and textarea we current always set the value property at\\n      // post mount to force it to diverge from attributes. However, for\\n      // option and select we don't quite do the same thing and select\\n      // is not resilient to the DOM state changing so we don't do that here.\\n      // TODO: Consider not doing this for input and textarea.\\n      break;\\n\\n    default:\\n      if (typeof rawProps.onClick === 'function') {\\n        // TODO: This cast may not be sound for SVG, MathML or custom elements.\\n        trapClickOnNonInteractiveElement(domElement);\\n      }\\n\\n      break;\\n  }\\n\\n  return updatePayload;\\n}\\nfunction diffHydratedText(textNode, text) {\\n  var isDifferent = textNode.nodeValue !== text;\\n  return isDifferent;\\n}\\nfunction warnForUnmatchedText(textNode, text) {\\n  {\\n    warnForTextDifference(textNode.nodeValue, text);\\n  }\\n}\\nfunction warnForDeletedHydratableElement(parentNode, child) {\\n  {\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n\\n    error('Did not expect server HTML to contain a <%s> in <%s>.', child.nodeName.toLowerCase(), parentNode.nodeName.toLowerCase());\\n  }\\n}\\nfunction warnForDeletedHydratableText(parentNode, child) {\\n  {\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n\\n    error('Did not expect server HTML to contain the text node \\\"%s\\\" in <%s>.', child.nodeValue, parentNode.nodeName.toLowerCase());\\n  }\\n}\\nfunction warnForInsertedHydratedElement(parentNode, tag, props) {\\n  {\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n\\n    error('Expected server HTML to contain a matching <%s> in <%s>.', tag, parentNode.nodeName.toLowerCase());\\n  }\\n}\\nfunction warnForInsertedHydratedText(parentNode, text) {\\n  {\\n    if (text === '') {\\n      // We expect to insert empty text nodes since they're not represented in\\n      // the HTML.\\n      // TODO: Remove this special case if we can just avoid inserting empty\\n      // text nodes.\\n      return;\\n    }\\n\\n    if (didWarnInvalidHydration) {\\n      return;\\n    }\\n\\n    didWarnInvalidHydration = true;\\n\\n    error('Expected server HTML to contain a matching text node for \\\"%s\\\" in <%s>.', text, parentNode.nodeName.toLowerCase());\\n  }\\n}\\nfunction restoreControlledState$3(domElement, tag, props) {\\n  switch (tag) {\\n    case 'input':\\n      restoreControlledState(domElement, props);\\n      return;\\n\\n    case 'textarea':\\n      restoreControlledState$2(domElement, props);\\n      return;\\n\\n    case 'select':\\n      restoreControlledState$1(domElement, props);\\n      return;\\n  }\\n}\\n\\nfunction getActiveElement(doc) {\\n  doc = doc || (typeof document !== 'undefined' ? document : undefined);\\n\\n  if (typeof doc === 'undefined') {\\n    return null;\\n  }\\n\\n  try {\\n    return doc.activeElement || doc.body;\\n  } catch (e) {\\n    return doc.body;\\n  }\\n}\\n\\n/**\\n * Given any node return the first leaf node without children.\\n *\\n * @param {DOMElement|DOMTextNode} node\\n * @return {DOMElement|DOMTextNode}\\n */\\n\\nfunction getLeafNode(node) {\\n  while (node && node.firstChild) {\\n    node = node.firstChild;\\n  }\\n\\n  return node;\\n}\\n/**\\n * Get the next sibling within a container. This will walk up the\\n * DOM if a node's siblings have been exhausted.\\n *\\n * @param {DOMElement|DOMTextNode} node\\n * @return {?DOMElement|DOMTextNode}\\n */\\n\\n\\nfunction getSiblingNode(node) {\\n  while (node) {\\n    if (node.nextSibling) {\\n      return node.nextSibling;\\n    }\\n\\n    node = node.parentNode;\\n  }\\n}\\n/**\\n * Get object describing the nodes which contain characters at offset.\\n *\\n * @param {DOMElement|DOMTextNode} root\\n * @param {number} offset\\n * @return {?object}\\n */\\n\\n\\nfunction getNodeForCharacterOffset(root, offset) {\\n  var node = getLeafNode(root);\\n  var nodeStart = 0;\\n  var nodeEnd = 0;\\n\\n  while (node) {\\n    if (node.nodeType === TEXT_NODE) {\\n      nodeEnd = nodeStart + node.textContent.length;\\n\\n      if (nodeStart <= offset && nodeEnd >= offset) {\\n        return {\\n          node: node,\\n          offset: offset - nodeStart\\n        };\\n      }\\n\\n      nodeStart = nodeEnd;\\n    }\\n\\n    node = getLeafNode(getSiblingNode(node));\\n  }\\n}\\n\\n/**\\n * @param {DOMElement} outerNode\\n * @return {?object}\\n */\\n\\nfunction getOffsets(outerNode) {\\n  var ownerDocument = outerNode.ownerDocument;\\n  var win = ownerDocument && ownerDocument.defaultView || window;\\n  var selection = win.getSelection && win.getSelection();\\n\\n  if (!selection || selection.rangeCount === 0) {\\n    return null;\\n  }\\n\\n  var anchorNode = selection.anchorNode,\\n      anchorOffset = selection.anchorOffset,\\n      focusNode = selection.focusNode,\\n      focusOffset = selection.focusOffset; // In Firefox, anchorNode and focusNode can be \\\"anonymous divs\\\", e.g. the\\n  // up/down buttons on an <input type=\\\"number\\\">. Anonymous divs do not seem to\\n  // expose properties, triggering a \\\"Permission denied error\\\" if any of its\\n  // properties are accessed. The only seemingly possible way to avoid erroring\\n  // is to access a property that typically works for non-anonymous divs and\\n  // catch any error that may otherwise arise. See\\n  // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\\n\\n  try {\\n    /* eslint-disable no-unused-expressions */\\n    anchorNode.nodeType;\\n    focusNode.nodeType;\\n    /* eslint-enable no-unused-expressions */\\n  } catch (e) {\\n    return null;\\n  }\\n\\n  return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset);\\n}\\n/**\\n * Returns {start, end} where `start` is the character/codepoint index of\\n * (anchorNode, anchorOffset) within the textContent of `outerNode`, and\\n * `end` is the index of (focusNode, focusOffset).\\n *\\n * Returns null if you pass in garbage input but we should probably just crash.\\n *\\n * Exported only for testing.\\n */\\n\\nfunction getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) {\\n  var length = 0;\\n  var start = -1;\\n  var end = -1;\\n  var indexWithinAnchor = 0;\\n  var indexWithinFocus = 0;\\n  var node = outerNode;\\n  var parentNode = null;\\n\\n  outer: while (true) {\\n    var next = null;\\n\\n    while (true) {\\n      if (node === anchorNode && (anchorOffset === 0 || node.nodeType === TEXT_NODE)) {\\n        start = length + anchorOffset;\\n      }\\n\\n      if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {\\n        end = length + focusOffset;\\n      }\\n\\n      if (node.nodeType === TEXT_NODE) {\\n        length += node.nodeValue.length;\\n      }\\n\\n      if ((next = node.firstChild) === null) {\\n        break;\\n      } // Moving from `node` to its first child `next`.\\n\\n\\n      parentNode = node;\\n      node = next;\\n    }\\n\\n    while (true) {\\n      if (node === outerNode) {\\n        // If `outerNode` has children, this is always the second time visiting\\n        // it. If it has no children, this is still the first loop, and the only\\n        // valid selection is anchorNode and focusNode both equal to this node\\n        // and both offsets 0, in which case we will have handled above.\\n        break outer;\\n      }\\n\\n      if (parentNode === anchorNode && ++indexWithinAnchor === anchorOffset) {\\n        start = length;\\n      }\\n\\n      if (parentNode === focusNode && ++indexWithinFocus === focusOffset) {\\n        end = length;\\n      }\\n\\n      if ((next = node.nextSibling) !== null) {\\n        break;\\n      }\\n\\n      node = parentNode;\\n      parentNode = node.parentNode;\\n    } // Moving from `node` to its next sibling `next`.\\n\\n\\n    node = next;\\n  }\\n\\n  if (start === -1 || end === -1) {\\n    // This should never happen. (Would happen if the anchor/focus nodes aren't\\n    // actually inside the passed-in node.)\\n    return null;\\n  }\\n\\n  return {\\n    start: start,\\n    end: end\\n  };\\n}\\n/**\\n * In modern non-IE browsers, we can support both forward and backward\\n * selections.\\n *\\n * Note: IE10+ supports the Selection object, but it does not support\\n * the `extend` method, which means that even in modern IE, it's not possible\\n * to programmatically create a backward selection. Thus, for all IE\\n * versions, we use the old IE API to create our selections.\\n *\\n * @param {DOMElement|DOMTextNode} node\\n * @param {object} offsets\\n */\\n\\nfunction setOffsets(node, offsets) {\\n  var doc = node.ownerDocument || document;\\n  var win = doc && doc.defaultView || window; // Edge fails with \\\"Object expected\\\" in some scenarios.\\n  // (For instance: TinyMCE editor used in a list component that supports pasting to add more,\\n  // fails when pasting 100+ items)\\n\\n  if (!win.getSelection) {\\n    return;\\n  }\\n\\n  var selection = win.getSelection();\\n  var length = node.textContent.length;\\n  var start = Math.min(offsets.start, length);\\n  var end = offsets.end === undefined ? start : Math.min(offsets.end, length); // IE 11 uses modern selection, but doesn't support the extend method.\\n  // Flip backward selections, so we can set with a single range.\\n\\n  if (!selection.extend && start > end) {\\n    var temp = end;\\n    end = start;\\n    start = temp;\\n  }\\n\\n  var startMarker = getNodeForCharacterOffset(node, start);\\n  var endMarker = getNodeForCharacterOffset(node, end);\\n\\n  if (startMarker && endMarker) {\\n    if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {\\n      return;\\n    }\\n\\n    var range = doc.createRange();\\n    range.setStart(startMarker.node, startMarker.offset);\\n    selection.removeAllRanges();\\n\\n    if (start > end) {\\n      selection.addRange(range);\\n      selection.extend(endMarker.node, endMarker.offset);\\n    } else {\\n      range.setEnd(endMarker.node, endMarker.offset);\\n      selection.addRange(range);\\n    }\\n  }\\n}\\n\\nfunction isTextNode(node) {\\n  return node && node.nodeType === TEXT_NODE;\\n}\\n\\nfunction containsNode(outerNode, innerNode) {\\n  if (!outerNode || !innerNode) {\\n    return false;\\n  } else if (outerNode === innerNode) {\\n    return true;\\n  } else if (isTextNode(outerNode)) {\\n    return false;\\n  } else if (isTextNode(innerNode)) {\\n    return containsNode(outerNode, innerNode.parentNode);\\n  } else if ('contains' in outerNode) {\\n    return outerNode.contains(innerNode);\\n  } else if (outerNode.compareDocumentPosition) {\\n    return !!(outerNode.compareDocumentPosition(innerNode) & 16);\\n  } else {\\n    return false;\\n  }\\n}\\n\\nfunction isInDocument(node) {\\n  return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);\\n}\\n\\nfunction isSameOriginFrame(iframe) {\\n  try {\\n    // Accessing the contentDocument of a HTMLIframeElement can cause the browser\\n    // to throw, e.g. if it has a cross-origin src attribute.\\n    // Safari will show an error in the console when the access results in \\\"Blocked a frame with origin\\\". e.g:\\n    // iframe.contentDocument.defaultView;\\n    // A safety way is to access one of the cross origin properties: Window or Location\\n    // Which might result in \\\"SecurityError\\\" DOM Exception and it is compatible to Safari.\\n    // https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl\\n    return typeof iframe.contentWindow.location.href === 'string';\\n  } catch (err) {\\n    return false;\\n  }\\n}\\n\\nfunction getActiveElementDeep() {\\n  var win = window;\\n  var element = getActiveElement();\\n\\n  while (element instanceof win.HTMLIFrameElement) {\\n    if (isSameOriginFrame(element)) {\\n      win = element.contentWindow;\\n    } else {\\n      return element;\\n    }\\n\\n    element = getActiveElement(win.document);\\n  }\\n\\n  return element;\\n}\\n/**\\n * @ReactInputSelection: React input selection module. Based on Selection.js,\\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\\n * assume buttons have range selections allowed).\\n * Input selection module for React.\\n */\\n\\n/**\\n * @hasSelectionCapabilities: we get the element types that support selection\\n * from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`\\n * and `selectionEnd` rows.\\n */\\n\\n\\nfunction hasSelectionCapabilities(elem) {\\n  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\\n  return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea' || elem.contentEditable === 'true');\\n}\\nfunction getSelectionInformation() {\\n  var focusedElem = getActiveElementDeep();\\n  return {\\n    // Used by Flare\\n    activeElementDetached: null,\\n    focusedElem: focusedElem,\\n    selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection(focusedElem) : null\\n  };\\n}\\n/**\\n * @restoreSelection: If any selection information was potentially lost,\\n * restore it. This is useful when performing operations that could remove dom\\n * nodes and place them back in, resulting in focus being lost.\\n */\\n\\nfunction restoreSelection(priorSelectionInformation) {\\n  var curFocusedElem = getActiveElementDeep();\\n  var priorFocusedElem = priorSelectionInformation.focusedElem;\\n  var priorSelectionRange = priorSelectionInformation.selectionRange;\\n\\n  if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\\n    if (priorSelectionRange !== null && hasSelectionCapabilities(priorFocusedElem)) {\\n      setSelection(priorFocusedElem, priorSelectionRange);\\n    } // Focusing a node can change the scroll position, which is undesirable\\n\\n\\n    var ancestors = [];\\n    var ancestor = priorFocusedElem;\\n\\n    while (ancestor = ancestor.parentNode) {\\n      if (ancestor.nodeType === ELEMENT_NODE) {\\n        ancestors.push({\\n          element: ancestor,\\n          left: ancestor.scrollLeft,\\n          top: ancestor.scrollTop\\n        });\\n      }\\n    }\\n\\n    if (typeof priorFocusedElem.focus === 'function') {\\n      priorFocusedElem.focus();\\n    }\\n\\n    for (var i = 0; i < ancestors.length; i++) {\\n      var info = ancestors[i];\\n      info.element.scrollLeft = info.left;\\n      info.element.scrollTop = info.top;\\n    }\\n  }\\n}\\n/**\\n * @getSelection: Gets the selection bounds of a focused textarea, input or\\n * contentEditable node.\\n * -@input: Look up selection bounds of this input\\n * -@return {start: selectionStart, end: selectionEnd}\\n */\\n\\nfunction getSelection(input) {\\n  var selection;\\n\\n  if ('selectionStart' in input) {\\n    // Modern browser with input or textarea.\\n    selection = {\\n      start: input.selectionStart,\\n      end: input.selectionEnd\\n    };\\n  } else {\\n    // Content editable or old IE textarea.\\n    selection = getOffsets(input);\\n  }\\n\\n  return selection || {\\n    start: 0,\\n    end: 0\\n  };\\n}\\n/**\\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\\n * the input.\\n * -@input     Set selection bounds of this input or textarea\\n * -@offsets   Object of same form that is returned from get*\\n */\\n\\nfunction setSelection(input, offsets) {\\n  var start = offsets.start,\\n      end = offsets.end;\\n\\n  if (end === undefined) {\\n    end = start;\\n  }\\n\\n  if ('selectionStart' in input) {\\n    input.selectionStart = start;\\n    input.selectionEnd = Math.min(end, input.value.length);\\n  } else {\\n    setOffsets(input, offsets);\\n  }\\n}\\n\\nvar validateDOMNesting = function () {};\\n\\nvar updatedAncestorInfo = function () {};\\n\\n{\\n  // This validation code was written based on the HTML5 parsing spec:\\n  // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\\n  //\\n  // Note: this does not catch all invalid nesting, nor does it try to (as it's\\n  // not clear what practical benefit doing so provides); instead, we warn only\\n  // for cases where the parser will give a parse tree differing from what React\\n  // intended. For example, <b><div></div></b> is invalid but we don't warn\\n  // because it still parses correctly; we do warn for other cases like nested\\n  // <p> tags where the beginning of the second element implicitly closes the\\n  // first, causing a confusing mess.\\n  // https://html.spec.whatwg.org/multipage/syntax.html#special\\n  var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\\n\\n  var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template', // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\\n  // TODO: Distinguish by namespace here -- for <title>, including it here\\n  // errs on the side of fewer warnings\\n  'foreignObject', 'desc', 'title']; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\\n\\n  var buttonScopeTags = inScopeTags.concat(['button']); // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\\n\\n  var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\\n  var emptyAncestorInfo = {\\n    current: null,\\n    formTag: null,\\n    aTagInScope: null,\\n    buttonTagInScope: null,\\n    nobrTagInScope: null,\\n    pTagInButtonScope: null,\\n    listItemTagAutoclosing: null,\\n    dlItemTagAutoclosing: null\\n  };\\n\\n  updatedAncestorInfo = function (oldInfo, tag) {\\n    var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);\\n\\n    var info = {\\n      tag: tag\\n    };\\n\\n    if (inScopeTags.indexOf(tag) !== -1) {\\n      ancestorInfo.aTagInScope = null;\\n      ancestorInfo.buttonTagInScope = null;\\n      ancestorInfo.nobrTagInScope = null;\\n    }\\n\\n    if (buttonScopeTags.indexOf(tag) !== -1) {\\n      ancestorInfo.pTagInButtonScope = null;\\n    } // See rules for 'li', 'dd', 'dt' start tags in\\n    // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\\n\\n\\n    if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\\n      ancestorInfo.listItemTagAutoclosing = null;\\n      ancestorInfo.dlItemTagAutoclosing = null;\\n    }\\n\\n    ancestorInfo.current = info;\\n\\n    if (tag === 'form') {\\n      ancestorInfo.formTag = info;\\n    }\\n\\n    if (tag === 'a') {\\n      ancestorInfo.aTagInScope = info;\\n    }\\n\\n    if (tag === 'button') {\\n      ancestorInfo.buttonTagInScope = info;\\n    }\\n\\n    if (tag === 'nobr') {\\n      ancestorInfo.nobrTagInScope = info;\\n    }\\n\\n    if (tag === 'p') {\\n      ancestorInfo.pTagInButtonScope = info;\\n    }\\n\\n    if (tag === 'li') {\\n      ancestorInfo.listItemTagAutoclosing = info;\\n    }\\n\\n    if (tag === 'dd' || tag === 'dt') {\\n      ancestorInfo.dlItemTagAutoclosing = info;\\n    }\\n\\n    return ancestorInfo;\\n  };\\n  /**\\n   * Returns whether\\n   */\\n\\n\\n  var isTagValidWithParent = function (tag, parentTag) {\\n    // First, let's check if we're in an unusual parsing mode...\\n    switch (parentTag) {\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\\n      case 'select':\\n        return tag === 'option' || tag === 'optgroup' || tag === '#text';\\n\\n      case 'optgroup':\\n        return tag === 'option' || tag === '#text';\\n      // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\\n      // but\\n\\n      case 'option':\\n        return tag === '#text';\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\\n      // No special behavior since these rules fall back to \\\"in body\\\" mode for\\n      // all except special table nodes which cause bad parsing behavior anyway.\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\\n\\n      case 'tr':\\n        return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\\n\\n      case 'tbody':\\n      case 'thead':\\n      case 'tfoot':\\n        return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\\n\\n      case 'colgroup':\\n        return tag === 'col' || tag === 'template';\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\\n\\n      case 'table':\\n        return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\\n      // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\\n\\n      case 'head':\\n        return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\\n      // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\\n\\n      case 'html':\\n        return tag === 'head' || tag === 'body' || tag === 'frameset';\\n\\n      case 'frameset':\\n        return tag === 'frame';\\n\\n      case '#document':\\n        return tag === 'html';\\n    } // Probably in the \\\"in body\\\" parsing mode, so we outlaw only tag combos\\n    // where the parsing rules cause implicit opens or closes to be added.\\n    // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\\n\\n\\n    switch (tag) {\\n      case 'h1':\\n      case 'h2':\\n      case 'h3':\\n      case 'h4':\\n      case 'h5':\\n      case 'h6':\\n        return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\\n\\n      case 'rp':\\n      case 'rt':\\n        return impliedEndTags.indexOf(parentTag) === -1;\\n\\n      case 'body':\\n      case 'caption':\\n      case 'col':\\n      case 'colgroup':\\n      case 'frameset':\\n      case 'frame':\\n      case 'head':\\n      case 'html':\\n      case 'tbody':\\n      case 'td':\\n      case 'tfoot':\\n      case 'th':\\n      case 'thead':\\n      case 'tr':\\n        // These tags are only valid with a few parents that have special child\\n        // parsing rules -- if we're down here, then none of those matched and\\n        // so we allow it only if we don't know what the parent is, as all other\\n        // cases are invalid.\\n        return parentTag == null;\\n    }\\n\\n    return true;\\n  };\\n  /**\\n   * Returns whether\\n   */\\n\\n\\n  var findInvalidAncestorForTag = function (tag, ancestorInfo) {\\n    switch (tag) {\\n      case 'address':\\n      case 'article':\\n      case 'aside':\\n      case 'blockquote':\\n      case 'center':\\n      case 'details':\\n      case 'dialog':\\n      case 'dir':\\n      case 'div':\\n      case 'dl':\\n      case 'fieldset':\\n      case 'figcaption':\\n      case 'figure':\\n      case 'footer':\\n      case 'header':\\n      case 'hgroup':\\n      case 'main':\\n      case 'menu':\\n      case 'nav':\\n      case 'ol':\\n      case 'p':\\n      case 'section':\\n      case 'summary':\\n      case 'ul':\\n      case 'pre':\\n      case 'listing':\\n      case 'table':\\n      case 'hr':\\n      case 'xmp':\\n      case 'h1':\\n      case 'h2':\\n      case 'h3':\\n      case 'h4':\\n      case 'h5':\\n      case 'h6':\\n        return ancestorInfo.pTagInButtonScope;\\n\\n      case 'form':\\n        return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\\n\\n      case 'li':\\n        return ancestorInfo.listItemTagAutoclosing;\\n\\n      case 'dd':\\n      case 'dt':\\n        return ancestorInfo.dlItemTagAutoclosing;\\n\\n      case 'button':\\n        return ancestorInfo.buttonTagInScope;\\n\\n      case 'a':\\n        // Spec says something about storing a list of markers, but it sounds\\n        // equivalent to this check.\\n        return ancestorInfo.aTagInScope;\\n\\n      case 'nobr':\\n        return ancestorInfo.nobrTagInScope;\\n    }\\n\\n    return null;\\n  };\\n\\n  var didWarn$1 = {};\\n\\n  validateDOMNesting = function (childTag, childText, ancestorInfo) {\\n    ancestorInfo = ancestorInfo || emptyAncestorInfo;\\n    var parentInfo = ancestorInfo.current;\\n    var parentTag = parentInfo && parentInfo.tag;\\n\\n    if (childText != null) {\\n      if (childTag != null) {\\n        error('validateDOMNesting: when childText is passed, childTag should be null');\\n      }\\n\\n      childTag = '#text';\\n    }\\n\\n    var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\\n    var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\\n    var invalidParentOrAncestor = invalidParent || invalidAncestor;\\n\\n    if (!invalidParentOrAncestor) {\\n      return;\\n    }\\n\\n    var ancestorTag = invalidParentOrAncestor.tag;\\n    var addendum = getCurrentFiberStackInDev();\\n    var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + addendum;\\n\\n    if (didWarn$1[warnKey]) {\\n      return;\\n    }\\n\\n    didWarn$1[warnKey] = true;\\n    var tagDisplayName = childTag;\\n    var whitespaceInfo = '';\\n\\n    if (childTag === '#text') {\\n      if (/\\\\S/.test(childText)) {\\n        tagDisplayName = 'Text nodes';\\n      } else {\\n        tagDisplayName = 'Whitespace text nodes';\\n        whitespaceInfo = \\\" Make sure you don't have any extra whitespace between tags on \\\" + 'each line of your source code.';\\n      }\\n    } else {\\n      tagDisplayName = '<' + childTag + '>';\\n    }\\n\\n    if (invalidParent) {\\n      var info = '';\\n\\n      if (ancestorTag === 'table' && childTag === 'tr') {\\n        info += ' Add a <tbody>, <thead> or <tfoot> to your code to match the DOM tree generated by ' + 'the browser.';\\n      }\\n\\n      error('validateDOMNesting(...): %s cannot appear as a child of <%s>.%s%s', tagDisplayName, ancestorTag, whitespaceInfo, info);\\n    } else {\\n      error('validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>.', tagDisplayName, ancestorTag);\\n    }\\n  };\\n}\\n\\nvar SUPPRESS_HYDRATION_WARNING$1;\\n\\n{\\n  SUPPRESS_HYDRATION_WARNING$1 = 'suppressHydrationWarning';\\n}\\n\\nvar SUSPENSE_START_DATA = '$';\\nvar SUSPENSE_END_DATA = '/$';\\nvar SUSPENSE_PENDING_START_DATA = '$?';\\nvar SUSPENSE_FALLBACK_START_DATA = '$!';\\nvar STYLE$1 = 'style';\\nvar eventsEnabled = null;\\nvar selectionInformation = null;\\n\\nfunction shouldAutoFocusHostComponent(type, props) {\\n  switch (type) {\\n    case 'button':\\n    case 'input':\\n    case 'select':\\n    case 'textarea':\\n      return !!props.autoFocus;\\n  }\\n\\n  return false;\\n}\\nfunction getRootHostContext(rootContainerInstance) {\\n  var type;\\n  var namespace;\\n  var nodeType = rootContainerInstance.nodeType;\\n\\n  switch (nodeType) {\\n    case DOCUMENT_NODE:\\n    case DOCUMENT_FRAGMENT_NODE:\\n      {\\n        type = nodeType === DOCUMENT_NODE ? '#document' : '#fragment';\\n        var root = rootContainerInstance.documentElement;\\n        namespace = root ? root.namespaceURI : getChildNamespace(null, '');\\n        break;\\n      }\\n\\n    default:\\n      {\\n        var container = nodeType === COMMENT_NODE ? rootContainerInstance.parentNode : rootContainerInstance;\\n        var ownNamespace = container.namespaceURI || null;\\n        type = container.tagName;\\n        namespace = getChildNamespace(ownNamespace, type);\\n        break;\\n      }\\n  }\\n\\n  {\\n    var validatedTag = type.toLowerCase();\\n    var ancestorInfo = updatedAncestorInfo(null, validatedTag);\\n    return {\\n      namespace: namespace,\\n      ancestorInfo: ancestorInfo\\n    };\\n  }\\n}\\nfunction getChildHostContext(parentHostContext, type, rootContainerInstance) {\\n  {\\n    var parentHostContextDev = parentHostContext;\\n    var namespace = getChildNamespace(parentHostContextDev.namespace, type);\\n    var ancestorInfo = updatedAncestorInfo(parentHostContextDev.ancestorInfo, type);\\n    return {\\n      namespace: namespace,\\n      ancestorInfo: ancestorInfo\\n    };\\n  }\\n}\\nfunction getPublicInstance(instance) {\\n  return instance;\\n}\\nfunction prepareForCommit(containerInfo) {\\n  eventsEnabled = isEnabled();\\n  selectionInformation = getSelectionInformation();\\n  setEnabled(false);\\n}\\nfunction resetAfterCommit(containerInfo) {\\n  restoreSelection(selectionInformation);\\n  setEnabled(eventsEnabled);\\n  eventsEnabled = null;\\n\\n  selectionInformation = null;\\n}\\nfunction createInstance(type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\\n  var parentNamespace;\\n\\n  {\\n    // TODO: take namespace into account when validating.\\n    var hostContextDev = hostContext;\\n    validateDOMNesting(type, null, hostContextDev.ancestorInfo);\\n\\n    if (typeof props.children === 'string' || typeof props.children === 'number') {\\n      var string = '' + props.children;\\n      var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\\n      validateDOMNesting(null, string, ownAncestorInfo);\\n    }\\n\\n    parentNamespace = hostContextDev.namespace;\\n  }\\n\\n  var domElement = createElement(type, props, rootContainerInstance, parentNamespace);\\n  precacheFiberNode(internalInstanceHandle, domElement);\\n  updateFiberProps(domElement, props);\\n  return domElement;\\n}\\nfunction appendInitialChild(parentInstance, child) {\\n  parentInstance.appendChild(child);\\n}\\nfunction finalizeInitialChildren(domElement, type, props, rootContainerInstance, hostContext) {\\n  setInitialProperties(domElement, type, props, rootContainerInstance);\\n  return shouldAutoFocusHostComponent(type, props);\\n}\\nfunction prepareUpdate(domElement, type, oldProps, newProps, rootContainerInstance, hostContext) {\\n  {\\n    var hostContextDev = hostContext;\\n\\n    if (typeof newProps.children !== typeof oldProps.children && (typeof newProps.children === 'string' || typeof newProps.children === 'number')) {\\n      var string = '' + newProps.children;\\n      var ownAncestorInfo = updatedAncestorInfo(hostContextDev.ancestorInfo, type);\\n      validateDOMNesting(null, string, ownAncestorInfo);\\n    }\\n  }\\n\\n  return diffProperties(domElement, type, oldProps, newProps, rootContainerInstance);\\n}\\nfunction shouldSetTextContent(type, props) {\\n  return type === 'textarea' || type === 'option' || type === 'noscript' || typeof props.children === 'string' || typeof props.children === 'number' || typeof props.dangerouslySetInnerHTML === 'object' && props.dangerouslySetInnerHTML !== null && props.dangerouslySetInnerHTML.__html != null;\\n}\\nfunction shouldDeprioritizeSubtree(type, props) {\\n  return !!props.hidden;\\n}\\nfunction createTextInstance(text, rootContainerInstance, hostContext, internalInstanceHandle) {\\n  {\\n    var hostContextDev = hostContext;\\n    validateDOMNesting(null, text, hostContextDev.ancestorInfo);\\n  }\\n\\n  var textNode = createTextNode(text, rootContainerInstance);\\n  precacheFiberNode(internalInstanceHandle, textNode);\\n  return textNode;\\n}\\n// if a component just imports ReactDOM (e.g. for findDOMNode).\\n// Some environments might not have setTimeout or clearTimeout.\\n\\nvar scheduleTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;\\nvar cancelTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;\\nvar noTimeout = -1; // -------------------\\nfunction commitMount(domElement, type, newProps, internalInstanceHandle) {\\n  // Despite the naming that might imply otherwise, this method only\\n  // fires if there is an `Update` effect scheduled during mounting.\\n  // This happens if `finalizeInitialChildren` returns `true` (which it\\n  // does to implement the `autoFocus` attribute on the client). But\\n  // there are also other cases when this might happen (such as patching\\n  // up text content during hydration mismatch). So we'll check this again.\\n  if (shouldAutoFocusHostComponent(type, newProps)) {\\n    domElement.focus();\\n  }\\n}\\nfunction commitUpdate(domElement, updatePayload, type, oldProps, newProps, internalInstanceHandle) {\\n  // Update the props handle so that we know which props are the ones with\\n  // with current event handlers.\\n  updateFiberProps(domElement, newProps); // Apply the diff to the DOM node.\\n\\n  updateProperties(domElement, updatePayload, type, oldProps, newProps);\\n}\\nfunction resetTextContent(domElement) {\\n  setTextContent(domElement, '');\\n}\\nfunction commitTextUpdate(textInstance, oldText, newText) {\\n  textInstance.nodeValue = newText;\\n}\\nfunction appendChild(parentInstance, child) {\\n  parentInstance.appendChild(child);\\n}\\nfunction appendChildToContainer(container, child) {\\n  var parentNode;\\n\\n  if (container.nodeType === COMMENT_NODE) {\\n    parentNode = container.parentNode;\\n    parentNode.insertBefore(child, container);\\n  } else {\\n    parentNode = container;\\n    parentNode.appendChild(child);\\n  } // This container might be used for a portal.\\n  // If something inside a portal is clicked, that click should bubble\\n  // through the React tree. However, on Mobile Safari the click would\\n  // never bubble through the *DOM* tree unless an ancestor with onclick\\n  // event exists. So we wouldn't see it and dispatch it.\\n  // This is why we ensure that non React root containers have inline onclick\\n  // defined.\\n  // https://github.com/facebook/react/issues/11918\\n\\n\\n  var reactRootContainer = container._reactRootContainer;\\n\\n  if ((reactRootContainer === null || reactRootContainer === undefined) && parentNode.onclick === null) {\\n    // TODO: This cast may not be sound for SVG, MathML or custom elements.\\n    trapClickOnNonInteractiveElement(parentNode);\\n  }\\n}\\nfunction insertBefore(parentInstance, child, beforeChild) {\\n  parentInstance.insertBefore(child, beforeChild);\\n}\\nfunction insertInContainerBefore(container, child, beforeChild) {\\n  if (container.nodeType === COMMENT_NODE) {\\n    container.parentNode.insertBefore(child, beforeChild);\\n  } else {\\n    container.insertBefore(child, beforeChild);\\n  }\\n}\\nfunction removeChild(parentInstance, child) {\\n  parentInstance.removeChild(child);\\n}\\nfunction removeChildFromContainer(container, child) {\\n  if (container.nodeType === COMMENT_NODE) {\\n    container.parentNode.removeChild(child);\\n  } else {\\n    container.removeChild(child);\\n  }\\n}\\n\\nfunction hideInstance(instance) {\\n  // pass host context to this method?\\n\\n\\n  instance = instance;\\n  var style = instance.style;\\n\\n  if (typeof style.setProperty === 'function') {\\n    style.setProperty('display', 'none', 'important');\\n  } else {\\n    style.display = 'none';\\n  }\\n}\\nfunction hideTextInstance(textInstance) {\\n  textInstance.nodeValue = '';\\n}\\nfunction unhideInstance(instance, props) {\\n  instance = instance;\\n  var styleProp = props[STYLE$1];\\n  var display = styleProp !== undefined && styleProp !== null && styleProp.hasOwnProperty('display') ? styleProp.display : null;\\n  instance.style.display = dangerousStyleValue('display', display);\\n}\\nfunction unhideTextInstance(textInstance, text) {\\n  textInstance.nodeValue = text;\\n} // -------------------\\nfunction canHydrateInstance(instance, type, props) {\\n  if (instance.nodeType !== ELEMENT_NODE || type.toLowerCase() !== instance.nodeName.toLowerCase()) {\\n    return null;\\n  } // This has now been refined to an element node.\\n\\n\\n  return instance;\\n}\\nfunction canHydrateTextInstance(instance, text) {\\n  if (text === '' || instance.nodeType !== TEXT_NODE) {\\n    // Empty strings are not parsed by HTML so there won't be a correct match here.\\n    return null;\\n  } // This has now been refined to a text node.\\n\\n\\n  return instance;\\n}\\nfunction isSuspenseInstancePending(instance) {\\n  return instance.data === SUSPENSE_PENDING_START_DATA;\\n}\\nfunction isSuspenseInstanceFallback(instance) {\\n  return instance.data === SUSPENSE_FALLBACK_START_DATA;\\n}\\n\\nfunction getNextHydratable(node) {\\n  // Skip non-hydratable nodes.\\n  for (; node != null; node = node.nextSibling) {\\n    var nodeType = node.nodeType;\\n\\n    if (nodeType === ELEMENT_NODE || nodeType === TEXT_NODE) {\\n      break;\\n    }\\n  }\\n\\n  return node;\\n}\\n\\nfunction getNextHydratableSibling(instance) {\\n  return getNextHydratable(instance.nextSibling);\\n}\\nfunction getFirstHydratableChild(parentInstance) {\\n  return getNextHydratable(parentInstance.firstChild);\\n}\\nfunction hydrateInstance(instance, type, props, rootContainerInstance, hostContext, internalInstanceHandle) {\\n  precacheFiberNode(internalInstanceHandle, instance); // TODO: Possibly defer this until the commit phase where all the events\\n  // get attached.\\n\\n  updateFiberProps(instance, props);\\n  var parentNamespace;\\n\\n  {\\n    var hostContextDev = hostContext;\\n    parentNamespace = hostContextDev.namespace;\\n  }\\n\\n  return diffHydratedProperties(instance, type, props, parentNamespace, rootContainerInstance);\\n}\\nfunction hydrateTextInstance(textInstance, text, internalInstanceHandle) {\\n  precacheFiberNode(internalInstanceHandle, textInstance);\\n  return diffHydratedText(textInstance, text);\\n}\\nfunction getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance) {\\n  var node = suspenseInstance.nextSibling; // Skip past all nodes within this suspense boundary.\\n  // There might be nested nodes so we need to keep track of how\\n  // deep we are and only break out when we're back on top.\\n\\n  var depth = 0;\\n\\n  while (node) {\\n    if (node.nodeType === COMMENT_NODE) {\\n      var data = node.data;\\n\\n      if (data === SUSPENSE_END_DATA) {\\n        if (depth === 0) {\\n          return getNextHydratableSibling(node);\\n        } else {\\n          depth--;\\n        }\\n      } else if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\\n        depth++;\\n      }\\n    }\\n\\n    node = node.nextSibling;\\n  } // TODO: Warn, we didn't find the end comment boundary.\\n\\n\\n  return null;\\n} // Returns the SuspenseInstance if this node is a direct child of a\\n// SuspenseInstance. I.e. if its previous sibling is a Comment with\\n// SUSPENSE_x_START_DATA. Otherwise, null.\\n\\nfunction getParentSuspenseInstance(targetInstance) {\\n  var node = targetInstance.previousSibling; // Skip past all nodes within this suspense boundary.\\n  // There might be nested nodes so we need to keep track of how\\n  // deep we are and only break out when we're back on top.\\n\\n  var depth = 0;\\n\\n  while (node) {\\n    if (node.nodeType === COMMENT_NODE) {\\n      var data = node.data;\\n\\n      if (data === SUSPENSE_START_DATA || data === SUSPENSE_FALLBACK_START_DATA || data === SUSPENSE_PENDING_START_DATA) {\\n        if (depth === 0) {\\n          return node;\\n        } else {\\n          depth--;\\n        }\\n      } else if (data === SUSPENSE_END_DATA) {\\n        depth++;\\n      }\\n    }\\n\\n    node = node.previousSibling;\\n  }\\n\\n  return null;\\n}\\nfunction commitHydratedContainer(container) {\\n  // Retry if any event replaying was blocked on this.\\n  retryIfBlockedOn(container);\\n}\\nfunction commitHydratedSuspenseInstance(suspenseInstance) {\\n  // Retry if any event replaying was blocked on this.\\n  retryIfBlockedOn(suspenseInstance);\\n}\\nfunction didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, text) {\\n  {\\n    warnForUnmatchedText(textInstance, text);\\n  }\\n}\\nfunction didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, text) {\\n  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\\n    warnForUnmatchedText(textInstance, text);\\n  }\\n}\\nfunction didNotHydrateContainerInstance(parentContainer, instance) {\\n  {\\n    if (instance.nodeType === ELEMENT_NODE) {\\n      warnForDeletedHydratableElement(parentContainer, instance);\\n    } else if (instance.nodeType === COMMENT_NODE) ; else {\\n      warnForDeletedHydratableText(parentContainer, instance);\\n    }\\n  }\\n}\\nfunction didNotHydrateInstance(parentType, parentProps, parentInstance, instance) {\\n  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\\n    if (instance.nodeType === ELEMENT_NODE) {\\n      warnForDeletedHydratableElement(parentInstance, instance);\\n    } else if (instance.nodeType === COMMENT_NODE) ; else {\\n      warnForDeletedHydratableText(parentInstance, instance);\\n    }\\n  }\\n}\\nfunction didNotFindHydratableContainerInstance(parentContainer, type, props) {\\n  {\\n    warnForInsertedHydratedElement(parentContainer, type);\\n  }\\n}\\nfunction didNotFindHydratableContainerTextInstance(parentContainer, text) {\\n  {\\n    warnForInsertedHydratedText(parentContainer, text);\\n  }\\n}\\nfunction didNotFindHydratableInstance(parentType, parentProps, parentInstance, type, props) {\\n  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\\n    warnForInsertedHydratedElement(parentInstance, type);\\n  }\\n}\\nfunction didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, text) {\\n  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) {\\n    warnForInsertedHydratedText(parentInstance, text);\\n  }\\n}\\nfunction didNotFindHydratableSuspenseInstance(parentType, parentProps, parentInstance) {\\n  if ( parentProps[SUPPRESS_HYDRATION_WARNING$1] !== true) ;\\n}\\n\\nvar randomKey = Math.random().toString(36).slice(2);\\nvar internalInstanceKey = '__reactInternalInstance$' + randomKey;\\nvar internalEventHandlersKey = '__reactEventHandlers$' + randomKey;\\nvar internalContainerInstanceKey = '__reactContainere$' + randomKey;\\nfunction precacheFiberNode(hostInst, node) {\\n  node[internalInstanceKey] = hostInst;\\n}\\nfunction markContainerAsRoot(hostRoot, node) {\\n  node[internalContainerInstanceKey] = hostRoot;\\n}\\nfunction unmarkContainerAsRoot(node) {\\n  node[internalContainerInstanceKey] = null;\\n}\\nfunction isContainerMarkedAsRoot(node) {\\n  return !!node[internalContainerInstanceKey];\\n} // Given a DOM node, return the closest HostComponent or HostText fiber ancestor.\\n// If the target node is part of a hydrated or not yet rendered subtree, then\\n// this may also return a SuspenseComponent or HostRoot to indicate that.\\n// Conceptually the HostRoot fiber is a child of the Container node. So if you\\n// pass the Container node as the targetNode, you will not actually get the\\n// HostRoot back. To get to the HostRoot, you need to pass a child of it.\\n// The same thing applies to Suspense boundaries.\\n\\nfunction getClosestInstanceFromNode(targetNode) {\\n  var targetInst = targetNode[internalInstanceKey];\\n\\n  if (targetInst) {\\n    // Don't return HostRoot or SuspenseComponent here.\\n    return targetInst;\\n  } // If the direct event target isn't a React owned DOM node, we need to look\\n  // to see if one of its parents is a React owned DOM node.\\n\\n\\n  var parentNode = targetNode.parentNode;\\n\\n  while (parentNode) {\\n    // We'll check if this is a container root that could include\\n    // React nodes in the future. We need to check this first because\\n    // if we're a child of a dehydrated container, we need to first\\n    // find that inner container before moving on to finding the parent\\n    // instance. Note that we don't check this field on  the targetNode\\n    // itself because the fibers are conceptually between the container\\n    // node and the first child. It isn't surrounding the container node.\\n    // If it's not a container, we check if it's an instance.\\n    targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey];\\n\\n    if (targetInst) {\\n      // Since this wasn't the direct target of the event, we might have\\n      // stepped past dehydrated DOM nodes to get here. However they could\\n      // also have been non-React nodes. We need to answer which one.\\n      // If we the instance doesn't have any children, then there can't be\\n      // a nested suspense boundary within it. So we can use this as a fast\\n      // bailout. Most of the time, when people add non-React children to\\n      // the tree, it is using a ref to a child-less DOM node.\\n      // Normally we'd only need to check one of the fibers because if it\\n      // has ever gone from having children to deleting them or vice versa\\n      // it would have deleted the dehydrated boundary nested inside already.\\n      // However, since the HostRoot starts out with an alternate it might\\n      // have one on the alternate so we need to check in case this was a\\n      // root.\\n      var alternate = targetInst.alternate;\\n\\n      if (targetInst.child !== null || alternate !== null && alternate.child !== null) {\\n        // Next we need to figure out if the node that skipped past is\\n        // nested within a dehydrated boundary and if so, which one.\\n        var suspenseInstance = getParentSuspenseInstance(targetNode);\\n\\n        while (suspenseInstance !== null) {\\n          // We found a suspense instance. That means that we haven't\\n          // hydrated it yet. Even though we leave the comments in the\\n          // DOM after hydrating, and there are boundaries in the DOM\\n          // that could already be hydrated, we wouldn't have found them\\n          // through this pass since if the target is hydrated it would\\n          // have had an internalInstanceKey on it.\\n          // Let's get the fiber associated with the SuspenseComponent\\n          // as the deepest instance.\\n          var targetSuspenseInst = suspenseInstance[internalInstanceKey];\\n\\n          if (targetSuspenseInst) {\\n            return targetSuspenseInst;\\n          } // If we don't find a Fiber on the comment, it might be because\\n          // we haven't gotten to hydrate it yet. There might still be a\\n          // parent boundary that hasn't above this one so we need to find\\n          // the outer most that is known.\\n\\n\\n          suspenseInstance = getParentSuspenseInstance(suspenseInstance); // If we don't find one, then that should mean that the parent\\n          // host component also hasn't hydrated yet. We can return it\\n          // below since it will bail out on the isMounted check later.\\n        }\\n      }\\n\\n      return targetInst;\\n    }\\n\\n    targetNode = parentNode;\\n    parentNode = targetNode.parentNode;\\n  }\\n\\n  return null;\\n}\\n/**\\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\\n * instance, or null if the node was not rendered by this React.\\n */\\n\\nfunction getInstanceFromNode$1(node) {\\n  var inst = node[internalInstanceKey] || node[internalContainerInstanceKey];\\n\\n  if (inst) {\\n    if (inst.tag === HostComponent || inst.tag === HostText || inst.tag === SuspenseComponent || inst.tag === HostRoot) {\\n      return inst;\\n    } else {\\n      return null;\\n    }\\n  }\\n\\n  return null;\\n}\\n/**\\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\\n * DOM node.\\n */\\n\\nfunction getNodeFromInstance$1(inst) {\\n  if (inst.tag === HostComponent || inst.tag === HostText) {\\n    // In Fiber this, is just the state node right now. We assume it will be\\n    // a host component or host text.\\n    return inst.stateNode;\\n  } // Without this first invariant, passing a non-DOM-component triggers the next\\n  // invariant for a missing parent, which is super confusing.\\n\\n\\n  {\\n    {\\n      throw Error( \\\"getNodeFromInstance: Invalid argument.\\\" );\\n    }\\n  }\\n}\\nfunction getFiberCurrentPropsFromNode$1(node) {\\n  return node[internalEventHandlersKey] || null;\\n}\\nfunction updateFiberProps(node, props) {\\n  node[internalEventHandlersKey] = props;\\n}\\n\\nfunction getParent(inst) {\\n  do {\\n    inst = inst.return; // TODO: If this is a HostRoot we might want to bail out.\\n    // That is depending on if we want nested subtrees (layers) to bubble\\n    // events to their parent. We could also go through parentNode on the\\n    // host node but that wouldn't work for React Native and doesn't let us\\n    // do the portal feature.\\n  } while (inst && inst.tag !== HostComponent);\\n\\n  if (inst) {\\n    return inst;\\n  }\\n\\n  return null;\\n}\\n/**\\n * Return the lowest common ancestor of A and B, or null if they are in\\n * different trees.\\n */\\n\\n\\nfunction getLowestCommonAncestor(instA, instB) {\\n  var depthA = 0;\\n\\n  for (var tempA = instA; tempA; tempA = getParent(tempA)) {\\n    depthA++;\\n  }\\n\\n  var depthB = 0;\\n\\n  for (var tempB = instB; tempB; tempB = getParent(tempB)) {\\n    depthB++;\\n  } // If A is deeper, crawl up.\\n\\n\\n  while (depthA - depthB > 0) {\\n    instA = getParent(instA);\\n    depthA--;\\n  } // If B is deeper, crawl up.\\n\\n\\n  while (depthB - depthA > 0) {\\n    instB = getParent(instB);\\n    depthB--;\\n  } // Walk in lockstep until we find a match.\\n\\n\\n  var depth = depthA;\\n\\n  while (depth--) {\\n    if (instA === instB || instA === instB.alternate) {\\n      return instA;\\n    }\\n\\n    instA = getParent(instA);\\n    instB = getParent(instB);\\n  }\\n\\n  return null;\\n}\\n/**\\n * Simulates the traversal of a two-phase, capture/bubble event dispatch.\\n */\\n\\nfunction traverseTwoPhase(inst, fn, arg) {\\n  var path = [];\\n\\n  while (inst) {\\n    path.push(inst);\\n    inst = getParent(inst);\\n  }\\n\\n  var i;\\n\\n  for (i = path.length; i-- > 0;) {\\n    fn(path[i], 'captured', arg);\\n  }\\n\\n  for (i = 0; i < path.length; i++) {\\n    fn(path[i], 'bubbled', arg);\\n  }\\n}\\n/**\\n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\\n * should would receive a `mouseEnter` or `mouseLeave` event.\\n *\\n * Does not invoke the callback on the nearest common ancestor because nothing\\n * \\\"entered\\\" or \\\"left\\\" that element.\\n */\\n\\nfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {\\n  var common = from && to ? getLowestCommonAncestor(from, to) : null;\\n  var pathFrom = [];\\n\\n  while (true) {\\n    if (!from) {\\n      break;\\n    }\\n\\n    if (from === common) {\\n      break;\\n    }\\n\\n    var alternate = from.alternate;\\n\\n    if (alternate !== null && alternate === common) {\\n      break;\\n    }\\n\\n    pathFrom.push(from);\\n    from = getParent(from);\\n  }\\n\\n  var pathTo = [];\\n\\n  while (true) {\\n    if (!to) {\\n      break;\\n    }\\n\\n    if (to === common) {\\n      break;\\n    }\\n\\n    var _alternate = to.alternate;\\n\\n    if (_alternate !== null && _alternate === common) {\\n      break;\\n    }\\n\\n    pathTo.push(to);\\n    to = getParent(to);\\n  }\\n\\n  for (var i = 0; i < pathFrom.length; i++) {\\n    fn(pathFrom[i], 'bubbled', argFrom);\\n  }\\n\\n  for (var _i = pathTo.length; _i-- > 0;) {\\n    fn(pathTo[_i], 'captured', argTo);\\n  }\\n}\\n\\nfunction isInteractive(tag) {\\n  return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\\n}\\n\\nfunction shouldPreventMouseEvent(name, type, props) {\\n  switch (name) {\\n    case 'onClick':\\n    case 'onClickCapture':\\n    case 'onDoubleClick':\\n    case 'onDoubleClickCapture':\\n    case 'onMouseDown':\\n    case 'onMouseDownCapture':\\n    case 'onMouseMove':\\n    case 'onMouseMoveCapture':\\n    case 'onMouseUp':\\n    case 'onMouseUpCapture':\\n    case 'onMouseEnter':\\n      return !!(props.disabled && isInteractive(type));\\n\\n    default:\\n      return false;\\n  }\\n}\\n/**\\n * @param {object} inst The instance, which is the source of events.\\n * @param {string} registrationName Name of listener (e.g. `onClick`).\\n * @return {?function} The stored callback.\\n */\\n\\n\\nfunction getListener(inst, registrationName) {\\n  var listener; // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not\\n  // live here; needs to be moved to a better place soon\\n\\n  var stateNode = inst.stateNode;\\n\\n  if (!stateNode) {\\n    // Work in progress (ex: onload events in incremental mode).\\n    return null;\\n  }\\n\\n  var props = getFiberCurrentPropsFromNode(stateNode);\\n\\n  if (!props) {\\n    // Work in progress.\\n    return null;\\n  }\\n\\n  listener = props[registrationName];\\n\\n  if (shouldPreventMouseEvent(registrationName, inst.type, props)) {\\n    return null;\\n  }\\n\\n  if (!(!listener || typeof listener === 'function')) {\\n    {\\n      throw Error( \\\"Expected `\\\" + registrationName + \\\"` listener to be a function, instead got a value of `\\\" + typeof listener + \\\"` type.\\\" );\\n    }\\n  }\\n\\n  return listener;\\n}\\n\\n/**\\n * Some event types have a notion of different registration names for different\\n * \\\"phases\\\" of propagation. This finds listeners by a given phase.\\n */\\nfunction listenerAtPhase(inst, event, propagationPhase) {\\n  var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\\n  return getListener(inst, registrationName);\\n}\\n/**\\n * A small set of propagation patterns, each of which will accept a small amount\\n * of information, and generate a set of \\\"dispatch ready event objects\\\" - which\\n * are sets of events that have already been annotated with a set of dispatched\\n * listener functions/ids. The API is designed this way to discourage these\\n * propagation strategies from actually executing the dispatches, since we\\n * always want to collect the entire set of dispatches before executing even a\\n * single one.\\n */\\n\\n/**\\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\\n * here, allows us to not have to bind or create functions for each event.\\n * Mutating the event's members allows us to not have to create a wrapping\\n * \\\"dispatch\\\" object that pairs the event with the listener.\\n */\\n\\n\\nfunction accumulateDirectionalDispatches(inst, phase, event) {\\n  {\\n    if (!inst) {\\n      error('Dispatching inst must not be null');\\n    }\\n  }\\n\\n  var listener = listenerAtPhase(inst, event, phase);\\n\\n  if (listener) {\\n    event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\\n    event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\\n  }\\n}\\n/**\\n * Collect dispatches (must be entirely collected before dispatching - see unit\\n * tests). Lazily allocate the array to conserve memory.  We must loop through\\n * each event and perform the traversal for each one. We cannot perform a\\n * single traversal for the entire collection of events because each event may\\n * have a different target.\\n */\\n\\n\\nfunction accumulateTwoPhaseDispatchesSingle(event) {\\n  if (event && event.dispatchConfig.phasedRegistrationNames) {\\n    traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\\n  }\\n}\\n/**\\n * Accumulates without regard to direction, does not look for phased\\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\\n */\\n\\n\\nfunction accumulateDispatches(inst, ignoredDirection, event) {\\n  if (inst && event && event.dispatchConfig.registrationName) {\\n    var registrationName = event.dispatchConfig.registrationName;\\n    var listener = getListener(inst, registrationName);\\n\\n    if (listener) {\\n      event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\\n      event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\\n    }\\n  }\\n}\\n/**\\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\\n * `dispatchMarker`.\\n * @param {SyntheticEvent} event\\n */\\n\\n\\nfunction accumulateDirectDispatchesSingle(event) {\\n  if (event && event.dispatchConfig.registrationName) {\\n    accumulateDispatches(event._targetInst, null, event);\\n  }\\n}\\n\\nfunction accumulateTwoPhaseDispatches(events) {\\n  forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\\n}\\nfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\\n  traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\\n}\\nfunction accumulateDirectDispatches(events) {\\n  forEachAccumulated(events, accumulateDirectDispatchesSingle);\\n}\\n\\n/**\\n * These variables store information about text content of a target node,\\n * allowing comparison of content before and after a given event.\\n *\\n * Identify the node where selection currently begins, then observe\\n * both its text content and its current position in the DOM. Since the\\n * browser may natively replace the target node during composition, we can\\n * use its position to find its replacement.\\n *\\n *\\n */\\nvar root = null;\\nvar startText = null;\\nvar fallbackText = null;\\nfunction initialize(nativeEventTarget) {\\n  root = nativeEventTarget;\\n  startText = getText();\\n  return true;\\n}\\nfunction reset() {\\n  root = null;\\n  startText = null;\\n  fallbackText = null;\\n}\\nfunction getData() {\\n  if (fallbackText) {\\n    return fallbackText;\\n  }\\n\\n  var start;\\n  var startValue = startText;\\n  var startLength = startValue.length;\\n  var end;\\n  var endValue = getText();\\n  var endLength = endValue.length;\\n\\n  for (start = 0; start < startLength; start++) {\\n    if (startValue[start] !== endValue[start]) {\\n      break;\\n    }\\n  }\\n\\n  var minEnd = startLength - start;\\n\\n  for (end = 1; end <= minEnd; end++) {\\n    if (startValue[startLength - end] !== endValue[endLength - end]) {\\n      break;\\n    }\\n  }\\n\\n  var sliceTail = end > 1 ? 1 - end : undefined;\\n  fallbackText = endValue.slice(start, sliceTail);\\n  return fallbackText;\\n}\\nfunction getText() {\\n  if ('value' in root) {\\n    return root.value;\\n  }\\n\\n  return root.textContent;\\n}\\n\\nvar EVENT_POOL_SIZE = 10;\\n/**\\n * @interface Event\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\\n */\\n\\nvar EventInterface = {\\n  type: null,\\n  target: null,\\n  // currentTarget is set when dispatching; no use in copying it here\\n  currentTarget: function () {\\n    return null;\\n  },\\n  eventPhase: null,\\n  bubbles: null,\\n  cancelable: null,\\n  timeStamp: function (event) {\\n    return event.timeStamp || Date.now();\\n  },\\n  defaultPrevented: null,\\n  isTrusted: null\\n};\\n\\nfunction functionThatReturnsTrue() {\\n  return true;\\n}\\n\\nfunction functionThatReturnsFalse() {\\n  return false;\\n}\\n/**\\n * Synthetic events are dispatched by event plugins, typically in response to a\\n * top-level event delegation handler.\\n *\\n * These systems should generally use pooling to reduce the frequency of garbage\\n * collection. The system should check `isPersistent` to determine whether the\\n * event should be released into the pool after being dispatched. Users that\\n * need a persisted event should invoke `persist`.\\n *\\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\\n * DOM interface; custom application-specific events can also subclass this.\\n *\\n * @param {object} dispatchConfig Configuration used to dispatch this event.\\n * @param {*} targetInst Marker identifying the event target.\\n * @param {object} nativeEvent Native browser event.\\n * @param {DOMEventTarget} nativeEventTarget Target node.\\n */\\n\\n\\nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\\n  {\\n    // these have a getter/setter for warnings\\n    delete this.nativeEvent;\\n    delete this.preventDefault;\\n    delete this.stopPropagation;\\n    delete this.isDefaultPrevented;\\n    delete this.isPropagationStopped;\\n  }\\n\\n  this.dispatchConfig = dispatchConfig;\\n  this._targetInst = targetInst;\\n  this.nativeEvent = nativeEvent;\\n  var Interface = this.constructor.Interface;\\n\\n  for (var propName in Interface) {\\n    if (!Interface.hasOwnProperty(propName)) {\\n      continue;\\n    }\\n\\n    {\\n      delete this[propName]; // this has a getter/setter for warnings\\n    }\\n\\n    var normalize = Interface[propName];\\n\\n    if (normalize) {\\n      this[propName] = normalize(nativeEvent);\\n    } else {\\n      if (propName === 'target') {\\n        this.target = nativeEventTarget;\\n      } else {\\n        this[propName] = nativeEvent[propName];\\n      }\\n    }\\n  }\\n\\n  var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\\n\\n  if (defaultPrevented) {\\n    this.isDefaultPrevented = functionThatReturnsTrue;\\n  } else {\\n    this.isDefaultPrevented = functionThatReturnsFalse;\\n  }\\n\\n  this.isPropagationStopped = functionThatReturnsFalse;\\n  return this;\\n}\\n\\n_assign(SyntheticEvent.prototype, {\\n  preventDefault: function () {\\n    this.defaultPrevented = true;\\n    var event = this.nativeEvent;\\n\\n    if (!event) {\\n      return;\\n    }\\n\\n    if (event.preventDefault) {\\n      event.preventDefault();\\n    } else if (typeof event.returnValue !== 'unknown') {\\n      event.returnValue = false;\\n    }\\n\\n    this.isDefaultPrevented = functionThatReturnsTrue;\\n  },\\n  stopPropagation: function () {\\n    var event = this.nativeEvent;\\n\\n    if (!event) {\\n      return;\\n    }\\n\\n    if (event.stopPropagation) {\\n      event.stopPropagation();\\n    } else if (typeof event.cancelBubble !== 'unknown') {\\n      // The ChangeEventPlugin registers a \\\"propertychange\\\" event for\\n      // IE. This event does not support bubbling or cancelling, and\\n      // any references to cancelBubble throw \\\"Member not found\\\".  A\\n      // typeof check of \\\"unknown\\\" circumvents this issue (and is also\\n      // IE specific).\\n      event.cancelBubble = true;\\n    }\\n\\n    this.isPropagationStopped = functionThatReturnsTrue;\\n  },\\n\\n  /**\\n   * We release all dispatched `SyntheticEvent`s after each event loop, adding\\n   * them back into the pool. This allows a way to hold onto a reference that\\n   * won't be added back into the pool.\\n   */\\n  persist: function () {\\n    this.isPersistent = functionThatReturnsTrue;\\n  },\\n\\n  /**\\n   * Checks if this event should be released back into the pool.\\n   *\\n   * @return {boolean} True if this should not be released, false otherwise.\\n   */\\n  isPersistent: functionThatReturnsFalse,\\n\\n  /**\\n   * `PooledClass` looks for `destructor` on each instance it releases.\\n   */\\n  destructor: function () {\\n    var Interface = this.constructor.Interface;\\n\\n    for (var propName in Interface) {\\n      {\\n        Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\\n      }\\n    }\\n\\n    this.dispatchConfig = null;\\n    this._targetInst = null;\\n    this.nativeEvent = null;\\n    this.isDefaultPrevented = functionThatReturnsFalse;\\n    this.isPropagationStopped = functionThatReturnsFalse;\\n    this._dispatchListeners = null;\\n    this._dispatchInstances = null;\\n\\n    {\\n      Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\\n      Object.defineProperty(this, 'isDefaultPrevented', getPooledWarningPropertyDefinition('isDefaultPrevented', functionThatReturnsFalse));\\n      Object.defineProperty(this, 'isPropagationStopped', getPooledWarningPropertyDefinition('isPropagationStopped', functionThatReturnsFalse));\\n      Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', function () {}));\\n      Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', function () {}));\\n    }\\n  }\\n});\\n\\nSyntheticEvent.Interface = EventInterface;\\n/**\\n * Helper to reduce boilerplate when creating subclasses.\\n */\\n\\nSyntheticEvent.extend = function (Interface) {\\n  var Super = this;\\n\\n  var E = function () {};\\n\\n  E.prototype = Super.prototype;\\n  var prototype = new E();\\n\\n  function Class() {\\n    return Super.apply(this, arguments);\\n  }\\n\\n  _assign(prototype, Class.prototype);\\n\\n  Class.prototype = prototype;\\n  Class.prototype.constructor = Class;\\n  Class.Interface = _assign({}, Super.Interface, Interface);\\n  Class.extend = Super.extend;\\n  addEventPoolingTo(Class);\\n  return Class;\\n};\\n\\naddEventPoolingTo(SyntheticEvent);\\n/**\\n * Helper to nullify syntheticEvent instance properties when destructing\\n *\\n * @param {String} propName\\n * @param {?object} getVal\\n * @return {object} defineProperty object\\n */\\n\\nfunction getPooledWarningPropertyDefinition(propName, getVal) {\\n  var isFunction = typeof getVal === 'function';\\n  return {\\n    configurable: true,\\n    set: set,\\n    get: get\\n  };\\n\\n  function set(val) {\\n    var action = isFunction ? 'setting the method' : 'setting the property';\\n    warn(action, 'This is effectively a no-op');\\n    return val;\\n  }\\n\\n  function get() {\\n    var action = isFunction ? 'accessing the method' : 'accessing the property';\\n    var result = isFunction ? 'This is a no-op function' : 'This is set to null';\\n    warn(action, result);\\n    return getVal;\\n  }\\n\\n  function warn(action, result) {\\n    {\\n      error(\\\"This synthetic event is reused for performance reasons. If you're seeing this, \\\" + \\\"you're %s `%s` on a released/nullified synthetic event. %s. \\\" + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result);\\n    }\\n  }\\n}\\n\\nfunction getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) {\\n  var EventConstructor = this;\\n\\n  if (EventConstructor.eventPool.length) {\\n    var instance = EventConstructor.eventPool.pop();\\n    EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);\\n    return instance;\\n  }\\n\\n  return new EventConstructor(dispatchConfig, targetInst, nativeEvent, nativeInst);\\n}\\n\\nfunction releasePooledEvent(event) {\\n  var EventConstructor = this;\\n\\n  if (!(event instanceof EventConstructor)) {\\n    {\\n      throw Error( \\\"Trying to release an event instance into a pool of a different type.\\\" );\\n    }\\n  }\\n\\n  event.destructor();\\n\\n  if (EventConstructor.eventPool.length < EVENT_POOL_SIZE) {\\n    EventConstructor.eventPool.push(event);\\n  }\\n}\\n\\nfunction addEventPoolingTo(EventConstructor) {\\n  EventConstructor.eventPool = [];\\n  EventConstructor.getPooled = getPooledEvent;\\n  EventConstructor.release = releasePooledEvent;\\n}\\n\\n/**\\n * @interface Event\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\\n */\\n\\nvar SyntheticCompositionEvent = SyntheticEvent.extend({\\n  data: null\\n});\\n\\n/**\\n * @interface Event\\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\\n *      /#events-inputevents\\n */\\n\\nvar SyntheticInputEvent = SyntheticEvent.extend({\\n  data: null\\n});\\n\\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\\n\\nvar START_KEYCODE = 229;\\nvar canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;\\nvar documentMode = null;\\n\\nif (canUseDOM && 'documentMode' in document) {\\n  documentMode = document.documentMode;\\n} // Webkit offers a very useful `textInput` event that can be used to\\n// directly represent `beforeInput`. The IE `textinput` event is not as\\n// useful, so we don't use it.\\n\\n\\nvar canUseTextInputEvent = canUseDOM && 'TextEvent' in window && !documentMode; // In IE9+, we have access to composition events, but the data supplied\\n// by the native compositionend event may be incorrect. Japanese ideographic\\n// spaces, for instance (\\\\u3000) are not recorded correctly.\\n\\nvar useFallbackCompositionData = canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\\nvar SPACEBAR_CODE = 32;\\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); // Events and their corresponding property names.\\n\\nvar eventTypes = {\\n  beforeInput: {\\n    phasedRegistrationNames: {\\n      bubbled: 'onBeforeInput',\\n      captured: 'onBeforeInputCapture'\\n    },\\n    dependencies: [TOP_COMPOSITION_END, TOP_KEY_PRESS, TOP_TEXT_INPUT, TOP_PASTE]\\n  },\\n  compositionEnd: {\\n    phasedRegistrationNames: {\\n      bubbled: 'onCompositionEnd',\\n      captured: 'onCompositionEndCapture'\\n    },\\n    dependencies: [TOP_BLUR, TOP_COMPOSITION_END, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]\\n  },\\n  compositionStart: {\\n    phasedRegistrationNames: {\\n      bubbled: 'onCompositionStart',\\n      captured: 'onCompositionStartCapture'\\n    },\\n    dependencies: [TOP_BLUR, TOP_COMPOSITION_START, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]\\n  },\\n  compositionUpdate: {\\n    phasedRegistrationNames: {\\n      bubbled: 'onCompositionUpdate',\\n      captured: 'onCompositionUpdateCapture'\\n    },\\n    dependencies: [TOP_BLUR, TOP_COMPOSITION_UPDATE, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP, TOP_MOUSE_DOWN]\\n  }\\n}; // Track whether we've ever handled a keypress on the space key.\\n\\nvar hasSpaceKeypress = false;\\n/**\\n * Return whether a native keypress event is assumed to be a command.\\n * This is required because Firefox fires `keypress` events for key commands\\n * (cut, copy, select-all, etc.) even though no character is inserted.\\n */\\n\\nfunction isKeypressCommand(nativeEvent) {\\n  return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) && // ctrlKey && altKey is equivalent to AltGr, and is not a command.\\n  !(nativeEvent.ctrlKey && nativeEvent.altKey);\\n}\\n/**\\n * Translate native top level events into event types.\\n *\\n * @param {string} topLevelType\\n * @return {object}\\n */\\n\\n\\nfunction getCompositionEventType(topLevelType) {\\n  switch (topLevelType) {\\n    case TOP_COMPOSITION_START:\\n      return eventTypes.compositionStart;\\n\\n    case TOP_COMPOSITION_END:\\n      return eventTypes.compositionEnd;\\n\\n    case TOP_COMPOSITION_UPDATE:\\n      return eventTypes.compositionUpdate;\\n  }\\n}\\n/**\\n * Does our fallback best-guess model think this event signifies that\\n * composition has begun?\\n *\\n * @param {string} topLevelType\\n * @param {object} nativeEvent\\n * @return {boolean}\\n */\\n\\n\\nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\\n  return topLevelType === TOP_KEY_DOWN && nativeEvent.keyCode === START_KEYCODE;\\n}\\n/**\\n * Does our fallback mode think that this event is the end of composition?\\n *\\n * @param {string} topLevelType\\n * @param {object} nativeEvent\\n * @return {boolean}\\n */\\n\\n\\nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\\n  switch (topLevelType) {\\n    case TOP_KEY_UP:\\n      // Command keys insert or clear IME input.\\n      return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\\n\\n    case TOP_KEY_DOWN:\\n      // Expect IME keyCode on each keydown. If we get any other\\n      // code we must have exited earlier.\\n      return nativeEvent.keyCode !== START_KEYCODE;\\n\\n    case TOP_KEY_PRESS:\\n    case TOP_MOUSE_DOWN:\\n    case TOP_BLUR:\\n      // Events are not possible without cancelling IME.\\n      return true;\\n\\n    default:\\n      return false;\\n  }\\n}\\n/**\\n * Google Input Tools provides composition data via a CustomEvent,\\n * with the `data` property populated in the `detail` object. If this\\n * is available on the event object, use it. If not, this is a plain\\n * composition event and we have nothing special to extract.\\n *\\n * @param {object} nativeEvent\\n * @return {?string}\\n */\\n\\n\\nfunction getDataFromCustomEvent(nativeEvent) {\\n  var detail = nativeEvent.detail;\\n\\n  if (typeof detail === 'object' && 'data' in detail) {\\n    return detail.data;\\n  }\\n\\n  return null;\\n}\\n/**\\n * Check if a composition event was triggered by Korean IME.\\n * Our fallback mode does not work well with IE's Korean IME,\\n * so just use native composition events when Korean IME is used.\\n * Although CompositionEvent.locale property is deprecated,\\n * it is available in IE, where our fallback mode is enabled.\\n *\\n * @param {object} nativeEvent\\n * @return {boolean}\\n */\\n\\n\\nfunction isUsingKoreanIME(nativeEvent) {\\n  return nativeEvent.locale === 'ko';\\n} // Track the current IME composition status, if any.\\n\\n\\nvar isComposing = false;\\n/**\\n * @return {?object} A SyntheticCompositionEvent.\\n */\\n\\nfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\\n  var eventType;\\n  var fallbackData;\\n\\n  if (canUseCompositionEvent) {\\n    eventType = getCompositionEventType(topLevelType);\\n  } else if (!isComposing) {\\n    if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\\n      eventType = eventTypes.compositionStart;\\n    }\\n  } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\\n    eventType = eventTypes.compositionEnd;\\n  }\\n\\n  if (!eventType) {\\n    return null;\\n  }\\n\\n  if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {\\n    // The current composition is stored statically and must not be\\n    // overwritten while composition continues.\\n    if (!isComposing && eventType === eventTypes.compositionStart) {\\n      isComposing = initialize(nativeEventTarget);\\n    } else if (eventType === eventTypes.compositionEnd) {\\n      if (isComposing) {\\n        fallbackData = getData();\\n      }\\n    }\\n  }\\n\\n  var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);\\n\\n  if (fallbackData) {\\n    // Inject data generated from fallback path into the synthetic event.\\n    // This matches the property of native CompositionEventInterface.\\n    event.data = fallbackData;\\n  } else {\\n    var customData = getDataFromCustomEvent(nativeEvent);\\n\\n    if (customData !== null) {\\n      event.data = customData;\\n    }\\n  }\\n\\n  accumulateTwoPhaseDispatches(event);\\n  return event;\\n}\\n/**\\n * @param {TopLevelType} topLevelType Number from `TopLevelType`.\\n * @param {object} nativeEvent Native browser event.\\n * @return {?string} The string corresponding to this `beforeInput` event.\\n */\\n\\n\\nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\\n  switch (topLevelType) {\\n    case TOP_COMPOSITION_END:\\n      return getDataFromCustomEvent(nativeEvent);\\n\\n    case TOP_KEY_PRESS:\\n      /**\\n       * If native `textInput` events are available, our goal is to make\\n       * use of them. However, there is a special case: the spacebar key.\\n       * In Webkit, preventing default on a spacebar `textInput` event\\n       * cancels character insertion, but it *also* causes the browser\\n       * to fall back to its default spacebar behavior of scrolling the\\n       * page.\\n       *\\n       * Tracking at:\\n       * https://code.google.com/p/chromium/issues/detail?id=355103\\n       *\\n       * To avoid this issue, use the keypress event as if no `textInput`\\n       * event is available.\\n       */\\n      var which = nativeEvent.which;\\n\\n      if (which !== SPACEBAR_CODE) {\\n        return null;\\n      }\\n\\n      hasSpaceKeypress = true;\\n      return SPACEBAR_CHAR;\\n\\n    case TOP_TEXT_INPUT:\\n      // Record the characters to be added to the DOM.\\n      var chars = nativeEvent.data; // If it's a spacebar character, assume that we have already handled\\n      // it at the keypress level and bail immediately. Android Chrome\\n      // doesn't give us keycodes, so we need to ignore it.\\n\\n      if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\\n        return null;\\n      }\\n\\n      return chars;\\n\\n    default:\\n      // For other native event types, do nothing.\\n      return null;\\n  }\\n}\\n/**\\n * For browsers that do not provide the `textInput` event, extract the\\n * appropriate string to use for SyntheticInputEvent.\\n *\\n * @param {number} topLevelType Number from `TopLevelEventTypes`.\\n * @param {object} nativeEvent Native browser event.\\n * @return {?string} The fallback string for this `beforeInput` event.\\n */\\n\\n\\nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\\n  // If we are currently composing (IME) and using a fallback to do so,\\n  // try to extract the composed characters from the fallback object.\\n  // If composition event is available, we extract a string only at\\n  // compositionevent, otherwise extract it at fallback events.\\n  if (isComposing) {\\n    if (topLevelType === TOP_COMPOSITION_END || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {\\n      var chars = getData();\\n      reset();\\n      isComposing = false;\\n      return chars;\\n    }\\n\\n    return null;\\n  }\\n\\n  switch (topLevelType) {\\n    case TOP_PASTE:\\n      // If a paste event occurs after a keypress, throw out the input\\n      // chars. Paste events should not lead to BeforeInput events.\\n      return null;\\n\\n    case TOP_KEY_PRESS:\\n      /**\\n       * As of v27, Firefox may fire keypress events even when no character\\n       * will be inserted. A few possibilities:\\n       *\\n       * - `which` is `0`. Arrow keys, Esc key, etc.\\n       *\\n       * - `which` is the pressed key code, but no char is available.\\n       *   Ex: 'AltGr + d` in Polish. There is no modified character for\\n       *   this key combination and no character is inserted into the\\n       *   document, but FF fires the keypress for char code `100` anyway.\\n       *   No `input` event will occur.\\n       *\\n       * - `which` is the pressed key code, but a command combination is\\n       *   being used. Ex: `Cmd+C`. No character is inserted, and no\\n       *   `input` event will occur.\\n       */\\n      if (!isKeypressCommand(nativeEvent)) {\\n        // IE fires the `keypress` event when a user types an emoji via\\n        // Touch keyboard of Windows.  In such a case, the `char` property\\n        // holds an emoji character like `\\\\uD83D\\\\uDE0A`.  Because its length\\n        // is 2, the property `which` does not represent an emoji correctly.\\n        // In such a case, we directly return the `char` property instead of\\n        // using `which`.\\n        if (nativeEvent.char && nativeEvent.char.length > 1) {\\n          return nativeEvent.char;\\n        } else if (nativeEvent.which) {\\n          return String.fromCharCode(nativeEvent.which);\\n        }\\n      }\\n\\n      return null;\\n\\n    case TOP_COMPOSITION_END:\\n      return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;\\n\\n    default:\\n      return null;\\n  }\\n}\\n/**\\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\\n * `textInput` or fallback behavior.\\n *\\n * @return {?object} A SyntheticInputEvent.\\n */\\n\\n\\nfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\\n  var chars;\\n\\n  if (canUseTextInputEvent) {\\n    chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\\n  } else {\\n    chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\\n  } // If no characters are being inserted, no BeforeInput event should\\n  // be fired.\\n\\n\\n  if (!chars) {\\n    return null;\\n  }\\n\\n  var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);\\n  event.data = chars;\\n  accumulateTwoPhaseDispatches(event);\\n  return event;\\n}\\n/**\\n * Create an `onBeforeInput` event to match\\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\\n *\\n * This event plugin is based on the native `textInput` event\\n * available in Chrome, Safari, Opera, and IE. This event fires after\\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\\n *\\n * `beforeInput` is spec'd but not implemented in any browsers, and\\n * the `input` event does not provide any useful information about what has\\n * actually been added, contrary to the spec. Thus, `textInput` is the best\\n * available event to identify the characters that have actually been inserted\\n * into the target node.\\n *\\n * This plugin is also responsible for emitting `composition` events, thus\\n * allowing us to share composition fallback code for both `beforeInput` and\\n * `composition` event types.\\n */\\n\\n\\nvar BeforeInputEventPlugin = {\\n  eventTypes: eventTypes,\\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {\\n    var composition = extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget);\\n    var beforeInput = extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget);\\n\\n    if (composition === null) {\\n      return beforeInput;\\n    }\\n\\n    if (beforeInput === null) {\\n      return composition;\\n    }\\n\\n    return [composition, beforeInput];\\n  }\\n};\\n\\n/**\\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\\n */\\nvar supportedInputTypes = {\\n  color: true,\\n  date: true,\\n  datetime: true,\\n  'datetime-local': true,\\n  email: true,\\n  month: true,\\n  number: true,\\n  password: true,\\n  range: true,\\n  search: true,\\n  tel: true,\\n  text: true,\\n  time: true,\\n  url: true,\\n  week: true\\n};\\n\\nfunction isTextInputElement(elem) {\\n  var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\\n\\n  if (nodeName === 'input') {\\n    return !!supportedInputTypes[elem.type];\\n  }\\n\\n  if (nodeName === 'textarea') {\\n    return true;\\n  }\\n\\n  return false;\\n}\\n\\nvar eventTypes$1 = {\\n  change: {\\n    phasedRegistrationNames: {\\n      bubbled: 'onChange',\\n      captured: 'onChangeCapture'\\n    },\\n    dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE]\\n  }\\n};\\n\\nfunction createAndAccumulateChangeEvent(inst, nativeEvent, target) {\\n  var event = SyntheticEvent.getPooled(eventTypes$1.change, inst, nativeEvent, target);\\n  event.type = 'change'; // Flag this event loop as needing state restore.\\n\\n  enqueueStateRestore(target);\\n  accumulateTwoPhaseDispatches(event);\\n  return event;\\n}\\n/**\\n * For IE shims\\n */\\n\\n\\nvar activeElement = null;\\nvar activeElementInst = null;\\n/**\\n * SECTION: handle `change` event\\n */\\n\\nfunction shouldUseChangeEvent(elem) {\\n  var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\\n  return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\\n}\\n\\nfunction manualDispatchChangeEvent(nativeEvent) {\\n  var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent)); // If change and propertychange bubbled, we'd just bind to it like all the\\n  // other events and have it go through ReactBrowserEventEmitter. Since it\\n  // doesn't, we manually listen for the events and so we have to enqueue and\\n  // process the abstract event manually.\\n  //\\n  // Batching is necessary here in order to ensure that all event handlers run\\n  // before the next rerender (including event handlers attached to ancestor\\n  // elements instead of directly on the input). Without this, controlled\\n  // components don't work properly in conjunction with event bubbling because\\n  // the component is rerendered and the value reverted before all the event\\n  // handlers can run. See https://github.com/facebook/react/issues/708.\\n\\n  batchedUpdates(runEventInBatch, event);\\n}\\n\\nfunction runEventInBatch(event) {\\n  runEventsInBatch(event);\\n}\\n\\nfunction getInstIfValueChanged(targetInst) {\\n  var targetNode = getNodeFromInstance$1(targetInst);\\n\\n  if (updateValueIfChanged(targetNode)) {\\n    return targetInst;\\n  }\\n}\\n\\nfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\\n  if (topLevelType === TOP_CHANGE) {\\n    return targetInst;\\n  }\\n}\\n/**\\n * SECTION: handle `input` event\\n */\\n\\n\\nvar isInputEventSupported = false;\\n\\nif (canUseDOM) {\\n  // IE9 claims to support the input event but fails to trigger it when\\n  // deleting text, so we ignore its input events.\\n  isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\\n}\\n/**\\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\\n * and override the value property so that we can distinguish user events from\\n * value changes in JS.\\n */\\n\\n\\nfunction startWatchingForValueChange(target, targetInst) {\\n  activeElement = target;\\n  activeElementInst = targetInst;\\n  activeElement.attachEvent('onpropertychange', handlePropertyChange);\\n}\\n/**\\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\\n * if any exists.\\n */\\n\\n\\nfunction stopWatchingForValueChange() {\\n  if (!activeElement) {\\n    return;\\n  }\\n\\n  activeElement.detachEvent('onpropertychange', handlePropertyChange);\\n  activeElement = null;\\n  activeElementInst = null;\\n}\\n/**\\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\\n * the value of the active element has changed.\\n */\\n\\n\\nfunction handlePropertyChange(nativeEvent) {\\n  if (nativeEvent.propertyName !== 'value') {\\n    return;\\n  }\\n\\n  if (getInstIfValueChanged(activeElementInst)) {\\n    manualDispatchChangeEvent(nativeEvent);\\n  }\\n}\\n\\nfunction handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {\\n  if (topLevelType === TOP_FOCUS) {\\n    // In IE9, propertychange fires for most input events but is buggy and\\n    // doesn't fire when text is deleted, but conveniently, selectionchange\\n    // appears to fire in all of the remaining cases so we catch those and\\n    // forward the event if the value has changed\\n    // In either case, we don't want to call the event handler if the value\\n    // is changed from JS so we redefine a setter for `.value` that updates\\n    // our activeElementValue variable, allowing us to ignore those changes\\n    //\\n    // stopWatching() should be a noop here but we call it just in case we\\n    // missed a blur event somehow.\\n    stopWatchingForValueChange();\\n    startWatchingForValueChange(target, targetInst);\\n  } else if (topLevelType === TOP_BLUR) {\\n    stopWatchingForValueChange();\\n  }\\n} // For IE8 and IE9.\\n\\n\\nfunction getTargetInstForInputEventPolyfill(topLevelType, targetInst) {\\n  if (topLevelType === TOP_SELECTION_CHANGE || topLevelType === TOP_KEY_UP || topLevelType === TOP_KEY_DOWN) {\\n    // On the selectionchange event, the target is just document which isn't\\n    // helpful for us so just check activeElement instead.\\n    //\\n    // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\\n    // propertychange on the first input event after setting `value` from a\\n    // script and fires only keydown, keypress, keyup. Catching keyup usually\\n    // gets it and catching keydown lets us fire an event for the first\\n    // keystroke if user does a key repeat (it'll be a little delayed: right\\n    // before the second keystroke). Other input methods (e.g., paste) seem to\\n    // fire selectionchange normally.\\n    return getInstIfValueChanged(activeElementInst);\\n  }\\n}\\n/**\\n * SECTION: handle `click` event\\n */\\n\\n\\nfunction shouldUseClickEvent(elem) {\\n  // Use the `click` event to detect changes to checkbox and radio inputs.\\n  // This approach works across all browsers, whereas `change` does not fire\\n  // until `blur` in IE8.\\n  var nodeName = elem.nodeName;\\n  return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\\n}\\n\\nfunction getTargetInstForClickEvent(topLevelType, targetInst) {\\n  if (topLevelType === TOP_CLICK) {\\n    return getInstIfValueChanged(targetInst);\\n  }\\n}\\n\\nfunction getTargetInstForInputOrChangeEvent(topLevelType, targetInst) {\\n  if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) {\\n    return getInstIfValueChanged(targetInst);\\n  }\\n}\\n\\nfunction handleControlledInputBlur(node) {\\n  var state = node._wrapperState;\\n\\n  if (!state || !state.controlled || node.type !== 'number') {\\n    return;\\n  }\\n\\n  {\\n    // If controlled, assign the value attribute to the current value on blur\\n    setDefaultValue(node, 'number', node.value);\\n  }\\n}\\n/**\\n * This plugin creates an `onChange` event that normalizes change events\\n * across form elements. This event fires at a time when it's possible to\\n * change the element's value without seeing a flicker.\\n *\\n * Supported elements are:\\n * - input (see `isTextInputElement`)\\n * - textarea\\n * - select\\n */\\n\\n\\nvar ChangeEventPlugin = {\\n  eventTypes: eventTypes$1,\\n  _isInputEventSupported: isInputEventSupported,\\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {\\n    var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;\\n    var getTargetInstFunc, handleEventFunc;\\n\\n    if (shouldUseChangeEvent(targetNode)) {\\n      getTargetInstFunc = getTargetInstForChangeEvent;\\n    } else if (isTextInputElement(targetNode)) {\\n      if (isInputEventSupported) {\\n        getTargetInstFunc = getTargetInstForInputOrChangeEvent;\\n      } else {\\n        getTargetInstFunc = getTargetInstForInputEventPolyfill;\\n        handleEventFunc = handleEventsForInputEventPolyfill;\\n      }\\n    } else if (shouldUseClickEvent(targetNode)) {\\n      getTargetInstFunc = getTargetInstForClickEvent;\\n    }\\n\\n    if (getTargetInstFunc) {\\n      var inst = getTargetInstFunc(topLevelType, targetInst);\\n\\n      if (inst) {\\n        var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);\\n        return event;\\n      }\\n    }\\n\\n    if (handleEventFunc) {\\n      handleEventFunc(topLevelType, targetNode, targetInst);\\n    } // When blurring, set the value attribute for number inputs\\n\\n\\n    if (topLevelType === TOP_BLUR) {\\n      handleControlledInputBlur(targetNode);\\n    }\\n  }\\n};\\n\\nvar SyntheticUIEvent = SyntheticEvent.extend({\\n  view: null,\\n  detail: null\\n});\\n\\n/**\\n * Translation from modifier key to the associated property in the event.\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\\n */\\nvar modifierKeyToProp = {\\n  Alt: 'altKey',\\n  Control: 'ctrlKey',\\n  Meta: 'metaKey',\\n  Shift: 'shiftKey'\\n}; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support\\n// getModifierState. If getModifierState is not supported, we map it to a set of\\n// modifier keys exposed by the event. In this case, Lock-keys are not supported.\\n\\nfunction modifierStateGetter(keyArg) {\\n  var syntheticEvent = this;\\n  var nativeEvent = syntheticEvent.nativeEvent;\\n\\n  if (nativeEvent.getModifierState) {\\n    return nativeEvent.getModifierState(keyArg);\\n  }\\n\\n  var keyProp = modifierKeyToProp[keyArg];\\n  return keyProp ? !!nativeEvent[keyProp] : false;\\n}\\n\\nfunction getEventModifierState(nativeEvent) {\\n  return modifierStateGetter;\\n}\\n\\nvar previousScreenX = 0;\\nvar previousScreenY = 0; // Use flags to signal movementX/Y has already been set\\n\\nvar isMovementXSet = false;\\nvar isMovementYSet = false;\\n/**\\n * @interface MouseEvent\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\\n */\\n\\nvar SyntheticMouseEvent = SyntheticUIEvent.extend({\\n  screenX: null,\\n  screenY: null,\\n  clientX: null,\\n  clientY: null,\\n  pageX: null,\\n  pageY: null,\\n  ctrlKey: null,\\n  shiftKey: null,\\n  altKey: null,\\n  metaKey: null,\\n  getModifierState: getEventModifierState,\\n  button: null,\\n  buttons: null,\\n  relatedTarget: function (event) {\\n    return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\\n  },\\n  movementX: function (event) {\\n    if ('movementX' in event) {\\n      return event.movementX;\\n    }\\n\\n    var screenX = previousScreenX;\\n    previousScreenX = event.screenX;\\n\\n    if (!isMovementXSet) {\\n      isMovementXSet = true;\\n      return 0;\\n    }\\n\\n    return event.type === 'mousemove' ? event.screenX - screenX : 0;\\n  },\\n  movementY: function (event) {\\n    if ('movementY' in event) {\\n      return event.movementY;\\n    }\\n\\n    var screenY = previousScreenY;\\n    previousScreenY = event.screenY;\\n\\n    if (!isMovementYSet) {\\n      isMovementYSet = true;\\n      return 0;\\n    }\\n\\n    return event.type === 'mousemove' ? event.screenY - screenY : 0;\\n  }\\n});\\n\\n/**\\n * @interface PointerEvent\\n * @see http://www.w3.org/TR/pointerevents/\\n */\\n\\nvar SyntheticPointerEvent = SyntheticMouseEvent.extend({\\n  pointerId: null,\\n  width: null,\\n  height: null,\\n  pressure: null,\\n  tangentialPressure: null,\\n  tiltX: null,\\n  tiltY: null,\\n  twist: null,\\n  pointerType: null,\\n  isPrimary: null\\n});\\n\\nvar eventTypes$2 = {\\n  mouseEnter: {\\n    registrationName: 'onMouseEnter',\\n    dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]\\n  },\\n  mouseLeave: {\\n    registrationName: 'onMouseLeave',\\n    dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]\\n  },\\n  pointerEnter: {\\n    registrationName: 'onPointerEnter',\\n    dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]\\n  },\\n  pointerLeave: {\\n    registrationName: 'onPointerLeave',\\n    dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]\\n  }\\n};\\nvar EnterLeaveEventPlugin = {\\n  eventTypes: eventTypes$2,\\n\\n  /**\\n   * For almost every interaction we care about, there will be both a top-level\\n   * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\\n   * we do not extract duplicate events. However, moving the mouse into the\\n   * browser from outside will not fire a `mouseout` event. In this case, we use\\n   * the `mouseover` top-level event.\\n   */\\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {\\n    var isOverEvent = topLevelType === TOP_MOUSE_OVER || topLevelType === TOP_POINTER_OVER;\\n    var isOutEvent = topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_POINTER_OUT;\\n\\n    if (isOverEvent && (eventSystemFlags & IS_REPLAYED) === 0 && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\\n      // If this is an over event with a target, then we've already dispatched\\n      // the event in the out event of the other target. If this is replayed,\\n      // then it's because we couldn't dispatch against this target previously\\n      // so we have to do it now instead.\\n      return null;\\n    }\\n\\n    if (!isOutEvent && !isOverEvent) {\\n      // Must not be a mouse or pointer in or out - ignoring.\\n      return null;\\n    }\\n\\n    var win;\\n\\n    if (nativeEventTarget.window === nativeEventTarget) {\\n      // `nativeEventTarget` is probably a window object.\\n      win = nativeEventTarget;\\n    } else {\\n      // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\\n      var doc = nativeEventTarget.ownerDocument;\\n\\n      if (doc) {\\n        win = doc.defaultView || doc.parentWindow;\\n      } else {\\n        win = window;\\n      }\\n    }\\n\\n    var from;\\n    var to;\\n\\n    if (isOutEvent) {\\n      from = targetInst;\\n      var related = nativeEvent.relatedTarget || nativeEvent.toElement;\\n      to = related ? getClosestInstanceFromNode(related) : null;\\n\\n      if (to !== null) {\\n        var nearestMounted = getNearestMountedFiber(to);\\n\\n        if (to !== nearestMounted || to.tag !== HostComponent && to.tag !== HostText) {\\n          to = null;\\n        }\\n      }\\n    } else {\\n      // Moving to a node from outside the window.\\n      from = null;\\n      to = targetInst;\\n    }\\n\\n    if (from === to) {\\n      // Nothing pertains to our managed components.\\n      return null;\\n    }\\n\\n    var eventInterface, leaveEventType, enterEventType, eventTypePrefix;\\n\\n    if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) {\\n      eventInterface = SyntheticMouseEvent;\\n      leaveEventType = eventTypes$2.mouseLeave;\\n      enterEventType = eventTypes$2.mouseEnter;\\n      eventTypePrefix = 'mouse';\\n    } else if (topLevelType === TOP_POINTER_OUT || topLevelType === TOP_POINTER_OVER) {\\n      eventInterface = SyntheticPointerEvent;\\n      leaveEventType = eventTypes$2.pointerLeave;\\n      enterEventType = eventTypes$2.pointerEnter;\\n      eventTypePrefix = 'pointer';\\n    }\\n\\n    var fromNode = from == null ? win : getNodeFromInstance$1(from);\\n    var toNode = to == null ? win : getNodeFromInstance$1(to);\\n    var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget);\\n    leave.type = eventTypePrefix + 'leave';\\n    leave.target = fromNode;\\n    leave.relatedTarget = toNode;\\n    var enter = eventInterface.getPooled(enterEventType, to, nativeEvent, nativeEventTarget);\\n    enter.type = eventTypePrefix + 'enter';\\n    enter.target = toNode;\\n    enter.relatedTarget = fromNode;\\n    accumulateEnterLeaveDispatches(leave, enter, from, to); // If we are not processing the first ancestor, then we\\n    // should not process the same nativeEvent again, as we\\n    // will have already processed it in the first ancestor.\\n\\n    if ((eventSystemFlags & IS_FIRST_ANCESTOR) === 0) {\\n      return [leave];\\n    }\\n\\n    return [leave, enter];\\n  }\\n};\\n\\n/**\\n * inlined Object.is polyfill to avoid requiring consumers ship their own\\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\\n */\\nfunction is(x, y) {\\n  return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare\\n  ;\\n}\\n\\nvar objectIs = typeof Object.is === 'function' ? Object.is : is;\\n\\nvar hasOwnProperty$2 = Object.prototype.hasOwnProperty;\\n/**\\n * Performs equality by iterating through keys on an object and returning false\\n * when any key has values which are not strictly equal between the arguments.\\n * Returns true when the values of all keys are strictly equal.\\n */\\n\\nfunction shallowEqual(objA, objB) {\\n  if (objectIs(objA, objB)) {\\n    return true;\\n  }\\n\\n  if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\\n    return false;\\n  }\\n\\n  var keysA = Object.keys(objA);\\n  var keysB = Object.keys(objB);\\n\\n  if (keysA.length !== keysB.length) {\\n    return false;\\n  } // Test for A's keys different from B.\\n\\n\\n  for (var i = 0; i < keysA.length; i++) {\\n    if (!hasOwnProperty$2.call(objB, keysA[i]) || !objectIs(objA[keysA[i]], objB[keysA[i]])) {\\n      return false;\\n    }\\n  }\\n\\n  return true;\\n}\\n\\nvar skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;\\nvar eventTypes$3 = {\\n  select: {\\n    phasedRegistrationNames: {\\n      bubbled: 'onSelect',\\n      captured: 'onSelectCapture'\\n    },\\n    dependencies: [TOP_BLUR, TOP_CONTEXT_MENU, TOP_DRAG_END, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE]\\n  }\\n};\\nvar activeElement$1 = null;\\nvar activeElementInst$1 = null;\\nvar lastSelection = null;\\nvar mouseDown = false;\\n/**\\n * Get an object which is a unique representation of the current selection.\\n *\\n * The return value will not be consistent across nodes or browsers, but\\n * two identical selections on the same node will return identical objects.\\n *\\n * @param {DOMElement} node\\n * @return {object}\\n */\\n\\nfunction getSelection$1(node) {\\n  if ('selectionStart' in node && hasSelectionCapabilities(node)) {\\n    return {\\n      start: node.selectionStart,\\n      end: node.selectionEnd\\n    };\\n  } else {\\n    var win = node.ownerDocument && node.ownerDocument.defaultView || window;\\n    var selection = win.getSelection();\\n    return {\\n      anchorNode: selection.anchorNode,\\n      anchorOffset: selection.anchorOffset,\\n      focusNode: selection.focusNode,\\n      focusOffset: selection.focusOffset\\n    };\\n  }\\n}\\n/**\\n * Get document associated with the event target.\\n *\\n * @param {object} nativeEventTarget\\n * @return {Document}\\n */\\n\\n\\nfunction getEventTargetDocument(eventTarget) {\\n  return eventTarget.window === eventTarget ? eventTarget.document : eventTarget.nodeType === DOCUMENT_NODE ? eventTarget : eventTarget.ownerDocument;\\n}\\n/**\\n * Poll selection to see whether it's changed.\\n *\\n * @param {object} nativeEvent\\n * @param {object} nativeEventTarget\\n * @return {?SyntheticEvent}\\n */\\n\\n\\nfunction constructSelectEvent(nativeEvent, nativeEventTarget) {\\n  // Ensure we have the right element, and that the user is not dragging a\\n  // selection (this matches native `select` event behavior). In HTML5, select\\n  // fires only on input and textarea thus if there's no focused element we\\n  // won't dispatch.\\n  var doc = getEventTargetDocument(nativeEventTarget);\\n\\n  if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {\\n    return null;\\n  } // Only fire when selection has actually changed.\\n\\n\\n  var currentSelection = getSelection$1(activeElement$1);\\n\\n  if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\\n    lastSelection = currentSelection;\\n    var syntheticEvent = SyntheticEvent.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget);\\n    syntheticEvent.type = 'select';\\n    syntheticEvent.target = activeElement$1;\\n    accumulateTwoPhaseDispatches(syntheticEvent);\\n    return syntheticEvent;\\n  }\\n\\n  return null;\\n}\\n/**\\n * This plugin creates an `onSelect` event that normalizes select events\\n * across form elements.\\n *\\n * Supported elements are:\\n * - input (see `isTextInputElement`)\\n * - textarea\\n * - contentEditable\\n *\\n * This differs from native browser implementations in the following ways:\\n * - Fires on contentEditable fields as well as inputs.\\n * - Fires for collapsed selection.\\n * - Fires after user input.\\n */\\n\\n\\nvar SelectEventPlugin = {\\n  eventTypes: eventTypes$3,\\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags, container) {\\n    var containerOrDoc = container || getEventTargetDocument(nativeEventTarget); // Track whether all listeners exists for this plugin. If none exist, we do\\n    // not extract events. See #3639.\\n\\n    if (!containerOrDoc || !isListeningToAllDependencies('onSelect', containerOrDoc)) {\\n      return null;\\n    }\\n\\n    var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;\\n\\n    switch (topLevelType) {\\n      // Track the input node that has focus.\\n      case TOP_FOCUS:\\n        if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\\n          activeElement$1 = targetNode;\\n          activeElementInst$1 = targetInst;\\n          lastSelection = null;\\n        }\\n\\n        break;\\n\\n      case TOP_BLUR:\\n        activeElement$1 = null;\\n        activeElementInst$1 = null;\\n        lastSelection = null;\\n        break;\\n      // Don't fire the event while the user is dragging. This matches the\\n      // semantics of the native select event.\\n\\n      case TOP_MOUSE_DOWN:\\n        mouseDown = true;\\n        break;\\n\\n      case TOP_CONTEXT_MENU:\\n      case TOP_MOUSE_UP:\\n      case TOP_DRAG_END:\\n        mouseDown = false;\\n        return constructSelectEvent(nativeEvent, nativeEventTarget);\\n      // Chrome and IE fire non-standard event when selection is changed (and\\n      // sometimes when it hasn't). IE's event fires out of order with respect\\n      // to key and input events on deletion, so we discard it.\\n      //\\n      // Firefox doesn't support selectionchange, so check selection status\\n      // after each key entry. The selection changes after keydown and before\\n      // keyup, but we check on keydown as well in the case of holding down a\\n      // key, when multiple keydown events are fired but only one keyup is.\\n      // This is also our approach for IE handling, for the reason above.\\n\\n      case TOP_SELECTION_CHANGE:\\n        if (skipSelectionChangeEvent) {\\n          break;\\n        }\\n\\n      // falls through\\n\\n      case TOP_KEY_DOWN:\\n      case TOP_KEY_UP:\\n        return constructSelectEvent(nativeEvent, nativeEventTarget);\\n    }\\n\\n    return null;\\n  }\\n};\\n\\n/**\\n * @interface Event\\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\\n */\\n\\nvar SyntheticAnimationEvent = SyntheticEvent.extend({\\n  animationName: null,\\n  elapsedTime: null,\\n  pseudoElement: null\\n});\\n\\n/**\\n * @interface Event\\n * @see http://www.w3.org/TR/clipboard-apis/\\n */\\n\\nvar SyntheticClipboardEvent = SyntheticEvent.extend({\\n  clipboardData: function (event) {\\n    return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\\n  }\\n});\\n\\n/**\\n * @interface FocusEvent\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\\n */\\n\\nvar SyntheticFocusEvent = SyntheticUIEvent.extend({\\n  relatedTarget: null\\n});\\n\\n/**\\n * `charCode` represents the actual \\\"character code\\\" and is safe to use with\\n * `String.fromCharCode`. As such, only keys that correspond to printable\\n * characters produce a valid `charCode`, the only exception to this is Enter.\\n * The Tab-key is considered non-printable and does not have a `charCode`,\\n * presumably because it does not produce a tab-character in browsers.\\n *\\n * @param {object} nativeEvent Native browser event.\\n * @return {number} Normalized `charCode` property.\\n */\\nfunction getEventCharCode(nativeEvent) {\\n  var charCode;\\n  var keyCode = nativeEvent.keyCode;\\n\\n  if ('charCode' in nativeEvent) {\\n    charCode = nativeEvent.charCode; // FF does not set `charCode` for the Enter-key, check against `keyCode`.\\n\\n    if (charCode === 0 && keyCode === 13) {\\n      charCode = 13;\\n    }\\n  } else {\\n    // IE8 does not implement `charCode`, but `keyCode` has the correct value.\\n    charCode = keyCode;\\n  } // IE and Edge (on Windows) and Chrome / Safari (on Windows and Linux)\\n  // report Enter as charCode 10 when ctrl is pressed.\\n\\n\\n  if (charCode === 10) {\\n    charCode = 13;\\n  } // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\\n  // Must not discard the (non-)printable Enter-key.\\n\\n\\n  if (charCode >= 32 || charCode === 13) {\\n    return charCode;\\n  }\\n\\n  return 0;\\n}\\n\\n/**\\n * Normalization of deprecated HTML5 `key` values\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\\n */\\n\\nvar normalizeKey = {\\n  Esc: 'Escape',\\n  Spacebar: ' ',\\n  Left: 'ArrowLeft',\\n  Up: 'ArrowUp',\\n  Right: 'ArrowRight',\\n  Down: 'ArrowDown',\\n  Del: 'Delete',\\n  Win: 'OS',\\n  Menu: 'ContextMenu',\\n  Apps: 'ContextMenu',\\n  Scroll: 'ScrollLock',\\n  MozPrintableKey: 'Unidentified'\\n};\\n/**\\n * Translation from legacy `keyCode` to HTML5 `key`\\n * Only special keys supported, all others depend on keyboard layout or browser\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\\n */\\n\\nvar translateToKey = {\\n  '8': 'Backspace',\\n  '9': 'Tab',\\n  '12': 'Clear',\\n  '13': 'Enter',\\n  '16': 'Shift',\\n  '17': 'Control',\\n  '18': 'Alt',\\n  '19': 'Pause',\\n  '20': 'CapsLock',\\n  '27': 'Escape',\\n  '32': ' ',\\n  '33': 'PageUp',\\n  '34': 'PageDown',\\n  '35': 'End',\\n  '36': 'Home',\\n  '37': 'ArrowLeft',\\n  '38': 'ArrowUp',\\n  '39': 'ArrowRight',\\n  '40': 'ArrowDown',\\n  '45': 'Insert',\\n  '46': 'Delete',\\n  '112': 'F1',\\n  '113': 'F2',\\n  '114': 'F3',\\n  '115': 'F4',\\n  '116': 'F5',\\n  '117': 'F6',\\n  '118': 'F7',\\n  '119': 'F8',\\n  '120': 'F9',\\n  '121': 'F10',\\n  '122': 'F11',\\n  '123': 'F12',\\n  '144': 'NumLock',\\n  '145': 'ScrollLock',\\n  '224': 'Meta'\\n};\\n/**\\n * @param {object} nativeEvent Native browser event.\\n * @return {string} Normalized `key` property.\\n */\\n\\nfunction getEventKey(nativeEvent) {\\n  if (nativeEvent.key) {\\n    // Normalize inconsistent values reported by browsers due to\\n    // implementations of a working draft specification.\\n    // FireFox implements `key` but returns `MozPrintableKey` for all\\n    // printable characters (normalized to `Unidentified`), ignore it.\\n    var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\\n\\n    if (key !== 'Unidentified') {\\n      return key;\\n    }\\n  } // Browser does not implement `key`, polyfill as much of it as we can.\\n\\n\\n  if (nativeEvent.type === 'keypress') {\\n    var charCode = getEventCharCode(nativeEvent); // The enter-key is technically both printable and non-printable and can\\n    // thus be captured by `keypress`, no other non-printable key should.\\n\\n    return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\\n  }\\n\\n  if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\\n    // While user keyboard layout determines the actual meaning of each\\n    // `keyCode` value, almost all function keys have a universal value.\\n    return translateToKey[nativeEvent.keyCode] || 'Unidentified';\\n  }\\n\\n  return '';\\n}\\n\\n/**\\n * @interface KeyboardEvent\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\\n */\\n\\nvar SyntheticKeyboardEvent = SyntheticUIEvent.extend({\\n  key: getEventKey,\\n  location: null,\\n  ctrlKey: null,\\n  shiftKey: null,\\n  altKey: null,\\n  metaKey: null,\\n  repeat: null,\\n  locale: null,\\n  getModifierState: getEventModifierState,\\n  // Legacy Interface\\n  charCode: function (event) {\\n    // `charCode` is the result of a KeyPress event and represents the value of\\n    // the actual printable character.\\n    // KeyPress is deprecated, but its replacement is not yet final and not\\n    // implemented in any major browser. Only KeyPress has charCode.\\n    if (event.type === 'keypress') {\\n      return getEventCharCode(event);\\n    }\\n\\n    return 0;\\n  },\\n  keyCode: function (event) {\\n    // `keyCode` is the result of a KeyDown/Up event and represents the value of\\n    // physical keyboard key.\\n    // The actual meaning of the value depends on the users' keyboard layout\\n    // which cannot be detected. Assuming that it is a US keyboard layout\\n    // provides a surprisingly accurate mapping for US and European users.\\n    // Due to this, it is left to the user to implement at this time.\\n    if (event.type === 'keydown' || event.type === 'keyup') {\\n      return event.keyCode;\\n    }\\n\\n    return 0;\\n  },\\n  which: function (event) {\\n    // `which` is an alias for either `keyCode` or `charCode` depending on the\\n    // type of the event.\\n    if (event.type === 'keypress') {\\n      return getEventCharCode(event);\\n    }\\n\\n    if (event.type === 'keydown' || event.type === 'keyup') {\\n      return event.keyCode;\\n    }\\n\\n    return 0;\\n  }\\n});\\n\\n/**\\n * @interface DragEvent\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\\n */\\n\\nvar SyntheticDragEvent = SyntheticMouseEvent.extend({\\n  dataTransfer: null\\n});\\n\\n/**\\n * @interface TouchEvent\\n * @see http://www.w3.org/TR/touch-events/\\n */\\n\\nvar SyntheticTouchEvent = SyntheticUIEvent.extend({\\n  touches: null,\\n  targetTouches: null,\\n  changedTouches: null,\\n  altKey: null,\\n  metaKey: null,\\n  ctrlKey: null,\\n  shiftKey: null,\\n  getModifierState: getEventModifierState\\n});\\n\\n/**\\n * @interface Event\\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\\n */\\n\\nvar SyntheticTransitionEvent = SyntheticEvent.extend({\\n  propertyName: null,\\n  elapsedTime: null,\\n  pseudoElement: null\\n});\\n\\n/**\\n * @interface WheelEvent\\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\\n */\\n\\nvar SyntheticWheelEvent = SyntheticMouseEvent.extend({\\n  deltaX: function (event) {\\n    return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\\n    'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\\n  },\\n  deltaY: function (event) {\\n    return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\\n    'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\\n    'wheelDelta' in event ? -event.wheelDelta : 0;\\n  },\\n  deltaZ: null,\\n  // Browsers without \\\"deltaMode\\\" is reporting in raw wheel delta where one\\n  // notch on the scroll is always +/- 120, roughly equivalent to pixels.\\n  // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\\n  // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\\n  deltaMode: null\\n});\\n\\nvar knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_CLOSE, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR, TOP_INPUT, TOP_INVALID, TOP_LOAD, TOP_LOADED_DATA, TOP_LOADED_METADATA, TOP_LOAD_START, TOP_PAUSE, TOP_PLAY, TOP_PLAYING, TOP_PROGRESS, TOP_RATE_CHANGE, TOP_RESET, TOP_SEEKED, TOP_SEEKING, TOP_STALLED, TOP_SUBMIT, TOP_SUSPEND, TOP_TIME_UPDATE, TOP_TOGGLE, TOP_VOLUME_CHANGE, TOP_WAITING];\\nvar SimpleEventPlugin = {\\n  // simpleEventPluginEventTypes gets populated from\\n  // the DOMEventProperties module.\\n  eventTypes: simpleEventPluginEventTypes,\\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget, eventSystemFlags) {\\n    var dispatchConfig = topLevelEventsToDispatchConfig.get(topLevelType);\\n\\n    if (!dispatchConfig) {\\n      return null;\\n    }\\n\\n    var EventConstructor;\\n\\n    switch (topLevelType) {\\n      case TOP_KEY_PRESS:\\n        // Firefox creates a keypress event for function keys too. This removes\\n        // the unwanted keypress events. Enter is however both printable and\\n        // non-printable. One would expect Tab to be as well (but it isn't).\\n        if (getEventCharCode(nativeEvent) === 0) {\\n          return null;\\n        }\\n\\n      /* falls through */\\n\\n      case TOP_KEY_DOWN:\\n      case TOP_KEY_UP:\\n        EventConstructor = SyntheticKeyboardEvent;\\n        break;\\n\\n      case TOP_BLUR:\\n      case TOP_FOCUS:\\n        EventConstructor = SyntheticFocusEvent;\\n        break;\\n\\n      case TOP_CLICK:\\n        // Firefox creates a click event on right mouse clicks. This removes the\\n        // unwanted click events.\\n        if (nativeEvent.button === 2) {\\n          return null;\\n        }\\n\\n      /* falls through */\\n\\n      case TOP_AUX_CLICK:\\n      case TOP_DOUBLE_CLICK:\\n      case TOP_MOUSE_DOWN:\\n      case TOP_MOUSE_MOVE:\\n      case TOP_MOUSE_UP: // TODO: Disabled elements should not respond to mouse events\\n\\n      /* falls through */\\n\\n      case TOP_MOUSE_OUT:\\n      case TOP_MOUSE_OVER:\\n      case TOP_CONTEXT_MENU:\\n        EventConstructor = SyntheticMouseEvent;\\n        break;\\n\\n      case TOP_DRAG:\\n      case TOP_DRAG_END:\\n      case TOP_DRAG_ENTER:\\n      case TOP_DRAG_EXIT:\\n      case TOP_DRAG_LEAVE:\\n      case TOP_DRAG_OVER:\\n      case TOP_DRAG_START:\\n      case TOP_DROP:\\n        EventConstructor = SyntheticDragEvent;\\n        break;\\n\\n      case TOP_TOUCH_CANCEL:\\n      case TOP_TOUCH_END:\\n      case TOP_TOUCH_MOVE:\\n      case TOP_TOUCH_START:\\n        EventConstructor = SyntheticTouchEvent;\\n        break;\\n\\n      case TOP_ANIMATION_END:\\n      case TOP_ANIMATION_ITERATION:\\n      case TOP_ANIMATION_START:\\n        EventConstructor = SyntheticAnimationEvent;\\n        break;\\n\\n      case TOP_TRANSITION_END:\\n        EventConstructor = SyntheticTransitionEvent;\\n        break;\\n\\n      case TOP_SCROLL:\\n        EventConstructor = SyntheticUIEvent;\\n        break;\\n\\n      case TOP_WHEEL:\\n        EventConstructor = SyntheticWheelEvent;\\n        break;\\n\\n      case TOP_COPY:\\n      case TOP_CUT:\\n      case TOP_PASTE:\\n        EventConstructor = SyntheticClipboardEvent;\\n        break;\\n\\n      case TOP_GOT_POINTER_CAPTURE:\\n      case TOP_LOST_POINTER_CAPTURE:\\n      case TOP_POINTER_CANCEL:\\n      case TOP_POINTER_DOWN:\\n      case TOP_POINTER_MOVE:\\n      case TOP_POINTER_OUT:\\n      case TOP_POINTER_OVER:\\n      case TOP_POINTER_UP:\\n        EventConstructor = SyntheticPointerEvent;\\n        break;\\n\\n      default:\\n        {\\n          if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) {\\n            error('SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType);\\n          }\\n        } // HTML Events\\n        // @see http://www.w3.org/TR/html5/index.html#events-0\\n\\n\\n        EventConstructor = SyntheticEvent;\\n        break;\\n    }\\n\\n    var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);\\n    accumulateTwoPhaseDispatches(event);\\n    return event;\\n  }\\n};\\n\\n/**\\n * Specifies a deterministic ordering of `EventPlugin`s. A convenient way to\\n * reason about plugins, without having to package every one of them. This\\n * is better than having plugins be ordered in the same order that they\\n * are injected because that ordering would be influenced by the packaging order.\\n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\\n * preventing default on events is convenient in `SimpleEventPlugin` handlers.\\n */\\n\\nvar DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];\\n/**\\n * Inject modules for resolving DOM hierarchy and plugin ordering.\\n */\\n\\ninjectEventPluginOrder(DOMEventPluginOrder);\\nsetComponentTree(getFiberCurrentPropsFromNode$1, getInstanceFromNode$1, getNodeFromInstance$1);\\n/**\\n * Some important event plugins included by default (without having to require\\n * them).\\n */\\n\\ninjectEventPluginsByName({\\n  SimpleEventPlugin: SimpleEventPlugin,\\n  EnterLeaveEventPlugin: EnterLeaveEventPlugin,\\n  ChangeEventPlugin: ChangeEventPlugin,\\n  SelectEventPlugin: SelectEventPlugin,\\n  BeforeInputEventPlugin: BeforeInputEventPlugin\\n});\\n\\n// Prefix measurements so that it's possible to filter them.\\n// Longer prefixes are hard to read in DevTools.\\nvar reactEmoji = \\\"\\\\u269B\\\";\\nvar warningEmoji = \\\"\\\\u26D4\\\";\\nvar supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; // Keep track of current fiber so that we know the path to unwind on pause.\\n// TODO: this looks the same as nextUnitOfWork in scheduler. Can we unify them?\\n\\nvar currentFiber = null; // If we're in the middle of user code, which fiber and method is it?\\n// Reusing `currentFiber` would be confusing for this because user code fiber\\n// can change during commit phase too, but we don't need to unwind it (since\\n// lifecycles in the commit phase don't resemble a tree).\\n\\nvar currentPhase = null;\\nvar currentPhaseFiber = null; // Did lifecycle hook schedule an update? This is often a performance problem,\\n// so we will keep track of it, and include it in the report.\\n// Track commits caused by cascading updates.\\n\\nvar isCommitting = false;\\nvar hasScheduledUpdateInCurrentCommit = false;\\nvar hasScheduledUpdateInCurrentPhase = false;\\nvar commitCountInCurrentWorkLoop = 0;\\nvar effectCountInCurrentCommit = 0;\\n// to avoid stretch the commit phase with measurement overhead.\\n\\nvar labelsInCurrentCommit = new Set();\\n\\nvar formatMarkName = function (markName) {\\n  return reactEmoji + \\\" \\\" + markName;\\n};\\n\\nvar formatLabel = function (label, warning) {\\n  var prefix = warning ? warningEmoji + \\\" \\\" : reactEmoji + \\\" \\\";\\n  var suffix = warning ? \\\" Warning: \\\" + warning : '';\\n  return \\\"\\\" + prefix + label + suffix;\\n};\\n\\nvar beginMark = function (markName) {\\n  performance.mark(formatMarkName(markName));\\n};\\n\\nvar clearMark = function (markName) {\\n  performance.clearMarks(formatMarkName(markName));\\n};\\n\\nvar endMark = function (label, markName, warning) {\\n  var formattedMarkName = formatMarkName(markName);\\n  var formattedLabel = formatLabel(label, warning);\\n\\n  try {\\n    performance.measure(formattedLabel, formattedMarkName);\\n  } catch (err) {} // If previous mark was missing for some reason, this will throw.\\n  // This could only happen if React crashed in an unexpected place earlier.\\n  // Don't pile on with more errors.\\n  // Clear marks immediately to avoid growing buffer.\\n\\n\\n  performance.clearMarks(formattedMarkName);\\n  performance.clearMeasures(formattedLabel);\\n};\\n\\nvar getFiberMarkName = function (label, debugID) {\\n  return label + \\\" (#\\\" + debugID + \\\")\\\";\\n};\\n\\nvar getFiberLabel = function (componentName, isMounted, phase) {\\n  if (phase === null) {\\n    // These are composite component total time measurements.\\n    return componentName + \\\" [\\\" + (isMounted ? 'update' : 'mount') + \\\"]\\\";\\n  } else {\\n    // Composite component methods.\\n    return componentName + \\\".\\\" + phase;\\n  }\\n};\\n\\nvar beginFiberMark = function (fiber, phase) {\\n  var componentName = getComponentName(fiber.type) || 'Unknown';\\n  var debugID = fiber._debugID;\\n  var isMounted = fiber.alternate !== null;\\n  var label = getFiberLabel(componentName, isMounted, phase);\\n\\n  if (isCommitting && labelsInCurrentCommit.has(label)) {\\n    // During the commit phase, we don't show duplicate labels because\\n    // there is a fixed overhead for every measurement, and we don't\\n    // want to stretch the commit phase beyond necessary.\\n    return false;\\n  }\\n\\n  labelsInCurrentCommit.add(label);\\n  var markName = getFiberMarkName(label, debugID);\\n  beginMark(markName);\\n  return true;\\n};\\n\\nvar clearFiberMark = function (fiber, phase) {\\n  var componentName = getComponentName(fiber.type) || 'Unknown';\\n  var debugID = fiber._debugID;\\n  var isMounted = fiber.alternate !== null;\\n  var label = getFiberLabel(componentName, isMounted, phase);\\n  var markName = getFiberMarkName(label, debugID);\\n  clearMark(markName);\\n};\\n\\nvar endFiberMark = function (fiber, phase, warning) {\\n  var componentName = getComponentName(fiber.type) || 'Unknown';\\n  var debugID = fiber._debugID;\\n  var isMounted = fiber.alternate !== null;\\n  var label = getFiberLabel(componentName, isMounted, phase);\\n  var markName = getFiberMarkName(label, debugID);\\n  endMark(label, markName, warning);\\n};\\n\\nvar shouldIgnoreFiber = function (fiber) {\\n  // Host components should be skipped in the timeline.\\n  // We could check typeof fiber.type, but does this work with RN?\\n  switch (fiber.tag) {\\n    case HostRoot:\\n    case HostComponent:\\n    case HostText:\\n    case HostPortal:\\n    case Fragment:\\n    case ContextProvider:\\n    case ContextConsumer:\\n    case Mode:\\n      return true;\\n\\n    default:\\n      return false;\\n  }\\n};\\n\\nvar clearPendingPhaseMeasurement = function () {\\n  if (currentPhase !== null && currentPhaseFiber !== null) {\\n    clearFiberMark(currentPhaseFiber, currentPhase);\\n  }\\n\\n  currentPhaseFiber = null;\\n  currentPhase = null;\\n  hasScheduledUpdateInCurrentPhase = false;\\n};\\n\\nvar pauseTimers = function () {\\n  // Stops all currently active measurements so that they can be resumed\\n  // if we continue in a later deferred loop from the same unit of work.\\n  var fiber = currentFiber;\\n\\n  while (fiber) {\\n    if (fiber._debugIsCurrentlyTiming) {\\n      endFiberMark(fiber, null, null);\\n    }\\n\\n    fiber = fiber.return;\\n  }\\n};\\n\\nvar resumeTimersRecursively = function (fiber) {\\n  if (fiber.return !== null) {\\n    resumeTimersRecursively(fiber.return);\\n  }\\n\\n  if (fiber._debugIsCurrentlyTiming) {\\n    beginFiberMark(fiber, null);\\n  }\\n};\\n\\nvar resumeTimers = function () {\\n  // Resumes all measurements that were active during the last deferred loop.\\n  if (currentFiber !== null) {\\n    resumeTimersRecursively(currentFiber);\\n  }\\n};\\n\\nfunction recordEffect() {\\n  {\\n    effectCountInCurrentCommit++;\\n  }\\n}\\nfunction recordScheduleUpdate() {\\n  {\\n    if (isCommitting) {\\n      hasScheduledUpdateInCurrentCommit = true;\\n    }\\n\\n    if (currentPhase !== null && currentPhase !== 'componentWillMount' && currentPhase !== 'componentWillReceiveProps') {\\n      hasScheduledUpdateInCurrentPhase = true;\\n    }\\n  }\\n}\\nfunction startWorkTimer(fiber) {\\n  {\\n    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {\\n      return;\\n    } // If we pause, this is the fiber to unwind from.\\n\\n\\n    currentFiber = fiber;\\n\\n    if (!beginFiberMark(fiber, null)) {\\n      return;\\n    }\\n\\n    fiber._debugIsCurrentlyTiming = true;\\n  }\\n}\\nfunction cancelWorkTimer(fiber) {\\n  {\\n    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {\\n      return;\\n    } // Remember we shouldn't complete measurement for this fiber.\\n    // Otherwise flamechart will be deep even for small updates.\\n\\n\\n    fiber._debugIsCurrentlyTiming = false;\\n    clearFiberMark(fiber, null);\\n  }\\n}\\nfunction stopWorkTimer(fiber) {\\n  {\\n    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {\\n      return;\\n    } // If we pause, its parent is the fiber to unwind from.\\n\\n\\n    currentFiber = fiber.return;\\n\\n    if (!fiber._debugIsCurrentlyTiming) {\\n      return;\\n    }\\n\\n    fiber._debugIsCurrentlyTiming = false;\\n    endFiberMark(fiber, null, null);\\n  }\\n}\\nfunction stopFailedWorkTimer(fiber) {\\n  {\\n    if (!supportsUserTiming || shouldIgnoreFiber(fiber)) {\\n      return;\\n    } // If we pause, its parent is the fiber to unwind from.\\n\\n\\n    currentFiber = fiber.return;\\n\\n    if (!fiber._debugIsCurrentlyTiming) {\\n      return;\\n    }\\n\\n    fiber._debugIsCurrentlyTiming = false;\\n    var warning = fiber.tag === SuspenseComponent ? 'Rendering was suspended' : 'An error was thrown inside this error boundary';\\n    endFiberMark(fiber, null, warning);\\n  }\\n}\\nfunction startPhaseTimer(fiber, phase) {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    clearPendingPhaseMeasurement();\\n\\n    if (!beginFiberMark(fiber, phase)) {\\n      return;\\n    }\\n\\n    currentPhaseFiber = fiber;\\n    currentPhase = phase;\\n  }\\n}\\nfunction stopPhaseTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    if (currentPhase !== null && currentPhaseFiber !== null) {\\n      var warning = hasScheduledUpdateInCurrentPhase ? 'Scheduled a cascading update' : null;\\n      endFiberMark(currentPhaseFiber, currentPhase, warning);\\n    }\\n\\n    currentPhase = null;\\n    currentPhaseFiber = null;\\n  }\\n}\\nfunction startWorkLoopTimer(nextUnitOfWork) {\\n  {\\n    currentFiber = nextUnitOfWork;\\n\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    commitCountInCurrentWorkLoop = 0; // This is top level call.\\n    // Any other measurements are performed within.\\n\\n    beginMark('(React Tree Reconciliation)'); // Resume any measurements that were in progress during the last loop.\\n\\n    resumeTimers();\\n  }\\n}\\nfunction stopWorkLoopTimer(interruptedBy, didCompleteRoot) {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    var warning = null;\\n\\n    if (interruptedBy !== null) {\\n      if (interruptedBy.tag === HostRoot) {\\n        warning = 'A top-level update interrupted the previous render';\\n      } else {\\n        var componentName = getComponentName(interruptedBy.type) || 'Unknown';\\n        warning = \\\"An update to \\\" + componentName + \\\" interrupted the previous render\\\";\\n      }\\n    } else if (commitCountInCurrentWorkLoop > 1) {\\n      warning = 'There were cascading updates';\\n    }\\n\\n    commitCountInCurrentWorkLoop = 0;\\n    var label = didCompleteRoot ? '(React Tree Reconciliation: Completed Root)' : '(React Tree Reconciliation: Yielded)'; // Pause any measurements until the next loop.\\n\\n    pauseTimers();\\n    endMark(label, '(React Tree Reconciliation)', warning);\\n  }\\n}\\nfunction startCommitTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    isCommitting = true;\\n    hasScheduledUpdateInCurrentCommit = false;\\n    labelsInCurrentCommit.clear();\\n    beginMark('(Committing Changes)');\\n  }\\n}\\nfunction stopCommitTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    var warning = null;\\n\\n    if (hasScheduledUpdateInCurrentCommit) {\\n      warning = 'Lifecycle hook scheduled a cascading update';\\n    } else if (commitCountInCurrentWorkLoop > 0) {\\n      warning = 'Caused by a cascading update in earlier commit';\\n    }\\n\\n    hasScheduledUpdateInCurrentCommit = false;\\n    commitCountInCurrentWorkLoop++;\\n    isCommitting = false;\\n    labelsInCurrentCommit.clear();\\n    endMark('(Committing Changes)', '(Committing Changes)', warning);\\n  }\\n}\\nfunction startCommitSnapshotEffectsTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    effectCountInCurrentCommit = 0;\\n    beginMark('(Committing Snapshot Effects)');\\n  }\\n}\\nfunction stopCommitSnapshotEffectsTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    var count = effectCountInCurrentCommit;\\n    effectCountInCurrentCommit = 0;\\n    endMark(\\\"(Committing Snapshot Effects: \\\" + count + \\\" Total)\\\", '(Committing Snapshot Effects)', null);\\n  }\\n}\\nfunction startCommitHostEffectsTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    effectCountInCurrentCommit = 0;\\n    beginMark('(Committing Host Effects)');\\n  }\\n}\\nfunction stopCommitHostEffectsTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    var count = effectCountInCurrentCommit;\\n    effectCountInCurrentCommit = 0;\\n    endMark(\\\"(Committing Host Effects: \\\" + count + \\\" Total)\\\", '(Committing Host Effects)', null);\\n  }\\n}\\nfunction startCommitLifeCyclesTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    effectCountInCurrentCommit = 0;\\n    beginMark('(Calling Lifecycle Methods)');\\n  }\\n}\\nfunction stopCommitLifeCyclesTimer() {\\n  {\\n    if (!supportsUserTiming) {\\n      return;\\n    }\\n\\n    var count = effectCountInCurrentCommit;\\n    effectCountInCurrentCommit = 0;\\n    endMark(\\\"(Calling Lifecycle Methods: \\\" + count + \\\" Total)\\\", '(Calling Lifecycle Methods)', null);\\n  }\\n}\\n\\nvar valueStack = [];\\nvar fiberStack;\\n\\n{\\n  fiberStack = [];\\n}\\n\\nvar index = -1;\\n\\nfunction createCursor(defaultValue) {\\n  return {\\n    current: defaultValue\\n  };\\n}\\n\\nfunction pop(cursor, fiber) {\\n  if (index < 0) {\\n    {\\n      error('Unexpected pop.');\\n    }\\n\\n    return;\\n  }\\n\\n  {\\n    if (fiber !== fiberStack[index]) {\\n      error('Unexpected Fiber popped.');\\n    }\\n  }\\n\\n  cursor.current = valueStack[index];\\n  valueStack[index] = null;\\n\\n  {\\n    fiberStack[index] = null;\\n  }\\n\\n  index--;\\n}\\n\\nfunction push(cursor, value, fiber) {\\n  index++;\\n  valueStack[index] = cursor.current;\\n\\n  {\\n    fiberStack[index] = fiber;\\n  }\\n\\n  cursor.current = value;\\n}\\n\\nvar warnedAboutMissingGetChildContext;\\n\\n{\\n  warnedAboutMissingGetChildContext = {};\\n}\\n\\nvar emptyContextObject = {};\\n\\n{\\n  Object.freeze(emptyContextObject);\\n} // A cursor to the current merged context object on the stack.\\n\\n\\nvar contextStackCursor = createCursor(emptyContextObject); // A cursor to a boolean indicating whether the context has changed.\\n\\nvar didPerformWorkStackCursor = createCursor(false); // Keep track of the previous context object that was on the stack.\\n// We use this to get access to the parent context after we have already\\n// pushed the next context provider, and now need to merge their contexts.\\n\\nvar previousContext = emptyContextObject;\\n\\nfunction getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) {\\n  {\\n    if (didPushOwnContextIfProvider && isContextProvider(Component)) {\\n      // If the fiber is a context provider itself, when we read its context\\n      // we may have already pushed its own child context on the stack. A context\\n      // provider should not \\\"see\\\" its own child context. Therefore we read the\\n      // previous (parent) context instead for a context provider.\\n      return previousContext;\\n    }\\n\\n    return contextStackCursor.current;\\n  }\\n}\\n\\nfunction cacheContext(workInProgress, unmaskedContext, maskedContext) {\\n  {\\n    var instance = workInProgress.stateNode;\\n    instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext;\\n    instance.__reactInternalMemoizedMaskedChildContext = maskedContext;\\n  }\\n}\\n\\nfunction getMaskedContext(workInProgress, unmaskedContext) {\\n  {\\n    var type = workInProgress.type;\\n    var contextTypes = type.contextTypes;\\n\\n    if (!contextTypes) {\\n      return emptyContextObject;\\n    } // Avoid recreating masked context unless unmasked context has changed.\\n    // Failing to do this will result in unnecessary calls to componentWillReceiveProps.\\n    // This may trigger infinite loops if componentWillReceiveProps calls setState.\\n\\n\\n    var instance = workInProgress.stateNode;\\n\\n    if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) {\\n      return instance.__reactInternalMemoizedMaskedChildContext;\\n    }\\n\\n    var context = {};\\n\\n    for (var key in contextTypes) {\\n      context[key] = unmaskedContext[key];\\n    }\\n\\n    {\\n      var name = getComponentName(type) || 'Unknown';\\n      checkPropTypes(contextTypes, context, 'context', name, getCurrentFiberStackInDev);\\n    } // Cache unmasked context so we can avoid recreating masked context unless necessary.\\n    // Context is created before the class component is instantiated so check for instance.\\n\\n\\n    if (instance) {\\n      cacheContext(workInProgress, unmaskedContext, context);\\n    }\\n\\n    return context;\\n  }\\n}\\n\\nfunction hasContextChanged() {\\n  {\\n    return didPerformWorkStackCursor.current;\\n  }\\n}\\n\\nfunction isContextProvider(type) {\\n  {\\n    var childContextTypes = type.childContextTypes;\\n    return childContextTypes !== null && childContextTypes !== undefined;\\n  }\\n}\\n\\nfunction popContext(fiber) {\\n  {\\n    pop(didPerformWorkStackCursor, fiber);\\n    pop(contextStackCursor, fiber);\\n  }\\n}\\n\\nfunction popTopLevelContextObject(fiber) {\\n  {\\n    pop(didPerformWorkStackCursor, fiber);\\n    pop(contextStackCursor, fiber);\\n  }\\n}\\n\\nfunction pushTopLevelContextObject(fiber, context, didChange) {\\n  {\\n    if (!(contextStackCursor.current === emptyContextObject)) {\\n      {\\n        throw Error( \\\"Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n\\n    push(contextStackCursor, context, fiber);\\n    push(didPerformWorkStackCursor, didChange, fiber);\\n  }\\n}\\n\\nfunction processChildContext(fiber, type, parentContext) {\\n  {\\n    var instance = fiber.stateNode;\\n    var childContextTypes = type.childContextTypes; // TODO (bvaughn) Replace this behavior with an invariant() in the future.\\n    // It has only been added in Fiber to match the (unintentional) behavior in Stack.\\n\\n    if (typeof instance.getChildContext !== 'function') {\\n      {\\n        var componentName = getComponentName(type) || 'Unknown';\\n\\n        if (!warnedAboutMissingGetChildContext[componentName]) {\\n          warnedAboutMissingGetChildContext[componentName] = true;\\n\\n          error('%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName);\\n        }\\n      }\\n\\n      return parentContext;\\n    }\\n\\n    var childContext;\\n    startPhaseTimer(fiber, 'getChildContext');\\n    childContext = instance.getChildContext();\\n    stopPhaseTimer();\\n\\n    for (var contextKey in childContext) {\\n      if (!(contextKey in childContextTypes)) {\\n        {\\n          throw Error( (getComponentName(type) || 'Unknown') + \\\".getChildContext(): key \\\\\\\"\\\" + contextKey + \\\"\\\\\\\" is not defined in childContextTypes.\\\" );\\n        }\\n      }\\n    }\\n\\n    {\\n      var name = getComponentName(type) || 'Unknown';\\n      checkPropTypes(childContextTypes, childContext, 'child context', name, // In practice, there is one case in which we won't get a stack. It's when\\n      // somebody calls unstable_renderSubtreeIntoContainer() and we process\\n      // context from the parent component instance. The stack will be missing\\n      // because it's outside of the reconciliation, and so the pointer has not\\n      // been set. This is rare and doesn't matter. We'll also remove that API.\\n      getCurrentFiberStackInDev);\\n    }\\n\\n    return _assign({}, parentContext, {}, childContext);\\n  }\\n}\\n\\nfunction pushContextProvider(workInProgress) {\\n  {\\n    var instance = workInProgress.stateNode; // We push the context as early as possible to ensure stack integrity.\\n    // If the instance does not exist yet, we will push null at first,\\n    // and replace it on the stack later when invalidating the context.\\n\\n    var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; // Remember the parent context so we can merge with it later.\\n    // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates.\\n\\n    previousContext = contextStackCursor.current;\\n    push(contextStackCursor, memoizedMergedChildContext, workInProgress);\\n    push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress);\\n    return true;\\n  }\\n}\\n\\nfunction invalidateContextProvider(workInProgress, type, didChange) {\\n  {\\n    var instance = workInProgress.stateNode;\\n\\n    if (!instance) {\\n      {\\n        throw Error( \\\"Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n\\n    if (didChange) {\\n      // Merge parent and own context.\\n      // Skip this if we're not updating due to sCU.\\n      // This avoids unnecessarily recomputing memoized values.\\n      var mergedContext = processChildContext(workInProgress, type, previousContext);\\n      instance.__reactInternalMemoizedMergedChildContext = mergedContext; // Replace the old (or empty) context with the new one.\\n      // It is important to unwind the context in the reverse order.\\n\\n      pop(didPerformWorkStackCursor, workInProgress);\\n      pop(contextStackCursor, workInProgress); // Now push the new context and mark that it has changed.\\n\\n      push(contextStackCursor, mergedContext, workInProgress);\\n      push(didPerformWorkStackCursor, didChange, workInProgress);\\n    } else {\\n      pop(didPerformWorkStackCursor, workInProgress);\\n      push(didPerformWorkStackCursor, didChange, workInProgress);\\n    }\\n  }\\n}\\n\\nfunction findCurrentUnmaskedContext(fiber) {\\n  {\\n    // Currently this is only used with renderSubtreeIntoContainer; not sure if it\\n    // makes sense elsewhere\\n    if (!(isFiberMounted(fiber) && fiber.tag === ClassComponent)) {\\n      {\\n        throw Error( \\\"Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n\\n    var node = fiber;\\n\\n    do {\\n      switch (node.tag) {\\n        case HostRoot:\\n          return node.stateNode.context;\\n\\n        case ClassComponent:\\n          {\\n            var Component = node.type;\\n\\n            if (isContextProvider(Component)) {\\n              return node.stateNode.__reactInternalMemoizedMergedChildContext;\\n            }\\n\\n            break;\\n          }\\n      }\\n\\n      node = node.return;\\n    } while (node !== null);\\n\\n    {\\n      {\\n        throw Error( \\\"Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n  }\\n}\\n\\nvar LegacyRoot = 0;\\nvar BlockingRoot = 1;\\nvar ConcurrentRoot = 2;\\n\\nvar Scheduler_runWithPriority = Scheduler.unstable_runWithPriority,\\n    Scheduler_scheduleCallback = Scheduler.unstable_scheduleCallback,\\n    Scheduler_cancelCallback = Scheduler.unstable_cancelCallback,\\n    Scheduler_shouldYield = Scheduler.unstable_shouldYield,\\n    Scheduler_requestPaint = Scheduler.unstable_requestPaint,\\n    Scheduler_now = Scheduler.unstable_now,\\n    Scheduler_getCurrentPriorityLevel = Scheduler.unstable_getCurrentPriorityLevel,\\n    Scheduler_ImmediatePriority = Scheduler.unstable_ImmediatePriority,\\n    Scheduler_UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\\n    Scheduler_NormalPriority = Scheduler.unstable_NormalPriority,\\n    Scheduler_LowPriority = Scheduler.unstable_LowPriority,\\n    Scheduler_IdlePriority = Scheduler.unstable_IdlePriority;\\n\\n{\\n  // Provide explicit error message when production+profiling bundle of e.g.\\n  // react-dom is used with production (non-profiling) bundle of\\n  // scheduler/tracing\\n  if (!(tracing.__interactionsRef != null && tracing.__interactionsRef.current != null)) {\\n    {\\n      throw Error( \\\"It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling\\\" );\\n    }\\n  }\\n}\\n\\nvar fakeCallbackNode = {}; // Except for NoPriority, these correspond to Scheduler priorities. We use\\n// ascending numbers so we can compare them like numbers. They start at 90 to\\n// avoid clashing with Scheduler's priorities.\\n\\nvar ImmediatePriority = 99;\\nvar UserBlockingPriority$1 = 98;\\nvar NormalPriority = 97;\\nvar LowPriority = 96;\\nvar IdlePriority = 95; // NoPriority is the absence of priority. Also React-only.\\n\\nvar NoPriority = 90;\\nvar shouldYield = Scheduler_shouldYield;\\nvar requestPaint = // Fall back gracefully if we're running an older version of Scheduler.\\nScheduler_requestPaint !== undefined ? Scheduler_requestPaint : function () {};\\nvar syncQueue = null;\\nvar immediateQueueCallbackNode = null;\\nvar isFlushingSyncQueue = false;\\nvar initialTimeMs = Scheduler_now(); // If the initial timestamp is reasonably small, use Scheduler's `now` directly.\\n// This will be the case for modern browsers that support `performance.now`. In\\n// older browsers, Scheduler falls back to `Date.now`, which returns a Unix\\n// timestamp. In that case, subtract the module initialization time to simulate\\n// the behavior of performance.now and keep our times small enough to fit\\n// within 32 bits.\\n// TODO: Consider lifting this into Scheduler.\\n\\nvar now = initialTimeMs < 10000 ? Scheduler_now : function () {\\n  return Scheduler_now() - initialTimeMs;\\n};\\nfunction getCurrentPriorityLevel() {\\n  switch (Scheduler_getCurrentPriorityLevel()) {\\n    case Scheduler_ImmediatePriority:\\n      return ImmediatePriority;\\n\\n    case Scheduler_UserBlockingPriority:\\n      return UserBlockingPriority$1;\\n\\n    case Scheduler_NormalPriority:\\n      return NormalPriority;\\n\\n    case Scheduler_LowPriority:\\n      return LowPriority;\\n\\n    case Scheduler_IdlePriority:\\n      return IdlePriority;\\n\\n    default:\\n      {\\n        {\\n          throw Error( \\\"Unknown priority level.\\\" );\\n        }\\n      }\\n\\n  }\\n}\\n\\nfunction reactPriorityToSchedulerPriority(reactPriorityLevel) {\\n  switch (reactPriorityLevel) {\\n    case ImmediatePriority:\\n      return Scheduler_ImmediatePriority;\\n\\n    case UserBlockingPriority$1:\\n      return Scheduler_UserBlockingPriority;\\n\\n    case NormalPriority:\\n      return Scheduler_NormalPriority;\\n\\n    case LowPriority:\\n      return Scheduler_LowPriority;\\n\\n    case IdlePriority:\\n      return Scheduler_IdlePriority;\\n\\n    default:\\n      {\\n        {\\n          throw Error( \\\"Unknown priority level.\\\" );\\n        }\\n      }\\n\\n  }\\n}\\n\\nfunction runWithPriority$1(reactPriorityLevel, fn) {\\n  var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel);\\n  return Scheduler_runWithPriority(priorityLevel, fn);\\n}\\nfunction scheduleCallback(reactPriorityLevel, callback, options) {\\n  var priorityLevel = reactPriorityToSchedulerPriority(reactPriorityLevel);\\n  return Scheduler_scheduleCallback(priorityLevel, callback, options);\\n}\\nfunction scheduleSyncCallback(callback) {\\n  // Push this callback into an internal queue. We'll flush these either in\\n  // the next tick, or earlier if something calls `flushSyncCallbackQueue`.\\n  if (syncQueue === null) {\\n    syncQueue = [callback]; // Flush the queue in the next tick, at the earliest.\\n\\n    immediateQueueCallbackNode = Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueueImpl);\\n  } else {\\n    // Push onto existing queue. Don't need to schedule a callback because\\n    // we already scheduled one when we created the queue.\\n    syncQueue.push(callback);\\n  }\\n\\n  return fakeCallbackNode;\\n}\\nfunction cancelCallback(callbackNode) {\\n  if (callbackNode !== fakeCallbackNode) {\\n    Scheduler_cancelCallback(callbackNode);\\n  }\\n}\\nfunction flushSyncCallbackQueue() {\\n  if (immediateQueueCallbackNode !== null) {\\n    var node = immediateQueueCallbackNode;\\n    immediateQueueCallbackNode = null;\\n    Scheduler_cancelCallback(node);\\n  }\\n\\n  flushSyncCallbackQueueImpl();\\n}\\n\\nfunction flushSyncCallbackQueueImpl() {\\n  if (!isFlushingSyncQueue && syncQueue !== null) {\\n    // Prevent re-entrancy.\\n    isFlushingSyncQueue = true;\\n    var i = 0;\\n\\n    try {\\n      var _isSync = true;\\n      var queue = syncQueue;\\n      runWithPriority$1(ImmediatePriority, function () {\\n        for (; i < queue.length; i++) {\\n          var callback = queue[i];\\n\\n          do {\\n            callback = callback(_isSync);\\n          } while (callback !== null);\\n        }\\n      });\\n      syncQueue = null;\\n    } catch (error) {\\n      // If something throws, leave the remaining callbacks on the queue.\\n      if (syncQueue !== null) {\\n        syncQueue = syncQueue.slice(i + 1);\\n      } // Resume flushing in the next tick\\n\\n\\n      Scheduler_scheduleCallback(Scheduler_ImmediatePriority, flushSyncCallbackQueue);\\n      throw error;\\n    } finally {\\n      isFlushingSyncQueue = false;\\n    }\\n  }\\n}\\n\\nvar NoMode = 0;\\nvar StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root\\n// tag instead\\n\\nvar BlockingMode = 2;\\nvar ConcurrentMode = 4;\\nvar ProfileMode = 8;\\n\\n// Max 31 bit integer. The max integer size in V8 for 32-bit systems.\\n// Math.pow(2, 30) - 1\\n// 0b111111111111111111111111111111\\nvar MAX_SIGNED_31_BIT_INT = 1073741823;\\n\\nvar NoWork = 0; // TODO: Think of a better name for Never. The key difference with Idle is that\\n// Never work can be committed in an inconsistent state without tearing the UI.\\n// The main example is offscreen content, like a hidden subtree. So one possible\\n// name is Offscreen. However, it also includes dehydrated Suspense boundaries,\\n// which are inconsistent in the sense that they haven't finished yet, but\\n// aren't visibly inconsistent because the server rendered HTML matches what the\\n// hydrated tree would look like.\\n\\nvar Never = 1; // Idle is slightly higher priority than Never. It must completely finish in\\n// order to be consistent.\\n\\nvar Idle = 2; // Continuous Hydration is slightly higher than Idle and is used to increase\\n// priority of hover targets.\\n\\nvar ContinuousHydration = 3;\\nvar Sync = MAX_SIGNED_31_BIT_INT;\\nvar Batched = Sync - 1;\\nvar UNIT_SIZE = 10;\\nvar MAGIC_NUMBER_OFFSET = Batched - 1; // 1 unit of expiration time represents 10ms.\\n\\nfunction msToExpirationTime(ms) {\\n  // Always subtract from the offset so that we don't clash with the magic number for NoWork.\\n  return MAGIC_NUMBER_OFFSET - (ms / UNIT_SIZE | 0);\\n}\\nfunction expirationTimeToMs(expirationTime) {\\n  return (MAGIC_NUMBER_OFFSET - expirationTime) * UNIT_SIZE;\\n}\\n\\nfunction ceiling(num, precision) {\\n  return ((num / precision | 0) + 1) * precision;\\n}\\n\\nfunction computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) {\\n  return MAGIC_NUMBER_OFFSET - ceiling(MAGIC_NUMBER_OFFSET - currentTime + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE);\\n} // TODO: This corresponds to Scheduler's NormalPriority, not LowPriority. Update\\n// the names to reflect.\\n\\n\\nvar LOW_PRIORITY_EXPIRATION = 5000;\\nvar LOW_PRIORITY_BATCH_SIZE = 250;\\nfunction computeAsyncExpiration(currentTime) {\\n  return computeExpirationBucket(currentTime, LOW_PRIORITY_EXPIRATION, LOW_PRIORITY_BATCH_SIZE);\\n}\\nfunction computeSuspenseExpiration(currentTime, timeoutMs) {\\n  // TODO: Should we warn if timeoutMs is lower than the normal pri expiration time?\\n  return computeExpirationBucket(currentTime, timeoutMs, LOW_PRIORITY_BATCH_SIZE);\\n} // We intentionally set a higher expiration time for interactive updates in\\n// dev than in production.\\n//\\n// If the main thread is being blocked so long that you hit the expiration,\\n// it's a problem that could be solved with better scheduling.\\n//\\n// People will be more likely to notice this and fix it with the long\\n// expiration time in development.\\n//\\n// In production we opt for better UX at the risk of masking scheduling\\n// problems, by expiring fast.\\n\\nvar HIGH_PRIORITY_EXPIRATION =  500 ;\\nvar HIGH_PRIORITY_BATCH_SIZE = 100;\\nfunction computeInteractiveExpiration(currentTime) {\\n  return computeExpirationBucket(currentTime, HIGH_PRIORITY_EXPIRATION, HIGH_PRIORITY_BATCH_SIZE);\\n}\\nfunction inferPriorityFromExpirationTime(currentTime, expirationTime) {\\n  if (expirationTime === Sync) {\\n    return ImmediatePriority;\\n  }\\n\\n  if (expirationTime === Never || expirationTime === Idle) {\\n    return IdlePriority;\\n  }\\n\\n  var msUntil = expirationTimeToMs(expirationTime) - expirationTimeToMs(currentTime);\\n\\n  if (msUntil <= 0) {\\n    return ImmediatePriority;\\n  }\\n\\n  if (msUntil <= HIGH_PRIORITY_EXPIRATION + HIGH_PRIORITY_BATCH_SIZE) {\\n    return UserBlockingPriority$1;\\n  }\\n\\n  if (msUntil <= LOW_PRIORITY_EXPIRATION + LOW_PRIORITY_BATCH_SIZE) {\\n    return NormalPriority;\\n  } // TODO: Handle LowPriority\\n  // Assume anything lower has idle priority\\n\\n\\n  return IdlePriority;\\n}\\n\\nvar ReactStrictModeWarnings = {\\n  recordUnsafeLifecycleWarnings: function (fiber, instance) {},\\n  flushPendingUnsafeLifecycleWarnings: function () {},\\n  recordLegacyContextWarning: function (fiber, instance) {},\\n  flushLegacyContextWarning: function () {},\\n  discardPendingWarnings: function () {}\\n};\\n\\n{\\n  var findStrictRoot = function (fiber) {\\n    var maybeStrictRoot = null;\\n    var node = fiber;\\n\\n    while (node !== null) {\\n      if (node.mode & StrictMode) {\\n        maybeStrictRoot = node;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    return maybeStrictRoot;\\n  };\\n\\n  var setToSortedString = function (set) {\\n    var array = [];\\n    set.forEach(function (value) {\\n      array.push(value);\\n    });\\n    return array.sort().join(', ');\\n  };\\n\\n  var pendingComponentWillMountWarnings = [];\\n  var pendingUNSAFE_ComponentWillMountWarnings = [];\\n  var pendingComponentWillReceivePropsWarnings = [];\\n  var pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\\n  var pendingComponentWillUpdateWarnings = [];\\n  var pendingUNSAFE_ComponentWillUpdateWarnings = []; // Tracks components we have already warned about.\\n\\n  var didWarnAboutUnsafeLifecycles = new Set();\\n\\n  ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) {\\n    // Dedup strategy: Warn once per component.\\n    if (didWarnAboutUnsafeLifecycles.has(fiber.type)) {\\n      return;\\n    }\\n\\n    if (typeof instance.componentWillMount === 'function' && // Don't warn about react-lifecycles-compat polyfilled components.\\n    instance.componentWillMount.__suppressDeprecationWarning !== true) {\\n      pendingComponentWillMountWarnings.push(fiber);\\n    }\\n\\n    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillMount === 'function') {\\n      pendingUNSAFE_ComponentWillMountWarnings.push(fiber);\\n    }\\n\\n    if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\\n      pendingComponentWillReceivePropsWarnings.push(fiber);\\n    }\\n\\n    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\\n      pendingUNSAFE_ComponentWillReceivePropsWarnings.push(fiber);\\n    }\\n\\n    if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\\n      pendingComponentWillUpdateWarnings.push(fiber);\\n    }\\n\\n    if (fiber.mode & StrictMode && typeof instance.UNSAFE_componentWillUpdate === 'function') {\\n      pendingUNSAFE_ComponentWillUpdateWarnings.push(fiber);\\n    }\\n  };\\n\\n  ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () {\\n    // We do an initial pass to gather component names\\n    var componentWillMountUniqueNames = new Set();\\n\\n    if (pendingComponentWillMountWarnings.length > 0) {\\n      pendingComponentWillMountWarnings.forEach(function (fiber) {\\n        componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutUnsafeLifecycles.add(fiber.type);\\n      });\\n      pendingComponentWillMountWarnings = [];\\n    }\\n\\n    var UNSAFE_componentWillMountUniqueNames = new Set();\\n\\n    if (pendingUNSAFE_ComponentWillMountWarnings.length > 0) {\\n      pendingUNSAFE_ComponentWillMountWarnings.forEach(function (fiber) {\\n        UNSAFE_componentWillMountUniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutUnsafeLifecycles.add(fiber.type);\\n      });\\n      pendingUNSAFE_ComponentWillMountWarnings = [];\\n    }\\n\\n    var componentWillReceivePropsUniqueNames = new Set();\\n\\n    if (pendingComponentWillReceivePropsWarnings.length > 0) {\\n      pendingComponentWillReceivePropsWarnings.forEach(function (fiber) {\\n        componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutUnsafeLifecycles.add(fiber.type);\\n      });\\n      pendingComponentWillReceivePropsWarnings = [];\\n    }\\n\\n    var UNSAFE_componentWillReceivePropsUniqueNames = new Set();\\n\\n    if (pendingUNSAFE_ComponentWillReceivePropsWarnings.length > 0) {\\n      pendingUNSAFE_ComponentWillReceivePropsWarnings.forEach(function (fiber) {\\n        UNSAFE_componentWillReceivePropsUniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutUnsafeLifecycles.add(fiber.type);\\n      });\\n      pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\\n    }\\n\\n    var componentWillUpdateUniqueNames = new Set();\\n\\n    if (pendingComponentWillUpdateWarnings.length > 0) {\\n      pendingComponentWillUpdateWarnings.forEach(function (fiber) {\\n        componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutUnsafeLifecycles.add(fiber.type);\\n      });\\n      pendingComponentWillUpdateWarnings = [];\\n    }\\n\\n    var UNSAFE_componentWillUpdateUniqueNames = new Set();\\n\\n    if (pendingUNSAFE_ComponentWillUpdateWarnings.length > 0) {\\n      pendingUNSAFE_ComponentWillUpdateWarnings.forEach(function (fiber) {\\n        UNSAFE_componentWillUpdateUniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutUnsafeLifecycles.add(fiber.type);\\n      });\\n      pendingUNSAFE_ComponentWillUpdateWarnings = [];\\n    } // Finally, we flush all the warnings\\n    // UNSAFE_ ones before the deprecated ones, since they'll be 'louder'\\n\\n\\n    if (UNSAFE_componentWillMountUniqueNames.size > 0) {\\n      var sortedNames = setToSortedString(UNSAFE_componentWillMountUniqueNames);\\n\\n      error('Using UNSAFE_componentWillMount in strict mode is not recommended and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\\\\n\\\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\\\n' + '\\\\nPlease update the following components: %s', sortedNames);\\n    }\\n\\n    if (UNSAFE_componentWillReceivePropsUniqueNames.size > 0) {\\n      var _sortedNames = setToSortedString(UNSAFE_componentWillReceivePropsUniqueNames);\\n\\n      error('Using UNSAFE_componentWillReceiveProps in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\\\\n\\\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\\\n' + \\\"* If you're updating state whenever props change, \\\" + 'refactor your code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\\\\n' + '\\\\nPlease update the following components: %s', _sortedNames);\\n    }\\n\\n    if (UNSAFE_componentWillUpdateUniqueNames.size > 0) {\\n      var _sortedNames2 = setToSortedString(UNSAFE_componentWillUpdateUniqueNames);\\n\\n      error('Using UNSAFE_componentWillUpdate in strict mode is not recommended ' + 'and may indicate bugs in your code. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\\\\n\\\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\\\n' + '\\\\nPlease update the following components: %s', _sortedNames2);\\n    }\\n\\n    if (componentWillMountUniqueNames.size > 0) {\\n      var _sortedNames3 = setToSortedString(componentWillMountUniqueNames);\\n\\n      warn('componentWillMount has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\\\\n\\\\n' + '* Move code with side effects to componentDidMount, and set initial state in the constructor.\\\\n' + '* Rename componentWillMount to UNSAFE_componentWillMount to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n' + '\\\\nPlease update the following components: %s', _sortedNames3);\\n    }\\n\\n    if (componentWillReceivePropsUniqueNames.size > 0) {\\n      var _sortedNames4 = setToSortedString(componentWillReceivePropsUniqueNames);\\n\\n      warn('componentWillReceiveProps has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\\\\n\\\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\\\n' + \\\"* If you're updating state whenever props change, refactor your \\\" + 'code to use memoization techniques or move it to ' + 'static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state\\\\n' + '* Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n' + '\\\\nPlease update the following components: %s', _sortedNames4);\\n    }\\n\\n    if (componentWillUpdateUniqueNames.size > 0) {\\n      var _sortedNames5 = setToSortedString(componentWillUpdateUniqueNames);\\n\\n      warn('componentWillUpdate has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\\\\n\\\\n' + '* Move data fetching code or side effects to componentDidUpdate.\\\\n' + '* Rename componentWillUpdate to UNSAFE_componentWillUpdate to suppress ' + 'this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. ' + 'To rename all deprecated lifecycles to their new names, you can run ' + '`npx react-codemod rename-unsafe-lifecycles` in your project source folder.\\\\n' + '\\\\nPlease update the following components: %s', _sortedNames5);\\n    }\\n  };\\n\\n  var pendingLegacyContextWarning = new Map(); // Tracks components we have already warned about.\\n\\n  var didWarnAboutLegacyContext = new Set();\\n\\n  ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) {\\n    var strictRoot = findStrictRoot(fiber);\\n\\n    if (strictRoot === null) {\\n      error('Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.');\\n\\n      return;\\n    } // Dedup strategy: Warn once per component.\\n\\n\\n    if (didWarnAboutLegacyContext.has(fiber.type)) {\\n      return;\\n    }\\n\\n    var warningsForRoot = pendingLegacyContextWarning.get(strictRoot);\\n\\n    if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') {\\n      if (warningsForRoot === undefined) {\\n        warningsForRoot = [];\\n        pendingLegacyContextWarning.set(strictRoot, warningsForRoot);\\n      }\\n\\n      warningsForRoot.push(fiber);\\n    }\\n  };\\n\\n  ReactStrictModeWarnings.flushLegacyContextWarning = function () {\\n    pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) {\\n      if (fiberArray.length === 0) {\\n        return;\\n      }\\n\\n      var firstFiber = fiberArray[0];\\n      var uniqueNames = new Set();\\n      fiberArray.forEach(function (fiber) {\\n        uniqueNames.add(getComponentName(fiber.type) || 'Component');\\n        didWarnAboutLegacyContext.add(fiber.type);\\n      });\\n      var sortedNames = setToSortedString(uniqueNames);\\n      var firstComponentStack = getStackByFiberInDevAndProd(firstFiber);\\n\\n      error('Legacy context API has been detected within a strict-mode tree.' + '\\\\n\\\\nThe old API will be supported in all 16.x releases, but applications ' + 'using it should migrate to the new version.' + '\\\\n\\\\nPlease update the following components: %s' + '\\\\n\\\\nLearn more about this warning here: https://fb.me/react-legacy-context' + '%s', sortedNames, firstComponentStack);\\n    });\\n  };\\n\\n  ReactStrictModeWarnings.discardPendingWarnings = function () {\\n    pendingComponentWillMountWarnings = [];\\n    pendingUNSAFE_ComponentWillMountWarnings = [];\\n    pendingComponentWillReceivePropsWarnings = [];\\n    pendingUNSAFE_ComponentWillReceivePropsWarnings = [];\\n    pendingComponentWillUpdateWarnings = [];\\n    pendingUNSAFE_ComponentWillUpdateWarnings = [];\\n    pendingLegacyContextWarning = new Map();\\n  };\\n}\\n\\nvar resolveFamily = null; // $FlowFixMe Flow gets confused by a WeakSet feature check below.\\n\\nvar failedBoundaries = null;\\nvar setRefreshHandler = function (handler) {\\n  {\\n    resolveFamily = handler;\\n  }\\n};\\nfunction resolveFunctionForHotReloading(type) {\\n  {\\n    if (resolveFamily === null) {\\n      // Hot reloading is disabled.\\n      return type;\\n    }\\n\\n    var family = resolveFamily(type);\\n\\n    if (family === undefined) {\\n      return type;\\n    } // Use the latest known implementation.\\n\\n\\n    return family.current;\\n  }\\n}\\nfunction resolveClassForHotReloading(type) {\\n  // No implementation differences.\\n  return resolveFunctionForHotReloading(type);\\n}\\nfunction resolveForwardRefForHotReloading(type) {\\n  {\\n    if (resolveFamily === null) {\\n      // Hot reloading is disabled.\\n      return type;\\n    }\\n\\n    var family = resolveFamily(type);\\n\\n    if (family === undefined) {\\n      // Check if we're dealing with a real forwardRef. Don't want to crash early.\\n      if (type !== null && type !== undefined && typeof type.render === 'function') {\\n        // ForwardRef is special because its resolved .type is an object,\\n        // but it's possible that we only have its inner render function in the map.\\n        // If that inner render function is different, we'll build a new forwardRef type.\\n        var currentRender = resolveFunctionForHotReloading(type.render);\\n\\n        if (type.render !== currentRender) {\\n          var syntheticType = {\\n            $$typeof: REACT_FORWARD_REF_TYPE,\\n            render: currentRender\\n          };\\n\\n          if (type.displayName !== undefined) {\\n            syntheticType.displayName = type.displayName;\\n          }\\n\\n          return syntheticType;\\n        }\\n      }\\n\\n      return type;\\n    } // Use the latest known implementation.\\n\\n\\n    return family.current;\\n  }\\n}\\nfunction isCompatibleFamilyForHotReloading(fiber, element) {\\n  {\\n    if (resolveFamily === null) {\\n      // Hot reloading is disabled.\\n      return false;\\n    }\\n\\n    var prevType = fiber.elementType;\\n    var nextType = element.type; // If we got here, we know types aren't === equal.\\n\\n    var needsCompareFamilies = false;\\n    var $$typeofNextType = typeof nextType === 'object' && nextType !== null ? nextType.$$typeof : null;\\n\\n    switch (fiber.tag) {\\n      case ClassComponent:\\n        {\\n          if (typeof nextType === 'function') {\\n            needsCompareFamilies = true;\\n          }\\n\\n          break;\\n        }\\n\\n      case FunctionComponent:\\n        {\\n          if (typeof nextType === 'function') {\\n            needsCompareFamilies = true;\\n          } else if ($$typeofNextType === REACT_LAZY_TYPE) {\\n            // We don't know the inner type yet.\\n            // We're going to assume that the lazy inner type is stable,\\n            // and so it is sufficient to avoid reconciling it away.\\n            // We're not going to unwrap or actually use the new lazy type.\\n            needsCompareFamilies = true;\\n          }\\n\\n          break;\\n        }\\n\\n      case ForwardRef:\\n        {\\n          if ($$typeofNextType === REACT_FORWARD_REF_TYPE) {\\n            needsCompareFamilies = true;\\n          } else if ($$typeofNextType === REACT_LAZY_TYPE) {\\n            needsCompareFamilies = true;\\n          }\\n\\n          break;\\n        }\\n\\n      case MemoComponent:\\n      case SimpleMemoComponent:\\n        {\\n          if ($$typeofNextType === REACT_MEMO_TYPE) {\\n            // TODO: if it was but can no longer be simple,\\n            // we shouldn't set this.\\n            needsCompareFamilies = true;\\n          } else if ($$typeofNextType === REACT_LAZY_TYPE) {\\n            needsCompareFamilies = true;\\n          }\\n\\n          break;\\n        }\\n\\n      default:\\n        return false;\\n    } // Check if both types have a family and it's the same one.\\n\\n\\n    if (needsCompareFamilies) {\\n      // Note: memo() and forwardRef() we'll compare outer rather than inner type.\\n      // This means both of them need to be registered to preserve state.\\n      // If we unwrapped and compared the inner types for wrappers instead,\\n      // then we would risk falsely saying two separate memo(Foo)\\n      // calls are equivalent because they wrap the same Foo function.\\n      var prevFamily = resolveFamily(prevType);\\n\\n      if (prevFamily !== undefined && prevFamily === resolveFamily(nextType)) {\\n        return true;\\n      }\\n    }\\n\\n    return false;\\n  }\\n}\\nfunction markFailedErrorBoundaryForHotReloading(fiber) {\\n  {\\n    if (resolveFamily === null) {\\n      // Hot reloading is disabled.\\n      return;\\n    }\\n\\n    if (typeof WeakSet !== 'function') {\\n      return;\\n    }\\n\\n    if (failedBoundaries === null) {\\n      failedBoundaries = new WeakSet();\\n    }\\n\\n    failedBoundaries.add(fiber);\\n  }\\n}\\nvar scheduleRefresh = function (root, update) {\\n  {\\n    if (resolveFamily === null) {\\n      // Hot reloading is disabled.\\n      return;\\n    }\\n\\n    var staleFamilies = update.staleFamilies,\\n        updatedFamilies = update.updatedFamilies;\\n    flushPassiveEffects();\\n    flushSync(function () {\\n      scheduleFibersWithFamiliesRecursively(root.current, updatedFamilies, staleFamilies);\\n    });\\n  }\\n};\\nvar scheduleRoot = function (root, element) {\\n  {\\n    if (root.context !== emptyContextObject) {\\n      // Super edge case: root has a legacy _renderSubtree context\\n      // but we don't know the parentComponent so we can't pass it.\\n      // Just ignore. We'll delete this with _renderSubtree code path later.\\n      return;\\n    }\\n\\n    flushPassiveEffects();\\n    syncUpdates(function () {\\n      updateContainer(element, root, null, null);\\n    });\\n  }\\n};\\n\\nfunction scheduleFibersWithFamiliesRecursively(fiber, updatedFamilies, staleFamilies) {\\n  {\\n    var alternate = fiber.alternate,\\n        child = fiber.child,\\n        sibling = fiber.sibling,\\n        tag = fiber.tag,\\n        type = fiber.type;\\n    var candidateType = null;\\n\\n    switch (tag) {\\n      case FunctionComponent:\\n      case SimpleMemoComponent:\\n      case ClassComponent:\\n        candidateType = type;\\n        break;\\n\\n      case ForwardRef:\\n        candidateType = type.render;\\n        break;\\n    }\\n\\n    if (resolveFamily === null) {\\n      throw new Error('Expected resolveFamily to be set during hot reload.');\\n    }\\n\\n    var needsRender = false;\\n    var needsRemount = false;\\n\\n    if (candidateType !== null) {\\n      var family = resolveFamily(candidateType);\\n\\n      if (family !== undefined) {\\n        if (staleFamilies.has(family)) {\\n          needsRemount = true;\\n        } else if (updatedFamilies.has(family)) {\\n          if (tag === ClassComponent) {\\n            needsRemount = true;\\n          } else {\\n            needsRender = true;\\n          }\\n        }\\n      }\\n    }\\n\\n    if (failedBoundaries !== null) {\\n      if (failedBoundaries.has(fiber) || alternate !== null && failedBoundaries.has(alternate)) {\\n        needsRemount = true;\\n      }\\n    }\\n\\n    if (needsRemount) {\\n      fiber._debugNeedsRemount = true;\\n    }\\n\\n    if (needsRemount || needsRender) {\\n      scheduleWork(fiber, Sync);\\n    }\\n\\n    if (child !== null && !needsRemount) {\\n      scheduleFibersWithFamiliesRecursively(child, updatedFamilies, staleFamilies);\\n    }\\n\\n    if (sibling !== null) {\\n      scheduleFibersWithFamiliesRecursively(sibling, updatedFamilies, staleFamilies);\\n    }\\n  }\\n}\\n\\nvar findHostInstancesForRefresh = function (root, families) {\\n  {\\n    var hostInstances = new Set();\\n    var types = new Set(families.map(function (family) {\\n      return family.current;\\n    }));\\n    findHostInstancesForMatchingFibersRecursively(root.current, types, hostInstances);\\n    return hostInstances;\\n  }\\n};\\n\\nfunction findHostInstancesForMatchingFibersRecursively(fiber, types, hostInstances) {\\n  {\\n    var child = fiber.child,\\n        sibling = fiber.sibling,\\n        tag = fiber.tag,\\n        type = fiber.type;\\n    var candidateType = null;\\n\\n    switch (tag) {\\n      case FunctionComponent:\\n      case SimpleMemoComponent:\\n      case ClassComponent:\\n        candidateType = type;\\n        break;\\n\\n      case ForwardRef:\\n        candidateType = type.render;\\n        break;\\n    }\\n\\n    var didMatch = false;\\n\\n    if (candidateType !== null) {\\n      if (types.has(candidateType)) {\\n        didMatch = true;\\n      }\\n    }\\n\\n    if (didMatch) {\\n      // We have a match. This only drills down to the closest host components.\\n      // There's no need to search deeper because for the purpose of giving\\n      // visual feedback, \\\"flashing\\\" outermost parent rectangles is sufficient.\\n      findHostInstancesForFiberShallowly(fiber, hostInstances);\\n    } else {\\n      // If there's no match, maybe there will be one further down in the child tree.\\n      if (child !== null) {\\n        findHostInstancesForMatchingFibersRecursively(child, types, hostInstances);\\n      }\\n    }\\n\\n    if (sibling !== null) {\\n      findHostInstancesForMatchingFibersRecursively(sibling, types, hostInstances);\\n    }\\n  }\\n}\\n\\nfunction findHostInstancesForFiberShallowly(fiber, hostInstances) {\\n  {\\n    var foundHostInstances = findChildHostInstancesForFiberShallowly(fiber, hostInstances);\\n\\n    if (foundHostInstances) {\\n      return;\\n    } // If we didn't find any host children, fallback to closest host parent.\\n\\n\\n    var node = fiber;\\n\\n    while (true) {\\n      switch (node.tag) {\\n        case HostComponent:\\n          hostInstances.add(node.stateNode);\\n          return;\\n\\n        case HostPortal:\\n          hostInstances.add(node.stateNode.containerInfo);\\n          return;\\n\\n        case HostRoot:\\n          hostInstances.add(node.stateNode.containerInfo);\\n          return;\\n      }\\n\\n      if (node.return === null) {\\n        throw new Error('Expected to reach root first.');\\n      }\\n\\n      node = node.return;\\n    }\\n  }\\n}\\n\\nfunction findChildHostInstancesForFiberShallowly(fiber, hostInstances) {\\n  {\\n    var node = fiber;\\n    var foundHostInstances = false;\\n\\n    while (true) {\\n      if (node.tag === HostComponent) {\\n        // We got a match.\\n        foundHostInstances = true;\\n        hostInstances.add(node.stateNode); // There may still be more, so keep searching.\\n      } else if (node.child !== null) {\\n        node.child.return = node;\\n        node = node.child;\\n        continue;\\n      }\\n\\n      if (node === fiber) {\\n        return foundHostInstances;\\n      }\\n\\n      while (node.sibling === null) {\\n        if (node.return === null || node.return === fiber) {\\n          return foundHostInstances;\\n        }\\n\\n        node = node.return;\\n      }\\n\\n      node.sibling.return = node.return;\\n      node = node.sibling;\\n    }\\n  }\\n\\n  return false;\\n}\\n\\nfunction resolveDefaultProps(Component, baseProps) {\\n  if (Component && Component.defaultProps) {\\n    // Resolve default props. Taken from ReactElement\\n    var props = _assign({}, baseProps);\\n\\n    var defaultProps = Component.defaultProps;\\n\\n    for (var propName in defaultProps) {\\n      if (props[propName] === undefined) {\\n        props[propName] = defaultProps[propName];\\n      }\\n    }\\n\\n    return props;\\n  }\\n\\n  return baseProps;\\n}\\nfunction readLazyComponentType(lazyComponent) {\\n  initializeLazyComponentType(lazyComponent);\\n\\n  if (lazyComponent._status !== Resolved) {\\n    throw lazyComponent._result;\\n  }\\n\\n  return lazyComponent._result;\\n}\\n\\nvar valueCursor = createCursor(null);\\nvar rendererSigil;\\n\\n{\\n  // Use this to detect multiple renderers using the same context\\n  rendererSigil = {};\\n}\\n\\nvar currentlyRenderingFiber = null;\\nvar lastContextDependency = null;\\nvar lastContextWithAllBitsObserved = null;\\nvar isDisallowedContextReadInDEV = false;\\nfunction resetContextDependencies() {\\n  // This is called right before React yields execution, to ensure `readContext`\\n  // cannot be called outside the render phase.\\n  currentlyRenderingFiber = null;\\n  lastContextDependency = null;\\n  lastContextWithAllBitsObserved = null;\\n\\n  {\\n    isDisallowedContextReadInDEV = false;\\n  }\\n}\\nfunction enterDisallowedContextReadInDEV() {\\n  {\\n    isDisallowedContextReadInDEV = true;\\n  }\\n}\\nfunction exitDisallowedContextReadInDEV() {\\n  {\\n    isDisallowedContextReadInDEV = false;\\n  }\\n}\\nfunction pushProvider(providerFiber, nextValue) {\\n  var context = providerFiber.type._context;\\n\\n  {\\n    push(valueCursor, context._currentValue, providerFiber);\\n    context._currentValue = nextValue;\\n\\n    {\\n      if (context._currentRenderer !== undefined && context._currentRenderer !== null && context._currentRenderer !== rendererSigil) {\\n        error('Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.');\\n      }\\n\\n      context._currentRenderer = rendererSigil;\\n    }\\n  }\\n}\\nfunction popProvider(providerFiber) {\\n  var currentValue = valueCursor.current;\\n  pop(valueCursor, providerFiber);\\n  var context = providerFiber.type._context;\\n\\n  {\\n    context._currentValue = currentValue;\\n  }\\n}\\nfunction calculateChangedBits(context, newValue, oldValue) {\\n  if (objectIs(oldValue, newValue)) {\\n    // No change\\n    return 0;\\n  } else {\\n    var changedBits = typeof context._calculateChangedBits === 'function' ? context._calculateChangedBits(oldValue, newValue) : MAX_SIGNED_31_BIT_INT;\\n\\n    {\\n      if ((changedBits & MAX_SIGNED_31_BIT_INT) !== changedBits) {\\n        error('calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits);\\n      }\\n    }\\n\\n    return changedBits | 0;\\n  }\\n}\\nfunction scheduleWorkOnParentPath(parent, renderExpirationTime) {\\n  // Update the child expiration time of all the ancestors, including\\n  // the alternates.\\n  var node = parent;\\n\\n  while (node !== null) {\\n    var alternate = node.alternate;\\n\\n    if (node.childExpirationTime < renderExpirationTime) {\\n      node.childExpirationTime = renderExpirationTime;\\n\\n      if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) {\\n        alternate.childExpirationTime = renderExpirationTime;\\n      }\\n    } else if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) {\\n      alternate.childExpirationTime = renderExpirationTime;\\n    } else {\\n      // Neither alternate was updated, which means the rest of the\\n      // ancestor path already has sufficient priority.\\n      break;\\n    }\\n\\n    node = node.return;\\n  }\\n}\\nfunction propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) {\\n  var fiber = workInProgress.child;\\n\\n  if (fiber !== null) {\\n    // Set the return pointer of the child to the work-in-progress fiber.\\n    fiber.return = workInProgress;\\n  }\\n\\n  while (fiber !== null) {\\n    var nextFiber = void 0; // Visit this fiber.\\n\\n    var list = fiber.dependencies;\\n\\n    if (list !== null) {\\n      nextFiber = fiber.child;\\n      var dependency = list.firstContext;\\n\\n      while (dependency !== null) {\\n        // Check if the context matches.\\n        if (dependency.context === context && (dependency.observedBits & changedBits) !== 0) {\\n          // Match! Schedule an update on this fiber.\\n          if (fiber.tag === ClassComponent) {\\n            // Schedule a force update on the work-in-progress.\\n            var update = createUpdate(renderExpirationTime, null);\\n            update.tag = ForceUpdate; // TODO: Because we don't have a work-in-progress, this will add the\\n            // update to the current fiber, too, which means it will persist even if\\n            // this render is thrown away. Since it's a race condition, not sure it's\\n            // worth fixing.\\n\\n            enqueueUpdate(fiber, update);\\n          }\\n\\n          if (fiber.expirationTime < renderExpirationTime) {\\n            fiber.expirationTime = renderExpirationTime;\\n          }\\n\\n          var alternate = fiber.alternate;\\n\\n          if (alternate !== null && alternate.expirationTime < renderExpirationTime) {\\n            alternate.expirationTime = renderExpirationTime;\\n          }\\n\\n          scheduleWorkOnParentPath(fiber.return, renderExpirationTime); // Mark the expiration time on the list, too.\\n\\n          if (list.expirationTime < renderExpirationTime) {\\n            list.expirationTime = renderExpirationTime;\\n          } // Since we already found a match, we can stop traversing the\\n          // dependency list.\\n\\n\\n          break;\\n        }\\n\\n        dependency = dependency.next;\\n      }\\n    } else if (fiber.tag === ContextProvider) {\\n      // Don't scan deeper if this is a matching provider\\n      nextFiber = fiber.type === workInProgress.type ? null : fiber.child;\\n    } else {\\n      // Traverse down.\\n      nextFiber = fiber.child;\\n    }\\n\\n    if (nextFiber !== null) {\\n      // Set the return pointer of the child to the work-in-progress fiber.\\n      nextFiber.return = fiber;\\n    } else {\\n      // No child. Traverse to next sibling.\\n      nextFiber = fiber;\\n\\n      while (nextFiber !== null) {\\n        if (nextFiber === workInProgress) {\\n          // We're back to the root of this subtree. Exit.\\n          nextFiber = null;\\n          break;\\n        }\\n\\n        var sibling = nextFiber.sibling;\\n\\n        if (sibling !== null) {\\n          // Set the return pointer of the sibling to the work-in-progress fiber.\\n          sibling.return = nextFiber.return;\\n          nextFiber = sibling;\\n          break;\\n        } // No more siblings. Traverse up.\\n\\n\\n        nextFiber = nextFiber.return;\\n      }\\n    }\\n\\n    fiber = nextFiber;\\n  }\\n}\\nfunction prepareToReadContext(workInProgress, renderExpirationTime) {\\n  currentlyRenderingFiber = workInProgress;\\n  lastContextDependency = null;\\n  lastContextWithAllBitsObserved = null;\\n  var dependencies = workInProgress.dependencies;\\n\\n  if (dependencies !== null) {\\n    var firstContext = dependencies.firstContext;\\n\\n    if (firstContext !== null) {\\n      if (dependencies.expirationTime >= renderExpirationTime) {\\n        // Context list has a pending update. Mark that this fiber performed work.\\n        markWorkInProgressReceivedUpdate();\\n      } // Reset the work-in-progress list\\n\\n\\n      dependencies.firstContext = null;\\n    }\\n  }\\n}\\nfunction readContext(context, observedBits) {\\n  {\\n    // This warning would fire if you read context inside a Hook like useMemo.\\n    // Unlike the class check below, it's not enforced in production for perf.\\n    if (isDisallowedContextReadInDEV) {\\n      error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\\n    }\\n  }\\n\\n  if (lastContextWithAllBitsObserved === context) ; else if (observedBits === false || observedBits === 0) ; else {\\n    var resolvedObservedBits; // Avoid deopting on observable arguments or heterogeneous types.\\n\\n    if (typeof observedBits !== 'number' || observedBits === MAX_SIGNED_31_BIT_INT) {\\n      // Observe all updates.\\n      lastContextWithAllBitsObserved = context;\\n      resolvedObservedBits = MAX_SIGNED_31_BIT_INT;\\n    } else {\\n      resolvedObservedBits = observedBits;\\n    }\\n\\n    var contextItem = {\\n      context: context,\\n      observedBits: resolvedObservedBits,\\n      next: null\\n    };\\n\\n    if (lastContextDependency === null) {\\n      if (!(currentlyRenderingFiber !== null)) {\\n        {\\n          throw Error( \\\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\\\" );\\n        }\\n      } // This is the first dependency for this component. Create a new list.\\n\\n\\n      lastContextDependency = contextItem;\\n      currentlyRenderingFiber.dependencies = {\\n        expirationTime: NoWork,\\n        firstContext: contextItem,\\n        responders: null\\n      };\\n    } else {\\n      // Append a new context item.\\n      lastContextDependency = lastContextDependency.next = contextItem;\\n    }\\n  }\\n\\n  return  context._currentValue ;\\n}\\n\\nvar UpdateState = 0;\\nvar ReplaceState = 1;\\nvar ForceUpdate = 2;\\nvar CaptureUpdate = 3; // Global state that is reset at the beginning of calling `processUpdateQueue`.\\n// It should only be read right after calling `processUpdateQueue`, via\\n// `checkHasForceUpdateAfterProcessing`.\\n\\nvar hasForceUpdate = false;\\nvar didWarnUpdateInsideUpdate;\\nvar currentlyProcessingQueue;\\n\\n{\\n  didWarnUpdateInsideUpdate = false;\\n  currentlyProcessingQueue = null;\\n}\\n\\nfunction initializeUpdateQueue(fiber) {\\n  var queue = {\\n    baseState: fiber.memoizedState,\\n    baseQueue: null,\\n    shared: {\\n      pending: null\\n    },\\n    effects: null\\n  };\\n  fiber.updateQueue = queue;\\n}\\nfunction cloneUpdateQueue(current, workInProgress) {\\n  // Clone the update queue from current. Unless it's already a clone.\\n  var queue = workInProgress.updateQueue;\\n  var currentQueue = current.updateQueue;\\n\\n  if (queue === currentQueue) {\\n    var clone = {\\n      baseState: currentQueue.baseState,\\n      baseQueue: currentQueue.baseQueue,\\n      shared: currentQueue.shared,\\n      effects: currentQueue.effects\\n    };\\n    workInProgress.updateQueue = clone;\\n  }\\n}\\nfunction createUpdate(expirationTime, suspenseConfig) {\\n  var update = {\\n    expirationTime: expirationTime,\\n    suspenseConfig: suspenseConfig,\\n    tag: UpdateState,\\n    payload: null,\\n    callback: null,\\n    next: null\\n  };\\n  update.next = update;\\n\\n  {\\n    update.priority = getCurrentPriorityLevel();\\n  }\\n\\n  return update;\\n}\\nfunction enqueueUpdate(fiber, update) {\\n  var updateQueue = fiber.updateQueue;\\n\\n  if (updateQueue === null) {\\n    // Only occurs if the fiber has been unmounted.\\n    return;\\n  }\\n\\n  var sharedQueue = updateQueue.shared;\\n  var pending = sharedQueue.pending;\\n\\n  if (pending === null) {\\n    // This is the first update. Create a circular list.\\n    update.next = update;\\n  } else {\\n    update.next = pending.next;\\n    pending.next = update;\\n  }\\n\\n  sharedQueue.pending = update;\\n\\n  {\\n    if (currentlyProcessingQueue === sharedQueue && !didWarnUpdateInsideUpdate) {\\n      error('An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.');\\n\\n      didWarnUpdateInsideUpdate = true;\\n    }\\n  }\\n}\\nfunction enqueueCapturedUpdate(workInProgress, update) {\\n  var current = workInProgress.alternate;\\n\\n  if (current !== null) {\\n    // Ensure the work-in-progress queue is a clone\\n    cloneUpdateQueue(current, workInProgress);\\n  } // Captured updates go only on the work-in-progress queue.\\n\\n\\n  var queue = workInProgress.updateQueue; // Append the update to the end of the list.\\n\\n  var last = queue.baseQueue;\\n\\n  if (last === null) {\\n    queue.baseQueue = update.next = update;\\n    update.next = update;\\n  } else {\\n    update.next = last.next;\\n    last.next = update;\\n  }\\n}\\n\\nfunction getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) {\\n  switch (update.tag) {\\n    case ReplaceState:\\n      {\\n        var payload = update.payload;\\n\\n        if (typeof payload === 'function') {\\n          // Updater function\\n          {\\n            enterDisallowedContextReadInDEV();\\n\\n            if ( workInProgress.mode & StrictMode) {\\n              payload.call(instance, prevState, nextProps);\\n            }\\n          }\\n\\n          var nextState = payload.call(instance, prevState, nextProps);\\n\\n          {\\n            exitDisallowedContextReadInDEV();\\n          }\\n\\n          return nextState;\\n        } // State object\\n\\n\\n        return payload;\\n      }\\n\\n    case CaptureUpdate:\\n      {\\n        workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture;\\n      }\\n    // Intentional fallthrough\\n\\n    case UpdateState:\\n      {\\n        var _payload = update.payload;\\n        var partialState;\\n\\n        if (typeof _payload === 'function') {\\n          // Updater function\\n          {\\n            enterDisallowedContextReadInDEV();\\n\\n            if ( workInProgress.mode & StrictMode) {\\n              _payload.call(instance, prevState, nextProps);\\n            }\\n          }\\n\\n          partialState = _payload.call(instance, prevState, nextProps);\\n\\n          {\\n            exitDisallowedContextReadInDEV();\\n          }\\n        } else {\\n          // Partial state object\\n          partialState = _payload;\\n        }\\n\\n        if (partialState === null || partialState === undefined) {\\n          // Null and undefined are treated as no-ops.\\n          return prevState;\\n        } // Merge the partial state and the previous state.\\n\\n\\n        return _assign({}, prevState, partialState);\\n      }\\n\\n    case ForceUpdate:\\n      {\\n        hasForceUpdate = true;\\n        return prevState;\\n      }\\n  }\\n\\n  return prevState;\\n}\\n\\nfunction processUpdateQueue(workInProgress, props, instance, renderExpirationTime) {\\n  // This is always non-null on a ClassComponent or HostRoot\\n  var queue = workInProgress.updateQueue;\\n  hasForceUpdate = false;\\n\\n  {\\n    currentlyProcessingQueue = queue.shared;\\n  } // The last rebase update that is NOT part of the base state.\\n\\n\\n  var baseQueue = queue.baseQueue; // The last pending update that hasn't been processed yet.\\n\\n  var pendingQueue = queue.shared.pending;\\n\\n  if (pendingQueue !== null) {\\n    // We have new updates that haven't been processed yet.\\n    // We'll add them to the base queue.\\n    if (baseQueue !== null) {\\n      // Merge the pending queue and the base queue.\\n      var baseFirst = baseQueue.next;\\n      var pendingFirst = pendingQueue.next;\\n      baseQueue.next = pendingFirst;\\n      pendingQueue.next = baseFirst;\\n    }\\n\\n    baseQueue = pendingQueue;\\n    queue.shared.pending = null; // TODO: Pass `current` as argument\\n\\n    var current = workInProgress.alternate;\\n\\n    if (current !== null) {\\n      var currentQueue = current.updateQueue;\\n\\n      if (currentQueue !== null) {\\n        currentQueue.baseQueue = pendingQueue;\\n      }\\n    }\\n  } // These values may change as we process the queue.\\n\\n\\n  if (baseQueue !== null) {\\n    var first = baseQueue.next; // Iterate through the list of updates to compute the result.\\n\\n    var newState = queue.baseState;\\n    var newExpirationTime = NoWork;\\n    var newBaseState = null;\\n    var newBaseQueueFirst = null;\\n    var newBaseQueueLast = null;\\n\\n    if (first !== null) {\\n      var update = first;\\n\\n      do {\\n        var updateExpirationTime = update.expirationTime;\\n\\n        if (updateExpirationTime < renderExpirationTime) {\\n          // Priority is insufficient. Skip this update. If this is the first\\n          // skipped update, the previous update/state is the new base\\n          // update/state.\\n          var clone = {\\n            expirationTime: update.expirationTime,\\n            suspenseConfig: update.suspenseConfig,\\n            tag: update.tag,\\n            payload: update.payload,\\n            callback: update.callback,\\n            next: null\\n          };\\n\\n          if (newBaseQueueLast === null) {\\n            newBaseQueueFirst = newBaseQueueLast = clone;\\n            newBaseState = newState;\\n          } else {\\n            newBaseQueueLast = newBaseQueueLast.next = clone;\\n          } // Update the remaining priority in the queue.\\n\\n\\n          if (updateExpirationTime > newExpirationTime) {\\n            newExpirationTime = updateExpirationTime;\\n          }\\n        } else {\\n          // This update does have sufficient priority.\\n          if (newBaseQueueLast !== null) {\\n            var _clone = {\\n              expirationTime: Sync,\\n              // This update is going to be committed so we never want uncommit it.\\n              suspenseConfig: update.suspenseConfig,\\n              tag: update.tag,\\n              payload: update.payload,\\n              callback: update.callback,\\n              next: null\\n            };\\n            newBaseQueueLast = newBaseQueueLast.next = _clone;\\n          } // Mark the event time of this update as relevant to this render pass.\\n          // TODO: This should ideally use the true event time of this update rather than\\n          // its priority which is a derived and not reverseable value.\\n          // TODO: We should skip this update if it was already committed but currently\\n          // we have no way of detecting the difference between a committed and suspended\\n          // update here.\\n\\n\\n          markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update.\\n\\n          newState = getStateFromUpdate(workInProgress, queue, update, newState, props, instance);\\n          var callback = update.callback;\\n\\n          if (callback !== null) {\\n            workInProgress.effectTag |= Callback;\\n            var effects = queue.effects;\\n\\n            if (effects === null) {\\n              queue.effects = [update];\\n            } else {\\n              effects.push(update);\\n            }\\n          }\\n        }\\n\\n        update = update.next;\\n\\n        if (update === null || update === first) {\\n          pendingQueue = queue.shared.pending;\\n\\n          if (pendingQueue === null) {\\n            break;\\n          } else {\\n            // An update was scheduled from inside a reducer. Add the new\\n            // pending updates to the end of the list and keep processing.\\n            update = baseQueue.next = pendingQueue.next;\\n            pendingQueue.next = first;\\n            queue.baseQueue = baseQueue = pendingQueue;\\n            queue.shared.pending = null;\\n          }\\n        }\\n      } while (true);\\n    }\\n\\n    if (newBaseQueueLast === null) {\\n      newBaseState = newState;\\n    } else {\\n      newBaseQueueLast.next = newBaseQueueFirst;\\n    }\\n\\n    queue.baseState = newBaseState;\\n    queue.baseQueue = newBaseQueueLast; // Set the remaining expiration time to be whatever is remaining in the queue.\\n    // This should be fine because the only two other things that contribute to\\n    // expiration time are props and context. We're already in the middle of the\\n    // begin phase by the time we start processing the queue, so we've already\\n    // dealt with the props. Context in components that specify\\n    // shouldComponentUpdate is tricky; but we'll have to account for\\n    // that regardless.\\n\\n    markUnprocessedUpdateTime(newExpirationTime);\\n    workInProgress.expirationTime = newExpirationTime;\\n    workInProgress.memoizedState = newState;\\n  }\\n\\n  {\\n    currentlyProcessingQueue = null;\\n  }\\n}\\n\\nfunction callCallback(callback, context) {\\n  if (!(typeof callback === 'function')) {\\n    {\\n      throw Error( \\\"Invalid argument passed as callback. Expected a function. Instead received: \\\" + callback );\\n    }\\n  }\\n\\n  callback.call(context);\\n}\\n\\nfunction resetHasForceUpdateBeforeProcessing() {\\n  hasForceUpdate = false;\\n}\\nfunction checkHasForceUpdateAfterProcessing() {\\n  return hasForceUpdate;\\n}\\nfunction commitUpdateQueue(finishedWork, finishedQueue, instance) {\\n  // Commit the effects\\n  var effects = finishedQueue.effects;\\n  finishedQueue.effects = null;\\n\\n  if (effects !== null) {\\n    for (var i = 0; i < effects.length; i++) {\\n      var effect = effects[i];\\n      var callback = effect.callback;\\n\\n      if (callback !== null) {\\n        effect.callback = null;\\n        callCallback(callback, instance);\\n      }\\n    }\\n  }\\n}\\n\\nvar ReactCurrentBatchConfig = ReactSharedInternals.ReactCurrentBatchConfig;\\nfunction requestCurrentSuspenseConfig() {\\n  return ReactCurrentBatchConfig.suspense;\\n}\\n\\nvar fakeInternalInstance = {};\\nvar isArray = Array.isArray; // React.Component uses a shared frozen object by default.\\n// We'll use it to determine whether we need to initialize legacy refs.\\n\\nvar emptyRefsObject = new React.Component().refs;\\nvar didWarnAboutStateAssignmentForComponent;\\nvar didWarnAboutUninitializedState;\\nvar didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;\\nvar didWarnAboutLegacyLifecyclesAndDerivedState;\\nvar didWarnAboutUndefinedDerivedState;\\nvar warnOnUndefinedDerivedState;\\nvar warnOnInvalidCallback;\\nvar didWarnAboutDirectlyAssigningPropsToState;\\nvar didWarnAboutContextTypeAndContextTypes;\\nvar didWarnAboutInvalidateContextType;\\n\\n{\\n  didWarnAboutStateAssignmentForComponent = new Set();\\n  didWarnAboutUninitializedState = new Set();\\n  didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set();\\n  didWarnAboutLegacyLifecyclesAndDerivedState = new Set();\\n  didWarnAboutDirectlyAssigningPropsToState = new Set();\\n  didWarnAboutUndefinedDerivedState = new Set();\\n  didWarnAboutContextTypeAndContextTypes = new Set();\\n  didWarnAboutInvalidateContextType = new Set();\\n  var didWarnOnInvalidCallback = new Set();\\n\\n  warnOnInvalidCallback = function (callback, callerName) {\\n    if (callback === null || typeof callback === 'function') {\\n      return;\\n    }\\n\\n    var key = callerName + \\\"_\\\" + callback;\\n\\n    if (!didWarnOnInvalidCallback.has(key)) {\\n      didWarnOnInvalidCallback.add(key);\\n\\n      error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\\n    }\\n  };\\n\\n  warnOnUndefinedDerivedState = function (type, partialState) {\\n    if (partialState === undefined) {\\n      var componentName = getComponentName(type) || 'Component';\\n\\n      if (!didWarnAboutUndefinedDerivedState.has(componentName)) {\\n        didWarnAboutUndefinedDerivedState.add(componentName);\\n\\n        error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName);\\n      }\\n    }\\n  }; // This is so gross but it's at least non-critical and can be removed if\\n  // it causes problems. This is meant to give a nicer error message for\\n  // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component,\\n  // ...)) which otherwise throws a \\\"_processChildContext is not a function\\\"\\n  // exception.\\n\\n\\n  Object.defineProperty(fakeInternalInstance, '_processChildContext', {\\n    enumerable: false,\\n    value: function () {\\n      {\\n        {\\n          throw Error( \\\"_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn't supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal).\\\" );\\n        }\\n      }\\n    }\\n  });\\n  Object.freeze(fakeInternalInstance);\\n}\\n\\nfunction applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) {\\n  var prevState = workInProgress.memoizedState;\\n\\n  {\\n    if ( workInProgress.mode & StrictMode) {\\n      // Invoke the function an extra time to help detect side-effects.\\n      getDerivedStateFromProps(nextProps, prevState);\\n    }\\n  }\\n\\n  var partialState = getDerivedStateFromProps(nextProps, prevState);\\n\\n  {\\n    warnOnUndefinedDerivedState(ctor, partialState);\\n  } // Merge the partial state and the previous state.\\n\\n\\n  var memoizedState = partialState === null || partialState === undefined ? prevState : _assign({}, prevState, partialState);\\n  workInProgress.memoizedState = memoizedState; // Once the update queue is empty, persist the derived state onto the\\n  // base state.\\n\\n  if (workInProgress.expirationTime === NoWork) {\\n    // Queue is always non-null for classes\\n    var updateQueue = workInProgress.updateQueue;\\n    updateQueue.baseState = memoizedState;\\n  }\\n}\\nvar classComponentUpdater = {\\n  isMounted: isMounted,\\n  enqueueSetState: function (inst, payload, callback) {\\n    var fiber = get(inst);\\n    var currentTime = requestCurrentTimeForUpdate();\\n    var suspenseConfig = requestCurrentSuspenseConfig();\\n    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);\\n    var update = createUpdate(expirationTime, suspenseConfig);\\n    update.payload = payload;\\n\\n    if (callback !== undefined && callback !== null) {\\n      {\\n        warnOnInvalidCallback(callback, 'setState');\\n      }\\n\\n      update.callback = callback;\\n    }\\n\\n    enqueueUpdate(fiber, update);\\n    scheduleWork(fiber, expirationTime);\\n  },\\n  enqueueReplaceState: function (inst, payload, callback) {\\n    var fiber = get(inst);\\n    var currentTime = requestCurrentTimeForUpdate();\\n    var suspenseConfig = requestCurrentSuspenseConfig();\\n    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);\\n    var update = createUpdate(expirationTime, suspenseConfig);\\n    update.tag = ReplaceState;\\n    update.payload = payload;\\n\\n    if (callback !== undefined && callback !== null) {\\n      {\\n        warnOnInvalidCallback(callback, 'replaceState');\\n      }\\n\\n      update.callback = callback;\\n    }\\n\\n    enqueueUpdate(fiber, update);\\n    scheduleWork(fiber, expirationTime);\\n  },\\n  enqueueForceUpdate: function (inst, callback) {\\n    var fiber = get(inst);\\n    var currentTime = requestCurrentTimeForUpdate();\\n    var suspenseConfig = requestCurrentSuspenseConfig();\\n    var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);\\n    var update = createUpdate(expirationTime, suspenseConfig);\\n    update.tag = ForceUpdate;\\n\\n    if (callback !== undefined && callback !== null) {\\n      {\\n        warnOnInvalidCallback(callback, 'forceUpdate');\\n      }\\n\\n      update.callback = callback;\\n    }\\n\\n    enqueueUpdate(fiber, update);\\n    scheduleWork(fiber, expirationTime);\\n  }\\n};\\n\\nfunction checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) {\\n  var instance = workInProgress.stateNode;\\n\\n  if (typeof instance.shouldComponentUpdate === 'function') {\\n    {\\n      if ( workInProgress.mode & StrictMode) {\\n        // Invoke the function an extra time to help detect side-effects.\\n        instance.shouldComponentUpdate(newProps, newState, nextContext);\\n      }\\n    }\\n\\n    startPhaseTimer(workInProgress, 'shouldComponentUpdate');\\n    var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext);\\n    stopPhaseTimer();\\n\\n    {\\n      if (shouldUpdate === undefined) {\\n        error('%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentName(ctor) || 'Component');\\n      }\\n    }\\n\\n    return shouldUpdate;\\n  }\\n\\n  if (ctor.prototype && ctor.prototype.isPureReactComponent) {\\n    return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState);\\n  }\\n\\n  return true;\\n}\\n\\nfunction checkClassInstance(workInProgress, ctor, newProps) {\\n  var instance = workInProgress.stateNode;\\n\\n  {\\n    var name = getComponentName(ctor) || 'Component';\\n    var renderPresent = instance.render;\\n\\n    if (!renderPresent) {\\n      if (ctor.prototype && typeof ctor.prototype.render === 'function') {\\n        error('%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name);\\n      } else {\\n        error('%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name);\\n      }\\n    }\\n\\n    if (instance.getInitialState && !instance.getInitialState.isReactClassApproved && !instance.state) {\\n      error('getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name);\\n    }\\n\\n    if (instance.getDefaultProps && !instance.getDefaultProps.isReactClassApproved) {\\n      error('getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name);\\n    }\\n\\n    if (instance.propTypes) {\\n      error('propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name);\\n    }\\n\\n    if (instance.contextType) {\\n      error('contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name);\\n    }\\n\\n    {\\n      if (instance.contextTypes) {\\n        error('contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name);\\n      }\\n\\n      if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) {\\n        didWarnAboutContextTypeAndContextTypes.add(ctor);\\n\\n        error('%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name);\\n      }\\n    }\\n\\n    if (typeof instance.componentShouldUpdate === 'function') {\\n      error('%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name);\\n    }\\n\\n    if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') {\\n      error('%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(ctor) || 'A pure component');\\n    }\\n\\n    if (typeof instance.componentDidUnmount === 'function') {\\n      error('%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name);\\n    }\\n\\n    if (typeof instance.componentDidReceiveProps === 'function') {\\n      error('%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name);\\n    }\\n\\n    if (typeof instance.componentWillRecieveProps === 'function') {\\n      error('%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name);\\n    }\\n\\n    if (typeof instance.UNSAFE_componentWillRecieveProps === 'function') {\\n      error('%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name);\\n    }\\n\\n    var hasMutatedProps = instance.props !== newProps;\\n\\n    if (instance.props !== undefined && hasMutatedProps) {\\n      error('%s(...): When calling super() in `%s`, make sure to pass ' + \\\"up the same props that your component's constructor was passed.\\\", name, name);\\n    }\\n\\n    if (instance.defaultProps) {\\n      error('Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name);\\n    }\\n\\n    if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) {\\n      didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor);\\n\\n      error('%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentName(ctor));\\n    }\\n\\n    if (typeof instance.getDerivedStateFromProps === 'function') {\\n      error('%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\\n    }\\n\\n    if (typeof instance.getDerivedStateFromError === 'function') {\\n      error('%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name);\\n    }\\n\\n    if (typeof ctor.getSnapshotBeforeUpdate === 'function') {\\n      error('%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name);\\n    }\\n\\n    var _state = instance.state;\\n\\n    if (_state && (typeof _state !== 'object' || isArray(_state))) {\\n      error('%s.state: must be set to an object or null', name);\\n    }\\n\\n    if (typeof instance.getChildContext === 'function' && typeof ctor.childContextTypes !== 'object') {\\n      error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name);\\n    }\\n  }\\n}\\n\\nfunction adoptClassInstance(workInProgress, instance) {\\n  instance.updater = classComponentUpdater;\\n  workInProgress.stateNode = instance; // The instance needs access to the fiber so that it can schedule updates\\n\\n  set(instance, workInProgress);\\n\\n  {\\n    instance._reactInternalInstance = fakeInternalInstance;\\n  }\\n}\\n\\nfunction constructClassInstance(workInProgress, ctor, props) {\\n  var isLegacyContextConsumer = false;\\n  var unmaskedContext = emptyContextObject;\\n  var context = emptyContextObject;\\n  var contextType = ctor.contextType;\\n\\n  {\\n    if ('contextType' in ctor) {\\n      var isValid = // Allow null for conditional declaration\\n      contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a <Context.Consumer>\\n\\n      if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) {\\n        didWarnAboutInvalidateContextType.add(ctor);\\n        var addendum = '';\\n\\n        if (contextType === undefined) {\\n          addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.';\\n        } else if (typeof contextType !== 'object') {\\n          addendum = ' However, it is set to a ' + typeof contextType + '.';\\n        } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) {\\n          addendum = ' Did you accidentally pass the Context.Provider instead?';\\n        } else if (contextType._context !== undefined) {\\n          // <Context.Consumer>\\n          addendum = ' Did you accidentally pass the Context.Consumer instead?';\\n        } else {\\n          addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';\\n        }\\n\\n        error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(ctor) || 'Component', addendum);\\n      }\\n    }\\n  }\\n\\n  if (typeof contextType === 'object' && contextType !== null) {\\n    context = readContext(contextType);\\n  } else {\\n    unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\\n    var contextTypes = ctor.contextTypes;\\n    isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined;\\n    context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject;\\n  } // Instantiate twice to help detect side-effects.\\n\\n\\n  {\\n    if ( workInProgress.mode & StrictMode) {\\n      new ctor(props, context); // eslint-disable-line no-new\\n    }\\n  }\\n\\n  var instance = new ctor(props, context);\\n  var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null;\\n  adoptClassInstance(workInProgress, instance);\\n\\n  {\\n    if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) {\\n      var componentName = getComponentName(ctor) || 'Component';\\n\\n      if (!didWarnAboutUninitializedState.has(componentName)) {\\n        didWarnAboutUninitializedState.add(componentName);\\n\\n        error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName);\\n      }\\n    } // If new component APIs are defined, \\\"unsafe\\\" lifecycles won't be called.\\n    // Warn about these lifecycles if they are present.\\n    // Don't warn about react-lifecycles-compat polyfilled methods though.\\n\\n\\n    if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') {\\n      var foundWillMountName = null;\\n      var foundWillReceivePropsName = null;\\n      var foundWillUpdateName = null;\\n\\n      if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) {\\n        foundWillMountName = 'componentWillMount';\\n      } else if (typeof instance.UNSAFE_componentWillMount === 'function') {\\n        foundWillMountName = 'UNSAFE_componentWillMount';\\n      }\\n\\n      if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) {\\n        foundWillReceivePropsName = 'componentWillReceiveProps';\\n      } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\\n        foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\\n      }\\n\\n      if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) {\\n        foundWillUpdateName = 'componentWillUpdate';\\n      } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\\n        foundWillUpdateName = 'UNSAFE_componentWillUpdate';\\n      }\\n\\n      if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) {\\n        var _componentName = getComponentName(ctor) || 'Component';\\n\\n        var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()';\\n\\n        if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) {\\n          didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName);\\n\\n          error('Unsafe legacy lifecycles will not be called for components using new component APIs.\\\\n\\\\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\\\\n\\\\n' + 'The above lifecycles should be removed. Learn more about this warning here:\\\\n' + 'https://fb.me/react-unsafe-component-lifecycles', _componentName, newApiName, foundWillMountName !== null ? \\\"\\\\n  \\\" + foundWillMountName : '', foundWillReceivePropsName !== null ? \\\"\\\\n  \\\" + foundWillReceivePropsName : '', foundWillUpdateName !== null ? \\\"\\\\n  \\\" + foundWillUpdateName : '');\\n        }\\n      }\\n    }\\n  } // Cache unmasked context so we can avoid recreating masked context unless necessary.\\n  // ReactFiberContext usually updates this cache but can't for newly-created instances.\\n\\n\\n  if (isLegacyContextConsumer) {\\n    cacheContext(workInProgress, unmaskedContext, context);\\n  }\\n\\n  return instance;\\n}\\n\\nfunction callComponentWillMount(workInProgress, instance) {\\n  startPhaseTimer(workInProgress, 'componentWillMount');\\n  var oldState = instance.state;\\n\\n  if (typeof instance.componentWillMount === 'function') {\\n    instance.componentWillMount();\\n  }\\n\\n  if (typeof instance.UNSAFE_componentWillMount === 'function') {\\n    instance.UNSAFE_componentWillMount();\\n  }\\n\\n  stopPhaseTimer();\\n\\n  if (oldState !== instance.state) {\\n    {\\n      error('%s.componentWillMount(): Assigning directly to this.state is ' + \\\"deprecated (except inside a component's \\\" + 'constructor). Use setState instead.', getComponentName(workInProgress.type) || 'Component');\\n    }\\n\\n    classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\\n  }\\n}\\n\\nfunction callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) {\\n  var oldState = instance.state;\\n  startPhaseTimer(workInProgress, 'componentWillReceiveProps');\\n\\n  if (typeof instance.componentWillReceiveProps === 'function') {\\n    instance.componentWillReceiveProps(newProps, nextContext);\\n  }\\n\\n  if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') {\\n    instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\\n  }\\n\\n  stopPhaseTimer();\\n\\n  if (instance.state !== oldState) {\\n    {\\n      var componentName = getComponentName(workInProgress.type) || 'Component';\\n\\n      if (!didWarnAboutStateAssignmentForComponent.has(componentName)) {\\n        didWarnAboutStateAssignmentForComponent.add(componentName);\\n\\n        error('%s.componentWillReceiveProps(): Assigning directly to ' + \\\"this.state is deprecated (except inside a component's \\\" + 'constructor). Use setState instead.', componentName);\\n      }\\n    }\\n\\n    classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\\n  }\\n} // Invokes the mount life-cycles on a previously never rendered instance.\\n\\n\\nfunction mountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) {\\n  {\\n    checkClassInstance(workInProgress, ctor, newProps);\\n  }\\n\\n  var instance = workInProgress.stateNode;\\n  instance.props = newProps;\\n  instance.state = workInProgress.memoizedState;\\n  instance.refs = emptyRefsObject;\\n  initializeUpdateQueue(workInProgress);\\n  var contextType = ctor.contextType;\\n\\n  if (typeof contextType === 'object' && contextType !== null) {\\n    instance.context = readContext(contextType);\\n  } else {\\n    var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\\n    instance.context = getMaskedContext(workInProgress, unmaskedContext);\\n  }\\n\\n  {\\n    if (instance.state === newProps) {\\n      var componentName = getComponentName(ctor) || 'Component';\\n\\n      if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) {\\n        didWarnAboutDirectlyAssigningPropsToState.add(componentName);\\n\\n        error('%s: It is not recommended to assign props directly to state ' + \\\"because updates to props won't be reflected in state. \\\" + 'In most cases, it is better to use props directly.', componentName);\\n      }\\n    }\\n\\n    if (workInProgress.mode & StrictMode) {\\n      ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance);\\n    }\\n\\n    {\\n      ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance);\\n    }\\n  }\\n\\n  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);\\n  instance.state = workInProgress.memoizedState;\\n  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\\n\\n  if (typeof getDerivedStateFromProps === 'function') {\\n    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\\n    instance.state = workInProgress.memoizedState;\\n  } // In order to support react-lifecycles-compat polyfilled components,\\n  // Unsafe lifecycles should not be invoked for components using the new APIs.\\n\\n\\n  if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\\n    callComponentWillMount(workInProgress, instance); // If we had additional state updates during this life-cycle, let's\\n    // process them now.\\n\\n    processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);\\n    instance.state = workInProgress.memoizedState;\\n  }\\n\\n  if (typeof instance.componentDidMount === 'function') {\\n    workInProgress.effectTag |= Update;\\n  }\\n}\\n\\nfunction resumeMountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) {\\n  var instance = workInProgress.stateNode;\\n  var oldProps = workInProgress.memoizedProps;\\n  instance.props = oldProps;\\n  var oldContext = instance.context;\\n  var contextType = ctor.contextType;\\n  var nextContext = emptyContextObject;\\n\\n  if (typeof contextType === 'object' && contextType !== null) {\\n    nextContext = readContext(contextType);\\n  } else {\\n    var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\\n    nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext);\\n  }\\n\\n  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\\n  var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\\n  // ever the previously attempted to render - not the \\\"current\\\". However,\\n  // during componentDidUpdate we pass the \\\"current\\\" props.\\n  // In order to support react-lifecycles-compat polyfilled components,\\n  // Unsafe lifecycles should not be invoked for components using the new APIs.\\n\\n  if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\\n    if (oldProps !== newProps || oldContext !== nextContext) {\\n      callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\\n    }\\n  }\\n\\n  resetHasForceUpdateBeforeProcessing();\\n  var oldState = workInProgress.memoizedState;\\n  var newState = instance.state = oldState;\\n  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);\\n  newState = workInProgress.memoizedState;\\n\\n  if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\\n    // If an update was already in progress, we should schedule an Update\\n    // effect even though we're bailing out, so that cWU/cDU are called.\\n    if (typeof instance.componentDidMount === 'function') {\\n      workInProgress.effectTag |= Update;\\n    }\\n\\n    return false;\\n  }\\n\\n  if (typeof getDerivedStateFromProps === 'function') {\\n    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\\n    newState = workInProgress.memoizedState;\\n  }\\n\\n  var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\\n\\n  if (shouldUpdate) {\\n    // In order to support react-lifecycles-compat polyfilled components,\\n    // Unsafe lifecycles should not be invoked for components using the new APIs.\\n    if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) {\\n      startPhaseTimer(workInProgress, 'componentWillMount');\\n\\n      if (typeof instance.componentWillMount === 'function') {\\n        instance.componentWillMount();\\n      }\\n\\n      if (typeof instance.UNSAFE_componentWillMount === 'function') {\\n        instance.UNSAFE_componentWillMount();\\n      }\\n\\n      stopPhaseTimer();\\n    }\\n\\n    if (typeof instance.componentDidMount === 'function') {\\n      workInProgress.effectTag |= Update;\\n    }\\n  } else {\\n    // If an update was already in progress, we should schedule an Update\\n    // effect even though we're bailing out, so that cWU/cDU are called.\\n    if (typeof instance.componentDidMount === 'function') {\\n      workInProgress.effectTag |= Update;\\n    } // If shouldComponentUpdate returned false, we should still update the\\n    // memoized state to indicate that this work can be reused.\\n\\n\\n    workInProgress.memoizedProps = newProps;\\n    workInProgress.memoizedState = newState;\\n  } // Update the existing instance's state, props, and context pointers even\\n  // if shouldComponentUpdate returns false.\\n\\n\\n  instance.props = newProps;\\n  instance.state = newState;\\n  instance.context = nextContext;\\n  return shouldUpdate;\\n} // Invokes the update life-cycles and returns false if it shouldn't rerender.\\n\\n\\nfunction updateClassInstance(current, workInProgress, ctor, newProps, renderExpirationTime) {\\n  var instance = workInProgress.stateNode;\\n  cloneUpdateQueue(current, workInProgress);\\n  var oldProps = workInProgress.memoizedProps;\\n  instance.props = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps);\\n  var oldContext = instance.context;\\n  var contextType = ctor.contextType;\\n  var nextContext = emptyContextObject;\\n\\n  if (typeof contextType === 'object' && contextType !== null) {\\n    nextContext = readContext(contextType);\\n  } else {\\n    var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true);\\n    nextContext = getMaskedContext(workInProgress, nextUnmaskedContext);\\n  }\\n\\n  var getDerivedStateFromProps = ctor.getDerivedStateFromProps;\\n  var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; // Note: During these life-cycles, instance.props/instance.state are what\\n  // ever the previously attempted to render - not the \\\"current\\\". However,\\n  // during componentDidUpdate we pass the \\\"current\\\" props.\\n  // In order to support react-lifecycles-compat polyfilled components,\\n  // Unsafe lifecycles should not be invoked for components using the new APIs.\\n\\n  if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) {\\n    if (oldProps !== newProps || oldContext !== nextContext) {\\n      callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext);\\n    }\\n  }\\n\\n  resetHasForceUpdateBeforeProcessing();\\n  var oldState = workInProgress.memoizedState;\\n  var newState = instance.state = oldState;\\n  processUpdateQueue(workInProgress, newProps, instance, renderExpirationTime);\\n  newState = workInProgress.memoizedState;\\n\\n  if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) {\\n    // If an update was already in progress, we should schedule an Update\\n    // effect even though we're bailing out, so that cWU/cDU are called.\\n    if (typeof instance.componentDidUpdate === 'function') {\\n      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {\\n        workInProgress.effectTag |= Update;\\n      }\\n    }\\n\\n    if (typeof instance.getSnapshotBeforeUpdate === 'function') {\\n      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {\\n        workInProgress.effectTag |= Snapshot;\\n      }\\n    }\\n\\n    return false;\\n  }\\n\\n  if (typeof getDerivedStateFromProps === 'function') {\\n    applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps);\\n    newState = workInProgress.memoizedState;\\n  }\\n\\n  var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext);\\n\\n  if (shouldUpdate) {\\n    // In order to support react-lifecycles-compat polyfilled components,\\n    // Unsafe lifecycles should not be invoked for components using the new APIs.\\n    if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) {\\n      startPhaseTimer(workInProgress, 'componentWillUpdate');\\n\\n      if (typeof instance.componentWillUpdate === 'function') {\\n        instance.componentWillUpdate(newProps, newState, nextContext);\\n      }\\n\\n      if (typeof instance.UNSAFE_componentWillUpdate === 'function') {\\n        instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext);\\n      }\\n\\n      stopPhaseTimer();\\n    }\\n\\n    if (typeof instance.componentDidUpdate === 'function') {\\n      workInProgress.effectTag |= Update;\\n    }\\n\\n    if (typeof instance.getSnapshotBeforeUpdate === 'function') {\\n      workInProgress.effectTag |= Snapshot;\\n    }\\n  } else {\\n    // If an update was already in progress, we should schedule an Update\\n    // effect even though we're bailing out, so that cWU/cDU are called.\\n    if (typeof instance.componentDidUpdate === 'function') {\\n      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {\\n        workInProgress.effectTag |= Update;\\n      }\\n    }\\n\\n    if (typeof instance.getSnapshotBeforeUpdate === 'function') {\\n      if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) {\\n        workInProgress.effectTag |= Snapshot;\\n      }\\n    } // If shouldComponentUpdate returned false, we should still update the\\n    // memoized props/state to indicate that this work can be reused.\\n\\n\\n    workInProgress.memoizedProps = newProps;\\n    workInProgress.memoizedState = newState;\\n  } // Update the existing instance's state, props, and context pointers even\\n  // if shouldComponentUpdate returns false.\\n\\n\\n  instance.props = newProps;\\n  instance.state = newState;\\n  instance.context = nextContext;\\n  return shouldUpdate;\\n}\\n\\nvar didWarnAboutMaps;\\nvar didWarnAboutGenerators;\\nvar didWarnAboutStringRefs;\\nvar ownerHasKeyUseWarning;\\nvar ownerHasFunctionTypeWarning;\\n\\nvar warnForMissingKey = function (child) {};\\n\\n{\\n  didWarnAboutMaps = false;\\n  didWarnAboutGenerators = false;\\n  didWarnAboutStringRefs = {};\\n  /**\\n   * Warn if there's no key explicitly set on dynamic arrays of children or\\n   * object keys are not valid. This allows us to keep track of children between\\n   * updates.\\n   */\\n\\n  ownerHasKeyUseWarning = {};\\n  ownerHasFunctionTypeWarning = {};\\n\\n  warnForMissingKey = function (child) {\\n    if (child === null || typeof child !== 'object') {\\n      return;\\n    }\\n\\n    if (!child._store || child._store.validated || child.key != null) {\\n      return;\\n    }\\n\\n    if (!(typeof child._store === 'object')) {\\n      {\\n        throw Error( \\\"React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n\\n    child._store.validated = true;\\n    var currentComponentErrorInfo = 'Each child in a list should have a unique ' + '\\\"key\\\" prop. See https://fb.me/react-warning-keys for ' + 'more information.' + getCurrentFiberStackInDev();\\n\\n    if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\\n      return;\\n    }\\n\\n    ownerHasKeyUseWarning[currentComponentErrorInfo] = true;\\n\\n    error('Each child in a list should have a unique ' + '\\\"key\\\" prop. See https://fb.me/react-warning-keys for ' + 'more information.');\\n  };\\n}\\n\\nvar isArray$1 = Array.isArray;\\n\\nfunction coerceRef(returnFiber, current, element) {\\n  var mixedRef = element.ref;\\n\\n  if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') {\\n    {\\n      // TODO: Clean this up once we turn on the string ref warning for\\n      // everyone, because the strict mode case will no longer be relevant\\n      if ((returnFiber.mode & StrictMode || warnAboutStringRefs) && // We warn in ReactElement.js if owner and self are equal for string refs\\n      // because these cannot be automatically converted to an arrow function\\n      // using a codemod. Therefore, we don't have to warn about string refs again.\\n      !(element._owner && element._self && element._owner.stateNode !== element._self)) {\\n        var componentName = getComponentName(returnFiber.type) || 'Component';\\n\\n        if (!didWarnAboutStringRefs[componentName]) {\\n          {\\n            error('A string ref, \\\"%s\\\", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref%s', mixedRef, getStackByFiberInDevAndProd(returnFiber));\\n          }\\n\\n          didWarnAboutStringRefs[componentName] = true;\\n        }\\n      }\\n    }\\n\\n    if (element._owner) {\\n      var owner = element._owner;\\n      var inst;\\n\\n      if (owner) {\\n        var ownerFiber = owner;\\n\\n        if (!(ownerFiber.tag === ClassComponent)) {\\n          {\\n            throw Error( \\\"Function components cannot have string refs. We recommend using useRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref\\\" );\\n          }\\n        }\\n\\n        inst = ownerFiber.stateNode;\\n      }\\n\\n      if (!inst) {\\n        {\\n          throw Error( \\\"Missing owner for string ref \\\" + mixedRef + \\\". This error is likely caused by a bug in React. Please file an issue.\\\" );\\n        }\\n      }\\n\\n      var stringRef = '' + mixedRef; // Check if previous string ref matches new string ref\\n\\n      if (current !== null && current.ref !== null && typeof current.ref === 'function' && current.ref._stringRef === stringRef) {\\n        return current.ref;\\n      }\\n\\n      var ref = function (value) {\\n        var refs = inst.refs;\\n\\n        if (refs === emptyRefsObject) {\\n          // This is a lazy pooled frozen object, so we need to initialize.\\n          refs = inst.refs = {};\\n        }\\n\\n        if (value === null) {\\n          delete refs[stringRef];\\n        } else {\\n          refs[stringRef] = value;\\n        }\\n      };\\n\\n      ref._stringRef = stringRef;\\n      return ref;\\n    } else {\\n      if (!(typeof mixedRef === 'string')) {\\n        {\\n          throw Error( \\\"Expected ref to be a function, a string, an object returned by React.createRef(), or null.\\\" );\\n        }\\n      }\\n\\n      if (!element._owner) {\\n        {\\n          throw Error( \\\"Element ref was specified as a string (\\\" + mixedRef + \\\") but no owner was set. This could happen for one of the following reasons:\\\\n1. You may be adding a ref to a function component\\\\n2. You may be adding a ref to a component that was not created inside a component's render method\\\\n3. You have multiple copies of React loaded\\\\nSee https://fb.me/react-refs-must-have-owner for more information.\\\" );\\n        }\\n      }\\n    }\\n  }\\n\\n  return mixedRef;\\n}\\n\\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\\n  if (returnFiber.type !== 'textarea') {\\n    var addendum = '';\\n\\n    {\\n      addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + getCurrentFiberStackInDev();\\n    }\\n\\n    {\\n      {\\n        throw Error( \\\"Objects are not valid as a React child (found: \\\" + (Object.prototype.toString.call(newChild) === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : newChild) + \\\").\\\" + addendum );\\n      }\\n    }\\n  }\\n}\\n\\nfunction warnOnFunctionType() {\\n  {\\n    var currentComponentErrorInfo = 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.' + getCurrentFiberStackInDev();\\n\\n    if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) {\\n      return;\\n    }\\n\\n    ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true;\\n\\n    error('Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of <Component /> from render. ' + 'Or maybe you meant to call this function rather than return it.');\\n  }\\n} // This wrapper function exists because I expect to clone the code in each path\\n// to be able to optimize each path individually by branching early. This needs\\n// a compiler or we can do it manually. Helpers that don't need this branching\\n// live outside of this function.\\n\\n\\nfunction ChildReconciler(shouldTrackSideEffects) {\\n  function deleteChild(returnFiber, childToDelete) {\\n    if (!shouldTrackSideEffects) {\\n      // Noop.\\n      return;\\n    } // Deletions are added in reversed order so we add it to the front.\\n    // At this point, the return fiber's effect list is empty except for\\n    // deletions, so we can just append the deletion to the list. The remaining\\n    // effects aren't added until the complete phase. Once we implement\\n    // resuming, this may not be true.\\n\\n\\n    var last = returnFiber.lastEffect;\\n\\n    if (last !== null) {\\n      last.nextEffect = childToDelete;\\n      returnFiber.lastEffect = childToDelete;\\n    } else {\\n      returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;\\n    }\\n\\n    childToDelete.nextEffect = null;\\n    childToDelete.effectTag = Deletion;\\n  }\\n\\n  function deleteRemainingChildren(returnFiber, currentFirstChild) {\\n    if (!shouldTrackSideEffects) {\\n      // Noop.\\n      return null;\\n    } // TODO: For the shouldClone case, this could be micro-optimized a bit by\\n    // assuming that after the first child we've already added everything.\\n\\n\\n    var childToDelete = currentFirstChild;\\n\\n    while (childToDelete !== null) {\\n      deleteChild(returnFiber, childToDelete);\\n      childToDelete = childToDelete.sibling;\\n    }\\n\\n    return null;\\n  }\\n\\n  function mapRemainingChildren(returnFiber, currentFirstChild) {\\n    // Add the remaining children to a temporary map so that we can find them by\\n    // keys quickly. Implicit (null) keys get added to this set with their index\\n    // instead.\\n    var existingChildren = new Map();\\n    var existingChild = currentFirstChild;\\n\\n    while (existingChild !== null) {\\n      if (existingChild.key !== null) {\\n        existingChildren.set(existingChild.key, existingChild);\\n      } else {\\n        existingChildren.set(existingChild.index, existingChild);\\n      }\\n\\n      existingChild = existingChild.sibling;\\n    }\\n\\n    return existingChildren;\\n  }\\n\\n  function useFiber(fiber, pendingProps) {\\n    // We currently set sibling to null and index to 0 here because it is easy\\n    // to forget to do before returning it. E.g. for the single child case.\\n    var clone = createWorkInProgress(fiber, pendingProps);\\n    clone.index = 0;\\n    clone.sibling = null;\\n    return clone;\\n  }\\n\\n  function placeChild(newFiber, lastPlacedIndex, newIndex) {\\n    newFiber.index = newIndex;\\n\\n    if (!shouldTrackSideEffects) {\\n      // Noop.\\n      return lastPlacedIndex;\\n    }\\n\\n    var current = newFiber.alternate;\\n\\n    if (current !== null) {\\n      var oldIndex = current.index;\\n\\n      if (oldIndex < lastPlacedIndex) {\\n        // This is a move.\\n        newFiber.effectTag = Placement;\\n        return lastPlacedIndex;\\n      } else {\\n        // This item can stay in place.\\n        return oldIndex;\\n      }\\n    } else {\\n      // This is an insertion.\\n      newFiber.effectTag = Placement;\\n      return lastPlacedIndex;\\n    }\\n  }\\n\\n  function placeSingleChild(newFiber) {\\n    // This is simpler for the single child case. We only need to do a\\n    // placement for inserting new children.\\n    if (shouldTrackSideEffects && newFiber.alternate === null) {\\n      newFiber.effectTag = Placement;\\n    }\\n\\n    return newFiber;\\n  }\\n\\n  function updateTextNode(returnFiber, current, textContent, expirationTime) {\\n    if (current === null || current.tag !== HostText) {\\n      // Insert\\n      var created = createFiberFromText(textContent, returnFiber.mode, expirationTime);\\n      created.return = returnFiber;\\n      return created;\\n    } else {\\n      // Update\\n      var existing = useFiber(current, textContent);\\n      existing.return = returnFiber;\\n      return existing;\\n    }\\n  }\\n\\n  function updateElement(returnFiber, current, element, expirationTime) {\\n    if (current !== null) {\\n      if (current.elementType === element.type || ( // Keep this check inline so it only runs on the false path:\\n       isCompatibleFamilyForHotReloading(current, element) )) {\\n        // Move based on index\\n        var existing = useFiber(current, element.props);\\n        existing.ref = coerceRef(returnFiber, current, element);\\n        existing.return = returnFiber;\\n\\n        {\\n          existing._debugSource = element._source;\\n          existing._debugOwner = element._owner;\\n        }\\n\\n        return existing;\\n      }\\n    } // Insert\\n\\n\\n    var created = createFiberFromElement(element, returnFiber.mode, expirationTime);\\n    created.ref = coerceRef(returnFiber, current, element);\\n    created.return = returnFiber;\\n    return created;\\n  }\\n\\n  function updatePortal(returnFiber, current, portal, expirationTime) {\\n    if (current === null || current.tag !== HostPortal || current.stateNode.containerInfo !== portal.containerInfo || current.stateNode.implementation !== portal.implementation) {\\n      // Insert\\n      var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime);\\n      created.return = returnFiber;\\n      return created;\\n    } else {\\n      // Update\\n      var existing = useFiber(current, portal.children || []);\\n      existing.return = returnFiber;\\n      return existing;\\n    }\\n  }\\n\\n  function updateFragment(returnFiber, current, fragment, expirationTime, key) {\\n    if (current === null || current.tag !== Fragment) {\\n      // Insert\\n      var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key);\\n      created.return = returnFiber;\\n      return created;\\n    } else {\\n      // Update\\n      var existing = useFiber(current, fragment);\\n      existing.return = returnFiber;\\n      return existing;\\n    }\\n  }\\n\\n  function createChild(returnFiber, newChild, expirationTime) {\\n    if (typeof newChild === 'string' || typeof newChild === 'number') {\\n      // Text nodes don't have keys. If the previous node is implicitly keyed\\n      // we can continue to replace it without aborting even if it is not a text\\n      // node.\\n      var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime);\\n      created.return = returnFiber;\\n      return created;\\n    }\\n\\n    if (typeof newChild === 'object' && newChild !== null) {\\n      switch (newChild.$$typeof) {\\n        case REACT_ELEMENT_TYPE:\\n          {\\n            var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime);\\n\\n            _created.ref = coerceRef(returnFiber, null, newChild);\\n            _created.return = returnFiber;\\n            return _created;\\n          }\\n\\n        case REACT_PORTAL_TYPE:\\n          {\\n            var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime);\\n\\n            _created2.return = returnFiber;\\n            return _created2;\\n          }\\n      }\\n\\n      if (isArray$1(newChild) || getIteratorFn(newChild)) {\\n        var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null);\\n\\n        _created3.return = returnFiber;\\n        return _created3;\\n      }\\n\\n      throwOnInvalidObjectType(returnFiber, newChild);\\n    }\\n\\n    {\\n      if (typeof newChild === 'function') {\\n        warnOnFunctionType();\\n      }\\n    }\\n\\n    return null;\\n  }\\n\\n  function updateSlot(returnFiber, oldFiber, newChild, expirationTime) {\\n    // Update the fiber if the keys match, otherwise return null.\\n    var key = oldFiber !== null ? oldFiber.key : null;\\n\\n    if (typeof newChild === 'string' || typeof newChild === 'number') {\\n      // Text nodes don't have keys. If the previous node is implicitly keyed\\n      // we can continue to replace it without aborting even if it is not a text\\n      // node.\\n      if (key !== null) {\\n        return null;\\n      }\\n\\n      return updateTextNode(returnFiber, oldFiber, '' + newChild, expirationTime);\\n    }\\n\\n    if (typeof newChild === 'object' && newChild !== null) {\\n      switch (newChild.$$typeof) {\\n        case REACT_ELEMENT_TYPE:\\n          {\\n            if (newChild.key === key) {\\n              if (newChild.type === REACT_FRAGMENT_TYPE) {\\n                return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key);\\n              }\\n\\n              return updateElement(returnFiber, oldFiber, newChild, expirationTime);\\n            } else {\\n              return null;\\n            }\\n          }\\n\\n        case REACT_PORTAL_TYPE:\\n          {\\n            if (newChild.key === key) {\\n              return updatePortal(returnFiber, oldFiber, newChild, expirationTime);\\n            } else {\\n              return null;\\n            }\\n          }\\n      }\\n\\n      if (isArray$1(newChild) || getIteratorFn(newChild)) {\\n        if (key !== null) {\\n          return null;\\n        }\\n\\n        return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null);\\n      }\\n\\n      throwOnInvalidObjectType(returnFiber, newChild);\\n    }\\n\\n    {\\n      if (typeof newChild === 'function') {\\n        warnOnFunctionType();\\n      }\\n    }\\n\\n    return null;\\n  }\\n\\n  function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) {\\n    if (typeof newChild === 'string' || typeof newChild === 'number') {\\n      // Text nodes don't have keys, so we neither have to check the old nor\\n      // new node for the key. If both are text nodes, they match.\\n      var matchedFiber = existingChildren.get(newIdx) || null;\\n      return updateTextNode(returnFiber, matchedFiber, '' + newChild, expirationTime);\\n    }\\n\\n    if (typeof newChild === 'object' && newChild !== null) {\\n      switch (newChild.$$typeof) {\\n        case REACT_ELEMENT_TYPE:\\n          {\\n            var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\\n\\n            if (newChild.type === REACT_FRAGMENT_TYPE) {\\n              return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key);\\n            }\\n\\n            return updateElement(returnFiber, _matchedFiber, newChild, expirationTime);\\n          }\\n\\n        case REACT_PORTAL_TYPE:\\n          {\\n            var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null;\\n\\n            return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime);\\n          }\\n      }\\n\\n      if (isArray$1(newChild) || getIteratorFn(newChild)) {\\n        var _matchedFiber3 = existingChildren.get(newIdx) || null;\\n\\n        return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null);\\n      }\\n\\n      throwOnInvalidObjectType(returnFiber, newChild);\\n    }\\n\\n    {\\n      if (typeof newChild === 'function') {\\n        warnOnFunctionType();\\n      }\\n    }\\n\\n    return null;\\n  }\\n  /**\\n   * Warns if there is a duplicate or missing key\\n   */\\n\\n\\n  function warnOnInvalidKey(child, knownKeys) {\\n    {\\n      if (typeof child !== 'object' || child === null) {\\n        return knownKeys;\\n      }\\n\\n      switch (child.$$typeof) {\\n        case REACT_ELEMENT_TYPE:\\n        case REACT_PORTAL_TYPE:\\n          warnForMissingKey(child);\\n          var key = child.key;\\n\\n          if (typeof key !== 'string') {\\n            break;\\n          }\\n\\n          if (knownKeys === null) {\\n            knownKeys = new Set();\\n            knownKeys.add(key);\\n            break;\\n          }\\n\\n          if (!knownKeys.has(key)) {\\n            knownKeys.add(key);\\n            break;\\n          }\\n\\n          error('Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key);\\n\\n          break;\\n      }\\n    }\\n\\n    return knownKeys;\\n  }\\n\\n  function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) {\\n    // This algorithm can't optimize by searching from both ends since we\\n    // don't have backpointers on fibers. I'm trying to see how far we can get\\n    // with that model. If it ends up not being worth the tradeoffs, we can\\n    // add it later.\\n    // Even with a two ended optimization, we'd want to optimize for the case\\n    // where there are few changes and brute force the comparison instead of\\n    // going for the Map. It'd like to explore hitting that path first in\\n    // forward-only mode and only go for the Map once we notice that we need\\n    // lots of look ahead. This doesn't handle reversal as well as two ended\\n    // search but that's unusual. Besides, for the two ended optimization to\\n    // work on Iterables, we'd need to copy the whole set.\\n    // In this first iteration, we'll just live with hitting the bad case\\n    // (adding everything to a Map) in for every insert/move.\\n    // If you change this code, also update reconcileChildrenIterator() which\\n    // uses the same algorithm.\\n    {\\n      // First, validate keys.\\n      var knownKeys = null;\\n\\n      for (var i = 0; i < newChildren.length; i++) {\\n        var child = newChildren[i];\\n        knownKeys = warnOnInvalidKey(child, knownKeys);\\n      }\\n    }\\n\\n    var resultingFirstChild = null;\\n    var previousNewFiber = null;\\n    var oldFiber = currentFirstChild;\\n    var lastPlacedIndex = 0;\\n    var newIdx = 0;\\n    var nextOldFiber = null;\\n\\n    for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) {\\n      if (oldFiber.index > newIdx) {\\n        nextOldFiber = oldFiber;\\n        oldFiber = null;\\n      } else {\\n        nextOldFiber = oldFiber.sibling;\\n      }\\n\\n      var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime);\\n\\n      if (newFiber === null) {\\n        // TODO: This breaks on empty slots like null children. That's\\n        // unfortunate because it triggers the slow path all the time. We need\\n        // a better way to communicate whether this was a miss or null,\\n        // boolean, undefined, etc.\\n        if (oldFiber === null) {\\n          oldFiber = nextOldFiber;\\n        }\\n\\n        break;\\n      }\\n\\n      if (shouldTrackSideEffects) {\\n        if (oldFiber && newFiber.alternate === null) {\\n          // We matched the slot, but we didn't reuse the existing fiber, so we\\n          // need to delete the existing child.\\n          deleteChild(returnFiber, oldFiber);\\n        }\\n      }\\n\\n      lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\\n\\n      if (previousNewFiber === null) {\\n        // TODO: Move out of the loop. This only happens for the first run.\\n        resultingFirstChild = newFiber;\\n      } else {\\n        // TODO: Defer siblings if we're not at the right index for this slot.\\n        // I.e. if we had null values before, then we want to defer this\\n        // for each null value. However, we also don't want to call updateSlot\\n        // with the previous one.\\n        previousNewFiber.sibling = newFiber;\\n      }\\n\\n      previousNewFiber = newFiber;\\n      oldFiber = nextOldFiber;\\n    }\\n\\n    if (newIdx === newChildren.length) {\\n      // We've reached the end of the new children. We can delete the rest.\\n      deleteRemainingChildren(returnFiber, oldFiber);\\n      return resultingFirstChild;\\n    }\\n\\n    if (oldFiber === null) {\\n      // If we don't have any more existing children we can choose a fast path\\n      // since the rest will all be insertions.\\n      for (; newIdx < newChildren.length; newIdx++) {\\n        var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime);\\n\\n        if (_newFiber === null) {\\n          continue;\\n        }\\n\\n        lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx);\\n\\n        if (previousNewFiber === null) {\\n          // TODO: Move out of the loop. This only happens for the first run.\\n          resultingFirstChild = _newFiber;\\n        } else {\\n          previousNewFiber.sibling = _newFiber;\\n        }\\n\\n        previousNewFiber = _newFiber;\\n      }\\n\\n      return resultingFirstChild;\\n    } // Add all children to a key map for quick lookups.\\n\\n\\n    var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\\n\\n    for (; newIdx < newChildren.length; newIdx++) {\\n      var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime);\\n\\n      if (_newFiber2 !== null) {\\n        if (shouldTrackSideEffects) {\\n          if (_newFiber2.alternate !== null) {\\n            // The new fiber is a work in progress, but if there exists a\\n            // current, that means that we reused the fiber. We need to delete\\n            // it from the child list so that we don't add it to the deletion\\n            // list.\\n            existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key);\\n          }\\n        }\\n\\n        lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx);\\n\\n        if (previousNewFiber === null) {\\n          resultingFirstChild = _newFiber2;\\n        } else {\\n          previousNewFiber.sibling = _newFiber2;\\n        }\\n\\n        previousNewFiber = _newFiber2;\\n      }\\n    }\\n\\n    if (shouldTrackSideEffects) {\\n      // Any existing children that weren't consumed above were deleted. We need\\n      // to add them to the deletion list.\\n      existingChildren.forEach(function (child) {\\n        return deleteChild(returnFiber, child);\\n      });\\n    }\\n\\n    return resultingFirstChild;\\n  }\\n\\n  function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) {\\n    // This is the same implementation as reconcileChildrenArray(),\\n    // but using the iterator instead.\\n    var iteratorFn = getIteratorFn(newChildrenIterable);\\n\\n    if (!(typeof iteratorFn === 'function')) {\\n      {\\n        throw Error( \\\"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n      }\\n    }\\n\\n    {\\n      // We don't support rendering Generators because it's a mutation.\\n      // See https://github.com/facebook/react/issues/12995\\n      if (typeof Symbol === 'function' && // $FlowFixMe Flow doesn't know about toStringTag\\n      newChildrenIterable[Symbol.toStringTag] === 'Generator') {\\n        if (!didWarnAboutGenerators) {\\n          error('Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.');\\n        }\\n\\n        didWarnAboutGenerators = true;\\n      } // Warn about using Maps as children\\n\\n\\n      if (newChildrenIterable.entries === iteratorFn) {\\n        if (!didWarnAboutMaps) {\\n          error('Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.');\\n        }\\n\\n        didWarnAboutMaps = true;\\n      } // First, validate keys.\\n      // We'll get a different iterator later for the main pass.\\n\\n\\n      var _newChildren = iteratorFn.call(newChildrenIterable);\\n\\n      if (_newChildren) {\\n        var knownKeys = null;\\n\\n        var _step = _newChildren.next();\\n\\n        for (; !_step.done; _step = _newChildren.next()) {\\n          var child = _step.value;\\n          knownKeys = warnOnInvalidKey(child, knownKeys);\\n        }\\n      }\\n    }\\n\\n    var newChildren = iteratorFn.call(newChildrenIterable);\\n\\n    if (!(newChildren != null)) {\\n      {\\n        throw Error( \\\"An iterable object provided no iterator.\\\" );\\n      }\\n    }\\n\\n    var resultingFirstChild = null;\\n    var previousNewFiber = null;\\n    var oldFiber = currentFirstChild;\\n    var lastPlacedIndex = 0;\\n    var newIdx = 0;\\n    var nextOldFiber = null;\\n    var step = newChildren.next();\\n\\n    for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) {\\n      if (oldFiber.index > newIdx) {\\n        nextOldFiber = oldFiber;\\n        oldFiber = null;\\n      } else {\\n        nextOldFiber = oldFiber.sibling;\\n      }\\n\\n      var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime);\\n\\n      if (newFiber === null) {\\n        // TODO: This breaks on empty slots like null children. That's\\n        // unfortunate because it triggers the slow path all the time. We need\\n        // a better way to communicate whether this was a miss or null,\\n        // boolean, undefined, etc.\\n        if (oldFiber === null) {\\n          oldFiber = nextOldFiber;\\n        }\\n\\n        break;\\n      }\\n\\n      if (shouldTrackSideEffects) {\\n        if (oldFiber && newFiber.alternate === null) {\\n          // We matched the slot, but we didn't reuse the existing fiber, so we\\n          // need to delete the existing child.\\n          deleteChild(returnFiber, oldFiber);\\n        }\\n      }\\n\\n      lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx);\\n\\n      if (previousNewFiber === null) {\\n        // TODO: Move out of the loop. This only happens for the first run.\\n        resultingFirstChild = newFiber;\\n      } else {\\n        // TODO: Defer siblings if we're not at the right index for this slot.\\n        // I.e. if we had null values before, then we want to defer this\\n        // for each null value. However, we also don't want to call updateSlot\\n        // with the previous one.\\n        previousNewFiber.sibling = newFiber;\\n      }\\n\\n      previousNewFiber = newFiber;\\n      oldFiber = nextOldFiber;\\n    }\\n\\n    if (step.done) {\\n      // We've reached the end of the new children. We can delete the rest.\\n      deleteRemainingChildren(returnFiber, oldFiber);\\n      return resultingFirstChild;\\n    }\\n\\n    if (oldFiber === null) {\\n      // If we don't have any more existing children we can choose a fast path\\n      // since the rest will all be insertions.\\n      for (; !step.done; newIdx++, step = newChildren.next()) {\\n        var _newFiber3 = createChild(returnFiber, step.value, expirationTime);\\n\\n        if (_newFiber3 === null) {\\n          continue;\\n        }\\n\\n        lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx);\\n\\n        if (previousNewFiber === null) {\\n          // TODO: Move out of the loop. This only happens for the first run.\\n          resultingFirstChild = _newFiber3;\\n        } else {\\n          previousNewFiber.sibling = _newFiber3;\\n        }\\n\\n        previousNewFiber = _newFiber3;\\n      }\\n\\n      return resultingFirstChild;\\n    } // Add all children to a key map for quick lookups.\\n\\n\\n    var existingChildren = mapRemainingChildren(returnFiber, oldFiber); // Keep scanning and use the map to restore deleted items as moves.\\n\\n    for (; !step.done; newIdx++, step = newChildren.next()) {\\n      var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime);\\n\\n      if (_newFiber4 !== null) {\\n        if (shouldTrackSideEffects) {\\n          if (_newFiber4.alternate !== null) {\\n            // The new fiber is a work in progress, but if there exists a\\n            // current, that means that we reused the fiber. We need to delete\\n            // it from the child list so that we don't add it to the deletion\\n            // list.\\n            existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key);\\n          }\\n        }\\n\\n        lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx);\\n\\n        if (previousNewFiber === null) {\\n          resultingFirstChild = _newFiber4;\\n        } else {\\n          previousNewFiber.sibling = _newFiber4;\\n        }\\n\\n        previousNewFiber = _newFiber4;\\n      }\\n    }\\n\\n    if (shouldTrackSideEffects) {\\n      // Any existing children that weren't consumed above were deleted. We need\\n      // to add them to the deletion list.\\n      existingChildren.forEach(function (child) {\\n        return deleteChild(returnFiber, child);\\n      });\\n    }\\n\\n    return resultingFirstChild;\\n  }\\n\\n  function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) {\\n    // There's no need to check for keys on text nodes since we don't have a\\n    // way to define them.\\n    if (currentFirstChild !== null && currentFirstChild.tag === HostText) {\\n      // We already have an existing node so let's just update it and delete\\n      // the rest.\\n      deleteRemainingChildren(returnFiber, currentFirstChild.sibling);\\n      var existing = useFiber(currentFirstChild, textContent);\\n      existing.return = returnFiber;\\n      return existing;\\n    } // The existing first child is not a text node so we need to create one\\n    // and delete the existing ones.\\n\\n\\n    deleteRemainingChildren(returnFiber, currentFirstChild);\\n    var created = createFiberFromText(textContent, returnFiber.mode, expirationTime);\\n    created.return = returnFiber;\\n    return created;\\n  }\\n\\n  function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) {\\n    var key = element.key;\\n    var child = currentFirstChild;\\n\\n    while (child !== null) {\\n      // TODO: If key === null and child.key === null, then this only applies to\\n      // the first item in the list.\\n      if (child.key === key) {\\n        switch (child.tag) {\\n          case Fragment:\\n            {\\n              if (element.type === REACT_FRAGMENT_TYPE) {\\n                deleteRemainingChildren(returnFiber, child.sibling);\\n                var existing = useFiber(child, element.props.children);\\n                existing.return = returnFiber;\\n\\n                {\\n                  existing._debugSource = element._source;\\n                  existing._debugOwner = element._owner;\\n                }\\n\\n                return existing;\\n              }\\n\\n              break;\\n            }\\n\\n          case Block:\\n\\n          // We intentionally fallthrough here if enableBlocksAPI is not on.\\n          // eslint-disable-next-lined no-fallthrough\\n\\n          default:\\n            {\\n              if (child.elementType === element.type || ( // Keep this check inline so it only runs on the false path:\\n               isCompatibleFamilyForHotReloading(child, element) )) {\\n                deleteRemainingChildren(returnFiber, child.sibling);\\n\\n                var _existing3 = useFiber(child, element.props);\\n\\n                _existing3.ref = coerceRef(returnFiber, child, element);\\n                _existing3.return = returnFiber;\\n\\n                {\\n                  _existing3._debugSource = element._source;\\n                  _existing3._debugOwner = element._owner;\\n                }\\n\\n                return _existing3;\\n              }\\n\\n              break;\\n            }\\n        } // Didn't match.\\n\\n\\n        deleteRemainingChildren(returnFiber, child);\\n        break;\\n      } else {\\n        deleteChild(returnFiber, child);\\n      }\\n\\n      child = child.sibling;\\n    }\\n\\n    if (element.type === REACT_FRAGMENT_TYPE) {\\n      var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key);\\n      created.return = returnFiber;\\n      return created;\\n    } else {\\n      var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime);\\n\\n      _created4.ref = coerceRef(returnFiber, currentFirstChild, element);\\n      _created4.return = returnFiber;\\n      return _created4;\\n    }\\n  }\\n\\n  function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) {\\n    var key = portal.key;\\n    var child = currentFirstChild;\\n\\n    while (child !== null) {\\n      // TODO: If key === null and child.key === null, then this only applies to\\n      // the first item in the list.\\n      if (child.key === key) {\\n        if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) {\\n          deleteRemainingChildren(returnFiber, child.sibling);\\n          var existing = useFiber(child, portal.children || []);\\n          existing.return = returnFiber;\\n          return existing;\\n        } else {\\n          deleteRemainingChildren(returnFiber, child);\\n          break;\\n        }\\n      } else {\\n        deleteChild(returnFiber, child);\\n      }\\n\\n      child = child.sibling;\\n    }\\n\\n    var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime);\\n    created.return = returnFiber;\\n    return created;\\n  } // This API will tag the children with the side-effect of the reconciliation\\n  // itself. They will be added to the side-effect list as we pass through the\\n  // children and the parent.\\n\\n\\n  function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) {\\n    // This function is not recursive.\\n    // If the top level item is an array, we treat it as a set of children,\\n    // not as a fragment. Nested arrays on the other hand will be treated as\\n    // fragment nodes. Recursion happens at the normal flow.\\n    // Handle top level unkeyed fragments as if they were arrays.\\n    // This leads to an ambiguity between <>{[...]}</> and <>...</>.\\n    // We treat the ambiguous cases above the same.\\n    var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null;\\n\\n    if (isUnkeyedTopLevelFragment) {\\n      newChild = newChild.props.children;\\n    } // Handle object types\\n\\n\\n    var isObject = typeof newChild === 'object' && newChild !== null;\\n\\n    if (isObject) {\\n      switch (newChild.$$typeof) {\\n        case REACT_ELEMENT_TYPE:\\n          return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime));\\n\\n        case REACT_PORTAL_TYPE:\\n          return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime));\\n      }\\n    }\\n\\n    if (typeof newChild === 'string' || typeof newChild === 'number') {\\n      return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, expirationTime));\\n    }\\n\\n    if (isArray$1(newChild)) {\\n      return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime);\\n    }\\n\\n    if (getIteratorFn(newChild)) {\\n      return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime);\\n    }\\n\\n    if (isObject) {\\n      throwOnInvalidObjectType(returnFiber, newChild);\\n    }\\n\\n    {\\n      if (typeof newChild === 'function') {\\n        warnOnFunctionType();\\n      }\\n    }\\n\\n    if (typeof newChild === 'undefined' && !isUnkeyedTopLevelFragment) {\\n      // If the new child is undefined, and the return fiber is a composite\\n      // component, throw an error. If Fiber return types are disabled,\\n      // we already threw above.\\n      switch (returnFiber.tag) {\\n        case ClassComponent:\\n          {\\n            {\\n              var instance = returnFiber.stateNode;\\n\\n              if (instance.render._isMockFunction) {\\n                // We allow auto-mocks to proceed as if they're returning null.\\n                break;\\n              }\\n            }\\n          }\\n        // Intentionally fall through to the next case, which handles both\\n        // functions and classes\\n        // eslint-disable-next-lined no-fallthrough\\n\\n        case FunctionComponent:\\n          {\\n            var Component = returnFiber.type;\\n\\n            {\\n              {\\n                throw Error( (Component.displayName || Component.name || 'Component') + \\\"(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.\\\" );\\n              }\\n            }\\n          }\\n      }\\n    } // Remaining cases are all treated as empty.\\n\\n\\n    return deleteRemainingChildren(returnFiber, currentFirstChild);\\n  }\\n\\n  return reconcileChildFibers;\\n}\\n\\nvar reconcileChildFibers = ChildReconciler(true);\\nvar mountChildFibers = ChildReconciler(false);\\nfunction cloneChildFibers(current, workInProgress) {\\n  if (!(current === null || workInProgress.child === current.child)) {\\n    {\\n      throw Error( \\\"Resuming work not yet implemented.\\\" );\\n    }\\n  }\\n\\n  if (workInProgress.child === null) {\\n    return;\\n  }\\n\\n  var currentChild = workInProgress.child;\\n  var newChild = createWorkInProgress(currentChild, currentChild.pendingProps);\\n  workInProgress.child = newChild;\\n  newChild.return = workInProgress;\\n\\n  while (currentChild.sibling !== null) {\\n    currentChild = currentChild.sibling;\\n    newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps);\\n    newChild.return = workInProgress;\\n  }\\n\\n  newChild.sibling = null;\\n} // Reset a workInProgress child set to prepare it for a second pass.\\n\\nfunction resetChildFibers(workInProgress, renderExpirationTime) {\\n  var child = workInProgress.child;\\n\\n  while (child !== null) {\\n    resetWorkInProgress(child, renderExpirationTime);\\n    child = child.sibling;\\n  }\\n}\\n\\nvar NO_CONTEXT = {};\\nvar contextStackCursor$1 = createCursor(NO_CONTEXT);\\nvar contextFiberStackCursor = createCursor(NO_CONTEXT);\\nvar rootInstanceStackCursor = createCursor(NO_CONTEXT);\\n\\nfunction requiredContext(c) {\\n  if (!(c !== NO_CONTEXT)) {\\n    {\\n      throw Error( \\\"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n\\n  return c;\\n}\\n\\nfunction getRootHostContainer() {\\n  var rootInstance = requiredContext(rootInstanceStackCursor.current);\\n  return rootInstance;\\n}\\n\\nfunction pushHostContainer(fiber, nextRootInstance) {\\n  // Push current root instance onto the stack;\\n  // This allows us to reset root when portals are popped.\\n  push(rootInstanceStackCursor, nextRootInstance, fiber); // Track the context and the Fiber that provided it.\\n  // This enables us to pop only Fibers that provide unique contexts.\\n\\n  push(contextFiberStackCursor, fiber, fiber); // Finally, we need to push the host context to the stack.\\n  // However, we can't just call getRootHostContext() and push it because\\n  // we'd have a different number of entries on the stack depending on\\n  // whether getRootHostContext() throws somewhere in renderer code or not.\\n  // So we push an empty value first. This lets us safely unwind on errors.\\n\\n  push(contextStackCursor$1, NO_CONTEXT, fiber);\\n  var nextRootContext = getRootHostContext(nextRootInstance); // Now that we know this function doesn't throw, replace it.\\n\\n  pop(contextStackCursor$1, fiber);\\n  push(contextStackCursor$1, nextRootContext, fiber);\\n}\\n\\nfunction popHostContainer(fiber) {\\n  pop(contextStackCursor$1, fiber);\\n  pop(contextFiberStackCursor, fiber);\\n  pop(rootInstanceStackCursor, fiber);\\n}\\n\\nfunction getHostContext() {\\n  var context = requiredContext(contextStackCursor$1.current);\\n  return context;\\n}\\n\\nfunction pushHostContext(fiber) {\\n  var rootInstance = requiredContext(rootInstanceStackCursor.current);\\n  var context = requiredContext(contextStackCursor$1.current);\\n  var nextContext = getChildHostContext(context, fiber.type); // Don't push this Fiber's context unless it's unique.\\n\\n  if (context === nextContext) {\\n    return;\\n  } // Track the context and the Fiber that provided it.\\n  // This enables us to pop only Fibers that provide unique contexts.\\n\\n\\n  push(contextFiberStackCursor, fiber, fiber);\\n  push(contextStackCursor$1, nextContext, fiber);\\n}\\n\\nfunction popHostContext(fiber) {\\n  // Do not pop unless this Fiber provided the current context.\\n  // pushHostContext() only pushes Fibers that provide unique contexts.\\n  if (contextFiberStackCursor.current !== fiber) {\\n    return;\\n  }\\n\\n  pop(contextStackCursor$1, fiber);\\n  pop(contextFiberStackCursor, fiber);\\n}\\n\\nvar DefaultSuspenseContext = 0; // The Suspense Context is split into two parts. The lower bits is\\n// inherited deeply down the subtree. The upper bits only affect\\n// this immediate suspense boundary and gets reset each new\\n// boundary or suspense list.\\n\\nvar SubtreeSuspenseContextMask = 1; // Subtree Flags:\\n// InvisibleParentSuspenseContext indicates that one of our parent Suspense\\n// boundaries is not currently showing visible main content.\\n// Either because it is already showing a fallback or is not mounted at all.\\n// We can use this to determine if it is desirable to trigger a fallback at\\n// the parent. If not, then we might need to trigger undesirable boundaries\\n// and/or suspend the commit to avoid hiding the parent content.\\n\\nvar InvisibleParentSuspenseContext = 1; // Shallow Flags:\\n// ForceSuspenseFallback can be used by SuspenseList to force newly added\\n// items into their fallback state during one of the render passes.\\n\\nvar ForceSuspenseFallback = 2;\\nvar suspenseStackCursor = createCursor(DefaultSuspenseContext);\\nfunction hasSuspenseContext(parentContext, flag) {\\n  return (parentContext & flag) !== 0;\\n}\\nfunction setDefaultShallowSuspenseContext(parentContext) {\\n  return parentContext & SubtreeSuspenseContextMask;\\n}\\nfunction setShallowSuspenseContext(parentContext, shallowContext) {\\n  return parentContext & SubtreeSuspenseContextMask | shallowContext;\\n}\\nfunction addSubtreeSuspenseContext(parentContext, subtreeContext) {\\n  return parentContext | subtreeContext;\\n}\\nfunction pushSuspenseContext(fiber, newContext) {\\n  push(suspenseStackCursor, newContext, fiber);\\n}\\nfunction popSuspenseContext(fiber) {\\n  pop(suspenseStackCursor, fiber);\\n}\\n\\nfunction shouldCaptureSuspense(workInProgress, hasInvisibleParent) {\\n  // If it was the primary children that just suspended, capture and render the\\n  // fallback. Otherwise, don't capture and bubble to the next boundary.\\n  var nextState = workInProgress.memoizedState;\\n\\n  if (nextState !== null) {\\n    if (nextState.dehydrated !== null) {\\n      // A dehydrated boundary always captures.\\n      return true;\\n    }\\n\\n    return false;\\n  }\\n\\n  var props = workInProgress.memoizedProps; // In order to capture, the Suspense component must have a fallback prop.\\n\\n  if (props.fallback === undefined) {\\n    return false;\\n  } // Regular boundaries always capture.\\n\\n\\n  if (props.unstable_avoidThisFallback !== true) {\\n    return true;\\n  } // If it's a boundary we should avoid, then we prefer to bubble up to the\\n  // parent boundary if it is currently invisible.\\n\\n\\n  if (hasInvisibleParent) {\\n    return false;\\n  } // If the parent is not able to handle it, we must handle it.\\n\\n\\n  return true;\\n}\\nfunction findFirstSuspended(row) {\\n  var node = row;\\n\\n  while (node !== null) {\\n    if (node.tag === SuspenseComponent) {\\n      var state = node.memoizedState;\\n\\n      if (state !== null) {\\n        var dehydrated = state.dehydrated;\\n\\n        if (dehydrated === null || isSuspenseInstancePending(dehydrated) || isSuspenseInstanceFallback(dehydrated)) {\\n          return node;\\n        }\\n      }\\n    } else if (node.tag === SuspenseListComponent && // revealOrder undefined can't be trusted because it don't\\n    // keep track of whether it suspended or not.\\n    node.memoizedProps.revealOrder !== undefined) {\\n      var didSuspend = (node.effectTag & DidCapture) !== NoEffect;\\n\\n      if (didSuspend) {\\n        return node;\\n      }\\n    } else if (node.child !== null) {\\n      node.child.return = node;\\n      node = node.child;\\n      continue;\\n    }\\n\\n    if (node === row) {\\n      return null;\\n    }\\n\\n    while (node.sibling === null) {\\n      if (node.return === null || node.return === row) {\\n        return null;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n  }\\n\\n  return null;\\n}\\n\\nfunction createDeprecatedResponderListener(responder, props) {\\n  var eventResponderListener = {\\n    responder: responder,\\n    props: props\\n  };\\n\\n  {\\n    Object.freeze(eventResponderListener);\\n  }\\n\\n  return eventResponderListener;\\n}\\n\\nvar HasEffect =\\n/* */\\n1; // Represents the phase in which the effect (not the clean-up) fires.\\n\\nvar Layout =\\n/*    */\\n2;\\nvar Passive$1 =\\n/*   */\\n4;\\n\\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher,\\n    ReactCurrentBatchConfig$1 = ReactSharedInternals.ReactCurrentBatchConfig;\\nvar didWarnAboutMismatchedHooksForComponent;\\n\\n{\\n  didWarnAboutMismatchedHooksForComponent = new Set();\\n}\\n\\n// These are set right before calling the component.\\nvar renderExpirationTime = NoWork; // The work-in-progress fiber. I've named it differently to distinguish it from\\n// the work-in-progress hook.\\n\\nvar currentlyRenderingFiber$1 = null; // Hooks are stored as a linked list on the fiber's memoizedState field. The\\n// current hook list is the list that belongs to the current fiber. The\\n// work-in-progress hook list is a new list that will be added to the\\n// work-in-progress fiber.\\n\\nvar currentHook = null;\\nvar workInProgressHook = null; // Whether an update was scheduled at any point during the render phase. This\\n// does not get reset if we do another render pass; only when we're completely\\n// finished evaluating this component. This is an optimization so we know\\n// whether we need to clear render phase updates after a throw.\\n\\nvar didScheduleRenderPhaseUpdate = false;\\nvar RE_RENDER_LIMIT = 25; // In DEV, this is the name of the currently executing primitive hook\\n\\nvar currentHookNameInDev = null; // In DEV, this list ensures that hooks are called in the same order between renders.\\n// The list stores the order of hooks used during the initial render (mount).\\n// Subsequent renders (updates) reference this list.\\n\\nvar hookTypesDev = null;\\nvar hookTypesUpdateIndexDev = -1; // In DEV, this tracks whether currently rendering component needs to ignore\\n// the dependencies for Hooks that need them (e.g. useEffect or useMemo).\\n// When true, such Hooks will always be \\\"remounted\\\". Only used during hot reload.\\n\\nvar ignorePreviousDependencies = false;\\n\\nfunction mountHookTypesDev() {\\n  {\\n    var hookName = currentHookNameInDev;\\n\\n    if (hookTypesDev === null) {\\n      hookTypesDev = [hookName];\\n    } else {\\n      hookTypesDev.push(hookName);\\n    }\\n  }\\n}\\n\\nfunction updateHookTypesDev() {\\n  {\\n    var hookName = currentHookNameInDev;\\n\\n    if (hookTypesDev !== null) {\\n      hookTypesUpdateIndexDev++;\\n\\n      if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {\\n        warnOnHookMismatchInDev(hookName);\\n      }\\n    }\\n  }\\n}\\n\\nfunction checkDepsAreArrayDev(deps) {\\n  {\\n    if (deps !== undefined && deps !== null && !Array.isArray(deps)) {\\n      // Verify deps, but only on mount to avoid extra checks.\\n      // It's unlikely their type would change as usually you define them inline.\\n      error('%s received a final argument that is not an array (instead, received `%s`). When ' + 'specified, the final argument must be an array.', currentHookNameInDev, typeof deps);\\n    }\\n  }\\n}\\n\\nfunction warnOnHookMismatchInDev(currentHookName) {\\n  {\\n    var componentName = getComponentName(currentlyRenderingFiber$1.type);\\n\\n    if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {\\n      didWarnAboutMismatchedHooksForComponent.add(componentName);\\n\\n      if (hookTypesDev !== null) {\\n        var table = '';\\n        var secondColumnStart = 30;\\n\\n        for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {\\n          var oldHookName = hookTypesDev[i];\\n          var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;\\n          var row = i + 1 + \\\". \\\" + oldHookName; // Extra space so second column lines up\\n          // lol @ IE not supporting String#repeat\\n\\n          while (row.length < secondColumnStart) {\\n            row += ' ';\\n          }\\n\\n          row += newHookName + '\\\\n';\\n          table += row;\\n        }\\n\\n        error('React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\\\\n\\\\n' + '   Previous render            Next render\\\\n' + '   ------------------------------------------------------\\\\n' + '%s' + '   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\\\n', componentName, table);\\n      }\\n    }\\n  }\\n}\\n\\nfunction throwInvalidHookError() {\\n  {\\n    {\\n      throw Error( \\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.\\\" );\\n    }\\n  }\\n}\\n\\nfunction areHookInputsEqual(nextDeps, prevDeps) {\\n  {\\n    if (ignorePreviousDependencies) {\\n      // Only true when this component is being hot reloaded.\\n      return false;\\n    }\\n  }\\n\\n  if (prevDeps === null) {\\n    {\\n      error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);\\n    }\\n\\n    return false;\\n  }\\n\\n  {\\n    // Don't bother comparing lengths in prod because these arrays should be\\n    // passed inline.\\n    if (nextDeps.length !== prevDeps.length) {\\n      error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\\\\n\\\\n' + 'Previous: %s\\\\n' + 'Incoming: %s', currentHookNameInDev, \\\"[\\\" + prevDeps.join(', ') + \\\"]\\\", \\\"[\\\" + nextDeps.join(', ') + \\\"]\\\");\\n    }\\n  }\\n\\n  for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {\\n    if (objectIs(nextDeps[i], prevDeps[i])) {\\n      continue;\\n    }\\n\\n    return false;\\n  }\\n\\n  return true;\\n}\\n\\nfunction renderWithHooks(current, workInProgress, Component, props, secondArg, nextRenderExpirationTime) {\\n  renderExpirationTime = nextRenderExpirationTime;\\n  currentlyRenderingFiber$1 = workInProgress;\\n\\n  {\\n    hookTypesDev = current !== null ? current._debugHookTypes : null;\\n    hookTypesUpdateIndexDev = -1; // Used for hot reloading:\\n\\n    ignorePreviousDependencies = current !== null && current.type !== workInProgress.type;\\n  }\\n\\n  workInProgress.memoizedState = null;\\n  workInProgress.updateQueue = null;\\n  workInProgress.expirationTime = NoWork; // The following should have already been reset\\n  // currentHook = null;\\n  // workInProgressHook = null;\\n  // didScheduleRenderPhaseUpdate = false;\\n  // TODO Warn if no hooks are used at all during mount, then some are used during update.\\n  // Currently we will identify the update render as a mount because memoizedState === null.\\n  // This is tricky because it's valid for certain types of components (e.g. React.lazy)\\n  // Using memoizedState to differentiate between mount/update only works if at least one stateful hook is used.\\n  // Non-stateful hooks (e.g. context) don't get added to memoizedState,\\n  // so memoizedState would be null during updates and mounts.\\n\\n  {\\n    if (current !== null && current.memoizedState !== null) {\\n      ReactCurrentDispatcher.current = HooksDispatcherOnUpdateInDEV;\\n    } else if (hookTypesDev !== null) {\\n      // This dispatcher handles an edge case where a component is updating,\\n      // but no stateful hooks have been used.\\n      // We want to match the production code behavior (which will use HooksDispatcherOnMount),\\n      // but with the extra DEV validation to ensure hooks ordering hasn't changed.\\n      // This dispatcher does that.\\n      ReactCurrentDispatcher.current = HooksDispatcherOnMountWithHookTypesInDEV;\\n    } else {\\n      ReactCurrentDispatcher.current = HooksDispatcherOnMountInDEV;\\n    }\\n  }\\n\\n  var children = Component(props, secondArg); // Check if there was a render phase update\\n\\n  if (workInProgress.expirationTime === renderExpirationTime) {\\n    // Keep rendering in a loop for as long as render phase updates continue to\\n    // be scheduled. Use a counter to prevent infinite loops.\\n    var numberOfReRenders = 0;\\n\\n    do {\\n      workInProgress.expirationTime = NoWork;\\n\\n      if (!(numberOfReRenders < RE_RENDER_LIMIT)) {\\n        {\\n          throw Error( \\\"Too many re-renders. React limits the number of renders to prevent an infinite loop.\\\" );\\n        }\\n      }\\n\\n      numberOfReRenders += 1;\\n\\n      {\\n        // Even when hot reloading, allow dependencies to stabilize\\n        // after first render to prevent infinite render phase updates.\\n        ignorePreviousDependencies = false;\\n      } // Start over from the beginning of the list\\n\\n\\n      currentHook = null;\\n      workInProgressHook = null;\\n      workInProgress.updateQueue = null;\\n\\n      {\\n        // Also validate hook order for cascading updates.\\n        hookTypesUpdateIndexDev = -1;\\n      }\\n\\n      ReactCurrentDispatcher.current =  HooksDispatcherOnRerenderInDEV ;\\n      children = Component(props, secondArg);\\n    } while (workInProgress.expirationTime === renderExpirationTime);\\n  } // We can assume the previous dispatcher is always this one, since we set it\\n  // at the beginning of the render phase and there's no re-entrancy.\\n\\n\\n  ReactCurrentDispatcher.current = ContextOnlyDispatcher;\\n\\n  {\\n    workInProgress._debugHookTypes = hookTypesDev;\\n  } // This check uses currentHook so that it works the same in DEV and prod bundles.\\n  // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.\\n\\n\\n  var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;\\n  renderExpirationTime = NoWork;\\n  currentlyRenderingFiber$1 = null;\\n  currentHook = null;\\n  workInProgressHook = null;\\n\\n  {\\n    currentHookNameInDev = null;\\n    hookTypesDev = null;\\n    hookTypesUpdateIndexDev = -1;\\n  }\\n\\n  didScheduleRenderPhaseUpdate = false;\\n\\n  if (!!didRenderTooFewHooks) {\\n    {\\n      throw Error( \\\"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\\\" );\\n    }\\n  }\\n\\n  return children;\\n}\\nfunction bailoutHooks(current, workInProgress, expirationTime) {\\n  workInProgress.updateQueue = current.updateQueue;\\n  workInProgress.effectTag &= ~(Passive | Update);\\n\\n  if (current.expirationTime <= expirationTime) {\\n    current.expirationTime = NoWork;\\n  }\\n}\\nfunction resetHooksAfterThrow() {\\n  // We can assume the previous dispatcher is always this one, since we set it\\n  // at the beginning of the render phase and there's no re-entrancy.\\n  ReactCurrentDispatcher.current = ContextOnlyDispatcher;\\n\\n  if (didScheduleRenderPhaseUpdate) {\\n    // There were render phase updates. These are only valid for this render\\n    // phase, which we are now aborting. Remove the updates from the queues so\\n    // they do not persist to the next render. Do not remove updates from hooks\\n    // that weren't processed.\\n    //\\n    // Only reset the updates from the queue if it has a clone. If it does\\n    // not have a clone, that means it wasn't processed, and the updates were\\n    // scheduled before we entered the render phase.\\n    var hook = currentlyRenderingFiber$1.memoizedState;\\n\\n    while (hook !== null) {\\n      var queue = hook.queue;\\n\\n      if (queue !== null) {\\n        queue.pending = null;\\n      }\\n\\n      hook = hook.next;\\n    }\\n  }\\n\\n  renderExpirationTime = NoWork;\\n  currentlyRenderingFiber$1 = null;\\n  currentHook = null;\\n  workInProgressHook = null;\\n\\n  {\\n    hookTypesDev = null;\\n    hookTypesUpdateIndexDev = -1;\\n    currentHookNameInDev = null;\\n  }\\n\\n  didScheduleRenderPhaseUpdate = false;\\n}\\n\\nfunction mountWorkInProgressHook() {\\n  var hook = {\\n    memoizedState: null,\\n    baseState: null,\\n    baseQueue: null,\\n    queue: null,\\n    next: null\\n  };\\n\\n  if (workInProgressHook === null) {\\n    // This is the first hook in the list\\n    currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook;\\n  } else {\\n    // Append to the end of the list\\n    workInProgressHook = workInProgressHook.next = hook;\\n  }\\n\\n  return workInProgressHook;\\n}\\n\\nfunction updateWorkInProgressHook() {\\n  // This function is used both for updates and for re-renders triggered by a\\n  // render phase update. It assumes there is either a current hook we can\\n  // clone, or a work-in-progress hook from a previous render pass that we can\\n  // use as a base. When we reach the end of the base list, we must switch to\\n  // the dispatcher used for mounts.\\n  var nextCurrentHook;\\n\\n  if (currentHook === null) {\\n    var current = currentlyRenderingFiber$1.alternate;\\n\\n    if (current !== null) {\\n      nextCurrentHook = current.memoizedState;\\n    } else {\\n      nextCurrentHook = null;\\n    }\\n  } else {\\n    nextCurrentHook = currentHook.next;\\n  }\\n\\n  var nextWorkInProgressHook;\\n\\n  if (workInProgressHook === null) {\\n    nextWorkInProgressHook = currentlyRenderingFiber$1.memoizedState;\\n  } else {\\n    nextWorkInProgressHook = workInProgressHook.next;\\n  }\\n\\n  if (nextWorkInProgressHook !== null) {\\n    // There's already a work-in-progress. Reuse it.\\n    workInProgressHook = nextWorkInProgressHook;\\n    nextWorkInProgressHook = workInProgressHook.next;\\n    currentHook = nextCurrentHook;\\n  } else {\\n    // Clone from the current hook.\\n    if (!(nextCurrentHook !== null)) {\\n      {\\n        throw Error( \\\"Rendered more hooks than during the previous render.\\\" );\\n      }\\n    }\\n\\n    currentHook = nextCurrentHook;\\n    var newHook = {\\n      memoizedState: currentHook.memoizedState,\\n      baseState: currentHook.baseState,\\n      baseQueue: currentHook.baseQueue,\\n      queue: currentHook.queue,\\n      next: null\\n    };\\n\\n    if (workInProgressHook === null) {\\n      // This is the first hook in the list.\\n      currentlyRenderingFiber$1.memoizedState = workInProgressHook = newHook;\\n    } else {\\n      // Append to the end of the list.\\n      workInProgressHook = workInProgressHook.next = newHook;\\n    }\\n  }\\n\\n  return workInProgressHook;\\n}\\n\\nfunction createFunctionComponentUpdateQueue() {\\n  return {\\n    lastEffect: null\\n  };\\n}\\n\\nfunction basicStateReducer(state, action) {\\n  // $FlowFixMe: Flow doesn't like mixed types\\n  return typeof action === 'function' ? action(state) : action;\\n}\\n\\nfunction mountReducer(reducer, initialArg, init) {\\n  var hook = mountWorkInProgressHook();\\n  var initialState;\\n\\n  if (init !== undefined) {\\n    initialState = init(initialArg);\\n  } else {\\n    initialState = initialArg;\\n  }\\n\\n  hook.memoizedState = hook.baseState = initialState;\\n  var queue = hook.queue = {\\n    pending: null,\\n    dispatch: null,\\n    lastRenderedReducer: reducer,\\n    lastRenderedState: initialState\\n  };\\n  var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue);\\n  return [hook.memoizedState, dispatch];\\n}\\n\\nfunction updateReducer(reducer, initialArg, init) {\\n  var hook = updateWorkInProgressHook();\\n  var queue = hook.queue;\\n\\n  if (!(queue !== null)) {\\n    {\\n      throw Error( \\\"Should have a queue. This is likely a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n\\n  queue.lastRenderedReducer = reducer;\\n  var current = currentHook; // The last rebase update that is NOT part of the base state.\\n\\n  var baseQueue = current.baseQueue; // The last pending update that hasn't been processed yet.\\n\\n  var pendingQueue = queue.pending;\\n\\n  if (pendingQueue !== null) {\\n    // We have new updates that haven't been processed yet.\\n    // We'll add them to the base queue.\\n    if (baseQueue !== null) {\\n      // Merge the pending queue and the base queue.\\n      var baseFirst = baseQueue.next;\\n      var pendingFirst = pendingQueue.next;\\n      baseQueue.next = pendingFirst;\\n      pendingQueue.next = baseFirst;\\n    }\\n\\n    current.baseQueue = baseQueue = pendingQueue;\\n    queue.pending = null;\\n  }\\n\\n  if (baseQueue !== null) {\\n    // We have a queue to process.\\n    var first = baseQueue.next;\\n    var newState = current.baseState;\\n    var newBaseState = null;\\n    var newBaseQueueFirst = null;\\n    var newBaseQueueLast = null;\\n    var update = first;\\n\\n    do {\\n      var updateExpirationTime = update.expirationTime;\\n\\n      if (updateExpirationTime < renderExpirationTime) {\\n        // Priority is insufficient. Skip this update. If this is the first\\n        // skipped update, the previous update/state is the new base\\n        // update/state.\\n        var clone = {\\n          expirationTime: update.expirationTime,\\n          suspenseConfig: update.suspenseConfig,\\n          action: update.action,\\n          eagerReducer: update.eagerReducer,\\n          eagerState: update.eagerState,\\n          next: null\\n        };\\n\\n        if (newBaseQueueLast === null) {\\n          newBaseQueueFirst = newBaseQueueLast = clone;\\n          newBaseState = newState;\\n        } else {\\n          newBaseQueueLast = newBaseQueueLast.next = clone;\\n        } // Update the remaining priority in the queue.\\n\\n\\n        if (updateExpirationTime > currentlyRenderingFiber$1.expirationTime) {\\n          currentlyRenderingFiber$1.expirationTime = updateExpirationTime;\\n          markUnprocessedUpdateTime(updateExpirationTime);\\n        }\\n      } else {\\n        // This update does have sufficient priority.\\n        if (newBaseQueueLast !== null) {\\n          var _clone = {\\n            expirationTime: Sync,\\n            // This update is going to be committed so we never want uncommit it.\\n            suspenseConfig: update.suspenseConfig,\\n            action: update.action,\\n            eagerReducer: update.eagerReducer,\\n            eagerState: update.eagerState,\\n            next: null\\n          };\\n          newBaseQueueLast = newBaseQueueLast.next = _clone;\\n        } // Mark the event time of this update as relevant to this render pass.\\n        // TODO: This should ideally use the true event time of this update rather than\\n        // its priority which is a derived and not reverseable value.\\n        // TODO: We should skip this update if it was already committed but currently\\n        // we have no way of detecting the difference between a committed and suspended\\n        // update here.\\n\\n\\n        markRenderEventTimeAndConfig(updateExpirationTime, update.suspenseConfig); // Process this update.\\n\\n        if (update.eagerReducer === reducer) {\\n          // If this update was processed eagerly, and its reducer matches the\\n          // current reducer, we can use the eagerly computed state.\\n          newState = update.eagerState;\\n        } else {\\n          var action = update.action;\\n          newState = reducer(newState, action);\\n        }\\n      }\\n\\n      update = update.next;\\n    } while (update !== null && update !== first);\\n\\n    if (newBaseQueueLast === null) {\\n      newBaseState = newState;\\n    } else {\\n      newBaseQueueLast.next = newBaseQueueFirst;\\n    } // Mark that the fiber performed work, but only if the new state is\\n    // different from the current state.\\n\\n\\n    if (!objectIs(newState, hook.memoizedState)) {\\n      markWorkInProgressReceivedUpdate();\\n    }\\n\\n    hook.memoizedState = newState;\\n    hook.baseState = newBaseState;\\n    hook.baseQueue = newBaseQueueLast;\\n    queue.lastRenderedState = newState;\\n  }\\n\\n  var dispatch = queue.dispatch;\\n  return [hook.memoizedState, dispatch];\\n}\\n\\nfunction rerenderReducer(reducer, initialArg, init) {\\n  var hook = updateWorkInProgressHook();\\n  var queue = hook.queue;\\n\\n  if (!(queue !== null)) {\\n    {\\n      throw Error( \\\"Should have a queue. This is likely a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n\\n  queue.lastRenderedReducer = reducer; // This is a re-render. Apply the new render phase updates to the previous\\n  // work-in-progress hook.\\n\\n  var dispatch = queue.dispatch;\\n  var lastRenderPhaseUpdate = queue.pending;\\n  var newState = hook.memoizedState;\\n\\n  if (lastRenderPhaseUpdate !== null) {\\n    // The queue doesn't persist past this render pass.\\n    queue.pending = null;\\n    var firstRenderPhaseUpdate = lastRenderPhaseUpdate.next;\\n    var update = firstRenderPhaseUpdate;\\n\\n    do {\\n      // Process this render phase update. We don't have to check the\\n      // priority because it will always be the same as the current\\n      // render's.\\n      var action = update.action;\\n      newState = reducer(newState, action);\\n      update = update.next;\\n    } while (update !== firstRenderPhaseUpdate); // Mark that the fiber performed work, but only if the new state is\\n    // different from the current state.\\n\\n\\n    if (!objectIs(newState, hook.memoizedState)) {\\n      markWorkInProgressReceivedUpdate();\\n    }\\n\\n    hook.memoizedState = newState; // Don't persist the state accumulated from the render phase updates to\\n    // the base state unless the queue is empty.\\n    // TODO: Not sure if this is the desired semantics, but it's what we\\n    // do for gDSFP. I can't remember why.\\n\\n    if (hook.baseQueue === null) {\\n      hook.baseState = newState;\\n    }\\n\\n    queue.lastRenderedState = newState;\\n  }\\n\\n  return [newState, dispatch];\\n}\\n\\nfunction mountState(initialState) {\\n  var hook = mountWorkInProgressHook();\\n\\n  if (typeof initialState === 'function') {\\n    // $FlowFixMe: Flow doesn't like mixed types\\n    initialState = initialState();\\n  }\\n\\n  hook.memoizedState = hook.baseState = initialState;\\n  var queue = hook.queue = {\\n    pending: null,\\n    dispatch: null,\\n    lastRenderedReducer: basicStateReducer,\\n    lastRenderedState: initialState\\n  };\\n  var dispatch = queue.dispatch = dispatchAction.bind(null, currentlyRenderingFiber$1, queue);\\n  return [hook.memoizedState, dispatch];\\n}\\n\\nfunction updateState(initialState) {\\n  return updateReducer(basicStateReducer);\\n}\\n\\nfunction rerenderState(initialState) {\\n  return rerenderReducer(basicStateReducer);\\n}\\n\\nfunction pushEffect(tag, create, destroy, deps) {\\n  var effect = {\\n    tag: tag,\\n    create: create,\\n    destroy: destroy,\\n    deps: deps,\\n    // Circular\\n    next: null\\n  };\\n  var componentUpdateQueue = currentlyRenderingFiber$1.updateQueue;\\n\\n  if (componentUpdateQueue === null) {\\n    componentUpdateQueue = createFunctionComponentUpdateQueue();\\n    currentlyRenderingFiber$1.updateQueue = componentUpdateQueue;\\n    componentUpdateQueue.lastEffect = effect.next = effect;\\n  } else {\\n    var lastEffect = componentUpdateQueue.lastEffect;\\n\\n    if (lastEffect === null) {\\n      componentUpdateQueue.lastEffect = effect.next = effect;\\n    } else {\\n      var firstEffect = lastEffect.next;\\n      lastEffect.next = effect;\\n      effect.next = firstEffect;\\n      componentUpdateQueue.lastEffect = effect;\\n    }\\n  }\\n\\n  return effect;\\n}\\n\\nfunction mountRef(initialValue) {\\n  var hook = mountWorkInProgressHook();\\n  var ref = {\\n    current: initialValue\\n  };\\n\\n  {\\n    Object.seal(ref);\\n  }\\n\\n  hook.memoizedState = ref;\\n  return ref;\\n}\\n\\nfunction updateRef(initialValue) {\\n  var hook = updateWorkInProgressHook();\\n  return hook.memoizedState;\\n}\\n\\nfunction mountEffectImpl(fiberEffectTag, hookEffectTag, create, deps) {\\n  var hook = mountWorkInProgressHook();\\n  var nextDeps = deps === undefined ? null : deps;\\n  currentlyRenderingFiber$1.effectTag |= fiberEffectTag;\\n  hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, undefined, nextDeps);\\n}\\n\\nfunction updateEffectImpl(fiberEffectTag, hookEffectTag, create, deps) {\\n  var hook = updateWorkInProgressHook();\\n  var nextDeps = deps === undefined ? null : deps;\\n  var destroy = undefined;\\n\\n  if (currentHook !== null) {\\n    var prevEffect = currentHook.memoizedState;\\n    destroy = prevEffect.destroy;\\n\\n    if (nextDeps !== null) {\\n      var prevDeps = prevEffect.deps;\\n\\n      if (areHookInputsEqual(nextDeps, prevDeps)) {\\n        pushEffect(hookEffectTag, create, destroy, nextDeps);\\n        return;\\n      }\\n    }\\n  }\\n\\n  currentlyRenderingFiber$1.effectTag |= fiberEffectTag;\\n  hook.memoizedState = pushEffect(HasEffect | hookEffectTag, create, destroy, nextDeps);\\n}\\n\\nfunction mountEffect(create, deps) {\\n  {\\n    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests\\n    if ('undefined' !== typeof jest) {\\n      warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1);\\n    }\\n  }\\n\\n  return mountEffectImpl(Update | Passive, Passive$1, create, deps);\\n}\\n\\nfunction updateEffect(create, deps) {\\n  {\\n    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests\\n    if ('undefined' !== typeof jest) {\\n      warnIfNotCurrentlyActingEffectsInDEV(currentlyRenderingFiber$1);\\n    }\\n  }\\n\\n  return updateEffectImpl(Update | Passive, Passive$1, create, deps);\\n}\\n\\nfunction mountLayoutEffect(create, deps) {\\n  return mountEffectImpl(Update, Layout, create, deps);\\n}\\n\\nfunction updateLayoutEffect(create, deps) {\\n  return updateEffectImpl(Update, Layout, create, deps);\\n}\\n\\nfunction imperativeHandleEffect(create, ref) {\\n  if (typeof ref === 'function') {\\n    var refCallback = ref;\\n\\n    var _inst = create();\\n\\n    refCallback(_inst);\\n    return function () {\\n      refCallback(null);\\n    };\\n  } else if (ref !== null && ref !== undefined) {\\n    var refObject = ref;\\n\\n    {\\n      if (!refObject.hasOwnProperty('current')) {\\n        error('Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}');\\n      }\\n    }\\n\\n    var _inst2 = create();\\n\\n    refObject.current = _inst2;\\n    return function () {\\n      refObject.current = null;\\n    };\\n  }\\n}\\n\\nfunction mountImperativeHandle(ref, create, deps) {\\n  {\\n    if (typeof create !== 'function') {\\n      error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\\n    }\\n  } // TODO: If deps are provided, should we skip comparing the ref itself?\\n\\n\\n  var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\\n  return mountEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\\n}\\n\\nfunction updateImperativeHandle(ref, create, deps) {\\n  {\\n    if (typeof create !== 'function') {\\n      error('Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null');\\n    }\\n  } // TODO: If deps are provided, should we skip comparing the ref itself?\\n\\n\\n  var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null;\\n  return updateEffectImpl(Update, Layout, imperativeHandleEffect.bind(null, create, ref), effectDeps);\\n}\\n\\nfunction mountDebugValue(value, formatterFn) {// This hook is normally a no-op.\\n  // The react-debug-hooks package injects its own implementation\\n  // so that e.g. DevTools can display custom hook values.\\n}\\n\\nvar updateDebugValue = mountDebugValue;\\n\\nfunction mountCallback(callback, deps) {\\n  var hook = mountWorkInProgressHook();\\n  var nextDeps = deps === undefined ? null : deps;\\n  hook.memoizedState = [callback, nextDeps];\\n  return callback;\\n}\\n\\nfunction updateCallback(callback, deps) {\\n  var hook = updateWorkInProgressHook();\\n  var nextDeps = deps === undefined ? null : deps;\\n  var prevState = hook.memoizedState;\\n\\n  if (prevState !== null) {\\n    if (nextDeps !== null) {\\n      var prevDeps = prevState[1];\\n\\n      if (areHookInputsEqual(nextDeps, prevDeps)) {\\n        return prevState[0];\\n      }\\n    }\\n  }\\n\\n  hook.memoizedState = [callback, nextDeps];\\n  return callback;\\n}\\n\\nfunction mountMemo(nextCreate, deps) {\\n  var hook = mountWorkInProgressHook();\\n  var nextDeps = deps === undefined ? null : deps;\\n  var nextValue = nextCreate();\\n  hook.memoizedState = [nextValue, nextDeps];\\n  return nextValue;\\n}\\n\\nfunction updateMemo(nextCreate, deps) {\\n  var hook = updateWorkInProgressHook();\\n  var nextDeps = deps === undefined ? null : deps;\\n  var prevState = hook.memoizedState;\\n\\n  if (prevState !== null) {\\n    // Assume these are defined. If they're not, areHookInputsEqual will warn.\\n    if (nextDeps !== null) {\\n      var prevDeps = prevState[1];\\n\\n      if (areHookInputsEqual(nextDeps, prevDeps)) {\\n        return prevState[0];\\n      }\\n    }\\n  }\\n\\n  var nextValue = nextCreate();\\n  hook.memoizedState = [nextValue, nextDeps];\\n  return nextValue;\\n}\\n\\nfunction mountDeferredValue(value, config) {\\n  var _mountState = mountState(value),\\n      prevValue = _mountState[0],\\n      setValue = _mountState[1];\\n\\n  mountEffect(function () {\\n    var previousConfig = ReactCurrentBatchConfig$1.suspense;\\n    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;\\n\\n    try {\\n      setValue(value);\\n    } finally {\\n      ReactCurrentBatchConfig$1.suspense = previousConfig;\\n    }\\n  }, [value, config]);\\n  return prevValue;\\n}\\n\\nfunction updateDeferredValue(value, config) {\\n  var _updateState = updateState(),\\n      prevValue = _updateState[0],\\n      setValue = _updateState[1];\\n\\n  updateEffect(function () {\\n    var previousConfig = ReactCurrentBatchConfig$1.suspense;\\n    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;\\n\\n    try {\\n      setValue(value);\\n    } finally {\\n      ReactCurrentBatchConfig$1.suspense = previousConfig;\\n    }\\n  }, [value, config]);\\n  return prevValue;\\n}\\n\\nfunction rerenderDeferredValue(value, config) {\\n  var _rerenderState = rerenderState(),\\n      prevValue = _rerenderState[0],\\n      setValue = _rerenderState[1];\\n\\n  updateEffect(function () {\\n    var previousConfig = ReactCurrentBatchConfig$1.suspense;\\n    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;\\n\\n    try {\\n      setValue(value);\\n    } finally {\\n      ReactCurrentBatchConfig$1.suspense = previousConfig;\\n    }\\n  }, [value, config]);\\n  return prevValue;\\n}\\n\\nfunction startTransition(setPending, config, callback) {\\n  var priorityLevel = getCurrentPriorityLevel();\\n  runWithPriority$1(priorityLevel < UserBlockingPriority$1 ? UserBlockingPriority$1 : priorityLevel, function () {\\n    setPending(true);\\n  });\\n  runWithPriority$1(priorityLevel > NormalPriority ? NormalPriority : priorityLevel, function () {\\n    var previousConfig = ReactCurrentBatchConfig$1.suspense;\\n    ReactCurrentBatchConfig$1.suspense = config === undefined ? null : config;\\n\\n    try {\\n      setPending(false);\\n      callback();\\n    } finally {\\n      ReactCurrentBatchConfig$1.suspense = previousConfig;\\n    }\\n  });\\n}\\n\\nfunction mountTransition(config) {\\n  var _mountState2 = mountState(false),\\n      isPending = _mountState2[0],\\n      setPending = _mountState2[1];\\n\\n  var start = mountCallback(startTransition.bind(null, setPending, config), [setPending, config]);\\n  return [start, isPending];\\n}\\n\\nfunction updateTransition(config) {\\n  var _updateState2 = updateState(),\\n      isPending = _updateState2[0],\\n      setPending = _updateState2[1];\\n\\n  var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]);\\n  return [start, isPending];\\n}\\n\\nfunction rerenderTransition(config) {\\n  var _rerenderState2 = rerenderState(),\\n      isPending = _rerenderState2[0],\\n      setPending = _rerenderState2[1];\\n\\n  var start = updateCallback(startTransition.bind(null, setPending, config), [setPending, config]);\\n  return [start, isPending];\\n}\\n\\nfunction dispatchAction(fiber, queue, action) {\\n  {\\n    if (typeof arguments[3] === 'function') {\\n      error(\\\"State updates from the useState() and useReducer() Hooks don't support the \\\" + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().');\\n    }\\n  }\\n\\n  var currentTime = requestCurrentTimeForUpdate();\\n  var suspenseConfig = requestCurrentSuspenseConfig();\\n  var expirationTime = computeExpirationForFiber(currentTime, fiber, suspenseConfig);\\n  var update = {\\n    expirationTime: expirationTime,\\n    suspenseConfig: suspenseConfig,\\n    action: action,\\n    eagerReducer: null,\\n    eagerState: null,\\n    next: null\\n  };\\n\\n  {\\n    update.priority = getCurrentPriorityLevel();\\n  } // Append the update to the end of the list.\\n\\n\\n  var pending = queue.pending;\\n\\n  if (pending === null) {\\n    // This is the first update. Create a circular list.\\n    update.next = update;\\n  } else {\\n    update.next = pending.next;\\n    pending.next = update;\\n  }\\n\\n  queue.pending = update;\\n  var alternate = fiber.alternate;\\n\\n  if (fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1) {\\n    // This is a render phase update. Stash it in a lazily-created map of\\n    // queue -> linked list of updates. After this render pass, we'll restart\\n    // and apply the stashed updates on top of the work-in-progress hook.\\n    didScheduleRenderPhaseUpdate = true;\\n    update.expirationTime = renderExpirationTime;\\n    currentlyRenderingFiber$1.expirationTime = renderExpirationTime;\\n  } else {\\n    if (fiber.expirationTime === NoWork && (alternate === null || alternate.expirationTime === NoWork)) {\\n      // The queue is currently empty, which means we can eagerly compute the\\n      // next state before entering the render phase. If the new state is the\\n      // same as the current state, we may be able to bail out entirely.\\n      var lastRenderedReducer = queue.lastRenderedReducer;\\n\\n      if (lastRenderedReducer !== null) {\\n        var prevDispatcher;\\n\\n        {\\n          prevDispatcher = ReactCurrentDispatcher.current;\\n          ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n        }\\n\\n        try {\\n          var currentState = queue.lastRenderedState;\\n          var eagerState = lastRenderedReducer(currentState, action); // Stash the eagerly computed state, and the reducer used to compute\\n          // it, on the update object. If the reducer hasn't changed by the\\n          // time we enter the render phase, then the eager state can be used\\n          // without calling the reducer again.\\n\\n          update.eagerReducer = lastRenderedReducer;\\n          update.eagerState = eagerState;\\n\\n          if (objectIs(eagerState, currentState)) {\\n            // Fast path. We can bail out without scheduling React to re-render.\\n            // It's still possible that we'll need to rebase this update later,\\n            // if the component re-renders for a different reason and by that\\n            // time the reducer has changed.\\n            return;\\n          }\\n        } catch (error) {// Suppress the error. It will throw again in the render phase.\\n        } finally {\\n          {\\n            ReactCurrentDispatcher.current = prevDispatcher;\\n          }\\n        }\\n      }\\n    }\\n\\n    {\\n      // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests\\n      if ('undefined' !== typeof jest) {\\n        warnIfNotScopedWithMatchingAct(fiber);\\n        warnIfNotCurrentlyActingUpdatesInDev(fiber);\\n      }\\n    }\\n\\n    scheduleWork(fiber, expirationTime);\\n  }\\n}\\n\\nvar ContextOnlyDispatcher = {\\n  readContext: readContext,\\n  useCallback: throwInvalidHookError,\\n  useContext: throwInvalidHookError,\\n  useEffect: throwInvalidHookError,\\n  useImperativeHandle: throwInvalidHookError,\\n  useLayoutEffect: throwInvalidHookError,\\n  useMemo: throwInvalidHookError,\\n  useReducer: throwInvalidHookError,\\n  useRef: throwInvalidHookError,\\n  useState: throwInvalidHookError,\\n  useDebugValue: throwInvalidHookError,\\n  useResponder: throwInvalidHookError,\\n  useDeferredValue: throwInvalidHookError,\\n  useTransition: throwInvalidHookError\\n};\\nvar HooksDispatcherOnMountInDEV = null;\\nvar HooksDispatcherOnMountWithHookTypesInDEV = null;\\nvar HooksDispatcherOnUpdateInDEV = null;\\nvar HooksDispatcherOnRerenderInDEV = null;\\nvar InvalidNestedHooksDispatcherOnMountInDEV = null;\\nvar InvalidNestedHooksDispatcherOnUpdateInDEV = null;\\nvar InvalidNestedHooksDispatcherOnRerenderInDEV = null;\\n\\n{\\n  var warnInvalidContextAccess = function () {\\n    error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');\\n  };\\n\\n  var warnInvalidHookAccess = function () {\\n    error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks');\\n  };\\n\\n  HooksDispatcherOnMountInDEV = {\\n    readContext: function (context, observedBits) {\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      mountHookTypesDev();\\n      checkDepsAreArrayDev(deps);\\n      return mountCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      mountHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      mountHookTypesDev();\\n      checkDepsAreArrayDev(deps);\\n      return mountEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      mountHookTypesDev();\\n      checkDepsAreArrayDev(deps);\\n      return mountImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      mountHookTypesDev();\\n      checkDepsAreArrayDev(deps);\\n      return mountLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      mountHookTypesDev();\\n      checkDepsAreArrayDev(deps);\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      mountHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      mountHookTypesDev();\\n      return mountRef(initialValue);\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      mountHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      mountHookTypesDev();\\n      return mountDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      mountHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      mountHookTypesDev();\\n      return mountDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      mountHookTypesDev();\\n      return mountTransition(config);\\n    }\\n  };\\n  HooksDispatcherOnMountWithHookTypesInDEV = {\\n    readContext: function (context, observedBits) {\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      updateHookTypesDev();\\n      return mountCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      updateHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      updateHookTypesDev();\\n      return mountEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      updateHookTypesDev();\\n      return mountImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      updateHookTypesDev();\\n      return mountLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      updateHookTypesDev();\\n      return mountRef(initialValue);\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      updateHookTypesDev();\\n      return mountDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      updateHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      updateHookTypesDev();\\n      return mountDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      updateHookTypesDev();\\n      return mountTransition(config);\\n    }\\n  };\\n  HooksDispatcherOnUpdateInDEV = {\\n    readContext: function (context, observedBits) {\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      updateHookTypesDev();\\n      return updateCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      updateHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      updateHookTypesDev();\\n      return updateEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      updateHookTypesDev();\\n      return updateImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      updateHookTypesDev();\\n      return updateLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      updateHookTypesDev();\\n      return updateRef();\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      updateHookTypesDev();\\n      return updateDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      updateHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      updateHookTypesDev();\\n      return updateDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      updateHookTypesDev();\\n      return updateTransition(config);\\n    }\\n  };\\n  HooksDispatcherOnRerenderInDEV = {\\n    readContext: function (context, observedBits) {\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      updateHookTypesDev();\\n      return updateCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      updateHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      updateHookTypesDev();\\n      return updateEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      updateHookTypesDev();\\n      return updateImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      updateHookTypesDev();\\n      return updateLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\\n\\n      try {\\n        return updateMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\\n\\n      try {\\n        return rerenderReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      updateHookTypesDev();\\n      return updateRef();\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnRerenderInDEV;\\n\\n      try {\\n        return rerenderState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      updateHookTypesDev();\\n      return updateDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      updateHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      updateHookTypesDev();\\n      return rerenderDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      updateHookTypesDev();\\n      return rerenderTransition(config);\\n    }\\n  };\\n  InvalidNestedHooksDispatcherOnMountInDEV = {\\n    readContext: function (context, observedBits) {\\n      warnInvalidContextAccess();\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountRef(initialValue);\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnMountInDEV;\\n\\n      try {\\n        return mountState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      warnInvalidHookAccess();\\n      mountHookTypesDev();\\n      return mountTransition(config);\\n    }\\n  };\\n  InvalidNestedHooksDispatcherOnUpdateInDEV = {\\n    readContext: function (context, observedBits) {\\n      warnInvalidContextAccess();\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateRef();\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateTransition(config);\\n    }\\n  };\\n  InvalidNestedHooksDispatcherOnRerenderInDEV = {\\n    readContext: function (context, observedBits) {\\n      warnInvalidContextAccess();\\n      return readContext(context, observedBits);\\n    },\\n    useCallback: function (callback, deps) {\\n      currentHookNameInDev = 'useCallback';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateCallback(callback, deps);\\n    },\\n    useContext: function (context, observedBits) {\\n      currentHookNameInDev = 'useContext';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return readContext(context, observedBits);\\n    },\\n    useEffect: function (create, deps) {\\n      currentHookNameInDev = 'useEffect';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateEffect(create, deps);\\n    },\\n    useImperativeHandle: function (ref, create, deps) {\\n      currentHookNameInDev = 'useImperativeHandle';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateImperativeHandle(ref, create, deps);\\n    },\\n    useLayoutEffect: function (create, deps) {\\n      currentHookNameInDev = 'useLayoutEffect';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateLayoutEffect(create, deps);\\n    },\\n    useMemo: function (create, deps) {\\n      currentHookNameInDev = 'useMemo';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return updateMemo(create, deps);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useReducer: function (reducer, initialArg, init) {\\n      currentHookNameInDev = 'useReducer';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return rerenderReducer(reducer, initialArg, init);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useRef: function (initialValue) {\\n      currentHookNameInDev = 'useRef';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateRef();\\n    },\\n    useState: function (initialState) {\\n      currentHookNameInDev = 'useState';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      var prevDispatcher = ReactCurrentDispatcher.current;\\n      ReactCurrentDispatcher.current = InvalidNestedHooksDispatcherOnUpdateInDEV;\\n\\n      try {\\n        return rerenderState(initialState);\\n      } finally {\\n        ReactCurrentDispatcher.current = prevDispatcher;\\n      }\\n    },\\n    useDebugValue: function (value, formatterFn) {\\n      currentHookNameInDev = 'useDebugValue';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return updateDebugValue();\\n    },\\n    useResponder: function (responder, props) {\\n      currentHookNameInDev = 'useResponder';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return createDeprecatedResponderListener(responder, props);\\n    },\\n    useDeferredValue: function (value, config) {\\n      currentHookNameInDev = 'useDeferredValue';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return rerenderDeferredValue(value, config);\\n    },\\n    useTransition: function (config) {\\n      currentHookNameInDev = 'useTransition';\\n      warnInvalidHookAccess();\\n      updateHookTypesDev();\\n      return rerenderTransition(config);\\n    }\\n  };\\n}\\n\\nvar now$1 = Scheduler.unstable_now;\\nvar commitTime = 0;\\nvar profilerStartTime = -1;\\n\\nfunction getCommitTime() {\\n  return commitTime;\\n}\\n\\nfunction recordCommitTime() {\\n\\n  commitTime = now$1();\\n}\\n\\nfunction startProfilerTimer(fiber) {\\n\\n  profilerStartTime = now$1();\\n\\n  if (fiber.actualStartTime < 0) {\\n    fiber.actualStartTime = now$1();\\n  }\\n}\\n\\nfunction stopProfilerTimerIfRunning(fiber) {\\n\\n  profilerStartTime = -1;\\n}\\n\\nfunction stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) {\\n\\n  if (profilerStartTime >= 0) {\\n    var elapsedTime = now$1() - profilerStartTime;\\n    fiber.actualDuration += elapsedTime;\\n\\n    if (overrideBaseTime) {\\n      fiber.selfBaseDuration = elapsedTime;\\n    }\\n\\n    profilerStartTime = -1;\\n  }\\n}\\n\\n// This may have been an insertion or a hydration.\\n\\nvar hydrationParentFiber = null;\\nvar nextHydratableInstance = null;\\nvar isHydrating = false;\\n\\nfunction enterHydrationState(fiber) {\\n\\n  var parentInstance = fiber.stateNode.containerInfo;\\n  nextHydratableInstance = getFirstHydratableChild(parentInstance);\\n  hydrationParentFiber = fiber;\\n  isHydrating = true;\\n  return true;\\n}\\n\\nfunction deleteHydratableInstance(returnFiber, instance) {\\n  {\\n    switch (returnFiber.tag) {\\n      case HostRoot:\\n        didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance);\\n        break;\\n\\n      case HostComponent:\\n        didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance);\\n        break;\\n    }\\n  }\\n\\n  var childToDelete = createFiberFromHostInstanceForDeletion();\\n  childToDelete.stateNode = instance;\\n  childToDelete.return = returnFiber;\\n  childToDelete.effectTag = Deletion; // This might seem like it belongs on progressedFirstDeletion. However,\\n  // these children are not part of the reconciliation list of children.\\n  // Even if we abort and rereconcile the children, that will try to hydrate\\n  // again and the nodes are still in the host tree so these will be\\n  // recreated.\\n\\n  if (returnFiber.lastEffect !== null) {\\n    returnFiber.lastEffect.nextEffect = childToDelete;\\n    returnFiber.lastEffect = childToDelete;\\n  } else {\\n    returnFiber.firstEffect = returnFiber.lastEffect = childToDelete;\\n  }\\n}\\n\\nfunction insertNonHydratedInstance(returnFiber, fiber) {\\n  fiber.effectTag = fiber.effectTag & ~Hydrating | Placement;\\n\\n  {\\n    switch (returnFiber.tag) {\\n      case HostRoot:\\n        {\\n          var parentContainer = returnFiber.stateNode.containerInfo;\\n\\n          switch (fiber.tag) {\\n            case HostComponent:\\n              var type = fiber.type;\\n              var props = fiber.pendingProps;\\n              didNotFindHydratableContainerInstance(parentContainer, type);\\n              break;\\n\\n            case HostText:\\n              var text = fiber.pendingProps;\\n              didNotFindHydratableContainerTextInstance(parentContainer, text);\\n              break;\\n          }\\n\\n          break;\\n        }\\n\\n      case HostComponent:\\n        {\\n          var parentType = returnFiber.type;\\n          var parentProps = returnFiber.memoizedProps;\\n          var parentInstance = returnFiber.stateNode;\\n\\n          switch (fiber.tag) {\\n            case HostComponent:\\n              var _type = fiber.type;\\n              var _props = fiber.pendingProps;\\n              didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type);\\n              break;\\n\\n            case HostText:\\n              var _text = fiber.pendingProps;\\n              didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text);\\n              break;\\n\\n            case SuspenseComponent:\\n              didNotFindHydratableSuspenseInstance(parentType, parentProps);\\n              break;\\n          }\\n\\n          break;\\n        }\\n\\n      default:\\n        return;\\n    }\\n  }\\n}\\n\\nfunction tryHydrate(fiber, nextInstance) {\\n  switch (fiber.tag) {\\n    case HostComponent:\\n      {\\n        var type = fiber.type;\\n        var props = fiber.pendingProps;\\n        var instance = canHydrateInstance(nextInstance, type);\\n\\n        if (instance !== null) {\\n          fiber.stateNode = instance;\\n          return true;\\n        }\\n\\n        return false;\\n      }\\n\\n    case HostText:\\n      {\\n        var text = fiber.pendingProps;\\n        var textInstance = canHydrateTextInstance(nextInstance, text);\\n\\n        if (textInstance !== null) {\\n          fiber.stateNode = textInstance;\\n          return true;\\n        }\\n\\n        return false;\\n      }\\n\\n    case SuspenseComponent:\\n      {\\n\\n        return false;\\n      }\\n\\n    default:\\n      return false;\\n  }\\n}\\n\\nfunction tryToClaimNextHydratableInstance(fiber) {\\n  if (!isHydrating) {\\n    return;\\n  }\\n\\n  var nextInstance = nextHydratableInstance;\\n\\n  if (!nextInstance) {\\n    // Nothing to hydrate. Make it an insertion.\\n    insertNonHydratedInstance(hydrationParentFiber, fiber);\\n    isHydrating = false;\\n    hydrationParentFiber = fiber;\\n    return;\\n  }\\n\\n  var firstAttemptedInstance = nextInstance;\\n\\n  if (!tryHydrate(fiber, nextInstance)) {\\n    // If we can't hydrate this instance let's try the next one.\\n    // We use this as a heuristic. It's based on intuition and not data so it\\n    // might be flawed or unnecessary.\\n    nextInstance = getNextHydratableSibling(firstAttemptedInstance);\\n\\n    if (!nextInstance || !tryHydrate(fiber, nextInstance)) {\\n      // Nothing to hydrate. Make it an insertion.\\n      insertNonHydratedInstance(hydrationParentFiber, fiber);\\n      isHydrating = false;\\n      hydrationParentFiber = fiber;\\n      return;\\n    } // We matched the next one, we'll now assume that the first one was\\n    // superfluous and we'll delete it. Since we can't eagerly delete it\\n    // we'll have to schedule a deletion. To do that, this node needs a dummy\\n    // fiber associated with it.\\n\\n\\n    deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance);\\n  }\\n\\n  hydrationParentFiber = fiber;\\n  nextHydratableInstance = getFirstHydratableChild(nextInstance);\\n}\\n\\nfunction prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) {\\n\\n  var instance = fiber.stateNode;\\n  var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); // TODO: Type this specific to this type of component.\\n\\n  fiber.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\\n  // is a new ref we mark this as an update.\\n\\n  if (updatePayload !== null) {\\n    return true;\\n  }\\n\\n  return false;\\n}\\n\\nfunction prepareToHydrateHostTextInstance(fiber) {\\n\\n  var textInstance = fiber.stateNode;\\n  var textContent = fiber.memoizedProps;\\n  var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber);\\n\\n  {\\n    if (shouldUpdate) {\\n      // We assume that prepareToHydrateHostTextInstance is called in a context where the\\n      // hydration parent is the parent host component of this host text.\\n      var returnFiber = hydrationParentFiber;\\n\\n      if (returnFiber !== null) {\\n        switch (returnFiber.tag) {\\n          case HostRoot:\\n            {\\n              var parentContainer = returnFiber.stateNode.containerInfo;\\n              didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent);\\n              break;\\n            }\\n\\n          case HostComponent:\\n            {\\n              var parentType = returnFiber.type;\\n              var parentProps = returnFiber.memoizedProps;\\n              var parentInstance = returnFiber.stateNode;\\n              didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent);\\n              break;\\n            }\\n        }\\n      }\\n    }\\n  }\\n\\n  return shouldUpdate;\\n}\\n\\nfunction skipPastDehydratedSuspenseInstance(fiber) {\\n\\n  var suspenseState = fiber.memoizedState;\\n  var suspenseInstance = suspenseState !== null ? suspenseState.dehydrated : null;\\n\\n  if (!suspenseInstance) {\\n    {\\n      throw Error( \\\"Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n\\n  return getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance);\\n}\\n\\nfunction popToNextHostParent(fiber) {\\n  var parent = fiber.return;\\n\\n  while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== SuspenseComponent) {\\n    parent = parent.return;\\n  }\\n\\n  hydrationParentFiber = parent;\\n}\\n\\nfunction popHydrationState(fiber) {\\n\\n  if (fiber !== hydrationParentFiber) {\\n    // We're deeper than the current hydration context, inside an inserted\\n    // tree.\\n    return false;\\n  }\\n\\n  if (!isHydrating) {\\n    // If we're not currently hydrating but we're in a hydration context, then\\n    // we were an insertion and now need to pop up reenter hydration of our\\n    // siblings.\\n    popToNextHostParent(fiber);\\n    isHydrating = true;\\n    return false;\\n  }\\n\\n  var type = fiber.type; // If we have any remaining hydratable nodes, we need to delete them now.\\n  // We only do this deeper than head and body since they tend to have random\\n  // other nodes in them. We also ignore components with pure text content in\\n  // side of them.\\n  // TODO: Better heuristic.\\n\\n  if (fiber.tag !== HostComponent || type !== 'head' && type !== 'body' && !shouldSetTextContent(type, fiber.memoizedProps)) {\\n    var nextInstance = nextHydratableInstance;\\n\\n    while (nextInstance) {\\n      deleteHydratableInstance(fiber, nextInstance);\\n      nextInstance = getNextHydratableSibling(nextInstance);\\n    }\\n  }\\n\\n  popToNextHostParent(fiber);\\n\\n  if (fiber.tag === SuspenseComponent) {\\n    nextHydratableInstance = skipPastDehydratedSuspenseInstance(fiber);\\n  } else {\\n    nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null;\\n  }\\n\\n  return true;\\n}\\n\\nfunction resetHydrationState() {\\n\\n  hydrationParentFiber = null;\\n  nextHydratableInstance = null;\\n  isHydrating = false;\\n}\\n\\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\\nvar didReceiveUpdate = false;\\nvar didWarnAboutBadClass;\\nvar didWarnAboutModulePatternComponent;\\nvar didWarnAboutContextTypeOnFunctionComponent;\\nvar didWarnAboutGetDerivedStateOnFunctionComponent;\\nvar didWarnAboutFunctionRefs;\\nvar didWarnAboutReassigningProps;\\nvar didWarnAboutRevealOrder;\\nvar didWarnAboutTailOptions;\\n\\n{\\n  didWarnAboutBadClass = {};\\n  didWarnAboutModulePatternComponent = {};\\n  didWarnAboutContextTypeOnFunctionComponent = {};\\n  didWarnAboutGetDerivedStateOnFunctionComponent = {};\\n  didWarnAboutFunctionRefs = {};\\n  didWarnAboutReassigningProps = false;\\n  didWarnAboutRevealOrder = {};\\n  didWarnAboutTailOptions = {};\\n}\\n\\nfunction reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime) {\\n  if (current === null) {\\n    // If this is a fresh new component that hasn't been rendered yet, we\\n    // won't update its child set by applying minimal side-effects. Instead,\\n    // we will add them all to the child before it gets rendered. That means\\n    // we can optimize this reconciliation pass by not tracking side-effects.\\n    workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime);\\n  } else {\\n    // If the current child is the same as the work in progress, it means that\\n    // we haven't yet started any work on these children. Therefore, we use\\n    // the clone algorithm to create a copy of all the current children.\\n    // If we had any progressed work already, that is invalid at this point so\\n    // let's throw it out.\\n    workInProgress.child = reconcileChildFibers(workInProgress, current.child, nextChildren, renderExpirationTime);\\n  }\\n}\\n\\nfunction forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime) {\\n  // This function is fork of reconcileChildren. It's used in cases where we\\n  // want to reconcile without matching against the existing set. This has the\\n  // effect of all current children being unmounted; even if the type and key\\n  // are the same, the old child is unmounted and a new child is created.\\n  //\\n  // To do this, we're going to go through the reconcile algorithm twice. In\\n  // the first pass, we schedule a deletion for all the current children by\\n  // passing null.\\n  workInProgress.child = reconcileChildFibers(workInProgress, current.child, null, renderExpirationTime); // In the second pass, we mount the new children. The trick here is that we\\n  // pass null in place of where we usually pass the current child set. This has\\n  // the effect of remounting all children regardless of whether their\\n  // identities match.\\n\\n  workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime);\\n}\\n\\nfunction updateForwardRef(current, workInProgress, Component, nextProps, renderExpirationTime) {\\n  // TODO: current can be non-null here even if the component\\n  // hasn't yet mounted. This happens after the first render suspends.\\n  // We'll need to figure out if this is fine or can cause issues.\\n  {\\n    if (workInProgress.type !== workInProgress.elementType) {\\n      // Lazy component props can't be validated in createElement\\n      // because they're only guaranteed to be resolved here.\\n      var innerPropTypes = Component.propTypes;\\n\\n      if (innerPropTypes) {\\n        checkPropTypes(innerPropTypes, nextProps, // Resolved props\\n        'prop', getComponentName(Component), getCurrentFiberStackInDev);\\n      }\\n    }\\n  }\\n\\n  var render = Component.render;\\n  var ref = workInProgress.ref; // The rest is a fork of updateFunctionComponent\\n\\n  var nextChildren;\\n  prepareToReadContext(workInProgress, renderExpirationTime);\\n\\n  {\\n    ReactCurrentOwner$1.current = workInProgress;\\n    setIsRendering(true);\\n    nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);\\n\\n    if ( workInProgress.mode & StrictMode) {\\n      // Only double-render components with Hooks\\n      if (workInProgress.memoizedState !== null) {\\n        nextChildren = renderWithHooks(current, workInProgress, render, nextProps, ref, renderExpirationTime);\\n      }\\n    }\\n\\n    setIsRendering(false);\\n  }\\n\\n  if (current !== null && !didReceiveUpdate) {\\n    bailoutHooks(current, workInProgress, renderExpirationTime);\\n    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n  } // React DevTools reads this flag.\\n\\n\\n  workInProgress.effectTag |= PerformedWork;\\n  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction updateMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {\\n  if (current === null) {\\n    var type = Component.type;\\n\\n    if (isSimpleFunctionComponent(type) && Component.compare === null && // SimpleMemoComponent codepath doesn't resolve outer props either.\\n    Component.defaultProps === undefined) {\\n      var resolvedType = type;\\n\\n      {\\n        resolvedType = resolveFunctionForHotReloading(type);\\n      } // If this is a plain function component without default props,\\n      // and with only the default shallow comparison, we upgrade it\\n      // to a SimpleMemoComponent to allow fast path updates.\\n\\n\\n      workInProgress.tag = SimpleMemoComponent;\\n      workInProgress.type = resolvedType;\\n\\n      {\\n        validateFunctionComponentInDev(workInProgress, type);\\n      }\\n\\n      return updateSimpleMemoComponent(current, workInProgress, resolvedType, nextProps, updateExpirationTime, renderExpirationTime);\\n    }\\n\\n    {\\n      var innerPropTypes = type.propTypes;\\n\\n      if (innerPropTypes) {\\n        // Inner memo component props aren't currently validated in createElement.\\n        // We could move it there, but we'd still need this for lazy code path.\\n        checkPropTypes(innerPropTypes, nextProps, // Resolved props\\n        'prop', getComponentName(type), getCurrentFiberStackInDev);\\n      }\\n    }\\n\\n    var child = createFiberFromTypeAndProps(Component.type, null, nextProps, null, workInProgress.mode, renderExpirationTime);\\n    child.ref = workInProgress.ref;\\n    child.return = workInProgress;\\n    workInProgress.child = child;\\n    return child;\\n  }\\n\\n  {\\n    var _type = Component.type;\\n    var _innerPropTypes = _type.propTypes;\\n\\n    if (_innerPropTypes) {\\n      // Inner memo component props aren't currently validated in createElement.\\n      // We could move it there, but we'd still need this for lazy code path.\\n      checkPropTypes(_innerPropTypes, nextProps, // Resolved props\\n      'prop', getComponentName(_type), getCurrentFiberStackInDev);\\n    }\\n  }\\n\\n  var currentChild = current.child; // This is always exactly one child\\n\\n  if (updateExpirationTime < renderExpirationTime) {\\n    // This will be the props with resolved defaultProps,\\n    // unlike current.memoizedProps which will be the unresolved ones.\\n    var prevProps = currentChild.memoizedProps; // Default to shallow comparison\\n\\n    var compare = Component.compare;\\n    compare = compare !== null ? compare : shallowEqual;\\n\\n    if (compare(prevProps, nextProps) && current.ref === workInProgress.ref) {\\n      return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n    }\\n  } // React DevTools reads this flag.\\n\\n\\n  workInProgress.effectTag |= PerformedWork;\\n  var newChild = createWorkInProgress(currentChild, nextProps);\\n  newChild.ref = workInProgress.ref;\\n  newChild.return = workInProgress;\\n  workInProgress.child = newChild;\\n  return newChild;\\n}\\n\\nfunction updateSimpleMemoComponent(current, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) {\\n  // TODO: current can be non-null here even if the component\\n  // hasn't yet mounted. This happens when the inner render suspends.\\n  // We'll need to figure out if this is fine or can cause issues.\\n  {\\n    if (workInProgress.type !== workInProgress.elementType) {\\n      // Lazy component props can't be validated in createElement\\n      // because they're only guaranteed to be resolved here.\\n      var outerMemoType = workInProgress.elementType;\\n\\n      if (outerMemoType.$$typeof === REACT_LAZY_TYPE) {\\n        // We warn when you define propTypes on lazy()\\n        // so let's just skip over it to find memo() outer wrapper.\\n        // Inner props for memo are validated later.\\n        outerMemoType = refineResolvedLazyComponent(outerMemoType);\\n      }\\n\\n      var outerPropTypes = outerMemoType && outerMemoType.propTypes;\\n\\n      if (outerPropTypes) {\\n        checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps)\\n        'prop', getComponentName(outerMemoType), getCurrentFiberStackInDev);\\n      } // Inner propTypes will be validated in the function component path.\\n\\n    }\\n  }\\n\\n  if (current !== null) {\\n    var prevProps = current.memoizedProps;\\n\\n    if (shallowEqual(prevProps, nextProps) && current.ref === workInProgress.ref && ( // Prevent bailout if the implementation changed due to hot reload.\\n     workInProgress.type === current.type )) {\\n      didReceiveUpdate = false;\\n\\n      if (updateExpirationTime < renderExpirationTime) {\\n        // The pending update priority was cleared at the beginning of\\n        // beginWork. We're about to bail out, but there might be additional\\n        // updates at a lower priority. Usually, the priority level of the\\n        // remaining updates is accumlated during the evaluation of the\\n        // component (i.e. when processing the update queue). But since since\\n        // we're bailing out early *without* evaluating the component, we need\\n        // to account for it here, too. Reset to the value of the current fiber.\\n        // NOTE: This only applies to SimpleMemoComponent, not MemoComponent,\\n        // because a MemoComponent fiber does not have hooks or an update queue;\\n        // rather, it wraps around an inner component, which may or may not\\n        // contains hooks.\\n        // TODO: Move the reset at in beginWork out of the common path so that\\n        // this is no longer necessary.\\n        workInProgress.expirationTime = current.expirationTime;\\n        return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n      }\\n    }\\n  }\\n\\n  return updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime);\\n}\\n\\nfunction updateFragment(current, workInProgress, renderExpirationTime) {\\n  var nextChildren = workInProgress.pendingProps;\\n  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction updateMode(current, workInProgress, renderExpirationTime) {\\n  var nextChildren = workInProgress.pendingProps.children;\\n  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction updateProfiler(current, workInProgress, renderExpirationTime) {\\n  {\\n    workInProgress.effectTag |= Update;\\n  }\\n\\n  var nextProps = workInProgress.pendingProps;\\n  var nextChildren = nextProps.children;\\n  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction markRef(current, workInProgress) {\\n  var ref = workInProgress.ref;\\n\\n  if (current === null && ref !== null || current !== null && current.ref !== ref) {\\n    // Schedule a Ref effect\\n    workInProgress.effectTag |= Ref;\\n  }\\n}\\n\\nfunction updateFunctionComponent(current, workInProgress, Component, nextProps, renderExpirationTime) {\\n  {\\n    if (workInProgress.type !== workInProgress.elementType) {\\n      // Lazy component props can't be validated in createElement\\n      // because they're only guaranteed to be resolved here.\\n      var innerPropTypes = Component.propTypes;\\n\\n      if (innerPropTypes) {\\n        checkPropTypes(innerPropTypes, nextProps, // Resolved props\\n        'prop', getComponentName(Component), getCurrentFiberStackInDev);\\n      }\\n    }\\n  }\\n\\n  var context;\\n\\n  {\\n    var unmaskedContext = getUnmaskedContext(workInProgress, Component, true);\\n    context = getMaskedContext(workInProgress, unmaskedContext);\\n  }\\n\\n  var nextChildren;\\n  prepareToReadContext(workInProgress, renderExpirationTime);\\n\\n  {\\n    ReactCurrentOwner$1.current = workInProgress;\\n    setIsRendering(true);\\n    nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);\\n\\n    if ( workInProgress.mode & StrictMode) {\\n      // Only double-render components with Hooks\\n      if (workInProgress.memoizedState !== null) {\\n        nextChildren = renderWithHooks(current, workInProgress, Component, nextProps, context, renderExpirationTime);\\n      }\\n    }\\n\\n    setIsRendering(false);\\n  }\\n\\n  if (current !== null && !didReceiveUpdate) {\\n    bailoutHooks(current, workInProgress, renderExpirationTime);\\n    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n  } // React DevTools reads this flag.\\n\\n\\n  workInProgress.effectTag |= PerformedWork;\\n  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction updateClassComponent(current, workInProgress, Component, nextProps, renderExpirationTime) {\\n  {\\n    if (workInProgress.type !== workInProgress.elementType) {\\n      // Lazy component props can't be validated in createElement\\n      // because they're only guaranteed to be resolved here.\\n      var innerPropTypes = Component.propTypes;\\n\\n      if (innerPropTypes) {\\n        checkPropTypes(innerPropTypes, nextProps, // Resolved props\\n        'prop', getComponentName(Component), getCurrentFiberStackInDev);\\n      }\\n    }\\n  } // Push context providers early to prevent context stack mismatches.\\n  // During mounting we don't know the child context yet as the instance doesn't exist.\\n  // We will invalidate the child context in finishClassComponent() right after rendering.\\n\\n\\n  var hasContext;\\n\\n  if (isContextProvider(Component)) {\\n    hasContext = true;\\n    pushContextProvider(workInProgress);\\n  } else {\\n    hasContext = false;\\n  }\\n\\n  prepareToReadContext(workInProgress, renderExpirationTime);\\n  var instance = workInProgress.stateNode;\\n  var shouldUpdate;\\n\\n  if (instance === null) {\\n    if (current !== null) {\\n      // A class component without an instance only mounts if it suspended\\n      // inside a non-concurrent tree, in an inconsistent state. We want to\\n      // treat it like a new mount, even though an empty version of it already\\n      // committed. Disconnect the alternate pointers.\\n      current.alternate = null;\\n      workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\\n\\n      workInProgress.effectTag |= Placement;\\n    } // In the initial pass we might need to construct the instance.\\n\\n\\n    constructClassInstance(workInProgress, Component, nextProps);\\n    mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);\\n    shouldUpdate = true;\\n  } else if (current === null) {\\n    // In a resume, we'll already have an instance we can reuse.\\n    shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);\\n  } else {\\n    shouldUpdate = updateClassInstance(current, workInProgress, Component, nextProps, renderExpirationTime);\\n  }\\n\\n  var nextUnitOfWork = finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime);\\n\\n  {\\n    var inst = workInProgress.stateNode;\\n\\n    if (inst.props !== nextProps) {\\n      if (!didWarnAboutReassigningProps) {\\n        error('It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentName(workInProgress.type) || 'a component');\\n      }\\n\\n      didWarnAboutReassigningProps = true;\\n    }\\n  }\\n\\n  return nextUnitOfWork;\\n}\\n\\nfunction finishClassComponent(current, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime) {\\n  // Refs should update even if shouldComponentUpdate returns false\\n  markRef(current, workInProgress);\\n  var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect;\\n\\n  if (!shouldUpdate && !didCaptureError) {\\n    // Context providers should defer to sCU for rendering\\n    if (hasContext) {\\n      invalidateContextProvider(workInProgress, Component, false);\\n    }\\n\\n    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n  }\\n\\n  var instance = workInProgress.stateNode; // Rerender\\n\\n  ReactCurrentOwner$1.current = workInProgress;\\n  var nextChildren;\\n\\n  if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') {\\n    // If we captured an error, but getDerivedStateFromError is not defined,\\n    // unmount all the children. componentDidCatch will schedule an update to\\n    // re-render a fallback. This is temporary until we migrate everyone to\\n    // the new API.\\n    // TODO: Warn in a future release.\\n    nextChildren = null;\\n\\n    {\\n      stopProfilerTimerIfRunning();\\n    }\\n  } else {\\n    {\\n      setIsRendering(true);\\n      nextChildren = instance.render();\\n\\n      if ( workInProgress.mode & StrictMode) {\\n        instance.render();\\n      }\\n\\n      setIsRendering(false);\\n    }\\n  } // React DevTools reads this flag.\\n\\n\\n  workInProgress.effectTag |= PerformedWork;\\n\\n  if (current !== null && didCaptureError) {\\n    // If we're recovering from an error, reconcile without reusing any of\\n    // the existing children. Conceptually, the normal children and the children\\n    // that are shown on error are two different sets, so we shouldn't reuse\\n    // normal children even if their identities match.\\n    forceUnmountCurrentAndReconcile(current, workInProgress, nextChildren, renderExpirationTime);\\n  } else {\\n    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  } // Memoize state using the values we just used to render.\\n  // TODO: Restructure so we never read values from the instance.\\n\\n\\n  workInProgress.memoizedState = instance.state; // The context might have changed so we need to recalculate it.\\n\\n  if (hasContext) {\\n    invalidateContextProvider(workInProgress, Component, true);\\n  }\\n\\n  return workInProgress.child;\\n}\\n\\nfunction pushHostRootContext(workInProgress) {\\n  var root = workInProgress.stateNode;\\n\\n  if (root.pendingContext) {\\n    pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context);\\n  } else if (root.context) {\\n    // Should always be set\\n    pushTopLevelContextObject(workInProgress, root.context, false);\\n  }\\n\\n  pushHostContainer(workInProgress, root.containerInfo);\\n}\\n\\nfunction updateHostRoot(current, workInProgress, renderExpirationTime) {\\n  pushHostRootContext(workInProgress);\\n  var updateQueue = workInProgress.updateQueue;\\n\\n  if (!(current !== null && updateQueue !== null)) {\\n    {\\n      throw Error( \\\"If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n\\n  var nextProps = workInProgress.pendingProps;\\n  var prevState = workInProgress.memoizedState;\\n  var prevChildren = prevState !== null ? prevState.element : null;\\n  cloneUpdateQueue(current, workInProgress);\\n  processUpdateQueue(workInProgress, nextProps, null, renderExpirationTime);\\n  var nextState = workInProgress.memoizedState; // Caution: React DevTools currently depends on this property\\n  // being called \\\"element\\\".\\n\\n  var nextChildren = nextState.element;\\n\\n  if (nextChildren === prevChildren) {\\n    // If the state is the same as before, that's a bailout because we had\\n    // no work that expires at this time.\\n    resetHydrationState();\\n    return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n  }\\n\\n  var root = workInProgress.stateNode;\\n\\n  if (root.hydrate && enterHydrationState(workInProgress)) {\\n    // If we don't have any current children this might be the first pass.\\n    // We always try to hydrate. If this isn't a hydration pass there won't\\n    // be any children to hydrate which is effectively the same thing as\\n    // not hydrating.\\n    var child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime);\\n    workInProgress.child = child;\\n    var node = child;\\n\\n    while (node) {\\n      // Mark each child as hydrating. This is a fast path to know whether this\\n      // tree is part of a hydrating tree. This is used to determine if a child\\n      // node has fully mounted yet, and for scheduling event replaying.\\n      // Conceptually this is similar to Placement in that a new subtree is\\n      // inserted into the React tree here. It just happens to not need DOM\\n      // mutations because it already exists.\\n      node.effectTag = node.effectTag & ~Placement | Hydrating;\\n      node = node.sibling;\\n    }\\n  } else {\\n    // Otherwise reset hydration state in case we aborted and resumed another\\n    // root.\\n    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n    resetHydrationState();\\n  }\\n\\n  return workInProgress.child;\\n}\\n\\nfunction updateHostComponent(current, workInProgress, renderExpirationTime) {\\n  pushHostContext(workInProgress);\\n\\n  if (current === null) {\\n    tryToClaimNextHydratableInstance(workInProgress);\\n  }\\n\\n  var type = workInProgress.type;\\n  var nextProps = workInProgress.pendingProps;\\n  var prevProps = current !== null ? current.memoizedProps : null;\\n  var nextChildren = nextProps.children;\\n  var isDirectTextChild = shouldSetTextContent(type, nextProps);\\n\\n  if (isDirectTextChild) {\\n    // We special case a direct text child of a host node. This is a common\\n    // case. We won't handle it as a reified child. We will instead handle\\n    // this in the host environment that also has access to this prop. That\\n    // avoids allocating another HostText fiber and traversing it.\\n    nextChildren = null;\\n  } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) {\\n    // If we're switching from a direct text child to a normal child, or to\\n    // empty, we need to schedule the text content to be reset.\\n    workInProgress.effectTag |= ContentReset;\\n  }\\n\\n  markRef(current, workInProgress); // Check the host config to see if the children are offscreen/hidden.\\n\\n  if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(type, nextProps)) {\\n    {\\n      markSpawnedWork(Never);\\n    } // Schedule this fiber to re-render at offscreen priority. Then bailout.\\n\\n\\n    workInProgress.expirationTime = workInProgress.childExpirationTime = Never;\\n    return null;\\n  }\\n\\n  reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction updateHostText(current, workInProgress) {\\n  if (current === null) {\\n    tryToClaimNextHydratableInstance(workInProgress);\\n  } // Nothing to do here. This is terminal. We'll do the completion step\\n  // immediately after.\\n\\n\\n  return null;\\n}\\n\\nfunction mountLazyComponent(_current, workInProgress, elementType, updateExpirationTime, renderExpirationTime) {\\n  if (_current !== null) {\\n    // A lazy component only mounts if it suspended inside a non-\\n    // concurrent tree, in an inconsistent state. We want to treat it like\\n    // a new mount, even though an empty version of it already committed.\\n    // Disconnect the alternate pointers.\\n    _current.alternate = null;\\n    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\\n\\n    workInProgress.effectTag |= Placement;\\n  }\\n\\n  var props = workInProgress.pendingProps; // We can't start a User Timing measurement with correct label yet.\\n  // Cancel and resume right after we know the tag.\\n\\n  cancelWorkTimer(workInProgress);\\n  var Component = readLazyComponentType(elementType); // Store the unwrapped component in the type.\\n\\n  workInProgress.type = Component;\\n  var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component);\\n  startWorkTimer(workInProgress);\\n  var resolvedProps = resolveDefaultProps(Component, props);\\n  var child;\\n\\n  switch (resolvedTag) {\\n    case FunctionComponent:\\n      {\\n        {\\n          validateFunctionComponentInDev(workInProgress, Component);\\n          workInProgress.type = Component = resolveFunctionForHotReloading(Component);\\n        }\\n\\n        child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime);\\n        return child;\\n      }\\n\\n    case ClassComponent:\\n      {\\n        {\\n          workInProgress.type = Component = resolveClassForHotReloading(Component);\\n        }\\n\\n        child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime);\\n        return child;\\n      }\\n\\n    case ForwardRef:\\n      {\\n        {\\n          workInProgress.type = Component = resolveForwardRefForHotReloading(Component);\\n        }\\n\\n        child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderExpirationTime);\\n        return child;\\n      }\\n\\n    case MemoComponent:\\n      {\\n        {\\n          if (workInProgress.type !== workInProgress.elementType) {\\n            var outerPropTypes = Component.propTypes;\\n\\n            if (outerPropTypes) {\\n              checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only\\n              'prop', getComponentName(Component), getCurrentFiberStackInDev);\\n            }\\n          }\\n        }\\n\\n        child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too\\n        updateExpirationTime, renderExpirationTime);\\n        return child;\\n      }\\n  }\\n\\n  var hint = '';\\n\\n  {\\n    if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) {\\n      hint = ' Did you wrap a component in React.lazy() more than once?';\\n    }\\n  } // This message intentionally doesn't mention ForwardRef or MemoComponent\\n  // because the fact that it's a separate type of work is an\\n  // implementation detail.\\n\\n\\n  {\\n    {\\n      throw Error( \\\"Element type is invalid. Received a promise that resolves to: \\\" + Component + \\\". Lazy element type must resolve to a class or function.\\\" + hint );\\n    }\\n  }\\n}\\n\\nfunction mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderExpirationTime) {\\n  if (_current !== null) {\\n    // An incomplete component only mounts if it suspended inside a non-\\n    // concurrent tree, in an inconsistent state. We want to treat it like\\n    // a new mount, even though an empty version of it already committed.\\n    // Disconnect the alternate pointers.\\n    _current.alternate = null;\\n    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\\n\\n    workInProgress.effectTag |= Placement;\\n  } // Promote the fiber to a class and try rendering again.\\n\\n\\n  workInProgress.tag = ClassComponent; // The rest of this function is a fork of `updateClassComponent`\\n  // Push context providers early to prevent context stack mismatches.\\n  // During mounting we don't know the child context yet as the instance doesn't exist.\\n  // We will invalidate the child context in finishClassComponent() right after rendering.\\n\\n  var hasContext;\\n\\n  if (isContextProvider(Component)) {\\n    hasContext = true;\\n    pushContextProvider(workInProgress);\\n  } else {\\n    hasContext = false;\\n  }\\n\\n  prepareToReadContext(workInProgress, renderExpirationTime);\\n  constructClassInstance(workInProgress, Component, nextProps);\\n  mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime);\\n  return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime);\\n}\\n\\nfunction mountIndeterminateComponent(_current, workInProgress, Component, renderExpirationTime) {\\n  if (_current !== null) {\\n    // An indeterminate component only mounts if it suspended inside a non-\\n    // concurrent tree, in an inconsistent state. We want to treat it like\\n    // a new mount, even though an empty version of it already committed.\\n    // Disconnect the alternate pointers.\\n    _current.alternate = null;\\n    workInProgress.alternate = null; // Since this is conceptually a new fiber, schedule a Placement effect\\n\\n    workInProgress.effectTag |= Placement;\\n  }\\n\\n  var props = workInProgress.pendingProps;\\n  var context;\\n\\n  {\\n    var unmaskedContext = getUnmaskedContext(workInProgress, Component, false);\\n    context = getMaskedContext(workInProgress, unmaskedContext);\\n  }\\n\\n  prepareToReadContext(workInProgress, renderExpirationTime);\\n  var value;\\n\\n  {\\n    if (Component.prototype && typeof Component.prototype.render === 'function') {\\n      var componentName = getComponentName(Component) || 'Unknown';\\n\\n      if (!didWarnAboutBadClass[componentName]) {\\n        error(\\\"The <%s /> component appears to have a render method, but doesn't extend React.Component. \\\" + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName);\\n\\n        didWarnAboutBadClass[componentName] = true;\\n      }\\n    }\\n\\n    if (workInProgress.mode & StrictMode) {\\n      ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null);\\n    }\\n\\n    setIsRendering(true);\\n    ReactCurrentOwner$1.current = workInProgress;\\n    value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);\\n    setIsRendering(false);\\n  } // React DevTools reads this flag.\\n\\n\\n  workInProgress.effectTag |= PerformedWork;\\n\\n  if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) {\\n    {\\n      var _componentName = getComponentName(Component) || 'Unknown';\\n\\n      if (!didWarnAboutModulePatternComponent[_componentName]) {\\n        error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + \\\"If you can't use a class try assigning the prototype on the function as a workaround. \\\" + \\\"`%s.prototype = React.Component.prototype`. Don't use an arrow function since it \\\" + 'cannot be called with `new` by React.', _componentName, _componentName, _componentName);\\n\\n        didWarnAboutModulePatternComponent[_componentName] = true;\\n      }\\n    } // Proceed under the assumption that this is a class instance\\n\\n\\n    workInProgress.tag = ClassComponent; // Throw out any hooks that were used.\\n\\n    workInProgress.memoizedState = null;\\n    workInProgress.updateQueue = null; // Push context providers early to prevent context stack mismatches.\\n    // During mounting we don't know the child context yet as the instance doesn't exist.\\n    // We will invalidate the child context in finishClassComponent() right after rendering.\\n\\n    var hasContext = false;\\n\\n    if (isContextProvider(Component)) {\\n      hasContext = true;\\n      pushContextProvider(workInProgress);\\n    } else {\\n      hasContext = false;\\n    }\\n\\n    workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null;\\n    initializeUpdateQueue(workInProgress);\\n    var getDerivedStateFromProps = Component.getDerivedStateFromProps;\\n\\n    if (typeof getDerivedStateFromProps === 'function') {\\n      applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, props);\\n    }\\n\\n    adoptClassInstance(workInProgress, value);\\n    mountClassInstance(workInProgress, Component, props, renderExpirationTime);\\n    return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime);\\n  } else {\\n    // Proceed under the assumption that this is a function component\\n    workInProgress.tag = FunctionComponent;\\n\\n    {\\n\\n      if ( workInProgress.mode & StrictMode) {\\n        // Only double-render components with Hooks\\n        if (workInProgress.memoizedState !== null) {\\n          value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);\\n        }\\n      }\\n    }\\n\\n    reconcileChildren(null, workInProgress, value, renderExpirationTime);\\n\\n    {\\n      validateFunctionComponentInDev(workInProgress, Component);\\n    }\\n\\n    return workInProgress.child;\\n  }\\n}\\n\\nfunction validateFunctionComponentInDev(workInProgress, Component) {\\n  {\\n    if (Component) {\\n      if (Component.childContextTypes) {\\n        error('%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component');\\n      }\\n    }\\n\\n    if (workInProgress.ref !== null) {\\n      var info = '';\\n      var ownerName = getCurrentFiberOwnerNameInDevOrNull();\\n\\n      if (ownerName) {\\n        info += '\\\\n\\\\nCheck the render method of `' + ownerName + '`.';\\n      }\\n\\n      var warningKey = ownerName || workInProgress._debugID || '';\\n      var debugSource = workInProgress._debugSource;\\n\\n      if (debugSource) {\\n        warningKey = debugSource.fileName + ':' + debugSource.lineNumber;\\n      }\\n\\n      if (!didWarnAboutFunctionRefs[warningKey]) {\\n        didWarnAboutFunctionRefs[warningKey] = true;\\n\\n        error('Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info);\\n      }\\n    }\\n\\n    if (typeof Component.getDerivedStateFromProps === 'function') {\\n      var _componentName2 = getComponentName(Component) || 'Unknown';\\n\\n      if (!didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2]) {\\n        error('%s: Function components do not support getDerivedStateFromProps.', _componentName2);\\n\\n        didWarnAboutGetDerivedStateOnFunctionComponent[_componentName2] = true;\\n      }\\n    }\\n\\n    if (typeof Component.contextType === 'object' && Component.contextType !== null) {\\n      var _componentName3 = getComponentName(Component) || 'Unknown';\\n\\n      if (!didWarnAboutContextTypeOnFunctionComponent[_componentName3]) {\\n        error('%s: Function components do not support contextType.', _componentName3);\\n\\n        didWarnAboutContextTypeOnFunctionComponent[_componentName3] = true;\\n      }\\n    }\\n  }\\n}\\n\\nvar SUSPENDED_MARKER = {\\n  dehydrated: null,\\n  retryTime: NoWork\\n};\\n\\nfunction shouldRemainOnFallback(suspenseContext, current, workInProgress) {\\n  // If the context is telling us that we should show a fallback, and we're not\\n  // already showing content, then we should show the fallback instead.\\n  return hasSuspenseContext(suspenseContext, ForceSuspenseFallback) && (current === null || current.memoizedState !== null);\\n}\\n\\nfunction updateSuspenseComponent(current, workInProgress, renderExpirationTime) {\\n  var mode = workInProgress.mode;\\n  var nextProps = workInProgress.pendingProps; // This is used by DevTools to force a boundary to suspend.\\n\\n  {\\n    if (shouldSuspend(workInProgress)) {\\n      workInProgress.effectTag |= DidCapture;\\n    }\\n  }\\n\\n  var suspenseContext = suspenseStackCursor.current;\\n  var nextDidTimeout = false;\\n  var didSuspend = (workInProgress.effectTag & DidCapture) !== NoEffect;\\n\\n  if (didSuspend || shouldRemainOnFallback(suspenseContext, current)) {\\n    // Something in this boundary's subtree already suspended. Switch to\\n    // rendering the fallback children.\\n    nextDidTimeout = true;\\n    workInProgress.effectTag &= ~DidCapture;\\n  } else {\\n    // Attempting the main content\\n    if (current === null || current.memoizedState !== null) {\\n      // This is a new mount or this boundary is already showing a fallback state.\\n      // Mark this subtree context as having at least one invisible parent that could\\n      // handle the fallback state.\\n      // Boundaries without fallbacks or should be avoided are not considered since\\n      // they cannot handle preferred fallback states.\\n      if (nextProps.fallback !== undefined && nextProps.unstable_avoidThisFallback !== true) {\\n        suspenseContext = addSubtreeSuspenseContext(suspenseContext, InvisibleParentSuspenseContext);\\n      }\\n    }\\n  }\\n\\n  suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\\n  pushSuspenseContext(workInProgress, suspenseContext); // This next part is a bit confusing. If the children timeout, we switch to\\n  // showing the fallback children in place of the \\\"primary\\\" children.\\n  // However, we don't want to delete the primary children because then their\\n  // state will be lost (both the React state and the host state, e.g.\\n  // uncontrolled form inputs). Instead we keep them mounted and hide them.\\n  // Both the fallback children AND the primary children are rendered at the\\n  // same time. Once the primary children are un-suspended, we can delete\\n  // the fallback children — don't need to preserve their state.\\n  //\\n  // The two sets of children are siblings in the host environment, but\\n  // semantically, for purposes of reconciliation, they are two separate sets.\\n  // So we store them using two fragment fibers.\\n  //\\n  // However, we want to avoid allocating extra fibers for every placeholder.\\n  // They're only necessary when the children time out, because that's the\\n  // only time when both sets are mounted.\\n  //\\n  // So, the extra fragment fibers are only used if the children time out.\\n  // Otherwise, we render the primary children directly. This requires some\\n  // custom reconciliation logic to preserve the state of the primary\\n  // children. It's essentially a very basic form of re-parenting.\\n\\n  if (current === null) {\\n    // If we're currently hydrating, try to hydrate this boundary.\\n    // But only if this has a fallback.\\n    if (nextProps.fallback !== undefined) {\\n      tryToClaimNextHydratableInstance(workInProgress); // This could've been a dehydrated suspense component.\\n    } // This is the initial mount. This branch is pretty simple because there's\\n    // no previous state that needs to be preserved.\\n\\n\\n    if (nextDidTimeout) {\\n      // Mount separate fragments for primary and fallback children.\\n      var nextFallbackChildren = nextProps.fallback;\\n      var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null);\\n      primaryChildFragment.return = workInProgress;\\n\\n      if ((workInProgress.mode & BlockingMode) === NoMode) {\\n        // Outside of blocking mode, we commit the effects from the\\n        // partially completed, timed-out tree, too.\\n        var progressedState = workInProgress.memoizedState;\\n        var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child;\\n        primaryChildFragment.child = progressedPrimaryChild;\\n        var progressedChild = progressedPrimaryChild;\\n\\n        while (progressedChild !== null) {\\n          progressedChild.return = primaryChildFragment;\\n          progressedChild = progressedChild.sibling;\\n        }\\n      }\\n\\n      var fallbackChildFragment = createFiberFromFragment(nextFallbackChildren, mode, renderExpirationTime, null);\\n      fallbackChildFragment.return = workInProgress;\\n      primaryChildFragment.sibling = fallbackChildFragment; // Skip the primary children, and continue working on the\\n      // fallback children.\\n\\n      workInProgress.memoizedState = SUSPENDED_MARKER;\\n      workInProgress.child = primaryChildFragment;\\n      return fallbackChildFragment;\\n    } else {\\n      // Mount the primary children without an intermediate fragment fiber.\\n      var nextPrimaryChildren = nextProps.children;\\n      workInProgress.memoizedState = null;\\n      return workInProgress.child = mountChildFibers(workInProgress, null, nextPrimaryChildren, renderExpirationTime);\\n    }\\n  } else {\\n    // This is an update. This branch is more complicated because we need to\\n    // ensure the state of the primary children is preserved.\\n    var prevState = current.memoizedState;\\n\\n    if (prevState !== null) {\\n      // wrapped in a fragment fiber.\\n\\n\\n      var currentPrimaryChildFragment = current.child;\\n      var currentFallbackChildFragment = currentPrimaryChildFragment.sibling;\\n\\n      if (nextDidTimeout) {\\n        // Still timed out. Reuse the current primary children by cloning\\n        // its fragment. We're going to skip over these entirely.\\n        var _nextFallbackChildren2 = nextProps.fallback;\\n\\n        var _primaryChildFragment2 = createWorkInProgress(currentPrimaryChildFragment, currentPrimaryChildFragment.pendingProps);\\n\\n        _primaryChildFragment2.return = workInProgress;\\n\\n        if ((workInProgress.mode & BlockingMode) === NoMode) {\\n          // Outside of blocking mode, we commit the effects from the\\n          // partially completed, timed-out tree, too.\\n          var _progressedState = workInProgress.memoizedState;\\n\\n          var _progressedPrimaryChild = _progressedState !== null ? workInProgress.child.child : workInProgress.child;\\n\\n          if (_progressedPrimaryChild !== currentPrimaryChildFragment.child) {\\n            _primaryChildFragment2.child = _progressedPrimaryChild;\\n            var _progressedChild2 = _progressedPrimaryChild;\\n\\n            while (_progressedChild2 !== null) {\\n              _progressedChild2.return = _primaryChildFragment2;\\n              _progressedChild2 = _progressedChild2.sibling;\\n            }\\n          }\\n        } // Because primaryChildFragment is a new fiber that we're inserting as the\\n        // parent of a new tree, we need to set its treeBaseDuration.\\n\\n\\n        if ( workInProgress.mode & ProfileMode) {\\n          // treeBaseDuration is the sum of all the child tree base durations.\\n          var _treeBaseDuration = 0;\\n          var _hiddenChild = _primaryChildFragment2.child;\\n\\n          while (_hiddenChild !== null) {\\n            _treeBaseDuration += _hiddenChild.treeBaseDuration;\\n            _hiddenChild = _hiddenChild.sibling;\\n          }\\n\\n          _primaryChildFragment2.treeBaseDuration = _treeBaseDuration;\\n        } // Clone the fallback child fragment, too. These we'll continue\\n        // working on.\\n\\n\\n        var _fallbackChildFragment2 = createWorkInProgress(currentFallbackChildFragment, _nextFallbackChildren2);\\n\\n        _fallbackChildFragment2.return = workInProgress;\\n        _primaryChildFragment2.sibling = _fallbackChildFragment2;\\n        _primaryChildFragment2.childExpirationTime = NoWork; // Skip the primary children, and continue working on the\\n        // fallback children.\\n\\n        workInProgress.memoizedState = SUSPENDED_MARKER;\\n        workInProgress.child = _primaryChildFragment2;\\n        return _fallbackChildFragment2;\\n      } else {\\n        // No longer suspended. Switch back to showing the primary children,\\n        // and remove the intermediate fragment fiber.\\n        var _nextPrimaryChildren = nextProps.children;\\n        var currentPrimaryChild = currentPrimaryChildFragment.child;\\n        var primaryChild = reconcileChildFibers(workInProgress, currentPrimaryChild, _nextPrimaryChildren, renderExpirationTime); // If this render doesn't suspend, we need to delete the fallback\\n        // children. Wait until the complete phase, after we've confirmed the\\n        // fallback is no longer needed.\\n        // TODO: Would it be better to store the fallback fragment on\\n        // the stateNode?\\n        // Continue rendering the children, like we normally do.\\n\\n        workInProgress.memoizedState = null;\\n        return workInProgress.child = primaryChild;\\n      }\\n    } else {\\n      // The current tree has not already timed out. That means the primary\\n      // children are not wrapped in a fragment fiber.\\n      var _currentPrimaryChild = current.child;\\n\\n      if (nextDidTimeout) {\\n        // Timed out. Wrap the children in a fragment fiber to keep them\\n        // separate from the fallback children.\\n        var _nextFallbackChildren3 = nextProps.fallback;\\n\\n        var _primaryChildFragment3 = createFiberFromFragment( // It shouldn't matter what the pending props are because we aren't\\n        // going to render this fragment.\\n        null, mode, NoWork, null);\\n\\n        _primaryChildFragment3.return = workInProgress;\\n        _primaryChildFragment3.child = _currentPrimaryChild;\\n\\n        if (_currentPrimaryChild !== null) {\\n          _currentPrimaryChild.return = _primaryChildFragment3;\\n        } // Even though we're creating a new fiber, there are no new children,\\n        // because we're reusing an already mounted tree. So we don't need to\\n        // schedule a placement.\\n        // primaryChildFragment.effectTag |= Placement;\\n\\n\\n        if ((workInProgress.mode & BlockingMode) === NoMode) {\\n          // Outside of blocking mode, we commit the effects from the\\n          // partially completed, timed-out tree, too.\\n          var _progressedState2 = workInProgress.memoizedState;\\n\\n          var _progressedPrimaryChild2 = _progressedState2 !== null ? workInProgress.child.child : workInProgress.child;\\n\\n          _primaryChildFragment3.child = _progressedPrimaryChild2;\\n          var _progressedChild3 = _progressedPrimaryChild2;\\n\\n          while (_progressedChild3 !== null) {\\n            _progressedChild3.return = _primaryChildFragment3;\\n            _progressedChild3 = _progressedChild3.sibling;\\n          }\\n        } // Because primaryChildFragment is a new fiber that we're inserting as the\\n        // parent of a new tree, we need to set its treeBaseDuration.\\n\\n\\n        if ( workInProgress.mode & ProfileMode) {\\n          // treeBaseDuration is the sum of all the child tree base durations.\\n          var _treeBaseDuration2 = 0;\\n          var _hiddenChild2 = _primaryChildFragment3.child;\\n\\n          while (_hiddenChild2 !== null) {\\n            _treeBaseDuration2 += _hiddenChild2.treeBaseDuration;\\n            _hiddenChild2 = _hiddenChild2.sibling;\\n          }\\n\\n          _primaryChildFragment3.treeBaseDuration = _treeBaseDuration2;\\n        } // Create a fragment from the fallback children, too.\\n\\n\\n        var _fallbackChildFragment3 = createFiberFromFragment(_nextFallbackChildren3, mode, renderExpirationTime, null);\\n\\n        _fallbackChildFragment3.return = workInProgress;\\n        _primaryChildFragment3.sibling = _fallbackChildFragment3;\\n        _fallbackChildFragment3.effectTag |= Placement;\\n        _primaryChildFragment3.childExpirationTime = NoWork; // Skip the primary children, and continue working on the\\n        // fallback children.\\n\\n        workInProgress.memoizedState = SUSPENDED_MARKER;\\n        workInProgress.child = _primaryChildFragment3;\\n        return _fallbackChildFragment3;\\n      } else {\\n        // Still haven't timed out. Continue rendering the children, like we\\n        // normally do.\\n        workInProgress.memoizedState = null;\\n        var _nextPrimaryChildren2 = nextProps.children;\\n        return workInProgress.child = reconcileChildFibers(workInProgress, _currentPrimaryChild, _nextPrimaryChildren2, renderExpirationTime);\\n      }\\n    }\\n  }\\n}\\n\\nfunction scheduleWorkOnFiber(fiber, renderExpirationTime) {\\n  if (fiber.expirationTime < renderExpirationTime) {\\n    fiber.expirationTime = renderExpirationTime;\\n  }\\n\\n  var alternate = fiber.alternate;\\n\\n  if (alternate !== null && alternate.expirationTime < renderExpirationTime) {\\n    alternate.expirationTime = renderExpirationTime;\\n  }\\n\\n  scheduleWorkOnParentPath(fiber.return, renderExpirationTime);\\n}\\n\\nfunction propagateSuspenseContextChange(workInProgress, firstChild, renderExpirationTime) {\\n  // Mark any Suspense boundaries with fallbacks as having work to do.\\n  // If they were previously forced into fallbacks, they may now be able\\n  // to unblock.\\n  var node = firstChild;\\n\\n  while (node !== null) {\\n    if (node.tag === SuspenseComponent) {\\n      var state = node.memoizedState;\\n\\n      if (state !== null) {\\n        scheduleWorkOnFiber(node, renderExpirationTime);\\n      }\\n    } else if (node.tag === SuspenseListComponent) {\\n      // If the tail is hidden there might not be an Suspense boundaries\\n      // to schedule work on. In this case we have to schedule it on the\\n      // list itself.\\n      // We don't have to traverse to the children of the list since\\n      // the list will propagate the change when it rerenders.\\n      scheduleWorkOnFiber(node, renderExpirationTime);\\n    } else if (node.child !== null) {\\n      node.child.return = node;\\n      node = node.child;\\n      continue;\\n    }\\n\\n    if (node === workInProgress) {\\n      return;\\n    }\\n\\n    while (node.sibling === null) {\\n      if (node.return === null || node.return === workInProgress) {\\n        return;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n  }\\n}\\n\\nfunction findLastContentRow(firstChild) {\\n  // This is going to find the last row among these children that is already\\n  // showing content on the screen, as opposed to being in fallback state or\\n  // new. If a row has multiple Suspense boundaries, any of them being in the\\n  // fallback state, counts as the whole row being in a fallback state.\\n  // Note that the \\\"rows\\\" will be workInProgress, but any nested children\\n  // will still be current since we haven't rendered them yet. The mounted\\n  // order may not be the same as the new order. We use the new order.\\n  var row = firstChild;\\n  var lastContentRow = null;\\n\\n  while (row !== null) {\\n    var currentRow = row.alternate; // New rows can't be content rows.\\n\\n    if (currentRow !== null && findFirstSuspended(currentRow) === null) {\\n      lastContentRow = row;\\n    }\\n\\n    row = row.sibling;\\n  }\\n\\n  return lastContentRow;\\n}\\n\\nfunction validateRevealOrder(revealOrder) {\\n  {\\n    if (revealOrder !== undefined && revealOrder !== 'forwards' && revealOrder !== 'backwards' && revealOrder !== 'together' && !didWarnAboutRevealOrder[revealOrder]) {\\n      didWarnAboutRevealOrder[revealOrder] = true;\\n\\n      if (typeof revealOrder === 'string') {\\n        switch (revealOrder.toLowerCase()) {\\n          case 'together':\\n          case 'forwards':\\n          case 'backwards':\\n            {\\n              error('\\\"%s\\\" is not a valid value for revealOrder on <SuspenseList />. ' + 'Use lowercase \\\"%s\\\" instead.', revealOrder, revealOrder.toLowerCase());\\n\\n              break;\\n            }\\n\\n          case 'forward':\\n          case 'backward':\\n            {\\n              error('\\\"%s\\\" is not a valid value for revealOrder on <SuspenseList />. ' + 'React uses the -s suffix in the spelling. Use \\\"%ss\\\" instead.', revealOrder, revealOrder.toLowerCase());\\n\\n              break;\\n            }\\n\\n          default:\\n            error('\\\"%s\\\" is not a supported revealOrder on <SuspenseList />. ' + 'Did you mean \\\"together\\\", \\\"forwards\\\" or \\\"backwards\\\"?', revealOrder);\\n\\n            break;\\n        }\\n      } else {\\n        error('%s is not a supported value for revealOrder on <SuspenseList />. ' + 'Did you mean \\\"together\\\", \\\"forwards\\\" or \\\"backwards\\\"?', revealOrder);\\n      }\\n    }\\n  }\\n}\\n\\nfunction validateTailOptions(tailMode, revealOrder) {\\n  {\\n    if (tailMode !== undefined && !didWarnAboutTailOptions[tailMode]) {\\n      if (tailMode !== 'collapsed' && tailMode !== 'hidden') {\\n        didWarnAboutTailOptions[tailMode] = true;\\n\\n        error('\\\"%s\\\" is not a supported value for tail on <SuspenseList />. ' + 'Did you mean \\\"collapsed\\\" or \\\"hidden\\\"?', tailMode);\\n      } else if (revealOrder !== 'forwards' && revealOrder !== 'backwards') {\\n        didWarnAboutTailOptions[tailMode] = true;\\n\\n        error('<SuspenseList tail=\\\"%s\\\" /> is only valid if revealOrder is ' + '\\\"forwards\\\" or \\\"backwards\\\". ' + 'Did you mean to specify revealOrder=\\\"forwards\\\"?', tailMode);\\n      }\\n    }\\n  }\\n}\\n\\nfunction validateSuspenseListNestedChild(childSlot, index) {\\n  {\\n    var isArray = Array.isArray(childSlot);\\n    var isIterable = !isArray && typeof getIteratorFn(childSlot) === 'function';\\n\\n    if (isArray || isIterable) {\\n      var type = isArray ? 'array' : 'iterable';\\n\\n      error('A nested %s was passed to row #%s in <SuspenseList />. Wrap it in ' + 'an additional SuspenseList to configure its revealOrder: ' + '<SuspenseList revealOrder=...> ... ' + '<SuspenseList revealOrder=...>{%s}</SuspenseList> ... ' + '</SuspenseList>', type, index, type);\\n\\n      return false;\\n    }\\n  }\\n\\n  return true;\\n}\\n\\nfunction validateSuspenseListChildren(children, revealOrder) {\\n  {\\n    if ((revealOrder === 'forwards' || revealOrder === 'backwards') && children !== undefined && children !== null && children !== false) {\\n      if (Array.isArray(children)) {\\n        for (var i = 0; i < children.length; i++) {\\n          if (!validateSuspenseListNestedChild(children[i], i)) {\\n            return;\\n          }\\n        }\\n      } else {\\n        var iteratorFn = getIteratorFn(children);\\n\\n        if (typeof iteratorFn === 'function') {\\n          var childrenIterator = iteratorFn.call(children);\\n\\n          if (childrenIterator) {\\n            var step = childrenIterator.next();\\n            var _i = 0;\\n\\n            for (; !step.done; step = childrenIterator.next()) {\\n              if (!validateSuspenseListNestedChild(step.value, _i)) {\\n                return;\\n              }\\n\\n              _i++;\\n            }\\n          }\\n        } else {\\n          error('A single row was passed to a <SuspenseList revealOrder=\\\"%s\\\" />. ' + 'This is not useful since it needs multiple rows. ' + 'Did you mean to pass multiple children or an array?', revealOrder);\\n        }\\n      }\\n    }\\n  }\\n}\\n\\nfunction initSuspenseListRenderState(workInProgress, isBackwards, tail, lastContentRow, tailMode, lastEffectBeforeRendering) {\\n  var renderState = workInProgress.memoizedState;\\n\\n  if (renderState === null) {\\n    workInProgress.memoizedState = {\\n      isBackwards: isBackwards,\\n      rendering: null,\\n      renderingStartTime: 0,\\n      last: lastContentRow,\\n      tail: tail,\\n      tailExpiration: 0,\\n      tailMode: tailMode,\\n      lastEffect: lastEffectBeforeRendering\\n    };\\n  } else {\\n    // We can reuse the existing object from previous renders.\\n    renderState.isBackwards = isBackwards;\\n    renderState.rendering = null;\\n    renderState.renderingStartTime = 0;\\n    renderState.last = lastContentRow;\\n    renderState.tail = tail;\\n    renderState.tailExpiration = 0;\\n    renderState.tailMode = tailMode;\\n    renderState.lastEffect = lastEffectBeforeRendering;\\n  }\\n} // This can end up rendering this component multiple passes.\\n// The first pass splits the children fibers into two sets. A head and tail.\\n// We first render the head. If anything is in fallback state, we do another\\n// pass through beginWork to rerender all children (including the tail) with\\n// the force suspend context. If the first render didn't have anything in\\n// in fallback state. Then we render each row in the tail one-by-one.\\n// That happens in the completeWork phase without going back to beginWork.\\n\\n\\nfunction updateSuspenseListComponent(current, workInProgress, renderExpirationTime) {\\n  var nextProps = workInProgress.pendingProps;\\n  var revealOrder = nextProps.revealOrder;\\n  var tailMode = nextProps.tail;\\n  var newChildren = nextProps.children;\\n  validateRevealOrder(revealOrder);\\n  validateTailOptions(tailMode, revealOrder);\\n  validateSuspenseListChildren(newChildren, revealOrder);\\n  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);\\n  var suspenseContext = suspenseStackCursor.current;\\n  var shouldForceFallback = hasSuspenseContext(suspenseContext, ForceSuspenseFallback);\\n\\n  if (shouldForceFallback) {\\n    suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\\n    workInProgress.effectTag |= DidCapture;\\n  } else {\\n    var didSuspendBefore = current !== null && (current.effectTag & DidCapture) !== NoEffect;\\n\\n    if (didSuspendBefore) {\\n      // If we previously forced a fallback, we need to schedule work\\n      // on any nested boundaries to let them know to try to render\\n      // again. This is the same as context updating.\\n      propagateSuspenseContextChange(workInProgress, workInProgress.child, renderExpirationTime);\\n    }\\n\\n    suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\\n  }\\n\\n  pushSuspenseContext(workInProgress, suspenseContext);\\n\\n  if ((workInProgress.mode & BlockingMode) === NoMode) {\\n    // Outside of blocking mode, SuspenseList doesn't work so we just\\n    // use make it a noop by treating it as the default revealOrder.\\n    workInProgress.memoizedState = null;\\n  } else {\\n    switch (revealOrder) {\\n      case 'forwards':\\n        {\\n          var lastContentRow = findLastContentRow(workInProgress.child);\\n          var tail;\\n\\n          if (lastContentRow === null) {\\n            // The whole list is part of the tail.\\n            // TODO: We could fast path by just rendering the tail now.\\n            tail = workInProgress.child;\\n            workInProgress.child = null;\\n          } else {\\n            // Disconnect the tail rows after the content row.\\n            // We're going to render them separately later.\\n            tail = lastContentRow.sibling;\\n            lastContentRow.sibling = null;\\n          }\\n\\n          initSuspenseListRenderState(workInProgress, false, // isBackwards\\n          tail, lastContentRow, tailMode, workInProgress.lastEffect);\\n          break;\\n        }\\n\\n      case 'backwards':\\n        {\\n          // We're going to find the first row that has existing content.\\n          // At the same time we're going to reverse the list of everything\\n          // we pass in the meantime. That's going to be our tail in reverse\\n          // order.\\n          var _tail = null;\\n          var row = workInProgress.child;\\n          workInProgress.child = null;\\n\\n          while (row !== null) {\\n            var currentRow = row.alternate; // New rows can't be content rows.\\n\\n            if (currentRow !== null && findFirstSuspended(currentRow) === null) {\\n              // This is the beginning of the main content.\\n              workInProgress.child = row;\\n              break;\\n            }\\n\\n            var nextRow = row.sibling;\\n            row.sibling = _tail;\\n            _tail = row;\\n            row = nextRow;\\n          } // TODO: If workInProgress.child is null, we can continue on the tail immediately.\\n\\n\\n          initSuspenseListRenderState(workInProgress, true, // isBackwards\\n          _tail, null, // last\\n          tailMode, workInProgress.lastEffect);\\n          break;\\n        }\\n\\n      case 'together':\\n        {\\n          initSuspenseListRenderState(workInProgress, false, // isBackwards\\n          null, // tail\\n          null, // last\\n          undefined, workInProgress.lastEffect);\\n          break;\\n        }\\n\\n      default:\\n        {\\n          // The default reveal order is the same as not having\\n          // a boundary.\\n          workInProgress.memoizedState = null;\\n        }\\n    }\\n  }\\n\\n  return workInProgress.child;\\n}\\n\\nfunction updatePortalComponent(current, workInProgress, renderExpirationTime) {\\n  pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\\n  var nextChildren = workInProgress.pendingProps;\\n\\n  if (current === null) {\\n    // Portals are special because we don't append the children during mount\\n    // but at commit. Therefore we need to track insertions which the normal\\n    // flow doesn't do during mount. This doesn't happen at the root because\\n    // the root always starts with a \\\"current\\\" with a null child.\\n    // TODO: Consider unifying this with how the root works.\\n    workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime);\\n  } else {\\n    reconcileChildren(current, workInProgress, nextChildren, renderExpirationTime);\\n  }\\n\\n  return workInProgress.child;\\n}\\n\\nfunction updateContextProvider(current, workInProgress, renderExpirationTime) {\\n  var providerType = workInProgress.type;\\n  var context = providerType._context;\\n  var newProps = workInProgress.pendingProps;\\n  var oldProps = workInProgress.memoizedProps;\\n  var newValue = newProps.value;\\n\\n  {\\n    var providerPropTypes = workInProgress.type.propTypes;\\n\\n    if (providerPropTypes) {\\n      checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider', getCurrentFiberStackInDev);\\n    }\\n  }\\n\\n  pushProvider(workInProgress, newValue);\\n\\n  if (oldProps !== null) {\\n    var oldValue = oldProps.value;\\n    var changedBits = calculateChangedBits(context, newValue, oldValue);\\n\\n    if (changedBits === 0) {\\n      // No change. Bailout early if children are the same.\\n      if (oldProps.children === newProps.children && !hasContextChanged()) {\\n        return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n      }\\n    } else {\\n      // The context value changed. Search for matching consumers and schedule\\n      // them to update.\\n      propagateContextChange(workInProgress, context, changedBits, renderExpirationTime);\\n    }\\n  }\\n\\n  var newChildren = newProps.children;\\n  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nvar hasWarnedAboutUsingContextAsConsumer = false;\\n\\nfunction updateContextConsumer(current, workInProgress, renderExpirationTime) {\\n  var context = workInProgress.type; // The logic below for Context differs depending on PROD or DEV mode. In\\n  // DEV mode, we create a separate object for Context.Consumer that acts\\n  // like a proxy to Context. This proxy object adds unnecessary code in PROD\\n  // so we use the old behaviour (Context.Consumer references Context) to\\n  // reduce size and overhead. The separate object references context via\\n  // a property called \\\"_context\\\", which also gives us the ability to check\\n  // in DEV mode if this property exists or not and warn if it does not.\\n\\n  {\\n    if (context._context === undefined) {\\n      // This may be because it's a Context (rather than a Consumer).\\n      // Or it may be because it's older React where they're the same thing.\\n      // We only want to warn if we're sure it's a new React.\\n      if (context !== context.Consumer) {\\n        if (!hasWarnedAboutUsingContextAsConsumer) {\\n          hasWarnedAboutUsingContextAsConsumer = true;\\n\\n          error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\\n        }\\n      }\\n    } else {\\n      context = context._context;\\n    }\\n  }\\n\\n  var newProps = workInProgress.pendingProps;\\n  var render = newProps.children;\\n\\n  {\\n    if (typeof render !== 'function') {\\n      error('A context consumer was rendered with multiple children, or a child ' + \\\"that isn't a function. A context consumer expects a single child \\\" + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.');\\n    }\\n  }\\n\\n  prepareToReadContext(workInProgress, renderExpirationTime);\\n  var newValue = readContext(context, newProps.unstable_observedBits);\\n  var newChildren;\\n\\n  {\\n    ReactCurrentOwner$1.current = workInProgress;\\n    setIsRendering(true);\\n    newChildren = render(newValue);\\n    setIsRendering(false);\\n  } // React DevTools reads this flag.\\n\\n\\n  workInProgress.effectTag |= PerformedWork;\\n  reconcileChildren(current, workInProgress, newChildren, renderExpirationTime);\\n  return workInProgress.child;\\n}\\n\\nfunction markWorkInProgressReceivedUpdate() {\\n  didReceiveUpdate = true;\\n}\\n\\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime) {\\n  cancelWorkTimer(workInProgress);\\n\\n  if (current !== null) {\\n    // Reuse previous dependencies\\n    workInProgress.dependencies = current.dependencies;\\n  }\\n\\n  {\\n    // Don't update \\\"base\\\" render times for bailouts.\\n    stopProfilerTimerIfRunning();\\n  }\\n\\n  var updateExpirationTime = workInProgress.expirationTime;\\n\\n  if (updateExpirationTime !== NoWork) {\\n    markUnprocessedUpdateTime(updateExpirationTime);\\n  } // Check if the children have any pending work.\\n\\n\\n  var childExpirationTime = workInProgress.childExpirationTime;\\n\\n  if (childExpirationTime < renderExpirationTime) {\\n    // The children don't have any work either. We can skip them.\\n    // TODO: Once we add back resuming, we should check if the children are\\n    // a work-in-progress set. If so, we need to transfer their effects.\\n    return null;\\n  } else {\\n    // This fiber doesn't have work, but its subtree does. Clone the child\\n    // fibers and continue.\\n    cloneChildFibers(current, workInProgress);\\n    return workInProgress.child;\\n  }\\n}\\n\\nfunction remountFiber(current, oldWorkInProgress, newWorkInProgress) {\\n  {\\n    var returnFiber = oldWorkInProgress.return;\\n\\n    if (returnFiber === null) {\\n      throw new Error('Cannot swap the root fiber.');\\n    } // Disconnect from the old current.\\n    // It will get deleted.\\n\\n\\n    current.alternate = null;\\n    oldWorkInProgress.alternate = null; // Connect to the new tree.\\n\\n    newWorkInProgress.index = oldWorkInProgress.index;\\n    newWorkInProgress.sibling = oldWorkInProgress.sibling;\\n    newWorkInProgress.return = oldWorkInProgress.return;\\n    newWorkInProgress.ref = oldWorkInProgress.ref; // Replace the child/sibling pointers above it.\\n\\n    if (oldWorkInProgress === returnFiber.child) {\\n      returnFiber.child = newWorkInProgress;\\n    } else {\\n      var prevSibling = returnFiber.child;\\n\\n      if (prevSibling === null) {\\n        throw new Error('Expected parent to have a child.');\\n      }\\n\\n      while (prevSibling.sibling !== oldWorkInProgress) {\\n        prevSibling = prevSibling.sibling;\\n\\n        if (prevSibling === null) {\\n          throw new Error('Expected to find the previous sibling.');\\n        }\\n      }\\n\\n      prevSibling.sibling = newWorkInProgress;\\n    } // Delete the old fiber and place the new one.\\n    // Since the old fiber is disconnected, we have to schedule it manually.\\n\\n\\n    var last = returnFiber.lastEffect;\\n\\n    if (last !== null) {\\n      last.nextEffect = current;\\n      returnFiber.lastEffect = current;\\n    } else {\\n      returnFiber.firstEffect = returnFiber.lastEffect = current;\\n    }\\n\\n    current.nextEffect = null;\\n    current.effectTag = Deletion;\\n    newWorkInProgress.effectTag |= Placement; // Restart work from the new fiber.\\n\\n    return newWorkInProgress;\\n  }\\n}\\n\\nfunction beginWork(current, workInProgress, renderExpirationTime) {\\n  var updateExpirationTime = workInProgress.expirationTime;\\n\\n  {\\n    if (workInProgress._debugNeedsRemount && current !== null) {\\n      // This will restart the begin phase with a new fiber.\\n      return remountFiber(current, workInProgress, createFiberFromTypeAndProps(workInProgress.type, workInProgress.key, workInProgress.pendingProps, workInProgress._debugOwner || null, workInProgress.mode, workInProgress.expirationTime));\\n    }\\n  }\\n\\n  if (current !== null) {\\n    var oldProps = current.memoizedProps;\\n    var newProps = workInProgress.pendingProps;\\n\\n    if (oldProps !== newProps || hasContextChanged() || ( // Force a re-render if the implementation changed due to hot reload:\\n     workInProgress.type !== current.type )) {\\n      // If props or context changed, mark the fiber as having performed work.\\n      // This may be unset if the props are determined to be equal later (memo).\\n      didReceiveUpdate = true;\\n    } else if (updateExpirationTime < renderExpirationTime) {\\n      didReceiveUpdate = false; // This fiber does not have any pending work. Bailout without entering\\n      // the begin phase. There's still some bookkeeping we that needs to be done\\n      // in this optimized path, mostly pushing stuff onto the stack.\\n\\n      switch (workInProgress.tag) {\\n        case HostRoot:\\n          pushHostRootContext(workInProgress);\\n          resetHydrationState();\\n          break;\\n\\n        case HostComponent:\\n          pushHostContext(workInProgress);\\n\\n          if (workInProgress.mode & ConcurrentMode && renderExpirationTime !== Never && shouldDeprioritizeSubtree(workInProgress.type, newProps)) {\\n            {\\n              markSpawnedWork(Never);\\n            } // Schedule this fiber to re-render at offscreen priority. Then bailout.\\n\\n\\n            workInProgress.expirationTime = workInProgress.childExpirationTime = Never;\\n            return null;\\n          }\\n\\n          break;\\n\\n        case ClassComponent:\\n          {\\n            var Component = workInProgress.type;\\n\\n            if (isContextProvider(Component)) {\\n              pushContextProvider(workInProgress);\\n            }\\n\\n            break;\\n          }\\n\\n        case HostPortal:\\n          pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\\n          break;\\n\\n        case ContextProvider:\\n          {\\n            var newValue = workInProgress.memoizedProps.value;\\n            pushProvider(workInProgress, newValue);\\n            break;\\n          }\\n\\n        case Profiler:\\n          {\\n            // Profiler should only call onRender when one of its descendants actually rendered.\\n            var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;\\n\\n            if (hasChildWork) {\\n              workInProgress.effectTag |= Update;\\n            }\\n          }\\n\\n          break;\\n\\n        case SuspenseComponent:\\n          {\\n            var state = workInProgress.memoizedState;\\n\\n            if (state !== null) {\\n              // whether to retry the primary children, or to skip over it and\\n              // go straight to the fallback. Check the priority of the primary\\n              // child fragment.\\n\\n\\n              var primaryChildFragment = workInProgress.child;\\n              var primaryChildExpirationTime = primaryChildFragment.childExpirationTime;\\n\\n              if (primaryChildExpirationTime !== NoWork && primaryChildExpirationTime >= renderExpirationTime) {\\n                // The primary children have pending work. Use the normal path\\n                // to attempt to render the primary children again.\\n                return updateSuspenseComponent(current, workInProgress, renderExpirationTime);\\n              } else {\\n                pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current)); // The primary children do not have pending work with sufficient\\n                // priority. Bailout.\\n\\n                var child = bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n\\n                if (child !== null) {\\n                  // The fallback children have pending work. Skip over the\\n                  // primary children and work on the fallback.\\n                  return child.sibling;\\n                } else {\\n                  return null;\\n                }\\n              }\\n            } else {\\n              pushSuspenseContext(workInProgress, setDefaultShallowSuspenseContext(suspenseStackCursor.current));\\n            }\\n\\n            break;\\n          }\\n\\n        case SuspenseListComponent:\\n          {\\n            var didSuspendBefore = (current.effectTag & DidCapture) !== NoEffect;\\n\\n            var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;\\n\\n            if (didSuspendBefore) {\\n              if (_hasChildWork) {\\n                // If something was in fallback state last time, and we have all the\\n                // same children then we're still in progressive loading state.\\n                // Something might get unblocked by state updates or retries in the\\n                // tree which will affect the tail. So we need to use the normal\\n                // path to compute the correct tail.\\n                return updateSuspenseListComponent(current, workInProgress, renderExpirationTime);\\n              } // If none of the children had any work, that means that none of\\n              // them got retried so they'll still be blocked in the same way\\n              // as before. We can fast bail out.\\n\\n\\n              workInProgress.effectTag |= DidCapture;\\n            } // If nothing suspended before and we're rendering the same children,\\n            // then the tail doesn't matter. Anything new that suspends will work\\n            // in the \\\"together\\\" mode, so we can continue from the state we had.\\n\\n\\n            var renderState = workInProgress.memoizedState;\\n\\n            if (renderState !== null) {\\n              // Reset to the \\\"together\\\" mode in case we've started a different\\n              // update in the past but didn't complete it.\\n              renderState.rendering = null;\\n              renderState.tail = null;\\n            }\\n\\n            pushSuspenseContext(workInProgress, suspenseStackCursor.current);\\n\\n            if (_hasChildWork) {\\n              break;\\n            } else {\\n              // If none of the children had any work, that means that none of\\n              // them got retried so they'll still be blocked in the same way\\n              // as before. We can fast bail out.\\n              return null;\\n            }\\n          }\\n      }\\n\\n      return bailoutOnAlreadyFinishedWork(current, workInProgress, renderExpirationTime);\\n    } else {\\n      // An update was scheduled on this fiber, but there are no new props\\n      // nor legacy context. Set this to false. If an update queue or context\\n      // consumer produces a changed value, it will set this to true. Otherwise,\\n      // the component will assume the children have not changed and bail out.\\n      didReceiveUpdate = false;\\n    }\\n  } else {\\n    didReceiveUpdate = false;\\n  } // Before entering the begin phase, clear pending update priority.\\n  // TODO: This assumes that we're about to evaluate the component and process\\n  // the update queue. However, there's an exception: SimpleMemoComponent\\n  // sometimes bails out later in the begin phase. This indicates that we should\\n  // move this assignment out of the common path and into each branch.\\n\\n\\n  workInProgress.expirationTime = NoWork;\\n\\n  switch (workInProgress.tag) {\\n    case IndeterminateComponent:\\n      {\\n        return mountIndeterminateComponent(current, workInProgress, workInProgress.type, renderExpirationTime);\\n      }\\n\\n    case LazyComponent:\\n      {\\n        var elementType = workInProgress.elementType;\\n        return mountLazyComponent(current, workInProgress, elementType, updateExpirationTime, renderExpirationTime);\\n      }\\n\\n    case FunctionComponent:\\n      {\\n        var _Component = workInProgress.type;\\n        var unresolvedProps = workInProgress.pendingProps;\\n        var resolvedProps = workInProgress.elementType === _Component ? unresolvedProps : resolveDefaultProps(_Component, unresolvedProps);\\n        return updateFunctionComponent(current, workInProgress, _Component, resolvedProps, renderExpirationTime);\\n      }\\n\\n    case ClassComponent:\\n      {\\n        var _Component2 = workInProgress.type;\\n        var _unresolvedProps = workInProgress.pendingProps;\\n\\n        var _resolvedProps = workInProgress.elementType === _Component2 ? _unresolvedProps : resolveDefaultProps(_Component2, _unresolvedProps);\\n\\n        return updateClassComponent(current, workInProgress, _Component2, _resolvedProps, renderExpirationTime);\\n      }\\n\\n    case HostRoot:\\n      return updateHostRoot(current, workInProgress, renderExpirationTime);\\n\\n    case HostComponent:\\n      return updateHostComponent(current, workInProgress, renderExpirationTime);\\n\\n    case HostText:\\n      return updateHostText(current, workInProgress);\\n\\n    case SuspenseComponent:\\n      return updateSuspenseComponent(current, workInProgress, renderExpirationTime);\\n\\n    case HostPortal:\\n      return updatePortalComponent(current, workInProgress, renderExpirationTime);\\n\\n    case ForwardRef:\\n      {\\n        var type = workInProgress.type;\\n        var _unresolvedProps2 = workInProgress.pendingProps;\\n\\n        var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);\\n\\n        return updateForwardRef(current, workInProgress, type, _resolvedProps2, renderExpirationTime);\\n      }\\n\\n    case Fragment:\\n      return updateFragment(current, workInProgress, renderExpirationTime);\\n\\n    case Mode:\\n      return updateMode(current, workInProgress, renderExpirationTime);\\n\\n    case Profiler:\\n      return updateProfiler(current, workInProgress, renderExpirationTime);\\n\\n    case ContextProvider:\\n      return updateContextProvider(current, workInProgress, renderExpirationTime);\\n\\n    case ContextConsumer:\\n      return updateContextConsumer(current, workInProgress, renderExpirationTime);\\n\\n    case MemoComponent:\\n      {\\n        var _type2 = workInProgress.type;\\n        var _unresolvedProps3 = workInProgress.pendingProps; // Resolve outer props first, then resolve inner props.\\n\\n        var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3);\\n\\n        {\\n          if (workInProgress.type !== workInProgress.elementType) {\\n            var outerPropTypes = _type2.propTypes;\\n\\n            if (outerPropTypes) {\\n              checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only\\n              'prop', getComponentName(_type2), getCurrentFiberStackInDev);\\n            }\\n          }\\n        }\\n\\n        _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3);\\n        return updateMemoComponent(current, workInProgress, _type2, _resolvedProps3, updateExpirationTime, renderExpirationTime);\\n      }\\n\\n    case SimpleMemoComponent:\\n      {\\n        return updateSimpleMemoComponent(current, workInProgress, workInProgress.type, workInProgress.pendingProps, updateExpirationTime, renderExpirationTime);\\n      }\\n\\n    case IncompleteClassComponent:\\n      {\\n        var _Component3 = workInProgress.type;\\n        var _unresolvedProps4 = workInProgress.pendingProps;\\n\\n        var _resolvedProps4 = workInProgress.elementType === _Component3 ? _unresolvedProps4 : resolveDefaultProps(_Component3, _unresolvedProps4);\\n\\n        return mountIncompleteClassComponent(current, workInProgress, _Component3, _resolvedProps4, renderExpirationTime);\\n      }\\n\\n    case SuspenseListComponent:\\n      {\\n        return updateSuspenseListComponent(current, workInProgress, renderExpirationTime);\\n      }\\n  }\\n\\n  {\\n    {\\n      throw Error( \\\"Unknown unit of work tag (\\\" + workInProgress.tag + \\\"). This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n}\\n\\nfunction markUpdate(workInProgress) {\\n  // Tag the fiber with an update effect. This turns a Placement into\\n  // a PlacementAndUpdate.\\n  workInProgress.effectTag |= Update;\\n}\\n\\nfunction markRef$1(workInProgress) {\\n  workInProgress.effectTag |= Ref;\\n}\\n\\nvar appendAllChildren;\\nvar updateHostContainer;\\nvar updateHostComponent$1;\\nvar updateHostText$1;\\n\\n{\\n  // Mutation mode\\n  appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) {\\n    // We only have the top Fiber that was created but we need recurse down its\\n    // children to find all the terminal nodes.\\n    var node = workInProgress.child;\\n\\n    while (node !== null) {\\n      if (node.tag === HostComponent || node.tag === HostText) {\\n        appendInitialChild(parent, node.stateNode);\\n      } else if (node.tag === HostPortal) ; else if (node.child !== null) {\\n        node.child.return = node;\\n        node = node.child;\\n        continue;\\n      }\\n\\n      if (node === workInProgress) {\\n        return;\\n      }\\n\\n      while (node.sibling === null) {\\n        if (node.return === null || node.return === workInProgress) {\\n          return;\\n        }\\n\\n        node = node.return;\\n      }\\n\\n      node.sibling.return = node.return;\\n      node = node.sibling;\\n    }\\n  };\\n\\n  updateHostContainer = function (workInProgress) {// Noop\\n  };\\n\\n  updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) {\\n    // If we have an alternate, that means this is an update and we need to\\n    // schedule a side-effect to do the updates.\\n    var oldProps = current.memoizedProps;\\n\\n    if (oldProps === newProps) {\\n      // In mutation mode, this is sufficient for a bailout because\\n      // we won't touch this node even if children changed.\\n      return;\\n    } // If we get updated because one of our children updated, we don't\\n    // have newProps so we'll have to reuse them.\\n    // TODO: Split the update API as separate for the props vs. children.\\n    // Even better would be if children weren't special cased at all tho.\\n\\n\\n    var instance = workInProgress.stateNode;\\n    var currentHostContext = getHostContext(); // TODO: Experiencing an error where oldProps is null. Suggests a host\\n    // component is hitting the resume path. Figure out why. Possibly\\n    // related to `hidden`.\\n\\n    var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); // TODO: Type this specific to this type of component.\\n\\n    workInProgress.updateQueue = updatePayload; // If the update payload indicates that there is a change or if there\\n    // is a new ref we mark this as an update. All the work is done in commitWork.\\n\\n    if (updatePayload) {\\n      markUpdate(workInProgress);\\n    }\\n  };\\n\\n  updateHostText$1 = function (current, workInProgress, oldText, newText) {\\n    // If the text differs, mark it as an update. All the work in done in commitWork.\\n    if (oldText !== newText) {\\n      markUpdate(workInProgress);\\n    }\\n  };\\n}\\n\\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\\n  switch (renderState.tailMode) {\\n    case 'hidden':\\n      {\\n        // Any insertions at the end of the tail list after this point\\n        // should be invisible. If there are already mounted boundaries\\n        // anything before them are not considered for collapsing.\\n        // Therefore we need to go through the whole tail to find if\\n        // there are any.\\n        var tailNode = renderState.tail;\\n        var lastTailNode = null;\\n\\n        while (tailNode !== null) {\\n          if (tailNode.alternate !== null) {\\n            lastTailNode = tailNode;\\n          }\\n\\n          tailNode = tailNode.sibling;\\n        } // Next we're simply going to delete all insertions after the\\n        // last rendered item.\\n\\n\\n        if (lastTailNode === null) {\\n          // All remaining items in the tail are insertions.\\n          renderState.tail = null;\\n        } else {\\n          // Detach the insertion after the last node that was already\\n          // inserted.\\n          lastTailNode.sibling = null;\\n        }\\n\\n        break;\\n      }\\n\\n    case 'collapsed':\\n      {\\n        // Any insertions at the end of the tail list after this point\\n        // should be invisible. If there are already mounted boundaries\\n        // anything before them are not considered for collapsing.\\n        // Therefore we need to go through the whole tail to find if\\n        // there are any.\\n        var _tailNode = renderState.tail;\\n        var _lastTailNode = null;\\n\\n        while (_tailNode !== null) {\\n          if (_tailNode.alternate !== null) {\\n            _lastTailNode = _tailNode;\\n          }\\n\\n          _tailNode = _tailNode.sibling;\\n        } // Next we're simply going to delete all insertions after the\\n        // last rendered item.\\n\\n\\n        if (_lastTailNode === null) {\\n          // All remaining items in the tail are insertions.\\n          if (!hasRenderedATailFallback && renderState.tail !== null) {\\n            // We suspended during the head. We want to show at least one\\n            // row at the tail. So we'll keep on and cut off the rest.\\n            renderState.tail.sibling = null;\\n          } else {\\n            renderState.tail = null;\\n          }\\n        } else {\\n          // Detach the insertion after the last node that was already\\n          // inserted.\\n          _lastTailNode.sibling = null;\\n        }\\n\\n        break;\\n      }\\n  }\\n}\\n\\nfunction completeWork(current, workInProgress, renderExpirationTime) {\\n  var newProps = workInProgress.pendingProps;\\n\\n  switch (workInProgress.tag) {\\n    case IndeterminateComponent:\\n    case LazyComponent:\\n    case SimpleMemoComponent:\\n    case FunctionComponent:\\n    case ForwardRef:\\n    case Fragment:\\n    case Mode:\\n    case Profiler:\\n    case ContextConsumer:\\n    case MemoComponent:\\n      return null;\\n\\n    case ClassComponent:\\n      {\\n        var Component = workInProgress.type;\\n\\n        if (isContextProvider(Component)) {\\n          popContext(workInProgress);\\n        }\\n\\n        return null;\\n      }\\n\\n    case HostRoot:\\n      {\\n        popHostContainer(workInProgress);\\n        popTopLevelContextObject(workInProgress);\\n        var fiberRoot = workInProgress.stateNode;\\n\\n        if (fiberRoot.pendingContext) {\\n          fiberRoot.context = fiberRoot.pendingContext;\\n          fiberRoot.pendingContext = null;\\n        }\\n\\n        if (current === null || current.child === null) {\\n          // If we hydrated, pop so that we can delete any remaining children\\n          // that weren't hydrated.\\n          var wasHydrated = popHydrationState(workInProgress);\\n\\n          if (wasHydrated) {\\n            // If we hydrated, then we'll need to schedule an update for\\n            // the commit side-effects on the root.\\n            markUpdate(workInProgress);\\n          }\\n        }\\n\\n        updateHostContainer(workInProgress);\\n        return null;\\n      }\\n\\n    case HostComponent:\\n      {\\n        popHostContext(workInProgress);\\n        var rootContainerInstance = getRootHostContainer();\\n        var type = workInProgress.type;\\n\\n        if (current !== null && workInProgress.stateNode != null) {\\n          updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance);\\n\\n          if (current.ref !== workInProgress.ref) {\\n            markRef$1(workInProgress);\\n          }\\n        } else {\\n          if (!newProps) {\\n            if (!(workInProgress.stateNode !== null)) {\\n              {\\n                throw Error( \\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n              }\\n            } // This can happen when we abort work.\\n\\n\\n            return null;\\n          }\\n\\n          var currentHostContext = getHostContext(); // TODO: Move createInstance to beginWork and keep it on a context\\n          // \\\"stack\\\" as the parent. Then append children as we go in beginWork\\n          // or completeWork depending on whether we want to add them top->down or\\n          // bottom->up. Top->down is faster in IE11.\\n\\n          var _wasHydrated = popHydrationState(workInProgress);\\n\\n          if (_wasHydrated) {\\n            // TODO: Move this and createInstance step into the beginPhase\\n            // to consolidate.\\n            if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) {\\n              // If changes to the hydrated node need to be applied at the\\n              // commit-phase we mark this as such.\\n              markUpdate(workInProgress);\\n            }\\n          } else {\\n            var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress);\\n            appendAllChildren(instance, workInProgress, false, false); // This needs to be set before we mount Flare event listeners\\n\\n            workInProgress.stateNode = instance;\\n            // (eg DOM renderer supports auto-focus for certain elements).\\n            // Make sure such renderers get scheduled for later work.\\n\\n\\n            if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance)) {\\n              markUpdate(workInProgress);\\n            }\\n          }\\n\\n          if (workInProgress.ref !== null) {\\n            // If there is a ref on a host node we need to schedule a callback\\n            markRef$1(workInProgress);\\n          }\\n        }\\n\\n        return null;\\n      }\\n\\n    case HostText:\\n      {\\n        var newText = newProps;\\n\\n        if (current && workInProgress.stateNode != null) {\\n          var oldText = current.memoizedProps; // If we have an alternate, that means this is an update and we need\\n          // to schedule a side-effect to do the updates.\\n\\n          updateHostText$1(current, workInProgress, oldText, newText);\\n        } else {\\n          if (typeof newText !== 'string') {\\n            if (!(workInProgress.stateNode !== null)) {\\n              {\\n                throw Error( \\\"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n              }\\n            } // This can happen when we abort work.\\n\\n          }\\n\\n          var _rootContainerInstance = getRootHostContainer();\\n\\n          var _currentHostContext = getHostContext();\\n\\n          var _wasHydrated2 = popHydrationState(workInProgress);\\n\\n          if (_wasHydrated2) {\\n            if (prepareToHydrateHostTextInstance(workInProgress)) {\\n              markUpdate(workInProgress);\\n            }\\n          } else {\\n            workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress);\\n          }\\n        }\\n\\n        return null;\\n      }\\n\\n    case SuspenseComponent:\\n      {\\n        popSuspenseContext(workInProgress);\\n        var nextState = workInProgress.memoizedState;\\n\\n        if ((workInProgress.effectTag & DidCapture) !== NoEffect) {\\n          // Something suspended. Re-render with the fallback children.\\n          workInProgress.expirationTime = renderExpirationTime; // Do not reset the effect list.\\n\\n          return workInProgress;\\n        }\\n\\n        var nextDidTimeout = nextState !== null;\\n        var prevDidTimeout = false;\\n\\n        if (current === null) {\\n          if (workInProgress.memoizedProps.fallback !== undefined) {\\n            popHydrationState(workInProgress);\\n          }\\n        } else {\\n          var prevState = current.memoizedState;\\n          prevDidTimeout = prevState !== null;\\n\\n          if (!nextDidTimeout && prevState !== null) {\\n            // We just switched from the fallback to the normal children.\\n            // Delete the fallback.\\n            // TODO: Would it be better to store the fallback fragment on\\n            // the stateNode during the begin phase?\\n            var currentFallbackChild = current.child.sibling;\\n\\n            if (currentFallbackChild !== null) {\\n              // Deletions go at the beginning of the return fiber's effect list\\n              var first = workInProgress.firstEffect;\\n\\n              if (first !== null) {\\n                workInProgress.firstEffect = currentFallbackChild;\\n                currentFallbackChild.nextEffect = first;\\n              } else {\\n                workInProgress.firstEffect = workInProgress.lastEffect = currentFallbackChild;\\n                currentFallbackChild.nextEffect = null;\\n              }\\n\\n              currentFallbackChild.effectTag = Deletion;\\n            }\\n          }\\n        }\\n\\n        if (nextDidTimeout && !prevDidTimeout) {\\n          // If this subtreee is running in blocking mode we can suspend,\\n          // otherwise we won't suspend.\\n          // TODO: This will still suspend a synchronous tree if anything\\n          // in the concurrent tree already suspended during this render.\\n          // This is a known bug.\\n          if ((workInProgress.mode & BlockingMode) !== NoMode) {\\n            // TODO: Move this back to throwException because this is too late\\n            // if this is a large tree which is common for initial loads. We\\n            // don't know if we should restart a render or not until we get\\n            // this marker, and this is too late.\\n            // If this render already had a ping or lower pri updates,\\n            // and this is the first time we know we're going to suspend we\\n            // should be able to immediately restart from within throwException.\\n            var hasInvisibleChildContext = current === null && workInProgress.memoizedProps.unstable_avoidThisFallback !== true;\\n\\n            if (hasInvisibleChildContext || hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext)) {\\n              // If this was in an invisible tree or a new render, then showing\\n              // this boundary is ok.\\n              renderDidSuspend();\\n            } else {\\n              // Otherwise, we're going to have to hide content so we should\\n              // suspend for longer if possible.\\n              renderDidSuspendDelayIfPossible();\\n            }\\n          }\\n        }\\n\\n        {\\n          // TODO: Only schedule updates if these values are non equal, i.e. it changed.\\n          if (nextDidTimeout || prevDidTimeout) {\\n            // If this boundary just timed out, schedule an effect to attach a\\n            // retry listener to the promise. This flag is also used to hide the\\n            // primary children. In mutation mode, we also need the flag to\\n            // *unhide* children that were previously hidden, so check if this\\n            // is currently timed out, too.\\n            workInProgress.effectTag |= Update;\\n          }\\n        }\\n\\n        return null;\\n      }\\n\\n    case HostPortal:\\n      popHostContainer(workInProgress);\\n      updateHostContainer(workInProgress);\\n      return null;\\n\\n    case ContextProvider:\\n      // Pop provider fiber\\n      popProvider(workInProgress);\\n      return null;\\n\\n    case IncompleteClassComponent:\\n      {\\n        // Same as class component case. I put it down here so that the tags are\\n        // sequential to ensure this switch is compiled to a jump table.\\n        var _Component = workInProgress.type;\\n\\n        if (isContextProvider(_Component)) {\\n          popContext(workInProgress);\\n        }\\n\\n        return null;\\n      }\\n\\n    case SuspenseListComponent:\\n      {\\n        popSuspenseContext(workInProgress);\\n        var renderState = workInProgress.memoizedState;\\n\\n        if (renderState === null) {\\n          // We're running in the default, \\\"independent\\\" mode.\\n          // We don't do anything in this mode.\\n          return null;\\n        }\\n\\n        var didSuspendAlready = (workInProgress.effectTag & DidCapture) !== NoEffect;\\n        var renderedTail = renderState.rendering;\\n\\n        if (renderedTail === null) {\\n          // We just rendered the head.\\n          if (!didSuspendAlready) {\\n            // This is the first pass. We need to figure out if anything is still\\n            // suspended in the rendered set.\\n            // If new content unsuspended, but there's still some content that\\n            // didn't. Then we need to do a second pass that forces everything\\n            // to keep showing their fallbacks.\\n            // We might be suspended if something in this render pass suspended, or\\n            // something in the previous committed pass suspended. Otherwise,\\n            // there's no chance so we can skip the expensive call to\\n            // findFirstSuspended.\\n            var cannotBeSuspended = renderHasNotSuspendedYet() && (current === null || (current.effectTag & DidCapture) === NoEffect);\\n\\n            if (!cannotBeSuspended) {\\n              var row = workInProgress.child;\\n\\n              while (row !== null) {\\n                var suspended = findFirstSuspended(row);\\n\\n                if (suspended !== null) {\\n                  didSuspendAlready = true;\\n                  workInProgress.effectTag |= DidCapture;\\n                  cutOffTailIfNeeded(renderState, false); // If this is a newly suspended tree, it might not get committed as\\n                  // part of the second pass. In that case nothing will subscribe to\\n                  // its thennables. Instead, we'll transfer its thennables to the\\n                  // SuspenseList so that it can retry if they resolve.\\n                  // There might be multiple of these in the list but since we're\\n                  // going to wait for all of them anyway, it doesn't really matter\\n                  // which ones gets to ping. In theory we could get clever and keep\\n                  // track of how many dependencies remain but it gets tricky because\\n                  // in the meantime, we can add/remove/change items and dependencies.\\n                  // We might bail out of the loop before finding any but that\\n                  // doesn't matter since that means that the other boundaries that\\n                  // we did find already has their listeners attached.\\n\\n                  var newThennables = suspended.updateQueue;\\n\\n                  if (newThennables !== null) {\\n                    workInProgress.updateQueue = newThennables;\\n                    workInProgress.effectTag |= Update;\\n                  } // Rerender the whole list, but this time, we'll force fallbacks\\n                  // to stay in place.\\n                  // Reset the effect list before doing the second pass since that's now invalid.\\n\\n\\n                  if (renderState.lastEffect === null) {\\n                    workInProgress.firstEffect = null;\\n                  }\\n\\n                  workInProgress.lastEffect = renderState.lastEffect; // Reset the child fibers to their original state.\\n\\n                  resetChildFibers(workInProgress, renderExpirationTime); // Set up the Suspense Context to force suspense and immediately\\n                  // rerender the children.\\n\\n                  pushSuspenseContext(workInProgress, setShallowSuspenseContext(suspenseStackCursor.current, ForceSuspenseFallback));\\n                  return workInProgress.child;\\n                }\\n\\n                row = row.sibling;\\n              }\\n            }\\n          } else {\\n            cutOffTailIfNeeded(renderState, false);\\n          } // Next we're going to render the tail.\\n\\n        } else {\\n          // Append the rendered row to the child list.\\n          if (!didSuspendAlready) {\\n            var _suspended = findFirstSuspended(renderedTail);\\n\\n            if (_suspended !== null) {\\n              workInProgress.effectTag |= DidCapture;\\n              didSuspendAlready = true; // Ensure we transfer the update queue to the parent so that it doesn't\\n              // get lost if this row ends up dropped during a second pass.\\n\\n              var _newThennables = _suspended.updateQueue;\\n\\n              if (_newThennables !== null) {\\n                workInProgress.updateQueue = _newThennables;\\n                workInProgress.effectTag |= Update;\\n              }\\n\\n              cutOffTailIfNeeded(renderState, true); // This might have been modified.\\n\\n              if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) {\\n                // We need to delete the row we just rendered.\\n                // Reset the effect list to what it was before we rendered this\\n                // child. The nested children have already appended themselves.\\n                var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point.\\n\\n                if (lastEffect !== null) {\\n                  lastEffect.nextEffect = null;\\n                } // We're done.\\n\\n\\n                return null;\\n              }\\n            } else if ( // The time it took to render last row is greater than time until\\n            // the expiration.\\n            now() * 2 - renderState.renderingStartTime > renderState.tailExpiration && renderExpirationTime > Never) {\\n              // We have now passed our CPU deadline and we'll just give up further\\n              // attempts to render the main content and only render fallbacks.\\n              // The assumption is that this is usually faster.\\n              workInProgress.effectTag |= DidCapture;\\n              didSuspendAlready = true;\\n              cutOffTailIfNeeded(renderState, false); // Since nothing actually suspended, there will nothing to ping this\\n              // to get it started back up to attempt the next item. If we can show\\n              // them, then they really have the same priority as this render.\\n              // So we'll pick it back up the very next render pass once we've had\\n              // an opportunity to yield for paint.\\n\\n              var nextPriority = renderExpirationTime - 1;\\n              workInProgress.expirationTime = workInProgress.childExpirationTime = nextPriority;\\n\\n              {\\n                markSpawnedWork(nextPriority);\\n              }\\n            }\\n          }\\n\\n          if (renderState.isBackwards) {\\n            // The effect list of the backwards tail will have been added\\n            // to the end. This breaks the guarantee that life-cycles fire in\\n            // sibling order but that isn't a strong guarantee promised by React.\\n            // Especially since these might also just pop in during future commits.\\n            // Append to the beginning of the list.\\n            renderedTail.sibling = workInProgress.child;\\n            workInProgress.child = renderedTail;\\n          } else {\\n            var previousSibling = renderState.last;\\n\\n            if (previousSibling !== null) {\\n              previousSibling.sibling = renderedTail;\\n            } else {\\n              workInProgress.child = renderedTail;\\n            }\\n\\n            renderState.last = renderedTail;\\n          }\\n        }\\n\\n        if (renderState.tail !== null) {\\n          // We still have tail rows to render.\\n          if (renderState.tailExpiration === 0) {\\n            // Heuristic for how long we're willing to spend rendering rows\\n            // until we just give up and show what we have so far.\\n            var TAIL_EXPIRATION_TIMEOUT_MS = 500;\\n            renderState.tailExpiration = now() + TAIL_EXPIRATION_TIMEOUT_MS; // TODO: This is meant to mimic the train model or JND but this\\n            // is a per component value. It should really be since the start\\n            // of the total render or last commit. Consider using something like\\n            // globalMostRecentFallbackTime. That doesn't account for being\\n            // suspended for part of the time or when it's a new render.\\n            // It should probably use a global start time value instead.\\n          } // Pop a row.\\n\\n\\n          var next = renderState.tail;\\n          renderState.rendering = next;\\n          renderState.tail = next.sibling;\\n          renderState.lastEffect = workInProgress.lastEffect;\\n          renderState.renderingStartTime = now();\\n          next.sibling = null; // Restore the context.\\n          // TODO: We can probably just avoid popping it instead and only\\n          // setting it the first time we go from not suspended to suspended.\\n\\n          var suspenseContext = suspenseStackCursor.current;\\n\\n          if (didSuspendAlready) {\\n            suspenseContext = setShallowSuspenseContext(suspenseContext, ForceSuspenseFallback);\\n          } else {\\n            suspenseContext = setDefaultShallowSuspenseContext(suspenseContext);\\n          }\\n\\n          pushSuspenseContext(workInProgress, suspenseContext); // Do a pass over the next row.\\n\\n          return next;\\n        }\\n\\n        return null;\\n      }\\n  }\\n\\n  {\\n    {\\n      throw Error( \\\"Unknown unit of work tag (\\\" + workInProgress.tag + \\\"). This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n}\\n\\nfunction unwindWork(workInProgress, renderExpirationTime) {\\n  switch (workInProgress.tag) {\\n    case ClassComponent:\\n      {\\n        var Component = workInProgress.type;\\n\\n        if (isContextProvider(Component)) {\\n          popContext(workInProgress);\\n        }\\n\\n        var effectTag = workInProgress.effectTag;\\n\\n        if (effectTag & ShouldCapture) {\\n          workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture;\\n          return workInProgress;\\n        }\\n\\n        return null;\\n      }\\n\\n    case HostRoot:\\n      {\\n        popHostContainer(workInProgress);\\n        popTopLevelContextObject(workInProgress);\\n        var _effectTag = workInProgress.effectTag;\\n\\n        if (!((_effectTag & DidCapture) === NoEffect)) {\\n          {\\n            throw Error( \\\"The root failed to unmount after an error. This is likely a bug in React. Please file an issue.\\\" );\\n          }\\n        }\\n\\n        workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture;\\n        return workInProgress;\\n      }\\n\\n    case HostComponent:\\n      {\\n        // TODO: popHydrationState\\n        popHostContext(workInProgress);\\n        return null;\\n      }\\n\\n    case SuspenseComponent:\\n      {\\n        popSuspenseContext(workInProgress);\\n\\n        var _effectTag2 = workInProgress.effectTag;\\n\\n        if (_effectTag2 & ShouldCapture) {\\n          workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; // Captured a suspense effect. Re-render the boundary.\\n\\n          return workInProgress;\\n        }\\n\\n        return null;\\n      }\\n\\n    case SuspenseListComponent:\\n      {\\n        popSuspenseContext(workInProgress); // SuspenseList doesn't actually catch anything. It should've been\\n        // caught by a nested boundary. If not, it should bubble through.\\n\\n        return null;\\n      }\\n\\n    case HostPortal:\\n      popHostContainer(workInProgress);\\n      return null;\\n\\n    case ContextProvider:\\n      popProvider(workInProgress);\\n      return null;\\n\\n    default:\\n      return null;\\n  }\\n}\\n\\nfunction unwindInterruptedWork(interruptedWork) {\\n  switch (interruptedWork.tag) {\\n    case ClassComponent:\\n      {\\n        var childContextTypes = interruptedWork.type.childContextTypes;\\n\\n        if (childContextTypes !== null && childContextTypes !== undefined) {\\n          popContext(interruptedWork);\\n        }\\n\\n        break;\\n      }\\n\\n    case HostRoot:\\n      {\\n        popHostContainer(interruptedWork);\\n        popTopLevelContextObject(interruptedWork);\\n        break;\\n      }\\n\\n    case HostComponent:\\n      {\\n        popHostContext(interruptedWork);\\n        break;\\n      }\\n\\n    case HostPortal:\\n      popHostContainer(interruptedWork);\\n      break;\\n\\n    case SuspenseComponent:\\n      popSuspenseContext(interruptedWork);\\n      break;\\n\\n    case SuspenseListComponent:\\n      popSuspenseContext(interruptedWork);\\n      break;\\n\\n    case ContextProvider:\\n      popProvider(interruptedWork);\\n      break;\\n  }\\n}\\n\\nfunction createCapturedValue(value, source) {\\n  // If the value is an error, call this function immediately after it is thrown\\n  // so the stack is accurate.\\n  return {\\n    value: value,\\n    source: source,\\n    stack: getStackByFiberInDevAndProd(source)\\n  };\\n}\\n\\nfunction logCapturedError(capturedError) {\\n\\n  var error = capturedError.error;\\n\\n  {\\n    var componentName = capturedError.componentName,\\n        componentStack = capturedError.componentStack,\\n        errorBoundaryName = capturedError.errorBoundaryName,\\n        errorBoundaryFound = capturedError.errorBoundaryFound,\\n        willRetry = capturedError.willRetry; // Browsers support silencing uncaught errors by calling\\n    // `preventDefault()` in window `error` handler.\\n    // We record this information as an expando on the error.\\n\\n    if (error != null && error._suppressLogging) {\\n      if (errorBoundaryFound && willRetry) {\\n        // The error is recoverable and was silenced.\\n        // Ignore it and don't print the stack addendum.\\n        // This is handy for testing error boundaries without noise.\\n        return;\\n      } // The error is fatal. Since the silencing might have\\n      // been accidental, we'll surface it anyway.\\n      // However, the browser would have silenced the original error\\n      // so we'll print it first, and then print the stack addendum.\\n\\n\\n      console['error'](error); // Don't transform to our wrapper\\n      // For a more detailed description of this block, see:\\n      // https://github.com/facebook/react/pull/13384\\n    }\\n\\n    var componentNameMessage = componentName ? \\\"The above error occurred in the <\\\" + componentName + \\\"> component:\\\" : 'The above error occurred in one of your React components:';\\n    var errorBoundaryMessage; // errorBoundaryFound check is sufficient; errorBoundaryName check is to satisfy Flow.\\n\\n    if (errorBoundaryFound && errorBoundaryName) {\\n      if (willRetry) {\\n        errorBoundaryMessage = \\\"React will try to recreate this component tree from scratch \\\" + (\\\"using the error boundary you provided, \\\" + errorBoundaryName + \\\".\\\");\\n      } else {\\n        errorBoundaryMessage = \\\"This error was initially handled by the error boundary \\\" + errorBoundaryName + \\\".\\\\n\\\" + \\\"Recreating the tree from scratch failed so React will unmount the tree.\\\";\\n      }\\n    } else {\\n      errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\\\\n' + 'Visit https://fb.me/react-error-boundaries to learn more about error boundaries.';\\n    }\\n\\n    var combinedMessage = \\\"\\\" + componentNameMessage + componentStack + \\\"\\\\n\\\\n\\\" + (\\\"\\\" + errorBoundaryMessage); // In development, we provide our own message with just the component stack.\\n    // We don't include the original error message and JS stack because the browser\\n    // has already printed it. Even if the application swallows the error, it is still\\n    // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils.\\n\\n    console['error'](combinedMessage); // Don't transform to our wrapper\\n  }\\n}\\n\\nvar didWarnAboutUndefinedSnapshotBeforeUpdate = null;\\n\\n{\\n  didWarnAboutUndefinedSnapshotBeforeUpdate = new Set();\\n}\\n\\nvar PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set;\\nfunction logError(boundary, errorInfo) {\\n  var source = errorInfo.source;\\n  var stack = errorInfo.stack;\\n\\n  if (stack === null && source !== null) {\\n    stack = getStackByFiberInDevAndProd(source);\\n  }\\n\\n  var capturedError = {\\n    componentName: source !== null ? getComponentName(source.type) : null,\\n    componentStack: stack !== null ? stack : '',\\n    error: errorInfo.value,\\n    errorBoundary: null,\\n    errorBoundaryName: null,\\n    errorBoundaryFound: false,\\n    willRetry: false\\n  };\\n\\n  if (boundary !== null && boundary.tag === ClassComponent) {\\n    capturedError.errorBoundary = boundary.stateNode;\\n    capturedError.errorBoundaryName = getComponentName(boundary.type);\\n    capturedError.errorBoundaryFound = true;\\n    capturedError.willRetry = true;\\n  }\\n\\n  try {\\n    logCapturedError(capturedError);\\n  } catch (e) {\\n    // This method must not throw, or React internal state will get messed up.\\n    // If console.error is overridden, or logCapturedError() shows a dialog that throws,\\n    // we want to report this error outside of the normal stack as a last resort.\\n    // https://github.com/facebook/react/issues/13188\\n    setTimeout(function () {\\n      throw e;\\n    });\\n  }\\n}\\n\\nvar callComponentWillUnmountWithTimer = function (current, instance) {\\n  startPhaseTimer(current, 'componentWillUnmount');\\n  instance.props = current.memoizedProps;\\n  instance.state = current.memoizedState;\\n  instance.componentWillUnmount();\\n  stopPhaseTimer();\\n}; // Capture errors so they don't interrupt unmounting.\\n\\n\\nfunction safelyCallComponentWillUnmount(current, instance) {\\n  {\\n    invokeGuardedCallback(null, callComponentWillUnmountWithTimer, null, current, instance);\\n\\n    if (hasCaughtError()) {\\n      var unmountError = clearCaughtError();\\n      captureCommitPhaseError(current, unmountError);\\n    }\\n  }\\n}\\n\\nfunction safelyDetachRef(current) {\\n  var ref = current.ref;\\n\\n  if (ref !== null) {\\n    if (typeof ref === 'function') {\\n      {\\n        invokeGuardedCallback(null, ref, null, null);\\n\\n        if (hasCaughtError()) {\\n          var refError = clearCaughtError();\\n          captureCommitPhaseError(current, refError);\\n        }\\n      }\\n    } else {\\n      ref.current = null;\\n    }\\n  }\\n}\\n\\nfunction safelyCallDestroy(current, destroy) {\\n  {\\n    invokeGuardedCallback(null, destroy, null);\\n\\n    if (hasCaughtError()) {\\n      var error = clearCaughtError();\\n      captureCommitPhaseError(current, error);\\n    }\\n  }\\n}\\n\\nfunction commitBeforeMutationLifeCycles(current, finishedWork) {\\n  switch (finishedWork.tag) {\\n    case FunctionComponent:\\n    case ForwardRef:\\n    case SimpleMemoComponent:\\n    case Block:\\n      {\\n        return;\\n      }\\n\\n    case ClassComponent:\\n      {\\n        if (finishedWork.effectTag & Snapshot) {\\n          if (current !== null) {\\n            var prevProps = current.memoizedProps;\\n            var prevState = current.memoizedState;\\n            startPhaseTimer(finishedWork, 'getSnapshotBeforeUpdate');\\n            var instance = finishedWork.stateNode; // We could update instance props and state here,\\n            // but instead we rely on them being set during last render.\\n            // TODO: revisit this when we implement resuming.\\n\\n            {\\n              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\\n                if (instance.props !== finishedWork.memoizedProps) {\\n                  error('Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n                }\\n\\n                if (instance.state !== finishedWork.memoizedState) {\\n                  error('Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n                }\\n              }\\n            }\\n\\n            var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState);\\n\\n            {\\n              var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate;\\n\\n              if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) {\\n                didWarnSet.add(finishedWork.type);\\n\\n                error('%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentName(finishedWork.type));\\n              }\\n            }\\n\\n            instance.__reactInternalSnapshotBeforeUpdate = snapshot;\\n            stopPhaseTimer();\\n          }\\n        }\\n\\n        return;\\n      }\\n\\n    case HostRoot:\\n    case HostComponent:\\n    case HostText:\\n    case HostPortal:\\n    case IncompleteClassComponent:\\n      // Nothing to do for these component types\\n      return;\\n  }\\n\\n  {\\n    {\\n      throw Error( \\\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n}\\n\\nfunction commitHookEffectListUnmount(tag, finishedWork) {\\n  var updateQueue = finishedWork.updateQueue;\\n  var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\\n\\n  if (lastEffect !== null) {\\n    var firstEffect = lastEffect.next;\\n    var effect = firstEffect;\\n\\n    do {\\n      if ((effect.tag & tag) === tag) {\\n        // Unmount\\n        var destroy = effect.destroy;\\n        effect.destroy = undefined;\\n\\n        if (destroy !== undefined) {\\n          destroy();\\n        }\\n      }\\n\\n      effect = effect.next;\\n    } while (effect !== firstEffect);\\n  }\\n}\\n\\nfunction commitHookEffectListMount(tag, finishedWork) {\\n  var updateQueue = finishedWork.updateQueue;\\n  var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null;\\n\\n  if (lastEffect !== null) {\\n    var firstEffect = lastEffect.next;\\n    var effect = firstEffect;\\n\\n    do {\\n      if ((effect.tag & tag) === tag) {\\n        // Mount\\n        var create = effect.create;\\n        effect.destroy = create();\\n\\n        {\\n          var destroy = effect.destroy;\\n\\n          if (destroy !== undefined && typeof destroy !== 'function') {\\n            var addendum = void 0;\\n\\n            if (destroy === null) {\\n              addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).';\\n            } else if (typeof destroy.then === 'function') {\\n              addendum = '\\\\n\\\\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\\\\n\\\\n' + 'useEffect(() => {\\\\n' + '  async function fetchData() {\\\\n' + '    // You can await here\\\\n' + '    const response = await MyAPI.getData(someId);\\\\n' + '    // ...\\\\n' + '  }\\\\n' + '  fetchData();\\\\n' + \\\"}, [someId]); // Or [] if effect doesn't need props or state\\\\n\\\\n\\\" + 'Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching';\\n            } else {\\n              addendum = ' You returned: ' + destroy;\\n            }\\n\\n            error('An effect function must not return anything besides a function, ' + 'which is used for clean-up.%s%s', addendum, getStackByFiberInDevAndProd(finishedWork));\\n          }\\n        }\\n      }\\n\\n      effect = effect.next;\\n    } while (effect !== firstEffect);\\n  }\\n}\\n\\nfunction commitPassiveHookEffects(finishedWork) {\\n  if ((finishedWork.effectTag & Passive) !== NoEffect) {\\n    switch (finishedWork.tag) {\\n      case FunctionComponent:\\n      case ForwardRef:\\n      case SimpleMemoComponent:\\n      case Block:\\n        {\\n          // TODO (#17945) We should call all passive destroy functions (for all fibers)\\n          // before calling any create functions. The current approach only serializes\\n          // these for a single fiber.\\n          commitHookEffectListUnmount(Passive$1 | HasEffect, finishedWork);\\n          commitHookEffectListMount(Passive$1 | HasEffect, finishedWork);\\n          break;\\n        }\\n    }\\n  }\\n}\\n\\nfunction commitLifeCycles(finishedRoot, current, finishedWork, committedExpirationTime) {\\n  switch (finishedWork.tag) {\\n    case FunctionComponent:\\n    case ForwardRef:\\n    case SimpleMemoComponent:\\n    case Block:\\n      {\\n        // At this point layout effects have already been destroyed (during mutation phase).\\n        // This is done to prevent sibling component effects from interfering with each other,\\n        // e.g. a destroy function in one component should never override a ref set\\n        // by a create function in another component during the same commit.\\n        commitHookEffectListMount(Layout | HasEffect, finishedWork);\\n\\n        return;\\n      }\\n\\n    case ClassComponent:\\n      {\\n        var instance = finishedWork.stateNode;\\n\\n        if (finishedWork.effectTag & Update) {\\n          if (current === null) {\\n            startPhaseTimer(finishedWork, 'componentDidMount'); // We could update instance props and state here,\\n            // but instead we rely on them being set during last render.\\n            // TODO: revisit this when we implement resuming.\\n\\n            {\\n              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\\n                if (instance.props !== finishedWork.memoizedProps) {\\n                  error('Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n                }\\n\\n                if (instance.state !== finishedWork.memoizedState) {\\n                  error('Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n                }\\n              }\\n            }\\n\\n            instance.componentDidMount();\\n            stopPhaseTimer();\\n          } else {\\n            var prevProps = finishedWork.elementType === finishedWork.type ? current.memoizedProps : resolveDefaultProps(finishedWork.type, current.memoizedProps);\\n            var prevState = current.memoizedState;\\n            startPhaseTimer(finishedWork, 'componentDidUpdate'); // We could update instance props and state here,\\n            // but instead we rely on them being set during last render.\\n            // TODO: revisit this when we implement resuming.\\n\\n            {\\n              if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\\n                if (instance.props !== finishedWork.memoizedProps) {\\n                  error('Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n                }\\n\\n                if (instance.state !== finishedWork.memoizedState) {\\n                  error('Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n                }\\n              }\\n            }\\n\\n            instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate);\\n            stopPhaseTimer();\\n          }\\n        }\\n\\n        var updateQueue = finishedWork.updateQueue;\\n\\n        if (updateQueue !== null) {\\n          {\\n            if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) {\\n              if (instance.props !== finishedWork.memoizedProps) {\\n                error('Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n              }\\n\\n              if (instance.state !== finishedWork.memoizedState) {\\n                error('Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance');\\n              }\\n            }\\n          } // We could update instance props and state here,\\n          // but instead we rely on them being set during last render.\\n          // TODO: revisit this when we implement resuming.\\n\\n\\n          commitUpdateQueue(finishedWork, updateQueue, instance);\\n        }\\n\\n        return;\\n      }\\n\\n    case HostRoot:\\n      {\\n        var _updateQueue = finishedWork.updateQueue;\\n\\n        if (_updateQueue !== null) {\\n          var _instance = null;\\n\\n          if (finishedWork.child !== null) {\\n            switch (finishedWork.child.tag) {\\n              case HostComponent:\\n                _instance = getPublicInstance(finishedWork.child.stateNode);\\n                break;\\n\\n              case ClassComponent:\\n                _instance = finishedWork.child.stateNode;\\n                break;\\n            }\\n          }\\n\\n          commitUpdateQueue(finishedWork, _updateQueue, _instance);\\n        }\\n\\n        return;\\n      }\\n\\n    case HostComponent:\\n      {\\n        var _instance2 = finishedWork.stateNode; // Renderers may schedule work to be done after host components are mounted\\n        // (eg DOM renderer may schedule auto-focus for inputs and form controls).\\n        // These effects should only be committed when components are first mounted,\\n        // aka when there is no current/alternate.\\n\\n        if (current === null && finishedWork.effectTag & Update) {\\n          var type = finishedWork.type;\\n          var props = finishedWork.memoizedProps;\\n          commitMount(_instance2, type, props);\\n        }\\n\\n        return;\\n      }\\n\\n    case HostText:\\n      {\\n        // We have no life-cycles associated with text.\\n        return;\\n      }\\n\\n    case HostPortal:\\n      {\\n        // We have no life-cycles associated with portals.\\n        return;\\n      }\\n\\n    case Profiler:\\n      {\\n        {\\n          var onRender = finishedWork.memoizedProps.onRender;\\n\\n          if (typeof onRender === 'function') {\\n            {\\n              onRender(finishedWork.memoizedProps.id, current === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime(), finishedRoot.memoizedInteractions);\\n            }\\n          }\\n        }\\n\\n        return;\\n      }\\n\\n    case SuspenseComponent:\\n      {\\n        commitSuspenseHydrationCallbacks(finishedRoot, finishedWork);\\n        return;\\n      }\\n\\n    case SuspenseListComponent:\\n    case IncompleteClassComponent:\\n    case FundamentalComponent:\\n    case ScopeComponent:\\n      return;\\n  }\\n\\n  {\\n    {\\n      throw Error( \\\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n}\\n\\nfunction hideOrUnhideAllChildren(finishedWork, isHidden) {\\n  {\\n    // We only have the top Fiber that was inserted but we need to recurse down its\\n    // children to find all the terminal nodes.\\n    var node = finishedWork;\\n\\n    while (true) {\\n      if (node.tag === HostComponent) {\\n        var instance = node.stateNode;\\n\\n        if (isHidden) {\\n          hideInstance(instance);\\n        } else {\\n          unhideInstance(node.stateNode, node.memoizedProps);\\n        }\\n      } else if (node.tag === HostText) {\\n        var _instance3 = node.stateNode;\\n\\n        if (isHidden) {\\n          hideTextInstance(_instance3);\\n        } else {\\n          unhideTextInstance(_instance3, node.memoizedProps);\\n        }\\n      } else if (node.tag === SuspenseComponent && node.memoizedState !== null && node.memoizedState.dehydrated === null) {\\n        // Found a nested Suspense component that timed out. Skip over the\\n        // primary child fragment, which should remain hidden.\\n        var fallbackChildFragment = node.child.sibling;\\n        fallbackChildFragment.return = node;\\n        node = fallbackChildFragment;\\n        continue;\\n      } else if (node.child !== null) {\\n        node.child.return = node;\\n        node = node.child;\\n        continue;\\n      }\\n\\n      if (node === finishedWork) {\\n        return;\\n      }\\n\\n      while (node.sibling === null) {\\n        if (node.return === null || node.return === finishedWork) {\\n          return;\\n        }\\n\\n        node = node.return;\\n      }\\n\\n      node.sibling.return = node.return;\\n      node = node.sibling;\\n    }\\n  }\\n}\\n\\nfunction commitAttachRef(finishedWork) {\\n  var ref = finishedWork.ref;\\n\\n  if (ref !== null) {\\n    var instance = finishedWork.stateNode;\\n    var instanceToUse;\\n\\n    switch (finishedWork.tag) {\\n      case HostComponent:\\n        instanceToUse = getPublicInstance(instance);\\n        break;\\n\\n      default:\\n        instanceToUse = instance;\\n    } // Moved outside to ensure DCE works with this flag\\n\\n    if (typeof ref === 'function') {\\n      ref(instanceToUse);\\n    } else {\\n      {\\n        if (!ref.hasOwnProperty('current')) {\\n          error('Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().%s', getComponentName(finishedWork.type), getStackByFiberInDevAndProd(finishedWork));\\n        }\\n      }\\n\\n      ref.current = instanceToUse;\\n    }\\n  }\\n}\\n\\nfunction commitDetachRef(current) {\\n  var currentRef = current.ref;\\n\\n  if (currentRef !== null) {\\n    if (typeof currentRef === 'function') {\\n      currentRef(null);\\n    } else {\\n      currentRef.current = null;\\n    }\\n  }\\n} // User-originating errors (lifecycles and refs) should not interrupt\\n// deletion, so don't let them throw. Host-originating errors should\\n// interrupt deletion, so it's okay\\n\\n\\nfunction commitUnmount(finishedRoot, current, renderPriorityLevel) {\\n  onCommitUnmount(current);\\n\\n  switch (current.tag) {\\n    case FunctionComponent:\\n    case ForwardRef:\\n    case MemoComponent:\\n    case SimpleMemoComponent:\\n    case Block:\\n      {\\n        var updateQueue = current.updateQueue;\\n\\n        if (updateQueue !== null) {\\n          var lastEffect = updateQueue.lastEffect;\\n\\n          if (lastEffect !== null) {\\n            var firstEffect = lastEffect.next;\\n\\n            {\\n              // When the owner fiber is deleted, the destroy function of a passive\\n              // effect hook is called during the synchronous commit phase. This is\\n              // a concession to implementation complexity. Calling it in the\\n              // passive effect phase (like they usually are, when dependencies\\n              // change during an update) would require either traversing the\\n              // children of the deleted fiber again, or including unmount effects\\n              // as part of the fiber effect list.\\n              //\\n              // Because this is during the sync commit phase, we need to change\\n              // the priority.\\n              //\\n              // TODO: Reconsider this implementation trade off.\\n              var priorityLevel = renderPriorityLevel > NormalPriority ? NormalPriority : renderPriorityLevel;\\n              runWithPriority$1(priorityLevel, function () {\\n                var effect = firstEffect;\\n\\n                do {\\n                  var _destroy = effect.destroy;\\n\\n                  if (_destroy !== undefined) {\\n                    safelyCallDestroy(current, _destroy);\\n                  }\\n\\n                  effect = effect.next;\\n                } while (effect !== firstEffect);\\n              });\\n            }\\n          }\\n        }\\n\\n        return;\\n      }\\n\\n    case ClassComponent:\\n      {\\n        safelyDetachRef(current);\\n        var instance = current.stateNode;\\n\\n        if (typeof instance.componentWillUnmount === 'function') {\\n          safelyCallComponentWillUnmount(current, instance);\\n        }\\n\\n        return;\\n      }\\n\\n    case HostComponent:\\n      {\\n\\n        safelyDetachRef(current);\\n        return;\\n      }\\n\\n    case HostPortal:\\n      {\\n        // TODO: this is recursive.\\n        // We are also not using this parent because\\n        // the portal will get pushed immediately.\\n        {\\n          unmountHostComponents(finishedRoot, current, renderPriorityLevel);\\n        }\\n\\n        return;\\n      }\\n\\n    case FundamentalComponent:\\n      {\\n\\n        return;\\n      }\\n\\n    case DehydratedFragment:\\n      {\\n\\n        return;\\n      }\\n\\n    case ScopeComponent:\\n      {\\n\\n        return;\\n      }\\n  }\\n}\\n\\nfunction commitNestedUnmounts(finishedRoot, root, renderPriorityLevel) {\\n  // While we're inside a removed host node we don't want to call\\n  // removeChild on the inner nodes because they're removed by the top\\n  // call anyway. We also want to call componentWillUnmount on all\\n  // composites before this host node is removed from the tree. Therefore\\n  // we do an inner loop while we're still inside the host node.\\n  var node = root;\\n\\n  while (true) {\\n    commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because they may contain more composite or host nodes.\\n    // Skip portals because commitUnmount() currently visits them recursively.\\n\\n    if (node.child !== null && ( // If we use mutation we drill down into portals using commitUnmount above.\\n    // If we don't use mutation we drill down into portals here instead.\\n     node.tag !== HostPortal)) {\\n      node.child.return = node;\\n      node = node.child;\\n      continue;\\n    }\\n\\n    if (node === root) {\\n      return;\\n    }\\n\\n    while (node.sibling === null) {\\n      if (node.return === null || node.return === root) {\\n        return;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n  }\\n}\\n\\nfunction detachFiber(current) {\\n  var alternate = current.alternate; // Cut off the return pointers to disconnect it from the tree. Ideally, we\\n  // should clear the child pointer of the parent alternate to let this\\n  // get GC:ed but we don't know which for sure which parent is the current\\n  // one so we'll settle for GC:ing the subtree of this child. This child\\n  // itself will be GC:ed when the parent updates the next time.\\n\\n  current.return = null;\\n  current.child = null;\\n  current.memoizedState = null;\\n  current.updateQueue = null;\\n  current.dependencies = null;\\n  current.alternate = null;\\n  current.firstEffect = null;\\n  current.lastEffect = null;\\n  current.pendingProps = null;\\n  current.memoizedProps = null;\\n  current.stateNode = null;\\n\\n  if (alternate !== null) {\\n    detachFiber(alternate);\\n  }\\n}\\n\\nfunction getHostParentFiber(fiber) {\\n  var parent = fiber.return;\\n\\n  while (parent !== null) {\\n    if (isHostParent(parent)) {\\n      return parent;\\n    }\\n\\n    parent = parent.return;\\n  }\\n\\n  {\\n    {\\n      throw Error( \\\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n}\\n\\nfunction isHostParent(fiber) {\\n  return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal;\\n}\\n\\nfunction getHostSibling(fiber) {\\n  // We're going to search forward into the tree until we find a sibling host\\n  // node. Unfortunately, if multiple insertions are done in a row we have to\\n  // search past them. This leads to exponential search for the next sibling.\\n  // TODO: Find a more efficient way to do this.\\n  var node = fiber;\\n\\n  siblings: while (true) {\\n    // If we didn't find anything, let's try the next sibling.\\n    while (node.sibling === null) {\\n      if (node.return === null || isHostParent(node.return)) {\\n        // If we pop out of the root or hit the parent the fiber we are the\\n        // last sibling.\\n        return null;\\n      }\\n\\n      node = node.return;\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n\\n    while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedFragment) {\\n      // If it is not host node and, we might have a host node inside it.\\n      // Try to search down until we find one.\\n      if (node.effectTag & Placement) {\\n        // If we don't have a child, try the siblings instead.\\n        continue siblings;\\n      } // If we don't have a child, try the siblings instead.\\n      // We also skip portals because they are not part of this host tree.\\n\\n\\n      if (node.child === null || node.tag === HostPortal) {\\n        continue siblings;\\n      } else {\\n        node.child.return = node;\\n        node = node.child;\\n      }\\n    } // Check if this host node is stable or about to be placed.\\n\\n\\n    if (!(node.effectTag & Placement)) {\\n      // Found it!\\n      return node.stateNode;\\n    }\\n  }\\n}\\n\\nfunction commitPlacement(finishedWork) {\\n\\n\\n  var parentFiber = getHostParentFiber(finishedWork); // Note: these two variables *must* always be updated together.\\n\\n  var parent;\\n  var isContainer;\\n  var parentStateNode = parentFiber.stateNode;\\n\\n  switch (parentFiber.tag) {\\n    case HostComponent:\\n      parent = parentStateNode;\\n      isContainer = false;\\n      break;\\n\\n    case HostRoot:\\n      parent = parentStateNode.containerInfo;\\n      isContainer = true;\\n      break;\\n\\n    case HostPortal:\\n      parent = parentStateNode.containerInfo;\\n      isContainer = true;\\n      break;\\n\\n    case FundamentalComponent:\\n\\n    // eslint-disable-next-line-no-fallthrough\\n\\n    default:\\n      {\\n        {\\n          throw Error( \\\"Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n        }\\n      }\\n\\n  }\\n\\n  if (parentFiber.effectTag & ContentReset) {\\n    // Reset the text content of the parent before doing any insertions\\n    resetTextContent(parent); // Clear ContentReset from the effect tag\\n\\n    parentFiber.effectTag &= ~ContentReset;\\n  }\\n\\n  var before = getHostSibling(finishedWork); // We only have the top Fiber that was inserted but we need to recurse down its\\n  // children to find all the terminal nodes.\\n\\n  if (isContainer) {\\n    insertOrAppendPlacementNodeIntoContainer(finishedWork, before, parent);\\n  } else {\\n    insertOrAppendPlacementNode(finishedWork, before, parent);\\n  }\\n}\\n\\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\\n  var tag = node.tag;\\n  var isHost = tag === HostComponent || tag === HostText;\\n\\n  if (isHost || enableFundamentalAPI ) {\\n    var stateNode = isHost ? node.stateNode : node.stateNode.instance;\\n\\n    if (before) {\\n      insertInContainerBefore(parent, stateNode, before);\\n    } else {\\n      appendChildToContainer(parent, stateNode);\\n    }\\n  } else if (tag === HostPortal) ; else {\\n    var child = node.child;\\n\\n    if (child !== null) {\\n      insertOrAppendPlacementNodeIntoContainer(child, before, parent);\\n      var sibling = child.sibling;\\n\\n      while (sibling !== null) {\\n        insertOrAppendPlacementNodeIntoContainer(sibling, before, parent);\\n        sibling = sibling.sibling;\\n      }\\n    }\\n  }\\n}\\n\\nfunction insertOrAppendPlacementNode(node, before, parent) {\\n  var tag = node.tag;\\n  var isHost = tag === HostComponent || tag === HostText;\\n\\n  if (isHost || enableFundamentalAPI ) {\\n    var stateNode = isHost ? node.stateNode : node.stateNode.instance;\\n\\n    if (before) {\\n      insertBefore(parent, stateNode, before);\\n    } else {\\n      appendChild(parent, stateNode);\\n    }\\n  } else if (tag === HostPortal) ; else {\\n    var child = node.child;\\n\\n    if (child !== null) {\\n      insertOrAppendPlacementNode(child, before, parent);\\n      var sibling = child.sibling;\\n\\n      while (sibling !== null) {\\n        insertOrAppendPlacementNode(sibling, before, parent);\\n        sibling = sibling.sibling;\\n      }\\n    }\\n  }\\n}\\n\\nfunction unmountHostComponents(finishedRoot, current, renderPriorityLevel) {\\n  // We only have the top Fiber that was deleted but we need to recurse down its\\n  // children to find all the terminal nodes.\\n  var node = current; // Each iteration, currentParent is populated with node's host parent if not\\n  // currentParentIsValid.\\n\\n  var currentParentIsValid = false; // Note: these two variables *must* always be updated together.\\n\\n  var currentParent;\\n  var currentParentIsContainer;\\n\\n  while (true) {\\n    if (!currentParentIsValid) {\\n      var parent = node.return;\\n\\n      findParent: while (true) {\\n        if (!(parent !== null)) {\\n          {\\n            throw Error( \\\"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n          }\\n        }\\n\\n        var parentStateNode = parent.stateNode;\\n\\n        switch (parent.tag) {\\n          case HostComponent:\\n            currentParent = parentStateNode;\\n            currentParentIsContainer = false;\\n            break findParent;\\n\\n          case HostRoot:\\n            currentParent = parentStateNode.containerInfo;\\n            currentParentIsContainer = true;\\n            break findParent;\\n\\n          case HostPortal:\\n            currentParent = parentStateNode.containerInfo;\\n            currentParentIsContainer = true;\\n            break findParent;\\n\\n        }\\n\\n        parent = parent.return;\\n      }\\n\\n      currentParentIsValid = true;\\n    }\\n\\n    if (node.tag === HostComponent || node.tag === HostText) {\\n      commitNestedUnmounts(finishedRoot, node, renderPriorityLevel); // After all the children have unmounted, it is now safe to remove the\\n      // node from the tree.\\n\\n      if (currentParentIsContainer) {\\n        removeChildFromContainer(currentParent, node.stateNode);\\n      } else {\\n        removeChild(currentParent, node.stateNode);\\n      } // Don't visit children because we already visited them.\\n\\n    } else if (node.tag === HostPortal) {\\n      if (node.child !== null) {\\n        // When we go into a portal, it becomes the parent to remove from.\\n        // We will reassign it back when we pop the portal on the way up.\\n        currentParent = node.stateNode.containerInfo;\\n        currentParentIsContainer = true; // Visit children because portals might contain host components.\\n\\n        node.child.return = node;\\n        node = node.child;\\n        continue;\\n      }\\n    } else {\\n      commitUnmount(finishedRoot, node, renderPriorityLevel); // Visit children because we may find more host components below.\\n\\n      if (node.child !== null) {\\n        node.child.return = node;\\n        node = node.child;\\n        continue;\\n      }\\n    }\\n\\n    if (node === current) {\\n      return;\\n    }\\n\\n    while (node.sibling === null) {\\n      if (node.return === null || node.return === current) {\\n        return;\\n      }\\n\\n      node = node.return;\\n\\n      if (node.tag === HostPortal) {\\n        // When we go out of the portal, we need to restore the parent.\\n        // Since we don't keep a stack of them, we will search for it.\\n        currentParentIsValid = false;\\n      }\\n    }\\n\\n    node.sibling.return = node.return;\\n    node = node.sibling;\\n  }\\n}\\n\\nfunction commitDeletion(finishedRoot, current, renderPriorityLevel) {\\n  {\\n    // Recursively delete all host nodes from the parent.\\n    // Detach refs and call componentWillUnmount() on the whole subtree.\\n    unmountHostComponents(finishedRoot, current, renderPriorityLevel);\\n  }\\n\\n  detachFiber(current);\\n}\\n\\nfunction commitWork(current, finishedWork) {\\n\\n  switch (finishedWork.tag) {\\n    case FunctionComponent:\\n    case ForwardRef:\\n    case MemoComponent:\\n    case SimpleMemoComponent:\\n    case Block:\\n      {\\n        // Layout effects are destroyed during the mutation phase so that all\\n        // destroy functions for all fibers are called before any create functions.\\n        // This prevents sibling component effects from interfering with each other,\\n        // e.g. a destroy function in one component should never override a ref set\\n        // by a create function in another component during the same commit.\\n        commitHookEffectListUnmount(Layout | HasEffect, finishedWork);\\n        return;\\n      }\\n\\n    case ClassComponent:\\n      {\\n        return;\\n      }\\n\\n    case HostComponent:\\n      {\\n        var instance = finishedWork.stateNode;\\n\\n        if (instance != null) {\\n          // Commit the work prepared earlier.\\n          var newProps = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\\n          // as the newProps. The updatePayload will contain the real change in\\n          // this case.\\n\\n          var oldProps = current !== null ? current.memoizedProps : newProps;\\n          var type = finishedWork.type; // TODO: Type the updateQueue to be specific to host components.\\n\\n          var updatePayload = finishedWork.updateQueue;\\n          finishedWork.updateQueue = null;\\n\\n          if (updatePayload !== null) {\\n            commitUpdate(instance, updatePayload, type, oldProps, newProps);\\n          }\\n        }\\n\\n        return;\\n      }\\n\\n    case HostText:\\n      {\\n        if (!(finishedWork.stateNode !== null)) {\\n          {\\n            throw Error( \\\"This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n          }\\n        }\\n\\n        var textInstance = finishedWork.stateNode;\\n        var newText = finishedWork.memoizedProps; // For hydration we reuse the update path but we treat the oldProps\\n        // as the newProps. The updatePayload will contain the real change in\\n        // this case.\\n\\n        var oldText = current !== null ? current.memoizedProps : newText;\\n        commitTextUpdate(textInstance, oldText, newText);\\n        return;\\n      }\\n\\n    case HostRoot:\\n      {\\n        {\\n          var _root = finishedWork.stateNode;\\n\\n          if (_root.hydrate) {\\n            // We've just hydrated. No need to hydrate again.\\n            _root.hydrate = false;\\n            commitHydratedContainer(_root.containerInfo);\\n          }\\n        }\\n\\n        return;\\n      }\\n\\n    case Profiler:\\n      {\\n        return;\\n      }\\n\\n    case SuspenseComponent:\\n      {\\n        commitSuspenseComponent(finishedWork);\\n        attachSuspenseRetryListeners(finishedWork);\\n        return;\\n      }\\n\\n    case SuspenseListComponent:\\n      {\\n        attachSuspenseRetryListeners(finishedWork);\\n        return;\\n      }\\n\\n    case IncompleteClassComponent:\\n      {\\n        return;\\n      }\\n  }\\n\\n  {\\n    {\\n      throw Error( \\\"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  }\\n}\\n\\nfunction commitSuspenseComponent(finishedWork) {\\n  var newState = finishedWork.memoizedState;\\n  var newDidTimeout;\\n  var primaryChildParent = finishedWork;\\n\\n  if (newState === null) {\\n    newDidTimeout = false;\\n  } else {\\n    newDidTimeout = true;\\n    primaryChildParent = finishedWork.child;\\n    markCommitTimeOfFallback();\\n  }\\n\\n  if ( primaryChildParent !== null) {\\n    hideOrUnhideAllChildren(primaryChildParent, newDidTimeout);\\n  }\\n}\\n\\nfunction commitSuspenseHydrationCallbacks(finishedRoot, finishedWork) {\\n\\n  var newState = finishedWork.memoizedState;\\n\\n  if (newState === null) {\\n    var current = finishedWork.alternate;\\n\\n    if (current !== null) {\\n      var prevState = current.memoizedState;\\n\\n      if (prevState !== null) {\\n        var suspenseInstance = prevState.dehydrated;\\n\\n        if (suspenseInstance !== null) {\\n          commitHydratedSuspenseInstance(suspenseInstance);\\n        }\\n      }\\n    }\\n  }\\n}\\n\\nfunction attachSuspenseRetryListeners(finishedWork) {\\n  // If this boundary just timed out, then it will have a set of thenables.\\n  // For each thenable, attach a listener so that when it resolves, React\\n  // attempts to re-render the boundary in the primary (pre-timeout) state.\\n  var thenables = finishedWork.updateQueue;\\n\\n  if (thenables !== null) {\\n    finishedWork.updateQueue = null;\\n    var retryCache = finishedWork.stateNode;\\n\\n    if (retryCache === null) {\\n      retryCache = finishedWork.stateNode = new PossiblyWeakSet();\\n    }\\n\\n    thenables.forEach(function (thenable) {\\n      // Memoize using the boundary fiber to prevent redundant listeners.\\n      var retry = resolveRetryThenable.bind(null, finishedWork, thenable);\\n\\n      if (!retryCache.has(thenable)) {\\n        {\\n          if (thenable.__reactDoNotTraceInteractions !== true) {\\n            retry = tracing.unstable_wrap(retry);\\n          }\\n        }\\n\\n        retryCache.add(thenable);\\n        thenable.then(retry, retry);\\n      }\\n    });\\n  }\\n}\\n\\nfunction commitResetTextContent(current) {\\n\\n  resetTextContent(current.stateNode);\\n}\\n\\nvar PossiblyWeakMap$1 = typeof WeakMap === 'function' ? WeakMap : Map;\\n\\nfunction createRootErrorUpdate(fiber, errorInfo, expirationTime) {\\n  var update = createUpdate(expirationTime, null); // Unmount the root by rendering null.\\n\\n  update.tag = CaptureUpdate; // Caution: React DevTools currently depends on this property\\n  // being called \\\"element\\\".\\n\\n  update.payload = {\\n    element: null\\n  };\\n  var error = errorInfo.value;\\n\\n  update.callback = function () {\\n    onUncaughtError(error);\\n    logError(fiber, errorInfo);\\n  };\\n\\n  return update;\\n}\\n\\nfunction createClassErrorUpdate(fiber, errorInfo, expirationTime) {\\n  var update = createUpdate(expirationTime, null);\\n  update.tag = CaptureUpdate;\\n  var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\\n\\n  if (typeof getDerivedStateFromError === 'function') {\\n    var error$1 = errorInfo.value;\\n\\n    update.payload = function () {\\n      logError(fiber, errorInfo);\\n      return getDerivedStateFromError(error$1);\\n    };\\n  }\\n\\n  var inst = fiber.stateNode;\\n\\n  if (inst !== null && typeof inst.componentDidCatch === 'function') {\\n    update.callback = function callback() {\\n      {\\n        markFailedErrorBoundaryForHotReloading(fiber);\\n      }\\n\\n      if (typeof getDerivedStateFromError !== 'function') {\\n        // To preserve the preexisting retry behavior of error boundaries,\\n        // we keep track of which ones already failed during this batch.\\n        // This gets reset before we yield back to the browser.\\n        // TODO: Warn in strict mode if getDerivedStateFromError is\\n        // not defined.\\n        markLegacyErrorBoundaryAsFailed(this); // Only log here if componentDidCatch is the only error boundary method defined\\n\\n        logError(fiber, errorInfo);\\n      }\\n\\n      var error$1 = errorInfo.value;\\n      var stack = errorInfo.stack;\\n      this.componentDidCatch(error$1, {\\n        componentStack: stack !== null ? stack : ''\\n      });\\n\\n      {\\n        if (typeof getDerivedStateFromError !== 'function') {\\n          // If componentDidCatch is the only error boundary method defined,\\n          // then it needs to call setState to recover from errors.\\n          // If no state update is scheduled then the boundary will swallow the error.\\n          if (fiber.expirationTime !== Sync) {\\n            error('%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentName(fiber.type) || 'Unknown');\\n          }\\n        }\\n      }\\n    };\\n  } else {\\n    update.callback = function () {\\n      markFailedErrorBoundaryForHotReloading(fiber);\\n    };\\n  }\\n\\n  return update;\\n}\\n\\nfunction attachPingListener(root, renderExpirationTime, thenable) {\\n  // Attach a listener to the promise to \\\"ping\\\" the root and retry. But\\n  // only if one does not already exist for the current render expiration\\n  // time (which acts like a \\\"thread ID\\\" here).\\n  var pingCache = root.pingCache;\\n  var threadIDs;\\n\\n  if (pingCache === null) {\\n    pingCache = root.pingCache = new PossiblyWeakMap$1();\\n    threadIDs = new Set();\\n    pingCache.set(thenable, threadIDs);\\n  } else {\\n    threadIDs = pingCache.get(thenable);\\n\\n    if (threadIDs === undefined) {\\n      threadIDs = new Set();\\n      pingCache.set(thenable, threadIDs);\\n    }\\n  }\\n\\n  if (!threadIDs.has(renderExpirationTime)) {\\n    // Memoize using the thread ID to prevent redundant listeners.\\n    threadIDs.add(renderExpirationTime);\\n    var ping = pingSuspendedRoot.bind(null, root, thenable, renderExpirationTime);\\n    thenable.then(ping, ping);\\n  }\\n}\\n\\nfunction throwException(root, returnFiber, sourceFiber, value, renderExpirationTime) {\\n  // The source fiber did not complete.\\n  sourceFiber.effectTag |= Incomplete; // Its effect list is no longer valid.\\n\\n  sourceFiber.firstEffect = sourceFiber.lastEffect = null;\\n\\n  if (value !== null && typeof value === 'object' && typeof value.then === 'function') {\\n    // This is a thenable.\\n    var thenable = value;\\n\\n    if ((sourceFiber.mode & BlockingMode) === NoMode) {\\n      // Reset the memoizedState to what it was before we attempted\\n      // to render it.\\n      var currentSource = sourceFiber.alternate;\\n\\n      if (currentSource) {\\n        sourceFiber.updateQueue = currentSource.updateQueue;\\n        sourceFiber.memoizedState = currentSource.memoizedState;\\n        sourceFiber.expirationTime = currentSource.expirationTime;\\n      } else {\\n        sourceFiber.updateQueue = null;\\n        sourceFiber.memoizedState = null;\\n      }\\n    }\\n\\n    var hasInvisibleParentBoundary = hasSuspenseContext(suspenseStackCursor.current, InvisibleParentSuspenseContext); // Schedule the nearest Suspense to re-render the timed out view.\\n\\n    var _workInProgress = returnFiber;\\n\\n    do {\\n      if (_workInProgress.tag === SuspenseComponent && shouldCaptureSuspense(_workInProgress, hasInvisibleParentBoundary)) {\\n        // Found the nearest boundary.\\n        // Stash the promise on the boundary fiber. If the boundary times out, we'll\\n        // attach another listener to flip the boundary back to its normal state.\\n        var thenables = _workInProgress.updateQueue;\\n\\n        if (thenables === null) {\\n          var updateQueue = new Set();\\n          updateQueue.add(thenable);\\n          _workInProgress.updateQueue = updateQueue;\\n        } else {\\n          thenables.add(thenable);\\n        } // If the boundary is outside of blocking mode, we should *not*\\n        // suspend the commit. Pretend as if the suspended component rendered\\n        // null and keep rendering. In the commit phase, we'll schedule a\\n        // subsequent synchronous update to re-render the Suspense.\\n        //\\n        // Note: It doesn't matter whether the component that suspended was\\n        // inside a blocking mode tree. If the Suspense is outside of it, we\\n        // should *not* suspend the commit.\\n\\n\\n        if ((_workInProgress.mode & BlockingMode) === NoMode) {\\n          _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete.\\n          // But we shouldn't call any lifecycle methods or callbacks. Remove\\n          // all lifecycle effect tags.\\n\\n          sourceFiber.effectTag &= ~(LifecycleEffectMask | Incomplete);\\n\\n          if (sourceFiber.tag === ClassComponent) {\\n            var currentSourceFiber = sourceFiber.alternate;\\n\\n            if (currentSourceFiber === null) {\\n              // This is a new mount. Change the tag so it's not mistaken for a\\n              // completed class component. For example, we should not call\\n              // componentWillUnmount if it is deleted.\\n              sourceFiber.tag = IncompleteClassComponent;\\n            } else {\\n              // When we try rendering again, we should not reuse the current fiber,\\n              // since it's known to be in an inconsistent state. Use a force update to\\n              // prevent a bail out.\\n              var update = createUpdate(Sync, null);\\n              update.tag = ForceUpdate;\\n              enqueueUpdate(sourceFiber, update);\\n            }\\n          } // The source fiber did not complete. Mark it with Sync priority to\\n          // indicate that it still has pending work.\\n\\n\\n          sourceFiber.expirationTime = Sync; // Exit without suspending.\\n\\n          return;\\n        } // Confirmed that the boundary is in a concurrent mode tree. Continue\\n        // with the normal suspend path.\\n        //\\n        // After this we'll use a set of heuristics to determine whether this\\n        // render pass will run to completion or restart or \\\"suspend\\\" the commit.\\n        // The actual logic for this is spread out in different places.\\n        //\\n        // This first principle is that if we're going to suspend when we complete\\n        // a root, then we should also restart if we get an update or ping that\\n        // might unsuspend it, and vice versa. The only reason to suspend is\\n        // because you think you might want to restart before committing. However,\\n        // it doesn't make sense to restart only while in the period we're suspended.\\n        //\\n        // Restarting too aggressively is also not good because it starves out any\\n        // intermediate loading state. So we use heuristics to determine when.\\n        // Suspense Heuristics\\n        //\\n        // If nothing threw a Promise or all the same fallbacks are already showing,\\n        // then don't suspend/restart.\\n        //\\n        // If this is an initial render of a new tree of Suspense boundaries and\\n        // those trigger a fallback, then don't suspend/restart. We want to ensure\\n        // that we can show the initial loading state as quickly as possible.\\n        //\\n        // If we hit a \\\"Delayed\\\" case, such as when we'd switch from content back into\\n        // a fallback, then we should always suspend/restart. SuspenseConfig applies to\\n        // this case. If none is defined, JND is used instead.\\n        //\\n        // If we're already showing a fallback and it gets \\\"retried\\\", allowing us to show\\n        // another level, but there's still an inner boundary that would show a fallback,\\n        // then we suspend/restart for 500ms since the last time we showed a fallback\\n        // anywhere in the tree. This effectively throttles progressive loading into a\\n        // consistent train of commits. This also gives us an opportunity to restart to\\n        // get to the completed state slightly earlier.\\n        //\\n        // If there's ambiguity due to batching it's resolved in preference of:\\n        // 1) \\\"delayed\\\", 2) \\\"initial render\\\", 3) \\\"retry\\\".\\n        //\\n        // We want to ensure that a \\\"busy\\\" state doesn't get force committed. We want to\\n        // ensure that new initial loading states can commit as soon as possible.\\n\\n\\n        attachPingListener(root, renderExpirationTime, thenable);\\n        _workInProgress.effectTag |= ShouldCapture;\\n        _workInProgress.expirationTime = renderExpirationTime;\\n        return;\\n      } // This boundary already captured during this render. Continue to the next\\n      // boundary.\\n\\n\\n      _workInProgress = _workInProgress.return;\\n    } while (_workInProgress !== null); // No boundary was found. Fallthrough to error mode.\\n    // TODO: Use invariant so the message is stripped in prod?\\n\\n\\n    value = new Error((getComponentName(sourceFiber.type) || 'A React component') + ' suspended while rendering, but no fallback UI was specified.\\\\n' + '\\\\n' + 'Add a <Suspense fallback=...> component higher in the tree to ' + 'provide a loading indicator or placeholder to display.' + getStackByFiberInDevAndProd(sourceFiber));\\n  } // We didn't find a boundary that could handle this type of exception. Start\\n  // over and traverse parent path again, this time treating the exception\\n  // as an error.\\n\\n\\n  renderDidError();\\n  value = createCapturedValue(value, sourceFiber);\\n  var workInProgress = returnFiber;\\n\\n  do {\\n    switch (workInProgress.tag) {\\n      case HostRoot:\\n        {\\n          var _errorInfo = value;\\n          workInProgress.effectTag |= ShouldCapture;\\n          workInProgress.expirationTime = renderExpirationTime;\\n\\n          var _update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime);\\n\\n          enqueueCapturedUpdate(workInProgress, _update);\\n          return;\\n        }\\n\\n      case ClassComponent:\\n        // Capture and retry\\n        var errorInfo = value;\\n        var ctor = workInProgress.type;\\n        var instance = workInProgress.stateNode;\\n\\n        if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) {\\n          workInProgress.effectTag |= ShouldCapture;\\n          workInProgress.expirationTime = renderExpirationTime; // Schedule the error boundary to re-render using updated state\\n\\n          var _update2 = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime);\\n\\n          enqueueCapturedUpdate(workInProgress, _update2);\\n          return;\\n        }\\n\\n        break;\\n    }\\n\\n    workInProgress = workInProgress.return;\\n  } while (workInProgress !== null);\\n}\\n\\nvar ceil = Math.ceil;\\nvar ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher,\\n    ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner,\\n    IsSomeRendererActing = ReactSharedInternals.IsSomeRendererActing;\\nvar NoContext =\\n/*                    */\\n0;\\nvar BatchedContext =\\n/*               */\\n1;\\nvar EventContext =\\n/*                 */\\n2;\\nvar DiscreteEventContext =\\n/*         */\\n4;\\nvar LegacyUnbatchedContext =\\n/*       */\\n8;\\nvar RenderContext =\\n/*                */\\n16;\\nvar CommitContext =\\n/*                */\\n32;\\nvar RootIncomplete = 0;\\nvar RootFatalErrored = 1;\\nvar RootErrored = 2;\\nvar RootSuspended = 3;\\nvar RootSuspendedWithDelay = 4;\\nvar RootCompleted = 5;\\n// Describes where we are in the React execution stack\\nvar executionContext = NoContext; // The root we're working on\\n\\nvar workInProgressRoot = null; // The fiber we're working on\\n\\nvar workInProgress = null; // The expiration time we're rendering\\n\\nvar renderExpirationTime$1 = NoWork; // Whether to root completed, errored, suspended, etc.\\n\\nvar workInProgressRootExitStatus = RootIncomplete; // A fatal error, if one is thrown\\n\\nvar workInProgressRootFatalError = null; // Most recent event time among processed updates during this render.\\n// This is conceptually a time stamp but expressed in terms of an ExpirationTime\\n// because we deal mostly with expiration times in the hot path, so this avoids\\n// the conversion happening in the hot path.\\n\\nvar workInProgressRootLatestProcessedExpirationTime = Sync;\\nvar workInProgressRootLatestSuspenseTimeout = Sync;\\nvar workInProgressRootCanSuspendUsingConfig = null; // The work left over by components that were visited during this render. Only\\n// includes unprocessed updates, not work in bailed out children.\\n\\nvar workInProgressRootNextUnprocessedUpdateTime = NoWork; // If we're pinged while rendering we don't always restart immediately.\\n// This flag determines if it might be worthwhile to restart if an opportunity\\n// happens latere.\\n\\nvar workInProgressRootHasPendingPing = false; // The most recent time we committed a fallback. This lets us ensure a train\\n// model where we don't commit new loading states in too quick succession.\\n\\nvar globalMostRecentFallbackTime = 0;\\nvar FALLBACK_THROTTLE_MS = 500;\\nvar nextEffect = null;\\nvar hasUncaughtError = false;\\nvar firstUncaughtError = null;\\nvar legacyErrorBoundariesThatAlreadyFailed = null;\\nvar rootDoesHavePassiveEffects = false;\\nvar rootWithPendingPassiveEffects = null;\\nvar pendingPassiveEffectsRenderPriority = NoPriority;\\nvar pendingPassiveEffectsExpirationTime = NoWork;\\nvar rootsWithPendingDiscreteUpdates = null; // Use these to prevent an infinite loop of nested updates\\n\\nvar NESTED_UPDATE_LIMIT = 50;\\nvar nestedUpdateCount = 0;\\nvar rootWithNestedUpdates = null;\\nvar NESTED_PASSIVE_UPDATE_LIMIT = 50;\\nvar nestedPassiveUpdateCount = 0;\\nvar interruptedBy = null; // Marks the need to reschedule pending interactions at these expiration times\\n// during the commit phase. This enables them to be traced across components\\n// that spawn new work during render. E.g. hidden boundaries, suspended SSR\\n// hydration or SuspenseList.\\n\\nvar spawnedWorkDuringRender = null; // Expiration times are computed by adding to the current time (the start\\n// time). However, if two updates are scheduled within the same event, we\\n// should treat their start times as simultaneous, even if the actual clock\\n// time has advanced between the first and second call.\\n// In other words, because expiration times determine how updates are batched,\\n// we want all updates of like priority that occur within the same event to\\n// receive the same expiration time. Otherwise we get tearing.\\n\\nvar currentEventTime = NoWork;\\nfunction requestCurrentTimeForUpdate() {\\n  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\\n    // We're inside React, so it's fine to read the actual time.\\n    return msToExpirationTime(now());\\n  } // We're not inside React, so we may be in the middle of a browser event.\\n\\n\\n  if (currentEventTime !== NoWork) {\\n    // Use the same start time for all updates until we enter React again.\\n    return currentEventTime;\\n  } // This is the first update since React yielded. Compute a new start time.\\n\\n\\n  currentEventTime = msToExpirationTime(now());\\n  return currentEventTime;\\n}\\nfunction getCurrentTime() {\\n  return msToExpirationTime(now());\\n}\\nfunction computeExpirationForFiber(currentTime, fiber, suspenseConfig) {\\n  var mode = fiber.mode;\\n\\n  if ((mode & BlockingMode) === NoMode) {\\n    return Sync;\\n  }\\n\\n  var priorityLevel = getCurrentPriorityLevel();\\n\\n  if ((mode & ConcurrentMode) === NoMode) {\\n    return priorityLevel === ImmediatePriority ? Sync : Batched;\\n  }\\n\\n  if ((executionContext & RenderContext) !== NoContext) {\\n    // Use whatever time we're already rendering\\n    // TODO: Should there be a way to opt out, like with `runWithPriority`?\\n    return renderExpirationTime$1;\\n  }\\n\\n  var expirationTime;\\n\\n  if (suspenseConfig !== null) {\\n    // Compute an expiration time based on the Suspense timeout.\\n    expirationTime = computeSuspenseExpiration(currentTime, suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION);\\n  } else {\\n    // Compute an expiration time based on the Scheduler priority.\\n    switch (priorityLevel) {\\n      case ImmediatePriority:\\n        expirationTime = Sync;\\n        break;\\n\\n      case UserBlockingPriority$1:\\n        // TODO: Rename this to computeUserBlockingExpiration\\n        expirationTime = computeInteractiveExpiration(currentTime);\\n        break;\\n\\n      case NormalPriority:\\n      case LowPriority:\\n        // TODO: Handle LowPriority\\n        // TODO: Rename this to... something better.\\n        expirationTime = computeAsyncExpiration(currentTime);\\n        break;\\n\\n      case IdlePriority:\\n        expirationTime = Idle;\\n        break;\\n\\n      default:\\n        {\\n          {\\n            throw Error( \\\"Expected a valid priority level\\\" );\\n          }\\n        }\\n\\n    }\\n  } // If we're in the middle of rendering a tree, do not update at the same\\n  // expiration time that is already rendering.\\n  // TODO: We shouldn't have to do this if the update is on a different root.\\n  // Refactor computeExpirationForFiber + scheduleUpdate so we have access to\\n  // the root when we check for this condition.\\n\\n\\n  if (workInProgressRoot !== null && expirationTime === renderExpirationTime$1) {\\n    // This is a trick to move this update into a separate batch\\n    expirationTime -= 1;\\n  }\\n\\n  return expirationTime;\\n}\\nfunction scheduleUpdateOnFiber(fiber, expirationTime) {\\n  checkForNestedUpdates();\\n  warnAboutRenderPhaseUpdatesInDEV(fiber);\\n  var root = markUpdateTimeFromFiberToRoot(fiber, expirationTime);\\n\\n  if (root === null) {\\n    warnAboutUpdateOnUnmountedFiberInDEV(fiber);\\n    return;\\n  }\\n\\n  checkForInterruption(fiber, expirationTime);\\n  recordScheduleUpdate(); // TODO: computeExpirationForFiber also reads the priority. Pass the\\n  // priority as an argument to that function and this one.\\n\\n  var priorityLevel = getCurrentPriorityLevel();\\n\\n  if (expirationTime === Sync) {\\n    if ( // Check if we're inside unbatchedUpdates\\n    (executionContext & LegacyUnbatchedContext) !== NoContext && // Check if we're not already rendering\\n    (executionContext & (RenderContext | CommitContext)) === NoContext) {\\n      // Register pending interactions on the root to avoid losing traced interaction data.\\n      schedulePendingInteractions(root, expirationTime); // This is a legacy edge case. The initial mount of a ReactDOM.render-ed\\n      // root inside of batchedUpdates should be synchronous, but layout updates\\n      // should be deferred until the end of the batch.\\n\\n      performSyncWorkOnRoot(root);\\n    } else {\\n      ensureRootIsScheduled(root);\\n      schedulePendingInteractions(root, expirationTime);\\n\\n      if (executionContext === NoContext) {\\n        // Flush the synchronous work now, unless we're already working or inside\\n        // a batch. This is intentionally inside scheduleUpdateOnFiber instead of\\n        // scheduleCallbackForFiber to preserve the ability to schedule a callback\\n        // without immediately flushing it. We only do this for user-initiated\\n        // updates, to preserve historical behavior of legacy mode.\\n        flushSyncCallbackQueue();\\n      }\\n    }\\n  } else {\\n    ensureRootIsScheduled(root);\\n    schedulePendingInteractions(root, expirationTime);\\n  }\\n\\n  if ((executionContext & DiscreteEventContext) !== NoContext && ( // Only updates at user-blocking priority or greater are considered\\n  // discrete, even inside a discrete event.\\n  priorityLevel === UserBlockingPriority$1 || priorityLevel === ImmediatePriority)) {\\n    // This is the result of a discrete event. Track the lowest priority\\n    // discrete update per root so we can flush them early, if needed.\\n    if (rootsWithPendingDiscreteUpdates === null) {\\n      rootsWithPendingDiscreteUpdates = new Map([[root, expirationTime]]);\\n    } else {\\n      var lastDiscreteTime = rootsWithPendingDiscreteUpdates.get(root);\\n\\n      if (lastDiscreteTime === undefined || lastDiscreteTime > expirationTime) {\\n        rootsWithPendingDiscreteUpdates.set(root, expirationTime);\\n      }\\n    }\\n  }\\n}\\nvar scheduleWork = scheduleUpdateOnFiber; // This is split into a separate function so we can mark a fiber with pending\\n// work without treating it as a typical update that originates from an event;\\n// e.g. retrying a Suspense boundary isn't an update, but it does schedule work\\n// on a fiber.\\n\\nfunction markUpdateTimeFromFiberToRoot(fiber, expirationTime) {\\n  // Update the source fiber's expiration time\\n  if (fiber.expirationTime < expirationTime) {\\n    fiber.expirationTime = expirationTime;\\n  }\\n\\n  var alternate = fiber.alternate;\\n\\n  if (alternate !== null && alternate.expirationTime < expirationTime) {\\n    alternate.expirationTime = expirationTime;\\n  } // Walk the parent path to the root and update the child expiration time.\\n\\n\\n  var node = fiber.return;\\n  var root = null;\\n\\n  if (node === null && fiber.tag === HostRoot) {\\n    root = fiber.stateNode;\\n  } else {\\n    while (node !== null) {\\n      alternate = node.alternate;\\n\\n      if (node.childExpirationTime < expirationTime) {\\n        node.childExpirationTime = expirationTime;\\n\\n        if (alternate !== null && alternate.childExpirationTime < expirationTime) {\\n          alternate.childExpirationTime = expirationTime;\\n        }\\n      } else if (alternate !== null && alternate.childExpirationTime < expirationTime) {\\n        alternate.childExpirationTime = expirationTime;\\n      }\\n\\n      if (node.return === null && node.tag === HostRoot) {\\n        root = node.stateNode;\\n        break;\\n      }\\n\\n      node = node.return;\\n    }\\n  }\\n\\n  if (root !== null) {\\n    if (workInProgressRoot === root) {\\n      // Received an update to a tree that's in the middle of rendering. Mark\\n      // that's unprocessed work on this root.\\n      markUnprocessedUpdateTime(expirationTime);\\n\\n      if (workInProgressRootExitStatus === RootSuspendedWithDelay) {\\n        // The root already suspended with a delay, which means this render\\n        // definitely won't finish. Since we have a new update, let's mark it as\\n        // suspended now, right before marking the incoming update. This has the\\n        // effect of interrupting the current render and switching to the update.\\n        // TODO: This happens to work when receiving an update during the render\\n        // phase, because of the trick inside computeExpirationForFiber to\\n        // subtract 1 from `renderExpirationTime` to move it into a\\n        // separate bucket. But we should probably model it with an exception,\\n        // using the same mechanism we use to force hydration of a subtree.\\n        // TODO: This does not account for low pri updates that were already\\n        // scheduled before the root started rendering. Need to track the next\\n        // pending expiration time (perhaps by backtracking the return path) and\\n        // then trigger a restart in the `renderDidSuspendDelayIfPossible` path.\\n        markRootSuspendedAtTime(root, renderExpirationTime$1);\\n      }\\n    } // Mark that the root has a pending update.\\n\\n\\n    markRootUpdatedAtTime(root, expirationTime);\\n  }\\n\\n  return root;\\n}\\n\\nfunction getNextRootExpirationTimeToWorkOn(root) {\\n  // Determines the next expiration time that the root should render, taking\\n  // into account levels that may be suspended, or levels that may have\\n  // received a ping.\\n  var lastExpiredTime = root.lastExpiredTime;\\n\\n  if (lastExpiredTime !== NoWork) {\\n    return lastExpiredTime;\\n  } // \\\"Pending\\\" refers to any update that hasn't committed yet, including if it\\n  // suspended. The \\\"suspended\\\" range is therefore a subset.\\n\\n\\n  var firstPendingTime = root.firstPendingTime;\\n\\n  if (!isRootSuspendedAtTime(root, firstPendingTime)) {\\n    // The highest priority pending time is not suspended. Let's work on that.\\n    return firstPendingTime;\\n  } // If the first pending time is suspended, check if there's a lower priority\\n  // pending level that we know about. Or check if we received a ping. Work\\n  // on whichever is higher priority.\\n\\n\\n  var lastPingedTime = root.lastPingedTime;\\n  var nextKnownPendingLevel = root.nextKnownPendingLevel;\\n  var nextLevel = lastPingedTime > nextKnownPendingLevel ? lastPingedTime : nextKnownPendingLevel;\\n\\n  if ( nextLevel <= Idle && firstPendingTime !== nextLevel) {\\n    // Don't work on Idle/Never priority unless everything else is committed.\\n    return NoWork;\\n  }\\n\\n  return nextLevel;\\n} // Use this function to schedule a task for a root. There's only one task per\\n// root; if a task was already scheduled, we'll check to make sure the\\n// expiration time of the existing task is the same as the expiration time of\\n// the next level that the root has work on. This function is called on every\\n// update, and right before exiting a task.\\n\\n\\nfunction ensureRootIsScheduled(root) {\\n  var lastExpiredTime = root.lastExpiredTime;\\n\\n  if (lastExpiredTime !== NoWork) {\\n    // Special case: Expired work should flush synchronously.\\n    root.callbackExpirationTime = Sync;\\n    root.callbackPriority = ImmediatePriority;\\n    root.callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\\n    return;\\n  }\\n\\n  var expirationTime = getNextRootExpirationTimeToWorkOn(root);\\n  var existingCallbackNode = root.callbackNode;\\n\\n  if (expirationTime === NoWork) {\\n    // There's nothing to work on.\\n    if (existingCallbackNode !== null) {\\n      root.callbackNode = null;\\n      root.callbackExpirationTime = NoWork;\\n      root.callbackPriority = NoPriority;\\n    }\\n\\n    return;\\n  } // TODO: If this is an update, we already read the current time. Pass the\\n  // time as an argument.\\n\\n\\n  var currentTime = requestCurrentTimeForUpdate();\\n  var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime); // If there's an existing render task, confirm it has the correct priority and\\n  // expiration time. Otherwise, we'll cancel it and schedule a new one.\\n\\n  if (existingCallbackNode !== null) {\\n    var existingCallbackPriority = root.callbackPriority;\\n    var existingCallbackExpirationTime = root.callbackExpirationTime;\\n\\n    if ( // Callback must have the exact same expiration time.\\n    existingCallbackExpirationTime === expirationTime && // Callback must have greater or equal priority.\\n    existingCallbackPriority >= priorityLevel) {\\n      // Existing callback is sufficient.\\n      return;\\n    } // Need to schedule a new task.\\n    // TODO: Instead of scheduling a new task, we should be able to change the\\n    // priority of the existing one.\\n\\n\\n    cancelCallback(existingCallbackNode);\\n  }\\n\\n  root.callbackExpirationTime = expirationTime;\\n  root.callbackPriority = priorityLevel;\\n  var callbackNode;\\n\\n  if (expirationTime === Sync) {\\n    // Sync React callbacks are scheduled on a special internal queue\\n    callbackNode = scheduleSyncCallback(performSyncWorkOnRoot.bind(null, root));\\n  } else {\\n    callbackNode = scheduleCallback(priorityLevel, performConcurrentWorkOnRoot.bind(null, root), // Compute a task timeout based on the expiration time. This also affects\\n    // ordering because tasks are processed in timeout order.\\n    {\\n      timeout: expirationTimeToMs(expirationTime) - now()\\n    });\\n  }\\n\\n  root.callbackNode = callbackNode;\\n} // This is the entry point for every concurrent task, i.e. anything that\\n// goes through Scheduler.\\n\\n\\nfunction performConcurrentWorkOnRoot(root, didTimeout) {\\n  // Since we know we're in a React event, we can clear the current\\n  // event time. The next update will compute a new event time.\\n  currentEventTime = NoWork;\\n\\n  if (didTimeout) {\\n    // The render task took too long to complete. Mark the current time as\\n    // expired to synchronously render all expired work in a single batch.\\n    var currentTime = requestCurrentTimeForUpdate();\\n    markRootExpiredAtTime(root, currentTime); // This will schedule a synchronous callback.\\n\\n    ensureRootIsScheduled(root);\\n    return null;\\n  } // Determine the next expiration time to work on, using the fields stored\\n  // on the root.\\n\\n\\n  var expirationTime = getNextRootExpirationTimeToWorkOn(root);\\n\\n  if (expirationTime !== NoWork) {\\n    var originalCallbackNode = root.callbackNode;\\n\\n    if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {\\n      {\\n        throw Error( \\\"Should not already be working.\\\" );\\n      }\\n    }\\n\\n    flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack\\n    // and prepare a fresh one. Otherwise we'll continue where we left off.\\n\\n    if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) {\\n      prepareFreshStack(root, expirationTime);\\n      startWorkOnPendingInteractions(root, expirationTime);\\n    } // If we have a work-in-progress fiber, it means there's still work to do\\n    // in this root.\\n\\n\\n    if (workInProgress !== null) {\\n      var prevExecutionContext = executionContext;\\n      executionContext |= RenderContext;\\n      var prevDispatcher = pushDispatcher();\\n      var prevInteractions = pushInteractions(root);\\n      startWorkLoopTimer(workInProgress);\\n\\n      do {\\n        try {\\n          workLoopConcurrent();\\n          break;\\n        } catch (thrownValue) {\\n          handleError(root, thrownValue);\\n        }\\n      } while (true);\\n\\n      resetContextDependencies();\\n      executionContext = prevExecutionContext;\\n      popDispatcher(prevDispatcher);\\n\\n      {\\n        popInteractions(prevInteractions);\\n      }\\n\\n      if (workInProgressRootExitStatus === RootFatalErrored) {\\n        var fatalError = workInProgressRootFatalError;\\n        stopInterruptedWorkLoopTimer();\\n        prepareFreshStack(root, expirationTime);\\n        markRootSuspendedAtTime(root, expirationTime);\\n        ensureRootIsScheduled(root);\\n        throw fatalError;\\n      }\\n\\n      if (workInProgress !== null) {\\n        // There's still work left over. Exit without committing.\\n        stopInterruptedWorkLoopTimer();\\n      } else {\\n        // We now have a consistent tree. The next step is either to commit it,\\n        // or, if something suspended, wait to commit it after a timeout.\\n        stopFinishedWorkLoopTimer();\\n        var finishedWork = root.finishedWork = root.current.alternate;\\n        root.finishedExpirationTime = expirationTime;\\n        finishConcurrentRender(root, finishedWork, workInProgressRootExitStatus, expirationTime);\\n      }\\n\\n      ensureRootIsScheduled(root);\\n\\n      if (root.callbackNode === originalCallbackNode) {\\n        // The task node scheduled for this root is the same one that's\\n        // currently executed. Need to return a continuation.\\n        return performConcurrentWorkOnRoot.bind(null, root);\\n      }\\n    }\\n  }\\n\\n  return null;\\n}\\n\\nfunction finishConcurrentRender(root, finishedWork, exitStatus, expirationTime) {\\n  // Set this to null to indicate there's no in-progress render.\\n  workInProgressRoot = null;\\n\\n  switch (exitStatus) {\\n    case RootIncomplete:\\n    case RootFatalErrored:\\n      {\\n        {\\n          {\\n            throw Error( \\\"Root did not complete. This is a bug in React.\\\" );\\n          }\\n        }\\n      }\\n    // Flow knows about invariant, so it complains if I add a break\\n    // statement, but eslint doesn't know about invariant, so it complains\\n    // if I do. eslint-disable-next-line no-fallthrough\\n\\n    case RootErrored:\\n      {\\n        // If this was an async render, the error may have happened due to\\n        // a mutation in a concurrent event. Try rendering one more time,\\n        // synchronously, to see if the error goes away. If there are\\n        // lower priority updates, let's include those, too, in case they\\n        // fix the inconsistency. Render at Idle to include all updates.\\n        // If it was Idle or Never or some not-yet-invented time, render\\n        // at that time.\\n        markRootExpiredAtTime(root, expirationTime > Idle ? Idle : expirationTime); // We assume that this second render pass will be synchronous\\n        // and therefore not hit this path again.\\n\\n        break;\\n      }\\n\\n    case RootSuspended:\\n      {\\n        markRootSuspendedAtTime(root, expirationTime);\\n        var lastSuspendedTime = root.lastSuspendedTime;\\n\\n        if (expirationTime === lastSuspendedTime) {\\n          root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork);\\n        } // We have an acceptable loading state. We need to figure out if we\\n        // should immediately commit it or wait a bit.\\n        // If we have processed new updates during this render, we may now\\n        // have a new loading state ready. We want to ensure that we commit\\n        // that as soon as possible.\\n\\n\\n        var hasNotProcessedNewUpdates = workInProgressRootLatestProcessedExpirationTime === Sync;\\n\\n        if (hasNotProcessedNewUpdates && // do not delay if we're inside an act() scope\\n        !( IsThisRendererActing.current)) {\\n          // If we have not processed any new updates during this pass, then\\n          // this is either a retry of an existing fallback state or a\\n          // hidden tree. Hidden trees shouldn't be batched with other work\\n          // and after that's fixed it can only be a retry. We're going to\\n          // throttle committing retries so that we don't show too many\\n          // loading states too quickly.\\n          var msUntilTimeout = globalMostRecentFallbackTime + FALLBACK_THROTTLE_MS - now(); // Don't bother with a very short suspense time.\\n\\n          if (msUntilTimeout > 10) {\\n            if (workInProgressRootHasPendingPing) {\\n              var lastPingedTime = root.lastPingedTime;\\n\\n              if (lastPingedTime === NoWork || lastPingedTime >= expirationTime) {\\n                // This render was pinged but we didn't get to restart\\n                // earlier so try restarting now instead.\\n                root.lastPingedTime = expirationTime;\\n                prepareFreshStack(root, expirationTime);\\n                break;\\n              }\\n            }\\n\\n            var nextTime = getNextRootExpirationTimeToWorkOn(root);\\n\\n            if (nextTime !== NoWork && nextTime !== expirationTime) {\\n              // There's additional work on this root.\\n              break;\\n            }\\n\\n            if (lastSuspendedTime !== NoWork && lastSuspendedTime !== expirationTime) {\\n              // We should prefer to render the fallback of at the last\\n              // suspended level. Ping the last suspended level to try\\n              // rendering it again.\\n              root.lastPingedTime = lastSuspendedTime;\\n              break;\\n            } // The render is suspended, it hasn't timed out, and there's no\\n            // lower priority work to do. Instead of committing the fallback\\n            // immediately, wait for more data to arrive.\\n\\n\\n            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), msUntilTimeout);\\n            break;\\n          }\\n        } // The work expired. Commit immediately.\\n\\n\\n        commitRoot(root);\\n        break;\\n      }\\n\\n    case RootSuspendedWithDelay:\\n      {\\n        markRootSuspendedAtTime(root, expirationTime);\\n        var _lastSuspendedTime = root.lastSuspendedTime;\\n\\n        if (expirationTime === _lastSuspendedTime) {\\n          root.nextKnownPendingLevel = getRemainingExpirationTime(finishedWork);\\n        }\\n\\n        if ( // do not delay if we're inside an act() scope\\n        !( IsThisRendererActing.current)) {\\n          // We're suspended in a state that should be avoided. We'll try to\\n          // avoid committing it for as long as the timeouts let us.\\n          if (workInProgressRootHasPendingPing) {\\n            var _lastPingedTime = root.lastPingedTime;\\n\\n            if (_lastPingedTime === NoWork || _lastPingedTime >= expirationTime) {\\n              // This render was pinged but we didn't get to restart earlier\\n              // so try restarting now instead.\\n              root.lastPingedTime = expirationTime;\\n              prepareFreshStack(root, expirationTime);\\n              break;\\n            }\\n          }\\n\\n          var _nextTime = getNextRootExpirationTimeToWorkOn(root);\\n\\n          if (_nextTime !== NoWork && _nextTime !== expirationTime) {\\n            // There's additional work on this root.\\n            break;\\n          }\\n\\n          if (_lastSuspendedTime !== NoWork && _lastSuspendedTime !== expirationTime) {\\n            // We should prefer to render the fallback of at the last\\n            // suspended level. Ping the last suspended level to try\\n            // rendering it again.\\n            root.lastPingedTime = _lastSuspendedTime;\\n            break;\\n          }\\n\\n          var _msUntilTimeout;\\n\\n          if (workInProgressRootLatestSuspenseTimeout !== Sync) {\\n            // We have processed a suspense config whose expiration time we\\n            // can use as the timeout.\\n            _msUntilTimeout = expirationTimeToMs(workInProgressRootLatestSuspenseTimeout) - now();\\n          } else if (workInProgressRootLatestProcessedExpirationTime === Sync) {\\n            // This should never normally happen because only new updates\\n            // cause delayed states, so we should have processed something.\\n            // However, this could also happen in an offscreen tree.\\n            _msUntilTimeout = 0;\\n          } else {\\n            // If we don't have a suspense config, we're going to use a\\n            // heuristic to determine how long we can suspend.\\n            var eventTimeMs = inferTimeFromExpirationTime(workInProgressRootLatestProcessedExpirationTime);\\n            var currentTimeMs = now();\\n            var timeUntilExpirationMs = expirationTimeToMs(expirationTime) - currentTimeMs;\\n            var timeElapsed = currentTimeMs - eventTimeMs;\\n\\n            if (timeElapsed < 0) {\\n              // We get this wrong some time since we estimate the time.\\n              timeElapsed = 0;\\n            }\\n\\n            _msUntilTimeout = jnd(timeElapsed) - timeElapsed; // Clamp the timeout to the expiration time. TODO: Once the\\n            // event time is exact instead of inferred from expiration time\\n            // we don't need this.\\n\\n            if (timeUntilExpirationMs < _msUntilTimeout) {\\n              _msUntilTimeout = timeUntilExpirationMs;\\n            }\\n          } // Don't bother with a very short suspense time.\\n\\n\\n          if (_msUntilTimeout > 10) {\\n            // The render is suspended, it hasn't timed out, and there's no\\n            // lower priority work to do. Instead of committing the fallback\\n            // immediately, wait for more data to arrive.\\n            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout);\\n            break;\\n          }\\n        } // The work expired. Commit immediately.\\n\\n\\n        commitRoot(root);\\n        break;\\n      }\\n\\n    case RootCompleted:\\n      {\\n        // The work completed. Ready to commit.\\n        if ( // do not delay if we're inside an act() scope\\n        !( IsThisRendererActing.current) && workInProgressRootLatestProcessedExpirationTime !== Sync && workInProgressRootCanSuspendUsingConfig !== null) {\\n          // If we have exceeded the minimum loading delay, which probably\\n          // means we have shown a spinner already, we might have to suspend\\n          // a bit longer to ensure that the spinner is shown for\\n          // enough time.\\n          var _msUntilTimeout2 = computeMsUntilSuspenseLoadingDelay(workInProgressRootLatestProcessedExpirationTime, expirationTime, workInProgressRootCanSuspendUsingConfig);\\n\\n          if (_msUntilTimeout2 > 10) {\\n            markRootSuspendedAtTime(root, expirationTime);\\n            root.timeoutHandle = scheduleTimeout(commitRoot.bind(null, root), _msUntilTimeout2);\\n            break;\\n          }\\n        }\\n\\n        commitRoot(root);\\n        break;\\n      }\\n\\n    default:\\n      {\\n        {\\n          {\\n            throw Error( \\\"Unknown root exit status.\\\" );\\n          }\\n        }\\n      }\\n  }\\n} // This is the entry point for synchronous tasks that don't go\\n// through Scheduler\\n\\n\\nfunction performSyncWorkOnRoot(root) {\\n  // Check if there's expired work on this root. Otherwise, render at Sync.\\n  var lastExpiredTime = root.lastExpiredTime;\\n  var expirationTime = lastExpiredTime !== NoWork ? lastExpiredTime : Sync;\\n\\n  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {\\n    {\\n      throw Error( \\\"Should not already be working.\\\" );\\n    }\\n  }\\n\\n  flushPassiveEffects(); // If the root or expiration time have changed, throw out the existing stack\\n  // and prepare a fresh one. Otherwise we'll continue where we left off.\\n\\n  if (root !== workInProgressRoot || expirationTime !== renderExpirationTime$1) {\\n    prepareFreshStack(root, expirationTime);\\n    startWorkOnPendingInteractions(root, expirationTime);\\n  } // If we have a work-in-progress fiber, it means there's still work to do\\n  // in this root.\\n\\n\\n  if (workInProgress !== null) {\\n    var prevExecutionContext = executionContext;\\n    executionContext |= RenderContext;\\n    var prevDispatcher = pushDispatcher();\\n    var prevInteractions = pushInteractions(root);\\n    startWorkLoopTimer(workInProgress);\\n\\n    do {\\n      try {\\n        workLoopSync();\\n        break;\\n      } catch (thrownValue) {\\n        handleError(root, thrownValue);\\n      }\\n    } while (true);\\n\\n    resetContextDependencies();\\n    executionContext = prevExecutionContext;\\n    popDispatcher(prevDispatcher);\\n\\n    {\\n      popInteractions(prevInteractions);\\n    }\\n\\n    if (workInProgressRootExitStatus === RootFatalErrored) {\\n      var fatalError = workInProgressRootFatalError;\\n      stopInterruptedWorkLoopTimer();\\n      prepareFreshStack(root, expirationTime);\\n      markRootSuspendedAtTime(root, expirationTime);\\n      ensureRootIsScheduled(root);\\n      throw fatalError;\\n    }\\n\\n    if (workInProgress !== null) {\\n      // This is a sync render, so we should have finished the whole tree.\\n      {\\n        {\\n          throw Error( \\\"Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n        }\\n      }\\n    } else {\\n      // We now have a consistent tree. Because this is a sync render, we\\n      // will commit it even if something suspended.\\n      stopFinishedWorkLoopTimer();\\n      root.finishedWork = root.current.alternate;\\n      root.finishedExpirationTime = expirationTime;\\n      finishSyncRender(root);\\n    } // Before exiting, make sure there's a callback scheduled for the next\\n    // pending level.\\n\\n\\n    ensureRootIsScheduled(root);\\n  }\\n\\n  return null;\\n}\\n\\nfunction finishSyncRender(root) {\\n  // Set this to null to indicate there's no in-progress render.\\n  workInProgressRoot = null;\\n  commitRoot(root);\\n}\\nfunction flushDiscreteUpdates() {\\n  // TODO: Should be able to flush inside batchedUpdates, but not inside `act`.\\n  // However, `act` uses `batchedUpdates`, so there's no way to distinguish\\n  // those two cases. Need to fix this before exposing flushDiscreteUpdates\\n  // as a public API.\\n  if ((executionContext & (BatchedContext | RenderContext | CommitContext)) !== NoContext) {\\n    {\\n      if ((executionContext & RenderContext) !== NoContext) {\\n        error('unstable_flushDiscreteUpdates: Cannot flush updates when React is ' + 'already rendering.');\\n      }\\n    } // We're already rendering, so we can't synchronously flush pending work.\\n    // This is probably a nested event dispatch triggered by a lifecycle/effect,\\n    // like `el.focus()`. Exit.\\n\\n\\n    return;\\n  }\\n\\n  flushPendingDiscreteUpdates(); // If the discrete updates scheduled passive effects, flush them now so that\\n  // they fire before the next serial event.\\n\\n  flushPassiveEffects();\\n}\\nfunction syncUpdates(fn, a, b, c) {\\n  return runWithPriority$1(ImmediatePriority, fn.bind(null, a, b, c));\\n}\\n\\nfunction flushPendingDiscreteUpdates() {\\n  if (rootsWithPendingDiscreteUpdates !== null) {\\n    // For each root with pending discrete updates, schedule a callback to\\n    // immediately flush them.\\n    var roots = rootsWithPendingDiscreteUpdates;\\n    rootsWithPendingDiscreteUpdates = null;\\n    roots.forEach(function (expirationTime, root) {\\n      markRootExpiredAtTime(root, expirationTime);\\n      ensureRootIsScheduled(root);\\n    }); // Now flush the immediate queue.\\n\\n    flushSyncCallbackQueue();\\n  }\\n}\\n\\nfunction batchedUpdates$1(fn, a) {\\n  var prevExecutionContext = executionContext;\\n  executionContext |= BatchedContext;\\n\\n  try {\\n    return fn(a);\\n  } finally {\\n    executionContext = prevExecutionContext;\\n\\n    if (executionContext === NoContext) {\\n      // Flush the immediate callbacks that were scheduled during this batch\\n      flushSyncCallbackQueue();\\n    }\\n  }\\n}\\nfunction batchedEventUpdates$1(fn, a) {\\n  var prevExecutionContext = executionContext;\\n  executionContext |= EventContext;\\n\\n  try {\\n    return fn(a);\\n  } finally {\\n    executionContext = prevExecutionContext;\\n\\n    if (executionContext === NoContext) {\\n      // Flush the immediate callbacks that were scheduled during this batch\\n      flushSyncCallbackQueue();\\n    }\\n  }\\n}\\nfunction discreteUpdates$1(fn, a, b, c, d) {\\n  var prevExecutionContext = executionContext;\\n  executionContext |= DiscreteEventContext;\\n\\n  try {\\n    // Should this\\n    return runWithPriority$1(UserBlockingPriority$1, fn.bind(null, a, b, c, d));\\n  } finally {\\n    executionContext = prevExecutionContext;\\n\\n    if (executionContext === NoContext) {\\n      // Flush the immediate callbacks that were scheduled during this batch\\n      flushSyncCallbackQueue();\\n    }\\n  }\\n}\\nfunction unbatchedUpdates(fn, a) {\\n  var prevExecutionContext = executionContext;\\n  executionContext &= ~BatchedContext;\\n  executionContext |= LegacyUnbatchedContext;\\n\\n  try {\\n    return fn(a);\\n  } finally {\\n    executionContext = prevExecutionContext;\\n\\n    if (executionContext === NoContext) {\\n      // Flush the immediate callbacks that were scheduled during this batch\\n      flushSyncCallbackQueue();\\n    }\\n  }\\n}\\nfunction flushSync(fn, a) {\\n  if ((executionContext & (RenderContext | CommitContext)) !== NoContext) {\\n    {\\n      {\\n        throw Error( \\\"flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.\\\" );\\n      }\\n    }\\n  }\\n\\n  var prevExecutionContext = executionContext;\\n  executionContext |= BatchedContext;\\n\\n  try {\\n    return runWithPriority$1(ImmediatePriority, fn.bind(null, a));\\n  } finally {\\n    executionContext = prevExecutionContext; // Flush the immediate callbacks that were scheduled during this batch.\\n    // Note that this will happen even if batchedUpdates is higher up\\n    // the stack.\\n\\n    flushSyncCallbackQueue();\\n  }\\n}\\n\\nfunction prepareFreshStack(root, expirationTime) {\\n  root.finishedWork = null;\\n  root.finishedExpirationTime = NoWork;\\n  var timeoutHandle = root.timeoutHandle;\\n\\n  if (timeoutHandle !== noTimeout) {\\n    // The root previous suspended and scheduled a timeout to commit a fallback\\n    // state. Now that we have additional work, cancel the timeout.\\n    root.timeoutHandle = noTimeout; // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above\\n\\n    cancelTimeout(timeoutHandle);\\n  }\\n\\n  if (workInProgress !== null) {\\n    var interruptedWork = workInProgress.return;\\n\\n    while (interruptedWork !== null) {\\n      unwindInterruptedWork(interruptedWork);\\n      interruptedWork = interruptedWork.return;\\n    }\\n  }\\n\\n  workInProgressRoot = root;\\n  workInProgress = createWorkInProgress(root.current, null);\\n  renderExpirationTime$1 = expirationTime;\\n  workInProgressRootExitStatus = RootIncomplete;\\n  workInProgressRootFatalError = null;\\n  workInProgressRootLatestProcessedExpirationTime = Sync;\\n  workInProgressRootLatestSuspenseTimeout = Sync;\\n  workInProgressRootCanSuspendUsingConfig = null;\\n  workInProgressRootNextUnprocessedUpdateTime = NoWork;\\n  workInProgressRootHasPendingPing = false;\\n\\n  {\\n    spawnedWorkDuringRender = null;\\n  }\\n\\n  {\\n    ReactStrictModeWarnings.discardPendingWarnings();\\n  }\\n}\\n\\nfunction handleError(root, thrownValue) {\\n  do {\\n    try {\\n      // Reset module-level state that was set during the render phase.\\n      resetContextDependencies();\\n      resetHooksAfterThrow();\\n      resetCurrentFiber();\\n\\n      if (workInProgress === null || workInProgress.return === null) {\\n        // Expected to be working on a non-root fiber. This is a fatal error\\n        // because there's no ancestor that can handle it; the root is\\n        // supposed to capture all errors that weren't caught by an error\\n        // boundary.\\n        workInProgressRootExitStatus = RootFatalErrored;\\n        workInProgressRootFatalError = thrownValue; // Set `workInProgress` to null. This represents advancing to the next\\n        // sibling, or the parent if there are no siblings. But since the root\\n        // has no siblings nor a parent, we set it to null. Usually this is\\n        // handled by `completeUnitOfWork` or `unwindWork`, but since we're\\n        // interntionally not calling those, we need set it here.\\n        // TODO: Consider calling `unwindWork` to pop the contexts.\\n\\n        workInProgress = null;\\n        return null;\\n      }\\n\\n      if (enableProfilerTimer && workInProgress.mode & ProfileMode) {\\n        // Record the time spent rendering before an error was thrown. This\\n        // avoids inaccurate Profiler durations in the case of a\\n        // suspended render.\\n        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, true);\\n      }\\n\\n      throwException(root, workInProgress.return, workInProgress, thrownValue, renderExpirationTime$1);\\n      workInProgress = completeUnitOfWork(workInProgress);\\n    } catch (yetAnotherThrownValue) {\\n      // Something in the return path also threw.\\n      thrownValue = yetAnotherThrownValue;\\n      continue;\\n    } // Return to the normal work loop.\\n\\n\\n    return;\\n  } while (true);\\n}\\n\\nfunction pushDispatcher(root) {\\n  var prevDispatcher = ReactCurrentDispatcher$1.current;\\n  ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;\\n\\n  if (prevDispatcher === null) {\\n    // The React isomorphic package does not include a default dispatcher.\\n    // Instead the first renderer will lazily attach one, in order to give\\n    // nicer error messages.\\n    return ContextOnlyDispatcher;\\n  } else {\\n    return prevDispatcher;\\n  }\\n}\\n\\nfunction popDispatcher(prevDispatcher) {\\n  ReactCurrentDispatcher$1.current = prevDispatcher;\\n}\\n\\nfunction pushInteractions(root) {\\n  {\\n    var prevInteractions = tracing.__interactionsRef.current;\\n    tracing.__interactionsRef.current = root.memoizedInteractions;\\n    return prevInteractions;\\n  }\\n}\\n\\nfunction popInteractions(prevInteractions) {\\n  {\\n    tracing.__interactionsRef.current = prevInteractions;\\n  }\\n}\\n\\nfunction markCommitTimeOfFallback() {\\n  globalMostRecentFallbackTime = now();\\n}\\nfunction markRenderEventTimeAndConfig(expirationTime, suspenseConfig) {\\n  if (expirationTime < workInProgressRootLatestProcessedExpirationTime && expirationTime > Idle) {\\n    workInProgressRootLatestProcessedExpirationTime = expirationTime;\\n  }\\n\\n  if (suspenseConfig !== null) {\\n    if (expirationTime < workInProgressRootLatestSuspenseTimeout && expirationTime > Idle) {\\n      workInProgressRootLatestSuspenseTimeout = expirationTime; // Most of the time we only have one config and getting wrong is not bad.\\n\\n      workInProgressRootCanSuspendUsingConfig = suspenseConfig;\\n    }\\n  }\\n}\\nfunction markUnprocessedUpdateTime(expirationTime) {\\n  if (expirationTime > workInProgressRootNextUnprocessedUpdateTime) {\\n    workInProgressRootNextUnprocessedUpdateTime = expirationTime;\\n  }\\n}\\nfunction renderDidSuspend() {\\n  if (workInProgressRootExitStatus === RootIncomplete) {\\n    workInProgressRootExitStatus = RootSuspended;\\n  }\\n}\\nfunction renderDidSuspendDelayIfPossible() {\\n  if (workInProgressRootExitStatus === RootIncomplete || workInProgressRootExitStatus === RootSuspended) {\\n    workInProgressRootExitStatus = RootSuspendedWithDelay;\\n  } // Check if there's a lower priority update somewhere else in the tree.\\n\\n\\n  if (workInProgressRootNextUnprocessedUpdateTime !== NoWork && workInProgressRoot !== null) {\\n    // Mark the current render as suspended, and then mark that there's a\\n    // pending update.\\n    // TODO: This should immediately interrupt the current render, instead\\n    // of waiting until the next time we yield.\\n    markRootSuspendedAtTime(workInProgressRoot, renderExpirationTime$1);\\n    markRootUpdatedAtTime(workInProgressRoot, workInProgressRootNextUnprocessedUpdateTime);\\n  }\\n}\\nfunction renderDidError() {\\n  if (workInProgressRootExitStatus !== RootCompleted) {\\n    workInProgressRootExitStatus = RootErrored;\\n  }\\n} // Called during render to determine if anything has suspended.\\n// Returns false if we're not sure.\\n\\nfunction renderHasNotSuspendedYet() {\\n  // If something errored or completed, we can't really be sure,\\n  // so those are false.\\n  return workInProgressRootExitStatus === RootIncomplete;\\n}\\n\\nfunction inferTimeFromExpirationTime(expirationTime) {\\n  // We don't know exactly when the update was scheduled, but we can infer an\\n  // approximate start time from the expiration time.\\n  var earliestExpirationTimeMs = expirationTimeToMs(expirationTime);\\n  return earliestExpirationTimeMs - LOW_PRIORITY_EXPIRATION;\\n}\\n\\nfunction inferTimeFromExpirationTimeWithSuspenseConfig(expirationTime, suspenseConfig) {\\n  // We don't know exactly when the update was scheduled, but we can infer an\\n  // approximate start time from the expiration time by subtracting the timeout\\n  // that was added to the event time.\\n  var earliestExpirationTimeMs = expirationTimeToMs(expirationTime);\\n  return earliestExpirationTimeMs - (suspenseConfig.timeoutMs | 0 || LOW_PRIORITY_EXPIRATION);\\n} // The work loop is an extremely hot path. Tell Closure not to inline it.\\n\\n/** @noinline */\\n\\n\\nfunction workLoopSync() {\\n  // Already timed out, so perform work without checking if we need to yield.\\n  while (workInProgress !== null) {\\n    workInProgress = performUnitOfWork(workInProgress);\\n  }\\n}\\n/** @noinline */\\n\\n\\nfunction workLoopConcurrent() {\\n  // Perform work until Scheduler asks us to yield\\n  while (workInProgress !== null && !shouldYield()) {\\n    workInProgress = performUnitOfWork(workInProgress);\\n  }\\n}\\n\\nfunction performUnitOfWork(unitOfWork) {\\n  // The current, flushed, state of this fiber is the alternate. Ideally\\n  // nothing should rely on this, but relying on it here means that we don't\\n  // need an additional field on the work in progress.\\n  var current = unitOfWork.alternate;\\n  startWorkTimer(unitOfWork);\\n  setCurrentFiber(unitOfWork);\\n  var next;\\n\\n  if ( (unitOfWork.mode & ProfileMode) !== NoMode) {\\n    startProfilerTimer(unitOfWork);\\n    next = beginWork$1(current, unitOfWork, renderExpirationTime$1);\\n    stopProfilerTimerIfRunningAndRecordDelta(unitOfWork, true);\\n  } else {\\n    next = beginWork$1(current, unitOfWork, renderExpirationTime$1);\\n  }\\n\\n  resetCurrentFiber();\\n  unitOfWork.memoizedProps = unitOfWork.pendingProps;\\n\\n  if (next === null) {\\n    // If this doesn't spawn new work, complete the current work.\\n    next = completeUnitOfWork(unitOfWork);\\n  }\\n\\n  ReactCurrentOwner$2.current = null;\\n  return next;\\n}\\n\\nfunction completeUnitOfWork(unitOfWork) {\\n  // Attempt to complete the current unit of work, then move to the next\\n  // sibling. If there are no more siblings, return to the parent fiber.\\n  workInProgress = unitOfWork;\\n\\n  do {\\n    // The current, flushed, state of this fiber is the alternate. Ideally\\n    // nothing should rely on this, but relying on it here means that we don't\\n    // need an additional field on the work in progress.\\n    var current = workInProgress.alternate;\\n    var returnFiber = workInProgress.return; // Check if the work completed or if something threw.\\n\\n    if ((workInProgress.effectTag & Incomplete) === NoEffect) {\\n      setCurrentFiber(workInProgress);\\n      var next = void 0;\\n\\n      if ( (workInProgress.mode & ProfileMode) === NoMode) {\\n        next = completeWork(current, workInProgress, renderExpirationTime$1);\\n      } else {\\n        startProfilerTimer(workInProgress);\\n        next = completeWork(current, workInProgress, renderExpirationTime$1); // Update render duration assuming we didn't error.\\n\\n        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false);\\n      }\\n\\n      stopWorkTimer(workInProgress);\\n      resetCurrentFiber();\\n      resetChildExpirationTime(workInProgress);\\n\\n      if (next !== null) {\\n        // Completing this fiber spawned new work. Work on that next.\\n        return next;\\n      }\\n\\n      if (returnFiber !== null && // Do not append effects to parents if a sibling failed to complete\\n      (returnFiber.effectTag & Incomplete) === NoEffect) {\\n        // Append all the effects of the subtree and this fiber onto the effect\\n        // list of the parent. The completion order of the children affects the\\n        // side-effect order.\\n        if (returnFiber.firstEffect === null) {\\n          returnFiber.firstEffect = workInProgress.firstEffect;\\n        }\\n\\n        if (workInProgress.lastEffect !== null) {\\n          if (returnFiber.lastEffect !== null) {\\n            returnFiber.lastEffect.nextEffect = workInProgress.firstEffect;\\n          }\\n\\n          returnFiber.lastEffect = workInProgress.lastEffect;\\n        } // If this fiber had side-effects, we append it AFTER the children's\\n        // side-effects. We can perform certain side-effects earlier if needed,\\n        // by doing multiple passes over the effect list. We don't want to\\n        // schedule our own side-effect on our own list because if end up\\n        // reusing children we'll schedule this effect onto itself since we're\\n        // at the end.\\n\\n\\n        var effectTag = workInProgress.effectTag; // Skip both NoWork and PerformedWork tags when creating the effect\\n        // list. PerformedWork effect is read by React DevTools but shouldn't be\\n        // committed.\\n\\n        if (effectTag > PerformedWork) {\\n          if (returnFiber.lastEffect !== null) {\\n            returnFiber.lastEffect.nextEffect = workInProgress;\\n          } else {\\n            returnFiber.firstEffect = workInProgress;\\n          }\\n\\n          returnFiber.lastEffect = workInProgress;\\n        }\\n      }\\n    } else {\\n      // This fiber did not complete because something threw. Pop values off\\n      // the stack without entering the complete phase. If this is a boundary,\\n      // capture values if possible.\\n      var _next = unwindWork(workInProgress); // Because this fiber did not complete, don't reset its expiration time.\\n\\n\\n      if ( (workInProgress.mode & ProfileMode) !== NoMode) {\\n        // Record the render duration for the fiber that errored.\\n        stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); // Include the time spent working on failed children before continuing.\\n\\n        var actualDuration = workInProgress.actualDuration;\\n        var child = workInProgress.child;\\n\\n        while (child !== null) {\\n          actualDuration += child.actualDuration;\\n          child = child.sibling;\\n        }\\n\\n        workInProgress.actualDuration = actualDuration;\\n      }\\n\\n      if (_next !== null) {\\n        // If completing this work spawned new work, do that next. We'll come\\n        // back here again.\\n        // Since we're restarting, remove anything that is not a host effect\\n        // from the effect tag.\\n        // TODO: The name stopFailedWorkTimer is misleading because Suspense\\n        // also captures and restarts.\\n        stopFailedWorkTimer(workInProgress);\\n        _next.effectTag &= HostEffectMask;\\n        return _next;\\n      }\\n\\n      stopWorkTimer(workInProgress);\\n\\n      if (returnFiber !== null) {\\n        // Mark the parent fiber as incomplete and clear its effect list.\\n        returnFiber.firstEffect = returnFiber.lastEffect = null;\\n        returnFiber.effectTag |= Incomplete;\\n      }\\n    }\\n\\n    var siblingFiber = workInProgress.sibling;\\n\\n    if (siblingFiber !== null) {\\n      // If there is more work to do in this returnFiber, do that next.\\n      return siblingFiber;\\n    } // Otherwise, return to the parent\\n\\n\\n    workInProgress = returnFiber;\\n  } while (workInProgress !== null); // We've reached the root.\\n\\n\\n  if (workInProgressRootExitStatus === RootIncomplete) {\\n    workInProgressRootExitStatus = RootCompleted;\\n  }\\n\\n  return null;\\n}\\n\\nfunction getRemainingExpirationTime(fiber) {\\n  var updateExpirationTime = fiber.expirationTime;\\n  var childExpirationTime = fiber.childExpirationTime;\\n  return updateExpirationTime > childExpirationTime ? updateExpirationTime : childExpirationTime;\\n}\\n\\nfunction resetChildExpirationTime(completedWork) {\\n  if (renderExpirationTime$1 !== Never && completedWork.childExpirationTime === Never) {\\n    // The children of this component are hidden. Don't bubble their\\n    // expiration times.\\n    return;\\n  }\\n\\n  var newChildExpirationTime = NoWork; // Bubble up the earliest expiration time.\\n\\n  if ( (completedWork.mode & ProfileMode) !== NoMode) {\\n    // In profiling mode, resetChildExpirationTime is also used to reset\\n    // profiler durations.\\n    var actualDuration = completedWork.actualDuration;\\n    var treeBaseDuration = completedWork.selfBaseDuration; // When a fiber is cloned, its actualDuration is reset to 0. This value will\\n    // only be updated if work is done on the fiber (i.e. it doesn't bailout).\\n    // When work is done, it should bubble to the parent's actualDuration. If\\n    // the fiber has not been cloned though, (meaning no work was done), then\\n    // this value will reflect the amount of time spent working on a previous\\n    // render. In that case it should not bubble. We determine whether it was\\n    // cloned by comparing the child pointer.\\n\\n    var shouldBubbleActualDurations = completedWork.alternate === null || completedWork.child !== completedWork.alternate.child;\\n    var child = completedWork.child;\\n\\n    while (child !== null) {\\n      var childUpdateExpirationTime = child.expirationTime;\\n      var childChildExpirationTime = child.childExpirationTime;\\n\\n      if (childUpdateExpirationTime > newChildExpirationTime) {\\n        newChildExpirationTime = childUpdateExpirationTime;\\n      }\\n\\n      if (childChildExpirationTime > newChildExpirationTime) {\\n        newChildExpirationTime = childChildExpirationTime;\\n      }\\n\\n      if (shouldBubbleActualDurations) {\\n        actualDuration += child.actualDuration;\\n      }\\n\\n      treeBaseDuration += child.treeBaseDuration;\\n      child = child.sibling;\\n    }\\n\\n    completedWork.actualDuration = actualDuration;\\n    completedWork.treeBaseDuration = treeBaseDuration;\\n  } else {\\n    var _child = completedWork.child;\\n\\n    while (_child !== null) {\\n      var _childUpdateExpirationTime = _child.expirationTime;\\n      var _childChildExpirationTime = _child.childExpirationTime;\\n\\n      if (_childUpdateExpirationTime > newChildExpirationTime) {\\n        newChildExpirationTime = _childUpdateExpirationTime;\\n      }\\n\\n      if (_childChildExpirationTime > newChildExpirationTime) {\\n        newChildExpirationTime = _childChildExpirationTime;\\n      }\\n\\n      _child = _child.sibling;\\n    }\\n  }\\n\\n  completedWork.childExpirationTime = newChildExpirationTime;\\n}\\n\\nfunction commitRoot(root) {\\n  var renderPriorityLevel = getCurrentPriorityLevel();\\n  runWithPriority$1(ImmediatePriority, commitRootImpl.bind(null, root, renderPriorityLevel));\\n  return null;\\n}\\n\\nfunction commitRootImpl(root, renderPriorityLevel) {\\n  do {\\n    // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which\\n    // means `flushPassiveEffects` will sometimes result in additional\\n    // passive effects. So we need to keep flushing in a loop until there are\\n    // no more pending effects.\\n    // TODO: Might be better if `flushPassiveEffects` did not automatically\\n    // flush synchronous work at the end, to avoid factoring hazards like this.\\n    flushPassiveEffects();\\n  } while (rootWithPendingPassiveEffects !== null);\\n\\n  flushRenderPhaseStrictModeWarningsInDEV();\\n\\n  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {\\n    {\\n      throw Error( \\\"Should not already be working.\\\" );\\n    }\\n  }\\n\\n  var finishedWork = root.finishedWork;\\n  var expirationTime = root.finishedExpirationTime;\\n\\n  if (finishedWork === null) {\\n    return null;\\n  }\\n\\n  root.finishedWork = null;\\n  root.finishedExpirationTime = NoWork;\\n\\n  if (!(finishedWork !== root.current)) {\\n    {\\n      throw Error( \\\"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\\\" );\\n    }\\n  } // commitRoot never returns a continuation; it always finishes synchronously.\\n  // So we can clear these now to allow a new callback to be scheduled.\\n\\n\\n  root.callbackNode = null;\\n  root.callbackExpirationTime = NoWork;\\n  root.callbackPriority = NoPriority;\\n  root.nextKnownPendingLevel = NoWork;\\n  startCommitTimer(); // Update the first and last pending times on this root. The new first\\n  // pending time is whatever is left on the root fiber.\\n\\n  var remainingExpirationTimeBeforeCommit = getRemainingExpirationTime(finishedWork);\\n  markRootFinishedAtTime(root, expirationTime, remainingExpirationTimeBeforeCommit);\\n\\n  if (root === workInProgressRoot) {\\n    // We can reset these now that they are finished.\\n    workInProgressRoot = null;\\n    workInProgress = null;\\n    renderExpirationTime$1 = NoWork;\\n  } // This indicates that the last root we worked on is not the same one that\\n  // we're committing now. This most commonly happens when a suspended root\\n  // times out.\\n  // Get the list of effects.\\n\\n\\n  var firstEffect;\\n\\n  if (finishedWork.effectTag > PerformedWork) {\\n    // A fiber's effect list consists only of its children, not itself. So if\\n    // the root has an effect, we need to add it to the end of the list. The\\n    // resulting list is the set that would belong to the root's parent, if it\\n    // had one; that is, all the effects in the tree including the root.\\n    if (finishedWork.lastEffect !== null) {\\n      finishedWork.lastEffect.nextEffect = finishedWork;\\n      firstEffect = finishedWork.firstEffect;\\n    } else {\\n      firstEffect = finishedWork;\\n    }\\n  } else {\\n    // There is no effect on the root.\\n    firstEffect = finishedWork.firstEffect;\\n  }\\n\\n  if (firstEffect !== null) {\\n    var prevExecutionContext = executionContext;\\n    executionContext |= CommitContext;\\n    var prevInteractions = pushInteractions(root); // Reset this to null before calling lifecycles\\n\\n    ReactCurrentOwner$2.current = null; // The commit phase is broken into several sub-phases. We do a separate pass\\n    // of the effect list for each phase: all mutation effects come before all\\n    // layout effects, and so on.\\n    // The first phase a \\\"before mutation\\\" phase. We use this phase to read the\\n    // state of the host tree right before we mutate it. This is where\\n    // getSnapshotBeforeUpdate is called.\\n\\n    startCommitSnapshotEffectsTimer();\\n    prepareForCommit(root.containerInfo);\\n    nextEffect = firstEffect;\\n\\n    do {\\n      {\\n        invokeGuardedCallback(null, commitBeforeMutationEffects, null);\\n\\n        if (hasCaughtError()) {\\n          if (!(nextEffect !== null)) {\\n            {\\n              throw Error( \\\"Should be working on an effect.\\\" );\\n            }\\n          }\\n\\n          var error = clearCaughtError();\\n          captureCommitPhaseError(nextEffect, error);\\n          nextEffect = nextEffect.nextEffect;\\n        }\\n      }\\n    } while (nextEffect !== null);\\n\\n    stopCommitSnapshotEffectsTimer();\\n\\n    {\\n      // Mark the current commit time to be shared by all Profilers in this\\n      // batch. This enables them to be grouped later.\\n      recordCommitTime();\\n    } // The next phase is the mutation phase, where we mutate the host tree.\\n\\n\\n    startCommitHostEffectsTimer();\\n    nextEffect = firstEffect;\\n\\n    do {\\n      {\\n        invokeGuardedCallback(null, commitMutationEffects, null, root, renderPriorityLevel);\\n\\n        if (hasCaughtError()) {\\n          if (!(nextEffect !== null)) {\\n            {\\n              throw Error( \\\"Should be working on an effect.\\\" );\\n            }\\n          }\\n\\n          var _error = clearCaughtError();\\n\\n          captureCommitPhaseError(nextEffect, _error);\\n          nextEffect = nextEffect.nextEffect;\\n        }\\n      }\\n    } while (nextEffect !== null);\\n\\n    stopCommitHostEffectsTimer();\\n    resetAfterCommit(root.containerInfo); // The work-in-progress tree is now the current tree. This must come after\\n    // the mutation phase, so that the previous tree is still current during\\n    // componentWillUnmount, but before the layout phase, so that the finished\\n    // work is current during componentDidMount/Update.\\n\\n    root.current = finishedWork; // The next phase is the layout phase, where we call effects that read\\n    // the host tree after it's been mutated. The idiomatic use case for this is\\n    // layout, but class component lifecycles also fire here for legacy reasons.\\n\\n    startCommitLifeCyclesTimer();\\n    nextEffect = firstEffect;\\n\\n    do {\\n      {\\n        invokeGuardedCallback(null, commitLayoutEffects, null, root, expirationTime);\\n\\n        if (hasCaughtError()) {\\n          if (!(nextEffect !== null)) {\\n            {\\n              throw Error( \\\"Should be working on an effect.\\\" );\\n            }\\n          }\\n\\n          var _error2 = clearCaughtError();\\n\\n          captureCommitPhaseError(nextEffect, _error2);\\n          nextEffect = nextEffect.nextEffect;\\n        }\\n      }\\n    } while (nextEffect !== null);\\n\\n    stopCommitLifeCyclesTimer();\\n    nextEffect = null; // Tell Scheduler to yield at the end of the frame, so the browser has an\\n    // opportunity to paint.\\n\\n    requestPaint();\\n\\n    {\\n      popInteractions(prevInteractions);\\n    }\\n\\n    executionContext = prevExecutionContext;\\n  } else {\\n    // No effects.\\n    root.current = finishedWork; // Measure these anyway so the flamegraph explicitly shows that there were\\n    // no effects.\\n    // TODO: Maybe there's a better way to report this.\\n\\n    startCommitSnapshotEffectsTimer();\\n    stopCommitSnapshotEffectsTimer();\\n\\n    {\\n      recordCommitTime();\\n    }\\n\\n    startCommitHostEffectsTimer();\\n    stopCommitHostEffectsTimer();\\n    startCommitLifeCyclesTimer();\\n    stopCommitLifeCyclesTimer();\\n  }\\n\\n  stopCommitTimer();\\n  var rootDidHavePassiveEffects = rootDoesHavePassiveEffects;\\n\\n  if (rootDoesHavePassiveEffects) {\\n    // This commit has passive effects. Stash a reference to them. But don't\\n    // schedule a callback until after flushing layout work.\\n    rootDoesHavePassiveEffects = false;\\n    rootWithPendingPassiveEffects = root;\\n    pendingPassiveEffectsExpirationTime = expirationTime;\\n    pendingPassiveEffectsRenderPriority = renderPriorityLevel;\\n  } else {\\n    // We are done with the effect chain at this point so let's clear the\\n    // nextEffect pointers to assist with GC. If we have passive effects, we'll\\n    // clear this in flushPassiveEffects.\\n    nextEffect = firstEffect;\\n\\n    while (nextEffect !== null) {\\n      var nextNextEffect = nextEffect.nextEffect;\\n      nextEffect.nextEffect = null;\\n      nextEffect = nextNextEffect;\\n    }\\n  } // Check if there's remaining work on this root\\n\\n\\n  var remainingExpirationTime = root.firstPendingTime;\\n\\n  if (remainingExpirationTime !== NoWork) {\\n    {\\n      if (spawnedWorkDuringRender !== null) {\\n        var expirationTimes = spawnedWorkDuringRender;\\n        spawnedWorkDuringRender = null;\\n\\n        for (var i = 0; i < expirationTimes.length; i++) {\\n          scheduleInteractions(root, expirationTimes[i], root.memoizedInteractions);\\n        }\\n      }\\n\\n      schedulePendingInteractions(root, remainingExpirationTime);\\n    }\\n  } else {\\n    // If there's no remaining work, we can clear the set of already failed\\n    // error boundaries.\\n    legacyErrorBoundariesThatAlreadyFailed = null;\\n  }\\n\\n  {\\n    if (!rootDidHavePassiveEffects) {\\n      // If there are no passive effects, then we can complete the pending interactions.\\n      // Otherwise, we'll wait until after the passive effects are flushed.\\n      // Wait to do this until after remaining work has been scheduled,\\n      // so that we don't prematurely signal complete for interactions when there's e.g. hidden work.\\n      finishPendingInteractions(root, expirationTime);\\n    }\\n  }\\n\\n  if (remainingExpirationTime === Sync) {\\n    // Count the number of times the root synchronously re-renders without\\n    // finishing. If there are too many, it indicates an infinite update loop.\\n    if (root === rootWithNestedUpdates) {\\n      nestedUpdateCount++;\\n    } else {\\n      nestedUpdateCount = 0;\\n      rootWithNestedUpdates = root;\\n    }\\n  } else {\\n    nestedUpdateCount = 0;\\n  }\\n\\n  onCommitRoot(finishedWork.stateNode, expirationTime); // Always call this before exiting `commitRoot`, to ensure that any\\n  // additional work on this root is scheduled.\\n\\n  ensureRootIsScheduled(root);\\n\\n  if (hasUncaughtError) {\\n    hasUncaughtError = false;\\n    var _error3 = firstUncaughtError;\\n    firstUncaughtError = null;\\n    throw _error3;\\n  }\\n\\n  if ((executionContext & LegacyUnbatchedContext) !== NoContext) {\\n    // This is a legacy edge case. We just committed the initial mount of\\n    // a ReactDOM.render-ed root inside of batchedUpdates. The commit fired\\n    // synchronously, but layout updates should be deferred until the end\\n    // of the batch.\\n    return null;\\n  } // If layout work was scheduled, flush it now.\\n\\n\\n  flushSyncCallbackQueue();\\n  return null;\\n}\\n\\nfunction commitBeforeMutationEffects() {\\n  while (nextEffect !== null) {\\n    var effectTag = nextEffect.effectTag;\\n\\n    if ((effectTag & Snapshot) !== NoEffect) {\\n      setCurrentFiber(nextEffect);\\n      recordEffect();\\n      var current = nextEffect.alternate;\\n      commitBeforeMutationLifeCycles(current, nextEffect);\\n      resetCurrentFiber();\\n    }\\n\\n    if ((effectTag & Passive) !== NoEffect) {\\n      // If there are passive effects, schedule a callback to flush at\\n      // the earliest opportunity.\\n      if (!rootDoesHavePassiveEffects) {\\n        rootDoesHavePassiveEffects = true;\\n        scheduleCallback(NormalPriority, function () {\\n          flushPassiveEffects();\\n          return null;\\n        });\\n      }\\n    }\\n\\n    nextEffect = nextEffect.nextEffect;\\n  }\\n}\\n\\nfunction commitMutationEffects(root, renderPriorityLevel) {\\n  // TODO: Should probably move the bulk of this function to commitWork.\\n  while (nextEffect !== null) {\\n    setCurrentFiber(nextEffect);\\n    var effectTag = nextEffect.effectTag;\\n\\n    if (effectTag & ContentReset) {\\n      commitResetTextContent(nextEffect);\\n    }\\n\\n    if (effectTag & Ref) {\\n      var current = nextEffect.alternate;\\n\\n      if (current !== null) {\\n        commitDetachRef(current);\\n      }\\n    } // The following switch statement is only concerned about placement,\\n    // updates, and deletions. To avoid needing to add a case for every possible\\n    // bitmap value, we remove the secondary effects from the effect tag and\\n    // switch on that value.\\n\\n\\n    var primaryEffectTag = effectTag & (Placement | Update | Deletion | Hydrating);\\n\\n    switch (primaryEffectTag) {\\n      case Placement:\\n        {\\n          commitPlacement(nextEffect); // Clear the \\\"placement\\\" from effect tag so that we know that this is\\n          // inserted, before any life-cycles like componentDidMount gets called.\\n          // TODO: findDOMNode doesn't rely on this any more but isMounted does\\n          // and isMounted is deprecated anyway so we should be able to kill this.\\n\\n          nextEffect.effectTag &= ~Placement;\\n          break;\\n        }\\n\\n      case PlacementAndUpdate:\\n        {\\n          // Placement\\n          commitPlacement(nextEffect); // Clear the \\\"placement\\\" from effect tag so that we know that this is\\n          // inserted, before any life-cycles like componentDidMount gets called.\\n\\n          nextEffect.effectTag &= ~Placement; // Update\\n\\n          var _current = nextEffect.alternate;\\n          commitWork(_current, nextEffect);\\n          break;\\n        }\\n\\n      case Hydrating:\\n        {\\n          nextEffect.effectTag &= ~Hydrating;\\n          break;\\n        }\\n\\n      case HydratingAndUpdate:\\n        {\\n          nextEffect.effectTag &= ~Hydrating; // Update\\n\\n          var _current2 = nextEffect.alternate;\\n          commitWork(_current2, nextEffect);\\n          break;\\n        }\\n\\n      case Update:\\n        {\\n          var _current3 = nextEffect.alternate;\\n          commitWork(_current3, nextEffect);\\n          break;\\n        }\\n\\n      case Deletion:\\n        {\\n          commitDeletion(root, nextEffect, renderPriorityLevel);\\n          break;\\n        }\\n    } // TODO: Only record a mutation effect if primaryEffectTag is non-zero.\\n\\n\\n    recordEffect();\\n    resetCurrentFiber();\\n    nextEffect = nextEffect.nextEffect;\\n  }\\n}\\n\\nfunction commitLayoutEffects(root, committedExpirationTime) {\\n  // TODO: Should probably move the bulk of this function to commitWork.\\n  while (nextEffect !== null) {\\n    setCurrentFiber(nextEffect);\\n    var effectTag = nextEffect.effectTag;\\n\\n    if (effectTag & (Update | Callback)) {\\n      recordEffect();\\n      var current = nextEffect.alternate;\\n      commitLifeCycles(root, current, nextEffect);\\n    }\\n\\n    if (effectTag & Ref) {\\n      recordEffect();\\n      commitAttachRef(nextEffect);\\n    }\\n\\n    resetCurrentFiber();\\n    nextEffect = nextEffect.nextEffect;\\n  }\\n}\\n\\nfunction flushPassiveEffects() {\\n  if (pendingPassiveEffectsRenderPriority !== NoPriority) {\\n    var priorityLevel = pendingPassiveEffectsRenderPriority > NormalPriority ? NormalPriority : pendingPassiveEffectsRenderPriority;\\n    pendingPassiveEffectsRenderPriority = NoPriority;\\n    return runWithPriority$1(priorityLevel, flushPassiveEffectsImpl);\\n  }\\n}\\n\\nfunction flushPassiveEffectsImpl() {\\n  if (rootWithPendingPassiveEffects === null) {\\n    return false;\\n  }\\n\\n  var root = rootWithPendingPassiveEffects;\\n  var expirationTime = pendingPassiveEffectsExpirationTime;\\n  rootWithPendingPassiveEffects = null;\\n  pendingPassiveEffectsExpirationTime = NoWork;\\n\\n  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {\\n    {\\n      throw Error( \\\"Cannot flush passive effects while already rendering.\\\" );\\n    }\\n  }\\n\\n  var prevExecutionContext = executionContext;\\n  executionContext |= CommitContext;\\n  var prevInteractions = pushInteractions(root);\\n\\n  {\\n    // Note: This currently assumes there are no passive effects on the root fiber\\n    // because the root is not part of its own effect list.\\n    // This could change in the future.\\n    var _effect2 = root.current.firstEffect;\\n\\n    while (_effect2 !== null) {\\n      {\\n        setCurrentFiber(_effect2);\\n        invokeGuardedCallback(null, commitPassiveHookEffects, null, _effect2);\\n\\n        if (hasCaughtError()) {\\n          if (!(_effect2 !== null)) {\\n            {\\n              throw Error( \\\"Should be working on an effect.\\\" );\\n            }\\n          }\\n\\n          var _error5 = clearCaughtError();\\n\\n          captureCommitPhaseError(_effect2, _error5);\\n        }\\n\\n        resetCurrentFiber();\\n      }\\n\\n      var nextNextEffect = _effect2.nextEffect; // Remove nextEffect pointer to assist GC\\n\\n      _effect2.nextEffect = null;\\n      _effect2 = nextNextEffect;\\n    }\\n  }\\n\\n  {\\n    popInteractions(prevInteractions);\\n    finishPendingInteractions(root, expirationTime);\\n  }\\n\\n  executionContext = prevExecutionContext;\\n  flushSyncCallbackQueue(); // If additional passive effects were scheduled, increment a counter. If this\\n  // exceeds the limit, we'll fire a warning.\\n\\n  nestedPassiveUpdateCount = rootWithPendingPassiveEffects === null ? 0 : nestedPassiveUpdateCount + 1;\\n  return true;\\n}\\n\\nfunction isAlreadyFailedLegacyErrorBoundary(instance) {\\n  return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance);\\n}\\nfunction markLegacyErrorBoundaryAsFailed(instance) {\\n  if (legacyErrorBoundariesThatAlreadyFailed === null) {\\n    legacyErrorBoundariesThatAlreadyFailed = new Set([instance]);\\n  } else {\\n    legacyErrorBoundariesThatAlreadyFailed.add(instance);\\n  }\\n}\\n\\nfunction prepareToThrowUncaughtError(error) {\\n  if (!hasUncaughtError) {\\n    hasUncaughtError = true;\\n    firstUncaughtError = error;\\n  }\\n}\\n\\nvar onUncaughtError = prepareToThrowUncaughtError;\\n\\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\\n  var errorInfo = createCapturedValue(error, sourceFiber);\\n  var update = createRootErrorUpdate(rootFiber, errorInfo, Sync);\\n  enqueueUpdate(rootFiber, update);\\n  var root = markUpdateTimeFromFiberToRoot(rootFiber, Sync);\\n\\n  if (root !== null) {\\n    ensureRootIsScheduled(root);\\n    schedulePendingInteractions(root, Sync);\\n  }\\n}\\n\\nfunction captureCommitPhaseError(sourceFiber, error) {\\n  if (sourceFiber.tag === HostRoot) {\\n    // Error was thrown at the root. There is no parent, so the root\\n    // itself should capture it.\\n    captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\\n    return;\\n  }\\n\\n  var fiber = sourceFiber.return;\\n\\n  while (fiber !== null) {\\n    if (fiber.tag === HostRoot) {\\n      captureCommitPhaseErrorOnRoot(fiber, sourceFiber, error);\\n      return;\\n    } else if (fiber.tag === ClassComponent) {\\n      var ctor = fiber.type;\\n      var instance = fiber.stateNode;\\n\\n      if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) {\\n        var errorInfo = createCapturedValue(error, sourceFiber);\\n        var update = createClassErrorUpdate(fiber, errorInfo, // TODO: This is always sync\\n        Sync);\\n        enqueueUpdate(fiber, update);\\n        var root = markUpdateTimeFromFiberToRoot(fiber, Sync);\\n\\n        if (root !== null) {\\n          ensureRootIsScheduled(root);\\n          schedulePendingInteractions(root, Sync);\\n        }\\n\\n        return;\\n      }\\n    }\\n\\n    fiber = fiber.return;\\n  }\\n}\\nfunction pingSuspendedRoot(root, thenable, suspendedTime) {\\n  var pingCache = root.pingCache;\\n\\n  if (pingCache !== null) {\\n    // The thenable resolved, so we no longer need to memoize, because it will\\n    // never be thrown again.\\n    pingCache.delete(thenable);\\n  }\\n\\n  if (workInProgressRoot === root && renderExpirationTime$1 === suspendedTime) {\\n    // Received a ping at the same priority level at which we're currently\\n    // rendering. We might want to restart this render. This should mirror\\n    // the logic of whether or not a root suspends once it completes.\\n    // TODO: If we're rendering sync either due to Sync, Batched or expired,\\n    // we should probably never restart.\\n    // If we're suspended with delay, we'll always suspend so we can always\\n    // restart. If we're suspended without any updates, it might be a retry.\\n    // If it's early in the retry we can restart. We can't know for sure\\n    // whether we'll eventually process an update during this render pass,\\n    // but it's somewhat unlikely that we get to a ping before that, since\\n    // getting to the root most update is usually very fast.\\n    if (workInProgressRootExitStatus === RootSuspendedWithDelay || workInProgressRootExitStatus === RootSuspended && workInProgressRootLatestProcessedExpirationTime === Sync && now() - globalMostRecentFallbackTime < FALLBACK_THROTTLE_MS) {\\n      // Restart from the root. Don't need to schedule a ping because\\n      // we're already working on this tree.\\n      prepareFreshStack(root, renderExpirationTime$1);\\n    } else {\\n      // Even though we can't restart right now, we might get an\\n      // opportunity later. So we mark this render as having a ping.\\n      workInProgressRootHasPendingPing = true;\\n    }\\n\\n    return;\\n  }\\n\\n  if (!isRootSuspendedAtTime(root, suspendedTime)) {\\n    // The root is no longer suspended at this time.\\n    return;\\n  }\\n\\n  var lastPingedTime = root.lastPingedTime;\\n\\n  if (lastPingedTime !== NoWork && lastPingedTime < suspendedTime) {\\n    // There's already a lower priority ping scheduled.\\n    return;\\n  } // Mark the time at which this ping was scheduled.\\n\\n\\n  root.lastPingedTime = suspendedTime;\\n\\n  ensureRootIsScheduled(root);\\n  schedulePendingInteractions(root, suspendedTime);\\n}\\n\\nfunction retryTimedOutBoundary(boundaryFiber, retryTime) {\\n  // The boundary fiber (a Suspense component or SuspenseList component)\\n  // previously was rendered in its fallback state. One of the promises that\\n  // suspended it has resolved, which means at least part of the tree was\\n  // likely unblocked. Try rendering again, at a new expiration time.\\n  if (retryTime === NoWork) {\\n    var suspenseConfig = null; // Retries don't carry over the already committed update.\\n\\n    var currentTime = requestCurrentTimeForUpdate();\\n    retryTime = computeExpirationForFiber(currentTime, boundaryFiber, suspenseConfig);\\n  } // TODO: Special case idle priority?\\n\\n\\n  var root = markUpdateTimeFromFiberToRoot(boundaryFiber, retryTime);\\n\\n  if (root !== null) {\\n    ensureRootIsScheduled(root);\\n    schedulePendingInteractions(root, retryTime);\\n  }\\n}\\nfunction resolveRetryThenable(boundaryFiber, thenable) {\\n  var retryTime = NoWork; // Default\\n\\n  var retryCache;\\n\\n  {\\n    retryCache = boundaryFiber.stateNode;\\n  }\\n\\n  if (retryCache !== null) {\\n    // The thenable resolved, so we no longer need to memoize, because it will\\n    // never be thrown again.\\n    retryCache.delete(thenable);\\n  }\\n\\n  retryTimedOutBoundary(boundaryFiber, retryTime);\\n} // Computes the next Just Noticeable Difference (JND) boundary.\\n// The theory is that a person can't tell the difference between small differences in time.\\n// Therefore, if we wait a bit longer than necessary that won't translate to a noticeable\\n// difference in the experience. However, waiting for longer might mean that we can avoid\\n// showing an intermediate loading state. The longer we have already waited, the harder it\\n// is to tell small differences in time. Therefore, the longer we've already waited,\\n// the longer we can wait additionally. At some point we have to give up though.\\n// We pick a train model where the next boundary commits at a consistent schedule.\\n// These particular numbers are vague estimates. We expect to adjust them based on research.\\n\\nfunction jnd(timeElapsed) {\\n  return timeElapsed < 120 ? 120 : timeElapsed < 480 ? 480 : timeElapsed < 1080 ? 1080 : timeElapsed < 1920 ? 1920 : timeElapsed < 3000 ? 3000 : timeElapsed < 4320 ? 4320 : ceil(timeElapsed / 1960) * 1960;\\n}\\n\\nfunction computeMsUntilSuspenseLoadingDelay(mostRecentEventTime, committedExpirationTime, suspenseConfig) {\\n  var busyMinDurationMs = suspenseConfig.busyMinDurationMs | 0;\\n\\n  if (busyMinDurationMs <= 0) {\\n    return 0;\\n  }\\n\\n  var busyDelayMs = suspenseConfig.busyDelayMs | 0; // Compute the time until this render pass would expire.\\n\\n  var currentTimeMs = now();\\n  var eventTimeMs = inferTimeFromExpirationTimeWithSuspenseConfig(mostRecentEventTime, suspenseConfig);\\n  var timeElapsed = currentTimeMs - eventTimeMs;\\n\\n  if (timeElapsed <= busyDelayMs) {\\n    // If we haven't yet waited longer than the initial delay, we don't\\n    // have to wait any additional time.\\n    return 0;\\n  }\\n\\n  var msUntilTimeout = busyDelayMs + busyMinDurationMs - timeElapsed; // This is the value that is passed to `setTimeout`.\\n\\n  return msUntilTimeout;\\n}\\n\\nfunction checkForNestedUpdates() {\\n  if (nestedUpdateCount > NESTED_UPDATE_LIMIT) {\\n    nestedUpdateCount = 0;\\n    rootWithNestedUpdates = null;\\n\\n    {\\n      {\\n        throw Error( \\\"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\\\" );\\n      }\\n    }\\n  }\\n\\n  {\\n    if (nestedPassiveUpdateCount > NESTED_PASSIVE_UPDATE_LIMIT) {\\n      nestedPassiveUpdateCount = 0;\\n\\n      error('Maximum update depth exceeded. This can happen when a component ' + \\\"calls setState inside useEffect, but useEffect either doesn't \\\" + 'have a dependency array, or one of the dependencies changes on ' + 'every render.');\\n    }\\n  }\\n}\\n\\nfunction flushRenderPhaseStrictModeWarningsInDEV() {\\n  {\\n    ReactStrictModeWarnings.flushLegacyContextWarning();\\n\\n    {\\n      ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings();\\n    }\\n  }\\n}\\n\\nfunction stopFinishedWorkLoopTimer() {\\n  var didCompleteRoot = true;\\n  stopWorkLoopTimer(interruptedBy, didCompleteRoot);\\n  interruptedBy = null;\\n}\\n\\nfunction stopInterruptedWorkLoopTimer() {\\n  // TODO: Track which fiber caused the interruption.\\n  var didCompleteRoot = false;\\n  stopWorkLoopTimer(interruptedBy, didCompleteRoot);\\n  interruptedBy = null;\\n}\\n\\nfunction checkForInterruption(fiberThatReceivedUpdate, updateExpirationTime) {\\n  if ( workInProgressRoot !== null && updateExpirationTime > renderExpirationTime$1) {\\n    interruptedBy = fiberThatReceivedUpdate;\\n  }\\n}\\n\\nvar didWarnStateUpdateForUnmountedComponent = null;\\n\\nfunction warnAboutUpdateOnUnmountedFiberInDEV(fiber) {\\n  {\\n    var tag = fiber.tag;\\n\\n    if (tag !== HostRoot && tag !== ClassComponent && tag !== FunctionComponent && tag !== ForwardRef && tag !== MemoComponent && tag !== SimpleMemoComponent && tag !== Block) {\\n      // Only warn for user-defined components, not internal ones like Suspense.\\n      return;\\n    }\\n    // the problematic code almost always lies inside that component.\\n\\n\\n    var componentName = getComponentName(fiber.type) || 'ReactComponent';\\n\\n    if (didWarnStateUpdateForUnmountedComponent !== null) {\\n      if (didWarnStateUpdateForUnmountedComponent.has(componentName)) {\\n        return;\\n      }\\n\\n      didWarnStateUpdateForUnmountedComponent.add(componentName);\\n    } else {\\n      didWarnStateUpdateForUnmountedComponent = new Set([componentName]);\\n    }\\n\\n    error(\\\"Can't perform a React state update on an unmounted component. This \\\" + 'is a no-op, but it indicates a memory leak in your application. To ' + 'fix, cancel all subscriptions and asynchronous tasks in %s.%s', tag === ClassComponent ? 'the componentWillUnmount method' : 'a useEffect cleanup function', getStackByFiberInDevAndProd(fiber));\\n  }\\n}\\n\\nvar beginWork$1;\\n\\n{\\n  var dummyFiber = null;\\n\\n  beginWork$1 = function (current, unitOfWork, expirationTime) {\\n    // If a component throws an error, we replay it again in a synchronously\\n    // dispatched event, so that the debugger will treat it as an uncaught\\n    // error See ReactErrorUtils for more information.\\n    // Before entering the begin phase, copy the work-in-progress onto a dummy\\n    // fiber. If beginWork throws, we'll use this to reset the state.\\n    var originalWorkInProgressCopy = assignFiberPropertiesInDEV(dummyFiber, unitOfWork);\\n\\n    try {\\n      return beginWork(current, unitOfWork, expirationTime);\\n    } catch (originalError) {\\n      if (originalError !== null && typeof originalError === 'object' && typeof originalError.then === 'function') {\\n        // Don't replay promises. Treat everything else like an error.\\n        throw originalError;\\n      } // Keep this code in sync with handleError; any changes here must have\\n      // corresponding changes there.\\n\\n\\n      resetContextDependencies();\\n      resetHooksAfterThrow(); // Don't reset current debug fiber, since we're about to work on the\\n      // same fiber again.\\n      // Unwind the failed stack frame\\n\\n      unwindInterruptedWork(unitOfWork); // Restore the original properties of the fiber.\\n\\n      assignFiberPropertiesInDEV(unitOfWork, originalWorkInProgressCopy);\\n\\n      if ( unitOfWork.mode & ProfileMode) {\\n        // Reset the profiler timer.\\n        startProfilerTimer(unitOfWork);\\n      } // Run beginWork again.\\n\\n\\n      invokeGuardedCallback(null, beginWork, null, current, unitOfWork, expirationTime);\\n\\n      if (hasCaughtError()) {\\n        var replayError = clearCaughtError(); // `invokeGuardedCallback` sometimes sets an expando `_suppressLogging`.\\n        // Rethrow this error instead of the original one.\\n\\n        throw replayError;\\n      } else {\\n        // This branch is reachable if the render phase is impure.\\n        throw originalError;\\n      }\\n    }\\n  };\\n}\\n\\nvar didWarnAboutUpdateInRender = false;\\nvar didWarnAboutUpdateInRenderForAnotherComponent;\\n\\n{\\n  didWarnAboutUpdateInRenderForAnotherComponent = new Set();\\n}\\n\\nfunction warnAboutRenderPhaseUpdatesInDEV(fiber) {\\n  {\\n    if (isRendering && (executionContext & RenderContext) !== NoContext) {\\n      switch (fiber.tag) {\\n        case FunctionComponent:\\n        case ForwardRef:\\n        case SimpleMemoComponent:\\n          {\\n            var renderingComponentName = workInProgress && getComponentName(workInProgress.type) || 'Unknown'; // Dedupe by the rendering component because it's the one that needs to be fixed.\\n\\n            var dedupeKey = renderingComponentName;\\n\\n            if (!didWarnAboutUpdateInRenderForAnotherComponent.has(dedupeKey)) {\\n              didWarnAboutUpdateInRenderForAnotherComponent.add(dedupeKey);\\n              var setStateComponentName = getComponentName(fiber.type) || 'Unknown';\\n\\n              error('Cannot update a component (`%s`) while rendering a ' + 'different component (`%s`). To locate the bad setState() call inside `%s`, ' + 'follow the stack trace as described in https://fb.me/setstate-in-render', setStateComponentName, renderingComponentName, renderingComponentName);\\n            }\\n\\n            break;\\n          }\\n\\n        case ClassComponent:\\n          {\\n            if (!didWarnAboutUpdateInRender) {\\n              error('Cannot update during an existing state transition (such as ' + 'within `render`). Render methods should be a pure ' + 'function of props and state.');\\n\\n              didWarnAboutUpdateInRender = true;\\n            }\\n\\n            break;\\n          }\\n      }\\n    }\\n  }\\n} // a 'shared' variable that changes when act() opens/closes in tests.\\n\\n\\nvar IsThisRendererActing = {\\n  current: false\\n};\\nfunction warnIfNotScopedWithMatchingAct(fiber) {\\n  {\\n    if ( IsSomeRendererActing.current === true && IsThisRendererActing.current !== true) {\\n      error(\\\"It looks like you're using the wrong act() around your test interactions.\\\\n\\\" + 'Be sure to use the matching version of act() corresponding to your renderer:\\\\n\\\\n' + '// for react-dom:\\\\n' + \\\"import {act} from 'react-dom/test-utils';\\\\n\\\" + '// ...\\\\n' + 'act(() => ...);\\\\n\\\\n' + '// for react-test-renderer:\\\\n' + \\\"import TestRenderer from 'react-test-renderer';\\\\n\\\" + 'const {act} = TestRenderer;\\\\n' + '// ...\\\\n' + 'act(() => ...);' + '%s', getStackByFiberInDevAndProd(fiber));\\n    }\\n  }\\n}\\nfunction warnIfNotCurrentlyActingEffectsInDEV(fiber) {\\n  {\\n    if ( (fiber.mode & StrictMode) !== NoMode && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) {\\n      error('An update to %s ran an effect, but was not wrapped in act(...).\\\\n\\\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\\\n\\\\n' + 'act(() => {\\\\n' + '  /* fire events that update state */\\\\n' + '});\\\\n' + '/* assert on the output */\\\\n\\\\n' + \\\"This ensures that you're testing the behavior the user would see \\\" + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber));\\n    }\\n  }\\n}\\n\\nfunction warnIfNotCurrentlyActingUpdatesInDEV(fiber) {\\n  {\\n    if ( executionContext === NoContext && IsSomeRendererActing.current === false && IsThisRendererActing.current === false) {\\n      error('An update to %s inside a test was not wrapped in act(...).\\\\n\\\\n' + 'When testing, code that causes React state updates should be ' + 'wrapped into act(...):\\\\n\\\\n' + 'act(() => {\\\\n' + '  /* fire events that update state */\\\\n' + '});\\\\n' + '/* assert on the output */\\\\n\\\\n' + \\\"This ensures that you're testing the behavior the user would see \\\" + 'in the browser.' + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber));\\n    }\\n  }\\n}\\n\\nvar warnIfNotCurrentlyActingUpdatesInDev = warnIfNotCurrentlyActingUpdatesInDEV; // In tests, we want to enforce a mocked scheduler.\\n\\nvar didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent mode, revisit this and decide whether a mocked\\n// scheduler is the actual recommendation. The alternative could be a testing build,\\n// a new lib, or whatever; we dunno just yet. This message is for early adopters\\n// to get their tests right.\\n\\nfunction warnIfUnmockedScheduler(fiber) {\\n  {\\n    if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) {\\n      if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) {\\n        didWarnAboutUnmockedScheduler = true;\\n\\n        error('In Concurrent or Sync modes, the \\\"scheduler\\\" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \\\\n' + \\\"jest.mock('scheduler', () => require('scheduler/unstable_mock'));\\\\n\\\\n\\\" + 'For more info, visit https://fb.me/react-mock-scheduler');\\n      }\\n    }\\n  }\\n}\\n\\nfunction computeThreadID(root, expirationTime) {\\n  // Interaction threads are unique per root and expiration time.\\n  return expirationTime * 1000 + root.interactionThreadID;\\n}\\n\\nfunction markSpawnedWork(expirationTime) {\\n\\n  if (spawnedWorkDuringRender === null) {\\n    spawnedWorkDuringRender = [expirationTime];\\n  } else {\\n    spawnedWorkDuringRender.push(expirationTime);\\n  }\\n}\\n\\nfunction scheduleInteractions(root, expirationTime, interactions) {\\n\\n  if (interactions.size > 0) {\\n    var pendingInteractionMap = root.pendingInteractionMap;\\n    var pendingInteractions = pendingInteractionMap.get(expirationTime);\\n\\n    if (pendingInteractions != null) {\\n      interactions.forEach(function (interaction) {\\n        if (!pendingInteractions.has(interaction)) {\\n          // Update the pending async work count for previously unscheduled interaction.\\n          interaction.__count++;\\n        }\\n\\n        pendingInteractions.add(interaction);\\n      });\\n    } else {\\n      pendingInteractionMap.set(expirationTime, new Set(interactions)); // Update the pending async work count for the current interactions.\\n\\n      interactions.forEach(function (interaction) {\\n        interaction.__count++;\\n      });\\n    }\\n\\n    var subscriber = tracing.__subscriberRef.current;\\n\\n    if (subscriber !== null) {\\n      var threadID = computeThreadID(root, expirationTime);\\n      subscriber.onWorkScheduled(interactions, threadID);\\n    }\\n  }\\n}\\n\\nfunction schedulePendingInteractions(root, expirationTime) {\\n\\n  scheduleInteractions(root, expirationTime, tracing.__interactionsRef.current);\\n}\\n\\nfunction startWorkOnPendingInteractions(root, expirationTime) {\\n  // we can accurately attribute time spent working on it, And so that cascading\\n  // work triggered during the render phase will be associated with it.\\n\\n\\n  var interactions = new Set();\\n  root.pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) {\\n    if (scheduledExpirationTime >= expirationTime) {\\n      scheduledInteractions.forEach(function (interaction) {\\n        return interactions.add(interaction);\\n      });\\n    }\\n  }); // Store the current set of interactions on the FiberRoot for a few reasons:\\n  // We can re-use it in hot functions like performConcurrentWorkOnRoot()\\n  // without having to recalculate it. We will also use it in commitWork() to\\n  // pass to any Profiler onRender() hooks. This also provides DevTools with a\\n  // way to access it when the onCommitRoot() hook is called.\\n\\n  root.memoizedInteractions = interactions;\\n\\n  if (interactions.size > 0) {\\n    var subscriber = tracing.__subscriberRef.current;\\n\\n    if (subscriber !== null) {\\n      var threadID = computeThreadID(root, expirationTime);\\n\\n      try {\\n        subscriber.onWorkStarted(interactions, threadID);\\n      } catch (error) {\\n        // If the subscriber throws, rethrow it in a separate task\\n        scheduleCallback(ImmediatePriority, function () {\\n          throw error;\\n        });\\n      }\\n    }\\n  }\\n}\\n\\nfunction finishPendingInteractions(root, committedExpirationTime) {\\n\\n  var earliestRemainingTimeAfterCommit = root.firstPendingTime;\\n  var subscriber;\\n\\n  try {\\n    subscriber = tracing.__subscriberRef.current;\\n\\n    if (subscriber !== null && root.memoizedInteractions.size > 0) {\\n      var threadID = computeThreadID(root, committedExpirationTime);\\n      subscriber.onWorkStopped(root.memoizedInteractions, threadID);\\n    }\\n  } catch (error) {\\n    // If the subscriber throws, rethrow it in a separate task\\n    scheduleCallback(ImmediatePriority, function () {\\n      throw error;\\n    });\\n  } finally {\\n    // Clear completed interactions from the pending Map.\\n    // Unless the render was suspended or cascading work was scheduled,\\n    // In which case– leave pending interactions until the subsequent render.\\n    var pendingInteractionMap = root.pendingInteractionMap;\\n    pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) {\\n      // Only decrement the pending interaction count if we're done.\\n      // If there's still work at the current priority,\\n      // That indicates that we are waiting for suspense data.\\n      if (scheduledExpirationTime > earliestRemainingTimeAfterCommit) {\\n        pendingInteractionMap.delete(scheduledExpirationTime);\\n        scheduledInteractions.forEach(function (interaction) {\\n          interaction.__count--;\\n\\n          if (subscriber !== null && interaction.__count === 0) {\\n            try {\\n              subscriber.onInteractionScheduledWorkCompleted(interaction);\\n            } catch (error) {\\n              // If the subscriber throws, rethrow it in a separate task\\n              scheduleCallback(ImmediatePriority, function () {\\n                throw error;\\n              });\\n            }\\n          }\\n        });\\n      }\\n    });\\n  }\\n}\\n\\nvar onScheduleFiberRoot = null;\\nvar onCommitFiberRoot = null;\\nvar onCommitFiberUnmount = null;\\nvar hasLoggedError = false;\\nvar isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined';\\nfunction injectInternals(internals) {\\n  if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\\n    // No DevTools\\n    return false;\\n  }\\n\\n  var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\\n\\n  if (hook.isDisabled) {\\n    // This isn't a real property on the hook, but it can be set to opt out\\n    // of DevTools integration and associated warnings and logs.\\n    // https://github.com/facebook/react/issues/3877\\n    return true;\\n  }\\n\\n  if (!hook.supportsFiber) {\\n    {\\n      error('The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://fb.me/react-devtools');\\n    } // DevTools exists, even though it doesn't support Fiber.\\n\\n\\n    return true;\\n  }\\n\\n  try {\\n    var rendererID = hook.inject(internals); // We have successfully injected, so now it is safe to set up hooks.\\n\\n    if (true) {\\n      // Only used by Fast Refresh\\n      if (typeof hook.onScheduleFiberRoot === 'function') {\\n        onScheduleFiberRoot = function (root, children) {\\n          try {\\n            hook.onScheduleFiberRoot(rendererID, root, children);\\n          } catch (err) {\\n            if ( true && !hasLoggedError) {\\n              hasLoggedError = true;\\n\\n              error('React instrumentation encountered an error: %s', err);\\n            }\\n          }\\n        };\\n      }\\n    }\\n\\n    onCommitFiberRoot = function (root, expirationTime) {\\n      try {\\n        var didError = (root.current.effectTag & DidCapture) === DidCapture;\\n\\n        if (enableProfilerTimer) {\\n          var currentTime = getCurrentTime();\\n          var priorityLevel = inferPriorityFromExpirationTime(currentTime, expirationTime);\\n          hook.onCommitFiberRoot(rendererID, root, priorityLevel, didError);\\n        } else {\\n          hook.onCommitFiberRoot(rendererID, root, undefined, didError);\\n        }\\n      } catch (err) {\\n        if (true) {\\n          if (!hasLoggedError) {\\n            hasLoggedError = true;\\n\\n            error('React instrumentation encountered an error: %s', err);\\n          }\\n        }\\n      }\\n    };\\n\\n    onCommitFiberUnmount = function (fiber) {\\n      try {\\n        hook.onCommitFiberUnmount(rendererID, fiber);\\n      } catch (err) {\\n        if (true) {\\n          if (!hasLoggedError) {\\n            hasLoggedError = true;\\n\\n            error('React instrumentation encountered an error: %s', err);\\n          }\\n        }\\n      }\\n    };\\n  } catch (err) {\\n    // Catch all errors because it is unsafe to throw during initialization.\\n    {\\n      error('React instrumentation encountered an error: %s.', err);\\n    }\\n  } // DevTools exists\\n\\n\\n  return true;\\n}\\nfunction onScheduleRoot(root, children) {\\n  if (typeof onScheduleFiberRoot === 'function') {\\n    onScheduleFiberRoot(root, children);\\n  }\\n}\\nfunction onCommitRoot(root, expirationTime) {\\n  if (typeof onCommitFiberRoot === 'function') {\\n    onCommitFiberRoot(root, expirationTime);\\n  }\\n}\\nfunction onCommitUnmount(fiber) {\\n  if (typeof onCommitFiberUnmount === 'function') {\\n    onCommitFiberUnmount(fiber);\\n  }\\n}\\n\\nvar hasBadMapPolyfill;\\n\\n{\\n  hasBadMapPolyfill = false;\\n\\n  try {\\n    var nonExtensibleObject = Object.preventExtensions({});\\n    var testMap = new Map([[nonExtensibleObject, null]]);\\n    var testSet = new Set([nonExtensibleObject]); // This is necessary for Rollup to not consider these unused.\\n    // https://github.com/rollup/rollup/issues/1771\\n    // TODO: we can remove these if Rollup fixes the bug.\\n\\n    testMap.set(0, 0);\\n    testSet.add(0);\\n  } catch (e) {\\n    // TODO: Consider warning about bad polyfills\\n    hasBadMapPolyfill = true;\\n  }\\n}\\n\\nvar debugCounter = 1;\\n\\nfunction FiberNode(tag, pendingProps, key, mode) {\\n  // Instance\\n  this.tag = tag;\\n  this.key = key;\\n  this.elementType = null;\\n  this.type = null;\\n  this.stateNode = null; // Fiber\\n\\n  this.return = null;\\n  this.child = null;\\n  this.sibling = null;\\n  this.index = 0;\\n  this.ref = null;\\n  this.pendingProps = pendingProps;\\n  this.memoizedProps = null;\\n  this.updateQueue = null;\\n  this.memoizedState = null;\\n  this.dependencies = null;\\n  this.mode = mode; // Effects\\n\\n  this.effectTag = NoEffect;\\n  this.nextEffect = null;\\n  this.firstEffect = null;\\n  this.lastEffect = null;\\n  this.expirationTime = NoWork;\\n  this.childExpirationTime = NoWork;\\n  this.alternate = null;\\n\\n  {\\n    // Note: The following is done to avoid a v8 performance cliff.\\n    //\\n    // Initializing the fields below to smis and later updating them with\\n    // double values will cause Fibers to end up having separate shapes.\\n    // This behavior/bug has something to do with Object.preventExtension().\\n    // Fortunately this only impacts DEV builds.\\n    // Unfortunately it makes React unusably slow for some applications.\\n    // To work around this, initialize the fields below with doubles.\\n    //\\n    // Learn more about this here:\\n    // https://github.com/facebook/react/issues/14365\\n    // https://bugs.chromium.org/p/v8/issues/detail?id=8538\\n    this.actualDuration = Number.NaN;\\n    this.actualStartTime = Number.NaN;\\n    this.selfBaseDuration = Number.NaN;\\n    this.treeBaseDuration = Number.NaN; // It's okay to replace the initial doubles with smis after initialization.\\n    // This won't trigger the performance cliff mentioned above,\\n    // and it simplifies other profiler code (including DevTools).\\n\\n    this.actualDuration = 0;\\n    this.actualStartTime = -1;\\n    this.selfBaseDuration = 0;\\n    this.treeBaseDuration = 0;\\n  } // This is normally DEV-only except www when it adds listeners.\\n  // TODO: remove the User Timing integration in favor of Root Events.\\n\\n\\n  {\\n    this._debugID = debugCounter++;\\n    this._debugIsCurrentlyTiming = false;\\n  }\\n\\n  {\\n    this._debugSource = null;\\n    this._debugOwner = null;\\n    this._debugNeedsRemount = false;\\n    this._debugHookTypes = null;\\n\\n    if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {\\n      Object.preventExtensions(this);\\n    }\\n  }\\n} // This is a constructor function, rather than a POJO constructor, still\\n// please ensure we do the following:\\n// 1) Nobody should add any instance methods on this. Instance methods can be\\n//    more difficult to predict when they get optimized and they are almost\\n//    never inlined properly in static compilers.\\n// 2) Nobody should rely on `instanceof Fiber` for type testing. We should\\n//    always know when it is a fiber.\\n// 3) We might want to experiment with using numeric keys since they are easier\\n//    to optimize in a non-JIT environment.\\n// 4) We can easily go from a constructor to a createFiber object literal if that\\n//    is faster.\\n// 5) It should be easy to port this to a C struct and keep a C implementation\\n//    compatible.\\n\\n\\nvar createFiber = function (tag, pendingProps, key, mode) {\\n  // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors\\n  return new FiberNode(tag, pendingProps, key, mode);\\n};\\n\\nfunction shouldConstruct(Component) {\\n  var prototype = Component.prototype;\\n  return !!(prototype && prototype.isReactComponent);\\n}\\n\\nfunction isSimpleFunctionComponent(type) {\\n  return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined;\\n}\\nfunction resolveLazyComponentTag(Component) {\\n  if (typeof Component === 'function') {\\n    return shouldConstruct(Component) ? ClassComponent : FunctionComponent;\\n  } else if (Component !== undefined && Component !== null) {\\n    var $$typeof = Component.$$typeof;\\n\\n    if ($$typeof === REACT_FORWARD_REF_TYPE) {\\n      return ForwardRef;\\n    }\\n\\n    if ($$typeof === REACT_MEMO_TYPE) {\\n      return MemoComponent;\\n    }\\n  }\\n\\n  return IndeterminateComponent;\\n} // This is used to create an alternate fiber to do work on.\\n\\nfunction createWorkInProgress(current, pendingProps) {\\n  var workInProgress = current.alternate;\\n\\n  if (workInProgress === null) {\\n    // We use a double buffering pooling technique because we know that we'll\\n    // only ever need at most two versions of a tree. We pool the \\\"other\\\" unused\\n    // node that we're free to reuse. This is lazily created to avoid allocating\\n    // extra objects for things that are never updated. It also allow us to\\n    // reclaim the extra memory if needed.\\n    workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode);\\n    workInProgress.elementType = current.elementType;\\n    workInProgress.type = current.type;\\n    workInProgress.stateNode = current.stateNode;\\n\\n    {\\n      // DEV-only fields\\n      {\\n        workInProgress._debugID = current._debugID;\\n      }\\n\\n      workInProgress._debugSource = current._debugSource;\\n      workInProgress._debugOwner = current._debugOwner;\\n      workInProgress._debugHookTypes = current._debugHookTypes;\\n    }\\n\\n    workInProgress.alternate = current;\\n    current.alternate = workInProgress;\\n  } else {\\n    workInProgress.pendingProps = pendingProps; // We already have an alternate.\\n    // Reset the effect tag.\\n\\n    workInProgress.effectTag = NoEffect; // The effect list is no longer valid.\\n\\n    workInProgress.nextEffect = null;\\n    workInProgress.firstEffect = null;\\n    workInProgress.lastEffect = null;\\n\\n    {\\n      // We intentionally reset, rather than copy, actualDuration & actualStartTime.\\n      // This prevents time from endlessly accumulating in new commits.\\n      // This has the downside of resetting values for different priority renders,\\n      // But works for yielding (the common case) and should support resuming.\\n      workInProgress.actualDuration = 0;\\n      workInProgress.actualStartTime = -1;\\n    }\\n  }\\n\\n  workInProgress.childExpirationTime = current.childExpirationTime;\\n  workInProgress.expirationTime = current.expirationTime;\\n  workInProgress.child = current.child;\\n  workInProgress.memoizedProps = current.memoizedProps;\\n  workInProgress.memoizedState = current.memoizedState;\\n  workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\\n  // it cannot be shared with the current fiber.\\n\\n  var currentDependencies = current.dependencies;\\n  workInProgress.dependencies = currentDependencies === null ? null : {\\n    expirationTime: currentDependencies.expirationTime,\\n    firstContext: currentDependencies.firstContext,\\n    responders: currentDependencies.responders\\n  }; // These will be overridden during the parent's reconciliation\\n\\n  workInProgress.sibling = current.sibling;\\n  workInProgress.index = current.index;\\n  workInProgress.ref = current.ref;\\n\\n  {\\n    workInProgress.selfBaseDuration = current.selfBaseDuration;\\n    workInProgress.treeBaseDuration = current.treeBaseDuration;\\n  }\\n\\n  {\\n    workInProgress._debugNeedsRemount = current._debugNeedsRemount;\\n\\n    switch (workInProgress.tag) {\\n      case IndeterminateComponent:\\n      case FunctionComponent:\\n      case SimpleMemoComponent:\\n        workInProgress.type = resolveFunctionForHotReloading(current.type);\\n        break;\\n\\n      case ClassComponent:\\n        workInProgress.type = resolveClassForHotReloading(current.type);\\n        break;\\n\\n      case ForwardRef:\\n        workInProgress.type = resolveForwardRefForHotReloading(current.type);\\n        break;\\n    }\\n  }\\n\\n  return workInProgress;\\n} // Used to reuse a Fiber for a second pass.\\n\\nfunction resetWorkInProgress(workInProgress, renderExpirationTime) {\\n  // This resets the Fiber to what createFiber or createWorkInProgress would\\n  // have set the values to before during the first pass. Ideally this wouldn't\\n  // be necessary but unfortunately many code paths reads from the workInProgress\\n  // when they should be reading from current and writing to workInProgress.\\n  // We assume pendingProps, index, key, ref, return are still untouched to\\n  // avoid doing another reconciliation.\\n  // Reset the effect tag but keep any Placement tags, since that's something\\n  // that child fiber is setting, not the reconciliation.\\n  workInProgress.effectTag &= Placement; // The effect list is no longer valid.\\n\\n  workInProgress.nextEffect = null;\\n  workInProgress.firstEffect = null;\\n  workInProgress.lastEffect = null;\\n  var current = workInProgress.alternate;\\n\\n  if (current === null) {\\n    // Reset to createFiber's initial values.\\n    workInProgress.childExpirationTime = NoWork;\\n    workInProgress.expirationTime = renderExpirationTime;\\n    workInProgress.child = null;\\n    workInProgress.memoizedProps = null;\\n    workInProgress.memoizedState = null;\\n    workInProgress.updateQueue = null;\\n    workInProgress.dependencies = null;\\n\\n    {\\n      // Note: We don't reset the actualTime counts. It's useful to accumulate\\n      // actual time across multiple render passes.\\n      workInProgress.selfBaseDuration = 0;\\n      workInProgress.treeBaseDuration = 0;\\n    }\\n  } else {\\n    // Reset to the cloned values that createWorkInProgress would've.\\n    workInProgress.childExpirationTime = current.childExpirationTime;\\n    workInProgress.expirationTime = current.expirationTime;\\n    workInProgress.child = current.child;\\n    workInProgress.memoizedProps = current.memoizedProps;\\n    workInProgress.memoizedState = current.memoizedState;\\n    workInProgress.updateQueue = current.updateQueue; // Clone the dependencies object. This is mutated during the render phase, so\\n    // it cannot be shared with the current fiber.\\n\\n    var currentDependencies = current.dependencies;\\n    workInProgress.dependencies = currentDependencies === null ? null : {\\n      expirationTime: currentDependencies.expirationTime,\\n      firstContext: currentDependencies.firstContext,\\n      responders: currentDependencies.responders\\n    };\\n\\n    {\\n      // Note: We don't reset the actualTime counts. It's useful to accumulate\\n      // actual time across multiple render passes.\\n      workInProgress.selfBaseDuration = current.selfBaseDuration;\\n      workInProgress.treeBaseDuration = current.treeBaseDuration;\\n    }\\n  }\\n\\n  return workInProgress;\\n}\\nfunction createHostRootFiber(tag) {\\n  var mode;\\n\\n  if (tag === ConcurrentRoot) {\\n    mode = ConcurrentMode | BlockingMode | StrictMode;\\n  } else if (tag === BlockingRoot) {\\n    mode = BlockingMode | StrictMode;\\n  } else {\\n    mode = NoMode;\\n  }\\n\\n  if ( isDevToolsPresent) {\\n    // Always collect profile timings when DevTools are present.\\n    // This enables DevTools to start capturing timing at any point–\\n    // Without some nodes in the tree having empty base times.\\n    mode |= ProfileMode;\\n  }\\n\\n  return createFiber(HostRoot, null, null, mode);\\n}\\nfunction createFiberFromTypeAndProps(type, // React$ElementType\\nkey, pendingProps, owner, mode, expirationTime) {\\n  var fiber;\\n  var fiberTag = IndeterminateComponent; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.\\n\\n  var resolvedType = type;\\n\\n  if (typeof type === 'function') {\\n    if (shouldConstruct(type)) {\\n      fiberTag = ClassComponent;\\n\\n      {\\n        resolvedType = resolveClassForHotReloading(resolvedType);\\n      }\\n    } else {\\n      {\\n        resolvedType = resolveFunctionForHotReloading(resolvedType);\\n      }\\n    }\\n  } else if (typeof type === 'string') {\\n    fiberTag = HostComponent;\\n  } else {\\n    getTag: switch (type) {\\n      case REACT_FRAGMENT_TYPE:\\n        return createFiberFromFragment(pendingProps.children, mode, expirationTime, key);\\n\\n      case REACT_CONCURRENT_MODE_TYPE:\\n        fiberTag = Mode;\\n        mode |= ConcurrentMode | BlockingMode | StrictMode;\\n        break;\\n\\n      case REACT_STRICT_MODE_TYPE:\\n        fiberTag = Mode;\\n        mode |= StrictMode;\\n        break;\\n\\n      case REACT_PROFILER_TYPE:\\n        return createFiberFromProfiler(pendingProps, mode, expirationTime, key);\\n\\n      case REACT_SUSPENSE_TYPE:\\n        return createFiberFromSuspense(pendingProps, mode, expirationTime, key);\\n\\n      case REACT_SUSPENSE_LIST_TYPE:\\n        return createFiberFromSuspenseList(pendingProps, mode, expirationTime, key);\\n\\n      default:\\n        {\\n          if (typeof type === 'object' && type !== null) {\\n            switch (type.$$typeof) {\\n              case REACT_PROVIDER_TYPE:\\n                fiberTag = ContextProvider;\\n                break getTag;\\n\\n              case REACT_CONTEXT_TYPE:\\n                // This is a consumer\\n                fiberTag = ContextConsumer;\\n                break getTag;\\n\\n              case REACT_FORWARD_REF_TYPE:\\n                fiberTag = ForwardRef;\\n\\n                {\\n                  resolvedType = resolveForwardRefForHotReloading(resolvedType);\\n                }\\n\\n                break getTag;\\n\\n              case REACT_MEMO_TYPE:\\n                fiberTag = MemoComponent;\\n                break getTag;\\n\\n              case REACT_LAZY_TYPE:\\n                fiberTag = LazyComponent;\\n                resolvedType = null;\\n                break getTag;\\n\\n              case REACT_BLOCK_TYPE:\\n                fiberTag = Block;\\n                break getTag;\\n\\n            }\\n          }\\n\\n          var info = '';\\n\\n          {\\n            if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\\n              info += ' You likely forgot to export your component from the file ' + \\\"it's defined in, or you might have mixed up default and \\\" + 'named imports.';\\n            }\\n\\n            var ownerName = owner ? getComponentName(owner.type) : null;\\n\\n            if (ownerName) {\\n              info += '\\\\n\\\\nCheck the render method of `' + ownerName + '`.';\\n            }\\n          }\\n\\n          {\\n            {\\n              throw Error( \\\"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \\\" + (type == null ? type : typeof type) + \\\".\\\" + info );\\n            }\\n          }\\n        }\\n    }\\n  }\\n\\n  fiber = createFiber(fiberTag, pendingProps, key, mode);\\n  fiber.elementType = type;\\n  fiber.type = resolvedType;\\n  fiber.expirationTime = expirationTime;\\n  return fiber;\\n}\\nfunction createFiberFromElement(element, mode, expirationTime) {\\n  var owner = null;\\n\\n  {\\n    owner = element._owner;\\n  }\\n\\n  var type = element.type;\\n  var key = element.key;\\n  var pendingProps = element.props;\\n  var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, expirationTime);\\n\\n  {\\n    fiber._debugSource = element._source;\\n    fiber._debugOwner = element._owner;\\n  }\\n\\n  return fiber;\\n}\\nfunction createFiberFromFragment(elements, mode, expirationTime, key) {\\n  var fiber = createFiber(Fragment, elements, key, mode);\\n  fiber.expirationTime = expirationTime;\\n  return fiber;\\n}\\n\\nfunction createFiberFromProfiler(pendingProps, mode, expirationTime, key) {\\n  {\\n    if (typeof pendingProps.id !== 'string' || typeof pendingProps.onRender !== 'function') {\\n      error('Profiler must specify an \\\"id\\\" string and \\\"onRender\\\" function as props');\\n    }\\n  }\\n\\n  var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); // TODO: The Profiler fiber shouldn't have a type. It has a tag.\\n\\n  fiber.elementType = REACT_PROFILER_TYPE;\\n  fiber.type = REACT_PROFILER_TYPE;\\n  fiber.expirationTime = expirationTime;\\n  return fiber;\\n}\\n\\nfunction createFiberFromSuspense(pendingProps, mode, expirationTime, key) {\\n  var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag.\\n  // This needs to be fixed in getComponentName so that it relies on the tag\\n  // instead.\\n\\n  fiber.type = REACT_SUSPENSE_TYPE;\\n  fiber.elementType = REACT_SUSPENSE_TYPE;\\n  fiber.expirationTime = expirationTime;\\n  return fiber;\\n}\\nfunction createFiberFromSuspenseList(pendingProps, mode, expirationTime, key) {\\n  var fiber = createFiber(SuspenseListComponent, pendingProps, key, mode);\\n\\n  {\\n    // TODO: The SuspenseListComponent fiber shouldn't have a type. It has a tag.\\n    // This needs to be fixed in getComponentName so that it relies on the tag\\n    // instead.\\n    fiber.type = REACT_SUSPENSE_LIST_TYPE;\\n  }\\n\\n  fiber.elementType = REACT_SUSPENSE_LIST_TYPE;\\n  fiber.expirationTime = expirationTime;\\n  return fiber;\\n}\\nfunction createFiberFromText(content, mode, expirationTime) {\\n  var fiber = createFiber(HostText, content, null, mode);\\n  fiber.expirationTime = expirationTime;\\n  return fiber;\\n}\\nfunction createFiberFromHostInstanceForDeletion() {\\n  var fiber = createFiber(HostComponent, null, null, NoMode); // TODO: These should not need a type.\\n\\n  fiber.elementType = 'DELETED';\\n  fiber.type = 'DELETED';\\n  return fiber;\\n}\\nfunction createFiberFromPortal(portal, mode, expirationTime) {\\n  var pendingProps = portal.children !== null ? portal.children : [];\\n  var fiber = createFiber(HostPortal, pendingProps, portal.key, mode);\\n  fiber.expirationTime = expirationTime;\\n  fiber.stateNode = {\\n    containerInfo: portal.containerInfo,\\n    pendingChildren: null,\\n    // Used by persistent updates\\n    implementation: portal.implementation\\n  };\\n  return fiber;\\n} // Used for stashing WIP properties to replay failed work in DEV.\\n\\nfunction assignFiberPropertiesInDEV(target, source) {\\n  if (target === null) {\\n    // This Fiber's initial properties will always be overwritten.\\n    // We only use a Fiber to ensure the same hidden class so DEV isn't slow.\\n    target = createFiber(IndeterminateComponent, null, null, NoMode);\\n  } // This is intentionally written as a list of all properties.\\n  // We tried to use Object.assign() instead but this is called in\\n  // the hottest path, and Object.assign() was too slow:\\n  // https://github.com/facebook/react/issues/12502\\n  // This code is DEV-only so size is not a concern.\\n\\n\\n  target.tag = source.tag;\\n  target.key = source.key;\\n  target.elementType = source.elementType;\\n  target.type = source.type;\\n  target.stateNode = source.stateNode;\\n  target.return = source.return;\\n  target.child = source.child;\\n  target.sibling = source.sibling;\\n  target.index = source.index;\\n  target.ref = source.ref;\\n  target.pendingProps = source.pendingProps;\\n  target.memoizedProps = source.memoizedProps;\\n  target.updateQueue = source.updateQueue;\\n  target.memoizedState = source.memoizedState;\\n  target.dependencies = source.dependencies;\\n  target.mode = source.mode;\\n  target.effectTag = source.effectTag;\\n  target.nextEffect = source.nextEffect;\\n  target.firstEffect = source.firstEffect;\\n  target.lastEffect = source.lastEffect;\\n  target.expirationTime = source.expirationTime;\\n  target.childExpirationTime = source.childExpirationTime;\\n  target.alternate = source.alternate;\\n\\n  {\\n    target.actualDuration = source.actualDuration;\\n    target.actualStartTime = source.actualStartTime;\\n    target.selfBaseDuration = source.selfBaseDuration;\\n    target.treeBaseDuration = source.treeBaseDuration;\\n  }\\n\\n  {\\n    target._debugID = source._debugID;\\n  }\\n\\n  target._debugSource = source._debugSource;\\n  target._debugOwner = source._debugOwner;\\n  target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming;\\n  target._debugNeedsRemount = source._debugNeedsRemount;\\n  target._debugHookTypes = source._debugHookTypes;\\n  return target;\\n}\\n\\nfunction FiberRootNode(containerInfo, tag, hydrate) {\\n  this.tag = tag;\\n  this.current = null;\\n  this.containerInfo = containerInfo;\\n  this.pendingChildren = null;\\n  this.pingCache = null;\\n  this.finishedExpirationTime = NoWork;\\n  this.finishedWork = null;\\n  this.timeoutHandle = noTimeout;\\n  this.context = null;\\n  this.pendingContext = null;\\n  this.hydrate = hydrate;\\n  this.callbackNode = null;\\n  this.callbackPriority = NoPriority;\\n  this.firstPendingTime = NoWork;\\n  this.firstSuspendedTime = NoWork;\\n  this.lastSuspendedTime = NoWork;\\n  this.nextKnownPendingLevel = NoWork;\\n  this.lastPingedTime = NoWork;\\n  this.lastExpiredTime = NoWork;\\n\\n  {\\n    this.interactionThreadID = tracing.unstable_getThreadID();\\n    this.memoizedInteractions = new Set();\\n    this.pendingInteractionMap = new Map();\\n  }\\n}\\n\\nfunction createFiberRoot(containerInfo, tag, hydrate, hydrationCallbacks) {\\n  var root = new FiberRootNode(containerInfo, tag, hydrate);\\n  // stateNode is any.\\n\\n\\n  var uninitializedFiber = createHostRootFiber(tag);\\n  root.current = uninitializedFiber;\\n  uninitializedFiber.stateNode = root;\\n  initializeUpdateQueue(uninitializedFiber);\\n  return root;\\n}\\nfunction isRootSuspendedAtTime(root, expirationTime) {\\n  var firstSuspendedTime = root.firstSuspendedTime;\\n  var lastSuspendedTime = root.lastSuspendedTime;\\n  return firstSuspendedTime !== NoWork && firstSuspendedTime >= expirationTime && lastSuspendedTime <= expirationTime;\\n}\\nfunction markRootSuspendedAtTime(root, expirationTime) {\\n  var firstSuspendedTime = root.firstSuspendedTime;\\n  var lastSuspendedTime = root.lastSuspendedTime;\\n\\n  if (firstSuspendedTime < expirationTime) {\\n    root.firstSuspendedTime = expirationTime;\\n  }\\n\\n  if (lastSuspendedTime > expirationTime || firstSuspendedTime === NoWork) {\\n    root.lastSuspendedTime = expirationTime;\\n  }\\n\\n  if (expirationTime <= root.lastPingedTime) {\\n    root.lastPingedTime = NoWork;\\n  }\\n\\n  if (expirationTime <= root.lastExpiredTime) {\\n    root.lastExpiredTime = NoWork;\\n  }\\n}\\nfunction markRootUpdatedAtTime(root, expirationTime) {\\n  // Update the range of pending times\\n  var firstPendingTime = root.firstPendingTime;\\n\\n  if (expirationTime > firstPendingTime) {\\n    root.firstPendingTime = expirationTime;\\n  } // Update the range of suspended times. Treat everything lower priority or\\n  // equal to this update as unsuspended.\\n\\n\\n  var firstSuspendedTime = root.firstSuspendedTime;\\n\\n  if (firstSuspendedTime !== NoWork) {\\n    if (expirationTime >= firstSuspendedTime) {\\n      // The entire suspended range is now unsuspended.\\n      root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork;\\n    } else if (expirationTime >= root.lastSuspendedTime) {\\n      root.lastSuspendedTime = expirationTime + 1;\\n    } // This is a pending level. Check if it's higher priority than the next\\n    // known pending level.\\n\\n\\n    if (expirationTime > root.nextKnownPendingLevel) {\\n      root.nextKnownPendingLevel = expirationTime;\\n    }\\n  }\\n}\\nfunction markRootFinishedAtTime(root, finishedExpirationTime, remainingExpirationTime) {\\n  // Update the range of pending times\\n  root.firstPendingTime = remainingExpirationTime; // Update the range of suspended times. Treat everything higher priority or\\n  // equal to this update as unsuspended.\\n\\n  if (finishedExpirationTime <= root.lastSuspendedTime) {\\n    // The entire suspended range is now unsuspended.\\n    root.firstSuspendedTime = root.lastSuspendedTime = root.nextKnownPendingLevel = NoWork;\\n  } else if (finishedExpirationTime <= root.firstSuspendedTime) {\\n    // Part of the suspended range is now unsuspended. Narrow the range to\\n    // include everything between the unsuspended time (non-inclusive) and the\\n    // last suspended time.\\n    root.firstSuspendedTime = finishedExpirationTime - 1;\\n  }\\n\\n  if (finishedExpirationTime <= root.lastPingedTime) {\\n    // Clear the pinged time\\n    root.lastPingedTime = NoWork;\\n  }\\n\\n  if (finishedExpirationTime <= root.lastExpiredTime) {\\n    // Clear the expired time\\n    root.lastExpiredTime = NoWork;\\n  }\\n}\\nfunction markRootExpiredAtTime(root, expirationTime) {\\n  var lastExpiredTime = root.lastExpiredTime;\\n\\n  if (lastExpiredTime === NoWork || lastExpiredTime > expirationTime) {\\n    root.lastExpiredTime = expirationTime;\\n  }\\n}\\n\\nvar didWarnAboutNestedUpdates;\\nvar didWarnAboutFindNodeInStrictMode;\\n\\n{\\n  didWarnAboutNestedUpdates = false;\\n  didWarnAboutFindNodeInStrictMode = {};\\n}\\n\\nfunction getContextForSubtree(parentComponent) {\\n  if (!parentComponent) {\\n    return emptyContextObject;\\n  }\\n\\n  var fiber = get(parentComponent);\\n  var parentContext = findCurrentUnmaskedContext(fiber);\\n\\n  if (fiber.tag === ClassComponent) {\\n    var Component = fiber.type;\\n\\n    if (isContextProvider(Component)) {\\n      return processChildContext(fiber, Component, parentContext);\\n    }\\n  }\\n\\n  return parentContext;\\n}\\n\\nfunction findHostInstanceWithWarning(component, methodName) {\\n  {\\n    var fiber = get(component);\\n\\n    if (fiber === undefined) {\\n      if (typeof component.render === 'function') {\\n        {\\n          {\\n            throw Error( \\\"Unable to find node on an unmounted component.\\\" );\\n          }\\n        }\\n      } else {\\n        {\\n          {\\n            throw Error( \\\"Argument appears to not be a ReactComponent. Keys: \\\" + Object.keys(component) );\\n          }\\n        }\\n      }\\n    }\\n\\n    var hostFiber = findCurrentHostFiber(fiber);\\n\\n    if (hostFiber === null) {\\n      return null;\\n    }\\n\\n    if (hostFiber.mode & StrictMode) {\\n      var componentName = getComponentName(fiber.type) || 'Component';\\n\\n      if (!didWarnAboutFindNodeInStrictMode[componentName]) {\\n        didWarnAboutFindNodeInStrictMode[componentName] = true;\\n\\n        if (fiber.mode & StrictMode) {\\n          error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber));\\n        } else {\\n          error('%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-find-node%s', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber));\\n        }\\n      }\\n    }\\n\\n    return hostFiber.stateNode;\\n  }\\n}\\n\\nfunction createContainer(containerInfo, tag, hydrate, hydrationCallbacks) {\\n  return createFiberRoot(containerInfo, tag, hydrate);\\n}\\nfunction updateContainer(element, container, parentComponent, callback) {\\n  {\\n    onScheduleRoot(container, element);\\n  }\\n\\n  var current$1 = container.current;\\n  var currentTime = requestCurrentTimeForUpdate();\\n\\n  {\\n    // $FlowExpectedError - jest isn't a global, and isn't recognized outside of tests\\n    if ('undefined' !== typeof jest) {\\n      warnIfUnmockedScheduler(current$1);\\n      warnIfNotScopedWithMatchingAct(current$1);\\n    }\\n  }\\n\\n  var suspenseConfig = requestCurrentSuspenseConfig();\\n  var expirationTime = computeExpirationForFiber(currentTime, current$1, suspenseConfig);\\n  var context = getContextForSubtree(parentComponent);\\n\\n  if (container.context === null) {\\n    container.context = context;\\n  } else {\\n    container.pendingContext = context;\\n  }\\n\\n  {\\n    if (isRendering && current !== null && !didWarnAboutNestedUpdates) {\\n      didWarnAboutNestedUpdates = true;\\n\\n      error('Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\\\\n\\\\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown');\\n    }\\n  }\\n\\n  var update = createUpdate(expirationTime, suspenseConfig); // Caution: React DevTools currently depends on this property\\n  // being called \\\"element\\\".\\n\\n  update.payload = {\\n    element: element\\n  };\\n  callback = callback === undefined ? null : callback;\\n\\n  if (callback !== null) {\\n    {\\n      if (typeof callback !== 'function') {\\n        error('render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback);\\n      }\\n    }\\n\\n    update.callback = callback;\\n  }\\n\\n  enqueueUpdate(current$1, update);\\n  scheduleWork(current$1, expirationTime);\\n  return expirationTime;\\n}\\nfunction getPublicRootInstance(container) {\\n  var containerFiber = container.current;\\n\\n  if (!containerFiber.child) {\\n    return null;\\n  }\\n\\n  switch (containerFiber.child.tag) {\\n    case HostComponent:\\n      return getPublicInstance(containerFiber.child.stateNode);\\n\\n    default:\\n      return containerFiber.child.stateNode;\\n  }\\n}\\n\\nfunction markRetryTimeImpl(fiber, retryTime) {\\n  var suspenseState = fiber.memoizedState;\\n\\n  if (suspenseState !== null && suspenseState.dehydrated !== null) {\\n    if (suspenseState.retryTime < retryTime) {\\n      suspenseState.retryTime = retryTime;\\n    }\\n  }\\n} // Increases the priority of thennables when they resolve within this boundary.\\n\\n\\nfunction markRetryTimeIfNotHydrated(fiber, retryTime) {\\n  markRetryTimeImpl(fiber, retryTime);\\n  var alternate = fiber.alternate;\\n\\n  if (alternate) {\\n    markRetryTimeImpl(alternate, retryTime);\\n  }\\n}\\n\\nfunction attemptUserBlockingHydration$1(fiber) {\\n  if (fiber.tag !== SuspenseComponent) {\\n    // We ignore HostRoots here because we can't increase\\n    // their priority and they should not suspend on I/O,\\n    // since you have to wrap anything that might suspend in\\n    // Suspense.\\n    return;\\n  }\\n\\n  var expTime = computeInteractiveExpiration(requestCurrentTimeForUpdate());\\n  scheduleWork(fiber, expTime);\\n  markRetryTimeIfNotHydrated(fiber, expTime);\\n}\\nfunction attemptContinuousHydration$1(fiber) {\\n  if (fiber.tag !== SuspenseComponent) {\\n    // We ignore HostRoots here because we can't increase\\n    // their priority and they should not suspend on I/O,\\n    // since you have to wrap anything that might suspend in\\n    // Suspense.\\n    return;\\n  }\\n\\n  scheduleWork(fiber, ContinuousHydration);\\n  markRetryTimeIfNotHydrated(fiber, ContinuousHydration);\\n}\\nfunction attemptHydrationAtCurrentPriority$1(fiber) {\\n  if (fiber.tag !== SuspenseComponent) {\\n    // We ignore HostRoots here because we can't increase\\n    // their priority other than synchronously flush it.\\n    return;\\n  }\\n\\n  var currentTime = requestCurrentTimeForUpdate();\\n  var expTime = computeExpirationForFiber(currentTime, fiber, null);\\n  scheduleWork(fiber, expTime);\\n  markRetryTimeIfNotHydrated(fiber, expTime);\\n}\\nfunction findHostInstanceWithNoPortals(fiber) {\\n  var hostFiber = findCurrentHostFiberWithNoPortals(fiber);\\n\\n  if (hostFiber === null) {\\n    return null;\\n  }\\n\\n  if (hostFiber.tag === FundamentalComponent) {\\n    return hostFiber.stateNode.instance;\\n  }\\n\\n  return hostFiber.stateNode;\\n}\\n\\nvar shouldSuspendImpl = function (fiber) {\\n  return false;\\n};\\n\\nfunction shouldSuspend(fiber) {\\n  return shouldSuspendImpl(fiber);\\n}\\nvar overrideHookState = null;\\nvar overrideProps = null;\\nvar scheduleUpdate = null;\\nvar setSuspenseHandler = null;\\n\\n{\\n  var copyWithSetImpl = function (obj, path, idx, value) {\\n    if (idx >= path.length) {\\n      return value;\\n    }\\n\\n    var key = path[idx];\\n    var updated = Array.isArray(obj) ? obj.slice() : _assign({}, obj); // $FlowFixMe number or string is fine here\\n\\n    updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value);\\n    return updated;\\n  };\\n\\n  var copyWithSet = function (obj, path, value) {\\n    return copyWithSetImpl(obj, path, 0, value);\\n  }; // Support DevTools editable values for useState and useReducer.\\n\\n\\n  overrideHookState = function (fiber, id, path, value) {\\n    // For now, the \\\"id\\\" of stateful hooks is just the stateful hook index.\\n    // This may change in the future with e.g. nested hooks.\\n    var currentHook = fiber.memoizedState;\\n\\n    while (currentHook !== null && id > 0) {\\n      currentHook = currentHook.next;\\n      id--;\\n    }\\n\\n    if (currentHook !== null) {\\n      var newState = copyWithSet(currentHook.memoizedState, path, value);\\n      currentHook.memoizedState = newState;\\n      currentHook.baseState = newState; // We aren't actually adding an update to the queue,\\n      // because there is no update we can add for useReducer hooks that won't trigger an error.\\n      // (There's no appropriate action type for DevTools overrides.)\\n      // As a result though, React will see the scheduled update as a noop and bailout.\\n      // Shallow cloning props works as a workaround for now to bypass the bailout check.\\n\\n      fiber.memoizedProps = _assign({}, fiber.memoizedProps);\\n      scheduleWork(fiber, Sync);\\n    }\\n  }; // Support DevTools props for function components, forwardRef, memo, host components, etc.\\n\\n\\n  overrideProps = function (fiber, path, value) {\\n    fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);\\n\\n    if (fiber.alternate) {\\n      fiber.alternate.pendingProps = fiber.pendingProps;\\n    }\\n\\n    scheduleWork(fiber, Sync);\\n  };\\n\\n  scheduleUpdate = function (fiber) {\\n    scheduleWork(fiber, Sync);\\n  };\\n\\n  setSuspenseHandler = function (newShouldSuspendImpl) {\\n    shouldSuspendImpl = newShouldSuspendImpl;\\n  };\\n}\\n\\nfunction injectIntoDevTools(devToolsConfig) {\\n  var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance;\\n  var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\\n  return injectInternals(_assign({}, devToolsConfig, {\\n    overrideHookState: overrideHookState,\\n    overrideProps: overrideProps,\\n    setSuspenseHandler: setSuspenseHandler,\\n    scheduleUpdate: scheduleUpdate,\\n    currentDispatcherRef: ReactCurrentDispatcher,\\n    findHostInstanceByFiber: function (fiber) {\\n      var hostFiber = findCurrentHostFiber(fiber);\\n\\n      if (hostFiber === null) {\\n        return null;\\n      }\\n\\n      return hostFiber.stateNode;\\n    },\\n    findFiberByHostInstance: function (instance) {\\n      if (!findFiberByHostInstance) {\\n        // Might not be implemented by the renderer.\\n        return null;\\n      }\\n\\n      return findFiberByHostInstance(instance);\\n    },\\n    // React Refresh\\n    findHostInstancesForRefresh:  findHostInstancesForRefresh ,\\n    scheduleRefresh:  scheduleRefresh ,\\n    scheduleRoot:  scheduleRoot ,\\n    setRefreshHandler:  setRefreshHandler ,\\n    // Enables DevTools to append owner stacks to error messages in DEV mode.\\n    getCurrentFiber:  function () {\\n      return current;\\n    } \\n  }));\\n}\\nvar IsSomeRendererActing$1 = ReactSharedInternals.IsSomeRendererActing;\\n\\nfunction ReactDOMRoot(container, options) {\\n  this._internalRoot = createRootImpl(container, ConcurrentRoot, options);\\n}\\n\\nfunction ReactDOMBlockingRoot(container, tag, options) {\\n  this._internalRoot = createRootImpl(container, tag, options);\\n}\\n\\nReactDOMRoot.prototype.render = ReactDOMBlockingRoot.prototype.render = function (children) {\\n  var root = this._internalRoot;\\n\\n  {\\n    if (typeof arguments[1] === 'function') {\\n      error('render(...): does not support the second callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\\n    }\\n\\n    var container = root.containerInfo;\\n\\n    if (container.nodeType !== COMMENT_NODE) {\\n      var hostInstance = findHostInstanceWithNoPortals(root.current);\\n\\n      if (hostInstance) {\\n        if (hostInstance.parentNode !== container) {\\n          error('render(...): It looks like the React-rendered content of the ' + 'root container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + \\\"root.unmount() to empty a root's container.\\\");\\n        }\\n      }\\n    }\\n  }\\n\\n  updateContainer(children, root, null, null);\\n};\\n\\nReactDOMRoot.prototype.unmount = ReactDOMBlockingRoot.prototype.unmount = function () {\\n  {\\n    if (typeof arguments[0] === 'function') {\\n      error('unmount(...): does not support a callback argument. ' + 'To execute a side effect after rendering, declare it in a component body with useEffect().');\\n    }\\n  }\\n\\n  var root = this._internalRoot;\\n  var container = root.containerInfo;\\n  updateContainer(null, root, null, function () {\\n    unmarkContainerAsRoot(container);\\n  });\\n};\\n\\nfunction createRootImpl(container, tag, options) {\\n  // Tag is either LegacyRoot or Concurrent Root\\n  var hydrate = options != null && options.hydrate === true;\\n  var hydrationCallbacks = options != null && options.hydrationOptions || null;\\n  var root = createContainer(container, tag, hydrate);\\n  markContainerAsRoot(root.current, container);\\n\\n  if (hydrate && tag !== LegacyRoot) {\\n    var doc = container.nodeType === DOCUMENT_NODE ? container : container.ownerDocument;\\n    eagerlyTrapReplayableEvents(container, doc);\\n  }\\n\\n  return root;\\n}\\nfunction createLegacyRoot(container, options) {\\n  return new ReactDOMBlockingRoot(container, LegacyRoot, options);\\n}\\nfunction isValidContainer(node) {\\n  return !!(node && (node.nodeType === ELEMENT_NODE || node.nodeType === DOCUMENT_NODE || node.nodeType === DOCUMENT_FRAGMENT_NODE || node.nodeType === COMMENT_NODE && node.nodeValue === ' react-mount-point-unstable '));\\n}\\n\\nvar ReactCurrentOwner$3 = ReactSharedInternals.ReactCurrentOwner;\\nvar topLevelUpdateWarnings;\\nvar warnedAboutHydrateAPI = false;\\n\\n{\\n  topLevelUpdateWarnings = function (container) {\\n    if (container._reactRootContainer && container.nodeType !== COMMENT_NODE) {\\n      var hostInstance = findHostInstanceWithNoPortals(container._reactRootContainer._internalRoot.current);\\n\\n      if (hostInstance) {\\n        if (hostInstance.parentNode !== container) {\\n          error('render(...): It looks like the React-rendered content of this ' + 'container was removed without using React. This is not ' + 'supported and will cause errors. Instead, call ' + 'ReactDOM.unmountComponentAtNode to empty a container.');\\n        }\\n      }\\n    }\\n\\n    var isRootRenderedBySomeReact = !!container._reactRootContainer;\\n    var rootEl = getReactRootElementInContainer(container);\\n    var hasNonRootReactChild = !!(rootEl && getInstanceFromNode$1(rootEl));\\n\\n    if (hasNonRootReactChild && !isRootRenderedBySomeReact) {\\n      error('render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.');\\n    }\\n\\n    if (container.nodeType === ELEMENT_NODE && container.tagName && container.tagName.toUpperCase() === 'BODY') {\\n      error('render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.');\\n    }\\n  };\\n}\\n\\nfunction getReactRootElementInContainer(container) {\\n  if (!container) {\\n    return null;\\n  }\\n\\n  if (container.nodeType === DOCUMENT_NODE) {\\n    return container.documentElement;\\n  } else {\\n    return container.firstChild;\\n  }\\n}\\n\\nfunction shouldHydrateDueToLegacyHeuristic(container) {\\n  var rootElement = getReactRootElementInContainer(container);\\n  return !!(rootElement && rootElement.nodeType === ELEMENT_NODE && rootElement.hasAttribute(ROOT_ATTRIBUTE_NAME));\\n}\\n\\nfunction legacyCreateRootFromDOMContainer(container, forceHydrate) {\\n  var shouldHydrate = forceHydrate || shouldHydrateDueToLegacyHeuristic(container); // First clear any existing content.\\n\\n  if (!shouldHydrate) {\\n    var warned = false;\\n    var rootSibling;\\n\\n    while (rootSibling = container.lastChild) {\\n      {\\n        if (!warned && rootSibling.nodeType === ELEMENT_NODE && rootSibling.hasAttribute(ROOT_ATTRIBUTE_NAME)) {\\n          warned = true;\\n\\n          error('render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.');\\n        }\\n      }\\n\\n      container.removeChild(rootSibling);\\n    }\\n  }\\n\\n  {\\n    if (shouldHydrate && !forceHydrate && !warnedAboutHydrateAPI) {\\n      warnedAboutHydrateAPI = true;\\n\\n      warn('render(): Calling ReactDOM.render() to hydrate server-rendered markup ' + 'will stop working in React v17. Replace the ReactDOM.render() call ' + 'with ReactDOM.hydrate() if you want React to attach to the server HTML.');\\n    }\\n  }\\n\\n  return createLegacyRoot(container, shouldHydrate ? {\\n    hydrate: true\\n  } : undefined);\\n}\\n\\nfunction warnOnInvalidCallback$1(callback, callerName) {\\n  {\\n    if (callback !== null && typeof callback !== 'function') {\\n      error('%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback);\\n    }\\n  }\\n}\\n\\nfunction legacyRenderSubtreeIntoContainer(parentComponent, children, container, forceHydrate, callback) {\\n  {\\n    topLevelUpdateWarnings(container);\\n    warnOnInvalidCallback$1(callback === undefined ? null : callback, 'render');\\n  } // TODO: Without `any` type, Flow says \\\"Property cannot be accessed on any\\n  // member of intersection type.\\\" Whyyyyyy.\\n\\n\\n  var root = container._reactRootContainer;\\n  var fiberRoot;\\n\\n  if (!root) {\\n    // Initial mount\\n    root = container._reactRootContainer = legacyCreateRootFromDOMContainer(container, forceHydrate);\\n    fiberRoot = root._internalRoot;\\n\\n    if (typeof callback === 'function') {\\n      var originalCallback = callback;\\n\\n      callback = function () {\\n        var instance = getPublicRootInstance(fiberRoot);\\n        originalCallback.call(instance);\\n      };\\n    } // Initial mount should not be batched.\\n\\n\\n    unbatchedUpdates(function () {\\n      updateContainer(children, fiberRoot, parentComponent, callback);\\n    });\\n  } else {\\n    fiberRoot = root._internalRoot;\\n\\n    if (typeof callback === 'function') {\\n      var _originalCallback = callback;\\n\\n      callback = function () {\\n        var instance = getPublicRootInstance(fiberRoot);\\n\\n        _originalCallback.call(instance);\\n      };\\n    } // Update\\n\\n\\n    updateContainer(children, fiberRoot, parentComponent, callback);\\n  }\\n\\n  return getPublicRootInstance(fiberRoot);\\n}\\n\\nfunction findDOMNode(componentOrElement) {\\n  {\\n    var owner = ReactCurrentOwner$3.current;\\n\\n    if (owner !== null && owner.stateNode !== null) {\\n      var warnedAboutRefsInRender = owner.stateNode._warnedAboutRefsInRender;\\n\\n      if (!warnedAboutRefsInRender) {\\n        error('%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(owner.type) || 'A component');\\n      }\\n\\n      owner.stateNode._warnedAboutRefsInRender = true;\\n    }\\n  }\\n\\n  if (componentOrElement == null) {\\n    return null;\\n  }\\n\\n  if (componentOrElement.nodeType === ELEMENT_NODE) {\\n    return componentOrElement;\\n  }\\n\\n  {\\n    return findHostInstanceWithWarning(componentOrElement, 'findDOMNode');\\n  }\\n}\\nfunction hydrate(element, container, callback) {\\n  if (!isValidContainer(container)) {\\n    {\\n      throw Error( \\\"Target container is not a DOM element.\\\" );\\n    }\\n  }\\n\\n  {\\n    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\\n\\n    if (isModernRoot) {\\n      error('You are calling ReactDOM.hydrate() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call createRoot(container, {hydrate: true}).render(element)?');\\n    }\\n  } // TODO: throw or warn if we couldn't hydrate?\\n\\n\\n  return legacyRenderSubtreeIntoContainer(null, element, container, true, callback);\\n}\\nfunction render(element, container, callback) {\\n  if (!isValidContainer(container)) {\\n    {\\n      throw Error( \\\"Target container is not a DOM element.\\\" );\\n    }\\n  }\\n\\n  {\\n    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\\n\\n    if (isModernRoot) {\\n      error('You are calling ReactDOM.render() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. ' + 'Did you mean to call root.render(element)?');\\n    }\\n  }\\n\\n  return legacyRenderSubtreeIntoContainer(null, element, container, false, callback);\\n}\\nfunction unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\\n  if (!isValidContainer(containerNode)) {\\n    {\\n      throw Error( \\\"Target container is not a DOM element.\\\" );\\n    }\\n  }\\n\\n  if (!(parentComponent != null && has(parentComponent))) {\\n    {\\n      throw Error( \\\"parentComponent must be a valid React Component\\\" );\\n    }\\n  }\\n\\n  return legacyRenderSubtreeIntoContainer(parentComponent, element, containerNode, false, callback);\\n}\\nfunction unmountComponentAtNode(container) {\\n  if (!isValidContainer(container)) {\\n    {\\n      throw Error( \\\"unmountComponentAtNode(...): Target container is not a DOM element.\\\" );\\n    }\\n  }\\n\\n  {\\n    var isModernRoot = isContainerMarkedAsRoot(container) && container._reactRootContainer === undefined;\\n\\n    if (isModernRoot) {\\n      error('You are calling ReactDOM.unmountComponentAtNode() on a container that was previously ' + 'passed to ReactDOM.createRoot(). This is not supported. Did you mean to call root.unmount()?');\\n    }\\n  }\\n\\n  if (container._reactRootContainer) {\\n    {\\n      var rootEl = getReactRootElementInContainer(container);\\n      var renderedByDifferentReact = rootEl && !getInstanceFromNode$1(rootEl);\\n\\n      if (renderedByDifferentReact) {\\n        error(\\\"unmountComponentAtNode(): The node you're attempting to unmount \\\" + 'was rendered by another copy of React.');\\n      }\\n    } // Unmount should not be batched.\\n\\n\\n    unbatchedUpdates(function () {\\n      legacyRenderSubtreeIntoContainer(null, null, container, false, function () {\\n        // $FlowFixMe This should probably use `delete container._reactRootContainer`\\n        container._reactRootContainer = null;\\n        unmarkContainerAsRoot(container);\\n      });\\n    }); // If you call unmountComponentAtNode twice in quick succession, you'll\\n    // get `true` twice. That's probably fine?\\n\\n    return true;\\n  } else {\\n    {\\n      var _rootEl = getReactRootElementInContainer(container);\\n\\n      var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode$1(_rootEl)); // Check if the container itself is a React root node.\\n\\n      var isContainerReactRoot = container.nodeType === ELEMENT_NODE && isValidContainer(container.parentNode) && !!container.parentNode._reactRootContainer;\\n\\n      if (hasNonRootReactChild) {\\n        error(\\\"unmountComponentAtNode(): The node you're attempting to unmount \\\" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.');\\n      }\\n    }\\n\\n    return false;\\n  }\\n}\\n\\nfunction createPortal(children, containerInfo, // TODO: figure out the API for cross-renderer implementation.\\nimplementation) {\\n  var key = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\\n  return {\\n    // This tag allow us to uniquely identify this as a React Portal\\n    $$typeof: REACT_PORTAL_TYPE,\\n    key: key == null ? null : '' + key,\\n    children: children,\\n    containerInfo: containerInfo,\\n    implementation: implementation\\n  };\\n}\\n\\nvar ReactVersion = '16.13.1';\\n\\nsetAttemptUserBlockingHydration(attemptUserBlockingHydration$1);\\nsetAttemptContinuousHydration(attemptContinuousHydration$1);\\nsetAttemptHydrationAtCurrentPriority(attemptHydrationAtCurrentPriority$1);\\nvar didWarnAboutUnstableCreatePortal = false;\\n\\n{\\n  if (typeof Map !== 'function' || // $FlowIssue Flow incorrectly thinks Map has no prototype\\n  Map.prototype == null || typeof Map.prototype.forEach !== 'function' || typeof Set !== 'function' || // $FlowIssue Flow incorrectly thinks Set has no prototype\\n  Set.prototype == null || typeof Set.prototype.clear !== 'function' || typeof Set.prototype.forEach !== 'function') {\\n    error('React depends on Map and Set built-in types. Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\\n  }\\n}\\n\\nsetRestoreImplementation(restoreControlledState$3);\\nsetBatchingImplementation(batchedUpdates$1, discreteUpdates$1, flushDiscreteUpdates, batchedEventUpdates$1);\\n\\nfunction createPortal$1(children, container) {\\n  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\\n\\n  if (!isValidContainer(container)) {\\n    {\\n      throw Error( \\\"Target container is not a DOM element.\\\" );\\n    }\\n  } // TODO: pass ReactDOM portal implementation as third argument\\n  // $FlowFixMe The Flow type is opaque but there's no way to actually create it.\\n\\n\\n  return createPortal(children, container, null, key);\\n}\\n\\nfunction renderSubtreeIntoContainer(parentComponent, element, containerNode, callback) {\\n\\n  return unstable_renderSubtreeIntoContainer(parentComponent, element, containerNode, callback);\\n}\\n\\nfunction unstable_createPortal(children, container) {\\n  var key = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\\n\\n  {\\n    if (!didWarnAboutUnstableCreatePortal) {\\n      didWarnAboutUnstableCreatePortal = true;\\n\\n      warn('The ReactDOM.unstable_createPortal() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactDOM.createPortal() instead. It has the exact same API, ' + 'but without the \\\"unstable_\\\" prefix.');\\n    }\\n  }\\n\\n  return createPortal$1(children, container, key);\\n}\\n\\nvar Internals = {\\n  // Keep in sync with ReactDOMUnstableNativeDependencies.js\\n  // ReactTestUtils.js, and ReactTestUtilsAct.js. This is an array for better minification.\\n  Events: [getInstanceFromNode$1, getNodeFromInstance$1, getFiberCurrentPropsFromNode$1, injectEventPluginsByName, eventNameDispatchConfigs, accumulateTwoPhaseDispatches, accumulateDirectDispatches, enqueueStateRestore, restoreStateIfNeeded, dispatchEvent, runEventsInBatch, flushPassiveEffects, IsThisRendererActing]\\n};\\nvar foundDevTools = injectIntoDevTools({\\n  findFiberByHostInstance: getClosestInstanceFromNode,\\n  bundleType:  1 ,\\n  version: ReactVersion,\\n  rendererPackageName: 'react-dom'\\n});\\n\\n{\\n  if (!foundDevTools && canUseDOM && window.top === window.self) {\\n    // If we're in Chrome or Firefox, provide a download link if not installed.\\n    if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\\n      var protocol = window.location.protocol; // Don't warn in exotic cases like chrome-extension://.\\n\\n      if (/^(https?|file):$/.test(protocol)) {\\n        // eslint-disable-next-line react-internal/no-production-logging\\n        console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://fb.me/react-devtools' + (protocol === 'file:' ? '\\\\nYou might need to use a local HTTP server (instead of file://): ' + 'https://fb.me/react-devtools-faq' : ''), 'font-weight:bold');\\n      }\\n    }\\n  }\\n}\\n\\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = Internals;\\nexports.createPortal = createPortal$1;\\nexports.findDOMNode = findDOMNode;\\nexports.flushSync = flushSync;\\nexports.hydrate = hydrate;\\nexports.render = render;\\nexports.unmountComponentAtNode = unmountComponentAtNode;\\nexports.unstable_batchedUpdates = batchedUpdates$1;\\nexports.unstable_createPortal = unstable_createPortal;\\nexports.unstable_renderSubtreeIntoContainer = renderSubtreeIntoContainer;\\nexports.version = ReactVersion;\\n  })();\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanM/NjFiYiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOzs7O0FBSWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBLFlBQVksbUJBQU8sQ0FBQyw0Q0FBTztBQUMzQixjQUFjLG1CQUFPLENBQUMsNERBQWU7QUFDckMsZ0JBQWdCLG1CQUFPLENBQUMsb0RBQVc7QUFDbkMscUJBQXFCLG1CQUFPLENBQUMsOEVBQTJCO0FBQ3hELGNBQWMsbUJBQU8sQ0FBQyw4REFBbUI7O0FBRXpDLG9GQUFvRjtBQUNwRjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEZBQTBGLGFBQWE7QUFDdkc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEZBQThGLGVBQWU7QUFDN0c7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsOENBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBLG1GQUFtRjtBQUNuRjtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtRUFBbUU7QUFDbkU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLGdCQUFnQjs7QUFFaEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxnQkFBZ0I7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1AsdUVBQXVFOztBQUV2RTtBQUNBLDhEQUE4RDtBQUM5RDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBOztBQUVBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSx1QkFBdUI7O0FBRXZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsU0FBUztBQUNwQixXQUFXLEVBQUU7QUFDYixXQUFXLEtBQUs7QUFDaEI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxTQUFTO0FBQ3BCLFdBQVcsRUFBRTtBQUNiLFdBQVcsS0FBSztBQUNoQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxlQUFlO0FBQzFCLFdBQVcsU0FBUztBQUNwQixXQUFXLEVBQUU7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUIsOEJBQThCO0FBQ2pEO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQkFBK0I7O0FBRS9CLGlCQUFpQjs7QUFFakIsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksUUFBUTtBQUNwQjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWOztBQUVBLG1DQUFtQyxFQUFFOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxNQUFNO0FBQ2pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQjtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw2Q0FBNkM7O0FBRTdDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1CQUFtQiwwQkFBMEI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCOztBQUUvQixxQ0FBcUM7O0FBRXJDLGlDQUFpQztBQUNqQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCOztBQUVBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUEsZ0JBQWdCO0FBQ2hCO0FBQ0E7QUFDQTs7QUFFQSwyQkFBMkI7QUFDM0I7O0FBRUEsZ0JBQWdCO0FBQ2hCOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7O0FBR0Esb0JBQW9COztBQUVwQjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUU7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUU7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBRTs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUU7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUU7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDs7QUFFQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFFO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7O0FBRUE7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEIsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsRUFBRTtBQUNiOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEVBQTBFO0FBQzFFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsRUFBRTtBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQ0FBaUM7QUFDakM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEsNEJBQTRCO0FBQzVCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBO0FBQ0EseURBQXlEO0FBQ3pEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxpRUFBaUU7QUFDakU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUEsbUJBQW1CLGtCQUFrQjtBQUNyQzs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsOEJBQThCO0FBQzlCOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7O0FBR0Esc0NBQXNDO0FBQ3RDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLOzs7QUFHTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLDJCQUEyQjtBQUM5Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG1CQUFtQiwyQkFBMkI7QUFDOUM7QUFDQTtBQUNBOztBQUVBLG9CQUFvQixxQkFBcUI7QUFDekM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSxxQkFBcUIsc0JBQXNCO0FBQzNDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSw0QkFBNEI7QUFDNUI7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlDQUFpQzs7QUFFakM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCOztBQUVBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixXQUFXLE9BQU87QUFDbEI7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEIsV0FBVyxPQUFPO0FBQ2xCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixhQUFhO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9FQUFvRTs7QUFFcEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLElBQUk7O0FBRUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsT0FBTztBQUNQOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVztBQUN2Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFdBQVcsTUFBTTtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsU0FBUztBQUNwQixXQUFXLEVBQUU7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWSxlQUFlO0FBQzNCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNFQUFzRTs7QUFFdEU7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVksUUFBUTtBQUNwQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7O0FBR0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksRUFBRTtBQUNkO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUEsaUJBQWlCLG9CQUFvQjtBQUNyQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7O0FBRUgsaUJBQWlCLGtDQUFrQztBQUNuRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdEQUF3RDs7QUFFeEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7O0FBRUE7QUFDQTtBQUNBOztBQUVBLGlCQUFpQix5QkFBeUI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDO0FBQzdDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLHlCQUF5QjtBQUMxQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsc0NBQXNDOztBQUV0Qyw4QkFBOEI7QUFDOUI7O0FBRUE7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7QUFDQSxzQ0FBc0M7O0FBRXRDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2REFBNkQ7O0FBRTdEO0FBQ0E7QUFDQSxHQUFHLEVBQUU7O0FBRUw7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQSx5RUFBeUU7QUFDekU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRUFBb0U7QUFDcEU7QUFDQTs7QUFFQSxtQkFBbUIsaUNBQWlDO0FBQ3BEOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsa0JBQWtCLDRDQUE0QztBQUM5RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUpBQWlKOztBQUVqSixrY0FBa2M7O0FBRWxjO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLGtCQUFrQixhQUFhO0FBQy9CO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsdUJBQXVCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQix1QkFBdUI7QUFDeEM7QUFDQTtBQUNBLENBQUM7OztBQUdEO0FBQ0E7QUFDQSw4RkFBOEY7O0FBRTlGO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5REFBeUQ7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBLG9EQUFvRDtBQUNwRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7OztBQUdBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLEVBQUU7QUFDYixZQUFZLE9BQU87QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0I7QUFDeEI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCOztBQUU5Qiw0Q0FBNEM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFdBQVc7QUFDdEIsV0FBVyxPQUFPO0FBQ2xCOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsaUNBQWlDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsbUJBQW1CLHNCQUFzQjtBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLGdDQUFnQyxLQUFLO0FBQzNDO0FBQ0E7QUFDQSxNQUFNLGdDQUFnQyxLQUFLO0FBQzNDO0FBQ0EsNERBQTREO0FBQzVELE1BQU0sZ0NBQWdDLEtBQUs7QUFDM0M7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQSw0TkFBNE47QUFDNU47QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNEVBQTRFLFlBQVk7QUFDeEY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDJIQUEySCw2QkFBNkI7QUFDeEo7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxrRkFBa0Y7QUFDbEY7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTywwQ0FBMEM7OztBQUdqRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrRkFBK0Y7QUFDL0Y7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTywwQ0FBMEM7OztBQUdqRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkVBQTZFOztBQUU3RTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHNKQUFzSixpQkFBaUI7QUFDdkssT0FBTztBQUNQLHNKQUFzSixpQkFBaUIsd0RBQXdELG1CQUFtQixnQkFBZ0IsOEJBQThCO0FBQ2hTOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBLG9HQUFvRyxHQUFHOztBQUV2RztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBLHdFQUF3RTtBQUN4RTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUlBQWlJLG1CQUFtQixnQkFBZ0IsOEJBQThCO0FBQ2xNLEtBQUs7QUFDTDtBQUNBO0FBQ0EsSUFBSTtBQUNKOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLLHFHQUFxRyxrQ0FBa0M7QUFDNUk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUJBQWlCLDBCQUEwQjtBQUMzQztBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNERBQTREO0FBQzVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLCtDQUErQztBQUMvQzs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EscURBQXFEO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQiw0QkFBNEI7QUFDakQ7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsZ0RBQWdEO0FBQ2hEOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLDJFQUEyRSxxR0FBcUcsa0NBQWtDO0FBQ3ZOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUzs7O0FBR1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUsscUdBQXFHO0FBQzFHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtFQUFrRTs7QUFFbEUsOEZBQThGO0FBQzlGOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDRCQUE0QjtBQUNqRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxnREFBZ0Q7QUFDaEQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0Isd0JBQXdCO0FBQzVDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxQ0FBcUM7QUFDckM7QUFDQSwrRUFBK0U7QUFDL0U7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOENBQThDOztBQUU5QztBQUNBLGFBQWE7OztBQUdiO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVyx1QkFBdUI7QUFDbEMsWUFBWTtBQUNaOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsdUJBQXVCO0FBQ2xDLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHVCQUF1QjtBQUNsQyxXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsV0FBVyxXQUFXO0FBQ3RCLFlBQVk7QUFDWjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsWUFBWSxXQUFXO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHVCQUF1QjtBQUNsQyxXQUFXLE9BQU87QUFDbEI7O0FBRUE7QUFDQTtBQUNBLDZDQUE2QztBQUM3QztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw4RUFBOEU7QUFDOUU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixzQkFBc0I7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5REFBeUQ7QUFDekQ7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBO0FBQ0E7QUFDQSwwdkJBQTB2Qjs7QUFFMXZCO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEMsdURBQXVEOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUJBQW1CO0FBQ25CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7O0FBRXpDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsUUFBUSxjQUFjO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0Q7QUFDdEQ7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOzs7QUFHSDtBQUNBLENBQUM7QUFDRDtBQUNBOztBQUVBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssK0NBQStDO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLCtDQUErQztBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBOzs7QUFHQSx5RUFBeUU7QUFDekU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUEseUJBQXlCLE9BQU87QUFDaEM7QUFDQTs7QUFFQTs7QUFFQSx5QkFBeUIsT0FBTztBQUNoQztBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsdUJBQXVCLFNBQVM7QUFDaEM7QUFDQTs7QUFFQSxhQUFhLGlCQUFpQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLHFCQUFxQjtBQUN0QztBQUNBOztBQUVBLDhCQUE4QixVQUFVO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixZQUFZLFVBQVU7QUFDdEI7OztBQUdBO0FBQ0EsZUFBZTtBQUNmLGVBQWU7O0FBRWY7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsZUFBZTtBQUMxQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGlCQUFpQixxQkFBcUI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsZUFBZSxlQUFlO0FBQzlCO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQztBQUMzQztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsRUFBRTtBQUNiLFdBQVcsT0FBTztBQUNsQixXQUFXLGVBQWU7QUFDMUI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0QjtBQUM1Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxjQUFjLFFBQVE7QUFDdEI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1SEFBdUg7QUFDdkgseUhBQXlIO0FBQ3pIO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLDhCQUE4QjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLFFBQVE7QUFDbkIsWUFBWSxPQUFPO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVELG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTs7O0FBR0EsK0VBQStFO0FBQy9FO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVEQUF1RDs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsRUFBRTs7QUFFRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWTtBQUNaOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksUUFBUTtBQUNwQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsV0FBVyxPQUFPO0FBQ2xCLFlBQVksUUFBUTtBQUNwQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLFFBQVE7QUFDcEI7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esd0JBQXdCOztBQUV4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDBHQUEwRztBQUMxRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLENBQUM7OztBQUdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0gsaUJBQWlCLGtCQUFrQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsV0FBVztBQUN0QixZQUFZO0FBQ1o7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVk7QUFDWjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsZ0ZBQWdGO0FBQ2hGOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWSxPQUFPO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DOztBQUVwQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxPQUFPO0FBQ2xCLFlBQVksT0FBTztBQUNuQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBLGlEQUFpRDtBQUNqRDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNQQUFzUDtBQUN0UDs7QUFFQSx3QkFBd0I7QUFDeEI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHLGVBQWU7QUFDbEI7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEscUNBQXFDO0FBQ3JDOztBQUVBLDZDQUE2Qzs7QUFFN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQSx5SEFBeUg7O0FBRXpIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7O0FBR0QsMERBQTBEOztBQUUxRCxvREFBb0Q7QUFDcEQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQ7QUFDbkQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFCQUFxQixtQkFBbUI7QUFDeEM7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7O0FBRUEsMEhBQTBIO0FBQzFIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUVBQXlFO0FBQ3pFOztBQUVBO0FBQ0EsOENBQThDOztBQUU5QztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG1FQUFtRTtBQUNuRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7O0FBRXRCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCOztBQUUzQjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxjQUFjLGtCQUFrQjtBQUNoQzs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsY0FBYztBQUNkOztBQUVBLGFBQWE7QUFDYjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQzs7QUFFdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQSw4REFBOEQ7QUFDOUQscURBQXFEO0FBQ3JELDJEQUEyRDtBQUMzRCwyQ0FBMkM7QUFDM0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFEOztBQUVyRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDhDQUE4Qzs7QUFFOUM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHlCQUF5Qjs7QUFFekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnQ0FBZ0M7O0FBRWhDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDO0FBQzFDLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQjs7QUFFMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjs7QUFFM0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsdUVBQXVFOztBQUV2RTtBQUNBO0FBQ0EsV0FBVztBQUNYOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1EQUFtRCx5REFBeUQ7QUFDNUcsNkJBQTZCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87OztBQUdQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSCx5Q0FBeUM7O0FBRXpDOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVM7OztBQUdUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7OztBQUdULHlCQUF5QjtBQUN6Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0gsa0NBQWtDOztBQUVsQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdDQUFnQzs7QUFFaEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0EsK0JBQStCOztBQUUvQjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsV0FBVzs7O0FBR1g7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQSxvRkFBb0Y7O0FBRXBGO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLG9CQUFvQjtBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNEJBQTRCO0FBQzVCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0gsa0dBQWtHO0FBQ2xHLCtDQUErQztBQUMvQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNklBQTZJOztBQUU3STtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsU0FBUztBQUNULGtFQUFrRSw0Q0FBNEM7QUFDOUc7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7OztBQUdEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0EscURBQXFEO0FBQ3JEOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtJQUFrSTtBQUNsSTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7OztBQUdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrSUFBa0k7QUFDbEk7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsb0NBQW9DOztBQUVwQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw4SkFBOEoseUNBQXlDO0FBQ3ZNO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHFCQUFxQix3QkFBd0I7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFVBQVUsa0RBQWtEO0FBQzVEO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksNkJBQTZCO0FBQ3pDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsS0FBSzs7O0FBR0wsdUVBQXVFOztBQUV2RSxVQUFVLDZCQUE2QjtBQUN2Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPOzs7QUFHUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDs7O0FBR0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQSxjQUFjLGFBQWE7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLFVBQVUsaUNBQWlDO0FBQzNDO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVksWUFBWTtBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMLHVFQUF1RTs7QUFFdkUsVUFBVSxZQUFZO0FBQ3RCOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDLE1BQU07QUFDbkQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDs7QUFFQSw4Q0FBOEM7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw2REFBNkQ7O0FBRTdEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDZEQUE2RDs7QUFFN0Q7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsK0JBQStCO0FBQy9CO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEVBQUU7O0FBRUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQ0FBa0M7QUFDbEM7O0FBRUEscUNBQXFDO0FBQ3JDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhCQUE4QjtBQUM5QixtREFBbUQ7QUFDbkQ7QUFDQTs7QUFFQTtBQUNBLHlCQUF5Qjs7QUFFekIsZ0NBQWdDO0FBQ2hDO0FBQ0E7O0FBRUE7QUFDQSxpQ0FBaUM7QUFDakM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx1QkFBdUIsOEJBQThCO0FBQ3JEO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsaUJBQWlCLDRDQUE0QztBQUM3RDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBOztBQUVBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBLDZDQUE2Qzs7QUFFN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDRCQUE0Qjs7QUFFNUIsb0NBQW9DOztBQUVwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxTQUFTOzs7QUFHVDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0Esa0ZBQWtGOztBQUVsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHNDQUFzQztBQUN0Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUssMkNBQTJDO0FBQ2hEOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEsa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBLHlLQUF5SywwQ0FBMEM7QUFDbk47QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBOztBQUVBLDhDQUE4QztBQUM5QztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EscUVBQXFFO0FBQ3JFO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQztBQUNyQztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSw0SEFBNEg7O0FBRTVILG9DQUFvQztBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlHQUF5RztBQUN6RztBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsK0JBQStCOztBQUUvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBLCtDQUErQzs7QUFFL0M7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDOztBQUV0QztBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsMENBQTBDOztBQUUxQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxHQUFHO0FBQ0g7OztBQUdBLGdEQUFnRDs7QUFFaEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7O0FBRXBDO0FBQ0E7O0FBRUEsMENBQTBDO0FBQzFDOztBQUVBO0FBQ0EscURBQXFEOztBQUVyRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQzs7QUFFcEM7QUFDQSxHQUFHOzs7QUFHSCxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQ0FBb0M7O0FBRXBDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0wsd0NBQXdDOztBQUV4QztBQUNBLHNDQUFzQztBQUN0QztBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsOENBQThDOztBQUU5QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVEQUF1RDtBQUN2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZELEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsNERBQTREO0FBQzVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlJQUFpSTtBQUNqSTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUzs7O0FBR1Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNERBQTREO0FBQzVEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1DQUFtQzs7QUFFbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEseU5BQXlOLEdBQUc7O0FBRTVOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCLHFCQUFxQjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IsWUFBWTtBQUM5QjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQ0FBMkM7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOzs7QUFHWDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBLG9DQUFvQztBQUNwQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQSx1Q0FBdUM7O0FBRXZDO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDs7QUFFbEQ7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDZDQUE2Qzs7QUFFN0M7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLCtCQUErQjtBQUMvQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxhQUFhOzs7QUFHYjtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmLG1IQUFtSDtBQUNuSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZTtBQUNmO0FBQ0E7OztBQUdBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDs7QUFFNUQ7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTyxvQ0FBb0M7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSw4Q0FBOEM7QUFDOUM7QUFDQTs7QUFFQSxxSEFBcUg7O0FBRXJILCtDQUErQztBQUMvQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUztBQUNUOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7O0FBR2I7QUFDQTs7QUFFQSxvREFBb0Q7QUFDcEQ7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQSxzRUFBc0U7O0FBRXRFO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhDQUE4QztBQUM5Qzs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTs7QUFFYjs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0RBQStEOztBQUUvRDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RDtBQUN6RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQjtBQUNuQjtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUEscUVBQXFFOztBQUVyRSx5RUFBeUU7QUFDekU7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBLFdBQVc7O0FBRVgsU0FBUztBQUNUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsdUNBQXVDO0FBQ3ZDOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG9EQUFvRDs7QUFFcEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvRkFBb0Y7O0FBRXBGO0FBQ0E7QUFDQSxpQkFBaUI7OztBQUdqQjtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscURBQXFEO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEVBQTRFO0FBQzVFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXOzs7QUFHWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBOztBQUVBLCtEQUErRDs7QUFFL0Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsK0VBQStFOztBQUUvRTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDJDQUEyQztBQUMzQzs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNENBQTRDO0FBQzVDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7O0FBR0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QiwyQ0FBMkM7O0FBRXhFO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUEsNEdBQTRHO0FBQzVHO0FBQ0E7QUFDQTs7QUFFQSxzQ0FBc0M7QUFDdEM7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFOzs7QUFHRjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtEQUFrRDtBQUNsRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLHlOQUF5TixxQ0FBcUMsd0ZBQXdGLDJCQUEyQixxQkFBcUIsUUFBUSxZQUFZO0FBQzFaLGFBQWE7QUFDYjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0RBQStEO0FBQy9EO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBLGdFQUFnRTtBQUNoRTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLGdEQUFnRDtBQUNoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakIsZUFBZTtBQUNmO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyREFBMkQ7QUFDM0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7QUFDcEM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQOzs7QUFHQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7O0FBR0EscURBQXFEOztBQUVyRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLDZCQUE2Qjs7QUFFN0I7QUFDQTs7QUFFQSw0Q0FBNEM7QUFDNUM7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRywrQkFBK0I7QUFDbEM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUcsK0JBQStCO0FBQ2xDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7O0FBRUEsbUNBQW1DOztBQUVuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxvRUFBb0U7QUFDcEU7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87O0FBRVAsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCw2REFBNkQ7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLG9EQUFvRDtBQUNwRDtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDOztBQUV2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpREFBaUQ7QUFDakQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxrREFBa0Q7O0FBRWxELDZCQUE2QjtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhDQUE4Qzs7QUFFOUM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87O0FBRVA7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxzQ0FBc0M7O0FBRXRDOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxSEFBcUg7O0FBRXJIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxrREFBa0Q7QUFDbEQ7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7OztBQUdBLDRDQUE0Qzs7QUFFNUM7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDs7O0FBR0E7QUFDQSxLQUFLLGtDQUFrQztBQUN2Qzs7O0FBR0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrREFBK0Q7O0FBRS9EOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7O0FBRWpDLDhCQUE4Qjs7QUFFOUIsMEJBQTBCOztBQUUxQixvQ0FBb0M7O0FBRXBDLGtEQUFrRDs7QUFFbEQsd0NBQXdDO0FBQ3hDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EOztBQUVBLHlEQUF5RDtBQUN6RDtBQUNBOztBQUVBLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7O0FBRUEsbUNBQW1DO0FBQ25DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHlCQUF5QjtBQUN6Qjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdEO0FBQ3hEO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlDQUF5QztBQUN6QztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0QsUUFBUTtBQUNSO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBLG1GQUFtRjtBQUNuRjs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMEJBQTBCO0FBQzFCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUZBQW1GO0FBQ25GOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJGQUEyRjs7QUFFM0Y7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7OztBQUdUO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZEQUE2RDtBQUM3RDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7OztBQUdYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUzs7O0FBR1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHdCQUF3QjtBQUN4Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUEsZ0NBQWdDO0FBQ2hDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsNENBQTRDO0FBQzVDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLG1DQUFtQzs7QUFFbkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwwREFBMEQ7QUFDMUQ7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsK0RBQStEOztBQUUvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0Qzs7QUFFNUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSw2RUFBNkU7O0FBRTdFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDZDQUE2Qzs7O0FBRzdDO0FBQ0E7QUFDQSx3RUFBd0U7O0FBRXhFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBLEdBQUcsaUNBQWlDOzs7QUFHcEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0NBQXNDOztBQUV0QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDBEQUEwRDtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsNENBQTRDO0FBQy9DOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEOztBQUVsRCx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSx5Q0FBeUM7QUFDekM7QUFDQTtBQUNBOztBQUVBLGdDQUFnQztBQUNoQztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQSxzQkFBc0I7QUFDdEI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsZ0NBQWdDO0FBQ2hDO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLHVCQUF1Qiw0QkFBNEI7QUFDbkQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUEsdURBQXVEO0FBQ3ZEOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0M7QUFDdEM7O0FBRUEsNkNBQTZDOztBQUU3QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw2Q0FBNkM7O0FBRTdDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBLCtDQUErQzs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwyQkFBMkI7QUFDM0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4Qjs7QUFFOUI7QUFDQTtBQUNBLEdBQUc7OztBQUdIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5Qjs7QUFFekI7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsbURBQW1EOztBQUVuRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxRUFBcUU7O0FBRXJFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsT0FBTyw0Q0FBNEM7QUFDbkQ7OztBQUdBO0FBQ0EsNkJBQTZCO0FBQzdCO0FBQ0E7O0FBRUEsd0NBQXdDOztBQUV4Qzs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPOzs7QUFHUDs7QUFFQTtBQUNBLDZDQUE2QztBQUM3Qzs7QUFFQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhHQUE4Rzs7QUFFOUc7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrTkFBa04sSUFBSSw2QkFBNkIsbUNBQW1DLDBGQUEwRixjQUFjLElBQUksZ0JBQWdCLG1DQUFtQztBQUNyYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpTUFBaU0sb0RBQW9ELEVBQUU7QUFDdlA7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDRMQUE0TCxvREFBb0QsRUFBRTtBQUNsUDtBQUNBO0FBQ0E7O0FBRUEsZ0ZBQWdGOztBQUVoRiwwQ0FBMEM7QUFDMUM7QUFDQSwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw2UEFBNlA7QUFDN1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0wsdUVBQXVFOztBQUV2RTtBQUNBO0FBQ0EsT0FBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUcsRUFBRTtBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBLGVBQWU7QUFDZjtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQSw0Q0FBNEM7O0FBRTVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxnQkFBZ0IsS0FBSTtBQUNwQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0EseURBQXlEO0FBQ3pEO0FBQ0EsaURBQWlEO0FBQ2pEO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0I7O0FBRXhCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1COztBQUVuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QztBQUN2QztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsK0NBQStDO0FBQy9DOztBQUVBLHdDQUF3Qzs7QUFFeEM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbURBQW1EO0FBQ25EOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJOztBQUVKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4QztBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFEQUFxRDtBQUNyRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0NBQXdDOztBQUV4Qzs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsMkVBQTJFOztBQUUzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0VBQXNFO0FBQ3RFO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7O0FBR0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtEO0FBQ2xEOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSx5RUFBeUU7QUFDekU7QUFDQTs7QUFFQSw0REFBNEQ7QUFDNUQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7O0FBR0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwrREFBK0QsT0FBTzs7QUFFdEU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSx1Q0FBdUM7QUFDdkM7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsc0NBQXNDO0FBQ3RDO0FBQ0E7QUFDQSxJQUFJOzs7QUFHSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxtQ0FBbUM7QUFDbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEs7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1GQUFtRjs7QUFFbkY7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLOzs7QUFHTDtBQUNBO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGlNQUFpTSxjQUFjO0FBQy9NO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUCxLQUFLLEVBQUU7QUFDUDs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBLCtFQUErRTs7QUFFL0U7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7OztBQUdBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEM7O0FBRTlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGxpY2Vuc2UgUmVhY3QgdjE2LjEzLjFcbiAqIHJlYWN0LWRvbS5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgUmVhY3QgPSByZXF1aXJlKCdyZWFjdCcpO1xudmFyIF9hc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG52YXIgU2NoZWR1bGVyID0gcmVxdWlyZSgnc2NoZWR1bGVyJyk7XG52YXIgY2hlY2tQcm9wVHlwZXMgPSByZXF1aXJlKCdwcm9wLXR5cGVzL2NoZWNrUHJvcFR5cGVzJyk7XG52YXIgdHJhY2luZyA9IHJlcXVpcmUoJ3NjaGVkdWxlci90cmFjaW5nJyk7XG5cbnZhciBSZWFjdFNoYXJlZEludGVybmFscyA9IFJlYWN0Ll9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEOyAvLyBQcmV2ZW50IG5ld2VyIHJlbmRlcmVycyBmcm9tIFJURSB3aGVuIHVzZWQgd2l0aCBvbGRlciByZWFjdCBwYWNrYWdlIHZlcnNpb25zLlxuLy8gQ3VycmVudCBvd25lciBhbmQgZGlzcGF0Y2hlciB1c2VkIHRvIHNoYXJlIHRoZSBzYW1lIHJlZixcbi8vIGJ1dCBQUiAjMTQ1NDggc3BsaXQgdGhlbSBvdXQgdG8gYmV0dGVyIHN1cHBvcnQgdGhlIHJlYWN0LWRlYnVnLXRvb2xzIHBhY2thZ2UuXG5cbmlmICghUmVhY3RTaGFyZWRJbnRlcm5hbHMuaGFzT3duUHJvcGVydHkoJ1JlYWN0Q3VycmVudERpc3BhdGNoZXInKSkge1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcbn1cblxuaWYgKCFSZWFjdFNoYXJlZEludGVybmFscy5oYXNPd25Qcm9wZXJ0eSgnUmVhY3RDdXJyZW50QmF0Y2hDb25maWcnKSkge1xuICBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZyA9IHtcbiAgICBzdXNwZW5zZTogbnVsbFxuICB9O1xufVxuXG4vLyBieSBjYWxscyB0byB0aGVzZSBtZXRob2RzIGJ5IGEgQmFiZWwgcGx1Z2luLlxuLy9cbi8vIEluIFBST0QgKG9yIGluIHBhY2thZ2VzIHdpdGhvdXQgYWNjZXNzIHRvIFJlYWN0IGludGVybmFscyksXG4vLyB0aGV5IGFyZSBsZWZ0IGFzIHRoZXkgYXJlIGluc3RlYWQuXG5cbmZ1bmN0aW9uIHdhcm4oZm9ybWF0KSB7XG4gIHtcbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICBwcmludFdhcm5pbmcoJ3dhcm4nLCBmb3JtYXQsIGFyZ3MpO1xuICB9XG59XG5mdW5jdGlvbiBlcnJvcihmb3JtYXQpIHtcbiAge1xuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiA+IDEgPyBfbGVuMiAtIDEgOiAwKSwgX2tleTIgPSAxOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHByaW50V2FybmluZygnZXJyb3InLCBmb3JtYXQsIGFyZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHByaW50V2FybmluZyhsZXZlbCwgZm9ybWF0LCBhcmdzKSB7XG4gIC8vIFdoZW4gY2hhbmdpbmcgdGhpcyBsb2dpYywgeW91IG1pZ2h0IHdhbnQgdG8gYWxzb1xuICAvLyB1cGRhdGUgY29uc29sZVdpdGhTdGFja0Rldi53d3cuanMgYXMgd2VsbC5cbiAge1xuICAgIHZhciBoYXNFeGlzdGluZ1N0YWNrID0gYXJncy5sZW5ndGggPiAwICYmIHR5cGVvZiBhcmdzW2FyZ3MubGVuZ3RoIC0gMV0gPT09ICdzdHJpbmcnICYmIGFyZ3NbYXJncy5sZW5ndGggLSAxXS5pbmRleE9mKCdcXG4gICAgaW4nKSA9PT0gMDtcblxuICAgIGlmICghaGFzRXhpc3RpbmdTdGFjaykge1xuICAgICAgdmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xuICAgICAgdmFyIHN0YWNrID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRTdGFja0FkZGVuZHVtKCk7XG5cbiAgICAgIGlmIChzdGFjayAhPT0gJycpIHtcbiAgICAgICAgZm9ybWF0ICs9ICclcyc7XG4gICAgICAgIGFyZ3MgPSBhcmdzLmNvbmNhdChbc3RhY2tdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgYXJnc1dpdGhGb3JtYXQgPSBhcmdzLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuICcnICsgaXRlbTtcbiAgICB9KTsgLy8gQ2FyZWZ1bDogUk4gY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcmVmaXhcblxuICAgIGFyZ3NXaXRoRm9ybWF0LnVuc2hpZnQoJ1dhcm5pbmc6ICcgKyBmb3JtYXQpOyAvLyBXZSBpbnRlbnRpb25hbGx5IGRvbid0IHVzZSBzcHJlYWQgKG9yIC5hcHBseSkgZGlyZWN0bHkgYmVjYXVzZSBpdFxuICAgIC8vIGJyZWFrcyBJRTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2MTBcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaW50ZXJuYWwvbm8tcHJvZHVjdGlvbi1sb2dnaW5nXG5cbiAgICBGdW5jdGlvbi5wcm90b3R5cGUuYXBwbHkuY2FsbChjb25zb2xlW2xldmVsXSwgY29uc29sZSwgYXJnc1dpdGhGb3JtYXQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIC0tLSBXZWxjb21lIHRvIGRlYnVnZ2luZyBSZWFjdCAtLS1cbiAgICAgIC8vIFRoaXMgZXJyb3Igd2FzIHRocm93biBhcyBhIGNvbnZlbmllbmNlIHNvIHRoYXQgeW91IGNhbiB1c2UgdGhpcyBzdGFja1xuICAgICAgLy8gdG8gZmluZCB0aGUgY2FsbHNpdGUgdGhhdCBjYXVzZWQgdGhpcyB3YXJuaW5nIHRvIGZpcmUuXG4gICAgICB2YXIgYXJnSW5kZXggPSAwO1xuICAgICAgdmFyIG1lc3NhZ2UgPSAnV2FybmluZzogJyArIGZvcm1hdC5yZXBsYWNlKC8lcy9nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBhcmdzW2FyZ0luZGV4KytdO1xuICAgICAgfSk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoeCkge31cbiAgfVxufVxuXG5pZiAoIVJlYWN0KSB7XG4gIHtcbiAgICB0aHJvdyBFcnJvciggXCJSZWFjdERPTSB3YXMgbG9hZGVkIGJlZm9yZSBSZWFjdC4gTWFrZSBzdXJlIHlvdSBsb2FkIHRoZSBSZWFjdCBwYWNrYWdlIGJlZm9yZSBsb2FkaW5nIFJlYWN0RE9NLlwiICk7XG4gIH1cbn1cblxudmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0ltcGwgPSBmdW5jdGlvbiAobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICB2YXIgZnVuY0FyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsIDMpO1xuXG4gIHRyeSB7XG4gICAgZnVuYy5hcHBseShjb250ZXh0LCBmdW5jQXJncyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgdGhpcy5vbkVycm9yKGVycm9yKTtcbiAgfVxufTtcblxue1xuICAvLyBJbiBERVYgbW9kZSwgd2Ugc3dhcCBvdXQgaW52b2tlR3VhcmRlZENhbGxiYWNrIGZvciBhIHNwZWNpYWwgdmVyc2lvblxuICAvLyB0aGF0IHBsYXlzIG1vcmUgbmljZWx5IHdpdGggdGhlIGJyb3dzZXIncyBEZXZUb29scy4gVGhlIGlkZWEgaXMgdG8gcHJlc2VydmVcbiAgLy8gXCJQYXVzZSBvbiBleGNlcHRpb25zXCIgYmVoYXZpb3IuIEJlY2F1c2UgUmVhY3Qgd3JhcHMgYWxsIHVzZXItcHJvdmlkZWRcbiAgLy8gZnVuY3Rpb25zIGluIGludm9rZUd1YXJkZWRDYWxsYmFjaywgYW5kIHRoZSBwcm9kdWN0aW9uIHZlcnNpb24gb2ZcbiAgLy8gaW52b2tlR3VhcmRlZENhbGxiYWNrIHVzZXMgYSB0cnktY2F0Y2gsIGFsbCB1c2VyIGV4Y2VwdGlvbnMgYXJlIHRyZWF0ZWRcbiAgLy8gbGlrZSBjYXVnaHQgZXhjZXB0aW9ucywgYW5kIHRoZSBEZXZUb29scyB3b24ndCBwYXVzZSB1bmxlc3MgdGhlIGRldmVsb3BlclxuICAvLyB0YWtlcyB0aGUgZXh0cmEgc3RlcCBvZiBlbmFibGluZyBwYXVzZSBvbiBjYXVnaHQgZXhjZXB0aW9ucy4gVGhpcyBpc1xuICAvLyB1bmludHVpdGl2ZSwgdGhvdWdoLCBiZWNhdXNlIGV2ZW4gdGhvdWdoIFJlYWN0IGhhcyBjYXVnaHQgdGhlIGVycm9yLCBmcm9tXG4gIC8vIHRoZSBkZXZlbG9wZXIncyBwZXJzcGVjdGl2ZSwgdGhlIGVycm9yIGlzIHVuY2F1Z2h0LlxuICAvL1xuICAvLyBUbyBwcmVzZXJ2ZSB0aGUgZXhwZWN0ZWQgXCJQYXVzZSBvbiBleGNlcHRpb25zXCIgYmVoYXZpb3IsIHdlIGRvbid0IHVzZSBhXG4gIC8vIHRyeS1jYXRjaCBpbiBERVYuIEluc3RlYWQsIHdlIHN5bmNocm9ub3VzbHkgZGlzcGF0Y2ggYSBmYWtlIGV2ZW50IHRvIGEgZmFrZVxuICAvLyBET00gbm9kZSwgYW5kIGNhbGwgdGhlIHVzZXItcHJvdmlkZWQgY2FsbGJhY2sgZnJvbSBpbnNpZGUgYW4gZXZlbnQgaGFuZGxlclxuICAvLyBmb3IgdGhhdCBmYWtlIGV2ZW50LiBJZiB0aGUgY2FsbGJhY2sgdGhyb3dzLCB0aGUgZXJyb3IgaXMgXCJjYXB0dXJlZFwiIHVzaW5nXG4gIC8vIGEgZ2xvYmFsIGV2ZW50IGhhbmRsZXIuIEJ1dCBiZWNhdXNlIHRoZSBlcnJvciBoYXBwZW5zIGluIGEgZGlmZmVyZW50XG4gIC8vIGV2ZW50IGxvb3AgY29udGV4dCwgaXQgZG9lcyBub3QgaW50ZXJydXB0IHRoZSBub3JtYWwgcHJvZ3JhbSBmbG93LlxuICAvLyBFZmZlY3RpdmVseSwgdGhpcyBnaXZlcyB1cyB0cnktY2F0Y2ggYmVoYXZpb3Igd2l0aG91dCBhY3R1YWxseSB1c2luZ1xuICAvLyB0cnktY2F0Y2guIE5lYXQhXG4gIC8vIENoZWNrIHRoYXQgdGhlIGJyb3dzZXIgc3VwcG9ydHMgdGhlIEFQSXMgd2UgbmVlZCB0byBpbXBsZW1lbnQgb3VyIHNwZWNpYWxcbiAgLy8gREVWIHZlcnNpb24gb2YgaW52b2tlR3VhcmRlZENhbGxiYWNrXG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2Ygd2luZG93LmRpc3BhdGNoRXZlbnQgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRXZlbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICB2YXIgZmFrZU5vZGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdyZWFjdCcpO1xuXG4gICAgdmFyIGludm9rZUd1YXJkZWRDYWxsYmFja0RldiA9IGZ1bmN0aW9uIChuYW1lLCBmdW5jLCBjb250ZXh0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gICAgICAvLyBJZiBkb2N1bWVudCBkb2Vzbid0IGV4aXN0IHdlIGtub3cgZm9yIHN1cmUgd2Ugd2lsbCBjcmFzaCBpbiB0aGlzIG1ldGhvZFxuICAgICAgLy8gd2hlbiB3ZSBjYWxsIGRvY3VtZW50LmNyZWF0ZUV2ZW50KCkuIEhvd2V2ZXIgdGhpcyBjYW4gY2F1c2UgY29uZnVzaW5nXG4gICAgICAvLyBlcnJvcnM6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9va2luY3ViYXRvci9jcmVhdGUtcmVhY3QtYXBwL2lzc3Vlcy8zNDgyXG4gICAgICAvLyBTbyB3ZSBwcmVlbXB0aXZlbHkgdGhyb3cgd2l0aCBhIGJldHRlciBtZXNzYWdlIGluc3RlYWQuXG4gICAgICBpZiAoISh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKSkge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiVGhlIGBkb2N1bWVudGAgZ2xvYmFsIHdhcyBkZWZpbmVkIHdoZW4gUmVhY3Qgd2FzIGluaXRpYWxpemVkLCBidXQgaXMgbm90IGRlZmluZWQgYW55bW9yZS4gVGhpcyBjYW4gaGFwcGVuIGluIGEgdGVzdCBlbnZpcm9ubWVudCBpZiBhIGNvbXBvbmVudCBzY2hlZHVsZXMgYW4gdXBkYXRlIGZyb20gYW4gYXN5bmNocm9ub3VzIGNhbGxiYWNrLCBidXQgdGhlIHRlc3QgaGFzIGFscmVhZHkgZmluaXNoZWQgcnVubmluZy4gVG8gc29sdmUgdGhpcywgeW91IGNhbiBlaXRoZXIgdW5tb3VudCB0aGUgY29tcG9uZW50IGF0IHRoZSBlbmQgb2YgeW91ciB0ZXN0IChhbmQgZW5zdXJlIHRoYXQgYW55IGFzeW5jaHJvbm91cyBvcGVyYXRpb25zIGdldCBjYW5jZWxlZCBpbiBgY29tcG9uZW50V2lsbFVubW91bnRgKSwgb3IgeW91IGNhbiBjaGFuZ2UgdGhlIHRlc3QgaXRzZWxmIHRvIGJlIGFzeW5jaHJvbm91cy5cIiApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBldnQgPSBkb2N1bWVudC5jcmVhdGVFdmVudCgnRXZlbnQnKTsgLy8gS2VlcHMgdHJhY2sgb2Ygd2hldGhlciB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjayB0aHJldyBhbiBlcnJvci4gV2VcbiAgICAgIC8vIHNldCB0aGlzIHRvIHRydWUgYXQgdGhlIGJlZ2lubmluZywgdGhlbiBzZXQgaXQgdG8gZmFsc2UgcmlnaHQgYWZ0ZXJcbiAgICAgIC8vIGNhbGxpbmcgdGhlIGZ1bmN0aW9uLiBJZiB0aGUgZnVuY3Rpb24gZXJyb3JzLCBgZGlkRXJyb3JgIHdpbGwgbmV2ZXIgYmVcbiAgICAgIC8vIHNldCB0byBmYWxzZS4gVGhpcyBzdHJhdGVneSB3b3JrcyBldmVuIGlmIHRoZSBicm93c2VyIGlzIGZsYWt5IGFuZFxuICAgICAgLy8gZmFpbHMgdG8gY2FsbCBvdXIgZ2xvYmFsIGVycm9yIGhhbmRsZXIsIGJlY2F1c2UgaXQgZG9lc24ndCByZWx5IG9uXG4gICAgICAvLyB0aGUgZXJyb3IgZXZlbnQgYXQgYWxsLlxuXG4gICAgICB2YXIgZGlkRXJyb3IgPSB0cnVlOyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgdmFsdWUgb2Ygd2luZG93LmV2ZW50IHNvIHRoYXQgd2UgY2FuIHJlc2V0IGl0XG4gICAgICAvLyBkdXJpbmcgdGhlIGNhbGxiYWNrIHRvIGxldCB1c2VyIGNvZGUgYWNjZXNzIHdpbmRvdy5ldmVudCBpbiB0aGVcbiAgICAgIC8vIGJyb3dzZXJzIHRoYXQgc3VwcG9ydCBpdC5cblxuICAgICAgdmFyIHdpbmRvd0V2ZW50ID0gd2luZG93LmV2ZW50OyAvLyBLZWVwcyB0cmFjayBvZiB0aGUgZGVzY3JpcHRvciBvZiB3aW5kb3cuZXZlbnQgdG8gcmVzdG9yZSBpdCBhZnRlciBldmVudFxuICAgICAgLy8gZGlzcGF0Y2hpbmc6IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTM2ODhcblxuICAgICAgdmFyIHdpbmRvd0V2ZW50RGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iod2luZG93LCAnZXZlbnQnKTsgLy8gQ3JlYXRlIGFuIGV2ZW50IGhhbmRsZXIgZm9yIG91ciBmYWtlIGV2ZW50LiBXZSB3aWxsIHN5bmNocm9ub3VzbHlcbiAgICAgIC8vIGRpc3BhdGNoIG91ciBmYWtlIGV2ZW50IHVzaW5nIGBkaXNwYXRjaEV2ZW50YC4gSW5zaWRlIHRoZSBoYW5kbGVyLCB3ZVxuICAgICAgLy8gY2FsbCB0aGUgdXNlci1wcm92aWRlZCBjYWxsYmFjay5cblxuICAgICAgdmFyIGZ1bmNBcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAzKTtcblxuICAgICAgZnVuY3Rpb24gY2FsbENhbGxiYWNrKCkge1xuICAgICAgICAvLyBXZSBpbW1lZGlhdGVseSByZW1vdmUgdGhlIGNhbGxiYWNrIGZyb20gZXZlbnQgbGlzdGVuZXJzIHNvIHRoYXRcbiAgICAgICAgLy8gbmVzdGVkIGBpbnZva2VHdWFyZGVkQ2FsbGJhY2tgIGNhbGxzIGRvIG5vdCBjbGFzaC4gT3RoZXJ3aXNlLCBhXG4gICAgICAgIC8vIG5lc3RlZCBjYWxsIHdvdWxkIHRyaWdnZXIgdGhlIGZha2UgZXZlbnQgaGFuZGxlcnMgb2YgYW55IGNhbGwgaGlnaGVyXG4gICAgICAgIC8vIGluIHRoZSBzdGFjay5cbiAgICAgICAgZmFrZU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihldnRUeXBlLCBjYWxsQ2FsbGJhY2ssIGZhbHNlKTsgLy8gV2UgY2hlY2sgZm9yIHdpbmRvdy5oYXNPd25Qcm9wZXJ0eSgnZXZlbnQnKSB0byBwcmV2ZW50IHRoZVxuICAgICAgICAvLyB3aW5kb3cuZXZlbnQgYXNzaWdubWVudCBpbiBib3RoIElFIDw9IDEwIGFzIHRoZXkgdGhyb3cgYW4gZXJyb3JcbiAgICAgICAgLy8gXCJNZW1iZXIgbm90IGZvdW5kXCIgaW4gc3RyaWN0IG1vZGUsIGFuZCBpbiBGaXJlZm94IHdoaWNoIGRvZXMgbm90XG4gICAgICAgIC8vIHN1cHBvcnQgd2luZG93LmV2ZW50LlxuXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93LmV2ZW50ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cuaGFzT3duUHJvcGVydHkoJ2V2ZW50JykpIHtcbiAgICAgICAgICB3aW5kb3cuZXZlbnQgPSB3aW5kb3dFdmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGZ1bmMuYXBwbHkoY29udGV4dCwgZnVuY0FyZ3MpO1xuICAgICAgICBkaWRFcnJvciA9IGZhbHNlO1xuICAgICAgfSAvLyBDcmVhdGUgYSBnbG9iYWwgZXJyb3IgZXZlbnQgaGFuZGxlci4gV2UgdXNlIHRoaXMgdG8gY2FwdHVyZSB0aGUgdmFsdWVcbiAgICAgIC8vIHRoYXQgd2FzIHRocm93bi4gSXQncyBwb3NzaWJsZSB0aGF0IHRoaXMgZXJyb3IgaGFuZGxlciB3aWxsIGZpcmUgbW9yZVxuICAgICAgLy8gdGhhbiBvbmNlOyBmb3IgZXhhbXBsZSwgaWYgbm9uLVJlYWN0IGNvZGUgYWxzbyBjYWxscyBgZGlzcGF0Y2hFdmVudGBcbiAgICAgIC8vIGFuZCBhIGhhbmRsZXIgZm9yIHRoYXQgZXZlbnQgdGhyb3dzLiBXZSBzaG91bGQgYmUgcmVzaWxpZW50IHRvIG1vc3Qgb2ZcbiAgICAgIC8vIHRob3NlIGNhc2VzLiBFdmVuIGlmIG91ciBlcnJvciBldmVudCBoYW5kbGVyIGZpcmVzIG1vcmUgdGhhbiBvbmNlLCB0aGVcbiAgICAgIC8vIGxhc3QgZXJyb3IgZXZlbnQgaXMgYWx3YXlzIHVzZWQuIElmIHRoZSBjYWxsYmFjayBhY3R1YWxseSBkb2VzIGVycm9yLFxuICAgICAgLy8gd2Uga25vdyB0aGF0IHRoZSBsYXN0IGVycm9yIGV2ZW50IGlzIHRoZSBjb3JyZWN0IG9uZSwgYmVjYXVzZSBpdCdzIG5vdFxuICAgICAgLy8gcG9zc2libGUgZm9yIGFueXRoaW5nIGVsc2UgdG8gaGF2ZSBoYXBwZW5lZCBpbiBiZXR3ZWVuIG91ciBjYWxsYmFja1xuICAgICAgLy8gZXJyb3JpbmcgYW5kIHRoZSBjb2RlIHRoYXQgZm9sbG93cyB0aGUgYGRpc3BhdGNoRXZlbnRgIGNhbGwgYmVsb3cuIElmXG4gICAgICAvLyB0aGUgY2FsbGJhY2sgZG9lc24ndCBlcnJvciwgYnV0IHRoZSBlcnJvciBldmVudCB3YXMgZmlyZWQsIHdlIGtub3cgdG9cbiAgICAgIC8vIGlnbm9yZSBpdCBiZWNhdXNlIGBkaWRFcnJvcmAgd2lsbCBiZSBmYWxzZSwgYXMgZGVzY3JpYmVkIGFib3ZlLlxuXG5cbiAgICAgIHZhciBlcnJvcjsgLy8gVXNlIHRoaXMgdG8gdHJhY2sgd2hldGhlciB0aGUgZXJyb3IgZXZlbnQgaXMgZXZlciBjYWxsZWQuXG5cbiAgICAgIHZhciBkaWRTZXRFcnJvciA9IGZhbHNlO1xuICAgICAgdmFyIGlzQ3Jvc3NPcmlnaW5FcnJvciA9IGZhbHNlO1xuXG4gICAgICBmdW5jdGlvbiBoYW5kbGVXaW5kb3dFcnJvcihldmVudCkge1xuICAgICAgICBlcnJvciA9IGV2ZW50LmVycm9yO1xuICAgICAgICBkaWRTZXRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgaWYgKGVycm9yID09PSBudWxsICYmIGV2ZW50LmNvbG5vID09PSAwICYmIGV2ZW50LmxpbmVubyA9PT0gMCkge1xuICAgICAgICAgIGlzQ3Jvc3NPcmlnaW5FcnJvciA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgIC8vIFNvbWUgb3RoZXIgZXJyb3IgaGFuZGxlciBoYXMgcHJldmVudGVkIGRlZmF1bHQuXG4gICAgICAgICAgLy8gQnJvd3NlcnMgc2lsZW5jZSB0aGUgZXJyb3IgcmVwb3J0IGlmIHRoaXMgaGFwcGVucy5cbiAgICAgICAgICAvLyBXZSdsbCByZW1lbWJlciB0aGlzIHRvIGxhdGVyIGRlY2lkZSB3aGV0aGVyIHRvIGxvZyBpdCBvciBub3QuXG4gICAgICAgICAgaWYgKGVycm9yICE9IG51bGwgJiYgdHlwZW9mIGVycm9yID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgZXJyb3IuX3N1cHByZXNzTG9nZ2luZyA9IHRydWU7XG4gICAgICAgICAgICB9IGNhdGNoIChpbm5lcikgey8vIElnbm9yZS5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gLy8gQ3JlYXRlIGEgZmFrZSBldmVudCB0eXBlLlxuXG5cbiAgICAgIHZhciBldnRUeXBlID0gXCJyZWFjdC1cIiArIChuYW1lID8gbmFtZSA6ICdpbnZva2VndWFyZGVkY2FsbGJhY2snKTsgLy8gQXR0YWNoIG91ciBldmVudCBoYW5kbGVyc1xuXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBoYW5kbGVXaW5kb3dFcnJvcik7XG4gICAgICBmYWtlTm9kZS5hZGRFdmVudExpc3RlbmVyKGV2dFR5cGUsIGNhbGxDYWxsYmFjaywgZmFsc2UpOyAvLyBTeW5jaHJvbm91c2x5IGRpc3BhdGNoIG91ciBmYWtlIGV2ZW50LiBJZiB0aGUgdXNlci1wcm92aWRlZCBmdW5jdGlvblxuICAgICAgLy8gZXJyb3JzLCBpdCB3aWxsIHRyaWdnZXIgb3VyIGdsb2JhbCBlcnJvciBoYW5kbGVyLlxuXG4gICAgICBldnQuaW5pdEV2ZW50KGV2dFR5cGUsIGZhbHNlLCBmYWxzZSk7XG4gICAgICBmYWtlTm9kZS5kaXNwYXRjaEV2ZW50KGV2dCk7XG5cbiAgICAgIGlmICh3aW5kb3dFdmVudERlc2NyaXB0b3IpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgJ2V2ZW50Jywgd2luZG93RXZlbnREZXNjcmlwdG9yKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGRpZEVycm9yKSB7XG4gICAgICAgIGlmICghZGlkU2V0RXJyb3IpIHtcbiAgICAgICAgICAvLyBUaGUgY2FsbGJhY2sgZXJyb3JlZCwgYnV0IHRoZSBlcnJvciBldmVudCBuZXZlciBmaXJlZC5cbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcignQW4gZXJyb3Igd2FzIHRocm93biBpbnNpZGUgb25lIG9mIHlvdXIgY29tcG9uZW50cywgYnV0IFJlYWN0ICcgKyBcImRvZXNuJ3Qga25vdyB3aGF0IGl0IHdhcy4gVGhpcyBpcyBsaWtlbHkgZHVlIHRvIGJyb3dzZXIgXCIgKyAnZmxha2luZXNzLiBSZWFjdCBkb2VzIGl0cyBiZXN0IHRvIHByZXNlcnZlIHRoZSBcIlBhdXNlIG9uICcgKyAnZXhjZXB0aW9uc1wiIGJlaGF2aW9yIG9mIHRoZSBEZXZUb29scywgd2hpY2ggcmVxdWlyZXMgc29tZSAnICsgXCJERVYtbW9kZSBvbmx5IHRyaWNrcy4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZXNlIGRvbid0IHdvcmsgaW4gXCIgKyAneW91ciBicm93c2VyLiBUcnkgdHJpZ2dlcmluZyB0aGUgZXJyb3IgaW4gcHJvZHVjdGlvbiBtb2RlLCAnICsgJ29yIHN3aXRjaGluZyB0byBhIG1vZGVybiBicm93c2VyLiBJZiB5b3Ugc3VzcGVjdCB0aGF0IHRoaXMgaXMgJyArICdhY3R1YWxseSBhbiBpc3N1ZSB3aXRoIFJlYWN0LCBwbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICAgICAgfSBlbHNlIGlmIChpc0Nyb3NzT3JpZ2luRXJyb3IpIHtcbiAgICAgICAgICBlcnJvciA9IG5ldyBFcnJvcihcIkEgY3Jvc3Mtb3JpZ2luIGVycm9yIHdhcyB0aHJvd24uIFJlYWN0IGRvZXNuJ3QgaGF2ZSBhY2Nlc3MgdG8gXCIgKyAndGhlIGFjdHVhbCBlcnJvciBvYmplY3QgaW4gZGV2ZWxvcG1lbnQuICcgKyAnU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtY3Jvc3NvcmlnaW4tZXJyb3IgZm9yIG1vcmUgaW5mb3JtYXRpb24uJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uRXJyb3IoZXJyb3IpO1xuICAgICAgfSAvLyBSZW1vdmUgb3VyIGV2ZW50IGxpc3RlbmVyc1xuXG5cbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdlcnJvcicsIGhhbmRsZVdpbmRvd0Vycm9yKTtcbiAgICB9O1xuXG4gICAgaW52b2tlR3VhcmRlZENhbGxiYWNrSW1wbCA9IGludm9rZUd1YXJkZWRDYWxsYmFja0RldjtcbiAgfVxufVxuXG52YXIgaW52b2tlR3VhcmRlZENhbGxiYWNrSW1wbCQxID0gaW52b2tlR3VhcmRlZENhbGxiYWNrSW1wbDtcblxudmFyIGhhc0Vycm9yID0gZmFsc2U7XG52YXIgY2F1Z2h0RXJyb3IgPSBudWxsOyAvLyBVc2VkIGJ5IGV2ZW50IHN5c3RlbSB0byBjYXB0dXJlL3JldGhyb3cgdGhlIGZpcnN0IGVycm9yLlxuXG52YXIgaGFzUmV0aHJvd0Vycm9yID0gZmFsc2U7XG52YXIgcmV0aHJvd0Vycm9yID0gbnVsbDtcbnZhciByZXBvcnRlciA9IHtcbiAgb25FcnJvcjogZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgaGFzRXJyb3IgPSB0cnVlO1xuICAgIGNhdWdodEVycm9yID0gZXJyb3I7XG4gIH1cbn07XG4vKipcbiAqIENhbGwgYSBmdW5jdGlvbiB3aGlsZSBndWFyZGluZyBhZ2FpbnN0IGVycm9ycyB0aGF0IGhhcHBlbnMgd2l0aGluIGl0LlxuICogUmV0dXJucyBhbiBlcnJvciBpZiBpdCB0aHJvd3MsIG90aGVyd2lzZSBudWxsLlxuICpcbiAqIEluIHByb2R1Y3Rpb24sIHRoaXMgaXMgaW1wbGVtZW50ZWQgdXNpbmcgYSB0cnktY2F0Y2guIFRoZSByZWFzb24gd2UgZG9uJ3RcbiAqIHVzZSBhIHRyeS1jYXRjaCBkaXJlY3RseSBpcyBzbyB0aGF0IHdlIGNhbiBzd2FwIG91dCBhIGRpZmZlcmVudFxuICogaW1wbGVtZW50YXRpb24gaW4gREVWIG1vZGUuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWUgb2YgdGhlIGd1YXJkIHRvIHVzZSBmb3IgbG9nZ2luZyBvciBkZWJ1Z2dpbmdcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGludm9rZVxuICogQHBhcmFtIHsqfSBjb250ZXh0IFRoZSBjb250ZXh0IHRvIHVzZSB3aGVuIGNhbGxpbmcgdGhlIGZ1bmN0aW9uXG4gKiBAcGFyYW0gey4uLip9IGFyZ3MgQXJndW1lbnRzIGZvciBmdW5jdGlvblxuICovXG5cbmZ1bmN0aW9uIGludm9rZUd1YXJkZWRDYWxsYmFjayhuYW1lLCBmdW5jLCBjb250ZXh0LCBhLCBiLCBjLCBkLCBlLCBmKSB7XG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIGNhdWdodEVycm9yID0gbnVsbDtcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrSW1wbCQxLmFwcGx5KHJlcG9ydGVyLCBhcmd1bWVudHMpO1xufVxuLyoqXG4gKiBTYW1lIGFzIGludm9rZUd1YXJkZWRDYWxsYmFjaywgYnV0IGluc3RlYWQgb2YgcmV0dXJuaW5nIGFuIGVycm9yLCBpdCBzdG9yZXNcbiAqIGl0IGluIGEgZ2xvYmFsIHNvIGl0IGNhbiBiZSByZXRocm93biBieSBgcmV0aHJvd0NhdWdodEVycm9yYCBsYXRlci5cbiAqIFRPRE86IFNlZSBpZiBjYXVnaHRFcnJvciBhbmQgcmV0aHJvd0Vycm9yIGNhbiBiZSB1bmlmaWVkLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lIG9mIHRoZSBndWFyZCB0byB1c2UgZm9yIGxvZ2dpbmcgb3IgZGVidWdnaW5nXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBmdW5jIFRoZSBmdW5jdGlvbiB0byBpbnZva2VcbiAqIEBwYXJhbSB7Kn0gY29udGV4dCBUaGUgY29udGV4dCB0byB1c2Ugd2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvblxuICogQHBhcmFtIHsuLi4qfSBhcmdzIEFyZ3VtZW50cyBmb3IgZnVuY3Rpb25cbiAqL1xuXG5mdW5jdGlvbiBpbnZva2VHdWFyZGVkQ2FsbGJhY2tBbmRDYXRjaEZpcnN0RXJyb3IobmFtZSwgZnVuYywgY29udGV4dCwgYSwgYiwgYywgZCwgZSwgZikge1xuICBpbnZva2VHdWFyZGVkQ2FsbGJhY2suYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICBpZiAoaGFzRXJyb3IpIHtcbiAgICB2YXIgZXJyb3IgPSBjbGVhckNhdWdodEVycm9yKCk7XG5cbiAgICBpZiAoIWhhc1JldGhyb3dFcnJvcikge1xuICAgICAgaGFzUmV0aHJvd0Vycm9yID0gdHJ1ZTtcbiAgICAgIHJldGhyb3dFcnJvciA9IGVycm9yO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBEdXJpbmcgZXhlY3V0aW9uIG9mIGd1YXJkZWQgZnVuY3Rpb25zIHdlIHdpbGwgY2FwdHVyZSB0aGUgZmlyc3QgZXJyb3Igd2hpY2hcbiAqIHdlIHdpbGwgcmV0aHJvdyB0byBiZSBoYW5kbGVkIGJ5IHRoZSB0b3AgbGV2ZWwgZXJyb3IgaGFuZGxlci5cbiAqL1xuXG5mdW5jdGlvbiByZXRocm93Q2F1Z2h0RXJyb3IoKSB7XG4gIGlmIChoYXNSZXRocm93RXJyb3IpIHtcbiAgICB2YXIgZXJyb3IgPSByZXRocm93RXJyb3I7XG4gICAgaGFzUmV0aHJvd0Vycm9yID0gZmFsc2U7XG4gICAgcmV0aHJvd0Vycm9yID0gbnVsbDtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuZnVuY3Rpb24gaGFzQ2F1Z2h0RXJyb3IoKSB7XG4gIHJldHVybiBoYXNFcnJvcjtcbn1cbmZ1bmN0aW9uIGNsZWFyQ2F1Z2h0RXJyb3IoKSB7XG4gIGlmIChoYXNFcnJvcikge1xuICAgIHZhciBlcnJvciA9IGNhdWdodEVycm9yO1xuICAgIGhhc0Vycm9yID0gZmFsc2U7XG4gICAgY2F1Z2h0RXJyb3IgPSBudWxsO1xuICAgIHJldHVybiBlcnJvcjtcbiAgfSBlbHNlIHtcbiAgICB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcImNsZWFyQ2F1Z2h0RXJyb3Igd2FzIGNhbGxlZCBidXQgbm8gZXJyb3Igd2FzIGNhcHR1cmVkLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnZhciBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlID0gbnVsbDtcbnZhciBnZXRJbnN0YW5jZUZyb21Ob2RlID0gbnVsbDtcbnZhciBnZXROb2RlRnJvbUluc3RhbmNlID0gbnVsbDtcbmZ1bmN0aW9uIHNldENvbXBvbmVudFRyZWUoZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZUltcGwsIGdldEluc3RhbmNlRnJvbU5vZGVJbXBsLCBnZXROb2RlRnJvbUluc3RhbmNlSW1wbCkge1xuICBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlID0gZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZUltcGw7XG4gIGdldEluc3RhbmNlRnJvbU5vZGUgPSBnZXRJbnN0YW5jZUZyb21Ob2RlSW1wbDtcbiAgZ2V0Tm9kZUZyb21JbnN0YW5jZSA9IGdldE5vZGVGcm9tSW5zdGFuY2VJbXBsO1xuXG4gIHtcbiAgICBpZiAoIWdldE5vZGVGcm9tSW5zdGFuY2UgfHwgIWdldEluc3RhbmNlRnJvbU5vZGUpIHtcbiAgICAgIGVycm9yKCdFdmVudFBsdWdpblV0aWxzLnNldENvbXBvbmVudFRyZWUoLi4uKTogSW5qZWN0ZWQgJyArICdtb2R1bGUgaXMgbWlzc2luZyBnZXROb2RlRnJvbUluc3RhbmNlIG9yIGdldEluc3RhbmNlRnJvbU5vZGUuJyk7XG4gICAgfVxuICB9XG59XG52YXIgdmFsaWRhdGVFdmVudERpc3BhdGNoZXM7XG5cbntcbiAgdmFsaWRhdGVFdmVudERpc3BhdGNoZXMgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICB2YXIgZGlzcGF0Y2hMaXN0ZW5lcnMgPSBldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnM7XG4gICAgdmFyIGRpc3BhdGNoSW5zdGFuY2VzID0gZXZlbnQuX2Rpc3BhdGNoSW5zdGFuY2VzO1xuICAgIHZhciBsaXN0ZW5lcnNJc0FyciA9IEFycmF5LmlzQXJyYXkoZGlzcGF0Y2hMaXN0ZW5lcnMpO1xuICAgIHZhciBsaXN0ZW5lcnNMZW4gPSBsaXN0ZW5lcnNJc0FyciA/IGRpc3BhdGNoTGlzdGVuZXJzLmxlbmd0aCA6IGRpc3BhdGNoTGlzdGVuZXJzID8gMSA6IDA7XG4gICAgdmFyIGluc3RhbmNlc0lzQXJyID0gQXJyYXkuaXNBcnJheShkaXNwYXRjaEluc3RhbmNlcyk7XG4gICAgdmFyIGluc3RhbmNlc0xlbiA9IGluc3RhbmNlc0lzQXJyID8gZGlzcGF0Y2hJbnN0YW5jZXMubGVuZ3RoIDogZGlzcGF0Y2hJbnN0YW5jZXMgPyAxIDogMDtcblxuICAgIGlmIChpbnN0YW5jZXNJc0FyciAhPT0gbGlzdGVuZXJzSXNBcnIgfHwgaW5zdGFuY2VzTGVuICE9PSBsaXN0ZW5lcnNMZW4pIHtcbiAgICAgIGVycm9yKCdFdmVudFBsdWdpblV0aWxzOiBJbnZhbGlkIGBldmVudGAuJyk7XG4gICAgfVxuICB9O1xufVxuLyoqXG4gKiBEaXNwYXRjaCB0aGUgZXZlbnQgdG8gdGhlIGxpc3RlbmVyLlxuICogQHBhcmFtIHtTeW50aGV0aWNFdmVudH0gZXZlbnQgU3ludGhldGljRXZlbnQgdG8gaGFuZGxlXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBsaXN0ZW5lciBBcHBsaWNhdGlvbi1sZXZlbCBjYWxsYmFja1xuICogQHBhcmFtIHsqfSBpbnN0IEludGVybmFsIGNvbXBvbmVudCBpbnN0YW5jZVxuICovXG5cblxuZnVuY3Rpb24gZXhlY3V0ZURpc3BhdGNoKGV2ZW50LCBsaXN0ZW5lciwgaW5zdCkge1xuICB2YXIgdHlwZSA9IGV2ZW50LnR5cGUgfHwgJ3Vua25vd24tZXZlbnQnO1xuICBldmVudC5jdXJyZW50VGFyZ2V0ID0gZ2V0Tm9kZUZyb21JbnN0YW5jZShpbnN0KTtcbiAgaW52b2tlR3VhcmRlZENhbGxiYWNrQW5kQ2F0Y2hGaXJzdEVycm9yKHR5cGUsIGxpc3RlbmVyLCB1bmRlZmluZWQsIGV2ZW50KTtcbiAgZXZlbnQuY3VycmVudFRhcmdldCA9IG51bGw7XG59XG4vKipcbiAqIFN0YW5kYXJkL3NpbXBsZSBpdGVyYXRpb24gdGhyb3VnaCBhbiBldmVudCdzIGNvbGxlY3RlZCBkaXNwYXRjaGVzLlxuICovXG5cbmZ1bmN0aW9uIGV4ZWN1dGVEaXNwYXRjaGVzSW5PcmRlcihldmVudCkge1xuICB2YXIgZGlzcGF0Y2hMaXN0ZW5lcnMgPSBldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnM7XG4gIHZhciBkaXNwYXRjaEluc3RhbmNlcyA9IGV2ZW50Ll9kaXNwYXRjaEluc3RhbmNlcztcblxuICB7XG4gICAgdmFsaWRhdGVFdmVudERpc3BhdGNoZXMoZXZlbnQpO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoZGlzcGF0Y2hMaXN0ZW5lcnMpKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaXNwYXRjaExpc3RlbmVycy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGV2ZW50LmlzUHJvcGFnYXRpb25TdG9wcGVkKCkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9IC8vIExpc3RlbmVycyBhbmQgSW5zdGFuY2VzIGFyZSB0d28gcGFyYWxsZWwgYXJyYXlzIHRoYXQgYXJlIGFsd2F5cyBpbiBzeW5jLlxuXG5cbiAgICAgIGV4ZWN1dGVEaXNwYXRjaChldmVudCwgZGlzcGF0Y2hMaXN0ZW5lcnNbaV0sIGRpc3BhdGNoSW5zdGFuY2VzW2ldKTtcbiAgICB9XG4gIH0gZWxzZSBpZiAoZGlzcGF0Y2hMaXN0ZW5lcnMpIHtcbiAgICBleGVjdXRlRGlzcGF0Y2goZXZlbnQsIGRpc3BhdGNoTGlzdGVuZXJzLCBkaXNwYXRjaEluc3RhbmNlcyk7XG4gIH1cblxuICBldmVudC5fZGlzcGF0Y2hMaXN0ZW5lcnMgPSBudWxsO1xuICBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBudWxsO1xufVxuXG52YXIgRnVuY3Rpb25Db21wb25lbnQgPSAwO1xudmFyIENsYXNzQ29tcG9uZW50ID0gMTtcbnZhciBJbmRldGVybWluYXRlQ29tcG9uZW50ID0gMjsgLy8gQmVmb3JlIHdlIGtub3cgd2hldGhlciBpdCBpcyBmdW5jdGlvbiBvciBjbGFzc1xuXG52YXIgSG9zdFJvb3QgPSAzOyAvLyBSb290IG9mIGEgaG9zdCB0cmVlLiBDb3VsZCBiZSBuZXN0ZWQgaW5zaWRlIGFub3RoZXIgbm9kZS5cblxudmFyIEhvc3RQb3J0YWwgPSA0OyAvLyBBIHN1YnRyZWUuIENvdWxkIGJlIGFuIGVudHJ5IHBvaW50IHRvIGEgZGlmZmVyZW50IHJlbmRlcmVyLlxuXG52YXIgSG9zdENvbXBvbmVudCA9IDU7XG52YXIgSG9zdFRleHQgPSA2O1xudmFyIEZyYWdtZW50ID0gNztcbnZhciBNb2RlID0gODtcbnZhciBDb250ZXh0Q29uc3VtZXIgPSA5O1xudmFyIENvbnRleHRQcm92aWRlciA9IDEwO1xudmFyIEZvcndhcmRSZWYgPSAxMTtcbnZhciBQcm9maWxlciA9IDEyO1xudmFyIFN1c3BlbnNlQ29tcG9uZW50ID0gMTM7XG52YXIgTWVtb0NvbXBvbmVudCA9IDE0O1xudmFyIFNpbXBsZU1lbW9Db21wb25lbnQgPSAxNTtcbnZhciBMYXp5Q29tcG9uZW50ID0gMTY7XG52YXIgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50ID0gMTc7XG52YXIgRGVoeWRyYXRlZEZyYWdtZW50ID0gMTg7XG52YXIgU3VzcGVuc2VMaXN0Q29tcG9uZW50ID0gMTk7XG52YXIgRnVuZGFtZW50YWxDb21wb25lbnQgPSAyMDtcbnZhciBTY29wZUNvbXBvbmVudCA9IDIxO1xudmFyIEJsb2NrID0gMjI7XG5cbi8qKlxuICogSW5qZWN0YWJsZSBvcmRlcmluZyBvZiBldmVudCBwbHVnaW5zLlxuICovXG52YXIgZXZlbnRQbHVnaW5PcmRlciA9IG51bGw7XG4vKipcbiAqIEluamVjdGFibGUgbWFwcGluZyBmcm9tIG5hbWVzIHRvIGV2ZW50IHBsdWdpbiBtb2R1bGVzLlxuICovXG5cbnZhciBuYW1lc1RvUGx1Z2lucyA9IHt9O1xuLyoqXG4gKiBSZWNvbXB1dGVzIHRoZSBwbHVnaW4gbGlzdCB1c2luZyB0aGUgaW5qZWN0ZWQgcGx1Z2lucyBhbmQgcGx1Z2luIG9yZGVyaW5nLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gcmVjb21wdXRlUGx1Z2luT3JkZXJpbmcoKSB7XG4gIGlmICghZXZlbnRQbHVnaW5PcmRlcikge1xuICAgIC8vIFdhaXQgdW50aWwgYW4gYGV2ZW50UGx1Z2luT3JkZXJgIGlzIGluamVjdGVkLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAodmFyIHBsdWdpbk5hbWUgaW4gbmFtZXNUb1BsdWdpbnMpIHtcbiAgICB2YXIgcGx1Z2luTW9kdWxlID0gbmFtZXNUb1BsdWdpbnNbcGx1Z2luTmFtZV07XG4gICAgdmFyIHBsdWdpbkluZGV4ID0gZXZlbnRQbHVnaW5PcmRlci5pbmRleE9mKHBsdWdpbk5hbWUpO1xuXG4gICAgaWYgKCEocGx1Z2luSW5kZXggPiAtMSkpIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiRXZlbnRQbHVnaW5SZWdpc3RyeTogQ2Fubm90IGluamVjdCBldmVudCBwbHVnaW5zIHRoYXQgZG8gbm90IGV4aXN0IGluIHRoZSBwbHVnaW4gb3JkZXJpbmcsIGBcIiArIHBsdWdpbk5hbWUgKyBcImAuXCIgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocGx1Z2luc1twbHVnaW5JbmRleF0pIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmICghcGx1Z2luTW9kdWxlLmV4dHJhY3RFdmVudHMpIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiRXZlbnRQbHVnaW5SZWdpc3RyeTogRXZlbnQgcGx1Z2lucyBtdXN0IGltcGxlbWVudCBhbiBgZXh0cmFjdEV2ZW50c2AgbWV0aG9kLCBidXQgYFwiICsgcGx1Z2luTmFtZSArIFwiYCBkb2VzIG5vdC5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBsdWdpbnNbcGx1Z2luSW5kZXhdID0gcGx1Z2luTW9kdWxlO1xuICAgIHZhciBwdWJsaXNoZWRFdmVudHMgPSBwbHVnaW5Nb2R1bGUuZXZlbnRUeXBlcztcblxuICAgIGZvciAodmFyIGV2ZW50TmFtZSBpbiBwdWJsaXNoZWRFdmVudHMpIHtcbiAgICAgIGlmICghcHVibGlzaEV2ZW50Rm9yUGx1Z2luKHB1Ymxpc2hlZEV2ZW50c1tldmVudE5hbWVdLCBwbHVnaW5Nb2R1bGUsIGV2ZW50TmFtZSkpIHtcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IEVycm9yKCBcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IEZhaWxlZCB0byBwdWJsaXNoIGV2ZW50IGBcIiArIGV2ZW50TmFtZSArIFwiYCBmb3IgcGx1Z2luIGBcIiArIHBsdWdpbk5hbWUgKyBcImAuXCIgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBQdWJsaXNoZXMgYW4gZXZlbnQgc28gdGhhdCBpdCBjYW4gYmUgZGlzcGF0Y2hlZCBieSB0aGUgc3VwcGxpZWQgcGx1Z2luLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBkaXNwYXRjaENvbmZpZyBEaXNwYXRjaCBjb25maWd1cmF0aW9uIGZvciB0aGUgZXZlbnQuXG4gKiBAcGFyYW0ge29iamVjdH0gUGx1Z2luTW9kdWxlIFBsdWdpbiBwdWJsaXNoaW5nIHRoZSBldmVudC5cbiAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgdGhlIGV2ZW50IHdhcyBzdWNjZXNzZnVsbHkgcHVibGlzaGVkLlxuICogQHByaXZhdGVcbiAqL1xuXG5cbmZ1bmN0aW9uIHB1Ymxpc2hFdmVudEZvclBsdWdpbihkaXNwYXRjaENvbmZpZywgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpIHtcbiAgaWYgKCEhZXZlbnROYW1lRGlzcGF0Y2hDb25maWdzLmhhc093blByb3BlcnR5KGV2ZW50TmFtZSkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJFdmVudFBsdWdpblJlZ2lzdHJ5OiBNb3JlIHRoYW4gb25lIHBsdWdpbiBhdHRlbXB0ZWQgdG8gcHVibGlzaCB0aGUgc2FtZSBldmVudCBuYW1lLCBgXCIgKyBldmVudE5hbWUgKyBcImAuXCIgKTtcbiAgICB9XG4gIH1cblxuICBldmVudE5hbWVEaXNwYXRjaENvbmZpZ3NbZXZlbnROYW1lXSA9IGRpc3BhdGNoQ29uZmlnO1xuICB2YXIgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXMgPSBkaXNwYXRjaENvbmZpZy5waGFzZWRSZWdpc3RyYXRpb25OYW1lcztcblxuICBpZiAocGhhc2VkUmVnaXN0cmF0aW9uTmFtZXMpIHtcbiAgICBmb3IgKHZhciBwaGFzZU5hbWUgaW4gcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXMpIHtcbiAgICAgIGlmIChwaGFzZWRSZWdpc3RyYXRpb25OYW1lcy5oYXNPd25Qcm9wZXJ0eShwaGFzZU5hbWUpKSB7XG4gICAgICAgIHZhciBwaGFzZWRSZWdpc3RyYXRpb25OYW1lID0gcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXNbcGhhc2VOYW1lXTtcbiAgICAgICAgcHVibGlzaFJlZ2lzdHJhdGlvbk5hbWUocGhhc2VkUmVnaXN0cmF0aW9uTmFtZSwgcGx1Z2luTW9kdWxlLCBldmVudE5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2UgaWYgKGRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUpIHtcbiAgICBwdWJsaXNoUmVnaXN0cmF0aW9uTmFtZShkaXNwYXRjaENvbmZpZy5yZWdpc3RyYXRpb25OYW1lLCBwbHVnaW5Nb2R1bGUsIGV2ZW50TmFtZSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG4vKipcbiAqIFB1Ymxpc2hlcyBhIHJlZ2lzdHJhdGlvbiBuYW1lIHRoYXQgaXMgdXNlZCB0byBpZGVudGlmeSBkaXNwYXRjaGVkIGV2ZW50cy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcmVnaXN0cmF0aW9uTmFtZSBSZWdpc3RyYXRpb24gbmFtZSB0byBhZGQuXG4gKiBAcGFyYW0ge29iamVjdH0gUGx1Z2luTW9kdWxlIFBsdWdpbiBwdWJsaXNoaW5nIHRoZSBldmVudC5cbiAqIEBwcml2YXRlXG4gKi9cblxuXG5mdW5jdGlvbiBwdWJsaXNoUmVnaXN0cmF0aW9uTmFtZShyZWdpc3RyYXRpb25OYW1lLCBwbHVnaW5Nb2R1bGUsIGV2ZW50TmFtZSkge1xuICBpZiAoISFyZWdpc3RyYXRpb25OYW1lTW9kdWxlc1tyZWdpc3RyYXRpb25OYW1lXSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IE1vcmUgdGhhbiBvbmUgcGx1Z2luIGF0dGVtcHRlZCB0byBwdWJsaXNoIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBuYW1lLCBgXCIgKyByZWdpc3RyYXRpb25OYW1lICsgXCJgLlwiICk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0cmF0aW9uTmFtZU1vZHVsZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBwbHVnaW5Nb2R1bGU7XG4gIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXNbcmVnaXN0cmF0aW9uTmFtZV0gPSBwbHVnaW5Nb2R1bGUuZXZlbnRUeXBlc1tldmVudE5hbWVdLmRlcGVuZGVuY2llcztcblxuICB7XG4gICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gcmVnaXN0cmF0aW9uTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXNbbG93ZXJDYXNlZE5hbWVdID0gcmVnaXN0cmF0aW9uTmFtZTtcblxuICAgIGlmIChyZWdpc3RyYXRpb25OYW1lID09PSAnb25Eb3VibGVDbGljaycpIHtcbiAgICAgIHBvc3NpYmxlUmVnaXN0cmF0aW9uTmFtZXMub25kYmxjbGljayA9IHJlZ2lzdHJhdGlvbk5hbWU7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIFJlZ2lzdGVycyBwbHVnaW5zIHNvIHRoYXQgdGhleSBjYW4gZXh0cmFjdCBhbmQgZGlzcGF0Y2ggZXZlbnRzLlxuICovXG5cbi8qKlxuICogT3JkZXJlZCBsaXN0IG9mIGluamVjdGVkIHBsdWdpbnMuXG4gKi9cblxuXG52YXIgcGx1Z2lucyA9IFtdO1xuLyoqXG4gKiBNYXBwaW5nIGZyb20gZXZlbnQgbmFtZSB0byBkaXNwYXRjaCBjb25maWdcbiAqL1xuXG52YXIgZXZlbnROYW1lRGlzcGF0Y2hDb25maWdzID0ge307XG4vKipcbiAqIE1hcHBpbmcgZnJvbSByZWdpc3RyYXRpb24gbmFtZSB0byBwbHVnaW4gbW9kdWxlXG4gKi9cblxudmFyIHJlZ2lzdHJhdGlvbk5hbWVNb2R1bGVzID0ge307XG4vKipcbiAqIE1hcHBpbmcgZnJvbSByZWdpc3RyYXRpb24gbmFtZSB0byBldmVudCBuYW1lXG4gKi9cblxudmFyIHJlZ2lzdHJhdGlvbk5hbWVEZXBlbmRlbmNpZXMgPSB7fTtcbi8qKlxuICogTWFwcGluZyBmcm9tIGxvd2VyY2FzZSByZWdpc3RyYXRpb24gbmFtZXMgdG8gdGhlIHByb3Blcmx5IGNhc2VkIHZlcnNpb24sXG4gKiB1c2VkIHRvIHdhcm4gaW4gdGhlIGNhc2Ugb2YgbWlzc2luZyBldmVudCBoYW5kbGVycy4gQXZhaWxhYmxlXG4gKiBvbmx5IGluIHRydWUuXG4gKiBAdHlwZSB7T2JqZWN0fVxuICovXG5cbnZhciBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzID0gIHt9IDsgLy8gVHJ1c3QgdGhlIGRldmVsb3BlciB0byBvbmx5IHVzZSBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzIGluIHRydWVcblxuLyoqXG4gKiBJbmplY3RzIGFuIG9yZGVyaW5nIG9mIHBsdWdpbnMgKGJ5IHBsdWdpbiBuYW1lKS4gVGhpcyBhbGxvd3MgdGhlIG9yZGVyaW5nXG4gKiB0byBiZSBkZWNvdXBsZWQgZnJvbSBpbmplY3Rpb24gb2YgdGhlIGFjdHVhbCBwbHVnaW5zIHNvIHRoYXQgb3JkZXJpbmcgaXNcbiAqIGFsd2F5cyBkZXRlcm1pbmlzdGljIHJlZ2FyZGxlc3Mgb2YgcGFja2FnaW5nLCBvbi10aGUtZmx5IGluamVjdGlvbiwgZXRjLlxuICpcbiAqIEBwYXJhbSB7YXJyYXl9IEluamVjdGVkRXZlbnRQbHVnaW5PcmRlclxuICogQGludGVybmFsXG4gKi9cblxuZnVuY3Rpb24gaW5qZWN0RXZlbnRQbHVnaW5PcmRlcihpbmplY3RlZEV2ZW50UGx1Z2luT3JkZXIpIHtcbiAgaWYgKCEhZXZlbnRQbHVnaW5PcmRlcikge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkV2ZW50UGx1Z2luUmVnaXN0cnk6IENhbm5vdCBpbmplY3QgZXZlbnQgcGx1Z2luIG9yZGVyaW5nIG1vcmUgdGhhbiBvbmNlLiBZb3UgYXJlIGxpa2VseSB0cnlpbmcgdG8gbG9hZCBtb3JlIHRoYW4gb25lIGNvcHkgb2YgUmVhY3QuXCIgKTtcbiAgICB9XG4gIH0gLy8gQ2xvbmUgdGhlIG9yZGVyaW5nIHNvIGl0IGNhbm5vdCBiZSBkeW5hbWljYWxseSBtdXRhdGVkLlxuXG5cbiAgZXZlbnRQbHVnaW5PcmRlciA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGluamVjdGVkRXZlbnRQbHVnaW5PcmRlcik7XG4gIHJlY29tcHV0ZVBsdWdpbk9yZGVyaW5nKCk7XG59XG4vKipcbiAqIEluamVjdHMgcGx1Z2lucyB0byBiZSB1c2VkIGJ5IHBsdWdpbiBldmVudCBzeXN0ZW0uIFRoZSBwbHVnaW4gbmFtZXMgbXVzdCBiZVxuICogaW4gdGhlIG9yZGVyaW5nIGluamVjdGVkIGJ5IGBpbmplY3RFdmVudFBsdWdpbk9yZGVyYC5cbiAqXG4gKiBQbHVnaW5zIGNhbiBiZSBpbmplY3RlZCBhcyBwYXJ0IG9mIHBhZ2UgaW5pdGlhbGl6YXRpb24gb3Igb24tdGhlLWZseS5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gaW5qZWN0ZWROYW1lc1RvUGx1Z2lucyBNYXAgZnJvbSBuYW1lcyB0byBwbHVnaW4gbW9kdWxlcy5cbiAqIEBpbnRlcm5hbFxuICovXG5cbmZ1bmN0aW9uIGluamVjdEV2ZW50UGx1Z2luc0J5TmFtZShpbmplY3RlZE5hbWVzVG9QbHVnaW5zKSB7XG4gIHZhciBpc09yZGVyaW5nRGlydHkgPSBmYWxzZTtcblxuICBmb3IgKHZhciBwbHVnaW5OYW1lIGluIGluamVjdGVkTmFtZXNUb1BsdWdpbnMpIHtcbiAgICBpZiAoIWluamVjdGVkTmFtZXNUb1BsdWdpbnMuaGFzT3duUHJvcGVydHkocGx1Z2luTmFtZSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBwbHVnaW5Nb2R1bGUgPSBpbmplY3RlZE5hbWVzVG9QbHVnaW5zW3BsdWdpbk5hbWVdO1xuXG4gICAgaWYgKCFuYW1lc1RvUGx1Z2lucy5oYXNPd25Qcm9wZXJ0eShwbHVnaW5OYW1lKSB8fCBuYW1lc1RvUGx1Z2luc1twbHVnaW5OYW1lXSAhPT0gcGx1Z2luTW9kdWxlKSB7XG4gICAgICBpZiAoISFuYW1lc1RvUGx1Z2luc1twbHVnaW5OYW1lXSkge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiRXZlbnRQbHVnaW5SZWdpc3RyeTogQ2Fubm90IGluamVjdCB0d28gZGlmZmVyZW50IGV2ZW50IHBsdWdpbnMgdXNpbmcgdGhlIHNhbWUgbmFtZSwgYFwiICsgcGx1Z2luTmFtZSArIFwiYC5cIiApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG5hbWVzVG9QbHVnaW5zW3BsdWdpbk5hbWVdID0gcGx1Z2luTW9kdWxlO1xuICAgICAgaXNPcmRlcmluZ0RpcnR5ID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoaXNPcmRlcmluZ0RpcnR5KSB7XG4gICAgcmVjb21wdXRlUGx1Z2luT3JkZXJpbmcoKTtcbiAgfVxufVxuXG52YXIgY2FuVXNlRE9NID0gISEodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5kb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50ICE9PSAndW5kZWZpbmVkJyk7XG5cbnZhciBQTFVHSU5fRVZFTlRfU1lTVEVNID0gMTtcbnZhciBJU19SRVBMQVlFRCA9IDEgPDwgNTtcbnZhciBJU19GSVJTVF9BTkNFU1RPUiA9IDEgPDwgNjtcblxudmFyIHJlc3RvcmVJbXBsID0gbnVsbDtcbnZhciByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbnZhciByZXN0b3JlUXVldWUgPSBudWxsO1xuXG5mdW5jdGlvbiByZXN0b3JlU3RhdGVPZlRhcmdldCh0YXJnZXQpIHtcbiAgLy8gV2UgcGVyZm9ybSB0aGlzIHRyYW5zbGF0aW9uIGF0IHRoZSBlbmQgb2YgdGhlIGV2ZW50IGxvb3Agc28gdGhhdCB3ZVxuICAvLyBhbHdheXMgcmVjZWl2ZSB0aGUgY29ycmVjdCBmaWJlciBoZXJlXG4gIHZhciBpbnRlcm5hbEluc3RhbmNlID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXQpO1xuXG4gIGlmICghaW50ZXJuYWxJbnN0YW5jZSkge1xuICAgIC8vIFVubW91bnRlZFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghKHR5cGVvZiByZXN0b3JlSW1wbCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJzZXRSZXN0b3JlSW1wbGVtZW50YXRpb24oKSBuZWVkcyB0byBiZSBjYWxsZWQgdG8gaGFuZGxlIGEgdGFyZ2V0IGZvciBjb250cm9sbGVkIGV2ZW50cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzdGF0ZU5vZGUgPSBpbnRlcm5hbEluc3RhbmNlLnN0YXRlTm9kZTsgLy8gR3VhcmQgYWdhaW5zdCBGaWJlciBiZWluZyB1bm1vdW50ZWQuXG5cbiAgaWYgKHN0YXRlTm9kZSkge1xuICAgIHZhciBfcHJvcHMgPSBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlKHN0YXRlTm9kZSk7XG5cbiAgICByZXN0b3JlSW1wbChpbnRlcm5hbEluc3RhbmNlLnN0YXRlTm9kZSwgaW50ZXJuYWxJbnN0YW5jZS50eXBlLCBfcHJvcHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNldFJlc3RvcmVJbXBsZW1lbnRhdGlvbihpbXBsKSB7XG4gIHJlc3RvcmVJbXBsID0gaW1wbDtcbn1cbmZ1bmN0aW9uIGVucXVldWVTdGF0ZVJlc3RvcmUodGFyZ2V0KSB7XG4gIGlmIChyZXN0b3JlVGFyZ2V0KSB7XG4gICAgaWYgKHJlc3RvcmVRdWV1ZSkge1xuICAgICAgcmVzdG9yZVF1ZXVlLnB1c2godGFyZ2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdG9yZVF1ZXVlID0gW3RhcmdldF07XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJlc3RvcmVUYXJnZXQgPSB0YXJnZXQ7XG4gIH1cbn1cbmZ1bmN0aW9uIG5lZWRzU3RhdGVSZXN0b3JlKCkge1xuICByZXR1cm4gcmVzdG9yZVRhcmdldCAhPT0gbnVsbCB8fCByZXN0b3JlUXVldWUgIT09IG51bGw7XG59XG5mdW5jdGlvbiByZXN0b3JlU3RhdGVJZk5lZWRlZCgpIHtcbiAgaWYgKCFyZXN0b3JlVGFyZ2V0KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHRhcmdldCA9IHJlc3RvcmVUYXJnZXQ7XG4gIHZhciBxdWV1ZWRUYXJnZXRzID0gcmVzdG9yZVF1ZXVlO1xuICByZXN0b3JlVGFyZ2V0ID0gbnVsbDtcbiAgcmVzdG9yZVF1ZXVlID0gbnVsbDtcbiAgcmVzdG9yZVN0YXRlT2ZUYXJnZXQodGFyZ2V0KTtcblxuICBpZiAocXVldWVkVGFyZ2V0cykge1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcXVldWVkVGFyZ2V0cy5sZW5ndGg7IGkrKykge1xuICAgICAgcmVzdG9yZVN0YXRlT2ZUYXJnZXQocXVldWVkVGFyZ2V0c1tpXSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBlbmFibGVQcm9maWxlclRpbWVyID0gdHJ1ZTsgLy8gVHJhY2Ugd2hpY2ggaW50ZXJhY3Rpb25zIHRyaWdnZXIgZWFjaCBjb21taXQuXG5cbnZhciBlbmFibGVEZXByZWNhdGVkRmxhcmVBUEkgPSBmYWxzZTsgLy8gRXhwZXJpbWVudGFsIEhvc3QgQ29tcG9uZW50IHN1cHBvcnQuXG5cbnZhciBlbmFibGVGdW5kYW1lbnRhbEFQSSA9IGZhbHNlOyAvLyBFeHBlcmltZW50YWwgU2NvcGUgc3VwcG9ydC5cbnZhciB3YXJuQWJvdXRTdHJpbmdSZWZzID0gZmFsc2U7XG5cbi8vIHRoZSByZW5kZXJlci4gU3VjaCBhcyB3aGVuIHdlJ3JlIGRpc3BhdGNoaW5nIGV2ZW50cyBvciBpZiB0aGlyZCBwYXJ0eVxuLy8gbGlicmFyaWVzIG5lZWQgdG8gY2FsbCBiYXRjaGVkVXBkYXRlcy4gRXZlbnR1YWxseSwgdGhpcyBBUEkgd2lsbCBnbyBhd2F5IHdoZW5cbi8vIGV2ZXJ5dGhpbmcgaXMgYmF0Y2hlZCBieSBkZWZhdWx0LiBXZSdsbCB0aGVuIGhhdmUgYSBzaW1pbGFyIEFQSSB0byBvcHQtb3V0IG9mXG4vLyBzY2hlZHVsZWQgd29yayBhbmQgaW5zdGVhZCBkbyBzeW5jaHJvbm91cyB3b3JrLlxuLy8gRGVmYXVsdHNcblxudmFyIGJhdGNoZWRVcGRhdGVzSW1wbCA9IGZ1bmN0aW9uIChmbiwgYm9va2tlZXBpbmcpIHtcbiAgcmV0dXJuIGZuKGJvb2trZWVwaW5nKTtcbn07XG5cbnZhciBkaXNjcmV0ZVVwZGF0ZXNJbXBsID0gZnVuY3Rpb24gKGZuLCBhLCBiLCBjLCBkKSB7XG4gIHJldHVybiBmbihhLCBiLCBjLCBkKTtcbn07XG5cbnZhciBmbHVzaERpc2NyZXRlVXBkYXRlc0ltcGwgPSBmdW5jdGlvbiAoKSB7fTtcblxudmFyIGJhdGNoZWRFdmVudFVwZGF0ZXNJbXBsID0gYmF0Y2hlZFVwZGF0ZXNJbXBsO1xudmFyIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gZmFsc2U7XG52YXIgaXNCYXRjaGluZ0V2ZW50VXBkYXRlcyA9IGZhbHNlO1xuXG5mdW5jdGlvbiBmaW5pc2hFdmVudEhhbmRsZXIoKSB7XG4gIC8vIEhlcmUgd2Ugd2FpdCB1bnRpbCBhbGwgdXBkYXRlcyBoYXZlIHByb3BhZ2F0ZWQsIHdoaWNoIGlzIGltcG9ydGFudFxuICAvLyB3aGVuIHVzaW5nIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3aXRoaW4gbGF5ZXJzOlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE2OThcbiAgLy8gVGhlbiB3ZSByZXN0b3JlIHN0YXRlIG9mIGFueSBjb250cm9sbGVkIGNvbXBvbmVudC5cbiAgdmFyIGNvbnRyb2xsZWRDb21wb25lbnRzSGF2ZVBlbmRpbmdVcGRhdGVzID0gbmVlZHNTdGF0ZVJlc3RvcmUoKTtcblxuICBpZiAoY29udHJvbGxlZENvbXBvbmVudHNIYXZlUGVuZGluZ1VwZGF0ZXMpIHtcbiAgICAvLyBJZiBhIGNvbnRyb2xsZWQgZXZlbnQgd2FzIGZpcmVkLCB3ZSBtYXkgbmVlZCB0byByZXN0b3JlIHRoZSBzdGF0ZSBvZlxuICAgIC8vIHRoZSBET00gbm9kZSBiYWNrIHRvIHRoZSBjb250cm9sbGVkIHZhbHVlLiBUaGlzIGlzIG5lY2Vzc2FyeSB3aGVuIFJlYWN0XG4gICAgLy8gYmFpbHMgb3V0IG9mIHRoZSB1cGRhdGUgd2l0aG91dCB0b3VjaGluZyB0aGUgRE9NLlxuICAgIGZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbCgpO1xuICAgIHJlc3RvcmVTdGF0ZUlmTmVlZGVkKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYmF0Y2hlZFVwZGF0ZXMoZm4sIGJvb2trZWVwaW5nKSB7XG4gIGlmIChpc0luc2lkZUV2ZW50SGFuZGxlcikge1xuICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgaW5zaWRlIGFub3RoZXIgYmF0Y2gsIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxuICAgIHJldHVybiBmbihib29ra2VlcGluZyk7XG4gIH1cblxuICBpc0luc2lkZUV2ZW50SGFuZGxlciA9IHRydWU7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gYmF0Y2hlZFVwZGF0ZXNJbXBsKGZuLCBib29ra2VlcGluZyk7XG4gIH0gZmluYWxseSB7XG4gICAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSBmYWxzZTtcbiAgICBmaW5pc2hFdmVudEhhbmRsZXIoKTtcbiAgfVxufVxuZnVuY3Rpb24gYmF0Y2hlZEV2ZW50VXBkYXRlcyhmbiwgYSwgYikge1xuICBpZiAoaXNCYXRjaGluZ0V2ZW50VXBkYXRlcykge1xuICAgIC8vIElmIHdlIGFyZSBjdXJyZW50bHkgaW5zaWRlIGFub3RoZXIgYmF0Y2gsIHdlIG5lZWQgdG8gd2FpdCB1bnRpbCBpdFxuICAgIC8vIGZ1bGx5IGNvbXBsZXRlcyBiZWZvcmUgcmVzdG9yaW5nIHN0YXRlLlxuICAgIHJldHVybiBmbihhLCBiKTtcbiAgfVxuXG4gIGlzQmF0Y2hpbmdFdmVudFVwZGF0ZXMgPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGJhdGNoZWRFdmVudFVwZGF0ZXNJbXBsKGZuLCBhLCBiKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBpc0JhdGNoaW5nRXZlbnRVcGRhdGVzID0gZmFsc2U7XG4gICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gIH1cbn0gLy8gVGhpcyBpcyBmb3IgdGhlIFJlYWN0IEZsYXJlIGV2ZW50IHN5c3RlbVxuZnVuY3Rpb24gZGlzY3JldGVVcGRhdGVzKGZuLCBhLCBiLCBjLCBkKSB7XG4gIHZhciBwcmV2SXNJbnNpZGVFdmVudEhhbmRsZXIgPSBpc0luc2lkZUV2ZW50SGFuZGxlcjtcbiAgaXNJbnNpZGVFdmVudEhhbmRsZXIgPSB0cnVlO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRpc2NyZXRlVXBkYXRlc0ltcGwoZm4sIGEsIGIsIGMsIGQpO1xuICB9IGZpbmFsbHkge1xuICAgIGlzSW5zaWRlRXZlbnRIYW5kbGVyID0gcHJldklzSW5zaWRlRXZlbnRIYW5kbGVyO1xuXG4gICAgaWYgKCFpc0luc2lkZUV2ZW50SGFuZGxlcikge1xuICAgICAgZmluaXNoRXZlbnRIYW5kbGVyKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBmbHVzaERpc2NyZXRlVXBkYXRlc0lmTmVlZGVkKHRpbWVTdGFtcCkge1xuICAvLyBldmVudC50aW1lU3RhbXAgaXNuJ3Qgb3Zlcmx5IHJlbGlhYmxlIGR1ZSB0byBpbmNvbnNpc3RlbmNpZXMgaW5cbiAgLy8gaG93IGRpZmZlcmVudCBicm93c2VycyBoYXZlIGhpc3RvcmljYWxseSBwcm92aWRlZCB0aGUgdGltZSBzdGFtcC5cbiAgLy8gU29tZSBicm93c2VycyBwcm92aWRlIGhpZ2gtcmVzb2x1dGlvbiB0aW1lIHN0YW1wcyBmb3IgYWxsIGV2ZW50cyxcbiAgLy8gc29tZSBwcm92aWRlIGxvdy1yZXNvbHV0aW9uIHRpbWUgc3RhbXBzIGZvciBhbGwgZXZlbnRzLiBGRiA8IDUyXG4gIC8vIGV2ZW4gbWl4ZXMgYm90aCB0aW1lIHN0YW1wcyB0b2dldGhlci4gU29tZSBicm93c2VycyBldmVuIHJlcG9ydFxuICAvLyBuZWdhdGl2ZSB0aW1lIHN0YW1wcyBvciB0aW1lIHN0YW1wcyB0aGF0IGFyZSAwIChpT1M5KSBpbiBzb21lIGNhc2VzLlxuICAvLyBHaXZlbiB3ZSBhcmUgb25seSBjb21wYXJpbmcgdHdvIHRpbWUgc3RhbXBzIHdpdGggZXF1YWxpdHkgKCE9PSksXG4gIC8vIHdlIGFyZSBzYWZlIGZyb20gdGhlIHJlc29sdXRpb24gZGlmZmVyZW5jZXMuIElmIHRoZSB0aW1lIHN0YW1wIGlzIDBcbiAgLy8gd2UgYmFpbC1vdXQgb2YgcHJldmVudGluZyB0aGUgZmx1c2gsIHdoaWNoIGNhbiBhZmZlY3Qgc2VtYW50aWNzLFxuICAvLyBzdWNoIGFzIGlmIGFuIGVhcmxpZXIgZmx1c2ggcmVtb3ZlcyBvciBhZGRzIGV2ZW50IGxpc3RlbmVycyB0aGF0XG4gIC8vIGFyZSBmaXJlZCBpbiB0aGUgc3Vic2VxdWVudCBmbHVzaC4gSG93ZXZlciwgdGhpcyBpcyB0aGUgc2FtZVxuICAvLyBiZWhhdmlvdXIgYXMgd2UgaGFkIGJlZm9yZSB0aGlzIGNoYW5nZSwgc28gdGhlIHJpc2tzIGFyZSBsb3cuXG4gIGlmICghaXNJbnNpZGVFdmVudEhhbmRsZXIgJiYgKCFlbmFibGVEZXByZWNhdGVkRmxhcmVBUEkgICkpIHtcbiAgICBmbHVzaERpc2NyZXRlVXBkYXRlc0ltcGwoKTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0QmF0Y2hpbmdJbXBsZW1lbnRhdGlvbihfYmF0Y2hlZFVwZGF0ZXNJbXBsLCBfZGlzY3JldGVVcGRhdGVzSW1wbCwgX2ZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbCwgX2JhdGNoZWRFdmVudFVwZGF0ZXNJbXBsKSB7XG4gIGJhdGNoZWRVcGRhdGVzSW1wbCA9IF9iYXRjaGVkVXBkYXRlc0ltcGw7XG4gIGRpc2NyZXRlVXBkYXRlc0ltcGwgPSBfZGlzY3JldGVVcGRhdGVzSW1wbDtcbiAgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJbXBsID0gX2ZsdXNoRGlzY3JldGVVcGRhdGVzSW1wbDtcbiAgYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGwgPSBfYmF0Y2hlZEV2ZW50VXBkYXRlc0ltcGw7XG59XG5cbnZhciBEaXNjcmV0ZUV2ZW50ID0gMDtcbnZhciBVc2VyQmxvY2tpbmdFdmVudCA9IDE7XG52YXIgQ29udGludW91c0V2ZW50ID0gMjtcblxuLy8gQSByZXNlcnZlZCBhdHRyaWJ1dGUuXG4vLyBJdCBpcyBoYW5kbGVkIGJ5IFJlYWN0IHNlcGFyYXRlbHkgYW5kIHNob3VsZG4ndCBiZSB3cml0dGVuIHRvIHRoZSBET00uXG52YXIgUkVTRVJWRUQgPSAwOyAvLyBBIHNpbXBsZSBzdHJpbmcgYXR0cmlidXRlLlxuLy8gQXR0cmlidXRlcyB0aGF0IGFyZW4ndCBpbiB0aGUgd2hpdGVsaXN0IGFyZSBwcmVzdW1lZCB0byBoYXZlIHRoaXMgdHlwZS5cblxudmFyIFNUUklORyA9IDE7IC8vIEEgc3RyaW5nIGF0dHJpYnV0ZSB0aGF0IGFjY2VwdHMgYm9vbGVhbnMgaW4gUmVhY3QuIEluIEhUTUwsIHRoZXNlIGFyZSBjYWxsZWRcbi8vIFwiZW51bWVyYXRlZFwiIGF0dHJpYnV0ZXMgd2l0aCBcInRydWVcIiBhbmQgXCJmYWxzZVwiIGFzIHBvc3NpYmxlIHZhbHVlcy5cbi8vIFdoZW4gdHJ1ZSwgaXQgc2hvdWxkIGJlIHNldCB0byBhIFwidHJ1ZVwiIHN0cmluZy5cbi8vIFdoZW4gZmFsc2UsIGl0IHNob3VsZCBiZSBzZXQgdG8gYSBcImZhbHNlXCIgc3RyaW5nLlxuXG52YXIgQk9PTEVBTklTSF9TVFJJTkcgPSAyOyAvLyBBIHJlYWwgYm9vbGVhbiBhdHRyaWJ1dGUuXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBwcmVzZW50IChzZXQgZWl0aGVyIHRvIGFuIGVtcHR5IHN0cmluZyBvciBpdHMgbmFtZSkuXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgb21pdHRlZC5cblxudmFyIEJPT0xFQU4gPSAzOyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBjYW4gYmUgdXNlZCBhcyBhIGZsYWcgYXMgd2VsbCBhcyB3aXRoIGEgdmFsdWUuXG4vLyBXaGVuIHRydWUsIGl0IHNob3VsZCBiZSBwcmVzZW50IChzZXQgZWl0aGVyIHRvIGFuIGVtcHR5IHN0cmluZyBvciBpdHMgbmFtZSkuXG4vLyBXaGVuIGZhbHNlLCBpdCBzaG91bGQgYmUgb21pdHRlZC5cbi8vIEZvciBhbnkgb3RoZXIgdmFsdWUsIHNob3VsZCBiZSBwcmVzZW50IHdpdGggdGhhdCB2YWx1ZS5cblxudmFyIE9WRVJMT0FERURfQk9PTEVBTiA9IDQ7IC8vIEFuIGF0dHJpYnV0ZSB0aGF0IG11c3QgYmUgbnVtZXJpYyBvciBwYXJzZSBhcyBhIG51bWVyaWMuXG4vLyBXaGVuIGZhbHN5LCBpdCBzaG91bGQgYmUgcmVtb3ZlZC5cblxudmFyIE5VTUVSSUMgPSA1OyAvLyBBbiBhdHRyaWJ1dGUgdGhhdCBtdXN0IGJlIHBvc2l0aXZlIG51bWVyaWMgb3IgcGFyc2UgYXMgYSBwb3NpdGl2ZSBudW1lcmljLlxuLy8gV2hlbiBmYWxzeSwgaXQgc2hvdWxkIGJlIHJlbW92ZWQuXG5cbnZhciBQT1NJVElWRV9OVU1FUklDID0gNjtcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xudmFyIEFUVFJJQlVURV9OQU1FX1NUQVJUX0NIQVIgPSBcIjpBLVpfYS16XFxcXHUwMEMwLVxcXFx1MDBENlxcXFx1MDBEOC1cXFxcdTAwRjZcXFxcdTAwRjgtXFxcXHUwMkZGXFxcXHUwMzcwLVxcXFx1MDM3RFxcXFx1MDM3Ri1cXFxcdTFGRkZcXFxcdTIwMEMtXFxcXHUyMDBEXFxcXHUyMDcwLVxcXFx1MjE4RlxcXFx1MkMwMC1cXFxcdTJGRUZcXFxcdTMwMDEtXFxcXHVEN0ZGXFxcXHVGOTAwLVxcXFx1RkRDRlxcXFx1RkRGMC1cXFxcdUZGRkRcIjtcbi8qIGVzbGludC1lbmFibGUgbWF4LWxlbiAqL1xuXG52YXIgQVRUUklCVVRFX05BTUVfQ0hBUiA9IEFUVFJJQlVURV9OQU1FX1NUQVJUX0NIQVIgKyBcIlxcXFwtLjAtOVxcXFx1MDBCN1xcXFx1MDMwMC1cXFxcdTAzNkZcXFxcdTIwM0YtXFxcXHUyMDQwXCI7XG52YXIgUk9PVF9BVFRSSUJVVEVfTkFNRSA9ICdkYXRhLXJlYWN0cm9vdCc7XG52YXIgVkFMSURfQVRUUklCVVRFX05BTUVfUkVHRVggPSBuZXcgUmVnRXhwKCdeWycgKyBBVFRSSUJVVEVfTkFNRV9TVEFSVF9DSEFSICsgJ11bJyArIEFUVFJJQlVURV9OQU1FX0NIQVIgKyAnXSokJyk7XG52YXIgaGFzT3duUHJvcGVydHkgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbnZhciB2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUgPSB7fTtcbmZ1bmN0aW9uIGlzQXR0cmlidXRlTmFtZVNhZmUoYXR0cmlidXRlTmFtZSkge1xuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbCh2YWxpZGF0ZWRBdHRyaWJ1dGVOYW1lQ2FjaGUsIGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChpbGxlZ2FsQXR0cmlidXRlTmFtZUNhY2hlLCBhdHRyaWJ1dGVOYW1lKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChWQUxJRF9BVFRSSUJVVEVfTkFNRV9SRUdFWC50ZXN0KGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgdmFsaWRhdGVkQXR0cmlidXRlTmFtZUNhY2hlW2F0dHJpYnV0ZU5hbWVdID0gdHJ1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlsbGVnYWxBdHRyaWJ1dGVOYW1lQ2FjaGVbYXR0cmlidXRlTmFtZV0gPSB0cnVlO1xuXG4gIHtcbiAgICBlcnJvcignSW52YWxpZCBhdHRyaWJ1dGUgbmFtZTogYCVzYCcsIGF0dHJpYnV0ZU5hbWUpO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgIHJldHVybiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7XG4gIH1cblxuICBpZiAoaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPiAyICYmIChuYW1lWzBdID09PSAnbycgfHwgbmFtZVswXSA9PT0gJ08nKSAmJiAobmFtZVsxXSA9PT0gJ24nIHx8IG5hbWVbMV0gPT09ICdOJykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNob3VsZFJlbW92ZUF0dHJpYnV0ZVdpdGhXYXJuaW5nKG5hbWUsIHZhbHVlLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwgJiYgcHJvcGVydHlJbmZvLnR5cGUgPT09IFJFU0VSVkVEKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICdmdW5jdGlvbic6IC8vICRGbG93SXNzdWUgc3ltYm9sIGlzIHBlcmZlY3RseSB2YWxpZCBoZXJlXG5cbiAgICBjYXNlICdzeW1ib2wnOlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBjYXNlICdib29sZWFuJzpcbiAgICAgIHtcbiAgICAgICAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiAhcHJvcGVydHlJbmZvLmFjY2VwdHNCb29sZWFucztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgcHJlZml4ID0gbmFtZS50b0xvd2VyQ2FzZSgpLnNsaWNlKDAsIDUpO1xuICAgICAgICAgIHJldHVybiBwcmVmaXggIT09ICdkYXRhLScgJiYgcHJlZml4ICE9PSAnYXJpYS0nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChwcm9wZXJ0eUluZm8gIT09IG51bGwpIHtcbiAgICBzd2l0Y2ggKHByb3BlcnR5SW5mby50eXBlKSB7XG4gICAgICBjYXNlIEJPT0xFQU46XG4gICAgICAgIHJldHVybiAhdmFsdWU7XG5cbiAgICAgIGNhc2UgT1ZFUkxPQURFRF9CT09MRUFOOlxuICAgICAgICByZXR1cm4gdmFsdWUgPT09IGZhbHNlO1xuXG4gICAgICBjYXNlIE5VTUVSSUM6XG4gICAgICAgIHJldHVybiBpc05hTih2YWx1ZSk7XG5cbiAgICAgIGNhc2UgUE9TSVRJVkVfTlVNRVJJQzpcbiAgICAgICAgcmV0dXJuIGlzTmFOKHZhbHVlKSB8fCB2YWx1ZSA8IDE7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZ2V0UHJvcGVydHlJbmZvKG5hbWUpIHtcbiAgcmV0dXJuIHByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkobmFtZSkgPyBwcm9wZXJ0aWVzW25hbWVdIDogbnVsbDtcbn1cblxuZnVuY3Rpb24gUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIHR5cGUsIG11c3RVc2VQcm9wZXJ0eSwgYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlTmFtZXNwYWNlLCBzYW5pdGl6ZVVSTCkge1xuICB0aGlzLmFjY2VwdHNCb29sZWFucyA9IHR5cGUgPT09IEJPT0xFQU5JU0hfU1RSSU5HIHx8IHR5cGUgPT09IEJPT0xFQU4gfHwgdHlwZSA9PT0gT1ZFUkxPQURFRF9CT09MRUFOO1xuICB0aGlzLmF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGVOYW1lO1xuICB0aGlzLmF0dHJpYnV0ZU5hbWVzcGFjZSA9IGF0dHJpYnV0ZU5hbWVzcGFjZTtcbiAgdGhpcy5tdXN0VXNlUHJvcGVydHkgPSBtdXN0VXNlUHJvcGVydHk7XG4gIHRoaXMucHJvcGVydHlOYW1lID0gbmFtZTtcbiAgdGhpcy50eXBlID0gdHlwZTtcbiAgdGhpcy5zYW5pdGl6ZVVSTCA9IHNhbml0aXplVVJMO1xufSAvLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoaXMgbGlzdCwgYmUgc3VyZSB0byBhbHNvIGFkZCB0aGVtIHRvXG4vLyB0aGUgYHBvc3NpYmxlU3RhbmRhcmROYW1lc2AgbW9kdWxlIHRvIGVuc3VyZSBjYXNpbmcgYW5kIGluY29ycmVjdFxuLy8gbmFtZSB3YXJuaW5ncy5cblxuXG52YXIgcHJvcGVydGllcyA9IHt9OyAvLyBUaGVzZSBwcm9wcyBhcmUgcmVzZXJ2ZWQgYnkgUmVhY3QuIFRoZXkgc2hvdWxkbid0IGJlIHdyaXR0ZW4gdG8gdGhlIERPTS5cblxudmFyIHJlc2VydmVkUHJvcHMgPSBbJ2NoaWxkcmVuJywgJ2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MJywgLy8gVE9ETzogVGhpcyBwcmV2ZW50cyB0aGUgYXNzaWdubWVudCBvZiBkZWZhdWx0VmFsdWUgdG8gcmVndWxhclxuLy8gZWxlbWVudHMgKG5vdCBqdXN0IGlucHV0cykuIE5vdyB0aGF0IFJlYWN0RE9NSW5wdXQgYXNzaWducyB0byB0aGVcbi8vIGRlZmF1bHRWYWx1ZSBwcm9wZXJ0eSAtLSBkbyB3ZSBuZWVkIHRoaXM/XG4nZGVmYXVsdFZhbHVlJywgJ2RlZmF1bHRDaGVja2VkJywgJ2lubmVySFRNTCcsICdzdXBwcmVzc0NvbnRlbnRFZGl0YWJsZVdhcm5pbmcnLCAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJywgJ3N0eWxlJ107XG5cbnJlc2VydmVkUHJvcHMuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBSRVNFUlZFRCwgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSk7XG59KTsgLy8gQSBmZXcgUmVhY3Qgc3RyaW5nIGF0dHJpYnV0ZXMgaGF2ZSBhIGRpZmZlcmVudCBuYW1lLlxuLy8gVGhpcyBpcyBhIG1hcHBpbmcgZnJvbSBSZWFjdCBwcm9wIG5hbWVzIHRvIHRoZSBhdHRyaWJ1dGUgbmFtZXMuXG5cbltbJ2FjY2VwdENoYXJzZXQnLCAnYWNjZXB0LWNoYXJzZXQnXSwgWydjbGFzc05hbWUnLCAnY2xhc3MnXSwgWydodG1sRm9yJywgJ2ZvciddLCBbJ2h0dHBFcXVpdicsICdodHRwLWVxdWl2J11dLmZvckVhY2goZnVuY3Rpb24gKF9yZWYpIHtcbiAgdmFyIG5hbWUgPSBfcmVmWzBdLFxuICAgICAgYXR0cmlidXRlTmFtZSA9IF9yZWZbMV07XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIFwiZW51bWVyYXRlZFwiIEhUTUwgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBcInRydWVcIiBhbmQgXCJmYWxzZVwiLlxuLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuLy8gdGhlc2UgYXJlbid0IGJvb2xlYW4gYXR0cmlidXRlcyAodGhleSBhcmUgY29lcmNlZCB0byBzdHJpbmdzKS5cblxuWydjb250ZW50RWRpdGFibGUnLCAnZHJhZ2dhYmxlJywgJ3NwZWxsQ2hlY2snLCAndmFsdWUnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIEJPT0xFQU5JU0hfU1RSSU5HLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGFyZSBcImVudW1lcmF0ZWRcIiBTVkcgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBcInRydWVcIiBhbmQgXCJmYWxzZVwiLlxuLy8gSW4gUmVhY3QsIHdlIGxldCB1c2VycyBwYXNzIGB0cnVlYCBhbmQgYGZhbHNlYCBldmVuIHRob3VnaCB0ZWNobmljYWxseVxuLy8gdGhlc2UgYXJlbid0IGJvb2xlYW4gYXR0cmlidXRlcyAodGhleSBhcmUgY29lcmNlZCB0byBzdHJpbmdzKS5cbi8vIFNpbmNlIHRoZXNlIGFyZSBTVkcgYXR0cmlidXRlcywgdGhlaXIgYXR0cmlidXRlIG5hbWVzIGFyZSBjYXNlLXNlbnNpdGl2ZS5cblxuWydhdXRvUmV2ZXJzZScsICdleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkJywgJ2ZvY3VzYWJsZScsICdwcmVzZXJ2ZUFscGhhJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOSVNIX1NUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYm9vbGVhbiBhdHRyaWJ1dGVzLlxuXG5bJ2FsbG93RnVsbFNjcmVlbicsICdhc3luYycsIC8vIE5vdGU6IHRoZXJlIGlzIGEgc3BlY2lhbCBjYXNlIHRoYXQgcHJldmVudHMgaXQgZnJvbSBiZWluZyB3cml0dGVuIHRvIHRoZSBET01cbi8vIG9uIHRoZSBjbGllbnQgc2lkZSBiZWNhdXNlIHRoZSBicm93c2VycyBhcmUgaW5jb25zaXN0ZW50LiBJbnN0ZWFkIHdlIGNhbGwgZm9jdXMoKS5cbidhdXRvRm9jdXMnLCAnYXV0b1BsYXknLCAnY29udHJvbHMnLCAnZGVmYXVsdCcsICdkZWZlcicsICdkaXNhYmxlZCcsICdkaXNhYmxlUGljdHVyZUluUGljdHVyZScsICdmb3JtTm9WYWxpZGF0ZScsICdoaWRkZW4nLCAnbG9vcCcsICdub01vZHVsZScsICdub1ZhbGlkYXRlJywgJ29wZW4nLCAncGxheXNJbmxpbmUnLCAncmVhZE9ubHknLCAncmVxdWlyZWQnLCAncmV2ZXJzZWQnLCAnc2NvcGVkJywgJ3NlYW1sZXNzJywgLy8gTWljcm9kYXRhXG4naXRlbVNjb3BlJ10uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUudG9Mb3dlckNhc2UoKSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGFyZSB0aGUgZmV3IFJlYWN0IHByb3BzIHRoYXQgd2Ugc2V0IGFzIERPTSBwcm9wZXJ0aWVzXG4vLyByYXRoZXIgdGhhbiBhdHRyaWJ1dGVzLiBUaGVzZSBhcmUgYWxsIGJvb2xlYW5zLlxuXG5bJ2NoZWNrZWQnLCAvLyBOb3RlOiBgb3B0aW9uLnNlbGVjdGVkYCBpcyBub3QgdXBkYXRlZCBpZiBgc2VsZWN0Lm11bHRpcGxlYCBpc1xuLy8gZGlzYWJsZWQgd2l0aCBgcmVtb3ZlQXR0cmlidXRlYC4gV2UgaGF2ZSBzcGVjaWFsIGxvZ2ljIGZvciBoYW5kbGluZyB0aGlzLlxuJ211bHRpcGxlJywgJ211dGVkJywgJ3NlbGVjdGVkJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBCT09MRUFOLCB0cnVlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZSwgLy8gYXR0cmlidXRlTmFtZVxuICBudWxsLCAvLyBhdHRyaWJ1dGVOYW1lc3BhY2VcbiAgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGFyZSBIVE1MIGF0dHJpYnV0ZXMgdGhhdCBhcmUgXCJvdmVybG9hZGVkIGJvb2xlYW5zXCI6IHRoZXkgYmVoYXZlIGxpa2Vcbi8vIGJvb2xlYW5zLCBidXQgY2FuIGFsc28gYWNjZXB0IGEgc3RyaW5nIHZhbHVlLlxuXG5bJ2NhcHR1cmUnLCAnZG93bmxvYWQnIC8vIE5PVEU6IGlmIHlvdSBhZGQgYSBjYW1lbENhc2VkIHByb3AgdG8gdGhpcyBsaXN0LFxuLy8geW91J2xsIG5lZWQgdG8gc2V0IGF0dHJpYnV0ZU5hbWUgdG8gbmFtZS50b0xvd2VyQ2FzZSgpXG4vLyBpbnN0ZWFkIGluIHRoZSBhc3NpZ25tZW50IGJlbG93LlxuXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIE9WRVJMT0FERURfQk9PTEVBTiwgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBuYW1lLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXJlIEhUTUwgYXR0cmlidXRlcyB0aGF0IG11c3QgYmUgcG9zaXRpdmUgbnVtYmVycy5cblxuWydjb2xzJywgJ3Jvd3MnLCAnc2l6ZScsICdzcGFuJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBQT1NJVElWRV9OVU1FUklDLCBmYWxzZSwgLy8gbXVzdFVzZVByb3BlcnR5XG4gIG5hbWUsIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlKTtcbn0pOyAvLyBUaGVzZSBhcmUgSFRNTCBhdHRyaWJ1dGVzIHRoYXQgbXVzdCBiZSBudW1iZXJzLlxuXG5bJ3Jvd1NwYW4nLCAnc3RhcnQnXS5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIE5VTUVSSUMsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgbmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSk7XG59KTtcbnZhciBDQU1FTElaRSA9IC9bXFwtXFw6XShbYS16XSkvZztcblxudmFyIGNhcGl0YWxpemUgPSBmdW5jdGlvbiAodG9rZW4pIHtcbiAgcmV0dXJuIHRva2VuWzFdLnRvVXBwZXJDYXNlKCk7XG59OyAvLyBUaGlzIGlzIGEgbGlzdCBvZiBhbGwgU1ZHIGF0dHJpYnV0ZXMgdGhhdCBuZWVkIHNwZWNpYWwgY2FzaW5nLCBuYW1lc3BhY2luZyxcbi8vIG9yIGJvb2xlYW4gdmFsdWUgYXNzaWdubWVudC4gUmVndWxhciBhdHRyaWJ1dGVzIHRoYXQganVzdCBhY2NlcHQgc3RyaW5nc1xuLy8gYW5kIGhhdmUgdGhlIHNhbWUgbmFtZXMgYXJlIG9taXR0ZWQsIGp1c3QgbGlrZSBpbiB0aGUgSFRNTCB3aGl0ZWxpc3QuXG4vLyBTb21lIG9mIHRoZXNlIGF0dHJpYnV0ZXMgY2FuIGJlIGhhcmQgdG8gZmluZC4gVGhpcyBsaXN0IHdhcyBjcmVhdGVkIGJ5XG4vLyBzY3JhcGluZyB0aGUgTUROIGRvY3VtZW50YXRpb24uXG5cblxuWydhY2NlbnQtaGVpZ2h0JywgJ2FsaWdubWVudC1iYXNlbGluZScsICdhcmFiaWMtZm9ybScsICdiYXNlbGluZS1zaGlmdCcsICdjYXAtaGVpZ2h0JywgJ2NsaXAtcGF0aCcsICdjbGlwLXJ1bGUnLCAnY29sb3ItaW50ZXJwb2xhdGlvbicsICdjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnMnLCAnY29sb3ItcHJvZmlsZScsICdjb2xvci1yZW5kZXJpbmcnLCAnZG9taW5hbnQtYmFzZWxpbmUnLCAnZW5hYmxlLWJhY2tncm91bmQnLCAnZmlsbC1vcGFjaXR5JywgJ2ZpbGwtcnVsZScsICdmbG9vZC1jb2xvcicsICdmbG9vZC1vcGFjaXR5JywgJ2ZvbnQtZmFtaWx5JywgJ2ZvbnQtc2l6ZScsICdmb250LXNpemUtYWRqdXN0JywgJ2ZvbnQtc3RyZXRjaCcsICdmb250LXN0eWxlJywgJ2ZvbnQtdmFyaWFudCcsICdmb250LXdlaWdodCcsICdnbHlwaC1uYW1lJywgJ2dseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwnLCAnZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwnLCAnaG9yaXotYWR2LXgnLCAnaG9yaXotb3JpZ2luLXgnLCAnaW1hZ2UtcmVuZGVyaW5nJywgJ2xldHRlci1zcGFjaW5nJywgJ2xpZ2h0aW5nLWNvbG9yJywgJ21hcmtlci1lbmQnLCAnbWFya2VyLW1pZCcsICdtYXJrZXItc3RhcnQnLCAnb3ZlcmxpbmUtcG9zaXRpb24nLCAnb3ZlcmxpbmUtdGhpY2tuZXNzJywgJ3BhaW50LW9yZGVyJywgJ3Bhbm9zZS0xJywgJ3BvaW50ZXItZXZlbnRzJywgJ3JlbmRlcmluZy1pbnRlbnQnLCAnc2hhcGUtcmVuZGVyaW5nJywgJ3N0b3AtY29sb3InLCAnc3RvcC1vcGFjaXR5JywgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nLCAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnLCAnc3Ryb2tlLWRhc2hhcnJheScsICdzdHJva2UtZGFzaG9mZnNldCcsICdzdHJva2UtbGluZWNhcCcsICdzdHJva2UtbGluZWpvaW4nLCAnc3Ryb2tlLW1pdGVybGltaXQnLCAnc3Ryb2tlLW9wYWNpdHknLCAnc3Ryb2tlLXdpZHRoJywgJ3RleHQtYW5jaG9yJywgJ3RleHQtZGVjb3JhdGlvbicsICd0ZXh0LXJlbmRlcmluZycsICd1bmRlcmxpbmUtcG9zaXRpb24nLCAndW5kZXJsaW5lLXRoaWNrbmVzcycsICd1bmljb2RlLWJpZGknLCAndW5pY29kZS1yYW5nZScsICd1bml0cy1wZXItZW0nLCAndi1hbHBoYWJldGljJywgJ3YtaGFuZ2luZycsICd2LWlkZW9ncmFwaGljJywgJ3YtbWF0aGVtYXRpY2FsJywgJ3ZlY3Rvci1lZmZlY3QnLCAndmVydC1hZHYteScsICd2ZXJ0LW9yaWdpbi14JywgJ3ZlcnQtb3JpZ2luLXknLCAnd29yZC1zcGFjaW5nJywgJ3dyaXRpbmctbW9kZScsICd4bWxuczp4bGluaycsICd4LWhlaWdodCcgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcbiAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVOYW1lLnJlcGxhY2UoQ0FNRUxJWkUsIGNhcGl0YWxpemUpO1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZSwgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIGZhbHNlKTtcbn0pOyAvLyBTdHJpbmcgU1ZHIGF0dHJpYnV0ZXMgd2l0aCB0aGUgeGxpbmsgbmFtZXNwYWNlLlxuXG5bJ3hsaW5rOmFjdHVhdGUnLCAneGxpbms6YXJjcm9sZScsICd4bGluazpyb2xlJywgJ3hsaW5rOnNob3cnLCAneGxpbms6dGl0bGUnLCAneGxpbms6dHlwZScgLy8gTk9URTogaWYgeW91IGFkZCBhIGNhbWVsQ2FzZWQgcHJvcCB0byB0aGlzIGxpc3QsXG4vLyB5b3UnbGwgbmVlZCB0byBzZXQgYXR0cmlidXRlTmFtZSB0byBuYW1lLnRvTG93ZXJDYXNlKClcbi8vIGluc3RlYWQgaW4gdGhlIGFzc2lnbm1lbnQgYmVsb3cuXG5dLmZvckVhY2goZnVuY3Rpb24gKGF0dHJpYnV0ZU5hbWUpIHtcbiAgdmFyIG5hbWUgPSBhdHRyaWJ1dGVOYW1lLnJlcGxhY2UoQ0FNRUxJWkUsIGNhcGl0YWxpemUpO1xuICBwcm9wZXJ0aWVzW25hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChuYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZSwgJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnLCBmYWxzZSk7XG59KTsgLy8gU3RyaW5nIFNWRyBhdHRyaWJ1dGVzIHdpdGggdGhlIHhtbCBuYW1lc3BhY2UuXG5cblsneG1sOmJhc2UnLCAneG1sOmxhbmcnLCAneG1sOnNwYWNlJyAvLyBOT1RFOiBpZiB5b3UgYWRkIGEgY2FtZWxDYXNlZCBwcm9wIHRvIHRoaXMgbGlzdCxcbi8vIHlvdSdsbCBuZWVkIHRvIHNldCBhdHRyaWJ1dGVOYW1lIHRvIG5hbWUudG9Mb3dlckNhc2UoKVxuLy8gaW5zdGVhZCBpbiB0aGUgYXNzaWdubWVudCBiZWxvdy5cbl0uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xuICB2YXIgbmFtZSA9IGF0dHJpYnV0ZU5hbWUucmVwbGFjZShDQU1FTElaRSwgY2FwaXRhbGl6ZSk7XG4gIHByb3BlcnRpZXNbbmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKG5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLCAnaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlJywgZmFsc2UpO1xufSk7IC8vIFRoZXNlIGF0dHJpYnV0ZSBleGlzdHMgYm90aCBpbiBIVE1MIGFuZCBTVkcuXG4vLyBUaGUgYXR0cmlidXRlIG5hbWUgaXMgY2FzZS1zZW5zaXRpdmUgaW4gU1ZHIHNvIHdlIGNhbid0IGp1c3QgdXNlXG4vLyB0aGUgUmVhY3QgbmFtZSBsaWtlIHdlIGRvIGZvciBhdHRyaWJ1dGVzIHRoYXQgZXhpc3Qgb25seSBpbiBIVE1MLlxuXG5bJ3RhYkluZGV4JywgJ2Nyb3NzT3JpZ2luJ10uZm9yRWFjaChmdW5jdGlvbiAoYXR0cmlidXRlTmFtZSkge1xuICBwcm9wZXJ0aWVzW2F0dHJpYnV0ZU5hbWVdID0gbmV3IFByb3BlcnR5SW5mb1JlY29yZChhdHRyaWJ1dGVOYW1lLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbiAgYXR0cmlidXRlTmFtZS50b0xvd2VyQ2FzZSgpLCAvLyBhdHRyaWJ1dGVOYW1lXG4gIG51bGwsIC8vIGF0dHJpYnV0ZU5hbWVzcGFjZVxuICBmYWxzZSk7XG59KTsgLy8gVGhlc2UgYXR0cmlidXRlcyBhY2NlcHQgVVJMcy4gVGhlc2UgbXVzdCBub3QgYWxsb3cgamF2YXNjcmlwdDogVVJMUy5cbi8vIFRoZXNlIHdpbGwgYWxzbyBuZWVkIHRvIGFjY2VwdCBUcnVzdGVkIFR5cGVzIG9iamVjdCBpbiB0aGUgZnV0dXJlLlxuXG52YXIgeGxpbmtIcmVmID0gJ3hsaW5rSHJlZic7XG5wcm9wZXJ0aWVzW3hsaW5rSHJlZl0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKCd4bGlua0hyZWYnLCBTVFJJTkcsIGZhbHNlLCAvLyBtdXN0VXNlUHJvcGVydHlcbid4bGluazpocmVmJywgJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnLCB0cnVlKTtcblsnc3JjJywgJ2hyZWYnLCAnYWN0aW9uJywgJ2Zvcm1BY3Rpb24nXS5mb3JFYWNoKGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lKSB7XG4gIHByb3BlcnRpZXNbYXR0cmlidXRlTmFtZV0gPSBuZXcgUHJvcGVydHlJbmZvUmVjb3JkKGF0dHJpYnV0ZU5hbWUsIFNUUklORywgZmFsc2UsIC8vIG11c3RVc2VQcm9wZXJ0eVxuICBhdHRyaWJ1dGVOYW1lLnRvTG93ZXJDYXNlKCksIC8vIGF0dHJpYnV0ZU5hbWVcbiAgbnVsbCwgLy8gYXR0cmlidXRlTmFtZXNwYWNlXG4gIHRydWUpO1xufSk7XG5cbnZhciBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gbnVsbDtcblxue1xuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbn0gLy8gQSBqYXZhc2NyaXB0OiBVUkwgY2FuIGNvbnRhaW4gbGVhZGluZyBDMCBjb250cm9sIG9yIFxcdTAwMjAgU1BBQ0UsXG4vLyBhbmQgYW55IG5ld2xpbmUgb3IgdGFiIGFyZSBmaWx0ZXJlZCBvdXQgYXMgaWYgdGhleSdyZSBub3QgcGFydCBvZiB0aGUgVVJMLlxuLy8gaHR0cHM6Ly91cmwuc3BlYy53aGF0d2cub3JnLyN1cmwtcGFyc2luZ1xuLy8gVGFiIG9yIG5ld2xpbmUgYXJlIGRlZmluZWQgYXMgXFxyXFxuXFx0OlxuLy8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI2FzY2lpLXRhYi1vci1uZXdsaW5lXG4vLyBBIEMwIGNvbnRyb2wgaXMgYSBjb2RlIHBvaW50IGluIHRoZSByYW5nZSBcXHUwMDAwIE5VTEwgdG8gXFx1MDAxRlxuLy8gSU5GT1JNQVRJT04gU0VQQVJBVE9SIE9ORSwgaW5jbHVzaXZlOlxuLy8gaHR0cHM6Ly9pbmZyYS5zcGVjLndoYXR3Zy5vcmcvI2MwLWNvbnRyb2wtb3Itc3BhY2VcblxuLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuXG5cbnZhciBpc0phdmFTY3JpcHRQcm90b2NvbCA9IC9eW1xcdTAwMDAtXFx1MDAxRiBdKmpbXFxyXFxuXFx0XSphW1xcclxcblxcdF0qdltcXHJcXG5cXHRdKmFbXFxyXFxuXFx0XSpzW1xcclxcblxcdF0qY1tcXHJcXG5cXHRdKnJbXFxyXFxuXFx0XSppW1xcclxcblxcdF0qcFtcXHJcXG5cXHRdKnRbXFxyXFxuXFx0XSpcXDovaTtcbnZhciBkaWRXYXJuID0gZmFsc2U7XG5cbmZ1bmN0aW9uIHNhbml0aXplVVJMKHVybCkge1xuICB7XG4gICAgaWYgKCFkaWRXYXJuICYmIGlzSmF2YVNjcmlwdFByb3RvY29sLnRlc3QodXJsKSkge1xuICAgICAgZGlkV2FybiA9IHRydWU7XG5cbiAgICAgIGVycm9yKCdBIGZ1dHVyZSB2ZXJzaW9uIG9mIFJlYWN0IHdpbGwgYmxvY2sgamF2YXNjcmlwdDogVVJMcyBhcyBhIHNlY3VyaXR5IHByZWNhdXRpb24uICcgKyAnVXNlIGV2ZW50IGhhbmRsZXJzIGluc3RlYWQgaWYgeW91IGNhbi4gSWYgeW91IG5lZWQgdG8gZ2VuZXJhdGUgdW5zYWZlIEhUTUwgdHJ5ICcgKyAndXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgaW5zdGVhZC4gUmVhY3Qgd2FzIHBhc3NlZCAlcy4nLCBKU09OLnN0cmluZ2lmeSh1cmwpKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXG4gKiBUaGUgXCJleHBlY3RlZFwiIGFyZ3VtZW50IGlzIHVzZWQgYXMgYSBoaW50IG9mIHdoYXQgdGhlIGV4cGVjdGVkIHZhbHVlIGlzLlxuICogU29tZSBwcm9wZXJ0aWVzIGhhdmUgbXVsdGlwbGUgZXF1aXZhbGVudCB2YWx1ZXMuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbHVlRm9yUHJvcGVydHkobm9kZSwgbmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbykge1xuICB7XG4gICAgaWYgKHByb3BlcnR5SW5mby5tdXN0VXNlUHJvcGVydHkpIHtcbiAgICAgIHZhciBwcm9wZXJ0eU5hbWUgPSBwcm9wZXJ0eUluZm8ucHJvcGVydHlOYW1lO1xuICAgICAgcmV0dXJuIG5vZGVbcHJvcGVydHlOYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCBwcm9wZXJ0eUluZm8uc2FuaXRpemVVUkwpIHtcbiAgICAgICAgLy8gSWYgd2UgaGF2ZW4ndCBmdWxseSBkaXNhYmxlZCBqYXZhc2NyaXB0OiBVUkxzLCBhbmQgaWZcbiAgICAgICAgLy8gdGhlIGh5ZHJhdGlvbiBpcyBzdWNjZXNzZnVsIG9mIGEgamF2YXNjcmlwdDogVVJMLCB3ZVxuICAgICAgICAvLyBzdGlsbCB3YW50IHRvIHdhcm4gb24gdGhlIGNsaWVudC5cbiAgICAgICAgc2FuaXRpemVVUkwoJycgKyBleHBlY3RlZCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBhdHRyaWJ1dGVOYW1lID0gcHJvcGVydHlJbmZvLmF0dHJpYnV0ZU5hbWU7XG4gICAgICB2YXIgc3RyaW5nVmFsdWUgPSBudWxsO1xuXG4gICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IE9WRVJMT0FERURfQk9PTEVBTikge1xuICAgICAgICBpZiAobm9kZS5oYXNBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSBub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTtcblxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKSB7XG4gICAgICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGUobmFtZSwgZXhwZWN0ZWQsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICAgICAgLy8gV2UgaGFkIGFuIGF0dHJpYnV0ZSBidXQgc2hvdWxkbid0IGhhdmUgaGFkIG9uZSwgc28gcmVhZCBpdFxuICAgICAgICAgIC8vIGZvciB0aGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgICAgICByZXR1cm4gbm9kZS5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocHJvcGVydHlJbmZvLnR5cGUgPT09IEJPT0xFQU4pIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHdhcyBhIGJvb2xlYW4sIGl0IGRvZXNuJ3QgbWF0dGVyIHdoYXQgdGhlIHZhbHVlIGlzXG4gICAgICAgICAgLy8gdGhlIGZhY3QgdGhhdCB3ZSBoYXZlIGl0IGlzIHRoZSBzYW1lIGFzIHRoZSBleHBlY3RlZC5cbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICAgIH0gLy8gRXZlbiBpZiB0aGlzIHByb3BlcnR5IHVzZXMgYSBuYW1lc3BhY2Ugd2UgdXNlIGdldEF0dHJpYnV0ZVxuICAgICAgICAvLyBiZWNhdXNlIHdlIGFzc3VtZSBpdHMgbmFtZXNwYWNlZCBuYW1lIGlzIHRoZSBzYW1lIGFzIG91ciBjb25maWcuXG4gICAgICAgIC8vIFRvIHVzZSBnZXRBdHRyaWJ1dGVOUyB3ZSBuZWVkIHRoZSBsb2NhbCBuYW1lIHdoaWNoIHdlIGRvbid0IGhhdmVcbiAgICAgICAgLy8gaW4gb3VyIGNvbmZpZyBhdG0uXG5cblxuICAgICAgICBzdHJpbmdWYWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkUmVtb3ZlQXR0cmlidXRlKG5hbWUsIGV4cGVjdGVkLCBwcm9wZXJ0eUluZm8sIGZhbHNlKSkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWUgPT09IG51bGwgPyBleHBlY3RlZCA6IHN0cmluZ1ZhbHVlO1xuICAgICAgfSBlbHNlIGlmIChzdHJpbmdWYWx1ZSA9PT0gJycgKyBleHBlY3RlZCkge1xuICAgICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gc3RyaW5nVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdldCB0aGUgdmFsdWUgZm9yIGEgYXR0cmlidXRlIG9uIGEgbm9kZS4gT25seSB1c2VkIGluIERFViBmb3IgU1NSIHZhbGlkYXRpb24uXG4gKiBUaGUgdGhpcmQgYXJndW1lbnQgaXMgdXNlZCBhcyBhIGhpbnQgb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgdmFsdWUgaXMuIFNvbWVcbiAqIGF0dHJpYnV0ZXMgaGF2ZSBtdWx0aXBsZSBlcXVpdmFsZW50IHZhbHVlcy5cbiAqL1xuXG5mdW5jdGlvbiBnZXRWYWx1ZUZvckF0dHJpYnV0ZShub2RlLCBuYW1lLCBleHBlY3RlZCkge1xuICB7XG4gICAgaWYgKCFpc0F0dHJpYnV0ZU5hbWVTYWZlKG5hbWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFub2RlLmhhc0F0dHJpYnV0ZShuYW1lKSkge1xuICAgICAgcmV0dXJuIGV4cGVjdGVkID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBudWxsO1xuICAgIH1cblxuICAgIHZhciB2YWx1ZSA9IG5vZGUuZ2V0QXR0cmlidXRlKG5hbWUpO1xuXG4gICAgaWYgKHZhbHVlID09PSAnJyArIGV4cGVjdGVkKSB7XG4gICAgICByZXR1cm4gZXhwZWN0ZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG4vKipcbiAqIFNldHMgdGhlIHZhbHVlIGZvciBhIHByb3BlcnR5IG9uIGEgbm9kZS5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0geyp9IHZhbHVlXG4gKi9cblxuZnVuY3Rpb24gc2V0VmFsdWVGb3JQcm9wZXJ0eShub2RlLCBuYW1lLCB2YWx1ZSwgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgdmFyIHByb3BlcnR5SW5mbyA9IGdldFByb3BlcnR5SW5mbyhuYW1lKTtcblxuICBpZiAoc2hvdWxkSWdub3JlQXR0cmlidXRlKG5hbWUsIHByb3BlcnR5SW5mbywgaXNDdXN0b21Db21wb25lbnRUYWcpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHNob3VsZFJlbW92ZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBpc0N1c3RvbUNvbXBvbmVudFRhZykpIHtcbiAgICB2YWx1ZSA9IG51bGw7XG4gIH0gLy8gSWYgdGhlIHByb3AgaXNuJ3QgaW4gdGhlIHNwZWNpYWwgbGlzdCwgdHJlYXQgaXQgYXMgYSBzaW1wbGUgYXR0cmlidXRlLlxuXG5cbiAgaWYgKGlzQ3VzdG9tQ29tcG9uZW50VGFnIHx8IHByb3BlcnR5SW5mbyA9PT0gbnVsbCkge1xuICAgIGlmIChpc0F0dHJpYnV0ZU5hbWVTYWZlKG5hbWUpKSB7XG4gICAgICB2YXIgX2F0dHJpYnV0ZU5hbWUgPSBuYW1lO1xuXG4gICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoX2F0dHJpYnV0ZU5hbWUsICAnJyArIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbXVzdFVzZVByb3BlcnR5ID0gcHJvcGVydHlJbmZvLm11c3RVc2VQcm9wZXJ0eTtcblxuICBpZiAobXVzdFVzZVByb3BlcnR5KSB7XG4gICAgdmFyIHByb3BlcnR5TmFtZSA9IHByb3BlcnR5SW5mby5wcm9wZXJ0eU5hbWU7XG5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIHZhciB0eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgICBub2RlW3Byb3BlcnR5TmFtZV0gPSB0eXBlID09PSBCT09MRUFOID8gZmFsc2UgOiAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udHJhcnkgdG8gYHNldEF0dHJpYnV0ZWAsIG9iamVjdCBwcm9wZXJ0aWVzIGFyZSBwcm9wZXJseVxuICAgICAgLy8gYHRvU3RyaW5nYGVkIGJ5IElFOC85LlxuICAgICAgbm9kZVtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9IC8vIFRoZSByZXN0IGFyZSB0cmVhdGVkIGFzIGF0dHJpYnV0ZXMgd2l0aCBzcGVjaWFsIGNhc2VzLlxuXG5cbiAgdmFyIGF0dHJpYnV0ZU5hbWUgPSBwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSxcbiAgICAgIGF0dHJpYnV0ZU5hbWVzcGFjZSA9IHByb3BlcnR5SW5mby5hdHRyaWJ1dGVOYW1lc3BhY2U7XG5cbiAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgbm9kZS5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF90eXBlID0gcHJvcGVydHlJbmZvLnR5cGU7XG4gICAgdmFyIGF0dHJpYnV0ZVZhbHVlO1xuXG4gICAgaWYgKF90eXBlID09PSBCT09MRUFOIHx8IF90eXBlID09PSBPVkVSTE9BREVEX0JPT0xFQU4gJiYgdmFsdWUgPT09IHRydWUpIHtcbiAgICAgIC8vIElmIGF0dHJpYnV0ZSB0eXBlIGlzIGJvb2xlYW4sIHdlIGtub3cgZm9yIHN1cmUgaXQgd29uJ3QgYmUgYW4gZXhlY3V0aW9uIHNpbmtcbiAgICAgIC8vIGFuZCB3ZSB3b24ndCByZXF1aXJlIFRydXN0ZWQgVHlwZSBoZXJlLlxuICAgICAgYXR0cmlidXRlVmFsdWUgPSAnJztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gYHNldEF0dHJpYnV0ZWAgd2l0aCBvYmplY3RzIGJlY29tZXMgb25seSBgW29iamVjdF1gIGluIElFOC85LFxuICAgICAgLy8gKCcnICsgdmFsdWUpIG1ha2VzIGl0IG91dHB1dCB0aGUgY29ycmVjdCB0b1N0cmluZygpLXZhbHVlLlxuICAgICAge1xuICAgICAgICBhdHRyaWJ1dGVWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChwcm9wZXJ0eUluZm8uc2FuaXRpemVVUkwpIHtcbiAgICAgICAgc2FuaXRpemVVUkwoYXR0cmlidXRlVmFsdWUudG9TdHJpbmcoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGF0dHJpYnV0ZU5hbWVzcGFjZSkge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGVOUyhhdHRyaWJ1dGVOYW1lc3BhY2UsIGF0dHJpYnV0ZU5hbWUsIGF0dHJpYnV0ZVZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgYXR0cmlidXRlVmFsdWUpO1xuICAgIH1cbiAgfVxufVxuXG52YXIgQkVGT1JFX1NMQVNIX1JFID0gL14oLiopW1xcXFxcXC9dLztcbmZ1bmN0aW9uIGRlc2NyaWJlQ29tcG9uZW50RnJhbWUgKG5hbWUsIHNvdXJjZSwgb3duZXJOYW1lKSB7XG4gIHZhciBzb3VyY2VJbmZvID0gJyc7XG5cbiAgaWYgKHNvdXJjZSkge1xuICAgIHZhciBwYXRoID0gc291cmNlLmZpbGVOYW1lO1xuICAgIHZhciBmaWxlTmFtZSA9IHBhdGgucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcblxuICAgIHtcbiAgICAgIC8vIEluIERFViwgaW5jbHVkZSBjb2RlIGZvciBhIGNvbW1vbiBzcGVjaWFsIGNhc2U6XG4gICAgICAvLyBwcmVmZXIgXCJmb2xkZXIvaW5kZXguanNcIiBpbnN0ZWFkIG9mIGp1c3QgXCJpbmRleC5qc1wiLlxuICAgICAgaWYgKC9eaW5kZXhcXC4vLnRlc3QoZmlsZU5hbWUpKSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHBhdGgubWF0Y2goQkVGT1JFX1NMQVNIX1JFKTtcblxuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICB2YXIgcGF0aEJlZm9yZVNsYXNoID0gbWF0Y2hbMV07XG5cbiAgICAgICAgICBpZiAocGF0aEJlZm9yZVNsYXNoKSB7XG4gICAgICAgICAgICB2YXIgZm9sZGVyTmFtZSA9IHBhdGhCZWZvcmVTbGFzaC5yZXBsYWNlKEJFRk9SRV9TTEFTSF9SRSwgJycpO1xuICAgICAgICAgICAgZmlsZU5hbWUgPSBmb2xkZXJOYW1lICsgJy8nICsgZmlsZU5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlSW5mbyA9ICcgKGF0ICcgKyBmaWxlTmFtZSArICc6JyArIHNvdXJjZS5saW5lTnVtYmVyICsgJyknO1xuICB9IGVsc2UgaWYgKG93bmVyTmFtZSkge1xuICAgIHNvdXJjZUluZm8gPSAnIChjcmVhdGVkIGJ5ICcgKyBvd25lck5hbWUgKyAnKSc7XG4gIH1cblxuICByZXR1cm4gJ1xcbiAgICBpbiAnICsgKG5hbWUgfHwgJ1Vua25vd24nKSArIHNvdXJjZUluZm87XG59XG5cbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXG52YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpIDogMHhlYWNiO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpIDogMHhlYWNkO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XG52YXIgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5jb25jdXJyZW50X21vZGUnKSA6IDB4ZWFjZjtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKSA6IDB4ZWFkMDtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKSA6IDB4ZWFkMTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0JykgOiAweGVhZDg7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubWVtbycpIDogMHhlYWQzO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKSA6IDB4ZWFkNDtcbnZhciBSRUFDVF9CTE9DS19UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuYmxvY2snKSA6IDB4ZWFkOTtcbnZhciBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgPSB0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5pdGVyYXRvcjtcbnZhciBGQVVYX0lURVJBVE9SX1NZTUJPTCA9ICdAQGl0ZXJhdG9yJztcbmZ1bmN0aW9uIGdldEl0ZXJhdG9yRm4obWF5YmVJdGVyYWJsZSkge1xuICBpZiAobWF5YmVJdGVyYWJsZSA9PT0gbnVsbCB8fCB0eXBlb2YgbWF5YmVJdGVyYWJsZSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBtYXliZUl0ZXJhdG9yID0gTUFZQkVfSVRFUkFUT1JfU1lNQk9MICYmIG1heWJlSXRlcmFibGVbTUFZQkVfSVRFUkFUT1JfU1lNQk9MXSB8fCBtYXliZUl0ZXJhYmxlW0ZBVVhfSVRFUkFUT1JfU1lNQk9MXTtcblxuICBpZiAodHlwZW9mIG1heWJlSXRlcmF0b3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbWF5YmVJdGVyYXRvcjtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG52YXIgVW5pbml0aWFsaXplZCA9IC0xO1xudmFyIFBlbmRpbmcgPSAwO1xudmFyIFJlc29sdmVkID0gMTtcbnZhciBSZWplY3RlZCA9IDI7XG5mdW5jdGlvbiByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQobGF6eUNvbXBvbmVudCkge1xuICByZXR1cm4gbGF6eUNvbXBvbmVudC5fc3RhdHVzID09PSBSZXNvbHZlZCA/IGxhenlDb21wb25lbnQuX3Jlc3VsdCA6IG51bGw7XG59XG5mdW5jdGlvbiBpbml0aWFsaXplTGF6eUNvbXBvbmVudFR5cGUobGF6eUNvbXBvbmVudCkge1xuICBpZiAobGF6eUNvbXBvbmVudC5fc3RhdHVzID09PSBVbmluaXRpYWxpemVkKSB7XG4gICAgbGF6eUNvbXBvbmVudC5fc3RhdHVzID0gUGVuZGluZztcbiAgICB2YXIgY3RvciA9IGxhenlDb21wb25lbnQuX2N0b3I7XG4gICAgdmFyIHRoZW5hYmxlID0gY3RvcigpO1xuICAgIGxhenlDb21wb25lbnQuX3Jlc3VsdCA9IHRoZW5hYmxlO1xuICAgIHRoZW5hYmxlLnRoZW4oZnVuY3Rpb24gKG1vZHVsZU9iamVjdCkge1xuICAgICAgaWYgKGxhenlDb21wb25lbnQuX3N0YXR1cyA9PT0gUGVuZGluZykge1xuICAgICAgICB2YXIgZGVmYXVsdEV4cG9ydCA9IG1vZHVsZU9iamVjdC5kZWZhdWx0O1xuXG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoZGVmYXVsdEV4cG9ydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBlcnJvcignbGF6eTogRXhwZWN0ZWQgdGhlIHJlc3VsdCBvZiBhIGR5bmFtaWMgaW1wb3J0KCkgY2FsbC4gJyArICdJbnN0ZWFkIHJlY2VpdmVkOiAlc1xcblxcbllvdXIgY29kZSBzaG91bGQgbG9vayBsaWtlOiBcXG4gICcgKyBcImNvbnN0IE15Q29tcG9uZW50ID0gbGF6eSgoKSA9PiBpbXBvcnQoJy4vTXlDb21wb25lbnQnKSlcIiwgbW9kdWxlT2JqZWN0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPSBSZXNvbHZlZDtcbiAgICAgICAgbGF6eUNvbXBvbmVudC5fcmVzdWx0ID0gZGVmYXVsdEV4cG9ydDtcbiAgICAgIH1cbiAgICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgIGlmIChsYXp5Q29tcG9uZW50Ll9zdGF0dXMgPT09IFBlbmRpbmcpIHtcbiAgICAgICAgbGF6eUNvbXBvbmVudC5fc3RhdHVzID0gUmVqZWN0ZWQ7XG4gICAgICAgIGxhenlDb21wb25lbnQuX3Jlc3VsdCA9IGVycm9yO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xuICByZXR1cm4gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lIHx8IChmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWUpO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiBcIlByb2ZpbGVyXCI7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICByZXR1cm4gJ0NvbnRleHQuQ29uc3VtZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgIHJldHVybiAnQ29udGV4dC5Qcm92aWRlcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWUodHlwZS50eXBlKTtcblxuICAgICAgY2FzZSBSRUFDVF9CTE9DS19UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHRoZW5hYmxlID0gdHlwZTtcbiAgICAgICAgICB2YXIgcmVzb2x2ZWRUaGVuYWJsZSA9IHJlZmluZVJlc29sdmVkTGF6eUNvbXBvbmVudCh0aGVuYWJsZSk7XG5cbiAgICAgICAgICBpZiAocmVzb2x2ZWRUaGVuYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWUocmVzb2x2ZWRUaGVuYWJsZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG5cbmZ1bmN0aW9uIGRlc2NyaWJlRmliZXIoZmliZXIpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RSb290OlxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgICByZXR1cm4gJyc7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgdmFyIG93bmVyID0gZmliZXIuX2RlYnVnT3duZXI7XG4gICAgICB2YXIgc291cmNlID0gZmliZXIuX2RlYnVnU291cmNlO1xuICAgICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpO1xuICAgICAgdmFyIG93bmVyTmFtZSA9IG51bGw7XG5cbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICBvd25lck5hbWUgPSBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGVzY3JpYmVDb21wb25lbnRGcmFtZShuYW1lLCBzb3VyY2UsIG93bmVyTmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciBpbmZvID0gJyc7XG4gIHZhciBub2RlID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgZG8ge1xuICAgIGluZm8gKz0gZGVzY3JpYmVGaWJlcihub2RlKTtcbiAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gIH0gd2hpbGUgKG5vZGUpO1xuXG4gIHJldHVybiBpbmZvO1xufVxudmFyIGN1cnJlbnQgPSBudWxsO1xudmFyIGlzUmVuZGVyaW5nID0gZmFsc2U7XG5mdW5jdGlvbiBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHtcbiAge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgb3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIHR5cGVvZiBvd25lciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybiBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpIHtcbiAge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfSAvLyBTYWZlIGJlY2F1c2UgaWYgY3VycmVudCBmaWJlciBleGlzdHMsIHdlIGFyZSByZWNvbmNpbGluZyxcbiAgICAvLyBhbmQgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSB0aGUgd29yay1pbi1wcm9ncmVzcyB2ZXJzaW9uLlxuXG5cbiAgICByZXR1cm4gZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGN1cnJlbnQpO1xuICB9XG59XG5mdW5jdGlvbiByZXNldEN1cnJlbnRGaWJlcigpIHtcbiAge1xuICAgIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMS5nZXRDdXJyZW50U3RhY2sgPSBudWxsO1xuICAgIGN1cnJlbnQgPSBudWxsO1xuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIHNldEN1cnJlbnRGaWJlcihmaWJlcikge1xuICB7XG4gICAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQxLmdldEN1cnJlbnRTdGFjayA9IGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXY7XG4gICAgY3VycmVudCA9IGZpYmVyO1xuICAgIGlzUmVuZGVyaW5nID0gZmFsc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIHNldElzUmVuZGVyaW5nKHJlbmRlcmluZykge1xuICB7XG4gICAgaXNSZW5kZXJpbmcgPSByZW5kZXJpbmc7XG4gIH1cbn1cblxuLy8gRmxvdyBkb2VzIG5vdCBhbGxvdyBzdHJpbmcgY29uY2F0ZW5hdGlvbiBvZiBtb3N0IG5vbi1zdHJpbmcgdHlwZXMuIFRvIHdvcmtcbi8vIGFyb3VuZCB0aGlzIGxpbWl0YXRpb24sIHdlIHVzZSBhbiBvcGFxdWUgdHlwZSB0aGF0IGNhbiBvbmx5IGJlIG9idGFpbmVkIGJ5XG4vLyBwYXNzaW5nIHRoZSB2YWx1ZSB0aHJvdWdoIGdldFRvU3RyaW5nVmFsdWUgZmlyc3QuXG5mdW5jdGlvbiB0b1N0cmluZyh2YWx1ZSkge1xuICByZXR1cm4gJycgKyB2YWx1ZTtcbn1cbmZ1bmN0aW9uIGdldFRvU3RyaW5nVmFsdWUodmFsdWUpIHtcbiAgc3dpdGNoICh0eXBlb2YgdmFsdWUpIHtcbiAgICBjYXNlICdib29sZWFuJzpcbiAgICBjYXNlICdudW1iZXInOlxuICAgIGNhc2UgJ29iamVjdCc6XG4gICAgY2FzZSAnc3RyaW5nJzpcbiAgICBjYXNlICd1bmRlZmluZWQnOlxuICAgICAgcmV0dXJuIHZhbHVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGZ1bmN0aW9uLCBzeW1ib2wgYXJlIGFzc2lnbmVkIGFzIGVtcHR5IHN0cmluZ3NcbiAgICAgIHJldHVybiAnJztcbiAgfVxufVxuXG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQyID0gbnVsbDtcbnZhciBSZWFjdENvbnRyb2xsZWRWYWx1ZVByb3BUeXBlcyA9IHtcbiAgY2hlY2tQcm9wVHlwZXM6IG51bGxcbn07XG5cbntcbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZTtcbiAgdmFyIGhhc1JlYWRPbmx5VmFsdWUgPSB7XG4gICAgYnV0dG9uOiB0cnVlLFxuICAgIGNoZWNrYm94OiB0cnVlLFxuICAgIGltYWdlOiB0cnVlLFxuICAgIGhpZGRlbjogdHJ1ZSxcbiAgICByYWRpbzogdHJ1ZSxcbiAgICByZXNldDogdHJ1ZSxcbiAgICBzdWJtaXQ6IHRydWVcbiAgfTtcbiAgdmFyIHByb3BUeXBlcyA9IHtcbiAgICB2YWx1ZTogZnVuY3Rpb24gKHByb3BzLCBwcm9wTmFtZSwgY29tcG9uZW50TmFtZSkge1xuICAgICAgaWYgKGhhc1JlYWRPbmx5VmFsdWVbcHJvcHMudHlwZV0gfHwgcHJvcHMub25DaGFuZ2UgfHwgcHJvcHMucmVhZE9ubHkgfHwgcHJvcHMuZGlzYWJsZWQgfHwgcHJvcHNbcHJvcE5hbWVdID09IG51bGwgfHwgZW5hYmxlRGVwcmVjYXRlZEZsYXJlQVBJICkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBFcnJvcignWW91IHByb3ZpZGVkIGEgYHZhbHVlYCBwcm9wIHRvIGEgZm9ybSBmaWVsZCB3aXRob3V0IGFuICcgKyAnYG9uQ2hhbmdlYCBoYW5kbGVyLiBUaGlzIHdpbGwgcmVuZGVyIGEgcmVhZC1vbmx5IGZpZWxkLiBJZiAnICsgJ3RoZSBmaWVsZCBzaG91bGQgYmUgbXV0YWJsZSB1c2UgYGRlZmF1bHRWYWx1ZWAuIE90aGVyd2lzZSwgJyArICdzZXQgZWl0aGVyIGBvbkNoYW5nZWAgb3IgYHJlYWRPbmx5YC4nKTtcbiAgICB9LFxuICAgIGNoZWNrZWQ6IGZ1bmN0aW9uIChwcm9wcywgcHJvcE5hbWUsIGNvbXBvbmVudE5hbWUpIHtcbiAgICAgIGlmIChwcm9wcy5vbkNoYW5nZSB8fCBwcm9wcy5yZWFkT25seSB8fCBwcm9wcy5kaXNhYmxlZCB8fCBwcm9wc1twcm9wTmFtZV0gPT0gbnVsbCB8fCBlbmFibGVEZXByZWNhdGVkRmxhcmVBUEkgKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IEVycm9yKCdZb3UgcHJvdmlkZWQgYSBgY2hlY2tlZGAgcHJvcCB0byBhIGZvcm0gZmllbGQgd2l0aG91dCBhbiAnICsgJ2BvbkNoYW5nZWAgaGFuZGxlci4gVGhpcyB3aWxsIHJlbmRlciBhIHJlYWQtb25seSBmaWVsZC4gSWYgJyArICd0aGUgZmllbGQgc2hvdWxkIGJlIG11dGFibGUgdXNlIGBkZWZhdWx0Q2hlY2tlZGAuIE90aGVyd2lzZSwgJyArICdzZXQgZWl0aGVyIGBvbkNoYW5nZWAgb3IgYHJlYWRPbmx5YC4nKTtcbiAgICB9XG4gIH07XG4gIC8qKlxuICAgKiBQcm92aWRlIGEgbGlua2VkIGB2YWx1ZWAgYXR0cmlidXRlIGZvciBjb250cm9sbGVkIGZvcm1zLiBZb3Ugc2hvdWxkIG5vdCB1c2VcbiAgICogdGhpcyBvdXRzaWRlIG9mIHRoZSBSZWFjdERPTSBjb250cm9sbGVkIGZvcm0gY29tcG9uZW50cy5cbiAgICovXG5cbiAgUmVhY3RDb250cm9sbGVkVmFsdWVQcm9wVHlwZXMuY2hlY2tQcm9wVHlwZXMgPSBmdW5jdGlvbiAodGFnTmFtZSwgcHJvcHMpIHtcbiAgICBjaGVja1Byb3BUeXBlcyhwcm9wVHlwZXMsIHByb3BzLCAncHJvcCcsIHRhZ05hbWUsIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMi5nZXRTdGFja0FkZGVuZHVtKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNDaGVja2FibGUoZWxlbSkge1xuICB2YXIgdHlwZSA9IGVsZW0udHlwZTtcbiAgdmFyIG5vZGVOYW1lID0gZWxlbS5ub2RlTmFtZTtcbiAgcmV0dXJuIG5vZGVOYW1lICYmIG5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICdpbnB1dCcgJiYgKHR5cGUgPT09ICdjaGVja2JveCcgfHwgdHlwZSA9PT0gJ3JhZGlvJyk7XG59XG5cbmZ1bmN0aW9uIGdldFRyYWNrZXIobm9kZSkge1xuICByZXR1cm4gbm9kZS5fdmFsdWVUcmFja2VyO1xufVxuXG5mdW5jdGlvbiBkZXRhY2hUcmFja2VyKG5vZGUpIHtcbiAgbm9kZS5fdmFsdWVUcmFja2VyID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0VmFsdWVGcm9tTm9kZShub2RlKSB7XG4gIHZhciB2YWx1ZSA9ICcnO1xuXG4gIGlmICghbm9kZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIGlmIChpc0NoZWNrYWJsZShub2RlKSkge1xuICAgIHZhbHVlID0gbm9kZS5jaGVja2VkID8gJ3RydWUnIDogJ2ZhbHNlJztcbiAgfSBlbHNlIHtcbiAgICB2YWx1ZSA9IG5vZGUudmFsdWU7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmZ1bmN0aW9uIHRyYWNrVmFsdWVPbk5vZGUobm9kZSkge1xuICB2YXIgdmFsdWVGaWVsZCA9IGlzQ2hlY2thYmxlKG5vZGUpID8gJ2NoZWNrZWQnIDogJ3ZhbHVlJztcbiAgdmFyIGRlc2NyaXB0b3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG5vZGUuY29uc3RydWN0b3IucHJvdG90eXBlLCB2YWx1ZUZpZWxkKTtcbiAgdmFyIGN1cnJlbnRWYWx1ZSA9ICcnICsgbm9kZVt2YWx1ZUZpZWxkXTsgLy8gaWYgc29tZW9uZSBoYXMgYWxyZWFkeSBkZWZpbmVkIGEgdmFsdWUgb3IgU2FmYXJpLCB0aGVuIGJhaWxcbiAgLy8gYW5kIGRvbid0IHRyYWNrIHZhbHVlIHdpbGwgY2F1c2Ugb3ZlciByZXBvcnRpbmcgb2YgY2hhbmdlcyxcbiAgLy8gYnV0IGl0J3MgYmV0dGVyIHRoZW4gYSBoYXJkIGZhaWx1cmVcbiAgLy8gKG5lZWRlZCBmb3IgY2VydGFpbiB0ZXN0cyB0aGF0IHNweU9uIGlucHV0IHZhbHVlcyBhbmQgU2FmYXJpKVxuXG4gIGlmIChub2RlLmhhc093blByb3BlcnR5KHZhbHVlRmllbGQpIHx8IHR5cGVvZiBkZXNjcmlwdG9yID09PSAndW5kZWZpbmVkJyB8fCB0eXBlb2YgZGVzY3JpcHRvci5nZXQgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGRlc2NyaXB0b3Iuc2V0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGdldCA9IGRlc2NyaXB0b3IuZ2V0LFxuICAgICAgc2V0ID0gZGVzY3JpcHRvci5zZXQ7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub2RlLCB2YWx1ZUZpZWxkLCB7XG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGdldC5jYWxsKHRoaXMpO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgICBzZXQuY2FsbCh0aGlzLCB2YWx1ZSk7XG4gICAgfVxuICB9KTsgLy8gV2UgY291bGQndmUgcGFzc2VkIHRoaXMgdGhlIGZpcnN0IHRpbWVcbiAgLy8gYnV0IGl0IHRyaWdnZXJzIGEgYnVnIGluIElFMTEgYW5kIEVkZ2UgMTQvMTUuXG4gIC8vIENhbGxpbmcgZGVmaW5lUHJvcGVydHkoKSBhZ2FpbiBzaG91bGQgYmUgZXF1aXZhbGVudC5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMTc2OFxuXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShub2RlLCB2YWx1ZUZpZWxkLCB7XG4gICAgZW51bWVyYWJsZTogZGVzY3JpcHRvci5lbnVtZXJhYmxlXG4gIH0pO1xuICB2YXIgdHJhY2tlciA9IHtcbiAgICBnZXRWYWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZTtcbiAgICB9LFxuICAgIHNldFZhbHVlOiBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgIGN1cnJlbnRWYWx1ZSA9ICcnICsgdmFsdWU7XG4gICAgfSxcbiAgICBzdG9wVHJhY2tpbmc6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGRldGFjaFRyYWNrZXIobm9kZSk7XG4gICAgICBkZWxldGUgbm9kZVt2YWx1ZUZpZWxkXTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0cmFja2VyO1xufVxuXG5mdW5jdGlvbiB0cmFjayhub2RlKSB7XG4gIGlmIChnZXRUcmFja2VyKG5vZGUpKSB7XG4gICAgcmV0dXJuO1xuICB9IC8vIFRPRE86IE9uY2UgaXQncyBqdXN0IEZpYmVyIHdlIGNhbiBtb3ZlIHRoaXMgdG8gbm9kZS5fd3JhcHBlclN0YXRlXG5cblxuICBub2RlLl92YWx1ZVRyYWNrZXIgPSB0cmFja1ZhbHVlT25Ob2RlKG5vZGUpO1xufVxuZnVuY3Rpb24gdXBkYXRlVmFsdWVJZkNoYW5nZWQobm9kZSkge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgdHJhY2tlciA9IGdldFRyYWNrZXIobm9kZSk7IC8vIGlmIHRoZXJlIGlzIG5vIHRyYWNrZXIgYXQgdGhpcyBwb2ludCBpdCdzIHVubGlrZWx5XG4gIC8vIHRoYXQgdHJ5aW5nIGFnYWluIHdpbGwgc3VjY2VlZFxuXG4gIGlmICghdHJhY2tlcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdmFyIGxhc3RWYWx1ZSA9IHRyYWNrZXIuZ2V0VmFsdWUoKTtcbiAgdmFyIG5leHRWYWx1ZSA9IGdldFZhbHVlRnJvbU5vZGUobm9kZSk7XG5cbiAgaWYgKG5leHRWYWx1ZSAhPT0gbGFzdFZhbHVlKSB7XG4gICAgdHJhY2tlci5zZXRWYWx1ZShuZXh0VmFsdWUpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG52YXIgZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlID0gZmFsc2U7XG52YXIgZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCA9IGZhbHNlO1xudmFyIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSBmYWxzZTtcbnZhciBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gZmFsc2U7XG5cbmZ1bmN0aW9uIGlzQ29udHJvbGxlZChwcm9wcykge1xuICB2YXIgdXNlc0NoZWNrZWQgPSBwcm9wcy50eXBlID09PSAnY2hlY2tib3gnIHx8IHByb3BzLnR5cGUgPT09ICdyYWRpbyc7XG4gIHJldHVybiB1c2VzQ2hlY2tlZCA/IHByb3BzLmNoZWNrZWQgIT0gbnVsbCA6IHByb3BzLnZhbHVlICE9IG51bGw7XG59XG4vKipcbiAqIEltcGxlbWVudHMgYW4gPGlucHV0PiBob3N0IGNvbXBvbmVudCB0aGF0IGFsbG93cyBzZXR0aW5nIHRoZXNlIG9wdGlvbmFsXG4gKiBwcm9wczogYGNoZWNrZWRgLCBgdmFsdWVgLCBgZGVmYXVsdENoZWNrZWRgLCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKlxuICogSWYgYGNoZWNrZWRgIG9yIGB2YWx1ZWAgYXJlIG5vdCBzdXBwbGllZCAob3IgbnVsbC91bmRlZmluZWQpLCB1c2VyIGFjdGlvbnNcbiAqIHRoYXQgYWZmZWN0IHRoZSBjaGVja2VkIHN0YXRlIG9yIHZhbHVlIHdpbGwgdHJpZ2dlciB1cGRhdGVzIHRvIHRoZSBlbGVtZW50LlxuICpcbiAqIElmIHRoZXkgYXJlIHN1cHBsaWVkIChhbmQgbm90IG51bGwvdW5kZWZpbmVkKSwgdGhlIHJlbmRlcmVkIGVsZW1lbnQgd2lsbCBub3RcbiAqIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgZWxlbWVudC4gSW5zdGVhZCwgdGhlIHByb3BzIG11c3QgY2hhbmdlIGluIG9yZGVyIGZvclxuICogdGhlIHJlbmRlcmVkIGVsZW1lbnQgdG8gYmUgdXBkYXRlZC5cbiAqXG4gKiBUaGUgcmVuZGVyZWQgZWxlbWVudCB3aWxsIGJlIGluaXRpYWxpemVkIGFzIHVuY2hlY2tlZCAob3IgYGRlZmF1bHRDaGVja2VkYClcbiAqIHdpdGggYW4gZW1wdHkgdmFsdWUgKG9yIGBkZWZhdWx0VmFsdWVgKS5cbiAqXG4gKiBTZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMi9XRC1odG1sNS0yMDEyMTAyNS90aGUtaW5wdXQtZWxlbWVudC5odG1sXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgY2hlY2tlZCA9IHByb3BzLmNoZWNrZWQ7XG5cbiAgdmFyIGhvc3RQcm9wcyA9IF9hc3NpZ24oe30sIHByb3BzLCB7XG4gICAgZGVmYXVsdENoZWNrZWQ6IHVuZGVmaW5lZCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIGNoZWNrZWQ6IGNoZWNrZWQgIT0gbnVsbCA/IGNoZWNrZWQgOiBub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbENoZWNrZWRcbiAgfSk7XG5cbiAgcmV0dXJuIGhvc3RQcm9wcztcbn1cbmZ1bmN0aW9uIGluaXRXcmFwcGVyU3RhdGUoZWxlbWVudCwgcHJvcHMpIHtcbiAge1xuICAgIFJlYWN0Q29udHJvbGxlZFZhbHVlUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCdpbnB1dCcsIHByb3BzKTtcblxuICAgIGlmIChwcm9wcy5jaGVja2VkICE9PSB1bmRlZmluZWQgJiYgcHJvcHMuZGVmYXVsdENoZWNrZWQgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FybkNoZWNrZWREZWZhdWx0Q2hlY2tlZCkge1xuICAgICAgZXJyb3IoJyVzIGNvbnRhaW5zIGFuIGlucHV0IG9mIHR5cGUgJXMgd2l0aCBib3RoIGNoZWNrZWQgYW5kIGRlZmF1bHRDaGVja2VkIHByb3BzLiAnICsgJ0lucHV0IGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSBjaGVja2VkIHByb3AsIG9yIHRoZSBkZWZhdWx0Q2hlY2tlZCBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xuXG4gICAgICBkaWRXYXJuQ2hlY2tlZERlZmF1bHRDaGVja2VkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblZhbHVlRGVmYXVsdFZhbHVlKSB7XG4gICAgICBlcnJvcignJXMgY29udGFpbnMgYW4gaW5wdXQgb2YgdHlwZSAlcyB3aXRoIGJvdGggdmFsdWUgYW5kIGRlZmF1bHRWYWx1ZSBwcm9wcy4gJyArICdJbnB1dCBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGFuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcsIHByb3BzLnR5cGUpO1xuXG4gICAgICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIGRlZmF1bHRWYWx1ZSA9IHByb3BzLmRlZmF1bHRWYWx1ZSA9PSBudWxsID8gJycgOiBwcm9wcy5kZWZhdWx0VmFsdWU7XG4gIG5vZGUuX3dyYXBwZXJTdGF0ZSA9IHtcbiAgICBpbml0aWFsQ2hlY2tlZDogcHJvcHMuY2hlY2tlZCAhPSBudWxsID8gcHJvcHMuY2hlY2tlZCA6IHByb3BzLmRlZmF1bHRDaGVja2VkLFxuICAgIGluaXRpYWxWYWx1ZTogZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSAhPSBudWxsID8gcHJvcHMudmFsdWUgOiBkZWZhdWx0VmFsdWUpLFxuICAgIGNvbnRyb2xsZWQ6IGlzQ29udHJvbGxlZChwcm9wcylcbiAgfTtcbn1cbmZ1bmN0aW9uIHVwZGF0ZUNoZWNrZWQoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgY2hlY2tlZCA9IHByb3BzLmNoZWNrZWQ7XG5cbiAgaWYgKGNoZWNrZWQgIT0gbnVsbCkge1xuICAgIHNldFZhbHVlRm9yUHJvcGVydHkobm9kZSwgJ2NoZWNrZWQnLCBjaGVja2VkLCBmYWxzZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHVwZGF0ZVdyYXBwZXIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIHtcbiAgICB2YXIgY29udHJvbGxlZCA9IGlzQ29udHJvbGxlZChwcm9wcyk7XG5cbiAgICBpZiAoIW5vZGUuX3dyYXBwZXJTdGF0ZS5jb250cm9sbGVkICYmIGNvbnRyb2xsZWQgJiYgIWRpZFdhcm5VbmNvbnRyb2xsZWRUb0NvbnRyb2xsZWQpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBjaGFuZ2luZyBhbiB1bmNvbnRyb2xsZWQgaW5wdXQgb2YgdHlwZSAlcyB0byBiZSBjb250cm9sbGVkLiAnICsgJ0lucHV0IGVsZW1lbnRzIHNob3VsZCBub3Qgc3dpdGNoIGZyb20gdW5jb250cm9sbGVkIHRvIGNvbnRyb2xsZWQgKG9yIHZpY2UgdmVyc2EpLiAnICsgJ0RlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgaW5wdXQgJyArICdlbGVtZW50IGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIGNvbXBvbmVudC4gTW9yZSBpbmZvOiBodHRwczovL2ZiLm1lL3JlYWN0LWNvbnRyb2xsZWQtY29tcG9uZW50cycsIHByb3BzLnR5cGUpO1xuXG4gICAgICBkaWRXYXJuVW5jb250cm9sbGVkVG9Db250cm9sbGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5fd3JhcHBlclN0YXRlLmNvbnRyb2xsZWQgJiYgIWNvbnRyb2xsZWQgJiYgIWRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQpIHtcbiAgICAgIGVycm9yKCdBIGNvbXBvbmVudCBpcyBjaGFuZ2luZyBhIGNvbnRyb2xsZWQgaW5wdXQgb2YgdHlwZSAlcyB0byBiZSB1bmNvbnRyb2xsZWQuICcgKyAnSW5wdXQgZWxlbWVudHMgc2hvdWxkIG5vdCBzd2l0Y2ggZnJvbSBjb250cm9sbGVkIHRvIHVuY29udHJvbGxlZCAob3IgdmljZSB2ZXJzYSkuICcgKyAnRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCBpbnB1dCAnICsgJ2VsZW1lbnQgZm9yIHRoZSBsaWZldGltZSBvZiB0aGUgY29tcG9uZW50LiBNb3JlIGluZm86IGh0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzJywgcHJvcHMudHlwZSk7XG5cbiAgICAgIGRpZFdhcm5Db250cm9sbGVkVG9VbmNvbnRyb2xsZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUNoZWNrZWQoZWxlbWVudCwgcHJvcHMpO1xuICB2YXIgdmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKTtcbiAgdmFyIHR5cGUgPSBwcm9wcy50eXBlO1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgaWYgKHR5cGUgPT09ICdudW1iZXInKSB7XG4gICAgICBpZiAodmFsdWUgPT09IDAgJiYgbm9kZS52YWx1ZSA9PT0gJycgfHwgLy8gV2UgZXhwbGljaXRseSB3YW50IHRvIGNvZXJjZSB0byBudW1iZXIgaGVyZSBpZiBwb3NzaWJsZS5cbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgbm9kZS52YWx1ZSAhPSB2YWx1ZSkge1xuICAgICAgICBub2RlLnZhbHVlID0gdG9TdHJpbmcodmFsdWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS52YWx1ZSAhPT0gdG9TdHJpbmcodmFsdWUpKSB7XG4gICAgICBub2RlLnZhbHVlID0gdG9TdHJpbmcodmFsdWUpO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0eXBlID09PSAnc3VibWl0JyB8fCB0eXBlID09PSAncmVzZXQnKSB7XG4gICAgLy8gU3VibWl0L3Jlc2V0IGlucHV0cyBuZWVkIHRoZSBhdHRyaWJ1dGUgcmVtb3ZlZCBjb21wbGV0ZWx5IHRvIGF2b2lkXG4gICAgLy8gYmxhbmstdGV4dCBidXR0b25zLlxuICAgIG5vZGUucmVtb3ZlQXR0cmlidXRlKCd2YWx1ZScpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIHZhbHVlIGF0dHJpYnV0ZSwgdGhlIHZhbHVlIGNvbWVzIGZyb20gYSBjYXNjYWRlIG9mXG4gICAgLy8gcHJvcGVydGllczpcbiAgICAvLyAgMS4gVGhlIHZhbHVlIFJlYWN0IHByb3BlcnR5XG4gICAgLy8gIDIuIFRoZSBkZWZhdWx0VmFsdWUgUmVhY3QgcHJvcGVydHlcbiAgICAvLyAgMy4gT3RoZXJ3aXNlIHRoZXJlIHNob3VsZCBiZSBubyBjaGFuZ2VcbiAgICBpZiAocHJvcHMuaGFzT3duUHJvcGVydHkoJ3ZhbHVlJykpIHtcbiAgICAgIHNldERlZmF1bHRWYWx1ZShub2RlLCBwcm9wcy50eXBlLCB2YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5oYXNPd25Qcm9wZXJ0eSgnZGVmYXVsdFZhbHVlJykpIHtcbiAgICAgIHNldERlZmF1bHRWYWx1ZShub2RlLCBwcm9wcy50eXBlLCBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLmRlZmF1bHRWYWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICAvLyBXaGVuIHN5bmNpbmcgdGhlIGNoZWNrZWQgYXR0cmlidXRlLCBpdCBvbmx5IGNoYW5nZXMgd2hlbiBpdCBuZWVkc1xuICAgIC8vIHRvIGJlIHJlbW92ZWQsIHN1Y2ggYXMgdHJhbnNpdGlvbmluZyBmcm9tIGEgY2hlY2tib3ggaW50byBhIHRleHQgaW5wdXRcbiAgICBpZiAocHJvcHMuY2hlY2tlZCA9PSBudWxsICYmIHByb3BzLmRlZmF1bHRDaGVja2VkICE9IG51bGwpIHtcbiAgICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhIXByb3BzLmRlZmF1bHRDaGVja2VkO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlcihlbGVtZW50LCBwcm9wcywgaXNIeWRyYXRpbmcpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50OyAvLyBEbyBub3QgYXNzaWduIHZhbHVlIGlmIGl0IGlzIGFscmVhZHkgc2V0LiBUaGlzIHByZXZlbnRzIHVzZXIgdGV4dCBpbnB1dFxuICAvLyBmcm9tIGJlaW5nIGxvc3QgZHVyaW5nIFNTUiBoeWRyYXRpb24uXG5cbiAgaWYgKHByb3BzLmhhc093blByb3BlcnR5KCd2YWx1ZScpIHx8IHByb3BzLmhhc093blByb3BlcnR5KCdkZWZhdWx0VmFsdWUnKSkge1xuICAgIHZhciB0eXBlID0gcHJvcHMudHlwZTtcbiAgICB2YXIgaXNCdXR0b24gPSB0eXBlID09PSAnc3VibWl0JyB8fCB0eXBlID09PSAncmVzZXQnOyAvLyBBdm9pZCBzZXR0aW5nIHZhbHVlIGF0dHJpYnV0ZSBvbiBzdWJtaXQvcmVzZXQgaW5wdXRzIGFzIGl0IG92ZXJyaWRlcyB0aGVcbiAgICAvLyBkZWZhdWx0IHZhbHVlIHByb3ZpZGVkIGJ5IHRoZSBicm93c2VyLiBTZWU6ICMxMjg3MlxuXG4gICAgaWYgKGlzQnV0dG9uICYmIChwcm9wcy52YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHByb3BzLnZhbHVlID09PSBudWxsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBpbml0aWFsVmFsdWUgPSB0b1N0cmluZyhub2RlLl93cmFwcGVyU3RhdGUuaW5pdGlhbFZhbHVlKTsgLy8gRG8gbm90IGFzc2lnbiB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldC4gVGhpcyBwcmV2ZW50cyB1c2VyIHRleHQgaW5wdXRcbiAgICAvLyBmcm9tIGJlaW5nIGxvc3QgZHVyaW5nIFNTUiBoeWRyYXRpb24uXG5cbiAgICBpZiAoIWlzSHlkcmF0aW5nKSB7XG4gICAgICB7XG4gICAgICAgIC8vIFdoZW4gc3luY2luZyB0aGUgdmFsdWUgYXR0cmlidXRlLCB0aGUgdmFsdWUgcHJvcGVydHkgc2hvdWxkIHVzZVxuICAgICAgICAvLyB0aGUgd3JhcHBlclN0YXRlLl9pbml0aWFsVmFsdWUgcHJvcGVydHkuIFRoaXMgdXNlczpcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICAxLiBUaGUgdmFsdWUgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgICAgIC8vICAgMi4gVGhlIGRlZmF1bHRWYWx1ZSBSZWFjdCBwcm9wZXJ0eSB3aGVuIHByZXNlbnRcbiAgICAgICAgLy8gICAzLiBBbiBlbXB0eSBzdHJpbmdcbiAgICAgICAgaWYgKGluaXRpYWxWYWx1ZSAhPT0gbm9kZS52YWx1ZSkge1xuICAgICAgICAgIG5vZGUudmFsdWUgPSBpbml0aWFsVmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB7XG4gICAgICAvLyBPdGhlcndpc2UsIHRoZSB2YWx1ZSBhdHRyaWJ1dGUgaXMgc3luY2hyb25pemVkIHRvIHRoZSBwcm9wZXJ0eSxcbiAgICAgIC8vIHNvIHdlIGFzc2lnbiBkZWZhdWx0VmFsdWUgdG8gdGhlIHNhbWUgdGhpbmcgYXMgdGhlIHZhbHVlIHByb3BlcnR5XG4gICAgICAvLyBhc3NpZ25tZW50IHN0ZXAgYWJvdmUuXG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IGluaXRpYWxWYWx1ZTtcbiAgICB9XG4gIH0gLy8gTm9ybWFsbHksIHdlJ2QganVzdCBkbyBgbm9kZS5jaGVja2VkID0gbm9kZS5jaGVja2VkYCB1cG9uIGluaXRpYWwgbW91bnQsIGxlc3MgdGhpcyBidWdcbiAgLy8gdGhpcyBpcyBuZWVkZWQgdG8gd29yayBhcm91bmQgYSBjaHJvbWUgYnVnIHdoZXJlIHNldHRpbmcgZGVmYXVsdENoZWNrZWRcbiAgLy8gd2lsbCBzb21ldGltZXMgaW5mbHVlbmNlIHRoZSB2YWx1ZSBvZiBjaGVja2VkIChldmVuIGFmdGVyIGRldGFjaG1lbnQpLlxuICAvLyBSZWZlcmVuY2U6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTYwODQxNlxuICAvLyBXZSBuZWVkIHRvIHRlbXBvcmFyaWx5IHVuc2V0IG5hbWUgdG8gYXZvaWQgZGlzcnVwdGluZyByYWRpbyBidXR0b24gZ3JvdXBzLlxuXG5cbiAgdmFyIG5hbWUgPSBub2RlLm5hbWU7XG5cbiAgaWYgKG5hbWUgIT09ICcnKSB7XG4gICAgbm9kZS5uYW1lID0gJyc7XG4gIH1cblxuICB7XG4gICAgLy8gV2hlbiBzeW5jaW5nIHRoZSBjaGVja2VkIGF0dHJpYnV0ZSwgYm90aCB0aGUgY2hlY2tlZCBwcm9wZXJ0eSBhbmRcbiAgICAvLyBhdHRyaWJ1dGUgYXJlIGFzc2lnbmVkIGF0IHRoZSBzYW1lIHRpbWUgdXNpbmcgZGVmYXVsdENoZWNrZWQuIFRoaXMgdXNlczpcbiAgICAvL1xuICAgIC8vICAgMS4gVGhlIGNoZWNrZWQgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgLy8gICAyLiBUaGUgZGVmYXVsdENoZWNrZWQgUmVhY3QgcHJvcGVydHkgd2hlbiBwcmVzZW50XG4gICAgLy8gICAzLiBPdGhlcndpc2UsIGZhbHNlXG4gICAgbm9kZS5kZWZhdWx0Q2hlY2tlZCA9ICFub2RlLmRlZmF1bHRDaGVja2VkO1xuICAgIG5vZGUuZGVmYXVsdENoZWNrZWQgPSAhIW5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsQ2hlY2tlZDtcbiAgfVxuXG4gIGlmIChuYW1lICE9PSAnJykge1xuICAgIG5vZGUubmFtZSA9IG5hbWU7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB1cGRhdGVXcmFwcGVyKG5vZGUsIHByb3BzKTtcbiAgdXBkYXRlTmFtZWRDb3VzaW5zKG5vZGUsIHByb3BzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTmFtZWRDb3VzaW5zKHJvb3ROb2RlLCBwcm9wcykge1xuICB2YXIgbmFtZSA9IHByb3BzLm5hbWU7XG5cbiAgaWYgKHByb3BzLnR5cGUgPT09ICdyYWRpbycgJiYgbmFtZSAhPSBudWxsKSB7XG4gICAgdmFyIHF1ZXJ5Um9vdCA9IHJvb3ROb2RlO1xuXG4gICAgd2hpbGUgKHF1ZXJ5Um9vdC5wYXJlbnROb2RlKSB7XG4gICAgICBxdWVyeVJvb3QgPSBxdWVyeVJvb3QucGFyZW50Tm9kZTtcbiAgICB9IC8vIElmIGByb290Tm9kZS5mb3JtYCB3YXMgbm9uLW51bGwsIHRoZW4gd2UgY291bGQgdHJ5IGBmb3JtLmVsZW1lbnRzYCxcbiAgICAvLyBidXQgdGhhdCBzb21ldGltZXMgYmVoYXZlcyBzdHJhbmdlbHkgaW4gSUU4LiBXZSBjb3VsZCBhbHNvIHRyeSB1c2luZ1xuICAgIC8vIGBmb3JtLmdldEVsZW1lbnRzQnlOYW1lYCwgYnV0IHRoYXQgd2lsbCBvbmx5IHJldHVybiBkaXJlY3QgY2hpbGRyZW5cbiAgICAvLyBhbmQgd29uJ3QgaW5jbHVkZSBpbnB1dHMgdGhhdCB1c2UgdGhlIEhUTUw1IGBmb3JtPWAgYXR0cmlidXRlLiBTaW5jZVxuICAgIC8vIHRoZSBpbnB1dCBtaWdodCBub3QgZXZlbiBiZSBpbiBhIGZvcm0uIEl0IG1pZ2h0IG5vdCBldmVuIGJlIGluIHRoZVxuICAgIC8vIGRvY3VtZW50LiBMZXQncyBqdXN0IHVzZSB0aGUgbG9jYWwgYHF1ZXJ5U2VsZWN0b3JBbGxgIHRvIGVuc3VyZSB3ZSBkb24ndFxuICAgIC8vIG1pc3MgYW55dGhpbmcuXG5cblxuICAgIHZhciBncm91cCA9IHF1ZXJ5Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCdpbnB1dFtuYW1lPScgKyBKU09OLnN0cmluZ2lmeSgnJyArIG5hbWUpICsgJ11bdHlwZT1cInJhZGlvXCJdJyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGdyb3VwLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgb3RoZXJOb2RlID0gZ3JvdXBbaV07XG5cbiAgICAgIGlmIChvdGhlck5vZGUgPT09IHJvb3ROb2RlIHx8IG90aGVyTm9kZS5mb3JtICE9PSByb290Tm9kZS5mb3JtKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSAvLyBUaGlzIHdpbGwgdGhyb3cgaWYgcmFkaW8gYnV0dG9ucyByZW5kZXJlZCBieSBkaWZmZXJlbnQgY29waWVzIG9mIFJlYWN0XG4gICAgICAvLyBhbmQgdGhlIHNhbWUgbmFtZSBhcmUgcmVuZGVyZWQgaW50byB0aGUgc2FtZSBmb3JtIChzYW1lIGFzICMxOTM5KS5cbiAgICAgIC8vIFRoYXQncyBwcm9iYWJseSBva2F5OyB3ZSBkb24ndCBzdXBwb3J0IGl0IGp1c3QgYXMgd2UgZG9uJ3Qgc3VwcG9ydFxuICAgICAgLy8gbWl4aW5nIFJlYWN0IHJhZGlvIGJ1dHRvbnMgd2l0aCBub24tUmVhY3Qgb25lcy5cblxuXG4gICAgICB2YXIgb3RoZXJQcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMShvdGhlck5vZGUpO1xuXG4gICAgICBpZiAoIW90aGVyUHJvcHMpIHtcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IEVycm9yKCBcIlJlYWN0RE9NSW5wdXQ6IE1peGluZyBSZWFjdCBhbmQgbm9uLVJlYWN0IHJhZGlvIGlucHV0cyB3aXRoIHRoZSBzYW1lIGBuYW1lYCBpcyBub3Qgc3VwcG9ydGVkLlwiICk7XG4gICAgICAgIH1cbiAgICAgIH0gLy8gV2UgbmVlZCB1cGRhdGUgdGhlIHRyYWNrZWQgdmFsdWUgb24gdGhlIG5hbWVkIGNvdXNpbiBzaW5jZSB0aGUgdmFsdWVcbiAgICAgIC8vIHdhcyBjaGFuZ2VkIGJ1dCB0aGUgaW5wdXQgc2F3IG5vIGV2ZW50IG9yIHZhbHVlIHNldFxuXG5cbiAgICAgIHVwZGF0ZVZhbHVlSWZDaGFuZ2VkKG90aGVyTm9kZSk7IC8vIElmIHRoaXMgaXMgYSBjb250cm9sbGVkIHJhZGlvIGJ1dHRvbiBncm91cCwgZm9yY2luZyB0aGUgaW5wdXQgdGhhdFxuICAgICAgLy8gd2FzIHByZXZpb3VzbHkgY2hlY2tlZCB0byB1cGRhdGUgd2lsbCBjYXVzZSBpdCB0byBiZSBjb21lIHJlLWNoZWNrZWRcbiAgICAgIC8vIGFzIGFwcHJvcHJpYXRlLlxuXG4gICAgICB1cGRhdGVXcmFwcGVyKG90aGVyTm9kZSwgb3RoZXJQcm9wcyk7XG4gICAgfVxuICB9XG59IC8vIEluIENocm9tZSwgYXNzaWduaW5nIGRlZmF1bHRWYWx1ZSB0byBjZXJ0YWluIGlucHV0IHR5cGVzIHRyaWdnZXJzIGlucHV0IHZhbGlkYXRpb24uXG4vLyBGb3IgbnVtYmVyIGlucHV0cywgdGhlIGRpc3BsYXkgdmFsdWUgbG9zZXMgdHJhaWxpbmcgZGVjaW1hbCBwb2ludHMuIEZvciBlbWFpbCBpbnB1dHMsXG4vLyBDaHJvbWUgcmFpc2VzIFwiVGhlIHNwZWNpZmllZCB2YWx1ZSA8eD4gaXMgbm90IGEgdmFsaWQgZW1haWwgYWRkcmVzc1wiLlxuLy9cbi8vIEhlcmUgd2UgY2hlY2sgdG8gc2VlIGlmIHRoZSBkZWZhdWx0VmFsdWUgaGFzIGFjdHVhbGx5IGNoYW5nZWQsIGF2b2lkaW5nIHRoZXNlIHByb2JsZW1zXG4vLyB3aGVuIHRoZSB1c2VyIGlzIGlucHV0dGluZyB0ZXh0XG4vL1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy83MjUzXG5cblxuZnVuY3Rpb24gc2V0RGVmYXVsdFZhbHVlKG5vZGUsIHR5cGUsIHZhbHVlKSB7XG4gIGlmICggLy8gRm9jdXNlZCBudW1iZXIgaW5wdXRzIHN5bmNocm9uaXplIG9uIGJsdXIuIFNlZSBDaGFuZ2VFdmVudFBsdWdpbi5qc1xuICB0eXBlICE9PSAnbnVtYmVyJyB8fCBub2RlLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gbm9kZSkge1xuICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7XG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IHRvU3RyaW5nKG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5kZWZhdWx0VmFsdWUgIT09IHRvU3RyaW5nKHZhbHVlKSkge1xuICAgICAgbm9kZS5kZWZhdWx0VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbnZhciBkaWRXYXJuU2VsZWN0ZWRTZXRPbk9wdGlvbiA9IGZhbHNlO1xudmFyIGRpZFdhcm5JbnZhbGlkQ2hpbGQgPSBmYWxzZTtcblxuZnVuY3Rpb24gZmxhdHRlbkNoaWxkcmVuKGNoaWxkcmVuKSB7XG4gIHZhciBjb250ZW50ID0gJyc7IC8vIEZsYXR0ZW4gY2hpbGRyZW4uIFdlJ2xsIHdhcm4gaWYgdGhleSBhcmUgaW52YWxpZFxuICAvLyBkdXJpbmcgdmFsaWRhdGVQcm9wcygpIHdoaWNoIHJ1bnMgZm9yIGh5ZHJhdGlvbiB0b28uXG4gIC8vIE5vdGUgdGhhdCB0aGlzIHdvdWxkIHRocm93IG9uIG5vbi1lbGVtZW50IG9iamVjdHMuXG4gIC8vIEVsZW1lbnRzIGFyZSBzdHJpbmdpZmllZCAod2hpY2ggaXMgbm9ybWFsbHkgaXJyZWxldmFudFxuICAvLyBidXQgbWF0dGVycyBmb3IgPGZidD4pLlxuXG4gIFJlYWN0LkNoaWxkcmVuLmZvckVhY2goY2hpbGRyZW4sIGZ1bmN0aW9uIChjaGlsZCkge1xuICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29udGVudCArPSBjaGlsZDsgLy8gTm90ZTogd2UgZG9uJ3Qgd2FybiBhYm91dCBpbnZhbGlkIGNoaWxkcmVuIGhlcmUuXG4gICAgLy8gSW5zdGVhZCwgdGhpcyBpcyBkb25lIHNlcGFyYXRlbHkgYmVsb3cgc28gdGhhdFxuICAgIC8vIGl0IGhhcHBlbnMgZHVyaW5nIHRoZSBoeWRyYXRpb24gY29kZXBhdGggdG9vLlxuICB9KTtcbiAgcmV0dXJuIGNvbnRlbnQ7XG59XG4vKipcbiAqIEltcGxlbWVudHMgYW4gPG9wdGlvbj4gaG9zdCBjb21wb25lbnQgdGhhdCB3YXJucyB3aGVuIGBzZWxlY3RlZGAgaXMgc2V0LlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wcyhlbGVtZW50LCBwcm9wcykge1xuICB7XG4gICAgLy8gVGhpcyBtaXJyb3JzIHRoZSBjb2RlcGF0aCBhYm92ZSwgYnV0IHJ1bnMgZm9yIGh5ZHJhdGlvbiB0b28uXG4gICAgLy8gV2FybiBhYm91dCBpbnZhbGlkIGNoaWxkcmVuIGhlcmUgc28gdGhhdCBjbGllbnQgYW5kIGh5ZHJhdGlvbiBhcmUgY29uc2lzdGVudC5cbiAgICAvLyBUT0RPOiB0aGlzIHNlZW1zIGxpa2UgaXQgY291bGQgY2F1c2UgYSBERVYtb25seSB0aHJvdyBmb3IgaHlkcmF0aW9uXG4gICAgLy8gaWYgY2hpbGRyZW4gY29udGFpbnMgYSBub24tZWxlbWVudCBvYmplY3QuIFdlIHNob3VsZCB0cnkgdG8gYXZvaWQgdGhhdC5cbiAgICBpZiAodHlwZW9mIHByb3BzLmNoaWxkcmVuID09PSAnb2JqZWN0JyAmJiBwcm9wcy5jaGlsZHJlbiAhPT0gbnVsbCkge1xuICAgICAgUmVhY3QuQ2hpbGRyZW4uZm9yRWFjaChwcm9wcy5jaGlsZHJlbiwgZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgIGlmIChjaGlsZCA9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIGNoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgY2hpbGQudHlwZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWRpZFdhcm5JbnZhbGlkQ2hpbGQpIHtcbiAgICAgICAgICBkaWRXYXJuSW52YWxpZENoaWxkID0gdHJ1ZTtcblxuICAgICAgICAgIGVycm9yKCdPbmx5IHN0cmluZ3MgYW5kIG51bWJlcnMgYXJlIHN1cHBvcnRlZCBhcyA8b3B0aW9uPiBjaGlsZHJlbi4nKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSAvLyBUT0RPOiBSZW1vdmUgc3VwcG9ydCBmb3IgYHNlbGVjdGVkYCBpbiA8b3B0aW9uPi5cblxuXG4gICAgaWYgKHByb3BzLnNlbGVjdGVkICE9IG51bGwgJiYgIWRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uKSB7XG4gICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIG9uIDxzZWxlY3Q+IGluc3RlYWQgb2YgJyArICdzZXR0aW5nIGBzZWxlY3RlZGAgb24gPG9wdGlvbj4uJyk7XG5cbiAgICAgIGRpZFdhcm5TZWxlY3RlZFNldE9uT3B0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RNb3VudFdyYXBwZXIkMShlbGVtZW50LCBwcm9wcykge1xuICAvLyB2YWx1ZT1cIlwiIHNob3VsZCBtYWtlIGEgdmFsdWUgYXR0cmlidXRlICgjNjIxOSlcbiAgaWYgKHByb3BzLnZhbHVlICE9IG51bGwpIHtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgndmFsdWUnLCB0b1N0cmluZyhnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLnZhbHVlKSkpO1xuICB9XG59XG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMShlbGVtZW50LCBwcm9wcykge1xuICB2YXIgaG9zdFByb3BzID0gX2Fzc2lnbih7XG4gICAgY2hpbGRyZW46IHVuZGVmaW5lZFxuICB9LCBwcm9wcyk7XG5cbiAgdmFyIGNvbnRlbnQgPSBmbGF0dGVuQ2hpbGRyZW4ocHJvcHMuY2hpbGRyZW4pO1xuXG4gIGlmIChjb250ZW50KSB7XG4gICAgaG9zdFByb3BzLmNoaWxkcmVuID0gY29udGVudDtcbiAgfVxuXG4gIHJldHVybiBob3N0UHJvcHM7XG59XG5cbnZhciBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMTtcblxue1xuICBkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSA9IGZhbHNlO1xufVxuXG5mdW5jdGlvbiBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSB7XG4gIHZhciBvd25lck5hbWUgPSBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpO1xuXG4gIGlmIChvd25lck5hbWUpIHtcbiAgICByZXR1cm4gJ1xcblxcbkNoZWNrIHRoZSByZW5kZXIgbWV0aG9kIG9mIGAnICsgb3duZXJOYW1lICsgJ2AuJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxudmFyIHZhbHVlUHJvcE5hbWVzID0gWyd2YWx1ZScsICdkZWZhdWx0VmFsdWUnXTtcbi8qKlxuICogVmFsaWRhdGlvbiBmdW5jdGlvbiBmb3IgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuXG4gKi9cblxuZnVuY3Rpb24gY2hlY2tTZWxlY3RQcm9wVHlwZXMocHJvcHMpIHtcbiAge1xuICAgIFJlYWN0Q29udHJvbGxlZFZhbHVlUHJvcFR5cGVzLmNoZWNrUHJvcFR5cGVzKCdzZWxlY3QnLCBwcm9wcyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHZhbHVlUHJvcE5hbWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgcHJvcE5hbWUgPSB2YWx1ZVByb3BOYW1lc1tpXTtcblxuICAgICAgaWYgKHByb3BzW3Byb3BOYW1lXSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICB2YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXkocHJvcHNbcHJvcE5hbWVdKTtcblxuICAgICAgaWYgKHByb3BzLm11bHRpcGxlICYmICFpc0FycmF5KSB7XG4gICAgICAgIGVycm9yKCdUaGUgYCVzYCBwcm9wIHN1cHBsaWVkIHRvIDxzZWxlY3Q+IG11c3QgYmUgYW4gYXJyYXkgaWYgJyArICdgbXVsdGlwbGVgIGlzIHRydWUuJXMnLCBwcm9wTmFtZSwgZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkpO1xuICAgICAgfSBlbHNlIGlmICghcHJvcHMubXVsdGlwbGUgJiYgaXNBcnJheSkge1xuICAgICAgICBlcnJvcignVGhlIGAlc2AgcHJvcCBzdXBwbGllZCB0byA8c2VsZWN0PiBtdXN0IGJlIGEgc2NhbGFyICcgKyAndmFsdWUgaWYgYG11bHRpcGxlYCBpcyBmYWxzZS4lcycsIHByb3BOYW1lLCBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZU9wdGlvbnMobm9kZSwgbXVsdGlwbGUsIHByb3BWYWx1ZSwgc2V0RGVmYXVsdFNlbGVjdGVkKSB7XG4gIHZhciBvcHRpb25zID0gbm9kZS5vcHRpb25zO1xuXG4gIGlmIChtdWx0aXBsZSkge1xuICAgIHZhciBzZWxlY3RlZFZhbHVlcyA9IHByb3BWYWx1ZTtcbiAgICB2YXIgc2VsZWN0ZWRWYWx1ZSA9IHt9O1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RlZFZhbHVlcy5sZW5ndGg7IGkrKykge1xuICAgICAgLy8gUHJlZml4IHRvIGF2b2lkIGNoYW9zIHdpdGggc3BlY2lhbCBrZXlzLlxuICAgICAgc2VsZWN0ZWRWYWx1ZVsnJCcgKyBzZWxlY3RlZFZhbHVlc1tpXV0gPSB0cnVlO1xuICAgIH1cblxuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBvcHRpb25zLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIHNlbGVjdGVkID0gc2VsZWN0ZWRWYWx1ZS5oYXNPd25Qcm9wZXJ0eSgnJCcgKyBvcHRpb25zW19pXS52YWx1ZSk7XG5cbiAgICAgIGlmIChvcHRpb25zW19pXS5zZWxlY3RlZCAhPT0gc2VsZWN0ZWQpIHtcbiAgICAgICAgb3B0aW9uc1tfaV0uc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGVkICYmIHNldERlZmF1bHRTZWxlY3RlZCkge1xuICAgICAgICBvcHRpb25zW19pXS5kZWZhdWx0U2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBEbyBub3Qgc2V0IGBzZWxlY3QudmFsdWVgIGFzIGV4YWN0IGJlaGF2aW9yIGlzbid0IGNvbnNpc3RlbnQgYWNyb3NzIGFsbFxuICAgIC8vIGJyb3dzZXJzIGZvciBhbGwgY2FzZXMuXG4gICAgdmFyIF9zZWxlY3RlZFZhbHVlID0gdG9TdHJpbmcoZ2V0VG9TdHJpbmdWYWx1ZShwcm9wVmFsdWUpKTtcblxuICAgIHZhciBkZWZhdWx0U2VsZWN0ZWQgPSBudWxsO1xuXG4gICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgb3B0aW9ucy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICBpZiAob3B0aW9uc1tfaTJdLnZhbHVlID09PSBfc2VsZWN0ZWRWYWx1ZSkge1xuICAgICAgICBvcHRpb25zW19pMl0uc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgIGlmIChzZXREZWZhdWx0U2VsZWN0ZWQpIHtcbiAgICAgICAgICBvcHRpb25zW19pMl0uZGVmYXVsdFNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlZmF1bHRTZWxlY3RlZCA9PT0gbnVsbCAmJiAhb3B0aW9uc1tfaTJdLmRpc2FibGVkKSB7XG4gICAgICAgIGRlZmF1bHRTZWxlY3RlZCA9IG9wdGlvbnNbX2kyXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFNlbGVjdGVkICE9PSBudWxsKSB7XG4gICAgICBkZWZhdWx0U2VsZWN0ZWQuc2VsZWN0ZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBJbXBsZW1lbnRzIGEgPHNlbGVjdD4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgb3B0aW9uYWxseSBzZXR0aW5nIHRoZVxuICogcHJvcHMgYHZhbHVlYCBhbmQgYGRlZmF1bHRWYWx1ZWAuIElmIGBtdWx0aXBsZWAgaXMgZmFsc2UsIHRoZSBwcm9wIG11c3QgYmUgYVxuICogc3RyaW5nYWJsZS4gSWYgYG11bHRpcGxlYCBpcyB0cnVlLCB0aGUgcHJvcCBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ2FibGVzLlxuICpcbiAqIElmIGB2YWx1ZWAgaXMgbm90IHN1cHBsaWVkIChvciBudWxsL3VuZGVmaW5lZCksIHVzZXIgYWN0aW9ucyB0aGF0IGNoYW5nZSB0aGVcbiAqIHNlbGVjdGVkIG9wdGlvbiB3aWxsIHRyaWdnZXIgdXBkYXRlcyB0byB0aGUgcmVuZGVyZWQgb3B0aW9ucy5cbiAqXG4gKiBJZiBpdCBpcyBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBvcHRpb25zIHdpbGwgbm90XG4gKiB1cGRhdGUgaW4gcmVzcG9uc2UgdG8gdXNlciBhY3Rpb25zLiBJbnN0ZWFkLCB0aGUgYHZhbHVlYCBwcm9wIG11c3QgY2hhbmdlIGluXG4gKiBvcmRlciBmb3IgdGhlIHJlbmRlcmVkIG9wdGlvbnMgdG8gdXBkYXRlLlxuICpcbiAqIElmIGBkZWZhdWx0VmFsdWVgIGlzIHByb3ZpZGVkLCBhbnkgb3B0aW9ucyB3aXRoIHRoZSBzdXBwbGllZCB2YWx1ZXMgd2lsbCBiZVxuICogc2VsZWN0ZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMihlbGVtZW50LCBwcm9wcykge1xuICByZXR1cm4gX2Fzc2lnbih7fSwgcHJvcHMsIHtcbiAgICB2YWx1ZTogdW5kZWZpbmVkXG4gIH0pO1xufVxuZnVuY3Rpb24gaW5pdFdyYXBwZXJTdGF0ZSQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcblxuICB7XG4gICAgY2hlY2tTZWxlY3RQcm9wVHlwZXMocHJvcHMpO1xuICB9XG5cbiAgbm9kZS5fd3JhcHBlclN0YXRlID0ge1xuICAgIHdhc011bHRpcGxlOiAhIXByb3BzLm11bHRpcGxlXG4gIH07XG5cbiAge1xuICAgIGlmIChwcm9wcy52YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHByb3BzLmRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuVmFsdWVEZWZhdWx0VmFsdWUkMSkge1xuICAgICAgZXJyb3IoJ1NlbGVjdCBlbGVtZW50cyBtdXN0IGJlIGVpdGhlciBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCAnICsgJyhzcGVjaWZ5IGVpdGhlciB0aGUgdmFsdWUgcHJvcCwgb3IgdGhlIGRlZmF1bHRWYWx1ZSBwcm9wLCBidXQgbm90ICcgKyAnYm90aCkuIERlY2lkZSBiZXR3ZWVuIHVzaW5nIGEgY29udHJvbGxlZCBvciB1bmNvbnRyb2xsZWQgc2VsZWN0ICcgKyAnZWxlbWVudCBhbmQgcmVtb3ZlIG9uZSBvZiB0aGVzZSBwcm9wcy4gTW9yZSBpbmZvOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3QtY29udHJvbGxlZC1jb21wb25lbnRzJyk7XG5cbiAgICAgIGRpZFdhcm5WYWx1ZURlZmF1bHRWYWx1ZSQxID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvc3RNb3VudFdyYXBwZXIkMihlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG4gIG5vZGUubXVsdGlwbGUgPSAhIXByb3BzLm11bHRpcGxlO1xuICB2YXIgdmFsdWUgPSBwcm9wcy52YWx1ZTtcblxuICBpZiAodmFsdWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgdmFsdWUsIGZhbHNlKTtcbiAgfSBlbHNlIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZU9wdGlvbnMobm9kZSwgISFwcm9wcy5tdWx0aXBsZSwgcHJvcHMuZGVmYXVsdFZhbHVlLCB0cnVlKTtcbiAgfVxufVxuZnVuY3Rpb24gcG9zdFVwZGF0ZVdyYXBwZXIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuICB2YXIgd2FzTXVsdGlwbGUgPSBub2RlLl93cmFwcGVyU3RhdGUud2FzTXVsdGlwbGU7XG4gIG5vZGUuX3dyYXBwZXJTdGF0ZS53YXNNdWx0aXBsZSA9ICEhcHJvcHMubXVsdGlwbGU7XG4gIHZhciB2YWx1ZSA9IHByb3BzLnZhbHVlO1xuXG4gIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCB2YWx1ZSwgZmFsc2UpO1xuICB9IGVsc2UgaWYgKHdhc011bHRpcGxlICE9PSAhIXByb3BzLm11bHRpcGxlKSB7XG4gICAgLy8gRm9yIHNpbXBsaWNpdHksIHJlYXBwbHkgYGRlZmF1bHRWYWx1ZWAgaWYgYG11bHRpcGxlYCBpcyB0b2dnbGVkLlxuICAgIGlmIChwcm9wcy5kZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuICAgICAgdXBkYXRlT3B0aW9ucyhub2RlLCAhIXByb3BzLm11bHRpcGxlLCBwcm9wcy5kZWZhdWx0VmFsdWUsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBSZXZlcnQgdGhlIHNlbGVjdCBiYWNrIHRvIGl0cyBkZWZhdWx0IHVuc2VsZWN0ZWQgc3RhdGUuXG4gICAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHByb3BzLm11bHRpcGxlID8gW10gOiAnJywgZmFsc2UpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHZhbHVlID0gcHJvcHMudmFsdWU7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICB1cGRhdGVPcHRpb25zKG5vZGUsICEhcHJvcHMubXVsdGlwbGUsIHZhbHVlLCBmYWxzZSk7XG4gIH1cbn1cblxudmFyIGRpZFdhcm5WYWxEZWZhdWx0VmFsID0gZmFsc2U7XG5cbi8qKlxuICogSW1wbGVtZW50cyBhIDx0ZXh0YXJlYT4gaG9zdCBjb21wb25lbnQgdGhhdCBhbGxvd3Mgc2V0dGluZyBgdmFsdWVgLCBhbmRcbiAqIGBkZWZhdWx0VmFsdWVgLiBUaGlzIGRpZmZlcnMgZnJvbSB0aGUgdHJhZGl0aW9uYWwgRE9NIEFQSSBiZWNhdXNlIHZhbHVlIGlzXG4gKiB1c3VhbGx5IHNldCBhcyBQQ0RBVEEgY2hpbGRyZW4uXG4gKlxuICogSWYgYHZhbHVlYCBpcyBub3Qgc3VwcGxpZWQgKG9yIG51bGwvdW5kZWZpbmVkKSwgdXNlciBhY3Rpb25zIHRoYXQgYWZmZWN0IHRoZVxuICogdmFsdWUgd2lsbCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuXG4gKlxuICogSWYgYHZhbHVlYCBpcyBzdXBwbGllZCAoYW5kIG5vdCBudWxsL3VuZGVmaW5lZCksIHRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGxcbiAqIG5vdCB0cmlnZ2VyIHVwZGF0ZXMgdG8gdGhlIGVsZW1lbnQuIEluc3RlYWQsIHRoZSBgdmFsdWVgIHByb3AgbXVzdCBjaGFuZ2UgaW5cbiAqIG9yZGVyIGZvciB0aGUgcmVuZGVyZWQgZWxlbWVudCB0byBiZSB1cGRhdGVkLlxuICpcbiAqIFRoZSByZW5kZXJlZCBlbGVtZW50IHdpbGwgYmUgaW5pdGlhbGl6ZWQgd2l0aCBhbiBlbXB0eSB2YWx1ZSwgdGhlIHByb3BcbiAqIGBkZWZhdWx0VmFsdWVgIGlmIHNwZWNpZmllZCwgb3IgdGhlIGNoaWxkcmVuIGNvbnRlbnQgKGRlcHJlY2F0ZWQpLlxuICovXG5mdW5jdGlvbiBnZXRIb3N0UHJvcHMkMyhlbGVtZW50LCBwcm9wcykge1xuICB2YXIgbm9kZSA9IGVsZW1lbnQ7XG5cbiAgaWYgKCEocHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPT0gbnVsbCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxgIGRvZXMgbm90IG1ha2Ugc2Vuc2Ugb24gPHRleHRhcmVhPi5cIiApO1xuICAgIH1cbiAgfSAvLyBBbHdheXMgc2V0IGNoaWxkcmVuIHRvIHRoZSBzYW1lIHRoaW5nLiBJbiBJRTksIHRoZSBzZWxlY3Rpb24gcmFuZ2Ugd2lsbFxuICAvLyBnZXQgcmVzZXQgaWYgYHRleHRDb250ZW50YCBpcyBtdXRhdGVkLiAgV2UgY291bGQgYWRkIGEgY2hlY2sgaW4gc2V0VGV4dENvbnRlbnRcbiAgLy8gdG8gb25seSBzZXQgdGhlIHZhbHVlIGlmL3doZW4gdGhlIHZhbHVlIGRpZmZlcnMgZnJvbSB0aGUgbm9kZSB2YWx1ZSAod2hpY2ggd291bGRcbiAgLy8gY29tcGxldGVseSBzb2x2ZSB0aGlzIElFOSBidWcpLCBidXQgU2ViYXN0aWFuK1NvcGhpZSBzZWVtZWQgdG8gbGlrZSB0aGlzXG4gIC8vIHNvbHV0aW9uLiBUaGUgdmFsdWUgY2FuIGJlIGEgYm9vbGVhbiBvciBvYmplY3Qgc28gdGhhdCdzIHdoeSBpdCdzIGZvcmNlZFxuICAvLyB0byBiZSBhIHN0cmluZy5cblxuXG4gIHZhciBob3N0UHJvcHMgPSBfYXNzaWduKHt9LCBwcm9wcywge1xuICAgIHZhbHVlOiB1bmRlZmluZWQsXG4gICAgZGVmYXVsdFZhbHVlOiB1bmRlZmluZWQsXG4gICAgY2hpbGRyZW46IHRvU3RyaW5nKG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpXG4gIH0pO1xuXG4gIHJldHVybiBob3N0UHJvcHM7XG59XG5mdW5jdGlvbiBpbml0V3JhcHBlclN0YXRlJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgdmFyIG5vZGUgPSBlbGVtZW50O1xuXG4gIHtcbiAgICBSZWFjdENvbnRyb2xsZWRWYWx1ZVByb3BUeXBlcy5jaGVja1Byb3BUeXBlcygndGV4dGFyZWEnLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMudmFsdWUgIT09IHVuZGVmaW5lZCAmJiBwcm9wcy5kZWZhdWx0VmFsdWUgIT09IHVuZGVmaW5lZCAmJiAhZGlkV2FyblZhbERlZmF1bHRWYWwpIHtcbiAgICAgIGVycm9yKCclcyBjb250YWlucyBhIHRleHRhcmVhIHdpdGggYm90aCB2YWx1ZSBhbmQgZGVmYXVsdFZhbHVlIHByb3BzLiAnICsgJ1RleHRhcmVhIGVsZW1lbnRzIG11c3QgYmUgZWl0aGVyIGNvbnRyb2xsZWQgb3IgdW5jb250cm9sbGVkICcgKyAnKHNwZWNpZnkgZWl0aGVyIHRoZSB2YWx1ZSBwcm9wLCBvciB0aGUgZGVmYXVsdFZhbHVlIHByb3AsIGJ1dCBub3QgJyArICdib3RoKS4gRGVjaWRlIGJldHdlZW4gdXNpbmcgYSBjb250cm9sbGVkIG9yIHVuY29udHJvbGxlZCB0ZXh0YXJlYSAnICsgJ2FuZCByZW1vdmUgb25lIG9mIHRoZXNlIHByb3BzLiBNb3JlIGluZm86ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1jb250cm9sbGVkLWNvbXBvbmVudHMnLCBnZXRDdXJyZW50RmliZXJPd25lck5hbWVJbkRldk9yTnVsbCgpIHx8ICdBIGNvbXBvbmVudCcpO1xuXG4gICAgICBkaWRXYXJuVmFsRGVmYXVsdFZhbCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGluaXRpYWxWYWx1ZSA9IHByb3BzLnZhbHVlOyAvLyBPbmx5IGJvdGhlciBmZXRjaGluZyBkZWZhdWx0IHZhbHVlIGlmIHdlJ3JlIGdvaW5nIHRvIHVzZSBpdFxuXG4gIGlmIChpbml0aWFsVmFsdWUgPT0gbnVsbCkge1xuICAgIHZhciBjaGlsZHJlbiA9IHByb3BzLmNoaWxkcmVuLFxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBwcm9wcy5kZWZhdWx0VmFsdWU7XG5cbiAgICBpZiAoY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICBlcnJvcignVXNlIHRoZSBgZGVmYXVsdFZhbHVlYCBvciBgdmFsdWVgIHByb3BzIGluc3RlYWQgb2Ygc2V0dGluZyAnICsgJ2NoaWxkcmVuIG9uIDx0ZXh0YXJlYT4uJyk7XG4gICAgICB9XG5cbiAgICAgIHtcbiAgICAgICAgaWYgKCEoZGVmYXVsdFZhbHVlID09IG51bGwpKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiSWYgeW91IHN1cHBseSBgZGVmYXVsdFZhbHVlYCBvbiBhIDx0ZXh0YXJlYT4sIGRvIG5vdCBwYXNzIGNoaWxkcmVuLlwiICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgICAgICAgaWYgKCEoY2hpbGRyZW4ubGVuZ3RoIDw9IDEpKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCBcIjx0ZXh0YXJlYT4gY2FuIG9ubHkgaGF2ZSBhdCBtb3N0IG9uZSBjaGlsZC5cIiApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW5bMF07XG4gICAgICAgIH1cblxuICAgICAgICBkZWZhdWx0VmFsdWUgPSBjaGlsZHJlbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGVmYXVsdFZhbHVlID09IG51bGwpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZSA9ICcnO1xuICAgIH1cblxuICAgIGluaXRpYWxWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgfVxuXG4gIG5vZGUuX3dyYXBwZXJTdGF0ZSA9IHtcbiAgICBpbml0aWFsVmFsdWU6IGdldFRvU3RyaW5nVmFsdWUoaW5pdGlhbFZhbHVlKVxuICB9O1xufVxuZnVuY3Rpb24gdXBkYXRlV3JhcHBlciQxKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDtcbiAgdmFyIHZhbHVlID0gZ2V0VG9TdHJpbmdWYWx1ZShwcm9wcy52YWx1ZSk7XG4gIHZhciBkZWZhdWx0VmFsdWUgPSBnZXRUb1N0cmluZ1ZhbHVlKHByb3BzLmRlZmF1bHRWYWx1ZSk7XG5cbiAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAvLyBDYXN0IGB2YWx1ZWAgdG8gYSBzdHJpbmcgdG8gZW5zdXJlIHRoZSB2YWx1ZSBpcyBzZXQgY29ycmVjdGx5LiBXaGlsZVxuICAgIC8vIGJyb3dzZXJzIHR5cGljYWxseSBkbyB0aGlzIGFzIG5lY2Vzc2FyeSwganNkb20gZG9lc24ndC5cbiAgICB2YXIgbmV3VmFsdWUgPSB0b1N0cmluZyh2YWx1ZSk7IC8vIFRvIGF2b2lkIHNpZGUgZWZmZWN0cyAoc3VjaCBhcyBsb3NpbmcgdGV4dCBzZWxlY3Rpb24pLCBvbmx5IHNldCB2YWx1ZSBpZiBjaGFuZ2VkXG5cbiAgICBpZiAobmV3VmFsdWUgIT09IG5vZGUudmFsdWUpIHtcbiAgICAgIG5vZGUudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZGVmYXVsdFZhbHVlID09IG51bGwgJiYgbm9kZS5kZWZhdWx0VmFsdWUgIT09IG5ld1ZhbHVlKSB7XG4gICAgICBub2RlLmRlZmF1bHRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIGlmIChkZWZhdWx0VmFsdWUgIT0gbnVsbCkge1xuICAgIG5vZGUuZGVmYXVsdFZhbHVlID0gdG9TdHJpbmcoZGVmYXVsdFZhbHVlKTtcbiAgfVxufVxuZnVuY3Rpb24gcG9zdE1vdW50V3JhcHBlciQzKGVsZW1lbnQsIHByb3BzKSB7XG4gIHZhciBub2RlID0gZWxlbWVudDsgLy8gVGhpcyBpcyBpbiBwb3N0TW91bnQgYmVjYXVzZSB3ZSBuZWVkIGFjY2VzcyB0byB0aGUgRE9NIG5vZGUsIHdoaWNoIGlzIG5vdFxuICAvLyBhdmFpbGFibGUgdW50aWwgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgbW91bnRlZC5cblxuICB2YXIgdGV4dENvbnRlbnQgPSBub2RlLnRleHRDb250ZW50OyAvLyBPbmx5IHNldCBub2RlLnZhbHVlIGlmIHRleHRDb250ZW50IGlzIGVxdWFsIHRvIHRoZSBleHBlY3RlZFxuICAvLyBpbml0aWFsIHZhbHVlLiBJbiBJRTEwL0lFMTEgdGhlcmUgaXMgYSBidWcgd2hlcmUgdGhlIHBsYWNlaG9sZGVyIGF0dHJpYnV0ZVxuICAvLyB3aWxsIHBvcHVsYXRlIHRleHRDb250ZW50IGFzIHdlbGwuXG4gIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzEwMTUyNS9cblxuICBpZiAodGV4dENvbnRlbnQgPT09IG5vZGUuX3dyYXBwZXJTdGF0ZS5pbml0aWFsVmFsdWUpIHtcbiAgICBpZiAodGV4dENvbnRlbnQgIT09ICcnICYmIHRleHRDb250ZW50ICE9PSBudWxsKSB7XG4gICAgICBub2RlLnZhbHVlID0gdGV4dENvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDIoZWxlbWVudCwgcHJvcHMpIHtcbiAgLy8gRE9NIGNvbXBvbmVudCBpcyBzdGlsbCBtb3VudGVkOyB1cGRhdGVcbiAgdXBkYXRlV3JhcHBlciQxKGVsZW1lbnQsIHByb3BzKTtcbn1cblxudmFyIEhUTUxfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnO1xudmFyIE1BVEhfTkFNRVNQQUNFID0gJ2h0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUwnO1xudmFyIFNWR19OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xudmFyIE5hbWVzcGFjZXMgPSB7XG4gIGh0bWw6IEhUTUxfTkFNRVNQQUNFLFxuICBtYXRobWw6IE1BVEhfTkFNRVNQQUNFLFxuICBzdmc6IFNWR19OQU1FU1BBQ0Vcbn07IC8vIEFzc3VtZXMgdGhlcmUgaXMgbm8gcGFyZW50IG5hbWVzcGFjZS5cblxuZnVuY3Rpb24gZ2V0SW50cmluc2ljTmFtZXNwYWNlKHR5cGUpIHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnc3ZnJzpcbiAgICAgIHJldHVybiBTVkdfTkFNRVNQQUNFO1xuXG4gICAgY2FzZSAnbWF0aCc6XG4gICAgICByZXR1cm4gTUFUSF9OQU1FU1BBQ0U7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIEhUTUxfTkFNRVNQQUNFO1xuICB9XG59XG5mdW5jdGlvbiBnZXRDaGlsZE5hbWVzcGFjZShwYXJlbnROYW1lc3BhY2UsIHR5cGUpIHtcbiAgaWYgKHBhcmVudE5hbWVzcGFjZSA9PSBudWxsIHx8IHBhcmVudE5hbWVzcGFjZSA9PT0gSFRNTF9OQU1FU1BBQ0UpIHtcbiAgICAvLyBObyAob3IgZGVmYXVsdCkgcGFyZW50IG5hbWVzcGFjZTogcG90ZW50aWFsIGVudHJ5IHBvaW50LlxuICAgIHJldHVybiBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XG4gIH1cblxuICBpZiAocGFyZW50TmFtZXNwYWNlID09PSBTVkdfTkFNRVNQQUNFICYmIHR5cGUgPT09ICdmb3JlaWduT2JqZWN0Jykge1xuICAgIC8vIFdlJ3JlIGxlYXZpbmcgU1ZHLlxuICAgIHJldHVybiBIVE1MX05BTUVTUEFDRTtcbiAgfSAvLyBCeSBkZWZhdWx0LCBwYXNzIG5hbWVzcGFjZSBiZWxvdy5cblxuXG4gIHJldHVybiBwYXJlbnROYW1lc3BhY2U7XG59XG5cbi8qIGdsb2JhbHMgTVNBcHAgKi9cblxuLyoqXG4gKiBDcmVhdGUgYSBmdW5jdGlvbiB3aGljaCBoYXMgJ3Vuc2FmZScgcHJpdmlsZWdlcyAocmVxdWlyZWQgYnkgd2luZG93czggYXBwcylcbiAqL1xudmFyIGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24gPSBmdW5jdGlvbiAoZnVuYykge1xuICBpZiAodHlwZW9mIE1TQXBwICE9PSAndW5kZWZpbmVkJyAmJiBNU0FwcC5leGVjVW5zYWZlTG9jYWxGdW5jdGlvbikge1xuICAgIHJldHVybiBmdW5jdGlvbiAoYXJnMCwgYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgTVNBcHAuZXhlY1Vuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gZnVuYyhhcmcwLCBhcmcxLCBhcmcyLCBhcmczKTtcbiAgICAgIH0pO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZ1bmM7XG4gIH1cbn07XG5cbnZhciByZXVzYWJsZVNWR0NvbnRhaW5lcjtcbi8qKlxuICogU2V0IHRoZSBpbm5lckhUTUwgcHJvcGVydHkgb2YgYSBub2RlXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuICogQGludGVybmFsXG4gKi9cblxudmFyIHNldElubmVySFRNTCA9IGNyZWF0ZU1pY3Jvc29mdFVuc2FmZUxvY2FsRnVuY3Rpb24oZnVuY3Rpb24gKG5vZGUsIGh0bWwpIHtcbiAgaWYgKG5vZGUubmFtZXNwYWNlVVJJID09PSBOYW1lc3BhY2VzLnN2Zykge1xuXG4gICAgaWYgKCEoJ2lubmVySFRNTCcgaW4gbm9kZSkpIHtcbiAgICAgIC8vIElFIGRvZXMgbm90IGhhdmUgaW5uZXJIVE1MIGZvciBTVkcgbm9kZXMsIHNvIGluc3RlYWQgd2UgaW5qZWN0IHRoZVxuICAgICAgLy8gbmV3IG1hcmt1cCBpbiBhIHRlbXAgbm9kZSBhbmQgdGhlbiBtb3ZlIHRoZSBjaGlsZCBub2RlcyBhY3Jvc3MgaW50b1xuICAgICAgLy8gdGhlIHRhcmdldCBub2RlXG4gICAgICByZXVzYWJsZVNWR0NvbnRhaW5lciA9IHJldXNhYmxlU1ZHQ29udGFpbmVyIHx8IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgcmV1c2FibGVTVkdDb250YWluZXIuaW5uZXJIVE1MID0gJzxzdmc+JyArIGh0bWwudmFsdWVPZigpLnRvU3RyaW5nKCkgKyAnPC9zdmc+JztcbiAgICAgIHZhciBzdmdOb2RlID0gcmV1c2FibGVTVkdDb250YWluZXIuZmlyc3RDaGlsZDtcblxuICAgICAgd2hpbGUgKG5vZGUuZmlyc3RDaGlsZCkge1xuICAgICAgICBub2RlLnJlbW92ZUNoaWxkKG5vZGUuZmlyc3RDaGlsZCk7XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChzdmdOb2RlLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgbm9kZS5hcHBlbmRDaGlsZChzdmdOb2RlLmZpcnN0Q2hpbGQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgbm9kZS5pbm5lckhUTUwgPSBodG1sO1xufSk7XG5cbi8qKlxuICogSFRNTCBub2RlVHlwZSB2YWx1ZXMgdGhhdCByZXByZXNlbnQgdGhlIHR5cGUgb2YgdGhlIG5vZGVcbiAqL1xudmFyIEVMRU1FTlRfTk9ERSA9IDE7XG52YXIgVEVYVF9OT0RFID0gMztcbnZhciBDT01NRU5UX05PREUgPSA4O1xudmFyIERPQ1VNRU5UX05PREUgPSA5O1xudmFyIERPQ1VNRU5UX0ZSQUdNRU5UX05PREUgPSAxMTtcblxuLyoqXG4gKiBTZXQgdGhlIHRleHRDb250ZW50IHByb3BlcnR5IG9mIGEgbm9kZS4gRm9yIHRleHQgdXBkYXRlcywgaXQncyBmYXN0ZXJcbiAqIHRvIHNldCB0aGUgYG5vZGVWYWx1ZWAgb2YgdGhlIFRleHQgbm9kZSBkaXJlY3RseSBpbnN0ZWFkIG9mIHVzaW5nXG4gKiBgLnRleHRDb250ZW50YCB3aGljaCB3aWxsIHJlbW92ZSB0aGUgZXhpc3Rpbmcgbm9kZSBhbmQgY3JlYXRlIGEgbmV3IG9uZS5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0XG4gKiBAaW50ZXJuYWxcbiAqL1xuXG52YXIgc2V0VGV4dENvbnRlbnQgPSBmdW5jdGlvbiAobm9kZSwgdGV4dCkge1xuICBpZiAodGV4dCkge1xuICAgIHZhciBmaXJzdENoaWxkID0gbm9kZS5maXJzdENoaWxkO1xuXG4gICAgaWYgKGZpcnN0Q2hpbGQgJiYgZmlyc3RDaGlsZCA9PT0gbm9kZS5sYXN0Q2hpbGQgJiYgZmlyc3RDaGlsZC5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSB7XG4gICAgICBmaXJzdENoaWxkLm5vZGVWYWx1ZSA9IHRleHQ7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgbm9kZS50ZXh0Q29udGVudCA9IHRleHQ7XG59O1xuXG4vLyBEbyBub3QgdXNlIHRoZSBiZWxvdyB0d28gbWV0aG9kcyBkaXJlY3RseSFcbi8vIEluc3RlYWQgdXNlIGNvbnN0YW50cyBleHBvcnRlZCBmcm9tIERPTVRvcExldmVsRXZlbnRUeXBlcyBpbiBSZWFjdERPTS5cbi8vIChJdCBpcyB0aGUgb25seSBtb2R1bGUgdGhhdCBpcyBhbGxvd2VkIHRvIGFjY2VzcyB0aGVzZSBtZXRob2RzLilcbmZ1bmN0aW9uIHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSh0b3BMZXZlbFR5cGUpIHtcbiAgcmV0dXJuIHRvcExldmVsVHlwZTtcbn1cbmZ1bmN0aW9uIHVuc2FmZUNhc3RET01Ub3BMZXZlbFR5cGVUb1N0cmluZyh0b3BMZXZlbFR5cGUpIHtcbiAgcmV0dXJuIHRvcExldmVsVHlwZTtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZSBhIG1hcHBpbmcgb2Ygc3RhbmRhcmQgdmVuZG9yIHByZWZpeGVzIHVzaW5nIHRoZSBkZWZpbmVkIHN0eWxlIHByb3BlcnR5IGFuZCBldmVudCBuYW1lLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHlsZVByb3BcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gbWFrZVByZWZpeE1hcChzdHlsZVByb3AsIGV2ZW50TmFtZSkge1xuICB2YXIgcHJlZml4ZXMgPSB7fTtcbiAgcHJlZml4ZXNbc3R5bGVQcm9wLnRvTG93ZXJDYXNlKCldID0gZXZlbnROYW1lLnRvTG93ZXJDYXNlKCk7XG4gIHByZWZpeGVzWydXZWJraXQnICsgc3R5bGVQcm9wXSA9ICd3ZWJraXQnICsgZXZlbnROYW1lO1xuICBwcmVmaXhlc1snTW96JyArIHN0eWxlUHJvcF0gPSAnbW96JyArIGV2ZW50TmFtZTtcbiAgcmV0dXJuIHByZWZpeGVzO1xufVxuLyoqXG4gKiBBIGxpc3Qgb2YgZXZlbnQgbmFtZXMgdG8gYSBjb25maWd1cmFibGUgbGlzdCBvZiB2ZW5kb3IgcHJlZml4ZXMuXG4gKi9cblxuXG52YXIgdmVuZG9yUHJlZml4ZXMgPSB7XG4gIGFuaW1hdGlvbmVuZDogbWFrZVByZWZpeE1hcCgnQW5pbWF0aW9uJywgJ0FuaW1hdGlvbkVuZCcpLFxuICBhbmltYXRpb25pdGVyYXRpb246IG1ha2VQcmVmaXhNYXAoJ0FuaW1hdGlvbicsICdBbmltYXRpb25JdGVyYXRpb24nKSxcbiAgYW5pbWF0aW9uc3RhcnQ6IG1ha2VQcmVmaXhNYXAoJ0FuaW1hdGlvbicsICdBbmltYXRpb25TdGFydCcpLFxuICB0cmFuc2l0aW9uZW5kOiBtYWtlUHJlZml4TWFwKCdUcmFuc2l0aW9uJywgJ1RyYW5zaXRpb25FbmQnKVxufTtcbi8qKlxuICogRXZlbnQgbmFtZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBkZXRlY3RlZCBhbmQgcHJlZml4ZWQgKGlmIGFwcGxpY2FibGUpLlxuICovXG5cbnZhciBwcmVmaXhlZEV2ZW50TmFtZXMgPSB7fTtcbi8qKlxuICogRWxlbWVudCB0byBjaGVjayBmb3IgcHJlZml4ZXMgb24uXG4gKi9cblxudmFyIHN0eWxlID0ge307XG4vKipcbiAqIEJvb3RzdHJhcCBpZiBhIERPTSBleGlzdHMuXG4gKi9cblxuaWYgKGNhblVzZURPTSkge1xuICBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLnN0eWxlOyAvLyBPbiBzb21lIHBsYXRmb3JtcywgaW4gcGFydGljdWxhciBzb21lIHJlbGVhc2VzIG9mIEFuZHJvaWQgNC54LFxuICAvLyB0aGUgdW4tcHJlZml4ZWQgXCJhbmltYXRpb25cIiBhbmQgXCJ0cmFuc2l0aW9uXCIgcHJvcGVydGllcyBhcmUgZGVmaW5lZCBvbiB0aGVcbiAgLy8gc3R5bGUgb2JqZWN0IGJ1dCB0aGUgZXZlbnRzIHRoYXQgZmlyZSB3aWxsIHN0aWxsIGJlIHByZWZpeGVkLCBzbyB3ZSBuZWVkXG4gIC8vIHRvIGNoZWNrIGlmIHRoZSB1bi1wcmVmaXhlZCBldmVudHMgYXJlIHVzYWJsZSwgYW5kIGlmIG5vdCByZW1vdmUgdGhlbSBmcm9tIHRoZSBtYXAuXG5cbiAgaWYgKCEoJ0FuaW1hdGlvbkV2ZW50JyBpbiB3aW5kb3cpKSB7XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbmVuZC5hbmltYXRpb247XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbml0ZXJhdGlvbi5hbmltYXRpb247XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLmFuaW1hdGlvbnN0YXJ0LmFuaW1hdGlvbjtcbiAgfSAvLyBTYW1lIGFzIGFib3ZlXG5cblxuICBpZiAoISgnVHJhbnNpdGlvbkV2ZW50JyBpbiB3aW5kb3cpKSB7XG4gICAgZGVsZXRlIHZlbmRvclByZWZpeGVzLnRyYW5zaXRpb25lbmQudHJhbnNpdGlvbjtcbiAgfVxufVxuLyoqXG4gKiBBdHRlbXB0cyB0byBkZXRlcm1pbmUgdGhlIGNvcnJlY3QgdmVuZG9yIHByZWZpeGVkIGV2ZW50IG5hbWUuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldFZlbmRvclByZWZpeGVkRXZlbnROYW1lKGV2ZW50TmFtZSkge1xuICBpZiAocHJlZml4ZWRFdmVudE5hbWVzW2V2ZW50TmFtZV0pIHtcbiAgICByZXR1cm4gcHJlZml4ZWRFdmVudE5hbWVzW2V2ZW50TmFtZV07XG4gIH0gZWxzZSBpZiAoIXZlbmRvclByZWZpeGVzW2V2ZW50TmFtZV0pIHtcbiAgICByZXR1cm4gZXZlbnROYW1lO1xuICB9XG5cbiAgdmFyIHByZWZpeE1hcCA9IHZlbmRvclByZWZpeGVzW2V2ZW50TmFtZV07XG5cbiAgZm9yICh2YXIgc3R5bGVQcm9wIGluIHByZWZpeE1hcCkge1xuICAgIGlmIChwcmVmaXhNYXAuaGFzT3duUHJvcGVydHkoc3R5bGVQcm9wKSAmJiBzdHlsZVByb3AgaW4gc3R5bGUpIHtcbiAgICAgIHJldHVybiBwcmVmaXhlZEV2ZW50TmFtZXNbZXZlbnROYW1lXSA9IHByZWZpeE1hcFtzdHlsZVByb3BdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBldmVudE5hbWU7XG59XG5cbi8qKlxuICogVG8gaWRlbnRpZnkgdG9wIGxldmVsIGV2ZW50cyBpbiBSZWFjdERPTSwgd2UgdXNlIGNvbnN0YW50cyBkZWZpbmVkIGJ5IHRoaXNcbiAqIG1vZHVsZS4gVGhpcyBpcyB0aGUgb25seSBtb2R1bGUgdGhhdCB1c2VzIHRoZSB1bnNhZmUqIG1ldGhvZHMgdG8gZXhwcmVzc1xuICogdGhhdCB0aGUgY29uc3RhbnRzIGFjdHVhbGx5IGNvcnJlc3BvbmQgdG8gdGhlIGJyb3dzZXIgZXZlbnQgbmFtZXMuIFRoaXMgbGV0c1xuICogdXMgc2F2ZSBzb21lIGJ1bmRsZSBzaXplIGJ5IGF2b2lkaW5nIGEgdG9wIGxldmVsIHR5cGUgLT4gZXZlbnQgbmFtZSBtYXAuXG4gKiBUaGUgcmVzdCBvZiBSZWFjdERPTSBjb2RlIHNob3VsZCBpbXBvcnQgdG9wIGxldmVsIHR5cGVzIGZyb20gdGhpcyBmaWxlLlxuICovXG5cbnZhciBUT1BfQUJPUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2Fib3J0Jyk7XG52YXIgVE9QX0FOSU1BVElPTl9FTkQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ2FuaW1hdGlvbmVuZCcpKTtcbnZhciBUT1BfQU5JTUFUSU9OX0lURVJBVElPTiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZShnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgnYW5pbWF0aW9uaXRlcmF0aW9uJykpO1xudmFyIFRPUF9BTklNQVRJT05fU1RBUlQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoZ2V0VmVuZG9yUHJlZml4ZWRFdmVudE5hbWUoJ2FuaW1hdGlvbnN0YXJ0JykpO1xudmFyIFRPUF9CTFVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdibHVyJyk7XG52YXIgVE9QX0NBTl9QTEFZID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjYW5wbGF5Jyk7XG52YXIgVE9QX0NBTl9QTEFZX1RIUk9VR0ggPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NhbnBsYXl0aHJvdWdoJyk7XG52YXIgVE9QX0NBTkNFTCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY2FuY2VsJyk7XG52YXIgVE9QX0NIQU5HRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY2hhbmdlJyk7XG52YXIgVE9QX0NMSUNLID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjbGljaycpO1xudmFyIFRPUF9DTE9TRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY2xvc2UnKTtcbnZhciBUT1BfQ09NUE9TSVRJT05fRU5EID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdjb21wb3NpdGlvbmVuZCcpO1xudmFyIFRPUF9DT01QT1NJVElPTl9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29tcG9zaXRpb25zdGFydCcpO1xudmFyIFRPUF9DT01QT1NJVElPTl9VUERBVEUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2NvbXBvc2l0aW9udXBkYXRlJyk7XG52YXIgVE9QX0NPTlRFWFRfTUVOVSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29udGV4dG1lbnUnKTtcbnZhciBUT1BfQ09QWSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnY29weScpO1xudmFyIFRPUF9DVVQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2N1dCcpO1xudmFyIFRPUF9ET1VCTEVfQ0xJQ0sgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2RibGNsaWNrJyk7XG52YXIgVE9QX0FVWF9DTElDSyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnYXV4Y2xpY2snKTtcbnZhciBUT1BfRFJBRyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJhZycpO1xudmFyIFRPUF9EUkFHX0VORCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJhZ2VuZCcpO1xudmFyIFRPUF9EUkFHX0VOVEVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnZW50ZXInKTtcbnZhciBUT1BfRFJBR19FWElUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnZXhpdCcpO1xudmFyIFRPUF9EUkFHX0xFQVZFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnbGVhdmUnKTtcbnZhciBUT1BfRFJBR19PVkVSID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnb3ZlcicpO1xudmFyIFRPUF9EUkFHX1NUQVJUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdkcmFnc3RhcnQnKTtcbnZhciBUT1BfRFJPUCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZHJvcCcpO1xudmFyIFRPUF9EVVJBVElPTl9DSEFOR0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2R1cmF0aW9uY2hhbmdlJyk7XG52YXIgVE9QX0VNUFRJRUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2VtcHRpZWQnKTtcbnZhciBUT1BfRU5DUllQVEVEID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdlbmNyeXB0ZWQnKTtcbnZhciBUT1BfRU5ERUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2VuZGVkJyk7XG52YXIgVE9QX0VSUk9SID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdlcnJvcicpO1xudmFyIFRPUF9GT0NVUyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZm9jdXMnKTtcbnZhciBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnZ290cG9pbnRlcmNhcHR1cmUnKTtcbnZhciBUT1BfSU5QVVQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2lucHV0Jyk7XG52YXIgVE9QX0lOVkFMSUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2ludmFsaWQnKTtcbnZhciBUT1BfS0VZX0RPV04gPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2tleWRvd24nKTtcbnZhciBUT1BfS0VZX1BSRVNTID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdrZXlwcmVzcycpO1xudmFyIFRPUF9LRVlfVVAgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2tleXVwJyk7XG52YXIgVE9QX0xPQUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvYWQnKTtcbnZhciBUT1BfTE9BRF9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbG9hZHN0YXJ0Jyk7XG52YXIgVE9QX0xPQURFRF9EQVRBID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdsb2FkZWRkYXRhJyk7XG52YXIgVE9QX0xPQURFRF9NRVRBREFUQSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbG9hZGVkbWV0YWRhdGEnKTtcbnZhciBUT1BfTE9TVF9QT0lOVEVSX0NBUFRVUkUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ2xvc3Rwb2ludGVyY2FwdHVyZScpO1xudmFyIFRPUF9NT1VTRV9ET1dOID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdtb3VzZWRvd24nKTtcbnZhciBUT1BfTU9VU0VfTU9WRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbW91c2Vtb3ZlJyk7XG52YXIgVE9QX01PVVNFX09VVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbW91c2VvdXQnKTtcbnZhciBUT1BfTU9VU0VfT1ZFUiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnbW91c2VvdmVyJyk7XG52YXIgVE9QX01PVVNFX1VQID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdtb3VzZXVwJyk7XG52YXIgVE9QX1BBU1RFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwYXN0ZScpO1xudmFyIFRPUF9QQVVTRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGF1c2UnKTtcbnZhciBUT1BfUExBWSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncGxheScpO1xudmFyIFRPUF9QTEFZSU5HID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwbGF5aW5nJyk7XG52YXIgVE9QX1BPSU5URVJfQ0FOQ0VMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwb2ludGVyY2FuY2VsJyk7XG52YXIgVE9QX1BPSU5URVJfRE9XTiA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncG9pbnRlcmRvd24nKTtcbnZhciBUT1BfUE9JTlRFUl9NT1ZFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdwb2ludGVybW92ZScpO1xudmFyIFRPUF9QT0lOVEVSX09VVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncG9pbnRlcm91dCcpO1xudmFyIFRPUF9QT0lOVEVSX09WRVIgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3BvaW50ZXJvdmVyJyk7XG52YXIgVE9QX1BPSU5URVJfVVAgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3BvaW50ZXJ1cCcpO1xudmFyIFRPUF9QUk9HUkVTUyA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgncHJvZ3Jlc3MnKTtcbnZhciBUT1BfUkFURV9DSEFOR0UgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3JhdGVjaGFuZ2UnKTtcbnZhciBUT1BfUkVTRVQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3Jlc2V0Jyk7XG52YXIgVE9QX1NDUk9MTCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc2Nyb2xsJyk7XG52YXIgVE9QX1NFRUtFRCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc2Vla2VkJyk7XG52YXIgVE9QX1NFRUtJTkcgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3NlZWtpbmcnKTtcbnZhciBUT1BfU0VMRUNUSU9OX0NIQU5HRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc2VsZWN0aW9uY2hhbmdlJyk7XG52YXIgVE9QX1NUQUxMRUQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3N0YWxsZWQnKTtcbnZhciBUT1BfU1VCTUlUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCdzdWJtaXQnKTtcbnZhciBUT1BfU1VTUEVORCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgnc3VzcGVuZCcpO1xudmFyIFRPUF9URVhUX0lOUFVUID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0ZXh0SW5wdXQnKTtcbnZhciBUT1BfVElNRV9VUERBVEUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3RpbWV1cGRhdGUnKTtcbnZhciBUT1BfVE9HR0xFID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0b2dnbGUnKTtcbnZhciBUT1BfVE9VQ0hfQ0FOQ0VMID0gdW5zYWZlQ2FzdFN0cmluZ1RvRE9NVG9wTGV2ZWxUeXBlKCd0b3VjaGNhbmNlbCcpO1xudmFyIFRPUF9UT1VDSF9FTkQgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3RvdWNoZW5kJyk7XG52YXIgVE9QX1RPVUNIX01PVkUgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3RvdWNobW92ZScpO1xudmFyIFRPUF9UT1VDSF9TVEFSVCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgndG91Y2hzdGFydCcpO1xudmFyIFRPUF9UUkFOU0lUSU9OX0VORCA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZShnZXRWZW5kb3JQcmVmaXhlZEV2ZW50TmFtZSgndHJhbnNpdGlvbmVuZCcpKTtcbnZhciBUT1BfVk9MVU1FX0NIQU5HRSA9IHVuc2FmZUNhc3RTdHJpbmdUb0RPTVRvcExldmVsVHlwZSgndm9sdW1lY2hhbmdlJyk7XG52YXIgVE9QX1dBSVRJTkcgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3dhaXRpbmcnKTtcbnZhciBUT1BfV0hFRUwgPSB1bnNhZmVDYXN0U3RyaW5nVG9ET01Ub3BMZXZlbFR5cGUoJ3doZWVsJyk7IC8vIExpc3Qgb2YgZXZlbnRzIHRoYXQgbmVlZCB0byBiZSBpbmRpdmlkdWFsbHkgYXR0YWNoZWQgdG8gbWVkaWEgZWxlbWVudHMuXG4vLyBOb3RlIHRoYXQgZXZlbnRzIGluIHRoaXMgbGlzdCB3aWxsICpub3QqIGJlIGxpc3RlbmVkIHRvIGF0IHRoZSB0b3AgbGV2ZWxcbi8vIHVubGVzcyB0aGV5J3JlIGV4cGxpY2l0bHkgd2hpdGVsaXN0ZWQgaW4gYFJlYWN0QnJvd3NlckV2ZW50RW1pdHRlci5saXN0ZW5Ub2AuXG5cbnZhciBtZWRpYUV2ZW50VHlwZXMgPSBbVE9QX0FCT1JULCBUT1BfQ0FOX1BMQVksIFRPUF9DQU5fUExBWV9USFJPVUdILCBUT1BfRFVSQVRJT05fQ0hBTkdFLCBUT1BfRU1QVElFRCwgVE9QX0VOQ1JZUFRFRCwgVE9QX0VOREVELCBUT1BfRVJST1IsIFRPUF9MT0FERURfREFUQSwgVE9QX0xPQURFRF9NRVRBREFUQSwgVE9QX0xPQURfU1RBUlQsIFRPUF9QQVVTRSwgVE9QX1BMQVksIFRPUF9QTEFZSU5HLCBUT1BfUFJPR1JFU1MsIFRPUF9SQVRFX0NIQU5HRSwgVE9QX1NFRUtFRCwgVE9QX1NFRUtJTkcsIFRPUF9TVEFMTEVELCBUT1BfU1VTUEVORCwgVE9QX1RJTUVfVVBEQVRFLCBUT1BfVk9MVU1FX0NIQU5HRSwgVE9QX1dBSVRJTkddO1xuZnVuY3Rpb24gZ2V0UmF3RXZlbnROYW1lKHRvcExldmVsVHlwZSkge1xuICByZXR1cm4gdW5zYWZlQ2FzdERPTVRvcExldmVsVHlwZVRvU3RyaW5nKHRvcExldmVsVHlwZSk7XG59XG5cbnZhciBQb3NzaWJseVdlYWtNYXAgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7IC8vIHByZXR0aWVyLWlnbm9yZVxuXG52YXIgZWxlbWVudExpc3RlbmVyTWFwID0gbmV3IFBvc3NpYmx5V2Vha01hcCgpO1xuZnVuY3Rpb24gZ2V0TGlzdGVuZXJNYXBGb3JFbGVtZW50KGVsZW1lbnQpIHtcbiAgdmFyIGxpc3RlbmVyTWFwID0gZWxlbWVudExpc3RlbmVyTWFwLmdldChlbGVtZW50KTtcblxuICBpZiAobGlzdGVuZXJNYXAgPT09IHVuZGVmaW5lZCkge1xuICAgIGxpc3RlbmVyTWFwID0gbmV3IE1hcCgpO1xuICAgIGVsZW1lbnRMaXN0ZW5lck1hcC5zZXQoZWxlbWVudCwgbGlzdGVuZXJNYXApO1xuICB9XG5cbiAgcmV0dXJuIGxpc3RlbmVyTWFwO1xufVxuXG4vKipcbiAqIGBSZWFjdEluc3RhbmNlTWFwYCBtYWludGFpbnMgYSBtYXBwaW5nIGZyb20gYSBwdWJsaWMgZmFjaW5nIHN0YXRlZnVsXG4gKiBpbnN0YW5jZSAoa2V5KSBhbmQgdGhlIGludGVybmFsIHJlcHJlc2VudGF0aW9uICh2YWx1ZSkuIFRoaXMgYWxsb3dzIHB1YmxpY1xuICogbWV0aG9kcyB0byBhY2NlcHQgdGhlIHVzZXIgZmFjaW5nIGluc3RhbmNlIGFzIGFuIGFyZ3VtZW50IGFuZCBtYXAgdGhlbSBiYWNrXG4gKiB0byBpbnRlcm5hbCBtZXRob2RzLlxuICpcbiAqIE5vdGUgdGhhdCB0aGlzIG1vZHVsZSBpcyBjdXJyZW50bHkgc2hhcmVkIGFuZCBhc3N1bWVkIHRvIGJlIHN0YXRlbGVzcy5cbiAqIElmIHRoaXMgYmVjb21lcyBhbiBhY3R1YWwgTWFwLCB0aGF0IHdpbGwgYnJlYWsuXG4gKi9cbmZ1bmN0aW9uIGdldChrZXkpIHtcbiAgcmV0dXJuIGtleS5fcmVhY3RJbnRlcm5hbEZpYmVyO1xufVxuZnVuY3Rpb24gaGFzKGtleSkge1xuICByZXR1cm4ga2V5Ll9yZWFjdEludGVybmFsRmliZXIgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIHNldChrZXksIHZhbHVlKSB7XG4gIGtleS5fcmVhY3RJbnRlcm5hbEZpYmVyID0gdmFsdWU7XG59XG5cbi8vIERvbid0IGNoYW5nZSB0aGVzZSB0d28gdmFsdWVzLiBUaGV5J3JlIHVzZWQgYnkgUmVhY3QgRGV2IFRvb2xzLlxudmFyIE5vRWZmZWN0ID1cbi8qICAgICAgICAgICAgICAqL1xuMDtcbnZhciBQZXJmb3JtZWRXb3JrID1cbi8qICAgICAgICAgKi9cbjE7IC8vIFlvdSBjYW4gY2hhbmdlIHRoZSByZXN0IChhbmQgYWRkIG1vcmUpLlxuXG52YXIgUGxhY2VtZW50ID1cbi8qICAgICAgICAgICAgICovXG4yO1xudmFyIFVwZGF0ZSA9XG4vKiAgICAgICAgICAgICAgICAqL1xuNDtcbnZhciBQbGFjZW1lbnRBbmRVcGRhdGUgPVxuLyogICAgKi9cbjY7XG52YXIgRGVsZXRpb24gPVxuLyogICAgICAgICAgICAgICovXG44O1xudmFyIENvbnRlbnRSZXNldCA9XG4vKiAgICAgICAgICAqL1xuMTY7XG52YXIgQ2FsbGJhY2sgPVxuLyogICAgICAgICAgICAgICovXG4zMjtcbnZhciBEaWRDYXB0dXJlID1cbi8qICAgICAgICAgICAgKi9cbjY0O1xudmFyIFJlZiA9XG4vKiAgICAgICAgICAgICAgICAgICAqL1xuMTI4O1xudmFyIFNuYXBzaG90ID1cbi8qICAgICAgICAgICAgICAqL1xuMjU2O1xudmFyIFBhc3NpdmUgPVxuLyogICAgICAgICAgICAgICAqL1xuNTEyO1xudmFyIEh5ZHJhdGluZyA9XG4vKiAgICAgICAgICAgICAqL1xuMTAyNDtcbnZhciBIeWRyYXRpbmdBbmRVcGRhdGUgPVxuLyogICAgKi9cbjEwMjg7IC8vIFBhc3NpdmUgJiBVcGRhdGUgJiBDYWxsYmFjayAmIFJlZiAmIFNuYXBzaG90XG5cbnZhciBMaWZlY3ljbGVFZmZlY3RNYXNrID1cbi8qICAgKi9cbjkzMjsgLy8gVW5pb24gb2YgYWxsIGhvc3QgZWZmZWN0c1xuXG52YXIgSG9zdEVmZmVjdE1hc2sgPVxuLyogICAgICAgICovXG4yMDQ3O1xudmFyIEluY29tcGxldGUgPVxuLyogICAgICAgICAgICAqL1xuMjA0ODtcbnZhciBTaG91bGRDYXB0dXJlID1cbi8qICAgICAgICAgKi9cbjQwOTY7XG5cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xuZnVuY3Rpb24gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikge1xuICB2YXIgbm9kZSA9IGZpYmVyO1xuICB2YXIgbmVhcmVzdE1vdW50ZWQgPSBmaWJlcjtcblxuICBpZiAoIWZpYmVyLmFsdGVybmF0ZSkge1xuICAgIC8vIElmIHRoZXJlIGlzIG5vIGFsdGVybmF0ZSwgdGhpcyBtaWdodCBiZSBhIG5ldyB0cmVlIHRoYXQgaXNuJ3QgaW5zZXJ0ZWRcbiAgICAvLyB5ZXQuIElmIGl0IGlzLCB0aGVuIGl0IHdpbGwgaGF2ZSBhIHBlbmRpbmcgaW5zZXJ0aW9uIGVmZmVjdCBvbiBpdC5cbiAgICB2YXIgbmV4dE5vZGUgPSBub2RlO1xuXG4gICAgZG8ge1xuICAgICAgbm9kZSA9IG5leHROb2RlO1xuXG4gICAgICBpZiAoKG5vZGUuZWZmZWN0VGFnICYgKFBsYWNlbWVudCB8IEh5ZHJhdGluZykpICE9PSBOb0VmZmVjdCkge1xuICAgICAgICAvLyBUaGlzIGlzIGFuIGluc2VydGlvbiBvciBpbi1wcm9ncmVzcyBoeWRyYXRpb24uIFRoZSBuZWFyZXN0IHBvc3NpYmxlXG4gICAgICAgIC8vIG1vdW50ZWQgZmliZXIgaXMgdGhlIHBhcmVudCBidXQgd2UgbmVlZCB0byBjb250aW51ZSB0byBmaWd1cmUgb3V0XG4gICAgICAgIC8vIGlmIHRoYXQgb25lIGlzIHN0aWxsIG1vdW50ZWQuXG4gICAgICAgIG5lYXJlc3RNb3VudGVkID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHROb2RlID0gbm9kZS5yZXR1cm47XG4gICAgfSB3aGlsZSAobmV4dE5vZGUpO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChub2RlLnJldHVybikge1xuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIGlmIChub2RlLnRhZyA9PT0gSG9zdFJvb3QpIHtcbiAgICAvLyBUT0RPOiBDaGVjayBpZiB0aGlzIHdhcyBhIG5lc3RlZCBIb3N0Um9vdCB3aGVuIHVzZWQgd2l0aFxuICAgIC8vIHJlbmRlckNvbnRhaW5lckludG9TdWJ0cmVlLlxuICAgIHJldHVybiBuZWFyZXN0TW91bnRlZDtcbiAgfSAvLyBJZiB3ZSBkaWRuJ3QgaGl0IHRoZSByb290LCB0aGF0IG1lYW5zIHRoYXQgd2UncmUgaW4gYW4gZGlzY29ubmVjdGVkIHRyZWVcbiAgLy8gdGhhdCBoYXMgYmVlbiB1bm1vdW50ZWQuXG5cblxuICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGdldFN1c3BlbnNlSW5zdGFuY2VGcm9tRmliZXIoZmliZXIpIHtcbiAgaWYgKGZpYmVyLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAoc3VzcGVuc2VTdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgdmFyIGN1cnJlbnQgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAgIHN1c3BlbnNlU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBzdXNwZW5zZVN0YXRlLmRlaHlkcmF0ZWQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBnZXRDb250YWluZXJGcm9tRmliZXIoZmliZXIpIHtcbiAgcmV0dXJuIGZpYmVyLnRhZyA9PT0gSG9zdFJvb3QgPyBmaWJlci5zdGF0ZU5vZGUuY29udGFpbmVySW5mbyA6IG51bGw7XG59XG5mdW5jdGlvbiBpc0ZpYmVyTW91bnRlZChmaWJlcikge1xuICByZXR1cm4gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcikgPT09IGZpYmVyO1xufVxuZnVuY3Rpb24gaXNNb3VudGVkKGNvbXBvbmVudCkge1xuICB7XG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudDtcblxuICAgIGlmIChvd25lciAhPT0gbnVsbCAmJiBvd25lci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICB2YXIgb3duZXJGaWJlciA9IG93bmVyO1xuICAgICAgdmFyIGluc3RhbmNlID0gb3duZXJGaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmICghaW5zdGFuY2UuX3dhcm5lZEFib3V0UmVmc0luUmVuZGVyKSB7XG4gICAgICAgIGVycm9yKCclcyBpcyBhY2Nlc3NpbmcgaXNNb3VudGVkIGluc2lkZSBpdHMgcmVuZGVyKCkgZnVuY3Rpb24uICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lKG93bmVyRmliZXIudHlwZSkgfHwgJ0EgY29tcG9uZW50Jyk7XG4gICAgICB9XG5cbiAgICAgIGluc3RhbmNlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gZ2V0KGNvbXBvbmVudCk7XG5cbiAgaWYgKCFmaWJlcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXI7XG59XG5cbmZ1bmN0aW9uIGFzc2VydElzTW91bnRlZChmaWJlcikge1xuICBpZiAoIShnZXROZWFyZXN0TW91bnRlZEZpYmVyKGZpYmVyKSA9PT0gZmliZXIpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlwiICk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRDdXJyZW50RmliZXJVc2luZ1Nsb3dQYXRoKGZpYmVyKSB7XG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKCFhbHRlcm5hdGUpIHtcbiAgICAvLyBJZiB0aGVyZSBpcyBubyBhbHRlcm5hdGUsIHRoZW4gd2Ugb25seSBuZWVkIHRvIGNoZWNrIGlmIGl0IGlzIG1vdW50ZWQuXG4gICAgdmFyIG5lYXJlc3RNb3VudGVkID0gZ2V0TmVhcmVzdE1vdW50ZWRGaWJlcihmaWJlcik7XG5cbiAgICBpZiAoIShuZWFyZXN0TW91bnRlZCAhPT0gbnVsbCkpIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlwiICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lYXJlc3RNb3VudGVkICE9PSBmaWJlcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIElmIHdlIGhhdmUgdHdvIHBvc3NpYmxlIGJyYW5jaGVzLCB3ZSdsbCB3YWxrIGJhY2t3YXJkcyB1cCB0byB0aGUgcm9vdFxuICAvLyB0byBzZWUgd2hhdCBwYXRoIHRoZSByb290IHBvaW50cyB0by4gT24gdGhlIHdheSB3ZSBtYXkgaGl0IG9uZSBvZiB0aGVcbiAgLy8gc3BlY2lhbCBjYXNlcyBhbmQgd2UnbGwgZGVhbCB3aXRoIHRoZW0uXG5cblxuICB2YXIgYSA9IGZpYmVyO1xuICB2YXIgYiA9IGFsdGVybmF0ZTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIHZhciBwYXJlbnRBID0gYS5yZXR1cm47XG5cbiAgICBpZiAocGFyZW50QSA9PT0gbnVsbCkge1xuICAgICAgLy8gV2UncmUgYXQgdGhlIHJvb3QuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgcGFyZW50QiA9IHBhcmVudEEuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKHBhcmVudEIgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoZXJlIGlzIG5vIGFsdGVybmF0ZS4gVGhpcyBpcyBhbiB1bnVzdWFsIGNhc2UuIEN1cnJlbnRseSwgaXQgb25seVxuICAgICAgLy8gaGFwcGVucyB3aGVuIGEgU3VzcGVuc2UgY29tcG9uZW50IGlzIGhpZGRlbi4gQW4gZXh0cmEgZnJhZ21lbnQgZmliZXJcbiAgICAgIC8vIGlzIGluc2VydGVkIGluIGJldHdlZW4gdGhlIFN1c3BlbnNlIGZpYmVyIGFuZCBpdHMgY2hpbGRyZW4uIFNraXBcbiAgICAgIC8vIG92ZXIgdGhpcyBleHRyYSBmcmFnbWVudCBmaWJlciBhbmQgcHJvY2VlZCB0byB0aGUgbmV4dCBwYXJlbnQuXG4gICAgICB2YXIgbmV4dFBhcmVudCA9IHBhcmVudEEucmV0dXJuO1xuXG4gICAgICBpZiAobmV4dFBhcmVudCAhPT0gbnVsbCkge1xuICAgICAgICBhID0gYiA9IG5leHRQYXJlbnQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSAvLyBJZiB0aGVyZSdzIG5vIHBhcmVudCwgd2UncmUgYXQgdGhlIHJvb3QuXG5cblxuICAgICAgYnJlYWs7XG4gICAgfSAvLyBJZiBib3RoIGNvcGllcyBvZiB0aGUgcGFyZW50IGZpYmVyIHBvaW50IHRvIHRoZSBzYW1lIGNoaWxkLCB3ZSBjYW5cbiAgICAvLyBhc3N1bWUgdGhhdCB0aGUgY2hpbGQgaXMgY3VycmVudC4gVGhpcyBoYXBwZW5zIHdoZW4gd2UgYmFpbG91dCBvbiBsb3dcbiAgICAvLyBwcmlvcml0eTogdGhlIGJhaWxlZCBvdXQgZmliZXIncyBjaGlsZCByZXVzZXMgdGhlIGN1cnJlbnQgY2hpbGQuXG5cblxuICAgIGlmIChwYXJlbnRBLmNoaWxkID09PSBwYXJlbnRCLmNoaWxkKSB7XG4gICAgICB2YXIgY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgICAgaWYgKGNoaWxkID09PSBhKSB7XG4gICAgICAgICAgLy8gV2UndmUgZGV0ZXJtaW5lZCB0aGF0IEEgaXMgdGhlIGN1cnJlbnQgYnJhbmNoLlxuICAgICAgICAgIGFzc2VydElzTW91bnRlZChwYXJlbnRBKTtcbiAgICAgICAgICByZXR1cm4gZmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hpbGQgPT09IGIpIHtcbiAgICAgICAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQiBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgICAgICAgYXNzZXJ0SXNNb3VudGVkKHBhcmVudEEpO1xuICAgICAgICAgIHJldHVybiBhbHRlcm5hdGU7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgICB9IC8vIFdlIHNob3VsZCBuZXZlciBoYXZlIGFuIGFsdGVybmF0ZSBmb3IgYW55IG1vdW50aW5nIG5vZGUuIFNvIHRoZSBvbmx5XG4gICAgICAvLyB3YXkgdGhpcyBjb3VsZCBwb3NzaWJseSBoYXBwZW4gaXMgaWYgdGhpcyB3YXMgdW5tb3VudGVkLCBpZiBhdCBhbGwuXG5cblxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlwiICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYS5yZXR1cm4gIT09IGIucmV0dXJuKSB7XG4gICAgICAvLyBUaGUgcmV0dXJuIHBvaW50ZXIgb2YgQSBhbmQgdGhlIHJldHVybiBwb2ludGVyIG9mIEIgcG9pbnQgdG8gZGlmZmVyZW50XG4gICAgICAvLyBmaWJlcnMuIFdlIGFzc3VtZSB0aGF0IHJldHVybiBwb2ludGVycyBuZXZlciBjcmlzcy1jcm9zcywgc28gQSBtdXN0XG4gICAgICAvLyBiZWxvbmcgdG8gdGhlIGNoaWxkIHNldCBvZiBBLnJldHVybiwgYW5kIEIgbXVzdCBiZWxvbmcgdG8gdGhlIGNoaWxkXG4gICAgICAvLyBzZXQgb2YgQi5yZXR1cm4uXG4gICAgICBhID0gcGFyZW50QTtcbiAgICAgIGIgPSBwYXJlbnRCO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgcmV0dXJuIHBvaW50ZXJzIHBvaW50IHRvIHRoZSBzYW1lIGZpYmVyLiBXZSdsbCBoYXZlIHRvIHVzZSB0aGVcbiAgICAgIC8vIGRlZmF1bHQsIHNsb3cgcGF0aDogc2NhbiB0aGUgY2hpbGQgc2V0cyBvZiBlYWNoIHBhcmVudCBhbHRlcm5hdGUgdG8gc2VlXG4gICAgICAvLyB3aGljaCBjaGlsZCBiZWxvbmdzIHRvIHdoaWNoIHNldC5cbiAgICAgIC8vXG4gICAgICAvLyBTZWFyY2ggcGFyZW50IEEncyBjaGlsZCBzZXRcbiAgICAgIHZhciBkaWRGaW5kQ2hpbGQgPSBmYWxzZTtcbiAgICAgIHZhciBfY2hpbGQgPSBwYXJlbnRBLmNoaWxkO1xuXG4gICAgICB3aGlsZSAoX2NoaWxkKSB7XG4gICAgICAgIGlmIChfY2hpbGQgPT09IGEpIHtcbiAgICAgICAgICBkaWRGaW5kQ2hpbGQgPSB0cnVlO1xuICAgICAgICAgIGEgPSBwYXJlbnRBO1xuICAgICAgICAgIGIgPSBwYXJlbnRCO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKF9jaGlsZCA9PT0gYikge1xuICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgYiA9IHBhcmVudEE7XG4gICAgICAgICAgYSA9IHBhcmVudEI7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBfY2hpbGQgPSBfY2hpbGQuc2libGluZztcbiAgICAgIH1cblxuICAgICAgaWYgKCFkaWRGaW5kQ2hpbGQpIHtcbiAgICAgICAgLy8gU2VhcmNoIHBhcmVudCBCJ3MgY2hpbGQgc2V0XG4gICAgICAgIF9jaGlsZCA9IHBhcmVudEIuY2hpbGQ7XG5cbiAgICAgICAgd2hpbGUgKF9jaGlsZCkge1xuICAgICAgICAgIGlmIChfY2hpbGQgPT09IGEpIHtcbiAgICAgICAgICAgIGRpZEZpbmRDaGlsZCA9IHRydWU7XG4gICAgICAgICAgICBhID0gcGFyZW50QjtcbiAgICAgICAgICAgIGIgPSBwYXJlbnRBO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKF9jaGlsZCA9PT0gYikge1xuICAgICAgICAgICAgZGlkRmluZENoaWxkID0gdHJ1ZTtcbiAgICAgICAgICAgIGIgPSBwYXJlbnRCO1xuICAgICAgICAgICAgYSA9IHBhcmVudEE7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfY2hpbGQgPSBfY2hpbGQuc2libGluZztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZGlkRmluZENoaWxkKSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiQ2hpbGQgd2FzIG5vdCBmb3VuZCBpbiBlaXRoZXIgcGFyZW50IHNldC4gVGhpcyBpbmRpY2F0ZXMgYSBidWcgaW4gUmVhY3QgcmVsYXRlZCB0byB0aGUgcmV0dXJuIHBvaW50ZXIuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCEoYS5hbHRlcm5hdGUgPT09IGIpKSB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcIlJldHVybiBmaWJlcnMgc2hvdWxkIGFsd2F5cyBiZSBlYWNoIG90aGVycycgYWx0ZXJuYXRlcy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBJZiB0aGUgcm9vdCBpcyBub3QgYSBob3N0IGNvbnRhaW5lciwgd2UncmUgaW4gYSBkaXNjb25uZWN0ZWQgdHJlZS4gSS5lLlxuICAvLyB1bm1vdW50ZWQuXG5cblxuICBpZiAoIShhLnRhZyA9PT0gSG9zdFJvb3QpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiVW5hYmxlIHRvIGZpbmQgbm9kZSBvbiBhbiB1bm1vdW50ZWQgY29tcG9uZW50LlwiICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGEuc3RhdGVOb2RlLmN1cnJlbnQgPT09IGEpIHtcbiAgICAvLyBXZSd2ZSBkZXRlcm1pbmVkIHRoYXQgQSBpcyB0aGUgY3VycmVudCBicmFuY2guXG4gICAgcmV0dXJuIGZpYmVyO1xuICB9IC8vIE90aGVyd2lzZSBCIGhhcyB0byBiZSBjdXJyZW50IGJyYW5jaC5cblxuXG4gIHJldHVybiBhbHRlcm5hdGU7XG59XG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcihwYXJlbnQpIHtcbiAgdmFyIGN1cnJlbnRQYXJlbnQgPSBmaW5kQ3VycmVudEZpYmVyVXNpbmdTbG93UGF0aChwYXJlbnQpO1xuXG4gIGlmICghY3VycmVudFBhcmVudCkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIE5leHQgd2UnbGwgZHJpbGwgZG93biB0aGlzIGNvbXBvbmVudCB0byBmaW5kIHRoZSBmaXJzdCBIb3N0Q29tcG9uZW50L1RleHQuXG5cblxuICB2YXIgbm9kZSA9IGN1cnJlbnRQYXJlbnQ7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBpZiAobm9kZS50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgbm9kZS50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQpIHtcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcbiAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IGN1cnJlbnRQYXJlbnQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlICghbm9kZS5zaWJsaW5nKSB7XG4gICAgICBpZiAoIW5vZGUucmV0dXJuIHx8IG5vZGUucmV0dXJuID09PSBjdXJyZW50UGFyZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH0gLy8gRmxvdyBuZWVkcyB0aGUgcmV0dXJuIG51bGwgaGVyZSwgYnV0IEVTTGludCBjb21wbGFpbnMgYWJvdXQgaXQuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnJlYWNoYWJsZVxuXG5cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMocGFyZW50KSB7XG4gIHZhciBjdXJyZW50UGFyZW50ID0gZmluZEN1cnJlbnRGaWJlclVzaW5nU2xvd1BhdGgocGFyZW50KTtcblxuICBpZiAoIWN1cnJlbnRQYXJlbnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBOZXh0IHdlJ2xsIGRyaWxsIGRvd24gdGhpcyBjb21wb25lbnQgdG8gZmluZCB0aGUgZmlyc3QgSG9zdENvbXBvbmVudC9UZXh0LlxuXG5cbiAgdmFyIG5vZGUgPSBjdXJyZW50UGFyZW50O1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IG5vZGUudGFnID09PSBIb3N0VGV4dCB8fCBlbmFibGVGdW5kYW1lbnRhbEFQSSApIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAmJiBub2RlLnRhZyAhPT0gSG9zdFBvcnRhbCkge1xuICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobm9kZSA9PT0gY3VycmVudFBhcmVudCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgd2hpbGUgKCFub2RlLnNpYmxpbmcpIHtcbiAgICAgIGlmICghbm9kZS5yZXR1cm4gfHwgbm9kZS5yZXR1cm4gPT09IGN1cnJlbnRQYXJlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfSAvLyBGbG93IG5lZWRzIHRoZSByZXR1cm4gbnVsbCBoZXJlLCBidXQgRVNMaW50IGNvbXBsYWlucyBhYm91dCBpdC5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVucmVhY2hhYmxlXG5cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLyoqXG4gKiBBY2N1bXVsYXRlcyBpdGVtcyB0aGF0IG11c3Qgbm90IGJlIG51bGwgb3IgdW5kZWZpbmVkIGludG8gdGhlIGZpcnN0IG9uZS4gVGhpc1xuICogaXMgdXNlZCB0byBjb25zZXJ2ZSBtZW1vcnkgYnkgYXZvaWRpbmcgYXJyYXkgYWxsb2NhdGlvbnMsIGFuZCB0aHVzIHNhY3JpZmljZXNcbiAqIEFQSSBjbGVhbm5lc3MuIFNpbmNlIGBjdXJyZW50YCBjYW4gYmUgbnVsbCBiZWZvcmUgYmVpbmcgcGFzc2VkIGluIGFuZCBub3RcbiAqIG51bGwgYWZ0ZXIgdGhpcyBmdW5jdGlvbiwgbWFrZSBzdXJlIHRvIGFzc2lnbiBpdCBiYWNrIHRvIGBjdXJyZW50YDpcbiAqXG4gKiBgYSA9IGFjY3VtdWxhdGVJbnRvKGEsIGIpO2BcbiAqXG4gKiBUaGlzIEFQSSBzaG91bGQgYmUgc3BhcmluZ2x5IHVzZWQuIFRyeSBgYWNjdW11bGF0ZWAgZm9yIHNvbWV0aGluZyBjbGVhbmVyLlxuICpcbiAqIEByZXR1cm4geyp8YXJyYXk8Kj59IEFuIGFjY3VtdWxhdGlvbiBvZiBpdGVtcy5cbiAqL1xuXG5mdW5jdGlvbiBhY2N1bXVsYXRlSW50byhjdXJyZW50LCBuZXh0KSB7XG4gIGlmICghKG5leHQgIT0gbnVsbCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJhY2N1bXVsYXRlSW50byguLi4pOiBBY2N1bXVsYXRlZCBpdGVtcyBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZC5cIiApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ID09IG51bGwpIHtcbiAgICByZXR1cm4gbmV4dDtcbiAgfSAvLyBCb3RoIGFyZSBub3QgZW1wdHkuIFdhcm5pbmc6IE5ldmVyIGNhbGwgeC5jb25jYXQoeSkgd2hlbiB5b3UgYXJlIG5vdFxuICAvLyBjZXJ0YWluIHRoYXQgeCBpcyBhbiBBcnJheSAoeCBjb3VsZCBiZSBhIHN0cmluZyB3aXRoIGNvbmNhdCBtZXRob2QpLlxuXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudCkpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShuZXh0KSkge1xuICAgICAgY3VycmVudC5wdXNoLmFwcGx5KGN1cnJlbnQsIG5leHQpO1xuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfVxuXG4gICAgY3VycmVudC5wdXNoKG5leHQpO1xuICAgIHJldHVybiBjdXJyZW50O1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobmV4dCkpIHtcbiAgICAvLyBBIGJpdCB0b28gZGFuZ2Vyb3VzIHRvIG11dGF0ZSBgbmV4dGAuXG4gICAgcmV0dXJuIFtjdXJyZW50XS5jb25jYXQobmV4dCk7XG4gIH1cblxuICByZXR1cm4gW2N1cnJlbnQsIG5leHRdO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7YXJyYXl9IGFyciBhbiBcImFjY3VtdWxhdGlvblwiIG9mIGl0ZW1zIHdoaWNoIGlzIGVpdGhlciBhbiBBcnJheSBvclxuICogYSBzaW5nbGUgaXRlbS4gVXNlZnVsIHdoZW4gcGFpcmVkIHdpdGggdGhlIGBhY2N1bXVsYXRlYCBtb2R1bGUuIFRoaXMgaXMgYVxuICogc2ltcGxlIHV0aWxpdHkgdGhhdCBhbGxvd3MgdXMgdG8gcmVhc29uIGFib3V0IGEgY29sbGVjdGlvbiBvZiBpdGVtcywgYnV0XG4gKiBoYW5kbGluZyB0aGUgY2FzZSB3aGVuIHRoZXJlIGlzIGV4YWN0bHkgb25lIGl0ZW0gKGFuZCB3ZSBkbyBub3QgbmVlZCB0b1xuICogYWxsb2NhdGUgYW4gYXJyYXkpLlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2IgQ2FsbGJhY2sgaW52b2tlZCB3aXRoIGVhY2ggZWxlbWVudCBvciBhIGNvbGxlY3Rpb24uXG4gKiBAcGFyYW0gez99IFtzY29wZV0gU2NvcGUgdXNlZCBhcyBgdGhpc2AgaW4gYSBjYWxsYmFjay5cbiAqL1xuZnVuY3Rpb24gZm9yRWFjaEFjY3VtdWxhdGVkKGFyciwgY2IsIHNjb3BlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHtcbiAgICBhcnIuZm9yRWFjaChjYiwgc2NvcGUpO1xuICB9IGVsc2UgaWYgKGFycikge1xuICAgIGNiLmNhbGwoc2NvcGUsIGFycik7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBxdWV1ZSBvZiBldmVudHMgdGhhdCBoYXZlIGFjY3VtdWxhdGVkIHRoZWlyIGRpc3BhdGNoZXMgYW5kIGFyZVxuICogd2FpdGluZyB0byBoYXZlIHRoZWlyIGRpc3BhdGNoZXMgZXhlY3V0ZWQuXG4gKi9cblxudmFyIGV2ZW50UXVldWUgPSBudWxsO1xuLyoqXG4gKiBEaXNwYXRjaGVzIGFuIGV2ZW50IGFuZCByZWxlYXNlcyBpdCBiYWNrIGludG8gdGhlIHBvb2wsIHVubGVzcyBwZXJzaXN0ZW50LlxuICpcbiAqIEBwYXJhbSB7P29iamVjdH0gZXZlbnQgU3ludGhldGljIGV2ZW50IHRvIGJlIGRpc3BhdGNoZWQuXG4gKiBAcHJpdmF0ZVxuICovXG5cbnZhciBleGVjdXRlRGlzcGF0Y2hlc0FuZFJlbGVhc2UgPSBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgaWYgKGV2ZW50KSB7XG4gICAgZXhlY3V0ZURpc3BhdGNoZXNJbk9yZGVyKGV2ZW50KTtcblxuICAgIGlmICghZXZlbnQuaXNQZXJzaXN0ZW50KCkpIHtcbiAgICAgIGV2ZW50LmNvbnN0cnVjdG9yLnJlbGVhc2UoZXZlbnQpO1xuICAgIH1cbiAgfVxufTtcblxudmFyIGV4ZWN1dGVEaXNwYXRjaGVzQW5kUmVsZWFzZVRvcExldmVsID0gZnVuY3Rpb24gKGUpIHtcbiAgcmV0dXJuIGV4ZWN1dGVEaXNwYXRjaGVzQW5kUmVsZWFzZShlKTtcbn07XG5cbmZ1bmN0aW9uIHJ1bkV2ZW50c0luQmF0Y2goZXZlbnRzKSB7XG4gIGlmIChldmVudHMgIT09IG51bGwpIHtcbiAgICBldmVudFF1ZXVlID0gYWNjdW11bGF0ZUludG8oZXZlbnRRdWV1ZSwgZXZlbnRzKTtcbiAgfSAvLyBTZXQgYGV2ZW50UXVldWVgIHRvIG51bGwgYmVmb3JlIHByb2Nlc3NpbmcgaXQgc28gdGhhdCB3ZSBjYW4gdGVsbCBpZiBtb3JlXG4gIC8vIGV2ZW50cyBnZXQgZW5xdWV1ZWQgd2hpbGUgcHJvY2Vzc2luZy5cblxuXG4gIHZhciBwcm9jZXNzaW5nRXZlbnRRdWV1ZSA9IGV2ZW50UXVldWU7XG4gIGV2ZW50UXVldWUgPSBudWxsO1xuXG4gIGlmICghcHJvY2Vzc2luZ0V2ZW50UXVldWUpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBmb3JFYWNoQWNjdW11bGF0ZWQocHJvY2Vzc2luZ0V2ZW50UXVldWUsIGV4ZWN1dGVEaXNwYXRjaGVzQW5kUmVsZWFzZVRvcExldmVsKTtcblxuICBpZiAoISFldmVudFF1ZXVlKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwicHJvY2Vzc0V2ZW50UXVldWUoKTogQWRkaXRpb25hbCBldmVudHMgd2VyZSBlbnF1ZXVlZCB3aGlsZSBwcm9jZXNzaW5nIGFuIGV2ZW50IHF1ZXVlLiBTdXBwb3J0IGZvciB0aGlzIGhhcyBub3QgeWV0IGJlZW4gaW1wbGVtZW50ZWQuXCIgKTtcbiAgICB9XG4gIH0gLy8gVGhpcyB3b3VsZCBiZSBhIGdvb2QgdGltZSB0byByZXRocm93IGlmIGFueSBvZiB0aGUgZXZlbnQgaGFuZGxlcnMgdGhyZXcuXG5cblxuICByZXRocm93Q2F1Z2h0RXJyb3IoKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB0YXJnZXQgbm9kZSBmcm9tIGEgbmF0aXZlIGJyb3dzZXIgZXZlbnQgYnkgYWNjb3VudGluZyBmb3JcbiAqIGluY29uc2lzdGVuY2llcyBpbiBicm93c2VyIERPTSBBUElzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cbiAqIEByZXR1cm4ge0RPTUV2ZW50VGFyZ2V0fSBUYXJnZXQgbm9kZS5cbiAqL1xuXG5mdW5jdGlvbiBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCkge1xuICAvLyBGYWxsYmFjayB0byBuYXRpdmVFdmVudC5zcmNFbGVtZW50IGZvciBJRTlcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjUwNlxuICB2YXIgdGFyZ2V0ID0gbmF0aXZlRXZlbnQudGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LnNyY0VsZW1lbnQgfHwgd2luZG93OyAvLyBOb3JtYWxpemUgU1ZHIDx1c2U+IGVsZW1lbnQgZXZlbnRzICM0OTYzXG5cbiAgaWYgKHRhcmdldC5jb3JyZXNwb25kaW5nVXNlRWxlbWVudCkge1xuICAgIHRhcmdldCA9IHRhcmdldC5jb3JyZXNwb25kaW5nVXNlRWxlbWVudDtcbiAgfSAvLyBTYWZhcmkgbWF5IGZpcmUgZXZlbnRzIG9uIHRleHQgbm9kZXMgKE5vZGUuVEVYVF9OT0RFIGlzIDMpLlxuICAvLyBAc2VlIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvanMvZXZlbnRzX3Byb3BlcnRpZXMuaHRtbFxuXG5cbiAgcmV0dXJuIHRhcmdldC5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFID8gdGFyZ2V0LnBhcmVudE5vZGUgOiB0YXJnZXQ7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGFuIGV2ZW50IGlzIHN1cHBvcnRlZCBpbiB0aGUgY3VycmVudCBleGVjdXRpb24gZW52aXJvbm1lbnQuXG4gKlxuICogTk9URTogVGhpcyB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseSBmb3Igbm9uLWdlbmVyaWMgZXZlbnRzIHN1Y2ggYXMgYGNoYW5nZWAsXG4gKiBgcmVzZXRgLCBgbG9hZGAsIGBlcnJvcmAsIGFuZCBgc2VsZWN0YC5cbiAqXG4gKiBCb3Jyb3dzIGZyb20gTW9kZXJuaXpyLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWVTdWZmaXggRXZlbnQgbmFtZSwgZS5nLiBcImNsaWNrXCIuXG4gKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBldmVudCBpcyBzdXBwb3J0ZWQuXG4gKiBAaW50ZXJuYWxcbiAqIEBsaWNlbnNlIE1vZGVybml6ciAzLjAuMHByZSAoQ3VzdG9tIEJ1aWxkKSB8IE1JVFxuICovXG5cbmZ1bmN0aW9uIGlzRXZlbnRTdXBwb3J0ZWQoZXZlbnROYW1lU3VmZml4KSB7XG4gIGlmICghY2FuVXNlRE9NKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGV2ZW50TmFtZSA9ICdvbicgKyBldmVudE5hbWVTdWZmaXg7XG4gIHZhciBpc1N1cHBvcnRlZCA9IGV2ZW50TmFtZSBpbiBkb2N1bWVudDtcblxuICBpZiAoIWlzU3VwcG9ydGVkKSB7XG4gICAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShldmVudE5hbWUsICdyZXR1cm47Jyk7XG4gICAgaXNTdXBwb3J0ZWQgPSB0eXBlb2YgZWxlbWVudFtldmVudE5hbWVdID09PSAnZnVuY3Rpb24nO1xuICB9XG5cbiAgcmV0dXJuIGlzU3VwcG9ydGVkO1xufVxuXG4vKipcbiAqIFN1bW1hcnkgb2YgYERPTUV2ZW50UGx1Z2luU3lzdGVtYCBldmVudCBoYW5kbGluZzpcbiAqXG4gKiAgLSBUb3AtbGV2ZWwgZGVsZWdhdGlvbiBpcyB1c2VkIHRvIHRyYXAgbW9zdCBuYXRpdmUgYnJvd3NlciBldmVudHMuIFRoaXNcbiAqICAgIG1heSBvbmx5IG9jY3VyIGluIHRoZSBtYWluIHRocmVhZCBhbmQgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mXG4gKiAgICBSZWFjdERPTUV2ZW50TGlzdGVuZXIsIHdoaWNoIGlzIGluamVjdGVkIGFuZCBjYW4gdGhlcmVmb3JlIHN1cHBvcnRcbiAqICAgIHBsdWdnYWJsZSBldmVudCBzb3VyY2VzLiBUaGlzIGlzIHRoZSBvbmx5IHdvcmsgdGhhdCBvY2N1cnMgaW4gdGhlIG1haW5cbiAqICAgIHRocmVhZC5cbiAqXG4gKiAgLSBXZSBub3JtYWxpemUgYW5kIGRlLWR1cGxpY2F0ZSBldmVudHMgdG8gYWNjb3VudCBmb3IgYnJvd3NlciBxdWlya3MuIFRoaXNcbiAqICAgIG1heSBiZSBkb25lIGluIHRoZSB3b3JrZXIgdGhyZWFkLlxuICpcbiAqICAtIEZvcndhcmQgdGhlc2UgbmF0aXZlIGV2ZW50cyAod2l0aCB0aGUgYXNzb2NpYXRlZCB0b3AtbGV2ZWwgdHlwZSB1c2VkIHRvXG4gKiAgICB0cmFwIGl0KSB0byBgRXZlbnRQbHVnaW5SZWdpc3RyeWAsIHdoaWNoIGluIHR1cm4gd2lsbCBhc2sgcGx1Z2lucyBpZiB0aGV5IHdhbnRcbiAqICAgIHRvIGV4dHJhY3QgYW55IHN5bnRoZXRpYyBldmVudHMuXG4gKlxuICogIC0gVGhlIGBFdmVudFBsdWdpblJlZ2lzdHJ5YCB3aWxsIHRoZW4gcHJvY2VzcyBlYWNoIGV2ZW50IGJ5IGFubm90YXRpbmcgdGhlbSB3aXRoXG4gKiAgICBcImRpc3BhdGNoZXNcIiwgYSBzZXF1ZW5jZSBvZiBsaXN0ZW5lcnMgYW5kIElEcyB0aGF0IGNhcmUgYWJvdXQgdGhhdCBldmVudC5cbiAqXG4gKiAgLSBUaGUgYEV2ZW50UGx1Z2luUmVnaXN0cnlgIHRoZW4gZGlzcGF0Y2hlcyB0aGUgZXZlbnRzLlxuICpcbiAqIE92ZXJ2aWV3IG9mIFJlYWN0IGFuZCB0aGUgZXZlbnQgc3lzdGVtOlxuICpcbiAqICstLS0tLS0tLS0tLS0rICAgIC5cbiAqIHwgICAgRE9NICAgICB8ICAgIC5cbiAqICstLS0tLS0tLS0tLS0rICAgIC5cbiAqICAgICAgIHwgICAgICAgICAgIC5cbiAqICAgICAgIHYgICAgICAgICAgIC5cbiAqICstLS0tLS0tLS0tLS0rICAgIC5cbiAqIHwgUmVhY3RFdmVudCB8ICAgIC5cbiAqIHwgIExpc3RlbmVyICB8ICAgIC5cbiAqICstLS0tLS0tLS0tLS0rICAgIC4gICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tK1xuICogICAgICAgfCAgICAgICAgICAgLiAgICAgICAgICAgICAgICstLS0tLS0tLSt8U2ltcGxlRXZlbnR8XG4gKiAgICAgICB8ICAgICAgICAgICAuICAgICAgICAgICAgICAgfCAgICAgICAgIHxQbHVnaW4gICAgIHxcbiAqICstLS0tLXwtLS0tLS0rICAgIC4gICAgICAgICAgICAgICB2ICAgICAgICAgKy0tLS0tLS0tLS0tK1xuICogfCAgICAgfCAgICAgIHwgICAgLiAgICArLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tK1xuICogfCAgICAgKy0tLS0tLS0tLS0tLi0tLT58UGx1Z2luUmVnaXN0cnl8ICAgICAgICAgICAgICAgICAgICB8ICAgIEV2ZW50ICAgfFxuICogfCAgICAgICAgICAgIHwgICAgLiAgICB8ICAgICAgICAgICAgICB8ICAgICArLS0tLS0tLS0tLS0rICB8IFByb3BhZ2F0b3JzfFxuICogfCBSZWFjdEV2ZW50IHwgICAgLiAgICB8ICAgICAgICAgICAgICB8ICAgICB8VGFwRXZlbnQgICB8ICB8LS0tLS0tLS0tLS0tfFxuICogfCAgRW1pdHRlciAgIHwgICAgLiAgICB8ICAgICAgICAgICAgICB8PC0tLSt8UGx1Z2luICAgICB8ICB8b3RoZXIgcGx1Z2lufFxuICogfCAgICAgICAgICAgIHwgICAgLiAgICB8ICAgICAgICAgICAgICB8ICAgICArLS0tLS0tLS0tLS0rICB8ICB1dGlsaXRpZXMgfFxuICogfCAgICAgKy0tLS0tLS0tLS0tLi0tLT58ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tK1xuICogfCAgICAgfCAgICAgIHwgICAgLiAgICArLS0tLS0tLS0tLS0tLS0rXG4gKiArLS0tLS18LS0tLS0tKyAgICAuICAgICAgICAgICAgICAgIF4gICAgICAgICstLS0tLS0tLS0tLStcbiAqICAgICAgIHwgICAgICAgICAgIC4gICAgICAgICAgICAgICAgfCAgICAgICAgfEVudGVyL0xlYXZlfFxuICogICAgICAgKyAgICAgICAgICAgLiAgICAgICAgICAgICAgICArLS0tLS0tLSt8UGx1Z2luICAgICB8XG4gKiArLS0tLS0tLS0tLS0tLSsgICAuICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0tLStcbiAqIHwgYXBwbGljYXRpb24gfCAgIC5cbiAqIHwtLS0tLS0tLS0tLS0tfCAgIC5cbiAqIHwgICAgICAgICAgICAgfCAgIC5cbiAqIHwgICAgICAgICAgICAgfCAgIC5cbiAqICstLS0tLS0tLS0tLS0tKyAgIC5cbiAqICAgICAgICAgICAgICAgICAgIC5cbiAqICAgIFJlYWN0IENvcmUgICAgIC4gIEdlbmVyYWwgUHVycG9zZSBFdmVudCBQbHVnaW4gU3lzdGVtXG4gKi9cblxudmFyIENBTExCQUNLX0JPT0tLRUVQSU5HX1BPT0xfU0laRSA9IDEwO1xudmFyIGNhbGxiYWNrQm9va2tlZXBpbmdQb29sID0gW107XG5cbmZ1bmN0aW9uIHJlbGVhc2VUb3BMZXZlbENhbGxiYWNrQm9va0tlZXBpbmcoaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UudG9wTGV2ZWxUeXBlID0gbnVsbDtcbiAgaW5zdGFuY2UubmF0aXZlRXZlbnQgPSBudWxsO1xuICBpbnN0YW5jZS50YXJnZXRJbnN0ID0gbnVsbDtcbiAgaW5zdGFuY2UuYW5jZXN0b3JzLmxlbmd0aCA9IDA7XG5cbiAgaWYgKGNhbGxiYWNrQm9va2tlZXBpbmdQb29sLmxlbmd0aCA8IENBTExCQUNLX0JPT0tLRUVQSU5HX1BPT0xfU0laRSkge1xuICAgIGNhbGxiYWNrQm9va2tlZXBpbmdQb29sLnB1c2goaW5zdGFuY2UpO1xuICB9XG59IC8vIFVzZWQgdG8gc3RvcmUgYW5jZXN0b3IgaGllcmFyY2h5IGluIHRvcCBsZXZlbCBjYWxsYmFja1xuXG5cbmZ1bmN0aW9uIGdldFRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCBldmVudFN5c3RlbUZsYWdzKSB7XG4gIGlmIChjYWxsYmFja0Jvb2trZWVwaW5nUG9vbC5sZW5ndGgpIHtcbiAgICB2YXIgaW5zdGFuY2UgPSBjYWxsYmFja0Jvb2trZWVwaW5nUG9vbC5wb3AoKTtcbiAgICBpbnN0YW5jZS50b3BMZXZlbFR5cGUgPSB0b3BMZXZlbFR5cGU7XG4gICAgaW5zdGFuY2UuZXZlbnRTeXN0ZW1GbGFncyA9IGV2ZW50U3lzdGVtRmxhZ3M7XG4gICAgaW5zdGFuY2UubmF0aXZlRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICBpbnN0YW5jZS50YXJnZXRJbnN0ID0gdGFyZ2V0SW5zdDtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHRvcExldmVsVHlwZTogdG9wTGV2ZWxUeXBlLFxuICAgIGV2ZW50U3lzdGVtRmxhZ3M6IGV2ZW50U3lzdGVtRmxhZ3MsXG4gICAgbmF0aXZlRXZlbnQ6IG5hdGl2ZUV2ZW50LFxuICAgIHRhcmdldEluc3Q6IHRhcmdldEluc3QsXG4gICAgYW5jZXN0b3JzOiBbXVxuICB9O1xufVxuLyoqXG4gKiBGaW5kIHRoZSBkZWVwZXN0IFJlYWN0IGNvbXBvbmVudCBjb21wbGV0ZWx5IGNvbnRhaW5pbmcgdGhlIHJvb3Qgb2YgdGhlXG4gKiBwYXNzZWQtaW4gaW5zdGFuY2UgKGZvciB1c2Ugd2hlbiBlbnRpcmUgUmVhY3QgdHJlZXMgYXJlIG5lc3RlZCB3aXRoaW4gZWFjaFxuICogb3RoZXIpLiBJZiBSZWFjdCB0cmVlcyBhcmUgbm90IG5lc3RlZCwgcmV0dXJucyBudWxsLlxuICovXG5cblxuZnVuY3Rpb24gZmluZFJvb3RDb250YWluZXJOb2RlKGluc3QpIHtcbiAgaWYgKGluc3QudGFnID09PSBIb3N0Um9vdCkge1xuICAgIHJldHVybiBpbnN0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICB9IC8vIFRPRE86IEl0IG1heSBiZSBhIGdvb2QgaWRlYSB0byBjYWNoZSB0aGlzIHRvIHByZXZlbnQgdW5uZWNlc3NhcnkgRE9NXG4gIC8vIHRyYXZlcnNhbCwgYnV0IGNhY2hpbmcgaXMgZGlmZmljdWx0IHRvIGRvIGNvcnJlY3RseSB3aXRob3V0IHVzaW5nIGFcbiAgLy8gbXV0YXRpb24gb2JzZXJ2ZXIgdG8gbGlzdGVuIGZvciBhbGwgRE9NIGNoYW5nZXMuXG5cblxuICB3aGlsZSAoaW5zdC5yZXR1cm4pIHtcbiAgICBpbnN0ID0gaW5zdC5yZXR1cm47XG4gIH1cblxuICBpZiAoaW5zdC50YWcgIT09IEhvc3RSb290KSB7XG4gICAgLy8gVGhpcyBjYW4gaGFwcGVuIGlmIHdlJ3JlIGluIGEgZGV0YWNoZWQgdHJlZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBpbnN0LnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xufVxuLyoqXG4gKiBBbGxvd3MgcmVnaXN0ZXJlZCBwbHVnaW5zIGFuIG9wcG9ydHVuaXR5IHRvIGV4dHJhY3QgZXZlbnRzIGZyb20gdG9wLWxldmVsXG4gKiBuYXRpdmUgYnJvd3NlciBldmVudHMuXG4gKlxuICogQHJldHVybiB7Kn0gQW4gYWNjdW11bGF0aW9uIG9mIHN5bnRoZXRpYyBldmVudHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuXG5cbmZ1bmN0aW9uIGV4dHJhY3RQbHVnaW5FdmVudHModG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgdmFyIGV2ZW50cyA9IG51bGw7XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwbHVnaW5zLmxlbmd0aDsgaSsrKSB7XG4gICAgLy8gTm90IGV2ZXJ5IHBsdWdpbiBpbiB0aGUgb3JkZXJpbmcgbWF5IGJlIGxvYWRlZCBhdCBydW50aW1lLlxuICAgIHZhciBwb3NzaWJsZVBsdWdpbiA9IHBsdWdpbnNbaV07XG5cbiAgICBpZiAocG9zc2libGVQbHVnaW4pIHtcbiAgICAgIHZhciBleHRyYWN0ZWRFdmVudHMgPSBwb3NzaWJsZVBsdWdpbi5leHRyYWN0RXZlbnRzKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzKTtcblxuICAgICAgaWYgKGV4dHJhY3RlZEV2ZW50cykge1xuICAgICAgICBldmVudHMgPSBhY2N1bXVsYXRlSW50byhldmVudHMsIGV4dHJhY3RlZEV2ZW50cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV2ZW50cztcbn1cblxuZnVuY3Rpb24gcnVuRXh0cmFjdGVkUGx1Z2luRXZlbnRzSW5CYXRjaCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xuICB2YXIgZXZlbnRzID0gZXh0cmFjdFBsdWdpbkV2ZW50cyh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncyk7XG4gIHJ1bkV2ZW50c0luQmF0Y2goZXZlbnRzKTtcbn1cblxuZnVuY3Rpb24gaGFuZGxlVG9wTGV2ZWwoYm9va0tlZXBpbmcpIHtcbiAgdmFyIHRhcmdldEluc3QgPSBib29rS2VlcGluZy50YXJnZXRJbnN0OyAvLyBMb29wIHRocm91Z2ggdGhlIGhpZXJhcmNoeSwgaW4gY2FzZSB0aGVyZSdzIGFueSBuZXN0ZWQgY29tcG9uZW50cy5cbiAgLy8gSXQncyBpbXBvcnRhbnQgdGhhdCB3ZSBidWlsZCB0aGUgYXJyYXkgb2YgYW5jZXN0b3JzIGJlZm9yZSBjYWxsaW5nIGFueVxuICAvLyBldmVudCBoYW5kbGVycywgYmVjYXVzZSBldmVudCBoYW5kbGVycyBjYW4gbW9kaWZ5IHRoZSBET00sIGxlYWRpbmcgdG9cbiAgLy8gaW5jb25zaXN0ZW5jaWVzIHdpdGggUmVhY3RNb3VudCdzIG5vZGUgY2FjaGUuIFNlZSAjMTEwNS5cblxuICB2YXIgYW5jZXN0b3IgPSB0YXJnZXRJbnN0O1xuXG4gIGRvIHtcbiAgICBpZiAoIWFuY2VzdG9yKSB7XG4gICAgICB2YXIgYW5jZXN0b3JzID0gYm9va0tlZXBpbmcuYW5jZXN0b3JzO1xuICAgICAgYW5jZXN0b3JzLnB1c2goYW5jZXN0b3IpO1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdmFyIHJvb3QgPSBmaW5kUm9vdENvbnRhaW5lck5vZGUoYW5jZXN0b3IpO1xuXG4gICAgaWYgKCFyb290KSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgdGFnID0gYW5jZXN0b3IudGFnO1xuXG4gICAgaWYgKHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCB0YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgICBib29rS2VlcGluZy5hbmNlc3RvcnMucHVzaChhbmNlc3Rvcik7XG4gICAgfVxuXG4gICAgYW5jZXN0b3IgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShyb290KTtcbiAgfSB3aGlsZSAoYW5jZXN0b3IpO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgYm9va0tlZXBpbmcuYW5jZXN0b3JzLmxlbmd0aDsgaSsrKSB7XG4gICAgdGFyZ2V0SW5zdCA9IGJvb2tLZWVwaW5nLmFuY2VzdG9yc1tpXTtcbiAgICB2YXIgZXZlbnRUYXJnZXQgPSBnZXRFdmVudFRhcmdldChib29rS2VlcGluZy5uYXRpdmVFdmVudCk7XG4gICAgdmFyIHRvcExldmVsVHlwZSA9IGJvb2tLZWVwaW5nLnRvcExldmVsVHlwZTtcbiAgICB2YXIgbmF0aXZlRXZlbnQgPSBib29rS2VlcGluZy5uYXRpdmVFdmVudDtcbiAgICB2YXIgZXZlbnRTeXN0ZW1GbGFncyA9IGJvb2tLZWVwaW5nLmV2ZW50U3lzdGVtRmxhZ3M7IC8vIElmIHRoaXMgaXMgdGhlIGZpcnN0IGFuY2VzdG9yLCB3ZSBtYXJrIGl0IG9uIHRoZSBzeXN0ZW0gZmxhZ3NcblxuICAgIGlmIChpID09PSAwKSB7XG4gICAgICBldmVudFN5c3RlbUZsYWdzIHw9IElTX0ZJUlNUX0FOQ0VTVE9SO1xuICAgIH1cblxuICAgIHJ1bkV4dHJhY3RlZFBsdWdpbkV2ZW50c0luQmF0Y2godG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgZXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRXZlbnRGb3JMZWdhY3lQbHVnaW5FdmVudFN5c3RlbSh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0KSB7XG4gIHZhciBib29rS2VlcGluZyA9IGdldFRvcExldmVsQ2FsbGJhY2tCb29rS2VlcGluZyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50LCB0YXJnZXRJbnN0LCBldmVudFN5c3RlbUZsYWdzKTtcblxuICB0cnkge1xuICAgIC8vIEV2ZW50IHF1ZXVlIGJlaW5nIHByb2Nlc3NlZCBpbiB0aGUgc2FtZSBjeWNsZSBhbGxvd3NcbiAgICAvLyBgcHJldmVudERlZmF1bHRgLlxuICAgIGJhdGNoZWRFdmVudFVwZGF0ZXMoaGFuZGxlVG9wTGV2ZWwsIGJvb2tLZWVwaW5nKTtcbiAgfSBmaW5hbGx5IHtcbiAgICByZWxlYXNlVG9wTGV2ZWxDYWxsYmFja0Jvb2tLZWVwaW5nKGJvb2tLZWVwaW5nKTtcbiAgfVxufVxuLyoqXG4gKiBXZSBsaXN0ZW4gZm9yIGJ1YmJsZWQgdG91Y2ggZXZlbnRzIG9uIHRoZSBkb2N1bWVudCBvYmplY3QuXG4gKlxuICogRmlyZWZveCB2OC4wMSAoYW5kIHBvc3NpYmx5IG90aGVycykgZXhoaWJpdGVkIHN0cmFuZ2UgYmVoYXZpb3Igd2hlblxuICogbW91bnRpbmcgYG9ubW91c2Vtb3ZlYCBldmVudHMgYXQgc29tZSBub2RlIHRoYXQgd2FzIG5vdCB0aGUgZG9jdW1lbnRcbiAqIGVsZW1lbnQuIFRoZSBzeW1wdG9tcyB3ZXJlIHRoYXQgaWYgeW91ciBtb3VzZSBpcyBub3QgbW92aW5nIG92ZXIgc29tZXRoaW5nXG4gKiBjb250YWluZWQgd2l0aGluIHRoYXQgbW91bnQgcG9pbnQgKGZvciBleGFtcGxlIG9uIHRoZSBiYWNrZ3JvdW5kKSB0aGVcbiAqIHRvcC1sZXZlbCBsaXN0ZW5lcnMgZm9yIGBvbm1vdXNlbW92ZWAgd29uJ3QgYmUgY2FsbGVkLiBIb3dldmVyLCBpZiB5b3VcbiAqIHJlZ2lzdGVyIHRoZSBgbW91c2Vtb3ZlYCBvbiB0aGUgZG9jdW1lbnQgb2JqZWN0LCB0aGVuIGl0IHdpbGwgb2YgY291cnNlXG4gKiBjYXRjaCBhbGwgYG1vdXNlbW92ZWBzLiBUaGlzIGFsb25nIHdpdGggaU9TIHF1aXJrcywganVzdGlmaWVzIHJlc3RyaWN0aW5nXG4gKiB0b3AtbGV2ZWwgbGlzdGVuZXJzIHRvIHRoZSBkb2N1bWVudCBvYmplY3Qgb25seSwgYXQgbGVhc3QgZm9yIHRoZXNlXG4gKiBtb3ZlbWVudCB0eXBlcyBvZiBldmVudHMgYW5kIHBvc3NpYmx5IGFsbCBldmVudHMuXG4gKlxuICogQHNlZSBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxMC8wOS9jbGlja19ldmVudF9kZWwuaHRtbFxuICpcbiAqIEFsc28sIGBrZXl1cGAvYGtleXByZXNzYC9ga2V5ZG93bmAgZG8gbm90IGJ1YmJsZSB0byB0aGUgd2luZG93IG9uIElFLCBidXRcbiAqIHRoZXkgYnViYmxlIHRvIGRvY3VtZW50LlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSByZWdpc3RyYXRpb25OYW1lIE5hbWUgb2YgbGlzdGVuZXIgKGUuZy4gYG9uQ2xpY2tgKS5cbiAqIEBwYXJhbSB7b2JqZWN0fSBtb3VudEF0IENvbnRhaW5lciB3aGVyZSB0byBtb3VudCB0aGUgbGlzdGVuZXJcbiAqL1xuXG5mdW5jdGlvbiBsZWdhY3lMaXN0ZW5Ub0V2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIG1vdW50QXQpIHtcbiAgdmFyIGxpc3RlbmVyTWFwID0gZ2V0TGlzdGVuZXJNYXBGb3JFbGVtZW50KG1vdW50QXQpO1xuICB2YXIgZGVwZW5kZW5jaWVzID0gcmVnaXN0cmF0aW9uTmFtZURlcGVuZGVuY2llc1tyZWdpc3RyYXRpb25OYW1lXTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRlcGVuZGVuY2llcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBkZXBlbmRlbmN5ID0gZGVwZW5kZW5jaWVzW2ldO1xuICAgIGxlZ2FjeUxpc3RlblRvVG9wTGV2ZWxFdmVudChkZXBlbmRlbmN5LCBtb3VudEF0LCBsaXN0ZW5lck1hcCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGxlZ2FjeUxpc3RlblRvVG9wTGV2ZWxFdmVudCh0b3BMZXZlbFR5cGUsIG1vdW50QXQsIGxpc3RlbmVyTWFwKSB7XG4gIGlmICghbGlzdGVuZXJNYXAuaGFzKHRvcExldmVsVHlwZSkpIHtcbiAgICBzd2l0Y2ggKHRvcExldmVsVHlwZSkge1xuICAgICAgY2FzZSBUT1BfU0NST0xMOlxuICAgICAgICB0cmFwQ2FwdHVyZWRFdmVudChUT1BfU0NST0xMLCBtb3VudEF0KTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxuICAgICAgY2FzZSBUT1BfQkxVUjpcbiAgICAgICAgdHJhcENhcHR1cmVkRXZlbnQoVE9QX0ZPQ1VTLCBtb3VudEF0KTtcbiAgICAgICAgdHJhcENhcHR1cmVkRXZlbnQoVE9QX0JMVVIsIG1vdW50QXQpOyAvLyBXZSBzZXQgdGhlIGZsYWcgZm9yIGEgc2luZ2xlIGRlcGVuZGVuY3kgbGF0ZXIgaW4gdGhpcyBmdW5jdGlvbixcbiAgICAgICAgLy8gYnV0IHRoaXMgZW5zdXJlcyB3ZSBtYXJrIGJvdGggYXMgYXR0YWNoZWQgcmF0aGVyIHRoYW4ganVzdCBvbmUuXG5cbiAgICAgICAgbGlzdGVuZXJNYXAuc2V0KFRPUF9CTFVSLCBudWxsKTtcbiAgICAgICAgbGlzdGVuZXJNYXAuc2V0KFRPUF9GT0NVUywgbnVsbCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRPUF9DQU5DRUw6XG4gICAgICBjYXNlIFRPUF9DTE9TRTpcbiAgICAgICAgaWYgKGlzRXZlbnRTdXBwb3J0ZWQoZ2V0UmF3RXZlbnROYW1lKHRvcExldmVsVHlwZSkpKSB7XG4gICAgICAgICAgdHJhcENhcHR1cmVkRXZlbnQodG9wTGV2ZWxUeXBlLCBtb3VudEF0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRPUF9JTlZBTElEOlxuICAgICAgY2FzZSBUT1BfU1VCTUlUOlxuICAgICAgY2FzZSBUT1BfUkVTRVQ6XG4gICAgICAgIC8vIFdlIGxpc3RlbiB0byB0aGVtIG9uIHRoZSB0YXJnZXQgRE9NIGVsZW1lbnRzLlxuICAgICAgICAvLyBTb21lIG9mIHRoZW0gYnViYmxlIHNvIHdlIGRvbid0IHdhbnQgdGhlbSB0byBmaXJlIHR3aWNlLlxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gQnkgZGVmYXVsdCwgbGlzdGVuIG9uIHRoZSB0b3AgbGV2ZWwgdG8gYWxsIG5vbi1tZWRpYSBldmVudHMuXG4gICAgICAgIC8vIE1lZGlhIGV2ZW50cyBkb24ndCBidWJibGUgc28gYWRkaW5nIHRoZSBsaXN0ZW5lciB3b3VsZG4ndCBkbyBhbnl0aGluZy5cbiAgICAgICAgdmFyIGlzTWVkaWFFdmVudCA9IG1lZGlhRXZlbnRUeXBlcy5pbmRleE9mKHRvcExldmVsVHlwZSkgIT09IC0xO1xuXG4gICAgICAgIGlmICghaXNNZWRpYUV2ZW50KSB7XG4gICAgICAgICAgdHJhcEJ1YmJsZWRFdmVudCh0b3BMZXZlbFR5cGUsIG1vdW50QXQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbGlzdGVuZXJNYXAuc2V0KHRvcExldmVsVHlwZSwgbnVsbCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGlzTGlzdGVuaW5nVG9BbGxEZXBlbmRlbmNpZXMocmVnaXN0cmF0aW9uTmFtZSwgbW91bnRBdCkge1xuICB2YXIgbGlzdGVuZXJNYXAgPSBnZXRMaXN0ZW5lck1hcEZvckVsZW1lbnQobW91bnRBdCk7XG4gIHZhciBkZXBlbmRlbmNpZXMgPSByZWdpc3RyYXRpb25OYW1lRGVwZW5kZW5jaWVzW3JlZ2lzdHJhdGlvbk5hbWVdO1xuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVwZW5kZW5jaWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmNpZXNbaV07XG5cbiAgICBpZiAoIWxpc3RlbmVyTWFwLmhhcyhkZXBlbmRlbmN5KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG52YXIgYXR0ZW1wdFVzZXJCbG9ja2luZ0h5ZHJhdGlvbjtcbmZ1bmN0aW9uIHNldEF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24oZm4pIHtcbiAgYXR0ZW1wdFVzZXJCbG9ja2luZ0h5ZHJhdGlvbiA9IGZuO1xufVxudmFyIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uO1xuZnVuY3Rpb24gc2V0QXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oZm4pIHtcbiAgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24gPSBmbjtcbn1cbnZhciBhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHk7XG5mdW5jdGlvbiBzZXRBdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkoZm4pIHtcbiAgYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5ID0gZm47XG59IC8vIFRPRE86IFVwZ3JhZGUgdGhpcyBkZWZpbml0aW9uIG9uY2Ugd2UncmUgb24gYSBuZXdlciB2ZXJzaW9uIG9mIEZsb3cgdGhhdFxudmFyIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSBmYWxzZTsgLy8gVGhlIHF1ZXVlIG9mIGRpc2NyZXRlIGV2ZW50cyB0byBiZSByZXBsYXllZC5cblxudmFyIHF1ZXVlZERpc2NyZXRlRXZlbnRzID0gW107IC8vIEluZGljYXRlcyBpZiBhbnkgY29udGludW91cyBldmVudCB0YXJnZXRzIGFyZSBub24tbnVsbCBmb3IgZWFybHkgYmFpbG91dC5cbi8vIGlmIHRoZSBsYXN0IHRhcmdldCB3YXMgZGVoeWRyYXRlZC5cblxudmFyIHF1ZXVlZEZvY3VzID0gbnVsbDtcbnZhciBxdWV1ZWREcmFnID0gbnVsbDtcbnZhciBxdWV1ZWRNb3VzZSA9IG51bGw7IC8vIEZvciBwb2ludGVyIGV2ZW50cyB0aGVyZSBjYW4gYmUgb25lIGxhdGVzdCBldmVudCBwZXIgcG9pbnRlcklkLlxuXG52YXIgcXVldWVkUG9pbnRlcnMgPSBuZXcgTWFwKCk7XG52YXIgcXVldWVkUG9pbnRlckNhcHR1cmVzID0gbmV3IE1hcCgpOyAvLyBXZSBjb3VsZCBjb25zaWRlciByZXBsYXlpbmcgc2VsZWN0aW9uY2hhbmdlIGFuZCB0b3VjaG1vdmVzIHRvby5cblxudmFyIHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0cyA9IFtdO1xuZnVuY3Rpb24gaGFzUXVldWVkRGlzY3JldGVFdmVudHMoKSB7XG4gIHJldHVybiBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5sZW5ndGggPiAwO1xufVxudmFyIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cyA9IFtUT1BfTU9VU0VfRE9XTiwgVE9QX01PVVNFX1VQLCBUT1BfVE9VQ0hfQ0FOQ0VMLCBUT1BfVE9VQ0hfRU5ELCBUT1BfVE9VQ0hfU1RBUlQsIFRPUF9BVVhfQ0xJQ0ssIFRPUF9ET1VCTEVfQ0xJQ0ssIFRPUF9QT0lOVEVSX0NBTkNFTCwgVE9QX1BPSU5URVJfRE9XTiwgVE9QX1BPSU5URVJfVVAsIFRPUF9EUkFHX0VORCwgVE9QX0RSQUdfU1RBUlQsIFRPUF9EUk9QLCBUT1BfQ09NUE9TSVRJT05fRU5ELCBUT1BfQ09NUE9TSVRJT05fU1RBUlQsIFRPUF9LRVlfRE9XTiwgVE9QX0tFWV9QUkVTUywgVE9QX0tFWV9VUCwgVE9QX0lOUFVULCBUT1BfVEVYVF9JTlBVVCwgVE9QX0NMT1NFLCBUT1BfQ0FOQ0VMLCBUT1BfQ09QWSwgVE9QX0NVVCwgVE9QX1BBU1RFLCBUT1BfQ0xJQ0ssIFRPUF9DSEFOR0UsIFRPUF9DT05URVhUX01FTlUsIFRPUF9SRVNFVCwgVE9QX1NVQk1JVF07XG52YXIgY29udGludW91c1JlcGxheWFibGVFdmVudHMgPSBbVE9QX0ZPQ1VTLCBUT1BfQkxVUiwgVE9QX0RSQUdfRU5URVIsIFRPUF9EUkFHX0xFQVZFLCBUT1BfTU9VU0VfT1ZFUiwgVE9QX01PVVNFX09VVCwgVE9QX1BPSU5URVJfT1ZFUiwgVE9QX1BPSU5URVJfT1VULCBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRSwgVE9QX0xPU1RfUE9JTlRFUl9DQVBUVVJFXTtcbmZ1bmN0aW9uIGlzUmVwbGF5YWJsZURpc2NyZXRlRXZlbnQoZXZlbnRUeXBlKSB7XG4gIHJldHVybiBkaXNjcmV0ZVJlcGxheWFibGVFdmVudHMuaW5kZXhPZihldmVudFR5cGUpID4gLTE7XG59XG5cbmZ1bmN0aW9uIHRyYXBSZXBsYXlhYmxlRXZlbnRGb3JEb2N1bWVudCh0b3BMZXZlbFR5cGUsIGRvY3VtZW50LCBsaXN0ZW5lck1hcCkge1xuICBsZWdhY3lMaXN0ZW5Ub1RvcExldmVsRXZlbnQodG9wTGV2ZWxUeXBlLCBkb2N1bWVudCwgbGlzdGVuZXJNYXApO1xufVxuXG5mdW5jdGlvbiBlYWdlcmx5VHJhcFJlcGxheWFibGVFdmVudHMoY29udGFpbmVyLCBkb2N1bWVudCkge1xuICB2YXIgbGlzdGVuZXJNYXBGb3JEb2MgPSBnZXRMaXN0ZW5lck1hcEZvckVsZW1lbnQoZG9jdW1lbnQpOyAvLyBEaXNjcmV0ZVxuXG4gIGRpc2NyZXRlUmVwbGF5YWJsZUV2ZW50cy5mb3JFYWNoKGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUpIHtcbiAgICB0cmFwUmVwbGF5YWJsZUV2ZW50Rm9yRG9jdW1lbnQodG9wTGV2ZWxUeXBlLCBkb2N1bWVudCwgbGlzdGVuZXJNYXBGb3JEb2MpO1xuICB9KTsgLy8gQ29udGludW91c1xuXG4gIGNvbnRpbnVvdXNSZXBsYXlhYmxlRXZlbnRzLmZvckVhY2goZnVuY3Rpb24gKHRvcExldmVsVHlwZSkge1xuICAgIHRyYXBSZXBsYXlhYmxlRXZlbnRGb3JEb2N1bWVudCh0b3BMZXZlbFR5cGUsIGRvY3VtZW50LCBsaXN0ZW5lck1hcEZvckRvYyk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgcmV0dXJuIHtcbiAgICBibG9ja2VkT246IGJsb2NrZWRPbixcbiAgICB0b3BMZXZlbFR5cGU6IHRvcExldmVsVHlwZSxcbiAgICBldmVudFN5c3RlbUZsYWdzOiBldmVudFN5c3RlbUZsYWdzIHwgSVNfUkVQTEFZRUQsXG4gICAgbmF0aXZlRXZlbnQ6IG5hdGl2ZUV2ZW50LFxuICAgIGNvbnRhaW5lcjogY29udGFpbmVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIHF1ZXVlRGlzY3JldGVFdmVudChibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5wdXNoKHF1ZXVlZEV2ZW50KTtcbn0gLy8gUmVzZXRzIHRoZSByZXBsYXlpbmcgZm9yIHRoaXMgdHlwZSBvZiBjb250aW51b3VzIGV2ZW50IHRvIG5vIGV2ZW50LlxuXG5mdW5jdGlvbiBjbGVhcklmQ29udGludW91c0V2ZW50KHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpIHtcbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcbiAgICBjYXNlIFRPUF9GT0NVUzpcbiAgICBjYXNlIFRPUF9CTFVSOlxuICAgICAgcXVldWVkRm9jdXMgPSBudWxsO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlIFRPUF9EUkFHX0VOVEVSOlxuICAgIGNhc2UgVE9QX0RSQUdfTEVBVkU6XG4gICAgICBxdWV1ZWREcmFnID0gbnVsbDtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcbiAgICBjYXNlIFRPUF9NT1VTRV9PVVQ6XG4gICAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgVE9QX1BPSU5URVJfT1ZFUjpcbiAgICBjYXNlIFRPUF9QT0lOVEVSX09VVDpcbiAgICAgIHtcbiAgICAgICAgdmFyIHBvaW50ZXJJZCA9IG5hdGl2ZUV2ZW50LnBvaW50ZXJJZDtcbiAgICAgICAgcXVldWVkUG9pbnRlcnMuZGVsZXRlKHBvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRTpcbiAgICBjYXNlIFRPUF9MT1NUX1BPSU5URVJfQ0FQVFVSRTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVySWQgPSBuYXRpdmVFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5kZWxldGUoX3BvaW50ZXJJZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoZXhpc3RpbmdRdWV1ZWRFdmVudCwgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgaWYgKGV4aXN0aW5nUXVldWVkRXZlbnQgPT09IG51bGwgfHwgZXhpc3RpbmdRdWV1ZWRFdmVudC5uYXRpdmVFdmVudCAhPT0gbmF0aXZlRXZlbnQpIHtcbiAgICB2YXIgcXVldWVkRXZlbnQgPSBjcmVhdGVRdWV1ZWRSZXBsYXlhYmxlRXZlbnQoYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGJsb2NrZWRPbiAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9maWJlcjIgPSBnZXRJbnN0YW5jZUZyb21Ob2RlJDEoYmxvY2tlZE9uKTtcblxuICAgICAgaWYgKF9maWJlcjIgIT09IG51bGwpIHtcbiAgICAgICAgLy8gQXR0ZW1wdCB0byBpbmNyZWFzZSB0aGUgcHJpb3JpdHkgb2YgdGhpcyB0YXJnZXQuXG4gICAgICAgIGF0dGVtcHRDb250aW51b3VzSHlkcmF0aW9uKF9maWJlcjIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBxdWV1ZWRFdmVudDtcbiAgfSAvLyBJZiB3ZSBoYXZlIGFscmVhZHkgcXVldWVkIHRoaXMgZXhhY3QgZXZlbnQsIHRoZW4gaXQncyBiZWNhdXNlXG4gIC8vIHRoZSBkaWZmZXJlbnQgZXZlbnQgc3lzdGVtcyBoYXZlIGRpZmZlcmVudCBET00gZXZlbnQgbGlzdGVuZXJzLlxuICAvLyBXZSBjYW4gYWNjdW11bGF0ZSB0aGUgZmxhZ3MgYW5kIHN0b3JlIGEgc2luZ2xlIGV2ZW50IHRvIGJlXG4gIC8vIHJlcGxheWVkLlxuXG5cbiAgZXhpc3RpbmdRdWV1ZWRFdmVudC5ldmVudFN5c3RlbUZsYWdzIHw9IGV2ZW50U3lzdGVtRmxhZ3M7XG4gIHJldHVybiBleGlzdGluZ1F1ZXVlZEV2ZW50O1xufVxuXG5mdW5jdGlvbiBxdWV1ZUlmQ29udGludW91c0V2ZW50KGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KSB7XG4gIC8vIFRoZXNlIHNldCByZWxhdGVkVGFyZ2V0IHRvIG51bGwgYmVjYXVzZSB0aGUgcmVwbGF5ZWQgZXZlbnQgd2lsbCBiZSB0cmVhdGVkIGFzIGlmIHdlXG4gIC8vIG1vdmVkIGZyb20gb3V0c2lkZSB0aGUgd2luZG93IChubyB0YXJnZXQpIG9udG8gdGhlIHRhcmdldCBvbmNlIGl0IGh5ZHJhdGVzLlxuICAvLyBJbnN0ZWFkIG9mIG11dGF0aW5nIHdlIGNvdWxkIGNsb25lIHRoZSBldmVudC5cbiAgc3dpdGNoICh0b3BMZXZlbFR5cGUpIHtcbiAgICBjYXNlIFRPUF9GT0NVUzpcbiAgICAgIHtcbiAgICAgICAgdmFyIGZvY3VzRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkRm9jdXMgPSBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZEZvY3VzLCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBmb2N1c0V2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlIFRPUF9EUkFHX0VOVEVSOlxuICAgICAge1xuICAgICAgICB2YXIgZHJhZ0V2ZW50ID0gbmF0aXZlRXZlbnQ7XG4gICAgICAgIHF1ZXVlZERyYWcgPSBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZERyYWcsIGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIGRyYWdFdmVudCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcbiAgICAgIHtcbiAgICAgICAgdmFyIG1vdXNlRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgcXVldWVkTW91c2UgPSBhY2N1bXVsYXRlT3JDcmVhdGVDb250aW51b3VzUXVldWVkUmVwbGF5YWJsZUV2ZW50KHF1ZXVlZE1vdXNlLCBibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBtb3VzZUV2ZW50KTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICBjYXNlIFRPUF9QT0lOVEVSX09WRVI6XG4gICAgICB7XG4gICAgICAgIHZhciBwb2ludGVyRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgdmFyIHBvaW50ZXJJZCA9IHBvaW50ZXJFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJzLnNldChwb2ludGVySWQsIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkUG9pbnRlcnMuZ2V0KHBvaW50ZXJJZCkgfHwgbnVsbCwgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgcG9pbnRlckV2ZW50KSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgY2FzZSBUT1BfR09UX1BPSU5URVJfQ0FQVFVSRTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wb2ludGVyRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgICAgICAgdmFyIF9wb2ludGVySWQyID0gX3BvaW50ZXJFdmVudC5wb2ludGVySWQ7XG4gICAgICAgIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5zZXQoX3BvaW50ZXJJZDIsIGFjY3VtdWxhdGVPckNyZWF0ZUNvbnRpbnVvdXNRdWV1ZWRSZXBsYXlhYmxlRXZlbnQocXVldWVkUG9pbnRlckNhcHR1cmVzLmdldChfcG9pbnRlcklkMikgfHwgbnVsbCwgYmxvY2tlZE9uLCB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgX3BvaW50ZXJFdmVudCkpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn0gLy8gQ2hlY2sgaWYgdGhpcyB0YXJnZXQgaXMgdW5ibG9ja2VkLiBSZXR1cm5zIHRydWUgaWYgaXQncyB1bmJsb2NrZWQuXG5cbmZ1bmN0aW9uIGF0dGVtcHRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldChxdWV1ZWRUYXJnZXQpIHtcbiAgLy8gVE9ETzogVGhpcyBmdW5jdGlvbiBzaGFyZXMgYSBsb3Qgb2YgbG9naWMgd2l0aCBhdHRlbXB0VG9EaXNwYXRjaEV2ZW50LlxuICAvLyBUcnkgdG8gdW5pZnkgdGhlbS4gSXQncyBhIGJpdCB0cmlja3kgc2luY2UgaXQgd291bGQgcmVxdWlyZSB0d28gcmV0dXJuXG4gIC8vIHZhbHVlcy5cbiAgdmFyIHRhcmdldEluc3QgPSBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZShxdWV1ZWRUYXJnZXQudGFyZ2V0KTtcblxuICBpZiAodGFyZ2V0SW5zdCAhPT0gbnVsbCkge1xuICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodGFyZ2V0SW5zdCk7XG5cbiAgICBpZiAobmVhcmVzdE1vdW50ZWQgIT09IG51bGwpIHtcbiAgICAgIHZhciB0YWcgPSBuZWFyZXN0TW91bnRlZC50YWc7XG5cbiAgICAgIGlmICh0YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFN1c3BlbnNlSW5zdGFuY2VGcm9tRmliZXIobmVhcmVzdE1vdW50ZWQpO1xuXG4gICAgICAgIGlmIChpbnN0YW5jZSAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlJ3JlIGJsb2NrZWQgb24gaHlkcmF0aW5nIHRoaXMgYm91bmRhcnkuXG4gICAgICAgICAgLy8gSW5jcmVhc2UgaXRzIHByaW9yaXR5LlxuICAgICAgICAgIHF1ZXVlZFRhcmdldC5ibG9ja2VkT24gPSBpbnN0YW5jZTtcbiAgICAgICAgICBTY2hlZHVsZXIudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5KHF1ZXVlZFRhcmdldC5wcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5KG5lYXJlc3RNb3VudGVkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgICB2YXIgcm9vdCA9IG5lYXJlc3RNb3VudGVkLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAocm9vdC5oeWRyYXRlKSB7XG4gICAgICAgICAgcXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9IGdldENvbnRhaW5lckZyb21GaWJlcihuZWFyZXN0TW91bnRlZCk7IC8vIFdlIGRvbid0IGN1cnJlbnRseSBoYXZlIGEgd2F5IHRvIGluY3JlYXNlIHRoZSBwcmlvcml0eSBvZlxuICAgICAgICAgIC8vIGEgcm9vdCBvdGhlciB0aGFuIHN5bmMuXG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkge1xuICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uICE9PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIG5leHRCbG9ja2VkT24gPSBhdHRlbXB0VG9EaXNwYXRjaEV2ZW50KHF1ZXVlZEV2ZW50LnRvcExldmVsVHlwZSwgcXVldWVkRXZlbnQuZXZlbnRTeXN0ZW1GbGFncywgcXVldWVkRXZlbnQuY29udGFpbmVyLCBxdWV1ZWRFdmVudC5uYXRpdmVFdmVudCk7XG5cbiAgaWYgKG5leHRCbG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAvLyBXZSdyZSBzdGlsbCBibG9ja2VkLiBUcnkgYWdhaW4gbGF0ZXIuXG4gICAgdmFyIF9maWJlcjMgPSBnZXRJbnN0YW5jZUZyb21Ob2RlJDEobmV4dEJsb2NrZWRPbik7XG5cbiAgICBpZiAoX2ZpYmVyMyAhPT0gbnVsbCkge1xuICAgICAgYXR0ZW1wdENvbnRpbnVvdXNIeWRyYXRpb24oX2ZpYmVyMyk7XG4gICAgfVxuXG4gICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbmV4dEJsb2NrZWRPbjtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudEluTWFwKHF1ZXVlZEV2ZW50LCBrZXksIG1hcCkge1xuICBpZiAoYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRFdmVudCkpIHtcbiAgICBtYXAuZGVsZXRlKGtleSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVwbGF5VW5ibG9ja2VkRXZlbnRzKCkge1xuICBoYXNTY2hlZHVsZWRSZXBsYXlBdHRlbXB0ID0gZmFsc2U7IC8vIEZpcnN0IHJlcGxheSBkaXNjcmV0ZSBldmVudHMuXG5cbiAgd2hpbGUgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dERpc2NyZXRlRXZlbnQgPSBxdWV1ZWREaXNjcmV0ZUV2ZW50c1swXTtcblxuICAgIGlmIChuZXh0RGlzY3JldGVFdmVudC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICAvLyBJbmNyZWFzZSB0aGUgcHJpb3JpdHkgb2YgdGhpcyBib3VuZGFyeSB0byB1bmJsb2NrXG4gICAgICAvLyB0aGUgbmV4dCBkaXNjcmV0ZSBldmVudC5cbiAgICAgIHZhciBfZmliZXI0ID0gZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKG5leHREaXNjcmV0ZUV2ZW50LmJsb2NrZWRPbik7XG5cbiAgICAgIGlmIChfZmliZXI0ICE9PSBudWxsKSB7XG4gICAgICAgIGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24oX2ZpYmVyNCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBuZXh0QmxvY2tlZE9uID0gYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudChuZXh0RGlzY3JldGVFdmVudC50b3BMZXZlbFR5cGUsIG5leHREaXNjcmV0ZUV2ZW50LmV2ZW50U3lzdGVtRmxhZ3MsIG5leHREaXNjcmV0ZUV2ZW50LmNvbnRhaW5lciwgbmV4dERpc2NyZXRlRXZlbnQubmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKG5leHRCbG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuIFRyeSBhZ2FpbiBsYXRlci5cbiAgICAgIG5leHREaXNjcmV0ZUV2ZW50LmJsb2NrZWRPbiA9IG5leHRCbG9ja2VkT247XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFdlJ3ZlIHN1Y2Nlc3NmdWxseSByZXBsYXllZCB0aGUgZmlyc3QgZXZlbnQuIExldCdzIHRyeSB0aGUgbmV4dCBvbmUuXG4gICAgICBxdWV1ZWREaXNjcmV0ZUV2ZW50cy5zaGlmdCgpO1xuICAgIH1cbiAgfSAvLyBOZXh0IHJlcGxheSBhbnkgY29udGludW91cyBldmVudHMuXG5cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRGb2N1cykpIHtcbiAgICBxdWV1ZWRGb2N1cyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCAmJiBhdHRlbXB0UmVwbGF5Q29udGludW91c1F1ZXVlZEV2ZW50KHF1ZXVlZERyYWcpKSB7XG4gICAgcXVldWVkRHJhZyA9IG51bGw7XG4gIH1cblxuICBpZiAocXVldWVkTW91c2UgIT09IG51bGwgJiYgYXR0ZW1wdFJlcGxheUNvbnRpbnVvdXNRdWV1ZWRFdmVudChxdWV1ZWRNb3VzZSkpIHtcbiAgICBxdWV1ZWRNb3VzZSA9IG51bGw7XG4gIH1cblxuICBxdWV1ZWRQb2ludGVycy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKGF0dGVtcHRSZXBsYXlDb250aW51b3VzUXVldWVkRXZlbnRJbk1hcCk7XG59XG5cbmZ1bmN0aW9uIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWRFdmVudCwgdW5ibG9ja2VkKSB7XG4gIGlmIChxdWV1ZWRFdmVudC5ibG9ja2VkT24gPT09IHVuYmxvY2tlZCkge1xuICAgIHF1ZXVlZEV2ZW50LmJsb2NrZWRPbiA9IG51bGw7XG5cbiAgICBpZiAoIWhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQpIHtcbiAgICAgIGhhc1NjaGVkdWxlZFJlcGxheUF0dGVtcHQgPSB0cnVlOyAvLyBTY2hlZHVsZSBhIGNhbGxiYWNrIHRvIGF0dGVtcHQgcmVwbGF5aW5nIGFzIG1hbnkgZXZlbnRzIGFzIGFyZVxuICAgICAgLy8gbm93IHVuYmxvY2tlZC4gVGhpcyBmaXJzdCBtaWdodCBub3QgYWN0dWFsbHkgYmUgdW5ibG9ja2VkIHlldC5cbiAgICAgIC8vIFdlIGNvdWxkIGNoZWNrIGl0IGVhcmx5IHRvIGF2b2lkIHNjaGVkdWxpbmcgYW4gdW5uZWNlc3NhcnkgY2FsbGJhY2suXG5cbiAgICAgIFNjaGVkdWxlci51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrKFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSwgcmVwbGF5VW5ibG9ja2VkRXZlbnRzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gcmV0cnlJZkJsb2NrZWRPbih1bmJsb2NrZWQpIHtcbiAgLy8gTWFyayBhbnl0aGluZyB0aGF0IHdhcyBibG9ja2VkIG9uIHRoaXMgYXMgbm8gbG9uZ2VyIGJsb2NrZWRcbiAgLy8gYW5kIGVsaWdpYmxlIGZvciBhIHJlcGxheS5cbiAgaWYgKHF1ZXVlZERpc2NyZXRlRXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRGlzY3JldGVFdmVudHNbMF0sIHVuYmxvY2tlZCk7IC8vIFRoaXMgaXMgYSBleHBvbmVudGlhbCBzZWFyY2ggZm9yIGVhY2ggYm91bmRhcnkgdGhhdCBjb21taXRzLiBJIHRoaW5rIGl0J3NcbiAgICAvLyB3b3J0aCBpdCBiZWNhdXNlIHdlIGV4cGVjdCB2ZXJ5IGZldyBkaXNjcmV0ZSBldmVudHMgdG8gcXVldWUgdXAgYW5kIG9uY2VcbiAgICAvLyB3ZSBhcmUgYWN0dWFsbHkgZnVsbHkgdW5ibG9ja2VkIGl0IHdpbGwgYmUgZmFzdCB0byByZXBsYXkgdGhlbS5cblxuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgcXVldWVkRGlzY3JldGVFdmVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBxdWV1ZWRFdmVudCA9IHF1ZXVlZERpc2NyZXRlRXZlbnRzW2ldO1xuXG4gICAgICBpZiAocXVldWVkRXZlbnQuYmxvY2tlZE9uID09PSB1bmJsb2NrZWQpIHtcbiAgICAgICAgcXVldWVkRXZlbnQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocXVldWVkRm9jdXMgIT09IG51bGwpIHtcbiAgICBzY2hlZHVsZUNhbGxiYWNrSWZVbmJsb2NrZWQocXVldWVkRm9jdXMsIHVuYmxvY2tlZCk7XG4gIH1cblxuICBpZiAocXVldWVkRHJhZyAhPT0gbnVsbCkge1xuICAgIHNjaGVkdWxlQ2FsbGJhY2tJZlVuYmxvY2tlZChxdWV1ZWREcmFnLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgaWYgKHF1ZXVlZE1vdXNlICE9PSBudWxsKSB7XG4gICAgc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZE1vdXNlLCB1bmJsb2NrZWQpO1xuICB9XG5cbiAgdmFyIHVuYmxvY2sgPSBmdW5jdGlvbiAocXVldWVkRXZlbnQpIHtcbiAgICByZXR1cm4gc2NoZWR1bGVDYWxsYmFja0lmVW5ibG9ja2VkKHF1ZXVlZEV2ZW50LCB1bmJsb2NrZWQpO1xuICB9O1xuXG4gIHF1ZXVlZFBvaW50ZXJzLmZvckVhY2godW5ibG9jayk7XG4gIHF1ZXVlZFBvaW50ZXJDYXB0dXJlcy5mb3JFYWNoKHVuYmxvY2spO1xuXG4gIGZvciAodmFyIF9pID0gMDsgX2kgPCBxdWV1ZWRFeHBsaWNpdEh5ZHJhdGlvblRhcmdldHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgdmFyIHF1ZXVlZFRhcmdldCA9IHF1ZXVlZEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0c1tfaV07XG5cbiAgICBpZiAocXVldWVkVGFyZ2V0LmJsb2NrZWRPbiA9PT0gdW5ibG9ja2VkKSB7XG4gICAgICBxdWV1ZWRUYXJnZXQuYmxvY2tlZE9uID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICB3aGlsZSAocXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLmxlbmd0aCA+IDApIHtcbiAgICB2YXIgbmV4dEV4cGxpY2l0VGFyZ2V0ID0gcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzWzBdO1xuXG4gICAgaWYgKG5leHRFeHBsaWNpdFRhcmdldC5ibG9ja2VkT24gIT09IG51bGwpIHtcbiAgICAgIC8vIFdlJ3JlIHN0aWxsIGJsb2NrZWQuXG4gICAgICBicmVhaztcbiAgICB9IGVsc2Uge1xuICAgICAgYXR0ZW1wdEV4cGxpY2l0SHlkcmF0aW9uVGFyZ2V0KG5leHRFeHBsaWNpdFRhcmdldCk7XG5cbiAgICAgIGlmIChuZXh0RXhwbGljaXRUYXJnZXQuYmxvY2tlZE9uID09PSBudWxsKSB7XG4gICAgICAgIC8vIFdlJ3JlIHVuYmxvY2tlZC5cbiAgICAgICAgcXVldWVkRXhwbGljaXRIeWRyYXRpb25UYXJnZXRzLnNoaWZ0KCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGFkZEV2ZW50QnViYmxlTGlzdGVuZXIoZWxlbWVudCwgZXZlbnRUeXBlLCBsaXN0ZW5lcikge1xuICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgZmFsc2UpO1xufVxuZnVuY3Rpb24gYWRkRXZlbnRDYXB0dXJlTGlzdGVuZXIoZWxlbWVudCwgZXZlbnRUeXBlLCBsaXN0ZW5lcikge1xuICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBsaXN0ZW5lciwgdHJ1ZSk7XG59XG5cbi8vIGRvIGl0IGluIHR3byBwbGFjZXMsIHdoaWNoIGR1cGxpY2F0ZXMgbG9naWNcbi8vIGFuZCBpbmNyZWFzZXMgdGhlIGJ1bmRsZSBzaXplLCB3ZSBkbyBpdCBhbGxcbi8vIGhlcmUgb25jZS4gSWYgd2UgcmVtb3ZlIG9yIHJlZmFjdG9yIHRoZVxuLy8gU2ltcGxlRXZlbnRQbHVnaW4sIHdlIHNob3VsZCBhbHNvIHJlbW92ZSBvclxuLy8gdXBkYXRlIHRoZSBiZWxvdyBsaW5lLlxuXG52YXIgc2ltcGxlRXZlbnRQbHVnaW5FdmVudFR5cGVzID0ge307XG52YXIgdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnID0gbmV3IE1hcCgpO1xudmFyIGV2ZW50UHJpb3JpdGllcyA9IG5ldyBNYXAoKTsgLy8gV2Ugc3RvcmUgbW9zdCBvZiB0aGUgZXZlbnRzIGluIHRoaXMgbW9kdWxlIGluIHBhaXJzIG9mIHR3byBzdHJpbmdzIHNvIHdlIGNhbiByZS11c2Vcbi8vIHRoZSBjb2RlIHJlcXVpcmVkIHRvIGFwcGx5IHRoZSBzYW1lIGxvZ2ljIGZvciBldmVudCBwcmlvcml0aXphdGlvbiBhbmQgdGhhdCBvZiB0aGVcbi8vIFNpbXBsZUV2ZW50UGx1Z2luLiBUaGlzIGNvbXBsaWNhdGVzIHRoaW5ncyBzbGlnaHRseSwgYnV0IHRoZSBhaW0gaXMgdG8gcmVkdWNlIGNvZGVcbi8vIGR1cGxpY2F0aW9uIChmb3Igd2hpY2ggdGhlcmUgd291bGQgYmUgcXVpdGUgYSBiaXQpLiBGb3IgdGhlIGV2ZW50cyB0aGF0IGFyZSBub3QgbmVlZGVkXG4vLyBmb3IgdGhlIFNpbXBsZUV2ZW50UGx1Z2luIChvdGhlckRpc2NyZXRlRXZlbnRzKSB3ZSBwcm9jZXNzIHRoZW0gc2VwYXJhdGVseSBhcyBhblxuLy8gYXJyYXkgb2YgdG9wIGxldmVsIGV2ZW50cy5cbi8vIExhc3RseSwgd2UgaWdub3JlIHByZXR0aWVyIHNvIHdlIGNhbiBrZWVwIHRoZSBmb3JtYXR0aW5nIHNhbmUuXG4vLyBwcmV0dGllci1pZ25vcmVcblxudmFyIGRpc2NyZXRlRXZlbnRQYWlyc0ZvclNpbXBsZUV2ZW50UGx1Z2luID0gW1RPUF9CTFVSLCAnYmx1cicsIFRPUF9DQU5DRUwsICdjYW5jZWwnLCBUT1BfQ0xJQ0ssICdjbGljaycsIFRPUF9DTE9TRSwgJ2Nsb3NlJywgVE9QX0NPTlRFWFRfTUVOVSwgJ2NvbnRleHRNZW51JywgVE9QX0NPUFksICdjb3B5JywgVE9QX0NVVCwgJ2N1dCcsIFRPUF9BVVhfQ0xJQ0ssICdhdXhDbGljaycsIFRPUF9ET1VCTEVfQ0xJQ0ssICdkb3VibGVDbGljaycsIFRPUF9EUkFHX0VORCwgJ2RyYWdFbmQnLCBUT1BfRFJBR19TVEFSVCwgJ2RyYWdTdGFydCcsIFRPUF9EUk9QLCAnZHJvcCcsIFRPUF9GT0NVUywgJ2ZvY3VzJywgVE9QX0lOUFVULCAnaW5wdXQnLCBUT1BfSU5WQUxJRCwgJ2ludmFsaWQnLCBUT1BfS0VZX0RPV04sICdrZXlEb3duJywgVE9QX0tFWV9QUkVTUywgJ2tleVByZXNzJywgVE9QX0tFWV9VUCwgJ2tleVVwJywgVE9QX01PVVNFX0RPV04sICdtb3VzZURvd24nLCBUT1BfTU9VU0VfVVAsICdtb3VzZVVwJywgVE9QX1BBU1RFLCAncGFzdGUnLCBUT1BfUEFVU0UsICdwYXVzZScsIFRPUF9QTEFZLCAncGxheScsIFRPUF9QT0lOVEVSX0NBTkNFTCwgJ3BvaW50ZXJDYW5jZWwnLCBUT1BfUE9JTlRFUl9ET1dOLCAncG9pbnRlckRvd24nLCBUT1BfUE9JTlRFUl9VUCwgJ3BvaW50ZXJVcCcsIFRPUF9SQVRFX0NIQU5HRSwgJ3JhdGVDaGFuZ2UnLCBUT1BfUkVTRVQsICdyZXNldCcsIFRPUF9TRUVLRUQsICdzZWVrZWQnLCBUT1BfU1VCTUlULCAnc3VibWl0JywgVE9QX1RPVUNIX0NBTkNFTCwgJ3RvdWNoQ2FuY2VsJywgVE9QX1RPVUNIX0VORCwgJ3RvdWNoRW5kJywgVE9QX1RPVUNIX1NUQVJULCAndG91Y2hTdGFydCcsIFRPUF9WT0xVTUVfQ0hBTkdFLCAndm9sdW1lQ2hhbmdlJ107XG52YXIgb3RoZXJEaXNjcmV0ZUV2ZW50cyA9IFtUT1BfQ0hBTkdFLCBUT1BfU0VMRUNUSU9OX0NIQU5HRSwgVE9QX1RFWFRfSU5QVVQsIFRPUF9DT01QT1NJVElPTl9TVEFSVCwgVE9QX0NPTVBPU0lUSU9OX0VORCwgVE9QX0NPTVBPU0lUSU9OX1VQREFURV07IC8vIHByZXR0aWVyLWlnbm9yZVxuXG52YXIgdXNlckJsb2NraW5nUGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiA9IFtUT1BfRFJBRywgJ2RyYWcnLCBUT1BfRFJBR19FTlRFUiwgJ2RyYWdFbnRlcicsIFRPUF9EUkFHX0VYSVQsICdkcmFnRXhpdCcsIFRPUF9EUkFHX0xFQVZFLCAnZHJhZ0xlYXZlJywgVE9QX0RSQUdfT1ZFUiwgJ2RyYWdPdmVyJywgVE9QX01PVVNFX01PVkUsICdtb3VzZU1vdmUnLCBUT1BfTU9VU0VfT1VULCAnbW91c2VPdXQnLCBUT1BfTU9VU0VfT1ZFUiwgJ21vdXNlT3ZlcicsIFRPUF9QT0lOVEVSX01PVkUsICdwb2ludGVyTW92ZScsIFRPUF9QT0lOVEVSX09VVCwgJ3BvaW50ZXJPdXQnLCBUT1BfUE9JTlRFUl9PVkVSLCAncG9pbnRlck92ZXInLCBUT1BfU0NST0xMLCAnc2Nyb2xsJywgVE9QX1RPR0dMRSwgJ3RvZ2dsZScsIFRPUF9UT1VDSF9NT1ZFLCAndG91Y2hNb3ZlJywgVE9QX1dIRUVMLCAnd2hlZWwnXTsgLy8gcHJldHRpZXItaWdub3JlXG5cbnZhciBjb250aW51b3VzUGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiA9IFtUT1BfQUJPUlQsICdhYm9ydCcsIFRPUF9BTklNQVRJT05fRU5ELCAnYW5pbWF0aW9uRW5kJywgVE9QX0FOSU1BVElPTl9JVEVSQVRJT04sICdhbmltYXRpb25JdGVyYXRpb24nLCBUT1BfQU5JTUFUSU9OX1NUQVJULCAnYW5pbWF0aW9uU3RhcnQnLCBUT1BfQ0FOX1BMQVksICdjYW5QbGF5JywgVE9QX0NBTl9QTEFZX1RIUk9VR0gsICdjYW5QbGF5VGhyb3VnaCcsIFRPUF9EVVJBVElPTl9DSEFOR0UsICdkdXJhdGlvbkNoYW5nZScsIFRPUF9FTVBUSUVELCAnZW1wdGllZCcsIFRPUF9FTkNSWVBURUQsICdlbmNyeXB0ZWQnLCBUT1BfRU5ERUQsICdlbmRlZCcsIFRPUF9FUlJPUiwgJ2Vycm9yJywgVE9QX0dPVF9QT0lOVEVSX0NBUFRVUkUsICdnb3RQb2ludGVyQ2FwdHVyZScsIFRPUF9MT0FELCAnbG9hZCcsIFRPUF9MT0FERURfREFUQSwgJ2xvYWRlZERhdGEnLCBUT1BfTE9BREVEX01FVEFEQVRBLCAnbG9hZGVkTWV0YWRhdGEnLCBUT1BfTE9BRF9TVEFSVCwgJ2xvYWRTdGFydCcsIFRPUF9MT1NUX1BPSU5URVJfQ0FQVFVSRSwgJ2xvc3RQb2ludGVyQ2FwdHVyZScsIFRPUF9QTEFZSU5HLCAncGxheWluZycsIFRPUF9QUk9HUkVTUywgJ3Byb2dyZXNzJywgVE9QX1NFRUtJTkcsICdzZWVraW5nJywgVE9QX1NUQUxMRUQsICdzdGFsbGVkJywgVE9QX1NVU1BFTkQsICdzdXNwZW5kJywgVE9QX1RJTUVfVVBEQVRFLCAndGltZVVwZGF0ZScsIFRPUF9UUkFOU0lUSU9OX0VORCwgJ3RyYW5zaXRpb25FbmQnLCBUT1BfV0FJVElORywgJ3dhaXRpbmcnXTtcbi8qKlxuICogVHVybnNcbiAqIFsnYWJvcnQnLCAuLi5dXG4gKiBpbnRvXG4gKiBldmVudFR5cGVzID0ge1xuICogICAnYWJvcnQnOiB7XG4gKiAgICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcbiAqICAgICAgIGJ1YmJsZWQ6ICdvbkFib3J0JyxcbiAqICAgICAgIGNhcHR1cmVkOiAnb25BYm9ydENhcHR1cmUnLFxuICogICAgIH0sXG4gKiAgICAgZGVwZW5kZW5jaWVzOiBbVE9QX0FCT1JUXSxcbiAqICAgfSxcbiAqICAgLi4uXG4gKiB9O1xuICogdG9wTGV2ZWxFdmVudHNUb0Rpc3BhdGNoQ29uZmlnID0gbmV3IE1hcChbXG4gKiAgIFtUT1BfQUJPUlQsIHsgc2FtZUNvbmZpZyB9XSxcbiAqIF0pO1xuICovXG5cbmZ1bmN0aW9uIHByb2Nlc3NTaW1wbGVFdmVudFBsdWdpblBhaXJzQnlQcmlvcml0eShldmVudFR5cGVzLCBwcmlvcml0eSkge1xuICAvLyBBcyB0aGUgZXZlbnQgdHlwZXMgYXJlIGluIHBhaXJzIG9mIHR3bywgd2UgbmVlZCB0byBpdGVyYXRlXG4gIC8vIHRocm91Z2ggaW4gdHdvcy4gVGhlIGV2ZW50cyBhcmUgaW4gcGFpcnMgb2YgdHdvIHRvIHNhdmUgY29kZVxuICAvLyBhbmQgaW1wcm92ZSBpbml0IHBlcmYgb2YgcHJvY2Vzc2luZyB0aGlzIGFycmF5LCBhcyBpdCB3aWxsXG4gIC8vIHJlc3VsdCBpbiBmYXIgZmV3ZXIgb2JqZWN0IGFsbG9jYXRpb25zIGFuZCBwcm9wZXJ0eSBhY2Nlc3Nlc1xuICAvLyBpZiB3ZSBvbmx5IHVzZSB0aHJlZSBhcnJheXMgdG8gcHJvY2VzcyBhbGwgdGhlIGNhdGVnb3JpZXMgb2ZcbiAgLy8gaW5zdGVhZCBvZiB0dXBsZXMuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnRUeXBlcy5sZW5ndGg7IGkgKz0gMikge1xuICAgIHZhciB0b3BFdmVudCA9IGV2ZW50VHlwZXNbaV07XG4gICAgdmFyIGV2ZW50ID0gZXZlbnRUeXBlc1tpICsgMV07XG4gICAgdmFyIGNhcGl0YWxpemVkRXZlbnQgPSBldmVudFswXS50b1VwcGVyQ2FzZSgpICsgZXZlbnQuc2xpY2UoMSk7XG4gICAgdmFyIG9uRXZlbnQgPSAnb24nICsgY2FwaXRhbGl6ZWRFdmVudDtcbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcbiAgICAgICAgYnViYmxlZDogb25FdmVudCxcbiAgICAgICAgY2FwdHVyZWQ6IG9uRXZlbnQgKyAnQ2FwdHVyZSdcbiAgICAgIH0sXG4gICAgICBkZXBlbmRlbmNpZXM6IFt0b3BFdmVudF0sXG4gICAgICBldmVudFByaW9yaXR5OiBwcmlvcml0eVxuICAgIH07XG4gICAgZXZlbnRQcmlvcml0aWVzLnNldCh0b3BFdmVudCwgcHJpb3JpdHkpO1xuICAgIHRvcExldmVsRXZlbnRzVG9EaXNwYXRjaENvbmZpZy5zZXQodG9wRXZlbnQsIGNvbmZpZyk7XG4gICAgc2ltcGxlRXZlbnRQbHVnaW5FdmVudFR5cGVzW2V2ZW50XSA9IGNvbmZpZztcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm9jZXNzVG9wRXZlbnRQYWlyc0J5UHJpb3JpdHkoZXZlbnRUeXBlcywgcHJpb3JpdHkpIHtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgZXZlbnRQcmlvcml0aWVzLnNldChldmVudFR5cGVzW2ldLCBwcmlvcml0eSk7XG4gIH1cbn0gLy8gU2ltcGxlRXZlbnRQbHVnaW5cblxuXG5wcm9jZXNzU2ltcGxlRXZlbnRQbHVnaW5QYWlyc0J5UHJpb3JpdHkoZGlzY3JldGVFdmVudFBhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4sIERpc2NyZXRlRXZlbnQpO1xucHJvY2Vzc1NpbXBsZUV2ZW50UGx1Z2luUGFpcnNCeVByaW9yaXR5KHVzZXJCbG9ja2luZ1BhaXJzRm9yU2ltcGxlRXZlbnRQbHVnaW4sIFVzZXJCbG9ja2luZ0V2ZW50KTtcbnByb2Nlc3NTaW1wbGVFdmVudFBsdWdpblBhaXJzQnlQcmlvcml0eShjb250aW51b3VzUGFpcnNGb3JTaW1wbGVFdmVudFBsdWdpbiwgQ29udGludW91c0V2ZW50KTsgLy8gTm90IHVzZWQgYnkgU2ltcGxlRXZlbnRQbHVnaW5cblxucHJvY2Vzc1RvcEV2ZW50UGFpcnNCeVByaW9yaXR5KG90aGVyRGlzY3JldGVFdmVudHMsIERpc2NyZXRlRXZlbnQpO1xuZnVuY3Rpb24gZ2V0RXZlbnRQcmlvcml0eUZvclBsdWdpblN5c3RlbSh0b3BMZXZlbFR5cGUpIHtcbiAgdmFyIHByaW9yaXR5ID0gZXZlbnRQcmlvcml0aWVzLmdldCh0b3BMZXZlbFR5cGUpOyAvLyBEZWZhdWx0IHRvIGEgQ29udGludW91c0V2ZW50LiBOb3RlOiB3ZSBtaWdodFxuICAvLyB3YW50IHRvIHdhcm4gaWYgd2UgY2FuJ3QgZGV0ZWN0IHRoZSBwcmlvcml0eVxuICAvLyBmb3IgdGhlIGV2ZW50LlxuXG4gIHJldHVybiBwcmlvcml0eSA9PT0gdW5kZWZpbmVkID8gQ29udGludW91c0V2ZW50IDogcHJpb3JpdHk7XG59XG5cbi8vIEludGVudGlvbmFsbHkgbm90IG5hbWVkIGltcG9ydHMgYmVjYXVzZSBSb2xsdXAgd291bGQgdXNlIGR5bmFtaWMgZGlzcGF0Y2ggZm9yXG52YXIgVXNlckJsb2NraW5nUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHksXG4gICAgcnVuV2l0aFByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX3J1bldpdGhQcmlvcml0eTsgLy8gVE9ETzogY2FuIHdlIHN0b3AgZXhwb3J0aW5nIHRoZXNlP1xuXG52YXIgX2VuYWJsZWQgPSB0cnVlO1xuZnVuY3Rpb24gc2V0RW5hYmxlZChlbmFibGVkKSB7XG4gIF9lbmFibGVkID0gISFlbmFibGVkO1xufVxuZnVuY3Rpb24gaXNFbmFibGVkKCkge1xuICByZXR1cm4gX2VuYWJsZWQ7XG59XG5mdW5jdGlvbiB0cmFwQnViYmxlZEV2ZW50KHRvcExldmVsVHlwZSwgZWxlbWVudCkge1xuICB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShlbGVtZW50LCB0b3BMZXZlbFR5cGUsIGZhbHNlKTtcbn1cbmZ1bmN0aW9uIHRyYXBDYXB0dXJlZEV2ZW50KHRvcExldmVsVHlwZSwgZWxlbWVudCkge1xuICB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShlbGVtZW50LCB0b3BMZXZlbFR5cGUsIHRydWUpO1xufVxuXG5mdW5jdGlvbiB0cmFwRXZlbnRGb3JQbHVnaW5FdmVudFN5c3RlbShjb250YWluZXIsIHRvcExldmVsVHlwZSwgY2FwdHVyZSkge1xuICB2YXIgbGlzdGVuZXI7XG5cbiAgc3dpdGNoIChnZXRFdmVudFByaW9yaXR5Rm9yUGx1Z2luU3lzdGVtKHRvcExldmVsVHlwZSkpIHtcbiAgICBjYXNlIERpc2NyZXRlRXZlbnQ6XG4gICAgICBsaXN0ZW5lciA9IGRpc3BhdGNoRGlzY3JldGVFdmVudC5iaW5kKG51bGwsIHRvcExldmVsVHlwZSwgUExVR0lOX0VWRU5UX1NZU1RFTSwgY29udGFpbmVyKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBVc2VyQmxvY2tpbmdFdmVudDpcbiAgICAgIGxpc3RlbmVyID0gZGlzcGF0Y2hVc2VyQmxvY2tpbmdVcGRhdGUuYmluZChudWxsLCB0b3BMZXZlbFR5cGUsIFBMVUdJTl9FVkVOVF9TWVNURU0sIGNvbnRhaW5lcik7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQ29udGludW91c0V2ZW50OlxuICAgIGRlZmF1bHQ6XG4gICAgICBsaXN0ZW5lciA9IGRpc3BhdGNoRXZlbnQuYmluZChudWxsLCB0b3BMZXZlbFR5cGUsIFBMVUdJTl9FVkVOVF9TWVNURU0sIGNvbnRhaW5lcik7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHZhciByYXdFdmVudE5hbWUgPSBnZXRSYXdFdmVudE5hbWUodG9wTGV2ZWxUeXBlKTtcblxuICBpZiAoY2FwdHVyZSkge1xuICAgIGFkZEV2ZW50Q2FwdHVyZUxpc3RlbmVyKGNvbnRhaW5lciwgcmF3RXZlbnROYW1lLCBsaXN0ZW5lcik7XG4gIH0gZWxzZSB7XG4gICAgYWRkRXZlbnRCdWJibGVMaXN0ZW5lcihjb250YWluZXIsIHJhd0V2ZW50TmFtZSwgbGlzdGVuZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRpc3BhdGNoRGlzY3JldGVFdmVudCh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNJZk5lZWRlZChuYXRpdmVFdmVudC50aW1lU3RhbXApO1xuICBkaXNjcmV0ZVVwZGF0ZXMoZGlzcGF0Y2hFdmVudCwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hVc2VyQmxvY2tpbmdVcGRhdGUodG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KSB7XG4gIHJ1bldpdGhQcmlvcml0eShVc2VyQmxvY2tpbmdQcmlvcml0eSwgZGlzcGF0Y2hFdmVudC5iaW5kKG51bGwsIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkpO1xufVxuXG5mdW5jdGlvbiBkaXNwYXRjaEV2ZW50KHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkge1xuICBpZiAoIV9lbmFibGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGhhc1F1ZXVlZERpc2NyZXRlRXZlbnRzKCkgJiYgaXNSZXBsYXlhYmxlRGlzY3JldGVFdmVudCh0b3BMZXZlbFR5cGUpKSB7XG4gICAgLy8gSWYgd2UgYWxyZWFkeSBoYXZlIGEgcXVldWUgb2YgZGlzY3JldGUgZXZlbnRzLCBhbmQgdGhpcyBpcyBhbm90aGVyIGRpc2NyZXRlXG4gICAgLy8gZXZlbnQsIHRoZW4gd2UgY2FuJ3QgZGlzcGF0Y2ggaXQgcmVnYXJkbGVzcyBvZiBpdHMgdGFyZ2V0LCBzaW5jZSB0aGV5XG4gICAgLy8gbmVlZCB0byBkaXNwYXRjaCBpbiBvcmRlci5cbiAgICBxdWV1ZURpc2NyZXRlRXZlbnQobnVsbCwgLy8gRmxhZ3MgdGhhdCB3ZSdyZSBub3QgYWN0dWFsbHkgYmxvY2tlZCBvbiBhbnl0aGluZyBhcyBmYXIgYXMgd2Uga25vdy5cbiAgICB0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBibG9ja2VkT24gPSBhdHRlbXB0VG9EaXNwYXRjaEV2ZW50KHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCk7XG5cbiAgaWYgKGJsb2NrZWRPbiA9PT0gbnVsbCkge1xuICAgIC8vIFdlIHN1Y2Nlc3NmdWxseSBkaXNwYXRjaGVkIHRoaXMgZXZlbnQuXG4gICAgY2xlYXJJZkNvbnRpbnVvdXNFdmVudCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoaXNSZXBsYXlhYmxlRGlzY3JldGVFdmVudCh0b3BMZXZlbFR5cGUpKSB7XG4gICAgLy8gVGhpcyB0aGlzIHRvIGJlIHJlcGxheWVkIGxhdGVyIG9uY2UgdGhlIHRhcmdldCBpcyBhdmFpbGFibGUuXG4gICAgcXVldWVEaXNjcmV0ZUV2ZW50KGJsb2NrZWRPbiwgdG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIsIG5hdGl2ZUV2ZW50KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocXVldWVJZkNvbnRpbnVvdXNFdmVudChibG9ja2VkT24sIHRvcExldmVsVHlwZSwgZXZlbnRTeXN0ZW1GbGFncywgY29udGFpbmVyLCBuYXRpdmVFdmVudCkpIHtcbiAgICByZXR1cm47XG4gIH0gLy8gV2UgbmVlZCB0byBjbGVhciBvbmx5IGlmIHdlIGRpZG4ndCBxdWV1ZSBiZWNhdXNlXG4gIC8vIHF1ZXVlaW5nIGlzIGFjY3VtbXVsYXRpdmUuXG5cblxuICBjbGVhcklmQ29udGludW91c0V2ZW50KHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpOyAvLyBUaGlzIGlzIG5vdCByZXBsYXlhYmxlIHNvIHdlJ2xsIGludm9rZSBpdCBidXQgd2l0aG91dCBhIHRhcmdldCxcbiAgLy8gaW4gY2FzZSB0aGUgZXZlbnQgc3lzdGVtIG5lZWRzIHRvIHRyYWNlIGl0LlxuXG4gIHtcbiAgICBkaXNwYXRjaEV2ZW50Rm9yTGVnYWN5UGx1Z2luRXZlbnRTeXN0ZW0odG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgbnVsbCk7XG4gIH1cbn0gLy8gQXR0ZW1wdCBkaXNwYXRjaGluZyBhbiBldmVudC4gUmV0dXJucyBhIFN1c3BlbnNlSW5zdGFuY2Ugb3IgQ29udGFpbmVyIGlmIGl0J3MgYmxvY2tlZC5cblxuZnVuY3Rpb24gYXR0ZW1wdFRvRGlzcGF0Y2hFdmVudCh0b3BMZXZlbFR5cGUsIGV2ZW50U3lzdGVtRmxhZ3MsIGNvbnRhaW5lciwgbmF0aXZlRXZlbnQpIHtcbiAgLy8gVE9ETzogV2FybiBpZiBfZW5hYmxlZCBpcyBmYWxzZS5cbiAgdmFyIG5hdGl2ZUV2ZW50VGFyZ2V0ID0gZ2V0RXZlbnRUYXJnZXQobmF0aXZlRXZlbnQpO1xuICB2YXIgdGFyZ2V0SW5zdCA9IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcblxuICBpZiAodGFyZ2V0SW5zdCAhPT0gbnVsbCkge1xuICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodGFyZ2V0SW5zdCk7XG5cbiAgICBpZiAobmVhcmVzdE1vdW50ZWQgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgdHJlZSBoYXMgYmVlbiB1bm1vdW50ZWQgYWxyZWFkeS4gRGlzcGF0Y2ggd2l0aG91dCBhIHRhcmdldC5cbiAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YXIgdGFnID0gbmVhcmVzdE1vdW50ZWQudGFnO1xuXG4gICAgICBpZiAodGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBnZXRTdXNwZW5zZUluc3RhbmNlRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICAvLyBRdWV1ZSB0aGUgZXZlbnQgdG8gYmUgcmVwbGF5ZWQgbGF0ZXIuIEFib3J0IGRpc3BhdGNoaW5nIHNpbmNlIHdlXG4gICAgICAgICAgLy8gZG9uJ3Qgd2FudCB0aGlzIGV2ZW50IGRpc3BhdGNoZWQgdHdpY2UgdGhyb3VnaCB0aGUgZXZlbnQgc3lzdGVtLlxuICAgICAgICAgIC8vIFRPRE86IElmIHRoaXMgaXMgdGhlIGZpcnN0IGRpc2NyZXRlIGV2ZW50IGluIHRoZSBxdWV1ZS4gU2NoZWR1bGUgYW4gaW5jcmVhc2VkXG4gICAgICAgICAgLy8gcHJpb3JpdHkgZm9yIHRoaXMgYm91bmRhcnkuXG4gICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgICB9IC8vIFRoaXMgc2hvdWxkbid0IGhhcHBlbiwgc29tZXRoaW5nIHdlbnQgd3JvbmcgYnV0IHRvIGF2b2lkIGJsb2NraW5nXG4gICAgICAgIC8vIHRoZSB3aG9sZSBzeXN0ZW0sIGRpc3BhdGNoIHRoZSBldmVudCB3aXRob3V0IGEgdGFyZ2V0LlxuICAgICAgICAvLyBUT0RPOiBXYXJuLlxuXG5cbiAgICAgICAgdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFJvb3QpIHtcbiAgICAgICAgdmFyIHJvb3QgPSBuZWFyZXN0TW91bnRlZC5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKHJvb3QuaHlkcmF0ZSkge1xuICAgICAgICAgIC8vIElmIHRoaXMgaGFwcGVucyBkdXJpbmcgYSByZXBsYXkgc29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIGl0IG1pZ2h0IGJsb2NrXG4gICAgICAgICAgLy8gdGhlIHdob2xlIHN5c3RlbS5cbiAgICAgICAgICByZXR1cm4gZ2V0Q29udGFpbmVyRnJvbUZpYmVyKG5lYXJlc3RNb3VudGVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmIChuZWFyZXN0TW91bnRlZCAhPT0gdGFyZ2V0SW5zdCkge1xuICAgICAgICAvLyBJZiB3ZSBnZXQgYW4gZXZlbnQgKGV4OiBpbWcgb25sb2FkKSBiZWZvcmUgY29tbWl0dGluZyB0aGF0XG4gICAgICAgIC8vIGNvbXBvbmVudCdzIG1vdW50LCBpZ25vcmUgaXQgZm9yIG5vdyAodGhhdCBpcywgdHJlYXQgaXQgYXMgaWYgaXQgd2FzIGFuXG4gICAgICAgIC8vIGV2ZW50IG9uIGEgbm9uLVJlYWN0IHRyZWUpLiBXZSBtaWdodCBhbHNvIGNvbnNpZGVyIHF1ZXVlaW5nIGV2ZW50cyBhbmRcbiAgICAgICAgLy8gZGlzcGF0Y2hpbmcgdGhlbSBhZnRlciB0aGUgbW91bnQuXG4gICAgICAgIHRhcmdldEluc3QgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBkaXNwYXRjaEV2ZW50Rm9yTGVnYWN5UGx1Z2luRXZlbnRTeXN0ZW0odG9wTGV2ZWxUeXBlLCBldmVudFN5c3RlbUZsYWdzLCBuYXRpdmVFdmVudCwgdGFyZ2V0SW5zdCk7XG4gIH0gLy8gV2UncmUgbm90IGJsb2NrZWQgb24gYW55dGhpbmcuXG5cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gTGlzdCBkZXJpdmVkIGZyb20gR2Vja28gc291cmNlIGNvZGU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi80ZTYzOGVmYzcxL2xheW91dC9zdHlsZS90ZXN0L3Byb3BlcnR5X2RhdGFiYXNlLmpzXG52YXIgc2hvcnRoYW5kVG9Mb25naGFuZCA9IHtcbiAgYW5pbWF0aW9uOiBbJ2FuaW1hdGlvbkRlbGF5JywgJ2FuaW1hdGlvbkRpcmVjdGlvbicsICdhbmltYXRpb25EdXJhdGlvbicsICdhbmltYXRpb25GaWxsTW9kZScsICdhbmltYXRpb25JdGVyYXRpb25Db3VudCcsICdhbmltYXRpb25OYW1lJywgJ2FuaW1hdGlvblBsYXlTdGF0ZScsICdhbmltYXRpb25UaW1pbmdGdW5jdGlvbiddLFxuICBiYWNrZ3JvdW5kOiBbJ2JhY2tncm91bmRBdHRhY2htZW50JywgJ2JhY2tncm91bmRDbGlwJywgJ2JhY2tncm91bmRDb2xvcicsICdiYWNrZ3JvdW5kSW1hZ2UnLCAnYmFja2dyb3VuZE9yaWdpbicsICdiYWNrZ3JvdW5kUG9zaXRpb25YJywgJ2JhY2tncm91bmRQb3NpdGlvblknLCAnYmFja2dyb3VuZFJlcGVhdCcsICdiYWNrZ3JvdW5kU2l6ZSddLFxuICBiYWNrZ3JvdW5kUG9zaXRpb246IFsnYmFja2dyb3VuZFBvc2l0aW9uWCcsICdiYWNrZ3JvdW5kUG9zaXRpb25ZJ10sXG4gIGJvcmRlcjogWydib3JkZXJCb3R0b21Db2xvcicsICdib3JkZXJCb3R0b21TdHlsZScsICdib3JkZXJCb3R0b21XaWR0aCcsICdib3JkZXJJbWFnZU91dHNldCcsICdib3JkZXJJbWFnZVJlcGVhdCcsICdib3JkZXJJbWFnZVNsaWNlJywgJ2JvcmRlckltYWdlU291cmNlJywgJ2JvcmRlckltYWdlV2lkdGgnLCAnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlckxlZnRTdHlsZScsICdib3JkZXJMZWZ0V2lkdGgnLCAnYm9yZGVyUmlnaHRDb2xvcicsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclJpZ2h0V2lkdGgnLCAnYm9yZGVyVG9wQ29sb3InLCAnYm9yZGVyVG9wU3R5bGUnLCAnYm9yZGVyVG9wV2lkdGgnXSxcbiAgYm9yZGVyQmxvY2tFbmQ6IFsnYm9yZGVyQmxvY2tFbmRDb2xvcicsICdib3JkZXJCbG9ja0VuZFN0eWxlJywgJ2JvcmRlckJsb2NrRW5kV2lkdGgnXSxcbiAgYm9yZGVyQmxvY2tTdGFydDogWydib3JkZXJCbG9ja1N0YXJ0Q29sb3InLCAnYm9yZGVyQmxvY2tTdGFydFN0eWxlJywgJ2JvcmRlckJsb2NrU3RhcnRXaWR0aCddLFxuICBib3JkZXJCb3R0b206IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyQm90dG9tV2lkdGgnXSxcbiAgYm9yZGVyQ29sb3I6IFsnYm9yZGVyQm90dG9tQ29sb3InLCAnYm9yZGVyTGVmdENvbG9yJywgJ2JvcmRlclJpZ2h0Q29sb3InLCAnYm9yZGVyVG9wQ29sb3InXSxcbiAgYm9yZGVySW1hZ2U6IFsnYm9yZGVySW1hZ2VPdXRzZXQnLCAnYm9yZGVySW1hZ2VSZXBlYXQnLCAnYm9yZGVySW1hZ2VTbGljZScsICdib3JkZXJJbWFnZVNvdXJjZScsICdib3JkZXJJbWFnZVdpZHRoJ10sXG4gIGJvcmRlcklubGluZUVuZDogWydib3JkZXJJbmxpbmVFbmRDb2xvcicsICdib3JkZXJJbmxpbmVFbmRTdHlsZScsICdib3JkZXJJbmxpbmVFbmRXaWR0aCddLFxuICBib3JkZXJJbmxpbmVTdGFydDogWydib3JkZXJJbmxpbmVTdGFydENvbG9yJywgJ2JvcmRlcklubGluZVN0YXJ0U3R5bGUnLCAnYm9yZGVySW5saW5lU3RhcnRXaWR0aCddLFxuICBib3JkZXJMZWZ0OiBbJ2JvcmRlckxlZnRDb2xvcicsICdib3JkZXJMZWZ0U3R5bGUnLCAnYm9yZGVyTGVmdFdpZHRoJ10sXG4gIGJvcmRlclJhZGl1czogWydib3JkZXJCb3R0b21MZWZ0UmFkaXVzJywgJ2JvcmRlckJvdHRvbVJpZ2h0UmFkaXVzJywgJ2JvcmRlclRvcExlZnRSYWRpdXMnLCAnYm9yZGVyVG9wUmlnaHRSYWRpdXMnXSxcbiAgYm9yZGVyUmlnaHQ6IFsnYm9yZGVyUmlnaHRDb2xvcicsICdib3JkZXJSaWdodFN0eWxlJywgJ2JvcmRlclJpZ2h0V2lkdGgnXSxcbiAgYm9yZGVyU3R5bGU6IFsnYm9yZGVyQm90dG9tU3R5bGUnLCAnYm9yZGVyTGVmdFN0eWxlJywgJ2JvcmRlclJpZ2h0U3R5bGUnLCAnYm9yZGVyVG9wU3R5bGUnXSxcbiAgYm9yZGVyVG9wOiBbJ2JvcmRlclRvcENvbG9yJywgJ2JvcmRlclRvcFN0eWxlJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGJvcmRlcldpZHRoOiBbJ2JvcmRlckJvdHRvbVdpZHRoJywgJ2JvcmRlckxlZnRXaWR0aCcsICdib3JkZXJSaWdodFdpZHRoJywgJ2JvcmRlclRvcFdpZHRoJ10sXG4gIGNvbHVtblJ1bGU6IFsnY29sdW1uUnVsZUNvbG9yJywgJ2NvbHVtblJ1bGVTdHlsZScsICdjb2x1bW5SdWxlV2lkdGgnXSxcbiAgY29sdW1uczogWydjb2x1bW5Db3VudCcsICdjb2x1bW5XaWR0aCddLFxuICBmbGV4OiBbJ2ZsZXhCYXNpcycsICdmbGV4R3JvdycsICdmbGV4U2hyaW5rJ10sXG4gIGZsZXhGbG93OiBbJ2ZsZXhEaXJlY3Rpb24nLCAnZmxleFdyYXAnXSxcbiAgZm9udDogWydmb250RmFtaWx5JywgJ2ZvbnRGZWF0dXJlU2V0dGluZ3MnLCAnZm9udEtlcm5pbmcnLCAnZm9udExhbmd1YWdlT3ZlcnJpZGUnLCAnZm9udFNpemUnLCAnZm9udFNpemVBZGp1c3QnLCAnZm9udFN0cmV0Y2gnLCAnZm9udFN0eWxlJywgJ2ZvbnRWYXJpYW50JywgJ2ZvbnRWYXJpYW50QWx0ZXJuYXRlcycsICdmb250VmFyaWFudENhcHMnLCAnZm9udFZhcmlhbnRFYXN0QXNpYW4nLCAnZm9udFZhcmlhbnRMaWdhdHVyZXMnLCAnZm9udFZhcmlhbnROdW1lcmljJywgJ2ZvbnRWYXJpYW50UG9zaXRpb24nLCAnZm9udFdlaWdodCcsICdsaW5lSGVpZ2h0J10sXG4gIGZvbnRWYXJpYW50OiBbJ2ZvbnRWYXJpYW50QWx0ZXJuYXRlcycsICdmb250VmFyaWFudENhcHMnLCAnZm9udFZhcmlhbnRFYXN0QXNpYW4nLCAnZm9udFZhcmlhbnRMaWdhdHVyZXMnLCAnZm9udFZhcmlhbnROdW1lcmljJywgJ2ZvbnRWYXJpYW50UG9zaXRpb24nXSxcbiAgZ2FwOiBbJ2NvbHVtbkdhcCcsICdyb3dHYXAnXSxcbiAgZ3JpZDogWydncmlkQXV0b0NvbHVtbnMnLCAnZ3JpZEF1dG9GbG93JywgJ2dyaWRBdXRvUm93cycsICdncmlkVGVtcGxhdGVBcmVhcycsICdncmlkVGVtcGxhdGVDb2x1bW5zJywgJ2dyaWRUZW1wbGF0ZVJvd3MnXSxcbiAgZ3JpZEFyZWE6IFsnZ3JpZENvbHVtbkVuZCcsICdncmlkQ29sdW1uU3RhcnQnLCAnZ3JpZFJvd0VuZCcsICdncmlkUm93U3RhcnQnXSxcbiAgZ3JpZENvbHVtbjogWydncmlkQ29sdW1uRW5kJywgJ2dyaWRDb2x1bW5TdGFydCddLFxuICBncmlkQ29sdW1uR2FwOiBbJ2NvbHVtbkdhcCddLFxuICBncmlkR2FwOiBbJ2NvbHVtbkdhcCcsICdyb3dHYXAnXSxcbiAgZ3JpZFJvdzogWydncmlkUm93RW5kJywgJ2dyaWRSb3dTdGFydCddLFxuICBncmlkUm93R2FwOiBbJ3Jvd0dhcCddLFxuICBncmlkVGVtcGxhdGU6IFsnZ3JpZFRlbXBsYXRlQXJlYXMnLCAnZ3JpZFRlbXBsYXRlQ29sdW1ucycsICdncmlkVGVtcGxhdGVSb3dzJ10sXG4gIGxpc3RTdHlsZTogWydsaXN0U3R5bGVJbWFnZScsICdsaXN0U3R5bGVQb3NpdGlvbicsICdsaXN0U3R5bGVUeXBlJ10sXG4gIG1hcmdpbjogWydtYXJnaW5Cb3R0b20nLCAnbWFyZ2luTGVmdCcsICdtYXJnaW5SaWdodCcsICdtYXJnaW5Ub3AnXSxcbiAgbWFya2VyOiBbJ21hcmtlckVuZCcsICdtYXJrZXJNaWQnLCAnbWFya2VyU3RhcnQnXSxcbiAgbWFzazogWydtYXNrQ2xpcCcsICdtYXNrQ29tcG9zaXRlJywgJ21hc2tJbWFnZScsICdtYXNrTW9kZScsICdtYXNrT3JpZ2luJywgJ21hc2tQb3NpdGlvblgnLCAnbWFza1Bvc2l0aW9uWScsICdtYXNrUmVwZWF0JywgJ21hc2tTaXplJ10sXG4gIG1hc2tQb3NpdGlvbjogWydtYXNrUG9zaXRpb25YJywgJ21hc2tQb3NpdGlvblknXSxcbiAgb3V0bGluZTogWydvdXRsaW5lQ29sb3InLCAnb3V0bGluZVN0eWxlJywgJ291dGxpbmVXaWR0aCddLFxuICBvdmVyZmxvdzogWydvdmVyZmxvd1gnLCAnb3ZlcmZsb3dZJ10sXG4gIHBhZGRpbmc6IFsncGFkZGluZ0JvdHRvbScsICdwYWRkaW5nTGVmdCcsICdwYWRkaW5nUmlnaHQnLCAncGFkZGluZ1RvcCddLFxuICBwbGFjZUNvbnRlbnQ6IFsnYWxpZ25Db250ZW50JywgJ2p1c3RpZnlDb250ZW50J10sXG4gIHBsYWNlSXRlbXM6IFsnYWxpZ25JdGVtcycsICdqdXN0aWZ5SXRlbXMnXSxcbiAgcGxhY2VTZWxmOiBbJ2FsaWduU2VsZicsICdqdXN0aWZ5U2VsZiddLFxuICB0ZXh0RGVjb3JhdGlvbjogWyd0ZXh0RGVjb3JhdGlvbkNvbG9yJywgJ3RleHREZWNvcmF0aW9uTGluZScsICd0ZXh0RGVjb3JhdGlvblN0eWxlJ10sXG4gIHRleHRFbXBoYXNpczogWyd0ZXh0RW1waGFzaXNDb2xvcicsICd0ZXh0RW1waGFzaXNTdHlsZSddLFxuICB0cmFuc2l0aW9uOiBbJ3RyYW5zaXRpb25EZWxheScsICd0cmFuc2l0aW9uRHVyYXRpb24nLCAndHJhbnNpdGlvblByb3BlcnR5JywgJ3RyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiddLFxuICB3b3JkV3JhcDogWydvdmVyZmxvd1dyYXAnXVxufTtcblxuLyoqXG4gKiBDU1MgcHJvcGVydGllcyB3aGljaCBhY2NlcHQgbnVtYmVycyBidXQgYXJlIG5vdCBpbiB1bml0cyBvZiBcInB4XCIuXG4gKi9cbnZhciBpc1VuaXRsZXNzTnVtYmVyID0ge1xuICBhbmltYXRpb25JdGVyYXRpb25Db3VudDogdHJ1ZSxcbiAgYm9yZGVySW1hZ2VPdXRzZXQ6IHRydWUsXG4gIGJvcmRlckltYWdlU2xpY2U6IHRydWUsXG4gIGJvcmRlckltYWdlV2lkdGg6IHRydWUsXG4gIGJveEZsZXg6IHRydWUsXG4gIGJveEZsZXhHcm91cDogdHJ1ZSxcbiAgYm94T3JkaW5hbEdyb3VwOiB0cnVlLFxuICBjb2x1bW5Db3VudDogdHJ1ZSxcbiAgY29sdW1uczogdHJ1ZSxcbiAgZmxleDogdHJ1ZSxcbiAgZmxleEdyb3c6IHRydWUsXG4gIGZsZXhQb3NpdGl2ZTogdHJ1ZSxcbiAgZmxleFNocmluazogdHJ1ZSxcbiAgZmxleE5lZ2F0aXZlOiB0cnVlLFxuICBmbGV4T3JkZXI6IHRydWUsXG4gIGdyaWRBcmVhOiB0cnVlLFxuICBncmlkUm93OiB0cnVlLFxuICBncmlkUm93RW5kOiB0cnVlLFxuICBncmlkUm93U3BhbjogdHJ1ZSxcbiAgZ3JpZFJvd1N0YXJ0OiB0cnVlLFxuICBncmlkQ29sdW1uOiB0cnVlLFxuICBncmlkQ29sdW1uRW5kOiB0cnVlLFxuICBncmlkQ29sdW1uU3BhbjogdHJ1ZSxcbiAgZ3JpZENvbHVtblN0YXJ0OiB0cnVlLFxuICBmb250V2VpZ2h0OiB0cnVlLFxuICBsaW5lQ2xhbXA6IHRydWUsXG4gIGxpbmVIZWlnaHQ6IHRydWUsXG4gIG9wYWNpdHk6IHRydWUsXG4gIG9yZGVyOiB0cnVlLFxuICBvcnBoYW5zOiB0cnVlLFxuICB0YWJTaXplOiB0cnVlLFxuICB3aWRvd3M6IHRydWUsXG4gIHpJbmRleDogdHJ1ZSxcbiAgem9vbTogdHJ1ZSxcbiAgLy8gU1ZHLXJlbGF0ZWQgcHJvcGVydGllc1xuICBmaWxsT3BhY2l0eTogdHJ1ZSxcbiAgZmxvb2RPcGFjaXR5OiB0cnVlLFxuICBzdG9wT3BhY2l0eTogdHJ1ZSxcbiAgc3Ryb2tlRGFzaGFycmF5OiB0cnVlLFxuICBzdHJva2VEYXNob2Zmc2V0OiB0cnVlLFxuICBzdHJva2VNaXRlcmxpbWl0OiB0cnVlLFxuICBzdHJva2VPcGFjaXR5OiB0cnVlLFxuICBzdHJva2VXaWR0aDogdHJ1ZVxufTtcbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHByZWZpeCB2ZW5kb3Itc3BlY2lmaWMgcHJlZml4LCBlZzogV2Via2l0XG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IHN0eWxlIG5hbWUsIGVnOiB0cmFuc2l0aW9uRHVyYXRpb25cbiAqIEByZXR1cm4ge3N0cmluZ30gc3R5bGUgbmFtZSBwcmVmaXhlZCB3aXRoIGBwcmVmaXhgLCBwcm9wZXJseSBjYW1lbENhc2VkLCBlZzpcbiAqIFdlYmtpdFRyYW5zaXRpb25EdXJhdGlvblxuICovXG5cbmZ1bmN0aW9uIHByZWZpeEtleShwcmVmaXgsIGtleSkge1xuICByZXR1cm4gcHJlZml4ICsga2V5LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsga2V5LnN1YnN0cmluZygxKTtcbn1cbi8qKlxuICogU3VwcG9ydCBzdHlsZSBuYW1lcyB0aGF0IG1heSBjb21lIHBhc3NlZCBpbiBwcmVmaXhlZCBieSBhZGRpbmcgcGVybXV0YXRpb25zXG4gKiBvZiB2ZW5kb3IgcHJlZml4ZXMuXG4gKi9cblxuXG52YXIgcHJlZml4ZXMgPSBbJ1dlYmtpdCcsICdtcycsICdNb3onLCAnTyddOyAvLyBVc2luZyBPYmplY3Qua2V5cyBoZXJlLCBvciBlbHNlIHRoZSB2YW5pbGxhIGZvci1pbiBsb29wIG1ha2VzIElFOCBnbyBpbnRvIGFuXG4vLyBpbmZpbml0ZSBsb29wLCBiZWNhdXNlIGl0IGl0ZXJhdGVzIG92ZXIgdGhlIG5ld2x5IGFkZGVkIHByb3BzIHRvby5cblxuT2JqZWN0LmtleXMoaXNVbml0bGVzc051bWJlcikuZm9yRWFjaChmdW5jdGlvbiAocHJvcCkge1xuICBwcmVmaXhlcy5mb3JFYWNoKGZ1bmN0aW9uIChwcmVmaXgpIHtcbiAgICBpc1VuaXRsZXNzTnVtYmVyW3ByZWZpeEtleShwcmVmaXgsIHByb3ApXSA9IGlzVW5pdGxlc3NOdW1iZXJbcHJvcF07XG4gIH0pO1xufSk7XG5cbi8qKlxuICogQ29udmVydCBhIHZhbHVlIGludG8gdGhlIHByb3BlciBjc3Mgd3JpdGFibGUgdmFsdWUuIFRoZSBzdHlsZSBuYW1lIGBuYW1lYFxuICogc2hvdWxkIGJlIGxvZ2ljYWwgKG5vIGh5cGhlbnMpLCBhcyBzcGVjaWZpZWRcbiAqIGluIGBDU1NQcm9wZXJ0eS5pc1VuaXRsZXNzTnVtYmVyYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBDU1MgcHJvcGVydHkgbmFtZSBzdWNoIGFzIGB0b3BNYXJnaW5gLlxuICogQHBhcmFtIHsqfSB2YWx1ZSBDU1MgcHJvcGVydHkgdmFsdWUgc3VjaCBhcyBgMTBweGAuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IE5vcm1hbGl6ZWQgc3R5bGUgdmFsdWUgd2l0aCBkaW1lbnNpb25zIGFwcGxpZWQuXG4gKi9cblxuZnVuY3Rpb24gZGFuZ2Vyb3VzU3R5bGVWYWx1ZShuYW1lLCB2YWx1ZSwgaXNDdXN0b21Qcm9wZXJ0eSkge1xuICAvLyBOb3RlIHRoYXQgd2UndmUgcmVtb3ZlZCBlc2NhcGVUZXh0Rm9yQnJvd3NlcigpIGNhbGxzIGhlcmUgc2luY2UgdGhlXG4gIC8vIHdob2xlIHN0cmluZyB3aWxsIGJlIGVzY2FwZWQgd2hlbiB0aGUgYXR0cmlidXRlIGlzIGluamVjdGVkIGludG9cbiAgLy8gdGhlIG1hcmt1cC4gSWYgeW91IHByb3ZpZGUgdW5zYWZlIHVzZXIgZGF0YSBoZXJlIHRoZXkgY2FuIGluamVjdFxuICAvLyBhcmJpdHJhcnkgQ1NTIHdoaWNoIG1heSBiZSBwcm9ibGVtYXRpYyAoSSBjb3VsZG4ndCByZXBybyB0aGlzKTpcbiAgLy8gaHR0cHM6Ly93d3cub3dhc3Aub3JnL2luZGV4LnBocC9YU1NfRmlsdGVyX0V2YXNpb25fQ2hlYXRfU2hlZXRcbiAgLy8gaHR0cDovL3d3dy50aGVzcGFubmVyLmNvLnVrLzIwMDcvMTEvMjYvdWx0aW1hdGUteHNzLWNzcy1pbmplY3Rpb24vXG4gIC8vIFRoaXMgaXMgbm90IGFuIFhTUyBob2xlIGJ1dCBpbnN0ZWFkIGEgcG90ZW50aWFsIENTUyBpbmplY3Rpb24gaXNzdWVcbiAgLy8gd2hpY2ggaGFzIGxlYWQgdG8gYSBncmVhdGVyIGRpc2N1c3Npb24gYWJvdXQgaG93IHdlJ3JlIGdvaW5nIHRvXG4gIC8vIHRydXN0IFVSTHMgbW92aW5nIGZvcndhcmQuIFNlZSAjMjExNTkwMVxuICB2YXIgaXNFbXB0eSA9IHZhbHVlID09IG51bGwgfHwgdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicgfHwgdmFsdWUgPT09ICcnO1xuXG4gIGlmIChpc0VtcHR5KSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgaWYgKCFpc0N1c3RvbVByb3BlcnR5ICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgJiYgdmFsdWUgIT09IDAgJiYgIShpc1VuaXRsZXNzTnVtYmVyLmhhc093blByb3BlcnR5KG5hbWUpICYmIGlzVW5pdGxlc3NOdW1iZXJbbmFtZV0pKSB7XG4gICAgcmV0dXJuIHZhbHVlICsgJ3B4JzsgLy8gUHJlc3VtZXMgaW1wbGljaXQgJ3B4JyBzdWZmaXggZm9yIHVuaXRsZXNzIG51bWJlcnNcbiAgfVxuXG4gIHJldHVybiAoJycgKyB2YWx1ZSkudHJpbSgpO1xufVxuXG52YXIgdXBwZXJjYXNlUGF0dGVybiA9IC8oW0EtWl0pL2c7XG52YXIgbXNQYXR0ZXJuID0gL15tcy0vO1xuLyoqXG4gKiBIeXBoZW5hdGVzIGEgY2FtZWxjYXNlZCBDU1MgcHJvcGVydHkgbmFtZSwgZm9yIGV4YW1wbGU6XG4gKlxuICogICA+IGh5cGhlbmF0ZVN0eWxlTmFtZSgnYmFja2dyb3VuZENvbG9yJylcbiAqICAgPCBcImJhY2tncm91bmQtY29sb3JcIlxuICogICA+IGh5cGhlbmF0ZVN0eWxlTmFtZSgnTW96VHJhbnNpdGlvbicpXG4gKiAgIDwgXCItbW96LXRyYW5zaXRpb25cIlxuICogICA+IGh5cGhlbmF0ZVN0eWxlTmFtZSgnbXNUcmFuc2l0aW9uJylcbiAqICAgPCBcIi1tcy10cmFuc2l0aW9uXCJcbiAqXG4gKiBBcyBNb2Rlcm5penIgc3VnZ2VzdHMgKGh0dHA6Ly9tb2Rlcm5penIuY29tL2RvY3MvI3ByZWZpeGVkKSwgYW4gYG1zYCBwcmVmaXhcbiAqIGlzIGNvbnZlcnRlZCB0byBgLW1zLWAuXG4gKi9cblxuZnVuY3Rpb24gaHlwaGVuYXRlU3R5bGVOYW1lKG5hbWUpIHtcbiAgcmV0dXJuIG5hbWUucmVwbGFjZSh1cHBlcmNhc2VQYXR0ZXJuLCAnLSQxJykudG9Mb3dlckNhc2UoKS5yZXBsYWNlKG1zUGF0dGVybiwgJy1tcy0nKTtcbn1cblxudmFyIHdhcm5WYWxpZFN0eWxlID0gZnVuY3Rpb24gKCkge307XG5cbntcbiAgLy8gJ21zVHJhbnNmb3JtJyBpcyBjb3JyZWN0LCBidXQgdGhlIG90aGVyIHByZWZpeGVzIHNob3VsZCBiZSBjYXBpdGFsaXplZFxuICB2YXIgYmFkVmVuZG9yZWRTdHlsZU5hbWVQYXR0ZXJuID0gL14oPzp3ZWJraXR8bW96fG8pW0EtWl0vO1xuICB2YXIgbXNQYXR0ZXJuJDEgPSAvXi1tcy0vO1xuICB2YXIgaHlwaGVuUGF0dGVybiA9IC8tKC4pL2c7IC8vIHN0eWxlIHZhbHVlcyBzaG91bGRuJ3QgY29udGFpbiBhIHNlbWljb2xvblxuXG4gIHZhciBiYWRTdHlsZVZhbHVlV2l0aFNlbWljb2xvblBhdHRlcm4gPSAvO1xccyokLztcbiAgdmFyIHdhcm5lZFN0eWxlTmFtZXMgPSB7fTtcbiAgdmFyIHdhcm5lZFN0eWxlVmFsdWVzID0ge307XG4gIHZhciB3YXJuZWRGb3JOYU5WYWx1ZSA9IGZhbHNlO1xuICB2YXIgd2FybmVkRm9ySW5maW5pdHlWYWx1ZSA9IGZhbHNlO1xuXG4gIHZhciBjYW1lbGl6ZSA9IGZ1bmN0aW9uIChzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoaHlwaGVuUGF0dGVybiwgZnVuY3Rpb24gKF8sIGNoYXJhY3Rlcikge1xuICAgICAgcmV0dXJuIGNoYXJhY3Rlci50b1VwcGVyQ2FzZSgpO1xuICAgIH0pO1xuICB9O1xuXG4gIHZhciB3YXJuSHlwaGVuYXRlZFN0eWxlTmFtZSA9IGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgaWYgKHdhcm5lZFN0eWxlTmFtZXMuaGFzT3duUHJvcGVydHkobmFtZSkgJiYgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZFN0eWxlTmFtZXNbbmFtZV0gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ1Vuc3VwcG9ydGVkIHN0eWxlIHByb3BlcnR5ICVzLiBEaWQgeW91IG1lYW4gJXM/JywgbmFtZSwgLy8gQXMgQW5kaSBTbWl0aCBzdWdnZXN0c1xuICAgIC8vIChodHRwOi8vd3d3LmFuZGlzbWl0aC5jb20vYmxvZy8yMDEyLzAyL21vZGVybml6ci1wcmVmaXhlZC8pLCBhbiBgLW1zYCBwcmVmaXhcbiAgICAvLyBpcyBjb252ZXJ0ZWQgdG8gbG93ZXJjYXNlIGBtc2AuXG4gICAgY2FtZWxpemUobmFtZS5yZXBsYWNlKG1zUGF0dGVybiQxLCAnbXMtJykpKTtcbiAgfTtcblxuICB2YXIgd2FybkJhZFZlbmRvcmVkU3R5bGVOYW1lID0gZnVuY3Rpb24gKG5hbWUpIHtcbiAgICBpZiAod2FybmVkU3R5bGVOYW1lcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSAmJiB3YXJuZWRTdHlsZU5hbWVzW25hbWVdKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2FybmVkU3R5bGVOYW1lc1tuYW1lXSA9IHRydWU7XG5cbiAgICBlcnJvcignVW5zdXBwb3J0ZWQgdmVuZG9yLXByZWZpeGVkIHN0eWxlIHByb3BlcnR5ICVzLiBEaWQgeW91IG1lYW4gJXM/JywgbmFtZSwgbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSkpO1xuICB9O1xuXG4gIHZhciB3YXJuU3R5bGVWYWx1ZVdpdGhTZW1pY29sb24gPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAod2FybmVkU3R5bGVWYWx1ZXMuaGFzT3duUHJvcGVydHkodmFsdWUpICYmIHdhcm5lZFN0eWxlVmFsdWVzW3ZhbHVlXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZFN0eWxlVmFsdWVzW3ZhbHVlXSA9IHRydWU7XG5cbiAgICBlcnJvcihcIlN0eWxlIHByb3BlcnR5IHZhbHVlcyBzaG91bGRuJ3QgY29udGFpbiBhIHNlbWljb2xvbi4gXCIgKyAnVHJ5IFwiJXM6ICVzXCIgaW5zdGVhZC4nLCBuYW1lLCB2YWx1ZS5yZXBsYWNlKGJhZFN0eWxlVmFsdWVXaXRoU2VtaWNvbG9uUGF0dGVybiwgJycpKTtcbiAgfTtcblxuICB2YXIgd2FyblN0eWxlVmFsdWVJc05hTiA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xuICAgIGlmICh3YXJuZWRGb3JOYU5WYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdhcm5lZEZvck5hTlZhbHVlID0gdHJ1ZTtcblxuICAgIGVycm9yKCdgTmFOYCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciB0aGUgYCVzYCBjc3Mgc3R5bGUgcHJvcGVydHkuJywgbmFtZSk7XG4gIH07XG5cbiAgdmFyIHdhcm5TdHlsZVZhbHVlSXNJbmZpbml0eSA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xuICAgIGlmICh3YXJuZWRGb3JJbmZpbml0eVZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2FybmVkRm9ySW5maW5pdHlWYWx1ZSA9IHRydWU7XG5cbiAgICBlcnJvcignYEluZmluaXR5YCBpcyBhbiBpbnZhbGlkIHZhbHVlIGZvciB0aGUgYCVzYCBjc3Mgc3R5bGUgcHJvcGVydHkuJywgbmFtZSk7XG4gIH07XG5cbiAgd2FyblZhbGlkU3R5bGUgPSBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgICBpZiAobmFtZS5pbmRleE9mKCctJykgPiAtMSkge1xuICAgICAgd2Fybkh5cGhlbmF0ZWRTdHlsZU5hbWUobmFtZSk7XG4gICAgfSBlbHNlIGlmIChiYWRWZW5kb3JlZFN0eWxlTmFtZVBhdHRlcm4udGVzdChuYW1lKSkge1xuICAgICAgd2FybkJhZFZlbmRvcmVkU3R5bGVOYW1lKG5hbWUpO1xuICAgIH0gZWxzZSBpZiAoYmFkU3R5bGVWYWx1ZVdpdGhTZW1pY29sb25QYXR0ZXJuLnRlc3QodmFsdWUpKSB7XG4gICAgICB3YXJuU3R5bGVWYWx1ZVdpdGhTZW1pY29sb24obmFtZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICBpZiAoaXNOYU4odmFsdWUpKSB7XG4gICAgICAgIHdhcm5TdHlsZVZhbHVlSXNOYU4obmFtZSwgdmFsdWUpO1xuICAgICAgfSBlbHNlIGlmICghaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgICAgIHdhcm5TdHlsZVZhbHVlSXNJbmZpbml0eShuYW1lLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG52YXIgd2FyblZhbGlkU3R5bGUkMSA9IHdhcm5WYWxpZFN0eWxlO1xuXG4vKipcbiAqIE9wZXJhdGlvbnMgZm9yIGRlYWxpbmcgd2l0aCBDU1MgcHJvcGVydGllcy5cbiAqL1xuXG4vKipcbiAqIFRoaXMgY3JlYXRlcyBhIHN0cmluZyB0aGF0IGlzIGV4cGVjdGVkIHRvIGJlIGVxdWl2YWxlbnQgdG8gdGhlIHN0eWxlXG4gKiBhdHRyaWJ1dGUgZ2VuZXJhdGVkIGJ5IHNlcnZlci1zaWRlIHJlbmRlcmluZy4gSXQgYnktcGFzc2VzIHdhcm5pbmdzIGFuZFxuICogc2VjdXJpdHkgY2hlY2tzIHNvIGl0J3Mgbm90IHNhZmUgdG8gdXNlIHRoaXMgdmFsdWUgZm9yIGFueXRoaW5nIG90aGVyIHRoYW5cbiAqIGNvbXBhcmlzb24uIEl0IGlzIG9ubHkgdXNlZCBpbiBERVYgZm9yIFNTUiB2YWxpZGF0aW9uLlxuICovXG5cbmZ1bmN0aW9uIGNyZWF0ZURhbmdlcm91c1N0cmluZ0ZvclN0eWxlcyhzdHlsZXMpIHtcbiAge1xuICAgIHZhciBzZXJpYWxpemVkID0gJyc7XG4gICAgdmFyIGRlbGltaXRlciA9ICcnO1xuXG4gICAgZm9yICh2YXIgc3R5bGVOYW1lIGluIHN0eWxlcykge1xuICAgICAgaWYgKCFzdHlsZXMuaGFzT3duUHJvcGVydHkoc3R5bGVOYW1lKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgdmFyIHN0eWxlVmFsdWUgPSBzdHlsZXNbc3R5bGVOYW1lXTtcblxuICAgICAgaWYgKHN0eWxlVmFsdWUgIT0gbnVsbCkge1xuICAgICAgICB2YXIgaXNDdXN0b21Qcm9wZXJ0eSA9IHN0eWxlTmFtZS5pbmRleE9mKCctLScpID09PSAwO1xuICAgICAgICBzZXJpYWxpemVkICs9IGRlbGltaXRlciArIChpc0N1c3RvbVByb3BlcnR5ID8gc3R5bGVOYW1lIDogaHlwaGVuYXRlU3R5bGVOYW1lKHN0eWxlTmFtZSkpICsgJzonO1xuICAgICAgICBzZXJpYWxpemVkICs9IGRhbmdlcm91c1N0eWxlVmFsdWUoc3R5bGVOYW1lLCBzdHlsZVZhbHVlLCBpc0N1c3RvbVByb3BlcnR5KTtcbiAgICAgICAgZGVsaW1pdGVyID0gJzsnO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzZXJpYWxpemVkIHx8IG51bGw7XG4gIH1cbn1cbi8qKlxuICogU2V0cyB0aGUgdmFsdWUgZm9yIG11bHRpcGxlIHN0eWxlcyBvbiBhIG5vZGUuICBJZiBhIHZhbHVlIGlzIHNwZWNpZmllZCBhc1xuICogJycgKGVtcHR5IHN0cmluZyksIHRoZSBjb3JyZXNwb25kaW5nIHN0eWxlIHByb3BlcnR5IHdpbGwgYmUgdW5zZXQuXG4gKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge29iamVjdH0gc3R5bGVzXG4gKi9cblxuZnVuY3Rpb24gc2V0VmFsdWVGb3JTdHlsZXMobm9kZSwgc3R5bGVzKSB7XG4gIHZhciBzdHlsZSA9IG5vZGUuc3R5bGU7XG5cbiAgZm9yICh2YXIgc3R5bGVOYW1lIGluIHN0eWxlcykge1xuICAgIGlmICghc3R5bGVzLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIHZhciBpc0N1c3RvbVByb3BlcnR5ID0gc3R5bGVOYW1lLmluZGV4T2YoJy0tJykgPT09IDA7XG5cbiAgICB7XG4gICAgICBpZiAoIWlzQ3VzdG9tUHJvcGVydHkpIHtcbiAgICAgICAgd2FyblZhbGlkU3R5bGUkMShzdHlsZU5hbWUsIHN0eWxlc1tzdHlsZU5hbWVdKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgc3R5bGVWYWx1ZSA9IGRhbmdlcm91c1N0eWxlVmFsdWUoc3R5bGVOYW1lLCBzdHlsZXNbc3R5bGVOYW1lXSwgaXNDdXN0b21Qcm9wZXJ0eSk7XG5cbiAgICBpZiAoc3R5bGVOYW1lID09PSAnZmxvYXQnKSB7XG4gICAgICBzdHlsZU5hbWUgPSAnY3NzRmxvYXQnO1xuICAgIH1cblxuICAgIGlmIChpc0N1c3RvbVByb3BlcnR5KSB7XG4gICAgICBzdHlsZS5zZXRQcm9wZXJ0eShzdHlsZU5hbWUsIHN0eWxlVmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHlsZVtzdHlsZU5hbWVdID0gc3R5bGVWYWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNWYWx1ZUVtcHR5KHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nIHx8IHZhbHVlID09PSAnJztcbn1cbi8qKlxuICogR2l2ZW4ge2NvbG9yOiAncmVkJywgb3ZlcmZsb3c6ICdoaWRkZW4nfSByZXR1cm5zIHtcbiAqICAgY29sb3I6ICdjb2xvcicsXG4gKiAgIG92ZXJmbG93WDogJ292ZXJmbG93JyxcbiAqICAgb3ZlcmZsb3dZOiAnb3ZlcmZsb3cnLFxuICogfS4gVGhpcyBjYW4gYmUgcmVhZCBhcyBcInRoZSBvdmVyZmxvd1kgcHJvcGVydHkgd2FzIHNldCBieSB0aGUgb3ZlcmZsb3dcbiAqIHNob3J0aGFuZFwiLiBUaGF0IGlzLCB0aGUgdmFsdWVzIGFyZSB0aGUgcHJvcGVydHkgdGhhdCBlYWNoIHdhcyBkZXJpdmVkIGZyb20uXG4gKi9cblxuXG5mdW5jdGlvbiBleHBhbmRTaG9ydGhhbmRNYXAoc3R5bGVzKSB7XG4gIHZhciBleHBhbmRlZCA9IHt9O1xuXG4gIGZvciAodmFyIGtleSBpbiBzdHlsZXMpIHtcbiAgICB2YXIgbG9uZ2hhbmRzID0gc2hvcnRoYW5kVG9Mb25naGFuZFtrZXldIHx8IFtrZXldO1xuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsb25naGFuZHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGV4cGFuZGVkW2xvbmdoYW5kc1tpXV0gPSBrZXk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGV4cGFuZGVkO1xufVxuLyoqXG4gKiBXaGVuIG1peGluZyBzaG9ydGhhbmQgYW5kIGxvbmdoYW5kIHByb3BlcnR5IG5hbWVzLCB3ZSB3YXJuIGR1cmluZyB1cGRhdGVzIGlmXG4gKiB3ZSBleHBlY3QgYW4gaW5jb3JyZWN0IHJlc3VsdCB0byBvY2N1ci4gSW4gcGFydGljdWxhciwgd2Ugd2FybiBmb3I6XG4gKlxuICogVXBkYXRpbmcgYSBzaG9ydGhhbmQgcHJvcGVydHkgKGxvbmdoYW5kIGdldHMgb3ZlcndyaXR0ZW4pOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnQ6ICdiYXonLCBmb250VmFyaWFudDogJ2Jhcid9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnQgPSAnYmF6J1xuICogUmVtb3ZpbmcgYSBzaG9ydGhhbmQgcHJvcGVydHkgKGxvbmdoYW5kIGdldHMgbG9zdCB0b28pOlxuICogICB7Zm9udDogJ2ZvbycsIGZvbnRWYXJpYW50OiAnYmFyJ30gLT4ge2ZvbnRWYXJpYW50OiAnYmFyJ31cbiAqICAgYmVjb21lcyAuc3R5bGUuZm9udCA9ICcnXG4gKiBSZW1vdmluZyBhIGxvbmdoYW5kIHByb3BlcnR5IChzaG91bGQgcmV2ZXJ0IHRvIHNob3J0aGFuZDsgZG9lc24ndCk6XG4gKiAgIHtmb250OiAnZm9vJywgZm9udFZhcmlhbnQ6ICdiYXInfSAtPiB7Zm9udDogJ2Zvbyd9XG4gKiAgIGJlY29tZXMgLnN0eWxlLmZvbnRWYXJpYW50ID0gJydcbiAqL1xuXG5cbmZ1bmN0aW9uIHZhbGlkYXRlU2hvcnRoYW5kUHJvcGVydHlDb2xsaXNpb25JbkRldihzdHlsZVVwZGF0ZXMsIG5leHRTdHlsZXMpIHtcbiAge1xuXG4gICAgaWYgKCFuZXh0U3R5bGVzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGV4cGFuZGVkVXBkYXRlcyA9IGV4cGFuZFNob3J0aGFuZE1hcChzdHlsZVVwZGF0ZXMpO1xuICAgIHZhciBleHBhbmRlZFN0eWxlcyA9IGV4cGFuZFNob3J0aGFuZE1hcChuZXh0U3R5bGVzKTtcbiAgICB2YXIgd2FybmVkQWJvdXQgPSB7fTtcblxuICAgIGZvciAodmFyIGtleSBpbiBleHBhbmRlZFVwZGF0ZXMpIHtcbiAgICAgIHZhciBvcmlnaW5hbEtleSA9IGV4cGFuZGVkVXBkYXRlc1trZXldO1xuICAgICAgdmFyIGNvcnJlY3RPcmlnaW5hbEtleSA9IGV4cGFuZGVkU3R5bGVzW2tleV07XG5cbiAgICAgIGlmIChjb3JyZWN0T3JpZ2luYWxLZXkgJiYgb3JpZ2luYWxLZXkgIT09IGNvcnJlY3RPcmlnaW5hbEtleSkge1xuICAgICAgICB2YXIgd2FybmluZ0tleSA9IG9yaWdpbmFsS2V5ICsgJywnICsgY29ycmVjdE9yaWdpbmFsS2V5O1xuXG4gICAgICAgIGlmICh3YXJuZWRBYm91dFt3YXJuaW5nS2V5XSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgd2FybmVkQWJvdXRbd2FybmluZ0tleV0gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclcyBhIHN0eWxlIHByb3BlcnR5IGR1cmluZyByZXJlbmRlciAoJXMpIHdoZW4gYSAnICsgJ2NvbmZsaWN0aW5nIHByb3BlcnR5IGlzIHNldCAoJXMpIGNhbiBsZWFkIHRvIHN0eWxpbmcgYnVncy4gVG8gJyArIFwiYXZvaWQgdGhpcywgZG9uJ3QgbWl4IHNob3J0aGFuZCBhbmQgbm9uLXNob3J0aGFuZCBwcm9wZXJ0aWVzIFwiICsgJ2ZvciB0aGUgc2FtZSB2YWx1ZTsgaW5zdGVhZCwgcmVwbGFjZSB0aGUgc2hvcnRoYW5kIHdpdGggJyArICdzZXBhcmF0ZSB2YWx1ZXMuJywgaXNWYWx1ZUVtcHR5KHN0eWxlVXBkYXRlc1tvcmlnaW5hbEtleV0pID8gJ1JlbW92aW5nJyA6ICdVcGRhdGluZycsIG9yaWdpbmFsS2V5LCBjb3JyZWN0T3JpZ2luYWxLZXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb3IgSFRNTCwgY2VydGFpbiB0YWdzIHNob3VsZCBvbWl0IHRoZWlyIGNsb3NlIHRhZy4gV2Uga2VlcCBhIHdoaXRlbGlzdCBmb3Jcbi8vIHRob3NlIHNwZWNpYWwtY2FzZSB0YWdzLlxudmFyIG9taXR0ZWRDbG9zZVRhZ3MgPSB7XG4gIGFyZWE6IHRydWUsXG4gIGJhc2U6IHRydWUsXG4gIGJyOiB0cnVlLFxuICBjb2w6IHRydWUsXG4gIGVtYmVkOiB0cnVlLFxuICBocjogdHJ1ZSxcbiAgaW1nOiB0cnVlLFxuICBpbnB1dDogdHJ1ZSxcbiAga2V5Z2VuOiB0cnVlLFxuICBsaW5rOiB0cnVlLFxuICBtZXRhOiB0cnVlLFxuICBwYXJhbTogdHJ1ZSxcbiAgc291cmNlOiB0cnVlLFxuICB0cmFjazogdHJ1ZSxcbiAgd2JyOiB0cnVlIC8vIE5PVEU6IG1lbnVpdGVtJ3MgY2xvc2UgdGFnIHNob3VsZCBiZSBvbWl0dGVkLCBidXQgdGhhdCBjYXVzZXMgcHJvYmxlbXMuXG5cbn07XG5cbi8vIGBvbWl0dGVkQ2xvc2VUYWdzYCBleGNlcHQgdGhhdCBgbWVudWl0ZW1gIHNob3VsZCBzdGlsbCBoYXZlIGl0cyBjbG9zaW5nIHRhZy5cblxudmFyIHZvaWRFbGVtZW50VGFncyA9IF9hc3NpZ24oe1xuICBtZW51aXRlbTogdHJ1ZVxufSwgb21pdHRlZENsb3NlVGFncyk7XG5cbnZhciBIVE1MID0gJ19faHRtbCc7XG52YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQzID0gbnVsbDtcblxue1xuICBSZWFjdERlYnVnQ3VycmVudEZyYW1lJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdERlYnVnQ3VycmVudEZyYW1lO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRWYWxpZFByb3BzKHRhZywgcHJvcHMpIHtcbiAgaWYgKCFwcm9wcykge1xuICAgIHJldHVybjtcbiAgfSAvLyBOb3RlIHRoZSB1c2Ugb2YgYD09YCB3aGljaCBjaGVja3MgZm9yIG51bGwgb3IgdW5kZWZpbmVkLlxuXG5cbiAgaWYgKHZvaWRFbGVtZW50VGFnc1t0YWddKSB7XG4gICAgaWYgKCEocHJvcHMuY2hpbGRyZW4gPT0gbnVsbCAmJiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9PSBudWxsKSkge1xuICAgICAge1xuICAgICAgICB0aHJvdyBFcnJvciggdGFnICsgXCIgaXMgYSB2b2lkIGVsZW1lbnQgdGFnIGFuZCBtdXN0IG5laXRoZXIgaGF2ZSBgY2hpbGRyZW5gIG5vciB1c2UgYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC5cIiArICggUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSQzLmdldFN0YWNrQWRkZW5kdW0oKSApICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9IG51bGwpIHtcbiAgICBpZiAoIShwcm9wcy5jaGlsZHJlbiA9PSBudWxsKSkge1xuICAgICAge1xuICAgICAgICB0aHJvdyBFcnJvciggXCJDYW4gb25seSBzZXQgb25lIG9mIGBjaGlsZHJlbmAgb3IgYHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghKHR5cGVvZiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9PT0gJ29iamVjdCcgJiYgSFRNTCBpbiBwcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCkpIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiYHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYCBtdXN0IGJlIGluIHRoZSBmb3JtIGB7X19odG1sOiAuLi59YC4gUGxlYXNlIHZpc2l0IGh0dHBzOi8vZmIubWUvcmVhY3QtaW52YXJpYW50LWRhbmdlcm91c2x5LXNldC1pbm5lci1odG1sIGZvciBtb3JlIGluZm9ybWF0aW9uLlwiICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAge1xuICAgIGlmICghcHJvcHMuc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nICYmIHByb3BzLmNvbnRlbnRFZGl0YWJsZSAmJiBwcm9wcy5jaGlsZHJlbiAhPSBudWxsKSB7XG4gICAgICBlcnJvcignQSBjb21wb25lbnQgaXMgYGNvbnRlbnRFZGl0YWJsZWAgYW5kIGNvbnRhaW5zIGBjaGlsZHJlbmAgbWFuYWdlZCBieSAnICsgJ1JlYWN0LiBJdCBpcyBub3cgeW91ciByZXNwb25zaWJpbGl0eSB0byBndWFyYW50ZWUgdGhhdCBub25lIG9mICcgKyAndGhvc2Ugbm9kZXMgYXJlIHVuZXhwZWN0ZWRseSBtb2RpZmllZCBvciBkdXBsaWNhdGVkLiBUaGlzIGlzICcgKyAncHJvYmFibHkgbm90IGludGVudGlvbmFsLicpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghKHByb3BzLnN0eWxlID09IG51bGwgfHwgdHlwZW9mIHByb3BzLnN0eWxlID09PSAnb2JqZWN0JykpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJUaGUgYHN0eWxlYCBwcm9wIGV4cGVjdHMgYSBtYXBwaW5nIGZyb20gc3R5bGUgcHJvcGVydGllcyB0byB2YWx1ZXMsIG5vdCBhIHN0cmluZy4gRm9yIGV4YW1wbGUsIHN0eWxlPXt7bWFyZ2luUmlnaHQ6IHNwYWNpbmcgKyAnZW0nfX0gd2hlbiB1c2luZyBKU1guXCIgKyAoIFJlYWN0RGVidWdDdXJyZW50RnJhbWUkMy5nZXRTdGFja0FkZGVuZHVtKCkgKSApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpc0N1c3RvbUNvbXBvbmVudCh0YWdOYW1lLCBwcm9wcykge1xuICBpZiAodGFnTmFtZS5pbmRleE9mKCctJykgPT09IC0xKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBwcm9wcy5pcyA9PT0gJ3N0cmluZyc7XG4gIH1cblxuICBzd2l0Y2ggKHRhZ05hbWUpIHtcbiAgICAvLyBUaGVzZSBhcmUgcmVzZXJ2ZWQgU1ZHIGFuZCBNYXRoTUwgZWxlbWVudHMuXG4gICAgLy8gV2UgZG9uJ3QgbWluZCB0aGlzIHdoaXRlbGlzdCB0b28gbXVjaCBiZWNhdXNlIHdlIGV4cGVjdCBpdCB0byBuZXZlciBncm93LlxuICAgIC8vIFRoZSBhbHRlcm5hdGl2ZSBpcyB0byB0cmFjayB0aGUgbmFtZXNwYWNlIGluIGEgZmV3IHBsYWNlcyB3aGljaCBpcyBjb252b2x1dGVkLlxuICAgIC8vIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJjb21wb25lbnRzL3NwZWMvY3VzdG9tLyNjdXN0b20tZWxlbWVudHMtY29yZS1jb25jZXB0c1xuICAgIGNhc2UgJ2Fubm90YXRpb24teG1sJzpcbiAgICBjYXNlICdjb2xvci1wcm9maWxlJzpcbiAgICBjYXNlICdmb250LWZhY2UnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1zcmMnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS11cmknOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1mb3JtYXQnOlxuICAgIGNhc2UgJ2ZvbnQtZmFjZS1uYW1lJzpcbiAgICBjYXNlICdtaXNzaW5nLWdseXBoJzpcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuXG4vLyBXaGVuIGFkZGluZyBhdHRyaWJ1dGVzIHRvIHRoZSBIVE1MIG9yIFNWRyB3aGl0ZWxpc3QsIGJlIHN1cmUgdG9cbi8vIGFsc28gYWRkIHRoZW0gdG8gdGhpcyBtb2R1bGUgdG8gZW5zdXJlIGNhc2luZyBhbmQgaW5jb3JyZWN0IG5hbWVcbi8vIHdhcm5pbmdzLlxudmFyIHBvc3NpYmxlU3RhbmRhcmROYW1lcyA9IHtcbiAgLy8gSFRNTFxuICBhY2NlcHQ6ICdhY2NlcHQnLFxuICBhY2NlcHRjaGFyc2V0OiAnYWNjZXB0Q2hhcnNldCcsXG4gICdhY2NlcHQtY2hhcnNldCc6ICdhY2NlcHRDaGFyc2V0JyxcbiAgYWNjZXNza2V5OiAnYWNjZXNzS2V5JyxcbiAgYWN0aW9uOiAnYWN0aW9uJyxcbiAgYWxsb3dmdWxsc2NyZWVuOiAnYWxsb3dGdWxsU2NyZWVuJyxcbiAgYWx0OiAnYWx0JyxcbiAgYXM6ICdhcycsXG4gIGFzeW5jOiAnYXN5bmMnLFxuICBhdXRvY2FwaXRhbGl6ZTogJ2F1dG9DYXBpdGFsaXplJyxcbiAgYXV0b2NvbXBsZXRlOiAnYXV0b0NvbXBsZXRlJyxcbiAgYXV0b2NvcnJlY3Q6ICdhdXRvQ29ycmVjdCcsXG4gIGF1dG9mb2N1czogJ2F1dG9Gb2N1cycsXG4gIGF1dG9wbGF5OiAnYXV0b1BsYXknLFxuICBhdXRvc2F2ZTogJ2F1dG9TYXZlJyxcbiAgY2FwdHVyZTogJ2NhcHR1cmUnLFxuICBjZWxscGFkZGluZzogJ2NlbGxQYWRkaW5nJyxcbiAgY2VsbHNwYWNpbmc6ICdjZWxsU3BhY2luZycsXG4gIGNoYWxsZW5nZTogJ2NoYWxsZW5nZScsXG4gIGNoYXJzZXQ6ICdjaGFyU2V0JyxcbiAgY2hlY2tlZDogJ2NoZWNrZWQnLFxuICBjaGlsZHJlbjogJ2NoaWxkcmVuJyxcbiAgY2l0ZTogJ2NpdGUnLFxuICBjbGFzczogJ2NsYXNzTmFtZScsXG4gIGNsYXNzaWQ6ICdjbGFzc0lEJyxcbiAgY2xhc3NuYW1lOiAnY2xhc3NOYW1lJyxcbiAgY29sczogJ2NvbHMnLFxuICBjb2xzcGFuOiAnY29sU3BhbicsXG4gIGNvbnRlbnQ6ICdjb250ZW50JyxcbiAgY29udGVudGVkaXRhYmxlOiAnY29udGVudEVkaXRhYmxlJyxcbiAgY29udGV4dG1lbnU6ICdjb250ZXh0TWVudScsXG4gIGNvbnRyb2xzOiAnY29udHJvbHMnLFxuICBjb250cm9sc2xpc3Q6ICdjb250cm9sc0xpc3QnLFxuICBjb29yZHM6ICdjb29yZHMnLFxuICBjcm9zc29yaWdpbjogJ2Nyb3NzT3JpZ2luJyxcbiAgZGFuZ2Vyb3VzbHlzZXRpbm5lcmh0bWw6ICdkYW5nZXJvdXNseVNldElubmVySFRNTCcsXG4gIGRhdGE6ICdkYXRhJyxcbiAgZGF0ZXRpbWU6ICdkYXRlVGltZScsXG4gIGRlZmF1bHQ6ICdkZWZhdWx0JyxcbiAgZGVmYXVsdGNoZWNrZWQ6ICdkZWZhdWx0Q2hlY2tlZCcsXG4gIGRlZmF1bHR2YWx1ZTogJ2RlZmF1bHRWYWx1ZScsXG4gIGRlZmVyOiAnZGVmZXInLFxuICBkaXI6ICdkaXInLFxuICBkaXNhYmxlZDogJ2Rpc2FibGVkJyxcbiAgZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmU6ICdkaXNhYmxlUGljdHVyZUluUGljdHVyZScsXG4gIGRvd25sb2FkOiAnZG93bmxvYWQnLFxuICBkcmFnZ2FibGU6ICdkcmFnZ2FibGUnLFxuICBlbmN0eXBlOiAnZW5jVHlwZScsXG4gIGZvcjogJ2h0bWxGb3InLFxuICBmb3JtOiAnZm9ybScsXG4gIGZvcm1tZXRob2Q6ICdmb3JtTWV0aG9kJyxcbiAgZm9ybWFjdGlvbjogJ2Zvcm1BY3Rpb24nLFxuICBmb3JtZW5jdHlwZTogJ2Zvcm1FbmNUeXBlJyxcbiAgZm9ybW5vdmFsaWRhdGU6ICdmb3JtTm9WYWxpZGF0ZScsXG4gIGZvcm10YXJnZXQ6ICdmb3JtVGFyZ2V0JyxcbiAgZnJhbWVib3JkZXI6ICdmcmFtZUJvcmRlcicsXG4gIGhlYWRlcnM6ICdoZWFkZXJzJyxcbiAgaGVpZ2h0OiAnaGVpZ2h0JyxcbiAgaGlkZGVuOiAnaGlkZGVuJyxcbiAgaGlnaDogJ2hpZ2gnLFxuICBocmVmOiAnaHJlZicsXG4gIGhyZWZsYW5nOiAnaHJlZkxhbmcnLFxuICBodG1sZm9yOiAnaHRtbEZvcicsXG4gIGh0dHBlcXVpdjogJ2h0dHBFcXVpdicsXG4gICdodHRwLWVxdWl2JzogJ2h0dHBFcXVpdicsXG4gIGljb246ICdpY29uJyxcbiAgaWQ6ICdpZCcsXG4gIGlubmVyaHRtbDogJ2lubmVySFRNTCcsXG4gIGlucHV0bW9kZTogJ2lucHV0TW9kZScsXG4gIGludGVncml0eTogJ2ludGVncml0eScsXG4gIGlzOiAnaXMnLFxuICBpdGVtaWQ6ICdpdGVtSUQnLFxuICBpdGVtcHJvcDogJ2l0ZW1Qcm9wJyxcbiAgaXRlbXJlZjogJ2l0ZW1SZWYnLFxuICBpdGVtc2NvcGU6ICdpdGVtU2NvcGUnLFxuICBpdGVtdHlwZTogJ2l0ZW1UeXBlJyxcbiAga2V5cGFyYW1zOiAna2V5UGFyYW1zJyxcbiAga2V5dHlwZTogJ2tleVR5cGUnLFxuICBraW5kOiAna2luZCcsXG4gIGxhYmVsOiAnbGFiZWwnLFxuICBsYW5nOiAnbGFuZycsXG4gIGxpc3Q6ICdsaXN0JyxcbiAgbG9vcDogJ2xvb3AnLFxuICBsb3c6ICdsb3cnLFxuICBtYW5pZmVzdDogJ21hbmlmZXN0JyxcbiAgbWFyZ2lud2lkdGg6ICdtYXJnaW5XaWR0aCcsXG4gIG1hcmdpbmhlaWdodDogJ21hcmdpbkhlaWdodCcsXG4gIG1heDogJ21heCcsXG4gIG1heGxlbmd0aDogJ21heExlbmd0aCcsXG4gIG1lZGlhOiAnbWVkaWEnLFxuICBtZWRpYWdyb3VwOiAnbWVkaWFHcm91cCcsXG4gIG1ldGhvZDogJ21ldGhvZCcsXG4gIG1pbjogJ21pbicsXG4gIG1pbmxlbmd0aDogJ21pbkxlbmd0aCcsXG4gIG11bHRpcGxlOiAnbXVsdGlwbGUnLFxuICBtdXRlZDogJ211dGVkJyxcbiAgbmFtZTogJ25hbWUnLFxuICBub21vZHVsZTogJ25vTW9kdWxlJyxcbiAgbm9uY2U6ICdub25jZScsXG4gIG5vdmFsaWRhdGU6ICdub1ZhbGlkYXRlJyxcbiAgb3BlbjogJ29wZW4nLFxuICBvcHRpbXVtOiAnb3B0aW11bScsXG4gIHBhdHRlcm46ICdwYXR0ZXJuJyxcbiAgcGxhY2Vob2xkZXI6ICdwbGFjZWhvbGRlcicsXG4gIHBsYXlzaW5saW5lOiAncGxheXNJbmxpbmUnLFxuICBwb3N0ZXI6ICdwb3N0ZXInLFxuICBwcmVsb2FkOiAncHJlbG9hZCcsXG4gIHByb2ZpbGU6ICdwcm9maWxlJyxcbiAgcmFkaW9ncm91cDogJ3JhZGlvR3JvdXAnLFxuICByZWFkb25seTogJ3JlYWRPbmx5JyxcbiAgcmVmZXJyZXJwb2xpY3k6ICdyZWZlcnJlclBvbGljeScsXG4gIHJlbDogJ3JlbCcsXG4gIHJlcXVpcmVkOiAncmVxdWlyZWQnLFxuICByZXZlcnNlZDogJ3JldmVyc2VkJyxcbiAgcm9sZTogJ3JvbGUnLFxuICByb3dzOiAncm93cycsXG4gIHJvd3NwYW46ICdyb3dTcGFuJyxcbiAgc2FuZGJveDogJ3NhbmRib3gnLFxuICBzY29wZTogJ3Njb3BlJyxcbiAgc2NvcGVkOiAnc2NvcGVkJyxcbiAgc2Nyb2xsaW5nOiAnc2Nyb2xsaW5nJyxcbiAgc2VhbWxlc3M6ICdzZWFtbGVzcycsXG4gIHNlbGVjdGVkOiAnc2VsZWN0ZWQnLFxuICBzaGFwZTogJ3NoYXBlJyxcbiAgc2l6ZTogJ3NpemUnLFxuICBzaXplczogJ3NpemVzJyxcbiAgc3BhbjogJ3NwYW4nLFxuICBzcGVsbGNoZWNrOiAnc3BlbGxDaGVjaycsXG4gIHNyYzogJ3NyYycsXG4gIHNyY2RvYzogJ3NyY0RvYycsXG4gIHNyY2xhbmc6ICdzcmNMYW5nJyxcbiAgc3Jjc2V0OiAnc3JjU2V0JyxcbiAgc3RhcnQ6ICdzdGFydCcsXG4gIHN0ZXA6ICdzdGVwJyxcbiAgc3R5bGU6ICdzdHlsZScsXG4gIHN1bW1hcnk6ICdzdW1tYXJ5JyxcbiAgdGFiaW5kZXg6ICd0YWJJbmRleCcsXG4gIHRhcmdldDogJ3RhcmdldCcsXG4gIHRpdGxlOiAndGl0bGUnLFxuICB0eXBlOiAndHlwZScsXG4gIHVzZW1hcDogJ3VzZU1hcCcsXG4gIHZhbHVlOiAndmFsdWUnLFxuICB3aWR0aDogJ3dpZHRoJyxcbiAgd21vZGU6ICd3bW9kZScsXG4gIHdyYXA6ICd3cmFwJyxcbiAgLy8gU1ZHXG4gIGFib3V0OiAnYWJvdXQnLFxuICBhY2NlbnRoZWlnaHQ6ICdhY2NlbnRIZWlnaHQnLFxuICAnYWNjZW50LWhlaWdodCc6ICdhY2NlbnRIZWlnaHQnLFxuICBhY2N1bXVsYXRlOiAnYWNjdW11bGF0ZScsXG4gIGFkZGl0aXZlOiAnYWRkaXRpdmUnLFxuICBhbGlnbm1lbnRiYXNlbGluZTogJ2FsaWdubWVudEJhc2VsaW5lJyxcbiAgJ2FsaWdubWVudC1iYXNlbGluZSc6ICdhbGlnbm1lbnRCYXNlbGluZScsXG4gIGFsbG93cmVvcmRlcjogJ2FsbG93UmVvcmRlcicsXG4gIGFscGhhYmV0aWM6ICdhbHBoYWJldGljJyxcbiAgYW1wbGl0dWRlOiAnYW1wbGl0dWRlJyxcbiAgYXJhYmljZm9ybTogJ2FyYWJpY0Zvcm0nLFxuICAnYXJhYmljLWZvcm0nOiAnYXJhYmljRm9ybScsXG4gIGFzY2VudDogJ2FzY2VudCcsXG4gIGF0dHJpYnV0ZW5hbWU6ICdhdHRyaWJ1dGVOYW1lJyxcbiAgYXR0cmlidXRldHlwZTogJ2F0dHJpYnV0ZVR5cGUnLFxuICBhdXRvcmV2ZXJzZTogJ2F1dG9SZXZlcnNlJyxcbiAgYXppbXV0aDogJ2F6aW11dGgnLFxuICBiYXNlZnJlcXVlbmN5OiAnYmFzZUZyZXF1ZW5jeScsXG4gIGJhc2VsaW5lc2hpZnQ6ICdiYXNlbGluZVNoaWZ0JyxcbiAgJ2Jhc2VsaW5lLXNoaWZ0JzogJ2Jhc2VsaW5lU2hpZnQnLFxuICBiYXNlcHJvZmlsZTogJ2Jhc2VQcm9maWxlJyxcbiAgYmJveDogJ2Jib3gnLFxuICBiZWdpbjogJ2JlZ2luJyxcbiAgYmlhczogJ2JpYXMnLFxuICBieTogJ2J5JyxcbiAgY2FsY21vZGU6ICdjYWxjTW9kZScsXG4gIGNhcGhlaWdodDogJ2NhcEhlaWdodCcsXG4gICdjYXAtaGVpZ2h0JzogJ2NhcEhlaWdodCcsXG4gIGNsaXA6ICdjbGlwJyxcbiAgY2xpcHBhdGg6ICdjbGlwUGF0aCcsXG4gICdjbGlwLXBhdGgnOiAnY2xpcFBhdGgnLFxuICBjbGlwcGF0aHVuaXRzOiAnY2xpcFBhdGhVbml0cycsXG4gIGNsaXBydWxlOiAnY2xpcFJ1bGUnLFxuICAnY2xpcC1ydWxlJzogJ2NsaXBSdWxlJyxcbiAgY29sb3I6ICdjb2xvcicsXG4gIGNvbG9yaW50ZXJwb2xhdGlvbjogJ2NvbG9ySW50ZXJwb2xhdGlvbicsXG4gICdjb2xvci1pbnRlcnBvbGF0aW9uJzogJ2NvbG9ySW50ZXJwb2xhdGlvbicsXG4gIGNvbG9yaW50ZXJwb2xhdGlvbmZpbHRlcnM6ICdjb2xvckludGVycG9sYXRpb25GaWx0ZXJzJyxcbiAgJ2NvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyc6ICdjb2xvckludGVycG9sYXRpb25GaWx0ZXJzJyxcbiAgY29sb3Jwcm9maWxlOiAnY29sb3JQcm9maWxlJyxcbiAgJ2NvbG9yLXByb2ZpbGUnOiAnY29sb3JQcm9maWxlJyxcbiAgY29sb3JyZW5kZXJpbmc6ICdjb2xvclJlbmRlcmluZycsXG4gICdjb2xvci1yZW5kZXJpbmcnOiAnY29sb3JSZW5kZXJpbmcnLFxuICBjb250ZW50c2NyaXB0dHlwZTogJ2NvbnRlbnRTY3JpcHRUeXBlJyxcbiAgY29udGVudHN0eWxldHlwZTogJ2NvbnRlbnRTdHlsZVR5cGUnLFxuICBjdXJzb3I6ICdjdXJzb3InLFxuICBjeDogJ2N4JyxcbiAgY3k6ICdjeScsXG4gIGQ6ICdkJyxcbiAgZGF0YXR5cGU6ICdkYXRhdHlwZScsXG4gIGRlY2VsZXJhdGU6ICdkZWNlbGVyYXRlJyxcbiAgZGVzY2VudDogJ2Rlc2NlbnQnLFxuICBkaWZmdXNlY29uc3RhbnQ6ICdkaWZmdXNlQ29uc3RhbnQnLFxuICBkaXJlY3Rpb246ICdkaXJlY3Rpb24nLFxuICBkaXNwbGF5OiAnZGlzcGxheScsXG4gIGRpdmlzb3I6ICdkaXZpc29yJyxcbiAgZG9taW5hbnRiYXNlbGluZTogJ2RvbWluYW50QmFzZWxpbmUnLFxuICAnZG9taW5hbnQtYmFzZWxpbmUnOiAnZG9taW5hbnRCYXNlbGluZScsXG4gIGR1cjogJ2R1cicsXG4gIGR4OiAnZHgnLFxuICBkeTogJ2R5JyxcbiAgZWRnZW1vZGU6ICdlZGdlTW9kZScsXG4gIGVsZXZhdGlvbjogJ2VsZXZhdGlvbicsXG4gIGVuYWJsZWJhY2tncm91bmQ6ICdlbmFibGVCYWNrZ3JvdW5kJyxcbiAgJ2VuYWJsZS1iYWNrZ3JvdW5kJzogJ2VuYWJsZUJhY2tncm91bmQnLFxuICBlbmQ6ICdlbmQnLFxuICBleHBvbmVudDogJ2V4cG9uZW50JyxcbiAgZXh0ZXJuYWxyZXNvdXJjZXNyZXF1aXJlZDogJ2V4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWQnLFxuICBmaWxsOiAnZmlsbCcsXG4gIGZpbGxvcGFjaXR5OiAnZmlsbE9wYWNpdHknLFxuICAnZmlsbC1vcGFjaXR5JzogJ2ZpbGxPcGFjaXR5JyxcbiAgZmlsbHJ1bGU6ICdmaWxsUnVsZScsXG4gICdmaWxsLXJ1bGUnOiAnZmlsbFJ1bGUnLFxuICBmaWx0ZXI6ICdmaWx0ZXInLFxuICBmaWx0ZXJyZXM6ICdmaWx0ZXJSZXMnLFxuICBmaWx0ZXJ1bml0czogJ2ZpbHRlclVuaXRzJyxcbiAgZmxvb2RvcGFjaXR5OiAnZmxvb2RPcGFjaXR5JyxcbiAgJ2Zsb29kLW9wYWNpdHknOiAnZmxvb2RPcGFjaXR5JyxcbiAgZmxvb2Rjb2xvcjogJ2Zsb29kQ29sb3InLFxuICAnZmxvb2QtY29sb3InOiAnZmxvb2RDb2xvcicsXG4gIGZvY3VzYWJsZTogJ2ZvY3VzYWJsZScsXG4gIGZvbnRmYW1pbHk6ICdmb250RmFtaWx5JyxcbiAgJ2ZvbnQtZmFtaWx5JzogJ2ZvbnRGYW1pbHknLFxuICBmb250c2l6ZTogJ2ZvbnRTaXplJyxcbiAgJ2ZvbnQtc2l6ZSc6ICdmb250U2l6ZScsXG4gIGZvbnRzaXplYWRqdXN0OiAnZm9udFNpemVBZGp1c3QnLFxuICAnZm9udC1zaXplLWFkanVzdCc6ICdmb250U2l6ZUFkanVzdCcsXG4gIGZvbnRzdHJldGNoOiAnZm9udFN0cmV0Y2gnLFxuICAnZm9udC1zdHJldGNoJzogJ2ZvbnRTdHJldGNoJyxcbiAgZm9udHN0eWxlOiAnZm9udFN0eWxlJyxcbiAgJ2ZvbnQtc3R5bGUnOiAnZm9udFN0eWxlJyxcbiAgZm9udHZhcmlhbnQ6ICdmb250VmFyaWFudCcsXG4gICdmb250LXZhcmlhbnQnOiAnZm9udFZhcmlhbnQnLFxuICBmb250d2VpZ2h0OiAnZm9udFdlaWdodCcsXG4gICdmb250LXdlaWdodCc6ICdmb250V2VpZ2h0JyxcbiAgZm9ybWF0OiAnZm9ybWF0JyxcbiAgZnJvbTogJ2Zyb20nLFxuICBmeDogJ2Z4JyxcbiAgZnk6ICdmeScsXG4gIGcxOiAnZzEnLFxuICBnMjogJ2cyJyxcbiAgZ2x5cGhuYW1lOiAnZ2x5cGhOYW1lJyxcbiAgJ2dseXBoLW5hbWUnOiAnZ2x5cGhOYW1lJyxcbiAgZ2x5cGhvcmllbnRhdGlvbmhvcml6b250YWw6ICdnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbCcsXG4gICdnbHlwaC1vcmllbnRhdGlvbi1ob3Jpem9udGFsJzogJ2dseXBoT3JpZW50YXRpb25Ib3Jpem9udGFsJyxcbiAgZ2x5cGhvcmllbnRhdGlvbnZlcnRpY2FsOiAnZ2x5cGhPcmllbnRhdGlvblZlcnRpY2FsJyxcbiAgJ2dseXBoLW9yaWVudGF0aW9uLXZlcnRpY2FsJzogJ2dseXBoT3JpZW50YXRpb25WZXJ0aWNhbCcsXG4gIGdseXBocmVmOiAnZ2x5cGhSZWYnLFxuICBncmFkaWVudHRyYW5zZm9ybTogJ2dyYWRpZW50VHJhbnNmb3JtJyxcbiAgZ3JhZGllbnR1bml0czogJ2dyYWRpZW50VW5pdHMnLFxuICBoYW5naW5nOiAnaGFuZ2luZycsXG4gIGhvcml6YWR2eDogJ2hvcml6QWR2WCcsXG4gICdob3Jpei1hZHYteCc6ICdob3JpekFkdlgnLFxuICBob3Jpem9yaWdpbng6ICdob3Jpek9yaWdpblgnLFxuICAnaG9yaXotb3JpZ2luLXgnOiAnaG9yaXpPcmlnaW5YJyxcbiAgaWRlb2dyYXBoaWM6ICdpZGVvZ3JhcGhpYycsXG4gIGltYWdlcmVuZGVyaW5nOiAnaW1hZ2VSZW5kZXJpbmcnLFxuICAnaW1hZ2UtcmVuZGVyaW5nJzogJ2ltYWdlUmVuZGVyaW5nJyxcbiAgaW4yOiAnaW4yJyxcbiAgaW46ICdpbicsXG4gIGlubGlzdDogJ2lubGlzdCcsXG4gIGludGVyY2VwdDogJ2ludGVyY2VwdCcsXG4gIGsxOiAnazEnLFxuICBrMjogJ2syJyxcbiAgazM6ICdrMycsXG4gIGs0OiAnazQnLFxuICBrOiAnaycsXG4gIGtlcm5lbG1hdHJpeDogJ2tlcm5lbE1hdHJpeCcsXG4gIGtlcm5lbHVuaXRsZW5ndGg6ICdrZXJuZWxVbml0TGVuZ3RoJyxcbiAga2VybmluZzogJ2tlcm5pbmcnLFxuICBrZXlwb2ludHM6ICdrZXlQb2ludHMnLFxuICBrZXlzcGxpbmVzOiAna2V5U3BsaW5lcycsXG4gIGtleXRpbWVzOiAna2V5VGltZXMnLFxuICBsZW5ndGhhZGp1c3Q6ICdsZW5ndGhBZGp1c3QnLFxuICBsZXR0ZXJzcGFjaW5nOiAnbGV0dGVyU3BhY2luZycsXG4gICdsZXR0ZXItc3BhY2luZyc6ICdsZXR0ZXJTcGFjaW5nJyxcbiAgbGlnaHRpbmdjb2xvcjogJ2xpZ2h0aW5nQ29sb3InLFxuICAnbGlnaHRpbmctY29sb3InOiAnbGlnaHRpbmdDb2xvcicsXG4gIGxpbWl0aW5nY29uZWFuZ2xlOiAnbGltaXRpbmdDb25lQW5nbGUnLFxuICBsb2NhbDogJ2xvY2FsJyxcbiAgbWFya2VyZW5kOiAnbWFya2VyRW5kJyxcbiAgJ21hcmtlci1lbmQnOiAnbWFya2VyRW5kJyxcbiAgbWFya2VyaGVpZ2h0OiAnbWFya2VySGVpZ2h0JyxcbiAgbWFya2VybWlkOiAnbWFya2VyTWlkJyxcbiAgJ21hcmtlci1taWQnOiAnbWFya2VyTWlkJyxcbiAgbWFya2Vyc3RhcnQ6ICdtYXJrZXJTdGFydCcsXG4gICdtYXJrZXItc3RhcnQnOiAnbWFya2VyU3RhcnQnLFxuICBtYXJrZXJ1bml0czogJ21hcmtlclVuaXRzJyxcbiAgbWFya2Vyd2lkdGg6ICdtYXJrZXJXaWR0aCcsXG4gIG1hc2s6ICdtYXNrJyxcbiAgbWFza2NvbnRlbnR1bml0czogJ21hc2tDb250ZW50VW5pdHMnLFxuICBtYXNrdW5pdHM6ICdtYXNrVW5pdHMnLFxuICBtYXRoZW1hdGljYWw6ICdtYXRoZW1hdGljYWwnLFxuICBtb2RlOiAnbW9kZScsXG4gIG51bW9jdGF2ZXM6ICdudW1PY3RhdmVzJyxcbiAgb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgb3BhY2l0eTogJ29wYWNpdHknLFxuICBvcGVyYXRvcjogJ29wZXJhdG9yJyxcbiAgb3JkZXI6ICdvcmRlcicsXG4gIG9yaWVudDogJ29yaWVudCcsXG4gIG9yaWVudGF0aW9uOiAnb3JpZW50YXRpb24nLFxuICBvcmlnaW46ICdvcmlnaW4nLFxuICBvdmVyZmxvdzogJ292ZXJmbG93JyxcbiAgb3ZlcmxpbmVwb3NpdGlvbjogJ292ZXJsaW5lUG9zaXRpb24nLFxuICAnb3ZlcmxpbmUtcG9zaXRpb24nOiAnb3ZlcmxpbmVQb3NpdGlvbicsXG4gIG92ZXJsaW5ldGhpY2tuZXNzOiAnb3ZlcmxpbmVUaGlja25lc3MnLFxuICAnb3ZlcmxpbmUtdGhpY2tuZXNzJzogJ292ZXJsaW5lVGhpY2tuZXNzJyxcbiAgcGFpbnRvcmRlcjogJ3BhaW50T3JkZXInLFxuICAncGFpbnQtb3JkZXInOiAncGFpbnRPcmRlcicsXG4gIHBhbm9zZTE6ICdwYW5vc2UxJyxcbiAgJ3Bhbm9zZS0xJzogJ3Bhbm9zZTEnLFxuICBwYXRobGVuZ3RoOiAncGF0aExlbmd0aCcsXG4gIHBhdHRlcm5jb250ZW50dW5pdHM6ICdwYXR0ZXJuQ29udGVudFVuaXRzJyxcbiAgcGF0dGVybnRyYW5zZm9ybTogJ3BhdHRlcm5UcmFuc2Zvcm0nLFxuICBwYXR0ZXJudW5pdHM6ICdwYXR0ZXJuVW5pdHMnLFxuICBwb2ludGVyZXZlbnRzOiAncG9pbnRlckV2ZW50cycsXG4gICdwb2ludGVyLWV2ZW50cyc6ICdwb2ludGVyRXZlbnRzJyxcbiAgcG9pbnRzOiAncG9pbnRzJyxcbiAgcG9pbnRzYXR4OiAncG9pbnRzQXRYJyxcbiAgcG9pbnRzYXR5OiAncG9pbnRzQXRZJyxcbiAgcG9pbnRzYXR6OiAncG9pbnRzQXRaJyxcbiAgcHJlZml4OiAncHJlZml4JyxcbiAgcHJlc2VydmVhbHBoYTogJ3ByZXNlcnZlQWxwaGEnLFxuICBwcmVzZXJ2ZWFzcGVjdHJhdGlvOiAncHJlc2VydmVBc3BlY3RSYXRpbycsXG4gIHByaW1pdGl2ZXVuaXRzOiAncHJpbWl0aXZlVW5pdHMnLFxuICBwcm9wZXJ0eTogJ3Byb3BlcnR5JyxcbiAgcjogJ3InLFxuICByYWRpdXM6ICdyYWRpdXMnLFxuICByZWZ4OiAncmVmWCcsXG4gIHJlZnk6ICdyZWZZJyxcbiAgcmVuZGVyaW5naW50ZW50OiAncmVuZGVyaW5nSW50ZW50JyxcbiAgJ3JlbmRlcmluZy1pbnRlbnQnOiAncmVuZGVyaW5nSW50ZW50JyxcbiAgcmVwZWF0Y291bnQ6ICdyZXBlYXRDb3VudCcsXG4gIHJlcGVhdGR1cjogJ3JlcGVhdER1cicsXG4gIHJlcXVpcmVkZXh0ZW5zaW9uczogJ3JlcXVpcmVkRXh0ZW5zaW9ucycsXG4gIHJlcXVpcmVkZmVhdHVyZXM6ICdyZXF1aXJlZEZlYXR1cmVzJyxcbiAgcmVzb3VyY2U6ICdyZXNvdXJjZScsXG4gIHJlc3RhcnQ6ICdyZXN0YXJ0JyxcbiAgcmVzdWx0OiAncmVzdWx0JyxcbiAgcmVzdWx0czogJ3Jlc3VsdHMnLFxuICByb3RhdGU6ICdyb3RhdGUnLFxuICByeDogJ3J4JyxcbiAgcnk6ICdyeScsXG4gIHNjYWxlOiAnc2NhbGUnLFxuICBzZWN1cml0eTogJ3NlY3VyaXR5JyxcbiAgc2VlZDogJ3NlZWQnLFxuICBzaGFwZXJlbmRlcmluZzogJ3NoYXBlUmVuZGVyaW5nJyxcbiAgJ3NoYXBlLXJlbmRlcmluZyc6ICdzaGFwZVJlbmRlcmluZycsXG4gIHNsb3BlOiAnc2xvcGUnLFxuICBzcGFjaW5nOiAnc3BhY2luZycsXG4gIHNwZWN1bGFyY29uc3RhbnQ6ICdzcGVjdWxhckNvbnN0YW50JyxcbiAgc3BlY3VsYXJleHBvbmVudDogJ3NwZWN1bGFyRXhwb25lbnQnLFxuICBzcGVlZDogJ3NwZWVkJyxcbiAgc3ByZWFkbWV0aG9kOiAnc3ByZWFkTWV0aG9kJyxcbiAgc3RhcnRvZmZzZXQ6ICdzdGFydE9mZnNldCcsXG4gIHN0ZGRldmlhdGlvbjogJ3N0ZERldmlhdGlvbicsXG4gIHN0ZW1oOiAnc3RlbWgnLFxuICBzdGVtdjogJ3N0ZW12JyxcbiAgc3RpdGNodGlsZXM6ICdzdGl0Y2hUaWxlcycsXG4gIHN0b3Bjb2xvcjogJ3N0b3BDb2xvcicsXG4gICdzdG9wLWNvbG9yJzogJ3N0b3BDb2xvcicsXG4gIHN0b3BvcGFjaXR5OiAnc3RvcE9wYWNpdHknLFxuICAnc3RvcC1vcGFjaXR5JzogJ3N0b3BPcGFjaXR5JyxcbiAgc3RyaWtldGhyb3VnaHBvc2l0aW9uOiAnc3RyaWtldGhyb3VnaFBvc2l0aW9uJyxcbiAgJ3N0cmlrZXRocm91Z2gtcG9zaXRpb24nOiAnc3RyaWtldGhyb3VnaFBvc2l0aW9uJyxcbiAgc3RyaWtldGhyb3VnaHRoaWNrbmVzczogJ3N0cmlrZXRocm91Z2hUaGlja25lc3MnLFxuICAnc3RyaWtldGhyb3VnaC10aGlja25lc3MnOiAnc3RyaWtldGhyb3VnaFRoaWNrbmVzcycsXG4gIHN0cmluZzogJ3N0cmluZycsXG4gIHN0cm9rZTogJ3N0cm9rZScsXG4gIHN0cm9rZWRhc2hhcnJheTogJ3N0cm9rZURhc2hhcnJheScsXG4gICdzdHJva2UtZGFzaGFycmF5JzogJ3N0cm9rZURhc2hhcnJheScsXG4gIHN0cm9rZWRhc2hvZmZzZXQ6ICdzdHJva2VEYXNob2Zmc2V0JyxcbiAgJ3N0cm9rZS1kYXNob2Zmc2V0JzogJ3N0cm9rZURhc2hvZmZzZXQnLFxuICBzdHJva2VsaW5lY2FwOiAnc3Ryb2tlTGluZWNhcCcsXG4gICdzdHJva2UtbGluZWNhcCc6ICdzdHJva2VMaW5lY2FwJyxcbiAgc3Ryb2tlbGluZWpvaW46ICdzdHJva2VMaW5lam9pbicsXG4gICdzdHJva2UtbGluZWpvaW4nOiAnc3Ryb2tlTGluZWpvaW4nLFxuICBzdHJva2VtaXRlcmxpbWl0OiAnc3Ryb2tlTWl0ZXJsaW1pdCcsXG4gICdzdHJva2UtbWl0ZXJsaW1pdCc6ICdzdHJva2VNaXRlcmxpbWl0JyxcbiAgc3Ryb2tld2lkdGg6ICdzdHJva2VXaWR0aCcsXG4gICdzdHJva2Utd2lkdGgnOiAnc3Ryb2tlV2lkdGgnLFxuICBzdHJva2VvcGFjaXR5OiAnc3Ryb2tlT3BhY2l0eScsXG4gICdzdHJva2Utb3BhY2l0eSc6ICdzdHJva2VPcGFjaXR5JyxcbiAgc3VwcHJlc3Njb250ZW50ZWRpdGFibGV3YXJuaW5nOiAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJyxcbiAgc3VwcHJlc3NoeWRyYXRpb253YXJuaW5nOiAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJyxcbiAgc3VyZmFjZXNjYWxlOiAnc3VyZmFjZVNjYWxlJyxcbiAgc3lzdGVtbGFuZ3VhZ2U6ICdzeXN0ZW1MYW5ndWFnZScsXG4gIHRhYmxldmFsdWVzOiAndGFibGVWYWx1ZXMnLFxuICB0YXJnZXR4OiAndGFyZ2V0WCcsXG4gIHRhcmdldHk6ICd0YXJnZXRZJyxcbiAgdGV4dGFuY2hvcjogJ3RleHRBbmNob3InLFxuICAndGV4dC1hbmNob3InOiAndGV4dEFuY2hvcicsXG4gIHRleHRkZWNvcmF0aW9uOiAndGV4dERlY29yYXRpb24nLFxuICAndGV4dC1kZWNvcmF0aW9uJzogJ3RleHREZWNvcmF0aW9uJyxcbiAgdGV4dGxlbmd0aDogJ3RleHRMZW5ndGgnLFxuICB0ZXh0cmVuZGVyaW5nOiAndGV4dFJlbmRlcmluZycsXG4gICd0ZXh0LXJlbmRlcmluZyc6ICd0ZXh0UmVuZGVyaW5nJyxcbiAgdG86ICd0bycsXG4gIHRyYW5zZm9ybTogJ3RyYW5zZm9ybScsXG4gIHR5cGVvZjogJ3R5cGVvZicsXG4gIHUxOiAndTEnLFxuICB1MjogJ3UyJyxcbiAgdW5kZXJsaW5lcG9zaXRpb246ICd1bmRlcmxpbmVQb3NpdGlvbicsXG4gICd1bmRlcmxpbmUtcG9zaXRpb24nOiAndW5kZXJsaW5lUG9zaXRpb24nLFxuICB1bmRlcmxpbmV0aGlja25lc3M6ICd1bmRlcmxpbmVUaGlja25lc3MnLFxuICAndW5kZXJsaW5lLXRoaWNrbmVzcyc6ICd1bmRlcmxpbmVUaGlja25lc3MnLFxuICB1bmljb2RlOiAndW5pY29kZScsXG4gIHVuaWNvZGViaWRpOiAndW5pY29kZUJpZGknLFxuICAndW5pY29kZS1iaWRpJzogJ3VuaWNvZGVCaWRpJyxcbiAgdW5pY29kZXJhbmdlOiAndW5pY29kZVJhbmdlJyxcbiAgJ3VuaWNvZGUtcmFuZ2UnOiAndW5pY29kZVJhbmdlJyxcbiAgdW5pdHNwZXJlbTogJ3VuaXRzUGVyRW0nLFxuICAndW5pdHMtcGVyLWVtJzogJ3VuaXRzUGVyRW0nLFxuICB1bnNlbGVjdGFibGU6ICd1bnNlbGVjdGFibGUnLFxuICB2YWxwaGFiZXRpYzogJ3ZBbHBoYWJldGljJyxcbiAgJ3YtYWxwaGFiZXRpYyc6ICd2QWxwaGFiZXRpYycsXG4gIHZhbHVlczogJ3ZhbHVlcycsXG4gIHZlY3RvcmVmZmVjdDogJ3ZlY3RvckVmZmVjdCcsXG4gICd2ZWN0b3ItZWZmZWN0JzogJ3ZlY3RvckVmZmVjdCcsXG4gIHZlcnNpb246ICd2ZXJzaW9uJyxcbiAgdmVydGFkdnk6ICd2ZXJ0QWR2WScsXG4gICd2ZXJ0LWFkdi15JzogJ3ZlcnRBZHZZJyxcbiAgdmVydG9yaWdpbng6ICd2ZXJ0T3JpZ2luWCcsXG4gICd2ZXJ0LW9yaWdpbi14JzogJ3ZlcnRPcmlnaW5YJyxcbiAgdmVydG9yaWdpbnk6ICd2ZXJ0T3JpZ2luWScsXG4gICd2ZXJ0LW9yaWdpbi15JzogJ3ZlcnRPcmlnaW5ZJyxcbiAgdmhhbmdpbmc6ICd2SGFuZ2luZycsXG4gICd2LWhhbmdpbmcnOiAndkhhbmdpbmcnLFxuICB2aWRlb2dyYXBoaWM6ICd2SWRlb2dyYXBoaWMnLFxuICAndi1pZGVvZ3JhcGhpYyc6ICd2SWRlb2dyYXBoaWMnLFxuICB2aWV3Ym94OiAndmlld0JveCcsXG4gIHZpZXd0YXJnZXQ6ICd2aWV3VGFyZ2V0JyxcbiAgdmlzaWJpbGl0eTogJ3Zpc2liaWxpdHknLFxuICB2bWF0aGVtYXRpY2FsOiAndk1hdGhlbWF0aWNhbCcsXG4gICd2LW1hdGhlbWF0aWNhbCc6ICd2TWF0aGVtYXRpY2FsJyxcbiAgdm9jYWI6ICd2b2NhYicsXG4gIHdpZHRoczogJ3dpZHRocycsXG4gIHdvcmRzcGFjaW5nOiAnd29yZFNwYWNpbmcnLFxuICAnd29yZC1zcGFjaW5nJzogJ3dvcmRTcGFjaW5nJyxcbiAgd3JpdGluZ21vZGU6ICd3cml0aW5nTW9kZScsXG4gICd3cml0aW5nLW1vZGUnOiAnd3JpdGluZ01vZGUnLFxuICB4MTogJ3gxJyxcbiAgeDI6ICd4MicsXG4gIHg6ICd4JyxcbiAgeGNoYW5uZWxzZWxlY3RvcjogJ3hDaGFubmVsU2VsZWN0b3InLFxuICB4aGVpZ2h0OiAneEhlaWdodCcsXG4gICd4LWhlaWdodCc6ICd4SGVpZ2h0JyxcbiAgeGxpbmthY3R1YXRlOiAneGxpbmtBY3R1YXRlJyxcbiAgJ3hsaW5rOmFjdHVhdGUnOiAneGxpbmtBY3R1YXRlJyxcbiAgeGxpbmthcmNyb2xlOiAneGxpbmtBcmNyb2xlJyxcbiAgJ3hsaW5rOmFyY3JvbGUnOiAneGxpbmtBcmNyb2xlJyxcbiAgeGxpbmtocmVmOiAneGxpbmtIcmVmJyxcbiAgJ3hsaW5rOmhyZWYnOiAneGxpbmtIcmVmJyxcbiAgeGxpbmtyb2xlOiAneGxpbmtSb2xlJyxcbiAgJ3hsaW5rOnJvbGUnOiAneGxpbmtSb2xlJyxcbiAgeGxpbmtzaG93OiAneGxpbmtTaG93JyxcbiAgJ3hsaW5rOnNob3cnOiAneGxpbmtTaG93JyxcbiAgeGxpbmt0aXRsZTogJ3hsaW5rVGl0bGUnLFxuICAneGxpbms6dGl0bGUnOiAneGxpbmtUaXRsZScsXG4gIHhsaW5rdHlwZTogJ3hsaW5rVHlwZScsXG4gICd4bGluazp0eXBlJzogJ3hsaW5rVHlwZScsXG4gIHhtbGJhc2U6ICd4bWxCYXNlJyxcbiAgJ3htbDpiYXNlJzogJ3htbEJhc2UnLFxuICB4bWxsYW5nOiAneG1sTGFuZycsXG4gICd4bWw6bGFuZyc6ICd4bWxMYW5nJyxcbiAgeG1sbnM6ICd4bWxucycsXG4gICd4bWw6c3BhY2UnOiAneG1sU3BhY2UnLFxuICB4bWxuc3hsaW5rOiAneG1sbnNYbGluaycsXG4gICd4bWxuczp4bGluayc6ICd4bWxuc1hsaW5rJyxcbiAgeG1sc3BhY2U6ICd4bWxTcGFjZScsXG4gIHkxOiAneTEnLFxuICB5MjogJ3kyJyxcbiAgeTogJ3knLFxuICB5Y2hhbm5lbHNlbGVjdG9yOiAneUNoYW5uZWxTZWxlY3RvcicsXG4gIHo6ICd6JyxcbiAgem9vbWFuZHBhbjogJ3pvb21BbmRQYW4nXG59O1xuXG52YXIgYXJpYVByb3BlcnRpZXMgPSB7XG4gICdhcmlhLWN1cnJlbnQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1kZXRhaWxzJzogMCxcbiAgJ2FyaWEtZGlzYWJsZWQnOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1oaWRkZW4nOiAwLFxuICAvLyBzdGF0ZVxuICAnYXJpYS1pbnZhbGlkJzogMCxcbiAgLy8gc3RhdGVcbiAgJ2FyaWEta2V5c2hvcnRjdXRzJzogMCxcbiAgJ2FyaWEtbGFiZWwnOiAwLFxuICAnYXJpYS1yb2xlZGVzY3JpcHRpb24nOiAwLFxuICAvLyBXaWRnZXQgQXR0cmlidXRlc1xuICAnYXJpYS1hdXRvY29tcGxldGUnOiAwLFxuICAnYXJpYS1jaGVja2VkJzogMCxcbiAgJ2FyaWEtZXhwYW5kZWQnOiAwLFxuICAnYXJpYS1oYXNwb3B1cCc6IDAsXG4gICdhcmlhLWxldmVsJzogMCxcbiAgJ2FyaWEtbW9kYWwnOiAwLFxuICAnYXJpYS1tdWx0aWxpbmUnOiAwLFxuICAnYXJpYS1tdWx0aXNlbGVjdGFibGUnOiAwLFxuICAnYXJpYS1vcmllbnRhdGlvbic6IDAsXG4gICdhcmlhLXBsYWNlaG9sZGVyJzogMCxcbiAgJ2FyaWEtcHJlc3NlZCc6IDAsXG4gICdhcmlhLXJlYWRvbmx5JzogMCxcbiAgJ2FyaWEtcmVxdWlyZWQnOiAwLFxuICAnYXJpYS1zZWxlY3RlZCc6IDAsXG4gICdhcmlhLXNvcnQnOiAwLFxuICAnYXJpYS12YWx1ZW1heCc6IDAsXG4gICdhcmlhLXZhbHVlbWluJzogMCxcbiAgJ2FyaWEtdmFsdWVub3cnOiAwLFxuICAnYXJpYS12YWx1ZXRleHQnOiAwLFxuICAvLyBMaXZlIFJlZ2lvbiBBdHRyaWJ1dGVzXG4gICdhcmlhLWF0b21pYyc6IDAsXG4gICdhcmlhLWJ1c3knOiAwLFxuICAnYXJpYS1saXZlJzogMCxcbiAgJ2FyaWEtcmVsZXZhbnQnOiAwLFxuICAvLyBEcmFnLWFuZC1Ecm9wIEF0dHJpYnV0ZXNcbiAgJ2FyaWEtZHJvcGVmZmVjdCc6IDAsXG4gICdhcmlhLWdyYWJiZWQnOiAwLFxuICAvLyBSZWxhdGlvbnNoaXAgQXR0cmlidXRlc1xuICAnYXJpYS1hY3RpdmVkZXNjZW5kYW50JzogMCxcbiAgJ2FyaWEtY29sY291bnQnOiAwLFxuICAnYXJpYS1jb2xpbmRleCc6IDAsXG4gICdhcmlhLWNvbHNwYW4nOiAwLFxuICAnYXJpYS1jb250cm9scyc6IDAsXG4gICdhcmlhLWRlc2NyaWJlZGJ5JzogMCxcbiAgJ2FyaWEtZXJyb3JtZXNzYWdlJzogMCxcbiAgJ2FyaWEtZmxvd3RvJzogMCxcbiAgJ2FyaWEtbGFiZWxsZWRieSc6IDAsXG4gICdhcmlhLW93bnMnOiAwLFxuICAnYXJpYS1wb3NpbnNldCc6IDAsXG4gICdhcmlhLXJvd2NvdW50JzogMCxcbiAgJ2FyaWEtcm93aW5kZXgnOiAwLFxuICAnYXJpYS1yb3dzcGFuJzogMCxcbiAgJ2FyaWEtc2V0c2l6ZSc6IDBcbn07XG5cbnZhciB3YXJuZWRQcm9wZXJ0aWVzID0ge307XG52YXIgckFSSUEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbnZhciByQVJJQUNhbWVsID0gbmV3IFJlZ0V4cCgnXihhcmlhKVtBLVpdWycgKyBBVFRSSUJVVEVfTkFNRV9DSEFSICsgJ10qJCcpO1xudmFyIGhhc093blByb3BlcnR5JDEgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuXG5mdW5jdGlvbiB2YWxpZGF0ZVByb3BlcnR5KHRhZ05hbWUsIG5hbWUpIHtcbiAge1xuICAgIGlmIChoYXNPd25Qcm9wZXJ0eSQxLmNhbGwod2FybmVkUHJvcGVydGllcywgbmFtZSkgJiYgd2FybmVkUHJvcGVydGllc1tuYW1lXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHJBUklBQ2FtZWwudGVzdChuYW1lKSkge1xuICAgICAgdmFyIGFyaWFOYW1lID0gJ2FyaWEtJyArIG5hbWUuc2xpY2UoNCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIHZhciBjb3JyZWN0TmFtZSA9IGFyaWFQcm9wZXJ0aWVzLmhhc093blByb3BlcnR5KGFyaWFOYW1lKSA/IGFyaWFOYW1lIDogbnVsbDsgLy8gSWYgdGhpcyBpcyBhbiBhcmlhLSogYXR0cmlidXRlLCBidXQgaXMgbm90IGxpc3RlZCBpbiB0aGUga25vd24gRE9NXG4gICAgICAvLyBET00gcHJvcGVydGllcywgdGhlbiBpdCBpcyBhbiBpbnZhbGlkIGFyaWEtKiBhdHRyaWJ1dGUuXG5cbiAgICAgIGlmIChjb3JyZWN0TmFtZSA9PSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdJbnZhbGlkIEFSSUEgYXR0cmlidXRlIGAlc2AuIEFSSUEgYXR0cmlidXRlcyBmb2xsb3cgdGhlIHBhdHRlcm4gYXJpYS0qIGFuZCBtdXN0IGJlIGxvd2VyY2FzZS4nLCBuYW1lKTtcblxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IC8vIGFyaWEtKiBhdHRyaWJ1dGVzIHNob3VsZCBiZSBsb3dlcmNhc2U7IHN1Z2dlc3QgdGhlIGxvd2VyY2FzZSB2ZXJzaW9uLlxuXG5cbiAgICAgIGlmIChuYW1lICE9PSBjb3JyZWN0TmFtZSkge1xuICAgICAgICBlcnJvcignSW52YWxpZCBBUklBIGF0dHJpYnV0ZSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCBjb3JyZWN0TmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllc1tuYW1lXSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChyQVJJQS50ZXN0KG5hbWUpKSB7XG4gICAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICB2YXIgc3RhbmRhcmROYW1lID0gYXJpYVByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkobG93ZXJDYXNlZE5hbWUpID8gbG93ZXJDYXNlZE5hbWUgOiBudWxsOyAvLyBJZiB0aGlzIGlzIGFuIGFyaWEtKiBhdHRyaWJ1dGUsIGJ1dCBpcyBub3QgbGlzdGVkIGluIHRoZSBrbm93biBET01cbiAgICAgIC8vIERPTSBwcm9wZXJ0aWVzLCB0aGVuIGl0IGlzIGFuIGludmFsaWQgYXJpYS0qIGF0dHJpYnV0ZS5cblxuICAgICAgaWYgKHN0YW5kYXJkTmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHdhcm5lZFByb3BlcnRpZXNbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9IC8vIGFyaWEtKiBhdHRyaWJ1dGVzIHNob3VsZCBiZSBsb3dlcmNhc2U7IHN1Z2dlc3QgdGhlIGxvd2VyY2FzZSB2ZXJzaW9uLlxuXG5cbiAgICAgIGlmIChuYW1lICE9PSBzdGFuZGFyZE5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ1Vua25vd24gQVJJQSBhdHRyaWJ1dGUgYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/JywgbmFtZSwgc3RhbmRhcmROYW1lKTtcblxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHdhcm5JbnZhbGlkQVJJQVByb3BzKHR5cGUsIHByb3BzKSB7XG4gIHtcbiAgICB2YXIgaW52YWxpZFByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSh0eXBlLCBrZXkpO1xuXG4gICAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgICAgaW52YWxpZFByb3BzLnB1c2goa2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgdW5rbm93blByb3BTdHJpbmcgPSBpbnZhbGlkUHJvcHMubWFwKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICByZXR1cm4gJ2AnICsgcHJvcCArICdgJztcbiAgICB9KS5qb2luKCcsICcpO1xuXG4gICAgaWYgKGludmFsaWRQcm9wcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIGFyaWEgcHJvcCAlcyBvbiA8JXM+IHRhZy4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vZmIubWUvaW52YWxpZC1hcmlhLXByb3AnLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XG4gICAgfSBlbHNlIGlmIChpbnZhbGlkUHJvcHMubGVuZ3RoID4gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgYXJpYSBwcm9wcyAlcyBvbiA8JXM+IHRhZy4gJyArICdGb3IgZGV0YWlscywgc2VlIGh0dHBzOi8vZmIubWUvaW52YWxpZC1hcmlhLXByb3AnLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyh0eXBlLCBwcm9wcykge1xuICBpZiAoaXNDdXN0b21Db21wb25lbnQodHlwZSwgcHJvcHMpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgd2FybkludmFsaWRBUklBUHJvcHModHlwZSwgcHJvcHMpO1xufVxuXG52YXIgZGlkV2FyblZhbHVlTnVsbCA9IGZhbHNlO1xuZnVuY3Rpb24gdmFsaWRhdGVQcm9wZXJ0aWVzJDEodHlwZSwgcHJvcHMpIHtcbiAge1xuICAgIGlmICh0eXBlICE9PSAnaW5wdXQnICYmIHR5cGUgIT09ICd0ZXh0YXJlYScgJiYgdHlwZSAhPT0gJ3NlbGVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMgIT0gbnVsbCAmJiBwcm9wcy52YWx1ZSA9PT0gbnVsbCAmJiAhZGlkV2FyblZhbHVlTnVsbCkge1xuICAgICAgZGlkV2FyblZhbHVlTnVsbCA9IHRydWU7XG5cbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0JyAmJiBwcm9wcy5tdWx0aXBsZSkge1xuICAgICAgICBlcnJvcignYHZhbHVlYCBwcm9wIG9uIGAlc2Agc2hvdWxkIG5vdCBiZSBudWxsLiAnICsgJ0NvbnNpZGVyIHVzaW5nIGFuIGVtcHR5IGFycmF5IHdoZW4gYG11bHRpcGxlYCBpcyBzZXQgdG8gYHRydWVgICcgKyAndG8gY2xlYXIgdGhlIGNvbXBvbmVudCBvciBgdW5kZWZpbmVkYCBmb3IgdW5jb250cm9sbGVkIGNvbXBvbmVudHMuJywgdHlwZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignYHZhbHVlYCBwcm9wIG9uIGAlc2Agc2hvdWxkIG5vdCBiZSBudWxsLiAnICsgJ0NvbnNpZGVyIHVzaW5nIGFuIGVtcHR5IHN0cmluZyB0byBjbGVhciB0aGUgY29tcG9uZW50IG9yIGB1bmRlZmluZWRgICcgKyAnZm9yIHVuY29udHJvbGxlZCBjb21wb25lbnRzLicsIHR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgdmFsaWRhdGVQcm9wZXJ0eSQxID0gZnVuY3Rpb24gKCkge307XG5cbntcbiAgdmFyIHdhcm5lZFByb3BlcnRpZXMkMSA9IHt9O1xuICB2YXIgX2hhc093blByb3BlcnR5ID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbiAgdmFyIEVWRU5UX05BTUVfUkVHRVggPSAvXm9uLi87XG4gIHZhciBJTlZBTElEX0VWRU5UX05BTUVfUkVHRVggPSAvXm9uW15BLVpdLztcbiAgdmFyIHJBUklBJDEgPSBuZXcgUmVnRXhwKCdeKGFyaWEpLVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcbiAgdmFyIHJBUklBQ2FtZWwkMSA9IG5ldyBSZWdFeHAoJ14oYXJpYSlbQS1aXVsnICsgQVRUUklCVVRFX05BTUVfQ0hBUiArICddKiQnKTtcblxuICB2YWxpZGF0ZVByb3BlcnR5JDEgPSBmdW5jdGlvbiAodGFnTmFtZSwgbmFtZSwgdmFsdWUsIGNhblVzZUV2ZW50U3lzdGVtKSB7XG4gICAgaWYgKF9oYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFByb3BlcnRpZXMkMSwgbmFtZSkgJiYgd2FybmVkUHJvcGVydGllcyQxW25hbWVdKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB2YXIgbG93ZXJDYXNlZE5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAobG93ZXJDYXNlZE5hbWUgPT09ICdvbmZvY3VzaW4nIHx8IGxvd2VyQ2FzZWROYW1lID09PSAnb25mb2N1c291dCcpIHtcbiAgICAgIGVycm9yKCdSZWFjdCB1c2VzIG9uRm9jdXMgYW5kIG9uQmx1ciBpbnN0ZWFkIG9mIG9uRm9jdXNJbiBhbmQgb25Gb2N1c091dC4gJyArICdBbGwgUmVhY3QgZXZlbnRzIGFyZSBub3JtYWxpemVkIHRvIGJ1YmJsZSwgc28gb25Gb2N1c0luIGFuZCBvbkZvY3VzT3V0ICcgKyAnYXJlIG5vdCBuZWVkZWQvc3VwcG9ydGVkIGJ5IFJlYWN0LicpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSAvLyBXZSBjYW4ndCByZWx5IG9uIHRoZSBldmVudCBzeXN0ZW0gYmVpbmcgaW5qZWN0ZWQgb24gdGhlIHNlcnZlci5cblxuXG4gICAgaWYgKGNhblVzZUV2ZW50U3lzdGVtKSB7XG4gICAgICBpZiAocmVnaXN0cmF0aW9uTmFtZU1vZHVsZXMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWdpc3RyYXRpb25OYW1lID0gcG9zc2libGVSZWdpc3RyYXRpb25OYW1lcy5oYXNPd25Qcm9wZXJ0eShsb3dlckNhc2VkTmFtZSkgPyBwb3NzaWJsZVJlZ2lzdHJhdGlvbk5hbWVzW2xvd2VyQ2FzZWROYW1lXSA6IG51bGw7XG5cbiAgICAgIGlmIChyZWdpc3RyYXRpb25OYW1lICE9IG51bGwpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgZXZlbnQgaGFuZGxlciBwcm9wZXJ0eSBgJXNgLiBEaWQgeW91IG1lYW4gYCVzYD8nLCBuYW1lLCByZWdpc3RyYXRpb25OYW1lKTtcblxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKEVWRU5UX05BTUVfUkVHRVgudGVzdChuYW1lKSkge1xuICAgICAgICBlcnJvcignVW5rbm93biBldmVudCBoYW5kbGVyIHByb3BlcnR5IGAlc2AuIEl0IHdpbGwgYmUgaWdub3JlZC4nLCBuYW1lKTtcblxuICAgICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKEVWRU5UX05BTUVfUkVHRVgudGVzdChuYW1lKSkge1xuICAgICAgLy8gSWYgbm8gZXZlbnQgcGx1Z2lucyBoYXZlIGJlZW4gaW5qZWN0ZWQsIHdlIGFyZSBpbiBhIHNlcnZlciBlbnZpcm9ubWVudC5cbiAgICAgIC8vIFNvIHdlIGNhbid0IHRlbGwgaWYgdGhlIGV2ZW50IG5hbWUgaXMgY29ycmVjdCBmb3Igc3VyZSwgYnV0IHdlIGNhbiBmaWx0ZXJcbiAgICAgIC8vIG91dCBrbm93biBiYWQgb25lcyBsaWtlIGBvbmNsaWNrYC4gV2UgY2FuJ3Qgc3VnZ2VzdCBhIHNwZWNpZmljIHJlcGxhY2VtZW50IHRob3VnaC5cbiAgICAgIGlmIChJTlZBTElEX0VWRU5UX05BTUVfUkVHRVgudGVzdChuYW1lKSkge1xuICAgICAgICBlcnJvcignSW52YWxpZCBldmVudCBoYW5kbGVyIHByb3BlcnR5IGAlc2AuICcgKyAnUmVhY3QgZXZlbnRzIHVzZSB0aGUgY2FtZWxDYXNlIG5hbWluZyBjb252ZW50aW9uLCBmb3IgZXhhbXBsZSBgb25DbGlja2AuJywgbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IC8vIExldCB0aGUgQVJJQSBhdHRyaWJ1dGUgaG9vayB2YWxpZGF0ZSBBUklBIGF0dHJpYnV0ZXNcblxuXG4gICAgaWYgKHJBUklBJDEudGVzdChuYW1lKSB8fCByQVJJQUNhbWVsJDEudGVzdChuYW1lKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnaW5uZXJodG1sJykge1xuICAgICAgZXJyb3IoJ0RpcmVjdGx5IHNldHRpbmcgcHJvcGVydHkgYGlubmVySFRNTGAgaXMgbm90IHBlcm1pdHRlZC4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgbG9va3VwIGRvY3VtZW50YXRpb24gb24gYGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MYC4nKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChsb3dlckNhc2VkTmFtZSA9PT0gJ2FyaWEnKSB7XG4gICAgICBlcnJvcignVGhlIGBhcmlhYCBhdHRyaWJ1dGUgaXMgcmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UgaW4gUmVhY3QuICcgKyAnUGFzcyBpbmRpdmlkdWFsIGBhcmlhLWAgYXR0cmlidXRlcyBpbnN0ZWFkLicpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyQ2FzZWROYW1lID09PSAnaXMnICYmIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIGEgYCVzYCBmb3IgYSBzdHJpbmcgYXR0cmlidXRlIGBpc2AuIElmIHRoaXMgaXMgZXhwZWN0ZWQsIGNhc3QgJyArICd0aGUgdmFsdWUgdG8gYSBzdHJpbmcuJywgdHlwZW9mIHZhbHVlKTtcblxuICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHZhbHVlKSkge1xuICAgICAgZXJyb3IoJ1JlY2VpdmVkIE5hTiBmb3IgdGhlIGAlc2AgYXR0cmlidXRlLiBJZiB0aGlzIGlzIGV4cGVjdGVkLCBjYXN0ICcgKyAndGhlIHZhbHVlIHRvIGEgc3RyaW5nLicsIG5hbWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdmFyIHByb3BlcnR5SW5mbyA9IGdldFByb3BlcnR5SW5mbyhuYW1lKTtcbiAgICB2YXIgaXNSZXNlcnZlZCA9IHByb3BlcnR5SW5mbyAhPT0gbnVsbCAmJiBwcm9wZXJ0eUluZm8udHlwZSA9PT0gUkVTRVJWRUQ7IC8vIEtub3duIGF0dHJpYnV0ZXMgc2hvdWxkIG1hdGNoIHRoZSBjYXNpbmcgc3BlY2lmaWVkIGluIHRoZSBwcm9wZXJ0eSBjb25maWcuXG5cbiAgICBpZiAocG9zc2libGVTdGFuZGFyZE5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSkge1xuICAgICAgdmFyIHN0YW5kYXJkTmFtZSA9IHBvc3NpYmxlU3RhbmRhcmROYW1lc1tsb3dlckNhc2VkTmFtZV07XG5cbiAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG5hbWUpIHtcbiAgICAgICAgZXJyb3IoJ0ludmFsaWQgRE9NIHByb3BlcnR5IGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgPycsIG5hbWUsIHN0YW5kYXJkTmFtZSk7XG5cbiAgICAgICAgd2FybmVkUHJvcGVydGllcyQxW25hbWVdID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghaXNSZXNlcnZlZCAmJiBuYW1lICE9PSBsb3dlckNhc2VkTmFtZSkge1xuICAgICAgLy8gVW5rbm93biBhdHRyaWJ1dGVzIHNob3VsZCBoYXZlIGxvd2VyY2FzZSBjYXNpbmcgc2luY2UgdGhhdCdzIGhvdyB0aGV5XG4gICAgICAvLyB3aWxsIGJlIGNhc2VkIGFueXdheSB3aXRoIHNlcnZlciByZW5kZXJpbmcuXG4gICAgICBlcnJvcignUmVhY3QgZG9lcyBub3QgcmVjb2duaXplIHRoZSBgJXNgIHByb3Agb24gYSBET00gZWxlbWVudC4gSWYgeW91ICcgKyAnaW50ZW50aW9uYWxseSB3YW50IGl0IHRvIGFwcGVhciBpbiB0aGUgRE9NIGFzIGEgY3VzdG9tICcgKyAnYXR0cmlidXRlLCBzcGVsbCBpdCBhcyBsb3dlcmNhc2UgYCVzYCBpbnN0ZWFkLiAnICsgJ0lmIHlvdSBhY2NpZGVudGFsbHkgcGFzc2VkIGl0IGZyb20gYSBwYXJlbnQgY29tcG9uZW50LCByZW1vdmUgJyArICdpdCBmcm9tIHRoZSBET00gZWxlbWVudC4nLCBuYW1lLCBsb3dlckNhc2VkTmFtZSk7XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicgJiYgc2hvdWxkUmVtb3ZlQXR0cmlidXRlV2l0aFdhcm5pbmcobmFtZSwgdmFsdWUsIHByb3BlcnR5SW5mbywgZmFsc2UpKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGAlc2AgZm9yIGEgbm9uLWJvb2xlYW4gYXR0cmlidXRlIGAlc2AuXFxuXFxuJyArICdJZiB5b3Ugd2FudCB0byB3cml0ZSBpdCB0byB0aGUgRE9NLCBwYXNzIGEgc3RyaW5nIGluc3RlYWQ6ICcgKyAnJXM9XCIlc1wiIG9yICVzPXt2YWx1ZS50b1N0cmluZygpfS4nLCB2YWx1ZSwgbmFtZSwgbmFtZSwgdmFsdWUsIG5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJ1JlY2VpdmVkIGAlc2AgZm9yIGEgbm9uLWJvb2xlYW4gYXR0cmlidXRlIGAlc2AuXFxuXFxuJyArICdJZiB5b3Ugd2FudCB0byB3cml0ZSBpdCB0byB0aGUgRE9NLCBwYXNzIGEgc3RyaW5nIGluc3RlYWQ6ICcgKyAnJXM9XCIlc1wiIG9yICVzPXt2YWx1ZS50b1N0cmluZygpfS5cXG5cXG4nICsgJ0lmIHlvdSB1c2VkIHRvIGNvbmRpdGlvbmFsbHkgb21pdCBpdCB3aXRoICVzPXtjb25kaXRpb24gJiYgdmFsdWV9LCAnICsgJ3Bhc3MgJXM9e2NvbmRpdGlvbiA/IHZhbHVlIDogdW5kZWZpbmVkfSBpbnN0ZWFkLicsIHZhbHVlLCBuYW1lLCBuYW1lLCB2YWx1ZSwgbmFtZSwgbmFtZSwgbmFtZSk7XG4gICAgICB9XG5cbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IC8vIE5vdyB0aGF0IHdlJ3ZlIHZhbGlkYXRlZCBjYXNpbmcsIGRvIG5vdCB2YWxpZGF0ZVxuICAgIC8vIGRhdGEgdHlwZXMgZm9yIHJlc2VydmVkIHByb3BzXG5cblxuICAgIGlmIChpc1Jlc2VydmVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IC8vIFdhcm4gd2hlbiBhIGtub3duIGF0dHJpYnV0ZSBpcyBhIGJhZCB0eXBlXG5cblxuICAgIGlmIChzaG91bGRSZW1vdmVBdHRyaWJ1dGVXaXRoV2FybmluZyhuYW1lLCB2YWx1ZSwgcHJvcGVydHlJbmZvLCBmYWxzZSkpIHtcbiAgICAgIHdhcm5lZFByb3BlcnRpZXMkMVtuYW1lXSA9IHRydWU7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBXYXJuIHdoZW4gcGFzc2luZyB0aGUgc3RyaW5ncyAnZmFsc2UnIG9yICd0cnVlJyBpbnRvIGEgYm9vbGVhbiBwcm9wXG5cblxuICAgIGlmICgodmFsdWUgPT09ICdmYWxzZScgfHwgdmFsdWUgPT09ICd0cnVlJykgJiYgcHJvcGVydHlJbmZvICE9PSBudWxsICYmIHByb3BlcnR5SW5mby50eXBlID09PSBCT09MRUFOKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgdGhlIHN0cmluZyBgJXNgIGZvciB0aGUgYm9vbGVhbiBhdHRyaWJ1dGUgYCVzYC4gJyArICclcyAnICsgJ0RpZCB5b3UgbWVhbiAlcz17JXN9PycsIHZhbHVlLCBuYW1lLCB2YWx1ZSA9PT0gJ2ZhbHNlJyA/ICdUaGUgYnJvd3NlciB3aWxsIGludGVycHJldCBpdCBhcyBhIHRydXRoeSB2YWx1ZS4nIDogJ0FsdGhvdWdoIHRoaXMgd29ya3MsIGl0IHdpbGwgbm90IHdvcmsgYXMgZXhwZWN0ZWQgaWYgeW91IHBhc3MgdGhlIHN0cmluZyBcImZhbHNlXCIuJywgbmFtZSwgdmFsdWUpO1xuXG4gICAgICB3YXJuZWRQcm9wZXJ0aWVzJDFbbmFtZV0gPSB0cnVlO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG59XG5cbnZhciB3YXJuVW5rbm93blByb3BlcnRpZXMgPSBmdW5jdGlvbiAodHlwZSwgcHJvcHMsIGNhblVzZUV2ZW50U3lzdGVtKSB7XG4gIHtcbiAgICB2YXIgdW5rbm93blByb3BzID0gW107XG5cbiAgICBmb3IgKHZhciBrZXkgaW4gcHJvcHMpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gdmFsaWRhdGVQcm9wZXJ0eSQxKHR5cGUsIGtleSwgcHJvcHNba2V5XSwgY2FuVXNlRXZlbnRTeXN0ZW0pO1xuXG4gICAgICBpZiAoIWlzVmFsaWQpIHtcbiAgICAgICAgdW5rbm93blByb3BzLnB1c2goa2V5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgdW5rbm93blByb3BTdHJpbmcgPSB1bmtub3duUHJvcHMubWFwKGZ1bmN0aW9uIChwcm9wKSB7XG4gICAgICByZXR1cm4gJ2AnICsgcHJvcCArICdgJztcbiAgICB9KS5qb2luKCcsICcpO1xuXG4gICAgaWYgKHVua25vd25Qcm9wcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIGVycm9yKCdJbnZhbGlkIHZhbHVlIGZvciBwcm9wICVzIG9uIDwlcz4gdGFnLiBFaXRoZXIgcmVtb3ZlIGl0IGZyb20gdGhlIGVsZW1lbnQsICcgKyAnb3IgcGFzcyBhIHN0cmluZyBvciBudW1iZXIgdmFsdWUgdG8ga2VlcCBpdCBpbiB0aGUgRE9NLiAnICsgJ0ZvciBkZXRhaWxzLCBzZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1hdHRyaWJ1dGUtYmVoYXZpb3InLCB1bmtub3duUHJvcFN0cmluZywgdHlwZSk7XG4gICAgfSBlbHNlIGlmICh1bmtub3duUHJvcHMubGVuZ3RoID4gMSkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgdmFsdWVzIGZvciBwcm9wcyAlcyBvbiA8JXM+IHRhZy4gRWl0aGVyIHJlbW92ZSB0aGVtIGZyb20gdGhlIGVsZW1lbnQsICcgKyAnb3IgcGFzcyBhIHN0cmluZyBvciBudW1iZXIgdmFsdWUgdG8ga2VlcCB0aGVtIGluIHRoZSBET00uICcgKyAnRm9yIGRldGFpbHMsIHNlZSBodHRwczovL2ZiLm1lL3JlYWN0LWF0dHJpYnV0ZS1iZWhhdmlvcicsIHVua25vd25Qcm9wU3RyaW5nLCB0eXBlKTtcbiAgICB9XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUHJvcGVydGllcyQyKHR5cGUsIHByb3BzLCBjYW5Vc2VFdmVudFN5c3RlbSkge1xuICBpZiAoaXNDdXN0b21Db21wb25lbnQodHlwZSwgcHJvcHMpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgd2FyblVua25vd25Qcm9wZXJ0aWVzKHR5cGUsIHByb3BzLCBjYW5Vc2VFdmVudFN5c3RlbSk7XG59XG5cbnZhciBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IGZhbHNlO1xudmFyIERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MID0gJ2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MJztcbnZhciBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgPSAnc3VwcHJlc3NDb250ZW50RWRpdGFibGVXYXJuaW5nJztcbnZhciBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyA9ICdzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmcnO1xudmFyIEFVVE9GT0NVUyA9ICdhdXRvRm9jdXMnO1xudmFyIENISUxEUkVOID0gJ2NoaWxkcmVuJztcbnZhciBTVFlMRSA9ICdzdHlsZSc7XG52YXIgSFRNTCQxID0gJ19faHRtbCc7XG52YXIgSFRNTF9OQU1FU1BBQ0UkMSA9IE5hbWVzcGFjZXMuaHRtbDtcbnZhciB3YXJuZWRVbmtub3duVGFncztcbnZhciBzdXBwcmVzc0h5ZHJhdGlvbldhcm5pbmc7XG52YXIgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudDtcbnZhciB3YXJuRm9yVGV4dERpZmZlcmVuY2U7XG52YXIgd2FybkZvclByb3BEaWZmZXJlbmNlO1xudmFyIHdhcm5Gb3JFeHRyYUF0dHJpYnV0ZXM7XG52YXIgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyO1xudmFyIGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmc7XG52YXIgbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlO1xudmFyIG5vcm1hbGl6ZUhUTUw7XG5cbntcbiAgd2FybmVkVW5rbm93blRhZ3MgPSB7XG4gICAgLy8gQ2hyb21lIGlzIHRoZSBvbmx5IG1ham9yIGJyb3dzZXIgbm90IHNoaXBwaW5nIDx0aW1lPi4gQnV0IGFzIG9mIEp1bHlcbiAgICAvLyAyMDE3IGl0IGludGVuZHMgdG8gc2hpcCBpdCBkdWUgdG8gd2lkZXNwcmVhZCB1c2FnZS4gV2UgaW50ZW50aW9uYWxseVxuICAgIC8vICpkb24ndCogd2FybiBmb3IgPHRpbWU+IGV2ZW4gaWYgaXQncyB1bnJlY29nbml6ZWQgYnkgQ2hyb21lIGJlY2F1c2VcbiAgICAvLyBpdCBzb29uIHdpbGwgYmUsIGFuZCBtYW55IGFwcHMgaGF2ZSBiZWVuIHVzaW5nIGl0IGFueXdheS5cbiAgICB0aW1lOiB0cnVlLFxuICAgIC8vIFRoZXJlIGFyZSB3b3JraW5nIHBvbHlmaWxscyBmb3IgPGRpYWxvZz4uIExldCBwZW9wbGUgdXNlIGl0LlxuICAgIGRpYWxvZzogdHJ1ZSxcbiAgICAvLyBFbGVjdHJvbiBzaGlwcyBhIGN1c3RvbSA8d2Vidmlldz4gdGFnIHRvIGRpc3BsYXkgZXh0ZXJuYWwgd2ViIGNvbnRlbnQgaW5cbiAgICAvLyBhbiBpc29sYXRlZCBmcmFtZSBhbmQgcHJvY2Vzcy5cbiAgICAvLyBUaGlzIHRhZyBpcyBub3QgcHJlc2VudCBpbiBub24gRWxlY3Ryb24gZW52aXJvbm1lbnRzIHN1Y2ggYXMgSlNEb20gd2hpY2hcbiAgICAvLyBpcyBvZnRlbiB1c2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgIC8vIEBzZWUgaHR0cHM6Ly9lbGVjdHJvbmpzLm9yZy9kb2NzL2FwaS93ZWJ2aWV3LXRhZ1xuICAgIHdlYnZpZXc6IHRydWVcbiAgfTtcblxuICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50ID0gZnVuY3Rpb24gKHR5cGUsIHByb3BzKSB7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzKHR5cGUsIHByb3BzKTtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXMkMSh0eXBlLCBwcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzJDIodHlwZSwgcHJvcHMsXG4gICAgLyogY2FuVXNlRXZlbnRTeXN0ZW0gKi9cbiAgICB0cnVlKTtcbiAgfTsgLy8gSUUgMTEgcGFyc2VzICYgbm9ybWFsaXplcyB0aGUgc3R5bGUgYXR0cmlidXRlIGFzIG9wcG9zZWQgdG8gb3RoZXJcbiAgLy8gYnJvd3NlcnMuIEl0IGFkZHMgc3BhY2VzIGFuZCBzb3J0cyB0aGUgcHJvcGVydGllcyBpbiBzb21lXG4gIC8vIG5vbi1hbHBoYWJldGljYWwgb3JkZXIuIEhhbmRsaW5nIHRoYXQgd291bGQgcmVxdWlyZSBzb3J0aW5nIENTU1xuICAvLyBwcm9wZXJ0aWVzIGluIHRoZSBjbGllbnQgJiBzZXJ2ZXIgdmVyc2lvbnMgb3IgYXBwbHlpbmdcbiAgLy8gYGV4cGVjdGVkU3R5bGVgIHRvIGEgdGVtcG9yYXJ5IERPTSBub2RlIHRvIHJlYWQgaXRzIGBzdHlsZWAgYXR0cmlidXRlXG4gIC8vIG5vcm1hbGl6ZWQuIFNpbmNlIGl0IG9ubHkgYWZmZWN0cyBJRSwgd2UncmUgc2tpcHBpbmcgc3R5bGUgd2FybmluZ3NcbiAgLy8gaW4gdGhhdCBicm93c2VyIGNvbXBsZXRlbHkgaW4gZmF2b3Igb2YgZG9pbmcgYWxsIHRoYXQgd29yay5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTE4MDdcblxuXG4gIGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmcgPSBjYW5Vc2VET00gJiYgIWRvY3VtZW50LmRvY3VtZW50TW9kZTsgLy8gSFRNTCBwYXJzaW5nIG5vcm1hbGl6ZXMgQ1IgYW5kIENSTEYgdG8gTEYuXG4gIC8vIEl0IGFsc28gY2FuIHR1cm4gXFx1MDAwMCBpbnRvIFxcdUZGRkQgaW5zaWRlIGF0dHJpYnV0ZXMuXG4gIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9zaW5nbGUtcGFnZS5odG1sI3ByZXByb2Nlc3NpbmctdGhlLWlucHV0LXN0cmVhbVxuICAvLyBJZiB3ZSBoYXZlIGEgbWlzbWF0Y2gsIGl0IG1pZ2h0IGJlIGNhdXNlZCBieSB0aGF0LlxuICAvLyBXZSB3aWxsIHN0aWxsIHBhdGNoIHVwIGluIHRoaXMgY2FzZSBidXQgbm90IGZpcmUgdGhlIHdhcm5pbmcuXG5cbiAgdmFyIE5PUk1BTElaRV9ORVdMSU5FU19SRUdFWCA9IC9cXHJcXG4/L2c7XG4gIHZhciBOT1JNQUxJWkVfTlVMTF9BTkRfUkVQTEFDRU1FTlRfUkVHRVggPSAvXFx1MDAwMHxcXHVGRkZEL2c7XG5cbiAgbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlID0gZnVuY3Rpb24gKG1hcmt1cCkge1xuICAgIHZhciBtYXJrdXBTdHJpbmcgPSB0eXBlb2YgbWFya3VwID09PSAnc3RyaW5nJyA/IG1hcmt1cCA6ICcnICsgbWFya3VwO1xuICAgIHJldHVybiBtYXJrdXBTdHJpbmcucmVwbGFjZShOT1JNQUxJWkVfTkVXTElORVNfUkVHRVgsICdcXG4nKS5yZXBsYWNlKE5PUk1BTElaRV9OVUxMX0FORF9SRVBMQUNFTUVOVF9SRUdFWCwgJycpO1xuICB9O1xuXG4gIHdhcm5Gb3JUZXh0RGlmZmVyZW5jZSA9IGZ1bmN0aW9uIChzZXJ2ZXJUZXh0LCBjbGllbnRUZXh0KSB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZWRDbGllbnRUZXh0ID0gbm9ybWFsaXplTWFya3VwRm9yVGV4dE9yQXR0cmlidXRlKGNsaWVudFRleHQpO1xuICAgIHZhciBub3JtYWxpemVkU2VydmVyVGV4dCA9IG5vcm1hbGl6ZU1hcmt1cEZvclRleHRPckF0dHJpYnV0ZShzZXJ2ZXJUZXh0KTtcblxuICAgIGlmIChub3JtYWxpemVkU2VydmVyVGV4dCA9PT0gbm9ybWFsaXplZENsaWVudFRleHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignVGV4dCBjb250ZW50IGRpZCBub3QgbWF0Y2guIFNlcnZlcjogXCIlc1wiIENsaWVudDogXCIlc1wiJywgbm9ybWFsaXplZFNlcnZlclRleHQsIG5vcm1hbGl6ZWRDbGllbnRUZXh0KTtcbiAgfTtcblxuICB3YXJuRm9yUHJvcERpZmZlcmVuY2UgPSBmdW5jdGlvbiAocHJvcE5hbWUsIHNlcnZlclZhbHVlLCBjbGllbnRWYWx1ZSkge1xuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBub3JtYWxpemVkQ2xpZW50VmFsdWUgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoY2xpZW50VmFsdWUpO1xuICAgIHZhciBub3JtYWxpemVkU2VydmVyVmFsdWUgPSBub3JtYWxpemVNYXJrdXBGb3JUZXh0T3JBdHRyaWJ1dGUoc2VydmVyVmFsdWUpO1xuXG4gICAgaWYgKG5vcm1hbGl6ZWRTZXJ2ZXJWYWx1ZSA9PT0gbm9ybWFsaXplZENsaWVudFZhbHVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ1Byb3AgYCVzYCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6ICVzIENsaWVudDogJXMnLCBwcm9wTmFtZSwgSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZFNlcnZlclZhbHVlKSwgSlNPTi5zdHJpbmdpZnkobm9ybWFsaXplZENsaWVudFZhbHVlKSk7XG4gIH07XG5cbiAgd2FybkZvckV4dHJhQXR0cmlidXRlcyA9IGZ1bmN0aW9uIChhdHRyaWJ1dGVOYW1lcykge1xuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcbiAgICB2YXIgbmFtZXMgPSBbXTtcbiAgICBhdHRyaWJ1dGVOYW1lcy5mb3JFYWNoKGZ1bmN0aW9uIChuYW1lKSB7XG4gICAgICBuYW1lcy5wdXNoKG5hbWUpO1xuICAgIH0pO1xuXG4gICAgZXJyb3IoJ0V4dHJhIGF0dHJpYnV0ZXMgZnJvbSB0aGUgc2VydmVyOiAlcycsIG5hbWVzKTtcbiAgfTtcblxuICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIgPSBmdW5jdGlvbiAocmVnaXN0cmF0aW9uTmFtZSwgbGlzdGVuZXIpIHtcbiAgICBpZiAobGlzdGVuZXIgPT09IGZhbHNlKSB7XG4gICAgICBlcnJvcignRXhwZWN0ZWQgYCVzYCBsaXN0ZW5lciB0byBiZSBhIGZ1bmN0aW9uLCBpbnN0ZWFkIGdvdCBgZmFsc2VgLlxcblxcbicgKyAnSWYgeW91IHVzZWQgdG8gY29uZGl0aW9uYWxseSBvbWl0IGl0IHdpdGggJXM9e2NvbmRpdGlvbiAmJiB2YWx1ZX0sICcgKyAncGFzcyAlcz17Y29uZGl0aW9uID8gdmFsdWUgOiB1bmRlZmluZWR9IGluc3RlYWQuJywgcmVnaXN0cmF0aW9uTmFtZSwgcmVnaXN0cmF0aW9uTmFtZSwgcmVnaXN0cmF0aW9uTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCBgJXNgIGxpc3RlbmVyIHRvIGJlIGEgZnVuY3Rpb24sIGluc3RlYWQgZ290IGEgdmFsdWUgb2YgYCVzYCB0eXBlLicsIHJlZ2lzdHJhdGlvbk5hbWUsIHR5cGVvZiBsaXN0ZW5lcik7XG4gICAgfVxuICB9OyAvLyBQYXJzZSB0aGUgSFRNTCBhbmQgcmVhZCBpdCBiYWNrIHRvIG5vcm1hbGl6ZSB0aGUgSFRNTCBzdHJpbmcgc28gdGhhdCBpdFxuICAvLyBjYW4gYmUgdXNlZCBmb3IgY29tcGFyaXNvbi5cblxuXG4gIG5vcm1hbGl6ZUhUTUwgPSBmdW5jdGlvbiAocGFyZW50LCBodG1sKSB7XG4gICAgLy8gV2UgY291bGQgaGF2ZSBjcmVhdGVkIGEgc2VwYXJhdGUgZG9jdW1lbnQgaGVyZSB0byBhdm9pZFxuICAgIC8vIHJlLWluaXRpYWxpemluZyBjdXN0b20gZWxlbWVudHMgaWYgdGhleSBleGlzdC4gQnV0IHRoaXMgYnJlYWtzXG4gICAgLy8gaG93IDxub3NjcmlwdD4gaXMgYmVpbmcgaGFuZGxlZC4gU28gd2UgdXNlIHRoZSBzYW1lIGRvY3VtZW50LlxuICAgIC8vIFNlZSB0aGUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8xMTE1Ny5cbiAgICB2YXIgdGVzdEVsZW1lbnQgPSBwYXJlbnQubmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSQxID8gcGFyZW50Lm93bmVyRG9jdW1lbnQuY3JlYXRlRWxlbWVudChwYXJlbnQudGFnTmFtZSkgOiBwYXJlbnQub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50TlMocGFyZW50Lm5hbWVzcGFjZVVSSSwgcGFyZW50LnRhZ05hbWUpO1xuICAgIHRlc3RFbGVtZW50LmlubmVySFRNTCA9IGh0bWw7XG4gICAgcmV0dXJuIHRlc3RFbGVtZW50LmlubmVySFRNTDtcbiAgfTtcbn1cblxuZnVuY3Rpb24gZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsIHJlZ2lzdHJhdGlvbk5hbWUpIHtcbiAgdmFyIGlzRG9jdW1lbnRPckZyYWdtZW50ID0gcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgfHwgcm9vdENvbnRhaW5lckVsZW1lbnQubm9kZVR5cGUgPT09IERPQ1VNRU5UX0ZSQUdNRU5UX05PREU7XG4gIHZhciBkb2MgPSBpc0RvY3VtZW50T3JGcmFnbWVudCA/IHJvb3RDb250YWluZXJFbGVtZW50IDogcm9vdENvbnRhaW5lckVsZW1lbnQub3duZXJEb2N1bWVudDtcbiAgbGVnYWN5TGlzdGVuVG9FdmVudChyZWdpc3RyYXRpb25OYW1lLCBkb2MpO1xufVxuXG5mdW5jdGlvbiBnZXRPd25lckRvY3VtZW50RnJvbVJvb3RDb250YWluZXIocm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAgcmV0dXJuIHJvb3RDb250YWluZXJFbGVtZW50Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gcm9vdENvbnRhaW5lckVsZW1lbnQgOiByb290Q29udGFpbmVyRWxlbWVudC5vd25lckRvY3VtZW50O1xufVxuXG5mdW5jdGlvbiBub29wKCkge31cblxuZnVuY3Rpb24gdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQobm9kZSkge1xuICAvLyBNb2JpbGUgU2FmYXJpIGRvZXMgbm90IGZpcmUgcHJvcGVybHkgYnViYmxlIGNsaWNrIGV2ZW50cyBvblxuICAvLyBub24taW50ZXJhY3RpdmUgZWxlbWVudHMsIHdoaWNoIG1lYW5zIGRlbGVnYXRlZCBjbGljayBsaXN0ZW5lcnMgZG8gbm90XG4gIC8vIGZpcmUuIFRoZSB3b3JrYXJvdW5kIGZvciB0aGlzIGJ1ZyBpbnZvbHZlcyBhdHRhY2hpbmcgYW4gZW1wdHkgY2xpY2tcbiAgLy8gbGlzdGVuZXIgb24gdGhlIHRhcmdldCBub2RlLlxuICAvLyBodHRwOi8vd3d3LnF1aXJrc21vZGUub3JnL2Jsb2cvYXJjaGl2ZXMvMjAxMC8wOS9jbGlja19ldmVudF9kZWwuaHRtbFxuICAvLyBKdXN0IHNldCBpdCB1c2luZyB0aGUgb25jbGljayBwcm9wZXJ0eSBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gbWFuYWdlIGFueVxuICAvLyBib29ra2VlcGluZyBmb3IgaXQuIE5vdCBzdXJlIGlmIHdlIG5lZWQgdG8gY2xlYXIgaXQgd2hlbiB0aGUgbGlzdGVuZXIgaXNcbiAgLy8gcmVtb3ZlZC5cbiAgLy8gVE9ETzogT25seSBkbyB0aGlzIGZvciB0aGUgcmVsZXZhbnQgU2FmYXJpcyBtYXliZT9cbiAgbm9kZS5vbmNsaWNrID0gbm9vcDtcbn1cblxuZnVuY3Rpb24gc2V0SW5pdGlhbERPTVByb3BlcnRpZXModGFnLCBkb21FbGVtZW50LCByb290Q29udGFpbmVyRWxlbWVudCwgbmV4dFByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZykge1xuICBmb3IgKHZhciBwcm9wS2V5IGluIG5leHRQcm9wcykge1xuICAgIGlmICghbmV4dFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByb3AgPSBuZXh0UHJvcHNbcHJvcEtleV07XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHtcbiAgICAgICAgaWYgKG5leHRQcm9wKSB7XG4gICAgICAgICAgLy8gRnJlZXplIHRoZSBuZXh0IHN0eWxlIG9iamVjdCBzbyB0aGF0IHdlIGNhbiBhc3N1bWUgaXQgd29uJ3QgYmVcbiAgICAgICAgICAvLyBtdXRhdGVkLiBXZSBoYXZlIGFscmVhZHkgd2FybmVkIGZvciB0aGlzIGluIHRoZSBwYXN0LlxuICAgICAgICAgIE9iamVjdC5mcmVlemUobmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IC8vIFJlbGllcyBvbiBgdXBkYXRlU3R5bGVzQnlJRGAgbm90IG11dGF0aW5nIGBzdHlsZVVwZGF0ZXNgLlxuXG5cbiAgICAgIHNldFZhbHVlRm9yU3R5bGVzKGRvbUVsZW1lbnQsIG5leHRQcm9wKTtcbiAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IERBTkdFUk9VU0xZX1NFVF9JTk5FUl9IVE1MKSB7XG4gICAgICB2YXIgbmV4dEh0bWwgPSBuZXh0UHJvcCA/IG5leHRQcm9wW0hUTUwkMV0gOiB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChuZXh0SHRtbCAhPSBudWxsKSB7XG4gICAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gQXZvaWQgc2V0dGluZyBpbml0aWFsIHRleHRDb250ZW50IHdoZW4gdGhlIHRleHQgaXMgZW1wdHkuIEluIElFMTEgc2V0dGluZ1xuICAgICAgICAvLyB0ZXh0Q29udGVudCBvbiBhIDx0ZXh0YXJlYT4gd2lsbCBjYXVzZSB0aGUgcGxhY2Vob2xkZXIgdG8gbm90XG4gICAgICAgIC8vIHNob3cgd2l0aGluIHRoZSA8dGV4dGFyZWE+IHVudGlsIGl0IGhhcyBiZWVuIGZvY3VzZWQgYW5kIGJsdXJyZWQgYWdhaW4uXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNjczMSNpc3N1ZWNvbW1lbnQtMjU0ODc0NTUzXG4gICAgICAgIHZhciBjYW5TZXRUZXh0Q29udGVudCA9IHRhZyAhPT0gJ3RleHRhcmVhJyB8fCBuZXh0UHJvcCAhPT0gJyc7XG5cbiAgICAgICAgaWYgKGNhblNldFRleHRDb250ZW50KSB7XG4gICAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgc2V0VGV4dENvbnRlbnQoZG9tRWxlbWVudCwgJycgKyBuZXh0UHJvcCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICggcHJvcEtleSA9PT0gU1VQUFJFU1NfQ09OVEVOVF9FRElUQUJMRV9XQVJOSU5HIHx8IHByb3BLZXkgPT09IFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HKSA7IGVsc2UgaWYgKHByb3BLZXkgPT09IEFVVE9GT0NVUykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lTW9kdWxlcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsIHByb3BLZXkpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobmV4dFByb3AgIT0gbnVsbCkge1xuICAgICAgc2V0VmFsdWVGb3JQcm9wZXJ0eShkb21FbGVtZW50LCBwcm9wS2V5LCBuZXh0UHJvcCwgaXNDdXN0b21Db21wb25lbnRUYWcpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1cGRhdGVET01Qcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHdhc0N1c3RvbUNvbXBvbmVudFRhZywgaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgLy8gVE9ETzogSGFuZGxlIHdhc0N1c3RvbUNvbXBvbmVudFRhZ1xuICBmb3IgKHZhciBpID0gMDsgaSA8IHVwZGF0ZVBheWxvYWQubGVuZ3RoOyBpICs9IDIpIHtcbiAgICB2YXIgcHJvcEtleSA9IHVwZGF0ZVBheWxvYWRbaV07XG4gICAgdmFyIHByb3BWYWx1ZSA9IHVwZGF0ZVBheWxvYWRbaSArIDFdO1xuXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XG4gICAgICBzZXRWYWx1ZUZvclN0eWxlcyhkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcbiAgICAgIHNldElubmVySFRNTChkb21FbGVtZW50LCBwcm9wVmFsdWUpO1xuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gQ0hJTERSRU4pIHtcbiAgICAgIHNldFRleHRDb250ZW50KGRvbUVsZW1lbnQsIHByb3BWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFZhbHVlRm9yUHJvcGVydHkoZG9tRWxlbWVudCwgcHJvcEtleSwgcHJvcFZhbHVlLCBpc0N1c3RvbUNvbXBvbmVudFRhZyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnQodHlwZSwgcHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50LCBwYXJlbnROYW1lc3BhY2UpIHtcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnOyAvLyBXZSBjcmVhdGUgdGFncyBpbiB0aGUgbmFtZXNwYWNlIG9mIHRoZWlyIHBhcmVudCBjb250YWluZXIsIGV4Y2VwdCBIVE1MXG4gIC8vIHRhZ3MgZ2V0IG5vIG5hbWVzcGFjZS5cblxuICB2YXIgb3duZXJEb2N1bWVudCA9IGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVyRWxlbWVudCk7XG4gIHZhciBkb21FbGVtZW50O1xuICB2YXIgbmFtZXNwYWNlVVJJID0gcGFyZW50TmFtZXNwYWNlO1xuXG4gIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFJDEpIHtcbiAgICBuYW1lc3BhY2VVUkkgPSBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodHlwZSk7XG4gIH1cblxuICBpZiAobmFtZXNwYWNlVVJJID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XG4gICAge1xuICAgICAgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0eXBlLCBwcm9wcyk7IC8vIFNob3VsZCB0aGlzIGNoZWNrIGJlIGdhdGVkIGJ5IHBhcmVudCBuYW1lc3BhY2U/IE5vdCBzdXJlIHdlIHdhbnQgdG9cbiAgICAgIC8vIGFsbG93IDxTVkc+IG9yIDxtQVRIPi5cblxuICAgICAgaWYgKCFpc0N1c3RvbUNvbXBvbmVudFRhZyAmJiB0eXBlICE9PSB0eXBlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgZXJyb3IoJzwlcyAvPiBpcyB1c2luZyBpbmNvcnJlY3QgY2FzaW5nLiAnICsgJ1VzZSBQYXNjYWxDYXNlIGZvciBSZWFjdCBjb21wb25lbnRzLCAnICsgJ29yIGxvd2VyY2FzZSBmb3IgSFRNTCBlbGVtZW50cy4nLCB0eXBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ3NjcmlwdCcpIHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgc2NyaXB0IHZpYSAuaW5uZXJIVE1MIHNvIGl0cyBcInBhcnNlci1pbnNlcnRlZFwiIGZsYWcgaXNcbiAgICAgIC8vIHNldCB0byB0cnVlIGFuZCBpdCBkb2VzIG5vdCBleGVjdXRlXG4gICAgICB2YXIgZGl2ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcblxuICAgICAgZGl2LmlubmVySFRNTCA9ICc8c2NyaXB0PjwnICsgJy9zY3JpcHQ+JzsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgLy8gVGhpcyBpcyBndWFyYW50ZWVkIHRvIHlpZWxkIGEgc2NyaXB0IGVsZW1lbnQuXG5cbiAgICAgIHZhciBmaXJzdENoaWxkID0gZGl2LmZpcnN0Q2hpbGQ7XG4gICAgICBkb21FbGVtZW50ID0gZGl2LnJlbW92ZUNoaWxkKGZpcnN0Q2hpbGQpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHByb3BzLmlzID09PSAnc3RyaW5nJykge1xuICAgICAgLy8gJEZsb3dJc3N1ZSBgY3JlYXRlRWxlbWVudGAgc2hvdWxkIGJlIHVwZGF0ZWQgZm9yIFdlYiBDb21wb25lbnRzXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUsIHtcbiAgICAgICAgaXM6IHByb3BzLmlzXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU2VwYXJhdGUgZWxzZSBicmFuY2ggaW5zdGVhZCBvZiB1c2luZyBgcHJvcHMuaXMgfHwgdW5kZWZpbmVkYCBhYm92ZSBiZWNhdXNlIG9mIGEgRmlyZWZveCBidWcuXG4gICAgICAvLyBTZWUgZGlzY3Vzc2lvbiBpbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC82ODk2XG4gICAgICAvLyBhbmQgZGlzY3Vzc2lvbiBpbiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc2MjQwXG4gICAgICBkb21FbGVtZW50ID0gb3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOyAvLyBOb3JtYWxseSBhdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCBpbiBgc2V0SW5pdGlhbERPTVByb3BlcnRpZXNgLCBob3dldmVyIHRoZSBgbXVsdGlwbGVgIGFuZCBgc2l6ZWBcbiAgICAgIC8vIGF0dHJpYnV0ZXMgb24gYHNlbGVjdGBzIG5lZWRzIHRvIGJlIGFkZGVkIGJlZm9yZSBgb3B0aW9uYHMgYXJlIGluc2VydGVkLlxuICAgICAgLy8gVGhpcyBwcmV2ZW50czpcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIGRvZXMgbm90IHNjcm9sbCB0byB0aGUgY29ycmVjdCBvcHRpb24gYmVjYXVzZSBzaW5ndWxhclxuICAgICAgLy8gIGBzZWxlY3RgIGVsZW1lbnRzIGF1dG9tYXRpY2FsbHkgcGljayB0aGUgZmlyc3QgaXRlbSAjMTMyMjJcbiAgICAgIC8vIC0gYSBidWcgd2hlcmUgdGhlIGBzZWxlY3RgIHNldCB0aGUgZmlyc3QgaXRlbSBhcyBzZWxlY3RlZCBkZXNwaXRlIHRoZSBgc2l6ZWAgYXR0cmlidXRlICMxNDIzOVxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMTMyMjJcbiAgICAgIC8vIGFuZCBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE0MjM5XG5cbiAgICAgIGlmICh0eXBlID09PSAnc2VsZWN0Jykge1xuICAgICAgICB2YXIgbm9kZSA9IGRvbUVsZW1lbnQ7XG5cbiAgICAgICAgaWYgKHByb3BzLm11bHRpcGxlKSB7XG4gICAgICAgICAgbm9kZS5tdWx0aXBsZSA9IHRydWU7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvcHMuc2l6ZSkge1xuICAgICAgICAgIC8vIFNldHRpbmcgYSBzaXplIGdyZWF0ZXIgdGhhbiAxIGNhdXNlcyBhIHNlbGVjdCB0byBiZWhhdmUgbGlrZSBgbXVsdGlwbGU9dHJ1ZWAsIHdoZXJlXG4gICAgICAgICAgLy8gaXQgaXMgcG9zc2libGUgdGhhdCBubyBvcHRpb24gaXMgc2VsZWN0ZWQuXG4gICAgICAgICAgLy9cbiAgICAgICAgICAvLyBUaGlzIGlzIG9ubHkgbmVjZXNzYXJ5IHdoZW4gYSBzZWxlY3QgaW4gXCJzaW5nbGUgc2VsZWN0aW9uIG1vZGVcIi5cbiAgICAgICAgICBub2RlLnNpemUgPSBwcm9wcy5zaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGRvbUVsZW1lbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhuYW1lc3BhY2VVUkksIHR5cGUpO1xuICB9XG5cbiAge1xuICAgIGlmIChuYW1lc3BhY2VVUkkgPT09IEhUTUxfTkFNRVNQQUNFJDEpIHtcbiAgICAgIGlmICghaXNDdXN0b21Db21wb25lbnRUYWcgJiYgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGRvbUVsZW1lbnQpID09PSAnW29iamVjdCBIVE1MVW5rbm93bkVsZW1lbnRdJyAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHdhcm5lZFVua25vd25UYWdzLCB0eXBlKSkge1xuICAgICAgICB3YXJuZWRVbmtub3duVGFnc1t0eXBlXSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ1RoZSB0YWcgPCVzPiBpcyB1bnJlY29nbml6ZWQgaW4gdGhpcyBicm93c2VyLiAnICsgJ0lmIHlvdSBtZWFudCB0byByZW5kZXIgYSBSZWFjdCBjb21wb25lbnQsIHN0YXJ0IGl0cyBuYW1lIHdpdGggJyArICdhbiB1cHBlcmNhc2UgbGV0dGVyLicsIHR5cGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkb21FbGVtZW50O1xufVxuZnVuY3Rpb24gY3JlYXRlVGV4dE5vZGUodGV4dCwgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAgcmV0dXJuIGdldE93bmVyRG9jdW1lbnRGcm9tUm9vdENvbnRhaW5lcihyb290Q29udGFpbmVyRWxlbWVudCkuY3JlYXRlVGV4dE5vZGUodGV4dCk7XG59XG5mdW5jdGlvbiBzZXRJbml0aWFsUHJvcGVydGllcyhkb21FbGVtZW50LCB0YWcsIHJhd1Byb3BzLCByb290Q29udGFpbmVyRWxlbWVudCkge1xuICB2YXIgaXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIHJhd1Byb3BzKTtcblxuICB7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIHJhd1Byb3BzKTtcbiAgfSAvLyBUT0RPOiBNYWtlIHN1cmUgdGhhdCB3ZSBjaGVjayBpc01vdW50ZWQgYmVmb3JlIGZpcmluZyBhbnkgb2YgdGhlc2UgZXZlbnRzLlxuXG5cbiAgdmFyIHByb3BzO1xuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaWZyYW1lJzpcbiAgICBjYXNlICdvYmplY3QnOlxuICAgIGNhc2UgJ2VtYmVkJzpcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0xPQUQsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndmlkZW8nOlxuICAgIGNhc2UgJ2F1ZGlvJzpcbiAgICAgIC8vIENyZWF0ZSBsaXN0ZW5lciBmb3IgZWFjaCBtZWRpYSBldmVudFxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZWRpYUV2ZW50VHlwZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdHJhcEJ1YmJsZWRFdmVudChtZWRpYUV2ZW50VHlwZXNbaV0sIGRvbUVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBwcm9wcyA9IHJhd1Byb3BzO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzb3VyY2UnOlxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW1nJzpcbiAgICBjYXNlICdpbWFnZSc6XG4gICAgY2FzZSAnbGluayc6XG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9FUlJPUiwgZG9tRWxlbWVudCk7XG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9MT0FELCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2Zvcm0nOlxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfUkVTRVQsIGRvbUVsZW1lbnQpO1xuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfU1VCTUlULCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfVE9HR0xFLCBkb21FbGVtZW50KTtcbiAgICAgIHByb3BzID0gcmF3UHJvcHM7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIGluaXRXcmFwcGVyU3RhdGUoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xuICAgICAgLy8gdG8gb25DaGFuZ2UuIEV2ZW4gaWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIuXG5cbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHZhbGlkYXRlUHJvcHMoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXG4gICAgICAvLyB0byBvbkNoYW5nZS4gRXZlbiBpZiB0aGVyZSBpcyBubyBsaXN0ZW5lci5cblxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDIoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgcHJvcHMgPSBnZXRIb3N0UHJvcHMkMyhkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXG4gICAgICAvLyB0byBvbkNoYW5nZS4gRXZlbiBpZiB0aGVyZSBpcyBubyBsaXN0ZW5lci5cblxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcHJvcHMgPSByYXdQcm9wcztcbiAgfVxuXG4gIGFzc2VydFZhbGlkUHJvcHModGFnLCBwcm9wcyk7XG4gIHNldEluaXRpYWxET01Qcm9wZXJ0aWVzKHRhZywgZG9tRWxlbWVudCwgcm9vdENvbnRhaW5lckVsZW1lbnQsIHByb3BzLCBpc0N1c3RvbUNvbXBvbmVudFRhZyk7XG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpbnB1dCc6XG4gICAgICAvLyBUT0RPOiBNYWtlIHN1cmUgd2UgY2hlY2sgaWYgdGhpcyBpcyBzdGlsbCB1bm1vdW50ZWQgb3IgZG8gYW55IGNsZWFuXG4gICAgICAvLyB1cCBuZWNlc3Nhcnkgc2luY2Ugd2UgbmV2ZXIgc3RvcCB0cmFja2luZyBhbnltb3JlLlxuICAgICAgdHJhY2soZG9tRWxlbWVudCk7XG4gICAgICBwb3N0TW91bnRXcmFwcGVyKGRvbUVsZW1lbnQsIHJhd1Byb3BzLCBmYWxzZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMyhkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMShkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICBwb3N0TW91bnRXcmFwcGVyJDIoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKHR5cGVvZiBwcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgY2FzdCBtYXkgbm90IGJlIHNvdW5kIGZvciBTVkcsIE1hdGhNTCBvciBjdXN0b20gZWxlbWVudHMuXG4gICAgICAgIHRyYXBDbGlja09uTm9uSW50ZXJhY3RpdmVFbGVtZW50KGRvbUVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgfVxufSAvLyBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiB0aGUgdHdvIG9iamVjdHMuXG5cbmZ1bmN0aW9uIGRpZmZQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgbGFzdFJhd1Byb3BzLCBuZXh0UmF3UHJvcHMsIHJvb3RDb250YWluZXJFbGVtZW50KSB7XG4gIHtcbiAgICB2YWxpZGF0ZVByb3BlcnRpZXNJbkRldmVsb3BtZW50KHRhZywgbmV4dFJhd1Byb3BzKTtcbiAgfVxuXG4gIHZhciB1cGRhdGVQYXlsb2FkID0gbnVsbDtcbiAgdmFyIGxhc3RQcm9wcztcbiAgdmFyIG5leHRQcm9wcztcblxuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIGxhc3RQcm9wcyA9IGdldEhvc3RQcm9wcyhkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XG4gICAgICB1cGRhdGVQYXlsb2FkID0gW107XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ29wdGlvbic6XG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMShkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzJDEoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIGxhc3RQcm9wcyA9IGdldEhvc3RQcm9wcyQyKGRvbUVsZW1lbnQsIGxhc3RSYXdQcm9wcyk7XG4gICAgICBuZXh0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMihkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICBsYXN0UHJvcHMgPSBnZXRIb3N0UHJvcHMkMyhkb21FbGVtZW50LCBsYXN0UmF3UHJvcHMpO1xuICAgICAgbmV4dFByb3BzID0gZ2V0SG9zdFByb3BzJDMoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIGJyZWFrO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIGxhc3RQcm9wcyA9IGxhc3RSYXdQcm9wcztcbiAgICAgIG5leHRQcm9wcyA9IG5leHRSYXdQcm9wcztcblxuICAgICAgaWYgKHR5cGVvZiBsYXN0UHJvcHMub25DbGljayAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgbmV4dFByb3BzLm9uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVE9ETzogVGhpcyBjYXN0IG1heSBub3QgYmUgc291bmQgZm9yIFNWRywgTWF0aE1MIG9yIGN1c3RvbSBlbGVtZW50cy5cbiAgICAgICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQoZG9tRWxlbWVudCk7XG4gICAgICB9XG5cbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgYXNzZXJ0VmFsaWRQcm9wcyh0YWcsIG5leHRQcm9wcyk7XG4gIHZhciBwcm9wS2V5O1xuICB2YXIgc3R5bGVOYW1lO1xuICB2YXIgc3R5bGVVcGRhdGVzID0gbnVsbDtcblxuICBmb3IgKHByb3BLZXkgaW4gbGFzdFByb3BzKSB7XG4gICAgaWYgKG5leHRQcm9wcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSB8fCAhbGFzdFByb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpIHx8IGxhc3RQcm9wc1twcm9wS2V5XSA9PSBudWxsKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAocHJvcEtleSA9PT0gU1RZTEUpIHtcbiAgICAgIHZhciBsYXN0U3R5bGUgPSBsYXN0UHJvcHNbcHJvcEtleV07XG5cbiAgICAgIGZvciAoc3R5bGVOYW1lIGluIGxhc3RTdHlsZSkge1xuICAgICAgICBpZiAobGFzdFN0eWxlLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpIHtcbiAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgc3R5bGVVcGRhdGVzW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwgfHwgcHJvcEtleSA9PT0gQ0hJTERSRU4pIDsgZWxzZSBpZiAoIHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChwcm9wS2V5ID09PSBBVVRPRk9DVVMpIDsgZWxzZSBpZiAocmVnaXN0cmF0aW9uTmFtZU1vZHVsZXMuaGFzT3duUHJvcGVydHkocHJvcEtleSkpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBzcGVjaWFsIGNhc2UuIElmIGFueSBsaXN0ZW5lciB1cGRhdGVzIHdlIG5lZWQgdG8gZW5zdXJlXG4gICAgICAvLyB0aGF0IHRoZSBcImN1cnJlbnRcIiBmaWJlciBwb2ludGVyIGdldHMgdXBkYXRlZCBzbyB3ZSBuZWVkIGEgY29tbWl0XG4gICAgICAvLyB0byB1cGRhdGUgdGhpcyBlbGVtZW50LlxuICAgICAgaWYgKCF1cGRhdGVQYXlsb2FkKSB7XG4gICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIGFsbCBvdGhlciBkZWxldGVkIHByb3BlcnRpZXMgd2UgYWRkIGl0IHRvIHRoZSBxdWV1ZS4gV2UgdXNlXG4gICAgICAvLyB0aGUgd2hpdGVsaXN0IGluIHRoZSBjb21taXQgcGhhc2UgaW5zdGVhZC5cbiAgICAgICh1cGRhdGVQYXlsb2FkID0gdXBkYXRlUGF5bG9hZCB8fCBbXSkucHVzaChwcm9wS2V5LCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBmb3IgKHByb3BLZXkgaW4gbmV4dFByb3BzKSB7XG4gICAgdmFyIG5leHRQcm9wID0gbmV4dFByb3BzW3Byb3BLZXldO1xuICAgIHZhciBsYXN0UHJvcCA9IGxhc3RQcm9wcyAhPSBudWxsID8gbGFzdFByb3BzW3Byb3BLZXldIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKCFuZXh0UHJvcHMuaGFzT3duUHJvcGVydHkocHJvcEtleSkgfHwgbmV4dFByb3AgPT09IGxhc3RQcm9wIHx8IG5leHRQcm9wID09IG51bGwgJiYgbGFzdFByb3AgPT0gbnVsbCkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XG4gICAgICB7XG4gICAgICAgIGlmIChuZXh0UHJvcCkge1xuICAgICAgICAgIC8vIEZyZWV6ZSB0aGUgbmV4dCBzdHlsZSBvYmplY3Qgc28gdGhhdCB3ZSBjYW4gYXNzdW1lIGl0IHdvbid0IGJlXG4gICAgICAgICAgLy8gbXV0YXRlZC4gV2UgaGF2ZSBhbHJlYWR5IHdhcm5lZCBmb3IgdGhpcyBpbiB0aGUgcGFzdC5cbiAgICAgICAgICBPYmplY3QuZnJlZXplKG5leHRQcm9wKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobGFzdFByb3ApIHtcbiAgICAgICAgLy8gVW5zZXQgc3R5bGVzIG9uIGBsYXN0UHJvcGAgYnV0IG5vdCBvbiBgbmV4dFByb3BgLlxuICAgICAgICBmb3IgKHN0eWxlTmFtZSBpbiBsYXN0UHJvcCkge1xuICAgICAgICAgIGlmIChsYXN0UHJvcC5oYXNPd25Qcm9wZXJ0eShzdHlsZU5hbWUpICYmICghbmV4dFByb3AgfHwgIW5leHRQcm9wLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkpKSB7XG4gICAgICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgICAgICBzdHlsZVVwZGF0ZXMgPSB7fTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3R5bGVVcGRhdGVzW3N0eWxlTmFtZV0gPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gVXBkYXRlIHN0eWxlcyB0aGF0IGNoYW5nZWQgc2luY2UgYGxhc3RQcm9wYC5cblxuXG4gICAgICAgIGZvciAoc3R5bGVOYW1lIGluIG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKG5leHRQcm9wLmhhc093blByb3BlcnR5KHN0eWxlTmFtZSkgJiYgbGFzdFByb3Bbc3R5bGVOYW1lXSAhPT0gbmV4dFByb3Bbc3R5bGVOYW1lXSkge1xuICAgICAgICAgICAgaWYgKCFzdHlsZVVwZGF0ZXMpIHtcbiAgICAgICAgICAgICAgc3R5bGVVcGRhdGVzID0ge307XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0eWxlVXBkYXRlc1tzdHlsZU5hbWVdID0gbmV4dFByb3Bbc3R5bGVOYW1lXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFJlbGllcyBvbiBgdXBkYXRlU3R5bGVzQnlJRGAgbm90IG11dGF0aW5nIGBzdHlsZVVwZGF0ZXNgLlxuICAgICAgICBpZiAoIXN0eWxlVXBkYXRlcykge1xuICAgICAgICAgIGlmICghdXBkYXRlUGF5bG9hZCkge1xuICAgICAgICAgICAgdXBkYXRlUGF5bG9hZCA9IFtdO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQucHVzaChwcm9wS2V5LCBzdHlsZVVwZGF0ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3R5bGVVcGRhdGVzID0gbmV4dFByb3A7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wS2V5ID09PSBEQU5HRVJPVVNMWV9TRVRfSU5ORVJfSFRNTCkge1xuICAgICAgdmFyIG5leHRIdG1sID0gbmV4dFByb3AgPyBuZXh0UHJvcFtIVE1MJDFdIDogdW5kZWZpbmVkO1xuICAgICAgdmFyIGxhc3RIdG1sID0gbGFzdFByb3AgPyBsYXN0UHJvcFtIVE1MJDFdIDogdW5kZWZpbmVkO1xuXG4gICAgICBpZiAobmV4dEh0bWwgIT0gbnVsbCkge1xuICAgICAgICBpZiAobGFzdEh0bWwgIT09IG5leHRIdG1sKSB7XG4gICAgICAgICAgKHVwZGF0ZVBheWxvYWQgPSB1cGRhdGVQYXlsb2FkIHx8IFtdKS5wdXNoKHByb3BLZXksIG5leHRIdG1sKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAocHJvcEtleSA9PT0gQ0hJTERSRU4pIHtcbiAgICAgIGlmIChsYXN0UHJvcCAhPT0gbmV4dFByb3AgJiYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5leHRQcm9wID09PSAnbnVtYmVyJykpIHtcbiAgICAgICAgKHVwZGF0ZVBheWxvYWQgPSB1cGRhdGVQYXlsb2FkIHx8IFtdKS5wdXNoKHByb3BLZXksICcnICsgbmV4dFByb3ApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIHByb3BLZXkgPT09IFNVUFBSRVNTX0NPTlRFTlRfRURJVEFCTEVfV0FSTklORyB8fCBwcm9wS2V5ID09PSBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORykgOyBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lTW9kdWxlcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgLy8gV2UgZWFnZXJseSBsaXN0ZW4gdG8gdGhpcyBldmVuIHRob3VnaCB3ZSBoYXZlbid0IGNvbW1pdHRlZCB5ZXQuXG4gICAgICAgIGlmICggdHlwZW9mIG5leHRQcm9wICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgd2FybkZvckludmFsaWRFdmVudExpc3RlbmVyKHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCBwcm9wS2V5KTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF1cGRhdGVQYXlsb2FkICYmIGxhc3RQcm9wICE9PSBuZXh0UHJvcCkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgc3BlY2lhbCBjYXNlLiBJZiBhbnkgbGlzdGVuZXIgdXBkYXRlcyB3ZSBuZWVkIHRvIGVuc3VyZVxuICAgICAgICAvLyB0aGF0IHRoZSBcImN1cnJlbnRcIiBwcm9wcyBwb2ludGVyIGdldHMgdXBkYXRlZCBzbyB3ZSBuZWVkIGEgY29tbWl0XG4gICAgICAgIC8vIHRvIHVwZGF0ZSB0aGlzIGVsZW1lbnQuXG4gICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbXTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRm9yIGFueSBvdGhlciBwcm9wZXJ0eSB3ZSBhbHdheXMgYWRkIGl0IHRvIHRoZSBxdWV1ZSBhbmQgdGhlbiB3ZVxuICAgICAgLy8gZmlsdGVyIGl0IG91dCB1c2luZyB0aGUgd2hpdGVsaXN0IGR1cmluZyB0aGUgY29tbWl0LlxuICAgICAgKHVwZGF0ZVBheWxvYWQgPSB1cGRhdGVQYXlsb2FkIHx8IFtdKS5wdXNoKHByb3BLZXksIG5leHRQcm9wKTtcbiAgICB9XG4gIH1cblxuICBpZiAoc3R5bGVVcGRhdGVzKSB7XG4gICAge1xuICAgICAgdmFsaWRhdGVTaG9ydGhhbmRQcm9wZXJ0eUNvbGxpc2lvbkluRGV2KHN0eWxlVXBkYXRlcywgbmV4dFByb3BzW1NUWUxFXSk7XG4gICAgfVxuXG4gICAgKHVwZGF0ZVBheWxvYWQgPSB1cGRhdGVQYXlsb2FkIHx8IFtdKS5wdXNoKFNUWUxFLCBzdHlsZVVwZGF0ZXMpO1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZVBheWxvYWQ7XG59IC8vIEFwcGx5IHRoZSBkaWZmLlxuXG5mdW5jdGlvbiB1cGRhdGVQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHVwZGF0ZVBheWxvYWQsIHRhZywgbGFzdFJhd1Byb3BzLCBuZXh0UmF3UHJvcHMpIHtcbiAgLy8gVXBkYXRlIGNoZWNrZWQgKmJlZm9yZSogbmFtZS5cbiAgLy8gSW4gdGhlIG1pZGRsZSBvZiBhbiB1cGRhdGUsIGl0IGlzIHBvc3NpYmxlIHRvIGhhdmUgbXVsdGlwbGUgY2hlY2tlZC5cbiAgLy8gV2hlbiBhIGNoZWNrZWQgcmFkaW8gdHJpZXMgdG8gY2hhbmdlIG5hbWUsIGJyb3dzZXIgbWFrZXMgYW5vdGhlciByYWRpbydzIGNoZWNrZWQgZmFsc2UuXG4gIGlmICh0YWcgPT09ICdpbnB1dCcgJiYgbmV4dFJhd1Byb3BzLnR5cGUgPT09ICdyYWRpbycgJiYgbmV4dFJhd1Byb3BzLm5hbWUgIT0gbnVsbCkge1xuICAgIHVwZGF0ZUNoZWNrZWQoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgfVxuXG4gIHZhciB3YXNDdXN0b21Db21wb25lbnRUYWcgPSBpc0N1c3RvbUNvbXBvbmVudCh0YWcsIGxhc3RSYXdQcm9wcyk7XG4gIHZhciBpc0N1c3RvbUNvbXBvbmVudFRhZyA9IGlzQ3VzdG9tQ29tcG9uZW50KHRhZywgbmV4dFJhd1Byb3BzKTsgLy8gQXBwbHkgdGhlIGRpZmYuXG5cbiAgdXBkYXRlRE9NUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB3YXNDdXN0b21Db21wb25lbnRUYWcsIGlzQ3VzdG9tQ29tcG9uZW50VGFnKTsgLy8gVE9ETzogRW5zdXJlIHRoYXQgYW4gdXBkYXRlIGdldHMgc2NoZWR1bGVkIGlmIGFueSBvZiB0aGUgc3BlY2lhbCBwcm9wc1xuICAvLyBjaGFuZ2VkLlxuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgLy8gVXBkYXRlIHRoZSB3cmFwcGVyIGFyb3VuZCBpbnB1dHMgKmFmdGVyKiB1cGRhdGluZyBwcm9wcy4gVGhpcyBoYXMgdG9cbiAgICAgIC8vIGhhcHBlbiBhZnRlciBgdXBkYXRlRE9NUHJvcGVydGllc2AuIE90aGVyd2lzZSBIVE1MNSBpbnB1dCB2YWxpZGF0aW9uc1xuICAgICAgLy8gcmFpc2Ugd2FybmluZ3MgYW5kIHByZXZlbnQgdGhlIG5ldyB2YWx1ZSBmcm9tIGJlaW5nIGFzc2lnbmVkLlxuICAgICAgdXBkYXRlV3JhcHBlcihkb21FbGVtZW50LCBuZXh0UmF3UHJvcHMpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICd0ZXh0YXJlYSc6XG4gICAgICB1cGRhdGVXcmFwcGVyJDEoZG9tRWxlbWVudCwgbmV4dFJhd1Byb3BzKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgIC8vIDxzZWxlY3Q+IHZhbHVlIHVwZGF0ZSBuZWVkcyB0byBvY2N1ciBhZnRlciA8b3B0aW9uPiBjaGlsZHJlblxuICAgICAgLy8gcmVjb25jaWxpYXRpb25cbiAgICAgIHBvc3RVcGRhdGVXcmFwcGVyKGRvbUVsZW1lbnQsIG5leHRSYXdQcm9wcyk7XG4gICAgICBicmVhaztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRQb3NzaWJsZVN0YW5kYXJkTmFtZShwcm9wTmFtZSkge1xuICB7XG4gICAgdmFyIGxvd2VyQ2FzZWROYW1lID0gcHJvcE5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmICghcG9zc2libGVTdGFuZGFyZE5hbWVzLmhhc093blByb3BlcnR5KGxvd2VyQ2FzZWROYW1lKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBvc3NpYmxlU3RhbmRhcmROYW1lc1tsb3dlckNhc2VkTmFtZV0gfHwgbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiBkaWZmSHlkcmF0ZWRQcm9wZXJ0aWVzKGRvbUVsZW1lbnQsIHRhZywgcmF3UHJvcHMsIHBhcmVudE5hbWVzcGFjZSwgcm9vdENvbnRhaW5lckVsZW1lbnQpIHtcbiAgdmFyIGlzQ3VzdG9tQ29tcG9uZW50VGFnO1xuICB2YXIgZXh0cmFBdHRyaWJ1dGVOYW1lcztcblxuICB7XG4gICAgc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nID0gcmF3UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkddID09PSB0cnVlO1xuICAgIGlzQ3VzdG9tQ29tcG9uZW50VGFnID0gaXNDdXN0b21Db21wb25lbnQodGFnLCByYXdQcm9wcyk7XG4gICAgdmFsaWRhdGVQcm9wZXJ0aWVzSW5EZXZlbG9wbWVudCh0YWcsIHJhd1Byb3BzKTtcbiAgfSAvLyBUT0RPOiBNYWtlIHN1cmUgdGhhdCB3ZSBjaGVjayBpc01vdW50ZWQgYmVmb3JlIGZpcmluZyBhbnkgb2YgdGhlc2UgZXZlbnRzLlxuXG5cbiAgc3dpdGNoICh0YWcpIHtcbiAgICBjYXNlICdpZnJhbWUnOlxuICAgIGNhc2UgJ29iamVjdCc6XG4gICAgY2FzZSAnZW1iZWQnOlxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfTE9BRCwgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3ZpZGVvJzpcbiAgICBjYXNlICdhdWRpbyc6XG4gICAgICAvLyBDcmVhdGUgbGlzdGVuZXIgZm9yIGVhY2ggbWVkaWEgZXZlbnRcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWVkaWFFdmVudFR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHRyYXBCdWJibGVkRXZlbnQobWVkaWFFdmVudFR5cGVzW2ldLCBkb21FbGVtZW50KTtcbiAgICAgIH1cblxuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdzb3VyY2UnOlxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfRVJST1IsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdpbWcnOlxuICAgIGNhc2UgJ2ltYWdlJzpcbiAgICBjYXNlICdsaW5rJzpcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0VSUk9SLCBkb21FbGVtZW50KTtcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0xPQUQsIGRvbUVsZW1lbnQpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdmb3JtJzpcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1JFU0VULCBkb21FbGVtZW50KTtcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX1NVQk1JVCwgZG9tRWxlbWVudCk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ2RldGFpbHMnOlxuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfVE9HR0xFLCBkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZShkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICB0cmFwQnViYmxlZEV2ZW50KFRPUF9JTlZBTElELCBkb21FbGVtZW50KTsgLy8gRm9yIGNvbnRyb2xsZWQgY29tcG9uZW50cyB3ZSBhbHdheXMgbmVlZCB0byBlbnN1cmUgd2UncmUgbGlzdGVuaW5nXG4gICAgICAvLyB0byBvbkNoYW5nZS4gRXZlbiBpZiB0aGVyZSBpcyBubyBsaXN0ZW5lci5cblxuICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsICdvbkNoYW5nZScpO1xuICAgICAgYnJlYWs7XG5cbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgdmFsaWRhdGVQcm9wcyhkb21FbGVtZW50LCByYXdQcm9wcyk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICBpbml0V3JhcHBlclN0YXRlJDEoZG9tRWxlbWVudCwgcmF3UHJvcHMpO1xuICAgICAgdHJhcEJ1YmJsZWRFdmVudChUT1BfSU5WQUxJRCwgZG9tRWxlbWVudCk7IC8vIEZvciBjb250cm9sbGVkIGNvbXBvbmVudHMgd2UgYWx3YXlzIG5lZWQgdG8gZW5zdXJlIHdlJ3JlIGxpc3RlbmluZ1xuICAgICAgLy8gdG8gb25DaGFuZ2UuIEV2ZW4gaWYgdGhlcmUgaXMgbm8gbGlzdGVuZXIuXG5cbiAgICAgIGVuc3VyZUxpc3RlbmluZ1RvKHJvb3RDb250YWluZXJFbGVtZW50LCAnb25DaGFuZ2UnKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgaW5pdFdyYXBwZXJTdGF0ZSQyKGRvbUVsZW1lbnQsIHJhd1Byb3BzKTtcbiAgICAgIHRyYXBCdWJibGVkRXZlbnQoVE9QX0lOVkFMSUQsIGRvbUVsZW1lbnQpOyAvLyBGb3IgY29udHJvbGxlZCBjb21wb25lbnRzIHdlIGFsd2F5cyBuZWVkIHRvIGVuc3VyZSB3ZSdyZSBsaXN0ZW5pbmdcbiAgICAgIC8vIHRvIG9uQ2hhbmdlLiBFdmVuIGlmIHRoZXJlIGlzIG5vIGxpc3RlbmVyLlxuXG4gICAgICBlbnN1cmVMaXN0ZW5pbmdUbyhyb290Q29udGFpbmVyRWxlbWVudCwgJ29uQ2hhbmdlJyk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIGFzc2VydFZhbGlkUHJvcHModGFnLCByYXdQcm9wcyk7XG5cbiAge1xuICAgIGV4dHJhQXR0cmlidXRlTmFtZXMgPSBuZXcgU2V0KCk7XG4gICAgdmFyIGF0dHJpYnV0ZXMgPSBkb21FbGVtZW50LmF0dHJpYnV0ZXM7XG5cbiAgICBmb3IgKHZhciBfaSA9IDA7IF9pIDwgYXR0cmlidXRlcy5sZW5ndGg7IF9pKyspIHtcbiAgICAgIHZhciBuYW1lID0gYXR0cmlidXRlc1tfaV0ubmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICBzd2l0Y2ggKG5hbWUpIHtcbiAgICAgICAgLy8gQnVpbHQtaW4gU1NSIGF0dHJpYnV0ZSBpcyB3aGl0ZWxpc3RlZFxuICAgICAgICBjYXNlICdkYXRhLXJlYWN0cm9vdCc6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIC8vIENvbnRyb2xsZWQgYXR0cmlidXRlcyBhcmUgbm90IHZhbGlkYXRlZFxuICAgICAgICAvLyBUT0RPOiBPbmx5IGlnbm9yZSB0aGVtIG9uIGNvbnRyb2xsZWQgdGFncy5cblxuICAgICAgICBjYXNlICd2YWx1ZSc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnY2hlY2tlZCc6XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnc2VsZWN0ZWQnOlxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgLy8gSW50ZW50aW9uYWxseSB1c2UgdGhlIG9yaWdpbmFsIG5hbWUuXG4gICAgICAgICAgLy8gU2VlIGRpc2N1c3Npb24gaW4gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3B1bGwvMTA2NzYuXG4gICAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5hZGQoYXR0cmlidXRlc1tfaV0ubmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBudWxsO1xuXG4gIGZvciAodmFyIHByb3BLZXkgaW4gcmF3UHJvcHMpIHtcbiAgICBpZiAoIXJhd1Byb3BzLmhhc093blByb3BlcnR5KHByb3BLZXkpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICB2YXIgbmV4dFByb3AgPSByYXdQcm9wc1twcm9wS2V5XTtcblxuICAgIGlmIChwcm9wS2V5ID09PSBDSElMRFJFTikge1xuICAgICAgLy8gRm9yIHRleHQgY29udGVudCBjaGlsZHJlbiB3ZSBjb21wYXJlIGFnYWluc3QgdGV4dENvbnRlbnQuIFRoaXNcbiAgICAgIC8vIG1pZ2h0IG1hdGNoIGFkZGl0aW9uYWwgSFRNTCB0aGF0IGlzIGhpZGRlbiB3aGVuIHdlIHJlYWQgaXQgdXNpbmdcbiAgICAgIC8vIHRleHRDb250ZW50LiBFLmcuIFwiZm9vXCIgd2lsbCBtYXRjaCBcImY8c3Bhbj5vbzwvc3Bhbj5cIiBidXQgdGhhdCBzdGlsbFxuICAgICAgLy8gc2F0aXNmaWVzIG91ciByZXF1aXJlbWVudC4gT3VyIHJlcXVpcmVtZW50IGlzIG5vdCB0byBwcm9kdWNlIHBlcmZlY3RcbiAgICAgIC8vIEhUTUwgYW5kIGF0dHJpYnV0ZXMuIElkZWFsbHkgd2Ugc2hvdWxkIHByZXNlcnZlIHN0cnVjdHVyZSBidXQgaXQnc1xuICAgICAgLy8gb2sgbm90IHRvIGlmIHRoZSB2aXNpYmxlIGNvbnRlbnQgaXMgc3RpbGwgZW5vdWdoIHRvIGluZGljYXRlIHdoYXRcbiAgICAgIC8vIGV2ZW4gbGlzdGVuZXJzIHRoZXNlIG5vZGVzIG1pZ2h0IGJlIHdpcmVkIHVwIHRvLlxuICAgICAgLy8gVE9ETzogV2FybiBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gYSBzaW5nbGUgdGV4dE5vZGUgYXMgYSBjaGlsZC5cbiAgICAgIC8vIFRPRE86IFNob3VsZCB3ZSB1c2UgZG9tRWxlbWVudC5maXJzdENoaWxkLm5vZGVWYWx1ZSB0byBjb21wYXJlP1xuICAgICAgaWYgKHR5cGVvZiBuZXh0UHJvcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgaWYgKGRvbUVsZW1lbnQudGV4dENvbnRlbnQgIT09IG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKCAhc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAgICAgICB3YXJuRm9yVGV4dERpZmZlcmVuY2UoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3ApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sIG5leHRQcm9wXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgbmV4dFByb3AgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChkb21FbGVtZW50LnRleHRDb250ZW50ICE9PSAnJyArIG5leHRQcm9wKSB7XG4gICAgICAgICAgaWYgKCAhc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAgICAgICB3YXJuRm9yVGV4dERpZmZlcmVuY2UoZG9tRWxlbWVudC50ZXh0Q29udGVudCwgbmV4dFByb3ApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVwZGF0ZVBheWxvYWQgPSBbQ0hJTERSRU4sICcnICsgbmV4dFByb3BdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyZWdpc3RyYXRpb25OYW1lTW9kdWxlcy5oYXNPd25Qcm9wZXJ0eShwcm9wS2V5KSkge1xuICAgICAgaWYgKG5leHRQcm9wICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCB0eXBlb2YgbmV4dFByb3AgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB3YXJuRm9ySW52YWxpZEV2ZW50TGlzdGVuZXIocHJvcEtleSwgbmV4dFByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgZW5zdXJlTGlzdGVuaW5nVG8ocm9vdENvbnRhaW5lckVsZW1lbnQsIHByb3BLZXkpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIC8vIENvbnZpbmNlIEZsb3cgd2UndmUgY2FsY3VsYXRlZCBpdCAoaXQncyBERVYtb25seSBpbiB0aGlzIG1ldGhvZC4pXG4gICAgdHlwZW9mIGlzQ3VzdG9tQ29tcG9uZW50VGFnID09PSAnYm9vbGVhbicpIHtcbiAgICAgIC8vIFZhbGlkYXRlIHRoYXQgdGhlIHByb3BlcnRpZXMgY29ycmVzcG9uZCB0byB0aGVpciBleHBlY3RlZCB2YWx1ZXMuXG4gICAgICB2YXIgc2VydmVyVmFsdWUgPSB2b2lkIDA7XG4gICAgICB2YXIgcHJvcGVydHlJbmZvID0gZ2V0UHJvcGVydHlJbmZvKHByb3BLZXkpO1xuXG4gICAgICBpZiAoc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nKSA7IGVsc2UgaWYgKCBwcm9wS2V5ID09PSBTVVBQUkVTU19DT05URU5UX0VESVRBQkxFX1dBUk5JTkcgfHwgcHJvcEtleSA9PT0gU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkcgfHwgLy8gQ29udHJvbGxlZCBhdHRyaWJ1dGVzIGFyZSBub3QgdmFsaWRhdGVkXG4gICAgICAvLyBUT0RPOiBPbmx5IGlnbm9yZSB0aGVtIG9uIGNvbnRyb2xsZWQgdGFncy5cbiAgICAgIHByb3BLZXkgPT09ICd2YWx1ZScgfHwgcHJvcEtleSA9PT0gJ2NoZWNrZWQnIHx8IHByb3BLZXkgPT09ICdzZWxlY3RlZCcpIDsgZWxzZSBpZiAocHJvcEtleSA9PT0gREFOR0VST1VTTFlfU0VUX0lOTkVSX0hUTUwpIHtcbiAgICAgICAgdmFyIHNlcnZlckhUTUwgPSBkb21FbGVtZW50LmlubmVySFRNTDtcbiAgICAgICAgdmFyIG5leHRIdG1sID0gbmV4dFByb3AgPyBuZXh0UHJvcFtIVE1MJDFdIDogdW5kZWZpbmVkO1xuICAgICAgICB2YXIgZXhwZWN0ZWRIVE1MID0gbm9ybWFsaXplSFRNTChkb21FbGVtZW50LCBuZXh0SHRtbCAhPSBudWxsID8gbmV4dEh0bWwgOiAnJyk7XG5cbiAgICAgICAgaWYgKGV4cGVjdGVkSFRNTCAhPT0gc2VydmVySFRNTCkge1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJIVE1MLCBleHBlY3RlZEhUTUwpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHByb3BLZXkgPT09IFNUWUxFKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICAgICAgZXh0cmFBdHRyaWJ1dGVOYW1lcy5kZWxldGUocHJvcEtleSk7XG5cbiAgICAgICAgaWYgKGNhbkRpZmZTdHlsZUZvckh5ZHJhdGlvbldhcm5pbmcpIHtcbiAgICAgICAgICB2YXIgZXhwZWN0ZWRTdHlsZSA9IGNyZWF0ZURhbmdlcm91c1N0cmluZ0ZvclN0eWxlcyhuZXh0UHJvcCk7XG4gICAgICAgICAgc2VydmVyVmFsdWUgPSBkb21FbGVtZW50LmdldEF0dHJpYnV0ZSgnc3R5bGUnKTtcblxuICAgICAgICAgIGlmIChleHBlY3RlZFN0eWxlICE9PSBzZXJ2ZXJWYWx1ZSkge1xuICAgICAgICAgICAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksIHNlcnZlclZhbHVlLCBleHBlY3RlZFN0eWxlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNDdXN0b21Db21wb25lbnRUYWcpIHtcbiAgICAgICAgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxuICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcblxuICAgICAgICBpZiAobmV4dFByb3AgIT09IHNlcnZlclZhbHVlKSB7XG4gICAgICAgICAgd2FybkZvclByb3BEaWZmZXJlbmNlKHByb3BLZXksIHNlcnZlclZhbHVlLCBuZXh0UHJvcCk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoIXNob3VsZElnbm9yZUF0dHJpYnV0ZShwcm9wS2V5LCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSAmJiAhc2hvdWxkUmVtb3ZlQXR0cmlidXRlKHByb3BLZXksIG5leHRQcm9wLCBwcm9wZXJ0eUluZm8sIGlzQ3VzdG9tQ29tcG9uZW50VGFnKSkge1xuICAgICAgICB2YXIgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHByb3BlcnR5SW5mbyAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wZXJ0eUluZm8uYXR0cmlidXRlTmFtZSk7XG4gICAgICAgICAgc2VydmVyVmFsdWUgPSBnZXRWYWx1ZUZvclByb3BlcnR5KGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wLCBwcm9wZXJ0eUluZm8pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhciBvd25OYW1lc3BhY2UgPSBwYXJlbnROYW1lc3BhY2U7XG5cbiAgICAgICAgICBpZiAob3duTmFtZXNwYWNlID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XG4gICAgICAgICAgICBvd25OYW1lc3BhY2UgPSBnZXRJbnRyaW5zaWNOYW1lc3BhY2UodGFnKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAob3duTmFtZXNwYWNlID09PSBIVE1MX05BTUVTUEFDRSQxKSB7XG4gICAgICAgICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5LnRvTG93ZXJDYXNlKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YXIgc3RhbmRhcmROYW1lID0gZ2V0UG9zc2libGVTdGFuZGFyZE5hbWUocHJvcEtleSk7XG5cbiAgICAgICAgICAgIGlmIChzdGFuZGFyZE5hbWUgIT09IG51bGwgJiYgc3RhbmRhcmROYW1lICE9PSBwcm9wS2V5KSB7XG4gICAgICAgICAgICAgIC8vIElmIGFuIFNWRyBwcm9wIGlzIHN1cHBsaWVkIHdpdGggYmFkIGNhc2luZywgaXQgd2lsbFxuICAgICAgICAgICAgICAvLyBiZSBzdWNjZXNzZnVsbHkgcGFyc2VkIGZyb20gSFRNTCwgYnV0IHdpbGwgcHJvZHVjZSBhIG1pc21hdGNoXG4gICAgICAgICAgICAgIC8vIChhbmQgd291bGQgYmUgaW5jb3JyZWN0bHkgcmVuZGVyZWQgb24gdGhlIGNsaWVudCkuXG4gICAgICAgICAgICAgIC8vIEhvd2V2ZXIsIHdlIGFscmVhZHkgd2FybiBhYm91dCBiYWQgY2FzaW5nIGVsc2V3aGVyZS5cbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgc2tpcCB0aGUgbWlzbGVhZGluZyBleHRyYSBtaXNtYXRjaCB3YXJuaW5nIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgaXNNaXNtYXRjaER1ZVRvQmFkQ2FzaW5nID0gdHJ1ZTsgLy8gJEZsb3dGaXhNZSAtIFNob3VsZCBiZSBpbmZlcnJlZCBhcyBub3QgdW5kZWZpbmVkLlxuXG4gICAgICAgICAgICAgIGV4dHJhQXR0cmlidXRlTmFtZXMuZGVsZXRlKHN0YW5kYXJkTmFtZSk7XG4gICAgICAgICAgICB9IC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cblxuXG4gICAgICAgICAgICBleHRyYUF0dHJpYnV0ZU5hbWVzLmRlbGV0ZShwcm9wS2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzZXJ2ZXJWYWx1ZSA9IGdldFZhbHVlRm9yQXR0cmlidXRlKGRvbUVsZW1lbnQsIHByb3BLZXksIG5leHRQcm9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChuZXh0UHJvcCAhPT0gc2VydmVyVmFsdWUgJiYgIWlzTWlzbWF0Y2hEdWVUb0JhZENhc2luZykge1xuICAgICAgICAgIHdhcm5Gb3JQcm9wRGlmZmVyZW5jZShwcm9wS2V5LCBzZXJ2ZXJWYWx1ZSwgbmV4dFByb3ApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAge1xuICAgIC8vICRGbG93Rml4TWUgLSBTaG91bGQgYmUgaW5mZXJyZWQgYXMgbm90IHVuZGVmaW5lZC5cbiAgICBpZiAoZXh0cmFBdHRyaWJ1dGVOYW1lcy5zaXplID4gMCAmJiAhc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nKSB7XG4gICAgICAvLyAkRmxvd0ZpeE1lIC0gU2hvdWxkIGJlIGluZmVycmVkIGFzIG5vdCB1bmRlZmluZWQuXG4gICAgICB3YXJuRm9yRXh0cmFBdHRyaWJ1dGVzKGV4dHJhQXR0cmlidXRlTmFtZXMpO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaCAodGFnKSB7XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgICAgLy8gVE9ETzogTWFrZSBzdXJlIHdlIGNoZWNrIGlmIHRoaXMgaXMgc3RpbGwgdW5tb3VudGVkIG9yIGRvIGFueSBjbGVhblxuICAgICAgLy8gdXAgbmVjZXNzYXJ5IHNpbmNlIHdlIG5ldmVyIHN0b3AgdHJhY2tpbmcgYW55bW9yZS5cbiAgICAgIHRyYWNrKGRvbUVsZW1lbnQpO1xuICAgICAgcG9zdE1vdW50V3JhcHBlcihkb21FbGVtZW50LCByYXdQcm9wcywgdHJ1ZSk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgJ3RleHRhcmVhJzpcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB3ZSBjaGVjayBpZiB0aGlzIGlzIHN0aWxsIHVubW91bnRlZCBvciBkbyBhbnkgY2xlYW5cbiAgICAgIC8vIHVwIG5lY2Vzc2FyeSBzaW5jZSB3ZSBuZXZlciBzdG9wIHRyYWNraW5nIGFueW1vcmUuXG4gICAgICB0cmFjayhkb21FbGVtZW50KTtcbiAgICAgIHBvc3RNb3VudFdyYXBwZXIkMyhkb21FbGVtZW50KTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSAnc2VsZWN0JzpcbiAgICBjYXNlICdvcHRpb24nOlxuICAgICAgLy8gRm9yIGlucHV0IGFuZCB0ZXh0YXJlYSB3ZSBjdXJyZW50IGFsd2F5cyBzZXQgdGhlIHZhbHVlIHByb3BlcnR5IGF0XG4gICAgICAvLyBwb3N0IG1vdW50IHRvIGZvcmNlIGl0IHRvIGRpdmVyZ2UgZnJvbSBhdHRyaWJ1dGVzLiBIb3dldmVyLCBmb3JcbiAgICAgIC8vIG9wdGlvbiBhbmQgc2VsZWN0IHdlIGRvbid0IHF1aXRlIGRvIHRoZSBzYW1lIHRoaW5nIGFuZCBzZWxlY3RcbiAgICAgIC8vIGlzIG5vdCByZXNpbGllbnQgdG8gdGhlIERPTSBzdGF0ZSBjaGFuZ2luZyBzbyB3ZSBkb24ndCBkbyB0aGF0IGhlcmUuXG4gICAgICAvLyBUT0RPOiBDb25zaWRlciBub3QgZG9pbmcgdGhpcyBmb3IgaW5wdXQgYW5kIHRleHRhcmVhLlxuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgaWYgKHR5cGVvZiByYXdQcm9wcy5vbkNsaWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgY2FzdCBtYXkgbm90IGJlIHNvdW5kIGZvciBTVkcsIE1hdGhNTCBvciBjdXN0b20gZWxlbWVudHMuXG4gICAgICAgIHRyYXBDbGlja09uTm9uSW50ZXJhY3RpdmVFbGVtZW50KGRvbUVsZW1lbnQpO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiB1cGRhdGVQYXlsb2FkO1xufVxuZnVuY3Rpb24gZGlmZkh5ZHJhdGVkVGV4dCh0ZXh0Tm9kZSwgdGV4dCkge1xuICB2YXIgaXNEaWZmZXJlbnQgPSB0ZXh0Tm9kZS5ub2RlVmFsdWUgIT09IHRleHQ7XG4gIHJldHVybiBpc0RpZmZlcmVudDtcbn1cbmZ1bmN0aW9uIHdhcm5Gb3JVbm1hdGNoZWRUZXh0KHRleHROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICB3YXJuRm9yVGV4dERpZmZlcmVuY2UodGV4dE5vZGUubm9kZVZhbHVlLCB0ZXh0KTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSA8JXM+IGluIDwlcz4uJywgY2hpbGQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSwgcGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKTtcbiAgfVxufVxuZnVuY3Rpb24gd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnROb2RlLCBjaGlsZCkge1xuICB7XG4gICAgaWYgKGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlkV2FybkludmFsaWRIeWRyYXRpb24gPSB0cnVlO1xuXG4gICAgZXJyb3IoJ0RpZCBub3QgZXhwZWN0IHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gdGhlIHRleHQgbm9kZSBcIiVzXCIgaW4gPCVzPi4nLCBjaGlsZC5ub2RlVmFsdWUsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkRWxlbWVudChwYXJlbnROb2RlLCB0YWcsIHByb3BzKSB7XG4gIHtcbiAgICBpZiAoZGlkV2FybkludmFsaWRIeWRyYXRpb24pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbiA9IHRydWU7XG5cbiAgICBlcnJvcignRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIDwlcz4gaW4gPCVzPi4nLCB0YWcsIHBhcmVudE5vZGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5Gb3JJbnNlcnRlZEh5ZHJhdGVkVGV4dChwYXJlbnROb2RlLCB0ZXh0KSB7XG4gIHtcbiAgICBpZiAodGV4dCA9PT0gJycpIHtcbiAgICAgIC8vIFdlIGV4cGVjdCB0byBpbnNlcnQgZW1wdHkgdGV4dCBub2RlcyBzaW5jZSB0aGV5J3JlIG5vdCByZXByZXNlbnRlZCBpblxuICAgICAgLy8gdGhlIEhUTUwuXG4gICAgICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBzcGVjaWFsIGNhc2UgaWYgd2UgY2FuIGp1c3QgYXZvaWQgaW5zZXJ0aW5nIGVtcHR5XG4gICAgICAvLyB0ZXh0IG5vZGVzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChkaWRXYXJuSW52YWxpZEh5ZHJhdGlvbikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm5JbnZhbGlkSHlkcmF0aW9uID0gdHJ1ZTtcblxuICAgIGVycm9yKCdFeHBlY3RlZCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIGEgbWF0Y2hpbmcgdGV4dCBub2RlIGZvciBcIiVzXCIgaW4gPCVzPi4nLCB0ZXh0LCBwYXJlbnROb2RlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpO1xuICB9XG59XG5mdW5jdGlvbiByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDMoZG9tRWxlbWVudCwgdGFnLCBwcm9wcykge1xuICBzd2l0Y2ggKHRhZykge1xuICAgIGNhc2UgJ2lucHV0JzpcbiAgICAgIHJlc3RvcmVDb250cm9sbGVkU3RhdGUoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuXG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmVzdG9yZUNvbnRyb2xsZWRTdGF0ZSQyKGRvbUVsZW1lbnQsIHByb3BzKTtcbiAgICAgIHJldHVybjtcblxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgICByZXN0b3JlQ29udHJvbGxlZFN0YXRlJDEoZG9tRWxlbWVudCwgcHJvcHMpO1xuICAgICAgcmV0dXJuO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEFjdGl2ZUVsZW1lbnQoZG9jKSB7XG4gIGRvYyA9IGRvYyB8fCAodHlwZW9mIGRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyA/IGRvY3VtZW50IDogdW5kZWZpbmVkKTtcblxuICBpZiAodHlwZW9mIGRvYyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGRvYy5hY3RpdmVFbGVtZW50IHx8IGRvYy5ib2R5O1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuIGRvYy5ib2R5O1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG5vZGUgcmV0dXJuIHRoZSBmaXJzdCBsZWFmIG5vZGUgd2l0aG91dCBjaGlsZHJlbi5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9XG4gKi9cblxuZnVuY3Rpb24gZ2V0TGVhZk5vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSAmJiBub2RlLmZpcnN0Q2hpbGQpIHtcbiAgICBub2RlID0gbm9kZS5maXJzdENoaWxkO1xuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG4vKipcbiAqIEdldCB0aGUgbmV4dCBzaWJsaW5nIHdpdGhpbiBhIGNvbnRhaW5lci4gVGhpcyB3aWxsIHdhbGsgdXAgdGhlXG4gKiBET00gaWYgYSBub2RlJ3Mgc2libGluZ3MgaGF2ZSBiZWVuIGV4aGF1c3RlZC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IG5vZGVcbiAqIEByZXR1cm4gez9ET01FbGVtZW50fERPTVRleHROb2RlfVxuICovXG5cblxuZnVuY3Rpb24gZ2V0U2libGluZ05vZGUobm9kZSkge1xuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5leHRTaWJsaW5nKSB7XG4gICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5wYXJlbnROb2RlO1xuICB9XG59XG4vKipcbiAqIEdldCBvYmplY3QgZGVzY3JpYmluZyB0aGUgbm9kZXMgd2hpY2ggY29udGFpbiBjaGFyYWN0ZXJzIGF0IG9mZnNldC5cbiAqXG4gKiBAcGFyYW0ge0RPTUVsZW1lbnR8RE9NVGV4dE5vZGV9IHJvb3RcbiAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXRcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KHJvb3QsIG9mZnNldCkge1xuICB2YXIgbm9kZSA9IGdldExlYWZOb2RlKHJvb3QpO1xuICB2YXIgbm9kZVN0YXJ0ID0gMDtcbiAgdmFyIG5vZGVFbmQgPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgbm9kZUVuZCA9IG5vZGVTdGFydCArIG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuXG4gICAgICBpZiAobm9kZVN0YXJ0IDw9IG9mZnNldCAmJiBub2RlRW5kID49IG9mZnNldCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIG5vZGU6IG5vZGUsXG4gICAgICAgICAgb2Zmc2V0OiBvZmZzZXQgLSBub2RlU3RhcnRcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgbm9kZVN0YXJ0ID0gbm9kZUVuZDtcbiAgICB9XG5cbiAgICBub2RlID0gZ2V0TGVhZk5vZGUoZ2V0U2libGluZ05vZGUobm9kZSkpO1xuICB9XG59XG5cbi8qKlxuICogQHBhcmFtIHtET01FbGVtZW50fSBvdXRlck5vZGVcbiAqIEByZXR1cm4gez9vYmplY3R9XG4gKi9cblxuZnVuY3Rpb24gZ2V0T2Zmc2V0cyhvdXRlck5vZGUpIHtcbiAgdmFyIG93bmVyRG9jdW1lbnQgPSBvdXRlck5vZGUub3duZXJEb2N1bWVudDtcbiAgdmFyIHdpbiA9IG93bmVyRG9jdW1lbnQgJiYgb3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gIHZhciBzZWxlY3Rpb24gPSB3aW4uZ2V0U2VsZWN0aW9uICYmIHdpbi5nZXRTZWxlY3Rpb24oKTtcblxuICBpZiAoIXNlbGVjdGlvbiB8fCBzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGFuY2hvck5vZGUgPSBzZWxlY3Rpb24uYW5jaG9yTm9kZSxcbiAgICAgIGFuY2hvck9mZnNldCA9IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGUgPSBzZWxlY3Rpb24uZm9jdXNOb2RlLFxuICAgICAgZm9jdXNPZmZzZXQgPSBzZWxlY3Rpb24uZm9jdXNPZmZzZXQ7IC8vIEluIEZpcmVmb3gsIGFuY2hvck5vZGUgYW5kIGZvY3VzTm9kZSBjYW4gYmUgXCJhbm9ueW1vdXMgZGl2c1wiLCBlLmcuIHRoZVxuICAvLyB1cC9kb3duIGJ1dHRvbnMgb24gYW4gPGlucHV0IHR5cGU9XCJudW1iZXJcIj4uIEFub255bW91cyBkaXZzIGRvIG5vdCBzZWVtIHRvXG4gIC8vIGV4cG9zZSBwcm9wZXJ0aWVzLCB0cmlnZ2VyaW5nIGEgXCJQZXJtaXNzaW9uIGRlbmllZCBlcnJvclwiIGlmIGFueSBvZiBpdHNcbiAgLy8gcHJvcGVydGllcyBhcmUgYWNjZXNzZWQuIFRoZSBvbmx5IHNlZW1pbmdseSBwb3NzaWJsZSB3YXkgdG8gYXZvaWQgZXJyb3JpbmdcbiAgLy8gaXMgdG8gYWNjZXNzIGEgcHJvcGVydHkgdGhhdCB0eXBpY2FsbHkgd29ya3MgZm9yIG5vbi1hbm9ueW1vdXMgZGl2cyBhbmRcbiAgLy8gY2F0Y2ggYW55IGVycm9yIHRoYXQgbWF5IG90aGVyd2lzZSBhcmlzZS4gU2VlXG4gIC8vIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTIwODQyN1xuXG4gIHRyeSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLWV4cHJlc3Npb25zICovXG4gICAgYW5jaG9yTm9kZS5ub2RlVHlwZTtcbiAgICBmb2N1c05vZGUubm9kZVR5cGU7XG4gICAgLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtZXhwcmVzc2lvbnMgKi9cbiAgfSBjYXRjaCAoZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KTtcbn1cbi8qKlxuICogUmV0dXJucyB7c3RhcnQsIGVuZH0gd2hlcmUgYHN0YXJ0YCBpcyB0aGUgY2hhcmFjdGVyL2NvZGVwb2ludCBpbmRleCBvZlxuICogKGFuY2hvck5vZGUsIGFuY2hvck9mZnNldCkgd2l0aGluIHRoZSB0ZXh0Q29udGVudCBvZiBgb3V0ZXJOb2RlYCwgYW5kXG4gKiBgZW5kYCBpcyB0aGUgaW5kZXggb2YgKGZvY3VzTm9kZSwgZm9jdXNPZmZzZXQpLlxuICpcbiAqIFJldHVybnMgbnVsbCBpZiB5b3UgcGFzcyBpbiBnYXJiYWdlIGlucHV0IGJ1dCB3ZSBzaG91bGQgcHJvYmFibHkganVzdCBjcmFzaC5cbiAqXG4gKiBFeHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nLlxuICovXG5cbmZ1bmN0aW9uIGdldE1vZGVybk9mZnNldHNGcm9tUG9pbnRzKG91dGVyTm9kZSwgYW5jaG9yTm9kZSwgYW5jaG9yT2Zmc2V0LCBmb2N1c05vZGUsIGZvY3VzT2Zmc2V0KSB7XG4gIHZhciBsZW5ndGggPSAwO1xuICB2YXIgc3RhcnQgPSAtMTtcbiAgdmFyIGVuZCA9IC0xO1xuICB2YXIgaW5kZXhXaXRoaW5BbmNob3IgPSAwO1xuICB2YXIgaW5kZXhXaXRoaW5Gb2N1cyA9IDA7XG4gIHZhciBub2RlID0gb3V0ZXJOb2RlO1xuICB2YXIgcGFyZW50Tm9kZSA9IG51bGw7XG5cbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgdmFyIG5leHQgPSBudWxsO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlID09PSBhbmNob3JOb2RlICYmIChhbmNob3JPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aCArIGFuY2hvck9mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZvY3VzTm9kZSAmJiAoZm9jdXNPZmZzZXQgPT09IDAgfHwgbm9kZS5ub2RlVHlwZSA9PT0gVEVYVF9OT0RFKSkge1xuICAgICAgICBlbmQgPSBsZW5ndGggKyBmb2N1c09mZnNldDtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgICBsZW5ndGggKz0gbm9kZS5ub2RlVmFsdWUubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG5leHQgPSBub2RlLmZpcnN0Q2hpbGQpID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSAvLyBNb3ZpbmcgZnJvbSBgbm9kZWAgdG8gaXRzIGZpcnN0IGNoaWxkIGBuZXh0YC5cblxuXG4gICAgICBwYXJlbnROb2RlID0gbm9kZTtcbiAgICAgIG5vZGUgPSBuZXh0O1xuICAgIH1cblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gb3V0ZXJOb2RlKSB7XG4gICAgICAgIC8vIElmIGBvdXRlck5vZGVgIGhhcyBjaGlsZHJlbiwgdGhpcyBpcyBhbHdheXMgdGhlIHNlY29uZCB0aW1lIHZpc2l0aW5nXG4gICAgICAgIC8vIGl0LiBJZiBpdCBoYXMgbm8gY2hpbGRyZW4sIHRoaXMgaXMgc3RpbGwgdGhlIGZpcnN0IGxvb3AsIGFuZCB0aGUgb25seVxuICAgICAgICAvLyB2YWxpZCBzZWxlY3Rpb24gaXMgYW5jaG9yTm9kZSBhbmQgZm9jdXNOb2RlIGJvdGggZXF1YWwgdG8gdGhpcyBub2RlXG4gICAgICAgIC8vIGFuZCBib3RoIG9mZnNldHMgMCwgaW4gd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgaGFuZGxlZCBhYm92ZS5cbiAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICB9XG5cbiAgICAgIGlmIChwYXJlbnROb2RlID09PSBhbmNob3JOb2RlICYmICsraW5kZXhXaXRoaW5BbmNob3IgPT09IGFuY2hvck9mZnNldCkge1xuICAgICAgICBzdGFydCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE5vZGUgPT09IGZvY3VzTm9kZSAmJiArK2luZGV4V2l0aGluRm9jdXMgPT09IGZvY3VzT2Zmc2V0KSB7XG4gICAgICAgIGVuZCA9IGxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKChuZXh0ID0gbm9kZS5uZXh0U2libGluZykgIT09IG51bGwpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBwYXJlbnROb2RlO1xuICAgICAgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50Tm9kZTtcbiAgICB9IC8vIE1vdmluZyBmcm9tIGBub2RlYCB0byBpdHMgbmV4dCBzaWJsaW5nIGBuZXh0YC5cblxuXG4gICAgbm9kZSA9IG5leHQ7XG4gIH1cblxuICBpZiAoc3RhcnQgPT09IC0xIHx8IGVuZCA9PT0gLTEpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uIChXb3VsZCBoYXBwZW4gaWYgdGhlIGFuY2hvci9mb2N1cyBub2RlcyBhcmVuJ3RcbiAgICAvLyBhY3R1YWxseSBpbnNpZGUgdGhlIHBhc3NlZC1pbiBub2RlLilcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RhcnQ6IHN0YXJ0LFxuICAgIGVuZDogZW5kXG4gIH07XG59XG4vKipcbiAqIEluIG1vZGVybiBub24tSUUgYnJvd3NlcnMsIHdlIGNhbiBzdXBwb3J0IGJvdGggZm9yd2FyZCBhbmQgYmFja3dhcmRcbiAqIHNlbGVjdGlvbnMuXG4gKlxuICogTm90ZTogSUUxMCsgc3VwcG9ydHMgdGhlIFNlbGVjdGlvbiBvYmplY3QsIGJ1dCBpdCBkb2VzIG5vdCBzdXBwb3J0XG4gKiB0aGUgYGV4dGVuZGAgbWV0aG9kLCB3aGljaCBtZWFucyB0aGF0IGV2ZW4gaW4gbW9kZXJuIElFLCBpdCdzIG5vdCBwb3NzaWJsZVxuICogdG8gcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBiYWNrd2FyZCBzZWxlY3Rpb24uIFRodXMsIGZvciBhbGwgSUVcbiAqIHZlcnNpb25zLCB3ZSB1c2UgdGhlIG9sZCBJRSBBUEkgdG8gY3JlYXRlIG91ciBzZWxlY3Rpb25zLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudHxET01UZXh0Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtvYmplY3R9IG9mZnNldHNcbiAqL1xuXG5mdW5jdGlvbiBzZXRPZmZzZXRzKG5vZGUsIG9mZnNldHMpIHtcbiAgdmFyIGRvYyA9IG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbiAgdmFyIHdpbiA9IGRvYyAmJiBkb2MuZGVmYXVsdFZpZXcgfHwgd2luZG93OyAvLyBFZGdlIGZhaWxzIHdpdGggXCJPYmplY3QgZXhwZWN0ZWRcIiBpbiBzb21lIHNjZW5hcmlvcy5cbiAgLy8gKEZvciBpbnN0YW5jZTogVGlueU1DRSBlZGl0b3IgdXNlZCBpbiBhIGxpc3QgY29tcG9uZW50IHRoYXQgc3VwcG9ydHMgcGFzdGluZyB0byBhZGQgbW9yZSxcbiAgLy8gZmFpbHMgd2hlbiBwYXN0aW5nIDEwMCsgaXRlbXMpXG5cbiAgaWYgKCF3aW4uZ2V0U2VsZWN0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgdmFyIGxlbmd0aCA9IG5vZGUudGV4dENvbnRlbnQubGVuZ3RoO1xuICB2YXIgc3RhcnQgPSBNYXRoLm1pbihvZmZzZXRzLnN0YXJ0LCBsZW5ndGgpO1xuICB2YXIgZW5kID0gb2Zmc2V0cy5lbmQgPT09IHVuZGVmaW5lZCA/IHN0YXJ0IDogTWF0aC5taW4ob2Zmc2V0cy5lbmQsIGxlbmd0aCk7IC8vIElFIDExIHVzZXMgbW9kZXJuIHNlbGVjdGlvbiwgYnV0IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZXh0ZW5kIG1ldGhvZC5cbiAgLy8gRmxpcCBiYWNrd2FyZCBzZWxlY3Rpb25zLCBzbyB3ZSBjYW4gc2V0IHdpdGggYSBzaW5nbGUgcmFuZ2UuXG5cbiAgaWYgKCFzZWxlY3Rpb24uZXh0ZW5kICYmIHN0YXJ0ID4gZW5kKSB7XG4gICAgdmFyIHRlbXAgPSBlbmQ7XG4gICAgZW5kID0gc3RhcnQ7XG4gICAgc3RhcnQgPSB0ZW1wO1xuICB9XG5cbiAgdmFyIHN0YXJ0TWFya2VyID0gZ2V0Tm9kZUZvckNoYXJhY3Rlck9mZnNldChub2RlLCBzdGFydCk7XG4gIHZhciBlbmRNYXJrZXIgPSBnZXROb2RlRm9yQ2hhcmFjdGVyT2Zmc2V0KG5vZGUsIGVuZCk7XG5cbiAgaWYgKHN0YXJ0TWFya2VyICYmIGVuZE1hcmtlcikge1xuICAgIGlmIChzZWxlY3Rpb24ucmFuZ2VDb3VudCA9PT0gMSAmJiBzZWxlY3Rpb24uYW5jaG9yTm9kZSA9PT0gc3RhcnRNYXJrZXIubm9kZSAmJiBzZWxlY3Rpb24uYW5jaG9yT2Zmc2V0ID09PSBzdGFydE1hcmtlci5vZmZzZXQgJiYgc2VsZWN0aW9uLmZvY3VzTm9kZSA9PT0gZW5kTWFya2VyLm5vZGUgJiYgc2VsZWN0aW9uLmZvY3VzT2Zmc2V0ID09PSBlbmRNYXJrZXIub2Zmc2V0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHJhbmdlID0gZG9jLmNyZWF0ZVJhbmdlKCk7XG4gICAgcmFuZ2Uuc2V0U3RhcnQoc3RhcnRNYXJrZXIubm9kZSwgc3RhcnRNYXJrZXIub2Zmc2V0KTtcbiAgICBzZWxlY3Rpb24ucmVtb3ZlQWxsUmFuZ2VzKCk7XG5cbiAgICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgICBzZWxlY3Rpb24uZXh0ZW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmFuZ2Uuc2V0RW5kKGVuZE1hcmtlci5ub2RlLCBlbmRNYXJrZXIub2Zmc2V0KTtcbiAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzVGV4dE5vZGUobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm5vZGVUeXBlID09PSBURVhUX05PREU7XG59XG5cbmZ1bmN0aW9uIGNvbnRhaW5zTm9kZShvdXRlck5vZGUsIGlubmVyTm9kZSkge1xuICBpZiAoIW91dGVyTm9kZSB8fCAhaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKG91dGVyTm9kZSA9PT0gaW5uZXJOb2RlKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSBpZiAoaXNUZXh0Tm9kZShvdXRlck5vZGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKGlzVGV4dE5vZGUoaW5uZXJOb2RlKSkge1xuICAgIHJldHVybiBjb250YWluc05vZGUob3V0ZXJOb2RlLCBpbm5lck5vZGUucGFyZW50Tm9kZSk7XG4gIH0gZWxzZSBpZiAoJ2NvbnRhaW5zJyBpbiBvdXRlck5vZGUpIHtcbiAgICByZXR1cm4gb3V0ZXJOb2RlLmNvbnRhaW5zKGlubmVyTm9kZSk7XG4gIH0gZWxzZSBpZiAob3V0ZXJOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSB7XG4gICAgcmV0dXJuICEhKG91dGVyTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihpbm5lck5vZGUpICYgMTYpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luRG9jdW1lbnQobm9kZSkge1xuICByZXR1cm4gbm9kZSAmJiBub2RlLm93bmVyRG9jdW1lbnQgJiYgY29udGFpbnNOb2RlKG5vZGUub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIG5vZGUpO1xufVxuXG5mdW5jdGlvbiBpc1NhbWVPcmlnaW5GcmFtZShpZnJhbWUpIHtcbiAgdHJ5IHtcbiAgICAvLyBBY2Nlc3NpbmcgdGhlIGNvbnRlbnREb2N1bWVudCBvZiBhIEhUTUxJZnJhbWVFbGVtZW50IGNhbiBjYXVzZSB0aGUgYnJvd3NlclxuICAgIC8vIHRvIHRocm93LCBlLmcuIGlmIGl0IGhhcyBhIGNyb3NzLW9yaWdpbiBzcmMgYXR0cmlidXRlLlxuICAgIC8vIFNhZmFyaSB3aWxsIHNob3cgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGUgd2hlbiB0aGUgYWNjZXNzIHJlc3VsdHMgaW4gXCJCbG9ja2VkIGEgZnJhbWUgd2l0aCBvcmlnaW5cIi4gZS5nOlxuICAgIC8vIGlmcmFtZS5jb250ZW50RG9jdW1lbnQuZGVmYXVsdFZpZXc7XG4gICAgLy8gQSBzYWZldHkgd2F5IGlzIHRvIGFjY2VzcyBvbmUgb2YgdGhlIGNyb3NzIG9yaWdpbiBwcm9wZXJ0aWVzOiBXaW5kb3cgb3IgTG9jYXRpb25cbiAgICAvLyBXaGljaCBtaWdodCByZXN1bHQgaW4gXCJTZWN1cml0eUVycm9yXCIgRE9NIEV4Y2VwdGlvbiBhbmQgaXQgaXMgY29tcGF0aWJsZSB0byBTYWZhcmkuXG4gICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvYnJvd3NlcnMuaHRtbCNpbnRlZ3JhdGlvbi13aXRoLWlkbFxuICAgIHJldHVybiB0eXBlb2YgaWZyYW1lLmNvbnRlbnRXaW5kb3cubG9jYXRpb24uaHJlZiA9PT0gJ3N0cmluZyc7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBY3RpdmVFbGVtZW50RGVlcCgpIHtcbiAgdmFyIHdpbiA9IHdpbmRvdztcbiAgdmFyIGVsZW1lbnQgPSBnZXRBY3RpdmVFbGVtZW50KCk7XG5cbiAgd2hpbGUgKGVsZW1lbnQgaW5zdGFuY2VvZiB3aW4uSFRNTElGcmFtZUVsZW1lbnQpIHtcbiAgICBpZiAoaXNTYW1lT3JpZ2luRnJhbWUoZWxlbWVudCkpIHtcbiAgICAgIHdpbiA9IGVsZW1lbnQuY29udGVudFdpbmRvdztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGdldEFjdGl2ZUVsZW1lbnQod2luLmRvY3VtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxuLyoqXG4gKiBAUmVhY3RJbnB1dFNlbGVjdGlvbjogUmVhY3QgaW5wdXQgc2VsZWN0aW9uIG1vZHVsZS4gQmFzZWQgb24gU2VsZWN0aW9uLmpzLFxuICogYnV0IG1vZGlmaWVkIHRvIGJlIHN1aXRhYmxlIGZvciByZWFjdCBhbmQgaGFzIGEgY291cGxlIG9mIGJ1ZyBmaXhlcyAoZG9lc24ndFxuICogYXNzdW1lIGJ1dHRvbnMgaGF2ZSByYW5nZSBzZWxlY3Rpb25zIGFsbG93ZWQpLlxuICogSW5wdXQgc2VsZWN0aW9uIG1vZHVsZSBmb3IgUmVhY3QuXG4gKi9cblxuLyoqXG4gKiBAaGFzU2VsZWN0aW9uQ2FwYWJpbGl0aWVzOiB3ZSBnZXQgdGhlIGVsZW1lbnQgdHlwZXMgdGhhdCBzdXBwb3J0IHNlbGVjdGlvblxuICogZnJvbSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNkby1ub3QtYXBwbHksIGxvb2tpbmcgYXQgYHNlbGVjdGlvblN0YXJ0YFxuICogYW5kIGBzZWxlY3Rpb25FbmRgIHJvd3MuXG4gKi9cblxuXG5mdW5jdGlvbiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtICYmIGVsZW0ubm9kZU5hbWUgJiYgZWxlbS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgKG5vZGVOYW1lID09PSAnaW5wdXQnICYmIChlbGVtLnR5cGUgPT09ICd0ZXh0JyB8fCBlbGVtLnR5cGUgPT09ICdzZWFyY2gnIHx8IGVsZW0udHlwZSA9PT0gJ3RlbCcgfHwgZWxlbS50eXBlID09PSAndXJsJyB8fCBlbGVtLnR5cGUgPT09ICdwYXNzd29yZCcpIHx8IG5vZGVOYW1lID09PSAndGV4dGFyZWEnIHx8IGVsZW0uY29udGVudEVkaXRhYmxlID09PSAndHJ1ZScpO1xufVxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKSB7XG4gIHZhciBmb2N1c2VkRWxlbSA9IGdldEFjdGl2ZUVsZW1lbnREZWVwKCk7XG4gIHJldHVybiB7XG4gICAgLy8gVXNlZCBieSBGbGFyZVxuICAgIGFjdGl2ZUVsZW1lbnREZXRhY2hlZDogbnVsbCxcbiAgICBmb2N1c2VkRWxlbTogZm9jdXNlZEVsZW0sXG4gICAgc2VsZWN0aW9uUmFuZ2U6IGhhc1NlbGVjdGlvbkNhcGFiaWxpdGllcyhmb2N1c2VkRWxlbSkgPyBnZXRTZWxlY3Rpb24oZm9jdXNlZEVsZW0pIDogbnVsbFxuICB9O1xufVxuLyoqXG4gKiBAcmVzdG9yZVNlbGVjdGlvbjogSWYgYW55IHNlbGVjdGlvbiBpbmZvcm1hdGlvbiB3YXMgcG90ZW50aWFsbHkgbG9zdCxcbiAqIHJlc3RvcmUgaXQuIFRoaXMgaXMgdXNlZnVsIHdoZW4gcGVyZm9ybWluZyBvcGVyYXRpb25zIHRoYXQgY291bGQgcmVtb3ZlIGRvbVxuICogbm9kZXMgYW5kIHBsYWNlIHRoZW0gYmFjayBpbiwgcmVzdWx0aW5nIGluIGZvY3VzIGJlaW5nIGxvc3QuXG4gKi9cblxuZnVuY3Rpb24gcmVzdG9yZVNlbGVjdGlvbihwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uKSB7XG4gIHZhciBjdXJGb2N1c2VkRWxlbSA9IGdldEFjdGl2ZUVsZW1lbnREZWVwKCk7XG4gIHZhciBwcmlvckZvY3VzZWRFbGVtID0gcHJpb3JTZWxlY3Rpb25JbmZvcm1hdGlvbi5mb2N1c2VkRWxlbTtcbiAgdmFyIHByaW9yU2VsZWN0aW9uUmFuZ2UgPSBwcmlvclNlbGVjdGlvbkluZm9ybWF0aW9uLnNlbGVjdGlvblJhbmdlO1xuXG4gIGlmIChjdXJGb2N1c2VkRWxlbSAhPT0gcHJpb3JGb2N1c2VkRWxlbSAmJiBpc0luRG9jdW1lbnQocHJpb3JGb2N1c2VkRWxlbSkpIHtcbiAgICBpZiAocHJpb3JTZWxlY3Rpb25SYW5nZSAhPT0gbnVsbCAmJiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMocHJpb3JGb2N1c2VkRWxlbSkpIHtcbiAgICAgIHNldFNlbGVjdGlvbihwcmlvckZvY3VzZWRFbGVtLCBwcmlvclNlbGVjdGlvblJhbmdlKTtcbiAgICB9IC8vIEZvY3VzaW5nIGEgbm9kZSBjYW4gY2hhbmdlIHRoZSBzY3JvbGwgcG9zaXRpb24sIHdoaWNoIGlzIHVuZGVzaXJhYmxlXG5cblxuICAgIHZhciBhbmNlc3RvcnMgPSBbXTtcbiAgICB2YXIgYW5jZXN0b3IgPSBwcmlvckZvY3VzZWRFbGVtO1xuXG4gICAgd2hpbGUgKGFuY2VzdG9yID0gYW5jZXN0b3IucGFyZW50Tm9kZSkge1xuICAgICAgaWYgKGFuY2VzdG9yLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICAgICAgYW5jZXN0b3JzLnB1c2goe1xuICAgICAgICAgIGVsZW1lbnQ6IGFuY2VzdG9yLFxuICAgICAgICAgIGxlZnQ6IGFuY2VzdG9yLnNjcm9sbExlZnQsXG4gICAgICAgICAgdG9wOiBhbmNlc3Rvci5zY3JvbGxUb3BcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBwcmlvckZvY3VzZWRFbGVtLmZvY3VzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwcmlvckZvY3VzZWRFbGVtLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhbmNlc3RvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBpbmZvID0gYW5jZXN0b3JzW2ldO1xuICAgICAgaW5mby5lbGVtZW50LnNjcm9sbExlZnQgPSBpbmZvLmxlZnQ7XG4gICAgICBpbmZvLmVsZW1lbnQuc2Nyb2xsVG9wID0gaW5mby50b3A7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEBnZXRTZWxlY3Rpb246IEdldHMgdGhlIHNlbGVjdGlvbiBib3VuZHMgb2YgYSBmb2N1c2VkIHRleHRhcmVhLCBpbnB1dCBvclxuICogY29udGVudEVkaXRhYmxlIG5vZGUuXG4gKiAtQGlucHV0OiBMb29rIHVwIHNlbGVjdGlvbiBib3VuZHMgb2YgdGhpcyBpbnB1dFxuICogLUByZXR1cm4ge3N0YXJ0OiBzZWxlY3Rpb25TdGFydCwgZW5kOiBzZWxlY3Rpb25FbmR9XG4gKi9cblxuZnVuY3Rpb24gZ2V0U2VsZWN0aW9uKGlucHV0KSB7XG4gIHZhciBzZWxlY3Rpb247XG5cbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gaW5wdXQpIHtcbiAgICAvLyBNb2Rlcm4gYnJvd3NlciB3aXRoIGlucHV0IG9yIHRleHRhcmVhLlxuICAgIHNlbGVjdGlvbiA9IHtcbiAgICAgIHN0YXJ0OiBpbnB1dC5zZWxlY3Rpb25TdGFydCxcbiAgICAgIGVuZDogaW5wdXQuc2VsZWN0aW9uRW5kXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBDb250ZW50IGVkaXRhYmxlIG9yIG9sZCBJRSB0ZXh0YXJlYS5cbiAgICBzZWxlY3Rpb24gPSBnZXRPZmZzZXRzKGlucHV0KTtcbiAgfVxuXG4gIHJldHVybiBzZWxlY3Rpb24gfHwge1xuICAgIHN0YXJ0OiAwLFxuICAgIGVuZDogMFxuICB9O1xufVxuLyoqXG4gKiBAc2V0U2VsZWN0aW9uOiBTZXRzIHRoZSBzZWxlY3Rpb24gYm91bmRzIG9mIGEgdGV4dGFyZWEgb3IgaW5wdXQgYW5kIGZvY3VzZXNcbiAqIHRoZSBpbnB1dC5cbiAqIC1AaW5wdXQgICAgIFNldCBzZWxlY3Rpb24gYm91bmRzIG9mIHRoaXMgaW5wdXQgb3IgdGV4dGFyZWFcbiAqIC1Ab2Zmc2V0cyAgIE9iamVjdCBvZiBzYW1lIGZvcm0gdGhhdCBpcyByZXR1cm5lZCBmcm9tIGdldCpcbiAqL1xuXG5mdW5jdGlvbiBzZXRTZWxlY3Rpb24oaW5wdXQsIG9mZnNldHMpIHtcbiAgdmFyIHN0YXJ0ID0gb2Zmc2V0cy5zdGFydCxcbiAgICAgIGVuZCA9IG9mZnNldHMuZW5kO1xuXG4gIGlmIChlbmQgPT09IHVuZGVmaW5lZCkge1xuICAgIGVuZCA9IHN0YXJ0O1xuICB9XG5cbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gaW5wdXQpIHtcbiAgICBpbnB1dC5zZWxlY3Rpb25TdGFydCA9IHN0YXJ0O1xuICAgIGlucHV0LnNlbGVjdGlvbkVuZCA9IE1hdGgubWluKGVuZCwgaW5wdXQudmFsdWUubGVuZ3RoKTtcbiAgfSBlbHNlIHtcbiAgICBzZXRPZmZzZXRzKGlucHV0LCBvZmZzZXRzKTtcbiAgfVxufVxuXG52YXIgdmFsaWRhdGVET01OZXN0aW5nID0gZnVuY3Rpb24gKCkge307XG5cbnZhciB1cGRhdGVkQW5jZXN0b3JJbmZvID0gZnVuY3Rpb24gKCkge307XG5cbntcbiAgLy8gVGhpcyB2YWxpZGF0aW9uIGNvZGUgd2FzIHdyaXR0ZW4gYmFzZWQgb24gdGhlIEhUTUw1IHBhcnNpbmcgc3BlYzpcbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaGFzLWFuLWVsZW1lbnQtaW4tc2NvcGVcbiAgLy9cbiAgLy8gTm90ZTogdGhpcyBkb2VzIG5vdCBjYXRjaCBhbGwgaW52YWxpZCBuZXN0aW5nLCBub3IgZG9lcyBpdCB0cnkgdG8gKGFzIGl0J3NcbiAgLy8gbm90IGNsZWFyIHdoYXQgcHJhY3RpY2FsIGJlbmVmaXQgZG9pbmcgc28gcHJvdmlkZXMpOyBpbnN0ZWFkLCB3ZSB3YXJuIG9ubHlcbiAgLy8gZm9yIGNhc2VzIHdoZXJlIHRoZSBwYXJzZXIgd2lsbCBnaXZlIGEgcGFyc2UgdHJlZSBkaWZmZXJpbmcgZnJvbSB3aGF0IFJlYWN0XG4gIC8vIGludGVuZGVkLiBGb3IgZXhhbXBsZSwgPGI+PGRpdj48L2Rpdj48L2I+IGlzIGludmFsaWQgYnV0IHdlIGRvbid0IHdhcm5cbiAgLy8gYmVjYXVzZSBpdCBzdGlsbCBwYXJzZXMgY29ycmVjdGx5OyB3ZSBkbyB3YXJuIGZvciBvdGhlciBjYXNlcyBsaWtlIG5lc3RlZFxuICAvLyA8cD4gdGFncyB3aGVyZSB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzZWNvbmQgZWxlbWVudCBpbXBsaWNpdGx5IGNsb3NlcyB0aGVcbiAgLy8gZmlyc3QsIGNhdXNpbmcgYSBjb25mdXNpbmcgbWVzcy5cbiAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjc3BlY2lhbFxuICB2YXIgc3BlY2lhbFRhZ3MgPSBbJ2FkZHJlc3MnLCAnYXBwbGV0JywgJ2FyZWEnLCAnYXJ0aWNsZScsICdhc2lkZScsICdiYXNlJywgJ2Jhc2Vmb250JywgJ2Jnc291bmQnLCAnYmxvY2txdW90ZScsICdib2R5JywgJ2JyJywgJ2J1dHRvbicsICdjYXB0aW9uJywgJ2NlbnRlcicsICdjb2wnLCAnY29sZ3JvdXAnLCAnZGQnLCAnZGV0YWlscycsICdkaXInLCAnZGl2JywgJ2RsJywgJ2R0JywgJ2VtYmVkJywgJ2ZpZWxkc2V0JywgJ2ZpZ2NhcHRpb24nLCAnZmlndXJlJywgJ2Zvb3RlcicsICdmb3JtJywgJ2ZyYW1lJywgJ2ZyYW1lc2V0JywgJ2gxJywgJ2gyJywgJ2gzJywgJ2g0JywgJ2g1JywgJ2g2JywgJ2hlYWQnLCAnaGVhZGVyJywgJ2hncm91cCcsICdocicsICdodG1sJywgJ2lmcmFtZScsICdpbWcnLCAnaW5wdXQnLCAnaXNpbmRleCcsICdsaScsICdsaW5rJywgJ2xpc3RpbmcnLCAnbWFpbicsICdtYXJxdWVlJywgJ21lbnUnLCAnbWVudWl0ZW0nLCAnbWV0YScsICduYXYnLCAnbm9lbWJlZCcsICdub2ZyYW1lcycsICdub3NjcmlwdCcsICdvYmplY3QnLCAnb2wnLCAncCcsICdwYXJhbScsICdwbGFpbnRleHQnLCAncHJlJywgJ3NjcmlwdCcsICdzZWN0aW9uJywgJ3NlbGVjdCcsICdzb3VyY2UnLCAnc3R5bGUnLCAnc3VtbWFyeScsICd0YWJsZScsICd0Ym9keScsICd0ZCcsICd0ZW1wbGF0ZScsICd0ZXh0YXJlYScsICd0Zm9vdCcsICd0aCcsICd0aGVhZCcsICd0aXRsZScsICd0cicsICd0cmFjaycsICd1bCcsICd3YnInLCAneG1wJ107IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2hhcy1hbi1lbGVtZW50LWluLXNjb3BlXG5cbiAgdmFyIGluU2NvcGVUYWdzID0gWydhcHBsZXQnLCAnY2FwdGlvbicsICdodG1sJywgJ3RhYmxlJywgJ3RkJywgJ3RoJywgJ21hcnF1ZWUnLCAnb2JqZWN0JywgJ3RlbXBsYXRlJywgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjaHRtbC1pbnRlZ3JhdGlvbi1wb2ludFxuICAvLyBUT0RPOiBEaXN0aW5ndWlzaCBieSBuYW1lc3BhY2UgaGVyZSAtLSBmb3IgPHRpdGxlPiwgaW5jbHVkaW5nIGl0IGhlcmVcbiAgLy8gZXJycyBvbiB0aGUgc2lkZSBvZiBmZXdlciB3YXJuaW5nc1xuICAnZm9yZWlnbk9iamVjdCcsICdkZXNjJywgJ3RpdGxlJ107IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2hhcy1hbi1lbGVtZW50LWluLWJ1dHRvbi1zY29wZVxuXG4gIHZhciBidXR0b25TY29wZVRhZ3MgPSBpblNjb3BlVGFncy5jb25jYXQoWydidXR0b24nXSk7IC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI2dlbmVyYXRlLWltcGxpZWQtZW5kLXRhZ3NcblxuICB2YXIgaW1wbGllZEVuZFRhZ3MgPSBbJ2RkJywgJ2R0JywgJ2xpJywgJ29wdGlvbicsICdvcHRncm91cCcsICdwJywgJ3JwJywgJ3J0J107XG4gIHZhciBlbXB0eUFuY2VzdG9ySW5mbyA9IHtcbiAgICBjdXJyZW50OiBudWxsLFxuICAgIGZvcm1UYWc6IG51bGwsXG4gICAgYVRhZ0luU2NvcGU6IG51bGwsXG4gICAgYnV0dG9uVGFnSW5TY29wZTogbnVsbCxcbiAgICBub2JyVGFnSW5TY29wZTogbnVsbCxcbiAgICBwVGFnSW5CdXR0b25TY29wZTogbnVsbCxcbiAgICBsaXN0SXRlbVRhZ0F1dG9jbG9zaW5nOiBudWxsLFxuICAgIGRsSXRlbVRhZ0F1dG9jbG9zaW5nOiBudWxsXG4gIH07XG5cbiAgdXBkYXRlZEFuY2VzdG9ySW5mbyA9IGZ1bmN0aW9uIChvbGRJbmZvLCB0YWcpIHtcbiAgICB2YXIgYW5jZXN0b3JJbmZvID0gX2Fzc2lnbih7fSwgb2xkSW5mbyB8fCBlbXB0eUFuY2VzdG9ySW5mbyk7XG5cbiAgICB2YXIgaW5mbyA9IHtcbiAgICAgIHRhZzogdGFnXG4gICAgfTtcblxuICAgIGlmIChpblNjb3BlVGFncy5pbmRleE9mKHRhZykgIT09IC0xKSB7XG4gICAgICBhbmNlc3RvckluZm8uYVRhZ0luU2NvcGUgPSBudWxsO1xuICAgICAgYW5jZXN0b3JJbmZvLmJ1dHRvblRhZ0luU2NvcGUgPSBudWxsO1xuICAgICAgYW5jZXN0b3JJbmZvLm5vYnJUYWdJblNjb3BlID0gbnVsbDtcbiAgICB9XG5cbiAgICBpZiAoYnV0dG9uU2NvcGVUYWdzLmluZGV4T2YodGFnKSAhPT0gLTEpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5wVGFnSW5CdXR0b25TY29wZSA9IG51bGw7XG4gICAgfSAvLyBTZWUgcnVsZXMgZm9yICdsaScsICdkZCcsICdkdCcgc3RhcnQgdGFncyBpblxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmJvZHlcblxuXG4gICAgaWYgKHNwZWNpYWxUYWdzLmluZGV4T2YodGFnKSAhPT0gLTEgJiYgdGFnICE9PSAnYWRkcmVzcycgJiYgdGFnICE9PSAnZGl2JyAmJiB0YWcgIT09ICdwJykge1xuICAgICAgYW5jZXN0b3JJbmZvLmxpc3RJdGVtVGFnQXV0b2Nsb3NpbmcgPSBudWxsO1xuICAgICAgYW5jZXN0b3JJbmZvLmRsSXRlbVRhZ0F1dG9jbG9zaW5nID0gbnVsbDtcbiAgICB9XG5cbiAgICBhbmNlc3RvckluZm8uY3VycmVudCA9IGluZm87XG5cbiAgICBpZiAodGFnID09PSAnZm9ybScpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5mb3JtVGFnID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnYScpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5hVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ2J1dHRvbicpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5idXR0b25UYWdJblNjb3BlID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnbm9icicpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZSA9IGluZm87XG4gICAgfVxuXG4gICAgaWYgKHRhZyA9PT0gJ3AnKSB7XG4gICAgICBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGUgPSBpbmZvO1xuICAgIH1cblxuICAgIGlmICh0YWcgPT09ICdsaScpIHtcbiAgICAgIGFuY2VzdG9ySW5mby5saXN0SXRlbVRhZ0F1dG9jbG9zaW5nID0gaW5mbztcbiAgICB9XG5cbiAgICBpZiAodGFnID09PSAnZGQnIHx8IHRhZyA9PT0gJ2R0Jykge1xuICAgICAgYW5jZXN0b3JJbmZvLmRsSXRlbVRhZ0F1dG9jbG9zaW5nID0gaW5mbztcbiAgICB9XG5cbiAgICByZXR1cm4gYW5jZXN0b3JJbmZvO1xuICB9O1xuICAvKipcbiAgICogUmV0dXJucyB3aGV0aGVyXG4gICAqL1xuXG5cbiAgdmFyIGlzVGFnVmFsaWRXaXRoUGFyZW50ID0gZnVuY3Rpb24gKHRhZywgcGFyZW50VGFnKSB7XG4gICAgLy8gRmlyc3QsIGxldCdzIGNoZWNrIGlmIHdlJ3JlIGluIGFuIHVudXN1YWwgcGFyc2luZyBtb2RlLi4uXG4gICAgc3dpdGNoIChwYXJlbnRUYWcpIHtcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnNlbGVjdFxuICAgICAgY2FzZSAnc2VsZWN0JzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ29wdGlvbicgfHwgdGFnID09PSAnb3B0Z3JvdXAnIHx8IHRhZyA9PT0gJyN0ZXh0JztcblxuICAgICAgY2FzZSAnb3B0Z3JvdXAnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnb3B0aW9uJyB8fCB0YWcgPT09ICcjdGV4dCc7XG4gICAgICAvLyBTdHJpY3RseSBzcGVha2luZywgc2VlaW5nIGFuIDxvcHRpb24+IGRvZXNuJ3QgbWVhbiB3ZSdyZSBpbiBhIDxzZWxlY3Q+XG4gICAgICAvLyBidXRcblxuICAgICAgY2FzZSAnb3B0aW9uJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJyN0ZXh0JztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRkXG4gICAgICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNwYXJzaW5nLW1haW4taW5jYXB0aW9uXG4gICAgICAvLyBObyBzcGVjaWFsIGJlaGF2aW9yIHNpbmNlIHRoZXNlIHJ1bGVzIGZhbGwgYmFjayB0byBcImluIGJvZHlcIiBtb2RlIGZvclxuICAgICAgLy8gYWxsIGV4Y2VwdCBzcGVjaWFsIHRhYmxlIG5vZGVzIHdoaWNoIGNhdXNlIGJhZCBwYXJzaW5nIGJlaGF2aW9yIGFueXdheS5cbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbnRyXG5cbiAgICAgIGNhc2UgJ3RyJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ3RoJyB8fCB0YWcgPT09ICd0ZCcgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWludGJvZHlcblxuICAgICAgY2FzZSAndGJvZHknOlxuICAgICAgY2FzZSAndGhlYWQnOlxuICAgICAgY2FzZSAndGZvb3QnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAndHInIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmNvbGdyb3VwXG5cbiAgICAgIGNhc2UgJ2NvbGdyb3VwJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2NvbCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjcGFyc2luZy1tYWluLWludGFibGVcblxuICAgICAgY2FzZSAndGFibGUnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnY2FwdGlvbicgfHwgdGFnID09PSAnY29sZ3JvdXAnIHx8IHRhZyA9PT0gJ3Rib2R5JyB8fCB0YWcgPT09ICd0Zm9vdCcgfHwgdGFnID09PSAndGhlYWQnIHx8IHRhZyA9PT0gJ3N0eWxlJyB8fCB0YWcgPT09ICdzY3JpcHQnIHx8IHRhZyA9PT0gJ3RlbXBsYXRlJztcbiAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmhlYWRcblxuICAgICAgY2FzZSAnaGVhZCc6XG4gICAgICAgIHJldHVybiB0YWcgPT09ICdiYXNlJyB8fCB0YWcgPT09ICdiYXNlZm9udCcgfHwgdGFnID09PSAnYmdzb3VuZCcgfHwgdGFnID09PSAnbGluaycgfHwgdGFnID09PSAnbWV0YScgfHwgdGFnID09PSAndGl0bGUnIHx8IHRhZyA9PT0gJ25vc2NyaXB0JyB8fCB0YWcgPT09ICdub2ZyYW1lcycgfHwgdGFnID09PSAnc3R5bGUnIHx8IHRhZyA9PT0gJ3NjcmlwdCcgfHwgdGFnID09PSAndGVtcGxhdGUnO1xuICAgICAgLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjdGhlLWh0bWwtZWxlbWVudFxuXG4gICAgICBjYXNlICdodG1sJzpcbiAgICAgICAgcmV0dXJuIHRhZyA9PT0gJ2hlYWQnIHx8IHRhZyA9PT0gJ2JvZHknIHx8IHRhZyA9PT0gJ2ZyYW1lc2V0JztcblxuICAgICAgY2FzZSAnZnJhbWVzZXQnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnZnJhbWUnO1xuXG4gICAgICBjYXNlICcjZG9jdW1lbnQnOlxuICAgICAgICByZXR1cm4gdGFnID09PSAnaHRtbCc7XG4gICAgfSAvLyBQcm9iYWJseSBpbiB0aGUgXCJpbiBib2R5XCIgcGFyc2luZyBtb2RlLCBzbyB3ZSBvdXRsYXcgb25seSB0YWcgY29tYm9zXG4gICAgLy8gd2hlcmUgdGhlIHBhcnNpbmcgcnVsZXMgY2F1c2UgaW1wbGljaXQgb3BlbnMgb3IgY2xvc2VzIHRvIGJlIGFkZGVkLlxuICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3N5bnRheC5odG1sI3BhcnNpbmctbWFpbi1pbmJvZHlcblxuXG4gICAgc3dpdGNoICh0YWcpIHtcbiAgICAgIGNhc2UgJ2gxJzpcbiAgICAgIGNhc2UgJ2gyJzpcbiAgICAgIGNhc2UgJ2gzJzpcbiAgICAgIGNhc2UgJ2g0JzpcbiAgICAgIGNhc2UgJ2g1JzpcbiAgICAgIGNhc2UgJ2g2JzpcbiAgICAgICAgcmV0dXJuIHBhcmVudFRhZyAhPT0gJ2gxJyAmJiBwYXJlbnRUYWcgIT09ICdoMicgJiYgcGFyZW50VGFnICE9PSAnaDMnICYmIHBhcmVudFRhZyAhPT0gJ2g0JyAmJiBwYXJlbnRUYWcgIT09ICdoNScgJiYgcGFyZW50VGFnICE9PSAnaDYnO1xuXG4gICAgICBjYXNlICdycCc6XG4gICAgICBjYXNlICdydCc6XG4gICAgICAgIHJldHVybiBpbXBsaWVkRW5kVGFncy5pbmRleE9mKHBhcmVudFRhZykgPT09IC0xO1xuXG4gICAgICBjYXNlICdib2R5JzpcbiAgICAgIGNhc2UgJ2NhcHRpb24nOlxuICAgICAgY2FzZSAnY29sJzpcbiAgICAgIGNhc2UgJ2NvbGdyb3VwJzpcbiAgICAgIGNhc2UgJ2ZyYW1lc2V0JzpcbiAgICAgIGNhc2UgJ2ZyYW1lJzpcbiAgICAgIGNhc2UgJ2hlYWQnOlxuICAgICAgY2FzZSAnaHRtbCc6XG4gICAgICBjYXNlICd0Ym9keSc6XG4gICAgICBjYXNlICd0ZCc6XG4gICAgICBjYXNlICd0Zm9vdCc6XG4gICAgICBjYXNlICd0aCc6XG4gICAgICBjYXNlICd0aGVhZCc6XG4gICAgICBjYXNlICd0cic6XG4gICAgICAgIC8vIFRoZXNlIHRhZ3MgYXJlIG9ubHkgdmFsaWQgd2l0aCBhIGZldyBwYXJlbnRzIHRoYXQgaGF2ZSBzcGVjaWFsIGNoaWxkXG4gICAgICAgIC8vIHBhcnNpbmcgcnVsZXMgLS0gaWYgd2UncmUgZG93biBoZXJlLCB0aGVuIG5vbmUgb2YgdGhvc2UgbWF0Y2hlZCBhbmRcbiAgICAgICAgLy8gc28gd2UgYWxsb3cgaXQgb25seSBpZiB3ZSBkb24ndCBrbm93IHdoYXQgdGhlIHBhcmVudCBpcywgYXMgYWxsIG90aGVyXG4gICAgICAgIC8vIGNhc2VzIGFyZSBpbnZhbGlkLlxuICAgICAgICByZXR1cm4gcGFyZW50VGFnID09IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG4gIC8qKlxuICAgKiBSZXR1cm5zIHdoZXRoZXJcbiAgICovXG5cblxuICB2YXIgZmluZEludmFsaWRBbmNlc3RvckZvclRhZyA9IGZ1bmN0aW9uICh0YWcsIGFuY2VzdG9ySW5mbykge1xuICAgIHN3aXRjaCAodGFnKSB7XG4gICAgICBjYXNlICdhZGRyZXNzJzpcbiAgICAgIGNhc2UgJ2FydGljbGUnOlxuICAgICAgY2FzZSAnYXNpZGUnOlxuICAgICAgY2FzZSAnYmxvY2txdW90ZSc6XG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgY2FzZSAnZGV0YWlscyc6XG4gICAgICBjYXNlICdkaWFsb2cnOlxuICAgICAgY2FzZSAnZGlyJzpcbiAgICAgIGNhc2UgJ2Rpdic6XG4gICAgICBjYXNlICdkbCc6XG4gICAgICBjYXNlICdmaWVsZHNldCc6XG4gICAgICBjYXNlICdmaWdjYXB0aW9uJzpcbiAgICAgIGNhc2UgJ2ZpZ3VyZSc6XG4gICAgICBjYXNlICdmb290ZXInOlxuICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgIGNhc2UgJ2hncm91cCc6XG4gICAgICBjYXNlICdtYWluJzpcbiAgICAgIGNhc2UgJ21lbnUnOlxuICAgICAgY2FzZSAnbmF2JzpcbiAgICAgIGNhc2UgJ29sJzpcbiAgICAgIGNhc2UgJ3AnOlxuICAgICAgY2FzZSAnc2VjdGlvbic6XG4gICAgICBjYXNlICdzdW1tYXJ5JzpcbiAgICAgIGNhc2UgJ3VsJzpcbiAgICAgIGNhc2UgJ3ByZSc6XG4gICAgICBjYXNlICdsaXN0aW5nJzpcbiAgICAgIGNhc2UgJ3RhYmxlJzpcbiAgICAgIGNhc2UgJ2hyJzpcbiAgICAgIGNhc2UgJ3htcCc6XG4gICAgICBjYXNlICdoMSc6XG4gICAgICBjYXNlICdoMic6XG4gICAgICBjYXNlICdoMyc6XG4gICAgICBjYXNlICdoNCc6XG4gICAgICBjYXNlICdoNSc6XG4gICAgICBjYXNlICdoNic6XG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8ucFRhZ0luQnV0dG9uU2NvcGU7XG5cbiAgICAgIGNhc2UgJ2Zvcm0nOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmZvcm1UYWcgfHwgYW5jZXN0b3JJbmZvLnBUYWdJbkJ1dHRvblNjb3BlO1xuXG4gICAgICBjYXNlICdsaSc6XG4gICAgICAgIHJldHVybiBhbmNlc3RvckluZm8ubGlzdEl0ZW1UYWdBdXRvY2xvc2luZztcblxuICAgICAgY2FzZSAnZGQnOlxuICAgICAgY2FzZSAnZHQnOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmRsSXRlbVRhZ0F1dG9jbG9zaW5nO1xuXG4gICAgICBjYXNlICdidXR0b24nOlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmJ1dHRvblRhZ0luU2NvcGU7XG5cbiAgICAgIGNhc2UgJ2EnOlxuICAgICAgICAvLyBTcGVjIHNheXMgc29tZXRoaW5nIGFib3V0IHN0b3JpbmcgYSBsaXN0IG9mIG1hcmtlcnMsIGJ1dCBpdCBzb3VuZHNcbiAgICAgICAgLy8gZXF1aXZhbGVudCB0byB0aGlzIGNoZWNrLlxuICAgICAgICByZXR1cm4gYW5jZXN0b3JJbmZvLmFUYWdJblNjb3BlO1xuXG4gICAgICBjYXNlICdub2JyJzpcbiAgICAgICAgcmV0dXJuIGFuY2VzdG9ySW5mby5ub2JyVGFnSW5TY29wZTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICB2YXIgZGlkV2FybiQxID0ge307XG5cbiAgdmFsaWRhdGVET01OZXN0aW5nID0gZnVuY3Rpb24gKGNoaWxkVGFnLCBjaGlsZFRleHQsIGFuY2VzdG9ySW5mbykge1xuICAgIGFuY2VzdG9ySW5mbyA9IGFuY2VzdG9ySW5mbyB8fCBlbXB0eUFuY2VzdG9ySW5mbztcbiAgICB2YXIgcGFyZW50SW5mbyA9IGFuY2VzdG9ySW5mby5jdXJyZW50O1xuICAgIHZhciBwYXJlbnRUYWcgPSBwYXJlbnRJbmZvICYmIHBhcmVudEluZm8udGFnO1xuXG4gICAgaWYgKGNoaWxkVGV4dCAhPSBudWxsKSB7XG4gICAgICBpZiAoY2hpbGRUYWcgIT0gbnVsbCkge1xuICAgICAgICBlcnJvcigndmFsaWRhdGVET01OZXN0aW5nOiB3aGVuIGNoaWxkVGV4dCBpcyBwYXNzZWQsIGNoaWxkVGFnIHNob3VsZCBiZSBudWxsJyk7XG4gICAgICB9XG5cbiAgICAgIGNoaWxkVGFnID0gJyN0ZXh0JztcbiAgICB9XG5cbiAgICB2YXIgaW52YWxpZFBhcmVudCA9IGlzVGFnVmFsaWRXaXRoUGFyZW50KGNoaWxkVGFnLCBwYXJlbnRUYWcpID8gbnVsbCA6IHBhcmVudEluZm87XG4gICAgdmFyIGludmFsaWRBbmNlc3RvciA9IGludmFsaWRQYXJlbnQgPyBudWxsIDogZmluZEludmFsaWRBbmNlc3RvckZvclRhZyhjaGlsZFRhZywgYW5jZXN0b3JJbmZvKTtcbiAgICB2YXIgaW52YWxpZFBhcmVudE9yQW5jZXN0b3IgPSBpbnZhbGlkUGFyZW50IHx8IGludmFsaWRBbmNlc3RvcjtcblxuICAgIGlmICghaW52YWxpZFBhcmVudE9yQW5jZXN0b3IpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgYW5jZXN0b3JUYWcgPSBpbnZhbGlkUGFyZW50T3JBbmNlc3Rvci50YWc7XG4gICAgdmFyIGFkZGVuZHVtID0gZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xuICAgIHZhciB3YXJuS2V5ID0gISFpbnZhbGlkUGFyZW50ICsgJ3wnICsgY2hpbGRUYWcgKyAnfCcgKyBhbmNlc3RvclRhZyArICd8JyArIGFkZGVuZHVtO1xuXG4gICAgaWYgKGRpZFdhcm4kMVt3YXJuS2V5XSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpZFdhcm4kMVt3YXJuS2V5XSA9IHRydWU7XG4gICAgdmFyIHRhZ0Rpc3BsYXlOYW1lID0gY2hpbGRUYWc7XG4gICAgdmFyIHdoaXRlc3BhY2VJbmZvID0gJyc7XG5cbiAgICBpZiAoY2hpbGRUYWcgPT09ICcjdGV4dCcpIHtcbiAgICAgIGlmICgvXFxTLy50ZXN0KGNoaWxkVGV4dCkpIHtcbiAgICAgICAgdGFnRGlzcGxheU5hbWUgPSAnVGV4dCBub2Rlcyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0YWdEaXNwbGF5TmFtZSA9ICdXaGl0ZXNwYWNlIHRleHQgbm9kZXMnO1xuICAgICAgICB3aGl0ZXNwYWNlSW5mbyA9IFwiIE1ha2Ugc3VyZSB5b3UgZG9uJ3QgaGF2ZSBhbnkgZXh0cmEgd2hpdGVzcGFjZSBiZXR3ZWVuIHRhZ3Mgb24gXCIgKyAnZWFjaCBsaW5lIG9mIHlvdXIgc291cmNlIGNvZGUuJztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGFnRGlzcGxheU5hbWUgPSAnPCcgKyBjaGlsZFRhZyArICc+JztcbiAgICB9XG5cbiAgICBpZiAoaW52YWxpZFBhcmVudCkge1xuICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgaWYgKGFuY2VzdG9yVGFnID09PSAndGFibGUnICYmIGNoaWxkVGFnID09PSAndHInKSB7XG4gICAgICAgIGluZm8gKz0gJyBBZGQgYSA8dGJvZHk+LCA8dGhlYWQ+IG9yIDx0Zm9vdD4gdG8geW91ciBjb2RlIHRvIG1hdGNoIHRoZSBET00gdHJlZSBnZW5lcmF0ZWQgYnkgJyArICd0aGUgYnJvd3Nlci4nO1xuICAgICAgfVxuXG4gICAgICBlcnJvcigndmFsaWRhdGVET01OZXN0aW5nKC4uLik6ICVzIGNhbm5vdCBhcHBlYXIgYXMgYSBjaGlsZCBvZiA8JXM+LiVzJXMnLCB0YWdEaXNwbGF5TmFtZSwgYW5jZXN0b3JUYWcsIHdoaXRlc3BhY2VJbmZvLCBpbmZvKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXJyb3IoJ3ZhbGlkYXRlRE9NTmVzdGluZyguLi4pOiAlcyBjYW5ub3QgYXBwZWFyIGFzIGEgZGVzY2VuZGFudCBvZiAnICsgJzwlcz4uJywgdGFnRGlzcGxheU5hbWUsIGFuY2VzdG9yVGFnKTtcbiAgICB9XG4gIH07XG59XG5cbnZhciBTVVBQUkVTU19IWURSQVRJT05fV0FSTklORyQxO1xuXG57XG4gIFNVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDEgPSAnc3VwcHJlc3NIeWRyYXRpb25XYXJuaW5nJztcbn1cblxudmFyIFNVU1BFTlNFX1NUQVJUX0RBVEEgPSAnJCc7XG52YXIgU1VTUEVOU0VfRU5EX0RBVEEgPSAnLyQnO1xudmFyIFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSA9ICckPyc7XG52YXIgU1VTUEVOU0VfRkFMTEJBQ0tfU1RBUlRfREFUQSA9ICckISc7XG52YXIgU1RZTEUkMSA9ICdzdHlsZSc7XG52YXIgZXZlbnRzRW5hYmxlZCA9IG51bGw7XG52YXIgc2VsZWN0aW9uSW5mb3JtYXRpb24gPSBudWxsO1xuXG5mdW5jdGlvbiBzaG91bGRBdXRvRm9jdXNIb3N0Q29tcG9uZW50KHR5cGUsIHByb3BzKSB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2J1dHRvbic6XG4gICAgY2FzZSAnaW5wdXQnOlxuICAgIGNhc2UgJ3NlbGVjdCc6XG4gICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgcmV0dXJuICEhcHJvcHMuYXV0b0ZvY3VzO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZ2V0Um9vdEhvc3RDb250ZXh0KHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB2YXIgdHlwZTtcbiAgdmFyIG5hbWVzcGFjZTtcbiAgdmFyIG5vZGVUeXBlID0gcm9vdENvbnRhaW5lckluc3RhbmNlLm5vZGVUeXBlO1xuXG4gIHN3aXRjaCAobm9kZVR5cGUpIHtcbiAgICBjYXNlIERPQ1VNRU5UX05PREU6XG4gICAgY2FzZSBET0NVTUVOVF9GUkFHTUVOVF9OT0RFOlxuICAgICAge1xuICAgICAgICB0eXBlID0gbm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyAnI2RvY3VtZW50JyA6ICcjZnJhZ21lbnQnO1xuICAgICAgICB2YXIgcm9vdCA9IHJvb3RDb250YWluZXJJbnN0YW5jZS5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgIG5hbWVzcGFjZSA9IHJvb3QgPyByb290Lm5hbWVzcGFjZVVSSSA6IGdldENoaWxkTmFtZXNwYWNlKG51bGwsICcnKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB2YXIgY29udGFpbmVyID0gbm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSA/IHJvb3RDb250YWluZXJJbnN0YW5jZS5wYXJlbnROb2RlIDogcm9vdENvbnRhaW5lckluc3RhbmNlO1xuICAgICAgICB2YXIgb3duTmFtZXNwYWNlID0gY29udGFpbmVyLm5hbWVzcGFjZVVSSSB8fCBudWxsO1xuICAgICAgICB0eXBlID0gY29udGFpbmVyLnRhZ05hbWU7XG4gICAgICAgIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKG93bk5hbWVzcGFjZSwgdHlwZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHZhciB2YWxpZGF0ZWRUYWcgPSB0eXBlLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8obnVsbCwgdmFsaWRhdGVkVGFnKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldENoaWxkSG9zdENvbnRleHQocGFyZW50SG9zdENvbnRleHQsIHR5cGUsIHJvb3RDb250YWluZXJJbnN0YW5jZSkge1xuICB7XG4gICAgdmFyIHBhcmVudEhvc3RDb250ZXh0RGV2ID0gcGFyZW50SG9zdENvbnRleHQ7XG4gICAgdmFyIG5hbWVzcGFjZSA9IGdldENoaWxkTmFtZXNwYWNlKHBhcmVudEhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZSwgdHlwZSk7XG4gICAgdmFyIGFuY2VzdG9ySW5mbyA9IHVwZGF0ZWRBbmNlc3RvckluZm8ocGFyZW50SG9zdENvbnRleHREZXYuYW5jZXN0b3JJbmZvLCB0eXBlKTtcbiAgICByZXR1cm4ge1xuICAgICAgbmFtZXNwYWNlOiBuYW1lc3BhY2UsXG4gICAgICBhbmNlc3RvckluZm86IGFuY2VzdG9ySW5mb1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKSB7XG4gIHJldHVybiBpbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVGb3JDb21taXQoY29udGFpbmVySW5mbykge1xuICBldmVudHNFbmFibGVkID0gaXNFbmFibGVkKCk7XG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gZ2V0U2VsZWN0aW9uSW5mb3JtYXRpb24oKTtcbiAgc2V0RW5hYmxlZChmYWxzZSk7XG59XG5mdW5jdGlvbiByZXNldEFmdGVyQ29tbWl0KGNvbnRhaW5lckluZm8pIHtcbiAgcmVzdG9yZVNlbGVjdGlvbihzZWxlY3Rpb25JbmZvcm1hdGlvbik7XG4gIHNldEVuYWJsZWQoZXZlbnRzRW5hYmxlZCk7XG4gIGV2ZW50c0VuYWJsZWQgPSBudWxsO1xuXG4gIHNlbGVjdGlvbkluZm9ybWF0aW9uID0gbnVsbDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKHR5cGUsIHByb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGhvc3RDb250ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHZhciBwYXJlbnROYW1lc3BhY2U7XG5cbiAge1xuICAgIC8vIFRPRE86IHRha2UgbmFtZXNwYWNlIGludG8gYWNjb3VudCB3aGVuIHZhbGlkYXRpbmcuXG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgdmFsaWRhdGVET01OZXN0aW5nKHR5cGUsIG51bGwsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XG5cbiAgICBpZiAodHlwZW9mIHByb3BzLmNoaWxkcmVuID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgcHJvcHMuY2hpbGRyZW4gPT09ICdudW1iZXInKSB7XG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBwcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBvd25BbmNlc3RvckluZm8gPSB1cGRhdGVkQW5jZXN0b3JJbmZvKGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbywgdHlwZSk7XG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xuICAgIH1cblxuICAgIHBhcmVudE5hbWVzcGFjZSA9IGhvc3RDb250ZXh0RGV2Lm5hbWVzcGFjZTtcbiAgfVxuXG4gIHZhciBkb21FbGVtZW50ID0gY3JlYXRlRWxlbWVudCh0eXBlLCBwcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBwYXJlbnROYW1lc3BhY2UpO1xuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBkb21FbGVtZW50KTtcbiAgdXBkYXRlRmliZXJQcm9wcyhkb21FbGVtZW50LCBwcm9wcyk7XG4gIHJldHVybiBkb21FbGVtZW50O1xufVxuZnVuY3Rpb24gYXBwZW5kSW5pdGlhbENoaWxkKHBhcmVudEluc3RhbmNlLCBjaGlsZCkge1xuICBwYXJlbnRJbnN0YW5jZS5hcHBlbmRDaGlsZChjaGlsZCk7XG59XG5mdW5jdGlvbiBmaW5hbGl6ZUluaXRpYWxDaGlsZHJlbihkb21FbGVtZW50LCB0eXBlLCBwcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCkge1xuICBzZXRJbml0aWFsUHJvcGVydGllcyhkb21FbGVtZW50LCB0eXBlLCBwcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKTtcbiAgcmV0dXJuIHNob3VsZEF1dG9Gb2N1c0hvc3RDb21wb25lbnQodHlwZSwgcHJvcHMpO1xufVxuZnVuY3Rpb24gcHJlcGFyZVVwZGF0ZShkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQpIHtcbiAge1xuICAgIHZhciBob3N0Q29udGV4dERldiA9IGhvc3RDb250ZXh0O1xuXG4gICAgaWYgKHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiAhPT0gdHlwZW9mIG9sZFByb3BzLmNoaWxkcmVuICYmICh0eXBlb2YgbmV3UHJvcHMuY2hpbGRyZW4gPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdQcm9wcy5jaGlsZHJlbiA9PT0gJ251bWJlcicpKSB7XG4gICAgICB2YXIgc3RyaW5nID0gJycgKyBuZXdQcm9wcy5jaGlsZHJlbjtcbiAgICAgIHZhciBvd25BbmNlc3RvckluZm8gPSB1cGRhdGVkQW5jZXN0b3JJbmZvKGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbywgdHlwZSk7XG4gICAgICB2YWxpZGF0ZURPTU5lc3RpbmcobnVsbCwgc3RyaW5nLCBvd25BbmNlc3RvckluZm8pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkaWZmUHJvcGVydGllcyhkb21FbGVtZW50LCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBzaG91bGRTZXRUZXh0Q29udGVudCh0eXBlLCBwcm9wcykge1xuICByZXR1cm4gdHlwZSA9PT0gJ3RleHRhcmVhJyB8fCB0eXBlID09PSAnb3B0aW9uJyB8fCB0eXBlID09PSAnbm9zY3JpcHQnIHx8IHR5cGVvZiBwcm9wcy5jaGlsZHJlbiA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHByb3BzLmNoaWxkcmVuID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgcHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgPT09ICdvYmplY3QnICYmIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICE9PSBudWxsICYmIHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCAhPSBudWxsO1xufVxuZnVuY3Rpb24gc2hvdWxkRGVwcmlvcml0aXplU3VidHJlZSh0eXBlLCBwcm9wcykge1xuICByZXR1cm4gISFwcm9wcy5oaWRkZW47XG59XG5mdW5jdGlvbiBjcmVhdGVUZXh0SW5zdGFuY2UodGV4dCwgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xuICB7XG4gICAgdmFyIGhvc3RDb250ZXh0RGV2ID0gaG9zdENvbnRleHQ7XG4gICAgdmFsaWRhdGVET01OZXN0aW5nKG51bGwsIHRleHQsIGhvc3RDb250ZXh0RGV2LmFuY2VzdG9ySW5mbyk7XG4gIH1cblxuICB2YXIgdGV4dE5vZGUgPSBjcmVhdGVUZXh0Tm9kZSh0ZXh0LCByb290Q29udGFpbmVySW5zdGFuY2UpO1xuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCB0ZXh0Tm9kZSk7XG4gIHJldHVybiB0ZXh0Tm9kZTtcbn1cbi8vIGlmIGEgY29tcG9uZW50IGp1c3QgaW1wb3J0cyBSZWFjdERPTSAoZS5nLiBmb3IgZmluZERPTU5vZGUpLlxuLy8gU29tZSBlbnZpcm9ubWVudHMgbWlnaHQgbm90IGhhdmUgc2V0VGltZW91dCBvciBjbGVhclRpbWVvdXQuXG5cbnZhciBzY2hlZHVsZVRpbWVvdXQgPSB0eXBlb2Ygc2V0VGltZW91dCA9PT0gJ2Z1bmN0aW9uJyA/IHNldFRpbWVvdXQgOiB1bmRlZmluZWQ7XG52YXIgY2FuY2VsVGltZW91dCA9IHR5cGVvZiBjbGVhclRpbWVvdXQgPT09ICdmdW5jdGlvbicgPyBjbGVhclRpbWVvdXQgOiB1bmRlZmluZWQ7XG52YXIgbm9UaW1lb3V0ID0gLTE7IC8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cbmZ1bmN0aW9uIGNvbW1pdE1vdW50KGRvbUVsZW1lbnQsIHR5cGUsIG5ld1Byb3BzLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIC8vIERlc3BpdGUgdGhlIG5hbWluZyB0aGF0IG1pZ2h0IGltcGx5IG90aGVyd2lzZSwgdGhpcyBtZXRob2Qgb25seVxuICAvLyBmaXJlcyBpZiB0aGVyZSBpcyBhbiBgVXBkYXRlYCBlZmZlY3Qgc2NoZWR1bGVkIGR1cmluZyBtb3VudGluZy5cbiAgLy8gVGhpcyBoYXBwZW5zIGlmIGBmaW5hbGl6ZUluaXRpYWxDaGlsZHJlbmAgcmV0dXJucyBgdHJ1ZWAgKHdoaWNoIGl0XG4gIC8vIGRvZXMgdG8gaW1wbGVtZW50IHRoZSBgYXV0b0ZvY3VzYCBhdHRyaWJ1dGUgb24gdGhlIGNsaWVudCkuIEJ1dFxuICAvLyB0aGVyZSBhcmUgYWxzbyBvdGhlciBjYXNlcyB3aGVuIHRoaXMgbWlnaHQgaGFwcGVuIChzdWNoIGFzIHBhdGNoaW5nXG4gIC8vIHVwIHRleHQgY29udGVudCBkdXJpbmcgaHlkcmF0aW9uIG1pc21hdGNoKS4gU28gd2UnbGwgY2hlY2sgdGhpcyBhZ2Fpbi5cbiAgaWYgKHNob3VsZEF1dG9Gb2N1c0hvc3RDb21wb25lbnQodHlwZSwgbmV3UHJvcHMpKSB7XG4gICAgZG9tRWxlbWVudC5mb2N1cygpO1xuICB9XG59XG5mdW5jdGlvbiBjb21taXRVcGRhdGUoZG9tRWxlbWVudCwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzLCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIC8vIFVwZGF0ZSB0aGUgcHJvcHMgaGFuZGxlIHNvIHRoYXQgd2Uga25vdyB3aGljaCBwcm9wcyBhcmUgdGhlIG9uZXMgd2l0aFxuICAvLyB3aXRoIGN1cnJlbnQgZXZlbnQgaGFuZGxlcnMuXG4gIHVwZGF0ZUZpYmVyUHJvcHMoZG9tRWxlbWVudCwgbmV3UHJvcHMpOyAvLyBBcHBseSB0aGUgZGlmZiB0byB0aGUgRE9NIG5vZGUuXG5cbiAgdXBkYXRlUHJvcGVydGllcyhkb21FbGVtZW50LCB1cGRhdGVQYXlsb2FkLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMpO1xufVxuZnVuY3Rpb24gcmVzZXRUZXh0Q29udGVudChkb21FbGVtZW50KSB7XG4gIHNldFRleHRDb250ZW50KGRvbUVsZW1lbnQsICcnKTtcbn1cbmZ1bmN0aW9uIGNvbW1pdFRleHRVcGRhdGUodGV4dEluc3RhbmNlLCBvbGRUZXh0LCBuZXdUZXh0KSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSBuZXdUZXh0O1xufVxuZnVuY3Rpb24gYXBwZW5kQ2hpbGQocGFyZW50SW5zdGFuY2UsIGNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLmFwcGVuZENoaWxkKGNoaWxkKTtcbn1cbmZ1bmN0aW9uIGFwcGVuZENoaWxkVG9Db250YWluZXIoY29udGFpbmVyLCBjaGlsZCkge1xuICB2YXIgcGFyZW50Tm9kZTtcblxuICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICBwYXJlbnROb2RlID0gY29udGFpbmVyLnBhcmVudE5vZGU7XG4gICAgcGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUoY2hpbGQsIGNvbnRhaW5lcik7XG4gIH0gZWxzZSB7XG4gICAgcGFyZW50Tm9kZSA9IGNvbnRhaW5lcjtcbiAgICBwYXJlbnROb2RlLmFwcGVuZENoaWxkKGNoaWxkKTtcbiAgfSAvLyBUaGlzIGNvbnRhaW5lciBtaWdodCBiZSB1c2VkIGZvciBhIHBvcnRhbC5cbiAgLy8gSWYgc29tZXRoaW5nIGluc2lkZSBhIHBvcnRhbCBpcyBjbGlja2VkLCB0aGF0IGNsaWNrIHNob3VsZCBidWJibGVcbiAgLy8gdGhyb3VnaCB0aGUgUmVhY3QgdHJlZS4gSG93ZXZlciwgb24gTW9iaWxlIFNhZmFyaSB0aGUgY2xpY2sgd291bGRcbiAgLy8gbmV2ZXIgYnViYmxlIHRocm91Z2ggdGhlICpET00qIHRyZWUgdW5sZXNzIGFuIGFuY2VzdG9yIHdpdGggb25jbGlja1xuICAvLyBldmVudCBleGlzdHMuIFNvIHdlIHdvdWxkbid0IHNlZSBpdCBhbmQgZGlzcGF0Y2ggaXQuXG4gIC8vIFRoaXMgaXMgd2h5IHdlIGVuc3VyZSB0aGF0IG5vbiBSZWFjdCByb290IGNvbnRhaW5lcnMgaGF2ZSBpbmxpbmUgb25jbGlja1xuICAvLyBkZWZpbmVkLlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzExOTE4XG5cblxuICB2YXIgcmVhY3RSb290Q29udGFpbmVyID0gY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXI7XG5cbiAgaWYgKChyZWFjdFJvb3RDb250YWluZXIgPT09IG51bGwgfHwgcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQpICYmIHBhcmVudE5vZGUub25jbGljayA9PT0gbnVsbCkge1xuICAgIC8vIFRPRE86IFRoaXMgY2FzdCBtYXkgbm90IGJlIHNvdW5kIGZvciBTVkcsIE1hdGhNTCBvciBjdXN0b20gZWxlbWVudHMuXG4gICAgdHJhcENsaWNrT25Ob25JbnRlcmFjdGl2ZUVsZW1lbnQocGFyZW50Tm9kZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGluc2VydEJlZm9yZShwYXJlbnRJbnN0YW5jZSwgY2hpbGQsIGJlZm9yZUNoaWxkKSB7XG4gIHBhcmVudEluc3RhbmNlLmluc2VydEJlZm9yZShjaGlsZCwgYmVmb3JlQ2hpbGQpO1xufVxuZnVuY3Rpb24gaW5zZXJ0SW5Db250YWluZXJCZWZvcmUoY29udGFpbmVyLCBjaGlsZCwgYmVmb3JlQ2hpbGQpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY29udGFpbmVyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGNoaWxkLCBiZWZvcmVDaGlsZCk7XG4gIH0gZWxzZSB7XG4gICAgY29udGFpbmVyLmluc2VydEJlZm9yZShjaGlsZCwgYmVmb3JlQ2hpbGQpO1xuICB9XG59XG5mdW5jdGlvbiByZW1vdmVDaGlsZChwYXJlbnRJbnN0YW5jZSwgY2hpbGQpIHtcbiAgcGFyZW50SW5zdGFuY2UucmVtb3ZlQ2hpbGQoY2hpbGQpO1xufVxuZnVuY3Rpb24gcmVtb3ZlQ2hpbGRGcm9tQ29udGFpbmVyKGNvbnRhaW5lciwgY2hpbGQpIHtcbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgY29udGFpbmVyLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoY2hpbGQpO1xuICB9IGVsc2Uge1xuICAgIGNvbnRhaW5lci5yZW1vdmVDaGlsZChjaGlsZCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGlkZUluc3RhbmNlKGluc3RhbmNlKSB7XG4gIC8vIHBhc3MgaG9zdCBjb250ZXh0IHRvIHRoaXMgbWV0aG9kP1xuXG5cbiAgaW5zdGFuY2UgPSBpbnN0YW5jZTtcbiAgdmFyIHN0eWxlID0gaW5zdGFuY2Uuc3R5bGU7XG5cbiAgaWYgKHR5cGVvZiBzdHlsZS5zZXRQcm9wZXJ0eSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHN0eWxlLnNldFByb3BlcnR5KCdkaXNwbGF5JywgJ25vbmUnLCAnaW1wb3J0YW50Jyk7XG4gIH0gZWxzZSB7XG4gICAgc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgfVxufVxuZnVuY3Rpb24gaGlkZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UpIHtcbiAgdGV4dEluc3RhbmNlLm5vZGVWYWx1ZSA9ICcnO1xufVxuZnVuY3Rpb24gdW5oaWRlSW5zdGFuY2UoaW5zdGFuY2UsIHByb3BzKSB7XG4gIGluc3RhbmNlID0gaW5zdGFuY2U7XG4gIHZhciBzdHlsZVByb3AgPSBwcm9wc1tTVFlMRSQxXTtcbiAgdmFyIGRpc3BsYXkgPSBzdHlsZVByb3AgIT09IHVuZGVmaW5lZCAmJiBzdHlsZVByb3AgIT09IG51bGwgJiYgc3R5bGVQcm9wLmhhc093blByb3BlcnR5KCdkaXNwbGF5JykgPyBzdHlsZVByb3AuZGlzcGxheSA6IG51bGw7XG4gIGluc3RhbmNlLnN0eWxlLmRpc3BsYXkgPSBkYW5nZXJvdXNTdHlsZVZhbHVlKCdkaXNwbGF5JywgZGlzcGxheSk7XG59XG5mdW5jdGlvbiB1bmhpZGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlLCB0ZXh0KSB7XG4gIHRleHRJbnN0YW5jZS5ub2RlVmFsdWUgPSB0ZXh0O1xufSAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tXG5mdW5jdGlvbiBjYW5IeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIHR5cGUsIHByb3BzKSB7XG4gIGlmIChpbnN0YW5jZS5ub2RlVHlwZSAhPT0gRUxFTUVOVF9OT0RFIHx8IHR5cGUudG9Mb3dlckNhc2UoKSAhPT0gaW5zdGFuY2Uubm9kZU5hbWUudG9Mb3dlckNhc2UoKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIFRoaXMgaGFzIG5vdyBiZWVuIHJlZmluZWQgdG8gYW4gZWxlbWVudCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShpbnN0YW5jZSwgdGV4dCkge1xuICBpZiAodGV4dCA9PT0gJycgfHwgaW5zdGFuY2Uubm9kZVR5cGUgIT09IFRFWFRfTk9ERSkge1xuICAgIC8vIEVtcHR5IHN0cmluZ3MgYXJlIG5vdCBwYXJzZWQgYnkgSFRNTCBzbyB0aGVyZSB3b24ndCBiZSBhIGNvcnJlY3QgbWF0Y2ggaGVyZS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfSAvLyBUaGlzIGhhcyBub3cgYmVlbiByZWZpbmVkIHRvIGEgdGV4dCBub2RlLlxuXG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlUGVuZGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gaW5zdGFuY2UuZGF0YSA9PT0gU1VTUEVOU0VfUEVORElOR19TVEFSVF9EQVRBO1xufVxuZnVuY3Rpb24gaXNTdXNwZW5zZUluc3RhbmNlRmFsbGJhY2soaW5zdGFuY2UpIHtcbiAgcmV0dXJuIGluc3RhbmNlLmRhdGEgPT09IFNVU1BFTlNFX0ZBTExCQUNLX1NUQVJUX0RBVEE7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlKG5vZGUpIHtcbiAgLy8gU2tpcCBub24taHlkcmF0YWJsZSBub2Rlcy5cbiAgZm9yICg7IG5vZGUgIT0gbnVsbDsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpIHtcbiAgICB2YXIgbm9kZVR5cGUgPSBub2RlLm5vZGVUeXBlO1xuXG4gICAgaWYgKG5vZGVUeXBlID09PSBFTEVNRU5UX05PREUgfHwgbm9kZVR5cGUgPT09IFRFWFRfTk9ERSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGdldE5leHRIeWRyYXRhYmxlU2libGluZyhpbnN0YW5jZSkge1xuICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGUoaW5zdGFuY2UubmV4dFNpYmxpbmcpO1xufVxuZnVuY3Rpb24gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpIHtcbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlKHBhcmVudEluc3RhbmNlLmZpcnN0Q2hpbGQpO1xufVxuZnVuY3Rpb24gaHlkcmF0ZUluc3RhbmNlKGluc3RhbmNlLCB0eXBlLCBwcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCwgaW50ZXJuYWxJbnN0YW5jZUhhbmRsZSkge1xuICBwcmVjYWNoZUZpYmVyTm9kZShpbnRlcm5hbEluc3RhbmNlSGFuZGxlLCBpbnN0YW5jZSk7IC8vIFRPRE86IFBvc3NpYmx5IGRlZmVyIHRoaXMgdW50aWwgdGhlIGNvbW1pdCBwaGFzZSB3aGVyZSBhbGwgdGhlIGV2ZW50c1xuICAvLyBnZXQgYXR0YWNoZWQuXG5cbiAgdXBkYXRlRmliZXJQcm9wcyhpbnN0YW5jZSwgcHJvcHMpO1xuICB2YXIgcGFyZW50TmFtZXNwYWNlO1xuXG4gIHtcbiAgICB2YXIgaG9zdENvbnRleHREZXYgPSBob3N0Q29udGV4dDtcbiAgICBwYXJlbnROYW1lc3BhY2UgPSBob3N0Q29udGV4dERldi5uYW1lc3BhY2U7XG4gIH1cblxuICByZXR1cm4gZGlmZkh5ZHJhdGVkUHJvcGVydGllcyhpbnN0YW5jZSwgdHlwZSwgcHJvcHMsIHBhcmVudE5hbWVzcGFjZSwgcm9vdENvbnRhaW5lckluc3RhbmNlKTtcbn1cbmZ1bmN0aW9uIGh5ZHJhdGVUZXh0SW5zdGFuY2UodGV4dEluc3RhbmNlLCB0ZXh0LCBpbnRlcm5hbEluc3RhbmNlSGFuZGxlKSB7XG4gIHByZWNhY2hlRmliZXJOb2RlKGludGVybmFsSW5zdGFuY2VIYW5kbGUsIHRleHRJbnN0YW5jZSk7XG4gIHJldHVybiBkaWZmSHlkcmF0ZWRUZXh0KHRleHRJbnN0YW5jZSwgdGV4dCk7XG59XG5mdW5jdGlvbiBnZXROZXh0SHlkcmF0YWJsZUluc3RhbmNlQWZ0ZXJTdXNwZW5zZUluc3RhbmNlKHN1c3BlbnNlSW5zdGFuY2UpIHtcbiAgdmFyIG5vZGUgPSBzdXNwZW5zZUluc3RhbmNlLm5leHRTaWJsaW5nOyAvLyBTa2lwIHBhc3QgYWxsIG5vZGVzIHdpdGhpbiB0aGlzIHN1c3BlbnNlIGJvdW5kYXJ5LlxuICAvLyBUaGVyZSBtaWdodCBiZSBuZXN0ZWQgbm9kZXMgc28gd2UgbmVlZCB0byBrZWVwIHRyYWNrIG9mIGhvd1xuICAvLyBkZWVwIHdlIGFyZSBhbmQgb25seSBicmVhayBvdXQgd2hlbiB3ZSdyZSBiYWNrIG9uIHRvcC5cblxuICB2YXIgZGVwdGggPSAwO1xuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGRhdGEgPSBub2RlLmRhdGE7XG5cbiAgICAgIGlmIChkYXRhID09PSBTVVNQRU5TRV9FTkRfREFUQSkge1xuICAgICAgICBpZiAoZGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRlcHRoLS07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSkge1xuICAgICAgICBkZXB0aCsrO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nO1xuICB9IC8vIFRPRE86IFdhcm4sIHdlIGRpZG4ndCBmaW5kIHRoZSBlbmQgY29tbWVudCBib3VuZGFyeS5cblxuXG4gIHJldHVybiBudWxsO1xufSAvLyBSZXR1cm5zIHRoZSBTdXNwZW5zZUluc3RhbmNlIGlmIHRoaXMgbm9kZSBpcyBhIGRpcmVjdCBjaGlsZCBvZiBhXG4vLyBTdXNwZW5zZUluc3RhbmNlLiBJLmUuIGlmIGl0cyBwcmV2aW91cyBzaWJsaW5nIGlzIGEgQ29tbWVudCB3aXRoXG4vLyBTVVNQRU5TRV94X1NUQVJUX0RBVEEuIE90aGVyd2lzZSwgbnVsbC5cblxuZnVuY3Rpb24gZ2V0UGFyZW50U3VzcGVuc2VJbnN0YW5jZSh0YXJnZXRJbnN0YW5jZSkge1xuICB2YXIgbm9kZSA9IHRhcmdldEluc3RhbmNlLnByZXZpb3VzU2libGluZzsgLy8gU2tpcCBwYXN0IGFsbCBub2RlcyB3aXRoaW4gdGhpcyBzdXNwZW5zZSBib3VuZGFyeS5cbiAgLy8gVGhlcmUgbWlnaHQgYmUgbmVzdGVkIG5vZGVzIHNvIHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiBob3dcbiAgLy8gZGVlcCB3ZSBhcmUgYW5kIG9ubHkgYnJlYWsgb3V0IHdoZW4gd2UncmUgYmFjayBvbiB0b3AuXG5cbiAgdmFyIGRlcHRoID0gMDtcblxuICB3aGlsZSAobm9kZSkge1xuICAgIGlmIChub2RlLm5vZGVUeXBlID09PSBDT01NRU5UX05PREUpIHtcbiAgICAgIHZhciBkYXRhID0gbm9kZS5kYXRhO1xuXG4gICAgICBpZiAoZGF0YSA9PT0gU1VTUEVOU0VfU1RBUlRfREFUQSB8fCBkYXRhID09PSBTVVNQRU5TRV9GQUxMQkFDS19TVEFSVF9EQVRBIHx8IGRhdGEgPT09IFNVU1BFTlNFX1BFTkRJTkdfU1RBUlRfREFUQSkge1xuICAgICAgICBpZiAoZGVwdGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGRhdGEgPT09IFNVU1BFTlNFX0VORF9EQVRBKSB7XG4gICAgICAgIGRlcHRoKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbm9kZSA9IG5vZGUucHJldmlvdXNTaWJsaW5nO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBjb21taXRIeWRyYXRlZENvbnRhaW5lcihjb250YWluZXIpIHtcbiAgLy8gUmV0cnkgaWYgYW55IGV2ZW50IHJlcGxheWluZyB3YXMgYmxvY2tlZCBvbiB0aGlzLlxuICByZXRyeUlmQmxvY2tlZE9uKGNvbnRhaW5lcik7XG59XG5mdW5jdGlvbiBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSkge1xuICAvLyBSZXRyeSBpZiBhbnkgZXZlbnQgcmVwbGF5aW5nIHdhcyBibG9ja2VkIG9uIHRoaXMuXG4gIHJldHJ5SWZCbG9ja2VkT24oc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dEluc3RhbmNlLCB0ZXh0KSB7XG4gIHtcbiAgICB3YXJuRm9yVW5tYXRjaGVkVGV4dCh0ZXh0SW5zdGFuY2UsIHRleHQpO1xuICB9XG59XG5mdW5jdGlvbiBkaWROb3RNYXRjaEh5ZHJhdGVkVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgdGV4dEluc3RhbmNlLCB0ZXh0KSB7XG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICB3YXJuRm9yVW5tYXRjaGVkVGV4dCh0ZXh0SW5zdGFuY2UsIHRleHQpO1xuICB9XG59XG5mdW5jdGlvbiBkaWROb3RIeWRyYXRlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSkge1xuICB7XG4gICAgaWYgKGluc3RhbmNlLm5vZGVUeXBlID09PSBFTEVNRU5UX05PREUpIHtcbiAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZUVsZW1lbnQocGFyZW50Q29udGFpbmVyLCBpbnN0YW5jZSk7XG4gICAgfSBlbHNlIGlmIChpbnN0YW5jZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFKSA7IGVsc2Uge1xuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlVGV4dChwYXJlbnRDb250YWluZXIsIGluc3RhbmNlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKSB7XG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgICAgd2FybkZvckRlbGV0ZWRIeWRyYXRhYmxlRWxlbWVudChwYXJlbnRJbnN0YW5jZSwgaW5zdGFuY2UpO1xuICAgIH0gZWxzZSBpZiAoaW5zdGFuY2Uubm9kZVR5cGUgPT09IENPTU1FTlRfTk9ERSkgOyBlbHNlIHtcbiAgICAgIHdhcm5Gb3JEZWxldGVkSHlkcmF0YWJsZVRleHQocGFyZW50SW5zdGFuY2UsIGluc3RhbmNlKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVySW5zdGFuY2UocGFyZW50Q29udGFpbmVyLCB0eXBlLCBwcm9wcykge1xuICB7XG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudENvbnRhaW5lciwgdHlwZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dCkge1xuICB7XG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRUZXh0KHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0eXBlLCBwcm9wcykge1xuICBpZiAoIHBhcmVudFByb3BzW1NVUFBSRVNTX0hZRFJBVElPTl9XQVJOSU5HJDFdICE9PSB0cnVlKSB7XG4gICAgd2FybkZvckluc2VydGVkSHlkcmF0ZWRFbGVtZW50KHBhcmVudEluc3RhbmNlLCB0eXBlKTtcbiAgfVxufVxuZnVuY3Rpb24gZGlkTm90RmluZEh5ZHJhdGFibGVUZXh0SW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCB0ZXh0KSB7XG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIHtcbiAgICB3YXJuRm9ySW5zZXJ0ZWRIeWRyYXRlZFRleHQocGFyZW50SW5zdGFuY2UsIHRleHQpO1xuICB9XG59XG5mdW5jdGlvbiBkaWROb3RGaW5kSHlkcmF0YWJsZVN1c3BlbnNlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlKSB7XG4gIGlmICggcGFyZW50UHJvcHNbU1VQUFJFU1NfSFlEUkFUSU9OX1dBUk5JTkckMV0gIT09IHRydWUpIDtcbn1cblxudmFyIHJhbmRvbUtleSA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnNsaWNlKDIpO1xudmFyIGludGVybmFsSW5zdGFuY2VLZXkgPSAnX19yZWFjdEludGVybmFsSW5zdGFuY2UkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbEV2ZW50SGFuZGxlcnNLZXkgPSAnX19yZWFjdEV2ZW50SGFuZGxlcnMkJyArIHJhbmRvbUtleTtcbnZhciBpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5ID0gJ19fcmVhY3RDb250YWluZXJlJCcgKyByYW5kb21LZXk7XG5mdW5jdGlvbiBwcmVjYWNoZUZpYmVyTm9kZShob3N0SW5zdCwgbm9kZSkge1xuICBub2RlW2ludGVybmFsSW5zdGFuY2VLZXldID0gaG9zdEluc3Q7XG59XG5mdW5jdGlvbiBtYXJrQ29udGFpbmVyQXNSb290KGhvc3RSb290LCBub2RlKSB7XG4gIG5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV0gPSBob3N0Um9vdDtcbn1cbmZ1bmN0aW9uIHVubWFya0NvbnRhaW5lckFzUm9vdChub2RlKSB7XG4gIG5vZGVbaW50ZXJuYWxDb250YWluZXJJbnN0YW5jZUtleV0gPSBudWxsO1xufVxuZnVuY3Rpb24gaXNDb250YWluZXJNYXJrZWRBc1Jvb3Qobm9kZSkge1xuICByZXR1cm4gISFub2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldO1xufSAvLyBHaXZlbiBhIERPTSBub2RlLCByZXR1cm4gdGhlIGNsb3Nlc3QgSG9zdENvbXBvbmVudCBvciBIb3N0VGV4dCBmaWJlciBhbmNlc3Rvci5cbi8vIElmIHRoZSB0YXJnZXQgbm9kZSBpcyBwYXJ0IG9mIGEgaHlkcmF0ZWQgb3Igbm90IHlldCByZW5kZXJlZCBzdWJ0cmVlLCB0aGVuXG4vLyB0aGlzIG1heSBhbHNvIHJldHVybiBhIFN1c3BlbnNlQ29tcG9uZW50IG9yIEhvc3RSb290IHRvIGluZGljYXRlIHRoYXQuXG4vLyBDb25jZXB0dWFsbHkgdGhlIEhvc3RSb290IGZpYmVyIGlzIGEgY2hpbGQgb2YgdGhlIENvbnRhaW5lciBub2RlLiBTbyBpZiB5b3Vcbi8vIHBhc3MgdGhlIENvbnRhaW5lciBub2RlIGFzIHRoZSB0YXJnZXROb2RlLCB5b3Ugd2lsbCBub3QgYWN0dWFsbHkgZ2V0IHRoZVxuLy8gSG9zdFJvb3QgYmFjay4gVG8gZ2V0IHRvIHRoZSBIb3N0Um9vdCwgeW91IG5lZWQgdG8gcGFzcyBhIGNoaWxkIG9mIGl0LlxuLy8gVGhlIHNhbWUgdGhpbmcgYXBwbGllcyB0byBTdXNwZW5zZSBib3VuZGFyaWVzLlxuXG5mdW5jdGlvbiBnZXRDbG9zZXN0SW5zdGFuY2VGcm9tTm9kZSh0YXJnZXROb2RlKSB7XG4gIHZhciB0YXJnZXRJbnN0ID0gdGFyZ2V0Tm9kZVtpbnRlcm5hbEluc3RhbmNlS2V5XTtcblxuICBpZiAodGFyZ2V0SW5zdCkge1xuICAgIC8vIERvbid0IHJldHVybiBIb3N0Um9vdCBvciBTdXNwZW5zZUNvbXBvbmVudCBoZXJlLlxuICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICB9IC8vIElmIHRoZSBkaXJlY3QgZXZlbnQgdGFyZ2V0IGlzbid0IGEgUmVhY3Qgb3duZWQgRE9NIG5vZGUsIHdlIG5lZWQgdG8gbG9va1xuICAvLyB0byBzZWUgaWYgb25lIG9mIGl0cyBwYXJlbnRzIGlzIGEgUmVhY3Qgb3duZWQgRE9NIG5vZGUuXG5cblxuICB2YXIgcGFyZW50Tm9kZSA9IHRhcmdldE5vZGUucGFyZW50Tm9kZTtcblxuICB3aGlsZSAocGFyZW50Tm9kZSkge1xuICAgIC8vIFdlJ2xsIGNoZWNrIGlmIHRoaXMgaXMgYSBjb250YWluZXIgcm9vdCB0aGF0IGNvdWxkIGluY2x1ZGVcbiAgICAvLyBSZWFjdCBub2RlcyBpbiB0aGUgZnV0dXJlLiBXZSBuZWVkIHRvIGNoZWNrIHRoaXMgZmlyc3QgYmVjYXVzZVxuICAgIC8vIGlmIHdlJ3JlIGEgY2hpbGQgb2YgYSBkZWh5ZHJhdGVkIGNvbnRhaW5lciwgd2UgbmVlZCB0byBmaXJzdFxuICAgIC8vIGZpbmQgdGhhdCBpbm5lciBjb250YWluZXIgYmVmb3JlIG1vdmluZyBvbiB0byBmaW5kaW5nIHRoZSBwYXJlbnRcbiAgICAvLyBpbnN0YW5jZS4gTm90ZSB0aGF0IHdlIGRvbid0IGNoZWNrIHRoaXMgZmllbGQgb24gIHRoZSB0YXJnZXROb2RlXG4gICAgLy8gaXRzZWxmIGJlY2F1c2UgdGhlIGZpYmVycyBhcmUgY29uY2VwdHVhbGx5IGJldHdlZW4gdGhlIGNvbnRhaW5lclxuICAgIC8vIG5vZGUgYW5kIHRoZSBmaXJzdCBjaGlsZC4gSXQgaXNuJ3Qgc3Vycm91bmRpbmcgdGhlIGNvbnRhaW5lciBub2RlLlxuICAgIC8vIElmIGl0J3Mgbm90IGEgY29udGFpbmVyLCB3ZSBjaGVjayBpZiBpdCdzIGFuIGluc3RhbmNlLlxuICAgIHRhcmdldEluc3QgPSBwYXJlbnROb2RlW2ludGVybmFsQ29udGFpbmVySW5zdGFuY2VLZXldIHx8IHBhcmVudE5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV07XG5cbiAgICBpZiAodGFyZ2V0SW5zdCkge1xuICAgICAgLy8gU2luY2UgdGhpcyB3YXNuJ3QgdGhlIGRpcmVjdCB0YXJnZXQgb2YgdGhlIGV2ZW50LCB3ZSBtaWdodCBoYXZlXG4gICAgICAvLyBzdGVwcGVkIHBhc3QgZGVoeWRyYXRlZCBET00gbm9kZXMgdG8gZ2V0IGhlcmUuIEhvd2V2ZXIgdGhleSBjb3VsZFxuICAgICAgLy8gYWxzbyBoYXZlIGJlZW4gbm9uLVJlYWN0IG5vZGVzLiBXZSBuZWVkIHRvIGFuc3dlciB3aGljaCBvbmUuXG4gICAgICAvLyBJZiB3ZSB0aGUgaW5zdGFuY2UgZG9lc24ndCBoYXZlIGFueSBjaGlsZHJlbiwgdGhlbiB0aGVyZSBjYW4ndCBiZVxuICAgICAgLy8gYSBuZXN0ZWQgc3VzcGVuc2UgYm91bmRhcnkgd2l0aGluIGl0LiBTbyB3ZSBjYW4gdXNlIHRoaXMgYXMgYSBmYXN0XG4gICAgICAvLyBiYWlsb3V0LiBNb3N0IG9mIHRoZSB0aW1lLCB3aGVuIHBlb3BsZSBhZGQgbm9uLVJlYWN0IGNoaWxkcmVuIHRvXG4gICAgICAvLyB0aGUgdHJlZSwgaXQgaXMgdXNpbmcgYSByZWYgdG8gYSBjaGlsZC1sZXNzIERPTSBub2RlLlxuICAgICAgLy8gTm9ybWFsbHkgd2UnZCBvbmx5IG5lZWQgdG8gY2hlY2sgb25lIG9mIHRoZSBmaWJlcnMgYmVjYXVzZSBpZiBpdFxuICAgICAgLy8gaGFzIGV2ZXIgZ29uZSBmcm9tIGhhdmluZyBjaGlsZHJlbiB0byBkZWxldGluZyB0aGVtIG9yIHZpY2UgdmVyc2FcbiAgICAgIC8vIGl0IHdvdWxkIGhhdmUgZGVsZXRlZCB0aGUgZGVoeWRyYXRlZCBib3VuZGFyeSBuZXN0ZWQgaW5zaWRlIGFscmVhZHkuXG4gICAgICAvLyBIb3dldmVyLCBzaW5jZSB0aGUgSG9zdFJvb3Qgc3RhcnRzIG91dCB3aXRoIGFuIGFsdGVybmF0ZSBpdCBtaWdodFxuICAgICAgLy8gaGF2ZSBvbmUgb24gdGhlIGFsdGVybmF0ZSBzbyB3ZSBuZWVkIHRvIGNoZWNrIGluIGNhc2UgdGhpcyB3YXMgYVxuICAgICAgLy8gcm9vdC5cbiAgICAgIHZhciBhbHRlcm5hdGUgPSB0YXJnZXRJbnN0LmFsdGVybmF0ZTtcblxuICAgICAgaWYgKHRhcmdldEluc3QuY2hpbGQgIT09IG51bGwgfHwgYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAvLyBOZXh0IHdlIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGUgbm9kZSB0aGF0IHNraXBwZWQgcGFzdCBpc1xuICAgICAgICAvLyBuZXN0ZWQgd2l0aGluIGEgZGVoeWRyYXRlZCBib3VuZGFyeSBhbmQgaWYgc28sIHdoaWNoIG9uZS5cbiAgICAgICAgdmFyIHN1c3BlbnNlSW5zdGFuY2UgPSBnZXRQYXJlbnRTdXNwZW5zZUluc3RhbmNlKHRhcmdldE5vZGUpO1xuXG4gICAgICAgIHdoaWxlIChzdXNwZW5zZUluc3RhbmNlICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gV2UgZm91bmQgYSBzdXNwZW5zZSBpbnN0YW5jZS4gVGhhdCBtZWFucyB0aGF0IHdlIGhhdmVuJ3RcbiAgICAgICAgICAvLyBoeWRyYXRlZCBpdCB5ZXQuIEV2ZW4gdGhvdWdoIHdlIGxlYXZlIHRoZSBjb21tZW50cyBpbiB0aGVcbiAgICAgICAgICAvLyBET00gYWZ0ZXIgaHlkcmF0aW5nLCBhbmQgdGhlcmUgYXJlIGJvdW5kYXJpZXMgaW4gdGhlIERPTVxuICAgICAgICAgIC8vIHRoYXQgY291bGQgYWxyZWFkeSBiZSBoeWRyYXRlZCwgd2Ugd291bGRuJ3QgaGF2ZSBmb3VuZCB0aGVtXG4gICAgICAgICAgLy8gdGhyb3VnaCB0aGlzIHBhc3Mgc2luY2UgaWYgdGhlIHRhcmdldCBpcyBoeWRyYXRlZCBpdCB3b3VsZFxuICAgICAgICAgIC8vIGhhdmUgaGFkIGFuIGludGVybmFsSW5zdGFuY2VLZXkgb24gaXQuXG4gICAgICAgICAgLy8gTGV0J3MgZ2V0IHRoZSBmaWJlciBhc3NvY2lhdGVkIHdpdGggdGhlIFN1c3BlbnNlQ29tcG9uZW50XG4gICAgICAgICAgLy8gYXMgdGhlIGRlZXBlc3QgaW5zdGFuY2UuXG4gICAgICAgICAgdmFyIHRhcmdldFN1c3BlbnNlSW5zdCA9IHN1c3BlbnNlSW5zdGFuY2VbaW50ZXJuYWxJbnN0YW5jZUtleV07XG5cbiAgICAgICAgICBpZiAodGFyZ2V0U3VzcGVuc2VJbnN0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGFyZ2V0U3VzcGVuc2VJbnN0O1xuICAgICAgICAgIH0gLy8gSWYgd2UgZG9uJ3QgZmluZCBhIEZpYmVyIG9uIHRoZSBjb21tZW50LCBpdCBtaWdodCBiZSBiZWNhdXNlXG4gICAgICAgICAgLy8gd2UgaGF2ZW4ndCBnb3R0ZW4gdG8gaHlkcmF0ZSBpdCB5ZXQuIFRoZXJlIG1pZ2h0IHN0aWxsIGJlIGFcbiAgICAgICAgICAvLyBwYXJlbnQgYm91bmRhcnkgdGhhdCBoYXNuJ3QgYWJvdmUgdGhpcyBvbmUgc28gd2UgbmVlZCB0byBmaW5kXG4gICAgICAgICAgLy8gdGhlIG91dGVyIG1vc3QgdGhhdCBpcyBrbm93bi5cblxuXG4gICAgICAgICAgc3VzcGVuc2VJbnN0YW5jZSA9IGdldFBhcmVudFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7IC8vIElmIHdlIGRvbid0IGZpbmQgb25lLCB0aGVuIHRoYXQgc2hvdWxkIG1lYW4gdGhhdCB0aGUgcGFyZW50XG4gICAgICAgICAgLy8gaG9zdCBjb21wb25lbnQgYWxzbyBoYXNuJ3QgaHlkcmF0ZWQgeWV0LiBXZSBjYW4gcmV0dXJuIGl0XG4gICAgICAgICAgLy8gYmVsb3cgc2luY2UgaXQgd2lsbCBiYWlsIG91dCBvbiB0aGUgaXNNb3VudGVkIGNoZWNrIGxhdGVyLlxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0YXJnZXRJbnN0O1xuICAgIH1cblxuICAgIHRhcmdldE5vZGUgPSBwYXJlbnROb2RlO1xuICAgIHBhcmVudE5vZGUgPSB0YXJnZXROb2RlLnBhcmVudE5vZGU7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogR2l2ZW4gYSBET00gbm9kZSwgcmV0dXJuIHRoZSBSZWFjdERPTUNvbXBvbmVudCBvciBSZWFjdERPTVRleHRDb21wb25lbnRcbiAqIGluc3RhbmNlLCBvciBudWxsIGlmIHRoZSBub2RlIHdhcyBub3QgcmVuZGVyZWQgYnkgdGhpcyBSZWFjdC5cbiAqL1xuXG5mdW5jdGlvbiBnZXRJbnN0YW5jZUZyb21Ob2RlJDEobm9kZSkge1xuICB2YXIgaW5zdCA9IG5vZGVbaW50ZXJuYWxJbnN0YW5jZUtleV0gfHwgbm9kZVtpbnRlcm5hbENvbnRhaW5lckluc3RhbmNlS2V5XTtcblxuICBpZiAoaW5zdCkge1xuICAgIGlmIChpbnN0LnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBpbnN0LnRhZyA9PT0gSG9zdFRleHQgfHwgaW5zdC50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50IHx8IGluc3QudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgcmV0dXJuIGluc3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBHaXZlbiBhIFJlYWN0RE9NQ29tcG9uZW50IG9yIFJlYWN0RE9NVGV4dENvbXBvbmVudCwgcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nXG4gKiBET00gbm9kZS5cbiAqL1xuXG5mdW5jdGlvbiBnZXROb2RlRnJvbUluc3RhbmNlJDEoaW5zdCkge1xuICBpZiAoaW5zdC50YWcgPT09IEhvc3RDb21wb25lbnQgfHwgaW5zdC50YWcgPT09IEhvc3RUZXh0KSB7XG4gICAgLy8gSW4gRmliZXIgdGhpcywgaXMganVzdCB0aGUgc3RhdGUgbm9kZSByaWdodCBub3cuIFdlIGFzc3VtZSBpdCB3aWxsIGJlXG4gICAgLy8gYSBob3N0IGNvbXBvbmVudCBvciBob3N0IHRleHQuXG4gICAgcmV0dXJuIGluc3Quc3RhdGVOb2RlO1xuICB9IC8vIFdpdGhvdXQgdGhpcyBmaXJzdCBpbnZhcmlhbnQsIHBhc3NpbmcgYSBub24tRE9NLWNvbXBvbmVudCB0cmlnZ2VycyB0aGUgbmV4dFxuICAvLyBpbnZhcmlhbnQgZm9yIGEgbWlzc2luZyBwYXJlbnQsIHdoaWNoIGlzIHN1cGVyIGNvbmZ1c2luZy5cblxuXG4gIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJnZXROb2RlRnJvbUluc3RhbmNlOiBJbnZhbGlkIGFyZ3VtZW50LlwiICk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBnZXRGaWJlckN1cnJlbnRQcm9wc0Zyb21Ob2RlJDEobm9kZSkge1xuICByZXR1cm4gbm9kZVtpbnRlcm5hbEV2ZW50SGFuZGxlcnNLZXldIHx8IG51bGw7XG59XG5mdW5jdGlvbiB1cGRhdGVGaWJlclByb3BzKG5vZGUsIHByb3BzKSB7XG4gIG5vZGVbaW50ZXJuYWxFdmVudEhhbmRsZXJzS2V5XSA9IHByb3BzO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJlbnQoaW5zdCkge1xuICBkbyB7XG4gICAgaW5zdCA9IGluc3QucmV0dXJuOyAvLyBUT0RPOiBJZiB0aGlzIGlzIGEgSG9zdFJvb3Qgd2UgbWlnaHQgd2FudCB0byBiYWlsIG91dC5cbiAgICAvLyBUaGF0IGlzIGRlcGVuZGluZyBvbiBpZiB3ZSB3YW50IG5lc3RlZCBzdWJ0cmVlcyAobGF5ZXJzKSB0byBidWJibGVcbiAgICAvLyBldmVudHMgdG8gdGhlaXIgcGFyZW50LiBXZSBjb3VsZCBhbHNvIGdvIHRocm91Z2ggcGFyZW50Tm9kZSBvbiB0aGVcbiAgICAvLyBob3N0IG5vZGUgYnV0IHRoYXQgd291bGRuJ3Qgd29yayBmb3IgUmVhY3QgTmF0aXZlIGFuZCBkb2Vzbid0IGxldCB1c1xuICAgIC8vIGRvIHRoZSBwb3J0YWwgZmVhdHVyZS5cbiAgfSB3aGlsZSAoaW5zdCAmJiBpbnN0LnRhZyAhPT0gSG9zdENvbXBvbmVudCk7XG5cbiAgaWYgKGluc3QpIHtcbiAgICByZXR1cm4gaW5zdDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuLyoqXG4gKiBSZXR1cm4gdGhlIGxvd2VzdCBjb21tb24gYW5jZXN0b3Igb2YgQSBhbmQgQiwgb3IgbnVsbCBpZiB0aGV5IGFyZSBpblxuICogZGlmZmVyZW50IHRyZWVzLlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TG93ZXN0Q29tbW9uQW5jZXN0b3IoaW5zdEEsIGluc3RCKSB7XG4gIHZhciBkZXB0aEEgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBBID0gaW5zdEE7IHRlbXBBOyB0ZW1wQSA9IGdldFBhcmVudCh0ZW1wQSkpIHtcbiAgICBkZXB0aEErKztcbiAgfVxuXG4gIHZhciBkZXB0aEIgPSAwO1xuXG4gIGZvciAodmFyIHRlbXBCID0gaW5zdEI7IHRlbXBCOyB0ZW1wQiA9IGdldFBhcmVudCh0ZW1wQikpIHtcbiAgICBkZXB0aEIrKztcbiAgfSAvLyBJZiBBIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhBIC0gZGVwdGhCID4gMCkge1xuICAgIGluc3RBID0gZ2V0UGFyZW50KGluc3RBKTtcbiAgICBkZXB0aEEtLTtcbiAgfSAvLyBJZiBCIGlzIGRlZXBlciwgY3Jhd2wgdXAuXG5cblxuICB3aGlsZSAoZGVwdGhCIC0gZGVwdGhBID4gMCkge1xuICAgIGluc3RCID0gZ2V0UGFyZW50KGluc3RCKTtcbiAgICBkZXB0aEItLTtcbiAgfSAvLyBXYWxrIGluIGxvY2tzdGVwIHVudGlsIHdlIGZpbmQgYSBtYXRjaC5cblxuXG4gIHZhciBkZXB0aCA9IGRlcHRoQTtcblxuICB3aGlsZSAoZGVwdGgtLSkge1xuICAgIGlmIChpbnN0QSA9PT0gaW5zdEIgfHwgaW5zdEEgPT09IGluc3RCLmFsdGVybmF0ZSkge1xuICAgICAgcmV0dXJuIGluc3RBO1xuICAgIH1cblxuICAgIGluc3RBID0gZ2V0UGFyZW50KGluc3RBKTtcbiAgICBpbnN0QiA9IGdldFBhcmVudChpbnN0Qik7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogU2ltdWxhdGVzIHRoZSB0cmF2ZXJzYWwgb2YgYSB0d28tcGhhc2UsIGNhcHR1cmUvYnViYmxlIGV2ZW50IGRpc3BhdGNoLlxuICovXG5cbmZ1bmN0aW9uIHRyYXZlcnNlVHdvUGhhc2UoaW5zdCwgZm4sIGFyZykge1xuICB2YXIgcGF0aCA9IFtdO1xuXG4gIHdoaWxlIChpbnN0KSB7XG4gICAgcGF0aC5wdXNoKGluc3QpO1xuICAgIGluc3QgPSBnZXRQYXJlbnQoaW5zdCk7XG4gIH1cblxuICB2YXIgaTtcblxuICBmb3IgKGkgPSBwYXRoLmxlbmd0aDsgaS0tID4gMDspIHtcbiAgICBmbihwYXRoW2ldLCAnY2FwdHVyZWQnLCBhcmcpO1xuICB9XG5cbiAgZm9yIChpID0gMDsgaSA8IHBhdGgubGVuZ3RoOyBpKyspIHtcbiAgICBmbihwYXRoW2ldLCAnYnViYmxlZCcsIGFyZyk7XG4gIH1cbn1cbi8qKlxuICogVHJhdmVyc2VzIHRoZSBJRCBoaWVyYXJjaHkgYW5kIGludm9rZXMgdGhlIHN1cHBsaWVkIGBjYmAgb24gYW55IElEcyB0aGF0XG4gKiBzaG91bGQgd291bGQgcmVjZWl2ZSBhIGBtb3VzZUVudGVyYCBvciBgbW91c2VMZWF2ZWAgZXZlbnQuXG4gKlxuICogRG9lcyBub3QgaW52b2tlIHRoZSBjYWxsYmFjayBvbiB0aGUgbmVhcmVzdCBjb21tb24gYW5jZXN0b3IgYmVjYXVzZSBub3RoaW5nXG4gKiBcImVudGVyZWRcIiBvciBcImxlZnRcIiB0aGF0IGVsZW1lbnQuXG4gKi9cblxuZnVuY3Rpb24gdHJhdmVyc2VFbnRlckxlYXZlKGZyb20sIHRvLCBmbiwgYXJnRnJvbSwgYXJnVG8pIHtcbiAgdmFyIGNvbW1vbiA9IGZyb20gJiYgdG8gPyBnZXRMb3dlc3RDb21tb25BbmNlc3Rvcihmcm9tLCB0bykgOiBudWxsO1xuICB2YXIgcGF0aEZyb20gPSBbXTtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGlmICghZnJvbSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKGZyb20gPT09IGNvbW1vbikge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdmFyIGFsdGVybmF0ZSA9IGZyb20uYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUgPT09IGNvbW1vbikge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcGF0aEZyb20ucHVzaChmcm9tKTtcbiAgICBmcm9tID0gZ2V0UGFyZW50KGZyb20pO1xuICB9XG5cbiAgdmFyIHBhdGhUbyA9IFtdO1xuXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKCF0bykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHRvID09PSBjb21tb24pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHZhciBfYWx0ZXJuYXRlID0gdG8uYWx0ZXJuYXRlO1xuXG4gICAgaWYgKF9hbHRlcm5hdGUgIT09IG51bGwgJiYgX2FsdGVybmF0ZSA9PT0gY29tbW9uKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBwYXRoVG8ucHVzaCh0byk7XG4gICAgdG8gPSBnZXRQYXJlbnQodG8pO1xuICB9XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXRoRnJvbS5sZW5ndGg7IGkrKykge1xuICAgIGZuKHBhdGhGcm9tW2ldLCAnYnViYmxlZCcsIGFyZ0Zyb20pO1xuICB9XG5cbiAgZm9yICh2YXIgX2kgPSBwYXRoVG8ubGVuZ3RoOyBfaS0tID4gMDspIHtcbiAgICBmbihwYXRoVG9bX2ldLCAnY2FwdHVyZWQnLCBhcmdUbyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJbnRlcmFjdGl2ZSh0YWcpIHtcbiAgcmV0dXJuIHRhZyA9PT0gJ2J1dHRvbicgfHwgdGFnID09PSAnaW5wdXQnIHx8IHRhZyA9PT0gJ3NlbGVjdCcgfHwgdGFnID09PSAndGV4dGFyZWEnO1xufVxuXG5mdW5jdGlvbiBzaG91bGRQcmV2ZW50TW91c2VFdmVudChuYW1lLCB0eXBlLCBwcm9wcykge1xuICBzd2l0Y2ggKG5hbWUpIHtcbiAgICBjYXNlICdvbkNsaWNrJzpcbiAgICBjYXNlICdvbkNsaWNrQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Eb3VibGVDbGljayc6XG4gICAgY2FzZSAnb25Eb3VibGVDbGlja0NhcHR1cmUnOlxuICAgIGNhc2UgJ29uTW91c2VEb3duJzpcbiAgICBjYXNlICdvbk1vdXNlRG93bkNhcHR1cmUnOlxuICAgIGNhc2UgJ29uTW91c2VNb3ZlJzpcbiAgICBjYXNlICdvbk1vdXNlTW92ZUNhcHR1cmUnOlxuICAgIGNhc2UgJ29uTW91c2VVcCc6XG4gICAgY2FzZSAnb25Nb3VzZVVwQ2FwdHVyZSc6XG4gICAgY2FzZSAnb25Nb3VzZUVudGVyJzpcbiAgICAgIHJldHVybiAhIShwcm9wcy5kaXNhYmxlZCAmJiBpc0ludGVyYWN0aXZlKHR5cGUpKTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IGluc3QgVGhlIGluc3RhbmNlLCB3aGljaCBpcyB0aGUgc291cmNlIG9mIGV2ZW50cy5cbiAqIEBwYXJhbSB7c3RyaW5nfSByZWdpc3RyYXRpb25OYW1lIE5hbWUgb2YgbGlzdGVuZXIgKGUuZy4gYG9uQ2xpY2tgKS5cbiAqIEByZXR1cm4gez9mdW5jdGlvbn0gVGhlIHN0b3JlZCBjYWxsYmFjay5cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldExpc3RlbmVyKGluc3QsIHJlZ2lzdHJhdGlvbk5hbWUpIHtcbiAgdmFyIGxpc3RlbmVyOyAvLyBUT0RPOiBzaG91bGRQcmV2ZW50TW91c2VFdmVudCBpcyBET00tc3BlY2lmaWMgYW5kIGRlZmluaXRlbHkgc2hvdWxkIG5vdFxuICAvLyBsaXZlIGhlcmU7IG5lZWRzIHRvIGJlIG1vdmVkIHRvIGEgYmV0dGVyIHBsYWNlIHNvb25cblxuICB2YXIgc3RhdGVOb2RlID0gaW5zdC5zdGF0ZU5vZGU7XG5cbiAgaWYgKCFzdGF0ZU5vZGUpIHtcbiAgICAvLyBXb3JrIGluIHByb2dyZXNzIChleDogb25sb2FkIGV2ZW50cyBpbiBpbmNyZW1lbnRhbCBtb2RlKS5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHZhciBwcm9wcyA9IGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUoc3RhdGVOb2RlKTtcblxuICBpZiAoIXByb3BzKSB7XG4gICAgLy8gV29yayBpbiBwcm9ncmVzcy5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGxpc3RlbmVyID0gcHJvcHNbcmVnaXN0cmF0aW9uTmFtZV07XG5cbiAgaWYgKHNob3VsZFByZXZlbnRNb3VzZUV2ZW50KHJlZ2lzdHJhdGlvbk5hbWUsIGluc3QudHlwZSwgcHJvcHMpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoISghbGlzdGVuZXIgfHwgdHlwZW9mIGxpc3RlbmVyID09PSAnZnVuY3Rpb24nKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkV4cGVjdGVkIGBcIiArIHJlZ2lzdHJhdGlvbk5hbWUgKyBcImAgbGlzdGVuZXIgdG8gYmUgYSBmdW5jdGlvbiwgaW5zdGVhZCBnb3QgYSB2YWx1ZSBvZiBgXCIgKyB0eXBlb2YgbGlzdGVuZXIgKyBcImAgdHlwZS5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBsaXN0ZW5lcjtcbn1cblxuLyoqXG4gKiBTb21lIGV2ZW50IHR5cGVzIGhhdmUgYSBub3Rpb24gb2YgZGlmZmVyZW50IHJlZ2lzdHJhdGlvbiBuYW1lcyBmb3IgZGlmZmVyZW50XG4gKiBcInBoYXNlc1wiIG9mIHByb3BhZ2F0aW9uLiBUaGlzIGZpbmRzIGxpc3RlbmVycyBieSBhIGdpdmVuIHBoYXNlLlxuICovXG5mdW5jdGlvbiBsaXN0ZW5lckF0UGhhc2UoaW5zdCwgZXZlbnQsIHByb3BhZ2F0aW9uUGhhc2UpIHtcbiAgdmFyIHJlZ2lzdHJhdGlvbk5hbWUgPSBldmVudC5kaXNwYXRjaENvbmZpZy5waGFzZWRSZWdpc3RyYXRpb25OYW1lc1twcm9wYWdhdGlvblBoYXNlXTtcbiAgcmV0dXJuIGdldExpc3RlbmVyKGluc3QsIHJlZ2lzdHJhdGlvbk5hbWUpO1xufVxuLyoqXG4gKiBBIHNtYWxsIHNldCBvZiBwcm9wYWdhdGlvbiBwYXR0ZXJucywgZWFjaCBvZiB3aGljaCB3aWxsIGFjY2VwdCBhIHNtYWxsIGFtb3VudFxuICogb2YgaW5mb3JtYXRpb24sIGFuZCBnZW5lcmF0ZSBhIHNldCBvZiBcImRpc3BhdGNoIHJlYWR5IGV2ZW50IG9iamVjdHNcIiAtIHdoaWNoXG4gKiBhcmUgc2V0cyBvZiBldmVudHMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBhbm5vdGF0ZWQgd2l0aCBhIHNldCBvZiBkaXNwYXRjaGVkXG4gKiBsaXN0ZW5lciBmdW5jdGlvbnMvaWRzLiBUaGUgQVBJIGlzIGRlc2lnbmVkIHRoaXMgd2F5IHRvIGRpc2NvdXJhZ2UgdGhlc2VcbiAqIHByb3BhZ2F0aW9uIHN0cmF0ZWdpZXMgZnJvbSBhY3R1YWxseSBleGVjdXRpbmcgdGhlIGRpc3BhdGNoZXMsIHNpbmNlIHdlXG4gKiBhbHdheXMgd2FudCB0byBjb2xsZWN0IHRoZSBlbnRpcmUgc2V0IG9mIGRpc3BhdGNoZXMgYmVmb3JlIGV4ZWN1dGluZyBldmVuIGFcbiAqIHNpbmdsZSBvbmUuXG4gKi9cblxuLyoqXG4gKiBUYWdzIGEgYFN5bnRoZXRpY0V2ZW50YCB3aXRoIGRpc3BhdGNoZWQgbGlzdGVuZXJzLiBDcmVhdGluZyB0aGlzIGZ1bmN0aW9uXG4gKiBoZXJlLCBhbGxvd3MgdXMgdG8gbm90IGhhdmUgdG8gYmluZCBvciBjcmVhdGUgZnVuY3Rpb25zIGZvciBlYWNoIGV2ZW50LlxuICogTXV0YXRpbmcgdGhlIGV2ZW50J3MgbWVtYmVycyBhbGxvd3MgdXMgdG8gbm90IGhhdmUgdG8gY3JlYXRlIGEgd3JhcHBpbmdcbiAqIFwiZGlzcGF0Y2hcIiBvYmplY3QgdGhhdCBwYWlycyB0aGUgZXZlbnQgd2l0aCB0aGUgbGlzdGVuZXIuXG4gKi9cblxuXG5mdW5jdGlvbiBhY2N1bXVsYXRlRGlyZWN0aW9uYWxEaXNwYXRjaGVzKGluc3QsIHBoYXNlLCBldmVudCkge1xuICB7XG4gICAgaWYgKCFpbnN0KSB7XG4gICAgICBlcnJvcignRGlzcGF0Y2hpbmcgaW5zdCBtdXN0IG5vdCBiZSBudWxsJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGxpc3RlbmVyID0gbGlzdGVuZXJBdFBoYXNlKGluc3QsIGV2ZW50LCBwaGFzZSk7XG5cbiAgaWYgKGxpc3RlbmVyKSB7XG4gICAgZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzID0gYWNjdW11bGF0ZUludG8oZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzLCBsaXN0ZW5lcik7XG4gICAgZXZlbnQuX2Rpc3BhdGNoSW5zdGFuY2VzID0gYWNjdW11bGF0ZUludG8oZXZlbnQuX2Rpc3BhdGNoSW5zdGFuY2VzLCBpbnN0KTtcbiAgfVxufVxuLyoqXG4gKiBDb2xsZWN0IGRpc3BhdGNoZXMgKG11c3QgYmUgZW50aXJlbHkgY29sbGVjdGVkIGJlZm9yZSBkaXNwYXRjaGluZyAtIHNlZSB1bml0XG4gKiB0ZXN0cykuIExhemlseSBhbGxvY2F0ZSB0aGUgYXJyYXkgdG8gY29uc2VydmUgbWVtb3J5LiAgV2UgbXVzdCBsb29wIHRocm91Z2hcbiAqIGVhY2ggZXZlbnQgYW5kIHBlcmZvcm0gdGhlIHRyYXZlcnNhbCBmb3IgZWFjaCBvbmUuIFdlIGNhbm5vdCBwZXJmb3JtIGFcbiAqIHNpbmdsZSB0cmF2ZXJzYWwgZm9yIHRoZSBlbnRpcmUgY29sbGVjdGlvbiBvZiBldmVudHMgYmVjYXVzZSBlYWNoIGV2ZW50IG1heVxuICogaGF2ZSBhIGRpZmZlcmVudCB0YXJnZXQuXG4gKi9cblxuXG5mdW5jdGlvbiBhY2N1bXVsYXRlVHdvUGhhc2VEaXNwYXRjaGVzU2luZ2xlKGV2ZW50KSB7XG4gIGlmIChldmVudCAmJiBldmVudC5kaXNwYXRjaENvbmZpZy5waGFzZWRSZWdpc3RyYXRpb25OYW1lcykge1xuICAgIHRyYXZlcnNlVHdvUGhhc2UoZXZlbnQuX3RhcmdldEluc3QsIGFjY3VtdWxhdGVEaXJlY3Rpb25hbERpc3BhdGNoZXMsIGV2ZW50KTtcbiAgfVxufVxuLyoqXG4gKiBBY2N1bXVsYXRlcyB3aXRob3V0IHJlZ2FyZCB0byBkaXJlY3Rpb24sIGRvZXMgbm90IGxvb2sgZm9yIHBoYXNlZFxuICogcmVnaXN0cmF0aW9uIG5hbWVzLiBTYW1lIGFzIGBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZWAgYnV0IHdpdGhvdXRcbiAqIHJlcXVpcmluZyB0aGF0IHRoZSBgZGlzcGF0Y2hNYXJrZXJgIGJlIHRoZSBzYW1lIGFzIHRoZSBkaXNwYXRjaGVkIElELlxuICovXG5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZURpc3BhdGNoZXMoaW5zdCwgaWdub3JlZERpcmVjdGlvbiwgZXZlbnQpIHtcbiAgaWYgKGluc3QgJiYgZXZlbnQgJiYgZXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZSkge1xuICAgIHZhciByZWdpc3RyYXRpb25OYW1lID0gZXZlbnQuZGlzcGF0Y2hDb25maWcucmVnaXN0cmF0aW9uTmFtZTtcbiAgICB2YXIgbGlzdGVuZXIgPSBnZXRMaXN0ZW5lcihpbnN0LCByZWdpc3RyYXRpb25OYW1lKTtcblxuICAgIGlmIChsaXN0ZW5lcikge1xuICAgICAgZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzID0gYWNjdW11bGF0ZUludG8oZXZlbnQuX2Rpc3BhdGNoTGlzdGVuZXJzLCBsaXN0ZW5lcik7XG4gICAgICBldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBhY2N1bXVsYXRlSW50byhldmVudC5fZGlzcGF0Y2hJbnN0YW5jZXMsIGluc3QpO1xuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBBY2N1bXVsYXRlcyBkaXNwYXRjaGVzIG9uIGFuIGBTeW50aGV0aWNFdmVudGAsIGJ1dCBvbmx5IGZvciB0aGVcbiAqIGBkaXNwYXRjaE1hcmtlcmAuXG4gKiBAcGFyYW0ge1N5bnRoZXRpY0V2ZW50fSBldmVudFxuICovXG5cblxuZnVuY3Rpb24gYWNjdW11bGF0ZURpcmVjdERpc3BhdGNoZXNTaW5nbGUoZXZlbnQpIHtcbiAgaWYgKGV2ZW50ICYmIGV2ZW50LmRpc3BhdGNoQ29uZmlnLnJlZ2lzdHJhdGlvbk5hbWUpIHtcbiAgICBhY2N1bXVsYXRlRGlzcGF0Y2hlcyhldmVudC5fdGFyZ2V0SW5zdCwgbnVsbCwgZXZlbnQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnRzKSB7XG4gIGZvckVhY2hBY2N1bXVsYXRlZChldmVudHMsIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXNTaW5nbGUpO1xufVxuZnVuY3Rpb24gYWNjdW11bGF0ZUVudGVyTGVhdmVEaXNwYXRjaGVzKGxlYXZlLCBlbnRlciwgZnJvbSwgdG8pIHtcbiAgdHJhdmVyc2VFbnRlckxlYXZlKGZyb20sIHRvLCBhY2N1bXVsYXRlRGlzcGF0Y2hlcywgbGVhdmUsIGVudGVyKTtcbn1cbmZ1bmN0aW9uIGFjY3VtdWxhdGVEaXJlY3REaXNwYXRjaGVzKGV2ZW50cykge1xuICBmb3JFYWNoQWNjdW11bGF0ZWQoZXZlbnRzLCBhY2N1bXVsYXRlRGlyZWN0RGlzcGF0Y2hlc1NpbmdsZSk7XG59XG5cbi8qKlxuICogVGhlc2UgdmFyaWFibGVzIHN0b3JlIGluZm9ybWF0aW9uIGFib3V0IHRleHQgY29udGVudCBvZiBhIHRhcmdldCBub2RlLFxuICogYWxsb3dpbmcgY29tcGFyaXNvbiBvZiBjb250ZW50IGJlZm9yZSBhbmQgYWZ0ZXIgYSBnaXZlbiBldmVudC5cbiAqXG4gKiBJZGVudGlmeSB0aGUgbm9kZSB3aGVyZSBzZWxlY3Rpb24gY3VycmVudGx5IGJlZ2lucywgdGhlbiBvYnNlcnZlXG4gKiBib3RoIGl0cyB0ZXh0IGNvbnRlbnQgYW5kIGl0cyBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBET00uIFNpbmNlIHRoZVxuICogYnJvd3NlciBtYXkgbmF0aXZlbHkgcmVwbGFjZSB0aGUgdGFyZ2V0IG5vZGUgZHVyaW5nIGNvbXBvc2l0aW9uLCB3ZSBjYW5cbiAqIHVzZSBpdHMgcG9zaXRpb24gdG8gZmluZCBpdHMgcmVwbGFjZW1lbnQuXG4gKlxuICpcbiAqL1xudmFyIHJvb3QgPSBudWxsO1xudmFyIHN0YXJ0VGV4dCA9IG51bGw7XG52YXIgZmFsbGJhY2tUZXh0ID0gbnVsbDtcbmZ1bmN0aW9uIGluaXRpYWxpemUobmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgcm9vdCA9IG5hdGl2ZUV2ZW50VGFyZ2V0O1xuICBzdGFydFRleHQgPSBnZXRUZXh0KCk7XG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gcmVzZXQoKSB7XG4gIHJvb3QgPSBudWxsO1xuICBzdGFydFRleHQgPSBudWxsO1xuICBmYWxsYmFja1RleHQgPSBudWxsO1xufVxuZnVuY3Rpb24gZ2V0RGF0YSgpIHtcbiAgaWYgKGZhbGxiYWNrVGV4dCkge1xuICAgIHJldHVybiBmYWxsYmFja1RleHQ7XG4gIH1cblxuICB2YXIgc3RhcnQ7XG4gIHZhciBzdGFydFZhbHVlID0gc3RhcnRUZXh0O1xuICB2YXIgc3RhcnRMZW5ndGggPSBzdGFydFZhbHVlLmxlbmd0aDtcbiAgdmFyIGVuZDtcbiAgdmFyIGVuZFZhbHVlID0gZ2V0VGV4dCgpO1xuICB2YXIgZW5kTGVuZ3RoID0gZW5kVmFsdWUubGVuZ3RoO1xuXG4gIGZvciAoc3RhcnQgPSAwOyBzdGFydCA8IHN0YXJ0TGVuZ3RoOyBzdGFydCsrKSB7XG4gICAgaWYgKHN0YXJ0VmFsdWVbc3RhcnRdICE9PSBlbmRWYWx1ZVtzdGFydF0pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHZhciBtaW5FbmQgPSBzdGFydExlbmd0aCAtIHN0YXJ0O1xuXG4gIGZvciAoZW5kID0gMTsgZW5kIDw9IG1pbkVuZDsgZW5kKyspIHtcbiAgICBpZiAoc3RhcnRWYWx1ZVtzdGFydExlbmd0aCAtIGVuZF0gIT09IGVuZFZhbHVlW2VuZExlbmd0aCAtIGVuZF0pIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHZhciBzbGljZVRhaWwgPSBlbmQgPiAxID8gMSAtIGVuZCA6IHVuZGVmaW5lZDtcbiAgZmFsbGJhY2tUZXh0ID0gZW5kVmFsdWUuc2xpY2Uoc3RhcnQsIHNsaWNlVGFpbCk7XG4gIHJldHVybiBmYWxsYmFja1RleHQ7XG59XG5mdW5jdGlvbiBnZXRUZXh0KCkge1xuICBpZiAoJ3ZhbHVlJyBpbiByb290KSB7XG4gICAgcmV0dXJuIHJvb3QudmFsdWU7XG4gIH1cblxuICByZXR1cm4gcm9vdC50ZXh0Q29udGVudDtcbn1cblxudmFyIEVWRU5UX1BPT0xfU0laRSA9IDEwO1xuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG52YXIgRXZlbnRJbnRlcmZhY2UgPSB7XG4gIHR5cGU6IG51bGwsXG4gIHRhcmdldDogbnVsbCxcbiAgLy8gY3VycmVudFRhcmdldCBpcyBzZXQgd2hlbiBkaXNwYXRjaGluZzsgbm8gdXNlIGluIGNvcHlpbmcgaXQgaGVyZVxuICBjdXJyZW50VGFyZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sXG4gIGV2ZW50UGhhc2U6IG51bGwsXG4gIGJ1YmJsZXM6IG51bGwsXG4gIGNhbmNlbGFibGU6IG51bGwsXG4gIHRpbWVTdGFtcDogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgcmV0dXJuIGV2ZW50LnRpbWVTdGFtcCB8fCBEYXRlLm5vdygpO1xuICB9LFxuICBkZWZhdWx0UHJldmVudGVkOiBudWxsLFxuICBpc1RydXN0ZWQ6IG51bGxcbn07XG5cbmZ1bmN0aW9uIGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlKCkge1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlKCkge1xuICByZXR1cm4gZmFsc2U7XG59XG4vKipcbiAqIFN5bnRoZXRpYyBldmVudHMgYXJlIGRpc3BhdGNoZWQgYnkgZXZlbnQgcGx1Z2lucywgdHlwaWNhbGx5IGluIHJlc3BvbnNlIHRvIGFcbiAqIHRvcC1sZXZlbCBldmVudCBkZWxlZ2F0aW9uIGhhbmRsZXIuXG4gKlxuICogVGhlc2Ugc3lzdGVtcyBzaG91bGQgZ2VuZXJhbGx5IHVzZSBwb29saW5nIHRvIHJlZHVjZSB0aGUgZnJlcXVlbmN5IG9mIGdhcmJhZ2VcbiAqIGNvbGxlY3Rpb24uIFRoZSBzeXN0ZW0gc2hvdWxkIGNoZWNrIGBpc1BlcnNpc3RlbnRgIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZVxuICogZXZlbnQgc2hvdWxkIGJlIHJlbGVhc2VkIGludG8gdGhlIHBvb2wgYWZ0ZXIgYmVpbmcgZGlzcGF0Y2hlZC4gVXNlcnMgdGhhdFxuICogbmVlZCBhIHBlcnNpc3RlZCBldmVudCBzaG91bGQgaW52b2tlIGBwZXJzaXN0YC5cbiAqXG4gKiBTeW50aGV0aWMgZXZlbnRzIChhbmQgc3ViY2xhc3NlcykgaW1wbGVtZW50IHRoZSBET00gTGV2ZWwgMyBFdmVudHMgQVBJIGJ5XG4gKiBub3JtYWxpemluZyBicm93c2VyIHF1aXJrcy4gU3ViY2xhc3NlcyBkbyBub3QgbmVjZXNzYXJpbHkgaGF2ZSB0byBpbXBsZW1lbnQgYVxuICogRE9NIGludGVyZmFjZTsgY3VzdG9tIGFwcGxpY2F0aW9uLXNwZWNpZmljIGV2ZW50cyBjYW4gYWxzbyBzdWJjbGFzcyB0aGlzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fSBkaXNwYXRjaENvbmZpZyBDb25maWd1cmF0aW9uIHVzZWQgdG8gZGlzcGF0Y2ggdGhpcyBldmVudC5cbiAqIEBwYXJhbSB7Kn0gdGFyZ2V0SW5zdCBNYXJrZXIgaWRlbnRpZnlpbmcgdGhlIGV2ZW50IHRhcmdldC5cbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudCBOYXRpdmUgYnJvd3NlciBldmVudC5cbiAqIEBwYXJhbSB7RE9NRXZlbnRUYXJnZXR9IG5hdGl2ZUV2ZW50VGFyZ2V0IFRhcmdldCBub2RlLlxuICovXG5cblxuZnVuY3Rpb24gU3ludGhldGljRXZlbnQoZGlzcGF0Y2hDb25maWcsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICB7XG4gICAgLy8gdGhlc2UgaGF2ZSBhIGdldHRlci9zZXR0ZXIgZm9yIHdhcm5pbmdzXG4gICAgZGVsZXRlIHRoaXMubmF0aXZlRXZlbnQ7XG4gICAgZGVsZXRlIHRoaXMucHJldmVudERlZmF1bHQ7XG4gICAgZGVsZXRlIHRoaXMuc3RvcFByb3BhZ2F0aW9uO1xuICAgIGRlbGV0ZSB0aGlzLmlzRGVmYXVsdFByZXZlbnRlZDtcbiAgICBkZWxldGUgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZDtcbiAgfVxuXG4gIHRoaXMuZGlzcGF0Y2hDb25maWcgPSBkaXNwYXRjaENvbmZpZztcbiAgdGhpcy5fdGFyZ2V0SW5zdCA9IHRhcmdldEluc3Q7XG4gIHRoaXMubmF0aXZlRXZlbnQgPSBuYXRpdmVFdmVudDtcbiAgdmFyIEludGVyZmFjZSA9IHRoaXMuY29uc3RydWN0b3IuSW50ZXJmYWNlO1xuXG4gIGZvciAodmFyIHByb3BOYW1lIGluIEludGVyZmFjZSkge1xuICAgIGlmICghSW50ZXJmYWNlLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAge1xuICAgICAgZGVsZXRlIHRoaXNbcHJvcE5hbWVdOyAvLyB0aGlzIGhhcyBhIGdldHRlci9zZXR0ZXIgZm9yIHdhcm5pbmdzXG4gICAgfVxuXG4gICAgdmFyIG5vcm1hbGl6ZSA9IEludGVyZmFjZVtwcm9wTmFtZV07XG5cbiAgICBpZiAobm9ybWFsaXplKSB7XG4gICAgICB0aGlzW3Byb3BOYW1lXSA9IG5vcm1hbGl6ZShuYXRpdmVFdmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9wTmFtZSA9PT0gJ3RhcmdldCcpIHtcbiAgICAgICAgdGhpcy50YXJnZXQgPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXNbcHJvcE5hbWVdID0gbmF0aXZlRXZlbnRbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHZhciBkZWZhdWx0UHJldmVudGVkID0gbmF0aXZlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCAhPSBudWxsID8gbmF0aXZlRXZlbnQuZGVmYXVsdFByZXZlbnRlZCA6IG5hdGl2ZUV2ZW50LnJldHVyblZhbHVlID09PSBmYWxzZTtcblxuICBpZiAoZGVmYXVsdFByZXZlbnRlZCkge1xuICAgIHRoaXMuaXNEZWZhdWx0UHJldmVudGVkID0gZnVuY3Rpb25UaGF0UmV0dXJuc1RydWU7XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2U7XG4gIH1cblxuICB0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkID0gZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlO1xuICByZXR1cm4gdGhpcztcbn1cblxuX2Fzc2lnbihTeW50aGV0aWNFdmVudC5wcm90b3R5cGUsIHtcbiAgcHJldmVudERlZmF1bHQ6IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLmRlZmF1bHRQcmV2ZW50ZWQgPSB0cnVlO1xuICAgIHZhciBldmVudCA9IHRoaXMubmF0aXZlRXZlbnQ7XG5cbiAgICBpZiAoIWV2ZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGV2ZW50LnJldHVyblZhbHVlICE9PSAndW5rbm93bicpIHtcbiAgICAgIGV2ZW50LnJldHVyblZhbHVlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgfSxcbiAgc3RvcFByb3BhZ2F0aW9uOiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGV2ZW50ID0gdGhpcy5uYXRpdmVFdmVudDtcblxuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQuc3RvcFByb3BhZ2F0aW9uKSB7XG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBldmVudC5jYW5jZWxCdWJibGUgIT09ICd1bmtub3duJykge1xuICAgICAgLy8gVGhlIENoYW5nZUV2ZW50UGx1Z2luIHJlZ2lzdGVycyBhIFwicHJvcGVydHljaGFuZ2VcIiBldmVudCBmb3JcbiAgICAgIC8vIElFLiBUaGlzIGV2ZW50IGRvZXMgbm90IHN1cHBvcnQgYnViYmxpbmcgb3IgY2FuY2VsbGluZywgYW5kXG4gICAgICAvLyBhbnkgcmVmZXJlbmNlcyB0byBjYW5jZWxCdWJibGUgdGhyb3cgXCJNZW1iZXIgbm90IGZvdW5kXCIuICBBXG4gICAgICAvLyB0eXBlb2YgY2hlY2sgb2YgXCJ1bmtub3duXCIgY2lyY3VtdmVudHMgdGhpcyBpc3N1ZSAoYW5kIGlzIGFsc29cbiAgICAgIC8vIElFIHNwZWNpZmljKS5cbiAgICAgIGV2ZW50LmNhbmNlbEJ1YmJsZSA9IHRydWU7XG4gICAgfVxuXG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNUcnVlO1xuICB9LFxuXG4gIC8qKlxuICAgKiBXZSByZWxlYXNlIGFsbCBkaXNwYXRjaGVkIGBTeW50aGV0aWNFdmVudGBzIGFmdGVyIGVhY2ggZXZlbnQgbG9vcCwgYWRkaW5nXG4gICAqIHRoZW0gYmFjayBpbnRvIHRoZSBwb29sLiBUaGlzIGFsbG93cyBhIHdheSB0byBob2xkIG9udG8gYSByZWZlcmVuY2UgdGhhdFxuICAgKiB3b24ndCBiZSBhZGRlZCBiYWNrIGludG8gdGhlIHBvb2wuXG4gICAqL1xuICBwZXJzaXN0OiBmdW5jdGlvbiAoKSB7XG4gICAgdGhpcy5pc1BlcnNpc3RlbnQgPSBmdW5jdGlvblRoYXRSZXR1cm5zVHJ1ZTtcbiAgfSxcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoaXMgZXZlbnQgc2hvdWxkIGJlIHJlbGVhc2VkIGJhY2sgaW50byB0aGUgcG9vbC5cbiAgICpcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGlzIHNob3VsZCBub3QgYmUgcmVsZWFzZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICovXG4gIGlzUGVyc2lzdGVudDogZnVuY3Rpb25UaGF0UmV0dXJuc0ZhbHNlLFxuXG4gIC8qKlxuICAgKiBgUG9vbGVkQ2xhc3NgIGxvb2tzIGZvciBgZGVzdHJ1Y3RvcmAgb24gZWFjaCBpbnN0YW5jZSBpdCByZWxlYXNlcy5cbiAgICovXG4gIGRlc3RydWN0b3I6IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgSW50ZXJmYWNlID0gdGhpcy5jb25zdHJ1Y3Rvci5JbnRlcmZhY2U7XG5cbiAgICBmb3IgKHZhciBwcm9wTmFtZSBpbiBJbnRlcmZhY2UpIHtcbiAgICAgIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIHByb3BOYW1lLCBnZXRQb29sZWRXYXJuaW5nUHJvcGVydHlEZWZpbml0aW9uKHByb3BOYW1lLCBJbnRlcmZhY2VbcHJvcE5hbWVdKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwYXRjaENvbmZpZyA9IG51bGw7XG4gICAgdGhpcy5fdGFyZ2V0SW5zdCA9IG51bGw7XG4gICAgdGhpcy5uYXRpdmVFdmVudCA9IG51bGw7XG4gICAgdGhpcy5pc0RlZmF1bHRQcmV2ZW50ZWQgPSBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2U7XG4gICAgdGhpcy5pc1Byb3BhZ2F0aW9uU3RvcHBlZCA9IGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZTtcbiAgICB0aGlzLl9kaXNwYXRjaExpc3RlbmVycyA9IG51bGw7XG4gICAgdGhpcy5fZGlzcGF0Y2hJbnN0YW5jZXMgPSBudWxsO1xuXG4gICAge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICduYXRpdmVFdmVudCcsIGdldFBvb2xlZFdhcm5pbmdQcm9wZXJ0eURlZmluaXRpb24oJ25hdGl2ZUV2ZW50JywgbnVsbCkpO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdpc0RlZmF1bHRQcmV2ZW50ZWQnLCBnZXRQb29sZWRXYXJuaW5nUHJvcGVydHlEZWZpbml0aW9uKCdpc0RlZmF1bHRQcmV2ZW50ZWQnLCBmdW5jdGlvblRoYXRSZXR1cm5zRmFsc2UpKTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnaXNQcm9wYWdhdGlvblN0b3BwZWQnLCBnZXRQb29sZWRXYXJuaW5nUHJvcGVydHlEZWZpbml0aW9uKCdpc1Byb3BhZ2F0aW9uU3RvcHBlZCcsIGZ1bmN0aW9uVGhhdFJldHVybnNGYWxzZSkpO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdwcmV2ZW50RGVmYXVsdCcsIGdldFBvb2xlZFdhcm5pbmdQcm9wZXJ0eURlZmluaXRpb24oJ3ByZXZlbnREZWZhdWx0JywgZnVuY3Rpb24gKCkge30pKTtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnc3RvcFByb3BhZ2F0aW9uJywgZ2V0UG9vbGVkV2FybmluZ1Byb3BlcnR5RGVmaW5pdGlvbignc3RvcFByb3BhZ2F0aW9uJywgZnVuY3Rpb24gKCkge30pKTtcbiAgICB9XG4gIH1cbn0pO1xuXG5TeW50aGV0aWNFdmVudC5JbnRlcmZhY2UgPSBFdmVudEludGVyZmFjZTtcbi8qKlxuICogSGVscGVyIHRvIHJlZHVjZSBib2lsZXJwbGF0ZSB3aGVuIGNyZWF0aW5nIHN1YmNsYXNzZXMuXG4gKi9cblxuU3ludGhldGljRXZlbnQuZXh0ZW5kID0gZnVuY3Rpb24gKEludGVyZmFjZSkge1xuICB2YXIgU3VwZXIgPSB0aGlzO1xuXG4gIHZhciBFID0gZnVuY3Rpb24gKCkge307XG5cbiAgRS5wcm90b3R5cGUgPSBTdXBlci5wcm90b3R5cGU7XG4gIHZhciBwcm90b3R5cGUgPSBuZXcgRSgpO1xuXG4gIGZ1bmN0aW9uIENsYXNzKCkge1xuICAgIHJldHVybiBTdXBlci5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgX2Fzc2lnbihwcm90b3R5cGUsIENsYXNzLnByb3RvdHlwZSk7XG5cbiAgQ2xhc3MucHJvdG90eXBlID0gcHJvdG90eXBlO1xuICBDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBDbGFzcztcbiAgQ2xhc3MuSW50ZXJmYWNlID0gX2Fzc2lnbih7fSwgU3VwZXIuSW50ZXJmYWNlLCBJbnRlcmZhY2UpO1xuICBDbGFzcy5leHRlbmQgPSBTdXBlci5leHRlbmQ7XG4gIGFkZEV2ZW50UG9vbGluZ1RvKENsYXNzKTtcbiAgcmV0dXJuIENsYXNzO1xufTtcblxuYWRkRXZlbnRQb29saW5nVG8oU3ludGhldGljRXZlbnQpO1xuLyoqXG4gKiBIZWxwZXIgdG8gbnVsbGlmeSBzeW50aGV0aWNFdmVudCBpbnN0YW5jZSBwcm9wZXJ0aWVzIHdoZW4gZGVzdHJ1Y3RpbmdcbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gcHJvcE5hbWVcbiAqIEBwYXJhbSB7P29iamVjdH0gZ2V0VmFsXG4gKiBAcmV0dXJuIHtvYmplY3R9IGRlZmluZVByb3BlcnR5IG9iamVjdFxuICovXG5cbmZ1bmN0aW9uIGdldFBvb2xlZFdhcm5pbmdQcm9wZXJ0eURlZmluaXRpb24ocHJvcE5hbWUsIGdldFZhbCkge1xuICB2YXIgaXNGdW5jdGlvbiA9IHR5cGVvZiBnZXRWYWwgPT09ICdmdW5jdGlvbic7XG4gIHJldHVybiB7XG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHNldDogc2V0LFxuICAgIGdldDogZ2V0XG4gIH07XG5cbiAgZnVuY3Rpb24gc2V0KHZhbCkge1xuICAgIHZhciBhY3Rpb24gPSBpc0Z1bmN0aW9uID8gJ3NldHRpbmcgdGhlIG1ldGhvZCcgOiAnc2V0dGluZyB0aGUgcHJvcGVydHknO1xuICAgIHdhcm4oYWN0aW9uLCAnVGhpcyBpcyBlZmZlY3RpdmVseSBhIG5vLW9wJyk7XG4gICAgcmV0dXJuIHZhbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldCgpIHtcbiAgICB2YXIgYWN0aW9uID0gaXNGdW5jdGlvbiA/ICdhY2Nlc3NpbmcgdGhlIG1ldGhvZCcgOiAnYWNjZXNzaW5nIHRoZSBwcm9wZXJ0eSc7XG4gICAgdmFyIHJlc3VsdCA9IGlzRnVuY3Rpb24gPyAnVGhpcyBpcyBhIG5vLW9wIGZ1bmN0aW9uJyA6ICdUaGlzIGlzIHNldCB0byBudWxsJztcbiAgICB3YXJuKGFjdGlvbiwgcmVzdWx0KTtcbiAgICByZXR1cm4gZ2V0VmFsO1xuICB9XG5cbiAgZnVuY3Rpb24gd2FybihhY3Rpb24sIHJlc3VsdCkge1xuICAgIHtcbiAgICAgIGVycm9yKFwiVGhpcyBzeW50aGV0aWMgZXZlbnQgaXMgcmV1c2VkIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLiBJZiB5b3UncmUgc2VlaW5nIHRoaXMsIFwiICsgXCJ5b3UncmUgJXMgYCVzYCBvbiBhIHJlbGVhc2VkL251bGxpZmllZCBzeW50aGV0aWMgZXZlbnQuICVzLiBcIiArICdJZiB5b3UgbXVzdCBrZWVwIHRoZSBvcmlnaW5hbCBzeW50aGV0aWMgZXZlbnQgYXJvdW5kLCB1c2UgZXZlbnQucGVyc2lzdCgpLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LWV2ZW50LXBvb2xpbmcgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgYWN0aW9uLCBwcm9wTmFtZSwgcmVzdWx0KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0UG9vbGVkRXZlbnQoZGlzcGF0Y2hDb25maWcsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVJbnN0KSB7XG4gIHZhciBFdmVudENvbnN0cnVjdG9yID0gdGhpcztcblxuICBpZiAoRXZlbnRDb25zdHJ1Y3Rvci5ldmVudFBvb2wubGVuZ3RoKSB7XG4gICAgdmFyIGluc3RhbmNlID0gRXZlbnRDb25zdHJ1Y3Rvci5ldmVudFBvb2wucG9wKCk7XG4gICAgRXZlbnRDb25zdHJ1Y3Rvci5jYWxsKGluc3RhbmNlLCBkaXNwYXRjaENvbmZpZywgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUluc3QpO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbiAgfVxuXG4gIHJldHVybiBuZXcgRXZlbnRDb25zdHJ1Y3RvcihkaXNwYXRjaENvbmZpZywgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUluc3QpO1xufVxuXG5mdW5jdGlvbiByZWxlYXNlUG9vbGVkRXZlbnQoZXZlbnQpIHtcbiAgdmFyIEV2ZW50Q29uc3RydWN0b3IgPSB0aGlzO1xuXG4gIGlmICghKGV2ZW50IGluc3RhbmNlb2YgRXZlbnRDb25zdHJ1Y3RvcikpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJUcnlpbmcgdG8gcmVsZWFzZSBhbiBldmVudCBpbnN0YW5jZSBpbnRvIGEgcG9vbCBvZiBhIGRpZmZlcmVudCB0eXBlLlwiICk7XG4gICAgfVxuICB9XG5cbiAgZXZlbnQuZGVzdHJ1Y3RvcigpO1xuXG4gIGlmIChFdmVudENvbnN0cnVjdG9yLmV2ZW50UG9vbC5sZW5ndGggPCBFVkVOVF9QT09MX1NJWkUpIHtcbiAgICBFdmVudENvbnN0cnVjdG9yLmV2ZW50UG9vbC5wdXNoKGV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGRFdmVudFBvb2xpbmdUbyhFdmVudENvbnN0cnVjdG9yKSB7XG4gIEV2ZW50Q29uc3RydWN0b3IuZXZlbnRQb29sID0gW107XG4gIEV2ZW50Q29uc3RydWN0b3IuZ2V0UG9vbGVkID0gZ2V0UG9vbGVkRXZlbnQ7XG4gIEV2ZW50Q29uc3RydWN0b3IucmVsZWFzZSA9IHJlbGVhc2VQb29sZWRFdmVudDtcbn1cblxuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8jZXZlbnRzLWNvbXBvc2l0aW9uZXZlbnRzXG4gKi9cblxudmFyIFN5bnRoZXRpY0NvbXBvc2l0aW9uRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xuICBkYXRhOiBudWxsXG59KTtcblxuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvV0QtRE9NLUxldmVsLTMtRXZlbnRzLTIwMTMxMTA1XG4gKiAgICAgIC8jZXZlbnRzLWlucHV0ZXZlbnRzXG4gKi9cblxudmFyIFN5bnRoZXRpY0lucHV0RXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xuICBkYXRhOiBudWxsXG59KTtcblxudmFyIEVORF9LRVlDT0RFUyA9IFs5LCAxMywgMjcsIDMyXTsgLy8gVGFiLCBSZXR1cm4sIEVzYywgU3BhY2VcblxudmFyIFNUQVJUX0tFWUNPREUgPSAyMjk7XG52YXIgY2FuVXNlQ29tcG9zaXRpb25FdmVudCA9IGNhblVzZURPTSAmJiAnQ29tcG9zaXRpb25FdmVudCcgaW4gd2luZG93O1xudmFyIGRvY3VtZW50TW9kZSA9IG51bGw7XG5cbmlmIChjYW5Vc2VET00gJiYgJ2RvY3VtZW50TW9kZScgaW4gZG9jdW1lbnQpIHtcbiAgZG9jdW1lbnRNb2RlID0gZG9jdW1lbnQuZG9jdW1lbnRNb2RlO1xufSAvLyBXZWJraXQgb2ZmZXJzIGEgdmVyeSB1c2VmdWwgYHRleHRJbnB1dGAgZXZlbnQgdGhhdCBjYW4gYmUgdXNlZCB0b1xuLy8gZGlyZWN0bHkgcmVwcmVzZW50IGBiZWZvcmVJbnB1dGAuIFRoZSBJRSBgdGV4dGlucHV0YCBldmVudCBpcyBub3QgYXNcbi8vIHVzZWZ1bCwgc28gd2UgZG9uJ3QgdXNlIGl0LlxuXG5cbnZhciBjYW5Vc2VUZXh0SW5wdXRFdmVudCA9IGNhblVzZURPTSAmJiAnVGV4dEV2ZW50JyBpbiB3aW5kb3cgJiYgIWRvY3VtZW50TW9kZTsgLy8gSW4gSUU5Kywgd2UgaGF2ZSBhY2Nlc3MgdG8gY29tcG9zaXRpb24gZXZlbnRzLCBidXQgdGhlIGRhdGEgc3VwcGxpZWRcbi8vIGJ5IHRoZSBuYXRpdmUgY29tcG9zaXRpb25lbmQgZXZlbnQgbWF5IGJlIGluY29ycmVjdC4gSmFwYW5lc2UgaWRlb2dyYXBoaWNcbi8vIHNwYWNlcywgZm9yIGluc3RhbmNlIChcXHUzMDAwKSBhcmUgbm90IHJlY29yZGVkIGNvcnJlY3RseS5cblxudmFyIHVzZUZhbGxiYWNrQ29tcG9zaXRpb25EYXRhID0gY2FuVXNlRE9NICYmICghY2FuVXNlQ29tcG9zaXRpb25FdmVudCB8fCBkb2N1bWVudE1vZGUgJiYgZG9jdW1lbnRNb2RlID4gOCAmJiBkb2N1bWVudE1vZGUgPD0gMTEpO1xudmFyIFNQQUNFQkFSX0NPREUgPSAzMjtcbnZhciBTUEFDRUJBUl9DSEFSID0gU3RyaW5nLmZyb21DaGFyQ29kZShTUEFDRUJBUl9DT0RFKTsgLy8gRXZlbnRzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIHByb3BlcnR5IG5hbWVzLlxuXG52YXIgZXZlbnRUeXBlcyA9IHtcbiAgYmVmb3JlSW5wdXQ6IHtcbiAgICBwaGFzZWRSZWdpc3RyYXRpb25OYW1lczoge1xuICAgICAgYnViYmxlZDogJ29uQmVmb3JlSW5wdXQnLFxuICAgICAgY2FwdHVyZWQ6ICdvbkJlZm9yZUlucHV0Q2FwdHVyZSdcbiAgICB9LFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9DT01QT1NJVElPTl9FTkQsIFRPUF9LRVlfUFJFU1MsIFRPUF9URVhUX0lOUFVULCBUT1BfUEFTVEVdXG4gIH0sXG4gIGNvbXBvc2l0aW9uRW5kOiB7XG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcbiAgICAgIGJ1YmJsZWQ6ICdvbkNvbXBvc2l0aW9uRW5kJyxcbiAgICAgIGNhcHR1cmVkOiAnb25Db21wb3NpdGlvbkVuZENhcHR1cmUnXG4gICAgfSxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQkxVUiwgVE9QX0NPTVBPU0lUSU9OX0VORCwgVE9QX0tFWV9ET1dOLCBUT1BfS0VZX1BSRVNTLCBUT1BfS0VZX1VQLCBUT1BfTU9VU0VfRE9XTl1cbiAgfSxcbiAgY29tcG9zaXRpb25TdGFydDoge1xuICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XG4gICAgICBidWJibGVkOiAnb25Db21wb3NpdGlvblN0YXJ0JyxcbiAgICAgIGNhcHR1cmVkOiAnb25Db21wb3NpdGlvblN0YXJ0Q2FwdHVyZSdcbiAgICB9LFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ09NUE9TSVRJT05fU1RBUlQsIFRPUF9LRVlfRE9XTiwgVE9QX0tFWV9QUkVTUywgVE9QX0tFWV9VUCwgVE9QX01PVVNFX0RPV05dXG4gIH0sXG4gIGNvbXBvc2l0aW9uVXBkYXRlOiB7XG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcbiAgICAgIGJ1YmJsZWQ6ICdvbkNvbXBvc2l0aW9uVXBkYXRlJyxcbiAgICAgIGNhcHR1cmVkOiAnb25Db21wb3NpdGlvblVwZGF0ZUNhcHR1cmUnXG4gICAgfSxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQkxVUiwgVE9QX0NPTVBPU0lUSU9OX1VQREFURSwgVE9QX0tFWV9ET1dOLCBUT1BfS0VZX1BSRVNTLCBUT1BfS0VZX1VQLCBUT1BfTU9VU0VfRE9XTl1cbiAgfVxufTsgLy8gVHJhY2sgd2hldGhlciB3ZSd2ZSBldmVyIGhhbmRsZWQgYSBrZXlwcmVzcyBvbiB0aGUgc3BhY2Uga2V5LlxuXG52YXIgaGFzU3BhY2VLZXlwcmVzcyA9IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm4gd2hldGhlciBhIG5hdGl2ZSBrZXlwcmVzcyBldmVudCBpcyBhc3N1bWVkIHRvIGJlIGEgY29tbWFuZC5cbiAqIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBGaXJlZm94IGZpcmVzIGBrZXlwcmVzc2AgZXZlbnRzIGZvciBrZXkgY29tbWFuZHNcbiAqIChjdXQsIGNvcHksIHNlbGVjdC1hbGwsIGV0Yy4pIGV2ZW4gdGhvdWdoIG5vIGNoYXJhY3RlciBpcyBpbnNlcnRlZC5cbiAqL1xuXG5mdW5jdGlvbiBpc0tleXByZXNzQ29tbWFuZChuYXRpdmVFdmVudCkge1xuICByZXR1cm4gKG5hdGl2ZUV2ZW50LmN0cmxLZXkgfHwgbmF0aXZlRXZlbnQuYWx0S2V5IHx8IG5hdGl2ZUV2ZW50Lm1ldGFLZXkpICYmIC8vIGN0cmxLZXkgJiYgYWx0S2V5IGlzIGVxdWl2YWxlbnQgdG8gQWx0R3IsIGFuZCBpcyBub3QgYSBjb21tYW5kLlxuICAhKG5hdGl2ZUV2ZW50LmN0cmxLZXkgJiYgbmF0aXZlRXZlbnQuYWx0S2V5KTtcbn1cbi8qKlxuICogVHJhbnNsYXRlIG5hdGl2ZSB0b3AgbGV2ZWwgZXZlbnRzIGludG8gZXZlbnQgdHlwZXMuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRvcExldmVsVHlwZVxuICogQHJldHVybiB7b2JqZWN0fVxuICovXG5cblxuZnVuY3Rpb24gZ2V0Q29tcG9zaXRpb25FdmVudFR5cGUodG9wTGV2ZWxUeXBlKSB7XG4gIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fU1RBUlQ6XG4gICAgICByZXR1cm4gZXZlbnRUeXBlcy5jb21wb3NpdGlvblN0YXJ0O1xuXG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fRU5EOlxuICAgICAgcmV0dXJuIGV2ZW50VHlwZXMuY29tcG9zaXRpb25FbmQ7XG5cbiAgICBjYXNlIFRPUF9DT01QT1NJVElPTl9VUERBVEU6XG4gICAgICByZXR1cm4gZXZlbnRUeXBlcy5jb21wb3NpdGlvblVwZGF0ZTtcbiAgfVxufVxuLyoqXG4gKiBEb2VzIG91ciBmYWxsYmFjayBiZXN0LWd1ZXNzIG1vZGVsIHRoaW5rIHRoaXMgZXZlbnQgc2lnbmlmaWVzIHRoYXRcbiAqIGNvbXBvc2l0aW9uIGhhcyBiZWd1bj9cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gdG9wTGV2ZWxUeXBlXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBpc0ZhbGxiYWNrQ29tcG9zaXRpb25TdGFydCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KSB7XG4gIHJldHVybiB0b3BMZXZlbFR5cGUgPT09IFRPUF9LRVlfRE9XTiAmJiBuYXRpdmVFdmVudC5rZXlDb2RlID09PSBTVEFSVF9LRVlDT0RFO1xufVxuLyoqXG4gKiBEb2VzIG91ciBmYWxsYmFjayBtb2RlIHRoaW5rIHRoYXQgdGhpcyBldmVudCBpcyB0aGUgZW5kIG9mIGNvbXBvc2l0aW9uP1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b3BMZXZlbFR5cGVcbiAqIEBwYXJhbSB7b2JqZWN0fSBuYXRpdmVFdmVudFxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuXG5cbmZ1bmN0aW9uIGlzRmFsbGJhY2tDb21wb3NpdGlvbkVuZCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KSB7XG4gIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XG4gICAgY2FzZSBUT1BfS0VZX1VQOlxuICAgICAgLy8gQ29tbWFuZCBrZXlzIGluc2VydCBvciBjbGVhciBJTUUgaW5wdXQuXG4gICAgICByZXR1cm4gRU5EX0tFWUNPREVTLmluZGV4T2YobmF0aXZlRXZlbnQua2V5Q29kZSkgIT09IC0xO1xuXG4gICAgY2FzZSBUT1BfS0VZX0RPV046XG4gICAgICAvLyBFeHBlY3QgSU1FIGtleUNvZGUgb24gZWFjaCBrZXlkb3duLiBJZiB3ZSBnZXQgYW55IG90aGVyXG4gICAgICAvLyBjb2RlIHdlIG11c3QgaGF2ZSBleGl0ZWQgZWFybGllci5cbiAgICAgIHJldHVybiBuYXRpdmVFdmVudC5rZXlDb2RlICE9PSBTVEFSVF9LRVlDT0RFO1xuXG4gICAgY2FzZSBUT1BfS0VZX1BSRVNTOlxuICAgIGNhc2UgVE9QX01PVVNFX0RPV046XG4gICAgY2FzZSBUT1BfQkxVUjpcbiAgICAgIC8vIEV2ZW50cyBhcmUgbm90IHBvc3NpYmxlIHdpdGhvdXQgY2FuY2VsbGluZyBJTUUuXG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbi8qKlxuICogR29vZ2xlIElucHV0IFRvb2xzIHByb3ZpZGVzIGNvbXBvc2l0aW9uIGRhdGEgdmlhIGEgQ3VzdG9tRXZlbnQsXG4gKiB3aXRoIHRoZSBgZGF0YWAgcHJvcGVydHkgcG9wdWxhdGVkIGluIHRoZSBgZGV0YWlsYCBvYmplY3QuIElmIHRoaXNcbiAqIGlzIGF2YWlsYWJsZSBvbiB0aGUgZXZlbnQgb2JqZWN0LCB1c2UgaXQuIElmIG5vdCwgdGhpcyBpcyBhIHBsYWluXG4gKiBjb21wb3NpdGlvbiBldmVudCBhbmQgd2UgaGF2ZSBub3RoaW5nIHNwZWNpYWwgdG8gZXh0cmFjdC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcbiAqIEByZXR1cm4gez9zdHJpbmd9XG4gKi9cblxuXG5mdW5jdGlvbiBnZXREYXRhRnJvbUN1c3RvbUV2ZW50KG5hdGl2ZUV2ZW50KSB7XG4gIHZhciBkZXRhaWwgPSBuYXRpdmVFdmVudC5kZXRhaWw7XG5cbiAgaWYgKHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnICYmICdkYXRhJyBpbiBkZXRhaWwpIHtcbiAgICByZXR1cm4gZGV0YWlsLmRhdGE7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogQ2hlY2sgaWYgYSBjb21wb3NpdGlvbiBldmVudCB3YXMgdHJpZ2dlcmVkIGJ5IEtvcmVhbiBJTUUuXG4gKiBPdXIgZmFsbGJhY2sgbW9kZSBkb2VzIG5vdCB3b3JrIHdlbGwgd2l0aCBJRSdzIEtvcmVhbiBJTUUsXG4gKiBzbyBqdXN0IHVzZSBuYXRpdmUgY29tcG9zaXRpb24gZXZlbnRzIHdoZW4gS29yZWFuIElNRSBpcyB1c2VkLlxuICogQWx0aG91Z2ggQ29tcG9zaXRpb25FdmVudC5sb2NhbGUgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCxcbiAqIGl0IGlzIGF2YWlsYWJsZSBpbiBJRSwgd2hlcmUgb3VyIGZhbGxiYWNrIG1vZGUgaXMgZW5hYmxlZC5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRcbiAqIEByZXR1cm4ge2Jvb2xlYW59XG4gKi9cblxuXG5mdW5jdGlvbiBpc1VzaW5nS29yZWFuSU1FKG5hdGl2ZUV2ZW50KSB7XG4gIHJldHVybiBuYXRpdmVFdmVudC5sb2NhbGUgPT09ICdrbyc7XG59IC8vIFRyYWNrIHRoZSBjdXJyZW50IElNRSBjb21wb3NpdGlvbiBzdGF0dXMsIGlmIGFueS5cblxuXG52YXIgaXNDb21wb3NpbmcgPSBmYWxzZTtcbi8qKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50LlxuICovXG5cbmZ1bmN0aW9uIGV4dHJhY3RDb21wb3NpdGlvbkV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KSB7XG4gIHZhciBldmVudFR5cGU7XG4gIHZhciBmYWxsYmFja0RhdGE7XG5cbiAgaWYgKGNhblVzZUNvbXBvc2l0aW9uRXZlbnQpIHtcbiAgICBldmVudFR5cGUgPSBnZXRDb21wb3NpdGlvbkV2ZW50VHlwZSh0b3BMZXZlbFR5cGUpO1xuICB9IGVsc2UgaWYgKCFpc0NvbXBvc2luZykge1xuICAgIGlmIChpc0ZhbGxiYWNrQ29tcG9zaXRpb25TdGFydCh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KSkge1xuICAgICAgZXZlbnRUeXBlID0gZXZlbnRUeXBlcy5jb21wb3NpdGlvblN0YXJ0O1xuICAgIH1cbiAgfSBlbHNlIGlmIChpc0ZhbGxiYWNrQ29tcG9zaXRpb25FbmQodG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkpIHtcbiAgICBldmVudFR5cGUgPSBldmVudFR5cGVzLmNvbXBvc2l0aW9uRW5kO1xuICB9XG5cbiAgaWYgKCFldmVudFR5cGUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmICh1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkpIHtcbiAgICAvLyBUaGUgY3VycmVudCBjb21wb3NpdGlvbiBpcyBzdG9yZWQgc3RhdGljYWxseSBhbmQgbXVzdCBub3QgYmVcbiAgICAvLyBvdmVyd3JpdHRlbiB3aGlsZSBjb21wb3NpdGlvbiBjb250aW51ZXMuXG4gICAgaWYgKCFpc0NvbXBvc2luZyAmJiBldmVudFR5cGUgPT09IGV2ZW50VHlwZXMuY29tcG9zaXRpb25TdGFydCkge1xuICAgICAgaXNDb21wb3NpbmcgPSBpbml0aWFsaXplKG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PT0gZXZlbnRUeXBlcy5jb21wb3NpdGlvbkVuZCkge1xuICAgICAgaWYgKGlzQ29tcG9zaW5nKSB7XG4gICAgICAgIGZhbGxiYWNrRGF0YSA9IGdldERhdGEoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgZXZlbnQgPSBTeW50aGV0aWNDb21wb3NpdGlvbkV2ZW50LmdldFBvb2xlZChldmVudFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKGZhbGxiYWNrRGF0YSkge1xuICAgIC8vIEluamVjdCBkYXRhIGdlbmVyYXRlZCBmcm9tIGZhbGxiYWNrIHBhdGggaW50byB0aGUgc3ludGhldGljIGV2ZW50LlxuICAgIC8vIFRoaXMgbWF0Y2hlcyB0aGUgcHJvcGVydHkgb2YgbmF0aXZlIENvbXBvc2l0aW9uRXZlbnRJbnRlcmZhY2UuXG4gICAgZXZlbnQuZGF0YSA9IGZhbGxiYWNrRGF0YTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgY3VzdG9tRGF0YSA9IGdldERhdGFGcm9tQ3VzdG9tRXZlbnQobmF0aXZlRXZlbnQpO1xuXG4gICAgaWYgKGN1c3RvbURhdGEgIT09IG51bGwpIHtcbiAgICAgIGV2ZW50LmRhdGEgPSBjdXN0b21EYXRhO1xuICAgIH1cbiAgfVxuXG4gIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnQpO1xuICByZXR1cm4gZXZlbnQ7XG59XG4vKipcbiAqIEBwYXJhbSB7VG9wTGV2ZWxUeXBlfSB0b3BMZXZlbFR5cGUgTnVtYmVyIGZyb20gYFRvcExldmVsVHlwZWAuXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnQgTmF0aXZlIGJyb3dzZXIgZXZlbnQuXG4gKiBAcmV0dXJuIHs/c3RyaW5nfSBUaGUgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBgYmVmb3JlSW5wdXRgIGV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KSB7XG4gIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XG4gICAgY2FzZSBUT1BfQ09NUE9TSVRJT05fRU5EOlxuICAgICAgcmV0dXJuIGdldERhdGFGcm9tQ3VzdG9tRXZlbnQobmF0aXZlRXZlbnQpO1xuXG4gICAgY2FzZSBUT1BfS0VZX1BSRVNTOlxuICAgICAgLyoqXG4gICAgICAgKiBJZiBuYXRpdmUgYHRleHRJbnB1dGAgZXZlbnRzIGFyZSBhdmFpbGFibGUsIG91ciBnb2FsIGlzIHRvIG1ha2VcbiAgICAgICAqIHVzZSBvZiB0aGVtLiBIb3dldmVyLCB0aGVyZSBpcyBhIHNwZWNpYWwgY2FzZTogdGhlIHNwYWNlYmFyIGtleS5cbiAgICAgICAqIEluIFdlYmtpdCwgcHJldmVudGluZyBkZWZhdWx0IG9uIGEgc3BhY2ViYXIgYHRleHRJbnB1dGAgZXZlbnRcbiAgICAgICAqIGNhbmNlbHMgY2hhcmFjdGVyIGluc2VydGlvbiwgYnV0IGl0ICphbHNvKiBjYXVzZXMgdGhlIGJyb3dzZXJcbiAgICAgICAqIHRvIGZhbGwgYmFjayB0byBpdHMgZGVmYXVsdCBzcGFjZWJhciBiZWhhdmlvciBvZiBzY3JvbGxpbmcgdGhlXG4gICAgICAgKiBwYWdlLlxuICAgICAgICpcbiAgICAgICAqIFRyYWNraW5nIGF0OlxuICAgICAgICogaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTM1NTEwM1xuICAgICAgICpcbiAgICAgICAqIFRvIGF2b2lkIHRoaXMgaXNzdWUsIHVzZSB0aGUga2V5cHJlc3MgZXZlbnQgYXMgaWYgbm8gYHRleHRJbnB1dGBcbiAgICAgICAqIGV2ZW50IGlzIGF2YWlsYWJsZS5cbiAgICAgICAqL1xuICAgICAgdmFyIHdoaWNoID0gbmF0aXZlRXZlbnQud2hpY2g7XG5cbiAgICAgIGlmICh3aGljaCAhPT0gU1BBQ0VCQVJfQ09ERSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaGFzU3BhY2VLZXlwcmVzcyA9IHRydWU7XG4gICAgICByZXR1cm4gU1BBQ0VCQVJfQ0hBUjtcblxuICAgIGNhc2UgVE9QX1RFWFRfSU5QVVQ6XG4gICAgICAvLyBSZWNvcmQgdGhlIGNoYXJhY3RlcnMgdG8gYmUgYWRkZWQgdG8gdGhlIERPTS5cbiAgICAgIHZhciBjaGFycyA9IG5hdGl2ZUV2ZW50LmRhdGE7IC8vIElmIGl0J3MgYSBzcGFjZWJhciBjaGFyYWN0ZXIsIGFzc3VtZSB0aGF0IHdlIGhhdmUgYWxyZWFkeSBoYW5kbGVkXG4gICAgICAvLyBpdCBhdCB0aGUga2V5cHJlc3MgbGV2ZWwgYW5kIGJhaWwgaW1tZWRpYXRlbHkuIEFuZHJvaWQgQ2hyb21lXG4gICAgICAvLyBkb2Vzbid0IGdpdmUgdXMga2V5Y29kZXMsIHNvIHdlIG5lZWQgdG8gaWdub3JlIGl0LlxuXG4gICAgICBpZiAoY2hhcnMgPT09IFNQQUNFQkFSX0NIQVIgJiYgaGFzU3BhY2VLZXlwcmVzcykge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNoYXJzO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIEZvciBvdGhlciBuYXRpdmUgZXZlbnQgdHlwZXMsIGRvIG5vdGhpbmcuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBGb3IgYnJvd3NlcnMgdGhhdCBkbyBub3QgcHJvdmlkZSB0aGUgYHRleHRJbnB1dGAgZXZlbnQsIGV4dHJhY3QgdGhlXG4gKiBhcHByb3ByaWF0ZSBzdHJpbmcgdG8gdXNlIGZvciBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSB0b3BMZXZlbFR5cGUgTnVtYmVyIGZyb20gYFRvcExldmVsRXZlbnRUeXBlc2AuXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnQgTmF0aXZlIGJyb3dzZXIgZXZlbnQuXG4gKiBAcmV0dXJuIHs/c3RyaW5nfSBUaGUgZmFsbGJhY2sgc3RyaW5nIGZvciB0aGlzIGBiZWZvcmVJbnB1dGAgZXZlbnQuXG4gKi9cblxuXG5mdW5jdGlvbiBnZXRGYWxsYmFja0JlZm9yZUlucHV0Q2hhcnModG9wTGV2ZWxUeXBlLCBuYXRpdmVFdmVudCkge1xuICAvLyBJZiB3ZSBhcmUgY3VycmVudGx5IGNvbXBvc2luZyAoSU1FKSBhbmQgdXNpbmcgYSBmYWxsYmFjayB0byBkbyBzbyxcbiAgLy8gdHJ5IHRvIGV4dHJhY3QgdGhlIGNvbXBvc2VkIGNoYXJhY3RlcnMgZnJvbSB0aGUgZmFsbGJhY2sgb2JqZWN0LlxuICAvLyBJZiBjb21wb3NpdGlvbiBldmVudCBpcyBhdmFpbGFibGUsIHdlIGV4dHJhY3QgYSBzdHJpbmcgb25seSBhdFxuICAvLyBjb21wb3NpdGlvbmV2ZW50LCBvdGhlcndpc2UgZXh0cmFjdCBpdCBhdCBmYWxsYmFjayBldmVudHMuXG4gIGlmIChpc0NvbXBvc2luZykge1xuICAgIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9DT01QT1NJVElPTl9FTkQgfHwgIWNhblVzZUNvbXBvc2l0aW9uRXZlbnQgJiYgaXNGYWxsYmFja0NvbXBvc2l0aW9uRW5kKHRvcExldmVsVHlwZSwgbmF0aXZlRXZlbnQpKSB7XG4gICAgICB2YXIgY2hhcnMgPSBnZXREYXRhKCk7XG4gICAgICByZXNldCgpO1xuICAgICAgaXNDb21wb3NpbmcgPSBmYWxzZTtcbiAgICAgIHJldHVybiBjaGFycztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XG4gICAgY2FzZSBUT1BfUEFTVEU6XG4gICAgICAvLyBJZiBhIHBhc3RlIGV2ZW50IG9jY3VycyBhZnRlciBhIGtleXByZXNzLCB0aHJvdyBvdXQgdGhlIGlucHV0XG4gICAgICAvLyBjaGFycy4gUGFzdGUgZXZlbnRzIHNob3VsZCBub3QgbGVhZCB0byBCZWZvcmVJbnB1dCBldmVudHMuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgVE9QX0tFWV9QUkVTUzpcbiAgICAgIC8qKlxuICAgICAgICogQXMgb2YgdjI3LCBGaXJlZm94IG1heSBmaXJlIGtleXByZXNzIGV2ZW50cyBldmVuIHdoZW4gbm8gY2hhcmFjdGVyXG4gICAgICAgKiB3aWxsIGJlIGluc2VydGVkLiBBIGZldyBwb3NzaWJpbGl0aWVzOlxuICAgICAgICpcbiAgICAgICAqIC0gYHdoaWNoYCBpcyBgMGAuIEFycm93IGtleXMsIEVzYyBrZXksIGV0Yy5cbiAgICAgICAqXG4gICAgICAgKiAtIGB3aGljaGAgaXMgdGhlIHByZXNzZWQga2V5IGNvZGUsIGJ1dCBubyBjaGFyIGlzIGF2YWlsYWJsZS5cbiAgICAgICAqICAgRXg6ICdBbHRHciArIGRgIGluIFBvbGlzaC4gVGhlcmUgaXMgbm8gbW9kaWZpZWQgY2hhcmFjdGVyIGZvclxuICAgICAgICogICB0aGlzIGtleSBjb21iaW5hdGlvbiBhbmQgbm8gY2hhcmFjdGVyIGlzIGluc2VydGVkIGludG8gdGhlXG4gICAgICAgKiAgIGRvY3VtZW50LCBidXQgRkYgZmlyZXMgdGhlIGtleXByZXNzIGZvciBjaGFyIGNvZGUgYDEwMGAgYW55d2F5LlxuICAgICAgICogICBObyBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKlxuICAgICAgICogLSBgd2hpY2hgIGlzIHRoZSBwcmVzc2VkIGtleSBjb2RlLCBidXQgYSBjb21tYW5kIGNvbWJpbmF0aW9uIGlzXG4gICAgICAgKiAgIGJlaW5nIHVzZWQuIEV4OiBgQ21kK0NgLiBObyBjaGFyYWN0ZXIgaXMgaW5zZXJ0ZWQsIGFuZCBub1xuICAgICAgICogICBgaW5wdXRgIGV2ZW50IHdpbGwgb2NjdXIuXG4gICAgICAgKi9cbiAgICAgIGlmICghaXNLZXlwcmVzc0NvbW1hbmQobmF0aXZlRXZlbnQpKSB7XG4gICAgICAgIC8vIElFIGZpcmVzIHRoZSBga2V5cHJlc3NgIGV2ZW50IHdoZW4gYSB1c2VyIHR5cGVzIGFuIGVtb2ppIHZpYVxuICAgICAgICAvLyBUb3VjaCBrZXlib2FyZCBvZiBXaW5kb3dzLiAgSW4gc3VjaCBhIGNhc2UsIHRoZSBgY2hhcmAgcHJvcGVydHlcbiAgICAgICAgLy8gaG9sZHMgYW4gZW1vamkgY2hhcmFjdGVyIGxpa2UgYFxcdUQ4M0RcXHVERTBBYC4gIEJlY2F1c2UgaXRzIGxlbmd0aFxuICAgICAgICAvLyBpcyAyLCB0aGUgcHJvcGVydHkgYHdoaWNoYCBkb2VzIG5vdCByZXByZXNlbnQgYW4gZW1vamkgY29ycmVjdGx5LlxuICAgICAgICAvLyBJbiBzdWNoIGEgY2FzZSwgd2UgZGlyZWN0bHkgcmV0dXJuIHRoZSBgY2hhcmAgcHJvcGVydHkgaW5zdGVhZCBvZlxuICAgICAgICAvLyB1c2luZyBgd2hpY2hgLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuY2hhciAmJiBuYXRpdmVFdmVudC5jaGFyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgICByZXR1cm4gbmF0aXZlRXZlbnQuY2hhcjtcbiAgICAgICAgfSBlbHNlIGlmIChuYXRpdmVFdmVudC53aGljaCkge1xuICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKG5hdGl2ZUV2ZW50LndoaWNoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgVE9QX0NPTVBPU0lUSU9OX0VORDpcbiAgICAgIHJldHVybiB1c2VGYWxsYmFja0NvbXBvc2l0aW9uRGF0YSAmJiAhaXNVc2luZ0tvcmVhbklNRShuYXRpdmVFdmVudCkgPyBudWxsIDogbmF0aXZlRXZlbnQuZGF0YTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuLyoqXG4gKiBFeHRyYWN0IGEgU3ludGhldGljSW5wdXRFdmVudCBmb3IgYGJlZm9yZUlucHV0YCwgYmFzZWQgb24gZWl0aGVyIG5hdGl2ZVxuICogYHRleHRJbnB1dGAgb3IgZmFsbGJhY2sgYmVoYXZpb3IuXG4gKlxuICogQHJldHVybiB7P29iamVjdH0gQSBTeW50aGV0aWNJbnB1dEV2ZW50LlxuICovXG5cblxuZnVuY3Rpb24gZXh0cmFjdEJlZm9yZUlucHV0RXZlbnQodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpIHtcbiAgdmFyIGNoYXJzO1xuXG4gIGlmIChjYW5Vc2VUZXh0SW5wdXRFdmVudCkge1xuICAgIGNoYXJzID0gZ2V0TmF0aXZlQmVmb3JlSW5wdXRDaGFycyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcbiAgfSBlbHNlIHtcbiAgICBjaGFycyA9IGdldEZhbGxiYWNrQmVmb3JlSW5wdXRDaGFycyh0b3BMZXZlbFR5cGUsIG5hdGl2ZUV2ZW50KTtcbiAgfSAvLyBJZiBubyBjaGFyYWN0ZXJzIGFyZSBiZWluZyBpbnNlcnRlZCwgbm8gQmVmb3JlSW5wdXQgZXZlbnQgc2hvdWxkXG4gIC8vIGJlIGZpcmVkLlxuXG5cbiAgaWYgKCFjaGFycykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIGV2ZW50ID0gU3ludGhldGljSW5wdXRFdmVudC5nZXRQb29sZWQoZXZlbnRUeXBlcy5iZWZvcmVJbnB1dCwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgZXZlbnQuZGF0YSA9IGNoYXJzO1xuICBhY2N1bXVsYXRlVHdvUGhhc2VEaXNwYXRjaGVzKGV2ZW50KTtcbiAgcmV0dXJuIGV2ZW50O1xufVxuLyoqXG4gKiBDcmVhdGUgYW4gYG9uQmVmb3JlSW5wdXRgIGV2ZW50IHRvIG1hdGNoXG4gKiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL1dELURPTS1MZXZlbC0zLUV2ZW50cy0yMDEzMTEwNS8jZXZlbnRzLWlucHV0ZXZlbnRzLlxuICpcbiAqIFRoaXMgZXZlbnQgcGx1Z2luIGlzIGJhc2VkIG9uIHRoZSBuYXRpdmUgYHRleHRJbnB1dGAgZXZlbnRcbiAqIGF2YWlsYWJsZSBpbiBDaHJvbWUsIFNhZmFyaSwgT3BlcmEsIGFuZCBJRS4gVGhpcyBldmVudCBmaXJlcyBhZnRlclxuICogYG9uS2V5UHJlc3NgIGFuZCBgb25Db21wb3NpdGlvbkVuZGAsIGJ1dCBiZWZvcmUgYG9uSW5wdXRgLlxuICpcbiAqIGBiZWZvcmVJbnB1dGAgaXMgc3BlYydkIGJ1dCBub3QgaW1wbGVtZW50ZWQgaW4gYW55IGJyb3dzZXJzLCBhbmRcbiAqIHRoZSBgaW5wdXRgIGV2ZW50IGRvZXMgbm90IHByb3ZpZGUgYW55IHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB3aGF0IGhhc1xuICogYWN0dWFsbHkgYmVlbiBhZGRlZCwgY29udHJhcnkgdG8gdGhlIHNwZWMuIFRodXMsIGB0ZXh0SW5wdXRgIGlzIHRoZSBiZXN0XG4gKiBhdmFpbGFibGUgZXZlbnQgdG8gaWRlbnRpZnkgdGhlIGNoYXJhY3RlcnMgdGhhdCBoYXZlIGFjdHVhbGx5IGJlZW4gaW5zZXJ0ZWRcbiAqIGludG8gdGhlIHRhcmdldCBub2RlLlxuICpcbiAqIFRoaXMgcGx1Z2luIGlzIGFsc28gcmVzcG9uc2libGUgZm9yIGVtaXR0aW5nIGBjb21wb3NpdGlvbmAgZXZlbnRzLCB0aHVzXG4gKiBhbGxvd2luZyB1cyB0byBzaGFyZSBjb21wb3NpdGlvbiBmYWxsYmFjayBjb2RlIGZvciBib3RoIGBiZWZvcmVJbnB1dGAgYW5kXG4gKiBgY29tcG9zaXRpb25gIGV2ZW50IHR5cGVzLlxuICovXG5cblxudmFyIEJlZm9yZUlucHV0RXZlbnRQbHVnaW4gPSB7XG4gIGV2ZW50VHlwZXM6IGV2ZW50VHlwZXMsXG4gIGV4dHJhY3RFdmVudHM6IGZ1bmN0aW9uICh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCwgZXZlbnRTeXN0ZW1GbGFncykge1xuICAgIHZhciBjb21wb3NpdGlvbiA9IGV4dHJhY3RDb21wb3NpdGlvbkV2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICB2YXIgYmVmb3JlSW5wdXQgPSBleHRyYWN0QmVmb3JlSW5wdXRFdmVudCh0b3BMZXZlbFR5cGUsIHRhcmdldEluc3QsIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgICBpZiAoY29tcG9zaXRpb24gPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBiZWZvcmVJbnB1dDtcbiAgICB9XG5cbiAgICBpZiAoYmVmb3JlSW5wdXQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBjb21wb3NpdGlvbjtcbiAgICB9XG5cbiAgICByZXR1cm4gW2NvbXBvc2l0aW9uLCBiZWZvcmVJbnB1dF07XG4gIH1cbn07XG5cbi8qKlxuICogQHNlZSBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90aGUtaW5wdXQtZWxlbWVudC5odG1sI2lucHV0LXR5cGUtYXR0ci1zdW1tYXJ5XG4gKi9cbnZhciBzdXBwb3J0ZWRJbnB1dFR5cGVzID0ge1xuICBjb2xvcjogdHJ1ZSxcbiAgZGF0ZTogdHJ1ZSxcbiAgZGF0ZXRpbWU6IHRydWUsXG4gICdkYXRldGltZS1sb2NhbCc6IHRydWUsXG4gIGVtYWlsOiB0cnVlLFxuICBtb250aDogdHJ1ZSxcbiAgbnVtYmVyOiB0cnVlLFxuICBwYXNzd29yZDogdHJ1ZSxcbiAgcmFuZ2U6IHRydWUsXG4gIHNlYXJjaDogdHJ1ZSxcbiAgdGVsOiB0cnVlLFxuICB0ZXh0OiB0cnVlLFxuICB0aW1lOiB0cnVlLFxuICB1cmw6IHRydWUsXG4gIHdlZWs6IHRydWVcbn07XG5cbmZ1bmN0aW9uIGlzVGV4dElucHV0RWxlbWVudChlbGVtKSB7XG4gIHZhciBub2RlTmFtZSA9IGVsZW0gJiYgZWxlbS5ub2RlTmFtZSAmJiBlbGVtLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgaWYgKG5vZGVOYW1lID09PSAnaW5wdXQnKSB7XG4gICAgcmV0dXJuICEhc3VwcG9ydGVkSW5wdXRUeXBlc1tlbGVtLnR5cGVdO1xuICB9XG5cbiAgaWYgKG5vZGVOYW1lID09PSAndGV4dGFyZWEnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbnZhciBldmVudFR5cGVzJDEgPSB7XG4gIGNoYW5nZToge1xuICAgIHBoYXNlZFJlZ2lzdHJhdGlvbk5hbWVzOiB7XG4gICAgICBidWJibGVkOiAnb25DaGFuZ2UnLFxuICAgICAgY2FwdHVyZWQ6ICdvbkNoYW5nZUNhcHR1cmUnXG4gICAgfSxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfQkxVUiwgVE9QX0NIQU5HRSwgVE9QX0NMSUNLLCBUT1BfRk9DVVMsIFRPUF9JTlBVVCwgVE9QX0tFWV9ET1dOLCBUT1BfS0VZX1VQLCBUT1BfU0VMRUNUSU9OX0NIQU5HRV1cbiAgfVxufTtcblxuZnVuY3Rpb24gY3JlYXRlQW5kQWNjdW11bGF0ZUNoYW5nZUV2ZW50KGluc3QsIG5hdGl2ZUV2ZW50LCB0YXJnZXQpIHtcbiAgdmFyIGV2ZW50ID0gU3ludGhldGljRXZlbnQuZ2V0UG9vbGVkKGV2ZW50VHlwZXMkMS5jaGFuZ2UsIGluc3QsIG5hdGl2ZUV2ZW50LCB0YXJnZXQpO1xuICBldmVudC50eXBlID0gJ2NoYW5nZSc7IC8vIEZsYWcgdGhpcyBldmVudCBsb29wIGFzIG5lZWRpbmcgc3RhdGUgcmVzdG9yZS5cblxuICBlbnF1ZXVlU3RhdGVSZXN0b3JlKHRhcmdldCk7XG4gIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMoZXZlbnQpO1xuICByZXR1cm4gZXZlbnQ7XG59XG4vKipcbiAqIEZvciBJRSBzaGltc1xuICovXG5cblxudmFyIGFjdGl2ZUVsZW1lbnQgPSBudWxsO1xudmFyIGFjdGl2ZUVsZW1lbnRJbnN0ID0gbnVsbDtcbi8qKlxuICogU0VDVElPTjogaGFuZGxlIGBjaGFuZ2VgIGV2ZW50XG4gKi9cblxuZnVuY3Rpb24gc2hvdWxkVXNlQ2hhbmdlRXZlbnQoZWxlbSkge1xuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lICYmIGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIG5vZGVOYW1lID09PSAnc2VsZWN0JyB8fCBub2RlTmFtZSA9PT0gJ2lucHV0JyAmJiBlbGVtLnR5cGUgPT09ICdmaWxlJztcbn1cblxuZnVuY3Rpb24gbWFudWFsRGlzcGF0Y2hDaGFuZ2VFdmVudChuYXRpdmVFdmVudCkge1xuICB2YXIgZXZlbnQgPSBjcmVhdGVBbmRBY2N1bXVsYXRlQ2hhbmdlRXZlbnQoYWN0aXZlRWxlbWVudEluc3QsIG5hdGl2ZUV2ZW50LCBnZXRFdmVudFRhcmdldChuYXRpdmVFdmVudCkpOyAvLyBJZiBjaGFuZ2UgYW5kIHByb3BlcnR5Y2hhbmdlIGJ1YmJsZWQsIHdlJ2QganVzdCBiaW5kIHRvIGl0IGxpa2UgYWxsIHRoZVxuICAvLyBvdGhlciBldmVudHMgYW5kIGhhdmUgaXQgZ28gdGhyb3VnaCBSZWFjdEJyb3dzZXJFdmVudEVtaXR0ZXIuIFNpbmNlIGl0XG4gIC8vIGRvZXNuJ3QsIHdlIG1hbnVhbGx5IGxpc3RlbiBmb3IgdGhlIGV2ZW50cyBhbmQgc28gd2UgaGF2ZSB0byBlbnF1ZXVlIGFuZFxuICAvLyBwcm9jZXNzIHRoZSBhYnN0cmFjdCBldmVudCBtYW51YWxseS5cbiAgLy9cbiAgLy8gQmF0Y2hpbmcgaXMgbmVjZXNzYXJ5IGhlcmUgaW4gb3JkZXIgdG8gZW5zdXJlIHRoYXQgYWxsIGV2ZW50IGhhbmRsZXJzIHJ1blxuICAvLyBiZWZvcmUgdGhlIG5leHQgcmVyZW5kZXIgKGluY2x1ZGluZyBldmVudCBoYW5kbGVycyBhdHRhY2hlZCB0byBhbmNlc3RvclxuICAvLyBlbGVtZW50cyBpbnN0ZWFkIG9mIGRpcmVjdGx5IG9uIHRoZSBpbnB1dCkuIFdpdGhvdXQgdGhpcywgY29udHJvbGxlZFxuICAvLyBjb21wb25lbnRzIGRvbid0IHdvcmsgcHJvcGVybHkgaW4gY29uanVuY3Rpb24gd2l0aCBldmVudCBidWJibGluZyBiZWNhdXNlXG4gIC8vIHRoZSBjb21wb25lbnQgaXMgcmVyZW5kZXJlZCBhbmQgdGhlIHZhbHVlIHJldmVydGVkIGJlZm9yZSBhbGwgdGhlIGV2ZW50XG4gIC8vIGhhbmRsZXJzIGNhbiBydW4uIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzcwOC5cblxuICBiYXRjaGVkVXBkYXRlcyhydW5FdmVudEluQmF0Y2gsIGV2ZW50KTtcbn1cblxuZnVuY3Rpb24gcnVuRXZlbnRJbkJhdGNoKGV2ZW50KSB7XG4gIHJ1bkV2ZW50c0luQmF0Y2goZXZlbnQpO1xufVxuXG5mdW5jdGlvbiBnZXRJbnN0SWZWYWx1ZUNoYW5nZWQodGFyZ2V0SW5zdCkge1xuICB2YXIgdGFyZ2V0Tm9kZSA9IGdldE5vZGVGcm9tSW5zdGFuY2UkMSh0YXJnZXRJbnN0KTtcblxuICBpZiAodXBkYXRlVmFsdWVJZkNoYW5nZWQodGFyZ2V0Tm9kZSkpIHtcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9yQ2hhbmdlRXZlbnQodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0KSB7XG4gIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9DSEFOR0UpIHtcbiAgICByZXR1cm4gdGFyZ2V0SW5zdDtcbiAgfVxufVxuLyoqXG4gKiBTRUNUSU9OOiBoYW5kbGUgYGlucHV0YCBldmVudFxuICovXG5cblxudmFyIGlzSW5wdXRFdmVudFN1cHBvcnRlZCA9IGZhbHNlO1xuXG5pZiAoY2FuVXNlRE9NKSB7XG4gIC8vIElFOSBjbGFpbXMgdG8gc3VwcG9ydCB0aGUgaW5wdXQgZXZlbnQgYnV0IGZhaWxzIHRvIHRyaWdnZXIgaXQgd2hlblxuICAvLyBkZWxldGluZyB0ZXh0LCBzbyB3ZSBpZ25vcmUgaXRzIGlucHV0IGV2ZW50cy5cbiAgaXNJbnB1dEV2ZW50U3VwcG9ydGVkID0gaXNFdmVudFN1cHBvcnRlZCgnaW5wdXQnKSAmJiAoIWRvY3VtZW50LmRvY3VtZW50TW9kZSB8fCBkb2N1bWVudC5kb2N1bWVudE1vZGUgPiA5KTtcbn1cbi8qKlxuICogKEZvciBJRSA8PTkpIFN0YXJ0cyB0cmFja2luZyBwcm9wZXJ0eWNoYW5nZSBldmVudHMgb24gdGhlIHBhc3NlZC1pbiBlbGVtZW50XG4gKiBhbmQgb3ZlcnJpZGUgdGhlIHZhbHVlIHByb3BlcnR5IHNvIHRoYXQgd2UgY2FuIGRpc3Rpbmd1aXNoIHVzZXIgZXZlbnRzIGZyb21cbiAqIHZhbHVlIGNoYW5nZXMgaW4gSlMuXG4gKi9cblxuXG5mdW5jdGlvbiBzdGFydFdhdGNoaW5nRm9yVmFsdWVDaGFuZ2UodGFyZ2V0LCB0YXJnZXRJbnN0KSB7XG4gIGFjdGl2ZUVsZW1lbnQgPSB0YXJnZXQ7XG4gIGFjdGl2ZUVsZW1lbnRJbnN0ID0gdGFyZ2V0SW5zdDtcbiAgYWN0aXZlRWxlbWVudC5hdHRhY2hFdmVudCgnb25wcm9wZXJ0eWNoYW5nZScsIGhhbmRsZVByb3BlcnR5Q2hhbmdlKTtcbn1cbi8qKlxuICogKEZvciBJRSA8PTkpIFJlbW92ZXMgdGhlIGV2ZW50IGxpc3RlbmVycyBmcm9tIHRoZSBjdXJyZW50bHktdHJhY2tlZCBlbGVtZW50LFxuICogaWYgYW55IGV4aXN0cy5cbiAqL1xuXG5cbmZ1bmN0aW9uIHN0b3BXYXRjaGluZ0ZvclZhbHVlQ2hhbmdlKCkge1xuICBpZiAoIWFjdGl2ZUVsZW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBhY3RpdmVFbGVtZW50LmRldGFjaEV2ZW50KCdvbnByb3BlcnR5Y2hhbmdlJywgaGFuZGxlUHJvcGVydHlDaGFuZ2UpO1xuICBhY3RpdmVFbGVtZW50ID0gbnVsbDtcbiAgYWN0aXZlRWxlbWVudEluc3QgPSBudWxsO1xufVxuLyoqXG4gKiAoRm9yIElFIDw9OSkgSGFuZGxlcyBhIHByb3BlcnR5Y2hhbmdlIGV2ZW50LCBzZW5kaW5nIGEgYGNoYW5nZWAgZXZlbnQgaWZcbiAqIHRoZSB2YWx1ZSBvZiB0aGUgYWN0aXZlIGVsZW1lbnQgaGFzIGNoYW5nZWQuXG4gKi9cblxuXG5mdW5jdGlvbiBoYW5kbGVQcm9wZXJ0eUNoYW5nZShuYXRpdmVFdmVudCkge1xuICBpZiAobmF0aXZlRXZlbnQucHJvcGVydHlOYW1lICE9PSAndmFsdWUnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGdldEluc3RJZlZhbHVlQ2hhbmdlZChhY3RpdmVFbGVtZW50SW5zdCkpIHtcbiAgICBtYW51YWxEaXNwYXRjaENoYW5nZUV2ZW50KG5hdGl2ZUV2ZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVFdmVudHNGb3JJbnB1dEV2ZW50UG9seWZpbGwodG9wTGV2ZWxUeXBlLCB0YXJnZXQsIHRhcmdldEluc3QpIHtcbiAgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0ZPQ1VTKSB7XG4gICAgLy8gSW4gSUU5LCBwcm9wZXJ0eWNoYW5nZSBmaXJlcyBmb3IgbW9zdCBpbnB1dCBldmVudHMgYnV0IGlzIGJ1Z2d5IGFuZFxuICAgIC8vIGRvZXNuJ3QgZmlyZSB3aGVuIHRleHQgaXMgZGVsZXRlZCwgYnV0IGNvbnZlbmllbnRseSwgc2VsZWN0aW9uY2hhbmdlXG4gICAgLy8gYXBwZWFycyB0byBmaXJlIGluIGFsbCBvZiB0aGUgcmVtYWluaW5nIGNhc2VzIHNvIHdlIGNhdGNoIHRob3NlIGFuZFxuICAgIC8vIGZvcndhcmQgdGhlIGV2ZW50IGlmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZFxuICAgIC8vIEluIGVpdGhlciBjYXNlLCB3ZSBkb24ndCB3YW50IHRvIGNhbGwgdGhlIGV2ZW50IGhhbmRsZXIgaWYgdGhlIHZhbHVlXG4gICAgLy8gaXMgY2hhbmdlZCBmcm9tIEpTIHNvIHdlIHJlZGVmaW5lIGEgc2V0dGVyIGZvciBgLnZhbHVlYCB0aGF0IHVwZGF0ZXNcbiAgICAvLyBvdXIgYWN0aXZlRWxlbWVudFZhbHVlIHZhcmlhYmxlLCBhbGxvd2luZyB1cyB0byBpZ25vcmUgdGhvc2UgY2hhbmdlc1xuICAgIC8vXG4gICAgLy8gc3RvcFdhdGNoaW5nKCkgc2hvdWxkIGJlIGEgbm9vcCBoZXJlIGJ1dCB3ZSBjYWxsIGl0IGp1c3QgaW4gY2FzZSB3ZVxuICAgIC8vIG1pc3NlZCBhIGJsdXIgZXZlbnQgc29tZWhvdy5cbiAgICBzdG9wV2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSgpO1xuICAgIHN0YXJ0V2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSh0YXJnZXQsIHRhcmdldEluc3QpO1xuICB9IGVsc2UgaWYgKHRvcExldmVsVHlwZSA9PT0gVE9QX0JMVVIpIHtcbiAgICBzdG9wV2F0Y2hpbmdGb3JWYWx1ZUNoYW5nZSgpO1xuICB9XG59IC8vIEZvciBJRTggYW5kIElFOS5cblxuXG5mdW5jdGlvbiBnZXRUYXJnZXRJbnN0Rm9ySW5wdXRFdmVudFBvbHlmaWxsKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfU0VMRUNUSU9OX0NIQU5HRSB8fCB0b3BMZXZlbFR5cGUgPT09IFRPUF9LRVlfVVAgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfS0VZX0RPV04pIHtcbiAgICAvLyBPbiB0aGUgc2VsZWN0aW9uY2hhbmdlIGV2ZW50LCB0aGUgdGFyZ2V0IGlzIGp1c3QgZG9jdW1lbnQgd2hpY2ggaXNuJ3RcbiAgICAvLyBoZWxwZnVsIGZvciB1cyBzbyBqdXN0IGNoZWNrIGFjdGl2ZUVsZW1lbnQgaW5zdGVhZC5cbiAgICAvL1xuICAgIC8vIDk5JSBvZiB0aGUgdGltZSwga2V5ZG93biBhbmQga2V5dXAgYXJlbid0IG5lY2Vzc2FyeS4gSUU4IGZhaWxzIHRvIGZpcmVcbiAgICAvLyBwcm9wZXJ0eWNoYW5nZSBvbiB0aGUgZmlyc3QgaW5wdXQgZXZlbnQgYWZ0ZXIgc2V0dGluZyBgdmFsdWVgIGZyb20gYVxuICAgIC8vIHNjcmlwdCBhbmQgZmlyZXMgb25seSBrZXlkb3duLCBrZXlwcmVzcywga2V5dXAuIENhdGNoaW5nIGtleXVwIHVzdWFsbHlcbiAgICAvLyBnZXRzIGl0IGFuZCBjYXRjaGluZyBrZXlkb3duIGxldHMgdXMgZmlyZSBhbiBldmVudCBmb3IgdGhlIGZpcnN0XG4gICAgLy8ga2V5c3Ryb2tlIGlmIHVzZXIgZG9lcyBhIGtleSByZXBlYXQgKGl0J2xsIGJlIGEgbGl0dGxlIGRlbGF5ZWQ6IHJpZ2h0XG4gICAgLy8gYmVmb3JlIHRoZSBzZWNvbmQga2V5c3Ryb2tlKS4gT3RoZXIgaW5wdXQgbWV0aG9kcyAoZS5nLiwgcGFzdGUpIHNlZW0gdG9cbiAgICAvLyBmaXJlIHNlbGVjdGlvbmNoYW5nZSBub3JtYWxseS5cbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKGFjdGl2ZUVsZW1lbnRJbnN0KTtcbiAgfVxufVxuLyoqXG4gKiBTRUNUSU9OOiBoYW5kbGUgYGNsaWNrYCBldmVudFxuICovXG5cblxuZnVuY3Rpb24gc2hvdWxkVXNlQ2xpY2tFdmVudChlbGVtKSB7XG4gIC8vIFVzZSB0aGUgYGNsaWNrYCBldmVudCB0byBkZXRlY3QgY2hhbmdlcyB0byBjaGVja2JveCBhbmQgcmFkaW8gaW5wdXRzLlxuICAvLyBUaGlzIGFwcHJvYWNoIHdvcmtzIGFjcm9zcyBhbGwgYnJvd3NlcnMsIHdoZXJlYXMgYGNoYW5nZWAgZG9lcyBub3QgZmlyZVxuICAvLyB1bnRpbCBgYmx1cmAgaW4gSUU4LlxuICB2YXIgbm9kZU5hbWUgPSBlbGVtLm5vZGVOYW1lO1xuICByZXR1cm4gbm9kZU5hbWUgJiYgbm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2lucHV0JyAmJiAoZWxlbS50eXBlID09PSAnY2hlY2tib3gnIHx8IGVsZW0udHlwZSA9PT0gJ3JhZGlvJyk7XG59XG5cbmZ1bmN0aW9uIGdldFRhcmdldEluc3RGb3JDbGlja0V2ZW50KHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCkge1xuICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfQ0xJQ0spIHtcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKHRhcmdldEluc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldFRhcmdldEluc3RGb3JJbnB1dE9yQ2hhbmdlRXZlbnQodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0KSB7XG4gIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9JTlBVVCB8fCB0b3BMZXZlbFR5cGUgPT09IFRPUF9DSEFOR0UpIHtcbiAgICByZXR1cm4gZ2V0SW5zdElmVmFsdWVDaGFuZ2VkKHRhcmdldEluc3QpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUNvbnRyb2xsZWRJbnB1dEJsdXIobm9kZSkge1xuICB2YXIgc3RhdGUgPSBub2RlLl93cmFwcGVyU3RhdGU7XG5cbiAgaWYgKCFzdGF0ZSB8fCAhc3RhdGUuY29udHJvbGxlZCB8fCBub2RlLnR5cGUgIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAge1xuICAgIC8vIElmIGNvbnRyb2xsZWQsIGFzc2lnbiB0aGUgdmFsdWUgYXR0cmlidXRlIHRvIHRoZSBjdXJyZW50IHZhbHVlIG9uIGJsdXJcbiAgICBzZXREZWZhdWx0VmFsdWUobm9kZSwgJ251bWJlcicsIG5vZGUudmFsdWUpO1xuICB9XG59XG4vKipcbiAqIFRoaXMgcGx1Z2luIGNyZWF0ZXMgYW4gYG9uQ2hhbmdlYCBldmVudCB0aGF0IG5vcm1hbGl6ZXMgY2hhbmdlIGV2ZW50c1xuICogYWNyb3NzIGZvcm0gZWxlbWVudHMuIFRoaXMgZXZlbnQgZmlyZXMgYXQgYSB0aW1lIHdoZW4gaXQncyBwb3NzaWJsZSB0b1xuICogY2hhbmdlIHRoZSBlbGVtZW50J3MgdmFsdWUgd2l0aG91dCBzZWVpbmcgYSBmbGlja2VyLlxuICpcbiAqIFN1cHBvcnRlZCBlbGVtZW50cyBhcmU6XG4gKiAtIGlucHV0IChzZWUgYGlzVGV4dElucHV0RWxlbWVudGApXG4gKiAtIHRleHRhcmVhXG4gKiAtIHNlbGVjdFxuICovXG5cblxudmFyIENoYW5nZUV2ZW50UGx1Z2luID0ge1xuICBldmVudFR5cGVzOiBldmVudFR5cGVzJDEsXG4gIF9pc0lucHV0RXZlbnRTdXBwb3J0ZWQ6IGlzSW5wdXRFdmVudFN1cHBvcnRlZCxcbiAgZXh0cmFjdEV2ZW50czogZnVuY3Rpb24gKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzKSB7XG4gICAgdmFyIHRhcmdldE5vZGUgPSB0YXJnZXRJbnN0ID8gZ2V0Tm9kZUZyb21JbnN0YW5jZSQxKHRhcmdldEluc3QpIDogd2luZG93O1xuICAgIHZhciBnZXRUYXJnZXRJbnN0RnVuYywgaGFuZGxlRXZlbnRGdW5jO1xuXG4gICAgaWYgKHNob3VsZFVzZUNoYW5nZUV2ZW50KHRhcmdldE5vZGUpKSB7XG4gICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JDaGFuZ2VFdmVudDtcbiAgICB9IGVsc2UgaWYgKGlzVGV4dElucHV0RWxlbWVudCh0YXJnZXROb2RlKSkge1xuICAgICAgaWYgKGlzSW5wdXRFdmVudFN1cHBvcnRlZCkge1xuICAgICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JJbnB1dE9yQ2hhbmdlRXZlbnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBnZXRUYXJnZXRJbnN0RnVuYyA9IGdldFRhcmdldEluc3RGb3JJbnB1dEV2ZW50UG9seWZpbGw7XG4gICAgICAgIGhhbmRsZUV2ZW50RnVuYyA9IGhhbmRsZUV2ZW50c0ZvcklucHV0RXZlbnRQb2x5ZmlsbDtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHNob3VsZFVzZUNsaWNrRXZlbnQodGFyZ2V0Tm9kZSkpIHtcbiAgICAgIGdldFRhcmdldEluc3RGdW5jID0gZ2V0VGFyZ2V0SW5zdEZvckNsaWNrRXZlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGdldFRhcmdldEluc3RGdW5jKSB7XG4gICAgICB2YXIgaW5zdCA9IGdldFRhcmdldEluc3RGdW5jKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCk7XG5cbiAgICAgIGlmIChpbnN0KSB7XG4gICAgICAgIHZhciBldmVudCA9IGNyZWF0ZUFuZEFjY3VtdWxhdGVDaGFuZ2VFdmVudChpbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgICAgICByZXR1cm4gZXZlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGhhbmRsZUV2ZW50RnVuYykge1xuICAgICAgaGFuZGxlRXZlbnRGdW5jKHRvcExldmVsVHlwZSwgdGFyZ2V0Tm9kZSwgdGFyZ2V0SW5zdCk7XG4gICAgfSAvLyBXaGVuIGJsdXJyaW5nLCBzZXQgdGhlIHZhbHVlIGF0dHJpYnV0ZSBmb3IgbnVtYmVyIGlucHV0c1xuXG5cbiAgICBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfQkxVUikge1xuICAgICAgaGFuZGxlQ29udHJvbGxlZElucHV0Qmx1cih0YXJnZXROb2RlKTtcbiAgICB9XG4gIH1cbn07XG5cbnZhciBTeW50aGV0aWNVSUV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcbiAgdmlldzogbnVsbCxcbiAgZGV0YWlsOiBudWxsXG59KTtcblxuLyoqXG4gKiBUcmFuc2xhdGlvbiBmcm9tIG1vZGlmaWVyIGtleSB0byB0aGUgYXNzb2NpYXRlZCBwcm9wZXJ0eSBpbiB0aGUgZXZlbnQuXG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy8ja2V5cy1Nb2RpZmllcnNcbiAqL1xudmFyIG1vZGlmaWVyS2V5VG9Qcm9wID0ge1xuICBBbHQ6ICdhbHRLZXknLFxuICBDb250cm9sOiAnY3RybEtleScsXG4gIE1ldGE6ICdtZXRhS2V5JyxcbiAgU2hpZnQ6ICdzaGlmdEtleSdcbn07IC8vIE9sZGVyIGJyb3dzZXJzIChTYWZhcmkgPD0gMTAsIGlPUyBTYWZhcmkgPD0gMTAuMikgZG8gbm90IHN1cHBvcnRcbi8vIGdldE1vZGlmaWVyU3RhdGUuIElmIGdldE1vZGlmaWVyU3RhdGUgaXMgbm90IHN1cHBvcnRlZCwgd2UgbWFwIGl0IHRvIGEgc2V0IG9mXG4vLyBtb2RpZmllciBrZXlzIGV4cG9zZWQgYnkgdGhlIGV2ZW50LiBJbiB0aGlzIGNhc2UsIExvY2sta2V5cyBhcmUgbm90IHN1cHBvcnRlZC5cblxuZnVuY3Rpb24gbW9kaWZpZXJTdGF0ZUdldHRlcihrZXlBcmcpIHtcbiAgdmFyIHN5bnRoZXRpY0V2ZW50ID0gdGhpcztcbiAgdmFyIG5hdGl2ZUV2ZW50ID0gc3ludGhldGljRXZlbnQubmF0aXZlRXZlbnQ7XG5cbiAgaWYgKG5hdGl2ZUV2ZW50LmdldE1vZGlmaWVyU3RhdGUpIHtcbiAgICByZXR1cm4gbmF0aXZlRXZlbnQuZ2V0TW9kaWZpZXJTdGF0ZShrZXlBcmcpO1xuICB9XG5cbiAgdmFyIGtleVByb3AgPSBtb2RpZmllcktleVRvUHJvcFtrZXlBcmddO1xuICByZXR1cm4ga2V5UHJvcCA/ICEhbmF0aXZlRXZlbnRba2V5UHJvcF0gOiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0RXZlbnRNb2RpZmllclN0YXRlKG5hdGl2ZUV2ZW50KSB7XG4gIHJldHVybiBtb2RpZmllclN0YXRlR2V0dGVyO1xufVxuXG52YXIgcHJldmlvdXNTY3JlZW5YID0gMDtcbnZhciBwcmV2aW91c1NjcmVlblkgPSAwOyAvLyBVc2UgZmxhZ3MgdG8gc2lnbmFsIG1vdmVtZW50WC9ZIGhhcyBhbHJlYWR5IGJlZW4gc2V0XG5cbnZhciBpc01vdmVtZW50WFNldCA9IGZhbHNlO1xudmFyIGlzTW92ZW1lbnRZU2V0ID0gZmFsc2U7XG4vKipcbiAqIEBpbnRlcmZhY2UgTW91c2VFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFN5bnRoZXRpY01vdXNlRXZlbnQgPSBTeW50aGV0aWNVSUV2ZW50LmV4dGVuZCh7XG4gIHNjcmVlblg6IG51bGwsXG4gIHNjcmVlblk6IG51bGwsXG4gIGNsaWVudFg6IG51bGwsXG4gIGNsaWVudFk6IG51bGwsXG4gIHBhZ2VYOiBudWxsLFxuICBwYWdlWTogbnVsbCxcbiAgY3RybEtleTogbnVsbCxcbiAgc2hpZnRLZXk6IG51bGwsXG4gIGFsdEtleTogbnVsbCxcbiAgbWV0YUtleTogbnVsbCxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlLFxuICBidXR0b246IG51bGwsXG4gIGJ1dHRvbnM6IG51bGwsXG4gIHJlbGF0ZWRUYXJnZXQ6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiBldmVudC5yZWxhdGVkVGFyZ2V0IHx8IChldmVudC5mcm9tRWxlbWVudCA9PT0gZXZlbnQuc3JjRWxlbWVudCA/IGV2ZW50LnRvRWxlbWVudCA6IGV2ZW50LmZyb21FbGVtZW50KTtcbiAgfSxcbiAgbW92ZW1lbnRYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WCcgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFg7XG4gICAgfVxuXG4gICAgdmFyIHNjcmVlblggPSBwcmV2aW91c1NjcmVlblg7XG4gICAgcHJldmlvdXNTY3JlZW5YID0gZXZlbnQuc2NyZWVuWDtcblxuICAgIGlmICghaXNNb3ZlbWVudFhTZXQpIHtcbiAgICAgIGlzTW92ZW1lbnRYU2V0ID0gdHJ1ZTtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiBldmVudC50eXBlID09PSAnbW91c2Vtb3ZlJyA/IGV2ZW50LnNjcmVlblggLSBzY3JlZW5YIDogMDtcbiAgfSxcbiAgbW92ZW1lbnRZOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICBpZiAoJ21vdmVtZW50WScgaW4gZXZlbnQpIHtcbiAgICAgIHJldHVybiBldmVudC5tb3ZlbWVudFk7XG4gICAgfVxuXG4gICAgdmFyIHNjcmVlblkgPSBwcmV2aW91c1NjcmVlblk7XG4gICAgcHJldmlvdXNTY3JlZW5ZID0gZXZlbnQuc2NyZWVuWTtcblxuICAgIGlmICghaXNNb3ZlbWVudFlTZXQpIHtcbiAgICAgIGlzTW92ZW1lbnRZU2V0ID0gdHJ1ZTtcbiAgICAgIHJldHVybiAwO1xuICAgIH1cblxuICAgIHJldHVybiBldmVudC50eXBlID09PSAnbW91c2Vtb3ZlJyA/IGV2ZW50LnNjcmVlblkgLSBzY3JlZW5ZIDogMDtcbiAgfVxufSk7XG5cbi8qKlxuICogQGludGVyZmFjZSBQb2ludGVyRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvcG9pbnRlcmV2ZW50cy9cbiAqL1xuXG52YXIgU3ludGhldGljUG9pbnRlckV2ZW50ID0gU3ludGhldGljTW91c2VFdmVudC5leHRlbmQoe1xuICBwb2ludGVySWQ6IG51bGwsXG4gIHdpZHRoOiBudWxsLFxuICBoZWlnaHQ6IG51bGwsXG4gIHByZXNzdXJlOiBudWxsLFxuICB0YW5nZW50aWFsUHJlc3N1cmU6IG51bGwsXG4gIHRpbHRYOiBudWxsLFxuICB0aWx0WTogbnVsbCxcbiAgdHdpc3Q6IG51bGwsXG4gIHBvaW50ZXJUeXBlOiBudWxsLFxuICBpc1ByaW1hcnk6IG51bGxcbn0pO1xuXG52YXIgZXZlbnRUeXBlcyQyID0ge1xuICBtb3VzZUVudGVyOiB7XG4gICAgcmVnaXN0cmF0aW9uTmFtZTogJ29uTW91c2VFbnRlcicsXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX01PVVNFX09VVCwgVE9QX01PVVNFX09WRVJdXG4gIH0sXG4gIG1vdXNlTGVhdmU6IHtcbiAgICByZWdpc3RyYXRpb25OYW1lOiAnb25Nb3VzZUxlYXZlJyxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfTU9VU0VfT1VULCBUT1BfTU9VU0VfT1ZFUl1cbiAgfSxcbiAgcG9pbnRlckVudGVyOiB7XG4gICAgcmVnaXN0cmF0aW9uTmFtZTogJ29uUG9pbnRlckVudGVyJyxcbiAgICBkZXBlbmRlbmNpZXM6IFtUT1BfUE9JTlRFUl9PVVQsIFRPUF9QT0lOVEVSX09WRVJdXG4gIH0sXG4gIHBvaW50ZXJMZWF2ZToge1xuICAgIHJlZ2lzdHJhdGlvbk5hbWU6ICdvblBvaW50ZXJMZWF2ZScsXG4gICAgZGVwZW5kZW5jaWVzOiBbVE9QX1BPSU5URVJfT1VULCBUT1BfUE9JTlRFUl9PVkVSXVxuICB9XG59O1xudmFyIEVudGVyTGVhdmVFdmVudFBsdWdpbiA9IHtcbiAgZXZlbnRUeXBlczogZXZlbnRUeXBlcyQyLFxuXG4gIC8qKlxuICAgKiBGb3IgYWxtb3N0IGV2ZXJ5IGludGVyYWN0aW9uIHdlIGNhcmUgYWJvdXQsIHRoZXJlIHdpbGwgYmUgYm90aCBhIHRvcC1sZXZlbFxuICAgKiBgbW91c2VvdmVyYCBhbmQgYG1vdXNlb3V0YCBldmVudCB0aGF0IG9jY3Vycy4gT25seSB1c2UgYG1vdXNlb3V0YCBzbyB0aGF0XG4gICAqIHdlIGRvIG5vdCBleHRyYWN0IGR1cGxpY2F0ZSBldmVudHMuIEhvd2V2ZXIsIG1vdmluZyB0aGUgbW91c2UgaW50byB0aGVcbiAgICogYnJvd3NlciBmcm9tIG91dHNpZGUgd2lsbCBub3QgZmlyZSBhIGBtb3VzZW91dGAgZXZlbnQuIEluIHRoaXMgY2FzZSwgd2UgdXNlXG4gICAqIHRoZSBgbW91c2VvdmVyYCB0b3AtbGV2ZWwgZXZlbnQuXG4gICAqL1xuICBleHRyYWN0RXZlbnRzOiBmdW5jdGlvbiAodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgICB2YXIgaXNPdmVyRXZlbnQgPSB0b3BMZXZlbFR5cGUgPT09IFRPUF9NT1VTRV9PVkVSIHx8IHRvcExldmVsVHlwZSA9PT0gVE9QX1BPSU5URVJfT1ZFUjtcbiAgICB2YXIgaXNPdXRFdmVudCA9IHRvcExldmVsVHlwZSA9PT0gVE9QX01PVVNFX09VVCB8fCB0b3BMZXZlbFR5cGUgPT09IFRPUF9QT0lOVEVSX09VVDtcblxuICAgIGlmIChpc092ZXJFdmVudCAmJiAoZXZlbnRTeXN0ZW1GbGFncyAmIElTX1JFUExBWUVEKSA9PT0gMCAmJiAobmF0aXZlRXZlbnQucmVsYXRlZFRhcmdldCB8fCBuYXRpdmVFdmVudC5mcm9tRWxlbWVudCkpIHtcbiAgICAgIC8vIElmIHRoaXMgaXMgYW4gb3ZlciBldmVudCB3aXRoIGEgdGFyZ2V0LCB0aGVuIHdlJ3ZlIGFscmVhZHkgZGlzcGF0Y2hlZFxuICAgICAgLy8gdGhlIGV2ZW50IGluIHRoZSBvdXQgZXZlbnQgb2YgdGhlIG90aGVyIHRhcmdldC4gSWYgdGhpcyBpcyByZXBsYXllZCxcbiAgICAgIC8vIHRoZW4gaXQncyBiZWNhdXNlIHdlIGNvdWxkbid0IGRpc3BhdGNoIGFnYWluc3QgdGhpcyB0YXJnZXQgcHJldmlvdXNseVxuICAgICAgLy8gc28gd2UgaGF2ZSB0byBkbyBpdCBub3cgaW5zdGVhZC5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmICghaXNPdXRFdmVudCAmJiAhaXNPdmVyRXZlbnQpIHtcbiAgICAgIC8vIE11c3Qgbm90IGJlIGEgbW91c2Ugb3IgcG9pbnRlciBpbiBvciBvdXQgLSBpZ25vcmluZy5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciB3aW47XG5cbiAgICBpZiAobmF0aXZlRXZlbnRUYXJnZXQud2luZG93ID09PSBuYXRpdmVFdmVudFRhcmdldCkge1xuICAgICAgLy8gYG5hdGl2ZUV2ZW50VGFyZ2V0YCBpcyBwcm9iYWJseSBhIHdpbmRvdyBvYmplY3QuXG4gICAgICB3aW4gPSBuYXRpdmVFdmVudFRhcmdldDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVE9ETzogRmlndXJlIG91dCB3aHkgYG93bmVyRG9jdW1lbnRgIGlzIHNvbWV0aW1lcyB1bmRlZmluZWQgaW4gSUU4LlxuICAgICAgdmFyIGRvYyA9IG5hdGl2ZUV2ZW50VGFyZ2V0Lm93bmVyRG9jdW1lbnQ7XG5cbiAgICAgIGlmIChkb2MpIHtcbiAgICAgICAgd2luID0gZG9jLmRlZmF1bHRWaWV3IHx8IGRvYy5wYXJlbnRXaW5kb3c7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3aW4gPSB3aW5kb3c7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGZyb207XG4gICAgdmFyIHRvO1xuXG4gICAgaWYgKGlzT3V0RXZlbnQpIHtcbiAgICAgIGZyb20gPSB0YXJnZXRJbnN0O1xuICAgICAgdmFyIHJlbGF0ZWQgPSBuYXRpdmVFdmVudC5yZWxhdGVkVGFyZ2V0IHx8IG5hdGl2ZUV2ZW50LnRvRWxlbWVudDtcbiAgICAgIHRvID0gcmVsYXRlZCA/IGdldENsb3Nlc3RJbnN0YW5jZUZyb21Ob2RlKHJlbGF0ZWQpIDogbnVsbDtcblxuICAgICAgaWYgKHRvICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBuZWFyZXN0TW91bnRlZCA9IGdldE5lYXJlc3RNb3VudGVkRmliZXIodG8pO1xuXG4gICAgICAgIGlmICh0byAhPT0gbmVhcmVzdE1vdW50ZWQgfHwgdG8udGFnICE9PSBIb3N0Q29tcG9uZW50ICYmIHRvLnRhZyAhPT0gSG9zdFRleHQpIHtcbiAgICAgICAgICB0byA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTW92aW5nIHRvIGEgbm9kZSBmcm9tIG91dHNpZGUgdGhlIHdpbmRvdy5cbiAgICAgIGZyb20gPSBudWxsO1xuICAgICAgdG8gPSB0YXJnZXRJbnN0O1xuICAgIH1cblxuICAgIGlmIChmcm9tID09PSB0bykge1xuICAgICAgLy8gTm90aGluZyBwZXJ0YWlucyB0byBvdXIgbWFuYWdlZCBjb21wb25lbnRzLlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdmFyIGV2ZW50SW50ZXJmYWNlLCBsZWF2ZUV2ZW50VHlwZSwgZW50ZXJFdmVudFR5cGUsIGV2ZW50VHlwZVByZWZpeDtcblxuICAgIGlmICh0b3BMZXZlbFR5cGUgPT09IFRPUF9NT1VTRV9PVVQgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfTU9VU0VfT1ZFUikge1xuICAgICAgZXZlbnRJbnRlcmZhY2UgPSBTeW50aGV0aWNNb3VzZUV2ZW50O1xuICAgICAgbGVhdmVFdmVudFR5cGUgPSBldmVudFR5cGVzJDIubW91c2VMZWF2ZTtcbiAgICAgIGVudGVyRXZlbnRUeXBlID0gZXZlbnRUeXBlcyQyLm1vdXNlRW50ZXI7XG4gICAgICBldmVudFR5cGVQcmVmaXggPSAnbW91c2UnO1xuICAgIH0gZWxzZSBpZiAodG9wTGV2ZWxUeXBlID09PSBUT1BfUE9JTlRFUl9PVVQgfHwgdG9wTGV2ZWxUeXBlID09PSBUT1BfUE9JTlRFUl9PVkVSKSB7XG4gICAgICBldmVudEludGVyZmFjZSA9IFN5bnRoZXRpY1BvaW50ZXJFdmVudDtcbiAgICAgIGxlYXZlRXZlbnRUeXBlID0gZXZlbnRUeXBlcyQyLnBvaW50ZXJMZWF2ZTtcbiAgICAgIGVudGVyRXZlbnRUeXBlID0gZXZlbnRUeXBlcyQyLnBvaW50ZXJFbnRlcjtcbiAgICAgIGV2ZW50VHlwZVByZWZpeCA9ICdwb2ludGVyJztcbiAgICB9XG5cbiAgICB2YXIgZnJvbU5vZGUgPSBmcm9tID09IG51bGwgPyB3aW4gOiBnZXROb2RlRnJvbUluc3RhbmNlJDEoZnJvbSk7XG4gICAgdmFyIHRvTm9kZSA9IHRvID09IG51bGwgPyB3aW4gOiBnZXROb2RlRnJvbUluc3RhbmNlJDEodG8pO1xuICAgIHZhciBsZWF2ZSA9IGV2ZW50SW50ZXJmYWNlLmdldFBvb2xlZChsZWF2ZUV2ZW50VHlwZSwgZnJvbSwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBsZWF2ZS50eXBlID0gZXZlbnRUeXBlUHJlZml4ICsgJ2xlYXZlJztcbiAgICBsZWF2ZS50YXJnZXQgPSBmcm9tTm9kZTtcbiAgICBsZWF2ZS5yZWxhdGVkVGFyZ2V0ID0gdG9Ob2RlO1xuICAgIHZhciBlbnRlciA9IGV2ZW50SW50ZXJmYWNlLmdldFBvb2xlZChlbnRlckV2ZW50VHlwZSwgdG8sIG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgZW50ZXIudHlwZSA9IGV2ZW50VHlwZVByZWZpeCArICdlbnRlcic7XG4gICAgZW50ZXIudGFyZ2V0ID0gdG9Ob2RlO1xuICAgIGVudGVyLnJlbGF0ZWRUYXJnZXQgPSBmcm9tTm9kZTtcbiAgICBhY2N1bXVsYXRlRW50ZXJMZWF2ZURpc3BhdGNoZXMobGVhdmUsIGVudGVyLCBmcm9tLCB0byk7IC8vIElmIHdlIGFyZSBub3QgcHJvY2Vzc2luZyB0aGUgZmlyc3QgYW5jZXN0b3IsIHRoZW4gd2VcbiAgICAvLyBzaG91bGQgbm90IHByb2Nlc3MgdGhlIHNhbWUgbmF0aXZlRXZlbnQgYWdhaW4sIGFzIHdlXG4gICAgLy8gd2lsbCBoYXZlIGFscmVhZHkgcHJvY2Vzc2VkIGl0IGluIHRoZSBmaXJzdCBhbmNlc3Rvci5cblxuICAgIGlmICgoZXZlbnRTeXN0ZW1GbGFncyAmIElTX0ZJUlNUX0FOQ0VTVE9SKSA9PT0gMCkge1xuICAgICAgcmV0dXJuIFtsZWF2ZV07XG4gICAgfVxuXG4gICAgcmV0dXJuIFtsZWF2ZSwgZW50ZXJdO1xuICB9XG59O1xuXG4vKipcbiAqIGlubGluZWQgT2JqZWN0LmlzIHBvbHlmaWxsIHRvIGF2b2lkIHJlcXVpcmluZyBjb25zdW1lcnMgc2hpcCB0aGVpciBvd25cbiAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL09iamVjdC9pc1xuICovXG5mdW5jdGlvbiBpcyh4LCB5KSB7XG4gIHJldHVybiB4ID09PSB5ICYmICh4ICE9PSAwIHx8IDEgLyB4ID09PSAxIC8geSkgfHwgeCAhPT0geCAmJiB5ICE9PSB5IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tc2VsZi1jb21wYXJlXG4gIDtcbn1cblxudmFyIG9iamVjdElzID0gdHlwZW9mIE9iamVjdC5pcyA9PT0gJ2Z1bmN0aW9uJyA/IE9iamVjdC5pcyA6IGlzO1xuXG52YXIgaGFzT3duUHJvcGVydHkkMiA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG4vKipcbiAqIFBlcmZvcm1zIGVxdWFsaXR5IGJ5IGl0ZXJhdGluZyB0aHJvdWdoIGtleXMgb24gYW4gb2JqZWN0IGFuZCByZXR1cm5pbmcgZmFsc2VcbiAqIHdoZW4gYW55IGtleSBoYXMgdmFsdWVzIHdoaWNoIGFyZSBub3Qgc3RyaWN0bHkgZXF1YWwgYmV0d2VlbiB0aGUgYXJndW1lbnRzLlxuICogUmV0dXJucyB0cnVlIHdoZW4gdGhlIHZhbHVlcyBvZiBhbGwga2V5cyBhcmUgc3RyaWN0bHkgZXF1YWwuXG4gKi9cblxuZnVuY3Rpb24gc2hhbGxvd0VxdWFsKG9iakEsIG9iakIpIHtcbiAgaWYgKG9iamVjdElzKG9iakEsIG9iakIpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iakEgIT09ICdvYmplY3QnIHx8IG9iakEgPT09IG51bGwgfHwgdHlwZW9mIG9iakIgIT09ICdvYmplY3QnIHx8IG9iakIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIga2V5c0EgPSBPYmplY3Qua2V5cyhvYmpBKTtcbiAgdmFyIGtleXNCID0gT2JqZWN0LmtleXMob2JqQik7XG5cbiAgaWYgKGtleXNBLmxlbmd0aCAhPT0ga2V5c0IubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIFRlc3QgZm9yIEEncyBrZXlzIGRpZmZlcmVudCBmcm9tIEIuXG5cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXNBLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFoYXNPd25Qcm9wZXJ0eSQyLmNhbGwob2JqQiwga2V5c0FbaV0pIHx8ICFvYmplY3RJcyhvYmpBW2tleXNBW2ldXSwgb2JqQltrZXlzQVtpXV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbnZhciBza2lwU2VsZWN0aW9uQ2hhbmdlRXZlbnQgPSBjYW5Vc2VET00gJiYgJ2RvY3VtZW50TW9kZScgaW4gZG9jdW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRNb2RlIDw9IDExO1xudmFyIGV2ZW50VHlwZXMkMyA9IHtcbiAgc2VsZWN0OiB7XG4gICAgcGhhc2VkUmVnaXN0cmF0aW9uTmFtZXM6IHtcbiAgICAgIGJ1YmJsZWQ6ICdvblNlbGVjdCcsXG4gICAgICBjYXB0dXJlZDogJ29uU2VsZWN0Q2FwdHVyZSdcbiAgICB9LFxuICAgIGRlcGVuZGVuY2llczogW1RPUF9CTFVSLCBUT1BfQ09OVEVYVF9NRU5VLCBUT1BfRFJBR19FTkQsIFRPUF9GT0NVUywgVE9QX0tFWV9ET1dOLCBUT1BfS0VZX1VQLCBUT1BfTU9VU0VfRE9XTiwgVE9QX01PVVNFX1VQLCBUT1BfU0VMRUNUSU9OX0NIQU5HRV1cbiAgfVxufTtcbnZhciBhY3RpdmVFbGVtZW50JDEgPSBudWxsO1xudmFyIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xudmFyIGxhc3RTZWxlY3Rpb24gPSBudWxsO1xudmFyIG1vdXNlRG93biA9IGZhbHNlO1xuLyoqXG4gKiBHZXQgYW4gb2JqZWN0IHdoaWNoIGlzIGEgdW5pcXVlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjdXJyZW50IHNlbGVjdGlvbi5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlIHdpbGwgbm90IGJlIGNvbnNpc3RlbnQgYWNyb3NzIG5vZGVzIG9yIGJyb3dzZXJzLCBidXRcbiAqIHR3byBpZGVudGljYWwgc2VsZWN0aW9ucyBvbiB0aGUgc2FtZSBub2RlIHdpbGwgcmV0dXJuIGlkZW50aWNhbCBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSB7RE9NRWxlbWVudH0gbm9kZVxuICogQHJldHVybiB7b2JqZWN0fVxuICovXG5cbmZ1bmN0aW9uIGdldFNlbGVjdGlvbiQxKG5vZGUpIHtcbiAgaWYgKCdzZWxlY3Rpb25TdGFydCcgaW4gbm9kZSAmJiBoYXNTZWxlY3Rpb25DYXBhYmlsaXRpZXMobm9kZSkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhcnQ6IG5vZGUuc2VsZWN0aW9uU3RhcnQsXG4gICAgICBlbmQ6IG5vZGUuc2VsZWN0aW9uRW5kXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgd2luID0gbm9kZS5vd25lckRvY3VtZW50ICYmIG5vZGUub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldyB8fCB3aW5kb3c7XG4gICAgdmFyIHNlbGVjdGlvbiA9IHdpbi5nZXRTZWxlY3Rpb24oKTtcbiAgICByZXR1cm4ge1xuICAgICAgYW5jaG9yTm9kZTogc2VsZWN0aW9uLmFuY2hvck5vZGUsXG4gICAgICBhbmNob3JPZmZzZXQ6IHNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICBmb2N1c05vZGU6IHNlbGVjdGlvbi5mb2N1c05vZGUsXG4gICAgICBmb2N1c09mZnNldDogc2VsZWN0aW9uLmZvY3VzT2Zmc2V0XG4gICAgfTtcbiAgfVxufVxuLyoqXG4gKiBHZXQgZG9jdW1lbnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBldmVudCB0YXJnZXQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50VGFyZ2V0XG4gKiBAcmV0dXJuIHtEb2N1bWVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0RG9jdW1lbnQoZXZlbnRUYXJnZXQpIHtcbiAgcmV0dXJuIGV2ZW50VGFyZ2V0LndpbmRvdyA9PT0gZXZlbnRUYXJnZXQgPyBldmVudFRhcmdldC5kb2N1bWVudCA6IGV2ZW50VGFyZ2V0Lm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFID8gZXZlbnRUYXJnZXQgOiBldmVudFRhcmdldC5vd25lckRvY3VtZW50O1xufVxuLyoqXG4gKiBQb2xsIHNlbGVjdGlvbiB0byBzZWUgd2hldGhlciBpdCdzIGNoYW5nZWQuXG4gKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50XG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnRUYXJnZXRcbiAqIEByZXR1cm4gez9TeW50aGV0aWNFdmVudH1cbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbnN0cnVjdFNlbGVjdEV2ZW50KG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCkge1xuICAvLyBFbnN1cmUgd2UgaGF2ZSB0aGUgcmlnaHQgZWxlbWVudCwgYW5kIHRoYXQgdGhlIHVzZXIgaXMgbm90IGRyYWdnaW5nIGFcbiAgLy8gc2VsZWN0aW9uICh0aGlzIG1hdGNoZXMgbmF0aXZlIGBzZWxlY3RgIGV2ZW50IGJlaGF2aW9yKS4gSW4gSFRNTDUsIHNlbGVjdFxuICAvLyBmaXJlcyBvbmx5IG9uIGlucHV0IGFuZCB0ZXh0YXJlYSB0aHVzIGlmIHRoZXJlJ3Mgbm8gZm9jdXNlZCBlbGVtZW50IHdlXG4gIC8vIHdvbid0IGRpc3BhdGNoLlxuICB2YXIgZG9jID0gZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7XG5cbiAgaWYgKG1vdXNlRG93biB8fCBhY3RpdmVFbGVtZW50JDEgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50JDEgIT09IGdldEFjdGl2ZUVsZW1lbnQoZG9jKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIE9ubHkgZmlyZSB3aGVuIHNlbGVjdGlvbiBoYXMgYWN0dWFsbHkgY2hhbmdlZC5cblxuXG4gIHZhciBjdXJyZW50U2VsZWN0aW9uID0gZ2V0U2VsZWN0aW9uJDEoYWN0aXZlRWxlbWVudCQxKTtcblxuICBpZiAoIWxhc3RTZWxlY3Rpb24gfHwgIXNoYWxsb3dFcXVhbChsYXN0U2VsZWN0aW9uLCBjdXJyZW50U2VsZWN0aW9uKSkge1xuICAgIGxhc3RTZWxlY3Rpb24gPSBjdXJyZW50U2VsZWN0aW9uO1xuICAgIHZhciBzeW50aGV0aWNFdmVudCA9IFN5bnRoZXRpY0V2ZW50LmdldFBvb2xlZChldmVudFR5cGVzJDMuc2VsZWN0LCBhY3RpdmVFbGVtZW50SW5zdCQxLCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgIHN5bnRoZXRpY0V2ZW50LnR5cGUgPSAnc2VsZWN0JztcbiAgICBzeW50aGV0aWNFdmVudC50YXJnZXQgPSBhY3RpdmVFbGVtZW50JDE7XG4gICAgYWNjdW11bGF0ZVR3b1BoYXNlRGlzcGF0Y2hlcyhzeW50aGV0aWNFdmVudCk7XG4gICAgcmV0dXJuIHN5bnRoZXRpY0V2ZW50O1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG4vKipcbiAqIFRoaXMgcGx1Z2luIGNyZWF0ZXMgYW4gYG9uU2VsZWN0YCBldmVudCB0aGF0IG5vcm1hbGl6ZXMgc2VsZWN0IGV2ZW50c1xuICogYWNyb3NzIGZvcm0gZWxlbWVudHMuXG4gKlxuICogU3VwcG9ydGVkIGVsZW1lbnRzIGFyZTpcbiAqIC0gaW5wdXQgKHNlZSBgaXNUZXh0SW5wdXRFbGVtZW50YClcbiAqIC0gdGV4dGFyZWFcbiAqIC0gY29udGVudEVkaXRhYmxlXG4gKlxuICogVGhpcyBkaWZmZXJzIGZyb20gbmF0aXZlIGJyb3dzZXIgaW1wbGVtZW50YXRpb25zIGluIHRoZSBmb2xsb3dpbmcgd2F5czpcbiAqIC0gRmlyZXMgb24gY29udGVudEVkaXRhYmxlIGZpZWxkcyBhcyB3ZWxsIGFzIGlucHV0cy5cbiAqIC0gRmlyZXMgZm9yIGNvbGxhcHNlZCBzZWxlY3Rpb24uXG4gKiAtIEZpcmVzIGFmdGVyIHVzZXIgaW5wdXQuXG4gKi9cblxuXG52YXIgU2VsZWN0RXZlbnRQbHVnaW4gPSB7XG4gIGV2ZW50VHlwZXM6IGV2ZW50VHlwZXMkMyxcbiAgZXh0cmFjdEV2ZW50czogZnVuY3Rpb24gKHRvcExldmVsVHlwZSwgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0LCBldmVudFN5c3RlbUZsYWdzLCBjb250YWluZXIpIHtcbiAgICB2YXIgY29udGFpbmVyT3JEb2MgPSBjb250YWluZXIgfHwgZ2V0RXZlbnRUYXJnZXREb2N1bWVudChuYXRpdmVFdmVudFRhcmdldCk7IC8vIFRyYWNrIHdoZXRoZXIgYWxsIGxpc3RlbmVycyBleGlzdHMgZm9yIHRoaXMgcGx1Z2luLiBJZiBub25lIGV4aXN0LCB3ZSBkb1xuICAgIC8vIG5vdCBleHRyYWN0IGV2ZW50cy4gU2VlICMzNjM5LlxuXG4gICAgaWYgKCFjb250YWluZXJPckRvYyB8fCAhaXNMaXN0ZW5pbmdUb0FsbERlcGVuZGVuY2llcygnb25TZWxlY3QnLCBjb250YWluZXJPckRvYykpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHZhciB0YXJnZXROb2RlID0gdGFyZ2V0SW5zdCA/IGdldE5vZGVGcm9tSW5zdGFuY2UkMSh0YXJnZXRJbnN0KSA6IHdpbmRvdztcblxuICAgIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XG4gICAgICAvLyBUcmFjayB0aGUgaW5wdXQgbm9kZSB0aGF0IGhhcyBmb2N1cy5cbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxuICAgICAgICBpZiAoaXNUZXh0SW5wdXRFbGVtZW50KHRhcmdldE5vZGUpIHx8IHRhcmdldE5vZGUuY29udGVudEVkaXRhYmxlID09PSAndHJ1ZScpIHtcbiAgICAgICAgICBhY3RpdmVFbGVtZW50JDEgPSB0YXJnZXROb2RlO1xuICAgICAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSB0YXJnZXRJbnN0O1xuICAgICAgICAgIGxhc3RTZWxlY3Rpb24gPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVE9QX0JMVVI6XG4gICAgICAgIGFjdGl2ZUVsZW1lbnQkMSA9IG51bGw7XG4gICAgICAgIGFjdGl2ZUVsZW1lbnRJbnN0JDEgPSBudWxsO1xuICAgICAgICBsYXN0U2VsZWN0aW9uID0gbnVsbDtcbiAgICAgICAgYnJlYWs7XG4gICAgICAvLyBEb24ndCBmaXJlIHRoZSBldmVudCB3aGlsZSB0aGUgdXNlciBpcyBkcmFnZ2luZy4gVGhpcyBtYXRjaGVzIHRoZVxuICAgICAgLy8gc2VtYW50aWNzIG9mIHRoZSBuYXRpdmUgc2VsZWN0IGV2ZW50LlxuXG4gICAgICBjYXNlIFRPUF9NT1VTRV9ET1dOOlxuICAgICAgICBtb3VzZURvd24gPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUT1BfQ09OVEVYVF9NRU5VOlxuICAgICAgY2FzZSBUT1BfTU9VU0VfVVA6XG4gICAgICBjYXNlIFRPUF9EUkFHX0VORDpcbiAgICAgICAgbW91c2VEb3duID0gZmFsc2U7XG4gICAgICAgIHJldHVybiBjb25zdHJ1Y3RTZWxlY3RFdmVudChuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQpO1xuICAgICAgLy8gQ2hyb21lIGFuZCBJRSBmaXJlIG5vbi1zdGFuZGFyZCBldmVudCB3aGVuIHNlbGVjdGlvbiBpcyBjaGFuZ2VkIChhbmRcbiAgICAgIC8vIHNvbWV0aW1lcyB3aGVuIGl0IGhhc24ndCkuIElFJ3MgZXZlbnQgZmlyZXMgb3V0IG9mIG9yZGVyIHdpdGggcmVzcGVjdFxuICAgICAgLy8gdG8ga2V5IGFuZCBpbnB1dCBldmVudHMgb24gZGVsZXRpb24sIHNvIHdlIGRpc2NhcmQgaXQuXG4gICAgICAvL1xuICAgICAgLy8gRmlyZWZveCBkb2Vzbid0IHN1cHBvcnQgc2VsZWN0aW9uY2hhbmdlLCBzbyBjaGVjayBzZWxlY3Rpb24gc3RhdHVzXG4gICAgICAvLyBhZnRlciBlYWNoIGtleSBlbnRyeS4gVGhlIHNlbGVjdGlvbiBjaGFuZ2VzIGFmdGVyIGtleWRvd24gYW5kIGJlZm9yZVxuICAgICAgLy8ga2V5dXAsIGJ1dCB3ZSBjaGVjayBvbiBrZXlkb3duIGFzIHdlbGwgaW4gdGhlIGNhc2Ugb2YgaG9sZGluZyBkb3duIGFcbiAgICAgIC8vIGtleSwgd2hlbiBtdWx0aXBsZSBrZXlkb3duIGV2ZW50cyBhcmUgZmlyZWQgYnV0IG9ubHkgb25lIGtleXVwIGlzLlxuICAgICAgLy8gVGhpcyBpcyBhbHNvIG91ciBhcHByb2FjaCBmb3IgSUUgaGFuZGxpbmcsIGZvciB0aGUgcmVhc29uIGFib3ZlLlxuXG4gICAgICBjYXNlIFRPUF9TRUxFQ1RJT05fQ0hBTkdFOlxuICAgICAgICBpZiAoc2tpcFNlbGVjdGlvbkNoYW5nZUV2ZW50KSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgLy8gZmFsbHMgdGhyb3VnaFxuXG4gICAgICBjYXNlIFRPUF9LRVlfRE9XTjpcbiAgICAgIGNhc2UgVE9QX0tFWV9VUDpcbiAgICAgICAgcmV0dXJuIGNvbnN0cnVjdFNlbGVjdEV2ZW50KG5hdGl2ZUV2ZW50LCBuYXRpdmVFdmVudFRhcmdldCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn07XG5cbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWFuaW1hdGlvbnMvI0FuaW1hdGlvbkV2ZW50LWludGVyZmFjZVxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQW5pbWF0aW9uRXZlbnRcbiAqL1xuXG52YXIgU3ludGhldGljQW5pbWF0aW9uRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xuICBhbmltYXRpb25OYW1lOiBudWxsLFxuICBlbGFwc2VkVGltZTogbnVsbCxcbiAgcHNldWRvRWxlbWVudDogbnVsbFxufSk7XG5cbi8qKlxuICogQGludGVyZmFjZSBFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9jbGlwYm9hcmQtYXBpcy9cbiAqL1xuXG52YXIgU3ludGhldGljQ2xpcGJvYXJkRXZlbnQgPSBTeW50aGV0aWNFdmVudC5leHRlbmQoe1xuICBjbGlwYm9hcmREYXRhOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2NsaXBib2FyZERhdGEnIGluIGV2ZW50ID8gZXZlbnQuY2xpcGJvYXJkRGF0YSA6IHdpbmRvdy5jbGlwYm9hcmREYXRhO1xuICB9XG59KTtcblxuLyoqXG4gKiBAaW50ZXJmYWNlIEZvY3VzRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cbnZhciBTeW50aGV0aWNGb2N1c0V2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xuICByZWxhdGVkVGFyZ2V0OiBudWxsXG59KTtcblxuLyoqXG4gKiBgY2hhckNvZGVgIHJlcHJlc2VudHMgdGhlIGFjdHVhbCBcImNoYXJhY3RlciBjb2RlXCIgYW5kIGlzIHNhZmUgdG8gdXNlIHdpdGhcbiAqIGBTdHJpbmcuZnJvbUNoYXJDb2RlYC4gQXMgc3VjaCwgb25seSBrZXlzIHRoYXQgY29ycmVzcG9uZCB0byBwcmludGFibGVcbiAqIGNoYXJhY3RlcnMgcHJvZHVjZSBhIHZhbGlkIGBjaGFyQ29kZWAsIHRoZSBvbmx5IGV4Y2VwdGlvbiB0byB0aGlzIGlzIEVudGVyLlxuICogVGhlIFRhYi1rZXkgaXMgY29uc2lkZXJlZCBub24tcHJpbnRhYmxlIGFuZCBkb2VzIG5vdCBoYXZlIGEgYGNoYXJDb2RlYCxcbiAqIHByZXN1bWFibHkgYmVjYXVzZSBpdCBkb2VzIG5vdCBwcm9kdWNlIGEgdGFiLWNoYXJhY3RlciBpbiBicm93c2Vycy5cbiAqXG4gKiBAcGFyYW0ge29iamVjdH0gbmF0aXZlRXZlbnQgTmF0aXZlIGJyb3dzZXIgZXZlbnQuXG4gKiBAcmV0dXJuIHtudW1iZXJ9IE5vcm1hbGl6ZWQgYGNoYXJDb2RlYCBwcm9wZXJ0eS5cbiAqL1xuZnVuY3Rpb24gZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCkge1xuICB2YXIgY2hhckNvZGU7XG4gIHZhciBrZXlDb2RlID0gbmF0aXZlRXZlbnQua2V5Q29kZTtcblxuICBpZiAoJ2NoYXJDb2RlJyBpbiBuYXRpdmVFdmVudCkge1xuICAgIGNoYXJDb2RlID0gbmF0aXZlRXZlbnQuY2hhckNvZGU7IC8vIEZGIGRvZXMgbm90IHNldCBgY2hhckNvZGVgIGZvciB0aGUgRW50ZXIta2V5LCBjaGVjayBhZ2FpbnN0IGBrZXlDb2RlYC5cblxuICAgIGlmIChjaGFyQ29kZSA9PT0gMCAmJiBrZXlDb2RlID09PSAxMykge1xuICAgICAgY2hhckNvZGUgPSAxMztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gSUU4IGRvZXMgbm90IGltcGxlbWVudCBgY2hhckNvZGVgLCBidXQgYGtleUNvZGVgIGhhcyB0aGUgY29ycmVjdCB2YWx1ZS5cbiAgICBjaGFyQ29kZSA9IGtleUNvZGU7XG4gIH0gLy8gSUUgYW5kIEVkZ2UgKG9uIFdpbmRvd3MpIGFuZCBDaHJvbWUgLyBTYWZhcmkgKG9uIFdpbmRvd3MgYW5kIExpbnV4KVxuICAvLyByZXBvcnQgRW50ZXIgYXMgY2hhckNvZGUgMTAgd2hlbiBjdHJsIGlzIHByZXNzZWQuXG5cblxuICBpZiAoY2hhckNvZGUgPT09IDEwKSB7XG4gICAgY2hhckNvZGUgPSAxMztcbiAgfSAvLyBTb21lIG5vbi1wcmludGFibGUga2V5cyBhcmUgcmVwb3J0ZWQgaW4gYGNoYXJDb2RlYC9ga2V5Q29kZWAsIGRpc2NhcmQgdGhlbS5cbiAgLy8gTXVzdCBub3QgZGlzY2FyZCB0aGUgKG5vbi0pcHJpbnRhYmxlIEVudGVyLWtleS5cblxuXG4gIGlmIChjaGFyQ29kZSA+PSAzMiB8fCBjaGFyQ29kZSA9PT0gMTMpIHtcbiAgICByZXR1cm4gY2hhckNvZGU7XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemF0aW9uIG9mIGRlcHJlY2F0ZWQgSFRNTDUgYGtleWAgdmFsdWVzXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciBub3JtYWxpemVLZXkgPSB7XG4gIEVzYzogJ0VzY2FwZScsXG4gIFNwYWNlYmFyOiAnICcsXG4gIExlZnQ6ICdBcnJvd0xlZnQnLFxuICBVcDogJ0Fycm93VXAnLFxuICBSaWdodDogJ0Fycm93UmlnaHQnLFxuICBEb3duOiAnQXJyb3dEb3duJyxcbiAgRGVsOiAnRGVsZXRlJyxcbiAgV2luOiAnT1MnLFxuICBNZW51OiAnQ29udGV4dE1lbnUnLFxuICBBcHBzOiAnQ29udGV4dE1lbnUnLFxuICBTY3JvbGw6ICdTY3JvbGxMb2NrJyxcbiAgTW96UHJpbnRhYmxlS2V5OiAnVW5pZGVudGlmaWVkJ1xufTtcbi8qKlxuICogVHJhbnNsYXRpb24gZnJvbSBsZWdhY3kgYGtleUNvZGVgIHRvIEhUTUw1IGBrZXlgXG4gKiBPbmx5IHNwZWNpYWwga2V5cyBzdXBwb3J0ZWQsIGFsbCBvdGhlcnMgZGVwZW5kIG9uIGtleWJvYXJkIGxheW91dCBvciBicm93c2VyXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9LZXlib2FyZEV2ZW50I0tleV9uYW1lc1xuICovXG5cbnZhciB0cmFuc2xhdGVUb0tleSA9IHtcbiAgJzgnOiAnQmFja3NwYWNlJyxcbiAgJzknOiAnVGFiJyxcbiAgJzEyJzogJ0NsZWFyJyxcbiAgJzEzJzogJ0VudGVyJyxcbiAgJzE2JzogJ1NoaWZ0JyxcbiAgJzE3JzogJ0NvbnRyb2wnLFxuICAnMTgnOiAnQWx0JyxcbiAgJzE5JzogJ1BhdXNlJyxcbiAgJzIwJzogJ0NhcHNMb2NrJyxcbiAgJzI3JzogJ0VzY2FwZScsXG4gICczMic6ICcgJyxcbiAgJzMzJzogJ1BhZ2VVcCcsXG4gICczNCc6ICdQYWdlRG93bicsXG4gICczNSc6ICdFbmQnLFxuICAnMzYnOiAnSG9tZScsXG4gICczNyc6ICdBcnJvd0xlZnQnLFxuICAnMzgnOiAnQXJyb3dVcCcsXG4gICczOSc6ICdBcnJvd1JpZ2h0JyxcbiAgJzQwJzogJ0Fycm93RG93bicsXG4gICc0NSc6ICdJbnNlcnQnLFxuICAnNDYnOiAnRGVsZXRlJyxcbiAgJzExMic6ICdGMScsXG4gICcxMTMnOiAnRjInLFxuICAnMTE0JzogJ0YzJyxcbiAgJzExNSc6ICdGNCcsXG4gICcxMTYnOiAnRjUnLFxuICAnMTE3JzogJ0Y2JyxcbiAgJzExOCc6ICdGNycsXG4gICcxMTknOiAnRjgnLFxuICAnMTIwJzogJ0Y5JyxcbiAgJzEyMSc6ICdGMTAnLFxuICAnMTIyJzogJ0YxMScsXG4gICcxMjMnOiAnRjEyJyxcbiAgJzE0NCc6ICdOdW1Mb2NrJyxcbiAgJzE0NSc6ICdTY3JvbGxMb2NrJyxcbiAgJzIyNCc6ICdNZXRhJ1xufTtcbi8qKlxuICogQHBhcmFtIHtvYmplY3R9IG5hdGl2ZUV2ZW50IE5hdGl2ZSBicm93c2VyIGV2ZW50LlxuICogQHJldHVybiB7c3RyaW5nfSBOb3JtYWxpemVkIGBrZXlgIHByb3BlcnR5LlxuICovXG5cbmZ1bmN0aW9uIGdldEV2ZW50S2V5KG5hdGl2ZUV2ZW50KSB7XG4gIGlmIChuYXRpdmVFdmVudC5rZXkpIHtcbiAgICAvLyBOb3JtYWxpemUgaW5jb25zaXN0ZW50IHZhbHVlcyByZXBvcnRlZCBieSBicm93c2VycyBkdWUgdG9cbiAgICAvLyBpbXBsZW1lbnRhdGlvbnMgb2YgYSB3b3JraW5nIGRyYWZ0IHNwZWNpZmljYXRpb24uXG4gICAgLy8gRmlyZUZveCBpbXBsZW1lbnRzIGBrZXlgIGJ1dCByZXR1cm5zIGBNb3pQcmludGFibGVLZXlgIGZvciBhbGxcbiAgICAvLyBwcmludGFibGUgY2hhcmFjdGVycyAobm9ybWFsaXplZCB0byBgVW5pZGVudGlmaWVkYCksIGlnbm9yZSBpdC5cbiAgICB2YXIga2V5ID0gbm9ybWFsaXplS2V5W25hdGl2ZUV2ZW50LmtleV0gfHwgbmF0aXZlRXZlbnQua2V5O1xuXG4gICAgaWYgKGtleSAhPT0gJ1VuaWRlbnRpZmllZCcpIHtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuICB9IC8vIEJyb3dzZXIgZG9lcyBub3QgaW1wbGVtZW50IGBrZXlgLCBwb2x5ZmlsbCBhcyBtdWNoIG9mIGl0IGFzIHdlIGNhbi5cblxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgdmFyIGNoYXJDb2RlID0gZ2V0RXZlbnRDaGFyQ29kZShuYXRpdmVFdmVudCk7IC8vIFRoZSBlbnRlci1rZXkgaXMgdGVjaG5pY2FsbHkgYm90aCBwcmludGFibGUgYW5kIG5vbi1wcmludGFibGUgYW5kIGNhblxuICAgIC8vIHRodXMgYmUgY2FwdHVyZWQgYnkgYGtleXByZXNzYCwgbm8gb3RoZXIgbm9uLXByaW50YWJsZSBrZXkgc2hvdWxkLlxuXG4gICAgcmV0dXJuIGNoYXJDb2RlID09PSAxMyA/ICdFbnRlcicgOiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNoYXJDb2RlKTtcbiAgfVxuXG4gIGlmIChuYXRpdmVFdmVudC50eXBlID09PSAna2V5ZG93bicgfHwgbmF0aXZlRXZlbnQudHlwZSA9PT0gJ2tleXVwJykge1xuICAgIC8vIFdoaWxlIHVzZXIga2V5Ym9hcmQgbGF5b3V0IGRldGVybWluZXMgdGhlIGFjdHVhbCBtZWFuaW5nIG9mIGVhY2hcbiAgICAvLyBga2V5Q29kZWAgdmFsdWUsIGFsbW9zdCBhbGwgZnVuY3Rpb24ga2V5cyBoYXZlIGEgdW5pdmVyc2FsIHZhbHVlLlxuICAgIHJldHVybiB0cmFuc2xhdGVUb0tleVtuYXRpdmVFdmVudC5rZXlDb2RlXSB8fCAnVW5pZGVudGlmaWVkJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxuLyoqXG4gKiBAaW50ZXJmYWNlIEtleWJvYXJkRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvRE9NLUxldmVsLTMtRXZlbnRzL1xuICovXG5cbnZhciBTeW50aGV0aWNLZXlib2FyZEV2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xuICBrZXk6IGdldEV2ZW50S2V5LFxuICBsb2NhdGlvbjogbnVsbCxcbiAgY3RybEtleTogbnVsbCxcbiAgc2hpZnRLZXk6IG51bGwsXG4gIGFsdEtleTogbnVsbCxcbiAgbWV0YUtleTogbnVsbCxcbiAgcmVwZWF0OiBudWxsLFxuICBsb2NhbGU6IG51bGwsXG4gIGdldE1vZGlmaWVyU3RhdGU6IGdldEV2ZW50TW9kaWZpZXJTdGF0ZSxcbiAgLy8gTGVnYWN5IEludGVyZmFjZVxuICBjaGFyQ29kZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgLy8gYGNoYXJDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5UHJlc3MgZXZlbnQgYW5kIHJlcHJlc2VudHMgdGhlIHZhbHVlIG9mXG4gICAgLy8gdGhlIGFjdHVhbCBwcmludGFibGUgY2hhcmFjdGVyLlxuICAgIC8vIEtleVByZXNzIGlzIGRlcHJlY2F0ZWQsIGJ1dCBpdHMgcmVwbGFjZW1lbnQgaXMgbm90IHlldCBmaW5hbCBhbmQgbm90XG4gICAgLy8gaW1wbGVtZW50ZWQgaW4gYW55IG1ham9yIGJyb3dzZXIuIE9ubHkgS2V5UHJlc3MgaGFzIGNoYXJDb2RlLlxuICAgIGlmIChldmVudC50eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICByZXR1cm4gZ2V0RXZlbnRDaGFyQ29kZShldmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDA7XG4gIH0sXG4gIGtleUNvZGU6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGBrZXlDb2RlYCBpcyB0aGUgcmVzdWx0IG9mIGEgS2V5RG93bi9VcCBldmVudCBhbmQgcmVwcmVzZW50cyB0aGUgdmFsdWUgb2ZcbiAgICAvLyBwaHlzaWNhbCBrZXlib2FyZCBrZXkuXG4gICAgLy8gVGhlIGFjdHVhbCBtZWFuaW5nIG9mIHRoZSB2YWx1ZSBkZXBlbmRzIG9uIHRoZSB1c2Vycycga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gd2hpY2ggY2Fubm90IGJlIGRldGVjdGVkLiBBc3N1bWluZyB0aGF0IGl0IGlzIGEgVVMga2V5Ym9hcmQgbGF5b3V0XG4gICAgLy8gcHJvdmlkZXMgYSBzdXJwcmlzaW5nbHkgYWNjdXJhdGUgbWFwcGluZyBmb3IgVVMgYW5kIEV1cm9wZWFuIHVzZXJzLlxuICAgIC8vIER1ZSB0byB0aGlzLCBpdCBpcyBsZWZ0IHRvIHRoZSB1c2VyIHRvIGltcGxlbWVudCBhdCB0aGlzIHRpbWUuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyB8fCBldmVudC50eXBlID09PSAna2V5dXAnKSB7XG4gICAgICByZXR1cm4gZXZlbnQua2V5Q29kZTtcbiAgICB9XG5cbiAgICByZXR1cm4gMDtcbiAgfSxcbiAgd2hpY2g6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIC8vIGB3aGljaGAgaXMgYW4gYWxpYXMgZm9yIGVpdGhlciBga2V5Q29kZWAgb3IgYGNoYXJDb2RlYCBkZXBlbmRpbmcgb24gdGhlXG4gICAgLy8gdHlwZSBvZiB0aGUgZXZlbnQuXG4gICAgaWYgKGV2ZW50LnR5cGUgPT09ICdrZXlwcmVzcycpIHtcbiAgICAgIHJldHVybiBnZXRFdmVudENoYXJDb2RlKGV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nIHx8IGV2ZW50LnR5cGUgPT09ICdrZXl1cCcpIHtcbiAgICAgIHJldHVybiBldmVudC5rZXlDb2RlO1xuICAgIH1cblxuICAgIHJldHVybiAwO1xuICB9XG59KTtcblxuLyoqXG4gKiBAaW50ZXJmYWNlIERyYWdFdmVudFxuICogQHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi9ET00tTGV2ZWwtMy1FdmVudHMvXG4gKi9cblxudmFyIFN5bnRoZXRpY0RyYWdFdmVudCA9IFN5bnRoZXRpY01vdXNlRXZlbnQuZXh0ZW5kKHtcbiAgZGF0YVRyYW5zZmVyOiBudWxsXG59KTtcblxuLyoqXG4gKiBAaW50ZXJmYWNlIFRvdWNoRXZlbnRcbiAqIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvdG91Y2gtZXZlbnRzL1xuICovXG5cbnZhciBTeW50aGV0aWNUb3VjaEV2ZW50ID0gU3ludGhldGljVUlFdmVudC5leHRlbmQoe1xuICB0b3VjaGVzOiBudWxsLFxuICB0YXJnZXRUb3VjaGVzOiBudWxsLFxuICBjaGFuZ2VkVG91Y2hlczogbnVsbCxcbiAgYWx0S2V5OiBudWxsLFxuICBtZXRhS2V5OiBudWxsLFxuICBjdHJsS2V5OiBudWxsLFxuICBzaGlmdEtleTogbnVsbCxcbiAgZ2V0TW9kaWZpZXJTdGF0ZTogZ2V0RXZlbnRNb2RpZmllclN0YXRlXG59KTtcblxuLyoqXG4gKiBAaW50ZXJmYWNlIEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDkvV0QtY3NzMy10cmFuc2l0aW9ucy0yMDA5MDMyMC8jdHJhbnNpdGlvbi1ldmVudHMtXG4gKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9UcmFuc2l0aW9uRXZlbnRcbiAqL1xuXG52YXIgU3ludGhldGljVHJhbnNpdGlvbkV2ZW50ID0gU3ludGhldGljRXZlbnQuZXh0ZW5kKHtcbiAgcHJvcGVydHlOYW1lOiBudWxsLFxuICBlbGFwc2VkVGltZTogbnVsbCxcbiAgcHNldWRvRWxlbWVudDogbnVsbFxufSk7XG5cbi8qKlxuICogQGludGVyZmFjZSBXaGVlbEV2ZW50XG4gKiBAc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSL0RPTS1MZXZlbC0zLUV2ZW50cy9cbiAqL1xuXG52YXIgU3ludGhldGljV2hlZWxFdmVudCA9IFN5bnRoZXRpY01vdXNlRXZlbnQuZXh0ZW5kKHtcbiAgZGVsdGFYOiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICByZXR1cm4gJ2RlbHRhWCcgaW4gZXZlbnQgPyBldmVudC5kZWx0YVggOiAvLyBGYWxsYmFjayB0byBgd2hlZWxEZWx0YVhgIGZvciBXZWJraXQgYW5kIG5vcm1hbGl6ZSAocmlnaHQgaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhWCcgaW4gZXZlbnQgPyAtZXZlbnQud2hlZWxEZWx0YVggOiAwO1xuICB9LFxuICBkZWx0YVk6IGZ1bmN0aW9uIChldmVudCkge1xuICAgIHJldHVybiAnZGVsdGFZJyBpbiBldmVudCA/IGV2ZW50LmRlbHRhWSA6IC8vIEZhbGxiYWNrIHRvIGB3aGVlbERlbHRhWWAgZm9yIFdlYmtpdCBhbmQgbm9ybWFsaXplIChkb3duIGlzIHBvc2l0aXZlKS5cbiAgICAnd2hlZWxEZWx0YVknIGluIGV2ZW50ID8gLWV2ZW50LndoZWVsRGVsdGFZIDogLy8gRmFsbGJhY2sgdG8gYHdoZWVsRGVsdGFgIGZvciBJRTw5IGFuZCBub3JtYWxpemUgKGRvd24gaXMgcG9zaXRpdmUpLlxuICAgICd3aGVlbERlbHRhJyBpbiBldmVudCA/IC1ldmVudC53aGVlbERlbHRhIDogMDtcbiAgfSxcbiAgZGVsdGFaOiBudWxsLFxuICAvLyBCcm93c2VycyB3aXRob3V0IFwiZGVsdGFNb2RlXCIgaXMgcmVwb3J0aW5nIGluIHJhdyB3aGVlbCBkZWx0YSB3aGVyZSBvbmVcbiAgLy8gbm90Y2ggb24gdGhlIHNjcm9sbCBpcyBhbHdheXMgKy8tIDEyMCwgcm91Z2hseSBlcXVpdmFsZW50IHRvIHBpeGVscy5cbiAgLy8gQSBnb29kIGFwcHJveGltYXRpb24gb2YgRE9NX0RFTFRBX0xJTkUgKDEpIGlzIDUlIG9mIHZpZXdwb3J0IHNpemUgb3JcbiAgLy8gfjQwIHBpeGVscywgZm9yIERPTV9ERUxUQV9TQ1JFRU4gKDIpIGl0IGlzIDg3LjUlIG9mIHZpZXdwb3J0IHNpemUuXG4gIGRlbHRhTW9kZTogbnVsbFxufSk7XG5cbnZhciBrbm93bkhUTUxUb3BMZXZlbFR5cGVzID0gW1RPUF9BQk9SVCwgVE9QX0NBTkNFTCwgVE9QX0NBTl9QTEFZLCBUT1BfQ0FOX1BMQVlfVEhST1VHSCwgVE9QX0NMT1NFLCBUT1BfRFVSQVRJT05fQ0hBTkdFLCBUT1BfRU1QVElFRCwgVE9QX0VOQ1JZUFRFRCwgVE9QX0VOREVELCBUT1BfRVJST1IsIFRPUF9JTlBVVCwgVE9QX0lOVkFMSUQsIFRPUF9MT0FELCBUT1BfTE9BREVEX0RBVEEsIFRPUF9MT0FERURfTUVUQURBVEEsIFRPUF9MT0FEX1NUQVJULCBUT1BfUEFVU0UsIFRPUF9QTEFZLCBUT1BfUExBWUlORywgVE9QX1BST0dSRVNTLCBUT1BfUkFURV9DSEFOR0UsIFRPUF9SRVNFVCwgVE9QX1NFRUtFRCwgVE9QX1NFRUtJTkcsIFRPUF9TVEFMTEVELCBUT1BfU1VCTUlULCBUT1BfU1VTUEVORCwgVE9QX1RJTUVfVVBEQVRFLCBUT1BfVE9HR0xFLCBUT1BfVk9MVU1FX0NIQU5HRSwgVE9QX1dBSVRJTkddO1xudmFyIFNpbXBsZUV2ZW50UGx1Z2luID0ge1xuICAvLyBzaW1wbGVFdmVudFBsdWdpbkV2ZW50VHlwZXMgZ2V0cyBwb3B1bGF0ZWQgZnJvbVxuICAvLyB0aGUgRE9NRXZlbnRQcm9wZXJ0aWVzIG1vZHVsZS5cbiAgZXZlbnRUeXBlczogc2ltcGxlRXZlbnRQbHVnaW5FdmVudFR5cGVzLFxuICBleHRyYWN0RXZlbnRzOiBmdW5jdGlvbiAodG9wTGV2ZWxUeXBlLCB0YXJnZXRJbnN0LCBuYXRpdmVFdmVudCwgbmF0aXZlRXZlbnRUYXJnZXQsIGV2ZW50U3lzdGVtRmxhZ3MpIHtcbiAgICB2YXIgZGlzcGF0Y2hDb25maWcgPSB0b3BMZXZlbEV2ZW50c1RvRGlzcGF0Y2hDb25maWcuZ2V0KHRvcExldmVsVHlwZSk7XG5cbiAgICBpZiAoIWRpc3BhdGNoQ29uZmlnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgRXZlbnRDb25zdHJ1Y3RvcjtcblxuICAgIHN3aXRjaCAodG9wTGV2ZWxUeXBlKSB7XG4gICAgICBjYXNlIFRPUF9LRVlfUFJFU1M6XG4gICAgICAgIC8vIEZpcmVmb3ggY3JlYXRlcyBhIGtleXByZXNzIGV2ZW50IGZvciBmdW5jdGlvbiBrZXlzIHRvby4gVGhpcyByZW1vdmVzXG4gICAgICAgIC8vIHRoZSB1bndhbnRlZCBrZXlwcmVzcyBldmVudHMuIEVudGVyIGlzIGhvd2V2ZXIgYm90aCBwcmludGFibGUgYW5kXG4gICAgICAgIC8vIG5vbi1wcmludGFibGUuIE9uZSB3b3VsZCBleHBlY3QgVGFiIHRvIGJlIGFzIHdlbGwgKGJ1dCBpdCBpc24ndCkuXG4gICAgICAgIGlmIChnZXRFdmVudENoYXJDb2RlKG5hdGl2ZUV2ZW50KSA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgICAgY2FzZSBUT1BfS0VZX0RPV046XG4gICAgICBjYXNlIFRPUF9LRVlfVVA6XG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNLZXlib2FyZEV2ZW50O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUT1BfQkxVUjpcbiAgICAgIGNhc2UgVE9QX0ZPQ1VTOlxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljRm9jdXNFdmVudDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVE9QX0NMSUNLOlxuICAgICAgICAvLyBGaXJlZm94IGNyZWF0ZXMgYSBjbGljayBldmVudCBvbiByaWdodCBtb3VzZSBjbGlja3MuIFRoaXMgcmVtb3ZlcyB0aGVcbiAgICAgICAgLy8gdW53YW50ZWQgY2xpY2sgZXZlbnRzLlxuICAgICAgICBpZiAobmF0aXZlRXZlbnQuYnV0dG9uID09PSAyKSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuXG4gICAgICBjYXNlIFRPUF9BVVhfQ0xJQ0s6XG4gICAgICBjYXNlIFRPUF9ET1VCTEVfQ0xJQ0s6XG4gICAgICBjYXNlIFRPUF9NT1VTRV9ET1dOOlxuICAgICAgY2FzZSBUT1BfTU9VU0VfTU9WRTpcbiAgICAgIGNhc2UgVE9QX01PVVNFX1VQOiAvLyBUT0RPOiBEaXNhYmxlZCBlbGVtZW50cyBzaG91bGQgbm90IHJlc3BvbmQgdG8gbW91c2UgZXZlbnRzXG5cbiAgICAgIC8qIGZhbGxzIHRocm91Z2ggKi9cblxuICAgICAgY2FzZSBUT1BfTU9VU0VfT1VUOlxuICAgICAgY2FzZSBUT1BfTU9VU0VfT1ZFUjpcbiAgICAgIGNhc2UgVE9QX0NPTlRFWFRfTUVOVTpcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY01vdXNlRXZlbnQ7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRPUF9EUkFHOlxuICAgICAgY2FzZSBUT1BfRFJBR19FTkQ6XG4gICAgICBjYXNlIFRPUF9EUkFHX0VOVEVSOlxuICAgICAgY2FzZSBUT1BfRFJBR19FWElUOlxuICAgICAgY2FzZSBUT1BfRFJBR19MRUFWRTpcbiAgICAgIGNhc2UgVE9QX0RSQUdfT1ZFUjpcbiAgICAgIGNhc2UgVE9QX0RSQUdfU1RBUlQ6XG4gICAgICBjYXNlIFRPUF9EUk9QOlxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljRHJhZ0V2ZW50O1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBUT1BfVE9VQ0hfQ0FOQ0VMOlxuICAgICAgY2FzZSBUT1BfVE9VQ0hfRU5EOlxuICAgICAgY2FzZSBUT1BfVE9VQ0hfTU9WRTpcbiAgICAgIGNhc2UgVE9QX1RPVUNIX1NUQVJUOlxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljVG91Y2hFdmVudDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVE9QX0FOSU1BVElPTl9FTkQ6XG4gICAgICBjYXNlIFRPUF9BTklNQVRJT05fSVRFUkFUSU9OOlxuICAgICAgY2FzZSBUT1BfQU5JTUFUSU9OX1NUQVJUOlxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljQW5pbWF0aW9uRXZlbnQ7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRPUF9UUkFOU0lUSU9OX0VORDpcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1RyYW5zaXRpb25FdmVudDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVE9QX1NDUk9MTDpcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1VJRXZlbnQ7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRPUF9XSEVFTDpcbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY1doZWVsRXZlbnQ7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFRPUF9DT1BZOlxuICAgICAgY2FzZSBUT1BfQ1VUOlxuICAgICAgY2FzZSBUT1BfUEFTVEU6XG4gICAgICAgIEV2ZW50Q29uc3RydWN0b3IgPSBTeW50aGV0aWNDbGlwYm9hcmRFdmVudDtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVE9QX0dPVF9QT0lOVEVSX0NBUFRVUkU6XG4gICAgICBjYXNlIFRPUF9MT1NUX1BPSU5URVJfQ0FQVFVSRTpcbiAgICAgIGNhc2UgVE9QX1BPSU5URVJfQ0FOQ0VMOlxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9ET1dOOlxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9NT1ZFOlxuICAgICAgY2FzZSBUT1BfUE9JTlRFUl9PVVQ6XG4gICAgICBjYXNlIFRPUF9QT0lOVEVSX09WRVI6XG4gICAgICBjYXNlIFRPUF9QT0lOVEVSX1VQOlxuICAgICAgICBFdmVudENvbnN0cnVjdG9yID0gU3ludGhldGljUG9pbnRlckV2ZW50O1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIGlmIChrbm93bkhUTUxUb3BMZXZlbFR5cGVzLmluZGV4T2YodG9wTGV2ZWxUeXBlKSA9PT0gLTEpIHtcbiAgICAgICAgICAgIGVycm9yKCdTaW1wbGVFdmVudFBsdWdpbjogVW5oYW5kbGVkIGV2ZW50IHR5cGUsIGAlc2AuIFRoaXMgd2FybmluZyAnICsgJ2lzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLicsIHRvcExldmVsVHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIEhUTUwgRXZlbnRzXG4gICAgICAgIC8vIEBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDUvaW5kZXguaHRtbCNldmVudHMtMFxuXG5cbiAgICAgICAgRXZlbnRDb25zdHJ1Y3RvciA9IFN5bnRoZXRpY0V2ZW50O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgZXZlbnQgPSBFdmVudENvbnN0cnVjdG9yLmdldFBvb2xlZChkaXNwYXRjaENvbmZpZywgdGFyZ2V0SW5zdCwgbmF0aXZlRXZlbnQsIG5hdGl2ZUV2ZW50VGFyZ2V0KTtcbiAgICBhY2N1bXVsYXRlVHdvUGhhc2VEaXNwYXRjaGVzKGV2ZW50KTtcbiAgICByZXR1cm4gZXZlbnQ7XG4gIH1cbn07XG5cbi8qKlxuICogU3BlY2lmaWVzIGEgZGV0ZXJtaW5pc3RpYyBvcmRlcmluZyBvZiBgRXZlbnRQbHVnaW5gcy4gQSBjb252ZW5pZW50IHdheSB0b1xuICogcmVhc29uIGFib3V0IHBsdWdpbnMsIHdpdGhvdXQgaGF2aW5nIHRvIHBhY2thZ2UgZXZlcnkgb25lIG9mIHRoZW0uIFRoaXNcbiAqIGlzIGJldHRlciB0aGFuIGhhdmluZyBwbHVnaW5zIGJlIG9yZGVyZWQgaW4gdGhlIHNhbWUgb3JkZXIgdGhhdCB0aGV5XG4gKiBhcmUgaW5qZWN0ZWQgYmVjYXVzZSB0aGF0IG9yZGVyaW5nIHdvdWxkIGJlIGluZmx1ZW5jZWQgYnkgdGhlIHBhY2thZ2luZyBvcmRlci5cbiAqIGBSZXNwb25kZXJFdmVudFBsdWdpbmAgbXVzdCBvY2N1ciBiZWZvcmUgYFNpbXBsZUV2ZW50UGx1Z2luYCBzbyB0aGF0XG4gKiBwcmV2ZW50aW5nIGRlZmF1bHQgb24gZXZlbnRzIGlzIGNvbnZlbmllbnQgaW4gYFNpbXBsZUV2ZW50UGx1Z2luYCBoYW5kbGVycy5cbiAqL1xuXG52YXIgRE9NRXZlbnRQbHVnaW5PcmRlciA9IFsnUmVzcG9uZGVyRXZlbnRQbHVnaW4nLCAnU2ltcGxlRXZlbnRQbHVnaW4nLCAnRW50ZXJMZWF2ZUV2ZW50UGx1Z2luJywgJ0NoYW5nZUV2ZW50UGx1Z2luJywgJ1NlbGVjdEV2ZW50UGx1Z2luJywgJ0JlZm9yZUlucHV0RXZlbnRQbHVnaW4nXTtcbi8qKlxuICogSW5qZWN0IG1vZHVsZXMgZm9yIHJlc29sdmluZyBET00gaGllcmFyY2h5IGFuZCBwbHVnaW4gb3JkZXJpbmcuXG4gKi9cblxuaW5qZWN0RXZlbnRQbHVnaW5PcmRlcihET01FdmVudFBsdWdpbk9yZGVyKTtcbnNldENvbXBvbmVudFRyZWUoZ2V0RmliZXJDdXJyZW50UHJvcHNGcm9tTm9kZSQxLCBnZXRJbnN0YW5jZUZyb21Ob2RlJDEsIGdldE5vZGVGcm9tSW5zdGFuY2UkMSk7XG4vKipcbiAqIFNvbWUgaW1wb3J0YW50IGV2ZW50IHBsdWdpbnMgaW5jbHVkZWQgYnkgZGVmYXVsdCAod2l0aG91dCBoYXZpbmcgdG8gcmVxdWlyZVxuICogdGhlbSkuXG4gKi9cblxuaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lKHtcbiAgU2ltcGxlRXZlbnRQbHVnaW46IFNpbXBsZUV2ZW50UGx1Z2luLFxuICBFbnRlckxlYXZlRXZlbnRQbHVnaW46IEVudGVyTGVhdmVFdmVudFBsdWdpbixcbiAgQ2hhbmdlRXZlbnRQbHVnaW46IENoYW5nZUV2ZW50UGx1Z2luLFxuICBTZWxlY3RFdmVudFBsdWdpbjogU2VsZWN0RXZlbnRQbHVnaW4sXG4gIEJlZm9yZUlucHV0RXZlbnRQbHVnaW46IEJlZm9yZUlucHV0RXZlbnRQbHVnaW5cbn0pO1xuXG4vLyBQcmVmaXggbWVhc3VyZW1lbnRzIHNvIHRoYXQgaXQncyBwb3NzaWJsZSB0byBmaWx0ZXIgdGhlbS5cbi8vIExvbmdlciBwcmVmaXhlcyBhcmUgaGFyZCB0byByZWFkIGluIERldlRvb2xzLlxudmFyIHJlYWN0RW1vamkgPSBcIlxcdTI2OUJcIjtcbnZhciB3YXJuaW5nRW1vamkgPSBcIlxcdTI2RDRcIjtcbnZhciBzdXBwb3J0c1VzZXJUaW1pbmcgPSB0eXBlb2YgcGVyZm9ybWFuY2UgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5tYXJrID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5jbGVhck1hcmtzID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5tZWFzdXJlID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBwZXJmb3JtYW5jZS5jbGVhck1lYXN1cmVzID09PSAnZnVuY3Rpb24nOyAvLyBLZWVwIHRyYWNrIG9mIGN1cnJlbnQgZmliZXIgc28gdGhhdCB3ZSBrbm93IHRoZSBwYXRoIHRvIHVud2luZCBvbiBwYXVzZS5cbi8vIFRPRE86IHRoaXMgbG9va3MgdGhlIHNhbWUgYXMgbmV4dFVuaXRPZldvcmsgaW4gc2NoZWR1bGVyLiBDYW4gd2UgdW5pZnkgdGhlbT9cblxudmFyIGN1cnJlbnRGaWJlciA9IG51bGw7IC8vIElmIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgdXNlciBjb2RlLCB3aGljaCBmaWJlciBhbmQgbWV0aG9kIGlzIGl0P1xuLy8gUmV1c2luZyBgY3VycmVudEZpYmVyYCB3b3VsZCBiZSBjb25mdXNpbmcgZm9yIHRoaXMgYmVjYXVzZSB1c2VyIGNvZGUgZmliZXJcbi8vIGNhbiBjaGFuZ2UgZHVyaW5nIGNvbW1pdCBwaGFzZSB0b28sIGJ1dCB3ZSBkb24ndCBuZWVkIHRvIHVud2luZCBpdCAoc2luY2Vcbi8vIGxpZmVjeWNsZXMgaW4gdGhlIGNvbW1pdCBwaGFzZSBkb24ndCByZXNlbWJsZSBhIHRyZWUpLlxuXG52YXIgY3VycmVudFBoYXNlID0gbnVsbDtcbnZhciBjdXJyZW50UGhhc2VGaWJlciA9IG51bGw7IC8vIERpZCBsaWZlY3ljbGUgaG9vayBzY2hlZHVsZSBhbiB1cGRhdGU/IFRoaXMgaXMgb2Z0ZW4gYSBwZXJmb3JtYW5jZSBwcm9ibGVtLFxuLy8gc28gd2Ugd2lsbCBrZWVwIHRyYWNrIG9mIGl0LCBhbmQgaW5jbHVkZSBpdCBpbiB0aGUgcmVwb3J0LlxuLy8gVHJhY2sgY29tbWl0cyBjYXVzZWQgYnkgY2FzY2FkaW5nIHVwZGF0ZXMuXG5cbnZhciBpc0NvbW1pdHRpbmcgPSBmYWxzZTtcbnZhciBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRDb21taXQgPSBmYWxzZTtcbnZhciBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA9IGZhbHNlO1xudmFyIGNvbW1pdENvdW50SW5DdXJyZW50V29ya0xvb3AgPSAwO1xudmFyIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcbi8vIHRvIGF2b2lkIHN0cmV0Y2ggdGhlIGNvbW1pdCBwaGFzZSB3aXRoIG1lYXN1cmVtZW50IG92ZXJoZWFkLlxuXG52YXIgbGFiZWxzSW5DdXJyZW50Q29tbWl0ID0gbmV3IFNldCgpO1xuXG52YXIgZm9ybWF0TWFya05hbWUgPSBmdW5jdGlvbiAobWFya05hbWUpIHtcbiAgcmV0dXJuIHJlYWN0RW1vamkgKyBcIiBcIiArIG1hcmtOYW1lO1xufTtcblxudmFyIGZvcm1hdExhYmVsID0gZnVuY3Rpb24gKGxhYmVsLCB3YXJuaW5nKSB7XG4gIHZhciBwcmVmaXggPSB3YXJuaW5nID8gd2FybmluZ0Vtb2ppICsgXCIgXCIgOiByZWFjdEVtb2ppICsgXCIgXCI7XG4gIHZhciBzdWZmaXggPSB3YXJuaW5nID8gXCIgV2FybmluZzogXCIgKyB3YXJuaW5nIDogJyc7XG4gIHJldHVybiBcIlwiICsgcHJlZml4ICsgbGFiZWwgKyBzdWZmaXg7XG59O1xuXG52YXIgYmVnaW5NYXJrID0gZnVuY3Rpb24gKG1hcmtOYW1lKSB7XG4gIHBlcmZvcm1hbmNlLm1hcmsoZm9ybWF0TWFya05hbWUobWFya05hbWUpKTtcbn07XG5cbnZhciBjbGVhck1hcmsgPSBmdW5jdGlvbiAobWFya05hbWUpIHtcbiAgcGVyZm9ybWFuY2UuY2xlYXJNYXJrcyhmb3JtYXRNYXJrTmFtZShtYXJrTmFtZSkpO1xufTtcblxudmFyIGVuZE1hcmsgPSBmdW5jdGlvbiAobGFiZWwsIG1hcmtOYW1lLCB3YXJuaW5nKSB7XG4gIHZhciBmb3JtYXR0ZWRNYXJrTmFtZSA9IGZvcm1hdE1hcmtOYW1lKG1hcmtOYW1lKTtcbiAgdmFyIGZvcm1hdHRlZExhYmVsID0gZm9ybWF0TGFiZWwobGFiZWwsIHdhcm5pbmcpO1xuXG4gIHRyeSB7XG4gICAgcGVyZm9ybWFuY2UubWVhc3VyZShmb3JtYXR0ZWRMYWJlbCwgZm9ybWF0dGVkTWFya05hbWUpO1xuICB9IGNhdGNoIChlcnIpIHt9IC8vIElmIHByZXZpb3VzIG1hcmsgd2FzIG1pc3NpbmcgZm9yIHNvbWUgcmVhc29uLCB0aGlzIHdpbGwgdGhyb3cuXG4gIC8vIFRoaXMgY291bGQgb25seSBoYXBwZW4gaWYgUmVhY3QgY3Jhc2hlZCBpbiBhbiB1bmV4cGVjdGVkIHBsYWNlIGVhcmxpZXIuXG4gIC8vIERvbid0IHBpbGUgb24gd2l0aCBtb3JlIGVycm9ycy5cbiAgLy8gQ2xlYXIgbWFya3MgaW1tZWRpYXRlbHkgdG8gYXZvaWQgZ3Jvd2luZyBidWZmZXIuXG5cblxuICBwZXJmb3JtYW5jZS5jbGVhck1hcmtzKGZvcm1hdHRlZE1hcmtOYW1lKTtcbiAgcGVyZm9ybWFuY2UuY2xlYXJNZWFzdXJlcyhmb3JtYXR0ZWRMYWJlbCk7XG59O1xuXG52YXIgZ2V0RmliZXJNYXJrTmFtZSA9IGZ1bmN0aW9uIChsYWJlbCwgZGVidWdJRCkge1xuICByZXR1cm4gbGFiZWwgKyBcIiAoI1wiICsgZGVidWdJRCArIFwiKVwiO1xufTtcblxudmFyIGdldEZpYmVyTGFiZWwgPSBmdW5jdGlvbiAoY29tcG9uZW50TmFtZSwgaXNNb3VudGVkLCBwaGFzZSkge1xuICBpZiAocGhhc2UgPT09IG51bGwpIHtcbiAgICAvLyBUaGVzZSBhcmUgY29tcG9zaXRlIGNvbXBvbmVudCB0b3RhbCB0aW1lIG1lYXN1cmVtZW50cy5cbiAgICByZXR1cm4gY29tcG9uZW50TmFtZSArIFwiIFtcIiArIChpc01vdW50ZWQgPyAndXBkYXRlJyA6ICdtb3VudCcpICsgXCJdXCI7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29tcG9zaXRlIGNvbXBvbmVudCBtZXRob2RzLlxuICAgIHJldHVybiBjb21wb25lbnROYW1lICsgXCIuXCIgKyBwaGFzZTtcbiAgfVxufTtcblxudmFyIGJlZ2luRmliZXJNYXJrID0gZnVuY3Rpb24gKGZpYmVyLCBwaGFzZSkge1xuICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ1Vua25vd24nO1xuICB2YXIgZGVidWdJRCA9IGZpYmVyLl9kZWJ1Z0lEO1xuICB2YXIgaXNNb3VudGVkID0gZmliZXIuYWx0ZXJuYXRlICE9PSBudWxsO1xuICB2YXIgbGFiZWwgPSBnZXRGaWJlckxhYmVsKGNvbXBvbmVudE5hbWUsIGlzTW91bnRlZCwgcGhhc2UpO1xuXG4gIGlmIChpc0NvbW1pdHRpbmcgJiYgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmhhcyhsYWJlbCkpIHtcbiAgICAvLyBEdXJpbmcgdGhlIGNvbW1pdCBwaGFzZSwgd2UgZG9uJ3Qgc2hvdyBkdXBsaWNhdGUgbGFiZWxzIGJlY2F1c2VcbiAgICAvLyB0aGVyZSBpcyBhIGZpeGVkIG92ZXJoZWFkIGZvciBldmVyeSBtZWFzdXJlbWVudCwgYW5kIHdlIGRvbid0XG4gICAgLy8gd2FudCB0byBzdHJldGNoIHRoZSBjb21taXQgcGhhc2UgYmV5b25kIG5lY2Vzc2FyeS5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsYWJlbHNJbkN1cnJlbnRDb21taXQuYWRkKGxhYmVsKTtcbiAgdmFyIG1hcmtOYW1lID0gZ2V0RmliZXJNYXJrTmFtZShsYWJlbCwgZGVidWdJRCk7XG4gIGJlZ2luTWFyayhtYXJrTmFtZSk7XG4gIHJldHVybiB0cnVlO1xufTtcblxudmFyIGNsZWFyRmliZXJNYXJrID0gZnVuY3Rpb24gKGZpYmVyLCBwaGFzZSkge1xuICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ1Vua25vd24nO1xuICB2YXIgZGVidWdJRCA9IGZpYmVyLl9kZWJ1Z0lEO1xuICB2YXIgaXNNb3VudGVkID0gZmliZXIuYWx0ZXJuYXRlICE9PSBudWxsO1xuICB2YXIgbGFiZWwgPSBnZXRGaWJlckxhYmVsKGNvbXBvbmVudE5hbWUsIGlzTW91bnRlZCwgcGhhc2UpO1xuICB2YXIgbWFya05hbWUgPSBnZXRGaWJlck1hcmtOYW1lKGxhYmVsLCBkZWJ1Z0lEKTtcbiAgY2xlYXJNYXJrKG1hcmtOYW1lKTtcbn07XG5cbnZhciBlbmRGaWJlck1hcmsgPSBmdW5jdGlvbiAoZmliZXIsIHBoYXNlLCB3YXJuaW5nKSB7XG4gIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnVW5rbm93bic7XG4gIHZhciBkZWJ1Z0lEID0gZmliZXIuX2RlYnVnSUQ7XG4gIHZhciBpc01vdW50ZWQgPSBmaWJlci5hbHRlcm5hdGUgIT09IG51bGw7XG4gIHZhciBsYWJlbCA9IGdldEZpYmVyTGFiZWwoY29tcG9uZW50TmFtZSwgaXNNb3VudGVkLCBwaGFzZSk7XG4gIHZhciBtYXJrTmFtZSA9IGdldEZpYmVyTWFya05hbWUobGFiZWwsIGRlYnVnSUQpO1xuICBlbmRNYXJrKGxhYmVsLCBtYXJrTmFtZSwgd2FybmluZyk7XG59O1xuXG52YXIgc2hvdWxkSWdub3JlRmliZXIgPSBmdW5jdGlvbiAoZmliZXIpIHtcbiAgLy8gSG9zdCBjb21wb25lbnRzIHNob3VsZCBiZSBza2lwcGVkIGluIHRoZSB0aW1lbGluZS5cbiAgLy8gV2UgY291bGQgY2hlY2sgdHlwZW9mIGZpYmVyLnR5cGUsIGJ1dCBkb2VzIHRoaXMgd29yayB3aXRoIFJOP1xuICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgY2FzZSBNb2RlOlxuICAgICAgcmV0dXJuIHRydWU7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG52YXIgY2xlYXJQZW5kaW5nUGhhc2VNZWFzdXJlbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgaWYgKGN1cnJlbnRQaGFzZSAhPT0gbnVsbCAmJiBjdXJyZW50UGhhc2VGaWJlciAhPT0gbnVsbCkge1xuICAgIGNsZWFyRmliZXJNYXJrKGN1cnJlbnRQaGFzZUZpYmVyLCBjdXJyZW50UGhhc2UpO1xuICB9XG5cbiAgY3VycmVudFBoYXNlRmliZXIgPSBudWxsO1xuICBjdXJyZW50UGhhc2UgPSBudWxsO1xuICBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRQaGFzZSA9IGZhbHNlO1xufTtcblxudmFyIHBhdXNlVGltZXJzID0gZnVuY3Rpb24gKCkge1xuICAvLyBTdG9wcyBhbGwgY3VycmVudGx5IGFjdGl2ZSBtZWFzdXJlbWVudHMgc28gdGhhdCB0aGV5IGNhbiBiZSByZXN1bWVkXG4gIC8vIGlmIHdlIGNvbnRpbnVlIGluIGEgbGF0ZXIgZGVmZXJyZWQgbG9vcCBmcm9tIHRoZSBzYW1lIHVuaXQgb2Ygd29yay5cbiAgdmFyIGZpYmVyID0gY3VycmVudEZpYmVyO1xuXG4gIHdoaWxlIChmaWJlcikge1xuICAgIGlmIChmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZykge1xuICAgICAgZW5kRmliZXJNYXJrKGZpYmVyLCBudWxsLCBudWxsKTtcbiAgICB9XG5cbiAgICBmaWJlciA9IGZpYmVyLnJldHVybjtcbiAgfVxufTtcblxudmFyIHJlc3VtZVRpbWVyc1JlY3Vyc2l2ZWx5ID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gIGlmIChmaWJlci5yZXR1cm4gIT09IG51bGwpIHtcbiAgICByZXN1bWVUaW1lcnNSZWN1cnNpdmVseShmaWJlci5yZXR1cm4pO1xuICB9XG5cbiAgaWYgKGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nKSB7XG4gICAgYmVnaW5GaWJlck1hcmsoZmliZXIsIG51bGwpO1xuICB9XG59O1xuXG52YXIgcmVzdW1lVGltZXJzID0gZnVuY3Rpb24gKCkge1xuICAvLyBSZXN1bWVzIGFsbCBtZWFzdXJlbWVudHMgdGhhdCB3ZXJlIGFjdGl2ZSBkdXJpbmcgdGhlIGxhc3QgZGVmZXJyZWQgbG9vcC5cbiAgaWYgKGN1cnJlbnRGaWJlciAhPT0gbnVsbCkge1xuICAgIHJlc3VtZVRpbWVyc1JlY3Vyc2l2ZWx5KGN1cnJlbnRGaWJlcik7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHJlY29yZEVmZmVjdCgpIHtcbiAge1xuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0Kys7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlY29yZFNjaGVkdWxlVXBkYXRlKCkge1xuICB7XG4gICAgaWYgKGlzQ29tbWl0dGluZykge1xuICAgICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudFBoYXNlICE9PSBudWxsICYmIGN1cnJlbnRQaGFzZSAhPT0gJ2NvbXBvbmVudFdpbGxNb3VudCcgJiYgY3VycmVudFBoYXNlICE9PSAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycpIHtcbiAgICAgIGhhc1NjaGVkdWxlZFVwZGF0ZUluQ3VycmVudFBoYXNlID0gdHJ1ZTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHN0YXJ0V29ya1RpbWVyKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZyB8fCBzaG91bGRJZ25vcmVGaWJlcihmaWJlcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIElmIHdlIHBhdXNlLCB0aGlzIGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cblxuXG4gICAgY3VycmVudEZpYmVyID0gZmliZXI7XG5cbiAgICBpZiAoIWJlZ2luRmliZXJNYXJrKGZpYmVyLCBudWxsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gdHJ1ZTtcbiAgfVxufVxuZnVuY3Rpb24gY2FuY2VsV29ya1RpbWVyKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZyB8fCBzaG91bGRJZ25vcmVGaWJlcihmaWJlcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFJlbWVtYmVyIHdlIHNob3VsZG4ndCBjb21wbGV0ZSBtZWFzdXJlbWVudCBmb3IgdGhpcyBmaWJlci5cbiAgICAvLyBPdGhlcndpc2UgZmxhbWVjaGFydCB3aWxsIGJlIGRlZXAgZXZlbiBmb3Igc21hbGwgdXBkYXRlcy5cblxuXG4gICAgZmliZXIuX2RlYnVnSXNDdXJyZW50bHlUaW1pbmcgPSBmYWxzZTtcbiAgICBjbGVhckZpYmVyTWFyayhmaWJlciwgbnVsbCk7XG4gIH1cbn1cbmZ1bmN0aW9uIHN0b3BXb3JrVGltZXIoZmliZXIpIHtcbiAge1xuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nIHx8IHNob3VsZElnbm9yZUZpYmVyKGZpYmVyKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gSWYgd2UgcGF1c2UsIGl0cyBwYXJlbnQgaXMgdGhlIGZpYmVyIHRvIHVud2luZCBmcm9tLlxuXG5cbiAgICBjdXJyZW50RmliZXIgPSBmaWJlci5yZXR1cm47XG5cbiAgICBpZiAoIWZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmliZXIuX2RlYnVnSXNDdXJyZW50bHlUaW1pbmcgPSBmYWxzZTtcbiAgICBlbmRGaWJlck1hcmsoZmliZXIsIG51bGwsIG51bGwpO1xuICB9XG59XG5mdW5jdGlvbiBzdG9wRmFpbGVkV29ya1RpbWVyKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZyB8fCBzaG91bGRJZ25vcmVGaWJlcihmaWJlcikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIElmIHdlIHBhdXNlLCBpdHMgcGFyZW50IGlzIHRoZSBmaWJlciB0byB1bndpbmQgZnJvbS5cblxuXG4gICAgY3VycmVudEZpYmVyID0gZmliZXIucmV0dXJuO1xuXG4gICAgaWYgKCFmaWJlci5fZGVidWdJc0N1cnJlbnRseVRpbWluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGZpYmVyLl9kZWJ1Z0lzQ3VycmVudGx5VGltaW5nID0gZmFsc2U7XG4gICAgdmFyIHdhcm5pbmcgPSBmaWJlci50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50ID8gJ1JlbmRlcmluZyB3YXMgc3VzcGVuZGVkJyA6ICdBbiBlcnJvciB3YXMgdGhyb3duIGluc2lkZSB0aGlzIGVycm9yIGJvdW5kYXJ5JztcbiAgICBlbmRGaWJlck1hcmsoZmliZXIsIG51bGwsIHdhcm5pbmcpO1xuICB9XG59XG5mdW5jdGlvbiBzdGFydFBoYXNlVGltZXIoZmliZXIsIHBoYXNlKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNsZWFyUGVuZGluZ1BoYXNlTWVhc3VyZW1lbnQoKTtcblxuICAgIGlmICghYmVnaW5GaWJlck1hcmsoZmliZXIsIHBoYXNlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGN1cnJlbnRQaGFzZUZpYmVyID0gZmliZXI7XG4gICAgY3VycmVudFBoYXNlID0gcGhhc2U7XG4gIH1cbn1cbmZ1bmN0aW9uIHN0b3BQaGFzZVRpbWVyKCkge1xuICB7XG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY3VycmVudFBoYXNlICE9PSBudWxsICYmIGN1cnJlbnRQaGFzZUZpYmVyICE9PSBudWxsKSB7XG4gICAgICB2YXIgd2FybmluZyA9IGhhc1NjaGVkdWxlZFVwZGF0ZUluQ3VycmVudFBoYXNlID8gJ1NjaGVkdWxlZCBhIGNhc2NhZGluZyB1cGRhdGUnIDogbnVsbDtcbiAgICAgIGVuZEZpYmVyTWFyayhjdXJyZW50UGhhc2VGaWJlciwgY3VycmVudFBoYXNlLCB3YXJuaW5nKTtcbiAgICB9XG5cbiAgICBjdXJyZW50UGhhc2UgPSBudWxsO1xuICAgIGN1cnJlbnRQaGFzZUZpYmVyID0gbnVsbDtcbiAgfVxufVxuZnVuY3Rpb24gc3RhcnRXb3JrTG9vcFRpbWVyKG5leHRVbml0T2ZXb3JrKSB7XG4gIHtcbiAgICBjdXJyZW50RmliZXIgPSBuZXh0VW5pdE9mV29yaztcblxuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29tbWl0Q291bnRJbkN1cnJlbnRXb3JrTG9vcCA9IDA7IC8vIFRoaXMgaXMgdG9wIGxldmVsIGNhbGwuXG4gICAgLy8gQW55IG90aGVyIG1lYXN1cmVtZW50cyBhcmUgcGVyZm9ybWVkIHdpdGhpbi5cblxuICAgIGJlZ2luTWFyaygnKFJlYWN0IFRyZWUgUmVjb25jaWxpYXRpb24pJyk7IC8vIFJlc3VtZSBhbnkgbWVhc3VyZW1lbnRzIHRoYXQgd2VyZSBpbiBwcm9ncmVzcyBkdXJpbmcgdGhlIGxhc3QgbG9vcC5cblxuICAgIHJlc3VtZVRpbWVycygpO1xuICB9XG59XG5mdW5jdGlvbiBzdG9wV29ya0xvb3BUaW1lcihpbnRlcnJ1cHRlZEJ5LCBkaWRDb21wbGV0ZVJvb3QpIHtcbiAge1xuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHdhcm5pbmcgPSBudWxsO1xuXG4gICAgaWYgKGludGVycnVwdGVkQnkgIT09IG51bGwpIHtcbiAgICAgIGlmIChpbnRlcnJ1cHRlZEJ5LnRhZyA9PT0gSG9zdFJvb3QpIHtcbiAgICAgICAgd2FybmluZyA9ICdBIHRvcC1sZXZlbCB1cGRhdGUgaW50ZXJydXB0ZWQgdGhlIHByZXZpb3VzIHJlbmRlcic7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoaW50ZXJydXB0ZWRCeS50eXBlKSB8fCAnVW5rbm93bic7XG4gICAgICAgIHdhcm5pbmcgPSBcIkFuIHVwZGF0ZSB0byBcIiArIGNvbXBvbmVudE5hbWUgKyBcIiBpbnRlcnJ1cHRlZCB0aGUgcHJldmlvdXMgcmVuZGVyXCI7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID4gMSkge1xuICAgICAgd2FybmluZyA9ICdUaGVyZSB3ZXJlIGNhc2NhZGluZyB1cGRhdGVzJztcbiAgICB9XG5cbiAgICBjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID0gMDtcbiAgICB2YXIgbGFiZWwgPSBkaWRDb21wbGV0ZVJvb3QgPyAnKFJlYWN0IFRyZWUgUmVjb25jaWxpYXRpb246IENvbXBsZXRlZCBSb290KScgOiAnKFJlYWN0IFRyZWUgUmVjb25jaWxpYXRpb246IFlpZWxkZWQpJzsgLy8gUGF1c2UgYW55IG1lYXN1cmVtZW50cyB1bnRpbCB0aGUgbmV4dCBsb29wLlxuXG4gICAgcGF1c2VUaW1lcnMoKTtcbiAgICBlbmRNYXJrKGxhYmVsLCAnKFJlYWN0IFRyZWUgUmVjb25jaWxpYXRpb24pJywgd2FybmluZyk7XG4gIH1cbn1cbmZ1bmN0aW9uIHN0YXJ0Q29tbWl0VGltZXIoKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlzQ29tbWl0dGluZyA9IHRydWU7XG4gICAgaGFzU2NoZWR1bGVkVXBkYXRlSW5DdXJyZW50Q29tbWl0ID0gZmFsc2U7XG4gICAgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmNsZWFyKCk7XG4gICAgYmVnaW5NYXJrKCcoQ29tbWl0dGluZyBDaGFuZ2VzKScpO1xuICB9XG59XG5mdW5jdGlvbiBzdG9wQ29tbWl0VGltZXIoKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciB3YXJuaW5nID0gbnVsbDtcblxuICAgIGlmIChoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRDb21taXQpIHtcbiAgICAgIHdhcm5pbmcgPSAnTGlmZWN5Y2xlIGhvb2sgc2NoZWR1bGVkIGEgY2FzY2FkaW5nIHVwZGF0ZSc7XG4gICAgfSBlbHNlIGlmIChjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wID4gMCkge1xuICAgICAgd2FybmluZyA9ICdDYXVzZWQgYnkgYSBjYXNjYWRpbmcgdXBkYXRlIGluIGVhcmxpZXIgY29tbWl0JztcbiAgICB9XG5cbiAgICBoYXNTY2hlZHVsZWRVcGRhdGVJbkN1cnJlbnRDb21taXQgPSBmYWxzZTtcbiAgICBjb21taXRDb3VudEluQ3VycmVudFdvcmtMb29wKys7XG4gICAgaXNDb21taXR0aW5nID0gZmFsc2U7XG4gICAgbGFiZWxzSW5DdXJyZW50Q29tbWl0LmNsZWFyKCk7XG4gICAgZW5kTWFyaygnKENvbW1pdHRpbmcgQ2hhbmdlcyknLCAnKENvbW1pdHRpbmcgQ2hhbmdlcyknLCB3YXJuaW5nKTtcbiAgfVxufVxuZnVuY3Rpb24gc3RhcnRDb21taXRTbmFwc2hvdEVmZmVjdHNUaW1lcigpIHtcbiAge1xuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xuICAgIGJlZ2luTWFyaygnKENvbW1pdHRpbmcgU25hcHNob3QgRWZmZWN0cyknKTtcbiAgfVxufVxuZnVuY3Rpb24gc3RvcENvbW1pdFNuYXBzaG90RWZmZWN0c1RpbWVyKCkge1xuICB7XG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgY291bnQgPSBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdDtcbiAgICBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdCA9IDA7XG4gICAgZW5kTWFyayhcIihDb21taXR0aW5nIFNuYXBzaG90IEVmZmVjdHM6IFwiICsgY291bnQgKyBcIiBUb3RhbClcIiwgJyhDb21taXR0aW5nIFNuYXBzaG90IEVmZmVjdHMpJywgbnVsbCk7XG4gIH1cbn1cbmZ1bmN0aW9uIHN0YXJ0Q29tbWl0SG9zdEVmZmVjdHNUaW1lcigpIHtcbiAge1xuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xuICAgIGJlZ2luTWFyaygnKENvbW1pdHRpbmcgSG9zdCBFZmZlY3RzKScpO1xuICB9XG59XG5mdW5jdGlvbiBzdG9wQ29tbWl0SG9zdEVmZmVjdHNUaW1lcigpIHtcbiAge1xuICAgIGlmICghc3VwcG9ydHNVc2VyVGltaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIGNvdW50ID0gZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQ7XG4gICAgZWZmZWN0Q291bnRJbkN1cnJlbnRDb21taXQgPSAwO1xuICAgIGVuZE1hcmsoXCIoQ29tbWl0dGluZyBIb3N0IEVmZmVjdHM6IFwiICsgY291bnQgKyBcIiBUb3RhbClcIiwgJyhDb21taXR0aW5nIEhvc3QgRWZmZWN0cyknLCBudWxsKTtcbiAgfVxufVxuZnVuY3Rpb24gc3RhcnRDb21taXRMaWZlQ3ljbGVzVGltZXIoKSB7XG4gIHtcbiAgICBpZiAoIXN1cHBvcnRzVXNlclRpbWluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVmZmVjdENvdW50SW5DdXJyZW50Q29tbWl0ID0gMDtcbiAgICBiZWdpbk1hcmsoJyhDYWxsaW5nIExpZmVjeWNsZSBNZXRob2RzKScpO1xuICB9XG59XG5mdW5jdGlvbiBzdG9wQ29tbWl0TGlmZUN5Y2xlc1RpbWVyKCkge1xuICB7XG4gICAgaWYgKCFzdXBwb3J0c1VzZXJUaW1pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgY291bnQgPSBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdDtcbiAgICBlZmZlY3RDb3VudEluQ3VycmVudENvbW1pdCA9IDA7XG4gICAgZW5kTWFyayhcIihDYWxsaW5nIExpZmVjeWNsZSBNZXRob2RzOiBcIiArIGNvdW50ICsgXCIgVG90YWwpXCIsICcoQ2FsbGluZyBMaWZlY3ljbGUgTWV0aG9kcyknLCBudWxsKTtcbiAgfVxufVxuXG52YXIgdmFsdWVTdGFjayA9IFtdO1xudmFyIGZpYmVyU3RhY2s7XG5cbntcbiAgZmliZXJTdGFjayA9IFtdO1xufVxuXG52YXIgaW5kZXggPSAtMTtcblxuZnVuY3Rpb24gY3JlYXRlQ3Vyc29yKGRlZmF1bHRWYWx1ZSkge1xuICByZXR1cm4ge1xuICAgIGN1cnJlbnQ6IGRlZmF1bHRWYWx1ZVxuICB9O1xufVxuXG5mdW5jdGlvbiBwb3AoY3Vyc29yLCBmaWJlcikge1xuICBpZiAoaW5kZXggPCAwKSB7XG4gICAge1xuICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcG9wLicpO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICBpZiAoZmliZXIgIT09IGZpYmVyU3RhY2tbaW5kZXhdKSB7XG4gICAgICBlcnJvcignVW5leHBlY3RlZCBGaWJlciBwb3BwZWQuJyk7XG4gICAgfVxuICB9XG5cbiAgY3Vyc29yLmN1cnJlbnQgPSB2YWx1ZVN0YWNrW2luZGV4XTtcbiAgdmFsdWVTdGFja1tpbmRleF0gPSBudWxsO1xuXG4gIHtcbiAgICBmaWJlclN0YWNrW2luZGV4XSA9IG51bGw7XG4gIH1cblxuICBpbmRleC0tO1xufVxuXG5mdW5jdGlvbiBwdXNoKGN1cnNvciwgdmFsdWUsIGZpYmVyKSB7XG4gIGluZGV4Kys7XG4gIHZhbHVlU3RhY2tbaW5kZXhdID0gY3Vyc29yLmN1cnJlbnQ7XG5cbiAge1xuICAgIGZpYmVyU3RhY2tbaW5kZXhdID0gZmliZXI7XG4gIH1cblxuICBjdXJzb3IuY3VycmVudCA9IHZhbHVlO1xufVxuXG52YXIgd2FybmVkQWJvdXRNaXNzaW5nR2V0Q2hpbGRDb250ZXh0O1xuXG57XG4gIHdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dCA9IHt9O1xufVxuXG52YXIgZW1wdHlDb250ZXh0T2JqZWN0ID0ge307XG5cbntcbiAgT2JqZWN0LmZyZWV6ZShlbXB0eUNvbnRleHRPYmplY3QpO1xufSAvLyBBIGN1cnNvciB0byB0aGUgY3VycmVudCBtZXJnZWQgY29udGV4dCBvYmplY3Qgb24gdGhlIHN0YWNrLlxuXG5cbnZhciBjb250ZXh0U3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoZW1wdHlDb250ZXh0T2JqZWN0KTsgLy8gQSBjdXJzb3IgdG8gYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgY29udGV4dCBoYXMgY2hhbmdlZC5cblxudmFyIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IgPSBjcmVhdGVDdXJzb3IoZmFsc2UpOyAvLyBLZWVwIHRyYWNrIG9mIHRoZSBwcmV2aW91cyBjb250ZXh0IG9iamVjdCB0aGF0IHdhcyBvbiB0aGUgc3RhY2suXG4vLyBXZSB1c2UgdGhpcyB0byBnZXQgYWNjZXNzIHRvIHRoZSBwYXJlbnQgY29udGV4dCBhZnRlciB3ZSBoYXZlIGFscmVhZHlcbi8vIHB1c2hlZCB0aGUgbmV4dCBjb250ZXh0IHByb3ZpZGVyLCBhbmQgbm93IG5lZWQgdG8gbWVyZ2UgdGhlaXIgY29udGV4dHMuXG5cbnZhciBwcmV2aW91c0NvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG5cbmZ1bmN0aW9uIGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBkaWRQdXNoT3duQ29udGV4dElmUHJvdmlkZXIpIHtcbiAge1xuICAgIGlmIChkaWRQdXNoT3duQ29udGV4dElmUHJvdmlkZXIgJiYgaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgLy8gSWYgdGhlIGZpYmVyIGlzIGEgY29udGV4dCBwcm92aWRlciBpdHNlbGYsIHdoZW4gd2UgcmVhZCBpdHMgY29udGV4dFxuICAgICAgLy8gd2UgbWF5IGhhdmUgYWxyZWFkeSBwdXNoZWQgaXRzIG93biBjaGlsZCBjb250ZXh0IG9uIHRoZSBzdGFjay4gQSBjb250ZXh0XG4gICAgICAvLyBwcm92aWRlciBzaG91bGQgbm90IFwic2VlXCIgaXRzIG93biBjaGlsZCBjb250ZXh0LiBUaGVyZWZvcmUgd2UgcmVhZCB0aGVcbiAgICAgIC8vIHByZXZpb3VzIChwYXJlbnQpIGNvbnRleHQgaW5zdGVhZCBmb3IgYSBjb250ZXh0IHByb3ZpZGVyLlxuICAgICAgcmV0dXJuIHByZXZpb3VzQ29udGV4dDtcbiAgICB9XG5cbiAgICByZXR1cm4gY29udGV4dFN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIG1hc2tlZENvbnRleHQpIHtcbiAge1xuICAgIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcbiAgICBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZFVubWFza2VkQ2hpbGRDb250ZXh0ID0gdW5tYXNrZWRDb250ZXh0O1xuICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0ID0gbWFza2VkQ29udGV4dDtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQpIHtcbiAge1xuICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICB2YXIgY29udGV4dFR5cGVzID0gdHlwZS5jb250ZXh0VHlwZXM7XG5cbiAgICBpZiAoIWNvbnRleHRUeXBlcykge1xuICAgICAgcmV0dXJuIGVtcHR5Q29udGV4dE9iamVjdDtcbiAgICB9IC8vIEF2b2lkIHJlY3JlYXRpbmcgbWFza2VkIGNvbnRleHQgdW5sZXNzIHVubWFza2VkIGNvbnRleHQgaGFzIGNoYW5nZWQuXG4gICAgLy8gRmFpbGluZyB0byBkbyB0aGlzIHdpbGwgcmVzdWx0IGluIHVubmVjZXNzYXJ5IGNhbGxzIHRvIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMuXG4gICAgLy8gVGhpcyBtYXkgdHJpZ2dlciBpbmZpbml0ZSBsb29wcyBpZiBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIGNhbGxzIHNldFN0YXRlLlxuXG5cbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoaW5zdGFuY2UgJiYgaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dCA9PT0gdW5tYXNrZWRDb250ZXh0KSB7XG4gICAgICByZXR1cm4gaW5zdGFuY2UuX19yZWFjdEludGVybmFsTWVtb2l6ZWRNYXNrZWRDaGlsZENvbnRleHQ7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRleHQgPSB7fTtcblxuICAgIGZvciAodmFyIGtleSBpbiBjb250ZXh0VHlwZXMpIHtcbiAgICAgIGNvbnRleHRba2V5XSA9IHVubWFza2VkQ29udGV4dFtrZXldO1xuICAgIH1cblxuICAgIHtcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnVW5rbm93bic7XG4gICAgICBjaGVja1Byb3BUeXBlcyhjb250ZXh0VHlwZXMsIGNvbnRleHQsICdjb250ZXh0JywgbmFtZSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XG4gICAgfSAvLyBDYWNoZSB1bm1hc2tlZCBjb250ZXh0IHNvIHdlIGNhbiBhdm9pZCByZWNyZWF0aW5nIG1hc2tlZCBjb250ZXh0IHVubGVzcyBuZWNlc3NhcnkuXG4gICAgLy8gQ29udGV4dCBpcyBjcmVhdGVkIGJlZm9yZSB0aGUgY2xhc3MgY29tcG9uZW50IGlzIGluc3RhbnRpYXRlZCBzbyBjaGVjayBmb3IgaW5zdGFuY2UuXG5cblxuICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhc0NvbnRleHRDaGFuZ2VkKCkge1xuICB7XG4gICAgcmV0dXJuIGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IuY3VycmVudDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0NvbnRleHRQcm92aWRlcih0eXBlKSB7XG4gIHtcbiAgICB2YXIgY2hpbGRDb250ZXh0VHlwZXMgPSB0eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuICAgIHJldHVybiBjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIHBvcChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBmaWJlcik7XG4gICAgcG9wKGNvbnRleHRTdGFja0N1cnNvciwgZmliZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlcikge1xuICB7XG4gICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGZpYmVyKTtcbiAgICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHVzaFRvcExldmVsQ29udGV4dE9iamVjdChmaWJlciwgY29udGV4dCwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICBpZiAoIShjb250ZXh0U3RhY2tDdXJzb3IuY3VycmVudCA9PT0gZW1wdHlDb250ZXh0T2JqZWN0KSkge1xuICAgICAge1xuICAgICAgICB0aHJvdyBFcnJvciggXCJVbmV4cGVjdGVkIGNvbnRleHQgZm91bmQgb24gc3RhY2suIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciwgY29udGV4dCwgZmliZXIpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkQ2hhbmdlLCBmaWJlcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgdHlwZSwgcGFyZW50Q29udGV4dCkge1xuICB7XG4gICAgdmFyIGluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IHR5cGUuY2hpbGRDb250ZXh0VHlwZXM7IC8vIFRPRE8gKGJ2YXVnaG4pIFJlcGxhY2UgdGhpcyBiZWhhdmlvciB3aXRoIGFuIGludmFyaWFudCgpIGluIHRoZSBmdXR1cmUuXG4gICAgLy8gSXQgaGFzIG9ubHkgYmVlbiBhZGRlZCBpbiBGaWJlciB0byBtYXRjaCB0aGUgKHVuaW50ZW50aW9uYWwpIGJlaGF2aW9yIGluIFN0YWNrLlxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRDaGlsZENvbnRleHQgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHtcbiAgICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHR5cGUpIHx8ICdVbmtub3duJztcblxuICAgICAgICBpZiAoIXdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dFtjb21wb25lbnROYW1lXSkge1xuICAgICAgICAgIHdhcm5lZEFib3V0TWlzc2luZ0dldENoaWxkQ29udGV4dFtjb21wb25lbnROYW1lXSA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignJXMuY2hpbGRDb250ZXh0VHlwZXMgaXMgc3BlY2lmaWVkIGJ1dCB0aGVyZSBpcyBubyBnZXRDaGlsZENvbnRleHQoKSBtZXRob2QgJyArICdvbiB0aGUgaW5zdGFuY2UuIFlvdSBjYW4gZWl0aGVyIGRlZmluZSBnZXRDaGlsZENvbnRleHQoKSBvbiAlcyBvciByZW1vdmUgJyArICdjaGlsZENvbnRleHRUeXBlcyBmcm9tIGl0LicsIGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBwYXJlbnRDb250ZXh0O1xuICAgIH1cblxuICAgIHZhciBjaGlsZENvbnRleHQ7XG4gICAgc3RhcnRQaGFzZVRpbWVyKGZpYmVyLCAnZ2V0Q2hpbGRDb250ZXh0Jyk7XG4gICAgY2hpbGRDb250ZXh0ID0gaW5zdGFuY2UuZ2V0Q2hpbGRDb250ZXh0KCk7XG4gICAgc3RvcFBoYXNlVGltZXIoKTtcblxuICAgIGZvciAodmFyIGNvbnRleHRLZXkgaW4gY2hpbGRDb250ZXh0KSB7XG4gICAgICBpZiAoIShjb250ZXh0S2V5IGluIGNoaWxkQ29udGV4dFR5cGVzKSkge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIChnZXRDb21wb25lbnROYW1lKHR5cGUpIHx8ICdVbmtub3duJykgKyBcIi5nZXRDaGlsZENvbnRleHQoKToga2V5IFxcXCJcIiArIGNvbnRleHRLZXkgKyBcIlxcXCIgaXMgbm90IGRlZmluZWQgaW4gY2hpbGRDb250ZXh0VHlwZXMuXCIgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZSh0eXBlKSB8fCAnVW5rbm93bic7XG4gICAgICBjaGVja1Byb3BUeXBlcyhjaGlsZENvbnRleHRUeXBlcywgY2hpbGRDb250ZXh0LCAnY2hpbGQgY29udGV4dCcsIG5hbWUsIC8vIEluIHByYWN0aWNlLCB0aGVyZSBpcyBvbmUgY2FzZSBpbiB3aGljaCB3ZSB3b24ndCBnZXQgYSBzdGFjay4gSXQncyB3aGVuXG4gICAgICAvLyBzb21lYm9keSBjYWxscyB1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcigpIGFuZCB3ZSBwcm9jZXNzXG4gICAgICAvLyBjb250ZXh0IGZyb20gdGhlIHBhcmVudCBjb21wb25lbnQgaW5zdGFuY2UuIFRoZSBzdGFjayB3aWxsIGJlIG1pc3NpbmdcbiAgICAgIC8vIGJlY2F1c2UgaXQncyBvdXRzaWRlIG9mIHRoZSByZWNvbmNpbGlhdGlvbiwgYW5kIHNvIHRoZSBwb2ludGVyIGhhcyBub3RcbiAgICAgIC8vIGJlZW4gc2V0LiBUaGlzIGlzIHJhcmUgYW5kIGRvZXNuJ3QgbWF0dGVyLiBXZSdsbCBhbHNvIHJlbW92ZSB0aGF0IEFQSS5cbiAgICAgIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xuICAgIH1cblxuICAgIHJldHVybiBfYXNzaWduKHt9LCBwYXJlbnRDb250ZXh0LCB7fSwgY2hpbGRDb250ZXh0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFdlIHB1c2ggdGhlIGNvbnRleHQgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gZW5zdXJlIHN0YWNrIGludGVncml0eS5cbiAgICAvLyBJZiB0aGUgaW5zdGFuY2UgZG9lcyBub3QgZXhpc3QgeWV0LCB3ZSB3aWxsIHB1c2ggbnVsbCBhdCBmaXJzdCxcbiAgICAvLyBhbmQgcmVwbGFjZSBpdCBvbiB0aGUgc3RhY2sgbGF0ZXIgd2hlbiBpbnZhbGlkYXRpbmcgdGhlIGNvbnRleHQuXG5cbiAgICB2YXIgbWVtb2l6ZWRNZXJnZWRDaGlsZENvbnRleHQgPSBpbnN0YW5jZSAmJiBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCB8fCBlbXB0eUNvbnRleHRPYmplY3Q7IC8vIFJlbWVtYmVyIHRoZSBwYXJlbnQgY29udGV4dCBzbyB3ZSBjYW4gbWVyZ2Ugd2l0aCBpdCBsYXRlci5cbiAgICAvLyBJbmhlcml0IHRoZSBwYXJlbnQncyBkaWQtcGVyZm9ybS13b3JrIHZhbHVlIHRvIGF2b2lkIGluYWR2ZXJ0ZW50bHkgYmxvY2tpbmcgdXBkYXRlcy5cblxuICAgIHByZXZpb3VzQ29udGV4dCA9IGNvbnRleHRTdGFja0N1cnNvci5jdXJyZW50O1xuICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIHB1c2goZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvci5jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW52YWxpZGF0ZUNvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcywgdHlwZSwgZGlkQ2hhbmdlKSB7XG4gIHtcbiAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcIkV4cGVjdGVkIHRvIGhhdmUgYW4gaW5zdGFuY2UgYnkgdGhpcyBwb2ludC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkaWRDaGFuZ2UpIHtcbiAgICAgIC8vIE1lcmdlIHBhcmVudCBhbmQgb3duIGNvbnRleHQuXG4gICAgICAvLyBTa2lwIHRoaXMgaWYgd2UncmUgbm90IHVwZGF0aW5nIGR1ZSB0byBzQ1UuXG4gICAgICAvLyBUaGlzIGF2b2lkcyB1bm5lY2Vzc2FyaWx5IHJlY29tcHV0aW5nIG1lbW9pemVkIHZhbHVlcy5cbiAgICAgIHZhciBtZXJnZWRDb250ZXh0ID0gcHJvY2Vzc0NoaWxkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdHlwZSwgcHJldmlvdXNDb250ZXh0KTtcbiAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWVyZ2VkQ2hpbGRDb250ZXh0ID0gbWVyZ2VkQ29udGV4dDsgLy8gUmVwbGFjZSB0aGUgb2xkIChvciBlbXB0eSkgY29udGV4dCB3aXRoIHRoZSBuZXcgb25lLlxuICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRvIHVud2luZCB0aGUgY29udGV4dCBpbiB0aGUgcmV2ZXJzZSBvcmRlci5cblxuICAgICAgcG9wKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHBvcChjb250ZXh0U3RhY2tDdXJzb3IsIHdvcmtJblByb2dyZXNzKTsgLy8gTm93IHB1c2ggdGhlIG5ldyBjb250ZXh0IGFuZCBtYXJrIHRoYXQgaXQgaGFzIGNoYW5nZWQuXG5cbiAgICAgIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yLCBtZXJnZWRDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICBwdXNoKGRpZFBlcmZvcm1Xb3JrU3RhY2tDdXJzb3IsIGRpZENoYW5nZSwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwb3AoZGlkUGVyZm9ybVdvcmtTdGFja0N1cnNvciwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcHVzaChkaWRQZXJmb3JtV29ya1N0YWNrQ3Vyc29yLCBkaWRDaGFuZ2UsIHdvcmtJblByb2dyZXNzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEN1cnJlbnRVbm1hc2tlZENvbnRleHQoZmliZXIpIHtcbiAge1xuICAgIC8vIEN1cnJlbnRseSB0aGlzIGlzIG9ubHkgdXNlZCB3aXRoIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyOyBub3Qgc3VyZSBpZiBpdFxuICAgIC8vIG1ha2VzIHNlbnNlIGVsc2V3aGVyZVxuICAgIGlmICghKGlzRmliZXJNb3VudGVkKGZpYmVyKSAmJiBmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSkge1xuICAgICAge1xuICAgICAgICB0aHJvdyBFcnJvciggXCJFeHBlY3RlZCBzdWJ0cmVlIHBhcmVudCB0byBiZSBhIG1vdW50ZWQgY2xhc3MgY29tcG9uZW50LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcblxuICAgIGRvIHtcbiAgICAgIHN3aXRjaCAobm9kZS50YWcpIHtcbiAgICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgICByZXR1cm4gbm9kZS5zdGF0ZU5vZGUuY29udGV4dDtcblxuICAgICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBDb21wb25lbnQgPSBub2RlLnR5cGU7XG5cbiAgICAgICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBub2RlLnN0YXRlTm9kZS5fX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfSB3aGlsZSAobm9kZSAhPT0gbnVsbCk7XG5cbiAgICB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcIkZvdW5kIHVuZXhwZWN0ZWQgZGV0YWNoZWQgc3VidHJlZSBwYXJlbnQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxudmFyIExlZ2FjeVJvb3QgPSAwO1xudmFyIEJsb2NraW5nUm9vdCA9IDE7XG52YXIgQ29uY3VycmVudFJvb3QgPSAyO1xuXG52YXIgU2NoZWR1bGVyX3J1bldpdGhQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHksXG4gICAgU2NoZWR1bGVyX3NjaGVkdWxlQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjayxcbiAgICBTY2hlZHVsZXJfY2FuY2VsQ2FsbGJhY2sgPSBTY2hlZHVsZXIudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2ssXG4gICAgU2NoZWR1bGVyX3Nob3VsZFlpZWxkID0gU2NoZWR1bGVyLnVuc3RhYmxlX3Nob3VsZFlpZWxkLFxuICAgIFNjaGVkdWxlcl9yZXF1ZXN0UGFpbnQgPSBTY2hlZHVsZXIudW5zdGFibGVfcmVxdWVzdFBhaW50LFxuICAgIFNjaGVkdWxlcl9ub3cgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93LFxuICAgIFNjaGVkdWxlcl9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCA9IFNjaGVkdWxlci51bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCxcbiAgICBTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHksXG4gICAgU2NoZWR1bGVyX1VzZXJCbG9ja2luZ1ByaW9yaXR5ID0gU2NoZWR1bGVyLnVuc3RhYmxlX1VzZXJCbG9ja2luZ1ByaW9yaXR5LFxuICAgIFNjaGVkdWxlcl9Ob3JtYWxQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSxcbiAgICBTY2hlZHVsZXJfTG93UHJpb3JpdHkgPSBTY2hlZHVsZXIudW5zdGFibGVfTG93UHJpb3JpdHksXG4gICAgU2NoZWR1bGVyX0lkbGVQcmlvcml0eSA9IFNjaGVkdWxlci51bnN0YWJsZV9JZGxlUHJpb3JpdHk7XG5cbntcbiAgLy8gUHJvdmlkZSBleHBsaWNpdCBlcnJvciBtZXNzYWdlIHdoZW4gcHJvZHVjdGlvbitwcm9maWxpbmcgYnVuZGxlIG9mIGUuZy5cbiAgLy8gcmVhY3QtZG9tIGlzIHVzZWQgd2l0aCBwcm9kdWN0aW9uIChub24tcHJvZmlsaW5nKSBidW5kbGUgb2ZcbiAgLy8gc2NoZWR1bGVyL3RyYWNpbmdcbiAgaWYgKCEodHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZiAhPSBudWxsICYmIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCAhPSBudWxsKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkl0IGlzIG5vdCBzdXBwb3J0ZWQgdG8gcnVuIHRoZSBwcm9maWxpbmcgdmVyc2lvbiBvZiBhIHJlbmRlcmVyIChmb3IgZXhhbXBsZSwgYHJlYWN0LWRvbS9wcm9maWxpbmdgKSB3aXRob3V0IGFsc28gcmVwbGFjaW5nIHRoZSBgc2NoZWR1bGVyL3RyYWNpbmdgIG1vZHVsZSB3aXRoIGBzY2hlZHVsZXIvdHJhY2luZy1wcm9maWxpbmdgLiBZb3VyIGJ1bmRsZXIgbWlnaHQgaGF2ZSBhIHNldHRpbmcgZm9yIGFsaWFzaW5nIGJvdGggbW9kdWxlcy4gTGVhcm4gbW9yZSBhdCBodHRwOi8vZmIubWUvcmVhY3QtcHJvZmlsaW5nXCIgKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIGZha2VDYWxsYmFja05vZGUgPSB7fTsgLy8gRXhjZXB0IGZvciBOb1ByaW9yaXR5LCB0aGVzZSBjb3JyZXNwb25kIHRvIFNjaGVkdWxlciBwcmlvcml0aWVzLiBXZSB1c2Vcbi8vIGFzY2VuZGluZyBudW1iZXJzIHNvIHdlIGNhbiBjb21wYXJlIHRoZW0gbGlrZSBudW1iZXJzLiBUaGV5IHN0YXJ0IGF0IDkwIHRvXG4vLyBhdm9pZCBjbGFzaGluZyB3aXRoIFNjaGVkdWxlcidzIHByaW9yaXRpZXMuXG5cbnZhciBJbW1lZGlhdGVQcmlvcml0eSA9IDk5O1xudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEgPSA5ODtcbnZhciBOb3JtYWxQcmlvcml0eSA9IDk3O1xudmFyIExvd1ByaW9yaXR5ID0gOTY7XG52YXIgSWRsZVByaW9yaXR5ID0gOTU7IC8vIE5vUHJpb3JpdHkgaXMgdGhlIGFic2VuY2Ugb2YgcHJpb3JpdHkuIEFsc28gUmVhY3Qtb25seS5cblxudmFyIE5vUHJpb3JpdHkgPSA5MDtcbnZhciBzaG91bGRZaWVsZCA9IFNjaGVkdWxlcl9zaG91bGRZaWVsZDtcbnZhciByZXF1ZXN0UGFpbnQgPSAvLyBGYWxsIGJhY2sgZ3JhY2VmdWxseSBpZiB3ZSdyZSBydW5uaW5nIGFuIG9sZGVyIHZlcnNpb24gb2YgU2NoZWR1bGVyLlxuU2NoZWR1bGVyX3JlcXVlc3RQYWludCAhPT0gdW5kZWZpbmVkID8gU2NoZWR1bGVyX3JlcXVlc3RQYWludCA6IGZ1bmN0aW9uICgpIHt9O1xudmFyIHN5bmNRdWV1ZSA9IG51bGw7XG52YXIgaW1tZWRpYXRlUXVldWVDYWxsYmFja05vZGUgPSBudWxsO1xudmFyIGlzRmx1c2hpbmdTeW5jUXVldWUgPSBmYWxzZTtcbnZhciBpbml0aWFsVGltZU1zID0gU2NoZWR1bGVyX25vdygpOyAvLyBJZiB0aGUgaW5pdGlhbCB0aW1lc3RhbXAgaXMgcmVhc29uYWJseSBzbWFsbCwgdXNlIFNjaGVkdWxlcidzIGBub3dgIGRpcmVjdGx5LlxuLy8gVGhpcyB3aWxsIGJlIHRoZSBjYXNlIGZvciBtb2Rlcm4gYnJvd3NlcnMgdGhhdCBzdXBwb3J0IGBwZXJmb3JtYW5jZS5ub3dgLiBJblxuLy8gb2xkZXIgYnJvd3NlcnMsIFNjaGVkdWxlciBmYWxscyBiYWNrIHRvIGBEYXRlLm5vd2AsIHdoaWNoIHJldHVybnMgYSBVbml4XG4vLyB0aW1lc3RhbXAuIEluIHRoYXQgY2FzZSwgc3VidHJhY3QgdGhlIG1vZHVsZSBpbml0aWFsaXphdGlvbiB0aW1lIHRvIHNpbXVsYXRlXG4vLyB0aGUgYmVoYXZpb3Igb2YgcGVyZm9ybWFuY2Uubm93IGFuZCBrZWVwIG91ciB0aW1lcyBzbWFsbCBlbm91Z2ggdG8gZml0XG4vLyB3aXRoaW4gMzIgYml0cy5cbi8vIFRPRE86IENvbnNpZGVyIGxpZnRpbmcgdGhpcyBpbnRvIFNjaGVkdWxlci5cblxudmFyIG5vdyA9IGluaXRpYWxUaW1lTXMgPCAxMDAwMCA/IFNjaGVkdWxlcl9ub3cgOiBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiBTY2hlZHVsZXJfbm93KCkgLSBpbml0aWFsVGltZU1zO1xufTtcbmZ1bmN0aW9uIGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCkge1xuICBzd2l0Y2ggKFNjaGVkdWxlcl9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpKSB7XG4gICAgY2FzZSBTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XG5cbiAgICBjYXNlIFNjaGVkdWxlcl9Vc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICAgIHJldHVybiBVc2VyQmxvY2tpbmdQcmlvcml0eSQxO1xuXG4gICAgY2FzZSBTY2hlZHVsZXJfTm9ybWFsUHJpb3JpdHk6XG4gICAgICByZXR1cm4gTm9ybWFsUHJpb3JpdHk7XG5cbiAgICBjYXNlIFNjaGVkdWxlcl9Mb3dQcmlvcml0eTpcbiAgICAgIHJldHVybiBMb3dQcmlvcml0eTtcblxuICAgIGNhc2UgU2NoZWR1bGVyX0lkbGVQcmlvcml0eTpcbiAgICAgIHJldHVybiBJZGxlUHJpb3JpdHk7XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiVW5rbm93biBwcmlvcml0eSBsZXZlbC5cIiApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgfVxufVxuXG5mdW5jdGlvbiByZWFjdFByaW9yaXR5VG9TY2hlZHVsZXJQcmlvcml0eShyZWFjdFByaW9yaXR5TGV2ZWwpIHtcbiAgc3dpdGNoIChyZWFjdFByaW9yaXR5TGV2ZWwpIHtcbiAgICBjYXNlIEltbWVkaWF0ZVByaW9yaXR5OlxuICAgICAgcmV0dXJuIFNjaGVkdWxlcl9JbW1lZGlhdGVQcmlvcml0eTtcblxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHkkMTpcbiAgICAgIHJldHVybiBTY2hlZHVsZXJfVXNlckJsb2NraW5nUHJpb3JpdHk7XG5cbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgICAgcmV0dXJuIFNjaGVkdWxlcl9Ob3JtYWxQcmlvcml0eTtcblxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgICByZXR1cm4gU2NoZWR1bGVyX0xvd1ByaW9yaXR5O1xuXG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICByZXR1cm4gU2NoZWR1bGVyX0lkbGVQcmlvcml0eTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB0aHJvdyBFcnJvciggXCJVbmtub3duIHByaW9yaXR5IGxldmVsLlwiICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICB9XG59XG5cbmZ1bmN0aW9uIHJ1bldpdGhQcmlvcml0eSQxKHJlYWN0UHJpb3JpdHlMZXZlbCwgZm4pIHtcbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSByZWFjdFByaW9yaXR5VG9TY2hlZHVsZXJQcmlvcml0eShyZWFjdFByaW9yaXR5TGV2ZWwpO1xuICByZXR1cm4gU2NoZWR1bGVyX3J1bldpdGhQcmlvcml0eShwcmlvcml0eUxldmVsLCBmbik7XG59XG5mdW5jdGlvbiBzY2hlZHVsZUNhbGxiYWNrKHJlYWN0UHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSByZWFjdFByaW9yaXR5VG9TY2hlZHVsZXJQcmlvcml0eShyZWFjdFByaW9yaXR5TGV2ZWwpO1xuICByZXR1cm4gU2NoZWR1bGVyX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpO1xufVxuZnVuY3Rpb24gc2NoZWR1bGVTeW5jQ2FsbGJhY2soY2FsbGJhY2spIHtcbiAgLy8gUHVzaCB0aGlzIGNhbGxiYWNrIGludG8gYW4gaW50ZXJuYWwgcXVldWUuIFdlJ2xsIGZsdXNoIHRoZXNlIGVpdGhlciBpblxuICAvLyB0aGUgbmV4dCB0aWNrLCBvciBlYXJsaWVyIGlmIHNvbWV0aGluZyBjYWxscyBgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZWAuXG4gIGlmIChzeW5jUXVldWUgPT09IG51bGwpIHtcbiAgICBzeW5jUXVldWUgPSBbY2FsbGJhY2tdOyAvLyBGbHVzaCB0aGUgcXVldWUgaW4gdGhlIG5leHQgdGljaywgYXQgdGhlIGVhcmxpZXN0LlxuXG4gICAgaW1tZWRpYXRlUXVldWVDYWxsYmFja05vZGUgPSBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHksIGZsdXNoU3luY0NhbGxiYWNrUXVldWVJbXBsKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBQdXNoIG9udG8gZXhpc3RpbmcgcXVldWUuIERvbid0IG5lZWQgdG8gc2NoZWR1bGUgYSBjYWxsYmFjayBiZWNhdXNlXG4gICAgLy8gd2UgYWxyZWFkeSBzY2hlZHVsZWQgb25lIHdoZW4gd2UgY3JlYXRlZCB0aGUgcXVldWUuXG4gICAgc3luY1F1ZXVlLnB1c2goY2FsbGJhY2spO1xuICB9XG5cbiAgcmV0dXJuIGZha2VDYWxsYmFja05vZGU7XG59XG5mdW5jdGlvbiBjYW5jZWxDYWxsYmFjayhjYWxsYmFja05vZGUpIHtcbiAgaWYgKGNhbGxiYWNrTm9kZSAhPT0gZmFrZUNhbGxiYWNrTm9kZSkge1xuICAgIFNjaGVkdWxlcl9jYW5jZWxDYWxsYmFjayhjYWxsYmFja05vZGUpO1xuICB9XG59XG5mdW5jdGlvbiBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCkge1xuICBpZiAoaW1tZWRpYXRlUXVldWVDYWxsYmFja05vZGUgIT09IG51bGwpIHtcbiAgICB2YXIgbm9kZSA9IGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlO1xuICAgIGltbWVkaWF0ZVF1ZXVlQ2FsbGJhY2tOb2RlID0gbnVsbDtcbiAgICBTY2hlZHVsZXJfY2FuY2VsQ2FsbGJhY2sobm9kZSk7XG4gIH1cblxuICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlSW1wbCgpO1xufVxuXG5mdW5jdGlvbiBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlSW1wbCgpIHtcbiAgaWYgKCFpc0ZsdXNoaW5nU3luY1F1ZXVlICYmIHN5bmNRdWV1ZSAhPT0gbnVsbCkge1xuICAgIC8vIFByZXZlbnQgcmUtZW50cmFuY3kuXG4gICAgaXNGbHVzaGluZ1N5bmNRdWV1ZSA9IHRydWU7XG4gICAgdmFyIGkgPSAwO1xuXG4gICAgdHJ5IHtcbiAgICAgIHZhciBfaXNTeW5jID0gdHJ1ZTtcbiAgICAgIHZhciBxdWV1ZSA9IHN5bmNRdWV1ZTtcbiAgICAgIHJ1bldpdGhQcmlvcml0eSQxKEltbWVkaWF0ZVByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGZvciAoOyBpIDwgcXVldWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICB2YXIgY2FsbGJhY2sgPSBxdWV1ZVtpXTtcblxuICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgIGNhbGxiYWNrID0gY2FsbGJhY2soX2lzU3luYyk7XG4gICAgICAgICAgfSB3aGlsZSAoY2FsbGJhY2sgIT09IG51bGwpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIHN5bmNRdWV1ZSA9IG51bGw7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIC8vIElmIHNvbWV0aGluZyB0aHJvd3MsIGxlYXZlIHRoZSByZW1haW5pbmcgY2FsbGJhY2tzIG9uIHRoZSBxdWV1ZS5cbiAgICAgIGlmIChzeW5jUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgc3luY1F1ZXVlID0gc3luY1F1ZXVlLnNsaWNlKGkgKyAxKTtcbiAgICAgIH0gLy8gUmVzdW1lIGZsdXNoaW5nIGluIHRoZSBuZXh0IHRpY2tcblxuXG4gICAgICBTY2hlZHVsZXJfc2NoZWR1bGVDYWxsYmFjayhTY2hlZHVsZXJfSW1tZWRpYXRlUHJpb3JpdHksIGZsdXNoU3luY0NhbGxiYWNrUXVldWUpO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlzRmx1c2hpbmdTeW5jUXVldWUgPSBmYWxzZTtcbiAgICB9XG4gIH1cbn1cblxudmFyIE5vTW9kZSA9IDA7XG52YXIgU3RyaWN0TW9kZSA9IDE7IC8vIFRPRE86IFJlbW92ZSBCbG9ja2luZ01vZGUgYW5kIENvbmN1cnJlbnRNb2RlIGJ5IHJlYWRpbmcgZnJvbSB0aGUgcm9vdFxuLy8gdGFnIGluc3RlYWRcblxudmFyIEJsb2NraW5nTW9kZSA9IDI7XG52YXIgQ29uY3VycmVudE1vZGUgPSA0O1xudmFyIFByb2ZpbGVNb2RlID0gODtcblxuLy8gTWF4IDMxIGJpdCBpbnRlZ2VyLiBUaGUgbWF4IGludGVnZXIgc2l6ZSBpbiBWOCBmb3IgMzItYml0IHN5c3RlbXMuXG4vLyBNYXRoLnBvdygyLCAzMCkgLSAxXG4vLyAwYjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVxudmFyIE1BWF9TSUdORURfMzFfQklUX0lOVCA9IDEwNzM3NDE4MjM7XG5cbnZhciBOb1dvcmsgPSAwOyAvLyBUT0RPOiBUaGluayBvZiBhIGJldHRlciBuYW1lIGZvciBOZXZlci4gVGhlIGtleSBkaWZmZXJlbmNlIHdpdGggSWRsZSBpcyB0aGF0XG4vLyBOZXZlciB3b3JrIGNhbiBiZSBjb21taXR0ZWQgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlIHdpdGhvdXQgdGVhcmluZyB0aGUgVUkuXG4vLyBUaGUgbWFpbiBleGFtcGxlIGlzIG9mZnNjcmVlbiBjb250ZW50LCBsaWtlIGEgaGlkZGVuIHN1YnRyZWUuIFNvIG9uZSBwb3NzaWJsZVxuLy8gbmFtZSBpcyBPZmZzY3JlZW4uIEhvd2V2ZXIsIGl0IGFsc28gaW5jbHVkZXMgZGVoeWRyYXRlZCBTdXNwZW5zZSBib3VuZGFyaWVzLFxuLy8gd2hpY2ggYXJlIGluY29uc2lzdGVudCBpbiB0aGUgc2Vuc2UgdGhhdCB0aGV5IGhhdmVuJ3QgZmluaXNoZWQgeWV0LCBidXRcbi8vIGFyZW4ndCB2aXNpYmx5IGluY29uc2lzdGVudCBiZWNhdXNlIHRoZSBzZXJ2ZXIgcmVuZGVyZWQgSFRNTCBtYXRjaGVzIHdoYXQgdGhlXG4vLyBoeWRyYXRlZCB0cmVlIHdvdWxkIGxvb2sgbGlrZS5cblxudmFyIE5ldmVyID0gMTsgLy8gSWRsZSBpcyBzbGlnaHRseSBoaWdoZXIgcHJpb3JpdHkgdGhhbiBOZXZlci4gSXQgbXVzdCBjb21wbGV0ZWx5IGZpbmlzaCBpblxuLy8gb3JkZXIgdG8gYmUgY29uc2lzdGVudC5cblxudmFyIElkbGUgPSAyOyAvLyBDb250aW51b3VzIEh5ZHJhdGlvbiBpcyBzbGlnaHRseSBoaWdoZXIgdGhhbiBJZGxlIGFuZCBpcyB1c2VkIHRvIGluY3JlYXNlXG4vLyBwcmlvcml0eSBvZiBob3ZlciB0YXJnZXRzLlxuXG52YXIgQ29udGludW91c0h5ZHJhdGlvbiA9IDM7XG52YXIgU3luYyA9IE1BWF9TSUdORURfMzFfQklUX0lOVDtcbnZhciBCYXRjaGVkID0gU3luYyAtIDE7XG52YXIgVU5JVF9TSVpFID0gMTA7XG52YXIgTUFHSUNfTlVNQkVSX09GRlNFVCA9IEJhdGNoZWQgLSAxOyAvLyAxIHVuaXQgb2YgZXhwaXJhdGlvbiB0aW1lIHJlcHJlc2VudHMgMTBtcy5cblxuZnVuY3Rpb24gbXNUb0V4cGlyYXRpb25UaW1lKG1zKSB7XG4gIC8vIEFsd2F5cyBzdWJ0cmFjdCBmcm9tIHRoZSBvZmZzZXQgc28gdGhhdCB3ZSBkb24ndCBjbGFzaCB3aXRoIHRoZSBtYWdpYyBudW1iZXIgZm9yIE5vV29yay5cbiAgcmV0dXJuIE1BR0lDX05VTUJFUl9PRkZTRVQgLSAobXMgLyBVTklUX1NJWkUgfCAwKTtcbn1cbmZ1bmN0aW9uIGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkge1xuICByZXR1cm4gKE1BR0lDX05VTUJFUl9PRkZTRVQgLSBleHBpcmF0aW9uVGltZSkgKiBVTklUX1NJWkU7XG59XG5cbmZ1bmN0aW9uIGNlaWxpbmcobnVtLCBwcmVjaXNpb24pIHtcbiAgcmV0dXJuICgobnVtIC8gcHJlY2lzaW9uIHwgMCkgKyAxKSAqIHByZWNpc2lvbjtcbn1cblxuZnVuY3Rpb24gY29tcHV0ZUV4cGlyYXRpb25CdWNrZXQoY3VycmVudFRpbWUsIGV4cGlyYXRpb25Jbk1zLCBidWNrZXRTaXplTXMpIHtcbiAgcmV0dXJuIE1BR0lDX05VTUJFUl9PRkZTRVQgLSBjZWlsaW5nKE1BR0lDX05VTUJFUl9PRkZTRVQgLSBjdXJyZW50VGltZSArIGV4cGlyYXRpb25Jbk1zIC8gVU5JVF9TSVpFLCBidWNrZXRTaXplTXMgLyBVTklUX1NJWkUpO1xufSAvLyBUT0RPOiBUaGlzIGNvcnJlc3BvbmRzIHRvIFNjaGVkdWxlcidzIE5vcm1hbFByaW9yaXR5LCBub3QgTG93UHJpb3JpdHkuIFVwZGF0ZVxuLy8gdGhlIG5hbWVzIHRvIHJlZmxlY3QuXG5cblxudmFyIExPV19QUklPUklUWV9FWFBJUkFUSU9OID0gNTAwMDtcbnZhciBMT1dfUFJJT1JJVFlfQkFUQ0hfU0laRSA9IDI1MDtcbmZ1bmN0aW9uIGNvbXB1dGVBc3luY0V4cGlyYXRpb24oY3VycmVudFRpbWUpIHtcbiAgcmV0dXJuIGNvbXB1dGVFeHBpcmF0aW9uQnVja2V0KGN1cnJlbnRUaW1lLCBMT1dfUFJJT1JJVFlfRVhQSVJBVElPTiwgTE9XX1BSSU9SSVRZX0JBVENIX1NJWkUpO1xufVxuZnVuY3Rpb24gY29tcHV0ZVN1c3BlbnNlRXhwaXJhdGlvbihjdXJyZW50VGltZSwgdGltZW91dE1zKSB7XG4gIC8vIFRPRE86IFNob3VsZCB3ZSB3YXJuIGlmIHRpbWVvdXRNcyBpcyBsb3dlciB0aGFuIHRoZSBub3JtYWwgcHJpIGV4cGlyYXRpb24gdGltZT9cbiAgcmV0dXJuIGNvbXB1dGVFeHBpcmF0aW9uQnVja2V0KGN1cnJlbnRUaW1lLCB0aW1lb3V0TXMsIExPV19QUklPUklUWV9CQVRDSF9TSVpFKTtcbn0gLy8gV2UgaW50ZW50aW9uYWxseSBzZXQgYSBoaWdoZXIgZXhwaXJhdGlvbiB0aW1lIGZvciBpbnRlcmFjdGl2ZSB1cGRhdGVzIGluXG4vLyBkZXYgdGhhbiBpbiBwcm9kdWN0aW9uLlxuLy9cbi8vIElmIHRoZSBtYWluIHRocmVhZCBpcyBiZWluZyBibG9ja2VkIHNvIGxvbmcgdGhhdCB5b3UgaGl0IHRoZSBleHBpcmF0aW9uLFxuLy8gaXQncyBhIHByb2JsZW0gdGhhdCBjb3VsZCBiZSBzb2x2ZWQgd2l0aCBiZXR0ZXIgc2NoZWR1bGluZy5cbi8vXG4vLyBQZW9wbGUgd2lsbCBiZSBtb3JlIGxpa2VseSB0byBub3RpY2UgdGhpcyBhbmQgZml4IGl0IHdpdGggdGhlIGxvbmdcbi8vIGV4cGlyYXRpb24gdGltZSBpbiBkZXZlbG9wbWVudC5cbi8vXG4vLyBJbiBwcm9kdWN0aW9uIHdlIG9wdCBmb3IgYmV0dGVyIFVYIGF0IHRoZSByaXNrIG9mIG1hc2tpbmcgc2NoZWR1bGluZ1xuLy8gcHJvYmxlbXMsIGJ5IGV4cGlyaW5nIGZhc3QuXG5cbnZhciBISUdIX1BSSU9SSVRZX0VYUElSQVRJT04gPSAgNTAwIDtcbnZhciBISUdIX1BSSU9SSVRZX0JBVENIX1NJWkUgPSAxMDA7XG5mdW5jdGlvbiBjb21wdXRlSW50ZXJhY3RpdmVFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKSB7XG4gIHJldHVybiBjb21wdXRlRXhwaXJhdGlvbkJ1Y2tldChjdXJyZW50VGltZSwgSElHSF9QUklPUklUWV9FWFBJUkFUSU9OLCBISUdIX1BSSU9SSVRZX0JBVENIX1NJWkUpO1xufVxuZnVuY3Rpb24gaW5mZXJQcmlvcml0eUZyb21FeHBpcmF0aW9uVGltZShjdXJyZW50VGltZSwgZXhwaXJhdGlvblRpbWUpIHtcbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XG4gICAgcmV0dXJuIEltbWVkaWF0ZVByaW9yaXR5O1xuICB9XG5cbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBOZXZlciB8fCBleHBpcmF0aW9uVGltZSA9PT0gSWRsZSkge1xuICAgIHJldHVybiBJZGxlUHJpb3JpdHk7XG4gIH1cblxuICB2YXIgbXNVbnRpbCA9IGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkgLSBleHBpcmF0aW9uVGltZVRvTXMoY3VycmVudFRpbWUpO1xuXG4gIGlmIChtc1VudGlsIDw9IDApIHtcbiAgICByZXR1cm4gSW1tZWRpYXRlUHJpb3JpdHk7XG4gIH1cblxuICBpZiAobXNVbnRpbCA8PSBISUdIX1BSSU9SSVRZX0VYUElSQVRJT04gKyBISUdIX1BSSU9SSVRZX0JBVENIX1NJWkUpIHtcbiAgICByZXR1cm4gVXNlckJsb2NraW5nUHJpb3JpdHkkMTtcbiAgfVxuXG4gIGlmIChtc1VudGlsIDw9IExPV19QUklPUklUWV9FWFBJUkFUSU9OICsgTE9XX1BSSU9SSVRZX0JBVENIX1NJWkUpIHtcbiAgICByZXR1cm4gTm9ybWFsUHJpb3JpdHk7XG4gIH0gLy8gVE9ETzogSGFuZGxlIExvd1ByaW9yaXR5XG4gIC8vIEFzc3VtZSBhbnl0aGluZyBsb3dlciBoYXMgaWRsZSBwcmlvcml0eVxuXG5cbiAgcmV0dXJuIElkbGVQcmlvcml0eTtcbn1cblxudmFyIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzID0ge1xuICByZWNvcmRVbnNhZmVMaWZlY3ljbGVXYXJuaW5nczogZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge30sXG4gIGZsdXNoUGVuZGluZ1Vuc2FmZUxpZmVjeWNsZVdhcm5pbmdzOiBmdW5jdGlvbiAoKSB7fSxcbiAgcmVjb3JkTGVnYWN5Q29udGV4dFdhcm5pbmc6IGZ1bmN0aW9uIChmaWJlciwgaW5zdGFuY2UpIHt9LFxuICBmbHVzaExlZ2FjeUNvbnRleHRXYXJuaW5nOiBmdW5jdGlvbiAoKSB7fSxcbiAgZGlzY2FyZFBlbmRpbmdXYXJuaW5nczogZnVuY3Rpb24gKCkge31cbn07XG5cbntcbiAgdmFyIGZpbmRTdHJpY3RSb290ID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgdmFyIG1heWJlU3RyaWN0Um9vdCA9IG51bGw7XG4gICAgdmFyIG5vZGUgPSBmaWJlcjtcblxuICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5tb2RlICYgU3RyaWN0TW9kZSkge1xuICAgICAgICBtYXliZVN0cmljdFJvb3QgPSBub2RlO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgcmV0dXJuIG1heWJlU3RyaWN0Um9vdDtcbiAgfTtcblxuICB2YXIgc2V0VG9Tb3J0ZWRTdHJpbmcgPSBmdW5jdGlvbiAoc2V0KSB7XG4gICAgdmFyIGFycmF5ID0gW107XG4gICAgc2V0LmZvckVhY2goZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICBhcnJheS5wdXNoKHZhbHVlKTtcbiAgICB9KTtcbiAgICByZXR1cm4gYXJyYXkuc29ydCgpLmpvaW4oJywgJyk7XG4gIH07XG5cbiAgdmFyIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICB2YXIgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgdmFyIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgdmFyIHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107IC8vIFRyYWNrcyBjb21wb25lbnRzIHdlIGhhdmUgYWxyZWFkeSB3YXJuZWQgYWJvdXQuXG5cbiAgdmFyIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMgPSBuZXcgU2V0KCk7XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MucmVjb3JkVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoZmliZXIsIGluc3RhbmNlKSB7XG4gICAgLy8gRGVkdXAgc3RyYXRlZ3k6IFdhcm4gb25jZSBwZXIgY29tcG9uZW50LlxuICAgIGlmIChkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmhhcyhmaWJlci50eXBlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nICYmIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLlxuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudC5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLnB1c2goZmliZXIpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzLl9fc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmcgIT09IHRydWUpIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKGZpYmVyLm1vZGUgJiBTdHJpY3RNb2RlICYmIHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MucHVzaChmaWJlcik7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgcGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG5cbiAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUgJiYgdHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hQZW5kaW5nVW5zYWZlTGlmZWN5Y2xlV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgLy8gV2UgZG8gYW4gaW5pdGlhbCBwYXNzIHRvIGdhdGhlciBjb21wb25lbnQgbmFtZXNcbiAgICB2YXIgY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgIHBlbmRpbmdDb21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBjb21wb25lbnRXaWxsTW91bnRVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MgPSBbXTtcbiAgICB9XG5cbiAgICB2YXIgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuXG4gICAgaWYgKHBlbmRpbmdVTlNBRkVfQ29tcG9uZW50V2lsbE1vdW50V2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMuYWRkKGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgICBkaWRXYXJuQWJvdXRVbnNhZmVMaWZlY3ljbGVzLmFkZChmaWJlci50eXBlKTtcbiAgICAgIH0pO1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIH1cblxuICAgIHZhciBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgICAgIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1dhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIH1cblxuICAgIHZhciBjb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzLmZvckVhY2goZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgICAgIGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nQ29tcG9uZW50V2lsbFVwZGF0ZVdhcm5pbmdzID0gW107XG4gICAgfVxuXG4gICAgdmFyIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlVW5pcXVlTmFtZXMgPSBuZXcgU2V0KCk7XG5cbiAgICBpZiAocGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MuZm9yRWFjaChmdW5jdGlvbiAoZmliZXIpIHtcbiAgICAgICAgVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dFVuc2FmZUxpZmVjeWNsZXMuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIH0gLy8gRmluYWxseSwgd2UgZmx1c2ggYWxsIHRoZSB3YXJuaW5nc1xuICAgIC8vIFVOU0FGRV8gb25lcyBiZWZvcmUgdGhlIGRlcHJlY2F0ZWQgb25lcywgc2luY2UgdGhleSdsbCBiZSAnbG91ZGVyJ1xuXG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50VW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCBpbiBzdHJpY3QgbW9kZSBpcyBub3QgcmVjb21tZW5kZWQgYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRNb3VudCwgYW5kIHNldCBpbml0aWFsIHN0YXRlIGluIHRoZSBjb25zdHJ1Y3Rvci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIHNvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lcyA9IHNldFRvU29ydGVkU3RyaW5nKFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzVW5pcXVlTmFtZXMpO1xuXG4gICAgICBlcnJvcignVXNpbmcgVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgaW4gc3RyaWN0IG1vZGUgaXMgbm90IHJlY29tbWVuZGVkICcgKyAnYW5kIG1heSBpbmRpY2F0ZSBidWdzIGluIHlvdXIgY29kZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgZGF0YSBmZXRjaGluZyBjb2RlIG9yIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRVcGRhdGUuXFxuJyArIFwiKiBJZiB5b3UncmUgdXBkYXRpbmcgc3RhdGUgd2hlbmV2ZXIgcHJvcHMgY2hhbmdlLCBcIiArICdyZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIG1lbW9pemF0aW9uIHRlY2huaXF1ZXMgb3IgbW92ZSBpdCB0byAnICsgJ3N0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuIExlYXJuIG1vcmUgYXQ6IGh0dHBzOi8vZmIubWUvcmVhY3QtZGVyaXZlZC1zdGF0ZVxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzKTtcbiAgICB9XG5cbiAgICBpZiAoVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcy5zaXplID4gMCkge1xuICAgICAgdmFyIF9zb3J0ZWROYW1lczIgPSBzZXRUb1NvcnRlZFN0cmluZyhVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzKTtcblxuICAgICAgZXJyb3IoJ1VzaW5nIFVOU0FGRV9jb21wb25lbnRXaWxsVXBkYXRlIGluIHN0cmljdCBtb2RlIGlzIG5vdCByZWNvbW1lbmRlZCAnICsgJ2FuZCBtYXkgaW5kaWNhdGUgYnVncyBpbiB5b3VyIGNvZGUuICcgKyAnU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtdW5zYWZlLWNvbXBvbmVudC1saWZlY3ljbGVzIGZvciBkZXRhaWxzLlxcblxcbicgKyAnKiBNb3ZlIGRhdGEgZmV0Y2hpbmcgY29kZSBvciBzaWRlIGVmZmVjdHMgdG8gY29tcG9uZW50RGlkVXBkYXRlLlxcbicgKyAnXFxuUGxlYXNlIHVwZGF0ZSB0aGUgZm9sbG93aW5nIGNvbXBvbmVudHM6ICVzJywgX3NvcnRlZE5hbWVzMik7XG4gICAgfVxuXG4gICAgaWYgKGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzMyA9IHNldFRvU29ydGVkU3RyaW5nKGNvbXBvbmVudFdpbGxNb3VudFVuaXF1ZU5hbWVzKTtcblxuICAgICAgd2FybignY29tcG9uZW50V2lsbE1vdW50IGhhcyBiZWVuIHJlbmFtZWQsIGFuZCBpcyBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4gJyArICdTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC11bnNhZmUtY29tcG9uZW50LWxpZmVjeWNsZXMgZm9yIGRldGFpbHMuXFxuXFxuJyArICcqIE1vdmUgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyB0byBjb21wb25lbnREaWRNb3VudCwgYW5kIHNldCBpbml0aWFsIHN0YXRlIGluIHRoZSBjb25zdHJ1Y3Rvci5cXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxNb3VudCB0byBVTlNBRkVfY29tcG9uZW50V2lsbE1vdW50IHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTcueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXMzKTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wc1VuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzNCA9IHNldFRvU29ydGVkU3RyaW5nKGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNVbmlxdWVOYW1lcyk7XG5cbiAgICAgIHdhcm4oJ2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgXCIqIElmIHlvdSdyZSB1cGRhdGluZyBzdGF0ZSB3aGVuZXZlciBwcm9wcyBjaGFuZ2UsIHJlZmFjdG9yIHlvdXIgXCIgKyAnY29kZSB0byB1c2UgbWVtb2l6YXRpb24gdGVjaG5pcXVlcyBvciBtb3ZlIGl0IHRvICcgKyAnc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gTGVhcm4gbW9yZSBhdDogaHR0cHM6Ly9mYi5tZS9yZWFjdC1kZXJpdmVkLXN0YXRlXFxuJyArICcqIFJlbmFtZSBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIHRvIFVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIHRvIHN1cHByZXNzICcgKyAndGhpcyB3YXJuaW5nIGluIG5vbi1zdHJpY3QgbW9kZS4gSW4gUmVhY3QgMTcueCwgb25seSB0aGUgVU5TQUZFXyBuYW1lIHdpbGwgd29yay4gJyArICdUbyByZW5hbWUgYWxsIGRlcHJlY2F0ZWQgbGlmZWN5Y2xlcyB0byB0aGVpciBuZXcgbmFtZXMsIHlvdSBjYW4gcnVuICcgKyAnYG5weCByZWFjdC1jb2RlbW9kIHJlbmFtZS11bnNhZmUtbGlmZWN5Y2xlc2AgaW4geW91ciBwcm9qZWN0IHNvdXJjZSBmb2xkZXIuXFxuJyArICdcXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnLCBfc29ydGVkTmFtZXM0KTtcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50V2lsbFVwZGF0ZVVuaXF1ZU5hbWVzLnNpemUgPiAwKSB7XG4gICAgICB2YXIgX3NvcnRlZE5hbWVzNSA9IHNldFRvU29ydGVkU3RyaW5nKGNvbXBvbmVudFdpbGxVcGRhdGVVbmlxdWVOYW1lcyk7XG5cbiAgICAgIHdhcm4oJ2NvbXBvbmVudFdpbGxVcGRhdGUgaGFzIGJlZW4gcmVuYW1lZCwgYW5kIGlzIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlLiAnICsgJ1NlZSBodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcyBmb3IgZGV0YWlscy5cXG5cXG4nICsgJyogTW92ZSBkYXRhIGZldGNoaW5nIGNvZGUgb3Igc2lkZSBlZmZlY3RzIHRvIGNvbXBvbmVudERpZFVwZGF0ZS5cXG4nICsgJyogUmVuYW1lIGNvbXBvbmVudFdpbGxVcGRhdGUgdG8gVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgdG8gc3VwcHJlc3MgJyArICd0aGlzIHdhcm5pbmcgaW4gbm9uLXN0cmljdCBtb2RlLiBJbiBSZWFjdCAxNy54LCBvbmx5IHRoZSBVTlNBRkVfIG5hbWUgd2lsbCB3b3JrLiAnICsgJ1RvIHJlbmFtZSBhbGwgZGVwcmVjYXRlZCBsaWZlY3ljbGVzIHRvIHRoZWlyIG5ldyBuYW1lcywgeW91IGNhbiBydW4gJyArICdgbnB4IHJlYWN0LWNvZGVtb2QgcmVuYW1lLXVuc2FmZS1saWZlY3ljbGVzYCBpbiB5b3VyIHByb2plY3Qgc291cmNlIGZvbGRlci5cXG4nICsgJ1xcblBsZWFzZSB1cGRhdGUgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzOiAlcycsIF9zb3J0ZWROYW1lczUpO1xuICAgIH1cbiAgfTtcblxuICB2YXIgcGVuZGluZ0xlZ2FjeUNvbnRleHRXYXJuaW5nID0gbmV3IE1hcCgpOyAvLyBUcmFja3MgY29tcG9uZW50cyB3ZSBoYXZlIGFscmVhZHkgd2FybmVkIGFib3V0LlxuXG4gIHZhciBkaWRXYXJuQWJvdXRMZWdhY3lDb250ZXh0ID0gbmV3IFNldCgpO1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nID0gZnVuY3Rpb24gKGZpYmVyLCBpbnN0YW5jZSkge1xuICAgIHZhciBzdHJpY3RSb290ID0gZmluZFN0cmljdFJvb3QoZmliZXIpO1xuXG4gICAgaWYgKHN0cmljdFJvb3QgPT09IG51bGwpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB0byBmaW5kIGEgU3RyaWN0TW9kZSBjb21wb25lbnQgaW4gYSBzdHJpY3QgbW9kZSB0cmVlLiAnICsgJ1RoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuJyk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9IC8vIERlZHVwIHN0cmF0ZWd5OiBXYXJuIG9uY2UgcGVyIGNvbXBvbmVudC5cblxuXG4gICAgaWYgKGRpZFdhcm5BYm91dExlZ2FjeUNvbnRleHQuaGFzKGZpYmVyLnR5cGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIHdhcm5pbmdzRm9yUm9vdCA9IHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZy5nZXQoc3RyaWN0Um9vdCk7XG5cbiAgICBpZiAoZmliZXIudHlwZS5jb250ZXh0VHlwZXMgIT0gbnVsbCB8fCBmaWJlci50eXBlLmNoaWxkQ29udGV4dFR5cGVzICE9IG51bGwgfHwgaW5zdGFuY2UgIT09IG51bGwgJiYgdHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKHdhcm5pbmdzRm9yUm9vdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHdhcm5pbmdzRm9yUm9vdCA9IFtdO1xuICAgICAgICBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuc2V0KHN0cmljdFJvb3QsIHdhcm5pbmdzRm9yUm9vdCk7XG4gICAgICB9XG5cbiAgICAgIHdhcm5pbmdzRm9yUm9vdC5wdXNoKGZpYmVyKTtcbiAgICB9XG4gIH07XG5cbiAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZmx1c2hMZWdhY3lDb250ZXh0V2FybmluZyA9IGZ1bmN0aW9uICgpIHtcbiAgICBwZW5kaW5nTGVnYWN5Q29udGV4dFdhcm5pbmcuZm9yRWFjaChmdW5jdGlvbiAoZmliZXJBcnJheSwgc3RyaWN0Um9vdCkge1xuICAgICAgaWYgKGZpYmVyQXJyYXkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIGZpcnN0RmliZXIgPSBmaWJlckFycmF5WzBdO1xuICAgICAgdmFyIHVuaXF1ZU5hbWVzID0gbmV3IFNldCgpO1xuICAgICAgZmliZXJBcnJheS5mb3JFYWNoKGZ1bmN0aW9uIChmaWJlcikge1xuICAgICAgICB1bmlxdWVOYW1lcy5hZGQoZ2V0Q29tcG9uZW50TmFtZShmaWJlci50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICAgIGRpZFdhcm5BYm91dExlZ2FjeUNvbnRleHQuYWRkKGZpYmVyLnR5cGUpO1xuICAgICAgfSk7XG4gICAgICB2YXIgc29ydGVkTmFtZXMgPSBzZXRUb1NvcnRlZFN0cmluZyh1bmlxdWVOYW1lcyk7XG4gICAgICB2YXIgZmlyc3RDb21wb25lbnRTdGFjayA9IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChmaXJzdEZpYmVyKTtcblxuICAgICAgZXJyb3IoJ0xlZ2FjeSBjb250ZXh0IEFQSSBoYXMgYmVlbiBkZXRlY3RlZCB3aXRoaW4gYSBzdHJpY3QtbW9kZSB0cmVlLicgKyAnXFxuXFxuVGhlIG9sZCBBUEkgd2lsbCBiZSBzdXBwb3J0ZWQgaW4gYWxsIDE2LnggcmVsZWFzZXMsIGJ1dCBhcHBsaWNhdGlvbnMgJyArICd1c2luZyBpdCBzaG91bGQgbWlncmF0ZSB0byB0aGUgbmV3IHZlcnNpb24uJyArICdcXG5cXG5QbGVhc2UgdXBkYXRlIHRoZSBmb2xsb3dpbmcgY29tcG9uZW50czogJXMnICsgJ1xcblxcbkxlYXJuIG1vcmUgYWJvdXQgdGhpcyB3YXJuaW5nIGhlcmU6IGh0dHBzOi8vZmIubWUvcmVhY3QtbGVnYWN5LWNvbnRleHQnICsgJyVzJywgc29ydGVkTmFtZXMsIGZpcnN0Q29tcG9uZW50U3RhY2spO1xuICAgIH0pO1xuICB9O1xuXG4gIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLmRpc2NhcmRQZW5kaW5nV2FybmluZ3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgcGVuZGluZ0NvbXBvbmVudFdpbGxNb3VudFdhcm5pbmdzID0gW107XG4gICAgcGVuZGluZ1VOU0FGRV9Db21wb25lbnRXaWxsTW91bnRXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHNXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdDb21wb25lbnRXaWxsVXBkYXRlV2FybmluZ3MgPSBbXTtcbiAgICBwZW5kaW5nVU5TQUZFX0NvbXBvbmVudFdpbGxVcGRhdGVXYXJuaW5ncyA9IFtdO1xuICAgIHBlbmRpbmdMZWdhY3lDb250ZXh0V2FybmluZyA9IG5ldyBNYXAoKTtcbiAgfTtcbn1cblxudmFyIHJlc29sdmVGYW1pbHkgPSBudWxsOyAvLyAkRmxvd0ZpeE1lIEZsb3cgZ2V0cyBjb25mdXNlZCBieSBhIFdlYWtTZXQgZmVhdHVyZSBjaGVjayBiZWxvdy5cblxudmFyIGZhaWxlZEJvdW5kYXJpZXMgPSBudWxsO1xudmFyIHNldFJlZnJlc2hIYW5kbGVyID0gZnVuY3Rpb24gKGhhbmRsZXIpIHtcbiAge1xuICAgIHJlc29sdmVGYW1pbHkgPSBoYW5kbGVyO1xuICB9XG59O1xuZnVuY3Rpb24gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdmFyIGZhbWlseSA9IHJlc29sdmVGYW1pbHkodHlwZSk7XG5cbiAgICBpZiAoZmFtaWx5ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH0gLy8gVXNlIHRoZSBsYXRlc3Qga25vd24gaW1wbGVtZW50YXRpb24uXG5cblxuICAgIHJldHVybiBmYW1pbHkuY3VycmVudDtcbiAgfVxufVxuZnVuY3Rpb24gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKHR5cGUpIHtcbiAgLy8gTm8gaW1wbGVtZW50YXRpb24gZGlmZmVyZW5jZXMuXG4gIHJldHVybiByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG59XG5mdW5jdGlvbiByZXNvbHZlRm9yd2FyZFJlZkZvckhvdFJlbG9hZGluZyh0eXBlKSB7XG4gIHtcbiAgICBpZiAocmVzb2x2ZUZhbWlseSA9PT0gbnVsbCkge1xuICAgICAgLy8gSG90IHJlbG9hZGluZyBpcyBkaXNhYmxlZC5cbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIHZhciBmYW1pbHkgPSByZXNvbHZlRmFtaWx5KHR5cGUpO1xuXG4gICAgaWYgKGZhbWlseSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBDaGVjayBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggYSByZWFsIGZvcndhcmRSZWYuIERvbid0IHdhbnQgdG8gY3Jhc2ggZWFybHkuXG4gICAgICBpZiAodHlwZSAhPT0gbnVsbCAmJiB0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZW9mIHR5cGUucmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIEZvcndhcmRSZWYgaXMgc3BlY2lhbCBiZWNhdXNlIGl0cyByZXNvbHZlZCAudHlwZSBpcyBhbiBvYmplY3QsXG4gICAgICAgIC8vIGJ1dCBpdCdzIHBvc3NpYmxlIHRoYXQgd2Ugb25seSBoYXZlIGl0cyBpbm5lciByZW5kZXIgZnVuY3Rpb24gaW4gdGhlIG1hcC5cbiAgICAgICAgLy8gSWYgdGhhdCBpbm5lciByZW5kZXIgZnVuY3Rpb24gaXMgZGlmZmVyZW50LCB3ZSdsbCBidWlsZCBhIG5ldyBmb3J3YXJkUmVmIHR5cGUuXG4gICAgICAgIHZhciBjdXJyZW50UmVuZGVyID0gcmVzb2x2ZUZ1bmN0aW9uRm9ySG90UmVsb2FkaW5nKHR5cGUucmVuZGVyKTtcblxuICAgICAgICBpZiAodHlwZS5yZW5kZXIgIT09IGN1cnJlbnRSZW5kZXIpIHtcbiAgICAgICAgICB2YXIgc3ludGhldGljVHlwZSA9IHtcbiAgICAgICAgICAgICQkdHlwZW9mOiBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFLFxuICAgICAgICAgICAgcmVuZGVyOiBjdXJyZW50UmVuZGVyXG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGlmICh0eXBlLmRpc3BsYXlOYW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHN5bnRoZXRpY1R5cGUuZGlzcGxheU5hbWUgPSB0eXBlLmRpc3BsYXlOYW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzeW50aGV0aWNUeXBlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH0gLy8gVXNlIHRoZSBsYXRlc3Qga25vd24gaW1wbGVtZW50YXRpb24uXG5cblxuICAgIHJldHVybiBmYW1pbHkuY3VycmVudDtcbiAgfVxufVxuZnVuY3Rpb24gaXNDb21wYXRpYmxlRmFtaWx5Rm9ySG90UmVsb2FkaW5nKGZpYmVyLCBlbGVtZW50KSB7XG4gIHtcbiAgICBpZiAocmVzb2x2ZUZhbWlseSA9PT0gbnVsbCkge1xuICAgICAgLy8gSG90IHJlbG9hZGluZyBpcyBkaXNhYmxlZC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB2YXIgcHJldlR5cGUgPSBmaWJlci5lbGVtZW50VHlwZTtcbiAgICB2YXIgbmV4dFR5cGUgPSBlbGVtZW50LnR5cGU7IC8vIElmIHdlIGdvdCBoZXJlLCB3ZSBrbm93IHR5cGVzIGFyZW4ndCA9PT0gZXF1YWwuXG5cbiAgICB2YXIgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSBmYWxzZTtcbiAgICB2YXIgJCR0eXBlb2ZOZXh0VHlwZSA9IHR5cGVvZiBuZXh0VHlwZSA9PT0gJ29iamVjdCcgJiYgbmV4dFR5cGUgIT09IG51bGwgPyBuZXh0VHlwZS4kJHR5cGVvZiA6IG51bGw7XG5cbiAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIGlmICh0eXBlb2YgbmV4dFR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBuZXh0VHlwZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoJCR0eXBlb2ZOZXh0VHlwZSA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XG4gICAgICAgICAgICAvLyBXZSBkb24ndCBrbm93IHRoZSBpbm5lciB0eXBlIHlldC5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIGFzc3VtZSB0aGF0IHRoZSBsYXp5IGlubmVyIHR5cGUgaXMgc3RhYmxlLFxuICAgICAgICAgICAgLy8gYW5kIHNvIGl0IGlzIHN1ZmZpY2llbnQgdG8gYXZvaWQgcmVjb25jaWxpbmcgaXQgYXdheS5cbiAgICAgICAgICAgIC8vIFdlJ3JlIG5vdCBnb2luZyB0byB1bndyYXAgb3IgYWN0dWFsbHkgdXNlIHRoZSBuZXcgbGF6eSB0eXBlLlxuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgICAge1xuICAgICAgICAgIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmICgkJHR5cGVvZk5leHRUeXBlID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgICAgIG5lZWRzQ29tcGFyZUZhbWlsaWVzID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAoJCR0eXBlb2ZOZXh0VHlwZSA9PT0gUkVBQ1RfTUVNT19UWVBFKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBpZiBpdCB3YXMgYnV0IGNhbiBubyBsb25nZXIgYmUgc2ltcGxlLFxuICAgICAgICAgICAgLy8gd2Ugc2hvdWxkbid0IHNldCB0aGlzLlxuICAgICAgICAgICAgbmVlZHNDb21wYXJlRmFtaWxpZXMgPSB0cnVlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoJCR0eXBlb2ZOZXh0VHlwZSA9PT0gUkVBQ1RfTEFaWV9UWVBFKSB7XG4gICAgICAgICAgICBuZWVkc0NvbXBhcmVGYW1pbGllcyA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gLy8gQ2hlY2sgaWYgYm90aCB0eXBlcyBoYXZlIGEgZmFtaWx5IGFuZCBpdCdzIHRoZSBzYW1lIG9uZS5cblxuXG4gICAgaWYgKG5lZWRzQ29tcGFyZUZhbWlsaWVzKSB7XG4gICAgICAvLyBOb3RlOiBtZW1vKCkgYW5kIGZvcndhcmRSZWYoKSB3ZSdsbCBjb21wYXJlIG91dGVyIHJhdGhlciB0aGFuIGlubmVyIHR5cGUuXG4gICAgICAvLyBUaGlzIG1lYW5zIGJvdGggb2YgdGhlbSBuZWVkIHRvIGJlIHJlZ2lzdGVyZWQgdG8gcHJlc2VydmUgc3RhdGUuXG4gICAgICAvLyBJZiB3ZSB1bndyYXBwZWQgYW5kIGNvbXBhcmVkIHRoZSBpbm5lciB0eXBlcyBmb3Igd3JhcHBlcnMgaW5zdGVhZCxcbiAgICAgIC8vIHRoZW4gd2Ugd291bGQgcmlzayBmYWxzZWx5IHNheWluZyB0d28gc2VwYXJhdGUgbWVtbyhGb28pXG4gICAgICAvLyBjYWxscyBhcmUgZXF1aXZhbGVudCBiZWNhdXNlIHRoZXkgd3JhcCB0aGUgc2FtZSBGb28gZnVuY3Rpb24uXG4gICAgICB2YXIgcHJldkZhbWlseSA9IHJlc29sdmVGYW1pbHkocHJldlR5cGUpO1xuXG4gICAgICBpZiAocHJldkZhbWlseSAhPT0gdW5kZWZpbmVkICYmIHByZXZGYW1pbHkgPT09IHJlc29sdmVGYW1pbHkobmV4dFR5cGUpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gbWFya0ZhaWxlZEVycm9yQm91bmRhcnlGb3JIb3RSZWxvYWRpbmcoZmliZXIpIHtcbiAge1xuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICAvLyBIb3QgcmVsb2FkaW5nIGlzIGRpc2FibGVkLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgV2Vha1NldCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzID09PSBudWxsKSB7XG4gICAgICBmYWlsZWRCb3VuZGFyaWVzID0gbmV3IFdlYWtTZXQoKTtcbiAgICB9XG5cbiAgICBmYWlsZWRCb3VuZGFyaWVzLmFkZChmaWJlcik7XG4gIH1cbn1cbnZhciBzY2hlZHVsZVJlZnJlc2ggPSBmdW5jdGlvbiAocm9vdCwgdXBkYXRlKSB7XG4gIHtcbiAgICBpZiAocmVzb2x2ZUZhbWlseSA9PT0gbnVsbCkge1xuICAgICAgLy8gSG90IHJlbG9hZGluZyBpcyBkaXNhYmxlZC5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIgc3RhbGVGYW1pbGllcyA9IHVwZGF0ZS5zdGFsZUZhbWlsaWVzLFxuICAgICAgICB1cGRhdGVkRmFtaWxpZXMgPSB1cGRhdGUudXBkYXRlZEZhbWlsaWVzO1xuICAgIGZsdXNoUGFzc2l2ZUVmZmVjdHMoKTtcbiAgICBmbHVzaFN5bmMoZnVuY3Rpb24gKCkge1xuICAgICAgc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShyb290LmN1cnJlbnQsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfSk7XG4gIH1cbn07XG52YXIgc2NoZWR1bGVSb290ID0gZnVuY3Rpb24gKHJvb3QsIGVsZW1lbnQpIHtcbiAge1xuICAgIGlmIChyb290LmNvbnRleHQgIT09IGVtcHR5Q29udGV4dE9iamVjdCkge1xuICAgICAgLy8gU3VwZXIgZWRnZSBjYXNlOiByb290IGhhcyBhIGxlZ2FjeSBfcmVuZGVyU3VidHJlZSBjb250ZXh0XG4gICAgICAvLyBidXQgd2UgZG9uJ3Qga25vdyB0aGUgcGFyZW50Q29tcG9uZW50IHNvIHdlIGNhbid0IHBhc3MgaXQuXG4gICAgICAvLyBKdXN0IGlnbm9yZS4gV2UnbGwgZGVsZXRlIHRoaXMgd2l0aCBfcmVuZGVyU3VidHJlZSBjb2RlIHBhdGggbGF0ZXIuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgIHN5bmNVcGRhdGVzKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihlbGVtZW50LCByb290LCBudWxsLCBudWxsKTtcbiAgICB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gc2NoZWR1bGVGaWJlcnNXaXRoRmFtaWxpZXNSZWN1cnNpdmVseShmaWJlciwgdXBkYXRlZEZhbWlsaWVzLCBzdGFsZUZhbWlsaWVzKSB7XG4gIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlLFxuICAgICAgICBjaGlsZCA9IGZpYmVyLmNoaWxkLFxuICAgICAgICBzaWJsaW5nID0gZmliZXIuc2libGluZyxcbiAgICAgICAgdGFnID0gZmliZXIudGFnLFxuICAgICAgICB0eXBlID0gZmliZXIudHlwZTtcbiAgICB2YXIgY2FuZGlkYXRlVHlwZSA9IG51bGw7XG5cbiAgICBzd2l0Y2ggKHRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIGNhbmRpZGF0ZVR5cGUgPSB0eXBlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZS5yZW5kZXI7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChyZXNvbHZlRmFtaWx5ID09PSBudWxsKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIHJlc29sdmVGYW1pbHkgdG8gYmUgc2V0IGR1cmluZyBob3QgcmVsb2FkLicpO1xuICAgIH1cblxuICAgIHZhciBuZWVkc1JlbmRlciA9IGZhbHNlO1xuICAgIHZhciBuZWVkc1JlbW91bnQgPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICB2YXIgZmFtaWx5ID0gcmVzb2x2ZUZhbWlseShjYW5kaWRhdGVUeXBlKTtcblxuICAgICAgaWYgKGZhbWlseSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChzdGFsZUZhbWlsaWVzLmhhcyhmYW1pbHkpKSB7XG4gICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmICh1cGRhdGVkRmFtaWxpZXMuaGFzKGZhbWlseSkpIHtcbiAgICAgICAgICBpZiAodGFnID09PSBDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgbmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmVlZHNSZW5kZXIgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmYWlsZWRCb3VuZGFyaWVzICE9PSBudWxsKSB7XG4gICAgICBpZiAoZmFpbGVkQm91bmRhcmllcy5oYXMoZmliZXIpIHx8IGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBmYWlsZWRCb3VuZGFyaWVzLmhhcyhhbHRlcm5hdGUpKSB7XG4gICAgICAgIG5lZWRzUmVtb3VudCA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5lZWRzUmVtb3VudCkge1xuICAgICAgZmliZXIuX2RlYnVnTmVlZHNSZW1vdW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAobmVlZHNSZW1vdW50IHx8IG5lZWRzUmVuZGVyKSB7XG4gICAgICBzY2hlZHVsZVdvcmsoZmliZXIsIFN5bmMpO1xuICAgIH1cblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCAmJiAhbmVlZHNSZW1vdW50KSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KGNoaWxkLCB1cGRhdGVkRmFtaWxpZXMsIHN0YWxlRmFtaWxpZXMpO1xuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBzY2hlZHVsZUZpYmVyc1dpdGhGYW1pbGllc1JlY3Vyc2l2ZWx5KHNpYmxpbmcsIHVwZGF0ZWRGYW1pbGllcywgc3RhbGVGYW1pbGllcyk7XG4gICAgfVxuICB9XG59XG5cbnZhciBmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2ggPSBmdW5jdGlvbiAocm9vdCwgZmFtaWxpZXMpIHtcbiAge1xuICAgIHZhciBob3N0SW5zdGFuY2VzID0gbmV3IFNldCgpO1xuICAgIHZhciB0eXBlcyA9IG5ldyBTZXQoZmFtaWxpZXMubWFwKGZ1bmN0aW9uIChmYW1pbHkpIHtcbiAgICAgIHJldHVybiBmYW1pbHkuY3VycmVudDtcbiAgICB9KSk7XG4gICAgZmluZEhvc3RJbnN0YW5jZXNGb3JNYXRjaGluZ0ZpYmVyc1JlY3Vyc2l2ZWx5KHJvb3QuY3VycmVudCwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpO1xuICAgIHJldHVybiBob3N0SW5zdGFuY2VzO1xuICB9XG59O1xuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkoZmliZXIsIHR5cGVzLCBob3N0SW5zdGFuY2VzKSB7XG4gIHtcbiAgICB2YXIgY2hpbGQgPSBmaWJlci5jaGlsZCxcbiAgICAgICAgc2libGluZyA9IGZpYmVyLnNpYmxpbmcsXG4gICAgICAgIHRhZyA9IGZpYmVyLnRhZyxcbiAgICAgICAgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgdmFyIGNhbmRpZGF0ZVR5cGUgPSBudWxsO1xuXG4gICAgc3dpdGNoICh0YWcpIHtcbiAgICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAgICBjYW5kaWRhdGVUeXBlID0gdHlwZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgICAgY2FuZGlkYXRlVHlwZSA9IHR5cGUucmVuZGVyO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB2YXIgZGlkTWF0Y2ggPSBmYWxzZTtcblxuICAgIGlmIChjYW5kaWRhdGVUeXBlICE9PSBudWxsKSB7XG4gICAgICBpZiAodHlwZXMuaGFzKGNhbmRpZGF0ZVR5cGUpKSB7XG4gICAgICAgIGRpZE1hdGNoID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZGlkTWF0Y2gpIHtcbiAgICAgIC8vIFdlIGhhdmUgYSBtYXRjaC4gVGhpcyBvbmx5IGRyaWxscyBkb3duIHRvIHRoZSBjbG9zZXN0IGhvc3QgY29tcG9uZW50cy5cbiAgICAgIC8vIFRoZXJlJ3Mgbm8gbmVlZCB0byBzZWFyY2ggZGVlcGVyIGJlY2F1c2UgZm9yIHRoZSBwdXJwb3NlIG9mIGdpdmluZ1xuICAgICAgLy8gdmlzdWFsIGZlZWRiYWNrLCBcImZsYXNoaW5nXCIgb3V0ZXJtb3N0IHBhcmVudCByZWN0YW5nbGVzIGlzIHN1ZmZpY2llbnQuXG4gICAgICBmaW5kSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlcmUncyBubyBtYXRjaCwgbWF5YmUgdGhlcmUgd2lsbCBiZSBvbmUgZnVydGhlciBkb3duIGluIHRoZSBjaGlsZCB0cmVlLlxuICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIGZpbmRIb3N0SW5zdGFuY2VzRm9yTWF0Y2hpbmdGaWJlcnNSZWN1cnNpdmVseShjaGlsZCwgdHlwZXMsIGhvc3RJbnN0YW5jZXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICBmaW5kSG9zdEluc3RhbmNlc0Zvck1hdGNoaW5nRmliZXJzUmVjdXJzaXZlbHkoc2libGluZywgdHlwZXMsIGhvc3RJbnN0YW5jZXMpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKSB7XG4gIHtcbiAgICB2YXIgZm91bmRIb3N0SW5zdGFuY2VzID0gZmluZENoaWxkSG9zdEluc3RhbmNlc0ZvckZpYmVyU2hhbGxvd2x5KGZpYmVyLCBob3N0SW5zdGFuY2VzKTtcblxuICAgIGlmIChmb3VuZEhvc3RJbnN0YW5jZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIElmIHdlIGRpZG4ndCBmaW5kIGFueSBob3N0IGNoaWxkcmVuLCBmYWxsYmFjayB0byBjbG9zZXN0IGhvc3QgcGFyZW50LlxuXG5cbiAgICB2YXIgbm9kZSA9IGZpYmVyO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHN3aXRjaCAobm9kZS50YWcpIHtcbiAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgIGhvc3RJbnN0YW5jZXMuYWRkKG5vZGUuc3RhdGVOb2RlKTtcbiAgICAgICAgICByZXR1cm47XG5cbiAgICAgICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgICAgIGhvc3RJbnN0YW5jZXMuYWRkKG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgIHJldHVybjtcblxuICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgIGhvc3RJbnN0YW5jZXMuYWRkKG5vZGUuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdG8gcmVhY2ggcm9vdCBmaXJzdC4nKTtcbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kQ2hpbGRIb3N0SW5zdGFuY2VzRm9yRmliZXJTaGFsbG93bHkoZmliZXIsIGhvc3RJbnN0YW5jZXMpIHtcbiAge1xuICAgIHZhciBub2RlID0gZmliZXI7XG4gICAgdmFyIGZvdW5kSG9zdEluc3RhbmNlcyA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCkge1xuICAgICAgICAvLyBXZSBnb3QgYSBtYXRjaC5cbiAgICAgICAgZm91bmRIb3N0SW5zdGFuY2VzID0gdHJ1ZTtcbiAgICAgICAgaG9zdEluc3RhbmNlcy5hZGQobm9kZS5zdGF0ZU5vZGUpOyAvLyBUaGVyZSBtYXkgc3RpbGwgYmUgbW9yZSwgc28ga2VlcCBzZWFyY2hpbmcuXG4gICAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChub2RlID09PSBmaWJlcikge1xuICAgICAgICByZXR1cm4gZm91bmRIb3N0SW5zdGFuY2VzO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gZmliZXIpIHtcbiAgICAgICAgICByZXR1cm4gZm91bmRIb3N0SW5zdGFuY2VzO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZURlZmF1bHRQcm9wcyhDb21wb25lbnQsIGJhc2VQcm9wcykge1xuICBpZiAoQ29tcG9uZW50ICYmIENvbXBvbmVudC5kZWZhdWx0UHJvcHMpIHtcbiAgICAvLyBSZXNvbHZlIGRlZmF1bHQgcHJvcHMuIFRha2VuIGZyb20gUmVhY3RFbGVtZW50XG4gICAgdmFyIHByb3BzID0gX2Fzc2lnbih7fSwgYmFzZVByb3BzKTtcblxuICAgIHZhciBkZWZhdWx0UHJvcHMgPSBDb21wb25lbnQuZGVmYXVsdFByb3BzO1xuXG4gICAgZm9yICh2YXIgcHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcHJvcHM7XG4gIH1cblxuICByZXR1cm4gYmFzZVByb3BzO1xufVxuZnVuY3Rpb24gcmVhZExhenlDb21wb25lbnRUeXBlKGxhenlDb21wb25lbnQpIHtcbiAgaW5pdGlhbGl6ZUxhenlDb21wb25lbnRUeXBlKGxhenlDb21wb25lbnQpO1xuXG4gIGlmIChsYXp5Q29tcG9uZW50Ll9zdGF0dXMgIT09IFJlc29sdmVkKSB7XG4gICAgdGhyb3cgbGF6eUNvbXBvbmVudC5fcmVzdWx0O1xuICB9XG5cbiAgcmV0dXJuIGxhenlDb21wb25lbnQuX3Jlc3VsdDtcbn1cblxudmFyIHZhbHVlQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKG51bGwpO1xudmFyIHJlbmRlcmVyU2lnaWw7XG5cbntcbiAgLy8gVXNlIHRoaXMgdG8gZGV0ZWN0IG11bHRpcGxlIHJlbmRlcmVycyB1c2luZyB0aGUgc2FtZSBjb250ZXh0XG4gIHJlbmRlcmVyU2lnaWwgPSB7fTtcbn1cblxudmFyIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID0gbnVsbDtcbnZhciBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xudmFyIGxhc3RDb250ZXh0V2l0aEFsbEJpdHNPYnNlcnZlZCA9IG51bGw7XG52YXIgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuZnVuY3Rpb24gcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCkge1xuICAvLyBUaGlzIGlzIGNhbGxlZCByaWdodCBiZWZvcmUgUmVhY3QgeWllbGRzIGV4ZWN1dGlvbiwgdG8gZW5zdXJlIGByZWFkQ29udGV4dGBcbiAgLy8gY2Fubm90IGJlIGNhbGxlZCBvdXRzaWRlIHRoZSByZW5kZXIgcGhhc2UuXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyID0gbnVsbDtcbiAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gbnVsbDtcbiAgbGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID0gbnVsbDtcblxuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCkge1xuICB7XG4gICAgaXNEaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFViA9IHRydWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpIHtcbiAge1xuICAgIGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYgPSBmYWxzZTtcbiAgfVxufVxuZnVuY3Rpb24gcHVzaFByb3ZpZGVyKHByb3ZpZGVyRmliZXIsIG5leHRWYWx1ZSkge1xuICB2YXIgY29udGV4dCA9IHByb3ZpZGVyRmliZXIudHlwZS5fY29udGV4dDtcblxuICB7XG4gICAgcHVzaCh2YWx1ZUN1cnNvciwgY29udGV4dC5fY3VycmVudFZhbHVlLCBwcm92aWRlckZpYmVyKTtcbiAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUgPSBuZXh0VmFsdWU7XG5cbiAgICB7XG4gICAgICBpZiAoY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSB1bmRlZmluZWQgJiYgY29udGV4dC5fY3VycmVudFJlbmRlcmVyICE9PSBudWxsICYmIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciAhPT0gcmVuZGVyZXJTaWdpbCkge1xuICAgICAgICBlcnJvcignRGV0ZWN0ZWQgbXVsdGlwbGUgcmVuZGVyZXJzIGNvbmN1cnJlbnRseSByZW5kZXJpbmcgdGhlICcgKyAnc2FtZSBjb250ZXh0IHByb3ZpZGVyLiBUaGlzIGlzIGN1cnJlbnRseSB1bnN1cHBvcnRlZC4nKTtcbiAgICAgIH1cblxuICAgICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyID0gcmVuZGVyZXJTaWdpbDtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBvcFByb3ZpZGVyKHByb3ZpZGVyRmliZXIpIHtcbiAgdmFyIGN1cnJlbnRWYWx1ZSA9IHZhbHVlQ3Vyc29yLmN1cnJlbnQ7XG4gIHBvcCh2YWx1ZUN1cnNvciwgcHJvdmlkZXJGaWJlcik7XG4gIHZhciBjb250ZXh0ID0gcHJvdmlkZXJGaWJlci50eXBlLl9jb250ZXh0O1xuXG4gIHtcbiAgICBjb250ZXh0Ll9jdXJyZW50VmFsdWUgPSBjdXJyZW50VmFsdWU7XG4gIH1cbn1cbmZ1bmN0aW9uIGNhbGN1bGF0ZUNoYW5nZWRCaXRzKGNvbnRleHQsIG5ld1ZhbHVlLCBvbGRWYWx1ZSkge1xuICBpZiAob2JqZWN0SXMob2xkVmFsdWUsIG5ld1ZhbHVlKSkge1xuICAgIC8vIE5vIGNoYW5nZVxuICAgIHJldHVybiAwO1xuICB9IGVsc2Uge1xuICAgIHZhciBjaGFuZ2VkQml0cyA9IHR5cGVvZiBjb250ZXh0Ll9jYWxjdWxhdGVDaGFuZ2VkQml0cyA9PT0gJ2Z1bmN0aW9uJyA/IGNvbnRleHQuX2NhbGN1bGF0ZUNoYW5nZWRCaXRzKG9sZFZhbHVlLCBuZXdWYWx1ZSkgOiBNQVhfU0lHTkVEXzMxX0JJVF9JTlQ7XG5cbiAgICB7XG4gICAgICBpZiAoKGNoYW5nZWRCaXRzICYgTUFYX1NJR05FRF8zMV9CSVRfSU5UKSAhPT0gY2hhbmdlZEJpdHMpIHtcbiAgICAgICAgZXJyb3IoJ2NhbGN1bGF0ZUNoYW5nZWRCaXRzOiBFeHBlY3RlZCB0aGUgcmV0dXJuIHZhbHVlIHRvIGJlIGEgJyArICczMS1iaXQgaW50ZWdlci4gSW5zdGVhZCByZWNlaXZlZDogJXMnLCBjaGFuZ2VkQml0cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoYW5nZWRCaXRzIHwgMDtcbiAgfVxufVxuZnVuY3Rpb24gc2NoZWR1bGVXb3JrT25QYXJlbnRQYXRoKHBhcmVudCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgLy8gVXBkYXRlIHRoZSBjaGlsZCBleHBpcmF0aW9uIHRpbWUgb2YgYWxsIHRoZSBhbmNlc3RvcnMsIGluY2x1ZGluZ1xuICAvLyB0aGUgYWx0ZXJuYXRlcy5cbiAgdmFyIG5vZGUgPSBwYXJlbnQ7XG5cbiAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICB2YXIgYWx0ZXJuYXRlID0gbm9kZS5hbHRlcm5hdGU7XG5cbiAgICBpZiAobm9kZS5jaGlsZEV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgIG5vZGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuXG4gICAgICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFsdGVybmF0ZSAhPT0gbnVsbCAmJiBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gICAgICBhbHRlcm5hdGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOZWl0aGVyIGFsdGVybmF0ZSB3YXMgdXBkYXRlZCwgd2hpY2ggbWVhbnMgdGhlIHJlc3Qgb2YgdGhlXG4gICAgICAvLyBhbmNlc3RvciBwYXRoIGFscmVhZHkgaGFzIHN1ZmZpY2llbnQgcHJpb3JpdHkuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gIH1cbn1cbmZ1bmN0aW9uIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIGNoYW5nZWRCaXRzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB2YXIgZmliZXIgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICBpZiAoZmliZXIgIT09IG51bGwpIHtcbiAgICAvLyBTZXQgdGhlIHJldHVybiBwb2ludGVyIG9mIHRoZSBjaGlsZCB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICBmaWJlci5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgfVxuXG4gIHdoaWxlIChmaWJlciAhPT0gbnVsbCkge1xuICAgIHZhciBuZXh0RmliZXIgPSB2b2lkIDA7IC8vIFZpc2l0IHRoaXMgZmliZXIuXG5cbiAgICB2YXIgbGlzdCA9IGZpYmVyLmRlcGVuZGVuY2llcztcblxuICAgIGlmIChsaXN0ICE9PSBudWxsKSB7XG4gICAgICBuZXh0RmliZXIgPSBmaWJlci5jaGlsZDtcbiAgICAgIHZhciBkZXBlbmRlbmN5ID0gbGlzdC5maXJzdENvbnRleHQ7XG5cbiAgICAgIHdoaWxlIChkZXBlbmRlbmN5ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBjb250ZXh0IG1hdGNoZXMuXG4gICAgICAgIGlmIChkZXBlbmRlbmN5LmNvbnRleHQgPT09IGNvbnRleHQgJiYgKGRlcGVuZGVuY3kub2JzZXJ2ZWRCaXRzICYgY2hhbmdlZEJpdHMpICE9PSAwKSB7XG4gICAgICAgICAgLy8gTWF0Y2ghIFNjaGVkdWxlIGFuIHVwZGF0ZSBvbiB0aGlzIGZpYmVyLlxuICAgICAgICAgIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBTY2hlZHVsZSBhIGZvcmNlIHVwZGF0ZSBvbiB0aGUgd29yay1pbi1wcm9ncmVzcy5cbiAgICAgICAgICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUocmVuZGVyRXhwaXJhdGlvblRpbWUsIG51bGwpO1xuICAgICAgICAgICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlOyAvLyBUT0RPOiBCZWNhdXNlIHdlIGRvbid0IGhhdmUgYSB3b3JrLWluLXByb2dyZXNzLCB0aGlzIHdpbGwgYWRkIHRoZVxuICAgICAgICAgICAgLy8gdXBkYXRlIHRvIHRoZSBjdXJyZW50IGZpYmVyLCB0b28sIHdoaWNoIG1lYW5zIGl0IHdpbGwgcGVyc2lzdCBldmVuIGlmXG4gICAgICAgICAgICAvLyB0aGlzIHJlbmRlciBpcyB0aHJvd24gYXdheS4gU2luY2UgaXQncyBhIHJhY2UgY29uZGl0aW9uLCBub3Qgc3VyZSBpdCdzXG4gICAgICAgICAgICAvLyB3b3J0aCBmaXhpbmcuXG5cbiAgICAgICAgICAgIGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpYmVyLmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGFsdGVybmF0ZSA9IGZpYmVyLmFsdGVybmF0ZTtcblxuICAgICAgICAgIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgICAgIGFsdGVybmF0ZS5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNjaGVkdWxlV29ya09uUGFyZW50UGF0aChmaWJlci5yZXR1cm4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gTWFyayB0aGUgZXhwaXJhdGlvbiB0aW1lIG9uIHRoZSBsaXN0LCB0b28uXG5cbiAgICAgICAgICBpZiAobGlzdC5leHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgICBsaXN0LmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XG4gICAgICAgICAgfSAvLyBTaW5jZSB3ZSBhbHJlYWR5IGZvdW5kIGEgbWF0Y2gsIHdlIGNhbiBzdG9wIHRyYXZlcnNpbmcgdGhlXG4gICAgICAgICAgLy8gZGVwZW5kZW5jeSBsaXN0LlxuXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlcGVuZGVuY3kgPSBkZXBlbmRlbmN5Lm5leHQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IENvbnRleHRQcm92aWRlcikge1xuICAgICAgLy8gRG9uJ3Qgc2NhbiBkZWVwZXIgaWYgdGhpcyBpcyBhIG1hdGNoaW5nIHByb3ZpZGVyXG4gICAgICBuZXh0RmliZXIgPSBmaWJlci50eXBlID09PSB3b3JrSW5Qcm9ncmVzcy50eXBlID8gbnVsbCA6IGZpYmVyLmNoaWxkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUcmF2ZXJzZSBkb3duLlxuICAgICAgbmV4dEZpYmVyID0gZmliZXIuY2hpbGQ7XG4gICAgfVxuXG4gICAgaWYgKG5leHRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgLy8gU2V0IHRoZSByZXR1cm4gcG9pbnRlciBvZiB0aGUgY2hpbGQgdG8gdGhlIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG4gICAgICBuZXh0RmliZXIucmV0dXJuID0gZmliZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNoaWxkLiBUcmF2ZXJzZSB0byBuZXh0IHNpYmxpbmcuXG4gICAgICBuZXh0RmliZXIgPSBmaWJlcjtcblxuICAgICAgd2hpbGUgKG5leHRGaWJlciAhPT0gbnVsbCkge1xuICAgICAgICBpZiAobmV4dEZpYmVyID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgICAgIC8vIFdlJ3JlIGJhY2sgdG8gdGhlIHJvb3Qgb2YgdGhpcyBzdWJ0cmVlLiBFeGl0LlxuICAgICAgICAgIG5leHRGaWJlciA9IG51bGw7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgc2libGluZyA9IG5leHRGaWJlci5zaWJsaW5nO1xuXG4gICAgICAgIGlmIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgICAgLy8gU2V0IHRoZSByZXR1cm4gcG9pbnRlciBvZiB0aGUgc2libGluZyB0byB0aGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci5cbiAgICAgICAgICBzaWJsaW5nLnJldHVybiA9IG5leHRGaWJlci5yZXR1cm47XG4gICAgICAgICAgbmV4dEZpYmVyID0gc2libGluZztcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfSAvLyBObyBtb3JlIHNpYmxpbmdzLiBUcmF2ZXJzZSB1cC5cblxuXG4gICAgICAgIG5leHRGaWJlciA9IG5leHRGaWJlci5yZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIgPSBuZXh0RmliZXI7XG4gIH1cbn1cbmZ1bmN0aW9uIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciA9IHdvcmtJblByb2dyZXNzO1xuICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBudWxsO1xuICBsYXN0Q29udGV4dFdpdGhBbGxCaXRzT2JzZXJ2ZWQgPSBudWxsO1xuICB2YXIgZGVwZW5kZW5jaWVzID0gd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzO1xuXG4gIGlmIChkZXBlbmRlbmNpZXMgIT09IG51bGwpIHtcbiAgICB2YXIgZmlyc3RDb250ZXh0ID0gZGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dDtcblxuICAgIGlmIChmaXJzdENvbnRleHQgIT09IG51bGwpIHtcbiAgICAgIGlmIChkZXBlbmRlbmNpZXMuZXhwaXJhdGlvblRpbWUgPj0gcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgLy8gQ29udGV4dCBsaXN0IGhhcyBhIHBlbmRpbmcgdXBkYXRlLiBNYXJrIHRoYXQgdGhpcyBmaWJlciBwZXJmb3JtZWQgd29yay5cbiAgICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICAgIH0gLy8gUmVzZXQgdGhlIHdvcmstaW4tcHJvZ3Jlc3MgbGlzdFxuXG5cbiAgICAgIGRlcGVuZGVuY2llcy5maXJzdENvbnRleHQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XG4gIHtcbiAgICAvLyBUaGlzIHdhcm5pbmcgd291bGQgZmlyZSBpZiB5b3UgcmVhZCBjb250ZXh0IGluc2lkZSBhIEhvb2sgbGlrZSB1c2VNZW1vLlxuICAgIC8vIFVubGlrZSB0aGUgY2xhc3MgY2hlY2sgYmVsb3csIGl0J3Mgbm90IGVuZm9yY2VkIGluIHByb2R1Y3Rpb24gZm9yIHBlcmYuXG4gICAgaWYgKGlzRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYpIHtcbiAgICAgIGVycm9yKCdDb250ZXh0IGNhbiBvbmx5IGJlIHJlYWQgd2hpbGUgUmVhY3QgaXMgcmVuZGVyaW5nLiAnICsgJ0luIGNsYXNzZXMsIHlvdSBjYW4gcmVhZCBpdCBpbiB0aGUgcmVuZGVyIG1ldGhvZCBvciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMuICcgKyAnSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90ICcgKyAnaW5zaWRlIEhvb2tzIGxpa2UgdXNlUmVkdWNlcigpIG9yIHVzZU1lbW8oKS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAobGFzdENvbnRleHRXaXRoQWxsQml0c09ic2VydmVkID09PSBjb250ZXh0KSA7IGVsc2UgaWYgKG9ic2VydmVkQml0cyA9PT0gZmFsc2UgfHwgb2JzZXJ2ZWRCaXRzID09PSAwKSA7IGVsc2Uge1xuICAgIHZhciByZXNvbHZlZE9ic2VydmVkQml0czsgLy8gQXZvaWQgZGVvcHRpbmcgb24gb2JzZXJ2YWJsZSBhcmd1bWVudHMgb3IgaGV0ZXJvZ2VuZW91cyB0eXBlcy5cblxuICAgIGlmICh0eXBlb2Ygb2JzZXJ2ZWRCaXRzICE9PSAnbnVtYmVyJyB8fCBvYnNlcnZlZEJpdHMgPT09IE1BWF9TSUdORURfMzFfQklUX0lOVCkge1xuICAgICAgLy8gT2JzZXJ2ZSBhbGwgdXBkYXRlcy5cbiAgICAgIGxhc3RDb250ZXh0V2l0aEFsbEJpdHNPYnNlcnZlZCA9IGNvbnRleHQ7XG4gICAgICByZXNvbHZlZE9ic2VydmVkQml0cyA9IE1BWF9TSUdORURfMzFfQklUX0lOVDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzb2x2ZWRPYnNlcnZlZEJpdHMgPSBvYnNlcnZlZEJpdHM7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRleHRJdGVtID0ge1xuICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgIG9ic2VydmVkQml0czogcmVzb2x2ZWRPYnNlcnZlZEJpdHMsXG4gICAgICBuZXh0OiBudWxsXG4gICAgfTtcblxuICAgIGlmIChsYXN0Q29udGV4dERlcGVuZGVuY3kgPT09IG51bGwpIHtcbiAgICAgIGlmICghKGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyICE9PSBudWxsKSkge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiQ29udGV4dCBjYW4gb25seSBiZSByZWFkIHdoaWxlIFJlYWN0IGlzIHJlbmRlcmluZy4gSW4gY2xhc3NlcywgeW91IGNhbiByZWFkIGl0IGluIHRoZSByZW5kZXIgbWV0aG9kIG9yIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gSW4gZnVuY3Rpb24gY29tcG9uZW50cywgeW91IGNhbiByZWFkIGl0IGRpcmVjdGx5IGluIHRoZSBmdW5jdGlvbiBib2R5LCBidXQgbm90IGluc2lkZSBIb29rcyBsaWtlIHVzZVJlZHVjZXIoKSBvciB1c2VNZW1vKCkuXCIgKTtcbiAgICAgICAgfVxuICAgICAgfSAvLyBUaGlzIGlzIHRoZSBmaXJzdCBkZXBlbmRlbmN5IGZvciB0aGlzIGNvbXBvbmVudC4gQ3JlYXRlIGEgbmV3IGxpc3QuXG5cblxuICAgICAgbGFzdENvbnRleHREZXBlbmRlbmN5ID0gY29udGV4dEl0ZW07XG4gICAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlci5kZXBlbmRlbmNpZXMgPSB7XG4gICAgICAgIGV4cGlyYXRpb25UaW1lOiBOb1dvcmssXG4gICAgICAgIGZpcnN0Q29udGV4dDogY29udGV4dEl0ZW0sXG4gICAgICAgIHJlc3BvbmRlcnM6IG51bGxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGVuZCBhIG5ldyBjb250ZXh0IGl0ZW0uXG4gICAgICBsYXN0Q29udGV4dERlcGVuZGVuY3kgPSBsYXN0Q29udGV4dERlcGVuZGVuY3kubmV4dCA9IGNvbnRleHRJdGVtO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAgY29udGV4dC5fY3VycmVudFZhbHVlIDtcbn1cblxudmFyIFVwZGF0ZVN0YXRlID0gMDtcbnZhciBSZXBsYWNlU3RhdGUgPSAxO1xudmFyIEZvcmNlVXBkYXRlID0gMjtcbnZhciBDYXB0dXJlVXBkYXRlID0gMzsgLy8gR2xvYmFsIHN0YXRlIHRoYXQgaXMgcmVzZXQgYXQgdGhlIGJlZ2lubmluZyBvZiBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLlxuLy8gSXQgc2hvdWxkIG9ubHkgYmUgcmVhZCByaWdodCBhZnRlciBjYWxsaW5nIGBwcm9jZXNzVXBkYXRlUXVldWVgLCB2aWFcbi8vIGBjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nYC5cblxudmFyIGhhc0ZvcmNlVXBkYXRlID0gZmFsc2U7XG52YXIgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZTtcbnZhciBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWU7XG5cbntcbiAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IGZhbHNlO1xuICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBpbml0aWFsaXplVXBkYXRlUXVldWUoZmliZXIpIHtcbiAgdmFyIHF1ZXVlID0ge1xuICAgIGJhc2VTdGF0ZTogZmliZXIubWVtb2l6ZWRTdGF0ZSxcbiAgICBiYXNlUXVldWU6IG51bGwsXG4gICAgc2hhcmVkOiB7XG4gICAgICBwZW5kaW5nOiBudWxsXG4gICAgfSxcbiAgICBlZmZlY3RzOiBudWxsXG4gIH07XG4gIGZpYmVyLnVwZGF0ZVF1ZXVlID0gcXVldWU7XG59XG5mdW5jdGlvbiBjbG9uZVVwZGF0ZVF1ZXVlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7XG4gIC8vIENsb25lIHRoZSB1cGRhdGUgcXVldWUgZnJvbSBjdXJyZW50LiBVbmxlc3MgaXQncyBhbHJlYWR5IGEgY2xvbmUuXG4gIHZhciBxdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xuICB2YXIgY3VycmVudFF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcblxuICBpZiAocXVldWUgPT09IGN1cnJlbnRRdWV1ZSkge1xuICAgIHZhciBjbG9uZSA9IHtcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudFF1ZXVlLmJhc2VTdGF0ZSxcbiAgICAgIGJhc2VRdWV1ZTogY3VycmVudFF1ZXVlLmJhc2VRdWV1ZSxcbiAgICAgIHNoYXJlZDogY3VycmVudFF1ZXVlLnNoYXJlZCxcbiAgICAgIGVmZmVjdHM6IGN1cnJlbnRRdWV1ZS5lZmZlY3RzXG4gICAgfTtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IGNsb25lO1xuICB9XG59XG5mdW5jdGlvbiBjcmVhdGVVcGRhdGUoZXhwaXJhdGlvblRpbWUsIHN1c3BlbnNlQ29uZmlnKSB7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHN1c3BlbnNlQ29uZmlnOiBzdXNwZW5zZUNvbmZpZyxcbiAgICB0YWc6IFVwZGF0ZVN0YXRlLFxuICAgIHBheWxvYWQ6IG51bGwsXG4gICAgY2FsbGJhY2s6IG51bGwsXG4gICAgbmV4dDogbnVsbFxuICB9O1xuICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcblxuICB7XG4gICAgdXBkYXRlLnByaW9yaXR5ID0gZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKTtcbiAgfVxuXG4gIHJldHVybiB1cGRhdGU7XG59XG5mdW5jdGlvbiBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUpIHtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gZmliZXIudXBkYXRlUXVldWU7XG5cbiAgaWYgKHVwZGF0ZVF1ZXVlID09PSBudWxsKSB7XG4gICAgLy8gT25seSBvY2N1cnMgaWYgdGhlIGZpYmVyIGhhcyBiZWVuIHVubW91bnRlZC5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgc2hhcmVkUXVldWUgPSB1cGRhdGVRdWV1ZS5zaGFyZWQ7XG4gIHZhciBwZW5kaW5nID0gc2hhcmVkUXVldWUucGVuZGluZztcblxuICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgfSBlbHNlIHtcbiAgICB1cGRhdGUubmV4dCA9IHBlbmRpbmcubmV4dDtcbiAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gIH1cblxuICBzaGFyZWRRdWV1ZS5wZW5kaW5nID0gdXBkYXRlO1xuXG4gIHtcbiAgICBpZiAoY3VycmVudGx5UHJvY2Vzc2luZ1F1ZXVlID09PSBzaGFyZWRRdWV1ZSAmJiAhZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSkge1xuICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSAoc2V0U3RhdGUsIHJlcGxhY2VTdGF0ZSwgb3IgZm9yY2VVcGRhdGUpIHdhcyBzY2hlZHVsZWQgJyArICdmcm9tIGluc2lkZSBhbiB1cGRhdGUgZnVuY3Rpb24uIFVwZGF0ZSBmdW5jdGlvbnMgc2hvdWxkIGJlIHB1cmUsICcgKyAnd2l0aCB6ZXJvIHNpZGUtZWZmZWN0cy4gQ29uc2lkZXIgdXNpbmcgY29tcG9uZW50RGlkVXBkYXRlIG9yIGEgJyArICdjYWxsYmFjay4nKTtcblxuICAgICAgZGlkV2FyblVwZGF0ZUluc2lkZVVwZGF0ZSA9IHRydWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIHVwZGF0ZSkge1xuICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIEVuc3VyZSB0aGUgd29yay1pbi1wcm9ncmVzcyBxdWV1ZSBpcyBhIGNsb25lXG4gICAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gLy8gQ2FwdHVyZWQgdXBkYXRlcyBnbyBvbmx5IG9uIHRoZSB3b3JrLWluLXByb2dyZXNzIHF1ZXVlLlxuXG5cbiAgdmFyIHF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7IC8vIEFwcGVuZCB0aGUgdXBkYXRlIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3QuXG5cbiAgdmFyIGxhc3QgPSBxdWV1ZS5iYXNlUXVldWU7XG5cbiAgaWYgKGxhc3QgPT09IG51bGwpIHtcbiAgICBxdWV1ZS5iYXNlUXVldWUgPSB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgfSBlbHNlIHtcbiAgICB1cGRhdGUubmV4dCA9IGxhc3QubmV4dDtcbiAgICBsYXN0Lm5leHQgPSB1cGRhdGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0U3RhdGVGcm9tVXBkYXRlKHdvcmtJblByb2dyZXNzLCBxdWV1ZSwgdXBkYXRlLCBwcmV2U3RhdGUsIG5leHRQcm9wcywgaW5zdGFuY2UpIHtcbiAgc3dpdGNoICh1cGRhdGUudGFnKSB7XG4gICAgY2FzZSBSZXBsYWNlU3RhdGU6XG4gICAgICB7XG4gICAgICAgIHZhciBwYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBwYXlsb2FkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgLy8gVXBkYXRlciBmdW5jdGlvblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudGVyRGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcblxuICAgICAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xuICAgICAgICAgICAgICBwYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgbmV4dFN0YXRlID0gcGF5bG9hZC5jYWxsKGluc3RhbmNlLCBwcmV2U3RhdGUsIG5leHRQcm9wcyk7XG5cbiAgICAgICAgICB7XG4gICAgICAgICAgICBleGl0RGlzYWxsb3dlZENvbnRleHRSZWFkSW5ERVYoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbmV4dFN0YXRlO1xuICAgICAgICB9IC8vIFN0YXRlIG9iamVjdFxuXG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgICB9XG5cbiAgICBjYXNlIENhcHR1cmVVcGRhdGU6XG4gICAgICB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyA9IHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmIH5TaG91bGRDYXB0dXJlIHwgRGlkQ2FwdHVyZTtcbiAgICAgIH1cbiAgICAvLyBJbnRlbnRpb25hbCBmYWxsdGhyb3VnaFxuXG4gICAgY2FzZSBVcGRhdGVTdGF0ZTpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9wYXlsb2FkID0gdXBkYXRlLnBheWxvYWQ7XG4gICAgICAgIHZhciBwYXJ0aWFsU3RhdGU7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBfcGF5bG9hZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIFVwZGF0ZXIgZnVuY3Rpb25cbiAgICAgICAgICB7XG4gICAgICAgICAgICBlbnRlckRpc2FsbG93ZWRDb250ZXh0UmVhZEluREVWKCk7XG5cbiAgICAgICAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcbiAgICAgICAgICAgICAgX3BheWxvYWQuY2FsbChpbnN0YW5jZSwgcHJldlN0YXRlLCBuZXh0UHJvcHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHBhcnRpYWxTdGF0ZSA9IF9wYXlsb2FkLmNhbGwoaW5zdGFuY2UsIHByZXZTdGF0ZSwgbmV4dFByb3BzKTtcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGV4aXREaXNhbGxvd2VkQ29udGV4dFJlYWRJbkRFVigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBQYXJ0aWFsIHN0YXRlIG9iamVjdFxuICAgICAgICAgIHBhcnRpYWxTdGF0ZSA9IF9wYXlsb2FkO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhcnRpYWxTdGF0ZSA9PT0gbnVsbCB8fCBwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIE51bGwgYW5kIHVuZGVmaW5lZCBhcmUgdHJlYXRlZCBhcyBuby1vcHMuXG4gICAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcbiAgICAgICAgfSAvLyBNZXJnZSB0aGUgcGFydGlhbCBzdGF0ZSBhbmQgdGhlIHByZXZpb3VzIHN0YXRlLlxuXG5cbiAgICAgICAgcmV0dXJuIF9hc3NpZ24oe30sIHByZXZTdGF0ZSwgcGFydGlhbFN0YXRlKTtcbiAgICAgIH1cblxuICAgIGNhc2UgRm9yY2VVcGRhdGU6XG4gICAgICB7XG4gICAgICAgIGhhc0ZvcmNlVXBkYXRlID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZTtcbiAgICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcmV2U3RhdGU7XG59XG5cbmZ1bmN0aW9uIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgcHJvcHMsIGluc3RhbmNlLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAvLyBUaGlzIGlzIGFsd2F5cyBub24tbnVsbCBvbiBhIENsYXNzQ29tcG9uZW50IG9yIEhvc3RSb290XG4gIHZhciBxdWV1ZSA9IHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xuICBoYXNGb3JjZVVwZGF0ZSA9IGZhbHNlO1xuXG4gIHtcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQ7XG4gIH0gLy8gVGhlIGxhc3QgcmViYXNlIHVwZGF0ZSB0aGF0IGlzIE5PVCBwYXJ0IG9mIHRoZSBiYXNlIHN0YXRlLlxuXG5cbiAgdmFyIGJhc2VRdWV1ZSA9IHF1ZXVlLmJhc2VRdWV1ZTsgLy8gVGhlIGxhc3QgcGVuZGluZyB1cGRhdGUgdGhhdCBoYXNuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxuXG4gIHZhciBwZW5kaW5nUXVldWUgPSBxdWV1ZS5zaGFyZWQucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBuZXcgdXBkYXRlcyB0aGF0IGhhdmVuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxuICAgIC8vIFdlJ2xsIGFkZCB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuICAgIGlmIChiYXNlUXVldWUgIT09IG51bGwpIHtcbiAgICAgIC8vIE1lcmdlIHRoZSBwZW5kaW5nIHF1ZXVlIGFuZCB0aGUgYmFzZSBxdWV1ZS5cbiAgICAgIHZhciBiYXNlRmlyc3QgPSBiYXNlUXVldWUubmV4dDtcbiAgICAgIHZhciBwZW5kaW5nRmlyc3QgPSBwZW5kaW5nUXVldWUubmV4dDtcbiAgICAgIGJhc2VRdWV1ZS5uZXh0ID0gcGVuZGluZ0ZpcnN0O1xuICAgICAgcGVuZGluZ1F1ZXVlLm5leHQgPSBiYXNlRmlyc3Q7XG4gICAgfVxuXG4gICAgYmFzZVF1ZXVlID0gcGVuZGluZ1F1ZXVlO1xuICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDsgLy8gVE9ETzogUGFzcyBgY3VycmVudGAgYXMgYXJndW1lbnRcblxuICAgIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xuXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIHZhciBjdXJyZW50UXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xuXG4gICAgICBpZiAoY3VycmVudFF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgIGN1cnJlbnRRdWV1ZS5iYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFRoZXNlIHZhbHVlcyBtYXkgY2hhbmdlIGFzIHdlIHByb2Nlc3MgdGhlIHF1ZXVlLlxuXG5cbiAgaWYgKGJhc2VRdWV1ZSAhPT0gbnVsbCkge1xuICAgIHZhciBmaXJzdCA9IGJhc2VRdWV1ZS5uZXh0OyAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIGxpc3Qgb2YgdXBkYXRlcyB0byBjb21wdXRlIHRoZSByZXN1bHQuXG5cbiAgICB2YXIgbmV3U3RhdGUgPSBxdWV1ZS5iYXNlU3RhdGU7XG4gICAgdmFyIG5ld0V4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xuICAgIHZhciBuZXdCYXNlU3RhdGUgPSBudWxsO1xuICAgIHZhciBuZXdCYXNlUXVldWVGaXJzdCA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUxhc3QgPSBudWxsO1xuXG4gICAgaWYgKGZpcnN0ICE9PSBudWxsKSB7XG4gICAgICB2YXIgdXBkYXRlID0gZmlyc3Q7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gdXBkYXRlLmV4cGlyYXRpb25UaW1lO1xuXG4gICAgICAgIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgLy8gUHJpb3JpdHkgaXMgaW5zdWZmaWNpZW50LiBTa2lwIHRoaXMgdXBkYXRlLiBJZiB0aGlzIGlzIHRoZSBmaXJzdFxuICAgICAgICAgIC8vIHNraXBwZWQgdXBkYXRlLCB0aGUgcHJldmlvdXMgdXBkYXRlL3N0YXRlIGlzIHRoZSBuZXcgYmFzZVxuICAgICAgICAgIC8vIHVwZGF0ZS9zdGF0ZS5cbiAgICAgICAgICB2YXIgY2xvbmUgPSB7XG4gICAgICAgICAgICBleHBpcmF0aW9uVGltZTogdXBkYXRlLmV4cGlyYXRpb25UaW1lLFxuICAgICAgICAgICAgc3VzcGVuc2VDb25maWc6IHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyxcbiAgICAgICAgICAgIHRhZzogdXBkYXRlLnRhZyxcbiAgICAgICAgICAgIHBheWxvYWQ6IHVwZGF0ZS5wYXlsb2FkLFxuICAgICAgICAgICAgY2FsbGJhY2s6IHVwZGF0ZS5jYWxsYmFjayxcbiAgICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgICAgICAgIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbmV3QmFzZVF1ZXVlTGFzdCA9IGNsb25lO1xuICAgICAgICAgICAgbmV3QmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0Jhc2VRdWV1ZUxhc3QgPSBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBjbG9uZTtcbiAgICAgICAgICB9IC8vIFVwZGF0ZSB0aGUgcmVtYWluaW5nIHByaW9yaXR5IGluIHRoZSBxdWV1ZS5cblxuXG4gICAgICAgICAgaWYgKHVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3RXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgICAgIG5ld0V4cGlyYXRpb25UaW1lID0gdXBkYXRlRXhwaXJhdGlvblRpbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoaXMgdXBkYXRlIGRvZXMgaGF2ZSBzdWZmaWNpZW50IHByaW9yaXR5LlxuICAgICAgICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgX2Nsb25lID0ge1xuICAgICAgICAgICAgICBleHBpcmF0aW9uVGltZTogU3luYyxcbiAgICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXQgaXQuXG4gICAgICAgICAgICAgIHN1c3BlbnNlQ29uZmlnOiB1cGRhdGUuc3VzcGVuc2VDb25maWcsXG4gICAgICAgICAgICAgIHRhZzogdXBkYXRlLnRhZyxcbiAgICAgICAgICAgICAgcGF5bG9hZDogdXBkYXRlLnBheWxvYWQsXG4gICAgICAgICAgICAgIGNhbGxiYWNrOiB1cGRhdGUuY2FsbGJhY2ssXG4gICAgICAgICAgICAgIG5leHQ6IG51bGxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xuICAgICAgICAgIH0gLy8gTWFyayB0aGUgZXZlbnQgdGltZSBvZiB0aGlzIHVwZGF0ZSBhcyByZWxldmFudCB0byB0aGlzIHJlbmRlciBwYXNzLlxuICAgICAgICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGlkZWFsbHkgdXNlIHRoZSB0cnVlIGV2ZW50IHRpbWUgb2YgdGhpcyB1cGRhdGUgcmF0aGVyIHRoYW5cbiAgICAgICAgICAvLyBpdHMgcHJpb3JpdHkgd2hpY2ggaXMgYSBkZXJpdmVkIGFuZCBub3QgcmV2ZXJzZWFibGUgdmFsdWUuXG4gICAgICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIHNraXAgdGhpcyB1cGRhdGUgaWYgaXQgd2FzIGFscmVhZHkgY29tbWl0dGVkIGJ1dCBjdXJyZW50bHlcbiAgICAgICAgICAvLyB3ZSBoYXZlIG5vIHdheSBvZiBkZXRlY3RpbmcgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIGNvbW1pdHRlZCBhbmQgc3VzcGVuZGVkXG4gICAgICAgICAgLy8gdXBkYXRlIGhlcmUuXG5cblxuICAgICAgICAgIG1hcmtSZW5kZXJFdmVudFRpbWVBbmRDb25maWcodXBkYXRlRXhwaXJhdGlvblRpbWUsIHVwZGF0ZS5zdXNwZW5zZUNvbmZpZyk7IC8vIFByb2Nlc3MgdGhpcyB1cGRhdGUuXG5cbiAgICAgICAgICBuZXdTdGF0ZSA9IGdldFN0YXRlRnJvbVVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgcXVldWUsIHVwZGF0ZSwgbmV3U3RhdGUsIHByb3BzLCBpbnN0YW5jZSk7XG4gICAgICAgICAgdmFyIGNhbGxiYWNrID0gdXBkYXRlLmNhbGxiYWNrO1xuXG4gICAgICAgICAgaWYgKGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gQ2FsbGJhY2s7XG4gICAgICAgICAgICB2YXIgZWZmZWN0cyA9IHF1ZXVlLmVmZmVjdHM7XG5cbiAgICAgICAgICAgIGlmIChlZmZlY3RzID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHF1ZXVlLmVmZmVjdHMgPSBbdXBkYXRlXTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVmZmVjdHMucHVzaCh1cGRhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVwZGF0ZSA9IHVwZGF0ZS5uZXh0O1xuXG4gICAgICAgIGlmICh1cGRhdGUgPT09IG51bGwgfHwgdXBkYXRlID09PSBmaXJzdCkge1xuICAgICAgICAgIHBlbmRpbmdRdWV1ZSA9IHF1ZXVlLnNoYXJlZC5wZW5kaW5nO1xuXG4gICAgICAgICAgaWYgKHBlbmRpbmdRdWV1ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIGZyb20gaW5zaWRlIGEgcmVkdWNlci4gQWRkIHRoZSBuZXdcbiAgICAgICAgICAgIC8vIHBlbmRpbmcgdXBkYXRlcyB0byB0aGUgZW5kIG9mIHRoZSBsaXN0IGFuZCBrZWVwIHByb2Nlc3NpbmcuXG4gICAgICAgICAgICB1cGRhdGUgPSBiYXNlUXVldWUubmV4dCA9IHBlbmRpbmdRdWV1ZS5uZXh0O1xuICAgICAgICAgICAgcGVuZGluZ1F1ZXVlLm5leHQgPSBmaXJzdDtcbiAgICAgICAgICAgIHF1ZXVlLmJhc2VRdWV1ZSA9IGJhc2VRdWV1ZSA9IHBlbmRpbmdRdWV1ZTtcbiAgICAgICAgICAgIHF1ZXVlLnNoYXJlZC5wZW5kaW5nID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gd2hpbGUgKHRydWUpO1xuICAgIH1cblxuICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ID09PSBudWxsKSB7XG4gICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gbmV3QmFzZVF1ZXVlRmlyc3Q7XG4gICAgfVxuXG4gICAgcXVldWUuYmFzZVN0YXRlID0gbmV3QmFzZVN0YXRlO1xuICAgIHF1ZXVlLmJhc2VRdWV1ZSA9IG5ld0Jhc2VRdWV1ZUxhc3Q7IC8vIFNldCB0aGUgcmVtYWluaW5nIGV4cGlyYXRpb24gdGltZSB0byBiZSB3aGF0ZXZlciBpcyByZW1haW5pbmcgaW4gdGhlIHF1ZXVlLlxuICAgIC8vIFRoaXMgc2hvdWxkIGJlIGZpbmUgYmVjYXVzZSB0aGUgb25seSB0d28gb3RoZXIgdGhpbmdzIHRoYXQgY29udHJpYnV0ZSB0b1xuICAgIC8vIGV4cGlyYXRpb24gdGltZSBhcmUgcHJvcHMgYW5kIGNvbnRleHQuIFdlJ3JlIGFscmVhZHkgaW4gdGhlIG1pZGRsZSBvZiB0aGVcbiAgICAvLyBiZWdpbiBwaGFzZSBieSB0aGUgdGltZSB3ZSBzdGFydCBwcm9jZXNzaW5nIHRoZSBxdWV1ZSwgc28gd2UndmUgYWxyZWFkeVxuICAgIC8vIGRlYWx0IHdpdGggdGhlIHByb3BzLiBDb250ZXh0IGluIGNvbXBvbmVudHMgdGhhdCBzcGVjaWZ5XG4gICAgLy8gc2hvdWxkQ29tcG9uZW50VXBkYXRlIGlzIHRyaWNreTsgYnV0IHdlJ2xsIGhhdmUgdG8gYWNjb3VudCBmb3JcbiAgICAvLyB0aGF0IHJlZ2FyZGxlc3MuXG5cbiAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKG5ld0V4cGlyYXRpb25UaW1lKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IG5ld0V4cGlyYXRpb25UaW1lO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHtcbiAgICBjdXJyZW50bHlQcm9jZXNzaW5nUXVldWUgPSBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgY29udGV4dCkge1xuICBpZiAoISh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgYXMgY2FsbGJhY2suIEV4cGVjdGVkIGEgZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6IFwiICsgY2FsbGJhY2sgKTtcbiAgICB9XG4gIH1cblxuICBjYWxsYmFjay5jYWxsKGNvbnRleHQpO1xufVxuXG5mdW5jdGlvbiByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpIHtcbiAgaGFzRm9yY2VVcGRhdGUgPSBmYWxzZTtcbn1cbmZ1bmN0aW9uIGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB7XG4gIHJldHVybiBoYXNGb3JjZVVwZGF0ZTtcbn1cbmZ1bmN0aW9uIGNvbW1pdFVwZGF0ZVF1ZXVlKGZpbmlzaGVkV29yaywgZmluaXNoZWRRdWV1ZSwgaW5zdGFuY2UpIHtcbiAgLy8gQ29tbWl0IHRoZSBlZmZlY3RzXG4gIHZhciBlZmZlY3RzID0gZmluaXNoZWRRdWV1ZS5lZmZlY3RzO1xuICBmaW5pc2hlZFF1ZXVlLmVmZmVjdHMgPSBudWxsO1xuXG4gIGlmIChlZmZlY3RzICE9PSBudWxsKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlZmZlY3RzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgZWZmZWN0ID0gZWZmZWN0c1tpXTtcbiAgICAgIHZhciBjYWxsYmFjayA9IGVmZmVjdC5jYWxsYmFjaztcblxuICAgICAgaWYgKGNhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICAgIGVmZmVjdC5jYWxsYmFjayA9IG51bGw7XG4gICAgICAgIGNhbGxDYWxsYmFjayhjYWxsYmFjaywgaW5zdGFuY2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgUmVhY3RDdXJyZW50QmF0Y2hDb25maWcgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRCYXRjaENvbmZpZztcbmZ1bmN0aW9uIHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKSB7XG4gIHJldHVybiBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZy5zdXNwZW5zZTtcbn1cblxudmFyIGZha2VJbnRlcm5hbEluc3RhbmNlID0ge307XG52YXIgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7IC8vIFJlYWN0LkNvbXBvbmVudCB1c2VzIGEgc2hhcmVkIGZyb3plbiBvYmplY3QgYnkgZGVmYXVsdC5cbi8vIFdlJ2xsIHVzZSBpdCB0byBkZXRlcm1pbmUgd2hldGhlciB3ZSBuZWVkIHRvIGluaXRpYWxpemUgbGVnYWN5IHJlZnMuXG5cbnZhciBlbXB0eVJlZnNPYmplY3QgPSBuZXcgUmVhY3QuQ29tcG9uZW50KCkucmVmcztcbnZhciBkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQ7XG52YXIgZGlkV2FybkFib3V0VW5pbml0aWFsaXplZFN0YXRlO1xudmFyIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZTtcbnZhciBkaWRXYXJuQWJvdXRMZWdhY3lMaWZlY3ljbGVzQW5kRGVyaXZlZFN0YXRlO1xudmFyIGRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZTtcbnZhciB3YXJuT25VbmRlZmluZWREZXJpdmVkU3RhdGU7XG52YXIgd2Fybk9uSW52YWxpZENhbGxiYWNrO1xudmFyIGRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlO1xudmFyIGRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzO1xudmFyIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZTtcblxue1xuICBkaWRXYXJuQWJvdXRTdGF0ZUFzc2lnbm1lbnRGb3JDb21wb25lbnQgPSBuZXcgU2V0KCk7XG4gIGRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0R2V0U25hcHNob3RCZWZvcmVVcGRhdGVXaXRob3V0RGlkVXBkYXRlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRMZWdhY3lMaWZlY3ljbGVzQW5kRGVyaXZlZFN0YXRlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZSA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlID0gbmV3IFNldCgpO1xuICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcyA9IG5ldyBTZXQoKTtcbiAgZGlkV2FybkFib3V0SW52YWxpZGF0ZUNvbnRleHRUeXBlID0gbmV3IFNldCgpO1xuICB2YXIgZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrID0gbmV3IFNldCgpO1xuXG4gIHdhcm5PbkludmFsaWRDYWxsYmFjayA9IGZ1bmN0aW9uIChjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIGlmIChjYWxsYmFjayA9PT0gbnVsbCB8fCB0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB2YXIga2V5ID0gY2FsbGVyTmFtZSArIFwiX1wiICsgY2FsbGJhY2s7XG5cbiAgICBpZiAoIWRpZFdhcm5PbkludmFsaWRDYWxsYmFjay5oYXMoa2V5KSkge1xuICAgICAgZGlkV2Fybk9uSW52YWxpZENhbGxiYWNrLmFkZChrZXkpO1xuXG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH07XG5cbiAgd2Fybk9uVW5kZWZpbmVkRGVyaXZlZFN0YXRlID0gZnVuY3Rpb24gKHR5cGUsIHBhcnRpYWxTdGF0ZSkge1xuICAgIGlmIChwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHR5cGUpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuZGVmaW5lZERlcml2ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0VW5kZWZpbmVkRGVyaXZlZFN0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCk6IEEgdmFsaWQgc3RhdGUgb2JqZWN0IChvciBudWxsKSBtdXN0IGJlIHJldHVybmVkLiAnICsgJ1lvdSBoYXZlIHJldHVybmVkIHVuZGVmaW5lZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH07IC8vIFRoaXMgaXMgc28gZ3Jvc3MgYnV0IGl0J3MgYXQgbGVhc3Qgbm9uLWNyaXRpY2FsIGFuZCBjYW4gYmUgcmVtb3ZlZCBpZlxuICAvLyBpdCBjYXVzZXMgcHJvYmxlbXMuIFRoaXMgaXMgbWVhbnQgdG8gZ2l2ZSBhIG5pY2VyIGVycm9yIG1lc3NhZ2UgZm9yXG4gIC8vIFJlYWN0RE9NMTUudW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocmVhY3RET00xNkNvbXBvbmVudCxcbiAgLy8gLi4uKSkgd2hpY2ggb3RoZXJ3aXNlIHRocm93cyBhIFwiX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGEgZnVuY3Rpb25cIlxuICAvLyBleGNlcHRpb24uXG5cblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZmFrZUludGVybmFsSW5zdGFuY2UsICdfcHJvY2Vzc0NoaWxkQ29udGV4dCcsIHtcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiX3Byb2Nlc3NDaGlsZENvbnRleHQgaXMgbm90IGF2YWlsYWJsZSBpbiBSZWFjdCAxNisuIFRoaXMgbGlrZWx5IG1lYW5zIHlvdSBoYXZlIG11bHRpcGxlIGNvcGllcyBvZiBSZWFjdCBhbmQgYXJlIGF0dGVtcHRpbmcgdG8gbmVzdCBhIFJlYWN0IDE1IHRyZWUgaW5zaWRlIGEgUmVhY3QgMTYgdHJlZSB1c2luZyB1bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lciwgd2hpY2ggaXNuJ3Qgc3VwcG9ydGVkLiBUcnkgdG8gbWFrZSBzdXJlIHlvdSBoYXZlIG9ubHkgb25lIGNvcHkgb2YgUmVhY3QgKGFuZCBpZGVhbGx5LCBzd2l0Y2ggdG8gUmVhY3RET00uY3JlYXRlUG9ydGFsKS5cIiApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgT2JqZWN0LmZyZWV6ZShmYWtlSW50ZXJuYWxJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5leHRQcm9wcykge1xuICB2YXIgcHJldlN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICB7XG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xuICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cbiAgICAgIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHBhcnRpYWxTdGF0ZSA9IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhuZXh0UHJvcHMsIHByZXZTdGF0ZSk7XG5cbiAge1xuICAgIHdhcm5PblVuZGVmaW5lZERlcml2ZWRTdGF0ZShjdG9yLCBwYXJ0aWFsU3RhdGUpO1xuICB9IC8vIE1lcmdlIHRoZSBwYXJ0aWFsIHN0YXRlIGFuZCB0aGUgcHJldmlvdXMgc3RhdGUuXG5cblxuICB2YXIgbWVtb2l6ZWRTdGF0ZSA9IHBhcnRpYWxTdGF0ZSA9PT0gbnVsbCB8fCBwYXJ0aWFsU3RhdGUgPT09IHVuZGVmaW5lZCA/IHByZXZTdGF0ZSA6IF9hc3NpZ24oe30sIHByZXZTdGF0ZSwgcGFydGlhbFN0YXRlKTtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG1lbW9pemVkU3RhdGU7IC8vIE9uY2UgdGhlIHVwZGF0ZSBxdWV1ZSBpcyBlbXB0eSwgcGVyc2lzdCB0aGUgZGVyaXZlZCBzdGF0ZSBvbnRvIHRoZVxuICAvLyBiYXNlIHN0YXRlLlxuXG4gIGlmICh3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9PT0gTm9Xb3JrKSB7XG4gICAgLy8gUXVldWUgaXMgYWx3YXlzIG5vbi1udWxsIGZvciBjbGFzc2VzXG4gICAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XG4gICAgdXBkYXRlUXVldWUuYmFzZVN0YXRlID0gbWVtb2l6ZWRTdGF0ZTtcbiAgfVxufVxudmFyIGNsYXNzQ29tcG9uZW50VXBkYXRlciA9IHtcbiAgaXNNb3VudGVkOiBpc01vdW50ZWQsXG4gIGVucXVldWVTZXRTdGF0ZTogZnVuY3Rpb24gKGluc3QsIHBheWxvYWQsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcbiAgICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXhwaXJhdGlvblRpbWUsIHN1c3BlbnNlQ29uZmlnKTtcbiAgICB1cGRhdGUucGF5bG9hZCA9IHBheWxvYWQ7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2ssICdzZXRTdGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUpO1xuICAgIHNjaGVkdWxlV29yayhmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xuICB9LFxuICBlbnF1ZXVlUmVwbGFjZVN0YXRlOiBmdW5jdGlvbiAoaW5zdCwgcGF5bG9hZCwgY2FsbGJhY2spIHtcbiAgICB2YXIgZmliZXIgPSBnZXQoaW5zdCk7XG4gICAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XG4gICAgdmFyIHN1c3BlbnNlQ29uZmlnID0gcmVxdWVzdEN1cnJlbnRTdXNwZW5zZUNvbmZpZygpO1xuICAgIHZhciBleHBpcmF0aW9uVGltZSA9IGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIoY3VycmVudFRpbWUsIGZpYmVyLCBzdXNwZW5zZUNvbmZpZyk7XG4gICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShleHBpcmF0aW9uVGltZSwgc3VzcGVuc2VDb25maWcpO1xuICAgIHVwZGF0ZS50YWcgPSBSZXBsYWNlU3RhdGU7XG4gICAgdXBkYXRlLnBheWxvYWQgPSBwYXlsb2FkO1xuXG4gICAgaWYgKGNhbGxiYWNrICE9PSB1bmRlZmluZWQgJiYgY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgIHtcbiAgICAgICAgd2Fybk9uSW52YWxpZENhbGxiYWNrKGNhbGxiYWNrLCAncmVwbGFjZVN0YXRlJyk7XG4gICAgICB9XG5cbiAgICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICAgIH1cblxuICAgIGVucXVldWVVcGRhdGUoZmliZXIsIHVwZGF0ZSk7XG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBleHBpcmF0aW9uVGltZSk7XG4gIH0sXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKGluc3QsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGluc3QpO1xuICAgIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xuICAgIHZhciBzdXNwZW5zZUNvbmZpZyA9IHJlcXVlc3RDdXJyZW50U3VzcGVuc2VDb25maWcoKTtcbiAgICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpO1xuICAgIHZhciB1cGRhdGUgPSBjcmVhdGVVcGRhdGUoZXhwaXJhdGlvblRpbWUsIHN1c3BlbnNlQ29uZmlnKTtcbiAgICB1cGRhdGUudGFnID0gRm9yY2VVcGRhdGU7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgICAge1xuICAgICAgICB3YXJuT25JbnZhbGlkQ2FsbGJhY2soY2FsbGJhY2ssICdmb3JjZVVwZGF0ZScpO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGUuY2FsbGJhY2sgPSBjYWxsYmFjaztcbiAgICB9XG5cbiAgICBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUpO1xuICAgIHNjaGVkdWxlV29yayhmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KSB7XG4gIHZhciBpbnN0YW5jZSA9IHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZTtcblxuICBpZiAodHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHtcbiAgICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcbiAgICAgICAgLy8gSW52b2tlIHRoZSBmdW5jdGlvbiBhbiBleHRyYSB0aW1lIHRvIGhlbHAgZGV0ZWN0IHNpZGUtZWZmZWN0cy5cbiAgICAgICAgaW5zdGFuY2Uuc2hvdWxkQ29tcG9uZW50VXBkYXRlKG5ld1Byb3BzLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ3Nob3VsZENvbXBvbmVudFVwZGF0ZScpO1xuICAgIHZhciBzaG91bGRVcGRhdGUgPSBpbnN0YW5jZS5zaG91bGRDb21wb25lbnRVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XG4gICAgc3RvcFBoYXNlVGltZXIoKTtcblxuICAgIHtcbiAgICAgIGlmIChzaG91bGRVcGRhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBlcnJvcignJXMuc2hvdWxkQ29tcG9uZW50VXBkYXRlKCk6IFJldHVybmVkIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIGEgJyArICdib29sZWFuIHZhbHVlLiBNYWtlIHN1cmUgdG8gcmV0dXJuIHRydWUgb3IgZmFsc2UuJywgZ2V0Q29tcG9uZW50TmFtZShjdG9yKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHNob3VsZFVwZGF0ZTtcbiAgfVxuXG4gIGlmIChjdG9yLnByb3RvdHlwZSAmJiBjdG9yLnByb3RvdHlwZS5pc1B1cmVSZWFjdENvbXBvbmVudCkge1xuICAgIHJldHVybiAhc2hhbGxvd0VxdWFsKG9sZFByb3BzLCBuZXdQcm9wcykgfHwgIXNoYWxsb3dFcXVhbChvbGRTdGF0ZSwgbmV3U3RhdGUpO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgY3RvciwgbmV3UHJvcHMpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIHtcbiAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG4gICAgdmFyIHJlbmRlclByZXNlbnQgPSBpbnN0YW5jZS5yZW5kZXI7XG5cbiAgICBpZiAoIXJlbmRlclByZXNlbnQpIHtcbiAgICAgIGlmIChjdG9yLnByb3RvdHlwZSAmJiB0eXBlb2YgY3Rvci5wcm90b3R5cGUucmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGVycm9yKCclcyguLi4pOiBObyBgcmVuZGVyYCBtZXRob2QgZm91bmQgb24gdGhlIHJldHVybmVkIGNvbXBvbmVudCAnICsgJ2luc3RhbmNlOiBkaWQgeW91IGFjY2lkZW50YWxseSByZXR1cm4gYW4gb2JqZWN0IGZyb20gdGhlIGNvbnN0cnVjdG9yPycsIG5hbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyb3IoJyVzKC4uLik6IE5vIGByZW5kZXJgIG1ldGhvZCBmb3VuZCBvbiB0aGUgcmV0dXJuZWQgY29tcG9uZW50ICcgKyAnaW5zdGFuY2U6IHlvdSBtYXkgaGF2ZSBmb3Jnb3R0ZW4gdG8gZGVmaW5lIGByZW5kZXJgLicsIG5hbWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZS5nZXRJbml0aWFsU3RhdGUgJiYgIWluc3RhbmNlLmdldEluaXRpYWxTdGF0ZS5pc1JlYWN0Q2xhc3NBcHByb3ZlZCAmJiAhaW5zdGFuY2Uuc3RhdGUpIHtcbiAgICAgIGVycm9yKCdnZXRJbml0aWFsU3RhdGUgd2FzIGRlZmluZWQgb24gJXMsIGEgcGxhaW4gSmF2YVNjcmlwdCBjbGFzcy4gJyArICdUaGlzIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBjbGFzc2VzIGNyZWF0ZWQgdXNpbmcgUmVhY3QuY3JlYXRlQ2xhc3MuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGRlZmluZSBhIHN0YXRlIHByb3BlcnR5IGluc3RlYWQ/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLmdldERlZmF1bHRQcm9wcyAmJiAhaW5zdGFuY2UuZ2V0RGVmYXVsdFByb3BzLmlzUmVhY3RDbGFzc0FwcHJvdmVkKSB7XG4gICAgICBlcnJvcignZ2V0RGVmYXVsdFByb3BzIHdhcyBkZWZpbmVkIG9uICVzLCBhIHBsYWluIEphdmFTY3JpcHQgY2xhc3MuICcgKyAnVGhpcyBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgY2xhc3NlcyBjcmVhdGVkIHVzaW5nIFJlYWN0LmNyZWF0ZUNsYXNzLiAnICsgJ1VzZSBhIHN0YXRpYyBwcm9wZXJ0eSB0byBkZWZpbmUgZGVmYXVsdFByb3BzIGluc3RlYWQuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKGluc3RhbmNlLnByb3BUeXBlcykge1xuICAgICAgZXJyb3IoJ3Byb3BUeXBlcyB3YXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcy4gVXNlIGEgc3RhdGljICcgKyAncHJvcGVydHkgdG8gZGVmaW5lIHByb3BUeXBlcyBpbnN0ZWFkLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZS5jb250ZXh0VHlwZSkge1xuICAgICAgZXJyb3IoJ2NvbnRleHRUeXBlIHdhcyBkZWZpbmVkIGFzIGFuIGluc3RhbmNlIHByb3BlcnR5IG9uICVzLiBVc2UgYSBzdGF0aWMgJyArICdwcm9wZXJ0eSB0byBkZWZpbmUgY29udGV4dFR5cGUgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAoaW5zdGFuY2UuY29udGV4dFR5cGVzKSB7XG4gICAgICAgIGVycm9yKCdjb250ZXh0VHlwZXMgd2FzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkgb24gJXMuIFVzZSBhIHN0YXRpYyAnICsgJ3Byb3BlcnR5IHRvIGRlZmluZSBjb250ZXh0VHlwZXMgaW5zdGVhZC4nLCBuYW1lKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGN0b3IuY29udGV4dFR5cGUgJiYgY3Rvci5jb250ZXh0VHlwZXMgJiYgIWRpZFdhcm5BYm91dENvbnRleHRUeXBlQW5kQ29udGV4dFR5cGVzLmhhcyhjdG9yKSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRDb250ZXh0VHlwZUFuZENvbnRleHRUeXBlcy5hZGQoY3Rvcik7XG5cbiAgICAgICAgZXJyb3IoJyVzIGRlY2xhcmVzIGJvdGggY29udGV4dFR5cGVzIGFuZCBjb250ZXh0VHlwZSBzdGF0aWMgcHJvcGVydGllcy4gJyArICdUaGUgbGVnYWN5IGNvbnRleHRUeXBlcyBwcm9wZXJ0eSB3aWxsIGJlIGlnbm9yZWQuJywgbmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRTaG91bGRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkICcgKyAnY29tcG9uZW50U2hvdWxkVXBkYXRlKCkuIERpZCB5b3UgbWVhbiBzaG91bGRDb21wb25lbnRVcGRhdGUoKT8gJyArICdUaGUgbmFtZSBpcyBwaHJhc2VkIGFzIGEgcXVlc3Rpb24gYmVjYXVzZSB0aGUgZnVuY3Rpb24gaXMgJyArICdleHBlY3RlZCB0byByZXR1cm4gYSB2YWx1ZS4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoY3Rvci5wcm90b3R5cGUgJiYgY3Rvci5wcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgJiYgdHlwZW9mIGluc3RhbmNlLnNob3VsZENvbXBvbmVudFVwZGF0ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGVycm9yKCclcyBoYXMgYSBtZXRob2QgY2FsbGVkIHNob3VsZENvbXBvbmVudFVwZGF0ZSgpLiAnICsgJ3Nob3VsZENvbXBvbmVudFVwZGF0ZSBzaG91bGQgbm90IGJlIHVzZWQgd2hlbiBleHRlbmRpbmcgUmVhY3QuUHVyZUNvbXBvbmVudC4gJyArICdQbGVhc2UgZXh0ZW5kIFJlYWN0LkNvbXBvbmVudCBpZiBzaG91bGRDb21wb25lbnRVcGRhdGUgaXMgdXNlZC4nLCBnZXRDb21wb25lbnROYW1lKGN0b3IpIHx8ICdBIHB1cmUgY29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMgaGFzIGEgbWV0aG9kIGNhbGxlZCAnICsgJ2NvbXBvbmVudERpZFVubW91bnQoKS4gQnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlmZWN5Y2xlIG1ldGhvZC4gJyArICdEaWQgeW91IG1lYW4gY29tcG9uZW50V2lsbFVubW91bnQoKT8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnREaWRSZWNlaXZlUHJvcHMoKS4gQnV0IHRoZXJlIGlzIG5vIHN1Y2ggbGlmZWN5Y2xlIG1ldGhvZC4gJyArICdJZiB5b3UgbWVhbnQgdG8gdXBkYXRlIHRoZSBzdGF0ZSBpbiByZXNwb25zZSB0byBjaGFuZ2luZyBwcm9wcywgJyArICd1c2UgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpLiBJZiB5b3UgbWVhbnQgdG8gZmV0Y2ggZGF0YSBvciAnICsgJ3J1biBzaWRlLWVmZmVjdHMgb3IgbXV0YXRpb25zIGFmdGVyIFJlYWN0IGhhcyB1cGRhdGVkIHRoZSBVSSwgdXNlIGNvbXBvbmVudERpZFVwZGF0ZSgpLicsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdjb21wb25lbnRXaWxsUmVjaWV2ZVByb3BzKCkuIERpZCB5b3UgbWVhbiBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKCk/JywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJyVzIGhhcyBhIG1ldGhvZCBjYWxsZWQgJyArICdVTlNBRkVfY29tcG9uZW50V2lsbFJlY2lldmVQcm9wcygpLiBEaWQgeW91IG1lYW4gVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMoKT8nLCBuYW1lKTtcbiAgICB9XG5cbiAgICB2YXIgaGFzTXV0YXRlZFByb3BzID0gaW5zdGFuY2UucHJvcHMgIT09IG5ld1Byb3BzO1xuXG4gICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSB1bmRlZmluZWQgJiYgaGFzTXV0YXRlZFByb3BzKSB7XG4gICAgICBlcnJvcignJXMoLi4uKTogV2hlbiBjYWxsaW5nIHN1cGVyKCkgaW4gYCVzYCwgbWFrZSBzdXJlIHRvIHBhc3MgJyArIFwidXAgdGhlIHNhbWUgcHJvcHMgdGhhdCB5b3VyIGNvbXBvbmVudCdzIGNvbnN0cnVjdG9yIHdhcyBwYXNzZWQuXCIsIG5hbWUsIG5hbWUpO1xuICAgIH1cblxuICAgIGlmIChpbnN0YW5jZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIGVycm9yKCdTZXR0aW5nIGRlZmF1bHRQcm9wcyBhcyBhbiBpbnN0YW5jZSBwcm9wZXJ0eSBvbiAlcyBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIGlnbm9yZWQuJyArICcgSW5zdGVhZCwgZGVmaW5lIGRlZmF1bHRQcm9wcyBhcyBhIHN0YXRpYyBwcm9wZXJ0eSBvbiAlcy4nLCBuYW1lLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgIT09ICdmdW5jdGlvbicgJiYgIWRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZS5oYXMoY3RvcikpIHtcbiAgICAgIGRpZFdhcm5BYm91dEdldFNuYXBzaG90QmVmb3JlVXBkYXRlV2l0aG91dERpZFVwZGF0ZS5hZGQoY3Rvcik7XG5cbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBzaG91bGQgYmUgdXNlZCB3aXRoIGNvbXBvbmVudERpZFVwZGF0ZSgpLiAnICsgJ1RoaXMgY29tcG9uZW50IGRlZmluZXMgZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBvbmx5LicsIGdldENvbXBvbmVudE5hbWUoY3RvcikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXM6IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcygpIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kICcgKyAnYW5kIHdpbGwgYmUgaWdub3JlZC4gSW5zdGVhZCwgZGVjbGFyZSBpdCBhcyBhIHN0YXRpYyBtZXRob2QuJywgbmFtZSk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKCkgaXMgZGVmaW5lZCBhcyBhbiBpbnN0YW5jZSBtZXRob2QgJyArICdhbmQgd2lsbCBiZSBpZ25vcmVkLiBJbnN0ZWFkLCBkZWNsYXJlIGl0IGFzIGEgc3RhdGljIG1ldGhvZC4nLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGN0b3IuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCclczogZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKSBpcyBkZWZpbmVkIGFzIGEgc3RhdGljIG1ldGhvZCAnICsgJ2FuZCB3aWxsIGJlIGlnbm9yZWQuIEluc3RlYWQsIGRlY2xhcmUgaXQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kLicsIG5hbWUpO1xuICAgIH1cblxuICAgIHZhciBfc3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcblxuICAgIGlmIChfc3RhdGUgJiYgKHR5cGVvZiBfc3RhdGUgIT09ICdvYmplY3QnIHx8IGlzQXJyYXkoX3N0YXRlKSkpIHtcbiAgICAgIGVycm9yKCclcy5zdGF0ZTogbXVzdCBiZSBzZXQgdG8gYW4gb2JqZWN0IG9yIG51bGwnLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmdldENoaWxkQ29udGV4dCA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgY3Rvci5jaGlsZENvbnRleHRUeXBlcyAhPT0gJ29iamVjdCcpIHtcbiAgICAgIGVycm9yKCclcy5nZXRDaGlsZENvbnRleHQoKTogY2hpbGRDb250ZXh0VHlwZXMgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvICcgKyAndXNlIGdldENoaWxkQ29udGV4dCgpLicsIG5hbWUpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnVwZGF0ZXIgPSBjbGFzc0NvbXBvbmVudFVwZGF0ZXI7XG4gIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlOyAvLyBUaGUgaW5zdGFuY2UgbmVlZHMgYWNjZXNzIHRvIHRoZSBmaWJlciBzbyB0aGF0IGl0IGNhbiBzY2hlZHVsZSB1cGRhdGVzXG5cbiAgc2V0KGluc3RhbmNlLCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAge1xuICAgIGluc3RhbmNlLl9yZWFjdEludGVybmFsSW5zdGFuY2UgPSBmYWtlSW50ZXJuYWxJbnN0YW5jZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBwcm9wcykge1xuICB2YXIgaXNMZWdhY3lDb250ZXh0Q29uc3VtZXIgPSBmYWxzZTtcbiAgdmFyIHVubWFza2VkQ29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcbiAgdmFyIGNvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG5cbiAge1xuICAgIGlmICgnY29udGV4dFR5cGUnIGluIGN0b3IpIHtcbiAgICAgIHZhciBpc1ZhbGlkID0gLy8gQWxsb3cgbnVsbCBmb3IgY29uZGl0aW9uYWwgZGVjbGFyYXRpb25cbiAgICAgIGNvbnRleHRUeXBlID09PSBudWxsIHx8IGNvbnRleHRUeXBlICE9PSB1bmRlZmluZWQgJiYgY29udGV4dFR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSAmJiBjb250ZXh0VHlwZS5fY29udGV4dCA9PT0gdW5kZWZpbmVkOyAvLyBOb3QgYSA8Q29udGV4dC5Db25zdW1lcj5cblxuICAgICAgaWYgKCFpc1ZhbGlkICYmICFkaWRXYXJuQWJvdXRJbnZhbGlkYXRlQ29udGV4dFR5cGUuaGFzKGN0b3IpKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEludmFsaWRhdGVDb250ZXh0VHlwZS5hZGQoY3Rvcik7XG4gICAgICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAgICAgIGlmIChjb250ZXh0VHlwZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIEhvd2V2ZXIsIGl0IGlzIHNldCB0byB1bmRlZmluZWQuICcgKyAnVGhpcyBjYW4gYmUgY2F1c2VkIGJ5IGEgdHlwbyBvciBieSBtaXhpbmcgdXAgbmFtZWQgYW5kIGRlZmF1bHQgaW1wb3J0cy4gJyArICdUaGlzIGNhbiBhbHNvIGhhcHBlbiBkdWUgdG8gYSBjaXJjdWxhciBkZXBlbmRlbmN5LCBzbyAnICsgJ3RyeSBtb3ZpbmcgdGhlIGNyZWF0ZUNvbnRleHQoKSBjYWxsIHRvIGEgc2VwYXJhdGUgZmlsZS4nO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBhZGRlbmR1bSA9ICcgSG93ZXZlciwgaXQgaXMgc2V0IHRvIGEgJyArIHR5cGVvZiBjb250ZXh0VHlwZSArICcuJztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUFJPVklERVJfVFlQRSkge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIHRoZSBDb250ZXh0LlByb3ZpZGVyIGluc3RlYWQ/JztcbiAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0VHlwZS5fY29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgLy8gPENvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgICAgYWRkZW5kdW0gPSAnIERpZCB5b3UgYWNjaWRlbnRhbGx5IHBhc3MgdGhlIENvbnRleHQuQ29uc3VtZXIgaW5zdGVhZD8nO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZGVuZHVtID0gJyBIb3dldmVyLCBpdCBpcyBzZXQgdG8gYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNvbnRleHRUeXBlKS5qb2luKCcsICcpICsgJ30uJztcbiAgICAgICAgfVxuXG4gICAgICAgIGVycm9yKCclcyBkZWZpbmVzIGFuIGludmFsaWQgY29udGV4dFR5cGUuICcgKyAnY29udGV4dFR5cGUgc2hvdWxkIHBvaW50IHRvIHRoZSBDb250ZXh0IG9iamVjdCByZXR1cm5lZCBieSBSZWFjdC5jcmVhdGVDb250ZXh0KCkuJXMnLCBnZXRDb21wb25lbnROYW1lKGN0b3IpIHx8ICdDb21wb25lbnQnLCBhZGRlbmR1bSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSA9PT0gJ29iamVjdCcgJiYgY29udGV4dFR5cGUgIT09IG51bGwpIHtcbiAgICBjb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgdmFyIGNvbnRleHRUeXBlcyA9IGN0b3IuY29udGV4dFR5cGVzO1xuICAgIGlzTGVnYWN5Q29udGV4dENvbnN1bWVyID0gY29udGV4dFR5cGVzICE9PSBudWxsICYmIGNvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnRleHQgPSBpc0xlZ2FjeUNvbnRleHRDb25zdW1lciA/IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCkgOiBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIH0gLy8gSW5zdGFudGlhdGUgdHdpY2UgdG8gaGVscCBkZXRlY3Qgc2lkZS1lZmZlY3RzLlxuXG5cbiAge1xuICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcbiAgICAgIG5ldyBjdG9yKHByb3BzLCBjb250ZXh0KTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1uZXdcbiAgICB9XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSBuZXcgY3Rvcihwcm9wcywgY29udGV4dCk7XG4gIHZhciBzdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZSAhPT0gbnVsbCAmJiBpbnN0YW5jZS5zdGF0ZSAhPT0gdW5kZWZpbmVkID8gaW5zdGFuY2Uuc3RhdGUgOiBudWxsO1xuICBhZG9wdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGluc3RhbmNlKTtcblxuICB7XG4gICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiBzdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGN0b3IpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFVuaW5pdGlhbGl6ZWRTdGF0ZS5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0VW5pbml0aWFsaXplZFN0YXRlLmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignYCVzYCB1c2VzIGBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHNgIGJ1dCBpdHMgaW5pdGlhbCBzdGF0ZSBpcyAnICsgJyVzLiBUaGlzIGlzIG5vdCByZWNvbW1lbmRlZC4gSW5zdGVhZCwgZGVmaW5lIHRoZSBpbml0aWFsIHN0YXRlIGJ5ICcgKyAnYXNzaWduaW5nIGFuIG9iamVjdCB0byBgdGhpcy5zdGF0ZWAgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGAlc2AuICcgKyAnVGhpcyBlbnN1cmVzIHRoYXQgYGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wc2AgYXJndW1lbnRzIGhhdmUgYSBjb25zaXN0ZW50IHNoYXBlLicsIGNvbXBvbmVudE5hbWUsIGluc3RhbmNlLnN0YXRlID09PSBudWxsID8gJ251bGwnIDogJ3VuZGVmaW5lZCcsIGNvbXBvbmVudE5hbWUpO1xuICAgICAgfVxuICAgIH0gLy8gSWYgbmV3IGNvbXBvbmVudCBBUElzIGFyZSBkZWZpbmVkLCBcInVuc2FmZVwiIGxpZmVjeWNsZXMgd29uJ3QgYmUgY2FsbGVkLlxuICAgIC8vIFdhcm4gYWJvdXQgdGhlc2UgbGlmZWN5Y2xlcyBpZiB0aGV5IGFyZSBwcmVzZW50LlxuICAgIC8vIERvbid0IHdhcm4gYWJvdXQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBtZXRob2RzIHRob3VnaC5cblxuXG4gICAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHZhciBmb3VuZFdpbGxNb3VudE5hbWUgPSBudWxsO1xuICAgICAgdmFyIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgPSBudWxsO1xuICAgICAgdmFyIGZvdW5kV2lsbFVwZGF0ZU5hbWUgPSBudWxsO1xuXG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJyAmJiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBmb3VuZFdpbGxNb3VudE5hbWUgPSAnY29tcG9uZW50V2lsbE1vdW50JztcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm91bmRXaWxsTW91bnROYW1lID0gJ1VOU0FGRV9jb21wb25lbnRXaWxsTW91bnQnO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicgJiYgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcy5fX3N1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5nICE9PSB0cnVlKSB7XG4gICAgICAgIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgPSAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyc7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBmb3VuZFdpbGxSZWNlaXZlUHJvcHNOYW1lID0gJ1VOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzJztcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nICYmIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUuX19zdXBwcmVzc0RlcHJlY2F0aW9uV2FybmluZyAhPT0gdHJ1ZSkge1xuICAgICAgICBmb3VuZFdpbGxVcGRhdGVOYW1lID0gJ2NvbXBvbmVudFdpbGxVcGRhdGUnO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZm91bmRXaWxsVXBkYXRlTmFtZSA9ICdVTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSc7XG4gICAgICB9XG5cbiAgICAgIGlmIChmb3VuZFdpbGxNb3VudE5hbWUgIT09IG51bGwgfHwgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSAhPT0gbnVsbCB8fCBmb3VuZFdpbGxVcGRhdGVOYW1lICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBfY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3RvcikgfHwgJ0NvbXBvbmVudCc7XG5cbiAgICAgICAgdmFyIG5ld0FwaU5hbWUgPSB0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgPyAnZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKCknIDogJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlKCknO1xuXG4gICAgICAgIGlmICghZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5oYXMoX2NvbXBvbmVudE5hbWUpKSB7XG4gICAgICAgICAgZGlkV2FybkFib3V0TGVnYWN5TGlmZWN5Y2xlc0FuZERlcml2ZWRTdGF0ZS5hZGQoX2NvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgICAgZXJyb3IoJ1Vuc2FmZSBsZWdhY3kgbGlmZWN5Y2xlcyB3aWxsIG5vdCBiZSBjYWxsZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgbmV3IGNvbXBvbmVudCBBUElzLlxcblxcbicgKyAnJXMgdXNlcyAlcyBidXQgYWxzbyBjb250YWlucyB0aGUgZm9sbG93aW5nIGxlZ2FjeSBsaWZlY3ljbGVzOiVzJXMlc1xcblxcbicgKyAnVGhlIGFib3ZlIGxpZmVjeWNsZXMgc2hvdWxkIGJlIHJlbW92ZWQuIExlYXJuIG1vcmUgYWJvdXQgdGhpcyB3YXJuaW5nIGhlcmU6XFxuJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXVuc2FmZS1jb21wb25lbnQtbGlmZWN5Y2xlcycsIF9jb21wb25lbnROYW1lLCBuZXdBcGlOYW1lLCBmb3VuZFdpbGxNb3VudE5hbWUgIT09IG51bGwgPyBcIlxcbiAgXCIgKyBmb3VuZFdpbGxNb3VudE5hbWUgOiAnJywgZm91bmRXaWxsUmVjZWl2ZVByb3BzTmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbFJlY2VpdmVQcm9wc05hbWUgOiAnJywgZm91bmRXaWxsVXBkYXRlTmFtZSAhPT0gbnVsbCA/IFwiXFxuICBcIiArIGZvdW5kV2lsbFVwZGF0ZU5hbWUgOiAnJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gQ2FjaGUgdW5tYXNrZWQgY29udGV4dCBzbyB3ZSBjYW4gYXZvaWQgcmVjcmVhdGluZyBtYXNrZWQgY29udGV4dCB1bmxlc3MgbmVjZXNzYXJ5LlxuICAvLyBSZWFjdEZpYmVyQ29udGV4dCB1c3VhbGx5IHVwZGF0ZXMgdGhpcyBjYWNoZSBidXQgY2FuJ3QgZm9yIG5ld2x5LWNyZWF0ZWQgaW5zdGFuY2VzLlxuXG5cbiAgaWYgKGlzTGVnYWN5Q29udGV4dENvbnN1bWVyKSB7XG4gICAgY2FjaGVDb250ZXh0KHdvcmtJblByb2dyZXNzLCB1bm1hc2tlZENvbnRleHQsIGNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGluc3RhbmNlO1xufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbE1vdW50KHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSkge1xuICBzdGFydFBoYXNlVGltZXIod29ya0luUHJvZ3Jlc3MsICdjb21wb25lbnRXaWxsTW91bnQnKTtcbiAgdmFyIG9sZFN0YXRlID0gaW5zdGFuY2Uuc3RhdGU7XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgfVxuXG4gIHN0b3BQaGFzZVRpbWVyKCk7XG5cbiAgaWYgKG9sZFN0YXRlICE9PSBpbnN0YW5jZS5zdGF0ZSkge1xuICAgIHtcbiAgICAgIGVycm9yKCclcy5jb21wb25lbnRXaWxsTW91bnQoKTogQXNzaWduaW5nIGRpcmVjdGx5IHRvIHRoaXMuc3RhdGUgaXMgJyArIFwiZGVwcmVjYXRlZCAoZXhjZXB0IGluc2lkZSBhIGNvbXBvbmVudCdzIFwiICsgJ2NvbnN0cnVjdG9yKS4gVXNlIHNldFN0YXRlIGluc3RlYWQuJywgZ2V0Q29tcG9uZW50TmFtZSh3b3JrSW5Qcm9ncmVzcy50eXBlKSB8fCAnQ29tcG9uZW50Jyk7XG4gICAgfVxuXG4gICAgY2xhc3NDb21wb25lbnRVcGRhdGVyLmVucXVldWVSZXBsYWNlU3RhdGUoaW5zdGFuY2UsIGluc3RhbmNlLnN0YXRlLCBudWxsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCkge1xuICB2YXIgb2xkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTtcbiAgc3RhcnRQaGFzZVRpbWVyKHdvcmtJblByb2dyZXNzLCAnY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcycpO1xuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV3UHJvcHMsIG5leHRDb250ZXh0KTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXdQcm9wcywgbmV4dENvbnRleHQpO1xuICB9XG5cbiAgc3RvcFBoYXNlVGltZXIoKTtcblxuICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IG9sZFN0YXRlKSB7XG4gICAge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKHdvcmtJblByb2dyZXNzLnR5cGUpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFN0YXRlQXNzaWdubWVudEZvckNvbXBvbmVudC5oYXMoY29tcG9uZW50TmFtZSkpIHtcbiAgICAgICAgZGlkV2FybkFib3V0U3RhdGVBc3NpZ25tZW50Rm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgICBlcnJvcignJXMuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcygpOiBBc3NpZ25pbmcgZGlyZWN0bHkgdG8gJyArIFwidGhpcy5zdGF0ZSBpcyBkZXByZWNhdGVkIChleGNlcHQgaW5zaWRlIGEgY29tcG9uZW50J3MgXCIgKyAnY29uc3RydWN0b3IpLiBVc2Ugc2V0U3RhdGUgaW5zdGVhZC4nLCBjb21wb25lbnROYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjbGFzc0NvbXBvbmVudFVwZGF0ZXIuZW5xdWV1ZVJlcGxhY2VTdGF0ZShpbnN0YW5jZSwgaW5zdGFuY2Uuc3RhdGUsIG51bGwpO1xuICB9XG59IC8vIEludm9rZXMgdGhlIG1vdW50IGxpZmUtY3ljbGVzIG9uIGEgcHJldmlvdXNseSBuZXZlciByZW5kZXJlZCBpbnN0YW5jZS5cblxuXG5mdW5jdGlvbiBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB7XG4gICAgY2hlY2tDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcyk7XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGluc3RhbmNlLnByb3BzID0gbmV3UHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgaW5zdGFuY2UucmVmcyA9IGVtcHR5UmVmc09iamVjdDtcbiAgaW5pdGlhbGl6ZVVwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIGNvbnRleHRUeXBlID0gY3Rvci5jb250ZXh0VHlwZTtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIGluc3RhbmNlLmNvbnRleHQgPSByZWFkQ29udGV4dChjb250ZXh0VHlwZSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgaW5zdGFuY2UuY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICB7XG4gICAgaWYgKGluc3RhbmNlLnN0YXRlID09PSBuZXdQcm9wcykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGN0b3IpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dERpcmVjdGx5QXNzaWduaW5nUHJvcHNUb1N0YXRlLmhhcyhjb21wb25lbnROYW1lKSkge1xuICAgICAgICBkaWRXYXJuQWJvdXREaXJlY3RseUFzc2lnbmluZ1Byb3BzVG9TdGF0ZS5hZGQoY29tcG9uZW50TmFtZSk7XG5cbiAgICAgICAgZXJyb3IoJyVzOiBJdCBpcyBub3QgcmVjb21tZW5kZWQgdG8gYXNzaWduIHByb3BzIGRpcmVjdGx5IHRvIHN0YXRlICcgKyBcImJlY2F1c2UgdXBkYXRlcyB0byBwcm9wcyB3b24ndCBiZSByZWZsZWN0ZWQgaW4gc3RhdGUuIFwiICsgJ0luIG1vc3QgY2FzZXMsIGl0IGlzIGJldHRlciB0byB1c2UgcHJvcHMgZGlyZWN0bHkuJywgY29tcG9uZW50TmFtZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XG4gICAgICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5yZWNvcmRMZWdhY3lDb250ZXh0V2FybmluZyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpO1xuICAgIH1cblxuICAgIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZFVuc2FmZUxpZmVjeWNsZVdhcm5pbmdzKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSk7XG4gICAgfVxuICB9XG5cbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgaW5zdGFuY2Uuc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID0gY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgaW5zdGFuY2Uuc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9IC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuXG5cbiAgaWYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyAhPT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2YgaW5zdGFuY2UuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgIT09ICdmdW5jdGlvbicgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicpKSB7XG4gICAgY2FsbENvbXBvbmVudFdpbGxNb3VudCh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UpOyAvLyBJZiB3ZSBoYWQgYWRkaXRpb25hbCBzdGF0ZSB1cGRhdGVzIGR1cmluZyB0aGlzIGxpZmUtY3ljbGUsIGxldCdzXG4gICAgLy8gcHJvY2VzcyB0aGVtIG5vdy5cblxuICAgIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV3UHJvcHMsIGluc3RhbmNlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgaW5zdGFuY2Uuc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzdW1lTW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBuZXdQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICB2YXIgb2xkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzO1xuICBpbnN0YW5jZS5wcm9wcyA9IG9sZFByb3BzO1xuICB2YXIgb2xkQ29udGV4dCA9IGluc3RhbmNlLmNvbnRleHQ7XG4gIHZhciBjb250ZXh0VHlwZSA9IGN0b3IuY29udGV4dFR5cGU7XG4gIHZhciBuZXh0Q29udGV4dCA9IGVtcHR5Q29udGV4dE9iamVjdDtcblxuICBpZiAodHlwZW9mIGNvbnRleHRUeXBlID09PSAnb2JqZWN0JyAmJiBjb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgIG5leHRDb250ZXh0ID0gcmVhZENvbnRleHQoY29udGV4dFR5cGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBuZXh0TGVnYWN5VW5tYXNrZWRDb250ZXh0ID0gZ2V0VW5tYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBjdG9yLCB0cnVlKTtcbiAgICBuZXh0Q29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIG5leHRMZWdhY3lVbm1hc2tlZENvbnRleHQpO1xuICB9XG5cbiAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IGN0b3IuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzO1xuICB2YXIgaGFzTmV3TGlmZWN5Y2xlcyA9IHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmdldFNuYXBzaG90QmVmb3JlVXBkYXRlID09PSAnZnVuY3Rpb24nOyAvLyBOb3RlOiBEdXJpbmcgdGhlc2UgbGlmZS1jeWNsZXMsIGluc3RhbmNlLnByb3BzL2luc3RhbmNlLnN0YXRlIGFyZSB3aGF0XG4gIC8vIGV2ZXIgdGhlIHByZXZpb3VzbHkgYXR0ZW1wdGVkIHRvIHJlbmRlciAtIG5vdCB0aGUgXCJjdXJyZW50XCIuIEhvd2V2ZXIsXG4gIC8vIGR1cmluZyBjb21wb25lbnREaWRVcGRhdGUgd2UgcGFzcyB0aGUgXCJjdXJyZW50XCIgcHJvcHMuXG4gIC8vIEluIG9yZGVyIHRvIHN1cHBvcnQgcmVhY3QtbGlmZWN5Y2xlcy1jb21wYXQgcG9seWZpbGxlZCBjb21wb25lbnRzLFxuICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuXG4gIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzID09PSAnZnVuY3Rpb24nKSkge1xuICAgIGlmIChvbGRQcm9wcyAhPT0gbmV3UHJvcHMgfHwgb2xkQ29udGV4dCAhPT0gbmV4dENvbnRleHQpIHtcbiAgICAgIGNhbGxDb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHdvcmtJblByb2dyZXNzLCBpbnN0YW5jZSwgbmV3UHJvcHMsIG5leHRDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICByZXNldEhhc0ZvcmNlVXBkYXRlQmVmb3JlUHJvY2Vzc2luZygpO1xuICB2YXIgb2xkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB2YXIgbmV3U3RhdGUgPSBpbnN0YW5jZS5zdGF0ZSA9IG9sZFN0YXRlO1xuICBwcm9jZXNzVXBkYXRlUXVldWUod29ya0luUHJvZ3Jlc3MsIG5ld1Byb3BzLCBpbnN0YW5jZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKG9sZFByb3BzID09PSBuZXdQcm9wcyAmJiBvbGRTdGF0ZSA9PT0gbmV3U3RhdGUgJiYgIWhhc0NvbnRleHRDaGFuZ2VkKCkgJiYgIWNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSkge1xuICAgIC8vIElmIGFuIHVwZGF0ZSB3YXMgYWxyZWFkeSBpbiBwcm9ncmVzcywgd2Ugc2hvdWxkIHNjaGVkdWxlIGFuIFVwZGF0ZVxuICAgIC8vIGVmZmVjdCBldmVuIHRob3VnaCB3ZSdyZSBiYWlsaW5nIG91dCwgc28gdGhhdCBjV1UvY0RVIGFyZSBjYWxsZWQuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGFwcGx5RGVyaXZlZFN0YXRlRnJvbVByb3BzKHdvcmtJblByb2dyZXNzLCBjdG9yLCBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMsIG5ld1Byb3BzKTtcbiAgICBuZXdTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG4gIH1cblxuICB2YXIgc2hvdWxkVXBkYXRlID0gY2hlY2tIYXNGb3JjZVVwZGF0ZUFmdGVyUHJvY2Vzc2luZygpIHx8IGNoZWNrU2hvdWxkQ29tcG9uZW50VXBkYXRlKHdvcmtJblByb2dyZXNzLCBjdG9yLCBvbGRQcm9wcywgbmV3UHJvcHMsIG9sZFN0YXRlLCBuZXdTdGF0ZSwgbmV4dENvbnRleHQpO1xuXG4gIGlmIChzaG91bGRVcGRhdGUpIHtcbiAgICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcbiAgICAvLyBVbnNhZmUgbGlmZWN5Y2xlcyBzaG91bGQgbm90IGJlIGludm9rZWQgZm9yIGNvbXBvbmVudHMgdXNpbmcgdGhlIG5ldyBBUElzLlxuICAgIGlmICghaGFzTmV3TGlmZWN5Y2xlcyAmJiAodHlwZW9mIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ2NvbXBvbmVudFdpbGxNb3VudCcpO1xuXG4gICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxNb3VudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBpbnN0YW5jZS5jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQoKTtcbiAgICAgIH1cblxuICAgICAgc3RvcFBoYXNlVGltZXIoKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZE1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufSAvLyBJbnZva2VzIHRoZSB1cGRhdGUgbGlmZS1jeWNsZXMgYW5kIHJldHVybnMgZmFsc2UgaWYgaXQgc2hvdWxkbid0IHJlcmVuZGVyLlxuXG5cbmZ1bmN0aW9uIHVwZGF0ZUNsYXNzSW5zdGFuY2UoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGN0b3IsIG5ld1Byb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG4gIGNsb25lVXBkYXRlUXVldWUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICB2YXIgb2xkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzO1xuICBpbnN0YW5jZS5wcm9wcyA9IHdvcmtJblByb2dyZXNzLnR5cGUgPT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID8gb2xkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKHdvcmtJblByb2dyZXNzLnR5cGUsIG9sZFByb3BzKTtcbiAgdmFyIG9sZENvbnRleHQgPSBpbnN0YW5jZS5jb250ZXh0O1xuICB2YXIgY29udGV4dFR5cGUgPSBjdG9yLmNvbnRleHRUeXBlO1xuICB2YXIgbmV4dENvbnRleHQgPSBlbXB0eUNvbnRleHRPYmplY3Q7XG5cbiAgaWYgKHR5cGVvZiBjb250ZXh0VHlwZSA9PT0gJ29iamVjdCcgJiYgY29udGV4dFR5cGUgIT09IG51bGwpIHtcbiAgICBuZXh0Q29udGV4dCA9IHJlYWRDb250ZXh0KGNvbnRleHRUeXBlKTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgbmV4dFVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgY3RvciwgdHJ1ZSk7XG4gICAgbmV4dENvbnRleHQgPSBnZXRNYXNrZWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCBuZXh0VW5tYXNrZWRDb250ZXh0KTtcbiAgfVxuXG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcztcbiAgdmFyIGhhc05ld0xpZmVjeWNsZXMgPSB0eXBlb2YgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJzsgLy8gTm90ZTogRHVyaW5nIHRoZXNlIGxpZmUtY3ljbGVzLCBpbnN0YW5jZS5wcm9wcy9pbnN0YW5jZS5zdGF0ZSBhcmUgd2hhdFxuICAvLyBldmVyIHRoZSBwcmV2aW91c2x5IGF0dGVtcHRlZCB0byByZW5kZXIgLSBub3QgdGhlIFwiY3VycmVudFwiLiBIb3dldmVyLFxuICAvLyBkdXJpbmcgY29tcG9uZW50RGlkVXBkYXRlIHdlIHBhc3MgdGhlIFwiY3VycmVudFwiIHByb3BzLlxuICAvLyBJbiBvcmRlciB0byBzdXBwb3J0IHJlYWN0LWxpZmVjeWNsZXMtY29tcGF0IHBvbHlmaWxsZWQgY29tcG9uZW50cyxcbiAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cblxuICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzIHx8IG9sZENvbnRleHQgIT09IG5leHRDb250ZXh0KSB7XG4gICAgICBjYWxsQ29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyh3b3JrSW5Qcm9ncmVzcywgaW5zdGFuY2UsIG5ld1Byb3BzLCBuZXh0Q29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcmVzZXRIYXNGb3JjZVVwZGF0ZUJlZm9yZVByb2Nlc3NpbmcoKTtcbiAgdmFyIG9sZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIG5ld1N0YXRlID0gaW5zdGFuY2Uuc3RhdGUgPSBvbGRTdGF0ZTtcbiAgcHJvY2Vzc1VwZGF0ZVF1ZXVlKHdvcmtJblByb2dyZXNzLCBuZXdQcm9wcywgaW5zdGFuY2UsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChvbGRQcm9wcyA9PT0gbmV3UHJvcHMgJiYgb2xkU3RhdGUgPT09IG5ld1N0YXRlICYmICFoYXNDb250ZXh0Q2hhbmdlZCgpICYmICFjaGVja0hhc0ZvcmNlVXBkYXRlQWZ0ZXJQcm9jZXNzaW5nKCkpIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAob2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKG9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBhcHBseURlcml2ZWRTdGF0ZUZyb21Qcm9wcyh3b3JrSW5Qcm9ncmVzcywgY3RvciwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBuZXdQcm9wcyk7XG4gICAgbmV3U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuICB9XG5cbiAgdmFyIHNob3VsZFVwZGF0ZSA9IGNoZWNrSGFzRm9yY2VVcGRhdGVBZnRlclByb2Nlc3NpbmcoKSB8fCBjaGVja1Nob3VsZENvbXBvbmVudFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgY3Rvciwgb2xkUHJvcHMsIG5ld1Byb3BzLCBvbGRTdGF0ZSwgbmV3U3RhdGUsIG5leHRDb250ZXh0KTtcblxuICBpZiAoc2hvdWxkVXBkYXRlKSB7XG4gICAgLy8gSW4gb3JkZXIgdG8gc3VwcG9ydCByZWFjdC1saWZlY3ljbGVzLWNvbXBhdCBwb2x5ZmlsbGVkIGNvbXBvbmVudHMsXG4gICAgLy8gVW5zYWZlIGxpZmVjeWNsZXMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIGZvciBjb21wb25lbnRzIHVzaW5nIHRoZSBuZXcgQVBJcy5cbiAgICBpZiAoIWhhc05ld0xpZmVjeWNsZXMgJiYgKHR5cGVvZiBpbnN0YW5jZS5VTlNBRkVfY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJyB8fCB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50V2lsbFVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHN0YXJ0UGhhc2VUaW1lcih3b3JrSW5Qcm9ncmVzcywgJ2NvbXBvbmVudFdpbGxVcGRhdGUnKTtcblxuICAgICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnRXaWxsVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaW5zdGFuY2UuVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUobmV3UHJvcHMsIG5ld1N0YXRlLCBuZXh0Q29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5jb21wb25lbnREaWRVcGRhdGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFNuYXBzaG90O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBJZiBhbiB1cGRhdGUgd2FzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHdlIHNob3VsZCBzY2hlZHVsZSBhbiBVcGRhdGVcbiAgICAvLyBlZmZlY3QgZXZlbiB0aG91Z2ggd2UncmUgYmFpbGluZyBvdXQsIHNvIHRoYXQgY1dVL2NEVSBhcmUgY2FsbGVkLlxuICAgIGlmICh0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBpZiAob2xkUHJvcHMgIT09IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyB8fCBvbGRTdGF0ZSAhPT0gY3VycmVudC5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgaWYgKG9sZFByb3BzICE9PSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgfHwgb2xkU3RhdGUgIT09IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU25hcHNob3Q7XG4gICAgICB9XG4gICAgfSAvLyBJZiBzaG91bGRDb21wb25lbnRVcGRhdGUgcmV0dXJuZWQgZmFsc2UsIHdlIHNob3VsZCBzdGlsbCB1cGRhdGUgdGhlXG4gICAgLy8gbWVtb2l6ZWQgcHJvcHMvc3RhdGUgdG8gaW5kaWNhdGUgdGhhdCB0aGlzIHdvcmsgY2FuIGJlIHJldXNlZC5cblxuXG4gICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IG5ld1Byb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfSAvLyBVcGRhdGUgdGhlIGV4aXN0aW5nIGluc3RhbmNlJ3Mgc3RhdGUsIHByb3BzLCBhbmQgY29udGV4dCBwb2ludGVycyBldmVuXG4gIC8vIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlLlxuXG5cbiAgaW5zdGFuY2UucHJvcHMgPSBuZXdQcm9wcztcbiAgaW5zdGFuY2Uuc3RhdGUgPSBuZXdTdGF0ZTtcbiAgaW5zdGFuY2UuY29udGV4dCA9IG5leHRDb250ZXh0O1xuICByZXR1cm4gc2hvdWxkVXBkYXRlO1xufVxuXG52YXIgZGlkV2FybkFib3V0TWFwcztcbnZhciBkaWRXYXJuQWJvdXRHZW5lcmF0b3JzO1xudmFyIGRpZFdhcm5BYm91dFN0cmluZ1JlZnM7XG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nO1xudmFyIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZztcblxudmFyIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkKSB7fTtcblxue1xuICBkaWRXYXJuQWJvdXRNYXBzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dEdlbmVyYXRvcnMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0U3RyaW5nUmVmcyA9IHt9O1xuICAvKipcbiAgICogV2FybiBpZiB0aGVyZSdzIG5vIGtleSBleHBsaWNpdGx5IHNldCBvbiBkeW5hbWljIGFycmF5cyBvZiBjaGlsZHJlbiBvclxuICAgKiBvYmplY3Qga2V5cyBhcmUgbm90IHZhbGlkLiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIHRyYWNrIG9mIGNoaWxkcmVuIGJldHdlZW5cbiAgICogdXBkYXRlcy5cbiAgICovXG5cbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG4gIG93bmVySGFzRnVuY3Rpb25UeXBlV2FybmluZyA9IHt9O1xuXG4gIHdhcm5Gb3JNaXNzaW5nS2V5ID0gZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgaWYgKGNoaWxkID09PSBudWxsIHx8IHR5cGVvZiBjaGlsZCAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWNoaWxkLl9zdG9yZSB8fCBjaGlsZC5fc3RvcmUudmFsaWRhdGVkIHx8IGNoaWxkLmtleSAhPSBudWxsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCEodHlwZW9mIGNoaWxkLl9zdG9yZSA9PT0gJ29iamVjdCcpKSB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcIlJlYWN0IENvbXBvbmVudCBpbiB3YXJuRm9yTWlzc2luZ0tleSBzaG91bGQgaGF2ZSBhIF9zdG9yZS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNoaWxkLl9zdG9yZS52YWxpZGF0ZWQgPSB0cnVlO1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gJ0VhY2ggY2hpbGQgaW4gYSBsaXN0IHNob3VsZCBoYXZlIGEgdW5pcXVlICcgKyAnXCJrZXlcIiBwcm9wLiBTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC13YXJuaW5nLWtleXMgZm9yICcgKyAnbW9yZSBpbmZvcm1hdGlvbi4nICsgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldigpO1xuXG4gICAgaWYgKG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG93bmVySGFzS2V5VXNlV2FybmluZ1tjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvXSA9IHRydWU7XG5cbiAgICBlcnJvcignRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgJyArICdcImtleVwiIHByb3AuIFNlZSBodHRwczovL2ZiLm1lL3JlYWN0LXdhcm5pbmcta2V5cyBmb3IgJyArICdtb3JlIGluZm9ybWF0aW9uLicpO1xuICB9O1xufVxuXG52YXIgaXNBcnJheSQxID0gQXJyYXkuaXNBcnJheTtcblxuZnVuY3Rpb24gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50LCBlbGVtZW50KSB7XG4gIHZhciBtaXhlZFJlZiA9IGVsZW1lbnQucmVmO1xuXG4gIGlmIChtaXhlZFJlZiAhPT0gbnVsbCAmJiB0eXBlb2YgbWl4ZWRSZWYgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG1peGVkUmVmICE9PSAnb2JqZWN0Jykge1xuICAgIHtcbiAgICAgIC8vIFRPRE86IENsZWFuIHRoaXMgdXAgb25jZSB3ZSB0dXJuIG9uIHRoZSBzdHJpbmcgcmVmIHdhcm5pbmcgZm9yXG4gICAgICAvLyBldmVyeW9uZSwgYmVjYXVzZSB0aGUgc3RyaWN0IG1vZGUgY2FzZSB3aWxsIG5vIGxvbmdlciBiZSByZWxldmFudFxuICAgICAgaWYgKChyZXR1cm5GaWJlci5tb2RlICYgU3RyaWN0TW9kZSB8fCB3YXJuQWJvdXRTdHJpbmdSZWZzKSAmJiAvLyBXZSB3YXJuIGluIFJlYWN0RWxlbWVudC5qcyBpZiBvd25lciBhbmQgc2VsZiBhcmUgZXF1YWwgZm9yIHN0cmluZyByZWZzXG4gICAgICAvLyBiZWNhdXNlIHRoZXNlIGNhbm5vdCBiZSBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBhbiBhcnJvdyBmdW5jdGlvblxuICAgICAgLy8gdXNpbmcgYSBjb2RlbW9kLiBUaGVyZWZvcmUsIHdlIGRvbid0IGhhdmUgdG8gd2FybiBhYm91dCBzdHJpbmcgcmVmcyBhZ2Fpbi5cbiAgICAgICEoZWxlbWVudC5fb3duZXIgJiYgZWxlbWVudC5fc2VsZiAmJiBlbGVtZW50Ll9vd25lci5zdGF0ZU5vZGUgIT09IGVsZW1lbnQuX3NlbGYpKSB7XG4gICAgICAgIHZhciBjb21wb25lbnROYW1lID0gZ2V0Q29tcG9uZW50TmFtZShyZXR1cm5GaWJlci50eXBlKSB8fCAnQ29tcG9uZW50JztcblxuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0pIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBlcnJvcignQSBzdHJpbmcgcmVmLCBcIiVzXCIsIGhhcyBiZWVuIGZvdW5kIHdpdGhpbiBhIHN0cmljdCBtb2RlIHRyZWUuICcgKyAnU3RyaW5nIHJlZnMgYXJlIGEgc291cmNlIG9mIHBvdGVudGlhbCBidWdzIGFuZCBzaG91bGQgYmUgYXZvaWRlZC4gJyArICdXZSByZWNvbW1lbmQgdXNpbmcgdXNlUmVmKCkgb3IgY3JlYXRlUmVmKCkgaW5zdGVhZC4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1zdHJpY3QtbW9kZS1zdHJpbmctcmVmJXMnLCBtaXhlZFJlZiwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKHJldHVybkZpYmVyKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlkV2FybkFib3V0U3RyaW5nUmVmc1tjb21wb25lbnROYW1lXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZWxlbWVudC5fb3duZXIpIHtcbiAgICAgIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuICAgICAgdmFyIGluc3Q7XG5cbiAgICAgIGlmIChvd25lcikge1xuICAgICAgICB2YXIgb3duZXJGaWJlciA9IG93bmVyO1xuXG4gICAgICAgIGlmICghKG93bmVyRmliZXIudGFnID09PSBDbGFzc0NvbXBvbmVudCkpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXCJGdW5jdGlvbiBjb21wb25lbnRzIGNhbm5vdCBoYXZlIHN0cmluZyByZWZzLiBXZSByZWNvbW1lbmQgdXNpbmcgdXNlUmVmKCkgaW5zdGVhZC4gTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiBodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLXN0cmluZy1yZWZcIiApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGluc3QgPSBvd25lckZpYmVyLnN0YXRlTm9kZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpbnN0KSB7XG4gICAgICAgIHtcbiAgICAgICAgICB0aHJvdyBFcnJvciggXCJNaXNzaW5nIG93bmVyIGZvciBzdHJpbmcgcmVmIFwiICsgbWl4ZWRSZWYgKyBcIi4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBzdHJpbmdSZWYgPSAnJyArIG1peGVkUmVmOyAvLyBDaGVjayBpZiBwcmV2aW91cyBzdHJpbmcgcmVmIG1hdGNoZXMgbmV3IHN0cmluZyByZWZcblxuICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IG51bGwgJiYgdHlwZW9mIGN1cnJlbnQucmVmID09PSAnZnVuY3Rpb24nICYmIGN1cnJlbnQucmVmLl9zdHJpbmdSZWYgPT09IHN0cmluZ1JlZikge1xuICAgICAgICByZXR1cm4gY3VycmVudC5yZWY7XG4gICAgICB9XG5cbiAgICAgIHZhciByZWYgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgdmFyIHJlZnMgPSBpbnN0LnJlZnM7XG5cbiAgICAgICAgaWYgKHJlZnMgPT09IGVtcHR5UmVmc09iamVjdCkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYSBsYXp5IHBvb2xlZCBmcm96ZW4gb2JqZWN0LCBzbyB3ZSBuZWVkIHRvIGluaXRpYWxpemUuXG4gICAgICAgICAgcmVmcyA9IGluc3QucmVmcyA9IHt9O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgZGVsZXRlIHJlZnNbc3RyaW5nUmVmXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWZzW3N0cmluZ1JlZl0gPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmVmLl9zdHJpbmdSZWYgPSBzdHJpbmdSZWY7XG4gICAgICByZXR1cm4gcmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoISh0eXBlb2YgbWl4ZWRSZWYgPT09ICdzdHJpbmcnKSkge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiRXhwZWN0ZWQgcmVmIHRvIGJlIGEgZnVuY3Rpb24sIGEgc3RyaW5nLCBhbiBvYmplY3QgcmV0dXJuZWQgYnkgUmVhY3QuY3JlYXRlUmVmKCksIG9yIG51bGwuXCIgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWVsZW1lbnQuX293bmVyKSB7XG4gICAgICAgIHtcbiAgICAgICAgICB0aHJvdyBFcnJvciggXCJFbGVtZW50IHJlZiB3YXMgc3BlY2lmaWVkIGFzIGEgc3RyaW5nIChcIiArIG1peGVkUmVmICsgXCIpIGJ1dCBubyBvd25lciB3YXMgc2V0LiBUaGlzIGNvdWxkIGhhcHBlbiBmb3Igb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4xLiBZb3UgbWF5IGJlIGFkZGluZyBhIHJlZiB0byBhIGZ1bmN0aW9uIGNvbXBvbmVudFxcbjIuIFlvdSBtYXkgYmUgYWRkaW5nIGEgcmVmIHRvIGEgY29tcG9uZW50IHRoYXQgd2FzIG5vdCBjcmVhdGVkIGluc2lkZSBhIGNvbXBvbmVudCdzIHJlbmRlciBtZXRob2RcXG4zLiBZb3UgaGF2ZSBtdWx0aXBsZSBjb3BpZXMgb2YgUmVhY3QgbG9hZGVkXFxuU2VlIGh0dHBzOi8vZmIubWUvcmVhY3QtcmVmcy1tdXN0LWhhdmUtb3duZXIgZm9yIG1vcmUgaW5mb3JtYXRpb24uXCIgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtaXhlZFJlZjtcbn1cblxuZnVuY3Rpb24gdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCkge1xuICBpZiAocmV0dXJuRmliZXIudHlwZSAhPT0gJ3RleHRhcmVhJykge1xuICAgIHZhciBhZGRlbmR1bSA9ICcnO1xuXG4gICAge1xuICAgICAgYWRkZW5kdW0gPSAnIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgJyArICdpbnN0ZWFkLicgKyBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCk7XG4gICAgfVxuXG4gICAge1xuICAgICAge1xuICAgICAgICB0aHJvdyBFcnJvciggXCJPYmplY3RzIGFyZSBub3QgdmFsaWQgYXMgYSBSZWFjdCBjaGlsZCAoZm91bmQ6IFwiICsgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChuZXdDaGlsZCkgPT09ICdbb2JqZWN0IE9iamVjdF0nID8gJ29iamVjdCB3aXRoIGtleXMgeycgKyBPYmplY3Qua2V5cyhuZXdDaGlsZCkuam9pbignLCAnKSArICd9JyA6IG5ld0NoaWxkKSArIFwiKS5cIiArIGFkZGVuZHVtICk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkZ1bmN0aW9uVHlwZSgpIHtcbiAge1xuICAgIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gJ0Z1bmN0aW9ucyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQuIFRoaXMgbWF5IGhhcHBlbiBpZiAnICsgJ3lvdSByZXR1cm4gYSBDb21wb25lbnQgaW5zdGVhZCBvZiA8Q29tcG9uZW50IC8+IGZyb20gcmVuZGVyLiAnICsgJ09yIG1heWJlIHlvdSBtZWFudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gcmF0aGVyIHRoYW4gcmV0dXJuIGl0LicgKyBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KCk7XG5cbiAgICBpZiAob3duZXJIYXNGdW5jdGlvblR5cGVXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb3duZXJIYXNGdW5jdGlvblR5cGVXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dID0gdHJ1ZTtcblxuICAgIGVycm9yKCdGdW5jdGlvbnMgYXJlIG5vdCB2YWxpZCBhcyBhIFJlYWN0IGNoaWxkLiBUaGlzIG1heSBoYXBwZW4gaWYgJyArICd5b3UgcmV0dXJuIGEgQ29tcG9uZW50IGluc3RlYWQgb2YgPENvbXBvbmVudCAvPiBmcm9tIHJlbmRlci4gJyArICdPciBtYXliZSB5b3UgbWVhbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHJldHVybiBpdC4nKTtcbiAgfVxufSAvLyBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gZXhpc3RzIGJlY2F1c2UgSSBleHBlY3QgdG8gY2xvbmUgdGhlIGNvZGUgaW4gZWFjaCBwYXRoXG4vLyB0byBiZSBhYmxlIHRvIG9wdGltaXplIGVhY2ggcGF0aCBpbmRpdmlkdWFsbHkgYnkgYnJhbmNoaW5nIGVhcmx5LiBUaGlzIG5lZWRzXG4vLyBhIGNvbXBpbGVyIG9yIHdlIGNhbiBkbyBpdCBtYW51YWxseS4gSGVscGVycyB0aGF0IGRvbid0IG5lZWQgdGhpcyBicmFuY2hpbmdcbi8vIGxpdmUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLlxuXG5cbmZ1bmN0aW9uIENoaWxkUmVjb25jaWxlcihzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gIGZ1bmN0aW9uIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZFRvRGVsZXRlKSB7XG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gRGVsZXRpb25zIGFyZSBhZGRlZCBpbiByZXZlcnNlZCBvcmRlciBzbyB3ZSBhZGQgaXQgdG8gdGhlIGZyb250LlxuICAgIC8vIEF0IHRoaXMgcG9pbnQsIHRoZSByZXR1cm4gZmliZXIncyBlZmZlY3QgbGlzdCBpcyBlbXB0eSBleGNlcHQgZm9yXG4gICAgLy8gZGVsZXRpb25zLCBzbyB3ZSBjYW4ganVzdCBhcHBlbmQgdGhlIGRlbGV0aW9uIHRvIHRoZSBsaXN0LiBUaGUgcmVtYWluaW5nXG4gICAgLy8gZWZmZWN0cyBhcmVuJ3QgYWRkZWQgdW50aWwgdGhlIGNvbXBsZXRlIHBoYXNlLiBPbmNlIHdlIGltcGxlbWVudFxuICAgIC8vIHJlc3VtaW5nLCB0aGlzIG1heSBub3QgYmUgdHJ1ZS5cblxuXG4gICAgdmFyIGxhc3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0O1xuXG4gICAgaWYgKGxhc3QgIT09IG51bGwpIHtcbiAgICAgIGxhc3QubmV4dEVmZmVjdCA9IGNoaWxkVG9EZWxldGU7XG4gICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gY2hpbGRUb0RlbGV0ZTtcbiAgICB9XG5cbiAgICBjaGlsZFRvRGVsZXRlLm5leHRFZmZlY3QgPSBudWxsO1xuICAgIGNoaWxkVG9EZWxldGUuZWZmZWN0VGFnID0gRGVsZXRpb247XG4gIH1cblxuICBmdW5jdGlvbiBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpIHtcbiAgICBpZiAoIXNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIE5vb3AuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9IC8vIFRPRE86IEZvciB0aGUgc2hvdWxkQ2xvbmUgY2FzZSwgdGhpcyBjb3VsZCBiZSBtaWNyby1vcHRpbWl6ZWQgYSBiaXQgYnlcbiAgICAvLyBhc3N1bWluZyB0aGF0IGFmdGVyIHRoZSBmaXJzdCBjaGlsZCB3ZSd2ZSBhbHJlYWR5IGFkZGVkIGV2ZXJ5dGhpbmcuXG5cblxuICAgIHZhciBjaGlsZFRvRGVsZXRlID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGRUb0RlbGV0ZSAhPT0gbnVsbCkge1xuICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkVG9EZWxldGUpO1xuICAgICAgY2hpbGRUb0RlbGV0ZSA9IGNoaWxkVG9EZWxldGUuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCkge1xuICAgIC8vIEFkZCB0aGUgcmVtYWluaW5nIGNoaWxkcmVuIHRvIGEgdGVtcG9yYXJ5IG1hcCBzbyB0aGF0IHdlIGNhbiBmaW5kIHRoZW0gYnlcbiAgICAvLyBrZXlzIHF1aWNrbHkuIEltcGxpY2l0IChudWxsKSBrZXlzIGdldCBhZGRlZCB0byB0aGlzIHNldCB3aXRoIHRoZWlyIGluZGV4XG4gICAgLy8gaW5zdGVhZC5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICB2YXIgZXhpc3RpbmdDaGlsZCA9IGN1cnJlbnRGaXJzdENoaWxkO1xuXG4gICAgd2hpbGUgKGV4aXN0aW5nQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgIGlmIChleGlzdGluZ0NoaWxkLmtleSAhPT0gbnVsbCkge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmtleSwgZXhpc3RpbmdDaGlsZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleGlzdGluZ0NoaWxkcmVuLnNldChleGlzdGluZ0NoaWxkLmluZGV4LCBleGlzdGluZ0NoaWxkKTtcbiAgICAgIH1cblxuICAgICAgZXhpc3RpbmdDaGlsZCA9IGV4aXN0aW5nQ2hpbGQuc2libGluZztcbiAgICB9XG5cbiAgICByZXR1cm4gZXhpc3RpbmdDaGlsZHJlbjtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVzZUZpYmVyKGZpYmVyLCBwZW5kaW5nUHJvcHMpIHtcbiAgICAvLyBXZSBjdXJyZW50bHkgc2V0IHNpYmxpbmcgdG8gbnVsbCBhbmQgaW5kZXggdG8gMCBoZXJlIGJlY2F1c2UgaXQgaXMgZWFzeVxuICAgIC8vIHRvIGZvcmdldCB0byBkbyBiZWZvcmUgcmV0dXJuaW5nIGl0LiBFLmcuIGZvciB0aGUgc2luZ2xlIGNoaWxkIGNhc2UuXG4gICAgdmFyIGNsb25lID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoZmliZXIsIHBlbmRpbmdQcm9wcyk7XG4gICAgY2xvbmUuaW5kZXggPSAwO1xuICAgIGNsb25lLnNpYmxpbmcgPSBudWxsO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SW5kZXgpIHtcbiAgICBuZXdGaWJlci5pbmRleCA9IG5ld0luZGV4O1xuXG4gICAgaWYgKCFzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAvLyBOb29wLlxuICAgICAgcmV0dXJuIGxhc3RQbGFjZWRJbmRleDtcbiAgICB9XG5cbiAgICB2YXIgY3VycmVudCA9IG5ld0ZpYmVyLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB2YXIgb2xkSW5kZXggPSBjdXJyZW50LmluZGV4O1xuXG4gICAgICBpZiAob2xkSW5kZXggPCBsYXN0UGxhY2VkSW5kZXgpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBhIG1vdmUuXG4gICAgICAgIG5ld0ZpYmVyLmVmZmVjdFRhZyA9IFBsYWNlbWVudDtcbiAgICAgICAgcmV0dXJuIGxhc3RQbGFjZWRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgaXRlbSBjYW4gc3RheSBpbiBwbGFjZS5cbiAgICAgICAgcmV0dXJuIG9sZEluZGV4O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGlzIGlzIGFuIGluc2VydGlvbi5cbiAgICAgIG5ld0ZpYmVyLmVmZmVjdFRhZyA9IFBsYWNlbWVudDtcbiAgICAgIHJldHVybiBsYXN0UGxhY2VkSW5kZXg7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gcGxhY2VTaW5nbGVDaGlsZChuZXdGaWJlcikge1xuICAgIC8vIFRoaXMgaXMgc2ltcGxlciBmb3IgdGhlIHNpbmdsZSBjaGlsZCBjYXNlLiBXZSBvbmx5IG5lZWQgdG8gZG8gYVxuICAgIC8vIHBsYWNlbWVudCBmb3IgaW5zZXJ0aW5nIG5ldyBjaGlsZHJlbi5cbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cyAmJiBuZXdGaWJlci5hbHRlcm5hdGUgPT09IG51bGwpIHtcbiAgICAgIG5ld0ZpYmVyLmVmZmVjdFRhZyA9IFBsYWNlbWVudDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3RmliZXI7XG4gIH1cblxuICBmdW5jdGlvbiB1cGRhdGVUZXh0Tm9kZShyZXR1cm5GaWJlciwgY3VycmVudCwgdGV4dENvbnRlbnQsIGV4cGlyYXRpb25UaW1lKSB7XG4gICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC50YWcgIT09IEhvc3RUZXh0KSB7XG4gICAgICAvLyBJbnNlcnRcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xuICAgICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBjcmVhdGVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGVcbiAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZUVsZW1lbnQocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQsIGV4cGlyYXRpb25UaW1lKSB7XG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgIGlmIChjdXJyZW50LmVsZW1lbnRUeXBlID09PSBlbGVtZW50LnR5cGUgfHwgKCAvLyBLZWVwIHRoaXMgY2hlY2sgaW5saW5lIHNvIGl0IG9ubHkgcnVucyBvbiB0aGUgZmFsc2UgcGF0aDpcbiAgICAgICBpc0NvbXBhdGlibGVGYW1pbHlGb3JIb3RSZWxvYWRpbmcoY3VycmVudCwgZWxlbWVudCkgKSkge1xuICAgICAgICAvLyBNb3ZlIGJhc2VkIG9uIGluZGV4XG4gICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGN1cnJlbnQsIGVsZW1lbnQucHJvcHMpO1xuICAgICAgICBleGlzdGluZy5yZWYgPSBjb2VyY2VSZWYocmV0dXJuRmliZXIsIGN1cnJlbnQsIGVsZW1lbnQpO1xuICAgICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcblxuICAgICAgICB7XG4gICAgICAgICAgZXhpc3RpbmcuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xuICAgICAgICAgIGV4aXN0aW5nLl9kZWJ1Z093bmVyID0gZWxlbWVudC5fb3duZXI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICB9XG4gICAgfSAvLyBJbnNlcnRcblxuXG4gICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KGVsZW1lbnQsIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lKTtcbiAgICBjcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY3VycmVudCwgZWxlbWVudCk7XG4gICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICByZXR1cm4gY3JlYXRlZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZVBvcnRhbChyZXR1cm5GaWJlciwgY3VycmVudCwgcG9ydGFsLCBleHBpcmF0aW9uVGltZSkge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQudGFnICE9PSBIb3N0UG9ydGFsIHx8IGN1cnJlbnQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8gIT09IHBvcnRhbC5jb250YWluZXJJbmZvIHx8IGN1cnJlbnQuc3RhdGVOb2RlLmltcGxlbWVudGF0aW9uICE9PSBwb3J0YWwuaW1wbGVtZW50YXRpb24pIHtcbiAgICAgIC8vIEluc2VydFxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XG4gICAgICBjcmVhdGVkLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGNyZWF0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVwZGF0ZVxuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudCwgcG9ydGFsLmNoaWxkcmVuIHx8IFtdKTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBjdXJyZW50LCBmcmFnbWVudCwgZXhwaXJhdGlvblRpbWUsIGtleSkge1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQudGFnICE9PSBGcmFnbWVudCkge1xuICAgICAgLy8gSW5zZXJ0XG4gICAgICB2YXIgY3JlYXRlZCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KGZyYWdtZW50LCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSwga2V5KTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVXBkYXRlXG4gICAgICB2YXIgZXhpc3RpbmcgPSB1c2VGaWJlcihjdXJyZW50LCBmcmFnbWVudCk7XG4gICAgICBleGlzdGluZy5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICAgIHJldHVybiBleGlzdGluZztcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjcmVhdGVDaGlsZChyZXR1cm5GaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSB7XG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMuIElmIHRoZSBwcmV2aW91cyBub2RlIGlzIGltcGxpY2l0bHkga2V5ZWRcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XG4gICAgICAvLyBub2RlLlxuICAgICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21UZXh0KCcnICsgbmV3Q2hpbGQsIHJldHVybkZpYmVyLm1vZGUsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX2NyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21FbGVtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgICAgICAgIF9jcmVhdGVkLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgbnVsbCwgbmV3Q2hpbGQpO1xuICAgICAgICAgICAgX2NyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIF9jcmVhdGVkMiA9IGNyZWF0ZUZpYmVyRnJvbVBvcnRhbChuZXdDaGlsZCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xuXG4gICAgICAgICAgICBfY3JlYXRlZDIucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICAgICAgICByZXR1cm4gX2NyZWF0ZWQyO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkkMShuZXdDaGlsZCkgfHwgZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgdmFyIF9jcmVhdGVkMyA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KG5ld0NoaWxkLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSwgbnVsbCk7XG5cbiAgICAgICAgX2NyZWF0ZWQzLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgICByZXR1cm4gX2NyZWF0ZWQzO1xuICAgICAgfVxuXG4gICAgICB0aHJvd09uSW52YWxpZE9iamVjdFR5cGUocmV0dXJuRmliZXIsIG5ld0NoaWxkKTtcbiAgICB9XG5cbiAgICB7XG4gICAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHdhcm5PbkZ1bmN0aW9uVHlwZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkge1xuICAgIC8vIFVwZGF0ZSB0aGUgZmliZXIgaWYgdGhlIGtleXMgbWF0Y2gsIG90aGVyd2lzZSByZXR1cm4gbnVsbC5cbiAgICB2YXIga2V5ID0gb2xkRmliZXIgIT09IG51bGwgPyBvbGRGaWJlci5rZXkgOiBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMuIElmIHRoZSBwcmV2aW91cyBub2RlIGlzIGltcGxpY2l0bHkga2V5ZWRcbiAgICAgIC8vIHdlIGNhbiBjb250aW51ZSB0byByZXBsYWNlIGl0IHdpdGhvdXQgYWJvcnRpbmcgZXZlbiBpZiBpdCBpcyBub3QgYSB0ZXh0XG4gICAgICAvLyBub2RlLlxuICAgICAgaWYgKGtleSAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBvbGRGaWJlciwgJycgKyBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsKSB7XG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChuZXdDaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICBpZiAobmV3Q2hpbGQudHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChyZXR1cm5GaWJlciwgb2xkRmliZXIsIG5ld0NoaWxkLnByb3BzLmNoaWxkcmVuLCBleHBpcmF0aW9uVGltZSwga2V5KTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmIChuZXdDaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlUG9ydGFsKHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzQXJyYXkkMShuZXdDaGlsZCkgfHwgZ2V0SXRlcmF0b3JGbihuZXdDaGlsZCkpIHtcbiAgICAgICAgaWYgKGtleSAhPT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBvbGRGaWJlciwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHVwZGF0ZUZyb21NYXAoZXhpc3RpbmdDaGlsZHJlbiwgcmV0dXJuRmliZXIsIG5ld0lkeCwgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKSB7XG4gICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIG5ld0NoaWxkID09PSAnbnVtYmVyJykge1xuICAgICAgLy8gVGV4dCBub2RlcyBkb24ndCBoYXZlIGtleXMsIHNvIHdlIG5laXRoZXIgaGF2ZSB0byBjaGVjayB0aGUgb2xkIG5vclxuICAgICAgLy8gbmV3IG5vZGUgZm9yIHRoZSBrZXkuIElmIGJvdGggYXJlIHRleHQgbm9kZXMsIHRoZXkgbWF0Y2guXG4gICAgICB2YXIgbWF0Y2hlZEZpYmVyID0gZXhpc3RpbmdDaGlsZHJlbi5nZXQobmV3SWR4KSB8fCBudWxsO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRleHROb2RlKHJldHVybkZpYmVyLCBtYXRjaGVkRmliZXIsICcnICsgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lKTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgc3dpdGNoIChuZXdDaGlsZC4kJHR5cGVvZikge1xuICAgICAgICBjYXNlIFJFQUNUX0VMRU1FTlRfVFlQRTpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgX21hdGNoZWRGaWJlciA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgaWYgKG5ld0NoaWxkLnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZC5wcm9wcy5jaGlsZHJlbiwgZXhwaXJhdGlvblRpbWUsIG5ld0NoaWxkLmtleSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB1cGRhdGVFbGVtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHZhciBfbWF0Y2hlZEZpYmVyMiA9IGV4aXN0aW5nQ2hpbGRyZW4uZ2V0KG5ld0NoaWxkLmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IG5ld0NoaWxkLmtleSkgfHwgbnVsbDtcblxuICAgICAgICAgICAgcmV0dXJuIHVwZGF0ZVBvcnRhbChyZXR1cm5GaWJlciwgX21hdGNoZWRGaWJlcjIsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaXNBcnJheSQxKG5ld0NoaWxkKSB8fCBnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgICB2YXIgX21hdGNoZWRGaWJlcjMgPSBleGlzdGluZ0NoaWxkcmVuLmdldChuZXdJZHgpIHx8IG51bGw7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZyYWdtZW50KHJldHVybkZpYmVyLCBfbWF0Y2hlZEZpYmVyMywgbmV3Q2hpbGQsIGV4cGlyYXRpb25UaW1lLCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvKipcbiAgICogV2FybnMgaWYgdGhlcmUgaXMgYSBkdXBsaWNhdGUgb3IgbWlzc2luZyBrZXlcbiAgICovXG5cblxuICBmdW5jdGlvbiB3YXJuT25JbnZhbGlkS2V5KGNoaWxkLCBrbm93bktleXMpIHtcbiAgICB7XG4gICAgICBpZiAodHlwZW9mIGNoaWxkICE9PSAnb2JqZWN0JyB8fCBjaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4ga25vd25LZXlzO1xuICAgICAgfVxuXG4gICAgICBzd2l0Y2ggKGNoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHdhcm5Gb3JNaXNzaW5nS2V5KGNoaWxkKTtcbiAgICAgICAgICB2YXIga2V5ID0gY2hpbGQua2V5O1xuXG4gICAgICAgICAgaWYgKHR5cGVvZiBrZXkgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoa25vd25LZXlzID09PSBudWxsKSB7XG4gICAgICAgICAgICBrbm93bktleXMgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgICBrbm93bktleXMuYWRkKGtleSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWtub3duS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAga25vd25LZXlzLmFkZChrZXkpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZXJyb3IoJ0VuY291bnRlcmVkIHR3byBjaGlsZHJlbiB3aXRoIHRoZSBzYW1lIGtleSwgYCVzYC4gJyArICdLZXlzIHNob3VsZCBiZSB1bmlxdWUgc28gdGhhdCBjb21wb25lbnRzIG1haW50YWluIHRoZWlyIGlkZW50aXR5ICcgKyAnYWNyb3NzIHVwZGF0ZXMuIE5vbi11bmlxdWUga2V5cyBtYXkgY2F1c2UgY2hpbGRyZW4gdG8gYmUgJyArICdkdXBsaWNhdGVkIGFuZC9vciBvbWl0dGVkIOKAlCB0aGUgYmVoYXZpb3IgaXMgdW5zdXBwb3J0ZWQgYW5kICcgKyAnY291bGQgY2hhbmdlIGluIGEgZnV0dXJlIHZlcnNpb24uJywga2V5KTtcblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBrbm93bktleXM7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZHJlbkFycmF5KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgbmV3Q2hpbGRyZW4sIGV4cGlyYXRpb25UaW1lKSB7XG4gICAgLy8gVGhpcyBhbGdvcml0aG0gY2FuJ3Qgb3B0aW1pemUgYnkgc2VhcmNoaW5nIGZyb20gYm90aCBlbmRzIHNpbmNlIHdlXG4gICAgLy8gZG9uJ3QgaGF2ZSBiYWNrcG9pbnRlcnMgb24gZmliZXJzLiBJJ20gdHJ5aW5nIHRvIHNlZSBob3cgZmFyIHdlIGNhbiBnZXRcbiAgICAvLyB3aXRoIHRoYXQgbW9kZWwuIElmIGl0IGVuZHMgdXAgbm90IGJlaW5nIHdvcnRoIHRoZSB0cmFkZW9mZnMsIHdlIGNhblxuICAgIC8vIGFkZCBpdCBsYXRlci5cbiAgICAvLyBFdmVuIHdpdGggYSB0d28gZW5kZWQgb3B0aW1pemF0aW9uLCB3ZSdkIHdhbnQgdG8gb3B0aW1pemUgZm9yIHRoZSBjYXNlXG4gICAgLy8gd2hlcmUgdGhlcmUgYXJlIGZldyBjaGFuZ2VzIGFuZCBicnV0ZSBmb3JjZSB0aGUgY29tcGFyaXNvbiBpbnN0ZWFkIG9mXG4gICAgLy8gZ29pbmcgZm9yIHRoZSBNYXAuIEl0J2QgbGlrZSB0byBleHBsb3JlIGhpdHRpbmcgdGhhdCBwYXRoIGZpcnN0IGluXG4gICAgLy8gZm9yd2FyZC1vbmx5IG1vZGUgYW5kIG9ubHkgZ28gZm9yIHRoZSBNYXAgb25jZSB3ZSBub3RpY2UgdGhhdCB3ZSBuZWVkXG4gICAgLy8gbG90cyBvZiBsb29rIGFoZWFkLiBUaGlzIGRvZXNuJ3QgaGFuZGxlIHJldmVyc2FsIGFzIHdlbGwgYXMgdHdvIGVuZGVkXG4gICAgLy8gc2VhcmNoIGJ1dCB0aGF0J3MgdW51c3VhbC4gQmVzaWRlcywgZm9yIHRoZSB0d28gZW5kZWQgb3B0aW1pemF0aW9uIHRvXG4gICAgLy8gd29yayBvbiBJdGVyYWJsZXMsIHdlJ2QgbmVlZCB0byBjb3B5IHRoZSB3aG9sZSBzZXQuXG4gICAgLy8gSW4gdGhpcyBmaXJzdCBpdGVyYXRpb24sIHdlJ2xsIGp1c3QgbGl2ZSB3aXRoIGhpdHRpbmcgdGhlIGJhZCBjYXNlXG4gICAgLy8gKGFkZGluZyBldmVyeXRoaW5nIHRvIGEgTWFwKSBpbiBmb3IgZXZlcnkgaW5zZXJ0L21vdmUuXG4gICAgLy8gSWYgeW91IGNoYW5nZSB0aGlzIGNvZGUsIGFsc28gdXBkYXRlIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IoKSB3aGljaFxuICAgIC8vIHVzZXMgdGhlIHNhbWUgYWxnb3JpdGhtLlxuICAgIHtcbiAgICAgIC8vIEZpcnN0LCB2YWxpZGF0ZSBrZXlzLlxuICAgICAgdmFyIGtub3duS2V5cyA9IG51bGw7XG5cbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbmV3Q2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIGNoaWxkID0gbmV3Q2hpbGRyZW5baV07XG4gICAgICAgIGtub3duS2V5cyA9IHdhcm5PbkludmFsaWRLZXkoY2hpbGQsIGtub3duS2V5cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBudWxsO1xuICAgIHZhciBwcmV2aW91c05ld0ZpYmVyID0gbnVsbDtcbiAgICB2YXIgb2xkRmliZXIgPSBjdXJyZW50Rmlyc3RDaGlsZDtcbiAgICB2YXIgbGFzdFBsYWNlZEluZGV4ID0gMDtcbiAgICB2YXIgbmV3SWR4ID0gMDtcbiAgICB2YXIgbmV4dE9sZEZpYmVyID0gbnVsbDtcblxuICAgIGZvciAoOyBvbGRGaWJlciAhPT0gbnVsbCAmJiBuZXdJZHggPCBuZXdDaGlsZHJlbi5sZW5ndGg7IG5ld0lkeCsrKSB7XG4gICAgICBpZiAob2xkRmliZXIuaW5kZXggPiBuZXdJZHgpIHtcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXI7XG4gICAgICAgIG9sZEZpYmVyID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHRPbGRGaWJlciA9IG9sZEZpYmVyLnNpYmxpbmc7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXdGaWJlciA9IHVwZGF0ZVNsb3QocmV0dXJuRmliZXIsIG9sZEZpYmVyLCBuZXdDaGlsZHJlbltuZXdJZHhdLCBleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgIGlmIChuZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBUaGlzIGJyZWFrcyBvbiBlbXB0eSBzbG90cyBsaWtlIG51bGwgY2hpbGRyZW4uIFRoYXQnc1xuICAgICAgICAvLyB1bmZvcnR1bmF0ZSBiZWNhdXNlIGl0IHRyaWdnZXJzIHRoZSBzbG93IHBhdGggYWxsIHRoZSB0aW1lLiBXZSBuZWVkXG4gICAgICAgIC8vIGEgYmV0dGVyIHdheSB0byBjb21tdW5pY2F0ZSB3aGV0aGVyIHRoaXMgd2FzIGEgbWlzcyBvciBudWxsLFxuICAgICAgICAvLyBib29sZWFuLCB1bmRlZmluZWQsIGV0Yy5cbiAgICAgICAgaWYgKG9sZEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgb2xkRmliZXIgPSBuZXh0T2xkRmliZXI7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgaWYgKG9sZEZpYmVyICYmIG5ld0ZpYmVyLmFsdGVybmF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIG1hdGNoZWQgdGhlIHNsb3QsIGJ1dCB3ZSBkaWRuJ3QgcmV1c2UgdGhlIGV4aXN0aW5nIGZpYmVyLCBzbyB3ZVxuICAgICAgICAgIC8vIG5lZWQgdG8gZGVsZXRlIHRoZSBleGlzdGluZyBjaGlsZC5cbiAgICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgb2xkRmliZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhc3RQbGFjZWRJbmRleCA9IHBsYWNlQ2hpbGQobmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgLy8gVE9ETzogTW92ZSBvdXQgb2YgdGhlIGxvb3AuIFRoaXMgb25seSBoYXBwZW5zIGZvciB0aGUgZmlyc3QgcnVuLlxuICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gbmV3RmliZXI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUT0RPOiBEZWZlciBzaWJsaW5ncyBpZiB3ZSdyZSBub3QgYXQgdGhlIHJpZ2h0IGluZGV4IGZvciB0aGlzIHNsb3QuXG4gICAgICAgIC8vIEkuZS4gaWYgd2UgaGFkIG51bGwgdmFsdWVzIGJlZm9yZSwgdGhlbiB3ZSB3YW50IHRvIGRlZmVyIHRoaXNcbiAgICAgICAgLy8gZm9yIGVhY2ggbnVsbCB2YWx1ZS4gSG93ZXZlciwgd2UgYWxzbyBkb24ndCB3YW50IHRvIGNhbGwgdXBkYXRlU2xvdFxuICAgICAgICAvLyB3aXRoIHRoZSBwcmV2aW91cyBvbmUuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IG5ld0ZpYmVyO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c05ld0ZpYmVyID0gbmV3RmliZXI7XG4gICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICB9XG5cbiAgICBpZiAobmV3SWR4ID09PSBuZXdDaGlsZHJlbi5sZW5ndGgpIHtcbiAgICAgIC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgbmV3IGNoaWxkcmVuLiBXZSBjYW4gZGVsZXRlIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICAgIH1cblxuICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhbnkgbW9yZSBleGlzdGluZyBjaGlsZHJlbiB3ZSBjYW4gY2hvb3NlIGEgZmFzdCBwYXRoXG4gICAgICAvLyBzaW5jZSB0aGUgcmVzdCB3aWxsIGFsbCBiZSBpbnNlcnRpb25zLlxuICAgICAgZm9yICg7IG5ld0lkeCA8IG5ld0NoaWxkcmVuLmxlbmd0aDsgbmV3SWR4KyspIHtcbiAgICAgICAgdmFyIF9uZXdGaWJlciA9IGNyZWF0ZUNoaWxkKHJldHVybkZpYmVyLCBuZXdDaGlsZHJlbltuZXdJZHhdLCBleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgICAgaWYgKF9uZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXIsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIFRPRE86IE1vdmUgb3V0IG9mIHRoZSBsb29wLiBUaGlzIG9ubHkgaGFwcGVucyBmb3IgdGhlIGZpcnN0IHJ1bi5cbiAgICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gX25ld0ZpYmVyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICAgIH0gLy8gQWRkIGFsbCBjaGlsZHJlbiB0byBhIGtleSBtYXAgZm9yIHF1aWNrIGxvb2t1cHMuXG5cblxuICAgIHZhciBleGlzdGluZ0NoaWxkcmVuID0gbWFwUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTsgLy8gS2VlcCBzY2FubmluZyBhbmQgdXNlIHRoZSBtYXAgdG8gcmVzdG9yZSBkZWxldGVkIGl0ZW1zIGFzIG1vdmVzLlxuXG4gICAgZm9yICg7IG5ld0lkeCA8IG5ld0NoaWxkcmVuLmxlbmd0aDsgbmV3SWR4KyspIHtcbiAgICAgIHZhciBfbmV3RmliZXIyID0gdXBkYXRlRnJvbU1hcChleGlzdGluZ0NoaWxkcmVuLCByZXR1cm5GaWJlciwgbmV3SWR4LCBuZXdDaGlsZHJlbltuZXdJZHhdLCBleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgIGlmIChfbmV3RmliZXIyICE9PSBudWxsKSB7XG4gICAgICAgIGlmIChzaG91bGRUcmFja1NpZGVFZmZlY3RzKSB7XG4gICAgICAgICAgaWYgKF9uZXdGaWJlcjIuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgbmV3IGZpYmVyIGlzIGEgd29yayBpbiBwcm9ncmVzcywgYnV0IGlmIHRoZXJlIGV4aXN0cyBhXG4gICAgICAgICAgICAvLyBjdXJyZW50LCB0aGF0IG1lYW5zIHRoYXQgd2UgcmV1c2VkIHRoZSBmaWJlci4gV2UgbmVlZCB0byBkZWxldGVcbiAgICAgICAgICAgIC8vIGl0IGZyb20gdGhlIGNoaWxkIGxpc3Qgc28gdGhhdCB3ZSBkb24ndCBhZGQgaXQgdG8gdGhlIGRlbGV0aW9uXG4gICAgICAgICAgICAvLyBsaXN0LlxuICAgICAgICAgICAgZXhpc3RpbmdDaGlsZHJlbi5kZWxldGUoX25ld0ZpYmVyMi5rZXkgPT09IG51bGwgPyBuZXdJZHggOiBfbmV3RmliZXIyLmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXIyLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICByZXN1bHRpbmdGaXJzdENoaWxkID0gX25ld0ZpYmVyMjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmV2aW91c05ld0ZpYmVyLnNpYmxpbmcgPSBfbmV3RmliZXIyO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJldmlvdXNOZXdGaWJlciA9IF9uZXdGaWJlcjI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgIC8vIEFueSBleGlzdGluZyBjaGlsZHJlbiB0aGF0IHdlcmVuJ3QgY29uc3VtZWQgYWJvdmUgd2VyZSBkZWxldGVkLiBXZSBuZWVkXG4gICAgICAvLyB0byBhZGQgdGhlbSB0byB0aGUgZGVsZXRpb24gbGlzdC5cbiAgICAgIGV4aXN0aW5nQ2hpbGRyZW4uZm9yRWFjaChmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgcmV0dXJuIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgfVxuXG4gIGZ1bmN0aW9uIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZHJlbkl0ZXJhYmxlLCBleHBpcmF0aW9uVGltZSkge1xuICAgIC8vIFRoaXMgaXMgdGhlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgcmVjb25jaWxlQ2hpbGRyZW5BcnJheSgpLFxuICAgIC8vIGJ1dCB1c2luZyB0aGUgaXRlcmF0b3IgaW5zdGVhZC5cbiAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obmV3Q2hpbGRyZW5JdGVyYWJsZSk7XG5cbiAgICBpZiAoISh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiQW4gb2JqZWN0IGlzIG5vdCBhbiBpdGVyYWJsZS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHtcbiAgICAgIC8vIFdlIGRvbid0IHN1cHBvcnQgcmVuZGVyaW5nIEdlbmVyYXRvcnMgYmVjYXVzZSBpdCdzIGEgbXV0YXRpb24uXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMjk5NVxuICAgICAgaWYgKHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgLy8gJEZsb3dGaXhNZSBGbG93IGRvZXNuJ3Qga25vdyBhYm91dCB0b1N0cmluZ1RhZ1xuICAgICAgbmV3Q2hpbGRyZW5JdGVyYWJsZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnR2VuZXJhdG9yJykge1xuICAgICAgICBpZiAoIWRpZFdhcm5BYm91dEdlbmVyYXRvcnMpIHtcbiAgICAgICAgICBlcnJvcignVXNpbmcgR2VuZXJhdG9ycyBhcyBjaGlsZHJlbiBpcyB1bnN1cHBvcnRlZCBhbmQgd2lsbCBsaWtlbHkgeWllbGQgJyArICd1bmV4cGVjdGVkIHJlc3VsdHMgYmVjYXVzZSBlbnVtZXJhdGluZyBhIGdlbmVyYXRvciBtdXRhdGVzIGl0LiAnICsgJ1lvdSBtYXkgY29udmVydCBpdCB0byBhbiBhcnJheSB3aXRoIGBBcnJheS5mcm9tKClgIG9yIHRoZSAnICsgJ2BbLi4uc3ByZWFkXWAgb3BlcmF0b3IgYmVmb3JlIHJlbmRlcmluZy4gS2VlcCBpbiBtaW5kICcgKyAneW91IG1pZ2h0IG5lZWQgdG8gcG9seWZpbGwgdGhlc2UgZmVhdHVyZXMgZm9yIG9sZGVyIGJyb3dzZXJzLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGlkV2FybkFib3V0R2VuZXJhdG9ycyA9IHRydWU7XG4gICAgICB9IC8vIFdhcm4gYWJvdXQgdXNpbmcgTWFwcyBhcyBjaGlsZHJlblxuXG5cbiAgICAgIGlmIChuZXdDaGlsZHJlbkl0ZXJhYmxlLmVudHJpZXMgPT09IGl0ZXJhdG9yRm4pIHtcbiAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRNYXBzKSB7XG4gICAgICAgICAgZXJyb3IoJ1VzaW5nIE1hcHMgYXMgY2hpbGRyZW4gaXMgdW5zdXBwb3J0ZWQgYW5kIHdpbGwgbGlrZWx5IHlpZWxkICcgKyAndW5leHBlY3RlZCByZXN1bHRzLiBDb252ZXJ0IGl0IHRvIGEgc2VxdWVuY2UvaXRlcmFibGUgb2Yga2V5ZWQgJyArICdSZWFjdEVsZW1lbnRzIGluc3RlYWQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBkaWRXYXJuQWJvdXRNYXBzID0gdHJ1ZTtcbiAgICAgIH0gLy8gRmlyc3QsIHZhbGlkYXRlIGtleXMuXG4gICAgICAvLyBXZSdsbCBnZXQgYSBkaWZmZXJlbnQgaXRlcmF0b3IgbGF0ZXIgZm9yIHRoZSBtYWluIHBhc3MuXG5cblxuICAgICAgdmFyIF9uZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgICAgaWYgKF9uZXdDaGlsZHJlbikge1xuICAgICAgICB2YXIga25vd25LZXlzID0gbnVsbDtcblxuICAgICAgICB2YXIgX3N0ZXAgPSBfbmV3Q2hpbGRyZW4ubmV4dCgpO1xuXG4gICAgICAgIGZvciAoOyAhX3N0ZXAuZG9uZTsgX3N0ZXAgPSBfbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICAgICAgdmFyIGNoaWxkID0gX3N0ZXAudmFsdWU7XG4gICAgICAgICAga25vd25LZXlzID0gd2Fybk9uSW52YWxpZEtleShjaGlsZCwga25vd25LZXlzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBuZXdDaGlsZHJlbiA9IGl0ZXJhdG9yRm4uY2FsbChuZXdDaGlsZHJlbkl0ZXJhYmxlKTtcblxuICAgIGlmICghKG5ld0NoaWxkcmVuICE9IG51bGwpKSB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcIkFuIGl0ZXJhYmxlIG9iamVjdCBwcm92aWRlZCBubyBpdGVyYXRvci5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciByZXN1bHRpbmdGaXJzdENoaWxkID0gbnVsbDtcbiAgICB2YXIgcHJldmlvdXNOZXdGaWJlciA9IG51bGw7XG4gICAgdmFyIG9sZEZpYmVyID0gY3VycmVudEZpcnN0Q2hpbGQ7XG4gICAgdmFyIGxhc3RQbGFjZWRJbmRleCA9IDA7XG4gICAgdmFyIG5ld0lkeCA9IDA7XG4gICAgdmFyIG5leHRPbGRGaWJlciA9IG51bGw7XG4gICAgdmFyIHN0ZXAgPSBuZXdDaGlsZHJlbi5uZXh0KCk7XG5cbiAgICBmb3IgKDsgb2xkRmliZXIgIT09IG51bGwgJiYgIXN0ZXAuZG9uZTsgbmV3SWR4KyssIHN0ZXAgPSBuZXdDaGlsZHJlbi5uZXh0KCkpIHtcbiAgICAgIGlmIChvbGRGaWJlci5pbmRleCA+IG5ld0lkeCkge1xuICAgICAgICBuZXh0T2xkRmliZXIgPSBvbGRGaWJlcjtcbiAgICAgICAgb2xkRmliZXIgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbmV4dE9sZEZpYmVyID0gb2xkRmliZXIuc2libGluZztcbiAgICAgIH1cblxuICAgICAgdmFyIG5ld0ZpYmVyID0gdXBkYXRlU2xvdChyZXR1cm5GaWJlciwgb2xkRmliZXIsIHN0ZXAudmFsdWUsIGV4cGlyYXRpb25UaW1lKTtcblxuICAgICAgaWYgKG5ld0ZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgYnJlYWtzIG9uIGVtcHR5IHNsb3RzIGxpa2UgbnVsbCBjaGlsZHJlbi4gVGhhdCdzXG4gICAgICAgIC8vIHVuZm9ydHVuYXRlIGJlY2F1c2UgaXQgdHJpZ2dlcnMgdGhlIHNsb3cgcGF0aCBhbGwgdGhlIHRpbWUuIFdlIG5lZWRcbiAgICAgICAgLy8gYSBiZXR0ZXIgd2F5IHRvIGNvbW11bmljYXRlIHdoZXRoZXIgdGhpcyB3YXMgYSBtaXNzIG9yIG51bGwsXG4gICAgICAgIC8vIGJvb2xlYW4sIHVuZGVmaW5lZCwgZXRjLlxuICAgICAgICBpZiAob2xkRmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICBvbGRGaWJlciA9IG5leHRPbGRGaWJlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgICBpZiAob2xkRmliZXIgJiYgbmV3RmliZXIuYWx0ZXJuYXRlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gV2UgbWF0Y2hlZCB0aGUgc2xvdCwgYnV0IHdlIGRpZG4ndCByZXVzZSB0aGUgZXhpc3RpbmcgZmliZXIsIHNvIHdlXG4gICAgICAgICAgLy8gbmVlZCB0byBkZWxldGUgdGhlIGV4aXN0aW5nIGNoaWxkLlxuICAgICAgICAgIGRlbGV0ZUNoaWxkKHJldHVybkZpYmVyLCBvbGRGaWJlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChuZXdGaWJlciwgbGFzdFBsYWNlZEluZGV4LCBuZXdJZHgpO1xuXG4gICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBuZXdGaWJlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRPRE86IERlZmVyIHNpYmxpbmdzIGlmIHdlJ3JlIG5vdCBhdCB0aGUgcmlnaHQgaW5kZXggZm9yIHRoaXMgc2xvdC5cbiAgICAgICAgLy8gSS5lLiBpZiB3ZSBoYWQgbnVsbCB2YWx1ZXMgYmVmb3JlLCB0aGVuIHdlIHdhbnQgdG8gZGVmZXIgdGhpc1xuICAgICAgICAvLyBmb3IgZWFjaCBudWxsIHZhbHVlLiBIb3dldmVyLCB3ZSBhbHNvIGRvbid0IHdhbnQgdG8gY2FsbCB1cGRhdGVTbG90XG4gICAgICAgIC8vIHdpdGggdGhlIHByZXZpb3VzIG9uZS5cbiAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gbmV3RmliZXI7XG4gICAgICB9XG5cbiAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBuZXdGaWJlcjtcbiAgICAgIG9sZEZpYmVyID0gbmV4dE9sZEZpYmVyO1xuICAgIH1cblxuICAgIGlmIChzdGVwLmRvbmUpIHtcbiAgICAgIC8vIFdlJ3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgbmV3IGNoaWxkcmVuLiBXZSBjYW4gZGVsZXRlIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIG9sZEZpYmVyKTtcbiAgICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICAgIH1cblxuICAgIGlmIChvbGRGaWJlciA9PT0gbnVsbCkge1xuICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhbnkgbW9yZSBleGlzdGluZyBjaGlsZHJlbiB3ZSBjYW4gY2hvb3NlIGEgZmFzdCBwYXRoXG4gICAgICAvLyBzaW5jZSB0aGUgcmVzdCB3aWxsIGFsbCBiZSBpbnNlcnRpb25zLlxuICAgICAgZm9yICg7ICFzdGVwLmRvbmU7IG5ld0lkeCsrLCBzdGVwID0gbmV3Q2hpbGRyZW4ubmV4dCgpKSB7XG4gICAgICAgIHZhciBfbmV3RmliZXIzID0gY3JlYXRlQ2hpbGQocmV0dXJuRmliZXIsIHN0ZXAudmFsdWUsIGV4cGlyYXRpb25UaW1lKTtcblxuICAgICAgICBpZiAoX25ld0ZpYmVyMyA9PT0gbnVsbCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGFzdFBsYWNlZEluZGV4ID0gcGxhY2VDaGlsZChfbmV3RmliZXIzLCBsYXN0UGxhY2VkSW5kZXgsIG5ld0lkeCk7XG5cbiAgICAgICAgaWYgKHByZXZpb3VzTmV3RmliZXIgPT09IG51bGwpIHtcbiAgICAgICAgICAvLyBUT0RPOiBNb3ZlIG91dCBvZiB0aGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgZm9yIHRoZSBmaXJzdCBydW4uXG4gICAgICAgICAgcmVzdWx0aW5nRmlyc3RDaGlsZCA9IF9uZXdGaWJlcjM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJldmlvdXNOZXdGaWJlci5zaWJsaW5nID0gX25ld0ZpYmVyMztcbiAgICAgICAgfVxuXG4gICAgICAgIHByZXZpb3VzTmV3RmliZXIgPSBfbmV3RmliZXIzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0aW5nRmlyc3RDaGlsZDtcbiAgICB9IC8vIEFkZCBhbGwgY2hpbGRyZW4gdG8gYSBrZXkgbWFwIGZvciBxdWljayBsb29rdXBzLlxuXG5cbiAgICB2YXIgZXhpc3RpbmdDaGlsZHJlbiA9IG1hcFJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBvbGRGaWJlcik7IC8vIEtlZXAgc2Nhbm5pbmcgYW5kIHVzZSB0aGUgbWFwIHRvIHJlc3RvcmUgZGVsZXRlZCBpdGVtcyBhcyBtb3Zlcy5cblxuICAgIGZvciAoOyAhc3RlcC5kb25lOyBuZXdJZHgrKywgc3RlcCA9IG5ld0NoaWxkcmVuLm5leHQoKSkge1xuICAgICAgdmFyIF9uZXdGaWJlcjQgPSB1cGRhdGVGcm9tTWFwKGV4aXN0aW5nQ2hpbGRyZW4sIHJldHVybkZpYmVyLCBuZXdJZHgsIHN0ZXAudmFsdWUsIGV4cGlyYXRpb25UaW1lKTtcblxuICAgICAgaWYgKF9uZXdGaWJlcjQgIT09IG51bGwpIHtcbiAgICAgICAgaWYgKHNob3VsZFRyYWNrU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgICBpZiAoX25ld0ZpYmVyNC5hbHRlcm5hdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFRoZSBuZXcgZmliZXIgaXMgYSB3b3JrIGluIHByb2dyZXNzLCBidXQgaWYgdGhlcmUgZXhpc3RzIGFcbiAgICAgICAgICAgIC8vIGN1cnJlbnQsIHRoYXQgbWVhbnMgdGhhdCB3ZSByZXVzZWQgdGhlIGZpYmVyLiBXZSBuZWVkIHRvIGRlbGV0ZVxuICAgICAgICAgICAgLy8gaXQgZnJvbSB0aGUgY2hpbGQgbGlzdCBzbyB0aGF0IHdlIGRvbid0IGFkZCBpdCB0byB0aGUgZGVsZXRpb25cbiAgICAgICAgICAgIC8vIGxpc3QuXG4gICAgICAgICAgICBleGlzdGluZ0NoaWxkcmVuLmRlbGV0ZShfbmV3RmliZXI0LmtleSA9PT0gbnVsbCA/IG5ld0lkeCA6IF9uZXdGaWJlcjQua2V5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYXN0UGxhY2VkSW5kZXggPSBwbGFjZUNoaWxkKF9uZXdGaWJlcjQsIGxhc3RQbGFjZWRJbmRleCwgbmV3SWR4KTtcblxuICAgICAgICBpZiAocHJldmlvdXNOZXdGaWJlciA9PT0gbnVsbCkge1xuICAgICAgICAgIHJlc3VsdGluZ0ZpcnN0Q2hpbGQgPSBfbmV3RmliZXI0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXZpb3VzTmV3RmliZXIuc2libGluZyA9IF9uZXdGaWJlcjQ7XG4gICAgICAgIH1cblxuICAgICAgICBwcmV2aW91c05ld0ZpYmVyID0gX25ld0ZpYmVyNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoc2hvdWxkVHJhY2tTaWRlRWZmZWN0cykge1xuICAgICAgLy8gQW55IGV4aXN0aW5nIGNoaWxkcmVuIHRoYXQgd2VyZW4ndCBjb25zdW1lZCBhYm92ZSB3ZXJlIGRlbGV0ZWQuIFdlIG5lZWRcbiAgICAgIC8vIHRvIGFkZCB0aGVtIHRvIHRoZSBkZWxldGlvbiBsaXN0LlxuICAgICAgZXhpc3RpbmdDaGlsZHJlbi5mb3JFYWNoKGZ1bmN0aW9uIChjaGlsZCkge1xuICAgICAgICByZXR1cm4gZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRpbmdGaXJzdENoaWxkO1xuICB9XG5cbiAgZnVuY3Rpb24gcmVjb25jaWxlU2luZ2xlVGV4dE5vZGUocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCB0ZXh0Q29udGVudCwgZXhwaXJhdGlvblRpbWUpIHtcbiAgICAvLyBUaGVyZSdzIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGtleXMgb24gdGV4dCBub2RlcyBzaW5jZSB3ZSBkb24ndCBoYXZlIGFcbiAgICAvLyB3YXkgdG8gZGVmaW5lIHRoZW0uXG4gICAgaWYgKGN1cnJlbnRGaXJzdENoaWxkICE9PSBudWxsICYmIGN1cnJlbnRGaXJzdENoaWxkLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhbiBleGlzdGluZyBub2RlIHNvIGxldCdzIGp1c3QgdXBkYXRlIGl0IGFuZCBkZWxldGVcbiAgICAgIC8vIHRoZSByZXN0LlxuICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLnNpYmxpbmcpO1xuICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY3VycmVudEZpcnN0Q2hpbGQsIHRleHRDb250ZW50KTtcbiAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgcmV0dXJuIGV4aXN0aW5nO1xuICAgIH0gLy8gVGhlIGV4aXN0aW5nIGZpcnN0IGNoaWxkIGlzIG5vdCBhIHRleHQgbm9kZSBzbyB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICAvLyBhbmQgZGVsZXRlIHRoZSBleGlzdGluZyBvbmVzLlxuXG5cbiAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQpO1xuICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tVGV4dCh0ZXh0Q29udGVudCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xuICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgcmV0dXJuIGNyZWF0ZWQ7XG4gIH1cblxuICBmdW5jdGlvbiByZWNvbmNpbGVTaW5nbGVFbGVtZW50KHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgZWxlbWVudCwgZXhwaXJhdGlvblRpbWUpIHtcbiAgICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gICAgdmFyIGNoaWxkID0gY3VycmVudEZpcnN0Q2hpbGQ7XG5cbiAgICB3aGlsZSAoY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIC8vIFRPRE86IElmIGtleSA9PT0gbnVsbCBhbmQgY2hpbGQua2V5ID09PSBudWxsLCB0aGVuIHRoaXMgb25seSBhcHBsaWVzIHRvXG4gICAgICAvLyB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgbGlzdC5cbiAgICAgIGlmIChjaGlsZC5rZXkgPT09IGtleSkge1xuICAgICAgICBzd2l0Y2ggKGNoaWxkLnRhZykge1xuICAgICAgICAgIGNhc2UgRnJhZ21lbnQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgICAgICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQuc2libGluZyk7XG4gICAgICAgICAgICAgICAgdmFyIGV4aXN0aW5nID0gdXNlRmliZXIoY2hpbGQsIGVsZW1lbnQucHJvcHMuY2hpbGRyZW4pO1xuICAgICAgICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnU291cmNlID0gZWxlbWVudC5fc291cmNlO1xuICAgICAgICAgICAgICAgICAgZXhpc3RpbmcuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZXhpc3Rpbmc7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgQmxvY2s6XG5cbiAgICAgICAgICAvLyBXZSBpbnRlbnRpb25hbGx5IGZhbGx0aHJvdWdoIGhlcmUgaWYgZW5hYmxlQmxvY2tzQVBJIGlzIG5vdCBvbi5cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVkIG5vLWZhbGx0aHJvdWdoXG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZiAoY2hpbGQuZWxlbWVudFR5cGUgPT09IGVsZW1lbnQudHlwZSB8fCAoIC8vIEtlZXAgdGhpcyBjaGVjayBpbmxpbmUgc28gaXQgb25seSBydW5zIG9uIHRoZSBmYWxzZSBwYXRoOlxuICAgICAgICAgICAgICAgaXNDb21wYXRpYmxlRmFtaWx5Rm9ySG90UmVsb2FkaW5nKGNoaWxkLCBlbGVtZW50KSApKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkLnNpYmxpbmcpO1xuXG4gICAgICAgICAgICAgICAgdmFyIF9leGlzdGluZzMgPSB1c2VGaWJlcihjaGlsZCwgZWxlbWVudC5wcm9wcyk7XG5cbiAgICAgICAgICAgICAgICBfZXhpc3RpbmczLnJlZiA9IGNvZXJjZVJlZihyZXR1cm5GaWJlciwgY2hpbGQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIF9leGlzdGluZzMucmV0dXJuID0gcmV0dXJuRmliZXI7XG5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBfZXhpc3RpbmczLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcbiAgICAgICAgICAgICAgICAgIF9leGlzdGluZzMuX2RlYnVnT3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gX2V4aXN0aW5nMztcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IC8vIERpZG4ndCBtYXRjaC5cblxuXG4gICAgICAgIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjaGlsZCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlQ2hpbGQocmV0dXJuRmliZXIsIGNoaWxkKTtcbiAgICAgIH1cblxuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIGlmIChlbGVtZW50LnR5cGUgPT09IFJFQUNUX0ZSQUdNRU5UX1RZUEUpIHtcbiAgICAgIHZhciBjcmVhdGVkID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZWxlbWVudC5wcm9wcy5jaGlsZHJlbiwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUsIGVsZW1lbnQua2V5KTtcbiAgICAgIGNyZWF0ZWQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gY3JlYXRlZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFyIF9jcmVhdGVkNCA9IGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgcmV0dXJuRmliZXIubW9kZSwgZXhwaXJhdGlvblRpbWUpO1xuXG4gICAgICBfY3JlYXRlZDQucmVmID0gY29lcmNlUmVmKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgZWxlbWVudCk7XG4gICAgICBfY3JlYXRlZDQucmV0dXJuID0gcmV0dXJuRmliZXI7XG4gICAgICByZXR1cm4gX2NyZWF0ZWQ0O1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHJlY29uY2lsZVNpbmdsZVBvcnRhbChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIHBvcnRhbCwgZXhwaXJhdGlvblRpbWUpIHtcbiAgICB2YXIga2V5ID0gcG9ydGFsLmtleTtcbiAgICB2YXIgY2hpbGQgPSBjdXJyZW50Rmlyc3RDaGlsZDtcblxuICAgIHdoaWxlIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgLy8gVE9ETzogSWYga2V5ID09PSBudWxsIGFuZCBjaGlsZC5rZXkgPT09IG51bGwsIHRoZW4gdGhpcyBvbmx5IGFwcGxpZXMgdG9cbiAgICAgIC8vIHRoZSBmaXJzdCBpdGVtIGluIHRoZSBsaXN0LlxuICAgICAgaWYgKGNoaWxkLmtleSA9PT0ga2V5KSB7XG4gICAgICAgIGlmIChjaGlsZC50YWcgPT09IEhvc3RQb3J0YWwgJiYgY2hpbGQuc3RhdGVOb2RlLmNvbnRhaW5lckluZm8gPT09IHBvcnRhbC5jb250YWluZXJJbmZvICYmIGNoaWxkLnN0YXRlTm9kZS5pbXBsZW1lbnRhdGlvbiA9PT0gcG9ydGFsLmltcGxlbWVudGF0aW9uKSB7XG4gICAgICAgICAgZGVsZXRlUmVtYWluaW5nQ2hpbGRyZW4ocmV0dXJuRmliZXIsIGNoaWxkLnNpYmxpbmcpO1xuICAgICAgICAgIHZhciBleGlzdGluZyA9IHVzZUZpYmVyKGNoaWxkLCBwb3J0YWwuY2hpbGRyZW4gfHwgW10pO1xuICAgICAgICAgIGV4aXN0aW5nLnJldHVybiA9IHJldHVybkZpYmVyO1xuICAgICAgICAgIHJldHVybiBleGlzdGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkZWxldGVSZW1haW5pbmdDaGlsZHJlbihyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZWxldGVDaGlsZChyZXR1cm5GaWJlciwgY2hpbGQpO1xuICAgICAgfVxuXG4gICAgICBjaGlsZCA9IGNoaWxkLnNpYmxpbmc7XG4gICAgfVxuXG4gICAgdmFyIGNyZWF0ZWQgPSBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCByZXR1cm5GaWJlci5tb2RlLCBleHBpcmF0aW9uVGltZSk7XG4gICAgY3JlYXRlZC5yZXR1cm4gPSByZXR1cm5GaWJlcjtcbiAgICByZXR1cm4gY3JlYXRlZDtcbiAgfSAvLyBUaGlzIEFQSSB3aWxsIHRhZyB0aGUgY2hpbGRyZW4gd2l0aCB0aGUgc2lkZS1lZmZlY3Qgb2YgdGhlIHJlY29uY2lsaWF0aW9uXG4gIC8vIGl0c2VsZi4gVGhleSB3aWxsIGJlIGFkZGVkIHRvIHRoZSBzaWRlLWVmZmVjdCBsaXN0IGFzIHdlIHBhc3MgdGhyb3VnaCB0aGVcbiAgLy8gY2hpbGRyZW4gYW5kIHRoZSBwYXJlbnQuXG5cblxuICBmdW5jdGlvbiByZWNvbmNpbGVDaGlsZEZpYmVycyhyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkge1xuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgbm90IHJlY3Vyc2l2ZS5cbiAgICAvLyBJZiB0aGUgdG9wIGxldmVsIGl0ZW0gaXMgYW4gYXJyYXksIHdlIHRyZWF0IGl0IGFzIGEgc2V0IG9mIGNoaWxkcmVuLFxuICAgIC8vIG5vdCBhcyBhIGZyYWdtZW50LiBOZXN0ZWQgYXJyYXlzIG9uIHRoZSBvdGhlciBoYW5kIHdpbGwgYmUgdHJlYXRlZCBhc1xuICAgIC8vIGZyYWdtZW50IG5vZGVzLiBSZWN1cnNpb24gaGFwcGVucyBhdCB0aGUgbm9ybWFsIGZsb3cuXG4gICAgLy8gSGFuZGxlIHRvcCBsZXZlbCB1bmtleWVkIGZyYWdtZW50cyBhcyBpZiB0aGV5IHdlcmUgYXJyYXlzLlxuICAgIC8vIFRoaXMgbGVhZHMgdG8gYW4gYW1iaWd1aXR5IGJldHdlZW4gPD57Wy4uLl19PC8+IGFuZCA8Pi4uLjwvPi5cbiAgICAvLyBXZSB0cmVhdCB0aGUgYW1iaWd1b3VzIGNhc2VzIGFib3ZlIHRoZSBzYW1lLlxuICAgIHZhciBpc1Vua2V5ZWRUb3BMZXZlbEZyYWdtZW50ID0gdHlwZW9mIG5ld0NoaWxkID09PSAnb2JqZWN0JyAmJiBuZXdDaGlsZCAhPT0gbnVsbCAmJiBuZXdDaGlsZC50eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFICYmIG5ld0NoaWxkLmtleSA9PT0gbnVsbDtcblxuICAgIGlmIChpc1Vua2V5ZWRUb3BMZXZlbEZyYWdtZW50KSB7XG4gICAgICBuZXdDaGlsZCA9IG5ld0NoaWxkLnByb3BzLmNoaWxkcmVuO1xuICAgIH0gLy8gSGFuZGxlIG9iamVjdCB0eXBlc1xuXG5cbiAgICB2YXIgaXNPYmplY3QgPSB0eXBlb2YgbmV3Q2hpbGQgPT09ICdvYmplY3QnICYmIG5ld0NoaWxkICE9PSBudWxsO1xuXG4gICAgaWYgKGlzT2JqZWN0KSB7XG4gICAgICBzd2l0Y2ggKG5ld0NoaWxkLiQkdHlwZW9mKSB7XG4gICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIHJldHVybiBwbGFjZVNpbmdsZUNoaWxkKHJlY29uY2lsZVNpbmdsZUVsZW1lbnQocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpKTtcblxuICAgICAgICBjYXNlIFJFQUNUX1BPUlRBTF9UWVBFOlxuICAgICAgICAgIHJldHVybiBwbGFjZVNpbmdsZUNoaWxkKHJlY29uY2lsZVNpbmdsZVBvcnRhbChyZXR1cm5GaWJlciwgY3VycmVudEZpcnN0Q2hpbGQsIG5ld0NoaWxkLCBleHBpcmF0aW9uVGltZSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbmV3Q2hpbGQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBuZXdDaGlsZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBwbGFjZVNpbmdsZUNoaWxkKHJlY29uY2lsZVNpbmdsZVRleHROb2RlKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCwgJycgKyBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpKTtcbiAgICB9XG5cbiAgICBpZiAoaXNBcnJheSQxKG5ld0NoaWxkKSkge1xuICAgICAgcmV0dXJuIHJlY29uY2lsZUNoaWxkcmVuQXJyYXkocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xuICAgIH1cblxuICAgIGlmIChnZXRJdGVyYXRvckZuKG5ld0NoaWxkKSkge1xuICAgICAgcmV0dXJuIHJlY29uY2lsZUNoaWxkcmVuSXRlcmF0b3IocmV0dXJuRmliZXIsIGN1cnJlbnRGaXJzdENoaWxkLCBuZXdDaGlsZCwgZXhwaXJhdGlvblRpbWUpO1xuICAgIH1cblxuICAgIGlmIChpc09iamVjdCkge1xuICAgICAgdGhyb3dPbkludmFsaWRPYmplY3RUeXBlKHJldHVybkZpYmVyLCBuZXdDaGlsZCk7XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKHR5cGVvZiBuZXdDaGlsZCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB3YXJuT25GdW5jdGlvblR5cGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG5ld0NoaWxkID09PSAndW5kZWZpbmVkJyAmJiAhaXNVbmtleWVkVG9wTGV2ZWxGcmFnbWVudCkge1xuICAgICAgLy8gSWYgdGhlIG5ldyBjaGlsZCBpcyB1bmRlZmluZWQsIGFuZCB0aGUgcmV0dXJuIGZpYmVyIGlzIGEgY29tcG9zaXRlXG4gICAgICAvLyBjb21wb25lbnQsIHRocm93IGFuIGVycm9yLiBJZiBGaWJlciByZXR1cm4gdHlwZXMgYXJlIGRpc2FibGVkLFxuICAgICAgLy8gd2UgYWxyZWFkeSB0aHJldyBhYm92ZS5cbiAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSByZXR1cm5GaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnJlbmRlci5faXNNb2NrRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBhbGxvdyBhdXRvLW1vY2tzIHRvIHByb2NlZWQgYXMgaWYgdGhleSdyZSByZXR1cm5pbmcgbnVsbC5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLy8gSW50ZW50aW9uYWxseSBmYWxsIHRocm91Z2ggdG8gdGhlIG5leHQgY2FzZSwgd2hpY2ggaGFuZGxlcyBib3RoXG4gICAgICAgIC8vIGZ1bmN0aW9ucyBhbmQgY2xhc3Nlc1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVkIG5vLWZhbGx0aHJvdWdoXG5cbiAgICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gcmV0dXJuRmliZXIudHlwZTtcblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIChDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcpICsgXCIoLi4uKTogTm90aGluZyB3YXMgcmV0dXJuZWQgZnJvbSByZW5kZXIuIFRoaXMgdXN1YWxseSBtZWFucyBhIHJldHVybiBzdGF0ZW1lbnQgaXMgbWlzc2luZy4gT3IsIHRvIHJlbmRlciBub3RoaW5nLCByZXR1cm4gbnVsbC5cIiApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH0gLy8gUmVtYWluaW5nIGNhc2VzIGFyZSBhbGwgdHJlYXRlZCBhcyBlbXB0eS5cblxuXG4gICAgcmV0dXJuIGRlbGV0ZVJlbWFpbmluZ0NoaWxkcmVuKHJldHVybkZpYmVyLCBjdXJyZW50Rmlyc3RDaGlsZCk7XG4gIH1cblxuICByZXR1cm4gcmVjb25jaWxlQ2hpbGRGaWJlcnM7XG59XG5cbnZhciByZWNvbmNpbGVDaGlsZEZpYmVycyA9IENoaWxkUmVjb25jaWxlcih0cnVlKTtcbnZhciBtb3VudENoaWxkRmliZXJzID0gQ2hpbGRSZWNvbmNpbGVyKGZhbHNlKTtcbmZ1bmN0aW9uIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpIHtcbiAgaWYgKCEoY3VycmVudCA9PT0gbnVsbCB8fCB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9PT0gY3VycmVudC5jaGlsZCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJSZXN1bWluZyB3b3JrIG5vdCB5ZXQgaW1wbGVtZW50ZWQuXCIgKTtcbiAgICB9XG4gIH1cblxuICBpZiAod29ya0luUHJvZ3Jlc3MuY2hpbGQgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgY3VycmVudENoaWxkID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gIHZhciBuZXdDaGlsZCA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgY3VycmVudENoaWxkLnBlbmRpbmdQcm9wcyk7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbmV3Q2hpbGQ7XG4gIG5ld0NoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuXG4gIHdoaWxlIChjdXJyZW50Q2hpbGQuc2libGluZyAhPT0gbnVsbCkge1xuICAgIGN1cnJlbnRDaGlsZCA9IGN1cnJlbnRDaGlsZC5zaWJsaW5nO1xuICAgIG5ld0NoaWxkID0gbmV3Q2hpbGQuc2libGluZyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKGN1cnJlbnRDaGlsZCwgY3VycmVudENoaWxkLnBlbmRpbmdQcm9wcyk7XG4gICAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIH1cblxuICBuZXdDaGlsZC5zaWJsaW5nID0gbnVsbDtcbn0gLy8gUmVzZXQgYSB3b3JrSW5Qcm9ncmVzcyBjaGlsZCBzZXQgdG8gcHJlcGFyZSBpdCBmb3IgYSBzZWNvbmQgcGFzcy5cblxuZnVuY3Rpb24gcmVzZXRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIGNoaWxkID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgcmVzZXRXb3JrSW5Qcm9ncmVzcyhjaGlsZCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgIGNoaWxkID0gY2hpbGQuc2libGluZztcbiAgfVxufVxuXG52YXIgTk9fQ09OVEVYVCA9IHt9O1xudmFyIGNvbnRleHRTdGFja0N1cnNvciQxID0gY3JlYXRlQ3Vyc29yKE5PX0NPTlRFWFQpO1xudmFyIGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKE5PX0NPTlRFWFQpO1xudmFyIHJvb3RJbnN0YW5jZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKE5PX0NPTlRFWFQpO1xuXG5mdW5jdGlvbiByZXF1aXJlZENvbnRleHQoYykge1xuICBpZiAoIShjICE9PSBOT19DT05URVhUKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkV4cGVjdGVkIGhvc3QgY29udGV4dCB0byBleGlzdC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjO1xufVxuXG5mdW5jdGlvbiBnZXRSb290SG9zdENvbnRhaW5lcigpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgcmV0dXJuIHJvb3RJbnN0YW5jZTtcbn1cblxuZnVuY3Rpb24gcHVzaEhvc3RDb250YWluZXIoZmliZXIsIG5leHRSb290SW5zdGFuY2UpIHtcbiAgLy8gUHVzaCBjdXJyZW50IHJvb3QgaW5zdGFuY2Ugb250byB0aGUgc3RhY2s7XG4gIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHJlc2V0IHJvb3Qgd2hlbiBwb3J0YWxzIGFyZSBwb3BwZWQuXG4gIHB1c2gocm9vdEluc3RhbmNlU3RhY2tDdXJzb3IsIG5leHRSb290SW5zdGFuY2UsIGZpYmVyKTsgLy8gVHJhY2sgdGhlIGNvbnRleHQgYW5kIHRoZSBGaWJlciB0aGF0IHByb3ZpZGVkIGl0LlxuICAvLyBUaGlzIGVuYWJsZXMgdXMgdG8gcG9wIG9ubHkgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG5cbiAgcHVzaChjb250ZXh0RmliZXJTdGFja0N1cnNvciwgZmliZXIsIGZpYmVyKTsgLy8gRmluYWxseSwgd2UgbmVlZCB0byBwdXNoIHRoZSBob3N0IGNvbnRleHQgdG8gdGhlIHN0YWNrLlxuICAvLyBIb3dldmVyLCB3ZSBjYW4ndCBqdXN0IGNhbGwgZ2V0Um9vdEhvc3RDb250ZXh0KCkgYW5kIHB1c2ggaXQgYmVjYXVzZVxuICAvLyB3ZSdkIGhhdmUgYSBkaWZmZXJlbnQgbnVtYmVyIG9mIGVudHJpZXMgb24gdGhlIHN0YWNrIGRlcGVuZGluZyBvblxuICAvLyB3aGV0aGVyIGdldFJvb3RIb3N0Q29udGV4dCgpIHRocm93cyBzb21ld2hlcmUgaW4gcmVuZGVyZXIgY29kZSBvciBub3QuXG4gIC8vIFNvIHdlIHB1c2ggYW4gZW1wdHkgdmFsdWUgZmlyc3QuIFRoaXMgbGV0cyB1cyBzYWZlbHkgdW53aW5kIG9uIGVycm9ycy5cblxuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBOT19DT05URVhULCBmaWJlcik7XG4gIHZhciBuZXh0Um9vdENvbnRleHQgPSBnZXRSb290SG9zdENvbnRleHQobmV4dFJvb3RJbnN0YW5jZSk7IC8vIE5vdyB0aGF0IHdlIGtub3cgdGhpcyBmdW5jdGlvbiBkb2Vzbid0IHRocm93LCByZXBsYWNlIGl0LlxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwdXNoKGNvbnRleHRTdGFja0N1cnNvciQxLCBuZXh0Um9vdENvbnRleHQsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gcG9wSG9zdENvbnRhaW5lcihmaWJlcikge1xuICBwb3AoY29udGV4dFN0YWNrQ3Vyc29yJDEsIGZpYmVyKTtcbiAgcG9wKGNvbnRleHRGaWJlclN0YWNrQ3Vyc29yLCBmaWJlcik7XG4gIHBvcChyb290SW5zdGFuY2VTdGFja0N1cnNvciwgZmliZXIpO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0Q29udGV4dCgpIHtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHJldHVybiBjb250ZXh0O1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdENvbnRleHQoZmliZXIpIHtcbiAgdmFyIHJvb3RJbnN0YW5jZSA9IHJlcXVpcmVkQ29udGV4dChyb290SW5zdGFuY2VTdGFja0N1cnNvci5jdXJyZW50KTtcbiAgdmFyIGNvbnRleHQgPSByZXF1aXJlZENvbnRleHQoY29udGV4dFN0YWNrQ3Vyc29yJDEuY3VycmVudCk7XG4gIHZhciBuZXh0Q29udGV4dCA9IGdldENoaWxkSG9zdENvbnRleHQoY29udGV4dCwgZmliZXIudHlwZSk7IC8vIERvbid0IHB1c2ggdGhpcyBGaWJlcidzIGNvbnRleHQgdW5sZXNzIGl0J3MgdW5pcXVlLlxuXG4gIGlmIChjb250ZXh0ID09PSBuZXh0Q29udGV4dCkge1xuICAgIHJldHVybjtcbiAgfSAvLyBUcmFjayB0aGUgY29udGV4dCBhbmQgdGhlIEZpYmVyIHRoYXQgcHJvdmlkZWQgaXQuXG4gIC8vIFRoaXMgZW5hYmxlcyB1cyB0byBwb3Agb25seSBGaWJlcnMgdGhhdCBwcm92aWRlIHVuaXF1ZSBjb250ZXh0cy5cblxuXG4gIHB1c2goY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyLCBmaWJlcik7XG4gIHB1c2goY29udGV4dFN0YWNrQ3Vyc29yJDEsIG5leHRDb250ZXh0LCBmaWJlcik7XG59XG5cbmZ1bmN0aW9uIHBvcEhvc3RDb250ZXh0KGZpYmVyKSB7XG4gIC8vIERvIG5vdCBwb3AgdW5sZXNzIHRoaXMgRmliZXIgcHJvdmlkZWQgdGhlIGN1cnJlbnQgY29udGV4dC5cbiAgLy8gcHVzaEhvc3RDb250ZXh0KCkgb25seSBwdXNoZXMgRmliZXJzIHRoYXQgcHJvdmlkZSB1bmlxdWUgY29udGV4dHMuXG4gIGlmIChjb250ZXh0RmliZXJTdGFja0N1cnNvci5jdXJyZW50ICE9PSBmaWJlcikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHBvcChjb250ZXh0U3RhY2tDdXJzb3IkMSwgZmliZXIpO1xuICBwb3AoY29udGV4dEZpYmVyU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxudmFyIERlZmF1bHRTdXNwZW5zZUNvbnRleHQgPSAwOyAvLyBUaGUgU3VzcGVuc2UgQ29udGV4dCBpcyBzcGxpdCBpbnRvIHR3byBwYXJ0cy4gVGhlIGxvd2VyIGJpdHMgaXNcbi8vIGluaGVyaXRlZCBkZWVwbHkgZG93biB0aGUgc3VidHJlZS4gVGhlIHVwcGVyIGJpdHMgb25seSBhZmZlY3Rcbi8vIHRoaXMgaW1tZWRpYXRlIHN1c3BlbnNlIGJvdW5kYXJ5IGFuZCBnZXRzIHJlc2V0IGVhY2ggbmV3XG4vLyBib3VuZGFyeSBvciBzdXNwZW5zZSBsaXN0LlxuXG52YXIgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgPSAxOyAvLyBTdWJ0cmVlIEZsYWdzOlxuLy8gSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0IGluZGljYXRlcyB0aGF0IG9uZSBvZiBvdXIgcGFyZW50IFN1c3BlbnNlXG4vLyBib3VuZGFyaWVzIGlzIG5vdCBjdXJyZW50bHkgc2hvd2luZyB2aXNpYmxlIG1haW4gY29udGVudC5cbi8vIEVpdGhlciBiZWNhdXNlIGl0IGlzIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIG9yIGlzIG5vdCBtb3VudGVkIGF0IGFsbC5cbi8vIFdlIGNhbiB1c2UgdGhpcyB0byBkZXRlcm1pbmUgaWYgaXQgaXMgZGVzaXJhYmxlIHRvIHRyaWdnZXIgYSBmYWxsYmFjayBhdFxuLy8gdGhlIHBhcmVudC4gSWYgbm90LCB0aGVuIHdlIG1pZ2h0IG5lZWQgdG8gdHJpZ2dlciB1bmRlc2lyYWJsZSBib3VuZGFyaWVzXG4vLyBhbmQvb3Igc3VzcGVuZCB0aGUgY29tbWl0IHRvIGF2b2lkIGhpZGluZyB0aGUgcGFyZW50IGNvbnRlbnQuXG5cbnZhciBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQgPSAxOyAvLyBTaGFsbG93IEZsYWdzOlxuLy8gRm9yY2VTdXNwZW5zZUZhbGxiYWNrIGNhbiBiZSB1c2VkIGJ5IFN1c3BlbnNlTGlzdCB0byBmb3JjZSBuZXdseSBhZGRlZFxuLy8gaXRlbXMgaW50byB0aGVpciBmYWxsYmFjayBzdGF0ZSBkdXJpbmcgb25lIG9mIHRoZSByZW5kZXIgcGFzc2VzLlxuXG52YXIgRm9yY2VTdXNwZW5zZUZhbGxiYWNrID0gMjtcbnZhciBzdXNwZW5zZVN0YWNrQ3Vyc29yID0gY3JlYXRlQ3Vyc29yKERlZmF1bHRTdXNwZW5zZUNvbnRleHQpO1xuZnVuY3Rpb24gaGFzU3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIGZsYWcpIHtcbiAgcmV0dXJuIChwYXJlbnRDb250ZXh0ICYgZmxhZykgIT09IDA7XG59XG5mdW5jdGlvbiBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChwYXJlbnRDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2s7XG59XG5mdW5jdGlvbiBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHBhcmVudENvbnRleHQsIHNoYWxsb3dDb250ZXh0KSB7XG4gIHJldHVybiBwYXJlbnRDb250ZXh0ICYgU3VidHJlZVN1c3BlbnNlQ29udGV4dE1hc2sgfCBzaGFsbG93Q29udGV4dDtcbn1cbmZ1bmN0aW9uIGFkZFN1YnRyZWVTdXNwZW5zZUNvbnRleHQocGFyZW50Q29udGV4dCwgc3VidHJlZUNvbnRleHQpIHtcbiAgcmV0dXJuIHBhcmVudENvbnRleHQgfCBzdWJ0cmVlQ29udGV4dDtcbn1cbmZ1bmN0aW9uIHB1c2hTdXNwZW5zZUNvbnRleHQoZmliZXIsIG5ld0NvbnRleHQpIHtcbiAgcHVzaChzdXNwZW5zZVN0YWNrQ3Vyc29yLCBuZXdDb250ZXh0LCBmaWJlcik7XG59XG5mdW5jdGlvbiBwb3BTdXNwZW5zZUNvbnRleHQoZmliZXIpIHtcbiAgcG9wKHN1c3BlbnNlU3RhY2tDdXJzb3IsIGZpYmVyKTtcbn1cblxuZnVuY3Rpb24gc2hvdWxkQ2FwdHVyZVN1c3BlbnNlKHdvcmtJblByb2dyZXNzLCBoYXNJbnZpc2libGVQYXJlbnQpIHtcbiAgLy8gSWYgaXQgd2FzIHRoZSBwcmltYXJ5IGNoaWxkcmVuIHRoYXQganVzdCBzdXNwZW5kZWQsIGNhcHR1cmUgYW5kIHJlbmRlciB0aGVcbiAgLy8gZmFsbGJhY2suIE90aGVyd2lzZSwgZG9uJ3QgY2FwdHVyZSBhbmQgYnViYmxlIHRvIHRoZSBuZXh0IGJvdW5kYXJ5LlxuICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAobmV4dFN0YXRlICE9PSBudWxsKSB7XG4gICAgaWYgKG5leHRTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGRlaHlkcmF0ZWQgYm91bmRhcnkgYWx3YXlzIGNhcHR1cmVzLlxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wczsgLy8gSW4gb3JkZXIgdG8gY2FwdHVyZSwgdGhlIFN1c3BlbnNlIGNvbXBvbmVudCBtdXN0IGhhdmUgYSBmYWxsYmFjayBwcm9wLlxuXG4gIGlmIChwcm9wcy5mYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIFJlZ3VsYXIgYm91bmRhcmllcyBhbHdheXMgY2FwdHVyZS5cblxuXG4gIGlmIChwcm9wcy51bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayAhPT0gdHJ1ZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIElmIGl0J3MgYSBib3VuZGFyeSB3ZSBzaG91bGQgYXZvaWQsIHRoZW4gd2UgcHJlZmVyIHRvIGJ1YmJsZSB1cCB0byB0aGVcbiAgLy8gcGFyZW50IGJvdW5kYXJ5IGlmIGl0IGlzIGN1cnJlbnRseSBpbnZpc2libGUuXG5cblxuICBpZiAoaGFzSW52aXNpYmxlUGFyZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIElmIHRoZSBwYXJlbnQgaXMgbm90IGFibGUgdG8gaGFuZGxlIGl0LCB3ZSBtdXN0IGhhbmRsZSBpdC5cblxuXG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gZmluZEZpcnN0U3VzcGVuZGVkKHJvdykge1xuICB2YXIgbm9kZSA9IHJvdztcblxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xuICAgIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgIHZhciBzdGF0ZSA9IG5vZGUubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBkZWh5ZHJhdGVkID0gc3RhdGUuZGVoeWRyYXRlZDtcblxuICAgICAgICBpZiAoZGVoeWRyYXRlZCA9PT0gbnVsbCB8fCBpc1N1c3BlbnNlSW5zdGFuY2VQZW5kaW5nKGRlaHlkcmF0ZWQpIHx8IGlzU3VzcGVuc2VJbnN0YW5jZUZhbGxiYWNrKGRlaHlkcmF0ZWQpKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBTdXNwZW5zZUxpc3RDb21wb25lbnQgJiYgLy8gcmV2ZWFsT3JkZXIgdW5kZWZpbmVkIGNhbid0IGJlIHRydXN0ZWQgYmVjYXVzZSBpdCBkb24ndFxuICAgIC8vIGtlZXAgdHJhY2sgb2Ygd2hldGhlciBpdCBzdXNwZW5kZWQgb3Igbm90LlxuICAgIG5vZGUubWVtb2l6ZWRQcm9wcy5yZXZlYWxPcmRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgZGlkU3VzcGVuZCA9IChub2RlLmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdDtcblxuICAgICAgaWYgKGRpZFN1c3BlbmQpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlID09PSByb3cpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm93KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuXG4gICAgbm9kZS5zaWJsaW5nLnJldHVybiA9IG5vZGUucmV0dXJuO1xuICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpIHtcbiAgdmFyIGV2ZW50UmVzcG9uZGVyTGlzdGVuZXIgPSB7XG4gICAgcmVzcG9uZGVyOiByZXNwb25kZXIsXG4gICAgcHJvcHM6IHByb3BzXG4gIH07XG5cbiAge1xuICAgIE9iamVjdC5mcmVlemUoZXZlbnRSZXNwb25kZXJMaXN0ZW5lcik7XG4gIH1cblxuICByZXR1cm4gZXZlbnRSZXNwb25kZXJMaXN0ZW5lcjtcbn1cblxudmFyIEhhc0VmZmVjdCA9XG4vKiAqL1xuMTsgLy8gUmVwcmVzZW50cyB0aGUgcGhhc2UgaW4gd2hpY2ggdGhlIGVmZmVjdCAobm90IHRoZSBjbGVhbi11cCkgZmlyZXMuXG5cbnZhciBMYXlvdXQgPVxuLyogICAgKi9cbjI7XG52YXIgUGFzc2l2ZSQxID1cbi8qICAgKi9cbjQ7XG5cbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50QmF0Y2hDb25maWc7XG52YXIgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50O1xuXG57XG4gIGRpZFdhcm5BYm91dE1pc21hdGNoZWRIb29rc0ZvckNvbXBvbmVudCA9IG5ldyBTZXQoKTtcbn1cblxuLy8gVGhlc2UgYXJlIHNldCByaWdodCBiZWZvcmUgY2FsbGluZyB0aGUgY29tcG9uZW50LlxudmFyIHJlbmRlckV4cGlyYXRpb25UaW1lID0gTm9Xb3JrOyAvLyBUaGUgd29yay1pbi1wcm9ncmVzcyBmaWJlci4gSSd2ZSBuYW1lZCBpdCBkaWZmZXJlbnRseSB0byBkaXN0aW5ndWlzaCBpdCBmcm9tXG4vLyB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuXG52YXIgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IG51bGw7IC8vIEhvb2tzIGFyZSBzdG9yZWQgYXMgYSBsaW5rZWQgbGlzdCBvbiB0aGUgZmliZXIncyBtZW1vaXplZFN0YXRlIGZpZWxkLiBUaGVcbi8vIGN1cnJlbnQgaG9vayBsaXN0IGlzIHRoZSBsaXN0IHRoYXQgYmVsb25ncyB0byB0aGUgY3VycmVudCBmaWJlci4gVGhlXG4vLyB3b3JrLWluLXByb2dyZXNzIGhvb2sgbGlzdCBpcyBhIG5ldyBsaXN0IHRoYXQgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIuXG5cbnZhciBjdXJyZW50SG9vayA9IG51bGw7XG52YXIgd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDsgLy8gV2hldGhlciBhbiB1cGRhdGUgd2FzIHNjaGVkdWxlZCBhdCBhbnkgcG9pbnQgZHVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIFRoaXNcbi8vIGRvZXMgbm90IGdldCByZXNldCBpZiB3ZSBkbyBhbm90aGVyIHJlbmRlciBwYXNzOyBvbmx5IHdoZW4gd2UncmUgY29tcGxldGVseVxuLy8gZmluaXNoZWQgZXZhbHVhdGluZyB0aGlzIGNvbXBvbmVudC4gVGhpcyBpcyBhbiBvcHRpbWl6YXRpb24gc28gd2Uga25vd1xuLy8gd2hldGhlciB3ZSBuZWVkIHRvIGNsZWFyIHJlbmRlciBwaGFzZSB1cGRhdGVzIGFmdGVyIGEgdGhyb3cuXG5cbnZhciBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7XG52YXIgUkVfUkVOREVSX0xJTUlUID0gMjU7IC8vIEluIERFViwgdGhpcyBpcyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudGx5IGV4ZWN1dGluZyBwcmltaXRpdmUgaG9va1xuXG52YXIgY3VycmVudEhvb2tOYW1lSW5EZXYgPSBudWxsOyAvLyBJbiBERVYsIHRoaXMgbGlzdCBlbnN1cmVzIHRoYXQgaG9va3MgYXJlIGNhbGxlZCBpbiB0aGUgc2FtZSBvcmRlciBiZXR3ZWVuIHJlbmRlcnMuXG4vLyBUaGUgbGlzdCBzdG9yZXMgdGhlIG9yZGVyIG9mIGhvb2tzIHVzZWQgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlciAobW91bnQpLlxuLy8gU3Vic2VxdWVudCByZW5kZXJzICh1cGRhdGVzKSByZWZlcmVuY2UgdGhpcyBsaXN0LlxuXG52YXIgaG9va1R5cGVzRGV2ID0gbnVsbDtcbnZhciBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xOyAvLyBJbiBERVYsIHRoaXMgdHJhY2tzIHdoZXRoZXIgY3VycmVudGx5IHJlbmRlcmluZyBjb21wb25lbnQgbmVlZHMgdG8gaWdub3JlXG4vLyB0aGUgZGVwZW5kZW5jaWVzIGZvciBIb29rcyB0aGF0IG5lZWQgdGhlbSAoZS5nLiB1c2VFZmZlY3Qgb3IgdXNlTWVtbykuXG4vLyBXaGVuIHRydWUsIHN1Y2ggSG9va3Mgd2lsbCBhbHdheXMgYmUgXCJyZW1vdW50ZWRcIi4gT25seSB1c2VkIGR1cmluZyBob3QgcmVsb2FkLlxuXG52YXIgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcblxuZnVuY3Rpb24gbW91bnRIb29rVHlwZXNEZXYoKSB7XG4gIHtcbiAgICB2YXIgaG9va05hbWUgPSBjdXJyZW50SG9va05hbWVJbkRldjtcblxuICAgIGlmIChob29rVHlwZXNEZXYgPT09IG51bGwpIHtcbiAgICAgIGhvb2tUeXBlc0RldiA9IFtob29rTmFtZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGhvb2tUeXBlc0Rldi5wdXNoKGhvb2tOYW1lKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlSG9va1R5cGVzRGV2KCkge1xuICB7XG4gICAgdmFyIGhvb2tOYW1lID0gY3VycmVudEhvb2tOYW1lSW5EZXY7XG5cbiAgICBpZiAoaG9va1R5cGVzRGV2ICE9PSBudWxsKSB7XG4gICAgICBob29rVHlwZXNVcGRhdGVJbmRleERldisrO1xuXG4gICAgICBpZiAoaG9va1R5cGVzRGV2W2hvb2tUeXBlc1VwZGF0ZUluZGV4RGV2XSAhPT0gaG9va05hbWUpIHtcbiAgICAgICAgd2Fybk9uSG9va01pc21hdGNoSW5EZXYoaG9va05hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKSB7XG4gIHtcbiAgICBpZiAoZGVwcyAhPT0gdW5kZWZpbmVkICYmIGRlcHMgIT09IG51bGwgJiYgIUFycmF5LmlzQXJyYXkoZGVwcykpIHtcbiAgICAgIC8vIFZlcmlmeSBkZXBzLCBidXQgb25seSBvbiBtb3VudCB0byBhdm9pZCBleHRyYSBjaGVja3MuXG4gICAgICAvLyBJdCdzIHVubGlrZWx5IHRoZWlyIHR5cGUgd291bGQgY2hhbmdlIGFzIHVzdWFsbHkgeW91IGRlZmluZSB0aGVtIGlubGluZS5cbiAgICAgIGVycm9yKCclcyByZWNlaXZlZCBhIGZpbmFsIGFyZ3VtZW50IHRoYXQgaXMgbm90IGFuIGFycmF5IChpbnN0ZWFkLCByZWNlaXZlZCBgJXNgKS4gV2hlbiAnICsgJ3NwZWNpZmllZCwgdGhlIGZpbmFsIGFyZ3VtZW50IG11c3QgYmUgYW4gYXJyYXkuJywgY3VycmVudEhvb2tOYW1lSW5EZXYsIHR5cGVvZiBkZXBzKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gd2Fybk9uSG9va01pc21hdGNoSW5EZXYoY3VycmVudEhvb2tOYW1lKSB7XG4gIHtcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS50eXBlKTtcblxuICAgIGlmICghZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50Lmhhcyhjb21wb25lbnROYW1lKSkge1xuICAgICAgZGlkV2FybkFib3V0TWlzbWF0Y2hlZEhvb2tzRm9yQ29tcG9uZW50LmFkZChjb21wb25lbnROYW1lKTtcblxuICAgICAgaWYgKGhvb2tUeXBlc0RldiAhPT0gbnVsbCkge1xuICAgICAgICB2YXIgdGFibGUgPSAnJztcbiAgICAgICAgdmFyIHNlY29uZENvbHVtblN0YXJ0ID0gMzA7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPD0gaG9va1R5cGVzVXBkYXRlSW5kZXhEZXY7IGkrKykge1xuICAgICAgICAgIHZhciBvbGRIb29rTmFtZSA9IGhvb2tUeXBlc0RldltpXTtcbiAgICAgICAgICB2YXIgbmV3SG9va05hbWUgPSBpID09PSBob29rVHlwZXNVcGRhdGVJbmRleERldiA/IGN1cnJlbnRIb29rTmFtZSA6IG9sZEhvb2tOYW1lO1xuICAgICAgICAgIHZhciByb3cgPSBpICsgMSArIFwiLiBcIiArIG9sZEhvb2tOYW1lOyAvLyBFeHRyYSBzcGFjZSBzbyBzZWNvbmQgY29sdW1uIGxpbmVzIHVwXG4gICAgICAgICAgLy8gbG9sIEAgSUUgbm90IHN1cHBvcnRpbmcgU3RyaW5nI3JlcGVhdFxuXG4gICAgICAgICAgd2hpbGUgKHJvdy5sZW5ndGggPCBzZWNvbmRDb2x1bW5TdGFydCkge1xuICAgICAgICAgICAgcm93ICs9ICcgJztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByb3cgKz0gbmV3SG9va05hbWUgKyAnXFxuJztcbiAgICAgICAgICB0YWJsZSArPSByb3c7XG4gICAgICAgIH1cblxuICAgICAgICBlcnJvcignUmVhY3QgaGFzIGRldGVjdGVkIGEgY2hhbmdlIGluIHRoZSBvcmRlciBvZiBIb29rcyBjYWxsZWQgYnkgJXMuICcgKyAnVGhpcyB3aWxsIGxlYWQgdG8gYnVncyBhbmQgZXJyb3JzIGlmIG5vdCBmaXhlZC4gJyArICdGb3IgbW9yZSBpbmZvcm1hdGlvbiwgcmVhZCB0aGUgUnVsZXMgb2YgSG9va3M6IGh0dHBzOi8vZmIubWUvcnVsZXMtb2YtaG9va3NcXG5cXG4nICsgJyAgIFByZXZpb3VzIHJlbmRlciAgICAgICAgICAgIE5leHQgcmVuZGVyXFxuJyArICcgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cXG4nICsgJyVzJyArICcgICBeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5cXG4nLCBjb21wb25lbnROYW1lLCB0YWJsZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHRocm93SW52YWxpZEhvb2tFcnJvcigpIHtcbiAge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkludmFsaWQgaG9vayBjYWxsLiBIb29rcyBjYW4gb25seSBiZSBjYWxsZWQgaW5zaWRlIG9mIHRoZSBib2R5IG9mIGEgZnVuY3Rpb24gY29tcG9uZW50LiBUaGlzIGNvdWxkIGhhcHBlbiBmb3Igb25lIG9mIHRoZSBmb2xsb3dpbmcgcmVhc29uczpcXG4xLiBZb3UgbWlnaHQgaGF2ZSBtaXNtYXRjaGluZyB2ZXJzaW9ucyBvZiBSZWFjdCBhbmQgdGhlIHJlbmRlcmVyIChzdWNoIGFzIFJlYWN0IERPTSlcXG4yLiBZb3UgbWlnaHQgYmUgYnJlYWtpbmcgdGhlIFJ1bGVzIG9mIEhvb2tzXFxuMy4gWW91IG1pZ2h0IGhhdmUgbW9yZSB0aGFuIG9uZSBjb3B5IG9mIFJlYWN0IGluIHRoZSBzYW1lIGFwcFxcblNlZSBodHRwczovL2ZiLm1lL3JlYWN0LWludmFsaWQtaG9vay1jYWxsIGZvciB0aXBzIGFib3V0IGhvdyB0byBkZWJ1ZyBhbmQgZml4IHRoaXMgcHJvYmxlbS5cIiApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSB7XG4gIHtcbiAgICBpZiAoaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMpIHtcbiAgICAgIC8vIE9ubHkgdHJ1ZSB3aGVuIHRoaXMgY29tcG9uZW50IGlzIGJlaW5nIGhvdCByZWxvYWRlZC5cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJldkRlcHMgPT09IG51bGwpIHtcbiAgICB7XG4gICAgICBlcnJvcignJXMgcmVjZWl2ZWQgYSBmaW5hbCBhcmd1bWVudCBkdXJpbmcgdGhpcyByZW5kZXIsIGJ1dCBub3QgZHVyaW5nICcgKyAndGhlIHByZXZpb3VzIHJlbmRlci4gRXZlbiB0aG91Z2ggdGhlIGZpbmFsIGFyZ3VtZW50IGlzIG9wdGlvbmFsLCAnICsgJ2l0cyB0eXBlIGNhbm5vdCBjaGFuZ2UgYmV0d2VlbiByZW5kZXJzLicsIGN1cnJlbnRIb29rTmFtZUluRGV2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB7XG4gICAgLy8gRG9uJ3QgYm90aGVyIGNvbXBhcmluZyBsZW5ndGhzIGluIHByb2QgYmVjYXVzZSB0aGVzZSBhcnJheXMgc2hvdWxkIGJlXG4gICAgLy8gcGFzc2VkIGlubGluZS5cbiAgICBpZiAobmV4dERlcHMubGVuZ3RoICE9PSBwcmV2RGVwcy5sZW5ndGgpIHtcbiAgICAgIGVycm9yKCdUaGUgZmluYWwgYXJndW1lbnQgcGFzc2VkIHRvICVzIGNoYW5nZWQgc2l6ZSBiZXR3ZWVuIHJlbmRlcnMuIFRoZSAnICsgJ29yZGVyIGFuZCBzaXplIG9mIHRoaXMgYXJyYXkgbXVzdCByZW1haW4gY29uc3RhbnQuXFxuXFxuJyArICdQcmV2aW91czogJXNcXG4nICsgJ0luY29taW5nOiAlcycsIGN1cnJlbnRIb29rTmFtZUluRGV2LCBcIltcIiArIHByZXZEZXBzLmpvaW4oJywgJykgKyBcIl1cIiwgXCJbXCIgKyBuZXh0RGVwcy5qb2luKCcsICcpICsgXCJdXCIpO1xuICAgIH1cbiAgfVxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgcHJldkRlcHMubGVuZ3RoICYmIGkgPCBuZXh0RGVwcy5sZW5ndGg7IGkrKykge1xuICAgIGlmIChvYmplY3RJcyhuZXh0RGVwc1tpXSwgcHJldkRlcHNbaV0pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCBzZWNvbmRBcmcsIG5leHRSZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICByZW5kZXJFeHBpcmF0aW9uVGltZSA9IG5leHRSZW5kZXJFeHBpcmF0aW9uVGltZTtcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSA9IHdvcmtJblByb2dyZXNzO1xuXG4gIHtcbiAgICBob29rVHlwZXNEZXYgPSBjdXJyZW50ICE9PSBudWxsID8gY3VycmVudC5fZGVidWdIb29rVHlwZXMgOiBudWxsO1xuICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7IC8vIFVzZWQgZm9yIGhvdCByZWxvYWRpbmc6XG5cbiAgICBpZ25vcmVQcmV2aW91c0RlcGVuZGVuY2llcyA9IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB9XG5cbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7IC8vIFRoZSBmb2xsb3dpbmcgc2hvdWxkIGhhdmUgYWxyZWFkeSBiZWVuIHJlc2V0XG4gIC8vIGN1cnJlbnRIb29rID0gbnVsbDtcbiAgLy8gd29ya0luUHJvZ3Jlc3NIb29rID0gbnVsbDtcbiAgLy8gZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xuICAvLyBUT0RPIFdhcm4gaWYgbm8gaG9va3MgYXJlIHVzZWQgYXQgYWxsIGR1cmluZyBtb3VudCwgdGhlbiBzb21lIGFyZSB1c2VkIGR1cmluZyB1cGRhdGUuXG4gIC8vIEN1cnJlbnRseSB3ZSB3aWxsIGlkZW50aWZ5IHRoZSB1cGRhdGUgcmVuZGVyIGFzIGEgbW91bnQgYmVjYXVzZSBtZW1vaXplZFN0YXRlID09PSBudWxsLlxuICAvLyBUaGlzIGlzIHRyaWNreSBiZWNhdXNlIGl0J3MgdmFsaWQgZm9yIGNlcnRhaW4gdHlwZXMgb2YgY29tcG9uZW50cyAoZS5nLiBSZWFjdC5sYXp5KVxuICAvLyBVc2luZyBtZW1vaXplZFN0YXRlIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBtb3VudC91cGRhdGUgb25seSB3b3JrcyBpZiBhdCBsZWFzdCBvbmUgc3RhdGVmdWwgaG9vayBpcyB1c2VkLlxuICAvLyBOb24tc3RhdGVmdWwgaG9va3MgKGUuZy4gY29udGV4dCkgZG9uJ3QgZ2V0IGFkZGVkIHRvIG1lbW9pemVkU3RhdGUsXG4gIC8vIHNvIG1lbW9pemVkU3RhdGUgd291bGQgYmUgbnVsbCBkdXJpbmcgdXBkYXRlcyBhbmQgbW91bnRzLlxuXG4gIHtcbiAgICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50Lm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG4gICAgfSBlbHNlIGlmIChob29rVHlwZXNEZXYgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgZGlzcGF0Y2hlciBoYW5kbGVzIGFuIGVkZ2UgY2FzZSB3aGVyZSBhIGNvbXBvbmVudCBpcyB1cGRhdGluZyxcbiAgICAgIC8vIGJ1dCBubyBzdGF0ZWZ1bCBob29rcyBoYXZlIGJlZW4gdXNlZC5cbiAgICAgIC8vIFdlIHdhbnQgdG8gbWF0Y2ggdGhlIHByb2R1Y3Rpb24gY29kZSBiZWhhdmlvciAod2hpY2ggd2lsbCB1c2UgSG9va3NEaXNwYXRjaGVyT25Nb3VudCksXG4gICAgICAvLyBidXQgd2l0aCB0aGUgZXh0cmEgREVWIHZhbGlkYXRpb24gdG8gZW5zdXJlIGhvb2tzIG9yZGVyaW5nIGhhc24ndCBjaGFuZ2VkLlxuICAgICAgLy8gVGhpcyBkaXNwYXRjaGVyIGRvZXMgdGhhdC5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVY7XG4gICAgfSBlbHNlIHtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcbiAgICB9XG4gIH1cblxuICB2YXIgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7IC8vIENoZWNrIGlmIHRoZXJlIHdhcyBhIHJlbmRlciBwaGFzZSB1cGRhdGVcblxuICBpZiAod29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPT09IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gICAgLy8gS2VlcCByZW5kZXJpbmcgaW4gYSBsb29wIGZvciBhcyBsb25nIGFzIHJlbmRlciBwaGFzZSB1cGRhdGVzIGNvbnRpbnVlIHRvXG4gICAgLy8gYmUgc2NoZWR1bGVkLiBVc2UgYSBjb3VudGVyIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXG4gICAgdmFyIG51bWJlck9mUmVSZW5kZXJzID0gMDtcblxuICAgIGRvIHtcbiAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xuXG4gICAgICBpZiAoIShudW1iZXJPZlJlUmVuZGVycyA8IFJFX1JFTkRFUl9MSU1JVCkpIHtcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IEVycm9yKCBcIlRvbyBtYW55IHJlLXJlbmRlcnMuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIHJlbmRlcnMgdG8gcHJldmVudCBhbiBpbmZpbml0ZSBsb29wLlwiICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbnVtYmVyT2ZSZVJlbmRlcnMgKz0gMTtcblxuICAgICAge1xuICAgICAgICAvLyBFdmVuIHdoZW4gaG90IHJlbG9hZGluZywgYWxsb3cgZGVwZW5kZW5jaWVzIHRvIHN0YWJpbGl6ZVxuICAgICAgICAvLyBhZnRlciBmaXJzdCByZW5kZXIgdG8gcHJldmVudCBpbmZpbml0ZSByZW5kZXIgcGhhc2UgdXBkYXRlcy5cbiAgICAgICAgaWdub3JlUHJldmlvdXNEZXBlbmRlbmNpZXMgPSBmYWxzZTtcbiAgICAgIH0gLy8gU3RhcnQgb3ZlciBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpc3RcblxuXG4gICAgICBjdXJyZW50SG9vayA9IG51bGw7XG4gICAgICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuICAgICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICB7XG4gICAgICAgIC8vIEFsc28gdmFsaWRhdGUgaG9vayBvcmRlciBmb3IgY2FzY2FkaW5nIHVwZGF0ZXMuXG4gICAgICAgIGhvb2tUeXBlc1VwZGF0ZUluZGV4RGV2ID0gLTE7XG4gICAgICB9XG5cbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9ICBIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgO1xuICAgICAgY2hpbGRyZW4gPSBDb21wb25lbnQocHJvcHMsIHNlY29uZEFyZyk7XG4gICAgfSB3aGlsZSAod29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPT09IHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgfSAvLyBXZSBjYW4gYXNzdW1lIHRoZSBwcmV2aW91cyBkaXNwYXRjaGVyIGlzIGFsd2F5cyB0aGlzIG9uZSwgc2luY2Ugd2Ugc2V0IGl0XG4gIC8vIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJlbmRlciBwaGFzZSBhbmQgdGhlcmUncyBubyByZS1lbnRyYW5jeS5cblxuXG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcblxuICB7XG4gICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gaG9va1R5cGVzRGV2O1xuICB9IC8vIFRoaXMgY2hlY2sgdXNlcyBjdXJyZW50SG9vayBzbyB0aGF0IGl0IHdvcmtzIHRoZSBzYW1lIGluIERFViBhbmQgcHJvZCBidW5kbGVzLlxuICAvLyBob29rVHlwZXNEZXYgY291bGQgY2F0Y2ggbW9yZSBjYXNlcyAoZS5nLiBjb250ZXh0KSBidXQgb25seSBpbiBERVYgYnVuZGxlcy5cblxuXG4gIHZhciBkaWRSZW5kZXJUb29GZXdIb29rcyA9IGN1cnJlbnRIb29rICE9PSBudWxsICYmIGN1cnJlbnRIb29rLm5leHQgIT09IG51bGw7XG4gIHJlbmRlckV4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xuICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxID0gbnVsbDtcbiAgY3VycmVudEhvb2sgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBudWxsO1xuXG4gIHtcbiAgICBjdXJyZW50SG9va05hbWVJbkRldiA9IG51bGw7XG4gICAgaG9va1R5cGVzRGV2ID0gbnVsbDtcbiAgICBob29rVHlwZXNVcGRhdGVJbmRleERldiA9IC0xO1xuICB9XG5cbiAgZGlkU2NoZWR1bGVSZW5kZXJQaGFzZVVwZGF0ZSA9IGZhbHNlO1xuXG4gIGlmICghIWRpZFJlbmRlclRvb0Zld0hvb2tzKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiUmVuZGVyZWQgZmV3ZXIgaG9va3MgdGhhbiBleHBlY3RlZC4gVGhpcyBtYXkgYmUgY2F1c2VkIGJ5IGFuIGFjY2lkZW50YWwgZWFybHkgcmV0dXJuIHN0YXRlbWVudC5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cbmZ1bmN0aW9uIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZXhwaXJhdGlvblRpbWUpIHtcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlO1xuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJj0gfihQYXNzaXZlIHwgVXBkYXRlKTtcblxuICBpZiAoY3VycmVudC5leHBpcmF0aW9uVGltZSA8PSBleHBpcmF0aW9uVGltZSkge1xuICAgIGN1cnJlbnQuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc2V0SG9va3NBZnRlclRocm93KCkge1xuICAvLyBXZSBjYW4gYXNzdW1lIHRoZSBwcmV2aW91cyBkaXNwYXRjaGVyIGlzIGFsd2F5cyB0aGlzIG9uZSwgc2luY2Ugd2Ugc2V0IGl0XG4gIC8vIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJlbmRlciBwaGFzZSBhbmQgdGhlcmUncyBubyByZS1lbnRyYW5jeS5cbiAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlKSB7XG4gICAgLy8gVGhlcmUgd2VyZSByZW5kZXIgcGhhc2UgdXBkYXRlcy4gVGhlc2UgYXJlIG9ubHkgdmFsaWQgZm9yIHRoaXMgcmVuZGVyXG4gICAgLy8gcGhhc2UsIHdoaWNoIHdlIGFyZSBub3cgYWJvcnRpbmcuIFJlbW92ZSB0aGUgdXBkYXRlcyBmcm9tIHRoZSBxdWV1ZXMgc29cbiAgICAvLyB0aGV5IGRvIG5vdCBwZXJzaXN0IHRvIHRoZSBuZXh0IHJlbmRlci4gRG8gbm90IHJlbW92ZSB1cGRhdGVzIGZyb20gaG9va3NcbiAgICAvLyB0aGF0IHdlcmVuJ3QgcHJvY2Vzc2VkLlxuICAgIC8vXG4gICAgLy8gT25seSByZXNldCB0aGUgdXBkYXRlcyBmcm9tIHRoZSBxdWV1ZSBpZiBpdCBoYXMgYSBjbG9uZS4gSWYgaXQgZG9lc1xuICAgIC8vIG5vdCBoYXZlIGEgY2xvbmUsIHRoYXQgbWVhbnMgaXQgd2Fzbid0IHByb2Nlc3NlZCwgYW5kIHRoZSB1cGRhdGVzIHdlcmVcbiAgICAvLyBzY2hlZHVsZWQgYmVmb3JlIHdlIGVudGVyZWQgdGhlIHJlbmRlciBwaGFzZS5cbiAgICB2YXIgaG9vayA9IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZTtcblxuICAgIHdoaWxlIChob29rICE9PSBudWxsKSB7XG4gICAgICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xuXG4gICAgICBpZiAocXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIGhvb2sgPSBob29rLm5leHQ7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEgPSBudWxsO1xuICBjdXJyZW50SG9vayA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzSG9vayA9IG51bGw7XG5cbiAge1xuICAgIGhvb2tUeXBlc0RldiA9IG51bGw7XG4gICAgaG9va1R5cGVzVXBkYXRlSW5kZXhEZXYgPSAtMTtcbiAgICBjdXJyZW50SG9va05hbWVJbkRldiA9IG51bGw7XG4gIH1cblxuICBkaWRTY2hlZHVsZVJlbmRlclBoYXNlVXBkYXRlID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCkge1xuICB2YXIgaG9vayA9IHtcbiAgICBtZW1vaXplZFN0YXRlOiBudWxsLFxuICAgIGJhc2VTdGF0ZTogbnVsbCxcbiAgICBiYXNlUXVldWU6IG51bGwsXG4gICAgcXVldWU6IG51bGwsXG4gICAgbmV4dDogbnVsbFxuICB9O1xuXG4gIGlmICh3b3JrSW5Qcm9ncmVzc0hvb2sgPT09IG51bGwpIHtcbiAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBob29rIGluIHRoZSBsaXN0XG4gICAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5tZW1vaXplZFN0YXRlID0gd29ya0luUHJvZ3Jlc3NIb29rID0gaG9vaztcbiAgfSBlbHNlIHtcbiAgICAvLyBBcHBlbmQgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdFxuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0ID0gaG9vaztcbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc0hvb2s7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpIHtcbiAgLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJvdGggZm9yIHVwZGF0ZXMgYW5kIGZvciByZS1yZW5kZXJzIHRyaWdnZXJlZCBieSBhXG4gIC8vIHJlbmRlciBwaGFzZSB1cGRhdGUuIEl0IGFzc3VtZXMgdGhlcmUgaXMgZWl0aGVyIGEgY3VycmVudCBob29rIHdlIGNhblxuICAvLyBjbG9uZSwgb3IgYSB3b3JrLWluLXByb2dyZXNzIGhvb2sgZnJvbSBhIHByZXZpb3VzIHJlbmRlciBwYXNzIHRoYXQgd2UgY2FuXG4gIC8vIHVzZSBhcyBhIGJhc2UuIFdoZW4gd2UgcmVhY2ggdGhlIGVuZCBvZiB0aGUgYmFzZSBsaXN0LCB3ZSBtdXN0IHN3aXRjaCB0b1xuICAvLyB0aGUgZGlzcGF0Y2hlciB1c2VkIGZvciBtb3VudHMuXG4gIHZhciBuZXh0Q3VycmVudEhvb2s7XG5cbiAgaWYgKGN1cnJlbnRIb29rID09PSBudWxsKSB7XG4gICAgdmFyIGN1cnJlbnQgPSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICBuZXh0Q3VycmVudEhvb2sgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5leHRDdXJyZW50SG9vayA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIG5leHRDdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XG4gIH1cblxuICB2YXIgbmV4dFdvcmtJblByb2dyZXNzSG9vaztcblxuICBpZiAod29ya0luUHJvZ3Jlc3NIb29rID09PSBudWxsKSB7XG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEubWVtb2l6ZWRTdGF0ZTtcbiAgfSBlbHNlIHtcbiAgICBuZXh0V29ya0luUHJvZ3Jlc3NIb29rID0gd29ya0luUHJvZ3Jlc3NIb29rLm5leHQ7XG4gIH1cblxuICBpZiAobmV4dFdvcmtJblByb2dyZXNzSG9vayAhPT0gbnVsbCkge1xuICAgIC8vIFRoZXJlJ3MgYWxyZWFkeSBhIHdvcmstaW4tcHJvZ3Jlc3MuIFJldXNlIGl0LlxuICAgIHdvcmtJblByb2dyZXNzSG9vayA9IG5leHRXb3JrSW5Qcm9ncmVzc0hvb2s7XG4gICAgbmV4dFdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0O1xuICAgIGN1cnJlbnRIb29rID0gbmV4dEN1cnJlbnRIb29rO1xuICB9IGVsc2Uge1xuICAgIC8vIENsb25lIGZyb20gdGhlIGN1cnJlbnQgaG9vay5cbiAgICBpZiAoIShuZXh0Q3VycmVudEhvb2sgIT09IG51bGwpKSB7XG4gICAgICB7XG4gICAgICAgIHRocm93IEVycm9yKCBcIlJlbmRlcmVkIG1vcmUgaG9va3MgdGhhbiBkdXJpbmcgdGhlIHByZXZpb3VzIHJlbmRlci5cIiApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGN1cnJlbnRIb29rID0gbmV4dEN1cnJlbnRIb29rO1xuICAgIHZhciBuZXdIb29rID0ge1xuICAgICAgbWVtb2l6ZWRTdGF0ZTogY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZSxcbiAgICAgIGJhc2VTdGF0ZTogY3VycmVudEhvb2suYmFzZVN0YXRlLFxuICAgICAgYmFzZVF1ZXVlOiBjdXJyZW50SG9vay5iYXNlUXVldWUsXG4gICAgICBxdWV1ZTogY3VycmVudEhvb2sucXVldWUsXG4gICAgICBuZXh0OiBudWxsXG4gICAgfTtcblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc0hvb2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IGhvb2sgaW4gdGhlIGxpc3QuXG4gICAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLm1lbW9pemVkU3RhdGUgPSB3b3JrSW5Qcm9ncmVzc0hvb2sgPSBuZXdIb29rO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBBcHBlbmQgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cbiAgICAgIHdvcmtJblByb2dyZXNzSG9vayA9IHdvcmtJblByb2dyZXNzSG9vay5uZXh0ID0gbmV3SG9vaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3NIb29rO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGdW5jdGlvbkNvbXBvbmVudFVwZGF0ZVF1ZXVlKCkge1xuICByZXR1cm4ge1xuICAgIGxhc3RFZmZlY3Q6IG51bGxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYmFzaWNTdGF0ZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikge1xuICAvLyAkRmxvd0ZpeE1lOiBGbG93IGRvZXNuJ3QgbGlrZSBtaXhlZCB0eXBlc1xuICByZXR1cm4gdHlwZW9mIGFjdGlvbiA9PT0gJ2Z1bmN0aW9uJyA/IGFjdGlvbihzdGF0ZSkgOiBhY3Rpb247XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIGluaXRpYWxTdGF0ZTtcblxuICBpZiAoaW5pdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdChpbml0aWFsQXJnKTtcbiAgfSBlbHNlIHtcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsQXJnO1xuICB9XG5cbiAgaG9vay5tZW1vaXplZFN0YXRlID0gaG9vay5iYXNlU3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWUgPSB7XG4gICAgcGVuZGluZzogbnVsbCxcbiAgICBkaXNwYXRjaDogbnVsbCxcbiAgICBsYXN0UmVuZGVyZWRSZWR1Y2VyOiByZWR1Y2VyLFxuICAgIGxhc3RSZW5kZXJlZFN0YXRlOiBpbml0aWFsU3RhdGVcbiAgfTtcbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2ggPSBkaXNwYXRjaEFjdGlvbi5iaW5kKG51bGwsIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEsIHF1ZXVlKTtcbiAgcmV0dXJuIFtob29rLm1lbW9pemVkU3RhdGUsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBxdWV1ZSA9IGhvb2sucXVldWU7XG5cbiAgaWYgKCEocXVldWUgIT09IG51bGwpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiU2hvdWxkIGhhdmUgYSBxdWV1ZS4gVGhpcyBpcyBsaWtlbHkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgfVxuICB9XG5cbiAgcXVldWUubGFzdFJlbmRlcmVkUmVkdWNlciA9IHJlZHVjZXI7XG4gIHZhciBjdXJyZW50ID0gY3VycmVudEhvb2s7IC8vIFRoZSBsYXN0IHJlYmFzZSB1cGRhdGUgdGhhdCBpcyBOT1QgcGFydCBvZiB0aGUgYmFzZSBzdGF0ZS5cblxuICB2YXIgYmFzZVF1ZXVlID0gY3VycmVudC5iYXNlUXVldWU7IC8vIFRoZSBsYXN0IHBlbmRpbmcgdXBkYXRlIHRoYXQgaGFzbid0IGJlZW4gcHJvY2Vzc2VkIHlldC5cblxuICB2YXIgcGVuZGluZ1F1ZXVlID0gcXVldWUucGVuZGluZztcblxuICBpZiAocGVuZGluZ1F1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBuZXcgdXBkYXRlcyB0aGF0IGhhdmVuJ3QgYmVlbiBwcm9jZXNzZWQgeWV0LlxuICAgIC8vIFdlJ2xsIGFkZCB0aGVtIHRvIHRoZSBiYXNlIHF1ZXVlLlxuICAgIGlmIChiYXNlUXVldWUgIT09IG51bGwpIHtcbiAgICAgIC8vIE1lcmdlIHRoZSBwZW5kaW5nIHF1ZXVlIGFuZCB0aGUgYmFzZSBxdWV1ZS5cbiAgICAgIHZhciBiYXNlRmlyc3QgPSBiYXNlUXVldWUubmV4dDtcbiAgICAgIHZhciBwZW5kaW5nRmlyc3QgPSBwZW5kaW5nUXVldWUubmV4dDtcbiAgICAgIGJhc2VRdWV1ZS5uZXh0ID0gcGVuZGluZ0ZpcnN0O1xuICAgICAgcGVuZGluZ1F1ZXVlLm5leHQgPSBiYXNlRmlyc3Q7XG4gICAgfVxuXG4gICAgY3VycmVudC5iYXNlUXVldWUgPSBiYXNlUXVldWUgPSBwZW5kaW5nUXVldWU7XG4gICAgcXVldWUucGVuZGluZyA9IG51bGw7XG4gIH1cblxuICBpZiAoYmFzZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgLy8gV2UgaGF2ZSBhIHF1ZXVlIHRvIHByb2Nlc3MuXG4gICAgdmFyIGZpcnN0ID0gYmFzZVF1ZXVlLm5leHQ7XG4gICAgdmFyIG5ld1N0YXRlID0gY3VycmVudC5iYXNlU3RhdGU7XG4gICAgdmFyIG5ld0Jhc2VTdGF0ZSA9IG51bGw7XG4gICAgdmFyIG5ld0Jhc2VRdWV1ZUZpcnN0ID0gbnVsbDtcbiAgICB2YXIgbmV3QmFzZVF1ZXVlTGFzdCA9IG51bGw7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0O1xuXG4gICAgZG8ge1xuICAgICAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gdXBkYXRlLmV4cGlyYXRpb25UaW1lO1xuXG4gICAgICBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAgICAgICAvLyBQcmlvcml0eSBpcyBpbnN1ZmZpY2llbnQuIFNraXAgdGhpcyB1cGRhdGUuIElmIHRoaXMgaXMgdGhlIGZpcnN0XG4gICAgICAgIC8vIHNraXBwZWQgdXBkYXRlLCB0aGUgcHJldmlvdXMgdXBkYXRlL3N0YXRlIGlzIHRoZSBuZXcgYmFzZVxuICAgICAgICAvLyB1cGRhdGUvc3RhdGUuXG4gICAgICAgIHZhciBjbG9uZSA9IHtcbiAgICAgICAgICBleHBpcmF0aW9uVGltZTogdXBkYXRlLmV4cGlyYXRpb25UaW1lLFxuICAgICAgICAgIHN1c3BlbnNlQ29uZmlnOiB1cGRhdGUuc3VzcGVuc2VDb25maWcsXG4gICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxuICAgICAgICAgIGVhZ2VyUmVkdWNlcjogdXBkYXRlLmVhZ2VyUmVkdWNlcixcbiAgICAgICAgICBlYWdlclN0YXRlOiB1cGRhdGUuZWFnZXJTdGF0ZSxcbiAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgICAgICBuZXdCYXNlUXVldWVGaXJzdCA9IG5ld0Jhc2VRdWV1ZUxhc3QgPSBjbG9uZTtcbiAgICAgICAgICBuZXdCYXNlU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gY2xvbmU7XG4gICAgICAgIH0gLy8gVXBkYXRlIHRoZSByZW1haW5pbmcgcHJpb3JpdHkgaW4gdGhlIHF1ZXVlLlxuXG5cbiAgICAgICAgaWYgKHVwZGF0ZUV4cGlyYXRpb25UaW1lID4gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5leHBpcmF0aW9uVGltZSkge1xuICAgICAgICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZXhwaXJhdGlvblRpbWUgPSB1cGRhdGVFeHBpcmF0aW9uVGltZTtcbiAgICAgICAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKHVwZGF0ZUV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhpcyB1cGRhdGUgZG9lcyBoYXZlIHN1ZmZpY2llbnQgcHJpb3JpdHkuXG4gICAgICAgIGlmIChuZXdCYXNlUXVldWVMYXN0ICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIF9jbG9uZSA9IHtcbiAgICAgICAgICAgIGV4cGlyYXRpb25UaW1lOiBTeW5jLFxuICAgICAgICAgICAgLy8gVGhpcyB1cGRhdGUgaXMgZ29pbmcgdG8gYmUgY29tbWl0dGVkIHNvIHdlIG5ldmVyIHdhbnQgdW5jb21taXQgaXQuXG4gICAgICAgICAgICBzdXNwZW5zZUNvbmZpZzogdXBkYXRlLnN1c3BlbnNlQ29uZmlnLFxuICAgICAgICAgICAgYWN0aW9uOiB1cGRhdGUuYWN0aW9uLFxuICAgICAgICAgICAgZWFnZXJSZWR1Y2VyOiB1cGRhdGUuZWFnZXJSZWR1Y2VyLFxuICAgICAgICAgICAgZWFnZXJTdGF0ZTogdXBkYXRlLmVhZ2VyU3RhdGUsXG4gICAgICAgICAgICBuZXh0OiBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgICBuZXdCYXNlUXVldWVMYXN0ID0gbmV3QmFzZVF1ZXVlTGFzdC5uZXh0ID0gX2Nsb25lO1xuICAgICAgICB9IC8vIE1hcmsgdGhlIGV2ZW50IHRpbWUgb2YgdGhpcyB1cGRhdGUgYXMgcmVsZXZhbnQgdG8gdGhpcyByZW5kZXIgcGFzcy5cbiAgICAgICAgLy8gVE9ETzogVGhpcyBzaG91bGQgaWRlYWxseSB1c2UgdGhlIHRydWUgZXZlbnQgdGltZSBvZiB0aGlzIHVwZGF0ZSByYXRoZXIgdGhhblxuICAgICAgICAvLyBpdHMgcHJpb3JpdHkgd2hpY2ggaXMgYSBkZXJpdmVkIGFuZCBub3QgcmV2ZXJzZWFibGUgdmFsdWUuXG4gICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCBza2lwIHRoaXMgdXBkYXRlIGlmIGl0IHdhcyBhbHJlYWR5IGNvbW1pdHRlZCBidXQgY3VycmVudGx5XG4gICAgICAgIC8vIHdlIGhhdmUgbm8gd2F5IG9mIGRldGVjdGluZyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgY29tbWl0dGVkIGFuZCBzdXNwZW5kZWRcbiAgICAgICAgLy8gdXBkYXRlIGhlcmUuXG5cblxuICAgICAgICBtYXJrUmVuZGVyRXZlbnRUaW1lQW5kQ29uZmlnKHVwZGF0ZUV4cGlyYXRpb25UaW1lLCB1cGRhdGUuc3VzcGVuc2VDb25maWcpOyAvLyBQcm9jZXNzIHRoaXMgdXBkYXRlLlxuXG4gICAgICAgIGlmICh1cGRhdGUuZWFnZXJSZWR1Y2VyID09PSByZWR1Y2VyKSB7XG4gICAgICAgICAgLy8gSWYgdGhpcyB1cGRhdGUgd2FzIHByb2Nlc3NlZCBlYWdlcmx5LCBhbmQgaXRzIHJlZHVjZXIgbWF0Y2hlcyB0aGVcbiAgICAgICAgICAvLyBjdXJyZW50IHJlZHVjZXIsIHdlIGNhbiB1c2UgdGhlIGVhZ2VybHkgY29tcHV0ZWQgc3RhdGUuXG4gICAgICAgICAgbmV3U3RhdGUgPSB1cGRhdGUuZWFnZXJTdGF0ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgYWN0aW9uID0gdXBkYXRlLmFjdGlvbjtcbiAgICAgICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdXBkYXRlID0gdXBkYXRlLm5leHQ7XG4gICAgfSB3aGlsZSAodXBkYXRlICE9PSBudWxsICYmIHVwZGF0ZSAhPT0gZmlyc3QpO1xuXG4gICAgaWYgKG5ld0Jhc2VRdWV1ZUxhc3QgPT09IG51bGwpIHtcbiAgICAgIG5ld0Jhc2VTdGF0ZSA9IG5ld1N0YXRlO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdCYXNlUXVldWVMYXN0Lm5leHQgPSBuZXdCYXNlUXVldWVGaXJzdDtcbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgZmliZXIgcGVyZm9ybWVkIHdvcmssIGJ1dCBvbmx5IGlmIHRoZSBuZXcgc3RhdGUgaXNcbiAgICAvLyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBzdGF0ZS5cblxuXG4gICAgaWYgKCFvYmplY3RJcyhuZXdTdGF0ZSwgaG9vay5tZW1vaXplZFN0YXRlKSkge1xuICAgICAgbWFya1dvcmtJblByb2dyZXNzUmVjZWl2ZWRVcGRhdGUoKTtcbiAgICB9XG5cbiAgICBob29rLm1lbW9pemVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgICBob29rLmJhc2VTdGF0ZSA9IG5ld0Jhc2VTdGF0ZTtcbiAgICBob29rLmJhc2VRdWV1ZSA9IG5ld0Jhc2VRdWV1ZUxhc3Q7XG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHZhciBkaXNwYXRjaCA9IHF1ZXVlLmRpc3BhdGNoO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlO1xuXG4gIGlmICghKHF1ZXVlICE9PSBudWxsKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIlNob3VsZCBoYXZlIGEgcXVldWUuIFRoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHF1ZXVlLmxhc3RSZW5kZXJlZFJlZHVjZXIgPSByZWR1Y2VyOyAvLyBUaGlzIGlzIGEgcmUtcmVuZGVyLiBBcHBseSB0aGUgbmV3IHJlbmRlciBwaGFzZSB1cGRhdGVzIHRvIHRoZSBwcmV2aW91c1xuICAvLyB3b3JrLWluLXByb2dyZXNzIGhvb2suXG5cbiAgdmFyIGRpc3BhdGNoID0gcXVldWUuZGlzcGF0Y2g7XG4gIHZhciBsYXN0UmVuZGVyUGhhc2VVcGRhdGUgPSBxdWV1ZS5wZW5kaW5nO1xuICB2YXIgbmV3U3RhdGUgPSBob29rLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKGxhc3RSZW5kZXJQaGFzZVVwZGF0ZSAhPT0gbnVsbCkge1xuICAgIC8vIFRoZSBxdWV1ZSBkb2Vzbid0IHBlcnNpc3QgcGFzdCB0aGlzIHJlbmRlciBwYXNzLlxuICAgIHF1ZXVlLnBlbmRpbmcgPSBudWxsO1xuICAgIHZhciBmaXJzdFJlbmRlclBoYXNlVXBkYXRlID0gbGFzdFJlbmRlclBoYXNlVXBkYXRlLm5leHQ7XG4gICAgdmFyIHVwZGF0ZSA9IGZpcnN0UmVuZGVyUGhhc2VVcGRhdGU7XG5cbiAgICBkbyB7XG4gICAgICAvLyBQcm9jZXNzIHRoaXMgcmVuZGVyIHBoYXNlIHVwZGF0ZS4gV2UgZG9uJ3QgaGF2ZSB0byBjaGVjayB0aGVcbiAgICAgIC8vIHByaW9yaXR5IGJlY2F1c2UgaXQgd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnRcbiAgICAgIC8vIHJlbmRlcidzLlxuICAgICAgdmFyIGFjdGlvbiA9IHVwZGF0ZS5hY3Rpb247XG4gICAgICBuZXdTdGF0ZSA9IHJlZHVjZXIobmV3U3RhdGUsIGFjdGlvbik7XG4gICAgICB1cGRhdGUgPSB1cGRhdGUubmV4dDtcbiAgICB9IHdoaWxlICh1cGRhdGUgIT09IGZpcnN0UmVuZGVyUGhhc2VVcGRhdGUpOyAvLyBNYXJrIHRoYXQgdGhlIGZpYmVyIHBlcmZvcm1lZCB3b3JrLCBidXQgb25seSBpZiB0aGUgbmV3IHN0YXRlIGlzXG4gICAgLy8gZGlmZmVyZW50IGZyb20gdGhlIGN1cnJlbnQgc3RhdGUuXG5cblxuICAgIGlmICghb2JqZWN0SXMobmV3U3RhdGUsIGhvb2subWVtb2l6ZWRTdGF0ZSkpIHtcbiAgICAgIG1hcmtXb3JrSW5Qcm9ncmVzc1JlY2VpdmVkVXBkYXRlKCk7XG4gICAgfVxuXG4gICAgaG9vay5tZW1vaXplZFN0YXRlID0gbmV3U3RhdGU7IC8vIERvbid0IHBlcnNpc3QgdGhlIHN0YXRlIGFjY3VtdWxhdGVkIGZyb20gdGhlIHJlbmRlciBwaGFzZSB1cGRhdGVzIHRvXG4gICAgLy8gdGhlIGJhc2Ugc3RhdGUgdW5sZXNzIHRoZSBxdWV1ZSBpcyBlbXB0eS5cbiAgICAvLyBUT0RPOiBOb3Qgc3VyZSBpZiB0aGlzIGlzIHRoZSBkZXNpcmVkIHNlbWFudGljcywgYnV0IGl0J3Mgd2hhdCB3ZVxuICAgIC8vIGRvIGZvciBnRFNGUC4gSSBjYW4ndCByZW1lbWJlciB3aHkuXG5cbiAgICBpZiAoaG9vay5iYXNlUXVldWUgPT09IG51bGwpIHtcbiAgICAgIGhvb2suYmFzZVN0YXRlID0gbmV3U3RhdGU7XG4gICAgfVxuXG4gICAgcXVldWUubGFzdFJlbmRlcmVkU3RhdGUgPSBuZXdTdGF0ZTtcbiAgfVxuXG4gIHJldHVybiBbbmV3U3RhdGUsIGRpc3BhdGNoXTtcbn1cblxuZnVuY3Rpb24gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuXG4gIGlmICh0eXBlb2YgaW5pdGlhbFN0YXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgLy8gJEZsb3dGaXhNZTogRmxvdyBkb2Vzbid0IGxpa2UgbWl4ZWQgdHlwZXNcbiAgICBpbml0aWFsU3RhdGUgPSBpbml0aWFsU3RhdGUoKTtcbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IGhvb2suYmFzZVN0YXRlID0gaW5pdGlhbFN0YXRlO1xuICB2YXIgcXVldWUgPSBob29rLnF1ZXVlID0ge1xuICAgIHBlbmRpbmc6IG51bGwsXG4gICAgZGlzcGF0Y2g6IG51bGwsXG4gICAgbGFzdFJlbmRlcmVkUmVkdWNlcjogYmFzaWNTdGF0ZVJlZHVjZXIsXG4gICAgbGFzdFJlbmRlcmVkU3RhdGU6IGluaXRpYWxTdGF0ZVxuICB9O1xuICB2YXIgZGlzcGF0Y2ggPSBxdWV1ZS5kaXNwYXRjaCA9IGRpc3BhdGNoQWN0aW9uLmJpbmQobnVsbCwgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSwgcXVldWUpO1xuICByZXR1cm4gW2hvb2subWVtb2l6ZWRTdGF0ZSwgZGlzcGF0Y2hdO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgcmV0dXJuIHVwZGF0ZVJlZHVjZXIoYmFzaWNTdGF0ZVJlZHVjZXIpO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSkge1xuICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKGJhc2ljU3RhdGVSZWR1Y2VyKTtcbn1cblxuZnVuY3Rpb24gcHVzaEVmZmVjdCh0YWcsIGNyZWF0ZSwgZGVzdHJveSwgZGVwcykge1xuICB2YXIgZWZmZWN0ID0ge1xuICAgIHRhZzogdGFnLFxuICAgIGNyZWF0ZTogY3JlYXRlLFxuICAgIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gICAgZGVwczogZGVwcyxcbiAgICAvLyBDaXJjdWxhclxuICAgIG5leHQ6IG51bGxcbiAgfTtcbiAgdmFyIGNvbXBvbmVudFVwZGF0ZVF1ZXVlID0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS51cGRhdGVRdWV1ZTtcblxuICBpZiAoY29tcG9uZW50VXBkYXRlUXVldWUgPT09IG51bGwpIHtcbiAgICBjb21wb25lbnRVcGRhdGVRdWV1ZSA9IGNyZWF0ZUZ1bmN0aW9uQ29tcG9uZW50VXBkYXRlUXVldWUoKTtcbiAgICBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxLnVwZGF0ZVF1ZXVlID0gY29tcG9uZW50VXBkYXRlUXVldWU7XG4gICAgY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdCA9IGVmZmVjdC5uZXh0ID0gZWZmZWN0O1xuICB9IGVsc2Uge1xuICAgIHZhciBsYXN0RWZmZWN0ID0gY29tcG9uZW50VXBkYXRlUXVldWUubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0RWZmZWN0ID09PSBudWxsKSB7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0Lm5leHQgPSBlZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICAgIGxhc3RFZmZlY3QubmV4dCA9IGVmZmVjdDtcbiAgICAgIGVmZmVjdC5uZXh0ID0gZmlyc3RFZmZlY3Q7XG4gICAgICBjb21wb25lbnRVcGRhdGVRdWV1ZS5sYXN0RWZmZWN0ID0gZWZmZWN0O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlZmZlY3Q7XG59XG5cbmZ1bmN0aW9uIG1vdW50UmVmKGluaXRpYWxWYWx1ZSkge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciByZWYgPSB7XG4gICAgY3VycmVudDogaW5pdGlhbFZhbHVlXG4gIH07XG5cbiAge1xuICAgIE9iamVjdC5zZWFsKHJlZik7XG4gIH1cblxuICBob29rLm1lbW9pemVkU3RhdGUgPSByZWY7XG4gIHJldHVybiByZWY7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGhvb2sgPSB1cGRhdGVXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgcmV0dXJuIGhvb2subWVtb2l6ZWRTdGF0ZTtcbn1cblxuZnVuY3Rpb24gbW91bnRFZmZlY3RJbXBsKGZpYmVyRWZmZWN0VGFnLCBob29rRWZmZWN0VGFnLCBjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGhvb2sgPSBtb3VudFdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMS5lZmZlY3RUYWcgfD0gZmliZXJFZmZlY3RUYWc7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IHB1c2hFZmZlY3QoSGFzRWZmZWN0IHwgaG9va0VmZmVjdFRhZywgY3JlYXRlLCB1bmRlZmluZWQsIG5leHREZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRWZmZWN0SW1wbChmaWJlckVmZmVjdFRhZywgaG9va0VmZmVjdFRhZywgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgZGVzdHJveSA9IHVuZGVmaW5lZDtcblxuICBpZiAoY3VycmVudEhvb2sgIT09IG51bGwpIHtcbiAgICB2YXIgcHJldkVmZmVjdCA9IGN1cnJlbnRIb29rLm1lbW9pemVkU3RhdGU7XG4gICAgZGVzdHJveSA9IHByZXZFZmZlY3QuZGVzdHJveTtcblxuICAgIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZEZXBzID0gcHJldkVmZmVjdC5kZXBzO1xuXG4gICAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgICAgcHVzaEVmZmVjdChob29rRWZmZWN0VGFnLCBjcmVhdGUsIGRlc3Ryb3ksIG5leHREZXBzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZWZmZWN0VGFnIHw9IGZpYmVyRWZmZWN0VGFnO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBwdXNoRWZmZWN0KEhhc0VmZmVjdCB8IGhvb2tFZmZlY3RUYWcsIGNyZWF0ZSwgZGVzdHJveSwgbmV4dERlcHMpO1xufVxuXG5mdW5jdGlvbiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAge1xuICAgIC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIGplc3QgaXNuJ3QgYSBnbG9iYWwsIGFuZCBpc24ndCByZWNvZ25pemVkIG91dHNpZGUgb2YgdGVzdHNcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBqZXN0KSB7XG4gICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdFZmZlY3RzSW5ERVYoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1vdW50RWZmZWN0SW1wbChVcGRhdGUgfCBQYXNzaXZlLCBQYXNzaXZlJDEsIGNyZWF0ZSwgZGVwcyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAge1xuICAgIC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIGplc3QgaXNuJ3QgYSBnbG9iYWwsIGFuZCBpc24ndCByZWNvZ25pemVkIG91dHNpZGUgb2YgdGVzdHNcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBqZXN0KSB7XG4gICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdFZmZlY3RzSW5ERVYoY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZUVmZmVjdEltcGwoVXBkYXRlIHwgUGFzc2l2ZSwgUGFzc2l2ZSQxLCBjcmVhdGUsIGRlcHMpO1xufVxuXG5mdW5jdGlvbiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgcmV0dXJuIG1vdW50RWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcykge1xuICByZXR1cm4gdXBkYXRlRWZmZWN0SW1wbChVcGRhdGUsIExheW91dCwgY3JlYXRlLCBkZXBzKTtcbn1cblxuZnVuY3Rpb24gaW1wZXJhdGl2ZUhhbmRsZUVmZmVjdChjcmVhdGUsIHJlZikge1xuICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciByZWZDYWxsYmFjayA9IHJlZjtcblxuICAgIHZhciBfaW5zdCA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmQ2FsbGJhY2soX2luc3QpO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICByZWZDYWxsYmFjayhudWxsKTtcbiAgICB9O1xuICB9IGVsc2UgaWYgKHJlZiAhPT0gbnVsbCAmJiByZWYgIT09IHVuZGVmaW5lZCkge1xuICAgIHZhciByZWZPYmplY3QgPSByZWY7XG5cbiAgICB7XG4gICAgICBpZiAoIXJlZk9iamVjdC5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgZmlyc3QgYXJndW1lbnQgdG8gZWl0aGVyIGJlIGEgJyArICdyZWYgY2FsbGJhY2sgb3IgUmVhY3QuY3JlYXRlUmVmKCkgb2JqZWN0LiBJbnN0ZWFkIHJlY2VpdmVkOiAlcy4nLCAnYW4gb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKHJlZk9iamVjdCkuam9pbignLCAnKSArICd9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIF9pbnN0MiA9IGNyZWF0ZSgpO1xuXG4gICAgcmVmT2JqZWN0LmN1cnJlbnQgPSBfaW5zdDI7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJlZk9iamVjdC5jdXJyZW50ID0gbnVsbDtcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIG1vdW50SW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcykge1xuICB7XG4gICAgaWYgKHR5cGVvZiBjcmVhdGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdFeHBlY3RlZCB1c2VJbXBlcmF0aXZlSGFuZGxlKCkgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgZnVuY3Rpb24gJyArICd0aGF0IGNyZWF0ZXMgYSBoYW5kbGUuIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNyZWF0ZSAhPT0gbnVsbCA/IHR5cGVvZiBjcmVhdGUgOiAnbnVsbCcpO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBJZiBkZXBzIGFyZSBwcm92aWRlZCwgc2hvdWxkIHdlIHNraXAgY29tcGFyaW5nIHRoZSByZWYgaXRzZWxmP1xuXG5cbiAgdmFyIGVmZmVjdERlcHMgPSBkZXBzICE9PSBudWxsICYmIGRlcHMgIT09IHVuZGVmaW5lZCA/IGRlcHMuY29uY2F0KFtyZWZdKSA6IG51bGw7XG4gIHJldHVybiBtb3VudEVmZmVjdEltcGwoVXBkYXRlLCBMYXlvdXQsIGltcGVyYXRpdmVIYW5kbGVFZmZlY3QuYmluZChudWxsLCBjcmVhdGUsIHJlZiksIGVmZmVjdERlcHMpO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGNyZWF0ZSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0V4cGVjdGVkIHVzZUltcGVyYXRpdmVIYW5kbGUoKSBzZWNvbmQgYXJndW1lbnQgdG8gYmUgYSBmdW5jdGlvbiAnICsgJ3RoYXQgY3JlYXRlcyBhIGhhbmRsZS4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY3JlYXRlICE9PSBudWxsID8gdHlwZW9mIGNyZWF0ZSA6ICdudWxsJyk7XG4gICAgfVxuICB9IC8vIFRPRE86IElmIGRlcHMgYXJlIHByb3ZpZGVkLCBzaG91bGQgd2Ugc2tpcCBjb21wYXJpbmcgdGhlIHJlZiBpdHNlbGY/XG5cblxuICB2YXIgZWZmZWN0RGVwcyA9IGRlcHMgIT09IG51bGwgJiYgZGVwcyAhPT0gdW5kZWZpbmVkID8gZGVwcy5jb25jYXQoW3JlZl0pIDogbnVsbDtcbiAgcmV0dXJuIHVwZGF0ZUVmZmVjdEltcGwoVXBkYXRlLCBMYXlvdXQsIGltcGVyYXRpdmVIYW5kbGVFZmZlY3QuYmluZChudWxsLCBjcmVhdGUsIHJlZiksIGVmZmVjdERlcHMpO1xufVxuXG5mdW5jdGlvbiBtb3VudERlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKSB7Ly8gVGhpcyBob29rIGlzIG5vcm1hbGx5IGEgbm8tb3AuXG4gIC8vIFRoZSByZWFjdC1kZWJ1Zy1ob29rcyBwYWNrYWdlIGluamVjdHMgaXRzIG93biBpbXBsZW1lbnRhdGlvblxuICAvLyBzbyB0aGF0IGUuZy4gRGV2VG9vbHMgY2FuIGRpc3BsYXkgY3VzdG9tIGhvb2sgdmFsdWVzLlxufVxuXG52YXIgdXBkYXRlRGVidWdWYWx1ZSA9IG1vdW50RGVidWdWYWx1ZTtcblxuZnVuY3Rpb24gbW91bnRDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xuICB2YXIgaG9vayA9IG1vdW50V29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBbY2FsbGJhY2ssIG5leHREZXBzXTtcbiAgcmV0dXJuIGNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcykge1xuICB2YXIgaG9vayA9IHVwZGF0ZVdvcmtJblByb2dyZXNzSG9vaygpO1xuICB2YXIgbmV4dERlcHMgPSBkZXBzID09PSB1bmRlZmluZWQgPyBudWxsIDogZGVwcztcbiAgdmFyIHByZXZTdGF0ZSA9IGhvb2subWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgaWYgKG5leHREZXBzICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldkRlcHMgPSBwcmV2U3RhdGVbMV07XG5cbiAgICAgIGlmIChhcmVIb29rSW5wdXRzRXF1YWwobmV4dERlcHMsIHByZXZEZXBzKSkge1xuICAgICAgICByZXR1cm4gcHJldlN0YXRlWzBdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtjYWxsYmFjaywgbmV4dERlcHNdO1xuICByZXR1cm4gY2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIG1vdW50TWVtbyhuZXh0Q3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gbW91bnRXb3JrSW5Qcm9ncmVzc0hvb2soKTtcbiAgdmFyIG5leHREZXBzID0gZGVwcyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGRlcHM7XG4gIHZhciBuZXh0VmFsdWUgPSBuZXh0Q3JlYXRlKCk7XG4gIGhvb2subWVtb2l6ZWRTdGF0ZSA9IFtuZXh0VmFsdWUsIG5leHREZXBzXTtcbiAgcmV0dXJuIG5leHRWYWx1ZTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTWVtbyhuZXh0Q3JlYXRlLCBkZXBzKSB7XG4gIHZhciBob29rID0gdXBkYXRlV29ya0luUHJvZ3Jlc3NIb29rKCk7XG4gIHZhciBuZXh0RGVwcyA9IGRlcHMgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBkZXBzO1xuICB2YXIgcHJldlN0YXRlID0gaG9vay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChwcmV2U3RhdGUgIT09IG51bGwpIHtcbiAgICAvLyBBc3N1bWUgdGhlc2UgYXJlIGRlZmluZWQuIElmIHRoZXkncmUgbm90LCBhcmVIb29rSW5wdXRzRXF1YWwgd2lsbCB3YXJuLlxuICAgIGlmIChuZXh0RGVwcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZEZXBzID0gcHJldlN0YXRlWzFdO1xuXG4gICAgICBpZiAoYXJlSG9va0lucHV0c0VxdWFsKG5leHREZXBzLCBwcmV2RGVwcykpIHtcbiAgICAgICAgcmV0dXJuIHByZXZTdGF0ZVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFZhbHVlID0gbmV4dENyZWF0ZSgpO1xuICBob29rLm1lbW9pemVkU3RhdGUgPSBbbmV4dFZhbHVlLCBuZXh0RGVwc107XG4gIHJldHVybiBuZXh0VmFsdWU7XG59XG5cbmZ1bmN0aW9uIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKSB7XG4gIHZhciBfbW91bnRTdGF0ZSA9IG1vdW50U3RhdGUodmFsdWUpLFxuICAgICAgcHJldlZhbHVlID0gX21vdW50U3RhdGVbMF0sXG4gICAgICBzZXRWYWx1ZSA9IF9tb3VudFN0YXRlWzFdO1xuXG4gIG1vdW50RWZmZWN0KGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcHJldmlvdXNDb25maWcgPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBjb25maWcgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWc7XG5cbiAgICB0cnkge1xuICAgICAgc2V0VmFsdWUodmFsdWUpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gcHJldmlvdXNDb25maWc7XG4gICAgfVxuICB9LCBbdmFsdWUsIGNvbmZpZ10pO1xuICByZXR1cm4gcHJldlZhbHVlO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpIHtcbiAgdmFyIF91cGRhdGVTdGF0ZSA9IHVwZGF0ZVN0YXRlKCksXG4gICAgICBwcmV2VmFsdWUgPSBfdXBkYXRlU3RhdGVbMF0sXG4gICAgICBzZXRWYWx1ZSA9IF91cGRhdGVTdGF0ZVsxXTtcblxuICB1cGRhdGVFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHZhciBwcmV2aW91c0NvbmZpZyA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2U7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS5zdXNwZW5zZSA9IGNvbmZpZyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbmZpZztcblxuICAgIHRyeSB7XG4gICAgICBzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBwcmV2aW91c0NvbmZpZztcbiAgICB9XG4gIH0sIFt2YWx1ZSwgY29uZmlnXSk7XG4gIHJldHVybiBwcmV2VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZSA9IHJlcmVuZGVyU3RhdGUoKSxcbiAgICAgIHByZXZWYWx1ZSA9IF9yZXJlbmRlclN0YXRlWzBdLFxuICAgICAgc2V0VmFsdWUgPSBfcmVyZW5kZXJTdGF0ZVsxXTtcblxuICB1cGRhdGVFZmZlY3QoZnVuY3Rpb24gKCkge1xuICAgIHZhciBwcmV2aW91c0NvbmZpZyA9IFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2U7XG4gICAgUmVhY3RDdXJyZW50QmF0Y2hDb25maWckMS5zdXNwZW5zZSA9IGNvbmZpZyA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbmZpZztcblxuICAgIHRyeSB7XG4gICAgICBzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBwcmV2aW91c0NvbmZpZztcbiAgICB9XG4gIH0sIFt2YWx1ZSwgY29uZmlnXSk7XG4gIHJldHVybiBwcmV2VmFsdWU7XG59XG5cbmZ1bmN0aW9uIHN0YXJ0VHJhbnNpdGlvbihzZXRQZW5kaW5nLCBjb25maWcsIGNhbGxiYWNrKSB7XG4gIHZhciBwcmlvcml0eUxldmVsID0gZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKTtcbiAgcnVuV2l0aFByaW9yaXR5JDEocHJpb3JpdHlMZXZlbCA8IFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEgPyBVc2VyQmxvY2tpbmdQcmlvcml0eSQxIDogcHJpb3JpdHlMZXZlbCwgZnVuY3Rpb24gKCkge1xuICAgIHNldFBlbmRpbmcodHJ1ZSk7XG4gIH0pO1xuICBydW5XaXRoUHJpb3JpdHkkMShwcmlvcml0eUxldmVsID4gTm9ybWFsUHJpb3JpdHkgPyBOb3JtYWxQcmlvcml0eSA6IHByaW9yaXR5TGV2ZWwsIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcHJldmlvdXNDb25maWcgPSBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlO1xuICAgIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnJDEuc3VzcGVuc2UgPSBjb25maWcgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjb25maWc7XG5cbiAgICB0cnkge1xuICAgICAgc2V0UGVuZGluZyhmYWxzZSk7XG4gICAgICBjYWxsYmFjaygpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyQxLnN1c3BlbnNlID0gcHJldmlvdXNDb25maWc7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gbW91bnRUcmFuc2l0aW9uKGNvbmZpZykge1xuICB2YXIgX21vdW50U3RhdGUyID0gbW91bnRTdGF0ZShmYWxzZSksXG4gICAgICBpc1BlbmRpbmcgPSBfbW91bnRTdGF0ZTJbMF0sXG4gICAgICBzZXRQZW5kaW5nID0gX21vdW50U3RhdGUyWzFdO1xuXG4gIHZhciBzdGFydCA9IG1vdW50Q2FsbGJhY2soc3RhcnRUcmFuc2l0aW9uLmJpbmQobnVsbCwgc2V0UGVuZGluZywgY29uZmlnKSwgW3NldFBlbmRpbmcsIGNvbmZpZ10pO1xuICByZXR1cm4gW3N0YXJ0LCBpc1BlbmRpbmddO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVUcmFuc2l0aW9uKGNvbmZpZykge1xuICB2YXIgX3VwZGF0ZVN0YXRlMiA9IHVwZGF0ZVN0YXRlKCksXG4gICAgICBpc1BlbmRpbmcgPSBfdXBkYXRlU3RhdGUyWzBdLFxuICAgICAgc2V0UGVuZGluZyA9IF91cGRhdGVTdGF0ZTJbMV07XG5cbiAgdmFyIHN0YXJ0ID0gdXBkYXRlQ2FsbGJhY2soc3RhcnRUcmFuc2l0aW9uLmJpbmQobnVsbCwgc2V0UGVuZGluZywgY29uZmlnKSwgW3NldFBlbmRpbmcsIGNvbmZpZ10pO1xuICByZXR1cm4gW3N0YXJ0LCBpc1BlbmRpbmddO1xufVxuXG5mdW5jdGlvbiByZXJlbmRlclRyYW5zaXRpb24oY29uZmlnKSB7XG4gIHZhciBfcmVyZW5kZXJTdGF0ZTIgPSByZXJlbmRlclN0YXRlKCksXG4gICAgICBpc1BlbmRpbmcgPSBfcmVyZW5kZXJTdGF0ZTJbMF0sXG4gICAgICBzZXRQZW5kaW5nID0gX3JlcmVuZGVyU3RhdGUyWzFdO1xuXG4gIHZhciBzdGFydCA9IHVwZGF0ZUNhbGxiYWNrKHN0YXJ0VHJhbnNpdGlvbi5iaW5kKG51bGwsIHNldFBlbmRpbmcsIGNvbmZpZyksIFtzZXRQZW5kaW5nLCBjb25maWddKTtcbiAgcmV0dXJuIFtzdGFydCwgaXNQZW5kaW5nXTtcbn1cblxuZnVuY3Rpb24gZGlzcGF0Y2hBY3Rpb24oZmliZXIsIHF1ZXVlLCBhY3Rpb24pIHtcbiAge1xuICAgIGlmICh0eXBlb2YgYXJndW1lbnRzWzNdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcihcIlN0YXRlIHVwZGF0ZXMgZnJvbSB0aGUgdXNlU3RhdGUoKSBhbmQgdXNlUmVkdWNlcigpIEhvb2tzIGRvbid0IHN1cHBvcnQgdGhlIFwiICsgJ3NlY29uZCBjYWxsYmFjayBhcmd1bWVudC4gVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyICcgKyAncmVuZGVyaW5nLCBkZWNsYXJlIGl0IGluIHRoZSBjb21wb25lbnQgYm9keSB3aXRoIHVzZUVmZmVjdCgpLicpO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xuICB2YXIgc3VzcGVuc2VDb25maWcgPSByZXF1ZXN0Q3VycmVudFN1c3BlbnNlQ29uZmlnKCk7XG4gIHZhciBleHBpcmF0aW9uVGltZSA9IGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIoY3VycmVudFRpbWUsIGZpYmVyLCBzdXNwZW5zZUNvbmZpZyk7XG4gIHZhciB1cGRhdGUgPSB7XG4gICAgZXhwaXJhdGlvblRpbWU6IGV4cGlyYXRpb25UaW1lLFxuICAgIHN1c3BlbnNlQ29uZmlnOiBzdXNwZW5zZUNvbmZpZyxcbiAgICBhY3Rpb246IGFjdGlvbixcbiAgICBlYWdlclJlZHVjZXI6IG51bGwsXG4gICAgZWFnZXJTdGF0ZTogbnVsbCxcbiAgICBuZXh0OiBudWxsXG4gIH07XG5cbiAge1xuICAgIHVwZGF0ZS5wcmlvcml0eSA9IGdldEN1cnJlbnRQcmlvcml0eUxldmVsKCk7XG4gIH0gLy8gQXBwZW5kIHRoZSB1cGRhdGUgdG8gdGhlIGVuZCBvZiB0aGUgbGlzdC5cblxuXG4gIHZhciBwZW5kaW5nID0gcXVldWUucGVuZGluZztcblxuICBpZiAocGVuZGluZyA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZS4gQ3JlYXRlIGEgY2lyY3VsYXIgbGlzdC5cbiAgICB1cGRhdGUubmV4dCA9IHVwZGF0ZTtcbiAgfSBlbHNlIHtcbiAgICB1cGRhdGUubmV4dCA9IHBlbmRpbmcubmV4dDtcbiAgICBwZW5kaW5nLm5leHQgPSB1cGRhdGU7XG4gIH1cblxuICBxdWV1ZS5wZW5kaW5nID0gdXBkYXRlO1xuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChmaWJlciA9PT0gY3VycmVudGx5UmVuZGVyaW5nRmliZXIkMSB8fCBhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlID09PSBjdXJyZW50bHlSZW5kZXJpbmdGaWJlciQxKSB7XG4gICAgLy8gVGhpcyBpcyBhIHJlbmRlciBwaGFzZSB1cGRhdGUuIFN0YXNoIGl0IGluIGEgbGF6aWx5LWNyZWF0ZWQgbWFwIG9mXG4gICAgLy8gcXVldWUgLT4gbGlua2VkIGxpc3Qgb2YgdXBkYXRlcy4gQWZ0ZXIgdGhpcyByZW5kZXIgcGFzcywgd2UnbGwgcmVzdGFydFxuICAgIC8vIGFuZCBhcHBseSB0aGUgc3Rhc2hlZCB1cGRhdGVzIG9uIHRvcCBvZiB0aGUgd29yay1pbi1wcm9ncmVzcyBob29rLlxuICAgIGRpZFNjaGVkdWxlUmVuZGVyUGhhc2VVcGRhdGUgPSB0cnVlO1xuICAgIHVwZGF0ZS5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuICAgIGN1cnJlbnRseVJlbmRlcmluZ0ZpYmVyJDEuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcbiAgfSBlbHNlIHtcbiAgICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPT09IE5vV29yayAmJiAoYWx0ZXJuYXRlID09PSBudWxsIHx8IGFsdGVybmF0ZS5leHBpcmF0aW9uVGltZSA9PT0gTm9Xb3JrKSkge1xuICAgICAgLy8gVGhlIHF1ZXVlIGlzIGN1cnJlbnRseSBlbXB0eSwgd2hpY2ggbWVhbnMgd2UgY2FuIGVhZ2VybHkgY29tcHV0ZSB0aGVcbiAgICAgIC8vIG5leHQgc3RhdGUgYmVmb3JlIGVudGVyaW5nIHRoZSByZW5kZXIgcGhhc2UuIElmIHRoZSBuZXcgc3RhdGUgaXMgdGhlXG4gICAgICAvLyBzYW1lIGFzIHRoZSBjdXJyZW50IHN0YXRlLCB3ZSBtYXkgYmUgYWJsZSB0byBiYWlsIG91dCBlbnRpcmVseS5cbiAgICAgIHZhciBsYXN0UmVuZGVyZWRSZWR1Y2VyID0gcXVldWUubGFzdFJlbmRlcmVkUmVkdWNlcjtcblxuICAgICAgaWYgKGxhc3RSZW5kZXJlZFJlZHVjZXIgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIHByZXZEaXNwYXRjaGVyO1xuXG4gICAgICAgIHtcbiAgICAgICAgICBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRTdGF0ZSA9IHF1ZXVlLmxhc3RSZW5kZXJlZFN0YXRlO1xuICAgICAgICAgIHZhciBlYWdlclN0YXRlID0gbGFzdFJlbmRlcmVkUmVkdWNlcihjdXJyZW50U3RhdGUsIGFjdGlvbik7IC8vIFN0YXNoIHRoZSBlYWdlcmx5IGNvbXB1dGVkIHN0YXRlLCBhbmQgdGhlIHJlZHVjZXIgdXNlZCB0byBjb21wdXRlXG4gICAgICAgICAgLy8gaXQsIG9uIHRoZSB1cGRhdGUgb2JqZWN0LiBJZiB0aGUgcmVkdWNlciBoYXNuJ3QgY2hhbmdlZCBieSB0aGVcbiAgICAgICAgICAvLyB0aW1lIHdlIGVudGVyIHRoZSByZW5kZXIgcGhhc2UsIHRoZW4gdGhlIGVhZ2VyIHN0YXRlIGNhbiBiZSB1c2VkXG4gICAgICAgICAgLy8gd2l0aG91dCBjYWxsaW5nIHRoZSByZWR1Y2VyIGFnYWluLlxuXG4gICAgICAgICAgdXBkYXRlLmVhZ2VyUmVkdWNlciA9IGxhc3RSZW5kZXJlZFJlZHVjZXI7XG4gICAgICAgICAgdXBkYXRlLmVhZ2VyU3RhdGUgPSBlYWdlclN0YXRlO1xuXG4gICAgICAgICAgaWYgKG9iamVjdElzKGVhZ2VyU3RhdGUsIGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgICAgIC8vIEZhc3QgcGF0aC4gV2UgY2FuIGJhaWwgb3V0IHdpdGhvdXQgc2NoZWR1bGluZyBSZWFjdCB0byByZS1yZW5kZXIuXG4gICAgICAgICAgICAvLyBJdCdzIHN0aWxsIHBvc3NpYmxlIHRoYXQgd2UnbGwgbmVlZCB0byByZWJhc2UgdGhpcyB1cGRhdGUgbGF0ZXIsXG4gICAgICAgICAgICAvLyBpZiB0aGUgY29tcG9uZW50IHJlLXJlbmRlcnMgZm9yIGEgZGlmZmVyZW50IHJlYXNvbiBhbmQgYnkgdGhhdFxuICAgICAgICAgICAgLy8gdGltZSB0aGUgcmVkdWNlciBoYXMgY2hhbmdlZC5cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7Ly8gU3VwcHJlc3MgdGhlIGVycm9yLiBJdCB3aWxsIHRocm93IGFnYWluIGluIHRoZSByZW5kZXIgcGhhc2UuXG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAge1xuICAgICAgLy8gJEZsb3dFeHBlY3RlZEVycm9yIC0gamVzdCBpc24ndCBhIGdsb2JhbCwgYW5kIGlzbid0IHJlY29nbml6ZWQgb3V0c2lkZSBvZiB0ZXN0c1xuICAgICAgaWYgKCd1bmRlZmluZWQnICE9PSB0eXBlb2YgamVzdCkge1xuICAgICAgICB3YXJuSWZOb3RTY29wZWRXaXRoTWF0Y2hpbmdBY3QoZmliZXIpO1xuICAgICAgICB3YXJuSWZOb3RDdXJyZW50bHlBY3RpbmdVcGRhdGVzSW5EZXYoZmliZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHNjaGVkdWxlV29yayhmaWJlciwgZXhwaXJhdGlvblRpbWUpO1xuICB9XG59XG5cbnZhciBDb250ZXh0T25seURpc3BhdGNoZXIgPSB7XG4gIHJlYWRDb250ZXh0OiByZWFkQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2s6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlQ29udGV4dDogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VMYXlvdXRFZmZlY3Q6IHRocm93SW52YWxpZEhvb2tFcnJvcixcbiAgdXNlTWVtbzogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VSZWR1Y2VyOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVJlZjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VTdGF0ZTogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWJ1Z1ZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVJlc3BvbmRlcjogdGhyb3dJbnZhbGlkSG9va0Vycm9yLFxuICB1c2VEZWZlcnJlZFZhbHVlOiB0aHJvd0ludmFsaWRIb29rRXJyb3IsXG4gIHVzZVRyYW5zaXRpb246IHRocm93SW52YWxpZEhvb2tFcnJvclxufTtcbnZhciBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSBudWxsO1xudmFyIEhvb2tzRGlzcGF0Y2hlck9uTW91bnRXaXRoSG9va1R5cGVzSW5ERVYgPSBudWxsO1xudmFyIEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSBudWxsO1xudmFyIEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFViA9IG51bGw7XG52YXIgSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVYgPSBudWxsO1xudmFyIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSBudWxsO1xuXG57XG4gIHZhciB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgZXJyb3IoJ0NvbnRleHQgY2FuIG9ubHkgYmUgcmVhZCB3aGlsZSBSZWFjdCBpcyByZW5kZXJpbmcuICcgKyAnSW4gY2xhc3NlcywgeW91IGNhbiByZWFkIGl0IGluIHRoZSByZW5kZXIgbWV0aG9kIG9yIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4gJyArICdJbiBmdW5jdGlvbiBjb21wb25lbnRzLCB5b3UgY2FuIHJlYWQgaXQgZGlyZWN0bHkgaW4gdGhlIGZ1bmN0aW9uIGJvZHksIGJ1dCBub3QgJyArICdpbnNpZGUgSG9va3MgbGlrZSB1c2VSZWR1Y2VyKCkgb3IgdXNlTWVtbygpLicpO1xuICB9O1xuXG4gIHZhciB3YXJuSW52YWxpZEhvb2tBY2Nlc3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgZXJyb3IoJ0RvIG5vdCBjYWxsIEhvb2tzIGluc2lkZSB1c2VFZmZlY3QoLi4uKSwgdXNlTWVtbyguLi4pLCBvciBvdGhlciBidWlsdC1pbiBIb29rcy4gJyArICdZb3UgY2FuIG9ubHkgY2FsbCBIb29rcyBhdCB0aGUgdG9wIGxldmVsIG9mIHlvdXIgUmVhY3QgZnVuY3Rpb24uICcgKyAnRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSAnICsgJ2h0dHBzOi8vZmIubWUvcnVsZXMtb2YtaG9va3MnKTtcbiAgfTtcblxuICBIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIGNoZWNrRGVwc0FyZUFycmF5RGV2KGRlcHMpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XG4gICAgfSxcbiAgICB1c2VFZmZlY3Q6IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUVmZmVjdCc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICByZXR1cm4gbW91bnRJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICBjaGVja0RlcHNBcmVBcnJheURldihkZXBzKTtcbiAgICAgIHJldHVybiBtb3VudExheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTWVtbzogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTWVtbyc7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgY2hlY2tEZXBzQXJlQXJyYXlEZXYoZGVwcyk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlYnVnVmFsdWUoKTtcbiAgICB9LFxuICAgIHVzZVJlc3BvbmRlcjogZnVuY3Rpb24gKHJlc3BvbmRlciwgcHJvcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlc3BvbmRlcic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIGNyZWF0ZURlcHJlY2F0ZWRSZXNwb25kZXJMaXN0ZW5lcihyZXNwb25kZXIsIHByb3BzKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50VHJhbnNpdGlvbihjb25maWcpO1xuICAgIH1cbiAgfTtcbiAgSG9va3NEaXNwYXRjaGVyT25Nb3VudFdpdGhIb29rVHlwZXNJbkRFViA9IHtcbiAgICByZWFkQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudENhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50TWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudFJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gbW91bnRTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlUmVzcG9uZGVyOiBmdW5jdGlvbiAocmVzcG9uZGVyLCBwcm9wcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIGNyZWF0ZURlcHJlY2F0ZWRSZXNwb25kZXJMaXN0ZW5lcihyZXNwb25kZXIsIHByb3BzKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50RGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnRUcmFuc2l0aW9uKGNvbmZpZyk7XG4gICAgfVxuICB9O1xuICBIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vKGNyZWF0ZSwgZGVwcyk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZHVjZXI6IGZ1bmN0aW9uIChyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWR1Y2VyJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBjb25maWcpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlVHJhbnNpdGlvbihjb25maWcpO1xuICAgIH1cbiAgfTtcbiAgSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUNhbGxiYWNrOiBmdW5jdGlvbiAoY2FsbGJhY2ssIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNhbGxiYWNrJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uUmVyZW5kZXJJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25SZXJlbmRlckluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJSZWR1Y2VyKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWY6IGZ1bmN0aW9uIChpbml0aWFsVmFsdWUpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZic7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclN0YXRlKGluaXRpYWxTdGF0ZSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZURlYnVnVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgZm9ybWF0dGVyRm4pIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlYnVnVmFsdWUnO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlUmVzcG9uZGVyOiBmdW5jdGlvbiAocmVzcG9uZGVyLCBwcm9wcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIGNyZWF0ZURlcHJlY2F0ZWRSZXNwb25kZXJMaXN0ZW5lcihyZXNwb25kZXIsIHByb3BzKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHJlcmVuZGVyRGVmZXJyZWRWYWx1ZSh2YWx1ZSwgY29uZmlnKTtcbiAgICB9LFxuICAgIHVzZVRyYW5zaXRpb246IGZ1bmN0aW9uIChjb25maWcpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVRyYW5zaXRpb24nO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVyZW5kZXJUcmFuc2l0aW9uKGNvbmZpZyk7XG4gICAgfVxuICB9O1xuICBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25Nb3VudEluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50Q2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlQ29udGV4dDogZnVuY3Rpb24gKGNvbnRleHQsIG9ic2VydmVkQml0cykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ29udGV4dCc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEVmZmVjdChjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlSW1wZXJhdGl2ZUhhbmRsZTogZnVuY3Rpb24gKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VJbXBlcmF0aXZlSGFuZGxlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudEltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50TGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPbk1vdW50SW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBtb3VudE1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50UmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIG1vdW50UmVmKGluaXRpYWxWYWx1ZSk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uTW91bnRJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIG1vdW50U3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlRGVidWdWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRGVidWdWYWx1ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIG1vdW50SG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gbW91bnREZWJ1Z1ZhbHVlKCk7XG4gICAgfSxcbiAgICB1c2VSZXNwb25kZXI6IGZ1bmN0aW9uIChyZXNwb25kZXIsIHByb3BzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZXNwb25kZXInO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICBtb3VudEhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIGNyZWF0ZURlcHJlY2F0ZWRSZXNwb25kZXJMaXN0ZW5lcihyZXNwb25kZXIsIHByb3BzKTtcbiAgICB9LFxuICAgIHVzZURlZmVycmVkVmFsdWU6IGZ1bmN0aW9uICh2YWx1ZSwgY29uZmlnKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWZlcnJlZFZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudERlZmVycmVkVmFsdWUodmFsdWUsIGNvbmZpZyk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgbW91bnRIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiBtb3VudFRyYW5zaXRpb24oY29uZmlnKTtcbiAgICB9XG4gIH07XG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWID0ge1xuICAgIHJlYWRDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XG4gICAgICB3YXJuSW52YWxpZENvbnRleHRBY2Nlc3MoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xuICAgIH0sXG4gICAgdXNlQ2FsbGJhY2s6IGZ1bmN0aW9uIChjYWxsYmFjaywgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlQ2FsbGJhY2snO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVDYWxsYmFjayhjYWxsYmFjaywgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VDb250ZXh0OiBmdW5jdGlvbiAoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDb250ZXh0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVhZENvbnRleHQoY29udGV4dCwgb2JzZXJ2ZWRCaXRzKTtcbiAgICB9LFxuICAgIHVzZUVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlRWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VJbXBlcmF0aXZlSGFuZGxlOiBmdW5jdGlvbiAocmVmLCBjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUltcGVyYXRpdmVIYW5kbGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUxheW91dEVmZmVjdDogZnVuY3Rpb24gKGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlTGF5b3V0RWZmZWN0JztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlTGF5b3V0RWZmZWN0KGNyZWF0ZSwgZGVwcyk7XG4gICAgfSxcbiAgICB1c2VNZW1vOiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VNZW1vJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG4gICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBJbnZhbGlkTmVzdGVkSG9va3NEaXNwYXRjaGVyT25VcGRhdGVJbkRFVjtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZU1lbW8oY3JlYXRlLCBkZXBzKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVkdWNlcjogZnVuY3Rpb24gKHJlZHVjZXIsIGluaXRpYWxBcmcsIGluaXQpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZVJlZHVjZXInO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xuICAgICAgfVxuICAgIH0sXG4gICAgdXNlUmVmOiBmdW5jdGlvbiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VSZWYnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVSZWYoKTtcbiAgICB9LFxuICAgIHVzZVN0YXRlOiBmdW5jdGlvbiAoaW5pdGlhbFN0YXRlKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VTdGF0ZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlUmVzcG9uZGVyOiBmdW5jdGlvbiAocmVzcG9uZGVyLCBwcm9wcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBjb25maWcpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVEZWZlcnJlZFZhbHVlKHZhbHVlLCBjb25maWcpO1xuICAgIH0sXG4gICAgdXNlVHJhbnNpdGlvbjogZnVuY3Rpb24gKGNvbmZpZykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlVHJhbnNpdGlvbic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZVRyYW5zaXRpb24oY29uZmlnKTtcbiAgICB9XG4gIH07XG4gIEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblJlcmVuZGVySW5ERVYgPSB7XG4gICAgcmVhZENvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcbiAgICAgIHdhcm5JbnZhbGlkQ29udGV4dEFjY2VzcygpO1xuICAgICAgcmV0dXJuIHJlYWRDb250ZXh0KGNvbnRleHQsIG9ic2VydmVkQml0cyk7XG4gICAgfSxcbiAgICB1c2VDYWxsYmFjazogZnVuY3Rpb24gKGNhbGxiYWNrLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VDYWxsYmFjayc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUNvbnRleHQ6IGZ1bmN0aW9uIChjb250ZXh0LCBvYnNlcnZlZEJpdHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZUNvbnRleHQnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZWFkQ29udGV4dChjb250ZXh0LCBvYnNlcnZlZEJpdHMpO1xuICAgIH0sXG4gICAgdXNlRWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZUltcGVyYXRpdmVIYW5kbGU6IGZ1bmN0aW9uIChyZWYsIGNyZWF0ZSwgZGVwcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlSW1wZXJhdGl2ZUhhbmRsZSc7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgcmV0dXJuIHVwZGF0ZUltcGVyYXRpdmVIYW5kbGUocmVmLCBjcmVhdGUsIGRlcHMpO1xuICAgIH0sXG4gICAgdXNlTGF5b3V0RWZmZWN0OiBmdW5jdGlvbiAoY3JlYXRlLCBkZXBzKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VMYXlvdXRFZmZlY3QnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiB1cGRhdGVMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbiAgICB9LFxuICAgIHVzZU1lbW86IGZ1bmN0aW9uIChjcmVhdGUsIGRlcHMpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZU1lbW8nO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gdXBkYXRlTWVtbyhjcmVhdGUsIGRlcHMpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyOiBmdW5jdGlvbiAocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVkdWNlcic7XG4gICAgICB3YXJuSW52YWxpZEhvb2tBY2Nlc3MoKTtcbiAgICAgIHVwZGF0ZUhvb2tUeXBlc0RldigpO1xuICAgICAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50O1xuICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gSW52YWxpZE5lc3RlZEhvb2tzRGlzcGF0Y2hlck9uVXBkYXRlSW5ERVY7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiByZXJlbmRlclJlZHVjZXIocmVkdWNlciwgaW5pdGlhbEFyZywgaW5pdCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQgPSBwcmV2RGlzcGF0Y2hlcjtcbiAgICAgIH1cbiAgICB9LFxuICAgIHVzZVJlZjogZnVuY3Rpb24gKGluaXRpYWxWYWx1ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVmJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlUmVmKCk7XG4gICAgfSxcbiAgICB1c2VTdGF0ZTogZnVuY3Rpb24gKGluaXRpYWxTdGF0ZSkge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlU3RhdGUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudDtcbiAgICAgIFJlYWN0Q3VycmVudERpc3BhdGNoZXIuY3VycmVudCA9IEludmFsaWROZXN0ZWRIb29rc0Rpc3BhdGNoZXJPblVwZGF0ZUluREVWO1xuXG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gcmVyZW5kZXJTdGF0ZShpbml0aWFsU3RhdGUpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgUmVhY3RDdXJyZW50RGlzcGF0Y2hlci5jdXJyZW50ID0gcHJldkRpc3BhdGNoZXI7XG4gICAgICB9XG4gICAgfSxcbiAgICB1c2VEZWJ1Z1ZhbHVlOiBmdW5jdGlvbiAodmFsdWUsIGZvcm1hdHRlckZuKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VEZWJ1Z1ZhbHVlJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gdXBkYXRlRGVidWdWYWx1ZSgpO1xuICAgIH0sXG4gICAgdXNlUmVzcG9uZGVyOiBmdW5jdGlvbiAocmVzcG9uZGVyLCBwcm9wcykge1xuICAgICAgY3VycmVudEhvb2tOYW1lSW5EZXYgPSAndXNlUmVzcG9uZGVyJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gY3JlYXRlRGVwcmVjYXRlZFJlc3BvbmRlckxpc3RlbmVyKHJlc3BvbmRlciwgcHJvcHMpO1xuICAgIH0sXG4gICAgdXNlRGVmZXJyZWRWYWx1ZTogZnVuY3Rpb24gKHZhbHVlLCBjb25maWcpIHtcbiAgICAgIGN1cnJlbnRIb29rTmFtZUluRGV2ID0gJ3VzZURlZmVycmVkVmFsdWUnO1xuICAgICAgd2FybkludmFsaWRIb29rQWNjZXNzKCk7XG4gICAgICB1cGRhdGVIb29rVHlwZXNEZXYoKTtcbiAgICAgIHJldHVybiByZXJlbmRlckRlZmVycmVkVmFsdWUodmFsdWUsIGNvbmZpZyk7XG4gICAgfSxcbiAgICB1c2VUcmFuc2l0aW9uOiBmdW5jdGlvbiAoY29uZmlnKSB7XG4gICAgICBjdXJyZW50SG9va05hbWVJbkRldiA9ICd1c2VUcmFuc2l0aW9uJztcbiAgICAgIHdhcm5JbnZhbGlkSG9va0FjY2VzcygpO1xuICAgICAgdXBkYXRlSG9va1R5cGVzRGV2KCk7XG4gICAgICByZXR1cm4gcmVyZW5kZXJUcmFuc2l0aW9uKGNvbmZpZyk7XG4gICAgfVxuICB9O1xufVxuXG52YXIgbm93JDEgPSBTY2hlZHVsZXIudW5zdGFibGVfbm93O1xudmFyIGNvbW1pdFRpbWUgPSAwO1xudmFyIHByb2ZpbGVyU3RhcnRUaW1lID0gLTE7XG5cbmZ1bmN0aW9uIGdldENvbW1pdFRpbWUoKSB7XG4gIHJldHVybiBjb21taXRUaW1lO1xufVxuXG5mdW5jdGlvbiByZWNvcmRDb21taXRUaW1lKCkge1xuXG4gIGNvbW1pdFRpbWUgPSBub3ckMSgpO1xufVxuXG5mdW5jdGlvbiBzdGFydFByb2ZpbGVyVGltZXIoZmliZXIpIHtcblxuICBwcm9maWxlclN0YXJ0VGltZSA9IG5vdyQxKCk7XG5cbiAgaWYgKGZpYmVyLmFjdHVhbFN0YXJ0VGltZSA8IDApIHtcbiAgICBmaWJlci5hY3R1YWxTdGFydFRpbWUgPSBub3ckMSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nKGZpYmVyKSB7XG5cbiAgcHJvZmlsZXJTdGFydFRpbWUgPSAtMTtcbn1cblxuZnVuY3Rpb24gc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmdBbmRSZWNvcmREZWx0YShmaWJlciwgb3ZlcnJpZGVCYXNlVGltZSkge1xuXG4gIGlmIChwcm9maWxlclN0YXJ0VGltZSA+PSAwKSB7XG4gICAgdmFyIGVsYXBzZWRUaW1lID0gbm93JDEoKSAtIHByb2ZpbGVyU3RhcnRUaW1lO1xuICAgIGZpYmVyLmFjdHVhbER1cmF0aW9uICs9IGVsYXBzZWRUaW1lO1xuXG4gICAgaWYgKG92ZXJyaWRlQmFzZVRpbWUpIHtcbiAgICAgIGZpYmVyLnNlbGZCYXNlRHVyYXRpb24gPSBlbGFwc2VkVGltZTtcbiAgICB9XG5cbiAgICBwcm9maWxlclN0YXJ0VGltZSA9IC0xO1xuICB9XG59XG5cbi8vIFRoaXMgbWF5IGhhdmUgYmVlbiBhbiBpbnNlcnRpb24gb3IgYSBoeWRyYXRpb24uXG5cbnZhciBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XG52YXIgbmV4dEh5ZHJhdGFibGVJbnN0YW5jZSA9IG51bGw7XG52YXIgaXNIeWRyYXRpbmcgPSBmYWxzZTtcblxuZnVuY3Rpb24gZW50ZXJIeWRyYXRpb25TdGF0ZShmaWJlcikge1xuXG4gIHZhciBwYXJlbnRJbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQocGFyZW50SW5zdGFuY2UpO1xuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICBpc0h5ZHJhdGluZyA9IHRydWU7XG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UocmV0dXJuRmliZXIsIGluc3RhbmNlKSB7XG4gIHtcbiAgICBzd2l0Y2ggKHJldHVybkZpYmVyLnRhZykge1xuICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgZGlkTm90SHlkcmF0ZUNvbnRhaW5lckluc3RhbmNlKHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvLCBpbnN0YW5jZSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgIGRpZE5vdEh5ZHJhdGVJbnN0YW5jZShyZXR1cm5GaWJlci50eXBlLCByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzLCByZXR1cm5GaWJlci5zdGF0ZU5vZGUsIGluc3RhbmNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNoaWxkVG9EZWxldGUgPSBjcmVhdGVGaWJlckZyb21Ib3N0SW5zdGFuY2VGb3JEZWxldGlvbigpO1xuICBjaGlsZFRvRGVsZXRlLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICBjaGlsZFRvRGVsZXRlLnJldHVybiA9IHJldHVybkZpYmVyO1xuICBjaGlsZFRvRGVsZXRlLmVmZmVjdFRhZyA9IERlbGV0aW9uOyAvLyBUaGlzIG1pZ2h0IHNlZW0gbGlrZSBpdCBiZWxvbmdzIG9uIHByb2dyZXNzZWRGaXJzdERlbGV0aW9uLiBIb3dldmVyLFxuICAvLyB0aGVzZSBjaGlsZHJlbiBhcmUgbm90IHBhcnQgb2YgdGhlIHJlY29uY2lsaWF0aW9uIGxpc3Qgb2YgY2hpbGRyZW4uXG4gIC8vIEV2ZW4gaWYgd2UgYWJvcnQgYW5kIHJlcmVjb25jaWxlIHRoZSBjaGlsZHJlbiwgdGhhdCB3aWxsIHRyeSB0byBoeWRyYXRlXG4gIC8vIGFnYWluIGFuZCB0aGUgbm9kZXMgYXJlIHN0aWxsIGluIHRoZSBob3N0IHRyZWUgc28gdGhlc2Ugd2lsbCBiZVxuICAvLyByZWNyZWF0ZWQuXG5cbiAgaWYgKHJldHVybkZpYmVyLmxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0Lm5leHRFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xuICAgIHJldHVybkZpYmVyLmxhc3RFZmZlY3QgPSBjaGlsZFRvRGVsZXRlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybkZpYmVyLmZpcnN0RWZmZWN0ID0gcmV0dXJuRmliZXIubGFzdEVmZmVjdCA9IGNoaWxkVG9EZWxldGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5zZXJ0Tm9uSHlkcmF0ZWRJbnN0YW5jZShyZXR1cm5GaWJlciwgZmliZXIpIHtcbiAgZmliZXIuZWZmZWN0VGFnID0gZmliZXIuZWZmZWN0VGFnICYgfkh5ZHJhdGluZyB8IFBsYWNlbWVudDtcblxuICB7XG4gICAgc3dpdGNoIChyZXR1cm5GaWJlci50YWcpIHtcbiAgICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgcGFyZW50Q29udGFpbmVyID0gcmV0dXJuRmliZXIuc3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG5cbiAgICAgICAgICBzd2l0Y2ggKGZpYmVyLnRhZykge1xuICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICB2YXIgdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBwcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVDb250YWluZXJJbnN0YW5jZShwYXJlbnRDb250YWluZXIsIHR5cGUpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgICAgICAgICAgdmFyIHRleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAge1xuICAgICAgICAgIHZhciBwYXJlbnRUeXBlID0gcmV0dXJuRmliZXIudHlwZTtcbiAgICAgICAgICB2YXIgcGFyZW50UHJvcHMgPSByZXR1cm5GaWJlci5tZW1vaXplZFByb3BzO1xuICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcblxuICAgICAgICAgIHN3aXRjaCAoZmliZXIudGFnKSB7XG4gICAgICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgICAgIHZhciBfdHlwZSA9IGZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBfcHJvcHMgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlSW5zdGFuY2UocGFyZW50VHlwZSwgcGFyZW50UHJvcHMsIHBhcmVudEluc3RhbmNlLCBfdHlwZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAgICAgICAgICB2YXIgX3RleHQgPSBmaWJlci5wZW5kaW5nUHJvcHM7XG4gICAgICAgICAgICAgIGRpZE5vdEZpbmRIeWRyYXRhYmxlVGV4dEluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzLCBwYXJlbnRJbnN0YW5jZSwgX3RleHQpO1xuICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgICAgICAgICAgZGlkTm90RmluZEh5ZHJhdGFibGVTdXNwZW5zZUluc3RhbmNlKHBhcmVudFR5cGUsIHBhcmVudFByb3BzKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB0cnlIeWRyYXRlKGZpYmVyLCBuZXh0SW5zdGFuY2UpIHtcbiAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciB0eXBlID0gZmliZXIudHlwZTtcbiAgICAgICAgdmFyIHByb3BzID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBjYW5IeWRyYXRlSW5zdGFuY2UobmV4dEluc3RhbmNlLCB0eXBlKTtcblxuICAgICAgICBpZiAoaW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBmaWJlci5zdGF0ZU5vZGUgPSBpbnN0YW5jZTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgICB7XG4gICAgICAgIHZhciB0ZXh0ID0gZmliZXIucGVuZGluZ1Byb3BzO1xuICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gY2FuSHlkcmF0ZVRleHRJbnN0YW5jZShuZXh0SW5zdGFuY2UsIHRleHQpO1xuXG4gICAgICAgIGlmICh0ZXh0SW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBmaWJlci5zdGF0ZU5vZGUgPSB0ZXh0SW5zdGFuY2U7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZnVuY3Rpb24gdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIpIHtcbiAgaWYgKCFpc0h5ZHJhdGluZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBuZXh0SW5zdGFuY2UgPSBuZXh0SHlkcmF0YWJsZUluc3RhbmNlO1xuXG4gIGlmICghbmV4dEluc3RhbmNlKSB7XG4gICAgLy8gTm90aGluZyB0byBoeWRyYXRlLiBNYWtlIGl0IGFuIGluc2VydGlvbi5cbiAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSBmYWxzZTtcbiAgICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBmaXJzdEF0dGVtcHRlZEluc3RhbmNlID0gbmV4dEluc3RhbmNlO1xuXG4gIGlmICghdHJ5SHlkcmF0ZShmaWJlciwgbmV4dEluc3RhbmNlKSkge1xuICAgIC8vIElmIHdlIGNhbid0IGh5ZHJhdGUgdGhpcyBpbnN0YW5jZSBsZXQncyB0cnkgdGhlIG5leHQgb25lLlxuICAgIC8vIFdlIHVzZSB0aGlzIGFzIGEgaGV1cmlzdGljLiBJdCdzIGJhc2VkIG9uIGludHVpdGlvbiBhbmQgbm90IGRhdGEgc28gaXRcbiAgICAvLyBtaWdodCBiZSBmbGF3ZWQgb3IgdW5uZWNlc3NhcnkuXG4gICAgbmV4dEluc3RhbmNlID0gZ2V0TmV4dEh5ZHJhdGFibGVTaWJsaW5nKGZpcnN0QXR0ZW1wdGVkSW5zdGFuY2UpO1xuXG4gICAgaWYgKCFuZXh0SW5zdGFuY2UgfHwgIXRyeUh5ZHJhdGUoZmliZXIsIG5leHRJbnN0YW5jZSkpIHtcbiAgICAgIC8vIE5vdGhpbmcgdG8gaHlkcmF0ZS4gTWFrZSBpdCBhbiBpbnNlcnRpb24uXG4gICAgICBpbnNlcnROb25IeWRyYXRlZEluc3RhbmNlKGh5ZHJhdGlvblBhcmVudEZpYmVyLCBmaWJlcik7XG4gICAgICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xuICAgICAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBmaWJlcjtcbiAgICAgIHJldHVybjtcbiAgICB9IC8vIFdlIG1hdGNoZWQgdGhlIG5leHQgb25lLCB3ZSdsbCBub3cgYXNzdW1lIHRoYXQgdGhlIGZpcnN0IG9uZSB3YXNcbiAgICAvLyBzdXBlcmZsdW91cyBhbmQgd2UnbGwgZGVsZXRlIGl0LiBTaW5jZSB3ZSBjYW4ndCBlYWdlcmx5IGRlbGV0ZSBpdFxuICAgIC8vIHdlJ2xsIGhhdmUgdG8gc2NoZWR1bGUgYSBkZWxldGlvbi4gVG8gZG8gdGhhdCwgdGhpcyBub2RlIG5lZWRzIGEgZHVtbXlcbiAgICAvLyBmaWJlciBhc3NvY2lhdGVkIHdpdGggaXQuXG5cblxuICAgIGRlbGV0ZUh5ZHJhdGFibGVJbnN0YW5jZShoeWRyYXRpb25QYXJlbnRGaWJlciwgZmlyc3RBdHRlbXB0ZWRJbnN0YW5jZSk7XG4gIH1cblxuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IGZpYmVyO1xuICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gZ2V0Rmlyc3RIeWRyYXRhYmxlQ2hpbGQobmV4dEluc3RhbmNlKTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVRvSHlkcmF0ZUhvc3RJbnN0YW5jZShmaWJlciwgcm9vdENvbnRhaW5lckluc3RhbmNlLCBob3N0Q29udGV4dCkge1xuXG4gIHZhciBpbnN0YW5jZSA9IGZpYmVyLnN0YXRlTm9kZTtcbiAgdmFyIHVwZGF0ZVBheWxvYWQgPSBoeWRyYXRlSW5zdGFuY2UoaW5zdGFuY2UsIGZpYmVyLnR5cGUsIGZpYmVyLm1lbW9pemVkUHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgaG9zdENvbnRleHQsIGZpYmVyKTsgLy8gVE9ETzogVHlwZSB0aGlzIHNwZWNpZmljIHRvIHRoaXMgdHlwZSBvZiBjb21wb25lbnQuXG5cbiAgZmliZXIudXBkYXRlUXVldWUgPSB1cGRhdGVQYXlsb2FkOyAvLyBJZiB0aGUgdXBkYXRlIHBheWxvYWQgaW5kaWNhdGVzIHRoYXQgdGhlcmUgaXMgYSBjaGFuZ2Ugb3IgaWYgdGhlcmVcbiAgLy8gaXMgYSBuZXcgcmVmIHdlIG1hcmsgdGhpcyBhcyBhbiB1cGRhdGUuXG5cbiAgaWYgKHVwZGF0ZVBheWxvYWQgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gcHJlcGFyZVRvSHlkcmF0ZUhvc3RUZXh0SW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgdGV4dEluc3RhbmNlID0gZmliZXIuc3RhdGVOb2RlO1xuICB2YXIgdGV4dENvbnRlbnQgPSBmaWJlci5tZW1vaXplZFByb3BzO1xuICB2YXIgc2hvdWxkVXBkYXRlID0gaHlkcmF0ZVRleHRJbnN0YW5jZSh0ZXh0SW5zdGFuY2UsIHRleHRDb250ZW50LCBmaWJlcik7XG5cbiAge1xuICAgIGlmIChzaG91bGRVcGRhdGUpIHtcbiAgICAgIC8vIFdlIGFzc3VtZSB0aGF0IHByZXBhcmVUb0h5ZHJhdGVIb3N0VGV4dEluc3RhbmNlIGlzIGNhbGxlZCBpbiBhIGNvbnRleHQgd2hlcmUgdGhlXG4gICAgICAvLyBoeWRyYXRpb24gcGFyZW50IGlzIHRoZSBwYXJlbnQgaG9zdCBjb21wb25lbnQgb2YgdGhpcyBob3N0IHRleHQuXG4gICAgICB2YXIgcmV0dXJuRmliZXIgPSBoeWRyYXRpb25QYXJlbnRGaWJlcjtcblxuICAgICAgaWYgKHJldHVybkZpYmVyICE9PSBudWxsKSB7XG4gICAgICAgIHN3aXRjaCAocmV0dXJuRmliZXIudGFnKSB7XG4gICAgICAgICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdmFyIHBhcmVudENvbnRhaW5lciA9IHJldHVybkZpYmVyLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgICBkaWROb3RNYXRjaEh5ZHJhdGVkQ29udGFpbmVyVGV4dEluc3RhbmNlKHBhcmVudENvbnRhaW5lciwgdGV4dEluc3RhbmNlLCB0ZXh0Q29udGVudCk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YXIgcGFyZW50VHlwZSA9IHJldHVybkZpYmVyLnR5cGU7XG4gICAgICAgICAgICAgIHZhciBwYXJlbnRQcm9wcyA9IHJldHVybkZpYmVyLm1lbW9pemVkUHJvcHM7XG4gICAgICAgICAgICAgIHZhciBwYXJlbnRJbnN0YW5jZSA9IHJldHVybkZpYmVyLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgZGlkTm90TWF0Y2hIeWRyYXRlZFRleHRJbnN0YW5jZShwYXJlbnRUeXBlLCBwYXJlbnRQcm9wcywgcGFyZW50SW5zdGFuY2UsIHRleHRJbnN0YW5jZSwgdGV4dENvbnRlbnQpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzaG91bGRVcGRhdGU7XG59XG5cbmZ1bmN0aW9uIHNraXBQYXN0RGVoeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2UoZmliZXIpIHtcblxuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG4gIHZhciBzdXNwZW5zZUluc3RhbmNlID0gc3VzcGVuc2VTdGF0ZSAhPT0gbnVsbCA/IHN1c3BlbnNlU3RhdGUuZGVoeWRyYXRlZCA6IG51bGw7XG5cbiAgaWYgKCFzdXNwZW5zZUluc3RhbmNlKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiRXhwZWN0ZWQgdG8gaGF2ZSBhIGh5ZHJhdGVkIHN1c3BlbnNlIGluc3RhbmNlLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGdldE5leHRIeWRyYXRhYmxlSW5zdGFuY2VBZnRlclN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG59XG5cbmZ1bmN0aW9uIHBvcFRvTmV4dEhvc3RQYXJlbnQoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsICYmIHBhcmVudC50YWcgIT09IEhvc3RDb21wb25lbnQgJiYgcGFyZW50LnRhZyAhPT0gSG9zdFJvb3QgJiYgcGFyZW50LnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICBwYXJlbnQgPSBwYXJlbnQucmV0dXJuO1xuICB9XG5cbiAgaHlkcmF0aW9uUGFyZW50RmliZXIgPSBwYXJlbnQ7XG59XG5cbmZ1bmN0aW9uIHBvcEh5ZHJhdGlvblN0YXRlKGZpYmVyKSB7XG5cbiAgaWYgKGZpYmVyICE9PSBoeWRyYXRpb25QYXJlbnRGaWJlcikge1xuICAgIC8vIFdlJ3JlIGRlZXBlciB0aGFuIHRoZSBjdXJyZW50IGh5ZHJhdGlvbiBjb250ZXh0LCBpbnNpZGUgYW4gaW5zZXJ0ZWRcbiAgICAvLyB0cmVlLlxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghaXNIeWRyYXRpbmcpIHtcbiAgICAvLyBJZiB3ZSdyZSBub3QgY3VycmVudGx5IGh5ZHJhdGluZyBidXQgd2UncmUgaW4gYSBoeWRyYXRpb24gY29udGV4dCwgdGhlblxuICAgIC8vIHdlIHdlcmUgYW4gaW5zZXJ0aW9uIGFuZCBub3cgbmVlZCB0byBwb3AgdXAgcmVlbnRlciBoeWRyYXRpb24gb2Ygb3VyXG4gICAgLy8gc2libGluZ3MuXG4gICAgcG9wVG9OZXh0SG9zdFBhcmVudChmaWJlcik7XG4gICAgaXNIeWRyYXRpbmcgPSB0cnVlO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHZhciB0eXBlID0gZmliZXIudHlwZTsgLy8gSWYgd2UgaGF2ZSBhbnkgcmVtYWluaW5nIGh5ZHJhdGFibGUgbm9kZXMsIHdlIG5lZWQgdG8gZGVsZXRlIHRoZW0gbm93LlxuICAvLyBXZSBvbmx5IGRvIHRoaXMgZGVlcGVyIHRoYW4gaGVhZCBhbmQgYm9keSBzaW5jZSB0aGV5IHRlbmQgdG8gaGF2ZSByYW5kb21cbiAgLy8gb3RoZXIgbm9kZXMgaW4gdGhlbS4gV2UgYWxzbyBpZ25vcmUgY29tcG9uZW50cyB3aXRoIHB1cmUgdGV4dCBjb250ZW50IGluXG4gIC8vIHNpZGUgb2YgdGhlbS5cbiAgLy8gVE9ETzogQmV0dGVyIGhldXJpc3RpYy5cblxuICBpZiAoZmliZXIudGFnICE9PSBIb3N0Q29tcG9uZW50IHx8IHR5cGUgIT09ICdoZWFkJyAmJiB0eXBlICE9PSAnYm9keScgJiYgIXNob3VsZFNldFRleHRDb250ZW50KHR5cGUsIGZpYmVyLm1lbW9pemVkUHJvcHMpKSB7XG4gICAgdmFyIG5leHRJbnN0YW5jZSA9IG5leHRIeWRyYXRhYmxlSW5zdGFuY2U7XG5cbiAgICB3aGlsZSAobmV4dEluc3RhbmNlKSB7XG4gICAgICBkZWxldGVIeWRyYXRhYmxlSW5zdGFuY2UoZmliZXIsIG5leHRJbnN0YW5jZSk7XG4gICAgICBuZXh0SW5zdGFuY2UgPSBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcobmV4dEluc3RhbmNlKTtcbiAgICB9XG4gIH1cblxuICBwb3BUb05leHRIb3N0UGFyZW50KGZpYmVyKTtcblxuICBpZiAoZmliZXIudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCkge1xuICAgIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBza2lwUGFzdERlaHlkcmF0ZWRTdXNwZW5zZUluc3RhbmNlKGZpYmVyKTtcbiAgfSBlbHNlIHtcbiAgICBuZXh0SHlkcmF0YWJsZUluc3RhbmNlID0gaHlkcmF0aW9uUGFyZW50RmliZXIgPyBnZXROZXh0SHlkcmF0YWJsZVNpYmxpbmcoZmliZXIuc3RhdGVOb2RlKSA6IG51bGw7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gcmVzZXRIeWRyYXRpb25TdGF0ZSgpIHtcblxuICBoeWRyYXRpb25QYXJlbnRGaWJlciA9IG51bGw7XG4gIG5leHRIeWRyYXRhYmxlSW5zdGFuY2UgPSBudWxsO1xuICBpc0h5ZHJhdGluZyA9IGZhbHNlO1xufVxuXG52YXIgUmVhY3RDdXJyZW50T3duZXIkMSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0Q3VycmVudE93bmVyO1xudmFyIGRpZFJlY2VpdmVVcGRhdGUgPSBmYWxzZTtcbnZhciBkaWRXYXJuQWJvdXRCYWRDbGFzcztcbnZhciBkaWRXYXJuQWJvdXRNb2R1bGVQYXR0ZXJuQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dENvbnRleHRUeXBlT25GdW5jdGlvbkNvbXBvbmVudDtcbnZhciBkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50O1xudmFyIGRpZFdhcm5BYm91dEZ1bmN0aW9uUmVmcztcbnZhciBkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzO1xudmFyIGRpZFdhcm5BYm91dFJldmVhbE9yZGVyO1xudmFyIGRpZFdhcm5BYm91dFRhaWxPcHRpb25zO1xuXG57XG4gIGRpZFdhcm5BYm91dEJhZENsYXNzID0ge307XG4gIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnQgPSB7fTtcbiAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50ID0ge307XG4gIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnQgPSB7fTtcbiAgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzID0ge307XG4gIGRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMgPSBmYWxzZTtcbiAgZGlkV2FybkFib3V0UmV2ZWFsT3JkZXIgPSB7fTtcbiAgZGlkV2FybkFib3V0VGFpbE9wdGlvbnMgPSB7fTtcbn1cblxuZnVuY3Rpb24gcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgaWYgKGN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAvLyBJZiB0aGlzIGlzIGEgZnJlc2ggbmV3IGNvbXBvbmVudCB0aGF0IGhhc24ndCBiZWVuIHJlbmRlcmVkIHlldCwgd2VcbiAgICAvLyB3b24ndCB1cGRhdGUgaXRzIGNoaWxkIHNldCBieSBhcHBseWluZyBtaW5pbWFsIHNpZGUtZWZmZWN0cy4gSW5zdGVhZCxcbiAgICAvLyB3ZSB3aWxsIGFkZCB0aGVtIGFsbCB0byB0aGUgY2hpbGQgYmVmb3JlIGl0IGdldHMgcmVuZGVyZWQuIFRoYXQgbWVhbnNcbiAgICAvLyB3ZSBjYW4gb3B0aW1pemUgdGhpcyByZWNvbmNpbGlhdGlvbiBwYXNzIGJ5IG5vdCB0cmFja2luZyBzaWRlLWVmZmVjdHMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBtb3VudENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBJZiB0aGUgY3VycmVudCBjaGlsZCBpcyB0aGUgc2FtZSBhcyB0aGUgd29yayBpbiBwcm9ncmVzcywgaXQgbWVhbnMgdGhhdFxuICAgIC8vIHdlIGhhdmVuJ3QgeWV0IHN0YXJ0ZWQgYW55IHdvcmsgb24gdGhlc2UgY2hpbGRyZW4uIFRoZXJlZm9yZSwgd2UgdXNlXG4gICAgLy8gdGhlIGNsb25lIGFsZ29yaXRobSB0byBjcmVhdGUgYSBjb3B5IG9mIGFsbCB0aGUgY3VycmVudCBjaGlsZHJlbi5cbiAgICAvLyBJZiB3ZSBoYWQgYW55IHByb2dyZXNzZWQgd29yayBhbHJlYWR5LCB0aGF0IGlzIGludmFsaWQgYXQgdGhpcyBwb2ludCBzb1xuICAgIC8vIGxldCdzIHRocm93IGl0IG91dC5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBjdXJyZW50LmNoaWxkLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmb3JjZVVubW91bnRDdXJyZW50QW5kUmVjb25jaWxlKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIC8vIFRoaXMgZnVuY3Rpb24gaXMgZm9yayBvZiByZWNvbmNpbGVDaGlsZHJlbi4gSXQncyB1c2VkIGluIGNhc2VzIHdoZXJlIHdlXG4gIC8vIHdhbnQgdG8gcmVjb25jaWxlIHdpdGhvdXQgbWF0Y2hpbmcgYWdhaW5zdCB0aGUgZXhpc3Rpbmcgc2V0LiBUaGlzIGhhcyB0aGVcbiAgLy8gZWZmZWN0IG9mIGFsbCBjdXJyZW50IGNoaWxkcmVuIGJlaW5nIHVubW91bnRlZDsgZXZlbiBpZiB0aGUgdHlwZSBhbmQga2V5XG4gIC8vIGFyZSB0aGUgc2FtZSwgdGhlIG9sZCBjaGlsZCBpcyB1bm1vdW50ZWQgYW5kIGEgbmV3IGNoaWxkIGlzIGNyZWF0ZWQuXG4gIC8vXG4gIC8vIFRvIGRvIHRoaXMsIHdlJ3JlIGdvaW5nIHRvIGdvIHRocm91Z2ggdGhlIHJlY29uY2lsZSBhbGdvcml0aG0gdHdpY2UuIEluXG4gIC8vIHRoZSBmaXJzdCBwYXNzLCB3ZSBzY2hlZHVsZSBhIGRlbGV0aW9uIGZvciBhbGwgdGhlIGN1cnJlbnQgY2hpbGRyZW4gYnlcbiAgLy8gcGFzc2luZyBudWxsLlxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBjdXJyZW50LmNoaWxkLCBudWxsLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7IC8vIEluIHRoZSBzZWNvbmQgcGFzcywgd2UgbW91bnQgdGhlIG5ldyBjaGlsZHJlbi4gVGhlIHRyaWNrIGhlcmUgaXMgdGhhdCB3ZVxuICAvLyBwYXNzIG51bGwgaW4gcGxhY2Ugb2Ygd2hlcmUgd2UgdXN1YWxseSBwYXNzIHRoZSBjdXJyZW50IGNoaWxkIHNldC4gVGhpcyBoYXNcbiAgLy8gdGhlIGVmZmVjdCBvZiByZW1vdW50aW5nIGFsbCBjaGlsZHJlbiByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlaXJcbiAgLy8gaWRlbnRpdGllcyBtYXRjaC5cblxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlRm9yd2FyZFJlZihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIC8vIFRPRE86IGN1cnJlbnQgY2FuIGJlIG5vbi1udWxsIGhlcmUgZXZlbiBpZiB0aGUgY29tcG9uZW50XG4gIC8vIGhhc24ndCB5ZXQgbW91bnRlZC4gVGhpcyBoYXBwZW5zIGFmdGVyIHRoZSBmaXJzdCByZW5kZXIgc3VzcGVuZHMuXG4gIC8vIFdlJ2xsIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGlzIGZpbmUgb3IgY2FuIGNhdXNlIGlzc3Vlcy5cbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cbiAgICAgIHZhciBpbm5lclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XG5cbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmFyIHJlbmRlciA9IENvbXBvbmVudC5yZW5kZXI7XG4gIHZhciByZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7IC8vIFRoZSByZXN0IGlzIGEgZm9yayBvZiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudFxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyLCBuZXh0UHJvcHMsIHJlZiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuXG4gICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xuICAgICAgLy8gT25seSBkb3VibGUtcmVuZGVyIGNvbXBvbmVudHMgd2l0aCBIb29rc1xuICAgICAgaWYgKHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgbmV4dENoaWxkcmVuID0gcmVuZGVyV2l0aEhvb2tzKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXIsIG5leHRQcm9wcywgcmVmLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9XG5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgIWRpZFJlY2VpdmVVcGRhdGUpIHtcbiAgICBiYWlsb3V0SG9va3MoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICByZXR1cm4gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQZXJmb3JtZWRXb3JrO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIHZhciB0eXBlID0gQ29tcG9uZW50LnR5cGU7XG5cbiAgICBpZiAoaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSAmJiBDb21wb25lbnQuY29tcGFyZSA9PT0gbnVsbCAmJiAvLyBTaW1wbGVNZW1vQ29tcG9uZW50IGNvZGVwYXRoIGRvZXNuJ3QgcmVzb2x2ZSBvdXRlciBwcm9wcyBlaXRoZXIuXG4gICAgQ29tcG9uZW50LmRlZmF1bHRQcm9wcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB2YXIgcmVzb2x2ZWRUeXBlID0gdHlwZTtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcodHlwZSk7XG4gICAgICB9IC8vIElmIHRoaXMgaXMgYSBwbGFpbiBmdW5jdGlvbiBjb21wb25lbnQgd2l0aG91dCBkZWZhdWx0IHByb3BzLFxuICAgICAgLy8gYW5kIHdpdGggb25seSB0aGUgZGVmYXVsdCBzaGFsbG93IGNvbXBhcmlzb24sIHdlIHVwZ3JhZGUgaXRcbiAgICAgIC8vIHRvIGEgU2ltcGxlTWVtb0NvbXBvbmVudCB0byBhbGxvdyBmYXN0IHBhdGggdXBkYXRlcy5cblxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy50YWcgPSBTaW1wbGVNZW1vQ29tcG9uZW50O1xuICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVkVHlwZTtcblxuICAgICAge1xuICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIHR5cGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVzb2x2ZWRUeXBlLCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgfVxuXG4gICAge1xuICAgICAgdmFyIGlubmVyUHJvcFR5cGVzID0gdHlwZS5wcm9wVHlwZXM7XG5cbiAgICAgIGlmIChpbm5lclByb3BUeXBlcykge1xuICAgICAgICAvLyBJbm5lciBtZW1vIGNvbXBvbmVudCBwcm9wcyBhcmVuJ3QgY3VycmVudGx5IHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50LlxuICAgICAgICAvLyBXZSBjb3VsZCBtb3ZlIGl0IHRoZXJlLCBidXQgd2UnZCBzdGlsbCBuZWVkIHRoaXMgZm9yIGxhenkgY29kZSBwYXRoLlxuICAgICAgICBjaGVja1Byb3BUeXBlcyhpbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgICAncHJvcCcsIGdldENvbXBvbmVudE5hbWUodHlwZSksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBjaGlsZCA9IGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyhDb21wb25lbnQudHlwZSwgbnVsbCwgbmV4dFByb3BzLCBudWxsLCB3b3JrSW5Qcm9ncmVzcy5tb2RlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgY2hpbGQucmVmID0gd29ya0luUHJvZ3Jlc3MucmVmO1xuICAgIGNoaWxkLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY2hpbGQ7XG4gICAgcmV0dXJuIGNoaWxkO1xuICB9XG5cbiAge1xuICAgIHZhciBfdHlwZSA9IENvbXBvbmVudC50eXBlO1xuICAgIHZhciBfaW5uZXJQcm9wVHlwZXMgPSBfdHlwZS5wcm9wVHlwZXM7XG5cbiAgICBpZiAoX2lubmVyUHJvcFR5cGVzKSB7XG4gICAgICAvLyBJbm5lciBtZW1vIGNvbXBvbmVudCBwcm9wcyBhcmVuJ3QgY3VycmVudGx5IHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50LlxuICAgICAgLy8gV2UgY291bGQgbW92ZSBpdCB0aGVyZSwgYnV0IHdlJ2Qgc3RpbGwgbmVlZCB0aGlzIGZvciBsYXp5IGNvZGUgcGF0aC5cbiAgICAgIGNoZWNrUHJvcFR5cGVzKF9pbm5lclByb3BUeXBlcywgbmV4dFByb3BzLCAvLyBSZXNvbHZlZCBwcm9wc1xuICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKF90eXBlKSwgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XG4gICAgfVxuICB9XG5cbiAgdmFyIGN1cnJlbnRDaGlsZCA9IGN1cnJlbnQuY2hpbGQ7IC8vIFRoaXMgaXMgYWx3YXlzIGV4YWN0bHkgb25lIGNoaWxkXG5cbiAgaWYgKHVwZGF0ZUV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAvLyBUaGlzIHdpbGwgYmUgdGhlIHByb3BzIHdpdGggcmVzb2x2ZWQgZGVmYXVsdFByb3BzLFxuICAgIC8vIHVubGlrZSBjdXJyZW50Lm1lbW9pemVkUHJvcHMgd2hpY2ggd2lsbCBiZSB0aGUgdW5yZXNvbHZlZCBvbmVzLlxuICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Q2hpbGQubWVtb2l6ZWRQcm9wczsgLy8gRGVmYXVsdCB0byBzaGFsbG93IGNvbXBhcmlzb25cblxuICAgIHZhciBjb21wYXJlID0gQ29tcG9uZW50LmNvbXBhcmU7XG4gICAgY29tcGFyZSA9IGNvbXBhcmUgIT09IG51bGwgPyBjb21wYXJlIDogc2hhbGxvd0VxdWFsO1xuXG4gICAgaWYgKGNvbXBhcmUocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgfVxuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQZXJmb3JtZWRXb3JrO1xuICB2YXIgbmV3Q2hpbGQgPSBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50Q2hpbGQsIG5leHRQcm9wcyk7XG4gIG5ld0NoaWxkLnJlZiA9IHdvcmtJblByb2dyZXNzLnJlZjtcbiAgbmV3Q2hpbGQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbmV3Q2hpbGQ7XG4gIHJldHVybiBuZXdDaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlU2ltcGxlTWVtb0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAvLyBUT0RPOiBjdXJyZW50IGNhbiBiZSBub24tbnVsbCBoZXJlIGV2ZW4gaWYgdGhlIGNvbXBvbmVudFxuICAvLyBoYXNuJ3QgeWV0IG1vdW50ZWQuIFRoaXMgaGFwcGVucyB3aGVuIHRoZSBpbm5lciByZW5kZXIgc3VzcGVuZHMuXG4gIC8vIFdlJ2xsIG5lZWQgdG8gZmlndXJlIG91dCBpZiB0aGlzIGlzIGZpbmUgb3IgY2FuIGNhdXNlIGlzc3Vlcy5cbiAge1xuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy50eXBlICE9PSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSkge1xuICAgICAgLy8gTGF6eSBjb21wb25lbnQgcHJvcHMgY2FuJ3QgYmUgdmFsaWRhdGVkIGluIGNyZWF0ZUVsZW1lbnRcbiAgICAgIC8vIGJlY2F1c2UgdGhleSdyZSBvbmx5IGd1YXJhbnRlZWQgdG8gYmUgcmVzb2x2ZWQgaGVyZS5cbiAgICAgIHZhciBvdXRlck1lbW9UeXBlID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGU7XG5cbiAgICAgIGlmIChvdXRlck1lbW9UeXBlLiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgICAgLy8gV2Ugd2FybiB3aGVuIHlvdSBkZWZpbmUgcHJvcFR5cGVzIG9uIGxhenkoKVxuICAgICAgICAvLyBzbyBsZXQncyBqdXN0IHNraXAgb3ZlciBpdCB0byBmaW5kIG1lbW8oKSBvdXRlciB3cmFwcGVyLlxuICAgICAgICAvLyBJbm5lciBwcm9wcyBmb3IgbWVtbyBhcmUgdmFsaWRhdGVkIGxhdGVyLlxuICAgICAgICBvdXRlck1lbW9UeXBlID0gcmVmaW5lUmVzb2x2ZWRMYXp5Q29tcG9uZW50KG91dGVyTWVtb1R5cGUpO1xuICAgICAgfVxuXG4gICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBvdXRlck1lbW9UeXBlICYmIG91dGVyTWVtb1R5cGUucHJvcFR5cGVzO1xuXG4gICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgKFNpbXBsZU1lbW9Db21wb25lbnQgaGFzIG5vIGRlZmF1bHRQcm9wcylcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKG91dGVyTWVtb1R5cGUpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcbiAgICAgIH0gLy8gSW5uZXIgcHJvcFR5cGVzIHdpbGwgYmUgdmFsaWRhdGVkIGluIHRoZSBmdW5jdGlvbiBjb21wb25lbnQgcGF0aC5cblxuICAgIH1cbiAgfVxuXG4gIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgdmFyIHByZXZQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcblxuICAgIGlmIChzaGFsbG93RXF1YWwocHJldlByb3BzLCBuZXh0UHJvcHMpICYmIGN1cnJlbnQucmVmID09PSB3b3JrSW5Qcm9ncmVzcy5yZWYgJiYgKCAvLyBQcmV2ZW50IGJhaWxvdXQgaWYgdGhlIGltcGxlbWVudGF0aW9uIGNoYW5nZWQgZHVlIHRvIGhvdCByZWxvYWQuXG4gICAgIHdvcmtJblByb2dyZXNzLnR5cGUgPT09IGN1cnJlbnQudHlwZSApKSB7XG4gICAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG5cbiAgICAgIGlmICh1cGRhdGVFeHBpcmF0aW9uVGltZSA8IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgIC8vIFRoZSBwZW5kaW5nIHVwZGF0ZSBwcmlvcml0eSB3YXMgY2xlYXJlZCBhdCB0aGUgYmVnaW5uaW5nIG9mXG4gICAgICAgIC8vIGJlZ2luV29yay4gV2UncmUgYWJvdXQgdG8gYmFpbCBvdXQsIGJ1dCB0aGVyZSBtaWdodCBiZSBhZGRpdGlvbmFsXG4gICAgICAgIC8vIHVwZGF0ZXMgYXQgYSBsb3dlciBwcmlvcml0eS4gVXN1YWxseSwgdGhlIHByaW9yaXR5IGxldmVsIG9mIHRoZVxuICAgICAgICAvLyByZW1haW5pbmcgdXBkYXRlcyBpcyBhY2N1bWxhdGVkIGR1cmluZyB0aGUgZXZhbHVhdGlvbiBvZiB0aGVcbiAgICAgICAgLy8gY29tcG9uZW50IChpLmUuIHdoZW4gcHJvY2Vzc2luZyB0aGUgdXBkYXRlIHF1ZXVlKS4gQnV0IHNpbmNlIHNpbmNlXG4gICAgICAgIC8vIHdlJ3JlIGJhaWxpbmcgb3V0IGVhcmx5ICp3aXRob3V0KiBldmFsdWF0aW5nIHRoZSBjb21wb25lbnQsIHdlIG5lZWRcbiAgICAgICAgLy8gdG8gYWNjb3VudCBmb3IgaXQgaGVyZSwgdG9vLiBSZXNldCB0byB0aGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgZmliZXIuXG4gICAgICAgIC8vIE5PVEU6IFRoaXMgb25seSBhcHBsaWVzIHRvIFNpbXBsZU1lbW9Db21wb25lbnQsIG5vdCBNZW1vQ29tcG9uZW50LFxuICAgICAgICAvLyBiZWNhdXNlIGEgTWVtb0NvbXBvbmVudCBmaWJlciBkb2VzIG5vdCBoYXZlIGhvb2tzIG9yIGFuIHVwZGF0ZSBxdWV1ZTtcbiAgICAgICAgLy8gcmF0aGVyLCBpdCB3cmFwcyBhcm91bmQgYW4gaW5uZXIgY29tcG9uZW50LCB3aGljaCBtYXkgb3IgbWF5IG5vdFxuICAgICAgICAvLyBjb250YWlucyBob29rcy5cbiAgICAgICAgLy8gVE9ETzogTW92ZSB0aGUgcmVzZXQgYXQgaW4gYmVnaW5Xb3JrIG91dCBvZiB0aGUgY29tbW9uIHBhdGggc28gdGhhdFxuICAgICAgICAvLyB0aGlzIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gY3VycmVudC5leHBpcmF0aW9uVGltZTtcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gdXBkYXRlRnVuY3Rpb25Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUZyYWdtZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlTW9kZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIG5leHRDaGlsZHJlbiA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcy5jaGlsZHJlbjtcbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVByb2ZpbGVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcbiAgfVxuXG4gIHZhciBuZXh0UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBtYXJrUmVmKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciByZWYgPSB3b3JrSW5Qcm9ncmVzcy5yZWY7XG5cbiAgaWYgKGN1cnJlbnQgPT09IG51bGwgJiYgcmVmICE9PSBudWxsIHx8IGN1cnJlbnQgIT09IG51bGwgJiYgY3VycmVudC5yZWYgIT09IHJlZikge1xuICAgIC8vIFNjaGVkdWxlIGEgUmVmIGVmZmVjdFxuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBSZWY7XG4gIH1cbn1cblxuZnVuY3Rpb24gdXBkYXRlRnVuY3Rpb25Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAvLyBMYXp5IGNvbXBvbmVudCBwcm9wcyBjYW4ndCBiZSB2YWxpZGF0ZWQgaW4gY3JlYXRlRWxlbWVudFxuICAgICAgLy8gYmVjYXVzZSB0aGV5J3JlIG9ubHkgZ3VhcmFudGVlZCB0byBiZSByZXNvbHZlZCBoZXJlLlxuICAgICAgdmFyIGlubmVyUHJvcFR5cGVzID0gQ29tcG9uZW50LnByb3BUeXBlcztcblxuICAgICAgaWYgKGlubmVyUHJvcFR5cGVzKSB7XG4gICAgICAgIGNoZWNrUHJvcFR5cGVzKGlubmVyUHJvcFR5cGVzLCBuZXh0UHJvcHMsIC8vIFJlc29sdmVkIHByb3BzXG4gICAgICAgICdwcm9wJywgZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpLCBnZXRDdXJyZW50RmliZXJTdGFja0luRGV2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCB0cnVlKTtcbiAgICBjb250ZXh0ID0gZ2V0TWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgdW5tYXNrZWRDb250ZXh0KTtcbiAgfVxuXG4gIHZhciBuZXh0Q2hpbGRyZW47XG4gIHByZXBhcmVUb1JlYWRDb250ZXh0KHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAge1xuICAgIFJlYWN0Q3VycmVudE93bmVyJDEuY3VycmVudCA9IHdvcmtJblByb2dyZXNzO1xuICAgIHNldElzUmVuZGVyaW5nKHRydWUpO1xuICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIGNvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcblxuICAgIGlmICggd29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcbiAgICAgIC8vIE9ubHkgZG91YmxlLXJlbmRlciBjb21wb25lbnRzIHdpdGggSG9va3NcbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIG5leHRDaGlsZHJlbiA9IHJlbmRlcldpdGhIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIGNvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRJc1JlbmRlcmluZyhmYWxzZSk7XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiAhZGlkUmVjZWl2ZVVwZGF0ZSkge1xuICAgIGJhaWxvdXRIb29rcyhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIH0gLy8gUmVhY3QgRGV2VG9vbHMgcmVhZHMgdGhpcyBmbGFnLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBlcmZvcm1lZFdvcms7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgIC8vIExhenkgY29tcG9uZW50IHByb3BzIGNhbid0IGJlIHZhbGlkYXRlZCBpbiBjcmVhdGVFbGVtZW50XG4gICAgICAvLyBiZWNhdXNlIHRoZXkncmUgb25seSBndWFyYW50ZWVkIHRvIGJlIHJlc29sdmVkIGhlcmUuXG4gICAgICB2YXIgaW5uZXJQcm9wVHlwZXMgPSBDb21wb25lbnQucHJvcFR5cGVzO1xuXG4gICAgICBpZiAoaW5uZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgY2hlY2tQcm9wVHlwZXMoaW5uZXJQcm9wVHlwZXMsIG5leHRQcm9wcywgLy8gUmVzb2x2ZWQgcHJvcHNcbiAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBQdXNoIGNvbnRleHQgcHJvdmlkZXJzIGVhcmx5IHRvIHByZXZlbnQgY29udGV4dCBzdGFjayBtaXNtYXRjaGVzLlxuICAvLyBEdXJpbmcgbW91bnRpbmcgd2UgZG9uJ3Qga25vdyB0aGUgY2hpbGQgY29udGV4dCB5ZXQgYXMgdGhlIGluc3RhbmNlIGRvZXNuJ3QgZXhpc3QuXG4gIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuXG4gIHZhciBoYXNDb250ZXh0O1xuXG4gIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgaGFzQ29udGV4dCA9IHRydWU7XG4gICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gIH0gZWxzZSB7XG4gICAgaGFzQ29udGV4dCA9IGZhbHNlO1xuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICB2YXIgc2hvdWxkVXBkYXRlO1xuXG4gIGlmIChpbnN0YW5jZSA9PT0gbnVsbCkge1xuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBBIGNsYXNzIGNvbXBvbmVudCB3aXRob3V0IGFuIGluc3RhbmNlIG9ubHkgbW91bnRzIGlmIGl0IHN1c3BlbmRlZFxuICAgICAgLy8gaW5zaWRlIGEgbm9uLWNvbmN1cnJlbnQgdHJlZSwgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBXZSB3YW50IHRvXG4gICAgICAvLyB0cmVhdCBpdCBsaWtlIGEgbmV3IG1vdW50LCBldmVuIHRob3VnaCBhbiBlbXB0eSB2ZXJzaW9uIG9mIGl0IGFscmVhZHlcbiAgICAgIC8vIGNvbW1pdHRlZC4gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxuICAgICAgY3VycmVudC5hbHRlcm5hdGUgPSBudWxsO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gbnVsbDsgLy8gU2luY2UgdGhpcyBpcyBjb25jZXB0dWFsbHkgYSBuZXcgZmliZXIsIHNjaGVkdWxlIGEgUGxhY2VtZW50IGVmZmVjdFxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xuICAgIH0gLy8gSW4gdGhlIGluaXRpYWwgcGFzcyB3ZSBtaWdodCBuZWVkIHRvIGNvbnN0cnVjdCB0aGUgaW5zdGFuY2UuXG5cblxuICAgIGNvbnN0cnVjdENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzKTtcbiAgICBtb3VudENsYXNzSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgc2hvdWxkVXBkYXRlID0gdHJ1ZTtcbiAgfSBlbHNlIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gSW4gYSByZXN1bWUsIHdlJ2xsIGFscmVhZHkgaGF2ZSBhbiBpbnN0YW5jZSB3ZSBjYW4gcmV1c2UuXG4gICAgc2hvdWxkVXBkYXRlID0gcmVzdW1lTW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICB9IGVsc2Uge1xuICAgIHNob3VsZFVwZGF0ZSA9IHVwZGF0ZUNsYXNzSW5zdGFuY2UoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgbmV4dFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIH1cblxuICB2YXIgbmV4dFVuaXRPZldvcmsgPSBmaW5pc2hDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBzaG91bGRVcGRhdGUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcblxuICB7XG4gICAgdmFyIGluc3QgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICBpZiAoaW5zdC5wcm9wcyAhPT0gbmV4dFByb3BzKSB7XG4gICAgICBpZiAoIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgZXJyb3IoJ0l0IGxvb2tzIGxpa2UgJXMgaXMgcmVhc3NpZ25pbmcgaXRzIG93biBgdGhpcy5wcm9wc2Agd2hpbGUgcmVuZGVyaW5nLiAnICsgJ1RoaXMgaXMgbm90IHN1cHBvcnRlZCBhbmQgY2FuIGxlYWQgdG8gY29uZnVzaW5nIGJ1Z3MuJywgZ2V0Q29tcG9uZW50TmFtZSh3b3JrSW5Qcm9ncmVzcy50eXBlKSB8fCAnYSBjb21wb25lbnQnKTtcbiAgICAgIH1cblxuICAgICAgZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5leHRVbml0T2ZXb3JrO1xufVxuXG5mdW5jdGlvbiBmaW5pc2hDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBzaG91bGRVcGRhdGUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIC8vIFJlZnMgc2hvdWxkIHVwZGF0ZSBldmVuIGlmIHNob3VsZENvbXBvbmVudFVwZGF0ZSByZXR1cm5zIGZhbHNlXG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICB2YXIgZGlkQ2FwdHVyZUVycm9yID0gKHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdDtcblxuICBpZiAoIXNob3VsZFVwZGF0ZSAmJiAhZGlkQ2FwdHVyZUVycm9yKSB7XG4gICAgLy8gQ29udGV4dCBwcm92aWRlcnMgc2hvdWxkIGRlZmVyIHRvIHNDVSBmb3IgcmVuZGVyaW5nXG4gICAgaWYgKGhhc0NvbnRleHQpIHtcbiAgICAgIGludmFsaWRhdGVDb250ZXh0UHJvdmlkZXIod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgZmFsc2UpO1xuICAgIH1cblxuICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIH1cblxuICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7IC8vIFJlcmVuZGVyXG5cbiAgUmVhY3RDdXJyZW50T3duZXIkMS5jdXJyZW50ID0gd29ya0luUHJvZ3Jlc3M7XG4gIHZhciBuZXh0Q2hpbGRyZW47XG5cbiAgaWYgKGRpZENhcHR1cmVFcnJvciAmJiB0eXBlb2YgQ29tcG9uZW50LmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIC8vIElmIHdlIGNhcHR1cmVkIGFuIGVycm9yLCBidXQgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIGlzIG5vdCBkZWZpbmVkLFxuICAgIC8vIHVubW91bnQgYWxsIHRoZSBjaGlsZHJlbi4gY29tcG9uZW50RGlkQ2F0Y2ggd2lsbCBzY2hlZHVsZSBhbiB1cGRhdGUgdG9cbiAgICAvLyByZS1yZW5kZXIgYSBmYWxsYmFjay4gVGhpcyBpcyB0ZW1wb3JhcnkgdW50aWwgd2UgbWlncmF0ZSBldmVyeW9uZSB0b1xuICAgIC8vIHRoZSBuZXcgQVBJLlxuICAgIC8vIFRPRE86IFdhcm4gaW4gYSBmdXR1cmUgcmVsZWFzZS5cbiAgICBuZXh0Q2hpbGRyZW4gPSBudWxsO1xuXG4gICAge1xuICAgICAgc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmcoKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAge1xuICAgICAgc2V0SXNSZW5kZXJpbmcodHJ1ZSk7XG4gICAgICBuZXh0Q2hpbGRyZW4gPSBpbnN0YW5jZS5yZW5kZXIoKTtcblxuICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgU3RyaWN0TW9kZSkge1xuICAgICAgICBpbnN0YW5jZS5yZW5kZXIoKTtcbiAgICAgIH1cblxuICAgICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBkaWRDYXB0dXJlRXJyb3IpIHtcbiAgICAvLyBJZiB3ZSdyZSByZWNvdmVyaW5nIGZyb20gYW4gZXJyb3IsIHJlY29uY2lsZSB3aXRob3V0IHJldXNpbmcgYW55IG9mXG4gICAgLy8gdGhlIGV4aXN0aW5nIGNoaWxkcmVuLiBDb25jZXB0dWFsbHksIHRoZSBub3JtYWwgY2hpbGRyZW4gYW5kIHRoZSBjaGlsZHJlblxuICAgIC8vIHRoYXQgYXJlIHNob3duIG9uIGVycm9yIGFyZSB0d28gZGlmZmVyZW50IHNldHMsIHNvIHdlIHNob3VsZG4ndCByZXVzZVxuICAgIC8vIG5vcm1hbCBjaGlsZHJlbiBldmVuIGlmIHRoZWlyIGlkZW50aXRpZXMgbWF0Y2guXG4gICAgZm9yY2VVbm1vdW50Q3VycmVudEFuZFJlY29uY2lsZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIH0gZWxzZSB7XG4gICAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICB9IC8vIE1lbW9pemUgc3RhdGUgdXNpbmcgdGhlIHZhbHVlcyB3ZSBqdXN0IHVzZWQgdG8gcmVuZGVyLlxuICAvLyBUT0RPOiBSZXN0cnVjdHVyZSBzbyB3ZSBuZXZlciByZWFkIHZhbHVlcyBmcm9tIHRoZSBpbnN0YW5jZS5cblxuXG4gIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBpbnN0YW5jZS5zdGF0ZTsgLy8gVGhlIGNvbnRleHQgbWlnaHQgaGF2ZSBjaGFuZ2VkIHNvIHdlIG5lZWQgdG8gcmVjYWxjdWxhdGUgaXQuXG5cbiAgaWYgKGhhc0NvbnRleHQpIHtcbiAgICBpbnZhbGlkYXRlQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKSB7XG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIGlmIChyb290LnBlbmRpbmdDb250ZXh0KSB7XG4gICAgcHVzaFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcywgcm9vdC5wZW5kaW5nQ29udGV4dCwgcm9vdC5wZW5kaW5nQ29udGV4dCAhPT0gcm9vdC5jb250ZXh0KTtcbiAgfSBlbHNlIGlmIChyb290LmNvbnRleHQpIHtcbiAgICAvLyBTaG91bGQgYWx3YXlzIGJlIHNldFxuICAgIHB1c2hUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGV4dCwgZmFsc2UpO1xuICB9XG5cbiAgcHVzaEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MsIHJvb3QuY29udGFpbmVySW5mbyk7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBwdXNoSG9zdFJvb3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHVwZGF0ZVF1ZXVlID0gd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWU7XG5cbiAgaWYgKCEoY3VycmVudCAhPT0gbnVsbCAmJiB1cGRhdGVRdWV1ZSAhPT0gbnVsbCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJJZiB0aGUgcm9vdCBkb2VzIG5vdCBoYXZlIGFuIHVwZGF0ZVF1ZXVlLCB3ZSBzaG91bGQgaGF2ZSBhbHJlYWR5IGJhaWxlZCBvdXQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICB9XG4gIH1cblxuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcHJldlN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIHByZXZDaGlsZHJlbiA9IHByZXZTdGF0ZSAhPT0gbnVsbCA/IHByZXZTdGF0ZS5lbGVtZW50IDogbnVsbDtcbiAgY2xvbmVVcGRhdGVRdWV1ZShjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG4gIHByb2Nlc3NVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcywgbmV4dFByb3BzLCBudWxsLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIHZhciBuZXh0U3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlOyAvLyBDYXV0aW9uOiBSZWFjdCBEZXZUb29scyBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByb3BlcnR5XG4gIC8vIGJlaW5nIGNhbGxlZCBcImVsZW1lbnRcIi5cblxuICB2YXIgbmV4dENoaWxkcmVuID0gbmV4dFN0YXRlLmVsZW1lbnQ7XG5cbiAgaWYgKG5leHRDaGlsZHJlbiA9PT0gcHJldkNoaWxkcmVuKSB7XG4gICAgLy8gSWYgdGhlIHN0YXRlIGlzIHRoZSBzYW1lIGFzIGJlZm9yZSwgdGhhdCdzIGEgYmFpbG91dCBiZWNhdXNlIHdlIGhhZFxuICAgIC8vIG5vIHdvcmsgdGhhdCBleHBpcmVzIGF0IHRoaXMgdGltZS5cbiAgICByZXNldEh5ZHJhdGlvblN0YXRlKCk7XG4gICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgfVxuXG4gIHZhciByb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gIGlmIChyb290Lmh5ZHJhdGUgJiYgZW50ZXJIeWRyYXRpb25TdGF0ZSh3b3JrSW5Qcm9ncmVzcykpIHtcbiAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFueSBjdXJyZW50IGNoaWxkcmVuIHRoaXMgbWlnaHQgYmUgdGhlIGZpcnN0IHBhc3MuXG4gICAgLy8gV2UgYWx3YXlzIHRyeSB0byBoeWRyYXRlLiBJZiB0aGlzIGlzbid0IGEgaHlkcmF0aW9uIHBhc3MgdGhlcmUgd29uJ3RcbiAgICAvLyBiZSBhbnkgY2hpbGRyZW4gdG8gaHlkcmF0ZSB3aGljaCBpcyBlZmZlY3RpdmVseSB0aGUgc2FtZSB0aGluZyBhc1xuICAgIC8vIG5vdCBoeWRyYXRpbmcuXG4gICAgdmFyIGNoaWxkID0gbW91bnRDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgbnVsbCwgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBjaGlsZDtcbiAgICB2YXIgbm9kZSA9IGNoaWxkO1xuXG4gICAgd2hpbGUgKG5vZGUpIHtcbiAgICAgIC8vIE1hcmsgZWFjaCBjaGlsZCBhcyBoeWRyYXRpbmcuIFRoaXMgaXMgYSBmYXN0IHBhdGggdG8ga25vdyB3aGV0aGVyIHRoaXNcbiAgICAgIC8vIHRyZWUgaXMgcGFydCBvZiBhIGh5ZHJhdGluZyB0cmVlLiBUaGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgY2hpbGRcbiAgICAgIC8vIG5vZGUgaGFzIGZ1bGx5IG1vdW50ZWQgeWV0LCBhbmQgZm9yIHNjaGVkdWxpbmcgZXZlbnQgcmVwbGF5aW5nLlxuICAgICAgLy8gQ29uY2VwdHVhbGx5IHRoaXMgaXMgc2ltaWxhciB0byBQbGFjZW1lbnQgaW4gdGhhdCBhIG5ldyBzdWJ0cmVlIGlzXG4gICAgICAvLyBpbnNlcnRlZCBpbnRvIHRoZSBSZWFjdCB0cmVlIGhlcmUuIEl0IGp1c3QgaGFwcGVucyB0byBub3QgbmVlZCBET01cbiAgICAgIC8vIG11dGF0aW9ucyBiZWNhdXNlIGl0IGFscmVhZHkgZXhpc3RzLlxuICAgICAgbm9kZS5lZmZlY3RUYWcgPSBub2RlLmVmZmVjdFRhZyAmIH5QbGFjZW1lbnQgfCBIeWRyYXRpbmc7XG4gICAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgcmVzZXQgaHlkcmF0aW9uIHN0YXRlIGluIGNhc2Ugd2UgYWJvcnRlZCBhbmQgcmVzdW1lZCBhbm90aGVyXG4gICAgLy8gcm9vdC5cbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgcmVzZXRIeWRyYXRpb25TdGF0ZSgpO1xuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiB1cGRhdGVIb3N0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBwdXNoSG9zdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpO1xuICB9XG5cbiAgdmFyIHR5cGUgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICB2YXIgbmV4dFByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgcHJldlByb3BzID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG51bGw7XG4gIHZhciBuZXh0Q2hpbGRyZW4gPSBuZXh0UHJvcHMuY2hpbGRyZW47XG4gIHZhciBpc0RpcmVjdFRleHRDaGlsZCA9IHNob3VsZFNldFRleHRDb250ZW50KHR5cGUsIG5leHRQcm9wcyk7XG5cbiAgaWYgKGlzRGlyZWN0VGV4dENoaWxkKSB7XG4gICAgLy8gV2Ugc3BlY2lhbCBjYXNlIGEgZGlyZWN0IHRleHQgY2hpbGQgb2YgYSBob3N0IG5vZGUuIFRoaXMgaXMgYSBjb21tb25cbiAgICAvLyBjYXNlLiBXZSB3b24ndCBoYW5kbGUgaXQgYXMgYSByZWlmaWVkIGNoaWxkLiBXZSB3aWxsIGluc3RlYWQgaGFuZGxlXG4gICAgLy8gdGhpcyBpbiB0aGUgaG9zdCBlbnZpcm9ubWVudCB0aGF0IGFsc28gaGFzIGFjY2VzcyB0byB0aGlzIHByb3AuIFRoYXRcbiAgICAvLyBhdm9pZHMgYWxsb2NhdGluZyBhbm90aGVyIEhvc3RUZXh0IGZpYmVyIGFuZCB0cmF2ZXJzaW5nIGl0LlxuICAgIG5leHRDaGlsZHJlbiA9IG51bGw7XG4gIH0gZWxzZSBpZiAocHJldlByb3BzICE9PSBudWxsICYmIHNob3VsZFNldFRleHRDb250ZW50KHR5cGUsIHByZXZQcm9wcykpIHtcbiAgICAvLyBJZiB3ZSdyZSBzd2l0Y2hpbmcgZnJvbSBhIGRpcmVjdCB0ZXh0IGNoaWxkIHRvIGEgbm9ybWFsIGNoaWxkLCBvciB0b1xuICAgIC8vIGVtcHR5LCB3ZSBuZWVkIHRvIHNjaGVkdWxlIHRoZSB0ZXh0IGNvbnRlbnQgdG8gYmUgcmVzZXQuXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IENvbnRlbnRSZXNldDtcbiAgfVxuXG4gIG1hcmtSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpOyAvLyBDaGVjayB0aGUgaG9zdCBjb25maWcgdG8gc2VlIGlmIHRoZSBjaGlsZHJlbiBhcmUgb2Zmc2NyZWVuL2hpZGRlbi5cblxuICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIENvbmN1cnJlbnRNb2RlICYmIHJlbmRlckV4cGlyYXRpb25UaW1lICE9PSBOZXZlciAmJiBzaG91bGREZXByaW9yaXRpemVTdWJ0cmVlKHR5cGUsIG5leHRQcm9wcykpIHtcbiAgICB7XG4gICAgICBtYXJrU3Bhd25lZFdvcmsoTmV2ZXIpO1xuICAgIH0gLy8gU2NoZWR1bGUgdGhpcyBmaWJlciB0byByZS1yZW5kZXIgYXQgb2Zmc2NyZWVuIHByaW9yaXR5LiBUaGVuIGJhaWxvdXQuXG5cblxuICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IE5ldmVyO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVjb25jaWxlQ2hpbGRyZW4oY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIG5leHRDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUhvc3RUZXh0KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzKSB7XG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgdHJ5VG9DbGFpbU5leHRIeWRyYXRhYmxlSW5zdGFuY2Uod29ya0luUHJvZ3Jlc3MpO1xuICB9IC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4gVGhpcyBpcyB0ZXJtaW5hbC4gV2UnbGwgZG8gdGhlIGNvbXBsZXRpb24gc3RlcFxuICAvLyBpbW1lZGlhdGVseSBhZnRlci5cblxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBtb3VudExhenlDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBlbGVtZW50VHlwZSwgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIGlmIChfY3VycmVudCAhPT0gbnVsbCkge1xuICAgIC8vIEEgbGF6eSBjb21wb25lbnQgb25seSBtb3VudHMgaWYgaXQgc3VzcGVuZGVkIGluc2lkZSBhIG5vbi1cbiAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXG4gICAgLy8gYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeSBjb21taXR0ZWQuXG4gICAgLy8gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxuICAgIF9jdXJyZW50LmFsdGVybmF0ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gbnVsbDsgLy8gU2luY2UgdGhpcyBpcyBjb25jZXB0dWFsbHkgYSBuZXcgZmliZXIsIHNjaGVkdWxlIGEgUGxhY2VtZW50IGVmZmVjdFxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcbiAgfVxuXG4gIHZhciBwcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wczsgLy8gV2UgY2FuJ3Qgc3RhcnQgYSBVc2VyIFRpbWluZyBtZWFzdXJlbWVudCB3aXRoIGNvcnJlY3QgbGFiZWwgeWV0LlxuICAvLyBDYW5jZWwgYW5kIHJlc3VtZSByaWdodCBhZnRlciB3ZSBrbm93IHRoZSB0YWcuXG5cbiAgY2FuY2VsV29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIENvbXBvbmVudCA9IHJlYWRMYXp5Q29tcG9uZW50VHlwZShlbGVtZW50VHlwZSk7IC8vIFN0b3JlIHRoZSB1bndyYXBwZWQgY29tcG9uZW50IGluIHRoZSB0eXBlLlxuXG4gIHdvcmtJblByb2dyZXNzLnR5cGUgPSBDb21wb25lbnQ7XG4gIHZhciByZXNvbHZlZFRhZyA9IHdvcmtJblByb2dyZXNzLnRhZyA9IHJlc29sdmVMYXp5Q29tcG9uZW50VGFnKENvbXBvbmVudCk7XG4gIHN0YXJ0V29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcbiAgdmFyIHJlc29sdmVkUHJvcHMgPSByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudCwgcHJvcHMpO1xuICB2YXIgY2hpbGQ7XG5cbiAgc3dpdGNoIChyZXNvbHZlZFRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCk7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhDb21wb25lbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGQgPSB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gQ29tcG9uZW50ID0gcmVzb2x2ZUNsYXNzRm9ySG90UmVsb2FkaW5nKENvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZUNsYXNzQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHJlc29sdmVkUHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgcmV0dXJuIGNoaWxkO1xuICAgICAgfVxuXG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IENvbXBvbmVudCA9IHJlc29sdmVGb3J3YXJkUmVmRm9ySG90UmVsb2FkaW5nKENvbXBvbmVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IHVwZGF0ZUZvcndhcmRSZWYobnVsbCwgd29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICB9XG5cbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUpIHtcbiAgICAgICAgICAgIHZhciBvdXRlclByb3BUeXBlcyA9IENvbXBvbmVudC5wcm9wVHlwZXM7XG5cbiAgICAgICAgICAgIGlmIChvdXRlclByb3BUeXBlcykge1xuICAgICAgICAgICAgICBjaGVja1Byb3BUeXBlcyhvdXRlclByb3BUeXBlcywgcmVzb2x2ZWRQcm9wcywgLy8gUmVzb2x2ZWQgZm9yIG91dGVyIG9ubHlcbiAgICAgICAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNoaWxkID0gdXBkYXRlTWVtb0NvbXBvbmVudChudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZXNvbHZlRGVmYXVsdFByb3BzKENvbXBvbmVudC50eXBlLCByZXNvbHZlZFByb3BzKSwgLy8gVGhlIGlubmVyIHR5cGUgY2FuIGhhdmUgZGVmYXVsdHMgdG9vXG4gICAgICAgIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgIH1cbiAgfVxuXG4gIHZhciBoaW50ID0gJyc7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQgIT09IG51bGwgJiYgdHlwZW9mIENvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgQ29tcG9uZW50LiQkdHlwZW9mID09PSBSRUFDVF9MQVpZX1RZUEUpIHtcbiAgICAgIGhpbnQgPSAnIERpZCB5b3Ugd3JhcCBhIGNvbXBvbmVudCBpbiBSZWFjdC5sYXp5KCkgbW9yZSB0aGFuIG9uY2U/JztcbiAgICB9XG4gIH0gLy8gVGhpcyBtZXNzYWdlIGludGVudGlvbmFsbHkgZG9lc24ndCBtZW50aW9uIEZvcndhcmRSZWYgb3IgTWVtb0NvbXBvbmVudFxuICAvLyBiZWNhdXNlIHRoZSBmYWN0IHRoYXQgaXQncyBhIHNlcGFyYXRlIHR5cGUgb2Ygd29yayBpcyBhblxuICAvLyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuXG5cblxuICB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiRWxlbWVudCB0eXBlIGlzIGludmFsaWQuIFJlY2VpdmVkIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvOiBcIiArIENvbXBvbmVudCArIFwiLiBMYXp5IGVsZW1lbnQgdHlwZSBtdXN0IHJlc29sdmUgdG8gYSBjbGFzcyBvciBmdW5jdGlvbi5cIiArIGhpbnQgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbW91bnRJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQoX2N1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgaWYgKF9jdXJyZW50ICE9PSBudWxsKSB7XG4gICAgLy8gQW4gaW5jb21wbGV0ZSBjb21wb25lbnQgb25seSBtb3VudHMgaWYgaXQgc3VzcGVuZGVkIGluc2lkZSBhIG5vbi1cbiAgICAvLyBjb25jdXJyZW50IHRyZWUsIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gV2Ugd2FudCB0byB0cmVhdCBpdCBsaWtlXG4gICAgLy8gYSBuZXcgbW91bnQsIGV2ZW4gdGhvdWdoIGFuIGVtcHR5IHZlcnNpb24gb2YgaXQgYWxyZWFkeSBjb21taXR0ZWQuXG4gICAgLy8gRGlzY29ubmVjdCB0aGUgYWx0ZXJuYXRlIHBvaW50ZXJzLlxuICAgIF9jdXJyZW50LmFsdGVybmF0ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gbnVsbDsgLy8gU2luY2UgdGhpcyBpcyBjb25jZXB0dWFsbHkgYSBuZXcgZmliZXIsIHNjaGVkdWxlIGEgUGxhY2VtZW50IGVmZmVjdFxuXG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcbiAgfSAvLyBQcm9tb3RlIHRoZSBmaWJlciB0byBhIGNsYXNzIGFuZCB0cnkgcmVuZGVyaW5nIGFnYWluLlxuXG5cbiAgd29ya0luUHJvZ3Jlc3MudGFnID0gQ2xhc3NDb21wb25lbnQ7IC8vIFRoZSByZXN0IG9mIHRoaXMgZnVuY3Rpb24gaXMgYSBmb3JrIG9mIGB1cGRhdGVDbGFzc0NvbXBvbmVudGBcbiAgLy8gUHVzaCBjb250ZXh0IHByb3ZpZGVycyBlYXJseSB0byBwcmV2ZW50IGNvbnRleHQgc3RhY2sgbWlzbWF0Y2hlcy5cbiAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxuICAvLyBXZSB3aWxsIGludmFsaWRhdGUgdGhlIGNoaWxkIGNvbnRleHQgaW4gZmluaXNoQ2xhc3NDb21wb25lbnQoKSByaWdodCBhZnRlciByZW5kZXJpbmcuXG5cbiAgdmFyIGhhc0NvbnRleHQ7XG5cbiAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICBoYXNDb250ZXh0ID0gdHJ1ZTtcbiAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgfSBlbHNlIHtcbiAgICBoYXNDb250ZXh0ID0gZmFsc2U7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICBjb25zdHJ1Y3RDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIG5leHRQcm9wcyk7XG4gIG1vdW50Q2xhc3NJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBuZXh0UHJvcHMsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgcmV0dXJuIGZpbmlzaENsYXNzQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbn1cblxuZnVuY3Rpb24gbW91bnRJbmRldGVybWluYXRlQ29tcG9uZW50KF9jdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBpZiAoX2N1cnJlbnQgIT09IG51bGwpIHtcbiAgICAvLyBBbiBpbmRldGVybWluYXRlIGNvbXBvbmVudCBvbmx5IG1vdW50cyBpZiBpdCBzdXNwZW5kZWQgaW5zaWRlIGEgbm9uLVxuICAgIC8vIGNvbmN1cnJlbnQgdHJlZSwgaW4gYW4gaW5jb25zaXN0ZW50IHN0YXRlLiBXZSB3YW50IHRvIHRyZWF0IGl0IGxpa2VcbiAgICAvLyBhIG5ldyBtb3VudCwgZXZlbiB0aG91Z2ggYW4gZW1wdHkgdmVyc2lvbiBvZiBpdCBhbHJlYWR5IGNvbW1pdHRlZC5cbiAgICAvLyBEaXNjb25uZWN0IHRoZSBhbHRlcm5hdGUgcG9pbnRlcnMuXG4gICAgX2N1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBTaW5jZSB0aGlzIGlzIGNvbmNlcHR1YWxseSBhIG5ldyBmaWJlciwgc2NoZWR1bGUgYSBQbGFjZW1lbnQgZWZmZWN0XG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGxhY2VtZW50O1xuICB9XG5cbiAgdmFyIHByb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuICB2YXIgY29udGV4dDtcblxuICB7XG4gICAgdmFyIHVubWFza2VkQ29udGV4dCA9IGdldFVubWFza2VkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBmYWxzZSk7XG4gICAgY29udGV4dCA9IGdldE1hc2tlZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHVubWFza2VkQ29udGV4dCk7XG4gIH1cblxuICBwcmVwYXJlVG9SZWFkQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICB2YXIgdmFsdWU7XG5cbiAge1xuICAgIGlmIChDb21wb25lbnQucHJvdG90eXBlICYmIHR5cGVvZiBDb21wb25lbnQucHJvdG90eXBlLnJlbmRlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCkgfHwgJ1Vua25vd24nO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEJhZENsYXNzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKFwiVGhlIDwlcyAvPiBjb21wb25lbnQgYXBwZWFycyB0byBoYXZlIGEgcmVuZGVyIG1ldGhvZCwgYnV0IGRvZXNuJ3QgZXh0ZW5kIFJlYWN0LkNvbXBvbmVudC4gXCIgKyAnVGhpcyBpcyBsaWtlbHkgdG8gY2F1c2UgZXJyb3JzLiBDaGFuZ2UgJXMgdG8gZXh0ZW5kIFJlYWN0LkNvbXBvbmVudCBpbnN0ZWFkLicsIGNvbXBvbmVudE5hbWUsIGNvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dEJhZENsYXNzW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3MubW9kZSAmIFN0cmljdE1vZGUpIHtcbiAgICAgIFJlYWN0U3RyaWN0TW9kZVdhcm5pbmdzLnJlY29yZExlZ2FjeUNvbnRleHRXYXJuaW5nKHdvcmtJblByb2dyZXNzLCBudWxsKTtcbiAgICB9XG5cbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICB2YWx1ZSA9IHJlbmRlcldpdGhIb29rcyhudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgY29udGV4dCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgIHNldElzUmVuZGVyaW5nKGZhbHNlKTtcbiAgfSAvLyBSZWFjdCBEZXZUb29scyByZWFkcyB0aGlzIGZsYWcuXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gUGVyZm9ybWVkV29yaztcblxuICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUucmVuZGVyID09PSAnZnVuY3Rpb24nICYmIHZhbHVlLiQkdHlwZW9mID09PSB1bmRlZmluZWQpIHtcbiAgICB7XG4gICAgICB2YXIgX2NvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKENvbXBvbmVudCkgfHwgJ1Vua25vd24nO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdUaGUgPCVzIC8+IGNvbXBvbmVudCBhcHBlYXJzIHRvIGJlIGEgZnVuY3Rpb24gY29tcG9uZW50IHRoYXQgcmV0dXJucyBhIGNsYXNzIGluc3RhbmNlLiAnICsgJ0NoYW5nZSAlcyB0byBhIGNsYXNzIHRoYXQgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQgaW5zdGVhZC4gJyArIFwiSWYgeW91IGNhbid0IHVzZSBhIGNsYXNzIHRyeSBhc3NpZ25pbmcgdGhlIHByb3RvdHlwZSBvbiB0aGUgZnVuY3Rpb24gYXMgYSB3b3JrYXJvdW5kLiBcIiArIFwiYCVzLnByb3RvdHlwZSA9IFJlYWN0LkNvbXBvbmVudC5wcm90b3R5cGVgLiBEb24ndCB1c2UgYW4gYXJyb3cgZnVuY3Rpb24gc2luY2UgaXQgXCIgKyAnY2Fubm90IGJlIGNhbGxlZCB3aXRoIGBuZXdgIGJ5IFJlYWN0LicsIF9jb21wb25lbnROYW1lLCBfY29tcG9uZW50TmFtZSwgX2NvbXBvbmVudE5hbWUpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dE1vZHVsZVBhdHRlcm5Db21wb25lbnRbX2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IC8vIFByb2NlZWQgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGlzIGlzIGEgY2xhc3MgaW5zdGFuY2VcblxuXG4gICAgd29ya0luUHJvZ3Jlc3MudGFnID0gQ2xhc3NDb21wb25lbnQ7IC8vIFRocm93IG91dCBhbnkgaG9va3MgdGhhdCB3ZXJlIHVzZWQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7IC8vIFB1c2ggY29udGV4dCBwcm92aWRlcnMgZWFybHkgdG8gcHJldmVudCBjb250ZXh0IHN0YWNrIG1pc21hdGNoZXMuXG4gICAgLy8gRHVyaW5nIG1vdW50aW5nIHdlIGRvbid0IGtub3cgdGhlIGNoaWxkIGNvbnRleHQgeWV0IGFzIHRoZSBpbnN0YW5jZSBkb2Vzbid0IGV4aXN0LlxuICAgIC8vIFdlIHdpbGwgaW52YWxpZGF0ZSB0aGUgY2hpbGQgY29udGV4dCBpbiBmaW5pc2hDbGFzc0NvbXBvbmVudCgpIHJpZ2h0IGFmdGVyIHJlbmRlcmluZy5cblxuICAgIHZhciBoYXNDb250ZXh0ID0gZmFsc2U7XG5cbiAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoQ29tcG9uZW50KSkge1xuICAgICAgaGFzQ29udGV4dCA9IHRydWU7XG4gICAgICBwdXNoQ29udGV4dFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFzQ29udGV4dCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSB2YWx1ZS5zdGF0ZSAhPT0gbnVsbCAmJiB2YWx1ZS5zdGF0ZSAhPT0gdW5kZWZpbmVkID8gdmFsdWUuc3RhdGUgOiBudWxsO1xuICAgIGluaXRpYWxpemVVcGRhdGVRdWV1ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgdmFyIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9IENvbXBvbmVudC5nZXREZXJpdmVkU3RhdGVGcm9tUHJvcHM7XG5cbiAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgYXBwbHlEZXJpdmVkU3RhdGVGcm9tUHJvcHMod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCwgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgYWRvcHRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCB2YWx1ZSk7XG4gICAgbW91bnRDbGFzc0luc3RhbmNlKHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgcmV0dXJuIGZpbmlzaENsYXNzQ29tcG9uZW50KG51bGwsIHdvcmtJblByb2dyZXNzLCBDb21wb25lbnQsIHRydWUsIGhhc0NvbnRleHQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBQcm9jZWVkIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRoYXQgdGhpcyBpcyBhIGZ1bmN0aW9uIGNvbXBvbmVudFxuICAgIHdvcmtJblByb2dyZXNzLnRhZyA9IEZ1bmN0aW9uQ29tcG9uZW50O1xuXG4gICAge1xuXG4gICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBTdHJpY3RNb2RlKSB7XG4gICAgICAgIC8vIE9ubHkgZG91YmxlLXJlbmRlciBjb21wb25lbnRzIHdpdGggSG9va3NcbiAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YWx1ZSA9IHJlbmRlcldpdGhIb29rcyhudWxsLCB3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50LCBwcm9wcywgY29udGV4dCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVjb25jaWxlQ2hpbGRyZW4obnVsbCwgd29ya0luUHJvZ3Jlc3MsIHZhbHVlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAgICB7XG4gICAgICB2YWxpZGF0ZUZ1bmN0aW9uQ29tcG9uZW50SW5EZXYod29ya0luUHJvZ3Jlc3MsIENvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlRnVuY3Rpb25Db21wb25lbnRJbkRldih3b3JrSW5Qcm9ncmVzcywgQ29tcG9uZW50KSB7XG4gIHtcbiAgICBpZiAoQ29tcG9uZW50KSB7XG4gICAgICBpZiAoQ29tcG9uZW50LmNoaWxkQ29udGV4dFR5cGVzKSB7XG4gICAgICAgIGVycm9yKCclcyguLi4pOiBjaGlsZENvbnRleHRUeXBlcyBjYW5ub3QgYmUgZGVmaW5lZCBvbiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4nLCBDb21wb25lbnQuZGlzcGxheU5hbWUgfHwgQ29tcG9uZW50Lm5hbWUgfHwgJ0NvbXBvbmVudCcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5yZWYgIT09IG51bGwpIHtcbiAgICAgIHZhciBpbmZvID0gJyc7XG4gICAgICB2YXIgb3duZXJOYW1lID0gZ2V0Q3VycmVudEZpYmVyT3duZXJOYW1lSW5EZXZPck51bGwoKTtcblxuICAgICAgaWYgKG93bmVyTmFtZSkge1xuICAgICAgICBpbmZvICs9ICdcXG5cXG5DaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiBgJyArIG93bmVyTmFtZSArICdgLic7XG4gICAgICB9XG5cbiAgICAgIHZhciB3YXJuaW5nS2V5ID0gb3duZXJOYW1lIHx8IHdvcmtJblByb2dyZXNzLl9kZWJ1Z0lEIHx8ICcnO1xuICAgICAgdmFyIGRlYnVnU291cmNlID0gd29ya0luUHJvZ3Jlc3MuX2RlYnVnU291cmNlO1xuXG4gICAgICBpZiAoZGVidWdTb3VyY2UpIHtcbiAgICAgICAgd2FybmluZ0tleSA9IGRlYnVnU291cmNlLmZpbGVOYW1lICsgJzonICsgZGVidWdTb3VyY2UubGluZU51bWJlcjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRGdW5jdGlvblJlZnNbd2FybmluZ0tleV0pIHtcbiAgICAgICAgZGlkV2FybkFib3V0RnVuY3Rpb25SZWZzW3dhcm5pbmdLZXldID0gdHJ1ZTtcblxuICAgICAgICBlcnJvcignRnVuY3Rpb24gY29tcG9uZW50cyBjYW5ub3QgYmUgZ2l2ZW4gcmVmcy4gJyArICdBdHRlbXB0cyB0byBhY2Nlc3MgdGhpcyByZWYgd2lsbCBmYWlsLiAnICsgJ0RpZCB5b3UgbWVhbiB0byB1c2UgUmVhY3QuZm9yd2FyZFJlZigpPyVzJywgaW5mbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBDb21wb25lbnQuZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgX2NvbXBvbmVudE5hbWUyID0gZ2V0Q29tcG9uZW50TmFtZShDb21wb25lbnQpIHx8ICdVbmtub3duJztcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRHZXREZXJpdmVkU3RhdGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lMl0pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcy4nLCBfY29tcG9uZW50TmFtZTIpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dEdldERlcml2ZWRTdGF0ZU9uRnVuY3Rpb25Db21wb25lbnRbX2NvbXBvbmVudE5hbWUyXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBDb21wb25lbnQuY29udGV4dFR5cGUgPT09ICdvYmplY3QnICYmIENvbXBvbmVudC5jb250ZXh0VHlwZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9jb21wb25lbnROYW1lMyA9IGdldENvbXBvbmVudE5hbWUoQ29tcG9uZW50KSB8fCAnVW5rbm93bic7XG5cbiAgICAgIGlmICghZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10pIHtcbiAgICAgICAgZXJyb3IoJyVzOiBGdW5jdGlvbiBjb21wb25lbnRzIGRvIG5vdCBzdXBwb3J0IGNvbnRleHRUeXBlLicsIF9jb21wb25lbnROYW1lMyk7XG5cbiAgICAgICAgZGlkV2FybkFib3V0Q29udGV4dFR5cGVPbkZ1bmN0aW9uQ29tcG9uZW50W19jb21wb25lbnROYW1lM10gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG52YXIgU1VTUEVOREVEX01BUktFUiA9IHtcbiAgZGVoeWRyYXRlZDogbnVsbCxcbiAgcmV0cnlUaW1lOiBOb1dvcmtcbn07XG5cbmZ1bmN0aW9uIHNob3VsZFJlbWFpbk9uRmFsbGJhY2soc3VzcGVuc2VDb250ZXh0LCBjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcykge1xuICAvLyBJZiB0aGUgY29udGV4dCBpcyB0ZWxsaW5nIHVzIHRoYXQgd2Ugc2hvdWxkIHNob3cgYSBmYWxsYmFjaywgYW5kIHdlJ3JlIG5vdFxuICAvLyBhbHJlYWR5IHNob3dpbmcgY29udGVudCwgdGhlbiB3ZSBzaG91bGQgc2hvdyB0aGUgZmFsbGJhY2sgaW5zdGVhZC5cbiAgcmV0dXJuIGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjaykgJiYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5tZW1vaXplZFN0YXRlICE9PSBudWxsKTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIHZhciBtb2RlID0gd29ya0luUHJvZ3Jlc3MubW9kZTtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wczsgLy8gVGhpcyBpcyB1c2VkIGJ5IERldlRvb2xzIHRvIGZvcmNlIGEgYm91bmRhcnkgdG8gc3VzcGVuZC5cblxuICB7XG4gICAgaWYgKHNob3VsZFN1c3BlbmQod29ya0luUHJvZ3Jlc3MpKSB7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcbiAgICB9XG4gIH1cblxuICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuICB2YXIgbmV4dERpZFRpbWVvdXQgPSBmYWxzZTtcbiAgdmFyIGRpZFN1c3BlbmQgPSAod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xuXG4gIGlmIChkaWRTdXNwZW5kIHx8IHNob3VsZFJlbWFpbk9uRmFsbGJhY2soc3VzcGVuc2VDb250ZXh0LCBjdXJyZW50KSkge1xuICAgIC8vIFNvbWV0aGluZyBpbiB0aGlzIGJvdW5kYXJ5J3Mgc3VidHJlZSBhbHJlYWR5IHN1c3BlbmRlZC4gU3dpdGNoIHRvXG4gICAgLy8gcmVuZGVyaW5nIHRoZSBmYWxsYmFjayBjaGlsZHJlbi5cbiAgICBuZXh0RGlkVGltZW91dCA9IHRydWU7XG4gICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICY9IH5EaWRDYXB0dXJlO1xuICB9IGVsc2Uge1xuICAgIC8vIEF0dGVtcHRpbmcgdGhlIG1haW4gY29udGVudFxuICAgIGlmIChjdXJyZW50ID09PSBudWxsIHx8IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyBhIG5ldyBtb3VudCBvciB0aGlzIGJvdW5kYXJ5IGlzIGFscmVhZHkgc2hvd2luZyBhIGZhbGxiYWNrIHN0YXRlLlxuICAgICAgLy8gTWFyayB0aGlzIHN1YnRyZWUgY29udGV4dCBhcyBoYXZpbmcgYXQgbGVhc3Qgb25lIGludmlzaWJsZSBwYXJlbnQgdGhhdCBjb3VsZFxuICAgICAgLy8gaGFuZGxlIHRoZSBmYWxsYmFjayBzdGF0ZS5cbiAgICAgIC8vIEJvdW5kYXJpZXMgd2l0aG91dCBmYWxsYmFja3Mgb3Igc2hvdWxkIGJlIGF2b2lkZWQgYXJlIG5vdCBjb25zaWRlcmVkIHNpbmNlXG4gICAgICAvLyB0aGV5IGNhbm5vdCBoYW5kbGUgcHJlZmVycmVkIGZhbGxiYWNrIHN0YXRlcy5cbiAgICAgIGlmIChuZXh0UHJvcHMuZmFsbGJhY2sgIT09IHVuZGVmaW5lZCAmJiBuZXh0UHJvcHMudW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2sgIT09IHRydWUpIHtcbiAgICAgICAgc3VzcGVuc2VDb250ZXh0ID0gYWRkU3VidHJlZVN1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEludmlzaWJsZVBhcmVudFN1c3BlbnNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3VzcGVuc2VDb250ZXh0ID0gc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0KTtcbiAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTsgLy8gVGhpcyBuZXh0IHBhcnQgaXMgYSBiaXQgY29uZnVzaW5nLiBJZiB0aGUgY2hpbGRyZW4gdGltZW91dCwgd2Ugc3dpdGNoIHRvXG4gIC8vIHNob3dpbmcgdGhlIGZhbGxiYWNrIGNoaWxkcmVuIGluIHBsYWNlIG9mIHRoZSBcInByaW1hcnlcIiBjaGlsZHJlbi5cbiAgLy8gSG93ZXZlciwgd2UgZG9uJ3Qgd2FudCB0byBkZWxldGUgdGhlIHByaW1hcnkgY2hpbGRyZW4gYmVjYXVzZSB0aGVuIHRoZWlyXG4gIC8vIHN0YXRlIHdpbGwgYmUgbG9zdCAoYm90aCB0aGUgUmVhY3Qgc3RhdGUgYW5kIHRoZSBob3N0IHN0YXRlLCBlLmcuXG4gIC8vIHVuY29udHJvbGxlZCBmb3JtIGlucHV0cykuIEluc3RlYWQgd2Uga2VlcCB0aGVtIG1vdW50ZWQgYW5kIGhpZGUgdGhlbS5cbiAgLy8gQm90aCB0aGUgZmFsbGJhY2sgY2hpbGRyZW4gQU5EIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGFyZSByZW5kZXJlZCBhdCB0aGVcbiAgLy8gc2FtZSB0aW1lLiBPbmNlIHRoZSBwcmltYXJ5IGNoaWxkcmVuIGFyZSB1bi1zdXNwZW5kZWQsIHdlIGNhbiBkZWxldGVcbiAgLy8gdGhlIGZhbGxiYWNrIGNoaWxkcmVuIOKAlCBkb24ndCBuZWVkIHRvIHByZXNlcnZlIHRoZWlyIHN0YXRlLlxuICAvL1xuICAvLyBUaGUgdHdvIHNldHMgb2YgY2hpbGRyZW4gYXJlIHNpYmxpbmdzIGluIHRoZSBob3N0IGVudmlyb25tZW50LCBidXRcbiAgLy8gc2VtYW50aWNhbGx5LCBmb3IgcHVycG9zZXMgb2YgcmVjb25jaWxpYXRpb24sIHRoZXkgYXJlIHR3byBzZXBhcmF0ZSBzZXRzLlxuICAvLyBTbyB3ZSBzdG9yZSB0aGVtIHVzaW5nIHR3byBmcmFnbWVudCBmaWJlcnMuXG4gIC8vXG4gIC8vIEhvd2V2ZXIsIHdlIHdhbnQgdG8gYXZvaWQgYWxsb2NhdGluZyBleHRyYSBmaWJlcnMgZm9yIGV2ZXJ5IHBsYWNlaG9sZGVyLlxuICAvLyBUaGV5J3JlIG9ubHkgbmVjZXNzYXJ5IHdoZW4gdGhlIGNoaWxkcmVuIHRpbWUgb3V0LCBiZWNhdXNlIHRoYXQncyB0aGVcbiAgLy8gb25seSB0aW1lIHdoZW4gYm90aCBzZXRzIGFyZSBtb3VudGVkLlxuICAvL1xuICAvLyBTbywgdGhlIGV4dHJhIGZyYWdtZW50IGZpYmVycyBhcmUgb25seSB1c2VkIGlmIHRoZSBjaGlsZHJlbiB0aW1lIG91dC5cbiAgLy8gT3RoZXJ3aXNlLCB3ZSByZW5kZXIgdGhlIHByaW1hcnkgY2hpbGRyZW4gZGlyZWN0bHkuIFRoaXMgcmVxdWlyZXMgc29tZVxuICAvLyBjdXN0b20gcmVjb25jaWxpYXRpb24gbG9naWMgdG8gcHJlc2VydmUgdGhlIHN0YXRlIG9mIHRoZSBwcmltYXJ5XG4gIC8vIGNoaWxkcmVuLiBJdCdzIGVzc2VudGlhbGx5IGEgdmVyeSBiYXNpYyBmb3JtIG9mIHJlLXBhcmVudGluZy5cblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIElmIHdlJ3JlIGN1cnJlbnRseSBoeWRyYXRpbmcsIHRyeSB0byBoeWRyYXRlIHRoaXMgYm91bmRhcnkuXG4gICAgLy8gQnV0IG9ubHkgaWYgdGhpcyBoYXMgYSBmYWxsYmFjay5cbiAgICBpZiAobmV4dFByb3BzLmZhbGxiYWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRyeVRvQ2xhaW1OZXh0SHlkcmF0YWJsZUluc3RhbmNlKHdvcmtJblByb2dyZXNzKTsgLy8gVGhpcyBjb3VsZCd2ZSBiZWVuIGEgZGVoeWRyYXRlZCBzdXNwZW5zZSBjb21wb25lbnQuXG4gICAgfSAvLyBUaGlzIGlzIHRoZSBpbml0aWFsIG1vdW50LiBUaGlzIGJyYW5jaCBpcyBwcmV0dHkgc2ltcGxlIGJlY2F1c2UgdGhlcmUnc1xuICAgIC8vIG5vIHByZXZpb3VzIHN0YXRlIHRoYXQgbmVlZHMgdG8gYmUgcHJlc2VydmVkLlxuXG5cbiAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcbiAgICAgIC8vIE1vdW50IHNlcGFyYXRlIGZyYWdtZW50cyBmb3IgcHJpbWFyeSBhbmQgZmFsbGJhY2sgY2hpbGRyZW4uXG4gICAgICB2YXIgbmV4dEZhbGxiYWNrQ2hpbGRyZW4gPSBuZXh0UHJvcHMuZmFsbGJhY2s7XG4gICAgICB2YXIgcHJpbWFyeUNoaWxkRnJhZ21lbnQgPSBjcmVhdGVGaWJlckZyb21GcmFnbWVudChudWxsLCBtb2RlLCBOb1dvcmssIG51bGwpO1xuICAgICAgcHJpbWFyeUNoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG5cbiAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xuICAgICAgICAvLyBPdXRzaWRlIG9mIGJsb2NraW5nIG1vZGUsIHdlIGNvbW1pdCB0aGUgZWZmZWN0cyBmcm9tIHRoZVxuICAgICAgICAvLyBwYXJ0aWFsbHkgY29tcGxldGVkLCB0aW1lZC1vdXQgdHJlZSwgdG9vLlxuICAgICAgICB2YXIgcHJvZ3Jlc3NlZFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgdmFyIHByb2dyZXNzZWRQcmltYXJ5Q2hpbGQgPSBwcm9ncmVzc2VkU3RhdGUgIT09IG51bGwgPyB3b3JrSW5Qcm9ncmVzcy5jaGlsZC5jaGlsZCA6IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5jaGlsZCA9IHByb2dyZXNzZWRQcmltYXJ5Q2hpbGQ7XG4gICAgICAgIHZhciBwcm9ncmVzc2VkQ2hpbGQgPSBwcm9ncmVzc2VkUHJpbWFyeUNoaWxkO1xuXG4gICAgICAgIHdoaWxlIChwcm9ncmVzc2VkQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICBwcm9ncmVzc2VkQ2hpbGQucmV0dXJuID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gICAgICAgICAgcHJvZ3Jlc3NlZENoaWxkID0gcHJvZ3Jlc3NlZENoaWxkLnNpYmxpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIGZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGNyZWF0ZUZpYmVyRnJvbUZyYWdtZW50KG5leHRGYWxsYmFja0NoaWxkcmVuLCBtb2RlLCByZW5kZXJFeHBpcmF0aW9uVGltZSwgbnVsbCk7XG4gICAgICBmYWxsYmFja0NoaWxkRnJhZ21lbnQucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICBwcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50OyAvLyBTa2lwIHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBhbmQgY29udGludWUgd29ya2luZyBvbiB0aGVcbiAgICAgIC8vIGZhbGxiYWNrIGNoaWxkcmVuLlxuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcHJpbWFyeUNoaWxkRnJhZ21lbnQ7XG4gICAgICByZXR1cm4gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBNb3VudCB0aGUgcHJpbWFyeSBjaGlsZHJlbiB3aXRob3V0IGFuIGludGVybWVkaWF0ZSBmcmFnbWVudCBmaWJlci5cbiAgICAgIHZhciBuZXh0UHJpbWFyeUNoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBtb3VudENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0UHJpbWFyeUNoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgaXMgYW4gdXBkYXRlLiBUaGlzIGJyYW5jaCBpcyBtb3JlIGNvbXBsaWNhdGVkIGJlY2F1c2Ugd2UgbmVlZCB0b1xuICAgIC8vIGVuc3VyZSB0aGUgc3RhdGUgb2YgdGhlIHByaW1hcnkgY2hpbGRyZW4gaXMgcHJlc2VydmVkLlxuICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG5cbiAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAvLyB3cmFwcGVkIGluIGEgZnJhZ21lbnQgZmliZXIuXG5cblxuICAgICAgdmFyIGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudCA9IGN1cnJlbnQuY2hpbGQ7XG4gICAgICB2YXIgY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCA9IGN1cnJlbnRQcmltYXJ5Q2hpbGRGcmFnbWVudC5zaWJsaW5nO1xuXG4gICAgICBpZiAobmV4dERpZFRpbWVvdXQpIHtcbiAgICAgICAgLy8gU3RpbGwgdGltZWQgb3V0LiBSZXVzZSB0aGUgY3VycmVudCBwcmltYXJ5IGNoaWxkcmVuIGJ5IGNsb25pbmdcbiAgICAgICAgLy8gaXRzIGZyYWdtZW50LiBXZSdyZSBnb2luZyB0byBza2lwIG92ZXIgdGhlc2UgZW50aXJlbHkuXG4gICAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4yID0gbmV4dFByb3BzLmZhbGxiYWNrO1xuXG4gICAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LCBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQucGVuZGluZ1Byb3BzKTtcblxuICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuXG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xuICAgICAgICAgIC8vIE91dHNpZGUgb2YgYmxvY2tpbmcgbW9kZSwgd2UgY29tbWl0IHRoZSBlZmZlY3RzIGZyb20gdGhlXG4gICAgICAgICAgLy8gcGFydGlhbGx5IGNvbXBsZXRlZCwgdGltZWQtb3V0IHRyZWUsIHRvby5cbiAgICAgICAgICB2YXIgX3Byb2dyZXNzZWRTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICB2YXIgX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQgPSBfcHJvZ3Jlc3NlZFN0YXRlICE9PSBudWxsID8gd29ya0luUHJvZ3Jlc3MuY2hpbGQuY2hpbGQgOiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgIGlmIChfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZCAhPT0gY3VycmVudFByaW1hcnlDaGlsZEZyYWdtZW50LmNoaWxkKSB7XG4gICAgICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkID0gX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQ7XG4gICAgICAgICAgICB2YXIgX3Byb2dyZXNzZWRDaGlsZDIgPSBfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDtcblxuICAgICAgICAgICAgd2hpbGUgKF9wcm9ncmVzc2VkQ2hpbGQyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIF9wcm9ncmVzc2VkQ2hpbGQyLnJldHVybiA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDI7XG4gICAgICAgICAgICAgIF9wcm9ncmVzc2VkQ2hpbGQyID0gX3Byb2dyZXNzZWRDaGlsZDIuc2libGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gLy8gQmVjYXVzZSBwcmltYXJ5Q2hpbGRGcmFnbWVudCBpcyBhIG5ldyBmaWJlciB0aGF0IHdlJ3JlIGluc2VydGluZyBhcyB0aGVcbiAgICAgICAgLy8gcGFyZW50IG9mIGEgbmV3IHRyZWUsIHdlIG5lZWQgdG8gc2V0IGl0cyB0cmVlQmFzZUR1cmF0aW9uLlxuXG5cbiAgICAgICAgaWYgKCB3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpIHtcbiAgICAgICAgICAvLyB0cmVlQmFzZUR1cmF0aW9uIGlzIHRoZSBzdW0gb2YgYWxsIHRoZSBjaGlsZCB0cmVlIGJhc2UgZHVyYXRpb25zLlxuICAgICAgICAgIHZhciBfdHJlZUJhc2VEdXJhdGlvbiA9IDA7XG4gICAgICAgICAgdmFyIF9oaWRkZW5DaGlsZCA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuY2hpbGQ7XG5cbiAgICAgICAgICB3aGlsZSAoX2hpZGRlbkNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBfdHJlZUJhc2VEdXJhdGlvbiArPSBfaGlkZGVuQ2hpbGQudHJlZUJhc2VEdXJhdGlvbjtcbiAgICAgICAgICAgIF9oaWRkZW5DaGlsZCA9IF9oaWRkZW5DaGlsZC5zaWJsaW5nO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIudHJlZUJhc2VEdXJhdGlvbiA9IF90cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgICB9IC8vIENsb25lIHRoZSBmYWxsYmFjayBjaGlsZCBmcmFnbWVudCwgdG9vLiBUaGVzZSB3ZSdsbCBjb250aW51ZVxuICAgICAgICAvLyB3b3JraW5nIG9uLlxuXG5cbiAgICAgICAgdmFyIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQyID0gY3JlYXRlV29ya0luUHJvZ3Jlc3MoY3VycmVudEZhbGxiYWNrQ2hpbGRGcmFnbWVudCwgX25leHRGYWxsYmFja0NoaWxkcmVuMik7XG5cbiAgICAgICAgX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDIucmV0dXJuID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDIuc2libGluZyA9IF9mYWxsYmFja0NoaWxkRnJhZ21lbnQyO1xuICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7IC8vIFNraXAgdGhlIHByaW1hcnkgY2hpbGRyZW4sIGFuZCBjb250aW51ZSB3b3JraW5nIG9uIHRoZVxuICAgICAgICAvLyBmYWxsYmFjayBjaGlsZHJlbi5cblxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gU1VTUEVOREVEX01BUktFUjtcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQyO1xuICAgICAgICByZXR1cm4gX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDI7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBsb25nZXIgc3VzcGVuZGVkLiBTd2l0Y2ggYmFjayB0byBzaG93aW5nIHRoZSBwcmltYXJ5IGNoaWxkcmVuLFxuICAgICAgICAvLyBhbmQgcmVtb3ZlIHRoZSBpbnRlcm1lZGlhdGUgZnJhZ21lbnQgZmliZXIuXG4gICAgICAgIHZhciBfbmV4dFByaW1hcnlDaGlsZHJlbiA9IG5leHRQcm9wcy5jaGlsZHJlbjtcbiAgICAgICAgdmFyIGN1cnJlbnRQcmltYXJ5Q2hpbGQgPSBjdXJyZW50UHJpbWFyeUNoaWxkRnJhZ21lbnQuY2hpbGQ7XG4gICAgICAgIHZhciBwcmltYXJ5Q2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgY3VycmVudFByaW1hcnlDaGlsZCwgX25leHRQcmltYXJ5Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTsgLy8gSWYgdGhpcyByZW5kZXIgZG9lc24ndCBzdXNwZW5kLCB3ZSBuZWVkIHRvIGRlbGV0ZSB0aGUgZmFsbGJhY2tcbiAgICAgICAgLy8gY2hpbGRyZW4uIFdhaXQgdW50aWwgdGhlIGNvbXBsZXRlIHBoYXNlLCBhZnRlciB3ZSd2ZSBjb25maXJtZWQgdGhlXG4gICAgICAgIC8vIGZhbGxiYWNrIGlzIG5vIGxvbmdlciBuZWVkZWQuXG4gICAgICAgIC8vIFRPRE86IFdvdWxkIGl0IGJlIGJldHRlciB0byBzdG9yZSB0aGUgZmFsbGJhY2sgZnJhZ21lbnQgb25cbiAgICAgICAgLy8gdGhlIHN0YXRlTm9kZT9cbiAgICAgICAgLy8gQ29udGludWUgcmVuZGVyaW5nIHRoZSBjaGlsZHJlbiwgbGlrZSB3ZSBub3JtYWxseSBkby5cblxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkID0gcHJpbWFyeUNoaWxkO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgY3VycmVudCB0cmVlIGhhcyBub3QgYWxyZWFkeSB0aW1lZCBvdXQuIFRoYXQgbWVhbnMgdGhlIHByaW1hcnlcbiAgICAgIC8vIGNoaWxkcmVuIGFyZSBub3Qgd3JhcHBlZCBpbiBhIGZyYWdtZW50IGZpYmVyLlxuICAgICAgdmFyIF9jdXJyZW50UHJpbWFyeUNoaWxkID0gY3VycmVudC5jaGlsZDtcblxuICAgICAgaWYgKG5leHREaWRUaW1lb3V0KSB7XG4gICAgICAgIC8vIFRpbWVkIG91dC4gV3JhcCB0aGUgY2hpbGRyZW4gaW4gYSBmcmFnbWVudCBmaWJlciB0byBrZWVwIHRoZW1cbiAgICAgICAgLy8gc2VwYXJhdGUgZnJvbSB0aGUgZmFsbGJhY2sgY2hpbGRyZW4uXG4gICAgICAgIHZhciBfbmV4dEZhbGxiYWNrQ2hpbGRyZW4zID0gbmV4dFByb3BzLmZhbGxiYWNrO1xuXG4gICAgICAgIHZhciBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoIC8vIEl0IHNob3VsZG4ndCBtYXR0ZXIgd2hhdCB0aGUgcGVuZGluZyBwcm9wcyBhcmUgYmVjYXVzZSB3ZSBhcmVuJ3RcbiAgICAgICAgLy8gZ29pbmcgdG8gcmVuZGVyIHRoaXMgZnJhZ21lbnQuXG4gICAgICAgIG51bGwsIG1vZGUsIE5vV29yaywgbnVsbCk7XG5cbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5yZXR1cm4gPSB3b3JrSW5Qcm9ncmVzcztcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5jaGlsZCA9IF9jdXJyZW50UHJpbWFyeUNoaWxkO1xuXG4gICAgICAgIGlmIChfY3VycmVudFByaW1hcnlDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgIF9jdXJyZW50UHJpbWFyeUNoaWxkLnJldHVybiA9IF9wcmltYXJ5Q2hpbGRGcmFnbWVudDM7XG4gICAgICAgIH0gLy8gRXZlbiB0aG91Z2ggd2UncmUgY3JlYXRpbmcgYSBuZXcgZmliZXIsIHRoZXJlIGFyZSBubyBuZXcgY2hpbGRyZW4sXG4gICAgICAgIC8vIGJlY2F1c2Ugd2UncmUgcmV1c2luZyBhbiBhbHJlYWR5IG1vdW50ZWQgdHJlZS4gU28gd2UgZG9uJ3QgbmVlZCB0b1xuICAgICAgICAvLyBzY2hlZHVsZSBhIHBsYWNlbWVudC5cbiAgICAgICAgLy8gcHJpbWFyeUNoaWxkRnJhZ21lbnQuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcblxuXG4gICAgICAgIGlmICgod29ya0luUHJvZ3Jlc3MubW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xuICAgICAgICAgIC8vIE91dHNpZGUgb2YgYmxvY2tpbmcgbW9kZSwgd2UgY29tbWl0IHRoZSBlZmZlY3RzIGZyb20gdGhlXG4gICAgICAgICAgLy8gcGFydGlhbGx5IGNvbXBsZXRlZCwgdGltZWQtb3V0IHRyZWUsIHRvby5cbiAgICAgICAgICB2YXIgX3Byb2dyZXNzZWRTdGF0ZTIgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgdmFyIF9wcm9ncmVzc2VkUHJpbWFyeUNoaWxkMiA9IF9wcm9ncmVzc2VkU3RhdGUyICE9PSBudWxsID8gd29ya0luUHJvZ3Jlc3MuY2hpbGQuY2hpbGQgOiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcblxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMuY2hpbGQgPSBfcHJvZ3Jlc3NlZFByaW1hcnlDaGlsZDI7XG4gICAgICAgICAgdmFyIF9wcm9ncmVzc2VkQ2hpbGQzID0gX3Byb2dyZXNzZWRQcmltYXJ5Q2hpbGQyO1xuXG4gICAgICAgICAgd2hpbGUgKF9wcm9ncmVzc2VkQ2hpbGQzICE9PSBudWxsKSB7XG4gICAgICAgICAgICBfcHJvZ3Jlc3NlZENoaWxkMy5yZXR1cm4gPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzO1xuICAgICAgICAgICAgX3Byb2dyZXNzZWRDaGlsZDMgPSBfcHJvZ3Jlc3NlZENoaWxkMy5zaWJsaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBCZWNhdXNlIHByaW1hcnlDaGlsZEZyYWdtZW50IGlzIGEgbmV3IGZpYmVyIHRoYXQgd2UncmUgaW5zZXJ0aW5nIGFzIHRoZVxuICAgICAgICAvLyBwYXJlbnQgb2YgYSBuZXcgdHJlZSwgd2UgbmVlZCB0byBzZXQgaXRzIHRyZWVCYXNlRHVyYXRpb24uXG5cblxuICAgICAgICBpZiAoIHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAgIC8vIHRyZWVCYXNlRHVyYXRpb24gaXMgdGhlIHN1bSBvZiBhbGwgdGhlIGNoaWxkIHRyZWUgYmFzZSBkdXJhdGlvbnMuXG4gICAgICAgICAgdmFyIF90cmVlQmFzZUR1cmF0aW9uMiA9IDA7XG4gICAgICAgICAgdmFyIF9oaWRkZW5DaGlsZDIgPSBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzLmNoaWxkO1xuXG4gICAgICAgICAgd2hpbGUgKF9oaWRkZW5DaGlsZDIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIF90cmVlQmFzZUR1cmF0aW9uMiArPSBfaGlkZGVuQ2hpbGQyLnRyZWVCYXNlRHVyYXRpb247XG4gICAgICAgICAgICBfaGlkZGVuQ2hpbGQyID0gX2hpZGRlbkNoaWxkMi5zaWJsaW5nO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIF9wcmltYXJ5Q2hpbGRGcmFnbWVudDMudHJlZUJhc2VEdXJhdGlvbiA9IF90cmVlQmFzZUR1cmF0aW9uMjtcbiAgICAgICAgfSAvLyBDcmVhdGUgYSBmcmFnbWVudCBmcm9tIHRoZSBmYWxsYmFjayBjaGlsZHJlbiwgdG9vLlxuXG5cbiAgICAgICAgdmFyIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQzID0gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoX25leHRGYWxsYmFja0NoaWxkcmVuMywgbW9kZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUsIG51bGwpO1xuXG4gICAgICAgIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQzLnJldHVybiA9IHdvcmtJblByb2dyZXNzO1xuICAgICAgICBfcHJpbWFyeUNoaWxkRnJhZ21lbnQzLnNpYmxpbmcgPSBfZmFsbGJhY2tDaGlsZEZyYWdtZW50MztcbiAgICAgICAgX2ZhbGxiYWNrQ2hpbGRGcmFnbWVudDMuZWZmZWN0VGFnIHw9IFBsYWNlbWVudDtcbiAgICAgICAgX3ByaW1hcnlDaGlsZEZyYWdtZW50My5jaGlsZEV4cGlyYXRpb25UaW1lID0gTm9Xb3JrOyAvLyBTa2lwIHRoZSBwcmltYXJ5IGNoaWxkcmVuLCBhbmQgY29udGludWUgd29ya2luZyBvbiB0aGVcbiAgICAgICAgLy8gZmFsbGJhY2sgY2hpbGRyZW4uXG5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IFNVU1BFTkRFRF9NQVJLRVI7XG4gICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gX3ByaW1hcnlDaGlsZEZyYWdtZW50MztcbiAgICAgICAgcmV0dXJuIF9mYWxsYmFja0NoaWxkRnJhZ21lbnQzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU3RpbGwgaGF2ZW4ndCB0aW1lZCBvdXQuIENvbnRpbnVlIHJlbmRlcmluZyB0aGUgY2hpbGRyZW4sIGxpa2Ugd2VcbiAgICAgICAgLy8gbm9ybWFsbHkgZG8uXG4gICAgICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBudWxsO1xuICAgICAgICB2YXIgX25leHRQcmltYXJ5Q2hpbGRyZW4yID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQgPSByZWNvbmNpbGVDaGlsZEZpYmVycyh3b3JrSW5Qcm9ncmVzcywgX2N1cnJlbnRQcmltYXJ5Q2hpbGQsIF9uZXh0UHJpbWFyeUNoaWxkcmVuMiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZVdvcmtPbkZpYmVyKGZpYmVyLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7XG4gIH1cblxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcbiAgfVxuXG4gIHNjaGVkdWxlV29ya09uUGFyZW50UGF0aChmaWJlci5yZXR1cm4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlU3VzcGVuc2VDb250ZXh0Q2hhbmdlKHdvcmtJblByb2dyZXNzLCBmaXJzdENoaWxkLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAvLyBNYXJrIGFueSBTdXNwZW5zZSBib3VuZGFyaWVzIHdpdGggZmFsbGJhY2tzIGFzIGhhdmluZyB3b3JrIHRvIGRvLlxuICAvLyBJZiB0aGV5IHdlcmUgcHJldmlvdXNseSBmb3JjZWQgaW50byBmYWxsYmFja3MsIHRoZXkgbWF5IG5vdyBiZSBhYmxlXG4gIC8vIHRvIHVuYmxvY2suXG4gIHZhciBub2RlID0gZmlyc3RDaGlsZDtcblxuICB3aGlsZSAobm9kZSAhPT0gbnVsbCkge1xuICAgIGlmIChub2RlLnRhZyA9PT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAgIHZhciBzdGF0ZSA9IG5vZGUubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgaWYgKHN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHNjaGVkdWxlV29ya09uRmliZXIobm9kZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlTGlzdENvbXBvbmVudCkge1xuICAgICAgLy8gSWYgdGhlIHRhaWwgaXMgaGlkZGVuIHRoZXJlIG1pZ2h0IG5vdCBiZSBhbiBTdXNwZW5zZSBib3VuZGFyaWVzXG4gICAgICAvLyB0byBzY2hlZHVsZSB3b3JrIG9uLiBJbiB0aGlzIGNhc2Ugd2UgaGF2ZSB0byBzY2hlZHVsZSBpdCBvbiB0aGVcbiAgICAgIC8vIGxpc3QgaXRzZWxmLlxuICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSB0byB0cmF2ZXJzZSB0byB0aGUgY2hpbGRyZW4gb2YgdGhlIGxpc3Qgc2luY2VcbiAgICAgIC8vIHRoZSBsaXN0IHdpbGwgcHJvcGFnYXRlIHRoZSBjaGFuZ2Ugd2hlbiBpdCByZXJlbmRlcnMuXG4gICAgICBzY2hlZHVsZVdvcmtPbkZpYmVyKG5vZGUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcbiAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IHdvcmtJblByb2dyZXNzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgd2hpbGUgKG5vZGUuc2libGluZyA9PT0gbnVsbCkge1xuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSB3b3JrSW5Qcm9ncmVzcykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBmaW5kTGFzdENvbnRlbnRSb3coZmlyc3RDaGlsZCkge1xuICAvLyBUaGlzIGlzIGdvaW5nIHRvIGZpbmQgdGhlIGxhc3Qgcm93IGFtb25nIHRoZXNlIGNoaWxkcmVuIHRoYXQgaXMgYWxyZWFkeVxuICAvLyBzaG93aW5nIGNvbnRlbnQgb24gdGhlIHNjcmVlbiwgYXMgb3Bwb3NlZCB0byBiZWluZyBpbiBmYWxsYmFjayBzdGF0ZSBvclxuICAvLyBuZXcuIElmIGEgcm93IGhhcyBtdWx0aXBsZSBTdXNwZW5zZSBib3VuZGFyaWVzLCBhbnkgb2YgdGhlbSBiZWluZyBpbiB0aGVcbiAgLy8gZmFsbGJhY2sgc3RhdGUsIGNvdW50cyBhcyB0aGUgd2hvbGUgcm93IGJlaW5nIGluIGEgZmFsbGJhY2sgc3RhdGUuXG4gIC8vIE5vdGUgdGhhdCB0aGUgXCJyb3dzXCIgd2lsbCBiZSB3b3JrSW5Qcm9ncmVzcywgYnV0IGFueSBuZXN0ZWQgY2hpbGRyZW5cbiAgLy8gd2lsbCBzdGlsbCBiZSBjdXJyZW50IHNpbmNlIHdlIGhhdmVuJ3QgcmVuZGVyZWQgdGhlbSB5ZXQuIFRoZSBtb3VudGVkXG4gIC8vIG9yZGVyIG1heSBub3QgYmUgdGhlIHNhbWUgYXMgdGhlIG5ldyBvcmRlci4gV2UgdXNlIHRoZSBuZXcgb3JkZXIuXG4gIHZhciByb3cgPSBmaXJzdENoaWxkO1xuICB2YXIgbGFzdENvbnRlbnRSb3cgPSBudWxsO1xuXG4gIHdoaWxlIChyb3cgIT09IG51bGwpIHtcbiAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgIGlmIChjdXJyZW50Um93ICE9PSBudWxsICYmIGZpbmRGaXJzdFN1c3BlbmRlZChjdXJyZW50Um93KSA9PT0gbnVsbCkge1xuICAgICAgbGFzdENvbnRlbnRSb3cgPSByb3c7XG4gICAgfVxuXG4gICAgcm93ID0gcm93LnNpYmxpbmc7XG4gIH1cblxuICByZXR1cm4gbGFzdENvbnRlbnRSb3c7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlUmV2ZWFsT3JkZXIocmV2ZWFsT3JkZXIpIHtcbiAge1xuICAgIGlmIChyZXZlYWxPcmRlciAhPT0gdW5kZWZpbmVkICYmIHJldmVhbE9yZGVyICE9PSAnZm9yd2FyZHMnICYmIHJldmVhbE9yZGVyICE9PSAnYmFja3dhcmRzJyAmJiByZXZlYWxPcmRlciAhPT0gJ3RvZ2V0aGVyJyAmJiAhZGlkV2FybkFib3V0UmV2ZWFsT3JkZXJbcmV2ZWFsT3JkZXJdKSB7XG4gICAgICBkaWRXYXJuQWJvdXRSZXZlYWxPcmRlcltyZXZlYWxPcmRlcl0gPSB0cnVlO1xuXG4gICAgICBpZiAodHlwZW9mIHJldmVhbE9yZGVyID09PSAnc3RyaW5nJykge1xuICAgICAgICBzd2l0Y2ggKHJldmVhbE9yZGVyLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICBjYXNlICd0b2dldGhlcic6XG4gICAgICAgICAgY2FzZSAnZm9yd2FyZHMnOlxuICAgICAgICAgIGNhc2UgJ2JhY2t3YXJkcyc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnVXNlIGxvd2VyY2FzZSBcIiVzXCIgaW5zdGVhZC4nLCByZXZlYWxPcmRlciwgcmV2ZWFsT3JkZXIudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdmb3J3YXJkJzpcbiAgICAgICAgICBjYXNlICdiYWNrd2FyZCc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGVycm9yKCdcIiVzXCIgaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHJldmVhbE9yZGVyIG9uIDxTdXNwZW5zZUxpc3QgLz4uICcgKyAnUmVhY3QgdXNlcyB0aGUgLXMgc3VmZml4IGluIHRoZSBzcGVsbGluZy4gVXNlIFwiJXNzXCIgaW5zdGVhZC4nLCByZXZlYWxPcmRlciwgcmV2ZWFsT3JkZXIudG9Mb3dlckNhc2UoKSk7XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgZXJyb3IoJ1wiJXNcIiBpcyBub3QgYSBzdXBwb3J0ZWQgcmV2ZWFsT3JkZXIgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJ0b2dldGhlclwiLCBcImZvcndhcmRzXCIgb3IgXCJiYWNrd2FyZHNcIj8nLCByZXZlYWxPcmRlcik7XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcignJXMgaXMgbm90IGEgc3VwcG9ydGVkIHZhbHVlIGZvciByZXZlYWxPcmRlciBvbiA8U3VzcGVuc2VMaXN0IC8+LiAnICsgJ0RpZCB5b3UgbWVhbiBcInRvZ2V0aGVyXCIsIFwiZm9yd2FyZHNcIiBvciBcImJhY2t3YXJkc1wiPycsIHJldmVhbE9yZGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVUYWlsT3B0aW9ucyh0YWlsTW9kZSwgcmV2ZWFsT3JkZXIpIHtcbiAge1xuICAgIGlmICh0YWlsTW9kZSAhPT0gdW5kZWZpbmVkICYmICFkaWRXYXJuQWJvdXRUYWlsT3B0aW9uc1t0YWlsTW9kZV0pIHtcbiAgICAgIGlmICh0YWlsTW9kZSAhPT0gJ2NvbGxhcHNlZCcgJiYgdGFpbE1vZGUgIT09ICdoaWRkZW4nKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFRhaWxPcHRpb25zW3RhaWxNb2RlXSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ1wiJXNcIiBpcyBub3QgYSBzdXBwb3J0ZWQgdmFsdWUgZm9yIHRhaWwgb24gPFN1c3BlbnNlTGlzdCAvPi4gJyArICdEaWQgeW91IG1lYW4gXCJjb2xsYXBzZWRcIiBvciBcImhpZGRlblwiPycsIHRhaWxNb2RlKTtcbiAgICAgIH0gZWxzZSBpZiAocmV2ZWFsT3JkZXIgIT09ICdmb3J3YXJkcycgJiYgcmV2ZWFsT3JkZXIgIT09ICdiYWNrd2FyZHMnKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dFRhaWxPcHRpb25zW3RhaWxNb2RlXSA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJzxTdXNwZW5zZUxpc3QgdGFpbD1cIiVzXCIgLz4gaXMgb25seSB2YWxpZCBpZiByZXZlYWxPcmRlciBpcyAnICsgJ1wiZm9yd2FyZHNcIiBvciBcImJhY2t3YXJkc1wiLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBzcGVjaWZ5IHJldmVhbE9yZGVyPVwiZm9yd2FyZHNcIj8nLCB0YWlsTW9kZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0TmVzdGVkQ2hpbGQoY2hpbGRTbG90LCBpbmRleCkge1xuICB7XG4gICAgdmFyIGlzQXJyYXkgPSBBcnJheS5pc0FycmF5KGNoaWxkU2xvdCk7XG4gICAgdmFyIGlzSXRlcmFibGUgPSAhaXNBcnJheSAmJiB0eXBlb2YgZ2V0SXRlcmF0b3JGbihjaGlsZFNsb3QpID09PSAnZnVuY3Rpb24nO1xuXG4gICAgaWYgKGlzQXJyYXkgfHwgaXNJdGVyYWJsZSkge1xuICAgICAgdmFyIHR5cGUgPSBpc0FycmF5ID8gJ2FycmF5JyA6ICdpdGVyYWJsZSc7XG5cbiAgICAgIGVycm9yKCdBIG5lc3RlZCAlcyB3YXMgcGFzc2VkIHRvIHJvdyAjJXMgaW4gPFN1c3BlbnNlTGlzdCAvPi4gV3JhcCBpdCBpbiAnICsgJ2FuIGFkZGl0aW9uYWwgU3VzcGVuc2VMaXN0IHRvIGNvbmZpZ3VyZSBpdHMgcmV2ZWFsT3JkZXI6ICcgKyAnPFN1c3BlbnNlTGlzdCByZXZlYWxPcmRlcj0uLi4+IC4uLiAnICsgJzxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9Li4uPnslc308L1N1c3BlbnNlTGlzdD4gLi4uICcgKyAnPC9TdXNwZW5zZUxpc3Q+JywgdHlwZSwgaW5kZXgsIHR5cGUpO1xuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU3VzcGVuc2VMaXN0Q2hpbGRyZW4oY2hpbGRyZW4sIHJldmVhbE9yZGVyKSB7XG4gIHtcbiAgICBpZiAoKHJldmVhbE9yZGVyID09PSAnZm9yd2FyZHMnIHx8IHJldmVhbE9yZGVyID09PSAnYmFja3dhcmRzJykgJiYgY2hpbGRyZW4gIT09IHVuZGVmaW5lZCAmJiBjaGlsZHJlbiAhPT0gbnVsbCAmJiBjaGlsZHJlbiAhPT0gZmFsc2UpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKGNoaWxkcmVuW2ldLCBpKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgICAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICB2YXIgY2hpbGRyZW5JdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG5cbiAgICAgICAgICBpZiAoY2hpbGRyZW5JdGVyYXRvcikge1xuICAgICAgICAgICAgdmFyIHN0ZXAgPSBjaGlsZHJlbkl0ZXJhdG9yLm5leHQoKTtcbiAgICAgICAgICAgIHZhciBfaSA9IDA7XG5cbiAgICAgICAgICAgIGZvciAoOyAhc3RlcC5kb25lOyBzdGVwID0gY2hpbGRyZW5JdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICAgICAgaWYgKCF2YWxpZGF0ZVN1c3BlbnNlTGlzdE5lc3RlZENoaWxkKHN0ZXAudmFsdWUsIF9pKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIF9pKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVycm9yKCdBIHNpbmdsZSByb3cgd2FzIHBhc3NlZCB0byBhIDxTdXNwZW5zZUxpc3QgcmV2ZWFsT3JkZXI9XCIlc1wiIC8+LiAnICsgJ1RoaXMgaXMgbm90IHVzZWZ1bCBzaW5jZSBpdCBuZWVkcyBtdWx0aXBsZSByb3dzLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBwYXNzIG11bHRpcGxlIGNoaWxkcmVuIG9yIGFuIGFycmF5PycsIHJldmVhbE9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIGlzQmFja3dhcmRzLCB0YWlsLCBsYXN0Q29udGVudFJvdywgdGFpbE1vZGUsIGxhc3RFZmZlY3RCZWZvcmVSZW5kZXJpbmcpIHtcbiAgdmFyIHJlbmRlclN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICBpZiAocmVuZGVyU3RhdGUgPT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0ge1xuICAgICAgaXNCYWNrd2FyZHM6IGlzQmFja3dhcmRzLFxuICAgICAgcmVuZGVyaW5nOiBudWxsLFxuICAgICAgcmVuZGVyaW5nU3RhcnRUaW1lOiAwLFxuICAgICAgbGFzdDogbGFzdENvbnRlbnRSb3csXG4gICAgICB0YWlsOiB0YWlsLFxuICAgICAgdGFpbEV4cGlyYXRpb246IDAsXG4gICAgICB0YWlsTW9kZTogdGFpbE1vZGUsXG4gICAgICBsYXN0RWZmZWN0OiBsYXN0RWZmZWN0QmVmb3JlUmVuZGVyaW5nXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBjYW4gcmV1c2UgdGhlIGV4aXN0aW5nIG9iamVjdCBmcm9tIHByZXZpb3VzIHJlbmRlcnMuXG4gICAgcmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMgPSBpc0JhY2t3YXJkcztcbiAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZ1N0YXJ0VGltZSA9IDA7XG4gICAgcmVuZGVyU3RhdGUubGFzdCA9IGxhc3RDb250ZW50Um93O1xuICAgIHJlbmRlclN0YXRlLnRhaWwgPSB0YWlsO1xuICAgIHJlbmRlclN0YXRlLnRhaWxFeHBpcmF0aW9uID0gMDtcbiAgICByZW5kZXJTdGF0ZS50YWlsTW9kZSA9IHRhaWxNb2RlO1xuICAgIHJlbmRlclN0YXRlLmxhc3RFZmZlY3QgPSBsYXN0RWZmZWN0QmVmb3JlUmVuZGVyaW5nO1xuICB9XG59IC8vIFRoaXMgY2FuIGVuZCB1cCByZW5kZXJpbmcgdGhpcyBjb21wb25lbnQgbXVsdGlwbGUgcGFzc2VzLlxuLy8gVGhlIGZpcnN0IHBhc3Mgc3BsaXRzIHRoZSBjaGlsZHJlbiBmaWJlcnMgaW50byB0d28gc2V0cy4gQSBoZWFkIGFuZCB0YWlsLlxuLy8gV2UgZmlyc3QgcmVuZGVyIHRoZSBoZWFkLiBJZiBhbnl0aGluZyBpcyBpbiBmYWxsYmFjayBzdGF0ZSwgd2UgZG8gYW5vdGhlclxuLy8gcGFzcyB0aHJvdWdoIGJlZ2luV29yayB0byByZXJlbmRlciBhbGwgY2hpbGRyZW4gKGluY2x1ZGluZyB0aGUgdGFpbCkgd2l0aFxuLy8gdGhlIGZvcmNlIHN1c3BlbmQgY29udGV4dC4gSWYgdGhlIGZpcnN0IHJlbmRlciBkaWRuJ3QgaGF2ZSBhbnl0aGluZyBpblxuLy8gaW4gZmFsbGJhY2sgc3RhdGUuIFRoZW4gd2UgcmVuZGVyIGVhY2ggcm93IGluIHRoZSB0YWlsIG9uZS1ieS1vbmUuXG4vLyBUaGF0IGhhcHBlbnMgaW4gdGhlIGNvbXBsZXRlV29yayBwaGFzZSB3aXRob3V0IGdvaW5nIGJhY2sgdG8gYmVnaW5Xb3JrLlxuXG5cbmZ1bmN0aW9uIHVwZGF0ZVN1c3BlbnNlTGlzdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIG5leHRQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHJldmVhbE9yZGVyID0gbmV4dFByb3BzLnJldmVhbE9yZGVyO1xuICB2YXIgdGFpbE1vZGUgPSBuZXh0UHJvcHMudGFpbDtcbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV4dFByb3BzLmNoaWxkcmVuO1xuICB2YWxpZGF0ZVJldmVhbE9yZGVyKHJldmVhbE9yZGVyKTtcbiAgdmFsaWRhdGVUYWlsT3B0aW9ucyh0YWlsTW9kZSwgcmV2ZWFsT3JkZXIpO1xuICB2YWxpZGF0ZVN1c3BlbnNlTGlzdENoaWxkcmVuKG5ld0NoaWxkcmVuLCByZXZlYWxPcmRlcik7XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICB2YXIgc3VzcGVuc2VDb250ZXh0ID0gc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50O1xuICB2YXIgc2hvdWxkRm9yY2VGYWxsYmFjayA9IGhhc1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjayk7XG5cbiAgaWYgKHNob3VsZEZvcmNlRmFsbGJhY2spIHtcbiAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXRTaGFsbG93U3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlQ29udGV4dCwgRm9yY2VTdXNwZW5zZUZhbGxiYWNrKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZGlkU3VzcGVuZEJlZm9yZSA9IGN1cnJlbnQgIT09IG51bGwgJiYgKGN1cnJlbnQuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgIT09IE5vRWZmZWN0O1xuXG4gICAgaWYgKGRpZFN1c3BlbmRCZWZvcmUpIHtcbiAgICAgIC8vIElmIHdlIHByZXZpb3VzbHkgZm9yY2VkIGEgZmFsbGJhY2ssIHdlIG5lZWQgdG8gc2NoZWR1bGUgd29ya1xuICAgICAgLy8gb24gYW55IG5lc3RlZCBib3VuZGFyaWVzIHRvIGxldCB0aGVtIGtub3cgdG8gdHJ5IHRvIHJlbmRlclxuICAgICAgLy8gYWdhaW4uIFRoaXMgaXMgdGhlIHNhbWUgYXMgY29udGV4dCB1cGRhdGluZy5cbiAgICAgIHByb3BhZ2F0ZVN1c3BlbnNlQ29udGV4dENoYW5nZSh3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MuY2hpbGQsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICB9XG5cbiAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICB9XG5cbiAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VDb250ZXh0KTtcblxuICBpZiAoKHdvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcbiAgICAvLyBPdXRzaWRlIG9mIGJsb2NraW5nIG1vZGUsIFN1c3BlbnNlTGlzdCBkb2Vzbid0IHdvcmsgc28gd2UganVzdFxuICAgIC8vIHVzZSBtYWtlIGl0IGEgbm9vcCBieSB0cmVhdGluZyBpdCBhcyB0aGUgZGVmYXVsdCByZXZlYWxPcmRlci5cbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgfSBlbHNlIHtcbiAgICBzd2l0Y2ggKHJldmVhbE9yZGVyKSB7XG4gICAgICBjYXNlICdmb3J3YXJkcyc6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgbGFzdENvbnRlbnRSb3cgPSBmaW5kTGFzdENvbnRlbnRSb3cod29ya0luUHJvZ3Jlc3MuY2hpbGQpO1xuICAgICAgICAgIHZhciB0YWlsO1xuXG4gICAgICAgICAgaWYgKGxhc3RDb250ZW50Um93ID09PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBUaGUgd2hvbGUgbGlzdCBpcyBwYXJ0IG9mIHRoZSB0YWlsLlxuICAgICAgICAgICAgLy8gVE9ETzogV2UgY291bGQgZmFzdCBwYXRoIGJ5IGp1c3QgcmVuZGVyaW5nIHRoZSB0YWlsIG5vdy5cbiAgICAgICAgICAgIHRhaWwgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRGlzY29ubmVjdCB0aGUgdGFpbCByb3dzIGFmdGVyIHRoZSBjb250ZW50IHJvdy5cbiAgICAgICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIHJlbmRlciB0aGVtIHNlcGFyYXRlbHkgbGF0ZXIuXG4gICAgICAgICAgICB0YWlsID0gbGFzdENvbnRlbnRSb3cuc2libGluZztcbiAgICAgICAgICAgIGxhc3RDb250ZW50Um93LnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGluaXRTdXNwZW5zZUxpc3RSZW5kZXJTdGF0ZSh3b3JrSW5Qcm9ncmVzcywgZmFsc2UsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgdGFpbCwgbGFzdENvbnRlbnRSb3csIHRhaWxNb2RlLCB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlICdiYWNrd2FyZHMnOlxuICAgICAgICB7XG4gICAgICAgICAgLy8gV2UncmUgZ29pbmcgdG8gZmluZCB0aGUgZmlyc3Qgcm93IHRoYXQgaGFzIGV4aXN0aW5nIGNvbnRlbnQuXG4gICAgICAgICAgLy8gQXQgdGhlIHNhbWUgdGltZSB3ZSdyZSBnb2luZyB0byByZXZlcnNlIHRoZSBsaXN0IG9mIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAvLyB3ZSBwYXNzIGluIHRoZSBtZWFudGltZS4gVGhhdCdzIGdvaW5nIHRvIGJlIG91ciB0YWlsIGluIHJldmVyc2VcbiAgICAgICAgICAvLyBvcmRlci5cbiAgICAgICAgICB2YXIgX3RhaWwgPSBudWxsO1xuICAgICAgICAgIHZhciByb3cgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IG51bGw7XG5cbiAgICAgICAgICB3aGlsZSAocm93ICE9PSBudWxsKSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFJvdyA9IHJvdy5hbHRlcm5hdGU7IC8vIE5ldyByb3dzIGNhbid0IGJlIGNvbnRlbnQgcm93cy5cblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRSb3cgIT09IG51bGwgJiYgZmluZEZpcnN0U3VzcGVuZGVkKGN1cnJlbnRSb3cpID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgbWFpbiBjb250ZW50LlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJvdztcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0Um93ID0gcm93LnNpYmxpbmc7XG4gICAgICAgICAgICByb3cuc2libGluZyA9IF90YWlsO1xuICAgICAgICAgICAgX3RhaWwgPSByb3c7XG4gICAgICAgICAgICByb3cgPSBuZXh0Um93O1xuICAgICAgICAgIH0gLy8gVE9ETzogSWYgd29ya0luUHJvZ3Jlc3MuY2hpbGQgaXMgbnVsbCwgd2UgY2FuIGNvbnRpbnVlIG9uIHRoZSB0YWlsIGltbWVkaWF0ZWx5LlxuXG5cbiAgICAgICAgICBpbml0U3VzcGVuc2VMaXN0UmVuZGVyU3RhdGUod29ya0luUHJvZ3Jlc3MsIHRydWUsIC8vIGlzQmFja3dhcmRzXG4gICAgICAgICAgX3RhaWwsIG51bGwsIC8vIGxhc3RcbiAgICAgICAgICB0YWlsTW9kZSwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSAndG9nZXRoZXInOlxuICAgICAgICB7XG4gICAgICAgICAgaW5pdFN1c3BlbnNlTGlzdFJlbmRlclN0YXRlKHdvcmtJblByb2dyZXNzLCBmYWxzZSwgLy8gaXNCYWNrd2FyZHNcbiAgICAgICAgICBudWxsLCAvLyB0YWlsXG4gICAgICAgICAgbnVsbCwgLy8gbGFzdFxuICAgICAgICAgIHVuZGVmaW5lZCwgd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFRoZSBkZWZhdWx0IHJldmVhbCBvcmRlciBpcyB0aGUgc2FtZSBhcyBub3QgaGF2aW5nXG4gICAgICAgICAgLy8gYSBib3VuZGFyeS5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbn1cblxuZnVuY3Rpb24gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBwdXNoSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlLmNvbnRhaW5lckluZm8pO1xuICB2YXIgbmV4dENoaWxkcmVuID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgLy8gUG9ydGFscyBhcmUgc3BlY2lhbCBiZWNhdXNlIHdlIGRvbid0IGFwcGVuZCB0aGUgY2hpbGRyZW4gZHVyaW5nIG1vdW50XG4gICAgLy8gYnV0IGF0IGNvbW1pdC4gVGhlcmVmb3JlIHdlIG5lZWQgdG8gdHJhY2sgaW5zZXJ0aW9ucyB3aGljaCB0aGUgbm9ybWFsXG4gICAgLy8gZmxvdyBkb2Vzbid0IGRvIGR1cmluZyBtb3VudC4gVGhpcyBkb2Vzbid0IGhhcHBlbiBhdCB0aGUgcm9vdCBiZWNhdXNlXG4gICAgLy8gdGhlIHJvb3QgYWx3YXlzIHN0YXJ0cyB3aXRoIGEgXCJjdXJyZW50XCIgd2l0aCBhIG51bGwgY2hpbGQuXG4gICAgLy8gVE9ETzogQ29uc2lkZXIgdW5pZnlpbmcgdGhpcyB3aXRoIGhvdyB0aGUgcm9vdCB3b3Jrcy5cbiAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlY29uY2lsZUNoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCBudWxsLCBuZXh0Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgfSBlbHNlIHtcbiAgICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV4dENoaWxkcmVuLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gIH1cblxuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZUNvbnRleHRQcm92aWRlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIHByb3ZpZGVyVHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gIHZhciBjb250ZXh0ID0gcHJvdmlkZXJUeXBlLl9jb250ZXh0O1xuICB2YXIgbmV3UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gIHZhciBvbGRQcm9wcyA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkUHJvcHM7XG4gIHZhciBuZXdWYWx1ZSA9IG5ld1Byb3BzLnZhbHVlO1xuXG4gIHtcbiAgICB2YXIgcHJvdmlkZXJQcm9wVHlwZXMgPSB3b3JrSW5Qcm9ncmVzcy50eXBlLnByb3BUeXBlcztcblxuICAgIGlmIChwcm92aWRlclByb3BUeXBlcykge1xuICAgICAgY2hlY2tQcm9wVHlwZXMocHJvdmlkZXJQcm9wVHlwZXMsIG5ld1Byb3BzLCAncHJvcCcsICdDb250ZXh0LlByb3ZpZGVyJywgZ2V0Q3VycmVudEZpYmVyU3RhY2tJbkRldik7XG4gICAgfVxuICB9XG5cbiAgcHVzaFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBuZXdWYWx1ZSk7XG5cbiAgaWYgKG9sZFByb3BzICE9PSBudWxsKSB7XG4gICAgdmFyIG9sZFZhbHVlID0gb2xkUHJvcHMudmFsdWU7XG4gICAgdmFyIGNoYW5nZWRCaXRzID0gY2FsY3VsYXRlQ2hhbmdlZEJpdHMoY29udGV4dCwgbmV3VmFsdWUsIG9sZFZhbHVlKTtcblxuICAgIGlmIChjaGFuZ2VkQml0cyA9PT0gMCkge1xuICAgICAgLy8gTm8gY2hhbmdlLiBCYWlsb3V0IGVhcmx5IGlmIGNoaWxkcmVuIGFyZSB0aGUgc2FtZS5cbiAgICAgIGlmIChvbGRQcm9wcy5jaGlsZHJlbiA9PT0gbmV3UHJvcHMuY2hpbGRyZW4gJiYgIWhhc0NvbnRleHRDaGFuZ2VkKCkpIHtcbiAgICAgICAgcmV0dXJuIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIGNvbnRleHQgdmFsdWUgY2hhbmdlZC4gU2VhcmNoIGZvciBtYXRjaGluZyBjb25zdW1lcnMgYW5kIHNjaGVkdWxlXG4gICAgICAvLyB0aGVtIHRvIHVwZGF0ZS5cbiAgICAgIHByb3BhZ2F0ZUNvbnRleHRDaGFuZ2Uod29ya0luUHJvZ3Jlc3MsIGNvbnRleHQsIGNoYW5nZWRCaXRzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIG5ld0NoaWxkcmVuID0gbmV3UHJvcHMuY2hpbGRyZW47XG4gIHJlY29uY2lsZUNoaWxkcmVuKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBuZXdDaGlsZHJlbiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICByZXR1cm4gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG59XG5cbnZhciBoYXNXYXJuZWRBYm91dFVzaW5nQ29udGV4dEFzQ29uc3VtZXIgPSBmYWxzZTtcblxuZnVuY3Rpb24gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB2YXIgY29udGV4dCA9IHdvcmtJblByb2dyZXNzLnR5cGU7IC8vIFRoZSBsb2dpYyBiZWxvdyBmb3IgQ29udGV4dCBkaWZmZXJzIGRlcGVuZGluZyBvbiBQUk9EIG9yIERFViBtb2RlLiBJblxuICAvLyBERVYgbW9kZSwgd2UgY3JlYXRlIGEgc2VwYXJhdGUgb2JqZWN0IGZvciBDb250ZXh0LkNvbnN1bWVyIHRoYXQgYWN0c1xuICAvLyBsaWtlIGEgcHJveHkgdG8gQ29udGV4dC4gVGhpcyBwcm94eSBvYmplY3QgYWRkcyB1bm5lY2Vzc2FyeSBjb2RlIGluIFBST0RcbiAgLy8gc28gd2UgdXNlIHRoZSBvbGQgYmVoYXZpb3VyIChDb250ZXh0LkNvbnN1bWVyIHJlZmVyZW5jZXMgQ29udGV4dCkgdG9cbiAgLy8gcmVkdWNlIHNpemUgYW5kIG92ZXJoZWFkLiBUaGUgc2VwYXJhdGUgb2JqZWN0IHJlZmVyZW5jZXMgY29udGV4dCB2aWFcbiAgLy8gYSBwcm9wZXJ0eSBjYWxsZWQgXCJfY29udGV4dFwiLCB3aGljaCBhbHNvIGdpdmVzIHVzIHRoZSBhYmlsaXR5IHRvIGNoZWNrXG4gIC8vIGluIERFViBtb2RlIGlmIHRoaXMgcHJvcGVydHkgZXhpc3RzIG9yIG5vdCBhbmQgd2FybiBpZiBpdCBkb2VzIG5vdC5cblxuICB7XG4gICAgaWYgKGNvbnRleHQuX2NvbnRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gVGhpcyBtYXkgYmUgYmVjYXVzZSBpdCdzIGEgQ29udGV4dCAocmF0aGVyIHRoYW4gYSBDb25zdW1lcikuXG4gICAgICAvLyBPciBpdCBtYXkgYmUgYmVjYXVzZSBpdCdzIG9sZGVyIFJlYWN0IHdoZXJlIHRoZXkncmUgdGhlIHNhbWUgdGhpbmcuXG4gICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gd2FybiBpZiB3ZSdyZSBzdXJlIGl0J3MgYSBuZXcgUmVhY3QuXG4gICAgICBpZiAoY29udGV4dCAhPT0gY29udGV4dC5Db25zdW1lcikge1xuICAgICAgICBpZiAoIWhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lcikge1xuICAgICAgICAgIGhhc1dhcm5lZEFib3V0VXNpbmdDb250ZXh0QXNDb25zdW1lciA9IHRydWU7XG5cbiAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0PiBkaXJlY3RseSBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0Ll9jb250ZXh0O1xuICAgIH1cbiAgfVxuXG4gIHZhciBuZXdQcm9wcyA9IHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcztcbiAgdmFyIHJlbmRlciA9IG5ld1Byb3BzLmNoaWxkcmVuO1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ0EgY29udGV4dCBjb25zdW1lciB3YXMgcmVuZGVyZWQgd2l0aCBtdWx0aXBsZSBjaGlsZHJlbiwgb3IgYSBjaGlsZCAnICsgXCJ0aGF0IGlzbid0IGEgZnVuY3Rpb24uIEEgY29udGV4dCBjb25zdW1lciBleHBlY3RzIGEgc2luZ2xlIGNoaWxkIFwiICsgJ3RoYXQgaXMgYSBmdW5jdGlvbi4gSWYgeW91IGRpZCBwYXNzIGEgZnVuY3Rpb24sIG1ha2Ugc3VyZSB0aGVyZSAnICsgJ2lzIG5vIHRyYWlsaW5nIG9yIGxlYWRpbmcgd2hpdGVzcGFjZSBhcm91bmQgaXQuJyk7XG4gICAgfVxuICB9XG5cbiAgcHJlcGFyZVRvUmVhZENvbnRleHQod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgdmFyIG5ld1ZhbHVlID0gcmVhZENvbnRleHQoY29udGV4dCwgbmV3UHJvcHMudW5zdGFibGVfb2JzZXJ2ZWRCaXRzKTtcbiAgdmFyIG5ld0NoaWxkcmVuO1xuXG4gIHtcbiAgICBSZWFjdEN1cnJlbnRPd25lciQxLmN1cnJlbnQgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICBzZXRJc1JlbmRlcmluZyh0cnVlKTtcbiAgICBuZXdDaGlsZHJlbiA9IHJlbmRlcihuZXdWYWx1ZSk7XG4gICAgc2V0SXNSZW5kZXJpbmcoZmFsc2UpO1xuICB9IC8vIFJlYWN0IERldlRvb2xzIHJlYWRzIHRoaXMgZmxhZy5cblxuXG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQZXJmb3JtZWRXb3JrO1xuICByZWNvbmNpbGVDaGlsZHJlbihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmV3Q2hpbGRyZW4sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xufVxuXG5mdW5jdGlvbiBtYXJrV29ya0luUHJvZ3Jlc3NSZWNlaXZlZFVwZGF0ZSgpIHtcbiAgZGlkUmVjZWl2ZVVwZGF0ZSA9IHRydWU7XG59XG5cbmZ1bmN0aW9uIGJhaWxvdXRPbkFscmVhZHlGaW5pc2hlZFdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIGNhbmNlbFdvcmtUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAvLyBSZXVzZSBwcmV2aW91cyBkZXBlbmRlbmNpZXNcbiAgICB3b3JrSW5Qcm9ncmVzcy5kZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgfVxuXG4gIHtcbiAgICAvLyBEb24ndCB1cGRhdGUgXCJiYXNlXCIgcmVuZGVyIHRpbWVzIGZvciBiYWlsb3V0cy5cbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZygpO1xuICB9XG5cbiAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWU7XG5cbiAgaWYgKHVwZGF0ZUV4cGlyYXRpb25UaW1lICE9PSBOb1dvcmspIHtcbiAgICBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKHVwZGF0ZUV4cGlyYXRpb25UaW1lKTtcbiAgfSAvLyBDaGVjayBpZiB0aGUgY2hpbGRyZW4gaGF2ZSBhbnkgcGVuZGluZyB3b3JrLlxuXG5cbiAgdmFyIGNoaWxkRXhwaXJhdGlvblRpbWUgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZEV4cGlyYXRpb25UaW1lO1xuXG4gIGlmIChjaGlsZEV4cGlyYXRpb25UaW1lIDwgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgICAvLyBUaGUgY2hpbGRyZW4gZG9uJ3QgaGF2ZSBhbnkgd29yayBlaXRoZXIuIFdlIGNhbiBza2lwIHRoZW0uXG4gICAgLy8gVE9ETzogT25jZSB3ZSBhZGQgYmFjayByZXN1bWluZywgd2Ugc2hvdWxkIGNoZWNrIGlmIHRoZSBjaGlsZHJlbiBhcmVcbiAgICAvLyBhIHdvcmstaW4tcHJvZ3Jlc3Mgc2V0LiBJZiBzbywgd2UgbmVlZCB0byB0cmFuc2ZlciB0aGVpciBlZmZlY3RzLlxuICAgIHJldHVybiBudWxsO1xuICB9IGVsc2Uge1xuICAgIC8vIFRoaXMgZmliZXIgZG9lc24ndCBoYXZlIHdvcmssIGJ1dCBpdHMgc3VidHJlZSBkb2VzLiBDbG9uZSB0aGUgY2hpbGRcbiAgICAvLyBmaWJlcnMgYW5kIGNvbnRpbnVlLlxuICAgIGNsb25lQ2hpbGRGaWJlcnMoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcy5jaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW1vdW50RmliZXIoY3VycmVudCwgb2xkV29ya0luUHJvZ3Jlc3MsIG5ld1dvcmtJblByb2dyZXNzKSB7XG4gIHtcbiAgICB2YXIgcmV0dXJuRmliZXIgPSBvbGRXb3JrSW5Qcm9ncmVzcy5yZXR1cm47XG5cbiAgICBpZiAocmV0dXJuRmliZXIgPT09IG51bGwpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHN3YXAgdGhlIHJvb3QgZmliZXIuJyk7XG4gICAgfSAvLyBEaXNjb25uZWN0IGZyb20gdGhlIG9sZCBjdXJyZW50LlxuICAgIC8vIEl0IHdpbGwgZ2V0IGRlbGV0ZWQuXG5cblxuICAgIGN1cnJlbnQuYWx0ZXJuYXRlID0gbnVsbDtcbiAgICBvbGRXb3JrSW5Qcm9ncmVzcy5hbHRlcm5hdGUgPSBudWxsOyAvLyBDb25uZWN0IHRvIHRoZSBuZXcgdHJlZS5cblxuICAgIG5ld1dvcmtJblByb2dyZXNzLmluZGV4ID0gb2xkV29ya0luUHJvZ3Jlc3MuaW5kZXg7XG4gICAgbmV3V29ya0luUHJvZ3Jlc3Muc2libGluZyA9IG9sZFdvcmtJblByb2dyZXNzLnNpYmxpbmc7XG4gICAgbmV3V29ya0luUHJvZ3Jlc3MucmV0dXJuID0gb2xkV29ya0luUHJvZ3Jlc3MucmV0dXJuO1xuICAgIG5ld1dvcmtJblByb2dyZXNzLnJlZiA9IG9sZFdvcmtJblByb2dyZXNzLnJlZjsgLy8gUmVwbGFjZSB0aGUgY2hpbGQvc2libGluZyBwb2ludGVycyBhYm92ZSBpdC5cblxuICAgIGlmIChvbGRXb3JrSW5Qcm9ncmVzcyA9PT0gcmV0dXJuRmliZXIuY2hpbGQpIHtcbiAgICAgIHJldHVybkZpYmVyLmNoaWxkID0gbmV3V29ya0luUHJvZ3Jlc3M7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBwcmV2U2libGluZyA9IHJldHVybkZpYmVyLmNoaWxkO1xuXG4gICAgICBpZiAocHJldlNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdFeHBlY3RlZCBwYXJlbnQgdG8gaGF2ZSBhIGNoaWxkLicpO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAocHJldlNpYmxpbmcuc2libGluZyAhPT0gb2xkV29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcHJldlNpYmxpbmcgPSBwcmV2U2libGluZy5zaWJsaW5nO1xuXG4gICAgICAgIGlmIChwcmV2U2libGluZyA9PT0gbnVsbCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgdG8gZmluZCB0aGUgcHJldmlvdXMgc2libGluZy4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwcmV2U2libGluZy5zaWJsaW5nID0gbmV3V29ya0luUHJvZ3Jlc3M7XG4gICAgfSAvLyBEZWxldGUgdGhlIG9sZCBmaWJlciBhbmQgcGxhY2UgdGhlIG5ldyBvbmUuXG4gICAgLy8gU2luY2UgdGhlIG9sZCBmaWJlciBpcyBkaXNjb25uZWN0ZWQsIHdlIGhhdmUgdG8gc2NoZWR1bGUgaXQgbWFudWFsbHkuXG5cblxuICAgIHZhciBsYXN0ID0gcmV0dXJuRmliZXIubGFzdEVmZmVjdDtcblxuICAgIGlmIChsYXN0ICE9PSBudWxsKSB7XG4gICAgICBsYXN0Lm5leHRFZmZlY3QgPSBjdXJyZW50O1xuICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdCA9IGN1cnJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybkZpYmVyLmZpcnN0RWZmZWN0ID0gcmV0dXJuRmliZXIubGFzdEVmZmVjdCA9IGN1cnJlbnQ7XG4gICAgfVxuXG4gICAgY3VycmVudC5uZXh0RWZmZWN0ID0gbnVsbDtcbiAgICBjdXJyZW50LmVmZmVjdFRhZyA9IERlbGV0aW9uO1xuICAgIG5ld1dvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBQbGFjZW1lbnQ7IC8vIFJlc3RhcnQgd29yayBmcm9tIHRoZSBuZXcgZmliZXIuXG5cbiAgICByZXR1cm4gbmV3V29ya0luUHJvZ3Jlc3M7XG4gIH1cbn1cblxuZnVuY3Rpb24gYmVnaW5Xb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICB2YXIgdXBkYXRlRXhwaXJhdGlvblRpbWUgPSB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZTtcblxuICB7XG4gICAgaWYgKHdvcmtJblByb2dyZXNzLl9kZWJ1Z05lZWRzUmVtb3VudCAmJiBjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIHdpbGwgcmVzdGFydCB0aGUgYmVnaW4gcGhhc2Ugd2l0aCBhIG5ldyBmaWJlci5cbiAgICAgIHJldHVybiByZW1vdW50RmliZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIGNyZWF0ZUZpYmVyRnJvbVR5cGVBbmRQcm9wcyh3b3JrSW5Qcm9ncmVzcy50eXBlLCB3b3JrSW5Qcm9ncmVzcy5rZXksIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcywgd29ya0luUHJvZ3Jlc3MuX2RlYnVnT3duZXIgfHwgbnVsbCwgd29ya0luUHJvZ3Jlc3MubW9kZSwgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUpKTtcbiAgICB9XG4gIH1cblxuICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgIHZhciBvbGRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgICB2YXIgbmV3UHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICBpZiAob2xkUHJvcHMgIT09IG5ld1Byb3BzIHx8IGhhc0NvbnRleHRDaGFuZ2VkKCkgfHwgKCAvLyBGb3JjZSBhIHJlLXJlbmRlciBpZiB0aGUgaW1wbGVtZW50YXRpb24gY2hhbmdlZCBkdWUgdG8gaG90IHJlbG9hZDpcbiAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSAhPT0gY3VycmVudC50eXBlICkpIHtcbiAgICAgIC8vIElmIHByb3BzIG9yIGNvbnRleHQgY2hhbmdlZCwgbWFyayB0aGUgZmliZXIgYXMgaGF2aW5nIHBlcmZvcm1lZCB3b3JrLlxuICAgICAgLy8gVGhpcyBtYXkgYmUgdW5zZXQgaWYgdGhlIHByb3BzIGFyZSBkZXRlcm1pbmVkIHRvIGJlIGVxdWFsIGxhdGVyIChtZW1vKS5cbiAgICAgIGRpZFJlY2VpdmVVcGRhdGUgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAodXBkYXRlRXhwaXJhdGlvblRpbWUgPCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlOyAvLyBUaGlzIGZpYmVyIGRvZXMgbm90IGhhdmUgYW55IHBlbmRpbmcgd29yay4gQmFpbG91dCB3aXRob3V0IGVudGVyaW5nXG4gICAgICAvLyB0aGUgYmVnaW4gcGhhc2UuIFRoZXJlJ3Mgc3RpbGwgc29tZSBib29ra2VlcGluZyB3ZSB0aGF0IG5lZWRzIHRvIGJlIGRvbmVcbiAgICAgIC8vIGluIHRoaXMgb3B0aW1pemVkIHBhdGgsIG1vc3RseSBwdXNoaW5nIHN0dWZmIG9udG8gdGhlIHN0YWNrLlxuXG4gICAgICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgIHB1c2hIb3N0Um9vdENvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIHJlc2V0SHlkcmF0aW9uU3RhdGUoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICAgICAgcHVzaEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQ29uY3VycmVudE1vZGUgJiYgcmVuZGVyRXhwaXJhdGlvblRpbWUgIT09IE5ldmVyICYmIHNob3VsZERlcHJpb3JpdGl6ZVN1YnRyZWUod29ya0luUHJvZ3Jlc3MudHlwZSwgbmV3UHJvcHMpKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1hcmtTcGF3bmVkV29yayhOZXZlcik7XG4gICAgICAgICAgICB9IC8vIFNjaGVkdWxlIHRoaXMgZmliZXIgdG8gcmUtcmVuZGVyIGF0IG9mZnNjcmVlbiBwcmlvcml0eS4gVGhlbiBiYWlsb3V0LlxuXG5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IE5ldmVyO1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICAgICAgaWYgKGlzQ29udGV4dFByb3ZpZGVyKENvbXBvbmVudCkpIHtcbiAgICAgICAgICAgICAgcHVzaENvbnRleHRQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgcHVzaEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZS5jb250YWluZXJJbmZvKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIENvbnRleHRQcm92aWRlcjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgbmV3VmFsdWUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLnZhbHVlO1xuICAgICAgICAgICAgcHVzaFByb3ZpZGVyKHdvcmtJblByb2dyZXNzLCBuZXdWYWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgY2FzZSBQcm9maWxlcjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICAvLyBQcm9maWxlciBzaG91bGQgb25seSBjYWxsIG9uUmVuZGVyIHdoZW4gb25lIG9mIGl0cyBkZXNjZW5kYW50cyBhY3R1YWxseSByZW5kZXJlZC5cbiAgICAgICAgICAgIHZhciBoYXNDaGlsZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZEV4cGlyYXRpb25UaW1lID49IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuXG4gICAgICAgICAgICBpZiAoaGFzQ2hpbGRXb3JrKSB7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgc3RhdGUgPSB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlO1xuXG4gICAgICAgICAgICBpZiAoc3RhdGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gd2hldGhlciB0byByZXRyeSB0aGUgcHJpbWFyeSBjaGlsZHJlbiwgb3IgdG8gc2tpcCBvdmVyIGl0IGFuZFxuICAgICAgICAgICAgICAvLyBnbyBzdHJhaWdodCB0byB0aGUgZmFsbGJhY2suIENoZWNrIHRoZSBwcmlvcml0eSBvZiB0aGUgcHJpbWFyeVxuICAgICAgICAgICAgICAvLyBjaGlsZCBmcmFnbWVudC5cblxuXG4gICAgICAgICAgICAgIHZhciBwcmltYXJ5Q2hpbGRGcmFnbWVudCA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICB2YXIgcHJpbWFyeUNoaWxkRXhwaXJhdGlvblRpbWUgPSBwcmltYXJ5Q2hpbGRGcmFnbWVudC5jaGlsZEV4cGlyYXRpb25UaW1lO1xuXG4gICAgICAgICAgICAgIGlmIChwcmltYXJ5Q2hpbGRFeHBpcmF0aW9uVGltZSAhPT0gTm9Xb3JrICYmIHByaW1hcnlDaGlsZEV4cGlyYXRpb25UaW1lID49IHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gaGF2ZSBwZW5kaW5nIHdvcmsuIFVzZSB0aGUgbm9ybWFsIHBhdGhcbiAgICAgICAgICAgICAgICAvLyB0byBhdHRlbXB0IHRvIHJlbmRlciB0aGUgcHJpbWFyeSBjaGlsZHJlbiBhZ2Fpbi5cbiAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBwdXNoU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzLCBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQpKTsgLy8gVGhlIHByaW1hcnkgY2hpbGRyZW4gZG8gbm90IGhhdmUgcGVuZGluZyB3b3JrIHdpdGggc3VmZmljaWVudFxuICAgICAgICAgICAgICAgIC8vIHByaW9yaXR5LiBCYWlsb3V0LlxuXG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkID0gYmFpbG91dE9uQWxyZWFkeUZpbmlzaGVkV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAvLyBUaGUgZmFsbGJhY2sgY2hpbGRyZW4gaGF2ZSBwZW5kaW5nIHdvcmsuIFNraXAgb3ZlciB0aGVcbiAgICAgICAgICAgICAgICAgIC8vIHByaW1hcnkgY2hpbGRyZW4gYW5kIHdvcmsgb24gdGhlIGZhbGxiYWNrLlxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnNpYmxpbmc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc2V0RGVmYXVsdFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgICAgICB7XG4gICAgICAgICAgICB2YXIgZGlkU3VzcGVuZEJlZm9yZSA9IChjdXJyZW50LmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdDtcblxuICAgICAgICAgICAgdmFyIF9oYXNDaGlsZFdvcmsgPSB3b3JrSW5Qcm9ncmVzcy5jaGlsZEV4cGlyYXRpb25UaW1lID49IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuXG4gICAgICAgICAgICBpZiAoZGlkU3VzcGVuZEJlZm9yZSkge1xuICAgICAgICAgICAgICBpZiAoX2hhc0NoaWxkV29yaykge1xuICAgICAgICAgICAgICAgIC8vIElmIHNvbWV0aGluZyB3YXMgaW4gZmFsbGJhY2sgc3RhdGUgbGFzdCB0aW1lLCBhbmQgd2UgaGF2ZSBhbGwgdGhlXG4gICAgICAgICAgICAgICAgLy8gc2FtZSBjaGlsZHJlbiB0aGVuIHdlJ3JlIHN0aWxsIGluIHByb2dyZXNzaXZlIGxvYWRpbmcgc3RhdGUuXG4gICAgICAgICAgICAgICAgLy8gU29tZXRoaW5nIG1pZ2h0IGdldCB1bmJsb2NrZWQgYnkgc3RhdGUgdXBkYXRlcyBvciByZXRyaWVzIGluIHRoZVxuICAgICAgICAgICAgICAgIC8vIHRyZWUgd2hpY2ggd2lsbCBhZmZlY3QgdGhlIHRhaWwuIFNvIHdlIG5lZWQgdG8gdXNlIHRoZSBub3JtYWxcbiAgICAgICAgICAgICAgICAvLyBwYXRoIHRvIGNvbXB1dGUgdGhlIGNvcnJlY3QgdGFpbC5cbiAgICAgICAgICAgICAgICByZXR1cm4gdXBkYXRlU3VzcGVuc2VMaXN0Q29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgICAgICAgICAgIH0gLy8gSWYgbm9uZSBvZiB0aGUgY2hpbGRyZW4gaGFkIGFueSB3b3JrLCB0aGF0IG1lYW5zIHRoYXQgbm9uZSBvZlxuICAgICAgICAgICAgICAvLyB0aGVtIGdvdCByZXRyaWVkIHNvIHRoZXknbGwgc3RpbGwgYmUgYmxvY2tlZCBpbiB0aGUgc2FtZSB3YXlcbiAgICAgICAgICAgICAgLy8gYXMgYmVmb3JlLiBXZSBjYW4gZmFzdCBiYWlsIG91dC5cblxuXG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgfSAvLyBJZiBub3RoaW5nIHN1c3BlbmRlZCBiZWZvcmUgYW5kIHdlJ3JlIHJlbmRlcmluZyB0aGUgc2FtZSBjaGlsZHJlbixcbiAgICAgICAgICAgIC8vIHRoZW4gdGhlIHRhaWwgZG9lc24ndCBtYXR0ZXIuIEFueXRoaW5nIG5ldyB0aGF0IHN1c3BlbmRzIHdpbGwgd29ya1xuICAgICAgICAgICAgLy8gaW4gdGhlIFwidG9nZXRoZXJcIiBtb2RlLCBzbyB3ZSBjYW4gY29udGludWUgZnJvbSB0aGUgc3RhdGUgd2UgaGFkLlxuXG5cbiAgICAgICAgICAgIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgICAgIGlmIChyZW5kZXJTdGF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAvLyBSZXNldCB0byB0aGUgXCJ0b2dldGhlclwiIG1vZGUgaW4gY2FzZSB3ZSd2ZSBzdGFydGVkIGEgZGlmZmVyZW50XG4gICAgICAgICAgICAgIC8vIHVwZGF0ZSBpbiB0aGUgcGFzdCBidXQgZGlkbid0IGNvbXBsZXRlIGl0LlxuICAgICAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmcgPSBudWxsO1xuICAgICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50KTtcblxuICAgICAgICAgICAgaWYgKF9oYXNDaGlsZFdvcmspIHtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBJZiBub25lIG9mIHRoZSBjaGlsZHJlbiBoYWQgYW55IHdvcmssIHRoYXQgbWVhbnMgdGhhdCBub25lIG9mXG4gICAgICAgICAgICAgIC8vIHRoZW0gZ290IHJldHJpZWQgc28gdGhleSdsbCBzdGlsbCBiZSBibG9ja2VkIGluIHRoZSBzYW1lIHdheVxuICAgICAgICAgICAgICAvLyBhcyBiZWZvcmUuIFdlIGNhbiBmYXN0IGJhaWwgb3V0LlxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiYWlsb3V0T25BbHJlYWR5RmluaXNoZWRXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFuIHVwZGF0ZSB3YXMgc2NoZWR1bGVkIG9uIHRoaXMgZmliZXIsIGJ1dCB0aGVyZSBhcmUgbm8gbmV3IHByb3BzXG4gICAgICAvLyBub3IgbGVnYWN5IGNvbnRleHQuIFNldCB0aGlzIHRvIGZhbHNlLiBJZiBhbiB1cGRhdGUgcXVldWUgb3IgY29udGV4dFxuICAgICAgLy8gY29uc3VtZXIgcHJvZHVjZXMgYSBjaGFuZ2VkIHZhbHVlLCBpdCB3aWxsIHNldCB0aGlzIHRvIHRydWUuIE90aGVyd2lzZSxcbiAgICAgIC8vIHRoZSBjb21wb25lbnQgd2lsbCBhc3N1bWUgdGhlIGNoaWxkcmVuIGhhdmUgbm90IGNoYW5nZWQgYW5kIGJhaWwgb3V0LlxuICAgICAgZGlkUmVjZWl2ZVVwZGF0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBkaWRSZWNlaXZlVXBkYXRlID0gZmFsc2U7XG4gIH0gLy8gQmVmb3JlIGVudGVyaW5nIHRoZSBiZWdpbiBwaGFzZSwgY2xlYXIgcGVuZGluZyB1cGRhdGUgcHJpb3JpdHkuXG4gIC8vIFRPRE86IFRoaXMgYXNzdW1lcyB0aGF0IHdlJ3JlIGFib3V0IHRvIGV2YWx1YXRlIHRoZSBjb21wb25lbnQgYW5kIHByb2Nlc3NcbiAgLy8gdGhlIHVwZGF0ZSBxdWV1ZS4gSG93ZXZlciwgdGhlcmUncyBhbiBleGNlcHRpb246IFNpbXBsZU1lbW9Db21wb25lbnRcbiAgLy8gc29tZXRpbWVzIGJhaWxzIG91dCBsYXRlciBpbiB0aGUgYmVnaW4gcGhhc2UuIFRoaXMgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkXG4gIC8vIG1vdmUgdGhpcyBhc3NpZ25tZW50IG91dCBvZiB0aGUgY29tbW9uIHBhdGggYW5kIGludG8gZWFjaCBicmFuY2guXG5cblxuICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IE5vV29yaztcblxuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIG1vdW50SW5kZXRlcm1pbmF0ZUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgd29ya0luUHJvZ3Jlc3MudHlwZSwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgfVxuXG4gICAgY2FzZSBMYXp5Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgZWxlbWVudFR5cGUgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZTtcbiAgICAgICAgcmV0dXJuIG1vdW50TGF6eUNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgZWxlbWVudFR5cGUsIHVwZGF0ZUV4cGlyYXRpb25UaW1lLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmN0aW9uQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX0NvbXBvbmVudCA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG4gICAgICAgIHZhciB1bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG4gICAgICAgIHZhciByZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQgPyB1bnJlc29sdmVkUHJvcHMgOiByZXNvbHZlRGVmYXVsdFByb3BzKF9Db21wb25lbnQsIHVucmVzb2x2ZWRQcm9wcyk7XG4gICAgICAgIHJldHVybiB1cGRhdGVGdW5jdGlvbkNvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudCwgcmVzb2x2ZWRQcm9wcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9Db21wb25lbnQyID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzID0gd29ya0luUHJvZ3Jlc3MuZWxlbWVudFR5cGUgPT09IF9Db21wb25lbnQyID8gX3VucmVzb2x2ZWRQcm9wcyA6IHJlc29sdmVEZWZhdWx0UHJvcHMoX0NvbXBvbmVudDIsIF91bnJlc29sdmVkUHJvcHMpO1xuXG4gICAgICAgIHJldHVybiB1cGRhdGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDIsIF9yZXNvbHZlZFByb3BzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAgcmV0dXJuIHVwZGF0ZUhvc3RSb290KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICByZXR1cm4gdXBkYXRlSG9zdENvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHJldHVybiB1cGRhdGVIb3N0VGV4dChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAgcmV0dXJuIHVwZGF0ZVN1c3BlbnNlQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICByZXR1cm4gdXBkYXRlUG9ydGFsQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgICB7XG4gICAgICAgIHZhciB0eXBlID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcbiAgICAgICAgdmFyIF91bnJlc29sdmVkUHJvcHMyID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gICAgICAgIHZhciBfcmVzb2x2ZWRQcm9wczIgPSB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9PT0gdHlwZSA/IF91bnJlc29sdmVkUHJvcHMyIDogcmVzb2x2ZURlZmF1bHRQcm9wcyh0eXBlLCBfdW5yZXNvbHZlZFByb3BzMik7XG5cbiAgICAgICAgcmV0dXJuIHVwZGF0ZUZvcndhcmRSZWYoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIF9yZXNvbHZlZFByb3BzMiwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgfVxuXG4gICAgY2FzZSBGcmFnbWVudDpcbiAgICAgIHJldHVybiB1cGRhdGVGcmFnbWVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuXG4gICAgY2FzZSBNb2RlOlxuICAgICAgcmV0dXJuIHVwZGF0ZU1vZGUoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICByZXR1cm4gdXBkYXRlUHJvZmlsZXIoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcblxuICAgIGNhc2UgQ29udGV4dFByb3ZpZGVyOlxuICAgICAgcmV0dXJuIHVwZGF0ZUNvbnRleHRQcm92aWRlcihjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuXG4gICAgY2FzZSBDb250ZXh0Q29uc3VtZXI6XG4gICAgICByZXR1cm4gdXBkYXRlQ29udGV4dENvbnN1bWVyKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBfdHlwZTIgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczMgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7IC8vIFJlc29sdmUgb3V0ZXIgcHJvcHMgZmlyc3QsIHRoZW4gcmVzb2x2ZSBpbm5lciBwcm9wcy5cblxuICAgICAgICB2YXIgX3Jlc29sdmVkUHJvcHMzID0gcmVzb2x2ZURlZmF1bHRQcm9wcyhfdHlwZTIsIF91bnJlc29sdmVkUHJvcHMzKTtcblxuICAgICAgICB7XG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnR5cGUgIT09IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlKSB7XG4gICAgICAgICAgICB2YXIgb3V0ZXJQcm9wVHlwZXMgPSBfdHlwZTIucHJvcFR5cGVzO1xuXG4gICAgICAgICAgICBpZiAob3V0ZXJQcm9wVHlwZXMpIHtcbiAgICAgICAgICAgICAgY2hlY2tQcm9wVHlwZXMob3V0ZXJQcm9wVHlwZXMsIF9yZXNvbHZlZFByb3BzMywgLy8gUmVzb2x2ZWQgZm9yIG91dGVyIG9ubHlcbiAgICAgICAgICAgICAgJ3Byb3AnLCBnZXRDb21wb25lbnROYW1lKF90eXBlMiksIGdldEN1cnJlbnRGaWJlclN0YWNrSW5EZXYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIF9yZXNvbHZlZFByb3BzMyA9IHJlc29sdmVEZWZhdWx0UHJvcHMoX3R5cGUyLnR5cGUsIF9yZXNvbHZlZFByb3BzMyk7XG4gICAgICAgIHJldHVybiB1cGRhdGVNZW1vQ29tcG9uZW50KGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBfdHlwZTIsIF9yZXNvbHZlZFByb3BzMywgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cblxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZVNpbXBsZU1lbW9Db21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHdvcmtJblByb2dyZXNzLnR5cGUsIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcywgdXBkYXRlRXhwaXJhdGlvblRpbWUsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cblxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICB2YXIgX0NvbXBvbmVudDMgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgX3VucmVzb2x2ZWRQcm9wczQgPSB3b3JrSW5Qcm9ncmVzcy5wZW5kaW5nUHJvcHM7XG5cbiAgICAgICAgdmFyIF9yZXNvbHZlZFByb3BzNCA9IHdvcmtJblByb2dyZXNzLmVsZW1lbnRUeXBlID09PSBfQ29tcG9uZW50MyA/IF91bnJlc29sdmVkUHJvcHM0IDogcmVzb2x2ZURlZmF1bHRQcm9wcyhfQ29tcG9uZW50MywgX3VucmVzb2x2ZWRQcm9wczQpO1xuXG4gICAgICAgIHJldHVybiBtb3VudEluY29tcGxldGVDbGFzc0NvbXBvbmVudChjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgX0NvbXBvbmVudDMsIF9yZXNvbHZlZFByb3BzNCwgcmVuZGVyRXhwaXJhdGlvblRpbWUpO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHJldHVybiB1cGRhdGVTdXNwZW5zZUxpc3RDb21wb25lbnQoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cbiAgfVxuXG4gIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJVbmtub3duIHVuaXQgb2Ygd29yayB0YWcgKFwiICsgd29ya0luUHJvZ3Jlc3MudGFnICsgXCIpLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIG1hcmtVcGRhdGUod29ya0luUHJvZ3Jlc3MpIHtcbiAgLy8gVGFnIHRoZSBmaWJlciB3aXRoIGFuIHVwZGF0ZSBlZmZlY3QuIFRoaXMgdHVybnMgYSBQbGFjZW1lbnQgaW50b1xuICAvLyBhIFBsYWNlbWVudEFuZFVwZGF0ZS5cbiAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gbWFya1JlZiQxKHdvcmtJblByb2dyZXNzKSB7XG4gIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBSZWY7XG59XG5cbnZhciBhcHBlbmRBbGxDaGlsZHJlbjtcbnZhciB1cGRhdGVIb3N0Q29udGFpbmVyO1xudmFyIHVwZGF0ZUhvc3RDb21wb25lbnQkMTtcbnZhciB1cGRhdGVIb3N0VGV4dCQxO1xuXG57XG4gIC8vIE11dGF0aW9uIG1vZGVcbiAgYXBwZW5kQWxsQ2hpbGRyZW4gPSBmdW5jdGlvbiAocGFyZW50LCB3b3JrSW5Qcm9ncmVzcywgbmVlZHNWaXNpYmlsaXR5VG9nZ2xlLCBpc0hpZGRlbikge1xuICAgIC8vIFdlIG9ubHkgaGF2ZSB0aGUgdG9wIEZpYmVyIHRoYXQgd2FzIGNyZWF0ZWQgYnV0IHdlIG5lZWQgcmVjdXJzZSBkb3duIGl0c1xuICAgIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cbiAgICB2YXIgbm9kZSA9IHdvcmtJblByb2dyZXNzLmNoaWxkO1xuXG4gICAgd2hpbGUgKG5vZGUgIT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgICAgYXBwZW5kSW5pdGlhbENoaWxkKHBhcmVudCwgbm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIGlmIChub2RlLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgIG5vZGUuY2hpbGQucmV0dXJuID0gbm9kZTtcbiAgICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAobm9kZSA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gd29ya0luUHJvZ3Jlc3MpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9O1xuXG4gIHVwZGF0ZUhvc3RDb250YWluZXIgPSBmdW5jdGlvbiAod29ya0luUHJvZ3Jlc3MpIHsvLyBOb29wXG4gIH07XG5cbiAgdXBkYXRlSG9zdENvbXBvbmVudCQxID0gZnVuY3Rpb24gKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCB0eXBlLCBuZXdQcm9wcywgcm9vdENvbnRhaW5lckluc3RhbmNlKSB7XG4gICAgLy8gSWYgd2UgaGF2ZSBhbiBhbHRlcm5hdGUsIHRoYXQgbWVhbnMgdGhpcyBpcyBhbiB1cGRhdGUgYW5kIHdlIG5lZWQgdG9cbiAgICAvLyBzY2hlZHVsZSBhIHNpZGUtZWZmZWN0IHRvIGRvIHRoZSB1cGRhdGVzLlxuICAgIHZhciBvbGRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcblxuICAgIGlmIChvbGRQcm9wcyA9PT0gbmV3UHJvcHMpIHtcbiAgICAgIC8vIEluIG11dGF0aW9uIG1vZGUsIHRoaXMgaXMgc3VmZmljaWVudCBmb3IgYSBiYWlsb3V0IGJlY2F1c2VcbiAgICAgIC8vIHdlIHdvbid0IHRvdWNoIHRoaXMgbm9kZSBldmVuIGlmIGNoaWxkcmVuIGNoYW5nZWQuXG4gICAgICByZXR1cm47XG4gICAgfSAvLyBJZiB3ZSBnZXQgdXBkYXRlZCBiZWNhdXNlIG9uZSBvZiBvdXIgY2hpbGRyZW4gdXBkYXRlZCwgd2UgZG9uJ3RcbiAgICAvLyBoYXZlIG5ld1Byb3BzIHNvIHdlJ2xsIGhhdmUgdG8gcmV1c2UgdGhlbS5cbiAgICAvLyBUT0RPOiBTcGxpdCB0aGUgdXBkYXRlIEFQSSBhcyBzZXBhcmF0ZSBmb3IgdGhlIHByb3BzIHZzLiBjaGlsZHJlbi5cbiAgICAvLyBFdmVuIGJldHRlciB3b3VsZCBiZSBpZiBjaGlsZHJlbiB3ZXJlbid0IHNwZWNpYWwgY2FzZWQgYXQgYWxsIHRoby5cblxuXG4gICAgdmFyIGluc3RhbmNlID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBFeHBlcmllbmNpbmcgYW4gZXJyb3Igd2hlcmUgb2xkUHJvcHMgaXMgbnVsbC4gU3VnZ2VzdHMgYSBob3N0XG4gICAgLy8gY29tcG9uZW50IGlzIGhpdHRpbmcgdGhlIHJlc3VtZSBwYXRoLiBGaWd1cmUgb3V0IHdoeS4gUG9zc2libHlcbiAgICAvLyByZWxhdGVkIHRvIGBoaWRkZW5gLlxuXG4gICAgdmFyIHVwZGF0ZVBheWxvYWQgPSBwcmVwYXJlVXBkYXRlKGluc3RhbmNlLCB0eXBlLCBvbGRQcm9wcywgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSwgY3VycmVudEhvc3RDb250ZXh0KTsgLy8gVE9ETzogVHlwZSB0aGlzIHNwZWNpZmljIHRvIHRoaXMgdHlwZSBvZiBjb21wb25lbnQuXG5cbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IHVwZGF0ZVBheWxvYWQ7IC8vIElmIHRoZSB1cGRhdGUgcGF5bG9hZCBpbmRpY2F0ZXMgdGhhdCB0aGVyZSBpcyBhIGNoYW5nZSBvciBpZiB0aGVyZVxuICAgIC8vIGlzIGEgbmV3IHJlZiB3ZSBtYXJrIHRoaXMgYXMgYW4gdXBkYXRlLiBBbGwgdGhlIHdvcmsgaXMgZG9uZSBpbiBjb21taXRXb3JrLlxuXG4gICAgaWYgKHVwZGF0ZVBheWxvYWQpIHtcbiAgICAgIG1hcmtVcGRhdGUod29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfTtcblxuICB1cGRhdGVIb3N0VGV4dCQxID0gZnVuY3Rpb24gKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KSB7XG4gICAgLy8gSWYgdGhlIHRleHQgZGlmZmVycywgbWFyayBpdCBhcyBhbiB1cGRhdGUuIEFsbCB0aGUgd29yayBpbiBkb25lIGluIGNvbW1pdFdvcmsuXG4gICAgaWYgKG9sZFRleHQgIT09IG5ld1RleHQpIHtcbiAgICAgIG1hcmtVcGRhdGUod29ya0luUHJvZ3Jlc3MpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBoYXNSZW5kZXJlZEFUYWlsRmFsbGJhY2spIHtcbiAgc3dpdGNoIChyZW5kZXJTdGF0ZS50YWlsTW9kZSkge1xuICAgIGNhc2UgJ2hpZGRlbic6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgdGFpbE5vZGUgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICB2YXIgbGFzdFRhaWxOb2RlID0gbnVsbDtcblxuICAgICAgICB3aGlsZSAodGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAodGFpbE5vZGUuYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICBsYXN0VGFpbE5vZGUgPSB0YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0YWlsTm9kZSA9IHRhaWxOb2RlLnNpYmxpbmc7XG4gICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBzaW1wbHkgZ29pbmcgdG8gZGVsZXRlIGFsbCBpbnNlcnRpb25zIGFmdGVyIHRoZVxuICAgICAgICAvLyBsYXN0IHJlbmRlcmVkIGl0ZW0uXG5cblxuICAgICAgICBpZiAobGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBEZXRhY2ggdGhlIGluc2VydGlvbiBhZnRlciB0aGUgbGFzdCBub2RlIHRoYXQgd2FzIGFscmVhZHlcbiAgICAgICAgICAvLyBpbnNlcnRlZC5cbiAgICAgICAgICBsYXN0VGFpbE5vZGUuc2libGluZyA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgJ2NvbGxhcHNlZCc6XG4gICAgICB7XG4gICAgICAgIC8vIEFueSBpbnNlcnRpb25zIGF0IHRoZSBlbmQgb2YgdGhlIHRhaWwgbGlzdCBhZnRlciB0aGlzIHBvaW50XG4gICAgICAgIC8vIHNob3VsZCBiZSBpbnZpc2libGUuIElmIHRoZXJlIGFyZSBhbHJlYWR5IG1vdW50ZWQgYm91bmRhcmllc1xuICAgICAgICAvLyBhbnl0aGluZyBiZWZvcmUgdGhlbSBhcmUgbm90IGNvbnNpZGVyZWQgZm9yIGNvbGxhcHNpbmcuXG4gICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBuZWVkIHRvIGdvIHRocm91Z2ggdGhlIHdob2xlIHRhaWwgdG8gZmluZCBpZlxuICAgICAgICAvLyB0aGVyZSBhcmUgYW55LlxuICAgICAgICB2YXIgX3RhaWxOb2RlID0gcmVuZGVyU3RhdGUudGFpbDtcbiAgICAgICAgdmFyIF9sYXN0VGFpbE5vZGUgPSBudWxsO1xuXG4gICAgICAgIHdoaWxlIChfdGFpbE5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAoX3RhaWxOb2RlLmFsdGVybmF0ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgX2xhc3RUYWlsTm9kZSA9IF90YWlsTm9kZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBfdGFpbE5vZGUgPSBfdGFpbE5vZGUuc2libGluZztcbiAgICAgICAgfSAvLyBOZXh0IHdlJ3JlIHNpbXBseSBnb2luZyB0byBkZWxldGUgYWxsIGluc2VydGlvbnMgYWZ0ZXIgdGhlXG4gICAgICAgIC8vIGxhc3QgcmVuZGVyZWQgaXRlbS5cblxuXG4gICAgICAgIGlmIChfbGFzdFRhaWxOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gQWxsIHJlbWFpbmluZyBpdGVtcyBpbiB0aGUgdGFpbCBhcmUgaW5zZXJ0aW9ucy5cbiAgICAgICAgICBpZiAoIWhhc1JlbmRlcmVkQVRhaWxGYWxsYmFjayAmJiByZW5kZXJTdGF0ZS50YWlsICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBzdXNwZW5kZWQgZHVyaW5nIHRoZSBoZWFkLiBXZSB3YW50IHRvIHNob3cgYXQgbGVhc3Qgb25lXG4gICAgICAgICAgICAvLyByb3cgYXQgdGhlIHRhaWwuIFNvIHdlJ2xsIGtlZXAgb24gYW5kIGN1dCBvZmYgdGhlIHJlc3QuXG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsLnNpYmxpbmcgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsID0gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRGV0YWNoIHRoZSBpbnNlcnRpb24gYWZ0ZXIgdGhlIGxhc3Qgbm9kZSB0aGF0IHdhcyBhbHJlYWR5XG4gICAgICAgICAgLy8gaW5zZXJ0ZWQuXG4gICAgICAgICAgX2xhc3RUYWlsTm9kZS5zaWJsaW5nID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBsZXRlV29yayhjdXJyZW50LCB3b3JrSW5Qcm9ncmVzcywgcmVuZGVyRXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIG5ld1Byb3BzID0gd29ya0luUHJvZ3Jlc3MucGVuZGluZ1Byb3BzO1xuXG4gIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgY2FzZSBJbmRldGVybWluYXRlQ29tcG9uZW50OlxuICAgIGNhc2UgTGF6eUNvbXBvbmVudDpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBGcmFnbWVudDpcbiAgICBjYXNlIE1vZGU6XG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICBjYXNlIENvbnRleHRDb25zdW1lcjpcbiAgICBjYXNlIE1lbW9Db21wb25lbnQ6XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgcG9wQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICB7XG4gICAgICAgIHBvcEhvc3RDb250YWluZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICBwb3BUb3BMZXZlbENvbnRleHRPYmplY3Qod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgZmliZXJSb290ID0gd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChmaWJlclJvb3QucGVuZGluZ0NvbnRleHQpIHtcbiAgICAgICAgICBmaWJlclJvb3QuY29udGV4dCA9IGZpYmVyUm9vdC5wZW5kaW5nQ29udGV4dDtcbiAgICAgICAgICBmaWJlclJvb3QucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGN1cnJlbnQgPT09IG51bGwgfHwgY3VycmVudC5jaGlsZCA9PT0gbnVsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGh5ZHJhdGVkLCBwb3Agc28gdGhhdCB3ZSBjYW4gZGVsZXRlIGFueSByZW1haW5pbmcgY2hpbGRyZW5cbiAgICAgICAgICAvLyB0aGF0IHdlcmVuJ3QgaHlkcmF0ZWQuXG4gICAgICAgICAgdmFyIHdhc0h5ZHJhdGVkID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKHdhc0h5ZHJhdGVkKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSBoeWRyYXRlZCwgdGhlbiB3ZSdsbCBuZWVkIHRvIHNjaGVkdWxlIGFuIHVwZGF0ZSBmb3JcbiAgICAgICAgICAgIC8vIHRoZSBjb21taXQgc2lkZS1lZmZlY3RzIG9uIHRoZSByb290LlxuICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdXBkYXRlSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BIb3N0Q29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciByb290Q29udGFpbmVySW5zdGFuY2UgPSBnZXRSb290SG9zdENvbnRhaW5lcigpO1xuICAgICAgICB2YXIgdHlwZSA9IHdvcmtJblByb2dyZXNzLnR5cGU7XG5cbiAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3Muc3RhdGVOb2RlICE9IG51bGwpIHtcbiAgICAgICAgICB1cGRhdGVIb3N0Q29tcG9uZW50JDEoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UpO1xuXG4gICAgICAgICAgaWYgKGN1cnJlbnQucmVmICE9PSB3b3JrSW5Qcm9ncmVzcy5yZWYpIHtcbiAgICAgICAgICAgIG1hcmtSZWYkMSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmICghbmV3UHJvcHMpIHtcbiAgICAgICAgICAgIGlmICghKHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSAhPT0gbnVsbCkpIHtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRocm93IEVycm9yKCBcIldlIG11c3QgaGF2ZSBuZXcgcHJvcHMgZm9yIG5ldyBtb3VudHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSAvLyBUaGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSBhYm9ydCB3b3JrLlxuXG5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBjdXJyZW50SG9zdENvbnRleHQgPSBnZXRIb3N0Q29udGV4dCgpOyAvLyBUT0RPOiBNb3ZlIGNyZWF0ZUluc3RhbmNlIHRvIGJlZ2luV29yayBhbmQga2VlcCBpdCBvbiBhIGNvbnRleHRcbiAgICAgICAgICAvLyBcInN0YWNrXCIgYXMgdGhlIHBhcmVudC4gVGhlbiBhcHBlbmQgY2hpbGRyZW4gYXMgd2UgZ28gaW4gYmVnaW5Xb3JrXG4gICAgICAgICAgLy8gb3IgY29tcGxldGVXb3JrIGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIHdhbnQgdG8gYWRkIHRoZW0gdG9wLT5kb3duIG9yXG4gICAgICAgICAgLy8gYm90dG9tLT51cC4gVG9wLT5kb3duIGlzIGZhc3RlciBpbiBJRTExLlxuXG4gICAgICAgICAgdmFyIF93YXNIeWRyYXRlZCA9IHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcblxuICAgICAgICAgIGlmIChfd2FzSHlkcmF0ZWQpIHtcbiAgICAgICAgICAgIC8vIFRPRE86IE1vdmUgdGhpcyBhbmQgY3JlYXRlSW5zdGFuY2Ugc3RlcCBpbnRvIHRoZSBiZWdpblBoYXNlXG4gICAgICAgICAgICAvLyB0byBjb25zb2xpZGF0ZS5cbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdEluc3RhbmNlKHdvcmtJblByb2dyZXNzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCkpIHtcbiAgICAgICAgICAgICAgLy8gSWYgY2hhbmdlcyB0byB0aGUgaHlkcmF0ZWQgbm9kZSBuZWVkIHRvIGJlIGFwcGxpZWQgYXQgdGhlXG4gICAgICAgICAgICAgIC8vIGNvbW1pdC1waGFzZSB3ZSBtYXJrIHRoaXMgYXMgc3VjaC5cbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBpbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKHR5cGUsIG5ld1Byb3BzLCByb290Q29udGFpbmVySW5zdGFuY2UsIGN1cnJlbnRIb3N0Q29udGV4dCwgd29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgICAgYXBwZW5kQWxsQ2hpbGRyZW4oaW5zdGFuY2UsIHdvcmtJblByb2dyZXNzLCBmYWxzZSwgZmFsc2UpOyAvLyBUaGlzIG5lZWRzIHRvIGJlIHNldCBiZWZvcmUgd2UgbW91bnQgRmxhcmUgZXZlbnQgbGlzdGVuZXJzXG5cbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGluc3RhbmNlO1xuICAgICAgICAgICAgLy8gKGVnIERPTSByZW5kZXJlciBzdXBwb3J0cyBhdXRvLWZvY3VzIGZvciBjZXJ0YWluIGVsZW1lbnRzKS5cbiAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBzdWNoIHJlbmRlcmVycyBnZXQgc2NoZWR1bGVkIGZvciBsYXRlciB3b3JrLlxuXG5cbiAgICAgICAgICAgIGlmIChmaW5hbGl6ZUluaXRpYWxDaGlsZHJlbihpbnN0YW5jZSwgdHlwZSwgbmV3UHJvcHMsIHJvb3RDb250YWluZXJJbnN0YW5jZSkpIHtcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLnJlZiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSByZWYgb24gYSBob3N0IG5vZGUgd2UgbmVlZCB0byBzY2hlZHVsZSBhIGNhbGxiYWNrXG4gICAgICAgICAgICBtYXJrUmVmJDEod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0VGV4dDpcbiAgICAgIHtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBuZXdQcm9wcztcblxuICAgICAgICBpZiAoY3VycmVudCAmJiB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudC5tZW1vaXplZFByb3BzOyAvLyBJZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSwgdGhhdCBtZWFucyB0aGlzIGlzIGFuIHVwZGF0ZSBhbmQgd2UgbmVlZFxuICAgICAgICAgIC8vIHRvIHNjaGVkdWxlIGEgc2lkZS1lZmZlY3QgdG8gZG8gdGhlIHVwZGF0ZXMuXG5cbiAgICAgICAgICB1cGRhdGVIb3N0VGV4dCQxKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCBvbGRUZXh0LCBuZXdUZXh0KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAodHlwZW9mIG5ld1RleHQgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICBpZiAoISh3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgIT09IG51bGwpKSB7XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXCJXZSBtdXN0IGhhdmUgbmV3IHByb3BzIGZvciBuZXcgbW91bnRzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gLy8gVGhpcyBjYW4gaGFwcGVuIHdoZW4gd2UgYWJvcnQgd29yay5cblxuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfcm9vdENvbnRhaW5lckluc3RhbmNlID0gZ2V0Um9vdEhvc3RDb250YWluZXIoKTtcblxuICAgICAgICAgIHZhciBfY3VycmVudEhvc3RDb250ZXh0ID0gZ2V0SG9zdENvbnRleHQoKTtcblxuICAgICAgICAgIHZhciBfd2FzSHlkcmF0ZWQyID0gcG9wSHlkcmF0aW9uU3RhdGUod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgICAgaWYgKF93YXNIeWRyYXRlZDIpIHtcbiAgICAgICAgICAgIGlmIChwcmVwYXJlVG9IeWRyYXRlSG9zdFRleHRJbnN0YW5jZSh3b3JrSW5Qcm9ncmVzcykpIHtcbiAgICAgICAgICAgICAgbWFya1VwZGF0ZSh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnN0YXRlTm9kZSA9IGNyZWF0ZVRleHRJbnN0YW5jZShuZXdUZXh0LCBfcm9vdENvbnRhaW5lckluc3RhbmNlLCBfY3VycmVudEhvc3RDb250ZXh0LCB3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgICB2YXIgbmV4dFN0YXRlID0gd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZTtcblxuICAgICAgICBpZiAoKHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdCkge1xuICAgICAgICAgIC8vIFNvbWV0aGluZyBzdXNwZW5kZWQuIFJlLXJlbmRlciB3aXRoIHRoZSBmYWxsYmFjayBjaGlsZHJlbi5cbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lOyAvLyBEbyBub3QgcmVzZXQgdGhlIGVmZmVjdCBsaXN0LlxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5leHREaWRUaW1lb3V0ID0gbmV4dFN0YXRlICE9PSBudWxsO1xuICAgICAgICB2YXIgcHJldkRpZFRpbWVvdXQgPSBmYWxzZTtcblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzLmZhbGxiYWNrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHBvcEh5ZHJhdGlvblN0YXRlKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIHByZXZTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgICAgICAgICBwcmV2RGlkVGltZW91dCA9IHByZXZTdGF0ZSAhPT0gbnVsbDtcblxuICAgICAgICAgIGlmICghbmV4dERpZFRpbWVvdXQgJiYgcHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBXZSBqdXN0IHN3aXRjaGVkIGZyb20gdGhlIGZhbGxiYWNrIHRvIHRoZSBub3JtYWwgY2hpbGRyZW4uXG4gICAgICAgICAgICAvLyBEZWxldGUgdGhlIGZhbGxiYWNrLlxuICAgICAgICAgICAgLy8gVE9ETzogV291bGQgaXQgYmUgYmV0dGVyIHRvIHN0b3JlIHRoZSBmYWxsYmFjayBmcmFnbWVudCBvblxuICAgICAgICAgICAgLy8gdGhlIHN0YXRlTm9kZSBkdXJpbmcgdGhlIGJlZ2luIHBoYXNlP1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRGYWxsYmFja0NoaWxkID0gY3VycmVudC5jaGlsZC5zaWJsaW5nO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudEZhbGxiYWNrQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgLy8gRGVsZXRpb25zIGdvIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHJldHVybiBmaWJlcidzIGVmZmVjdCBsaXN0XG4gICAgICAgICAgICAgIHZhciBmaXJzdCA9IHdvcmtJblByb2dyZXNzLmZpcnN0RWZmZWN0O1xuXG4gICAgICAgICAgICAgIGlmIChmaXJzdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZpcnN0RWZmZWN0ID0gY3VycmVudEZhbGxiYWNrQ2hpbGQ7XG4gICAgICAgICAgICAgICAgY3VycmVudEZhbGxiYWNrQ2hpbGQubmV4dEVmZmVjdCA9IGZpcnN0O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmZpcnN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdCA9IGN1cnJlbnRGYWxsYmFja0NoaWxkO1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGYWxsYmFja0NoaWxkLm5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgY3VycmVudEZhbGxiYWNrQ2hpbGQuZWZmZWN0VGFnID0gRGVsZXRpb247XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG5leHREaWRUaW1lb3V0ICYmICFwcmV2RGlkVGltZW91dCkge1xuICAgICAgICAgIC8vIElmIHRoaXMgc3VidHJlZWUgaXMgcnVubmluZyBpbiBibG9ja2luZyBtb2RlIHdlIGNhbiBzdXNwZW5kLFxuICAgICAgICAgIC8vIG90aGVyd2lzZSB3ZSB3b24ndCBzdXNwZW5kLlxuICAgICAgICAgIC8vIFRPRE86IFRoaXMgd2lsbCBzdGlsbCBzdXNwZW5kIGEgc3luY2hyb25vdXMgdHJlZSBpZiBhbnl0aGluZ1xuICAgICAgICAgIC8vIGluIHRoZSBjb25jdXJyZW50IHRyZWUgYWxyZWFkeSBzdXNwZW5kZWQgZHVyaW5nIHRoaXMgcmVuZGVyLlxuICAgICAgICAgIC8vIFRoaXMgaXMgYSBrbm93biBidWcuXG4gICAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgQmxvY2tpbmdNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgICAgICAgICAvLyBUT0RPOiBNb3ZlIHRoaXMgYmFjayB0byB0aHJvd0V4Y2VwdGlvbiBiZWNhdXNlIHRoaXMgaXMgdG9vIGxhdGVcbiAgICAgICAgICAgIC8vIGlmIHRoaXMgaXMgYSBsYXJnZSB0cmVlIHdoaWNoIGlzIGNvbW1vbiBmb3IgaW5pdGlhbCBsb2Fkcy4gV2VcbiAgICAgICAgICAgIC8vIGRvbid0IGtub3cgaWYgd2Ugc2hvdWxkIHJlc3RhcnQgYSByZW5kZXIgb3Igbm90IHVudGlsIHdlIGdldFxuICAgICAgICAgICAgLy8gdGhpcyBtYXJrZXIsIGFuZCB0aGlzIGlzIHRvbyBsYXRlLlxuICAgICAgICAgICAgLy8gSWYgdGhpcyByZW5kZXIgYWxyZWFkeSBoYWQgYSBwaW5nIG9yIGxvd2VyIHByaSB1cGRhdGVzLFxuICAgICAgICAgICAgLy8gYW5kIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgd2Uga25vdyB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdlXG4gICAgICAgICAgICAvLyBzaG91bGQgYmUgYWJsZSB0byBpbW1lZGlhdGVseSByZXN0YXJ0IGZyb20gd2l0aGluIHRocm93RXhjZXB0aW9uLlxuICAgICAgICAgICAgdmFyIGhhc0ludmlzaWJsZUNoaWxkQ29udGV4dCA9IGN1cnJlbnQgPT09IG51bGwgJiYgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcy51bnN0YWJsZV9hdm9pZFRoaXNGYWxsYmFjayAhPT0gdHJ1ZTtcblxuICAgICAgICAgICAgaWYgKGhhc0ludmlzaWJsZUNoaWxkQ29udGV4dCB8fCBoYXNTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VTdGFja0N1cnNvci5jdXJyZW50LCBJbnZpc2libGVQYXJlbnRTdXNwZW5zZUNvbnRleHQpKSB7XG4gICAgICAgICAgICAgIC8vIElmIHRoaXMgd2FzIGluIGFuIGludmlzaWJsZSB0cmVlIG9yIGEgbmV3IHJlbmRlciwgdGhlbiBzaG93aW5nXG4gICAgICAgICAgICAgIC8vIHRoaXMgYm91bmRhcnkgaXMgb2suXG4gICAgICAgICAgICAgIHJlbmRlckRpZFN1c3BlbmQoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UncmUgZ29pbmcgdG8gaGF2ZSB0byBoaWRlIGNvbnRlbnQgc28gd2Ugc2hvdWxkXG4gICAgICAgICAgICAgIC8vIHN1c3BlbmQgZm9yIGxvbmdlciBpZiBwb3NzaWJsZS5cbiAgICAgICAgICAgICAgcmVuZGVyRGlkU3VzcGVuZERlbGF5SWZQb3NzaWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUT0RPOiBPbmx5IHNjaGVkdWxlIHVwZGF0ZXMgaWYgdGhlc2UgdmFsdWVzIGFyZSBub24gZXF1YWwsIGkuZS4gaXQgY2hhbmdlZC5cbiAgICAgICAgICBpZiAobmV4dERpZFRpbWVvdXQgfHwgcHJldkRpZFRpbWVvdXQpIHtcbiAgICAgICAgICAgIC8vIElmIHRoaXMgYm91bmRhcnkganVzdCB0aW1lZCBvdXQsIHNjaGVkdWxlIGFuIGVmZmVjdCB0byBhdHRhY2ggYVxuICAgICAgICAgICAgLy8gcmV0cnkgbGlzdGVuZXIgdG8gdGhlIHByb21pc2UuIFRoaXMgZmxhZyBpcyBhbHNvIHVzZWQgdG8gaGlkZSB0aGVcbiAgICAgICAgICAgIC8vIHByaW1hcnkgY2hpbGRyZW4uIEluIG11dGF0aW9uIG1vZGUsIHdlIGFsc28gbmVlZCB0aGUgZmxhZyB0b1xuICAgICAgICAgICAgLy8gKnVuaGlkZSogY2hpbGRyZW4gdGhhdCB3ZXJlIHByZXZpb3VzbHkgaGlkZGVuLCBzbyBjaGVjayBpZiB0aGlzXG4gICAgICAgICAgICAvLyBpcyBjdXJyZW50bHkgdGltZWQgb3V0LCB0b28uXG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gVXBkYXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICB1cGRhdGVIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICAvLyBQb3AgcHJvdmlkZXIgZmliZXJcbiAgICAgIHBvcFByb3ZpZGVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBJbmNvbXBsZXRlQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFNhbWUgYXMgY2xhc3MgY29tcG9uZW50IGNhc2UuIEkgcHV0IGl0IGRvd24gaGVyZSBzbyB0aGF0IHRoZSB0YWdzIGFyZVxuICAgICAgICAvLyBzZXF1ZW50aWFsIHRvIGVuc3VyZSB0aGlzIHN3aXRjaCBpcyBjb21waWxlZCB0byBhIGp1bXAgdGFibGUuXG4gICAgICAgIHZhciBfQ29tcG9uZW50ID0gd29ya0luUHJvZ3Jlc3MudHlwZTtcblxuICAgICAgICBpZiAoaXNDb250ZXh0UHJvdmlkZXIoX0NvbXBvbmVudCkpIHtcbiAgICAgICAgICBwb3BDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHBvcFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciByZW5kZXJTdGF0ZSA9IHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGU7XG5cbiAgICAgICAgaWYgKHJlbmRlclN0YXRlID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gV2UncmUgcnVubmluZyBpbiB0aGUgZGVmYXVsdCwgXCJpbmRlcGVuZGVudFwiIG1vZGUuXG4gICAgICAgICAgLy8gV2UgZG9uJ3QgZG8gYW55dGhpbmcgaW4gdGhpcyBtb2RlLlxuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGRpZFN1c3BlbmRBbHJlYWR5ID0gKHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyAmIERpZENhcHR1cmUpICE9PSBOb0VmZmVjdDtcbiAgICAgICAgdmFyIHJlbmRlcmVkVGFpbCA9IHJlbmRlclN0YXRlLnJlbmRlcmluZztcblxuICAgICAgICBpZiAocmVuZGVyZWRUYWlsID09PSBudWxsKSB7XG4gICAgICAgICAgLy8gV2UganVzdCByZW5kZXJlZCB0aGUgaGVhZC5cbiAgICAgICAgICBpZiAoIWRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHRoZSBmaXJzdCBwYXNzLiBXZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgYW55dGhpbmcgaXMgc3RpbGxcbiAgICAgICAgICAgIC8vIHN1c3BlbmRlZCBpbiB0aGUgcmVuZGVyZWQgc2V0LlxuICAgICAgICAgICAgLy8gSWYgbmV3IGNvbnRlbnQgdW5zdXNwZW5kZWQsIGJ1dCB0aGVyZSdzIHN0aWxsIHNvbWUgY29udGVudCB0aGF0XG4gICAgICAgICAgICAvLyBkaWRuJ3QuIFRoZW4gd2UgbmVlZCB0byBkbyBhIHNlY29uZCBwYXNzIHRoYXQgZm9yY2VzIGV2ZXJ5dGhpbmdcbiAgICAgICAgICAgIC8vIHRvIGtlZXAgc2hvd2luZyB0aGVpciBmYWxsYmFja3MuXG4gICAgICAgICAgICAvLyBXZSBtaWdodCBiZSBzdXNwZW5kZWQgaWYgc29tZXRoaW5nIGluIHRoaXMgcmVuZGVyIHBhc3Mgc3VzcGVuZGVkLCBvclxuICAgICAgICAgICAgLy8gc29tZXRoaW5nIGluIHRoZSBwcmV2aW91cyBjb21taXR0ZWQgcGFzcyBzdXNwZW5kZWQuIE90aGVyd2lzZSxcbiAgICAgICAgICAgIC8vIHRoZXJlJ3Mgbm8gY2hhbmNlIHNvIHdlIGNhbiBza2lwIHRoZSBleHBlbnNpdmUgY2FsbCB0b1xuICAgICAgICAgICAgLy8gZmluZEZpcnN0U3VzcGVuZGVkLlxuICAgICAgICAgICAgdmFyIGNhbm5vdEJlU3VzcGVuZGVkID0gcmVuZGVySGFzTm90U3VzcGVuZGVkWWV0KCkgJiYgKGN1cnJlbnQgPT09IG51bGwgfHwgKGN1cnJlbnQuZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgPT09IE5vRWZmZWN0KTtcblxuICAgICAgICAgICAgaWYgKCFjYW5ub3RCZVN1c3BlbmRlZCkge1xuICAgICAgICAgICAgICB2YXIgcm93ID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgICAgICAgd2hpbGUgKHJvdyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZhciBzdXNwZW5kZWQgPSBmaW5kRmlyc3RTdXNwZW5kZWQocm93KTtcblxuICAgICAgICAgICAgICAgIGlmIChzdXNwZW5kZWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGRpZFN1c3BlbmRBbHJlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBEaWRDYXB0dXJlO1xuICAgICAgICAgICAgICAgICAgY3V0T2ZmVGFpbElmTmVlZGVkKHJlbmRlclN0YXRlLCBmYWxzZSk7IC8vIElmIHRoaXMgaXMgYSBuZXdseSBzdXNwZW5kZWQgdHJlZSwgaXQgbWlnaHQgbm90IGdldCBjb21taXR0ZWQgYXNcbiAgICAgICAgICAgICAgICAgIC8vIHBhcnQgb2YgdGhlIHNlY29uZCBwYXNzLiBJbiB0aGF0IGNhc2Ugbm90aGluZyB3aWxsIHN1YnNjcmliZSB0b1xuICAgICAgICAgICAgICAgICAgLy8gaXRzIHRoZW5uYWJsZXMuIEluc3RlYWQsIHdlJ2xsIHRyYW5zZmVyIGl0cyB0aGVubmFibGVzIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgLy8gU3VzcGVuc2VMaXN0IHNvIHRoYXQgaXQgY2FuIHJldHJ5IGlmIHRoZXkgcmVzb2x2ZS5cbiAgICAgICAgICAgICAgICAgIC8vIFRoZXJlIG1pZ2h0IGJlIG11bHRpcGxlIG9mIHRoZXNlIGluIHRoZSBsaXN0IGJ1dCBzaW5jZSB3ZSdyZVxuICAgICAgICAgICAgICAgICAgLy8gZ29pbmcgdG8gd2FpdCBmb3IgYWxsIG9mIHRoZW0gYW55d2F5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXJcbiAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIG9uZXMgZ2V0cyB0byBwaW5nLiBJbiB0aGVvcnkgd2UgY291bGQgZ2V0IGNsZXZlciBhbmQga2VlcFxuICAgICAgICAgICAgICAgICAgLy8gdHJhY2sgb2YgaG93IG1hbnkgZGVwZW5kZW5jaWVzIHJlbWFpbiBidXQgaXQgZ2V0cyB0cmlja3kgYmVjYXVzZVxuICAgICAgICAgICAgICAgICAgLy8gaW4gdGhlIG1lYW50aW1lLCB3ZSBjYW4gYWRkL3JlbW92ZS9jaGFuZ2UgaXRlbXMgYW5kIGRlcGVuZGVuY2llcy5cbiAgICAgICAgICAgICAgICAgIC8vIFdlIG1pZ2h0IGJhaWwgb3V0IG9mIHRoZSBsb29wIGJlZm9yZSBmaW5kaW5nIGFueSBidXQgdGhhdFxuICAgICAgICAgICAgICAgICAgLy8gZG9lc24ndCBtYXR0ZXIgc2luY2UgdGhhdCBtZWFucyB0aGF0IHRoZSBvdGhlciBib3VuZGFyaWVzIHRoYXRcbiAgICAgICAgICAgICAgICAgIC8vIHdlIGRpZCBmaW5kIGFscmVhZHkgaGFzIHRoZWlyIGxpc3RlbmVycyBhdHRhY2hlZC5cblxuICAgICAgICAgICAgICAgICAgdmFyIG5ld1RoZW5uYWJsZXMgPSBzdXNwZW5kZWQudXBkYXRlUXVldWU7XG5cbiAgICAgICAgICAgICAgICAgIGlmIChuZXdUaGVubmFibGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlID0gbmV3VGhlbm5hYmxlcztcbiAgICAgICAgICAgICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IFVwZGF0ZTtcbiAgICAgICAgICAgICAgICAgIH0gLy8gUmVyZW5kZXIgdGhlIHdob2xlIGxpc3QsIGJ1dCB0aGlzIHRpbWUsIHdlJ2xsIGZvcmNlIGZhbGxiYWNrc1xuICAgICAgICAgICAgICAgICAgLy8gdG8gc3RheSBpbiBwbGFjZS5cbiAgICAgICAgICAgICAgICAgIC8vIFJlc2V0IHRoZSBlZmZlY3QgbGlzdCBiZWZvcmUgZG9pbmcgdGhlIHNlY29uZCBwYXNzIHNpbmNlIHRoYXQncyBub3cgaW52YWxpZC5cblxuXG4gICAgICAgICAgICAgICAgICBpZiAocmVuZGVyU3RhdGUubGFzdEVmZmVjdCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5maXJzdEVmZmVjdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmxhc3RFZmZlY3QgPSByZW5kZXJTdGF0ZS5sYXN0RWZmZWN0OyAvLyBSZXNldCB0aGUgY2hpbGQgZmliZXJzIHRvIHRoZWlyIG9yaWdpbmFsIHN0YXRlLlxuXG4gICAgICAgICAgICAgICAgICByZXNldENoaWxkRmliZXJzKHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7IC8vIFNldCB1cCB0aGUgU3VzcGVuc2UgQ29udGV4dCB0byBmb3JjZSBzdXNwZW5zZSBhbmQgaW1tZWRpYXRlbHlcbiAgICAgICAgICAgICAgICAgIC8vIHJlcmVuZGVyIHRoZSBjaGlsZHJlbi5cblxuICAgICAgICAgICAgICAgICAgcHVzaFN1c3BlbnNlQ29udGV4dCh3b3JrSW5Qcm9ncmVzcywgc2V0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQsIEZvcmNlU3VzcGVuc2VGYWxsYmFjaykpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzLmNoaWxkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJvdyA9IHJvdy5zaWJsaW5nO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGN1dE9mZlRhaWxJZk5lZWRlZChyZW5kZXJTdGF0ZSwgZmFsc2UpO1xuICAgICAgICAgIH0gLy8gTmV4dCB3ZSdyZSBnb2luZyB0byByZW5kZXIgdGhlIHRhaWwuXG5cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBBcHBlbmQgdGhlIHJlbmRlcmVkIHJvdyB0byB0aGUgY2hpbGQgbGlzdC5cbiAgICAgICAgICBpZiAoIWRpZFN1c3BlbmRBbHJlYWR5KSB7XG4gICAgICAgICAgICB2YXIgX3N1c3BlbmRlZCA9IGZpbmRGaXJzdFN1c3BlbmRlZChyZW5kZXJlZFRhaWwpO1xuXG4gICAgICAgICAgICBpZiAoX3N1c3BlbmRlZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlOyAvLyBFbnN1cmUgd2UgdHJhbnNmZXIgdGhlIHVwZGF0ZSBxdWV1ZSB0byB0aGUgcGFyZW50IHNvIHRoYXQgaXQgZG9lc24ndFxuICAgICAgICAgICAgICAvLyBnZXQgbG9zdCBpZiB0aGlzIHJvdyBlbmRzIHVwIGRyb3BwZWQgZHVyaW5nIGEgc2Vjb25kIHBhc3MuXG5cbiAgICAgICAgICAgICAgdmFyIF9uZXdUaGVubmFibGVzID0gX3N1c3BlbmRlZC51cGRhdGVRdWV1ZTtcblxuICAgICAgICAgICAgICBpZiAoX25ld1RoZW5uYWJsZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IF9uZXdUaGVubmFibGVzO1xuICAgICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBVcGRhdGU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIHRydWUpOyAvLyBUaGlzIG1pZ2h0IGhhdmUgYmVlbiBtb2RpZmllZC5cblxuICAgICAgICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCA9PT0gbnVsbCAmJiByZW5kZXJTdGF0ZS50YWlsTW9kZSA9PT0gJ2hpZGRlbicgJiYgIXJlbmRlcmVkVGFpbC5hbHRlcm5hdGUpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGRlbGV0ZSB0aGUgcm93IHdlIGp1c3QgcmVuZGVyZWQuXG4gICAgICAgICAgICAgICAgLy8gUmVzZXQgdGhlIGVmZmVjdCBsaXN0IHRvIHdoYXQgaXQgd2FzIGJlZm9yZSB3ZSByZW5kZXJlZCB0aGlzXG4gICAgICAgICAgICAgICAgLy8gY2hpbGQuIFRoZSBuZXN0ZWQgY2hpbGRyZW4gaGF2ZSBhbHJlYWR5IGFwcGVuZGVkIHRoZW1zZWx2ZXMuXG4gICAgICAgICAgICAgICAgdmFyIGxhc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcy5sYXN0RWZmZWN0ID0gcmVuZGVyU3RhdGUubGFzdEVmZmVjdDsgLy8gUmVtb3ZlIGFueSBlZmZlY3RzIHRoYXQgd2VyZSBhcHBlbmRlZCBhZnRlciB0aGlzIHBvaW50LlxuXG4gICAgICAgICAgICAgICAgaWYgKGxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIGxhc3RFZmZlY3QubmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICAgICAgICAgICAgfSAvLyBXZSdyZSBkb25lLlxuXG5cbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICggLy8gVGhlIHRpbWUgaXQgdG9vayB0byByZW5kZXIgbGFzdCByb3cgaXMgZ3JlYXRlciB0aGFuIHRpbWUgdW50aWxcbiAgICAgICAgICAgIC8vIHRoZSBleHBpcmF0aW9uLlxuICAgICAgICAgICAgbm93KCkgKiAyIC0gcmVuZGVyU3RhdGUucmVuZGVyaW5nU3RhcnRUaW1lID4gcmVuZGVyU3RhdGUudGFpbEV4cGlyYXRpb24gJiYgcmVuZGVyRXhwaXJhdGlvblRpbWUgPiBOZXZlcikge1xuICAgICAgICAgICAgICAvLyBXZSBoYXZlIG5vdyBwYXNzZWQgb3VyIENQVSBkZWFkbGluZSBhbmQgd2UnbGwganVzdCBnaXZlIHVwIGZ1cnRoZXJcbiAgICAgICAgICAgICAgLy8gYXR0ZW1wdHMgdG8gcmVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYW5kIG9ubHkgcmVuZGVyIGZhbGxiYWNrcy5cbiAgICAgICAgICAgICAgLy8gVGhlIGFzc3VtcHRpb24gaXMgdGhhdCB0aGlzIGlzIHVzdWFsbHkgZmFzdGVyLlxuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gRGlkQ2FwdHVyZTtcbiAgICAgICAgICAgICAgZGlkU3VzcGVuZEFscmVhZHkgPSB0cnVlO1xuICAgICAgICAgICAgICBjdXRPZmZUYWlsSWZOZWVkZWQocmVuZGVyU3RhdGUsIGZhbHNlKTsgLy8gU2luY2Ugbm90aGluZyBhY3R1YWxseSBzdXNwZW5kZWQsIHRoZXJlIHdpbGwgbm90aGluZyB0byBwaW5nIHRoaXNcbiAgICAgICAgICAgICAgLy8gdG8gZ2V0IGl0IHN0YXJ0ZWQgYmFjayB1cCB0byBhdHRlbXB0IHRoZSBuZXh0IGl0ZW0uIElmIHdlIGNhbiBzaG93XG4gICAgICAgICAgICAgIC8vIHRoZW0sIHRoZW4gdGhleSByZWFsbHkgaGF2ZSB0aGUgc2FtZSBwcmlvcml0eSBhcyB0aGlzIHJlbmRlci5cbiAgICAgICAgICAgICAgLy8gU28gd2UnbGwgcGljayBpdCBiYWNrIHVwIHRoZSB2ZXJ5IG5leHQgcmVuZGVyIHBhc3Mgb25jZSB3ZSd2ZSBoYWRcbiAgICAgICAgICAgICAgLy8gYW4gb3Bwb3J0dW5pdHkgdG8geWllbGQgZm9yIHBhaW50LlxuXG4gICAgICAgICAgICAgIHZhciBuZXh0UHJpb3JpdHkgPSByZW5kZXJFeHBpcmF0aW9uVGltZSAtIDE7XG4gICAgICAgICAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IG5leHRQcmlvcml0eTtcblxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWFya1NwYXduZWRXb3JrKG5leHRQcmlvcml0eSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUuaXNCYWNrd2FyZHMpIHtcbiAgICAgICAgICAgIC8vIFRoZSBlZmZlY3QgbGlzdCBvZiB0aGUgYmFja3dhcmRzIHRhaWwgd2lsbCBoYXZlIGJlZW4gYWRkZWRcbiAgICAgICAgICAgIC8vIHRvIHRoZSBlbmQuIFRoaXMgYnJlYWtzIHRoZSBndWFyYW50ZWUgdGhhdCBsaWZlLWN5Y2xlcyBmaXJlIGluXG4gICAgICAgICAgICAvLyBzaWJsaW5nIG9yZGVyIGJ1dCB0aGF0IGlzbid0IGEgc3Ryb25nIGd1YXJhbnRlZSBwcm9taXNlZCBieSBSZWFjdC5cbiAgICAgICAgICAgIC8vIEVzcGVjaWFsbHkgc2luY2UgdGhlc2UgbWlnaHQgYWxzbyBqdXN0IHBvcCBpbiBkdXJpbmcgZnV0dXJlIGNvbW1pdHMuXG4gICAgICAgICAgICAvLyBBcHBlbmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGlzdC5cbiAgICAgICAgICAgIHJlbmRlcmVkVGFpbC5zaWJsaW5nID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG4gICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIHByZXZpb3VzU2libGluZyA9IHJlbmRlclN0YXRlLmxhc3Q7XG5cbiAgICAgICAgICAgIGlmIChwcmV2aW91c1NpYmxpbmcgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgcHJldmlvdXNTaWJsaW5nLnNpYmxpbmcgPSByZW5kZXJlZFRhaWw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5jaGlsZCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVuZGVyU3RhdGUubGFzdCA9IHJlbmRlcmVkVGFpbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbCAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIFdlIHN0aWxsIGhhdmUgdGFpbCByb3dzIHRvIHJlbmRlci5cbiAgICAgICAgICBpZiAocmVuZGVyU3RhdGUudGFpbEV4cGlyYXRpb24gPT09IDApIHtcbiAgICAgICAgICAgIC8vIEhldXJpc3RpYyBmb3IgaG93IGxvbmcgd2UncmUgd2lsbGluZyB0byBzcGVuZCByZW5kZXJpbmcgcm93c1xuICAgICAgICAgICAgLy8gdW50aWwgd2UganVzdCBnaXZlIHVwIGFuZCBzaG93IHdoYXQgd2UgaGF2ZSBzbyBmYXIuXG4gICAgICAgICAgICB2YXIgVEFJTF9FWFBJUkFUSU9OX1RJTUVPVVRfTVMgPSA1MDA7XG4gICAgICAgICAgICByZW5kZXJTdGF0ZS50YWlsRXhwaXJhdGlvbiA9IG5vdygpICsgVEFJTF9FWFBJUkFUSU9OX1RJTUVPVVRfTVM7IC8vIFRPRE86IFRoaXMgaXMgbWVhbnQgdG8gbWltaWMgdGhlIHRyYWluIG1vZGVsIG9yIEpORCBidXQgdGhpc1xuICAgICAgICAgICAgLy8gaXMgYSBwZXIgY29tcG9uZW50IHZhbHVlLiBJdCBzaG91bGQgcmVhbGx5IGJlIHNpbmNlIHRoZSBzdGFydFxuICAgICAgICAgICAgLy8gb2YgdGhlIHRvdGFsIHJlbmRlciBvciBsYXN0IGNvbW1pdC4gQ29uc2lkZXIgdXNpbmcgc29tZXRoaW5nIGxpa2VcbiAgICAgICAgICAgIC8vIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUuIFRoYXQgZG9lc24ndCBhY2NvdW50IGZvciBiZWluZ1xuICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGZvciBwYXJ0IG9mIHRoZSB0aW1lIG9yIHdoZW4gaXQncyBhIG5ldyByZW5kZXIuXG4gICAgICAgICAgICAvLyBJdCBzaG91bGQgcHJvYmFibHkgdXNlIGEgZ2xvYmFsIHN0YXJ0IHRpbWUgdmFsdWUgaW5zdGVhZC5cbiAgICAgICAgICB9IC8vIFBvcCBhIHJvdy5cblxuXG4gICAgICAgICAgdmFyIG5leHQgPSByZW5kZXJTdGF0ZS50YWlsO1xuICAgICAgICAgIHJlbmRlclN0YXRlLnJlbmRlcmluZyA9IG5leHQ7XG4gICAgICAgICAgcmVuZGVyU3RhdGUudGFpbCA9IG5leHQuc2libGluZztcbiAgICAgICAgICByZW5kZXJTdGF0ZS5sYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MubGFzdEVmZmVjdDtcbiAgICAgICAgICByZW5kZXJTdGF0ZS5yZW5kZXJpbmdTdGFydFRpbWUgPSBub3coKTtcbiAgICAgICAgICBuZXh0LnNpYmxpbmcgPSBudWxsOyAvLyBSZXN0b3JlIHRoZSBjb250ZXh0LlxuICAgICAgICAgIC8vIFRPRE86IFdlIGNhbiBwcm9iYWJseSBqdXN0IGF2b2lkIHBvcHBpbmcgaXQgaW5zdGVhZCBhbmQgb25seVxuICAgICAgICAgIC8vIHNldHRpbmcgaXQgdGhlIGZpcnN0IHRpbWUgd2UgZ28gZnJvbSBub3Qgc3VzcGVuZGVkIHRvIHN1c3BlbmRlZC5cblxuICAgICAgICAgIHZhciBzdXNwZW5zZUNvbnRleHQgPSBzdXNwZW5zZVN0YWNrQ3Vyc29yLmN1cnJlbnQ7XG5cbiAgICAgICAgICBpZiAoZGlkU3VzcGVuZEFscmVhZHkpIHtcbiAgICAgICAgICAgIHN1c3BlbnNlQ29udGV4dCA9IHNldFNoYWxsb3dTdXNwZW5zZUNvbnRleHQoc3VzcGVuc2VDb250ZXh0LCBGb3JjZVN1c3BlbnNlRmFsbGJhY2spO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXNwZW5zZUNvbnRleHQgPSBzZXREZWZhdWx0U2hhbGxvd1N1c3BlbnNlQ29udGV4dChzdXNwZW5zZUNvbnRleHQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHB1c2hTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MsIHN1c3BlbnNlQ29udGV4dCk7IC8vIERvIGEgcGFzcyBvdmVyIHRoZSBuZXh0IHJvdy5cblxuICAgICAgICAgIHJldHVybiBuZXh0O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gIH1cblxuICB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiVW5rbm93biB1bml0IG9mIHdvcmsgdGFnIChcIiArIHdvcmtJblByb2dyZXNzLnRhZyArIFwiKS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRXb3JrKHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBDb21wb25lbnQgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuXG4gICAgICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICAgICAgcG9wQ29udGV4dCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnO1xuXG4gICAgICAgIGlmIChlZmZlY3RUYWcgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnID0gZWZmZWN0VGFnICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuICAgICAgICAgIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgcG9wSG9zdENvbnRhaW5lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdCh3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIHZhciBfZWZmZWN0VGFnID0gd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnO1xuXG4gICAgICAgIGlmICghKChfZWZmZWN0VGFnICYgRGlkQ2FwdHVyZSkgPT09IE5vRWZmZWN0KSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcIlRoZSByb290IGZhaWxlZCB0byB1bm1vdW50IGFmdGVyIGFuIGVycm9yLiBUaGlzIGlzIGxpa2VseSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgPSBfZWZmZWN0VGFnICYgflNob3VsZENhcHR1cmUgfCBEaWRDYXB0dXJlO1xuICAgICAgICByZXR1cm4gd29ya0luUHJvZ3Jlc3M7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIC8vIFRPRE86IHBvcEh5ZHJhdGlvblN0YXRlXG4gICAgICAgIHBvcEhvc3RDb250ZXh0KHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBwb3BTdXNwZW5zZUNvbnRleHQod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICAgIHZhciBfZWZmZWN0VGFnMiA9IHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZztcblxuICAgICAgICBpZiAoX2VmZmVjdFRhZzIgJiBTaG91bGRDYXB0dXJlKSB7XG4gICAgICAgICAgd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnID0gX2VmZmVjdFRhZzIgJiB+U2hvdWxkQ2FwdHVyZSB8IERpZENhcHR1cmU7IC8vIENhcHR1cmVkIGEgc3VzcGVuc2UgZWZmZWN0LiBSZS1yZW5kZXIgdGhlIGJvdW5kYXJ5LlxuXG4gICAgICAgICAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wU3VzcGVuc2VDb250ZXh0KHdvcmtJblByb2dyZXNzKTsgLy8gU3VzcGVuc2VMaXN0IGRvZXNuJ3QgYWN0dWFsbHkgY2F0Y2ggYW55dGhpbmcuIEl0IHNob3VsZCd2ZSBiZWVuXG4gICAgICAgIC8vIGNhdWdodCBieSBhIG5lc3RlZCBib3VuZGFyeS4gSWYgbm90LCBpdCBzaG91bGQgYnViYmxlIHRocm91Z2guXG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgIHJldHVybiBudWxsO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICBwb3BQcm92aWRlcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bndpbmRJbnRlcnJ1cHRlZFdvcmsoaW50ZXJydXB0ZWRXb3JrKSB7XG4gIHN3aXRjaCAoaW50ZXJydXB0ZWRXb3JrLnRhZykge1xuICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBjaGlsZENvbnRleHRUeXBlcyA9IGludGVycnVwdGVkV29yay50eXBlLmNoaWxkQ29udGV4dFR5cGVzO1xuXG4gICAgICAgIGlmIChjaGlsZENvbnRleHRUeXBlcyAhPT0gbnVsbCAmJiBjaGlsZENvbnRleHRUeXBlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgcG9wQ29udGV4dChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RSb290OlxuICAgICAge1xuICAgICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICAgIHBvcFRvcExldmVsQ29udGV4dE9iamVjdChpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcG9wSG9zdENvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICBwb3BIb3N0Q29udGFpbmVyKGludGVycnVwdGVkV29yayk7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgU3VzcGVuc2VDb21wb25lbnQ6XG4gICAgICBwb3BTdXNwZW5zZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBTdXNwZW5zZUxpc3RDb21wb25lbnQ6XG4gICAgICBwb3BTdXNwZW5zZUNvbnRleHQoaW50ZXJydXB0ZWRXb3JrKTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDb250ZXh0UHJvdmlkZXI6XG4gICAgICBwb3BQcm92aWRlcihpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgYnJlYWs7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2FwdHVyZWRWYWx1ZSh2YWx1ZSwgc291cmNlKSB7XG4gIC8vIElmIHRoZSB2YWx1ZSBpcyBhbiBlcnJvciwgY2FsbCB0aGlzIGZ1bmN0aW9uIGltbWVkaWF0ZWx5IGFmdGVyIGl0IGlzIHRocm93blxuICAvLyBzbyB0aGUgc3RhY2sgaXMgYWNjdXJhdGUuXG4gIHJldHVybiB7XG4gICAgdmFsdWU6IHZhbHVlLFxuICAgIHNvdXJjZTogc291cmNlLFxuICAgIHN0YWNrOiBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2Qoc291cmNlKVxuICB9O1xufVxuXG5mdW5jdGlvbiBsb2dDYXB0dXJlZEVycm9yKGNhcHR1cmVkRXJyb3IpIHtcblxuICB2YXIgZXJyb3IgPSBjYXB0dXJlZEVycm9yLmVycm9yO1xuXG4gIHtcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IGNhcHR1cmVkRXJyb3IuY29tcG9uZW50TmFtZSxcbiAgICAgICAgY29tcG9uZW50U3RhY2sgPSBjYXB0dXJlZEVycm9yLmNvbXBvbmVudFN0YWNrLFxuICAgICAgICBlcnJvckJvdW5kYXJ5TmFtZSA9IGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeU5hbWUsXG4gICAgICAgIGVycm9yQm91bmRhcnlGb3VuZCA9IGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeUZvdW5kLFxuICAgICAgICB3aWxsUmV0cnkgPSBjYXB0dXJlZEVycm9yLndpbGxSZXRyeTsgLy8gQnJvd3NlcnMgc3VwcG9ydCBzaWxlbmNpbmcgdW5jYXVnaHQgZXJyb3JzIGJ5IGNhbGxpbmdcbiAgICAvLyBgcHJldmVudERlZmF1bHQoKWAgaW4gd2luZG93IGBlcnJvcmAgaGFuZGxlci5cbiAgICAvLyBXZSByZWNvcmQgdGhpcyBpbmZvcm1hdGlvbiBhcyBhbiBleHBhbmRvIG9uIHRoZSBlcnJvci5cblxuICAgIGlmIChlcnJvciAhPSBudWxsICYmIGVycm9yLl9zdXBwcmVzc0xvZ2dpbmcpIHtcbiAgICAgIGlmIChlcnJvckJvdW5kYXJ5Rm91bmQgJiYgd2lsbFJldHJ5KSB7XG4gICAgICAgIC8vIFRoZSBlcnJvciBpcyByZWNvdmVyYWJsZSBhbmQgd2FzIHNpbGVuY2VkLlxuICAgICAgICAvLyBJZ25vcmUgaXQgYW5kIGRvbid0IHByaW50IHRoZSBzdGFjayBhZGRlbmR1bS5cbiAgICAgICAgLy8gVGhpcyBpcyBoYW5keSBmb3IgdGVzdGluZyBlcnJvciBib3VuZGFyaWVzIHdpdGhvdXQgbm9pc2UuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gLy8gVGhlIGVycm9yIGlzIGZhdGFsLiBTaW5jZSB0aGUgc2lsZW5jaW5nIG1pZ2h0IGhhdmVcbiAgICAgIC8vIGJlZW4gYWNjaWRlbnRhbCwgd2UnbGwgc3VyZmFjZSBpdCBhbnl3YXkuXG4gICAgICAvLyBIb3dldmVyLCB0aGUgYnJvd3NlciB3b3VsZCBoYXZlIHNpbGVuY2VkIHRoZSBvcmlnaW5hbCBlcnJvclxuICAgICAgLy8gc28gd2UnbGwgcHJpbnQgaXQgZmlyc3QsIGFuZCB0aGVuIHByaW50IHRoZSBzdGFjayBhZGRlbmR1bS5cblxuXG4gICAgICBjb25zb2xlWydlcnJvciddKGVycm9yKTsgLy8gRG9uJ3QgdHJhbnNmb3JtIHRvIG91ciB3cmFwcGVyXG4gICAgICAvLyBGb3IgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIHRoaXMgYmxvY2ssIHNlZTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9wdWxsLzEzMzg0XG4gICAgfVxuXG4gICAgdmFyIGNvbXBvbmVudE5hbWVNZXNzYWdlID0gY29tcG9uZW50TmFtZSA/IFwiVGhlIGFib3ZlIGVycm9yIG9jY3VycmVkIGluIHRoZSA8XCIgKyBjb21wb25lbnROYW1lICsgXCI+IGNvbXBvbmVudDpcIiA6ICdUaGUgYWJvdmUgZXJyb3Igb2NjdXJyZWQgaW4gb25lIG9mIHlvdXIgUmVhY3QgY29tcG9uZW50czonO1xuICAgIHZhciBlcnJvckJvdW5kYXJ5TWVzc2FnZTsgLy8gZXJyb3JCb3VuZGFyeUZvdW5kIGNoZWNrIGlzIHN1ZmZpY2llbnQ7IGVycm9yQm91bmRhcnlOYW1lIGNoZWNrIGlzIHRvIHNhdGlzZnkgRmxvdy5cblxuICAgIGlmIChlcnJvckJvdW5kYXJ5Rm91bmQgJiYgZXJyb3JCb3VuZGFyeU5hbWUpIHtcbiAgICAgIGlmICh3aWxsUmV0cnkpIHtcbiAgICAgICAgZXJyb3JCb3VuZGFyeU1lc3NhZ2UgPSBcIlJlYWN0IHdpbGwgdHJ5IHRvIHJlY3JlYXRlIHRoaXMgY29tcG9uZW50IHRyZWUgZnJvbSBzY3JhdGNoIFwiICsgKFwidXNpbmcgdGhlIGVycm9yIGJvdW5kYXJ5IHlvdSBwcm92aWRlZCwgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9yQm91bmRhcnlNZXNzYWdlID0gXCJUaGlzIGVycm9yIHdhcyBpbml0aWFsbHkgaGFuZGxlZCBieSB0aGUgZXJyb3IgYm91bmRhcnkgXCIgKyBlcnJvckJvdW5kYXJ5TmFtZSArIFwiLlxcblwiICsgXCJSZWNyZWF0aW5nIHRoZSB0cmVlIGZyb20gc2NyYXRjaCBmYWlsZWQgc28gUmVhY3Qgd2lsbCB1bm1vdW50IHRoZSB0cmVlLlwiO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBlcnJvckJvdW5kYXJ5TWVzc2FnZSA9ICdDb25zaWRlciBhZGRpbmcgYW4gZXJyb3IgYm91bmRhcnkgdG8geW91ciB0cmVlIHRvIGN1c3RvbWl6ZSBlcnJvciBoYW5kbGluZyBiZWhhdmlvci5cXG4nICsgJ1Zpc2l0IGh0dHBzOi8vZmIubWUvcmVhY3QtZXJyb3ItYm91bmRhcmllcyB0byBsZWFybiBtb3JlIGFib3V0IGVycm9yIGJvdW5kYXJpZXMuJztcbiAgICB9XG5cbiAgICB2YXIgY29tYmluZWRNZXNzYWdlID0gXCJcIiArIGNvbXBvbmVudE5hbWVNZXNzYWdlICsgY29tcG9uZW50U3RhY2sgKyBcIlxcblxcblwiICsgKFwiXCIgKyBlcnJvckJvdW5kYXJ5TWVzc2FnZSk7IC8vIEluIGRldmVsb3BtZW50LCB3ZSBwcm92aWRlIG91ciBvd24gbWVzc2FnZSB3aXRoIGp1c3QgdGhlIGNvbXBvbmVudCBzdGFjay5cbiAgICAvLyBXZSBkb24ndCBpbmNsdWRlIHRoZSBvcmlnaW5hbCBlcnJvciBtZXNzYWdlIGFuZCBKUyBzdGFjayBiZWNhdXNlIHRoZSBicm93c2VyXG4gICAgLy8gaGFzIGFscmVhZHkgcHJpbnRlZCBpdC4gRXZlbiBpZiB0aGUgYXBwbGljYXRpb24gc3dhbGxvd3MgdGhlIGVycm9yLCBpdCBpcyBzdGlsbFxuICAgIC8vIGRpc3BsYXllZCBieSB0aGUgYnJvd3NlciB0aGFua3MgdG8gdGhlIERFVi1vbmx5IGZha2UgZXZlbnQgdHJpY2sgaW4gUmVhY3RFcnJvclV0aWxzLlxuXG4gICAgY29uc29sZVsnZXJyb3InXShjb21iaW5lZE1lc3NhZ2UpOyAvLyBEb24ndCB0cmFuc2Zvcm0gdG8gb3VyIHdyYXBwZXJcbiAgfVxufVxuXG52YXIgZGlkV2FybkFib3V0VW5kZWZpbmVkU25hcHNob3RCZWZvcmVVcGRhdGUgPSBudWxsO1xuXG57XG4gIGRpZFdhcm5BYm91dFVuZGVmaW5lZFNuYXBzaG90QmVmb3JlVXBkYXRlID0gbmV3IFNldCgpO1xufVxuXG52YXIgUG9zc2libHlXZWFrU2V0ID0gdHlwZW9mIFdlYWtTZXQgPT09ICdmdW5jdGlvbicgPyBXZWFrU2V0IDogU2V0O1xuZnVuY3Rpb24gbG9nRXJyb3IoYm91bmRhcnksIGVycm9ySW5mbykge1xuICB2YXIgc291cmNlID0gZXJyb3JJbmZvLnNvdXJjZTtcbiAgdmFyIHN0YWNrID0gZXJyb3JJbmZvLnN0YWNrO1xuXG4gIGlmIChzdGFjayA9PT0gbnVsbCAmJiBzb3VyY2UgIT09IG51bGwpIHtcbiAgICBzdGFjayA9IGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChzb3VyY2UpO1xuICB9XG5cbiAgdmFyIGNhcHR1cmVkRXJyb3IgPSB7XG4gICAgY29tcG9uZW50TmFtZTogc291cmNlICE9PSBudWxsID8gZ2V0Q29tcG9uZW50TmFtZShzb3VyY2UudHlwZSkgOiBudWxsLFxuICAgIGNvbXBvbmVudFN0YWNrOiBzdGFjayAhPT0gbnVsbCA/IHN0YWNrIDogJycsXG4gICAgZXJyb3I6IGVycm9ySW5mby52YWx1ZSxcbiAgICBlcnJvckJvdW5kYXJ5OiBudWxsLFxuICAgIGVycm9yQm91bmRhcnlOYW1lOiBudWxsLFxuICAgIGVycm9yQm91bmRhcnlGb3VuZDogZmFsc2UsXG4gICAgd2lsbFJldHJ5OiBmYWxzZVxuICB9O1xuXG4gIGlmIChib3VuZGFyeSAhPT0gbnVsbCAmJiBib3VuZGFyeS50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgY2FwdHVyZWRFcnJvci5lcnJvckJvdW5kYXJ5ID0gYm91bmRhcnkuc3RhdGVOb2RlO1xuICAgIGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeU5hbWUgPSBnZXRDb21wb25lbnROYW1lKGJvdW5kYXJ5LnR5cGUpO1xuICAgIGNhcHR1cmVkRXJyb3IuZXJyb3JCb3VuZGFyeUZvdW5kID0gdHJ1ZTtcbiAgICBjYXB0dXJlZEVycm9yLndpbGxSZXRyeSA9IHRydWU7XG4gIH1cblxuICB0cnkge1xuICAgIGxvZ0NhcHR1cmVkRXJyb3IoY2FwdHVyZWRFcnJvcik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIG1ldGhvZCBtdXN0IG5vdCB0aHJvdywgb3IgUmVhY3QgaW50ZXJuYWwgc3RhdGUgd2lsbCBnZXQgbWVzc2VkIHVwLlxuICAgIC8vIElmIGNvbnNvbGUuZXJyb3IgaXMgb3ZlcnJpZGRlbiwgb3IgbG9nQ2FwdHVyZWRFcnJvcigpIHNob3dzIGEgZGlhbG9nIHRoYXQgdGhyb3dzLFxuICAgIC8vIHdlIHdhbnQgdG8gcmVwb3J0IHRoaXMgZXJyb3Igb3V0c2lkZSBvZiB0aGUgbm9ybWFsIHN0YWNrIGFzIGEgbGFzdCByZXNvcnQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzE4OFxuICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbiAgfVxufVxuXG52YXIgY2FsbENvbXBvbmVudFdpbGxVbm1vdW50V2l0aFRpbWVyID0gZnVuY3Rpb24gKGN1cnJlbnQsIGluc3RhbmNlKSB7XG4gIHN0YXJ0UGhhc2VUaW1lcihjdXJyZW50LCAnY29tcG9uZW50V2lsbFVubW91bnQnKTtcbiAgaW5zdGFuY2UucHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG4gIGluc3RhbmNlLnN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICBpbnN0YW5jZS5jb21wb25lbnRXaWxsVW5tb3VudCgpO1xuICBzdG9wUGhhc2VUaW1lcigpO1xufTsgLy8gQ2FwdHVyZSBlcnJvcnMgc28gdGhleSBkb24ndCBpbnRlcnJ1cHQgdW5tb3VudGluZy5cblxuXG5mdW5jdGlvbiBzYWZlbHlDYWxsQ29tcG9uZW50V2lsbFVubW91bnQoY3VycmVudCwgaW5zdGFuY2UpIHtcbiAge1xuICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBjYWxsQ29tcG9uZW50V2lsbFVubW91bnRXaXRoVGltZXIsIG51bGwsIGN1cnJlbnQsIGluc3RhbmNlKTtcblxuICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XG4gICAgICB2YXIgdW5tb3VudEVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgdW5tb3VudEVycm9yKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQpIHtcbiAgdmFyIHJlZiA9IGN1cnJlbnQucmVmO1xuXG4gIGlmIChyZWYgIT09IG51bGwpIHtcbiAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAge1xuICAgICAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobnVsbCwgcmVmLCBudWxsLCBudWxsKTtcblxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xuICAgICAgICAgIHZhciByZWZFcnJvciA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTtcbiAgICAgICAgICBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihjdXJyZW50LCByZWZFcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzYWZlbHlDYWxsRGVzdHJveShjdXJyZW50LCBkZXN0cm95KSB7XG4gIHtcbiAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobnVsbCwgZGVzdHJveSwgbnVsbCk7XG5cbiAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xuICAgICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IoY3VycmVudCwgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRCZWZvcmVNdXRhdGlvbkxpZmVDeWNsZXMoY3VycmVudCwgZmluaXNoZWRXb3JrKSB7XG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIEJsb2NrOlxuICAgICAge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmVmZmVjdFRhZyAmIFNuYXBzaG90KSB7XG4gICAgICAgICAgaWYgKGN1cnJlbnQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHZhciBwcmV2UHJvcHMgPSBjdXJyZW50Lm1lbW9pemVkUHJvcHM7XG4gICAgICAgICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuICAgICAgICAgICAgc3RhcnRQaGFzZVRpbWVyKGZpbmlzaGVkV29yaywgJ2dldFNuYXBzaG90QmVmb3JlVXBkYXRlJyk7XG4gICAgICAgICAgICB2YXIgaW5zdGFuY2UgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBXZSBjb3VsZCB1cGRhdGUgaW5zdGFuY2UgcHJvcHMgYW5kIHN0YXRlIGhlcmUsXG4gICAgICAgICAgICAvLyBidXQgaW5zdGVhZCB3ZSByZWx5IG9uIHRoZW0gYmVpbmcgc2V0IGR1cmluZyBsYXN0IHJlbmRlci5cbiAgICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLnR5cGUgPT09IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSAmJiAhZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcykge1xuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5wcm9wcyAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBwcm9wcyB0byBtYXRjaCBtZW1vaXplZCBwcm9wcyBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YXIgc25hcHNob3QgPSBpbnN0YW5jZS5nZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZShmaW5pc2hlZFdvcmsuZWxlbWVudFR5cGUgPT09IGZpbmlzaGVkV29yay50eXBlID8gcHJldlByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhmaW5pc2hlZFdvcmsudHlwZSwgcHJldlByb3BzKSwgcHJldlN0YXRlKTtcblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB2YXIgZGlkV2FyblNldCA9IGRpZFdhcm5BYm91dFVuZGVmaW5lZFNuYXBzaG90QmVmb3JlVXBkYXRlO1xuXG4gICAgICAgICAgICAgIGlmIChzbmFwc2hvdCA9PT0gdW5kZWZpbmVkICYmICFkaWRXYXJuU2V0LmhhcyhmaW5pc2hlZFdvcmsudHlwZSkpIHtcbiAgICAgICAgICAgICAgICBkaWRXYXJuU2V0LmFkZChmaW5pc2hlZFdvcmsudHlwZSk7XG5cbiAgICAgICAgICAgICAgICBlcnJvcignJXMuZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUoKTogQSBzbmFwc2hvdCB2YWx1ZSAob3IgbnVsbCkgJyArICdtdXN0IGJlIHJldHVybmVkLiBZb3UgaGF2ZSByZXR1cm5lZCB1bmRlZmluZWQuJywgZ2V0Q29tcG9uZW50TmFtZShmaW5pc2hlZFdvcmsudHlwZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGluc3RhbmNlLl9fcmVhY3RJbnRlcm5hbFNuYXBzaG90QmVmb3JlVXBkYXRlID0gc25hcHNob3Q7XG4gICAgICAgICAgICBzdG9wUGhhc2VUaW1lcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgIGNhc2UgSG9zdFRleHQ6XG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgICAgLy8gTm90aGluZyB0byBkbyBmb3IgdGhlc2UgY29tcG9uZW50IHR5cGVzXG4gICAgICByZXR1cm47XG4gIH1cblxuICB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiVGhpcyB1bml0IG9mIHdvcmsgdGFnIHNob3VsZCBub3QgaGF2ZSBzaWRlLWVmZmVjdHMuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RVbm1vdW50KHRhZywgZmluaXNoZWRXb3JrKSB7XG4gIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgdmFyIGxhc3RFZmZlY3QgPSB1cGRhdGVRdWV1ZSAhPT0gbnVsbCA/IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3QgOiBudWxsO1xuXG4gIGlmIChsYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuICAgIHZhciBlZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZWZmZWN0LnRhZyAmIHRhZykgPT09IHRhZykge1xuICAgICAgICAvLyBVbm1vdW50XG4gICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gdW5kZWZpbmVkO1xuXG4gICAgICAgIGlmIChkZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBkZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWZmZWN0ID0gZWZmZWN0Lm5leHQ7XG4gICAgfSB3aGlsZSAoZWZmZWN0ICE9PSBmaXJzdEVmZmVjdCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0SG9va0VmZmVjdExpc3RNb3VudCh0YWcsIGZpbmlzaGVkV29yaykge1xuICB2YXIgdXBkYXRlUXVldWUgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG4gIHZhciBsYXN0RWZmZWN0ID0gdXBkYXRlUXVldWUgIT09IG51bGwgPyB1cGRhdGVRdWV1ZS5sYXN0RWZmZWN0IDogbnVsbDtcblxuICBpZiAobGFzdEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHZhciBmaXJzdEVmZmVjdCA9IGxhc3RFZmZlY3QubmV4dDtcbiAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICBkbyB7XG4gICAgICBpZiAoKGVmZmVjdC50YWcgJiB0YWcpID09PSB0YWcpIHtcbiAgICAgICAgLy8gTW91bnRcbiAgICAgICAgdmFyIGNyZWF0ZSA9IGVmZmVjdC5jcmVhdGU7XG4gICAgICAgIGVmZmVjdC5kZXN0cm95ID0gY3JlYXRlKCk7XG5cbiAgICAgICAge1xuICAgICAgICAgIHZhciBkZXN0cm95ID0gZWZmZWN0LmRlc3Ryb3k7XG5cbiAgICAgICAgICBpZiAoZGVzdHJveSAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiBkZXN0cm95ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB2YXIgYWRkZW5kdW0gPSB2b2lkIDA7XG5cbiAgICAgICAgICAgIGlmIChkZXN0cm95ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJyBZb3UgcmV0dXJuZWQgbnVsbC4gSWYgeW91ciBlZmZlY3QgZG9lcyBub3QgcmVxdWlyZSBjbGVhbiAnICsgJ3VwLCByZXR1cm4gdW5kZWZpbmVkIChvciBub3RoaW5nKS4nO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZGVzdHJveS50aGVuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgIGFkZGVuZHVtID0gJ1xcblxcbkl0IGxvb2tzIGxpa2UgeW91IHdyb3RlIHVzZUVmZmVjdChhc3luYyAoKSA9PiAuLi4pIG9yIHJldHVybmVkIGEgUHJvbWlzZS4gJyArICdJbnN0ZWFkLCB3cml0ZSB0aGUgYXN5bmMgZnVuY3Rpb24gaW5zaWRlIHlvdXIgZWZmZWN0ICcgKyAnYW5kIGNhbGwgaXQgaW1tZWRpYXRlbHk6XFxuXFxuJyArICd1c2VFZmZlY3QoKCkgPT4ge1xcbicgKyAnICBhc3luYyBmdW5jdGlvbiBmZXRjaERhdGEoKSB7XFxuJyArICcgICAgLy8gWW91IGNhbiBhd2FpdCBoZXJlXFxuJyArICcgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBNeUFQSS5nZXREYXRhKHNvbWVJZCk7XFxuJyArICcgICAgLy8gLi4uXFxuJyArICcgIH1cXG4nICsgJyAgZmV0Y2hEYXRhKCk7XFxuJyArIFwifSwgW3NvbWVJZF0pOyAvLyBPciBbXSBpZiBlZmZlY3QgZG9lc24ndCBuZWVkIHByb3BzIG9yIHN0YXRlXFxuXFxuXCIgKyAnTGVhcm4gbW9yZSBhYm91dCBkYXRhIGZldGNoaW5nIHdpdGggSG9va3M6IGh0dHBzOi8vZmIubWUvcmVhY3QtaG9va3MtZGF0YS1mZXRjaGluZyc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBhZGRlbmR1bSA9ICcgWW91IHJldHVybmVkOiAnICsgZGVzdHJveTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZXJyb3IoJ0FuIGVmZmVjdCBmdW5jdGlvbiBtdXN0IG5vdCByZXR1cm4gYW55dGhpbmcgYmVzaWRlcyBhIGZ1bmN0aW9uLCAnICsgJ3doaWNoIGlzIHVzZWQgZm9yIGNsZWFuLXVwLiVzJXMnLCBhZGRlbmR1bSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpbmlzaGVkV29yaykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRQYXNzaXZlSG9va0VmZmVjdHMoZmluaXNoZWRXb3JrKSB7XG4gIGlmICgoZmluaXNoZWRXb3JrLmVmZmVjdFRhZyAmIFBhc3NpdmUpICE9PSBOb0VmZmVjdCkge1xuICAgIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgRm9yd2FyZFJlZjpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgIGNhc2UgQmxvY2s6XG4gICAgICAgIHtcbiAgICAgICAgICAvLyBUT0RPICgjMTc5NDUpIFdlIHNob3VsZCBjYWxsIGFsbCBwYXNzaXZlIGRlc3Ryb3kgZnVuY3Rpb25zIChmb3IgYWxsIGZpYmVycylcbiAgICAgICAgICAvLyBiZWZvcmUgY2FsbGluZyBhbnkgY3JlYXRlIGZ1bmN0aW9ucy4gVGhlIGN1cnJlbnQgYXBwcm9hY2ggb25seSBzZXJpYWxpemVzXG4gICAgICAgICAgLy8gdGhlc2UgZm9yIGEgc2luZ2xlIGZpYmVyLlxuICAgICAgICAgIGNvbW1pdEhvb2tFZmZlY3RMaXN0VW5tb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChQYXNzaXZlJDEgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0TGlmZUN5Y2xlcyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIGZpbmlzaGVkV29yaywgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpIHtcbiAgc3dpdGNoIChmaW5pc2hlZFdvcmsudGFnKSB7XG4gICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICBjYXNlIEZvcndhcmRSZWY6XG4gICAgY2FzZSBTaW1wbGVNZW1vQ29tcG9uZW50OlxuICAgIGNhc2UgQmxvY2s6XG4gICAgICB7XG4gICAgICAgIC8vIEF0IHRoaXMgcG9pbnQgbGF5b3V0IGVmZmVjdHMgaGF2ZSBhbHJlYWR5IGJlZW4gZGVzdHJveWVkIChkdXJpbmcgbXV0YXRpb24gcGhhc2UpLlxuICAgICAgICAvLyBUaGlzIGlzIGRvbmUgdG8gcHJldmVudCBzaWJsaW5nIGNvbXBvbmVudCBlZmZlY3RzIGZyb20gaW50ZXJmZXJpbmcgd2l0aCBlYWNoIG90aGVyLFxuICAgICAgICAvLyBlLmcuIGEgZGVzdHJveSBmdW5jdGlvbiBpbiBvbmUgY29tcG9uZW50IHNob3VsZCBuZXZlciBvdmVycmlkZSBhIHJlZiBzZXRcbiAgICAgICAgLy8gYnkgYSBjcmVhdGUgZnVuY3Rpb24gaW4gYW5vdGhlciBjb21wb25lbnQgZHVyaW5nIHRoZSBzYW1lIGNvbW1pdC5cbiAgICAgICAgY29tbWl0SG9va0VmZmVjdExpc3RNb3VudChMYXlvdXQgfCBIYXNFZmZlY3QsIGZpbmlzaGVkV29yayk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIGluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmVmZmVjdFRhZyAmIFVwZGF0ZSkge1xuICAgICAgICAgIGlmIChjdXJyZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBzdGFydFBoYXNlVGltZXIoZmluaXNoZWRXb3JrLCAnY29tcG9uZW50RGlkTW91bnQnKTsgLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgICAgICAgICAgLy8gYnV0IGluc3RlYWQgd2UgcmVseSBvbiB0aGVtIGJlaW5nIHNldCBkdXJpbmcgbGFzdCByZW5kZXIuXG4gICAgICAgICAgICAvLyBUT0RPOiByZXZpc2l0IHRoaXMgd2hlbiB3ZSBpbXBsZW1lbnQgcmVzdW1pbmcuXG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkV29yay50eXBlID09PSBmaW5pc2hlZFdvcmsuZWxlbWVudFR5cGUgJiYgIWRpZFdhcm5BYm91dFJlYXNzaWduaW5nUHJvcHMpIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucHJvcHMgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgcHJvcHMgdG8gbWF0Y2ggbWVtb2l6ZWQgcHJvcHMgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoaW5zdGFuY2Uuc3RhdGUgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlKSB7XG4gICAgICAgICAgICAgICAgICBlcnJvcignRXhwZWN0ZWQgJXMgc3RhdGUgdG8gbWF0Y2ggbWVtb2l6ZWQgc3RhdGUgYmVmb3JlICcgKyAnY29tcG9uZW50RGlkTW91bnQuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkTW91bnQoKTtcbiAgICAgICAgICAgIHN0b3BQaGFzZVRpbWVyKCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhciBwcmV2UHJvcHMgPSBmaW5pc2hlZFdvcmsuZWxlbWVudFR5cGUgPT09IGZpbmlzaGVkV29yay50eXBlID8gY3VycmVudC5tZW1vaXplZFByb3BzIDogcmVzb2x2ZURlZmF1bHRQcm9wcyhmaW5pc2hlZFdvcmsudHlwZSwgY3VycmVudC5tZW1vaXplZFByb3BzKTtcbiAgICAgICAgICAgIHZhciBwcmV2U3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgICAgICAgICBzdGFydFBoYXNlVGltZXIoZmluaXNoZWRXb3JrLCAnY29tcG9uZW50RGlkVXBkYXRlJyk7IC8vIFdlIGNvdWxkIHVwZGF0ZSBpbnN0YW5jZSBwcm9wcyBhbmQgc3RhdGUgaGVyZSxcbiAgICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgICAgLy8gVE9ETzogcmV2aXNpdCB0aGlzIHdoZW4gd2UgaW1wbGVtZW50IHJlc3VtaW5nLlxuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlmIChmaW5pc2hlZFdvcmsudHlwZSA9PT0gZmluaXNoZWRXb3JrLmVsZW1lbnRUeXBlICYmICFkaWRXYXJuQWJvdXRSZWFzc2lnbmluZ1Byb3BzKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnByb3BzICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcykge1xuICAgICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ2NvbXBvbmVudERpZFVwZGF0ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpbnN0YW5jZS5zdGF0ZSAhPT0gZmluaXNoZWRXb3JrLm1lbW9pemVkU3RhdGUpIHtcbiAgICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdjb21wb25lbnREaWRVcGRhdGUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5zdGFuY2UuY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlLCBpbnN0YW5jZS5fX3JlYWN0SW50ZXJuYWxTbmFwc2hvdEJlZm9yZVVwZGF0ZSk7XG4gICAgICAgICAgICBzdG9wUGhhc2VUaW1lcigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB1cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLnR5cGUgPT09IGZpbmlzaGVkV29yay5lbGVtZW50VHlwZSAmJiAhZGlkV2FybkFib3V0UmVhc3NpZ25pbmdQcm9wcykge1xuICAgICAgICAgICAgICBpZiAoaW5zdGFuY2UucHJvcHMgIT09IGZpbmlzaGVkV29yay5tZW1vaXplZFByb3BzKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IoJ0V4cGVjdGVkICVzIHByb3BzIHRvIG1hdGNoIG1lbW9pemVkIHByb3BzIGJlZm9yZSAnICsgJ3Byb2Nlc3NpbmcgdGhlIHVwZGF0ZSBxdWV1ZS4gJyArICdUaGlzIG1pZ2h0IGVpdGhlciBiZSBiZWNhdXNlIG9mIGEgYnVnIGluIFJlYWN0LCBvciBiZWNhdXNlICcgKyAnYSBjb21wb25lbnQgcmVhc3NpZ25zIGl0cyBvd24gYHRoaXMucHJvcHNgLiAnICsgJ1BsZWFzZSBmaWxlIGFuIGlzc3VlLicsIGdldENvbXBvbmVudE5hbWUoZmluaXNoZWRXb3JrLnR5cGUpIHx8ICdpbnN0YW5jZScpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLnN0YXRlICE9PSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZSkge1xuICAgICAgICAgICAgICAgIGVycm9yKCdFeHBlY3RlZCAlcyBzdGF0ZSB0byBtYXRjaCBtZW1vaXplZCBzdGF0ZSBiZWZvcmUgJyArICdwcm9jZXNzaW5nIHRoZSB1cGRhdGUgcXVldWUuICcgKyAnVGhpcyBtaWdodCBlaXRoZXIgYmUgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBSZWFjdCwgb3IgYmVjYXVzZSAnICsgJ2EgY29tcG9uZW50IHJlYXNzaWducyBpdHMgb3duIGB0aGlzLnByb3BzYC4gJyArICdQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSB8fCAnaW5zdGFuY2UnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gLy8gV2UgY291bGQgdXBkYXRlIGluc3RhbmNlIHByb3BzIGFuZCBzdGF0ZSBoZXJlLFxuICAgICAgICAgIC8vIGJ1dCBpbnN0ZWFkIHdlIHJlbHkgb24gdGhlbSBiZWluZyBzZXQgZHVyaW5nIGxhc3QgcmVuZGVyLlxuICAgICAgICAgIC8vIFRPRE86IHJldmlzaXQgdGhpcyB3aGVuIHdlIGltcGxlbWVudCByZXN1bWluZy5cblxuXG4gICAgICAgICAgY29tbWl0VXBkYXRlUXVldWUoZmluaXNoZWRXb3JrLCB1cGRhdGVRdWV1ZSwgaW5zdGFuY2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAgdmFyIF91cGRhdGVRdWV1ZSA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAoX3VwZGF0ZVF1ZXVlICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIF9pbnN0YW5jZSA9IG51bGw7XG5cbiAgICAgICAgICBpZiAoZmluaXNoZWRXb3JrLmNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay5jaGlsZC50YWcpIHtcbiAgICAgICAgICAgICAgY2FzZSBIb3N0Q29tcG9uZW50OlxuICAgICAgICAgICAgICAgIF9pbnN0YW5jZSA9IGdldFB1YmxpY0luc3RhbmNlKGZpbmlzaGVkV29yay5jaGlsZC5zdGF0ZU5vZGUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAgICAgICAgX2luc3RhbmNlID0gZmluaXNoZWRXb3JrLmNoaWxkLnN0YXRlTm9kZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb21taXRVcGRhdGVRdWV1ZShmaW5pc2hlZFdvcmssIF91cGRhdGVRdWV1ZSwgX2luc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgdmFyIF9pbnN0YW5jZTIgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlOyAvLyBSZW5kZXJlcnMgbWF5IHNjaGVkdWxlIHdvcmsgdG8gYmUgZG9uZSBhZnRlciBob3N0IGNvbXBvbmVudHMgYXJlIG1vdW50ZWRcbiAgICAgICAgLy8gKGVnIERPTSByZW5kZXJlciBtYXkgc2NoZWR1bGUgYXV0by1mb2N1cyBmb3IgaW5wdXRzIGFuZCBmb3JtIGNvbnRyb2xzKS5cbiAgICAgICAgLy8gVGhlc2UgZWZmZWN0cyBzaG91bGQgb25seSBiZSBjb21taXR0ZWQgd2hlbiBjb21wb25lbnRzIGFyZSBmaXJzdCBtb3VudGVkLFxuICAgICAgICAvLyBha2Egd2hlbiB0aGVyZSBpcyBubyBjdXJyZW50L2FsdGVybmF0ZS5cblxuICAgICAgICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiBmaW5pc2hlZFdvcmsuZWZmZWN0VGFnICYgVXBkYXRlKSB7XG4gICAgICAgICAgdmFyIHR5cGUgPSBmaW5pc2hlZFdvcmsudHlwZTtcbiAgICAgICAgICB2YXIgcHJvcHMgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcztcbiAgICAgICAgICBjb21taXRNb3VudChfaW5zdGFuY2UyLCB0eXBlLCBwcm9wcyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICAvLyBXZSBoYXZlIG5vIGxpZmUtY3ljbGVzIGFzc29jaWF0ZWQgd2l0aCB0ZXh0LlxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICB7XG4gICAgICAgIC8vIFdlIGhhdmUgbm8gbGlmZS1jeWNsZXMgYXNzb2NpYXRlZCB3aXRoIHBvcnRhbHMuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgUHJvZmlsZXI6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgb25SZW5kZXIgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wcy5vblJlbmRlcjtcblxuICAgICAgICAgIGlmICh0eXBlb2Ygb25SZW5kZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgb25SZW5kZXIoZmluaXNoZWRXb3JrLm1lbW9pemVkUHJvcHMuaWQsIGN1cnJlbnQgPT09IG51bGwgPyAnbW91bnQnIDogJ3VwZGF0ZScsIGZpbmlzaGVkV29yay5hY3R1YWxEdXJhdGlvbiwgZmluaXNoZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24sIGZpbmlzaGVkV29yay5hY3R1YWxTdGFydFRpbWUsIGdldENvbW1pdFRpbWUoKSwgZmluaXNoZWRSb290Lm1lbW9pemVkSW50ZXJhY3Rpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgU3VzcGVuc2VMaXN0Q29tcG9uZW50OlxuICAgIGNhc2UgSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50OlxuICAgIGNhc2UgRnVuZGFtZW50YWxDb21wb25lbnQ6XG4gICAgY2FzZSBTY29wZUNvbXBvbmVudDpcbiAgICAgIHJldHVybjtcbiAgfVxuXG4gIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJUaGlzIHVuaXQgb2Ygd29yayB0YWcgc2hvdWxkIG5vdCBoYXZlIHNpZGUtZWZmZWN0cy4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBoaWRlT3JVbmhpZGVBbGxDaGlsZHJlbihmaW5pc2hlZFdvcmssIGlzSGlkZGVuKSB7XG4gIHtcbiAgICAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gICAgLy8gY2hpbGRyZW4gdG8gZmluZCBhbGwgdGhlIHRlcm1pbmFsIG5vZGVzLlxuICAgIHZhciBub2RlID0gZmluaXNoZWRXb3JrO1xuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCkge1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBub2RlLnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAoaXNIaWRkZW4pIHtcbiAgICAgICAgICBoaWRlSW5zdGFuY2UoaW5zdGFuY2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHVuaGlkZUluc3RhbmNlKG5vZGUuc3RhdGVOb2RlLCBub2RlLm1lbW9pemVkUHJvcHMpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKG5vZGUudGFnID09PSBIb3N0VGV4dCkge1xuICAgICAgICB2YXIgX2luc3RhbmNlMyA9IG5vZGUuc3RhdGVOb2RlO1xuXG4gICAgICAgIGlmIChpc0hpZGRlbikge1xuICAgICAgICAgIGhpZGVUZXh0SW5zdGFuY2UoX2luc3RhbmNlMyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdW5oaWRlVGV4dEluc3RhbmNlKF9pbnN0YW5jZTMsIG5vZGUubWVtb2l6ZWRQcm9wcyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAobm9kZS50YWcgPT09IFN1c3BlbnNlQ29tcG9uZW50ICYmIG5vZGUubWVtb2l6ZWRTdGF0ZSAhPT0gbnVsbCAmJiBub2RlLm1lbW9pemVkU3RhdGUuZGVoeWRyYXRlZCA9PT0gbnVsbCkge1xuICAgICAgICAvLyBGb3VuZCBhIG5lc3RlZCBTdXNwZW5zZSBjb21wb25lbnQgdGhhdCB0aW1lZCBvdXQuIFNraXAgb3ZlciB0aGVcbiAgICAgICAgLy8gcHJpbWFyeSBjaGlsZCBmcmFnbWVudCwgd2hpY2ggc2hvdWxkIHJlbWFpbiBoaWRkZW4uXG4gICAgICAgIHZhciBmYWxsYmFja0NoaWxkRnJhZ21lbnQgPSBub2RlLmNoaWxkLnNpYmxpbmc7XG4gICAgICAgIGZhbGxiYWNrQ2hpbGRGcmFnbWVudC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gZmFsbGJhY2tDaGlsZEZyYWdtZW50O1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUgPT09IGZpbmlzaGVkV29yaykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsIHx8IG5vZGUucmV0dXJuID09PSBmaW5pc2hlZFdvcmspIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICAgIG5vZGUgPSBub2RlLnNpYmxpbmc7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEF0dGFjaFJlZihmaW5pc2hlZFdvcmspIHtcbiAgdmFyIHJlZiA9IGZpbmlzaGVkV29yay5yZWY7XG5cbiAgaWYgKHJlZiAhPT0gbnVsbCkge1xuICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG4gICAgdmFyIGluc3RhbmNlVG9Vc2U7XG5cbiAgICBzd2l0Y2ggKGZpbmlzaGVkV29yay50YWcpIHtcbiAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgaW5zdGFuY2VUb1VzZSA9IGdldFB1YmxpY0luc3RhbmNlKGluc3RhbmNlKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGluc3RhbmNlVG9Vc2UgPSBpbnN0YW5jZTtcbiAgICB9IC8vIE1vdmVkIG91dHNpZGUgdG8gZW5zdXJlIERDRSB3b3JrcyB3aXRoIHRoaXMgZmxhZ1xuXG4gICAgaWYgKHR5cGVvZiByZWYgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJlZihpbnN0YW5jZVRvVXNlKTtcbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICBpZiAoIXJlZi5oYXNPd25Qcm9wZXJ0eSgnY3VycmVudCcpKSB7XG4gICAgICAgICAgZXJyb3IoJ1VuZXhwZWN0ZWQgcmVmIG9iamVjdCBwcm92aWRlZCBmb3IgJXMuICcgKyAnVXNlIGVpdGhlciBhIHJlZi1zZXR0ZXIgZnVuY3Rpb24gb3IgUmVhY3QuY3JlYXRlUmVmKCkuJXMnLCBnZXRDb21wb25lbnROYW1lKGZpbmlzaGVkV29yay50eXBlKSwgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpbmlzaGVkV29yaykpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJlZi5jdXJyZW50ID0gaW5zdGFuY2VUb1VzZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0RGV0YWNoUmVmKGN1cnJlbnQpIHtcbiAgdmFyIGN1cnJlbnRSZWYgPSBjdXJyZW50LnJlZjtcblxuICBpZiAoY3VycmVudFJlZiAhPT0gbnVsbCkge1xuICAgIGlmICh0eXBlb2YgY3VycmVudFJlZiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY3VycmVudFJlZihudWxsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3VycmVudFJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICB9XG4gIH1cbn0gLy8gVXNlci1vcmlnaW5hdGluZyBlcnJvcnMgKGxpZmVjeWNsZXMgYW5kIHJlZnMpIHNob3VsZCBub3QgaW50ZXJydXB0XG4vLyBkZWxldGlvbiwgc28gZG9uJ3QgbGV0IHRoZW0gdGhyb3cuIEhvc3Qtb3JpZ2luYXRpbmcgZXJyb3JzIHNob3VsZFxuLy8gaW50ZXJydXB0IGRlbGV0aW9uLCBzbyBpdCdzIG9rYXlcblxuXG5mdW5jdGlvbiBjb21taXRVbm1vdW50KGZpbmlzaGVkUm9vdCwgY3VycmVudCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICBvbkNvbW1pdFVubW91bnQoY3VycmVudCk7XG5cbiAgc3dpdGNoIChjdXJyZW50LnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBCbG9jazpcbiAgICAgIHtcbiAgICAgICAgdmFyIHVwZGF0ZVF1ZXVlID0gY3VycmVudC51cGRhdGVRdWV1ZTtcblxuICAgICAgICBpZiAodXBkYXRlUXVldWUgIT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgbGFzdEVmZmVjdCA9IHVwZGF0ZVF1ZXVlLmxhc3RFZmZlY3Q7XG5cbiAgICAgICAgICBpZiAobGFzdEVmZmVjdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdmFyIGZpcnN0RWZmZWN0ID0gbGFzdEVmZmVjdC5uZXh0O1xuXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIC8vIFdoZW4gdGhlIG93bmVyIGZpYmVyIGlzIGRlbGV0ZWQsIHRoZSBkZXN0cm95IGZ1bmN0aW9uIG9mIGEgcGFzc2l2ZVxuICAgICAgICAgICAgICAvLyBlZmZlY3QgaG9vayBpcyBjYWxsZWQgZHVyaW5nIHRoZSBzeW5jaHJvbm91cyBjb21taXQgcGhhc2UuIFRoaXMgaXNcbiAgICAgICAgICAgICAgLy8gYSBjb25jZXNzaW9uIHRvIGltcGxlbWVudGF0aW9uIGNvbXBsZXhpdHkuIENhbGxpbmcgaXQgaW4gdGhlXG4gICAgICAgICAgICAgIC8vIHBhc3NpdmUgZWZmZWN0IHBoYXNlIChsaWtlIHRoZXkgdXN1YWxseSBhcmUsIHdoZW4gZGVwZW5kZW5jaWVzXG4gICAgICAgICAgICAgIC8vIGNoYW5nZSBkdXJpbmcgYW4gdXBkYXRlKSB3b3VsZCByZXF1aXJlIGVpdGhlciB0cmF2ZXJzaW5nIHRoZVxuICAgICAgICAgICAgICAvLyBjaGlsZHJlbiBvZiB0aGUgZGVsZXRlZCBmaWJlciBhZ2Fpbiwgb3IgaW5jbHVkaW5nIHVubW91bnQgZWZmZWN0c1xuICAgICAgICAgICAgICAvLyBhcyBwYXJ0IG9mIHRoZSBmaWJlciBlZmZlY3QgbGlzdC5cbiAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgLy8gQmVjYXVzZSB0aGlzIGlzIGR1cmluZyB0aGUgc3luYyBjb21taXQgcGhhc2UsIHdlIG5lZWQgdG8gY2hhbmdlXG4gICAgICAgICAgICAgIC8vIHRoZSBwcmlvcml0eS5cbiAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgLy8gVE9ETzogUmVjb25zaWRlciB0aGlzIGltcGxlbWVudGF0aW9uIHRyYWRlIG9mZi5cbiAgICAgICAgICAgICAgdmFyIHByaW9yaXR5TGV2ZWwgPSByZW5kZXJQcmlvcml0eUxldmVsID4gTm9ybWFsUHJpb3JpdHkgPyBOb3JtYWxQcmlvcml0eSA6IHJlbmRlclByaW9yaXR5TGV2ZWw7XG4gICAgICAgICAgICAgIHJ1bldpdGhQcmlvcml0eSQxKHByaW9yaXR5TGV2ZWwsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgZWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICAgICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgICB2YXIgX2Rlc3Ryb3kgPSBlZmZlY3QuZGVzdHJveTtcblxuICAgICAgICAgICAgICAgICAgaWYgKF9kZXN0cm95ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgc2FmZWx5Q2FsbERlc3Ryb3koY3VycmVudCwgX2Rlc3Ryb3kpO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBlZmZlY3QgPSBlZmZlY3QubmV4dDtcbiAgICAgICAgICAgICAgICB9IHdoaWxlIChlZmZlY3QgIT09IGZpcnN0RWZmZWN0KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgc2FmZWx5RGV0YWNoUmVmKGN1cnJlbnQpO1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSBjdXJyZW50LnN0YXRlTm9kZTtcblxuICAgICAgICBpZiAodHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudFdpbGxVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgc2FmZWx5Q2FsbENvbXBvbmVudFdpbGxVbm1vdW50KGN1cnJlbnQsIGluc3RhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHtcblxuICAgICAgICBzYWZlbHlEZXRhY2hSZWYoY3VycmVudCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgSG9zdFBvcnRhbDpcbiAgICAgIHtcbiAgICAgICAgLy8gVE9ETzogdGhpcyBpcyByZWN1cnNpdmUuXG4gICAgICAgIC8vIFdlIGFyZSBhbHNvIG5vdCB1c2luZyB0aGlzIHBhcmVudCBiZWNhdXNlXG4gICAgICAgIC8vIHRoZSBwb3J0YWwgd2lsbCBnZXQgcHVzaGVkIGltbWVkaWF0ZWx5LlxuICAgICAgICB7XG4gICAgICAgICAgdW5tb3VudEhvc3RDb21wb25lbnRzKGZpbmlzaGVkUm9vdCwgY3VycmVudCwgcmVuZGVyUHJpb3JpdHlMZXZlbCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEZ1bmRhbWVudGFsQ29tcG9uZW50OlxuICAgICAge1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgRGVoeWRyYXRlZEZyYWdtZW50OlxuICAgICAge1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgIGNhc2UgU2NvcGVDb21wb25lbnQ6XG4gICAgICB7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE5lc3RlZFVubW91bnRzKGZpbmlzaGVkUm9vdCwgcm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICAvLyBXaGlsZSB3ZSdyZSBpbnNpZGUgYSByZW1vdmVkIGhvc3Qgbm9kZSB3ZSBkb24ndCB3YW50IHRvIGNhbGxcbiAgLy8gcmVtb3ZlQ2hpbGQgb24gdGhlIGlubmVyIG5vZGVzIGJlY2F1c2UgdGhleSdyZSByZW1vdmVkIGJ5IHRoZSB0b3BcbiAgLy8gY2FsbCBhbnl3YXkuIFdlIGFsc28gd2FudCB0byBjYWxsIGNvbXBvbmVudFdpbGxVbm1vdW50IG9uIGFsbFxuICAvLyBjb21wb3NpdGVzIGJlZm9yZSB0aGlzIGhvc3Qgbm9kZSBpcyByZW1vdmVkIGZyb20gdGhlIHRyZWUuIFRoZXJlZm9yZVxuICAvLyB3ZSBkbyBhbiBpbm5lciBsb29wIHdoaWxlIHdlJ3JlIHN0aWxsIGluc2lkZSB0aGUgaG9zdCBub2RlLlxuICB2YXIgbm9kZSA9IHJvb3Q7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICBjb21taXRVbm1vdW50KGZpbmlzaGVkUm9vdCwgbm9kZSwgcmVuZGVyUHJpb3JpdHlMZXZlbCk7IC8vIFZpc2l0IGNoaWxkcmVuIGJlY2F1c2UgdGhleSBtYXkgY29udGFpbiBtb3JlIGNvbXBvc2l0ZSBvciBob3N0IG5vZGVzLlxuICAgIC8vIFNraXAgcG9ydGFscyBiZWNhdXNlIGNvbW1pdFVubW91bnQoKSBjdXJyZW50bHkgdmlzaXRzIHRoZW0gcmVjdXJzaXZlbHkuXG5cbiAgICBpZiAobm9kZS5jaGlsZCAhPT0gbnVsbCAmJiAoIC8vIElmIHdlIHVzZSBtdXRhdGlvbiB3ZSBkcmlsbCBkb3duIGludG8gcG9ydGFscyB1c2luZyBjb21taXRVbm1vdW50IGFib3ZlLlxuICAgIC8vIElmIHdlIGRvbid0IHVzZSBtdXRhdGlvbiB3ZSBkcmlsbCBkb3duIGludG8gcG9ydGFscyBoZXJlIGluc3RlYWQuXG4gICAgIG5vZGUudGFnICE9PSBIb3N0UG9ydGFsKSkge1xuICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgbm9kZSA9IG5vZGUuY2hpbGQ7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobm9kZSA9PT0gcm9vdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBub2RlLnJldHVybiA9PT0gcm9vdCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5vZGUgPSBub2RlLnJldHVybjtcbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBkZXRhY2hGaWJlcihjdXJyZW50KSB7XG4gIHZhciBhbHRlcm5hdGUgPSBjdXJyZW50LmFsdGVybmF0ZTsgLy8gQ3V0IG9mZiB0aGUgcmV0dXJuIHBvaW50ZXJzIHRvIGRpc2Nvbm5lY3QgaXQgZnJvbSB0aGUgdHJlZS4gSWRlYWxseSwgd2VcbiAgLy8gc2hvdWxkIGNsZWFyIHRoZSBjaGlsZCBwb2ludGVyIG9mIHRoZSBwYXJlbnQgYWx0ZXJuYXRlIHRvIGxldCB0aGlzXG4gIC8vIGdldCBHQzplZCBidXQgd2UgZG9uJ3Qga25vdyB3aGljaCBmb3Igc3VyZSB3aGljaCBwYXJlbnQgaXMgdGhlIGN1cnJlbnRcbiAgLy8gb25lIHNvIHdlJ2xsIHNldHRsZSBmb3IgR0M6aW5nIHRoZSBzdWJ0cmVlIG9mIHRoaXMgY2hpbGQuIFRoaXMgY2hpbGRcbiAgLy8gaXRzZWxmIHdpbGwgYmUgR0M6ZWQgd2hlbiB0aGUgcGFyZW50IHVwZGF0ZXMgdGhlIG5leHQgdGltZS5cblxuICBjdXJyZW50LnJldHVybiA9IG51bGw7XG4gIGN1cnJlbnQuY2hpbGQgPSBudWxsO1xuICBjdXJyZW50Lm1lbW9pemVkU3RhdGUgPSBudWxsO1xuICBjdXJyZW50LnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgY3VycmVudC5kZXBlbmRlbmNpZXMgPSBudWxsO1xuICBjdXJyZW50LmFsdGVybmF0ZSA9IG51bGw7XG4gIGN1cnJlbnQuZmlyc3RFZmZlY3QgPSBudWxsO1xuICBjdXJyZW50Lmxhc3RFZmZlY3QgPSBudWxsO1xuICBjdXJyZW50LnBlbmRpbmdQcm9wcyA9IG51bGw7XG4gIGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA9IG51bGw7XG4gIGN1cnJlbnQuc3RhdGVOb2RlID0gbnVsbDtcblxuICBpZiAoYWx0ZXJuYXRlICE9PSBudWxsKSB7XG4gICAgZGV0YWNoRmliZXIoYWx0ZXJuYXRlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRIb3N0UGFyZW50RmliZXIoZmliZXIpIHtcbiAgdmFyIHBhcmVudCA9IGZpYmVyLnJldHVybjtcblxuICB3aGlsZSAocGFyZW50ICE9PSBudWxsKSB7XG4gICAgaWYgKGlzSG9zdFBhcmVudChwYXJlbnQpKSB7XG4gICAgICByZXR1cm4gcGFyZW50O1xuICAgIH1cblxuICAgIHBhcmVudCA9IHBhcmVudC5yZXR1cm47XG4gIH1cblxuICB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiRXhwZWN0ZWQgdG8gZmluZCBhIGhvc3QgcGFyZW50LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlzSG9zdFBhcmVudChmaWJlcikge1xuICByZXR1cm4gZmliZXIudGFnID09PSBIb3N0Q29tcG9uZW50IHx8IGZpYmVyLnRhZyA9PT0gSG9zdFJvb3QgfHwgZmliZXIudGFnID09PSBIb3N0UG9ydGFsO1xufVxuXG5mdW5jdGlvbiBnZXRIb3N0U2libGluZyhmaWJlcikge1xuICAvLyBXZSdyZSBnb2luZyB0byBzZWFyY2ggZm9yd2FyZCBpbnRvIHRoZSB0cmVlIHVudGlsIHdlIGZpbmQgYSBzaWJsaW5nIGhvc3RcbiAgLy8gbm9kZS4gVW5mb3J0dW5hdGVseSwgaWYgbXVsdGlwbGUgaW5zZXJ0aW9ucyBhcmUgZG9uZSBpbiBhIHJvdyB3ZSBoYXZlIHRvXG4gIC8vIHNlYXJjaCBwYXN0IHRoZW0uIFRoaXMgbGVhZHMgdG8gZXhwb25lbnRpYWwgc2VhcmNoIGZvciB0aGUgbmV4dCBzaWJsaW5nLlxuICAvLyBUT0RPOiBGaW5kIGEgbW9yZSBlZmZpY2llbnQgd2F5IHRvIGRvIHRoaXMuXG4gIHZhciBub2RlID0gZmliZXI7XG5cbiAgc2libGluZ3M6IHdoaWxlICh0cnVlKSB7XG4gICAgLy8gSWYgd2UgZGlkbid0IGZpbmQgYW55dGhpbmcsIGxldCdzIHRyeSB0aGUgbmV4dCBzaWJsaW5nLlxuICAgIHdoaWxlIChub2RlLnNpYmxpbmcgPT09IG51bGwpIHtcbiAgICAgIGlmIChub2RlLnJldHVybiA9PT0gbnVsbCB8fCBpc0hvc3RQYXJlbnQobm9kZS5yZXR1cm4pKSB7XG4gICAgICAgIC8vIElmIHdlIHBvcCBvdXQgb2YgdGhlIHJvb3Qgb3IgaGl0IHRoZSBwYXJlbnQgdGhlIGZpYmVyIHdlIGFyZSB0aGVcbiAgICAgICAgLy8gbGFzdCBzaWJsaW5nLlxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZSA9IG5vZGUucmV0dXJuO1xuICAgIH1cblxuICAgIG5vZGUuc2libGluZy5yZXR1cm4gPSBub2RlLnJldHVybjtcbiAgICBub2RlID0gbm9kZS5zaWJsaW5nO1xuXG4gICAgd2hpbGUgKG5vZGUudGFnICE9PSBIb3N0Q29tcG9uZW50ICYmIG5vZGUudGFnICE9PSBIb3N0VGV4dCAmJiBub2RlLnRhZyAhPT0gRGVoeWRyYXRlZEZyYWdtZW50KSB7XG4gICAgICAvLyBJZiBpdCBpcyBub3QgaG9zdCBub2RlIGFuZCwgd2UgbWlnaHQgaGF2ZSBhIGhvc3Qgbm9kZSBpbnNpZGUgaXQuXG4gICAgICAvLyBUcnkgdG8gc2VhcmNoIGRvd24gdW50aWwgd2UgZmluZCBvbmUuXG4gICAgICBpZiAobm9kZS5lZmZlY3RUYWcgJiBQbGFjZW1lbnQpIHtcbiAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIGNoaWxkLCB0cnkgdGhlIHNpYmxpbmdzIGluc3RlYWQuXG4gICAgICAgIGNvbnRpbnVlIHNpYmxpbmdzO1xuICAgICAgfSAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgY2hpbGQsIHRyeSB0aGUgc2libGluZ3MgaW5zdGVhZC5cbiAgICAgIC8vIFdlIGFsc28gc2tpcCBwb3J0YWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IHBhcnQgb2YgdGhpcyBob3N0IHRyZWUuXG5cblxuICAgICAgaWYgKG5vZGUuY2hpbGQgPT09IG51bGwgfHwgbm9kZS50YWcgPT09IEhvc3RQb3J0YWwpIHtcbiAgICAgICAgY29udGludWUgc2libGluZ3M7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmNoaWxkLnJldHVybiA9IG5vZGU7XG4gICAgICAgIG5vZGUgPSBub2RlLmNoaWxkO1xuICAgICAgfVxuICAgIH0gLy8gQ2hlY2sgaWYgdGhpcyBob3N0IG5vZGUgaXMgc3RhYmxlIG9yIGFib3V0IHRvIGJlIHBsYWNlZC5cblxuXG4gICAgaWYgKCEobm9kZS5lZmZlY3RUYWcgJiBQbGFjZW1lbnQpKSB7XG4gICAgICAvLyBGb3VuZCBpdCFcbiAgICAgIHJldHVybiBub2RlLnN0YXRlTm9kZTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tbWl0UGxhY2VtZW50KGZpbmlzaGVkV29yaykge1xuXG5cbiAgdmFyIHBhcmVudEZpYmVyID0gZ2V0SG9zdFBhcmVudEZpYmVyKGZpbmlzaGVkV29yayk7IC8vIE5vdGU6IHRoZXNlIHR3byB2YXJpYWJsZXMgKm11c3QqIGFsd2F5cyBiZSB1cGRhdGVkIHRvZ2V0aGVyLlxuXG4gIHZhciBwYXJlbnQ7XG4gIHZhciBpc0NvbnRhaW5lcjtcbiAgdmFyIHBhcmVudFN0YXRlTm9kZSA9IHBhcmVudEZpYmVyLnN0YXRlTm9kZTtcblxuICBzd2l0Y2ggKHBhcmVudEZpYmVyLnRhZykge1xuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHBhcmVudCA9IHBhcmVudFN0YXRlTm9kZTtcbiAgICAgIGlzQ29udGFpbmVyID0gZmFsc2U7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgSG9zdFJvb3Q6XG4gICAgICBwYXJlbnQgPSBwYXJlbnRTdGF0ZU5vZGUuY29udGFpbmVySW5mbztcbiAgICAgIGlzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBIb3N0UG9ydGFsOlxuICAgICAgcGFyZW50ID0gcGFyZW50U3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gICAgICBpc0NvbnRhaW5lciA9IHRydWU7XG4gICAgICBicmVhaztcblxuICAgIGNhc2UgRnVuZGFtZW50YWxDb21wb25lbnQ6XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUtbm8tZmFsbHRocm91Z2hcblxuICAgIGRlZmF1bHQ6XG4gICAgICB7XG4gICAgICAgIHtcbiAgICAgICAgICB0aHJvdyBFcnJvciggXCJJbnZhbGlkIGhvc3QgcGFyZW50IGZpYmVyLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICB9XG5cbiAgaWYgKHBhcmVudEZpYmVyLmVmZmVjdFRhZyAmIENvbnRlbnRSZXNldCkge1xuICAgIC8vIFJlc2V0IHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHBhcmVudCBiZWZvcmUgZG9pbmcgYW55IGluc2VydGlvbnNcbiAgICByZXNldFRleHRDb250ZW50KHBhcmVudCk7IC8vIENsZWFyIENvbnRlbnRSZXNldCBmcm9tIHRoZSBlZmZlY3QgdGFnXG5cbiAgICBwYXJlbnRGaWJlci5lZmZlY3RUYWcgJj0gfkNvbnRlbnRSZXNldDtcbiAgfVxuXG4gIHZhciBiZWZvcmUgPSBnZXRIb3N0U2libGluZyhmaW5pc2hlZFdvcmspOyAvLyBXZSBvbmx5IGhhdmUgdGhlIHRvcCBGaWJlciB0aGF0IHdhcyBpbnNlcnRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cblxuICBpZiAoaXNDb250YWluZXIpIHtcbiAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGZpbmlzaGVkV29yaywgYmVmb3JlLCBwYXJlbnQpO1xuICB9IGVsc2Uge1xuICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShmaW5pc2hlZFdvcmssIGJlZm9yZSwgcGFyZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKG5vZGUsIGJlZm9yZSwgcGFyZW50KSB7XG4gIHZhciB0YWcgPSBub2RlLnRhZztcbiAgdmFyIGlzSG9zdCA9IHRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCB0YWcgPT09IEhvc3RUZXh0O1xuXG4gIGlmIChpc0hvc3QgfHwgZW5hYmxlRnVuZGFtZW50YWxBUEkgKSB7XG4gICAgdmFyIHN0YXRlTm9kZSA9IGlzSG9zdCA/IG5vZGUuc3RhdGVOb2RlIDogbm9kZS5zdGF0ZU5vZGUuaW5zdGFuY2U7XG5cbiAgICBpZiAoYmVmb3JlKSB7XG4gICAgICBpbnNlcnRJbkNvbnRhaW5lckJlZm9yZShwYXJlbnQsIHN0YXRlTm9kZSwgYmVmb3JlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXBwZW5kQ2hpbGRUb0NvbnRhaW5lcihwYXJlbnQsIHN0YXRlTm9kZSk7XG4gICAgfVxuICB9IGVsc2UgaWYgKHRhZyA9PT0gSG9zdFBvcnRhbCkgOyBlbHNlIHtcbiAgICB2YXIgY2hpbGQgPSBub2RlLmNoaWxkO1xuXG4gICAgaWYgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGVJbnRvQ29udGFpbmVyKGNoaWxkLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICB2YXIgc2libGluZyA9IGNoaWxkLnNpYmxpbmc7XG5cbiAgICAgIHdoaWxlIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZUludG9Db250YWluZXIoc2libGluZywgYmVmb3JlLCBwYXJlbnQpO1xuICAgICAgICBzaWJsaW5nID0gc2libGluZy5zaWJsaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnRPckFwcGVuZFBsYWNlbWVudE5vZGUobm9kZSwgYmVmb3JlLCBwYXJlbnQpIHtcbiAgdmFyIHRhZyA9IG5vZGUudGFnO1xuICB2YXIgaXNIb3N0ID0gdGFnID09PSBIb3N0Q29tcG9uZW50IHx8IHRhZyA9PT0gSG9zdFRleHQ7XG5cbiAgaWYgKGlzSG9zdCB8fCBlbmFibGVGdW5kYW1lbnRhbEFQSSApIHtcbiAgICB2YXIgc3RhdGVOb2RlID0gaXNIb3N0ID8gbm9kZS5zdGF0ZU5vZGUgOiBub2RlLnN0YXRlTm9kZS5pbnN0YW5jZTtcblxuICAgIGlmIChiZWZvcmUpIHtcbiAgICAgIGluc2VydEJlZm9yZShwYXJlbnQsIHN0YXRlTm9kZSwgYmVmb3JlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXBwZW5kQ2hpbGQocGFyZW50LCBzdGF0ZU5vZGUpO1xuICAgIH1cbiAgfSBlbHNlIGlmICh0YWcgPT09IEhvc3RQb3J0YWwpIDsgZWxzZSB7XG4gICAgdmFyIGNoaWxkID0gbm9kZS5jaGlsZDtcblxuICAgIGlmIChjaGlsZCAhPT0gbnVsbCkge1xuICAgICAgaW5zZXJ0T3JBcHBlbmRQbGFjZW1lbnROb2RlKGNoaWxkLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICB2YXIgc2libGluZyA9IGNoaWxkLnNpYmxpbmc7XG5cbiAgICAgIHdoaWxlIChzaWJsaW5nICE9PSBudWxsKSB7XG4gICAgICAgIGluc2VydE9yQXBwZW5kUGxhY2VtZW50Tm9kZShzaWJsaW5nLCBiZWZvcmUsIHBhcmVudCk7XG4gICAgICAgIHNpYmxpbmcgPSBzaWJsaW5nLnNpYmxpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIHVubW91bnRIb3N0Q29tcG9uZW50cyhmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcbiAgLy8gV2Ugb25seSBoYXZlIHRoZSB0b3AgRmliZXIgdGhhdCB3YXMgZGVsZXRlZCBidXQgd2UgbmVlZCB0byByZWN1cnNlIGRvd24gaXRzXG4gIC8vIGNoaWxkcmVuIHRvIGZpbmQgYWxsIHRoZSB0ZXJtaW5hbCBub2Rlcy5cbiAgdmFyIG5vZGUgPSBjdXJyZW50OyAvLyBFYWNoIGl0ZXJhdGlvbiwgY3VycmVudFBhcmVudCBpcyBwb3B1bGF0ZWQgd2l0aCBub2RlJ3MgaG9zdCBwYXJlbnQgaWYgbm90XG4gIC8vIGN1cnJlbnRQYXJlbnRJc1ZhbGlkLlxuXG4gIHZhciBjdXJyZW50UGFyZW50SXNWYWxpZCA9IGZhbHNlOyAvLyBOb3RlOiB0aGVzZSB0d28gdmFyaWFibGVzICptdXN0KiBhbHdheXMgYmUgdXBkYXRlZCB0b2dldGhlci5cblxuICB2YXIgY3VycmVudFBhcmVudDtcbiAgdmFyIGN1cnJlbnRQYXJlbnRJc0NvbnRhaW5lcjtcblxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGlmICghY3VycmVudFBhcmVudElzVmFsaWQpIHtcbiAgICAgIHZhciBwYXJlbnQgPSBub2RlLnJldHVybjtcblxuICAgICAgZmluZFBhcmVudDogd2hpbGUgKHRydWUpIHtcbiAgICAgICAgaWYgKCEocGFyZW50ICE9PSBudWxsKSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcIkV4cGVjdGVkIHRvIGZpbmQgYSBob3N0IHBhcmVudC4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBwYXJlbnRTdGF0ZU5vZGUgPSBwYXJlbnQuc3RhdGVOb2RlO1xuXG4gICAgICAgIHN3aXRjaCAocGFyZW50LnRhZykge1xuICAgICAgICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgICAgICAgIGN1cnJlbnRQYXJlbnQgPSBwYXJlbnRTdGF0ZU5vZGU7XG4gICAgICAgICAgICBjdXJyZW50UGFyZW50SXNDb250YWluZXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG5cbiAgICAgICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICAgICAgY3VycmVudFBhcmVudCA9IHBhcmVudFN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICAgICAgY3VycmVudFBhcmVudElzQ29udGFpbmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIGJyZWFrIGZpbmRQYXJlbnQ7XG5cbiAgICAgICAgICBjYXNlIEhvc3RQb3J0YWw6XG4gICAgICAgICAgICBjdXJyZW50UGFyZW50ID0gcGFyZW50U3RhdGVOb2RlLmNvbnRhaW5lckluZm87XG4gICAgICAgICAgICBjdXJyZW50UGFyZW50SXNDb250YWluZXIgPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWsgZmluZFBhcmVudDtcblxuICAgICAgICB9XG5cbiAgICAgICAgcGFyZW50ID0gcGFyZW50LnJldHVybjtcbiAgICAgIH1cblxuICAgICAgY3VycmVudFBhcmVudElzVmFsaWQgPSB0cnVlO1xuICAgIH1cblxuICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdENvbXBvbmVudCB8fCBub2RlLnRhZyA9PT0gSG9zdFRleHQpIHtcbiAgICAgIGNvbW1pdE5lc3RlZFVubW91bnRzKGZpbmlzaGVkUm9vdCwgbm9kZSwgcmVuZGVyUHJpb3JpdHlMZXZlbCk7IC8vIEFmdGVyIGFsbCB0aGUgY2hpbGRyZW4gaGF2ZSB1bm1vdW50ZWQsIGl0IGlzIG5vdyBzYWZlIHRvIHJlbW92ZSB0aGVcbiAgICAgIC8vIG5vZGUgZnJvbSB0aGUgdHJlZS5cblxuICAgICAgaWYgKGN1cnJlbnRQYXJlbnRJc0NvbnRhaW5lcikge1xuICAgICAgICByZW1vdmVDaGlsZEZyb21Db250YWluZXIoY3VycmVudFBhcmVudCwgbm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVtb3ZlQ2hpbGQoY3VycmVudFBhcmVudCwgbm9kZS5zdGF0ZU5vZGUpO1xuICAgICAgfSAvLyBEb24ndCB2aXNpdCBjaGlsZHJlbiBiZWNhdXNlIHdlIGFscmVhZHkgdmlzaXRlZCB0aGVtLlxuXG4gICAgfSBlbHNlIGlmIChub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gV2hlbiB3ZSBnbyBpbnRvIGEgcG9ydGFsLCBpdCBiZWNvbWVzIHRoZSBwYXJlbnQgdG8gcmVtb3ZlIGZyb20uXG4gICAgICAgIC8vIFdlIHdpbGwgcmVhc3NpZ24gaXQgYmFjayB3aGVuIHdlIHBvcCB0aGUgcG9ydGFsIG9uIHRoZSB3YXkgdXAuXG4gICAgICAgIGN1cnJlbnRQYXJlbnQgPSBub2RlLnN0YXRlTm9kZS5jb250YWluZXJJbmZvO1xuICAgICAgICBjdXJyZW50UGFyZW50SXNDb250YWluZXIgPSB0cnVlOyAvLyBWaXNpdCBjaGlsZHJlbiBiZWNhdXNlIHBvcnRhbHMgbWlnaHQgY29udGFpbiBob3N0IGNvbXBvbmVudHMuXG5cbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbW1pdFVubW91bnQoZmluaXNoZWRSb290LCBub2RlLCByZW5kZXJQcmlvcml0eUxldmVsKTsgLy8gVmlzaXQgY2hpbGRyZW4gYmVjYXVzZSB3ZSBtYXkgZmluZCBtb3JlIGhvc3QgY29tcG9uZW50cyBiZWxvdy5cblxuICAgICAgaWYgKG5vZGUuY2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgbm9kZS5jaGlsZC5yZXR1cm4gPSBub2RlO1xuICAgICAgICBub2RlID0gbm9kZS5jaGlsZDtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5vZGUgPT09IGN1cnJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3aGlsZSAobm9kZS5zaWJsaW5nID09PSBudWxsKSB7XG4gICAgICBpZiAobm9kZS5yZXR1cm4gPT09IG51bGwgfHwgbm9kZS5yZXR1cm4gPT09IGN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG5cbiAgICAgIGlmIChub2RlLnRhZyA9PT0gSG9zdFBvcnRhbCkge1xuICAgICAgICAvLyBXaGVuIHdlIGdvIG91dCBvZiB0aGUgcG9ydGFsLCB3ZSBuZWVkIHRvIHJlc3RvcmUgdGhlIHBhcmVudC5cbiAgICAgICAgLy8gU2luY2Ugd2UgZG9uJ3Qga2VlcCBhIHN0YWNrIG9mIHRoZW0sIHdlIHdpbGwgc2VhcmNoIGZvciBpdC5cbiAgICAgICAgY3VycmVudFBhcmVudElzVmFsaWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBub2RlLnNpYmxpbmcucmV0dXJuID0gbm9kZS5yZXR1cm47XG4gICAgbm9kZSA9IG5vZGUuc2libGluZztcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXREZWxldGlvbihmaW5pc2hlZFJvb3QsIGN1cnJlbnQsIHJlbmRlclByaW9yaXR5TGV2ZWwpIHtcbiAge1xuICAgIC8vIFJlY3Vyc2l2ZWx5IGRlbGV0ZSBhbGwgaG9zdCBub2RlcyBmcm9tIHRoZSBwYXJlbnQuXG4gICAgLy8gRGV0YWNoIHJlZnMgYW5kIGNhbGwgY29tcG9uZW50V2lsbFVubW91bnQoKSBvbiB0aGUgd2hvbGUgc3VidHJlZS5cbiAgICB1bm1vdW50SG9zdENvbXBvbmVudHMoZmluaXNoZWRSb290LCBjdXJyZW50LCByZW5kZXJQcmlvcml0eUxldmVsKTtcbiAgfVxuXG4gIGRldGFjaEZpYmVyKGN1cnJlbnQpO1xufVxuXG5mdW5jdGlvbiBjb21taXRXb3JrKGN1cnJlbnQsIGZpbmlzaGVkV29yaykge1xuXG4gIHN3aXRjaCAoZmluaXNoZWRXb3JrLnRhZykge1xuICAgIGNhc2UgRnVuY3Rpb25Db21wb25lbnQ6XG4gICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgIGNhc2UgTWVtb0NvbXBvbmVudDpcbiAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgY2FzZSBCbG9jazpcbiAgICAgIHtcbiAgICAgICAgLy8gTGF5b3V0IGVmZmVjdHMgYXJlIGRlc3Ryb3llZCBkdXJpbmcgdGhlIG11dGF0aW9uIHBoYXNlIHNvIHRoYXQgYWxsXG4gICAgICAgIC8vIGRlc3Ryb3kgZnVuY3Rpb25zIGZvciBhbGwgZmliZXJzIGFyZSBjYWxsZWQgYmVmb3JlIGFueSBjcmVhdGUgZnVuY3Rpb25zLlxuICAgICAgICAvLyBUaGlzIHByZXZlbnRzIHNpYmxpbmcgY29tcG9uZW50IGVmZmVjdHMgZnJvbSBpbnRlcmZlcmluZyB3aXRoIGVhY2ggb3RoZXIsXG4gICAgICAgIC8vIGUuZy4gYSBkZXN0cm95IGZ1bmN0aW9uIGluIG9uZSBjb21wb25lbnQgc2hvdWxkIG5ldmVyIG92ZXJyaWRlIGEgcmVmIHNldFxuICAgICAgICAvLyBieSBhIGNyZWF0ZSBmdW5jdGlvbiBpbiBhbm90aGVyIGNvbXBvbmVudCBkdXJpbmcgdGhlIHNhbWUgY29tbWl0LlxuICAgICAgICBjb21taXRIb29rRWZmZWN0TGlzdFVubW91bnQoTGF5b3V0IHwgSGFzRWZmZWN0LCBmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIENsYXNzQ29tcG9uZW50OlxuICAgICAge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RDb21wb25lbnQ6XG4gICAgICB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKGluc3RhbmNlICE9IG51bGwpIHtcbiAgICAgICAgICAvLyBDb21taXQgdGhlIHdvcmsgcHJlcGFyZWQgZWFybGllci5cbiAgICAgICAgICB2YXIgbmV3UHJvcHMgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wczsgLy8gRm9yIGh5ZHJhdGlvbiB3ZSByZXVzZSB0aGUgdXBkYXRlIHBhdGggYnV0IHdlIHRyZWF0IHRoZSBvbGRQcm9wc1xuICAgICAgICAgIC8vIGFzIHRoZSBuZXdQcm9wcy4gVGhlIHVwZGF0ZVBheWxvYWQgd2lsbCBjb250YWluIHRoZSByZWFsIGNoYW5nZSBpblxuICAgICAgICAgIC8vIHRoaXMgY2FzZS5cblxuICAgICAgICAgIHZhciBvbGRQcm9wcyA9IGN1cnJlbnQgIT09IG51bGwgPyBjdXJyZW50Lm1lbW9pemVkUHJvcHMgOiBuZXdQcm9wcztcbiAgICAgICAgICB2YXIgdHlwZSA9IGZpbmlzaGVkV29yay50eXBlOyAvLyBUT0RPOiBUeXBlIHRoZSB1cGRhdGVRdWV1ZSB0byBiZSBzcGVjaWZpYyB0byBob3N0IGNvbXBvbmVudHMuXG5cbiAgICAgICAgICB2YXIgdXBkYXRlUGF5bG9hZCA9IGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZTtcbiAgICAgICAgICBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWUgPSBudWxsO1xuXG4gICAgICAgICAgaWYgKHVwZGF0ZVBheWxvYWQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbW1pdFVwZGF0ZShpbnN0YW5jZSwgdXBkYXRlUGF5bG9hZCwgdHlwZSwgb2xkUHJvcHMsIG5ld1Byb3BzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEhvc3RUZXh0OlxuICAgICAge1xuICAgICAgICBpZiAoIShmaW5pc2hlZFdvcmsuc3RhdGVOb2RlICE9PSBudWxsKSkge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcIlRoaXMgc2hvdWxkIGhhdmUgYSB0ZXh0IG5vZGUgaW5pdGlhbGl6ZWQuIFRoaXMgZXJyb3IgaXMgbGlrZWx5IGNhdXNlZCBieSBhIGJ1ZyBpbiBSZWFjdC4gUGxlYXNlIGZpbGUgYW4gaXNzdWUuXCIgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB2YXIgdGV4dEluc3RhbmNlID0gZmluaXNoZWRXb3JrLnN0YXRlTm9kZTtcbiAgICAgICAgdmFyIG5ld1RleHQgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRQcm9wczsgLy8gRm9yIGh5ZHJhdGlvbiB3ZSByZXVzZSB0aGUgdXBkYXRlIHBhdGggYnV0IHdlIHRyZWF0IHRoZSBvbGRQcm9wc1xuICAgICAgICAvLyBhcyB0aGUgbmV3UHJvcHMuIFRoZSB1cGRhdGVQYXlsb2FkIHdpbGwgY29udGFpbiB0aGUgcmVhbCBjaGFuZ2UgaW5cbiAgICAgICAgLy8gdGhpcyBjYXNlLlxuXG4gICAgICAgIHZhciBvbGRUZXh0ID0gY3VycmVudCAhPT0gbnVsbCA/IGN1cnJlbnQubWVtb2l6ZWRQcm9wcyA6IG5ld1RleHQ7XG4gICAgICAgIGNvbW1pdFRleHRVcGRhdGUodGV4dEluc3RhbmNlLCBvbGRUZXh0LCBuZXdUZXh0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBIb3N0Um9vdDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHZhciBfcm9vdCA9IGZpbmlzaGVkV29yay5zdGF0ZU5vZGU7XG5cbiAgICAgICAgICBpZiAoX3Jvb3QuaHlkcmF0ZSkge1xuICAgICAgICAgICAgLy8gV2UndmUganVzdCBoeWRyYXRlZC4gTm8gbmVlZCB0byBoeWRyYXRlIGFnYWluLlxuICAgICAgICAgICAgX3Jvb3QuaHlkcmF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgY29tbWl0SHlkcmF0ZWRDb250YWluZXIoX3Jvb3QuY29udGFpbmVySW5mbyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBQcm9maWxlcjpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgY2FzZSBTdXNwZW5zZUNvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgY29tbWl0U3VzcGVuc2VDb21wb25lbnQoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIFN1c3BlbnNlTGlzdENvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICBjYXNlIEluY29tcGxldGVDbGFzc0NvbXBvbmVudDpcbiAgICAgIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICB9XG5cbiAge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIlRoaXMgdW5pdCBvZiB3b3JrIHRhZyBzaG91bGQgbm90IGhhdmUgc2lkZS1lZmZlY3RzLiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFN1c3BlbnNlQ29tcG9uZW50KGZpbmlzaGVkV29yaykge1xuICB2YXIgbmV3U3RhdGUgPSBmaW5pc2hlZFdvcmsubWVtb2l6ZWRTdGF0ZTtcbiAgdmFyIG5ld0RpZFRpbWVvdXQ7XG4gIHZhciBwcmltYXJ5Q2hpbGRQYXJlbnQgPSBmaW5pc2hlZFdvcms7XG5cbiAgaWYgKG5ld1N0YXRlID09PSBudWxsKSB7XG4gICAgbmV3RGlkVGltZW91dCA9IGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIG5ld0RpZFRpbWVvdXQgPSB0cnVlO1xuICAgIHByaW1hcnlDaGlsZFBhcmVudCA9IGZpbmlzaGVkV29yay5jaGlsZDtcbiAgICBtYXJrQ29tbWl0VGltZU9mRmFsbGJhY2soKTtcbiAgfVxuXG4gIGlmICggcHJpbWFyeUNoaWxkUGFyZW50ICE9PSBudWxsKSB7XG4gICAgaGlkZU9yVW5oaWRlQWxsQ2hpbGRyZW4ocHJpbWFyeUNoaWxkUGFyZW50LCBuZXdEaWRUaW1lb3V0KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21taXRTdXNwZW5zZUh5ZHJhdGlvbkNhbGxiYWNrcyhmaW5pc2hlZFJvb3QsIGZpbmlzaGVkV29yaykge1xuXG4gIHZhciBuZXdTdGF0ZSA9IGZpbmlzaGVkV29yay5tZW1vaXplZFN0YXRlO1xuXG4gIGlmIChuZXdTdGF0ZSA9PT0gbnVsbCkge1xuICAgIHZhciBjdXJyZW50ID0gZmluaXNoZWRXb3JrLmFsdGVybmF0ZTtcblxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsKSB7XG4gICAgICB2YXIgcHJldlN0YXRlID0gY3VycmVudC5tZW1vaXplZFN0YXRlO1xuXG4gICAgICBpZiAocHJldlN0YXRlICE9PSBudWxsKSB7XG4gICAgICAgIHZhciBzdXNwZW5zZUluc3RhbmNlID0gcHJldlN0YXRlLmRlaHlkcmF0ZWQ7XG5cbiAgICAgICAgaWYgKHN1c3BlbnNlSW5zdGFuY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBjb21taXRIeWRyYXRlZFN1c3BlbnNlSW5zdGFuY2Uoc3VzcGVuc2VJbnN0YW5jZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gYXR0YWNoU3VzcGVuc2VSZXRyeUxpc3RlbmVycyhmaW5pc2hlZFdvcmspIHtcbiAgLy8gSWYgdGhpcyBib3VuZGFyeSBqdXN0IHRpbWVkIG91dCwgdGhlbiBpdCB3aWxsIGhhdmUgYSBzZXQgb2YgdGhlbmFibGVzLlxuICAvLyBGb3IgZWFjaCB0aGVuYWJsZSwgYXR0YWNoIGEgbGlzdGVuZXIgc28gdGhhdCB3aGVuIGl0IHJlc29sdmVzLCBSZWFjdFxuICAvLyBhdHRlbXB0cyB0byByZS1yZW5kZXIgdGhlIGJvdW5kYXJ5IGluIHRoZSBwcmltYXJ5IChwcmUtdGltZW91dCkgc3RhdGUuXG4gIHZhciB0aGVuYWJsZXMgPSBmaW5pc2hlZFdvcmsudXBkYXRlUXVldWU7XG5cbiAgaWYgKHRoZW5hYmxlcyAhPT0gbnVsbCkge1xuICAgIGZpbmlzaGVkV29yay51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgdmFyIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlO1xuXG4gICAgaWYgKHJldHJ5Q2FjaGUgPT09IG51bGwpIHtcbiAgICAgIHJldHJ5Q2FjaGUgPSBmaW5pc2hlZFdvcmsuc3RhdGVOb2RlID0gbmV3IFBvc3NpYmx5V2Vha1NldCgpO1xuICAgIH1cblxuICAgIHRoZW5hYmxlcy5mb3JFYWNoKGZ1bmN0aW9uICh0aGVuYWJsZSkge1xuICAgICAgLy8gTWVtb2l6ZSB1c2luZyB0aGUgYm91bmRhcnkgZmliZXIgdG8gcHJldmVudCByZWR1bmRhbnQgbGlzdGVuZXJzLlxuICAgICAgdmFyIHJldHJ5ID0gcmVzb2x2ZVJldHJ5VGhlbmFibGUuYmluZChudWxsLCBmaW5pc2hlZFdvcmssIHRoZW5hYmxlKTtcblxuICAgICAgaWYgKCFyZXRyeUNhY2hlLmhhcyh0aGVuYWJsZSkpIHtcbiAgICAgICAge1xuICAgICAgICAgIGlmICh0aGVuYWJsZS5fX3JlYWN0RG9Ob3RUcmFjZUludGVyYWN0aW9ucyAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0cnkgPSB0cmFjaW5nLnVuc3RhYmxlX3dyYXAocmV0cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHJ5Q2FjaGUuYWRkKHRoZW5hYmxlKTtcbiAgICAgICAgdGhlbmFibGUudGhlbihyZXRyeSwgcmV0cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdFJlc2V0VGV4dENvbnRlbnQoY3VycmVudCkge1xuXG4gIHJlc2V0VGV4dENvbnRlbnQoY3VycmVudC5zdGF0ZU5vZGUpO1xufVxuXG52YXIgUG9zc2libHlXZWFrTWFwJDEgPSB0eXBlb2YgV2Vha01hcCA9PT0gJ2Z1bmN0aW9uJyA/IFdlYWtNYXAgOiBNYXA7XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3RFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV4cGlyYXRpb25UaW1lLCBudWxsKTsgLy8gVW5tb3VudCB0aGUgcm9vdCBieSByZW5kZXJpbmcgbnVsbC5cblxuICB1cGRhdGUudGFnID0gQ2FwdHVyZVVwZGF0ZTsgLy8gQ2F1dGlvbjogUmVhY3QgRGV2VG9vbHMgY3VycmVudGx5IGRlcGVuZHMgb24gdGhpcyBwcm9wZXJ0eVxuICAvLyBiZWluZyBjYWxsZWQgXCJlbGVtZW50XCIuXG5cbiAgdXBkYXRlLnBheWxvYWQgPSB7XG4gICAgZWxlbWVudDogbnVsbFxuICB9O1xuICB2YXIgZXJyb3IgPSBlcnJvckluZm8udmFsdWU7XG5cbiAgdXBkYXRlLmNhbGxiYWNrID0gZnVuY3Rpb24gKCkge1xuICAgIG9uVW5jYXVnaHRFcnJvcihlcnJvcik7XG4gICAgbG9nRXJyb3IoZmliZXIsIGVycm9ySW5mbyk7XG4gIH07XG5cbiAgcmV0dXJuIHVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV4cGlyYXRpb25UaW1lLCBudWxsKTtcbiAgdXBkYXRlLnRhZyA9IENhcHR1cmVVcGRhdGU7XG4gIHZhciBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPSBmaWJlci50eXBlLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvcjtcblxuICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHZhciBlcnJvciQxID0gZXJyb3JJbmZvLnZhbHVlO1xuXG4gICAgdXBkYXRlLnBheWxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBsb2dFcnJvcihmaWJlciwgZXJyb3JJbmZvKTtcbiAgICAgIHJldHVybiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IkMSk7XG4gICAgfTtcbiAgfVxuXG4gIHZhciBpbnN0ID0gZmliZXIuc3RhdGVOb2RlO1xuXG4gIGlmIChpbnN0ICE9PSBudWxsICYmIHR5cGVvZiBpbnN0LmNvbXBvbmVudERpZENhdGNoID09PSAnZnVuY3Rpb24nKSB7XG4gICAgdXBkYXRlLmNhbGxiYWNrID0gZnVuY3Rpb24gY2FsbGJhY2soKSB7XG4gICAgICB7XG4gICAgICAgIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgLy8gVG8gcHJlc2VydmUgdGhlIHByZWV4aXN0aW5nIHJldHJ5IGJlaGF2aW9yIG9mIGVycm9yIGJvdW5kYXJpZXMsXG4gICAgICAgIC8vIHdlIGtlZXAgdHJhY2sgb2Ygd2hpY2ggb25lcyBhbHJlYWR5IGZhaWxlZCBkdXJpbmcgdGhpcyBiYXRjaC5cbiAgICAgICAgLy8gVGhpcyBnZXRzIHJlc2V0IGJlZm9yZSB3ZSB5aWVsZCBiYWNrIHRvIHRoZSBicm93c2VyLlxuICAgICAgICAvLyBUT0RPOiBXYXJuIGluIHN0cmljdCBtb2RlIGlmIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciBpc1xuICAgICAgICAvLyBub3QgZGVmaW5lZC5cbiAgICAgICAgbWFya0xlZ2FjeUVycm9yQm91bmRhcnlBc0ZhaWxlZCh0aGlzKTsgLy8gT25seSBsb2cgaGVyZSBpZiBjb21wb25lbnREaWRDYXRjaCBpcyB0aGUgb25seSBlcnJvciBib3VuZGFyeSBtZXRob2QgZGVmaW5lZFxuXG4gICAgICAgIGxvZ0Vycm9yKGZpYmVyLCBlcnJvckluZm8pO1xuICAgICAgfVxuXG4gICAgICB2YXIgZXJyb3IkMSA9IGVycm9ySW5mby52YWx1ZTtcbiAgICAgIHZhciBzdGFjayA9IGVycm9ySW5mby5zdGFjaztcbiAgICAgIHRoaXMuY29tcG9uZW50RGlkQ2F0Y2goZXJyb3IkMSwge1xuICAgICAgICBjb21wb25lbnRTdGFjazogc3RhY2sgIT09IG51bGwgPyBzdGFjayA6ICcnXG4gICAgICB9KTtcblxuICAgICAge1xuICAgICAgICBpZiAodHlwZW9mIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIElmIGNvbXBvbmVudERpZENhdGNoIGlzIHRoZSBvbmx5IGVycm9yIGJvdW5kYXJ5IG1ldGhvZCBkZWZpbmVkLFxuICAgICAgICAgIC8vIHRoZW4gaXQgbmVlZHMgdG8gY2FsbCBzZXRTdGF0ZSB0byByZWNvdmVyIGZyb20gZXJyb3JzLlxuICAgICAgICAgIC8vIElmIG5vIHN0YXRlIHVwZGF0ZSBpcyBzY2hlZHVsZWQgdGhlbiB0aGUgYm91bmRhcnkgd2lsbCBzd2FsbG93IHRoZSBlcnJvci5cbiAgICAgICAgICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgIT09IFN5bmMpIHtcbiAgICAgICAgICAgIGVycm9yKCclczogRXJyb3IgYm91bmRhcmllcyBzaG91bGQgaW1wbGVtZW50IGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcigpLiAnICsgJ0luIHRoYXQgbWV0aG9kLCByZXR1cm4gYSBzdGF0ZSB1cGRhdGUgdG8gZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIG9yIGZhbGxiYWNrIFVJLicsIGdldENvbXBvbmVudE5hbWUoZmliZXIudHlwZSkgfHwgJ1Vua25vd24nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9IGVsc2Uge1xuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIG1hcmtGYWlsZWRFcnJvckJvdW5kYXJ5Rm9ySG90UmVsb2FkaW5nKGZpYmVyKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHVwZGF0ZTtcbn1cblxuZnVuY3Rpb24gYXR0YWNoUGluZ0xpc3RlbmVyKHJvb3QsIHJlbmRlckV4cGlyYXRpb25UaW1lLCB0aGVuYWJsZSkge1xuICAvLyBBdHRhY2ggYSBsaXN0ZW5lciB0byB0aGUgcHJvbWlzZSB0byBcInBpbmdcIiB0aGUgcm9vdCBhbmQgcmV0cnkuIEJ1dFxuICAvLyBvbmx5IGlmIG9uZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0IGZvciB0aGUgY3VycmVudCByZW5kZXIgZXhwaXJhdGlvblxuICAvLyB0aW1lICh3aGljaCBhY3RzIGxpa2UgYSBcInRocmVhZCBJRFwiIGhlcmUpLlxuICB2YXIgcGluZ0NhY2hlID0gcm9vdC5waW5nQ2FjaGU7XG4gIHZhciB0aHJlYWRJRHM7XG5cbiAgaWYgKHBpbmdDYWNoZSA9PT0gbnVsbCkge1xuICAgIHBpbmdDYWNoZSA9IHJvb3QucGluZ0NhY2hlID0gbmV3IFBvc3NpYmx5V2Vha01hcCQxKCk7XG4gICAgdGhyZWFkSURzID0gbmV3IFNldCgpO1xuICAgIHBpbmdDYWNoZS5zZXQodGhlbmFibGUsIHRocmVhZElEcyk7XG4gIH0gZWxzZSB7XG4gICAgdGhyZWFkSURzID0gcGluZ0NhY2hlLmdldCh0aGVuYWJsZSk7XG5cbiAgICBpZiAodGhyZWFkSURzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocmVhZElEcyA9IG5ldyBTZXQoKTtcbiAgICAgIHBpbmdDYWNoZS5zZXQodGhlbmFibGUsIHRocmVhZElEcyk7XG4gICAgfVxuICB9XG5cbiAgaWYgKCF0aHJlYWRJRHMuaGFzKHJlbmRlckV4cGlyYXRpb25UaW1lKSkge1xuICAgIC8vIE1lbW9pemUgdXNpbmcgdGhlIHRocmVhZCBJRCB0byBwcmV2ZW50IHJlZHVuZGFudCBsaXN0ZW5lcnMuXG4gICAgdGhyZWFkSURzLmFkZChyZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgdmFyIHBpbmcgPSBwaW5nU3VzcGVuZGVkUm9vdC5iaW5kKG51bGwsIHJvb3QsIHRoZW5hYmxlLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG4gICAgdGhlbmFibGUudGhlbihwaW5nLCBwaW5nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiB0aHJvd0V4Y2VwdGlvbihyb290LCByZXR1cm5GaWJlciwgc291cmNlRmliZXIsIHZhbHVlLCByZW5kZXJFeHBpcmF0aW9uVGltZSkge1xuICAvLyBUaGUgc291cmNlIGZpYmVyIGRpZCBub3QgY29tcGxldGUuXG4gIHNvdXJjZUZpYmVyLmVmZmVjdFRhZyB8PSBJbmNvbXBsZXRlOyAvLyBJdHMgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxuXG4gIHNvdXJjZUZpYmVyLmZpcnN0RWZmZWN0ID0gc291cmNlRmliZXIubGFzdEVmZmVjdCA9IG51bGw7XG5cbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIGlzIGEgdGhlbmFibGUuXG4gICAgdmFyIHRoZW5hYmxlID0gdmFsdWU7XG5cbiAgICBpZiAoKHNvdXJjZUZpYmVyLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcbiAgICAgIC8vIFJlc2V0IHRoZSBtZW1vaXplZFN0YXRlIHRvIHdoYXQgaXQgd2FzIGJlZm9yZSB3ZSBhdHRlbXB0ZWRcbiAgICAgIC8vIHRvIHJlbmRlciBpdC5cbiAgICAgIHZhciBjdXJyZW50U291cmNlID0gc291cmNlRmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAoY3VycmVudFNvdXJjZSkge1xuICAgICAgICBzb3VyY2VGaWJlci51cGRhdGVRdWV1ZSA9IGN1cnJlbnRTb3VyY2UudXBkYXRlUXVldWU7XG4gICAgICAgIHNvdXJjZUZpYmVyLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50U291cmNlLm1lbW9pemVkU3RhdGU7XG4gICAgICAgIHNvdXJjZUZpYmVyLmV4cGlyYXRpb25UaW1lID0gY3VycmVudFNvdXJjZS5leHBpcmF0aW9uVGltZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNvdXJjZUZpYmVyLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgICAgICAgc291cmNlRmliZXIubWVtb2l6ZWRTdGF0ZSA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIGhhc0ludmlzaWJsZVBhcmVudEJvdW5kYXJ5ID0gaGFzU3VzcGVuc2VDb250ZXh0KHN1c3BlbnNlU3RhY2tDdXJzb3IuY3VycmVudCwgSW52aXNpYmxlUGFyZW50U3VzcGVuc2VDb250ZXh0KTsgLy8gU2NoZWR1bGUgdGhlIG5lYXJlc3QgU3VzcGVuc2UgdG8gcmUtcmVuZGVyIHRoZSB0aW1lZCBvdXQgdmlldy5cblxuICAgIHZhciBfd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcblxuICAgIGRvIHtcbiAgICAgIGlmIChfd29ya0luUHJvZ3Jlc3MudGFnID09PSBTdXNwZW5zZUNvbXBvbmVudCAmJiBzaG91bGRDYXB0dXJlU3VzcGVuc2UoX3dvcmtJblByb2dyZXNzLCBoYXNJbnZpc2libGVQYXJlbnRCb3VuZGFyeSkpIHtcbiAgICAgICAgLy8gRm91bmQgdGhlIG5lYXJlc3QgYm91bmRhcnkuXG4gICAgICAgIC8vIFN0YXNoIHRoZSBwcm9taXNlIG9uIHRoZSBib3VuZGFyeSBmaWJlci4gSWYgdGhlIGJvdW5kYXJ5IHRpbWVzIG91dCwgd2UnbGxcbiAgICAgICAgLy8gYXR0YWNoIGFub3RoZXIgbGlzdGVuZXIgdG8gZmxpcCB0aGUgYm91bmRhcnkgYmFjayB0byBpdHMgbm9ybWFsIHN0YXRlLlxuICAgICAgICB2YXIgdGhlbmFibGVzID0gX3dvcmtJblByb2dyZXNzLnVwZGF0ZVF1ZXVlO1xuXG4gICAgICAgIGlmICh0aGVuYWJsZXMgPT09IG51bGwpIHtcbiAgICAgICAgICB2YXIgdXBkYXRlUXVldWUgPSBuZXcgU2V0KCk7XG4gICAgICAgICAgdXBkYXRlUXVldWUuYWRkKHRoZW5hYmxlKTtcbiAgICAgICAgICBfd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSB1cGRhdGVRdWV1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGVuYWJsZXMuYWRkKHRoZW5hYmxlKTtcbiAgICAgICAgfSAvLyBJZiB0aGUgYm91bmRhcnkgaXMgb3V0c2lkZSBvZiBibG9ja2luZyBtb2RlLCB3ZSBzaG91bGQgKm5vdCpcbiAgICAgICAgLy8gc3VzcGVuZCB0aGUgY29tbWl0LiBQcmV0ZW5kIGFzIGlmIHRoZSBzdXNwZW5kZWQgY29tcG9uZW50IHJlbmRlcmVkXG4gICAgICAgIC8vIG51bGwgYW5kIGtlZXAgcmVuZGVyaW5nLiBJbiB0aGUgY29tbWl0IHBoYXNlLCB3ZSdsbCBzY2hlZHVsZSBhXG4gICAgICAgIC8vIHN1YnNlcXVlbnQgc3luY2hyb25vdXMgdXBkYXRlIHRvIHJlLXJlbmRlciB0aGUgU3VzcGVuc2UuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIE5vdGU6IEl0IGRvZXNuJ3QgbWF0dGVyIHdoZXRoZXIgdGhlIGNvbXBvbmVudCB0aGF0IHN1c3BlbmRlZCB3YXNcbiAgICAgICAgLy8gaW5zaWRlIGEgYmxvY2tpbmcgbW9kZSB0cmVlLiBJZiB0aGUgU3VzcGVuc2UgaXMgb3V0c2lkZSBvZiBpdCwgd2VcbiAgICAgICAgLy8gc2hvdWxkICpub3QqIHN1c3BlbmQgdGhlIGNvbW1pdC5cblxuXG4gICAgICAgIGlmICgoX3dvcmtJblByb2dyZXNzLm1vZGUgJiBCbG9ja2luZ01vZGUpID09PSBOb01vZGUpIHtcbiAgICAgICAgICBfd29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnIHw9IERpZENhcHR1cmU7IC8vIFdlJ3JlIGdvaW5nIHRvIGNvbW1pdCB0aGlzIGZpYmVyIGV2ZW4gdGhvdWdoIGl0IGRpZG4ndCBjb21wbGV0ZS5cbiAgICAgICAgICAvLyBCdXQgd2Ugc2hvdWxkbid0IGNhbGwgYW55IGxpZmVjeWNsZSBtZXRob2RzIG9yIGNhbGxiYWNrcy4gUmVtb3ZlXG4gICAgICAgICAgLy8gYWxsIGxpZmVjeWNsZSBlZmZlY3QgdGFncy5cblxuICAgICAgICAgIHNvdXJjZUZpYmVyLmVmZmVjdFRhZyAmPSB+KExpZmVjeWNsZUVmZmVjdE1hc2sgfCBJbmNvbXBsZXRlKTtcblxuICAgICAgICAgIGlmIChzb3VyY2VGaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgICB2YXIgY3VycmVudFNvdXJjZUZpYmVyID0gc291cmNlRmliZXIuYWx0ZXJuYXRlO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFNvdXJjZUZpYmVyID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBuZXcgbW91bnQuIENoYW5nZSB0aGUgdGFnIHNvIGl0J3Mgbm90IG1pc3Rha2VuIGZvciBhXG4gICAgICAgICAgICAgIC8vIGNvbXBsZXRlZCBjbGFzcyBjb21wb25lbnQuIEZvciBleGFtcGxlLCB3ZSBzaG91bGQgbm90IGNhbGxcbiAgICAgICAgICAgICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQgaWYgaXQgaXMgZGVsZXRlZC5cbiAgICAgICAgICAgICAgc291cmNlRmliZXIudGFnID0gSW5jb21wbGV0ZUNsYXNzQ29tcG9uZW50O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gV2hlbiB3ZSB0cnkgcmVuZGVyaW5nIGFnYWluLCB3ZSBzaG91bGQgbm90IHJldXNlIHRoZSBjdXJyZW50IGZpYmVyLFxuICAgICAgICAgICAgICAvLyBzaW5jZSBpdCdzIGtub3duIHRvIGJlIGluIGFuIGluY29uc2lzdGVudCBzdGF0ZS4gVXNlIGEgZm9yY2UgdXBkYXRlIHRvXG4gICAgICAgICAgICAgIC8vIHByZXZlbnQgYSBiYWlsIG91dC5cbiAgICAgICAgICAgICAgdmFyIHVwZGF0ZSA9IGNyZWF0ZVVwZGF0ZShTeW5jLCBudWxsKTtcbiAgICAgICAgICAgICAgdXBkYXRlLnRhZyA9IEZvcmNlVXBkYXRlO1xuICAgICAgICAgICAgICBlbnF1ZXVlVXBkYXRlKHNvdXJjZUZpYmVyLCB1cGRhdGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gLy8gVGhlIHNvdXJjZSBmaWJlciBkaWQgbm90IGNvbXBsZXRlLiBNYXJrIGl0IHdpdGggU3luYyBwcmlvcml0eSB0b1xuICAgICAgICAgIC8vIGluZGljYXRlIHRoYXQgaXQgc3RpbGwgaGFzIHBlbmRpbmcgd29yay5cblxuXG4gICAgICAgICAgc291cmNlRmliZXIuZXhwaXJhdGlvblRpbWUgPSBTeW5jOyAvLyBFeGl0IHdpdGhvdXQgc3VzcGVuZGluZy5cblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSAvLyBDb25maXJtZWQgdGhhdCB0aGUgYm91bmRhcnkgaXMgaW4gYSBjb25jdXJyZW50IG1vZGUgdHJlZS4gQ29udGludWVcbiAgICAgICAgLy8gd2l0aCB0aGUgbm9ybWFsIHN1c3BlbmQgcGF0aC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gQWZ0ZXIgdGhpcyB3ZSdsbCB1c2UgYSBzZXQgb2YgaGV1cmlzdGljcyB0byBkZXRlcm1pbmUgd2hldGhlciB0aGlzXG4gICAgICAgIC8vIHJlbmRlciBwYXNzIHdpbGwgcnVuIHRvIGNvbXBsZXRpb24gb3IgcmVzdGFydCBvciBcInN1c3BlbmRcIiB0aGUgY29tbWl0LlxuICAgICAgICAvLyBUaGUgYWN0dWFsIGxvZ2ljIGZvciB0aGlzIGlzIHNwcmVhZCBvdXQgaW4gZGlmZmVyZW50IHBsYWNlcy5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gVGhpcyBmaXJzdCBwcmluY2lwbGUgaXMgdGhhdCBpZiB3ZSdyZSBnb2luZyB0byBzdXNwZW5kIHdoZW4gd2UgY29tcGxldGVcbiAgICAgICAgLy8gYSByb290LCB0aGVuIHdlIHNob3VsZCBhbHNvIHJlc3RhcnQgaWYgd2UgZ2V0IGFuIHVwZGF0ZSBvciBwaW5nIHRoYXRcbiAgICAgICAgLy8gbWlnaHQgdW5zdXNwZW5kIGl0LCBhbmQgdmljZSB2ZXJzYS4gVGhlIG9ubHkgcmVhc29uIHRvIHN1c3BlbmQgaXNcbiAgICAgICAgLy8gYmVjYXVzZSB5b3UgdGhpbmsgeW91IG1pZ2h0IHdhbnQgdG8gcmVzdGFydCBiZWZvcmUgY29tbWl0dGluZy4gSG93ZXZlcixcbiAgICAgICAgLy8gaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHJlc3RhcnQgb25seSB3aGlsZSBpbiB0aGUgcGVyaW9kIHdlJ3JlIHN1c3BlbmRlZC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gUmVzdGFydGluZyB0b28gYWdncmVzc2l2ZWx5IGlzIGFsc28gbm90IGdvb2QgYmVjYXVzZSBpdCBzdGFydmVzIG91dCBhbnlcbiAgICAgICAgLy8gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFNvIHdlIHVzZSBoZXVyaXN0aWNzIHRvIGRldGVybWluZSB3aGVuLlxuICAgICAgICAvLyBTdXNwZW5zZSBIZXVyaXN0aWNzXG4gICAgICAgIC8vXG4gICAgICAgIC8vIElmIG5vdGhpbmcgdGhyZXcgYSBQcm9taXNlIG9yIGFsbCB0aGUgc2FtZSBmYWxsYmFja3MgYXJlIGFscmVhZHkgc2hvd2luZyxcbiAgICAgICAgLy8gdGhlbiBkb24ndCBzdXNwZW5kL3Jlc3RhcnQuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIElmIHRoaXMgaXMgYW4gaW5pdGlhbCByZW5kZXIgb2YgYSBuZXcgdHJlZSBvZiBTdXNwZW5zZSBib3VuZGFyaWVzIGFuZFxuICAgICAgICAvLyB0aG9zZSB0cmlnZ2VyIGEgZmFsbGJhY2ssIHRoZW4gZG9uJ3Qgc3VzcGVuZC9yZXN0YXJ0LiBXZSB3YW50IHRvIGVuc3VyZVxuICAgICAgICAvLyB0aGF0IHdlIGNhbiBzaG93IHRoZSBpbml0aWFsIGxvYWRpbmcgc3RhdGUgYXMgcXVpY2tseSBhcyBwb3NzaWJsZS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gSWYgd2UgaGl0IGEgXCJEZWxheWVkXCIgY2FzZSwgc3VjaCBhcyB3aGVuIHdlJ2Qgc3dpdGNoIGZyb20gY29udGVudCBiYWNrIGludG9cbiAgICAgICAgLy8gYSBmYWxsYmFjaywgdGhlbiB3ZSBzaG91bGQgYWx3YXlzIHN1c3BlbmQvcmVzdGFydC4gU3VzcGVuc2VDb25maWcgYXBwbGllcyB0b1xuICAgICAgICAvLyB0aGlzIGNhc2UuIElmIG5vbmUgaXMgZGVmaW5lZCwgSk5EIGlzIHVzZWQgaW5zdGVhZC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gSWYgd2UncmUgYWxyZWFkeSBzaG93aW5nIGEgZmFsbGJhY2sgYW5kIGl0IGdldHMgXCJyZXRyaWVkXCIsIGFsbG93aW5nIHVzIHRvIHNob3dcbiAgICAgICAgLy8gYW5vdGhlciBsZXZlbCwgYnV0IHRoZXJlJ3Mgc3RpbGwgYW4gaW5uZXIgYm91bmRhcnkgdGhhdCB3b3VsZCBzaG93IGEgZmFsbGJhY2ssXG4gICAgICAgIC8vIHRoZW4gd2Ugc3VzcGVuZC9yZXN0YXJ0IGZvciA1MDBtcyBzaW5jZSB0aGUgbGFzdCB0aW1lIHdlIHNob3dlZCBhIGZhbGxiYWNrXG4gICAgICAgIC8vIGFueXdoZXJlIGluIHRoZSB0cmVlLiBUaGlzIGVmZmVjdGl2ZWx5IHRocm90dGxlcyBwcm9ncmVzc2l2ZSBsb2FkaW5nIGludG8gYVxuICAgICAgICAvLyBjb25zaXN0ZW50IHRyYWluIG9mIGNvbW1pdHMuIFRoaXMgYWxzbyBnaXZlcyB1cyBhbiBvcHBvcnR1bml0eSB0byByZXN0YXJ0IHRvXG4gICAgICAgIC8vIGdldCB0byB0aGUgY29tcGxldGVkIHN0YXRlIHNsaWdodGx5IGVhcmxpZXIuXG4gICAgICAgIC8vXG4gICAgICAgIC8vIElmIHRoZXJlJ3MgYW1iaWd1aXR5IGR1ZSB0byBiYXRjaGluZyBpdCdzIHJlc29sdmVkIGluIHByZWZlcmVuY2Ugb2Y6XG4gICAgICAgIC8vIDEpIFwiZGVsYXllZFwiLCAyKSBcImluaXRpYWwgcmVuZGVyXCIsIDMpIFwicmV0cnlcIi5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gV2Ugd2FudCB0byBlbnN1cmUgdGhhdCBhIFwiYnVzeVwiIHN0YXRlIGRvZXNuJ3QgZ2V0IGZvcmNlIGNvbW1pdHRlZC4gV2Ugd2FudCB0b1xuICAgICAgICAvLyBlbnN1cmUgdGhhdCBuZXcgaW5pdGlhbCBsb2FkaW5nIHN0YXRlcyBjYW4gY29tbWl0IGFzIHNvb24gYXMgcG9zc2libGUuXG5cblxuICAgICAgICBhdHRhY2hQaW5nTGlzdGVuZXIocm9vdCwgcmVuZGVyRXhwaXJhdGlvblRpbWUsIHRoZW5hYmxlKTtcbiAgICAgICAgX3dvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBTaG91bGRDYXB0dXJlO1xuICAgICAgICBfd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSByZW5kZXJFeHBpcmF0aW9uVGltZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSAvLyBUaGlzIGJvdW5kYXJ5IGFscmVhZHkgY2FwdHVyZWQgZHVyaW5nIHRoaXMgcmVuZGVyLiBDb250aW51ZSB0byB0aGUgbmV4dFxuICAgICAgLy8gYm91bmRhcnkuXG5cblxuICAgICAgX3dvcmtJblByb2dyZXNzID0gX3dvcmtJblByb2dyZXNzLnJldHVybjtcbiAgICB9IHdoaWxlIChfd29ya0luUHJvZ3Jlc3MgIT09IG51bGwpOyAvLyBObyBib3VuZGFyeSB3YXMgZm91bmQuIEZhbGx0aHJvdWdoIHRvIGVycm9yIG1vZGUuXG4gICAgLy8gVE9ETzogVXNlIGludmFyaWFudCBzbyB0aGUgbWVzc2FnZSBpcyBzdHJpcHBlZCBpbiBwcm9kP1xuXG5cbiAgICB2YWx1ZSA9IG5ldyBFcnJvcigoZ2V0Q29tcG9uZW50TmFtZShzb3VyY2VGaWJlci50eXBlKSB8fCAnQSBSZWFjdCBjb21wb25lbnQnKSArICcgc3VzcGVuZGVkIHdoaWxlIHJlbmRlcmluZywgYnV0IG5vIGZhbGxiYWNrIFVJIHdhcyBzcGVjaWZpZWQuXFxuJyArICdcXG4nICsgJ0FkZCBhIDxTdXNwZW5zZSBmYWxsYmFjaz0uLi4+IGNvbXBvbmVudCBoaWdoZXIgaW4gdGhlIHRyZWUgdG8gJyArICdwcm92aWRlIGEgbG9hZGluZyBpbmRpY2F0b3Igb3IgcGxhY2Vob2xkZXIgdG8gZGlzcGxheS4nICsgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKHNvdXJjZUZpYmVyKSk7XG4gIH0gLy8gV2UgZGlkbid0IGZpbmQgYSBib3VuZGFyeSB0aGF0IGNvdWxkIGhhbmRsZSB0aGlzIHR5cGUgb2YgZXhjZXB0aW9uLiBTdGFydFxuICAvLyBvdmVyIGFuZCB0cmF2ZXJzZSBwYXJlbnQgcGF0aCBhZ2FpbiwgdGhpcyB0aW1lIHRyZWF0aW5nIHRoZSBleGNlcHRpb25cbiAgLy8gYXMgYW4gZXJyb3IuXG5cblxuICByZW5kZXJEaWRFcnJvcigpO1xuICB2YWx1ZSA9IGNyZWF0ZUNhcHR1cmVkVmFsdWUodmFsdWUsIHNvdXJjZUZpYmVyKTtcbiAgdmFyIHdvcmtJblByb2dyZXNzID0gcmV0dXJuRmliZXI7XG5cbiAgZG8ge1xuICAgIHN3aXRjaCAod29ya0luUHJvZ3Jlc3MudGFnKSB7XG4gICAgICBjYXNlIEhvc3RSb290OlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIF9lcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgfD0gU2hvdWxkQ2FwdHVyZTtcbiAgICAgICAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuXG4gICAgICAgICAgdmFyIF91cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF9lcnJvckluZm8sIHJlbmRlckV4cGlyYXRpb25UaW1lKTtcblxuICAgICAgICAgIGVucXVldWVDYXB0dXJlZFVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgX3VwZGF0ZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgIC8vIENhcHR1cmUgYW5kIHJldHJ5XG4gICAgICAgIHZhciBlcnJvckluZm8gPSB2YWx1ZTtcbiAgICAgICAgdmFyIGN0b3IgPSB3b3JrSW5Qcm9ncmVzcy50eXBlO1xuICAgICAgICB2YXIgaW5zdGFuY2UgPSB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGU7XG5cbiAgICAgICAgaWYgKCh3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSA9PT0gTm9FZmZlY3QgJiYgKHR5cGVvZiBjdG9yLmdldERlcml2ZWRTdGF0ZUZyb21FcnJvciA9PT0gJ2Z1bmN0aW9uJyB8fCBpbnN0YW5jZSAhPT0gbnVsbCAmJiB0eXBlb2YgaW5zdGFuY2UuY29tcG9uZW50RGlkQ2F0Y2ggPT09ICdmdW5jdGlvbicgJiYgIWlzQWxyZWFkeUZhaWxlZExlZ2FjeUVycm9yQm91bmRhcnkoaW5zdGFuY2UpKSkge1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyB8PSBTaG91bGRDYXB0dXJlO1xuICAgICAgICAgIHdvcmtJblByb2dyZXNzLmV4cGlyYXRpb25UaW1lID0gcmVuZGVyRXhwaXJhdGlvblRpbWU7IC8vIFNjaGVkdWxlIHRoZSBlcnJvciBib3VuZGFyeSB0byByZS1yZW5kZXIgdXNpbmcgdXBkYXRlZCBzdGF0ZVxuXG4gICAgICAgICAgdmFyIF91cGRhdGUyID0gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZSh3b3JrSW5Qcm9ncmVzcywgZXJyb3JJbmZvLCByZW5kZXJFeHBpcmF0aW9uVGltZSk7XG5cbiAgICAgICAgICBlbnF1ZXVlQ2FwdHVyZWRVcGRhdGUod29ya0luUHJvZ3Jlc3MsIF91cGRhdGUyKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB3b3JrSW5Qcm9ncmVzcyA9IHdvcmtJblByb2dyZXNzLnJldHVybjtcbiAgfSB3aGlsZSAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpO1xufVxuXG52YXIgY2VpbCA9IE1hdGguY2VpbDtcbnZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICAgIFJlYWN0Q3VycmVudE93bmVyJDIgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcixcbiAgICBJc1NvbWVSZW5kZXJlckFjdGluZyA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLklzU29tZVJlbmRlcmVyQWN0aW5nO1xudmFyIE5vQ29udGV4dCA9XG4vKiAgICAgICAgICAgICAgICAgICAgKi9cbjA7XG52YXIgQmF0Y2hlZENvbnRleHQgPVxuLyogICAgICAgICAgICAgICAqL1xuMTtcbnZhciBFdmVudENvbnRleHQgPVxuLyogICAgICAgICAgICAgICAgICovXG4yO1xudmFyIERpc2NyZXRlRXZlbnRDb250ZXh0ID1cbi8qICAgICAgICAgKi9cbjQ7XG52YXIgTGVnYWN5VW5iYXRjaGVkQ29udGV4dCA9XG4vKiAgICAgICAqL1xuODtcbnZhciBSZW5kZXJDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgICovXG4xNjtcbnZhciBDb21taXRDb250ZXh0ID1cbi8qICAgICAgICAgICAgICAgICovXG4zMjtcbnZhciBSb290SW5jb21wbGV0ZSA9IDA7XG52YXIgUm9vdEZhdGFsRXJyb3JlZCA9IDE7XG52YXIgUm9vdEVycm9yZWQgPSAyO1xudmFyIFJvb3RTdXNwZW5kZWQgPSAzO1xudmFyIFJvb3RTdXNwZW5kZWRXaXRoRGVsYXkgPSA0O1xudmFyIFJvb3RDb21wbGV0ZWQgPSA1O1xuLy8gRGVzY3JpYmVzIHdoZXJlIHdlIGFyZSBpbiB0aGUgUmVhY3QgZXhlY3V0aW9uIHN0YWNrXG52YXIgZXhlY3V0aW9uQ29udGV4dCA9IE5vQ29udGV4dDsgLy8gVGhlIHJvb3Qgd2UncmUgd29ya2luZyBvblxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDsgLy8gVGhlIGZpYmVyIHdlJ3JlIHdvcmtpbmcgb25cblxudmFyIHdvcmtJblByb2dyZXNzID0gbnVsbDsgLy8gVGhlIGV4cGlyYXRpb24gdGltZSB3ZSdyZSByZW5kZXJpbmdcblxudmFyIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPSBOb1dvcms7IC8vIFdoZXRoZXIgdG8gcm9vdCBjb21wbGV0ZWQsIGVycm9yZWQsIHN1c3BlbmRlZCwgZXRjLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJbmNvbXBsZXRlOyAvLyBBIGZhdGFsIGVycm9yLCBpZiBvbmUgaXMgdGhyb3duXG5cbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDsgLy8gTW9zdCByZWNlbnQgZXZlbnQgdGltZSBhbW9uZyBwcm9jZXNzZWQgdXBkYXRlcyBkdXJpbmcgdGhpcyByZW5kZXIuXG4vLyBUaGlzIGlzIGNvbmNlcHR1YWxseSBhIHRpbWUgc3RhbXAgYnV0IGV4cHJlc3NlZCBpbiB0ZXJtcyBvZiBhbiBFeHBpcmF0aW9uVGltZVxuLy8gYmVjYXVzZSB3ZSBkZWFsIG1vc3RseSB3aXRoIGV4cGlyYXRpb24gdGltZXMgaW4gdGhlIGhvdCBwYXRoLCBzbyB0aGlzIGF2b2lkc1xuLy8gdGhlIGNvbnZlcnNpb24gaGFwcGVuaW5nIGluIHRoZSBob3QgcGF0aC5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lID0gU3luYztcbnZhciB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RTdXNwZW5zZVRpbWVvdXQgPSBTeW5jO1xudmFyIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyA9IG51bGw7IC8vIFRoZSB3b3JrIGxlZnQgb3ZlciBieSBjb21wb25lbnRzIHRoYXQgd2VyZSB2aXNpdGVkIGR1cmluZyB0aGlzIHJlbmRlci4gT25seVxuLy8gaW5jbHVkZXMgdW5wcm9jZXNzZWQgdXBkYXRlcywgbm90IHdvcmsgaW4gYmFpbGVkIG91dCBjaGlsZHJlbi5cblxudmFyIHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUgPSBOb1dvcms7IC8vIElmIHdlJ3JlIHBpbmdlZCB3aGlsZSByZW5kZXJpbmcgd2UgZG9uJ3QgYWx3YXlzIHJlc3RhcnQgaW1tZWRpYXRlbHkuXG4vLyBUaGlzIGZsYWcgZGV0ZXJtaW5lcyBpZiBpdCBtaWdodCBiZSB3b3J0aHdoaWxlIHRvIHJlc3RhcnQgaWYgYW4gb3Bwb3J0dW5pdHlcbi8vIGhhcHBlbnMgbGF0ZXJlLlxuXG52YXIgd29ya0luUHJvZ3Jlc3NSb290SGFzUGVuZGluZ1BpbmcgPSBmYWxzZTsgLy8gVGhlIG1vc3QgcmVjZW50IHRpbWUgd2UgY29tbWl0dGVkIGEgZmFsbGJhY2suIFRoaXMgbGV0cyB1cyBlbnN1cmUgYSB0cmFpblxuLy8gbW9kZWwgd2hlcmUgd2UgZG9uJ3QgY29tbWl0IG5ldyBsb2FkaW5nIHN0YXRlcyBpbiB0b28gcXVpY2sgc3VjY2Vzc2lvbi5cblxudmFyIGdsb2JhbE1vc3RSZWNlbnRGYWxsYmFja1RpbWUgPSAwO1xudmFyIEZBTExCQUNLX1RIUk9UVExFX01TID0gNTAwO1xudmFyIG5leHRFZmZlY3QgPSBudWxsO1xudmFyIGhhc1VuY2F1Z2h0RXJyb3IgPSBmYWxzZTtcbnZhciBmaXJzdFVuY2F1Z2h0RXJyb3IgPSBudWxsO1xudmFyIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID0gbnVsbDtcbnZhciByb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xudmFyIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzID0gbnVsbDtcbnZhciBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW5kZXJQcmlvcml0eSA9IE5vUHJpb3JpdHk7XG52YXIgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG52YXIgcm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcyA9IG51bGw7IC8vIFVzZSB0aGVzZSB0byBwcmV2ZW50IGFuIGluZmluaXRlIGxvb3Agb2YgbmVzdGVkIHVwZGF0ZXNcblxudmFyIE5FU1RFRF9VUERBVEVfTElNSVQgPSA1MDtcbnZhciBuZXN0ZWRVcGRhdGVDb3VudCA9IDA7XG52YXIgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gbnVsbDtcbnZhciBORVNURURfUEFTU0lWRV9VUERBVEVfTElNSVQgPSA1MDtcbnZhciBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSAwO1xudmFyIGludGVycnVwdGVkQnkgPSBudWxsOyAvLyBNYXJrcyB0aGUgbmVlZCB0byByZXNjaGVkdWxlIHBlbmRpbmcgaW50ZXJhY3Rpb25zIGF0IHRoZXNlIGV4cGlyYXRpb24gdGltZXNcbi8vIGR1cmluZyB0aGUgY29tbWl0IHBoYXNlLiBUaGlzIGVuYWJsZXMgdGhlbSB0byBiZSB0cmFjZWQgYWNyb3NzIGNvbXBvbmVudHNcbi8vIHRoYXQgc3Bhd24gbmV3IHdvcmsgZHVyaW5nIHJlbmRlci4gRS5nLiBoaWRkZW4gYm91bmRhcmllcywgc3VzcGVuZGVkIFNTUlxuLy8gaHlkcmF0aW9uIG9yIFN1c3BlbnNlTGlzdC5cblxudmFyIHNwYXduZWRXb3JrRHVyaW5nUmVuZGVyID0gbnVsbDsgLy8gRXhwaXJhdGlvbiB0aW1lcyBhcmUgY29tcHV0ZWQgYnkgYWRkaW5nIHRvIHRoZSBjdXJyZW50IHRpbWUgKHRoZSBzdGFydFxuLy8gdGltZSkuIEhvd2V2ZXIsIGlmIHR3byB1cGRhdGVzIGFyZSBzY2hlZHVsZWQgd2l0aGluIHRoZSBzYW1lIGV2ZW50LCB3ZVxuLy8gc2hvdWxkIHRyZWF0IHRoZWlyIHN0YXJ0IHRpbWVzIGFzIHNpbXVsdGFuZW91cywgZXZlbiBpZiB0aGUgYWN0dWFsIGNsb2NrXG4vLyB0aW1lIGhhcyBhZHZhbmNlZCBiZXR3ZWVuIHRoZSBmaXJzdCBhbmQgc2Vjb25kIGNhbGwuXG4vLyBJbiBvdGhlciB3b3JkcywgYmVjYXVzZSBleHBpcmF0aW9uIHRpbWVzIGRldGVybWluZSBob3cgdXBkYXRlcyBhcmUgYmF0Y2hlZCxcbi8vIHdlIHdhbnQgYWxsIHVwZGF0ZXMgb2YgbGlrZSBwcmlvcml0eSB0aGF0IG9jY3VyIHdpdGhpbiB0aGUgc2FtZSBldmVudCB0b1xuLy8gcmVjZWl2ZSB0aGUgc2FtZSBleHBpcmF0aW9uIHRpbWUuIE90aGVyd2lzZSB3ZSBnZXQgdGVhcmluZy5cblxudmFyIGN1cnJlbnRFdmVudFRpbWUgPSBOb1dvcms7XG5mdW5jdGlvbiByZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKSB7XG4gIGlmICgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICAvLyBXZSdyZSBpbnNpZGUgUmVhY3QsIHNvIGl0J3MgZmluZSB0byByZWFkIHRoZSBhY3R1YWwgdGltZS5cbiAgICByZXR1cm4gbXNUb0V4cGlyYXRpb25UaW1lKG5vdygpKTtcbiAgfSAvLyBXZSdyZSBub3QgaW5zaWRlIFJlYWN0LCBzbyB3ZSBtYXkgYmUgaW4gdGhlIG1pZGRsZSBvZiBhIGJyb3dzZXIgZXZlbnQuXG5cblxuICBpZiAoY3VycmVudEV2ZW50VGltZSAhPT0gTm9Xb3JrKSB7XG4gICAgLy8gVXNlIHRoZSBzYW1lIHN0YXJ0IHRpbWUgZm9yIGFsbCB1cGRhdGVzIHVudGlsIHdlIGVudGVyIFJlYWN0IGFnYWluLlxuICAgIHJldHVybiBjdXJyZW50RXZlbnRUaW1lO1xuICB9IC8vIFRoaXMgaXMgdGhlIGZpcnN0IHVwZGF0ZSBzaW5jZSBSZWFjdCB5aWVsZGVkLiBDb21wdXRlIGEgbmV3IHN0YXJ0IHRpbWUuXG5cblxuICBjdXJyZW50RXZlbnRUaW1lID0gbXNUb0V4cGlyYXRpb25UaW1lKG5vdygpKTtcbiAgcmV0dXJuIGN1cnJlbnRFdmVudFRpbWU7XG59XG5mdW5jdGlvbiBnZXRDdXJyZW50VGltZSgpIHtcbiAgcmV0dXJuIG1zVG9FeHBpcmF0aW9uVGltZShub3coKSk7XG59XG5mdW5jdGlvbiBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgc3VzcGVuc2VDb25maWcpIHtcbiAgdmFyIG1vZGUgPSBmaWJlci5tb2RlO1xuXG4gIGlmICgobW9kZSAmIEJsb2NraW5nTW9kZSkgPT09IE5vTW9kZSkge1xuICAgIHJldHVybiBTeW5jO1xuICB9XG5cbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xuXG4gIGlmICgobW9kZSAmIENvbmN1cnJlbnRNb2RlKSA9PT0gTm9Nb2RlKSB7XG4gICAgcmV0dXJuIHByaW9yaXR5TGV2ZWwgPT09IEltbWVkaWF0ZVByaW9yaXR5ID8gU3luYyA6IEJhdGNoZWQ7XG4gIH1cblxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XG4gICAgLy8gVXNlIHdoYXRldmVyIHRpbWUgd2UncmUgYWxyZWFkeSByZW5kZXJpbmdcbiAgICAvLyBUT0RPOiBTaG91bGQgdGhlcmUgYmUgYSB3YXkgdG8gb3B0IG91dCwgbGlrZSB3aXRoIGBydW5XaXRoUHJpb3JpdHlgP1xuICAgIHJldHVybiByZW5kZXJFeHBpcmF0aW9uVGltZSQxO1xuICB9XG5cbiAgdmFyIGV4cGlyYXRpb25UaW1lO1xuXG4gIGlmIChzdXNwZW5zZUNvbmZpZyAhPT0gbnVsbCkge1xuICAgIC8vIENvbXB1dGUgYW4gZXhwaXJhdGlvbiB0aW1lIGJhc2VkIG9uIHRoZSBTdXNwZW5zZSB0aW1lb3V0LlxuICAgIGV4cGlyYXRpb25UaW1lID0gY29tcHV0ZVN1c3BlbnNlRXhwaXJhdGlvbihjdXJyZW50VGltZSwgc3VzcGVuc2VDb25maWcudGltZW91dE1zIHwgMCB8fCBMT1dfUFJJT1JJVFlfRVhQSVJBVElPTik7XG4gIH0gZWxzZSB7XG4gICAgLy8gQ29tcHV0ZSBhbiBleHBpcmF0aW9uIHRpbWUgYmFzZWQgb24gdGhlIFNjaGVkdWxlciBwcmlvcml0eS5cbiAgICBzd2l0Y2ggKHByaW9yaXR5TGV2ZWwpIHtcbiAgICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgICAgIGV4cGlyYXRpb25UaW1lID0gU3luYztcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHkkMTpcbiAgICAgICAgLy8gVE9ETzogUmVuYW1lIHRoaXMgdG8gY29tcHV0ZVVzZXJCbG9ja2luZ0V4cGlyYXRpb25cbiAgICAgICAgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlSW50ZXJhY3RpdmVFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgICAvLyBUT0RPOiBIYW5kbGUgTG93UHJpb3JpdHlcbiAgICAgICAgLy8gVE9ETzogUmVuYW1lIHRoaXMgdG8uLi4gc29tZXRoaW5nIGJldHRlci5cbiAgICAgICAgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlQXN5bmNFeHBpcmF0aW9uKGN1cnJlbnRUaW1lKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgSWRsZVByaW9yaXR5OlxuICAgICAgICBleHBpcmF0aW9uVGltZSA9IElkbGU7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiRXhwZWN0ZWQgYSB2YWxpZCBwcmlvcml0eSBsZXZlbFwiICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gIH0gLy8gSWYgd2UncmUgaW4gdGhlIG1pZGRsZSBvZiByZW5kZXJpbmcgYSB0cmVlLCBkbyBub3QgdXBkYXRlIGF0IHRoZSBzYW1lXG4gIC8vIGV4cGlyYXRpb24gdGltZSB0aGF0IGlzIGFscmVhZHkgcmVuZGVyaW5nLlxuICAvLyBUT0RPOiBXZSBzaG91bGRuJ3QgaGF2ZSB0byBkbyB0aGlzIGlmIHRoZSB1cGRhdGUgaXMgb24gYSBkaWZmZXJlbnQgcm9vdC5cbiAgLy8gUmVmYWN0b3IgY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlciArIHNjaGVkdWxlVXBkYXRlIHNvIHdlIGhhdmUgYWNjZXNzIHRvXG4gIC8vIHRoZSByb290IHdoZW4gd2UgY2hlY2sgZm9yIHRoaXMgY29uZGl0aW9uLlxuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCAmJiBleHBpcmF0aW9uVGltZSA9PT0gcmVuZGVyRXhwaXJhdGlvblRpbWUkMSkge1xuICAgIC8vIFRoaXMgaXMgYSB0cmljayB0byBtb3ZlIHRoaXMgdXBkYXRlIGludG8gYSBzZXBhcmF0ZSBiYXRjaFxuICAgIGV4cGlyYXRpb25UaW1lIC09IDE7XG4gIH1cblxuICByZXR1cm4gZXhwaXJhdGlvblRpbWU7XG59XG5mdW5jdGlvbiBzY2hlZHVsZVVwZGF0ZU9uRmliZXIoZmliZXIsIGV4cGlyYXRpb25UaW1lKSB7XG4gIGNoZWNrRm9yTmVzdGVkVXBkYXRlcygpO1xuICB3YXJuQWJvdXRSZW5kZXJQaGFzZVVwZGF0ZXNJbkRFVihmaWJlcik7XG4gIHZhciByb290ID0gbWFya1VwZGF0ZVRpbWVGcm9tRmliZXJUb1Jvb3QoZmliZXIsIGV4cGlyYXRpb25UaW1lKTtcblxuICBpZiAocm9vdCA9PT0gbnVsbCkge1xuICAgIHdhcm5BYm91dFVwZGF0ZU9uVW5tb3VudGVkRmliZXJJbkRFVihmaWJlcik7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY2hlY2tGb3JJbnRlcnJ1cHRpb24oZmliZXIsIGV4cGlyYXRpb25UaW1lKTtcbiAgcmVjb3JkU2NoZWR1bGVVcGRhdGUoKTsgLy8gVE9ETzogY29tcHV0ZUV4cGlyYXRpb25Gb3JGaWJlciBhbHNvIHJlYWRzIHRoZSBwcmlvcml0eS4gUGFzcyB0aGVcbiAgLy8gcHJpb3JpdHkgYXMgYW4gYXJndW1lbnQgdG8gdGhhdCBmdW5jdGlvbiBhbmQgdGhpcyBvbmUuXG5cbiAgdmFyIHByaW9yaXR5TGV2ZWwgPSBnZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpO1xuXG4gIGlmIChleHBpcmF0aW9uVGltZSA9PT0gU3luYykge1xuICAgIGlmICggLy8gQ2hlY2sgaWYgd2UncmUgaW5zaWRlIHVuYmF0Y2hlZFVwZGF0ZXNcbiAgICAoZXhlY3V0aW9uQ29udGV4dCAmIExlZ2FjeVVuYmF0Y2hlZENvbnRleHQpICE9PSBOb0NvbnRleHQgJiYgLy8gQ2hlY2sgaWYgd2UncmUgbm90IGFscmVhZHkgcmVuZGVyaW5nXG4gICAgKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBSZWdpc3RlciBwZW5kaW5nIGludGVyYWN0aW9ucyBvbiB0aGUgcm9vdCB0byBhdm9pZCBsb3NpbmcgdHJhY2VkIGludGVyYWN0aW9uIGRhdGEuXG4gICAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpOyAvLyBUaGlzIGlzIGEgbGVnYWN5IGVkZ2UgY2FzZS4gVGhlIGluaXRpYWwgbW91bnQgb2YgYSBSZWFjdERPTS5yZW5kZXItZWRcbiAgICAgIC8vIHJvb3QgaW5zaWRlIG9mIGJhdGNoZWRVcGRhdGVzIHNob3VsZCBiZSBzeW5jaHJvbm91cywgYnV0IGxheW91dCB1cGRhdGVzXG4gICAgICAvLyBzaG91bGQgYmUgZGVmZXJyZWQgdW50aWwgdGhlIGVuZCBvZiB0aGUgYmF0Y2guXG5cbiAgICAgIHBlcmZvcm1TeW5jV29ya09uUm9vdChyb290KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xuICAgICAgc2NoZWR1bGVQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcblxuICAgICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCkge1xuICAgICAgICAvLyBGbHVzaCB0aGUgc3luY2hyb25vdXMgd29yayBub3csIHVubGVzcyB3ZSdyZSBhbHJlYWR5IHdvcmtpbmcgb3IgaW5zaWRlXG4gICAgICAgIC8vIGEgYmF0Y2guIFRoaXMgaXMgaW50ZW50aW9uYWxseSBpbnNpZGUgc2NoZWR1bGVVcGRhdGVPbkZpYmVyIGluc3RlYWQgb2ZcbiAgICAgICAgLy8gc2NoZWR1bGVDYWxsYmFja0ZvckZpYmVyIHRvIHByZXNlcnZlIHRoZSBhYmlsaXR5IHRvIHNjaGVkdWxlIGEgY2FsbGJhY2tcbiAgICAgICAgLy8gd2l0aG91dCBpbW1lZGlhdGVseSBmbHVzaGluZyBpdC4gV2Ugb25seSBkbyB0aGlzIGZvciB1c2VyLWluaXRpYXRlZFxuICAgICAgICAvLyB1cGRhdGVzLCB0byBwcmVzZXJ2ZSBoaXN0b3JpY2FsIGJlaGF2aW9yIG9mIGxlZ2FjeSBtb2RlLlxuICAgICAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbiAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgRGlzY3JldGVFdmVudENvbnRleHQpICE9PSBOb0NvbnRleHQgJiYgKCAvLyBPbmx5IHVwZGF0ZXMgYXQgdXNlci1ibG9ja2luZyBwcmlvcml0eSBvciBncmVhdGVyIGFyZSBjb25zaWRlcmVkXG4gIC8vIGRpc2NyZXRlLCBldmVuIGluc2lkZSBhIGRpc2NyZXRlIGV2ZW50LlxuICBwcmlvcml0eUxldmVsID09PSBVc2VyQmxvY2tpbmdQcmlvcml0eSQxIHx8IHByaW9yaXR5TGV2ZWwgPT09IEltbWVkaWF0ZVByaW9yaXR5KSkge1xuICAgIC8vIFRoaXMgaXMgdGhlIHJlc3VsdCBvZiBhIGRpc2NyZXRlIGV2ZW50LiBUcmFjayB0aGUgbG93ZXN0IHByaW9yaXR5XG4gICAgLy8gZGlzY3JldGUgdXBkYXRlIHBlciByb290IHNvIHdlIGNhbiBmbHVzaCB0aGVtIGVhcmx5LCBpZiBuZWVkZWQuXG4gICAgaWYgKHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMgPT09IG51bGwpIHtcbiAgICAgIHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMgPSBuZXcgTWFwKFtbcm9vdCwgZXhwaXJhdGlvblRpbWVdXSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBsYXN0RGlzY3JldGVUaW1lID0gcm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcy5nZXQocm9vdCk7XG5cbiAgICAgIGlmIChsYXN0RGlzY3JldGVUaW1lID09PSB1bmRlZmluZWQgfHwgbGFzdERpc2NyZXRlVGltZSA+IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgIHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXMuc2V0KHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbnZhciBzY2hlZHVsZVdvcmsgPSBzY2hlZHVsZVVwZGF0ZU9uRmliZXI7IC8vIFRoaXMgaXMgc3BsaXQgaW50byBhIHNlcGFyYXRlIGZ1bmN0aW9uIHNvIHdlIGNhbiBtYXJrIGEgZmliZXIgd2l0aCBwZW5kaW5nXG4vLyB3b3JrIHdpdGhvdXQgdHJlYXRpbmcgaXQgYXMgYSB0eXBpY2FsIHVwZGF0ZSB0aGF0IG9yaWdpbmF0ZXMgZnJvbSBhbiBldmVudDtcbi8vIGUuZy4gcmV0cnlpbmcgYSBTdXNwZW5zZSBib3VuZGFyeSBpc24ndCBhbiB1cGRhdGUsIGJ1dCBpdCBkb2VzIHNjaGVkdWxlIHdvcmtcbi8vIG9uIGEgZmliZXIuXG5cbmZ1bmN0aW9uIG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBleHBpcmF0aW9uVGltZSkge1xuICAvLyBVcGRhdGUgdGhlIHNvdXJjZSBmaWJlcidzIGV4cGlyYXRpb24gdGltZVxuICBpZiAoZmliZXIuZXhwaXJhdGlvblRpbWUgPCBleHBpcmF0aW9uVGltZSkge1xuICAgIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIH1cblxuICB2YXIgYWx0ZXJuYXRlID0gZmliZXIuYWx0ZXJuYXRlO1xuXG4gIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmV4cGlyYXRpb25UaW1lIDwgZXhwaXJhdGlvblRpbWUpIHtcbiAgICBhbHRlcm5hdGUuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcbiAgfSAvLyBXYWxrIHRoZSBwYXJlbnQgcGF0aCB0byB0aGUgcm9vdCBhbmQgdXBkYXRlIHRoZSBjaGlsZCBleHBpcmF0aW9uIHRpbWUuXG5cblxuICB2YXIgbm9kZSA9IGZpYmVyLnJldHVybjtcbiAgdmFyIHJvb3QgPSBudWxsO1xuXG4gIGlmIChub2RlID09PSBudWxsICYmIGZpYmVyLnRhZyA9PT0gSG9zdFJvb3QpIHtcbiAgICByb290ID0gZmliZXIuc3RhdGVOb2RlO1xuICB9IGVsc2Uge1xuICAgIHdoaWxlIChub2RlICE9PSBudWxsKSB7XG4gICAgICBhbHRlcm5hdGUgPSBub2RlLmFsdGVybmF0ZTtcblxuICAgICAgaWYgKG5vZGUuY2hpbGRFeHBpcmF0aW9uVGltZSA8IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgIG5vZGUuY2hpbGRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xuXG4gICAgICAgIGlmIChhbHRlcm5hdGUgIT09IG51bGwgJiYgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPCBleHBpcmF0aW9uVGltZSkge1xuICAgICAgICAgIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoYWx0ZXJuYXRlICE9PSBudWxsICYmIGFsdGVybmF0ZS5jaGlsZEV4cGlyYXRpb25UaW1lIDwgZXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgYWx0ZXJuYXRlLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcbiAgICAgIH1cblxuICAgICAgaWYgKG5vZGUucmV0dXJuID09PSBudWxsICYmIG5vZGUudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgICByb290ID0gbm9kZS5zdGF0ZU5vZGU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBub2RlID0gbm9kZS5yZXR1cm47XG4gICAgfVxuICB9XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290KSB7XG4gICAgICAvLyBSZWNlaXZlZCBhbiB1cGRhdGUgdG8gYSB0cmVlIHRoYXQncyBpbiB0aGUgbWlkZGxlIG9mIHJlbmRlcmluZy4gTWFya1xuICAgICAgLy8gdGhhdCdzIHVucHJvY2Vzc2VkIHdvcmsgb24gdGhpcyByb290LlxuICAgICAgbWFya1VucHJvY2Vzc2VkVXBkYXRlVGltZShleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkV2l0aERlbGF5KSB7XG4gICAgICAgIC8vIFRoZSByb290IGFscmVhZHkgc3VzcGVuZGVkIHdpdGggYSBkZWxheSwgd2hpY2ggbWVhbnMgdGhpcyByZW5kZXJcbiAgICAgICAgLy8gZGVmaW5pdGVseSB3b24ndCBmaW5pc2guIFNpbmNlIHdlIGhhdmUgYSBuZXcgdXBkYXRlLCBsZXQncyBtYXJrIGl0IGFzXG4gICAgICAgIC8vIHN1c3BlbmRlZCBub3csIHJpZ2h0IGJlZm9yZSBtYXJraW5nIHRoZSBpbmNvbWluZyB1cGRhdGUuIFRoaXMgaGFzIHRoZVxuICAgICAgICAvLyBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIHRoZSBjdXJyZW50IHJlbmRlciBhbmQgc3dpdGNoaW5nIHRvIHRoZSB1cGRhdGUuXG4gICAgICAgIC8vIFRPRE86IFRoaXMgaGFwcGVucyB0byB3b3JrIHdoZW4gcmVjZWl2aW5nIGFuIHVwZGF0ZSBkdXJpbmcgdGhlIHJlbmRlclxuICAgICAgICAvLyBwaGFzZSwgYmVjYXVzZSBvZiB0aGUgdHJpY2sgaW5zaWRlIGNvbXB1dGVFeHBpcmF0aW9uRm9yRmliZXIgdG9cbiAgICAgICAgLy8gc3VidHJhY3QgMSBmcm9tIGByZW5kZXJFeHBpcmF0aW9uVGltZWAgdG8gbW92ZSBpdCBpbnRvIGFcbiAgICAgICAgLy8gc2VwYXJhdGUgYnVja2V0LiBCdXQgd2Ugc2hvdWxkIHByb2JhYmx5IG1vZGVsIGl0IHdpdGggYW4gZXhjZXB0aW9uLFxuICAgICAgICAvLyB1c2luZyB0aGUgc2FtZSBtZWNoYW5pc20gd2UgdXNlIHRvIGZvcmNlIGh5ZHJhdGlvbiBvZiBhIHN1YnRyZWUuXG4gICAgICAgIC8vIFRPRE86IFRoaXMgZG9lcyBub3QgYWNjb3VudCBmb3IgbG93IHByaSB1cGRhdGVzIHRoYXQgd2VyZSBhbHJlYWR5XG4gICAgICAgIC8vIHNjaGVkdWxlZCBiZWZvcmUgdGhlIHJvb3Qgc3RhcnRlZCByZW5kZXJpbmcuIE5lZWQgdG8gdHJhY2sgdGhlIG5leHRcbiAgICAgICAgLy8gcGVuZGluZyBleHBpcmF0aW9uIHRpbWUgKHBlcmhhcHMgYnkgYmFja3RyYWNraW5nIHRoZSByZXR1cm4gcGF0aCkgYW5kXG4gICAgICAgIC8vIHRoZW4gdHJpZ2dlciBhIHJlc3RhcnQgaW4gdGhlIGByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlYCBwYXRoLlxuICAgICAgICBtYXJrUm9vdFN1c3BlbmRlZEF0VGltZShyb290LCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgICAgIH1cbiAgICB9IC8vIE1hcmsgdGhhdCB0aGUgcm9vdCBoYXMgYSBwZW5kaW5nIHVwZGF0ZS5cblxuXG4gICAgbWFya1Jvb3RVcGRhdGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgfVxuXG4gIHJldHVybiByb290O1xufVxuXG5mdW5jdGlvbiBnZXROZXh0Um9vdEV4cGlyYXRpb25UaW1lVG9Xb3JrT24ocm9vdCkge1xuICAvLyBEZXRlcm1pbmVzIHRoZSBuZXh0IGV4cGlyYXRpb24gdGltZSB0aGF0IHRoZSByb290IHNob3VsZCByZW5kZXIsIHRha2luZ1xuICAvLyBpbnRvIGFjY291bnQgbGV2ZWxzIHRoYXQgbWF5IGJlIHN1c3BlbmRlZCwgb3IgbGV2ZWxzIHRoYXQgbWF5IGhhdmVcbiAgLy8gcmVjZWl2ZWQgYSBwaW5nLlxuICB2YXIgbGFzdEV4cGlyZWRUaW1lID0gcm9vdC5sYXN0RXhwaXJlZFRpbWU7XG5cbiAgaWYgKGxhc3RFeHBpcmVkVGltZSAhPT0gTm9Xb3JrKSB7XG4gICAgcmV0dXJuIGxhc3RFeHBpcmVkVGltZTtcbiAgfSAvLyBcIlBlbmRpbmdcIiByZWZlcnMgdG8gYW55IHVwZGF0ZSB0aGF0IGhhc24ndCBjb21taXR0ZWQgeWV0LCBpbmNsdWRpbmcgaWYgaXRcbiAgLy8gc3VzcGVuZGVkLiBUaGUgXCJzdXNwZW5kZWRcIiByYW5nZSBpcyB0aGVyZWZvcmUgYSBzdWJzZXQuXG5cblxuICB2YXIgZmlyc3RQZW5kaW5nVGltZSA9IHJvb3QuZmlyc3RQZW5kaW5nVGltZTtcblxuICBpZiAoIWlzUm9vdFN1c3BlbmRlZEF0VGltZShyb290LCBmaXJzdFBlbmRpbmdUaW1lKSkge1xuICAgIC8vIFRoZSBoaWdoZXN0IHByaW9yaXR5IHBlbmRpbmcgdGltZSBpcyBub3Qgc3VzcGVuZGVkLiBMZXQncyB3b3JrIG9uIHRoYXQuXG4gICAgcmV0dXJuIGZpcnN0UGVuZGluZ1RpbWU7XG4gIH0gLy8gSWYgdGhlIGZpcnN0IHBlbmRpbmcgdGltZSBpcyBzdXNwZW5kZWQsIGNoZWNrIGlmIHRoZXJlJ3MgYSBsb3dlciBwcmlvcml0eVxuICAvLyBwZW5kaW5nIGxldmVsIHRoYXQgd2Uga25vdyBhYm91dC4gT3IgY2hlY2sgaWYgd2UgcmVjZWl2ZWQgYSBwaW5nLiBXb3JrXG4gIC8vIG9uIHdoaWNoZXZlciBpcyBoaWdoZXIgcHJpb3JpdHkuXG5cblxuICB2YXIgbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xuICB2YXIgbmV4dEtub3duUGVuZGluZ0xldmVsID0gcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWw7XG4gIHZhciBuZXh0TGV2ZWwgPSBsYXN0UGluZ2VkVGltZSA+IG5leHRLbm93blBlbmRpbmdMZXZlbCA/IGxhc3RQaW5nZWRUaW1lIDogbmV4dEtub3duUGVuZGluZ0xldmVsO1xuXG4gIGlmICggbmV4dExldmVsIDw9IElkbGUgJiYgZmlyc3RQZW5kaW5nVGltZSAhPT0gbmV4dExldmVsKSB7XG4gICAgLy8gRG9uJ3Qgd29yayBvbiBJZGxlL05ldmVyIHByaW9yaXR5IHVubGVzcyBldmVyeXRoaW5nIGVsc2UgaXMgY29tbWl0dGVkLlxuICAgIHJldHVybiBOb1dvcms7XG4gIH1cblxuICByZXR1cm4gbmV4dExldmVsO1xufSAvLyBVc2UgdGhpcyBmdW5jdGlvbiB0byBzY2hlZHVsZSBhIHRhc2sgZm9yIGEgcm9vdC4gVGhlcmUncyBvbmx5IG9uZSB0YXNrIHBlclxuLy8gcm9vdDsgaWYgYSB0YXNrIHdhcyBhbHJlYWR5IHNjaGVkdWxlZCwgd2UnbGwgY2hlY2sgdG8gbWFrZSBzdXJlIHRoZVxuLy8gZXhwaXJhdGlvbiB0aW1lIG9mIHRoZSBleGlzdGluZyB0YXNrIGlzIHRoZSBzYW1lIGFzIHRoZSBleHBpcmF0aW9uIHRpbWUgb2Zcbi8vIHRoZSBuZXh0IGxldmVsIHRoYXQgdGhlIHJvb3QgaGFzIHdvcmsgb24uIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9uIGV2ZXJ5XG4vLyB1cGRhdGUsIGFuZCByaWdodCBiZWZvcmUgZXhpdGluZyBhIHRhc2suXG5cblxuZnVuY3Rpb24gZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpIHtcbiAgdmFyIGxhc3RFeHBpcmVkVGltZSA9IHJvb3QubGFzdEV4cGlyZWRUaW1lO1xuXG4gIGlmIChsYXN0RXhwaXJlZFRpbWUgIT09IE5vV29yaykge1xuICAgIC8vIFNwZWNpYWwgY2FzZTogRXhwaXJlZCB3b3JrIHNob3VsZCBmbHVzaCBzeW5jaHJvbm91c2x5LlxuICAgIHJvb3QuY2FsbGJhY2tFeHBpcmF0aW9uVGltZSA9IFN5bmM7XG4gICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gSW1tZWRpYXRlUHJpb3JpdHk7XG4gICAgcm9vdC5jYWxsYmFja05vZGUgPSBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gZ2V0TmV4dFJvb3RFeHBpcmF0aW9uVGltZVRvV29ya09uKHJvb3QpO1xuICB2YXIgZXhpc3RpbmdDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTtcblxuICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IE5vV29yaykge1xuICAgIC8vIFRoZXJlJ3Mgbm90aGluZyB0byB3b3JrIG9uLlxuICAgIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gbnVsbCkge1xuICAgICAgcm9vdC5jYWxsYmFja05vZGUgPSBudWxsO1xuICAgICAgcm9vdC5jYWxsYmFja0V4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xuICAgICAgcm9vdC5jYWxsYmFja1ByaW9yaXR5ID0gTm9Qcmlvcml0eTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH0gLy8gVE9ETzogSWYgdGhpcyBpcyBhbiB1cGRhdGUsIHdlIGFscmVhZHkgcmVhZCB0aGUgY3VycmVudCB0aW1lLiBQYXNzIHRoZVxuICAvLyB0aW1lIGFzIGFuIGFyZ3VtZW50LlxuXG5cbiAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XG4gIHZhciBwcmlvcml0eUxldmVsID0gaW5mZXJQcmlvcml0eUZyb21FeHBpcmF0aW9uVGltZShjdXJyZW50VGltZSwgZXhwaXJhdGlvblRpbWUpOyAvLyBJZiB0aGVyZSdzIGFuIGV4aXN0aW5nIHJlbmRlciB0YXNrLCBjb25maXJtIGl0IGhhcyB0aGUgY29ycmVjdCBwcmlvcml0eSBhbmRcbiAgLy8gZXhwaXJhdGlvbiB0aW1lLiBPdGhlcndpc2UsIHdlJ2xsIGNhbmNlbCBpdCBhbmQgc2NoZWR1bGUgYSBuZXcgb25lLlxuXG4gIGlmIChleGlzdGluZ0NhbGxiYWNrTm9kZSAhPT0gbnVsbCkge1xuICAgIHZhciBleGlzdGluZ0NhbGxiYWNrUHJpb3JpdHkgPSByb290LmNhbGxiYWNrUHJpb3JpdHk7XG4gICAgdmFyIGV4aXN0aW5nQ2FsbGJhY2tFeHBpcmF0aW9uVGltZSA9IHJvb3QuY2FsbGJhY2tFeHBpcmF0aW9uVGltZTtcblxuICAgIGlmICggLy8gQ2FsbGJhY2sgbXVzdCBoYXZlIHRoZSBleGFjdCBzYW1lIGV4cGlyYXRpb24gdGltZS5cbiAgICBleGlzdGluZ0NhbGxiYWNrRXhwaXJhdGlvblRpbWUgPT09IGV4cGlyYXRpb25UaW1lICYmIC8vIENhbGxiYWNrIG11c3QgaGF2ZSBncmVhdGVyIG9yIGVxdWFsIHByaW9yaXR5LlxuICAgIGV4aXN0aW5nQ2FsbGJhY2tQcmlvcml0eSA+PSBwcmlvcml0eUxldmVsKSB7XG4gICAgICAvLyBFeGlzdGluZyBjYWxsYmFjayBpcyBzdWZmaWNpZW50LlxuICAgICAgcmV0dXJuO1xuICAgIH0gLy8gTmVlZCB0byBzY2hlZHVsZSBhIG5ldyB0YXNrLlxuICAgIC8vIFRPRE86IEluc3RlYWQgb2Ygc2NoZWR1bGluZyBhIG5ldyB0YXNrLCB3ZSBzaG91bGQgYmUgYWJsZSB0byBjaGFuZ2UgdGhlXG4gICAgLy8gcHJpb3JpdHkgb2YgdGhlIGV4aXN0aW5nIG9uZS5cblxuXG4gICAgY2FuY2VsQ2FsbGJhY2soZXhpc3RpbmdDYWxsYmFja05vZGUpO1xuICB9XG5cbiAgcm9vdC5jYWxsYmFja0V4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIHJvb3QuY2FsbGJhY2tQcmlvcml0eSA9IHByaW9yaXR5TGV2ZWw7XG4gIHZhciBjYWxsYmFja05vZGU7XG5cbiAgaWYgKGV4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XG4gICAgLy8gU3luYyBSZWFjdCBjYWxsYmFja3MgYXJlIHNjaGVkdWxlZCBvbiBhIHNwZWNpYWwgaW50ZXJuYWwgcXVldWVcbiAgICBjYWxsYmFja05vZGUgPSBzY2hlZHVsZVN5bmNDYWxsYmFjayhwZXJmb3JtU3luY1dvcmtPblJvb3QuYmluZChudWxsLCByb290KSk7XG4gIH0gZWxzZSB7XG4gICAgY2FsbGJhY2tOb2RlID0gc2NoZWR1bGVDYWxsYmFjayhwcmlvcml0eUxldmVsLCBwZXJmb3JtQ29uY3VycmVudFdvcmtPblJvb3QuYmluZChudWxsLCByb290KSwgLy8gQ29tcHV0ZSBhIHRhc2sgdGltZW91dCBiYXNlZCBvbiB0aGUgZXhwaXJhdGlvbiB0aW1lLiBUaGlzIGFsc28gYWZmZWN0c1xuICAgIC8vIG9yZGVyaW5nIGJlY2F1c2UgdGFza3MgYXJlIHByb2Nlc3NlZCBpbiB0aW1lb3V0IG9yZGVyLlxuICAgIHtcbiAgICAgIHRpbWVvdXQ6IGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSkgLSBub3coKVxuICAgIH0pO1xuICB9XG5cbiAgcm9vdC5jYWxsYmFja05vZGUgPSBjYWxsYmFja05vZGU7XG59IC8vIFRoaXMgaXMgdGhlIGVudHJ5IHBvaW50IGZvciBldmVyeSBjb25jdXJyZW50IHRhc2ssIGkuZS4gYW55dGhpbmcgdGhhdFxuLy8gZ29lcyB0aHJvdWdoIFNjaGVkdWxlci5cblxuXG5mdW5jdGlvbiBwZXJmb3JtQ29uY3VycmVudFdvcmtPblJvb3Qocm9vdCwgZGlkVGltZW91dCkge1xuICAvLyBTaW5jZSB3ZSBrbm93IHdlJ3JlIGluIGEgUmVhY3QgZXZlbnQsIHdlIGNhbiBjbGVhciB0aGUgY3VycmVudFxuICAvLyBldmVudCB0aW1lLiBUaGUgbmV4dCB1cGRhdGUgd2lsbCBjb21wdXRlIGEgbmV3IGV2ZW50IHRpbWUuXG4gIGN1cnJlbnRFdmVudFRpbWUgPSBOb1dvcms7XG5cbiAgaWYgKGRpZFRpbWVvdXQpIHtcbiAgICAvLyBUaGUgcmVuZGVyIHRhc2sgdG9vayB0b28gbG9uZyB0byBjb21wbGV0ZS4gTWFyayB0aGUgY3VycmVudCB0aW1lIGFzXG4gICAgLy8gZXhwaXJlZCB0byBzeW5jaHJvbm91c2x5IHJlbmRlciBhbGwgZXhwaXJlZCB3b3JrIGluIGEgc2luZ2xlIGJhdGNoLlxuICAgIHZhciBjdXJyZW50VGltZSA9IHJlcXVlc3RDdXJyZW50VGltZUZvclVwZGF0ZSgpO1xuICAgIG1hcmtSb290RXhwaXJlZEF0VGltZShyb290LCBjdXJyZW50VGltZSk7IC8vIFRoaXMgd2lsbCBzY2hlZHVsZSBhIHN5bmNocm9ub3VzIGNhbGxiYWNrLlxuXG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xuICAgIHJldHVybiBudWxsO1xuICB9IC8vIERldGVybWluZSB0aGUgbmV4dCBleHBpcmF0aW9uIHRpbWUgdG8gd29yayBvbiwgdXNpbmcgdGhlIGZpZWxkcyBzdG9yZWRcbiAgLy8gb24gdGhlIHJvb3QuXG5cblxuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBnZXROZXh0Um9vdEV4cGlyYXRpb25UaW1lVG9Xb3JrT24ocm9vdCk7XG5cbiAgaWYgKGV4cGlyYXRpb25UaW1lICE9PSBOb1dvcmspIHtcbiAgICB2YXIgb3JpZ2luYWxDYWxsYmFja05vZGUgPSByb290LmNhbGxiYWNrTm9kZTtcblxuICAgIGlmICghKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgPT09IE5vQ29udGV4dCkpIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuXCIgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIElmIHRoZSByb290IG9yIGV4cGlyYXRpb24gdGltZSBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcbiAgICAvLyBhbmQgcHJlcGFyZSBhIGZyZXNoIG9uZS4gT3RoZXJ3aXNlIHdlJ2xsIGNvbnRpbnVlIHdoZXJlIHdlIGxlZnQgb2ZmLlxuXG4gICAgaWYgKHJvb3QgIT09IHdvcmtJblByb2dyZXNzUm9vdCB8fCBleHBpcmF0aW9uVGltZSAhPT0gcmVuZGVyRXhwaXJhdGlvblRpbWUkMSkge1xuICAgICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xuICAgICAgc3RhcnRXb3JrT25QZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICB9IC8vIElmIHdlIGhhdmUgYSB3b3JrLWluLXByb2dyZXNzIGZpYmVyLCBpdCBtZWFucyB0aGVyZSdzIHN0aWxsIHdvcmsgdG8gZG9cbiAgICAvLyBpbiB0aGlzIHJvb3QuXG5cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgICAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgICAgIHZhciBwcmV2RGlzcGF0Y2hlciA9IHB1c2hEaXNwYXRjaGVyKCk7XG4gICAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IHB1c2hJbnRlcmFjdGlvbnMocm9vdCk7XG4gICAgICBzdGFydFdvcmtMb29wVGltZXIod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICBkbyB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgd29ya0xvb3BDb25jdXJyZW50KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH0gY2F0Y2ggKHRocm93blZhbHVlKSB7XG4gICAgICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9IHdoaWxlICh0cnVlKTtcblxuICAgICAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gICAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG4gICAgICBwb3BEaXNwYXRjaGVyKHByZXZEaXNwYXRjaGVyKTtcblxuICAgICAge1xuICAgICAgICBwb3BJbnRlcmFjdGlvbnMocHJldkludGVyYWN0aW9ucyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgICAgIHZhciBmYXRhbEVycm9yID0gd29ya0luUHJvZ3Jlc3NSb290RmF0YWxFcnJvcjtcbiAgICAgICAgc3RvcEludGVycnVwdGVkV29ya0xvb3BUaW1lcigpO1xuICAgICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBleHBpcmF0aW9uVGltZSk7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xuICAgICAgICB0aHJvdyBmYXRhbEVycm9yO1xuICAgICAgfVxuXG4gICAgICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhlcmUncyBzdGlsbCB3b3JrIGxlZnQgb3Zlci4gRXhpdCB3aXRob3V0IGNvbW1pdHRpbmcuXG4gICAgICAgIHN0b3BJbnRlcnJ1cHRlZFdvcmtMb29wVGltZXIoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFdlIG5vdyBoYXZlIGEgY29uc2lzdGVudCB0cmVlLiBUaGUgbmV4dCBzdGVwIGlzIGVpdGhlciB0byBjb21taXQgaXQsXG4gICAgICAgIC8vIG9yLCBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLCB3YWl0IHRvIGNvbW1pdCBpdCBhZnRlciBhIHRpbWVvdXQuXG4gICAgICAgIHN0b3BGaW5pc2hlZFdvcmtMb29wVGltZXIoKTtcbiAgICAgICAgdmFyIGZpbmlzaGVkV29yayA9IHJvb3QuZmluaXNoZWRXb3JrID0gcm9vdC5jdXJyZW50LmFsdGVybmF0ZTtcbiAgICAgICAgcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gICAgICAgIGZpbmlzaENvbmN1cnJlbnRSZW5kZXIocm9vdCwgZmluaXNoZWRXb3JrLCB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzLCBleHBpcmF0aW9uVGltZSk7XG4gICAgICB9XG5cbiAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcblxuICAgICAgaWYgKHJvb3QuY2FsbGJhY2tOb2RlID09PSBvcmlnaW5hbENhbGxiYWNrTm9kZSkge1xuICAgICAgICAvLyBUaGUgdGFzayBub2RlIHNjaGVkdWxlZCBmb3IgdGhpcyByb290IGlzIHRoZSBzYW1lIG9uZSB0aGF0J3NcbiAgICAgICAgLy8gY3VycmVudGx5IGV4ZWN1dGVkLiBOZWVkIHRvIHJldHVybiBhIGNvbnRpbnVhdGlvbi5cbiAgICAgICAgcmV0dXJuIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdC5iaW5kKG51bGwsIHJvb3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5pc2hDb25jdXJyZW50UmVuZGVyKHJvb3QsIGZpbmlzaGVkV29yaywgZXhpdFN0YXR1cywgZXhwaXJhdGlvblRpbWUpIHtcbiAgLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcblxuICBzd2l0Y2ggKGV4aXRTdGF0dXMpIHtcbiAgICBjYXNlIFJvb3RJbmNvbXBsZXRlOlxuICAgIGNhc2UgUm9vdEZhdGFsRXJyb3JlZDpcbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKCBcIlJvb3QgZGlkIG5vdCBjb21wbGV0ZS4gVGhpcyBpcyBhIGJ1ZyBpbiBSZWFjdC5cIiApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIC8vIEZsb3cga25vd3MgYWJvdXQgaW52YXJpYW50LCBzbyBpdCBjb21wbGFpbnMgaWYgSSBhZGQgYSBicmVha1xuICAgIC8vIHN0YXRlbWVudCwgYnV0IGVzbGludCBkb2Vzbid0IGtub3cgYWJvdXQgaW52YXJpYW50LCBzbyBpdCBjb21wbGFpbnNcbiAgICAvLyBpZiBJIGRvLiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcblxuICAgIGNhc2UgUm9vdEVycm9yZWQ6XG4gICAgICB7XG4gICAgICAgIC8vIElmIHRoaXMgd2FzIGFuIGFzeW5jIHJlbmRlciwgdGhlIGVycm9yIG1heSBoYXZlIGhhcHBlbmVkIGR1ZSB0b1xuICAgICAgICAvLyBhIG11dGF0aW9uIGluIGEgY29uY3VycmVudCBldmVudC4gVHJ5IHJlbmRlcmluZyBvbmUgbW9yZSB0aW1lLFxuICAgICAgICAvLyBzeW5jaHJvbm91c2x5LCB0byBzZWUgaWYgdGhlIGVycm9yIGdvZXMgYXdheS4gSWYgdGhlcmUgYXJlXG4gICAgICAgIC8vIGxvd2VyIHByaW9yaXR5IHVwZGF0ZXMsIGxldCdzIGluY2x1ZGUgdGhvc2UsIHRvbywgaW4gY2FzZSB0aGV5XG4gICAgICAgIC8vIGZpeCB0aGUgaW5jb25zaXN0ZW5jeS4gUmVuZGVyIGF0IElkbGUgdG8gaW5jbHVkZSBhbGwgdXBkYXRlcy5cbiAgICAgICAgLy8gSWYgaXQgd2FzIElkbGUgb3IgTmV2ZXIgb3Igc29tZSBub3QteWV0LWludmVudGVkIHRpbWUsIHJlbmRlclxuICAgICAgICAvLyBhdCB0aGF0IHRpbWUuXG4gICAgICAgIG1hcmtSb290RXhwaXJlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSA+IElkbGUgPyBJZGxlIDogZXhwaXJhdGlvblRpbWUpOyAvLyBXZSBhc3N1bWUgdGhhdCB0aGlzIHNlY29uZCByZW5kZXIgcGFzcyB3aWxsIGJlIHN5bmNocm9ub3VzXG4gICAgICAgIC8vIGFuZCB0aGVyZWZvcmUgbm90IGhpdCB0aGlzIHBhdGggYWdhaW4uXG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBjYXNlIFJvb3RTdXNwZW5kZWQ6XG4gICAgICB7XG4gICAgICAgIG1hcmtSb290U3VzcGVuZGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgdmFyIGxhc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZTtcblxuICAgICAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IGxhc3RTdXNwZW5kZWRUaW1lKSB7XG4gICAgICAgICAgcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBnZXRSZW1haW5pbmdFeHBpcmF0aW9uVGltZShmaW5pc2hlZFdvcmspO1xuICAgICAgICB9IC8vIFdlIGhhdmUgYW4gYWNjZXB0YWJsZSBsb2FkaW5nIHN0YXRlLiBXZSBuZWVkIHRvIGZpZ3VyZSBvdXQgaWYgd2VcbiAgICAgICAgLy8gc2hvdWxkIGltbWVkaWF0ZWx5IGNvbW1pdCBpdCBvciB3YWl0IGEgYml0LlxuICAgICAgICAvLyBJZiB3ZSBoYXZlIHByb2Nlc3NlZCBuZXcgdXBkYXRlcyBkdXJpbmcgdGhpcyByZW5kZXIsIHdlIG1heSBub3dcbiAgICAgICAgLy8gaGF2ZSBhIG5ldyBsb2FkaW5nIHN0YXRlIHJlYWR5LiBXZSB3YW50IHRvIGVuc3VyZSB0aGF0IHdlIGNvbW1pdFxuICAgICAgICAvLyB0aGF0IGFzIHNvb24gYXMgcG9zc2libGUuXG5cblxuICAgICAgICB2YXIgaGFzTm90UHJvY2Vzc2VkTmV3VXBkYXRlcyA9IHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lID09PSBTeW5jO1xuXG4gICAgICAgIGlmIChoYXNOb3RQcm9jZXNzZWROZXdVcGRhdGVzICYmIC8vIGRvIG5vdCBkZWxheSBpZiB3ZSdyZSBpbnNpZGUgYW4gYWN0KCkgc2NvcGVcbiAgICAgICAgISggSXNUaGlzUmVuZGVyZXJBY3RpbmcuY3VycmVudCkpIHtcbiAgICAgICAgICAvLyBJZiB3ZSBoYXZlIG5vdCBwcm9jZXNzZWQgYW55IG5ldyB1cGRhdGVzIGR1cmluZyB0aGlzIHBhc3MsIHRoZW5cbiAgICAgICAgICAvLyB0aGlzIGlzIGVpdGhlciBhIHJldHJ5IG9mIGFuIGV4aXN0aW5nIGZhbGxiYWNrIHN0YXRlIG9yIGFcbiAgICAgICAgICAvLyBoaWRkZW4gdHJlZS4gSGlkZGVuIHRyZWVzIHNob3VsZG4ndCBiZSBiYXRjaGVkIHdpdGggb3RoZXIgd29ya1xuICAgICAgICAgIC8vIGFuZCBhZnRlciB0aGF0J3MgZml4ZWQgaXQgY2FuIG9ubHkgYmUgYSByZXRyeS4gV2UncmUgZ29pbmcgdG9cbiAgICAgICAgICAvLyB0aHJvdHRsZSBjb21taXR0aW5nIHJldHJpZXMgc28gdGhhdCB3ZSBkb24ndCBzaG93IHRvbyBtYW55XG4gICAgICAgICAgLy8gbG9hZGluZyBzdGF0ZXMgdG9vIHF1aWNrbHkuXG4gICAgICAgICAgdmFyIG1zVW50aWxUaW1lb3V0ID0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSArIEZBTExCQUNLX1RIUk9UVExFX01TIC0gbm93KCk7IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxuXG4gICAgICAgICAgaWYgKG1zVW50aWxUaW1lb3V0ID4gMTApIHtcbiAgICAgICAgICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZykge1xuICAgICAgICAgICAgICB2YXIgbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xuXG4gICAgICAgICAgICAgIGlmIChsYXN0UGluZ2VkVGltZSA9PT0gTm9Xb3JrIHx8IGxhc3RQaW5nZWRUaW1lID49IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyByZW5kZXIgd2FzIHBpbmdlZCBidXQgd2UgZGlkbid0IGdldCB0byByZXN0YXJ0XG4gICAgICAgICAgICAgICAgLy8gZWFybGllciBzbyB0cnkgcmVzdGFydGluZyBub3cgaW5zdGVhZC5cbiAgICAgICAgICAgICAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gICAgICAgICAgICAgICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhciBuZXh0VGltZSA9IGdldE5leHRSb290RXhwaXJhdGlvblRpbWVUb1dvcmtPbihyb290KTtcblxuICAgICAgICAgICAgaWYgKG5leHRUaW1lICE9PSBOb1dvcmsgJiYgbmV4dFRpbWUgIT09IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgICAgIC8vIFRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrIG9uIHRoaXMgcm9vdC5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChsYXN0U3VzcGVuZGVkVGltZSAhPT0gTm9Xb3JrICYmIGxhc3RTdXNwZW5kZWRUaW1lICE9PSBleHBpcmF0aW9uVGltZSkge1xuICAgICAgICAgICAgICAvLyBXZSBzaG91bGQgcHJlZmVyIHRvIHJlbmRlciB0aGUgZmFsbGJhY2sgb2YgYXQgdGhlIGxhc3RcbiAgICAgICAgICAgICAgLy8gc3VzcGVuZGVkIGxldmVsLiBQaW5nIHRoZSBsYXN0IHN1c3BlbmRlZCBsZXZlbCB0byB0cnlcbiAgICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxuICAgICAgICAgICAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gbGFzdFN1c3BlbmRlZFRpbWU7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSAvLyBUaGUgcmVuZGVyIGlzIHN1c3BlbmRlZCwgaXQgaGFzbid0IHRpbWVkIG91dCwgYW5kIHRoZXJlJ3Mgbm9cbiAgICAgICAgICAgIC8vIGxvd2VyIHByaW9yaXR5IHdvcmsgdG8gZG8uIEluc3RlYWQgb2YgY29tbWl0dGluZyB0aGUgZmFsbGJhY2tcbiAgICAgICAgICAgIC8vIGltbWVkaWF0ZWx5LCB3YWl0IGZvciBtb3JlIGRhdGEgdG8gYXJyaXZlLlxuXG5cbiAgICAgICAgICAgIHJvb3QudGltZW91dEhhbmRsZSA9IHNjaGVkdWxlVGltZW91dChjb21taXRSb290LmJpbmQobnVsbCwgcm9vdCksIG1zVW50aWxUaW1lb3V0KTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSAvLyBUaGUgd29yayBleHBpcmVkLiBDb21taXQgaW1tZWRpYXRlbHkuXG5cblxuICAgICAgICBjb21taXRSb290KHJvb3QpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgIGNhc2UgUm9vdFN1c3BlbmRlZFdpdGhEZWxheTpcbiAgICAgIHtcbiAgICAgICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xuICAgICAgICB2YXIgX2xhc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZTtcblxuICAgICAgICBpZiAoZXhwaXJhdGlvblRpbWUgPT09IF9sYXN0U3VzcGVuZGVkVGltZSkge1xuICAgICAgICAgIHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gZ2V0UmVtYWluaW5nRXhwaXJhdGlvblRpbWUoZmluaXNoZWRXb3JrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICggLy8gZG8gbm90IGRlbGF5IGlmIHdlJ3JlIGluc2lkZSBhbiBhY3QoKSBzY29wZVxuICAgICAgICAhKCBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50KSkge1xuICAgICAgICAgIC8vIFdlJ3JlIHN1c3BlbmRlZCBpbiBhIHN0YXRlIHRoYXQgc2hvdWxkIGJlIGF2b2lkZWQuIFdlJ2xsIHRyeSB0b1xuICAgICAgICAgIC8vIGF2b2lkIGNvbW1pdHRpbmcgaXQgZm9yIGFzIGxvbmcgYXMgdGhlIHRpbWVvdXRzIGxldCB1cy5cbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290SGFzUGVuZGluZ1BpbmcpIHtcbiAgICAgICAgICAgIHZhciBfbGFzdFBpbmdlZFRpbWUgPSByb290Lmxhc3RQaW5nZWRUaW1lO1xuXG4gICAgICAgICAgICBpZiAoX2xhc3RQaW5nZWRUaW1lID09PSBOb1dvcmsgfHwgX2xhc3RQaW5nZWRUaW1lID49IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgICAgIC8vIFRoaXMgcmVuZGVyIHdhcyBwaW5nZWQgYnV0IHdlIGRpZG4ndCBnZXQgdG8gcmVzdGFydCBlYXJsaWVyXG4gICAgICAgICAgICAgIC8vIHNvIHRyeSByZXN0YXJ0aW5nIG5vdyBpbnN0ZWFkLlxuICAgICAgICAgICAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gICAgICAgICAgICAgIHByZXBhcmVGcmVzaFN0YWNrKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9uZXh0VGltZSA9IGdldE5leHRSb290RXhwaXJhdGlvblRpbWVUb1dvcmtPbihyb290KTtcblxuICAgICAgICAgIGlmIChfbmV4dFRpbWUgIT09IE5vV29yayAmJiBfbmV4dFRpbWUgIT09IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAgICAgICAvLyBUaGVyZSdzIGFkZGl0aW9uYWwgd29yayBvbiB0aGlzIHJvb3QuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoX2xhc3RTdXNwZW5kZWRUaW1lICE9PSBOb1dvcmsgJiYgX2xhc3RTdXNwZW5kZWRUaW1lICE9PSBleHBpcmF0aW9uVGltZSkge1xuICAgICAgICAgICAgLy8gV2Ugc2hvdWxkIHByZWZlciB0byByZW5kZXIgdGhlIGZhbGxiYWNrIG9mIGF0IHRoZSBsYXN0XG4gICAgICAgICAgICAvLyBzdXNwZW5kZWQgbGV2ZWwuIFBpbmcgdGhlIGxhc3Qgc3VzcGVuZGVkIGxldmVsIHRvIHRyeVxuICAgICAgICAgICAgLy8gcmVuZGVyaW5nIGl0IGFnYWluLlxuICAgICAgICAgICAgcm9vdC5sYXN0UGluZ2VkVGltZSA9IF9sYXN0U3VzcGVuZGVkVGltZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfbXNVbnRpbFRpbWVvdXQ7XG5cbiAgICAgICAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0U3VzcGVuc2VUaW1lb3V0ICE9PSBTeW5jKSB7XG4gICAgICAgICAgICAvLyBXZSBoYXZlIHByb2Nlc3NlZCBhIHN1c3BlbnNlIGNvbmZpZyB3aG9zZSBleHBpcmF0aW9uIHRpbWUgd2VcbiAgICAgICAgICAgIC8vIGNhbiB1c2UgYXMgdGhlIHRpbWVvdXQuXG4gICAgICAgICAgICBfbXNVbnRpbFRpbWVvdXQgPSBleHBpcmF0aW9uVGltZVRvTXMod29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0U3VzcGVuc2VUaW1lb3V0KSAtIG5vdygpO1xuICAgICAgICAgIH0gZWxzZSBpZiAod29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0UHJvY2Vzc2VkRXhwaXJhdGlvblRpbWUgPT09IFN5bmMpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgc2hvdWxkIG5ldmVyIG5vcm1hbGx5IGhhcHBlbiBiZWNhdXNlIG9ubHkgbmV3IHVwZGF0ZXNcbiAgICAgICAgICAgIC8vIGNhdXNlIGRlbGF5ZWQgc3RhdGVzLCBzbyB3ZSBzaG91bGQgaGF2ZSBwcm9jZXNzZWQgc29tZXRoaW5nLlxuICAgICAgICAgICAgLy8gSG93ZXZlciwgdGhpcyBjb3VsZCBhbHNvIGhhcHBlbiBpbiBhbiBvZmZzY3JlZW4gdHJlZS5cbiAgICAgICAgICAgIF9tc1VudGlsVGltZW91dCA9IDA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYSBzdXNwZW5zZSBjb25maWcsIHdlJ3JlIGdvaW5nIHRvIHVzZSBhXG4gICAgICAgICAgICAvLyBoZXVyaXN0aWMgdG8gZGV0ZXJtaW5lIGhvdyBsb25nIHdlIGNhbiBzdXNwZW5kLlxuICAgICAgICAgICAgdmFyIGV2ZW50VGltZU1zID0gaW5mZXJUaW1lRnJvbUV4cGlyYXRpb25UaW1lKHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgICAgIHZhciBjdXJyZW50VGltZU1zID0gbm93KCk7XG4gICAgICAgICAgICB2YXIgdGltZVVudGlsRXhwaXJhdGlvbk1zID0gZXhwaXJhdGlvblRpbWVUb01zKGV4cGlyYXRpb25UaW1lKSAtIGN1cnJlbnRUaW1lTXM7XG4gICAgICAgICAgICB2YXIgdGltZUVsYXBzZWQgPSBjdXJyZW50VGltZU1zIC0gZXZlbnRUaW1lTXM7XG5cbiAgICAgICAgICAgIGlmICh0aW1lRWxhcHNlZCA8IDApIHtcbiAgICAgICAgICAgICAgLy8gV2UgZ2V0IHRoaXMgd3Jvbmcgc29tZSB0aW1lIHNpbmNlIHdlIGVzdGltYXRlIHRoZSB0aW1lLlxuICAgICAgICAgICAgICB0aW1lRWxhcHNlZCA9IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIF9tc1VudGlsVGltZW91dCA9IGpuZCh0aW1lRWxhcHNlZCkgLSB0aW1lRWxhcHNlZDsgLy8gQ2xhbXAgdGhlIHRpbWVvdXQgdG8gdGhlIGV4cGlyYXRpb24gdGltZS4gVE9ETzogT25jZSB0aGVcbiAgICAgICAgICAgIC8vIGV2ZW50IHRpbWUgaXMgZXhhY3QgaW5zdGVhZCBvZiBpbmZlcnJlZCBmcm9tIGV4cGlyYXRpb24gdGltZVxuICAgICAgICAgICAgLy8gd2UgZG9uJ3QgbmVlZCB0aGlzLlxuXG4gICAgICAgICAgICBpZiAodGltZVVudGlsRXhwaXJhdGlvbk1zIDwgX21zVW50aWxUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIF9tc1VudGlsVGltZW91dCA9IHRpbWVVbnRpbEV4cGlyYXRpb25NcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IC8vIERvbid0IGJvdGhlciB3aXRoIGEgdmVyeSBzaG9ydCBzdXNwZW5zZSB0aW1lLlxuXG5cbiAgICAgICAgICBpZiAoX21zVW50aWxUaW1lb3V0ID4gMTApIHtcbiAgICAgICAgICAgIC8vIFRoZSByZW5kZXIgaXMgc3VzcGVuZGVkLCBpdCBoYXNuJ3QgdGltZWQgb3V0LCBhbmQgdGhlcmUncyBub1xuICAgICAgICAgICAgLy8gbG93ZXIgcHJpb3JpdHkgd29yayB0byBkby4gSW5zdGVhZCBvZiBjb21taXR0aW5nIHRoZSBmYWxsYmFja1xuICAgICAgICAgICAgLy8gaW1tZWRpYXRlbHksIHdhaXQgZm9yIG1vcmUgZGF0YSB0byBhcnJpdmUuXG4gICAgICAgICAgICByb290LnRpbWVvdXRIYW5kbGUgPSBzY2hlZHVsZVRpbWVvdXQoY29tbWl0Um9vdC5iaW5kKG51bGwsIHJvb3QpLCBfbXNVbnRpbFRpbWVvdXQpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9IC8vIFRoZSB3b3JrIGV4cGlyZWQuIENvbW1pdCBpbW1lZGlhdGVseS5cblxuXG4gICAgICAgIGNvbW1pdFJvb3Qocm9vdCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgY2FzZSBSb290Q29tcGxldGVkOlxuICAgICAge1xuICAgICAgICAvLyBUaGUgd29yayBjb21wbGV0ZWQuIFJlYWR5IHRvIGNvbW1pdC5cbiAgICAgICAgaWYgKCAvLyBkbyBub3QgZGVsYXkgaWYgd2UncmUgaW5zaWRlIGFuIGFjdCgpIHNjb3BlXG4gICAgICAgICEoIElzVGhpc1JlbmRlcmVyQWN0aW5nLmN1cnJlbnQpICYmIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lICE9PSBTeW5jICYmIHdvcmtJblByb2dyZXNzUm9vdENhblN1c3BlbmRVc2luZ0NvbmZpZyAhPT0gbnVsbCkge1xuICAgICAgICAgIC8vIElmIHdlIGhhdmUgZXhjZWVkZWQgdGhlIG1pbmltdW0gbG9hZGluZyBkZWxheSwgd2hpY2ggcHJvYmFibHlcbiAgICAgICAgICAvLyBtZWFucyB3ZSBoYXZlIHNob3duIGEgc3Bpbm5lciBhbHJlYWR5LCB3ZSBtaWdodCBoYXZlIHRvIHN1c3BlbmRcbiAgICAgICAgICAvLyBhIGJpdCBsb25nZXIgdG8gZW5zdXJlIHRoYXQgdGhlIHNwaW5uZXIgaXMgc2hvd24gZm9yXG4gICAgICAgICAgLy8gZW5vdWdoIHRpbWUuXG4gICAgICAgICAgdmFyIF9tc1VudGlsVGltZW91dDIgPSBjb21wdXRlTXNVbnRpbFN1c3BlbnNlTG9hZGluZ0RlbGF5KHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lLCBleHBpcmF0aW9uVGltZSwgd29ya0luUHJvZ3Jlc3NSb290Q2FuU3VzcGVuZFVzaW5nQ29uZmlnKTtcblxuICAgICAgICAgIGlmIChfbXNVbnRpbFRpbWVvdXQyID4gMTApIHtcbiAgICAgICAgICAgIG1hcmtSb290U3VzcGVuZGVkQXRUaW1lKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgICAgICAgIHJvb3QudGltZW91dEhhbmRsZSA9IHNjaGVkdWxlVGltZW91dChjb21taXRSb290LmJpbmQobnVsbCwgcm9vdCksIF9tc1VudGlsVGltZW91dDIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29tbWl0Um9vdChyb290KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICBkZWZhdWx0OlxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAge1xuICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiVW5rbm93biByb290IGV4aXQgc3RhdHVzLlwiICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn0gLy8gVGhpcyBpcyB0aGUgZW50cnkgcG9pbnQgZm9yIHN5bmNocm9ub3VzIHRhc2tzIHRoYXQgZG9uJ3QgZ29cbi8vIHRocm91Z2ggU2NoZWR1bGVyXG5cblxuZnVuY3Rpb24gcGVyZm9ybVN5bmNXb3JrT25Sb290KHJvb3QpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlcmUncyBleHBpcmVkIHdvcmsgb24gdGhpcyByb290LiBPdGhlcndpc2UsIHJlbmRlciBhdCBTeW5jLlxuICB2YXIgbGFzdEV4cGlyZWRUaW1lID0gcm9vdC5sYXN0RXhwaXJlZFRpbWU7XG4gIHZhciBleHBpcmF0aW9uVGltZSA9IGxhc3RFeHBpcmVkVGltZSAhPT0gTm9Xb3JrID8gbGFzdEV4cGlyZWRUaW1lIDogU3luYztcblxuICBpZiAoISgoZXhlY3V0aW9uQ29udGV4dCAmIChSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpID09PSBOb0NvbnRleHQpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiU2hvdWxkIG5vdCBhbHJlYWR5IGJlIHdvcmtpbmcuXCIgKTtcbiAgICB9XG4gIH1cblxuICBmbHVzaFBhc3NpdmVFZmZlY3RzKCk7IC8vIElmIHRoZSByb290IG9yIGV4cGlyYXRpb24gdGltZSBoYXZlIGNoYW5nZWQsIHRocm93IG91dCB0aGUgZXhpc3Rpbmcgc3RhY2tcbiAgLy8gYW5kIHByZXBhcmUgYSBmcmVzaCBvbmUuIE90aGVyd2lzZSB3ZSdsbCBjb250aW51ZSB3aGVyZSB3ZSBsZWZ0IG9mZi5cblxuICBpZiAocm9vdCAhPT0gd29ya0luUHJvZ3Jlc3NSb290IHx8IGV4cGlyYXRpb25UaW1lICE9PSByZW5kZXJFeHBpcmF0aW9uVGltZSQxKSB7XG4gICAgcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpO1xuICAgIHN0YXJ0V29ya09uUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZSk7XG4gIH0gLy8gSWYgd2UgaGF2ZSBhIHdvcmstaW4tcHJvZ3Jlc3MgZmliZXIsIGl0IG1lYW5zIHRoZXJlJ3Mgc3RpbGwgd29yayB0byBkb1xuICAvLyBpbiB0aGlzIHJvb3QuXG5cblxuICBpZiAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gUmVuZGVyQ29udGV4dDtcbiAgICB2YXIgcHJldkRpc3BhdGNoZXIgPSBwdXNoRGlzcGF0Y2hlcigpO1xuICAgIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gcHVzaEludGVyYWN0aW9ucyhyb290KTtcbiAgICBzdGFydFdvcmtMb29wVGltZXIod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgZG8ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgd29ya0xvb3BTeW5jKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBjYXRjaCAodGhyb3duVmFsdWUpIHtcbiAgICAgICAgaGFuZGxlRXJyb3Iocm9vdCwgdGhyb3duVmFsdWUpO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKHRydWUpO1xuXG4gICAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xuICAgIHBvcERpc3BhdGNoZXIocHJldkRpc3BhdGNoZXIpO1xuXG4gICAge1xuICAgICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290RmF0YWxFcnJvcmVkKSB7XG4gICAgICB2YXIgZmF0YWxFcnJvciA9IHdvcmtJblByb2dyZXNzUm9vdEZhdGFsRXJyb3I7XG4gICAgICBzdG9wSW50ZXJydXB0ZWRXb3JrTG9vcFRpbWVyKCk7XG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCBleHBpcmF0aW9uVGltZSk7XG4gICAgICBtYXJrUm9vdFN1c3BlbmRlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSk7XG4gICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gICAgICB0aHJvdyBmYXRhbEVycm9yO1xuICAgIH1cblxuICAgIGlmICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCkge1xuICAgICAgLy8gVGhpcyBpcyBhIHN5bmMgcmVuZGVyLCBzbyB3ZSBzaG91bGQgaGF2ZSBmaW5pc2hlZCB0aGUgd2hvbGUgdHJlZS5cbiAgICAgIHtcbiAgICAgICAge1xuICAgICAgICAgIHRocm93IEVycm9yKCBcIkNhbm5vdCBjb21taXQgYW4gaW5jb21wbGV0ZSByb290LiBUaGlzIGVycm9yIGlzIGxpa2VseSBjYXVzZWQgYnkgYSBidWcgaW4gUmVhY3QuIFBsZWFzZSBmaWxlIGFuIGlzc3VlLlwiICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gV2Ugbm93IGhhdmUgYSBjb25zaXN0ZW50IHRyZWUuIEJlY2F1c2UgdGhpcyBpcyBhIHN5bmMgcmVuZGVyLCB3ZVxuICAgICAgLy8gd2lsbCBjb21taXQgaXQgZXZlbiBpZiBzb21ldGhpbmcgc3VzcGVuZGVkLlxuICAgICAgc3RvcEZpbmlzaGVkV29ya0xvb3BUaW1lcigpO1xuICAgICAgcm9vdC5maW5pc2hlZFdvcmsgPSByb290LmN1cnJlbnQuYWx0ZXJuYXRlO1xuICAgICAgcm9vdC5maW5pc2hlZEV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gICAgICBmaW5pc2hTeW5jUmVuZGVyKHJvb3QpO1xuICAgIH0gLy8gQmVmb3JlIGV4aXRpbmcsIG1ha2Ugc3VyZSB0aGVyZSdzIGEgY2FsbGJhY2sgc2NoZWR1bGVkIGZvciB0aGUgbmV4dFxuICAgIC8vIHBlbmRpbmcgbGV2ZWwuXG5cblxuICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5mdW5jdGlvbiBmaW5pc2hTeW5jUmVuZGVyKHJvb3QpIHtcbiAgLy8gU2V0IHRoaXMgdG8gbnVsbCB0byBpbmRpY2F0ZSB0aGVyZSdzIG5vIGluLXByb2dyZXNzIHJlbmRlci5cbiAgd29ya0luUHJvZ3Jlc3NSb290ID0gbnVsbDtcbiAgY29tbWl0Um9vdChyb290KTtcbn1cbmZ1bmN0aW9uIGZsdXNoRGlzY3JldGVVcGRhdGVzKCkge1xuICAvLyBUT0RPOiBTaG91bGQgYmUgYWJsZSB0byBmbHVzaCBpbnNpZGUgYmF0Y2hlZFVwZGF0ZXMsIGJ1dCBub3QgaW5zaWRlIGBhY3RgLlxuICAvLyBIb3dldmVyLCBgYWN0YCB1c2VzIGBiYXRjaGVkVXBkYXRlc2AsIHNvIHRoZXJlJ3Mgbm8gd2F5IHRvIGRpc3Rpbmd1aXNoXG4gIC8vIHRob3NlIHR3byBjYXNlcy4gTmVlZCB0byBmaXggdGhpcyBiZWZvcmUgZXhwb3NpbmcgZmx1c2hEaXNjcmV0ZVVwZGF0ZXNcbiAgLy8gYXMgYSBwdWJsaWMgQVBJLlxuICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiAoQmF0Y2hlZENvbnRleHQgfCBSZW5kZXJDb250ZXh0IHwgQ29tbWl0Q29udGV4dCkpICE9PSBOb0NvbnRleHQpIHtcbiAgICB7XG4gICAgICBpZiAoKGV4ZWN1dGlvbkNvbnRleHQgJiBSZW5kZXJDb250ZXh0KSAhPT0gTm9Db250ZXh0KSB7XG4gICAgICAgIGVycm9yKCd1bnN0YWJsZV9mbHVzaERpc2NyZXRlVXBkYXRlczogQ2Fubm90IGZsdXNoIHVwZGF0ZXMgd2hlbiBSZWFjdCBpcyAnICsgJ2FscmVhZHkgcmVuZGVyaW5nLicpO1xuICAgICAgfVxuICAgIH0gLy8gV2UncmUgYWxyZWFkeSByZW5kZXJpbmcsIHNvIHdlIGNhbid0IHN5bmNocm9ub3VzbHkgZmx1c2ggcGVuZGluZyB3b3JrLlxuICAgIC8vIFRoaXMgaXMgcHJvYmFibHkgYSBuZXN0ZWQgZXZlbnQgZGlzcGF0Y2ggdHJpZ2dlcmVkIGJ5IGEgbGlmZWN5Y2xlL2VmZmVjdCxcbiAgICAvLyBsaWtlIGBlbC5mb2N1cygpYC4gRXhpdC5cblxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZmx1c2hQZW5kaW5nRGlzY3JldGVVcGRhdGVzKCk7IC8vIElmIHRoZSBkaXNjcmV0ZSB1cGRhdGVzIHNjaGVkdWxlZCBwYXNzaXZlIGVmZmVjdHMsIGZsdXNoIHRoZW0gbm93IHNvIHRoYXRcbiAgLy8gdGhleSBmaXJlIGJlZm9yZSB0aGUgbmV4dCBzZXJpYWwgZXZlbnQuXG5cbiAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xufVxuZnVuY3Rpb24gc3luY1VwZGF0ZXMoZm4sIGEsIGIsIGMpIHtcbiAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKEltbWVkaWF0ZVByaW9yaXR5LCBmbi5iaW5kKG51bGwsIGEsIGIsIGMpKTtcbn1cblxuZnVuY3Rpb24gZmx1c2hQZW5kaW5nRGlzY3JldGVVcGRhdGVzKCkge1xuICBpZiAocm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcyAhPT0gbnVsbCkge1xuICAgIC8vIEZvciBlYWNoIHJvb3Qgd2l0aCBwZW5kaW5nIGRpc2NyZXRlIHVwZGF0ZXMsIHNjaGVkdWxlIGEgY2FsbGJhY2sgdG9cbiAgICAvLyBpbW1lZGlhdGVseSBmbHVzaCB0aGVtLlxuICAgIHZhciByb290cyA9IHJvb3RzV2l0aFBlbmRpbmdEaXNjcmV0ZVVwZGF0ZXM7XG4gICAgcm9vdHNXaXRoUGVuZGluZ0Rpc2NyZXRlVXBkYXRlcyA9IG51bGw7XG4gICAgcm9vdHMuZm9yRWFjaChmdW5jdGlvbiAoZXhwaXJhdGlvblRpbWUsIHJvb3QpIHtcbiAgICAgIG1hcmtSb290RXhwaXJlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSk7XG4gICAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gICAgfSk7IC8vIE5vdyBmbHVzaCB0aGUgaW1tZWRpYXRlIHF1ZXVlLlxuXG4gICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhdGNoZWRVcGRhdGVzJDEoZm4sIGEpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBCYXRjaGVkQ29udGV4dDtcblxuICB0cnkge1xuICAgIHJldHVybiBmbihhKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBGbHVzaCB0aGUgaW1tZWRpYXRlIGNhbGxiYWNrcyB0aGF0IHdlcmUgc2NoZWR1bGVkIGR1cmluZyB0aGlzIGJhdGNoXG4gICAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBiYXRjaGVkRXZlbnRVcGRhdGVzJDEoZm4sIGEpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBFdmVudENvbnRleHQ7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oYSk7XG4gIH0gZmluYWxseSB7XG4gICAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xuXG4gICAgaWYgKGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCkge1xuICAgICAgLy8gRmx1c2ggdGhlIGltbWVkaWF0ZSBjYWxsYmFja3MgdGhhdCB3ZXJlIHNjaGVkdWxlZCBkdXJpbmcgdGhpcyBiYXRjaFxuICAgICAgZmx1c2hTeW5jQ2FsbGJhY2tRdWV1ZSgpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZGlzY3JldGVVcGRhdGVzJDEoZm4sIGEsIGIsIGMsIGQpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCB8PSBEaXNjcmV0ZUV2ZW50Q29udGV4dDtcblxuICB0cnkge1xuICAgIC8vIFNob3VsZCB0aGlzXG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKFVzZXJCbG9ja2luZ1ByaW9yaXR5JDEsIGZuLmJpbmQobnVsbCwgYSwgYiwgYywgZCkpO1xuICB9IGZpbmFsbHkge1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgPSBwcmV2RXhlY3V0aW9uQ29udGV4dDtcblxuICAgIGlmIChleGVjdXRpb25Db250ZXh0ID09PSBOb0NvbnRleHQpIHtcbiAgICAgIC8vIEZsdXNoIHRoZSBpbW1lZGlhdGUgY2FsbGJhY2tzIHRoYXQgd2VyZSBzY2hlZHVsZWQgZHVyaW5nIHRoaXMgYmF0Y2hcbiAgICAgIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHVuYmF0Y2hlZFVwZGF0ZXMoZm4sIGEpIHtcbiAgdmFyIHByZXZFeGVjdXRpb25Db250ZXh0ID0gZXhlY3V0aW9uQ29udGV4dDtcbiAgZXhlY3V0aW9uQ29udGV4dCAmPSB+QmF0Y2hlZENvbnRleHQ7XG4gIGV4ZWN1dGlvbkNvbnRleHQgfD0gTGVnYWN5VW5iYXRjaGVkQ29udGV4dDtcblxuICB0cnkge1xuICAgIHJldHVybiBmbihhKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG5cbiAgICBpZiAoZXhlY3V0aW9uQ29udGV4dCA9PT0gTm9Db250ZXh0KSB7XG4gICAgICAvLyBGbHVzaCB0aGUgaW1tZWRpYXRlIGNhbGxiYWNrcyB0aGF0IHdlcmUgc2NoZWR1bGVkIGR1cmluZyB0aGlzIGJhdGNoXG4gICAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBmbHVzaFN5bmMoZm4sIGEpIHtcbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgKFJlbmRlckNvbnRleHQgfCBDb21taXRDb250ZXh0KSkgIT09IE5vQ29udGV4dCkge1xuICAgIHtcbiAgICAgIHtcbiAgICAgICAgdGhyb3cgRXJyb3IoIFwiZmx1c2hTeW5jIHdhcyBjYWxsZWQgZnJvbSBpbnNpZGUgYSBsaWZlY3ljbGUgbWV0aG9kLiBJdCBjYW5ub3QgYmUgY2FsbGVkIHdoZW4gUmVhY3QgaXMgYWxyZWFkeSByZW5kZXJpbmcuXCIgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IEJhdGNoZWRDb250ZXh0O1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKEltbWVkaWF0ZVByaW9yaXR5LCBmbi5iaW5kKG51bGwsIGEpKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7IC8vIEZsdXNoIHRoZSBpbW1lZGlhdGUgY2FsbGJhY2tzIHRoYXQgd2VyZSBzY2hlZHVsZWQgZHVyaW5nIHRoaXMgYmF0Y2guXG4gICAgLy8gTm90ZSB0aGF0IHRoaXMgd2lsbCBoYXBwZW4gZXZlbiBpZiBiYXRjaGVkVXBkYXRlcyBpcyBoaWdoZXIgdXBcbiAgICAvLyB0aGUgc3RhY2suXG5cbiAgICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJlcGFyZUZyZXNoU3RhY2socm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xuICByb290LmZpbmlzaGVkRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG4gIHZhciB0aW1lb3V0SGFuZGxlID0gcm9vdC50aW1lb3V0SGFuZGxlO1xuXG4gIGlmICh0aW1lb3V0SGFuZGxlICE9PSBub1RpbWVvdXQpIHtcbiAgICAvLyBUaGUgcm9vdCBwcmV2aW91cyBzdXNwZW5kZWQgYW5kIHNjaGVkdWxlZCBhIHRpbWVvdXQgdG8gY29tbWl0IGEgZmFsbGJhY2tcbiAgICAvLyBzdGF0ZS4gTm93IHRoYXQgd2UgaGF2ZSBhZGRpdGlvbmFsIHdvcmssIGNhbmNlbCB0aGUgdGltZW91dC5cbiAgICByb290LnRpbWVvdXRIYW5kbGUgPSBub1RpbWVvdXQ7IC8vICRGbG93Rml4TWUgQ29tcGxhaW5zIG5vVGltZW91dCBpcyBub3QgYSBUaW1lb3V0SUQsIGRlc3BpdGUgdGhlIGNoZWNrIGFib3ZlXG5cbiAgICBjYW5jZWxUaW1lb3V0KHRpbWVvdXRIYW5kbGUpO1xuICB9XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzICE9PSBudWxsKSB7XG4gICAgdmFyIGludGVycnVwdGVkV29yayA9IHdvcmtJblByb2dyZXNzLnJldHVybjtcblxuICAgIHdoaWxlIChpbnRlcnJ1cHRlZFdvcmsgIT09IG51bGwpIHtcbiAgICAgIHVud2luZEludGVycnVwdGVkV29yayhpbnRlcnJ1cHRlZFdvcmspO1xuICAgICAgaW50ZXJydXB0ZWRXb3JrID0gaW50ZXJydXB0ZWRXb3JrLnJldHVybjtcbiAgICB9XG4gIH1cblxuICB3b3JrSW5Qcm9ncmVzc1Jvb3QgPSByb290O1xuICB3b3JrSW5Qcm9ncmVzcyA9IGNyZWF0ZVdvcmtJblByb2dyZXNzKHJvb3QuY3VycmVudCwgbnVsbCk7XG4gIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPSBleHBpcmF0aW9uVGltZTtcbiAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RJbmNvbXBsZXRlO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gbnVsbDtcbiAgd29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0UHJvY2Vzc2VkRXhwaXJhdGlvblRpbWUgPSBTeW5jO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RTdXNwZW5zZVRpbWVvdXQgPSBTeW5jO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RDYW5TdXNwZW5kVXNpbmdDb25maWcgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3ROZXh0VW5wcm9jZXNzZWRVcGRhdGVUaW1lID0gTm9Xb3JrO1xuICB3b3JrSW5Qcm9ncmVzc1Jvb3RIYXNQZW5kaW5nUGluZyA9IGZhbHNlO1xuXG4gIHtcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IG51bGw7XG4gIH1cblxuICB7XG4gICAgUmVhY3RTdHJpY3RNb2RlV2FybmluZ3MuZGlzY2FyZFBlbmRpbmdXYXJuaW5ncygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUVycm9yKHJvb3QsIHRocm93blZhbHVlKSB7XG4gIGRvIHtcbiAgICB0cnkge1xuICAgICAgLy8gUmVzZXQgbW9kdWxlLWxldmVsIHN0YXRlIHRoYXQgd2FzIHNldCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZS5cbiAgICAgIHJlc2V0Q29udGV4dERlcGVuZGVuY2llcygpO1xuICAgICAgcmVzZXRIb29rc0FmdGVyVGhyb3coKTtcbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG5cbiAgICAgIGlmICh3b3JrSW5Qcm9ncmVzcyA9PT0gbnVsbCB8fCB3b3JrSW5Qcm9ncmVzcy5yZXR1cm4gPT09IG51bGwpIHtcbiAgICAgICAgLy8gRXhwZWN0ZWQgdG8gYmUgd29ya2luZyBvbiBhIG5vbi1yb290IGZpYmVyLiBUaGlzIGlzIGEgZmF0YWwgZXJyb3JcbiAgICAgICAgLy8gYmVjYXVzZSB0aGVyZSdzIG5vIGFuY2VzdG9yIHRoYXQgY2FuIGhhbmRsZSBpdDsgdGhlIHJvb3QgaXNcbiAgICAgICAgLy8gc3VwcG9zZWQgdG8gY2FwdHVyZSBhbGwgZXJyb3JzIHRoYXQgd2VyZW4ndCBjYXVnaHQgYnkgYW4gZXJyb3JcbiAgICAgICAgLy8gYm91bmRhcnkuXG4gICAgICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290RmF0YWxFcnJvcmVkO1xuICAgICAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RGYXRhbEVycm9yID0gdGhyb3duVmFsdWU7IC8vIFNldCBgd29ya0luUHJvZ3Jlc3NgIHRvIG51bGwuIFRoaXMgcmVwcmVzZW50cyBhZHZhbmNpbmcgdG8gdGhlIG5leHRcbiAgICAgICAgLy8gc2libGluZywgb3IgdGhlIHBhcmVudCBpZiB0aGVyZSBhcmUgbm8gc2libGluZ3MuIEJ1dCBzaW5jZSB0aGUgcm9vdFxuICAgICAgICAvLyBoYXMgbm8gc2libGluZ3Mgbm9yIGEgcGFyZW50LCB3ZSBzZXQgaXQgdG8gbnVsbC4gVXN1YWxseSB0aGlzIGlzXG4gICAgICAgIC8vIGhhbmRsZWQgYnkgYGNvbXBsZXRlVW5pdE9mV29ya2Agb3IgYHVud2luZFdvcmtgLCBidXQgc2luY2Ugd2UncmVcbiAgICAgICAgLy8gaW50ZXJudGlvbmFsbHkgbm90IGNhbGxpbmcgdGhvc2UsIHdlIG5lZWQgc2V0IGl0IGhlcmUuXG4gICAgICAgIC8vIFRPRE86IENvbnNpZGVyIGNhbGxpbmcgYHVud2luZFdvcmtgIHRvIHBvcCB0aGUgY29udGV4dHMuXG5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MgPSBudWxsO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cblxuICAgICAgaWYgKGVuYWJsZVByb2ZpbGVyVGltZXIgJiYgd29ya0luUHJvZ3Jlc3MubW9kZSAmIFByb2ZpbGVNb2RlKSB7XG4gICAgICAgIC8vIFJlY29yZCB0aGUgdGltZSBzcGVudCByZW5kZXJpbmcgYmVmb3JlIGFuIGVycm9yIHdhcyB0aHJvd24uIFRoaXNcbiAgICAgICAgLy8gYXZvaWRzIGluYWNjdXJhdGUgUHJvZmlsZXIgZHVyYXRpb25zIGluIHRoZSBjYXNlIG9mIGFcbiAgICAgICAgLy8gc3VzcGVuZGVkIHJlbmRlci5cbiAgICAgICAgc3RvcFByb2ZpbGVyVGltZXJJZlJ1bm5pbmdBbmRSZWNvcmREZWx0YSh3b3JrSW5Qcm9ncmVzcywgdHJ1ZSk7XG4gICAgICB9XG5cbiAgICAgIHRocm93RXhjZXB0aW9uKHJvb3QsIHdvcmtJblByb2dyZXNzLnJldHVybiwgd29ya0luUHJvZ3Jlc3MsIHRocm93blZhbHVlLCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgICAgIHdvcmtJblByb2dyZXNzID0gY29tcGxldGVVbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcbiAgICB9IGNhdGNoICh5ZXRBbm90aGVyVGhyb3duVmFsdWUpIHtcbiAgICAgIC8vIFNvbWV0aGluZyBpbiB0aGUgcmV0dXJuIHBhdGggYWxzbyB0aHJldy5cbiAgICAgIHRocm93blZhbHVlID0geWV0QW5vdGhlclRocm93blZhbHVlO1xuICAgICAgY29udGludWU7XG4gICAgfSAvLyBSZXR1cm4gdG8gdGhlIG5vcm1hbCB3b3JrIGxvb3AuXG5cblxuICAgIHJldHVybjtcbiAgfSB3aGlsZSAodHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIHB1c2hEaXNwYXRjaGVyKHJvb3QpIHtcbiAgdmFyIHByZXZEaXNwYXRjaGVyID0gUmVhY3RDdXJyZW50RGlzcGF0Y2hlciQxLmN1cnJlbnQ7XG4gIFJlYWN0Q3VycmVudERpc3BhdGNoZXIkMS5jdXJyZW50ID0gQ29udGV4dE9ubHlEaXNwYXRjaGVyO1xuXG4gIGlmIChwcmV2RGlzcGF0Y2hlciA9PT0gbnVsbCkge1xuICAgIC8vIFRoZSBSZWFjdCBpc29tb3JwaGljIHBhY2thZ2UgZG9lcyBub3QgaW5jbHVkZSBhIGRlZmF1bHQgZGlzcGF0Y2hlci5cbiAgICAvLyBJbnN0ZWFkIHRoZSBmaXJzdCByZW5kZXJlciB3aWxsIGxhemlseSBhdHRhY2ggb25lLCBpbiBvcmRlciB0byBnaXZlXG4gICAgLy8gbmljZXIgZXJyb3IgbWVzc2FnZXMuXG4gICAgcmV0dXJuIENvbnRleHRPbmx5RGlzcGF0Y2hlcjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcHJldkRpc3BhdGNoZXI7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wRGlzcGF0Y2hlcihwcmV2RGlzcGF0Y2hlcikge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyJDEuY3VycmVudCA9IHByZXZEaXNwYXRjaGVyO1xufVxuXG5mdW5jdGlvbiBwdXNoSW50ZXJhY3Rpb25zKHJvb3QpIHtcbiAge1xuICAgIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gdHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50O1xuICAgIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnM7XG4gICAgcmV0dXJuIHByZXZJbnRlcmFjdGlvbnM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpIHtcbiAge1xuICAgIHRyYWNpbmcuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya0NvbW1pdFRpbWVPZkZhbGxiYWNrKCkge1xuICBnbG9iYWxNb3N0UmVjZW50RmFsbGJhY2tUaW1lID0gbm93KCk7XG59XG5mdW5jdGlvbiBtYXJrUmVuZGVyRXZlbnRUaW1lQW5kQ29uZmlnKGV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZykge1xuICBpZiAoZXhwaXJhdGlvblRpbWUgPCB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSAmJiBleHBpcmF0aW9uVGltZSA+IElkbGUpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3RMYXRlc3RQcm9jZXNzZWRFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xuICB9XG5cbiAgaWYgKHN1c3BlbnNlQ29uZmlnICE9PSBudWxsKSB7XG4gICAgaWYgKGV4cGlyYXRpb25UaW1lIDwgd29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0U3VzcGVuc2VUaW1lb3V0ICYmIGV4cGlyYXRpb25UaW1lID4gSWRsZSkge1xuICAgICAgd29ya0luUHJvZ3Jlc3NSb290TGF0ZXN0U3VzcGVuc2VUaW1lb3V0ID0gZXhwaXJhdGlvblRpbWU7IC8vIE1vc3Qgb2YgdGhlIHRpbWUgd2Ugb25seSBoYXZlIG9uZSBjb25maWcgYW5kIGdldHRpbmcgd3JvbmcgaXMgbm90IGJhZC5cblxuICAgICAgd29ya0luUHJvZ3Jlc3NSb290Q2FuU3VzcGVuZFVzaW5nQ29uZmlnID0gc3VzcGVuc2VDb25maWc7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrVW5wcm9jZXNzZWRVcGRhdGVUaW1lKGV4cGlyYXRpb25UaW1lKSB7XG4gIGlmIChleHBpcmF0aW9uVGltZSA+IHdvcmtJblByb2dyZXNzUm9vdE5leHRVbnByb2Nlc3NlZFVwZGF0ZVRpbWUpIHtcbiAgICB3b3JrSW5Qcm9ncmVzc1Jvb3ROZXh0VW5wcm9jZXNzZWRVcGRhdGVUaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlbmRlckRpZFN1c3BlbmQoKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5jb21wbGV0ZSkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290U3VzcGVuZGVkO1xuICB9XG59XG5mdW5jdGlvbiByZW5kZXJEaWRTdXNwZW5kRGVsYXlJZlBvc3NpYmxlKCkge1xuICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdEluY29tcGxldGUgfHwgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdFN1c3BlbmRlZCkge1xuICAgIHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPSBSb290U3VzcGVuZGVkV2l0aERlbGF5O1xuICB9IC8vIENoZWNrIGlmIHRoZXJlJ3MgYSBsb3dlciBwcmlvcml0eSB1cGRhdGUgc29tZXdoZXJlIGVsc2UgaW4gdGhlIHRyZWUuXG5cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290TmV4dFVucHJvY2Vzc2VkVXBkYXRlVGltZSAhPT0gTm9Xb3JrICYmIHdvcmtJblByb2dyZXNzUm9vdCAhPT0gbnVsbCkge1xuICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgcmVuZGVyIGFzIHN1c3BlbmRlZCwgYW5kIHRoZW4gbWFyayB0aGF0IHRoZXJlJ3MgYVxuICAgIC8vIHBlbmRpbmcgdXBkYXRlLlxuICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGltbWVkaWF0ZWx5IGludGVycnVwdCB0aGUgY3VycmVudCByZW5kZXIsIGluc3RlYWRcbiAgICAvLyBvZiB3YWl0aW5nIHVudGlsIHRoZSBuZXh0IHRpbWUgd2UgeWllbGQuXG4gICAgbWFya1Jvb3RTdXNwZW5kZWRBdFRpbWUod29ya0luUHJvZ3Jlc3NSb290LCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgICBtYXJrUm9vdFVwZGF0ZWRBdFRpbWUod29ya0luUHJvZ3Jlc3NSb290LCB3b3JrSW5Qcm9ncmVzc1Jvb3ROZXh0VW5wcm9jZXNzZWRVcGRhdGVUaW1lKTtcbiAgfVxufVxuZnVuY3Rpb24gcmVuZGVyRGlkRXJyb3IoKSB7XG4gIGlmICh3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzICE9PSBSb290Q29tcGxldGVkKSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RFcnJvcmVkO1xuICB9XG59IC8vIENhbGxlZCBkdXJpbmcgcmVuZGVyIHRvIGRldGVybWluZSBpZiBhbnl0aGluZyBoYXMgc3VzcGVuZGVkLlxuLy8gUmV0dXJucyBmYWxzZSBpZiB3ZSdyZSBub3Qgc3VyZS5cblxuZnVuY3Rpb24gcmVuZGVySGFzTm90U3VzcGVuZGVkWWV0KCkge1xuICAvLyBJZiBzb21ldGhpbmcgZXJyb3JlZCBvciBjb21wbGV0ZWQsIHdlIGNhbid0IHJlYWxseSBiZSBzdXJlLFxuICAvLyBzbyB0aG9zZSBhcmUgZmFsc2UuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290SW5jb21wbGV0ZTtcbn1cblxuZnVuY3Rpb24gaW5mZXJUaW1lRnJvbUV4cGlyYXRpb25UaW1lKGV4cGlyYXRpb25UaW1lKSB7XG4gIC8vIFdlIGRvbid0IGtub3cgZXhhY3RseSB3aGVuIHRoZSB1cGRhdGUgd2FzIHNjaGVkdWxlZCwgYnV0IHdlIGNhbiBpbmZlciBhblxuICAvLyBhcHByb3hpbWF0ZSBzdGFydCB0aW1lIGZyb20gdGhlIGV4cGlyYXRpb24gdGltZS5cbiAgdmFyIGVhcmxpZXN0RXhwaXJhdGlvblRpbWVNcyA9IGV4cGlyYXRpb25UaW1lVG9NcyhleHBpcmF0aW9uVGltZSk7XG4gIHJldHVybiBlYXJsaWVzdEV4cGlyYXRpb25UaW1lTXMgLSBMT1dfUFJJT1JJVFlfRVhQSVJBVElPTjtcbn1cblxuZnVuY3Rpb24gaW5mZXJUaW1lRnJvbUV4cGlyYXRpb25UaW1lV2l0aFN1c3BlbnNlQ29uZmlnKGV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZykge1xuICAvLyBXZSBkb24ndCBrbm93IGV4YWN0bHkgd2hlbiB0aGUgdXBkYXRlIHdhcyBzY2hlZHVsZWQsIGJ1dCB3ZSBjYW4gaW5mZXIgYW5cbiAgLy8gYXBwcm94aW1hdGUgc3RhcnQgdGltZSBmcm9tIHRoZSBleHBpcmF0aW9uIHRpbWUgYnkgc3VidHJhY3RpbmcgdGhlIHRpbWVvdXRcbiAgLy8gdGhhdCB3YXMgYWRkZWQgdG8gdGhlIGV2ZW50IHRpbWUuXG4gIHZhciBlYXJsaWVzdEV4cGlyYXRpb25UaW1lTXMgPSBleHBpcmF0aW9uVGltZVRvTXMoZXhwaXJhdGlvblRpbWUpO1xuICByZXR1cm4gZWFybGllc3RFeHBpcmF0aW9uVGltZU1zIC0gKHN1c3BlbnNlQ29uZmlnLnRpbWVvdXRNcyB8IDAgfHwgTE9XX1BSSU9SSVRZX0VYUElSQVRJT04pO1xufSAvLyBUaGUgd29yayBsb29wIGlzIGFuIGV4dHJlbWVseSBob3QgcGF0aC4gVGVsbCBDbG9zdXJlIG5vdCB0byBpbmxpbmUgaXQuXG5cbi8qKiBAbm9pbmxpbmUgKi9cblxuXG5mdW5jdGlvbiB3b3JrTG9vcFN5bmMoKSB7XG4gIC8vIEFscmVhZHkgdGltZWQgb3V0LCBzbyBwZXJmb3JtIHdvcmsgd2l0aG91dCBjaGVja2luZyBpZiB3ZSBuZWVkIHRvIHlpZWxkLlxuICB3aGlsZSAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpIHtcbiAgICB3b3JrSW5Qcm9ncmVzcyA9IHBlcmZvcm1Vbml0T2ZXb3JrKHdvcmtJblByb2dyZXNzKTtcbiAgfVxufVxuLyoqIEBub2lubGluZSAqL1xuXG5cbmZ1bmN0aW9uIHdvcmtMb29wQ29uY3VycmVudCgpIHtcbiAgLy8gUGVyZm9ybSB3b3JrIHVudGlsIFNjaGVkdWxlciBhc2tzIHVzIHRvIHlpZWxkXG4gIHdoaWxlICh3b3JrSW5Qcm9ncmVzcyAhPT0gbnVsbCAmJiAhc2hvdWxkWWllbGQoKSkge1xuICAgIHdvcmtJblByb2dyZXNzID0gcGVyZm9ybVVuaXRPZldvcmsod29ya0luUHJvZ3Jlc3MpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBlcmZvcm1Vbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAvLyBub3RoaW5nIHNob3VsZCByZWx5IG9uIHRoaXMsIGJ1dCByZWx5aW5nIG9uIGl0IGhlcmUgbWVhbnMgdGhhdCB3ZSBkb24ndFxuICAvLyBuZWVkIGFuIGFkZGl0aW9uYWwgZmllbGQgb24gdGhlIHdvcmsgaW4gcHJvZ3Jlc3MuXG4gIHZhciBjdXJyZW50ID0gdW5pdE9mV29yay5hbHRlcm5hdGU7XG4gIHN0YXJ0V29ya1RpbWVyKHVuaXRPZldvcmspO1xuICBzZXRDdXJyZW50RmliZXIodW5pdE9mV29yayk7XG4gIHZhciBuZXh0O1xuXG4gIGlmICggKHVuaXRPZldvcmsubW9kZSAmIFByb2ZpbGVNb2RlKSAhPT0gTm9Nb2RlKSB7XG4gICAgc3RhcnRQcm9maWxlclRpbWVyKHVuaXRPZldvcmspO1xuICAgIG5leHQgPSBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKHVuaXRPZldvcmssIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIG5leHQgPSBiZWdpbldvcmskMShjdXJyZW50LCB1bml0T2ZXb3JrLCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgfVxuXG4gIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gIHVuaXRPZldvcmsubWVtb2l6ZWRQcm9wcyA9IHVuaXRPZldvcmsucGVuZGluZ1Byb3BzO1xuXG4gIGlmIChuZXh0ID09PSBudWxsKSB7XG4gICAgLy8gSWYgdGhpcyBkb2Vzbid0IHNwYXduIG5ldyB3b3JrLCBjb21wbGV0ZSB0aGUgY3VycmVudCB3b3JrLlxuICAgIG5leHQgPSBjb21wbGV0ZVVuaXRPZldvcmsodW5pdE9mV29yayk7XG4gIH1cblxuICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSBudWxsO1xuICByZXR1cm4gbmV4dDtcbn1cblxuZnVuY3Rpb24gY29tcGxldGVVbml0T2ZXb3JrKHVuaXRPZldvcmspIHtcbiAgLy8gQXR0ZW1wdCB0byBjb21wbGV0ZSB0aGUgY3VycmVudCB1bml0IG9mIHdvcmssIHRoZW4gbW92ZSB0byB0aGUgbmV4dFxuICAvLyBzaWJsaW5nLiBJZiB0aGVyZSBhcmUgbm8gbW9yZSBzaWJsaW5ncywgcmV0dXJuIHRvIHRoZSBwYXJlbnQgZmliZXIuXG4gIHdvcmtJblByb2dyZXNzID0gdW5pdE9mV29yaztcblxuICBkbyB7XG4gICAgLy8gVGhlIGN1cnJlbnQsIGZsdXNoZWQsIHN0YXRlIG9mIHRoaXMgZmliZXIgaXMgdGhlIGFsdGVybmF0ZS4gSWRlYWxseVxuICAgIC8vIG5vdGhpbmcgc2hvdWxkIHJlbHkgb24gdGhpcywgYnV0IHJlbHlpbmcgb24gaXQgaGVyZSBtZWFucyB0aGF0IHdlIGRvbid0XG4gICAgLy8gbmVlZCBhbiBhZGRpdGlvbmFsIGZpZWxkIG9uIHRoZSB3b3JrIGluIHByb2dyZXNzLlxuICAgIHZhciBjdXJyZW50ID0gd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlO1xuICAgIHZhciByZXR1cm5GaWJlciA9IHdvcmtJblByb2dyZXNzLnJldHVybjsgLy8gQ2hlY2sgaWYgdGhlIHdvcmsgY29tcGxldGVkIG9yIGlmIHNvbWV0aGluZyB0aHJldy5cblxuICAgIGlmICgod29ya0luUHJvZ3Jlc3MuZWZmZWN0VGFnICYgSW5jb21wbGV0ZSkgPT09IE5vRWZmZWN0KSB7XG4gICAgICBzZXRDdXJyZW50RmliZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgdmFyIG5leHQgPSB2b2lkIDA7XG5cbiAgICAgIGlmICggKHdvcmtJblByb2dyZXNzLm1vZGUgJiBQcm9maWxlTW9kZSkgPT09IE5vTW9kZSkge1xuICAgICAgICBuZXh0ID0gY29tcGxldGVXb3JrKGN1cnJlbnQsIHdvcmtJblByb2dyZXNzLCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcih3b3JrSW5Qcm9ncmVzcyk7XG4gICAgICAgIG5leHQgPSBjb21wbGV0ZVdvcmsoY3VycmVudCwgd29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lJDEpOyAvLyBVcGRhdGUgcmVuZGVyIGR1cmF0aW9uIGFzc3VtaW5nIHdlIGRpZG4ndCBlcnJvci5cblxuICAgICAgICBzdG9wUHJvZmlsZXJUaW1lcklmUnVubmluZ0FuZFJlY29yZERlbHRhKHdvcmtJblByb2dyZXNzLCBmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIHN0b3BXb3JrVGltZXIod29ya0luUHJvZ3Jlc3MpO1xuICAgICAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgICAgIHJlc2V0Q2hpbGRFeHBpcmF0aW9uVGltZSh3b3JrSW5Qcm9ncmVzcyk7XG5cbiAgICAgIGlmIChuZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIENvbXBsZXRpbmcgdGhpcyBmaWJlciBzcGF3bmVkIG5ldyB3b3JrLiBXb3JrIG9uIHRoYXQgbmV4dC5cbiAgICAgICAgcmV0dXJuIG5leHQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXR1cm5GaWJlciAhPT0gbnVsbCAmJiAvLyBEbyBub3QgYXBwZW5kIGVmZmVjdHMgdG8gcGFyZW50cyBpZiBhIHNpYmxpbmcgZmFpbGVkIHRvIGNvbXBsZXRlXG4gICAgICAocmV0dXJuRmliZXIuZWZmZWN0VGFnICYgSW5jb21wbGV0ZSkgPT09IE5vRWZmZWN0KSB7XG4gICAgICAgIC8vIEFwcGVuZCBhbGwgdGhlIGVmZmVjdHMgb2YgdGhlIHN1YnRyZWUgYW5kIHRoaXMgZmliZXIgb250byB0aGUgZWZmZWN0XG4gICAgICAgIC8vIGxpc3Qgb2YgdGhlIHBhcmVudC4gVGhlIGNvbXBsZXRpb24gb3JkZXIgb2YgdGhlIGNoaWxkcmVuIGFmZmVjdHMgdGhlXG4gICAgICAgIC8vIHNpZGUtZWZmZWN0IG9yZGVyLlxuICAgICAgICBpZiAocmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPT09IG51bGwpIHtcbiAgICAgICAgICByZXR1cm5GaWJlci5maXJzdEVmZmVjdCA9IHdvcmtJblByb2dyZXNzLmZpcnN0RWZmZWN0O1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHdvcmtJblByb2dyZXNzLmxhc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgICAgICBpZiAocmV0dXJuRmliZXIubGFzdEVmZmVjdCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdC5uZXh0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3Q7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuRmliZXIubGFzdEVmZmVjdCA9IHdvcmtJblByb2dyZXNzLmxhc3RFZmZlY3Q7XG4gICAgICAgIH0gLy8gSWYgdGhpcyBmaWJlciBoYWQgc2lkZS1lZmZlY3RzLCB3ZSBhcHBlbmQgaXQgQUZURVIgdGhlIGNoaWxkcmVuJ3NcbiAgICAgICAgLy8gc2lkZS1lZmZlY3RzLiBXZSBjYW4gcGVyZm9ybSBjZXJ0YWluIHNpZGUtZWZmZWN0cyBlYXJsaWVyIGlmIG5lZWRlZCxcbiAgICAgICAgLy8gYnkgZG9pbmcgbXVsdGlwbGUgcGFzc2VzIG92ZXIgdGhlIGVmZmVjdCBsaXN0LiBXZSBkb24ndCB3YW50IHRvXG4gICAgICAgIC8vIHNjaGVkdWxlIG91ciBvd24gc2lkZS1lZmZlY3Qgb24gb3VyIG93biBsaXN0IGJlY2F1c2UgaWYgZW5kIHVwXG4gICAgICAgIC8vIHJldXNpbmcgY2hpbGRyZW4gd2UnbGwgc2NoZWR1bGUgdGhpcyBlZmZlY3Qgb250byBpdHNlbGYgc2luY2Ugd2UncmVcbiAgICAgICAgLy8gYXQgdGhlIGVuZC5cblxuXG4gICAgICAgIHZhciBlZmZlY3RUYWcgPSB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWc7IC8vIFNraXAgYm90aCBOb1dvcmsgYW5kIFBlcmZvcm1lZFdvcmsgdGFncyB3aGVuIGNyZWF0aW5nIHRoZSBlZmZlY3RcbiAgICAgICAgLy8gbGlzdC4gUGVyZm9ybWVkV29yayBlZmZlY3QgaXMgcmVhZCBieSBSZWFjdCBEZXZUb29scyBidXQgc2hvdWxkbid0IGJlXG4gICAgICAgIC8vIGNvbW1pdHRlZC5cblxuICAgICAgICBpZiAoZWZmZWN0VGFnID4gUGVyZm9ybWVkV29yaykge1xuICAgICAgICAgIGlmIChyZXR1cm5GaWJlci5sYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0Lm5leHRFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSB3b3JrSW5Qcm9ncmVzcztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gd29ya0luUHJvZ3Jlc3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBmaWJlciBkaWQgbm90IGNvbXBsZXRlIGJlY2F1c2Ugc29tZXRoaW5nIHRocmV3LiBQb3AgdmFsdWVzIG9mZlxuICAgICAgLy8gdGhlIHN0YWNrIHdpdGhvdXQgZW50ZXJpbmcgdGhlIGNvbXBsZXRlIHBoYXNlLiBJZiB0aGlzIGlzIGEgYm91bmRhcnksXG4gICAgICAvLyBjYXB0dXJlIHZhbHVlcyBpZiBwb3NzaWJsZS5cbiAgICAgIHZhciBfbmV4dCA9IHVud2luZFdvcmsod29ya0luUHJvZ3Jlc3MpOyAvLyBCZWNhdXNlIHRoaXMgZmliZXIgZGlkIG5vdCBjb21wbGV0ZSwgZG9uJ3QgcmVzZXQgaXRzIGV4cGlyYXRpb24gdGltZS5cblxuXG4gICAgICBpZiAoICh3b3JrSW5Qcm9ncmVzcy5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAgICAgLy8gUmVjb3JkIHRoZSByZW5kZXIgZHVyYXRpb24gZm9yIHRoZSBmaWJlciB0aGF0IGVycm9yZWQuXG4gICAgICAgIHN0b3BQcm9maWxlclRpbWVySWZSdW5uaW5nQW5kUmVjb3JkRGVsdGEod29ya0luUHJvZ3Jlc3MsIGZhbHNlKTsgLy8gSW5jbHVkZSB0aGUgdGltZSBzcGVudCB3b3JraW5nIG9uIGZhaWxlZCBjaGlsZHJlbiBiZWZvcmUgY29udGludWluZy5cblxuICAgICAgICB2YXIgYWN0dWFsRHVyYXRpb24gPSB3b3JrSW5Qcm9ncmVzcy5hY3R1YWxEdXJhdGlvbjtcbiAgICAgICAgdmFyIGNoaWxkID0gd29ya0luUHJvZ3Jlc3MuY2hpbGQ7XG5cbiAgICAgICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICAgICAgYWN0dWFsRHVyYXRpb24gKz0gY2hpbGQuYWN0dWFsRHVyYXRpb247XG4gICAgICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgd29ya0luUHJvZ3Jlc3MuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICAgIH1cblxuICAgICAgaWYgKF9uZXh0ICE9PSBudWxsKSB7XG4gICAgICAgIC8vIElmIGNvbXBsZXRpbmcgdGhpcyB3b3JrIHNwYXduZWQgbmV3IHdvcmssIGRvIHRoYXQgbmV4dC4gV2UnbGwgY29tZVxuICAgICAgICAvLyBiYWNrIGhlcmUgYWdhaW4uXG4gICAgICAgIC8vIFNpbmNlIHdlJ3JlIHJlc3RhcnRpbmcsIHJlbW92ZSBhbnl0aGluZyB0aGF0IGlzIG5vdCBhIGhvc3QgZWZmZWN0XG4gICAgICAgIC8vIGZyb20gdGhlIGVmZmVjdCB0YWcuXG4gICAgICAgIC8vIFRPRE86IFRoZSBuYW1lIHN0b3BGYWlsZWRXb3JrVGltZXIgaXMgbWlzbGVhZGluZyBiZWNhdXNlIFN1c3BlbnNlXG4gICAgICAgIC8vIGFsc28gY2FwdHVyZXMgYW5kIHJlc3RhcnRzLlxuICAgICAgICBzdG9wRmFpbGVkV29ya1RpbWVyKHdvcmtJblByb2dyZXNzKTtcbiAgICAgICAgX25leHQuZWZmZWN0VGFnICY9IEhvc3RFZmZlY3RNYXNrO1xuICAgICAgICByZXR1cm4gX25leHQ7XG4gICAgICB9XG5cbiAgICAgIHN0b3BXb3JrVGltZXIod29ya0luUHJvZ3Jlc3MpO1xuXG4gICAgICBpZiAocmV0dXJuRmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgLy8gTWFyayB0aGUgcGFyZW50IGZpYmVyIGFzIGluY29tcGxldGUgYW5kIGNsZWFyIGl0cyBlZmZlY3QgbGlzdC5cbiAgICAgICAgcmV0dXJuRmliZXIuZmlyc3RFZmZlY3QgPSByZXR1cm5GaWJlci5sYXN0RWZmZWN0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuRmliZXIuZWZmZWN0VGFnIHw9IEluY29tcGxldGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmFyIHNpYmxpbmdGaWJlciA9IHdvcmtJblByb2dyZXNzLnNpYmxpbmc7XG5cbiAgICBpZiAoc2libGluZ0ZpYmVyICE9PSBudWxsKSB7XG4gICAgICAvLyBJZiB0aGVyZSBpcyBtb3JlIHdvcmsgdG8gZG8gaW4gdGhpcyByZXR1cm5GaWJlciwgZG8gdGhhdCBuZXh0LlxuICAgICAgcmV0dXJuIHNpYmxpbmdGaWJlcjtcbiAgICB9IC8vIE90aGVyd2lzZSwgcmV0dXJuIHRvIHRoZSBwYXJlbnRcblxuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSByZXR1cm5GaWJlcjtcbiAgfSB3aGlsZSAod29ya0luUHJvZ3Jlc3MgIT09IG51bGwpOyAvLyBXZSd2ZSByZWFjaGVkIHRoZSByb290LlxuXG5cbiAgaWYgKHdvcmtJblByb2dyZXNzUm9vdEV4aXRTdGF0dXMgPT09IFJvb3RJbmNvbXBsZXRlKSB7XG4gICAgd29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9IFJvb3RDb21wbGV0ZWQ7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gZ2V0UmVtYWluaW5nRXhwaXJhdGlvblRpbWUoZmliZXIpIHtcbiAgdmFyIHVwZGF0ZUV4cGlyYXRpb25UaW1lID0gZmliZXIuZXhwaXJhdGlvblRpbWU7XG4gIHZhciBjaGlsZEV4cGlyYXRpb25UaW1lID0gZmliZXIuY2hpbGRFeHBpcmF0aW9uVGltZTtcbiAgcmV0dXJuIHVwZGF0ZUV4cGlyYXRpb25UaW1lID4gY2hpbGRFeHBpcmF0aW9uVGltZSA/IHVwZGF0ZUV4cGlyYXRpb25UaW1lIDogY2hpbGRFeHBpcmF0aW9uVGltZTtcbn1cblxuZnVuY3Rpb24gcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lKGNvbXBsZXRlZFdvcmspIHtcbiAgaWYgKHJlbmRlckV4cGlyYXRpb25UaW1lJDEgIT09IE5ldmVyICYmIGNvbXBsZXRlZFdvcmsuY2hpbGRFeHBpcmF0aW9uVGltZSA9PT0gTmV2ZXIpIHtcbiAgICAvLyBUaGUgY2hpbGRyZW4gb2YgdGhpcyBjb21wb25lbnQgYXJlIGhpZGRlbi4gRG9uJ3QgYnViYmxlIHRoZWlyXG4gICAgLy8gZXhwaXJhdGlvbiB0aW1lcy5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yazsgLy8gQnViYmxlIHVwIHRoZSBlYXJsaWVzdCBleHBpcmF0aW9uIHRpbWUuXG5cbiAgaWYgKCAoY29tcGxldGVkV29yay5tb2RlICYgUHJvZmlsZU1vZGUpICE9PSBOb01vZGUpIHtcbiAgICAvLyBJbiBwcm9maWxpbmcgbW9kZSwgcmVzZXRDaGlsZEV4cGlyYXRpb25UaW1lIGlzIGFsc28gdXNlZCB0byByZXNldFxuICAgIC8vIHByb2ZpbGVyIGR1cmF0aW9ucy5cbiAgICB2YXIgYWN0dWFsRHVyYXRpb24gPSBjb21wbGV0ZWRXb3JrLmFjdHVhbER1cmF0aW9uO1xuICAgIHZhciB0cmVlQmFzZUR1cmF0aW9uID0gY29tcGxldGVkV29yay5zZWxmQmFzZUR1cmF0aW9uOyAvLyBXaGVuIGEgZmliZXIgaXMgY2xvbmVkLCBpdHMgYWN0dWFsRHVyYXRpb24gaXMgcmVzZXQgdG8gMC4gVGhpcyB2YWx1ZSB3aWxsXG4gICAgLy8gb25seSBiZSB1cGRhdGVkIGlmIHdvcmsgaXMgZG9uZSBvbiB0aGUgZmliZXIgKGkuZS4gaXQgZG9lc24ndCBiYWlsb3V0KS5cbiAgICAvLyBXaGVuIHdvcmsgaXMgZG9uZSwgaXQgc2hvdWxkIGJ1YmJsZSB0byB0aGUgcGFyZW50J3MgYWN0dWFsRHVyYXRpb24uIElmXG4gICAgLy8gdGhlIGZpYmVyIGhhcyBub3QgYmVlbiBjbG9uZWQgdGhvdWdoLCAobWVhbmluZyBubyB3b3JrIHdhcyBkb25lKSwgdGhlblxuICAgIC8vIHRoaXMgdmFsdWUgd2lsbCByZWZsZWN0IHRoZSBhbW91bnQgb2YgdGltZSBzcGVudCB3b3JraW5nIG9uIGEgcHJldmlvdXNcbiAgICAvLyByZW5kZXIuIEluIHRoYXQgY2FzZSBpdCBzaG91bGQgbm90IGJ1YmJsZS4gV2UgZGV0ZXJtaW5lIHdoZXRoZXIgaXQgd2FzXG4gICAgLy8gY2xvbmVkIGJ5IGNvbXBhcmluZyB0aGUgY2hpbGQgcG9pbnRlci5cblxuICAgIHZhciBzaG91bGRCdWJibGVBY3R1YWxEdXJhdGlvbnMgPSBjb21wbGV0ZWRXb3JrLmFsdGVybmF0ZSA9PT0gbnVsbCB8fCBjb21wbGV0ZWRXb3JrLmNoaWxkICE9PSBjb21wbGV0ZWRXb3JrLmFsdGVybmF0ZS5jaGlsZDtcbiAgICB2YXIgY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgd2hpbGUgKGNoaWxkICE9PSBudWxsKSB7XG4gICAgICB2YXIgY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZSA9IGNoaWxkLmV4cGlyYXRpb25UaW1lO1xuICAgICAgdmFyIGNoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZSA9IGNoaWxkLmNoaWxkRXhwaXJhdGlvblRpbWU7XG5cbiAgICAgIGlmIChjaGlsZFVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSkge1xuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gY2hpbGRVcGRhdGVFeHBpcmF0aW9uVGltZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZSA+IG5ld0NoaWxkRXhwaXJhdGlvblRpbWUpIHtcbiAgICAgICAgbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSA9IGNoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHNob3VsZEJ1YmJsZUFjdHVhbER1cmF0aW9ucykge1xuICAgICAgICBhY3R1YWxEdXJhdGlvbiArPSBjaGlsZC5hY3R1YWxEdXJhdGlvbjtcbiAgICAgIH1cblxuICAgICAgdHJlZUJhc2VEdXJhdGlvbiArPSBjaGlsZC50cmVlQmFzZUR1cmF0aW9uO1xuICAgICAgY2hpbGQgPSBjaGlsZC5zaWJsaW5nO1xuICAgIH1cblxuICAgIGNvbXBsZXRlZFdvcmsuYWN0dWFsRHVyYXRpb24gPSBhY3R1YWxEdXJhdGlvbjtcbiAgICBjb21wbGV0ZWRXb3JrLnRyZWVCYXNlRHVyYXRpb24gPSB0cmVlQmFzZUR1cmF0aW9uO1xuICB9IGVsc2Uge1xuICAgIHZhciBfY2hpbGQgPSBjb21wbGV0ZWRXb3JrLmNoaWxkO1xuXG4gICAgd2hpbGUgKF9jaGlsZCAhPT0gbnVsbCkge1xuICAgICAgdmFyIF9jaGlsZFVwZGF0ZUV4cGlyYXRpb25UaW1lID0gX2NoaWxkLmV4cGlyYXRpb25UaW1lO1xuICAgICAgdmFyIF9jaGlsZENoaWxkRXhwaXJhdGlvblRpbWUgPSBfY2hpbGQuY2hpbGRFeHBpcmF0aW9uVGltZTtcblxuICAgICAgaWYgKF9jaGlsZFVwZGF0ZUV4cGlyYXRpb25UaW1lID4gbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSkge1xuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gX2NoaWxkVXBkYXRlRXhwaXJhdGlvblRpbWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChfY2hpbGRDaGlsZEV4cGlyYXRpb25UaW1lID4gbmV3Q2hpbGRFeHBpcmF0aW9uVGltZSkge1xuICAgICAgICBuZXdDaGlsZEV4cGlyYXRpb25UaW1lID0gX2NoaWxkQ2hpbGRFeHBpcmF0aW9uVGltZTtcbiAgICAgIH1cblxuICAgICAgX2NoaWxkID0gX2NoaWxkLnNpYmxpbmc7XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGVkV29yay5jaGlsZEV4cGlyYXRpb25UaW1lID0gbmV3Q2hpbGRFeHBpcmF0aW9uVGltZTtcbn1cblxuZnVuY3Rpb24gY29tbWl0Um9vdChyb290KSB7XG4gIHZhciByZW5kZXJQcmlvcml0eUxldmVsID0gZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwoKTtcbiAgcnVuV2l0aFByaW9yaXR5JDEoSW1tZWRpYXRlUHJpb3JpdHksIGNvbW1pdFJvb3RJbXBsLmJpbmQobnVsbCwgcm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkpO1xuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gY29tbWl0Um9vdEltcGwocm9vdCwgcmVuZGVyUHJpb3JpdHlMZXZlbCkge1xuICBkbyB7XG4gICAgLy8gYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgY2FsbCBgZmx1c2hTeW5jVXBkYXRlUXVldWVgIGF0IHRoZSBlbmQsIHdoaWNoXG4gICAgLy8gbWVhbnMgYGZsdXNoUGFzc2l2ZUVmZmVjdHNgIHdpbGwgc29tZXRpbWVzIHJlc3VsdCBpbiBhZGRpdGlvbmFsXG4gICAgLy8gcGFzc2l2ZSBlZmZlY3RzLiBTbyB3ZSBuZWVkIHRvIGtlZXAgZmx1c2hpbmcgaW4gYSBsb29wIHVudGlsIHRoZXJlIGFyZVxuICAgIC8vIG5vIG1vcmUgcGVuZGluZyBlZmZlY3RzLlxuICAgIC8vIFRPRE86IE1pZ2h0IGJlIGJldHRlciBpZiBgZmx1c2hQYXNzaXZlRWZmZWN0c2AgZGlkIG5vdCBhdXRvbWF0aWNhbGx5XG4gICAgLy8gZmx1c2ggc3luY2hyb25vdXMgd29yayBhdCB0aGUgZW5kLCB0byBhdm9pZCBmYWN0b3JpbmcgaGF6YXJkcyBsaWtlIHRoaXMuXG4gICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICB9IHdoaWxlIChyb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyAhPT0gbnVsbCk7XG5cbiAgZmx1c2hSZW5kZXJQaGFzZVN0cmljdE1vZGVXYXJuaW5nc0luREVWKCk7XG5cbiAgaWYgKCEoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIlNob3VsZCBub3QgYWxyZWFkeSBiZSB3b3JraW5nLlwiICk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpbmlzaGVkV29yayA9IHJvb3QuZmluaXNoZWRXb3JrO1xuICB2YXIgZXhwaXJhdGlvblRpbWUgPSByb290LmZpbmlzaGVkRXhwaXJhdGlvblRpbWU7XG5cbiAgaWYgKGZpbmlzaGVkV29yayA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcm9vdC5maW5pc2hlZFdvcmsgPSBudWxsO1xuICByb290LmZpbmlzaGVkRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG5cbiAgaWYgKCEoZmluaXNoZWRXb3JrICE9PSByb290LmN1cnJlbnQpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiQ2Fubm90IGNvbW1pdCB0aGUgc2FtZSB0cmVlIGFzIGJlZm9yZS4gVGhpcyBlcnJvciBpcyBsaWtlbHkgY2F1c2VkIGJ5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS5cIiApO1xuICAgIH1cbiAgfSAvLyBjb21taXRSb290IG5ldmVyIHJldHVybnMgYSBjb250aW51YXRpb247IGl0IGFsd2F5cyBmaW5pc2hlcyBzeW5jaHJvbm91c2x5LlxuICAvLyBTbyB3ZSBjYW4gY2xlYXIgdGhlc2Ugbm93IHRvIGFsbG93IGEgbmV3IGNhbGxiYWNrIHRvIGJlIHNjaGVkdWxlZC5cblxuXG4gIHJvb3QuY2FsbGJhY2tOb2RlID0gbnVsbDtcbiAgcm9vdC5jYWxsYmFja0V4cGlyYXRpb25UaW1lID0gTm9Xb3JrO1xuICByb290LmNhbGxiYWNrUHJpb3JpdHkgPSBOb1ByaW9yaXR5O1xuICByb290Lm5leHRLbm93blBlbmRpbmdMZXZlbCA9IE5vV29yaztcbiAgc3RhcnRDb21taXRUaW1lcigpOyAvLyBVcGRhdGUgdGhlIGZpcnN0IGFuZCBsYXN0IHBlbmRpbmcgdGltZXMgb24gdGhpcyByb290LiBUaGUgbmV3IGZpcnN0XG4gIC8vIHBlbmRpbmcgdGltZSBpcyB3aGF0ZXZlciBpcyBsZWZ0IG9uIHRoZSByb290IGZpYmVyLlxuXG4gIHZhciByZW1haW5pbmdFeHBpcmF0aW9uVGltZUJlZm9yZUNvbW1pdCA9IGdldFJlbWFpbmluZ0V4cGlyYXRpb25UaW1lKGZpbmlzaGVkV29yayk7XG4gIG1hcmtSb290RmluaXNoZWRBdFRpbWUocm9vdCwgZXhwaXJhdGlvblRpbWUsIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lQmVmb3JlQ29tbWl0KTtcblxuICBpZiAocm9vdCA9PT0gd29ya0luUHJvZ3Jlc3NSb290KSB7XG4gICAgLy8gV2UgY2FuIHJlc2V0IHRoZXNlIG5vdyB0aGF0IHRoZXkgYXJlIGZpbmlzaGVkLlxuICAgIHdvcmtJblByb2dyZXNzUm9vdCA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MgPSBudWxsO1xuICAgIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPSBOb1dvcms7XG4gIH0gLy8gVGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgbGFzdCByb290IHdlIHdvcmtlZCBvbiBpcyBub3QgdGhlIHNhbWUgb25lIHRoYXRcbiAgLy8gd2UncmUgY29tbWl0dGluZyBub3cuIFRoaXMgbW9zdCBjb21tb25seSBoYXBwZW5zIHdoZW4gYSBzdXNwZW5kZWQgcm9vdFxuICAvLyB0aW1lcyBvdXQuXG4gIC8vIEdldCB0aGUgbGlzdCBvZiBlZmZlY3RzLlxuXG5cbiAgdmFyIGZpcnN0RWZmZWN0O1xuXG4gIGlmIChmaW5pc2hlZFdvcmsuZWZmZWN0VGFnID4gUGVyZm9ybWVkV29yaykge1xuICAgIC8vIEEgZmliZXIncyBlZmZlY3QgbGlzdCBjb25zaXN0cyBvbmx5IG9mIGl0cyBjaGlsZHJlbiwgbm90IGl0c2VsZi4gU28gaWZcbiAgICAvLyB0aGUgcm9vdCBoYXMgYW4gZWZmZWN0LCB3ZSBuZWVkIHRvIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0LiBUaGVcbiAgICAvLyByZXN1bHRpbmcgbGlzdCBpcyB0aGUgc2V0IHRoYXQgd291bGQgYmVsb25nIHRvIHRoZSByb290J3MgcGFyZW50LCBpZiBpdFxuICAgIC8vIGhhZCBvbmU7IHRoYXQgaXMsIGFsbCB0aGUgZWZmZWN0cyBpbiB0aGUgdHJlZSBpbmNsdWRpbmcgdGhlIHJvb3QuXG4gICAgaWYgKGZpbmlzaGVkV29yay5sYXN0RWZmZWN0ICE9PSBudWxsKSB7XG4gICAgICBmaW5pc2hlZFdvcmsubGFzdEVmZmVjdC5uZXh0RWZmZWN0ID0gZmluaXNoZWRXb3JrO1xuICAgICAgZmlyc3RFZmZlY3QgPSBmaW5pc2hlZFdvcmsuZmlyc3RFZmZlY3Q7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZpcnN0RWZmZWN0ID0gZmluaXNoZWRXb3JrO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBUaGVyZSBpcyBubyBlZmZlY3Qgb24gdGhlIHJvb3QuXG4gICAgZmlyc3RFZmZlY3QgPSBmaW5pc2hlZFdvcmsuZmlyc3RFZmZlY3Q7XG4gIH1cblxuICBpZiAoZmlyc3RFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICAgIGV4ZWN1dGlvbkNvbnRleHQgfD0gQ29tbWl0Q29udGV4dDtcbiAgICB2YXIgcHJldkludGVyYWN0aW9ucyA9IHB1c2hJbnRlcmFjdGlvbnMocm9vdCk7IC8vIFJlc2V0IHRoaXMgdG8gbnVsbCBiZWZvcmUgY2FsbGluZyBsaWZlY3ljbGVzXG5cbiAgICBSZWFjdEN1cnJlbnRPd25lciQyLmN1cnJlbnQgPSBudWxsOyAvLyBUaGUgY29tbWl0IHBoYXNlIGlzIGJyb2tlbiBpbnRvIHNldmVyYWwgc3ViLXBoYXNlcy4gV2UgZG8gYSBzZXBhcmF0ZSBwYXNzXG4gICAgLy8gb2YgdGhlIGVmZmVjdCBsaXN0IGZvciBlYWNoIHBoYXNlOiBhbGwgbXV0YXRpb24gZWZmZWN0cyBjb21lIGJlZm9yZSBhbGxcbiAgICAvLyBsYXlvdXQgZWZmZWN0cywgYW5kIHNvIG9uLlxuICAgIC8vIFRoZSBmaXJzdCBwaGFzZSBhIFwiYmVmb3JlIG11dGF0aW9uXCIgcGhhc2UuIFdlIHVzZSB0aGlzIHBoYXNlIHRvIHJlYWQgdGhlXG4gICAgLy8gc3RhdGUgb2YgdGhlIGhvc3QgdHJlZSByaWdodCBiZWZvcmUgd2UgbXV0YXRlIGl0LiBUaGlzIGlzIHdoZXJlXG4gICAgLy8gZ2V0U25hcHNob3RCZWZvcmVVcGRhdGUgaXMgY2FsbGVkLlxuXG4gICAgc3RhcnRDb21taXRTbmFwc2hvdEVmZmVjdHNUaW1lcigpO1xuICAgIHByZXBhcmVGb3JDb21taXQocm9vdC5jb250YWluZXJJbmZvKTtcbiAgICBuZXh0RWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICBkbyB7XG4gICAgICB7XG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBjb21taXRCZWZvcmVNdXRhdGlvbkVmZmVjdHMsIG51bGwpO1xuXG4gICAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XG4gICAgICAgICAgaWYgKCEobmV4dEVmZmVjdCAhPT0gbnVsbCkpIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiU2hvdWxkIGJlIHdvcmtpbmcgb24gYW4gZWZmZWN0LlwiICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGVycm9yID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKG5leHRFZmZlY3QsIGVycm9yKTtcbiAgICAgICAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCk7XG5cbiAgICBzdG9wQ29tbWl0U25hcHNob3RFZmZlY3RzVGltZXIoKTtcblxuICAgIHtcbiAgICAgIC8vIE1hcmsgdGhlIGN1cnJlbnQgY29tbWl0IHRpbWUgdG8gYmUgc2hhcmVkIGJ5IGFsbCBQcm9maWxlcnMgaW4gdGhpc1xuICAgICAgLy8gYmF0Y2guIFRoaXMgZW5hYmxlcyB0aGVtIHRvIGJlIGdyb3VwZWQgbGF0ZXIuXG4gICAgICByZWNvcmRDb21taXRUaW1lKCk7XG4gICAgfSAvLyBUaGUgbmV4dCBwaGFzZSBpcyB0aGUgbXV0YXRpb24gcGhhc2UsIHdoZXJlIHdlIG11dGF0ZSB0aGUgaG9zdCB0cmVlLlxuXG5cbiAgICBzdGFydENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcbiAgICBuZXh0RWZmZWN0ID0gZmlyc3RFZmZlY3Q7XG5cbiAgICBkbyB7XG4gICAgICB7XG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBjb21taXRNdXRhdGlvbkVmZmVjdHMsIG51bGwsIHJvb3QsIHJlbmRlclByaW9yaXR5TGV2ZWwpO1xuXG4gICAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XG4gICAgICAgICAgaWYgKCEobmV4dEVmZmVjdCAhPT0gbnVsbCkpIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiU2hvdWxkIGJlIHdvcmtpbmcgb24gYW4gZWZmZWN0LlwiICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIF9lcnJvciA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTtcblxuICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKG5leHRFZmZlY3QsIF9lcnJvcik7XG4gICAgICAgICAgbmV4dEVmZmVjdCA9IG5leHRFZmZlY3QubmV4dEVmZmVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpO1xuXG4gICAgc3RvcENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcbiAgICByZXNldEFmdGVyQ29tbWl0KHJvb3QuY29udGFpbmVySW5mbyk7IC8vIFRoZSB3b3JrLWluLXByb2dyZXNzIHRyZWUgaXMgbm93IHRoZSBjdXJyZW50IHRyZWUuIFRoaXMgbXVzdCBjb21lIGFmdGVyXG4gICAgLy8gdGhlIG11dGF0aW9uIHBoYXNlLCBzbyB0aGF0IHRoZSBwcmV2aW91cyB0cmVlIGlzIHN0aWxsIGN1cnJlbnQgZHVyaW5nXG4gICAgLy8gY29tcG9uZW50V2lsbFVubW91bnQsIGJ1dCBiZWZvcmUgdGhlIGxheW91dCBwaGFzZSwgc28gdGhhdCB0aGUgZmluaXNoZWRcbiAgICAvLyB3b3JrIGlzIGN1cnJlbnQgZHVyaW5nIGNvbXBvbmVudERpZE1vdW50L1VwZGF0ZS5cblxuICAgIHJvb3QuY3VycmVudCA9IGZpbmlzaGVkV29yazsgLy8gVGhlIG5leHQgcGhhc2UgaXMgdGhlIGxheW91dCBwaGFzZSwgd2hlcmUgd2UgY2FsbCBlZmZlY3RzIHRoYXQgcmVhZFxuICAgIC8vIHRoZSBob3N0IHRyZWUgYWZ0ZXIgaXQncyBiZWVuIG11dGF0ZWQuIFRoZSBpZGlvbWF0aWMgdXNlIGNhc2UgZm9yIHRoaXMgaXNcbiAgICAvLyBsYXlvdXQsIGJ1dCBjbGFzcyBjb21wb25lbnQgbGlmZWN5Y2xlcyBhbHNvIGZpcmUgaGVyZSBmb3IgbGVnYWN5IHJlYXNvbnMuXG5cbiAgICBzdGFydENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xuICAgIG5leHRFZmZlY3QgPSBmaXJzdEVmZmVjdDtcblxuICAgIGRvIHtcbiAgICAgIHtcbiAgICAgICAgaW52b2tlR3VhcmRlZENhbGxiYWNrKG51bGwsIGNvbW1pdExheW91dEVmZmVjdHMsIG51bGwsIHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcblxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xuICAgICAgICAgIGlmICghKG5leHRFZmZlY3QgIT09IG51bGwpKSB7XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRocm93IEVycm9yKCBcIlNob3VsZCBiZSB3b3JraW5nIG9uIGFuIGVmZmVjdC5cIiApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHZhciBfZXJyb3IyID0gY2xlYXJDYXVnaHRFcnJvcigpO1xuXG4gICAgICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3IobmV4dEVmZmVjdCwgX2Vycm9yMik7XG4gICAgICAgICAgbmV4dEVmZmVjdCA9IG5leHRFZmZlY3QubmV4dEVmZmVjdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpO1xuXG4gICAgc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xuICAgIG5leHRFZmZlY3QgPSBudWxsOyAvLyBUZWxsIFNjaGVkdWxlciB0byB5aWVsZCBhdCB0aGUgZW5kIG9mIHRoZSBmcmFtZSwgc28gdGhlIGJyb3dzZXIgaGFzIGFuXG4gICAgLy8gb3Bwb3J0dW5pdHkgdG8gcGFpbnQuXG5cbiAgICByZXF1ZXN0UGFpbnQoKTtcblxuICAgIHtcbiAgICAgIHBvcEludGVyYWN0aW9ucyhwcmV2SW50ZXJhY3Rpb25zKTtcbiAgICB9XG5cbiAgICBleGVjdXRpb25Db250ZXh0ID0gcHJldkV4ZWN1dGlvbkNvbnRleHQ7XG4gIH0gZWxzZSB7XG4gICAgLy8gTm8gZWZmZWN0cy5cbiAgICByb290LmN1cnJlbnQgPSBmaW5pc2hlZFdvcms7IC8vIE1lYXN1cmUgdGhlc2UgYW55d2F5IHNvIHRoZSBmbGFtZWdyYXBoIGV4cGxpY2l0bHkgc2hvd3MgdGhhdCB0aGVyZSB3ZXJlXG4gICAgLy8gbm8gZWZmZWN0cy5cbiAgICAvLyBUT0RPOiBNYXliZSB0aGVyZSdzIGEgYmV0dGVyIHdheSB0byByZXBvcnQgdGhpcy5cblxuICAgIHN0YXJ0Q29tbWl0U25hcHNob3RFZmZlY3RzVGltZXIoKTtcbiAgICBzdG9wQ29tbWl0U25hcHNob3RFZmZlY3RzVGltZXIoKTtcblxuICAgIHtcbiAgICAgIHJlY29yZENvbW1pdFRpbWUoKTtcbiAgICB9XG5cbiAgICBzdGFydENvbW1pdEhvc3RFZmZlY3RzVGltZXIoKTtcbiAgICBzdG9wQ29tbWl0SG9zdEVmZmVjdHNUaW1lcigpO1xuICAgIHN0YXJ0Q29tbWl0TGlmZUN5Y2xlc1RpbWVyKCk7XG4gICAgc3RvcENvbW1pdExpZmVDeWNsZXNUaW1lcigpO1xuICB9XG5cbiAgc3RvcENvbW1pdFRpbWVyKCk7XG4gIHZhciByb290RGlkSGF2ZVBhc3NpdmVFZmZlY3RzID0gcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHM7XG5cbiAgaWYgKHJvb3REb2VzSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XG4gICAgLy8gVGhpcyBjb21taXQgaGFzIHBhc3NpdmUgZWZmZWN0cy4gU3Rhc2ggYSByZWZlcmVuY2UgdG8gdGhlbS4gQnV0IGRvbid0XG4gICAgLy8gc2NoZWR1bGUgYSBjYWxsYmFjayB1bnRpbCBhZnRlciBmbHVzaGluZyBsYXlvdXQgd29yay5cbiAgICByb290RG9lc0hhdmVQYXNzaXZlRWZmZWN0cyA9IGZhbHNlO1xuICAgIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzID0gcm9vdDtcbiAgICBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNFeHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xuICAgIHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ID0gcmVuZGVyUHJpb3JpdHlMZXZlbDtcbiAgfSBlbHNlIHtcbiAgICAvLyBXZSBhcmUgZG9uZSB3aXRoIHRoZSBlZmZlY3QgY2hhaW4gYXQgdGhpcyBwb2ludCBzbyBsZXQncyBjbGVhciB0aGVcbiAgICAvLyBuZXh0RWZmZWN0IHBvaW50ZXJzIHRvIGFzc2lzdCB3aXRoIEdDLiBJZiB3ZSBoYXZlIHBhc3NpdmUgZWZmZWN0cywgd2UnbGxcbiAgICAvLyBjbGVhciB0aGlzIGluIGZsdXNoUGFzc2l2ZUVmZmVjdHMuXG4gICAgbmV4dEVmZmVjdCA9IGZpcnN0RWZmZWN0O1xuXG4gICAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICAgIHZhciBuZXh0TmV4dEVmZmVjdCA9IG5leHRFZmZlY3QubmV4dEVmZmVjdDtcbiAgICAgIG5leHRFZmZlY3QubmV4dEVmZmVjdCA9IG51bGw7XG4gICAgICBuZXh0RWZmZWN0ID0gbmV4dE5leHRFZmZlY3Q7XG4gICAgfVxuICB9IC8vIENoZWNrIGlmIHRoZXJlJ3MgcmVtYWluaW5nIHdvcmsgb24gdGhpcyByb290XG5cblxuICB2YXIgcmVtYWluaW5nRXhwaXJhdGlvblRpbWUgPSByb290LmZpcnN0UGVuZGluZ1RpbWU7XG5cbiAgaWYgKHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lICE9PSBOb1dvcmspIHtcbiAgICB7XG4gICAgICBpZiAoc3Bhd25lZFdvcmtEdXJpbmdSZW5kZXIgIT09IG51bGwpIHtcbiAgICAgICAgdmFyIGV4cGlyYXRpb25UaW1lcyA9IHNwYXduZWRXb3JrRHVyaW5nUmVuZGVyO1xuICAgICAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9IG51bGw7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHBpcmF0aW9uVGltZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBzY2hlZHVsZUludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZXNbaV0sIHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCByZW1haW5pbmdFeHBpcmF0aW9uVGltZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIElmIHRoZXJlJ3Mgbm8gcmVtYWluaW5nIHdvcmssIHdlIGNhbiBjbGVhciB0aGUgc2V0IG9mIGFscmVhZHkgZmFpbGVkXG4gICAgLy8gZXJyb3IgYm91bmRhcmllcy5cbiAgICBsZWdhY3lFcnJvckJvdW5kYXJpZXNUaGF0QWxyZWFkeUZhaWxlZCA9IG51bGw7XG4gIH1cblxuICB7XG4gICAgaWYgKCFyb290RGlkSGF2ZVBhc3NpdmVFZmZlY3RzKSB7XG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gcGFzc2l2ZSBlZmZlY3RzLCB0aGVuIHdlIGNhbiBjb21wbGV0ZSB0aGUgcGVuZGluZyBpbnRlcmFjdGlvbnMuXG4gICAgICAvLyBPdGhlcndpc2UsIHdlJ2xsIHdhaXQgdW50aWwgYWZ0ZXIgdGhlIHBhc3NpdmUgZWZmZWN0cyBhcmUgZmx1c2hlZC5cbiAgICAgIC8vIFdhaXQgdG8gZG8gdGhpcyB1bnRpbCBhZnRlciByZW1haW5pbmcgd29yayBoYXMgYmVlbiBzY2hlZHVsZWQsXG4gICAgICAvLyBzbyB0aGF0IHdlIGRvbid0IHByZW1hdHVyZWx5IHNpZ25hbCBjb21wbGV0ZSBmb3IgaW50ZXJhY3Rpb25zIHdoZW4gdGhlcmUncyBlLmcuIGhpZGRlbiB3b3JrLlxuICAgICAgZmluaXNoUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lID09PSBTeW5jKSB7XG4gICAgLy8gQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgcm9vdCBzeW5jaHJvbm91c2x5IHJlLXJlbmRlcnMgd2l0aG91dFxuICAgIC8vIGZpbmlzaGluZy4gSWYgdGhlcmUgYXJlIHRvbyBtYW55LCBpdCBpbmRpY2F0ZXMgYW4gaW5maW5pdGUgdXBkYXRlIGxvb3AuXG4gICAgaWYgKHJvb3QgPT09IHJvb3RXaXRoTmVzdGVkVXBkYXRlcykge1xuICAgICAgbmVzdGVkVXBkYXRlQ291bnQrKztcbiAgICB9IGVsc2Uge1xuICAgICAgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xuICAgICAgcm9vdFdpdGhOZXN0ZWRVcGRhdGVzID0gcm9vdDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmVzdGVkVXBkYXRlQ291bnQgPSAwO1xuICB9XG5cbiAgb25Db21taXRSb290KGZpbmlzaGVkV29yay5zdGF0ZU5vZGUsIGV4cGlyYXRpb25UaW1lKTsgLy8gQWx3YXlzIGNhbGwgdGhpcyBiZWZvcmUgZXhpdGluZyBgY29tbWl0Um9vdGAsIHRvIGVuc3VyZSB0aGF0IGFueVxuICAvLyBhZGRpdGlvbmFsIHdvcmsgb24gdGhpcyByb290IGlzIHNjaGVkdWxlZC5cblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG5cbiAgaWYgKGhhc1VuY2F1Z2h0RXJyb3IpIHtcbiAgICBoYXNVbmNhdWdodEVycm9yID0gZmFsc2U7XG4gICAgdmFyIF9lcnJvcjMgPSBmaXJzdFVuY2F1Z2h0RXJyb3I7XG4gICAgZmlyc3RVbmNhdWdodEVycm9yID0gbnVsbDtcbiAgICB0aHJvdyBfZXJyb3IzO1xuICB9XG5cbiAgaWYgKChleGVjdXRpb25Db250ZXh0ICYgTGVnYWN5VW5iYXRjaGVkQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xuICAgIC8vIFRoaXMgaXMgYSBsZWdhY3kgZWRnZSBjYXNlLiBXZSBqdXN0IGNvbW1pdHRlZCB0aGUgaW5pdGlhbCBtb3VudCBvZlxuICAgIC8vIGEgUmVhY3RET00ucmVuZGVyLWVkIHJvb3QgaW5zaWRlIG9mIGJhdGNoZWRVcGRhdGVzLiBUaGUgY29tbWl0IGZpcmVkXG4gICAgLy8gc3luY2hyb25vdXNseSwgYnV0IGxheW91dCB1cGRhdGVzIHNob3VsZCBiZSBkZWZlcnJlZCB1bnRpbCB0aGUgZW5kXG4gICAgLy8gb2YgdGhlIGJhdGNoLlxuICAgIHJldHVybiBudWxsO1xuICB9IC8vIElmIGxheW91dCB3b3JrIHdhcyBzY2hlZHVsZWQsIGZsdXNoIGl0IG5vdy5cblxuXG4gIGZsdXNoU3luY0NhbGxiYWNrUXVldWUoKTtcbiAgcmV0dXJuIG51bGw7XG59XG5cbmZ1bmN0aW9uIGNvbW1pdEJlZm9yZU11dGF0aW9uRWZmZWN0cygpIHtcbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICB2YXIgZWZmZWN0VGFnID0gbmV4dEVmZmVjdC5lZmZlY3RUYWc7XG5cbiAgICBpZiAoKGVmZmVjdFRhZyAmIFNuYXBzaG90KSAhPT0gTm9FZmZlY3QpIHtcbiAgICAgIHNldEN1cnJlbnRGaWJlcihuZXh0RWZmZWN0KTtcbiAgICAgIHJlY29yZEVmZmVjdCgpO1xuICAgICAgdmFyIGN1cnJlbnQgPSBuZXh0RWZmZWN0LmFsdGVybmF0ZTtcbiAgICAgIGNvbW1pdEJlZm9yZU11dGF0aW9uTGlmZUN5Y2xlcyhjdXJyZW50LCBuZXh0RWZmZWN0KTtcbiAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgfVxuXG4gICAgaWYgKChlZmZlY3RUYWcgJiBQYXNzaXZlKSAhPT0gTm9FZmZlY3QpIHtcbiAgICAgIC8vIElmIHRoZXJlIGFyZSBwYXNzaXZlIGVmZmVjdHMsIHNjaGVkdWxlIGEgY2FsbGJhY2sgdG8gZmx1c2ggYXRcbiAgICAgIC8vIHRoZSBlYXJsaWVzdCBvcHBvcnR1bml0eS5cbiAgICAgIGlmICghcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMpIHtcbiAgICAgICAgcm9vdERvZXNIYXZlUGFzc2l2ZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgICBzY2hlZHVsZUNhbGxiYWNrKE5vcm1hbFByaW9yaXR5LCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgZmx1c2hQYXNzaXZlRWZmZWN0cygpO1xuICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdE11dGF0aW9uRWZmZWN0cyhyb290LCByZW5kZXJQcmlvcml0eUxldmVsKSB7XG4gIC8vIFRPRE86IFNob3VsZCBwcm9iYWJseSBtb3ZlIHRoZSBidWxrIG9mIHRoaXMgZnVuY3Rpb24gdG8gY29tbWl0V29yay5cbiAgd2hpbGUgKG5leHRFZmZlY3QgIT09IG51bGwpIHtcbiAgICBzZXRDdXJyZW50RmliZXIobmV4dEVmZmVjdCk7XG4gICAgdmFyIGVmZmVjdFRhZyA9IG5leHRFZmZlY3QuZWZmZWN0VGFnO1xuXG4gICAgaWYgKGVmZmVjdFRhZyAmIENvbnRlbnRSZXNldCkge1xuICAgICAgY29tbWl0UmVzZXRUZXh0Q29udGVudChuZXh0RWZmZWN0KTtcbiAgICB9XG5cbiAgICBpZiAoZWZmZWN0VGFnICYgUmVmKSB7XG4gICAgICB2YXIgY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xuXG4gICAgICBpZiAoY3VycmVudCAhPT0gbnVsbCkge1xuICAgICAgICBjb21taXREZXRhY2hSZWYoY3VycmVudCk7XG4gICAgICB9XG4gICAgfSAvLyBUaGUgZm9sbG93aW5nIHN3aXRjaCBzdGF0ZW1lbnQgaXMgb25seSBjb25jZXJuZWQgYWJvdXQgcGxhY2VtZW50LFxuICAgIC8vIHVwZGF0ZXMsIGFuZCBkZWxldGlvbnMuIFRvIGF2b2lkIG5lZWRpbmcgdG8gYWRkIGEgY2FzZSBmb3IgZXZlcnkgcG9zc2libGVcbiAgICAvLyBiaXRtYXAgdmFsdWUsIHdlIHJlbW92ZSB0aGUgc2Vjb25kYXJ5IGVmZmVjdHMgZnJvbSB0aGUgZWZmZWN0IHRhZyBhbmRcbiAgICAvLyBzd2l0Y2ggb24gdGhhdCB2YWx1ZS5cblxuXG4gICAgdmFyIHByaW1hcnlFZmZlY3RUYWcgPSBlZmZlY3RUYWcgJiAoUGxhY2VtZW50IHwgVXBkYXRlIHwgRGVsZXRpb24gfCBIeWRyYXRpbmcpO1xuXG4gICAgc3dpdGNoIChwcmltYXJ5RWZmZWN0VGFnKSB7XG4gICAgICBjYXNlIFBsYWNlbWVudDpcbiAgICAgICAge1xuICAgICAgICAgIGNvbW1pdFBsYWNlbWVudChuZXh0RWZmZWN0KTsgLy8gQ2xlYXIgdGhlIFwicGxhY2VtZW50XCIgZnJvbSBlZmZlY3QgdGFnIHNvIHRoYXQgd2Uga25vdyB0aGF0IHRoaXMgaXNcbiAgICAgICAgICAvLyBpbnNlcnRlZCwgYmVmb3JlIGFueSBsaWZlLWN5Y2xlcyBsaWtlIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkLlxuICAgICAgICAgIC8vIFRPRE86IGZpbmRET01Ob2RlIGRvZXNuJ3QgcmVseSBvbiB0aGlzIGFueSBtb3JlIGJ1dCBpc01vdW50ZWQgZG9lc1xuICAgICAgICAgIC8vIGFuZCBpc01vdW50ZWQgaXMgZGVwcmVjYXRlZCBhbnl3YXkgc28gd2Ugc2hvdWxkIGJlIGFibGUgdG8ga2lsbCB0aGlzLlxuXG4gICAgICAgICAgbmV4dEVmZmVjdC5lZmZlY3RUYWcgJj0gflBsYWNlbWVudDtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIFBsYWNlbWVudEFuZFVwZGF0ZTpcbiAgICAgICAge1xuICAgICAgICAgIC8vIFBsYWNlbWVudFxuICAgICAgICAgIGNvbW1pdFBsYWNlbWVudChuZXh0RWZmZWN0KTsgLy8gQ2xlYXIgdGhlIFwicGxhY2VtZW50XCIgZnJvbSBlZmZlY3QgdGFnIHNvIHRoYXQgd2Uga25vdyB0aGF0IHRoaXMgaXNcbiAgICAgICAgICAvLyBpbnNlcnRlZCwgYmVmb3JlIGFueSBsaWZlLWN5Y2xlcyBsaWtlIGNvbXBvbmVudERpZE1vdW50IGdldHMgY2FsbGVkLlxuXG4gICAgICAgICAgbmV4dEVmZmVjdC5lZmZlY3RUYWcgJj0gflBsYWNlbWVudDsgLy8gVXBkYXRlXG5cbiAgICAgICAgICB2YXIgX2N1cnJlbnQgPSBuZXh0RWZmZWN0LmFsdGVybmF0ZTtcbiAgICAgICAgICBjb21taXRXb3JrKF9jdXJyZW50LCBuZXh0RWZmZWN0KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICBjYXNlIEh5ZHJhdGluZzpcbiAgICAgICAge1xuICAgICAgICAgIG5leHRFZmZlY3QuZWZmZWN0VGFnICY9IH5IeWRyYXRpbmc7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBIeWRyYXRpbmdBbmRVcGRhdGU6XG4gICAgICAgIHtcbiAgICAgICAgICBuZXh0RWZmZWN0LmVmZmVjdFRhZyAmPSB+SHlkcmF0aW5nOyAvLyBVcGRhdGVcblxuICAgICAgICAgIHZhciBfY3VycmVudDIgPSBuZXh0RWZmZWN0LmFsdGVybmF0ZTtcbiAgICAgICAgICBjb21taXRXb3JrKF9jdXJyZW50MiwgbmV4dEVmZmVjdCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSBVcGRhdGU6XG4gICAgICAgIHtcbiAgICAgICAgICB2YXIgX2N1cnJlbnQzID0gbmV4dEVmZmVjdC5hbHRlcm5hdGU7XG4gICAgICAgICAgY29tbWl0V29yayhfY3VycmVudDMsIG5leHRFZmZlY3QpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG5cbiAgICAgIGNhc2UgRGVsZXRpb246XG4gICAgICAgIHtcbiAgICAgICAgICBjb21taXREZWxldGlvbihyb290LCBuZXh0RWZmZWN0LCByZW5kZXJQcmlvcml0eUxldmVsKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH0gLy8gVE9ETzogT25seSByZWNvcmQgYSBtdXRhdGlvbiBlZmZlY3QgaWYgcHJpbWFyeUVmZmVjdFRhZyBpcyBub24temVyby5cblxuXG4gICAgcmVjb3JkRWZmZWN0KCk7XG4gICAgcmVzZXRDdXJyZW50RmliZXIoKTtcbiAgICBuZXh0RWZmZWN0ID0gbmV4dEVmZmVjdC5uZXh0RWZmZWN0O1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbW1pdExheW91dEVmZmVjdHMocm9vdCwgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUpIHtcbiAgLy8gVE9ETzogU2hvdWxkIHByb2JhYmx5IG1vdmUgdGhlIGJ1bGsgb2YgdGhpcyBmdW5jdGlvbiB0byBjb21taXRXb3JrLlxuICB3aGlsZSAobmV4dEVmZmVjdCAhPT0gbnVsbCkge1xuICAgIHNldEN1cnJlbnRGaWJlcihuZXh0RWZmZWN0KTtcbiAgICB2YXIgZWZmZWN0VGFnID0gbmV4dEVmZmVjdC5lZmZlY3RUYWc7XG5cbiAgICBpZiAoZWZmZWN0VGFnICYgKFVwZGF0ZSB8IENhbGxiYWNrKSkge1xuICAgICAgcmVjb3JkRWZmZWN0KCk7XG4gICAgICB2YXIgY3VycmVudCA9IG5leHRFZmZlY3QuYWx0ZXJuYXRlO1xuICAgICAgY29tbWl0TGlmZUN5Y2xlcyhyb290LCBjdXJyZW50LCBuZXh0RWZmZWN0KTtcbiAgICB9XG5cbiAgICBpZiAoZWZmZWN0VGFnICYgUmVmKSB7XG4gICAgICByZWNvcmRFZmZlY3QoKTtcbiAgICAgIGNvbW1pdEF0dGFjaFJlZihuZXh0RWZmZWN0KTtcbiAgICB9XG5cbiAgICByZXNldEN1cnJlbnRGaWJlcigpO1xuICAgIG5leHRFZmZlY3QgPSBuZXh0RWZmZWN0Lm5leHRFZmZlY3Q7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmx1c2hQYXNzaXZlRWZmZWN0cygpIHtcbiAgaWYgKHBlbmRpbmdQYXNzaXZlRWZmZWN0c1JlbmRlclByaW9yaXR5ICE9PSBOb1ByaW9yaXR5KSB7XG4gICAgdmFyIHByaW9yaXR5TGV2ZWwgPSBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW5kZXJQcmlvcml0eSA+IE5vcm1hbFByaW9yaXR5ID8gTm9ybWFsUHJpb3JpdHkgOiBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW5kZXJQcmlvcml0eTtcbiAgICBwZW5kaW5nUGFzc2l2ZUVmZmVjdHNSZW5kZXJQcmlvcml0eSA9IE5vUHJpb3JpdHk7XG4gICAgcmV0dXJuIHJ1bldpdGhQcmlvcml0eSQxKHByaW9yaXR5TGV2ZWwsIGZsdXNoUGFzc2l2ZUVmZmVjdHNJbXBsKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFBhc3NpdmVFZmZlY3RzSW1wbCgpIHtcbiAgaWYgKHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIHJvb3QgPSByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cztcbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gcGVuZGluZ1Bhc3NpdmVFZmZlY3RzRXhwaXJhdGlvblRpbWU7XG4gIHJvb3RXaXRoUGVuZGluZ1Bhc3NpdmVFZmZlY3RzID0gbnVsbDtcbiAgcGVuZGluZ1Bhc3NpdmVFZmZlY3RzRXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG5cbiAgaWYgKCEoKGV4ZWN1dGlvbkNvbnRleHQgJiAoUmVuZGVyQ29udGV4dCB8IENvbW1pdENvbnRleHQpKSA9PT0gTm9Db250ZXh0KSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIkNhbm5vdCBmbHVzaCBwYXNzaXZlIGVmZmVjdHMgd2hpbGUgYWxyZWFkeSByZW5kZXJpbmcuXCIgKTtcbiAgICB9XG4gIH1cblxuICB2YXIgcHJldkV4ZWN1dGlvbkNvbnRleHQgPSBleGVjdXRpb25Db250ZXh0O1xuICBleGVjdXRpb25Db250ZXh0IHw9IENvbW1pdENvbnRleHQ7XG4gIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gcHVzaEludGVyYWN0aW9ucyhyb290KTtcblxuICB7XG4gICAgLy8gTm90ZTogVGhpcyBjdXJyZW50bHkgYXNzdW1lcyB0aGVyZSBhcmUgbm8gcGFzc2l2ZSBlZmZlY3RzIG9uIHRoZSByb290IGZpYmVyXG4gICAgLy8gYmVjYXVzZSB0aGUgcm9vdCBpcyBub3QgcGFydCBvZiBpdHMgb3duIGVmZmVjdCBsaXN0LlxuICAgIC8vIFRoaXMgY291bGQgY2hhbmdlIGluIHRoZSBmdXR1cmUuXG4gICAgdmFyIF9lZmZlY3QyID0gcm9vdC5jdXJyZW50LmZpcnN0RWZmZWN0O1xuXG4gICAgd2hpbGUgKF9lZmZlY3QyICE9PSBudWxsKSB7XG4gICAgICB7XG4gICAgICAgIHNldEN1cnJlbnRGaWJlcihfZWZmZWN0Mik7XG4gICAgICAgIGludm9rZUd1YXJkZWRDYWxsYmFjayhudWxsLCBjb21taXRQYXNzaXZlSG9va0VmZmVjdHMsIG51bGwsIF9lZmZlY3QyKTtcblxuICAgICAgICBpZiAoaGFzQ2F1Z2h0RXJyb3IoKSkge1xuICAgICAgICAgIGlmICghKF9lZmZlY3QyICE9PSBudWxsKSkge1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aHJvdyBFcnJvciggXCJTaG91bGQgYmUgd29ya2luZyBvbiBhbiBlZmZlY3QuXCIgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICB2YXIgX2Vycm9yNSA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTtcblxuICAgICAgICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yKF9lZmZlY3QyLCBfZXJyb3I1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJlc2V0Q3VycmVudEZpYmVyKCk7XG4gICAgICB9XG5cbiAgICAgIHZhciBuZXh0TmV4dEVmZmVjdCA9IF9lZmZlY3QyLm5leHRFZmZlY3Q7IC8vIFJlbW92ZSBuZXh0RWZmZWN0IHBvaW50ZXIgdG8gYXNzaXN0IEdDXG5cbiAgICAgIF9lZmZlY3QyLm5leHRFZmZlY3QgPSBudWxsO1xuICAgICAgX2VmZmVjdDIgPSBuZXh0TmV4dEVmZmVjdDtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgcG9wSW50ZXJhY3Rpb25zKHByZXZJbnRlcmFjdGlvbnMpO1xuICAgIGZpbmlzaFBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpO1xuICB9XG5cbiAgZXhlY3V0aW9uQ29udGV4dCA9IHByZXZFeGVjdXRpb25Db250ZXh0O1xuICBmbHVzaFN5bmNDYWxsYmFja1F1ZXVlKCk7IC8vIElmIGFkZGl0aW9uYWwgcGFzc2l2ZSBlZmZlY3RzIHdlcmUgc2NoZWR1bGVkLCBpbmNyZW1lbnQgYSBjb3VudGVyLiBJZiB0aGlzXG4gIC8vIGV4Y2VlZHMgdGhlIGxpbWl0LCB3ZSdsbCBmaXJlIGEgd2FybmluZy5cblxuICBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgPSByb290V2l0aFBlbmRpbmdQYXNzaXZlRWZmZWN0cyA9PT0gbnVsbCA/IDAgOiBuZXN0ZWRQYXNzaXZlVXBkYXRlQ291bnQgKyAxO1xuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gaXNBbHJlYWR5RmFpbGVkTGVnYWN5RXJyb3JCb3VuZGFyeShpbnN0YW5jZSkge1xuICByZXR1cm4gbGVnYWN5RXJyb3JCb3VuZGFyaWVzVGhhdEFscmVhZHlGYWlsZWQgIT09IG51bGwgJiYgbGVnYWN5RXJyb3JCb3VuZGFyaWVzVGhhdEFscmVhZHlGYWlsZWQuaGFzKGluc3RhbmNlKTtcbn1cbmZ1bmN0aW9uIG1hcmtMZWdhY3lFcnJvckJvdW5kYXJ5QXNGYWlsZWQoaW5zdGFuY2UpIHtcbiAgaWYgKGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkID09PSBudWxsKSB7XG4gICAgbGVnYWN5RXJyb3JCb3VuZGFyaWVzVGhhdEFscmVhZHlGYWlsZWQgPSBuZXcgU2V0KFtpbnN0YW5jZV0pO1xuICB9IGVsc2Uge1xuICAgIGxlZ2FjeUVycm9yQm91bmRhcmllc1RoYXRBbHJlYWR5RmFpbGVkLmFkZChpbnN0YW5jZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJlcGFyZVRvVGhyb3dVbmNhdWdodEVycm9yKGVycm9yKSB7XG4gIGlmICghaGFzVW5jYXVnaHRFcnJvcikge1xuICAgIGhhc1VuY2F1Z2h0RXJyb3IgPSB0cnVlO1xuICAgIGZpcnN0VW5jYXVnaHRFcnJvciA9IGVycm9yO1xuICB9XG59XG5cbnZhciBvblVuY2F1Z2h0RXJyb3IgPSBwcmVwYXJlVG9UaHJvd1VuY2F1Z2h0RXJyb3I7XG5cbmZ1bmN0aW9uIGNhcHR1cmVDb21taXRQaGFzZUVycm9yT25Sb290KHJvb3RGaWJlciwgc291cmNlRmliZXIsIGVycm9yKSB7XG4gIHZhciBlcnJvckluZm8gPSBjcmVhdGVDYXB0dXJlZFZhbHVlKGVycm9yLCBzb3VyY2VGaWJlcik7XG4gIHZhciB1cGRhdGUgPSBjcmVhdGVSb290RXJyb3JVcGRhdGUocm9vdEZpYmVyLCBlcnJvckluZm8sIFN5bmMpO1xuICBlbnF1ZXVlVXBkYXRlKHJvb3RGaWJlciwgdXBkYXRlKTtcbiAgdmFyIHJvb3QgPSBtYXJrVXBkYXRlVGltZUZyb21GaWJlclRvUm9vdChyb290RmliZXIsIFN5bmMpO1xuXG4gIGlmIChyb290ICE9PSBudWxsKSB7XG4gICAgZW5zdXJlUm9vdElzU2NoZWR1bGVkKHJvb3QpO1xuICAgIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBTeW5jKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjYXB0dXJlQ29tbWl0UGhhc2VFcnJvcihzb3VyY2VGaWJlciwgZXJyb3IpIHtcbiAgaWYgKHNvdXJjZUZpYmVyLnRhZyA9PT0gSG9zdFJvb3QpIHtcbiAgICAvLyBFcnJvciB3YXMgdGhyb3duIGF0IHRoZSByb290LiBUaGVyZSBpcyBubyBwYXJlbnQsIHNvIHRoZSByb290XG4gICAgLy8gaXRzZWxmIHNob3VsZCBjYXB0dXJlIGl0LlxuICAgIGNhcHR1cmVDb21taXRQaGFzZUVycm9yT25Sb290KHNvdXJjZUZpYmVyLCBzb3VyY2VGaWJlciwgZXJyb3IpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBmaWJlciA9IHNvdXJjZUZpYmVyLnJldHVybjtcblxuICB3aGlsZSAoZmliZXIgIT09IG51bGwpIHtcbiAgICBpZiAoZmliZXIudGFnID09PSBIb3N0Um9vdCkge1xuICAgICAgY2FwdHVyZUNvbW1pdFBoYXNlRXJyb3JPblJvb3QoZmliZXIsIHNvdXJjZUZpYmVyLCBlcnJvcik7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChmaWJlci50YWcgPT09IENsYXNzQ29tcG9uZW50KSB7XG4gICAgICB2YXIgY3RvciA9IGZpYmVyLnR5cGU7XG4gICAgICB2YXIgaW5zdGFuY2UgPSBmaWJlci5zdGF0ZU5vZGU7XG5cbiAgICAgIGlmICh0eXBlb2YgY3Rvci5nZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGluc3RhbmNlLmNvbXBvbmVudERpZENhdGNoID09PSAnZnVuY3Rpb24nICYmICFpc0FscmVhZHlGYWlsZWRMZWdhY3lFcnJvckJvdW5kYXJ5KGluc3RhbmNlKSkge1xuICAgICAgICB2YXIgZXJyb3JJbmZvID0gY3JlYXRlQ2FwdHVyZWRWYWx1ZShlcnJvciwgc291cmNlRmliZXIpO1xuICAgICAgICB2YXIgdXBkYXRlID0gY3JlYXRlQ2xhc3NFcnJvclVwZGF0ZShmaWJlciwgZXJyb3JJbmZvLCAvLyBUT0RPOiBUaGlzIGlzIGFsd2F5cyBzeW5jXG4gICAgICAgIFN5bmMpO1xuICAgICAgICBlbnF1ZXVlVXBkYXRlKGZpYmVyLCB1cGRhdGUpO1xuICAgICAgICB2YXIgcm9vdCA9IG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGZpYmVyLCBTeW5jKTtcblxuICAgICAgICBpZiAocm9vdCAhPT0gbnVsbCkge1xuICAgICAgICAgIGVuc3VyZVJvb3RJc1NjaGVkdWxlZChyb290KTtcbiAgICAgICAgICBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgU3luYyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmliZXIgPSBmaWJlci5yZXR1cm47XG4gIH1cbn1cbmZ1bmN0aW9uIHBpbmdTdXNwZW5kZWRSb290KHJvb3QsIHRoZW5hYmxlLCBzdXNwZW5kZWRUaW1lKSB7XG4gIHZhciBwaW5nQ2FjaGUgPSByb290LnBpbmdDYWNoZTtcblxuICBpZiAocGluZ0NhY2hlICE9PSBudWxsKSB7XG4gICAgLy8gVGhlIHRoZW5hYmxlIHJlc29sdmVkLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBtZW1vaXplLCBiZWNhdXNlIGl0IHdpbGxcbiAgICAvLyBuZXZlciBiZSB0aHJvd24gYWdhaW4uXG4gICAgcGluZ0NhY2hlLmRlbGV0ZSh0aGVuYWJsZSk7XG4gIH1cblxuICBpZiAod29ya0luUHJvZ3Jlc3NSb290ID09PSByb290ICYmIHJlbmRlckV4cGlyYXRpb25UaW1lJDEgPT09IHN1c3BlbmRlZFRpbWUpIHtcbiAgICAvLyBSZWNlaXZlZCBhIHBpbmcgYXQgdGhlIHNhbWUgcHJpb3JpdHkgbGV2ZWwgYXQgd2hpY2ggd2UncmUgY3VycmVudGx5XG4gICAgLy8gcmVuZGVyaW5nLiBXZSBtaWdodCB3YW50IHRvIHJlc3RhcnQgdGhpcyByZW5kZXIuIFRoaXMgc2hvdWxkIG1pcnJvclxuICAgIC8vIHRoZSBsb2dpYyBvZiB3aGV0aGVyIG9yIG5vdCBhIHJvb3Qgc3VzcGVuZHMgb25jZSBpdCBjb21wbGV0ZXMuXG4gICAgLy8gVE9ETzogSWYgd2UncmUgcmVuZGVyaW5nIHN5bmMgZWl0aGVyIGR1ZSB0byBTeW5jLCBCYXRjaGVkIG9yIGV4cGlyZWQsXG4gICAgLy8gd2Ugc2hvdWxkIHByb2JhYmx5IG5ldmVyIHJlc3RhcnQuXG4gICAgLy8gSWYgd2UncmUgc3VzcGVuZGVkIHdpdGggZGVsYXksIHdlJ2xsIGFsd2F5cyBzdXNwZW5kIHNvIHdlIGNhbiBhbHdheXNcbiAgICAvLyByZXN0YXJ0LiBJZiB3ZSdyZSBzdXNwZW5kZWQgd2l0aG91dCBhbnkgdXBkYXRlcywgaXQgbWlnaHQgYmUgYSByZXRyeS5cbiAgICAvLyBJZiBpdCdzIGVhcmx5IGluIHRoZSByZXRyeSB3ZSBjYW4gcmVzdGFydC4gV2UgY2FuJ3Qga25vdyBmb3Igc3VyZVxuICAgIC8vIHdoZXRoZXIgd2UnbGwgZXZlbnR1YWxseSBwcm9jZXNzIGFuIHVwZGF0ZSBkdXJpbmcgdGhpcyByZW5kZXIgcGFzcyxcbiAgICAvLyBidXQgaXQncyBzb21ld2hhdCB1bmxpa2VseSB0aGF0IHdlIGdldCB0byBhIHBpbmcgYmVmb3JlIHRoYXQsIHNpbmNlXG4gICAgLy8gZ2V0dGluZyB0byB0aGUgcm9vdCBtb3N0IHVwZGF0ZSBpcyB1c3VhbGx5IHZlcnkgZmFzdC5cbiAgICBpZiAod29ya0luUHJvZ3Jlc3NSb290RXhpdFN0YXR1cyA9PT0gUm9vdFN1c3BlbmRlZFdpdGhEZWxheSB8fCB3b3JrSW5Qcm9ncmVzc1Jvb3RFeGl0U3RhdHVzID09PSBSb290U3VzcGVuZGVkICYmIHdvcmtJblByb2dyZXNzUm9vdExhdGVzdFByb2Nlc3NlZEV4cGlyYXRpb25UaW1lID09PSBTeW5jICYmIG5vdygpIC0gZ2xvYmFsTW9zdFJlY2VudEZhbGxiYWNrVGltZSA8IEZBTExCQUNLX1RIUk9UVExFX01TKSB7XG4gICAgICAvLyBSZXN0YXJ0IGZyb20gdGhlIHJvb3QuIERvbid0IG5lZWQgdG8gc2NoZWR1bGUgYSBwaW5nIGJlY2F1c2VcbiAgICAgIC8vIHdlJ3JlIGFscmVhZHkgd29ya2luZyBvbiB0aGlzIHRyZWUuXG4gICAgICBwcmVwYXJlRnJlc2hTdGFjayhyb290LCByZW5kZXJFeHBpcmF0aW9uVGltZSQxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gRXZlbiB0aG91Z2ggd2UgY2FuJ3QgcmVzdGFydCByaWdodCBub3csIHdlIG1pZ2h0IGdldCBhblxuICAgICAgLy8gb3Bwb3J0dW5pdHkgbGF0ZXIuIFNvIHdlIG1hcmsgdGhpcyByZW5kZXIgYXMgaGF2aW5nIGEgcGluZy5cbiAgICAgIHdvcmtJblByb2dyZXNzUm9vdEhhc1BlbmRpbmdQaW5nID0gdHJ1ZTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIWlzUm9vdFN1c3BlbmRlZEF0VGltZShyb290LCBzdXNwZW5kZWRUaW1lKSkge1xuICAgIC8vIFRoZSByb290IGlzIG5vIGxvbmdlciBzdXNwZW5kZWQgYXQgdGhpcyB0aW1lLlxuICAgIHJldHVybjtcbiAgfVxuXG4gIHZhciBsYXN0UGluZ2VkVGltZSA9IHJvb3QubGFzdFBpbmdlZFRpbWU7XG5cbiAgaWYgKGxhc3RQaW5nZWRUaW1lICE9PSBOb1dvcmsgJiYgbGFzdFBpbmdlZFRpbWUgPCBzdXNwZW5kZWRUaW1lKSB7XG4gICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgbG93ZXIgcHJpb3JpdHkgcGluZyBzY2hlZHVsZWQuXG4gICAgcmV0dXJuO1xuICB9IC8vIE1hcmsgdGhlIHRpbWUgYXQgd2hpY2ggdGhpcyBwaW5nIHdhcyBzY2hlZHVsZWQuXG5cblxuICByb290Lmxhc3RQaW5nZWRUaW1lID0gc3VzcGVuZGVkVGltZTtcblxuICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gIHNjaGVkdWxlUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBzdXNwZW5kZWRUaW1lKTtcbn1cblxuZnVuY3Rpb24gcmV0cnlUaW1lZE91dEJvdW5kYXJ5KGJvdW5kYXJ5RmliZXIsIHJldHJ5VGltZSkge1xuICAvLyBUaGUgYm91bmRhcnkgZmliZXIgKGEgU3VzcGVuc2UgY29tcG9uZW50IG9yIFN1c3BlbnNlTGlzdCBjb21wb25lbnQpXG4gIC8vIHByZXZpb3VzbHkgd2FzIHJlbmRlcmVkIGluIGl0cyBmYWxsYmFjayBzdGF0ZS4gT25lIG9mIHRoZSBwcm9taXNlcyB0aGF0XG4gIC8vIHN1c3BlbmRlZCBpdCBoYXMgcmVzb2x2ZWQsIHdoaWNoIG1lYW5zIGF0IGxlYXN0IHBhcnQgb2YgdGhlIHRyZWUgd2FzXG4gIC8vIGxpa2VseSB1bmJsb2NrZWQuIFRyeSByZW5kZXJpbmcgYWdhaW4sIGF0IGEgbmV3IGV4cGlyYXRpb24gdGltZS5cbiAgaWYgKHJldHJ5VGltZSA9PT0gTm9Xb3JrKSB7XG4gICAgdmFyIHN1c3BlbnNlQ29uZmlnID0gbnVsbDsgLy8gUmV0cmllcyBkb24ndCBjYXJyeSBvdmVyIHRoZSBhbHJlYWR5IGNvbW1pdHRlZCB1cGRhdGUuXG5cbiAgICB2YXIgY3VycmVudFRpbWUgPSByZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKTtcbiAgICByZXRyeVRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBib3VuZGFyeUZpYmVyLCBzdXNwZW5zZUNvbmZpZyk7XG4gIH0gLy8gVE9ETzogU3BlY2lhbCBjYXNlIGlkbGUgcHJpb3JpdHk/XG5cblxuICB2YXIgcm9vdCA9IG1hcmtVcGRhdGVUaW1lRnJvbUZpYmVyVG9Sb290KGJvdW5kYXJ5RmliZXIsIHJldHJ5VGltZSk7XG5cbiAgaWYgKHJvb3QgIT09IG51bGwpIHtcbiAgICBlbnN1cmVSb290SXNTY2hlZHVsZWQocm9vdCk7XG4gICAgc2NoZWR1bGVQZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIHJldHJ5VGltZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlc29sdmVSZXRyeVRoZW5hYmxlKGJvdW5kYXJ5RmliZXIsIHRoZW5hYmxlKSB7XG4gIHZhciByZXRyeVRpbWUgPSBOb1dvcms7IC8vIERlZmF1bHRcblxuICB2YXIgcmV0cnlDYWNoZTtcblxuICB7XG4gICAgcmV0cnlDYWNoZSA9IGJvdW5kYXJ5RmliZXIuc3RhdGVOb2RlO1xuICB9XG5cbiAgaWYgKHJldHJ5Q2FjaGUgIT09IG51bGwpIHtcbiAgICAvLyBUaGUgdGhlbmFibGUgcmVzb2x2ZWQsIHNvIHdlIG5vIGxvbmdlciBuZWVkIHRvIG1lbW9pemUsIGJlY2F1c2UgaXQgd2lsbFxuICAgIC8vIG5ldmVyIGJlIHRocm93biBhZ2Fpbi5cbiAgICByZXRyeUNhY2hlLmRlbGV0ZSh0aGVuYWJsZSk7XG4gIH1cblxuICByZXRyeVRpbWVkT3V0Qm91bmRhcnkoYm91bmRhcnlGaWJlciwgcmV0cnlUaW1lKTtcbn0gLy8gQ29tcHV0ZXMgdGhlIG5leHQgSnVzdCBOb3RpY2VhYmxlIERpZmZlcmVuY2UgKEpORCkgYm91bmRhcnkuXG4vLyBUaGUgdGhlb3J5IGlzIHRoYXQgYSBwZXJzb24gY2FuJ3QgdGVsbCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHNtYWxsIGRpZmZlcmVuY2VzIGluIHRpbWUuXG4vLyBUaGVyZWZvcmUsIGlmIHdlIHdhaXQgYSBiaXQgbG9uZ2VyIHRoYW4gbmVjZXNzYXJ5IHRoYXQgd29uJ3QgdHJhbnNsYXRlIHRvIGEgbm90aWNlYWJsZVxuLy8gZGlmZmVyZW5jZSBpbiB0aGUgZXhwZXJpZW5jZS4gSG93ZXZlciwgd2FpdGluZyBmb3IgbG9uZ2VyIG1pZ2h0IG1lYW4gdGhhdCB3ZSBjYW4gYXZvaWRcbi8vIHNob3dpbmcgYW4gaW50ZXJtZWRpYXRlIGxvYWRpbmcgc3RhdGUuIFRoZSBsb25nZXIgd2UgaGF2ZSBhbHJlYWR5IHdhaXRlZCwgdGhlIGhhcmRlciBpdFxuLy8gaXMgdG8gdGVsbCBzbWFsbCBkaWZmZXJlbmNlcyBpbiB0aW1lLiBUaGVyZWZvcmUsIHRoZSBsb25nZXIgd2UndmUgYWxyZWFkeSB3YWl0ZWQsXG4vLyB0aGUgbG9uZ2VyIHdlIGNhbiB3YWl0IGFkZGl0aW9uYWxseS4gQXQgc29tZSBwb2ludCB3ZSBoYXZlIHRvIGdpdmUgdXAgdGhvdWdoLlxuLy8gV2UgcGljayBhIHRyYWluIG1vZGVsIHdoZXJlIHRoZSBuZXh0IGJvdW5kYXJ5IGNvbW1pdHMgYXQgYSBjb25zaXN0ZW50IHNjaGVkdWxlLlxuLy8gVGhlc2UgcGFydGljdWxhciBudW1iZXJzIGFyZSB2YWd1ZSBlc3RpbWF0ZXMuIFdlIGV4cGVjdCB0byBhZGp1c3QgdGhlbSBiYXNlZCBvbiByZXNlYXJjaC5cblxuZnVuY3Rpb24gam5kKHRpbWVFbGFwc2VkKSB7XG4gIHJldHVybiB0aW1lRWxhcHNlZCA8IDEyMCA/IDEyMCA6IHRpbWVFbGFwc2VkIDwgNDgwID8gNDgwIDogdGltZUVsYXBzZWQgPCAxMDgwID8gMTA4MCA6IHRpbWVFbGFwc2VkIDwgMTkyMCA/IDE5MjAgOiB0aW1lRWxhcHNlZCA8IDMwMDAgPyAzMDAwIDogdGltZUVsYXBzZWQgPCA0MzIwID8gNDMyMCA6IGNlaWwodGltZUVsYXBzZWQgLyAxOTYwKSAqIDE5NjA7XG59XG5cbmZ1bmN0aW9uIGNvbXB1dGVNc1VudGlsU3VzcGVuc2VMb2FkaW5nRGVsYXkobW9zdFJlY2VudEV2ZW50VGltZSwgY29tbWl0dGVkRXhwaXJhdGlvblRpbWUsIHN1c3BlbnNlQ29uZmlnKSB7XG4gIHZhciBidXN5TWluRHVyYXRpb25NcyA9IHN1c3BlbnNlQ29uZmlnLmJ1c3lNaW5EdXJhdGlvbk1zIHwgMDtcblxuICBpZiAoYnVzeU1pbkR1cmF0aW9uTXMgPD0gMCkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgdmFyIGJ1c3lEZWxheU1zID0gc3VzcGVuc2VDb25maWcuYnVzeURlbGF5TXMgfCAwOyAvLyBDb21wdXRlIHRoZSB0aW1lIHVudGlsIHRoaXMgcmVuZGVyIHBhc3Mgd291bGQgZXhwaXJlLlxuXG4gIHZhciBjdXJyZW50VGltZU1zID0gbm93KCk7XG4gIHZhciBldmVudFRpbWVNcyA9IGluZmVyVGltZUZyb21FeHBpcmF0aW9uVGltZVdpdGhTdXNwZW5zZUNvbmZpZyhtb3N0UmVjZW50RXZlbnRUaW1lLCBzdXNwZW5zZUNvbmZpZyk7XG4gIHZhciB0aW1lRWxhcHNlZCA9IGN1cnJlbnRUaW1lTXMgLSBldmVudFRpbWVNcztcblxuICBpZiAodGltZUVsYXBzZWQgPD0gYnVzeURlbGF5TXMpIHtcbiAgICAvLyBJZiB3ZSBoYXZlbid0IHlldCB3YWl0ZWQgbG9uZ2VyIHRoYW4gdGhlIGluaXRpYWwgZGVsYXksIHdlIGRvbid0XG4gICAgLy8gaGF2ZSB0byB3YWl0IGFueSBhZGRpdGlvbmFsIHRpbWUuXG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICB2YXIgbXNVbnRpbFRpbWVvdXQgPSBidXN5RGVsYXlNcyArIGJ1c3lNaW5EdXJhdGlvbk1zIC0gdGltZUVsYXBzZWQ7IC8vIFRoaXMgaXMgdGhlIHZhbHVlIHRoYXQgaXMgcGFzc2VkIHRvIGBzZXRUaW1lb3V0YC5cblxuICByZXR1cm4gbXNVbnRpbFRpbWVvdXQ7XG59XG5cbmZ1bmN0aW9uIGNoZWNrRm9yTmVzdGVkVXBkYXRlcygpIHtcbiAgaWYgKG5lc3RlZFVwZGF0ZUNvdW50ID4gTkVTVEVEX1VQREFURV9MSU1JVCkge1xuICAgIG5lc3RlZFVwZGF0ZUNvdW50ID0gMDtcbiAgICByb290V2l0aE5lc3RlZFVwZGF0ZXMgPSBudWxsO1xuXG4gICAge1xuICAgICAge1xuICAgICAgICB0aHJvdyBFcnJvciggXCJNYXhpbXVtIHVwZGF0ZSBkZXB0aCBleGNlZWRlZC4gVGhpcyBjYW4gaGFwcGVuIHdoZW4gYSBjb21wb25lbnQgcmVwZWF0ZWRseSBjYWxscyBzZXRTdGF0ZSBpbnNpZGUgY29tcG9uZW50V2lsbFVwZGF0ZSBvciBjb21wb25lbnREaWRVcGRhdGUuIFJlYWN0IGxpbWl0cyB0aGUgbnVtYmVyIG9mIG5lc3RlZCB1cGRhdGVzIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcHMuXCIgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKG5lc3RlZFBhc3NpdmVVcGRhdGVDb3VudCA+IE5FU1RFRF9QQVNTSVZFX1VQREFURV9MSU1JVCkge1xuICAgICAgbmVzdGVkUGFzc2l2ZVVwZGF0ZUNvdW50ID0gMDtcblxuICAgICAgZXJyb3IoJ01heGltdW0gdXBkYXRlIGRlcHRoIGV4Y2VlZGVkLiBUaGlzIGNhbiBoYXBwZW4gd2hlbiBhIGNvbXBvbmVudCAnICsgXCJjYWxscyBzZXRTdGF0ZSBpbnNpZGUgdXNlRWZmZWN0LCBidXQgdXNlRWZmZWN0IGVpdGhlciBkb2Vzbid0IFwiICsgJ2hhdmUgYSBkZXBlbmRlbmN5IGFycmF5LCBvciBvbmUgb2YgdGhlIGRlcGVuZGVuY2llcyBjaGFuZ2VzIG9uICcgKyAnZXZlcnkgcmVuZGVyLicpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFJlbmRlclBoYXNlU3RyaWN0TW9kZVdhcm5pbmdzSW5ERVYoKSB7XG4gIHtcbiAgICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5mbHVzaExlZ2FjeUNvbnRleHRXYXJuaW5nKCk7XG5cbiAgICB7XG4gICAgICBSZWFjdFN0cmljdE1vZGVXYXJuaW5ncy5mbHVzaFBlbmRpbmdVbnNhZmVMaWZlY3ljbGVXYXJuaW5ncygpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wRmluaXNoZWRXb3JrTG9vcFRpbWVyKCkge1xuICB2YXIgZGlkQ29tcGxldGVSb290ID0gdHJ1ZTtcbiAgc3RvcFdvcmtMb29wVGltZXIoaW50ZXJydXB0ZWRCeSwgZGlkQ29tcGxldGVSb290KTtcbiAgaW50ZXJydXB0ZWRCeSA9IG51bGw7XG59XG5cbmZ1bmN0aW9uIHN0b3BJbnRlcnJ1cHRlZFdvcmtMb29wVGltZXIoKSB7XG4gIC8vIFRPRE86IFRyYWNrIHdoaWNoIGZpYmVyIGNhdXNlZCB0aGUgaW50ZXJydXB0aW9uLlxuICB2YXIgZGlkQ29tcGxldGVSb290ID0gZmFsc2U7XG4gIHN0b3BXb3JrTG9vcFRpbWVyKGludGVycnVwdGVkQnksIGRpZENvbXBsZXRlUm9vdCk7XG4gIGludGVycnVwdGVkQnkgPSBudWxsO1xufVxuXG5mdW5jdGlvbiBjaGVja0ZvckludGVycnVwdGlvbihmaWJlclRoYXRSZWNlaXZlZFVwZGF0ZSwgdXBkYXRlRXhwaXJhdGlvblRpbWUpIHtcbiAgaWYgKCB3b3JrSW5Qcm9ncmVzc1Jvb3QgIT09IG51bGwgJiYgdXBkYXRlRXhwaXJhdGlvblRpbWUgPiByZW5kZXJFeHBpcmF0aW9uVGltZSQxKSB7XG4gICAgaW50ZXJydXB0ZWRCeSA9IGZpYmVyVGhhdFJlY2VpdmVkVXBkYXRlO1xuICB9XG59XG5cbnZhciBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQgPSBudWxsO1xuXG5mdW5jdGlvbiB3YXJuQWJvdXRVcGRhdGVPblVubW91bnRlZEZpYmVySW5ERVYoZmliZXIpIHtcbiAge1xuICAgIHZhciB0YWcgPSBmaWJlci50YWc7XG5cbiAgICBpZiAodGFnICE9PSBIb3N0Um9vdCAmJiB0YWcgIT09IENsYXNzQ29tcG9uZW50ICYmIHRhZyAhPT0gRnVuY3Rpb25Db21wb25lbnQgJiYgdGFnICE9PSBGb3J3YXJkUmVmICYmIHRhZyAhPT0gTWVtb0NvbXBvbmVudCAmJiB0YWcgIT09IFNpbXBsZU1lbW9Db21wb25lbnQgJiYgdGFnICE9PSBCbG9jaykge1xuICAgICAgLy8gT25seSB3YXJuIGZvciB1c2VyLWRlZmluZWQgY29tcG9uZW50cywgbm90IGludGVybmFsIG9uZXMgbGlrZSBTdXNwZW5zZS5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gdGhlIHByb2JsZW1hdGljIGNvZGUgYWxtb3N0IGFsd2F5cyBsaWVzIGluc2lkZSB0aGF0IGNvbXBvbmVudC5cblxuXG4gICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdSZWFjdENvbXBvbmVudCc7XG5cbiAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50ICE9PSBudWxsKSB7XG4gICAgICBpZiAoZGlkV2FyblN0YXRlVXBkYXRlRm9yVW5tb3VudGVkQ29tcG9uZW50Lmhhcyhjb21wb25lbnROYW1lKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudC5hZGQoY29tcG9uZW50TmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudCA9IG5ldyBTZXQoW2NvbXBvbmVudE5hbWVdKTtcbiAgICB9XG5cbiAgICBlcnJvcihcIkNhbid0IHBlcmZvcm0gYSBSZWFjdCBzdGF0ZSB1cGRhdGUgb24gYW4gdW5tb3VudGVkIGNvbXBvbmVudC4gVGhpcyBcIiArICdpcyBhIG5vLW9wLCBidXQgaXQgaW5kaWNhdGVzIGEgbWVtb3J5IGxlYWsgaW4geW91ciBhcHBsaWNhdGlvbi4gVG8gJyArICdmaXgsIGNhbmNlbCBhbGwgc3Vic2NyaXB0aW9ucyBhbmQgYXN5bmNocm9ub3VzIHRhc2tzIGluICVzLiVzJywgdGFnID09PSBDbGFzc0NvbXBvbmVudCA/ICd0aGUgY29tcG9uZW50V2lsbFVubW91bnQgbWV0aG9kJyA6ICdhIHVzZUVmZmVjdCBjbGVhbnVwIGZ1bmN0aW9uJywgZ2V0U3RhY2tCeUZpYmVySW5EZXZBbmRQcm9kKGZpYmVyKSk7XG4gIH1cbn1cblxudmFyIGJlZ2luV29yayQxO1xuXG57XG4gIHZhciBkdW1teUZpYmVyID0gbnVsbDtcblxuICBiZWdpbldvcmskMSA9IGZ1bmN0aW9uIChjdXJyZW50LCB1bml0T2ZXb3JrLCBleHBpcmF0aW9uVGltZSkge1xuICAgIC8vIElmIGEgY29tcG9uZW50IHRocm93cyBhbiBlcnJvciwgd2UgcmVwbGF5IGl0IGFnYWluIGluIGEgc3luY2hyb25vdXNseVxuICAgIC8vIGRpc3BhdGNoZWQgZXZlbnQsIHNvIHRoYXQgdGhlIGRlYnVnZ2VyIHdpbGwgdHJlYXQgaXQgYXMgYW4gdW5jYXVnaHRcbiAgICAvLyBlcnJvciBTZWUgUmVhY3RFcnJvclV0aWxzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICAgIC8vIEJlZm9yZSBlbnRlcmluZyB0aGUgYmVnaW4gcGhhc2UsIGNvcHkgdGhlIHdvcmstaW4tcHJvZ3Jlc3Mgb250byBhIGR1bW15XG4gICAgLy8gZmliZXIuIElmIGJlZ2luV29yayB0aHJvd3MsIHdlJ2xsIHVzZSB0aGlzIHRvIHJlc2V0IHRoZSBzdGF0ZS5cbiAgICB2YXIgb3JpZ2luYWxXb3JrSW5Qcm9ncmVzc0NvcHkgPSBhc3NpZ25GaWJlclByb3BlcnRpZXNJbkRFVihkdW1teUZpYmVyLCB1bml0T2ZXb3JrKTtcblxuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYmVnaW5Xb3JrKGN1cnJlbnQsIHVuaXRPZldvcmssIGV4cGlyYXRpb25UaW1lKTtcbiAgICB9IGNhdGNoIChvcmlnaW5hbEVycm9yKSB7XG4gICAgICBpZiAob3JpZ2luYWxFcnJvciAhPT0gbnVsbCAmJiB0eXBlb2Ygb3JpZ2luYWxFcnJvciA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9yaWdpbmFsRXJyb3IudGhlbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAvLyBEb24ndCByZXBsYXkgcHJvbWlzZXMuIFRyZWF0IGV2ZXJ5dGhpbmcgZWxzZSBsaWtlIGFuIGVycm9yLlxuICAgICAgICB0aHJvdyBvcmlnaW5hbEVycm9yO1xuICAgICAgfSAvLyBLZWVwIHRoaXMgY29kZSBpbiBzeW5jIHdpdGggaGFuZGxlRXJyb3I7IGFueSBjaGFuZ2VzIGhlcmUgbXVzdCBoYXZlXG4gICAgICAvLyBjb3JyZXNwb25kaW5nIGNoYW5nZXMgdGhlcmUuXG5cblxuICAgICAgcmVzZXRDb250ZXh0RGVwZW5kZW5jaWVzKCk7XG4gICAgICByZXNldEhvb2tzQWZ0ZXJUaHJvdygpOyAvLyBEb24ndCByZXNldCBjdXJyZW50IGRlYnVnIGZpYmVyLCBzaW5jZSB3ZSdyZSBhYm91dCB0byB3b3JrIG9uIHRoZVxuICAgICAgLy8gc2FtZSBmaWJlciBhZ2Fpbi5cbiAgICAgIC8vIFVud2luZCB0aGUgZmFpbGVkIHN0YWNrIGZyYW1lXG5cbiAgICAgIHVud2luZEludGVycnVwdGVkV29yayh1bml0T2ZXb3JrKTsgLy8gUmVzdG9yZSB0aGUgb3JpZ2luYWwgcHJvcGVydGllcyBvZiB0aGUgZmliZXIuXG5cbiAgICAgIGFzc2lnbkZpYmVyUHJvcGVydGllc0luREVWKHVuaXRPZldvcmssIG9yaWdpbmFsV29ya0luUHJvZ3Jlc3NDb3B5KTtcblxuICAgICAgaWYgKCB1bml0T2ZXb3JrLm1vZGUgJiBQcm9maWxlTW9kZSkge1xuICAgICAgICAvLyBSZXNldCB0aGUgcHJvZmlsZXIgdGltZXIuXG4gICAgICAgIHN0YXJ0UHJvZmlsZXJUaW1lcih1bml0T2ZXb3JrKTtcbiAgICAgIH0gLy8gUnVuIGJlZ2luV29yayBhZ2Fpbi5cblxuXG4gICAgICBpbnZva2VHdWFyZGVkQ2FsbGJhY2sobnVsbCwgYmVnaW5Xb3JrLCBudWxsLCBjdXJyZW50LCB1bml0T2ZXb3JrLCBleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgIGlmIChoYXNDYXVnaHRFcnJvcigpKSB7XG4gICAgICAgIHZhciByZXBsYXlFcnJvciA9IGNsZWFyQ2F1Z2h0RXJyb3IoKTsgLy8gYGludm9rZUd1YXJkZWRDYWxsYmFja2Agc29tZXRpbWVzIHNldHMgYW4gZXhwYW5kbyBgX3N1cHByZXNzTG9nZ2luZ2AuXG4gICAgICAgIC8vIFJldGhyb3cgdGhpcyBlcnJvciBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbCBvbmUuXG5cbiAgICAgICAgdGhyb3cgcmVwbGF5RXJyb3I7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGJyYW5jaCBpcyByZWFjaGFibGUgaWYgdGhlIHJlbmRlciBwaGFzZSBpcyBpbXB1cmUuXG4gICAgICAgIHRocm93IG9yaWdpbmFsRXJyb3I7XG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuXG52YXIgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXIgPSBmYWxzZTtcbnZhciBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQ7XG5cbntcbiAgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXJGb3JBbm90aGVyQ29tcG9uZW50ID0gbmV3IFNldCgpO1xufVxuXG5mdW5jdGlvbiB3YXJuQWJvdXRSZW5kZXJQaGFzZVVwZGF0ZXNJbkRFVihmaWJlcikge1xuICB7XG4gICAgaWYgKGlzUmVuZGVyaW5nICYmIChleGVjdXRpb25Db250ZXh0ICYgUmVuZGVyQ29udGV4dCkgIT09IE5vQ29udGV4dCkge1xuICAgICAgc3dpdGNoIChmaWJlci50YWcpIHtcbiAgICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICBjYXNlIFNpbXBsZU1lbW9Db21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgdmFyIHJlbmRlcmluZ0NvbXBvbmVudE5hbWUgPSB3b3JrSW5Qcm9ncmVzcyAmJiBnZXRDb21wb25lbnROYW1lKHdvcmtJblByb2dyZXNzLnR5cGUpIHx8ICdVbmtub3duJzsgLy8gRGVkdXBlIGJ5IHRoZSByZW5kZXJpbmcgY29tcG9uZW50IGJlY2F1c2UgaXQncyB0aGUgb25lIHRoYXQgbmVlZHMgdG8gYmUgZml4ZWQuXG5cbiAgICAgICAgICAgIHZhciBkZWR1cGVLZXkgPSByZW5kZXJpbmdDb21wb25lbnROYW1lO1xuXG4gICAgICAgICAgICBpZiAoIWRpZFdhcm5BYm91dFVwZGF0ZUluUmVuZGVyRm9yQW5vdGhlckNvbXBvbmVudC5oYXMoZGVkdXBlS2V5KSkge1xuICAgICAgICAgICAgICBkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlckZvckFub3RoZXJDb21wb25lbnQuYWRkKGRlZHVwZUtleSk7XG4gICAgICAgICAgICAgIHZhciBzZXRTdGF0ZUNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdVbmtub3duJztcblxuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBhIGNvbXBvbmVudCAoYCVzYCkgd2hpbGUgcmVuZGVyaW5nIGEgJyArICdkaWZmZXJlbnQgY29tcG9uZW50IChgJXNgKS4gVG8gbG9jYXRlIHRoZSBiYWQgc2V0U3RhdGUoKSBjYWxsIGluc2lkZSBgJXNgLCAnICsgJ2ZvbGxvdyB0aGUgc3RhY2sgdHJhY2UgYXMgZGVzY3JpYmVkIGluIGh0dHBzOi8vZmIubWUvc2V0c3RhdGUtaW4tcmVuZGVyJywgc2V0U3RhdGVDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lLCByZW5kZXJpbmdDb21wb25lbnROYW1lKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgQ2xhc3NDb21wb25lbnQ6XG4gICAgICAgICAge1xuICAgICAgICAgICAgaWYgKCFkaWRXYXJuQWJvdXRVcGRhdGVJblJlbmRlcikge1xuICAgICAgICAgICAgICBlcnJvcignQ2Fubm90IHVwZGF0ZSBkdXJpbmcgYW4gZXhpc3Rpbmcgc3RhdGUgdHJhbnNpdGlvbiAoc3VjaCBhcyAnICsgJ3dpdGhpbiBgcmVuZGVyYCkuIFJlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgJyArICdmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuJyk7XG5cbiAgICAgICAgICAgICAgZGlkV2FybkFib3V0VXBkYXRlSW5SZW5kZXIgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IC8vIGEgJ3NoYXJlZCcgdmFyaWFibGUgdGhhdCBjaGFuZ2VzIHdoZW4gYWN0KCkgb3BlbnMvY2xvc2VzIGluIHRlc3RzLlxuXG5cbnZhciBJc1RoaXNSZW5kZXJlckFjdGluZyA9IHtcbiAgY3VycmVudDogZmFsc2Vcbn07XG5mdW5jdGlvbiB3YXJuSWZOb3RTY29wZWRXaXRoTWF0Y2hpbmdBY3QoZmliZXIpIHtcbiAge1xuICAgIGlmICggSXNTb21lUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gdHJ1ZSAmJiBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50ICE9PSB0cnVlKSB7XG4gICAgICBlcnJvcihcIkl0IGxvb2tzIGxpa2UgeW91J3JlIHVzaW5nIHRoZSB3cm9uZyBhY3QoKSBhcm91bmQgeW91ciB0ZXN0IGludGVyYWN0aW9ucy5cXG5cIiArICdCZSBzdXJlIHRvIHVzZSB0aGUgbWF0Y2hpbmcgdmVyc2lvbiBvZiBhY3QoKSBjb3JyZXNwb25kaW5nIHRvIHlvdXIgcmVuZGVyZXI6XFxuXFxuJyArICcvLyBmb3IgcmVhY3QtZG9tOlxcbicgKyBcImltcG9ydCB7YWN0fSBmcm9tICdyZWFjdC1kb20vdGVzdC11dGlscyc7XFxuXCIgKyAnLy8gLi4uXFxuJyArICdhY3QoKCkgPT4gLi4uKTtcXG5cXG4nICsgJy8vIGZvciByZWFjdC10ZXN0LXJlbmRlcmVyOlxcbicgKyBcImltcG9ydCBUZXN0UmVuZGVyZXIgZnJvbSAncmVhY3QtdGVzdC1yZW5kZXJlcic7XFxuXCIgKyAnY29uc3Qge2FjdH0gPSBUZXN0UmVuZGVyZXI7XFxuJyArICcvLyAuLi5cXG4nICsgJ2FjdCgoKSA9PiAuLi4pOycgKyAnJXMnLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHdhcm5JZk5vdEN1cnJlbnRseUFjdGluZ0VmZmVjdHNJbkRFVihmaWJlcikge1xuICB7XG4gICAgaWYgKCAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUpICE9PSBOb01vZGUgJiYgSXNTb21lUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gZmFsc2UgJiYgSXNUaGlzUmVuZGVyZXJBY3RpbmcuY3VycmVudCA9PT0gZmFsc2UpIHtcbiAgICAgIGVycm9yKCdBbiB1cGRhdGUgdG8gJXMgcmFuIGFuIGVmZmVjdCwgYnV0IHdhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcmVhY3Qtd3JhcC10ZXN0cy13aXRoLWFjdCcgKyAnJXMnLCBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gd2FybklmTm90Q3VycmVudGx5QWN0aW5nVXBkYXRlc0luREVWKGZpYmVyKSB7XG4gIHtcbiAgICBpZiAoIGV4ZWN1dGlvbkNvbnRleHQgPT09IE5vQ29udGV4dCAmJiBJc1NvbWVSZW5kZXJlckFjdGluZy5jdXJyZW50ID09PSBmYWxzZSAmJiBJc1RoaXNSZW5kZXJlckFjdGluZy5jdXJyZW50ID09PSBmYWxzZSkge1xuICAgICAgZXJyb3IoJ0FuIHVwZGF0ZSB0byAlcyBpbnNpZGUgYSB0ZXN0IHdhcyBub3Qgd3JhcHBlZCBpbiBhY3QoLi4uKS5cXG5cXG4nICsgJ1doZW4gdGVzdGluZywgY29kZSB0aGF0IGNhdXNlcyBSZWFjdCBzdGF0ZSB1cGRhdGVzIHNob3VsZCBiZSAnICsgJ3dyYXBwZWQgaW50byBhY3QoLi4uKTpcXG5cXG4nICsgJ2FjdCgoKSA9PiB7XFxuJyArICcgIC8qIGZpcmUgZXZlbnRzIHRoYXQgdXBkYXRlIHN0YXRlICovXFxuJyArICd9KTtcXG4nICsgJy8qIGFzc2VydCBvbiB0aGUgb3V0cHV0ICovXFxuXFxuJyArIFwiVGhpcyBlbnN1cmVzIHRoYXQgeW91J3JlIHRlc3RpbmcgdGhlIGJlaGF2aW9yIHRoZSB1c2VyIHdvdWxkIHNlZSBcIiArICdpbiB0aGUgYnJvd3Nlci4nICsgJyBMZWFybiBtb3JlIGF0IGh0dHBzOi8vZmIubWUvcmVhY3Qtd3JhcC10ZXN0cy13aXRoLWFjdCcgKyAnJXMnLCBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoZmliZXIpKTtcbiAgICB9XG4gIH1cbn1cblxudmFyIHdhcm5JZk5vdEN1cnJlbnRseUFjdGluZ1VwZGF0ZXNJbkRldiA9IHdhcm5JZk5vdEN1cnJlbnRseUFjdGluZ1VwZGF0ZXNJbkRFVjsgLy8gSW4gdGVzdHMsIHdlIHdhbnQgdG8gZW5mb3JjZSBhIG1vY2tlZCBzY2hlZHVsZXIuXG5cbnZhciBkaWRXYXJuQWJvdXRVbm1vY2tlZFNjaGVkdWxlciA9IGZhbHNlOyAvLyBUT0RPIEJlZm9yZSB3ZSByZWxlYXNlIGNvbmN1cnJlbnQgbW9kZSwgcmV2aXNpdCB0aGlzIGFuZCBkZWNpZGUgd2hldGhlciBhIG1vY2tlZFxuLy8gc2NoZWR1bGVyIGlzIHRoZSBhY3R1YWwgcmVjb21tZW5kYXRpb24uIFRoZSBhbHRlcm5hdGl2ZSBjb3VsZCBiZSBhIHRlc3RpbmcgYnVpbGQsXG4vLyBhIG5ldyBsaWIsIG9yIHdoYXRldmVyOyB3ZSBkdW5ubyBqdXN0IHlldC4gVGhpcyBtZXNzYWdlIGlzIGZvciBlYXJseSBhZG9wdGVyc1xuLy8gdG8gZ2V0IHRoZWlyIHRlc3RzIHJpZ2h0LlxuXG5mdW5jdGlvbiB3YXJuSWZVbm1vY2tlZFNjaGVkdWxlcihmaWJlcikge1xuICB7XG4gICAgaWYgKGRpZFdhcm5BYm91dFVubW9ja2VkU2NoZWR1bGVyID09PSBmYWxzZSAmJiBTY2hlZHVsZXIudW5zdGFibGVfZmx1c2hBbGxXaXRob3V0QXNzZXJ0aW5nID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChmaWJlci5tb2RlICYgQmxvY2tpbmdNb2RlIHx8IGZpYmVyLm1vZGUgJiBDb25jdXJyZW50TW9kZSkge1xuICAgICAgICBkaWRXYXJuQWJvdXRVbm1vY2tlZFNjaGVkdWxlciA9IHRydWU7XG5cbiAgICAgICAgZXJyb3IoJ0luIENvbmN1cnJlbnQgb3IgU3luYyBtb2RlcywgdGhlIFwic2NoZWR1bGVyXCIgbW9kdWxlIG5lZWRzIHRvIGJlIG1vY2tlZCAnICsgJ3RvIGd1YXJhbnRlZSBjb25zaXN0ZW50IGJlaGF2aW91ciBhY3Jvc3MgdGVzdHMgYW5kIGJyb3dzZXJzLiAnICsgJ0ZvciBleGFtcGxlLCB3aXRoIGplc3Q6IFxcbicgKyBcImplc3QubW9jaygnc2NoZWR1bGVyJywgKCkgPT4gcmVxdWlyZSgnc2NoZWR1bGVyL3Vuc3RhYmxlX21vY2snKSk7XFxuXFxuXCIgKyAnRm9yIG1vcmUgaW5mbywgdmlzaXQgaHR0cHM6Ly9mYi5tZS9yZWFjdC1tb2NrLXNjaGVkdWxlcicpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjb21wdXRlVGhyZWFkSUQocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcbiAgLy8gSW50ZXJhY3Rpb24gdGhyZWFkcyBhcmUgdW5pcXVlIHBlciByb290IGFuZCBleHBpcmF0aW9uIHRpbWUuXG4gIHJldHVybiBleHBpcmF0aW9uVGltZSAqIDEwMDAgKyByb290LmludGVyYWN0aW9uVGhyZWFkSUQ7XG59XG5cbmZ1bmN0aW9uIG1hcmtTcGF3bmVkV29yayhleHBpcmF0aW9uVGltZSkge1xuXG4gIGlmIChzcGF3bmVkV29ya0R1cmluZ1JlbmRlciA9PT0gbnVsbCkge1xuICAgIHNwYXduZWRXb3JrRHVyaW5nUmVuZGVyID0gW2V4cGlyYXRpb25UaW1lXTtcbiAgfSBlbHNlIHtcbiAgICBzcGF3bmVkV29ya0R1cmluZ1JlbmRlci5wdXNoKGV4cGlyYXRpb25UaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZUludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZSwgaW50ZXJhY3Rpb25zKSB7XG5cbiAgaWYgKGludGVyYWN0aW9ucy5zaXplID4gMCkge1xuICAgIHZhciBwZW5kaW5nSW50ZXJhY3Rpb25NYXAgPSByb290LnBlbmRpbmdJbnRlcmFjdGlvbk1hcDtcbiAgICB2YXIgcGVuZGluZ0ludGVyYWN0aW9ucyA9IHBlbmRpbmdJbnRlcmFjdGlvbk1hcC5nZXQoZXhwaXJhdGlvblRpbWUpO1xuXG4gICAgaWYgKHBlbmRpbmdJbnRlcmFjdGlvbnMgIT0gbnVsbCkge1xuICAgICAgaW50ZXJhY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKGludGVyYWN0aW9uKSB7XG4gICAgICAgIGlmICghcGVuZGluZ0ludGVyYWN0aW9ucy5oYXMoaW50ZXJhY3Rpb24pKSB7XG4gICAgICAgICAgLy8gVXBkYXRlIHRoZSBwZW5kaW5nIGFzeW5jIHdvcmsgY291bnQgZm9yIHByZXZpb3VzbHkgdW5zY2hlZHVsZWQgaW50ZXJhY3Rpb24uXG4gICAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudCsrO1xuICAgICAgICB9XG5cbiAgICAgICAgcGVuZGluZ0ludGVyYWN0aW9ucy5hZGQoaW50ZXJhY3Rpb24pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBlbmRpbmdJbnRlcmFjdGlvbk1hcC5zZXQoZXhwaXJhdGlvblRpbWUsIG5ldyBTZXQoaW50ZXJhY3Rpb25zKSk7IC8vIFVwZGF0ZSB0aGUgcGVuZGluZyBhc3luYyB3b3JrIGNvdW50IGZvciB0aGUgY3VycmVudCBpbnRlcmFjdGlvbnMuXG5cbiAgICAgIGludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xuICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50Kys7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgc3Vic2NyaWJlciA9IHRyYWNpbmcuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQ7XG5cbiAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xuICAgICAgdmFyIHRocmVhZElEID0gY29tcHV0ZVRocmVhZElEKHJvb3QsIGV4cGlyYXRpb25UaW1lKTtcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU2NoZWR1bGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzY2hlZHVsZVBlbmRpbmdJbnRlcmFjdGlvbnMocm9vdCwgZXhwaXJhdGlvblRpbWUpIHtcblxuICBzY2hlZHVsZUludGVyYWN0aW9ucyhyb290LCBleHBpcmF0aW9uVGltZSwgdHJhY2luZy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50KTtcbn1cblxuZnVuY3Rpb24gc3RhcnRXb3JrT25QZW5kaW5nSW50ZXJhY3Rpb25zKHJvb3QsIGV4cGlyYXRpb25UaW1lKSB7XG4gIC8vIHdlIGNhbiBhY2N1cmF0ZWx5IGF0dHJpYnV0ZSB0aW1lIHNwZW50IHdvcmtpbmcgb24gaXQsIEFuZCBzbyB0aGF0IGNhc2NhZGluZ1xuICAvLyB3b3JrIHRyaWdnZXJlZCBkdXJpbmcgdGhlIHJlbmRlciBwaGFzZSB3aWxsIGJlIGFzc29jaWF0ZWQgd2l0aCBpdC5cblxuXG4gIHZhciBpbnRlcmFjdGlvbnMgPSBuZXcgU2V0KCk7XG4gIHJvb3QucGVuZGluZ0ludGVyYWN0aW9uTWFwLmZvckVhY2goZnVuY3Rpb24gKHNjaGVkdWxlZEludGVyYWN0aW9ucywgc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUpIHtcbiAgICBpZiAoc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUgPj0gZXhwaXJhdGlvblRpbWUpIHtcbiAgICAgIHNjaGVkdWxlZEludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xuICAgICAgICByZXR1cm4gaW50ZXJhY3Rpb25zLmFkZChpbnRlcmFjdGlvbik7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pOyAvLyBTdG9yZSB0aGUgY3VycmVudCBzZXQgb2YgaW50ZXJhY3Rpb25zIG9uIHRoZSBGaWJlclJvb3QgZm9yIGEgZmV3IHJlYXNvbnM6XG4gIC8vIFdlIGNhbiByZS11c2UgaXQgaW4gaG90IGZ1bmN0aW9ucyBsaWtlIHBlcmZvcm1Db25jdXJyZW50V29ya09uUm9vdCgpXG4gIC8vIHdpdGhvdXQgaGF2aW5nIHRvIHJlY2FsY3VsYXRlIGl0LiBXZSB3aWxsIGFsc28gdXNlIGl0IGluIGNvbW1pdFdvcmsoKSB0b1xuICAvLyBwYXNzIHRvIGFueSBQcm9maWxlciBvblJlbmRlcigpIGhvb2tzLiBUaGlzIGFsc28gcHJvdmlkZXMgRGV2VG9vbHMgd2l0aCBhXG4gIC8vIHdheSB0byBhY2Nlc3MgaXQgd2hlbiB0aGUgb25Db21taXRSb290KCkgaG9vayBpcyBjYWxsZWQuXG5cbiAgcm9vdC5tZW1vaXplZEludGVyYWN0aW9ucyA9IGludGVyYWN0aW9ucztcblxuICBpZiAoaW50ZXJhY3Rpb25zLnNpemUgPiAwKSB7XG4gICAgdmFyIHN1YnNjcmliZXIgPSB0cmFjaW5nLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xuXG4gICAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcbiAgICAgIHZhciB0aHJlYWRJRCA9IGNvbXB1dGVUaHJlYWRJRChyb290LCBleHBpcmF0aW9uVGltZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RhcnRlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIElmIHRoZSBzdWJzY3JpYmVyIHRocm93cywgcmV0aHJvdyBpdCBpbiBhIHNlcGFyYXRlIHRhc2tcbiAgICAgICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluaXNoUGVuZGluZ0ludGVyYWN0aW9ucyhyb290LCBjb21taXR0ZWRFeHBpcmF0aW9uVGltZSkge1xuXG4gIHZhciBlYXJsaWVzdFJlbWFpbmluZ1RpbWVBZnRlckNvbW1pdCA9IHJvb3QuZmlyc3RQZW5kaW5nVGltZTtcbiAgdmFyIHN1YnNjcmliZXI7XG5cbiAgdHJ5IHtcbiAgICBzdWJzY3JpYmVyID0gdHJhY2luZy5fX3N1YnNjcmliZXJSZWYuY3VycmVudDtcblxuICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsICYmIHJvb3QubWVtb2l6ZWRJbnRlcmFjdGlvbnMuc2l6ZSA+IDApIHtcbiAgICAgIHZhciB0aHJlYWRJRCA9IGNvbXB1dGVUaHJlYWRJRChyb290LCBjb21taXR0ZWRFeHBpcmF0aW9uVGltZSk7XG4gICAgICBzdWJzY3JpYmVyLm9uV29ya1N0b3BwZWQocm9vdC5tZW1vaXplZEludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBJZiB0aGUgc3Vic2NyaWJlciB0aHJvd3MsIHJldGhyb3cgaXQgaW4gYSBzZXBhcmF0ZSB0YXNrXG4gICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfSk7XG4gIH0gZmluYWxseSB7XG4gICAgLy8gQ2xlYXIgY29tcGxldGVkIGludGVyYWN0aW9ucyBmcm9tIHRoZSBwZW5kaW5nIE1hcC5cbiAgICAvLyBVbmxlc3MgdGhlIHJlbmRlciB3YXMgc3VzcGVuZGVkIG9yIGNhc2NhZGluZyB3b3JrIHdhcyBzY2hlZHVsZWQsXG4gICAgLy8gSW4gd2hpY2ggY2FzZeKAkyBsZWF2ZSBwZW5kaW5nIGludGVyYWN0aW9ucyB1bnRpbCB0aGUgc3Vic2VxdWVudCByZW5kZXIuXG4gICAgdmFyIHBlbmRpbmdJbnRlcmFjdGlvbk1hcCA9IHJvb3QucGVuZGluZ0ludGVyYWN0aW9uTWFwO1xuICAgIHBlbmRpbmdJbnRlcmFjdGlvbk1hcC5mb3JFYWNoKGZ1bmN0aW9uIChzY2hlZHVsZWRJbnRlcmFjdGlvbnMsIHNjaGVkdWxlZEV4cGlyYXRpb25UaW1lKSB7XG4gICAgICAvLyBPbmx5IGRlY3JlbWVudCB0aGUgcGVuZGluZyBpbnRlcmFjdGlvbiBjb3VudCBpZiB3ZSdyZSBkb25lLlxuICAgICAgLy8gSWYgdGhlcmUncyBzdGlsbCB3b3JrIGF0IHRoZSBjdXJyZW50IHByaW9yaXR5LFxuICAgICAgLy8gVGhhdCBpbmRpY2F0ZXMgdGhhdCB3ZSBhcmUgd2FpdGluZyBmb3Igc3VzcGVuc2UgZGF0YS5cbiAgICAgIGlmIChzY2hlZHVsZWRFeHBpcmF0aW9uVGltZSA+IGVhcmxpZXN0UmVtYWluaW5nVGltZUFmdGVyQ29tbWl0KSB7XG4gICAgICAgIHBlbmRpbmdJbnRlcmFjdGlvbk1hcC5kZWxldGUoc2NoZWR1bGVkRXhwaXJhdGlvblRpbWUpO1xuICAgICAgICBzY2hlZHVsZWRJbnRlcmFjdGlvbnMuZm9yRWFjaChmdW5jdGlvbiAoaW50ZXJhY3Rpb24pIHtcbiAgICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50LS07XG5cbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCAmJiBpbnRlcmFjdGlvbi5fX2NvdW50ID09PSAwKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBzdWJzY3JpYmVyLm9uSW50ZXJhY3Rpb25TY2hlZHVsZWRXb3JrQ29tcGxldGVkKGludGVyYWN0aW9uKTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgIC8vIElmIHRoZSBzdWJzY3JpYmVyIHRocm93cywgcmV0aHJvdyBpdCBpbiBhIHNlcGFyYXRlIHRhc2tcbiAgICAgICAgICAgICAgc2NoZWR1bGVDYWxsYmFjayhJbW1lZGlhdGVQcmlvcml0eSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG5cbnZhciBvblNjaGVkdWxlRmliZXJSb290ID0gbnVsbDtcbnZhciBvbkNvbW1pdEZpYmVyUm9vdCA9IG51bGw7XG52YXIgb25Db21taXRGaWJlclVubW91bnQgPSBudWxsO1xudmFyIGhhc0xvZ2dlZEVycm9yID0gZmFsc2U7XG52YXIgaXNEZXZUb29sc1ByZXNlbnQgPSB0eXBlb2YgX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fICE9PSAndW5kZWZpbmVkJztcbmZ1bmN0aW9uIGluamVjdEludGVybmFscyhpbnRlcm5hbHMpIHtcbiAgaWYgKHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gTm8gRGV2VG9vbHNcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB2YXIgaG9vayA9IF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztcblxuICBpZiAoaG9vay5pc0Rpc2FibGVkKSB7XG4gICAgLy8gVGhpcyBpc24ndCBhIHJlYWwgcHJvcGVydHkgb24gdGhlIGhvb2ssIGJ1dCBpdCBjYW4gYmUgc2V0IHRvIG9wdCBvdXRcbiAgICAvLyBvZiBEZXZUb29scyBpbnRlZ3JhdGlvbiBhbmQgYXNzb2NpYXRlZCB3YXJuaW5ncyBhbmQgbG9ncy5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzM4NzdcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghaG9vay5zdXBwb3J0c0ZpYmVyKSB7XG4gICAge1xuICAgICAgZXJyb3IoJ1RoZSBpbnN0YWxsZWQgdmVyc2lvbiBvZiBSZWFjdCBEZXZUb29scyBpcyB0b28gb2xkIGFuZCB3aWxsIG5vdCB3b3JrICcgKyAnd2l0aCB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIFJlYWN0LiBQbGVhc2UgdXBkYXRlIFJlYWN0IERldlRvb2xzLiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3QtZGV2dG9vbHMnKTtcbiAgICB9IC8vIERldlRvb2xzIGV4aXN0cywgZXZlbiB0aG91Z2ggaXQgZG9lc24ndCBzdXBwb3J0IEZpYmVyLlxuXG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgdmFyIHJlbmRlcmVySUQgPSBob29rLmluamVjdChpbnRlcm5hbHMpOyAvLyBXZSBoYXZlIHN1Y2Nlc3NmdWxseSBpbmplY3RlZCwgc28gbm93IGl0IGlzIHNhZmUgdG8gc2V0IHVwIGhvb2tzLlxuXG4gICAgaWYgKHRydWUpIHtcbiAgICAgIC8vIE9ubHkgdXNlZCBieSBGYXN0IFJlZnJlc2hcbiAgICAgIGlmICh0eXBlb2YgaG9vay5vblNjaGVkdWxlRmliZXJSb290ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIG9uU2NoZWR1bGVGaWJlclJvb3QgPSBmdW5jdGlvbiAocm9vdCwgY2hpbGRyZW4pIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaG9vay5vblNjaGVkdWxlRmliZXJSb290KHJlbmRlcmVySUQsIHJvb3QsIGNoaWxkcmVuKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmICh0cnVlICYmICFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgICBoYXNMb2dnZWRFcnJvciA9IHRydWU7XG5cbiAgICAgICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNvbW1pdEZpYmVyUm9vdCA9IGZ1bmN0aW9uIChyb290LCBleHBpcmF0aW9uVGltZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIGRpZEVycm9yID0gKHJvb3QuY3VycmVudC5lZmZlY3RUYWcgJiBEaWRDYXB0dXJlKSA9PT0gRGlkQ2FwdHVyZTtcblxuICAgICAgICBpZiAoZW5hYmxlUHJvZmlsZXJUaW1lcikge1xuICAgICAgICAgIHZhciBjdXJyZW50VGltZSA9IGdldEN1cnJlbnRUaW1lKCk7XG4gICAgICAgICAgdmFyIHByaW9yaXR5TGV2ZWwgPSBpbmZlclByaW9yaXR5RnJvbUV4cGlyYXRpb25UaW1lKGN1cnJlbnRUaW1lLCBleHBpcmF0aW9uVGltZSk7XG4gICAgICAgICAgaG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCBwcmlvcml0eUxldmVsLCBkaWRFcnJvcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaG9vay5vbkNvbW1pdEZpYmVyUm9vdChyZW5kZXJlcklELCByb290LCB1bmRlZmluZWQsIGRpZEVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGlmICh0cnVlKSB7XG4gICAgICAgICAgaWYgKCFoYXNMb2dnZWRFcnJvcikge1xuICAgICAgICAgICAgaGFzTG9nZ2VkRXJyb3IgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVhY3QgaW5zdHJ1bWVudGF0aW9uIGVuY291bnRlcmVkIGFuIGVycm9yOiAlcycsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcblxuICAgIG9uQ29tbWl0RmliZXJVbm1vdW50ID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgICB0cnkge1xuICAgICAgICBob29rLm9uQ29tbWl0RmliZXJVbm1vdW50KHJlbmRlcmVySUQsIGZpYmVyKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAodHJ1ZSkge1xuICAgICAgICAgIGlmICghaGFzTG9nZ2VkRXJyb3IpIHtcbiAgICAgICAgICAgIGhhc0xvZ2dlZEVycm9yID0gdHJ1ZTtcblxuICAgICAgICAgICAgZXJyb3IoJ1JlYWN0IGluc3RydW1lbnRhdGlvbiBlbmNvdW50ZXJlZCBhbiBlcnJvcjogJXMnLCBlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIENhdGNoIGFsbCBlcnJvcnMgYmVjYXVzZSBpdCBpcyB1bnNhZmUgdG8gdGhyb3cgZHVyaW5nIGluaXRpYWxpemF0aW9uLlxuICAgIHtcbiAgICAgIGVycm9yKCdSZWFjdCBpbnN0cnVtZW50YXRpb24gZW5jb3VudGVyZWQgYW4gZXJyb3I6ICVzLicsIGVycik7XG4gICAgfVxuICB9IC8vIERldlRvb2xzIGV4aXN0c1xuXG5cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBvblNjaGVkdWxlUm9vdChyb290LCBjaGlsZHJlbikge1xuICBpZiAodHlwZW9mIG9uU2NoZWR1bGVGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvblNjaGVkdWxlRmliZXJSb290KHJvb3QsIGNoaWxkcmVuKTtcbiAgfVxufVxuZnVuY3Rpb24gb25Db21taXRSb290KHJvb3QsIGV4cGlyYXRpb25UaW1lKSB7XG4gIGlmICh0eXBlb2Ygb25Db21taXRGaWJlclJvb3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICBvbkNvbW1pdEZpYmVyUm9vdChyb290LCBleHBpcmF0aW9uVGltZSk7XG4gIH1cbn1cbmZ1bmN0aW9uIG9uQ29tbWl0VW5tb3VudChmaWJlcikge1xuICBpZiAodHlwZW9mIG9uQ29tbWl0RmliZXJVbm1vdW50ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgb25Db21taXRGaWJlclVubW91bnQoZmliZXIpO1xuICB9XG59XG5cbnZhciBoYXNCYWRNYXBQb2x5ZmlsbDtcblxue1xuICBoYXNCYWRNYXBQb2x5ZmlsbCA9IGZhbHNlO1xuXG4gIHRyeSB7XG4gICAgdmFyIG5vbkV4dGVuc2libGVPYmplY3QgPSBPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pO1xuICAgIHZhciB0ZXN0TWFwID0gbmV3IE1hcChbW25vbkV4dGVuc2libGVPYmplY3QsIG51bGxdXSk7XG4gICAgdmFyIHRlc3RTZXQgPSBuZXcgU2V0KFtub25FeHRlbnNpYmxlT2JqZWN0XSk7IC8vIFRoaXMgaXMgbmVjZXNzYXJ5IGZvciBSb2xsdXAgdG8gbm90IGNvbnNpZGVyIHRoZXNlIHVudXNlZC5cbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vcm9sbHVwL3JvbGx1cC9pc3N1ZXMvMTc3MVxuICAgIC8vIFRPRE86IHdlIGNhbiByZW1vdmUgdGhlc2UgaWYgUm9sbHVwIGZpeGVzIHRoZSBidWcuXG5cbiAgICB0ZXN0TWFwLnNldCgwLCAwKTtcbiAgICB0ZXN0U2V0LmFkZCgwKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIFRPRE86IENvbnNpZGVyIHdhcm5pbmcgYWJvdXQgYmFkIHBvbHlmaWxsc1xuICAgIGhhc0JhZE1hcFBvbHlmaWxsID0gdHJ1ZTtcbiAgfVxufVxuXG52YXIgZGVidWdDb3VudGVyID0gMTtcblxuZnVuY3Rpb24gRmliZXJOb2RlKHRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpIHtcbiAgLy8gSW5zdGFuY2VcbiAgdGhpcy50YWcgPSB0YWc7XG4gIHRoaXMua2V5ID0ga2V5O1xuICB0aGlzLmVsZW1lbnRUeXBlID0gbnVsbDtcbiAgdGhpcy50eXBlID0gbnVsbDtcbiAgdGhpcy5zdGF0ZU5vZGUgPSBudWxsOyAvLyBGaWJlclxuXG4gIHRoaXMucmV0dXJuID0gbnVsbDtcbiAgdGhpcy5jaGlsZCA9IG51bGw7XG4gIHRoaXMuc2libGluZyA9IG51bGw7XG4gIHRoaXMuaW5kZXggPSAwO1xuICB0aGlzLnJlZiA9IG51bGw7XG4gIHRoaXMucGVuZGluZ1Byb3BzID0gcGVuZGluZ1Byb3BzO1xuICB0aGlzLm1lbW9pemVkUHJvcHMgPSBudWxsO1xuICB0aGlzLnVwZGF0ZVF1ZXVlID0gbnVsbDtcbiAgdGhpcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgdGhpcy5kZXBlbmRlbmNpZXMgPSBudWxsO1xuICB0aGlzLm1vZGUgPSBtb2RlOyAvLyBFZmZlY3RzXG5cbiAgdGhpcy5lZmZlY3RUYWcgPSBOb0VmZmVjdDtcbiAgdGhpcy5uZXh0RWZmZWN0ID0gbnVsbDtcbiAgdGhpcy5maXJzdEVmZmVjdCA9IG51bGw7XG4gIHRoaXMubGFzdEVmZmVjdCA9IG51bGw7XG4gIHRoaXMuZXhwaXJhdGlvblRpbWUgPSBOb1dvcms7XG4gIHRoaXMuY2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcbiAgdGhpcy5hbHRlcm5hdGUgPSBudWxsO1xuXG4gIHtcbiAgICAvLyBOb3RlOiBUaGUgZm9sbG93aW5nIGlzIGRvbmUgdG8gYXZvaWQgYSB2OCBwZXJmb3JtYW5jZSBjbGlmZi5cbiAgICAvL1xuICAgIC8vIEluaXRpYWxpemluZyB0aGUgZmllbGRzIGJlbG93IHRvIHNtaXMgYW5kIGxhdGVyIHVwZGF0aW5nIHRoZW0gd2l0aFxuICAgIC8vIGRvdWJsZSB2YWx1ZXMgd2lsbCBjYXVzZSBGaWJlcnMgdG8gZW5kIHVwIGhhdmluZyBzZXBhcmF0ZSBzaGFwZXMuXG4gICAgLy8gVGhpcyBiZWhhdmlvci9idWcgaGFzIHNvbWV0aGluZyB0byBkbyB3aXRoIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9uKCkuXG4gICAgLy8gRm9ydHVuYXRlbHkgdGhpcyBvbmx5IGltcGFjdHMgREVWIGJ1aWxkcy5cbiAgICAvLyBVbmZvcnR1bmF0ZWx5IGl0IG1ha2VzIFJlYWN0IHVudXNhYmx5IHNsb3cgZm9yIHNvbWUgYXBwbGljYXRpb25zLlxuICAgIC8vIFRvIHdvcmsgYXJvdW5kIHRoaXMsIGluaXRpYWxpemUgdGhlIGZpZWxkcyBiZWxvdyB3aXRoIGRvdWJsZXMuXG4gICAgLy9cbiAgICAvLyBMZWFybiBtb3JlIGFib3V0IHRoaXMgaGVyZTpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzE0MzY1XG4gICAgLy8gaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9ODUzOFxuICAgIHRoaXMuYWN0dWFsRHVyYXRpb24gPSBOdW1iZXIuTmFOO1xuICAgIHRoaXMuYWN0dWFsU3RhcnRUaW1lID0gTnVtYmVyLk5hTjtcbiAgICB0aGlzLnNlbGZCYXNlRHVyYXRpb24gPSBOdW1iZXIuTmFOO1xuICAgIHRoaXMudHJlZUJhc2VEdXJhdGlvbiA9IE51bWJlci5OYU47IC8vIEl0J3Mgb2theSB0byByZXBsYWNlIHRoZSBpbml0aWFsIGRvdWJsZXMgd2l0aCBzbWlzIGFmdGVyIGluaXRpYWxpemF0aW9uLlxuICAgIC8vIFRoaXMgd29uJ3QgdHJpZ2dlciB0aGUgcGVyZm9ybWFuY2UgY2xpZmYgbWVudGlvbmVkIGFib3ZlLFxuICAgIC8vIGFuZCBpdCBzaW1wbGlmaWVzIG90aGVyIHByb2ZpbGVyIGNvZGUgKGluY2x1ZGluZyBEZXZUb29scykuXG5cbiAgICB0aGlzLmFjdHVhbER1cmF0aW9uID0gMDtcbiAgICB0aGlzLmFjdHVhbFN0YXJ0VGltZSA9IC0xO1xuICAgIHRoaXMuc2VsZkJhc2VEdXJhdGlvbiA9IDA7XG4gICAgdGhpcy50cmVlQmFzZUR1cmF0aW9uID0gMDtcbiAgfSAvLyBUaGlzIGlzIG5vcm1hbGx5IERFVi1vbmx5IGV4Y2VwdCB3d3cgd2hlbiBpdCBhZGRzIGxpc3RlbmVycy5cbiAgLy8gVE9ETzogcmVtb3ZlIHRoZSBVc2VyIFRpbWluZyBpbnRlZ3JhdGlvbiBpbiBmYXZvciBvZiBSb290IEV2ZW50cy5cblxuXG4gIHtcbiAgICB0aGlzLl9kZWJ1Z0lEID0gZGVidWdDb3VudGVyKys7XG4gICAgdGhpcy5fZGVidWdJc0N1cnJlbnRseVRpbWluZyA9IGZhbHNlO1xuICB9XG5cbiAge1xuICAgIHRoaXMuX2RlYnVnU291cmNlID0gbnVsbDtcbiAgICB0aGlzLl9kZWJ1Z093bmVyID0gbnVsbDtcbiAgICB0aGlzLl9kZWJ1Z05lZWRzUmVtb3VudCA9IGZhbHNlO1xuICAgIHRoaXMuX2RlYnVnSG9va1R5cGVzID0gbnVsbDtcblxuICAgIGlmICghaGFzQmFkTWFwUG9seWZpbGwgJiYgdHlwZW9mIE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHRoaXMpO1xuICAgIH1cbiAgfVxufSAvLyBUaGlzIGlzIGEgY29uc3RydWN0b3IgZnVuY3Rpb24sIHJhdGhlciB0aGFuIGEgUE9KTyBjb25zdHJ1Y3Rvciwgc3RpbGxcbi8vIHBsZWFzZSBlbnN1cmUgd2UgZG8gdGhlIGZvbGxvd2luZzpcbi8vIDEpIE5vYm9keSBzaG91bGQgYWRkIGFueSBpbnN0YW5jZSBtZXRob2RzIG9uIHRoaXMuIEluc3RhbmNlIG1ldGhvZHMgY2FuIGJlXG4vLyAgICBtb3JlIGRpZmZpY3VsdCB0byBwcmVkaWN0IHdoZW4gdGhleSBnZXQgb3B0aW1pemVkIGFuZCB0aGV5IGFyZSBhbG1vc3Rcbi8vICAgIG5ldmVyIGlubGluZWQgcHJvcGVybHkgaW4gc3RhdGljIGNvbXBpbGVycy5cbi8vIDIpIE5vYm9keSBzaG91bGQgcmVseSBvbiBgaW5zdGFuY2VvZiBGaWJlcmAgZm9yIHR5cGUgdGVzdGluZy4gV2Ugc2hvdWxkXG4vLyAgICBhbHdheXMga25vdyB3aGVuIGl0IGlzIGEgZmliZXIuXG4vLyAzKSBXZSBtaWdodCB3YW50IHRvIGV4cGVyaW1lbnQgd2l0aCB1c2luZyBudW1lcmljIGtleXMgc2luY2UgdGhleSBhcmUgZWFzaWVyXG4vLyAgICB0byBvcHRpbWl6ZSBpbiBhIG5vbi1KSVQgZW52aXJvbm1lbnQuXG4vLyA0KSBXZSBjYW4gZWFzaWx5IGdvIGZyb20gYSBjb25zdHJ1Y3RvciB0byBhIGNyZWF0ZUZpYmVyIG9iamVjdCBsaXRlcmFsIGlmIHRoYXRcbi8vICAgIGlzIGZhc3Rlci5cbi8vIDUpIEl0IHNob3VsZCBiZSBlYXN5IHRvIHBvcnQgdGhpcyB0byBhIEMgc3RydWN0IGFuZCBrZWVwIGEgQyBpbXBsZW1lbnRhdGlvblxuLy8gICAgY29tcGF0aWJsZS5cblxuXG52YXIgY3JlYXRlRmliZXIgPSBmdW5jdGlvbiAodGFnLCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSkge1xuICAvLyAkRmxvd0ZpeE1lOiB0aGUgc2hhcGVzIGFyZSBleGFjdCBoZXJlIGJ1dCBGbG93IGRvZXNuJ3QgbGlrZSBjb25zdHJ1Y3RvcnNcbiAgcmV0dXJuIG5ldyBGaWJlck5vZGUodGFnLCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG59O1xuXG5mdW5jdGlvbiBzaG91bGRDb25zdHJ1Y3QoQ29tcG9uZW50KSB7XG4gIHZhciBwcm90b3R5cGUgPSBDb21wb25lbnQucHJvdG90eXBlO1xuICByZXR1cm4gISEocHJvdG90eXBlICYmIHByb3RvdHlwZS5pc1JlYWN0Q29tcG9uZW50KTtcbn1cblxuZnVuY3Rpb24gaXNTaW1wbGVGdW5jdGlvbkNvbXBvbmVudCh0eXBlKSB7XG4gIHJldHVybiB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyAmJiAhc2hvdWxkQ29uc3RydWN0KHR5cGUpICYmIHR5cGUuZGVmYXVsdFByb3BzID09PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiByZXNvbHZlTGF6eUNvbXBvbmVudFRhZyhDb21wb25lbnQpIHtcbiAgaWYgKHR5cGVvZiBDb21wb25lbnQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gc2hvdWxkQ29uc3RydWN0KENvbXBvbmVudCkgPyBDbGFzc0NvbXBvbmVudCA6IEZ1bmN0aW9uQ29tcG9uZW50O1xuICB9IGVsc2UgaWYgKENvbXBvbmVudCAhPT0gdW5kZWZpbmVkICYmIENvbXBvbmVudCAhPT0gbnVsbCkge1xuICAgIHZhciAkJHR5cGVvZiA9IENvbXBvbmVudC4kJHR5cGVvZjtcblxuICAgIGlmICgkJHR5cGVvZiA9PT0gUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRSkge1xuICAgICAgcmV0dXJuIEZvcndhcmRSZWY7XG4gICAgfVxuXG4gICAgaWYgKCQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgIHJldHVybiBNZW1vQ29tcG9uZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBJbmRldGVybWluYXRlQ29tcG9uZW50O1xufSAvLyBUaGlzIGlzIHVzZWQgdG8gY3JlYXRlIGFuIGFsdGVybmF0ZSBmaWJlciB0byBkbyB3b3JrIG9uLlxuXG5mdW5jdGlvbiBjcmVhdGVXb3JrSW5Qcm9ncmVzcyhjdXJyZW50LCBwZW5kaW5nUHJvcHMpIHtcbiAgdmFyIHdvcmtJblByb2dyZXNzID0gY3VycmVudC5hbHRlcm5hdGU7XG5cbiAgaWYgKHdvcmtJblByb2dyZXNzID09PSBudWxsKSB7XG4gICAgLy8gV2UgdXNlIGEgZG91YmxlIGJ1ZmZlcmluZyBwb29saW5nIHRlY2huaXF1ZSBiZWNhdXNlIHdlIGtub3cgdGhhdCB3ZSdsbFxuICAgIC8vIG9ubHkgZXZlciBuZWVkIGF0IG1vc3QgdHdvIHZlcnNpb25zIG9mIGEgdHJlZS4gV2UgcG9vbCB0aGUgXCJvdGhlclwiIHVudXNlZFxuICAgIC8vIG5vZGUgdGhhdCB3ZSdyZSBmcmVlIHRvIHJldXNlLiBUaGlzIGlzIGxhemlseSBjcmVhdGVkIHRvIGF2b2lkIGFsbG9jYXRpbmdcbiAgICAvLyBleHRyYSBvYmplY3RzIGZvciB0aGluZ3MgdGhhdCBhcmUgbmV2ZXIgdXBkYXRlZC4gSXQgYWxzbyBhbGxvdyB1cyB0b1xuICAgIC8vIHJlY2xhaW0gdGhlIGV4dHJhIG1lbW9yeSBpZiBuZWVkZWQuXG4gICAgd29ya0luUHJvZ3Jlc3MgPSBjcmVhdGVGaWJlcihjdXJyZW50LnRhZywgcGVuZGluZ1Byb3BzLCBjdXJyZW50LmtleSwgY3VycmVudC5tb2RlKTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5lbGVtZW50VHlwZSA9IGN1cnJlbnQuZWxlbWVudFR5cGU7XG4gICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IGN1cnJlbnQudHlwZTtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zdGF0ZU5vZGUgPSBjdXJyZW50LnN0YXRlTm9kZTtcblxuICAgIHtcbiAgICAgIC8vIERFVi1vbmx5IGZpZWxkc1xuICAgICAge1xuICAgICAgICB3b3JrSW5Qcm9ncmVzcy5fZGVidWdJRCA9IGN1cnJlbnQuX2RlYnVnSUQ7XG4gICAgICB9XG5cbiAgICAgIHdvcmtJblByb2dyZXNzLl9kZWJ1Z1NvdXJjZSA9IGN1cnJlbnQuX2RlYnVnU291cmNlO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnT3duZXIgPSBjdXJyZW50Ll9kZWJ1Z093bmVyO1xuICAgICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnSG9va1R5cGVzID0gY3VycmVudC5fZGVidWdIb29rVHlwZXM7XG4gICAgfVxuXG4gICAgd29ya0luUHJvZ3Jlc3MuYWx0ZXJuYXRlID0gY3VycmVudDtcbiAgICBjdXJyZW50LmFsdGVybmF0ZSA9IHdvcmtJblByb2dyZXNzO1xuICB9IGVsc2Uge1xuICAgIHdvcmtJblByb2dyZXNzLnBlbmRpbmdQcm9wcyA9IHBlbmRpbmdQcm9wczsgLy8gV2UgYWxyZWFkeSBoYXZlIGFuIGFsdGVybmF0ZS5cbiAgICAvLyBSZXNldCB0aGUgZWZmZWN0IHRhZy5cblxuICAgIHdvcmtJblByb2dyZXNzLmVmZmVjdFRhZyA9IE5vRWZmZWN0OyAvLyBUaGUgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxuXG4gICAgd29ya0luUHJvZ3Jlc3MubmV4dEVmZmVjdCA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZmlyc3RFZmZlY3QgPSBudWxsO1xuICAgIHdvcmtJblByb2dyZXNzLmxhc3RFZmZlY3QgPSBudWxsO1xuXG4gICAge1xuICAgICAgLy8gV2UgaW50ZW50aW9uYWxseSByZXNldCwgcmF0aGVyIHRoYW4gY29weSwgYWN0dWFsRHVyYXRpb24gJiBhY3R1YWxTdGFydFRpbWUuXG4gICAgICAvLyBUaGlzIHByZXZlbnRzIHRpbWUgZnJvbSBlbmRsZXNzbHkgYWNjdW11bGF0aW5nIGluIG5ldyBjb21taXRzLlxuICAgICAgLy8gVGhpcyBoYXMgdGhlIGRvd25zaWRlIG9mIHJlc2V0dGluZyB2YWx1ZXMgZm9yIGRpZmZlcmVudCBwcmlvcml0eSByZW5kZXJzLFxuICAgICAgLy8gQnV0IHdvcmtzIGZvciB5aWVsZGluZyAodGhlIGNvbW1vbiBjYXNlKSBhbmQgc2hvdWxkIHN1cHBvcnQgcmVzdW1pbmcuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hY3R1YWxEdXJhdGlvbiA9IDA7XG4gICAgICB3b3JrSW5Qcm9ncmVzcy5hY3R1YWxTdGFydFRpbWUgPSAtMTtcbiAgICB9XG4gIH1cblxuICB3b3JrSW5Qcm9ncmVzcy5jaGlsZEV4cGlyYXRpb25UaW1lID0gY3VycmVudC5jaGlsZEV4cGlyYXRpb25UaW1lO1xuICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IGN1cnJlbnQuZXhwaXJhdGlvblRpbWU7XG4gIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRQcm9wcyA9IGN1cnJlbnQubWVtb2l6ZWRQcm9wcztcbiAgd29ya0luUHJvZ3Jlc3MubWVtb2l6ZWRTdGF0ZSA9IGN1cnJlbnQubWVtb2l6ZWRTdGF0ZTtcbiAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAvLyBpdCBjYW5ub3QgYmUgc2hhcmVkIHdpdGggdGhlIGN1cnJlbnQgZmliZXIuXG5cbiAgdmFyIGN1cnJlbnREZXBlbmRlbmNpZXMgPSBjdXJyZW50LmRlcGVuZGVuY2llcztcbiAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgZXhwaXJhdGlvblRpbWU6IGN1cnJlbnREZXBlbmRlbmNpZXMuZXhwaXJhdGlvblRpbWUsXG4gICAgZmlyc3RDb250ZXh0OiBjdXJyZW50RGVwZW5kZW5jaWVzLmZpcnN0Q29udGV4dCxcbiAgICByZXNwb25kZXJzOiBjdXJyZW50RGVwZW5kZW5jaWVzLnJlc3BvbmRlcnNcbiAgfTsgLy8gVGhlc2Ugd2lsbCBiZSBvdmVycmlkZGVuIGR1cmluZyB0aGUgcGFyZW50J3MgcmVjb25jaWxpYXRpb25cblxuICB3b3JrSW5Qcm9ncmVzcy5zaWJsaW5nID0gY3VycmVudC5zaWJsaW5nO1xuICB3b3JrSW5Qcm9ncmVzcy5pbmRleCA9IGN1cnJlbnQuaW5kZXg7XG4gIHdvcmtJblByb2dyZXNzLnJlZiA9IGN1cnJlbnQucmVmO1xuXG4gIHtcbiAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gY3VycmVudC5zZWxmQmFzZUR1cmF0aW9uO1xuICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gPSBjdXJyZW50LnRyZWVCYXNlRHVyYXRpb247XG4gIH1cblxuICB7XG4gICAgd29ya0luUHJvZ3Jlc3MuX2RlYnVnTmVlZHNSZW1vdW50ID0gY3VycmVudC5fZGVidWdOZWVkc1JlbW91bnQ7XG5cbiAgICBzd2l0Y2ggKHdvcmtJblByb2dyZXNzLnRhZykge1xuICAgICAgY2FzZSBJbmRldGVybWluYXRlQ29tcG9uZW50OlxuICAgICAgY2FzZSBGdW5jdGlvbkNvbXBvbmVudDpcbiAgICAgIGNhc2UgU2ltcGxlTWVtb0NvbXBvbmVudDpcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVGdW5jdGlvbkZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBDbGFzc0NvbXBvbmVudDpcbiAgICAgICAgd29ya0luUHJvZ3Jlc3MudHlwZSA9IHJlc29sdmVDbGFzc0ZvckhvdFJlbG9hZGluZyhjdXJyZW50LnR5cGUpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBGb3J3YXJkUmVmOlxuICAgICAgICB3b3JrSW5Qcm9ncmVzcy50eXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcoY3VycmVudC50eXBlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHdvcmtJblByb2dyZXNzO1xufSAvLyBVc2VkIHRvIHJldXNlIGEgRmliZXIgZm9yIGEgc2Vjb25kIHBhc3MuXG5cbmZ1bmN0aW9uIHJlc2V0V29ya0luUHJvZ3Jlc3Mod29ya0luUHJvZ3Jlc3MsIHJlbmRlckV4cGlyYXRpb25UaW1lKSB7XG4gIC8vIFRoaXMgcmVzZXRzIHRoZSBGaWJlciB0byB3aGF0IGNyZWF0ZUZpYmVyIG9yIGNyZWF0ZVdvcmtJblByb2dyZXNzIHdvdWxkXG4gIC8vIGhhdmUgc2V0IHRoZSB2YWx1ZXMgdG8gYmVmb3JlIGR1cmluZyB0aGUgZmlyc3QgcGFzcy4gSWRlYWxseSB0aGlzIHdvdWxkbid0XG4gIC8vIGJlIG5lY2Vzc2FyeSBidXQgdW5mb3J0dW5hdGVseSBtYW55IGNvZGUgcGF0aHMgcmVhZHMgZnJvbSB0aGUgd29ya0luUHJvZ3Jlc3NcbiAgLy8gd2hlbiB0aGV5IHNob3VsZCBiZSByZWFkaW5nIGZyb20gY3VycmVudCBhbmQgd3JpdGluZyB0byB3b3JrSW5Qcm9ncmVzcy5cbiAgLy8gV2UgYXNzdW1lIHBlbmRpbmdQcm9wcywgaW5kZXgsIGtleSwgcmVmLCByZXR1cm4gYXJlIHN0aWxsIHVudG91Y2hlZCB0b1xuICAvLyBhdm9pZCBkb2luZyBhbm90aGVyIHJlY29uY2lsaWF0aW9uLlxuICAvLyBSZXNldCB0aGUgZWZmZWN0IHRhZyBidXQga2VlcCBhbnkgUGxhY2VtZW50IHRhZ3MsIHNpbmNlIHRoYXQncyBzb21ldGhpbmdcbiAgLy8gdGhhdCBjaGlsZCBmaWJlciBpcyBzZXR0aW5nLCBub3QgdGhlIHJlY29uY2lsaWF0aW9uLlxuICB3b3JrSW5Qcm9ncmVzcy5lZmZlY3RUYWcgJj0gUGxhY2VtZW50OyAvLyBUaGUgZWZmZWN0IGxpc3QgaXMgbm8gbG9uZ2VyIHZhbGlkLlxuXG4gIHdvcmtJblByb2dyZXNzLm5leHRFZmZlY3QgPSBudWxsO1xuICB3b3JrSW5Qcm9ncmVzcy5maXJzdEVmZmVjdCA9IG51bGw7XG4gIHdvcmtJblByb2dyZXNzLmxhc3RFZmZlY3QgPSBudWxsO1xuICB2YXIgY3VycmVudCA9IHdvcmtJblByb2dyZXNzLmFsdGVybmF0ZTtcblxuICBpZiAoY3VycmVudCA9PT0gbnVsbCkge1xuICAgIC8vIFJlc2V0IHRvIGNyZWF0ZUZpYmVyJ3MgaW5pdGlhbCB2YWx1ZXMuXG4gICAgd29ya0luUHJvZ3Jlc3MuY2hpbGRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcbiAgICB3b3JrSW5Qcm9ncmVzcy5leHBpcmF0aW9uVGltZSA9IHJlbmRlckV4cGlyYXRpb25UaW1lO1xuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFN0YXRlID0gbnVsbDtcbiAgICB3b3JrSW5Qcm9ncmVzcy51cGRhdGVRdWV1ZSA9IG51bGw7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gbnVsbDtcblxuICAgIHtcbiAgICAgIC8vIE5vdGU6IFdlIGRvbid0IHJlc2V0IHRoZSBhY3R1YWxUaW1lIGNvdW50cy4gSXQncyB1c2VmdWwgdG8gYWNjdW11bGF0ZVxuICAgICAgLy8gYWN0dWFsIHRpbWUgYWNyb3NzIG11bHRpcGxlIHJlbmRlciBwYXNzZXMuXG4gICAgICB3b3JrSW5Qcm9ncmVzcy5zZWxmQmFzZUR1cmF0aW9uID0gMDtcbiAgICAgIHdvcmtJblByb2dyZXNzLnRyZWVCYXNlRHVyYXRpb24gPSAwO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICAvLyBSZXNldCB0byB0aGUgY2xvbmVkIHZhbHVlcyB0aGF0IGNyZWF0ZVdvcmtJblByb2dyZXNzIHdvdWxkJ3ZlLlxuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkRXhwaXJhdGlvblRpbWUgPSBjdXJyZW50LmNoaWxkRXhwaXJhdGlvblRpbWU7XG4gICAgd29ya0luUHJvZ3Jlc3MuZXhwaXJhdGlvblRpbWUgPSBjdXJyZW50LmV4cGlyYXRpb25UaW1lO1xuICAgIHdvcmtJblByb2dyZXNzLmNoaWxkID0gY3VycmVudC5jaGlsZDtcbiAgICB3b3JrSW5Qcm9ncmVzcy5tZW1vaXplZFByb3BzID0gY3VycmVudC5tZW1vaXplZFByb3BzO1xuICAgIHdvcmtJblByb2dyZXNzLm1lbW9pemVkU3RhdGUgPSBjdXJyZW50Lm1lbW9pemVkU3RhdGU7XG4gICAgd29ya0luUHJvZ3Jlc3MudXBkYXRlUXVldWUgPSBjdXJyZW50LnVwZGF0ZVF1ZXVlOyAvLyBDbG9uZSB0aGUgZGVwZW5kZW5jaWVzIG9iamVjdC4gVGhpcyBpcyBtdXRhdGVkIGR1cmluZyB0aGUgcmVuZGVyIHBoYXNlLCBzb1xuICAgIC8vIGl0IGNhbm5vdCBiZSBzaGFyZWQgd2l0aCB0aGUgY3VycmVudCBmaWJlci5cblxuICAgIHZhciBjdXJyZW50RGVwZW5kZW5jaWVzID0gY3VycmVudC5kZXBlbmRlbmNpZXM7XG4gICAgd29ya0luUHJvZ3Jlc3MuZGVwZW5kZW5jaWVzID0gY3VycmVudERlcGVuZGVuY2llcyA9PT0gbnVsbCA/IG51bGwgOiB7XG4gICAgICBleHBpcmF0aW9uVGltZTogY3VycmVudERlcGVuZGVuY2llcy5leHBpcmF0aW9uVGltZSxcbiAgICAgIGZpcnN0Q29udGV4dDogY3VycmVudERlcGVuZGVuY2llcy5maXJzdENvbnRleHQsXG4gICAgICByZXNwb25kZXJzOiBjdXJyZW50RGVwZW5kZW5jaWVzLnJlc3BvbmRlcnNcbiAgICB9O1xuXG4gICAge1xuICAgICAgLy8gTm90ZTogV2UgZG9uJ3QgcmVzZXQgdGhlIGFjdHVhbFRpbWUgY291bnRzLiBJdCdzIHVzZWZ1bCB0byBhY2N1bXVsYXRlXG4gICAgICAvLyBhY3R1YWwgdGltZSBhY3Jvc3MgbXVsdGlwbGUgcmVuZGVyIHBhc3Nlcy5cbiAgICAgIHdvcmtJblByb2dyZXNzLnNlbGZCYXNlRHVyYXRpb24gPSBjdXJyZW50LnNlbGZCYXNlRHVyYXRpb247XG4gICAgICB3b3JrSW5Qcm9ncmVzcy50cmVlQmFzZUR1cmF0aW9uID0gY3VycmVudC50cmVlQmFzZUR1cmF0aW9uO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB3b3JrSW5Qcm9ncmVzcztcbn1cbmZ1bmN0aW9uIGNyZWF0ZUhvc3RSb290RmliZXIodGFnKSB7XG4gIHZhciBtb2RlO1xuXG4gIGlmICh0YWcgPT09IENvbmN1cnJlbnRSb290KSB7XG4gICAgbW9kZSA9IENvbmN1cnJlbnRNb2RlIHwgQmxvY2tpbmdNb2RlIHwgU3RyaWN0TW9kZTtcbiAgfSBlbHNlIGlmICh0YWcgPT09IEJsb2NraW5nUm9vdCkge1xuICAgIG1vZGUgPSBCbG9ja2luZ01vZGUgfCBTdHJpY3RNb2RlO1xuICB9IGVsc2Uge1xuICAgIG1vZGUgPSBOb01vZGU7XG4gIH1cblxuICBpZiAoIGlzRGV2VG9vbHNQcmVzZW50KSB7XG4gICAgLy8gQWx3YXlzIGNvbGxlY3QgcHJvZmlsZSB0aW1pbmdzIHdoZW4gRGV2VG9vbHMgYXJlIHByZXNlbnQuXG4gICAgLy8gVGhpcyBlbmFibGVzIERldlRvb2xzIHRvIHN0YXJ0IGNhcHR1cmluZyB0aW1pbmcgYXQgYW55IHBvaW504oCTXG4gICAgLy8gV2l0aG91dCBzb21lIG5vZGVzIGluIHRoZSB0cmVlIGhhdmluZyBlbXB0eSBiYXNlIHRpbWVzLlxuICAgIG1vZGUgfD0gUHJvZmlsZU1vZGU7XG4gIH1cblxuICByZXR1cm4gY3JlYXRlRmliZXIoSG9zdFJvb3QsIG51bGwsIG51bGwsIG1vZGUpO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVHlwZUFuZFByb3BzKHR5cGUsIC8vIFJlYWN0JEVsZW1lbnRUeXBlXG5rZXksIHBlbmRpbmdQcm9wcywgb3duZXIsIG1vZGUsIGV4cGlyYXRpb25UaW1lKSB7XG4gIHZhciBmaWJlcjtcbiAgdmFyIGZpYmVyVGFnID0gSW5kZXRlcm1pbmF0ZUNvbXBvbmVudDsgLy8gVGhlIHJlc29sdmVkIHR5cGUgaXMgc2V0IGlmIHdlIGtub3cgd2hhdCB0aGUgZmluYWwgdHlwZSB3aWxsIGJlLiBJLmUuIGl0J3Mgbm90IGxhenkuXG5cbiAgdmFyIHJlc29sdmVkVHlwZSA9IHR5cGU7XG5cbiAgaWYgKHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgaWYgKHNob3VsZENvbnN0cnVjdCh0eXBlKSkge1xuICAgICAgZmliZXJUYWcgPSBDbGFzc0NvbXBvbmVudDtcblxuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlQ2xhc3NGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAge1xuICAgICAgICByZXNvbHZlZFR5cGUgPSByZXNvbHZlRnVuY3Rpb25Gb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgZmliZXJUYWcgPSBIb3N0Q29tcG9uZW50O1xuICB9IGVsc2Uge1xuICAgIGdldFRhZzogc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFJFQUNUX0ZSQUdNRU5UX1RZUEU6XG4gICAgICAgIHJldHVybiBjcmVhdGVGaWJlckZyb21GcmFnbWVudChwZW5kaW5nUHJvcHMuY2hpbGRyZW4sIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpO1xuXG4gICAgICBjYXNlIFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFOlxuICAgICAgICBmaWJlclRhZyA9IE1vZGU7XG4gICAgICAgIG1vZGUgfD0gQ29uY3VycmVudE1vZGUgfCBCbG9ja2luZ01vZGUgfCBTdHJpY3RNb2RlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBSRUFDVF9TVFJJQ1RfTU9ERV9UWVBFOlxuICAgICAgICBmaWJlclRhZyA9IE1vZGU7XG4gICAgICAgIG1vZGUgfD0gU3RyaWN0TW9kZTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbVByb2ZpbGVyKHBlbmRpbmdQcm9wcywgbW9kZSwgZXhwaXJhdGlvblRpbWUsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfVFlQRTpcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUZpYmVyRnJvbVN1c3BlbnNlKHBlbmRpbmdQcm9wcywgbW9kZSwgZXhwaXJhdGlvblRpbWUsIGtleSk7XG5cbiAgICAgIGNhc2UgUkVBQ1RfU1VTUEVOU0VfTElTVF9UWVBFOlxuICAgICAgICByZXR1cm4gY3JlYXRlRmliZXJGcm9tU3VzcGVuc2VMaXN0KHBlbmRpbmdQcm9wcywgbW9kZSwgZXhwaXJhdGlvblRpbWUsIGtleSk7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHtcbiAgICAgICAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN3aXRjaCAodHlwZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBDb250ZXh0UHJvdmlkZXI7XG4gICAgICAgICAgICAgICAgYnJlYWsgZ2V0VGFnO1xuXG4gICAgICAgICAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBjb25zdW1lclxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQ29udGV4dENvbnN1bWVyO1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0ZPUldBUkRfUkVGX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBGb3J3YXJkUmVmO1xuXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gcmVzb2x2ZUZvcndhcmRSZWZGb3JIb3RSZWxvYWRpbmcocmVzb2x2ZWRUeXBlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9NRU1PX1RZUEU6XG4gICAgICAgICAgICAgICAgZmliZXJUYWcgPSBNZW1vQ29tcG9uZW50O1xuICAgICAgICAgICAgICAgIGJyZWFrIGdldFRhZztcblxuICAgICAgICAgICAgICBjYXNlIFJFQUNUX0xBWllfVFlQRTpcbiAgICAgICAgICAgICAgICBmaWJlclRhZyA9IExhenlDb21wb25lbnQ7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZWRUeXBlID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhayBnZXRUYWc7XG5cbiAgICAgICAgICAgICAgY2FzZSBSRUFDVF9CTE9DS19UWVBFOlxuICAgICAgICAgICAgICAgIGZpYmVyVGFnID0gQmxvY2s7XG4gICAgICAgICAgICAgICAgYnJlYWsgZ2V0VGFnO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdmFyIGluZm8gPSAnJztcblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGlmICh0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmIHR5cGUgIT09IG51bGwgJiYgT2JqZWN0LmtleXModHlwZSkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIGluZm8gKz0gJyBZb3UgbGlrZWx5IGZvcmdvdCB0byBleHBvcnQgeW91ciBjb21wb25lbnQgZnJvbSB0aGUgZmlsZSAnICsgXCJpdCdzIGRlZmluZWQgaW4sIG9yIHlvdSBtaWdodCBoYXZlIG1peGVkIHVwIGRlZmF1bHQgYW5kIFwiICsgJ25hbWVkIGltcG9ydHMuJztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFyIG93bmVyTmFtZSA9IG93bmVyID8gZ2V0Q29tcG9uZW50TmFtZShvd25lci50eXBlKSA6IG51bGw7XG5cbiAgICAgICAgICAgIGlmIChvd25lck5hbWUpIHtcbiAgICAgICAgICAgICAgaW5mbyArPSAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBvd25lck5hbWUgKyAnYC4nO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGhyb3cgRXJyb3IoIFwiRWxlbWVudCB0eXBlIGlzIGludmFsaWQ6IGV4cGVjdGVkIGEgc3RyaW5nIChmb3IgYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSBjb21wb25lbnRzKSBidXQgZ290OiBcIiArICh0eXBlID09IG51bGwgPyB0eXBlIDogdHlwZW9mIHR5cGUpICsgXCIuXCIgKyBpbmZvICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgZmliZXIgPSBjcmVhdGVGaWJlcihmaWJlclRhZywgcGVuZGluZ1Byb3BzLCBrZXksIG1vZGUpO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IHR5cGU7XG4gIGZpYmVyLnR5cGUgPSByZXNvbHZlZFR5cGU7XG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUVsZW1lbnQoZWxlbWVudCwgbW9kZSwgZXhwaXJhdGlvblRpbWUpIHtcbiAgdmFyIG93bmVyID0gbnVsbDtcblxuICB7XG4gICAgb3duZXIgPSBlbGVtZW50Ll9vd25lcjtcbiAgfVxuXG4gIHZhciB0eXBlID0gZWxlbWVudC50eXBlO1xuICB2YXIga2V5ID0gZWxlbWVudC5rZXk7XG4gIHZhciBwZW5kaW5nUHJvcHMgPSBlbGVtZW50LnByb3BzO1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlckZyb21UeXBlQW5kUHJvcHModHlwZSwga2V5LCBwZW5kaW5nUHJvcHMsIG93bmVyLCBtb2RlLCBleHBpcmF0aW9uVGltZSk7XG5cbiAge1xuICAgIGZpYmVyLl9kZWJ1Z1NvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTtcbiAgICBmaWJlci5fZGVidWdPd25lciA9IGVsZW1lbnQuX293bmVyO1xuICB9XG5cbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tRnJhZ21lbnQoZWxlbWVudHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoRnJhZ21lbnQsIGVsZW1lbnRzLCBrZXksIG1vZGUpO1xuICBmaWJlci5leHBpcmF0aW9uVGltZSA9IGV4cGlyYXRpb25UaW1lO1xuICByZXR1cm4gZmliZXI7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVByb2ZpbGVyKHBlbmRpbmdQcm9wcywgbW9kZSwgZXhwaXJhdGlvblRpbWUsIGtleSkge1xuICB7XG4gICAgaWYgKHR5cGVvZiBwZW5kaW5nUHJvcHMuaWQgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiBwZW5kaW5nUHJvcHMub25SZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdQcm9maWxlciBtdXN0IHNwZWNpZnkgYW4gXCJpZFwiIHN0cmluZyBhbmQgXCJvblJlbmRlclwiIGZ1bmN0aW9uIGFzIHByb3BzJyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoUHJvZmlsZXIsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlIHwgUHJvZmlsZU1vZGUpOyAvLyBUT0RPOiBUaGUgUHJvZmlsZXIgZmliZXIgc2hvdWxkbid0IGhhdmUgYSB0eXBlLiBJdCBoYXMgYSB0YWcuXG5cbiAgZmliZXIuZWxlbWVudFR5cGUgPSBSRUFDVF9QUk9GSUxFUl9UWVBFO1xuICBmaWJlci50eXBlID0gUkVBQ1RfUFJPRklMRVJfVFlQRTtcbiAgZmliZXIuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcbiAgcmV0dXJuIGZpYmVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21TdXNwZW5zZShwZW5kaW5nUHJvcHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoU3VzcGVuc2VDb21wb25lbnQsIHBlbmRpbmdQcm9wcywga2V5LCBtb2RlKTsgLy8gVE9ETzogVGhlIFN1c3BlbnNlQ29tcG9uZW50IGZpYmVyIHNob3VsZG4ndCBoYXZlIGEgdHlwZS4gSXQgaGFzIGEgdGFnLlxuICAvLyBUaGlzIG5lZWRzIHRvIGJlIGZpeGVkIGluIGdldENvbXBvbmVudE5hbWUgc28gdGhhdCBpdCByZWxpZXMgb24gdGhlIHRhZ1xuICAvLyBpbnN0ZWFkLlxuXG4gIGZpYmVyLnR5cGUgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1NVU1BFTlNFX1RZUEU7XG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbVN1c3BlbnNlTGlzdChwZW5kaW5nUHJvcHMsIG1vZGUsIGV4cGlyYXRpb25UaW1lLCBrZXkpIHtcbiAgdmFyIGZpYmVyID0gY3JlYXRlRmliZXIoU3VzcGVuc2VMaXN0Q29tcG9uZW50LCBwZW5kaW5nUHJvcHMsIGtleSwgbW9kZSk7XG5cbiAge1xuICAgIC8vIFRPRE86IFRoZSBTdXNwZW5zZUxpc3RDb21wb25lbnQgZmliZXIgc2hvdWxkbid0IGhhdmUgYSB0eXBlLiBJdCBoYXMgYSB0YWcuXG4gICAgLy8gVGhpcyBuZWVkcyB0byBiZSBmaXhlZCBpbiBnZXRDb21wb25lbnROYW1lIHNvIHRoYXQgaXQgcmVsaWVzIG9uIHRoZSB0YWdcbiAgICAvLyBpbnN0ZWFkLlxuICAgIGZpYmVyLnR5cGUgPSBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEU7XG4gIH1cblxuICBmaWJlci5lbGVtZW50VHlwZSA9IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTtcbiAgZmliZXIuZXhwaXJhdGlvblRpbWUgPSBleHBpcmF0aW9uVGltZTtcbiAgcmV0dXJuIGZpYmVyO1xufVxuZnVuY3Rpb24gY3JlYXRlRmliZXJGcm9tVGV4dChjb250ZW50LCBtb2RlLCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihIb3N0VGV4dCwgY29udGVudCwgbnVsbCwgbW9kZSk7XG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIHJldHVybiBmaWJlcjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUZpYmVyRnJvbUhvc3RJbnN0YW5jZUZvckRlbGV0aW9uKCkge1xuICB2YXIgZmliZXIgPSBjcmVhdGVGaWJlcihIb3N0Q29tcG9uZW50LCBudWxsLCBudWxsLCBOb01vZGUpOyAvLyBUT0RPOiBUaGVzZSBzaG91bGQgbm90IG5lZWQgYSB0eXBlLlxuXG4gIGZpYmVyLmVsZW1lbnRUeXBlID0gJ0RFTEVURUQnO1xuICBmaWJlci50eXBlID0gJ0RFTEVURUQnO1xuICByZXR1cm4gZmliZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVGaWJlckZyb21Qb3J0YWwocG9ydGFsLCBtb2RlLCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgcGVuZGluZ1Byb3BzID0gcG9ydGFsLmNoaWxkcmVuICE9PSBudWxsID8gcG9ydGFsLmNoaWxkcmVuIDogW107XG4gIHZhciBmaWJlciA9IGNyZWF0ZUZpYmVyKEhvc3RQb3J0YWwsIHBlbmRpbmdQcm9wcywgcG9ydGFsLmtleSwgbW9kZSk7XG4gIGZpYmVyLmV4cGlyYXRpb25UaW1lID0gZXhwaXJhdGlvblRpbWU7XG4gIGZpYmVyLnN0YXRlTm9kZSA9IHtcbiAgICBjb250YWluZXJJbmZvOiBwb3J0YWwuY29udGFpbmVySW5mbyxcbiAgICBwZW5kaW5nQ2hpbGRyZW46IG51bGwsXG4gICAgLy8gVXNlZCBieSBwZXJzaXN0ZW50IHVwZGF0ZXNcbiAgICBpbXBsZW1lbnRhdGlvbjogcG9ydGFsLmltcGxlbWVudGF0aW9uXG4gIH07XG4gIHJldHVybiBmaWJlcjtcbn0gLy8gVXNlZCBmb3Igc3Rhc2hpbmcgV0lQIHByb3BlcnRpZXMgdG8gcmVwbGF5IGZhaWxlZCB3b3JrIGluIERFVi5cblxuZnVuY3Rpb24gYXNzaWduRmliZXJQcm9wZXJ0aWVzSW5ERVYodGFyZ2V0LCBzb3VyY2UpIHtcbiAgaWYgKHRhcmdldCA9PT0gbnVsbCkge1xuICAgIC8vIFRoaXMgRmliZXIncyBpbml0aWFsIHByb3BlcnRpZXMgd2lsbCBhbHdheXMgYmUgb3ZlcndyaXR0ZW4uXG4gICAgLy8gV2Ugb25seSB1c2UgYSBGaWJlciB0byBlbnN1cmUgdGhlIHNhbWUgaGlkZGVuIGNsYXNzIHNvIERFViBpc24ndCBzbG93LlxuICAgIHRhcmdldCA9IGNyZWF0ZUZpYmVyKEluZGV0ZXJtaW5hdGVDb21wb25lbnQsIG51bGwsIG51bGwsIE5vTW9kZSk7XG4gIH0gLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHdyaXR0ZW4gYXMgYSBsaXN0IG9mIGFsbCBwcm9wZXJ0aWVzLlxuICAvLyBXZSB0cmllZCB0byB1c2UgT2JqZWN0LmFzc2lnbigpIGluc3RlYWQgYnV0IHRoaXMgaXMgY2FsbGVkIGluXG4gIC8vIHRoZSBob3R0ZXN0IHBhdGgsIGFuZCBPYmplY3QuYXNzaWduKCkgd2FzIHRvbyBzbG93OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvaXNzdWVzLzEyNTAyXG4gIC8vIFRoaXMgY29kZSBpcyBERVYtb25seSBzbyBzaXplIGlzIG5vdCBhIGNvbmNlcm4uXG5cblxuICB0YXJnZXQudGFnID0gc291cmNlLnRhZztcbiAgdGFyZ2V0LmtleSA9IHNvdXJjZS5rZXk7XG4gIHRhcmdldC5lbGVtZW50VHlwZSA9IHNvdXJjZS5lbGVtZW50VHlwZTtcbiAgdGFyZ2V0LnR5cGUgPSBzb3VyY2UudHlwZTtcbiAgdGFyZ2V0LnN0YXRlTm9kZSA9IHNvdXJjZS5zdGF0ZU5vZGU7XG4gIHRhcmdldC5yZXR1cm4gPSBzb3VyY2UucmV0dXJuO1xuICB0YXJnZXQuY2hpbGQgPSBzb3VyY2UuY2hpbGQ7XG4gIHRhcmdldC5zaWJsaW5nID0gc291cmNlLnNpYmxpbmc7XG4gIHRhcmdldC5pbmRleCA9IHNvdXJjZS5pbmRleDtcbiAgdGFyZ2V0LnJlZiA9IHNvdXJjZS5yZWY7XG4gIHRhcmdldC5wZW5kaW5nUHJvcHMgPSBzb3VyY2UucGVuZGluZ1Byb3BzO1xuICB0YXJnZXQubWVtb2l6ZWRQcm9wcyA9IHNvdXJjZS5tZW1vaXplZFByb3BzO1xuICB0YXJnZXQudXBkYXRlUXVldWUgPSBzb3VyY2UudXBkYXRlUXVldWU7XG4gIHRhcmdldC5tZW1vaXplZFN0YXRlID0gc291cmNlLm1lbW9pemVkU3RhdGU7XG4gIHRhcmdldC5kZXBlbmRlbmNpZXMgPSBzb3VyY2UuZGVwZW5kZW5jaWVzO1xuICB0YXJnZXQubW9kZSA9IHNvdXJjZS5tb2RlO1xuICB0YXJnZXQuZWZmZWN0VGFnID0gc291cmNlLmVmZmVjdFRhZztcbiAgdGFyZ2V0Lm5leHRFZmZlY3QgPSBzb3VyY2UubmV4dEVmZmVjdDtcbiAgdGFyZ2V0LmZpcnN0RWZmZWN0ID0gc291cmNlLmZpcnN0RWZmZWN0O1xuICB0YXJnZXQubGFzdEVmZmVjdCA9IHNvdXJjZS5sYXN0RWZmZWN0O1xuICB0YXJnZXQuZXhwaXJhdGlvblRpbWUgPSBzb3VyY2UuZXhwaXJhdGlvblRpbWU7XG4gIHRhcmdldC5jaGlsZEV4cGlyYXRpb25UaW1lID0gc291cmNlLmNoaWxkRXhwaXJhdGlvblRpbWU7XG4gIHRhcmdldC5hbHRlcm5hdGUgPSBzb3VyY2UuYWx0ZXJuYXRlO1xuXG4gIHtcbiAgICB0YXJnZXQuYWN0dWFsRHVyYXRpb24gPSBzb3VyY2UuYWN0dWFsRHVyYXRpb247XG4gICAgdGFyZ2V0LmFjdHVhbFN0YXJ0VGltZSA9IHNvdXJjZS5hY3R1YWxTdGFydFRpbWU7XG4gICAgdGFyZ2V0LnNlbGZCYXNlRHVyYXRpb24gPSBzb3VyY2Uuc2VsZkJhc2VEdXJhdGlvbjtcbiAgICB0YXJnZXQudHJlZUJhc2VEdXJhdGlvbiA9IHNvdXJjZS50cmVlQmFzZUR1cmF0aW9uO1xuICB9XG5cbiAge1xuICAgIHRhcmdldC5fZGVidWdJRCA9IHNvdXJjZS5fZGVidWdJRDtcbiAgfVxuXG4gIHRhcmdldC5fZGVidWdTb3VyY2UgPSBzb3VyY2UuX2RlYnVnU291cmNlO1xuICB0YXJnZXQuX2RlYnVnT3duZXIgPSBzb3VyY2UuX2RlYnVnT3duZXI7XG4gIHRhcmdldC5fZGVidWdJc0N1cnJlbnRseVRpbWluZyA9IHNvdXJjZS5fZGVidWdJc0N1cnJlbnRseVRpbWluZztcbiAgdGFyZ2V0Ll9kZWJ1Z05lZWRzUmVtb3VudCA9IHNvdXJjZS5fZGVidWdOZWVkc1JlbW91bnQ7XG4gIHRhcmdldC5fZGVidWdIb29rVHlwZXMgPSBzb3VyY2UuX2RlYnVnSG9va1R5cGVzO1xuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBGaWJlclJvb3ROb2RlKGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSkge1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5jdXJyZW50ID0gbnVsbDtcbiAgdGhpcy5jb250YWluZXJJbmZvID0gY29udGFpbmVySW5mbztcbiAgdGhpcy5wZW5kaW5nQ2hpbGRyZW4gPSBudWxsO1xuICB0aGlzLnBpbmdDYWNoZSA9IG51bGw7XG4gIHRoaXMuZmluaXNoZWRFeHBpcmF0aW9uVGltZSA9IE5vV29yaztcbiAgdGhpcy5maW5pc2hlZFdvcmsgPSBudWxsO1xuICB0aGlzLnRpbWVvdXRIYW5kbGUgPSBub1RpbWVvdXQ7XG4gIHRoaXMuY29udGV4dCA9IG51bGw7XG4gIHRoaXMucGVuZGluZ0NvbnRleHQgPSBudWxsO1xuICB0aGlzLmh5ZHJhdGUgPSBoeWRyYXRlO1xuICB0aGlzLmNhbGxiYWNrTm9kZSA9IG51bGw7XG4gIHRoaXMuY2FsbGJhY2tQcmlvcml0eSA9IE5vUHJpb3JpdHk7XG4gIHRoaXMuZmlyc3RQZW5kaW5nVGltZSA9IE5vV29yaztcbiAgdGhpcy5maXJzdFN1c3BlbmRlZFRpbWUgPSBOb1dvcms7XG4gIHRoaXMubGFzdFN1c3BlbmRlZFRpbWUgPSBOb1dvcms7XG4gIHRoaXMubmV4dEtub3duUGVuZGluZ0xldmVsID0gTm9Xb3JrO1xuICB0aGlzLmxhc3RQaW5nZWRUaW1lID0gTm9Xb3JrO1xuICB0aGlzLmxhc3RFeHBpcmVkVGltZSA9IE5vV29yaztcblxuICB7XG4gICAgdGhpcy5pbnRlcmFjdGlvblRocmVhZElEID0gdHJhY2luZy51bnN0YWJsZV9nZXRUaHJlYWRJRCgpO1xuICAgIHRoaXMubWVtb2l6ZWRJbnRlcmFjdGlvbnMgPSBuZXcgU2V0KCk7XG4gICAgdGhpcy5wZW5kaW5nSW50ZXJhY3Rpb25NYXAgPSBuZXcgTWFwKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlRmliZXJSb290KGNvbnRhaW5lckluZm8sIHRhZywgaHlkcmF0ZSwgaHlkcmF0aW9uQ2FsbGJhY2tzKSB7XG4gIHZhciByb290ID0gbmV3IEZpYmVyUm9vdE5vZGUoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlKTtcbiAgLy8gc3RhdGVOb2RlIGlzIGFueS5cblxuXG4gIHZhciB1bmluaXRpYWxpemVkRmliZXIgPSBjcmVhdGVIb3N0Um9vdEZpYmVyKHRhZyk7XG4gIHJvb3QuY3VycmVudCA9IHVuaW5pdGlhbGl6ZWRGaWJlcjtcbiAgdW5pbml0aWFsaXplZEZpYmVyLnN0YXRlTm9kZSA9IHJvb3Q7XG4gIGluaXRpYWxpemVVcGRhdGVRdWV1ZSh1bmluaXRpYWxpemVkRmliZXIpO1xuICByZXR1cm4gcm9vdDtcbn1cbmZ1bmN0aW9uIGlzUm9vdFN1c3BlbmRlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5maXJzdFN1c3BlbmRlZFRpbWU7XG4gIHZhciBsYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWU7XG4gIHJldHVybiBmaXJzdFN1c3BlbmRlZFRpbWUgIT09IE5vV29yayAmJiBmaXJzdFN1c3BlbmRlZFRpbWUgPj0gZXhwaXJhdGlvblRpbWUgJiYgbGFzdFN1c3BlbmRlZFRpbWUgPD0gZXhwaXJhdGlvblRpbWU7XG59XG5mdW5jdGlvbiBtYXJrUm9vdFN1c3BlbmRlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5maXJzdFN1c3BlbmRlZFRpbWU7XG4gIHZhciBsYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWU7XG5cbiAgaWYgKGZpcnN0U3VzcGVuZGVkVGltZSA8IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcbiAgfVxuXG4gIGlmIChsYXN0U3VzcGVuZGVkVGltZSA+IGV4cGlyYXRpb25UaW1lIHx8IGZpcnN0U3VzcGVuZGVkVGltZSA9PT0gTm9Xb3JrKSB7XG4gICAgcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IGV4cGlyYXRpb25UaW1lO1xuICB9XG5cbiAgaWYgKGV4cGlyYXRpb25UaW1lIDw9IHJvb3QubGFzdFBpbmdlZFRpbWUpIHtcbiAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gTm9Xb3JrO1xuICB9XG5cbiAgaWYgKGV4cGlyYXRpb25UaW1lIDw9IHJvb3QubGFzdEV4cGlyZWRUaW1lKSB7XG4gICAgcm9vdC5sYXN0RXhwaXJlZFRpbWUgPSBOb1dvcms7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSb290VXBkYXRlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSkge1xuICAvLyBVcGRhdGUgdGhlIHJhbmdlIG9mIHBlbmRpbmcgdGltZXNcbiAgdmFyIGZpcnN0UGVuZGluZ1RpbWUgPSByb290LmZpcnN0UGVuZGluZ1RpbWU7XG5cbiAgaWYgKGV4cGlyYXRpb25UaW1lID4gZmlyc3RQZW5kaW5nVGltZSkge1xuICAgIHJvb3QuZmlyc3RQZW5kaW5nVGltZSA9IGV4cGlyYXRpb25UaW1lO1xuICB9IC8vIFVwZGF0ZSB0aGUgcmFuZ2Ugb2Ygc3VzcGVuZGVkIHRpbWVzLiBUcmVhdCBldmVyeXRoaW5nIGxvd2VyIHByaW9yaXR5IG9yXG4gIC8vIGVxdWFsIHRvIHRoaXMgdXBkYXRlIGFzIHVuc3VzcGVuZGVkLlxuXG5cbiAgdmFyIGZpcnN0U3VzcGVuZGVkVGltZSA9IHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lO1xuXG4gIGlmIChmaXJzdFN1c3BlbmRlZFRpbWUgIT09IE5vV29yaykge1xuICAgIGlmIChleHBpcmF0aW9uVGltZSA+PSBmaXJzdFN1c3BlbmRlZFRpbWUpIHtcbiAgICAgIC8vIFRoZSBlbnRpcmUgc3VzcGVuZGVkIHJhbmdlIGlzIG5vdyB1bnN1c3BlbmRlZC5cbiAgICAgIHJvb3QuZmlyc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gTm9Xb3JrO1xuICAgIH0gZWxzZSBpZiAoZXhwaXJhdGlvblRpbWUgPj0gcm9vdC5sYXN0U3VzcGVuZGVkVGltZSkge1xuICAgICAgcm9vdC5sYXN0U3VzcGVuZGVkVGltZSA9IGV4cGlyYXRpb25UaW1lICsgMTtcbiAgICB9IC8vIFRoaXMgaXMgYSBwZW5kaW5nIGxldmVsLiBDaGVjayBpZiBpdCdzIGhpZ2hlciBwcmlvcml0eSB0aGFuIHRoZSBuZXh0XG4gICAgLy8ga25vd24gcGVuZGluZyBsZXZlbC5cblxuXG4gICAgaWYgKGV4cGlyYXRpb25UaW1lID4gcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwpIHtcbiAgICAgIHJvb3QubmV4dEtub3duUGVuZGluZ0xldmVsID0gZXhwaXJhdGlvblRpbWU7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrUm9vdEZpbmlzaGVkQXRUaW1lKHJvb3QsIGZpbmlzaGVkRXhwaXJhdGlvblRpbWUsIHJlbWFpbmluZ0V4cGlyYXRpb25UaW1lKSB7XG4gIC8vIFVwZGF0ZSB0aGUgcmFuZ2Ugb2YgcGVuZGluZyB0aW1lc1xuICByb290LmZpcnN0UGVuZGluZ1RpbWUgPSByZW1haW5pbmdFeHBpcmF0aW9uVGltZTsgLy8gVXBkYXRlIHRoZSByYW5nZSBvZiBzdXNwZW5kZWQgdGltZXMuIFRyZWF0IGV2ZXJ5dGhpbmcgaGlnaGVyIHByaW9yaXR5IG9yXG4gIC8vIGVxdWFsIHRvIHRoaXMgdXBkYXRlIGFzIHVuc3VzcGVuZGVkLlxuXG4gIGlmIChmaW5pc2hlZEV4cGlyYXRpb25UaW1lIDw9IHJvb3QubGFzdFN1c3BlbmRlZFRpbWUpIHtcbiAgICAvLyBUaGUgZW50aXJlIHN1c3BlbmRlZCByYW5nZSBpcyBub3cgdW5zdXNwZW5kZWQuXG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSByb290Lmxhc3RTdXNwZW5kZWRUaW1lID0gcm9vdC5uZXh0S25vd25QZW5kaW5nTGV2ZWwgPSBOb1dvcms7XG4gIH0gZWxzZSBpZiAoZmluaXNoZWRFeHBpcmF0aW9uVGltZSA8PSByb290LmZpcnN0U3VzcGVuZGVkVGltZSkge1xuICAgIC8vIFBhcnQgb2YgdGhlIHN1c3BlbmRlZCByYW5nZSBpcyBub3cgdW5zdXNwZW5kZWQuIE5hcnJvdyB0aGUgcmFuZ2UgdG9cbiAgICAvLyBpbmNsdWRlIGV2ZXJ5dGhpbmcgYmV0d2VlbiB0aGUgdW5zdXNwZW5kZWQgdGltZSAobm9uLWluY2x1c2l2ZSkgYW5kIHRoZVxuICAgIC8vIGxhc3Qgc3VzcGVuZGVkIHRpbWUuXG4gICAgcm9vdC5maXJzdFN1c3BlbmRlZFRpbWUgPSBmaW5pc2hlZEV4cGlyYXRpb25UaW1lIC0gMTtcbiAgfVxuXG4gIGlmIChmaW5pc2hlZEV4cGlyYXRpb25UaW1lIDw9IHJvb3QubGFzdFBpbmdlZFRpbWUpIHtcbiAgICAvLyBDbGVhciB0aGUgcGluZ2VkIHRpbWVcbiAgICByb290Lmxhc3RQaW5nZWRUaW1lID0gTm9Xb3JrO1xuICB9XG5cbiAgaWYgKGZpbmlzaGVkRXhwaXJhdGlvblRpbWUgPD0gcm9vdC5sYXN0RXhwaXJlZFRpbWUpIHtcbiAgICAvLyBDbGVhciB0aGUgZXhwaXJlZCB0aW1lXG4gICAgcm9vdC5sYXN0RXhwaXJlZFRpbWUgPSBOb1dvcms7XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtSb290RXhwaXJlZEF0VGltZShyb290LCBleHBpcmF0aW9uVGltZSkge1xuICB2YXIgbGFzdEV4cGlyZWRUaW1lID0gcm9vdC5sYXN0RXhwaXJlZFRpbWU7XG5cbiAgaWYgKGxhc3RFeHBpcmVkVGltZSA9PT0gTm9Xb3JrIHx8IGxhc3RFeHBpcmVkVGltZSA+IGV4cGlyYXRpb25UaW1lKSB7XG4gICAgcm9vdC5sYXN0RXhwaXJlZFRpbWUgPSBleHBpcmF0aW9uVGltZTtcbiAgfVxufVxuXG52YXIgZGlkV2FybkFib3V0TmVzdGVkVXBkYXRlcztcbnZhciBkaWRXYXJuQWJvdXRGaW5kTm9kZUluU3RyaWN0TW9kZTtcblxue1xuICBkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzID0gZmFsc2U7XG4gIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlID0ge307XG59XG5cbmZ1bmN0aW9uIGdldENvbnRleHRGb3JTdWJ0cmVlKHBhcmVudENvbXBvbmVudCkge1xuICBpZiAoIXBhcmVudENvbXBvbmVudCkge1xuICAgIHJldHVybiBlbXB0eUNvbnRleHRPYmplY3Q7XG4gIH1cblxuICB2YXIgZmliZXIgPSBnZXQocGFyZW50Q29tcG9uZW50KTtcbiAgdmFyIHBhcmVudENvbnRleHQgPSBmaW5kQ3VycmVudFVubWFza2VkQ29udGV4dChmaWJlcik7XG5cbiAgaWYgKGZpYmVyLnRhZyA9PT0gQ2xhc3NDb21wb25lbnQpIHtcbiAgICB2YXIgQ29tcG9uZW50ID0gZmliZXIudHlwZTtcblxuICAgIGlmIChpc0NvbnRleHRQcm92aWRlcihDb21wb25lbnQpKSB7XG4gICAgICByZXR1cm4gcHJvY2Vzc0NoaWxkQ29udGV4dChmaWJlciwgQ29tcG9uZW50LCBwYXJlbnRDb250ZXh0KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcGFyZW50Q29udGV4dDtcbn1cblxuZnVuY3Rpb24gZmluZEhvc3RJbnN0YW5jZVdpdGhXYXJuaW5nKGNvbXBvbmVudCwgbWV0aG9kTmFtZSkge1xuICB7XG4gICAgdmFyIGZpYmVyID0gZ2V0KGNvbXBvbmVudCk7XG5cbiAgICBpZiAoZmliZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKHR5cGVvZiBjb21wb25lbnQucmVuZGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXCJVbmFibGUgdG8gZmluZCBub2RlIG9uIGFuIHVubW91bnRlZCBjb21wb25lbnQuXCIgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvciggXCJBcmd1bWVudCBhcHBlYXJzIHRvIG5vdCBiZSBhIFJlYWN0Q29tcG9uZW50LiBLZXlzOiBcIiArIE9iamVjdC5rZXlzKGNvbXBvbmVudCkgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXIoZmliZXIpO1xuXG4gICAgaWYgKGhvc3RGaWJlciA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKGhvc3RGaWJlci5tb2RlICYgU3RyaWN0TW9kZSkge1xuICAgICAgdmFyIGNvbXBvbmVudE5hbWUgPSBnZXRDb21wb25lbnROYW1lKGZpYmVyLnR5cGUpIHx8ICdDb21wb25lbnQnO1xuXG4gICAgICBpZiAoIWRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGRpZFdhcm5BYm91dEZpbmROb2RlSW5TdHJpY3RNb2RlW2NvbXBvbmVudE5hbWVdID0gdHJ1ZTtcblxuICAgICAgICBpZiAoZmliZXIubW9kZSAmIFN0cmljdE1vZGUpIHtcbiAgICAgICAgICBlcnJvcignJXMgaXMgZGVwcmVjYXRlZCBpbiBTdHJpY3RNb2RlLiAnICsgJyVzIHdhcyBwYXNzZWQgYW4gaW5zdGFuY2Ugb2YgJXMgd2hpY2ggaXMgaW5zaWRlIFN0cmljdE1vZGUuICcgKyAnSW5zdGVhZCwgYWRkIGEgcmVmIGRpcmVjdGx5IHRvIHRoZSBlbGVtZW50IHlvdSB3YW50IHRvIHJlZmVyZW5jZS4gJyArICdMZWFybiBtb3JlIGFib3V0IHVzaW5nIHJlZnMgc2FmZWx5IGhlcmU6ICcgKyAnaHR0cHM6Ly9mYi5tZS9yZWFjdC1zdHJpY3QtbW9kZS1maW5kLW5vZGUlcycsIG1ldGhvZE5hbWUsIG1ldGhvZE5hbWUsIGNvbXBvbmVudE5hbWUsIGdldFN0YWNrQnlGaWJlckluRGV2QW5kUHJvZChob3N0RmliZXIpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBlcnJvcignJXMgaXMgZGVwcmVjYXRlZCBpbiBTdHJpY3RNb2RlLiAnICsgJyVzIHdhcyBwYXNzZWQgYW4gaW5zdGFuY2Ugb2YgJXMgd2hpY2ggcmVuZGVycyBTdHJpY3RNb2RlIGNoaWxkcmVuLiAnICsgJ0luc3RlYWQsIGFkZCBhIHJlZiBkaXJlY3RseSB0byB0aGUgZWxlbWVudCB5b3Ugd2FudCB0byByZWZlcmVuY2UuICcgKyAnTGVhcm4gbW9yZSBhYm91dCB1c2luZyByZWZzIHNhZmVseSBoZXJlOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3Qtc3RyaWN0LW1vZGUtZmluZC1ub2RlJXMnLCBtZXRob2ROYW1lLCBtZXRob2ROYW1lLCBjb21wb25lbnROYW1lLCBnZXRTdGFja0J5RmliZXJJbkRldkFuZFByb2QoaG9zdEZpYmVyKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVDb250YWluZXIoY29udGFpbmVySW5mbywgdGFnLCBoeWRyYXRlLCBoeWRyYXRpb25DYWxsYmFja3MpIHtcbiAgcmV0dXJuIGNyZWF0ZUZpYmVyUm9vdChjb250YWluZXJJbmZvLCB0YWcsIGh5ZHJhdGUpO1xufVxuZnVuY3Rpb24gdXBkYXRlQ29udGFpbmVyKGVsZW1lbnQsIGNvbnRhaW5lciwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjaykge1xuICB7XG4gICAgb25TY2hlZHVsZVJvb3QoY29udGFpbmVyLCBlbGVtZW50KTtcbiAgfVxuXG4gIHZhciBjdXJyZW50JDEgPSBjb250YWluZXIuY3VycmVudDtcbiAgdmFyIGN1cnJlbnRUaW1lID0gcmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCk7XG5cbiAge1xuICAgIC8vICRGbG93RXhwZWN0ZWRFcnJvciAtIGplc3QgaXNuJ3QgYSBnbG9iYWwsIGFuZCBpc24ndCByZWNvZ25pemVkIG91dHNpZGUgb2YgdGVzdHNcbiAgICBpZiAoJ3VuZGVmaW5lZCcgIT09IHR5cGVvZiBqZXN0KSB7XG4gICAgICB3YXJuSWZVbm1vY2tlZFNjaGVkdWxlcihjdXJyZW50JDEpO1xuICAgICAgd2FybklmTm90U2NvcGVkV2l0aE1hdGNoaW5nQWN0KGN1cnJlbnQkMSk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHN1c3BlbnNlQ29uZmlnID0gcmVxdWVzdEN1cnJlbnRTdXNwZW5zZUNvbmZpZygpO1xuICB2YXIgZXhwaXJhdGlvblRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBjdXJyZW50JDEsIHN1c3BlbnNlQ29uZmlnKTtcbiAgdmFyIGNvbnRleHQgPSBnZXRDb250ZXh0Rm9yU3VidHJlZShwYXJlbnRDb21wb25lbnQpO1xuXG4gIGlmIChjb250YWluZXIuY29udGV4dCA9PT0gbnVsbCkge1xuICAgIGNvbnRhaW5lci5jb250ZXh0ID0gY29udGV4dDtcbiAgfSBlbHNlIHtcbiAgICBjb250YWluZXIucGVuZGluZ0NvbnRleHQgPSBjb250ZXh0O1xuICB9XG5cbiAge1xuICAgIGlmIChpc1JlbmRlcmluZyAmJiBjdXJyZW50ICE9PSBudWxsICYmICFkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzKSB7XG4gICAgICBkaWRXYXJuQWJvdXROZXN0ZWRVcGRhdGVzID0gdHJ1ZTtcblxuICAgICAgZXJyb3IoJ1JlbmRlciBtZXRob2RzIHNob3VsZCBiZSBhIHB1cmUgZnVuY3Rpb24gb2YgcHJvcHMgYW5kIHN0YXRlOyAnICsgJ3RyaWdnZXJpbmcgbmVzdGVkIGNvbXBvbmVudCB1cGRhdGVzIGZyb20gcmVuZGVyIGlzIG5vdCBhbGxvd2VkLiAnICsgJ0lmIG5lY2Vzc2FyeSwgdHJpZ2dlciBuZXN0ZWQgdXBkYXRlcyBpbiBjb21wb25lbnREaWRVcGRhdGUuXFxuXFxuJyArICdDaGVjayB0aGUgcmVuZGVyIG1ldGhvZCBvZiAlcy4nLCBnZXRDb21wb25lbnROYW1lKGN1cnJlbnQudHlwZSkgfHwgJ1Vua25vd24nKTtcbiAgICB9XG4gIH1cblxuICB2YXIgdXBkYXRlID0gY3JlYXRlVXBkYXRlKGV4cGlyYXRpb25UaW1lLCBzdXNwZW5zZUNvbmZpZyk7IC8vIENhdXRpb246IFJlYWN0IERldlRvb2xzIGN1cnJlbnRseSBkZXBlbmRzIG9uIHRoaXMgcHJvcGVydHlcbiAgLy8gYmVpbmcgY2FsbGVkIFwiZWxlbWVudFwiLlxuXG4gIHVwZGF0ZS5wYXlsb2FkID0ge1xuICAgIGVsZW1lbnQ6IGVsZW1lbnRcbiAgfTtcbiAgY2FsbGJhY2sgPSBjYWxsYmFjayA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNhbGxiYWNrO1xuXG4gIGlmIChjYWxsYmFjayAhPT0gbnVsbCkge1xuICAgIHtcbiAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBFeHBlY3RlZCB0aGUgbGFzdCBvcHRpb25hbCBgY2FsbGJhY2tgIGFyZ3VtZW50IHRvIGJlIGEgJyArICdmdW5jdGlvbi4gSW5zdGVhZCByZWNlaXZlZDogJXMuJywgY2FsbGJhY2spO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZS5jYWxsYmFjayA9IGNhbGxiYWNrO1xuICB9XG5cbiAgZW5xdWV1ZVVwZGF0ZShjdXJyZW50JDEsIHVwZGF0ZSk7XG4gIHNjaGVkdWxlV29yayhjdXJyZW50JDEsIGV4cGlyYXRpb25UaW1lKTtcbiAgcmV0dXJuIGV4cGlyYXRpb25UaW1lO1xufVxuZnVuY3Rpb24gZ2V0UHVibGljUm9vdEluc3RhbmNlKGNvbnRhaW5lcikge1xuICB2YXIgY29udGFpbmVyRmliZXIgPSBjb250YWluZXIuY3VycmVudDtcblxuICBpZiAoIWNvbnRhaW5lckZpYmVyLmNoaWxkKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzd2l0Y2ggKGNvbnRhaW5lckZpYmVyLmNoaWxkLnRhZykge1xuICAgIGNhc2UgSG9zdENvbXBvbmVudDpcbiAgICAgIHJldHVybiBnZXRQdWJsaWNJbnN0YW5jZShjb250YWluZXJGaWJlci5jaGlsZC5zdGF0ZU5vZGUpO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBjb250YWluZXJGaWJlci5jaGlsZC5zdGF0ZU5vZGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFya1JldHJ5VGltZUltcGwoZmliZXIsIHJldHJ5VGltZSkge1xuICB2YXIgc3VzcGVuc2VTdGF0ZSA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgaWYgKHN1c3BlbnNlU3RhdGUgIT09IG51bGwgJiYgc3VzcGVuc2VTdGF0ZS5kZWh5ZHJhdGVkICE9PSBudWxsKSB7XG4gICAgaWYgKHN1c3BlbnNlU3RhdGUucmV0cnlUaW1lIDwgcmV0cnlUaW1lKSB7XG4gICAgICBzdXNwZW5zZVN0YXRlLnJldHJ5VGltZSA9IHJldHJ5VGltZTtcbiAgICB9XG4gIH1cbn0gLy8gSW5jcmVhc2VzIHRoZSBwcmlvcml0eSBvZiB0aGVubmFibGVzIHdoZW4gdGhleSByZXNvbHZlIHdpdGhpbiB0aGlzIGJvdW5kYXJ5LlxuXG5cbmZ1bmN0aW9uIG1hcmtSZXRyeVRpbWVJZk5vdEh5ZHJhdGVkKGZpYmVyLCByZXRyeVRpbWUpIHtcbiAgbWFya1JldHJ5VGltZUltcGwoZmliZXIsIHJldHJ5VGltZSk7XG4gIHZhciBhbHRlcm5hdGUgPSBmaWJlci5hbHRlcm5hdGU7XG5cbiAgaWYgKGFsdGVybmF0ZSkge1xuICAgIG1hcmtSZXRyeVRpbWVJbXBsKGFsdGVybmF0ZSwgcmV0cnlUaW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBhdHRlbXB0VXNlckJsb2NraW5nSHlkcmF0aW9uJDEoZmliZXIpIHtcbiAgaWYgKGZpYmVyLnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAvLyBXZSBpZ25vcmUgSG9zdFJvb3RzIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBpbmNyZWFzZVxuICAgIC8vIHRoZWlyIHByaW9yaXR5IGFuZCB0aGV5IHNob3VsZCBub3Qgc3VzcGVuZCBvbiBJL08sXG4gICAgLy8gc2luY2UgeW91IGhhdmUgdG8gd3JhcCBhbnl0aGluZyB0aGF0IG1pZ2h0IHN1c3BlbmQgaW5cbiAgICAvLyBTdXNwZW5zZS5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgZXhwVGltZSA9IGNvbXB1dGVJbnRlcmFjdGl2ZUV4cGlyYXRpb24ocmVxdWVzdEN1cnJlbnRUaW1lRm9yVXBkYXRlKCkpO1xuICBzY2hlZHVsZVdvcmsoZmliZXIsIGV4cFRpbWUpO1xuICBtYXJrUmV0cnlUaW1lSWZOb3RIeWRyYXRlZChmaWJlciwgZXhwVGltZSk7XG59XG5mdW5jdGlvbiBhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKGZpYmVyKSB7XG4gIGlmIChmaWJlci50YWcgIT09IFN1c3BlbnNlQ29tcG9uZW50KSB7XG4gICAgLy8gV2UgaWdub3JlIEhvc3RSb290cyBoZXJlIGJlY2F1c2Ugd2UgY2FuJ3QgaW5jcmVhc2VcbiAgICAvLyB0aGVpciBwcmlvcml0eSBhbmQgdGhleSBzaG91bGQgbm90IHN1c3BlbmQgb24gSS9PLFxuICAgIC8vIHNpbmNlIHlvdSBoYXZlIHRvIHdyYXAgYW55dGhpbmcgdGhhdCBtaWdodCBzdXNwZW5kIGluXG4gICAgLy8gU3VzcGVuc2UuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc2NoZWR1bGVXb3JrKGZpYmVyLCBDb250aW51b3VzSHlkcmF0aW9uKTtcbiAgbWFya1JldHJ5VGltZUlmTm90SHlkcmF0ZWQoZmliZXIsIENvbnRpbnVvdXNIeWRyYXRpb24pO1xufVxuZnVuY3Rpb24gYXR0ZW1wdEh5ZHJhdGlvbkF0Q3VycmVudFByaW9yaXR5JDEoZmliZXIpIHtcbiAgaWYgKGZpYmVyLnRhZyAhPT0gU3VzcGVuc2VDb21wb25lbnQpIHtcbiAgICAvLyBXZSBpZ25vcmUgSG9zdFJvb3RzIGhlcmUgYmVjYXVzZSB3ZSBjYW4ndCBpbmNyZWFzZVxuICAgIC8vIHRoZWlyIHByaW9yaXR5IG90aGVyIHRoYW4gc3luY2hyb25vdXNseSBmbHVzaCBpdC5cbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgY3VycmVudFRpbWUgPSByZXF1ZXN0Q3VycmVudFRpbWVGb3JVcGRhdGUoKTtcbiAgdmFyIGV4cFRpbWUgPSBjb21wdXRlRXhwaXJhdGlvbkZvckZpYmVyKGN1cnJlbnRUaW1lLCBmaWJlciwgbnVsbCk7XG4gIHNjaGVkdWxlV29yayhmaWJlciwgZXhwVGltZSk7XG4gIG1hcmtSZXRyeVRpbWVJZk5vdEh5ZHJhdGVkKGZpYmVyLCBleHBUaW1lKTtcbn1cbmZ1bmN0aW9uIGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKGZpYmVyKSB7XG4gIHZhciBob3N0RmliZXIgPSBmaW5kQ3VycmVudEhvc3RGaWJlcldpdGhOb1BvcnRhbHMoZmliZXIpO1xuXG4gIGlmIChob3N0RmliZXIgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChob3N0RmliZXIudGFnID09PSBGdW5kYW1lbnRhbENvbXBvbmVudCkge1xuICAgIHJldHVybiBob3N0RmliZXIuc3RhdGVOb2RlLmluc3RhbmNlO1xuICB9XG5cbiAgcmV0dXJuIGhvc3RGaWJlci5zdGF0ZU5vZGU7XG59XG5cbnZhciBzaG91bGRTdXNwZW5kSW1wbCA9IGZ1bmN0aW9uIChmaWJlcikge1xuICByZXR1cm4gZmFsc2U7XG59O1xuXG5mdW5jdGlvbiBzaG91bGRTdXNwZW5kKGZpYmVyKSB7XG4gIHJldHVybiBzaG91bGRTdXNwZW5kSW1wbChmaWJlcik7XG59XG52YXIgb3ZlcnJpZGVIb29rU3RhdGUgPSBudWxsO1xudmFyIG92ZXJyaWRlUHJvcHMgPSBudWxsO1xudmFyIHNjaGVkdWxlVXBkYXRlID0gbnVsbDtcbnZhciBzZXRTdXNwZW5zZUhhbmRsZXIgPSBudWxsO1xuXG57XG4gIHZhciBjb3B5V2l0aFNldEltcGwgPSBmdW5jdGlvbiAob2JqLCBwYXRoLCBpZHgsIHZhbHVlKSB7XG4gICAgaWYgKGlkeCA+PSBwYXRoLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIHZhciBrZXkgPSBwYXRoW2lkeF07XG4gICAgdmFyIHVwZGF0ZWQgPSBBcnJheS5pc0FycmF5KG9iaikgPyBvYmouc2xpY2UoKSA6IF9hc3NpZ24oe30sIG9iaik7IC8vICRGbG93Rml4TWUgbnVtYmVyIG9yIHN0cmluZyBpcyBmaW5lIGhlcmVcblxuICAgIHVwZGF0ZWRba2V5XSA9IGNvcHlXaXRoU2V0SW1wbChvYmpba2V5XSwgcGF0aCwgaWR4ICsgMSwgdmFsdWUpO1xuICAgIHJldHVybiB1cGRhdGVkO1xuICB9O1xuXG4gIHZhciBjb3B5V2l0aFNldCA9IGZ1bmN0aW9uIChvYmosIHBhdGgsIHZhbHVlKSB7XG4gICAgcmV0dXJuIGNvcHlXaXRoU2V0SW1wbChvYmosIHBhdGgsIDAsIHZhbHVlKTtcbiAgfTsgLy8gU3VwcG9ydCBEZXZUb29scyBlZGl0YWJsZSB2YWx1ZXMgZm9yIHVzZVN0YXRlIGFuZCB1c2VSZWR1Y2VyLlxuXG5cbiAgb3ZlcnJpZGVIb29rU3RhdGUgPSBmdW5jdGlvbiAoZmliZXIsIGlkLCBwYXRoLCB2YWx1ZSkge1xuICAgIC8vIEZvciBub3csIHRoZSBcImlkXCIgb2Ygc3RhdGVmdWwgaG9va3MgaXMganVzdCB0aGUgc3RhdGVmdWwgaG9vayBpbmRleC5cbiAgICAvLyBUaGlzIG1heSBjaGFuZ2UgaW4gdGhlIGZ1dHVyZSB3aXRoIGUuZy4gbmVzdGVkIGhvb2tzLlxuICAgIHZhciBjdXJyZW50SG9vayA9IGZpYmVyLm1lbW9pemVkU3RhdGU7XG5cbiAgICB3aGlsZSAoY3VycmVudEhvb2sgIT09IG51bGwgJiYgaWQgPiAwKSB7XG4gICAgICBjdXJyZW50SG9vayA9IGN1cnJlbnRIb29rLm5leHQ7XG4gICAgICBpZC0tO1xuICAgIH1cblxuICAgIGlmIChjdXJyZW50SG9vayAhPT0gbnVsbCkge1xuICAgICAgdmFyIG5ld1N0YXRlID0gY29weVdpdGhTZXQoY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZSwgcGF0aCwgdmFsdWUpO1xuICAgICAgY3VycmVudEhvb2subWVtb2l6ZWRTdGF0ZSA9IG5ld1N0YXRlO1xuICAgICAgY3VycmVudEhvb2suYmFzZVN0YXRlID0gbmV3U3RhdGU7IC8vIFdlIGFyZW4ndCBhY3R1YWxseSBhZGRpbmcgYW4gdXBkYXRlIHRvIHRoZSBxdWV1ZSxcbiAgICAgIC8vIGJlY2F1c2UgdGhlcmUgaXMgbm8gdXBkYXRlIHdlIGNhbiBhZGQgZm9yIHVzZVJlZHVjZXIgaG9va3MgdGhhdCB3b24ndCB0cmlnZ2VyIGFuIGVycm9yLlxuICAgICAgLy8gKFRoZXJlJ3Mgbm8gYXBwcm9wcmlhdGUgYWN0aW9uIHR5cGUgZm9yIERldlRvb2xzIG92ZXJyaWRlcy4pXG4gICAgICAvLyBBcyBhIHJlc3VsdCB0aG91Z2gsIFJlYWN0IHdpbGwgc2VlIHRoZSBzY2hlZHVsZWQgdXBkYXRlIGFzIGEgbm9vcCBhbmQgYmFpbG91dC5cbiAgICAgIC8vIFNoYWxsb3cgY2xvbmluZyBwcm9wcyB3b3JrcyBhcyBhIHdvcmthcm91bmQgZm9yIG5vdyB0byBieXBhc3MgdGhlIGJhaWxvdXQgY2hlY2suXG5cbiAgICAgIGZpYmVyLm1lbW9pemVkUHJvcHMgPSBfYXNzaWduKHt9LCBmaWJlci5tZW1vaXplZFByb3BzKTtcbiAgICAgIHNjaGVkdWxlV29yayhmaWJlciwgU3luYyk7XG4gICAgfVxuICB9OyAvLyBTdXBwb3J0IERldlRvb2xzIHByb3BzIGZvciBmdW5jdGlvbiBjb21wb25lbnRzLCBmb3J3YXJkUmVmLCBtZW1vLCBob3N0IGNvbXBvbmVudHMsIGV0Yy5cblxuXG4gIG92ZXJyaWRlUHJvcHMgPSBmdW5jdGlvbiAoZmliZXIsIHBhdGgsIHZhbHVlKSB7XG4gICAgZmliZXIucGVuZGluZ1Byb3BzID0gY29weVdpdGhTZXQoZmliZXIubWVtb2l6ZWRQcm9wcywgcGF0aCwgdmFsdWUpO1xuXG4gICAgaWYgKGZpYmVyLmFsdGVybmF0ZSkge1xuICAgICAgZmliZXIuYWx0ZXJuYXRlLnBlbmRpbmdQcm9wcyA9IGZpYmVyLnBlbmRpbmdQcm9wcztcbiAgICB9XG5cbiAgICBzY2hlZHVsZVdvcmsoZmliZXIsIFN5bmMpO1xuICB9O1xuXG4gIHNjaGVkdWxlVXBkYXRlID0gZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgc2NoZWR1bGVXb3JrKGZpYmVyLCBTeW5jKTtcbiAgfTtcblxuICBzZXRTdXNwZW5zZUhhbmRsZXIgPSBmdW5jdGlvbiAobmV3U2hvdWxkU3VzcGVuZEltcGwpIHtcbiAgICBzaG91bGRTdXNwZW5kSW1wbCA9IG5ld1Nob3VsZFN1c3BlbmRJbXBsO1xuICB9O1xufVxuXG5mdW5jdGlvbiBpbmplY3RJbnRvRGV2VG9vbHMoZGV2VG9vbHNDb25maWcpIHtcbiAgdmFyIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlID0gZGV2VG9vbHNDb25maWcuZmluZEZpYmVyQnlIb3N0SW5zdGFuY2U7XG4gIHZhciBSZWFjdEN1cnJlbnREaXNwYXRjaGVyID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuUmVhY3RDdXJyZW50RGlzcGF0Y2hlcjtcbiAgcmV0dXJuIGluamVjdEludGVybmFscyhfYXNzaWduKHt9LCBkZXZUb29sc0NvbmZpZywge1xuICAgIG92ZXJyaWRlSG9va1N0YXRlOiBvdmVycmlkZUhvb2tTdGF0ZSxcbiAgICBvdmVycmlkZVByb3BzOiBvdmVycmlkZVByb3BzLFxuICAgIHNldFN1c3BlbnNlSGFuZGxlcjogc2V0U3VzcGVuc2VIYW5kbGVyLFxuICAgIHNjaGVkdWxlVXBkYXRlOiBzY2hlZHVsZVVwZGF0ZSxcbiAgICBjdXJyZW50RGlzcGF0Y2hlclJlZjogUmVhY3RDdXJyZW50RGlzcGF0Y2hlcixcbiAgICBmaW5kSG9zdEluc3RhbmNlQnlGaWJlcjogZnVuY3Rpb24gKGZpYmVyKSB7XG4gICAgICB2YXIgaG9zdEZpYmVyID0gZmluZEN1cnJlbnRIb3N0RmliZXIoZmliZXIpO1xuXG4gICAgICBpZiAoaG9zdEZpYmVyID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaG9zdEZpYmVyLnN0YXRlTm9kZTtcbiAgICB9LFxuICAgIGZpbmRGaWJlckJ5SG9zdEluc3RhbmNlOiBmdW5jdGlvbiAoaW5zdGFuY2UpIHtcbiAgICAgIGlmICghZmluZEZpYmVyQnlIb3N0SW5zdGFuY2UpIHtcbiAgICAgICAgLy8gTWlnaHQgbm90IGJlIGltcGxlbWVudGVkIGJ5IHRoZSByZW5kZXJlci5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgfSxcbiAgICAvLyBSZWFjdCBSZWZyZXNoXG4gICAgZmluZEhvc3RJbnN0YW5jZXNGb3JSZWZyZXNoOiAgZmluZEhvc3RJbnN0YW5jZXNGb3JSZWZyZXNoICxcbiAgICBzY2hlZHVsZVJlZnJlc2g6ICBzY2hlZHVsZVJlZnJlc2ggLFxuICAgIHNjaGVkdWxlUm9vdDogIHNjaGVkdWxlUm9vdCAsXG4gICAgc2V0UmVmcmVzaEhhbmRsZXI6ICBzZXRSZWZyZXNoSGFuZGxlciAsXG4gICAgLy8gRW5hYmxlcyBEZXZUb29scyB0byBhcHBlbmQgb3duZXIgc3RhY2tzIHRvIGVycm9yIG1lc3NhZ2VzIGluIERFViBtb2RlLlxuICAgIGdldEN1cnJlbnRGaWJlcjogIGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH0gXG4gIH0pKTtcbn1cbnZhciBJc1NvbWVSZW5kZXJlckFjdGluZyQxID0gUmVhY3RTaGFyZWRJbnRlcm5hbHMuSXNTb21lUmVuZGVyZXJBY3Rpbmc7XG5cbmZ1bmN0aW9uIFJlYWN0RE9NUm9vdChjb250YWluZXIsIG9wdGlvbnMpIHtcbiAgdGhpcy5faW50ZXJuYWxSb290ID0gY3JlYXRlUm9vdEltcGwoY29udGFpbmVyLCBDb25jdXJyZW50Um9vdCwgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIFJlYWN0RE9NQmxvY2tpbmdSb290KGNvbnRhaW5lciwgdGFnLCBvcHRpb25zKSB7XG4gIHRoaXMuX2ludGVybmFsUm9vdCA9IGNyZWF0ZVJvb3RJbXBsKGNvbnRhaW5lciwgdGFnLCBvcHRpb25zKTtcbn1cblxuUmVhY3RET01Sb290LnByb3RvdHlwZS5yZW5kZXIgPSBSZWFjdERPTUJsb2NraW5nUm9vdC5wcm90b3R5cGUucmVuZGVyID0gZnVuY3Rpb24gKGNoaWxkcmVuKSB7XG4gIHZhciByb290ID0gdGhpcy5faW50ZXJuYWxSb290O1xuXG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1sxXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ3JlbmRlciguLi4pOiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBzZWNvbmQgY2FsbGJhY2sgYXJndW1lbnQuICcgKyAnVG8gZXhlY3V0ZSBhIHNpZGUgZWZmZWN0IGFmdGVyIHJlbmRlcmluZywgZGVjbGFyZSBpdCBpbiBhIGNvbXBvbmVudCBib2R5IHdpdGggdXNlRWZmZWN0KCkuJyk7XG4gICAgfVxuXG4gICAgdmFyIGNvbnRhaW5lciA9IHJvb3QuY29udGFpbmVySW5mbztcblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgIT09IENPTU1FTlRfTk9ERSkge1xuICAgICAgdmFyIGhvc3RJbnN0YW5jZSA9IGZpbmRIb3N0SW5zdGFuY2VXaXRoTm9Qb3J0YWxzKHJvb3QuY3VycmVudCk7XG5cbiAgICAgIGlmIChob3N0SW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGhvc3RJbnN0YW5jZS5wYXJlbnROb2RlICE9PSBjb250YWluZXIpIHtcbiAgICAgICAgICBlcnJvcigncmVuZGVyKC4uLik6IEl0IGxvb2tzIGxpa2UgdGhlIFJlYWN0LXJlbmRlcmVkIGNvbnRlbnQgb2YgdGhlICcgKyAncm9vdCBjb250YWluZXIgd2FzIHJlbW92ZWQgd2l0aG91dCB1c2luZyBSZWFjdC4gVGhpcyBpcyBub3QgJyArICdzdXBwb3J0ZWQgYW5kIHdpbGwgY2F1c2UgZXJyb3JzLiBJbnN0ZWFkLCBjYWxsICcgKyBcInJvb3QudW5tb3VudCgpIHRvIGVtcHR5IGEgcm9vdCdzIGNvbnRhaW5lci5cIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIHJvb3QsIG51bGwsIG51bGwpO1xufTtcblxuUmVhY3RET01Sb290LnByb3RvdHlwZS51bm1vdW50ID0gUmVhY3RET01CbG9ja2luZ1Jvb3QucHJvdG90eXBlLnVubW91bnQgPSBmdW5jdGlvbiAoKSB7XG4gIHtcbiAgICBpZiAodHlwZW9mIGFyZ3VtZW50c1swXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZXJyb3IoJ3VubW91bnQoLi4uKTogZG9lcyBub3Qgc3VwcG9ydCBhIGNhbGxiYWNrIGFyZ3VtZW50LiAnICsgJ1RvIGV4ZWN1dGUgYSBzaWRlIGVmZmVjdCBhZnRlciByZW5kZXJpbmcsIGRlY2xhcmUgaXQgaW4gYSBjb21wb25lbnQgYm9keSB3aXRoIHVzZUVmZmVjdCgpLicpO1xuICAgIH1cbiAgfVxuXG4gIHZhciByb290ID0gdGhpcy5faW50ZXJuYWxSb290O1xuICB2YXIgY29udGFpbmVyID0gcm9vdC5jb250YWluZXJJbmZvO1xuICB1cGRhdGVDb250YWluZXIobnVsbCwgcm9vdCwgbnVsbCwgZnVuY3Rpb24gKCkge1xuICAgIHVubWFya0NvbnRhaW5lckFzUm9vdChjb250YWluZXIpO1xuICB9KTtcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZVJvb3RJbXBsKGNvbnRhaW5lciwgdGFnLCBvcHRpb25zKSB7XG4gIC8vIFRhZyBpcyBlaXRoZXIgTGVnYWN5Um9vdCBvciBDb25jdXJyZW50IFJvb3RcbiAgdmFyIGh5ZHJhdGUgPSBvcHRpb25zICE9IG51bGwgJiYgb3B0aW9ucy5oeWRyYXRlID09PSB0cnVlO1xuICB2YXIgaHlkcmF0aW9uQ2FsbGJhY2tzID0gb3B0aW9ucyAhPSBudWxsICYmIG9wdGlvbnMuaHlkcmF0aW9uT3B0aW9ucyB8fCBudWxsO1xuICB2YXIgcm9vdCA9IGNyZWF0ZUNvbnRhaW5lcihjb250YWluZXIsIHRhZywgaHlkcmF0ZSk7XG4gIG1hcmtDb250YWluZXJBc1Jvb3Qocm9vdC5jdXJyZW50LCBjb250YWluZXIpO1xuXG4gIGlmIChoeWRyYXRlICYmIHRhZyAhPT0gTGVnYWN5Um9vdCkge1xuICAgIHZhciBkb2MgPSBjb250YWluZXIubm9kZVR5cGUgPT09IERPQ1VNRU5UX05PREUgPyBjb250YWluZXIgOiBjb250YWluZXIub3duZXJEb2N1bWVudDtcbiAgICBlYWdlcmx5VHJhcFJlcGxheWFibGVFdmVudHMoY29udGFpbmVyLCBkb2MpO1xuICB9XG5cbiAgcmV0dXJuIHJvb3Q7XG59XG5mdW5jdGlvbiBjcmVhdGVMZWdhY3lSb290KGNvbnRhaW5lciwgb3B0aW9ucykge1xuICByZXR1cm4gbmV3IFJlYWN0RE9NQmxvY2tpbmdSb290KGNvbnRhaW5lciwgTGVnYWN5Um9vdCwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBpc1ZhbGlkQ29udGFpbmVyKG5vZGUpIHtcbiAgcmV0dXJuICEhKG5vZGUgJiYgKG5vZGUubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSB8fCBub2RlLm5vZGVUeXBlID09PSBET0NVTUVOVF9OT0RFIHx8IG5vZGUubm9kZVR5cGUgPT09IERPQ1VNRU5UX0ZSQUdNRU5UX05PREUgfHwgbm9kZS5ub2RlVHlwZSA9PT0gQ09NTUVOVF9OT0RFICYmIG5vZGUubm9kZVZhbHVlID09PSAnIHJlYWN0LW1vdW50LXBvaW50LXVuc3RhYmxlICcpKTtcbn1cblxudmFyIFJlYWN0Q3VycmVudE93bmVyJDMgPSBSZWFjdFNoYXJlZEludGVybmFscy5SZWFjdEN1cnJlbnRPd25lcjtcbnZhciB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzO1xudmFyIHdhcm5lZEFib3V0SHlkcmF0ZUFQSSA9IGZhbHNlO1xuXG57XG4gIHRvcExldmVsVXBkYXRlV2FybmluZ3MgPSBmdW5jdGlvbiAoY29udGFpbmVyKSB7XG4gICAgaWYgKGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyICYmIGNvbnRhaW5lci5ub2RlVHlwZSAhPT0gQ09NTUVOVF9OT0RFKSB7XG4gICAgICB2YXIgaG9zdEluc3RhbmNlID0gZmluZEhvc3RJbnN0YW5jZVdpdGhOb1BvcnRhbHMoY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIuX2ludGVybmFsUm9vdC5jdXJyZW50KTtcblxuICAgICAgaWYgKGhvc3RJbnN0YW5jZSkge1xuICAgICAgICBpZiAoaG9zdEluc3RhbmNlLnBhcmVudE5vZGUgIT09IGNvbnRhaW5lcikge1xuICAgICAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogSXQgbG9va3MgbGlrZSB0aGUgUmVhY3QtcmVuZGVyZWQgY29udGVudCBvZiB0aGlzICcgKyAnY29udGFpbmVyIHdhcyByZW1vdmVkIHdpdGhvdXQgdXNpbmcgUmVhY3QuIFRoaXMgaXMgbm90ICcgKyAnc3VwcG9ydGVkIGFuZCB3aWxsIGNhdXNlIGVycm9ycy4gSW5zdGVhZCwgY2FsbCAnICsgJ1JlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUgdG8gZW1wdHkgYSBjb250YWluZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgaXNSb290UmVuZGVyZWRCeVNvbWVSZWFjdCA9ICEhY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXI7XG4gICAgdmFyIHJvb3RFbCA9IGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpO1xuICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKHJvb3RFbCAmJiBnZXRJbnN0YW5jZUZyb21Ob2RlJDEocm9vdEVsKSk7XG5cbiAgICBpZiAoaGFzTm9uUm9vdFJlYWN0Q2hpbGQgJiYgIWlzUm9vdFJlbmRlcmVkQnlTb21lUmVhY3QpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoLi4uKTogUmVwbGFjaW5nIFJlYWN0LXJlbmRlcmVkIGNoaWxkcmVuIHdpdGggYSBuZXcgcm9vdCAnICsgJ2NvbXBvbmVudC4gSWYgeW91IGludGVuZGVkIHRvIHVwZGF0ZSB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCAnICsgJ3lvdSBzaG91bGQgaW5zdGVhZCBoYXZlIHRoZSBleGlzdGluZyBjaGlsZHJlbiB1cGRhdGUgdGhlaXIgc3RhdGUgJyArICdhbmQgcmVuZGVyIHRoZSBuZXcgY29tcG9uZW50cyBpbnN0ZWFkIG9mIGNhbGxpbmcgUmVhY3RET00ucmVuZGVyLicpO1xuICAgIH1cblxuICAgIGlmIChjb250YWluZXIubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiBjb250YWluZXIudGFnTmFtZSAmJiBjb250YWluZXIudGFnTmFtZS50b1VwcGVyQ2FzZSgpID09PSAnQk9EWScpIHtcbiAgICAgIGVycm9yKCdyZW5kZXIoKTogUmVuZGVyaW5nIGNvbXBvbmVudHMgZGlyZWN0bHkgaW50byBkb2N1bWVudC5ib2R5IGlzICcgKyAnZGlzY291cmFnZWQsIHNpbmNlIGl0cyBjaGlsZHJlbiBhcmUgb2Z0ZW4gbWFuaXB1bGF0ZWQgYnkgdGhpcmQtcGFydHkgJyArICdzY3JpcHRzIGFuZCBicm93c2VyIGV4dGVuc2lvbnMuIFRoaXMgbWF5IGxlYWQgdG8gc3VidGxlICcgKyAncmVjb25jaWxpYXRpb24gaXNzdWVzLiBUcnkgcmVuZGVyaW5nIGludG8gYSBjb250YWluZXIgZWxlbWVudCBjcmVhdGVkICcgKyAnZm9yIHlvdXIgYXBwLicpO1xuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcikge1xuICBpZiAoIWNvbnRhaW5lcikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRE9DVU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb250YWluZXIuZG9jdW1lbnRFbGVtZW50O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBjb250YWluZXIuZmlyc3RDaGlsZDtcbiAgfVxufVxuXG5mdW5jdGlvbiBzaG91bGRIeWRyYXRlRHVlVG9MZWdhY3lIZXVyaXN0aWMoY29udGFpbmVyKSB7XG4gIHZhciByb290RWxlbWVudCA9IGdldFJlYWN0Um9vdEVsZW1lbnRJbkNvbnRhaW5lcihjb250YWluZXIpO1xuICByZXR1cm4gISEocm9vdEVsZW1lbnQgJiYgcm9vdEVsZW1lbnQubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiByb290RWxlbWVudC5oYXNBdHRyaWJ1dGUoUk9PVF9BVFRSSUJVVEVfTkFNRSkpO1xufVxuXG5mdW5jdGlvbiBsZWdhY3lDcmVhdGVSb290RnJvbURPTUNvbnRhaW5lcihjb250YWluZXIsIGZvcmNlSHlkcmF0ZSkge1xuICB2YXIgc2hvdWxkSHlkcmF0ZSA9IGZvcmNlSHlkcmF0ZSB8fCBzaG91bGRIeWRyYXRlRHVlVG9MZWdhY3lIZXVyaXN0aWMoY29udGFpbmVyKTsgLy8gRmlyc3QgY2xlYXIgYW55IGV4aXN0aW5nIGNvbnRlbnQuXG5cbiAgaWYgKCFzaG91bGRIeWRyYXRlKSB7XG4gICAgdmFyIHdhcm5lZCA9IGZhbHNlO1xuICAgIHZhciByb290U2libGluZztcblxuICAgIHdoaWxlIChyb290U2libGluZyA9IGNvbnRhaW5lci5sYXN0Q2hpbGQpIHtcbiAgICAgIHtcbiAgICAgICAgaWYgKCF3YXJuZWQgJiYgcm9vdFNpYmxpbmcubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSAmJiByb290U2libGluZy5oYXNBdHRyaWJ1dGUoUk9PVF9BVFRSSUJVVEVfTkFNRSkpIHtcbiAgICAgICAgICB3YXJuZWQgPSB0cnVlO1xuXG4gICAgICAgICAgZXJyb3IoJ3JlbmRlcigpOiBUYXJnZXQgbm9kZSBoYXMgbWFya3VwIHJlbmRlcmVkIGJ5IFJlYWN0LCBidXQgdGhlcmUgJyArICdhcmUgdW5yZWxhdGVkIG5vZGVzIGFzIHdlbGwuIFRoaXMgaXMgbW9zdCBjb21tb25seSBjYXVzZWQgYnkgJyArICd3aGl0ZS1zcGFjZSBpbnNlcnRlZCBhcm91bmQgc2VydmVyLXJlbmRlcmVkIG1hcmt1cC4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb250YWluZXIucmVtb3ZlQ2hpbGQocm9vdFNpYmxpbmcpO1xuICAgIH1cbiAgfVxuXG4gIHtcbiAgICBpZiAoc2hvdWxkSHlkcmF0ZSAmJiAhZm9yY2VIeWRyYXRlICYmICF3YXJuZWRBYm91dEh5ZHJhdGVBUEkpIHtcbiAgICAgIHdhcm5lZEFib3V0SHlkcmF0ZUFQSSA9IHRydWU7XG5cbiAgICAgIHdhcm4oJ3JlbmRlcigpOiBDYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIHRvIGh5ZHJhdGUgc2VydmVyLXJlbmRlcmVkIG1hcmt1cCAnICsgJ3dpbGwgc3RvcCB3b3JraW5nIGluIFJlYWN0IHYxNy4gUmVwbGFjZSB0aGUgUmVhY3RET00ucmVuZGVyKCkgY2FsbCAnICsgJ3dpdGggUmVhY3RET00uaHlkcmF0ZSgpIGlmIHlvdSB3YW50IFJlYWN0IHRvIGF0dGFjaCB0byB0aGUgc2VydmVyIEhUTUwuJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZUxlZ2FjeVJvb3QoY29udGFpbmVyLCBzaG91bGRIeWRyYXRlID8ge1xuICAgIGh5ZHJhdGU6IHRydWVcbiAgfSA6IHVuZGVmaW5lZCk7XG59XG5cbmZ1bmN0aW9uIHdhcm5PbkludmFsaWRDYWxsYmFjayQxKGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gIHtcbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwgJiYgdHlwZW9mIGNhbGxiYWNrICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICBlcnJvcignJXMoLi4uKTogRXhwZWN0ZWQgdGhlIGxhc3Qgb3B0aW9uYWwgYGNhbGxiYWNrYCBhcmd1bWVudCB0byBiZSBhICcgKyAnZnVuY3Rpb24uIEluc3RlYWQgcmVjZWl2ZWQ6ICVzLicsIGNhbGxlck5hbWUsIGNhbGxiYWNrKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gbGVnYWN5UmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBjaGlsZHJlbiwgY29udGFpbmVyLCBmb3JjZUh5ZHJhdGUsIGNhbGxiYWNrKSB7XG4gIHtcbiAgICB0b3BMZXZlbFVwZGF0ZVdhcm5pbmdzKGNvbnRhaW5lcik7XG4gICAgd2Fybk9uSW52YWxpZENhbGxiYWNrJDEoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBjYWxsYmFjaywgJ3JlbmRlcicpO1xuICB9IC8vIFRPRE86IFdpdGhvdXQgYGFueWAgdHlwZSwgRmxvdyBzYXlzIFwiUHJvcGVydHkgY2Fubm90IGJlIGFjY2Vzc2VkIG9uIGFueVxuICAvLyBtZW1iZXIgb2YgaW50ZXJzZWN0aW9uIHR5cGUuXCIgV2h5eXl5eXkuXG5cblxuICB2YXIgcm9vdCA9IGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyO1xuICB2YXIgZmliZXJSb290O1xuXG4gIGlmICghcm9vdCkge1xuICAgIC8vIEluaXRpYWwgbW91bnRcbiAgICByb290ID0gY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPSBsZWdhY3lDcmVhdGVSb290RnJvbURPTUNvbnRhaW5lcihjb250YWluZXIsIGZvcmNlSHlkcmF0ZSk7XG4gICAgZmliZXJSb290ID0gcm9vdC5faW50ZXJuYWxSb290O1xuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdmFyIG9yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuICAgICAgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShmaWJlclJvb3QpO1xuICAgICAgICBvcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9IC8vIEluaXRpYWwgbW91bnQgc2hvdWxkIG5vdCBiZSBiYXRjaGVkLlxuXG5cbiAgICB1bmJhdGNoZWRVcGRhdGVzKGZ1bmN0aW9uICgpIHtcbiAgICAgIHVwZGF0ZUNvbnRhaW5lcihjaGlsZHJlbiwgZmliZXJSb290LCBwYXJlbnRDb21wb25lbnQsIGNhbGxiYWNrKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBmaWJlclJvb3QgPSByb290Ll9pbnRlcm5hbFJvb3Q7XG5cbiAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB2YXIgX29yaWdpbmFsQ2FsbGJhY2sgPSBjYWxsYmFjaztcblxuICAgICAgY2FsbGJhY2sgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBpbnN0YW5jZSA9IGdldFB1YmxpY1Jvb3RJbnN0YW5jZShmaWJlclJvb3QpO1xuXG4gICAgICAgIF9vcmlnaW5hbENhbGxiYWNrLmNhbGwoaW5zdGFuY2UpO1xuICAgICAgfTtcbiAgICB9IC8vIFVwZGF0ZVxuXG5cbiAgICB1cGRhdGVDb250YWluZXIoY2hpbGRyZW4sIGZpYmVyUm9vdCwgcGFyZW50Q29tcG9uZW50LCBjYWxsYmFjayk7XG4gIH1cblxuICByZXR1cm4gZ2V0UHVibGljUm9vdEluc3RhbmNlKGZpYmVyUm9vdCk7XG59XG5cbmZ1bmN0aW9uIGZpbmRET01Ob2RlKGNvbXBvbmVudE9yRWxlbWVudCkge1xuICB7XG4gICAgdmFyIG93bmVyID0gUmVhY3RDdXJyZW50T3duZXIkMy5jdXJyZW50O1xuXG4gICAgaWYgKG93bmVyICE9PSBudWxsICYmIG93bmVyLnN0YXRlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgdmFyIHdhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gb3duZXIuc3RhdGVOb2RlLl93YXJuZWRBYm91dFJlZnNJblJlbmRlcjtcblxuICAgICAgaWYgKCF3YXJuZWRBYm91dFJlZnNJblJlbmRlcikge1xuICAgICAgICBlcnJvcignJXMgaXMgYWNjZXNzaW5nIGZpbmRET01Ob2RlIGluc2lkZSBpdHMgcmVuZGVyKCkuICcgKyAncmVuZGVyKCkgc2hvdWxkIGJlIGEgcHVyZSBmdW5jdGlvbiBvZiBwcm9wcyBhbmQgc3RhdGUuIEl0IHNob3VsZCAnICsgJ25ldmVyIGFjY2VzcyBzb21ldGhpbmcgdGhhdCByZXF1aXJlcyBzdGFsZSBkYXRhIGZyb20gdGhlIHByZXZpb3VzICcgKyAncmVuZGVyLCBzdWNoIGFzIHJlZnMuIE1vdmUgdGhpcyBsb2dpYyB0byBjb21wb25lbnREaWRNb3VudCBhbmQgJyArICdjb21wb25lbnREaWRVcGRhdGUgaW5zdGVhZC4nLCBnZXRDb21wb25lbnROYW1lKG93bmVyLnR5cGUpIHx8ICdBIGNvbXBvbmVudCcpO1xuICAgICAgfVxuXG4gICAgICBvd25lci5zdGF0ZU5vZGUuX3dhcm5lZEFib3V0UmVmc0luUmVuZGVyID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBpZiAoY29tcG9uZW50T3JFbGVtZW50ID09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGlmIChjb21wb25lbnRPckVsZW1lbnQubm9kZVR5cGUgPT09IEVMRU1FTlRfTk9ERSkge1xuICAgIHJldHVybiBjb21wb25lbnRPckVsZW1lbnQ7XG4gIH1cblxuICB7XG4gICAgcmV0dXJuIGZpbmRIb3N0SW5zdGFuY2VXaXRoV2FybmluZyhjb21wb25lbnRPckVsZW1lbnQsICdmaW5kRE9NTm9kZScpO1xuICB9XG59XG5mdW5jdGlvbiBoeWRyYXRlKGVsZW1lbnQsIGNvbnRhaW5lciwgY2FsbGJhY2spIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LlwiICk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLmh5ZHJhdGUoKSBvbiBhIGNvbnRhaW5lciB0aGF0IHdhcyBwcmV2aW91c2x5ICcgKyAncGFzc2VkIHRvIFJlYWN0RE9NLmNyZWF0ZVJvb3QoKS4gVGhpcyBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIGNyZWF0ZVJvb3QoY29udGFpbmVyLCB7aHlkcmF0ZTogdHJ1ZX0pLnJlbmRlcihlbGVtZW50KT8nKTtcbiAgICB9XG4gIH0gLy8gVE9ETzogdGhyb3cgb3Igd2FybiBpZiB3ZSBjb3VsZG4ndCBoeWRyYXRlP1xuXG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgdHJ1ZSwgY2FsbGJhY2spO1xufVxuZnVuY3Rpb24gcmVuZGVyKGVsZW1lbnQsIGNvbnRhaW5lciwgY2FsbGJhY2spIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJUYXJnZXQgY29udGFpbmVyIGlzIG5vdCBhIERPTSBlbGVtZW50LlwiICk7XG4gICAgfVxuICB9XG5cbiAge1xuICAgIHZhciBpc01vZGVyblJvb3QgPSBpc0NvbnRhaW5lck1hcmtlZEFzUm9vdChjb250YWluZXIpICYmIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID09PSB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaXNNb2Rlcm5Sb290KSB7XG4gICAgICBlcnJvcignWW91IGFyZSBjYWxsaW5nIFJlYWN0RE9NLnJlbmRlcigpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET00uY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnRGlkIHlvdSBtZWFuIHRvIGNhbGwgcm9vdC5yZW5kZXIoZWxlbWVudCk/Jyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGxlZ2FjeVJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKG51bGwsIGVsZW1lbnQsIGNvbnRhaW5lciwgZmFsc2UsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3JlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lck5vZGUpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC5cIiApO1xuICAgIH1cbiAgfVxuXG4gIGlmICghKHBhcmVudENvbXBvbmVudCAhPSBudWxsICYmIGhhcyhwYXJlbnRDb21wb25lbnQpKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcInBhcmVudENvbXBvbmVudCBtdXN0IGJlIGEgdmFsaWQgUmVhY3QgQ29tcG9uZW50XCIgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbGVnYWN5UmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBlbGVtZW50LCBjb250YWluZXJOb2RlLCBmYWxzZSwgY2FsbGJhY2spO1xufVxuZnVuY3Rpb24gdW5tb3VudENvbXBvbmVudEF0Tm9kZShjb250YWluZXIpIHtcbiAgaWYgKCFpc1ZhbGlkQ29udGFpbmVyKGNvbnRhaW5lcikpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJ1bm1vdW50Q29tcG9uZW50QXROb2RlKC4uLik6IFRhcmdldCBjb250YWluZXIgaXMgbm90IGEgRE9NIGVsZW1lbnQuXCIgKTtcbiAgICB9XG4gIH1cblxuICB7XG4gICAgdmFyIGlzTW9kZXJuUm9vdCA9IGlzQ29udGFpbmVyTWFya2VkQXNSb290KGNvbnRhaW5lcikgJiYgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXIgPT09IHVuZGVmaW5lZDtcblxuICAgIGlmIChpc01vZGVyblJvb3QpIHtcbiAgICAgIGVycm9yKCdZb3UgYXJlIGNhbGxpbmcgUmVhY3RET00udW5tb3VudENvbXBvbmVudEF0Tm9kZSgpIG9uIGEgY29udGFpbmVyIHRoYXQgd2FzIHByZXZpb3VzbHkgJyArICdwYXNzZWQgdG8gUmVhY3RET00uY3JlYXRlUm9vdCgpLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQuIERpZCB5b3UgbWVhbiB0byBjYWxsIHJvb3QudW5tb3VudCgpPycpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChjb250YWluZXIuX3JlYWN0Um9vdENvbnRhaW5lcikge1xuICAgIHtcbiAgICAgIHZhciByb290RWwgPSBnZXRSZWFjdFJvb3RFbGVtZW50SW5Db250YWluZXIoY29udGFpbmVyKTtcbiAgICAgIHZhciByZW5kZXJlZEJ5RGlmZmVyZW50UmVhY3QgPSByb290RWwgJiYgIWdldEluc3RhbmNlRnJvbU5vZGUkMShyb290RWwpO1xuXG4gICAgICBpZiAocmVuZGVyZWRCeURpZmZlcmVudFJlYWN0KSB7XG4gICAgICAgIGVycm9yKFwidW5tb3VudENvbXBvbmVudEF0Tm9kZSgpOiBUaGUgbm9kZSB5b3UncmUgYXR0ZW1wdGluZyB0byB1bm1vdW50IFwiICsgJ3dhcyByZW5kZXJlZCBieSBhbm90aGVyIGNvcHkgb2YgUmVhY3QuJyk7XG4gICAgICB9XG4gICAgfSAvLyBVbm1vdW50IHNob3VsZCBub3QgYmUgYmF0Y2hlZC5cblxuXG4gICAgdW5iYXRjaGVkVXBkYXRlcyhmdW5jdGlvbiAoKSB7XG4gICAgICBsZWdhY3lSZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lcihudWxsLCBudWxsLCBjb250YWluZXIsIGZhbHNlLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vICRGbG93Rml4TWUgVGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIGBkZWxldGUgY29udGFpbmVyLl9yZWFjdFJvb3RDb250YWluZXJgXG4gICAgICAgIGNvbnRhaW5lci5fcmVhY3RSb290Q29udGFpbmVyID0gbnVsbDtcbiAgICAgICAgdW5tYXJrQ29udGFpbmVyQXNSb290KGNvbnRhaW5lcik7XG4gICAgICB9KTtcbiAgICB9KTsgLy8gSWYgeW91IGNhbGwgdW5tb3VudENvbXBvbmVudEF0Tm9kZSB0d2ljZSBpbiBxdWljayBzdWNjZXNzaW9uLCB5b3UnbGxcbiAgICAvLyBnZXQgYHRydWVgIHR3aWNlLiBUaGF0J3MgcHJvYmFibHkgZmluZT9cblxuICAgIHJldHVybiB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHtcbiAgICAgIHZhciBfcm9vdEVsID0gZ2V0UmVhY3RSb290RWxlbWVudEluQ29udGFpbmVyKGNvbnRhaW5lcik7XG5cbiAgICAgIHZhciBoYXNOb25Sb290UmVhY3RDaGlsZCA9ICEhKF9yb290RWwgJiYgZ2V0SW5zdGFuY2VGcm9tTm9kZSQxKF9yb290RWwpKTsgLy8gQ2hlY2sgaWYgdGhlIGNvbnRhaW5lciBpdHNlbGYgaXMgYSBSZWFjdCByb290IG5vZGUuXG5cbiAgICAgIHZhciBpc0NvbnRhaW5lclJlYWN0Um9vdCA9IGNvbnRhaW5lci5ub2RlVHlwZSA9PT0gRUxFTUVOVF9OT0RFICYmIGlzVmFsaWRDb250YWluZXIoY29udGFpbmVyLnBhcmVudE5vZGUpICYmICEhY29udGFpbmVyLnBhcmVudE5vZGUuX3JlYWN0Um9vdENvbnRhaW5lcjtcblxuICAgICAgaWYgKGhhc05vblJvb3RSZWFjdENoaWxkKSB7XG4gICAgICAgIGVycm9yKFwidW5tb3VudENvbXBvbmVudEF0Tm9kZSgpOiBUaGUgbm9kZSB5b3UncmUgYXR0ZW1wdGluZyB0byB1bm1vdW50IFwiICsgJ3dhcyByZW5kZXJlZCBieSBSZWFjdCBhbmQgaXMgbm90IGEgdG9wLWxldmVsIGNvbnRhaW5lci4gJXMnLCBpc0NvbnRhaW5lclJlYWN0Um9vdCA/ICdZb3UgbWF5IGhhdmUgYWNjaWRlbnRhbGx5IHBhc3NlZCBpbiBhIFJlYWN0IHJvb3Qgbm9kZSBpbnN0ZWFkICcgKyAnb2YgaXRzIGNvbnRhaW5lci4nIDogJ0luc3RlYWQsIGhhdmUgdGhlIHBhcmVudCBjb21wb25lbnQgdXBkYXRlIGl0cyBzdGF0ZSBhbmQgJyArICdyZXJlbmRlciBpbiBvcmRlciB0byByZW1vdmUgdGhpcyBjb21wb25lbnQuJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVySW5mbywgLy8gVE9ETzogZmlndXJlIG91dCB0aGUgQVBJIGZvciBjcm9zcy1yZW5kZXJlciBpbXBsZW1lbnRhdGlvbi5cbmltcGxlbWVudGF0aW9uKSB7XG4gIHZhciBrZXkgPSBhcmd1bWVudHMubGVuZ3RoID4gMyAmJiBhcmd1bWVudHNbM10gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1szXSA6IG51bGw7XG4gIHJldHVybiB7XG4gICAgLy8gVGhpcyB0YWcgYWxsb3cgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IFBvcnRhbFxuICAgICQkdHlwZW9mOiBSRUFDVF9QT1JUQUxfVFlQRSxcbiAgICBrZXk6IGtleSA9PSBudWxsID8gbnVsbCA6ICcnICsga2V5LFxuICAgIGNoaWxkcmVuOiBjaGlsZHJlbixcbiAgICBjb250YWluZXJJbmZvOiBjb250YWluZXJJbmZvLFxuICAgIGltcGxlbWVudGF0aW9uOiBpbXBsZW1lbnRhdGlvblxuICB9O1xufVxuXG52YXIgUmVhY3RWZXJzaW9uID0gJzE2LjEzLjEnO1xuXG5zZXRBdHRlbXB0VXNlckJsb2NraW5nSHlkcmF0aW9uKGF0dGVtcHRVc2VyQmxvY2tpbmdIeWRyYXRpb24kMSk7XG5zZXRBdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbihhdHRlbXB0Q29udGludW91c0h5ZHJhdGlvbiQxKTtcbnNldEF0dGVtcHRIeWRyYXRpb25BdEN1cnJlbnRQcmlvcml0eShhdHRlbXB0SHlkcmF0aW9uQXRDdXJyZW50UHJpb3JpdHkkMSk7XG52YXIgZGlkV2FybkFib3V0VW5zdGFibGVDcmVhdGVQb3J0YWwgPSBmYWxzZTtcblxue1xuICBpZiAodHlwZW9mIE1hcCAhPT0gJ2Z1bmN0aW9uJyB8fCAvLyAkRmxvd0lzc3VlIEZsb3cgaW5jb3JyZWN0bHkgdGhpbmtzIE1hcCBoYXMgbm8gcHJvdG90eXBlXG4gIE1hcC5wcm90b3R5cGUgPT0gbnVsbCB8fCB0eXBlb2YgTWFwLnByb3RvdHlwZS5mb3JFYWNoICE9PSAnZnVuY3Rpb24nIHx8IHR5cGVvZiBTZXQgIT09ICdmdW5jdGlvbicgfHwgLy8gJEZsb3dJc3N1ZSBGbG93IGluY29ycmVjdGx5IHRoaW5rcyBTZXQgaGFzIG5vIHByb3RvdHlwZVxuICBTZXQucHJvdG90eXBlID09IG51bGwgfHwgdHlwZW9mIFNldC5wcm90b3R5cGUuY2xlYXIgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIFNldC5wcm90b3R5cGUuZm9yRWFjaCAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIGVycm9yKCdSZWFjdCBkZXBlbmRzIG9uIE1hcCBhbmQgU2V0IGJ1aWx0LWluIHR5cGVzLiBNYWtlIHN1cmUgdGhhdCB5b3UgbG9hZCBhICcgKyAncG9seWZpbGwgaW4gb2xkZXIgYnJvd3NlcnMuIGh0dHBzOi8vZmIubWUvcmVhY3QtcG9seWZpbGxzJyk7XG4gIH1cbn1cblxuc2V0UmVzdG9yZUltcGxlbWVudGF0aW9uKHJlc3RvcmVDb250cm9sbGVkU3RhdGUkMyk7XG5zZXRCYXRjaGluZ0ltcGxlbWVudGF0aW9uKGJhdGNoZWRVcGRhdGVzJDEsIGRpc2NyZXRlVXBkYXRlcyQxLCBmbHVzaERpc2NyZXRlVXBkYXRlcywgYmF0Y2hlZEV2ZW50VXBkYXRlcyQxKTtcblxuZnVuY3Rpb24gY3JlYXRlUG9ydGFsJDEoY2hpbGRyZW4sIGNvbnRhaW5lcikge1xuICB2YXIga2V5ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMl0gOiBudWxsO1xuXG4gIGlmICghaXNWYWxpZENvbnRhaW5lcihjb250YWluZXIpKSB7XG4gICAge1xuICAgICAgdGhyb3cgRXJyb3IoIFwiVGFyZ2V0IGNvbnRhaW5lciBpcyBub3QgYSBET00gZWxlbWVudC5cIiApO1xuICAgIH1cbiAgfSAvLyBUT0RPOiBwYXNzIFJlYWN0RE9NIHBvcnRhbCBpbXBsZW1lbnRhdGlvbiBhcyB0aGlyZCBhcmd1bWVudFxuICAvLyAkRmxvd0ZpeE1lIFRoZSBGbG93IHR5cGUgaXMgb3BhcXVlIGJ1dCB0aGVyZSdzIG5vIHdheSB0byBhY3R1YWxseSBjcmVhdGUgaXQuXG5cblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKGNoaWxkcmVuLCBjb250YWluZXIsIG51bGwsIGtleSk7XG59XG5cbmZ1bmN0aW9uIHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyKHBhcmVudENvbXBvbmVudCwgZWxlbWVudCwgY29udGFpbmVyTm9kZSwgY2FsbGJhY2spIHtcblxuICByZXR1cm4gdW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIocGFyZW50Q29tcG9uZW50LCBlbGVtZW50LCBjb250YWluZXJOb2RlLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX2NyZWF0ZVBvcnRhbChjaGlsZHJlbiwgY29udGFpbmVyKSB7XG4gIHZhciBrZXkgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IG51bGw7XG5cbiAge1xuICAgIGlmICghZGlkV2FybkFib3V0VW5zdGFibGVDcmVhdGVQb3J0YWwpIHtcbiAgICAgIGRpZFdhcm5BYm91dFVuc3RhYmxlQ3JlYXRlUG9ydGFsID0gdHJ1ZTtcblxuICAgICAgd2FybignVGhlIFJlYWN0RE9NLnVuc3RhYmxlX2NyZWF0ZVBvcnRhbCgpIGFsaWFzIGhhcyBiZWVuIGRlcHJlY2F0ZWQsICcgKyAnYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiBSZWFjdCAxNysuIFVwZGF0ZSB5b3VyIGNvZGUgdG8gdXNlICcgKyAnUmVhY3RET00uY3JlYXRlUG9ydGFsKCkgaW5zdGVhZC4gSXQgaGFzIHRoZSBleGFjdCBzYW1lIEFQSSwgJyArICdidXQgd2l0aG91dCB0aGUgXCJ1bnN0YWJsZV9cIiBwcmVmaXguJyk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCQxKGNoaWxkcmVuLCBjb250YWluZXIsIGtleSk7XG59XG5cbnZhciBJbnRlcm5hbHMgPSB7XG4gIC8vIEtlZXAgaW4gc3luYyB3aXRoIFJlYWN0RE9NVW5zdGFibGVOYXRpdmVEZXBlbmRlbmNpZXMuanNcbiAgLy8gUmVhY3RUZXN0VXRpbHMuanMsIGFuZCBSZWFjdFRlc3RVdGlsc0FjdC5qcy4gVGhpcyBpcyBhbiBhcnJheSBmb3IgYmV0dGVyIG1pbmlmaWNhdGlvbi5cbiAgRXZlbnRzOiBbZ2V0SW5zdGFuY2VGcm9tTm9kZSQxLCBnZXROb2RlRnJvbUluc3RhbmNlJDEsIGdldEZpYmVyQ3VycmVudFByb3BzRnJvbU5vZGUkMSwgaW5qZWN0RXZlbnRQbHVnaW5zQnlOYW1lLCBldmVudE5hbWVEaXNwYXRjaENvbmZpZ3MsIGFjY3VtdWxhdGVUd29QaGFzZURpc3BhdGNoZXMsIGFjY3VtdWxhdGVEaXJlY3REaXNwYXRjaGVzLCBlbnF1ZXVlU3RhdGVSZXN0b3JlLCByZXN0b3JlU3RhdGVJZk5lZWRlZCwgZGlzcGF0Y2hFdmVudCwgcnVuRXZlbnRzSW5CYXRjaCwgZmx1c2hQYXNzaXZlRWZmZWN0cywgSXNUaGlzUmVuZGVyZXJBY3RpbmddXG59O1xudmFyIGZvdW5kRGV2VG9vbHMgPSBpbmplY3RJbnRvRGV2VG9vbHMoe1xuICBmaW5kRmliZXJCeUhvc3RJbnN0YW5jZTogZ2V0Q2xvc2VzdEluc3RhbmNlRnJvbU5vZGUsXG4gIGJ1bmRsZVR5cGU6ICAxICxcbiAgdmVyc2lvbjogUmVhY3RWZXJzaW9uLFxuICByZW5kZXJlclBhY2thZ2VOYW1lOiAncmVhY3QtZG9tJ1xufSk7XG5cbntcbiAgaWYgKCFmb3VuZERldlRvb2xzICYmIGNhblVzZURPTSAmJiB3aW5kb3cudG9wID09PSB3aW5kb3cuc2VsZikge1xuICAgIC8vIElmIHdlJ3JlIGluIENocm9tZSBvciBGaXJlZm94LCBwcm92aWRlIGEgZG93bmxvYWQgbGluayBpZiBub3QgaW5zdGFsbGVkLlxuICAgIGlmIChuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoJ0Nocm9tZScpID4gLTEgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCdFZGdlJykgPT09IC0xIHx8IG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZignRmlyZWZveCcpID4gLTEpIHtcbiAgICAgIHZhciBwcm90b2NvbCA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbDsgLy8gRG9uJ3Qgd2FybiBpbiBleG90aWMgY2FzZXMgbGlrZSBjaHJvbWUtZXh0ZW5zaW9uOi8vLlxuXG4gICAgICBpZiAoL14oaHR0cHM/fGZpbGUpOiQvLnRlc3QocHJvdG9jb2wpKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcbiAgICAgICAgY29uc29sZS5pbmZvKCclY0Rvd25sb2FkIHRoZSBSZWFjdCBEZXZUb29scyAnICsgJ2ZvciBhIGJldHRlciBkZXZlbG9wbWVudCBleHBlcmllbmNlOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3QtZGV2dG9vbHMnICsgKHByb3RvY29sID09PSAnZmlsZTonID8gJ1xcbllvdSBtaWdodCBuZWVkIHRvIHVzZSBhIGxvY2FsIEhUVFAgc2VydmVyIChpbnN0ZWFkIG9mIGZpbGU6Ly8pOiAnICsgJ2h0dHBzOi8vZmIubWUvcmVhY3QtZGV2dG9vbHMtZmFxJyA6ICcnKSwgJ2ZvbnQtd2VpZ2h0OmJvbGQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IEludGVybmFscztcbmV4cG9ydHMuY3JlYXRlUG9ydGFsID0gY3JlYXRlUG9ydGFsJDE7XG5leHBvcnRzLmZpbmRET01Ob2RlID0gZmluZERPTU5vZGU7XG5leHBvcnRzLmZsdXNoU3luYyA9IGZsdXNoU3luYztcbmV4cG9ydHMuaHlkcmF0ZSA9IGh5ZHJhdGU7XG5leHBvcnRzLnJlbmRlciA9IHJlbmRlcjtcbmV4cG9ydHMudW5tb3VudENvbXBvbmVudEF0Tm9kZSA9IHVubW91bnRDb21wb25lbnRBdE5vZGU7XG5leHBvcnRzLnVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzID0gYmF0Y2hlZFVwZGF0ZXMkMTtcbmV4cG9ydHMudW5zdGFibGVfY3JlYXRlUG9ydGFsID0gdW5zdGFibGVfY3JlYXRlUG9ydGFsO1xuZXhwb3J0cy51bnN0YWJsZV9yZW5kZXJTdWJ0cmVlSW50b0NvbnRhaW5lciA9IHJlbmRlclN1YnRyZWVJbnRvQ29udGFpbmVyO1xuZXhwb3J0cy52ZXJzaW9uID0gUmVhY3RWZXJzaW9uO1xuICB9KSgpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/react-dom/index.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/react-dom/index.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nfunction checkDCE() {\\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\\n  if (\\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\\n  ) {\\n    return;\\n  }\\n  if (true) {\\n    // This branch is unreachable because this function is only called\\n    // in production, but the condition is true only in development.\\n    // Therefore if the branch is still here, dead code elimination wasn't\\n    // properly applied.\\n    // Don't change the message. React DevTools relies on it. Also make sure\\n    // this message doesn't occur elsewhere in this function, or it will cause\\n    // a false positive.\\n    throw new Error('^_^');\\n  }\\n  try {\\n    // Verify that the code above has been dead code eliminated (DCE'd).\\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\\n  } catch (err) {\\n    // DevTools shouldn't crash React, no matter what.\\n    // We should still report in case we break this code.\\n    console.error(err);\\n  }\\n}\\n\\nif (false) {} else {\\n  module.exports = __webpack_require__(/*! ./cjs/react-dom.development.js */ \\\"./node_modules/react-dom/cjs/react-dom.development.js\\\");\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtZG9tL2luZGV4LmpzPzhiYzgiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sSUFBcUM7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSSxLQUFxQyxFQUFFLEVBSzFDO0FBQ0QsbUJBQW1CLG1CQUFPLENBQUMsNkZBQWdDO0FBQzNEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gY2hlY2tEQ0UoKSB7XG4gIC8qIGdsb2JhbCBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gKi9cbiAgaWYgKFxuICAgIHR5cGVvZiBfX1JFQUNUX0RFVlRPT0xTX0dMT0JBTF9IT09LX18gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgdHlwZW9mIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRSAhPT0gJ2Z1bmN0aW9uJ1xuICApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAvLyBUaGlzIGJyYW5jaCBpcyB1bnJlYWNoYWJsZSBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gaXMgb25seSBjYWxsZWRcbiAgICAvLyBpbiBwcm9kdWN0aW9uLCBidXQgdGhlIGNvbmRpdGlvbiBpcyB0cnVlIG9ubHkgaW4gZGV2ZWxvcG1lbnQuXG4gICAgLy8gVGhlcmVmb3JlIGlmIHRoZSBicmFuY2ggaXMgc3RpbGwgaGVyZSwgZGVhZCBjb2RlIGVsaW1pbmF0aW9uIHdhc24ndFxuICAgIC8vIHByb3Blcmx5IGFwcGxpZWQuXG4gICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBtZXNzYWdlLiBSZWFjdCBEZXZUb29scyByZWxpZXMgb24gaXQuIEFsc28gbWFrZSBzdXJlXG4gICAgLy8gdGhpcyBtZXNzYWdlIGRvZXNuJ3Qgb2NjdXIgZWxzZXdoZXJlIGluIHRoaXMgZnVuY3Rpb24sIG9yIGl0IHdpbGwgY2F1c2VcbiAgICAvLyBhIGZhbHNlIHBvc2l0aXZlLlxuICAgIHRocm93IG5ldyBFcnJvcignXl9eJyk7XG4gIH1cbiAgdHJ5IHtcbiAgICAvLyBWZXJpZnkgdGhhdCB0aGUgY29kZSBhYm92ZSBoYXMgYmVlbiBkZWFkIGNvZGUgZWxpbWluYXRlZCAoRENFJ2QpLlxuICAgIF9fUkVBQ1RfREVWVE9PTFNfR0xPQkFMX0hPT0tfXy5jaGVja0RDRShjaGVja0RDRSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIC8vIERldlRvb2xzIHNob3VsZG4ndCBjcmFzaCBSZWFjdCwgbm8gbWF0dGVyIHdoYXQuXG4gICAgLy8gV2Ugc2hvdWxkIHN0aWxsIHJlcG9ydCBpbiBjYXNlIHdlIGJyZWFrIHRoaXMgY29kZS5cbiAgICBjb25zb2xlLmVycm9yKGVycik7XG4gIH1cbn1cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgLy8gRENFIGNoZWNrIHNob3VsZCBoYXBwZW4gYmVmb3JlIFJlYWN0RE9NIGJ1bmRsZSBleGVjdXRlcyBzbyB0aGF0XG4gIC8vIERldlRvb2xzIGNhbiByZXBvcnQgYmFkIG1pbmlmaWNhdGlvbiBkdXJpbmcgaW5qZWN0aW9uLlxuICBjaGVja0RDRSgpO1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY2pzL3JlYWN0LWRvbS5wcm9kdWN0aW9uLm1pbi5qcycpO1xufSBlbHNlIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9yZWFjdC1kb20uZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/react-dom/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/react/cjs/react.development.js\":\n/*!*****************************************************!*\\\n  !*** ./node_modules/react/cjs/react.development.js ***!\n  \\*****************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/** @license React v16.13.1\\n * react.development.js\\n *\\n * Copyright (c) Facebook, Inc. and its affiliates.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\n\\n\\nif (true) {\\n  (function() {\\n'use strict';\\n\\nvar _assign = __webpack_require__(/*! object-assign */ \\\"./node_modules/object-assign/index.js\\\");\\nvar checkPropTypes = __webpack_require__(/*! prop-types/checkPropTypes */ \\\"./node_modules/prop-types/checkPropTypes.js\\\");\\n\\nvar ReactVersion = '16.13.1';\\n\\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\\n// nor polyfill, then a plain number is used for performance.\\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\\nvar MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\\nfunction getIteratorFn(maybeIterable) {\\n  if (maybeIterable === null || typeof maybeIterable !== 'object') {\\n    return null;\\n  }\\n\\n  var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\\n\\n  if (typeof maybeIterator === 'function') {\\n    return maybeIterator;\\n  }\\n\\n  return null;\\n}\\n\\n/**\\n * Keeps track of the current dispatcher.\\n */\\nvar ReactCurrentDispatcher = {\\n  /**\\n   * @internal\\n   * @type {ReactComponent}\\n   */\\n  current: null\\n};\\n\\n/**\\n * Keeps track of the current batch's configuration such as how long an update\\n * should suspend for if it needs to.\\n */\\nvar ReactCurrentBatchConfig = {\\n  suspense: null\\n};\\n\\n/**\\n * Keeps track of the current owner.\\n *\\n * The current owner is the component who should own any components that are\\n * currently being constructed.\\n */\\nvar ReactCurrentOwner = {\\n  /**\\n   * @internal\\n   * @type {ReactComponent}\\n   */\\n  current: null\\n};\\n\\nvar BEFORE_SLASH_RE = /^(.*)[\\\\\\\\\\\\/]/;\\nfunction describeComponentFrame (name, source, ownerName) {\\n  var sourceInfo = '';\\n\\n  if (source) {\\n    var path = source.fileName;\\n    var fileName = path.replace(BEFORE_SLASH_RE, '');\\n\\n    {\\n      // In DEV, include code for a common special case:\\n      // prefer \\\"folder/index.js\\\" instead of just \\\"index.js\\\".\\n      if (/^index\\\\./.test(fileName)) {\\n        var match = path.match(BEFORE_SLASH_RE);\\n\\n        if (match) {\\n          var pathBeforeSlash = match[1];\\n\\n          if (pathBeforeSlash) {\\n            var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');\\n            fileName = folderName + '/' + fileName;\\n          }\\n        }\\n      }\\n    }\\n\\n    sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';\\n  } else if (ownerName) {\\n    sourceInfo = ' (created by ' + ownerName + ')';\\n  }\\n\\n  return '\\\\n    in ' + (name || 'Unknown') + sourceInfo;\\n}\\n\\nvar Resolved = 1;\\nfunction refineResolvedLazyComponent(lazyComponent) {\\n  return lazyComponent._status === Resolved ? lazyComponent._result : null;\\n}\\n\\nfunction getWrappedName(outerType, innerType, wrapperName) {\\n  var functionName = innerType.displayName || innerType.name || '';\\n  return outerType.displayName || (functionName !== '' ? wrapperName + \\\"(\\\" + functionName + \\\")\\\" : wrapperName);\\n}\\n\\nfunction getComponentName(type) {\\n  if (type == null) {\\n    // Host root, text node or just invalid type.\\n    return null;\\n  }\\n\\n  {\\n    if (typeof type.tag === 'number') {\\n      error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');\\n    }\\n  }\\n\\n  if (typeof type === 'function') {\\n    return type.displayName || type.name || null;\\n  }\\n\\n  if (typeof type === 'string') {\\n    return type;\\n  }\\n\\n  switch (type) {\\n    case REACT_FRAGMENT_TYPE:\\n      return 'Fragment';\\n\\n    case REACT_PORTAL_TYPE:\\n      return 'Portal';\\n\\n    case REACT_PROFILER_TYPE:\\n      return \\\"Profiler\\\";\\n\\n    case REACT_STRICT_MODE_TYPE:\\n      return 'StrictMode';\\n\\n    case REACT_SUSPENSE_TYPE:\\n      return 'Suspense';\\n\\n    case REACT_SUSPENSE_LIST_TYPE:\\n      return 'SuspenseList';\\n  }\\n\\n  if (typeof type === 'object') {\\n    switch (type.$$typeof) {\\n      case REACT_CONTEXT_TYPE:\\n        return 'Context.Consumer';\\n\\n      case REACT_PROVIDER_TYPE:\\n        return 'Context.Provider';\\n\\n      case REACT_FORWARD_REF_TYPE:\\n        return getWrappedName(type, type.render, 'ForwardRef');\\n\\n      case REACT_MEMO_TYPE:\\n        return getComponentName(type.type);\\n\\n      case REACT_BLOCK_TYPE:\\n        return getComponentName(type.render);\\n\\n      case REACT_LAZY_TYPE:\\n        {\\n          var thenable = type;\\n          var resolvedThenable = refineResolvedLazyComponent(thenable);\\n\\n          if (resolvedThenable) {\\n            return getComponentName(resolvedThenable);\\n          }\\n\\n          break;\\n        }\\n    }\\n  }\\n\\n  return null;\\n}\\n\\nvar ReactDebugCurrentFrame = {};\\nvar currentlyValidatingElement = null;\\nfunction setCurrentlyValidatingElement(element) {\\n  {\\n    currentlyValidatingElement = element;\\n  }\\n}\\n\\n{\\n  // Stack implementation injected by the current renderer.\\n  ReactDebugCurrentFrame.getCurrentStack = null;\\n\\n  ReactDebugCurrentFrame.getStackAddendum = function () {\\n    var stack = ''; // Add an extra top frame while an element is being validated\\n\\n    if (currentlyValidatingElement) {\\n      var name = getComponentName(currentlyValidatingElement.type);\\n      var owner = currentlyValidatingElement._owner;\\n      stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));\\n    } // Delegate to the injected renderer-specific implementation\\n\\n\\n    var impl = ReactDebugCurrentFrame.getCurrentStack;\\n\\n    if (impl) {\\n      stack += impl() || '';\\n    }\\n\\n    return stack;\\n  };\\n}\\n\\n/**\\n * Used by act() to track whether you're inside an act() scope.\\n */\\nvar IsSomeRendererActing = {\\n  current: false\\n};\\n\\nvar ReactSharedInternals = {\\n  ReactCurrentDispatcher: ReactCurrentDispatcher,\\n  ReactCurrentBatchConfig: ReactCurrentBatchConfig,\\n  ReactCurrentOwner: ReactCurrentOwner,\\n  IsSomeRendererActing: IsSomeRendererActing,\\n  // Used by renderers to avoid bundling object-assign twice in UMD bundles:\\n  assign: _assign\\n};\\n\\n{\\n  _assign(ReactSharedInternals, {\\n    // These should not be included in production.\\n    ReactDebugCurrentFrame: ReactDebugCurrentFrame,\\n    // Shim for React DOM 16.0.0 which still destructured (but not used) this.\\n    // TODO: remove in React 17.0.\\n    ReactComponentTreeHook: {}\\n  });\\n}\\n\\n// by calls to these methods by a Babel plugin.\\n//\\n// In PROD (or in packages without access to React internals),\\n// they are left as they are instead.\\n\\nfunction warn(format) {\\n  {\\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\\n      args[_key - 1] = arguments[_key];\\n    }\\n\\n    printWarning('warn', format, args);\\n  }\\n}\\nfunction error(format) {\\n  {\\n    for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\\n      args[_key2 - 1] = arguments[_key2];\\n    }\\n\\n    printWarning('error', format, args);\\n  }\\n}\\n\\nfunction printWarning(level, format, args) {\\n  // When changing this logic, you might want to also\\n  // update consoleWithStackDev.www.js as well.\\n  {\\n    var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\\\\n    in') === 0;\\n\\n    if (!hasExistingStack) {\\n      var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\\n      var stack = ReactDebugCurrentFrame.getStackAddendum();\\n\\n      if (stack !== '') {\\n        format += '%s';\\n        args = args.concat([stack]);\\n      }\\n    }\\n\\n    var argsWithFormat = args.map(function (item) {\\n      return '' + item;\\n    }); // Careful: RN currently depends on this prefix\\n\\n    argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\\n    // breaks IE9: https://github.com/facebook/react/issues/13610\\n    // eslint-disable-next-line react-internal/no-production-logging\\n\\n    Function.prototype.apply.call(console[level], console, argsWithFormat);\\n\\n    try {\\n      // --- Welcome to debugging React ---\\n      // This error was thrown as a convenience so that you can use this stack\\n      // to find the callsite that caused this warning to fire.\\n      var argIndex = 0;\\n      var message = 'Warning: ' + format.replace(/%s/g, function () {\\n        return args[argIndex++];\\n      });\\n      throw new Error(message);\\n    } catch (x) {}\\n  }\\n}\\n\\nvar didWarnStateUpdateForUnmountedComponent = {};\\n\\nfunction warnNoop(publicInstance, callerName) {\\n  {\\n    var _constructor = publicInstance.constructor;\\n    var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';\\n    var warningKey = componentName + \\\".\\\" + callerName;\\n\\n    if (didWarnStateUpdateForUnmountedComponent[warningKey]) {\\n      return;\\n    }\\n\\n    error(\\\"Can't call %s on a component that is not yet mounted. \\\" + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);\\n\\n    didWarnStateUpdateForUnmountedComponent[warningKey] = true;\\n  }\\n}\\n/**\\n * This is the abstract API for an update queue.\\n */\\n\\n\\nvar ReactNoopUpdateQueue = {\\n  /**\\n   * Checks whether or not this composite component is mounted.\\n   * @param {ReactClass} publicInstance The instance we want to test.\\n   * @return {boolean} True if mounted, false otherwise.\\n   * @protected\\n   * @final\\n   */\\n  isMounted: function (publicInstance) {\\n    return false;\\n  },\\n\\n  /**\\n   * Forces an update. This should only be invoked when it is known with\\n   * certainty that we are **not** in a DOM transaction.\\n   *\\n   * You may want to call this when you know that some deeper aspect of the\\n   * component's state has changed but `setState` was not called.\\n   *\\n   * This will not invoke `shouldComponentUpdate`, but it will invoke\\n   * `componentWillUpdate` and `componentDidUpdate`.\\n   *\\n   * @param {ReactClass} publicInstance The instance that should rerender.\\n   * @param {?function} callback Called after component is updated.\\n   * @param {?string} callerName name of the calling function in the public API.\\n   * @internal\\n   */\\n  enqueueForceUpdate: function (publicInstance, callback, callerName) {\\n    warnNoop(publicInstance, 'forceUpdate');\\n  },\\n\\n  /**\\n   * Replaces all of the state. Always use this or `setState` to mutate state.\\n   * You should treat `this.state` as immutable.\\n   *\\n   * There is no guarantee that `this.state` will be immediately updated, so\\n   * accessing `this.state` after calling this method may return the old value.\\n   *\\n   * @param {ReactClass} publicInstance The instance that should rerender.\\n   * @param {object} completeState Next state.\\n   * @param {?function} callback Called after component is updated.\\n   * @param {?string} callerName name of the calling function in the public API.\\n   * @internal\\n   */\\n  enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {\\n    warnNoop(publicInstance, 'replaceState');\\n  },\\n\\n  /**\\n   * Sets a subset of the state. This only exists because _pendingState is\\n   * internal. This provides a merging strategy that is not available to deep\\n   * properties which is confusing. TODO: Expose pendingState or don't use it\\n   * during the merge.\\n   *\\n   * @param {ReactClass} publicInstance The instance that should rerender.\\n   * @param {object} partialState Next partial state to be merged with state.\\n   * @param {?function} callback Called after component is updated.\\n   * @param {?string} Name of the calling function in the public API.\\n   * @internal\\n   */\\n  enqueueSetState: function (publicInstance, partialState, callback, callerName) {\\n    warnNoop(publicInstance, 'setState');\\n  }\\n};\\n\\nvar emptyObject = {};\\n\\n{\\n  Object.freeze(emptyObject);\\n}\\n/**\\n * Base class helpers for the updating state of a component.\\n */\\n\\n\\nfunction Component(props, context, updater) {\\n  this.props = props;\\n  this.context = context; // If a component has string refs, we will assign a different object later.\\n\\n  this.refs = emptyObject; // We initialize the default updater but the real one gets injected by the\\n  // renderer.\\n\\n  this.updater = updater || ReactNoopUpdateQueue;\\n}\\n\\nComponent.prototype.isReactComponent = {};\\n/**\\n * Sets a subset of the state. Always use this to mutate\\n * state. You should treat `this.state` as immutable.\\n *\\n * There is no guarantee that `this.state` will be immediately updated, so\\n * accessing `this.state` after calling this method may return the old value.\\n *\\n * There is no guarantee that calls to `setState` will run synchronously,\\n * as they may eventually be batched together.  You can provide an optional\\n * callback that will be executed when the call to setState is actually\\n * completed.\\n *\\n * When a function is provided to setState, it will be called at some point in\\n * the future (not synchronously). It will be called with the up to date\\n * component arguments (state, props, context). These values can be different\\n * from this.* because your function may be called after receiveProps but before\\n * shouldComponentUpdate, and this new state, props, and context will not yet be\\n * assigned to this.\\n *\\n * @param {object|function} partialState Next partial state or function to\\n *        produce next partial state to be merged with current state.\\n * @param {?function} callback Called after state is updated.\\n * @final\\n * @protected\\n */\\n\\nComponent.prototype.setState = function (partialState, callback) {\\n  if (!(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null)) {\\n    {\\n      throw Error( \\\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\\\" );\\n    }\\n  }\\n\\n  this.updater.enqueueSetState(this, partialState, callback, 'setState');\\n};\\n/**\\n * Forces an update. This should only be invoked when it is known with\\n * certainty that we are **not** in a DOM transaction.\\n *\\n * You may want to call this when you know that some deeper aspect of the\\n * component's state has changed but `setState` was not called.\\n *\\n * This will not invoke `shouldComponentUpdate`, but it will invoke\\n * `componentWillUpdate` and `componentDidUpdate`.\\n *\\n * @param {?function} callback Called after update is complete.\\n * @final\\n * @protected\\n */\\n\\n\\nComponent.prototype.forceUpdate = function (callback) {\\n  this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');\\n};\\n/**\\n * Deprecated APIs. These APIs used to exist on classic React classes but since\\n * we would like to deprecate them, we're not going to move them over to this\\n * modern base class. Instead, we define a getter that warns if it's accessed.\\n */\\n\\n\\n{\\n  var deprecatedAPIs = {\\n    isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\\n    replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\\n  };\\n\\n  var defineDeprecationWarning = function (methodName, info) {\\n    Object.defineProperty(Component.prototype, methodName, {\\n      get: function () {\\n        warn('%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\\n\\n        return undefined;\\n      }\\n    });\\n  };\\n\\n  for (var fnName in deprecatedAPIs) {\\n    if (deprecatedAPIs.hasOwnProperty(fnName)) {\\n      defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\\n    }\\n  }\\n}\\n\\nfunction ComponentDummy() {}\\n\\nComponentDummy.prototype = Component.prototype;\\n/**\\n * Convenience component with default shallow equality check for sCU.\\n */\\n\\nfunction PureComponent(props, context, updater) {\\n  this.props = props;\\n  this.context = context; // If a component has string refs, we will assign a different object later.\\n\\n  this.refs = emptyObject;\\n  this.updater = updater || ReactNoopUpdateQueue;\\n}\\n\\nvar pureComponentPrototype = PureComponent.prototype = new ComponentDummy();\\npureComponentPrototype.constructor = PureComponent; // Avoid an extra prototype jump for these methods.\\n\\n_assign(pureComponentPrototype, Component.prototype);\\n\\npureComponentPrototype.isPureReactComponent = true;\\n\\n// an immutable object with a single mutable value\\nfunction createRef() {\\n  var refObject = {\\n    current: null\\n  };\\n\\n  {\\n    Object.seal(refObject);\\n  }\\n\\n  return refObject;\\n}\\n\\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\\nvar RESERVED_PROPS = {\\n  key: true,\\n  ref: true,\\n  __self: true,\\n  __source: true\\n};\\nvar specialPropKeyWarningShown, specialPropRefWarningShown, didWarnAboutStringRefs;\\n\\n{\\n  didWarnAboutStringRefs = {};\\n}\\n\\nfunction hasValidRef(config) {\\n  {\\n    if (hasOwnProperty.call(config, 'ref')) {\\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\\n\\n      if (getter && getter.isReactWarning) {\\n        return false;\\n      }\\n    }\\n  }\\n\\n  return config.ref !== undefined;\\n}\\n\\nfunction hasValidKey(config) {\\n  {\\n    if (hasOwnProperty.call(config, 'key')) {\\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\\n\\n      if (getter && getter.isReactWarning) {\\n        return false;\\n      }\\n    }\\n  }\\n\\n  return config.key !== undefined;\\n}\\n\\nfunction defineKeyPropWarningGetter(props, displayName) {\\n  var warnAboutAccessingKey = function () {\\n    {\\n      if (!specialPropKeyWarningShown) {\\n        specialPropKeyWarningShown = true;\\n\\n        error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);\\n      }\\n    }\\n  };\\n\\n  warnAboutAccessingKey.isReactWarning = true;\\n  Object.defineProperty(props, 'key', {\\n    get: warnAboutAccessingKey,\\n    configurable: true\\n  });\\n}\\n\\nfunction defineRefPropWarningGetter(props, displayName) {\\n  var warnAboutAccessingRef = function () {\\n    {\\n      if (!specialPropRefWarningShown) {\\n        specialPropRefWarningShown = true;\\n\\n        error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);\\n      }\\n    }\\n  };\\n\\n  warnAboutAccessingRef.isReactWarning = true;\\n  Object.defineProperty(props, 'ref', {\\n    get: warnAboutAccessingRef,\\n    configurable: true\\n  });\\n}\\n\\nfunction warnIfStringRefCannotBeAutoConverted(config) {\\n  {\\n    if (typeof config.ref === 'string' && ReactCurrentOwner.current && config.__self && ReactCurrentOwner.current.stateNode !== config.__self) {\\n      var componentName = getComponentName(ReactCurrentOwner.current.type);\\n\\n      if (!didWarnAboutStringRefs[componentName]) {\\n        error('Component \\\"%s\\\" contains the string ref \\\"%s\\\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://fb.me/react-strict-mode-string-ref', getComponentName(ReactCurrentOwner.current.type), config.ref);\\n\\n        didWarnAboutStringRefs[componentName] = true;\\n      }\\n    }\\n  }\\n}\\n/**\\n * Factory method to create a new React element. This no longer adheres to\\n * the class pattern, so do not use new to call it. Also, instanceof check\\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\\n * if something is a React Element.\\n *\\n * @param {*} type\\n * @param {*} props\\n * @param {*} key\\n * @param {string|object} ref\\n * @param {*} owner\\n * @param {*} self A *temporary* helper to detect places where `this` is\\n * different from the `owner` when React.createElement is called, so that we\\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\\n * functions, and as long as `this` and owner are the same, there will be no\\n * change in behavior.\\n * @param {*} source An annotation object (added by a transpiler or otherwise)\\n * indicating filename, line number, and/or other information.\\n * @internal\\n */\\n\\n\\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\\n  var element = {\\n    // This tag allows us to uniquely identify this as a React Element\\n    $$typeof: REACT_ELEMENT_TYPE,\\n    // Built-in properties that belong on the element\\n    type: type,\\n    key: key,\\n    ref: ref,\\n    props: props,\\n    // Record the component responsible for creating this element.\\n    _owner: owner\\n  };\\n\\n  {\\n    // The validation flag is currently mutative. We put it on\\n    // an external backing store so that we can freeze the whole object.\\n    // This can be replaced with a WeakMap once they are implemented in\\n    // commonly used development environments.\\n    element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\\n    // the validation flag non-enumerable (where possible, which should\\n    // include every environment we run tests in), so the test framework\\n    // ignores it.\\n\\n    Object.defineProperty(element._store, 'validated', {\\n      configurable: false,\\n      enumerable: false,\\n      writable: true,\\n      value: false\\n    }); // self and source are DEV only properties.\\n\\n    Object.defineProperty(element, '_self', {\\n      configurable: false,\\n      enumerable: false,\\n      writable: false,\\n      value: self\\n    }); // Two elements created in two different places should be considered\\n    // equal for testing purposes and therefore we hide it from enumeration.\\n\\n    Object.defineProperty(element, '_source', {\\n      configurable: false,\\n      enumerable: false,\\n      writable: false,\\n      value: source\\n    });\\n\\n    if (Object.freeze) {\\n      Object.freeze(element.props);\\n      Object.freeze(element);\\n    }\\n  }\\n\\n  return element;\\n};\\n/**\\n * Create and return a new ReactElement of the given type.\\n * See https://reactjs.org/docs/react-api.html#createelement\\n */\\n\\nfunction createElement(type, config, children) {\\n  var propName; // Reserved names are extracted\\n\\n  var props = {};\\n  var key = null;\\n  var ref = null;\\n  var self = null;\\n  var source = null;\\n\\n  if (config != null) {\\n    if (hasValidRef(config)) {\\n      ref = config.ref;\\n\\n      {\\n        warnIfStringRefCannotBeAutoConverted(config);\\n      }\\n    }\\n\\n    if (hasValidKey(config)) {\\n      key = '' + config.key;\\n    }\\n\\n    self = config.__self === undefined ? null : config.__self;\\n    source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object\\n\\n    for (propName in config) {\\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\\n        props[propName] = config[propName];\\n      }\\n    }\\n  } // Children can be more than one argument, and those are transferred onto\\n  // the newly allocated props object.\\n\\n\\n  var childrenLength = arguments.length - 2;\\n\\n  if (childrenLength === 1) {\\n    props.children = children;\\n  } else if (childrenLength > 1) {\\n    var childArray = Array(childrenLength);\\n\\n    for (var i = 0; i < childrenLength; i++) {\\n      childArray[i] = arguments[i + 2];\\n    }\\n\\n    {\\n      if (Object.freeze) {\\n        Object.freeze(childArray);\\n      }\\n    }\\n\\n    props.children = childArray;\\n  } // Resolve default props\\n\\n\\n  if (type && type.defaultProps) {\\n    var defaultProps = type.defaultProps;\\n\\n    for (propName in defaultProps) {\\n      if (props[propName] === undefined) {\\n        props[propName] = defaultProps[propName];\\n      }\\n    }\\n  }\\n\\n  {\\n    if (key || ref) {\\n      var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\\n\\n      if (key) {\\n        defineKeyPropWarningGetter(props, displayName);\\n      }\\n\\n      if (ref) {\\n        defineRefPropWarningGetter(props, displayName);\\n      }\\n    }\\n  }\\n\\n  return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\\n}\\nfunction cloneAndReplaceKey(oldElement, newKey) {\\n  var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\\n  return newElement;\\n}\\n/**\\n * Clone and return a new ReactElement using element as the starting point.\\n * See https://reactjs.org/docs/react-api.html#cloneelement\\n */\\n\\nfunction cloneElement(element, config, children) {\\n  if (!!(element === null || element === undefined)) {\\n    {\\n      throw Error( \\\"React.cloneElement(...): The argument must be a React element, but you passed \\\" + element + \\\".\\\" );\\n    }\\n  }\\n\\n  var propName; // Original props are copied\\n\\n  var props = _assign({}, element.props); // Reserved names are extracted\\n\\n\\n  var key = element.key;\\n  var ref = element.ref; // Self is preserved since the owner is preserved.\\n\\n  var self = element._self; // Source is preserved since cloneElement is unlikely to be targeted by a\\n  // transpiler, and the original source is probably a better indicator of the\\n  // true owner.\\n\\n  var source = element._source; // Owner will be preserved, unless ref is overridden\\n\\n  var owner = element._owner;\\n\\n  if (config != null) {\\n    if (hasValidRef(config)) {\\n      // Silently steal the ref from the parent.\\n      ref = config.ref;\\n      owner = ReactCurrentOwner.current;\\n    }\\n\\n    if (hasValidKey(config)) {\\n      key = '' + config.key;\\n    } // Remaining properties override existing props\\n\\n\\n    var defaultProps;\\n\\n    if (element.type && element.type.defaultProps) {\\n      defaultProps = element.type.defaultProps;\\n    }\\n\\n    for (propName in config) {\\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\\n        if (config[propName] === undefined && defaultProps !== undefined) {\\n          // Resolve default props\\n          props[propName] = defaultProps[propName];\\n        } else {\\n          props[propName] = config[propName];\\n        }\\n      }\\n    }\\n  } // Children can be more than one argument, and those are transferred onto\\n  // the newly allocated props object.\\n\\n\\n  var childrenLength = arguments.length - 2;\\n\\n  if (childrenLength === 1) {\\n    props.children = children;\\n  } else if (childrenLength > 1) {\\n    var childArray = Array(childrenLength);\\n\\n    for (var i = 0; i < childrenLength; i++) {\\n      childArray[i] = arguments[i + 2];\\n    }\\n\\n    props.children = childArray;\\n  }\\n\\n  return ReactElement(element.type, key, ref, self, source, owner, props);\\n}\\n/**\\n * Verifies the object is a ReactElement.\\n * See https://reactjs.org/docs/react-api.html#isvalidelement\\n * @param {?object} object\\n * @return {boolean} True if `object` is a ReactElement.\\n * @final\\n */\\n\\nfunction isValidElement(object) {\\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\\n}\\n\\nvar SEPARATOR = '.';\\nvar SUBSEPARATOR = ':';\\n/**\\n * Escape and wrap key so it is safe to use as a reactid\\n *\\n * @param {string} key to be escaped.\\n * @return {string} the escaped key.\\n */\\n\\nfunction escape(key) {\\n  var escapeRegex = /[=:]/g;\\n  var escaperLookup = {\\n    '=': '=0',\\n    ':': '=2'\\n  };\\n  var escapedString = ('' + key).replace(escapeRegex, function (match) {\\n    return escaperLookup[match];\\n  });\\n  return '$' + escapedString;\\n}\\n/**\\n * TODO: Test that a single child and an array with one item have the same key\\n * pattern.\\n */\\n\\n\\nvar didWarnAboutMaps = false;\\nvar userProvidedKeyEscapeRegex = /\\\\/+/g;\\n\\nfunction escapeUserProvidedKey(text) {\\n  return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\\n}\\n\\nvar POOL_SIZE = 10;\\nvar traverseContextPool = [];\\n\\nfunction getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) {\\n  if (traverseContextPool.length) {\\n    var traverseContext = traverseContextPool.pop();\\n    traverseContext.result = mapResult;\\n    traverseContext.keyPrefix = keyPrefix;\\n    traverseContext.func = mapFunction;\\n    traverseContext.context = mapContext;\\n    traverseContext.count = 0;\\n    return traverseContext;\\n  } else {\\n    return {\\n      result: mapResult,\\n      keyPrefix: keyPrefix,\\n      func: mapFunction,\\n      context: mapContext,\\n      count: 0\\n    };\\n  }\\n}\\n\\nfunction releaseTraverseContext(traverseContext) {\\n  traverseContext.result = null;\\n  traverseContext.keyPrefix = null;\\n  traverseContext.func = null;\\n  traverseContext.context = null;\\n  traverseContext.count = 0;\\n\\n  if (traverseContextPool.length < POOL_SIZE) {\\n    traverseContextPool.push(traverseContext);\\n  }\\n}\\n/**\\n * @param {?*} children Children tree container.\\n * @param {!string} nameSoFar Name of the key path so far.\\n * @param {!function} callback Callback to invoke with each child found.\\n * @param {?*} traverseContext Used to pass information throughout the traversal\\n * process.\\n * @return {!number} The number of children in this subtree.\\n */\\n\\n\\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\\n  var type = typeof children;\\n\\n  if (type === 'undefined' || type === 'boolean') {\\n    // All of the above are perceived as null.\\n    children = null;\\n  }\\n\\n  var invokeCallback = false;\\n\\n  if (children === null) {\\n    invokeCallback = true;\\n  } else {\\n    switch (type) {\\n      case 'string':\\n      case 'number':\\n        invokeCallback = true;\\n        break;\\n\\n      case 'object':\\n        switch (children.$$typeof) {\\n          case REACT_ELEMENT_TYPE:\\n          case REACT_PORTAL_TYPE:\\n            invokeCallback = true;\\n        }\\n\\n    }\\n  }\\n\\n  if (invokeCallback) {\\n    callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array\\n    // so that it's consistent if the number of children grows.\\n    nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\\n    return 1;\\n  }\\n\\n  var child;\\n  var nextName;\\n  var subtreeCount = 0; // Count of children found in the current subtree.\\n\\n  var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\\n\\n  if (Array.isArray(children)) {\\n    for (var i = 0; i < children.length; i++) {\\n      child = children[i];\\n      nextName = nextNamePrefix + getComponentKey(child, i);\\n      subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\\n    }\\n  } else {\\n    var iteratorFn = getIteratorFn(children);\\n\\n    if (typeof iteratorFn === 'function') {\\n\\n      {\\n        // Warn about using Maps as children\\n        if (iteratorFn === children.entries) {\\n          if (!didWarnAboutMaps) {\\n            warn('Using Maps as children is deprecated and will be removed in ' + 'a future major release. Consider converting children to ' + 'an array of keyed ReactElements instead.');\\n          }\\n\\n          didWarnAboutMaps = true;\\n        }\\n      }\\n\\n      var iterator = iteratorFn.call(children);\\n      var step;\\n      var ii = 0;\\n\\n      while (!(step = iterator.next()).done) {\\n        child = step.value;\\n        nextName = nextNamePrefix + getComponentKey(child, ii++);\\n        subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\\n      }\\n    } else if (type === 'object') {\\n      var addendum = '';\\n\\n      {\\n        addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum();\\n      }\\n\\n      var childrenString = '' + children;\\n\\n      {\\n        {\\n          throw Error( \\\"Objects are not valid as a React child (found: \\\" + (childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString) + \\\").\\\" + addendum );\\n        }\\n      }\\n    }\\n  }\\n\\n  return subtreeCount;\\n}\\n/**\\n * Traverses children that are typically specified as `props.children`, but\\n * might also be specified through attributes:\\n *\\n * - `traverseAllChildren(this.props.children, ...)`\\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\\n *\\n * The `traverseContext` is an optional argument that is passed through the\\n * entire traversal. It can be used to store accumulations or anything else that\\n * the callback might find relevant.\\n *\\n * @param {?*} children Children tree object.\\n * @param {!function} callback To invoke upon traversing each child.\\n * @param {?*} traverseContext Context for traversal.\\n * @return {!number} The number of children in this subtree.\\n */\\n\\n\\nfunction traverseAllChildren(children, callback, traverseContext) {\\n  if (children == null) {\\n    return 0;\\n  }\\n\\n  return traverseAllChildrenImpl(children, '', callback, traverseContext);\\n}\\n/**\\n * Generate a key string that identifies a component within a set.\\n *\\n * @param {*} component A component that could contain a manual key.\\n * @param {number} index Index that is used if a manual key is not provided.\\n * @return {string}\\n */\\n\\n\\nfunction getComponentKey(component, index) {\\n  // Do some typechecking here since we call this blindly. We want to ensure\\n  // that we don't block potential future ES APIs.\\n  if (typeof component === 'object' && component !== null && component.key != null) {\\n    // Explicit key\\n    return escape(component.key);\\n  } // Implicit key determined by the index in the set\\n\\n\\n  return index.toString(36);\\n}\\n\\nfunction forEachSingleChild(bookKeeping, child, name) {\\n  var func = bookKeeping.func,\\n      context = bookKeeping.context;\\n  func.call(context, child, bookKeeping.count++);\\n}\\n/**\\n * Iterates through children that are typically specified as `props.children`.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrenforeach\\n *\\n * The provided forEachFunc(child, index) will be called for each\\n * leaf child.\\n *\\n * @param {?*} children Children tree container.\\n * @param {function(*, int)} forEachFunc\\n * @param {*} forEachContext Context for forEachContext.\\n */\\n\\n\\nfunction forEachChildren(children, forEachFunc, forEachContext) {\\n  if (children == null) {\\n    return children;\\n  }\\n\\n  var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext);\\n  traverseAllChildren(children, forEachSingleChild, traverseContext);\\n  releaseTraverseContext(traverseContext);\\n}\\n\\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\\n  var result = bookKeeping.result,\\n      keyPrefix = bookKeeping.keyPrefix,\\n      func = bookKeeping.func,\\n      context = bookKeeping.context;\\n  var mappedChild = func.call(context, child, bookKeeping.count++);\\n\\n  if (Array.isArray(mappedChild)) {\\n    mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) {\\n      return c;\\n    });\\n  } else if (mappedChild != null) {\\n    if (isValidElement(mappedChild)) {\\n      mappedChild = cloneAndReplaceKey(mappedChild, // Keep both the (mapped) and old keys if they differ, just as\\n      // traverseAllChildren used to do for objects as children\\n      keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\\n    }\\n\\n    result.push(mappedChild);\\n  }\\n}\\n\\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\\n  var escapedPrefix = '';\\n\\n  if (prefix != null) {\\n    escapedPrefix = escapeUserProvidedKey(prefix) + '/';\\n  }\\n\\n  var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context);\\n  traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\\n  releaseTraverseContext(traverseContext);\\n}\\n/**\\n * Maps children that are typically specified as `props.children`.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrenmap\\n *\\n * The provided mapFunction(child, key, index) will be called for each\\n * leaf child.\\n *\\n * @param {?*} children Children tree container.\\n * @param {function(*, int)} func The map function.\\n * @param {*} context Context for mapFunction.\\n * @return {object} Object containing the ordered map of results.\\n */\\n\\n\\nfunction mapChildren(children, func, context) {\\n  if (children == null) {\\n    return children;\\n  }\\n\\n  var result = [];\\n  mapIntoWithKeyPrefixInternal(children, result, null, func, context);\\n  return result;\\n}\\n/**\\n * Count the number of children that are typically specified as\\n * `props.children`.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrencount\\n *\\n * @param {?*} children Children tree container.\\n * @return {number} The number of children.\\n */\\n\\n\\nfunction countChildren(children) {\\n  return traverseAllChildren(children, function () {\\n    return null;\\n  }, null);\\n}\\n/**\\n * Flatten a children object (typically specified as `props.children`) and\\n * return an array with appropriately re-keyed children.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrentoarray\\n */\\n\\n\\nfunction toArray(children) {\\n  var result = [];\\n  mapIntoWithKeyPrefixInternal(children, result, null, function (child) {\\n    return child;\\n  });\\n  return result;\\n}\\n/**\\n * Returns the first child in a collection of children and verifies that there\\n * is only one child in the collection.\\n *\\n * See https://reactjs.org/docs/react-api.html#reactchildrenonly\\n *\\n * The current implementation of this function assumes that a single child gets\\n * passed without a wrapper, but the purpose of this helper function is to\\n * abstract away the particular structure of children.\\n *\\n * @param {?object} children Child collection structure.\\n * @return {ReactElement} The first and only `ReactElement` contained in the\\n * structure.\\n */\\n\\n\\nfunction onlyChild(children) {\\n  if (!isValidElement(children)) {\\n    {\\n      throw Error( \\\"React.Children.only expected to receive a single React element child.\\\" );\\n    }\\n  }\\n\\n  return children;\\n}\\n\\nfunction createContext(defaultValue, calculateChangedBits) {\\n  if (calculateChangedBits === undefined) {\\n    calculateChangedBits = null;\\n  } else {\\n    {\\n      if (calculateChangedBits !== null && typeof calculateChangedBits !== 'function') {\\n        error('createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits);\\n      }\\n    }\\n  }\\n\\n  var context = {\\n    $$typeof: REACT_CONTEXT_TYPE,\\n    _calculateChangedBits: calculateChangedBits,\\n    // As a workaround to support multiple concurrent renderers, we categorize\\n    // some renderers as primary and others as secondary. We only expect\\n    // there to be two concurrent renderers at most: React Native (primary) and\\n    // Fabric (secondary); React DOM (primary) and React ART (secondary).\\n    // Secondary renderers store their context values on separate fields.\\n    _currentValue: defaultValue,\\n    _currentValue2: defaultValue,\\n    // Used to track how many concurrent renderers this context currently\\n    // supports within in a single renderer. Such as parallel server rendering.\\n    _threadCount: 0,\\n    // These are circular\\n    Provider: null,\\n    Consumer: null\\n  };\\n  context.Provider = {\\n    $$typeof: REACT_PROVIDER_TYPE,\\n    _context: context\\n  };\\n  var hasWarnedAboutUsingNestedContextConsumers = false;\\n  var hasWarnedAboutUsingConsumerProvider = false;\\n\\n  {\\n    // A separate object, but proxies back to the original context object for\\n    // backwards compatibility. It has a different $$typeof, so we can properly\\n    // warn for the incorrect usage of Context as a Consumer.\\n    var Consumer = {\\n      $$typeof: REACT_CONTEXT_TYPE,\\n      _context: context,\\n      _calculateChangedBits: context._calculateChangedBits\\n    }; // $FlowFixMe: Flow complains about not setting a value, which is intentional here\\n\\n    Object.defineProperties(Consumer, {\\n      Provider: {\\n        get: function () {\\n          if (!hasWarnedAboutUsingConsumerProvider) {\\n            hasWarnedAboutUsingConsumerProvider = true;\\n\\n            error('Rendering <Context.Consumer.Provider> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Provider> instead?');\\n          }\\n\\n          return context.Provider;\\n        },\\n        set: function (_Provider) {\\n          context.Provider = _Provider;\\n        }\\n      },\\n      _currentValue: {\\n        get: function () {\\n          return context._currentValue;\\n        },\\n        set: function (_currentValue) {\\n          context._currentValue = _currentValue;\\n        }\\n      },\\n      _currentValue2: {\\n        get: function () {\\n          return context._currentValue2;\\n        },\\n        set: function (_currentValue2) {\\n          context._currentValue2 = _currentValue2;\\n        }\\n      },\\n      _threadCount: {\\n        get: function () {\\n          return context._threadCount;\\n        },\\n        set: function (_threadCount) {\\n          context._threadCount = _threadCount;\\n        }\\n      },\\n      Consumer: {\\n        get: function () {\\n          if (!hasWarnedAboutUsingNestedContextConsumers) {\\n            hasWarnedAboutUsingNestedContextConsumers = true;\\n\\n            error('Rendering <Context.Consumer.Consumer> is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');\\n          }\\n\\n          return context.Consumer;\\n        }\\n      }\\n    }); // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty\\n\\n    context.Consumer = Consumer;\\n  }\\n\\n  {\\n    context._currentRenderer = null;\\n    context._currentRenderer2 = null;\\n  }\\n\\n  return context;\\n}\\n\\nfunction lazy(ctor) {\\n  var lazyType = {\\n    $$typeof: REACT_LAZY_TYPE,\\n    _ctor: ctor,\\n    // React uses these fields to store the result.\\n    _status: -1,\\n    _result: null\\n  };\\n\\n  {\\n    // In production, this would just set it on the object.\\n    var defaultProps;\\n    var propTypes;\\n    Object.defineProperties(lazyType, {\\n      defaultProps: {\\n        configurable: true,\\n        get: function () {\\n          return defaultProps;\\n        },\\n        set: function (newDefaultProps) {\\n          error('React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\\n\\n          defaultProps = newDefaultProps; // Match production behavior more closely:\\n\\n          Object.defineProperty(lazyType, 'defaultProps', {\\n            enumerable: true\\n          });\\n        }\\n      },\\n      propTypes: {\\n        configurable: true,\\n        get: function () {\\n          return propTypes;\\n        },\\n        set: function (newPropTypes) {\\n          error('React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.');\\n\\n          propTypes = newPropTypes; // Match production behavior more closely:\\n\\n          Object.defineProperty(lazyType, 'propTypes', {\\n            enumerable: true\\n          });\\n        }\\n      }\\n    });\\n  }\\n\\n  return lazyType;\\n}\\n\\nfunction forwardRef(render) {\\n  {\\n    if (render != null && render.$$typeof === REACT_MEMO_TYPE) {\\n      error('forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).');\\n    } else if (typeof render !== 'function') {\\n      error('forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);\\n    } else {\\n      if (render.length !== 0 && render.length !== 2) {\\n        error('forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.');\\n      }\\n    }\\n\\n    if (render != null) {\\n      if (render.defaultProps != null || render.propTypes != null) {\\n        error('forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?');\\n      }\\n    }\\n  }\\n\\n  return {\\n    $$typeof: REACT_FORWARD_REF_TYPE,\\n    render: render\\n  };\\n}\\n\\nfunction isValidElementType(type) {\\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\\n}\\n\\nfunction memo(type, compare) {\\n  {\\n    if (!isValidElementType(type)) {\\n      error('memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type);\\n    }\\n  }\\n\\n  return {\\n    $$typeof: REACT_MEMO_TYPE,\\n    type: type,\\n    compare: compare === undefined ? null : compare\\n  };\\n}\\n\\nfunction resolveDispatcher() {\\n  var dispatcher = ReactCurrentDispatcher.current;\\n\\n  if (!(dispatcher !== null)) {\\n    {\\n      throw Error( \\\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\\\n2. You might be breaking the Rules of Hooks\\\\n3. You might have more than one copy of React in the same app\\\\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.\\\" );\\n    }\\n  }\\n\\n  return dispatcher;\\n}\\n\\nfunction useContext(Context, unstable_observedBits) {\\n  var dispatcher = resolveDispatcher();\\n\\n  {\\n    if (unstable_observedBits !== undefined) {\\n      error('useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\\\\n\\\\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : '');\\n    } // TODO: add a more generic warning for invalid values.\\n\\n\\n    if (Context._context !== undefined) {\\n      var realContext = Context._context; // Don't deduplicate because this legitimately causes bugs\\n      // and nobody should be using this in existing code.\\n\\n      if (realContext.Consumer === Context) {\\n        error('Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?');\\n      } else if (realContext.Provider === Context) {\\n        error('Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?');\\n      }\\n    }\\n  }\\n\\n  return dispatcher.useContext(Context, unstable_observedBits);\\n}\\nfunction useState(initialState) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useState(initialState);\\n}\\nfunction useReducer(reducer, initialArg, init) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useReducer(reducer, initialArg, init);\\n}\\nfunction useRef(initialValue) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useRef(initialValue);\\n}\\nfunction useEffect(create, deps) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useEffect(create, deps);\\n}\\nfunction useLayoutEffect(create, deps) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useLayoutEffect(create, deps);\\n}\\nfunction useCallback(callback, deps) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useCallback(callback, deps);\\n}\\nfunction useMemo(create, deps) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useMemo(create, deps);\\n}\\nfunction useImperativeHandle(ref, create, deps) {\\n  var dispatcher = resolveDispatcher();\\n  return dispatcher.useImperativeHandle(ref, create, deps);\\n}\\nfunction useDebugValue(value, formatterFn) {\\n  {\\n    var dispatcher = resolveDispatcher();\\n    return dispatcher.useDebugValue(value, formatterFn);\\n  }\\n}\\n\\nvar propTypesMisspellWarningShown;\\n\\n{\\n  propTypesMisspellWarningShown = false;\\n}\\n\\nfunction getDeclarationErrorAddendum() {\\n  if (ReactCurrentOwner.current) {\\n    var name = getComponentName(ReactCurrentOwner.current.type);\\n\\n    if (name) {\\n      return '\\\\n\\\\nCheck the render method of `' + name + '`.';\\n    }\\n  }\\n\\n  return '';\\n}\\n\\nfunction getSourceInfoErrorAddendum(source) {\\n  if (source !== undefined) {\\n    var fileName = source.fileName.replace(/^.*[\\\\\\\\\\\\/]/, '');\\n    var lineNumber = source.lineNumber;\\n    return '\\\\n\\\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\\n  }\\n\\n  return '';\\n}\\n\\nfunction getSourceInfoErrorAddendumForProps(elementProps) {\\n  if (elementProps !== null && elementProps !== undefined) {\\n    return getSourceInfoErrorAddendum(elementProps.__source);\\n  }\\n\\n  return '';\\n}\\n/**\\n * Warn if there's no key explicitly set on dynamic arrays of children or\\n * object keys are not valid. This allows us to keep track of children between\\n * updates.\\n */\\n\\n\\nvar ownerHasKeyUseWarning = {};\\n\\nfunction getCurrentComponentErrorInfo(parentType) {\\n  var info = getDeclarationErrorAddendum();\\n\\n  if (!info) {\\n    var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\\n\\n    if (parentName) {\\n      info = \\\"\\\\n\\\\nCheck the top-level render call using <\\\" + parentName + \\\">.\\\";\\n    }\\n  }\\n\\n  return info;\\n}\\n/**\\n * Warn if the element doesn't have an explicit key assigned to it.\\n * This element is in an array. The array could grow and shrink or be\\n * reordered. All children that haven't already been validated are required to\\n * have a \\\"key\\\" property assigned to it. Error statuses are cached so a warning\\n * will only be shown once.\\n *\\n * @internal\\n * @param {ReactElement} element Element that requires a key.\\n * @param {*} parentType element's parent's type.\\n */\\n\\n\\nfunction validateExplicitKey(element, parentType) {\\n  if (!element._store || element._store.validated || element.key != null) {\\n    return;\\n  }\\n\\n  element._store.validated = true;\\n  var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\\n\\n  if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\\n    return;\\n  }\\n\\n  ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\\n  // property, it may be the creator of the child that's responsible for\\n  // assigning it a key.\\n\\n  var childOwner = '';\\n\\n  if (element && element._owner && element._owner !== ReactCurrentOwner.current) {\\n    // Give the component that originally created this child.\\n    childOwner = \\\" It was passed a child from \\\" + getComponentName(element._owner.type) + \\\".\\\";\\n  }\\n\\n  setCurrentlyValidatingElement(element);\\n\\n  {\\n    error('Each child in a list should have a unique \\\"key\\\" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner);\\n  }\\n\\n  setCurrentlyValidatingElement(null);\\n}\\n/**\\n * Ensure that every element either is passed in a static location, in an\\n * array with an explicit keys property defined, or in an object literal\\n * with valid key property.\\n *\\n * @internal\\n * @param {ReactNode} node Statically passed child of any type.\\n * @param {*} parentType node's parent's type.\\n */\\n\\n\\nfunction validateChildKeys(node, parentType) {\\n  if (typeof node !== 'object') {\\n    return;\\n  }\\n\\n  if (Array.isArray(node)) {\\n    for (var i = 0; i < node.length; i++) {\\n      var child = node[i];\\n\\n      if (isValidElement(child)) {\\n        validateExplicitKey(child, parentType);\\n      }\\n    }\\n  } else if (isValidElement(node)) {\\n    // This element was passed in a valid location.\\n    if (node._store) {\\n      node._store.validated = true;\\n    }\\n  } else if (node) {\\n    var iteratorFn = getIteratorFn(node);\\n\\n    if (typeof iteratorFn === 'function') {\\n      // Entry iterators used to provide implicit keys,\\n      // but now we print a separate warning for them later.\\n      if (iteratorFn !== node.entries) {\\n        var iterator = iteratorFn.call(node);\\n        var step;\\n\\n        while (!(step = iterator.next()).done) {\\n          if (isValidElement(step.value)) {\\n            validateExplicitKey(step.value, parentType);\\n          }\\n        }\\n      }\\n    }\\n  }\\n}\\n/**\\n * Given an element, validate that its props follow the propTypes definition,\\n * provided by the type.\\n *\\n * @param {ReactElement} element\\n */\\n\\n\\nfunction validatePropTypes(element) {\\n  {\\n    var type = element.type;\\n\\n    if (type === null || type === undefined || typeof type === 'string') {\\n      return;\\n    }\\n\\n    var name = getComponentName(type);\\n    var propTypes;\\n\\n    if (typeof type === 'function') {\\n      propTypes = type.propTypes;\\n    } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\\n    // Inner props are checked in the reconciler.\\n    type.$$typeof === REACT_MEMO_TYPE)) {\\n      propTypes = type.propTypes;\\n    } else {\\n      return;\\n    }\\n\\n    if (propTypes) {\\n      setCurrentlyValidatingElement(element);\\n      checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum);\\n      setCurrentlyValidatingElement(null);\\n    } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\\n      propTypesMisspellWarningShown = true;\\n\\n      error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');\\n    }\\n\\n    if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\\n      error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\\n    }\\n  }\\n}\\n/**\\n * Given a fragment, validate that it can only be provided with fragment props\\n * @param {ReactElement} fragment\\n */\\n\\n\\nfunction validateFragmentProps(fragment) {\\n  {\\n    setCurrentlyValidatingElement(fragment);\\n    var keys = Object.keys(fragment.props);\\n\\n    for (var i = 0; i < keys.length; i++) {\\n      var key = keys[i];\\n\\n      if (key !== 'children' && key !== 'key') {\\n        error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\\n\\n        break;\\n      }\\n    }\\n\\n    if (fragment.ref !== null) {\\n      error('Invalid attribute `ref` supplied to `React.Fragment`.');\\n    }\\n\\n    setCurrentlyValidatingElement(null);\\n  }\\n}\\nfunction createElementWithValidation(type, props, children) {\\n  var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\\n  // succeed and there will likely be errors in render.\\n\\n  if (!validType) {\\n    var info = '';\\n\\n    if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\\n      info += ' You likely forgot to export your component from the file ' + \\\"it's defined in, or you might have mixed up default and named imports.\\\";\\n    }\\n\\n    var sourceInfo = getSourceInfoErrorAddendumForProps(props);\\n\\n    if (sourceInfo) {\\n      info += sourceInfo;\\n    } else {\\n      info += getDeclarationErrorAddendum();\\n    }\\n\\n    var typeString;\\n\\n    if (type === null) {\\n      typeString = 'null';\\n    } else if (Array.isArray(type)) {\\n      typeString = 'array';\\n    } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\\n      typeString = \\\"<\\\" + (getComponentName(type.type) || 'Unknown') + \\\" />\\\";\\n      info = ' Did you accidentally export a JSX literal instead of a component?';\\n    } else {\\n      typeString = typeof type;\\n    }\\n\\n    {\\n      error('React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\\n    }\\n  }\\n\\n  var element = createElement.apply(this, arguments); // The result can be nullish if a mock or a custom function is used.\\n  // TODO: Drop this when these are no longer allowed as the type argument.\\n\\n  if (element == null) {\\n    return element;\\n  } // Skip key warning if the type isn't valid since our key validation logic\\n  // doesn't expect a non-string/function type and can throw confusing errors.\\n  // We don't want exception behavior to differ between dev and prod.\\n  // (Rendering will throw with a helpful message and as soon as the type is\\n  // fixed, the key warnings will appear.)\\n\\n\\n  if (validType) {\\n    for (var i = 2; i < arguments.length; i++) {\\n      validateChildKeys(arguments[i], type);\\n    }\\n  }\\n\\n  if (type === REACT_FRAGMENT_TYPE) {\\n    validateFragmentProps(element);\\n  } else {\\n    validatePropTypes(element);\\n  }\\n\\n  return element;\\n}\\nvar didWarnAboutDeprecatedCreateFactory = false;\\nfunction createFactoryWithValidation(type) {\\n  var validatedFactory = createElementWithValidation.bind(null, type);\\n  validatedFactory.type = type;\\n\\n  {\\n    if (!didWarnAboutDeprecatedCreateFactory) {\\n      didWarnAboutDeprecatedCreateFactory = true;\\n\\n      warn('React.createFactory() is deprecated and will be removed in ' + 'a future major release. Consider using JSX ' + 'or use React.createElement() directly instead.');\\n    } // Legacy hook: remove it\\n\\n\\n    Object.defineProperty(validatedFactory, 'type', {\\n      enumerable: false,\\n      get: function () {\\n        warn('Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');\\n\\n        Object.defineProperty(this, 'type', {\\n          value: type\\n        });\\n        return type;\\n      }\\n    });\\n  }\\n\\n  return validatedFactory;\\n}\\nfunction cloneElementWithValidation(element, props, children) {\\n  var newElement = cloneElement.apply(this, arguments);\\n\\n  for (var i = 2; i < arguments.length; i++) {\\n    validateChildKeys(arguments[i], newElement.type);\\n  }\\n\\n  validatePropTypes(newElement);\\n  return newElement;\\n}\\n\\n{\\n\\n  try {\\n    var frozenObject = Object.freeze({});\\n    var testMap = new Map([[frozenObject, null]]);\\n    var testSet = new Set([frozenObject]); // This is necessary for Rollup to not consider these unused.\\n    // https://github.com/rollup/rollup/issues/1771\\n    // TODO: we can remove these if Rollup fixes the bug.\\n\\n    testMap.set(0, 0);\\n    testSet.add(0);\\n  } catch (e) {\\n  }\\n}\\n\\nvar createElement$1 =  createElementWithValidation ;\\nvar cloneElement$1 =  cloneElementWithValidation ;\\nvar createFactory =  createFactoryWithValidation ;\\nvar Children = {\\n  map: mapChildren,\\n  forEach: forEachChildren,\\n  count: countChildren,\\n  toArray: toArray,\\n  only: onlyChild\\n};\\n\\nexports.Children = Children;\\nexports.Component = Component;\\nexports.Fragment = REACT_FRAGMENT_TYPE;\\nexports.Profiler = REACT_PROFILER_TYPE;\\nexports.PureComponent = PureComponent;\\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\\nexports.Suspense = REACT_SUSPENSE_TYPE;\\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ReactSharedInternals;\\nexports.cloneElement = cloneElement$1;\\nexports.createContext = createContext;\\nexports.createElement = createElement$1;\\nexports.createFactory = createFactory;\\nexports.createRef = createRef;\\nexports.forwardRef = forwardRef;\\nexports.isValidElement = isValidElement;\\nexports.lazy = lazy;\\nexports.memo = memo;\\nexports.useCallback = useCallback;\\nexports.useContext = useContext;\\nexports.useDebugValue = useDebugValue;\\nexports.useEffect = useEffect;\\nexports.useImperativeHandle = useImperativeHandle;\\nexports.useLayoutEffect = useLayoutEffect;\\nexports.useMemo = useMemo;\\nexports.useReducer = useReducer;\\nexports.useRef = useRef;\\nexports.useState = useState;\\nexports.version = ReactVersion;\\n  })();\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvY2pzL3JlYWN0LmRldmVsb3BtZW50LmpzPzcyZDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFYTs7OztBQUliLElBQUksSUFBcUM7QUFDekM7QUFDQTs7QUFFQSxjQUFjLG1CQUFPLENBQUMsNERBQWU7QUFDckMscUJBQXFCLG1CQUFPLENBQUMsOEVBQTJCOztBQUV4RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwRUFBMEU7QUFDMUU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMEZBQTBGLGFBQWE7QUFDdkc7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsOEZBQThGLGVBQWU7QUFDN0c7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQLGlEQUFpRDtBQUNqRDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsOE1BQThNOztBQUU5TTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsV0FBVztBQUN4QixjQUFjLFFBQVE7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFdBQVc7QUFDeEIsYUFBYSxVQUFVO0FBQ3ZCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLFdBQVc7QUFDeEIsYUFBYSxPQUFPO0FBQ3BCLGFBQWEsVUFBVTtBQUN2QixhQUFhLFFBQVE7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWEsV0FBVztBQUN4QixhQUFhLE9BQU87QUFDcEIsYUFBYSxVQUFVO0FBQ3ZCLGFBQWEsUUFBUTtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0EseUJBQXlCOztBQUV6QiwwQkFBMEI7QUFDMUI7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxnQkFBZ0I7QUFDM0I7QUFDQSxXQUFXLFVBQVU7QUFDckI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckI7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7O0FBRXpCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLG1EQUFtRDs7QUFFbkQ7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYixXQUFXLEVBQUU7QUFDYixXQUFXLEVBQUU7QUFDYixXQUFXLGNBQWM7QUFDekIsV0FBVyxFQUFFO0FBQ2IsV0FBVyxFQUFFO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEVBQUU7QUFDYjtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCO0FBQ3hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxFQUFFOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEVBQUU7QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGVBQWU7O0FBRWY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0VBQW9FOztBQUVwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBLG1CQUFtQixvQkFBb0I7QUFDdkM7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlOztBQUVmLHdCQUF3QixpQkFBaUI7OztBQUd6QztBQUNBLHdCQUF3Qjs7QUFFeEIsMkJBQTJCO0FBQzNCO0FBQ0E7O0FBRUEsK0JBQStCOztBQUUvQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEtBQUs7OztBQUdMOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBLG1CQUFtQixvQkFBb0I7QUFDdkM7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxRQUFRO0FBQ3BCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLE9BQU87QUFDbEIsWUFBWSxPQUFPO0FBQ25COztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLFFBQVE7QUFDbkIsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsR0FBRztBQUNkO0FBQ0EsWUFBWSxRQUFRO0FBQ3BCOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLHVCQUF1Qjs7QUFFdkI7O0FBRUE7QUFDQSxtQkFBbUIscUJBQXFCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxzSUFBc0kseUNBQXlDO0FBQy9LO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxVQUFVO0FBQ3JCLFdBQVcsR0FBRztBQUNkLFlBQVksUUFBUTtBQUNwQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsRUFBRTtBQUNiLFdBQVcsT0FBTztBQUNsQixZQUFZO0FBQ1o7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7OztBQUdIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLEdBQUc7QUFDZCxXQUFXLGlCQUFpQjtBQUM1QixXQUFXLEVBQUU7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxHQUFHO0FBQ2QsV0FBVyxpQkFBaUI7QUFDNUIsV0FBVyxFQUFFO0FBQ2IsWUFBWSxPQUFPO0FBQ25COzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsR0FBRztBQUNkLFlBQVksT0FBTztBQUNuQjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFFBQVE7QUFDbkIsWUFBWSxhQUFhO0FBQ3pCO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOztBQUVOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLEVBQUU7O0FBRVA7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEseUNBQXlDOztBQUV6QztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7O0FBRUEsbUNBQW1DOztBQUVuQztBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsS0FBSzs7O0FBR0w7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsYUFBYTtBQUN4QixXQUFXLEVBQUU7QUFDYjs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUEsMERBQTBEO0FBQzFEO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLFVBQVU7QUFDckIsV0FBVyxFQUFFO0FBQ2I7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CLGlCQUFpQjtBQUNwQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGFBQWE7QUFDeEI7OztBQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixpQkFBaUI7QUFDcEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkNBQTJDO0FBQzNDOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxxREFBcUQ7QUFDckQ7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQSxtQkFBbUIsc0JBQXNCO0FBQ3pDO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7OztBQUdMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBLEtBQUs7QUFDTDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsc0JBQXNCO0FBQ3ZDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0EsdUNBQXVDO0FBQ3ZDO0FBQ0EsMENBQTBDO0FBQzFDO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3JlYWN0L2Nqcy9yZWFjdC5kZXZlbG9wbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbGljZW5zZSBSZWFjdCB2MTYuMTMuMVxuICogcmVhY3QuZGV2ZWxvcG1lbnQuanNcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cblxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gIChmdW5jdGlvbigpIHtcbid1c2Ugc3RyaWN0JztcblxudmFyIF9hc3NpZ24gPSByZXF1aXJlKCdvYmplY3QtYXNzaWduJyk7XG52YXIgY2hlY2tQcm9wVHlwZXMgPSByZXF1aXJlKCdwcm9wLXR5cGVzL2NoZWNrUHJvcFR5cGVzJyk7XG5cbnZhciBSZWFjdFZlcnNpb24gPSAnMTYuMTMuMSc7XG5cbi8vIFRoZSBTeW1ib2wgdXNlZCB0byB0YWcgdGhlIFJlYWN0RWxlbWVudC1saWtlIHR5cGVzLiBJZiB0aGVyZSBpcyBubyBuYXRpdmUgU3ltYm9sXG4vLyBub3IgcG9seWZpbGwsIHRoZW4gYSBwbGFpbiBudW1iZXIgaXMgdXNlZCBmb3IgcGVyZm9ybWFuY2UuXG52YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gJ2Z1bmN0aW9uJyAmJiBTeW1ib2wuZm9yO1xudmFyIFJFQUNUX0VMRU1FTlRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSA6IDB4ZWFjNztcbnZhciBSRUFDVF9QT1JUQUxfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnBvcnRhbCcpIDogMHhlYWNhO1xudmFyIFJFQUNUX0ZSQUdNRU5UX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5mcmFnbWVudCcpIDogMHhlYWNiO1xudmFyIFJFQUNUX1NUUklDVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdHJpY3RfbW9kZScpIDogMHhlYWNjO1xudmFyIFJFQUNUX1BST0ZJTEVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm9maWxlcicpIDogMHhlYWQyO1xudmFyIFJFQUNUX1BST1ZJREVSX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5wcm92aWRlcicpIDogMHhlYWNkO1xudmFyIFJFQUNUX0NPTlRFWFRfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmNvbnRleHQnKSA6IDB4ZWFjZTsgLy8gVE9ETzogV2UgZG9uJ3QgdXNlIEFzeW5jTW9kZSBvciBDb25jdXJyZW50TW9kZSBhbnltb3JlLiBUaGV5IHdlcmUgdGVtcG9yYXJ5XG52YXIgUkVBQ1RfQ09OQ1VSUkVOVF9NT0RFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5jb25jdXJyZW50X21vZGUnKSA6IDB4ZWFjZjtcbnZhciBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZm9yd2FyZF9yZWYnKSA6IDB4ZWFkMDtcbnZhciBSRUFDVF9TVVNQRU5TRV9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3Quc3VzcGVuc2UnKSA6IDB4ZWFkMTtcbnZhciBSRUFDVF9TVVNQRU5TRV9MSVNUX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zdXNwZW5zZV9saXN0JykgOiAweGVhZDg7XG52YXIgUkVBQ1RfTUVNT19UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QubWVtbycpIDogMHhlYWQzO1xudmFyIFJFQUNUX0xBWllfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LmxhenknKSA6IDB4ZWFkNDtcbnZhciBSRUFDVF9CTE9DS19UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuYmxvY2snKSA6IDB4ZWFkOTtcbnZhciBSRUFDVF9GVU5EQU1FTlRBTF9UWVBFID0gaGFzU3ltYm9sID8gU3ltYm9sLmZvcigncmVhY3QuZnVuZGFtZW50YWwnKSA6IDB4ZWFkNTtcbnZhciBSRUFDVF9SRVNQT05ERVJfVFlQRSA9IGhhc1N5bWJvbCA/IFN5bWJvbC5mb3IoJ3JlYWN0LnJlc3BvbmRlcicpIDogMHhlYWQ2O1xudmFyIFJFQUNUX1NDT1BFX1RZUEUgPSBoYXNTeW1ib2wgPyBTeW1ib2wuZm9yKCdyZWFjdC5zY29wZScpIDogMHhlYWQ3O1xudmFyIE1BWUJFX0lURVJBVE9SX1NZTUJPTCA9IHR5cGVvZiBTeW1ib2wgPT09ICdmdW5jdGlvbicgJiYgU3ltYm9sLml0ZXJhdG9yO1xudmFyIEZBVVhfSVRFUkFUT1JfU1lNQk9MID0gJ0BAaXRlcmF0b3InO1xuZnVuY3Rpb24gZ2V0SXRlcmF0b3JGbihtYXliZUl0ZXJhYmxlKSB7XG4gIGlmIChtYXliZUl0ZXJhYmxlID09PSBudWxsIHx8IHR5cGVvZiBtYXliZUl0ZXJhYmxlICE9PSAnb2JqZWN0Jykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgdmFyIG1heWJlSXRlcmF0b3IgPSBNQVlCRV9JVEVSQVRPUl9TWU1CT0wgJiYgbWF5YmVJdGVyYWJsZVtNQVlCRV9JVEVSQVRPUl9TWU1CT0xdIHx8IG1heWJlSXRlcmFibGVbRkFVWF9JVEVSQVRPUl9TWU1CT0xdO1xuXG4gIGlmICh0eXBlb2YgbWF5YmVJdGVyYXRvciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBtYXliZUl0ZXJhdG9yO1xuICB9XG5cbiAgcmV0dXJuIG51bGw7XG59XG5cbi8qKlxuICogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnQgZGlzcGF0Y2hlci5cbiAqL1xudmFyIFJlYWN0Q3VycmVudERpc3BhdGNoZXIgPSB7XG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICogQHR5cGUge1JlYWN0Q29tcG9uZW50fVxuICAgKi9cbiAgY3VycmVudDogbnVsbFxufTtcblxuLyoqXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBiYXRjaCdzIGNvbmZpZ3VyYXRpb24gc3VjaCBhcyBob3cgbG9uZyBhbiB1cGRhdGVcbiAqIHNob3VsZCBzdXNwZW5kIGZvciBpZiBpdCBuZWVkcyB0by5cbiAqL1xudmFyIFJlYWN0Q3VycmVudEJhdGNoQ29uZmlnID0ge1xuICBzdXNwZW5zZTogbnVsbFxufTtcblxuLyoqXG4gKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBvd25lci5cbiAqXG4gKiBUaGUgY3VycmVudCBvd25lciBpcyB0aGUgY29tcG9uZW50IHdobyBzaG91bGQgb3duIGFueSBjb21wb25lbnRzIHRoYXQgYXJlXG4gKiBjdXJyZW50bHkgYmVpbmcgY29uc3RydWN0ZWQuXG4gKi9cbnZhciBSZWFjdEN1cnJlbnRPd25lciA9IHtcbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBAdHlwZSB7UmVhY3RDb21wb25lbnR9XG4gICAqL1xuICBjdXJyZW50OiBudWxsXG59O1xuXG52YXIgQkVGT1JFX1NMQVNIX1JFID0gL14oLiopW1xcXFxcXC9dLztcbmZ1bmN0aW9uIGRlc2NyaWJlQ29tcG9uZW50RnJhbWUgKG5hbWUsIHNvdXJjZSwgb3duZXJOYW1lKSB7XG4gIHZhciBzb3VyY2VJbmZvID0gJyc7XG5cbiAgaWYgKHNvdXJjZSkge1xuICAgIHZhciBwYXRoID0gc291cmNlLmZpbGVOYW1lO1xuICAgIHZhciBmaWxlTmFtZSA9IHBhdGgucmVwbGFjZShCRUZPUkVfU0xBU0hfUkUsICcnKTtcblxuICAgIHtcbiAgICAgIC8vIEluIERFViwgaW5jbHVkZSBjb2RlIGZvciBhIGNvbW1vbiBzcGVjaWFsIGNhc2U6XG4gICAgICAvLyBwcmVmZXIgXCJmb2xkZXIvaW5kZXguanNcIiBpbnN0ZWFkIG9mIGp1c3QgXCJpbmRleC5qc1wiLlxuICAgICAgaWYgKC9eaW5kZXhcXC4vLnRlc3QoZmlsZU5hbWUpKSB7XG4gICAgICAgIHZhciBtYXRjaCA9IHBhdGgubWF0Y2goQkVGT1JFX1NMQVNIX1JFKTtcblxuICAgICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgICB2YXIgcGF0aEJlZm9yZVNsYXNoID0gbWF0Y2hbMV07XG5cbiAgICAgICAgICBpZiAocGF0aEJlZm9yZVNsYXNoKSB7XG4gICAgICAgICAgICB2YXIgZm9sZGVyTmFtZSA9IHBhdGhCZWZvcmVTbGFzaC5yZXBsYWNlKEJFRk9SRV9TTEFTSF9SRSwgJycpO1xuICAgICAgICAgICAgZmlsZU5hbWUgPSBmb2xkZXJOYW1lICsgJy8nICsgZmlsZU5hbWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgc291cmNlSW5mbyA9ICcgKGF0ICcgKyBmaWxlTmFtZSArICc6JyArIHNvdXJjZS5saW5lTnVtYmVyICsgJyknO1xuICB9IGVsc2UgaWYgKG93bmVyTmFtZSkge1xuICAgIHNvdXJjZUluZm8gPSAnIChjcmVhdGVkIGJ5ICcgKyBvd25lck5hbWUgKyAnKSc7XG4gIH1cblxuICByZXR1cm4gJ1xcbiAgICBpbiAnICsgKG5hbWUgfHwgJ1Vua25vd24nKSArIHNvdXJjZUluZm87XG59XG5cbnZhciBSZXNvbHZlZCA9IDE7XG5mdW5jdGlvbiByZWZpbmVSZXNvbHZlZExhenlDb21wb25lbnQobGF6eUNvbXBvbmVudCkge1xuICByZXR1cm4gbGF6eUNvbXBvbmVudC5fc3RhdHVzID09PSBSZXNvbHZlZCA/IGxhenlDb21wb25lbnQuX3Jlc3VsdCA6IG51bGw7XG59XG5cbmZ1bmN0aW9uIGdldFdyYXBwZWROYW1lKG91dGVyVHlwZSwgaW5uZXJUeXBlLCB3cmFwcGVyTmFtZSkge1xuICB2YXIgZnVuY3Rpb25OYW1lID0gaW5uZXJUeXBlLmRpc3BsYXlOYW1lIHx8IGlubmVyVHlwZS5uYW1lIHx8ICcnO1xuICByZXR1cm4gb3V0ZXJUeXBlLmRpc3BsYXlOYW1lIHx8IChmdW5jdGlvbk5hbWUgIT09ICcnID8gd3JhcHBlck5hbWUgKyBcIihcIiArIGZ1bmN0aW9uTmFtZSArIFwiKVwiIDogd3JhcHBlck5hbWUpO1xufVxuXG5mdW5jdGlvbiBnZXRDb21wb25lbnROYW1lKHR5cGUpIHtcbiAgaWYgKHR5cGUgPT0gbnVsbCkge1xuICAgIC8vIEhvc3Qgcm9vdCwgdGV4dCBub2RlIG9yIGp1c3QgaW52YWxpZCB0eXBlLlxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAge1xuICAgIGlmICh0eXBlb2YgdHlwZS50YWcgPT09ICdudW1iZXInKSB7XG4gICAgICBlcnJvcignUmVjZWl2ZWQgYW4gdW5leHBlY3RlZCBvYmplY3QgaW4gZ2V0Q29tcG9uZW50TmFtZSgpLiAnICsgJ1RoaXMgaXMgbGlrZWx5IGEgYnVnIGluIFJlYWN0LiBQbGVhc2UgZmlsZSBhbiBpc3N1ZS4nKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgbnVsbDtcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgUkVBQ1RfRlJBR01FTlRfVFlQRTpcbiAgICAgIHJldHVybiAnRnJhZ21lbnQnO1xuXG4gICAgY2FzZSBSRUFDVF9QT1JUQUxfVFlQRTpcbiAgICAgIHJldHVybiAnUG9ydGFsJztcblxuICAgIGNhc2UgUkVBQ1RfUFJPRklMRVJfVFlQRTpcbiAgICAgIHJldHVybiBcIlByb2ZpbGVyXCI7XG5cbiAgICBjYXNlIFJFQUNUX1NUUklDVF9NT0RFX1RZUEU6XG4gICAgICByZXR1cm4gJ1N0cmljdE1vZGUnO1xuXG4gICAgY2FzZSBSRUFDVF9TVVNQRU5TRV9UWVBFOlxuICAgICAgcmV0dXJuICdTdXNwZW5zZSc7XG5cbiAgICBjYXNlIFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRTpcbiAgICAgIHJldHVybiAnU3VzcGVuc2VMaXN0JztcbiAgfVxuXG4gIGlmICh0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcpIHtcbiAgICBzd2l0Y2ggKHR5cGUuJCR0eXBlb2YpIHtcbiAgICAgIGNhc2UgUkVBQ1RfQ09OVEVYVF9UWVBFOlxuICAgICAgICByZXR1cm4gJ0NvbnRleHQuQ29uc3VtZXInO1xuXG4gICAgICBjYXNlIFJFQUNUX1BST1ZJREVSX1RZUEU6XG4gICAgICAgIHJldHVybiAnQ29udGV4dC5Qcm92aWRlcic7XG5cbiAgICAgIGNhc2UgUkVBQ1RfRk9SV0FSRF9SRUZfVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldFdyYXBwZWROYW1lKHR5cGUsIHR5cGUucmVuZGVyLCAnRm9yd2FyZFJlZicpO1xuXG4gICAgICBjYXNlIFJFQUNUX01FTU9fVFlQRTpcbiAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWUodHlwZS50eXBlKTtcblxuICAgICAgY2FzZSBSRUFDVF9CTE9DS19UWVBFOlxuICAgICAgICByZXR1cm4gZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnJlbmRlcik7XG5cbiAgICAgIGNhc2UgUkVBQ1RfTEFaWV9UWVBFOlxuICAgICAgICB7XG4gICAgICAgICAgdmFyIHRoZW5hYmxlID0gdHlwZTtcbiAgICAgICAgICB2YXIgcmVzb2x2ZWRUaGVuYWJsZSA9IHJlZmluZVJlc29sdmVkTGF6eUNvbXBvbmVudCh0aGVuYWJsZSk7XG5cbiAgICAgICAgICBpZiAocmVzb2x2ZWRUaGVuYWJsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGdldENvbXBvbmVudE5hbWUocmVzb2x2ZWRUaGVuYWJsZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIFJlYWN0RGVidWdDdXJyZW50RnJhbWUgPSB7fTtcbnZhciBjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCA9IG51bGw7XG5mdW5jdGlvbiBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChlbGVtZW50KSB7XG4gIHtcbiAgICBjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudCA9IGVsZW1lbnQ7XG4gIH1cbn1cblxue1xuICAvLyBTdGFjayBpbXBsZW1lbnRhdGlvbiBpbmplY3RlZCBieSB0aGUgY3VycmVudCByZW5kZXJlci5cbiAgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRDdXJyZW50U3RhY2sgPSBudWxsO1xuXG4gIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgc3RhY2sgPSAnJzsgLy8gQWRkIGFuIGV4dHJhIHRvcCBmcmFtZSB3aGlsZSBhbiBlbGVtZW50IGlzIGJlaW5nIHZhbGlkYXRlZFxuXG4gICAgaWYgKGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KSB7XG4gICAgICB2YXIgbmFtZSA9IGdldENvbXBvbmVudE5hbWUoY3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQudHlwZSk7XG4gICAgICB2YXIgb3duZXIgPSBjdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudC5fb3duZXI7XG4gICAgICBzdGFjayArPSBkZXNjcmliZUNvbXBvbmVudEZyYW1lKG5hbWUsIGN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50Ll9zb3VyY2UsIG93bmVyICYmIGdldENvbXBvbmVudE5hbWUob3duZXIudHlwZSkpO1xuICAgIH0gLy8gRGVsZWdhdGUgdG8gdGhlIGluamVjdGVkIHJlbmRlcmVyLXNwZWNpZmljIGltcGxlbWVudGF0aW9uXG5cblxuICAgIHZhciBpbXBsID0gUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZS5nZXRDdXJyZW50U3RhY2s7XG5cbiAgICBpZiAoaW1wbCkge1xuICAgICAgc3RhY2sgKz0gaW1wbCgpIHx8ICcnO1xuICAgIH1cblxuICAgIHJldHVybiBzdGFjaztcbiAgfTtcbn1cblxuLyoqXG4gKiBVc2VkIGJ5IGFjdCgpIHRvIHRyYWNrIHdoZXRoZXIgeW91J3JlIGluc2lkZSBhbiBhY3QoKSBzY29wZS5cbiAqL1xudmFyIElzU29tZVJlbmRlcmVyQWN0aW5nID0ge1xuICBjdXJyZW50OiBmYWxzZVxufTtcblxudmFyIFJlYWN0U2hhcmVkSW50ZXJuYWxzID0ge1xuICBSZWFjdEN1cnJlbnREaXNwYXRjaGVyOiBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLFxuICBSZWFjdEN1cnJlbnRCYXRjaENvbmZpZzogUmVhY3RDdXJyZW50QmF0Y2hDb25maWcsXG4gIFJlYWN0Q3VycmVudE93bmVyOiBSZWFjdEN1cnJlbnRPd25lcixcbiAgSXNTb21lUmVuZGVyZXJBY3Rpbmc6IElzU29tZVJlbmRlcmVyQWN0aW5nLFxuICAvLyBVc2VkIGJ5IHJlbmRlcmVycyB0byBhdm9pZCBidW5kbGluZyBvYmplY3QtYXNzaWduIHR3aWNlIGluIFVNRCBidW5kbGVzOlxuICBhc3NpZ246IF9hc3NpZ25cbn07XG5cbntcbiAgX2Fzc2lnbihSZWFjdFNoYXJlZEludGVybmFscywge1xuICAgIC8vIFRoZXNlIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gcHJvZHVjdGlvbi5cbiAgICBSZWFjdERlYnVnQ3VycmVudEZyYW1lOiBSZWFjdERlYnVnQ3VycmVudEZyYW1lLFxuICAgIC8vIFNoaW0gZm9yIFJlYWN0IERPTSAxNi4wLjAgd2hpY2ggc3RpbGwgZGVzdHJ1Y3R1cmVkIChidXQgbm90IHVzZWQpIHRoaXMuXG4gICAgLy8gVE9ETzogcmVtb3ZlIGluIFJlYWN0IDE3LjAuXG4gICAgUmVhY3RDb21wb25lbnRUcmVlSG9vazoge31cbiAgfSk7XG59XG5cbi8vIGJ5IGNhbGxzIHRvIHRoZXNlIG1ldGhvZHMgYnkgYSBCYWJlbCBwbHVnaW4uXG4vL1xuLy8gSW4gUFJPRCAob3IgaW4gcGFja2FnZXMgd2l0aG91dCBhY2Nlc3MgdG8gUmVhY3QgaW50ZXJuYWxzKSxcbi8vIHRoZXkgYXJlIGxlZnQgYXMgdGhleSBhcmUgaW5zdGVhZC5cblxuZnVuY3Rpb24gd2Fybihmb3JtYXQpIHtcbiAge1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cblxuICAgIHByaW50V2FybmluZygnd2FybicsIGZvcm1hdCwgYXJncyk7XG4gIH1cbn1cbmZ1bmN0aW9uIGVycm9yKGZvcm1hdCkge1xuICB7XG4gICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yID4gMSA/IF9sZW4yIC0gMSA6IDApLCBfa2V5MiA9IDE7IF9rZXkyIDwgX2xlbjI7IF9rZXkyKyspIHtcbiAgICAgIGFyZ3NbX2tleTIgLSAxXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgfVxuXG4gICAgcHJpbnRXYXJuaW5nKCdlcnJvcicsIGZvcm1hdCwgYXJncyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJpbnRXYXJuaW5nKGxldmVsLCBmb3JtYXQsIGFyZ3MpIHtcbiAgLy8gV2hlbiBjaGFuZ2luZyB0aGlzIGxvZ2ljLCB5b3UgbWlnaHQgd2FudCB0byBhbHNvXG4gIC8vIHVwZGF0ZSBjb25zb2xlV2l0aFN0YWNrRGV2Lnd3dy5qcyBhcyB3ZWxsLlxuICB7XG4gICAgdmFyIGhhc0V4aXN0aW5nU3RhY2sgPSBhcmdzLmxlbmd0aCA+IDAgJiYgdHlwZW9mIGFyZ3NbYXJncy5sZW5ndGggLSAxXSA9PT0gJ3N0cmluZycgJiYgYXJnc1thcmdzLmxlbmd0aCAtIDFdLmluZGV4T2YoJ1xcbiAgICBpbicpID09PSAwO1xuXG4gICAgaWYgKCFoYXNFeGlzdGluZ1N0YWNrKSB7XG4gICAgICB2YXIgUmVhY3REZWJ1Z0N1cnJlbnRGcmFtZSA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzLlJlYWN0RGVidWdDdXJyZW50RnJhbWU7XG4gICAgICB2YXIgc3RhY2sgPSBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0oKTtcblxuICAgICAgaWYgKHN0YWNrICE9PSAnJykge1xuICAgICAgICBmb3JtYXQgKz0gJyVzJztcbiAgICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KFtzdGFja10pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZhciBhcmdzV2l0aEZvcm1hdCA9IGFyZ3MubWFwKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICByZXR1cm4gJycgKyBpdGVtO1xuICAgIH0pOyAvLyBDYXJlZnVsOiBSTiBjdXJyZW50bHkgZGVwZW5kcyBvbiB0aGlzIHByZWZpeFxuXG4gICAgYXJnc1dpdGhGb3JtYXQudW5zaGlmdCgnV2FybmluZzogJyArIGZvcm1hdCk7IC8vIFdlIGludGVudGlvbmFsbHkgZG9uJ3QgdXNlIHNwcmVhZCAob3IgLmFwcGx5KSBkaXJlY3RseSBiZWNhdXNlIGl0XG4gICAgLy8gYnJlYWtzIElFOTogaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8xMzYxMFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1pbnRlcm5hbC9uby1wcm9kdWN0aW9uLWxvZ2dpbmdcblxuICAgIEZ1bmN0aW9uLnByb3RvdHlwZS5hcHBseS5jYWxsKGNvbnNvbGVbbGV2ZWxdLCBjb25zb2xlLCBhcmdzV2l0aEZvcm1hdCk7XG5cbiAgICB0cnkge1xuICAgICAgLy8gLS0tIFdlbGNvbWUgdG8gZGVidWdnaW5nIFJlYWN0IC0tLVxuICAgICAgLy8gVGhpcyBlcnJvciB3YXMgdGhyb3duIGFzIGEgY29udmVuaWVuY2Ugc28gdGhhdCB5b3UgY2FuIHVzZSB0aGlzIHN0YWNrXG4gICAgICAvLyB0byBmaW5kIHRoZSBjYWxsc2l0ZSB0aGF0IGNhdXNlZCB0aGlzIHdhcm5pbmcgdG8gZmlyZS5cbiAgICAgIHZhciBhcmdJbmRleCA9IDA7XG4gICAgICB2YXIgbWVzc2FnZSA9ICdXYXJuaW5nOiAnICsgZm9ybWF0LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGFyZ3NbYXJnSW5kZXgrK107XG4gICAgICB9KTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9IGNhdGNoICh4KSB7fVxuICB9XG59XG5cbnZhciBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnQgPSB7fTtcblxuZnVuY3Rpb24gd2Fybk5vb3AocHVibGljSW5zdGFuY2UsIGNhbGxlck5hbWUpIHtcbiAge1xuICAgIHZhciBfY29uc3RydWN0b3IgPSBwdWJsaWNJbnN0YW5jZS5jb25zdHJ1Y3RvcjtcbiAgICB2YXIgY29tcG9uZW50TmFtZSA9IF9jb25zdHJ1Y3RvciAmJiAoX2NvbnN0cnVjdG9yLmRpc3BsYXlOYW1lIHx8IF9jb25zdHJ1Y3Rvci5uYW1lKSB8fCAnUmVhY3RDbGFzcyc7XG4gICAgdmFyIHdhcm5pbmdLZXkgPSBjb21wb25lbnROYW1lICsgXCIuXCIgKyBjYWxsZXJOYW1lO1xuXG4gICAgaWYgKGRpZFdhcm5TdGF0ZVVwZGF0ZUZvclVubW91bnRlZENvbXBvbmVudFt3YXJuaW5nS2V5XSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGVycm9yKFwiQ2FuJ3QgY2FsbCAlcyBvbiBhIGNvbXBvbmVudCB0aGF0IGlzIG5vdCB5ZXQgbW91bnRlZC4gXCIgKyAnVGhpcyBpcyBhIG5vLW9wLCBidXQgaXQgbWlnaHQgaW5kaWNhdGUgYSBidWcgaW4geW91ciBhcHBsaWNhdGlvbi4gJyArICdJbnN0ZWFkLCBhc3NpZ24gdG8gYHRoaXMuc3RhdGVgIGRpcmVjdGx5IG9yIGRlZmluZSBhIGBzdGF0ZSA9IHt9O2AgJyArICdjbGFzcyBwcm9wZXJ0eSB3aXRoIHRoZSBkZXNpcmVkIHN0YXRlIGluIHRoZSAlcyBjb21wb25lbnQuJywgY2FsbGVyTmFtZSwgY29tcG9uZW50TmFtZSk7XG5cbiAgICBkaWRXYXJuU3RhdGVVcGRhdGVGb3JVbm1vdW50ZWRDb21wb25lbnRbd2FybmluZ0tleV0gPSB0cnVlO1xuICB9XG59XG4vKipcbiAqIFRoaXMgaXMgdGhlIGFic3RyYWN0IEFQSSBmb3IgYW4gdXBkYXRlIHF1ZXVlLlxuICovXG5cblxudmFyIFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlID0ge1xuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoaXMgY29tcG9zaXRlIGNvbXBvbmVudCBpcyBtb3VudGVkLlxuICAgKiBAcGFyYW0ge1JlYWN0Q2xhc3N9IHB1YmxpY0luc3RhbmNlIFRoZSBpbnN0YW5jZSB3ZSB3YW50IHRvIHRlc3QuXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IFRydWUgaWYgbW91bnRlZCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBmaW5hbFxuICAgKi9cbiAgaXNNb3VudGVkOiBmdW5jdGlvbiAocHVibGljSW5zdGFuY2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAgICogY2VydGFpbnR5IHRoYXQgd2UgYXJlICoqbm90KiogaW4gYSBET00gdHJhbnNhY3Rpb24uXG4gICAqXG4gICAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAgICogY29tcG9uZW50J3Mgc3RhdGUgaGFzIGNoYW5nZWQgYnV0IGBzZXRTdGF0ZWAgd2FzIG5vdCBjYWxsZWQuXG4gICAqXG4gICAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAgICogYGNvbXBvbmVudFdpbGxVcGRhdGVgIGFuZCBgY29tcG9uZW50RGlkVXBkYXRlYC5cbiAgICpcbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2UgdGhhdCBzaG91bGQgcmVyZW5kZXIuXG4gICAqIEBwYXJhbSB7P2Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsZWQgYWZ0ZXIgY29tcG9uZW50IGlzIHVwZGF0ZWQuXG4gICAqIEBwYXJhbSB7P3N0cmluZ30gY2FsbGVyTmFtZSBuYW1lIG9mIHRoZSBjYWxsaW5nIGZ1bmN0aW9uIGluIHRoZSBwdWJsaWMgQVBJLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGVucXVldWVGb3JjZVVwZGF0ZTogZnVuY3Rpb24gKHB1YmxpY0luc3RhbmNlLCBjYWxsYmFjaywgY2FsbGVyTmFtZSkge1xuICAgIHdhcm5Ob29wKHB1YmxpY0luc3RhbmNlLCAnZm9yY2VVcGRhdGUnKTtcbiAgfSxcblxuICAvKipcbiAgICogUmVwbGFjZXMgYWxsIG9mIHRoZSBzdGF0ZS4gQWx3YXlzIHVzZSB0aGlzIG9yIGBzZXRTdGF0ZWAgdG8gbXV0YXRlIHN0YXRlLlxuICAgKiBZb3Ugc2hvdWxkIHRyZWF0IGB0aGlzLnN0YXRlYCBhcyBpbW11dGFibGUuXG4gICAqXG4gICAqIFRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGB0aGlzLnN0YXRlYCB3aWxsIGJlIGltbWVkaWF0ZWx5IHVwZGF0ZWQsIHNvXG4gICAqIGFjY2Vzc2luZyBgdGhpcy5zdGF0ZWAgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBvbGQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVhY3RDbGFzc30gcHVibGljSW5zdGFuY2UgVGhlIGluc3RhbmNlIHRoYXQgc2hvdWxkIHJlcmVuZGVyLlxuICAgKiBAcGFyYW0ge29iamVjdH0gY29tcGxldGVTdGF0ZSBOZXh0IHN0YXRlLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IGNhbGxlck5hbWUgbmFtZSBvZiB0aGUgY2FsbGluZyBmdW5jdGlvbiBpbiB0aGUgcHVibGljIEFQSS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBlbnF1ZXVlUmVwbGFjZVN0YXRlOiBmdW5jdGlvbiAocHVibGljSW5zdGFuY2UsIGNvbXBsZXRlU3RhdGUsIGNhbGxiYWNrLCBjYWxsZXJOYW1lKSB7XG4gICAgd2Fybk5vb3AocHVibGljSW5zdGFuY2UsICdyZXBsYWNlU3RhdGUnKTtcbiAgfSxcblxuICAvKipcbiAgICogU2V0cyBhIHN1YnNldCBvZiB0aGUgc3RhdGUuIFRoaXMgb25seSBleGlzdHMgYmVjYXVzZSBfcGVuZGluZ1N0YXRlIGlzXG4gICAqIGludGVybmFsLiBUaGlzIHByb3ZpZGVzIGEgbWVyZ2luZyBzdHJhdGVneSB0aGF0IGlzIG5vdCBhdmFpbGFibGUgdG8gZGVlcFxuICAgKiBwcm9wZXJ0aWVzIHdoaWNoIGlzIGNvbmZ1c2luZy4gVE9ETzogRXhwb3NlIHBlbmRpbmdTdGF0ZSBvciBkb24ndCB1c2UgaXRcbiAgICogZHVyaW5nIHRoZSBtZXJnZS5cbiAgICpcbiAgICogQHBhcmFtIHtSZWFjdENsYXNzfSBwdWJsaWNJbnN0YW5jZSBUaGUgaW5zdGFuY2UgdGhhdCBzaG91bGQgcmVyZW5kZXIuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBwYXJ0aWFsU3RhdGUgTmV4dCBwYXJ0aWFsIHN0YXRlIHRvIGJlIG1lcmdlZCB3aXRoIHN0YXRlLlxuICAgKiBAcGFyYW0gez9mdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGVkIGFmdGVyIGNvbXBvbmVudCBpcyB1cGRhdGVkLlxuICAgKiBAcGFyYW0gez9zdHJpbmd9IE5hbWUgb2YgdGhlIGNhbGxpbmcgZnVuY3Rpb24gaW4gdGhlIHB1YmxpYyBBUEkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZW5xdWV1ZVNldFN0YXRlOiBmdW5jdGlvbiAocHVibGljSW5zdGFuY2UsIHBhcnRpYWxTdGF0ZSwgY2FsbGJhY2ssIGNhbGxlck5hbWUpIHtcbiAgICB3YXJuTm9vcChwdWJsaWNJbnN0YW5jZSwgJ3NldFN0YXRlJyk7XG4gIH1cbn07XG5cbnZhciBlbXB0eU9iamVjdCA9IHt9O1xuXG57XG4gIE9iamVjdC5mcmVlemUoZW1wdHlPYmplY3QpO1xufVxuLyoqXG4gKiBCYXNlIGNsYXNzIGhlbHBlcnMgZm9yIHRoZSB1cGRhdGluZyBzdGF0ZSBvZiBhIGNvbXBvbmVudC5cbiAqL1xuXG5cbmZ1bmN0aW9uIENvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0OyAvLyBXZSBpbml0aWFsaXplIHRoZSBkZWZhdWx0IHVwZGF0ZXIgYnV0IHRoZSByZWFsIG9uZSBnZXRzIGluamVjdGVkIGJ5IHRoZVxuICAvLyByZW5kZXJlci5cblxuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG5Db21wb25lbnQucHJvdG90eXBlLmlzUmVhY3RDb21wb25lbnQgPSB7fTtcbi8qKlxuICogU2V0cyBhIHN1YnNldCBvZiB0aGUgc3RhdGUuIEFsd2F5cyB1c2UgdGhpcyB0byBtdXRhdGVcbiAqIHN0YXRlLiBZb3Ugc2hvdWxkIHRyZWF0IGB0aGlzLnN0YXRlYCBhcyBpbW11dGFibGUuXG4gKlxuICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgYHRoaXMuc3RhdGVgIHdpbGwgYmUgaW1tZWRpYXRlbHkgdXBkYXRlZCwgc29cbiAqIGFjY2Vzc2luZyBgdGhpcy5zdGF0ZWAgYWZ0ZXIgY2FsbGluZyB0aGlzIG1ldGhvZCBtYXkgcmV0dXJuIHRoZSBvbGQgdmFsdWUuXG4gKlxuICogVGhlcmUgaXMgbm8gZ3VhcmFudGVlIHRoYXQgY2FsbHMgdG8gYHNldFN0YXRlYCB3aWxsIHJ1biBzeW5jaHJvbm91c2x5LFxuICogYXMgdGhleSBtYXkgZXZlbnR1YWxseSBiZSBiYXRjaGVkIHRvZ2V0aGVyLiAgWW91IGNhbiBwcm92aWRlIGFuIG9wdGlvbmFsXG4gKiBjYWxsYmFjayB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgd2hlbiB0aGUgY2FsbCB0byBzZXRTdGF0ZSBpcyBhY3R1YWxseVxuICogY29tcGxldGVkLlxuICpcbiAqIFdoZW4gYSBmdW5jdGlvbiBpcyBwcm92aWRlZCB0byBzZXRTdGF0ZSwgaXQgd2lsbCBiZSBjYWxsZWQgYXQgc29tZSBwb2ludCBpblxuICogdGhlIGZ1dHVyZSAobm90IHN5bmNocm9ub3VzbHkpLiBJdCB3aWxsIGJlIGNhbGxlZCB3aXRoIHRoZSB1cCB0byBkYXRlXG4gKiBjb21wb25lbnQgYXJndW1lbnRzIChzdGF0ZSwgcHJvcHMsIGNvbnRleHQpLiBUaGVzZSB2YWx1ZXMgY2FuIGJlIGRpZmZlcmVudFxuICogZnJvbSB0aGlzLiogYmVjYXVzZSB5b3VyIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgYWZ0ZXIgcmVjZWl2ZVByb3BzIGJ1dCBiZWZvcmVcbiAqIHNob3VsZENvbXBvbmVudFVwZGF0ZSwgYW5kIHRoaXMgbmV3IHN0YXRlLCBwcm9wcywgYW5kIGNvbnRleHQgd2lsbCBub3QgeWV0IGJlXG4gKiBhc3NpZ25lZCB0byB0aGlzLlxuICpcbiAqIEBwYXJhbSB7b2JqZWN0fGZ1bmN0aW9ufSBwYXJ0aWFsU3RhdGUgTmV4dCBwYXJ0aWFsIHN0YXRlIG9yIGZ1bmN0aW9uIHRvXG4gKiAgICAgICAgcHJvZHVjZSBuZXh0IHBhcnRpYWwgc3RhdGUgdG8gYmUgbWVyZ2VkIHdpdGggY3VycmVudCBzdGF0ZS5cbiAqIEBwYXJhbSB7P2Z1bmN0aW9ufSBjYWxsYmFjayBDYWxsZWQgYWZ0ZXIgc3RhdGUgaXMgdXBkYXRlZC5cbiAqIEBmaW5hbFxuICogQHByb3RlY3RlZFxuICovXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuc2V0U3RhdGUgPSBmdW5jdGlvbiAocGFydGlhbFN0YXRlLCBjYWxsYmFjaykge1xuICBpZiAoISh0eXBlb2YgcGFydGlhbFN0YXRlID09PSAnb2JqZWN0JyB8fCB0eXBlb2YgcGFydGlhbFN0YXRlID09PSAnZnVuY3Rpb24nIHx8IHBhcnRpYWxTdGF0ZSA9PSBudWxsKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcInNldFN0YXRlKC4uLik6IHRha2VzIGFuIG9iamVjdCBvZiBzdGF0ZSB2YXJpYWJsZXMgdG8gdXBkYXRlIG9yIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhbiBvYmplY3Qgb2Ygc3RhdGUgdmFyaWFibGVzLlwiICk7XG4gICAgfVxuICB9XG5cbiAgdGhpcy51cGRhdGVyLmVucXVldWVTZXRTdGF0ZSh0aGlzLCBwYXJ0aWFsU3RhdGUsIGNhbGxiYWNrLCAnc2V0U3RhdGUnKTtcbn07XG4vKipcbiAqIEZvcmNlcyBhbiB1cGRhdGUuIFRoaXMgc2hvdWxkIG9ubHkgYmUgaW52b2tlZCB3aGVuIGl0IGlzIGtub3duIHdpdGhcbiAqIGNlcnRhaW50eSB0aGF0IHdlIGFyZSAqKm5vdCoqIGluIGEgRE9NIHRyYW5zYWN0aW9uLlxuICpcbiAqIFlvdSBtYXkgd2FudCB0byBjYWxsIHRoaXMgd2hlbiB5b3Uga25vdyB0aGF0IHNvbWUgZGVlcGVyIGFzcGVjdCBvZiB0aGVcbiAqIGNvbXBvbmVudCdzIHN0YXRlIGhhcyBjaGFuZ2VkIGJ1dCBgc2V0U3RhdGVgIHdhcyBub3QgY2FsbGVkLlxuICpcbiAqIFRoaXMgd2lsbCBub3QgaW52b2tlIGBzaG91bGRDb21wb25lbnRVcGRhdGVgLCBidXQgaXQgd2lsbCBpbnZva2VcbiAqIGBjb21wb25lbnRXaWxsVXBkYXRlYCBhbmQgYGNvbXBvbmVudERpZFVwZGF0ZWAuXG4gKlxuICogQHBhcmFtIHs/ZnVuY3Rpb259IGNhbGxiYWNrIENhbGxlZCBhZnRlciB1cGRhdGUgaXMgY29tcGxldGUuXG4gKiBAZmluYWxcbiAqIEBwcm90ZWN0ZWRcbiAqL1xuXG5cbkNvbXBvbmVudC5wcm90b3R5cGUuZm9yY2VVcGRhdGUgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgdGhpcy51cGRhdGVyLmVucXVldWVGb3JjZVVwZGF0ZSh0aGlzLCBjYWxsYmFjaywgJ2ZvcmNlVXBkYXRlJyk7XG59O1xuLyoqXG4gKiBEZXByZWNhdGVkIEFQSXMuIFRoZXNlIEFQSXMgdXNlZCB0byBleGlzdCBvbiBjbGFzc2ljIFJlYWN0IGNsYXNzZXMgYnV0IHNpbmNlXG4gKiB3ZSB3b3VsZCBsaWtlIHRvIGRlcHJlY2F0ZSB0aGVtLCB3ZSdyZSBub3QgZ29pbmcgdG8gbW92ZSB0aGVtIG92ZXIgdG8gdGhpc1xuICogbW9kZXJuIGJhc2UgY2xhc3MuIEluc3RlYWQsIHdlIGRlZmluZSBhIGdldHRlciB0aGF0IHdhcm5zIGlmIGl0J3MgYWNjZXNzZWQuXG4gKi9cblxuXG57XG4gIHZhciBkZXByZWNhdGVkQVBJcyA9IHtcbiAgICBpc01vdW50ZWQ6IFsnaXNNb3VudGVkJywgJ0luc3RlYWQsIG1ha2Ugc3VyZSB0byBjbGVhbiB1cCBzdWJzY3JpcHRpb25zIGFuZCBwZW5kaW5nIHJlcXVlc3RzIGluICcgKyAnY29tcG9uZW50V2lsbFVubW91bnQgdG8gcHJldmVudCBtZW1vcnkgbGVha3MuJ10sXG4gICAgcmVwbGFjZVN0YXRlOiBbJ3JlcGxhY2VTdGF0ZScsICdSZWZhY3RvciB5b3VyIGNvZGUgdG8gdXNlIHNldFN0YXRlIGluc3RlYWQgKHNlZSAnICsgJ2h0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvMzIzNikuJ11cbiAgfTtcblxuICB2YXIgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nID0gZnVuY3Rpb24gKG1ldGhvZE5hbWUsIGluZm8pIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29tcG9uZW50LnByb3RvdHlwZSwgbWV0aG9kTmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJyVzKC4uLikgaXMgZGVwcmVjYXRlZCBpbiBwbGFpbiBKYXZhU2NyaXB0IFJlYWN0IGNsYXNzZXMuICVzJywgaW5mb1swXSwgaW5mb1sxXSk7XG5cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3IgKHZhciBmbk5hbWUgaW4gZGVwcmVjYXRlZEFQSXMpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEFQSXMuaGFzT3duUHJvcGVydHkoZm5OYW1lKSkge1xuICAgICAgZGVmaW5lRGVwcmVjYXRpb25XYXJuaW5nKGZuTmFtZSwgZGVwcmVjYXRlZEFQSXNbZm5OYW1lXSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIENvbXBvbmVudER1bW15KCkge31cblxuQ29tcG9uZW50RHVtbXkucHJvdG90eXBlID0gQ29tcG9uZW50LnByb3RvdHlwZTtcbi8qKlxuICogQ29udmVuaWVuY2UgY29tcG9uZW50IHdpdGggZGVmYXVsdCBzaGFsbG93IGVxdWFsaXR5IGNoZWNrIGZvciBzQ1UuXG4gKi9cblxuZnVuY3Rpb24gUHVyZUNvbXBvbmVudChwcm9wcywgY29udGV4dCwgdXBkYXRlcikge1xuICB0aGlzLnByb3BzID0gcHJvcHM7XG4gIHRoaXMuY29udGV4dCA9IGNvbnRleHQ7IC8vIElmIGEgY29tcG9uZW50IGhhcyBzdHJpbmcgcmVmcywgd2Ugd2lsbCBhc3NpZ24gYSBkaWZmZXJlbnQgb2JqZWN0IGxhdGVyLlxuXG4gIHRoaXMucmVmcyA9IGVtcHR5T2JqZWN0O1xuICB0aGlzLnVwZGF0ZXIgPSB1cGRhdGVyIHx8IFJlYWN0Tm9vcFVwZGF0ZVF1ZXVlO1xufVxuXG52YXIgcHVyZUNvbXBvbmVudFByb3RvdHlwZSA9IFB1cmVDb21wb25lbnQucHJvdG90eXBlID0gbmV3IENvbXBvbmVudER1bW15KCk7XG5wdXJlQ29tcG9uZW50UHJvdG90eXBlLmNvbnN0cnVjdG9yID0gUHVyZUNvbXBvbmVudDsgLy8gQXZvaWQgYW4gZXh0cmEgcHJvdG90eXBlIGp1bXAgZm9yIHRoZXNlIG1ldGhvZHMuXG5cbl9hc3NpZ24ocHVyZUNvbXBvbmVudFByb3RvdHlwZSwgQ29tcG9uZW50LnByb3RvdHlwZSk7XG5cbnB1cmVDb21wb25lbnRQcm90b3R5cGUuaXNQdXJlUmVhY3RDb21wb25lbnQgPSB0cnVlO1xuXG4vLyBhbiBpbW11dGFibGUgb2JqZWN0IHdpdGggYSBzaW5nbGUgbXV0YWJsZSB2YWx1ZVxuZnVuY3Rpb24gY3JlYXRlUmVmKCkge1xuICB2YXIgcmVmT2JqZWN0ID0ge1xuICAgIGN1cnJlbnQ6IG51bGxcbiAgfTtcblxuICB7XG4gICAgT2JqZWN0LnNlYWwocmVmT2JqZWN0KTtcbiAgfVxuXG4gIHJldHVybiByZWZPYmplY3Q7XG59XG5cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgUkVTRVJWRURfUFJPUFMgPSB7XG4gIGtleTogdHJ1ZSxcbiAgcmVmOiB0cnVlLFxuICBfX3NlbGY6IHRydWUsXG4gIF9fc291cmNlOiB0cnVlXG59O1xudmFyIHNwZWNpYWxQcm9wS2V5V2FybmluZ1Nob3duLCBzcGVjaWFsUHJvcFJlZldhcm5pbmdTaG93biwgZGlkV2FybkFib3V0U3RyaW5nUmVmcztcblxue1xuICBkaWRXYXJuQWJvdXRTdHJpbmdSZWZzID0ge307XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkUmVmKGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAncmVmJykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ3JlZicpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcucmVmICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGhhc1ZhbGlkS2V5KGNvbmZpZykge1xuICB7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCAna2V5JykpIHtcbiAgICAgIHZhciBnZXR0ZXIgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGNvbmZpZywgJ2tleScpLmdldDtcblxuICAgICAgaWYgKGdldHRlciAmJiBnZXR0ZXIuaXNSZWFjdFdhcm5pbmcpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWcua2V5ICE9PSB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGRlZmluZUtleVByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB2YXIgd2FybkFib3V0QWNjZXNzaW5nS2V5ID0gZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BLZXlXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYGtleWAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vZmIubWUvcmVhY3Qtc3BlY2lhbC1wcm9wcyknLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHdhcm5BYm91dEFjY2Vzc2luZ0tleS5pc1JlYWN0V2FybmluZyA9IHRydWU7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ2tleScsIHtcbiAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ0tleSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSkge1xuICB2YXIgd2FybkFib3V0QWNjZXNzaW5nUmVmID0gZnVuY3Rpb24gKCkge1xuICAgIHtcbiAgICAgIGlmICghc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24pIHtcbiAgICAgICAgc3BlY2lhbFByb3BSZWZXYXJuaW5nU2hvd24gPSB0cnVlO1xuXG4gICAgICAgIGVycm9yKCclczogYHJlZmAgaXMgbm90IGEgcHJvcC4gVHJ5aW5nIHRvIGFjY2VzcyBpdCB3aWxsIHJlc3VsdCAnICsgJ2luIGB1bmRlZmluZWRgIGJlaW5nIHJldHVybmVkLiBJZiB5b3UgbmVlZCB0byBhY2Nlc3MgdGhlIHNhbWUgJyArICd2YWx1ZSB3aXRoaW4gdGhlIGNoaWxkIGNvbXBvbmVudCwgeW91IHNob3VsZCBwYXNzIGl0IGFzIGEgZGlmZmVyZW50ICcgKyAncHJvcC4gKGh0dHBzOi8vZmIubWUvcmVhY3Qtc3BlY2lhbC1wcm9wcyknLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHdhcm5BYm91dEFjY2Vzc2luZ1JlZi5pc1JlYWN0V2FybmluZyA9IHRydWU7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm9wcywgJ3JlZicsIHtcbiAgICBnZXQ6IHdhcm5BYm91dEFjY2Vzc2luZ1JlZixcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHdhcm5JZlN0cmluZ1JlZkNhbm5vdEJlQXV0b0NvbnZlcnRlZChjb25maWcpIHtcbiAge1xuICAgIGlmICh0eXBlb2YgY29uZmlnLnJlZiA9PT0gJ3N0cmluZycgJiYgUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCAmJiBjb25maWcuX19zZWxmICYmIFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQuc3RhdGVOb2RlICE9PSBjb25maWcuX19zZWxmKSB7XG4gICAgICB2YXIgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudC50eXBlKTtcblxuICAgICAgaWYgKCFkaWRXYXJuQWJvdXRTdHJpbmdSZWZzW2NvbXBvbmVudE5hbWVdKSB7XG4gICAgICAgIGVycm9yKCdDb21wb25lbnQgXCIlc1wiIGNvbnRhaW5zIHRoZSBzdHJpbmcgcmVmIFwiJXNcIi4gJyArICdTdXBwb3J0IGZvciBzdHJpbmcgcmVmcyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgbWFqb3IgcmVsZWFzZS4gJyArICdUaGlzIGNhc2UgY2Fubm90IGJlIGF1dG9tYXRpY2FsbHkgY29udmVydGVkIHRvIGFuIGFycm93IGZ1bmN0aW9uLiAnICsgJ1dlIGFzayB5b3UgdG8gbWFudWFsbHkgZml4IHRoaXMgY2FzZSBieSB1c2luZyB1c2VSZWYoKSBvciBjcmVhdGVSZWYoKSBpbnN0ZWFkLiAnICsgJ0xlYXJuIG1vcmUgYWJvdXQgdXNpbmcgcmVmcyBzYWZlbHkgaGVyZTogJyArICdodHRwczovL2ZiLm1lL3JlYWN0LXN0cmljdC1tb2RlLXN0cmluZy1yZWYnLCBnZXRDb21wb25lbnROYW1lKFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQudHlwZSksIGNvbmZpZy5yZWYpO1xuXG4gICAgICAgIGRpZFdhcm5BYm91dFN0cmluZ1JlZnNbY29tcG9uZW50TmFtZV0gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLyoqXG4gKiBGYWN0b3J5IG1ldGhvZCB0byBjcmVhdGUgYSBuZXcgUmVhY3QgZWxlbWVudC4gVGhpcyBubyBsb25nZXIgYWRoZXJlcyB0b1xuICogdGhlIGNsYXNzIHBhdHRlcm4sIHNvIGRvIG5vdCB1c2UgbmV3IHRvIGNhbGwgaXQuIEFsc28sIGluc3RhbmNlb2YgY2hlY2tcbiAqIHdpbGwgbm90IHdvcmsuIEluc3RlYWQgdGVzdCAkJHR5cGVvZiBmaWVsZCBhZ2FpbnN0IFN5bWJvbC5mb3IoJ3JlYWN0LmVsZW1lbnQnKSB0byBjaGVja1xuICogaWYgc29tZXRoaW5nIGlzIGEgUmVhY3QgRWxlbWVudC5cbiAqXG4gKiBAcGFyYW0geyp9IHR5cGVcbiAqIEBwYXJhbSB7Kn0gcHJvcHNcbiAqIEBwYXJhbSB7Kn0ga2V5XG4gKiBAcGFyYW0ge3N0cmluZ3xvYmplY3R9IHJlZlxuICogQHBhcmFtIHsqfSBvd25lclxuICogQHBhcmFtIHsqfSBzZWxmIEEgKnRlbXBvcmFyeSogaGVscGVyIHRvIGRldGVjdCBwbGFjZXMgd2hlcmUgYHRoaXNgIGlzXG4gKiBkaWZmZXJlbnQgZnJvbSB0aGUgYG93bmVyYCB3aGVuIFJlYWN0LmNyZWF0ZUVsZW1lbnQgaXMgY2FsbGVkLCBzbyB0aGF0IHdlXG4gKiBjYW4gd2Fybi4gV2Ugd2FudCB0byBnZXQgcmlkIG9mIG93bmVyIGFuZCByZXBsYWNlIHN0cmluZyBgcmVmYHMgd2l0aCBhcnJvd1xuICogZnVuY3Rpb25zLCBhbmQgYXMgbG9uZyBhcyBgdGhpc2AgYW5kIG93bmVyIGFyZSB0aGUgc2FtZSwgdGhlcmUgd2lsbCBiZSBub1xuICogY2hhbmdlIGluIGJlaGF2aW9yLlxuICogQHBhcmFtIHsqfSBzb3VyY2UgQW4gYW5ub3RhdGlvbiBvYmplY3QgKGFkZGVkIGJ5IGEgdHJhbnNwaWxlciBvciBvdGhlcndpc2UpXG4gKiBpbmRpY2F0aW5nIGZpbGVuYW1lLCBsaW5lIG51bWJlciwgYW5kL29yIG90aGVyIGluZm9ybWF0aW9uLlxuICogQGludGVybmFsXG4gKi9cblxuXG52YXIgUmVhY3RFbGVtZW50ID0gZnVuY3Rpb24gKHR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcykge1xuICB2YXIgZWxlbWVudCA9IHtcbiAgICAvLyBUaGlzIHRhZyBhbGxvd3MgdXMgdG8gdW5pcXVlbHkgaWRlbnRpZnkgdGhpcyBhcyBhIFJlYWN0IEVsZW1lbnRcbiAgICAkJHR5cGVvZjogUkVBQ1RfRUxFTUVOVF9UWVBFLFxuICAgIC8vIEJ1aWx0LWluIHByb3BlcnRpZXMgdGhhdCBiZWxvbmcgb24gdGhlIGVsZW1lbnRcbiAgICB0eXBlOiB0eXBlLFxuICAgIGtleToga2V5LFxuICAgIHJlZjogcmVmLFxuICAgIHByb3BzOiBwcm9wcyxcbiAgICAvLyBSZWNvcmQgdGhlIGNvbXBvbmVudCByZXNwb25zaWJsZSBmb3IgY3JlYXRpbmcgdGhpcyBlbGVtZW50LlxuICAgIF9vd25lcjogb3duZXJcbiAgfTtcblxuICB7XG4gICAgLy8gVGhlIHZhbGlkYXRpb24gZmxhZyBpcyBjdXJyZW50bHkgbXV0YXRpdmUuIFdlIHB1dCBpdCBvblxuICAgIC8vIGFuIGV4dGVybmFsIGJhY2tpbmcgc3RvcmUgc28gdGhhdCB3ZSBjYW4gZnJlZXplIHRoZSB3aG9sZSBvYmplY3QuXG4gICAgLy8gVGhpcyBjYW4gYmUgcmVwbGFjZWQgd2l0aCBhIFdlYWtNYXAgb25jZSB0aGV5IGFyZSBpbXBsZW1lbnRlZCBpblxuICAgIC8vIGNvbW1vbmx5IHVzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnRzLlxuICAgIGVsZW1lbnQuX3N0b3JlID0ge307IC8vIFRvIG1ha2UgY29tcGFyaW5nIFJlYWN0RWxlbWVudHMgZWFzaWVyIGZvciB0ZXN0aW5nIHB1cnBvc2VzLCB3ZSBtYWtlXG4gICAgLy8gdGhlIHZhbGlkYXRpb24gZmxhZyBub24tZW51bWVyYWJsZSAod2hlcmUgcG9zc2libGUsIHdoaWNoIHNob3VsZFxuICAgIC8vIGluY2x1ZGUgZXZlcnkgZW52aXJvbm1lbnQgd2UgcnVuIHRlc3RzIGluKSwgc28gdGhlIHRlc3QgZnJhbWV3b3JrXG4gICAgLy8gaWdub3JlcyBpdC5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50Ll9zdG9yZSwgJ3ZhbGlkYXRlZCcsIHtcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgdmFsdWU6IGZhbHNlXG4gICAgfSk7IC8vIHNlbGYgYW5kIHNvdXJjZSBhcmUgREVWIG9ubHkgcHJvcGVydGllcy5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlbGVtZW50LCAnX3NlbGYnLCB7XG4gICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICB2YWx1ZTogc2VsZlxuICAgIH0pOyAvLyBUd28gZWxlbWVudHMgY3JlYXRlZCBpbiB0d28gZGlmZmVyZW50IHBsYWNlcyBzaG91bGQgYmUgY29uc2lkZXJlZFxuICAgIC8vIGVxdWFsIGZvciB0ZXN0aW5nIHB1cnBvc2VzIGFuZCB0aGVyZWZvcmUgd2UgaGlkZSBpdCBmcm9tIGVudW1lcmF0aW9uLlxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVsZW1lbnQsICdfc291cmNlJywge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgdmFsdWU6IHNvdXJjZVxuICAgIH0pO1xuXG4gICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgIE9iamVjdC5mcmVlemUoZWxlbWVudC5wcm9wcyk7XG4gICAgICBPYmplY3QuZnJlZXplKGVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufTtcbi8qKlxuICogQ3JlYXRlIGFuZCByZXR1cm4gYSBuZXcgUmVhY3RFbGVtZW50IG9mIHRoZSBnaXZlbiB0eXBlLlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNjcmVhdGVlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gY3JlYXRlRWxlbWVudCh0eXBlLCBjb25maWcsIGNoaWxkcmVuKSB7XG4gIHZhciBwcm9wTmFtZTsgLy8gUmVzZXJ2ZWQgbmFtZXMgYXJlIGV4dHJhY3RlZFxuXG4gIHZhciBwcm9wcyA9IHt9O1xuICB2YXIga2V5ID0gbnVsbDtcbiAgdmFyIHJlZiA9IG51bGw7XG4gIHZhciBzZWxmID0gbnVsbDtcbiAgdmFyIHNvdXJjZSA9IG51bGw7XG5cbiAgaWYgKGNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKGhhc1ZhbGlkUmVmKGNvbmZpZykpIHtcbiAgICAgIHJlZiA9IGNvbmZpZy5yZWY7XG5cbiAgICAgIHtcbiAgICAgICAgd2FybklmU3RyaW5nUmVmQ2Fubm90QmVBdXRvQ29udmVydGVkKGNvbmZpZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9XG5cbiAgICBzZWxmID0gY29uZmlnLl9fc2VsZiA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IGNvbmZpZy5fX3NlbGY7XG4gICAgc291cmNlID0gY29uZmlnLl9fc291cmNlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29uZmlnLl9fc291cmNlOyAvLyBSZW1haW5pbmcgcHJvcGVydGllcyBhcmUgYWRkZWQgdG8gYSBuZXcgcHJvcHMgb2JqZWN0XG5cbiAgICBmb3IgKHByb3BOYW1lIGluIGNvbmZpZykge1xuICAgICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwoY29uZmlnLCBwcm9wTmFtZSkgJiYgIVJFU0VSVkVEX1BST1BTLmhhc093blByb3BlcnR5KHByb3BOYW1lKSkge1xuICAgICAgICBwcm9wc1twcm9wTmFtZV0gPSBjb25maWdbcHJvcE5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDaGlsZHJlbiBjYW4gYmUgbW9yZSB0aGFuIG9uZSBhcmd1bWVudCwgYW5kIHRob3NlIGFyZSB0cmFuc2ZlcnJlZCBvbnRvXG4gIC8vIHRoZSBuZXdseSBhbGxvY2F0ZWQgcHJvcHMgb2JqZWN0LlxuXG5cbiAgdmFyIGNoaWxkcmVuTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCAtIDI7XG5cbiAgaWYgKGNoaWxkcmVuTGVuZ3RoID09PSAxKSB7XG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgfSBlbHNlIGlmIChjaGlsZHJlbkxlbmd0aCA+IDEpIHtcbiAgICB2YXIgY2hpbGRBcnJheSA9IEFycmF5KGNoaWxkcmVuTGVuZ3RoKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW5MZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGRBcnJheVtpXSA9IGFyZ3VtZW50c1tpICsgMl07XG4gICAgfVxuXG4gICAge1xuICAgICAgaWYgKE9iamVjdC5mcmVlemUpIHtcbiAgICAgICAgT2JqZWN0LmZyZWV6ZShjaGlsZEFycmF5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwcm9wcy5jaGlsZHJlbiA9IGNoaWxkQXJyYXk7XG4gIH0gLy8gUmVzb2x2ZSBkZWZhdWx0IHByb3BzXG5cblxuICBpZiAodHlwZSAmJiB0eXBlLmRlZmF1bHRQcm9wcykge1xuICAgIHZhciBkZWZhdWx0UHJvcHMgPSB0eXBlLmRlZmF1bHRQcm9wcztcblxuICAgIGZvciAocHJvcE5hbWUgaW4gZGVmYXVsdFByb3BzKSB7XG4gICAgICBpZiAocHJvcHNbcHJvcE5hbWVdID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gZGVmYXVsdFByb3BzW3Byb3BOYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB7XG4gICAgaWYgKGtleSB8fCByZWYpIHtcbiAgICAgIHZhciBkaXNwbGF5TmFtZSA9IHR5cGVvZiB0eXBlID09PSAnZnVuY3Rpb24nID8gdHlwZS5kaXNwbGF5TmFtZSB8fCB0eXBlLm5hbWUgfHwgJ1Vua25vd24nIDogdHlwZTtcblxuICAgICAgaWYgKGtleSkge1xuICAgICAgICBkZWZpbmVLZXlQcm9wV2FybmluZ0dldHRlcihwcm9wcywgZGlzcGxheU5hbWUpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmVmKSB7XG4gICAgICAgIGRlZmluZVJlZlByb3BXYXJuaW5nR2V0dGVyKHByb3BzLCBkaXNwbGF5TmFtZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFJlYWN0RWxlbWVudCh0eXBlLCBrZXksIHJlZiwgc2VsZiwgc291cmNlLCBSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LCBwcm9wcyk7XG59XG5mdW5jdGlvbiBjbG9uZUFuZFJlcGxhY2VLZXkob2xkRWxlbWVudCwgbmV3S2V5KSB7XG4gIHZhciBuZXdFbGVtZW50ID0gUmVhY3RFbGVtZW50KG9sZEVsZW1lbnQudHlwZSwgbmV3S2V5LCBvbGRFbGVtZW50LnJlZiwgb2xkRWxlbWVudC5fc2VsZiwgb2xkRWxlbWVudC5fc291cmNlLCBvbGRFbGVtZW50Ll9vd25lciwgb2xkRWxlbWVudC5wcm9wcyk7XG4gIHJldHVybiBuZXdFbGVtZW50O1xufVxuLyoqXG4gKiBDbG9uZSBhbmQgcmV0dXJuIGEgbmV3IFJlYWN0RWxlbWVudCB1c2luZyBlbGVtZW50IGFzIHRoZSBzdGFydGluZyBwb2ludC5cbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjY2xvbmVlbGVtZW50XG4gKi9cblxuZnVuY3Rpb24gY2xvbmVFbGVtZW50KGVsZW1lbnQsIGNvbmZpZywgY2hpbGRyZW4pIHtcbiAgaWYgKCEhKGVsZW1lbnQgPT09IG51bGwgfHwgZWxlbWVudCA9PT0gdW5kZWZpbmVkKSkge1xuICAgIHtcbiAgICAgIHRocm93IEVycm9yKCBcIlJlYWN0LmNsb25lRWxlbWVudCguLi4pOiBUaGUgYXJndW1lbnQgbXVzdCBiZSBhIFJlYWN0IGVsZW1lbnQsIGJ1dCB5b3UgcGFzc2VkIFwiICsgZWxlbWVudCArIFwiLlwiICk7XG4gICAgfVxuICB9XG5cbiAgdmFyIHByb3BOYW1lOyAvLyBPcmlnaW5hbCBwcm9wcyBhcmUgY29waWVkXG5cbiAgdmFyIHByb3BzID0gX2Fzc2lnbih7fSwgZWxlbWVudC5wcm9wcyk7IC8vIFJlc2VydmVkIG5hbWVzIGFyZSBleHRyYWN0ZWRcblxuXG4gIHZhciBrZXkgPSBlbGVtZW50LmtleTtcbiAgdmFyIHJlZiA9IGVsZW1lbnQucmVmOyAvLyBTZWxmIGlzIHByZXNlcnZlZCBzaW5jZSB0aGUgb3duZXIgaXMgcHJlc2VydmVkLlxuXG4gIHZhciBzZWxmID0gZWxlbWVudC5fc2VsZjsgLy8gU291cmNlIGlzIHByZXNlcnZlZCBzaW5jZSBjbG9uZUVsZW1lbnQgaXMgdW5saWtlbHkgdG8gYmUgdGFyZ2V0ZWQgYnkgYVxuICAvLyB0cmFuc3BpbGVyLCBhbmQgdGhlIG9yaWdpbmFsIHNvdXJjZSBpcyBwcm9iYWJseSBhIGJldHRlciBpbmRpY2F0b3Igb2YgdGhlXG4gIC8vIHRydWUgb3duZXIuXG5cbiAgdmFyIHNvdXJjZSA9IGVsZW1lbnQuX3NvdXJjZTsgLy8gT3duZXIgd2lsbCBiZSBwcmVzZXJ2ZWQsIHVubGVzcyByZWYgaXMgb3ZlcnJpZGRlblxuXG4gIHZhciBvd25lciA9IGVsZW1lbnQuX293bmVyO1xuXG4gIGlmIChjb25maWcgIT0gbnVsbCkge1xuICAgIGlmIChoYXNWYWxpZFJlZihjb25maWcpKSB7XG4gICAgICAvLyBTaWxlbnRseSBzdGVhbCB0aGUgcmVmIGZyb20gdGhlIHBhcmVudC5cbiAgICAgIHJlZiA9IGNvbmZpZy5yZWY7XG4gICAgICBvd25lciA9IFJlYWN0Q3VycmVudE93bmVyLmN1cnJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGhhc1ZhbGlkS2V5KGNvbmZpZykpIHtcbiAgICAgIGtleSA9ICcnICsgY29uZmlnLmtleTtcbiAgICB9IC8vIFJlbWFpbmluZyBwcm9wZXJ0aWVzIG92ZXJyaWRlIGV4aXN0aW5nIHByb3BzXG5cblxuICAgIHZhciBkZWZhdWx0UHJvcHM7XG5cbiAgICBpZiAoZWxlbWVudC50eXBlICYmIGVsZW1lbnQudHlwZS5kZWZhdWx0UHJvcHMpIHtcbiAgICAgIGRlZmF1bHRQcm9wcyA9IGVsZW1lbnQudHlwZS5kZWZhdWx0UHJvcHM7XG4gICAgfVxuXG4gICAgZm9yIChwcm9wTmFtZSBpbiBjb25maWcpIHtcbiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKGNvbmZpZywgcHJvcE5hbWUpICYmICFSRVNFUlZFRF9QUk9QUy5oYXNPd25Qcm9wZXJ0eShwcm9wTmFtZSkpIHtcbiAgICAgICAgaWYgKGNvbmZpZ1twcm9wTmFtZV0gPT09IHVuZGVmaW5lZCAmJiBkZWZhdWx0UHJvcHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIC8vIFJlc29sdmUgZGVmYXVsdCBwcm9wc1xuICAgICAgICAgIHByb3BzW3Byb3BOYW1lXSA9IGRlZmF1bHRQcm9wc1twcm9wTmFtZV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcHJvcHNbcHJvcE5hbWVdID0gY29uZmlnW3Byb3BOYW1lXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSAvLyBDaGlsZHJlbiBjYW4gYmUgbW9yZSB0aGFuIG9uZSBhcmd1bWVudCwgYW5kIHRob3NlIGFyZSB0cmFuc2ZlcnJlZCBvbnRvXG4gIC8vIHRoZSBuZXdseSBhbGxvY2F0ZWQgcHJvcHMgb2JqZWN0LlxuXG5cbiAgdmFyIGNoaWxkcmVuTGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aCAtIDI7XG5cbiAgaWYgKGNoaWxkcmVuTGVuZ3RoID09PSAxKSB7XG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgfSBlbHNlIGlmIChjaGlsZHJlbkxlbmd0aCA+IDEpIHtcbiAgICB2YXIgY2hpbGRBcnJheSA9IEFycmF5KGNoaWxkcmVuTGVuZ3RoKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2hpbGRyZW5MZW5ndGg7IGkrKykge1xuICAgICAgY2hpbGRBcnJheVtpXSA9IGFyZ3VtZW50c1tpICsgMl07XG4gICAgfVxuXG4gICAgcHJvcHMuY2hpbGRyZW4gPSBjaGlsZEFycmF5O1xuICB9XG5cbiAgcmV0dXJuIFJlYWN0RWxlbWVudChlbGVtZW50LnR5cGUsIGtleSwgcmVmLCBzZWxmLCBzb3VyY2UsIG93bmVyLCBwcm9wcyk7XG59XG4vKipcbiAqIFZlcmlmaWVzIHRoZSBvYmplY3QgaXMgYSBSZWFjdEVsZW1lbnQuXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI2lzdmFsaWRlbGVtZW50XG4gKiBAcGFyYW0gez9vYmplY3R9IG9iamVjdFxuICogQHJldHVybiB7Ym9vbGVhbn0gVHJ1ZSBpZiBgb2JqZWN0YCBpcyBhIFJlYWN0RWxlbWVudC5cbiAqIEBmaW5hbFxuICovXG5cbmZ1bmN0aW9uIGlzVmFsaWRFbGVtZW50KG9iamVjdCkge1xuICByZXR1cm4gdHlwZW9mIG9iamVjdCA9PT0gJ29iamVjdCcgJiYgb2JqZWN0ICE9PSBudWxsICYmIG9iamVjdC4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFO1xufVxuXG52YXIgU0VQQVJBVE9SID0gJy4nO1xudmFyIFNVQlNFUEFSQVRPUiA9ICc6Jztcbi8qKlxuICogRXNjYXBlIGFuZCB3cmFwIGtleSBzbyBpdCBpcyBzYWZlIHRvIHVzZSBhcyBhIHJlYWN0aWRcbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IHRvIGJlIGVzY2FwZWQuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IHRoZSBlc2NhcGVkIGtleS5cbiAqL1xuXG5mdW5jdGlvbiBlc2NhcGUoa2V5KSB7XG4gIHZhciBlc2NhcGVSZWdleCA9IC9bPTpdL2c7XG4gIHZhciBlc2NhcGVyTG9va3VwID0ge1xuICAgICc9JzogJz0wJyxcbiAgICAnOic6ICc9MidcbiAgfTtcbiAgdmFyIGVzY2FwZWRTdHJpbmcgPSAoJycgKyBrZXkpLnJlcGxhY2UoZXNjYXBlUmVnZXgsIGZ1bmN0aW9uIChtYXRjaCkge1xuICAgIHJldHVybiBlc2NhcGVyTG9va3VwW21hdGNoXTtcbiAgfSk7XG4gIHJldHVybiAnJCcgKyBlc2NhcGVkU3RyaW5nO1xufVxuLyoqXG4gKiBUT0RPOiBUZXN0IHRoYXQgYSBzaW5nbGUgY2hpbGQgYW5kIGFuIGFycmF5IHdpdGggb25lIGl0ZW0gaGF2ZSB0aGUgc2FtZSBrZXlcbiAqIHBhdHRlcm4uXG4gKi9cblxuXG52YXIgZGlkV2FybkFib3V0TWFwcyA9IGZhbHNlO1xudmFyIHVzZXJQcm92aWRlZEtleUVzY2FwZVJlZ2V4ID0gL1xcLysvZztcblxuZnVuY3Rpb24gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHRleHQpIHtcbiAgcmV0dXJuICgnJyArIHRleHQpLnJlcGxhY2UodXNlclByb3ZpZGVkS2V5RXNjYXBlUmVnZXgsICckJi8nKTtcbn1cblxudmFyIFBPT0xfU0laRSA9IDEwO1xudmFyIHRyYXZlcnNlQ29udGV4dFBvb2wgPSBbXTtcblxuZnVuY3Rpb24gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KG1hcFJlc3VsdCwga2V5UHJlZml4LCBtYXBGdW5jdGlvbiwgbWFwQ29udGV4dCkge1xuICBpZiAodHJhdmVyc2VDb250ZXh0UG9vbC5sZW5ndGgpIHtcbiAgICB2YXIgdHJhdmVyc2VDb250ZXh0ID0gdHJhdmVyc2VDb250ZXh0UG9vbC5wb3AoKTtcbiAgICB0cmF2ZXJzZUNvbnRleHQucmVzdWx0ID0gbWFwUmVzdWx0O1xuICAgIHRyYXZlcnNlQ29udGV4dC5rZXlQcmVmaXggPSBrZXlQcmVmaXg7XG4gICAgdHJhdmVyc2VDb250ZXh0LmZ1bmMgPSBtYXBGdW5jdGlvbjtcbiAgICB0cmF2ZXJzZUNvbnRleHQuY29udGV4dCA9IG1hcENvbnRleHQ7XG4gICAgdHJhdmVyc2VDb250ZXh0LmNvdW50ID0gMDtcbiAgICByZXR1cm4gdHJhdmVyc2VDb250ZXh0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICByZXN1bHQ6IG1hcFJlc3VsdCxcbiAgICAgIGtleVByZWZpeDoga2V5UHJlZml4LFxuICAgICAgZnVuYzogbWFwRnVuY3Rpb24sXG4gICAgICBjb250ZXh0OiBtYXBDb250ZXh0LFxuICAgICAgY291bnQ6IDBcbiAgICB9O1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbGVhc2VUcmF2ZXJzZUNvbnRleHQodHJhdmVyc2VDb250ZXh0KSB7XG4gIHRyYXZlcnNlQ29udGV4dC5yZXN1bHQgPSBudWxsO1xuICB0cmF2ZXJzZUNvbnRleHQua2V5UHJlZml4ID0gbnVsbDtcbiAgdHJhdmVyc2VDb250ZXh0LmZ1bmMgPSBudWxsO1xuICB0cmF2ZXJzZUNvbnRleHQuY29udGV4dCA9IG51bGw7XG4gIHRyYXZlcnNlQ29udGV4dC5jb3VudCA9IDA7XG5cbiAgaWYgKHRyYXZlcnNlQ29udGV4dFBvb2wubGVuZ3RoIDwgUE9PTF9TSVpFKSB7XG4gICAgdHJhdmVyc2VDb250ZXh0UG9vbC5wdXNoKHRyYXZlcnNlQ29udGV4dCk7XG4gIH1cbn1cbi8qKlxuICogQHBhcmFtIHs/Kn0gY2hpbGRyZW4gQ2hpbGRyZW4gdHJlZSBjb250YWluZXIuXG4gKiBAcGFyYW0geyFzdHJpbmd9IG5hbWVTb0ZhciBOYW1lIG9mIHRoZSBrZXkgcGF0aCBzbyBmYXIuXG4gKiBAcGFyYW0geyFmdW5jdGlvbn0gY2FsbGJhY2sgQ2FsbGJhY2sgdG8gaW52b2tlIHdpdGggZWFjaCBjaGlsZCBmb3VuZC5cbiAqIEBwYXJhbSB7Pyp9IHRyYXZlcnNlQ29udGV4dCBVc2VkIHRvIHBhc3MgaW5mb3JtYXRpb24gdGhyb3VnaG91dCB0aGUgdHJhdmVyc2FsXG4gKiBwcm9jZXNzLlxuICogQHJldHVybiB7IW51bWJlcn0gVGhlIG51bWJlciBvZiBjaGlsZHJlbiBpbiB0aGlzIHN1YnRyZWUuXG4gKi9cblxuXG5mdW5jdGlvbiB0cmF2ZXJzZUFsbENoaWxkcmVuSW1wbChjaGlsZHJlbiwgbmFtZVNvRmFyLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIGNoaWxkcmVuO1xuXG4gIGlmICh0eXBlID09PSAndW5kZWZpbmVkJyB8fCB0eXBlID09PSAnYm9vbGVhbicpIHtcbiAgICAvLyBBbGwgb2YgdGhlIGFib3ZlIGFyZSBwZXJjZWl2ZWQgYXMgbnVsbC5cbiAgICBjaGlsZHJlbiA9IG51bGw7XG4gIH1cblxuICB2YXIgaW52b2tlQ2FsbGJhY2sgPSBmYWxzZTtcblxuICBpZiAoY2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gIH0gZWxzZSB7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAnbnVtYmVyJzpcbiAgICAgICAgaW52b2tlQ2FsbGJhY2sgPSB0cnVlO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSAnb2JqZWN0JzpcbiAgICAgICAgc3dpdGNoIChjaGlsZHJlbi4kJHR5cGVvZikge1xuICAgICAgICAgIGNhc2UgUkVBQ1RfRUxFTUVOVF9UWVBFOlxuICAgICAgICAgIGNhc2UgUkVBQ1RfUE9SVEFMX1RZUEU6XG4gICAgICAgICAgICBpbnZva2VDYWxsYmFjayA9IHRydWU7XG4gICAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIGlmIChpbnZva2VDYWxsYmFjaykge1xuICAgIGNhbGxiYWNrKHRyYXZlcnNlQ29udGV4dCwgY2hpbGRyZW4sIC8vIElmIGl0J3MgdGhlIG9ubHkgY2hpbGQsIHRyZWF0IHRoZSBuYW1lIGFzIGlmIGl0IHdhcyB3cmFwcGVkIGluIGFuIGFycmF5XG4gICAgLy8gc28gdGhhdCBpdCdzIGNvbnNpc3RlbnQgaWYgdGhlIG51bWJlciBvZiBjaGlsZHJlbiBncm93cy5cbiAgICBuYW1lU29GYXIgPT09ICcnID8gU0VQQVJBVE9SICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkcmVuLCAwKSA6IG5hbWVTb0Zhcik7XG4gICAgcmV0dXJuIDE7XG4gIH1cblxuICB2YXIgY2hpbGQ7XG4gIHZhciBuZXh0TmFtZTtcbiAgdmFyIHN1YnRyZWVDb3VudCA9IDA7IC8vIENvdW50IG9mIGNoaWxkcmVuIGZvdW5kIGluIHRoZSBjdXJyZW50IHN1YnRyZWUuXG5cbiAgdmFyIG5leHROYW1lUHJlZml4ID0gbmFtZVNvRmFyID09PSAnJyA/IFNFUEFSQVRPUiA6IG5hbWVTb0ZhciArIFNVQlNFUEFSQVRPUjtcblxuICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjaGlsZCA9IGNoaWxkcmVuW2ldO1xuICAgICAgbmV4dE5hbWUgPSBuZXh0TmFtZVByZWZpeCArIGdldENvbXBvbmVudEtleShjaGlsZCwgaSk7XG4gICAgICBzdWJ0cmVlQ291bnQgKz0gdHJhdmVyc2VBbGxDaGlsZHJlbkltcGwoY2hpbGQsIG5leHROYW1lLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdmFyIGl0ZXJhdG9yRm4gPSBnZXRJdGVyYXRvckZuKGNoaWxkcmVuKTtcblxuICAgIGlmICh0eXBlb2YgaXRlcmF0b3JGbiA9PT0gJ2Z1bmN0aW9uJykge1xuXG4gICAgICB7XG4gICAgICAgIC8vIFdhcm4gYWJvdXQgdXNpbmcgTWFwcyBhcyBjaGlsZHJlblxuICAgICAgICBpZiAoaXRlcmF0b3JGbiA9PT0gY2hpbGRyZW4uZW50cmllcykge1xuICAgICAgICAgIGlmICghZGlkV2FybkFib3V0TWFwcykge1xuICAgICAgICAgICAgd2FybignVXNpbmcgTWFwcyBhcyBjaGlsZHJlbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBDb25zaWRlciBjb252ZXJ0aW5nIGNoaWxkcmVuIHRvICcgKyAnYW4gYXJyYXkgb2Yga2V5ZWQgUmVhY3RFbGVtZW50cyBpbnN0ZWFkLicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRpZFdhcm5BYm91dE1hcHMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHZhciBpdGVyYXRvciA9IGl0ZXJhdG9yRm4uY2FsbChjaGlsZHJlbik7XG4gICAgICB2YXIgc3RlcDtcbiAgICAgIHZhciBpaSA9IDA7XG5cbiAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgY2hpbGQgPSBzdGVwLnZhbHVlO1xuICAgICAgICBuZXh0TmFtZSA9IG5leHROYW1lUHJlZml4ICsgZ2V0Q29tcG9uZW50S2V5KGNoaWxkLCBpaSsrKTtcbiAgICAgICAgc3VidHJlZUNvdW50ICs9IHRyYXZlcnNlQWxsQ2hpbGRyZW5JbXBsKGNoaWxkLCBuZXh0TmFtZSwgY2FsbGJhY2ssIHRyYXZlcnNlQ29udGV4dCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnb2JqZWN0Jykge1xuICAgICAgdmFyIGFkZGVuZHVtID0gJyc7XG5cbiAgICAgIHtcbiAgICAgICAgYWRkZW5kdW0gPSAnIElmIHlvdSBtZWFudCB0byByZW5kZXIgYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuLCB1c2UgYW4gYXJyYXkgJyArICdpbnN0ZWFkLicgKyBSZWFjdERlYnVnQ3VycmVudEZyYW1lLmdldFN0YWNrQWRkZW5kdW0oKTtcbiAgICAgIH1cblxuICAgICAgdmFyIGNoaWxkcmVuU3RyaW5nID0gJycgKyBjaGlsZHJlbjtcblxuICAgICAge1xuICAgICAgICB7XG4gICAgICAgICAgdGhyb3cgRXJyb3IoIFwiT2JqZWN0cyBhcmUgbm90IHZhbGlkIGFzIGEgUmVhY3QgY2hpbGQgKGZvdW5kOiBcIiArIChjaGlsZHJlblN0cmluZyA9PT0gJ1tvYmplY3QgT2JqZWN0XScgPyAnb2JqZWN0IHdpdGgga2V5cyB7JyArIE9iamVjdC5rZXlzKGNoaWxkcmVuKS5qb2luKCcsICcpICsgJ30nIDogY2hpbGRyZW5TdHJpbmcpICsgXCIpLlwiICsgYWRkZW5kdW0gKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdWJ0cmVlQ291bnQ7XG59XG4vKipcbiAqIFRyYXZlcnNlcyBjaGlsZHJlbiB0aGF0IGFyZSB0eXBpY2FsbHkgc3BlY2lmaWVkIGFzIGBwcm9wcy5jaGlsZHJlbmAsIGJ1dFxuICogbWlnaHQgYWxzbyBiZSBzcGVjaWZpZWQgdGhyb3VnaCBhdHRyaWJ1dGVzOlxuICpcbiAqIC0gYHRyYXZlcnNlQWxsQ2hpbGRyZW4odGhpcy5wcm9wcy5jaGlsZHJlbiwgLi4uKWBcbiAqIC0gYHRyYXZlcnNlQWxsQ2hpbGRyZW4odGhpcy5wcm9wcy5sZWZ0UGFuZWxDaGlsZHJlbiwgLi4uKWBcbiAqXG4gKiBUaGUgYHRyYXZlcnNlQ29udGV4dGAgaXMgYW4gb3B0aW9uYWwgYXJndW1lbnQgdGhhdCBpcyBwYXNzZWQgdGhyb3VnaCB0aGVcbiAqIGVudGlyZSB0cmF2ZXJzYWwuIEl0IGNhbiBiZSB1c2VkIHRvIHN0b3JlIGFjY3VtdWxhdGlvbnMgb3IgYW55dGhpbmcgZWxzZSB0aGF0XG4gKiB0aGUgY2FsbGJhY2sgbWlnaHQgZmluZCByZWxldmFudC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIG9iamVjdC5cbiAqIEBwYXJhbSB7IWZ1bmN0aW9ufSBjYWxsYmFjayBUbyBpbnZva2UgdXBvbiB0cmF2ZXJzaW5nIGVhY2ggY2hpbGQuXG4gKiBAcGFyYW0gez8qfSB0cmF2ZXJzZUNvbnRleHQgQ29udGV4dCBmb3IgdHJhdmVyc2FsLlxuICogQHJldHVybiB7IW51bWJlcn0gVGhlIG51bWJlciBvZiBjaGlsZHJlbiBpbiB0aGlzIHN1YnRyZWUuXG4gKi9cblxuXG5mdW5jdGlvbiB0cmF2ZXJzZUFsbENoaWxkcmVuKGNoaWxkcmVuLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KSB7XG4gIGlmIChjaGlsZHJlbiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gdHJhdmVyc2VBbGxDaGlsZHJlbkltcGwoY2hpbGRyZW4sICcnLCBjYWxsYmFjaywgdHJhdmVyc2VDb250ZXh0KTtcbn1cbi8qKlxuICogR2VuZXJhdGUgYSBrZXkgc3RyaW5nIHRoYXQgaWRlbnRpZmllcyBhIGNvbXBvbmVudCB3aXRoaW4gYSBzZXQuXG4gKlxuICogQHBhcmFtIHsqfSBjb21wb25lbnQgQSBjb21wb25lbnQgdGhhdCBjb3VsZCBjb250YWluIGEgbWFudWFsIGtleS5cbiAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBJbmRleCB0aGF0IGlzIHVzZWQgaWYgYSBtYW51YWwga2V5IGlzIG5vdCBwcm92aWRlZC5cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuXG5cbmZ1bmN0aW9uIGdldENvbXBvbmVudEtleShjb21wb25lbnQsIGluZGV4KSB7XG4gIC8vIERvIHNvbWUgdHlwZWNoZWNraW5nIGhlcmUgc2luY2Ugd2UgY2FsbCB0aGlzIGJsaW5kbHkuIFdlIHdhbnQgdG8gZW5zdXJlXG4gIC8vIHRoYXQgd2UgZG9uJ3QgYmxvY2sgcG90ZW50aWFsIGZ1dHVyZSBFUyBBUElzLlxuICBpZiAodHlwZW9mIGNvbXBvbmVudCA9PT0gJ29iamVjdCcgJiYgY29tcG9uZW50ICE9PSBudWxsICYmIGNvbXBvbmVudC5rZXkgIT0gbnVsbCkge1xuICAgIC8vIEV4cGxpY2l0IGtleVxuICAgIHJldHVybiBlc2NhcGUoY29tcG9uZW50LmtleSk7XG4gIH0gLy8gSW1wbGljaXQga2V5IGRldGVybWluZWQgYnkgdGhlIGluZGV4IGluIHRoZSBzZXRcblxuXG4gIHJldHVybiBpbmRleC50b1N0cmluZygzNik7XG59XG5cbmZ1bmN0aW9uIGZvckVhY2hTaW5nbGVDaGlsZChib29rS2VlcGluZywgY2hpbGQsIG5hbWUpIHtcbiAgdmFyIGZ1bmMgPSBib29rS2VlcGluZy5mdW5jLFxuICAgICAgY29udGV4dCA9IGJvb2tLZWVwaW5nLmNvbnRleHQ7XG4gIGZ1bmMuY2FsbChjb250ZXh0LCBjaGlsZCwgYm9va0tlZXBpbmcuY291bnQrKyk7XG59XG4vKipcbiAqIEl0ZXJhdGVzIHRocm91Z2ggY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gLlxuICpcbiAqIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvcmVhY3QtYXBpLmh0bWwjcmVhY3RjaGlsZHJlbmZvcmVhY2hcbiAqXG4gKiBUaGUgcHJvdmlkZWQgZm9yRWFjaEZ1bmMoY2hpbGQsIGluZGV4KSB3aWxsIGJlIGNhbGxlZCBmb3IgZWFjaFxuICogbGVhZiBjaGlsZC5cbiAqXG4gKiBAcGFyYW0gez8qfSBjaGlsZHJlbiBDaGlsZHJlbiB0cmVlIGNvbnRhaW5lci5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKiwgaW50KX0gZm9yRWFjaEZ1bmNcbiAqIEBwYXJhbSB7Kn0gZm9yRWFjaENvbnRleHQgQ29udGV4dCBmb3IgZm9yRWFjaENvbnRleHQuXG4gKi9cblxuXG5mdW5jdGlvbiBmb3JFYWNoQ2hpbGRyZW4oY2hpbGRyZW4sIGZvckVhY2hGdW5jLCBmb3JFYWNoQ29udGV4dCkge1xuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCkge1xuICAgIHJldHVybiBjaGlsZHJlbjtcbiAgfVxuXG4gIHZhciB0cmF2ZXJzZUNvbnRleHQgPSBnZXRQb29sZWRUcmF2ZXJzZUNvbnRleHQobnVsbCwgbnVsbCwgZm9yRWFjaEZ1bmMsIGZvckVhY2hDb250ZXh0KTtcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgZm9yRWFjaFNpbmdsZUNoaWxkLCB0cmF2ZXJzZUNvbnRleHQpO1xuICByZWxlYXNlVHJhdmVyc2VDb250ZXh0KHRyYXZlcnNlQ29udGV4dCk7XG59XG5cbmZ1bmN0aW9uIG1hcFNpbmdsZUNoaWxkSW50b0NvbnRleHQoYm9va0tlZXBpbmcsIGNoaWxkLCBjaGlsZEtleSkge1xuICB2YXIgcmVzdWx0ID0gYm9va0tlZXBpbmcucmVzdWx0LFxuICAgICAga2V5UHJlZml4ID0gYm9va0tlZXBpbmcua2V5UHJlZml4LFxuICAgICAgZnVuYyA9IGJvb2tLZWVwaW5nLmZ1bmMsXG4gICAgICBjb250ZXh0ID0gYm9va0tlZXBpbmcuY29udGV4dDtcbiAgdmFyIG1hcHBlZENoaWxkID0gZnVuYy5jYWxsKGNvbnRleHQsIGNoaWxkLCBib29rS2VlcGluZy5jb3VudCsrKTtcblxuICBpZiAoQXJyYXkuaXNBcnJheShtYXBwZWRDaGlsZCkpIHtcbiAgICBtYXBJbnRvV2l0aEtleVByZWZpeEludGVybmFsKG1hcHBlZENoaWxkLCByZXN1bHQsIGNoaWxkS2V5LCBmdW5jdGlvbiAoYykge1xuICAgICAgcmV0dXJuIGM7XG4gICAgfSk7XG4gIH0gZWxzZSBpZiAobWFwcGVkQ2hpbGQgIT0gbnVsbCkge1xuICAgIGlmIChpc1ZhbGlkRWxlbWVudChtYXBwZWRDaGlsZCkpIHtcbiAgICAgIG1hcHBlZENoaWxkID0gY2xvbmVBbmRSZXBsYWNlS2V5KG1hcHBlZENoaWxkLCAvLyBLZWVwIGJvdGggdGhlIChtYXBwZWQpIGFuZCBvbGQga2V5cyBpZiB0aGV5IGRpZmZlciwganVzdCBhc1xuICAgICAgLy8gdHJhdmVyc2VBbGxDaGlsZHJlbiB1c2VkIHRvIGRvIGZvciBvYmplY3RzIGFzIGNoaWxkcmVuXG4gICAgICBrZXlQcmVmaXggKyAobWFwcGVkQ2hpbGQua2V5ICYmICghY2hpbGQgfHwgY2hpbGQua2V5ICE9PSBtYXBwZWRDaGlsZC5rZXkpID8gZXNjYXBlVXNlclByb3ZpZGVkS2V5KG1hcHBlZENoaWxkLmtleSkgKyAnLycgOiAnJykgKyBjaGlsZEtleSk7XG4gICAgfVxuXG4gICAgcmVzdWx0LnB1c2gobWFwcGVkQ2hpbGQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIGFycmF5LCBwcmVmaXgsIGZ1bmMsIGNvbnRleHQpIHtcbiAgdmFyIGVzY2FwZWRQcmVmaXggPSAnJztcblxuICBpZiAocHJlZml4ICE9IG51bGwpIHtcbiAgICBlc2NhcGVkUHJlZml4ID0gZXNjYXBlVXNlclByb3ZpZGVkS2V5KHByZWZpeCkgKyAnLyc7XG4gIH1cblxuICB2YXIgdHJhdmVyc2VDb250ZXh0ID0gZ2V0UG9vbGVkVHJhdmVyc2VDb250ZXh0KGFycmF5LCBlc2NhcGVkUHJlZml4LCBmdW5jLCBjb250ZXh0KTtcbiAgdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgbWFwU2luZ2xlQ2hpbGRJbnRvQ29udGV4dCwgdHJhdmVyc2VDb250ZXh0KTtcbiAgcmVsZWFzZVRyYXZlcnNlQ29udGV4dCh0cmF2ZXJzZUNvbnRleHQpO1xufVxuLyoqXG4gKiBNYXBzIGNoaWxkcmVuIHRoYXQgYXJlIHR5cGljYWxseSBzcGVjaWZpZWQgYXMgYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5tYXBcbiAqXG4gKiBUaGUgcHJvdmlkZWQgbWFwRnVuY3Rpb24oY2hpbGQsIGtleSwgaW5kZXgpIHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoXG4gKiBsZWFmIGNoaWxkLlxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHBhcmFtIHtmdW5jdGlvbigqLCBpbnQpfSBmdW5jIFRoZSBtYXAgZnVuY3Rpb24uXG4gKiBAcGFyYW0geyp9IGNvbnRleHQgQ29udGV4dCBmb3IgbWFwRnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtvYmplY3R9IE9iamVjdCBjb250YWluaW5nIHRoZSBvcmRlcmVkIG1hcCBvZiByZXN1bHRzLlxuICovXG5cblxuZnVuY3Rpb24gbWFwQ2hpbGRyZW4oY2hpbGRyZW4sIGZ1bmMsIGNvbnRleHQpIHtcbiAgaWYgKGNoaWxkcmVuID09IG51bGwpIHtcbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cblxuICB2YXIgcmVzdWx0ID0gW107XG4gIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIHJlc3VsdCwgbnVsbCwgZnVuYywgY29udGV4dCk7XG4gIHJldHVybiByZXN1bHQ7XG59XG4vKipcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2hpbGRyZW4gdGhhdCBhcmUgdHlwaWNhbGx5IHNwZWNpZmllZCBhc1xuICogYHByb3BzLmNoaWxkcmVuYC5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5jb3VudFxuICpcbiAqIEBwYXJhbSB7Pyp9IGNoaWxkcmVuIENoaWxkcmVuIHRyZWUgY29udGFpbmVyLlxuICogQHJldHVybiB7bnVtYmVyfSBUaGUgbnVtYmVyIG9mIGNoaWxkcmVuLlxuICovXG5cblxuZnVuY3Rpb24gY291bnRDaGlsZHJlbihjaGlsZHJlbikge1xuICByZXR1cm4gdHJhdmVyc2VBbGxDaGlsZHJlbihjaGlsZHJlbiwgZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBudWxsO1xuICB9LCBudWxsKTtcbn1cbi8qKlxuICogRmxhdHRlbiBhIGNoaWxkcmVuIG9iamVjdCAodHlwaWNhbGx5IHNwZWNpZmllZCBhcyBgcHJvcHMuY2hpbGRyZW5gKSBhbmRcbiAqIHJldHVybiBhbiBhcnJheSB3aXRoIGFwcHJvcHJpYXRlbHkgcmUta2V5ZWQgY2hpbGRyZW4uXG4gKlxuICogU2VlIGh0dHBzOi8vcmVhY3Rqcy5vcmcvZG9jcy9yZWFjdC1hcGkuaHRtbCNyZWFjdGNoaWxkcmVudG9hcnJheVxuICovXG5cblxuZnVuY3Rpb24gdG9BcnJheShjaGlsZHJlbikge1xuICB2YXIgcmVzdWx0ID0gW107XG4gIG1hcEludG9XaXRoS2V5UHJlZml4SW50ZXJuYWwoY2hpbGRyZW4sIHJlc3VsdCwgbnVsbCwgZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgcmV0dXJuIGNoaWxkO1xuICB9KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn1cbi8qKlxuICogUmV0dXJucyB0aGUgZmlyc3QgY2hpbGQgaW4gYSBjb2xsZWN0aW9uIG9mIGNoaWxkcmVuIGFuZCB2ZXJpZmllcyB0aGF0IHRoZXJlXG4gKiBpcyBvbmx5IG9uZSBjaGlsZCBpbiB0aGUgY29sbGVjdGlvbi5cbiAqXG4gKiBTZWUgaHR0cHM6Ly9yZWFjdGpzLm9yZy9kb2NzL3JlYWN0LWFwaS5odG1sI3JlYWN0Y2hpbGRyZW5vbmx5XG4gKlxuICogVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbiBhc3N1bWVzIHRoYXQgYSBzaW5nbGUgY2hpbGQgZ2V0c1xuICogcGFzc2VkIHdpdGhvdXQgYSB3cmFwcGVyLCBidXQgdGhlIHB1cnBvc2Ugb2YgdGhpcyBoZWxwZXIgZnVuY3Rpb24gaXMgdG9cbiAqIGFic3RyYWN0IGF3YXkgdGhlIHBhcnRpY3VsYXIgc3RydWN0dXJlIG9mIGNoaWxkcmVuLlxuICpcbiAqIEBwYXJhbSB7P29iamVjdH0gY2hpbGRyZW4gQ2hpbGQgY29sbGVjdGlvbiBzdHJ1Y3R1cmUuXG4gKiBAcmV0dXJuIHtSZWFjdEVsZW1lbnR9IFRoZSBmaXJzdCBhbmQgb25seSBgUmVhY3RFbGVtZW50YCBjb250YWluZWQgaW4gdGhlXG4gKiBzdHJ1Y3R1cmUuXG4gKi9cblxuXG5mdW5jdGlvbiBvbmx5Q2hpbGQoY2hpbGRyZW4pIHtcbiAgaWYgKCFpc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJSZWFjdC5DaGlsZHJlbi5vbmx5IGV4cGVjdGVkIHRvIHJlY2VpdmUgYSBzaW5nbGUgUmVhY3QgZWxlbWVudCBjaGlsZC5cIiApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjaGlsZHJlbjtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ29udGV4dChkZWZhdWx0VmFsdWUsIGNhbGN1bGF0ZUNoYW5nZWRCaXRzKSB7XG4gIGlmIChjYWxjdWxhdGVDaGFuZ2VkQml0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsY3VsYXRlQ2hhbmdlZEJpdHMgPSBudWxsO1xuICB9IGVsc2Uge1xuICAgIHtcbiAgICAgIGlmIChjYWxjdWxhdGVDaGFuZ2VkQml0cyAhPT0gbnVsbCAmJiB0eXBlb2YgY2FsY3VsYXRlQ2hhbmdlZEJpdHMgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZXJyb3IoJ2NyZWF0ZUNvbnRleHQ6IEV4cGVjdGVkIHRoZSBvcHRpb25hbCBzZWNvbmQgYXJndW1lbnQgdG8gYmUgYSAnICsgJ2Z1bmN0aW9uLiBJbnN0ZWFkIHJlY2VpdmVkOiAlcycsIGNhbGN1bGF0ZUNoYW5nZWRCaXRzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB2YXIgY29udGV4dCA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfQ09OVEVYVF9UWVBFLFxuICAgIF9jYWxjdWxhdGVDaGFuZ2VkQml0czogY2FsY3VsYXRlQ2hhbmdlZEJpdHMsXG4gICAgLy8gQXMgYSB3b3JrYXJvdW5kIHRvIHN1cHBvcnQgbXVsdGlwbGUgY29uY3VycmVudCByZW5kZXJlcnMsIHdlIGNhdGVnb3JpemVcbiAgICAvLyBzb21lIHJlbmRlcmVycyBhcyBwcmltYXJ5IGFuZCBvdGhlcnMgYXMgc2Vjb25kYXJ5LiBXZSBvbmx5IGV4cGVjdFxuICAgIC8vIHRoZXJlIHRvIGJlIHR3byBjb25jdXJyZW50IHJlbmRlcmVycyBhdCBtb3N0OiBSZWFjdCBOYXRpdmUgKHByaW1hcnkpIGFuZFxuICAgIC8vIEZhYnJpYyAoc2Vjb25kYXJ5KTsgUmVhY3QgRE9NIChwcmltYXJ5KSBhbmQgUmVhY3QgQVJUIChzZWNvbmRhcnkpLlxuICAgIC8vIFNlY29uZGFyeSByZW5kZXJlcnMgc3RvcmUgdGhlaXIgY29udGV4dCB2YWx1ZXMgb24gc2VwYXJhdGUgZmllbGRzLlxuICAgIF9jdXJyZW50VmFsdWU6IGRlZmF1bHRWYWx1ZSxcbiAgICBfY3VycmVudFZhbHVlMjogZGVmYXVsdFZhbHVlLFxuICAgIC8vIFVzZWQgdG8gdHJhY2sgaG93IG1hbnkgY29uY3VycmVudCByZW5kZXJlcnMgdGhpcyBjb250ZXh0IGN1cnJlbnRseVxuICAgIC8vIHN1cHBvcnRzIHdpdGhpbiBpbiBhIHNpbmdsZSByZW5kZXJlci4gU3VjaCBhcyBwYXJhbGxlbCBzZXJ2ZXIgcmVuZGVyaW5nLlxuICAgIF90aHJlYWRDb3VudDogMCxcbiAgICAvLyBUaGVzZSBhcmUgY2lyY3VsYXJcbiAgICBQcm92aWRlcjogbnVsbCxcbiAgICBDb25zdW1lcjogbnVsbFxuICB9O1xuICBjb250ZXh0LlByb3ZpZGVyID0ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9QUk9WSURFUl9UWVBFLFxuICAgIF9jb250ZXh0OiBjb250ZXh0XG4gIH07XG4gIHZhciBoYXNXYXJuZWRBYm91dFVzaW5nTmVzdGVkQ29udGV4dENvbnN1bWVycyA9IGZhbHNlO1xuICB2YXIgaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIgPSBmYWxzZTtcblxuICB7XG4gICAgLy8gQSBzZXBhcmF0ZSBvYmplY3QsIGJ1dCBwcm94aWVzIGJhY2sgdG8gdGhlIG9yaWdpbmFsIGNvbnRleHQgb2JqZWN0IGZvclxuICAgIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LiBJdCBoYXMgYSBkaWZmZXJlbnQgJCR0eXBlb2YsIHNvIHdlIGNhbiBwcm9wZXJseVxuICAgIC8vIHdhcm4gZm9yIHRoZSBpbmNvcnJlY3QgdXNhZ2Ugb2YgQ29udGV4dCBhcyBhIENvbnN1bWVyLlxuICAgIHZhciBDb25zdW1lciA9IHtcbiAgICAgICQkdHlwZW9mOiBSRUFDVF9DT05URVhUX1RZUEUsXG4gICAgICBfY29udGV4dDogY29udGV4dCxcbiAgICAgIF9jYWxjdWxhdGVDaGFuZ2VkQml0czogY29udGV4dC5fY2FsY3VsYXRlQ2hhbmdlZEJpdHNcbiAgICB9OyAvLyAkRmxvd0ZpeE1lOiBGbG93IGNvbXBsYWlucyBhYm91dCBub3Qgc2V0dGluZyBhIHZhbHVlLCB3aGljaCBpcyBpbnRlbnRpb25hbCBoZXJlXG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyhDb25zdW1lciwge1xuICAgICAgUHJvdmlkZXI6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKCFoYXNXYXJuZWRBYm91dFVzaW5nQ29uc3VtZXJQcm92aWRlcikge1xuICAgICAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ0NvbnN1bWVyUHJvdmlkZXIgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0LkNvbnN1bWVyLlByb3ZpZGVyPiBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LlByb3ZpZGVyPiBpbnN0ZWFkPycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBjb250ZXh0LlByb3ZpZGVyO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfUHJvdmlkZXIpIHtcbiAgICAgICAgICBjb250ZXh0LlByb3ZpZGVyID0gX1Byb3ZpZGVyO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2N1cnJlbnRWYWx1ZToge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fY3VycmVudFZhbHVlO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgY29udGV4dC5fY3VycmVudFZhbHVlID0gX2N1cnJlbnRWYWx1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9jdXJyZW50VmFsdWUyOiB7XG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBjb250ZXh0Ll9jdXJyZW50VmFsdWUyO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChfY3VycmVudFZhbHVlMikge1xuICAgICAgICAgIGNvbnRleHQuX2N1cnJlbnRWYWx1ZTIgPSBfY3VycmVudFZhbHVlMjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF90aHJlYWRDb3VudDoge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gY29udGV4dC5fdGhyZWFkQ291bnQ7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKF90aHJlYWRDb3VudCkge1xuICAgICAgICAgIGNvbnRleHQuX3RocmVhZENvdW50ID0gX3RocmVhZENvdW50O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgQ29uc3VtZXI6IHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKCFoYXNXYXJuZWRBYm91dFVzaW5nTmVzdGVkQ29udGV4dENvbnN1bWVycykge1xuICAgICAgICAgICAgaGFzV2FybmVkQWJvdXRVc2luZ05lc3RlZENvbnRleHRDb25zdW1lcnMgPSB0cnVlO1xuXG4gICAgICAgICAgICBlcnJvcignUmVuZGVyaW5nIDxDb250ZXh0LkNvbnN1bWVyLkNvbnN1bWVyPiBpcyBub3Qgc3VwcG9ydGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBEaWQgeW91IG1lYW4gdG8gcmVuZGVyIDxDb250ZXh0LkNvbnN1bWVyPiBpbnN0ZWFkPycpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBjb250ZXh0LkNvbnN1bWVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7IC8vICRGbG93Rml4TWU6IEZsb3cgY29tcGxhaW5zIGFib3V0IG1pc3NpbmcgcHJvcGVydGllcyBiZWNhdXNlIGl0IGRvZXNuJ3QgdW5kZXJzdGFuZCBkZWZpbmVQcm9wZXJ0eVxuXG4gICAgY29udGV4dC5Db25zdW1lciA9IENvbnN1bWVyO1xuICB9XG5cbiAge1xuICAgIGNvbnRleHQuX2N1cnJlbnRSZW5kZXJlciA9IG51bGw7XG4gICAgY29udGV4dC5fY3VycmVudFJlbmRlcmVyMiA9IG51bGw7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cblxuZnVuY3Rpb24gbGF6eShjdG9yKSB7XG4gIHZhciBsYXp5VHlwZSA9IHtcbiAgICAkJHR5cGVvZjogUkVBQ1RfTEFaWV9UWVBFLFxuICAgIF9jdG9yOiBjdG9yLFxuICAgIC8vIFJlYWN0IHVzZXMgdGhlc2UgZmllbGRzIHRvIHN0b3JlIHRoZSByZXN1bHQuXG4gICAgX3N0YXR1czogLTEsXG4gICAgX3Jlc3VsdDogbnVsbFxuICB9O1xuXG4gIHtcbiAgICAvLyBJbiBwcm9kdWN0aW9uLCB0aGlzIHdvdWxkIGp1c3Qgc2V0IGl0IG9uIHRoZSBvYmplY3QuXG4gICAgdmFyIGRlZmF1bHRQcm9wcztcbiAgICB2YXIgcHJvcFR5cGVzO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGxhenlUeXBlLCB7XG4gICAgICBkZWZhdWx0UHJvcHM6IHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gZGVmYXVsdFByb3BzO1xuICAgICAgICB9LFxuICAgICAgICBzZXQ6IGZ1bmN0aW9uIChuZXdEZWZhdWx0UHJvcHMpIHtcbiAgICAgICAgICBlcnJvcignUmVhY3QubGF6eSguLi4pOiBJdCBpcyBub3Qgc3VwcG9ydGVkIHRvIGFzc2lnbiBgZGVmYXVsdFByb3BzYCB0byAnICsgJ2EgbGF6eSBjb21wb25lbnQgaW1wb3J0LiBFaXRoZXIgc3BlY2lmeSB0aGVtIHdoZXJlIHRoZSBjb21wb25lbnQgJyArICdpcyBkZWZpbmVkLCBvciBjcmVhdGUgYSB3cmFwcGluZyBjb21wb25lbnQgYXJvdW5kIGl0LicpO1xuXG4gICAgICAgICAgZGVmYXVsdFByb3BzID0gbmV3RGVmYXVsdFByb3BzOyAvLyBNYXRjaCBwcm9kdWN0aW9uIGJlaGF2aW9yIG1vcmUgY2xvc2VseTpcblxuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShsYXp5VHlwZSwgJ2RlZmF1bHRQcm9wcycsIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByb3BUeXBlczoge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIHJldHVybiBwcm9wVHlwZXM7XG4gICAgICAgIH0sXG4gICAgICAgIHNldDogZnVuY3Rpb24gKG5ld1Byb3BUeXBlcykge1xuICAgICAgICAgIGVycm9yKCdSZWFjdC5sYXp5KC4uLik6IEl0IGlzIG5vdCBzdXBwb3J0ZWQgdG8gYXNzaWduIGBwcm9wVHlwZXNgIHRvICcgKyAnYSBsYXp5IGNvbXBvbmVudCBpbXBvcnQuIEVpdGhlciBzcGVjaWZ5IHRoZW0gd2hlcmUgdGhlIGNvbXBvbmVudCAnICsgJ2lzIGRlZmluZWQsIG9yIGNyZWF0ZSBhIHdyYXBwaW5nIGNvbXBvbmVudCBhcm91bmQgaXQuJyk7XG5cbiAgICAgICAgICBwcm9wVHlwZXMgPSBuZXdQcm9wVHlwZXM7IC8vIE1hdGNoIHByb2R1Y3Rpb24gYmVoYXZpb3IgbW9yZSBjbG9zZWx5OlxuXG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGxhenlUeXBlLCAncHJvcFR5cGVzJywge1xuICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gbGF6eVR5cGU7XG59XG5cbmZ1bmN0aW9uIGZvcndhcmRSZWYocmVuZGVyKSB7XG4gIHtcbiAgICBpZiAocmVuZGVyICE9IG51bGwgJiYgcmVuZGVyLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCByZWNlaXZlZCBhIGBtZW1vYCAnICsgJ2NvbXBvbmVudC4gSW5zdGVhZCBvZiBmb3J3YXJkUmVmKG1lbW8oLi4uKSksIHVzZSAnICsgJ21lbW8oZm9yd2FyZFJlZiguLi4pKS4nKTtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlcXVpcmVzIGEgcmVuZGVyIGZ1bmN0aW9uIGJ1dCB3YXMgZ2l2ZW4gJXMuJywgcmVuZGVyID09PSBudWxsID8gJ251bGwnIDogdHlwZW9mIHJlbmRlcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChyZW5kZXIubGVuZ3RoICE9PSAwICYmIHJlbmRlci5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgZXJyb3IoJ2ZvcndhcmRSZWYgcmVuZGVyIGZ1bmN0aW9ucyBhY2NlcHQgZXhhY3RseSB0d28gcGFyYW1ldGVyczogcHJvcHMgYW5kIHJlZi4gJXMnLCByZW5kZXIubGVuZ3RoID09PSAxID8gJ0RpZCB5b3UgZm9yZ2V0IHRvIHVzZSB0aGUgcmVmIHBhcmFtZXRlcj8nIDogJ0FueSBhZGRpdGlvbmFsIHBhcmFtZXRlciB3aWxsIGJlIHVuZGVmaW5lZC4nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocmVuZGVyICE9IG51bGwpIHtcbiAgICAgIGlmIChyZW5kZXIuZGVmYXVsdFByb3BzICE9IG51bGwgfHwgcmVuZGVyLnByb3BUeXBlcyAhPSBudWxsKSB7XG4gICAgICAgIGVycm9yKCdmb3J3YXJkUmVmIHJlbmRlciBmdW5jdGlvbnMgZG8gbm90IHN1cHBvcnQgcHJvcFR5cGVzIG9yIGRlZmF1bHRQcm9wcy4gJyArICdEaWQgeW91IGFjY2lkZW50YWxseSBwYXNzIGEgUmVhY3QgY29tcG9uZW50PycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgJCR0eXBlb2Y6IFJFQUNUX0ZPUldBUkRfUkVGX1RZUEUsXG4gICAgcmVuZGVyOiByZW5kZXJcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNWYWxpZEVsZW1lbnRUeXBlKHR5cGUpIHtcbiAgcmV0dXJuIHR5cGVvZiB0eXBlID09PSAnc3RyaW5nJyB8fCB0eXBlb2YgdHlwZSA9PT0gJ2Z1bmN0aW9uJyB8fCAvLyBOb3RlOiBpdHMgdHlwZW9mIG1pZ2h0IGJlIG90aGVyIHRoYW4gJ3N5bWJvbCcgb3IgJ251bWJlcicgaWYgaXQncyBhIHBvbHlmaWxsLlxuICB0eXBlID09PSBSRUFDVF9GUkFHTUVOVF9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX0NPTkNVUlJFTlRfTU9ERV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1BST0ZJTEVSX1RZUEUgfHwgdHlwZSA9PT0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRSB8fCB0eXBlID09PSBSRUFDVF9TVVNQRU5TRV9UWVBFIHx8IHR5cGUgPT09IFJFQUNUX1NVU1BFTlNFX0xJU1RfVFlQRSB8fCB0eXBlb2YgdHlwZSA9PT0gJ29iamVjdCcgJiYgdHlwZSAhPT0gbnVsbCAmJiAodHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfTEFaWV9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX01FTU9fVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9QUk9WSURFUl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0NPTlRFWFRfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IHR5cGUuJCR0eXBlb2YgPT09IFJFQUNUX0ZVTkRBTUVOVEFMX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfUkVTUE9OREVSX1RZUEUgfHwgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfU0NPUEVfVFlQRSB8fCB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9CTE9DS19UWVBFKTtcbn1cblxuZnVuY3Rpb24gbWVtbyh0eXBlLCBjb21wYXJlKSB7XG4gIHtcbiAgICBpZiAoIWlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKSkge1xuICAgICAgZXJyb3IoJ21lbW86IFRoZSBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgY29tcG9uZW50LiBJbnN0ZWFkICcgKyAncmVjZWl2ZWQ6ICVzJywgdHlwZSA9PT0gbnVsbCA/ICdudWxsJyA6IHR5cGVvZiB0eXBlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgICQkdHlwZW9mOiBSRUFDVF9NRU1PX1RZUEUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBjb21wYXJlOiBjb21wYXJlID09PSB1bmRlZmluZWQgPyBudWxsIDogY29tcGFyZVxuICB9O1xufVxuXG5mdW5jdGlvbiByZXNvbHZlRGlzcGF0Y2hlcigpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSBSZWFjdEN1cnJlbnREaXNwYXRjaGVyLmN1cnJlbnQ7XG5cbiAgaWYgKCEoZGlzcGF0Y2hlciAhPT0gbnVsbCkpIHtcbiAgICB7XG4gICAgICB0aHJvdyBFcnJvciggXCJJbnZhbGlkIGhvb2sgY2FsbC4gSG9va3MgY2FuIG9ubHkgYmUgY2FsbGVkIGluc2lkZSBvZiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGNvbXBvbmVudC4gVGhpcyBjb3VsZCBoYXBwZW4gZm9yIG9uZSBvZiB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XFxuMS4gWW91IG1pZ2h0IGhhdmUgbWlzbWF0Y2hpbmcgdmVyc2lvbnMgb2YgUmVhY3QgYW5kIHRoZSByZW5kZXJlciAoc3VjaCBhcyBSZWFjdCBET00pXFxuMi4gWW91IG1pZ2h0IGJlIGJyZWFraW5nIHRoZSBSdWxlcyBvZiBIb29rc1xcbjMuIFlvdSBtaWdodCBoYXZlIG1vcmUgdGhhbiBvbmUgY29weSBvZiBSZWFjdCBpbiB0aGUgc2FtZSBhcHBcXG5TZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC1pbnZhbGlkLWhvb2stY2FsbCBmb3IgdGlwcyBhYm91dCBob3cgdG8gZGVidWcgYW5kIGZpeCB0aGlzIHByb2JsZW0uXCIgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGlzcGF0Y2hlcjtcbn1cblxuZnVuY3Rpb24gdXNlQ29udGV4dChDb250ZXh0LCB1bnN0YWJsZV9vYnNlcnZlZEJpdHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuXG4gIHtcbiAgICBpZiAodW5zdGFibGVfb2JzZXJ2ZWRCaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGVycm9yKCd1c2VDb250ZXh0KCkgc2Vjb25kIGFyZ3VtZW50IGlzIHJlc2VydmVkIGZvciBmdXR1cmUgJyArICd1c2UgaW4gUmVhY3QuIFBhc3NpbmcgaXQgaXMgbm90IHN1cHBvcnRlZC4gJyArICdZb3UgcGFzc2VkOiAlcy4lcycsIHVuc3RhYmxlX29ic2VydmVkQml0cywgdHlwZW9mIHVuc3RhYmxlX29ic2VydmVkQml0cyA9PT0gJ251bWJlcicgJiYgQXJyYXkuaXNBcnJheShhcmd1bWVudHNbMl0pID8gJ1xcblxcbkRpZCB5b3UgY2FsbCBhcnJheS5tYXAodXNlQ29udGV4dCk/ICcgKyAnQ2FsbGluZyBIb29rcyBpbnNpZGUgYSBsb29wIGlzIG5vdCBzdXBwb3J0ZWQuICcgKyAnTGVhcm4gbW9yZSBhdCBodHRwczovL2ZiLm1lL3J1bGVzLW9mLWhvb2tzJyA6ICcnKTtcbiAgICB9IC8vIFRPRE86IGFkZCBhIG1vcmUgZ2VuZXJpYyB3YXJuaW5nIGZvciBpbnZhbGlkIHZhbHVlcy5cblxuXG4gICAgaWYgKENvbnRleHQuX2NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdmFyIHJlYWxDb250ZXh0ID0gQ29udGV4dC5fY29udGV4dDsgLy8gRG9uJ3QgZGVkdXBsaWNhdGUgYmVjYXVzZSB0aGlzIGxlZ2l0aW1hdGVseSBjYXVzZXMgYnVnc1xuICAgICAgLy8gYW5kIG5vYm9keSBzaG91bGQgYmUgdXNpbmcgdGhpcyBpbiBleGlzdGluZyBjb2RlLlxuXG4gICAgICBpZiAocmVhbENvbnRleHQuQ29uc3VtZXIgPT09IENvbnRleHQpIHtcbiAgICAgICAgZXJyb3IoJ0NhbGxpbmcgdXNlQ29udGV4dChDb250ZXh0LkNvbnN1bWVyKSBpcyBub3Qgc3VwcG9ydGVkLCBtYXkgY2F1c2UgYnVncywgYW5kIHdpbGwgYmUgJyArICdyZW1vdmVkIGluIGEgZnV0dXJlIG1ham9yIHJlbGVhc2UuIERpZCB5b3UgbWVhbiB0byBjYWxsIHVzZUNvbnRleHQoQ29udGV4dCkgaW5zdGVhZD8nKTtcbiAgICAgIH0gZWxzZSBpZiAocmVhbENvbnRleHQuUHJvdmlkZXIgPT09IENvbnRleHQpIHtcbiAgICAgICAgZXJyb3IoJ0NhbGxpbmcgdXNlQ29udGV4dChDb250ZXh0LlByb3ZpZGVyKSBpcyBub3Qgc3VwcG9ydGVkLiAnICsgJ0RpZCB5b3UgbWVhbiB0byBjYWxsIHVzZUNvbnRleHQoQ29udGV4dCkgaW5zdGVhZD8nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGlzcGF0Y2hlci51c2VDb250ZXh0KENvbnRleHQsIHVuc3RhYmxlX29ic2VydmVkQml0cyk7XG59XG5mdW5jdGlvbiB1c2VTdGF0ZShpbml0aWFsU3RhdGUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VTdGF0ZShpbml0aWFsU3RhdGUpO1xufVxuZnVuY3Rpb24gdXNlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlUmVkdWNlcihyZWR1Y2VyLCBpbml0aWFsQXJnLCBpbml0KTtcbn1cbmZ1bmN0aW9uIHVzZVJlZihpbml0aWFsVmFsdWUpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VSZWYoaW5pdGlhbFZhbHVlKTtcbn1cbmZ1bmN0aW9uIHVzZUVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUxheW91dEVmZmVjdChjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VMYXlvdXRFZmZlY3QoY3JlYXRlLCBkZXBzKTtcbn1cbmZ1bmN0aW9uIHVzZUNhbGxiYWNrKGNhbGxiYWNrLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlQ2FsbGJhY2soY2FsbGJhY2ssIGRlcHMpO1xufVxuZnVuY3Rpb24gdXNlTWVtbyhjcmVhdGUsIGRlcHMpIHtcbiAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICByZXR1cm4gZGlzcGF0Y2hlci51c2VNZW1vKGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgY3JlYXRlLCBkZXBzKSB7XG4gIHZhciBkaXNwYXRjaGVyID0gcmVzb2x2ZURpc3BhdGNoZXIoKTtcbiAgcmV0dXJuIGRpc3BhdGNoZXIudXNlSW1wZXJhdGl2ZUhhbmRsZShyZWYsIGNyZWF0ZSwgZGVwcyk7XG59XG5mdW5jdGlvbiB1c2VEZWJ1Z1ZhbHVlKHZhbHVlLCBmb3JtYXR0ZXJGbikge1xuICB7XG4gICAgdmFyIGRpc3BhdGNoZXIgPSByZXNvbHZlRGlzcGF0Y2hlcigpO1xuICAgIHJldHVybiBkaXNwYXRjaGVyLnVzZURlYnVnVmFsdWUodmFsdWUsIGZvcm1hdHRlckZuKTtcbiAgfVxufVxuXG52YXIgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd247XG5cbntcbiAgcHJvcFR5cGVzTWlzc3BlbGxXYXJuaW5nU2hvd24gPSBmYWxzZTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVjbGFyYXRpb25FcnJvckFkZGVuZHVtKCkge1xuICBpZiAoUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgIHZhciBuYW1lID0gZ2V0Q29tcG9uZW50TmFtZShSZWFjdEN1cnJlbnRPd25lci5jdXJyZW50LnR5cGUpO1xuXG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIHJldHVybiAnXFxuXFxuQ2hlY2sgdGhlIHJlbmRlciBtZXRob2Qgb2YgYCcgKyBuYW1lICsgJ2AuJztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gJyc7XG59XG5cbmZ1bmN0aW9uIGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtKHNvdXJjZSkge1xuICBpZiAoc291cmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgZmlsZU5hbWUgPSBzb3VyY2UuZmlsZU5hbWUucmVwbGFjZSgvXi4qW1xcXFxcXC9dLywgJycpO1xuICAgIHZhciBsaW5lTnVtYmVyID0gc291cmNlLmxpbmVOdW1iZXI7XG4gICAgcmV0dXJuICdcXG5cXG5DaGVjayB5b3VyIGNvZGUgYXQgJyArIGZpbGVOYW1lICsgJzonICsgbGluZU51bWJlciArICcuJztcbiAgfVxuXG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gZ2V0U291cmNlSW5mb0Vycm9yQWRkZW5kdW1Gb3JQcm9wcyhlbGVtZW50UHJvcHMpIHtcbiAgaWYgKGVsZW1lbnRQcm9wcyAhPT0gbnVsbCAmJiBlbGVtZW50UHJvcHMgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBnZXRTb3VyY2VJbmZvRXJyb3JBZGRlbmR1bShlbGVtZW50UHJvcHMuX19zb3VyY2UpO1xuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuLyoqXG4gKiBXYXJuIGlmIHRoZXJlJ3Mgbm8ga2V5IGV4cGxpY2l0bHkgc2V0IG9uIGR5bmFtaWMgYXJyYXlzIG9mIGNoaWxkcmVuIG9yXG4gKiBvYmplY3Qga2V5cyBhcmUgbm90IHZhbGlkLiBUaGlzIGFsbG93cyB1cyB0byBrZWVwIHRyYWNrIG9mIGNoaWxkcmVuIGJldHdlZW5cbiAqIHVwZGF0ZXMuXG4gKi9cblxuXG52YXIgb3duZXJIYXNLZXlVc2VXYXJuaW5nID0ge307XG5cbmZ1bmN0aW9uIGdldEN1cnJlbnRDb21wb25lbnRFcnJvckluZm8ocGFyZW50VHlwZSkge1xuICB2YXIgaW5mbyA9IGdldERlY2xhcmF0aW9uRXJyb3JBZGRlbmR1bSgpO1xuXG4gIGlmICghaW5mbykge1xuICAgIHZhciBwYXJlbnROYW1lID0gdHlwZW9mIHBhcmVudFR5cGUgPT09ICdzdHJpbmcnID8gcGFyZW50VHlwZSA6IHBhcmVudFR5cGUuZGlzcGxheU5hbWUgfHwgcGFyZW50VHlwZS5uYW1lO1xuXG4gICAgaWYgKHBhcmVudE5hbWUpIHtcbiAgICAgIGluZm8gPSBcIlxcblxcbkNoZWNrIHRoZSB0b3AtbGV2ZWwgcmVuZGVyIGNhbGwgdXNpbmcgPFwiICsgcGFyZW50TmFtZSArIFwiPi5cIjtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gaW5mbztcbn1cbi8qKlxuICogV2FybiBpZiB0aGUgZWxlbWVudCBkb2Vzbid0IGhhdmUgYW4gZXhwbGljaXQga2V5IGFzc2lnbmVkIHRvIGl0LlxuICogVGhpcyBlbGVtZW50IGlzIGluIGFuIGFycmF5LiBUaGUgYXJyYXkgY291bGQgZ3JvdyBhbmQgc2hyaW5rIG9yIGJlXG4gKiByZW9yZGVyZWQuIEFsbCBjaGlsZHJlbiB0aGF0IGhhdmVuJ3QgYWxyZWFkeSBiZWVuIHZhbGlkYXRlZCBhcmUgcmVxdWlyZWQgdG9cbiAqIGhhdmUgYSBcImtleVwiIHByb3BlcnR5IGFzc2lnbmVkIHRvIGl0LiBFcnJvciBzdGF0dXNlcyBhcmUgY2FjaGVkIHNvIGEgd2FybmluZ1xuICogd2lsbCBvbmx5IGJlIHNob3duIG9uY2UuXG4gKlxuICogQGludGVybmFsXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudCBFbGVtZW50IHRoYXQgcmVxdWlyZXMgYSBrZXkuXG4gKiBAcGFyYW0geyp9IHBhcmVudFR5cGUgZWxlbWVudCdzIHBhcmVudCdzIHR5cGUuXG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUV4cGxpY2l0S2V5KGVsZW1lbnQsIHBhcmVudFR5cGUpIHtcbiAgaWYgKCFlbGVtZW50Ll9zdG9yZSB8fCBlbGVtZW50Ll9zdG9yZS52YWxpZGF0ZWQgfHwgZWxlbWVudC5rZXkgIT0gbnVsbCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGVsZW1lbnQuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gIHZhciBjdXJyZW50Q29tcG9uZW50RXJyb3JJbmZvID0gZ2V0Q3VycmVudENvbXBvbmVudEVycm9ySW5mbyhwYXJlbnRUeXBlKTtcblxuICBpZiAob3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgb3duZXJIYXNLZXlVc2VXYXJuaW5nW2N1cnJlbnRDb21wb25lbnRFcnJvckluZm9dID0gdHJ1ZTsgLy8gVXN1YWxseSB0aGUgY3VycmVudCBvd25lciBpcyB0aGUgb2ZmZW5kZXIsIGJ1dCBpZiBpdCBhY2NlcHRzIGNoaWxkcmVuIGFzIGFcbiAgLy8gcHJvcGVydHksIGl0IG1heSBiZSB0aGUgY3JlYXRvciBvZiB0aGUgY2hpbGQgdGhhdCdzIHJlc3BvbnNpYmxlIGZvclxuICAvLyBhc3NpZ25pbmcgaXQgYSBrZXkuXG5cbiAgdmFyIGNoaWxkT3duZXIgPSAnJztcblxuICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Ll9vd25lciAmJiBlbGVtZW50Ll9vd25lciAhPT0gUmVhY3RDdXJyZW50T3duZXIuY3VycmVudCkge1xuICAgIC8vIEdpdmUgdGhlIGNvbXBvbmVudCB0aGF0IG9yaWdpbmFsbHkgY3JlYXRlZCB0aGlzIGNoaWxkLlxuICAgIGNoaWxkT3duZXIgPSBcIiBJdCB3YXMgcGFzc2VkIGEgY2hpbGQgZnJvbSBcIiArIGdldENvbXBvbmVudE5hbWUoZWxlbWVudC5fb3duZXIudHlwZSkgKyBcIi5cIjtcbiAgfVxuXG4gIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuXG4gIHtcbiAgICBlcnJvcignRWFjaCBjaGlsZCBpbiBhIGxpc3Qgc2hvdWxkIGhhdmUgYSB1bmlxdWUgXCJrZXlcIiBwcm9wLicgKyAnJXMlcyBTZWUgaHR0cHM6Ly9mYi5tZS9yZWFjdC13YXJuaW5nLWtleXMgZm9yIG1vcmUgaW5mb3JtYXRpb24uJywgY3VycmVudENvbXBvbmVudEVycm9ySW5mbywgY2hpbGRPd25lcik7XG4gIH1cblxuICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbn1cbi8qKlxuICogRW5zdXJlIHRoYXQgZXZlcnkgZWxlbWVudCBlaXRoZXIgaXMgcGFzc2VkIGluIGEgc3RhdGljIGxvY2F0aW9uLCBpbiBhblxuICogYXJyYXkgd2l0aCBhbiBleHBsaWNpdCBrZXlzIHByb3BlcnR5IGRlZmluZWQsIG9yIGluIGFuIG9iamVjdCBsaXRlcmFsXG4gKiB3aXRoIHZhbGlkIGtleSBwcm9wZXJ0eS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqIEBwYXJhbSB7UmVhY3ROb2RlfSBub2RlIFN0YXRpY2FsbHkgcGFzc2VkIGNoaWxkIG9mIGFueSB0eXBlLlxuICogQHBhcmFtIHsqfSBwYXJlbnRUeXBlIG5vZGUncyBwYXJlbnQncyB0eXBlLlxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVDaGlsZEtleXMobm9kZSwgcGFyZW50VHlwZSkge1xuICBpZiAodHlwZW9mIG5vZGUgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobm9kZSkpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG5vZGUubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBjaGlsZCA9IG5vZGVbaV07XG5cbiAgICAgIGlmIChpc1ZhbGlkRWxlbWVudChjaGlsZCkpIHtcbiAgICAgICAgdmFsaWRhdGVFeHBsaWNpdEtleShjaGlsZCwgcGFyZW50VHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2UgaWYgKGlzVmFsaWRFbGVtZW50KG5vZGUpKSB7XG4gICAgLy8gVGhpcyBlbGVtZW50IHdhcyBwYXNzZWQgaW4gYSB2YWxpZCBsb2NhdGlvbi5cbiAgICBpZiAobm9kZS5fc3RvcmUpIHtcbiAgICAgIG5vZGUuX3N0b3JlLnZhbGlkYXRlZCA9IHRydWU7XG4gICAgfVxuICB9IGVsc2UgaWYgKG5vZGUpIHtcbiAgICB2YXIgaXRlcmF0b3JGbiA9IGdldEl0ZXJhdG9yRm4obm9kZSk7XG5cbiAgICBpZiAodHlwZW9mIGl0ZXJhdG9yRm4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIEVudHJ5IGl0ZXJhdG9ycyB1c2VkIHRvIHByb3ZpZGUgaW1wbGljaXQga2V5cyxcbiAgICAgIC8vIGJ1dCBub3cgd2UgcHJpbnQgYSBzZXBhcmF0ZSB3YXJuaW5nIGZvciB0aGVtIGxhdGVyLlxuICAgICAgaWYgKGl0ZXJhdG9yRm4gIT09IG5vZGUuZW50cmllcykge1xuICAgICAgICB2YXIgaXRlcmF0b3IgPSBpdGVyYXRvckZuLmNhbGwobm9kZSk7XG4gICAgICAgIHZhciBzdGVwO1xuXG4gICAgICAgIHdoaWxlICghKHN0ZXAgPSBpdGVyYXRvci5uZXh0KCkpLmRvbmUpIHtcbiAgICAgICAgICBpZiAoaXNWYWxpZEVsZW1lbnQoc3RlcC52YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbGlkYXRlRXhwbGljaXRLZXkoc3RlcC52YWx1ZSwgcGFyZW50VHlwZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGFuIGVsZW1lbnQsIHZhbGlkYXRlIHRoYXQgaXRzIHByb3BzIGZvbGxvdyB0aGUgcHJvcFR5cGVzIGRlZmluaXRpb24sXG4gKiBwcm92aWRlZCBieSB0aGUgdHlwZS5cbiAqXG4gKiBAcGFyYW0ge1JlYWN0RWxlbWVudH0gZWxlbWVudFxuICovXG5cblxuZnVuY3Rpb24gdmFsaWRhdGVQcm9wVHlwZXMoZWxlbWVudCkge1xuICB7XG4gICAgdmFyIHR5cGUgPSBlbGVtZW50LnR5cGU7XG5cbiAgICBpZiAodHlwZSA9PT0gbnVsbCB8fCB0eXBlID09PSB1bmRlZmluZWQgfHwgdHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdmFyIG5hbWUgPSBnZXRDb21wb25lbnROYW1lKHR5cGUpO1xuICAgIHZhciBwcm9wVHlwZXM7XG5cbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHByb3BUeXBlcyA9IHR5cGUucHJvcFR5cGVzO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHR5cGUgPT09ICdvYmplY3QnICYmICh0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9GT1JXQVJEX1JFRl9UWVBFIHx8IC8vIE5vdGU6IE1lbW8gb25seSBjaGVja3Mgb3V0ZXIgcHJvcHMgaGVyZS5cbiAgICAvLyBJbm5lciBwcm9wcyBhcmUgY2hlY2tlZCBpbiB0aGUgcmVjb25jaWxlci5cbiAgICB0eXBlLiQkdHlwZW9mID09PSBSRUFDVF9NRU1PX1RZUEUpKSB7XG4gICAgICBwcm9wVHlwZXMgPSB0eXBlLnByb3BUeXBlcztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwcm9wVHlwZXMpIHtcbiAgICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgY2hlY2tQcm9wVHlwZXMocHJvcFR5cGVzLCBlbGVtZW50LnByb3BzLCAncHJvcCcsIG5hbWUsIFJlYWN0RGVidWdDdXJyZW50RnJhbWUuZ2V0U3RhY2tBZGRlbmR1bSk7XG4gICAgICBzZXRDdXJyZW50bHlWYWxpZGF0aW5nRWxlbWVudChudWxsKTtcbiAgICB9IGVsc2UgaWYgKHR5cGUuUHJvcFR5cGVzICE9PSB1bmRlZmluZWQgJiYgIXByb3BUeXBlc01pc3NwZWxsV2FybmluZ1Nob3duKSB7XG4gICAgICBwcm9wVHlwZXNNaXNzcGVsbFdhcm5pbmdTaG93biA9IHRydWU7XG5cbiAgICAgIGVycm9yKCdDb21wb25lbnQgJXMgZGVjbGFyZWQgYFByb3BUeXBlc2AgaW5zdGVhZCBvZiBgcHJvcFR5cGVzYC4gRGlkIHlvdSBtaXNzcGVsbCB0aGUgcHJvcGVydHkgYXNzaWdubWVudD8nLCBuYW1lIHx8ICdVbmtub3duJyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB0eXBlLmdldERlZmF1bHRQcm9wcyA9PT0gJ2Z1bmN0aW9uJyAmJiAhdHlwZS5nZXREZWZhdWx0UHJvcHMuaXNSZWFjdENsYXNzQXBwcm92ZWQpIHtcbiAgICAgIGVycm9yKCdnZXREZWZhdWx0UHJvcHMgaXMgb25seSB1c2VkIG9uIGNsYXNzaWMgUmVhY3QuY3JlYXRlQ2xhc3MgJyArICdkZWZpbml0aW9ucy4gVXNlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIGBkZWZhdWx0UHJvcHNgIGluc3RlYWQuJyk7XG4gICAgfVxuICB9XG59XG4vKipcbiAqIEdpdmVuIGEgZnJhZ21lbnQsIHZhbGlkYXRlIHRoYXQgaXQgY2FuIG9ubHkgYmUgcHJvdmlkZWQgd2l0aCBmcmFnbWVudCBwcm9wc1xuICogQHBhcmFtIHtSZWFjdEVsZW1lbnR9IGZyYWdtZW50XG4gKi9cblxuXG5mdW5jdGlvbiB2YWxpZGF0ZUZyYWdtZW50UHJvcHMoZnJhZ21lbnQpIHtcbiAge1xuICAgIHNldEN1cnJlbnRseVZhbGlkYXRpbmdFbGVtZW50KGZyYWdtZW50KTtcbiAgICB2YXIga2V5cyA9IE9iamVjdC5rZXlzKGZyYWdtZW50LnByb3BzKTtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGtleSA9IGtleXNbaV07XG5cbiAgICAgIGlmIChrZXkgIT09ICdjaGlsZHJlbicgJiYga2V5ICE9PSAna2V5Jykge1xuICAgICAgICBlcnJvcignSW52YWxpZCBwcm9wIGAlc2Agc3VwcGxpZWQgdG8gYFJlYWN0LkZyYWdtZW50YC4gJyArICdSZWFjdC5GcmFnbWVudCBjYW4gb25seSBoYXZlIGBrZXlgIGFuZCBgY2hpbGRyZW5gIHByb3BzLicsIGtleSk7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGZyYWdtZW50LnJlZiAhPT0gbnVsbCkge1xuICAgICAgZXJyb3IoJ0ludmFsaWQgYXR0cmlidXRlIGByZWZgIHN1cHBsaWVkIHRvIGBSZWFjdC5GcmFnbWVudGAuJyk7XG4gICAgfVxuXG4gICAgc2V0Q3VycmVudGx5VmFsaWRhdGluZ0VsZW1lbnQobnVsbCk7XG4gIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbih0eXBlLCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIHZhbGlkVHlwZSA9IGlzVmFsaWRFbGVtZW50VHlwZSh0eXBlKTsgLy8gV2Ugd2FybiBpbiB0aGlzIGNhc2UgYnV0IGRvbid0IHRocm93LiBXZSBleHBlY3QgdGhlIGVsZW1lbnQgY3JlYXRpb24gdG9cbiAgLy8gc3VjY2VlZCBhbmQgdGhlcmUgd2lsbCBsaWtlbHkgYmUgZXJyb3JzIGluIHJlbmRlci5cblxuICBpZiAoIXZhbGlkVHlwZSkge1xuICAgIHZhciBpbmZvID0gJyc7XG5cbiAgICBpZiAodHlwZSA9PT0gdW5kZWZpbmVkIHx8IHR5cGVvZiB0eXBlID09PSAnb2JqZWN0JyAmJiB0eXBlICE9PSBudWxsICYmIE9iamVjdC5rZXlzKHR5cGUpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW5mbyArPSAnIFlvdSBsaWtlbHkgZm9yZ290IHRvIGV4cG9ydCB5b3VyIGNvbXBvbmVudCBmcm9tIHRoZSBmaWxlICcgKyBcIml0J3MgZGVmaW5lZCBpbiwgb3IgeW91IG1pZ2h0IGhhdmUgbWl4ZWQgdXAgZGVmYXVsdCBhbmQgbmFtZWQgaW1wb3J0cy5cIjtcbiAgICB9XG5cbiAgICB2YXIgc291cmNlSW5mbyA9IGdldFNvdXJjZUluZm9FcnJvckFkZGVuZHVtRm9yUHJvcHMocHJvcHMpO1xuXG4gICAgaWYgKHNvdXJjZUluZm8pIHtcbiAgICAgIGluZm8gKz0gc291cmNlSW5mbztcbiAgICB9IGVsc2Uge1xuICAgICAgaW5mbyArPSBnZXREZWNsYXJhdGlvbkVycm9yQWRkZW5kdW0oKTtcbiAgICB9XG5cbiAgICB2YXIgdHlwZVN0cmluZztcblxuICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICB0eXBlU3RyaW5nID0gJ251bGwnO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0eXBlKSkge1xuICAgICAgdHlwZVN0cmluZyA9ICdhcnJheSc7XG4gICAgfSBlbHNlIGlmICh0eXBlICE9PSB1bmRlZmluZWQgJiYgdHlwZS4kJHR5cGVvZiA9PT0gUkVBQ1RfRUxFTUVOVF9UWVBFKSB7XG4gICAgICB0eXBlU3RyaW5nID0gXCI8XCIgKyAoZ2V0Q29tcG9uZW50TmFtZSh0eXBlLnR5cGUpIHx8ICdVbmtub3duJykgKyBcIiAvPlwiO1xuICAgICAgaW5mbyA9ICcgRGlkIHlvdSBhY2NpZGVudGFsbHkgZXhwb3J0IGEgSlNYIGxpdGVyYWwgaW5zdGVhZCBvZiBhIGNvbXBvbmVudD8nO1xuICAgIH0gZWxzZSB7XG4gICAgICB0eXBlU3RyaW5nID0gdHlwZW9mIHR5cGU7XG4gICAgfVxuXG4gICAge1xuICAgICAgZXJyb3IoJ1JlYWN0LmNyZWF0ZUVsZW1lbnQ6IHR5cGUgaXMgaW52YWxpZCAtLSBleHBlY3RlZCBhIHN0cmluZyAoZm9yICcgKyAnYnVpbHQtaW4gY29tcG9uZW50cykgb3IgYSBjbGFzcy9mdW5jdGlvbiAoZm9yIGNvbXBvc2l0ZSAnICsgJ2NvbXBvbmVudHMpIGJ1dCBnb3Q6ICVzLiVzJywgdHlwZVN0cmluZywgaW5mbyk7XG4gICAgfVxuICB9XG5cbiAgdmFyIGVsZW1lbnQgPSBjcmVhdGVFbGVtZW50LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7IC8vIFRoZSByZXN1bHQgY2FuIGJlIG51bGxpc2ggaWYgYSBtb2NrIG9yIGEgY3VzdG9tIGZ1bmN0aW9uIGlzIHVzZWQuXG4gIC8vIFRPRE86IERyb3AgdGhpcyB3aGVuIHRoZXNlIGFyZSBubyBsb25nZXIgYWxsb3dlZCBhcyB0aGUgdHlwZSBhcmd1bWVudC5cblxuICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH0gLy8gU2tpcCBrZXkgd2FybmluZyBpZiB0aGUgdHlwZSBpc24ndCB2YWxpZCBzaW5jZSBvdXIga2V5IHZhbGlkYXRpb24gbG9naWNcbiAgLy8gZG9lc24ndCBleHBlY3QgYSBub24tc3RyaW5nL2Z1bmN0aW9uIHR5cGUgYW5kIGNhbiB0aHJvdyBjb25mdXNpbmcgZXJyb3JzLlxuICAvLyBXZSBkb24ndCB3YW50IGV4Y2VwdGlvbiBiZWhhdmlvciB0byBkaWZmZXIgYmV0d2VlbiBkZXYgYW5kIHByb2QuXG4gIC8vIChSZW5kZXJpbmcgd2lsbCB0aHJvdyB3aXRoIGEgaGVscGZ1bCBtZXNzYWdlIGFuZCBhcyBzb29uIGFzIHRoZSB0eXBlIGlzXG4gIC8vIGZpeGVkLCB0aGUga2V5IHdhcm5pbmdzIHdpbGwgYXBwZWFyLilcblxuXG4gIGlmICh2YWxpZFR5cGUpIHtcbiAgICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFsaWRhdGVDaGlsZEtleXMoYXJndW1lbnRzW2ldLCB0eXBlKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZSA9PT0gUkVBQ1RfRlJBR01FTlRfVFlQRSkge1xuICAgIHZhbGlkYXRlRnJhZ21lbnRQcm9wcyhlbGVtZW50KTtcbiAgfSBlbHNlIHtcbiAgICB2YWxpZGF0ZVByb3BUeXBlcyhlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBlbGVtZW50O1xufVxudmFyIGRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5ID0gZmFsc2U7XG5mdW5jdGlvbiBjcmVhdGVGYWN0b3J5V2l0aFZhbGlkYXRpb24odHlwZSkge1xuICB2YXIgdmFsaWRhdGVkRmFjdG9yeSA9IGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbi5iaW5kKG51bGwsIHR5cGUpO1xuICB2YWxpZGF0ZWRGYWN0b3J5LnR5cGUgPSB0eXBlO1xuXG4gIHtcbiAgICBpZiAoIWRpZFdhcm5BYm91dERlcHJlY2F0ZWRDcmVhdGVGYWN0b3J5KSB7XG4gICAgICBkaWRXYXJuQWJvdXREZXByZWNhdGVkQ3JlYXRlRmFjdG9yeSA9IHRydWU7XG5cbiAgICAgIHdhcm4oJ1JlYWN0LmNyZWF0ZUZhY3RvcnkoKSBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gJyArICdhIGZ1dHVyZSBtYWpvciByZWxlYXNlLiBDb25zaWRlciB1c2luZyBKU1ggJyArICdvciB1c2UgUmVhY3QuY3JlYXRlRWxlbWVudCgpIGRpcmVjdGx5IGluc3RlYWQuJyk7XG4gICAgfSAvLyBMZWdhY3kgaG9vazogcmVtb3ZlIGl0XG5cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0ZWRGYWN0b3J5LCAndHlwZScsIHtcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHdhcm4oJ0ZhY3RvcnkudHlwZSBpcyBkZXByZWNhdGVkLiBBY2Nlc3MgdGhlIGNsYXNzIGRpcmVjdGx5ICcgKyAnYmVmb3JlIHBhc3NpbmcgaXQgdG8gY3JlYXRlRmFjdG9yeS4nKTtcblxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3R5cGUnLCB7XG4gICAgICAgICAgdmFsdWU6IHR5cGVcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB0eXBlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlZEZhY3Rvcnk7XG59XG5mdW5jdGlvbiBjbG9uZUVsZW1lbnRXaXRoVmFsaWRhdGlvbihlbGVtZW50LCBwcm9wcywgY2hpbGRyZW4pIHtcbiAgdmFyIG5ld0VsZW1lbnQgPSBjbG9uZUVsZW1lbnQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcblxuICBmb3IgKHZhciBpID0gMjsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhbGlkYXRlQ2hpbGRLZXlzKGFyZ3VtZW50c1tpXSwgbmV3RWxlbWVudC50eXBlKTtcbiAgfVxuXG4gIHZhbGlkYXRlUHJvcFR5cGVzKG5ld0VsZW1lbnQpO1xuICByZXR1cm4gbmV3RWxlbWVudDtcbn1cblxue1xuXG4gIHRyeSB7XG4gICAgdmFyIGZyb3plbk9iamVjdCA9IE9iamVjdC5mcmVlemUoe30pO1xuICAgIHZhciB0ZXN0TWFwID0gbmV3IE1hcChbW2Zyb3plbk9iamVjdCwgbnVsbF1dKTtcbiAgICB2YXIgdGVzdFNldCA9IG5ldyBTZXQoW2Zyb3plbk9iamVjdF0pOyAvLyBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgUm9sbHVwIHRvIG5vdCBjb25zaWRlciB0aGVzZSB1bnVzZWQuXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3JvbGx1cC9yb2xsdXAvaXNzdWVzLzE3NzFcbiAgICAvLyBUT0RPOiB3ZSBjYW4gcmVtb3ZlIHRoZXNlIGlmIFJvbGx1cCBmaXhlcyB0aGUgYnVnLlxuXG4gICAgdGVzdE1hcC5zZXQoMCwgMCk7XG4gICAgdGVzdFNldC5hZGQoMCk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgfVxufVxuXG52YXIgY3JlYXRlRWxlbWVudCQxID0gIGNyZWF0ZUVsZW1lbnRXaXRoVmFsaWRhdGlvbiA7XG52YXIgY2xvbmVFbGVtZW50JDEgPSAgY2xvbmVFbGVtZW50V2l0aFZhbGlkYXRpb24gO1xudmFyIGNyZWF0ZUZhY3RvcnkgPSAgY3JlYXRlRmFjdG9yeVdpdGhWYWxpZGF0aW9uIDtcbnZhciBDaGlsZHJlbiA9IHtcbiAgbWFwOiBtYXBDaGlsZHJlbixcbiAgZm9yRWFjaDogZm9yRWFjaENoaWxkcmVuLFxuICBjb3VudDogY291bnRDaGlsZHJlbixcbiAgdG9BcnJheTogdG9BcnJheSxcbiAgb25seTogb25seUNoaWxkXG59O1xuXG5leHBvcnRzLkNoaWxkcmVuID0gQ2hpbGRyZW47XG5leHBvcnRzLkNvbXBvbmVudCA9IENvbXBvbmVudDtcbmV4cG9ydHMuRnJhZ21lbnQgPSBSRUFDVF9GUkFHTUVOVF9UWVBFO1xuZXhwb3J0cy5Qcm9maWxlciA9IFJFQUNUX1BST0ZJTEVSX1RZUEU7XG5leHBvcnRzLlB1cmVDb21wb25lbnQgPSBQdXJlQ29tcG9uZW50O1xuZXhwb3J0cy5TdHJpY3RNb2RlID0gUkVBQ1RfU1RSSUNUX01PREVfVFlQRTtcbmV4cG9ydHMuU3VzcGVuc2UgPSBSRUFDVF9TVVNQRU5TRV9UWVBFO1xuZXhwb3J0cy5fX1NFQ1JFVF9JTlRFUk5BTFNfRE9fTk9UX1VTRV9PUl9ZT1VfV0lMTF9CRV9GSVJFRCA9IFJlYWN0U2hhcmVkSW50ZXJuYWxzO1xuZXhwb3J0cy5jbG9uZUVsZW1lbnQgPSBjbG9uZUVsZW1lbnQkMTtcbmV4cG9ydHMuY3JlYXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ7XG5leHBvcnRzLmNyZWF0ZUVsZW1lbnQgPSBjcmVhdGVFbGVtZW50JDE7XG5leHBvcnRzLmNyZWF0ZUZhY3RvcnkgPSBjcmVhdGVGYWN0b3J5O1xuZXhwb3J0cy5jcmVhdGVSZWYgPSBjcmVhdGVSZWY7XG5leHBvcnRzLmZvcndhcmRSZWYgPSBmb3J3YXJkUmVmO1xuZXhwb3J0cy5pc1ZhbGlkRWxlbWVudCA9IGlzVmFsaWRFbGVtZW50O1xuZXhwb3J0cy5sYXp5ID0gbGF6eTtcbmV4cG9ydHMubWVtbyA9IG1lbW87XG5leHBvcnRzLnVzZUNhbGxiYWNrID0gdXNlQ2FsbGJhY2s7XG5leHBvcnRzLnVzZUNvbnRleHQgPSB1c2VDb250ZXh0O1xuZXhwb3J0cy51c2VEZWJ1Z1ZhbHVlID0gdXNlRGVidWdWYWx1ZTtcbmV4cG9ydHMudXNlRWZmZWN0ID0gdXNlRWZmZWN0O1xuZXhwb3J0cy51c2VJbXBlcmF0aXZlSGFuZGxlID0gdXNlSW1wZXJhdGl2ZUhhbmRsZTtcbmV4cG9ydHMudXNlTGF5b3V0RWZmZWN0ID0gdXNlTGF5b3V0RWZmZWN0O1xuZXhwb3J0cy51c2VNZW1vID0gdXNlTWVtbztcbmV4cG9ydHMudXNlUmVkdWNlciA9IHVzZVJlZHVjZXI7XG5leHBvcnRzLnVzZVJlZiA9IHVzZVJlZjtcbmV4cG9ydHMudXNlU3RhdGUgPSB1c2VTdGF0ZTtcbmV4cG9ydHMudmVyc2lvbiA9IFJlYWN0VmVyc2lvbjtcbiAgfSkoKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/react/cjs/react.development.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/react/index.js\":\n/*!*************************************!*\\\n  !*** ./node_modules/react/index.js ***!\n  \\*************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nif (false) {} else {\\n  module.exports = __webpack_require__(/*! ./cjs/react.development.js */ \\\"./node_modules/react/cjs/react.development.js\\\");\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanM/YWI1YiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUM7QUFDRCxtQkFBbUIsbUJBQU8sQ0FBQyxpRkFBNEI7QUFDdkQiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvcmVhY3QuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/react/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/scheduler/cjs/scheduler-tracing.development.js\":\n/*!*********************************************************************!*\\\n  !*** ./node_modules/scheduler/cjs/scheduler-tracing.development.js ***!\n  \\*********************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/** @license React v0.19.1\\n * scheduler-tracing.development.js\\n *\\n * Copyright (c) Facebook, Inc. and its affiliates.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\n\\n\\nif (true) {\\n  (function() {\\n'use strict';\\n\\nvar DEFAULT_THREAD_ID = 0; // Counters used to generate unique IDs.\\n\\nvar interactionIDCounter = 0;\\nvar threadIDCounter = 0; // Set of currently traced interactions.\\n// Interactions \\\"stack\\\"–\\n// Meaning that newly traced interactions are appended to the previously active set.\\n// When an interaction goes out of scope, the previous set (if any) is restored.\\n\\nexports.__interactionsRef = null; // Listener(s) to notify when interactions begin and end.\\n\\nexports.__subscriberRef = null;\\n\\n{\\n  exports.__interactionsRef = {\\n    current: new Set()\\n  };\\n  exports.__subscriberRef = {\\n    current: null\\n  };\\n}\\nfunction unstable_clear(callback) {\\n\\n  var prevInteractions = exports.__interactionsRef.current;\\n  exports.__interactionsRef.current = new Set();\\n\\n  try {\\n    return callback();\\n  } finally {\\n    exports.__interactionsRef.current = prevInteractions;\\n  }\\n}\\nfunction unstable_getCurrent() {\\n  {\\n    return exports.__interactionsRef.current;\\n  }\\n}\\nfunction unstable_getThreadID() {\\n  return ++threadIDCounter;\\n}\\nfunction unstable_trace(name, timestamp, callback) {\\n  var threadID = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_THREAD_ID;\\n\\n  var interaction = {\\n    __count: 1,\\n    id: interactionIDCounter++,\\n    name: name,\\n    timestamp: timestamp\\n  };\\n  var prevInteractions = exports.__interactionsRef.current; // Traced interactions should stack/accumulate.\\n  // To do that, clone the current interactions.\\n  // The previous set will be restored upon completion.\\n\\n  var interactions = new Set(prevInteractions);\\n  interactions.add(interaction);\\n  exports.__interactionsRef.current = interactions;\\n  var subscriber = exports.__subscriberRef.current;\\n  var returnValue;\\n\\n  try {\\n    if (subscriber !== null) {\\n      subscriber.onInteractionTraced(interaction);\\n    }\\n  } finally {\\n    try {\\n      if (subscriber !== null) {\\n        subscriber.onWorkStarted(interactions, threadID);\\n      }\\n    } finally {\\n      try {\\n        returnValue = callback();\\n      } finally {\\n        exports.__interactionsRef.current = prevInteractions;\\n\\n        try {\\n          if (subscriber !== null) {\\n            subscriber.onWorkStopped(interactions, threadID);\\n          }\\n        } finally {\\n          interaction.__count--; // If no async work was scheduled for this interaction,\\n          // Notify subscribers that it's completed.\\n\\n          if (subscriber !== null && interaction.__count === 0) {\\n            subscriber.onInteractionScheduledWorkCompleted(interaction);\\n          }\\n        }\\n      }\\n    }\\n  }\\n\\n  return returnValue;\\n}\\nfunction unstable_wrap(callback) {\\n  var threadID = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_THREAD_ID;\\n\\n  var wrappedInteractions = exports.__interactionsRef.current;\\n  var subscriber = exports.__subscriberRef.current;\\n\\n  if (subscriber !== null) {\\n    subscriber.onWorkScheduled(wrappedInteractions, threadID);\\n  } // Update the pending async work count for the current interactions.\\n  // Update after calling subscribers in case of error.\\n\\n\\n  wrappedInteractions.forEach(function (interaction) {\\n    interaction.__count++;\\n  });\\n  var hasRun = false;\\n\\n  function wrapped() {\\n    var prevInteractions = exports.__interactionsRef.current;\\n    exports.__interactionsRef.current = wrappedInteractions;\\n    subscriber = exports.__subscriberRef.current;\\n\\n    try {\\n      var returnValue;\\n\\n      try {\\n        if (subscriber !== null) {\\n          subscriber.onWorkStarted(wrappedInteractions, threadID);\\n        }\\n      } finally {\\n        try {\\n          returnValue = callback.apply(undefined, arguments);\\n        } finally {\\n          exports.__interactionsRef.current = prevInteractions;\\n\\n          if (subscriber !== null) {\\n            subscriber.onWorkStopped(wrappedInteractions, threadID);\\n          }\\n        }\\n      }\\n\\n      return returnValue;\\n    } finally {\\n      if (!hasRun) {\\n        // We only expect a wrapped function to be executed once,\\n        // But in the event that it's executed more than once–\\n        // Only decrement the outstanding interaction counts once.\\n        hasRun = true; // Update pending async counts for all wrapped interactions.\\n        // If this was the last scheduled async work for any of them,\\n        // Mark them as completed.\\n\\n        wrappedInteractions.forEach(function (interaction) {\\n          interaction.__count--;\\n\\n          if (subscriber !== null && interaction.__count === 0) {\\n            subscriber.onInteractionScheduledWorkCompleted(interaction);\\n          }\\n        });\\n      }\\n    }\\n  }\\n\\n  wrapped.cancel = function cancel() {\\n    subscriber = exports.__subscriberRef.current;\\n\\n    try {\\n      if (subscriber !== null) {\\n        subscriber.onWorkCanceled(wrappedInteractions, threadID);\\n      }\\n    } finally {\\n      // Update pending async counts for all wrapped interactions.\\n      // If this was the last scheduled async work for any of them,\\n      // Mark them as completed.\\n      wrappedInteractions.forEach(function (interaction) {\\n        interaction.__count--;\\n\\n        if (subscriber && interaction.__count === 0) {\\n          subscriber.onInteractionScheduledWorkCompleted(interaction);\\n        }\\n      });\\n    }\\n  };\\n\\n  return wrapped;\\n}\\n\\nvar subscribers = null;\\n\\n{\\n  subscribers = new Set();\\n}\\n\\nfunction unstable_subscribe(subscriber) {\\n  {\\n    subscribers.add(subscriber);\\n\\n    if (subscribers.size === 1) {\\n      exports.__subscriberRef.current = {\\n        onInteractionScheduledWorkCompleted: onInteractionScheduledWorkCompleted,\\n        onInteractionTraced: onInteractionTraced,\\n        onWorkCanceled: onWorkCanceled,\\n        onWorkScheduled: onWorkScheduled,\\n        onWorkStarted: onWorkStarted,\\n        onWorkStopped: onWorkStopped\\n      };\\n    }\\n  }\\n}\\nfunction unstable_unsubscribe(subscriber) {\\n  {\\n    subscribers.delete(subscriber);\\n\\n    if (subscribers.size === 0) {\\n      exports.__subscriberRef.current = null;\\n    }\\n  }\\n}\\n\\nfunction onInteractionTraced(interaction) {\\n  var didCatchError = false;\\n  var caughtError = null;\\n  subscribers.forEach(function (subscriber) {\\n    try {\\n      subscriber.onInteractionTraced(interaction);\\n    } catch (error) {\\n      if (!didCatchError) {\\n        didCatchError = true;\\n        caughtError = error;\\n      }\\n    }\\n  });\\n\\n  if (didCatchError) {\\n    throw caughtError;\\n  }\\n}\\n\\nfunction onInteractionScheduledWorkCompleted(interaction) {\\n  var didCatchError = false;\\n  var caughtError = null;\\n  subscribers.forEach(function (subscriber) {\\n    try {\\n      subscriber.onInteractionScheduledWorkCompleted(interaction);\\n    } catch (error) {\\n      if (!didCatchError) {\\n        didCatchError = true;\\n        caughtError = error;\\n      }\\n    }\\n  });\\n\\n  if (didCatchError) {\\n    throw caughtError;\\n  }\\n}\\n\\nfunction onWorkScheduled(interactions, threadID) {\\n  var didCatchError = false;\\n  var caughtError = null;\\n  subscribers.forEach(function (subscriber) {\\n    try {\\n      subscriber.onWorkScheduled(interactions, threadID);\\n    } catch (error) {\\n      if (!didCatchError) {\\n        didCatchError = true;\\n        caughtError = error;\\n      }\\n    }\\n  });\\n\\n  if (didCatchError) {\\n    throw caughtError;\\n  }\\n}\\n\\nfunction onWorkStarted(interactions, threadID) {\\n  var didCatchError = false;\\n  var caughtError = null;\\n  subscribers.forEach(function (subscriber) {\\n    try {\\n      subscriber.onWorkStarted(interactions, threadID);\\n    } catch (error) {\\n      if (!didCatchError) {\\n        didCatchError = true;\\n        caughtError = error;\\n      }\\n    }\\n  });\\n\\n  if (didCatchError) {\\n    throw caughtError;\\n  }\\n}\\n\\nfunction onWorkStopped(interactions, threadID) {\\n  var didCatchError = false;\\n  var caughtError = null;\\n  subscribers.forEach(function (subscriber) {\\n    try {\\n      subscriber.onWorkStopped(interactions, threadID);\\n    } catch (error) {\\n      if (!didCatchError) {\\n        didCatchError = true;\\n        caughtError = error;\\n      }\\n    }\\n  });\\n\\n  if (didCatchError) {\\n    throw caughtError;\\n  }\\n}\\n\\nfunction onWorkCanceled(interactions, threadID) {\\n  var didCatchError = false;\\n  var caughtError = null;\\n  subscribers.forEach(function (subscriber) {\\n    try {\\n      subscriber.onWorkCanceled(interactions, threadID);\\n    } catch (error) {\\n      if (!didCatchError) {\\n        didCatchError = true;\\n        caughtError = error;\\n      }\\n    }\\n  });\\n\\n  if (didCatchError) {\\n    throw caughtError;\\n  }\\n}\\n\\nexports.unstable_clear = unstable_clear;\\nexports.unstable_getCurrent = unstable_getCurrent;\\nexports.unstable_getThreadID = unstable_getThreadID;\\nexports.unstable_subscribe = unstable_subscribe;\\nexports.unstable_trace = unstable_trace;\\nexports.unstable_unsubscribe = unstable_unsubscribe;\\nexports.unstable_wrap = unstable_wrap;\\n  })();\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXItdHJhY2luZy5kZXZlbG9wbWVudC5qcz8xOTc5Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRWE7Ozs7QUFJYixJQUFJLElBQXFDO0FBQ3pDO0FBQ0E7O0FBRUEsMEJBQTBCOztBQUUxQjtBQUNBLHdCQUF3QjtBQUN4QjtBQUNBO0FBQ0E7O0FBRUEsaUNBQWlDOztBQUVqQzs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJEQUEyRDtBQUMzRDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE9BQU87QUFDUDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxnQ0FBZ0M7QUFDaEM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsR0FBRztBQUNIOzs7QUFHQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLFNBQVM7QUFDVDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCO0FBQ3RCO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXItdHJhY2luZy5kZXZlbG9wbWVudC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKiBAbGljZW5zZSBSZWFjdCB2MC4xOS4xXG4gKiBzY2hlZHVsZXItdHJhY2luZy5kZXZlbG9wbWVudC5qc1xuICpcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuXG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG52YXIgREVGQVVMVF9USFJFQURfSUQgPSAwOyAvLyBDb3VudGVycyB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBJRHMuXG5cbnZhciBpbnRlcmFjdGlvbklEQ291bnRlciA9IDA7XG52YXIgdGhyZWFkSURDb3VudGVyID0gMDsgLy8gU2V0IG9mIGN1cnJlbnRseSB0cmFjZWQgaW50ZXJhY3Rpb25zLlxuLy8gSW50ZXJhY3Rpb25zIFwic3RhY2tcIuKAk1xuLy8gTWVhbmluZyB0aGF0IG5ld2x5IHRyYWNlZCBpbnRlcmFjdGlvbnMgYXJlIGFwcGVuZGVkIHRvIHRoZSBwcmV2aW91c2x5IGFjdGl2ZSBzZXQuXG4vLyBXaGVuIGFuIGludGVyYWN0aW9uIGdvZXMgb3V0IG9mIHNjb3BlLCB0aGUgcHJldmlvdXMgc2V0IChpZiBhbnkpIGlzIHJlc3RvcmVkLlxuXG5leHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmID0gbnVsbDsgLy8gTGlzdGVuZXIocykgdG8gbm90aWZ5IHdoZW4gaW50ZXJhY3Rpb25zIGJlZ2luIGFuZCBlbmQuXG5cbmV4cG9ydHMuX19zdWJzY3JpYmVyUmVmID0gbnVsbDtcblxue1xuICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmID0ge1xuICAgIGN1cnJlbnQ6IG5ldyBTZXQoKVxuICB9O1xuICBleHBvcnRzLl9fc3Vic2NyaWJlclJlZiA9IHtcbiAgICBjdXJyZW50OiBudWxsXG4gIH07XG59XG5mdW5jdGlvbiB1bnN0YWJsZV9jbGVhcihjYWxsYmFjaykge1xuXG4gIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50O1xuICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQgPSBuZXcgU2V0KCk7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQgPSBwcmV2SW50ZXJhY3Rpb25zO1xuICB9XG59XG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRDdXJyZW50KCkge1xuICB7XG4gICAgcmV0dXJuIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDtcbiAgfVxufVxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0VGhyZWFkSUQoKSB7XG4gIHJldHVybiArK3RocmVhZElEQ291bnRlcjtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3RyYWNlKG5hbWUsIHRpbWVzdGFtcCwgY2FsbGJhY2spIHtcbiAgdmFyIHRocmVhZElEID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiBERUZBVUxUX1RIUkVBRF9JRDtcblxuICB2YXIgaW50ZXJhY3Rpb24gPSB7XG4gICAgX19jb3VudDogMSxcbiAgICBpZDogaW50ZXJhY3Rpb25JRENvdW50ZXIrKyxcbiAgICBuYW1lOiBuYW1lLFxuICAgIHRpbWVzdGFtcDogdGltZXN0YW1wXG4gIH07XG4gIHZhciBwcmV2SW50ZXJhY3Rpb25zID0gZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50OyAvLyBUcmFjZWQgaW50ZXJhY3Rpb25zIHNob3VsZCBzdGFjay9hY2N1bXVsYXRlLlxuICAvLyBUbyBkbyB0aGF0LCBjbG9uZSB0aGUgY3VycmVudCBpbnRlcmFjdGlvbnMuXG4gIC8vIFRoZSBwcmV2aW91cyBzZXQgd2lsbCBiZSByZXN0b3JlZCB1cG9uIGNvbXBsZXRpb24uXG5cbiAgdmFyIGludGVyYWN0aW9ucyA9IG5ldyBTZXQocHJldkludGVyYWN0aW9ucyk7XG4gIGludGVyYWN0aW9ucy5hZGQoaW50ZXJhY3Rpb24pO1xuICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQgPSBpbnRlcmFjdGlvbnM7XG4gIHZhciBzdWJzY3JpYmVyID0gZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYuY3VycmVudDtcbiAgdmFyIHJldHVyblZhbHVlO1xuXG4gIHRyeSB7XG4gICAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcbiAgICAgIHN1YnNjcmliZXIub25JbnRlcmFjdGlvblRyYWNlZChpbnRlcmFjdGlvbik7XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xuICAgICAgICBzdWJzY3JpYmVyLm9uV29ya1N0YXJ0ZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XG4gICAgICB9XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVyblZhbHVlID0gY2FsbGJhY2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudCA9IHByZXZJbnRlcmFjdGlvbnM7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5vbldvcmtTdG9wcGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50LS07IC8vIElmIG5vIGFzeW5jIHdvcmsgd2FzIHNjaGVkdWxlZCBmb3IgdGhpcyBpbnRlcmFjdGlvbixcbiAgICAgICAgICAvLyBOb3RpZnkgc3Vic2NyaWJlcnMgdGhhdCBpdCdzIGNvbXBsZXRlZC5cblxuICAgICAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsICYmIGludGVyYWN0aW9uLl9fY291bnQgPT09IDApIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIub25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXR1cm5WYWx1ZTtcbn1cbmZ1bmN0aW9uIHVuc3RhYmxlX3dyYXAoY2FsbGJhY2spIHtcbiAgdmFyIHRocmVhZElEID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiBERUZBVUxUX1RIUkVBRF9JRDtcblxuICB2YXIgd3JhcHBlZEludGVyYWN0aW9ucyA9IGV4cG9ydHMuX19pbnRlcmFjdGlvbnNSZWYuY3VycmVudDtcbiAgdmFyIHN1YnNjcmliZXIgPSBleHBvcnRzLl9fc3Vic2NyaWJlclJlZi5jdXJyZW50O1xuXG4gIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XG4gICAgc3Vic2NyaWJlci5vbldvcmtTY2hlZHVsZWQod3JhcHBlZEludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xuICB9IC8vIFVwZGF0ZSB0aGUgcGVuZGluZyBhc3luYyB3b3JrIGNvdW50IGZvciB0aGUgY3VycmVudCBpbnRlcmFjdGlvbnMuXG4gIC8vIFVwZGF0ZSBhZnRlciBjYWxsaW5nIHN1YnNjcmliZXJzIGluIGNhc2Ugb2YgZXJyb3IuXG5cblxuICB3cmFwcGVkSW50ZXJhY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKGludGVyYWN0aW9uKSB7XG4gICAgaW50ZXJhY3Rpb24uX19jb3VudCsrO1xuICB9KTtcbiAgdmFyIGhhc1J1biA9IGZhbHNlO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWQoKSB7XG4gICAgdmFyIHByZXZJbnRlcmFjdGlvbnMgPSBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQ7XG4gICAgZXhwb3J0cy5fX2ludGVyYWN0aW9uc1JlZi5jdXJyZW50ID0gd3JhcHBlZEludGVyYWN0aW9ucztcbiAgICBzdWJzY3JpYmVyID0gZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYuY3VycmVudDtcblxuICAgIHRyeSB7XG4gICAgICB2YXIgcmV0dXJuVmFsdWU7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChzdWJzY3JpYmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgc3Vic2NyaWJlci5vbldvcmtTdGFydGVkKHdyYXBwZWRJbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcbiAgICAgICAgfVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm5WYWx1ZSA9IGNhbGxiYWNrLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBleHBvcnRzLl9faW50ZXJhY3Rpb25zUmVmLmN1cnJlbnQgPSBwcmV2SW50ZXJhY3Rpb25zO1xuXG4gICAgICAgICAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZCh3cmFwcGVkSW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXR1cm5WYWx1ZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKCFoYXNSdW4pIHtcbiAgICAgICAgLy8gV2Ugb25seSBleHBlY3QgYSB3cmFwcGVkIGZ1bmN0aW9uIHRvIGJlIGV4ZWN1dGVkIG9uY2UsXG4gICAgICAgIC8vIEJ1dCBpbiB0aGUgZXZlbnQgdGhhdCBpdCdzIGV4ZWN1dGVkIG1vcmUgdGhhbiBvbmNl4oCTXG4gICAgICAgIC8vIE9ubHkgZGVjcmVtZW50IHRoZSBvdXRzdGFuZGluZyBpbnRlcmFjdGlvbiBjb3VudHMgb25jZS5cbiAgICAgICAgaGFzUnVuID0gdHJ1ZTsgLy8gVXBkYXRlIHBlbmRpbmcgYXN5bmMgY291bnRzIGZvciBhbGwgd3JhcHBlZCBpbnRlcmFjdGlvbnMuXG4gICAgICAgIC8vIElmIHRoaXMgd2FzIHRoZSBsYXN0IHNjaGVkdWxlZCBhc3luYyB3b3JrIGZvciBhbnkgb2YgdGhlbSxcbiAgICAgICAgLy8gTWFyayB0aGVtIGFzIGNvbXBsZXRlZC5cblxuICAgICAgICB3cmFwcGVkSW50ZXJhY3Rpb25zLmZvckVhY2goZnVuY3Rpb24gKGludGVyYWN0aW9uKSB7XG4gICAgICAgICAgaW50ZXJhY3Rpb24uX19jb3VudC0tO1xuXG4gICAgICAgICAgaWYgKHN1YnNjcmliZXIgIT09IG51bGwgJiYgaW50ZXJhY3Rpb24uX19jb3VudCA9PT0gMCkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB3cmFwcGVkLmNhbmNlbCA9IGZ1bmN0aW9uIGNhbmNlbCgpIHtcbiAgICBzdWJzY3JpYmVyID0gZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYuY3VycmVudDtcblxuICAgIHRyeSB7XG4gICAgICBpZiAoc3Vic2NyaWJlciAhPT0gbnVsbCkge1xuICAgICAgICBzdWJzY3JpYmVyLm9uV29ya0NhbmNlbGVkKHdyYXBwZWRJbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgLy8gVXBkYXRlIHBlbmRpbmcgYXN5bmMgY291bnRzIGZvciBhbGwgd3JhcHBlZCBpbnRlcmFjdGlvbnMuXG4gICAgICAvLyBJZiB0aGlzIHdhcyB0aGUgbGFzdCBzY2hlZHVsZWQgYXN5bmMgd29yayBmb3IgYW55IG9mIHRoZW0sXG4gICAgICAvLyBNYXJrIHRoZW0gYXMgY29tcGxldGVkLlxuICAgICAgd3JhcHBlZEludGVyYWN0aW9ucy5mb3JFYWNoKGZ1bmN0aW9uIChpbnRlcmFjdGlvbikge1xuICAgICAgICBpbnRlcmFjdGlvbi5fX2NvdW50LS07XG5cbiAgICAgICAgaWYgKHN1YnNjcmliZXIgJiYgaW50ZXJhY3Rpb24uX19jb3VudCA9PT0gMCkge1xuICAgICAgICAgIHN1YnNjcmliZXIub25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHdyYXBwZWQ7XG59XG5cbnZhciBzdWJzY3JpYmVycyA9IG51bGw7XG5cbntcbiAgc3Vic2NyaWJlcnMgPSBuZXcgU2V0KCk7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3N1YnNjcmliZShzdWJzY3JpYmVyKSB7XG4gIHtcbiAgICBzdWJzY3JpYmVycy5hZGQoc3Vic2NyaWJlcik7XG5cbiAgICBpZiAoc3Vic2NyaWJlcnMuc2l6ZSA9PT0gMSkge1xuICAgICAgZXhwb3J0cy5fX3N1YnNjcmliZXJSZWYuY3VycmVudCA9IHtcbiAgICAgICAgb25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQ6IG9uSW50ZXJhY3Rpb25TY2hlZHVsZWRXb3JrQ29tcGxldGVkLFxuICAgICAgICBvbkludGVyYWN0aW9uVHJhY2VkOiBvbkludGVyYWN0aW9uVHJhY2VkLFxuICAgICAgICBvbldvcmtDYW5jZWxlZDogb25Xb3JrQ2FuY2VsZWQsXG4gICAgICAgIG9uV29ya1NjaGVkdWxlZDogb25Xb3JrU2NoZWR1bGVkLFxuICAgICAgICBvbldvcmtTdGFydGVkOiBvbldvcmtTdGFydGVkLFxuICAgICAgICBvbldvcmtTdG9wcGVkOiBvbldvcmtTdG9wcGVkXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gdW5zdGFibGVfdW5zdWJzY3JpYmUoc3Vic2NyaWJlcikge1xuICB7XG4gICAgc3Vic2NyaWJlcnMuZGVsZXRlKHN1YnNjcmliZXIpO1xuXG4gICAgaWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDApIHtcbiAgICAgIGV4cG9ydHMuX19zdWJzY3JpYmVyUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBvbkludGVyYWN0aW9uVHJhY2VkKGludGVyYWN0aW9uKSB7XG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XG4gIHZhciBjYXVnaHRFcnJvciA9IG51bGw7XG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICB0cnkge1xuICAgICAgc3Vic2NyaWJlci5vbkludGVyYWN0aW9uVHJhY2VkKGludGVyYWN0aW9uKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XG4gICAgICAgIGRpZENhdGNoRXJyb3IgPSB0cnVlO1xuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGRpZENhdGNoRXJyb3IpIHtcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBvbkludGVyYWN0aW9uU2NoZWR1bGVkV29ya0NvbXBsZXRlZChpbnRlcmFjdGlvbikge1xuICB2YXIgZGlkQ2F0Y2hFcnJvciA9IGZhbHNlO1xuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xuICBzdWJzY3JpYmVycy5mb3JFYWNoKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN1YnNjcmliZXIub25JbnRlcmFjdGlvblNjaGVkdWxlZFdvcmtDb21wbGV0ZWQoaW50ZXJhY3Rpb24pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIWRpZENhdGNoRXJyb3IpIHtcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XG4gICAgICAgIGNhdWdodEVycm9yID0gZXJyb3I7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xuICAgIHRocm93IGNhdWdodEVycm9yO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9uV29ya1NjaGVkdWxlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKSB7XG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XG4gIHZhciBjYXVnaHRFcnJvciA9IG51bGw7XG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICB0cnkge1xuICAgICAgc3Vic2NyaWJlci5vbldvcmtTY2hlZHVsZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmICghZGlkQ2F0Y2hFcnJvcikge1xuICAgICAgICBkaWRDYXRjaEVycm9yID0gdHJ1ZTtcbiAgICAgICAgY2F1Z2h0RXJyb3IgPSBlcnJvcjtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGlmIChkaWRDYXRjaEVycm9yKSB7XG4gICAgdGhyb3cgY2F1Z2h0RXJyb3I7XG4gIH1cbn1cblxuZnVuY3Rpb24gb25Xb3JrU3RhcnRlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKSB7XG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XG4gIHZhciBjYXVnaHRFcnJvciA9IG51bGw7XG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICB0cnkge1xuICAgICAgc3Vic2NyaWJlci5vbldvcmtTdGFydGVkKGludGVyYWN0aW9ucywgdGhyZWFkSUQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIWRpZENhdGNoRXJyb3IpIHtcbiAgICAgICAgZGlkQ2F0Y2hFcnJvciA9IHRydWU7XG4gICAgICAgIGNhdWdodEVycm9yID0gZXJyb3I7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBpZiAoZGlkQ2F0Y2hFcnJvcikge1xuICAgIHRocm93IGNhdWdodEVycm9yO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9uV29ya1N0b3BwZWQoaW50ZXJhY3Rpb25zLCB0aHJlYWRJRCkge1xuICB2YXIgZGlkQ2F0Y2hFcnJvciA9IGZhbHNlO1xuICB2YXIgY2F1Z2h0RXJyb3IgPSBudWxsO1xuICBzdWJzY3JpYmVycy5mb3JFYWNoKGZ1bmN0aW9uIChzdWJzY3JpYmVyKSB7XG4gICAgdHJ5IHtcbiAgICAgIHN1YnNjcmliZXIub25Xb3JrU3RvcHBlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XG4gICAgICAgIGRpZENhdGNoRXJyb3IgPSB0cnVlO1xuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGRpZENhdGNoRXJyb3IpIHtcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcbiAgfVxufVxuXG5mdW5jdGlvbiBvbldvcmtDYW5jZWxlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKSB7XG4gIHZhciBkaWRDYXRjaEVycm9yID0gZmFsc2U7XG4gIHZhciBjYXVnaHRFcnJvciA9IG51bGw7XG4gIHN1YnNjcmliZXJzLmZvckVhY2goZnVuY3Rpb24gKHN1YnNjcmliZXIpIHtcbiAgICB0cnkge1xuICAgICAgc3Vic2NyaWJlci5vbldvcmtDYW5jZWxlZChpbnRlcmFjdGlvbnMsIHRocmVhZElEKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCFkaWRDYXRjaEVycm9yKSB7XG4gICAgICAgIGRpZENhdGNoRXJyb3IgPSB0cnVlO1xuICAgICAgICBjYXVnaHRFcnJvciA9IGVycm9yO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgaWYgKGRpZENhdGNoRXJyb3IpIHtcbiAgICB0aHJvdyBjYXVnaHRFcnJvcjtcbiAgfVxufVxuXG5leHBvcnRzLnVuc3RhYmxlX2NsZWFyID0gdW5zdGFibGVfY2xlYXI7XG5leHBvcnRzLnVuc3RhYmxlX2dldEN1cnJlbnQgPSB1bnN0YWJsZV9nZXRDdXJyZW50O1xuZXhwb3J0cy51bnN0YWJsZV9nZXRUaHJlYWRJRCA9IHVuc3RhYmxlX2dldFRocmVhZElEO1xuZXhwb3J0cy51bnN0YWJsZV9zdWJzY3JpYmUgPSB1bnN0YWJsZV9zdWJzY3JpYmU7XG5leHBvcnRzLnVuc3RhYmxlX3RyYWNlID0gdW5zdGFibGVfdHJhY2U7XG5leHBvcnRzLnVuc3RhYmxlX3Vuc3Vic2NyaWJlID0gdW5zdGFibGVfdW5zdWJzY3JpYmU7XG5leHBvcnRzLnVuc3RhYmxlX3dyYXAgPSB1bnN0YWJsZV93cmFwO1xuICB9KSgpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/scheduler/cjs/scheduler-tracing.development.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/scheduler/cjs/scheduler.development.js\":\n/*!*************************************************************!*\\\n  !*** ./node_modules/scheduler/cjs/scheduler.development.js ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"/** @license React v0.19.1\\n * scheduler.development.js\\n *\\n * Copyright (c) Facebook, Inc. and its affiliates.\\n *\\n * This source code is licensed under the MIT license found in the\\n * LICENSE file in the root directory of this source tree.\\n */\\n\\n\\n\\n\\n\\nif (true) {\\n  (function() {\\n'use strict';\\n\\nvar enableSchedulerDebugging = false;\\nvar enableProfiling = true;\\n\\nvar requestHostCallback;\\nvar requestHostTimeout;\\nvar cancelHostTimeout;\\nvar shouldYieldToHost;\\nvar requestPaint;\\n\\nif ( // If Scheduler runs in a non-DOM environment, it falls back to a naive\\n// implementation using setTimeout.\\ntypeof window === 'undefined' || // Check if MessageChannel is supported, too.\\ntypeof MessageChannel !== 'function') {\\n  // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore,\\n  // fallback to a naive implementation.\\n  var _callback = null;\\n  var _timeoutID = null;\\n\\n  var _flushCallback = function () {\\n    if (_callback !== null) {\\n      try {\\n        var currentTime = exports.unstable_now();\\n        var hasRemainingTime = true;\\n\\n        _callback(hasRemainingTime, currentTime);\\n\\n        _callback = null;\\n      } catch (e) {\\n        setTimeout(_flushCallback, 0);\\n        throw e;\\n      }\\n    }\\n  };\\n\\n  var initialTime = Date.now();\\n\\n  exports.unstable_now = function () {\\n    return Date.now() - initialTime;\\n  };\\n\\n  requestHostCallback = function (cb) {\\n    if (_callback !== null) {\\n      // Protect against re-entrancy.\\n      setTimeout(requestHostCallback, 0, cb);\\n    } else {\\n      _callback = cb;\\n      setTimeout(_flushCallback, 0);\\n    }\\n  };\\n\\n  requestHostTimeout = function (cb, ms) {\\n    _timeoutID = setTimeout(cb, ms);\\n  };\\n\\n  cancelHostTimeout = function () {\\n    clearTimeout(_timeoutID);\\n  };\\n\\n  shouldYieldToHost = function () {\\n    return false;\\n  };\\n\\n  requestPaint = exports.unstable_forceFrameRate = function () {};\\n} else {\\n  // Capture local references to native APIs, in case a polyfill overrides them.\\n  var performance = window.performance;\\n  var _Date = window.Date;\\n  var _setTimeout = window.setTimeout;\\n  var _clearTimeout = window.clearTimeout;\\n\\n  if (typeof console !== 'undefined') {\\n    // TODO: Scheduler no longer requires these methods to be polyfilled. But\\n    // maybe we want to continue warning if they don't exist, to preserve the\\n    // option to rely on it in the future?\\n    var requestAnimationFrame = window.requestAnimationFrame;\\n    var cancelAnimationFrame = window.cancelAnimationFrame; // TODO: Remove fb.me link\\n\\n    if (typeof requestAnimationFrame !== 'function') {\\n      // Using console['error'] to evade Babel and ESLint\\n      console['error'](\\\"This browser doesn't support requestAnimationFrame. \\\" + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\\n    }\\n\\n    if (typeof cancelAnimationFrame !== 'function') {\\n      // Using console['error'] to evade Babel and ESLint\\n      console['error'](\\\"This browser doesn't support cancelAnimationFrame. \\\" + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');\\n    }\\n  }\\n\\n  if (typeof performance === 'object' && typeof performance.now === 'function') {\\n    exports.unstable_now = function () {\\n      return performance.now();\\n    };\\n  } else {\\n    var _initialTime = _Date.now();\\n\\n    exports.unstable_now = function () {\\n      return _Date.now() - _initialTime;\\n    };\\n  }\\n\\n  var isMessageLoopRunning = false;\\n  var scheduledHostCallback = null;\\n  var taskTimeoutID = -1; // Scheduler periodically yields in case there is other work on the main\\n  // thread, like user events. By default, it yields multiple times per frame.\\n  // It does not attempt to align with frame boundaries, since most tasks don't\\n  // need to be frame aligned; for those that do, use requestAnimationFrame.\\n\\n  var yieldInterval = 5;\\n  var deadline = 0; // TODO: Make this configurable\\n\\n  {\\n    // `isInputPending` is not available. Since we have no way of knowing if\\n    // there's pending input, always yield at the end of the frame.\\n    shouldYieldToHost = function () {\\n      return exports.unstable_now() >= deadline;\\n    }; // Since we yield every frame regardless, `requestPaint` has no effect.\\n\\n\\n    requestPaint = function () {};\\n  }\\n\\n  exports.unstable_forceFrameRate = function (fps) {\\n    if (fps < 0 || fps > 125) {\\n      // Using console['error'] to evade Babel and ESLint\\n      console['error']('forceFrameRate takes a positive int between 0 and 125, ' + 'forcing framerates higher than 125 fps is not unsupported');\\n      return;\\n    }\\n\\n    if (fps > 0) {\\n      yieldInterval = Math.floor(1000 / fps);\\n    } else {\\n      // reset the framerate\\n      yieldInterval = 5;\\n    }\\n  };\\n\\n  var performWorkUntilDeadline = function () {\\n    if (scheduledHostCallback !== null) {\\n      var currentTime = exports.unstable_now(); // Yield after `yieldInterval` ms, regardless of where we are in the vsync\\n      // cycle. This means there's always time remaining at the beginning of\\n      // the message event.\\n\\n      deadline = currentTime + yieldInterval;\\n      var hasTimeRemaining = true;\\n\\n      try {\\n        var hasMoreWork = scheduledHostCallback(hasTimeRemaining, currentTime);\\n\\n        if (!hasMoreWork) {\\n          isMessageLoopRunning = false;\\n          scheduledHostCallback = null;\\n        } else {\\n          // If there's more work, schedule the next message event at the end\\n          // of the preceding one.\\n          port.postMessage(null);\\n        }\\n      } catch (error) {\\n        // If a scheduler task throws, exit the current browser task so the\\n        // error can be observed.\\n        port.postMessage(null);\\n        throw error;\\n      }\\n    } else {\\n      isMessageLoopRunning = false;\\n    } // Yielding to the browser will give it a chance to paint, so we can\\n  };\\n\\n  var channel = new MessageChannel();\\n  var port = channel.port2;\\n  channel.port1.onmessage = performWorkUntilDeadline;\\n\\n  requestHostCallback = function (callback) {\\n    scheduledHostCallback = callback;\\n\\n    if (!isMessageLoopRunning) {\\n      isMessageLoopRunning = true;\\n      port.postMessage(null);\\n    }\\n  };\\n\\n  requestHostTimeout = function (callback, ms) {\\n    taskTimeoutID = _setTimeout(function () {\\n      callback(exports.unstable_now());\\n    }, ms);\\n  };\\n\\n  cancelHostTimeout = function () {\\n    _clearTimeout(taskTimeoutID);\\n\\n    taskTimeoutID = -1;\\n  };\\n}\\n\\nfunction push(heap, node) {\\n  var index = heap.length;\\n  heap.push(node);\\n  siftUp(heap, node, index);\\n}\\nfunction peek(heap) {\\n  var first = heap[0];\\n  return first === undefined ? null : first;\\n}\\nfunction pop(heap) {\\n  var first = heap[0];\\n\\n  if (first !== undefined) {\\n    var last = heap.pop();\\n\\n    if (last !== first) {\\n      heap[0] = last;\\n      siftDown(heap, last, 0);\\n    }\\n\\n    return first;\\n  } else {\\n    return null;\\n  }\\n}\\n\\nfunction siftUp(heap, node, i) {\\n  var index = i;\\n\\n  while (true) {\\n    var parentIndex = index - 1 >>> 1;\\n    var parent = heap[parentIndex];\\n\\n    if (parent !== undefined && compare(parent, node) > 0) {\\n      // The parent is larger. Swap positions.\\n      heap[parentIndex] = node;\\n      heap[index] = parent;\\n      index = parentIndex;\\n    } else {\\n      // The parent is smaller. Exit.\\n      return;\\n    }\\n  }\\n}\\n\\nfunction siftDown(heap, node, i) {\\n  var index = i;\\n  var length = heap.length;\\n\\n  while (index < length) {\\n    var leftIndex = (index + 1) * 2 - 1;\\n    var left = heap[leftIndex];\\n    var rightIndex = leftIndex + 1;\\n    var right = heap[rightIndex]; // If the left or right node is smaller, swap with the smaller of those.\\n\\n    if (left !== undefined && compare(left, node) < 0) {\\n      if (right !== undefined && compare(right, left) < 0) {\\n        heap[index] = right;\\n        heap[rightIndex] = node;\\n        index = rightIndex;\\n      } else {\\n        heap[index] = left;\\n        heap[leftIndex] = node;\\n        index = leftIndex;\\n      }\\n    } else if (right !== undefined && compare(right, node) < 0) {\\n      heap[index] = right;\\n      heap[rightIndex] = node;\\n      index = rightIndex;\\n    } else {\\n      // Neither child is smaller. Exit.\\n      return;\\n    }\\n  }\\n}\\n\\nfunction compare(a, b) {\\n  // Compare sort index first, then task id.\\n  var diff = a.sortIndex - b.sortIndex;\\n  return diff !== 0 ? diff : a.id - b.id;\\n}\\n\\n// TODO: Use symbols?\\nvar NoPriority = 0;\\nvar ImmediatePriority = 1;\\nvar UserBlockingPriority = 2;\\nvar NormalPriority = 3;\\nvar LowPriority = 4;\\nvar IdlePriority = 5;\\n\\nvar runIdCounter = 0;\\nvar mainThreadIdCounter = 0;\\nvar profilingStateSize = 4;\\nvar sharedProfilingBuffer =  // $FlowFixMe Flow doesn't know about SharedArrayBuffer\\ntypeof SharedArrayBuffer === 'function' ? new SharedArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : // $FlowFixMe Flow doesn't know about ArrayBuffer\\ntypeof ArrayBuffer === 'function' ? new ArrayBuffer(profilingStateSize * Int32Array.BYTES_PER_ELEMENT) : null // Don't crash the init path on IE9\\n;\\nvar profilingState =  sharedProfilingBuffer !== null ? new Int32Array(sharedProfilingBuffer) : []; // We can't read this but it helps save bytes for null checks\\n\\nvar PRIORITY = 0;\\nvar CURRENT_TASK_ID = 1;\\nvar CURRENT_RUN_ID = 2;\\nvar QUEUE_SIZE = 3;\\n\\n{\\n  profilingState[PRIORITY] = NoPriority; // This is maintained with a counter, because the size of the priority queue\\n  // array might include canceled tasks.\\n\\n  profilingState[QUEUE_SIZE] = 0;\\n  profilingState[CURRENT_TASK_ID] = 0;\\n} // Bytes per element is 4\\n\\n\\nvar INITIAL_EVENT_LOG_SIZE = 131072;\\nvar MAX_EVENT_LOG_SIZE = 524288; // Equivalent to 2 megabytes\\n\\nvar eventLogSize = 0;\\nvar eventLogBuffer = null;\\nvar eventLog = null;\\nvar eventLogIndex = 0;\\nvar TaskStartEvent = 1;\\nvar TaskCompleteEvent = 2;\\nvar TaskErrorEvent = 3;\\nvar TaskCancelEvent = 4;\\nvar TaskRunEvent = 5;\\nvar TaskYieldEvent = 6;\\nvar SchedulerSuspendEvent = 7;\\nvar SchedulerResumeEvent = 8;\\n\\nfunction logEvent(entries) {\\n  if (eventLog !== null) {\\n    var offset = eventLogIndex;\\n    eventLogIndex += entries.length;\\n\\n    if (eventLogIndex + 1 > eventLogSize) {\\n      eventLogSize *= 2;\\n\\n      if (eventLogSize > MAX_EVENT_LOG_SIZE) {\\n        // Using console['error'] to evade Babel and ESLint\\n        console['error'](\\\"Scheduler Profiling: Event log exceeded maximum size. Don't \\\" + 'forget to call `stopLoggingProfilingEvents()`.');\\n        stopLoggingProfilingEvents();\\n        return;\\n      }\\n\\n      var newEventLog = new Int32Array(eventLogSize * 4);\\n      newEventLog.set(eventLog);\\n      eventLogBuffer = newEventLog.buffer;\\n      eventLog = newEventLog;\\n    }\\n\\n    eventLog.set(entries, offset);\\n  }\\n}\\n\\nfunction startLoggingProfilingEvents() {\\n  eventLogSize = INITIAL_EVENT_LOG_SIZE;\\n  eventLogBuffer = new ArrayBuffer(eventLogSize * 4);\\n  eventLog = new Int32Array(eventLogBuffer);\\n  eventLogIndex = 0;\\n}\\nfunction stopLoggingProfilingEvents() {\\n  var buffer = eventLogBuffer;\\n  eventLogSize = 0;\\n  eventLogBuffer = null;\\n  eventLog = null;\\n  eventLogIndex = 0;\\n  return buffer;\\n}\\nfunction markTaskStart(task, ms) {\\n  {\\n    profilingState[QUEUE_SIZE]++;\\n\\n    if (eventLog !== null) {\\n      // performance.now returns a float, representing milliseconds. When the\\n      // event is logged, it's coerced to an int. Convert to microseconds to\\n      // maintain extra degrees of precision.\\n      logEvent([TaskStartEvent, ms * 1000, task.id, task.priorityLevel]);\\n    }\\n  }\\n}\\nfunction markTaskCompleted(task, ms) {\\n  {\\n    profilingState[PRIORITY] = NoPriority;\\n    profilingState[CURRENT_TASK_ID] = 0;\\n    profilingState[QUEUE_SIZE]--;\\n\\n    if (eventLog !== null) {\\n      logEvent([TaskCompleteEvent, ms * 1000, task.id]);\\n    }\\n  }\\n}\\nfunction markTaskCanceled(task, ms) {\\n  {\\n    profilingState[QUEUE_SIZE]--;\\n\\n    if (eventLog !== null) {\\n      logEvent([TaskCancelEvent, ms * 1000, task.id]);\\n    }\\n  }\\n}\\nfunction markTaskErrored(task, ms) {\\n  {\\n    profilingState[PRIORITY] = NoPriority;\\n    profilingState[CURRENT_TASK_ID] = 0;\\n    profilingState[QUEUE_SIZE]--;\\n\\n    if (eventLog !== null) {\\n      logEvent([TaskErrorEvent, ms * 1000, task.id]);\\n    }\\n  }\\n}\\nfunction markTaskRun(task, ms) {\\n  {\\n    runIdCounter++;\\n    profilingState[PRIORITY] = task.priorityLevel;\\n    profilingState[CURRENT_TASK_ID] = task.id;\\n    profilingState[CURRENT_RUN_ID] = runIdCounter;\\n\\n    if (eventLog !== null) {\\n      logEvent([TaskRunEvent, ms * 1000, task.id, runIdCounter]);\\n    }\\n  }\\n}\\nfunction markTaskYield(task, ms) {\\n  {\\n    profilingState[PRIORITY] = NoPriority;\\n    profilingState[CURRENT_TASK_ID] = 0;\\n    profilingState[CURRENT_RUN_ID] = 0;\\n\\n    if (eventLog !== null) {\\n      logEvent([TaskYieldEvent, ms * 1000, task.id, runIdCounter]);\\n    }\\n  }\\n}\\nfunction markSchedulerSuspended(ms) {\\n  {\\n    mainThreadIdCounter++;\\n\\n    if (eventLog !== null) {\\n      logEvent([SchedulerSuspendEvent, ms * 1000, mainThreadIdCounter]);\\n    }\\n  }\\n}\\nfunction markSchedulerUnsuspended(ms) {\\n  {\\n    if (eventLog !== null) {\\n      logEvent([SchedulerResumeEvent, ms * 1000, mainThreadIdCounter]);\\n    }\\n  }\\n}\\n\\n/* eslint-disable no-var */\\n// Math.pow(2, 30) - 1\\n// 0b111111111111111111111111111111\\n\\nvar maxSigned31BitInt = 1073741823; // Times out immediately\\n\\nvar IMMEDIATE_PRIORITY_TIMEOUT = -1; // Eventually times out\\n\\nvar USER_BLOCKING_PRIORITY = 250;\\nvar NORMAL_PRIORITY_TIMEOUT = 5000;\\nvar LOW_PRIORITY_TIMEOUT = 10000; // Never times out\\n\\nvar IDLE_PRIORITY = maxSigned31BitInt; // Tasks are stored on a min heap\\n\\nvar taskQueue = [];\\nvar timerQueue = []; // Incrementing id counter. Used to maintain insertion order.\\n\\nvar taskIdCounter = 1; // Pausing the scheduler is useful for debugging.\\nvar currentTask = null;\\nvar currentPriorityLevel = NormalPriority; // This is set while performing work, to prevent re-entrancy.\\n\\nvar isPerformingWork = false;\\nvar isHostCallbackScheduled = false;\\nvar isHostTimeoutScheduled = false;\\n\\nfunction advanceTimers(currentTime) {\\n  // Check for tasks that are no longer delayed and add them to the queue.\\n  var timer = peek(timerQueue);\\n\\n  while (timer !== null) {\\n    if (timer.callback === null) {\\n      // Timer was cancelled.\\n      pop(timerQueue);\\n    } else if (timer.startTime <= currentTime) {\\n      // Timer fired. Transfer to the task queue.\\n      pop(timerQueue);\\n      timer.sortIndex = timer.expirationTime;\\n      push(taskQueue, timer);\\n\\n      {\\n        markTaskStart(timer, currentTime);\\n        timer.isQueued = true;\\n      }\\n    } else {\\n      // Remaining timers are pending.\\n      return;\\n    }\\n\\n    timer = peek(timerQueue);\\n  }\\n}\\n\\nfunction handleTimeout(currentTime) {\\n  isHostTimeoutScheduled = false;\\n  advanceTimers(currentTime);\\n\\n  if (!isHostCallbackScheduled) {\\n    if (peek(taskQueue) !== null) {\\n      isHostCallbackScheduled = true;\\n      requestHostCallback(flushWork);\\n    } else {\\n      var firstTimer = peek(timerQueue);\\n\\n      if (firstTimer !== null) {\\n        requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\\n      }\\n    }\\n  }\\n}\\n\\nfunction flushWork(hasTimeRemaining, initialTime) {\\n  {\\n    markSchedulerUnsuspended(initialTime);\\n  } // We'll need a host callback the next time work is scheduled.\\n\\n\\n  isHostCallbackScheduled = false;\\n\\n  if (isHostTimeoutScheduled) {\\n    // We scheduled a timeout but it's no longer needed. Cancel it.\\n    isHostTimeoutScheduled = false;\\n    cancelHostTimeout();\\n  }\\n\\n  isPerformingWork = true;\\n  var previousPriorityLevel = currentPriorityLevel;\\n\\n  try {\\n    if (enableProfiling) {\\n      try {\\n        return workLoop(hasTimeRemaining, initialTime);\\n      } catch (error) {\\n        if (currentTask !== null) {\\n          var currentTime = exports.unstable_now();\\n          markTaskErrored(currentTask, currentTime);\\n          currentTask.isQueued = false;\\n        }\\n\\n        throw error;\\n      }\\n    } else {\\n      // No catch in prod codepath.\\n      return workLoop(hasTimeRemaining, initialTime);\\n    }\\n  } finally {\\n    currentTask = null;\\n    currentPriorityLevel = previousPriorityLevel;\\n    isPerformingWork = false;\\n\\n    {\\n      var _currentTime = exports.unstable_now();\\n\\n      markSchedulerSuspended(_currentTime);\\n    }\\n  }\\n}\\n\\nfunction workLoop(hasTimeRemaining, initialTime) {\\n  var currentTime = initialTime;\\n  advanceTimers(currentTime);\\n  currentTask = peek(taskQueue);\\n\\n  while (currentTask !== null && !(enableSchedulerDebugging )) {\\n    if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\\n      // This currentTask hasn't expired, and we've reached the deadline.\\n      break;\\n    }\\n\\n    var callback = currentTask.callback;\\n\\n    if (callback !== null) {\\n      currentTask.callback = null;\\n      currentPriorityLevel = currentTask.priorityLevel;\\n      var didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\\n      markTaskRun(currentTask, currentTime);\\n      var continuationCallback = callback(didUserCallbackTimeout);\\n      currentTime = exports.unstable_now();\\n\\n      if (typeof continuationCallback === 'function') {\\n        currentTask.callback = continuationCallback;\\n        markTaskYield(currentTask, currentTime);\\n      } else {\\n        {\\n          markTaskCompleted(currentTask, currentTime);\\n          currentTask.isQueued = false;\\n        }\\n\\n        if (currentTask === peek(taskQueue)) {\\n          pop(taskQueue);\\n        }\\n      }\\n\\n      advanceTimers(currentTime);\\n    } else {\\n      pop(taskQueue);\\n    }\\n\\n    currentTask = peek(taskQueue);\\n  } // Return whether there's additional work\\n\\n\\n  if (currentTask !== null) {\\n    return true;\\n  } else {\\n    var firstTimer = peek(timerQueue);\\n\\n    if (firstTimer !== null) {\\n      requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\\n    }\\n\\n    return false;\\n  }\\n}\\n\\nfunction unstable_runWithPriority(priorityLevel, eventHandler) {\\n  switch (priorityLevel) {\\n    case ImmediatePriority:\\n    case UserBlockingPriority:\\n    case NormalPriority:\\n    case LowPriority:\\n    case IdlePriority:\\n      break;\\n\\n    default:\\n      priorityLevel = NormalPriority;\\n  }\\n\\n  var previousPriorityLevel = currentPriorityLevel;\\n  currentPriorityLevel = priorityLevel;\\n\\n  try {\\n    return eventHandler();\\n  } finally {\\n    currentPriorityLevel = previousPriorityLevel;\\n  }\\n}\\n\\nfunction unstable_next(eventHandler) {\\n  var priorityLevel;\\n\\n  switch (currentPriorityLevel) {\\n    case ImmediatePriority:\\n    case UserBlockingPriority:\\n    case NormalPriority:\\n      // Shift down to normal priority\\n      priorityLevel = NormalPriority;\\n      break;\\n\\n    default:\\n      // Anything lower than normal priority should remain at the current level.\\n      priorityLevel = currentPriorityLevel;\\n      break;\\n  }\\n\\n  var previousPriorityLevel = currentPriorityLevel;\\n  currentPriorityLevel = priorityLevel;\\n\\n  try {\\n    return eventHandler();\\n  } finally {\\n    currentPriorityLevel = previousPriorityLevel;\\n  }\\n}\\n\\nfunction unstable_wrapCallback(callback) {\\n  var parentPriorityLevel = currentPriorityLevel;\\n  return function () {\\n    // This is a fork of runWithPriority, inlined for performance.\\n    var previousPriorityLevel = currentPriorityLevel;\\n    currentPriorityLevel = parentPriorityLevel;\\n\\n    try {\\n      return callback.apply(this, arguments);\\n    } finally {\\n      currentPriorityLevel = previousPriorityLevel;\\n    }\\n  };\\n}\\n\\nfunction timeoutForPriorityLevel(priorityLevel) {\\n  switch (priorityLevel) {\\n    case ImmediatePriority:\\n      return IMMEDIATE_PRIORITY_TIMEOUT;\\n\\n    case UserBlockingPriority:\\n      return USER_BLOCKING_PRIORITY;\\n\\n    case IdlePriority:\\n      return IDLE_PRIORITY;\\n\\n    case LowPriority:\\n      return LOW_PRIORITY_TIMEOUT;\\n\\n    case NormalPriority:\\n    default:\\n      return NORMAL_PRIORITY_TIMEOUT;\\n  }\\n}\\n\\nfunction unstable_scheduleCallback(priorityLevel, callback, options) {\\n  var currentTime = exports.unstable_now();\\n  var startTime;\\n  var timeout;\\n\\n  if (typeof options === 'object' && options !== null) {\\n    var delay = options.delay;\\n\\n    if (typeof delay === 'number' && delay > 0) {\\n      startTime = currentTime + delay;\\n    } else {\\n      startTime = currentTime;\\n    }\\n\\n    timeout = typeof options.timeout === 'number' ? options.timeout : timeoutForPriorityLevel(priorityLevel);\\n  } else {\\n    timeout = timeoutForPriorityLevel(priorityLevel);\\n    startTime = currentTime;\\n  }\\n\\n  var expirationTime = startTime + timeout;\\n  var newTask = {\\n    id: taskIdCounter++,\\n    callback: callback,\\n    priorityLevel: priorityLevel,\\n    startTime: startTime,\\n    expirationTime: expirationTime,\\n    sortIndex: -1\\n  };\\n\\n  {\\n    newTask.isQueued = false;\\n  }\\n\\n  if (startTime > currentTime) {\\n    // This is a delayed task.\\n    newTask.sortIndex = startTime;\\n    push(timerQueue, newTask);\\n\\n    if (peek(taskQueue) === null && newTask === peek(timerQueue)) {\\n      // All tasks are delayed, and this is the task with the earliest delay.\\n      if (isHostTimeoutScheduled) {\\n        // Cancel an existing timeout.\\n        cancelHostTimeout();\\n      } else {\\n        isHostTimeoutScheduled = true;\\n      } // Schedule a timeout.\\n\\n\\n      requestHostTimeout(handleTimeout, startTime - currentTime);\\n    }\\n  } else {\\n    newTask.sortIndex = expirationTime;\\n    push(taskQueue, newTask);\\n\\n    {\\n      markTaskStart(newTask, currentTime);\\n      newTask.isQueued = true;\\n    } // Schedule a host callback, if needed. If we're already performing work,\\n    // wait until the next time we yield.\\n\\n\\n    if (!isHostCallbackScheduled && !isPerformingWork) {\\n      isHostCallbackScheduled = true;\\n      requestHostCallback(flushWork);\\n    }\\n  }\\n\\n  return newTask;\\n}\\n\\nfunction unstable_pauseExecution() {\\n}\\n\\nfunction unstable_continueExecution() {\\n\\n  if (!isHostCallbackScheduled && !isPerformingWork) {\\n    isHostCallbackScheduled = true;\\n    requestHostCallback(flushWork);\\n  }\\n}\\n\\nfunction unstable_getFirstCallbackNode() {\\n  return peek(taskQueue);\\n}\\n\\nfunction unstable_cancelCallback(task) {\\n  {\\n    if (task.isQueued) {\\n      var currentTime = exports.unstable_now();\\n      markTaskCanceled(task, currentTime);\\n      task.isQueued = false;\\n    }\\n  } // Null out the callback to indicate the task has been canceled. (Can't\\n  // remove from the queue because you can't remove arbitrary nodes from an\\n  // array based heap, only the first one.)\\n\\n\\n  task.callback = null;\\n}\\n\\nfunction unstable_getCurrentPriorityLevel() {\\n  return currentPriorityLevel;\\n}\\n\\nfunction unstable_shouldYield() {\\n  var currentTime = exports.unstable_now();\\n  advanceTimers(currentTime);\\n  var firstTask = peek(taskQueue);\\n  return firstTask !== currentTask && currentTask !== null && firstTask !== null && firstTask.callback !== null && firstTask.startTime <= currentTime && firstTask.expirationTime < currentTask.expirationTime || shouldYieldToHost();\\n}\\n\\nvar unstable_requestPaint = requestPaint;\\nvar unstable_Profiling =  {\\n  startLoggingProfilingEvents: startLoggingProfilingEvents,\\n  stopLoggingProfilingEvents: stopLoggingProfilingEvents,\\n  sharedProfilingBuffer: sharedProfilingBuffer\\n} ;\\n\\nexports.unstable_IdlePriority = IdlePriority;\\nexports.unstable_ImmediatePriority = ImmediatePriority;\\nexports.unstable_LowPriority = LowPriority;\\nexports.unstable_NormalPriority = NormalPriority;\\nexports.unstable_Profiling = unstable_Profiling;\\nexports.unstable_UserBlockingPriority = UserBlockingPriority;\\nexports.unstable_cancelCallback = unstable_cancelCallback;\\nexports.unstable_continueExecution = unstable_continueExecution;\\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\\nexports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode;\\nexports.unstable_next = unstable_next;\\nexports.unstable_pauseExecution = unstable_pauseExecution;\\nexports.unstable_requestPaint = unstable_requestPaint;\\nexports.unstable_runWithPriority = unstable_runWithPriority;\\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\\nexports.unstable_shouldYield = unstable_shouldYield;\\nexports.unstable_wrapCallback = unstable_wrapCallback;\\n  })();\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanM/MzA2OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVhOzs7O0FBSWIsSUFBSSxJQUFxQztBQUN6QztBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJEOztBQUUzRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBLDhCQUE4Qjs7QUFFOUI7QUFDQSxtQkFBbUI7O0FBRW5CO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNOzs7QUFHTjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwrQ0FBK0M7QUFDL0M7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDOztBQUVqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrR0FBa0c7O0FBRWxHO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0NBQXdDO0FBQ3hDOztBQUVBO0FBQ0E7QUFDQSxDQUFDOzs7QUFHRDtBQUNBLGdDQUFnQzs7QUFFaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxtQ0FBbUM7O0FBRW5DLG9DQUFvQzs7QUFFcEM7QUFDQTtBQUNBLGlDQUFpQzs7QUFFakMsc0NBQXNDOztBQUV0QztBQUNBLG9CQUFvQjs7QUFFcEIsc0JBQXNCO0FBQ3RCO0FBQ0EsMENBQTBDOztBQUUxQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOzs7QUFHSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0EsR0FBRzs7O0FBR0g7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsT0FBTzs7O0FBR1A7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0giLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2Nqcy9zY2hlZHVsZXIuZGV2ZWxvcG1lbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGxpY2Vuc2UgUmVhY3QgdjAuMTkuMVxuICogc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzXG4gKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5cblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAoZnVuY3Rpb24oKSB7XG4ndXNlIHN0cmljdCc7XG5cbnZhciBlbmFibGVTY2hlZHVsZXJEZWJ1Z2dpbmcgPSBmYWxzZTtcbnZhciBlbmFibGVQcm9maWxpbmcgPSB0cnVlO1xuXG52YXIgcmVxdWVzdEhvc3RDYWxsYmFjaztcbnZhciByZXF1ZXN0SG9zdFRpbWVvdXQ7XG52YXIgY2FuY2VsSG9zdFRpbWVvdXQ7XG52YXIgc2hvdWxkWWllbGRUb0hvc3Q7XG52YXIgcmVxdWVzdFBhaW50O1xuXG5pZiAoIC8vIElmIFNjaGVkdWxlciBydW5zIGluIGEgbm9uLURPTSBlbnZpcm9ubWVudCwgaXQgZmFsbHMgYmFjayB0byBhIG5haXZlXG4vLyBpbXBsZW1lbnRhdGlvbiB1c2luZyBzZXRUaW1lb3V0LlxudHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgfHwgLy8gQ2hlY2sgaWYgTWVzc2FnZUNoYW5uZWwgaXMgc3VwcG9ydGVkLCB0b28uXG50eXBlb2YgTWVzc2FnZUNoYW5uZWwgIT09ICdmdW5jdGlvbicpIHtcbiAgLy8gSWYgdGhpcyBhY2NpZGVudGFsbHkgZ2V0cyBpbXBvcnRlZCBpbiBhIG5vbi1icm93c2VyIGVudmlyb25tZW50LCBlLmcuIEphdmFTY3JpcHRDb3JlLFxuICAvLyBmYWxsYmFjayB0byBhIG5haXZlIGltcGxlbWVudGF0aW9uLlxuICB2YXIgX2NhbGxiYWNrID0gbnVsbDtcbiAgdmFyIF90aW1lb3V0SUQgPSBudWxsO1xuXG4gIHZhciBfZmx1c2hDYWxsYmFjayA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoX2NhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB0cnkge1xuICAgICAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xuICAgICAgICB2YXIgaGFzUmVtYWluaW5nVGltZSA9IHRydWU7XG5cbiAgICAgICAgX2NhbGxiYWNrKGhhc1JlbWFpbmluZ1RpbWUsIGN1cnJlbnRUaW1lKTtcblxuICAgICAgICBfY2FsbGJhY2sgPSBudWxsO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRUaW1lb3V0KF9mbHVzaENhbGxiYWNrLCAwKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgdmFyIGluaXRpYWxUaW1lID0gRGF0ZS5ub3coKTtcblxuICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gRGF0ZS5ub3coKSAtIGluaXRpYWxUaW1lO1xuICB9O1xuXG4gIHJlcXVlc3RIb3N0Q2FsbGJhY2sgPSBmdW5jdGlvbiAoY2IpIHtcbiAgICBpZiAoX2NhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICAvLyBQcm90ZWN0IGFnYWluc3QgcmUtZW50cmFuY3kuXG4gICAgICBzZXRUaW1lb3V0KHJlcXVlc3RIb3N0Q2FsbGJhY2ssIDAsIGNiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgX2NhbGxiYWNrID0gY2I7XG4gICAgICBzZXRUaW1lb3V0KF9mbHVzaENhbGxiYWNrLCAwKTtcbiAgICB9XG4gIH07XG5cbiAgcmVxdWVzdEhvc3RUaW1lb3V0ID0gZnVuY3Rpb24gKGNiLCBtcykge1xuICAgIF90aW1lb3V0SUQgPSBzZXRUaW1lb3V0KGNiLCBtcyk7XG4gIH07XG5cbiAgY2FuY2VsSG9zdFRpbWVvdXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgY2xlYXJUaW1lb3V0KF90aW1lb3V0SUQpO1xuICB9O1xuXG4gIHNob3VsZFlpZWxkVG9Ib3N0ID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZXF1ZXN0UGFpbnQgPSBleHBvcnRzLnVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlID0gZnVuY3Rpb24gKCkge307XG59IGVsc2Uge1xuICAvLyBDYXB0dXJlIGxvY2FsIHJlZmVyZW5jZXMgdG8gbmF0aXZlIEFQSXMsIGluIGNhc2UgYSBwb2x5ZmlsbCBvdmVycmlkZXMgdGhlbS5cbiAgdmFyIHBlcmZvcm1hbmNlID0gd2luZG93LnBlcmZvcm1hbmNlO1xuICB2YXIgX0RhdGUgPSB3aW5kb3cuRGF0ZTtcbiAgdmFyIF9zZXRUaW1lb3V0ID0gd2luZG93LnNldFRpbWVvdXQ7XG4gIHZhciBfY2xlYXJUaW1lb3V0ID0gd2luZG93LmNsZWFyVGltZW91dDtcblxuICBpZiAodHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gVE9ETzogU2NoZWR1bGVyIG5vIGxvbmdlciByZXF1aXJlcyB0aGVzZSBtZXRob2RzIHRvIGJlIHBvbHlmaWxsZWQuIEJ1dFxuICAgIC8vIG1heWJlIHdlIHdhbnQgdG8gY29udGludWUgd2FybmluZyBpZiB0aGV5IGRvbid0IGV4aXN0LCB0byBwcmVzZXJ2ZSB0aGVcbiAgICAvLyBvcHRpb24gdG8gcmVseSBvbiBpdCBpbiB0aGUgZnV0dXJlP1xuICAgIHZhciByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgPSB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lO1xuICAgIHZhciBjYW5jZWxBbmltYXRpb25GcmFtZSA9IHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZTsgLy8gVE9ETzogUmVtb3ZlIGZiLm1lIGxpbmtcblxuICAgIGlmICh0eXBlb2YgcmVxdWVzdEFuaW1hdGlvbkZyYW1lICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAvLyBVc2luZyBjb25zb2xlWydlcnJvciddIHRvIGV2YWRlIEJhYmVsIGFuZCBFU0xpbnRcbiAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oXCJUaGlzIGJyb3dzZXIgZG9lc24ndCBzdXBwb3J0IHJlcXVlc3RBbmltYXRpb25GcmFtZS4gXCIgKyAnTWFrZSBzdXJlIHRoYXQgeW91IGxvYWQgYSAnICsgJ3BvbHlmaWxsIGluIG9sZGVyIGJyb3dzZXJzLiBodHRwczovL2ZiLm1lL3JlYWN0LXBvbHlmaWxscycpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWUgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ2Vycm9yJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuICAgICAgY29uc29sZVsnZXJyb3InXShcIlRoaXMgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgY2FuY2VsQW5pbWF0aW9uRnJhbWUuIFwiICsgJ01ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGEgJyArICdwb2x5ZmlsbCBpbiBvbGRlciBicm93c2Vycy4gaHR0cHM6Ly9mYi5tZS9yZWFjdC1wb2x5ZmlsbHMnKTtcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHBlcmZvcm1hbmNlID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgcGVyZm9ybWFuY2Uubm93ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgZXhwb3J0cy51bnN0YWJsZV9ub3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgX2luaXRpYWxUaW1lID0gX0RhdGUubm93KCk7XG5cbiAgICBleHBvcnRzLnVuc3RhYmxlX25vdyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBfRGF0ZS5ub3coKSAtIF9pbml0aWFsVGltZTtcbiAgICB9O1xuICB9XG5cbiAgdmFyIGlzTWVzc2FnZUxvb3BSdW5uaW5nID0gZmFsc2U7XG4gIHZhciBzY2hlZHVsZWRIb3N0Q2FsbGJhY2sgPSBudWxsO1xuICB2YXIgdGFza1RpbWVvdXRJRCA9IC0xOyAvLyBTY2hlZHVsZXIgcGVyaW9kaWNhbGx5IHlpZWxkcyBpbiBjYXNlIHRoZXJlIGlzIG90aGVyIHdvcmsgb24gdGhlIG1haW5cbiAgLy8gdGhyZWFkLCBsaWtlIHVzZXIgZXZlbnRzLiBCeSBkZWZhdWx0LCBpdCB5aWVsZHMgbXVsdGlwbGUgdGltZXMgcGVyIGZyYW1lLlxuICAvLyBJdCBkb2VzIG5vdCBhdHRlbXB0IHRvIGFsaWduIHdpdGggZnJhbWUgYm91bmRhcmllcywgc2luY2UgbW9zdCB0YXNrcyBkb24ndFxuICAvLyBuZWVkIHRvIGJlIGZyYW1lIGFsaWduZWQ7IGZvciB0aG9zZSB0aGF0IGRvLCB1c2UgcmVxdWVzdEFuaW1hdGlvbkZyYW1lLlxuXG4gIHZhciB5aWVsZEludGVydmFsID0gNTtcbiAgdmFyIGRlYWRsaW5lID0gMDsgLy8gVE9ETzogTWFrZSB0aGlzIGNvbmZpZ3VyYWJsZVxuXG4gIHtcbiAgICAvLyBgaXNJbnB1dFBlbmRpbmdgIGlzIG5vdCBhdmFpbGFibGUuIFNpbmNlIHdlIGhhdmUgbm8gd2F5IG9mIGtub3dpbmcgaWZcbiAgICAvLyB0aGVyZSdzIHBlbmRpbmcgaW5wdXQsIGFsd2F5cyB5aWVsZCBhdCB0aGUgZW5kIG9mIHRoZSBmcmFtZS5cbiAgICBzaG91bGRZaWVsZFRvSG9zdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBleHBvcnRzLnVuc3RhYmxlX25vdygpID49IGRlYWRsaW5lO1xuICAgIH07IC8vIFNpbmNlIHdlIHlpZWxkIGV2ZXJ5IGZyYW1lIHJlZ2FyZGxlc3MsIGByZXF1ZXN0UGFpbnRgIGhhcyBubyBlZmZlY3QuXG5cblxuICAgIHJlcXVlc3RQYWludCA9IGZ1bmN0aW9uICgpIHt9O1xuICB9XG5cbiAgZXhwb3J0cy51bnN0YWJsZV9mb3JjZUZyYW1lUmF0ZSA9IGZ1bmN0aW9uIChmcHMpIHtcbiAgICBpZiAoZnBzIDwgMCB8fCBmcHMgPiAxMjUpIHtcbiAgICAgIC8vIFVzaW5nIGNvbnNvbGVbJ2Vycm9yJ10gdG8gZXZhZGUgQmFiZWwgYW5kIEVTTGludFxuICAgICAgY29uc29sZVsnZXJyb3InXSgnZm9yY2VGcmFtZVJhdGUgdGFrZXMgYSBwb3NpdGl2ZSBpbnQgYmV0d2VlbiAwIGFuZCAxMjUsICcgKyAnZm9yY2luZyBmcmFtZXJhdGVzIGhpZ2hlciB0aGFuIDEyNSBmcHMgaXMgbm90IHVuc3VwcG9ydGVkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGZwcyA+IDApIHtcbiAgICAgIHlpZWxkSW50ZXJ2YWwgPSBNYXRoLmZsb29yKDEwMDAgLyBmcHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyByZXNldCB0aGUgZnJhbWVyYXRlXG4gICAgICB5aWVsZEludGVydmFsID0gNTtcbiAgICB9XG4gIH07XG5cbiAgdmFyIHBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZSA9IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoc2NoZWR1bGVkSG9zdENhbGxiYWNrICE9PSBudWxsKSB7XG4gICAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpOyAvLyBZaWVsZCBhZnRlciBgeWllbGRJbnRlcnZhbGAgbXMsIHJlZ2FyZGxlc3Mgb2Ygd2hlcmUgd2UgYXJlIGluIHRoZSB2c3luY1xuICAgICAgLy8gY3ljbGUuIFRoaXMgbWVhbnMgdGhlcmUncyBhbHdheXMgdGltZSByZW1haW5pbmcgYXQgdGhlIGJlZ2lubmluZyBvZlxuICAgICAgLy8gdGhlIG1lc3NhZ2UgZXZlbnQuXG5cbiAgICAgIGRlYWRsaW5lID0gY3VycmVudFRpbWUgKyB5aWVsZEludGVydmFsO1xuICAgICAgdmFyIGhhc1RpbWVSZW1haW5pbmcgPSB0cnVlO1xuXG4gICAgICB0cnkge1xuICAgICAgICB2YXIgaGFzTW9yZVdvcmsgPSBzY2hlZHVsZWRIb3N0Q2FsbGJhY2soaGFzVGltZVJlbWFpbmluZywgY3VycmVudFRpbWUpO1xuXG4gICAgICAgIGlmICghaGFzTW9yZVdvcmspIHtcbiAgICAgICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IGZhbHNlO1xuICAgICAgICAgIHNjaGVkdWxlZEhvc3RDYWxsYmFjayA9IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gSWYgdGhlcmUncyBtb3JlIHdvcmssIHNjaGVkdWxlIHRoZSBuZXh0IG1lc3NhZ2UgZXZlbnQgYXQgdGhlIGVuZFxuICAgICAgICAgIC8vIG9mIHRoZSBwcmVjZWRpbmcgb25lLlxuICAgICAgICAgIHBvcnQucG9zdE1lc3NhZ2UobnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIElmIGEgc2NoZWR1bGVyIHRhc2sgdGhyb3dzLCBleGl0IHRoZSBjdXJyZW50IGJyb3dzZXIgdGFzayBzbyB0aGVcbiAgICAgICAgLy8gZXJyb3IgY2FuIGJlIG9ic2VydmVkLlxuICAgICAgICBwb3J0LnBvc3RNZXNzYWdlKG51bGwpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaXNNZXNzYWdlTG9vcFJ1bm5pbmcgPSBmYWxzZTtcbiAgICB9IC8vIFlpZWxkaW5nIHRvIHRoZSBicm93c2VyIHdpbGwgZ2l2ZSBpdCBhIGNoYW5jZSB0byBwYWludCwgc28gd2UgY2FuXG4gIH07XG5cbiAgdmFyIGNoYW5uZWwgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTtcbiAgdmFyIHBvcnQgPSBjaGFubmVsLnBvcnQyO1xuICBjaGFubmVsLnBvcnQxLm9ubWVzc2FnZSA9IHBlcmZvcm1Xb3JrVW50aWxEZWFkbGluZTtcblxuICByZXF1ZXN0SG9zdENhbGxiYWNrID0gZnVuY3Rpb24gKGNhbGxiYWNrKSB7XG4gICAgc2NoZWR1bGVkSG9zdENhbGxiYWNrID0gY2FsbGJhY2s7XG5cbiAgICBpZiAoIWlzTWVzc2FnZUxvb3BSdW5uaW5nKSB7XG4gICAgICBpc01lc3NhZ2VMb29wUnVubmluZyA9IHRydWU7XG4gICAgICBwb3J0LnBvc3RNZXNzYWdlKG51bGwpO1xuICAgIH1cbiAgfTtcblxuICByZXF1ZXN0SG9zdFRpbWVvdXQgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIG1zKSB7XG4gICAgdGFza1RpbWVvdXRJRCA9IF9zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgIGNhbGxiYWNrKGV4cG9ydHMudW5zdGFibGVfbm93KCkpO1xuICAgIH0sIG1zKTtcbiAgfTtcblxuICBjYW5jZWxIb3N0VGltZW91dCA9IGZ1bmN0aW9uICgpIHtcbiAgICBfY2xlYXJUaW1lb3V0KHRhc2tUaW1lb3V0SUQpO1xuXG4gICAgdGFza1RpbWVvdXRJRCA9IC0xO1xuICB9O1xufVxuXG5mdW5jdGlvbiBwdXNoKGhlYXAsIG5vZGUpIHtcbiAgdmFyIGluZGV4ID0gaGVhcC5sZW5ndGg7XG4gIGhlYXAucHVzaChub2RlKTtcbiAgc2lmdFVwKGhlYXAsIG5vZGUsIGluZGV4KTtcbn1cbmZ1bmN0aW9uIHBlZWsoaGVhcCkge1xuICB2YXIgZmlyc3QgPSBoZWFwWzBdO1xuICByZXR1cm4gZmlyc3QgPT09IHVuZGVmaW5lZCA/IG51bGwgOiBmaXJzdDtcbn1cbmZ1bmN0aW9uIHBvcChoZWFwKSB7XG4gIHZhciBmaXJzdCA9IGhlYXBbMF07XG5cbiAgaWYgKGZpcnN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICB2YXIgbGFzdCA9IGhlYXAucG9wKCk7XG5cbiAgICBpZiAobGFzdCAhPT0gZmlyc3QpIHtcbiAgICAgIGhlYXBbMF0gPSBsYXN0O1xuICAgICAgc2lmdERvd24oaGVhcCwgbGFzdCwgMCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZpcnN0O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNpZnRVcChoZWFwLCBub2RlLCBpKSB7XG4gIHZhciBpbmRleCA9IGk7XG5cbiAgd2hpbGUgKHRydWUpIHtcbiAgICB2YXIgcGFyZW50SW5kZXggPSBpbmRleCAtIDEgPj4+IDE7XG4gICAgdmFyIHBhcmVudCA9IGhlYXBbcGFyZW50SW5kZXhdO1xuXG4gICAgaWYgKHBhcmVudCAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmUocGFyZW50LCBub2RlKSA+IDApIHtcbiAgICAgIC8vIFRoZSBwYXJlbnQgaXMgbGFyZ2VyLiBTd2FwIHBvc2l0aW9ucy5cbiAgICAgIGhlYXBbcGFyZW50SW5kZXhdID0gbm9kZTtcbiAgICAgIGhlYXBbaW5kZXhdID0gcGFyZW50O1xuICAgICAgaW5kZXggPSBwYXJlbnRJbmRleDtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhlIHBhcmVudCBpcyBzbWFsbGVyLiBFeGl0LlxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzaWZ0RG93bihoZWFwLCBub2RlLCBpKSB7XG4gIHZhciBpbmRleCA9IGk7XG4gIHZhciBsZW5ndGggPSBoZWFwLmxlbmd0aDtcblxuICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcbiAgICB2YXIgbGVmdEluZGV4ID0gKGluZGV4ICsgMSkgKiAyIC0gMTtcbiAgICB2YXIgbGVmdCA9IGhlYXBbbGVmdEluZGV4XTtcbiAgICB2YXIgcmlnaHRJbmRleCA9IGxlZnRJbmRleCArIDE7XG4gICAgdmFyIHJpZ2h0ID0gaGVhcFtyaWdodEluZGV4XTsgLy8gSWYgdGhlIGxlZnQgb3IgcmlnaHQgbm9kZSBpcyBzbWFsbGVyLCBzd2FwIHdpdGggdGhlIHNtYWxsZXIgb2YgdGhvc2UuXG5cbiAgICBpZiAobGVmdCAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmUobGVmdCwgbm9kZSkgPCAwKSB7XG4gICAgICBpZiAocmlnaHQgIT09IHVuZGVmaW5lZCAmJiBjb21wYXJlKHJpZ2h0LCBsZWZ0KSA8IDApIHtcbiAgICAgICAgaGVhcFtpbmRleF0gPSByaWdodDtcbiAgICAgICAgaGVhcFtyaWdodEluZGV4XSA9IG5vZGU7XG4gICAgICAgIGluZGV4ID0gcmlnaHRJbmRleDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhlYXBbaW5kZXhdID0gbGVmdDtcbiAgICAgICAgaGVhcFtsZWZ0SW5kZXhdID0gbm9kZTtcbiAgICAgICAgaW5kZXggPSBsZWZ0SW5kZXg7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChyaWdodCAhPT0gdW5kZWZpbmVkICYmIGNvbXBhcmUocmlnaHQsIG5vZGUpIDwgMCkge1xuICAgICAgaGVhcFtpbmRleF0gPSByaWdodDtcbiAgICAgIGhlYXBbcmlnaHRJbmRleF0gPSBub2RlO1xuICAgICAgaW5kZXggPSByaWdodEluZGV4O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBOZWl0aGVyIGNoaWxkIGlzIHNtYWxsZXIuIEV4aXQuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmUoYSwgYikge1xuICAvLyBDb21wYXJlIHNvcnQgaW5kZXggZmlyc3QsIHRoZW4gdGFzayBpZC5cbiAgdmFyIGRpZmYgPSBhLnNvcnRJbmRleCAtIGIuc29ydEluZGV4O1xuICByZXR1cm4gZGlmZiAhPT0gMCA/IGRpZmYgOiBhLmlkIC0gYi5pZDtcbn1cblxuLy8gVE9ETzogVXNlIHN5bWJvbHM/XG52YXIgTm9Qcmlvcml0eSA9IDA7XG52YXIgSW1tZWRpYXRlUHJpb3JpdHkgPSAxO1xudmFyIFVzZXJCbG9ja2luZ1ByaW9yaXR5ID0gMjtcbnZhciBOb3JtYWxQcmlvcml0eSA9IDM7XG52YXIgTG93UHJpb3JpdHkgPSA0O1xudmFyIElkbGVQcmlvcml0eSA9IDU7XG5cbnZhciBydW5JZENvdW50ZXIgPSAwO1xudmFyIG1haW5UaHJlYWRJZENvdW50ZXIgPSAwO1xudmFyIHByb2ZpbGluZ1N0YXRlU2l6ZSA9IDQ7XG52YXIgc2hhcmVkUHJvZmlsaW5nQnVmZmVyID0gIC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgU2hhcmVkQXJyYXlCdWZmZXJcbnR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyA/IG5ldyBTaGFyZWRBcnJheUJ1ZmZlcihwcm9maWxpbmdTdGF0ZVNpemUgKiBJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSA6IC8vICRGbG93Rml4TWUgRmxvdyBkb2Vzbid0IGtub3cgYWJvdXQgQXJyYXlCdWZmZXJcbnR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyA/IG5ldyBBcnJheUJ1ZmZlcihwcm9maWxpbmdTdGF0ZVNpemUgKiBJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UKSA6IG51bGwgLy8gRG9uJ3QgY3Jhc2ggdGhlIGluaXQgcGF0aCBvbiBJRTlcbjtcbnZhciBwcm9maWxpbmdTdGF0ZSA9ICBzaGFyZWRQcm9maWxpbmdCdWZmZXIgIT09IG51bGwgPyBuZXcgSW50MzJBcnJheShzaGFyZWRQcm9maWxpbmdCdWZmZXIpIDogW107IC8vIFdlIGNhbid0IHJlYWQgdGhpcyBidXQgaXQgaGVscHMgc2F2ZSBieXRlcyBmb3IgbnVsbCBjaGVja3NcblxudmFyIFBSSU9SSVRZID0gMDtcbnZhciBDVVJSRU5UX1RBU0tfSUQgPSAxO1xudmFyIENVUlJFTlRfUlVOX0lEID0gMjtcbnZhciBRVUVVRV9TSVpFID0gMztcblxue1xuICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSBOb1ByaW9yaXR5OyAvLyBUaGlzIGlzIG1haW50YWluZWQgd2l0aCBhIGNvdW50ZXIsIGJlY2F1c2UgdGhlIHNpemUgb2YgdGhlIHByaW9yaXR5IHF1ZXVlXG4gIC8vIGFycmF5IG1pZ2h0IGluY2x1ZGUgY2FuY2VsZWQgdGFza3MuXG5cbiAgcHJvZmlsaW5nU3RhdGVbUVVFVUVfU0laRV0gPSAwO1xuICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gMDtcbn0gLy8gQnl0ZXMgcGVyIGVsZW1lbnQgaXMgNFxuXG5cbnZhciBJTklUSUFMX0VWRU5UX0xPR19TSVpFID0gMTMxMDcyO1xudmFyIE1BWF9FVkVOVF9MT0dfU0laRSA9IDUyNDI4ODsgLy8gRXF1aXZhbGVudCB0byAyIG1lZ2FieXRlc1xuXG52YXIgZXZlbnRMb2dTaXplID0gMDtcbnZhciBldmVudExvZ0J1ZmZlciA9IG51bGw7XG52YXIgZXZlbnRMb2cgPSBudWxsO1xudmFyIGV2ZW50TG9nSW5kZXggPSAwO1xudmFyIFRhc2tTdGFydEV2ZW50ID0gMTtcbnZhciBUYXNrQ29tcGxldGVFdmVudCA9IDI7XG52YXIgVGFza0Vycm9yRXZlbnQgPSAzO1xudmFyIFRhc2tDYW5jZWxFdmVudCA9IDQ7XG52YXIgVGFza1J1bkV2ZW50ID0gNTtcbnZhciBUYXNrWWllbGRFdmVudCA9IDY7XG52YXIgU2NoZWR1bGVyU3VzcGVuZEV2ZW50ID0gNztcbnZhciBTY2hlZHVsZXJSZXN1bWVFdmVudCA9IDg7XG5cbmZ1bmN0aW9uIGxvZ0V2ZW50KGVudHJpZXMpIHtcbiAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XG4gICAgdmFyIG9mZnNldCA9IGV2ZW50TG9nSW5kZXg7XG4gICAgZXZlbnRMb2dJbmRleCArPSBlbnRyaWVzLmxlbmd0aDtcblxuICAgIGlmIChldmVudExvZ0luZGV4ICsgMSA+IGV2ZW50TG9nU2l6ZSkge1xuICAgICAgZXZlbnRMb2dTaXplICo9IDI7XG5cbiAgICAgIGlmIChldmVudExvZ1NpemUgPiBNQVhfRVZFTlRfTE9HX1NJWkUpIHtcbiAgICAgICAgLy8gVXNpbmcgY29uc29sZVsnZXJyb3InXSB0byBldmFkZSBCYWJlbCBhbmQgRVNMaW50XG4gICAgICAgIGNvbnNvbGVbJ2Vycm9yJ10oXCJTY2hlZHVsZXIgUHJvZmlsaW5nOiBFdmVudCBsb2cgZXhjZWVkZWQgbWF4aW11bSBzaXplLiBEb24ndCBcIiArICdmb3JnZXQgdG8gY2FsbCBgc3RvcExvZ2dpbmdQcm9maWxpbmdFdmVudHMoKWAuJyk7XG4gICAgICAgIHN0b3BMb2dnaW5nUHJvZmlsaW5nRXZlbnRzKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdmFyIG5ld0V2ZW50TG9nID0gbmV3IEludDMyQXJyYXkoZXZlbnRMb2dTaXplICogNCk7XG4gICAgICBuZXdFdmVudExvZy5zZXQoZXZlbnRMb2cpO1xuICAgICAgZXZlbnRMb2dCdWZmZXIgPSBuZXdFdmVudExvZy5idWZmZXI7XG4gICAgICBldmVudExvZyA9IG5ld0V2ZW50TG9nO1xuICAgIH1cblxuICAgIGV2ZW50TG9nLnNldChlbnRyaWVzLCBvZmZzZXQpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0TG9nZ2luZ1Byb2ZpbGluZ0V2ZW50cygpIHtcbiAgZXZlbnRMb2dTaXplID0gSU5JVElBTF9FVkVOVF9MT0dfU0laRTtcbiAgZXZlbnRMb2dCdWZmZXIgPSBuZXcgQXJyYXlCdWZmZXIoZXZlbnRMb2dTaXplICogNCk7XG4gIGV2ZW50TG9nID0gbmV3IEludDMyQXJyYXkoZXZlbnRMb2dCdWZmZXIpO1xuICBldmVudExvZ0luZGV4ID0gMDtcbn1cbmZ1bmN0aW9uIHN0b3BMb2dnaW5nUHJvZmlsaW5nRXZlbnRzKCkge1xuICB2YXIgYnVmZmVyID0gZXZlbnRMb2dCdWZmZXI7XG4gIGV2ZW50TG9nU2l6ZSA9IDA7XG4gIGV2ZW50TG9nQnVmZmVyID0gbnVsbDtcbiAgZXZlbnRMb2cgPSBudWxsO1xuICBldmVudExvZ0luZGV4ID0gMDtcbiAgcmV0dXJuIGJ1ZmZlcjtcbn1cbmZ1bmN0aW9uIG1hcmtUYXNrU3RhcnQodGFzaywgbXMpIHtcbiAge1xuICAgIHByb2ZpbGluZ1N0YXRlW1FVRVVFX1NJWkVdKys7XG5cbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcbiAgICAgIC8vIHBlcmZvcm1hbmNlLm5vdyByZXR1cm5zIGEgZmxvYXQsIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHMuIFdoZW4gdGhlXG4gICAgICAvLyBldmVudCBpcyBsb2dnZWQsIGl0J3MgY29lcmNlZCB0byBhbiBpbnQuIENvbnZlcnQgdG8gbWljcm9zZWNvbmRzIHRvXG4gICAgICAvLyBtYWludGFpbiBleHRyYSBkZWdyZWVzIG9mIHByZWNpc2lvbi5cbiAgICAgIGxvZ0V2ZW50KFtUYXNrU3RhcnRFdmVudCwgbXMgKiAxMDAwLCB0YXNrLmlkLCB0YXNrLnByaW9yaXR5TGV2ZWxdKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtUYXNrQ29tcGxldGVkKHRhc2ssIG1zKSB7XG4gIHtcbiAgICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSBOb1ByaW9yaXR5O1xuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSAwO1xuICAgIHByb2ZpbGluZ1N0YXRlW1FVRVVFX1NJWkVdLS07XG5cbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcbiAgICAgIGxvZ0V2ZW50KFtUYXNrQ29tcGxldGVFdmVudCwgbXMgKiAxMDAwLCB0YXNrLmlkXSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrVGFza0NhbmNlbGVkKHRhc2ssIG1zKSB7XG4gIHtcbiAgICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXS0tO1xuXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XG4gICAgICBsb2dFdmVudChbVGFza0NhbmNlbEV2ZW50LCBtcyAqIDEwMDAsIHRhc2suaWRdKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtUYXNrRXJyb3JlZCh0YXNrLCBtcykge1xuICB7XG4gICAgcHJvZmlsaW5nU3RhdGVbUFJJT1JJVFldID0gTm9Qcmlvcml0eTtcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gMDtcbiAgICBwcm9maWxpbmdTdGF0ZVtRVUVVRV9TSVpFXS0tO1xuXG4gICAgaWYgKGV2ZW50TG9nICE9PSBudWxsKSB7XG4gICAgICBsb2dFdmVudChbVGFza0Vycm9yRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZF0pO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gbWFya1Rhc2tSdW4odGFzaywgbXMpIHtcbiAge1xuICAgIHJ1bklkQ291bnRlcisrO1xuICAgIHByb2ZpbGluZ1N0YXRlW1BSSU9SSVRZXSA9IHRhc2sucHJpb3JpdHlMZXZlbDtcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1RBU0tfSURdID0gdGFzay5pZDtcbiAgICBwcm9maWxpbmdTdGF0ZVtDVVJSRU5UX1JVTl9JRF0gPSBydW5JZENvdW50ZXI7XG5cbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcbiAgICAgIGxvZ0V2ZW50KFtUYXNrUnVuRXZlbnQsIG1zICogMTAwMCwgdGFzay5pZCwgcnVuSWRDb3VudGVyXSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrVGFza1lpZWxkKHRhc2ssIG1zKSB7XG4gIHtcbiAgICBwcm9maWxpbmdTdGF0ZVtQUklPUklUWV0gPSBOb1ByaW9yaXR5O1xuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfVEFTS19JRF0gPSAwO1xuICAgIHByb2ZpbGluZ1N0YXRlW0NVUlJFTlRfUlVOX0lEXSA9IDA7XG5cbiAgICBpZiAoZXZlbnRMb2cgIT09IG51bGwpIHtcbiAgICAgIGxvZ0V2ZW50KFtUYXNrWWllbGRFdmVudCwgbXMgKiAxMDAwLCB0YXNrLmlkLCBydW5JZENvdW50ZXJdKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG1hcmtTY2hlZHVsZXJTdXNwZW5kZWQobXMpIHtcbiAge1xuICAgIG1haW5UaHJlYWRJZENvdW50ZXIrKztcblxuICAgIGlmIChldmVudExvZyAhPT0gbnVsbCkge1xuICAgICAgbG9nRXZlbnQoW1NjaGVkdWxlclN1c3BlbmRFdmVudCwgbXMgKiAxMDAwLCBtYWluVGhyZWFkSWRDb3VudGVyXSk7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBtYXJrU2NoZWR1bGVyVW5zdXNwZW5kZWQobXMpIHtcbiAge1xuICAgIGlmIChldmVudExvZyAhPT0gbnVsbCkge1xuICAgICAgbG9nRXZlbnQoW1NjaGVkdWxlclJlc3VtZUV2ZW50LCBtcyAqIDEwMDAsIG1haW5UaHJlYWRJZENvdW50ZXJdKTtcbiAgICB9XG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgbm8tdmFyICovXG4vLyBNYXRoLnBvdygyLCAzMCkgLSAxXG4vLyAwYjExMTExMTExMTExMTExMTExMTExMTExMTExMTExMVxuXG52YXIgbWF4U2lnbmVkMzFCaXRJbnQgPSAxMDczNzQxODIzOyAvLyBUaW1lcyBvdXQgaW1tZWRpYXRlbHlcblxudmFyIElNTUVESUFURV9QUklPUklUWV9USU1FT1VUID0gLTE7IC8vIEV2ZW50dWFsbHkgdGltZXMgb3V0XG5cbnZhciBVU0VSX0JMT0NLSU5HX1BSSU9SSVRZID0gMjUwO1xudmFyIE5PUk1BTF9QUklPUklUWV9USU1FT1VUID0gNTAwMDtcbnZhciBMT1dfUFJJT1JJVFlfVElNRU9VVCA9IDEwMDAwOyAvLyBOZXZlciB0aW1lcyBvdXRcblxudmFyIElETEVfUFJJT1JJVFkgPSBtYXhTaWduZWQzMUJpdEludDsgLy8gVGFza3MgYXJlIHN0b3JlZCBvbiBhIG1pbiBoZWFwXG5cbnZhciB0YXNrUXVldWUgPSBbXTtcbnZhciB0aW1lclF1ZXVlID0gW107IC8vIEluY3JlbWVudGluZyBpZCBjb3VudGVyLiBVc2VkIHRvIG1haW50YWluIGluc2VydGlvbiBvcmRlci5cblxudmFyIHRhc2tJZENvdW50ZXIgPSAxOyAvLyBQYXVzaW5nIHRoZSBzY2hlZHVsZXIgaXMgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuXG52YXIgY3VycmVudFRhc2sgPSBudWxsO1xudmFyIGN1cnJlbnRQcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7IC8vIFRoaXMgaXMgc2V0IHdoaWxlIHBlcmZvcm1pbmcgd29yaywgdG8gcHJldmVudCByZS1lbnRyYW5jeS5cblxudmFyIGlzUGVyZm9ybWluZ1dvcmsgPSBmYWxzZTtcbnZhciBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IGZhbHNlO1xudmFyIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSBmYWxzZTtcblxuZnVuY3Rpb24gYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSkge1xuICAvLyBDaGVjayBmb3IgdGFza3MgdGhhdCBhcmUgbm8gbG9uZ2VyIGRlbGF5ZWQgYW5kIGFkZCB0aGVtIHRvIHRoZSBxdWV1ZS5cbiAgdmFyIHRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICB3aGlsZSAodGltZXIgIT09IG51bGwpIHtcbiAgICBpZiAodGltZXIuY2FsbGJhY2sgPT09IG51bGwpIHtcbiAgICAgIC8vIFRpbWVyIHdhcyBjYW5jZWxsZWQuXG4gICAgICBwb3AodGltZXJRdWV1ZSk7XG4gICAgfSBlbHNlIGlmICh0aW1lci5zdGFydFRpbWUgPD0gY3VycmVudFRpbWUpIHtcbiAgICAgIC8vIFRpbWVyIGZpcmVkLiBUcmFuc2ZlciB0byB0aGUgdGFzayBxdWV1ZS5cbiAgICAgIHBvcCh0aW1lclF1ZXVlKTtcbiAgICAgIHRpbWVyLnNvcnRJbmRleCA9IHRpbWVyLmV4cGlyYXRpb25UaW1lO1xuICAgICAgcHVzaCh0YXNrUXVldWUsIHRpbWVyKTtcblxuICAgICAge1xuICAgICAgICBtYXJrVGFza1N0YXJ0KHRpbWVyLCBjdXJyZW50VGltZSk7XG4gICAgICAgIHRpbWVyLmlzUXVldWVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gUmVtYWluaW5nIHRpbWVycyBhcmUgcGVuZGluZy5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlVGltZW91dChjdXJyZW50VGltZSkge1xuICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xuXG4gIGlmICghaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQpIHtcbiAgICBpZiAocGVlayh0YXNrUXVldWUpICE9PSBudWxsKSB7XG4gICAgICBpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCA9IHRydWU7XG4gICAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciBmaXJzdFRpbWVyID0gcGVlayh0aW1lclF1ZXVlKTtcblxuICAgICAgaWYgKGZpcnN0VGltZXIgIT09IG51bGwpIHtcbiAgICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBmbHVzaFdvcmsoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcbiAge1xuICAgIG1hcmtTY2hlZHVsZXJVbnN1c3BlbmRlZChpbml0aWFsVGltZSk7XG4gIH0gLy8gV2UnbGwgbmVlZCBhIGhvc3QgY2FsbGJhY2sgdGhlIG5leHQgdGltZSB3b3JrIGlzIHNjaGVkdWxlZC5cblxuXG4gIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gZmFsc2U7XG5cbiAgaWYgKGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQpIHtcbiAgICAvLyBXZSBzY2hlZHVsZWQgYSB0aW1lb3V0IGJ1dCBpdCdzIG5vIGxvbmdlciBuZWVkZWQuIENhbmNlbCBpdC5cbiAgICBpc0hvc3RUaW1lb3V0U2NoZWR1bGVkID0gZmFsc2U7XG4gICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgfVxuXG4gIGlzUGVyZm9ybWluZ1dvcmsgPSB0cnVlO1xuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICBpZiAoZW5hYmxlUHJvZmlsaW5nKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGN1cnJlbnRUYXNrICE9PSBudWxsKSB7XG4gICAgICAgICAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgICAgICAgICBtYXJrVGFza0Vycm9yZWQoY3VycmVudFRhc2ssIGN1cnJlbnRUaW1lKTtcbiAgICAgICAgICBjdXJyZW50VGFzay5pc1F1ZXVlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE5vIGNhdGNoIGluIHByb2QgY29kZXBhdGguXG4gICAgICByZXR1cm4gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50VGFzayA9IG51bGw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gICAgaXNQZXJmb3JtaW5nV29yayA9IGZhbHNlO1xuXG4gICAge1xuICAgICAgdmFyIF9jdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XG5cbiAgICAgIG1hcmtTY2hlZHVsZXJTdXNwZW5kZWQoX2N1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gd29ya0xvb3AoaGFzVGltZVJlbWFpbmluZywgaW5pdGlhbFRpbWUpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gaW5pdGlhbFRpbWU7XG4gIGFkdmFuY2VUaW1lcnMoY3VycmVudFRpbWUpO1xuICBjdXJyZW50VGFzayA9IHBlZWsodGFza1F1ZXVlKTtcblxuICB3aGlsZSAoY3VycmVudFRhc2sgIT09IG51bGwgJiYgIShlbmFibGVTY2hlZHVsZXJEZWJ1Z2dpbmcgKSkge1xuICAgIGlmIChjdXJyZW50VGFzay5leHBpcmF0aW9uVGltZSA+IGN1cnJlbnRUaW1lICYmICghaGFzVGltZVJlbWFpbmluZyB8fCBzaG91bGRZaWVsZFRvSG9zdCgpKSkge1xuICAgICAgLy8gVGhpcyBjdXJyZW50VGFzayBoYXNuJ3QgZXhwaXJlZCwgYW5kIHdlJ3ZlIHJlYWNoZWQgdGhlIGRlYWRsaW5lLlxuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgdmFyIGNhbGxiYWNrID0gY3VycmVudFRhc2suY2FsbGJhY2s7XG5cbiAgICBpZiAoY2FsbGJhY2sgIT09IG51bGwpIHtcbiAgICAgIGN1cnJlbnRUYXNrLmNhbGxiYWNrID0gbnVsbDtcbiAgICAgIGN1cnJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFRhc2sucHJpb3JpdHlMZXZlbDtcbiAgICAgIHZhciBkaWRVc2VyQ2FsbGJhY2tUaW1lb3V0ID0gY3VycmVudFRhc2suZXhwaXJhdGlvblRpbWUgPD0gY3VycmVudFRpbWU7XG4gICAgICBtYXJrVGFza1J1bihjdXJyZW50VGFzaywgY3VycmVudFRpbWUpO1xuICAgICAgdmFyIGNvbnRpbnVhdGlvbkNhbGxiYWNrID0gY2FsbGJhY2soZGlkVXNlckNhbGxiYWNrVGltZW91dCk7XG4gICAgICBjdXJyZW50VGltZSA9IGV4cG9ydHMudW5zdGFibGVfbm93KCk7XG5cbiAgICAgIGlmICh0eXBlb2YgY29udGludWF0aW9uQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY3VycmVudFRhc2suY2FsbGJhY2sgPSBjb250aW51YXRpb25DYWxsYmFjaztcbiAgICAgICAgbWFya1Rhc2tZaWVsZChjdXJyZW50VGFzaywgY3VycmVudFRpbWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAge1xuICAgICAgICAgIG1hcmtUYXNrQ29tcGxldGVkKGN1cnJlbnRUYXNrLCBjdXJyZW50VGltZSk7XG4gICAgICAgICAgY3VycmVudFRhc2suaXNRdWV1ZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjdXJyZW50VGFzayA9PT0gcGVlayh0YXNrUXVldWUpKSB7XG4gICAgICAgICAgcG9wKHRhc2tRdWV1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBvcCh0YXNrUXVldWUpO1xuICAgIH1cblxuICAgIGN1cnJlbnRUYXNrID0gcGVlayh0YXNrUXVldWUpO1xuICB9IC8vIFJldHVybiB3aGV0aGVyIHRoZXJlJ3MgYWRkaXRpb25hbCB3b3JrXG5cblxuICBpZiAoY3VycmVudFRhc2sgIT09IG51bGwpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfSBlbHNlIHtcbiAgICB2YXIgZmlyc3RUaW1lciA9IHBlZWsodGltZXJRdWV1ZSk7XG5cbiAgICBpZiAoZmlyc3RUaW1lciAhPT0gbnVsbCkge1xuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIGZpcnN0VGltZXIuc3RhcnRUaW1lIC0gY3VycmVudFRpbWUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9ydW5XaXRoUHJpb3JpdHkocHJpb3JpdHlMZXZlbCwgZXZlbnRIYW5kbGVyKSB7XG4gIHN3aXRjaCAocHJpb3JpdHlMZXZlbCkge1xuICAgIGNhc2UgSW1tZWRpYXRlUHJpb3JpdHk6XG4gICAgY2FzZSBVc2VyQmxvY2tpbmdQcmlvcml0eTpcbiAgICBjYXNlIE5vcm1hbFByaW9yaXR5OlxuICAgIGNhc2UgTG93UHJpb3JpdHk6XG4gICAgY2FzZSBJZGxlUHJpb3JpdHk6XG4gICAgICBicmVhaztcblxuICAgIGRlZmF1bHQ6XG4gICAgICBwcmlvcml0eUxldmVsID0gTm9ybWFsUHJpb3JpdHk7XG4gIH1cblxuICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIGN1cnJlbnRQcmlvcml0eUxldmVsID0gcHJpb3JpdHlMZXZlbDtcblxuICB0cnkge1xuICAgIHJldHVybiBldmVudEhhbmRsZXIoKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9uZXh0KGV2ZW50SGFuZGxlcikge1xuICB2YXIgcHJpb3JpdHlMZXZlbDtcblxuICBzd2l0Y2ggKGN1cnJlbnRQcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICBjYXNlIFVzZXJCbG9ja2luZ1ByaW9yaXR5OlxuICAgIGNhc2UgTm9ybWFsUHJpb3JpdHk6XG4gICAgICAvLyBTaGlmdCBkb3duIHRvIG5vcm1hbCBwcmlvcml0eVxuICAgICAgcHJpb3JpdHlMZXZlbCA9IE5vcm1hbFByaW9yaXR5O1xuICAgICAgYnJlYWs7XG5cbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQW55dGhpbmcgbG93ZXIgdGhhbiBub3JtYWwgcHJpb3JpdHkgc2hvdWxkIHJlbWFpbiBhdCB0aGUgY3VycmVudCBsZXZlbC5cbiAgICAgIHByaW9yaXR5TGV2ZWwgPSBjdXJyZW50UHJpb3JpdHlMZXZlbDtcbiAgICAgIGJyZWFrO1xuICB9XG5cbiAgdmFyIHByZXZpb3VzUHJpb3JpdHlMZXZlbCA9IGN1cnJlbnRQcmlvcml0eUxldmVsO1xuICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByaW9yaXR5TGV2ZWw7XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZXZlbnRIYW5kbGVyKCk7XG4gIH0gZmluYWxseSB7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwcmV2aW91c1ByaW9yaXR5TGV2ZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfd3JhcENhbGxiYWNrKGNhbGxiYWNrKSB7XG4gIHZhciBwYXJlbnRQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gVGhpcyBpcyBhIGZvcmsgb2YgcnVuV2l0aFByaW9yaXR5LCBpbmxpbmVkIGZvciBwZXJmb3JtYW5jZS5cbiAgICB2YXIgcHJldmlvdXNQcmlvcml0eUxldmVsID0gY3VycmVudFByaW9yaXR5TGV2ZWw7XG4gICAgY3VycmVudFByaW9yaXR5TGV2ZWwgPSBwYXJlbnRQcmlvcml0eUxldmVsO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjYWxsYmFjay5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBjdXJyZW50UHJpb3JpdHlMZXZlbCA9IHByZXZpb3VzUHJpb3JpdHlMZXZlbDtcbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHRpbWVvdXRGb3JQcmlvcml0eUxldmVsKHByaW9yaXR5TGV2ZWwpIHtcbiAgc3dpdGNoIChwcmlvcml0eUxldmVsKSB7XG4gICAgY2FzZSBJbW1lZGlhdGVQcmlvcml0eTpcbiAgICAgIHJldHVybiBJTU1FRElBVEVfUFJJT1JJVFlfVElNRU9VVDtcblxuICAgIGNhc2UgVXNlckJsb2NraW5nUHJpb3JpdHk6XG4gICAgICByZXR1cm4gVVNFUl9CTE9DS0lOR19QUklPUklUWTtcblxuICAgIGNhc2UgSWRsZVByaW9yaXR5OlxuICAgICAgcmV0dXJuIElETEVfUFJJT1JJVFk7XG5cbiAgICBjYXNlIExvd1ByaW9yaXR5OlxuICAgICAgcmV0dXJuIExPV19QUklPUklUWV9USU1FT1VUO1xuXG4gICAgY2FzZSBOb3JtYWxQcmlvcml0eTpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIE5PUk1BTF9QUklPUklUWV9USU1FT1VUO1xuICB9XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2socHJpb3JpdHlMZXZlbCwgY2FsbGJhY2ssIG9wdGlvbnMpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgdmFyIHN0YXJ0VGltZTtcbiAgdmFyIHRpbWVvdXQ7XG5cbiAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JyAmJiBvcHRpb25zICE9PSBudWxsKSB7XG4gICAgdmFyIGRlbGF5ID0gb3B0aW9ucy5kZWxheTtcblxuICAgIGlmICh0eXBlb2YgZGVsYXkgPT09ICdudW1iZXInICYmIGRlbGF5ID4gMCkge1xuICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWUgKyBkZWxheTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhcnRUaW1lID0gY3VycmVudFRpbWU7XG4gICAgfVxuXG4gICAgdGltZW91dCA9IHR5cGVvZiBvcHRpb25zLnRpbWVvdXQgPT09ICdudW1iZXInID8gb3B0aW9ucy50aW1lb3V0IDogdGltZW91dEZvclByaW9yaXR5TGV2ZWwocHJpb3JpdHlMZXZlbCk7XG4gIH0gZWxzZSB7XG4gICAgdGltZW91dCA9IHRpbWVvdXRGb3JQcmlvcml0eUxldmVsKHByaW9yaXR5TGV2ZWwpO1xuICAgIHN0YXJ0VGltZSA9IGN1cnJlbnRUaW1lO1xuICB9XG5cbiAgdmFyIGV4cGlyYXRpb25UaW1lID0gc3RhcnRUaW1lICsgdGltZW91dDtcbiAgdmFyIG5ld1Rhc2sgPSB7XG4gICAgaWQ6IHRhc2tJZENvdW50ZXIrKyxcbiAgICBjYWxsYmFjazogY2FsbGJhY2ssXG4gICAgcHJpb3JpdHlMZXZlbDogcHJpb3JpdHlMZXZlbCxcbiAgICBzdGFydFRpbWU6IHN0YXJ0VGltZSxcbiAgICBleHBpcmF0aW9uVGltZTogZXhwaXJhdGlvblRpbWUsXG4gICAgc29ydEluZGV4OiAtMVxuICB9O1xuXG4gIHtcbiAgICBuZXdUYXNrLmlzUXVldWVkID0gZmFsc2U7XG4gIH1cblxuICBpZiAoc3RhcnRUaW1lID4gY3VycmVudFRpbWUpIHtcbiAgICAvLyBUaGlzIGlzIGEgZGVsYXllZCB0YXNrLlxuICAgIG5ld1Rhc2suc29ydEluZGV4ID0gc3RhcnRUaW1lO1xuICAgIHB1c2godGltZXJRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICBpZiAocGVlayh0YXNrUXVldWUpID09PSBudWxsICYmIG5ld1Rhc2sgPT09IHBlZWsodGltZXJRdWV1ZSkpIHtcbiAgICAgIC8vIEFsbCB0YXNrcyBhcmUgZGVsYXllZCwgYW5kIHRoaXMgaXMgdGhlIHRhc2sgd2l0aCB0aGUgZWFybGllc3QgZGVsYXkuXG4gICAgICBpZiAoaXNIb3N0VGltZW91dFNjaGVkdWxlZCkge1xuICAgICAgICAvLyBDYW5jZWwgYW4gZXhpc3RpbmcgdGltZW91dC5cbiAgICAgICAgY2FuY2VsSG9zdFRpbWVvdXQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlzSG9zdFRpbWVvdXRTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgfSAvLyBTY2hlZHVsZSBhIHRpbWVvdXQuXG5cblxuICAgICAgcmVxdWVzdEhvc3RUaW1lb3V0KGhhbmRsZVRpbWVvdXQsIHN0YXJ0VGltZSAtIGN1cnJlbnRUaW1lKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgbmV3VGFzay5zb3J0SW5kZXggPSBleHBpcmF0aW9uVGltZTtcbiAgICBwdXNoKHRhc2tRdWV1ZSwgbmV3VGFzayk7XG5cbiAgICB7XG4gICAgICBtYXJrVGFza1N0YXJ0KG5ld1Rhc2ssIGN1cnJlbnRUaW1lKTtcbiAgICAgIG5ld1Rhc2suaXNRdWV1ZWQgPSB0cnVlO1xuICAgIH0gLy8gU2NoZWR1bGUgYSBob3N0IGNhbGxiYWNrLCBpZiBuZWVkZWQuIElmIHdlJ3JlIGFscmVhZHkgcGVyZm9ybWluZyB3b3JrLFxuICAgIC8vIHdhaXQgdW50aWwgdGhlIG5leHQgdGltZSB3ZSB5aWVsZC5cblxuXG4gICAgaWYgKCFpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCAmJiAhaXNQZXJmb3JtaW5nV29yaykge1xuICAgICAgaXNIb3N0Q2FsbGJhY2tTY2hlZHVsZWQgPSB0cnVlO1xuICAgICAgcmVxdWVzdEhvc3RDYWxsYmFjayhmbHVzaFdvcmspO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBuZXdUYXNrO1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9wYXVzZUV4ZWN1dGlvbigpIHtcbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfY29udGludWVFeGVjdXRpb24oKSB7XG5cbiAgaWYgKCFpc0hvc3RDYWxsYmFja1NjaGVkdWxlZCAmJiAhaXNQZXJmb3JtaW5nV29yaykge1xuICAgIGlzSG9zdENhbGxiYWNrU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICByZXF1ZXN0SG9zdENhbGxiYWNrKGZsdXNoV29yayk7XG4gIH1cbn1cblxuZnVuY3Rpb24gdW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGUoKSB7XG4gIHJldHVybiBwZWVrKHRhc2tRdWV1ZSk7XG59XG5cbmZ1bmN0aW9uIHVuc3RhYmxlX2NhbmNlbENhbGxiYWNrKHRhc2spIHtcbiAge1xuICAgIGlmICh0YXNrLmlzUXVldWVkKSB7XG4gICAgICB2YXIgY3VycmVudFRpbWUgPSBleHBvcnRzLnVuc3RhYmxlX25vdygpO1xuICAgICAgbWFya1Rhc2tDYW5jZWxlZCh0YXNrLCBjdXJyZW50VGltZSk7XG4gICAgICB0YXNrLmlzUXVldWVkID0gZmFsc2U7XG4gICAgfVxuICB9IC8vIE51bGwgb3V0IHRoZSBjYWxsYmFjayB0byBpbmRpY2F0ZSB0aGUgdGFzayBoYXMgYmVlbiBjYW5jZWxlZC4gKENhbid0XG4gIC8vIHJlbW92ZSBmcm9tIHRoZSBxdWV1ZSBiZWNhdXNlIHlvdSBjYW4ndCByZW1vdmUgYXJiaXRyYXJ5IG5vZGVzIGZyb20gYW5cbiAgLy8gYXJyYXkgYmFzZWQgaGVhcCwgb25seSB0aGUgZmlyc3Qgb25lLilcblxuXG4gIHRhc2suY2FsbGJhY2sgPSBudWxsO1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCgpIHtcbiAgcmV0dXJuIGN1cnJlbnRQcmlvcml0eUxldmVsO1xufVxuXG5mdW5jdGlvbiB1bnN0YWJsZV9zaG91bGRZaWVsZCgpIHtcbiAgdmFyIGN1cnJlbnRUaW1lID0gZXhwb3J0cy51bnN0YWJsZV9ub3coKTtcbiAgYWR2YW5jZVRpbWVycyhjdXJyZW50VGltZSk7XG4gIHZhciBmaXJzdFRhc2sgPSBwZWVrKHRhc2tRdWV1ZSk7XG4gIHJldHVybiBmaXJzdFRhc2sgIT09IGN1cnJlbnRUYXNrICYmIGN1cnJlbnRUYXNrICE9PSBudWxsICYmIGZpcnN0VGFzayAhPT0gbnVsbCAmJiBmaXJzdFRhc2suY2FsbGJhY2sgIT09IG51bGwgJiYgZmlyc3RUYXNrLnN0YXJ0VGltZSA8PSBjdXJyZW50VGltZSAmJiBmaXJzdFRhc2suZXhwaXJhdGlvblRpbWUgPCBjdXJyZW50VGFzay5leHBpcmF0aW9uVGltZSB8fCBzaG91bGRZaWVsZFRvSG9zdCgpO1xufVxuXG52YXIgdW5zdGFibGVfcmVxdWVzdFBhaW50ID0gcmVxdWVzdFBhaW50O1xudmFyIHVuc3RhYmxlX1Byb2ZpbGluZyA9ICB7XG4gIHN0YXJ0TG9nZ2luZ1Byb2ZpbGluZ0V2ZW50czogc3RhcnRMb2dnaW5nUHJvZmlsaW5nRXZlbnRzLFxuICBzdG9wTG9nZ2luZ1Byb2ZpbGluZ0V2ZW50czogc3RvcExvZ2dpbmdQcm9maWxpbmdFdmVudHMsXG4gIHNoYXJlZFByb2ZpbGluZ0J1ZmZlcjogc2hhcmVkUHJvZmlsaW5nQnVmZmVyXG59IDtcblxuZXhwb3J0cy51bnN0YWJsZV9JZGxlUHJpb3JpdHkgPSBJZGxlUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX0ltbWVkaWF0ZVByaW9yaXR5ID0gSW1tZWRpYXRlUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX0xvd1ByaW9yaXR5ID0gTG93UHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX05vcm1hbFByaW9yaXR5ID0gTm9ybWFsUHJpb3JpdHk7XG5leHBvcnRzLnVuc3RhYmxlX1Byb2ZpbGluZyA9IHVuc3RhYmxlX1Byb2ZpbGluZztcbmV4cG9ydHMudW5zdGFibGVfVXNlckJsb2NraW5nUHJpb3JpdHkgPSBVc2VyQmxvY2tpbmdQcmlvcml0eTtcbmV4cG9ydHMudW5zdGFibGVfY2FuY2VsQ2FsbGJhY2sgPSB1bnN0YWJsZV9jYW5jZWxDYWxsYmFjaztcbmV4cG9ydHMudW5zdGFibGVfY29udGludWVFeGVjdXRpb24gPSB1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbjtcbmV4cG9ydHMudW5zdGFibGVfZ2V0Q3VycmVudFByaW9yaXR5TGV2ZWwgPSB1bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbDtcbmV4cG9ydHMudW5zdGFibGVfZ2V0Rmlyc3RDYWxsYmFja05vZGUgPSB1bnN0YWJsZV9nZXRGaXJzdENhbGxiYWNrTm9kZTtcbmV4cG9ydHMudW5zdGFibGVfbmV4dCA9IHVuc3RhYmxlX25leHQ7XG5leHBvcnRzLnVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uID0gdW5zdGFibGVfcGF1c2VFeGVjdXRpb247XG5leHBvcnRzLnVuc3RhYmxlX3JlcXVlc3RQYWludCA9IHVuc3RhYmxlX3JlcXVlc3RQYWludDtcbmV4cG9ydHMudW5zdGFibGVfcnVuV2l0aFByaW9yaXR5ID0gdW5zdGFibGVfcnVuV2l0aFByaW9yaXR5O1xuZXhwb3J0cy51bnN0YWJsZV9zY2hlZHVsZUNhbGxiYWNrID0gdW5zdGFibGVfc2NoZWR1bGVDYWxsYmFjaztcbmV4cG9ydHMudW5zdGFibGVfc2hvdWxkWWllbGQgPSB1bnN0YWJsZV9zaG91bGRZaWVsZDtcbmV4cG9ydHMudW5zdGFibGVfd3JhcENhbGxiYWNrID0gdW5zdGFibGVfd3JhcENhbGxiYWNrO1xuICB9KSgpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\\n//# sourceURL=webpack-internal:///./node_modules/scheduler/cjs/scheduler.development.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/scheduler/index.js\":\n/*!*****************************************!*\\\n  !*** ./node_modules/scheduler/index.js ***!\n  \\*****************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nif (false) {} else {\\n  module.exports = __webpack_require__(/*! ./cjs/scheduler.development.js */ \\\"./node_modules/scheduler/cjs/scheduler.development.js\\\");\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL2luZGV4LmpzPzQwMjkiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsSUFBSSxLQUFxQyxFQUFFLEVBRTFDO0FBQ0QsbUJBQW1CLG1CQUFPLENBQUMsNkZBQWdDO0FBQzNEIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9pbmRleC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL2Nqcy9zY2hlZHVsZXIucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLmRldmVsb3BtZW50LmpzJyk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/scheduler/index.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/scheduler/tracing.js\":\n/*!*******************************************!*\\\n  !*** ./node_modules/scheduler/tracing.js ***!\n  \\*******************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\neval(\"\\n\\nif (false) {} else {\\n  module.exports = __webpack_require__(/*! ./cjs/scheduler-tracing.development.js */ \\\"./node_modules/scheduler/cjs/scheduler-tracing.development.js\\\");\\n}\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL3RyYWNpbmcuanM/NmYwNyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYixJQUFJLEtBQXFDLEVBQUUsRUFFMUM7QUFDRCxtQkFBbUIsbUJBQU8sQ0FBQyw2R0FBd0M7QUFDbkUiLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvc2NoZWR1bGVyL3RyYWNpbmcuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nKSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLXRyYWNpbmcucHJvZHVjdGlvbi5taW4uanMnKTtcbn0gZWxzZSB7XG4gIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9janMvc2NoZWR1bGVyLXRyYWNpbmcuZGV2ZWxvcG1lbnQuanMnKTtcbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./node_modules/scheduler/tracing.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/global.js\":\n/*!***********************************!*\\\n  !*** (webpack)/buildin/global.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"var g;\\n\\n// This works in non-strict mode\\ng = (function() {\\n\\treturn this;\\n})();\\n\\ntry {\\n\\t// This works if eval is allowed (see CSP)\\n\\tg = g || new Function(\\\"return this\\\")();\\n} catch (e) {\\n\\t// This works if the window reference is available\\n\\tif (typeof window === \\\"object\\\") g = window;\\n}\\n\\n// g can still be undefined, but nothing to do about it...\\n// We return undefined, instead of nothing here, so it's\\n// easier to handle this case. if(!global) { ...}\\n\\nmodule.exports = g;\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vZ2xvYmFsLmpzP2NkMDAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Q7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSw0Q0FBNEM7O0FBRTVDIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9nbG9iYWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgZztcblxuLy8gVGhpcyB3b3JrcyBpbiBub24tc3RyaWN0IG1vZGVcbmcgPSAoZnVuY3Rpb24oKSB7XG5cdHJldHVybiB0aGlzO1xufSkoKTtcblxudHJ5IHtcblx0Ly8gVGhpcyB3b3JrcyBpZiBldmFsIGlzIGFsbG93ZWQgKHNlZSBDU1ApXG5cdGcgPSBnIHx8IG5ldyBGdW5jdGlvbihcInJldHVybiB0aGlzXCIpKCk7XG59IGNhdGNoIChlKSB7XG5cdC8vIFRoaXMgd29ya3MgaWYgdGhlIHdpbmRvdyByZWZlcmVuY2UgaXMgYXZhaWxhYmxlXG5cdGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiKSBnID0gd2luZG93O1xufVxuXG4vLyBnIGNhbiBzdGlsbCBiZSB1bmRlZmluZWQsIGJ1dCBub3RoaW5nIHRvIGRvIGFib3V0IGl0Li4uXG4vLyBXZSByZXR1cm4gdW5kZWZpbmVkLCBpbnN0ZWFkIG9mIG5vdGhpbmcgaGVyZSwgc28gaXQnc1xuLy8gZWFzaWVyIHRvIGhhbmRsZSB0aGlzIGNhc2UuIGlmKCFnbG9iYWwpIHsgLi4ufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGc7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/global.js\\n\");\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/buildin/module.js\":\n/*!***********************************!*\\\n  !*** (webpack)/buildin/module.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"module.exports = function(module) {\\n\\tif (!module.webpackPolyfill) {\\n\\t\\tmodule.deprecate = function() {};\\n\\t\\tmodule.paths = [];\\n\\t\\t// module.parent = undefined by default\\n\\t\\tif (!module.children) module.children = [];\\n\\t\\tObject.defineProperty(module, \\\"loaded\\\", {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tget: function() {\\n\\t\\t\\t\\treturn module.l;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tObject.defineProperty(module, \\\"id\\\", {\\n\\t\\t\\tenumerable: true,\\n\\t\\t\\tget: function() {\\n\\t\\t\\t\\treturn module.i;\\n\\t\\t\\t}\\n\\t\\t});\\n\\t\\tmodule.webpackPolyfill = 1;\\n\\t}\\n\\treturn module;\\n};\\n//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vKHdlYnBhY2spL2J1aWxkaW4vbW9kdWxlLmpzP2NlZDIiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vbm9kZV9tb2R1bGVzL3dlYnBhY2svYnVpbGRpbi9tb2R1bGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuXHRpZiAoIW1vZHVsZS53ZWJwYWNrUG9seWZpbGwpIHtcblx0XHRtb2R1bGUuZGVwcmVjYXRlID0gZnVuY3Rpb24oKSB7fTtcblx0XHRtb2R1bGUucGF0aHMgPSBbXTtcblx0XHQvLyBtb2R1bGUucGFyZW50ID0gdW5kZWZpbmVkIGJ5IGRlZmF1bHRcblx0XHRpZiAoIW1vZHVsZS5jaGlsZHJlbikgbW9kdWxlLmNoaWxkcmVuID0gW107XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KG1vZHVsZSwgXCJsb2FkZWRcIiwge1xuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdGdldDogZnVuY3Rpb24oKSB7XG5cdFx0XHRcdHJldHVybiBtb2R1bGUubDtcblx0XHRcdH1cblx0XHR9KTtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkobW9kdWxlLCBcImlkXCIsIHtcblx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHRnZXQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRyZXR1cm4gbW9kdWxlLmk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0bW9kdWxlLndlYnBhY2tQb2x5ZmlsbCA9IDE7XG5cdH1cblx0cmV0dXJuIG1vZHVsZTtcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./node_modules/webpack/buildin/module.js\\n\");\n\n/***/ }),\n\n/***/ \"./resources/js/app.js\":\n/*!*****************************!*\\\n  !*** ./resources/js/app.js ***!\n  \\*****************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"/**\\n * First we will load all of this project's JavaScript dependencies which\\n * includes React and other helpers. It's a great starting point while\\n * building robust, powerful web applications using React + Laravel.\\n */\\n__webpack_require__(/*! ./bootstrap */ \\\"./resources/js/bootstrap.js\\\");\\n/**\\n * Next, we will create a fresh React component instance and attach it to\\n * the page. Then, you may begin adding components to this application\\n * or customize the JavaScript scaffolding to fit your unique needs.\\n */\\n\\n\\n__webpack_require__(/*! ./components/Example */ \\\"./resources/js/components/Example.js\\\");//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYXBwLmpzPzZkNDAiXSwibmFtZXMiOlsicmVxdWlyZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBTUFBLG1CQUFPLENBQUMsZ0RBQUQsQ0FBUDtBQUVBOzs7Ozs7O0FBTUFBLG1CQUFPLENBQUMsa0VBQUQsQ0FBUCIsImZpbGUiOiIuL3Jlc291cmNlcy9qcy9hcHAuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEZpcnN0IHdlIHdpbGwgbG9hZCBhbGwgb2YgdGhpcyBwcm9qZWN0J3MgSmF2YVNjcmlwdCBkZXBlbmRlbmNpZXMgd2hpY2hcbiAqIGluY2x1ZGVzIFJlYWN0IGFuZCBvdGhlciBoZWxwZXJzLiBJdCdzIGEgZ3JlYXQgc3RhcnRpbmcgcG9pbnQgd2hpbGVcbiAqIGJ1aWxkaW5nIHJvYnVzdCwgcG93ZXJmdWwgd2ViIGFwcGxpY2F0aW9ucyB1c2luZyBSZWFjdCArIExhcmF2ZWwuXG4gKi9cblxucmVxdWlyZSgnLi9ib290c3RyYXAnKTtcblxuLyoqXG4gKiBOZXh0LCB3ZSB3aWxsIGNyZWF0ZSBhIGZyZXNoIFJlYWN0IGNvbXBvbmVudCBpbnN0YW5jZSBhbmQgYXR0YWNoIGl0IHRvXG4gKiB0aGUgcGFnZS4gVGhlbiwgeW91IG1heSBiZWdpbiBhZGRpbmcgY29tcG9uZW50cyB0byB0aGlzIGFwcGxpY2F0aW9uXG4gKiBvciBjdXN0b21pemUgdGhlIEphdmFTY3JpcHQgc2NhZmZvbGRpbmcgdG8gZml0IHlvdXIgdW5pcXVlIG5lZWRzLlxuICovXG5cbnJlcXVpcmUoJy4vY29tcG9uZW50cy9FeGFtcGxlJyk7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./resources/js/app.js\\n\");\n\n/***/ }),\n\n/***/ \"./resources/js/bootstrap.js\":\n/*!***********************************!*\\\n  !*** ./resources/js/bootstrap.js ***!\n  \\***********************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\neval(\"window._ = __webpack_require__(/*! lodash */ \\\"./node_modules/lodash/lodash.js\\\");\\n/**\\n * We'll load jQuery and the Bootstrap jQuery plugin which provides support\\n * for JavaScript based Bootstrap features such as modals and tabs. This\\n * code may be modified to fit the specific needs of your application.\\n */\\n\\ntry {\\n  window.Popper = __webpack_require__(/*! popper.js */ \\\"./node_modules/popper.js/dist/esm/popper.js\\\")[\\\"default\\\"];\\n  window.$ = window.jQuery = __webpack_require__(/*! jquery */ \\\"./node_modules/jquery/dist/jquery.js\\\");\\n\\n  __webpack_require__(/*! bootstrap */ \\\"./node_modules/bootstrap/dist/js/bootstrap.js\\\");\\n} catch (e) {}\\n/**\\n * We'll load the axios HTTP library which allows us to easily issue requests\\n * to our Laravel back-end. This library automatically handles sending the\\n * CSRF token as a header based on the value of the \\\"XSRF\\\" token cookie.\\n */\\n\\n\\nwindow.axios = __webpack_require__(/*! axios */ \\\"./node_modules/axios/index.js\\\");\\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\\n/**\\n * Echo exposes an expressive API for subscribing to channels and listening\\n * for events that are broadcast by Laravel. Echo and event broadcasting\\n * allows your team to easily build robust real-time web applications.\\n */\\n// import Echo from 'laravel-echo';\\n// window.Pusher = require('pusher-js');\\n// window.Echo = new Echo({\\n//     broadcaster: 'pusher',\\n//     key: process.env.MIX_PUSHER_APP_KEY,\\n//     cluster: process.env.MIX_PUSHER_APP_CLUSTER,\\n//     encrypted: true\\n// });//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYm9vdHN0cmFwLmpzP2Y1NjgiXSwibmFtZXMiOlsid2luZG93IiwiXyIsInJlcXVpcmUiLCJQb3BwZXIiLCIkIiwialF1ZXJ5IiwiZSIsImF4aW9zIiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxDQUFQLEdBQVdDLG1CQUFPLENBQUMsK0NBQUQsQ0FBbEI7QUFFQTs7Ozs7O0FBTUEsSUFBSTtBQUNBRixRQUFNLENBQUNHLE1BQVAsR0FBZ0JELG1CQUFPLENBQUMsOERBQUQsQ0FBUCxXQUFoQjtBQUNBRixRQUFNLENBQUNJLENBQVAsR0FBV0osTUFBTSxDQUFDSyxNQUFQLEdBQWdCSCxtQkFBTyxDQUFDLG9EQUFELENBQWxDOztBQUVBQSxxQkFBTyxDQUFDLGdFQUFELENBQVA7QUFDSCxDQUxELENBS0UsT0FBT0ksQ0FBUCxFQUFVLENBQUU7QUFFZDs7Ozs7OztBQU1BTixNQUFNLENBQUNPLEtBQVAsR0FBZUwsbUJBQU8sQ0FBQyw0Q0FBRCxDQUF0QjtBQUVBRixNQUFNLENBQUNPLEtBQVAsQ0FBYUMsUUFBYixDQUFzQkMsT0FBdEIsQ0FBOEJDLE1BQTlCLENBQXFDLGtCQUFyQyxJQUEyRCxnQkFBM0Q7QUFFQTs7Ozs7QUFNQTtBQUVBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL2Jvb3RzdHJhcC5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIndpbmRvdy5fID0gcmVxdWlyZSgnbG9kYXNoJyk7XG5cbi8qKlxuICogV2UnbGwgbG9hZCBqUXVlcnkgYW5kIHRoZSBCb290c3RyYXAgalF1ZXJ5IHBsdWdpbiB3aGljaCBwcm92aWRlcyBzdXBwb3J0XG4gKiBmb3IgSmF2YVNjcmlwdCBiYXNlZCBCb290c3RyYXAgZmVhdHVyZXMgc3VjaCBhcyBtb2RhbHMgYW5kIHRhYnMuIFRoaXNcbiAqIGNvZGUgbWF5IGJlIG1vZGlmaWVkIHRvIGZpdCB0aGUgc3BlY2lmaWMgbmVlZHMgb2YgeW91ciBhcHBsaWNhdGlvbi5cbiAqL1xuXG50cnkge1xuICAgIHdpbmRvdy5Qb3BwZXIgPSByZXF1aXJlKCdwb3BwZXIuanMnKS5kZWZhdWx0O1xuICAgIHdpbmRvdy4kID0gd2luZG93LmpRdWVyeSA9IHJlcXVpcmUoJ2pxdWVyeScpO1xuXG4gICAgcmVxdWlyZSgnYm9vdHN0cmFwJyk7XG59IGNhdGNoIChlKSB7fVxuXG4vKipcbiAqIFdlJ2xsIGxvYWQgdGhlIGF4aW9zIEhUVFAgbGlicmFyeSB3aGljaCBhbGxvd3MgdXMgdG8gZWFzaWx5IGlzc3VlIHJlcXVlc3RzXG4gKiB0byBvdXIgTGFyYXZlbCBiYWNrLWVuZC4gVGhpcyBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyBzZW5kaW5nIHRoZVxuICogQ1NSRiB0b2tlbiBhcyBhIGhlYWRlciBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgdGhlIFwiWFNSRlwiIHRva2VuIGNvb2tpZS5cbiAqL1xuXG53aW5kb3cuYXhpb3MgPSByZXF1aXJlKCdheGlvcycpO1xuXG53aW5kb3cuYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtUmVxdWVzdGVkLVdpdGgnXSA9ICdYTUxIdHRwUmVxdWVzdCc7XG5cbi8qKlxuICogRWNobyBleHBvc2VzIGFuIGV4cHJlc3NpdmUgQVBJIGZvciBzdWJzY3JpYmluZyB0byBjaGFubmVscyBhbmQgbGlzdGVuaW5nXG4gKiBmb3IgZXZlbnRzIHRoYXQgYXJlIGJyb2FkY2FzdCBieSBMYXJhdmVsLiBFY2hvIGFuZCBldmVudCBicm9hZGNhc3RpbmdcbiAqIGFsbG93cyB5b3VyIHRlYW0gdG8gZWFzaWx5IGJ1aWxkIHJvYnVzdCByZWFsLXRpbWUgd2ViIGFwcGxpY2F0aW9ucy5cbiAqL1xuXG4vLyBpbXBvcnQgRWNobyBmcm9tICdsYXJhdmVsLWVjaG8nO1xuXG4vLyB3aW5kb3cuUHVzaGVyID0gcmVxdWlyZSgncHVzaGVyLWpzJyk7XG5cbi8vIHdpbmRvdy5FY2hvID0gbmV3IEVjaG8oe1xuLy8gICAgIGJyb2FkY2FzdGVyOiAncHVzaGVyJyxcbi8vICAgICBrZXk6IHByb2Nlc3MuZW52Lk1JWF9QVVNIRVJfQVBQX0tFWSxcbi8vICAgICBjbHVzdGVyOiBwcm9jZXNzLmVudi5NSVhfUFVTSEVSX0FQUF9DTFVTVEVSLFxuLy8gICAgIGVuY3J5cHRlZDogdHJ1ZVxuLy8gfSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./resources/js/bootstrap.js\\n\");\n\n/***/ }),\n\n/***/ \"./resources/js/components/Example.js\":\n/*!********************************************!*\\\n  !*** ./resources/js/components/Example.js ***!\n  \\********************************************/\n/*! exports provided: default */\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\neval(\"__webpack_require__.r(__webpack_exports__);\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \\\"./node_modules/react/index.js\\\");\\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ \\\"./node_modules/react-dom/index.js\\\");\\n/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);\\n\\n\\n\\nfunction Example() {\\n  return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\\\"div\\\", {\\n    className: \\\"container\\\"\\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\\\"div\\\", {\\n    className: \\\"row justify-content-center\\\"\\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\\\"div\\\", {\\n    className: \\\"col-md-8\\\"\\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\\\"div\\\", {\\n    className: \\\"card\\\"\\n  }, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\\\"div\\\", {\\n    className: \\\"card-header\\\"\\n  }, \\\"Example Component\\\"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(\\\"div\\\", {\\n    className: \\\"card-body\\\"\\n  }, \\\"I'm an example component!\\\")))));\\n}\\n\\n/* harmony default export */ __webpack_exports__[\\\"default\\\"] = (Example);\\n\\nif (document.getElementById('example')) {\\n  react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Example, null), document.getElementById('example'));\\n}//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9FeGFtcGxlLmpzPzM3NWQiXSwibmFtZXMiOlsiRXhhbXBsZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJSZWFjdERPTSIsInJlbmRlciJdLCJtYXBwaW5ncyI6IkFBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ0E7O0FBRUEsU0FBU0EsT0FBVCxHQUFtQjtBQUNmLHNCQUNJO0FBQUssYUFBUyxFQUFDO0FBQWYsa0JBQ0k7QUFBSyxhQUFTLEVBQUM7QUFBZixrQkFDSTtBQUFLLGFBQVMsRUFBQztBQUFmLGtCQUNJO0FBQUssYUFBUyxFQUFDO0FBQWYsa0JBQ0k7QUFBSyxhQUFTLEVBQUM7QUFBZix5QkFESixlQUdJO0FBQUssYUFBUyxFQUFDO0FBQWYsaUNBSEosQ0FESixDQURKLENBREosQ0FESjtBQWFIOztBQUVjQSxzRUFBZjs7QUFFQSxJQUFJQyxRQUFRLENBQUNDLGNBQVQsQ0FBd0IsU0FBeEIsQ0FBSixFQUF3QztBQUNwQ0Msa0RBQVEsQ0FBQ0MsTUFBVCxlQUFnQiwyREFBQyxPQUFELE9BQWhCLEVBQTZCSCxRQUFRLENBQUNDLGNBQVQsQ0FBd0IsU0FBeEIsQ0FBN0I7QUFDSCIsImZpbGUiOiIuL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL0V4YW1wbGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5cbmZ1bmN0aW9uIEV4YW1wbGUoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjb250YWluZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm93IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbC1tZC04XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJkLWhlYWRlclwiPkV4YW1wbGUgQ29tcG9uZW50PC9kaXY+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZC1ib2R5XCI+SSdtIGFuIGV4YW1wbGUgY29tcG9uZW50ITwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufVxuXG5leHBvcnQgZGVmYXVsdCBFeGFtcGxlO1xuXG5pZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4YW1wbGUnKSkge1xuICAgIFJlYWN0RE9NLnJlbmRlcig8RXhhbXBsZSAvPiwgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2V4YW1wbGUnKSk7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9\\n//# sourceURL=webpack-internal:///./resources/js/components/Example.js\\n\");\n\n/***/ }),\n\n/***/ \"./resources/sass/app.scss\":\n/*!*********************************!*\\\n  !*** ./resources/sass/app.scss ***!\n  \\*********************************/\n/*! no static exports found */\n/***/ (function(module, exports) {\n\neval(\"// removed by extract-text-webpack-plugin//# sourceURL=[module]\\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvc2Fzcy9hcHAuc2Nzcz80NGJjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6Ii4vcmVzb3VyY2VzL3Nhc3MvYXBwLnNjc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyByZW1vdmVkIGJ5IGV4dHJhY3QtdGV4dC13ZWJwYWNrLXBsdWdpbiJdLCJzb3VyY2VSb290IjoiIn0=\\n//# sourceURL=webpack-internal:///./resources/sass/app.scss\\n\");\n\n/***/ }),\n\n/***/ 0:\n/*!*************************************************************!*\\\n  !*** multi ./resources/js/app.js ./resources/sass/app.scss ***!\n  \\*************************************************************/\n/*! no static exports found */\n/***/ (function(module, exports, __webpack_require__) {\n\n__webpack_require__(/*! /home/softsquare/Desktop/Projects/wagenabled/resources/js/app.js */\"./resources/js/app.js\");\nmodule.exports = __webpack_require__(/*! /home/softsquare/Desktop/Projects/wagenabled/resources/sass/app.scss */\"./resources/sass/app.scss\");\n\n\n/***/ })\n\n/******/ });"
  },
  {
    "path": "public/mix-manifest.json",
    "content": "{\n    \"/js/app.js\": \"/js/app.js\",\n    \"/css/app.css\": \"/css/app.css\"\n}\n"
  },
  {
    "path": "public/plugins/bootstrap-datepicker/css/bootstrap-datepicker.css",
    "content": "/*!\n * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)\n *\n * Copyright 2012 Stefan Petre\n * Improvements by Andrew Rowls\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n.datepicker {\n  padding: 4px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  direction: ltr;\n}\n.datepicker-inline {\n  width: 220px;\n}\n.datepicker.datepicker-rtl {\n  direction: rtl;\n}\n.datepicker.datepicker-rtl table tr td span {\n  float: right;\n}\n.datepicker-dropdown {\n  top: 0;\n  left: 0;\n}\n.datepicker-dropdown:before {\n  content: '';\n  display: inline-block;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid #999;\n  border-top: 0;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  position: absolute;\n}\n.datepicker-dropdown:after {\n  content: '';\n  display: inline-block;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #fff;\n  border-top: 0;\n  position: absolute;\n}\n.datepicker-dropdown.datepicker-orient-left:before {\n  left: 6px;\n}\n.datepicker-dropdown.datepicker-orient-left:after {\n  left: 7px;\n}\n.datepicker-dropdown.datepicker-orient-right:before {\n  right: 6px;\n}\n.datepicker-dropdown.datepicker-orient-right:after {\n  right: 7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:before {\n  top: -7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:after {\n  top: -6px;\n}\n.datepicker-dropdown.datepicker-orient-top:before {\n  bottom: -7px;\n  border-bottom: 0;\n  border-top: 7px solid #999;\n}\n.datepicker-dropdown.datepicker-orient-top:after {\n  bottom: -6px;\n  border-bottom: 0;\n  border-top: 6px solid #fff;\n}\n.datepicker table {\n  margin: 0;\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.datepicker td,\n.datepicker th {\n  text-align: center;\n  width: 20px;\n  height: 20px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  border: none;\n}\n.table-striped .datepicker table tr td,\n.table-striped .datepicker table tr th {\n  background-color: transparent;\n}\n.datepicker table tr td.day:hover,\n.datepicker table tr td.day.focused {\n  background: #eee;\n  cursor: pointer;\n}\n.datepicker table tr td.old,\n.datepicker table tr td.new {\n  color: #999;\n}\n.datepicker table tr td.disabled,\n.datepicker table tr td.disabled:hover {\n  background: none;\n  color: #999;\n  cursor: default;\n}\n.datepicker table tr td.highlighted {\n  background: #d9edf7;\n  border-radius: 0;\n}\n.datepicker table tr td.today,\n.datepicker table tr td.today:hover,\n.datepicker table tr td.today.disabled,\n.datepicker table tr td.today.disabled:hover {\n  background-color: #fde19a;\n  background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));\n  background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);\n  border-color: #fdf59a #fdf59a #fbed50;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #000;\n}\n.datepicker table tr td.today:hover,\n.datepicker table tr td.today:hover:hover,\n.datepicker table tr td.today.disabled:hover,\n.datepicker table tr td.today.disabled:hover:hover,\n.datepicker table tr td.today:active,\n.datepicker table tr td.today:hover:active,\n.datepicker table tr td.today.disabled:active,\n.datepicker table tr td.today.disabled:hover:active,\n.datepicker table tr td.today.active,\n.datepicker table tr td.today:hover.active,\n.datepicker table tr td.today.disabled.active,\n.datepicker table tr td.today.disabled:hover.active,\n.datepicker table tr td.today.disabled,\n.datepicker table tr td.today:hover.disabled,\n.datepicker table tr td.today.disabled.disabled,\n.datepicker table tr td.today.disabled:hover.disabled,\n.datepicker table tr td.today[disabled],\n.datepicker table tr td.today:hover[disabled],\n.datepicker table tr td.today.disabled[disabled],\n.datepicker table tr td.today.disabled:hover[disabled] {\n  background-color: #fdf59a;\n}\n.datepicker table tr td.today:active,\n.datepicker table tr td.today:hover:active,\n.datepicker table tr td.today.disabled:active,\n.datepicker table tr td.today.disabled:hover:active,\n.datepicker table tr td.today.active,\n.datepicker table tr td.today:hover.active,\n.datepicker table tr td.today.disabled.active,\n.datepicker table tr td.today.disabled:hover.active {\n  background-color: #fbf069 \\9;\n}\n.datepicker table tr td.today:hover:hover {\n  color: #000;\n}\n.datepicker table tr td.today.active:hover {\n  color: #fff;\n}\n.datepicker table tr td.range,\n.datepicker table tr td.range:hover,\n.datepicker table tr td.range.disabled,\n.datepicker table tr td.range.disabled:hover {\n  background: #eee;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.datepicker table tr td.range.today,\n.datepicker table tr td.range.today:hover,\n.datepicker table tr td.range.today.disabled,\n.datepicker table tr td.range.today.disabled:hover {\n  background-color: #f3d17a;\n  background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));\n  background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);\n  border-color: #f3e97a #f3e97a #edde34;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.datepicker table tr td.range.today:hover,\n.datepicker table tr td.range.today:hover:hover,\n.datepicker table tr td.range.today.disabled:hover,\n.datepicker table tr td.range.today.disabled:hover:hover,\n.datepicker table tr td.range.today:active,\n.datepicker table tr td.range.today:hover:active,\n.datepicker table tr td.range.today.disabled:active,\n.datepicker table tr td.range.today.disabled:hover:active,\n.datepicker table tr td.range.today.active,\n.datepicker table tr td.range.today:hover.active,\n.datepicker table tr td.range.today.disabled.active,\n.datepicker table tr td.range.today.disabled:hover.active,\n.datepicker table tr td.range.today.disabled,\n.datepicker table tr td.range.today:hover.disabled,\n.datepicker table tr td.range.today.disabled.disabled,\n.datepicker table tr td.range.today.disabled:hover.disabled,\n.datepicker table tr td.range.today[disabled],\n.datepicker table tr td.range.today:hover[disabled],\n.datepicker table tr td.range.today.disabled[disabled],\n.datepicker table tr td.range.today.disabled:hover[disabled] {\n  background-color: #f3e97a;\n}\n.datepicker table tr td.range.today:active,\n.datepicker table tr td.range.today:hover:active,\n.datepicker table tr td.range.today.disabled:active,\n.datepicker table tr td.range.today.disabled:hover:active,\n.datepicker table tr td.range.today.active,\n.datepicker table tr td.range.today:hover.active,\n.datepicker table tr td.range.today.disabled.active,\n.datepicker table tr td.range.today.disabled:hover.active {\n  background-color: #efe24b \\9;\n}\n.datepicker table tr td.selected,\n.datepicker table tr td.selected:hover,\n.datepicker table tr td.selected.disabled,\n.datepicker table tr td.selected.disabled:hover {\n  background-color: #9e9e9e;\n  background-image: -moz-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: -ms-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));\n  background-image: -webkit-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: -o-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: linear-gradient(to bottom, #b3b3b3, #808080);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);\n  border-color: #808080 #808080 #595959;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #fff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.selected:hover,\n.datepicker table tr td.selected:hover:hover,\n.datepicker table tr td.selected.disabled:hover,\n.datepicker table tr td.selected.disabled:hover:hover,\n.datepicker table tr td.selected:active,\n.datepicker table tr td.selected:hover:active,\n.datepicker table tr td.selected.disabled:active,\n.datepicker table tr td.selected.disabled:hover:active,\n.datepicker table tr td.selected.active,\n.datepicker table tr td.selected:hover.active,\n.datepicker table tr td.selected.disabled.active,\n.datepicker table tr td.selected.disabled:hover.active,\n.datepicker table tr td.selected.disabled,\n.datepicker table tr td.selected:hover.disabled,\n.datepicker table tr td.selected.disabled.disabled,\n.datepicker table tr td.selected.disabled:hover.disabled,\n.datepicker table tr td.selected[disabled],\n.datepicker table tr td.selected:hover[disabled],\n.datepicker table tr td.selected.disabled[disabled],\n.datepicker table tr td.selected.disabled:hover[disabled] {\n  background-color: #808080;\n}\n.datepicker table tr td.selected:active,\n.datepicker table tr td.selected:hover:active,\n.datepicker table tr td.selected.disabled:active,\n.datepicker table tr td.selected.disabled:hover:active,\n.datepicker table tr td.selected.active,\n.datepicker table tr td.selected:hover.active,\n.datepicker table tr td.selected.disabled.active,\n.datepicker table tr td.selected.disabled:hover.active {\n  background-color: #666666 \\9;\n}\n.datepicker table tr td.active,\n.datepicker table tr td.active:hover,\n.datepicker table tr td.active.disabled,\n.datepicker table tr td.active.disabled:hover {\n  background-color: #006dcc;\n  background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));\n  background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -o-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: linear-gradient(to bottom, #08c, #0044cc);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #fff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.active:hover,\n.datepicker table tr td.active:hover:hover,\n.datepicker table tr td.active.disabled:hover,\n.datepicker table tr td.active.disabled:hover:hover,\n.datepicker table tr td.active:active,\n.datepicker table tr td.active:hover:active,\n.datepicker table tr td.active.disabled:active,\n.datepicker table tr td.active.disabled:hover:active,\n.datepicker table tr td.active.active,\n.datepicker table tr td.active:hover.active,\n.datepicker table tr td.active.disabled.active,\n.datepicker table tr td.active.disabled:hover.active,\n.datepicker table tr td.active.disabled,\n.datepicker table tr td.active:hover.disabled,\n.datepicker table tr td.active.disabled.disabled,\n.datepicker table tr td.active.disabled:hover.disabled,\n.datepicker table tr td.active[disabled],\n.datepicker table tr td.active:hover[disabled],\n.datepicker table tr td.active.disabled[disabled],\n.datepicker table tr td.active.disabled:hover[disabled] {\n  background-color: #0044cc;\n}\n.datepicker table tr td.active:active,\n.datepicker table tr td.active:hover:active,\n.datepicker table tr td.active.disabled:active,\n.datepicker table tr td.active.disabled:hover:active,\n.datepicker table tr td.active.active,\n.datepicker table tr td.active:hover.active,\n.datepicker table tr td.active.disabled.active,\n.datepicker table tr td.active.disabled:hover.active {\n  background-color: #003399 \\9;\n}\n.datepicker table tr td span {\n  display: block;\n  width: 23%;\n  height: 54px;\n  line-height: 54px;\n  float: left;\n  margin: 1%;\n  cursor: pointer;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.datepicker table tr td span:hover,\n.datepicker table tr td span.focused {\n  background: #eee;\n}\n.datepicker table tr td span.disabled,\n.datepicker table tr td span.disabled:hover {\n  background: none;\n  color: #999;\n  cursor: default;\n}\n.datepicker table tr td span.active,\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active.disabled,\n.datepicker table tr td span.active.disabled:hover {\n  background-color: #006dcc;\n  background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));\n  background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -o-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: linear-gradient(to bottom, #08c, #0044cc);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #fff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active:hover:hover,\n.datepicker table tr td span.active.disabled:hover,\n.datepicker table tr td span.active.disabled:hover:hover,\n.datepicker table tr td span.active:active,\n.datepicker table tr td span.active:hover:active,\n.datepicker table tr td span.active.disabled:active,\n.datepicker table tr td span.active.disabled:hover:active,\n.datepicker table tr td span.active.active,\n.datepicker table tr td span.active:hover.active,\n.datepicker table tr td span.active.disabled.active,\n.datepicker table tr td span.active.disabled:hover.active,\n.datepicker table tr td span.active.disabled,\n.datepicker table tr td span.active:hover.disabled,\n.datepicker table tr td span.active.disabled.disabled,\n.datepicker table tr td span.active.disabled:hover.disabled,\n.datepicker table tr td span.active[disabled],\n.datepicker table tr td span.active:hover[disabled],\n.datepicker table tr td span.active.disabled[disabled],\n.datepicker table tr td span.active.disabled:hover[disabled] {\n  background-color: #0044cc;\n}\n.datepicker table tr td span.active:active,\n.datepicker table tr td span.active:hover:active,\n.datepicker table tr td span.active.disabled:active,\n.datepicker table tr td span.active.disabled:hover:active,\n.datepicker table tr td span.active.active,\n.datepicker table tr td span.active:hover.active,\n.datepicker table tr td span.active.disabled.active,\n.datepicker table tr td span.active.disabled:hover.active {\n  background-color: #003399 \\9;\n}\n.datepicker table tr td span.old,\n.datepicker table tr td span.new {\n  color: #999;\n}\n.datepicker .datepicker-switch {\n  width: 145px;\n}\n.datepicker .datepicker-switch,\n.datepicker .prev,\n.datepicker .next,\n.datepicker tfoot tr th {\n  cursor: pointer;\n}\n.datepicker .datepicker-switch:hover,\n.datepicker .prev:hover,\n.datepicker .next:hover,\n.datepicker tfoot tr th:hover {\n  background: #eee;\n}\n.datepicker .cw {\n  font-size: 10px;\n  width: 12px;\n  padding: 0 2px 0 5px;\n  vertical-align: middle;\n}\n.input-append.date .add-on,\n.input-prepend.date .add-on {\n  cursor: pointer;\n}\n.input-append.date .add-on i,\n.input-prepend.date .add-on i {\n  margin-top: 3px;\n}\n.input-daterange input {\n  text-align: center;\n}\n.input-daterange input:first-child {\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.input-daterange input:last-child {\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.input-daterange .add-on {\n  display: inline-block;\n  width: auto;\n  min-width: 16px;\n  height: 18px;\n  padding: 4px 5px;\n  font-weight: normal;\n  line-height: 18px;\n  text-align: center;\n  text-shadow: 0 1px 0 #fff;\n  vertical-align: middle;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  margin-left: -5px;\n  margin-right: -5px;\n}\n/*# sourceMappingURL=bootstrap-datepicker.css.map */"
  },
  {
    "path": "public/plugins/bootstrap-datepicker/css/bootstrap-datepicker.standalone.css",
    "content": "/*!\n * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)\n *\n * Copyright 2012 Stefan Petre\n * Improvements by Andrew Rowls\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n.datepicker {\n  padding: 4px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  direction: ltr;\n}\n.datepicker-inline {\n  width: 220px;\n}\n.datepicker.datepicker-rtl {\n  direction: rtl;\n}\n.datepicker.datepicker-rtl table tr td span {\n  float: right;\n}\n.datepicker-dropdown {\n  top: 0;\n  left: 0;\n}\n.datepicker-dropdown:before {\n  content: '';\n  display: inline-block;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid #999;\n  border-top: 0;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  position: absolute;\n}\n.datepicker-dropdown:after {\n  content: '';\n  display: inline-block;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #fff;\n  border-top: 0;\n  position: absolute;\n}\n.datepicker-dropdown.datepicker-orient-left:before {\n  left: 6px;\n}\n.datepicker-dropdown.datepicker-orient-left:after {\n  left: 7px;\n}\n.datepicker-dropdown.datepicker-orient-right:before {\n  right: 6px;\n}\n.datepicker-dropdown.datepicker-orient-right:after {\n  right: 7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:before {\n  top: -7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:after {\n  top: -6px;\n}\n.datepicker-dropdown.datepicker-orient-top:before {\n  bottom: -7px;\n  border-bottom: 0;\n  border-top: 7px solid #999;\n}\n.datepicker-dropdown.datepicker-orient-top:after {\n  bottom: -6px;\n  border-bottom: 0;\n  border-top: 6px solid #fff;\n}\n.datepicker table {\n  margin: 0;\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.datepicker td,\n.datepicker th {\n  text-align: center;\n  width: 20px;\n  height: 20px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  border: none;\n}\n.table-striped .datepicker table tr td,\n.table-striped .datepicker table tr th {\n  background-color: transparent;\n}\n.datepicker table tr td.day:hover,\n.datepicker table tr td.day.focused {\n  background: #eee;\n  cursor: pointer;\n}\n.datepicker table tr td.old,\n.datepicker table tr td.new {\n  color: #999;\n}\n.datepicker table tr td.disabled,\n.datepicker table tr td.disabled:hover {\n  background: none;\n  color: #999;\n  cursor: default;\n}\n.datepicker table tr td.highlighted {\n  background: #d9edf7;\n  border-radius: 0;\n}\n.datepicker table tr td.today,\n.datepicker table tr td.today:hover,\n.datepicker table tr td.today.disabled,\n.datepicker table tr td.today.disabled:hover {\n  background-color: #fde19a;\n  background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));\n  background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);\n  border-color: #fdf59a #fdf59a #fbed50;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #000;\n}\n.datepicker table tr td.today:hover,\n.datepicker table tr td.today:hover:hover,\n.datepicker table tr td.today.disabled:hover,\n.datepicker table tr td.today.disabled:hover:hover,\n.datepicker table tr td.today:active,\n.datepicker table tr td.today:hover:active,\n.datepicker table tr td.today.disabled:active,\n.datepicker table tr td.today.disabled:hover:active,\n.datepicker table tr td.today.active,\n.datepicker table tr td.today:hover.active,\n.datepicker table tr td.today.disabled.active,\n.datepicker table tr td.today.disabled:hover.active,\n.datepicker table tr td.today.disabled,\n.datepicker table tr td.today:hover.disabled,\n.datepicker table tr td.today.disabled.disabled,\n.datepicker table tr td.today.disabled:hover.disabled,\n.datepicker table tr td.today[disabled],\n.datepicker table tr td.today:hover[disabled],\n.datepicker table tr td.today.disabled[disabled],\n.datepicker table tr td.today.disabled:hover[disabled] {\n  background-color: #fdf59a;\n}\n.datepicker table tr td.today:active,\n.datepicker table tr td.today:hover:active,\n.datepicker table tr td.today.disabled:active,\n.datepicker table tr td.today.disabled:hover:active,\n.datepicker table tr td.today.active,\n.datepicker table tr td.today:hover.active,\n.datepicker table tr td.today.disabled.active,\n.datepicker table tr td.today.disabled:hover.active {\n  background-color: #fbf069 \\9;\n}\n.datepicker table tr td.today:hover:hover {\n  color: #000;\n}\n.datepicker table tr td.today.active:hover {\n  color: #fff;\n}\n.datepicker table tr td.range,\n.datepicker table tr td.range:hover,\n.datepicker table tr td.range.disabled,\n.datepicker table tr td.range.disabled:hover {\n  background: #eee;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.datepicker table tr td.range.today,\n.datepicker table tr td.range.today:hover,\n.datepicker table tr td.range.today.disabled,\n.datepicker table tr td.range.today.disabled:hover {\n  background-color: #f3d17a;\n  background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));\n  background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);\n  border-color: #f3e97a #f3e97a #edde34;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.datepicker table tr td.range.today:hover,\n.datepicker table tr td.range.today:hover:hover,\n.datepicker table tr td.range.today.disabled:hover,\n.datepicker table tr td.range.today.disabled:hover:hover,\n.datepicker table tr td.range.today:active,\n.datepicker table tr td.range.today:hover:active,\n.datepicker table tr td.range.today.disabled:active,\n.datepicker table tr td.range.today.disabled:hover:active,\n.datepicker table tr td.range.today.active,\n.datepicker table tr td.range.today:hover.active,\n.datepicker table tr td.range.today.disabled.active,\n.datepicker table tr td.range.today.disabled:hover.active,\n.datepicker table tr td.range.today.disabled,\n.datepicker table tr td.range.today:hover.disabled,\n.datepicker table tr td.range.today.disabled.disabled,\n.datepicker table tr td.range.today.disabled:hover.disabled,\n.datepicker table tr td.range.today[disabled],\n.datepicker table tr td.range.today:hover[disabled],\n.datepicker table tr td.range.today.disabled[disabled],\n.datepicker table tr td.range.today.disabled:hover[disabled] {\n  background-color: #f3e97a;\n}\n.datepicker table tr td.range.today:active,\n.datepicker table tr td.range.today:hover:active,\n.datepicker table tr td.range.today.disabled:active,\n.datepicker table tr td.range.today.disabled:hover:active,\n.datepicker table tr td.range.today.active,\n.datepicker table tr td.range.today:hover.active,\n.datepicker table tr td.range.today.disabled.active,\n.datepicker table tr td.range.today.disabled:hover.active {\n  background-color: #efe24b \\9;\n}\n.datepicker table tr td.selected,\n.datepicker table tr td.selected:hover,\n.datepicker table tr td.selected.disabled,\n.datepicker table tr td.selected.disabled:hover {\n  background-color: #9e9e9e;\n  background-image: -moz-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: -ms-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));\n  background-image: -webkit-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: -o-linear-gradient(to bottom, #b3b3b3, #808080);\n  background-image: linear-gradient(to bottom, #b3b3b3, #808080);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);\n  border-color: #808080 #808080 #595959;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #fff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.selected:hover,\n.datepicker table tr td.selected:hover:hover,\n.datepicker table tr td.selected.disabled:hover,\n.datepicker table tr td.selected.disabled:hover:hover,\n.datepicker table tr td.selected:active,\n.datepicker table tr td.selected:hover:active,\n.datepicker table tr td.selected.disabled:active,\n.datepicker table tr td.selected.disabled:hover:active,\n.datepicker table tr td.selected.active,\n.datepicker table tr td.selected:hover.active,\n.datepicker table tr td.selected.disabled.active,\n.datepicker table tr td.selected.disabled:hover.active,\n.datepicker table tr td.selected.disabled,\n.datepicker table tr td.selected:hover.disabled,\n.datepicker table tr td.selected.disabled.disabled,\n.datepicker table tr td.selected.disabled:hover.disabled,\n.datepicker table tr td.selected[disabled],\n.datepicker table tr td.selected:hover[disabled],\n.datepicker table tr td.selected.disabled[disabled],\n.datepicker table tr td.selected.disabled:hover[disabled] {\n  background-color: #808080;\n}\n.datepicker table tr td.selected:active,\n.datepicker table tr td.selected:hover:active,\n.datepicker table tr td.selected.disabled:active,\n.datepicker table tr td.selected.disabled:hover:active,\n.datepicker table tr td.selected.active,\n.datepicker table tr td.selected:hover.active,\n.datepicker table tr td.selected.disabled.active,\n.datepicker table tr td.selected.disabled:hover.active {\n  background-color: #666666 \\9;\n}\n.datepicker table tr td.active,\n.datepicker table tr td.active:hover,\n.datepicker table tr td.active.disabled,\n.datepicker table tr td.active.disabled:hover {\n  background-color: #006dcc;\n  background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));\n  background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -o-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: linear-gradient(to bottom, #08c, #0044cc);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #fff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.active:hover,\n.datepicker table tr td.active:hover:hover,\n.datepicker table tr td.active.disabled:hover,\n.datepicker table tr td.active.disabled:hover:hover,\n.datepicker table tr td.active:active,\n.datepicker table tr td.active:hover:active,\n.datepicker table tr td.active.disabled:active,\n.datepicker table tr td.active.disabled:hover:active,\n.datepicker table tr td.active.active,\n.datepicker table tr td.active:hover.active,\n.datepicker table tr td.active.disabled.active,\n.datepicker table tr td.active.disabled:hover.active,\n.datepicker table tr td.active.disabled,\n.datepicker table tr td.active:hover.disabled,\n.datepicker table tr td.active.disabled.disabled,\n.datepicker table tr td.active.disabled:hover.disabled,\n.datepicker table tr td.active[disabled],\n.datepicker table tr td.active:hover[disabled],\n.datepicker table tr td.active.disabled[disabled],\n.datepicker table tr td.active.disabled:hover[disabled] {\n  background-color: #0044cc;\n}\n.datepicker table tr td.active:active,\n.datepicker table tr td.active:hover:active,\n.datepicker table tr td.active.disabled:active,\n.datepicker table tr td.active.disabled:hover:active,\n.datepicker table tr td.active.active,\n.datepicker table tr td.active:hover.active,\n.datepicker table tr td.active.disabled.active,\n.datepicker table tr td.active.disabled:hover.active {\n  background-color: #003399 \\9;\n}\n.datepicker table tr td span {\n  display: block;\n  width: 23%;\n  height: 54px;\n  line-height: 54px;\n  float: left;\n  margin: 1%;\n  cursor: pointer;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.datepicker table tr td span:hover,\n.datepicker table tr td span.focused {\n  background: #eee;\n}\n.datepicker table tr td span.disabled,\n.datepicker table tr td span.disabled:hover {\n  background: none;\n  color: #999;\n  cursor: default;\n}\n.datepicker table tr td span.active,\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active.disabled,\n.datepicker table tr td span.active.disabled:hover {\n  background-color: #006dcc;\n  background-image: -moz-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -ms-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#08c), to(#0044cc));\n  background-image: -webkit-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: -o-linear-gradient(to bottom, #08c, #0044cc);\n  background-image: linear-gradient(to bottom, #08c, #0044cc);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#08c', endColorstr='#0044cc', GradientType=0);\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);\n  color: #fff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active:hover:hover,\n.datepicker table tr td span.active.disabled:hover,\n.datepicker table tr td span.active.disabled:hover:hover,\n.datepicker table tr td span.active:active,\n.datepicker table tr td span.active:hover:active,\n.datepicker table tr td span.active.disabled:active,\n.datepicker table tr td span.active.disabled:hover:active,\n.datepicker table tr td span.active.active,\n.datepicker table tr td span.active:hover.active,\n.datepicker table tr td span.active.disabled.active,\n.datepicker table tr td span.active.disabled:hover.active,\n.datepicker table tr td span.active.disabled,\n.datepicker table tr td span.active:hover.disabled,\n.datepicker table tr td span.active.disabled.disabled,\n.datepicker table tr td span.active.disabled:hover.disabled,\n.datepicker table tr td span.active[disabled],\n.datepicker table tr td span.active:hover[disabled],\n.datepicker table tr td span.active.disabled[disabled],\n.datepicker table tr td span.active.disabled:hover[disabled] {\n  background-color: #0044cc;\n}\n.datepicker table tr td span.active:active,\n.datepicker table tr td span.active:hover:active,\n.datepicker table tr td span.active.disabled:active,\n.datepicker table tr td span.active.disabled:hover:active,\n.datepicker table tr td span.active.active,\n.datepicker table tr td span.active:hover.active,\n.datepicker table tr td span.active.disabled.active,\n.datepicker table tr td span.active.disabled:hover.active {\n  background-color: #003399 \\9;\n}\n.datepicker table tr td span.old,\n.datepicker table tr td span.new {\n  color: #999;\n}\n.datepicker .datepicker-switch {\n  width: 145px;\n}\n.datepicker .datepicker-switch,\n.datepicker .prev,\n.datepicker .next,\n.datepicker tfoot tr th {\n  cursor: pointer;\n}\n.datepicker .datepicker-switch:hover,\n.datepicker .prev:hover,\n.datepicker .next:hover,\n.datepicker tfoot tr th:hover {\n  background: #eee;\n}\n.datepicker .cw {\n  font-size: 10px;\n  width: 12px;\n  padding: 0 2px 0 5px;\n  vertical-align: middle;\n}\n.input-append.date .add-on,\n.input-prepend.date .add-on {\n  cursor: pointer;\n}\n.input-append.date .add-on i,\n.input-prepend.date .add-on i {\n  margin-top: 3px;\n}\n.input-daterange input {\n  text-align: center;\n}\n.input-daterange input:first-child {\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.input-daterange input:last-child {\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.input-daterange .add-on {\n  display: inline-block;\n  width: auto;\n  min-width: 16px;\n  height: 20px;\n  padding: 4px 5px;\n  font-weight: normal;\n  line-height: 20px;\n  text-align: center;\n  text-shadow: 0 1px 0 #fff;\n  vertical-align: middle;\n  background-color: #eee;\n  border: 1px solid #ccc;\n  margin-left: -5px;\n  margin-right: -5px;\n}\n.datepicker.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  float: left;\n  display: none;\n  min-width: 160px;\n  list-style: none;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding;\n  background-clip: padding-box;\n  *border-right-width: 2px;\n  *border-bottom-width: 2px;\n  color: #333333;\n  font-size: 13px;\n  line-height: 20px;\n}\n.datepicker.dropdown-menu th,\n.datepicker.datepicker-inline th,\n.datepicker.dropdown-menu td,\n.datepicker.datepicker-inline td {\n  padding: 4px 5px;\n}\n/*# sourceMappingURL=bootstrap-datepicker.standalone.css.map */"
  },
  {
    "path": "public/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.css",
    "content": "/*!\n * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)\n *\n * Copyright 2012 Stefan Petre\n * Improvements by Andrew Rowls\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n.datepicker {\n  border-radius: 4px;\n  direction: ltr;\n}\n.datepicker-inline {\n  width: 220px;\n}\n.datepicker.datepicker-rtl {\n  direction: rtl;\n}\n.datepicker.datepicker-rtl table tr td span {\n  float: right;\n}\n.datepicker-dropdown {\n  top: 0;\n  left: 0;\n  padding: 4px;\n}\n.datepicker-dropdown:before {\n  content: '';\n  display: inline-block;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid rgba(0, 0, 0, 0.15);\n  border-top: 0;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  position: absolute;\n}\n.datepicker-dropdown:after {\n  content: '';\n  display: inline-block;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #fff;\n  border-top: 0;\n  position: absolute;\n}\n.datepicker-dropdown.datepicker-orient-left:before {\n  left: 6px;\n}\n.datepicker-dropdown.datepicker-orient-left:after {\n  left: 7px;\n}\n.datepicker-dropdown.datepicker-orient-right:before {\n  right: 6px;\n}\n.datepicker-dropdown.datepicker-orient-right:after {\n  right: 7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:before {\n  top: -7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:after {\n  top: -6px;\n}\n.datepicker-dropdown.datepicker-orient-top:before {\n  bottom: -7px;\n  border-bottom: 0;\n  border-top: 7px solid rgba(0, 0, 0, 0.15);\n}\n.datepicker-dropdown.datepicker-orient-top:after {\n  bottom: -6px;\n  border-bottom: 0;\n  border-top: 6px solid #fff;\n}\n.datepicker table {\n  margin: 0;\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.datepicker table tr td,\n.datepicker table tr th {\n  text-align: center;\n  width: 30px;\n  height: 30px;\n  border-radius: 4px;\n  border: none;\n}\n.table-striped .datepicker table tr td,\n.table-striped .datepicker table tr th {\n  background-color: transparent;\n}\n.datepicker table tr td.old,\n.datepicker table tr td.new {\n  color: #777777;\n}\n.datepicker table tr td.day:hover,\n.datepicker table tr td.focused {\n  background: #eeeeee;\n  cursor: pointer;\n}\n.datepicker table tr td.disabled,\n.datepicker table tr td.disabled:hover {\n  background: none;\n  color: #777777;\n  cursor: default;\n}\n.datepicker table tr td.highlighted {\n  color: #000;\n  background-color: #d9edf7;\n  border-color: #85c5e5;\n  border-radius: 0;\n}\n.datepicker table tr td.highlighted:focus,\n.datepicker table tr td.highlighted.focus {\n  color: #000;\n  background-color: #afd9ee;\n  border-color: #298fc2;\n}\n.datepicker table tr td.highlighted:hover {\n  color: #000;\n  background-color: #afd9ee;\n  border-color: #52addb;\n}\n.datepicker table tr td.highlighted:active,\n.datepicker table tr td.highlighted.active {\n  color: #000;\n  background-color: #afd9ee;\n  border-color: #52addb;\n}\n.datepicker table tr td.highlighted:active:hover,\n.datepicker table tr td.highlighted.active:hover,\n.datepicker table tr td.highlighted:active:focus,\n.datepicker table tr td.highlighted.active:focus,\n.datepicker table tr td.highlighted:active.focus,\n.datepicker table tr td.highlighted.active.focus {\n  color: #000;\n  background-color: #91cbe8;\n  border-color: #298fc2;\n}\n.datepicker table tr td.highlighted.disabled:hover,\n.datepicker table tr td.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.highlighted:hover,\n.datepicker table tr td.highlighted.disabled:focus,\n.datepicker table tr td.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.highlighted:focus,\n.datepicker table tr td.highlighted.disabled.focus,\n.datepicker table tr td.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.highlighted.focus {\n  background-color: #d9edf7;\n  border-color: #85c5e5;\n}\n.datepicker table tr td.highlighted.focused {\n  background: #afd9ee;\n}\n.datepicker table tr td.highlighted.disabled,\n.datepicker table tr td.highlighted.disabled:active {\n  background: #d9edf7;\n  color: #777777;\n}\n.datepicker table tr td.today {\n  color: #000;\n  background-color: #ffdb99;\n  border-color: #ffb733;\n}\n.datepicker table tr td.today:focus,\n.datepicker table tr td.today.focus {\n  color: #000;\n  background-color: #ffc966;\n  border-color: #b37400;\n}\n.datepicker table tr td.today:hover {\n  color: #000;\n  background-color: #ffc966;\n  border-color: #f59e00;\n}\n.datepicker table tr td.today:active,\n.datepicker table tr td.today.active {\n  color: #000;\n  background-color: #ffc966;\n  border-color: #f59e00;\n}\n.datepicker table tr td.today:active:hover,\n.datepicker table tr td.today.active:hover,\n.datepicker table tr td.today:active:focus,\n.datepicker table tr td.today.active:focus,\n.datepicker table tr td.today:active.focus,\n.datepicker table tr td.today.active.focus {\n  color: #000;\n  background-color: #ffbc42;\n  border-color: #b37400;\n}\n.datepicker table tr td.today.disabled:hover,\n.datepicker table tr td.today[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.today:hover,\n.datepicker table tr td.today.disabled:focus,\n.datepicker table tr td.today[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.today:focus,\n.datepicker table tr td.today.disabled.focus,\n.datepicker table tr td.today[disabled].focus,\nfieldset[disabled] .datepicker table tr td.today.focus {\n  background-color: #ffdb99;\n  border-color: #ffb733;\n}\n.datepicker table tr td.today.focused {\n  background: #ffc966;\n}\n.datepicker table tr td.today.disabled,\n.datepicker table tr td.today.disabled:active {\n  background: #ffdb99;\n  color: #777777;\n}\n.datepicker table tr td.range {\n  color: #000;\n  background-color: #eeeeee;\n  border-color: #bbbbbb;\n  border-radius: 0;\n}\n.datepicker table tr td.range:focus,\n.datepicker table tr td.range.focus {\n  color: #000;\n  background-color: #d5d5d5;\n  border-color: #7c7c7c;\n}\n.datepicker table tr td.range:hover {\n  color: #000;\n  background-color: #d5d5d5;\n  border-color: #9d9d9d;\n}\n.datepicker table tr td.range:active,\n.datepicker table tr td.range.active {\n  color: #000;\n  background-color: #d5d5d5;\n  border-color: #9d9d9d;\n}\n.datepicker table tr td.range:active:hover,\n.datepicker table tr td.range.active:hover,\n.datepicker table tr td.range:active:focus,\n.datepicker table tr td.range.active:focus,\n.datepicker table tr td.range:active.focus,\n.datepicker table tr td.range.active.focus {\n  color: #000;\n  background-color: #c3c3c3;\n  border-color: #7c7c7c;\n}\n.datepicker table tr td.range.disabled:hover,\n.datepicker table tr td.range[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.range:hover,\n.datepicker table tr td.range.disabled:focus,\n.datepicker table tr td.range[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.range:focus,\n.datepicker table tr td.range.disabled.focus,\n.datepicker table tr td.range[disabled].focus,\nfieldset[disabled] .datepicker table tr td.range.focus {\n  background-color: #eeeeee;\n  border-color: #bbbbbb;\n}\n.datepicker table tr td.range.focused {\n  background: #d5d5d5;\n}\n.datepicker table tr td.range.disabled,\n.datepicker table tr td.range.disabled:active {\n  background: #eeeeee;\n  color: #777777;\n}\n.datepicker table tr td.range.highlighted {\n  color: #000;\n  background-color: #e4eef3;\n  border-color: #9dc1d3;\n}\n.datepicker table tr td.range.highlighted:focus,\n.datepicker table tr td.range.highlighted.focus {\n  color: #000;\n  background-color: #c1d7e3;\n  border-color: #4b88a6;\n}\n.datepicker table tr td.range.highlighted:hover {\n  color: #000;\n  background-color: #c1d7e3;\n  border-color: #73a6c0;\n}\n.datepicker table tr td.range.highlighted:active,\n.datepicker table tr td.range.highlighted.active {\n  color: #000;\n  background-color: #c1d7e3;\n  border-color: #73a6c0;\n}\n.datepicker table tr td.range.highlighted:active:hover,\n.datepicker table tr td.range.highlighted.active:hover,\n.datepicker table tr td.range.highlighted:active:focus,\n.datepicker table tr td.range.highlighted.active:focus,\n.datepicker table tr td.range.highlighted:active.focus,\n.datepicker table tr td.range.highlighted.active.focus {\n  color: #000;\n  background-color: #a8c8d8;\n  border-color: #4b88a6;\n}\n.datepicker table tr td.range.highlighted.disabled:hover,\n.datepicker table tr td.range.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.range.highlighted:hover,\n.datepicker table tr td.range.highlighted.disabled:focus,\n.datepicker table tr td.range.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.range.highlighted:focus,\n.datepicker table tr td.range.highlighted.disabled.focus,\n.datepicker table tr td.range.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.range.highlighted.focus {\n  background-color: #e4eef3;\n  border-color: #9dc1d3;\n}\n.datepicker table tr td.range.highlighted.focused {\n  background: #c1d7e3;\n}\n.datepicker table tr td.range.highlighted.disabled,\n.datepicker table tr td.range.highlighted.disabled:active {\n  background: #e4eef3;\n  color: #777777;\n}\n.datepicker table tr td.range.today {\n  color: #000;\n  background-color: #f7ca77;\n  border-color: #f1a417;\n}\n.datepicker table tr td.range.today:focus,\n.datepicker table tr td.range.today.focus {\n  color: #000;\n  background-color: #f4b747;\n  border-color: #815608;\n}\n.datepicker table tr td.range.today:hover {\n  color: #000;\n  background-color: #f4b747;\n  border-color: #bf800c;\n}\n.datepicker table tr td.range.today:active,\n.datepicker table tr td.range.today.active {\n  color: #000;\n  background-color: #f4b747;\n  border-color: #bf800c;\n}\n.datepicker table tr td.range.today:active:hover,\n.datepicker table tr td.range.today.active:hover,\n.datepicker table tr td.range.today:active:focus,\n.datepicker table tr td.range.today.active:focus,\n.datepicker table tr td.range.today:active.focus,\n.datepicker table tr td.range.today.active.focus {\n  color: #000;\n  background-color: #f2aa25;\n  border-color: #815608;\n}\n.datepicker table tr td.range.today.disabled:hover,\n.datepicker table tr td.range.today[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.range.today:hover,\n.datepicker table tr td.range.today.disabled:focus,\n.datepicker table tr td.range.today[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.range.today:focus,\n.datepicker table tr td.range.today.disabled.focus,\n.datepicker table tr td.range.today[disabled].focus,\nfieldset[disabled] .datepicker table tr td.range.today.focus {\n  background-color: #f7ca77;\n  border-color: #f1a417;\n}\n.datepicker table tr td.range.today.disabled,\n.datepicker table tr td.range.today.disabled:active {\n  background: #f7ca77;\n  color: #777777;\n}\n.datepicker table tr td.selected,\n.datepicker table tr td.selected.highlighted {\n  color: #fff;\n  background-color: #777777;\n  border-color: #555555;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.selected:focus,\n.datepicker table tr td.selected.highlighted:focus,\n.datepicker table tr td.selected.focus,\n.datepicker table tr td.selected.highlighted.focus {\n  color: #fff;\n  background-color: #5e5e5e;\n  border-color: #161616;\n}\n.datepicker table tr td.selected:hover,\n.datepicker table tr td.selected.highlighted:hover {\n  color: #fff;\n  background-color: #5e5e5e;\n  border-color: #373737;\n}\n.datepicker table tr td.selected:active,\n.datepicker table tr td.selected.highlighted:active,\n.datepicker table tr td.selected.active,\n.datepicker table tr td.selected.highlighted.active {\n  color: #fff;\n  background-color: #5e5e5e;\n  border-color: #373737;\n}\n.datepicker table tr td.selected:active:hover,\n.datepicker table tr td.selected.highlighted:active:hover,\n.datepicker table tr td.selected.active:hover,\n.datepicker table tr td.selected.highlighted.active:hover,\n.datepicker table tr td.selected:active:focus,\n.datepicker table tr td.selected.highlighted:active:focus,\n.datepicker table tr td.selected.active:focus,\n.datepicker table tr td.selected.highlighted.active:focus,\n.datepicker table tr td.selected:active.focus,\n.datepicker table tr td.selected.highlighted:active.focus,\n.datepicker table tr td.selected.active.focus,\n.datepicker table tr td.selected.highlighted.active.focus {\n  color: #fff;\n  background-color: #4c4c4c;\n  border-color: #161616;\n}\n.datepicker table tr td.selected.disabled:hover,\n.datepicker table tr td.selected.highlighted.disabled:hover,\n.datepicker table tr td.selected[disabled]:hover,\n.datepicker table tr td.selected.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.selected:hover,\nfieldset[disabled] .datepicker table tr td.selected.highlighted:hover,\n.datepicker table tr td.selected.disabled:focus,\n.datepicker table tr td.selected.highlighted.disabled:focus,\n.datepicker table tr td.selected[disabled]:focus,\n.datepicker table tr td.selected.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.selected:focus,\nfieldset[disabled] .datepicker table tr td.selected.highlighted:focus,\n.datepicker table tr td.selected.disabled.focus,\n.datepicker table tr td.selected.highlighted.disabled.focus,\n.datepicker table tr td.selected[disabled].focus,\n.datepicker table tr td.selected.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.selected.focus,\nfieldset[disabled] .datepicker table tr td.selected.highlighted.focus {\n  background-color: #777777;\n  border-color: #555555;\n}\n.datepicker table tr td.active,\n.datepicker table tr td.active.highlighted {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.active:focus,\n.datepicker table tr td.active.highlighted:focus,\n.datepicker table tr td.active.focus,\n.datepicker table tr td.active.highlighted.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.datepicker table tr td.active:hover,\n.datepicker table tr td.active.highlighted:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td.active:active,\n.datepicker table tr td.active.highlighted:active,\n.datepicker table tr td.active.active,\n.datepicker table tr td.active.highlighted.active {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td.active:active:hover,\n.datepicker table tr td.active.highlighted:active:hover,\n.datepicker table tr td.active.active:hover,\n.datepicker table tr td.active.highlighted.active:hover,\n.datepicker table tr td.active:active:focus,\n.datepicker table tr td.active.highlighted:active:focus,\n.datepicker table tr td.active.active:focus,\n.datepicker table tr td.active.highlighted.active:focus,\n.datepicker table tr td.active:active.focus,\n.datepicker table tr td.active.highlighted:active.focus,\n.datepicker table tr td.active.active.focus,\n.datepicker table tr td.active.highlighted.active.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.datepicker table tr td.active.disabled:hover,\n.datepicker table tr td.active.highlighted.disabled:hover,\n.datepicker table tr td.active[disabled]:hover,\n.datepicker table tr td.active.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.active:hover,\nfieldset[disabled] .datepicker table tr td.active.highlighted:hover,\n.datepicker table tr td.active.disabled:focus,\n.datepicker table tr td.active.highlighted.disabled:focus,\n.datepicker table tr td.active[disabled]:focus,\n.datepicker table tr td.active.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.active:focus,\nfieldset[disabled] .datepicker table tr td.active.highlighted:focus,\n.datepicker table tr td.active.disabled.focus,\n.datepicker table tr td.active.highlighted.disabled.focus,\n.datepicker table tr td.active[disabled].focus,\n.datepicker table tr td.active.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.active.focus,\nfieldset[disabled] .datepicker table tr td.active.highlighted.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.datepicker table tr td span {\n  display: block;\n  width: 23%;\n  height: 54px;\n  line-height: 54px;\n  float: left;\n  margin: 1%;\n  cursor: pointer;\n  border-radius: 4px;\n}\n.datepicker table tr td span:hover,\n.datepicker table tr td span.focused {\n  background: #eeeeee;\n}\n.datepicker table tr td span.disabled,\n.datepicker table tr td span.disabled:hover {\n  background: none;\n  color: #777777;\n  cursor: default;\n}\n.datepicker table tr td span.active,\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active.disabled,\n.datepicker table tr td span.active.disabled:hover {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td span.active:focus,\n.datepicker table tr td span.active:hover:focus,\n.datepicker table tr td span.active.disabled:focus,\n.datepicker table tr td span.active.disabled:hover:focus,\n.datepicker table tr td span.active.focus,\n.datepicker table tr td span.active:hover.focus,\n.datepicker table tr td span.active.disabled.focus,\n.datepicker table tr td span.active.disabled:hover.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active:hover:hover,\n.datepicker table tr td span.active.disabled:hover,\n.datepicker table tr td span.active.disabled:hover:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td span.active:active,\n.datepicker table tr td span.active:hover:active,\n.datepicker table tr td span.active.disabled:active,\n.datepicker table tr td span.active.disabled:hover:active,\n.datepicker table tr td span.active.active,\n.datepicker table tr td span.active:hover.active,\n.datepicker table tr td span.active.disabled.active,\n.datepicker table tr td span.active.disabled:hover.active {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td span.active:active:hover,\n.datepicker table tr td span.active:hover:active:hover,\n.datepicker table tr td span.active.disabled:active:hover,\n.datepicker table tr td span.active.disabled:hover:active:hover,\n.datepicker table tr td span.active.active:hover,\n.datepicker table tr td span.active:hover.active:hover,\n.datepicker table tr td span.active.disabled.active:hover,\n.datepicker table tr td span.active.disabled:hover.active:hover,\n.datepicker table tr td span.active:active:focus,\n.datepicker table tr td span.active:hover:active:focus,\n.datepicker table tr td span.active.disabled:active:focus,\n.datepicker table tr td span.active.disabled:hover:active:focus,\n.datepicker table tr td span.active.active:focus,\n.datepicker table tr td span.active:hover.active:focus,\n.datepicker table tr td span.active.disabled.active:focus,\n.datepicker table tr td span.active.disabled:hover.active:focus,\n.datepicker table tr td span.active:active.focus,\n.datepicker table tr td span.active:hover:active.focus,\n.datepicker table tr td span.active.disabled:active.focus,\n.datepicker table tr td span.active.disabled:hover:active.focus,\n.datepicker table tr td span.active.active.focus,\n.datepicker table tr td span.active:hover.active.focus,\n.datepicker table tr td span.active.disabled.active.focus,\n.datepicker table tr td span.active.disabled:hover.active.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.datepicker table tr td span.active.disabled:hover,\n.datepicker table tr td span.active:hover.disabled:hover,\n.datepicker table tr td span.active.disabled.disabled:hover,\n.datepicker table tr td span.active.disabled:hover.disabled:hover,\n.datepicker table tr td span.active[disabled]:hover,\n.datepicker table tr td span.active:hover[disabled]:hover,\n.datepicker table tr td span.active.disabled[disabled]:hover,\n.datepicker table tr td span.active.disabled:hover[disabled]:hover,\nfieldset[disabled] .datepicker table tr td span.active:hover,\nfieldset[disabled] .datepicker table tr td span.active:hover:hover,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,\n.datepicker table tr td span.active.disabled:focus,\n.datepicker table tr td span.active:hover.disabled:focus,\n.datepicker table tr td span.active.disabled.disabled:focus,\n.datepicker table tr td span.active.disabled:hover.disabled:focus,\n.datepicker table tr td span.active[disabled]:focus,\n.datepicker table tr td span.active:hover[disabled]:focus,\n.datepicker table tr td span.active.disabled[disabled]:focus,\n.datepicker table tr td span.active.disabled:hover[disabled]:focus,\nfieldset[disabled] .datepicker table tr td span.active:focus,\nfieldset[disabled] .datepicker table tr td span.active:hover:focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled:focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,\n.datepicker table tr td span.active.disabled.focus,\n.datepicker table tr td span.active:hover.disabled.focus,\n.datepicker table tr td span.active.disabled.disabled.focus,\n.datepicker table tr td span.active.disabled:hover.disabled.focus,\n.datepicker table tr td span.active[disabled].focus,\n.datepicker table tr td span.active:hover[disabled].focus,\n.datepicker table tr td span.active.disabled[disabled].focus,\n.datepicker table tr td span.active.disabled:hover[disabled].focus,\nfieldset[disabled] .datepicker table tr td span.active.focus,\nfieldset[disabled] .datepicker table tr td span.active:hover.focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled.focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.datepicker table tr td span.old,\n.datepicker table tr td span.new {\n  color: #777777;\n}\n.datepicker .datepicker-switch {\n  width: 145px;\n}\n.datepicker .datepicker-switch,\n.datepicker .prev,\n.datepicker .next,\n.datepicker tfoot tr th {\n  cursor: pointer;\n}\n.datepicker .datepicker-switch:hover,\n.datepicker .prev:hover,\n.datepicker .next:hover,\n.datepicker tfoot tr th:hover {\n  background: #eeeeee;\n}\n.datepicker .cw {\n  font-size: 10px;\n  width: 12px;\n  padding: 0 2px 0 5px;\n  vertical-align: middle;\n}\n.input-group.date .input-group-addon {\n  cursor: pointer;\n}\n.input-daterange {\n  width: 100%;\n}\n.input-daterange input {\n  text-align: center;\n}\n.input-daterange input:first-child {\n  border-radius: 3px 0 0 3px;\n}\n.input-daterange input:last-child {\n  border-radius: 0 3px 3px 0;\n}\n.input-daterange .input-group-addon {\n  width: auto;\n  min-width: 16px;\n  padding: 4px 5px;\n  line-height: 1.42857143;\n  text-shadow: 0 1px 0 #fff;\n  border-width: 1px 0;\n  margin-left: -5px;\n  margin-right: -5px;\n}\n/*# sourceMappingURL=bootstrap-datepicker3.css.map */"
  },
  {
    "path": "public/plugins/bootstrap-datepicker/css/bootstrap-datepicker3.standalone.css",
    "content": "/*!\n * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)\n *\n * Copyright 2012 Stefan Petre\n * Improvements by Andrew Rowls\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */\n.datepicker {\n  border-radius: 4px;\n  direction: ltr;\n}\n.datepicker-inline {\n  width: 220px;\n}\n.datepicker.datepicker-rtl {\n  direction: rtl;\n}\n.datepicker.datepicker-rtl table tr td span {\n  float: right;\n}\n.datepicker-dropdown {\n  top: 0;\n  left: 0;\n  padding: 4px;\n}\n.datepicker-dropdown:before {\n  content: '';\n  display: inline-block;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid rgba(0, 0, 0, 0.15);\n  border-top: 0;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  position: absolute;\n}\n.datepicker-dropdown:after {\n  content: '';\n  display: inline-block;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #fff;\n  border-top: 0;\n  position: absolute;\n}\n.datepicker-dropdown.datepicker-orient-left:before {\n  left: 6px;\n}\n.datepicker-dropdown.datepicker-orient-left:after {\n  left: 7px;\n}\n.datepicker-dropdown.datepicker-orient-right:before {\n  right: 6px;\n}\n.datepicker-dropdown.datepicker-orient-right:after {\n  right: 7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:before {\n  top: -7px;\n}\n.datepicker-dropdown.datepicker-orient-bottom:after {\n  top: -6px;\n}\n.datepicker-dropdown.datepicker-orient-top:before {\n  bottom: -7px;\n  border-bottom: 0;\n  border-top: 7px solid rgba(0, 0, 0, 0.15);\n}\n.datepicker-dropdown.datepicker-orient-top:after {\n  bottom: -6px;\n  border-bottom: 0;\n  border-top: 6px solid #fff;\n}\n.datepicker table {\n  margin: 0;\n  -webkit-touch-callout: none;\n  -webkit-user-select: none;\n  -khtml-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n.datepicker table tr td,\n.datepicker table tr th {\n  text-align: center;\n  width: 30px;\n  height: 30px;\n  border-radius: 4px;\n  border: none;\n}\n.table-striped .datepicker table tr td,\n.table-striped .datepicker table tr th {\n  background-color: transparent;\n}\n.datepicker table tr td.old,\n.datepicker table tr td.new {\n  color: #777777;\n}\n.datepicker table tr td.day:hover,\n.datepicker table tr td.focused {\n  background: #eeeeee;\n  cursor: pointer;\n}\n.datepicker table tr td.disabled,\n.datepicker table tr td.disabled:hover {\n  background: none;\n  color: #777777;\n  cursor: default;\n}\n.datepicker table tr td.highlighted {\n  color: #000;\n  background-color: #d9edf7;\n  border-color: #85c5e5;\n  border-radius: 0;\n}\n.datepicker table tr td.highlighted:focus,\n.datepicker table tr td.highlighted.focus {\n  color: #000;\n  background-color: #afd9ee;\n  border-color: #298fc2;\n}\n.datepicker table tr td.highlighted:hover {\n  color: #000;\n  background-color: #afd9ee;\n  border-color: #52addb;\n}\n.datepicker table tr td.highlighted:active,\n.datepicker table tr td.highlighted.active {\n  color: #000;\n  background-color: #afd9ee;\n  border-color: #52addb;\n}\n.datepicker table tr td.highlighted:active:hover,\n.datepicker table tr td.highlighted.active:hover,\n.datepicker table tr td.highlighted:active:focus,\n.datepicker table tr td.highlighted.active:focus,\n.datepicker table tr td.highlighted:active.focus,\n.datepicker table tr td.highlighted.active.focus {\n  color: #000;\n  background-color: #91cbe8;\n  border-color: #298fc2;\n}\n.datepicker table tr td.highlighted.disabled:hover,\n.datepicker table tr td.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.highlighted:hover,\n.datepicker table tr td.highlighted.disabled:focus,\n.datepicker table tr td.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.highlighted:focus,\n.datepicker table tr td.highlighted.disabled.focus,\n.datepicker table tr td.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.highlighted.focus {\n  background-color: #d9edf7;\n  border-color: #85c5e5;\n}\n.datepicker table tr td.highlighted.focused {\n  background: #afd9ee;\n}\n.datepicker table tr td.highlighted.disabled,\n.datepicker table tr td.highlighted.disabled:active {\n  background: #d9edf7;\n  color: #777777;\n}\n.datepicker table tr td.today {\n  color: #000;\n  background-color: #ffdb99;\n  border-color: #ffb733;\n}\n.datepicker table tr td.today:focus,\n.datepicker table tr td.today.focus {\n  color: #000;\n  background-color: #ffc966;\n  border-color: #b37400;\n}\n.datepicker table tr td.today:hover {\n  color: #000;\n  background-color: #ffc966;\n  border-color: #f59e00;\n}\n.datepicker table tr td.today:active,\n.datepicker table tr td.today.active {\n  color: #000;\n  background-color: #ffc966;\n  border-color: #f59e00;\n}\n.datepicker table tr td.today:active:hover,\n.datepicker table tr td.today.active:hover,\n.datepicker table tr td.today:active:focus,\n.datepicker table tr td.today.active:focus,\n.datepicker table tr td.today:active.focus,\n.datepicker table tr td.today.active.focus {\n  color: #000;\n  background-color: #ffbc42;\n  border-color: #b37400;\n}\n.datepicker table tr td.today.disabled:hover,\n.datepicker table tr td.today[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.today:hover,\n.datepicker table tr td.today.disabled:focus,\n.datepicker table tr td.today[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.today:focus,\n.datepicker table tr td.today.disabled.focus,\n.datepicker table tr td.today[disabled].focus,\nfieldset[disabled] .datepicker table tr td.today.focus {\n  background-color: #ffdb99;\n  border-color: #ffb733;\n}\n.datepicker table tr td.today.focused {\n  background: #ffc966;\n}\n.datepicker table tr td.today.disabled,\n.datepicker table tr td.today.disabled:active {\n  background: #ffdb99;\n  color: #777777;\n}\n.datepicker table tr td.range {\n  color: #000;\n  background-color: #eeeeee;\n  border-color: #bbbbbb;\n  border-radius: 0;\n}\n.datepicker table tr td.range:focus,\n.datepicker table tr td.range.focus {\n  color: #000;\n  background-color: #d5d5d5;\n  border-color: #7c7c7c;\n}\n.datepicker table tr td.range:hover {\n  color: #000;\n  background-color: #d5d5d5;\n  border-color: #9d9d9d;\n}\n.datepicker table tr td.range:active,\n.datepicker table tr td.range.active {\n  color: #000;\n  background-color: #d5d5d5;\n  border-color: #9d9d9d;\n}\n.datepicker table tr td.range:active:hover,\n.datepicker table tr td.range.active:hover,\n.datepicker table tr td.range:active:focus,\n.datepicker table tr td.range.active:focus,\n.datepicker table tr td.range:active.focus,\n.datepicker table tr td.range.active.focus {\n  color: #000;\n  background-color: #c3c3c3;\n  border-color: #7c7c7c;\n}\n.datepicker table tr td.range.disabled:hover,\n.datepicker table tr td.range[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.range:hover,\n.datepicker table tr td.range.disabled:focus,\n.datepicker table tr td.range[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.range:focus,\n.datepicker table tr td.range.disabled.focus,\n.datepicker table tr td.range[disabled].focus,\nfieldset[disabled] .datepicker table tr td.range.focus {\n  background-color: #eeeeee;\n  border-color: #bbbbbb;\n}\n.datepicker table tr td.range.focused {\n  background: #d5d5d5;\n}\n.datepicker table tr td.range.disabled,\n.datepicker table tr td.range.disabled:active {\n  background: #eeeeee;\n  color: #777777;\n}\n.datepicker table tr td.range.highlighted {\n  color: #000;\n  background-color: #e4eef3;\n  border-color: #9dc1d3;\n}\n.datepicker table tr td.range.highlighted:focus,\n.datepicker table tr td.range.highlighted.focus {\n  color: #000;\n  background-color: #c1d7e3;\n  border-color: #4b88a6;\n}\n.datepicker table tr td.range.highlighted:hover {\n  color: #000;\n  background-color: #c1d7e3;\n  border-color: #73a6c0;\n}\n.datepicker table tr td.range.highlighted:active,\n.datepicker table tr td.range.highlighted.active {\n  color: #000;\n  background-color: #c1d7e3;\n  border-color: #73a6c0;\n}\n.datepicker table tr td.range.highlighted:active:hover,\n.datepicker table tr td.range.highlighted.active:hover,\n.datepicker table tr td.range.highlighted:active:focus,\n.datepicker table tr td.range.highlighted.active:focus,\n.datepicker table tr td.range.highlighted:active.focus,\n.datepicker table tr td.range.highlighted.active.focus {\n  color: #000;\n  background-color: #a8c8d8;\n  border-color: #4b88a6;\n}\n.datepicker table tr td.range.highlighted.disabled:hover,\n.datepicker table tr td.range.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.range.highlighted:hover,\n.datepicker table tr td.range.highlighted.disabled:focus,\n.datepicker table tr td.range.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.range.highlighted:focus,\n.datepicker table tr td.range.highlighted.disabled.focus,\n.datepicker table tr td.range.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.range.highlighted.focus {\n  background-color: #e4eef3;\n  border-color: #9dc1d3;\n}\n.datepicker table tr td.range.highlighted.focused {\n  background: #c1d7e3;\n}\n.datepicker table tr td.range.highlighted.disabled,\n.datepicker table tr td.range.highlighted.disabled:active {\n  background: #e4eef3;\n  color: #777777;\n}\n.datepicker table tr td.range.today {\n  color: #000;\n  background-color: #f7ca77;\n  border-color: #f1a417;\n}\n.datepicker table tr td.range.today:focus,\n.datepicker table tr td.range.today.focus {\n  color: #000;\n  background-color: #f4b747;\n  border-color: #815608;\n}\n.datepicker table tr td.range.today:hover {\n  color: #000;\n  background-color: #f4b747;\n  border-color: #bf800c;\n}\n.datepicker table tr td.range.today:active,\n.datepicker table tr td.range.today.active {\n  color: #000;\n  background-color: #f4b747;\n  border-color: #bf800c;\n}\n.datepicker table tr td.range.today:active:hover,\n.datepicker table tr td.range.today.active:hover,\n.datepicker table tr td.range.today:active:focus,\n.datepicker table tr td.range.today.active:focus,\n.datepicker table tr td.range.today:active.focus,\n.datepicker table tr td.range.today.active.focus {\n  color: #000;\n  background-color: #f2aa25;\n  border-color: #815608;\n}\n.datepicker table tr td.range.today.disabled:hover,\n.datepicker table tr td.range.today[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.range.today:hover,\n.datepicker table tr td.range.today.disabled:focus,\n.datepicker table tr td.range.today[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.range.today:focus,\n.datepicker table tr td.range.today.disabled.focus,\n.datepicker table tr td.range.today[disabled].focus,\nfieldset[disabled] .datepicker table tr td.range.today.focus {\n  background-color: #f7ca77;\n  border-color: #f1a417;\n}\n.datepicker table tr td.range.today.disabled,\n.datepicker table tr td.range.today.disabled:active {\n  background: #f7ca77;\n  color: #777777;\n}\n.datepicker table tr td.selected,\n.datepicker table tr td.selected.highlighted {\n  color: #fff;\n  background-color: #777777;\n  border-color: #555555;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.selected:focus,\n.datepicker table tr td.selected.highlighted:focus,\n.datepicker table tr td.selected.focus,\n.datepicker table tr td.selected.highlighted.focus {\n  color: #fff;\n  background-color: #5e5e5e;\n  border-color: #161616;\n}\n.datepicker table tr td.selected:hover,\n.datepicker table tr td.selected.highlighted:hover {\n  color: #fff;\n  background-color: #5e5e5e;\n  border-color: #373737;\n}\n.datepicker table tr td.selected:active,\n.datepicker table tr td.selected.highlighted:active,\n.datepicker table tr td.selected.active,\n.datepicker table tr td.selected.highlighted.active {\n  color: #fff;\n  background-color: #5e5e5e;\n  border-color: #373737;\n}\n.datepicker table tr td.selected:active:hover,\n.datepicker table tr td.selected.highlighted:active:hover,\n.datepicker table tr td.selected.active:hover,\n.datepicker table tr td.selected.highlighted.active:hover,\n.datepicker table tr td.selected:active:focus,\n.datepicker table tr td.selected.highlighted:active:focus,\n.datepicker table tr td.selected.active:focus,\n.datepicker table tr td.selected.highlighted.active:focus,\n.datepicker table tr td.selected:active.focus,\n.datepicker table tr td.selected.highlighted:active.focus,\n.datepicker table tr td.selected.active.focus,\n.datepicker table tr td.selected.highlighted.active.focus {\n  color: #fff;\n  background-color: #4c4c4c;\n  border-color: #161616;\n}\n.datepicker table tr td.selected.disabled:hover,\n.datepicker table tr td.selected.highlighted.disabled:hover,\n.datepicker table tr td.selected[disabled]:hover,\n.datepicker table tr td.selected.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.selected:hover,\nfieldset[disabled] .datepicker table tr td.selected.highlighted:hover,\n.datepicker table tr td.selected.disabled:focus,\n.datepicker table tr td.selected.highlighted.disabled:focus,\n.datepicker table tr td.selected[disabled]:focus,\n.datepicker table tr td.selected.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.selected:focus,\nfieldset[disabled] .datepicker table tr td.selected.highlighted:focus,\n.datepicker table tr td.selected.disabled.focus,\n.datepicker table tr td.selected.highlighted.disabled.focus,\n.datepicker table tr td.selected[disabled].focus,\n.datepicker table tr td.selected.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.selected.focus,\nfieldset[disabled] .datepicker table tr td.selected.highlighted.focus {\n  background-color: #777777;\n  border-color: #555555;\n}\n.datepicker table tr td.active,\n.datepicker table tr td.active.highlighted {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td.active:focus,\n.datepicker table tr td.active.highlighted:focus,\n.datepicker table tr td.active.focus,\n.datepicker table tr td.active.highlighted.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.datepicker table tr td.active:hover,\n.datepicker table tr td.active.highlighted:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td.active:active,\n.datepicker table tr td.active.highlighted:active,\n.datepicker table tr td.active.active,\n.datepicker table tr td.active.highlighted.active {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td.active:active:hover,\n.datepicker table tr td.active.highlighted:active:hover,\n.datepicker table tr td.active.active:hover,\n.datepicker table tr td.active.highlighted.active:hover,\n.datepicker table tr td.active:active:focus,\n.datepicker table tr td.active.highlighted:active:focus,\n.datepicker table tr td.active.active:focus,\n.datepicker table tr td.active.highlighted.active:focus,\n.datepicker table tr td.active:active.focus,\n.datepicker table tr td.active.highlighted:active.focus,\n.datepicker table tr td.active.active.focus,\n.datepicker table tr td.active.highlighted.active.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.datepicker table tr td.active.disabled:hover,\n.datepicker table tr td.active.highlighted.disabled:hover,\n.datepicker table tr td.active[disabled]:hover,\n.datepicker table tr td.active.highlighted[disabled]:hover,\nfieldset[disabled] .datepicker table tr td.active:hover,\nfieldset[disabled] .datepicker table tr td.active.highlighted:hover,\n.datepicker table tr td.active.disabled:focus,\n.datepicker table tr td.active.highlighted.disabled:focus,\n.datepicker table tr td.active[disabled]:focus,\n.datepicker table tr td.active.highlighted[disabled]:focus,\nfieldset[disabled] .datepicker table tr td.active:focus,\nfieldset[disabled] .datepicker table tr td.active.highlighted:focus,\n.datepicker table tr td.active.disabled.focus,\n.datepicker table tr td.active.highlighted.disabled.focus,\n.datepicker table tr td.active[disabled].focus,\n.datepicker table tr td.active.highlighted[disabled].focus,\nfieldset[disabled] .datepicker table tr td.active.focus,\nfieldset[disabled] .datepicker table tr td.active.highlighted.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.datepicker table tr td span {\n  display: block;\n  width: 23%;\n  height: 54px;\n  line-height: 54px;\n  float: left;\n  margin: 1%;\n  cursor: pointer;\n  border-radius: 4px;\n}\n.datepicker table tr td span:hover,\n.datepicker table tr td span.focused {\n  background: #eeeeee;\n}\n.datepicker table tr td span.disabled,\n.datepicker table tr td span.disabled:hover {\n  background: none;\n  color: #777777;\n  cursor: default;\n}\n.datepicker table tr td span.active,\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active.disabled,\n.datepicker table tr td span.active.disabled:hover {\n  color: #fff;\n  background-color: #337ab7;\n  border-color: #2e6da4;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.datepicker table tr td span.active:focus,\n.datepicker table tr td span.active:hover:focus,\n.datepicker table tr td span.active.disabled:focus,\n.datepicker table tr td span.active.disabled:hover:focus,\n.datepicker table tr td span.active.focus,\n.datepicker table tr td span.active:hover.focus,\n.datepicker table tr td span.active.disabled.focus,\n.datepicker table tr td span.active.disabled:hover.focus {\n  color: #fff;\n  background-color: #286090;\n  border-color: #122b40;\n}\n.datepicker table tr td span.active:hover,\n.datepicker table tr td span.active:hover:hover,\n.datepicker table tr td span.active.disabled:hover,\n.datepicker table tr td span.active.disabled:hover:hover {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td span.active:active,\n.datepicker table tr td span.active:hover:active,\n.datepicker table tr td span.active.disabled:active,\n.datepicker table tr td span.active.disabled:hover:active,\n.datepicker table tr td span.active.active,\n.datepicker table tr td span.active:hover.active,\n.datepicker table tr td span.active.disabled.active,\n.datepicker table tr td span.active.disabled:hover.active {\n  color: #fff;\n  background-color: #286090;\n  border-color: #204d74;\n}\n.datepicker table tr td span.active:active:hover,\n.datepicker table tr td span.active:hover:active:hover,\n.datepicker table tr td span.active.disabled:active:hover,\n.datepicker table tr td span.active.disabled:hover:active:hover,\n.datepicker table tr td span.active.active:hover,\n.datepicker table tr td span.active:hover.active:hover,\n.datepicker table tr td span.active.disabled.active:hover,\n.datepicker table tr td span.active.disabled:hover.active:hover,\n.datepicker table tr td span.active:active:focus,\n.datepicker table tr td span.active:hover:active:focus,\n.datepicker table tr td span.active.disabled:active:focus,\n.datepicker table tr td span.active.disabled:hover:active:focus,\n.datepicker table tr td span.active.active:focus,\n.datepicker table tr td span.active:hover.active:focus,\n.datepicker table tr td span.active.disabled.active:focus,\n.datepicker table tr td span.active.disabled:hover.active:focus,\n.datepicker table tr td span.active:active.focus,\n.datepicker table tr td span.active:hover:active.focus,\n.datepicker table tr td span.active.disabled:active.focus,\n.datepicker table tr td span.active.disabled:hover:active.focus,\n.datepicker table tr td span.active.active.focus,\n.datepicker table tr td span.active:hover.active.focus,\n.datepicker table tr td span.active.disabled.active.focus,\n.datepicker table tr td span.active.disabled:hover.active.focus {\n  color: #fff;\n  background-color: #204d74;\n  border-color: #122b40;\n}\n.datepicker table tr td span.active.disabled:hover,\n.datepicker table tr td span.active:hover.disabled:hover,\n.datepicker table tr td span.active.disabled.disabled:hover,\n.datepicker table tr td span.active.disabled:hover.disabled:hover,\n.datepicker table tr td span.active[disabled]:hover,\n.datepicker table tr td span.active:hover[disabled]:hover,\n.datepicker table tr td span.active.disabled[disabled]:hover,\n.datepicker table tr td span.active.disabled:hover[disabled]:hover,\nfieldset[disabled] .datepicker table tr td span.active:hover,\nfieldset[disabled] .datepicker table tr td span.active:hover:hover,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover:hover,\n.datepicker table tr td span.active.disabled:focus,\n.datepicker table tr td span.active:hover.disabled:focus,\n.datepicker table tr td span.active.disabled.disabled:focus,\n.datepicker table tr td span.active.disabled:hover.disabled:focus,\n.datepicker table tr td span.active[disabled]:focus,\n.datepicker table tr td span.active:hover[disabled]:focus,\n.datepicker table tr td span.active.disabled[disabled]:focus,\n.datepicker table tr td span.active.disabled:hover[disabled]:focus,\nfieldset[disabled] .datepicker table tr td span.active:focus,\nfieldset[disabled] .datepicker table tr td span.active:hover:focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled:focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover:focus,\n.datepicker table tr td span.active.disabled.focus,\n.datepicker table tr td span.active:hover.disabled.focus,\n.datepicker table tr td span.active.disabled.disabled.focus,\n.datepicker table tr td span.active.disabled:hover.disabled.focus,\n.datepicker table tr td span.active[disabled].focus,\n.datepicker table tr td span.active:hover[disabled].focus,\n.datepicker table tr td span.active.disabled[disabled].focus,\n.datepicker table tr td span.active.disabled:hover[disabled].focus,\nfieldset[disabled] .datepicker table tr td span.active.focus,\nfieldset[disabled] .datepicker table tr td span.active:hover.focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled.focus,\nfieldset[disabled] .datepicker table tr td span.active.disabled:hover.focus {\n  background-color: #337ab7;\n  border-color: #2e6da4;\n}\n.datepicker table tr td span.old,\n.datepicker table tr td span.new {\n  color: #777777;\n}\n.datepicker .datepicker-switch {\n  width: 145px;\n}\n.datepicker .datepicker-switch,\n.datepicker .prev,\n.datepicker .next,\n.datepicker tfoot tr th {\n  cursor: pointer;\n}\n.datepicker .datepicker-switch:hover,\n.datepicker .prev:hover,\n.datepicker .next:hover,\n.datepicker tfoot tr th:hover {\n  background: #eeeeee;\n}\n.datepicker .cw {\n  font-size: 10px;\n  width: 12px;\n  padding: 0 2px 0 5px;\n  vertical-align: middle;\n}\n.input-group.date .input-group-addon {\n  cursor: pointer;\n}\n.input-daterange {\n  width: 100%;\n}\n.input-daterange input {\n  text-align: center;\n}\n.input-daterange input:first-child {\n  border-radius: 3px 0 0 3px;\n}\n.input-daterange input:last-child {\n  border-radius: 0 3px 3px 0;\n}\n.input-daterange .input-group-addon {\n  width: auto;\n  min-width: 16px;\n  padding: 4px 5px;\n  line-height: 1.42857143;\n  text-shadow: 0 1px 0 #fff;\n  border-width: 1px 0;\n  margin-left: -5px;\n  margin-right: -5px;\n}\n.datepicker.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  list-style: none;\n  background-color: #fff;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  -moz-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding;\n  background-clip: padding-box;\n  color: #333333;\n  font-size: 13px;\n  line-height: 1.42857143;\n}\n.datepicker.dropdown-menu th,\n.datepicker.datepicker-inline th,\n.datepicker.dropdown-menu td,\n.datepicker.datepicker-inline td {\n  padding: 0px 5px;\n}\n/*# sourceMappingURL=bootstrap-datepicker3.standalone.css.map */"
  },
  {
    "path": "public/plugins/bootstrap-datepicker/js/bootstrap-datepicker.js",
    "content": "/*!\n * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)\n *\n * Copyright 2012 Stefan Petre\n * Improvements by Andrew Rowls\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\n */(function(factory){\n    if (typeof define === \"function\" && define.amd) {\n        define([\"jquery\"], factory);\n    } else if (typeof exports === 'object') {\n        factory(require('jquery'));\n    } else {\n        factory(jQuery);\n    }\n}(function($, undefined){\n\n\tfunction UTCDate(){\n\t\treturn new Date(Date.UTC.apply(Date, arguments));\n\t}\n\tfunction UTCToday(){\n\t\tvar today = new Date();\n\t\treturn UTCDate(today.getFullYear(), today.getMonth(), today.getDate());\n\t}\n\tfunction isUTCEquals(date1, date2) {\n\t\treturn (\n\t\t\tdate1.getUTCFullYear() === date2.getUTCFullYear() &&\n\t\t\tdate1.getUTCMonth() === date2.getUTCMonth() &&\n\t\t\tdate1.getUTCDate() === date2.getUTCDate()\n\t\t);\n\t}\n\tfunction alias(method){\n\t\treturn function(){\n\t\t\treturn this[method].apply(this, arguments);\n\t\t};\n\t}\n\tfunction isValidDate(d) {\n\t\treturn d && !isNaN(d.getTime());\n\t}\n\n\tvar DateArray = (function(){\n\t\tvar extras = {\n\t\t\tget: function(i){\n\t\t\t\treturn this.slice(i)[0];\n\t\t\t},\n\t\t\tcontains: function(d){\n\t\t\t\t// Array.indexOf is not cross-browser;\n\t\t\t\t// $.inArray doesn't work with Dates\n\t\t\t\tvar val = d && d.valueOf();\n\t\t\t\tfor (var i=0, l=this.length; i < l; i++)\n\t\t\t\t\tif (this[i].valueOf() === val)\n\t\t\t\t\t\treturn i;\n\t\t\t\treturn -1;\n\t\t\t},\n\t\t\tremove: function(i){\n\t\t\t\tthis.splice(i,1);\n\t\t\t},\n\t\t\treplace: function(new_array){\n\t\t\t\tif (!new_array)\n\t\t\t\t\treturn;\n\t\t\t\tif (!$.isArray(new_array))\n\t\t\t\t\tnew_array = [new_array];\n\t\t\t\tthis.clear();\n\t\t\t\tthis.push.apply(this, new_array);\n\t\t\t},\n\t\t\tclear: function(){\n\t\t\t\tthis.length = 0;\n\t\t\t},\n\t\t\tcopy: function(){\n\t\t\t\tvar a = new DateArray();\n\t\t\t\ta.replace(this);\n\t\t\t\treturn a;\n\t\t\t}\n\t\t};\n\n\t\treturn function(){\n\t\t\tvar a = [];\n\t\t\ta.push.apply(a, arguments);\n\t\t\t$.extend(a, extras);\n\t\t\treturn a;\n\t\t};\n\t})();\n\n\n\t// Picker object\n\n\tvar Datepicker = function(element, options){\n\t\t$(element).data('datepicker', this);\n\t\tthis._process_options(options);\n\n\t\tthis.dates = new DateArray();\n\t\tthis.viewDate = this.o.defaultViewDate;\n\t\tthis.focusDate = null;\n\n\t\tthis.element = $(element);\n\t\tthis.isInput = this.element.is('input');\n\t\tthis.inputField = this.isInput ? this.element : this.element.find('input');\n\t\tthis.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false;\n\t\tthis.hasInput = this.component && this.inputField.length;\n\t\tif (this.component && this.component.length === 0)\n\t\t\tthis.component = false;\n\t\tthis.isInline = !this.component && this.element.is('div');\n\n\t\tthis.picker = $(DPGlobal.template);\n\n\t\t// Checking templates and inserting\n\t\tif (this._check_template(this.o.templates.leftArrow)) {\n\t\t\tthis.picker.find('.prev').html(this.o.templates.leftArrow);\n\t\t}\n\t\tif (this._check_template(this.o.templates.rightArrow)) {\n\t\t\tthis.picker.find('.next').html(this.o.templates.rightArrow);\n\t\t}\n\n\t\tthis._buildEvents();\n\t\tthis._attachEvents();\n\n\t\tif (this.isInline){\n\t\t\tthis.picker.addClass('datepicker-inline').appendTo(this.element);\n\t\t}\n\t\telse {\n\t\t\tthis.picker.addClass('datepicker-dropdown dropdown-menu');\n\t\t}\n\n\t\tif (this.o.rtl){\n\t\t\tthis.picker.addClass('datepicker-rtl');\n\t\t}\n\n\t\tthis.viewMode = this.o.startView;\n\n\t\tif (this.o.calendarWeeks)\n\t\t\tthis.picker.find('thead .datepicker-title, tfoot .today, tfoot .clear')\n\t\t\t\t\t\t.attr('colspan', function(i, val){\n\t\t\t\t\t\t\treturn parseInt(val) + 1;\n\t\t\t\t\t\t});\n\n\t\tthis._allow_update = false;\n\n\t\tthis.setStartDate(this._o.startDate);\n\t\tthis.setEndDate(this._o.endDate);\n\t\tthis.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled);\n\t\tthis.setDaysOfWeekHighlighted(this.o.daysOfWeekHighlighted);\n\t\tthis.setDatesDisabled(this.o.datesDisabled);\n\n\t\tthis.fillDow();\n\t\tthis.fillMonths();\n\n\t\tthis._allow_update = true;\n\n\t\tthis.update();\n\t\tthis.showMode();\n\n\t\tif (this.isInline){\n\t\t\tthis.show();\n\t\t}\n\t};\n\n\tDatepicker.prototype = {\n\t\tconstructor: Datepicker,\n\n\t\t_resolveViewName: function(view, default_value){\n\t\t\tif (view === 0 || view === 'days' || view === 'month') {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t\tif (view === 1 || view === 'months' || view === 'year') {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\tif (view === 2 || view === 'years' || view === 'decade') {\n\t\t\t\treturn 2;\n\t\t\t}\n\t\t\tif (view === 3 || view === 'decades' || view === 'century') {\n\t\t\t\treturn 3;\n\t\t\t}\n\t\t\tif (view === 4 || view === 'centuries' || view === 'millennium') {\n\t\t\t\treturn 4;\n\t\t\t}\n\t\t\treturn default_value === undefined ? false : default_value;\n\t\t},\n\n\t\t_check_template: function(tmp){\n\t\t\ttry {\n\t\t\t\t// If empty\n\t\t\t\tif (tmp === undefined || tmp === \"\") {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\t// If no html, everything ok\n\t\t\t\tif ((tmp.match(/[<>]/g) || []).length <= 0) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\t// Checking if html is fine\n\t\t\t\tvar jDom = $(tmp);\n\t\t\t\treturn jDom.length > 0;\n\t\t\t}\n\t\t\tcatch (ex) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t_process_options: function(opts){\n\t\t\t// Store raw options for reference\n\t\t\tthis._o = $.extend({}, this._o, opts);\n\t\t\t// Processed options\n\t\t\tvar o = this.o = $.extend({}, this._o);\n\n\t\t\t// Check if \"de-DE\" style date is available, if not language should\n\t\t\t// fallback to 2 letter code eg \"de\"\n\t\t\tvar lang = o.language;\n\t\t\tif (!dates[lang]){\n\t\t\t\tlang = lang.split('-')[0];\n\t\t\t\tif (!dates[lang])\n\t\t\t\t\tlang = defaults.language;\n\t\t\t}\n\t\t\to.language = lang;\n\n\t\t\t// Retrieve view index from any aliases\n\t\t\to.startView = this._resolveViewName(o.startView, 0);\n\t\t\to.minViewMode = this._resolveViewName(o.minViewMode, 0);\n\t\t\to.maxViewMode = this._resolveViewName(o.maxViewMode, 4);\n\n\t\t\t// Check that the start view is between min and max\n\t\t\to.startView = Math.min(o.startView, o.maxViewMode);\n\t\t\to.startView = Math.max(o.startView, o.minViewMode);\n\n\t\t\t// true, false, or Number > 0\n\t\t\tif (o.multidate !== true){\n\t\t\t\to.multidate = Number(o.multidate) || false;\n\t\t\t\tif (o.multidate !== false)\n\t\t\t\t\to.multidate = Math.max(0, o.multidate);\n\t\t\t}\n\t\t\to.multidateSeparator = String(o.multidateSeparator);\n\n\t\t\to.weekStart %= 7;\n\t\t\to.weekEnd = (o.weekStart + 6) % 7;\n\n\t\t\tvar format = DPGlobal.parseFormat(o.format);\n\t\t\tif (o.startDate !== -Infinity){\n\t\t\t\tif (!!o.startDate){\n\t\t\t\t\tif (o.startDate instanceof Date)\n\t\t\t\t\t\to.startDate = this._local_to_utc(this._zero_time(o.startDate));\n\t\t\t\t\telse\n\t\t\t\t\t\to.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\to.startDate = -Infinity;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (o.endDate !== Infinity){\n\t\t\t\tif (!!o.endDate){\n\t\t\t\t\tif (o.endDate instanceof Date)\n\t\t\t\t\t\to.endDate = this._local_to_utc(this._zero_time(o.endDate));\n\t\t\t\t\telse\n\t\t\t\t\t\to.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\to.endDate = Infinity;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\to.daysOfWeekDisabled = o.daysOfWeekDisabled||[];\n\t\t\tif (!$.isArray(o.daysOfWeekDisabled))\n\t\t\t\to.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\\s]*/);\n\t\t\to.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function(d){\n\t\t\t\treturn parseInt(d, 10);\n\t\t\t});\n\n\t\t\to.daysOfWeekHighlighted = o.daysOfWeekHighlighted||[];\n\t\t\tif (!$.isArray(o.daysOfWeekHighlighted))\n\t\t\t\to.daysOfWeekHighlighted = o.daysOfWeekHighlighted.split(/[,\\s]*/);\n\t\t\to.daysOfWeekHighlighted = $.map(o.daysOfWeekHighlighted, function(d){\n\t\t\t\treturn parseInt(d, 10);\n\t\t\t});\n\n\t\t\to.datesDisabled = o.datesDisabled||[];\n\t\t\tif (!$.isArray(o.datesDisabled)) {\n\t\t\t\to.datesDisabled = [\n\t\t\t\t\to.datesDisabled\n\t\t\t\t];\n\t\t\t}\n\t\t\to.datesDisabled = $.map(o.datesDisabled,function(d){\n\t\t\t\treturn DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear);\n\t\t\t});\n\n\t\t\tvar plc = String(o.orientation).toLowerCase().split(/\\s+/g),\n\t\t\t\t_plc = o.orientation.toLowerCase();\n\t\t\tplc = $.grep(plc, function(word){\n\t\t\t\treturn /^auto|left|right|top|bottom$/.test(word);\n\t\t\t});\n\t\t\to.orientation = {x: 'auto', y: 'auto'};\n\t\t\tif (!_plc || _plc === 'auto')\n\t\t\t\t; // no action\n\t\t\telse if (plc.length === 1){\n\t\t\t\tswitch (plc[0]){\n\t\t\t\t\tcase 'top':\n\t\t\t\t\tcase 'bottom':\n\t\t\t\t\t\to.orientation.y = plc[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'left':\n\t\t\t\t\tcase 'right':\n\t\t\t\t\t\to.orientation.x = plc[0];\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse {\n\t\t\t\t_plc = $.grep(plc, function(word){\n\t\t\t\t\treturn /^left|right$/.test(word);\n\t\t\t\t});\n\t\t\t\to.orientation.x = _plc[0] || 'auto';\n\n\t\t\t\t_plc = $.grep(plc, function(word){\n\t\t\t\t\treturn /^top|bottom$/.test(word);\n\t\t\t\t});\n\t\t\t\to.orientation.y = _plc[0] || 'auto';\n\t\t\t}\n\t\t\tif (o.defaultViewDate) {\n\t\t\t\tvar year = o.defaultViewDate.year || new Date().getFullYear();\n\t\t\t\tvar month = o.defaultViewDate.month || 0;\n\t\t\t\tvar day = o.defaultViewDate.day || 1;\n\t\t\t\to.defaultViewDate = UTCDate(year, month, day);\n\t\t\t} else {\n\t\t\t\to.defaultViewDate = UTCToday();\n\t\t\t}\n\t\t},\n\t\t_events: [],\n\t\t_secondaryEvents: [],\n\t\t_applyEvents: function(evs){\n\t\t\tfor (var i=0, el, ch, ev; i < evs.length; i++){\n\t\t\t\tel = evs[i][0];\n\t\t\t\tif (evs[i].length === 2){\n\t\t\t\t\tch = undefined;\n\t\t\t\t\tev = evs[i][1];\n\t\t\t\t}\n\t\t\t\telse if (evs[i].length === 3){\n\t\t\t\t\tch = evs[i][1];\n\t\t\t\t\tev = evs[i][2];\n\t\t\t\t}\n\t\t\t\tel.on(ev, ch);\n\t\t\t}\n\t\t},\n\t\t_unapplyEvents: function(evs){\n\t\t\tfor (var i=0, el, ev, ch; i < evs.length; i++){\n\t\t\t\tel = evs[i][0];\n\t\t\t\tif (evs[i].length === 2){\n\t\t\t\t\tch = undefined;\n\t\t\t\t\tev = evs[i][1];\n\t\t\t\t}\n\t\t\t\telse if (evs[i].length === 3){\n\t\t\t\t\tch = evs[i][1];\n\t\t\t\t\tev = evs[i][2];\n\t\t\t\t}\n\t\t\t\tel.off(ev, ch);\n\t\t\t}\n\t\t},\n\t\t_buildEvents: function(){\n            var events = {\n                keyup: $.proxy(function(e){\n                    if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1)\n                        this.update();\n                }, this),\n                keydown: $.proxy(this.keydown, this),\n                paste: $.proxy(this.paste, this)\n            };\n\n            if (this.o.showOnFocus === true) {\n                events.focus = $.proxy(this.show, this);\n            }\n\n            if (this.isInput) { // single input\n                this._events = [\n                    [this.element, events]\n                ];\n            }\n            else if (this.component && this.hasInput) { // component: input + button\n                this._events = [\n                    // For components that are not readonly, allow keyboard nav\n                    [this.inputField, events],\n                    [this.component, {\n                        click: $.proxy(this.show, this)\n                    }]\n                ];\n            }\n\t\t\telse {\n\t\t\t\tthis._events = [\n\t\t\t\t\t[this.element, {\n\t\t\t\t\t\tclick: $.proxy(this.show, this),\n\t\t\t\t\t\tkeydown: $.proxy(this.keydown, this)\n\t\t\t\t\t}]\n\t\t\t\t];\n\t\t\t}\n\t\t\tthis._events.push(\n\t\t\t\t// Component: listen for blur on element descendants\n\t\t\t\t[this.element, '*', {\n\t\t\t\t\tblur: $.proxy(function(e){\n\t\t\t\t\t\tthis._focused_from = e.target;\n\t\t\t\t\t}, this)\n\t\t\t\t}],\n\t\t\t\t// Input: listen for blur on element\n\t\t\t\t[this.element, {\n\t\t\t\t\tblur: $.proxy(function(e){\n\t\t\t\t\t\tthis._focused_from = e.target;\n\t\t\t\t\t}, this)\n\t\t\t\t}]\n\t\t\t);\n\n\t\t\tif (this.o.immediateUpdates) {\n\t\t\t\t// Trigger input updates immediately on changed year/month\n\t\t\t\tthis._events.push([this.element, {\n\t\t\t\t\t'changeYear changeMonth': $.proxy(function(e){\n\t\t\t\t\t\tthis.update(e.date);\n\t\t\t\t\t}, this)\n\t\t\t\t}]);\n\t\t\t}\n\n\t\t\tthis._secondaryEvents = [\n\t\t\t\t[this.picker, {\n\t\t\t\t\tclick: $.proxy(this.click, this)\n\t\t\t\t}],\n\t\t\t\t[$(window), {\n\t\t\t\t\tresize: $.proxy(this.place, this)\n\t\t\t\t}],\n\t\t\t\t[$(document), {\n\t\t\t\t\tmousedown: $.proxy(function(e){\n\t\t\t\t\t\t// Clicked outside the datepicker, hide it\n\t\t\t\t\t\tif (!(\n\t\t\t\t\t\t\tthis.element.is(e.target) ||\n\t\t\t\t\t\t\tthis.element.find(e.target).length ||\n\t\t\t\t\t\t\tthis.picker.is(e.target) ||\n\t\t\t\t\t\t\tthis.picker.find(e.target).length ||\n\t\t\t\t\t\t\tthis.isInline\n\t\t\t\t\t\t)){\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t\t}\n\t\t\t\t\t}, this)\n\t\t\t\t}]\n\t\t\t];\n\t\t},\n\t\t_attachEvents: function(){\n\t\t\tthis._detachEvents();\n\t\t\tthis._applyEvents(this._events);\n\t\t},\n\t\t_detachEvents: function(){\n\t\t\tthis._unapplyEvents(this._events);\n\t\t},\n\t\t_attachSecondaryEvents: function(){\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis._applyEvents(this._secondaryEvents);\n\t\t},\n\t\t_detachSecondaryEvents: function(){\n\t\t\tthis._unapplyEvents(this._secondaryEvents);\n\t\t},\n\t\t_trigger: function(event, altdate){\n\t\t\tvar date = altdate || this.dates.get(-1),\n\t\t\t\tlocal_date = this._utc_to_local(date);\n\n\t\t\tthis.element.trigger({\n\t\t\t\ttype: event,\n\t\t\t\tdate: local_date,\n\t\t\t\tdates: $.map(this.dates, this._utc_to_local),\n\t\t\t\tformat: $.proxy(function(ix, format){\n\t\t\t\t\tif (arguments.length === 0){\n\t\t\t\t\t\tix = this.dates.length - 1;\n\t\t\t\t\t\tformat = this.o.format;\n\t\t\t\t\t}\n\t\t\t\t\telse if (typeof ix === 'string'){\n\t\t\t\t\t\tformat = ix;\n\t\t\t\t\t\tix = this.dates.length - 1;\n\t\t\t\t\t}\n\t\t\t\t\tformat = format || this.o.format;\n\t\t\t\t\tvar date = this.dates.get(ix);\n\t\t\t\t\treturn DPGlobal.formatDate(date, format, this.o.language);\n\t\t\t\t}, this)\n\t\t\t});\n\t\t},\n\n\t\tshow: function(){\n\t\t\tif (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))\n\t\t\t\treturn;\n\t\t\tif (!this.isInline)\n\t\t\t\tthis.picker.appendTo(this.o.container);\n\t\t\tthis.place();\n\t\t\tthis.picker.show();\n\t\t\tthis._attachSecondaryEvents();\n\t\t\tthis._trigger('show');\n\t\t\tif ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) {\n\t\t\t\t$(this.element).blur();\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\thide: function(){\n\t\t\tif (this.isInline || !this.picker.is(':visible'))\n\t\t\t\treturn this;\n\t\t\tthis.focusDate = null;\n\t\t\tthis.picker.hide().detach();\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis.viewMode = this.o.startView;\n\t\t\tthis.showMode();\n\n\t\t\tif (this.o.forceParse && this.inputField.val())\n\t\t\t\tthis.setValue();\n\t\t\tthis._trigger('hide');\n\t\t\treturn this;\n\t\t},\n\n\t\tdestroy: function(){\n\t\t\tthis.hide();\n\t\t\tthis._detachEvents();\n\t\t\tthis._detachSecondaryEvents();\n\t\t\tthis.picker.remove();\n\t\t\tdelete this.element.data().datepicker;\n\t\t\tif (!this.isInput){\n\t\t\t\tdelete this.element.data().date;\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\tpaste: function(evt){\n\t\t\tvar dateString;\n\t\t\tif (evt.originalEvent.clipboardData && evt.originalEvent.clipboardData.types\n\t\t\t\t&& $.inArray('text/plain', evt.originalEvent.clipboardData.types) !== -1) {\n\t\t\t\tdateString = evt.originalEvent.clipboardData.getData('text/plain');\n\t\t\t}\n\t\t\telse if (window.clipboardData) {\n\t\t\t\tdateString = window.clipboardData.getData('Text');\n\t\t\t}\n\t\t\telse {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tthis.setDate(dateString);\n\t\t\tthis.update();\n\t\t\tevt.preventDefault();\n\t\t},\n\n\t\t_utc_to_local: function(utc){\n\t\t\treturn utc && new Date(utc.getTime() + (utc.getTimezoneOffset()*60000));\n\t\t},\n\t\t_local_to_utc: function(local){\n\t\t\treturn local && new Date(local.getTime() - (local.getTimezoneOffset()*60000));\n\t\t},\n\t\t_zero_time: function(local){\n\t\t\treturn local && new Date(local.getFullYear(), local.getMonth(), local.getDate());\n\t\t},\n\t\t_zero_utc_time: function(utc){\n\t\t\treturn utc && new Date(Date.UTC(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate()));\n\t\t},\n\n\t\tgetDates: function(){\n\t\t\treturn $.map(this.dates, this._utc_to_local);\n\t\t},\n\n\t\tgetUTCDates: function(){\n\t\t\treturn $.map(this.dates, function(d){\n\t\t\t\treturn new Date(d);\n\t\t\t});\n\t\t},\n\n\t\tgetDate: function(){\n\t\t\treturn this._utc_to_local(this.getUTCDate());\n\t\t},\n\n\t\tgetUTCDate: function(){\n\t\t\tvar selected_date = this.dates.get(-1);\n\t\t\tif (typeof selected_date !== 'undefined') {\n\t\t\t\treturn new Date(selected_date);\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\n\t\tclearDates: function(){\n\t\t\tif (this.inputField) {\n\t\t\t\tthis.inputField.val('');\n\t\t\t}\n\n\t\t\tthis.update();\n\t\t\tthis._trigger('changeDate');\n\n\t\t\tif (this.o.autoclose) {\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\t\tsetDates: function(){\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\n\t\t\tthis.update.apply(this, args);\n\t\t\tthis._trigger('changeDate');\n\t\t\tthis.setValue();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetUTCDates: function(){\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\n\t\t\tthis.update.apply(this, $.map(args, this._utc_to_local));\n\t\t\tthis._trigger('changeDate');\n\t\t\tthis.setValue();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDate: alias('setDates'),\n\t\tsetUTCDate: alias('setUTCDates'),\n\t\tremove: alias('destroy'),\n\n\t\tsetValue: function(){\n\t\t\tvar formatted = this.getFormattedDate();\n\t\t\tthis.inputField.val(formatted);\n\t\t\treturn this;\n\t\t},\n\n\t\tgetFormattedDate: function(format){\n\t\t\tif (format === undefined)\n\t\t\t\tformat = this.o.format;\n\n\t\t\tvar lang = this.o.language;\n\t\t\treturn $.map(this.dates, function(d){\n\t\t\t\treturn DPGlobal.formatDate(d, format, lang);\n\t\t\t}).join(this.o.multidateSeparator);\n\t\t},\n\n\t\tgetStartDate: function(){\n\t\t\treturn this.o.startDate;\n\t\t},\n\n\t\tsetStartDate: function(startDate){\n\t\t\tthis._process_options({startDate: startDate});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tgetEndDate: function(){\n\t\t\treturn this.o.endDate;\n\t\t},\n\n\t\tsetEndDate: function(endDate){\n\t\t\tthis._process_options({endDate: endDate});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDaysOfWeekDisabled: function(daysOfWeekDisabled){\n\t\t\tthis._process_options({daysOfWeekDisabled: daysOfWeekDisabled});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDaysOfWeekHighlighted: function(daysOfWeekHighlighted){\n\t\t\tthis._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted});\n\t\t\tthis.update();\n\t\t\treturn this;\n\t\t},\n\n\t\tsetDatesDisabled: function(datesDisabled){\n\t\t\tthis._process_options({datesDisabled: datesDisabled});\n\t\t\tthis.update();\n\t\t\tthis.updateNavArrows();\n\t\t},\n\n\t\tplace: function(){\n\t\t\tif (this.isInline)\n\t\t\t\treturn this;\n\t\t\tvar calendarWidth = this.picker.outerWidth(),\n\t\t\t\tcalendarHeight = this.picker.outerHeight(),\n\t\t\t\tvisualPadding = 10,\n\t\t\t\tcontainer = $(this.o.container),\n\t\t\t\twindowWidth = container.width(),\n\t\t\t\tscrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(),\n\t\t\t\tappendOffset = container.offset();\n\n\t\t\tvar parentsZindex = [];\n\t\t\tthis.element.parents().each(function(){\n\t\t\t\tvar itemZIndex = $(this).css('z-index');\n\t\t\t\tif (itemZIndex !== 'auto' && itemZIndex !== 0) parentsZindex.push(parseInt(itemZIndex));\n\t\t\t});\n\t\t\tvar zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset;\n\t\t\tvar offset = this.component ? this.component.parent().offset() : this.element.offset();\n\t\t\tvar height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false);\n\t\t\tvar width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false);\n\t\t\tvar left = offset.left - appendOffset.left,\n\t\t\t\ttop = offset.top - appendOffset.top;\n\n\t\t\tif (this.o.container !== 'body') {\n\t\t\t\ttop += scrollTop;\n\t\t\t}\n\n\t\t\tthis.picker.removeClass(\n\t\t\t\t'datepicker-orient-top datepicker-orient-bottom '+\n\t\t\t\t'datepicker-orient-right datepicker-orient-left'\n\t\t\t);\n\n\t\t\tif (this.o.orientation.x !== 'auto'){\n\t\t\t\tthis.picker.addClass('datepicker-orient-' + this.o.orientation.x);\n\t\t\t\tif (this.o.orientation.x === 'right')\n\t\t\t\t\tleft -= calendarWidth - width;\n\t\t\t}\n\t\t\t// auto x orientation is best-placement: if it crosses a window\n\t\t\t// edge, fudge it sideways\n\t\t\telse {\n\t\t\t\tif (offset.left < 0) {\n\t\t\t\t\t// component is outside the window on the left side. Move it into visible range\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\n\t\t\t\t\tleft -= offset.left - visualPadding;\n\t\t\t\t} else if (left + calendarWidth > windowWidth) {\n\t\t\t\t\t// the calendar passes the widow right edge. Align it to component right side\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\n\t\t\t\t\tleft += width - calendarWidth;\n\t\t\t\t} else {\n\t\t\t\t\t// Default to left\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// auto y orientation is best-situation: top or bottom, no fudging,\n\t\t\t// decision based on which shows more of the calendar\n\t\t\tvar yorient = this.o.orientation.y,\n\t\t\t\ttop_overflow;\n\t\t\tif (yorient === 'auto'){\n\t\t\t\ttop_overflow = -scrollTop + top - calendarHeight;\n\t\t\t\tyorient = top_overflow < 0 ? 'bottom' : 'top';\n\t\t\t}\n\n\t\t\tthis.picker.addClass('datepicker-orient-' + yorient);\n\t\t\tif (yorient === 'top')\n\t\t\t\ttop -= calendarHeight + parseInt(this.picker.css('padding-top'));\n\t\t\telse\n\t\t\t\ttop += height;\n\n\t\t\tif (this.o.rtl) {\n\t\t\t\tvar right = windowWidth - (left + width);\n\t\t\t\tthis.picker.css({\n\t\t\t\t\ttop: top,\n\t\t\t\t\tright: right,\n\t\t\t\t\tzIndex: zIndex\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.picker.css({\n\t\t\t\t\ttop: top,\n\t\t\t\t\tleft: left,\n\t\t\t\t\tzIndex: zIndex\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\n\t\t_allow_update: true,\n\t\tupdate: function(){\n\t\t\tif (!this._allow_update)\n\t\t\t\treturn this;\n\n\t\t\tvar oldDates = this.dates.copy(),\n\t\t\t\tdates = [],\n\t\t\t\tfromArgs = false;\n\t\t\tif (arguments.length){\n\t\t\t\t$.each(arguments, $.proxy(function(i, date){\n\t\t\t\t\tif (date instanceof Date)\n\t\t\t\t\t\tdate = this._local_to_utc(date);\n\t\t\t\t\tdates.push(date);\n\t\t\t\t}, this));\n\t\t\t\tfromArgs = true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdates = this.isInput\n\t\t\t\t\t\t? this.element.val()\n\t\t\t\t\t\t: this.element.data('date') || this.inputField.val();\n\t\t\t\tif (dates && this.o.multidate)\n\t\t\t\t\tdates = dates.split(this.o.multidateSeparator);\n\t\t\t\telse\n\t\t\t\t\tdates = [dates];\n\t\t\t\tdelete this.element.data().date;\n\t\t\t}\n\n\t\t\tdates = $.map(dates, $.proxy(function(date){\n\t\t\t\treturn DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear);\n\t\t\t}, this));\n\t\t\tdates = $.grep(dates, $.proxy(function(date){\n\t\t\t\treturn (\n\t\t\t\t\t!this.dateWithinRange(date) ||\n\t\t\t\t\t!date\n\t\t\t\t);\n\t\t\t}, this), true);\n\t\t\tthis.dates.replace(dates);\n\n\t\t\tif (this.dates.length)\n\t\t\t\tthis.viewDate = new Date(this.dates.get(-1));\n\t\t\telse if (this.viewDate < this.o.startDate)\n\t\t\t\tthis.viewDate = new Date(this.o.startDate);\n\t\t\telse if (this.viewDate > this.o.endDate)\n\t\t\t\tthis.viewDate = new Date(this.o.endDate);\n\t\t\telse\n\t\t\t\tthis.viewDate = this.o.defaultViewDate;\n\n\t\t\tif (fromArgs){\n\t\t\t\t// setting date by clicking\n\t\t\t\tthis.setValue();\n\t\t\t}\n\t\t\telse if (dates.length){\n\t\t\t\t// setting date by typing\n\t\t\t\tif (String(oldDates) !== String(this.dates))\n\t\t\t\t\tthis._trigger('changeDate');\n\t\t\t}\n\t\t\tif (!this.dates.length && oldDates.length)\n\t\t\t\tthis._trigger('clearDate');\n\n\t\t\tthis.fill();\n\t\t\tthis.element.change();\n\t\t\treturn this;\n\t\t},\n\n\t\tfillDow: function(){\n\t\t\tvar dowCnt = this.o.weekStart,\n\t\t\t\thtml = '<tr>';\n\t\t\tif (this.o.calendarWeeks){\n\t\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\n\t\t\t\t\t.attr('colspan', function(i, val){\n\t\t\t\t\t\treturn parseInt(val) + 1;\n\t\t\t\t\t});\n\t\t\t\thtml += '<th class=\"cw\">&#160;</th>';\n\t\t\t}\n\t\t\twhile (dowCnt < this.o.weekStart + 7){\n\t\t\t\thtml += '<th class=\"dow';\n        if ($.inArray(dowCnt, this.o.daysOfWeekDisabled) > -1)\n          html += ' disabled';\n        html += '\">'+dates[this.o.language].daysMin[(dowCnt++)%7]+'</th>';\n\t\t\t}\n\t\t\thtml += '</tr>';\n\t\t\tthis.picker.find('.datepicker-days thead').append(html);\n\t\t},\n\n\t\tfillMonths: function(){\n      var localDate = this._utc_to_local(this.viewDate);\n\t\t\tvar html = '',\n\t\t\ti = 0;\n\t\t\twhile (i < 12){\n        var focused = localDate && localDate.getMonth() === i ? ' focused' : '';\n\t\t\t\thtml += '<span class=\"month' + focused + '\">' + dates[this.o.language].monthsShort[i++]+'</span>';\n\t\t\t}\n\t\t\tthis.picker.find('.datepicker-months td').html(html);\n\t\t},\n\n\t\tsetRange: function(range){\n\t\t\tif (!range || !range.length)\n\t\t\t\tdelete this.range;\n\t\t\telse\n\t\t\t\tthis.range = $.map(range, function(d){\n\t\t\t\t\treturn d.valueOf();\n\t\t\t\t});\n\t\t\tthis.fill();\n\t\t},\n\n\t\tgetClassNames: function(date){\n\t\t\tvar cls = [],\n\t\t\t\tyear = this.viewDate.getUTCFullYear(),\n\t\t\t\tmonth = this.viewDate.getUTCMonth(),\n\t\t\t\ttoday = new Date();\n\t\t\tif (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){\n\t\t\t\tcls.push('old');\n\t\t\t}\n\t\t\telse if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){\n\t\t\t\tcls.push('new');\n\t\t\t}\n\t\t\tif (this.focusDate && date.valueOf() === this.focusDate.valueOf())\n\t\t\t\tcls.push('focused');\n\t\t\t// Compare internal UTC date with local today, not UTC today\n\t\t\tif (this.o.todayHighlight &&\n\t\t\t\tdate.getUTCFullYear() === today.getFullYear() &&\n\t\t\t\tdate.getUTCMonth() === today.getMonth() &&\n\t\t\t\tdate.getUTCDate() === today.getDate()){\n\t\t\t\tcls.push('today');\n\t\t\t}\n\t\t\tif (this.dates.contains(date) !== -1)\n\t\t\t\tcls.push('active');\n\t\t\tif (!this.dateWithinRange(date)){\n\t\t\t\tcls.push('disabled');\n\t\t\t}\n\t\t\tif (this.dateIsDisabled(date)){\n\t\t\t\tcls.push('disabled', 'disabled-date');\t\n\t\t\t} \n\t\t\tif ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){\n\t\t\t\tcls.push('highlighted');\n\t\t\t}\n\n\t\t\tif (this.range){\n\t\t\t\tif (date > this.range[0] && date < this.range[this.range.length-1]){\n\t\t\t\t\tcls.push('range');\n\t\t\t\t}\n\t\t\t\tif ($.inArray(date.valueOf(), this.range) !== -1){\n\t\t\t\t\tcls.push('selected');\n\t\t\t\t}\n\t\t\t\tif (date.valueOf() === this.range[0]){\n          cls.push('range-start');\n        }\n        if (date.valueOf() === this.range[this.range.length-1]){\n          cls.push('range-end');\n        }\n\t\t\t}\n\t\t\treturn cls;\n\t\t},\n\n\t\t_fill_yearsView: function(selector, cssClass, factor, step, currentYear, startYear, endYear, callback){\n\t\t\tvar html, view, year, steps, startStep, endStep, thisYear, i, classes, tooltip, before;\n\n\t\t\thtml      = '';\n\t\t\tview      = this.picker.find(selector);\n\t\t\tyear      = parseInt(currentYear / factor, 10) * factor;\n\t\t\tstartStep = parseInt(startYear / step, 10) * step;\n\t\t\tendStep   = parseInt(endYear / step, 10) * step;\n\t\t\tsteps     = $.map(this.dates, function(d){\n\t\t\t\treturn parseInt(d.getUTCFullYear() / step, 10) * step;\n\t\t\t});\n\n\t\t\tview.find('.datepicker-switch').text(year + '-' + (year + step * 9));\n\n\t\t\tthisYear = year - step;\n\t\t\tfor (i = -1; i < 11; i += 1) {\n\t\t\t\tclasses = [cssClass];\n\t\t\t\ttooltip = null;\n\n\t\t\t\tif (i === -1) {\n\t\t\t\t\tclasses.push('old');\n\t\t\t\t} else if (i === 10) {\n\t\t\t\t\tclasses.push('new');\n\t\t\t\t}\n\t\t\t\tif ($.inArray(thisYear, steps) !== -1) {\n\t\t\t\t\tclasses.push('active');\n\t\t\t\t}\n\t\t\t\tif (thisYear < startStep || thisYear > endStep) {\n\t\t\t\t\tclasses.push('disabled');\n\t\t\t\t}\n        if (thisYear === this.viewDate.getFullYear()) {\n\t\t\t\t  classes.push('focused');\n        }\n\n\t\t\t\tif (callback !== $.noop) {\n\t\t\t\t\tbefore = callback(new Date(thisYear, 0, 1));\n\t\t\t\t\tif (before === undefined) {\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\t} else if (typeof(before) === 'boolean') {\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\t} else if (typeof(before) === 'string') {\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\t}\n\t\t\t\t\tif (before.enabled === false) {\n\t\t\t\t\t\tclasses.push('disabled');\n\t\t\t\t\t}\n\t\t\t\t\tif (before.classes) {\n\t\t\t\t\t\tclasses = classes.concat(before.classes.split(/\\s+/));\n\t\t\t\t\t}\n\t\t\t\t\tif (before.tooltip) {\n\t\t\t\t\t\ttooltip = before.tooltip;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\thtml += '<span class=\"' + classes.join(' ') + '\"' + (tooltip ? ' title=\"' + tooltip + '\"' : '') + '>' + thisYear + '</span>';\n\t\t\t\tthisYear += step;\n\t\t\t}\n\t\t\tview.find('td').html(html);\n\t\t},\n\n\t\tfill: function(){\n\t\t\tvar d = new Date(this.viewDate),\n\t\t\t\tyear = d.getUTCFullYear(),\n\t\t\t\tmonth = d.getUTCMonth(),\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\n\t\t\t\ttodaytxt = dates[this.o.language].today || dates['en'].today || '',\n\t\t\t\tcleartxt = dates[this.o.language].clear || dates['en'].clear || '',\n\t\t\t\ttitleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,\n\t\t\t\ttooltip,\n\t\t\t\tbefore;\n\t\t\tif (isNaN(year) || isNaN(month))\n\t\t\t\treturn;\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\n\t\t\t\t\t\t.text(DPGlobal.formatDate(d, titleFormat, this.o.language));\n\t\t\tthis.picker.find('tfoot .today')\n\t\t\t\t\t\t.text(todaytxt)\n\t\t\t\t\t\t.toggle(this.o.todayBtn !== false);\n\t\t\tthis.picker.find('tfoot .clear')\n\t\t\t\t\t\t.text(cleartxt)\n\t\t\t\t\t\t.toggle(this.o.clearBtn !== false);\n\t\t\tthis.picker.find('thead .datepicker-title')\n\t\t\t\t\t\t.text(this.o.title)\n\t\t\t\t\t\t.toggle(this.o.title !== '');\n\t\t\tthis.updateNavArrows();\n\t\t\tthis.fillMonths();\n\t\t\tvar prevMonth = UTCDate(year, month-1, 28),\n\t\t\t\tday = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth());\n\t\t\tprevMonth.setUTCDate(day);\n\t\t\tprevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7);\n\t\t\tvar nextMonth = new Date(prevMonth);\n\t\t\tif (prevMonth.getUTCFullYear() < 100){\n        nextMonth.setUTCFullYear(prevMonth.getUTCFullYear());\n      }\n\t\t\tnextMonth.setUTCDate(nextMonth.getUTCDate() + 42);\n\t\t\tnextMonth = nextMonth.valueOf();\n\t\t\tvar html = [];\n\t\t\tvar clsName;\n\t\t\twhile (prevMonth.valueOf() < nextMonth){\n\t\t\t\tif (prevMonth.getUTCDay() === this.o.weekStart){\n\t\t\t\t\thtml.push('<tr>');\n\t\t\t\t\tif (this.o.calendarWeeks){\n\t\t\t\t\t\t// ISO 8601: First week contains first thursday.\n\t\t\t\t\t\t// ISO also states week starts on Monday, but we can be more abstract here.\n\t\t\t\t\t\tvar\n\t\t\t\t\t\t\t// Start of current week: based on weekstart/current date\n\t\t\t\t\t\t\tws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5),\n\t\t\t\t\t\t\t// Thursday of this week\n\t\t\t\t\t\t\tth = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),\n\t\t\t\t\t\t\t// First Thursday of year, year from thursday\n\t\t\t\t\t\t\tyth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5),\n\t\t\t\t\t\t\t// Calendar week: ms between thursdays, div ms per day, div 7 days\n\t\t\t\t\t\t\tcalWeek =  (th - yth) / 864e5 / 7 + 1;\n\t\t\t\t\t\thtml.push('<td class=\"cw\">'+ calWeek +'</td>');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tclsName = this.getClassNames(prevMonth);\n\t\t\t\tclsName.push('day');\n\n\t\t\t\tif (this.o.beforeShowDay !== $.noop){\n\t\t\t\t\tbefore = this.o.beforeShowDay(this._utc_to_local(prevMonth));\n\t\t\t\t\tif (before === undefined)\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\telse if (typeof(before) === 'boolean')\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\telse if (typeof(before) === 'string')\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\tif (before.enabled === false)\n\t\t\t\t\t\tclsName.push('disabled');\n\t\t\t\t\tif (before.classes)\n\t\t\t\t\t\tclsName = clsName.concat(before.classes.split(/\\s+/));\n\t\t\t\t\tif (before.tooltip)\n\t\t\t\t\t\ttooltip = before.tooltip;\n\t\t\t\t}\n\n\t\t\t\t//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)\n\t\t\t\t//Fallback to unique function for older jquery versions\n\t\t\t\tif ($.isFunction($.uniqueSort)) {\n\t\t\t\t\tclsName = $.uniqueSort(clsName);\n\t\t\t\t} else {\n\t\t\t\t\tclsName = $.unique(clsName);\n\t\t\t\t}\n\n\t\t\t\thtml.push('<td class=\"'+clsName.join(' ')+'\"' + (tooltip ? ' title=\"'+tooltip+'\"' : '') + '>'+prevMonth.getUTCDate() + '</td>');\n\t\t\t\ttooltip = null;\n\t\t\t\tif (prevMonth.getUTCDay() === this.o.weekEnd){\n\t\t\t\t\thtml.push('</tr>');\n\t\t\t\t}\n\t\t\t\tprevMonth.setUTCDate(prevMonth.getUTCDate()+1);\n\t\t\t}\n\t\t\tthis.picker.find('.datepicker-days tbody').empty().append(html.join(''));\n\n\t\t\tvar monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months';\n\t\t\tvar months = this.picker.find('.datepicker-months')\n\t\t\t\t\t\t.find('.datepicker-switch')\n\t\t\t\t\t\t\t.text(this.o.maxViewMode < 2 ? monthsTitle : year)\n\t\t\t\t\t\t\t.end()\n\t\t\t\t\t\t.find('span').removeClass('active');\n\n\t\t\t$.each(this.dates, function(i, d){\n\t\t\t\tif (d.getUTCFullYear() === year)\n\t\t\t\t\tmonths.eq(d.getUTCMonth()).addClass('active');\n\t\t\t});\n\n\t\t\tif (year < startYear || year > endYear){\n\t\t\t\tmonths.addClass('disabled');\n\t\t\t}\n\t\t\tif (year === startYear){\n\t\t\t\tmonths.slice(0, startMonth).addClass('disabled');\n\t\t\t}\n\t\t\tif (year === endYear){\n\t\t\t\tmonths.slice(endMonth+1).addClass('disabled');\n\t\t\t}\n\n\t\t\tif (this.o.beforeShowMonth !== $.noop){\n\t\t\t\tvar that = this;\n\t\t\t\t$.each(months, function(i, month){\n          var moDate = new Date(year, i, 1);\n          var before = that.o.beforeShowMonth(moDate);\n\t\t\t\t\tif (before === undefined)\n\t\t\t\t\t\tbefore = {};\n\t\t\t\t\telse if (typeof(before) === 'boolean')\n\t\t\t\t\t\tbefore = {enabled: before};\n\t\t\t\t\telse if (typeof(before) === 'string')\n\t\t\t\t\t\tbefore = {classes: before};\n\t\t\t\t\tif (before.enabled === false && !$(month).hasClass('disabled'))\n\t\t\t\t\t    $(month).addClass('disabled');\n\t\t\t\t\tif (before.classes)\n\t\t\t\t\t    $(month).addClass(before.classes);\n\t\t\t\t\tif (before.tooltip)\n\t\t\t\t\t    $(month).prop('title', before.tooltip);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Generating decade/years picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-years',\n\t\t\t\t'year',\n\t\t\t\t10,\n\t\t\t\t1,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowYear\n\t\t\t);\n\n\t\t\t// Generating century/decades picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-decades',\n\t\t\t\t'decade',\n\t\t\t\t100,\n\t\t\t\t10,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowDecade\n\t\t\t);\n\n\t\t\t// Generating millennium/centuries picker\n\t\t\tthis._fill_yearsView(\n\t\t\t\t'.datepicker-centuries',\n\t\t\t\t'century',\n\t\t\t\t1000,\n\t\t\t\t100,\n\t\t\t\tyear,\n\t\t\t\tstartYear,\n\t\t\t\tendYear,\n\t\t\t\tthis.o.beforeShowCentury\n\t\t\t);\n\t\t},\n\n\t\tupdateNavArrows: function(){\n\t\t\tif (!this._allow_update)\n\t\t\t\treturn;\n\n\t\t\tvar d = new Date(this.viewDate),\n\t\t\t\tyear = d.getUTCFullYear(),\n\t\t\t\tmonth = d.getUTCMonth();\n\t\t\tswitch (this.viewMode){\n\t\t\t\tcase 0:\n\t\t\t\t\tif (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()){\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'hidden'});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'visible'});\n\t\t\t\t\t}\n\t\t\t\t\tif (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()){\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'hidden'});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'visible'});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 1:\n\t\t\t\tcase 2:\n\t\t\t\tcase 3:\n\t\t\t\tcase 4:\n\t\t\t\t\tif (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() || this.o.maxViewMode < 2){\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'hidden'});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'visible'});\n\t\t\t\t\t}\n\t\t\t\t\tif (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() || this.o.maxViewMode < 2){\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'hidden'});\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'visible'});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\t\tclick: function(e){\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\n\t\t\tvar target, dir, day, year, month, monthChanged, yearChanged;\n\t\t\ttarget = $(e.target);\n\n\t\t\t// Clicked on the switch\n\t\t\tif (target.hasClass('datepicker-switch')){\n\t\t\t\tthis.showMode(1);\n\t\t\t}\n\n\t\t\t// Clicked on prev or next\n\t\t\tvar navArrow = target.closest('.prev, .next');\n\t\t\tif (navArrow.length > 0) {\n\t\t\t\tdir = DPGlobal.modes[this.viewMode].navStep * (navArrow.hasClass('prev') ? -1 : 1);\n\t\t\t\tif (this.viewMode === 0){\n\t\t\t\t\tthis.viewDate = this.moveMonth(this.viewDate, dir);\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n\t\t\t\t} else {\n\t\t\t\t\tthis.viewDate = this.moveYear(this.viewDate, dir);\n\t\t\t\t\tif (this.viewMode === 1){\n\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.fill();\n\t\t\t}\n\n\t\t\t// Clicked on today button\n\t\t\tif (target.hasClass('today') && !target.hasClass('day')){\n\t\t\t\tthis.showMode(-2);\n\t\t\t\tthis._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view');\n\t\t\t}\n\n\t\t\t// Clicked on clear button\n\t\t\tif (target.hasClass('clear')){\n\t\t\t\tthis.clearDates();\n\t\t\t}\n\n\t\t\tif (!target.hasClass('disabled')){\n\t\t\t\t// Clicked on a day\n\t\t\t\tif (target.hasClass('day')){\n\t\t\t\t\tday = parseInt(target.text(), 10) || 1;\n\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\n\t\t\t\t\tmonth = this.viewDate.getUTCMonth();\n\n\t\t\t\t\t// From last month\n\t\t\t\t\tif (target.hasClass('old')){\n\t\t\t\t\t\tif (month === 0) {\n\t\t\t\t\t\t\tmonth = 11;\n\t\t\t\t\t\t\tyear = year - 1;\n\t\t\t\t\t\t\tmonthChanged = true;\n\t\t\t\t\t\t\tyearChanged = true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmonth = month - 1;\n\t\t\t\t\t\t\tmonthChanged = true;\n \t\t\t\t\t\t}\n \t\t\t\t\t}\n\n\t\t\t\t\t// From next month\n\t\t\t\t\tif (target.hasClass('new')) {\n\t\t\t\t\t\tif (month === 11){\n\t\t\t\t\t\t\tmonth = 0;\n\t\t\t\t\t\t\tyear = year + 1;\n\t\t\t\t\t\t\tmonthChanged = true;\n\t\t\t\t\t\t\tyearChanged = true;\n \t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmonth = month + 1;\n\t\t\t\t\t\t\tmonthChanged = true;\n \t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\tif (yearChanged) {\n\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n\t\t\t\t\t}\n\t\t\t\t\tif (monthChanged) {\n\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Clicked on a month\n\t\t\t\tif (target.hasClass('month')) {\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\n\t\t\t\t\tday = 1;\n\t\t\t\t\tmonth = target.parent().find('span').index(target);\n\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\n\t\t\t\t\tthis.viewDate.setUTCMonth(month);\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n\t\t\t\t\tif (this.o.minViewMode === 1){\n\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\t\tthis.showMode();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.showMode(-1);\n\t\t\t\t\t}\n\t\t\t\t\tthis.fill();\n\t\t\t\t}\n\n\t\t\t\t// Clicked on a year\n\t\t\t\tif (target.hasClass('year')\n\t\t\t\t\t\t|| target.hasClass('decade')\n\t\t\t\t\t\t|| target.hasClass('century')) {\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\n\n\t\t\t\t\tday = 1;\n\t\t\t\t\tmonth = 0;\n\t\t\t\t\tyear = parseInt(target.text(), 10)||0;\n\t\t\t\t\tthis.viewDate.setUTCFullYear(year);\n\n\t\t\t\t\tif (target.hasClass('year')){\n\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n\t\t\t\t\t\tif (this.o.minViewMode === 2){\n\t\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (target.hasClass('decade')){\n\t\t\t\t\t\tthis._trigger('changeDecade', this.viewDate);\n\t\t\t\t\t\tif (this.o.minViewMode === 3){\n\t\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif (target.hasClass('century')){\n\t\t\t\t\t\tthis._trigger('changeCentury', this.viewDate);\n\t\t\t\t\t\tif (this.o.minViewMode === 4){\n\t\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.showMode(-1);\n\t\t\t\t\tthis.fill();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.picker.is(':visible') && this._focused_from){\n\t\t\t\t$(this._focused_from).focus();\n\t\t\t}\n\t\t\tdelete this._focused_from;\n\t\t},\n\n\t\t_toggle_multidate: function(date){\n\t\t\tvar ix = this.dates.contains(date);\n\t\t\tif (!date){\n\t\t\t\tthis.dates.clear();\n\t\t\t}\n\n\t\t\tif (ix !== -1){\n\t\t\t\tif (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){\n\t\t\t\t\tthis.dates.remove(ix);\n\t\t\t\t}\n\t\t\t} else if (this.o.multidate === false) {\n\t\t\t\tthis.dates.clear();\n\t\t\t\tthis.dates.push(date);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tthis.dates.push(date);\n\t\t\t}\n\n\t\t\tif (typeof this.o.multidate === 'number')\n\t\t\t\twhile (this.dates.length > this.o.multidate)\n\t\t\t\t\tthis.dates.remove(0);\n\t\t},\n\n\t\t_setDate: function(date, which){\n\t\t\tif (!which || which === 'date')\n\t\t\t\tthis._toggle_multidate(date && new Date(date));\n\t\t\tif (!which || which === 'view')\n\t\t\t\tthis.viewDate = date && new Date(date);\n\n\t\t\tthis.fill();\n\t\t\tthis.setValue();\n\t\t\tif (!which || which !== 'view') {\n\t\t\t\tthis._trigger('changeDate');\n\t\t\t}\n\t\t\tif (this.inputField){\n\t\t\t\tthis.inputField.change();\n\t\t\t}\n\t\t\tif (this.o.autoclose && (!which || which === 'date')){\n\t\t\t\tthis.hide();\n\t\t\t}\n\t\t},\n\n\t\tmoveDay: function(date, dir){\n\t\t\tvar newDate = new Date(date);\n\t\t\tnewDate.setUTCDate(date.getUTCDate() + dir);\n\n\t\t\treturn newDate;\n\t\t},\n\n\t\tmoveWeek: function(date, dir){\n\t\t\treturn this.moveDay(date, dir * 7);\n\t\t},\n\n\t\tmoveMonth: function(date, dir){\n\t\t\tif (!isValidDate(date))\n\t\t\t\treturn this.o.defaultViewDate;\n\t\t\tif (!dir)\n\t\t\t\treturn date;\n\t\t\tvar new_date = new Date(date.valueOf()),\n\t\t\t\tday = new_date.getUTCDate(),\n\t\t\t\tmonth = new_date.getUTCMonth(),\n\t\t\t\tmag = Math.abs(dir),\n\t\t\t\tnew_month, test;\n\t\t\tdir = dir > 0 ? 1 : -1;\n\t\t\tif (mag === 1){\n\t\t\t\ttest = dir === -1\n\t\t\t\t\t// If going back one month, make sure month is not current month\n\t\t\t\t\t// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)\n\t\t\t\t\t? function(){\n\t\t\t\t\t\treturn new_date.getUTCMonth() === month;\n\t\t\t\t\t}\n\t\t\t\t\t// If going forward one month, make sure month is as expected\n\t\t\t\t\t// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)\n\t\t\t\t\t: function(){\n\t\t\t\t\t\treturn new_date.getUTCMonth() !== new_month;\n\t\t\t\t\t};\n\t\t\t\tnew_month = month + dir;\n\t\t\t\tnew_date.setUTCMonth(new_month);\n\t\t\t\t// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11\n\t\t\t\tif (new_month < 0 || new_month > 11)\n\t\t\t\t\tnew_month = (new_month + 12) % 12;\n\t\t\t}\n\t\t\telse {\n\t\t\t\t// For magnitudes >1, move one month at a time...\n\t\t\t\tfor (var i=0; i < mag; i++)\n\t\t\t\t\t// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...\n\t\t\t\t\tnew_date = this.moveMonth(new_date, dir);\n\t\t\t\t// ...then reset the day, keeping it in the new month\n\t\t\t\tnew_month = new_date.getUTCMonth();\n\t\t\t\tnew_date.setUTCDate(day);\n\t\t\t\ttest = function(){\n\t\t\t\t\treturn new_month !== new_date.getUTCMonth();\n\t\t\t\t};\n\t\t\t}\n\t\t\t// Common date-resetting loop -- if date is beyond end of month, make it\n\t\t\t// end of month\n\t\t\twhile (test()){\n\t\t\t\tnew_date.setUTCDate(--day);\n\t\t\t\tnew_date.setUTCMonth(new_month);\n\t\t\t}\n\t\t\treturn new_date;\n\t\t},\n\n\t\tmoveYear: function(date, dir){\n\t\t\treturn this.moveMonth(date, dir*12);\n\t\t},\n\n\t\tmoveAvailableDate: function(date, dir, fn){\n\t\t\tdo {\n\t\t\t\tdate = this[fn](date, dir);\n\n\t\t\t\tif (!this.dateWithinRange(date))\n\t\t\t\t\treturn false;\n\n\t\t\t\tfn = 'moveDay';\n\t\t\t}\n\t\t\twhile (this.dateIsDisabled(date));\n\n\t\t\treturn date;\n\t\t},\n\n\t\tweekOfDateIsDisabled: function(date){\n\t\t\treturn $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1;\n\t\t},\n\n\t\tdateIsDisabled: function(date){\n\t\t\treturn (\n\t\t\t\tthis.weekOfDateIsDisabled(date) ||\n\t\t\t\t$.grep(this.o.datesDisabled, function(d){\n\t\t\t\t\treturn isUTCEquals(date, d);\n\t\t\t\t}).length > 0\n\t\t\t);\n\t\t},\n\n\t\tdateWithinRange: function(date){\n\t\t\treturn date >= this.o.startDate && date <= this.o.endDate;\n\t\t},\n\n\t\tkeydown: function(e){\n\t\t\tif (!this.picker.is(':visible')){\n\t\t\t\tif (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker\n\t\t\t\t\tthis.show();\n\t\t\t\t\te.stopPropagation();\n        }\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar dateChanged = false,\n\t\t\t\tdir, newViewDate,\n\t\t\t\tfocusDate = this.focusDate || this.viewDate;\n\t\t\tswitch (e.keyCode){\n\t\t\t\tcase 27: // escape\n\t\t\t\t\tif (this.focusDate){\n\t\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t\tthis.hide();\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tbreak;\n\t\t\t\tcase 37: // left\n\t\t\t\tcase 38: // up\n\t\t\t\tcase 39: // right\n\t\t\t\tcase 40: // down\n\t\t\t\t\tif (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1;\n          if (this.viewMode === 0) {\n  \t\t\t\t\tif (e.ctrlKey){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\n\n  \t\t\t\t\t\tif (newViewDate)\n  \t\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\n  \t\t\t\t\t}\n  \t\t\t\t\telse if (e.shiftKey){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\n\n  \t\t\t\t\t\tif (newViewDate)\n  \t\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\n  \t\t\t\t\t}\n  \t\t\t\t\telse if (e.keyCode === 37 || e.keyCode === 39){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay');\n  \t\t\t\t\t}\n  \t\t\t\t\telse if (!this.weekOfDateIsDisabled(focusDate)){\n  \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek');\n  \t\t\t\t\t}\n          } else if (this.viewMode === 1) {\n            if (e.keyCode === 38 || e.keyCode === 40) {\n              dir = dir * 4;\n            }\n            newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\n          } else if (this.viewMode === 2) {\n            if (e.keyCode === 38 || e.keyCode === 40) {\n              dir = dir * 4;\n            }\n            newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\n          }\n\t\t\t\t\tif (newViewDate){\n\t\t\t\t\t\tthis.focusDate = this.viewDate = newViewDate;\n\t\t\t\t\t\tthis.setValue();\n\t\t\t\t\t\tthis.fill();\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 13: // enter\n\t\t\t\t\tif (!this.o.forceParse)\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tfocusDate = this.focusDate || this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tif (this.o.keyboardNavigation) {\n\t\t\t\t\t\tthis._toggle_multidate(focusDate);\n\t\t\t\t\t\tdateChanged = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tthis.setValue();\n\t\t\t\t\tthis.fill();\n\t\t\t\t\tif (this.picker.is(':visible')){\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\tif (this.o.autoclose)\n\t\t\t\t\t\t\tthis.hide();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase 9: // tab\n\t\t\t\t\tthis.focusDate = null;\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\n\t\t\t\t\tthis.fill();\n\t\t\t\t\tthis.hide();\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (dateChanged){\n\t\t\t\tif (this.dates.length)\n\t\t\t\t\tthis._trigger('changeDate');\n\t\t\t\telse\n\t\t\t\t\tthis._trigger('clearDate');\n\t\t\t\tif (this.inputField){\n\t\t\t\t\tthis.inputField.change();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tshowMode: function(dir){\n\t\t\tif (dir){\n\t\t\t\tthis.viewMode = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, this.viewMode + dir));\n\t\t\t}\n\t\t\tthis.picker\n\t\t\t\t.children('div')\n\t\t\t\t.hide()\n\t\t\t\t.filter('.datepicker-' + DPGlobal.modes[this.viewMode].clsName)\n\t\t\t\t\t.show();\n\t\t\tthis.updateNavArrows();\n\t\t}\n\t};\n\n\tvar DateRangePicker = function(element, options){\n\t\t$(element).data('datepicker', this);\n\t\tthis.element = $(element);\n\t\tthis.inputs = $.map(options.inputs, function(i){\n\t\t\treturn i.jquery ? i[0] : i;\n\t\t});\n\t\tdelete options.inputs;\n\n\t\tdatepickerPlugin.call($(this.inputs), options)\n\t\t\t.on('changeDate', $.proxy(this.dateUpdated, this));\n\n\t\tthis.pickers = $.map(this.inputs, function(i){\n\t\t\treturn $(i).data('datepicker');\n\t\t});\n\t\tthis.updateDates();\n\t};\n\tDateRangePicker.prototype = {\n\t\tupdateDates: function(){\n\t\t\tthis.dates = $.map(this.pickers, function(i){\n\t\t\t\treturn i.getUTCDate();\n\t\t\t});\n\t\t\tthis.updateRanges();\n\t\t},\n\t\tupdateRanges: function(){\n\t\t\tvar range = $.map(this.dates, function(d){\n\t\t\t\treturn d.valueOf();\n\t\t\t});\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tp.setRange(range);\n\t\t\t});\n\t\t},\n\t\tdateUpdated: function(e){\n\t\t\t// `this.updating` is a workaround for preventing infinite recursion\n\t\t\t// between `changeDate` triggering and `setUTCDate` calling.  Until\n\t\t\t// there is a better mechanism.\n\t\t\tif (this.updating)\n\t\t\t\treturn;\n\t\t\tthis.updating = true;\n\n\t\t\tvar dp = $(e.target).data('datepicker');\n\n\t\t\tif (typeof(dp) === \"undefined\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar new_date = dp.getUTCDate(),\n\t\t\t\ti = $.inArray(e.target, this.inputs),\n\t\t\t\tj = i - 1,\n\t\t\t\tk = i + 1,\n\t\t\t\tl = this.inputs.length;\n\t\t\tif (i === -1)\n\t\t\t\treturn;\n\n\t\t\t$.each(this.pickers, function(i, p){\n\t\t\t\tif (!p.getUTCDate())\n\t\t\t\t\tp.setUTCDate(new_date);\n\t\t\t});\n\n\t\t\tif (new_date < this.dates[j]){\n\t\t\t\t// Date being moved earlier/left\n\t\t\t\twhile (j >= 0 && new_date < this.dates[j]){\n\t\t\t\t\tthis.pickers[j--].setUTCDate(new_date);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (new_date > this.dates[k]){\n\t\t\t\t// Date being moved later/right\n\t\t\t\twhile (k < l && new_date > this.dates[k]){\n\t\t\t\t\tthis.pickers[k++].setUTCDate(new_date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.updateDates();\n\n\t\t\tdelete this.updating;\n\t\t},\n\t\tremove: function(){\n\t\t\t$.map(this.pickers, function(p){ p.remove(); });\n\t\t\tdelete this.element.data().datepicker;\n\t\t}\n\t};\n\n\tfunction opts_from_el(el, prefix){\n\t\t// Derive options from element data-attrs\n\t\tvar data = $(el).data(),\n\t\t\tout = {}, inkey,\n\t\t\treplace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');\n\t\tprefix = new RegExp('^' + prefix.toLowerCase());\n\t\tfunction re_lower(_,a){\n\t\t\treturn a.toLowerCase();\n\t\t}\n\t\tfor (var key in data)\n\t\t\tif (prefix.test(key)){\n\t\t\t\tinkey = key.replace(replace, re_lower);\n\t\t\t\tout[inkey] = data[key];\n\t\t\t}\n\t\treturn out;\n\t}\n\n\tfunction opts_from_locale(lang){\n\t\t// Derive options from locale plugins\n\t\tvar out = {};\n\t\t// Check if \"de-DE\" style date is available, if not language should\n\t\t// fallback to 2 letter code eg \"de\"\n\t\tif (!dates[lang]){\n\t\t\tlang = lang.split('-')[0];\n\t\t\tif (!dates[lang])\n\t\t\t\treturn;\n\t\t}\n\t\tvar d = dates[lang];\n\t\t$.each(locale_opts, function(i,k){\n\t\t\tif (k in d)\n\t\t\t\tout[k] = d[k];\n\t\t});\n\t\treturn out;\n\t}\n\n\tvar old = $.fn.datepicker;\n\tvar datepickerPlugin = function(option){\n\t\tvar args = Array.apply(null, arguments);\n\t\targs.shift();\n\t\tvar internal_return;\n\t\tthis.each(function(){\n\t\t\tvar $this = $(this),\n\t\t\t\tdata = $this.data('datepicker'),\n\t\t\t\toptions = typeof option === 'object' && option;\n\t\t\tif (!data){\n\t\t\t\tvar elopts = opts_from_el(this, 'date'),\n\t\t\t\t\t// Preliminary otions\n\t\t\t\t\txopts = $.extend({}, defaults, elopts, options),\n\t\t\t\t\tlocopts = opts_from_locale(xopts.language),\n\t\t\t\t\t// Options priority: js args, data-attrs, locales, defaults\n\t\t\t\t\topts = $.extend({}, defaults, locopts, elopts, options);\n\t\t\t\tif ($this.hasClass('input-daterange') || opts.inputs){\n\t\t\t\t\t$.extend(opts, {\n\t\t\t\t\t\tinputs: opts.inputs || $this.find('input').toArray()\n\t\t\t\t\t});\n\t\t\t\t\tdata = new DateRangePicker(this, opts);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdata = new Datepicker(this, opts);\n\t\t\t\t}\n\t\t\t\t$this.data('datepicker', data);\n\t\t\t}\n\t\t\tif (typeof option === 'string' && typeof data[option] === 'function'){\n\t\t\t\tinternal_return = data[option].apply(data, args);\n\t\t\t}\n\t\t});\n\n\t\tif (\n\t\t\tinternal_return === undefined ||\n\t\t\tinternal_return instanceof Datepicker ||\n\t\t\tinternal_return instanceof DateRangePicker\n\t\t)\n\t\t\treturn this;\n\n\t\tif (this.length > 1)\n\t\t\tthrow new Error('Using only allowed for the collection of a single element (' + option + ' function)');\n\t\telse\n\t\t\treturn internal_return;\n\t};\n\t$.fn.datepicker = datepickerPlugin;\n\n\tvar defaults = $.fn.datepicker.defaults = {\n\t\tassumeNearbyYear: false,\n\t\tautoclose: false,\n\t\tbeforeShowDay: $.noop,\n\t\tbeforeShowMonth: $.noop,\n\t\tbeforeShowYear: $.noop,\n\t\tbeforeShowDecade: $.noop,\n\t\tbeforeShowCentury: $.noop,\n\t\tcalendarWeeks: false,\n\t\tclearBtn: false,\n\t\ttoggleActive: false,\n\t\tdaysOfWeekDisabled: [],\n\t\tdaysOfWeekHighlighted: [],\n\t\tdatesDisabled: [],\n\t\tendDate: Infinity,\n\t\tforceParse: true,\n\t\tformat: 'mm/dd/yyyy',\n\t\tkeyboardNavigation: true,\n\t\tlanguage: 'en',\n\t\tminViewMode: 0,\n\t\tmaxViewMode: 4,\n\t\tmultidate: false,\n\t\tmultidateSeparator: ',',\n\t\torientation: \"auto\",\n\t\trtl: false,\n\t\tstartDate: -Infinity,\n\t\tstartView: 0,\n\t\ttodayBtn: false,\n\t\ttodayHighlight: false,\n\t\tweekStart: 0,\n\t\tdisableTouchKeyboard: false,\n\t\tenableOnReadonly: true,\n\t\tshowOnFocus: true,\n\t\tzIndexOffset: 10,\n\t\tcontainer: 'body',\n\t\timmediateUpdates: false,\n\t\ttitle: '',\n\t\ttemplates: {\n\t\t\tleftArrow: '&laquo;',\n\t\t\trightArrow: '&raquo;'\n\t\t}\n\t};\n\tvar locale_opts = $.fn.datepicker.locale_opts = [\n\t\t'format',\n\t\t'rtl',\n\t\t'weekStart'\n\t];\n\t$.fn.datepicker.Constructor = Datepicker;\n\tvar dates = $.fn.datepicker.dates = {\n\t\ten: {\n\t\t\tdays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\n\t\t\tdaysShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n\t\t\tdaysMin: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\n\t\t\tmonths: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\n\t\t\tmonthsShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\n\t\t\ttoday: \"Today\",\n\t\t\tclear: \"Clear\",\n\t\t\ttitleFormat: \"MM yyyy\"\n\t\t}\n\t};\n\n\tvar DPGlobal = {\n\t\tmodes: [\n\t\t\t{\n\t\t\t\tclsName: 'days',\n\t\t\t\tnavFnc: 'Month',\n\t\t\t\tnavStep: 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tclsName: 'months',\n\t\t\t\tnavFnc: 'FullYear',\n\t\t\t\tnavStep: 1\n\t\t\t},\n\t\t\t{\n\t\t\t\tclsName: 'years',\n\t\t\t\tnavFnc: 'FullYear',\n\t\t\t\tnavStep: 10\n\t\t\t},\n\t\t\t{\n\t\t\t\tclsName: 'decades',\n\t\t\t\tnavFnc: 'FullDecade',\n\t\t\t\tnavStep: 100\n\t\t\t},\n\t\t\t{\n\t\t\t\tclsName: 'centuries',\n\t\t\t\tnavFnc: 'FullCentury',\n\t\t\t\tnavStep: 1000\n\t\t}],\n\t\tisLeapYear: function(year){\n\t\t\treturn (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));\n\t\t},\n\t\tgetDaysInMonth: function(year, month){\n\t\t\treturn [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];\n\t\t},\n\t\tvalidParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,\n\t\tnonpunctuation: /[^ -\\/:-@\\u5e74\\u6708\\u65e5\\[-`{-~\\t\\n\\r]+/g,\n\t\tparseFormat: function(format){\n\t\t\tif (typeof format.toValue === 'function' && typeof format.toDisplay === 'function')\n                return format;\n            // IE treats \\0 as a string end in inputs (truncating the value),\n\t\t\t// so it's a bad format delimiter, anyway\n\t\t\tvar separators = format.replace(this.validParts, '\\0').split('\\0'),\n\t\t\t\tparts = format.match(this.validParts);\n\t\t\tif (!separators || !separators.length || !parts || parts.length === 0){\n\t\t\t\tthrow new Error(\"Invalid date format.\");\n\t\t\t}\n\t\t\treturn {separators: separators, parts: parts};\n\t\t},\n\t\tparseDate: function(date, format, language, assumeNearby){\n\t\t\tif (!date)\n\t\t\t\treturn undefined;\n\t\t\tif (date instanceof Date)\n\t\t\t\treturn date;\n\t\t\tif (typeof format === 'string')\n\t\t\t\tformat = DPGlobal.parseFormat(format);\n\t\t\tif (format.toValue)\n                return format.toValue(date, format, language);\n            var part_re = /([\\-+]\\d+)([dmwy])/,\n\t\t\t\tparts = date.match(/([\\-+]\\d+)([dmwy])/g),\n\t\t\t\tfn_map = {\n\t\t\t\t\td: 'moveDay',\n\t\t\t\t\tm: 'moveMonth',\n\t\t\t\t\tw: 'moveWeek',\n\t\t\t\t\ty: 'moveYear'\n\t\t\t\t},\n\t\t\t\tdateAliases = {\n\t\t\t\t\tyesterday: '-1d',\n\t\t\t\t\ttoday: '+0d',\n\t\t\t\t\ttomorrow: '+1d'\n\t\t\t\t},\n\t\t\t\tpart, dir, i, fn;\n\t\t\tif (/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/.test(date)){\n\t\t\t\tdate = new Date();\n\t\t\t\tfor (i=0; i < parts.length; i++){\n\t\t\t\t\tpart = part_re.exec(parts[i]);\n\t\t\t\t\tdir = parseInt(part[1]);\n\t\t\t\t\tfn = fn_map[part[2]];\n\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\n\t\t\t\t}\n\t\t\t\treturn UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n\t\t\t}\n\n\t\t\tif (typeof dateAliases[date] !== 'undefined') {\n\t\t\t\tdate = dateAliases[date];\n\t\t\t\tparts = date.match(/([\\-+]\\d+)([dmwy])/g);\n\n\t\t\t\tif (/^[\\-+]\\d+[dmwy]([\\s,]+[\\-+]\\d+[dmwy])*$/.test(date)){\n\t\t\t\t\tdate = new Date();\n\t\t\t\t  \tfor (i=0; i < parts.length; i++){\n\t\t\t\t\t\tpart = part_re.exec(parts[i]);\n\t\t\t\t\t\tdir = parseInt(part[1]);\n\t\t\t\t\t\tfn = fn_map[part[2]];\n\t\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\n\t\t\t\t  \t}\n\n\t\t\t  \t\treturn UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tparts = date && date.match(this.nonpunctuation) || [];\n\t\t\tdate = new Date();\n\n\t\t\tfunction applyNearbyYear(year, threshold){\n\t\t\t\tif (threshold === true)\n\t\t\t\t\tthreshold = 10;\n\n\t\t\t\t// if year is 2 digits or less, than the user most likely is trying to get a recent century\n\t\t\t\tif (year < 100){\n\t\t\t\t\tyear += 2000;\n\t\t\t\t\t// if the new year is more than threshold years in advance, use last century\n\t\t\t\t\tif (year > ((new Date()).getFullYear()+threshold)){\n\t\t\t\t\t\tyear -= 100;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn year;\n\t\t\t}\n\n\t\t\tvar parsed = {},\n\t\t\t\tsetters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],\n\t\t\t\tsetters_map = {\n\t\t\t\t\tyyyy: function(d,v){\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\n\t\t\t\t\t},\n\t\t\t\t\tyy: function(d,v){\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\n\t\t\t\t\t},\n\t\t\t\t\tm: function(d,v){\n\t\t\t\t\t\tif (isNaN(d))\n\t\t\t\t\t\t\treturn d;\n\t\t\t\t\t\tv -= 1;\n\t\t\t\t\t\twhile (v < 0) v += 12;\n\t\t\t\t\t\tv %= 12;\n\t\t\t\t\t\td.setUTCMonth(v);\n\t\t\t\t\t\twhile (d.getUTCMonth() !== v)\n\t\t\t\t\t\t\td.setUTCDate(d.getUTCDate()-1);\n\t\t\t\t\t\treturn d;\n\t\t\t\t\t},\n\t\t\t\t\td: function(d,v){\n\t\t\t\t\t\treturn d.setUTCDate(v);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tval, filtered;\n\t\t\tsetters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];\n\t\t\tsetters_map['dd'] = setters_map['d'];\n\t\t\tdate = UTCToday();\n\t\t\tvar fparts = format.parts.slice();\n\t\t\t// Remove noop parts\n\t\t\tif (parts.length !== fparts.length){\n\t\t\t\tfparts = $(fparts).filter(function(i,p){\n\t\t\t\t\treturn $.inArray(p, setters_order) !== -1;\n\t\t\t\t}).toArray();\n\t\t\t}\n\t\t\t// Process remainder\n\t\t\tfunction match_part(){\n\t\t\t\tvar m = this.slice(0, parts[i].length),\n\t\t\t\t\tp = parts[i].slice(0, m.length);\n\t\t\t\treturn m.toLowerCase() === p.toLowerCase();\n\t\t\t}\n\t\t\tif (parts.length === fparts.length){\n\t\t\t\tvar cnt;\n\t\t\t\tfor (i=0, cnt = fparts.length; i < cnt; i++){\n\t\t\t\t\tval = parseInt(parts[i], 10);\n\t\t\t\t\tpart = fparts[i];\n\t\t\t\t\tif (isNaN(val)){\n\t\t\t\t\t\tswitch (part){\n\t\t\t\t\t\t\tcase 'MM':\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].months).filter(match_part);\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].months) + 1;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'M':\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].monthsShort).filter(match_part);\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].monthsShort) + 1;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tparsed[part] = val;\n\t\t\t\t}\n\t\t\t\tvar _date, s;\n\t\t\t\tfor (i=0; i < setters_order.length; i++){\n\t\t\t\t\ts = setters_order[i];\n\t\t\t\t\tif (s in parsed && !isNaN(parsed[s])){\n\t\t\t\t\t\t_date = new Date(date);\n\t\t\t\t\t\tsetters_map[s](_date, parsed[s]);\n\t\t\t\t\t\tif (!isNaN(_date))\n\t\t\t\t\t\t\tdate = _date;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn date;\n\t\t},\n\t\tformatDate: function(date, format, language){\n\t\t\tif (!date)\n\t\t\t\treturn '';\n\t\t\tif (typeof format === 'string')\n\t\t\t\tformat = DPGlobal.parseFormat(format);\n\t\t\tif (format.toDisplay)\n                return format.toDisplay(date, format, language);\n            var val = {\n\t\t\t\td: date.getUTCDate(),\n\t\t\t\tD: dates[language].daysShort[date.getUTCDay()],\n\t\t\t\tDD: dates[language].days[date.getUTCDay()],\n\t\t\t\tm: date.getUTCMonth() + 1,\n\t\t\t\tM: dates[language].monthsShort[date.getUTCMonth()],\n\t\t\t\tMM: dates[language].months[date.getUTCMonth()],\n\t\t\t\tyy: date.getUTCFullYear().toString().substring(2),\n\t\t\t\tyyyy: date.getUTCFullYear()\n\t\t\t};\n\t\t\tval.dd = (val.d < 10 ? '0' : '') + val.d;\n\t\t\tval.mm = (val.m < 10 ? '0' : '') + val.m;\n\t\t\tdate = [];\n\t\t\tvar seps = $.extend([], format.separators);\n\t\t\tfor (var i=0, cnt = format.parts.length; i <= cnt; i++){\n\t\t\t\tif (seps.length)\n\t\t\t\t\tdate.push(seps.shift());\n\t\t\t\tdate.push(val[format.parts[i]]);\n\t\t\t}\n\t\t\treturn date.join('');\n\t\t},\n\t\theadTemplate: '<thead>'+\n\t\t\t              '<tr>'+\n\t\t\t                '<th colspan=\"7\" class=\"datepicker-title\"></th>'+\n\t\t\t              '</tr>'+\n\t\t\t\t\t\t\t'<tr>'+\n\t\t\t\t\t\t\t\t'<th class=\"prev\">&laquo;</th>'+\n\t\t\t\t\t\t\t\t'<th colspan=\"5\" class=\"datepicker-switch\"></th>'+\n\t\t\t\t\t\t\t\t'<th class=\"next\">&raquo;</th>'+\n\t\t\t\t\t\t\t'</tr>'+\n\t\t\t\t\t\t'</thead>',\n\t\tcontTemplate: '<tbody><tr><td colspan=\"7\"></td></tr></tbody>',\n\t\tfootTemplate: '<tfoot>'+\n\t\t\t\t\t\t\t'<tr>'+\n\t\t\t\t\t\t\t\t'<th colspan=\"7\" class=\"today\"></th>'+\n\t\t\t\t\t\t\t'</tr>'+\n\t\t\t\t\t\t\t'<tr>'+\n\t\t\t\t\t\t\t\t'<th colspan=\"7\" class=\"clear\"></th>'+\n\t\t\t\t\t\t\t'</tr>'+\n\t\t\t\t\t\t'</tfoot>'\n\t};\n\tDPGlobal.template = '<div class=\"datepicker\">'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-days\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\t'<tbody></tbody>'+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-months\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-years\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-decades\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t\t'<div class=\"datepicker-centuries\">'+\n\t\t\t\t\t\t\t\t'<table class=\"table-condensed\">'+\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\n\t\t\t\t\t\t\t\t'</table>'+\n\t\t\t\t\t\t\t'</div>'+\n\t\t\t\t\t\t'</div>';\n\n\t$.fn.datepicker.DPGlobal = DPGlobal;\n\n\n\t/* DATEPICKER NO CONFLICT\n\t* =================== */\n\n\t$.fn.datepicker.noConflict = function(){\n\t\t$.fn.datepicker = old;\n\t\treturn this;\n\t};\n\n\t/* DATEPICKER VERSION\n\t * =================== */\n\t$.fn.datepicker.version = '1.6.4';\n\n\t/* DATEPICKER DATA-API\n\t* ================== */\n\n\t$(document).on(\n\t\t'focus.datepicker.data-api click.datepicker.data-api',\n\t\t'[data-provide=\"datepicker\"]',\n\t\tfunction(e){\n\t\t\tvar $this = $(this);\n\t\t\tif ($this.data('datepicker'))\n\t\t\t\treturn;\n\t\t\te.preventDefault();\n\t\t\t// component click requires us to explicitly show it\n\t\t\tdatepickerPlugin.call($this, 'show');\n\t\t}\n\t);\n\t$(function(){\n\t\tdatepickerPlugin.call($('[data-provide=\"datepicker-inline\"]'));\n\t});\n\n}));\n"
  },
  {
    "path": "public/plugins/croppie/croppie.js",
    "content": "/*************************\n * Croppie\n * Copyright 2018\n * Foliotek\n * Version: 2.6.2\n *************************/\n(function (root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        // AMD. Register as an anonymous module.\n        define(['exports'], factory);\n    } else if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {\n        // CommonJS\n        factory(exports);\n    } else {\n        // Browser globals\n        factory((root.commonJsStrict = {}));\n    }\n}(this, function (exports) {\n\n    /* Polyfills */\n    if (typeof Promise !== 'function') {\n        /*! promise-polyfill 3.1.0 */\n        !function(a){function b(a,b){return function(){a.apply(b,arguments)}}function c(a){if(\"object\"!==typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!==typeof a)throw new TypeError(\"not a function\");this._state=null,this._value=null,this._deferreds=[],i(a,b(e,this),b(f,this))}function d(a){var b=this;return null===this._state?void this._deferreds.push(a):void k(function(){var c=b._state?a.onFulfilled:a.onRejected;if(null===c)return void(b._state?a.resolve:a.reject)(b._value);var d;try{d=c(b._value)}catch(e){return void a.reject(e)}a.resolve(d)})}function e(a){try{if(a===this)throw new TypeError(\"A promise cannot be resolved with itself.\");if(a&&(\"object\"===typeof a||\"function\"===typeof a)){var c=a.then;if(\"function\"===typeof c)return void i(b(c,a),b(e,this),b(f,this))}this._state=!0,this._value=a,g.call(this)}catch(d){f.call(this,d)}}function f(a){this._state=!1,this._value=a,g.call(this)}function g(){for(var a=0,b=this._deferreds.length;b>a;a++)d.call(this,this._deferreds[a]);this._deferreds=null}function h(a,b,c,d){this.onFulfilled=\"function\"===typeof a?a:null,this.onRejected=\"function\"===typeof b?b:null,this.resolve=c,this.reject=d}function i(a,b,c){var d=!1;try{a(function(a){d||(d=!0,b(a))},function(a){d||(d=!0,c(a))})}catch(e){if(d)return;d=!0,c(e)}}var j=setTimeout,k=\"function\"===typeof setImmediate&&setImmediate||function(a){j(a,1)},l=Array.isArray||function(a){return\"[object Array]\"===Object.prototype.toString.call(a)};c.prototype[\"catch\"]=function(a){return this.then(null,a)},c.prototype.then=function(a,b){var e=this;return new c(function(c,f){d.call(e,new h(a,b,c,f))})},c.all=function(){var a=Array.prototype.slice.call(1===arguments.length&&l(arguments[0])?arguments[0]:arguments);return new c(function(b,c){function d(f,g){try{if(g&&(\"object\"===typeof g||\"function\"===typeof g)){var h=g.then;if(\"function\"===typeof h)return void h.call(g,function(a){d(f,a)},c)}a[f]=g,0===--e&&b(a)}catch(i){c(i)}}if(0===a.length)return b([]);for(var e=a.length,f=0;f<a.length;f++)d(f,a[f])})},c.resolve=function(a){return a&&\"object\"===typeof a&&a.constructor===c?a:new c(function(b){b(a)})},c.reject=function(a){return new c(function(b,c){c(a)})},c.race=function(a){return new c(function(b,c){for(var d=0,e=a.length;e>d;d++)a[d].then(b,c)})},c._setImmediateFn=function(a){k=a},\"undefined\"!==typeof module&&module.exports?module.exports=c:a.Promise||(a.Promise=c)}(this);\n    }\n\n    if ( typeof window.CustomEvent !== \"function\" ) {\n        (function(){\n            function CustomEvent ( event, params ) {\n                params = params || { bubbles: false, cancelable: false, detail: undefined };\n                var evt = document.createEvent( 'CustomEvent' );\n                evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );\n                return evt;\n            }\n            CustomEvent.prototype = window.Event.prototype;\n            window.CustomEvent = CustomEvent;\n        }());\n    }\n\n    if (!HTMLCanvasElement.prototype.toBlob) {\n        Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {\n            value: function (callback, type, quality) {\n                var binStr = atob( this.toDataURL(type, quality).split(',')[1] ),\n                len = binStr.length,\n                arr = new Uint8Array(len);\n\n                for (var i=0; i<len; i++ ) {\n                    arr[i] = binStr.charCodeAt(i);\n                }\n\n                callback( new Blob( [arr], {type: type || 'image/png'} ) );\n            }\n        });\n    }\n    /* End Polyfills */\n\n    var cssPrefixes = ['Webkit', 'Moz', 'ms'],\n        emptyStyles = document.createElement('div').style,\n        EXIF_NORM = [1,8,3,6],\n        EXIF_FLIP = [2,7,4,5],\n        CSS_TRANS_ORG,\n        CSS_TRANSFORM,\n        CSS_USERSELECT;\n\n    function vendorPrefix(prop) {\n        if (prop in emptyStyles) {\n            return prop;\n        }\n\n        var capProp = prop[0].toUpperCase() + prop.slice(1),\n            i = cssPrefixes.length;\n\n        while (i--) {\n            prop = cssPrefixes[i] + capProp;\n            if (prop in emptyStyles) {\n                return prop;\n            }\n        }\n    }\n\n    CSS_TRANSFORM = vendorPrefix('transform');\n    CSS_TRANS_ORG = vendorPrefix('transformOrigin');\n    CSS_USERSELECT = vendorPrefix('userSelect');\n\n    function getExifOffset(ornt, rotate) {\n        var arr = EXIF_NORM.indexOf(ornt) > -1 ? EXIF_NORM : EXIF_FLIP,\n            index = arr.indexOf(ornt),\n            offset = (rotate / 90) % arr.length;// 180 = 2%4 = 2 shift exif by 2 indexes\n\n        return arr[(arr.length + index + (offset % arr.length)) % arr.length];\n    }\n\n    // Credits to : Andrew Dupont - http://andrewdupont.net/2009/08/28/deep-extending-objects-in-javascript/\n    function deepExtend(destination, source) {\n        destination = destination || {};\n        for (var property in source) {\n            if (source[property] && source[property].constructor && source[property].constructor === Object) {\n                destination[property] = destination[property] || {};\n                deepExtend(destination[property], source[property]);\n            } else {\n                destination[property] = source[property];\n            }\n        }\n        return destination;\n    }\n\n    function clone(object) {\n        return deepExtend({}, object);\n    }\n\n    function debounce(func, wait, immediate) {\n        var timeout;\n        return function () {\n            var context = this, args = arguments;\n            var later = function () {\n                timeout = null;\n                if (!immediate) func.apply(context, args);\n            };\n            var callNow = immediate && !timeout;\n            clearTimeout(timeout);\n            timeout = setTimeout(later, wait);\n            if (callNow) func.apply(context, args);\n        };\n    }\n\n    function dispatchChange(element) {\n        if (\"createEvent\" in document) {\n            var evt = document.createEvent(\"HTMLEvents\");\n            evt.initEvent(\"change\", false, true);\n            element.dispatchEvent(evt);\n        }\n        else {\n            element.fireEvent(\"onchange\");\n        }\n    }\n\n    //http://jsperf.com/vanilla-css\n    function css(el, styles, val) {\n        if (typeof (styles) === 'string') {\n            var tmp = styles;\n            styles = {};\n            styles[tmp] = val;\n        }\n\n        for (var prop in styles) {\n            el.style[prop] = styles[prop];\n        }\n    }\n\n    function addClass(el, c) {\n        if (el.classList) {\n            el.classList.add(c);\n        }\n        else {\n            el.className += ' ' + c;\n        }\n    }\n\n    function removeClass(el, c) {\n        if (el.classList) {\n            el.classList.remove(c);\n        }\n        else {\n            el.className = el.className.replace(c, '');\n        }\n    }\n\n    function setAttributes(el, attrs) {\n        for (var key in attrs) {\n            el.setAttribute(key, attrs[key]);\n        }\n    }\n\n    function num(v) {\n        return parseInt(v, 10);\n    }\n\n    /* Utilities */\n    function loadImage(src, doExif) {\n        var img = new Image();\n        img.style.opacity = 0;\n        return new Promise(function (resolve) {\n            function _resolve() {\n                img.style.opacity = 1;\n                setTimeout(function () {\n                    resolve(img);\n                }, 1);\n            }\n\n            img.removeAttribute('crossOrigin');\n            if (src.match(/^https?:\\/\\/|^\\/\\//)) {\n                img.setAttribute('crossOrigin', 'anonymous');\n            }\n\n            img.onload = function () {\n                if (doExif) {\n                    EXIF.getData(img, function () {\n                        _resolve();\n                    });\n                }\n                else {\n                    _resolve();\n                }\n            };\n            img.src = src;\n        });\n    }\n\n    function naturalImageDimensions(img, ornt) {\n        var w = img.naturalWidth;\n        var h = img.naturalHeight;\n        var orient = ornt || getExifOrientation(img);\n        if (orient && orient >= 5) {\n            var x= w;\n            w = h;\n            h = x;\n        }\n        return { width: w, height: h };\n    }\n\n    /* CSS Transform Prototype */\n    var TRANSLATE_OPTS = {\n        'translate3d': {\n            suffix: ', 0px'\n        },\n        'translate': {\n            suffix: ''\n        }\n    };\n    var Transform = function (x, y, scale) {\n        this.x = parseFloat(x);\n        this.y = parseFloat(y);\n        this.scale = parseFloat(scale);\n    };\n\n    Transform.parse = function (v) {\n        if (v.style) {\n            return Transform.parse(v.style[CSS_TRANSFORM]);\n        }\n        else if (v.indexOf('matrix') > -1 || v.indexOf('none') > -1) {\n            return Transform.fromMatrix(v);\n        }\n        else {\n            return Transform.fromString(v);\n        }\n    };\n\n    Transform.fromMatrix = function (v) {\n        var vals = v.substring(7).split(',');\n        if (!vals.length || v === 'none') {\n            vals = [1, 0, 0, 1, 0, 0];\n        }\n\n        return new Transform(num(vals[4]), num(vals[5]), parseFloat(vals[0]));\n    };\n\n    Transform.fromString = function (v) {\n        var values = v.split(') '),\n            translate = values[0].substring(Croppie.globals.translate.length + 1).split(','),\n            scale = values.length > 1 ? values[1].substring(6) : 1,\n            x = translate.length > 1 ? translate[0] : 0,\n            y = translate.length > 1 ? translate[1] : 0;\n\n        return new Transform(x, y, scale);\n    };\n\n    Transform.prototype.toString = function () {\n        var suffix = TRANSLATE_OPTS[Croppie.globals.translate].suffix || '';\n        return Croppie.globals.translate + '(' + this.x + 'px, ' + this.y + 'px' + suffix + ') scale(' + this.scale + ')';\n    };\n\n    var TransformOrigin = function (el) {\n        if (!el || !el.style[CSS_TRANS_ORG]) {\n            this.x = 0;\n            this.y = 0;\n            return;\n        }\n        var css = el.style[CSS_TRANS_ORG].split(' ');\n        this.x = parseFloat(css[0]);\n        this.y = parseFloat(css[1]);\n    };\n\n    TransformOrigin.prototype.toString = function () {\n        return this.x + 'px ' + this.y + 'px';\n    };\n\n    function getExifOrientation (img) {\n        return img.exifdata ? img.exifdata.Orientation : 1;\n    }\n\n    function drawCanvas(canvas, img, orientation) {\n        var width = img.width,\n            height = img.height,\n            ctx = canvas.getContext('2d');\n\n        canvas.width = img.width;\n        canvas.height = img.height;\n\n        ctx.save();\n        switch (orientation) {\n          case 2:\n             ctx.translate(width, 0);\n             ctx.scale(-1, 1);\n             break;\n\n          case 3:\n              ctx.translate(width, height);\n              ctx.rotate(180*Math.PI/180);\n              break;\n\n          case 4:\n              ctx.translate(0, height);\n              ctx.scale(1, -1);\n              break;\n\n          case 5:\n              canvas.width = height;\n              canvas.height = width;\n              ctx.rotate(90*Math.PI/180);\n              ctx.scale(1, -1);\n              break;\n\n          case 6:\n              canvas.width = height;\n              canvas.height = width;\n              ctx.rotate(90*Math.PI/180);\n              ctx.translate(0, -height);\n              break;\n\n          case 7:\n              canvas.width = height;\n              canvas.height = width;\n              ctx.rotate(-90*Math.PI/180);\n              ctx.translate(-width, height);\n              ctx.scale(1, -1);\n              break;\n\n          case 8:\n              canvas.width = height;\n              canvas.height = width;\n              ctx.translate(0, width);\n              ctx.rotate(-90*Math.PI/180);\n              break;\n        }\n        ctx.drawImage(img, 0,0, width, height);\n        ctx.restore();\n    }\n\n    /* Private Methods */\n    function _create() {\n        var self = this,\n            contClass = 'croppie-container',\n            customViewportClass = self.options.viewport.type ? 'cr-vp-' + self.options.viewport.type : null,\n            boundary, img, viewport, overlay, bw, bh;\n\n        self.options.useCanvas = self.options.enableOrientation || _hasExif.call(self);\n        // Properties on class\n        self.data = {};\n        self.elements = {};\n\n        boundary = self.elements.boundary = document.createElement('div');\n        viewport = self.elements.viewport = document.createElement('div');\n        img = self.elements.img = document.createElement('img');\n        overlay = self.elements.overlay = document.createElement('div');\n\n        if (self.options.useCanvas) {\n            self.elements.canvas = document.createElement('canvas');\n            self.elements.preview = self.elements.canvas;\n        }\n        else {\n            self.elements.preview = self.elements.img;\n        }\n\n        addClass(boundary, 'cr-boundary');\n        boundary.setAttribute('aria-dropeffect', 'none');\n        bw = self.options.boundary.width;\n        bh = self.options.boundary.height;\n        css(boundary, {\n            width: (bw + (isNaN(bw) ? '' : 'px')),\n            height: (bh + (isNaN(bh) ? '' : 'px'))\n        });\n\n        addClass(viewport, 'cr-viewport');\n        if (customViewportClass) {\n            addClass(viewport, customViewportClass);\n        }\n        css(viewport, {\n            width: self.options.viewport.width + 'px',\n            height: self.options.viewport.height + 'px'\n        });\n        viewport.setAttribute('tabindex', 0);\n\n        addClass(self.elements.preview, 'cr-image');\n        setAttributes(self.elements.preview, { 'alt': 'preview', 'aria-grabbed': 'false' });\n        addClass(overlay, 'cr-overlay');\n\n        self.element.appendChild(boundary);\n        boundary.appendChild(self.elements.preview);\n        boundary.appendChild(viewport);\n        boundary.appendChild(overlay);\n\n        addClass(self.element, contClass);\n        if (self.options.customClass) {\n            addClass(self.element, self.options.customClass);\n        }\n\n        _initDraggable.call(this);\n\n        if (self.options.enableZoom) {\n            _initializeZoom.call(self);\n        }\n\n        // if (self.options.enableOrientation) {\n        //     _initRotationControls.call(self);\n        // }\n\n        if (self.options.enableResize) {\n            _initializeResize.call(self);\n        }\n    }\n\n    // function _initRotationControls () {\n    //     var self = this,\n    //         wrap, btnLeft, btnRight, iLeft, iRight;\n\n    //     wrap = document.createElement('div');\n    //     self.elements.orientationBtnLeft = btnLeft = document.createElement('button');\n    //     self.elements.orientationBtnRight = btnRight = document.createElement('button');\n\n    //     wrap.appendChild(btnLeft);\n    //     wrap.appendChild(btnRight);\n\n    //     iLeft = document.createElement('i');\n    //     iRight = document.createElement('i');\n    //     btnLeft.appendChild(iLeft);\n    //     btnRight.appendChild(iRight);\n\n    //     addClass(wrap, 'cr-rotate-controls');\n    //     addClass(btnLeft, 'cr-rotate-l');\n    //     addClass(btnRight, 'cr-rotate-r');\n\n    //     self.elements.boundary.appendChild(wrap);\n\n    //     btnLeft.addEventListener('click', function () {\n    //         self.rotate(-90);\n    //     });\n    //     btnRight.addEventListener('click', function () {\n    //         self.rotate(90);\n    //     });\n    // }\n\n    function _hasExif() {\n        return this.options.enableExif && window.EXIF;\n    }\n\n    function _initializeResize () {\n        var self = this;\n        var wrap = document.createElement('div');\n        var isDragging = false;\n        var direction;\n        var originalX;\n        var originalY;\n        var minSize = 50;\n        var maxWidth;\n        var maxHeight;\n        var vr;\n        var hr;\n\n        addClass(wrap, 'cr-resizer');\n        css(wrap, {\n            width: this.options.viewport.width + 'px',\n            height: this.options.viewport.height + 'px'\n        });\n\n        if (this.options.resizeControls.height) {\n            vr = document.createElement('div');\n            addClass(vr, 'cr-resizer-vertical');\n            wrap.appendChild(vr);\n        }\n\n        if (this.options.resizeControls.width) {\n            hr = document.createElement('div');\n            addClass(hr, 'cr-resizer-horisontal');\n            wrap.appendChild(hr);\n        }\n\n        function mouseDown(ev) {\n            if (ev.button !== undefined && ev.button !== 0) return;\n\n            ev.preventDefault();\n            if (isDragging) {\n                return;\n            }\n\n            var overlayRect = self.elements.overlay.getBoundingClientRect();\n\n            isDragging = true;\n            originalX = ev.pageX;\n            originalY = ev.pageY;\n            direction = ev.currentTarget.className.indexOf('vertical') !== -1 ? 'v' : 'h';\n            maxWidth = overlayRect.width;\n            maxHeight = overlayRect.height;\n\n            if (ev.touches) {\n                var touches = ev.touches[0];\n                originalX = touches.pageX;\n                originalY = touches.pageY;\n            }\n\n            window.addEventListener('mousemove', mouseMove);\n            window.addEventListener('touchmove', mouseMove);\n            window.addEventListener('mouseup', mouseUp);\n            window.addEventListener('touchend', mouseUp);\n            document.body.style[CSS_USERSELECT] = 'none';\n        }\n\n        function mouseMove(ev) {\n            var pageX = ev.pageX;\n            var pageY = ev.pageY;\n\n            ev.preventDefault();\n\n            if (ev.touches) {\n                var touches = ev.touches[0];\n                pageX = touches.pageX;\n                pageY = touches.pageY;\n            }\n\n            var deltaX = pageX - originalX;\n            var deltaY = pageY - originalY;\n            var newHeight = self.options.viewport.height + deltaY;\n            var newWidth = self.options.viewport.width + deltaX;\n\n            if (direction === 'v' && newHeight >= minSize && newHeight <= maxHeight) {\n                css(wrap, {\n                    height: newHeight + 'px'\n                });\n\n                self.options.boundary.height += deltaY;\n                css(self.elements.boundary, {\n                    height: self.options.boundary.height + 'px'\n                });\n\n                self.options.viewport.height += deltaY;\n                css(self.elements.viewport, {\n                    height: self.options.viewport.height + 'px'\n                });\n            }\n            else if (direction === 'h' && newWidth >= minSize && newWidth <= maxWidth) {\n                css(wrap, {\n                    width: newWidth + 'px'\n                });\n\n                self.options.boundary.width += deltaX;\n                css(self.elements.boundary, {\n                    width: self.options.boundary.width + 'px'\n                });\n\n                self.options.viewport.width += deltaX;\n                css(self.elements.viewport, {\n                    width: self.options.viewport.width + 'px'\n                });\n            }\n\n            _updateOverlay.call(self);\n            _updateZoomLimits.call(self);\n            _updateCenterPoint.call(self);\n            _triggerUpdate.call(self);\n            originalY = pageY;\n            originalX = pageX;\n        }\n\n        function mouseUp() {\n            isDragging = false;\n            window.removeEventListener('mousemove', mouseMove);\n            window.removeEventListener('touchmove', mouseMove);\n            window.removeEventListener('mouseup', mouseUp);\n            window.removeEventListener('touchend', mouseUp);\n            document.body.style[CSS_USERSELECT] = '';\n        }\n\n        if (vr) {\n            vr.addEventListener('mousedown', mouseDown);\n            vr.addEventListener('touchstart', mouseDown);\n        }\n\n        if (hr) {\n            hr.addEventListener('mousedown', mouseDown);\n            hr.addEventListener('touchstart', mouseDown);\n        }\n\n        this.elements.boundary.appendChild(wrap);\n    }\n\n    function _setZoomerVal(v) {\n        if (this.options.enableZoom) {\n            var z = this.elements.zoomer,\n                val = fix(v, 4);\n\n            z.value = Math.max(z.min, Math.min(z.max, val));\n        }\n    }\n\n    function _initializeZoom() {\n        var self = this,\n            wrap = self.elements.zoomerWrap = document.createElement('div'),\n            zoomer = self.elements.zoomer = document.createElement('input');\n\n        addClass(wrap, 'cr-slider-wrap');\n        addClass(zoomer, 'cr-slider');\n        zoomer.type = 'range';\n        zoomer.step = '0.0001';\n        zoomer.value = 1;\n        zoomer.style.display = self.options.showZoomer ? '' : 'none';\n        zoomer.setAttribute('aria-label', 'zoom');\n\n        self.element.appendChild(wrap);\n        wrap.appendChild(zoomer);\n\n        self._currentZoom = 1;\n\n        function change() {\n            _onZoom.call(self, {\n                value: parseFloat(zoomer.value),\n                origin: new TransformOrigin(self.elements.preview),\n                viewportRect: self.elements.viewport.getBoundingClientRect(),\n                transform: Transform.parse(self.elements.preview)\n            });\n        }\n\n        function scroll(ev) {\n            var delta, targetZoom;\n\n            if(self.options.mouseWheelZoom === 'ctrl' && ev.ctrlKey !== true){\n              return 0; \n            } else if (ev.wheelDelta) {\n                delta = ev.wheelDelta / 1200; //wheelDelta min: -120 max: 120 // max x 10 x 2\n            } else if (ev.deltaY) {\n                delta = ev.deltaY / 1060; //deltaY min: -53 max: 53 // max x 10 x 2\n            } else if (ev.detail) {\n                delta = ev.detail / -60; //delta min: -3 max: 3 // max x 10 x 2\n            } else {\n                delta = 0;\n            }\n\n            targetZoom = self._currentZoom + (delta * self._currentZoom);\n\n            ev.preventDefault();\n            _setZoomerVal.call(self, targetZoom);\n            change.call(self);\n        }\n\n        self.elements.zoomer.addEventListener('input', change);// this is being fired twice on keypress\n        self.elements.zoomer.addEventListener('change', change);\n\n        if (self.options.mouseWheelZoom) {\n            self.elements.boundary.addEventListener('mousewheel', scroll);\n            self.elements.boundary.addEventListener('DOMMouseScroll', scroll);\n        }\n    }\n\n    function _onZoom(ui) {\n        var self = this,\n            transform = ui ? ui.transform : Transform.parse(self.elements.preview),\n            vpRect = ui ? ui.viewportRect : self.elements.viewport.getBoundingClientRect(),\n            origin = ui ? ui.origin : new TransformOrigin(self.elements.preview);\n\n        function applyCss() {\n            var transCss = {};\n            transCss[CSS_TRANSFORM] = transform.toString();\n            transCss[CSS_TRANS_ORG] = origin.toString();\n            css(self.elements.preview, transCss);\n        }\n\n        self._currentZoom = ui ? ui.value : self._currentZoom;\n        transform.scale = self._currentZoom;\n        self.elements.zoomer.setAttribute('aria-valuenow', self._currentZoom);\n        applyCss();\n\n        if (self.options.enforceBoundary) {\n            var boundaries = _getVirtualBoundaries.call(self, vpRect),\n                transBoundaries = boundaries.translate,\n                oBoundaries = boundaries.origin;\n\n            if (transform.x >= transBoundaries.maxX) {\n                origin.x = oBoundaries.minX;\n                transform.x = transBoundaries.maxX;\n            }\n\n            if (transform.x <= transBoundaries.minX) {\n                origin.x = oBoundaries.maxX;\n                transform.x = transBoundaries.minX;\n            }\n\n            if (transform.y >= transBoundaries.maxY) {\n                origin.y = oBoundaries.minY;\n                transform.y = transBoundaries.maxY;\n            }\n\n            if (transform.y <= transBoundaries.minY) {\n                origin.y = oBoundaries.maxY;\n                transform.y = transBoundaries.minY;\n            }\n        }\n        applyCss();\n        _debouncedOverlay.call(self);\n        _triggerUpdate.call(self);\n    }\n\n    function _getVirtualBoundaries(viewport) {\n        var self = this,\n            scale = self._currentZoom,\n            vpWidth = viewport.width,\n            vpHeight = viewport.height,\n            centerFromBoundaryX = self.elements.boundary.clientWidth / 2,\n            centerFromBoundaryY = self.elements.boundary.clientHeight / 2,\n            imgRect = self.elements.preview.getBoundingClientRect(),\n            curImgWidth = imgRect.width,\n            curImgHeight = imgRect.height,\n            halfWidth = vpWidth / 2,\n            halfHeight = vpHeight / 2;\n\n        var maxX = ((halfWidth / scale) - centerFromBoundaryX) * -1;\n        var minX = maxX - ((curImgWidth * (1 / scale)) - (vpWidth * (1 / scale)));\n\n        var maxY = ((halfHeight / scale) - centerFromBoundaryY) * -1;\n        var minY = maxY - ((curImgHeight * (1 / scale)) - (vpHeight * (1 / scale)));\n\n        var originMinX = (1 / scale) * halfWidth;\n        var originMaxX = (curImgWidth * (1 / scale)) - originMinX;\n\n        var originMinY = (1 / scale) * halfHeight;\n        var originMaxY = (curImgHeight * (1 / scale)) - originMinY;\n\n        return {\n            translate: {\n                maxX: maxX,\n                minX: minX,\n                maxY: maxY,\n                minY: minY\n            },\n            origin: {\n                maxX: originMaxX,\n                minX: originMinX,\n                maxY: originMaxY,\n                minY: originMinY\n            }\n        };\n    }\n\n    function _updateCenterPoint() {\n        var self = this,\n            scale = self._currentZoom,\n            data = self.elements.preview.getBoundingClientRect(),\n            vpData = self.elements.viewport.getBoundingClientRect(),\n            transform = Transform.parse(self.elements.preview.style[CSS_TRANSFORM]),\n            pc = new TransformOrigin(self.elements.preview),\n            top = (vpData.top - data.top) + (vpData.height / 2),\n            left = (vpData.left - data.left) + (vpData.width / 2),\n            center = {},\n            adj = {};\n\n        center.y = top / scale;\n        center.x = left / scale;\n\n        adj.y = (center.y - pc.y) * (1 - scale);\n        adj.x = (center.x - pc.x) * (1 - scale);\n\n        transform.x -= adj.x;\n        transform.y -= adj.y;\n\n        var newCss = {};\n        newCss[CSS_TRANS_ORG] = center.x + 'px ' + center.y + 'px';\n        newCss[CSS_TRANSFORM] = transform.toString();\n        css(self.elements.preview, newCss);\n    }\n\n    function _initDraggable() {\n        var self = this,\n            isDragging = false,\n            originalX,\n            originalY,\n            originalDistance,\n            vpRect,\n            transform;\n\n        function assignTransformCoordinates(deltaX, deltaY) {\n            var imgRect = self.elements.preview.getBoundingClientRect(),\n                top = transform.y + deltaY,\n                left = transform.x + deltaX;\n\n            if (self.options.enforceBoundary) {\n                if (vpRect.top > imgRect.top + deltaY && vpRect.bottom < imgRect.bottom + deltaY) {\n                    transform.y = top;\n                }\n\n                if (vpRect.left > imgRect.left + deltaX && vpRect.right < imgRect.right + deltaX) {\n                    transform.x = left;\n                }\n            }\n            else {\n                transform.y = top;\n                transform.x = left;\n            }\n        }\n\n        function toggleGrabState(isDragging) {\n          self.elements.preview.setAttribute('aria-grabbed', isDragging);\n          self.elements.boundary.setAttribute('aria-dropeffect', isDragging? 'move': 'none');\n        }\n\n        function keyDown(ev) {\n            var LEFT_ARROW  = 37,\n                UP_ARROW    = 38,\n                RIGHT_ARROW = 39,\n                DOWN_ARROW  = 40;\n\n            if (ev.shiftKey && (ev.keyCode === UP_ARROW || ev.keyCode === DOWN_ARROW)) {\n                var zoom = 0.0;\n                if (ev.keyCode === UP_ARROW) {\n                    zoom = parseFloat(self.elements.zoomer.value, 10) + parseFloat(self.elements.zoomer.step, 10)\n                }\n                else {\n                    zoom = parseFloat(self.elements.zoomer.value, 10) - parseFloat(self.elements.zoomer.step, 10)\n                }\n                self.setZoom(zoom);\n            }\n            else if (self.options.enableKeyMovement && (ev.keyCode >= 37 && ev.keyCode <= 40)) {\n                ev.preventDefault();\n                var movement = parseKeyDown(ev.keyCode);\n\n                transform = Transform.parse(self.elements.preview);\n                document.body.style[CSS_USERSELECT] = 'none';\n                vpRect = self.elements.viewport.getBoundingClientRect();\n                keyMove(movement);\n            }\n\n            function parseKeyDown(key) {\n                switch (key) {\n                    case LEFT_ARROW:\n                        return [1, 0];\n                    case UP_ARROW:\n                        return [0, 1];\n                    case RIGHT_ARROW:\n                        return [-1, 0];\n                    case DOWN_ARROW:\n                        return [0, -1];\n                }\n            }\n        }\n\n        function keyMove(movement) {\n            var deltaX = movement[0],\n                deltaY = movement[1],\n                newCss = {};\n\n            assignTransformCoordinates(deltaX, deltaY);\n\n            newCss[CSS_TRANSFORM] = transform.toString();\n            css(self.elements.preview, newCss);\n            _updateOverlay.call(self);\n            document.body.style[CSS_USERSELECT] = '';\n            _updateCenterPoint.call(self);\n            _triggerUpdate.call(self);\n            originalDistance = 0;\n        }\n\n        function mouseDown(ev) {\n            if (ev.button !== undefined && ev.button !== 0) return;\n\n            ev.preventDefault();\n            if (isDragging) return;\n            isDragging = true;\n            originalX = ev.pageX;\n            originalY = ev.pageY;\n\n            if (ev.touches) {\n                var touches = ev.touches[0];\n                originalX = touches.pageX;\n                originalY = touches.pageY;\n            }\n            toggleGrabState(isDragging);\n            transform = Transform.parse(self.elements.preview);\n            window.addEventListener('mousemove', mouseMove);\n            window.addEventListener('touchmove', mouseMove);\n            window.addEventListener('mouseup', mouseUp);\n            window.addEventListener('touchend', mouseUp);\n            document.body.style[CSS_USERSELECT] = 'none';\n            vpRect = self.elements.viewport.getBoundingClientRect();\n        }\n\n        function mouseMove(ev) {\n            ev.preventDefault();\n            var pageX = ev.pageX,\n                pageY = ev.pageY;\n\n            if (ev.touches) {\n                var touches = ev.touches[0];\n                pageX = touches.pageX;\n                pageY = touches.pageY;\n            }\n\n            var deltaX = pageX - originalX,\n                deltaY = pageY - originalY,\n                newCss = {};\n\n            if (ev.type === 'touchmove') {\n                if (ev.touches.length > 1) {\n                    var touch1 = ev.touches[0];\n                    var touch2 = ev.touches[1];\n                    var dist = Math.sqrt((touch1.pageX - touch2.pageX) * (touch1.pageX - touch2.pageX) + (touch1.pageY - touch2.pageY) * (touch1.pageY - touch2.pageY));\n\n                    if (!originalDistance) {\n                        originalDistance = dist / self._currentZoom;\n                    }\n\n                    var scale = dist / originalDistance;\n\n                    _setZoomerVal.call(self, scale);\n                    dispatchChange(self.elements.zoomer);\n                    return;\n                }\n            }\n\n            assignTransformCoordinates(deltaX, deltaY);\n\n            newCss[CSS_TRANSFORM] = transform.toString();\n            css(self.elements.preview, newCss);\n            _updateOverlay.call(self);\n            originalY = pageY;\n            originalX = pageX;\n        }\n\n        function mouseUp() {\n            isDragging = false;\n            toggleGrabState(isDragging);\n            window.removeEventListener('mousemove', mouseMove);\n            window.removeEventListener('touchmove', mouseMove);\n            window.removeEventListener('mouseup', mouseUp);\n            window.removeEventListener('touchend', mouseUp);\n            document.body.style[CSS_USERSELECT] = '';\n            _updateCenterPoint.call(self);\n            _triggerUpdate.call(self);\n            originalDistance = 0;\n        }\n\n        self.elements.overlay.addEventListener('mousedown', mouseDown);\n        self.elements.viewport.addEventListener('keydown', keyDown);\n        self.elements.overlay.addEventListener('touchstart', mouseDown);\n    }\n\n    function _updateOverlay() {\n        if (!this.elements) return; // since this is debounced, it can be fired after destroy\n        var self = this,\n            boundRect = self.elements.boundary.getBoundingClientRect(),\n            imgData = self.elements.preview.getBoundingClientRect();\n\n        css(self.elements.overlay, {\n            width: imgData.width + 'px',\n            height: imgData.height + 'px',\n            top: (imgData.top - boundRect.top) + 'px',\n            left: (imgData.left - boundRect.left) + 'px'\n        });\n    }\n    var _debouncedOverlay = debounce(_updateOverlay, 500);\n\n    function _triggerUpdate() {\n        var self = this,\n            data = self.get(),\n            ev;\n\n        if (!_isVisible.call(self)) {\n            return;\n        }\n\n        self.options.update.call(self, data);\n        if (self.$ && typeof Prototype === 'undefined') {\n            self.$(self.element).trigger('update.croppie', data);\n        }\n        else {\n            var ev;\n            if (window.CustomEvent) {\n                ev = new CustomEvent('update', { detail: data });\n            } else {\n                ev = document.createEvent('CustomEvent');\n                ev.initCustomEvent('update', true, true, data);\n            }\n\n            self.element.dispatchEvent(ev);\n        }\n    }\n\n    function _isVisible() {\n        return this.elements.preview.offsetHeight > 0 && this.elements.preview.offsetWidth > 0;\n    }\n\n    function _updatePropertiesFromImage() {\n        var self = this,\n            initialZoom = 1,\n            cssReset = {},\n            img = self.elements.preview,\n            imgData = null,\n            transformReset = new Transform(0, 0, initialZoom),\n            originReset = new TransformOrigin(),\n            isVisible = _isVisible.call(self);\n\n        if (!isVisible || self.data.bound) {// if the croppie isn't visible or it doesn't need binding\n            return;\n        }\n\n        self.data.bound = true;\n        cssReset[CSS_TRANSFORM] = transformReset.toString();\n        cssReset[CSS_TRANS_ORG] = originReset.toString();\n        cssReset['opacity'] = 1;\n        css(img, cssReset);\n\n        imgData = self.elements.preview.getBoundingClientRect();\n\n        self._originalImageWidth = imgData.width;\n        self._originalImageHeight = imgData.height;\n        self.data.orientation = getExifOrientation(self.elements.img);\n\n        if (self.options.enableZoom) {\n            _updateZoomLimits.call(self, true);\n        }\n        else {\n            self._currentZoom = initialZoom;\n        }\n\n        transformReset.scale = self._currentZoom;\n        cssReset[CSS_TRANSFORM] = transformReset.toString();\n        css(img, cssReset);\n\n        if (self.data.points.length) {\n            _bindPoints.call(self, self.data.points);\n        }\n        else {\n            _centerImage.call(self);\n        }\n\n        _updateCenterPoint.call(self);\n        _updateOverlay.call(self);\n    }\n\n    function _updateZoomLimits (initial) {\n        var self = this,\n            minZoom = 0,\n            maxZoom = self.options.maxZoom || 1.5,\n            initialZoom,\n            defaultInitialZoom,\n            zoomer = self.elements.zoomer,\n            scale = parseFloat(zoomer.value),\n            boundaryData = self.elements.boundary.getBoundingClientRect(),\n            imgData = naturalImageDimensions(self.elements.img, self.data.orientation),\n            vpData = self.elements.viewport.getBoundingClientRect(),\n            minW,\n            minH;\n        if (self.options.enforceBoundary) {\n            minW = vpData.width / imgData.width;\n            minH = vpData.height / imgData.height;\n            minZoom = Math.max(minW, minH);\n        }\n\n        if (minZoom >= maxZoom) {\n            maxZoom = minZoom + 1;\n        }\n\n        zoomer.min = fix(minZoom, 4);\n        zoomer.max = fix(maxZoom, 4);\n        \n        if (!initial && (scale < zoomer.min || scale > zoomer.max)) {\n            _setZoomerVal.call(self, scale < zoomer.min ? zoomer.min : zoomer.max);\n        }\n        else if (initial) {\n            defaultInitialZoom = Math.max((boundaryData.width / imgData.width), (boundaryData.height / imgData.height));\n            initialZoom = self.data.boundZoom !== null ? self.data.boundZoom : defaultInitialZoom;\n            _setZoomerVal.call(self, initialZoom);\n        }\n\n        dispatchChange(zoomer);\n    }\n\n    function _bindPoints(points) {\n        if (points.length !== 4) {\n            throw \"Croppie - Invalid number of points supplied: \" + points;\n        }\n        var self = this,\n            pointsWidth = points[2] - points[0],\n            // pointsHeight = points[3] - points[1],\n            vpData = self.elements.viewport.getBoundingClientRect(),\n            boundRect = self.elements.boundary.getBoundingClientRect(),\n            vpOffset = {\n                left: vpData.left - boundRect.left,\n                top: vpData.top - boundRect.top\n            },\n            scale = vpData.width / pointsWidth,\n            originTop = points[1],\n            originLeft = points[0],\n            transformTop = (-1 * points[1]) + vpOffset.top,\n            transformLeft = (-1 * points[0]) + vpOffset.left,\n            newCss = {};\n\n        newCss[CSS_TRANS_ORG] = originLeft + 'px ' + originTop + 'px';\n        newCss[CSS_TRANSFORM] = new Transform(transformLeft, transformTop, scale).toString();\n        css(self.elements.preview, newCss);\n\n        _setZoomerVal.call(self, scale);\n        self._currentZoom = scale;\n    }\n\n    function _centerImage() {\n        var self = this,\n            imgDim = self.elements.preview.getBoundingClientRect(),\n            vpDim = self.elements.viewport.getBoundingClientRect(),\n            boundDim = self.elements.boundary.getBoundingClientRect(),\n            vpLeft = vpDim.left - boundDim.left,\n            vpTop = vpDim.top - boundDim.top,\n            w = vpLeft - ((imgDim.width - vpDim.width) / 2),\n            h = vpTop - ((imgDim.height - vpDim.height) / 2),\n            transform = new Transform(w, h, self._currentZoom);\n\n        css(self.elements.preview, CSS_TRANSFORM, transform.toString());\n    }\n\n    function _transferImageToCanvas(customOrientation) {\n        var self = this,\n            canvas = self.elements.canvas,\n            img = self.elements.img,\n            ctx = canvas.getContext('2d'),\n            exif = _hasExif.call(self),\n            customOrientation = self.options.enableOrientation && customOrientation;\n\n        ctx.clearRect(0, 0, canvas.width, canvas.height);\n        canvas.width = img.width;\n        canvas.height = img.height;\n\n        if (exif && !customOrientation) {\n            var orientation = getExifOrientation(img);\n            drawCanvas(canvas, img, num(orientation || 0, 10));\n        }\n        else if (customOrientation) {\n            drawCanvas(canvas, img, customOrientation);\n        }\n    }\n\n    function _getCanvas(data) {\n        var self = this,\n            points = data.points,\n            left = num(points[0]),\n            top = num(points[1]),\n            right = num(points[2]),\n            bottom = num(points[3]),\n            width = right-left,\n            height = bottom-top,\n            circle = data.circle,\n            canvas = document.createElement('canvas'),\n            ctx = canvas.getContext('2d'),\n            startX = 0,\n            startY = 0,\n            canvasWidth = data.outputWidth || width,\n            canvasHeight = data.outputHeight || height,\n            customDimensions = (data.outputWidth && data.outputHeight),\n            outputWidthRatio = 1,\n            outputHeightRatio = 1;\n\n        canvas.width = canvasWidth;\n        canvas.height = canvasHeight;\n\n        if (data.backgroundColor) {\n            ctx.fillStyle = data.backgroundColor;\n            ctx.fillRect(0, 0, canvasWidth, canvasHeight);\n        }\n\n        if (self.options.enforceBoundary !== false) {\n            width = Math.min(width, self._originalImageWidth);\n            height = Math.min(height, self._originalImageHeight);\n        }\n    \n        // console.table({ left, right, top, bottom, canvasWidth, canvasHeight });\n        ctx.drawImage(this.elements.preview, left, top, width, height, startX, startY, canvasWidth, canvasHeight);\n        if (circle) {\n            ctx.fillStyle = '#fff';\n            ctx.globalCompositeOperation = 'destination-in';\n            ctx.beginPath();\n            ctx.arc(canvas.width / 2, canvas.height / 2, canvas.width / 2, 0, Math.PI * 2, true);\n            ctx.closePath();\n            ctx.fill();\n        }\n        return canvas;\n    }\n\n    function _getHtmlResult(data) {\n        var points = data.points,\n            div = document.createElement('div'),\n            img = document.createElement('img'),\n            width = points[2] - points[0],\n            height = points[3] - points[1];\n\n        addClass(div, 'croppie-result');\n        div.appendChild(img);\n        css(img, {\n            left: (-1 * points[0]) + 'px',\n            top: (-1 * points[1]) + 'px'\n        });\n        img.src = data.url;\n        css(div, {\n            width: width + 'px',\n            height: height + 'px'\n        });\n\n        return div;\n    }\n\n    function _getBase64Result(data) {\n        return _getCanvas.call(this, data).toDataURL(data.format, data.quality);\n    }\n\n    function _getBlobResult(data) {\n        var self = this;\n        return new Promise(function (resolve, reject) {\n            _getCanvas.call(self, data).toBlob(function (blob) {\n                resolve(blob);\n            }, data.format, data.quality);\n        });\n    }\n\n    function _replaceImage(img) {\n        if (this.elements.img.parentNode) {\n            Array.prototype.forEach.call(this.elements.img.classList, function(c) { img.classList.add(c); });\n            this.elements.img.parentNode.replaceChild(img, this.elements.img);\n            this.elements.preview = img; // if the img is attached to the DOM, they're not using the canvas\n        }\n        this.elements.img = img;\n    }\n\n    function _bind(options, cb) {\n        var self = this,\n            url,\n            points = [],\n            zoom = null,\n            hasExif = _hasExif.call(self);\n\n        if (typeof (options) === 'string') {\n            url = options;\n            options = {};\n        }\n        else if (Array.isArray(options)) {\n            points = options.slice();\n        }\n        else if (typeof (options) === 'undefined' && self.data.url) { //refreshing\n            _updatePropertiesFromImage.call(self);\n            _triggerUpdate.call(self);\n            return null;\n        }\n        else {\n            url = options.url;\n            points = options.points || [];\n            zoom = typeof(options.zoom) === 'undefined' ? null : options.zoom;\n        }\n\n        self.data.bound = false;\n        self.data.url = url || self.data.url;\n        self.data.boundZoom = zoom;\n\n        return loadImage(url, hasExif).then(function (img) {\n            _replaceImage.call(self, img);\n            if (!points.length) {\n                var natDim = naturalImageDimensions(img);\n                var rect = self.elements.viewport.getBoundingClientRect();\n                var aspectRatio = rect.width / rect.height;\n                var imgAspectRatio = natDim.width / natDim.height;\n                var width, height;\n\n                if (imgAspectRatio > aspectRatio) {\n                    height = natDim.height;\n                    width = height * aspectRatio;\n                }\n                else {\n                    width = natDim.width;\n                    height = natDim.height / aspectRatio;\n                }\n\n                var x0 = (natDim.width - width) / 2;\n                var y0 = (natDim.height - height) / 2;\n                var x1 = x0 + width;\n                var y1 = y0 + height;\n                self.data.points = [x0, y0, x1, y1];\n            }\n            else if (self.options.relative) {\n                points = [\n                    points[0] * img.naturalWidth / 100,\n                    points[1] * img.naturalHeight / 100,\n                    points[2] * img.naturalWidth / 100,\n                    points[3] * img.naturalHeight / 100\n                ];\n            }\n\n            self.data.points = points.map(function (p) {\n                return parseFloat(p);\n            });\n            if (self.options.useCanvas) {\n                _transferImageToCanvas.call(self, options.orientation || 1);\n            }\n            _updatePropertiesFromImage.call(self);\n            _triggerUpdate.call(self);\n            cb && cb();\n        }).catch(function (err) {\n            console.error(\"Croppie:\" + err);\n        });\n    }\n\n    function fix(v, decimalPoints) {\n        return parseFloat(v).toFixed(decimalPoints || 0);\n    }\n\n    function _get() {\n        var self = this,\n            imgData = self.elements.preview.getBoundingClientRect(),\n            vpData = self.elements.viewport.getBoundingClientRect(),\n            x1 = vpData.left - imgData.left,\n            y1 = vpData.top - imgData.top,\n            widthDiff = (vpData.width - self.elements.viewport.offsetWidth) / 2, //border\n            heightDiff = (vpData.height - self.elements.viewport.offsetHeight) / 2,\n            x2 = x1 + self.elements.viewport.offsetWidth + widthDiff,\n            y2 = y1 + self.elements.viewport.offsetHeight + heightDiff,\n            scale = self._currentZoom;\n\n        if (scale === Infinity || isNaN(scale)) {\n            scale = 1;\n        }\n\n        var max = self.options.enforceBoundary ? 0 : Number.NEGATIVE_INFINITY;\n        x1 = Math.max(max, x1 / scale);\n        y1 = Math.max(max, y1 / scale);\n        x2 = Math.max(max, x2 / scale);\n        y2 = Math.max(max, y2 / scale);\n\n        return {\n            points: [fix(x1), fix(y1), fix(x2), fix(y2)],\n            zoom: scale,\n            orientation: self.data.orientation\n        };\n    }\n\n    var RESULT_DEFAULTS = {\n            type: 'canvas',\n            format: 'png',\n            quality: 1\n        },\n        RESULT_FORMATS = ['jpeg', 'webp', 'png'];\n\n    function _result(options) {\n        var self = this,\n            data = _get.call(self),\n            opts = deepExtend(clone(RESULT_DEFAULTS), clone(options)),\n            resultType = (typeof (options) === 'string' ? options : (opts.type || 'base64')),\n            size = opts.size || 'viewport',\n            format = opts.format,\n            quality = opts.quality,\n            backgroundColor = opts.backgroundColor,\n            circle = typeof opts.circle === 'boolean' ? opts.circle : (self.options.viewport.type === 'circle'),\n            vpRect = self.elements.viewport.getBoundingClientRect(),\n            ratio = vpRect.width / vpRect.height,\n            prom;\n\n        if (size === 'viewport') {\n            data.outputWidth = vpRect.width;\n            data.outputHeight = vpRect.height;\n        } else if (typeof size === 'object') {\n            if (size.width && size.height) {\n                data.outputWidth = size.width;\n                data.outputHeight = size.height;\n            } else if (size.width) {\n                data.outputWidth = size.width;\n                data.outputHeight = size.width / ratio;\n            } else if (size.height) {\n                data.outputWidth = size.height * ratio;\n                data.outputHeight = size.height;\n            }\n        }\n\n        if (RESULT_FORMATS.indexOf(format) > -1) {\n            data.format = 'image/' + format;\n            data.quality = quality;\n        }\n\n        data.circle = circle;\n        data.url = self.data.url;\n        data.backgroundColor = backgroundColor;\n\n        prom = new Promise(function (resolve, reject) {\n            switch(resultType.toLowerCase())\n            {\n                case 'rawcanvas':\n                    resolve(_getCanvas.call(self, data));\n                    break;\n                case 'canvas':\n                case 'base64':\n                    resolve(_getBase64Result.call(self, data));\n                    break;\n                case 'blob':\n                    _getBlobResult.call(self, data).then(resolve);\n                    break;\n                default:\n                    resolve(_getHtmlResult.call(self, data));\n                    break;\n            }\n        });\n        return prom;\n    }\n\n    function _refresh() {\n        _updatePropertiesFromImage.call(this);\n    }\n\n    function _rotate(deg) {\n        if (!this.options.useCanvas || !this.options.enableOrientation) {\n            throw 'Croppie: Cannot rotate without enableOrientation && EXIF.js included';\n        }\n\n        var self = this,\n            canvas = self.elements.canvas,\n            ornt;\n\n        self.data.orientation = getExifOffset(self.data.orientation, deg);\n        drawCanvas(canvas, self.elements.img, self.data.orientation);\n        _updateZoomLimits.call(self);\n        _onZoom.call(self);\n        copy = null;\n    }\n\n    function _destroy() {\n        var self = this;\n        self.element.removeChild(self.elements.boundary);\n        removeClass(self.element, 'croppie-container');\n        if (self.options.enableZoom) {\n            self.element.removeChild(self.elements.zoomerWrap);\n        }\n        delete self.elements;\n    }\n\n    if (window.jQuery) {\n        var $ = window.jQuery;\n        $.fn.croppie = function (opts) {\n            var ot = typeof opts;\n\n            if (ot === 'string') {\n                var args = Array.prototype.slice.call(arguments, 1);\n                var singleInst = $(this).data('croppie');\n\n                if (opts === 'get') {\n                    return singleInst.get();\n                }\n                else if (opts === 'result') {\n                    return singleInst.result.apply(singleInst, args);\n                }\n                else if (opts === 'bind') {\n                    return singleInst.bind.apply(singleInst, args);\n                }\n\n                return this.each(function () {\n                    var i = $(this).data('croppie');\n                    if (!i) return;\n\n                    var method = i[opts];\n                    if ($.isFunction(method)) {\n                        method.apply(i, args);\n                        if (opts === 'destroy') {\n                            $(this).removeData('croppie');\n                        }\n                    }\n                    else {\n                        throw 'Croppie ' + opts + ' method not found';\n                    }\n                });\n            }\n            else {\n                return this.each(function () {\n                    var i = new Croppie(this, opts);\n                    i.$ = $;\n                    $(this).data('croppie', i);\n                });\n            }\n        };\n    }\n\n    function Croppie(element, opts) {\n        if (element.className.indexOf('croppie-container') > -1) {\n            throw new Error(\"Croppie: Can't initialize croppie more than once\");\n        }\n        this.element = element;\n        this.options = deepExtend(clone(Croppie.defaults), opts);\n\n        if (this.element.tagName.toLowerCase() === 'img') {\n            var origImage = this.element;\n            addClass(origImage, 'cr-original-image');\n            setAttributes(origImage, {'aria-hidden' : 'true', 'alt' : '' });\n            var replacementDiv = document.createElement('div');\n            this.element.parentNode.appendChild(replacementDiv);\n            replacementDiv.appendChild(origImage);\n            this.element = replacementDiv;\n            this.options.url = this.options.url || origImage.src;\n        }\n\n        _create.call(this);\n        if (this.options.url) {\n            var bindOpts = {\n                url: this.options.url,\n                points: this.options.points\n            };\n            delete this.options['url'];\n            delete this.options['points'];\n            _bind.call(this, bindOpts);\n        }\n    }\n\n    Croppie.defaults = {\n        viewport: {\n            width: 100,\n            height: 100,\n            type: 'square'\n        },\n        boundary: { },\n        orientationControls: {\n            enabled: true,\n            leftClass: '',\n            rightClass: ''\n        },\n        resizeControls: {\n            width: true,\n            height: true\n        },\n        customClass: '',\n        showZoomer: true,\n        enableZoom: true,\n        enableResize: false,\n        mouseWheelZoom: true,\n        enableExif: false,\n        enforceBoundary: true,\n        enableOrientation: false,\n        enableKeyMovement: true,\n        update: function () { }\n    };\n\n    Croppie.globals = {\n        translate: 'translate3d'\n    };\n\n    deepExtend(Croppie.prototype, {\n        bind: function (options, cb) {\n            return _bind.call(this, options, cb);\n        },\n        get: function () {\n            var data = _get.call(this);\n            var points = data.points;\n            if (this.options.relative) {\n                points[0] /= this.elements.img.naturalWidth / 100;\n                points[1] /= this.elements.img.naturalHeight / 100;\n                points[2] /= this.elements.img.naturalWidth / 100;\n                points[3] /= this.elements.img.naturalHeight / 100;\n            }\n            return data;\n        },\n        result: function (type) {\n            return _result.call(this, type);\n        },\n        refresh: function () {\n            return _refresh.call(this);\n        },\n        setZoom: function (v) {\n            _setZoomerVal.call(this, v);\n            dispatchChange(this.elements.zoomer);\n        },\n        rotate: function (deg) {\n            _rotate.call(this, deg);\n        },\n        destroy: function () {\n            return _destroy.call(this);\n        }\n    });\n\n    exports.Croppie = window.Croppie = Croppie;\n}));\n"
  },
  {
    "path": "public/plugins/daterangepicker/daterangepicker.css",
    "content": ".daterangepicker {\n  position: absolute;\n  color: inherit;\n  background-color: #fff;\n  border-radius: 4px;\n  border: 1px solid #ddd;\n  width: 278px;\n  max-width: none;\n  padding: 0;\n  margin-top: 7px;\n  top: 100px;\n  left: 20px;\n  z-index: 3001;\n  display: none;\n  font-family: arial;\n  font-size: 15px;\n  line-height: 1em;\n}\n\n.daterangepicker:before, .daterangepicker:after {\n  position: absolute;\n  display: inline-block;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  content: '';\n}\n\n.daterangepicker:before {\n  top: -7px;\n  border-right: 7px solid transparent;\n  border-left: 7px solid transparent;\n  border-bottom: 7px solid #ccc;\n}\n\n.daterangepicker:after {\n  top: -6px;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #fff;\n  border-left: 6px solid transparent;\n}\n\n.daterangepicker.opensleft:before {\n  right: 9px;\n}\n\n.daterangepicker.opensleft:after {\n  right: 10px;\n}\n\n.daterangepicker.openscenter:before {\n  left: 0;\n  right: 0;\n  width: 0;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.daterangepicker.openscenter:after {\n  left: 0;\n  right: 0;\n  width: 0;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.daterangepicker.opensright:before {\n  left: 9px;\n}\n\n.daterangepicker.opensright:after {\n  left: 10px;\n}\n\n.daterangepicker.drop-up {\n  margin-top: -7px;\n}\n\n.daterangepicker.drop-up:before {\n  top: initial;\n  bottom: -7px;\n  border-bottom: initial;\n  border-top: 7px solid #ccc;\n}\n\n.daterangepicker.drop-up:after {\n  top: initial;\n  bottom: -6px;\n  border-bottom: initial;\n  border-top: 6px solid #fff;\n}\n\n.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {\n  float: none;\n}\n\n.daterangepicker.single .drp-selected {\n  display: none;\n}\n\n.daterangepicker.show-calendar .drp-calendar {\n  display: block;\n}\n\n.daterangepicker.show-calendar .drp-buttons {\n  display: block;\n}\n\n.daterangepicker.auto-apply .drp-buttons {\n  display: none;\n}\n\n.daterangepicker .drp-calendar {\n  display: none;\n  max-width: 270px;\n}\n\n.daterangepicker .drp-calendar.left {\n  padding: 8px 0 8px 8px;\n}\n\n.daterangepicker .drp-calendar.right {\n  padding: 8px;\n}\n\n.daterangepicker .drp-calendar.single .calendar-table {\n  border: none;\n}\n\n.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {\n  color: #fff;\n  border: solid black;\n  border-width: 0 2px 2px 0;\n  border-radius: 0;\n  display: inline-block;\n  padding: 3px;\n}\n\n.daterangepicker .calendar-table .next span {\n  transform: rotate(-45deg);\n  -webkit-transform: rotate(-45deg);\n}\n\n.daterangepicker .calendar-table .prev span {\n  transform: rotate(135deg);\n  -webkit-transform: rotate(135deg);\n}\n\n.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {\n  white-space: nowrap;\n  text-align: center;\n  vertical-align: middle;\n  min-width: 32px;\n  width: 32px;\n  height: 24px;\n  line-height: 24px;\n  font-size: 12px;\n  border-radius: 4px;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  cursor: pointer;\n}\n\n.daterangepicker .calendar-table {\n  border: 1px solid #fff;\n  border-radius: 4px;\n  background-color: #fff;\n}\n\n.daterangepicker .calendar-table table {\n  width: 100%;\n  margin: 0;\n  border-spacing: 0;\n  border-collapse: collapse;\n}\n\n.daterangepicker td.available:hover, .daterangepicker th.available:hover {\n  background-color: #eee;\n  border-color: transparent;\n  color: inherit;\n}\n\n.daterangepicker td.week, .daterangepicker th.week {\n  font-size: 80%;\n  color: #ccc;\n}\n\n.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {\n  background-color: #fff;\n  border-color: transparent;\n  color: #999;\n}\n\n.daterangepicker td.in-range {\n  background-color: #ebf4f8;\n  border-color: transparent;\n  color: #000;\n  border-radius: 0;\n}\n\n.daterangepicker td.start-date {\n  border-radius: 4px 0 0 4px;\n}\n\n.daterangepicker td.end-date {\n  border-radius: 0 4px 4px 0;\n}\n\n.daterangepicker td.start-date.end-date {\n  border-radius: 4px;\n}\n\n.daterangepicker td.active, .daterangepicker td.active:hover {\n  background-color: #357ebd;\n  border-color: transparent;\n  color: #fff;\n}\n\n.daterangepicker th.month {\n  width: auto;\n}\n\n.daterangepicker td.disabled, .daterangepicker option.disabled {\n  color: #999;\n  cursor: not-allowed;\n  text-decoration: line-through;\n}\n\n.daterangepicker select.monthselect, .daterangepicker select.yearselect {\n  font-size: 12px;\n  padding: 1px;\n  height: auto;\n  margin: 0;\n  cursor: default;\n}\n\n.daterangepicker select.monthselect {\n  margin-right: 2%;\n  width: 56%;\n}\n\n.daterangepicker select.yearselect {\n  width: 40%;\n}\n\n.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {\n  width: 50px;\n  margin: 0 auto;\n  background: #eee;\n  border: 1px solid #eee;\n  padding: 2px;\n  outline: 0;\n  font-size: 12px;\n}\n\n.daterangepicker .calendar-time {\n  text-align: center;\n  margin: 4px auto 0 auto;\n  line-height: 30px;\n  position: relative;\n}\n\n.daterangepicker .calendar-time select.disabled {\n  color: #ccc;\n  cursor: not-allowed;\n}\n\n.daterangepicker .drp-buttons {\n  clear: both;\n  text-align: right;\n  padding: 8px;\n  border-top: 1px solid #ddd;\n  display: none;\n  line-height: 12px;\n  vertical-align: middle;\n}\n\n.daterangepicker .drp-selected {\n  display: inline-block;\n  font-size: 12px;\n  padding-right: 8px;\n}\n\n.daterangepicker .drp-buttons .btn {\n  margin-left: 8px;\n  font-size: 12px;\n  font-weight: bold;\n  padding: 4px 8px;\n}\n\n.daterangepicker.show-ranges.single.rtl .drp-calendar.left {\n  border-right: 1px solid #ddd;\n}\n\n.daterangepicker.show-ranges.single.ltr .drp-calendar.left {\n  border-left: 1px solid #ddd;\n}\n\n.daterangepicker.show-ranges.rtl .drp-calendar.right {\n  border-right: 1px solid #ddd;\n}\n\n.daterangepicker.show-ranges.ltr .drp-calendar.left {\n  border-left: 1px solid #ddd;\n}\n\n.daterangepicker .ranges {\n  float: none;\n  text-align: left;\n  margin: 0;\n}\n\n.daterangepicker.show-calendar .ranges {\n  margin-top: 8px;\n}\n\n.daterangepicker .ranges ul {\n  list-style: none;\n  margin: 0 auto;\n  padding: 0;\n  width: 100%;\n}\n\n.daterangepicker .ranges li {\n  font-size: 12px;\n  padding: 8px 12px;\n  cursor: pointer;\n}\n\n.daterangepicker .ranges li:hover {\n  background-color: #eee;\n}\n\n.daterangepicker .ranges li.active {\n  background-color: #08c;\n  color: #fff;\n}\n\n/*  Larger Screen Styling */\n@media (min-width: 564px) {\n  .daterangepicker {\n    width: auto;\n  }\n\n  .daterangepicker .ranges ul {\n    width: 140px;\n  }\n\n  .daterangepicker.single .ranges ul {\n    width: 100%;\n  }\n\n  .daterangepicker.single .drp-calendar.left {\n    clear: none;\n  }\n\n  .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar {\n    float: left;\n  }\n\n  .daterangepicker {\n    direction: ltr;\n    text-align: left;\n  }\n\n  .daterangepicker .drp-calendar.left {\n    clear: left;\n    margin-right: 0;\n  }\n\n  .daterangepicker .drp-calendar.left .calendar-table {\n    border-right: none;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n\n  .daterangepicker .drp-calendar.right {\n    margin-left: 0;\n  }\n\n  .daterangepicker .drp-calendar.right .calendar-table {\n    border-left: none;\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n\n  .daterangepicker .drp-calendar.left .calendar-table {\n    padding-right: 8px;\n  }\n\n  .daterangepicker .ranges, .daterangepicker .drp-calendar {\n    float: left;\n  }\n}\n\n@media (min-width: 730px) {\n  .daterangepicker .ranges {\n    width: auto;\n  }\n\n  .daterangepicker .ranges {\n    float: left;\n  }\n\n  .daterangepicker.rtl .ranges {\n    float: right;\n  }\n\n  .daterangepicker .drp-calendar.left {\n    clear: none !important;\n  }\n}\n"
  },
  {
    "path": "public/plugins/font-awesome/css/font-awesome.css",
    "content": "/*!\n *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n/* FONT PATH\n * -------------------------- */\n@font-face {\n  font-family: 'FontAwesome';\n  src: url('../fonts/fontawesome-webfont3e6e.eot?v=4.7.0');\n  src: url('../fonts/fontawesome-webfontd41d.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont3e6e.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont3e6e.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont3e6e.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont3e6e.svg?v=4.7.0#fontawesomeregular') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n.fa {\n  display: inline-block;\n  font: normal normal normal 14px/1 FontAwesome;\n  font-size: inherit;\n  text-rendering: auto;\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n}\n/* makes the font 33% larger relative to the icon container */\n.fa-lg {\n  font-size: 1.33333333em;\n  line-height: 0.75em;\n  vertical-align: -15%;\n}\n.fa-2x {\n  font-size: 2em;\n}\n.fa-3x {\n  font-size: 3em;\n}\n.fa-4x {\n  font-size: 4em;\n}\n.fa-5x {\n  font-size: 5em;\n}\n.fa-fw {\n  width: 1.28571429em;\n  text-align: center;\n}\n.fa-ul {\n  padding-left: 0;\n  margin-left: 2.14285714em;\n  list-style-type: none;\n}\n.fa-ul > li {\n  position: relative;\n}\n.fa-li {\n  position: absolute;\n  left: -2.14285714em;\n  width: 2.14285714em;\n  top: 0.14285714em;\n  text-align: center;\n}\n.fa-li.fa-lg {\n  left: -1.85714286em;\n}\n.fa-border {\n  padding: .2em .25em .15em;\n  border: solid 0.08em #eeeeee;\n  border-radius: .1em;\n}\n.fa-pull-left {\n  float: left;\n}\n.fa-pull-right {\n  float: right;\n}\n.fa.fa-pull-left {\n  margin-right: .3em;\n}\n.fa.fa-pull-right {\n  margin-left: .3em;\n}\n/* Deprecated as of 4.4.0 */\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.fa.pull-left {\n  margin-right: .3em;\n}\n.fa.pull-right {\n  margin-left: .3em;\n}\n.fa-spin {\n  -webkit-animation: fa-spin 2s infinite linear;\n  animation: fa-spin 2s infinite linear;\n}\n.fa-pulse {\n  -webkit-animation: fa-spin 1s infinite steps(8);\n  animation: fa-spin 1s infinite steps(8);\n}\n@-webkit-keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes fa-spin {\n  0% {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n  100% {\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n.fa-rotate-90 {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)\";\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n.fa-rotate-180 {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)\";\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n.fa-rotate-270 {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)\";\n  -webkit-transform: rotate(270deg);\n  -ms-transform: rotate(270deg);\n  transform: rotate(270deg);\n}\n.fa-flip-horizontal {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)\";\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n.fa-flip-vertical {\n  -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)\";\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n:root .fa-rotate-90,\n:root .fa-rotate-180,\n:root .fa-rotate-270,\n:root .fa-flip-horizontal,\n:root .fa-flip-vertical {\n  filter: none;\n}\n.fa-stack {\n  position: relative;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  line-height: 2em;\n  vertical-align: middle;\n}\n.fa-stack-1x,\n.fa-stack-2x {\n  position: absolute;\n  left: 0;\n  width: 100%;\n  text-align: center;\n}\n.fa-stack-1x {\n  line-height: inherit;\n}\n.fa-stack-2x {\n  font-size: 2em;\n}\n.fa-inverse {\n  color: #ffffff;\n}\n/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen\n   readers do not read off random characters that represent icons */\n.fa-glass:before {\n  content: \"\\f000\";\n}\n.fa-music:before {\n  content: \"\\f001\";\n}\n.fa-search:before {\n  content: \"\\f002\";\n}\n.fa-envelope-o:before {\n  content: \"\\f003\";\n}\n.fa-heart:before {\n  content: \"\\f004\";\n}\n.fa-star:before {\n  content: \"\\f005\";\n}\n.fa-star-o:before {\n  content: \"\\f006\";\n}\n.fa-user:before {\n  content: \"\\f007\";\n}\n.fa-film:before {\n  content: \"\\f008\";\n}\n.fa-th-large:before {\n  content: \"\\f009\";\n}\n.fa-th:before {\n  content: \"\\f00a\";\n}\n.fa-th-list:before {\n  content: \"\\f00b\";\n}\n.fa-check:before {\n  content: \"\\f00c\";\n}\n.fa-remove:before,\n.fa-close:before,\n.fa-times:before {\n  content: \"\\f00d\";\n}\n.fa-search-plus:before {\n  content: \"\\f00e\";\n}\n.fa-search-minus:before {\n  content: \"\\f010\";\n}\n.fa-power-off:before {\n  content: \"\\f011\";\n}\n.fa-signal:before {\n  content: \"\\f012\";\n}\n.fa-gear:before,\n.fa-cog:before {\n  content: \"\\f013\";\n}\n.fa-trash-o:before {\n  content: \"\\f014\";\n}\n.fa-home:before {\n  content: \"\\f015\";\n}\n.fa-file-o:before {\n  content: \"\\f016\";\n}\n.fa-clock-o:before {\n  content: \"\\f017\";\n}\n.fa-road:before {\n  content: \"\\f018\";\n}\n.fa-download:before {\n  content: \"\\f019\";\n}\n.fa-arrow-circle-o-down:before {\n  content: \"\\f01a\";\n}\n.fa-arrow-circle-o-up:before {\n  content: \"\\f01b\";\n}\n.fa-inbox:before {\n  content: \"\\f01c\";\n}\n.fa-play-circle-o:before {\n  content: \"\\f01d\";\n}\n.fa-rotate-right:before,\n.fa-repeat:before {\n  content: \"\\f01e\";\n}\n.fa-refresh:before {\n  content: \"\\f021\";\n}\n.fa-list-alt:before {\n  content: \"\\f022\";\n}\n.fa-lock:before {\n  content: \"\\f023\";\n}\n.fa-flag:before {\n  content: \"\\f024\";\n}\n.fa-headphones:before {\n  content: \"\\f025\";\n}\n.fa-volume-off:before {\n  content: \"\\f026\";\n}\n.fa-volume-down:before {\n  content: \"\\f027\";\n}\n.fa-volume-up:before {\n  content: \"\\f028\";\n}\n.fa-qrcode:before {\n  content: \"\\f029\";\n}\n.fa-barcode:before {\n  content: \"\\f02a\";\n}\n.fa-tag:before {\n  content: \"\\f02b\";\n}\n.fa-tags:before {\n  content: \"\\f02c\";\n}\n.fa-book:before {\n  content: \"\\f02d\";\n}\n.fa-bookmark:before {\n  content: \"\\f02e\";\n}\n.fa-print:before {\n  content: \"\\f02f\";\n}\n.fa-camera:before {\n  content: \"\\f030\";\n}\n.fa-font:before {\n  content: \"\\f031\";\n}\n.fa-bold:before {\n  content: \"\\f032\";\n}\n.fa-italic:before {\n  content: \"\\f033\";\n}\n.fa-text-height:before {\n  content: \"\\f034\";\n}\n.fa-text-width:before {\n  content: \"\\f035\";\n}\n.fa-align-left:before {\n  content: \"\\f036\";\n}\n.fa-align-center:before {\n  content: \"\\f037\";\n}\n.fa-align-right:before {\n  content: \"\\f038\";\n}\n.fa-align-justify:before {\n  content: \"\\f039\";\n}\n.fa-list:before {\n  content: \"\\f03a\";\n}\n.fa-dedent:before,\n.fa-outdent:before {\n  content: \"\\f03b\";\n}\n.fa-indent:before {\n  content: \"\\f03c\";\n}\n.fa-video-camera:before {\n  content: \"\\f03d\";\n}\n.fa-photo:before,\n.fa-image:before,\n.fa-picture-o:before {\n  content: \"\\f03e\";\n}\n.fa-pencil:before {\n  content: \"\\f040\";\n}\n.fa-map-marker:before {\n  content: \"\\f041\";\n}\n.fa-adjust:before {\n  content: \"\\f042\";\n}\n.fa-tint:before {\n  content: \"\\f043\";\n}\n.fa-edit:before,\n.fa-pencil-square-o:before {\n  content: \"\\f044\";\n}\n.fa-share-square-o:before {\n  content: \"\\f045\";\n}\n.fa-check-square-o:before {\n  content: \"\\f046\";\n}\n.fa-arrows:before {\n  content: \"\\f047\";\n}\n.fa-step-backward:before {\n  content: \"\\f048\";\n}\n.fa-fast-backward:before {\n  content: \"\\f049\";\n}\n.fa-backward:before {\n  content: \"\\f04a\";\n}\n.fa-play:before {\n  content: \"\\f04b\";\n}\n.fa-pause:before {\n  content: \"\\f04c\";\n}\n.fa-stop:before {\n  content: \"\\f04d\";\n}\n.fa-forward:before {\n  content: \"\\f04e\";\n}\n.fa-fast-forward:before {\n  content: \"\\f050\";\n}\n.fa-step-forward:before {\n  content: \"\\f051\";\n}\n.fa-eject:before {\n  content: \"\\f052\";\n}\n.fa-chevron-left:before {\n  content: \"\\f053\";\n}\n.fa-chevron-right:before {\n  content: \"\\f054\";\n}\n.fa-plus-circle:before {\n  content: \"\\f055\";\n}\n.fa-minus-circle:before {\n  content: \"\\f056\";\n}\n.fa-times-circle:before {\n  content: \"\\f057\";\n}\n.fa-check-circle:before {\n  content: \"\\f058\";\n}\n.fa-question-circle:before {\n  content: \"\\f059\";\n}\n.fa-info-circle:before {\n  content: \"\\f05a\";\n}\n.fa-crosshairs:before {\n  content: \"\\f05b\";\n}\n.fa-times-circle-o:before {\n  content: \"\\f05c\";\n}\n.fa-check-circle-o:before {\n  content: \"\\f05d\";\n}\n.fa-ban:before {\n  content: \"\\f05e\";\n}\n.fa-arrow-left:before {\n  content: \"\\f060\";\n}\n.fa-arrow-right:before {\n  content: \"\\f061\";\n}\n.fa-arrow-up:before {\n  content: \"\\f062\";\n}\n.fa-arrow-down:before {\n  content: \"\\f063\";\n}\n.fa-mail-forward:before,\n.fa-share:before {\n  content: \"\\f064\";\n}\n.fa-expand:before {\n  content: \"\\f065\";\n}\n.fa-compress:before {\n  content: \"\\f066\";\n}\n.fa-plus:before {\n  content: \"\\f067\";\n}\n.fa-minus:before {\n  content: \"\\f068\";\n}\n.fa-asterisk:before {\n  content: \"\\f069\";\n}\n.fa-exclamation-circle:before {\n  content: \"\\f06a\";\n}\n.fa-gift:before {\n  content: \"\\f06b\";\n}\n.fa-leaf:before {\n  content: \"\\f06c\";\n}\n.fa-fire:before {\n  content: \"\\f06d\";\n}\n.fa-eye:before {\n  content: \"\\f06e\";\n}\n.fa-eye-slash:before {\n  content: \"\\f070\";\n}\n.fa-warning:before,\n.fa-exclamation-triangle:before {\n  content: \"\\f071\";\n}\n.fa-plane:before {\n  content: \"\\f072\";\n}\n.fa-calendar:before {\n  content: \"\\f073\";\n}\n.fa-random:before {\n  content: \"\\f074\";\n}\n.fa-comment:before {\n  content: \"\\f075\";\n}\n.fa-magnet:before {\n  content: \"\\f076\";\n}\n.fa-chevron-up:before {\n  content: \"\\f077\";\n}\n.fa-chevron-down:before {\n  content: \"\\f078\";\n}\n.fa-retweet:before {\n  content: \"\\f079\";\n}\n.fa-shopping-cart:before {\n  content: \"\\f07a\";\n}\n.fa-folder:before {\n  content: \"\\f07b\";\n}\n.fa-folder-open:before {\n  content: \"\\f07c\";\n}\n.fa-arrows-v:before {\n  content: \"\\f07d\";\n}\n.fa-arrows-h:before {\n  content: \"\\f07e\";\n}\n.fa-bar-chart-o:before,\n.fa-bar-chart:before {\n  content: \"\\f080\";\n}\n.fa-twitter-square:before {\n  content: \"\\f081\";\n}\n.fa-facebook-square:before {\n  content: \"\\f082\";\n}\n.fa-camera-retro:before {\n  content: \"\\f083\";\n}\n.fa-key:before {\n  content: \"\\f084\";\n}\n.fa-gears:before,\n.fa-cogs:before {\n  content: \"\\f085\";\n}\n.fa-comments:before {\n  content: \"\\f086\";\n}\n.fa-thumbs-o-up:before {\n  content: \"\\f087\";\n}\n.fa-thumbs-o-down:before {\n  content: \"\\f088\";\n}\n.fa-star-half:before {\n  content: \"\\f089\";\n}\n.fa-heart-o:before {\n  content: \"\\f08a\";\n}\n.fa-sign-out:before {\n  content: \"\\f08b\";\n}\n.fa-linkedin-square:before {\n  content: \"\\f08c\";\n}\n.fa-thumb-tack:before {\n  content: \"\\f08d\";\n}\n.fa-external-link:before {\n  content: \"\\f08e\";\n}\n.fa-sign-in:before {\n  content: \"\\f090\";\n}\n.fa-trophy:before {\n  content: \"\\f091\";\n}\n.fa-github-square:before {\n  content: \"\\f092\";\n}\n.fa-upload:before {\n  content: \"\\f093\";\n}\n.fa-lemon-o:before {\n  content: \"\\f094\";\n}\n.fa-phone:before {\n  content: \"\\f095\";\n}\n.fa-square-o:before {\n  content: \"\\f096\";\n}\n.fa-bookmark-o:before {\n  content: \"\\f097\";\n}\n.fa-phone-square:before {\n  content: \"\\f098\";\n}\n.fa-twitter:before {\n  content: \"\\f099\";\n}\n.fa-facebook-f:before,\n.fa-facebook:before {\n  content: \"\\f09a\";\n}\n.fa-github:before {\n  content: \"\\f09b\";\n}\n.fa-unlock:before {\n  content: \"\\f09c\";\n}\n.fa-credit-card:before {\n  content: \"\\f09d\";\n}\n.fa-feed:before,\n.fa-rss:before {\n  content: \"\\f09e\";\n}\n.fa-hdd-o:before {\n  content: \"\\f0a0\";\n}\n.fa-bullhorn:before {\n  content: \"\\f0a1\";\n}\n.fa-bell:before {\n  content: \"\\f0f3\";\n}\n.fa-certificate:before {\n  content: \"\\f0a3\";\n}\n.fa-hand-o-right:before {\n  content: \"\\f0a4\";\n}\n.fa-hand-o-left:before {\n  content: \"\\f0a5\";\n}\n.fa-hand-o-up:before {\n  content: \"\\f0a6\";\n}\n.fa-hand-o-down:before {\n  content: \"\\f0a7\";\n}\n.fa-arrow-circle-left:before {\n  content: \"\\f0a8\";\n}\n.fa-arrow-circle-right:before {\n  content: \"\\f0a9\";\n}\n.fa-arrow-circle-up:before {\n  content: \"\\f0aa\";\n}\n.fa-arrow-circle-down:before {\n  content: \"\\f0ab\";\n}\n.fa-globe:before {\n  content: \"\\f0ac\";\n}\n.fa-wrench:before {\n  content: \"\\f0ad\";\n}\n.fa-tasks:before {\n  content: \"\\f0ae\";\n}\n.fa-filter:before {\n  content: \"\\f0b0\";\n}\n.fa-briefcase:before {\n  content: \"\\f0b1\";\n}\n.fa-arrows-alt:before {\n  content: \"\\f0b2\";\n}\n.fa-group:before,\n.fa-users:before {\n  content: \"\\f0c0\";\n}\n.fa-chain:before,\n.fa-link:before {\n  content: \"\\f0c1\";\n}\n.fa-cloud:before {\n  content: \"\\f0c2\";\n}\n.fa-flask:before {\n  content: \"\\f0c3\";\n}\n.fa-cut:before,\n.fa-scissors:before {\n  content: \"\\f0c4\";\n}\n.fa-copy:before,\n.fa-files-o:before {\n  content: \"\\f0c5\";\n}\n.fa-paperclip:before {\n  content: \"\\f0c6\";\n}\n.fa-save:before,\n.fa-floppy-o:before {\n  content: \"\\f0c7\";\n}\n.fa-square:before {\n  content: \"\\f0c8\";\n}\n.fa-navicon:before,\n.fa-reorder:before,\n.fa-bars:before {\n  content: \"\\f0c9\";\n}\n.fa-list-ul:before {\n  content: \"\\f0ca\";\n}\n.fa-list-ol:before {\n  content: \"\\f0cb\";\n}\n.fa-strikethrough:before {\n  content: \"\\f0cc\";\n}\n.fa-underline:before {\n  content: \"\\f0cd\";\n}\n.fa-table:before {\n  content: \"\\f0ce\";\n}\n.fa-magic:before {\n  content: \"\\f0d0\";\n}\n.fa-truck:before {\n  content: \"\\f0d1\";\n}\n.fa-pinterest:before {\n  content: \"\\f0d2\";\n}\n.fa-pinterest-square:before {\n  content: \"\\f0d3\";\n}\n.fa-google-plus-square:before {\n  content: \"\\f0d4\";\n}\n.fa-google-plus:before {\n  content: \"\\f0d5\";\n}\n.fa-money:before {\n  content: \"\\f0d6\";\n}\n.fa-caret-down:before {\n  content: \"\\f0d7\";\n}\n.fa-caret-up:before {\n  content: \"\\f0d8\";\n}\n.fa-caret-left:before {\n  content: \"\\f0d9\";\n}\n.fa-caret-right:before {\n  content: \"\\f0da\";\n}\n.fa-columns:before {\n  content: \"\\f0db\";\n}\n.fa-unsorted:before,\n.fa-sort:before {\n  content: \"\\f0dc\";\n}\n.fa-sort-down:before,\n.fa-sort-desc:before {\n  content: \"\\f0dd\";\n}\n.fa-sort-up:before,\n.fa-sort-asc:before {\n  content: \"\\f0de\";\n}\n.fa-envelope:before {\n  content: \"\\f0e0\";\n}\n.fa-linkedin:before {\n  content: \"\\f0e1\";\n}\n.fa-rotate-left:before,\n.fa-undo:before {\n  content: \"\\f0e2\";\n}\n.fa-legal:before,\n.fa-gavel:before {\n  content: \"\\f0e3\";\n}\n.fa-dashboard:before,\n.fa-tachometer:before {\n  content: \"\\f0e4\";\n}\n.fa-comment-o:before {\n  content: \"\\f0e5\";\n}\n.fa-comments-o:before {\n  content: \"\\f0e6\";\n}\n.fa-flash:before,\n.fa-bolt:before {\n  content: \"\\f0e7\";\n}\n.fa-sitemap:before {\n  content: \"\\f0e8\";\n}\n.fa-umbrella:before {\n  content: \"\\f0e9\";\n}\n.fa-paste:before,\n.fa-clipboard:before {\n  content: \"\\f0ea\";\n}\n.fa-lightbulb-o:before {\n  content: \"\\f0eb\";\n}\n.fa-exchange:before {\n  content: \"\\f0ec\";\n}\n.fa-cloud-download:before {\n  content: \"\\f0ed\";\n}\n.fa-cloud-upload:before {\n  content: \"\\f0ee\";\n}\n.fa-user-md:before {\n  content: \"\\f0f0\";\n}\n.fa-stethoscope:before {\n  content: \"\\f0f1\";\n}\n.fa-suitcase:before {\n  content: \"\\f0f2\";\n}\n.fa-bell-o:before {\n  content: \"\\f0a2\";\n}\n.fa-coffee:before {\n  content: \"\\f0f4\";\n}\n.fa-cutlery:before {\n  content: \"\\f0f5\";\n}\n.fa-file-text-o:before {\n  content: \"\\f0f6\";\n}\n.fa-building-o:before {\n  content: \"\\f0f7\";\n}\n.fa-hospital-o:before {\n  content: \"\\f0f8\";\n}\n.fa-ambulance:before {\n  content: \"\\f0f9\";\n}\n.fa-medkit:before {\n  content: \"\\f0fa\";\n}\n.fa-fighter-jet:before {\n  content: \"\\f0fb\";\n}\n.fa-beer:before {\n  content: \"\\f0fc\";\n}\n.fa-h-square:before {\n  content: \"\\f0fd\";\n}\n.fa-plus-square:before {\n  content: \"\\f0fe\";\n}\n.fa-angle-double-left:before {\n  content: \"\\f100\";\n}\n.fa-angle-double-right:before {\n  content: \"\\f101\";\n}\n.fa-angle-double-up:before {\n  content: \"\\f102\";\n}\n.fa-angle-double-down:before {\n  content: \"\\f103\";\n}\n.fa-angle-left:before {\n  content: \"\\f104\";\n}\n.fa-angle-right:before {\n  content: \"\\f105\";\n}\n.fa-angle-up:before {\n  content: \"\\f106\";\n}\n.fa-angle-down:before {\n  content: \"\\f107\";\n}\n.fa-desktop:before {\n  content: \"\\f108\";\n}\n.fa-laptop:before {\n  content: \"\\f109\";\n}\n.fa-tablet:before {\n  content: \"\\f10a\";\n}\n.fa-mobile-phone:before,\n.fa-mobile:before {\n  content: \"\\f10b\";\n}\n.fa-circle-o:before {\n  content: \"\\f10c\";\n}\n.fa-quote-left:before {\n  content: \"\\f10d\";\n}\n.fa-quote-right:before {\n  content: \"\\f10e\";\n}\n.fa-spinner:before {\n  content: \"\\f110\";\n}\n.fa-circle:before {\n  content: \"\\f111\";\n}\n.fa-mail-reply:before,\n.fa-reply:before {\n  content: \"\\f112\";\n}\n.fa-github-alt:before {\n  content: \"\\f113\";\n}\n.fa-folder-o:before {\n  content: \"\\f114\";\n}\n.fa-folder-open-o:before {\n  content: \"\\f115\";\n}\n.fa-smile-o:before {\n  content: \"\\f118\";\n}\n.fa-frown-o:before {\n  content: \"\\f119\";\n}\n.fa-meh-o:before {\n  content: \"\\f11a\";\n}\n.fa-gamepad:before {\n  content: \"\\f11b\";\n}\n.fa-keyboard-o:before {\n  content: \"\\f11c\";\n}\n.fa-flag-o:before {\n  content: \"\\f11d\";\n}\n.fa-flag-checkered:before {\n  content: \"\\f11e\";\n}\n.fa-terminal:before {\n  content: \"\\f120\";\n}\n.fa-code:before {\n  content: \"\\f121\";\n}\n.fa-mail-reply-all:before,\n.fa-reply-all:before {\n  content: \"\\f122\";\n}\n.fa-star-half-empty:before,\n.fa-star-half-full:before,\n.fa-star-half-o:before {\n  content: \"\\f123\";\n}\n.fa-location-arrow:before {\n  content: \"\\f124\";\n}\n.fa-crop:before {\n  content: \"\\f125\";\n}\n.fa-code-fork:before {\n  content: \"\\f126\";\n}\n.fa-unlink:before,\n.fa-chain-broken:before {\n  content: \"\\f127\";\n}\n.fa-question:before {\n  content: \"\\f128\";\n}\n.fa-info:before {\n  content: \"\\f129\";\n}\n.fa-exclamation:before {\n  content: \"\\f12a\";\n}\n.fa-superscript:before {\n  content: \"\\f12b\";\n}\n.fa-subscript:before {\n  content: \"\\f12c\";\n}\n.fa-eraser:before {\n  content: \"\\f12d\";\n}\n.fa-puzzle-piece:before {\n  content: \"\\f12e\";\n}\n.fa-microphone:before {\n  content: \"\\f130\";\n}\n.fa-microphone-slash:before {\n  content: \"\\f131\";\n}\n.fa-shield:before {\n  content: \"\\f132\";\n}\n.fa-calendar-o:before {\n  content: \"\\f133\";\n}\n.fa-fire-extinguisher:before {\n  content: \"\\f134\";\n}\n.fa-rocket:before {\n  content: \"\\f135\";\n}\n.fa-maxcdn:before {\n  content: \"\\f136\";\n}\n.fa-chevron-circle-left:before {\n  content: \"\\f137\";\n}\n.fa-chevron-circle-right:before {\n  content: \"\\f138\";\n}\n.fa-chevron-circle-up:before {\n  content: \"\\f139\";\n}\n.fa-chevron-circle-down:before {\n  content: \"\\f13a\";\n}\n.fa-html5:before {\n  content: \"\\f13b\";\n}\n.fa-css3:before {\n  content: \"\\f13c\";\n}\n.fa-anchor:before {\n  content: \"\\f13d\";\n}\n.fa-unlock-alt:before {\n  content: \"\\f13e\";\n}\n.fa-bullseye:before {\n  content: \"\\f140\";\n}\n.fa-ellipsis-h:before {\n  content: \"\\f141\";\n}\n.fa-ellipsis-v:before {\n  content: \"\\f142\";\n}\n.fa-rss-square:before {\n  content: \"\\f143\";\n}\n.fa-play-circle:before {\n  content: \"\\f144\";\n}\n.fa-ticket:before {\n  content: \"\\f145\";\n}\n.fa-minus-square:before {\n  content: \"\\f146\";\n}\n.fa-minus-square-o:before {\n  content: \"\\f147\";\n}\n.fa-level-up:before {\n  content: \"\\f148\";\n}\n.fa-level-down:before {\n  content: \"\\f149\";\n}\n.fa-check-square:before {\n  content: \"\\f14a\";\n}\n.fa-pencil-square:before {\n  content: \"\\f14b\";\n}\n.fa-external-link-square:before {\n  content: \"\\f14c\";\n}\n.fa-share-square:before {\n  content: \"\\f14d\";\n}\n.fa-compass:before {\n  content: \"\\f14e\";\n}\n.fa-toggle-down:before,\n.fa-caret-square-o-down:before {\n  content: \"\\f150\";\n}\n.fa-toggle-up:before,\n.fa-caret-square-o-up:before {\n  content: \"\\f151\";\n}\n.fa-toggle-right:before,\n.fa-caret-square-o-right:before {\n  content: \"\\f152\";\n}\n.fa-euro:before,\n.fa-eur:before {\n  content: \"\\f153\";\n}\n.fa-gbp:before {\n  content: \"\\f154\";\n}\n.fa-dollar:before,\n.fa-usd:before {\n  content: \"\\f155\";\n}\n.fa-rupee:before,\n.fa-inr:before {\n  content: \"\\f156\";\n}\n.fa-cny:before,\n.fa-rmb:before,\n.fa-yen:before,\n.fa-jpy:before {\n  content: \"\\f157\";\n}\n.fa-ruble:before,\n.fa-rouble:before,\n.fa-rub:before {\n  content: \"\\f158\";\n}\n.fa-won:before,\n.fa-krw:before {\n  content: \"\\f159\";\n}\n.fa-bitcoin:before,\n.fa-btc:before {\n  content: \"\\f15a\";\n}\n.fa-file:before {\n  content: \"\\f15b\";\n}\n.fa-file-text:before {\n  content: \"\\f15c\";\n}\n.fa-sort-alpha-asc:before {\n  content: \"\\f15d\";\n}\n.fa-sort-alpha-desc:before {\n  content: \"\\f15e\";\n}\n.fa-sort-amount-asc:before {\n  content: \"\\f160\";\n}\n.fa-sort-amount-desc:before {\n  content: \"\\f161\";\n}\n.fa-sort-numeric-asc:before {\n  content: \"\\f162\";\n}\n.fa-sort-numeric-desc:before {\n  content: \"\\f163\";\n}\n.fa-thumbs-up:before {\n  content: \"\\f164\";\n}\n.fa-thumbs-down:before {\n  content: \"\\f165\";\n}\n.fa-youtube-square:before {\n  content: \"\\f166\";\n}\n.fa-youtube:before {\n  content: \"\\f167\";\n}\n.fa-xing:before {\n  content: \"\\f168\";\n}\n.fa-xing-square:before {\n  content: \"\\f169\";\n}\n.fa-youtube-play:before {\n  content: \"\\f16a\";\n}\n.fa-dropbox:before {\n  content: \"\\f16b\";\n}\n.fa-stack-overflow:before {\n  content: \"\\f16c\";\n}\n.fa-instagram:before {\n  content: \"\\f16d\";\n}\n.fa-flickr:before {\n  content: \"\\f16e\";\n}\n.fa-adn:before {\n  content: \"\\f170\";\n}\n.fa-bitbucket:before {\n  content: \"\\f171\";\n}\n.fa-bitbucket-square:before {\n  content: \"\\f172\";\n}\n.fa-tumblr:before {\n  content: \"\\f173\";\n}\n.fa-tumblr-square:before {\n  content: \"\\f174\";\n}\n.fa-long-arrow-down:before {\n  content: \"\\f175\";\n}\n.fa-long-arrow-up:before {\n  content: \"\\f176\";\n}\n.fa-long-arrow-left:before {\n  content: \"\\f177\";\n}\n.fa-long-arrow-right:before {\n  content: \"\\f178\";\n}\n.fa-apple:before {\n  content: \"\\f179\";\n}\n.fa-windows:before {\n  content: \"\\f17a\";\n}\n.fa-android:before {\n  content: \"\\f17b\";\n}\n.fa-linux:before {\n  content: \"\\f17c\";\n}\n.fa-dribbble:before {\n  content: \"\\f17d\";\n}\n.fa-skype:before {\n  content: \"\\f17e\";\n}\n.fa-foursquare:before {\n  content: \"\\f180\";\n}\n.fa-trello:before {\n  content: \"\\f181\";\n}\n.fa-female:before {\n  content: \"\\f182\";\n}\n.fa-male:before {\n  content: \"\\f183\";\n}\n.fa-gittip:before,\n.fa-gratipay:before {\n  content: \"\\f184\";\n}\n.fa-sun-o:before {\n  content: \"\\f185\";\n}\n.fa-moon-o:before {\n  content: \"\\f186\";\n}\n.fa-archive:before {\n  content: \"\\f187\";\n}\n.fa-bug:before {\n  content: \"\\f188\";\n}\n.fa-vk:before {\n  content: \"\\f189\";\n}\n.fa-weibo:before {\n  content: \"\\f18a\";\n}\n.fa-renren:before {\n  content: \"\\f18b\";\n}\n.fa-pagelines:before {\n  content: \"\\f18c\";\n}\n.fa-stack-exchange:before {\n  content: \"\\f18d\";\n}\n.fa-arrow-circle-o-right:before {\n  content: \"\\f18e\";\n}\n.fa-arrow-circle-o-left:before {\n  content: \"\\f190\";\n}\n.fa-toggle-left:before,\n.fa-caret-square-o-left:before {\n  content: \"\\f191\";\n}\n.fa-dot-circle-o:before {\n  content: \"\\f192\";\n}\n.fa-wheelchair:before {\n  content: \"\\f193\";\n}\n.fa-vimeo-square:before {\n  content: \"\\f194\";\n}\n.fa-turkish-lira:before,\n.fa-try:before {\n  content: \"\\f195\";\n}\n.fa-plus-square-o:before {\n  content: \"\\f196\";\n}\n.fa-space-shuttle:before {\n  content: \"\\f197\";\n}\n.fa-slack:before {\n  content: \"\\f198\";\n}\n.fa-envelope-square:before {\n  content: \"\\f199\";\n}\n.fa-wordpress:before {\n  content: \"\\f19a\";\n}\n.fa-openid:before {\n  content: \"\\f19b\";\n}\n.fa-institution:before,\n.fa-bank:before,\n.fa-university:before {\n  content: \"\\f19c\";\n}\n.fa-mortar-board:before,\n.fa-graduation-cap:before {\n  content: \"\\f19d\";\n}\n.fa-yahoo:before {\n  content: \"\\f19e\";\n}\n.fa-google:before {\n  content: \"\\f1a0\";\n}\n.fa-reddit:before {\n  content: \"\\f1a1\";\n}\n.fa-reddit-square:before {\n  content: \"\\f1a2\";\n}\n.fa-stumbleupon-circle:before {\n  content: \"\\f1a3\";\n}\n.fa-stumbleupon:before {\n  content: \"\\f1a4\";\n}\n.fa-delicious:before {\n  content: \"\\f1a5\";\n}\n.fa-digg:before {\n  content: \"\\f1a6\";\n}\n.fa-pied-piper-pp:before {\n  content: \"\\f1a7\";\n}\n.fa-pied-piper-alt:before {\n  content: \"\\f1a8\";\n}\n.fa-drupal:before {\n  content: \"\\f1a9\";\n}\n.fa-joomla:before {\n  content: \"\\f1aa\";\n}\n.fa-language:before {\n  content: \"\\f1ab\";\n}\n.fa-fax:before {\n  content: \"\\f1ac\";\n}\n.fa-building:before {\n  content: \"\\f1ad\";\n}\n.fa-child:before {\n  content: \"\\f1ae\";\n}\n.fa-paw:before {\n  content: \"\\f1b0\";\n}\n.fa-spoon:before {\n  content: \"\\f1b1\";\n}\n.fa-cube:before {\n  content: \"\\f1b2\";\n}\n.fa-cubes:before {\n  content: \"\\f1b3\";\n}\n.fa-behance:before {\n  content: \"\\f1b4\";\n}\n.fa-behance-square:before {\n  content: \"\\f1b5\";\n}\n.fa-steam:before {\n  content: \"\\f1b6\";\n}\n.fa-steam-square:before {\n  content: \"\\f1b7\";\n}\n.fa-recycle:before {\n  content: \"\\f1b8\";\n}\n.fa-automobile:before,\n.fa-car:before {\n  content: \"\\f1b9\";\n}\n.fa-cab:before,\n.fa-taxi:before {\n  content: \"\\f1ba\";\n}\n.fa-tree:before {\n  content: \"\\f1bb\";\n}\n.fa-spotify:before {\n  content: \"\\f1bc\";\n}\n.fa-deviantart:before {\n  content: \"\\f1bd\";\n}\n.fa-soundcloud:before {\n  content: \"\\f1be\";\n}\n.fa-database:before {\n  content: \"\\f1c0\";\n}\n.fa-file-pdf-o:before {\n  content: \"\\f1c1\";\n}\n.fa-file-word-o:before {\n  content: \"\\f1c2\";\n}\n.fa-file-excel-o:before {\n  content: \"\\f1c3\";\n}\n.fa-file-powerpoint-o:before {\n  content: \"\\f1c4\";\n}\n.fa-file-photo-o:before,\n.fa-file-picture-o:before,\n.fa-file-image-o:before {\n  content: \"\\f1c5\";\n}\n.fa-file-zip-o:before,\n.fa-file-archive-o:before {\n  content: \"\\f1c6\";\n}\n.fa-file-sound-o:before,\n.fa-file-audio-o:before {\n  content: \"\\f1c7\";\n}\n.fa-file-movie-o:before,\n.fa-file-video-o:before {\n  content: \"\\f1c8\";\n}\n.fa-file-code-o:before {\n  content: \"\\f1c9\";\n}\n.fa-vine:before {\n  content: \"\\f1ca\";\n}\n.fa-codepen:before {\n  content: \"\\f1cb\";\n}\n.fa-jsfiddle:before {\n  content: \"\\f1cc\";\n}\n.fa-life-bouy:before,\n.fa-life-buoy:before,\n.fa-life-saver:before,\n.fa-support:before,\n.fa-life-ring:before {\n  content: \"\\f1cd\";\n}\n.fa-circle-o-notch:before {\n  content: \"\\f1ce\";\n}\n.fa-ra:before,\n.fa-resistance:before,\n.fa-rebel:before {\n  content: \"\\f1d0\";\n}\n.fa-ge:before,\n.fa-empire:before {\n  content: \"\\f1d1\";\n}\n.fa-git-square:before {\n  content: \"\\f1d2\";\n}\n.fa-git:before {\n  content: \"\\f1d3\";\n}\n.fa-y-combinator-square:before,\n.fa-yc-square:before,\n.fa-hacker-news:before {\n  content: \"\\f1d4\";\n}\n.fa-tencent-weibo:before {\n  content: \"\\f1d5\";\n}\n.fa-qq:before {\n  content: \"\\f1d6\";\n}\n.fa-wechat:before,\n.fa-weixin:before {\n  content: \"\\f1d7\";\n}\n.fa-send:before,\n.fa-paper-plane:before {\n  content: \"\\f1d8\";\n}\n.fa-send-o:before,\n.fa-paper-plane-o:before {\n  content: \"\\f1d9\";\n}\n.fa-history:before {\n  content: \"\\f1da\";\n}\n.fa-circle-thin:before {\n  content: \"\\f1db\";\n}\n.fa-header:before {\n  content: \"\\f1dc\";\n}\n.fa-paragraph:before {\n  content: \"\\f1dd\";\n}\n.fa-sliders:before {\n  content: \"\\f1de\";\n}\n.fa-share-alt:before {\n  content: \"\\f1e0\";\n}\n.fa-share-alt-square:before {\n  content: \"\\f1e1\";\n}\n.fa-bomb:before {\n  content: \"\\f1e2\";\n}\n.fa-soccer-ball-o:before,\n.fa-futbol-o:before {\n  content: \"\\f1e3\";\n}\n.fa-tty:before {\n  content: \"\\f1e4\";\n}\n.fa-binoculars:before {\n  content: \"\\f1e5\";\n}\n.fa-plug:before {\n  content: \"\\f1e6\";\n}\n.fa-slideshare:before {\n  content: \"\\f1e7\";\n}\n.fa-twitch:before {\n  content: \"\\f1e8\";\n}\n.fa-yelp:before {\n  content: \"\\f1e9\";\n}\n.fa-newspaper-o:before {\n  content: \"\\f1ea\";\n}\n.fa-wifi:before {\n  content: \"\\f1eb\";\n}\n.fa-calculator:before {\n  content: \"\\f1ec\";\n}\n.fa-paypal:before {\n  content: \"\\f1ed\";\n}\n.fa-google-wallet:before {\n  content: \"\\f1ee\";\n}\n.fa-cc-visa:before {\n  content: \"\\f1f0\";\n}\n.fa-cc-mastercard:before {\n  content: \"\\f1f1\";\n}\n.fa-cc-discover:before {\n  content: \"\\f1f2\";\n}\n.fa-cc-amex:before {\n  content: \"\\f1f3\";\n}\n.fa-cc-paypal:before {\n  content: \"\\f1f4\";\n}\n.fa-cc-stripe:before {\n  content: \"\\f1f5\";\n}\n.fa-bell-slash:before {\n  content: \"\\f1f6\";\n}\n.fa-bell-slash-o:before {\n  content: \"\\f1f7\";\n}\n.fa-trash:before {\n  content: \"\\f1f8\";\n}\n.fa-copyright:before {\n  content: \"\\f1f9\";\n}\n.fa-at:before {\n  content: \"\\f1fa\";\n}\n.fa-eyedropper:before {\n  content: \"\\f1fb\";\n}\n.fa-paint-brush:before {\n  content: \"\\f1fc\";\n}\n.fa-birthday-cake:before {\n  content: \"\\f1fd\";\n}\n.fa-area-chart:before {\n  content: \"\\f1fe\";\n}\n.fa-pie-chart:before {\n  content: \"\\f200\";\n}\n.fa-line-chart:before {\n  content: \"\\f201\";\n}\n.fa-lastfm:before {\n  content: \"\\f202\";\n}\n.fa-lastfm-square:before {\n  content: \"\\f203\";\n}\n.fa-toggle-off:before {\n  content: \"\\f204\";\n}\n.fa-toggle-on:before {\n  content: \"\\f205\";\n}\n.fa-bicycle:before {\n  content: \"\\f206\";\n}\n.fa-bus:before {\n  content: \"\\f207\";\n}\n.fa-ioxhost:before {\n  content: \"\\f208\";\n}\n.fa-angellist:before {\n  content: \"\\f209\";\n}\n.fa-cc:before {\n  content: \"\\f20a\";\n}\n.fa-shekel:before,\n.fa-sheqel:before,\n.fa-ils:before {\n  content: \"\\f20b\";\n}\n.fa-meanpath:before {\n  content: \"\\f20c\";\n}\n.fa-buysellads:before {\n  content: \"\\f20d\";\n}\n.fa-connectdevelop:before {\n  content: \"\\f20e\";\n}\n.fa-dashcube:before {\n  content: \"\\f210\";\n}\n.fa-forumbee:before {\n  content: \"\\f211\";\n}\n.fa-leanpub:before {\n  content: \"\\f212\";\n}\n.fa-sellsy:before {\n  content: \"\\f213\";\n}\n.fa-shirtsinbulk:before {\n  content: \"\\f214\";\n}\n.fa-simplybuilt:before {\n  content: \"\\f215\";\n}\n.fa-skyatlas:before {\n  content: \"\\f216\";\n}\n.fa-cart-plus:before {\n  content: \"\\f217\";\n}\n.fa-cart-arrow-down:before {\n  content: \"\\f218\";\n}\n.fa-diamond:before {\n  content: \"\\f219\";\n}\n.fa-ship:before {\n  content: \"\\f21a\";\n}\n.fa-user-secret:before {\n  content: \"\\f21b\";\n}\n.fa-motorcycle:before {\n  content: \"\\f21c\";\n}\n.fa-street-view:before {\n  content: \"\\f21d\";\n}\n.fa-heartbeat:before {\n  content: \"\\f21e\";\n}\n.fa-venus:before {\n  content: \"\\f221\";\n}\n.fa-mars:before {\n  content: \"\\f222\";\n}\n.fa-mercury:before {\n  content: \"\\f223\";\n}\n.fa-intersex:before,\n.fa-transgender:before {\n  content: \"\\f224\";\n}\n.fa-transgender-alt:before {\n  content: \"\\f225\";\n}\n.fa-venus-double:before {\n  content: \"\\f226\";\n}\n.fa-mars-double:before {\n  content: \"\\f227\";\n}\n.fa-venus-mars:before {\n  content: \"\\f228\";\n}\n.fa-mars-stroke:before {\n  content: \"\\f229\";\n}\n.fa-mars-stroke-v:before {\n  content: \"\\f22a\";\n}\n.fa-mars-stroke-h:before {\n  content: \"\\f22b\";\n}\n.fa-neuter:before {\n  content: \"\\f22c\";\n}\n.fa-genderless:before {\n  content: \"\\f22d\";\n}\n.fa-facebook-official:before {\n  content: \"\\f230\";\n}\n.fa-pinterest-p:before {\n  content: \"\\f231\";\n}\n.fa-whatsapp:before {\n  content: \"\\f232\";\n}\n.fa-server:before {\n  content: \"\\f233\";\n}\n.fa-user-plus:before {\n  content: \"\\f234\";\n}\n.fa-user-times:before {\n  content: \"\\f235\";\n}\n.fa-hotel:before,\n.fa-bed:before {\n  content: \"\\f236\";\n}\n.fa-viacoin:before {\n  content: \"\\f237\";\n}\n.fa-train:before {\n  content: \"\\f238\";\n}\n.fa-subway:before {\n  content: \"\\f239\";\n}\n.fa-medium:before {\n  content: \"\\f23a\";\n}\n.fa-yc:before,\n.fa-y-combinator:before {\n  content: \"\\f23b\";\n}\n.fa-optin-monster:before {\n  content: \"\\f23c\";\n}\n.fa-opencart:before {\n  content: \"\\f23d\";\n}\n.fa-expeditedssl:before {\n  content: \"\\f23e\";\n}\n.fa-battery-4:before,\n.fa-battery:before,\n.fa-battery-full:before {\n  content: \"\\f240\";\n}\n.fa-battery-3:before,\n.fa-battery-three-quarters:before {\n  content: \"\\f241\";\n}\n.fa-battery-2:before,\n.fa-battery-half:before {\n  content: \"\\f242\";\n}\n.fa-battery-1:before,\n.fa-battery-quarter:before {\n  content: \"\\f243\";\n}\n.fa-battery-0:before,\n.fa-battery-empty:before {\n  content: \"\\f244\";\n}\n.fa-mouse-pointer:before {\n  content: \"\\f245\";\n}\n.fa-i-cursor:before {\n  content: \"\\f246\";\n}\n.fa-object-group:before {\n  content: \"\\f247\";\n}\n.fa-object-ungroup:before {\n  content: \"\\f248\";\n}\n.fa-sticky-note:before {\n  content: \"\\f249\";\n}\n.fa-sticky-note-o:before {\n  content: \"\\f24a\";\n}\n.fa-cc-jcb:before {\n  content: \"\\f24b\";\n}\n.fa-cc-diners-club:before {\n  content: \"\\f24c\";\n}\n.fa-clone:before {\n  content: \"\\f24d\";\n}\n.fa-balance-scale:before {\n  content: \"\\f24e\";\n}\n.fa-hourglass-o:before {\n  content: \"\\f250\";\n}\n.fa-hourglass-1:before,\n.fa-hourglass-start:before {\n  content: \"\\f251\";\n}\n.fa-hourglass-2:before,\n.fa-hourglass-half:before {\n  content: \"\\f252\";\n}\n.fa-hourglass-3:before,\n.fa-hourglass-end:before {\n  content: \"\\f253\";\n}\n.fa-hourglass:before {\n  content: \"\\f254\";\n}\n.fa-hand-grab-o:before,\n.fa-hand-rock-o:before {\n  content: \"\\f255\";\n}\n.fa-hand-stop-o:before,\n.fa-hand-paper-o:before {\n  content: \"\\f256\";\n}\n.fa-hand-scissors-o:before {\n  content: \"\\f257\";\n}\n.fa-hand-lizard-o:before {\n  content: \"\\f258\";\n}\n.fa-hand-spock-o:before {\n  content: \"\\f259\";\n}\n.fa-hand-pointer-o:before {\n  content: \"\\f25a\";\n}\n.fa-hand-peace-o:before {\n  content: \"\\f25b\";\n}\n.fa-trademark:before {\n  content: \"\\f25c\";\n}\n.fa-registered:before {\n  content: \"\\f25d\";\n}\n.fa-creative-commons:before {\n  content: \"\\f25e\";\n}\n.fa-gg:before {\n  content: \"\\f260\";\n}\n.fa-gg-circle:before {\n  content: \"\\f261\";\n}\n.fa-tripadvisor:before {\n  content: \"\\f262\";\n}\n.fa-odnoklassniki:before {\n  content: \"\\f263\";\n}\n.fa-odnoklassniki-square:before {\n  content: \"\\f264\";\n}\n.fa-get-pocket:before {\n  content: \"\\f265\";\n}\n.fa-wikipedia-w:before {\n  content: \"\\f266\";\n}\n.fa-safari:before {\n  content: \"\\f267\";\n}\n.fa-chrome:before {\n  content: \"\\f268\";\n}\n.fa-firefox:before {\n  content: \"\\f269\";\n}\n.fa-opera:before {\n  content: \"\\f26a\";\n}\n.fa-internet-explorer:before {\n  content: \"\\f26b\";\n}\n.fa-tv:before,\n.fa-television:before {\n  content: \"\\f26c\";\n}\n.fa-contao:before {\n  content: \"\\f26d\";\n}\n.fa-500px:before {\n  content: \"\\f26e\";\n}\n.fa-amazon:before {\n  content: \"\\f270\";\n}\n.fa-calendar-plus-o:before {\n  content: \"\\f271\";\n}\n.fa-calendar-minus-o:before {\n  content: \"\\f272\";\n}\n.fa-calendar-times-o:before {\n  content: \"\\f273\";\n}\n.fa-calendar-check-o:before {\n  content: \"\\f274\";\n}\n.fa-industry:before {\n  content: \"\\f275\";\n}\n.fa-map-pin:before {\n  content: \"\\f276\";\n}\n.fa-map-signs:before {\n  content: \"\\f277\";\n}\n.fa-map-o:before {\n  content: \"\\f278\";\n}\n.fa-map:before {\n  content: \"\\f279\";\n}\n.fa-commenting:before {\n  content: \"\\f27a\";\n}\n.fa-commenting-o:before {\n  content: \"\\f27b\";\n}\n.fa-houzz:before {\n  content: \"\\f27c\";\n}\n.fa-vimeo:before {\n  content: \"\\f27d\";\n}\n.fa-black-tie:before {\n  content: \"\\f27e\";\n}\n.fa-fonticons:before {\n  content: \"\\f280\";\n}\n.fa-reddit-alien:before {\n  content: \"\\f281\";\n}\n.fa-edge:before {\n  content: \"\\f282\";\n}\n.fa-credit-card-alt:before {\n  content: \"\\f283\";\n}\n.fa-codiepie:before {\n  content: \"\\f284\";\n}\n.fa-modx:before {\n  content: \"\\f285\";\n}\n.fa-fort-awesome:before {\n  content: \"\\f286\";\n}\n.fa-usb:before {\n  content: \"\\f287\";\n}\n.fa-product-hunt:before {\n  content: \"\\f288\";\n}\n.fa-mixcloud:before {\n  content: \"\\f289\";\n}\n.fa-scribd:before {\n  content: \"\\f28a\";\n}\n.fa-pause-circle:before {\n  content: \"\\f28b\";\n}\n.fa-pause-circle-o:before {\n  content: \"\\f28c\";\n}\n.fa-stop-circle:before {\n  content: \"\\f28d\";\n}\n.fa-stop-circle-o:before {\n  content: \"\\f28e\";\n}\n.fa-shopping-bag:before {\n  content: \"\\f290\";\n}\n.fa-shopping-basket:before {\n  content: \"\\f291\";\n}\n.fa-hashtag:before {\n  content: \"\\f292\";\n}\n.fa-bluetooth:before {\n  content: \"\\f293\";\n}\n.fa-bluetooth-b:before {\n  content: \"\\f294\";\n}\n.fa-percent:before {\n  content: \"\\f295\";\n}\n.fa-gitlab:before {\n  content: \"\\f296\";\n}\n.fa-wpbeginner:before {\n  content: \"\\f297\";\n}\n.fa-wpforms:before {\n  content: \"\\f298\";\n}\n.fa-envira:before {\n  content: \"\\f299\";\n}\n.fa-universal-access:before {\n  content: \"\\f29a\";\n}\n.fa-wheelchair-alt:before {\n  content: \"\\f29b\";\n}\n.fa-question-circle-o:before {\n  content: \"\\f29c\";\n}\n.fa-blind:before {\n  content: \"\\f29d\";\n}\n.fa-audio-description:before {\n  content: \"\\f29e\";\n}\n.fa-volume-control-phone:before {\n  content: \"\\f2a0\";\n}\n.fa-braille:before {\n  content: \"\\f2a1\";\n}\n.fa-assistive-listening-systems:before {\n  content: \"\\f2a2\";\n}\n.fa-asl-interpreting:before,\n.fa-american-sign-language-interpreting:before {\n  content: \"\\f2a3\";\n}\n.fa-deafness:before,\n.fa-hard-of-hearing:before,\n.fa-deaf:before {\n  content: \"\\f2a4\";\n}\n.fa-glide:before {\n  content: \"\\f2a5\";\n}\n.fa-glide-g:before {\n  content: \"\\f2a6\";\n}\n.fa-signing:before,\n.fa-sign-language:before {\n  content: \"\\f2a7\";\n}\n.fa-low-vision:before {\n  content: \"\\f2a8\";\n}\n.fa-viadeo:before {\n  content: \"\\f2a9\";\n}\n.fa-viadeo-square:before {\n  content: \"\\f2aa\";\n}\n.fa-snapchat:before {\n  content: \"\\f2ab\";\n}\n.fa-snapchat-ghost:before {\n  content: \"\\f2ac\";\n}\n.fa-snapchat-square:before {\n  content: \"\\f2ad\";\n}\n.fa-pied-piper:before {\n  content: \"\\f2ae\";\n}\n.fa-first-order:before {\n  content: \"\\f2b0\";\n}\n.fa-yoast:before {\n  content: \"\\f2b1\";\n}\n.fa-themeisle:before {\n  content: \"\\f2b2\";\n}\n.fa-google-plus-circle:before,\n.fa-google-plus-official:before {\n  content: \"\\f2b3\";\n}\n.fa-fa:before,\n.fa-font-awesome:before {\n  content: \"\\f2b4\";\n}\n.fa-handshake-o:before {\n  content: \"\\f2b5\";\n}\n.fa-envelope-open:before {\n  content: \"\\f2b6\";\n}\n.fa-envelope-open-o:before {\n  content: \"\\f2b7\";\n}\n.fa-linode:before {\n  content: \"\\f2b8\";\n}\n.fa-address-book:before {\n  content: \"\\f2b9\";\n}\n.fa-address-book-o:before {\n  content: \"\\f2ba\";\n}\n.fa-vcard:before,\n.fa-address-card:before {\n  content: \"\\f2bb\";\n}\n.fa-vcard-o:before,\n.fa-address-card-o:before {\n  content: \"\\f2bc\";\n}\n.fa-user-circle:before {\n  content: \"\\f2bd\";\n}\n.fa-user-circle-o:before {\n  content: \"\\f2be\";\n}\n.fa-user-o:before {\n  content: \"\\f2c0\";\n}\n.fa-id-badge:before {\n  content: \"\\f2c1\";\n}\n.fa-drivers-license:before,\n.fa-id-card:before {\n  content: \"\\f2c2\";\n}\n.fa-drivers-license-o:before,\n.fa-id-card-o:before {\n  content: \"\\f2c3\";\n}\n.fa-quora:before {\n  content: \"\\f2c4\";\n}\n.fa-free-code-camp:before {\n  content: \"\\f2c5\";\n}\n.fa-telegram:before {\n  content: \"\\f2c6\";\n}\n.fa-thermometer-4:before,\n.fa-thermometer:before,\n.fa-thermometer-full:before {\n  content: \"\\f2c7\";\n}\n.fa-thermometer-3:before,\n.fa-thermometer-three-quarters:before {\n  content: \"\\f2c8\";\n}\n.fa-thermometer-2:before,\n.fa-thermometer-half:before {\n  content: \"\\f2c9\";\n}\n.fa-thermometer-1:before,\n.fa-thermometer-quarter:before {\n  content: \"\\f2ca\";\n}\n.fa-thermometer-0:before,\n.fa-thermometer-empty:before {\n  content: \"\\f2cb\";\n}\n.fa-shower:before {\n  content: \"\\f2cc\";\n}\n.fa-bathtub:before,\n.fa-s15:before,\n.fa-bath:before {\n  content: \"\\f2cd\";\n}\n.fa-podcast:before {\n  content: \"\\f2ce\";\n}\n.fa-window-maximize:before {\n  content: \"\\f2d0\";\n}\n.fa-window-minimize:before {\n  content: \"\\f2d1\";\n}\n.fa-window-restore:before {\n  content: \"\\f2d2\";\n}\n.fa-times-rectangle:before,\n.fa-window-close:before {\n  content: \"\\f2d3\";\n}\n.fa-times-rectangle-o:before,\n.fa-window-close-o:before {\n  content: \"\\f2d4\";\n}\n.fa-bandcamp:before {\n  content: \"\\f2d5\";\n}\n.fa-grav:before {\n  content: \"\\f2d6\";\n}\n.fa-etsy:before {\n  content: \"\\f2d7\";\n}\n.fa-imdb:before {\n  content: \"\\f2d8\";\n}\n.fa-ravelry:before {\n  content: \"\\f2d9\";\n}\n.fa-eercast:before {\n  content: \"\\f2da\";\n}\n.fa-microchip:before {\n  content: \"\\f2db\";\n}\n.fa-snowflake-o:before {\n  content: \"\\f2dc\";\n}\n.fa-superpowers:before {\n  content: \"\\f2dd\";\n}\n.fa-wpexplorer:before {\n  content: \"\\f2de\";\n}\n.fa-meetup:before {\n  content: \"\\f2e0\";\n}\n.sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n  position: static;\n  width: auto;\n  height: auto;\n  margin: 0;\n  overflow: visible;\n  clip: auto;\n}\n"
  },
  {
    "path": "public/plugins/iCheck/custom.css",
    "content": "/* iCheck plugin Square skin, green\n----------------------------------- */\n.icheckbox_square-green,\n.iradio_square-green {\n    display: inline-block;\n    *display: inline;\n    vertical-align: middle;\n    margin: 0;\n    padding: 0;\n    width: 22px;\n    height: 22px;\n    background: url(green.png) no-repeat;\n    border: none;\n    cursor: pointer;\n}\n\n.icheckbox_square-green {\n    background-position: 0 0;\n}\n.icheckbox_square-green.hover {\n    background-position: -24px 0;\n}\n.icheckbox_square-green.checked {\n    background-position: -48px 0;\n}\n.icheckbox_square-green.disabled {\n    background-position: -72px 0;\n    cursor: default;\n}\n.icheckbox_square-green.checked.disabled {\n    background-position: -96px 0;\n}\n\n.iradio_square-green {\n    background-position: -120px 0;\n}\n.iradio_square-green.hover {\n    background-position: -144px 0;\n}\n.iradio_square-green.checked {\n    background-position: -168px 0;\n}\n.iradio_square-green.disabled {\n    background-position: -192px 0;\n    cursor: default;\n}\n.iradio_square-green.checked.disabled {\n    background-position: -216px 0;\n}\n\n/* HiDPI support */\n@media (-o-min-device-pixel-ratio: 5/4), (-webkit-min-device-pixel-ratio: 1.25), (min-resolution: 120dpi) {\n    .icheckbox_square-green,\n    .iradio_square-green {\n        background-image: url(green%402x.png);\n        -webkit-background-size: 240px 24px;\n        background-size: 240px 24px;\n    }\n}"
  },
  {
    "path": "public/plugins/jquery-validate/jquery.form.js",
    "content": "/*!\n * jQuery Form Plugin\n * version: 4.2.2\n * Requires jQuery v1.7.2 or later\n * Project repository: https://github.com/jquery-form/form\n\n * Copyright 2017 Kevin Morris\n * Copyright 2006 M. Alsup\n\n * Dual licensed under the LGPL-2.1+ or MIT licenses\n * https://github.com/jquery-form/form#license\n\n * This library is free software; you can redistribute it and/or\n * modify it under the terms of the GNU Lesser General Public\n * License as published by the Free Software Foundation; either\n * version 2.1 of the License, or (at your option) any later version.\n * This library is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\n * Lesser General Public License for more details.\n */\n/* global ActiveXObject */\n\n/* eslint-disable */\n(function (factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine(['jquery'], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\t// Node/CommonJS\n\t\tmodule.exports = function( root, jQuery ) {\n\t\t\tif (typeof jQuery === 'undefined') {\n\t\t\t\t// require('jQuery') returns a factory that requires window to build a jQuery instance, we normalize how we use modules\n\t\t\t\t// that require this pattern but the window provided is a noop if it's defined (how jquery works)\n\t\t\t\tif (typeof window !== 'undefined') {\n\t\t\t\t\tjQuery = require('jquery');\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tjQuery = require('jquery')(root);\n\t\t\t\t}\n\t\t\t}\n\t\t\tfactory(jQuery);\n\t\t\treturn jQuery;\n\t\t};\n\t} else {\n\t\t// Browser globals\n\t\tfactory(jQuery);\n\t}\n\n}(function ($) {\n/* eslint-enable */\n\t'use strict';\n\n\t/*\n\t\tUsage Note:\n\t\t-----------\n\t\tDo not use both ajaxSubmit and ajaxForm on the same form. These\n\t\tfunctions are mutually exclusive. Use ajaxSubmit if you want\n\t\tto bind your own submit handler to the form. For example,\n\n\t\t$(document).ready(function() {\n\t\t\t$('#myForm').on('submit', function(e) {\n\t\t\t\te.preventDefault(); // <-- important\n\t\t\t\t$(this).ajaxSubmit({\n\t\t\t\t\ttarget: '#output'\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\n\t\tUse ajaxForm when you want the plugin to manage all the event binding\n\t\tfor you. For example,\n\n\t\t$(document).ready(function() {\n\t\t\t$('#myForm').ajaxForm({\n\t\t\t\ttarget: '#output'\n\t\t\t});\n\t\t});\n\n\t\tYou can also use ajaxForm with delegation (requires jQuery v1.7+), so the\n\t\tform does not have to exist when you invoke ajaxForm:\n\n\t\t$('#myForm').ajaxForm({\n\t\t\tdelegation: true,\n\t\t\ttarget: '#output'\n\t\t});\n\n\t\tWhen using ajaxForm, the ajaxSubmit function will be invoked for you\n\t\tat the appropriate time.\n\t*/\n\n\tvar rCRLF = /\\r?\\n/g;\n\n\t/**\n\t * Feature detection\n\t */\n\tvar feature = {};\n\n\tfeature.fileapi = $('<input type=\"file\">').get(0).files !== undefined;\n\tfeature.formdata = (typeof window.FormData !== 'undefined');\n\n\tvar hasProp = !!$.fn.prop;\n\n\t// attr2 uses prop when it can but checks the return type for\n\t// an expected string. This accounts for the case where a form\n\t// contains inputs with names like \"action\" or \"method\"; in those\n\t// cases \"prop\" returns the element\n\t$.fn.attr2 = function() {\n\t\tif (!hasProp) {\n\t\t\treturn this.attr.apply(this, arguments);\n\t\t}\n\n\t\tvar val = this.prop.apply(this, arguments);\n\n\t\tif ((val && val.jquery) || typeof val === 'string') {\n\t\t\treturn val;\n\t\t}\n\n\t\treturn this.attr.apply(this, arguments);\n\t};\n\n\t/**\n\t * ajaxSubmit() provides a mechanism for immediately submitting\n\t * an HTML form using AJAX.\n\t *\n\t * @param\t{object|string}\toptions\t\tjquery.form.js parameters or custom url for submission\n\t * @param\t{object}\t\tdata\t\textraData\n\t * @param\t{string}\t\tdataType\tajax dataType\n\t * @param\t{function}\t\tonSuccess\tajax success callback function\n\t */\n\t$.fn.ajaxSubmit = function(options, data, dataType, onSuccess) {\n\t\t// fast fail if nothing selected (http://dev.jquery.com/ticket/2752)\n\t\tif (!this.length) {\n\t\t\tlog('ajaxSubmit: skipping submit process - no element selected');\n\n\t\t\treturn this;\n\t\t}\n\n\t\t/* eslint consistent-this: [\"error\", \"$form\"] */\n\t\tvar method, action, url, $form = this;\n\n\t\tif (typeof options === 'function') {\n\t\t\toptions = {success: options};\n\n\t\t} else if (typeof options === 'string' || (options === false && arguments.length > 0)) {\n\t\t\toptions = {\n\t\t\t\t'url'      : options,\n\t\t\t\t'data'     : data,\n\t\t\t\t'dataType' : dataType\n\t\t\t};\n\n\t\t\tif (typeof onSuccess === 'function') {\n\t\t\t\toptions.success = onSuccess;\n\t\t\t}\n\n\t\t} else if (typeof options === 'undefined') {\n\t\t\toptions = {};\n\t\t}\n\n\t\tmethod = options.method || options.type || this.attr2('method');\n\t\taction = options.url || this.attr2('action');\n\n\t\turl = (typeof action === 'string') ? $.trim(action) : '';\n\t\turl = url || window.location.href || '';\n\t\tif (url) {\n\t\t\t// clean url (don't include hash vaue)\n\t\t\turl = (url.match(/^([^#]+)/) || [])[1];\n\t\t}\n\n\t\toptions = $.extend(true, {\n\t\t\turl       : url,\n\t\t\tsuccess   : $.ajaxSettings.success,\n\t\t\ttype      : method || $.ajaxSettings.type,\n\t\t\tiframeSrc : /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'\t\t// eslint-disable-line no-script-url\n\t\t}, options);\n\n\t\t// hook for manipulating the form data before it is extracted;\n\t\t// convenient for use with rich editors like tinyMCE or FCKEditor\n\t\tvar veto = {};\n\n\t\tthis.trigger('form-pre-serialize', [this, options, veto]);\n\n\t\tif (veto.veto) {\n\t\t\tlog('ajaxSubmit: submit vetoed via form-pre-serialize trigger');\n\n\t\t\treturn this;\n\t\t}\n\n\t\t// provide opportunity to alter form data before it is serialized\n\t\tif (options.beforeSerialize && options.beforeSerialize(this, options) === false) {\n\t\t\tlog('ajaxSubmit: submit aborted via beforeSerialize callback');\n\n\t\t\treturn this;\n\t\t}\n\n\t\tvar traditional = options.traditional;\n\n\t\tif (typeof traditional === 'undefined') {\n\t\t\ttraditional = $.ajaxSettings.traditional;\n\t\t}\n\n\t\tvar elements = [];\n\t\tvar qx, a = this.formToArray(options.semantic, elements, options.filtering);\n\n\t\tif (options.data) {\n\t\t\tvar optionsData = $.isFunction(options.data) ? options.data(a) : options.data;\n\n\t\t\toptions.extraData = optionsData;\n\t\t\tqx = $.param(optionsData, traditional);\n\t\t}\n\n\t\t// give pre-submit callback an opportunity to abort the submit\n\t\tif (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {\n\t\t\tlog('ajaxSubmit: submit aborted via beforeSubmit callback');\n\n\t\t\treturn this;\n\t\t}\n\n\t\t// fire vetoable 'validate' event\n\t\tthis.trigger('form-submit-validate', [a, this, options, veto]);\n\t\tif (veto.veto) {\n\t\t\tlog('ajaxSubmit: submit vetoed via form-submit-validate trigger');\n\n\t\t\treturn this;\n\t\t}\n\n\t\tvar q = $.param(a, traditional);\n\n\t\tif (qx) {\n\t\t\tq = (q ? (q + '&' + qx) : qx);\n\t\t}\n\n\t\tif (options.type.toUpperCase() === 'GET') {\n\t\t\toptions.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;\n\t\t\toptions.data = null;\t// data is null for 'get'\n\t\t} else {\n\t\t\toptions.data = q;\t\t// data is the query string for 'post'\n\t\t}\n\n\t\tvar callbacks = [];\n\n\t\tif (options.resetForm) {\n\t\t\tcallbacks.push(function() {\n\t\t\t\t$form.resetForm();\n\t\t\t});\n\t\t}\n\n\t\tif (options.clearForm) {\n\t\t\tcallbacks.push(function() {\n\t\t\t\t$form.clearForm(options.includeHidden);\n\t\t\t});\n\t\t}\n\n\t\t// perform a load on the target only if dataType is not provided\n\t\tif (!options.dataType && options.target) {\n\t\t\tvar oldSuccess = options.success || function(){};\n\n\t\t\tcallbacks.push(function(data, textStatus, jqXHR) {\n\t\t\t\tvar successArguments = arguments,\n\t\t\t\t\tfn = options.replaceTarget ? 'replaceWith' : 'html';\n\n\t\t\t\t$(options.target)[fn](data).each(function(){\n\t\t\t\t\toldSuccess.apply(this, successArguments);\n\t\t\t\t});\n\t\t\t});\n\n\t\t} else if (options.success) {\n\t\t\tif ($.isArray(options.success)) {\n\t\t\t\t$.merge(callbacks, options.success);\n\t\t\t} else {\n\t\t\t\tcallbacks.push(options.success);\n\t\t\t}\n\t\t}\n\n\t\toptions.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg\n\t\t\tvar context = options.context || this;\t\t// jQuery 1.4+ supports scope context\n\n\t\t\tfor (var i = 0, max = callbacks.length; i < max; i++) {\n\t\t\t\tcallbacks[i].apply(context, [data, status, xhr || $form, $form]);\n\t\t\t}\n\t\t};\n\n\t\tif (options.error) {\n\t\t\tvar oldError = options.error;\n\n\t\t\toptions.error = function(xhr, status, error) {\n\t\t\t\tvar context = options.context || this;\n\n\t\t\t\toldError.apply(context, [xhr, status, error, $form]);\n\t\t\t};\n\t\t}\n\n\t\tif (options.complete) {\n\t\t\tvar oldComplete = options.complete;\n\n\t\t\toptions.complete = function(xhr, status) {\n\t\t\t\tvar context = options.context || this;\n\n\t\t\t\toldComplete.apply(context, [xhr, status, $form]);\n\t\t\t};\n\t\t}\n\n\t\t// are there files to upload?\n\n\t\t// [value] (issue #113), also see comment:\n\t\t// https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219\n\t\tvar fileInputs = $('input[type=file]:enabled', this).filter(function() {\n\t\t\treturn $(this).val() !== '';\n\t\t});\n\t\tvar hasFileInputs = fileInputs.length > 0;\n\t\tvar mp = 'multipart/form-data';\n\t\tvar multipart = ($form.attr('enctype') === mp || $form.attr('encoding') === mp);\n\t\tvar fileAPI = feature.fileapi && feature.formdata;\n\n\t\tlog('fileAPI :' + fileAPI);\n\n\t\tvar shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;\n\t\tvar jqxhr;\n\n\t\t// options.iframe allows user to force iframe mode\n\t\t// 06-NOV-09: now defaulting to iframe mode if file input is detected\n\t\tif (options.iframe !== false && (options.iframe || shouldUseFrame)) {\n\t\t\t// hack to fix Safari hang (thanks to Tim Molendijk for this)\n\t\t\t// see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d\n\t\t\tif (options.closeKeepAlive) {\n\t\t\t\t$.get(options.closeKeepAlive, function() {\n\t\t\t\t\tjqxhr = fileUploadIframe(a);\n\t\t\t\t});\n\n\t\t\t} else {\n\t\t\t\tjqxhr = fileUploadIframe(a);\n\t\t\t}\n\n\t\t} else if ((hasFileInputs || multipart) && fileAPI) {\n\t\t\tjqxhr = fileUploadXhr(a);\n\n\t\t} else {\n\t\t\tjqxhr = $.ajax(options);\n\t\t}\n\n\t\t$form.removeData('jqxhr').data('jqxhr', jqxhr);\n\n\t\t// clear element array\n\t\tfor (var k = 0; k < elements.length; k++) {\n\t\t\telements[k] = null;\n\t\t}\n\n\t\t// fire 'notify' event\n\t\tthis.trigger('form-submit-notify', [this, options]);\n\n\t\treturn this;\n\n\t\t// utility fn for deep serialization\n\t\tfunction deepSerialize(extraData) {\n\t\t\tvar serialized = $.param(extraData, options.traditional).split('&');\n\t\t\tvar len = serialized.length;\n\t\t\tvar result = [];\n\t\t\tvar i, part;\n\n\t\t\tfor (i = 0; i < len; i++) {\n\t\t\t\t// #252; undo param space replacement\n\t\t\t\tserialized[i] = serialized[i].replace(/\\+/g, ' ');\n\t\t\t\tpart = serialized[i].split('=');\n\t\t\t\t// #278; use array instead of object storage, favoring array serializations\n\t\t\t\tresult.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]);\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\t// XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz)\n\t\tfunction fileUploadXhr(a) {\n\t\t\tvar formdata = new FormData();\n\n\t\t\tfor (var i = 0; i < a.length; i++) {\n\t\t\t\tformdata.append(a[i].name, a[i].value);\n\t\t\t}\n\n\t\t\tif (options.extraData) {\n\t\t\t\tvar serializedData = deepSerialize(options.extraData);\n\n\t\t\t\tfor (i = 0; i < serializedData.length; i++) {\n\t\t\t\t\tif (serializedData[i]) {\n\t\t\t\t\t\tformdata.append(serializedData[i][0], serializedData[i][1]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\toptions.data = null;\n\n\t\t\tvar s = $.extend(true, {}, $.ajaxSettings, options, {\n\t\t\t\tcontentType : false,\n\t\t\t\tprocessData : false,\n\t\t\t\tcache       : false,\n\t\t\t\ttype        : method || 'POST'\n\t\t\t});\n\n\t\t\tif (options.uploadProgress) {\n\t\t\t\t// workaround because jqXHR does not expose upload property\n\t\t\t\ts.xhr = function() {\n\t\t\t\t\tvar xhr = $.ajaxSettings.xhr();\n\n\t\t\t\t\tif (xhr.upload) {\n\t\t\t\t\t\txhr.upload.addEventListener('progress', function(event) {\n\t\t\t\t\t\t\tvar percent = 0;\n\t\t\t\t\t\t\tvar position = event.loaded || event.position;\t\t\t/* event.position is deprecated */\n\t\t\t\t\t\t\tvar total = event.total;\n\n\t\t\t\t\t\t\tif (event.lengthComputable) {\n\t\t\t\t\t\t\t\tpercent = Math.ceil(position / total * 100);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\toptions.uploadProgress(event, position, total, percent);\n\t\t\t\t\t\t}, false);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn xhr;\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ts.data = null;\n\n\t\t\tvar beforeSend = s.beforeSend;\n\n\t\t\ts.beforeSend = function(xhr, o) {\n\t\t\t\t// Send FormData() provided by user\n\t\t\t\tif (options.formData) {\n\t\t\t\t\to.data = options.formData;\n\t\t\t\t} else {\n\t\t\t\t\to.data = formdata;\n\t\t\t\t}\n\n\t\t\t\tif (beforeSend) {\n\t\t\t\t\tbeforeSend.call(this, xhr, o);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\treturn $.ajax(s);\n\t\t}\n\n\t\t// private function for handling file uploads (hat tip to YAHOO!)\n\t\tfunction fileUploadIframe(a) {\n\t\t\tvar form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;\n\t\t\tvar deferred = $.Deferred();\n\n\t\t\t// #341\n\t\t\tdeferred.abort = function(status) {\n\t\t\t\txhr.abort(status);\n\t\t\t};\n\n\t\t\tif (a) {\n\t\t\t\t// ensure that every serialized input is still enabled\n\t\t\t\tfor (i = 0; i < elements.length; i++) {\n\t\t\t\t\tel = $(elements[i]);\n\t\t\t\t\tif (hasProp) {\n\t\t\t\t\t\tel.prop('disabled', false);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.removeAttr('disabled');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\ts = $.extend(true, {}, $.ajaxSettings, options);\n\t\t\ts.context = s.context || s;\n\t\t\tid = 'jqFormIO' + new Date().getTime();\n\t\t\tvar ownerDocument = form.ownerDocument;\n\t\t\tvar $body = $form.closest('body');\n\n\t\t\tif (s.iframeTarget) {\n\t\t\t\t$io = $(s.iframeTarget, ownerDocument);\n\t\t\t\tn = $io.attr2('name');\n\t\t\t\tif (!n) {\n\t\t\t\t\t$io.attr2('name', id);\n\t\t\t\t} else {\n\t\t\t\t\tid = n;\n\t\t\t\t}\n\n\t\t\t} else {\n\t\t\t\t$io = $('<iframe name=\"' + id + '\" src=\"' + s.iframeSrc + '\" />', ownerDocument);\n\t\t\t\t$io.css({position: 'absolute', top: '-1000px', left: '-1000px'});\n\t\t\t}\n\t\t\tio = $io[0];\n\n\n\t\t\txhr = { // mock object\n\t\t\t\taborted               : 0,\n\t\t\t\tresponseText          : null,\n\t\t\t\tresponseXML           : null,\n\t\t\t\tstatus                : 0,\n\t\t\t\tstatusText            : 'n/a',\n\t\t\t\tgetAllResponseHeaders : function() {},\n\t\t\t\tgetResponseHeader     : function() {},\n\t\t\t\tsetRequestHeader      : function() {},\n\t\t\t\tabort                 : function(status) {\n\t\t\t\t\tvar e = (status === 'timeout' ? 'timeout' : 'aborted');\n\n\t\t\t\t\tlog('aborting upload... ' + e);\n\t\t\t\t\tthis.aborted = 1;\n\n\t\t\t\t\ttry { // #214, #257\n\t\t\t\t\t\tif (io.contentWindow.document.execCommand) {\n\t\t\t\t\t\t\tio.contentWindow.document.execCommand('Stop');\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (ignore) {}\n\n\t\t\t\t\t$io.attr('src', s.iframeSrc); // abort op in progress\n\t\t\t\t\txhr.error = e;\n\t\t\t\t\tif (s.error) {\n\t\t\t\t\t\ts.error.call(s.context, xhr, e, status);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (g) {\n\t\t\t\t\t\t$.event.trigger('ajaxError', [xhr, s, e]);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (s.complete) {\n\t\t\t\t\t\ts.complete.call(s.context, xhr, e);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tg = s.global;\n\t\t\t// trigger ajax global events so that activity/block indicators work like normal\n\t\t\tif (g && $.active++ === 0) {\n\t\t\t\t$.event.trigger('ajaxStart');\n\t\t\t}\n\t\t\tif (g) {\n\t\t\t\t$.event.trigger('ajaxSend', [xhr, s]);\n\t\t\t}\n\n\t\t\tif (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {\n\t\t\t\tif (s.global) {\n\t\t\t\t\t$.active--;\n\t\t\t\t}\n\t\t\t\tdeferred.reject();\n\n\t\t\t\treturn deferred;\n\t\t\t}\n\n\t\t\tif (xhr.aborted) {\n\t\t\t\tdeferred.reject();\n\n\t\t\t\treturn deferred;\n\t\t\t}\n\n\t\t\t// add submitting element to data if we know it\n\t\t\tsub = form.clk;\n\t\t\tif (sub) {\n\t\t\t\tn = sub.name;\n\t\t\t\tif (n && !sub.disabled) {\n\t\t\t\t\ts.extraData = s.extraData || {};\n\t\t\t\t\ts.extraData[n] = sub.value;\n\t\t\t\t\tif (sub.type === 'image') {\n\t\t\t\t\t\ts.extraData[n + '.x'] = form.clk_x;\n\t\t\t\t\t\ts.extraData[n + '.y'] = form.clk_y;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar CLIENT_TIMEOUT_ABORT = 1;\n\t\t\tvar SERVER_ABORT = 2;\n\n\t\t\tfunction getDoc(frame) {\n\t\t\t\t/* it looks like contentWindow or contentDocument do not\n\t\t\t\t * carry the protocol property in ie8, when running under ssl\n\t\t\t\t * frame.document is the only valid response document, since\n\t\t\t\t * the protocol is know but not on the other two objects. strange?\n\t\t\t\t * \"Same origin policy\" http://en.wikipedia.org/wiki/Same_origin_policy\n\t\t\t\t */\n\n\t\t\t\tvar doc = null;\n\n\t\t\t\t// IE8 cascading access check\n\t\t\t\ttry {\n\t\t\t\t\tif (frame.contentWindow) {\n\t\t\t\t\t\tdoc = frame.contentWindow.document;\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// IE8 access denied under ssl & missing protocol\n\t\t\t\t\tlog('cannot get iframe.contentWindow document: ' + err);\n\t\t\t\t}\n\n\t\t\t\tif (doc) { // successful getting content\n\t\t\t\t\treturn doc;\n\t\t\t\t}\n\n\t\t\t\ttry { // simply checking may throw in ie8 under ssl or mismatched protocol\n\t\t\t\t\tdoc = frame.contentDocument ? frame.contentDocument : frame.document;\n\t\t\t\t} catch (err) {\n\t\t\t\t\t// last attempt\n\t\t\t\t\tlog('cannot get iframe.contentDocument: ' + err);\n\t\t\t\t\tdoc = frame.document;\n\t\t\t\t}\n\n\t\t\t\treturn doc;\n\t\t\t}\n\n\t\t\t// Rails CSRF hack (thanks to Yvan Barthelemy)\n\t\t\tvar csrf_token = $('meta[name=csrf-token]').attr('content');\n\t\t\tvar csrf_param = $('meta[name=csrf-param]').attr('content');\n\n\t\t\tif (csrf_param && csrf_token) {\n\t\t\t\ts.extraData = s.extraData || {};\n\t\t\t\ts.extraData[csrf_param] = csrf_token;\n\t\t\t}\n\n\t\t\t// take a breath so that pending repaints get some cpu time before the upload starts\n\t\t\tfunction doSubmit() {\n\t\t\t\t// make sure form attrs are set\n\t\t\t\tvar t = $form.attr2('target'),\n\t\t\t\t\ta = $form.attr2('action'),\n\t\t\t\t\tmp = 'multipart/form-data',\n\t\t\t\t\tet = $form.attr('enctype') || $form.attr('encoding') || mp;\n\n\t\t\t\t// update form attrs in IE friendly way\n\t\t\t\tform.setAttribute('target', id);\n\t\t\t\tif (!method || /post/i.test(method)) {\n\t\t\t\t\tform.setAttribute('method', 'POST');\n\t\t\t\t}\n\t\t\t\tif (a !== s.url) {\n\t\t\t\t\tform.setAttribute('action', s.url);\n\t\t\t\t}\n\n\t\t\t\t// ie borks in some cases when setting encoding\n\t\t\t\tif (!s.skipEncodingOverride && (!method || /post/i.test(method))) {\n\t\t\t\t\t$form.attr({\n\t\t\t\t\t\tencoding : 'multipart/form-data',\n\t\t\t\t\t\tenctype  : 'multipart/form-data'\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\t// support timout\n\t\t\t\tif (s.timeout) {\n\t\t\t\t\ttimeoutHandle = setTimeout(function() {\n\t\t\t\t\t\ttimedOut = true; cb(CLIENT_TIMEOUT_ABORT);\n\t\t\t\t\t}, s.timeout);\n\t\t\t\t}\n\n\t\t\t\t// look for server aborts\n\t\t\t\tfunction checkState() {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tvar state = getDoc(io).readyState;\n\n\t\t\t\t\t\tlog('state = ' + state);\n\t\t\t\t\t\tif (state && state.toLowerCase() === 'uninitialized') {\n\t\t\t\t\t\t\tsetTimeout(checkState, 50);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tlog('Server abort: ', e, ' (', e.name, ')');\n\t\t\t\t\t\tcb(SERVER_ABORT);\t\t\t\t// eslint-disable-line callback-return\n\t\t\t\t\t\tif (timeoutHandle) {\n\t\t\t\t\t\t\tclearTimeout(timeoutHandle);\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttimeoutHandle = undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// add \"extra\" data to form if provided in options\n\t\t\t\tvar extraInputs = [];\n\n\t\t\t\ttry {\n\t\t\t\t\tif (s.extraData) {\n\t\t\t\t\t\tfor (var n in s.extraData) {\n\t\t\t\t\t\t\tif (s.extraData.hasOwnProperty(n)) {\n\t\t\t\t\t\t\t\t// if using the $.param format that allows for multiple values with the same name\n\t\t\t\t\t\t\t\tif ($.isPlainObject(s.extraData[n]) && s.extraData[n].hasOwnProperty('name') && s.extraData[n].hasOwnProperty('value')) {\n\t\t\t\t\t\t\t\t\textraInputs.push(\n\t\t\t\t\t\t\t\t\t$('<input type=\"hidden\" name=\"' + s.extraData[n].name + '\">', ownerDocument).val(s.extraData[n].value)\n\t\t\t\t\t\t\t\t\t\t.appendTo(form)[0]);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\textraInputs.push(\n\t\t\t\t\t\t\t\t\t$('<input type=\"hidden\" name=\"' + n + '\">', ownerDocument).val(s.extraData[n])\n\t\t\t\t\t\t\t\t\t\t.appendTo(form)[0]);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!s.iframeTarget) {\n\t\t\t\t\t\t// add iframe to doc and submit the form\n\t\t\t\t\t\t$io.appendTo($body);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (io.attachEvent) {\n\t\t\t\t\t\tio.attachEvent('onload', cb);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tio.addEventListener('load', cb, false);\n\t\t\t\t\t}\n\n\t\t\t\t\tsetTimeout(checkState, 15);\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tform.submit();\n\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t// just in case form has element with name/id of 'submit'\n\t\t\t\t\t\tvar submitFn = document.createElement('form').submit;\n\n\t\t\t\t\t\tsubmitFn.apply(form);\n\t\t\t\t\t}\n\n\t\t\t\t} finally {\n\t\t\t\t\t// reset attrs and remove \"extra\" input elements\n\t\t\t\t\tform.setAttribute('action', a);\n\t\t\t\t\tform.setAttribute('enctype', et); // #380\n\t\t\t\t\tif (t) {\n\t\t\t\t\t\tform.setAttribute('target', t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$form.removeAttr('target');\n\t\t\t\t\t}\n\t\t\t\t\t$(extraInputs).remove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (s.forceSync) {\n\t\t\t\tdoSubmit();\n\t\t\t} else {\n\t\t\t\tsetTimeout(doSubmit, 10); // this lets dom updates render\n\t\t\t}\n\n\t\t\tvar data, doc, domCheckCount = 50, callbackProcessed;\n\n\t\t\tfunction cb(e) {\n\t\t\t\tif (xhr.aborted || callbackProcessed) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdoc = getDoc(io);\n\t\t\t\tif (!doc) {\n\t\t\t\t\tlog('cannot access response document');\n\t\t\t\t\te = SERVER_ABORT;\n\t\t\t\t}\n\t\t\t\tif (e === CLIENT_TIMEOUT_ABORT && xhr) {\n\t\t\t\t\txhr.abort('timeout');\n\t\t\t\t\tdeferred.reject(xhr, 'timeout');\n\n\t\t\t\t\treturn;\n\n\t\t\t\t} else if (e === SERVER_ABORT && xhr) {\n\t\t\t\t\txhr.abort('server abort');\n\t\t\t\t\tdeferred.reject(xhr, 'error', 'server abort');\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!doc || doc.location.href === s.iframeSrc) {\n\t\t\t\t\t// response not received yet\n\t\t\t\t\tif (!timedOut) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (io.detachEvent) {\n\t\t\t\t\tio.detachEvent('onload', cb);\n\t\t\t\t} else {\n\t\t\t\t\tio.removeEventListener('load', cb, false);\n\t\t\t\t}\n\n\t\t\t\tvar status = 'success', errMsg;\n\n\t\t\t\ttry {\n\t\t\t\t\tif (timedOut) {\n\t\t\t\t\t\tthrow 'timeout';\n\t\t\t\t\t}\n\n\t\t\t\t\tvar isXml = s.dataType === 'xml' || doc.XMLDocument || $.isXMLDoc(doc);\n\n\t\t\t\t\tlog('isXml=' + isXml);\n\n\t\t\t\t\tif (!isXml && window.opera && (doc.body === null || !doc.body.innerHTML)) {\n\t\t\t\t\t\tif (--domCheckCount) {\n\t\t\t\t\t\t\t// in some browsers (Opera) the iframe DOM is not always traversable when\n\t\t\t\t\t\t\t// the onload callback fires, so we loop a bit to accommodate\n\t\t\t\t\t\t\tlog('requeing onLoad callback, DOM not available');\n\t\t\t\t\t\t\tsetTimeout(cb, 250);\n\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// let this fall through because server response could be an empty document\n\t\t\t\t\t\t// log('Could not access iframe DOM after mutiple tries.');\n\t\t\t\t\t\t// throw 'DOMException: not available';\n\t\t\t\t\t}\n\n\t\t\t\t\t// log('response detected');\n\t\t\t\t\tvar docRoot = doc.body ? doc.body : doc.documentElement;\n\n\t\t\t\t\txhr.responseText = docRoot ? docRoot.innerHTML : null;\n\t\t\t\t\txhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;\n\t\t\t\t\tif (isXml) {\n\t\t\t\t\t\ts.dataType = 'xml';\n\t\t\t\t\t}\n\t\t\t\t\txhr.getResponseHeader = function(header){\n\t\t\t\t\t\tvar headers = {'content-type': s.dataType};\n\n\t\t\t\t\t\treturn headers[header.toLowerCase()];\n\t\t\t\t\t};\n\t\t\t\t\t// support for XHR 'status' & 'statusText' emulation :\n\t\t\t\t\tif (docRoot) {\n\t\t\t\t\t\txhr.status = Number(docRoot.getAttribute('status')) || xhr.status;\n\t\t\t\t\t\txhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;\n\t\t\t\t\t}\n\n\t\t\t\t\tvar dt = (s.dataType || '').toLowerCase();\n\t\t\t\t\tvar scr = /(json|script|text)/.test(dt);\n\n\t\t\t\t\tif (scr || s.textarea) {\n\t\t\t\t\t\t// see if user embedded response in textarea\n\t\t\t\t\t\tvar ta = doc.getElementsByTagName('textarea')[0];\n\n\t\t\t\t\t\tif (ta) {\n\t\t\t\t\t\t\txhr.responseText = ta.value;\n\t\t\t\t\t\t\t// support for XHR 'status' & 'statusText' emulation :\n\t\t\t\t\t\t\txhr.status = Number(ta.getAttribute('status')) || xhr.status;\n\t\t\t\t\t\t\txhr.statusText = ta.getAttribute('statusText') || xhr.statusText;\n\n\t\t\t\t\t\t} else if (scr) {\n\t\t\t\t\t\t\t// account for browsers injecting pre around json response\n\t\t\t\t\t\t\tvar pre = doc.getElementsByTagName('pre')[0];\n\t\t\t\t\t\t\tvar b = doc.getElementsByTagName('body')[0];\n\n\t\t\t\t\t\t\tif (pre) {\n\t\t\t\t\t\t\t\txhr.responseText = pre.textContent ? pre.textContent : pre.innerText;\n\t\t\t\t\t\t\t} else if (b) {\n\t\t\t\t\t\t\t\txhr.responseText = b.textContent ? b.textContent : b.innerText;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else if (dt === 'xml' && !xhr.responseXML && xhr.responseText) {\n\t\t\t\t\t\txhr.responseXML = toXml(xhr.responseText);\t\t\t// eslint-disable-line no-use-before-define\n\t\t\t\t\t}\n\n\t\t\t\t\ttry {\n\t\t\t\t\t\tdata = httpData(xhr, dt, s);\t\t\t\t\t\t// eslint-disable-line no-use-before-define\n\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tstatus = 'parsererror';\n\t\t\t\t\t\txhr.error = errMsg = (err || status);\n\t\t\t\t\t}\n\n\t\t\t\t} catch (err) {\n\t\t\t\t\tlog('error caught: ', err);\n\t\t\t\t\tstatus = 'error';\n\t\t\t\t\txhr.error = errMsg = (err || status);\n\t\t\t\t}\n\n\t\t\t\tif (xhr.aborted) {\n\t\t\t\t\tlog('upload aborted');\n\t\t\t\t\tstatus = null;\n\t\t\t\t}\n\n\t\t\t\tif (xhr.status) { // we've set xhr.status\n\t\t\t\t\tstatus = ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) ? 'success' : 'error';\n\t\t\t\t}\n\n\t\t\t\t// ordering of these callbacks/triggers is odd, but that's how $.ajax does it\n\t\t\t\tif (status === 'success') {\n\t\t\t\t\tif (s.success) {\n\t\t\t\t\t\ts.success.call(s.context, data, 'success', xhr);\n\t\t\t\t\t}\n\n\t\t\t\t\tdeferred.resolve(xhr.responseText, 'success', xhr);\n\n\t\t\t\t\tif (g) {\n\t\t\t\t\t\t$.event.trigger('ajaxSuccess', [xhr, s]);\n\t\t\t\t\t}\n\n\t\t\t\t} else if (status) {\n\t\t\t\t\tif (typeof errMsg === 'undefined') {\n\t\t\t\t\t\terrMsg = xhr.statusText;\n\t\t\t\t\t}\n\t\t\t\t\tif (s.error) {\n\t\t\t\t\t\ts.error.call(s.context, xhr, status, errMsg);\n\t\t\t\t\t}\n\t\t\t\t\tdeferred.reject(xhr, 'error', errMsg);\n\t\t\t\t\tif (g) {\n\t\t\t\t\t\t$.event.trigger('ajaxError', [xhr, s, errMsg]);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (g) {\n\t\t\t\t\t$.event.trigger('ajaxComplete', [xhr, s]);\n\t\t\t\t}\n\n\t\t\t\tif (g && !--$.active) {\n\t\t\t\t\t$.event.trigger('ajaxStop');\n\t\t\t\t}\n\n\t\t\t\tif (s.complete) {\n\t\t\t\t\ts.complete.call(s.context, xhr, status);\n\t\t\t\t}\n\n\t\t\t\tcallbackProcessed = true;\n\t\t\t\tif (s.timeout) {\n\t\t\t\t\tclearTimeout(timeoutHandle);\n\t\t\t\t}\n\n\t\t\t\t// clean up\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tif (!s.iframeTarget) {\n\t\t\t\t\t\t$io.remove();\n\t\t\t\t\t} else { // adding else to clean up existing iframe response.\n\t\t\t\t\t\t$io.attr('src', s.iframeSrc);\n\t\t\t\t\t}\n\t\t\t\t\txhr.responseXML = null;\n\t\t\t\t}, 100);\n\t\t\t}\n\n\t\t\tvar toXml = $.parseXML || function(s, doc) { // use parseXML if available (jQuery 1.5+)\n\t\t\t\tif (window.ActiveXObject) {\n\t\t\t\t\tdoc = new ActiveXObject('Microsoft.XMLDOM');\n\t\t\t\t\tdoc.async = 'false';\n\t\t\t\t\tdoc.loadXML(s);\n\n\t\t\t\t} else {\n\t\t\t\t\tdoc = (new DOMParser()).parseFromString(s, 'text/xml');\n\t\t\t\t}\n\n\t\t\t\treturn (doc && doc.documentElement && doc.documentElement.nodeName !== 'parsererror') ? doc : null;\n\t\t\t};\n\t\t\tvar parseJSON = $.parseJSON || function(s) {\n\t\t\t\t/* jslint evil:true */\n\t\t\t\treturn window['eval']('(' + s + ')');\t\t\t// eslint-disable-line dot-notation\n\t\t\t};\n\n\t\t\tvar httpData = function(xhr, type, s) { // mostly lifted from jq1.4.4\n\n\t\t\t\tvar ct = xhr.getResponseHeader('content-type') || '',\n\t\t\t\t\txml = ((type === 'xml' || !type) && ct.indexOf('xml') >= 0),\n\t\t\t\t\tdata = xml ? xhr.responseXML : xhr.responseText;\n\n\t\t\t\tif (xml && data.documentElement.nodeName === 'parsererror') {\n\t\t\t\t\tif ($.error) {\n\t\t\t\t\t\t$.error('parsererror');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (s && s.dataFilter) {\n\t\t\t\t\tdata = s.dataFilter(data, type);\n\t\t\t\t}\n\t\t\t\tif (typeof data === 'string') {\n\t\t\t\t\tif ((type === 'json' || !type) && ct.indexOf('json') >= 0) {\n\t\t\t\t\t\tdata = parseJSON(data);\n\t\t\t\t\t} else if ((type === 'script' || !type) && ct.indexOf('javascript') >= 0) {\n\t\t\t\t\t\t$.globalEval(data);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn data;\n\t\t\t};\n\n\t\t\treturn deferred;\n\t\t}\n\t};\n\n\t/**\n\t * ajaxForm() provides a mechanism for fully automating form submission.\n\t *\n\t * The advantages of using this method instead of ajaxSubmit() are:\n\t *\n\t * 1: This method will include coordinates for <input type=\"image\"> elements (if the element\n\t *\tis used to submit the form).\n\t * 2. This method will include the submit element's name/value data (for the element that was\n\t *\tused to submit the form).\n\t * 3. This method binds the submit() method to the form for you.\n\t *\n\t * The options argument for ajaxForm works exactly as it does for ajaxSubmit. ajaxForm merely\n\t * passes the options argument along after properly binding events for submit elements and\n\t * the form itself.\n\t */\n\t$.fn.ajaxForm = function(options, data, dataType, onSuccess) {\n\t\tif (typeof options === 'string' || (options === false && arguments.length > 0)) {\n\t\t\toptions = {\n\t\t\t\t'url'      : options,\n\t\t\t\t'data'     : data,\n\t\t\t\t'dataType' : dataType\n\t\t\t};\n\n\t\t\tif (typeof onSuccess === 'function') {\n\t\t\t\toptions.success = onSuccess;\n\t\t\t}\n\t\t}\n\n\t\toptions = options || {};\n\t\toptions.delegation = options.delegation && $.isFunction($.fn.on);\n\n\t\t// in jQuery 1.3+ we can fix mistakes with the ready state\n\t\tif (!options.delegation && this.length === 0) {\n\t\t\tvar o = {s: this.selector, c: this.context};\n\n\t\t\tif (!$.isReady && o.s) {\n\t\t\t\tlog('DOM not ready, queuing ajaxForm');\n\t\t\t\t$(function() {\n\t\t\t\t\t$(o.s, o.c).ajaxForm(options);\n\t\t\t\t});\n\n\t\t\t\treturn this;\n\t\t\t}\n\n\t\t\t// is your DOM ready?  http://docs.jquery.com/Tutorials:Introducing_$(document).ready()\n\t\t\tlog('terminating; zero elements found by selector' + ($.isReady ? '' : ' (DOM not ready)'));\n\n\t\t\treturn this;\n\t\t}\n\n\t\tif (options.delegation) {\n\t\t\t$(document)\n\t\t\t\t.off('submit.form-plugin', this.selector, doAjaxSubmit)\n\t\t\t\t.off('click.form-plugin', this.selector, captureSubmittingElement)\n\t\t\t\t.on('submit.form-plugin', this.selector, options, doAjaxSubmit)\n\t\t\t\t.on('click.form-plugin', this.selector, options, captureSubmittingElement);\n\n\t\t\treturn this;\n\t\t}\n\n\t\treturn this.ajaxFormUnbind()\n\t\t\t.on('submit.form-plugin', options, doAjaxSubmit)\n\t\t\t.on('click.form-plugin', options, captureSubmittingElement);\n\t};\n\n\t// private event handlers\n\tfunction doAjaxSubmit(e) {\n\t\t/* jshint validthis:true */\n\t\tvar options = e.data;\n\n\t\tif (!e.isDefaultPrevented()) { // if event has been canceled, don't proceed\n\t\t\te.preventDefault();\n\t\t\t$(e.target).closest('form').ajaxSubmit(options); // #365\n\t\t}\n\t}\n\n\tfunction captureSubmittingElement(e) {\n\t\t/* jshint validthis:true */\n\t\tvar target = e.target;\n\t\tvar $el = $(target);\n\n\t\tif (!$el.is('[type=submit],[type=image]')) {\n\t\t\t// is this a child element of the submit el?  (ex: a span within a button)\n\t\t\tvar t = $el.closest('[type=submit]');\n\n\t\t\tif (t.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttarget = t[0];\n\t\t}\n\n\t\tvar form = target.form;\n\n\t\tform.clk = target;\n\n\t\tif (target.type === 'image') {\n\t\t\tif (typeof e.offsetX !== 'undefined') {\n\t\t\t\tform.clk_x = e.offsetX;\n\t\t\t\tform.clk_y = e.offsetY;\n\n\t\t\t} else if (typeof $.fn.offset === 'function') {\n\t\t\t\tvar offset = $el.offset();\n\n\t\t\t\tform.clk_x = e.pageX - offset.left;\n\t\t\t\tform.clk_y = e.pageY - offset.top;\n\n\t\t\t} else {\n\t\t\t\tform.clk_x = e.pageX - target.offsetLeft;\n\t\t\t\tform.clk_y = e.pageY - target.offsetTop;\n\t\t\t}\n\t\t}\n\t\t// clear form vars\n\t\tsetTimeout(function() {\n\t\t\tform.clk = form.clk_x = form.clk_y = null;\n\t\t}, 100);\n\t}\n\n\n\t// ajaxFormUnbind unbinds the event handlers that were bound by ajaxForm\n\t$.fn.ajaxFormUnbind = function() {\n\t\treturn this.off('submit.form-plugin click.form-plugin');\n\t};\n\n\t/**\n\t * formToArray() gathers form element data into an array of objects that can\n\t * be passed to any of the following ajax functions: $.get, $.post, or load.\n\t * Each object in the array has both a 'name' and 'value' property. An example of\n\t * an array for a simple login form might be:\n\t *\n\t * [ { name: 'username', value: 'jresig' }, { name: 'password', value: 'secret' } ]\n\t *\n\t * It is this array that is passed to pre-submit callback functions provided to the\n\t * ajaxSubmit() and ajaxForm() methods.\n\t */\n\t$.fn.formToArray = function(semantic, elements, filtering) {\n\t\tvar a = [];\n\n\t\tif (this.length === 0) {\n\t\t\treturn a;\n\t\t}\n\n\t\tvar form = this[0];\n\t\tvar formId = this.attr('id');\n\t\tvar els = (semantic || typeof form.elements === 'undefined') ? form.getElementsByTagName('*') : form.elements;\n\t\tvar els2;\n\n\t\tif (els) {\n\t\t\tels = $.makeArray(els); // convert to standard array\n\t\t}\n\n\t\t// #386; account for inputs outside the form which use the 'form' attribute\n\t\t// FinesseRus: in non-IE browsers outside fields are already included in form.elements.\n\t\tif (formId && (semantic || /(Edge|Trident)\\//.test(navigator.userAgent))) {\n\t\t\tels2 = $(':input[form=\"' + formId + '\"]').get(); // hat tip @thet\n\t\t\tif (els2.length) {\n\t\t\t\tels = (els || []).concat(els2);\n\t\t\t}\n\t\t}\n\n\t\tif (!els || !els.length) {\n\t\t\treturn a;\n\t\t}\n\n\t\tif ($.isFunction(filtering)) {\n\t\t\tels = $.map(els, filtering);\n\t\t}\n\n\t\tvar i, j, n, v, el, max, jmax;\n\n\t\tfor (i = 0, max = els.length; i < max; i++) {\n\t\t\tel = els[i];\n\t\t\tn = el.name;\n\t\t\tif (!n || el.disabled) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (semantic && form.clk && el.type === 'image') {\n\t\t\t\t// handle image inputs on the fly when semantic == true\n\t\t\t\tif (form.clk === el) {\n\t\t\t\t\ta.push({name: n, value: $(el).val(), type: el.type});\n\t\t\t\t\ta.push({name: n + '.x', value: form.clk_x}, {name: n + '.y', value: form.clk_y});\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tv = $.fieldValue(el, true);\n\t\t\tif (v && v.constructor === Array) {\n\t\t\t\tif (elements) {\n\t\t\t\t\telements.push(el);\n\t\t\t\t}\n\t\t\t\tfor (j = 0, jmax = v.length; j < jmax; j++) {\n\t\t\t\t\ta.push({name: n, value: v[j]});\n\t\t\t\t}\n\n\t\t\t} else if (feature.fileapi && el.type === 'file') {\n\t\t\t\tif (elements) {\n\t\t\t\t\telements.push(el);\n\t\t\t\t}\n\n\t\t\t\tvar files = el.files;\n\n\t\t\t\tif (files.length) {\n\t\t\t\t\tfor (j = 0; j < files.length; j++) {\n\t\t\t\t\t\ta.push({name: n, value: files[j], type: el.type});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\t// #180\n\t\t\t\t\ta.push({name: n, value: '', type: el.type});\n\t\t\t\t}\n\n\t\t\t} else if (v !== null && typeof v !== 'undefined') {\n\t\t\t\tif (elements) {\n\t\t\t\t\telements.push(el);\n\t\t\t\t}\n\t\t\t\ta.push({name: n, value: v, type: el.type, required: el.required});\n\t\t\t}\n\t\t}\n\n\t\tif (!semantic && form.clk) {\n\t\t\t// input type=='image' are not found in elements array! handle it here\n\t\t\tvar $input = $(form.clk), input = $input[0];\n\n\t\t\tn = input.name;\n\n\t\t\tif (n && !input.disabled && input.type === 'image') {\n\t\t\t\ta.push({name: n, value: $input.val()});\n\t\t\t\ta.push({name: n + '.x', value: form.clk_x}, {name: n + '.y', value: form.clk_y});\n\t\t\t}\n\t\t}\n\n\t\treturn a;\n\t};\n\n\t/**\n\t * Serializes form data into a 'submittable' string. This method will return a string\n\t * in the format: name1=value1&amp;name2=value2\n\t */\n\t$.fn.formSerialize = function(semantic) {\n\t\t// hand off to jQuery.param for proper encoding\n\t\treturn $.param(this.formToArray(semantic));\n\t};\n\n\t/**\n\t * Serializes all field elements in the jQuery object into a query string.\n\t * This method will return a string in the format: name1=value1&amp;name2=value2\n\t */\n\t$.fn.fieldSerialize = function(successful) {\n\t\tvar a = [];\n\n\t\tthis.each(function() {\n\t\t\tvar n = this.name;\n\n\t\t\tif (!n) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar v = $.fieldValue(this, successful);\n\n\t\t\tif (v && v.constructor === Array) {\n\t\t\t\tfor (var i = 0, max = v.length; i < max; i++) {\n\t\t\t\t\ta.push({name: n, value: v[i]});\n\t\t\t\t}\n\n\t\t\t} else if (v !== null && typeof v !== 'undefined') {\n\t\t\t\ta.push({name: this.name, value: v});\n\t\t\t}\n\t\t});\n\n\t\t// hand off to jQuery.param for proper encoding\n\t\treturn $.param(a);\n\t};\n\n\t/**\n\t * Returns the value(s) of the element in the matched set. For example, consider the following form:\n\t *\n\t *\t<form><fieldset>\n\t *\t\t<input name=\"A\" type=\"text\">\n\t *\t\t<input name=\"A\" type=\"text\">\n\t *\t\t<input name=\"B\" type=\"checkbox\" value=\"B1\">\n\t *\t\t<input name=\"B\" type=\"checkbox\" value=\"B2\">\n\t *\t\t<input name=\"C\" type=\"radio\" value=\"C1\">\n\t *\t\t<input name=\"C\" type=\"radio\" value=\"C2\">\n\t *\t</fieldset></form>\n\t *\n\t *\tvar v = $('input[type=text]').fieldValue();\n\t *\t// if no values are entered into the text inputs\n\t *\tv === ['','']\n\t *\t// if values entered into the text inputs are 'foo' and 'bar'\n\t *\tv === ['foo','bar']\n\t *\n\t *\tvar v = $('input[type=checkbox]').fieldValue();\n\t *\t// if neither checkbox is checked\n\t *\tv === undefined\n\t *\t// if both checkboxes are checked\n\t *\tv === ['B1', 'B2']\n\t *\n\t *\tvar v = $('input[type=radio]').fieldValue();\n\t *\t// if neither radio is checked\n\t *\tv === undefined\n\t *\t// if first radio is checked\n\t *\tv === ['C1']\n\t *\n\t * The successful argument controls whether or not the field element must be 'successful'\n\t * (per http://www.w3.org/TR/html4/interact/forms.html#successful-controls).\n\t * The default value of the successful argument is true. If this value is false the value(s)\n\t * for each element is returned.\n\t *\n\t * Note: This method *always* returns an array. If no valid value can be determined the\n\t *\tarray will be empty, otherwise it will contain one or more values.\n\t */\n\t$.fn.fieldValue = function(successful) {\n\t\tfor (var val = [], i = 0, max = this.length; i < max; i++) {\n\t\t\tvar el = this[i];\n\t\t\tvar v = $.fieldValue(el, successful);\n\n\t\t\tif (v === null || typeof v === 'undefined' || (v.constructor === Array && !v.length)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (v.constructor === Array) {\n\t\t\t\t$.merge(val, v);\n\t\t\t} else {\n\t\t\t\tval.push(v);\n\t\t\t}\n\t\t}\n\n\t\treturn val;\n\t};\n\n\t/**\n\t * Returns the value of the field element.\n\t */\n\t$.fieldValue = function(el, successful) {\n\t\tvar n = el.name, t = el.type, tag = el.tagName.toLowerCase();\n\n\t\tif (typeof successful === 'undefined') {\n\t\t\tsuccessful = true;\n\t\t}\n\n\t\t/* eslint-disable no-mixed-operators */\n\t\tif (successful && (!n || el.disabled || t === 'reset' || t === 'button' ||\n\t\t\t(t === 'checkbox' || t === 'radio') && !el.checked ||\n\t\t\t(t === 'submit' || t === 'image') && el.form && el.form.clk !== el ||\n\t\t\ttag === 'select' && el.selectedIndex === -1)) {\n\t\t/* eslint-enable no-mixed-operators */\n\t\t\treturn null;\n\t\t}\n\n\t\tif (tag === 'select') {\n\t\t\tvar index = el.selectedIndex;\n\n\t\t\tif (index < 0) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tvar a = [], ops = el.options;\n\t\t\tvar one = (t === 'select-one');\n\t\t\tvar max = (one ? index + 1 : ops.length);\n\n\t\t\tfor (var i = (one ? index : 0); i < max; i++) {\n\t\t\t\tvar op = ops[i];\n\n\t\t\t\tif (op.selected && !op.disabled) {\n\t\t\t\t\tvar v = op.value;\n\n\t\t\t\t\tif (!v) { // extra pain for IE...\n\t\t\t\t\t\tv = (op.attributes && op.attributes.value && !(op.attributes.value.specified)) ? op.text : op.value;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (one) {\n\t\t\t\t\t\treturn v;\n\t\t\t\t\t}\n\n\t\t\t\t\ta.push(v);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn a;\n\t\t}\n\n\t\treturn $(el).val().replace(rCRLF, '\\r\\n');\n\t};\n\n\t/**\n\t * Clears the form data. Takes the following actions on the form's input fields:\n\t *  - input text fields will have their 'value' property set to the empty string\n\t *  - select elements will have their 'selectedIndex' property set to -1\n\t *  - checkbox and radio inputs will have their 'checked' property set to false\n\t *  - inputs of type submit, button, reset, and hidden will *not* be effected\n\t *  - button elements will *not* be effected\n\t */\n\t$.fn.clearForm = function(includeHidden) {\n\t\treturn this.each(function() {\n\t\t\t$('input,select,textarea', this).clearFields(includeHidden);\n\t\t});\n\t};\n\n\t/**\n\t * Clears the selected form elements.\n\t */\n\t$.fn.clearFields = $.fn.clearInputs = function(includeHidden) {\n\t\tvar re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list\n\n\t\treturn this.each(function() {\n\t\t\tvar t = this.type, tag = this.tagName.toLowerCase();\n\n\t\t\tif (re.test(t) || tag === 'textarea') {\n\t\t\t\tthis.value = '';\n\n\t\t\t} else if (t === 'checkbox' || t === 'radio') {\n\t\t\t\tthis.checked = false;\n\n\t\t\t} else if (tag === 'select') {\n\t\t\t\tthis.selectedIndex = -1;\n\n\t\t\t} else if (t === 'file') {\n\t\t\t\tif (/MSIE/.test(navigator.userAgent)) {\n\t\t\t\t\t$(this).replaceWith($(this).clone(true));\n\t\t\t\t} else {\n\t\t\t\t\t$(this).val('');\n\t\t\t\t}\n\n\t\t\t} else if (includeHidden) {\n\t\t\t\t// includeHidden can be the value true, or it can be a selector string\n\t\t\t\t// indicating a special test; for example:\n\t\t\t\t// $('#myForm').clearForm('.special:hidden')\n\t\t\t\t// the above would clean hidden inputs that have the class of 'special'\n\t\t\t\tif ((includeHidden === true && /hidden/.test(t)) ||\n\t\t\t\t\t(typeof includeHidden === 'string' && $(this).is(includeHidden))) {\n\t\t\t\t\tthis.value = '';\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t};\n\n\n\t/**\n\t * Resets the form data or individual elements. Takes the following actions\n\t * on the selected tags:\n\t * - all fields within form elements will be reset to their original value\n\t * - input / textarea / select fields will be reset to their original value\n\t * - option / optgroup fields (for multi-selects) will defaulted individually\n\t * - non-multiple options will find the right select to default\n\t * - label elements will be searched against its 'for' attribute\n\t * - all others will be searched for appropriate children to default\n\t */\n\t$.fn.resetForm = function() {\n\t\treturn this.each(function() {\n\t\t\tvar el = $(this);\n\t\t\tvar tag = this.tagName.toLowerCase();\n\n\t\t\tswitch (tag) {\n\t\t\tcase 'input':\n\t\t\t\tthis.checked = this.defaultChecked;\n\t\t\t\t\t// fall through\n\n\t\t\tcase 'textarea':\n\t\t\t\tthis.value = this.defaultValue;\n\n\t\t\t\treturn true;\n\n\t\t\tcase 'option':\n\t\t\tcase 'optgroup':\n\t\t\t\tvar select = el.parents('select');\n\n\t\t\t\tif (select.length && select[0].multiple) {\n\t\t\t\t\tif (tag === 'option') {\n\t\t\t\t\t\tthis.selected = this.defaultSelected;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tel.find('option').resetForm();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tselect.resetForm();\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\n\t\t\tcase 'select':\n\t\t\t\tel.find('option').each(function(i) {\t\t\t\t// eslint-disable-line consistent-return\n\t\t\t\t\tthis.selected = this.defaultSelected;\n\t\t\t\t\tif (this.defaultSelected && !el[0].multiple) {\n\t\t\t\t\t\tel[0].selectedIndex = i;\n\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn true;\n\n\t\t\tcase 'label':\n\t\t\t\tvar forEl = $(el.attr('for'));\n\t\t\t\tvar list = el.find('input,select,textarea');\n\n\t\t\t\tif (forEl[0]) {\n\t\t\t\t\tlist.unshift(forEl[0]);\n\t\t\t\t}\n\n\t\t\t\tlist.resetForm();\n\n\t\t\t\treturn true;\n\n\t\t\tcase 'form':\n\t\t\t\t\t// guard against an input with the name of 'reset'\n\t\t\t\t\t// note that IE reports the reset function as an 'object'\n\t\t\t\tif (typeof this.reset === 'function' || (typeof this.reset === 'object' && !this.reset.nodeType)) {\n\t\t\t\t\tthis.reset();\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\n\t\t\tdefault:\n\t\t\t\tel.find('form,input,label,select,textarea').resetForm();\n\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Enables or disables any matching elements.\n\t */\n\t$.fn.enable = function(b) {\n\t\tif (typeof b === 'undefined') {\n\t\t\tb = true;\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tthis.disabled = !b;\n\t\t});\n\t};\n\n\t/**\n\t * Checks/unchecks any matching checkboxes or radio buttons and\n\t * selects/deselects and matching option elements.\n\t */\n\t$.fn.selected = function(select) {\n\t\tif (typeof select === 'undefined') {\n\t\t\tselect = true;\n\t\t}\n\n\t\treturn this.each(function() {\n\t\t\tvar t = this.type;\n\n\t\t\tif (t === 'checkbox' || t === 'radio') {\n\t\t\t\tthis.checked = select;\n\n\t\t\t} else if (this.tagName.toLowerCase() === 'option') {\n\t\t\t\tvar $sel = $(this).parent('select');\n\n\t\t\t\tif (select && $sel[0] && $sel[0].type === 'select-one') {\n\t\t\t\t\t// deselect all other options\n\t\t\t\t\t$sel.find('option').selected(false);\n\t\t\t\t}\n\n\t\t\t\tthis.selected = select;\n\t\t\t}\n\t\t});\n\t};\n\n\t// expose debug var\n\t$.fn.ajaxSubmit.debug = false;\n\n\t// helper fn for console logging\n\tfunction log() {\n\t\tif (!$.fn.ajaxSubmit.debug) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar msg = '[jquery.form] ' + Array.prototype.join.call(arguments, '');\n\n\t\tif (window.console && window.console.log) {\n\t\t\twindow.console.log(msg);\n\n\t\t} else if (window.opera && window.opera.postError) {\n\t\t\twindow.opera.postError(msg);\n\t\t}\n\t}\n}));\n"
  },
  {
    "path": "public/plugins/media/media.css",
    "content": "@-webkit-keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes passing-through{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%,70%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slide-in{0%{opacity:0;-webkit-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes pulse{0%{-webkit-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone *{-webkit-box-sizing:border-box;box-sizing:border-box}.dropzone{min-height:150px;border:2px solid rgba(0,0,0,.3);background:#fff;padding:20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable *{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable .dz-message *{cursor:pointer}.dropzone.dz-started .dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover .dz-message{opacity:.5}.dropzone .dz-message{text-align:center;margin:2em 0}.dropzone .dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone .dz-preview:hover{z-index:1000}.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:20px;background:#999;background:-webkit-gradient(linear,left top,left bottom,from(#eee),to(#ddd));background:linear-gradient(180deg,#eee,#ddd)}.dropzone .dz-preview.dz-file-preview .dz-details{opacity:1}.dropzone .dz-preview.dz-image-preview{background:#fff}.dropzone .dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.dropzone .dz-preview .dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone .dz-preview .dz-remove:hover{text-decoration:underline}.dropzone .dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview .dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em 1em;text-align:center;color:rgba(0,0,0,.9);line-height:150%}.dropzone .dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone .dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone .dz-preview .dz-details .dz-filename:hover span{border:1px solid hsla(0,0%,78%,.8);background-color:hsla(0,0%,100%,.8)}.dropzone .dz-preview .dz-details .dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone .dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone .dz-preview .dz-details .dz-size span{background-color:hsla(0,0%,100%,.4);padding:0 .4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image img{-webkit-transform:scale(1.05);transform:scale(1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview .dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone .dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success .dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(.77,0,.175,1);animation:passing-through 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s cubic-bezier(.77,0,.175,1);animation:slide-in 3s cubic-bezier(.77,0,.175,1)}.dropzone .dz-preview .dz-error-mark,.dropzone .dz-preview .dz-success-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone .dz-preview .dz-error-mark svg,.dropzone .dz-preview .dz-success-mark svg{display:block;width:54px;height:54px}.dropzone .dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all .2s linear;transition:all .2s linear}.dropzone .dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity .4s ease-in;transition:opacity .4s ease-in}.dropzone .dz-preview:not(.dz-processing) .dz-progress{-webkit-animation:pulse 6s ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview .dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:hsla(0,0%,100%,.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone .dz-preview .dz-progress .dz-upload{background:#333;background:-webkit-gradient(linear,left top,left bottom,from(#666),to(#444));background:linear-gradient(180deg,#666,#444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width .3s ease-in-out;transition:width .3s ease-in-out}.dropzone .dz-preview.dz-error .dz-error-message{display:block}.dropzone .dz-preview.dz-error:hover .dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview .dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:-webkit-gradient(linear,left top,left bottom,from(#be2626),to(#a92222));background:linear-gradient(180deg,#be2626,#a92222);padding:.5em 1.2em;color:#fff}.dropzone .dz-preview .dz-error-message:after{content:\"\";position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #be2626}"
  },
  {
    "path": "public/plugins/media/media.js",
    "content": "!function(e){var t={};function i(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,i),r.l=!0,r.exports}i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,\"a\",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p=\"/\",i(i.s=0)}({0:function(e,t,i){i(\"j/Ju\"),e.exports=i(\"pgim\")},\"3IRH\":function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,\"loaded\",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,\"id\",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},\"j/Ju\":function(e,t,i){window.Dropzone=i(\"u31P\"),window.copyToClipboard=function(e){var t=document.createElement(\"textarea\");t.value=e,t.setAttribute(\"readonly\",\"\"),t.style.position=\"absolute\",t.style.left=\"-9999px\",document.body.appendChild(t),t.select(),document.execCommand(\"copy\"),document.body.removeChild(t)},Dropzone.options.liMediaDropzone=!1},pgim:function(e,t){},u31P:function(e,t,i){\"use strict\";(function(e){var t=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},i=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();function n(e,i){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!i||\"object\"!==(void 0===i?\"undefined\":t(i))&&\"function\"!=typeof i?e:i}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=function(){function e(){r(this,e)}return i(e,[{key:\"on\",value:function(e,t){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this}},{key:\"emit\",value:function(e){this._callbacks=this._callbacks||{};var t=this._callbacks[e];if(t){for(var i=arguments.length,n=Array(i>1?i-1:0),r=1;r<i;r++)n[r-1]=arguments[r];for(var o=0,a=a=t;;){if(o>=a.length)break;a[o++].apply(this,n)}}return this}},{key:\"off\",value:function(e,t){if(!this._callbacks||0===arguments.length)return this._callbacks={},this;var i=this._callbacks[e];if(!i)return this;if(1===arguments.length)return delete this._callbacks[e],this;for(var n=0;n<i.length;n++){if(i[n]===t){i.splice(n,1);break}}return this}}]),e}(),a=function(e){function a(e,t){r(this,a);var i,o=n(this,(a.__proto__||Object.getPrototypeOf(a)).call(this)),s=void 0;if(o.element=e,o.version=a.version,o.defaultOptions.previewTemplate=o.defaultOptions.previewTemplate.replace(/\\n*/g,\"\"),o.clickableElements=[],o.listeners=[],o.files=[],\"string\"==typeof o.element&&(o.element=document.querySelector(o.element)),!o.element||null==o.element.nodeType)throw new Error(\"Invalid dropzone element.\");if(o.element.dropzone)throw new Error(\"Dropzone already attached.\");a.instances.push(o),o.element.dropzone=o;var l,u=null!=(i=a.optionsForElement(o.element))?i:{};if(o.options=a.extend({},o.defaultOptions,u,null!=t?t:{}),o.options.forceFallback||!a.isBrowserSupported())return l=o.options.fallback.call(o),n(o,l);if(null==o.options.url&&(o.options.url=o.element.getAttribute(\"action\")),!o.options.url)throw new Error(\"No URL provided.\");if(o.options.acceptedFiles&&o.options.acceptedMimeTypes)throw new Error(\"You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated.\");if(o.options.uploadMultiple&&o.options.chunking)throw new Error(\"You cannot set both: uploadMultiple and chunking.\");return o.options.acceptedMimeTypes&&(o.options.acceptedFiles=o.options.acceptedMimeTypes,delete o.options.acceptedMimeTypes),null!=o.options.renameFilename&&(o.options.renameFile=function(e){return o.options.renameFilename.call(o,e.name,e)}),o.options.method=o.options.method.toUpperCase(),(s=o.getExistingFallback())&&s.parentNode&&s.parentNode.removeChild(s),!1!==o.options.previewsContainer&&(o.options.previewsContainer?o.previewsContainer=a.getElement(o.options.previewsContainer,\"previewsContainer\"):o.previewsContainer=o.element),o.options.clickable&&(!0===o.options.clickable?o.clickableElements=[o.element]:o.clickableElements=a.getElements(o.options.clickable,\"clickable\")),o.init(),o}return function(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Super expression must either be null or a function, not \"+(void 0===i?\"undefined\":t(i)));e.prototype=Object.create(i&&i.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),i&&(Object.setPrototypeOf?Object.setPrototypeOf(e,i):e.__proto__=i)}(a,o),i(a,null,[{key:\"initClass\",value:function(){this.prototype.Emitter=o,this.prototype.events=[\"drop\",\"dragstart\",\"dragend\",\"dragenter\",\"dragover\",\"dragleave\",\"addedfile\",\"addedfiles\",\"removedfile\",\"thumbnail\",\"error\",\"errormultiple\",\"processing\",\"processingmultiple\",\"uploadprogress\",\"totaluploadprogress\",\"sending\",\"sendingmultiple\",\"success\",\"successmultiple\",\"canceled\",\"canceledmultiple\",\"complete\",\"completemultiple\",\"reset\",\"maxfilesexceeded\",\"maxfilesreached\",\"queuecomplete\"],this.prototype.defaultOptions={url:null,method:\"post\",withCredentials:!1,timeout:3e4,parallelUploads:2,uploadMultiple:!1,chunking:!1,forceChunking:!1,chunkSize:2e6,parallelChunkUploads:!1,retryChunks:!1,retryChunksLimit:3,maxFilesize:256,paramName:\"file\",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,thumbnailMethod:\"crop\",resizeWidth:null,resizeHeight:null,resizeMimeType:null,resizeQuality:.8,resizeMethod:\"contain\",filesizeBase:1e3,maxFiles:null,headers:null,clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,hiddenInputContainer:\"body\",capture:null,renameFilename:null,renameFile:null,forceFallback:!1,dictDefaultMessage:\"Drop files here to upload\",dictFallbackMessage:\"Your browser does not support drag'n'drop file uploads.\",dictFallbackText:\"Please use the fallback form below to upload your files like in the olden days.\",dictFileTooBig:\"File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.\",dictInvalidFileType:\"You can't upload files of this type.\",dictResponseError:\"Server responded with {{statusCode}} code.\",dictCancelUpload:\"Cancel upload\",dictUploadCanceled:\"Upload canceled.\",dictCancelUploadConfirmation:\"Are you sure you want to cancel this upload?\",dictRemoveFile:\"Remove file\",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:\"You can not upload any more files.\",dictFileSizeUnits:{tb:\"TB\",gb:\"GB\",mb:\"MB\",kb:\"KB\",b:\"b\"},init:function(){},params:function(e,t,i){if(i)return{dzuuid:i.file.upload.uuid,dzchunkindex:i.index,dztotalfilesize:i.file.size,dzchunksize:this.options.chunkSize,dztotalchunkcount:i.file.upload.totalChunkCount,dzchunkbyteoffset:i.index*this.options.chunkSize}},accept:function(e,t){return t()},chunksUploaded:function(e,t){t()},fallback:function(){var e=void 0;this.element.className=this.element.className+\" dz-browser-not-supported\";for(var t=0,i=i=this.element.getElementsByTagName(\"div\");;){if(t>=i.length)break;var n=i[t++];if(/(^| )dz-message($| )/.test(n.className)){e=n,n.className=\"dz-message\";break}}e||(e=a.createElement('<div class=\"dz-message\"><span></span></div>'),this.element.appendChild(e));var r=e.getElementsByTagName(\"span\")[0];return r&&(null!=r.textContent?r.textContent=this.options.dictFallbackMessage:null!=r.innerText&&(r.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize:function(e,t,i,n){var r={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},o=e.width/e.height;null==t&&null==i?(t=r.srcWidth,i=r.srcHeight):null==t?t=i*o:null==i&&(i=t/o);var a=(t=Math.min(t,r.srcWidth))/(i=Math.min(i,r.srcHeight));if(r.srcWidth>t||r.srcHeight>i)if(\"crop\"===n)o>a?(r.srcHeight=e.height,r.srcWidth=r.srcHeight*a):(r.srcWidth=e.width,r.srcHeight=r.srcWidth/a);else{if(\"contain\"!==n)throw new Error(\"Unknown resizeMethod '\"+n+\"'\");o>a?i=t/o:t=i*o}return r.srcX=(e.width-r.srcWidth)/2,r.srcY=(e.height-r.srcHeight)/2,r.trgWidth=t,r.trgHeight=i,r},transformFile:function(e,t){return(this.options.resizeWidth||this.options.resizeHeight)&&e.type.match(/image.*/)?this.resizeImage(e,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,t):t(e)},previewTemplate:'<div class=\"dz-preview dz-file-preview\">\\n  <div class=\"dz-image\"><img data-dz-thumbnail /></div>\\n  <div class=\"dz-details\">\\n    <div class=\"dz-size\"><span data-dz-size></span></div>\\n    <div class=\"dz-filename\"><span data-dz-name></span></div>\\n  </div>\\n  <div class=\"dz-progress\"><span class=\"dz-upload\" data-dz-uploadprogress></span></div>\\n  <div class=\"dz-error-message\"><span data-dz-errormessage></span></div>\\n  <div class=\"dz-success-mark\">\\n    <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:sketch=\"http://www.bohemiancoding.com/sketch/ns\">\\n      <title>Check</title>\\n      <defs></defs>\\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" sketch:type=\"MSPage\">\\n        <path d=\"M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" id=\"Oval-2\" stroke-opacity=\"0.198794158\" stroke=\"#747474\" fill-opacity=\"0.816519475\" fill=\"#FFFFFF\" sketch:type=\"MSShapeGroup\"></path>\\n      </g>\\n    </svg>\\n  </div>\\n  <div class=\"dz-error-mark\">\\n    <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:sketch=\"http://www.bohemiancoding.com/sketch/ns\">\\n      <title>Error</title>\\n      <defs></defs>\\n      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\" sketch:type=\"MSPage\">\\n        <g id=\"Check-+-Oval-2\" sketch:type=\"MSLayerGroup\" stroke=\"#747474\" stroke-opacity=\"0.198794158\" fill=\"#FFFFFF\" fill-opacity=\"0.816519475\">\\n          <path d=\"M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" id=\"Oval-2\" sketch:type=\"MSShapeGroup\"></path>\\n        </g>\\n      </g>\\n    </svg>\\n  </div>\\n</div>',drop:function(e){return this.element.classList.remove(\"dz-drag-hover\")},dragstart:function(e){},dragend:function(e){return this.element.classList.remove(\"dz-drag-hover\")},dragenter:function(e){return this.element.classList.add(\"dz-drag-hover\")},dragover:function(e){return this.element.classList.add(\"dz-drag-hover\")},dragleave:function(e){return this.element.classList.remove(\"dz-drag-hover\")},paste:function(e){},reset:function(){return this.element.classList.remove(\"dz-started\")},addedfile:function(e){var t=this;if(this.element===this.previewsContainer&&this.element.classList.add(\"dz-started\"),this.previewsContainer){e.previewElement=a.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement);for(var i=0,n=n=e.previewElement.querySelectorAll(\"[data-dz-name]\");;){if(i>=n.length)break;var r=n[i++];r.textContent=e.name}for(var o=0,s=s=e.previewElement.querySelectorAll(\"[data-dz-size]\");!(o>=s.length);)(r=s[o++]).innerHTML=this.filesize(e.size);this.options.addRemoveLinks&&(e._removeLink=a.createElement('<a class=\"dz-remove\" href=\"javascript:undefined;\" data-dz-remove>'+this.options.dictRemoveFile+\"</a>\"),e.previewElement.appendChild(e._removeLink));for(var l=function(i){return i.preventDefault(),i.stopPropagation(),e.status===a.UPLOADING?a.confirm(t.options.dictCancelUploadConfirmation,function(){return t.removeFile(e)}):t.options.dictRemoveFileConfirmation?a.confirm(t.options.dictRemoveFileConfirmation,function(){return t.removeFile(e)}):t.removeFile(e)},u=0,d=d=e.previewElement.querySelectorAll(\"[data-dz-remove]\");;){if(u>=d.length)break;d[u++].addEventListener(\"click\",l)}}},removedfile:function(e){return null!=e.previewElement&&null!=e.previewElement.parentNode&&e.previewElement.parentNode.removeChild(e.previewElement),this._updateMaxFilesReachedClass()},thumbnail:function(e,t){if(e.previewElement){e.previewElement.classList.remove(\"dz-file-preview\");for(var i=0,n=n=e.previewElement.querySelectorAll(\"[data-dz-thumbnail]\");;){if(i>=n.length)break;var r=n[i++];r.alt=e.name,r.src=t}return setTimeout(function(){return e.previewElement.classList.add(\"dz-image-preview\")},1)}},error:function(e,t){if(e.previewElement){e.previewElement.classList.add(\"dz-error\"),\"String\"!=typeof t&&t.error&&(t=t.error);for(var i=0,n=n=e.previewElement.querySelectorAll(\"[data-dz-errormessage]\");;){if(i>=n.length)break;n[i++].textContent=t}}},errormultiple:function(){},processing:function(e){if(e.previewElement&&(e.previewElement.classList.add(\"dz-processing\"),e._removeLink))return e._removeLink.innerHTML=this.options.dictCancelUpload},processingmultiple:function(){},uploadprogress:function(e,t,i){if(e.previewElement)for(var n=0,r=r=e.previewElement.querySelectorAll(\"[data-dz-uploadprogress]\");;){if(n>=r.length)break;var o=r[n++];\"PROGRESS\"===o.nodeName?o.value=t:o.style.width=t+\"%\"}},totaluploadprogress:function(){},sending:function(){},sendingmultiple:function(){},success:function(e){if(e.previewElement)return e.previewElement.classList.add(\"dz-success\")},successmultiple:function(){},canceled:function(e){return this.emit(\"error\",e,this.options.dictUploadCanceled)},canceledmultiple:function(){},complete:function(e){if(e._removeLink&&(e._removeLink.innerHTML=this.options.dictRemoveFile),e.previewElement)return e.previewElement.classList.add(\"dz-complete\")},completemultiple:function(){},maxfilesexceeded:function(){},maxfilesreached:function(){},queuecomplete:function(){},addedfiles:function(){}},this.prototype._thumbnailQueue=[],this.prototype._processingThumbnail=!1}},{key:\"extend\",value:function(e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];for(var r=0,o=o=i;;){if(r>=o.length)break;var a=o[r++];for(var s in a){var l=a[s];e[s]=l}}return e}}]),i(a,[{key:\"getAcceptedFiles\",value:function(){return this.files.filter(function(e){return e.accepted}).map(function(e){return e})}},{key:\"getRejectedFiles\",value:function(){return this.files.filter(function(e){return!e.accepted}).map(function(e){return e})}},{key:\"getFilesWithStatus\",value:function(e){return this.files.filter(function(t){return t.status===e}).map(function(e){return e})}},{key:\"getQueuedFiles\",value:function(){return this.getFilesWithStatus(a.QUEUED)}},{key:\"getUploadingFiles\",value:function(){return this.getFilesWithStatus(a.UPLOADING)}},{key:\"getAddedFiles\",value:function(){return this.getFilesWithStatus(a.ADDED)}},{key:\"getActiveFiles\",value:function(){return this.files.filter(function(e){return e.status===a.UPLOADING||e.status===a.QUEUED}).map(function(e){return e})}},{key:\"init\",value:function(){var e=this;if(\"form\"===this.element.tagName&&this.element.setAttribute(\"enctype\",\"multipart/form-data\"),this.element.classList.contains(\"dropzone\")&&!this.element.querySelector(\".dz-message\")&&this.element.appendChild(a.createElement('<div class=\"dz-default dz-message\"><span>'+this.options.dictDefaultMessage+\"</span></div>\")),this.clickableElements.length){!function t(){return e.hiddenFileInput&&e.hiddenFileInput.parentNode.removeChild(e.hiddenFileInput),e.hiddenFileInput=document.createElement(\"input\"),e.hiddenFileInput.setAttribute(\"type\",\"file\"),(null===e.options.maxFiles||e.options.maxFiles>1)&&e.hiddenFileInput.setAttribute(\"multiple\",\"multiple\"),e.hiddenFileInput.className=\"dz-hidden-input\",null!==e.options.acceptedFiles&&e.hiddenFileInput.setAttribute(\"accept\",e.options.acceptedFiles),null!==e.options.capture&&e.hiddenFileInput.setAttribute(\"capture\",e.options.capture),e.hiddenFileInput.style.visibility=\"hidden\",e.hiddenFileInput.style.position=\"absolute\",e.hiddenFileInput.style.top=\"0\",e.hiddenFileInput.style.left=\"0\",e.hiddenFileInput.style.height=\"0\",e.hiddenFileInput.style.width=\"0\",a.getElement(e.options.hiddenInputContainer,\"hiddenInputContainer\").appendChild(e.hiddenFileInput),e.hiddenFileInput.addEventListener(\"change\",function(){var i=e.hiddenFileInput.files;if(i.length)for(var n=0,r=r=i;!(n>=r.length);){var o=r[n++];e.addFile(o)}return e.emit(\"addedfiles\",i),t()})}()}this.URL=null!==window.URL?window.URL:window.webkitURL;for(var t=0,i=i=this.events;;){if(t>=i.length)break;var n=i[t++];this.on(n,this.options[n])}this.on(\"uploadprogress\",function(){return e.updateTotalUploadProgress()}),this.on(\"removedfile\",function(){return e.updateTotalUploadProgress()}),this.on(\"canceled\",function(t){return e.emit(\"complete\",t)}),this.on(\"complete\",function(t){if(0===e.getAddedFiles().length&&0===e.getUploadingFiles().length&&0===e.getQueuedFiles().length)return setTimeout(function(){return e.emit(\"queuecomplete\")},0)});var r=function(e){return e.stopPropagation(),e.preventDefault?e.preventDefault():e.returnValue=!1};return this.listeners=[{element:this.element,events:{dragstart:function(t){return e.emit(\"dragstart\",t)},dragenter:function(t){return r(t),e.emit(\"dragenter\",t)},dragover:function(t){var i=void 0;try{i=t.dataTransfer.effectAllowed}catch(e){}return t.dataTransfer.dropEffect=\"move\"===i||\"linkMove\"===i?\"move\":\"copy\",r(t),e.emit(\"dragover\",t)},dragleave:function(t){return e.emit(\"dragleave\",t)},drop:function(t){return r(t),e.drop(t)},dragend:function(t){return e.emit(\"dragend\",t)}}}],this.clickableElements.forEach(function(t){return e.listeners.push({element:t,events:{click:function(i){return(t!==e.element||i.target===e.element||a.elementInside(i.target,e.element.querySelector(\".dz-message\")))&&e.hiddenFileInput.click(),!0}}})}),this.enable(),this.options.init.call(this)}},{key:\"destroy\",value:function(){return this.disable(),this.removeAllFiles(!0),(null!=this.hiddenFileInput?this.hiddenFileInput.parentNode:void 0)&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete this.element.dropzone,a.instances.splice(a.instances.indexOf(this),1)}},{key:\"updateTotalUploadProgress\",value:function(){var e=void 0,t=0,i=0;if(this.getActiveFiles().length){for(var n=0,r=r=this.getActiveFiles();;){if(n>=r.length)break;var o=r[n++];t+=o.upload.bytesSent,i+=o.upload.total}e=100*t/i}else e=100;return this.emit(\"totaluploadprogress\",e,i,t)}},{key:\"_getParamName\",value:function(e){return\"function\"==typeof this.options.paramName?this.options.paramName(e):this.options.paramName+(this.options.uploadMultiple?\"[\"+e+\"]\":\"\")}},{key:\"_renameFile\",value:function(e){return\"function\"!=typeof this.options.renameFile?e.name:this.options.renameFile(e)}},{key:\"getFallbackForm\",value:function(){var e,t=void 0;if(e=this.getExistingFallback())return e;var i='<div class=\"dz-fallback\">';this.options.dictFallbackText&&(i+=\"<p>\"+this.options.dictFallbackText+\"</p>\"),i+='<input type=\"file\" name=\"'+this._getParamName(0)+'\" '+(this.options.uploadMultiple?'multiple=\"multiple\"':void 0)+' /><input type=\"submit\" value=\"Upload!\"></div>';var n=a.createElement(i);return\"FORM\"!==this.element.tagName?(t=a.createElement('<form action=\"'+this.options.url+'\" enctype=\"multipart/form-data\" method=\"'+this.options.method+'\"></form>')).appendChild(n):(this.element.setAttribute(\"enctype\",\"multipart/form-data\"),this.element.setAttribute(\"method\",this.options.method)),null!=t?t:n}},{key:\"getExistingFallback\",value:function(){for(var e=function(e){for(var t=0,i=i=e;;){if(t>=i.length)break;var n=i[t++];if(/(^| )fallback($| )/.test(n.className))return n}},t=[\"div\",\"form\"],i=0;i<t.length;i++){var n,r=t[i];if(n=e(this.element.getElementsByTagName(r)))return n}}},{key:\"setupEventListeners\",value:function(){return this.listeners.map(function(e){return function(){var t=[];for(var i in e.events){var n=e.events[i];t.push(e.element.addEventListener(i,n,!1))}return t}()})}},{key:\"removeEventListeners\",value:function(){return this.listeners.map(function(e){return function(){var t=[];for(var i in e.events){var n=e.events[i];t.push(e.element.removeEventListener(i,n,!1))}return t}()})}},{key:\"disable\",value:function(){var e=this;return this.clickableElements.forEach(function(e){return e.classList.remove(\"dz-clickable\")}),this.removeEventListeners(),this.disabled=!0,this.files.map(function(t){return e.cancelUpload(t)})}},{key:\"enable\",value:function(){return delete this.disabled,this.clickableElements.forEach(function(e){return e.classList.add(\"dz-clickable\")}),this.setupEventListeners()}},{key:\"filesize\",value:function(e){var t=0,i=\"b\";if(e>0){for(var n=[\"tb\",\"gb\",\"mb\",\"kb\",\"b\"],r=0;r<n.length;r++){var o=n[r];if(e>=Math.pow(this.options.filesizeBase,4-r)/10){t=e/Math.pow(this.options.filesizeBase,4-r),i=o;break}}t=Math.round(10*t)/10}return\"<strong>\"+t+\"</strong> \"+this.options.dictFileSizeUnits[i]}},{key:\"_updateMaxFilesReachedClass\",value:function(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit(\"maxfilesreached\",this.files),this.element.classList.add(\"dz-max-files-reached\")):this.element.classList.remove(\"dz-max-files-reached\")}},{key:\"drop\",value:function(e){if(e.dataTransfer){this.emit(\"drop\",e);for(var t=[],i=0;i<e.dataTransfer.files.length;i++)t[i]=e.dataTransfer.files[i];if(this.emit(\"addedfiles\",t),t.length){var n=e.dataTransfer.items;n&&n.length&&null!=n[0].webkitGetAsEntry?this._addFilesFromItems(n):this.handleFiles(t)}}}},{key:\"paste\",value:function(e){if(null!=(void 0!==(t=null!=e?e.clipboardData:void 0)&&null!==t?function(e){return e.items}(t):void 0)){var t;this.emit(\"paste\",e);var i=e.clipboardData.items;return i.length?this._addFilesFromItems(i):void 0}}},{key:\"handleFiles\",value:function(e){for(var t=0,i=i=e;;){if(t>=i.length)break;var n=i[t++];this.addFile(n)}}},{key:\"_addFilesFromItems\",value:function(e){var t=this;return function(){for(var i=[],n=0,r=r=e;;){if(n>=r.length)break;var o,a=r[n++];null!=a.webkitGetAsEntry&&(o=a.webkitGetAsEntry())?o.isFile?i.push(t.addFile(a.getAsFile())):o.isDirectory?i.push(t._addFilesFromDirectory(o,o.name)):i.push(void 0):null!=a.getAsFile&&(null==a.kind||\"file\"===a.kind)?i.push(t.addFile(a.getAsFile())):i.push(void 0)}return i}()}},{key:\"_addFilesFromDirectory\",value:function(e,t){var i=this,n=e.createReader(),r=function(e){return t=console,i=\"log\",n=function(t){return t.log(e)},void 0!==t&&null!==t&&\"function\"==typeof t[i]?n(t,i):void 0;var t,i,n};return function e(){return n.readEntries(function(n){if(n.length>0){for(var r=0,o=o=n;!(r>=o.length);){var a=o[r++];a.isFile?a.file(function(e){if(!i.options.ignoreHiddenFiles||\".\"!==e.name.substring(0,1))return e.fullPath=t+\"/\"+e.name,i.addFile(e)}):a.isDirectory&&i._addFilesFromDirectory(a,t+\"/\"+a.name)}e()}return null},r)}()}},{key:\"accept\",value:function(e,t){return this.options.maxFilesize&&e.size>1024*this.options.maxFilesize*1024?t(this.options.dictFileTooBig.replace(\"{{filesize}}\",Math.round(e.size/1024/10.24)/100).replace(\"{{maxFilesize}}\",this.options.maxFilesize)):a.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(t(this.options.dictMaxFilesExceeded.replace(\"{{maxFiles}}\",this.options.maxFiles)),this.emit(\"maxfilesexceeded\",e)):this.options.accept.call(this,e,t):t(this.options.dictInvalidFileType)}},{key:\"addFile\",value:function(e){var t=this;return e.upload={uuid:a.uuidv4(),progress:0,total:e.size,bytesSent:0,filename:this._renameFile(e),chunked:this.options.chunking&&(this.options.forceChunking||e.size>this.options.chunkSize),totalChunkCount:Math.ceil(e.size/this.options.chunkSize)},this.files.push(e),e.status=a.ADDED,this.emit(\"addedfile\",e),this._enqueueThumbnail(e),this.accept(e,function(i){return i?(e.accepted=!1,t._errorProcessing([e],i)):(e.accepted=!0,t.options.autoQueue&&t.enqueueFile(e)),t._updateMaxFilesReachedClass()})}},{key:\"enqueueFiles\",value:function(e){for(var t=0,i=i=e;;){if(t>=i.length)break;var n=i[t++];this.enqueueFile(n)}return null}},{key:\"enqueueFile\",value:function(e){var t=this;if(e.status!==a.ADDED||!0!==e.accepted)throw new Error(\"This file can't be queued because it has already been processed or was rejected.\");if(e.status=a.QUEUED,this.options.autoProcessQueue)return setTimeout(function(){return t.processQueue()},0)}},{key:\"_enqueueThumbnail\",value:function(e){var t=this;if(this.options.createImageThumbnails&&e.type.match(/image.*/)&&e.size<=1024*this.options.maxThumbnailFilesize*1024)return this._thumbnailQueue.push(e),setTimeout(function(){return t._processThumbnailQueue()},0)}},{key:\"_processThumbnailQueue\",value:function(){var e=this;if(!this._processingThumbnail&&0!==this._thumbnailQueue.length){this._processingThumbnail=!0;var t=this._thumbnailQueue.shift();return this.createThumbnail(t,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,!0,function(i){return e.emit(\"thumbnail\",t,i),e._processingThumbnail=!1,e._processThumbnailQueue()})}}},{key:\"removeFile\",value:function(e){if(e.status===a.UPLOADING&&this.cancelUpload(e),this.files=s(this.files,e),this.emit(\"removedfile\",e),0===this.files.length)return this.emit(\"reset\")}},{key:\"removeAllFiles\",value:function(e){null==e&&(e=!1);for(var t=0,i=i=this.files.slice();;){if(t>=i.length)break;var n=i[t++];(n.status!==a.UPLOADING||e)&&this.removeFile(n)}return null}},{key:\"resizeImage\",value:function(e,t,i,n,r){var o=this;return this.createThumbnail(e,t,i,n,!0,function(t,i){if(null==i)return r(e);var n=o.options.resizeMimeType;null==n&&(n=e.type);var s=i.toDataURL(n,o.options.resizeQuality);return\"image/jpeg\"!==n&&\"image/jpg\"!==n||(s=d.restore(e.dataURL,s)),r(a.dataURItoBlob(s))})}},{key:\"createThumbnail\",value:function(e,t,i,n,r,o){var a=this,s=new FileReader;return s.onload=function(){if(e.dataURL=s.result,\"image/svg+xml\"!==e.type)return a.createThumbnailFromUrl(e,t,i,n,r,o);null!=o&&o(s.result)},s.readAsDataURL(e)}},{key:\"createThumbnailFromUrl\",value:function(e,t,i,n,r,o,a){var s=this,l=document.createElement(\"img\");return a&&(l.crossOrigin=a),l.onload=function(){var a=function(e){return e(1)};return\"undefined\"!=typeof EXIF&&null!==EXIF&&r&&(a=function(e){return EXIF.getData(l,function(){return e(EXIF.getTag(this,\"Orientation\"))})}),a(function(r){e.width=l.width,e.height=l.height;var a=s.options.resize.call(s,e,t,i,n),d=document.createElement(\"canvas\"),c=d.getContext(\"2d\");switch(d.width=a.trgWidth,d.height=a.trgHeight,r>4&&(d.width=a.trgHeight,d.height=a.trgWidth),r){case 2:c.translate(d.width,0),c.scale(-1,1);break;case 3:c.translate(d.width,d.height),c.rotate(Math.PI);break;case 4:c.translate(0,d.height),c.scale(1,-1);break;case 5:c.rotate(.5*Math.PI),c.scale(1,-1);break;case 6:c.rotate(.5*Math.PI),c.translate(0,-d.width);break;case 7:c.rotate(.5*Math.PI),c.translate(d.height,-d.width),c.scale(-1,1);break;case 8:c.rotate(-.5*Math.PI),c.translate(-d.height,0)}u(c,l,null!=a.srcX?a.srcX:0,null!=a.srcY?a.srcY:0,a.srcWidth,a.srcHeight,null!=a.trgX?a.trgX:0,null!=a.trgY?a.trgY:0,a.trgWidth,a.trgHeight);var p=d.toDataURL(\"image/png\");if(null!=o)return o(p,d)})},null!=o&&(l.onerror=o),l.src=e.dataURL}},{key:\"processQueue\",value:function(){var e=this.options.parallelUploads,t=this.getUploadingFiles().length,i=t;if(!(t>=e)){var n=this.getQueuedFiles();if(n.length>0){if(this.options.uploadMultiple)return this.processFiles(n.slice(0,e-t));for(;i<e;){if(!n.length)return;this.processFile(n.shift()),i++}}}}},{key:\"processFile\",value:function(e){return this.processFiles([e])}},{key:\"processFiles\",value:function(e){for(var t=0,i=i=e;;){if(t>=i.length)break;var n=i[t++];n.processing=!0,n.status=a.UPLOADING,this.emit(\"processing\",n)}return this.options.uploadMultiple&&this.emit(\"processingmultiple\",e),this.uploadFiles(e)}},{key:\"_getFilesWithXhr\",value:function(e){return this.files.filter(function(t){return t.xhr===e}).map(function(e){return e})}},{key:\"cancelUpload\",value:function(e){if(e.status===a.UPLOADING){for(var t=this._getFilesWithXhr(e.xhr),i=0,n=n=t;;){if(i>=n.length)break;n[i++].status=a.CANCELED}void 0!==e.xhr&&e.xhr.abort();for(var r=0,o=o=t;;){if(r>=o.length)break;var s=o[r++];this.emit(\"canceled\",s)}this.options.uploadMultiple&&this.emit(\"canceledmultiple\",t)}else e.status!==a.ADDED&&e.status!==a.QUEUED||(e.status=a.CANCELED,this.emit(\"canceled\",e),this.options.uploadMultiple&&this.emit(\"canceledmultiple\",[e]));if(this.options.autoProcessQueue)return this.processQueue()}},{key:\"resolveOption\",value:function(e){if(\"function\"==typeof e){for(var t=arguments.length,i=Array(t>1?t-1:0),n=1;n<t;n++)i[n-1]=arguments[n];return e.apply(this,i)}return e}},{key:\"uploadFile\",value:function(e){return this.uploadFiles([e])}},{key:\"uploadFiles\",value:function(e){var t=this;this._transformFiles(e,function(i){if(e[0].upload.chunked){var n=e[0],r=i[0];n.upload.chunks=[];var o=function(){for(var i=0;void 0!==n.upload.chunks[i];)i++;if(!(i>=n.upload.totalChunkCount)){0;var o=i*t.options.chunkSize,s=Math.min(o+t.options.chunkSize,n.size),l={name:t._getParamName(0),data:r.webkitSlice?r.webkitSlice(o,s):r.slice(o,s),filename:n.upload.filename,chunkIndex:i};n.upload.chunks[i]={file:n,index:i,dataBlock:l,status:a.UPLOADING,progress:0,retries:0},t._uploadData(e,[l])}};if(n.upload.finishedChunkUpload=function(i){var r=!0;i.status=a.SUCCESS,i.dataBlock=null,i.xhr=null;for(var s=0;s<n.upload.totalChunkCount;s++){if(void 0===n.upload.chunks[s])return o();n.upload.chunks[s].status!==a.SUCCESS&&(r=!1)}r&&t.options.chunksUploaded(n,function(){t._finished(e,\"\",null)})},t.options.parallelChunkUploads)for(var s=0;s<n.upload.totalChunkCount;s++)o();else o()}else{for(var l=[],u=0;u<e.length;u++)l[u]={name:t._getParamName(u),data:i[u],filename:e[u].upload.filename};t._uploadData(e,l)}})}},{key:\"_getChunk\",value:function(e,t){for(var i=0;i<e.upload.totalChunkCount;i++)if(void 0!==e.upload.chunks[i]&&e.upload.chunks[i].xhr===t)return e.upload.chunks[i]}},{key:\"_uploadData\",value:function(e,t){for(var i=this,n=new XMLHttpRequest,r=0,o=o=e;;){if(r>=o.length)break;o[r++].xhr=n}e[0].upload.chunked&&(e[0].upload.chunks[t[0].chunkIndex].xhr=n);var s=this.resolveOption(this.options.method,e),l=this.resolveOption(this.options.url,e);n.open(s,l,!0),n.timeout=this.resolveOption(this.options.timeout,e),n.withCredentials=!!this.options.withCredentials,n.onload=function(t){i._finishedUploading(e,n,t)},n.onerror=function(){i._handleUploadError(e,n)},(null!=n.upload?n.upload:n).onprogress=function(t){return i._updateFilesUploadProgress(e,n,t)};var u={Accept:\"application/json\",\"Cache-Control\":\"no-cache\",\"X-Requested-With\":\"XMLHttpRequest\"};for(var d in this.options.headers&&a.extend(u,this.options.headers),u){var c=u[d];c&&n.setRequestHeader(d,c)}var p=new FormData;if(this.options.params){var h=this.options.params;for(var f in\"function\"==typeof h&&(h=h.call(this,e,n,e[0].upload.chunked?this._getChunk(e[0],n):null)),h){var m=h[f];p.append(f,m)}}for(var v=0,g=g=e;;){if(v>=g.length)break;var k=g[v++];this.emit(\"sending\",k,n,p)}this.options.uploadMultiple&&this.emit(\"sendingmultiple\",e,n,p),this._addFormElementData(p);for(var y=0;y<t.length;y++){var b=t[y];p.append(b.name,b.data,b.filename)}this.submitRequest(n,p,e)}},{key:\"_transformFiles\",value:function(e,t){for(var i=this,n=[],r=0,o=function(o){i.options.transformFile.call(i,e[o],function(i){n[o]=i,++r===e.length&&t(n)})},a=0;a<e.length;a++)o(a)}},{key:\"_addFormElementData\",value:function(e){if(\"FORM\"===this.element.tagName)for(var t=0,i=i=this.element.querySelectorAll(\"input, textarea, select, button\");;){if(t>=i.length)break;var n=i[t++],r=n.getAttribute(\"name\"),o=n.getAttribute(\"type\");if(o&&(o=o.toLowerCase()),void 0!==r&&null!==r)if(\"SELECT\"===n.tagName&&n.hasAttribute(\"multiple\"))for(var a=0,s=s=n.options;;){if(a>=s.length)break;var l=s[a++];l.selected&&e.append(r,l.value)}else(!o||\"checkbox\"!==o&&\"radio\"!==o||n.checked)&&e.append(r,n.value)}}},{key:\"_updateFilesUploadProgress\",value:function(e,t,i){var n=void 0;if(void 0!==i){if(n=100*i.loaded/i.total,e[0].upload.chunked){var r=e[0],o=this._getChunk(r,t);o.progress=n,o.total=i.total,o.bytesSent=i.loaded;r.upload.progress=0,r.upload.total=0,r.upload.bytesSent=0;for(var a=0;a<r.upload.totalChunkCount;a++)void 0!==r.upload.chunks[a]&&void 0!==r.upload.chunks[a].progress&&(r.upload.progress+=r.upload.chunks[a].progress,r.upload.total+=r.upload.chunks[a].total,r.upload.bytesSent+=r.upload.chunks[a].bytesSent);r.upload.progress=r.upload.progress/r.upload.totalChunkCount}else for(var s=0,l=l=e;;){if(s>=l.length)break;var u=l[s++];u.upload.progress=n,u.upload.total=i.total,u.upload.bytesSent=i.loaded}for(var d=0,c=c=e;;){if(d>=c.length)break;var p=c[d++];this.emit(\"uploadprogress\",p,p.upload.progress,p.upload.bytesSent)}}else{var h=!0;n=100;for(var f=0,m=m=e;;){if(f>=m.length)break;var v=m[f++];100===v.upload.progress&&v.upload.bytesSent===v.upload.total||(h=!1),v.upload.progress=n,v.upload.bytesSent=v.upload.total}if(h)return;for(var g=0,k=k=e;;){if(g>=k.length)break;var y=k[g++];this.emit(\"uploadprogress\",y,n,y.upload.bytesSent)}}}},{key:\"_finishedUploading\",value:function(e,t,i){var n=void 0;if(e[0].status!==a.CANCELED&&4===t.readyState){if(\"arraybuffer\"!==t.responseType&&\"blob\"!==t.responseType&&(n=t.responseText,t.getResponseHeader(\"content-type\")&&~t.getResponseHeader(\"content-type\").indexOf(\"application/json\")))try{n=JSON.parse(n)}catch(e){i=e,n=\"Invalid JSON response from server.\"}this._updateFilesUploadProgress(e),200<=t.status&&t.status<300?e[0].upload.chunked?e[0].upload.finishedChunkUpload(this._getChunk(e[0],t)):this._finished(e,n,i):this._handleUploadError(e,t,n)}}},{key:\"_handleUploadError\",value:function(e,t,i){if(e[0].status!==a.CANCELED){if(e[0].upload.chunked&&this.options.retryChunks){var n=this._getChunk(e[0],t);if(n.retries++<this.options.retryChunksLimit)return void this._uploadData(e,[n.dataBlock]);console.warn(\"Retried this chunk too often. Giving up.\")}for(var r=0,o=o=e;;){if(r>=o.length)break;o[r++];this._errorProcessing(e,i||this.options.dictResponseError.replace(\"{{statusCode}}\",t.status),t)}}}},{key:\"submitRequest\",value:function(e,t,i){e.send(t)}},{key:\"_finished\",value:function(e,t,i){for(var n=0,r=r=e;;){if(n>=r.length)break;var o=r[n++];o.status=a.SUCCESS,this.emit(\"success\",o,t,i),this.emit(\"complete\",o)}if(this.options.uploadMultiple&&(this.emit(\"successmultiple\",e,t,i),this.emit(\"completemultiple\",e)),this.options.autoProcessQueue)return this.processQueue()}},{key:\"_errorProcessing\",value:function(e,t,i){for(var n=0,r=r=e;;){if(n>=r.length)break;var o=r[n++];o.status=a.ERROR,this.emit(\"error\",o,t,i),this.emit(\"complete\",o)}if(this.options.uploadMultiple&&(this.emit(\"errormultiple\",e,t,i),this.emit(\"completemultiple\",e)),this.options.autoProcessQueue)return this.processQueue()}}],[{key:\"uuidv4\",value:function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)})}}]),a}();a.initClass(),a.version=\"5.5.0\",a.options={},a.optionsForElement=function(e){return e.getAttribute(\"id\")?a.options[l(e.getAttribute(\"id\"))]:void 0},a.instances=[],a.forElement=function(e){if(\"string\"==typeof e&&(e=document.querySelector(e)),null==(null!=e?e.dropzone:void 0))throw new Error(\"No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.\");return e.dropzone},a.autoDiscover=!0,a.discover=function(){var e=void 0;if(document.querySelectorAll)e=document.querySelectorAll(\".dropzone\");else{e=[];var t=function(t){return function(){for(var i=[],n=0,r=r=t;;){if(n>=r.length)break;var o=r[n++];/(^| )dropzone($| )/.test(o.className)?i.push(e.push(o)):i.push(void 0)}return i}()};t(document.getElementsByTagName(\"div\")),t(document.getElementsByTagName(\"form\"))}return function(){for(var t=[],i=0,n=n=e;;){if(i>=n.length)break;var r=n[i++];!1!==a.optionsForElement(r)?t.push(new a(r)):t.push(void 0)}return t}()},a.blacklistedBrowsers=[/opera.*(Macintosh|Windows Phone).*version\\/12/i],a.isBrowserSupported=function(){var e=!0;if(window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector)if(\"classList\"in document.createElement(\"a\"))for(var t=0,i=i=a.blacklistedBrowsers;;){if(t>=i.length)break;i[t++].test(navigator.userAgent)&&(e=!1)}else e=!1;else e=!1;return e},a.dataURItoBlob=function(e){for(var t=atob(e.split(\",\")[1]),i=e.split(\",\")[0].split(\":\")[1].split(\";\")[0],n=new ArrayBuffer(t.length),r=new Uint8Array(n),o=0,a=t.length,s=0<=a;s?o<=a:o>=a;s?o++:o--)r[o]=t.charCodeAt(o);return new Blob([n],{type:i})};var s=function(e,t){return e.filter(function(e){return e!==t}).map(function(e){return e})},l=function(e){return e.replace(/[\\-_](\\w)/g,function(e){return e.charAt(1).toUpperCase()})};a.createElement=function(e){var t=document.createElement(\"div\");return t.innerHTML=e,t.childNodes[0]},a.elementInside=function(e,t){if(e===t)return!0;for(;e=e.parentNode;)if(e===t)return!0;return!1},a.getElement=function(e,t){var i=void 0;if(\"string\"==typeof e?i=document.querySelector(e):null!=e.nodeType&&(i=e),null==i)throw new Error(\"Invalid `\"+t+\"` option provided. Please provide a CSS selector or a plain HTML element.\");return i},a.getElements=function(e,t){var i=void 0,n=void 0;if(e instanceof Array){n=[];try{for(var r=0,o=o=e;!(r>=o.length);)i=o[r++],n.push(this.getElement(i,t))}catch(e){n=null}}else if(\"string\"==typeof e){n=[];for(var a=0,s=s=document.querySelectorAll(e);!(a>=s.length);)i=s[a++],n.push(i)}else null!=e.nodeType&&(n=[e]);if(null==n||!n.length)throw new Error(\"Invalid `\"+t+\"` option provided. Please provide a CSS selector, a plain HTML element or a list of those.\");return n},a.confirm=function(e,t,i){return window.confirm(e)?t():null!=i?i():void 0},a.isValidFile=function(e,t){if(!t)return!0;t=t.split(\",\");for(var i=e.type,n=i.replace(/\\/.*$/,\"\"),r=0,o=o=t;;){if(r>=o.length)break;var a=o[r++];if(\".\"===(a=a.trim()).charAt(0)){if(-1!==e.name.toLowerCase().indexOf(a.toLowerCase(),e.name.length-a.length))return!0}else if(/\\/\\*$/.test(a)){if(n===a.replace(/\\/.*$/,\"\"))return!0}else if(i===a)return!0}return!1},\"undefined\"!=typeof jQuery&&null!==jQuery&&(jQuery.fn.dropzone=function(e){return this.each(function(){return new a(this,e)})}),void 0!==e&&null!==e?e.exports=a:window.Dropzone=a,a.ADDED=\"added\",a.QUEUED=\"queued\",a.ACCEPTED=a.QUEUED,a.UPLOADING=\"uploading\",a.PROCESSING=a.UPLOADING,a.CANCELED=\"canceled\",a.ERROR=\"error\",a.SUCCESS=\"success\";var u=function(e,t,i,n,r,o,a,s,l,u){var d=function(e){e.naturalWidth;var t=e.naturalHeight,i=document.createElement(\"canvas\");i.width=1,i.height=t;var n=i.getContext(\"2d\");n.drawImage(e,0,0);for(var r=n.getImageData(1,0,1,t).data,o=0,a=t,s=t;s>o;)0===r[4*(s-1)+3]?a=s:o=s,s=a+o>>1;var l=s/t;return 0===l?1:l}(t);return e.drawImage(t,i,n,r,o,a,s,l,u/d)},d=function(){function e(){r(this,e)}return i(e,null,[{key:\"initClass\",value:function(){this.KEY_STR=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}},{key:\"encode64\",value:function(e){for(var t=\"\",i=void 0,n=void 0,r=\"\",o=void 0,a=void 0,s=void 0,l=\"\",u=0;o=(i=e[u++])>>2,a=(3&i)<<4|(n=e[u++])>>4,s=(15&n)<<2|(r=e[u++])>>6,l=63&r,isNaN(n)?s=l=64:isNaN(r)&&(l=64),t=t+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(a)+this.KEY_STR.charAt(s)+this.KEY_STR.charAt(l),i=n=r=\"\",o=a=s=l=\"\",u<e.length;);return t}},{key:\"restore\",value:function(e,t){if(!e.match(\"data:image/jpeg;base64,\"))return t;var i=this.decode64(e.replace(\"data:image/jpeg;base64,\",\"\")),n=this.slice2Segments(i),r=this.exifManipulation(t,n);return\"data:image/jpeg;base64,\"+this.encode64(r)}},{key:\"exifManipulation\",value:function(e,t){var i=this.getExifArray(t),n=this.insertExif(e,i);return new Uint8Array(n)}},{key:\"getExifArray\",value:function(e){for(var t=void 0,i=0;i<e.length;){if(255===(t=e[i])[0]&225===t[1])return t;i++}return[]}},{key:\"insertExif\",value:function(e,t){var i=e.replace(\"data:image/jpeg;base64,\",\"\"),n=this.decode64(i),r=n.indexOf(255,3),o=n.slice(0,r),a=n.slice(r),s=o;return s=(s=s.concat(t)).concat(a)}},{key:\"slice2Segments\",value:function(e){for(var t=0,i=[];;){if(255===e[t]&218===e[t+1])break;if(255===e[t]&216===e[t+1])t+=2;else{var n=t+(256*e[t+2]+e[t+3])+2,r=e.slice(t,n);i.push(r),t=n}if(t>e.length)break}return i}},{key:\"decode64\",value:function(e){var t=void 0,i=void 0,n=\"\",r=void 0,o=void 0,a=\"\",s=0,l=[];for(/[^A-Za-z0-9\\+\\/\\=]/g.exec(e)&&console.warn(\"There were invalid base64 characters in the input text.\\nValid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\\nExpect errors in decoding.\"),e=e.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");t=this.KEY_STR.indexOf(e.charAt(s++))<<2|(r=this.KEY_STR.indexOf(e.charAt(s++)))>>4,i=(15&r)<<4|(o=this.KEY_STR.indexOf(e.charAt(s++)))>>2,n=(3&o)<<6|(a=this.KEY_STR.indexOf(e.charAt(s++))),l.push(t),64!==o&&l.push(i),64!==a&&l.push(n),t=i=n=\"\",r=o=a=\"\",s<e.length;);return l}}]),e}();d.initClass();a._autoDiscoverFunction=function(){if(a.autoDiscover)return a.discover()},function(e,t){var i=!1,n=!0,r=e.document,o=r.documentElement,a=r.addEventListener?\"addEventListener\":\"attachEvent\",s=r.addEventListener?\"removeEventListener\":\"detachEvent\",l=r.addEventListener?\"\":\"on\",u=function n(o){if(\"readystatechange\"!==o.type||\"complete\"===r.readyState)return(\"load\"===o.type?e:r)[s](l+o.type,n,!1),!i&&(i=!0)?t.call(e,o.type||o):void 0};if(\"complete\"!==r.readyState){if(r.createEventObject&&o.doScroll){try{n=!e.frameElement}catch(e){}n&&function e(){try{o.doScroll(\"left\")}catch(t){return void setTimeout(e,50)}return u(\"poll\")}()}r[a](l+\"DOMContentLoaded\",u,!1),r[a](l+\"readystatechange\",u,!1),e[a](l+\"load\",u,!1)}}(window,a._autoDiscoverFunction)}).call(t,i(\"3IRH\")(e))}});"
  },
  {
    "path": "public/plugins/new-croppie/cropper.css",
    "content": "/*!\n * Cropper.js v1.5.7\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-05-23T05:22:57.283Z\n */\n\n.cropper-container {\n  direction: ltr;\n  font-size: 0;\n  line-height: 0;\n  position: relative;\n  -ms-touch-action: none;\n  touch-action: none;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.cropper-container img {\n  display: block;\n  height: 100%;\n  image-orientation: 0deg;\n  max-height: none !important;\n  max-width: none !important;\n  min-height: 0 !important;\n  min-width: 0 !important;\n  width: 100%;\n}\n\n.cropper-wrap-box,\n.cropper-canvas,\n.cropper-drag-box,\n.cropper-crop-box,\n.cropper-modal {\n  bottom: 0;\n  left: 0;\n  position: absolute;\n  right: 0;\n  top: 0;\n}\n\n.cropper-wrap-box,\n.cropper-canvas {\n  overflow: hidden;\n}\n\n.cropper-drag-box {\n  background-color: #fff;\n  opacity: 0;\n}\n\n.cropper-modal {\n  background-color: #000;\n  opacity: 0.5;\n}\n\n.cropper-view-box {\n  display: block;\n  height: 100%;\n  outline: 1px solid #39f;\n  outline-color: rgba(51, 153, 255, 0.75);\n  overflow: hidden;\n  width: 100%;\n}\n\n.cropper-dashed {\n  border: 0 dashed #eee;\n  display: block;\n  opacity: 0.5;\n  position: absolute;\n}\n\n.cropper-dashed.dashed-h {\n  border-bottom-width: 1px;\n  border-top-width: 1px;\n  height: calc(100% / 3);\n  left: 0;\n  top: calc(100% / 3);\n  width: 100%;\n}\n\n.cropper-dashed.dashed-v {\n  border-left-width: 1px;\n  border-right-width: 1px;\n  height: 100%;\n  left: calc(100% / 3);\n  top: 0;\n  width: calc(100% / 3);\n}\n\n.cropper-center {\n  display: block;\n  height: 0;\n  left: 50%;\n  opacity: 0.75;\n  position: absolute;\n  top: 50%;\n  width: 0;\n}\n\n.cropper-center::before,\n.cropper-center::after {\n  background-color: #eee;\n  content: ' ';\n  display: block;\n  position: absolute;\n}\n\n.cropper-center::before {\n  height: 1px;\n  left: -3px;\n  top: 0;\n  width: 7px;\n}\n\n.cropper-center::after {\n  height: 7px;\n  left: 0;\n  top: -3px;\n  width: 1px;\n}\n\n.cropper-face,\n.cropper-line,\n.cropper-point {\n  display: block;\n  height: 100%;\n  opacity: 0.1;\n  position: absolute;\n  width: 100%;\n}\n\n.cropper-face {\n  background-color: #fff;\n  left: 0;\n  top: 0;\n}\n\n.cropper-line {\n  background-color: #39f;\n}\n\n.cropper-line.line-e {\n  cursor: ew-resize;\n  right: -3px;\n  top: 0;\n  width: 5px;\n}\n\n.cropper-line.line-n {\n  cursor: ns-resize;\n  height: 5px;\n  left: 0;\n  top: -3px;\n}\n\n.cropper-line.line-w {\n  cursor: ew-resize;\n  left: -3px;\n  top: 0;\n  width: 5px;\n}\n\n.cropper-line.line-s {\n  bottom: -3px;\n  cursor: ns-resize;\n  height: 5px;\n  left: 0;\n}\n\n.cropper-point {\n  background-color: #39f;\n  height: 5px;\n  opacity: 0.75;\n  width: 5px;\n}\n\n.cropper-point.point-e {\n  cursor: ew-resize;\n  margin-top: -3px;\n  right: -3px;\n  top: 50%;\n}\n\n.cropper-point.point-n {\n  cursor: ns-resize;\n  left: 50%;\n  margin-left: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-w {\n  cursor: ew-resize;\n  left: -3px;\n  margin-top: -3px;\n  top: 50%;\n}\n\n.cropper-point.point-s {\n  bottom: -3px;\n  cursor: s-resize;\n  left: 50%;\n  margin-left: -3px;\n}\n\n.cropper-point.point-ne {\n  cursor: nesw-resize;\n  right: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-nw {\n  cursor: nwse-resize;\n  left: -3px;\n  top: -3px;\n}\n\n.cropper-point.point-sw {\n  bottom: -3px;\n  cursor: nesw-resize;\n  left: -3px;\n}\n\n.cropper-point.point-se {\n  bottom: -3px;\n  cursor: nwse-resize;\n  height: 20px;\n  opacity: 1;\n  right: -3px;\n  width: 20px;\n}\n\n@media (min-width: 768px) {\n  .cropper-point.point-se {\n    height: 15px;\n    width: 15px;\n  }\n}\n\n@media (min-width: 992px) {\n  .cropper-point.point-se {\n    height: 10px;\n    width: 10px;\n  }\n}\n\n@media (min-width: 1200px) {\n  .cropper-point.point-se {\n    height: 5px;\n    opacity: 0.75;\n    width: 5px;\n  }\n}\n\n.cropper-point.point-se::before {\n  background-color: #39f;\n  bottom: -50%;\n  content: ' ';\n  display: block;\n  height: 200%;\n  opacity: 0;\n  position: absolute;\n  right: -50%;\n  width: 200%;\n}\n\n.cropper-invisible {\n  opacity: 0;\n}\n\n.cropper-bg {\n  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC');\n}\n\n.cropper-hide {\n  display: block;\n  height: 0;\n  position: absolute;\n  width: 0;\n}\n\n.cropper-hidden {\n  display: none !important;\n}\n\n.cropper-move {\n  cursor: move;\n}\n\n.cropper-crop {\n  cursor: crosshair;\n}\n\n.cropper-disabled .cropper-drag-box,\n.cropper-disabled .cropper-face,\n.cropper-disabled .cropper-line,\n.cropper-disabled .cropper-point {\n  cursor: not-allowed;\n}\n"
  },
  {
    "path": "public/plugins/new-croppie/cropper.js",
    "content": "/*!\n * Cropper.js v1.5.7\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2020-05-23T05:23:00.081Z\n */\n\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global = global || self, global.Cropper = factory());\n}(this, (function () { 'use strict';\n\n  function _typeof(obj) {\n    \"@babel/helpers - typeof\";\n\n    if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n      _typeof = function (obj) {\n        return typeof obj;\n      };\n    } else {\n      _typeof = function (obj) {\n        return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n      };\n    }\n\n    return _typeof(obj);\n  }\n\n  function _classCallCheck(instance, Constructor) {\n    if (!(instance instanceof Constructor)) {\n      throw new TypeError(\"Cannot call a class as a function\");\n    }\n  }\n\n  function _defineProperties(target, props) {\n    for (var i = 0; i < props.length; i++) {\n      var descriptor = props[i];\n      descriptor.enumerable = descriptor.enumerable || false;\n      descriptor.configurable = true;\n      if (\"value\" in descriptor) descriptor.writable = true;\n      Object.defineProperty(target, descriptor.key, descriptor);\n    }\n  }\n\n  function _createClass(Constructor, protoProps, staticProps) {\n    if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n    if (staticProps) _defineProperties(Constructor, staticProps);\n    return Constructor;\n  }\n\n  function _defineProperty(obj, key, value) {\n    if (key in obj) {\n      Object.defineProperty(obj, key, {\n        value: value,\n        enumerable: true,\n        configurable: true,\n        writable: true\n      });\n    } else {\n      obj[key] = value;\n    }\n\n    return obj;\n  }\n\n  function ownKeys(object, enumerableOnly) {\n    var keys = Object.keys(object);\n\n    if (Object.getOwnPropertySymbols) {\n      var symbols = Object.getOwnPropertySymbols(object);\n      if (enumerableOnly) symbols = symbols.filter(function (sym) {\n        return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n      });\n      keys.push.apply(keys, symbols);\n    }\n\n    return keys;\n  }\n\n  function _objectSpread2(target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i] != null ? arguments[i] : {};\n\n      if (i % 2) {\n        ownKeys(Object(source), true).forEach(function (key) {\n          _defineProperty(target, key, source[key]);\n        });\n      } else if (Object.getOwnPropertyDescriptors) {\n        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n      } else {\n        ownKeys(Object(source)).forEach(function (key) {\n          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n        });\n      }\n    }\n\n    return target;\n  }\n\n  function _toConsumableArray(arr) {\n    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n  }\n\n  function _arrayWithoutHoles(arr) {\n    if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n  }\n\n  function _iterableToArray(iter) {\n    if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n  }\n\n  function _unsupportedIterableToArray(o, minLen) {\n    if (!o) return;\n    if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n    var n = Object.prototype.toString.call(o).slice(8, -1);\n    if (n === \"Object\" && o.constructor) n = o.constructor.name;\n    if (n === \"Map\" || n === \"Set\") return Array.from(o);\n    if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n  }\n\n  function _arrayLikeToArray(arr, len) {\n    if (len == null || len > arr.length) len = arr.length;\n\n    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n    return arr2;\n  }\n\n  function _nonIterableSpread() {\n    throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n  }\n\n  var IS_BROWSER = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n  var WINDOW = IS_BROWSER ? window : {};\n  var IS_TOUCH_DEVICE = IS_BROWSER && WINDOW.document.documentElement ? 'ontouchstart' in WINDOW.document.documentElement : false;\n  var HAS_POINTER_EVENT = IS_BROWSER ? 'PointerEvent' in WINDOW : false;\n  var NAMESPACE = 'cropper'; // Actions\n\n  var ACTION_ALL = 'all';\n  var ACTION_CROP = 'crop';\n  var ACTION_MOVE = 'move';\n  var ACTION_ZOOM = 'zoom';\n  var ACTION_EAST = 'e';\n  var ACTION_WEST = 'w';\n  var ACTION_SOUTH = 's';\n  var ACTION_NORTH = 'n';\n  var ACTION_NORTH_EAST = 'ne';\n  var ACTION_NORTH_WEST = 'nw';\n  var ACTION_SOUTH_EAST = 'se';\n  var ACTION_SOUTH_WEST = 'sw'; // Classes\n\n  var CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\n  var CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\n  var CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\n  var CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\n  var CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\n  var CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\n  var CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\"); // Data keys\n\n  var DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\n  var DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\"); // Drag modes\n\n  var DRAG_MODE_CROP = 'crop';\n  var DRAG_MODE_MOVE = 'move';\n  var DRAG_MODE_NONE = 'none'; // Events\n\n  var EVENT_CROP = 'crop';\n  var EVENT_CROP_END = 'cropend';\n  var EVENT_CROP_MOVE = 'cropmove';\n  var EVENT_CROP_START = 'cropstart';\n  var EVENT_DBLCLICK = 'dblclick';\n  var EVENT_TOUCH_START = IS_TOUCH_DEVICE ? 'touchstart' : 'mousedown';\n  var EVENT_TOUCH_MOVE = IS_TOUCH_DEVICE ? 'touchmove' : 'mousemove';\n  var EVENT_TOUCH_END = IS_TOUCH_DEVICE ? 'touchend touchcancel' : 'mouseup';\n  var EVENT_POINTER_DOWN = HAS_POINTER_EVENT ? 'pointerdown' : EVENT_TOUCH_START;\n  var EVENT_POINTER_MOVE = HAS_POINTER_EVENT ? 'pointermove' : EVENT_TOUCH_MOVE;\n  var EVENT_POINTER_UP = HAS_POINTER_EVENT ? 'pointerup pointercancel' : EVENT_TOUCH_END;\n  var EVENT_READY = 'ready';\n  var EVENT_RESIZE = 'resize';\n  var EVENT_WHEEL = 'wheel';\n  var EVENT_ZOOM = 'zoom'; // Mime types\n\n  var MIME_TYPE_JPEG = 'image/jpeg'; // RegExps\n\n  var REGEXP_ACTIONS = /^e|w|s|n|se|sw|ne|nw|all|crop|move|zoom$/;\n  var REGEXP_DATA_URL = /^data:/;\n  var REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\n  var REGEXP_TAG_NAME = /^img|canvas$/i; // Misc\n\n  var DEFAULTS = {\n    // Define the view mode of the cropper\n    viewMode: 0,\n    // 0, 1, 2, 3\n    // Define the dragging mode of the cropper\n    dragMode: DRAG_MODE_CROP,\n    // 'crop', 'move' or 'none'\n    // Define the initial aspect ratio of the crop box\n    initialAspectRatio: NaN,\n    // Define the aspect ratio of the crop box\n    aspectRatio: NaN,\n    // An object with the previous cropping result data\n    data: null,\n    // A selector for adding extra containers to preview\n    preview: '',\n    // Re-render the cropper when resize the window\n    responsive: true,\n    // Restore the cropped area after resize the window\n    restore: true,\n    // Check if the current image is a cross-origin image\n    checkCrossOrigin: true,\n    // Check the current image's Exif Orientation information\n    checkOrientation: true,\n    // Show the black modal\n    modal: true,\n    // Show the dashed lines for guiding\n    guides: true,\n    // Show the center indicator for guiding\n    center: true,\n    // Show the white modal to highlight the crop box\n    highlight: true,\n    // Show the grid background\n    background: true,\n    // Enable to crop the image automatically when initialize\n    autoCrop: true,\n    // Define the percentage of automatic cropping area when initializes\n    autoCropArea: 0.8,\n    // Enable to move the image\n    movable: true,\n    // Enable to rotate the image\n    rotatable: true,\n    // Enable to scale the image\n    scalable: true,\n    // Enable to zoom the image\n    zoomable: true,\n    // Enable to zoom the image by dragging touch\n    zoomOnTouch: true,\n    // Enable to zoom the image by wheeling mouse\n    zoomOnWheel: true,\n    // Define zoom ratio when zoom the image by wheeling mouse\n    wheelZoomRatio: 0.1,\n    // Enable to move the crop box\n    cropBoxMovable: true,\n    // Enable to resize the crop box\n    cropBoxResizable: true,\n    // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n    toggleDragModeOnDblclick: true,\n    // Size limitation\n    minCanvasWidth: 0,\n    minCanvasHeight: 0,\n    minCropBoxWidth: 0,\n    minCropBoxHeight: 0,\n    minContainerWidth: 200,\n    minContainerHeight: 100,\n    // Shortcuts of events\n    ready: null,\n    cropstart: null,\n    cropmove: null,\n    cropend: null,\n    crop: null,\n    zoom: null\n  };\n\n  var TEMPLATE = '<div class=\"cropper-container\" touch-action=\"none\">' + '<div class=\"cropper-wrap-box\">' + '<div class=\"cropper-canvas\"></div>' + '</div>' + '<div class=\"cropper-drag-box\"></div>' + '<div class=\"cropper-crop-box\">' + '<span class=\"cropper-view-box\"></span>' + '<span class=\"cropper-dashed dashed-h\"></span>' + '<span class=\"cropper-dashed dashed-v\"></span>' + '<span class=\"cropper-center\"></span>' + '<span class=\"cropper-face\"></span>' + '<span class=\"cropper-line line-e\" data-cropper-action=\"e\"></span>' + '<span class=\"cropper-line line-n\" data-cropper-action=\"n\"></span>' + '<span class=\"cropper-line line-w\" data-cropper-action=\"w\"></span>' + '<span class=\"cropper-line line-s\" data-cropper-action=\"s\"></span>' + '<span class=\"cropper-point point-e\" data-cropper-action=\"e\"></span>' + '<span class=\"cropper-point point-n\" data-cropper-action=\"n\"></span>' + '<span class=\"cropper-point point-w\" data-cropper-action=\"w\"></span>' + '<span class=\"cropper-point point-s\" data-cropper-action=\"s\"></span>' + '<span class=\"cropper-point point-ne\" data-cropper-action=\"ne\"></span>' + '<span class=\"cropper-point point-nw\" data-cropper-action=\"nw\"></span>' + '<span class=\"cropper-point point-sw\" data-cropper-action=\"sw\"></span>' + '<span class=\"cropper-point point-se\" data-cropper-action=\"se\"></span>' + '</div>' + '</div>';\n\n  /**\n   * Check if the given value is not a number.\n   */\n\n  var isNaN = Number.isNaN || WINDOW.isNaN;\n  /**\n   * Check if the given value is a number.\n   * @param {*} value - The value to check.\n   * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n   */\n\n  function isNumber(value) {\n    return typeof value === 'number' && !isNaN(value);\n  }\n  /**\n   * Check if the given value is a positive number.\n   * @param {*} value - The value to check.\n   * @returns {boolean} Returns `true` if the given value is a positive number, else `false`.\n   */\n\n  var isPositiveNumber = function isPositiveNumber(value) {\n    return value > 0 && value < Infinity;\n  };\n  /**\n   * Check if the given value is undefined.\n   * @param {*} value - The value to check.\n   * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n   */\n\n  function isUndefined(value) {\n    return typeof value === 'undefined';\n  }\n  /**\n   * Check if the given value is an object.\n   * @param {*} value - The value to check.\n   * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n   */\n\n  function isObject(value) {\n    return _typeof(value) === 'object' && value !== null;\n  }\n  var hasOwnProperty = Object.prototype.hasOwnProperty;\n  /**\n   * Check if the given value is a plain object.\n   * @param {*} value - The value to check.\n   * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n   */\n\n  function isPlainObject(value) {\n    if (!isObject(value)) {\n      return false;\n    }\n\n    try {\n      var _constructor = value.constructor;\n      var prototype = _constructor.prototype;\n      return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n    } catch (error) {\n      return false;\n    }\n  }\n  /**\n   * Check if the given value is a function.\n   * @param {*} value - The value to check.\n   * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n   */\n\n  function isFunction(value) {\n    return typeof value === 'function';\n  }\n  var slice = Array.prototype.slice;\n  /**\n   * Convert array-like or iterable object to an array.\n   * @param {*} value - The value to convert.\n   * @returns {Array} Returns a new array.\n   */\n\n  function toArray(value) {\n    return Array.from ? Array.from(value) : slice.call(value);\n  }\n  /**\n   * Iterate the given data.\n   * @param {*} data - The data to iterate.\n   * @param {Function} callback - The process function for each element.\n   * @returns {*} The original data.\n   */\n\n  function forEach(data, callback) {\n    if (data && isFunction(callback)) {\n      if (Array.isArray(data) || isNumber(data.length)\n      /* array-like */\n      ) {\n          toArray(data).forEach(function (value, key) {\n            callback.call(data, value, key, data);\n          });\n        } else if (isObject(data)) {\n        Object.keys(data).forEach(function (key) {\n          callback.call(data, data[key], key, data);\n        });\n      }\n    }\n\n    return data;\n  }\n  /**\n   * Extend the given object.\n   * @param {*} target - The target object to extend.\n   * @param {*} args - The rest objects for merging to the target object.\n   * @returns {Object} The extended object.\n   */\n\n  var assign = Object.assign || function assign(target) {\n    for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n      args[_key - 1] = arguments[_key];\n    }\n\n    if (isObject(target) && args.length > 0) {\n      args.forEach(function (arg) {\n        if (isObject(arg)) {\n          Object.keys(arg).forEach(function (key) {\n            target[key] = arg[key];\n          });\n        }\n      });\n    }\n\n    return target;\n  };\n  var REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n  /**\n   * Normalize decimal number.\n   * Check out {@link https://0.30000000000000004.com/}\n   * @param {number} value - The value to normalize.\n   * @param {number} [times=100000000000] - The times for normalizing.\n   * @returns {number} Returns the normalized number.\n   */\n\n  function normalizeDecimalNumber(value) {\n    var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n    return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n  }\n  var REGEXP_SUFFIX = /^width|height|left|top|marginLeft|marginTop$/;\n  /**\n   * Apply styles to the given element.\n   * @param {Element} element - The target element.\n   * @param {Object} styles - The styles for applying.\n   */\n\n  function setStyle(element, styles) {\n    var style = element.style;\n    forEach(styles, function (value, property) {\n      if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n        value = \"\".concat(value, \"px\");\n      }\n\n      style[property] = value;\n    });\n  }\n  /**\n   * Check if the given element has a special class.\n   * @param {Element} element - The element to check.\n   * @param {string} value - The class to search.\n   * @returns {boolean} Returns `true` if the special class was found.\n   */\n\n  function hasClass(element, value) {\n    return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n  }\n  /**\n   * Add classes to the given element.\n   * @param {Element} element - The target element.\n   * @param {string} value - The classes to be added.\n   */\n\n  function addClass(element, value) {\n    if (!value) {\n      return;\n    }\n\n    if (isNumber(element.length)) {\n      forEach(element, function (elem) {\n        addClass(elem, value);\n      });\n      return;\n    }\n\n    if (element.classList) {\n      element.classList.add(value);\n      return;\n    }\n\n    var className = element.className.trim();\n\n    if (!className) {\n      element.className = value;\n    } else if (className.indexOf(value) < 0) {\n      element.className = \"\".concat(className, \" \").concat(value);\n    }\n  }\n  /**\n   * Remove classes from the given element.\n   * @param {Element} element - The target element.\n   * @param {string} value - The classes to be removed.\n   */\n\n  function removeClass(element, value) {\n    if (!value) {\n      return;\n    }\n\n    if (isNumber(element.length)) {\n      forEach(element, function (elem) {\n        removeClass(elem, value);\n      });\n      return;\n    }\n\n    if (element.classList) {\n      element.classList.remove(value);\n      return;\n    }\n\n    if (element.className.indexOf(value) >= 0) {\n      element.className = element.className.replace(value, '');\n    }\n  }\n  /**\n   * Add or remove classes from the given element.\n   * @param {Element} element - The target element.\n   * @param {string} value - The classes to be toggled.\n   * @param {boolean} added - Add only.\n   */\n\n  function toggleClass(element, value, added) {\n    if (!value) {\n      return;\n    }\n\n    if (isNumber(element.length)) {\n      forEach(element, function (elem) {\n        toggleClass(elem, value, added);\n      });\n      return;\n    } // IE10-11 doesn't support the second parameter of `classList.toggle`\n\n\n    if (added) {\n      addClass(element, value);\n    } else {\n      removeClass(element, value);\n    }\n  }\n  var REGEXP_CAMEL_CASE = /([a-z\\d])([A-Z])/g;\n  /**\n   * Transform the given string from camelCase to kebab-case\n   * @param {string} value - The value to transform.\n   * @returns {string} The transformed value.\n   */\n\n  function toParamCase(value) {\n    return value.replace(REGEXP_CAMEL_CASE, '$1-$2').toLowerCase();\n  }\n  /**\n   * Get data from the given element.\n   * @param {Element} element - The target element.\n   * @param {string} name - The data key to get.\n   * @returns {string} The data value.\n   */\n\n  function getData(element, name) {\n    if (isObject(element[name])) {\n      return element[name];\n    }\n\n    if (element.dataset) {\n      return element.dataset[name];\n    }\n\n    return element.getAttribute(\"data-\".concat(toParamCase(name)));\n  }\n  /**\n   * Set data to the given element.\n   * @param {Element} element - The target element.\n   * @param {string} name - The data key to set.\n   * @param {string} data - The data value.\n   */\n\n  function setData(element, name, data) {\n    if (isObject(data)) {\n      element[name] = data;\n    } else if (element.dataset) {\n      element.dataset[name] = data;\n    } else {\n      element.setAttribute(\"data-\".concat(toParamCase(name)), data);\n    }\n  }\n  /**\n   * Remove data from the given element.\n   * @param {Element} element - The target element.\n   * @param {string} name - The data key to remove.\n   */\n\n  function removeData(element, name) {\n    if (isObject(element[name])) {\n      try {\n        delete element[name];\n      } catch (error) {\n        element[name] = undefined;\n      }\n    } else if (element.dataset) {\n      // #128 Safari not allows to delete dataset property\n      try {\n        delete element.dataset[name];\n      } catch (error) {\n        element.dataset[name] = undefined;\n      }\n    } else {\n      element.removeAttribute(\"data-\".concat(toParamCase(name)));\n    }\n  }\n  var REGEXP_SPACES = /\\s\\s*/;\n\n  var onceSupported = function () {\n    var supported = false;\n\n    if (IS_BROWSER) {\n      var once = false;\n\n      var listener = function listener() {};\n\n      var options = Object.defineProperty({}, 'once', {\n        get: function get() {\n          supported = true;\n          return once;\n        },\n\n        /**\n         * This setter can fix a `TypeError` in strict mode\n         * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n         * @param {boolean} value - The value to set\n         */\n        set: function set(value) {\n          once = value;\n        }\n      });\n      WINDOW.addEventListener('test', listener, options);\n      WINDOW.removeEventListener('test', listener, options);\n    }\n\n    return supported;\n  }();\n  /**\n   * Remove event listener from the target element.\n   * @param {Element} element - The event target.\n   * @param {string} type - The event type(s).\n   * @param {Function} listener - The event listener.\n   * @param {Object} options - The event options.\n   */\n\n\n  function removeListener(element, type, listener) {\n    var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n    var handler = listener;\n    type.trim().split(REGEXP_SPACES).forEach(function (event) {\n      if (!onceSupported) {\n        var listeners = element.listeners;\n\n        if (listeners && listeners[event] && listeners[event][listener]) {\n          handler = listeners[event][listener];\n          delete listeners[event][listener];\n\n          if (Object.keys(listeners[event]).length === 0) {\n            delete listeners[event];\n          }\n\n          if (Object.keys(listeners).length === 0) {\n            delete element.listeners;\n          }\n        }\n      }\n\n      element.removeEventListener(event, handler, options);\n    });\n  }\n  /**\n   * Add event listener to the target element.\n   * @param {Element} element - The event target.\n   * @param {string} type - The event type(s).\n   * @param {Function} listener - The event listener.\n   * @param {Object} options - The event options.\n   */\n\n  function addListener(element, type, listener) {\n    var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n    var _handler = listener;\n    type.trim().split(REGEXP_SPACES).forEach(function (event) {\n      if (options.once && !onceSupported) {\n        var _element$listeners = element.listeners,\n            listeners = _element$listeners === void 0 ? {} : _element$listeners;\n\n        _handler = function handler() {\n          delete listeners[event][listener];\n          element.removeEventListener(event, _handler, options);\n\n          for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n            args[_key2] = arguments[_key2];\n          }\n\n          listener.apply(element, args);\n        };\n\n        if (!listeners[event]) {\n          listeners[event] = {};\n        }\n\n        if (listeners[event][listener]) {\n          element.removeEventListener(event, listeners[event][listener], options);\n        }\n\n        listeners[event][listener] = _handler;\n        element.listeners = listeners;\n      }\n\n      element.addEventListener(event, _handler, options);\n    });\n  }\n  /**\n   * Dispatch event on the target element.\n   * @param {Element} element - The event target.\n   * @param {string} type - The event type(s).\n   * @param {Object} data - The additional event data.\n   * @returns {boolean} Indicate if the event is default prevented or not.\n   */\n\n  function dispatchEvent(element, type, data) {\n    var event; // Event and CustomEvent on IE9-11 are global objects, not constructors\n\n    if (isFunction(Event) && isFunction(CustomEvent)) {\n      event = new CustomEvent(type, {\n        detail: data,\n        bubbles: true,\n        cancelable: true\n      });\n    } else {\n      event = document.createEvent('CustomEvent');\n      event.initCustomEvent(type, true, true, data);\n    }\n\n    return element.dispatchEvent(event);\n  }\n  /**\n   * Get the offset base on the document.\n   * @param {Element} element - The target element.\n   * @returns {Object} The offset data.\n   */\n\n  function getOffset(element) {\n    var box = element.getBoundingClientRect();\n    return {\n      left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n      top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n    };\n  }\n  var location = WINDOW.location;\n  var REGEXP_ORIGINS = /^(\\w+:)\\/\\/([^:/?#]*):?(\\d*)/i;\n  /**\n   * Check if the given URL is a cross origin URL.\n   * @param {string} url - The target URL.\n   * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n   */\n\n  function isCrossOriginURL(url) {\n    var parts = url.match(REGEXP_ORIGINS);\n    return parts !== null && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n  }\n  /**\n   * Add timestamp to the given URL.\n   * @param {string} url - The target URL.\n   * @returns {string} The result URL.\n   */\n\n  function addTimestamp(url) {\n    var timestamp = \"timestamp=\".concat(new Date().getTime());\n    return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n  }\n  /**\n   * Get transforms base on the given object.\n   * @param {Object} obj - The target object.\n   * @returns {string} A string contains transform values.\n   */\n\n  function getTransforms(_ref) {\n    var rotate = _ref.rotate,\n        scaleX = _ref.scaleX,\n        scaleY = _ref.scaleY,\n        translateX = _ref.translateX,\n        translateY = _ref.translateY;\n    var values = [];\n\n    if (isNumber(translateX) && translateX !== 0) {\n      values.push(\"translateX(\".concat(translateX, \"px)\"));\n    }\n\n    if (isNumber(translateY) && translateY !== 0) {\n      values.push(\"translateY(\".concat(translateY, \"px)\"));\n    } // Rotate should come first before scale to match orientation transform\n\n\n    if (isNumber(rotate) && rotate !== 0) {\n      values.push(\"rotate(\".concat(rotate, \"deg)\"));\n    }\n\n    if (isNumber(scaleX) && scaleX !== 1) {\n      values.push(\"scaleX(\".concat(scaleX, \")\"));\n    }\n\n    if (isNumber(scaleY) && scaleY !== 1) {\n      values.push(\"scaleY(\".concat(scaleY, \")\"));\n    }\n\n    var transform = values.length ? values.join(' ') : 'none';\n    return {\n      WebkitTransform: transform,\n      msTransform: transform,\n      transform: transform\n    };\n  }\n  /**\n   * Get the max ratio of a group of pointers.\n   * @param {string} pointers - The target pointers.\n   * @returns {number} The result ratio.\n   */\n\n  function getMaxZoomRatio(pointers) {\n    var pointers2 = _objectSpread2({}, pointers);\n\n    var ratios = [];\n    forEach(pointers, function (pointer, pointerId) {\n      delete pointers2[pointerId];\n      forEach(pointers2, function (pointer2) {\n        var x1 = Math.abs(pointer.startX - pointer2.startX);\n        var y1 = Math.abs(pointer.startY - pointer2.startY);\n        var x2 = Math.abs(pointer.endX - pointer2.endX);\n        var y2 = Math.abs(pointer.endY - pointer2.endY);\n        var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n        var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n        var ratio = (z2 - z1) / z1;\n        ratios.push(ratio);\n      });\n    });\n    ratios.sort(function (a, b) {\n      return Math.abs(a) < Math.abs(b);\n    });\n    return ratios[0];\n  }\n  /**\n   * Get a pointer from an event object.\n   * @param {Object} event - The target event object.\n   * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n   * @returns {Object} The result pointer contains start and/or end point coordinates.\n   */\n\n  function getPointer(_ref2, endOnly) {\n    var pageX = _ref2.pageX,\n        pageY = _ref2.pageY;\n    var end = {\n      endX: pageX,\n      endY: pageY\n    };\n    return endOnly ? end : _objectSpread2({\n      startX: pageX,\n      startY: pageY\n    }, end);\n  }\n  /**\n   * Get the center point coordinate of a group of pointers.\n   * @param {Object} pointers - The target pointers.\n   * @returns {Object} The center point coordinate.\n   */\n\n  function getPointersCenter(pointers) {\n    var pageX = 0;\n    var pageY = 0;\n    var count = 0;\n    forEach(pointers, function (_ref3) {\n      var startX = _ref3.startX,\n          startY = _ref3.startY;\n      pageX += startX;\n      pageY += startY;\n      count += 1;\n    });\n    pageX /= count;\n    pageY /= count;\n    return {\n      pageX: pageX,\n      pageY: pageY\n    };\n  }\n  /**\n   * Get the max sizes in a rectangle under the given aspect ratio.\n   * @param {Object} data - The original sizes.\n   * @param {string} [type='contain'] - The adjust type.\n   * @returns {Object} The result sizes.\n   */\n\n  function getAdjustedSizes(_ref4) // or 'cover'\n  {\n    var aspectRatio = _ref4.aspectRatio,\n        height = _ref4.height,\n        width = _ref4.width;\n    var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n    var isValidWidth = isPositiveNumber(width);\n    var isValidHeight = isPositiveNumber(height);\n\n    if (isValidWidth && isValidHeight) {\n      var adjustedWidth = height * aspectRatio;\n\n      if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n        height = width / aspectRatio;\n      } else {\n        width = height * aspectRatio;\n      }\n    } else if (isValidWidth) {\n      height = width / aspectRatio;\n    } else if (isValidHeight) {\n      width = height * aspectRatio;\n    }\n\n    return {\n      width: width,\n      height: height\n    };\n  }\n  /**\n   * Get the new sizes of a rectangle after rotated.\n   * @param {Object} data - The original sizes.\n   * @returns {Object} The result sizes.\n   */\n\n  function getRotatedSizes(_ref5) {\n    var width = _ref5.width,\n        height = _ref5.height,\n        degree = _ref5.degree;\n    degree = Math.abs(degree) % 180;\n\n    if (degree === 90) {\n      return {\n        width: height,\n        height: width\n      };\n    }\n\n    var arc = degree % 90 * Math.PI / 180;\n    var sinArc = Math.sin(arc);\n    var cosArc = Math.cos(arc);\n    var newWidth = width * cosArc + height * sinArc;\n    var newHeight = width * sinArc + height * cosArc;\n    return degree > 90 ? {\n      width: newHeight,\n      height: newWidth\n    } : {\n      width: newWidth,\n      height: newHeight\n    };\n  }\n  /**\n   * Get a canvas which drew the given image.\n   * @param {HTMLImageElement} image - The image for drawing.\n   * @param {Object} imageData - The image data.\n   * @param {Object} canvasData - The canvas data.\n   * @param {Object} options - The options.\n   * @returns {HTMLCanvasElement} The result canvas.\n   */\n\n  function getSourceCanvas(image, _ref6, _ref7, _ref8) {\n    var imageAspectRatio = _ref6.aspectRatio,\n        imageNaturalWidth = _ref6.naturalWidth,\n        imageNaturalHeight = _ref6.naturalHeight,\n        _ref6$rotate = _ref6.rotate,\n        rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n        _ref6$scaleX = _ref6.scaleX,\n        scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n        _ref6$scaleY = _ref6.scaleY,\n        scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n    var aspectRatio = _ref7.aspectRatio,\n        naturalWidth = _ref7.naturalWidth,\n        naturalHeight = _ref7.naturalHeight;\n    var _ref8$fillColor = _ref8.fillColor,\n        fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n        _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n        imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n        _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n        imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n        _ref8$maxWidth = _ref8.maxWidth,\n        maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n        _ref8$maxHeight = _ref8.maxHeight,\n        maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n        _ref8$minWidth = _ref8.minWidth,\n        minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n        _ref8$minHeight = _ref8.minHeight,\n        minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n    var canvas = document.createElement('canvas');\n    var context = canvas.getContext('2d');\n    var maxSizes = getAdjustedSizes({\n      aspectRatio: aspectRatio,\n      width: maxWidth,\n      height: maxHeight\n    });\n    var minSizes = getAdjustedSizes({\n      aspectRatio: aspectRatio,\n      width: minWidth,\n      height: minHeight\n    }, 'cover');\n    var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n    var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight)); // Note: should always use image's natural sizes for drawing as\n    // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n\n    var destMaxSizes = getAdjustedSizes({\n      aspectRatio: imageAspectRatio,\n      width: maxWidth,\n      height: maxHeight\n    });\n    var destMinSizes = getAdjustedSizes({\n      aspectRatio: imageAspectRatio,\n      width: minWidth,\n      height: minHeight\n    }, 'cover');\n    var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n    var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n    var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n    canvas.width = normalizeDecimalNumber(width);\n    canvas.height = normalizeDecimalNumber(height);\n    context.fillStyle = fillColor;\n    context.fillRect(0, 0, width, height);\n    context.save();\n    context.translate(width / 2, height / 2);\n    context.rotate(rotate * Math.PI / 180);\n    context.scale(scaleX, scaleY);\n    context.imageSmoothingEnabled = imageSmoothingEnabled;\n    context.imageSmoothingQuality = imageSmoothingQuality;\n    context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n      return Math.floor(normalizeDecimalNumber(param));\n    }))));\n    context.restore();\n    return canvas;\n  }\n  var fromCharCode = String.fromCharCode;\n  /**\n   * Get string from char code in data view.\n   * @param {DataView} dataView - The data view for read.\n   * @param {number} start - The start index.\n   * @param {number} length - The read length.\n   * @returns {string} The read result.\n   */\n\n  function getStringFromCharCode(dataView, start, length) {\n    var str = '';\n    length += start;\n\n    for (var i = start; i < length; i += 1) {\n      str += fromCharCode(dataView.getUint8(i));\n    }\n\n    return str;\n  }\n  var REGEXP_DATA_URL_HEAD = /^data:.*,/;\n  /**\n   * Transform Data URL to array buffer.\n   * @param {string} dataURL - The Data URL to transform.\n   * @returns {ArrayBuffer} The result array buffer.\n   */\n\n  function dataURLToArrayBuffer(dataURL) {\n    var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n    var binary = atob(base64);\n    var arrayBuffer = new ArrayBuffer(binary.length);\n    var uint8 = new Uint8Array(arrayBuffer);\n    forEach(uint8, function (value, i) {\n      uint8[i] = binary.charCodeAt(i);\n    });\n    return arrayBuffer;\n  }\n  /**\n   * Transform array buffer to Data URL.\n   * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n   * @param {string} mimeType - The mime type of the Data URL.\n   * @returns {string} The result Data URL.\n   */\n\n  function arrayBufferToDataURL(arrayBuffer, mimeType) {\n    var chunks = []; // Chunk Typed Array for better performance (#435)\n\n    var chunkSize = 8192;\n    var uint8 = new Uint8Array(arrayBuffer);\n\n    while (uint8.length > 0) {\n      // XXX: Babel's `toConsumableArray` helper will throw error in IE or Safari 9\n      // eslint-disable-next-line prefer-spread\n      chunks.push(fromCharCode.apply(null, toArray(uint8.subarray(0, chunkSize))));\n      uint8 = uint8.subarray(chunkSize);\n    }\n\n    return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n  }\n  /**\n   * Get orientation value from given array buffer.\n   * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n   * @returns {number} The read orientation value.\n   */\n\n  function resetAndGetOrientation(arrayBuffer) {\n    var dataView = new DataView(arrayBuffer);\n    var orientation; // Ignores range error when the image does not have correct Exif information\n\n    try {\n      var littleEndian;\n      var app1Start;\n      var ifdStart; // Only handle JPEG image (start by 0xFFD8)\n\n      if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n        var length = dataView.byteLength;\n        var offset = 2;\n\n        while (offset + 1 < length) {\n          if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n            app1Start = offset;\n            break;\n          }\n\n          offset += 1;\n        }\n      }\n\n      if (app1Start) {\n        var exifIDCode = app1Start + 4;\n        var tiffOffset = app1Start + 10;\n\n        if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n          var endianness = dataView.getUint16(tiffOffset);\n          littleEndian = endianness === 0x4949;\n\n          if (littleEndian || endianness === 0x4D4D\n          /* bigEndian */\n          ) {\n              if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n                var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n                if (firstIFDOffset >= 0x00000008) {\n                  ifdStart = tiffOffset + firstIFDOffset;\n                }\n              }\n            }\n        }\n      }\n\n      if (ifdStart) {\n        var _length = dataView.getUint16(ifdStart, littleEndian);\n\n        var _offset;\n\n        var i;\n\n        for (i = 0; i < _length; i += 1) {\n          _offset = ifdStart + i * 12 + 2;\n\n          if (dataView.getUint16(_offset, littleEndian) === 0x0112\n          /* Orientation */\n          ) {\n              // 8 is the offset of the current tag's value\n              _offset += 8; // Get the original orientation value\n\n              orientation = dataView.getUint16(_offset, littleEndian); // Override the orientation with its default value\n\n              dataView.setUint16(_offset, 1, littleEndian);\n              break;\n            }\n        }\n      }\n    } catch (error) {\n      orientation = 1;\n    }\n\n    return orientation;\n  }\n  /**\n   * Parse Exif Orientation value.\n   * @param {number} orientation - The orientation to parse.\n   * @returns {Object} The parsed result.\n   */\n\n  function parseOrientation(orientation) {\n    var rotate = 0;\n    var scaleX = 1;\n    var scaleY = 1;\n\n    switch (orientation) {\n      // Flip horizontal\n      case 2:\n        scaleX = -1;\n        break;\n      // Rotate left 180°\n\n      case 3:\n        rotate = -180;\n        break;\n      // Flip vertical\n\n      case 4:\n        scaleY = -1;\n        break;\n      // Flip vertical and rotate right 90°\n\n      case 5:\n        rotate = 90;\n        scaleY = -1;\n        break;\n      // Rotate right 90°\n\n      case 6:\n        rotate = 90;\n        break;\n      // Flip horizontal and rotate right 90°\n\n      case 7:\n        rotate = 90;\n        scaleX = -1;\n        break;\n      // Rotate left 90°\n\n      case 8:\n        rotate = -90;\n        break;\n    }\n\n    return {\n      rotate: rotate,\n      scaleX: scaleX,\n      scaleY: scaleY\n    };\n  }\n\n  var render = {\n    render: function render() {\n      this.initContainer();\n      this.initCanvas();\n      this.initCropBox();\n      this.renderCanvas();\n\n      if (this.cropped) {\n        this.renderCropBox();\n      }\n    },\n    initContainer: function initContainer() {\n      var element = this.element,\n          options = this.options,\n          container = this.container,\n          cropper = this.cropper;\n      addClass(cropper, CLASS_HIDDEN);\n      removeClass(element, CLASS_HIDDEN);\n      var containerData = {\n        width: Math.max(container.offsetWidth, Number(options.minContainerWidth) || 200),\n        height: Math.max(container.offsetHeight, Number(options.minContainerHeight) || 100)\n      };\n      this.containerData = containerData;\n      setStyle(cropper, {\n        width: containerData.width,\n        height: containerData.height\n      });\n      addClass(element, CLASS_HIDDEN);\n      removeClass(cropper, CLASS_HIDDEN);\n    },\n    // Canvas (image wrapper)\n    initCanvas: function initCanvas() {\n      var containerData = this.containerData,\n          imageData = this.imageData;\n      var viewMode = this.options.viewMode;\n      var rotated = Math.abs(imageData.rotate) % 180 === 90;\n      var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n      var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n      var aspectRatio = naturalWidth / naturalHeight;\n      var canvasWidth = containerData.width;\n      var canvasHeight = containerData.height;\n\n      if (containerData.height * aspectRatio > containerData.width) {\n        if (viewMode === 3) {\n          canvasWidth = containerData.height * aspectRatio;\n        } else {\n          canvasHeight = containerData.width / aspectRatio;\n        }\n      } else if (viewMode === 3) {\n        canvasHeight = containerData.width / aspectRatio;\n      } else {\n        canvasWidth = containerData.height * aspectRatio;\n      }\n\n      var canvasData = {\n        aspectRatio: aspectRatio,\n        naturalWidth: naturalWidth,\n        naturalHeight: naturalHeight,\n        width: canvasWidth,\n        height: canvasHeight\n      };\n      canvasData.left = (containerData.width - canvasWidth) / 2;\n      canvasData.top = (containerData.height - canvasHeight) / 2;\n      canvasData.oldLeft = canvasData.left;\n      canvasData.oldTop = canvasData.top;\n      this.canvasData = canvasData;\n      this.limited = viewMode === 1 || viewMode === 2;\n      this.limitCanvas(true, true);\n      this.initialImageData = assign({}, imageData);\n      this.initialCanvasData = assign({}, canvasData);\n    },\n    limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n      var options = this.options,\n          containerData = this.containerData,\n          canvasData = this.canvasData,\n          cropBoxData = this.cropBoxData;\n      var viewMode = options.viewMode;\n      var aspectRatio = canvasData.aspectRatio;\n      var cropped = this.cropped && cropBoxData;\n\n      if (sizeLimited) {\n        var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n        var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n\n        if (viewMode > 1) {\n          minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n          minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n\n          if (viewMode === 3) {\n            if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n              minCanvasWidth = minCanvasHeight * aspectRatio;\n            } else {\n              minCanvasHeight = minCanvasWidth / aspectRatio;\n            }\n          }\n        } else if (viewMode > 0) {\n          if (minCanvasWidth) {\n            minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n          } else if (minCanvasHeight) {\n            minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n          } else if (cropped) {\n            minCanvasWidth = cropBoxData.width;\n            minCanvasHeight = cropBoxData.height;\n\n            if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n              minCanvasWidth = minCanvasHeight * aspectRatio;\n            } else {\n              minCanvasHeight = minCanvasWidth / aspectRatio;\n            }\n          }\n        }\n\n        var _getAdjustedSizes = getAdjustedSizes({\n          aspectRatio: aspectRatio,\n          width: minCanvasWidth,\n          height: minCanvasHeight\n        });\n\n        minCanvasWidth = _getAdjustedSizes.width;\n        minCanvasHeight = _getAdjustedSizes.height;\n        canvasData.minWidth = minCanvasWidth;\n        canvasData.minHeight = minCanvasHeight;\n        canvasData.maxWidth = Infinity;\n        canvasData.maxHeight = Infinity;\n      }\n\n      if (positionLimited) {\n        if (viewMode > (cropped ? 0 : 1)) {\n          var newCanvasLeft = containerData.width - canvasData.width;\n          var newCanvasTop = containerData.height - canvasData.height;\n          canvasData.minLeft = Math.min(0, newCanvasLeft);\n          canvasData.minTop = Math.min(0, newCanvasTop);\n          canvasData.maxLeft = Math.max(0, newCanvasLeft);\n          canvasData.maxTop = Math.max(0, newCanvasTop);\n\n          if (cropped && this.limited) {\n            canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n            canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n            canvasData.maxLeft = cropBoxData.left;\n            canvasData.maxTop = cropBoxData.top;\n\n            if (viewMode === 2) {\n              if (canvasData.width >= containerData.width) {\n                canvasData.minLeft = Math.min(0, newCanvasLeft);\n                canvasData.maxLeft = Math.max(0, newCanvasLeft);\n              }\n\n              if (canvasData.height >= containerData.height) {\n                canvasData.minTop = Math.min(0, newCanvasTop);\n                canvasData.maxTop = Math.max(0, newCanvasTop);\n              }\n            }\n          }\n        } else {\n          canvasData.minLeft = -canvasData.width;\n          canvasData.minTop = -canvasData.height;\n          canvasData.maxLeft = containerData.width;\n          canvasData.maxTop = containerData.height;\n        }\n      }\n    },\n    renderCanvas: function renderCanvas(changed, transformed) {\n      var canvasData = this.canvasData,\n          imageData = this.imageData;\n\n      if (transformed) {\n        var _getRotatedSizes = getRotatedSizes({\n          width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n          height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n          degree: imageData.rotate || 0\n        }),\n            naturalWidth = _getRotatedSizes.width,\n            naturalHeight = _getRotatedSizes.height;\n\n        var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n        var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n        canvasData.left -= (width - canvasData.width) / 2;\n        canvasData.top -= (height - canvasData.height) / 2;\n        canvasData.width = width;\n        canvasData.height = height;\n        canvasData.aspectRatio = naturalWidth / naturalHeight;\n        canvasData.naturalWidth = naturalWidth;\n        canvasData.naturalHeight = naturalHeight;\n        this.limitCanvas(true, false);\n      }\n\n      if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n        canvasData.left = canvasData.oldLeft;\n      }\n\n      if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n        canvasData.top = canvasData.oldTop;\n      }\n\n      canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n      canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n      this.limitCanvas(false, true);\n      canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n      canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n      canvasData.oldLeft = canvasData.left;\n      canvasData.oldTop = canvasData.top;\n      setStyle(this.canvas, assign({\n        width: canvasData.width,\n        height: canvasData.height\n      }, getTransforms({\n        translateX: canvasData.left,\n        translateY: canvasData.top\n      })));\n      this.renderImage(changed);\n\n      if (this.cropped && this.limited) {\n        this.limitCropBox(true, true);\n      }\n    },\n    renderImage: function renderImage(changed) {\n      var canvasData = this.canvasData,\n          imageData = this.imageData;\n      var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n      var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n      assign(imageData, {\n        width: width,\n        height: height,\n        left: (canvasData.width - width) / 2,\n        top: (canvasData.height - height) / 2\n      });\n      setStyle(this.image, assign({\n        width: imageData.width,\n        height: imageData.height\n      }, getTransforms(assign({\n        translateX: imageData.left,\n        translateY: imageData.top\n      }, imageData))));\n\n      if (changed) {\n        this.output();\n      }\n    },\n    initCropBox: function initCropBox() {\n      var options = this.options,\n          canvasData = this.canvasData;\n      var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n      var autoCropArea = Number(options.autoCropArea) || 0.8;\n      var cropBoxData = {\n        width: canvasData.width,\n        height: canvasData.height\n      };\n\n      if (aspectRatio) {\n        if (canvasData.height * aspectRatio > canvasData.width) {\n          cropBoxData.height = cropBoxData.width / aspectRatio;\n        } else {\n          cropBoxData.width = cropBoxData.height * aspectRatio;\n        }\n      }\n\n      this.cropBoxData = cropBoxData;\n      this.limitCropBox(true, true); // Initialize auto crop area\n\n      cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n      cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight); // The width/height of auto crop area must large than \"minWidth/Height\"\n\n      cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n      cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n      cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n      cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n      cropBoxData.oldLeft = cropBoxData.left;\n      cropBoxData.oldTop = cropBoxData.top;\n      this.initialCropBoxData = assign({}, cropBoxData);\n    },\n    limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n      var options = this.options,\n          containerData = this.containerData,\n          canvasData = this.canvasData,\n          cropBoxData = this.cropBoxData,\n          limited = this.limited;\n      var aspectRatio = options.aspectRatio;\n\n      if (sizeLimited) {\n        var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n        var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n        var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n        var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height; // The min/maxCropBoxWidth/Height must be less than container's width/height\n\n        minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n        minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n\n        if (aspectRatio) {\n          if (minCropBoxWidth && minCropBoxHeight) {\n            if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n              minCropBoxHeight = minCropBoxWidth / aspectRatio;\n            } else {\n              minCropBoxWidth = minCropBoxHeight * aspectRatio;\n            }\n          } else if (minCropBoxWidth) {\n            minCropBoxHeight = minCropBoxWidth / aspectRatio;\n          } else if (minCropBoxHeight) {\n            minCropBoxWidth = minCropBoxHeight * aspectRatio;\n          }\n\n          if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n            maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n          } else {\n            maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n          }\n        } // The minWidth/Height must be less than maxWidth/Height\n\n\n        cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n        cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n        cropBoxData.maxWidth = maxCropBoxWidth;\n        cropBoxData.maxHeight = maxCropBoxHeight;\n      }\n\n      if (positionLimited) {\n        if (limited) {\n          cropBoxData.minLeft = Math.max(0, canvasData.left);\n          cropBoxData.minTop = Math.max(0, canvasData.top);\n          cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n          cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n        } else {\n          cropBoxData.minLeft = 0;\n          cropBoxData.minTop = 0;\n          cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n          cropBoxData.maxTop = containerData.height - cropBoxData.height;\n        }\n      }\n    },\n    renderCropBox: function renderCropBox() {\n      var options = this.options,\n          containerData = this.containerData,\n          cropBoxData = this.cropBoxData;\n\n      if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n        cropBoxData.left = cropBoxData.oldLeft;\n      }\n\n      if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n        cropBoxData.top = cropBoxData.oldTop;\n      }\n\n      cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n      cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n      this.limitCropBox(false, true);\n      cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n      cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n      cropBoxData.oldLeft = cropBoxData.left;\n      cropBoxData.oldTop = cropBoxData.top;\n\n      if (options.movable && options.cropBoxMovable) {\n        // Turn to move the canvas when the crop box is equal to the container\n        setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n      }\n\n      setStyle(this.cropBox, assign({\n        width: cropBoxData.width,\n        height: cropBoxData.height\n      }, getTransforms({\n        translateX: cropBoxData.left,\n        translateY: cropBoxData.top\n      })));\n\n      if (this.cropped && this.limited) {\n        this.limitCanvas(true, true);\n      }\n\n      if (!this.disabled) {\n        this.output();\n      }\n    },\n    output: function output() {\n      this.preview();\n      dispatchEvent(this.element, EVENT_CROP, this.getData());\n    }\n  };\n\n  var preview = {\n    initPreview: function initPreview() {\n      var element = this.element,\n          crossOrigin = this.crossOrigin;\n      var preview = this.options.preview;\n      var url = crossOrigin ? this.crossOriginUrl : this.url;\n      var alt = element.alt || 'The image to preview';\n      var image = document.createElement('img');\n\n      if (crossOrigin) {\n        image.crossOrigin = crossOrigin;\n      }\n\n      image.src = url;\n      image.alt = alt;\n      this.viewBox.appendChild(image);\n      this.viewBoxImage = image;\n\n      if (!preview) {\n        return;\n      }\n\n      var previews = preview;\n\n      if (typeof preview === 'string') {\n        previews = element.ownerDocument.querySelectorAll(preview);\n      } else if (preview.querySelector) {\n        previews = [preview];\n      }\n\n      this.previews = previews;\n      forEach(previews, function (el) {\n        var img = document.createElement('img'); // Save the original size for recover\n\n        setData(el, DATA_PREVIEW, {\n          width: el.offsetWidth,\n          height: el.offsetHeight,\n          html: el.innerHTML\n        });\n\n        if (crossOrigin) {\n          img.crossOrigin = crossOrigin;\n        }\n\n        img.src = url;\n        img.alt = alt;\n        /**\n         * Override img element styles\n         * Add `display:block` to avoid margin top issue\n         * Add `height:auto` to override `height` attribute on IE8\n         * (Occur only when margin-top <= -height)\n         */\n\n        img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n        el.innerHTML = '';\n        el.appendChild(img);\n      });\n    },\n    resetPreview: function resetPreview() {\n      forEach(this.previews, function (element) {\n        var data = getData(element, DATA_PREVIEW);\n        setStyle(element, {\n          width: data.width,\n          height: data.height\n        });\n        element.innerHTML = data.html;\n        removeData(element, DATA_PREVIEW);\n      });\n    },\n    preview: function preview() {\n      var imageData = this.imageData,\n          canvasData = this.canvasData,\n          cropBoxData = this.cropBoxData;\n      var cropBoxWidth = cropBoxData.width,\n          cropBoxHeight = cropBoxData.height;\n      var width = imageData.width,\n          height = imageData.height;\n      var left = cropBoxData.left - canvasData.left - imageData.left;\n      var top = cropBoxData.top - canvasData.top - imageData.top;\n\n      if (!this.cropped || this.disabled) {\n        return;\n      }\n\n      setStyle(this.viewBoxImage, assign({\n        width: width,\n        height: height\n      }, getTransforms(assign({\n        translateX: -left,\n        translateY: -top\n      }, imageData))));\n      forEach(this.previews, function (element) {\n        var data = getData(element, DATA_PREVIEW);\n        var originalWidth = data.width;\n        var originalHeight = data.height;\n        var newWidth = originalWidth;\n        var newHeight = originalHeight;\n        var ratio = 1;\n\n        if (cropBoxWidth) {\n          ratio = originalWidth / cropBoxWidth;\n          newHeight = cropBoxHeight * ratio;\n        }\n\n        if (cropBoxHeight && newHeight > originalHeight) {\n          ratio = originalHeight / cropBoxHeight;\n          newWidth = cropBoxWidth * ratio;\n          newHeight = originalHeight;\n        }\n\n        setStyle(element, {\n          width: newWidth,\n          height: newHeight\n        });\n        setStyle(element.getElementsByTagName('img')[0], assign({\n          width: width * ratio,\n          height: height * ratio\n        }, getTransforms(assign({\n          translateX: -left * ratio,\n          translateY: -top * ratio\n        }, imageData))));\n      });\n    }\n  };\n\n  var events = {\n    bind: function bind() {\n      var element = this.element,\n          options = this.options,\n          cropper = this.cropper;\n\n      if (isFunction(options.cropstart)) {\n        addListener(element, EVENT_CROP_START, options.cropstart);\n      }\n\n      if (isFunction(options.cropmove)) {\n        addListener(element, EVENT_CROP_MOVE, options.cropmove);\n      }\n\n      if (isFunction(options.cropend)) {\n        addListener(element, EVENT_CROP_END, options.cropend);\n      }\n\n      if (isFunction(options.crop)) {\n        addListener(element, EVENT_CROP, options.crop);\n      }\n\n      if (isFunction(options.zoom)) {\n        addListener(element, EVENT_ZOOM, options.zoom);\n      }\n\n      addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n\n      if (options.zoomable && options.zoomOnWheel) {\n        addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this), {\n          passive: false,\n          capture: true\n        });\n      }\n\n      if (options.toggleDragModeOnDblclick) {\n        addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n      }\n\n      addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n      addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n\n      if (options.responsive) {\n        addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n      }\n    },\n    unbind: function unbind() {\n      var element = this.element,\n          options = this.options,\n          cropper = this.cropper;\n\n      if (isFunction(options.cropstart)) {\n        removeListener(element, EVENT_CROP_START, options.cropstart);\n      }\n\n      if (isFunction(options.cropmove)) {\n        removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n      }\n\n      if (isFunction(options.cropend)) {\n        removeListener(element, EVENT_CROP_END, options.cropend);\n      }\n\n      if (isFunction(options.crop)) {\n        removeListener(element, EVENT_CROP, options.crop);\n      }\n\n      if (isFunction(options.zoom)) {\n        removeListener(element, EVENT_ZOOM, options.zoom);\n      }\n\n      removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n\n      if (options.zoomable && options.zoomOnWheel) {\n        removeListener(cropper, EVENT_WHEEL, this.onWheel, {\n          passive: false,\n          capture: true\n        });\n      }\n\n      if (options.toggleDragModeOnDblclick) {\n        removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n      }\n\n      removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n      removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n\n      if (options.responsive) {\n        removeListener(window, EVENT_RESIZE, this.onResize);\n      }\n    }\n  };\n\n  var handlers = {\n    resize: function resize() {\n      if (this.disabled) {\n        return;\n      }\n\n      var options = this.options,\n          container = this.container,\n          containerData = this.containerData;\n      var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed\n\n      if (ratio !== 1 || container.offsetHeight !== containerData.height) {\n        var canvasData;\n        var cropBoxData;\n\n        if (options.restore) {\n          canvasData = this.getCanvasData();\n          cropBoxData = this.getCropBoxData();\n        }\n\n        this.render();\n\n        if (options.restore) {\n          this.setCanvasData(forEach(canvasData, function (n, i) {\n            canvasData[i] = n * ratio;\n          }));\n          this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n            cropBoxData[i] = n * ratio;\n          }));\n        }\n      }\n    },\n    dblclick: function dblclick() {\n      if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n        return;\n      }\n\n      this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n    },\n    wheel: function wheel(event) {\n      var _this = this;\n\n      var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n      var delta = 1;\n\n      if (this.disabled) {\n        return;\n      }\n\n      event.preventDefault(); // Limit wheel speed to prevent zoom too fast (#21)\n\n      if (this.wheeling) {\n        return;\n      }\n\n      this.wheeling = true;\n      setTimeout(function () {\n        _this.wheeling = false;\n      }, 50);\n\n      if (event.deltaY) {\n        delta = event.deltaY > 0 ? 1 : -1;\n      } else if (event.wheelDelta) {\n        delta = -event.wheelDelta / 120;\n      } else if (event.detail) {\n        delta = event.detail > 0 ? 1 : -1;\n      }\n\n      this.zoom(-delta * ratio, event);\n    },\n    cropStart: function cropStart(event) {\n      var buttons = event.buttons,\n          button = event.button;\n\n      if (this.disabled // Handle mouse event and pointer event and ignore touch event\n      || (event.type === 'mousedown' || event.type === 'pointerdown' && event.pointerType === 'mouse') && ( // No primary button (Usually the left button)\n      isNumber(buttons) && buttons !== 1 || isNumber(button) && button !== 0 // Open context menu\n      || event.ctrlKey)) {\n        return;\n      }\n\n      var options = this.options,\n          pointers = this.pointers;\n      var action;\n\n      if (event.changedTouches) {\n        // Handle touch event\n        forEach(event.changedTouches, function (touch) {\n          pointers[touch.identifier] = getPointer(touch);\n        });\n      } else {\n        // Handle mouse event and pointer event\n        pointers[event.pointerId || 0] = getPointer(event);\n      }\n\n      if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n        action = ACTION_ZOOM;\n      } else {\n        action = getData(event.target, DATA_ACTION);\n      }\n\n      if (!REGEXP_ACTIONS.test(action)) {\n        return;\n      }\n\n      if (dispatchEvent(this.element, EVENT_CROP_START, {\n        originalEvent: event,\n        action: action\n      }) === false) {\n        return;\n      } // This line is required for preventing page zooming in iOS browsers\n\n\n      event.preventDefault();\n      this.action = action;\n      this.cropping = false;\n\n      if (action === ACTION_CROP) {\n        this.cropping = true;\n        addClass(this.dragBox, CLASS_MODAL);\n      }\n    },\n    cropMove: function cropMove(event) {\n      var action = this.action;\n\n      if (this.disabled || !action) {\n        return;\n      }\n\n      var pointers = this.pointers;\n      event.preventDefault();\n\n      if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n        originalEvent: event,\n        action: action\n      }) === false) {\n        return;\n      }\n\n      if (event.changedTouches) {\n        forEach(event.changedTouches, function (touch) {\n          // The first parameter should not be undefined (#432)\n          assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n        });\n      } else {\n        assign(pointers[event.pointerId || 0] || {}, getPointer(event, true));\n      }\n\n      this.change(event);\n    },\n    cropEnd: function cropEnd(event) {\n      if (this.disabled) {\n        return;\n      }\n\n      var action = this.action,\n          pointers = this.pointers;\n\n      if (event.changedTouches) {\n        forEach(event.changedTouches, function (touch) {\n          delete pointers[touch.identifier];\n        });\n      } else {\n        delete pointers[event.pointerId || 0];\n      }\n\n      if (!action) {\n        return;\n      }\n\n      event.preventDefault();\n\n      if (!Object.keys(pointers).length) {\n        this.action = '';\n      }\n\n      if (this.cropping) {\n        this.cropping = false;\n        toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n      }\n\n      dispatchEvent(this.element, EVENT_CROP_END, {\n        originalEvent: event,\n        action: action\n      });\n    }\n  };\n\n  var change = {\n    change: function change(event) {\n      var options = this.options,\n          canvasData = this.canvasData,\n          containerData = this.containerData,\n          cropBoxData = this.cropBoxData,\n          pointers = this.pointers;\n      var action = this.action;\n      var aspectRatio = options.aspectRatio;\n      var left = cropBoxData.left,\n          top = cropBoxData.top,\n          width = cropBoxData.width,\n          height = cropBoxData.height;\n      var right = left + width;\n      var bottom = top + height;\n      var minLeft = 0;\n      var minTop = 0;\n      var maxWidth = containerData.width;\n      var maxHeight = containerData.height;\n      var renderable = true;\n      var offset; // Locking aspect ratio in \"free mode\" by holding shift key\n\n      if (!aspectRatio && event.shiftKey) {\n        aspectRatio = width && height ? width / height : 1;\n      }\n\n      if (this.limited) {\n        minLeft = cropBoxData.minLeft;\n        minTop = cropBoxData.minTop;\n        maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n        maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n      }\n\n      var pointer = pointers[Object.keys(pointers)[0]];\n      var range = {\n        x: pointer.endX - pointer.startX,\n        y: pointer.endY - pointer.startY\n      };\n\n      var check = function check(side) {\n        switch (side) {\n          case ACTION_EAST:\n            if (right + range.x > maxWidth) {\n              range.x = maxWidth - right;\n            }\n\n            break;\n\n          case ACTION_WEST:\n            if (left + range.x < minLeft) {\n              range.x = minLeft - left;\n            }\n\n            break;\n\n          case ACTION_NORTH:\n            if (top + range.y < minTop) {\n              range.y = minTop - top;\n            }\n\n            break;\n\n          case ACTION_SOUTH:\n            if (bottom + range.y > maxHeight) {\n              range.y = maxHeight - bottom;\n            }\n\n            break;\n        }\n      };\n\n      switch (action) {\n        // Move crop box\n        case ACTION_ALL:\n          left += range.x;\n          top += range.y;\n          break;\n        // Resize crop box\n\n        case ACTION_EAST:\n          if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n            renderable = false;\n            break;\n          }\n\n          check(ACTION_EAST);\n          width += range.x;\n\n          if (width < 0) {\n            action = ACTION_WEST;\n            width = -width;\n            left -= width;\n          }\n\n          if (aspectRatio) {\n            height = width / aspectRatio;\n            top += (cropBoxData.height - height) / 2;\n          }\n\n          break;\n\n        case ACTION_NORTH:\n          if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n            renderable = false;\n            break;\n          }\n\n          check(ACTION_NORTH);\n          height -= range.y;\n          top += range.y;\n\n          if (height < 0) {\n            action = ACTION_SOUTH;\n            height = -height;\n            top -= height;\n          }\n\n          if (aspectRatio) {\n            width = height * aspectRatio;\n            left += (cropBoxData.width - width) / 2;\n          }\n\n          break;\n\n        case ACTION_WEST:\n          if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n            renderable = false;\n            break;\n          }\n\n          check(ACTION_WEST);\n          width -= range.x;\n          left += range.x;\n\n          if (width < 0) {\n            action = ACTION_EAST;\n            width = -width;\n            left -= width;\n          }\n\n          if (aspectRatio) {\n            height = width / aspectRatio;\n            top += (cropBoxData.height - height) / 2;\n          }\n\n          break;\n\n        case ACTION_SOUTH:\n          if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n            renderable = false;\n            break;\n          }\n\n          check(ACTION_SOUTH);\n          height += range.y;\n\n          if (height < 0) {\n            action = ACTION_NORTH;\n            height = -height;\n            top -= height;\n          }\n\n          if (aspectRatio) {\n            width = height * aspectRatio;\n            left += (cropBoxData.width - width) / 2;\n          }\n\n          break;\n\n        case ACTION_NORTH_EAST:\n          if (aspectRatio) {\n            if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n              renderable = false;\n              break;\n            }\n\n            check(ACTION_NORTH);\n            height -= range.y;\n            top += range.y;\n            width = height * aspectRatio;\n          } else {\n            check(ACTION_NORTH);\n            check(ACTION_EAST);\n\n            if (range.x >= 0) {\n              if (right < maxWidth) {\n                width += range.x;\n              } else if (range.y <= 0 && top <= minTop) {\n                renderable = false;\n              }\n            } else {\n              width += range.x;\n            }\n\n            if (range.y <= 0) {\n              if (top > minTop) {\n                height -= range.y;\n                top += range.y;\n              }\n            } else {\n              height -= range.y;\n              top += range.y;\n            }\n          }\n\n          if (width < 0 && height < 0) {\n            action = ACTION_SOUTH_WEST;\n            height = -height;\n            width = -width;\n            top -= height;\n            left -= width;\n          } else if (width < 0) {\n            action = ACTION_NORTH_WEST;\n            width = -width;\n            left -= width;\n          } else if (height < 0) {\n            action = ACTION_SOUTH_EAST;\n            height = -height;\n            top -= height;\n          }\n\n          break;\n\n        case ACTION_NORTH_WEST:\n          if (aspectRatio) {\n            if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n              renderable = false;\n              break;\n            }\n\n            check(ACTION_NORTH);\n            height -= range.y;\n            top += range.y;\n            width = height * aspectRatio;\n            left += cropBoxData.width - width;\n          } else {\n            check(ACTION_NORTH);\n            check(ACTION_WEST);\n\n            if (range.x <= 0) {\n              if (left > minLeft) {\n                width -= range.x;\n                left += range.x;\n              } else if (range.y <= 0 && top <= minTop) {\n                renderable = false;\n              }\n            } else {\n              width -= range.x;\n              left += range.x;\n            }\n\n            if (range.y <= 0) {\n              if (top > minTop) {\n                height -= range.y;\n                top += range.y;\n              }\n            } else {\n              height -= range.y;\n              top += range.y;\n            }\n          }\n\n          if (width < 0 && height < 0) {\n            action = ACTION_SOUTH_EAST;\n            height = -height;\n            width = -width;\n            top -= height;\n            left -= width;\n          } else if (width < 0) {\n            action = ACTION_NORTH_EAST;\n            width = -width;\n            left -= width;\n          } else if (height < 0) {\n            action = ACTION_SOUTH_WEST;\n            height = -height;\n            top -= height;\n          }\n\n          break;\n\n        case ACTION_SOUTH_WEST:\n          if (aspectRatio) {\n            if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n              renderable = false;\n              break;\n            }\n\n            check(ACTION_WEST);\n            width -= range.x;\n            left += range.x;\n            height = width / aspectRatio;\n          } else {\n            check(ACTION_SOUTH);\n            check(ACTION_WEST);\n\n            if (range.x <= 0) {\n              if (left > minLeft) {\n                width -= range.x;\n                left += range.x;\n              } else if (range.y >= 0 && bottom >= maxHeight) {\n                renderable = false;\n              }\n            } else {\n              width -= range.x;\n              left += range.x;\n            }\n\n            if (range.y >= 0) {\n              if (bottom < maxHeight) {\n                height += range.y;\n              }\n            } else {\n              height += range.y;\n            }\n          }\n\n          if (width < 0 && height < 0) {\n            action = ACTION_NORTH_EAST;\n            height = -height;\n            width = -width;\n            top -= height;\n            left -= width;\n          } else if (width < 0) {\n            action = ACTION_SOUTH_EAST;\n            width = -width;\n            left -= width;\n          } else if (height < 0) {\n            action = ACTION_NORTH_WEST;\n            height = -height;\n            top -= height;\n          }\n\n          break;\n\n        case ACTION_SOUTH_EAST:\n          if (aspectRatio) {\n            if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n              renderable = false;\n              break;\n            }\n\n            check(ACTION_EAST);\n            width += range.x;\n            height = width / aspectRatio;\n          } else {\n            check(ACTION_SOUTH);\n            check(ACTION_EAST);\n\n            if (range.x >= 0) {\n              if (right < maxWidth) {\n                width += range.x;\n              } else if (range.y >= 0 && bottom >= maxHeight) {\n                renderable = false;\n              }\n            } else {\n              width += range.x;\n            }\n\n            if (range.y >= 0) {\n              if (bottom < maxHeight) {\n                height += range.y;\n              }\n            } else {\n              height += range.y;\n            }\n          }\n\n          if (width < 0 && height < 0) {\n            action = ACTION_NORTH_WEST;\n            height = -height;\n            width = -width;\n            top -= height;\n            left -= width;\n          } else if (width < 0) {\n            action = ACTION_SOUTH_WEST;\n            width = -width;\n            left -= width;\n          } else if (height < 0) {\n            action = ACTION_NORTH_EAST;\n            height = -height;\n            top -= height;\n          }\n\n          break;\n        // Move canvas\n\n        case ACTION_MOVE:\n          this.move(range.x, range.y);\n          renderable = false;\n          break;\n        // Zoom canvas\n\n        case ACTION_ZOOM:\n          this.zoom(getMaxZoomRatio(pointers), event);\n          renderable = false;\n          break;\n        // Create crop box\n\n        case ACTION_CROP:\n          if (!range.x || !range.y) {\n            renderable = false;\n            break;\n          }\n\n          offset = getOffset(this.cropper);\n          left = pointer.startX - offset.left;\n          top = pointer.startY - offset.top;\n          width = cropBoxData.minWidth;\n          height = cropBoxData.minHeight;\n\n          if (range.x > 0) {\n            action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n          } else if (range.x < 0) {\n            left -= width;\n            action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n          }\n\n          if (range.y < 0) {\n            top -= height;\n          } // Show the crop box if is hidden\n\n\n          if (!this.cropped) {\n            removeClass(this.cropBox, CLASS_HIDDEN);\n            this.cropped = true;\n\n            if (this.limited) {\n              this.limitCropBox(true, true);\n            }\n          }\n\n          break;\n      }\n\n      if (renderable) {\n        cropBoxData.width = width;\n        cropBoxData.height = height;\n        cropBoxData.left = left;\n        cropBoxData.top = top;\n        this.action = action;\n        this.renderCropBox();\n      } // Override\n\n\n      forEach(pointers, function (p) {\n        p.startX = p.endX;\n        p.startY = p.endY;\n      });\n    }\n  };\n\n  var methods = {\n    // Show the crop box manually\n    crop: function crop() {\n      if (this.ready && !this.cropped && !this.disabled) {\n        this.cropped = true;\n        this.limitCropBox(true, true);\n\n        if (this.options.modal) {\n          addClass(this.dragBox, CLASS_MODAL);\n        }\n\n        removeClass(this.cropBox, CLASS_HIDDEN);\n        this.setCropBoxData(this.initialCropBoxData);\n      }\n\n      return this;\n    },\n    // Reset the image and crop box to their initial states\n    reset: function reset() {\n      if (this.ready && !this.disabled) {\n        this.imageData = assign({}, this.initialImageData);\n        this.canvasData = assign({}, this.initialCanvasData);\n        this.cropBoxData = assign({}, this.initialCropBoxData);\n        this.renderCanvas();\n\n        if (this.cropped) {\n          this.renderCropBox();\n        }\n      }\n\n      return this;\n    },\n    // Clear the crop box\n    clear: function clear() {\n      if (this.cropped && !this.disabled) {\n        assign(this.cropBoxData, {\n          left: 0,\n          top: 0,\n          width: 0,\n          height: 0\n        });\n        this.cropped = false;\n        this.renderCropBox();\n        this.limitCanvas(true, true); // Render canvas after crop box rendered\n\n        this.renderCanvas();\n        removeClass(this.dragBox, CLASS_MODAL);\n        addClass(this.cropBox, CLASS_HIDDEN);\n      }\n\n      return this;\n    },\n\n    /**\n     * Replace the image's src and rebuild the cropper\n     * @param {string} url - The new URL.\n     * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n     * @returns {Cropper} this\n     */\n    replace: function replace(url) {\n      var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n      if (!this.disabled && url) {\n        if (this.isImg) {\n          this.element.src = url;\n        }\n\n        if (hasSameSize) {\n          this.url = url;\n          this.image.src = url;\n\n          if (this.ready) {\n            this.viewBoxImage.src = url;\n            forEach(this.previews, function (element) {\n              element.getElementsByTagName('img')[0].src = url;\n            });\n          }\n        } else {\n          if (this.isImg) {\n            this.replaced = true;\n          }\n\n          this.options.data = null;\n          this.uncreate();\n          this.load(url);\n        }\n      }\n\n      return this;\n    },\n    // Enable (unfreeze) the cropper\n    enable: function enable() {\n      if (this.ready && this.disabled) {\n        this.disabled = false;\n        removeClass(this.cropper, CLASS_DISABLED);\n      }\n\n      return this;\n    },\n    // Disable (freeze) the cropper\n    disable: function disable() {\n      if (this.ready && !this.disabled) {\n        this.disabled = true;\n        addClass(this.cropper, CLASS_DISABLED);\n      }\n\n      return this;\n    },\n\n    /**\n     * Destroy the cropper and remove the instance from the image\n     * @returns {Cropper} this\n     */\n    destroy: function destroy() {\n      var element = this.element;\n\n      if (!element[NAMESPACE]) {\n        return this;\n      }\n\n      element[NAMESPACE] = undefined;\n\n      if (this.isImg && this.replaced) {\n        element.src = this.originalUrl;\n      }\n\n      this.uncreate();\n      return this;\n    },\n\n    /**\n     * Move the canvas with relative offsets\n     * @param {number} offsetX - The relative offset distance on the x-axis.\n     * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n     * @returns {Cropper} this\n     */\n    move: function move(offsetX) {\n      var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n      var _this$canvasData = this.canvasData,\n          left = _this$canvasData.left,\n          top = _this$canvasData.top;\n      return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n    },\n\n    /**\n     * Move the canvas to an absolute point\n     * @param {number} x - The x-axis coordinate.\n     * @param {number} [y=x] - The y-axis coordinate.\n     * @returns {Cropper} this\n     */\n    moveTo: function moveTo(x) {\n      var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n      var canvasData = this.canvasData;\n      var changed = false;\n      x = Number(x);\n      y = Number(y);\n\n      if (this.ready && !this.disabled && this.options.movable) {\n        if (isNumber(x)) {\n          canvasData.left = x;\n          changed = true;\n        }\n\n        if (isNumber(y)) {\n          canvasData.top = y;\n          changed = true;\n        }\n\n        if (changed) {\n          this.renderCanvas(true);\n        }\n      }\n\n      return this;\n    },\n\n    /**\n     * Zoom the canvas with a relative ratio\n     * @param {number} ratio - The target ratio.\n     * @param {Event} _originalEvent - The original event if any.\n     * @returns {Cropper} this\n     */\n    zoom: function zoom(ratio, _originalEvent) {\n      var canvasData = this.canvasData;\n      ratio = Number(ratio);\n\n      if (ratio < 0) {\n        ratio = 1 / (1 - ratio);\n      } else {\n        ratio = 1 + ratio;\n      }\n\n      return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n    },\n\n    /**\n     * Zoom the canvas to an absolute ratio\n     * @param {number} ratio - The target ratio.\n     * @param {Object} pivot - The zoom pivot point coordinate.\n     * @param {Event} _originalEvent - The original event if any.\n     * @returns {Cropper} this\n     */\n    zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n      var options = this.options,\n          canvasData = this.canvasData;\n      var width = canvasData.width,\n          height = canvasData.height,\n          naturalWidth = canvasData.naturalWidth,\n          naturalHeight = canvasData.naturalHeight;\n      ratio = Number(ratio);\n\n      if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n        var newWidth = naturalWidth * ratio;\n        var newHeight = naturalHeight * ratio;\n\n        if (dispatchEvent(this.element, EVENT_ZOOM, {\n          ratio: ratio,\n          oldRatio: width / naturalWidth,\n          originalEvent: _originalEvent\n        }) === false) {\n          return this;\n        }\n\n        if (_originalEvent) {\n          var pointers = this.pointers;\n          var offset = getOffset(this.cropper);\n          var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n            pageX: _originalEvent.pageX,\n            pageY: _originalEvent.pageY\n          }; // Zoom from the triggering point of the event\n\n          canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n          canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n        } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n          canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n          canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n        } else {\n          // Zoom from the center of the canvas\n          canvasData.left -= (newWidth - width) / 2;\n          canvasData.top -= (newHeight - height) / 2;\n        }\n\n        canvasData.width = newWidth;\n        canvasData.height = newHeight;\n        this.renderCanvas(true);\n      }\n\n      return this;\n    },\n\n    /**\n     * Rotate the canvas with a relative degree\n     * @param {number} degree - The rotate degree.\n     * @returns {Cropper} this\n     */\n    rotate: function rotate(degree) {\n      return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n    },\n\n    /**\n     * Rotate the canvas to an absolute degree\n     * @param {number} degree - The rotate degree.\n     * @returns {Cropper} this\n     */\n    rotateTo: function rotateTo(degree) {\n      degree = Number(degree);\n\n      if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n        this.imageData.rotate = degree % 360;\n        this.renderCanvas(true, true);\n      }\n\n      return this;\n    },\n\n    /**\n     * Scale the image on the x-axis.\n     * @param {number} scaleX - The scale ratio on the x-axis.\n     * @returns {Cropper} this\n     */\n    scaleX: function scaleX(_scaleX) {\n      var scaleY = this.imageData.scaleY;\n      return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n    },\n\n    /**\n     * Scale the image on the y-axis.\n     * @param {number} scaleY - The scale ratio on the y-axis.\n     * @returns {Cropper} this\n     */\n    scaleY: function scaleY(_scaleY) {\n      var scaleX = this.imageData.scaleX;\n      return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n    },\n\n    /**\n     * Scale the image\n     * @param {number} scaleX - The scale ratio on the x-axis.\n     * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n     * @returns {Cropper} this\n     */\n    scale: function scale(scaleX) {\n      var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n      var imageData = this.imageData;\n      var transformed = false;\n      scaleX = Number(scaleX);\n      scaleY = Number(scaleY);\n\n      if (this.ready && !this.disabled && this.options.scalable) {\n        if (isNumber(scaleX)) {\n          imageData.scaleX = scaleX;\n          transformed = true;\n        }\n\n        if (isNumber(scaleY)) {\n          imageData.scaleY = scaleY;\n          transformed = true;\n        }\n\n        if (transformed) {\n          this.renderCanvas(true, true);\n        }\n      }\n\n      return this;\n    },\n\n    /**\n     * Get the cropped area position and size data (base on the original image)\n     * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n     * @returns {Object} The result cropped data.\n     */\n    getData: function getData() {\n      var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var options = this.options,\n          imageData = this.imageData,\n          canvasData = this.canvasData,\n          cropBoxData = this.cropBoxData;\n      var data;\n\n      if (this.ready && this.cropped) {\n        data = {\n          x: cropBoxData.left - canvasData.left,\n          y: cropBoxData.top - canvasData.top,\n          width: cropBoxData.width,\n          height: cropBoxData.height\n        };\n        var ratio = imageData.width / imageData.naturalWidth;\n        forEach(data, function (n, i) {\n          data[i] = n / ratio;\n        });\n\n        if (rounded) {\n          // In case rounding off leads to extra 1px in right or bottom border\n          // we should round the top-left corner and the dimension (#343).\n          var bottom = Math.round(data.y + data.height);\n          var right = Math.round(data.x + data.width);\n          data.x = Math.round(data.x);\n          data.y = Math.round(data.y);\n          data.width = right - data.x;\n          data.height = bottom - data.y;\n        }\n      } else {\n        data = {\n          x: 0,\n          y: 0,\n          width: 0,\n          height: 0\n        };\n      }\n\n      if (options.rotatable) {\n        data.rotate = imageData.rotate || 0;\n      }\n\n      if (options.scalable) {\n        data.scaleX = imageData.scaleX || 1;\n        data.scaleY = imageData.scaleY || 1;\n      }\n\n      return data;\n    },\n\n    /**\n     * Set the cropped area position and size with new data\n     * @param {Object} data - The new data.\n     * @returns {Cropper} this\n     */\n    setData: function setData(data) {\n      var options = this.options,\n          imageData = this.imageData,\n          canvasData = this.canvasData;\n      var cropBoxData = {};\n\n      if (this.ready && !this.disabled && isPlainObject(data)) {\n        var transformed = false;\n\n        if (options.rotatable) {\n          if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n            imageData.rotate = data.rotate;\n            transformed = true;\n          }\n        }\n\n        if (options.scalable) {\n          if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n            imageData.scaleX = data.scaleX;\n            transformed = true;\n          }\n\n          if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n            imageData.scaleY = data.scaleY;\n            transformed = true;\n          }\n        }\n\n        if (transformed) {\n          this.renderCanvas(true, true);\n        }\n\n        var ratio = imageData.width / imageData.naturalWidth;\n\n        if (isNumber(data.x)) {\n          cropBoxData.left = data.x * ratio + canvasData.left;\n        }\n\n        if (isNumber(data.y)) {\n          cropBoxData.top = data.y * ratio + canvasData.top;\n        }\n\n        if (isNumber(data.width)) {\n          cropBoxData.width = data.width * ratio;\n        }\n\n        if (isNumber(data.height)) {\n          cropBoxData.height = data.height * ratio;\n        }\n\n        this.setCropBoxData(cropBoxData);\n      }\n\n      return this;\n    },\n\n    /**\n     * Get the container size data.\n     * @returns {Object} The result container data.\n     */\n    getContainerData: function getContainerData() {\n      return this.ready ? assign({}, this.containerData) : {};\n    },\n\n    /**\n     * Get the image position and size data.\n     * @returns {Object} The result image data.\n     */\n    getImageData: function getImageData() {\n      return this.sized ? assign({}, this.imageData) : {};\n    },\n\n    /**\n     * Get the canvas position and size data.\n     * @returns {Object} The result canvas data.\n     */\n    getCanvasData: function getCanvasData() {\n      var canvasData = this.canvasData;\n      var data = {};\n\n      if (this.ready) {\n        forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n          data[n] = canvasData[n];\n        });\n      }\n\n      return data;\n    },\n\n    /**\n     * Set the canvas position and size with new data.\n     * @param {Object} data - The new canvas data.\n     * @returns {Cropper} this\n     */\n    setCanvasData: function setCanvasData(data) {\n      var canvasData = this.canvasData;\n      var aspectRatio = canvasData.aspectRatio;\n\n      if (this.ready && !this.disabled && isPlainObject(data)) {\n        if (isNumber(data.left)) {\n          canvasData.left = data.left;\n        }\n\n        if (isNumber(data.top)) {\n          canvasData.top = data.top;\n        }\n\n        if (isNumber(data.width)) {\n          canvasData.width = data.width;\n          canvasData.height = data.width / aspectRatio;\n        } else if (isNumber(data.height)) {\n          canvasData.height = data.height;\n          canvasData.width = data.height * aspectRatio;\n        }\n\n        this.renderCanvas(true);\n      }\n\n      return this;\n    },\n\n    /**\n     * Get the crop box position and size data.\n     * @returns {Object} The result crop box data.\n     */\n    getCropBoxData: function getCropBoxData() {\n      var cropBoxData = this.cropBoxData;\n      var data;\n\n      if (this.ready && this.cropped) {\n        data = {\n          left: cropBoxData.left,\n          top: cropBoxData.top,\n          width: cropBoxData.width,\n          height: cropBoxData.height\n        };\n      }\n\n      return data || {};\n    },\n\n    /**\n     * Set the crop box position and size with new data.\n     * @param {Object} data - The new crop box data.\n     * @returns {Cropper} this\n     */\n    setCropBoxData: function setCropBoxData(data) {\n      var cropBoxData = this.cropBoxData;\n      var aspectRatio = this.options.aspectRatio;\n      var widthChanged;\n      var heightChanged;\n\n      if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n        if (isNumber(data.left)) {\n          cropBoxData.left = data.left;\n        }\n\n        if (isNumber(data.top)) {\n          cropBoxData.top = data.top;\n        }\n\n        if (isNumber(data.width) && data.width !== cropBoxData.width) {\n          widthChanged = true;\n          cropBoxData.width = data.width;\n        }\n\n        if (isNumber(data.height) && data.height !== cropBoxData.height) {\n          heightChanged = true;\n          cropBoxData.height = data.height;\n        }\n\n        if (aspectRatio) {\n          if (widthChanged) {\n            cropBoxData.height = cropBoxData.width / aspectRatio;\n          } else if (heightChanged) {\n            cropBoxData.width = cropBoxData.height * aspectRatio;\n          }\n        }\n\n        this.renderCropBox();\n      }\n\n      return this;\n    },\n\n    /**\n     * Get a canvas drawn the cropped image.\n     * @param {Object} [options={}] - The config options.\n     * @returns {HTMLCanvasElement} - The result canvas.\n     */\n    getCroppedCanvas: function getCroppedCanvas() {\n      var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      if (!this.ready || !window.HTMLCanvasElement) {\n        return null;\n      }\n\n      var canvasData = this.canvasData;\n      var source = getSourceCanvas(this.image, this.imageData, canvasData, options); // Returns the source canvas if it is not cropped.\n\n      if (!this.cropped) {\n        return source;\n      }\n\n      var _this$getData = this.getData(),\n          initialX = _this$getData.x,\n          initialY = _this$getData.y,\n          initialWidth = _this$getData.width,\n          initialHeight = _this$getData.height;\n\n      var ratio = source.width / Math.floor(canvasData.naturalWidth);\n\n      if (ratio !== 1) {\n        initialX *= ratio;\n        initialY *= ratio;\n        initialWidth *= ratio;\n        initialHeight *= ratio;\n      }\n\n      var aspectRatio = initialWidth / initialHeight;\n      var maxSizes = getAdjustedSizes({\n        aspectRatio: aspectRatio,\n        width: options.maxWidth || Infinity,\n        height: options.maxHeight || Infinity\n      });\n      var minSizes = getAdjustedSizes({\n        aspectRatio: aspectRatio,\n        width: options.minWidth || 0,\n        height: options.minHeight || 0\n      }, 'cover');\n\n      var _getAdjustedSizes = getAdjustedSizes({\n        aspectRatio: aspectRatio,\n        width: options.width || (ratio !== 1 ? source.width : initialWidth),\n        height: options.height || (ratio !== 1 ? source.height : initialHeight)\n      }),\n          width = _getAdjustedSizes.width,\n          height = _getAdjustedSizes.height;\n\n      width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n      height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n      var canvas = document.createElement('canvas');\n      var context = canvas.getContext('2d');\n      canvas.width = normalizeDecimalNumber(width);\n      canvas.height = normalizeDecimalNumber(height);\n      context.fillStyle = options.fillColor || 'transparent';\n      context.fillRect(0, 0, width, height);\n      var _options$imageSmoothi = options.imageSmoothingEnabled,\n          imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n          imageSmoothingQuality = options.imageSmoothingQuality;\n      context.imageSmoothingEnabled = imageSmoothingEnabled;\n\n      if (imageSmoothingQuality) {\n        context.imageSmoothingQuality = imageSmoothingQuality;\n      } // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n\n\n      var sourceWidth = source.width;\n      var sourceHeight = source.height; // Source canvas parameters\n\n      var srcX = initialX;\n      var srcY = initialY;\n      var srcWidth;\n      var srcHeight; // Destination canvas parameters\n\n      var dstX;\n      var dstY;\n      var dstWidth;\n      var dstHeight;\n\n      if (srcX <= -initialWidth || srcX > sourceWidth) {\n        srcX = 0;\n        srcWidth = 0;\n        dstX = 0;\n        dstWidth = 0;\n      } else if (srcX <= 0) {\n        dstX = -srcX;\n        srcX = 0;\n        srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n        dstWidth = srcWidth;\n      } else if (srcX <= sourceWidth) {\n        dstX = 0;\n        srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n        dstWidth = srcWidth;\n      }\n\n      if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n        srcY = 0;\n        srcHeight = 0;\n        dstY = 0;\n        dstHeight = 0;\n      } else if (srcY <= 0) {\n        dstY = -srcY;\n        srcY = 0;\n        srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n        dstHeight = srcHeight;\n      } else if (srcY <= sourceHeight) {\n        dstY = 0;\n        srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n        dstHeight = srcHeight;\n      }\n\n      var params = [srcX, srcY, srcWidth, srcHeight]; // Avoid \"IndexSizeError\"\n\n      if (dstWidth > 0 && dstHeight > 0) {\n        var scale = width / initialWidth;\n        params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n      } // All the numerical parameters should be integer for `drawImage`\n      // https://github.com/fengyuanchen/cropper/issues/476\n\n\n      context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n        return Math.floor(normalizeDecimalNumber(param));\n      }))));\n      return canvas;\n    },\n\n    /**\n     * Change the aspect ratio of the crop box.\n     * @param {number} aspectRatio - The new aspect ratio.\n     * @returns {Cropper} this\n     */\n    setAspectRatio: function setAspectRatio(aspectRatio) {\n      var options = this.options;\n\n      if (!this.disabled && !isUndefined(aspectRatio)) {\n        // 0 -> NaN\n        options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n\n        if (this.ready) {\n          this.initCropBox();\n\n          if (this.cropped) {\n            this.renderCropBox();\n          }\n        }\n      }\n\n      return this;\n    },\n\n    /**\n     * Change the drag mode.\n     * @param {string} mode - The new drag mode.\n     * @returns {Cropper} this\n     */\n    setDragMode: function setDragMode(mode) {\n      var options = this.options,\n          dragBox = this.dragBox,\n          face = this.face;\n\n      if (this.ready && !this.disabled) {\n        var croppable = mode === DRAG_MODE_CROP;\n        var movable = options.movable && mode === DRAG_MODE_MOVE;\n        mode = croppable || movable ? mode : DRAG_MODE_NONE;\n        options.dragMode = mode;\n        setData(dragBox, DATA_ACTION, mode);\n        toggleClass(dragBox, CLASS_CROP, croppable);\n        toggleClass(dragBox, CLASS_MOVE, movable);\n\n        if (!options.cropBoxMovable) {\n          // Sync drag mode to crop box when it is not movable\n          setData(face, DATA_ACTION, mode);\n          toggleClass(face, CLASS_CROP, croppable);\n          toggleClass(face, CLASS_MOVE, movable);\n        }\n      }\n\n      return this;\n    }\n  };\n\n  var AnotherCropper = WINDOW.Cropper;\n\n  var Cropper = /*#__PURE__*/function () {\n    /**\n     * Create a new Cropper.\n     * @param {Element} element - The target element for cropping.\n     * @param {Object} [options={}] - The configuration options.\n     */\n    function Cropper(element) {\n      var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n      _classCallCheck(this, Cropper);\n\n      if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n        throw new Error('The first argument is required and must be an <img> or <canvas> element.');\n      }\n\n      this.element = element;\n      this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n      this.cropped = false;\n      this.disabled = false;\n      this.pointers = {};\n      this.ready = false;\n      this.reloading = false;\n      this.replaced = false;\n      this.sized = false;\n      this.sizing = false;\n      this.init();\n    }\n\n    _createClass(Cropper, [{\n      key: \"init\",\n      value: function init() {\n        var element = this.element;\n        var tagName = element.tagName.toLowerCase();\n        var url;\n\n        if (element[NAMESPACE]) {\n          return;\n        }\n\n        element[NAMESPACE] = this;\n\n        if (tagName === 'img') {\n          this.isImg = true; // e.g.: \"img/picture.jpg\"\n\n          url = element.getAttribute('src') || '';\n          this.originalUrl = url; // Stop when it's a blank image\n\n          if (!url) {\n            return;\n          } // e.g.: \"https://example.com/img/picture.jpg\"\n\n\n          url = element.src;\n        } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n          url = element.toDataURL();\n        }\n\n        this.load(url);\n      }\n    }, {\n      key: \"load\",\n      value: function load(url) {\n        var _this = this;\n\n        if (!url) {\n          return;\n        }\n\n        this.url = url;\n        this.imageData = {};\n        var element = this.element,\n            options = this.options;\n\n        if (!options.rotatable && !options.scalable) {\n          options.checkOrientation = false;\n        } // Only IE10+ supports Typed Arrays\n\n\n        if (!options.checkOrientation || !window.ArrayBuffer) {\n          this.clone();\n          return;\n        } // Detect the mime type of the image directly if it is a Data URL\n\n\n        if (REGEXP_DATA_URL.test(url)) {\n          // Read ArrayBuffer from Data URL of JPEG images directly for better performance\n          if (REGEXP_DATA_URL_JPEG.test(url)) {\n            this.read(dataURLToArrayBuffer(url));\n          } else {\n            // Only a JPEG image may contains Exif Orientation information,\n            // the rest types of Data URLs are not necessary to check orientation at all.\n            this.clone();\n          }\n\n          return;\n        } // 1. Detect the mime type of the image by a XMLHttpRequest.\n        // 2. Load the image as ArrayBuffer for reading orientation if its a JPEG image.\n\n\n        var xhr = new XMLHttpRequest();\n        var clone = this.clone.bind(this);\n        this.reloading = true;\n        this.xhr = xhr; // 1. Cross origin requests are only supported for protocol schemes:\n        // http, https, data, chrome, chrome-extension.\n        // 2. Access to XMLHttpRequest from a Data URL will be blocked by CORS policy\n        // in some browsers as IE11 and Safari.\n\n        xhr.onabort = clone;\n        xhr.onerror = clone;\n        xhr.ontimeout = clone;\n\n        xhr.onprogress = function () {\n          // Abort the request directly if it not a JPEG image for better performance\n          if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n            xhr.abort();\n          }\n        };\n\n        xhr.onload = function () {\n          _this.read(xhr.response);\n        };\n\n        xhr.onloadend = function () {\n          _this.reloading = false;\n          _this.xhr = null;\n        }; // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n\n\n        if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n          url = addTimestamp(url);\n        }\n\n        xhr.open('GET', url);\n        xhr.responseType = 'arraybuffer';\n        xhr.withCredentials = element.crossOrigin === 'use-credentials';\n        xhr.send();\n      }\n    }, {\n      key: \"read\",\n      value: function read(arrayBuffer) {\n        var options = this.options,\n            imageData = this.imageData; // Reset the orientation value to its default value 1\n        // as some iOS browsers will render image with its orientation\n\n        var orientation = resetAndGetOrientation(arrayBuffer);\n        var rotate = 0;\n        var scaleX = 1;\n        var scaleY = 1;\n\n        if (orientation > 1) {\n          // Generate a new URL which has the default orientation value\n          this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n\n          var _parseOrientation = parseOrientation(orientation);\n\n          rotate = _parseOrientation.rotate;\n          scaleX = _parseOrientation.scaleX;\n          scaleY = _parseOrientation.scaleY;\n        }\n\n        if (options.rotatable) {\n          imageData.rotate = rotate;\n        }\n\n        if (options.scalable) {\n          imageData.scaleX = scaleX;\n          imageData.scaleY = scaleY;\n        }\n\n        this.clone();\n      }\n    }, {\n      key: \"clone\",\n      value: function clone() {\n        var element = this.element,\n            url = this.url;\n        var crossOrigin = element.crossOrigin;\n        var crossOriginUrl = url;\n\n        if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n          if (!crossOrigin) {\n            crossOrigin = 'anonymous';\n          } // Bust cache when there is not a \"crossOrigin\" property (#519)\n\n\n          crossOriginUrl = addTimestamp(url);\n        }\n\n        this.crossOrigin = crossOrigin;\n        this.crossOriginUrl = crossOriginUrl;\n        var image = document.createElement('img');\n\n        if (crossOrigin) {\n          image.crossOrigin = crossOrigin;\n        }\n\n        image.src = crossOriginUrl || url;\n        image.alt = element.alt || 'The image to crop';\n        this.image = image;\n        image.onload = this.start.bind(this);\n        image.onerror = this.stop.bind(this);\n        addClass(image, CLASS_HIDE);\n        element.parentNode.insertBefore(image, element.nextSibling);\n      }\n    }, {\n      key: \"start\",\n      value: function start() {\n        var _this2 = this;\n\n        var image = this.image;\n        image.onload = null;\n        image.onerror = null;\n        this.sizing = true; // Match all browsers that use WebKit as the layout engine in iOS devices,\n        // such as Safari for iOS, Chrome for iOS, and in-app browsers.\n\n        var isIOSWebKit = WINDOW.navigator && /(?:iPad|iPhone|iPod).*?AppleWebKit/i.test(WINDOW.navigator.userAgent);\n\n        var done = function done(naturalWidth, naturalHeight) {\n          assign(_this2.imageData, {\n            naturalWidth: naturalWidth,\n            naturalHeight: naturalHeight,\n            aspectRatio: naturalWidth / naturalHeight\n          });\n          _this2.sizing = false;\n          _this2.sized = true;\n\n          _this2.build();\n        }; // Most modern browsers (excepts iOS WebKit)\n\n\n        if (image.naturalWidth && !isIOSWebKit) {\n          done(image.naturalWidth, image.naturalHeight);\n          return;\n        }\n\n        var sizingImage = document.createElement('img');\n        var body = document.body || document.documentElement;\n        this.sizingImage = sizingImage;\n\n        sizingImage.onload = function () {\n          done(sizingImage.width, sizingImage.height);\n\n          if (!isIOSWebKit) {\n            body.removeChild(sizingImage);\n          }\n        };\n\n        sizingImage.src = image.src; // iOS WebKit will convert the image automatically\n        // with its orientation once append it into DOM (#279)\n\n        if (!isIOSWebKit) {\n          sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n          body.appendChild(sizingImage);\n        }\n      }\n    }, {\n      key: \"stop\",\n      value: function stop() {\n        var image = this.image;\n        image.onload = null;\n        image.onerror = null;\n        image.parentNode.removeChild(image);\n        this.image = null;\n      }\n    }, {\n      key: \"build\",\n      value: function build() {\n        if (!this.sized || this.ready) {\n          return;\n        }\n\n        var element = this.element,\n            options = this.options,\n            image = this.image; // Create cropper elements\n\n        var container = element.parentNode;\n        var template = document.createElement('div');\n        template.innerHTML = TEMPLATE;\n        var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n        var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n        var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n        var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n        var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n        this.container = container;\n        this.cropper = cropper;\n        this.canvas = canvas;\n        this.dragBox = dragBox;\n        this.cropBox = cropBox;\n        this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n        this.face = face;\n        canvas.appendChild(image); // Hide the original image\n\n        addClass(element, CLASS_HIDDEN); // Inserts the cropper after to the current image\n\n        container.insertBefore(cropper, element.nextSibling); // Show the image if is hidden\n\n        if (!this.isImg) {\n          removeClass(image, CLASS_HIDE);\n        }\n\n        this.initPreview();\n        this.bind();\n        options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n        options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n        options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n        addClass(cropBox, CLASS_HIDDEN);\n\n        if (!options.guides) {\n          addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n        }\n\n        if (!options.center) {\n          addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n        }\n\n        if (options.background) {\n          addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n        }\n\n        if (!options.highlight) {\n          addClass(face, CLASS_INVISIBLE);\n        }\n\n        if (options.cropBoxMovable) {\n          addClass(face, CLASS_MOVE);\n          setData(face, DATA_ACTION, ACTION_ALL);\n        }\n\n        if (!options.cropBoxResizable) {\n          addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n          addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n        }\n\n        this.render();\n        this.ready = true;\n        this.setDragMode(options.dragMode);\n\n        if (options.autoCrop) {\n          this.crop();\n        }\n\n        this.setData(options.data);\n\n        if (isFunction(options.ready)) {\n          addListener(element, EVENT_READY, options.ready, {\n            once: true\n          });\n        }\n\n        dispatchEvent(element, EVENT_READY);\n      }\n    }, {\n      key: \"unbuild\",\n      value: function unbuild() {\n        if (!this.ready) {\n          return;\n        }\n\n        this.ready = false;\n        this.unbind();\n        this.resetPreview();\n        this.cropper.parentNode.removeChild(this.cropper);\n        removeClass(this.element, CLASS_HIDDEN);\n      }\n    }, {\n      key: \"uncreate\",\n      value: function uncreate() {\n        if (this.ready) {\n          this.unbuild();\n          this.ready = false;\n          this.cropped = false;\n        } else if (this.sizing) {\n          this.sizingImage.onload = null;\n          this.sizing = false;\n          this.sized = false;\n        } else if (this.reloading) {\n          this.xhr.onabort = null;\n          this.xhr.abort();\n        } else if (this.image) {\n          this.stop();\n        }\n      }\n      /**\n       * Get the no conflict cropper class.\n       * @returns {Cropper} The cropper class.\n       */\n\n    }], [{\n      key: \"noConflict\",\n      value: function noConflict() {\n        window.Cropper = AnotherCropper;\n        return Cropper;\n      }\n      /**\n       * Change the default options.\n       * @param {Object} options - The new default options.\n       */\n\n    }, {\n      key: \"setDefaults\",\n      value: function setDefaults(options) {\n        assign(DEFAULTS, isPlainObject(options) && options);\n      }\n    }]);\n\n    return Cropper;\n  }();\n\n  assign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\n  return Cropper;\n\n})));\n"
  },
  {
    "path": "public/plugins/new-croppie/main-new.js",
    "content": "var cropper;\nvar tmpCanvas;\n$(\"body\").delegate(\".my-file\", \"change\", function(ev){  \n    $(\"#img-control\").find(\"#extraImageTool\").remove();\n    $(\"#img-control\").width(272);\n    $(\"#img-control\").prepend('<span id=\"extraImageTool\"><button id=\"btnCropImage\" type=\"button\" value=\"Crop\" style=\"display: inline-block;\">Crop</button><button id=\"btnRotateImage\" type=\"button\" value=\"Rotate\" style=\"display: inline-block;\">Rotate</button></span>');\n});\n\n$(\"body\").delegate(\"#btnCropImage\", \"click\", function(ev){\n    'use strict';  \n    tmpCanvas = document.getElementById('myTmpCanvas');\n    var Cropper = window.Cropper;\n    var URL = window.URL || window.webkitURL;\n    var container = document.querySelector('#my-mask');\n    var image = container.getElementsByTagName('img').item(0);             \n    cropper = new Cropper(image, {\n        aspectRatio: 16 / 9,\n        crop(event) {\n            var width = event.detail.width;\n            var height = event.detail.height;\n            $(\"#my-image\").css('width', event.detail.width);\n            $(\"#my-image\").css('height', event.detail.height);\n            $(\"#my-image\").css('transform', 'translateX(' + event.detail.scaleX+ 'px)');\n            $(\"#my-image\").css('transform', 'translateX(' + event.detail.scaleY+ 'px)');     \n\n            tmpCanvas = document.getElementById('myTmpCanvas');\n            tmpCanvas.width = event.detail.width;\n            tmpCanvas.height = event.detail.height;\n\n            var context = tmpCanvas.getContext('2d');       \n            var tmp = new Image(), context, width, height;\n\n            context = tmpCanvas.getContext( '2d' );\n            context.drawImage( tmp, 0, 0, event.detail.width, event.detail.height );\n            tmp.src = tmpCanvas.toDataURL( 'image/png', 1 );\n            crop();\n            console.log(\"x\", event.detail.x);\n            console.log(\"y\", event.detail.y);\n            console.log(\"width\", event.detail.width);\n            console.log(\"height\", event.detail.height);\n            //console.log(\"rotate\", event.detail.rotate);\n            console.log(\"scaleX\", event.detail.scaleX);\n            console.log(\"scaleY\", event.detail.scaleY);\n        },\n    });\n});\n\n$(\"body\").delegate(\"#btnChangeImage\", \"click\", function(ev){ \n    if( cropper ) {\n        cropper.destroy();\n    }\n});\n\n$(\"body\").delegate(\"#btnRotateImage\", \"click\", function(ev){ \n    if ($(\"#my-image\").css('transform') == 'none') {\n      $(\"#my-image\").css({'transform': 'rotate(-180deg)'});\n    } else {\n      $(\"#my-image\").css({'transform': ''});\n    };\n});\n\n var crop = function () {\n    //Crop & move from \"myTmpCanvas\" to \"myCanvas\" (<canvas id=\"myCanvas\"><canvas id=\"myTmpCanvas\">)\n\n    var maskAdj = 1.1; //adjustment\n    var x = parseInt(jQuery(\"#my-image\").css('left')) - maskAdj;\n    var y = parseInt(jQuery(\"#my-image\").css('top')) - maskAdj;\n\n    var dw = parseInt(jQuery(\"#my-mask\").css('width'));\n    var dh = parseInt(jQuery(\"#my-mask\").css('height'));\n\n    var canvas = document.getElementById('myCanvas');\n    var context = canvas.getContext('2d');\n    canvas.width = dw;\n    canvas.height = dh;\n\n    var sourceX = -1 * x;\n    var sourceY = -1 * y;\n\n    if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { //adjustment\n        var iosAdj = 0.7;\n        sourceX = -1 * x + (x - x/iosAdj);\n        sourceY = -1 * y + (y - y/iosAdj);\n    }\n\n    /* checking\n    alert(sourceX + ' - ' + sourceY); // 1.1 - 3.3\n    alert(\"tmpCanvas.height=\" + tmpCanvas.height + \" | dh=\" + dh);\n    alert(\"tmpCanvas.width=\" + tmpCanvas.width + \" | dw=\" + dw);\n    */\n\n    //Prevent blank area\n    if (sourceY > (tmpCanvas.height - dh)) { sourceY = tmpCanvas.height - dh; }\n    if (sourceX > (tmpCanvas.width - dw)) { sourceX = tmpCanvas.width - dw; }\n\n    context.drawImage(tmpCanvas, sourceX, sourceY, dw, dh, 0, 0, dw, dh);\n};"
  },
  {
    "path": "public/plugins/new-croppie/main.js",
    "content": "var cropper;\nvar tmpCanvas;\nvar rotateValue = 0;\nvar isCropImageInitialize = 0;\n$(\"body\").delegate(\".my-file\", \"change\", function(ev){  \n    $(\"#img-control\").find(\"#extraImageTool\").remove();\n    $(\"#img-control\").width(272).prepend('<span id=\"extraImageTool\"><button id=\"btnCropImage\" type=\"button\" value=\"Crop\" style=\"display: inline-block;\">Crop</button><button id=\"btnRotateImage\" type=\"button\" value=\"Rotate\" style=\"display: inline-block;\">Rotate</button></span>');     \n});\n\n$(\"body\").delegate(\"#btnCropImage\", \"click\", function(ev){\n    'use strict';  \n    if( ! isCropImageInitialize ) {\n        isCropImageInitialize = 1;        \n       \n        var Cropper = window.Cropper;    \n        var container = document.querySelector('#my-mask');\n        var image = container.getElementsByTagName('img').item(0);    \n\n        cropper = new Cropper(image, {\n            aspectRatio: NaN,            \n        });\n    }\n});\n\n$(\"body\").delegate(\"#btnRotateImage\", \"click\", function(ev){ \n    if( (rotateValue + 90) == 360 ) {\n        rotateValue = 0;\n    } else {\n        rotateValue = rotateValue + 90;  \n    }\n\n    if( !isCropImageInitialize ) {\n        isCropImageInitialize = 1;\n       \n        var Cropper = window.Cropper;   \n        var container = document.querySelector('#my-mask');\n        var image = container.getElementsByTagName('img').item(0); \n\n        cropper = new Cropper(image, {   \n            autoCrop: false,\n            aspectRatio: NaN,           \n            ready() {\n                this.cropper.rotateTo(rotateValue);\n            },\n        }); \n    } else{\n        cropper.rotateTo(rotateValue);\n    }\n});\n\n$(\"body\").delegate(\"#btnChangeImage\", \"click\", function(ev){ \n    if( cropper  ) {\n        ev.preventDefault();           \n        jQuery(\"#divToolImg\").data('image').attr(\"src\", cropper.getCroppedCanvas().toDataURL('image/jpeg'));\n        cropper.destroy();\n        isCropImageInitialize = 0;\n    }\n});"
  },
  {
    "path": "public/plugins/summernote/summernote-bs3.css",
    "content": ".note-editor {\n  /*! normalize.css v2.1.3 | MIT License | git.io/normalize */\n\n}\n.note-editor article,\n.note-editor aside,\n.note-editor details,\n.note-editor figcaption,\n.note-editor figure,\n.note-editor footer,\n.note-editor header,\n.note-editor hgroup,\n.note-editor main,\n.note-editor nav,\n.note-editor section,\n.note-editor summary {\n  display: block;\n}\n.note-editor audio,\n.note-editor canvas,\n.note-editor video {\n  display: inline-block;\n}\n.note-editor audio:not([controls]) {\n  display: none;\n  height: 0;\n}\n.note-editor [hidden],\n.note-editor template {\n  display: none;\n}\n.note-editor html {\n  font-family: sans-serif;\n  -ms-text-size-adjust: 100%;\n  -webkit-text-size-adjust: 100%;\n}\n.note-editor body {\n  margin: 0;\n}\n.note-editor a {\n  background: transparent;\n}\n.note-editor a:focus {\n  outline: thin dotted;\n}\n.note-editor a:active,\n.note-editor a:hover {\n  outline: 0;\n}\n.note-editor h1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n.note-editor abbr[title] {\n  border-bottom: 1px dotted;\n}\n.note-editor b,\n.note-editor strong {\n  font-weight: bold;\n}\n.note-editor dfn {\n  font-style: italic;\n}\n.note-editor hr {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n  height: 0;\n}\n.note-editor mark {\n  background: #ff0;\n  color: #000;\n}\n.note-editor code,\n.note-editor kbd,\n.note-editor pre,\n.note-editor samp {\n  font-family: monospace, serif;\n  font-size: 1em;\n}\n.note-editor pre {\n  white-space: pre-wrap;\n}\n.note-editor q {\n  quotes: \"\\201C\" \"\\201D\" \"\\2018\" \"\\2019\";\n}\n.note-editor small {\n  font-size: 80%;\n}\n.note-editor sub,\n.note-editor sup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n.note-editor sup {\n  top: -0.5em;\n}\n.note-editor sub {\n  bottom: -0.25em;\n}\n.note-editor img {\n  border: 0;\n}\n.note-editor svg:not(:root) {\n  overflow: hidden;\n}\n.note-editor figure {\n  margin: 0;\n}\n.note-editor fieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n.note-editor legend {\n  border: 0;\n  padding: 0;\n}\n.note-editor button,\n.note-editor input,\n.note-editor select,\n.note-editor textarea {\n  font-family: inherit;\n  font-size: 100%;\n  margin: 0;\n}\n.note-editor button,\n.note-editor input {\n  line-height: normal;\n}\n.note-editor button,\n.note-editor select {\n  text-transform: none;\n}\n.note-editor button,\n.note-editor html input[type=\"button\"],\n.note-editor input[type=\"reset\"],\n.note-editor input[type=\"submit\"] {\n  -webkit-appearance: button;\n  cursor: pointer;\n}\n.note-editor button[disabled],\n.note-editor html input[disabled] {\n  cursor: default;\n}\n.note-editor input[type=\"checkbox\"],\n.note-editor input[type=\"radio\"] {\n  box-sizing: border-box;\n  padding: 0;\n}\n.note-editor input[type=\"search\"] {\n  -webkit-appearance: textfield;\n  -moz-box-sizing: content-box;\n  -webkit-box-sizing: content-box;\n  box-sizing: content-box;\n}\n.note-editor input[type=\"search\"]::-webkit-search-cancel-button,\n.note-editor input[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n.note-editor button::-moz-focus-inner,\n.note-editor input::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n.note-editor textarea {\n  overflow: auto;\n  vertical-align: top;\n}\n.note-editor table {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n@media print {\n  .note-editor * {\n    text-shadow: none !important;\n    color: #000 !important;\n    background: transparent !important;\n    box-shadow: none !important;\n  }\n  .note-editor a,\n  .note-editor a:visited {\n    text-decoration: underline;\n  }\n  .note-editor a[href]:after {\n    content: \" (\" attr(href) \")\";\n  }\n  .note-editor abbr[title]:after {\n    content: \" (\" attr(title) \")\";\n  }\n  .note-editor .ir a:after,\n  .note-editor a[href^=\"javascript:\"]:after,\n  .note-editor a[href^=\"#\"]:after {\n    content: \"\";\n  }\n  .note-editor pre,\n  .note-editor blockquote {\n    border: 1px solid #999;\n    page-break-inside: avoid;\n  }\n  .note-editor thead {\n    display: table-header-group;\n  }\n  .note-editor tr,\n  .note-editor img {\n    page-break-inside: avoid;\n  }\n  .note-editor img {\n    max-width: 100% !important;\n  }\n  @page  {\n    margin: 2cm .5cm;\n  }\n  .note-editor p,\n  .note-editor h2,\n  .note-editor h3 {\n    orphans: 3;\n    widows: 3;\n  }\n  .note-editor h2,\n  .note-editor h3 {\n    page-break-after: avoid;\n  }\n  .note-editor .navbar {\n    display: none;\n  }\n  .note-editor .table td,\n  .note-editor .table th {\n    background-color: #fff !important;\n  }\n  .note-editor .btn > .caret,\n  .note-editor .dropup > .btn > .caret {\n    border-top-color: #000 !important;\n  }\n  .note-editor .label {\n    border: 1px solid #000;\n  }\n  .note-editor .table {\n    border-collapse: collapse !important;\n  }\n  .note-editor .table-bordered th,\n  .note-editor .table-bordered td {\n    border: 1px solid #ddd !important;\n  }\n}\n.note-editor *,\n.note-editor *:before,\n.note-editor *:after {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.note-editor html {\n  font-size: 62.5%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n.note-editor body {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 1.428571429;\n  color: #333333;\n  background-color: #ffffff;\n}\n.note-editor input,\n.note-editor button,\n.note-editor select,\n.note-editor textarea {\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n.note-editor a {\n  color: #428bca;\n  text-decoration: none;\n}\n.note-editor a:hover,\n.note-editor a:focus {\n  color: #2a6496;\n  text-decoration: underline;\n}\n.note-editor a:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.note-editor img {\n  vertical-align: middle;\n}\n.note-editor .img-responsive {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.note-editor .img-rounded {\n  border-radius: 6px;\n}\n.note-editor .img-thumbnail {\n  padding: 4px;\n  line-height: 1.428571429;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n}\n.note-editor .img-circle {\n  border-radius: 50%;\n}\n.note-editor hr {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  border: 0;\n  border-top: 1px solid #eeeeee;\n}\n.note-editor .sr-only {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  margin: -1px;\n  padding: 0;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  border: 0;\n}\n.note-editor p {\n  margin: 0 0 10px;\n}\n.note-editor .lead {\n  margin-bottom: 20px;\n  font-size: 16px;\n  font-weight: 200;\n  line-height: 1.4;\n}\n@media (min-width: 768px) {\n  .note-editor .lead {\n    font-size: 21px;\n  }\n}\n.note-editor small,\n.note-editor .small {\n  font-size: 85%;\n}\n.note-editor cite {\n  font-style: normal;\n}\n.note-editor .text-muted {\n  color: #999999;\n}\n.note-editor .text-primary {\n  color: #428bca;\n}\n.note-editor .text-primary:hover {\n  color: #3071a9;\n}\n.note-editor .text-warning {\n  color: #c09853;\n}\n.note-editor .text-warning:hover {\n  color: #a47e3c;\n}\n.note-editor .text-danger {\n  color: #b94a48;\n}\n.note-editor .text-danger:hover {\n  color: #953b39;\n}\n.note-editor .text-success {\n  color: #468847;\n}\n.note-editor .text-success:hover {\n  color: #356635;\n}\n.note-editor .text-info {\n  color: #3a87ad;\n}\n.note-editor .text-info:hover {\n  color: #2d6987;\n}\n.note-editor .text-left {\n  text-align: left;\n}\n.note-editor .text-right {\n  text-align: right;\n}\n.note-editor .text-center {\n  text-align: center;\n}\n.note-editor h1,\n.note-editor h2,\n.note-editor h3,\n.note-editor h4,\n.note-editor h5,\n.note-editor h6,\n.note-editor .h1,\n.note-editor .h2,\n.note-editor .h3,\n.note-editor .h4,\n.note-editor .h5,\n.note-editor .h6 {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-weight: 500;\n  line-height: 1.1;\n  color: inherit;\n}\n.note-editor h1 small,\n.note-editor h2 small,\n.note-editor h3 small,\n.note-editor h4 small,\n.note-editor h5 small,\n.note-editor h6 small,\n.note-editor .h1 small,\n.note-editor .h2 small,\n.note-editor .h3 small,\n.note-editor .h4 small,\n.note-editor .h5 small,\n.note-editor .h6 small,\n.note-editor h1 .small,\n.note-editor h2 .small,\n.note-editor h3 .small,\n.note-editor h4 .small,\n.note-editor h5 .small,\n.note-editor h6 .small,\n.note-editor .h1 .small,\n.note-editor .h2 .small,\n.note-editor .h3 .small,\n.note-editor .h4 .small,\n.note-editor .h5 .small,\n.note-editor .h6 .small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999999;\n}\n.note-editor h1,\n.note-editor h2,\n.note-editor h3 {\n  margin-top: 20px;\n  margin-bottom: 10px;\n}\n.note-editor h1 small,\n.note-editor h2 small,\n.note-editor h3 small,\n.note-editor h1 .small,\n.note-editor h2 .small,\n.note-editor h3 .small {\n  font-size: 65%;\n}\n.note-editor h4,\n.note-editor h5,\n.note-editor h6 {\n  margin-top: 10px;\n  margin-bottom: 10px;\n}\n.note-editor h4 small,\n.note-editor h5 small,\n.note-editor h6 small,\n.note-editor h4 .small,\n.note-editor h5 .small,\n.note-editor h6 .small {\n  font-size: 75%;\n}\n.note-editor h1,\n.note-editor .h1 {\n  font-size: 36px;\n}\n.note-editor h2,\n.note-editor .h2 {\n  font-size: 30px;\n}\n.note-editor h3,\n.note-editor .h3 {\n  font-size: 24px;\n}\n.note-editor h4,\n.note-editor .h4 {\n  font-size: 18px;\n}\n.note-editor h5,\n.note-editor .h5 {\n  font-size: 14px;\n}\n.note-editor h6,\n.note-editor .h6 {\n  font-size: 12px;\n}\n.note-editor .page-header {\n  padding-bottom: 9px;\n  margin: 40px 0 20px;\n  border-bottom: 1px solid #eeeeee;\n}\n.note-editor ul,\n.note-editor ol {\n  margin-top: 0;\n  margin-bottom: 10px;\n}\n.note-editor ul ul,\n.note-editor ol ul,\n.note-editor ul ol,\n.note-editor ol ol {\n  margin-bottom: 0;\n}\n.note-editor .list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n.note-editor .list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n.note-editor .list-inline > li {\n  display: inline-block;\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.note-editor dl {\n  margin-bottom: 20px;\n}\n.note-editor dt,\n.note-editor dd {\n  line-height: 1.428571429;\n}\n.note-editor dt {\n  font-weight: bold;\n}\n.note-editor dd {\n  margin-left: 0;\n}\n@media (min-width: 768px) {\n  .note-editor .dl-horizontal dt {\n    float: left;\n    width: 160px;\n    clear: left;\n    text-align: right;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n  .note-editor .dl-horizontal dd {\n    margin-left: 180px;\n  }\n  .note-editor .dl-horizontal dd:before,\n  .note-editor .dl-horizontal dd:after {\n    content: \" \";\n    /* 1 */\n\n    display: table;\n    /* 2 */\n\n  }\n  .note-editor .dl-horizontal dd:after {\n    clear: both;\n  }\n  .note-editor .dl-horizontal dd:before,\n  .note-editor .dl-horizontal dd:after {\n    content: \" \";\n    /* 1 */\n\n    display: table;\n    /* 2 */\n\n  }\n  .note-editor .dl-horizontal dd:after {\n    clear: both;\n  }\n}\n.note-editor abbr[title],\n.note-editor abbr[data-original-title] {\n  cursor: help;\n  border-bottom: 1px dotted #999999;\n}\n.note-editor abbr.initialism {\n  font-size: 90%;\n  text-transform: uppercase;\n}\n.note-editor blockquote {\n  padding: 10px 20px;\n  margin: 0 0 20px;\n  border-left: 5px solid #eeeeee;\n}\n.note-editor blockquote p {\n  font-size: 17.5px;\n  font-weight: 300;\n  line-height: 1.25;\n}\n.note-editor blockquote p:last-child {\n  margin-bottom: 0;\n}\n.note-editor blockquote small {\n  display: block;\n  line-height: 1.428571429;\n  color: #999999;\n}\n.note-editor blockquote small:before {\n  content: '\\2014 \\00A0';\n}\n.note-editor blockquote.pull-right {\n  padding-right: 15px;\n  padding-left: 0;\n  border-right: 5px solid #eeeeee;\n  border-left: 0;\n}\n.note-editor blockquote.pull-right p,\n.note-editor blockquote.pull-right small,\n.note-editor blockquote.pull-right .small {\n  text-align: right;\n}\n.note-editor blockquote.pull-right small:before,\n.note-editor blockquote.pull-right .small:before {\n  content: '';\n}\n.note-editor blockquote.pull-right small:after,\n.note-editor blockquote.pull-right .small:after {\n  content: '\\00A0 \\2014';\n}\n.note-editor blockquote:before,\n.note-editor blockquote:after {\n  content: \"\";\n}\n.note-editor address {\n  margin-bottom: 20px;\n  font-style: normal;\n  line-height: 1.428571429;\n}\n.note-editor code,\n.note-editor kdb,\n.note-editor pre,\n.note-editor samp {\n  font-family: Monaco, Menlo, Consolas, \"Courier New\", monospace;\n}\n.note-editor code {\n  padding: 2px 4px;\n  font-size: 90%;\n  color: #c7254e;\n  background-color: #f9f2f4;\n  white-space: nowrap;\n  border-radius: 4px;\n}\n.note-editor pre {\n  display: block;\n  padding: 9.5px;\n  margin: 0 0 10px;\n  font-size: 13px;\n  line-height: 1.428571429;\n  word-break: break-all;\n  word-wrap: break-word;\n  color: #333333;\n  background-color: #f5f5f5;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n}\n.note-editor pre code {\n  padding: 0;\n  font-size: inherit;\n  color: inherit;\n  white-space: pre-wrap;\n  background-color: transparent;\n  border-radius: 0;\n}\n.note-editor .pre-scrollable {\n  max-height: 340px;\n  overflow-y: scroll;\n}\n.note-editor .container {\n  margin-right: auto;\n  margin-left: auto;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.note-editor .container:before,\n.note-editor .container:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .container:after {\n  clear: both;\n}\n.note-editor .container:before,\n.note-editor .container:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .container:after {\n  clear: both;\n}\n.note-editor .row {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n.note-editor .row:before,\n.note-editor .row:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .row:after {\n  clear: both;\n}\n.note-editor .row:before,\n.note-editor .row:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .row:after {\n  clear: both;\n}\n.note-editor .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n  position: relative;\n  min-height: 1px;\n  padding-left: 15px;\n  padding-right: 15px;\n}\n.note-editor .col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11 {\n  float: left;\n}\n.note-editor .col-xs-12 {\n  width: 100%;\n}\n.note-editor .col-xs-11 {\n  width: 91.66666666666666%;\n}\n.note-editor .col-xs-10 {\n  width: 83.33333333333334%;\n}\n.note-editor .col-xs-9 {\n  width: 75%;\n}\n.note-editor .col-xs-8 {\n  width: 66.66666666666666%;\n}\n.note-editor .col-xs-7 {\n  width: 58.333333333333336%;\n}\n.note-editor .col-xs-6 {\n  width: 50%;\n}\n.note-editor .col-xs-5 {\n  width: 41.66666666666667%;\n}\n.note-editor .col-xs-4 {\n  width: 33.33333333333333%;\n}\n.note-editor .col-xs-3 {\n  width: 25%;\n}\n.note-editor .col-xs-2 {\n  width: 16.666666666666664%;\n}\n.note-editor .col-xs-1 {\n  width: 8.333333333333332%;\n}\n.note-editor .col-xs-pull-12 {\n  right: 100%;\n}\n.note-editor .col-xs-pull-11 {\n  right: 91.66666666666666%;\n}\n.note-editor .col-xs-pull-10 {\n  right: 83.33333333333334%;\n}\n.note-editor .col-xs-pull-9 {\n  right: 75%;\n}\n.note-editor .col-xs-pull-8 {\n  right: 66.66666666666666%;\n}\n.note-editor .col-xs-pull-7 {\n  right: 58.333333333333336%;\n}\n.note-editor .col-xs-pull-6 {\n  right: 50%;\n}\n.note-editor .col-xs-pull-5 {\n  right: 41.66666666666667%;\n}\n.note-editor .col-xs-pull-4 {\n  right: 33.33333333333333%;\n}\n.note-editor .col-xs-pull-3 {\n  right: 25%;\n}\n.note-editor .col-xs-pull-2 {\n  right: 16.666666666666664%;\n}\n.note-editor .col-xs-pull-1 {\n  right: 8.333333333333332%;\n}\n.note-editor .col-xs-push-12 {\n  left: 100%;\n}\n.note-editor .col-xs-push-11 {\n  left: 91.66666666666666%;\n}\n.note-editor .col-xs-push-10 {\n  left: 83.33333333333334%;\n}\n.note-editor .col-xs-push-9 {\n  left: 75%;\n}\n.note-editor .col-xs-push-8 {\n  left: 66.66666666666666%;\n}\n.note-editor .col-xs-push-7 {\n  left: 58.333333333333336%;\n}\n.note-editor .col-xs-push-6 {\n  left: 50%;\n}\n.note-editor .col-xs-push-5 {\n  left: 41.66666666666667%;\n}\n.note-editor .col-xs-push-4 {\n  left: 33.33333333333333%;\n}\n.note-editor .col-xs-push-3 {\n  left: 25%;\n}\n.note-editor .col-xs-push-2 {\n  left: 16.666666666666664%;\n}\n.note-editor .col-xs-push-1 {\n  left: 8.333333333333332%;\n}\n.note-editor .col-xs-offset-12 {\n  margin-left: 100%;\n}\n.note-editor .col-xs-offset-11 {\n  margin-left: 91.66666666666666%;\n}\n.note-editor .col-xs-offset-10 {\n  margin-left: 83.33333333333334%;\n}\n.note-editor .col-xs-offset-9 {\n  margin-left: 75%;\n}\n.note-editor .col-xs-offset-8 {\n  margin-left: 66.66666666666666%;\n}\n.note-editor .col-xs-offset-7 {\n  margin-left: 58.333333333333336%;\n}\n.note-editor .col-xs-offset-6 {\n  margin-left: 50%;\n}\n.note-editor .col-xs-offset-5 {\n  margin-left: 41.66666666666667%;\n}\n.note-editor .col-xs-offset-4 {\n  margin-left: 33.33333333333333%;\n}\n.note-editor .col-xs-offset-3 {\n  margin-left: 25%;\n}\n.note-editor .col-xs-offset-2 {\n  margin-left: 16.666666666666664%;\n}\n.note-editor .col-xs-offset-1 {\n  margin-left: 8.333333333333332%;\n}\n@media (min-width: 768px) {\n  .note-editor .container {\n    width: 750px;\n  }\n  .note-editor .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11 {\n    float: left;\n  }\n  .note-editor .col-sm-12 {\n    width: 100%;\n  }\n  .note-editor .col-sm-11 {\n    width: 91.66666666666666%;\n  }\n  .note-editor .col-sm-10 {\n    width: 83.33333333333334%;\n  }\n  .note-editor .col-sm-9 {\n    width: 75%;\n  }\n  .note-editor .col-sm-8 {\n    width: 66.66666666666666%;\n  }\n  .note-editor .col-sm-7 {\n    width: 58.333333333333336%;\n  }\n  .note-editor .col-sm-6 {\n    width: 50%;\n  }\n  .note-editor .col-sm-5 {\n    width: 41.66666666666667%;\n  }\n  .note-editor .col-sm-4 {\n    width: 33.33333333333333%;\n  }\n  .note-editor .col-sm-3 {\n    width: 25%;\n  }\n  .note-editor .col-sm-2 {\n    width: 16.666666666666664%;\n  }\n  .note-editor .col-sm-1 {\n    width: 8.333333333333332%;\n  }\n  .note-editor .col-sm-pull-12 {\n    right: 100%;\n  }\n  .note-editor .col-sm-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .note-editor .col-sm-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .note-editor .col-sm-pull-9 {\n    right: 75%;\n  }\n  .note-editor .col-sm-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .note-editor .col-sm-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .note-editor .col-sm-pull-6 {\n    right: 50%;\n  }\n  .note-editor .col-sm-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .note-editor .col-sm-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .note-editor .col-sm-pull-3 {\n    right: 25%;\n  }\n  .note-editor .col-sm-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .note-editor .col-sm-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .note-editor .col-sm-push-12 {\n    left: 100%;\n  }\n  .note-editor .col-sm-push-11 {\n    left: 91.66666666666666%;\n  }\n  .note-editor .col-sm-push-10 {\n    left: 83.33333333333334%;\n  }\n  .note-editor .col-sm-push-9 {\n    left: 75%;\n  }\n  .note-editor .col-sm-push-8 {\n    left: 66.66666666666666%;\n  }\n  .note-editor .col-sm-push-7 {\n    left: 58.333333333333336%;\n  }\n  .note-editor .col-sm-push-6 {\n    left: 50%;\n  }\n  .note-editor .col-sm-push-5 {\n    left: 41.66666666666667%;\n  }\n  .note-editor .col-sm-push-4 {\n    left: 33.33333333333333%;\n  }\n  .note-editor .col-sm-push-3 {\n    left: 25%;\n  }\n  .note-editor .col-sm-push-2 {\n    left: 16.666666666666664%;\n  }\n  .note-editor .col-sm-push-1 {\n    left: 8.333333333333332%;\n  }\n  .note-editor .col-sm-offset-12 {\n    margin-left: 100%;\n  }\n  .note-editor .col-sm-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .note-editor .col-sm-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .note-editor .col-sm-offset-9 {\n    margin-left: 75%;\n  }\n  .note-editor .col-sm-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .note-editor .col-sm-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .note-editor .col-sm-offset-6 {\n    margin-left: 50%;\n  }\n  .note-editor .col-sm-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .note-editor .col-sm-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .note-editor .col-sm-offset-3 {\n    margin-left: 25%;\n  }\n  .note-editor .col-sm-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .note-editor .col-sm-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n}\n@media (min-width: 992px) {\n  .note-editor .container {\n    width: 970px;\n  }\n  .note-editor .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11 {\n    float: left;\n  }\n  .note-editor .col-md-12 {\n    width: 100%;\n  }\n  .note-editor .col-md-11 {\n    width: 91.66666666666666%;\n  }\n  .note-editor .col-md-10 {\n    width: 83.33333333333334%;\n  }\n  .note-editor .col-md-9 {\n    width: 75%;\n  }\n  .note-editor .col-md-8 {\n    width: 66.66666666666666%;\n  }\n  .note-editor .col-md-7 {\n    width: 58.333333333333336%;\n  }\n  .note-editor .col-md-6 {\n    width: 50%;\n  }\n  .note-editor .col-md-5 {\n    width: 41.66666666666667%;\n  }\n  .note-editor .col-md-4 {\n    width: 33.33333333333333%;\n  }\n  .note-editor .col-md-3 {\n    width: 25%;\n  }\n  .note-editor .col-md-2 {\n    width: 16.666666666666664%;\n  }\n  .note-editor .col-md-1 {\n    width: 8.333333333333332%;\n  }\n  .note-editor .col-md-pull-12 {\n    right: 100%;\n  }\n  .note-editor .col-md-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .note-editor .col-md-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .note-editor .col-md-pull-9 {\n    right: 75%;\n  }\n  .note-editor .col-md-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .note-editor .col-md-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .note-editor .col-md-pull-6 {\n    right: 50%;\n  }\n  .note-editor .col-md-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .note-editor .col-md-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .note-editor .col-md-pull-3 {\n    right: 25%;\n  }\n  .note-editor .col-md-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .note-editor .col-md-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .note-editor .col-md-push-12 {\n    left: 100%;\n  }\n  .note-editor .col-md-push-11 {\n    left: 91.66666666666666%;\n  }\n  .note-editor .col-md-push-10 {\n    left: 83.33333333333334%;\n  }\n  .note-editor .col-md-push-9 {\n    left: 75%;\n  }\n  .note-editor .col-md-push-8 {\n    left: 66.66666666666666%;\n  }\n  .note-editor .col-md-push-7 {\n    left: 58.333333333333336%;\n  }\n  .note-editor .col-md-push-6 {\n    left: 50%;\n  }\n  .note-editor .col-md-push-5 {\n    left: 41.66666666666667%;\n  }\n  .note-editor .col-md-push-4 {\n    left: 33.33333333333333%;\n  }\n  .note-editor .col-md-push-3 {\n    left: 25%;\n  }\n  .note-editor .col-md-push-2 {\n    left: 16.666666666666664%;\n  }\n  .note-editor .col-md-push-1 {\n    left: 8.333333333333332%;\n  }\n  .note-editor .col-md-offset-12 {\n    margin-left: 100%;\n  }\n  .note-editor .col-md-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .note-editor .col-md-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .note-editor .col-md-offset-9 {\n    margin-left: 75%;\n  }\n  .note-editor .col-md-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .note-editor .col-md-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .note-editor .col-md-offset-6 {\n    margin-left: 50%;\n  }\n  .note-editor .col-md-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .note-editor .col-md-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .note-editor .col-md-offset-3 {\n    margin-left: 25%;\n  }\n  .note-editor .col-md-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .note-editor .col-md-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n}\n@media (min-width: 1200px) {\n  .note-editor .container {\n    width: 1170px;\n  }\n  .note-editor .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11 {\n    float: left;\n  }\n  .note-editor .col-lg-12 {\n    width: 100%;\n  }\n  .note-editor .col-lg-11 {\n    width: 91.66666666666666%;\n  }\n  .note-editor .col-lg-10 {\n    width: 83.33333333333334%;\n  }\n  .note-editor .col-lg-9 {\n    width: 75%;\n  }\n  .note-editor .col-lg-8 {\n    width: 66.66666666666666%;\n  }\n  .note-editor .col-lg-7 {\n    width: 58.333333333333336%;\n  }\n  .note-editor .col-lg-6 {\n    width: 50%;\n  }\n  .note-editor .col-lg-5 {\n    width: 41.66666666666667%;\n  }\n  .note-editor .col-lg-4 {\n    width: 33.33333333333333%;\n  }\n  .note-editor .col-lg-3 {\n    width: 25%;\n  }\n  .note-editor .col-lg-2 {\n    width: 16.666666666666664%;\n  }\n  .note-editor .col-lg-1 {\n    width: 8.333333333333332%;\n  }\n  .note-editor .col-lg-pull-12 {\n    right: 100%;\n  }\n  .note-editor .col-lg-pull-11 {\n    right: 91.66666666666666%;\n  }\n  .note-editor .col-lg-pull-10 {\n    right: 83.33333333333334%;\n  }\n  .note-editor .col-lg-pull-9 {\n    right: 75%;\n  }\n  .note-editor .col-lg-pull-8 {\n    right: 66.66666666666666%;\n  }\n  .note-editor .col-lg-pull-7 {\n    right: 58.333333333333336%;\n  }\n  .note-editor .col-lg-pull-6 {\n    right: 50%;\n  }\n  .note-editor .col-lg-pull-5 {\n    right: 41.66666666666667%;\n  }\n  .note-editor .col-lg-pull-4 {\n    right: 33.33333333333333%;\n  }\n  .note-editor .col-lg-pull-3 {\n    right: 25%;\n  }\n  .note-editor .col-lg-pull-2 {\n    right: 16.666666666666664%;\n  }\n  .note-editor .col-lg-pull-1 {\n    right: 8.333333333333332%;\n  }\n  .note-editor .col-lg-push-12 {\n    left: 100%;\n  }\n  .note-editor .col-lg-push-11 {\n    left: 91.66666666666666%;\n  }\n  .note-editor .col-lg-push-10 {\n    left: 83.33333333333334%;\n  }\n  .note-editor .col-lg-push-9 {\n    left: 75%;\n  }\n  .note-editor .col-lg-push-8 {\n    left: 66.66666666666666%;\n  }\n  .note-editor .col-lg-push-7 {\n    left: 58.333333333333336%;\n  }\n  .note-editor .col-lg-push-6 {\n    left: 50%;\n  }\n  .note-editor .col-lg-push-5 {\n    left: 41.66666666666667%;\n  }\n  .note-editor .col-lg-push-4 {\n    left: 33.33333333333333%;\n  }\n  .note-editor .col-lg-push-3 {\n    left: 25%;\n  }\n  .note-editor .col-lg-push-2 {\n    left: 16.666666666666664%;\n  }\n  .note-editor .col-lg-push-1 {\n    left: 8.333333333333332%;\n  }\n  .note-editor .col-lg-offset-12 {\n    margin-left: 100%;\n  }\n  .note-editor .col-lg-offset-11 {\n    margin-left: 91.66666666666666%;\n  }\n  .note-editor .col-lg-offset-10 {\n    margin-left: 83.33333333333334%;\n  }\n  .note-editor .col-lg-offset-9 {\n    margin-left: 75%;\n  }\n  .note-editor .col-lg-offset-8 {\n    margin-left: 66.66666666666666%;\n  }\n  .note-editor .col-lg-offset-7 {\n    margin-left: 58.333333333333336%;\n  }\n  .note-editor .col-lg-offset-6 {\n    margin-left: 50%;\n  }\n  .note-editor .col-lg-offset-5 {\n    margin-left: 41.66666666666667%;\n  }\n  .note-editor .col-lg-offset-4 {\n    margin-left: 33.33333333333333%;\n  }\n  .note-editor .col-lg-offset-3 {\n    margin-left: 25%;\n  }\n  .note-editor .col-lg-offset-2 {\n    margin-left: 16.666666666666664%;\n  }\n  .note-editor .col-lg-offset-1 {\n    margin-left: 8.333333333333332%;\n  }\n}\n.note-editor table {\n  max-width: 100%;\n  background-color: transparent;\n}\n.note-editor th {\n  text-align: left;\n}\n.note-editor .table {\n  width: 100%;\n  margin-bottom: 20px;\n}\n.note-editor .table > thead > tr > th,\n.note-editor .table > tbody > tr > th,\n.note-editor .table > tfoot > tr > th,\n.note-editor .table > thead > tr > td,\n.note-editor .table > tbody > tr > td,\n.note-editor .table > tfoot > tr > td {\n  padding: 8px;\n  line-height: 1.428571429;\n  vertical-align: top;\n  border-top: 1px solid #dddddd;\n}\n.note-editor .table > thead > tr > th {\n  vertical-align: bottom;\n  border-bottom: 2px solid #dddddd;\n}\n.note-editor .table > caption + thead > tr:first-child > th,\n.note-editor .table > colgroup + thead > tr:first-child > th,\n.note-editor .table > thead:first-child > tr:first-child > th,\n.note-editor .table > caption + thead > tr:first-child > td,\n.note-editor .table > colgroup + thead > tr:first-child > td,\n.note-editor .table > thead:first-child > tr:first-child > td {\n  border-top: 0;\n}\n.note-editor .table > tbody + tbody {\n  border-top: 2px solid #dddddd;\n}\n.note-editor .table .table {\n  background-color: #ffffff;\n}\n.note-editor .table-condensed > thead > tr > th,\n.note-editor .table-condensed > tbody > tr > th,\n.note-editor .table-condensed > tfoot > tr > th,\n.note-editor .table-condensed > thead > tr > td,\n.note-editor .table-condensed > tbody > tr > td,\n.note-editor .table-condensed > tfoot > tr > td {\n  padding: 5px;\n}\n.note-editor .table-bordered {\n  border: 1px solid #dddddd;\n}\n.note-editor .table-bordered > thead > tr > th,\n.note-editor .table-bordered > tbody > tr > th,\n.note-editor .table-bordered > tfoot > tr > th,\n.note-editor .table-bordered > thead > tr > td,\n.note-editor .table-bordered > tbody > tr > td,\n.note-editor .table-bordered > tfoot > tr > td {\n  border: 1px solid #dddddd;\n}\n.note-editor .table-bordered > thead > tr > th,\n.note-editor .table-bordered > thead > tr > td {\n  border-bottom-width: 2px;\n}\n.note-editor .table-striped > tbody > tr:nth-child(odd) > td,\n.note-editor .table-striped > tbody > tr:nth-child(odd) > th {\n  background-color: #f9f9f9;\n}\n.note-editor .table-hover > tbody > tr:hover > td,\n.note-editor .table-hover > tbody > tr:hover > th {\n  background-color: #f5f5f5;\n}\n.note-editor table col[class*=\"col-\"] {\n  float: none;\n  display: table-column;\n}\n.note-editor table td[class*=\"col-\"],\n.note-editor table th[class*=\"col-\"] {\n  float: none;\n  display: table-cell;\n}\n.note-editor .table > thead > tr > td.active,\n.note-editor .table > tbody > tr > td.active,\n.note-editor .table > tfoot > tr > td.active,\n.note-editor .table > thead > tr > th.active,\n.note-editor .table > tbody > tr > th.active,\n.note-editor .table > tfoot > tr > th.active,\n.note-editor .table > thead > tr.active > td,\n.note-editor .table > tbody > tr.active > td,\n.note-editor .table > tfoot > tr.active > td,\n.note-editor .table > thead > tr.active > th,\n.note-editor .table > tbody > tr.active > th,\n.note-editor .table > tfoot > tr.active > th {\n  background-color: #f5f5f5;\n}\n.note-editor .table > thead > tr > td.success,\n.note-editor .table > tbody > tr > td.success,\n.note-editor .table > tfoot > tr > td.success,\n.note-editor .table > thead > tr > th.success,\n.note-editor .table > tbody > tr > th.success,\n.note-editor .table > tfoot > tr > th.success,\n.note-editor .table > thead > tr.success > td,\n.note-editor .table > tbody > tr.success > td,\n.note-editor .table > tfoot > tr.success > td,\n.note-editor .table > thead > tr.success > th,\n.note-editor .table > tbody > tr.success > th,\n.note-editor .table > tfoot > tr.success > th {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.note-editor .table-hover > tbody > tr > td.success:hover,\n.note-editor .table-hover > tbody > tr > th.success:hover,\n.note-editor .table-hover > tbody > tr.success:hover > td,\n.note-editor .table-hover > tbody > tr.success:hover > th {\n  background-color: #d0e9c6;\n  border-color: #c9e2b3;\n}\n.note-editor .table > thead > tr > td.danger,\n.note-editor .table > tbody > tr > td.danger,\n.note-editor .table > tfoot > tr > td.danger,\n.note-editor .table > thead > tr > th.danger,\n.note-editor .table > tbody > tr > th.danger,\n.note-editor .table > tfoot > tr > th.danger,\n.note-editor .table > thead > tr.danger > td,\n.note-editor .table > tbody > tr.danger > td,\n.note-editor .table > tfoot > tr.danger > td,\n.note-editor .table > thead > tr.danger > th,\n.note-editor .table > tbody > tr.danger > th,\n.note-editor .table > tfoot > tr.danger > th {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.note-editor .table-hover > tbody > tr > td.danger:hover,\n.note-editor .table-hover > tbody > tr > th.danger:hover,\n.note-editor .table-hover > tbody > tr.danger:hover > td,\n.note-editor .table-hover > tbody > tr.danger:hover > th {\n  background-color: #ebcccc;\n  border-color: #e4b9c0;\n}\n.note-editor .table > thead > tr > td.warning,\n.note-editor .table > tbody > tr > td.warning,\n.note-editor .table > tfoot > tr > td.warning,\n.note-editor .table > thead > tr > th.warning,\n.note-editor .table > tbody > tr > th.warning,\n.note-editor .table > tfoot > tr > th.warning,\n.note-editor .table > thead > tr.warning > td,\n.note-editor .table > tbody > tr.warning > td,\n.note-editor .table > tfoot > tr.warning > td,\n.note-editor .table > thead > tr.warning > th,\n.note-editor .table > tbody > tr.warning > th,\n.note-editor .table > tfoot > tr.warning > th {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.note-editor .table-hover > tbody > tr > td.warning:hover,\n.note-editor .table-hover > tbody > tr > th.warning:hover,\n.note-editor .table-hover > tbody > tr.warning:hover > td,\n.note-editor .table-hover > tbody > tr.warning:hover > th {\n  background-color: #faf2cc;\n  border-color: #f7e1b5;\n}\n@media (max-width: 767px) {\n  .note-editor .table-responsive {\n    width: 100%;\n    margin-bottom: 15px;\n    overflow-y: hidden;\n    overflow-x: scroll;\n    -ms-overflow-style: -ms-autohiding-scrollbar;\n    border: 1px solid #dddddd;\n    -webkit-overflow-scrolling: touch;\n  }\n  .note-editor .table-responsive > .table {\n    margin-bottom: 0;\n  }\n  .note-editor .table-responsive > .table > thead > tr > th,\n  .note-editor .table-responsive > .table > tbody > tr > th,\n  .note-editor .table-responsive > .table > tfoot > tr > th,\n  .note-editor .table-responsive > .table > thead > tr > td,\n  .note-editor .table-responsive > .table > tbody > tr > td,\n  .note-editor .table-responsive > .table > tfoot > tr > td {\n    white-space: nowrap;\n  }\n  .note-editor .table-responsive > .table-bordered {\n    border: 0;\n  }\n  .note-editor .table-responsive > .table-bordered > thead > tr > th:first-child,\n  .note-editor .table-responsive > .table-bordered > tbody > tr > th:first-child,\n  .note-editor .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n  .note-editor .table-responsive > .table-bordered > thead > tr > td:first-child,\n  .note-editor .table-responsive > .table-bordered > tbody > tr > td:first-child,\n  .note-editor .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n    border-left: 0;\n  }\n  .note-editor .table-responsive > .table-bordered > thead > tr > th:last-child,\n  .note-editor .table-responsive > .table-bordered > tbody > tr > th:last-child,\n  .note-editor .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n  .note-editor .table-responsive > .table-bordered > thead > tr > td:last-child,\n  .note-editor .table-responsive > .table-bordered > tbody > tr > td:last-child,\n  .note-editor .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n    border-right: 0;\n  }\n  .note-editor .table-responsive > .table-bordered > tbody > tr:last-child > th,\n  .note-editor .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n  .note-editor .table-responsive > .table-bordered > tbody > tr:last-child > td,\n  .note-editor .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n    border-bottom: 0;\n  }\n}\n.note-editor fieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n.note-editor legend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 20px;\n  font-size: 21px;\n  line-height: inherit;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #e5e5e5;\n}\n.note-editor label {\n  display: inline-block;\n  margin-bottom: 5px;\n  font-weight: bold;\n}\n.note-editor input[type=\"search\"] {\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n}\n.note-editor input[type=\"radio\"],\n.note-editor input[type=\"checkbox\"] {\n  margin: 4px 0 0;\n  margin-top: 1px \\9;\n  /* IE8-9 */\n\n  line-height: normal;\n}\n.note-editor input[type=\"file\"] {\n  display: block;\n}\n.note-editor select[multiple],\n.note-editor select[size] {\n  height: auto;\n}\n.note-editor select optgroup {\n  font-size: inherit;\n  font-style: inherit;\n  font-family: inherit;\n}\n.note-editor input[type=\"file\"]:focus,\n.note-editor input[type=\"radio\"]:focus,\n.note-editor input[type=\"checkbox\"]:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.note-editor input[type=\"number\"]::-webkit-outer-spin-button,\n.note-editor input[type=\"number\"]::-webkit-inner-spin-button {\n  height: auto;\n}\n.note-editor output {\n  display: block;\n  padding-top: 7px;\n  font-size: 14px;\n  line-height: 1.428571429;\n  color: #555555;\n  vertical-align: middle;\n}\n.note-editor .form-control:-moz-placeholder {\n  color: #999999;\n}\n.note-editor .form-control::-moz-placeholder {\n  color: #999999;\n}\n.note-editor .form-control:-ms-input-placeholder {\n  color: #999999;\n}\n.note-editor .form-control::-webkit-input-placeholder {\n  color: #999999;\n}\n.note-editor .form-control {\n  display: block;\n  width: 100%;\n  height: 34px;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.428571429;\n  color: #555555;\n  vertical-align: middle;\n  background-color: #ffffff;\n  background-image: none;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.note-editor .form-control:focus {\n  border-color: #66afe9;\n  outline: 0;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.note-editor .form-control[disabled],\n.note-editor .form-control[readonly],\nfieldset[disabled] .note-editor .form-control {\n  cursor: not-allowed;\n  background-color: #eeeeee;\n}\ntextarea.note-editor .form-control {\n  height: auto;\n}\n.note-editor .form-group {\n  margin-bottom: 15px;\n}\n.note-editor .radio,\n.note-editor .checkbox {\n  display: block;\n  min-height: 20px;\n  margin-top: 10px;\n  margin-bottom: 10px;\n  padding-left: 20px;\n  vertical-align: middle;\n}\n.note-editor .radio label,\n.note-editor .checkbox label {\n  display: inline;\n  margin-bottom: 0;\n  font-weight: normal;\n  cursor: pointer;\n}\n.note-editor .radio input[type=\"radio\"],\n.note-editor .radio-inline input[type=\"radio\"],\n.note-editor .checkbox input[type=\"checkbox\"],\n.note-editor .checkbox-inline input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -20px;\n}\n.note-editor .radio + .radio,\n.note-editor .checkbox + .checkbox {\n  margin-top: -5px;\n}\n.note-editor .radio-inline,\n.note-editor .checkbox-inline {\n  display: inline-block;\n  padding-left: 20px;\n  margin-bottom: 0;\n  vertical-align: middle;\n  font-weight: normal;\n  cursor: pointer;\n}\n.note-editor .radio-inline + .radio-inline,\n.note-editor .checkbox-inline + .checkbox-inline {\n  margin-top: 0;\n  margin-left: 10px;\n}\n.note-editor input[type=\"radio\"][disabled],\n.note-editor input[type=\"checkbox\"][disabled],\n.note-editor .radio[disabled],\n.note-editor .radio-inline[disabled],\n.note-editor .checkbox[disabled],\n.note-editor .checkbox-inline[disabled],\nfieldset[disabled] .note-editor input[type=\"radio\"],\nfieldset[disabled] .note-editor input[type=\"checkbox\"],\nfieldset[disabled] .note-editor .radio,\nfieldset[disabled] .note-editor .radio-inline,\nfieldset[disabled] .note-editor .checkbox,\nfieldset[disabled] .note-editor .checkbox-inline {\n  cursor: not-allowed;\n}\n.note-editor .input-sm {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.note-editor .input-sm {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.note-editor .input-sm {\n  height: auto;\n}\n.note-editor .input-lg {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\nselect.note-editor .input-lg {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.note-editor .input-lg {\n  height: auto;\n}\n.note-editor .has-warning .help-block,\n.note-editor .has-warning .control-label {\n  color: #c09853;\n}\n.note-editor .has-warning .form-control {\n  border-color: #c09853;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.note-editor .has-warning .form-control:focus {\n  border-color: #a47e3c;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;\n}\n.note-editor .has-warning .input-group-addon {\n  color: #c09853;\n  border-color: #c09853;\n  background-color: #fcf8e3;\n}\n.note-editor .has-error .help-block,\n.note-editor .has-error .control-label {\n  color: #b94a48;\n}\n.note-editor .has-error .form-control {\n  border-color: #b94a48;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.note-editor .has-error .form-control:focus {\n  border-color: #953b39;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;\n}\n.note-editor .has-error .input-group-addon {\n  color: #b94a48;\n  border-color: #b94a48;\n  background-color: #f2dede;\n}\n.note-editor .has-success .help-block,\n.note-editor .has-success .control-label {\n  color: #468847;\n}\n.note-editor .has-success .form-control {\n  border-color: #468847;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.note-editor .has-success .form-control:focus {\n  border-color: #356635;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;\n}\n.note-editor .has-success .input-group-addon {\n  color: #468847;\n  border-color: #468847;\n  background-color: #dff0d8;\n}\n.note-editor .form-control-static {\n  margin-bottom: 0;\n}\n.note-editor .help-block {\n  display: block;\n  margin-top: 5px;\n  margin-bottom: 10px;\n  color: #737373;\n}\n@media (min-width: 768px) {\n  .note-editor .form-inline .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .note-editor .form-inline .form-control {\n    display: inline-block;\n  }\n  .note-editor .form-inline .radio,\n  .note-editor .form-inline .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-left: 0;\n  }\n  .note-editor .form-inline .radio input[type=\"radio\"],\n  .note-editor .form-inline .checkbox input[type=\"checkbox\"] {\n    float: none;\n    margin-left: 0;\n  }\n}\n.note-editor .form-horizontal .control-label,\n.note-editor .form-horizontal .radio,\n.note-editor .form-horizontal .checkbox,\n.note-editor .form-horizontal .radio-inline,\n.note-editor .form-horizontal .checkbox-inline {\n  margin-top: 0;\n  margin-bottom: 0;\n  padding-top: 7px;\n}\n.note-editor .form-horizontal .form-group {\n  margin-left: -15px;\n  margin-right: -15px;\n}\n.note-editor .form-horizontal .form-group:before,\n.note-editor .form-horizontal .form-group:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .form-horizontal .form-group:after {\n  clear: both;\n}\n.note-editor .form-horizontal .form-group:before,\n.note-editor .form-horizontal .form-group:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .form-horizontal .form-group:after {\n  clear: both;\n}\n.note-editor .form-horizontal .form-control-static {\n  padding-top: 7px;\n}\n@media (min-width: 768px) {\n  .note-editor .form-horizontal .control-label {\n    text-align: right;\n  }\n}\n.note-editor .btn {\n  display: inline-block;\n  margin-bottom: 0;\n  font-weight: normal;\n  text-align: center;\n  vertical-align: middle;\n  cursor: pointer;\n  background-image: none;\n  border: 1px solid transparent;\n  white-space: nowrap;\n  padding: 6px 12px;\n  font-size: 14px;\n  line-height: 1.428571429;\n  border-radius: 4px;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  -o-user-select: none;\n  user-select: none;\n}\n.note-editor .btn:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.note-editor .btn:hover,\n.note-editor .btn:focus {\n  color: #333333;\n  text-decoration: none;\n}\n.note-editor .btn:active,\n.note-editor .btn.active {\n  outline: 0;\n  background-image: none;\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.note-editor .btn.disabled,\n.note-editor .btn[disabled],\nfieldset[disabled] .note-editor .btn {\n  cursor: not-allowed;\n  pointer-events: none;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.note-editor .btn-default {\n  color: #333333;\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.note-editor .btn-default:hover,\n.note-editor .btn-default:focus,\n.note-editor .btn-default:active,\n.note-editor .btn-default.active,\n.open .dropdown-toggle.note-editor .btn-default {\n  color: #333333;\n  background-color: #ebebeb;\n  border-color: #adadad;\n}\n.note-editor .btn-default:active,\n.note-editor .btn-default.active,\n.open .dropdown-toggle.note-editor .btn-default {\n  background-image: none;\n}\n.note-editor .btn-default.disabled,\n.note-editor .btn-default[disabled],\nfieldset[disabled] .note-editor .btn-default,\n.note-editor .btn-default.disabled:hover,\n.note-editor .btn-default[disabled]:hover,\nfieldset[disabled] .note-editor .btn-default:hover,\n.note-editor .btn-default.disabled:focus,\n.note-editor .btn-default[disabled]:focus,\nfieldset[disabled] .note-editor .btn-default:focus,\n.note-editor .btn-default.disabled:active,\n.note-editor .btn-default[disabled]:active,\nfieldset[disabled] .note-editor .btn-default:active,\n.note-editor .btn-default.disabled.active,\n.note-editor .btn-default[disabled].active,\nfieldset[disabled] .note-editor .btn-default.active {\n  background-color: #ffffff;\n  border-color: #cccccc;\n}\n.note-editor .btn-primary {\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #357ebd;\n}\n.note-editor .btn-primary:hover,\n.note-editor .btn-primary:focus,\n.note-editor .btn-primary:active,\n.note-editor .btn-primary.active,\n.open .dropdown-toggle.note-editor .btn-primary {\n  color: #ffffff;\n  background-color: #3276b1;\n  border-color: #285e8e;\n}\n.note-editor .btn-primary:active,\n.note-editor .btn-primary.active,\n.open .dropdown-toggle.note-editor .btn-primary {\n  background-image: none;\n}\n.note-editor .btn-primary.disabled,\n.note-editor .btn-primary[disabled],\nfieldset[disabled] .note-editor .btn-primary,\n.note-editor .btn-primary.disabled:hover,\n.note-editor .btn-primary[disabled]:hover,\nfieldset[disabled] .note-editor .btn-primary:hover,\n.note-editor .btn-primary.disabled:focus,\n.note-editor .btn-primary[disabled]:focus,\nfieldset[disabled] .note-editor .btn-primary:focus,\n.note-editor .btn-primary.disabled:active,\n.note-editor .btn-primary[disabled]:active,\nfieldset[disabled] .note-editor .btn-primary:active,\n.note-editor .btn-primary.disabled.active,\n.note-editor .btn-primary[disabled].active,\nfieldset[disabled] .note-editor .btn-primary.active {\n  background-color: #428bca;\n  border-color: #357ebd;\n}\n.note-editor .btn-warning {\n  color: #ffffff;\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.note-editor .btn-warning:hover,\n.note-editor .btn-warning:focus,\n.note-editor .btn-warning:active,\n.note-editor .btn-warning.active,\n.open .dropdown-toggle.note-editor .btn-warning {\n  color: #ffffff;\n  background-color: #ed9c28;\n  border-color: #d58512;\n}\n.note-editor .btn-warning:active,\n.note-editor .btn-warning.active,\n.open .dropdown-toggle.note-editor .btn-warning {\n  background-image: none;\n}\n.note-editor .btn-warning.disabled,\n.note-editor .btn-warning[disabled],\nfieldset[disabled] .note-editor .btn-warning,\n.note-editor .btn-warning.disabled:hover,\n.note-editor .btn-warning[disabled]:hover,\nfieldset[disabled] .note-editor .btn-warning:hover,\n.note-editor .btn-warning.disabled:focus,\n.note-editor .btn-warning[disabled]:focus,\nfieldset[disabled] .note-editor .btn-warning:focus,\n.note-editor .btn-warning.disabled:active,\n.note-editor .btn-warning[disabled]:active,\nfieldset[disabled] .note-editor .btn-warning:active,\n.note-editor .btn-warning.disabled.active,\n.note-editor .btn-warning[disabled].active,\nfieldset[disabled] .note-editor .btn-warning.active {\n  background-color: #f0ad4e;\n  border-color: #eea236;\n}\n.note-editor .btn-danger {\n  color: #ffffff;\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.note-editor .btn-danger:hover,\n.note-editor .btn-danger:focus,\n.note-editor .btn-danger:active,\n.note-editor .btn-danger.active,\n.open .dropdown-toggle.note-editor .btn-danger {\n  color: #ffffff;\n  background-color: #d2322d;\n  border-color: #ac2925;\n}\n.note-editor .btn-danger:active,\n.note-editor .btn-danger.active,\n.open .dropdown-toggle.note-editor .btn-danger {\n  background-image: none;\n}\n.note-editor .btn-danger.disabled,\n.note-editor .btn-danger[disabled],\nfieldset[disabled] .note-editor .btn-danger,\n.note-editor .btn-danger.disabled:hover,\n.note-editor .btn-danger[disabled]:hover,\nfieldset[disabled] .note-editor .btn-danger:hover,\n.note-editor .btn-danger.disabled:focus,\n.note-editor .btn-danger[disabled]:focus,\nfieldset[disabled] .note-editor .btn-danger:focus,\n.note-editor .btn-danger.disabled:active,\n.note-editor .btn-danger[disabled]:active,\nfieldset[disabled] .note-editor .btn-danger:active,\n.note-editor .btn-danger.disabled.active,\n.note-editor .btn-danger[disabled].active,\nfieldset[disabled] .note-editor .btn-danger.active {\n  background-color: #d9534f;\n  border-color: #d43f3a;\n}\n.note-editor .btn-success {\n  color: #ffffff;\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.note-editor .btn-success:hover,\n.note-editor .btn-success:focus,\n.note-editor .btn-success:active,\n.note-editor .btn-success.active,\n.open .dropdown-toggle.note-editor .btn-success {\n  color: #ffffff;\n  background-color: #47a447;\n  border-color: #398439;\n}\n.note-editor .btn-success:active,\n.note-editor .btn-success.active,\n.open .dropdown-toggle.note-editor .btn-success {\n  background-image: none;\n}\n.note-editor .btn-success.disabled,\n.note-editor .btn-success[disabled],\nfieldset[disabled] .note-editor .btn-success,\n.note-editor .btn-success.disabled:hover,\n.note-editor .btn-success[disabled]:hover,\nfieldset[disabled] .note-editor .btn-success:hover,\n.note-editor .btn-success.disabled:focus,\n.note-editor .btn-success[disabled]:focus,\nfieldset[disabled] .note-editor .btn-success:focus,\n.note-editor .btn-success.disabled:active,\n.note-editor .btn-success[disabled]:active,\nfieldset[disabled] .note-editor .btn-success:active,\n.note-editor .btn-success.disabled.active,\n.note-editor .btn-success[disabled].active,\nfieldset[disabled] .note-editor .btn-success.active {\n  background-color: #5cb85c;\n  border-color: #4cae4c;\n}\n.note-editor .btn-info {\n  color: #ffffff;\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.note-editor .btn-info:hover,\n.note-editor .btn-info:focus,\n.note-editor .btn-info:active,\n.note-editor .btn-info.active,\n.open .dropdown-toggle.note-editor .btn-info {\n  color: #ffffff;\n  background-color: #39b3d7;\n  border-color: #269abc;\n}\n.note-editor .btn-info:active,\n.note-editor .btn-info.active,\n.open .dropdown-toggle.note-editor .btn-info {\n  background-image: none;\n}\n.note-editor .btn-info.disabled,\n.note-editor .btn-info[disabled],\nfieldset[disabled] .note-editor .btn-info,\n.note-editor .btn-info.disabled:hover,\n.note-editor .btn-info[disabled]:hover,\nfieldset[disabled] .note-editor .btn-info:hover,\n.note-editor .btn-info.disabled:focus,\n.note-editor .btn-info[disabled]:focus,\nfieldset[disabled] .note-editor .btn-info:focus,\n.note-editor .btn-info.disabled:active,\n.note-editor .btn-info[disabled]:active,\nfieldset[disabled] .note-editor .btn-info:active,\n.note-editor .btn-info.disabled.active,\n.note-editor .btn-info[disabled].active,\nfieldset[disabled] .note-editor .btn-info.active {\n  background-color: #5bc0de;\n  border-color: #46b8da;\n}\n.note-editor .btn-link {\n  color: #428bca;\n  font-weight: normal;\n  cursor: pointer;\n  border-radius: 0;\n}\n.note-editor .btn-link,\n.note-editor .btn-link:active,\n.note-editor .btn-link[disabled],\nfieldset[disabled] .note-editor .btn-link {\n  background-color: transparent;\n  -webkit-box-shadow: none;\n  box-shadow: none;\n}\n.note-editor .btn-link,\n.note-editor .btn-link:hover,\n.note-editor .btn-link:focus,\n.note-editor .btn-link:active {\n  border-color: transparent;\n}\n.note-editor .btn-link:hover,\n.note-editor .btn-link:focus {\n  color: #2a6496;\n  text-decoration: underline;\n  background-color: transparent;\n}\n.note-editor .btn-link[disabled]:hover,\nfieldset[disabled] .note-editor .btn-link:hover,\n.note-editor .btn-link[disabled]:focus,\nfieldset[disabled] .note-editor .btn-link:focus {\n  color: #999999;\n  text-decoration: none;\n}\n.note-editor .btn-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\n.note-editor .btn-sm,\n.note-editor .btn-xs {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.note-editor .btn-xs {\n  padding: 1px 5px;\n}\n.note-editor .btn-block {\n  display: block;\n  width: 100%;\n  padding-left: 0;\n  padding-right: 0;\n}\n.note-editor .btn-block + .btn-block {\n  margin-top: 5px;\n}\n.note-editor input[type=\"submit\"].btn-block,\n.note-editor input[type=\"reset\"].btn-block,\n.note-editor input[type=\"button\"].btn-block {\n  width: 100%;\n}\n.note-editor .fade {\n  opacity: 0;\n  -webkit-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n}\n.note-editor .fade.in {\n  opacity: 1;\n}\n.note-editor .collapse {\n  display: none;\n}\n.note-editor .collapse.in {\n  display: block;\n}\n.note-editor .collapsing {\n  position: relative;\n  height: 0;\n  overflow: hidden;\n  -webkit-transition: height 0.35s ease;\n  transition: height 0.35s ease;\n}\n@font-face {\n  font-family: 'Glyphicons Halflings';\n  src: url('http://webapplayers.com/inspinia_admin-v2.3/css/plugins/fonts/glyphicons-halflings-regular.eot');\n  src: url('http://webapplayers.com/inspinia_admin-v2.3/css/plugins/fonts/glyphicons-halflings-regular.eot?') format('embedded-opentype'), url('http://webapplayers.com/inspinia_admin-v2.3/css/plugins/fonts/glyphicons-halflings-regular.woff') format('woff'), url('http://webapplayers.com/inspinia_admin-v2.3/css/plugins/fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('http://webapplayers.com/inspinia_admin-v2.3/css/plugins/fonts/glyphicons-halflings-regular.svg') format('svg');\n}\n.note-editor .glyphicon {\n  position: relative;\n  top: 1px;\n  display: inline-block;\n  font-family: 'Glyphicons Halflings';\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1;\n  -webkit-font-smoothing: antialiased;\n}\n.note-editor .glyphicon:empty {\n  width: 1em;\n}\n.note-editor .glyphicon-asterisk:before {\n  content: \"\\2a\";\n}\n.note-editor .glyphicon-plus:before {\n  content: \"\\2b\";\n}\n.note-editor .glyphicon-euro:before {\n  content: \"\\20ac\";\n}\n.note-editor .glyphicon-minus:before {\n  content: \"\\2212\";\n}\n.note-editor .glyphicon-cloud:before {\n  content: \"\\2601\";\n}\n.note-editor .glyphicon-envelope:before {\n  content: \"\\2709\";\n}\n.note-editor .glyphicon-pencil:before {\n  content: \"\\270f\";\n}\n.note-editor .glyphicon-glass:before {\n  content: \"\\e001\";\n}\n.note-editor .glyphicon-music:before {\n  content: \"\\e002\";\n}\n.note-editor .glyphicon-search:before {\n  content: \"\\e003\";\n}\n.note-editor .glyphicon-heart:before {\n  content: \"\\e005\";\n}\n.note-editor .glyphicon-star:before {\n  content: \"\\e006\";\n}\n.note-editor .glyphicon-star-empty:before {\n  content: \"\\e007\";\n}\n.note-editor .glyphicon-user:before {\n  content: \"\\e008\";\n}\n.note-editor .glyphicon-film:before {\n  content: \"\\e009\";\n}\n.note-editor .glyphicon-th-large:before {\n  content: \"\\e010\";\n}\n.note-editor .glyphicon-th:before {\n  content: \"\\e011\";\n}\n.note-editor .glyphicon-th-list:before {\n  content: \"\\e012\";\n}\n.note-editor .glyphicon-ok:before {\n  content: \"\\e013\";\n}\n.note-editor .glyphicon-remove:before {\n  content: \"\\e014\";\n}\n.note-editor .glyphicon-zoom-in:before {\n  content: \"\\e015\";\n}\n.note-editor .glyphicon-zoom-out:before {\n  content: \"\\e016\";\n}\n.note-editor .glyphicon-off:before {\n  content: \"\\e017\";\n}\n.note-editor .glyphicon-signal:before {\n  content: \"\\e018\";\n}\n.note-editor .glyphicon-cog:before {\n  content: \"\\e019\";\n}\n.note-editor .glyphicon-trash:before {\n  content: \"\\e020\";\n}\n.note-editor .glyphicon-home:before {\n  content: \"\\e021\";\n}\n.note-editor .glyphicon-file:before {\n  content: \"\\e022\";\n}\n.note-editor .glyphicon-time:before {\n  content: \"\\e023\";\n}\n.note-editor .glyphicon-road:before {\n  content: \"\\e024\";\n}\n.note-editor .glyphicon-download-alt:before {\n  content: \"\\e025\";\n}\n.note-editor .glyphicon-download:before {\n  content: \"\\e026\";\n}\n.note-editor .glyphicon-upload:before {\n  content: \"\\e027\";\n}\n.note-editor .glyphicon-inbox:before {\n  content: \"\\e028\";\n}\n.note-editor .glyphicon-play-circle:before {\n  content: \"\\e029\";\n}\n.note-editor .glyphicon-repeat:before {\n  content: \"\\e030\";\n}\n.note-editor .glyphicon-refresh:before {\n  content: \"\\e031\";\n}\n.note-editor .glyphicon-list-alt:before {\n  content: \"\\e032\";\n}\n.note-editor .glyphicon-lock:before {\n  content: \"\\e033\";\n}\n.note-editor .glyphicon-flag:before {\n  content: \"\\e034\";\n}\n.note-editor .glyphicon-headphones:before {\n  content: \"\\e035\";\n}\n.note-editor .glyphicon-volume-off:before {\n  content: \"\\e036\";\n}\n.note-editor .glyphicon-volume-down:before {\n  content: \"\\e037\";\n}\n.note-editor .glyphicon-volume-up:before {\n  content: \"\\e038\";\n}\n.note-editor .glyphicon-qrcode:before {\n  content: \"\\e039\";\n}\n.note-editor .glyphicon-barcode:before {\n  content: \"\\e040\";\n}\n.note-editor .glyphicon-tag:before {\n  content: \"\\e041\";\n}\n.note-editor .glyphicon-tags:before {\n  content: \"\\e042\";\n}\n.note-editor .glyphicon-book:before {\n  content: \"\\e043\";\n}\n.note-editor .glyphicon-bookmark:before {\n  content: \"\\e044\";\n}\n.note-editor .glyphicon-print:before {\n  content: \"\\e045\";\n}\n.note-editor .glyphicon-camera:before {\n  content: \"\\e046\";\n}\n.note-editor .glyphicon-font:before {\n  content: \"\\e047\";\n}\n.note-editor .glyphicon-bold:before {\n  content: \"\\e048\";\n}\n.note-editor .glyphicon-italic:before {\n  content: \"\\e049\";\n}\n.note-editor .glyphicon-text-height:before {\n  content: \"\\e050\";\n}\n.note-editor .glyphicon-text-width:before {\n  content: \"\\e051\";\n}\n.note-editor .glyphicon-align-left:before {\n  content: \"\\e052\";\n}\n.note-editor .glyphicon-align-center:before {\n  content: \"\\e053\";\n}\n.note-editor .glyphicon-align-right:before {\n  content: \"\\e054\";\n}\n.note-editor .glyphicon-align-justify:before {\n  content: \"\\e055\";\n}\n.note-editor .glyphicon-list:before {\n  content: \"\\e056\";\n}\n.note-editor .glyphicon-indent-left:before {\n  content: \"\\e057\";\n}\n.note-editor .glyphicon-indent-right:before {\n  content: \"\\e058\";\n}\n.note-editor .glyphicon-facetime-video:before {\n  content: \"\\e059\";\n}\n.note-editor .glyphicon-picture:before {\n  content: \"\\e060\";\n}\n.note-editor .glyphicon-map-marker:before {\n  content: \"\\e062\";\n}\n.note-editor .glyphicon-adjust:before {\n  content: \"\\e063\";\n}\n.note-editor .glyphicon-tint:before {\n  content: \"\\e064\";\n}\n.note-editor .glyphicon-edit:before {\n  content: \"\\e065\";\n}\n.note-editor .glyphicon-share:before {\n  content: \"\\e066\";\n}\n.note-editor .glyphicon-check:before {\n  content: \"\\e067\";\n}\n.note-editor .glyphicon-move:before {\n  content: \"\\e068\";\n}\n.note-editor .glyphicon-step-backward:before {\n  content: \"\\e069\";\n}\n.note-editor .glyphicon-fast-backward:before {\n  content: \"\\e070\";\n}\n.note-editor .glyphicon-backward:before {\n  content: \"\\e071\";\n}\n.note-editor .glyphicon-play:before {\n  content: \"\\e072\";\n}\n.note-editor .glyphicon-pause:before {\n  content: \"\\e073\";\n}\n.note-editor .glyphicon-stop:before {\n  content: \"\\e074\";\n}\n.note-editor .glyphicon-forward:before {\n  content: \"\\e075\";\n}\n.note-editor .glyphicon-fast-forward:before {\n  content: \"\\e076\";\n}\n.note-editor .glyphicon-step-forward:before {\n  content: \"\\e077\";\n}\n.note-editor .glyphicon-eject:before {\n  content: \"\\e078\";\n}\n.note-editor .glyphicon-chevron-left:before {\n  content: \"\\e079\";\n}\n.note-editor .glyphicon-chevron-right:before {\n  content: \"\\e080\";\n}\n.note-editor .glyphicon-plus-sign:before {\n  content: \"\\e081\";\n}\n.note-editor .glyphicon-minus-sign:before {\n  content: \"\\e082\";\n}\n.note-editor .glyphicon-remove-sign:before {\n  content: \"\\e083\";\n}\n.note-editor .glyphicon-ok-sign:before {\n  content: \"\\e084\";\n}\n.note-editor .glyphicon-question-sign:before {\n  content: \"\\e085\";\n}\n.note-editor .glyphicon-info-sign:before {\n  content: \"\\e086\";\n}\n.note-editor .glyphicon-screenshot:before {\n  content: \"\\e087\";\n}\n.note-editor .glyphicon-remove-circle:before {\n  content: \"\\e088\";\n}\n.note-editor .glyphicon-ok-circle:before {\n  content: \"\\e089\";\n}\n.note-editor .glyphicon-ban-circle:before {\n  content: \"\\e090\";\n}\n.note-editor .glyphicon-arrow-left:before {\n  content: \"\\e091\";\n}\n.note-editor .glyphicon-arrow-right:before {\n  content: \"\\e092\";\n}\n.note-editor .glyphicon-arrow-up:before {\n  content: \"\\e093\";\n}\n.note-editor .glyphicon-arrow-down:before {\n  content: \"\\e094\";\n}\n.note-editor .glyphicon-share-alt:before {\n  content: \"\\e095\";\n}\n.note-editor .glyphicon-resize-full:before {\n  content: \"\\e096\";\n}\n.note-editor .glyphicon-resize-small:before {\n  content: \"\\e097\";\n}\n.note-editor .glyphicon-exclamation-sign:before {\n  content: \"\\e101\";\n}\n.note-editor .glyphicon-gift:before {\n  content: \"\\e102\";\n}\n.note-editor .glyphicon-leaf:before {\n  content: \"\\e103\";\n}\n.note-editor .glyphicon-fire:before {\n  content: \"\\e104\";\n}\n.note-editor .glyphicon-eye-open:before {\n  content: \"\\e105\";\n}\n.note-editor .glyphicon-eye-close:before {\n  content: \"\\e106\";\n}\n.note-editor .glyphicon-warning-sign:before {\n  content: \"\\e107\";\n}\n.note-editor .glyphicon-plane:before {\n  content: \"\\e108\";\n}\n.note-editor .glyphicon-calendar:before {\n  content: \"\\e109\";\n}\n.note-editor .glyphicon-random:before {\n  content: \"\\e110\";\n}\n.note-editor .glyphicon-comment:before {\n  content: \"\\e111\";\n}\n.note-editor .glyphicon-magnet:before {\n  content: \"\\e112\";\n}\n.note-editor .glyphicon-chevron-up:before {\n  content: \"\\e113\";\n}\n.note-editor .glyphicon-chevron-down:before {\n  content: \"\\e114\";\n}\n.note-editor .glyphicon-retweet:before {\n  content: \"\\e115\";\n}\n.note-editor .glyphicon-shopping-cart:before {\n  content: \"\\e116\";\n}\n.note-editor .glyphicon-folder-close:before {\n  content: \"\\e117\";\n}\n.note-editor .glyphicon-folder-open:before {\n  content: \"\\e118\";\n}\n.note-editor .glyphicon-resize-vertical:before {\n  content: \"\\e119\";\n}\n.note-editor .glyphicon-resize-horizontal:before {\n  content: \"\\e120\";\n}\n.note-editor .glyphicon-hdd:before {\n  content: \"\\e121\";\n}\n.note-editor .glyphicon-bullhorn:before {\n  content: \"\\e122\";\n}\n.note-editor .glyphicon-bell:before {\n  content: \"\\e123\";\n}\n.note-editor .glyphicon-certificate:before {\n  content: \"\\e124\";\n}\n.note-editor .glyphicon-thumbs-up:before {\n  content: \"\\e125\";\n}\n.note-editor .glyphicon-thumbs-down:before {\n  content: \"\\e126\";\n}\n.note-editor .glyphicon-hand-right:before {\n  content: \"\\e127\";\n}\n.note-editor .glyphicon-hand-left:before {\n  content: \"\\e128\";\n}\n.note-editor .glyphicon-hand-up:before {\n  content: \"\\e129\";\n}\n.note-editor .glyphicon-hand-down:before {\n  content: \"\\e130\";\n}\n.note-editor .glyphicon-circle-arrow-right:before {\n  content: \"\\e131\";\n}\n.note-editor .glyphicon-circle-arrow-left:before {\n  content: \"\\e132\";\n}\n.note-editor .glyphicon-circle-arrow-up:before {\n  content: \"\\e133\";\n}\n.note-editor .glyphicon-circle-arrow-down:before {\n  content: \"\\e134\";\n}\n.note-editor .glyphicon-globe:before {\n  content: \"\\e135\";\n}\n.note-editor .glyphicon-wrench:before {\n  content: \"\\e136\";\n}\n.note-editor .glyphicon-tasks:before {\n  content: \"\\e137\";\n}\n.note-editor .glyphicon-filter:before {\n  content: \"\\e138\";\n}\n.note-editor .glyphicon-briefcase:before {\n  content: \"\\e139\";\n}\n.note-editor .glyphicon-fullscreen:before {\n  content: \"\\e140\";\n}\n.note-editor .glyphicon-dashboard:before {\n  content: \"\\e141\";\n}\n.note-editor .glyphicon-paperclip:before {\n  content: \"\\e142\";\n}\n.note-editor .glyphicon-heart-empty:before {\n  content: \"\\e143\";\n}\n.note-editor .glyphicon-link:before {\n  content: \"\\e144\";\n}\n.note-editor .glyphicon-phone:before {\n  content: \"\\e145\";\n}\n.note-editor .glyphicon-pushpin:before {\n  content: \"\\e146\";\n}\n.note-editor .glyphicon-usd:before {\n  content: \"\\e148\";\n}\n.note-editor .glyphicon-gbp:before {\n  content: \"\\e149\";\n}\n.note-editor .glyphicon-sort:before {\n  content: \"\\e150\";\n}\n.note-editor .glyphicon-sort-by-alphabet:before {\n  content: \"\\e151\";\n}\n.note-editor .glyphicon-sort-by-alphabet-alt:before {\n  content: \"\\e152\";\n}\n.note-editor .glyphicon-sort-by-order:before {\n  content: \"\\e153\";\n}\n.note-editor .glyphicon-sort-by-order-alt:before {\n  content: \"\\e154\";\n}\n.note-editor .glyphicon-sort-by-attributes:before {\n  content: \"\\e155\";\n}\n.note-editor .glyphicon-sort-by-attributes-alt:before {\n  content: \"\\e156\";\n}\n.note-editor .glyphicon-unchecked:before {\n  content: \"\\e157\";\n}\n.note-editor .glyphicon-expand:before {\n  content: \"\\e158\";\n}\n.note-editor .glyphicon-collapse-down:before {\n  content: \"\\e159\";\n}\n.note-editor .glyphicon-collapse-up:before {\n  content: \"\\e160\";\n}\n.note-editor .glyphicon-log-in:before {\n  content: \"\\e161\";\n}\n.note-editor .glyphicon-flash:before {\n  content: \"\\e162\";\n}\n.note-editor .glyphicon-log-out:before {\n  content: \"\\e163\";\n}\n.note-editor .glyphicon-new-window:before {\n  content: \"\\e164\";\n}\n.note-editor .glyphicon-record:before {\n  content: \"\\e165\";\n}\n.note-editor .glyphicon-save:before {\n  content: \"\\e166\";\n}\n.note-editor .glyphicon-open:before {\n  content: \"\\e167\";\n}\n.note-editor .glyphicon-saved:before {\n  content: \"\\e168\";\n}\n.note-editor .glyphicon-import:before {\n  content: \"\\e169\";\n}\n.note-editor .glyphicon-export:before {\n  content: \"\\e170\";\n}\n.note-editor .glyphicon-send:before {\n  content: \"\\e171\";\n}\n.note-editor .glyphicon-floppy-disk:before {\n  content: \"\\e172\";\n}\n.note-editor .glyphicon-floppy-saved:before {\n  content: \"\\e173\";\n}\n.note-editor .glyphicon-floppy-remove:before {\n  content: \"\\e174\";\n}\n.note-editor .glyphicon-floppy-save:before {\n  content: \"\\e175\";\n}\n.note-editor .glyphicon-floppy-open:before {\n  content: \"\\e176\";\n}\n.note-editor .glyphicon-credit-card:before {\n  content: \"\\e177\";\n}\n.note-editor .glyphicon-transfer:before {\n  content: \"\\e178\";\n}\n.note-editor .glyphicon-cutlery:before {\n  content: \"\\e179\";\n}\n.note-editor .glyphicon-header:before {\n  content: \"\\e180\";\n}\n.note-editor .glyphicon-compressed:before {\n  content: \"\\e181\";\n}\n.note-editor .glyphicon-earphone:before {\n  content: \"\\e182\";\n}\n.note-editor .glyphicon-phone-alt:before {\n  content: \"\\e183\";\n}\n.note-editor .glyphicon-tower:before {\n  content: \"\\e184\";\n}\n.note-editor .glyphicon-stats:before {\n  content: \"\\e185\";\n}\n.note-editor .glyphicon-sd-video:before {\n  content: \"\\e186\";\n}\n.note-editor .glyphicon-hd-video:before {\n  content: \"\\e187\";\n}\n.note-editor .glyphicon-subtitles:before {\n  content: \"\\e188\";\n}\n.note-editor .glyphicon-sound-stereo:before {\n  content: \"\\e189\";\n}\n.note-editor .glyphicon-sound-dolby:before {\n  content: \"\\e190\";\n}\n.note-editor .glyphicon-sound-5-1:before {\n  content: \"\\e191\";\n}\n.note-editor .glyphicon-sound-6-1:before {\n  content: \"\\e192\";\n}\n.note-editor .glyphicon-sound-7-1:before {\n  content: \"\\e193\";\n}\n.note-editor .glyphicon-copyright-mark:before {\n  content: \"\\e194\";\n}\n.note-editor .glyphicon-registration-mark:before {\n  content: \"\\e195\";\n}\n.note-editor .glyphicon-cloud-download:before {\n  content: \"\\e197\";\n}\n.note-editor .glyphicon-cloud-upload:before {\n  content: \"\\e198\";\n}\n.note-editor .glyphicon-tree-conifer:before {\n  content: \"\\e199\";\n}\n.note-editor .glyphicon-tree-deciduous:before {\n  content: \"\\e200\";\n}\n.note-editor .caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  margin-left: 2px;\n  vertical-align: middle;\n  border-top: 4px solid #000000;\n  border-right: 4px solid transparent;\n  border-left: 4px solid transparent;\n  border-bottom: 0 dotted;\n}\n.note-editor .dropdown {\n  position: relative;\n}\n.note-editor .dropdown-toggle:focus {\n  outline: 0;\n}\n.note-editor .dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  display: none;\n  float: left;\n  min-width: 160px;\n  padding: 5px 0;\n  margin: 2px 0 0;\n  list-style: none;\n  font-size: 14px;\n  background-color: #ffffff;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  border-radius: 4px;\n  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n  background-clip: padding-box;\n}\n.note-editor .dropdown-menu.pull-right {\n  right: 0;\n  left: auto;\n}\n.note-editor .dropdown-menu .divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.note-editor .dropdown-menu > li > a {\n  display: block;\n  padding: 3px 20px;\n  clear: both;\n  font-weight: normal;\n  line-height: 1.428571429;\n  color: #333333;\n  white-space: nowrap;\n}\n.note-editor .dropdown-menu > li > a:hover,\n.note-editor .dropdown-menu > li > a:focus {\n  text-decoration: none;\n  color: #262626;\n  background-color: #f5f5f5;\n}\n.note-editor .dropdown-menu > .active > a,\n.note-editor .dropdown-menu > .active > a:hover,\n.note-editor .dropdown-menu > .active > a:focus {\n  color: #ffffff;\n  text-decoration: none;\n  outline: 0;\n  background-color: #428bca;\n}\n.note-editor .dropdown-menu > .disabled > a,\n.note-editor .dropdown-menu > .disabled > a:hover,\n.note-editor .dropdown-menu > .disabled > a:focus {\n  color: #999999;\n}\n.note-editor .dropdown-menu > .disabled > a:hover,\n.note-editor .dropdown-menu > .disabled > a:focus {\n  text-decoration: none;\n  background-color: transparent;\n  background-image: none;\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  cursor: not-allowed;\n}\n.note-editor .open > .dropdown-menu {\n  display: block;\n}\n.note-editor .open > a {\n  outline: 0;\n}\n.note-editor .dropdown-header {\n  display: block;\n  padding: 3px 20px;\n  font-size: 12px;\n  line-height: 1.428571429;\n  color: #999999;\n}\n.note-editor .dropdown-backdrop {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  top: 0;\n  z-index: 990;\n}\n.note-editor .pull-right > .dropdown-menu {\n  right: 0;\n  left: auto;\n}\n.note-editor .dropup .caret,\n.note-editor .navbar-fixed-bottom .dropdown .caret {\n  border-top: 0 dotted;\n  border-bottom: 4px solid #000000;\n  content: \"\";\n}\n.note-editor .dropup .dropdown-menu,\n.note-editor .navbar-fixed-bottom .dropdown .dropdown-menu {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 1px;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-right .dropdown-menu {\n    right: 0;\n    left: auto;\n  }\n}\n.btn-default .note-editor .caret {\n  border-top-color: #333333;\n}\n.btn-primary .note-editor .caret,\n.btn-success .note-editor .caret,\n.btn-warning .note-editor .caret,\n.btn-danger .note-editor .caret,\n.btn-info .note-editor .caret {\n  border-top-color: #fff;\n}\n.note-editor .dropup .btn-default .caret {\n  border-bottom-color: #333333;\n}\n.note-editor .dropup .btn-primary .caret,\n.note-editor .dropup .btn-success .caret,\n.note-editor .dropup .btn-warning .caret,\n.note-editor .dropup .btn-danger .caret,\n.note-editor .dropup .btn-info .caret {\n  border-bottom-color: #fff;\n}\n.note-editor .btn-group,\n.note-editor .btn-group-vertical {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n}\n.note-editor .btn-group > .btn,\n.note-editor .btn-group-vertical > .btn {\n  position: relative;\n  float: left;\n}\n.note-editor .btn-group > .btn:hover,\n.note-editor .btn-group-vertical > .btn:hover,\n.note-editor .btn-group > .btn:focus,\n.note-editor .btn-group-vertical > .btn:focus,\n.note-editor .btn-group > .btn:active,\n.note-editor .btn-group-vertical > .btn:active,\n.note-editor .btn-group > .btn.active,\n.note-editor .btn-group-vertical > .btn.active {\n  z-index: 2;\n}\n.note-editor .btn-group > .btn:focus,\n.note-editor .btn-group-vertical > .btn:focus {\n  outline: none;\n}\n.note-editor .btn-group .btn + .btn,\n.note-editor .btn-group .btn + .btn-group,\n.note-editor .btn-group .btn-group + .btn,\n.note-editor .btn-group .btn-group + .btn-group {\n  margin-left: -1px;\n}\n.note-editor .btn-toolbar:before,\n.note-editor .btn-toolbar:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .btn-toolbar:after {\n  clear: both;\n}\n.note-editor .btn-toolbar:before,\n.note-editor .btn-toolbar:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .btn-toolbar:after {\n  clear: both;\n}\n.note-editor .btn-toolbar .btn-group {\n  float: left;\n}\n.note-editor .btn-toolbar > .btn + .btn,\n.note-editor .btn-toolbar > .btn-group + .btn,\n.note-editor .btn-toolbar > .btn + .btn-group,\n.note-editor .btn-toolbar > .btn-group + .btn-group {\n  margin-left: 5px;\n}\n.note-editor .btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n  border-radius: 0;\n}\n.note-editor .btn-group > .btn:first-child {\n  margin-left: 0;\n}\n.note-editor .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.note-editor .btn-group > .btn:last-child:not(:first-child),\n.note-editor .btn-group > .dropdown-toggle:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .btn-group > .btn-group {\n  float: left;\n}\n.note-editor .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.note-editor .btn-group > .btn-group:first-child > .btn:last-child,\n.note-editor .btn-group > .btn-group:first-child > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.note-editor .btn-group > .btn-group:last-child > .btn:first-child {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .btn-group .dropdown-toggle:active,\n.note-editor .btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.note-editor .btn-group-xs > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n  padding: 1px 5px;\n}\n.note-editor .btn-group-sm > .btn {\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\n.note-editor .btn-group-lg > .btn {\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\n.note-editor .btn-group > .btn + .dropdown-toggle {\n  padding-left: 5px;\n  padding-right: 5px;\n}\n.note-editor .btn-group > .btn-lg + .dropdown-toggle {\n  padding-left: 12px;\n  padding-right: 12px;\n}\n.note-editor .btn-group.open .dropdown-toggle {\n  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.note-editor .btn .caret {\n  margin-left: 0;\n}\n.note-editor .btn-lg .caret {\n  border-width: 5px 5px 0;\n  border-bottom-width: 0;\n}\n.note-editor .dropup .btn-lg .caret {\n  border-width: 0 5px 5px;\n}\n.note-editor .btn-group-vertical > .btn,\n.note-editor .btn-group-vertical > .btn-group {\n  display: block;\n  float: none;\n  width: 100%;\n  max-width: 100%;\n}\n.note-editor .btn-group-vertical > .btn-group:before,\n.note-editor .btn-group-vertical > .btn-group:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .btn-group-vertical > .btn-group:after {\n  clear: both;\n}\n.note-editor .btn-group-vertical > .btn-group:before,\n.note-editor .btn-group-vertical > .btn-group:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .btn-group-vertical > .btn-group:after {\n  clear: both;\n}\n.note-editor .btn-group-vertical > .btn-group > .btn {\n  float: none;\n}\n.note-editor .btn-group-vertical > .btn + .btn,\n.note-editor .btn-group-vertical > .btn + .btn-group,\n.note-editor .btn-group-vertical > .btn-group + .btn,\n.note-editor .btn-group-vertical > .btn-group + .btn-group {\n  margin-top: -1px;\n  margin-left: 0;\n}\n.note-editor .btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.note-editor .btn-group-vertical > .btn:first-child:not(:last-child) {\n  border-top-right-radius: 4px;\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.note-editor .btn-group-vertical > .btn:last-child:not(:first-child) {\n  border-bottom-left-radius: 4px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n  border-radius: 0;\n}\n.note-editor .btn-group-vertical > .btn-group:first-child > .btn:last-child,\n.note-editor .btn-group-vertical > .btn-group:first-child > .dropdown-toggle {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.note-editor .btn-group-vertical > .btn-group:last-child > .btn:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .btn-group-justified {\n  display: table;\n  width: 100%;\n  table-layout: fixed;\n  border-collapse: separate;\n}\n.note-editor .btn-group-justified .btn {\n  float: none;\n  display: table-cell;\n  width: 1%;\n}\n.note-editor [data-toggle=\"buttons\"] > .btn > input[type=\"radio\"],\n.note-editor [data-toggle=\"buttons\"] > .btn > input[type=\"checkbox\"] {\n  display: none;\n}\n.note-editor .input-group {\n  position: relative;\n  display: table;\n  border-collapse: separate;\n}\n.note-editor .input-group.col {\n  float: none;\n  padding-left: 0;\n  padding-right: 0;\n}\n.note-editor .input-group .form-control {\n  width: 100%;\n  margin-bottom: 0;\n}\n.note-editor .input-group-lg > .form-control,\n.note-editor .input-group-lg > .input-group-addon,\n.note-editor .input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  padding: 10px 16px;\n  font-size: 18px;\n  line-height: 1.33;\n  border-radius: 6px;\n}\nselect.note-editor .input-group-lg > .form-control,\nselect.note-editor .input-group-lg > .input-group-addon,\nselect.note-editor .input-group-lg > .input-group-btn > .btn {\n  height: 45px;\n  line-height: 45px;\n}\ntextarea.note-editor .input-group-lg > .form-control,\ntextarea.note-editor .input-group-lg > .input-group-addon,\ntextarea.note-editor .input-group-lg > .input-group-btn > .btn {\n  height: auto;\n}\n.note-editor .input-group-sm > .form-control,\n.note-editor .input-group-sm > .input-group-addon,\n.note-editor .input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  padding: 5px 10px;\n  font-size: 12px;\n  line-height: 1.5;\n  border-radius: 3px;\n}\nselect.note-editor .input-group-sm > .form-control,\nselect.note-editor .input-group-sm > .input-group-addon,\nselect.note-editor .input-group-sm > .input-group-btn > .btn {\n  height: 30px;\n  line-height: 30px;\n}\ntextarea.note-editor .input-group-sm > .form-control,\ntextarea.note-editor .input-group-sm > .input-group-addon,\ntextarea.note-editor .input-group-sm > .input-group-btn > .btn {\n  height: auto;\n}\n.note-editor .input-group-addon,\n.note-editor .input-group-btn,\n.note-editor .input-group .form-control {\n  display: table-cell;\n}\n.note-editor .input-group-addon:not(:first-child):not(:last-child),\n.note-editor .input-group-btn:not(:first-child):not(:last-child),\n.note-editor .input-group .form-control:not(:first-child):not(:last-child) {\n  border-radius: 0;\n}\n.note-editor .input-group-addon,\n.note-editor .input-group-btn {\n  width: 1%;\n  white-space: nowrap;\n  vertical-align: middle;\n}\n.note-editor .input-group-addon {\n  padding: 6px 12px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 1;\n  color: #555555;\n  text-align: center;\n  background-color: #eeeeee;\n  border: 1px solid #cccccc;\n  border-radius: 4px;\n}\n.note-editor .input-group-addon.input-sm {\n  padding: 5px 10px;\n  font-size: 12px;\n  border-radius: 3px;\n}\n.note-editor .input-group-addon.input-lg {\n  padding: 10px 16px;\n  font-size: 18px;\n  border-radius: 6px;\n}\n.note-editor .input-group-addon input[type=\"radio\"],\n.note-editor .input-group-addon input[type=\"checkbox\"] {\n  margin-top: 0;\n}\n.note-editor .input-group .form-control:first-child,\n.note-editor .input-group-addon:first-child,\n.note-editor .input-group-btn:first-child > .btn,\n.note-editor .input-group-btn:first-child > .dropdown-toggle,\n.note-editor .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {\n  border-bottom-right-radius: 0;\n  border-top-right-radius: 0;\n}\n.note-editor .input-group-addon:first-child {\n  border-right: 0;\n}\n.note-editor .input-group .form-control:last-child,\n.note-editor .input-group-addon:last-child,\n.note-editor .input-group-btn:last-child > .btn,\n.note-editor .input-group-btn:last-child > .dropdown-toggle,\n.note-editor .input-group-btn:first-child > .btn:not(:first-child) {\n  border-bottom-left-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .input-group-addon:last-child {\n  border-left: 0;\n}\n.note-editor .input-group-btn {\n  position: relative;\n  white-space: nowrap;\n}\n.note-editor .input-group-btn:first-child > .btn {\n  margin-right: -1px;\n}\n.note-editor .input-group-btn:last-child > .btn {\n  margin-left: -1px;\n}\n.note-editor .input-group-btn > .btn {\n  position: relative;\n}\n.note-editor .input-group-btn > .btn + .btn {\n  margin-left: -4px;\n}\n.note-editor .input-group-btn > .btn:hover,\n.note-editor .input-group-btn > .btn:active {\n  z-index: 2;\n}\n.note-editor .nav {\n  margin-bottom: 0;\n  padding-left: 0;\n  list-style: none;\n}\n.note-editor .nav:before,\n.note-editor .nav:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .nav:after {\n  clear: both;\n}\n.note-editor .nav:before,\n.note-editor .nav:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .nav:after {\n  clear: both;\n}\n.note-editor .nav > li {\n  position: relative;\n  display: block;\n}\n.note-editor .nav > li > a {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n}\n.note-editor .nav > li > a:hover,\n.note-editor .nav > li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.note-editor .nav > li.disabled > a {\n  color: #999999;\n}\n.note-editor .nav > li.disabled > a:hover,\n.note-editor .nav > li.disabled > a:focus {\n  color: #999999;\n  text-decoration: none;\n  background-color: transparent;\n  cursor: not-allowed;\n}\n.note-editor .nav .open > a,\n.note-editor .nav .open > a:hover,\n.note-editor .nav .open > a:focus {\n  background-color: #eeeeee;\n  border-color: #428bca;\n}\n.note-editor .nav .open > a .caret,\n.note-editor .nav .open > a:hover .caret,\n.note-editor .nav .open > a:focus .caret {\n  border-top-color: #2a6496;\n  border-bottom-color: #2a6496;\n}\n.note-editor .nav .nav-divider {\n  height: 1px;\n  margin: 9px 0;\n  overflow: hidden;\n  background-color: #e5e5e5;\n}\n.note-editor .nav > li > a > img {\n  max-width: none;\n}\n.note-editor .nav-tabs {\n  border-bottom: 1px solid #dddddd;\n}\n.note-editor .nav-tabs > li {\n  float: left;\n  margin-bottom: -1px;\n}\n.note-editor .nav-tabs > li > a {\n  margin-right: 2px;\n  line-height: 1.428571429;\n  border: 1px solid transparent;\n  border-radius: 4px 4px 0 0;\n}\n.note-editor .nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n.note-editor .nav-tabs > li.active > a,\n.note-editor .nav-tabs > li.active > a:hover,\n.note-editor .nav-tabs > li.active > a:focus {\n  color: #555555;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.note-editor .nav-tabs.nav-justified {\n  width: 100%;\n  border-bottom: 0;\n}\n.note-editor .nav-tabs.nav-justified > li {\n  float: none;\n}\n.note-editor .nav-tabs.nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n@media (min-width: 768px) {\n  .note-editor .nav-tabs.nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .note-editor .nav-tabs.nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.note-editor .nav-tabs.nav-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.note-editor .nav-tabs.nav-justified > .active > a,\n.note-editor .nav-tabs.nav-justified > .active > a:hover,\n.note-editor .nav-tabs.nav-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .note-editor .nav-tabs.nav-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .note-editor .nav-tabs.nav-justified > .active > a,\n  .note-editor .nav-tabs.nav-justified > .active > a:hover,\n  .note-editor .nav-tabs.nav-justified > .active > a:focus {\n    border-bottom-color: #ffffff;\n  }\n}\n.note-editor .nav-pills > li {\n  float: left;\n}\n.note-editor .nav-pills > li > a {\n  border-radius: 4px;\n}\n.note-editor .nav-pills > li + li {\n  margin-left: 2px;\n}\n.note-editor .nav-pills > li.active > a,\n.note-editor .nav-pills > li.active > a:hover,\n.note-editor .nav-pills > li.active > a:focus {\n  color: #ffffff;\n  background-color: #428bca;\n}\n.note-editor .nav-pills > li.active > a .caret,\n.note-editor .nav-pills > li.active > a:hover .caret,\n.note-editor .nav-pills > li.active > a:focus .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n.note-editor .nav-stacked > li {\n  float: none;\n}\n.note-editor .nav-stacked > li + li {\n  margin-top: 2px;\n  margin-left: 0;\n}\n.note-editor .nav-justified {\n  width: 100%;\n}\n.note-editor .nav-justified > li {\n  float: none;\n}\n.note-editor .nav-justified > li > a {\n  text-align: center;\n  margin-bottom: 5px;\n}\n@media (min-width: 768px) {\n  .note-editor .nav-justified > li {\n    display: table-cell;\n    width: 1%;\n  }\n  .note-editor .nav-justified > li > a {\n    margin-bottom: 0;\n  }\n}\n.note-editor .nav-tabs-justified {\n  border-bottom: 0;\n}\n.note-editor .nav-tabs-justified > li > a {\n  margin-right: 0;\n  border-radius: 4px;\n}\n.note-editor .nav-tabs-justified > .active > a,\n.note-editor .nav-tabs-justified > .active > a:hover,\n.note-editor .nav-tabs-justified > .active > a:focus {\n  border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n  .note-editor .nav-tabs-justified > li > a {\n    border-bottom: 1px solid #dddddd;\n    border-radius: 4px 4px 0 0;\n  }\n  .note-editor .nav-tabs-justified > .active > a,\n  .note-editor .nav-tabs-justified > .active > a:hover,\n  .note-editor .nav-tabs-justified > .active > a:focus {\n    border-bottom-color: #ffffff;\n  }\n}\n.note-editor .tab-content > .tab-pane {\n  display: none;\n}\n.note-editor .tab-content > .active {\n  display: block;\n}\n.note-editor .nav .caret {\n  border-top-color: #428bca;\n  border-bottom-color: #428bca;\n}\n.note-editor .nav a:hover .caret {\n  border-top-color: #2a6496;\n  border-bottom-color: #2a6496;\n}\n.note-editor .nav-tabs .dropdown-menu {\n  margin-top: -1px;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .navbar {\n  position: relative;\n  z-index: 1000;\n  min-height: 50px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n}\n.note-editor .navbar:before,\n.note-editor .navbar:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .navbar:after {\n  clear: both;\n}\n.note-editor .navbar:before,\n.note-editor .navbar:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .navbar:after {\n  clear: both;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar {\n    border-radius: 4px;\n  }\n}\n.note-editor .navbar-header:before,\n.note-editor .navbar-header:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .navbar-header:after {\n  clear: both;\n}\n.note-editor .navbar-header:before,\n.note-editor .navbar-header:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .navbar-header:after {\n  clear: both;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-header {\n    float: left;\n  }\n}\n.note-editor .navbar-collapse {\n  max-height: 340px;\n  overflow-x: visible;\n  padding-right: 15px;\n  padding-left: 15px;\n  border-top: 1px solid transparent;\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n  -webkit-overflow-scrolling: touch;\n}\n.note-editor .navbar-collapse:before,\n.note-editor .navbar-collapse:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .navbar-collapse:after {\n  clear: both;\n}\n.note-editor .navbar-collapse:before,\n.note-editor .navbar-collapse:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .navbar-collapse:after {\n  clear: both;\n}\n.note-editor .navbar-collapse.in {\n  overflow-y: auto;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-collapse {\n    width: auto;\n    border-top: 0;\n    box-shadow: none;\n  }\n  .note-editor .navbar-collapse.collapse {\n    display: block !important;\n    height: auto !important;\n    padding-bottom: 0;\n    overflow: visible !important;\n  }\n  .note-editor .navbar-collapse.in {\n    overflow-y: visible;\n  }\n  .note-editor .navbar-collapse .navbar-nav.navbar-left:first-child {\n    margin-left: -15px;\n  }\n  .note-editor .navbar-collapse .navbar-nav.navbar-right:last-child {\n    margin-right: -15px;\n  }\n  .note-editor .navbar-collapse .navbar-text:last-child {\n    margin-right: 0;\n  }\n}\n.note-editor .container > .navbar-header,\n.note-editor .container > .navbar-collapse {\n  margin-right: -15px;\n  margin-left: -15px;\n}\n@media (min-width: 768px) {\n  .note-editor .container > .navbar-header,\n  .note-editor .container > .navbar-collapse {\n    margin-right: 0;\n    margin-left: 0;\n  }\n}\n.note-editor .navbar-static-top {\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-static-top {\n    border-radius: 0;\n  }\n}\n.note-editor .navbar-fixed-top,\n.note-editor .navbar-fixed-bottom {\n  position: fixed;\n  right: 0;\n  left: 0;\n  border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-fixed-top,\n  .note-editor .navbar-fixed-bottom {\n    border-radius: 0;\n  }\n}\n.note-editor .navbar-fixed-top {\n  z-index: 1030;\n  top: 0;\n}\n.note-editor .navbar-fixed-bottom {\n  bottom: 0;\n  margin-bottom: 0;\n}\n.note-editor .navbar-brand {\n  float: left;\n  padding: 15px 15px;\n  font-size: 18px;\n  line-height: 20px;\n}\n.note-editor .navbar-brand:hover,\n.note-editor .navbar-brand:focus {\n  text-decoration: none;\n}\n@media (min-width: 768px) {\n  .navbar > .container .note-editor .navbar-brand {\n    margin-left: -15px;\n  }\n}\n.note-editor .navbar-toggle {\n  position: relative;\n  float: right;\n  margin-right: 15px;\n  padding: 9px 10px;\n  margin-top: 8px;\n  margin-bottom: 8px;\n  background-color: transparent;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.note-editor .navbar-toggle .icon-bar {\n  display: block;\n  width: 22px;\n  height: 2px;\n  border-radius: 1px;\n}\n.note-editor .navbar-toggle .icon-bar + .icon-bar {\n  margin-top: 4px;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-toggle {\n    display: none;\n  }\n}\n.note-editor .navbar-nav {\n  margin: 7.5px -15px;\n}\n.note-editor .navbar-nav > li > a {\n  padding-top: 10px;\n  padding-bottom: 10px;\n  line-height: 20px;\n}\n@media (max-width: 767px) {\n  .note-editor .navbar-nav .open .dropdown-menu {\n    position: static;\n    float: none;\n    width: auto;\n    margin-top: 0;\n    background-color: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .note-editor .navbar-nav .open .dropdown-menu > li > a,\n  .note-editor .navbar-nav .open .dropdown-menu .dropdown-header {\n    padding: 5px 15px 5px 25px;\n  }\n  .note-editor .navbar-nav .open .dropdown-menu > li > a {\n    line-height: 20px;\n  }\n  .note-editor .navbar-nav .open .dropdown-menu > li > a:hover,\n  .note-editor .navbar-nav .open .dropdown-menu > li > a:focus {\n    background-image: none;\n  }\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-nav {\n    float: left;\n    margin: 0;\n  }\n  .note-editor .navbar-nav > li {\n    float: left;\n  }\n  .note-editor .navbar-nav > li > a {\n    padding-top: 15px;\n    padding-bottom: 15px;\n  }\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-left {\n    float: left !important;\n  }\n  .note-editor .navbar-right {\n    float: right !important;\n  }\n}\n.note-editor .navbar-form {\n  margin-left: -15px;\n  margin-right: -15px;\n  padding: 10px 15px;\n  border-top: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-form .form-group {\n    display: inline-block;\n    margin-bottom: 0;\n    vertical-align: middle;\n  }\n  .note-editor .navbar-form .form-control {\n    display: inline-block;\n  }\n  .note-editor .navbar-form .radio,\n  .note-editor .navbar-form .checkbox {\n    display: inline-block;\n    margin-top: 0;\n    margin-bottom: 0;\n    padding-left: 0;\n  }\n  .note-editor .navbar-form .radio input[type=\"radio\"],\n  .note-editor .navbar-form .checkbox input[type=\"checkbox\"] {\n    float: none;\n    margin-left: 0;\n  }\n}\n@media (max-width: 767px) {\n  .note-editor .navbar-form .form-group {\n    margin-bottom: 5px;\n  }\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-form {\n    width: auto;\n    border: 0;\n    margin-left: 0;\n    margin-right: 0;\n    padding-top: 0;\n    padding-bottom: 0;\n    -webkit-box-shadow: none;\n    box-shadow: none;\n  }\n}\n.note-editor .navbar-nav > li > .dropdown-menu {\n  margin-top: 0;\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.note-editor .navbar-nav.pull-right > li > .dropdown-menu,\n.note-editor .navbar-nav > li > .dropdown-menu.pull-right {\n  left: auto;\n  right: 0;\n}\n.note-editor .navbar-btn {\n  margin-top: 8px;\n  margin-bottom: 8px;\n}\n.note-editor .navbar-text {\n  float: left;\n  margin-top: 15px;\n  margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n  .note-editor .navbar-text {\n    margin-left: 15px;\n    margin-right: 15px;\n  }\n}\n.note-editor .navbar-default {\n  background-color: #f8f8f8;\n  border-color: #e7e7e7;\n}\n.note-editor .navbar-default .navbar-brand {\n  color: #777777;\n}\n.note-editor .navbar-default .navbar-brand:hover,\n.note-editor .navbar-default .navbar-brand:focus {\n  color: #5e5e5e;\n  background-color: transparent;\n}\n.note-editor .navbar-default .navbar-text {\n  color: #777777;\n}\n.note-editor .navbar-default .navbar-nav > li > a {\n  color: #777777;\n}\n.note-editor .navbar-default .navbar-nav > li > a:hover,\n.note-editor .navbar-default .navbar-nav > li > a:focus {\n  color: #333333;\n  background-color: transparent;\n}\n.note-editor .navbar-default .navbar-nav > .active > a,\n.note-editor .navbar-default .navbar-nav > .active > a:hover,\n.note-editor .navbar-default .navbar-nav > .active > a:focus {\n  color: #555555;\n  background-color: #e7e7e7;\n}\n.note-editor .navbar-default .navbar-nav > .disabled > a,\n.note-editor .navbar-default .navbar-nav > .disabled > a:hover,\n.note-editor .navbar-default .navbar-nav > .disabled > a:focus {\n  color: #cccccc;\n  background-color: transparent;\n}\n.note-editor .navbar-default .navbar-toggle {\n  border-color: #dddddd;\n}\n.note-editor .navbar-default .navbar-toggle:hover,\n.note-editor .navbar-default .navbar-toggle:focus {\n  background-color: #dddddd;\n}\n.note-editor .navbar-default .navbar-toggle .icon-bar {\n  background-color: #cccccc;\n}\n.note-editor .navbar-default .navbar-collapse,\n.note-editor .navbar-default .navbar-form {\n  border-color: #e7e7e7;\n}\n.note-editor .navbar-default .navbar-nav > .dropdown > a:hover .caret,\n.note-editor .navbar-default .navbar-nav > .dropdown > a:focus .caret {\n  border-top-color: #333333;\n  border-bottom-color: #333333;\n}\n.note-editor .navbar-default .navbar-nav > .open > a,\n.note-editor .navbar-default .navbar-nav > .open > a:hover,\n.note-editor .navbar-default .navbar-nav > .open > a:focus {\n  background-color: #e7e7e7;\n  color: #555555;\n}\n.note-editor .navbar-default .navbar-nav > .open > a .caret,\n.note-editor .navbar-default .navbar-nav > .open > a:hover .caret,\n.note-editor .navbar-default .navbar-nav > .open > a:focus .caret {\n  border-top-color: #555555;\n  border-bottom-color: #555555;\n}\n.note-editor .navbar-default .navbar-nav > .dropdown > a .caret {\n  border-top-color: #777777;\n  border-bottom-color: #777777;\n}\n@media (max-width: 767px) {\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n    color: #777777;\n  }\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #333333;\n    background-color: transparent;\n  }\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #555555;\n    background-color: #e7e7e7;\n  }\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .note-editor .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #cccccc;\n    background-color: transparent;\n  }\n}\n.note-editor .navbar-default .navbar-link {\n  color: #777777;\n}\n.note-editor .navbar-default .navbar-link:hover {\n  color: #333333;\n}\n.note-editor .navbar-inverse {\n  background-color: #222222;\n  border-color: #080808;\n}\n.note-editor .navbar-inverse .navbar-brand {\n  color: #999999;\n}\n.note-editor .navbar-inverse .navbar-brand:hover,\n.note-editor .navbar-inverse .navbar-brand:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.note-editor .navbar-inverse .navbar-text {\n  color: #999999;\n}\n.note-editor .navbar-inverse .navbar-nav > li > a {\n  color: #999999;\n}\n.note-editor .navbar-inverse .navbar-nav > li > a:hover,\n.note-editor .navbar-inverse .navbar-nav > li > a:focus {\n  color: #ffffff;\n  background-color: transparent;\n}\n.note-editor .navbar-inverse .navbar-nav > .active > a,\n.note-editor .navbar-inverse .navbar-nav > .active > a:hover,\n.note-editor .navbar-inverse .navbar-nav > .active > a:focus {\n  color: #ffffff;\n  background-color: #080808;\n}\n.note-editor .navbar-inverse .navbar-nav > .disabled > a,\n.note-editor .navbar-inverse .navbar-nav > .disabled > a:hover,\n.note-editor .navbar-inverse .navbar-nav > .disabled > a:focus {\n  color: #444444;\n  background-color: transparent;\n}\n.note-editor .navbar-inverse .navbar-toggle {\n  border-color: #333333;\n}\n.note-editor .navbar-inverse .navbar-toggle:hover,\n.note-editor .navbar-inverse .navbar-toggle:focus {\n  background-color: #333333;\n}\n.note-editor .navbar-inverse .navbar-toggle .icon-bar {\n  background-color: #ffffff;\n}\n.note-editor .navbar-inverse .navbar-collapse,\n.note-editor .navbar-inverse .navbar-form {\n  border-color: #101010;\n}\n.note-editor .navbar-inverse .navbar-nav > .open > a,\n.note-editor .navbar-inverse .navbar-nav > .open > a:hover,\n.note-editor .navbar-inverse .navbar-nav > .open > a:focus {\n  background-color: #080808;\n  color: #ffffff;\n}\n.note-editor .navbar-inverse .navbar-nav > .dropdown > a:hover .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n.note-editor .navbar-inverse .navbar-nav > .dropdown > a .caret {\n  border-top-color: #999999;\n  border-bottom-color: #999999;\n}\n.note-editor .navbar-inverse .navbar-nav > .open > a .caret,\n.note-editor .navbar-inverse .navbar-nav > .open > a:hover .caret,\n.note-editor .navbar-inverse .navbar-nav > .open > a:focus .caret {\n  border-top-color: #ffffff;\n  border-bottom-color: #ffffff;\n}\n@media (max-width: 767px) {\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n    border-color: #080808;\n  }\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n    color: #999999;\n  }\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n    color: #ffffff;\n    background-color: transparent;\n  }\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n    color: #ffffff;\n    background-color: #080808;\n  }\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n  .note-editor .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n    color: #444444;\n    background-color: transparent;\n  }\n}\n.note-editor .navbar-inverse .navbar-link {\n  color: #999999;\n}\n.note-editor .navbar-inverse .navbar-link:hover {\n  color: #ffffff;\n}\n.note-editor .breadcrumb {\n  padding: 8px 15px;\n  margin-bottom: 20px;\n  list-style: none;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n}\n.note-editor .breadcrumb > li {\n  display: inline-block;\n}\n.note-editor .breadcrumb > li + li:before {\n  content: \"/\\00a0\";\n  padding: 0 5px;\n  color: #cccccc;\n}\n.note-editor .breadcrumb > .active {\n  color: #999999;\n}\n.note-editor .pagination {\n  display: inline-block;\n  padding-left: 0;\n  margin: 20px 0;\n  border-radius: 4px;\n}\n.note-editor .pagination > li {\n  display: inline;\n}\n.note-editor .pagination > li > a,\n.note-editor .pagination > li > span {\n  position: relative;\n  float: left;\n  padding: 6px 12px;\n  line-height: 1.428571429;\n  text-decoration: none;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  margin-left: -1px;\n}\n.note-editor .pagination > li:first-child > a,\n.note-editor .pagination > li:first-child > span {\n  margin-left: 0;\n  border-bottom-left-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.note-editor .pagination > li:last-child > a,\n.note-editor .pagination > li:last-child > span {\n  border-bottom-right-radius: 4px;\n  border-top-right-radius: 4px;\n}\n.note-editor .pagination > li > a:hover,\n.note-editor .pagination > li > span:hover,\n.note-editor .pagination > li > a:focus,\n.note-editor .pagination > li > span:focus {\n  background-color: #eeeeee;\n}\n.note-editor .pagination > .active > a,\n.note-editor .pagination > .active > span,\n.note-editor .pagination > .active > a:hover,\n.note-editor .pagination > .active > span:hover,\n.note-editor .pagination > .active > a:focus,\n.note-editor .pagination > .active > span:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #428bca;\n  cursor: default;\n}\n.note-editor .pagination > .disabled > span,\n.note-editor .pagination > .disabled > span:hover,\n.note-editor .pagination > .disabled > span:focus,\n.note-editor .pagination > .disabled > a,\n.note-editor .pagination > .disabled > a:hover,\n.note-editor .pagination > .disabled > a:focus {\n  color: #999999;\n  background-color: #ffffff;\n  border-color: #dddddd;\n  cursor: not-allowed;\n}\n.note-editor .pagination-lg > li > a,\n.note-editor .pagination-lg > li > span {\n  padding: 10px 16px;\n  font-size: 18px;\n}\n.note-editor .pagination-lg > li:first-child > a,\n.note-editor .pagination-lg > li:first-child > span {\n  border-bottom-left-radius: 6px;\n  border-top-left-radius: 6px;\n}\n.note-editor .pagination-lg > li:last-child > a,\n.note-editor .pagination-lg > li:last-child > span {\n  border-bottom-right-radius: 6px;\n  border-top-right-radius: 6px;\n}\n.note-editor .pagination-sm > li > a,\n.note-editor .pagination-sm > li > span {\n  padding: 5px 10px;\n  font-size: 12px;\n}\n.note-editor .pagination-sm > li:first-child > a,\n.note-editor .pagination-sm > li:first-child > span {\n  border-bottom-left-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.note-editor .pagination-sm > li:last-child > a,\n.note-editor .pagination-sm > li:last-child > span {\n  border-bottom-right-radius: 3px;\n  border-top-right-radius: 3px;\n}\n.note-editor .pager {\n  padding-left: 0;\n  margin: 20px 0;\n  list-style: none;\n  text-align: center;\n}\n.note-editor .pager:before,\n.note-editor .pager:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .pager:after {\n  clear: both;\n}\n.note-editor .pager:before,\n.note-editor .pager:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .pager:after {\n  clear: both;\n}\n.note-editor .pager li {\n  display: inline;\n}\n.note-editor .pager li > a,\n.note-editor .pager li > span {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 15px;\n}\n.note-editor .pager li > a:hover,\n.note-editor .pager li > a:focus {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.note-editor .pager .next > a,\n.note-editor .pager .next > span {\n  float: right;\n}\n.note-editor .pager .previous > a,\n.note-editor .pager .previous > span {\n  float: left;\n}\n.note-editor .pager .disabled > a,\n.note-editor .pager .disabled > a:hover,\n.note-editor .pager .disabled > a:focus,\n.note-editor .pager .disabled > span {\n  color: #999999;\n  background-color: #ffffff;\n  cursor: not-allowed;\n}\n.note-editor .label {\n  display: inline;\n  padding: .2em .6em .3em;\n  font-size: 75%;\n  font-weight: bold;\n  line-height: 1;\n  color: #ffffff;\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: .25em;\n}\n.note-editor .label[href]:hover,\n.note-editor .label[href]:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.note-editor .label:empty {\n  display: none;\n}\n.note-editor .label-default {\n  background-color: #999999;\n}\n.note-editor .label-default[href]:hover,\n.note-editor .label-default[href]:focus {\n  background-color: #808080;\n}\n.note-editor .label-primary {\n  background-color: #428bca;\n}\n.note-editor .label-primary[href]:hover,\n.note-editor .label-primary[href]:focus {\n  background-color: #3071a9;\n}\n.note-editor .label-success {\n  background-color: #5cb85c;\n}\n.note-editor .label-success[href]:hover,\n.note-editor .label-success[href]:focus {\n  background-color: #449d44;\n}\n.note-editor .label-info {\n  background-color: #5bc0de;\n}\n.note-editor .label-info[href]:hover,\n.note-editor .label-info[href]:focus {\n  background-color: #31b0d5;\n}\n.note-editor .label-warning {\n  background-color: #f0ad4e;\n}\n.note-editor .label-warning[href]:hover,\n.note-editor .label-warning[href]:focus {\n  background-color: #ec971f;\n}\n.note-editor .label-danger {\n  background-color: #d9534f;\n}\n.note-editor .label-danger[href]:hover,\n.note-editor .label-danger[href]:focus {\n  background-color: #c9302c;\n}\n.note-editor .badge {\n  display: inline-block;\n  min-width: 10px;\n  padding: 3px 7px;\n  font-size: 12px;\n  font-weight: bold;\n  color: #ffffff;\n  line-height: 1;\n  vertical-align: baseline;\n  white-space: nowrap;\n  text-align: center;\n  background-color: #999999;\n  border-radius: 10px;\n}\n.note-editor .badge:empty {\n  display: none;\n}\n.note-editor a.badge:hover,\n.note-editor a.badge:focus {\n  color: #ffffff;\n  text-decoration: none;\n  cursor: pointer;\n}\n.note-editor .btn .badge {\n  position: relative;\n  top: -1px;\n}\n.note-editor a.list-group-item.active > .badge,\n.note-editor .nav-pills > .active > a > .badge {\n  color: #428bca;\n  background-color: #ffffff;\n}\n.note-editor .nav-pills > li > a > .badge {\n  margin-left: 3px;\n}\n.note-editor .jumbotron {\n  padding: 30px;\n  margin-bottom: 30px;\n  font-size: 21px;\n  font-weight: 200;\n  line-height: 2.1428571435;\n  color: inherit;\n  background-color: #eeeeee;\n}\n.note-editor .jumbotron h1 {\n  line-height: 1;\n  color: inherit;\n}\n.note-editor .jumbotron p {\n  line-height: 1.4;\n}\n.container .note-editor .jumbotron {\n  border-radius: 6px;\n}\n@media screen and (min-width: 768px) {\n  .note-editor .jumbotron {\n    padding-top: 48px;\n    padding-bottom: 48px;\n  }\n  .container .note-editor .jumbotron {\n    padding-left: 60px;\n    padding-right: 60px;\n  }\n  .note-editor .jumbotron h1 {\n    font-size: 63px;\n  }\n}\n.note-editor .thumbnail {\n  padding: 4px;\n  line-height: 1.428571429;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n  border-radius: 4px;\n  -webkit-transition: all 0.2s ease-in-out;\n  transition: all 0.2s ease-in-out;\n  display: inline-block;\n  max-width: 100%;\n  height: auto;\n  display: block;\n  margin-bottom: 20px;\n}\n.note-editor .thumbnail > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n.note-editor a.thumbnail:hover,\n.note-editor a.thumbnail:focus,\n.note-editor a.thumbnail.active {\n  border-color: #428bca;\n}\n.note-editor .thumbnail > img {\n  margin-left: auto;\n  margin-right: auto;\n}\n.note-editor .thumbnail .caption {\n  padding: 9px;\n  color: #333333;\n}\n.note-editor .alert {\n  padding: 15px;\n  margin-bottom: 20px;\n  border: 1px solid transparent;\n  border-radius: 4px;\n}\n.note-editor .alert h4 {\n  margin-top: 0;\n  color: inherit;\n}\n.note-editor .alert .alert-link {\n  font-weight: bold;\n}\n.note-editor .alert > p,\n.note-editor .alert > ul {\n  margin-bottom: 0;\n}\n.note-editor .alert > p + p {\n  margin-top: 5px;\n}\n.note-editor .alert-dismissable {\n  padding-right: 35px;\n}\n.note-editor .alert-dismissable .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  color: inherit;\n}\n.note-editor .alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n  color: #468847;\n}\n.note-editor .alert-success hr {\n  border-top-color: #c9e2b3;\n}\n.note-editor .alert-success .alert-link {\n  color: #356635;\n}\n.note-editor .alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n  color: #3a87ad;\n}\n.note-editor .alert-info hr {\n  border-top-color: #a6e1ec;\n}\n.note-editor .alert-info .alert-link {\n  color: #2d6987;\n}\n.note-editor .alert-warning {\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n  color: #c09853;\n}\n.note-editor .alert-warning hr {\n  border-top-color: #f7e1b5;\n}\n.note-editor .alert-warning .alert-link {\n  color: #a47e3c;\n}\n.note-editor .alert-danger {\n  background-color: #f2dede;\n  border-color: #ebccd1;\n  color: #b94a48;\n}\n.note-editor .alert-danger hr {\n  border-top-color: #e4b9c0;\n}\n.note-editor .alert-danger .alert-link {\n  color: #953b39;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@-moz-keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n@-o-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 40px 0;\n  }\n  to {\n    background-position: 0 0;\n  }\n}\n.note-editor .progress {\n  overflow: hidden;\n  height: 20px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.note-editor .progress-bar {\n  float: left;\n  width: 0%;\n  height: 100%;\n  font-size: 12px;\n  line-height: 20px;\n  color: #ffffff;\n  text-align: center;\n  background-color: #428bca;\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.note-editor .progress-striped .progress-bar {\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-size: 40px 40px;\n}\n.note-editor .progress.active .progress-bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -moz-animation: progress-bar-stripes 2s linear infinite;\n  -ms-animation: progress-bar-stripes 2s linear infinite;\n  -o-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.note-editor .progress-bar-success {\n  background-color: #5cb85c;\n}\n.progress-striped .note-editor .progress-bar-success {\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.note-editor .progress-bar-info {\n  background-color: #5bc0de;\n}\n.progress-striped .note-editor .progress-bar-info {\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.note-editor .progress-bar-warning {\n  background-color: #f0ad4e;\n}\n.progress-striped .note-editor .progress-bar-warning {\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.note-editor .progress-bar-danger {\n  background-color: #d9534f;\n}\n.progress-striped .note-editor .progress-bar-danger {\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.note-editor .media,\n.note-editor .media-body {\n  overflow: hidden;\n  zoom: 1;\n}\n.note-editor .media,\n.note-editor .media .media {\n  margin-top: 15px;\n}\n.note-editor .media:first-child {\n  margin-top: 0;\n}\n.note-editor .media-object {\n  display: block;\n}\n.note-editor .media-heading {\n  margin: 0 0 5px;\n}\n.note-editor .media > .pull-left {\n  margin-right: 10px;\n}\n.note-editor .media > .pull-right {\n  margin-left: 10px;\n}\n.note-editor .media-list {\n  padding-left: 0;\n  list-style: none;\n}\n.note-editor .list-group {\n  margin-bottom: 20px;\n  padding-left: 0;\n}\n.note-editor .list-group-item {\n  position: relative;\n  display: block;\n  padding: 10px 15px;\n  margin-bottom: -1px;\n  background-color: #ffffff;\n  border: 1px solid #dddddd;\n}\n.note-editor .list-group-item:first-child {\n  border-top-right-radius: 4px;\n  border-top-left-radius: 4px;\n}\n.note-editor .list-group-item:last-child {\n  margin-bottom: 0;\n  border-bottom-right-radius: 4px;\n  border-bottom-left-radius: 4px;\n}\n.note-editor .list-group-item > .badge {\n  float: right;\n}\n.note-editor .list-group-item > .badge + .badge {\n  margin-right: 5px;\n}\n.note-editor a.list-group-item {\n  color: #555555;\n}\n.note-editor a.list-group-item .list-group-item-heading {\n  color: #333333;\n}\n.note-editor a.list-group-item:hover,\n.note-editor a.list-group-item:focus {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.note-editor a.list-group-item.active,\n.note-editor a.list-group-item.active:hover,\n.note-editor a.list-group-item.active:focus {\n  z-index: 2;\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #428bca;\n}\n.note-editor a.list-group-item.active .list-group-item-heading,\n.note-editor a.list-group-item.active:hover .list-group-item-heading,\n.note-editor a.list-group-item.active:focus .list-group-item-heading {\n  color: inherit;\n}\n.note-editor a.list-group-item.active .list-group-item-text,\n.note-editor a.list-group-item.active:hover .list-group-item-text,\n.note-editor a.list-group-item.active:focus .list-group-item-text {\n  color: #e1edf7;\n}\n.note-editor .list-group-item-heading {\n  margin-top: 0;\n  margin-bottom: 5px;\n}\n.note-editor .list-group-item-text {\n  margin-bottom: 0;\n  line-height: 1.3;\n}\n.note-editor .panel {\n  margin-bottom: 20px;\n  background-color: #ffffff;\n  border: 1px solid transparent;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.note-editor .panel-body {\n  padding: 15px;\n}\n.note-editor .panel-body:before,\n.note-editor .panel-body:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .panel-body:after {\n  clear: both;\n}\n.note-editor .panel-body:before,\n.note-editor .panel-body:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.note-editor .panel-body:after {\n  clear: both;\n}\n.note-editor .panel > .list-group {\n  margin-bottom: 0;\n}\n.note-editor .panel > .list-group .list-group-item {\n  border-width: 1px 0;\n}\n.note-editor .panel > .list-group .list-group-item:first-child {\n  border-top-right-radius: 0;\n  border-top-left-radius: 0;\n}\n.note-editor .panel > .list-group .list-group-item:last-child {\n  border-bottom: 0;\n}\n.note-editor .panel-heading + .list-group .list-group-item:first-child {\n  border-top-width: 0;\n}\n.note-editor .panel > .table,\n.note-editor .panel > .table-responsive {\n  margin-bottom: 0;\n}\n.note-editor .panel > .panel-body + .table,\n.note-editor .panel > .panel-body + .table-responsive {\n  border-top: 1px solid #dddddd;\n}\n.note-editor .panel > .table-bordered,\n.note-editor .panel > .table-responsive > .table-bordered {\n  border: 0;\n}\n.note-editor .panel > .table-bordered > thead > tr > th:first-child,\n.note-editor .panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.note-editor .panel > .table-bordered > tbody > tr > th:first-child,\n.note-editor .panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.note-editor .panel > .table-bordered > tfoot > tr > th:first-child,\n.note-editor .panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.note-editor .panel > .table-bordered > thead > tr > td:first-child,\n.note-editor .panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.note-editor .panel > .table-bordered > tbody > tr > td:first-child,\n.note-editor .panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.note-editor .panel > .table-bordered > tfoot > tr > td:first-child,\n.note-editor .panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n  border-left: 0;\n}\n.note-editor .panel > .table-bordered > thead > tr > th:last-child,\n.note-editor .panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.note-editor .panel > .table-bordered > tbody > tr > th:last-child,\n.note-editor .panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.note-editor .panel > .table-bordered > tfoot > tr > th:last-child,\n.note-editor .panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.note-editor .panel > .table-bordered > thead > tr > td:last-child,\n.note-editor .panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.note-editor .panel > .table-bordered > tbody > tr > td:last-child,\n.note-editor .panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.note-editor .panel > .table-bordered > tfoot > tr > td:last-child,\n.note-editor .panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n  border-right: 0;\n}\n.note-editor .panel > .table-bordered > thead > tr:last-child > th,\n.note-editor .panel > .table-responsive > .table-bordered > thead > tr:last-child > th,\n.note-editor .panel > .table-bordered > tbody > tr:last-child > th,\n.note-editor .panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.note-editor .panel > .table-bordered > tfoot > tr:last-child > th,\n.note-editor .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n.note-editor .panel > .table-bordered > thead > tr:last-child > td,\n.note-editor .panel > .table-responsive > .table-bordered > thead > tr:last-child > td,\n.note-editor .panel > .table-bordered > tbody > tr:last-child > td,\n.note-editor .panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.note-editor .panel > .table-bordered > tfoot > tr:last-child > td,\n.note-editor .panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n  border-bottom: 0;\n}\n.note-editor .panel-heading {\n  padding: 10px 15px;\n  border-bottom: 1px solid transparent;\n  border-top-right-radius: 3px;\n  border-top-left-radius: 3px;\n}\n.note-editor .panel-title {\n  margin-top: 0;\n  margin-bottom: 0;\n  font-size: 16px;\n}\n.note-editor .panel-title > a {\n  color: inherit;\n}\n.note-editor .panel-footer {\n  padding: 10px 15px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #dddddd;\n  border-bottom-right-radius: 3px;\n  border-bottom-left-radius: 3px;\n}\n.note-editor .panel-group .panel {\n  margin-bottom: 0;\n  border-radius: 4px;\n  overflow: hidden;\n}\n.note-editor .panel-group .panel + .panel {\n  margin-top: 5px;\n}\n.note-editor .panel-group .panel-heading {\n  border-bottom: 0;\n}\n.note-editor .panel-group .panel-heading + .panel-collapse .panel-body {\n  border-top: 1px solid #dddddd;\n}\n.note-editor .panel-group .panel-footer {\n  border-top: 0;\n}\n.note-editor .panel-group .panel-footer + .panel-collapse .panel-body {\n  border-bottom: 1px solid #dddddd;\n}\n.note-editor .panel-default {\n  border-color: #dddddd;\n}\n.note-editor .panel-default > .panel-heading {\n  color: #333333;\n  background-color: #f5f5f5;\n  border-color: #dddddd;\n}\n.note-editor .panel-default > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #dddddd;\n}\n.note-editor .panel-default > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #dddddd;\n}\n.note-editor .panel-primary {\n  border-color: #428bca;\n}\n.note-editor .panel-primary > .panel-heading {\n  color: #ffffff;\n  background-color: #428bca;\n  border-color: #428bca;\n}\n.note-editor .panel-primary > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #428bca;\n}\n.note-editor .panel-primary > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #428bca;\n}\n.note-editor .panel-success {\n  border-color: #d6e9c6;\n}\n.note-editor .panel-success > .panel-heading {\n  color: #468847;\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.note-editor .panel-success > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #d6e9c6;\n}\n.note-editor .panel-success > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #d6e9c6;\n}\n.note-editor .panel-warning {\n  border-color: #faebcc;\n}\n.note-editor .panel-warning > .panel-heading {\n  color: #c09853;\n  background-color: #fcf8e3;\n  border-color: #faebcc;\n}\n.note-editor .panel-warning > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #faebcc;\n}\n.note-editor .panel-warning > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #faebcc;\n}\n.note-editor .panel-danger {\n  border-color: #ebccd1;\n}\n.note-editor .panel-danger > .panel-heading {\n  color: #b94a48;\n  background-color: #f2dede;\n  border-color: #ebccd1;\n}\n.note-editor .panel-danger > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #ebccd1;\n}\n.note-editor .panel-danger > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #ebccd1;\n}\n.note-editor .panel-info {\n  border-color: #bce8f1;\n}\n.note-editor .panel-info > .panel-heading {\n  color: #3a87ad;\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.note-editor .panel-info > .panel-heading + .panel-collapse .panel-body {\n  border-top-color: #bce8f1;\n}\n.note-editor .panel-info > .panel-footer + .panel-collapse .panel-body {\n  border-bottom-color: #bce8f1;\n}\n.note-editor .well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #e3e3e3;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.note-editor .well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.note-editor .well-lg {\n  padding: 24px;\n  border-radius: 6px;\n}\n.note-editor .well-sm {\n  padding: 9px;\n  border-radius: 3px;\n}\n.note-editor .close {\n  float: right;\n  font-size: 21px;\n  font-weight: bold;\n  line-height: 1;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.note-editor .close:hover,\n.note-editor .close:focus {\n  color: #000000;\n  text-decoration: none;\n  cursor: pointer;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\nbutton.note-editor .close {\n  padding: 0;\n  cursor: pointer;\n  background: transparent;\n  border: 0;\n  -webkit-appearance: none;\n}\n.modal-open {\n  overflow: hidden;\n}\n.modal {\n  display: none;\n  overflow: auto;\n  overflow-y: scroll;\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n}\n.modal.fade .modal-dialog {\n  -webkit-transform: translate(0, -25%);\n  -ms-transform: translate(0, -25%);\n  transform: translate(0, -25%);\n  -webkit-transition: -webkit-transform 0.3s ease-out;\n  -moz-transition: -moz-transform 0.3s ease-out;\n  -o-transition: -o-transform 0.3s ease-out;\n  transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n  -webkit-transform: translate(0, 0);\n  -ms-transform: translate(0, 0);\n  transform: translate(0, 0);\n}\n.modal-dialog {\n  margin-left: auto;\n  margin-right: auto;\n  width: auto;\n  padding: 10px;\n  z-index: 1050;\n}\n.modal-content {\n  position: relative;\n  background-color: #ffffff;\n  border: 1px solid #999999;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n  background-clip: padding-box;\n  outline: none;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n  background-color: #000000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.modal-header {\n  padding: 15px;\n  border-bottom: 1px solid #e5e5e5;\n  min-height: 16.428571429px;\n}\n.modal-header .close {\n  margin-top: -2px;\n}\n.modal-title {\n  margin: 0;\n  line-height: 1.428571429;\n}\n.modal-body {\n  position: relative;\n  padding: 20px;\n}\n.modal-footer {\n  margin-top: 15px;\n  padding: 19px 20px 20px;\n  text-align: right;\n  border-top: 1px solid #e5e5e5;\n}\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.modal-footer:after {\n  clear: both;\n}\n.modal-footer:before,\n.modal-footer:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.modal-footer:after {\n  clear: both;\n}\n.modal-footer .btn + .btn {\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n  margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n  margin-left: 0;\n}\n@media screen and (min-width: 768px) {\n  .modal-dialog {\n    width: 600px;\n    padding-top: 30px;\n    padding-bottom: 30px;\n  }\n  .modal-content {\n    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n  }\n}\n.tooltip {\n  position: absolute;\n  z-index: 1030;\n  display: block;\n  visibility: visible;\n  font-size: 12px;\n  line-height: 1.4;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.tooltip.top {\n  margin-top: -3px;\n  padding: 5px 0;\n}\n.tooltip.right {\n  margin-left: 3px;\n  padding: 0 5px;\n}\n.tooltip.bottom {\n  margin-top: 3px;\n  padding: 5px 0;\n}\n.tooltip.left {\n  margin-left: -3px;\n  padding: 0 5px;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #ffffff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000000;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n  bottom: 0;\n  left: 5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n  bottom: 0;\n  right: 5px;\n  border-width: 5px 5px 0;\n  border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-width: 5px 5px 5px 0;\n  border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-width: 5px 0 5px 5px;\n  border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n  top: 0;\n  left: 5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n  top: 0;\n  right: 5px;\n  border-width: 0 5px 5px;\n  border-bottom-color: #000000;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  max-width: 276px;\n  padding: 1px;\n  text-align: left;\n  background-color: #ffffff;\n  background-clip: padding-box;\n  border: 1px solid #cccccc;\n  border: 1px solid rgba(0, 0, 0, 0.2);\n  border-radius: 6px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  white-space: normal;\n}\n.popover.top {\n  margin-top: -10px;\n}\n.popover.right {\n  margin-left: 10px;\n}\n.popover.bottom {\n  margin-top: 10px;\n}\n.popover.left {\n  margin-left: -10px;\n}\n.popover-title {\n  margin: 0;\n  padding: 8px 14px;\n  font-size: 14px;\n  font-weight: normal;\n  line-height: 18px;\n  background-color: #f7f7f7;\n  border-bottom: 1px solid #ebebeb;\n  border-radius: 5px 5px 0 0;\n}\n.popover-content {\n  padding: 9px 14px;\n}\n.popover .arrow,\n.popover .arrow:after {\n  position: absolute;\n  display: block;\n  width: 0;\n  height: 0;\n  border-color: transparent;\n  border-style: solid;\n}\n.popover .arrow {\n  border-width: 11px;\n}\n.popover .arrow:after {\n  border-width: 10px;\n  content: \"\";\n}\n.popover.top .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-bottom-width: 0;\n  border-top-color: #999999;\n  border-top-color: rgba(0, 0, 0, 0.25);\n  bottom: -11px;\n}\n.popover.top .arrow:after {\n  content: \" \";\n  bottom: 1px;\n  margin-left: -10px;\n  border-bottom-width: 0;\n  border-top-color: #ffffff;\n}\n.popover.right .arrow {\n  top: 50%;\n  left: -11px;\n  margin-top: -11px;\n  border-left-width: 0;\n  border-right-color: #999999;\n  border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right .arrow:after {\n  content: \" \";\n  left: 1px;\n  bottom: -10px;\n  border-left-width: 0;\n  border-right-color: #ffffff;\n}\n.popover.bottom .arrow {\n  left: 50%;\n  margin-left: -11px;\n  border-top-width: 0;\n  border-bottom-color: #999999;\n  border-bottom-color: rgba(0, 0, 0, 0.25);\n  top: -11px;\n}\n.popover.bottom .arrow:after {\n  content: \" \";\n  top: 1px;\n  margin-left: -10px;\n  border-top-width: 0;\n  border-bottom-color: #ffffff;\n}\n.popover.left .arrow {\n  top: 50%;\n  right: -11px;\n  margin-top: -11px;\n  border-right-width: 0;\n  border-left-color: #999999;\n  border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left .arrow:after {\n  content: \" \";\n  right: 1px;\n  border-right-width: 0;\n  border-left-color: #ffffff;\n  bottom: -10px;\n}\n.carousel {\n  position: relative;\n}\n.carousel-inner {\n  position: relative;\n  overflow: hidden;\n  width: 100%;\n}\n.carousel-inner > .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n  line-height: 1;\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  display: block;\n}\n.carousel-inner > .active {\n  left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel-inner > .next {\n  left: 100%;\n}\n.carousel-inner > .prev {\n  left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n  left: 0;\n}\n.carousel-inner > .active.left {\n  left: -100%;\n}\n.carousel-inner > .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 0;\n  left: 0;\n  bottom: 0;\n  width: 15%;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n  font-size: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n  background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0%), color-stop(rgba(0, 0, 0, 0.0001) 100%));\n  background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n  left: auto;\n  right: 0;\n  background-image: -webkit-gradient(linear, 0% top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n  background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0%), color-stop(rgba(0, 0, 0, 0.5) 100%));\n  background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n  position: absolute;\n  top: 50%;\n  z-index: 5;\n  display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n  left: 50%;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n  right: 50%;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n  width: 20px;\n  height: 20px;\n  margin-top: -10px;\n  margin-left: -10px;\n  font-family: serif;\n}\n.carousel-control .icon-prev:before {\n  content: '\\2039';\n}\n.carousel-control .icon-next:before {\n  content: '\\203a';\n}\n.carousel-indicators {\n  position: absolute;\n  bottom: 10px;\n  left: 50%;\n  z-index: 15;\n  width: 60%;\n  margin-left: -30%;\n  padding-left: 0;\n  list-style: none;\n  text-align: center;\n}\n.carousel-indicators li {\n  display: inline-block;\n  width: 10px;\n  height: 10px;\n  margin: 1px;\n  text-indent: -999px;\n  border: 1px solid #ffffff;\n  border-radius: 10px;\n  cursor: pointer;\n}\n.carousel-indicators .active {\n  margin: 0;\n  width: 12px;\n  height: 12px;\n  background-color: #ffffff;\n}\n.carousel-caption {\n  position: absolute;\n  left: 15%;\n  right: 15%;\n  bottom: 20px;\n  z-index: 10;\n  padding-top: 20px;\n  padding-bottom: 20px;\n  color: #ffffff;\n  text-align: center;\n  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n  text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n  .carousel-control .glyphicons-chevron-left,\n  .carousel-control .glyphicons-chevron-right,\n  .carousel-control .icon-prev,\n  .carousel-control .icon-next {\n    width: 30px;\n    height: 30px;\n    margin-top: -15px;\n    margin-left: -15px;\n    font-size: 30px;\n  }\n  .carousel-caption {\n    left: 20%;\n    right: 20%;\n    padding-bottom: 30px;\n  }\n  .carousel-indicators {\n    bottom: 20px;\n  }\n}\n.clearfix:before,\n.clearfix:after {\n  content: \" \";\n  /* 1 */\n\n  display: table;\n  /* 2 */\n\n}\n.clearfix:after {\n  clear: both;\n}\n.center-block {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n.pull-right {\n  float: right !important;\n}\n.pull-left {\n  float: left !important;\n}\n.hide {\n  display: none !important;\n}\n.show {\n  display: block !important;\n}\n.invisible {\n  visibility: hidden;\n}\n.text-hide {\n  font: 0/0 a;\n  color: transparent;\n  text-shadow: none;\n  background-color: transparent;\n  border: 0;\n}\n.hidden {\n  display: none !important;\n  visibility: hidden !important;\n}\n.affix {\n  position: fixed;\n}\n@-ms-viewport {\n  width: device-width;\n}\n.visible-xs,\ntr.visible-xs,\nth.visible-xs,\ntd.visible-xs {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-xs {\n    display: block !important;\n  }\n  tr.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-xs,\n  td.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-xs.visible-sm {\n    display: block !important;\n  }\n  tr.visible-xs.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-xs.visible-sm,\n  td.visible-xs.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-xs.visible-md {\n    display: block !important;\n  }\n  tr.visible-xs.visible-md {\n    display: table-row !important;\n  }\n  th.visible-xs.visible-md,\n  td.visible-xs.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-xs.visible-lg {\n    display: block !important;\n  }\n  tr.visible-xs.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-xs.visible-lg,\n  td.visible-xs.visible-lg {\n    display: table-cell !important;\n  }\n}\n.visible-sm,\ntr.visible-sm,\nth.visible-sm,\ntd.visible-sm {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-sm.visible-xs {\n    display: block !important;\n  }\n  tr.visible-sm.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-sm.visible-xs,\n  td.visible-sm.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-sm {\n    display: block !important;\n  }\n  tr.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-sm,\n  td.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-sm.visible-md {\n    display: block !important;\n  }\n  tr.visible-sm.visible-md {\n    display: table-row !important;\n  }\n  th.visible-sm.visible-md,\n  td.visible-sm.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-sm.visible-lg {\n    display: block !important;\n  }\n  tr.visible-sm.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-sm.visible-lg,\n  td.visible-sm.visible-lg {\n    display: table-cell !important;\n  }\n}\n.visible-md,\ntr.visible-md,\nth.visible-md,\ntd.visible-md {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-md.visible-xs {\n    display: block !important;\n  }\n  tr.visible-md.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-md.visible-xs,\n  td.visible-md.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-md.visible-sm {\n    display: block !important;\n  }\n  tr.visible-md.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-md.visible-sm,\n  td.visible-md.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-md {\n    display: block !important;\n  }\n  tr.visible-md {\n    display: table-row !important;\n  }\n  th.visible-md,\n  td.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-md.visible-lg {\n    display: block !important;\n  }\n  tr.visible-md.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-md.visible-lg,\n  td.visible-md.visible-lg {\n    display: table-cell !important;\n  }\n}\n.visible-lg,\ntr.visible-lg,\nth.visible-lg,\ntd.visible-lg {\n  display: none !important;\n}\n@media (max-width: 767px) {\n  .visible-lg.visible-xs {\n    display: block !important;\n  }\n  tr.visible-lg.visible-xs {\n    display: table-row !important;\n  }\n  th.visible-lg.visible-xs,\n  td.visible-lg.visible-xs {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .visible-lg.visible-sm {\n    display: block !important;\n  }\n  tr.visible-lg.visible-sm {\n    display: table-row !important;\n  }\n  th.visible-lg.visible-sm,\n  td.visible-lg.visible-sm {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .visible-lg.visible-md {\n    display: block !important;\n  }\n  tr.visible-lg.visible-md {\n    display: table-row !important;\n  }\n  th.visible-lg.visible-md,\n  td.visible-lg.visible-md {\n    display: table-cell !important;\n  }\n}\n@media (min-width: 1200px) {\n  .visible-lg {\n    display: block !important;\n  }\n  tr.visible-lg {\n    display: table-row !important;\n  }\n  th.visible-lg,\n  td.visible-lg {\n    display: table-cell !important;\n  }\n}\n.hidden-xs {\n  display: block !important;\n}\ntr.hidden-xs {\n  display: table-row !important;\n}\nth.hidden-xs,\ntd.hidden-xs {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-xs,\n  tr.hidden-xs,\n  th.hidden-xs,\n  td.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-xs.hidden-sm,\n  tr.hidden-xs.hidden-sm,\n  th.hidden-xs.hidden-sm,\n  td.hidden-xs.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-xs.hidden-md,\n  tr.hidden-xs.hidden-md,\n  th.hidden-xs.hidden-md,\n  td.hidden-xs.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-xs.hidden-lg,\n  tr.hidden-xs.hidden-lg,\n  th.hidden-xs.hidden-lg,\n  td.hidden-xs.hidden-lg {\n    display: none !important;\n  }\n}\n.hidden-sm {\n  display: block !important;\n}\ntr.hidden-sm {\n  display: table-row !important;\n}\nth.hidden-sm,\ntd.hidden-sm {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-sm.hidden-xs,\n  tr.hidden-sm.hidden-xs,\n  th.hidden-sm.hidden-xs,\n  td.hidden-sm.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-sm,\n  tr.hidden-sm,\n  th.hidden-sm,\n  td.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-sm.hidden-md,\n  tr.hidden-sm.hidden-md,\n  th.hidden-sm.hidden-md,\n  td.hidden-sm.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-sm.hidden-lg,\n  tr.hidden-sm.hidden-lg,\n  th.hidden-sm.hidden-lg,\n  td.hidden-sm.hidden-lg {\n    display: none !important;\n  }\n}\n.hidden-md {\n  display: block !important;\n}\ntr.hidden-md {\n  display: table-row !important;\n}\nth.hidden-md,\ntd.hidden-md {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-md.hidden-xs,\n  tr.hidden-md.hidden-xs,\n  th.hidden-md.hidden-xs,\n  td.hidden-md.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-md.hidden-sm,\n  tr.hidden-md.hidden-sm,\n  th.hidden-md.hidden-sm,\n  td.hidden-md.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-md,\n  tr.hidden-md,\n  th.hidden-md,\n  td.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-md.hidden-lg,\n  tr.hidden-md.hidden-lg,\n  th.hidden-md.hidden-lg,\n  td.hidden-md.hidden-lg {\n    display: none !important;\n  }\n}\n.hidden-lg {\n  display: block !important;\n}\ntr.hidden-lg {\n  display: table-row !important;\n}\nth.hidden-lg,\ntd.hidden-lg {\n  display: table-cell !important;\n}\n@media (max-width: 767px) {\n  .hidden-lg.hidden-xs,\n  tr.hidden-lg.hidden-xs,\n  th.hidden-lg.hidden-xs,\n  td.hidden-lg.hidden-xs {\n    display: none !important;\n  }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n  .hidden-lg.hidden-sm,\n  tr.hidden-lg.hidden-sm,\n  th.hidden-lg.hidden-sm,\n  td.hidden-lg.hidden-sm {\n    display: none !important;\n  }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n  .hidden-lg.hidden-md,\n  tr.hidden-lg.hidden-md,\n  th.hidden-lg.hidden-md,\n  td.hidden-lg.hidden-md {\n    display: none !important;\n  }\n}\n@media (min-width: 1200px) {\n  .hidden-lg,\n  tr.hidden-lg,\n  th.hidden-lg,\n  td.hidden-lg {\n    display: none !important;\n  }\n}\n.visible-print,\ntr.visible-print,\nth.visible-print,\ntd.visible-print {\n  display: none !important;\n}\n@media print {\n  .visible-print {\n    display: block !important;\n  }\n  tr.visible-print {\n    display: table-row !important;\n  }\n  th.visible-print,\n  td.visible-print {\n    display: table-cell !important;\n  }\n  .hidden-print,\n  tr.hidden-print,\n  th.hidden-print,\n  td.hidden-print {\n    display: none !important;\n  }\n}\n"
  },
  {
    "path": "public/plugins/summernote/summernote.css",
    "content": ".note-editor {\n    height: 300px;\n}\n\n.note-editor .note-dropzone {\n    position: absolute;\n    z-index: 1;\n    display: none;\n    color: #87cefa;\n    background-color: white;\n    border: 2px dashed #87cefa;\n    opacity: .95;\n    pointer-event: none\n}\n\n.note-editor .note-dropzone .note-dropzone-message {\n    display: table-cell;\n    font-size: 28px;\n    font-weight: bold;\n    text-align: center;\n    vertical-align: middle\n}\n\n.note-editor .note-dropzone.hover {\n    color: #098ddf;\n    border: 2px dashed #098ddf\n}\n\n.note-editor.dragover .note-dropzone {\n    display: table\n}\n\n.note-editor.fullscreen {\n    position: fixed;\n    top: 0;\n    left: 0;\n    z-index: 1050;\n    width: 100%\n}\n\n.note-editor.fullscreen .note-editable {\n    background-color: white\n}\n\n.note-editor.fullscreen .note-resizebar {\n    display: none\n}\n\n.note-editor.codeview .note-editable {\n    display: none\n}\n\n.note-editor.codeview .note-codable {\n    display: block\n}\n\n.note-editor .note-toolbar {\n    padding-bottom: 5px;\n    padding-left: 10px;\n    padding-top: 5px;\n    margin: 0;\n    background-color: #f5f5f5;\n    border-bottom: 1px solid #E7EAEC\n}\n\n.note-editor .note-toolbar > .btn-group {\n    margin-top: 5px;\n    margin-right: 5px;\n    margin-left: 0\n}\n\n.note-editor .note-toolbar .note-table .dropdown-menu {\n    min-width: 0;\n    padding: 5px\n}\n\n.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker {\n    font-size: 18px\n}\n\n.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-mousecatcher {\n    position: absolute !important;\n    z-index: 3;\n    width: 10em;\n    height: 10em;\n    cursor: pointer\n}\n\n.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-unhighlighted {\n    position: relative !important;\n    z-index: 1;\n    width: 5em;\n    height: 5em;\n    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat\n}\n\n.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-highlighted {\n    position: absolute !important;\n    z-index: 2;\n    width: 1em;\n    height: 1em;\n    background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC') repeat\n}\n\n.note-editor .note-toolbar .note-style h1, .note-editor .note-toolbar .note-style h2, .note-editor .note-toolbar .note-style h3, .note-editor .note-toolbar .note-style h4, .note-editor .note-toolbar .note-style h5, .note-editor .note-toolbar .note-style h6, .note-editor .note-toolbar .note-style blockquote {\n    margin: 0\n}\n\n.note-editor .note-toolbar .note-color .dropdown-toggle {\n    width: 20px;\n    padding-left: 5px\n}\n\n.note-editor .note-toolbar .note-color .dropdown-menu {\n    min-width: 290px\n}\n\n.note-editor .note-toolbar .note-color .dropdown-menu .btn-group {\n    margin: 0\n}\n\n.note-editor .note-toolbar .note-color .dropdown-menu .btn-group:first-child {\n    margin: 0 5px\n}\n\n.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title {\n    margin: 2px 7px;\n    font-size: 12px;\n    text-align: center;\n    border-bottom: 1px solid #eee\n}\n\n.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {\n    padding: 0 3px;\n    margin: 5px;\n    font-size: 12px;\n    cursor: pointer;\n    -webkit-border-radius: 5px;\n    -moz-border-radius: 5px;\n    border-radius: 5px\n}\n\n.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover {\n    background: #eee\n}\n\n.note-editor .note-toolbar .note-para .dropdown-menu {\n    min-width: 216px;\n    padding: 5px\n}\n\n.note-editor .note-toolbar .note-para .dropdown-menu > div:first-child {\n    margin-right: 5px\n}\n\n.note-editor .note-statusbar {\n    background-color: #f5f5f5\n}\n\n.note-editor .note-statusbar .note-resizebar {\n    width: 100%;\n    height: 8px;\n    cursor: s-resize;\n    border-top: 1px solid #a9a9a9\n}\n\n.note-editor .note-statusbar .note-resizebar .note-icon-bar {\n    width: 20px;\n    margin: 1px auto;\n    border-top: 1px solid #a9a9a9\n}\n\n.note-editor .note-popover .popover {\n    max-width: none\n}\n\n.note-editor .note-popover .popover .popover-content {\n    padding: 5px\n}\n\n.note-editor .note-popover .popover .popover-content a {\n    display: inline-block;\n    max-width: 200px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    vertical-align: middle\n}\n\n.note-editor .note-popover .popover .popover-content .btn-group + .btn-group {\n    margin-left: 5px\n}\n\n.note-editor .note-popover .popover .arrow {\n    left: 20px\n}\n\n.note-editor .note-handle .note-control-selection {\n    position: absolute;\n    display: none;\n    border: 1px solid black\n}\n\n.note-editor .note-handle .note-control-selection > div {\n    position: absolute\n}\n\n.note-editor .note-handle .note-control-selection .note-control-selection-bg {\n    width: 100%;\n    height: 100%;\n    background-color: black;\n    -webkit-opacity: .3;\n    -khtml-opacity: .3;\n    -moz-opacity: .3;\n    opacity: .3;\n    -ms-filter: alpha(opacity=30);\n    filter: alpha(opacity=30)\n}\n\n.note-editor .note-handle .note-control-selection .note-control-handle {\n    width: 7px;\n    height: 7px;\n    border: 1px solid black\n}\n\n.note-editor .note-handle .note-control-selection .note-control-holder {\n    width: 7px;\n    height: 7px;\n    border: 1px solid black\n}\n\n.note-editor .note-handle .note-control-selection .note-control-sizing {\n    width: 7px;\n    height: 7px;\n    background-color: white;\n    border: 1px solid black\n}\n\n.note-editor .note-handle .note-control-selection .note-control-nw {\n    top: -5px;\n    left: -5px;\n    border-right: 0;\n    border-bottom: 0\n}\n\n.note-editor .note-handle .note-control-selection .note-control-ne {\n    top: -5px;\n    right: -5px;\n    border-bottom: 0;\n    border-left: none\n}\n\n.note-editor .note-handle .note-control-selection .note-control-sw {\n    bottom: -5px;\n    left: -5px;\n    border-top: 0;\n    border-right: 0\n}\n\n.note-editor .note-handle .note-control-selection .note-control-se {\n    right: -5px;\n    bottom: -5px;\n    cursor: se-resize\n}\n\n.note-editor .note-handle .note-control-selection .note-control-selection-info {\n    right: 0;\n    bottom: 0;\n    padding: 5px;\n    margin: 5px;\n    font-size: 12px;\n    color: white;\n    background-color: black;\n    -webkit-border-radius: 5px;\n    -moz-border-radius: 5px;\n    border-radius: 5px;\n    -webkit-opacity: .7;\n    -khtml-opacity: .7;\n    -moz-opacity: .7;\n    opacity: .7;\n    -ms-filter: alpha(opacity=70);\n    filter: alpha(opacity=70)\n}\n\n.note-editor .note-dialog > div {\n    display: none\n}\n\n.note-editor .note-dialog .note-image-dialog .note-dropzone {\n    min-height: 100px;\n    margin-bottom: 10px;\n    font-size: 30px;\n    line-height: 4;\n    color: lightgray;\n    text-align: center;\n    border: 4px dashed lightgray\n}\n\n.note-editor .note-dialog .note-help-dialog {\n    font-size: 12px;\n    color: #ccc;\n    background: transparent;\n    background-color: #222 !important;\n    border: 0;\n    -webkit-opacity: .9;\n    -khtml-opacity: .9;\n    -moz-opacity: .9;\n    opacity: .9;\n    -ms-filter: alpha(opacity=90);\n    filter: alpha(opacity=90)\n}\n\n.note-editor .note-dialog .note-help-dialog .modal-content {\n    background: transparent;\n    border: 1px solid white;\n    -webkit-border-radius: 5px;\n    -moz-border-radius: 5px;\n    border-radius: 5px;\n    -webkit-box-shadow: none;\n    -moz-box-shadow: none;\n    box-shadow: none\n}\n\n.note-editor .note-dialog .note-help-dialog a {\n    font-size: 12px;\n    color: white\n}\n\n.note-editor .note-dialog .note-help-dialog .title {\n    padding-bottom: 5px;\n    font-size: 14px;\n    font-weight: bold;\n    color: white;\n    border-bottom: white 1px solid\n}\n\n.note-editor .note-dialog .note-help-dialog .modal-close {\n    font-size: 14px;\n    color: #dd0;\n    cursor: pointer\n}\n\n.note-editor .note-dialog .note-help-dialog .note-shortcut-layout {\n    width: 100%\n}\n\n.note-editor .note-dialog .note-help-dialog .note-shortcut-layout td {\n    vertical-align: top\n}\n\n.note-editor .note-dialog .note-help-dialog .note-shortcut {\n    margin-top: 8px\n}\n\n.note-editor .note-dialog .note-help-dialog .note-shortcut th {\n    font-size: 13px;\n    color: #dd0;\n    text-align: left\n}\n\n.note-editor .note-dialog .note-help-dialog .note-shortcut td:first-child {\n    min-width: 110px;\n    padding-right: 10px;\n    font-family: \"Courier New\";\n    color: #dd0;\n    text-align: right\n}\n\n.note-editor .note-editable {\n    padding: 20px;\n    overflow: auto;\n    outline: 0\n}\n\n.note-editor .note-editable[contenteditable=\"false\"] {\n    background-color: #e5e5e5\n}\n\n.note-editor .note-codable {\n    display: none;\n    width: 100%;\n    padding: 10px;\n    margin-bottom: 0;\n    font-family: Menlo, Monaco, monospace, sans-serif;\n    font-size: 14px;\n    color: #ccc;\n    background-color: #222;\n    border: 0;\n    -webkit-border-radius: 0;\n    -moz-border-radius: 0;\n    border-radius: 0;\n    box-shadow: none;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    -ms-box-sizing: border-box;\n    box-sizing: border-box;\n    resize: none\n}\n\n.note-editor .dropdown-menu {\n    min-width: 90px\n}\n\n.note-editor .dropdown-menu.right {\n    right: 0;\n    left: auto\n}\n\n.note-editor .dropdown-menu.right::before {\n    right: 9px;\n    left: auto !important\n}\n\n.note-editor .dropdown-menu.right::after {\n    right: 10px;\n    left: auto !important\n}\n\n.note-editor .dropdown-menu li a i {\n    color: deepskyblue;\n    visibility: hidden\n}\n\n.note-editor .dropdown-menu li a.checked i {\n    visibility: visible\n}\n\n.note-editor .note-fontsize-10 {\n    font-size: 10px\n}\n\n.note-editor .note-color-palette {\n    line-height: 1\n}\n\n.note-editor .note-color-palette div .note-color-btn {\n    width: 17px;\n    height: 17px;\n    padding: 0;\n    margin: 0;\n    border: 1px solid #fff\n}\n\n.note-editor .note-color-palette div .note-color-btn:hover {\n    border: 1px solid #000\n}"
  },
  {
    "path": "public/robots.txt",
    "content": "User-agent: *\nDisallow:\n"
  },
  {
    "path": "public/vendor/content-builder/assets/emailsnippets/content.css",
    "content": "@import url(\"https://fonts.googleapis.com/css?family=Roboto%7CLato:300\");  \n@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,800\");\n\nbody, table.body, h1, h2, h3, h4, h5, h6, p, td, th, a {\n  font-family: Lato, sans-serif;\n  line-height: 1.7; }\n   \nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  font-family: Roboto, sans-serif;  \n  margin: 12px 0; }\n  \nh1 {\n  font-size: 40px; }\nh2 {\n  font-size: 30px; }\nh3 {\n  font-size: 26px; }\nh4 {\n  font-size: 24px; }\nh5 {\n  font-size: 20px; }\nh6 {\n  font-size: 18px; }\n  \n"
  },
  {
    "path": "public/vendor/content-builder/assets/emailsnippets/snippets.html",
    "content": "<div data-num=\"1\" data-thumb=\"assets/emailsnippets/thumbnails/001.png\" data-cat=\"0,1\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n            <tbody>\n              \t<tr>\n                \t<td class=\"wrapper-inner\">\n                  \t\t<table align=\"center\" class=\"container\">\n                    \t\t<tbody>\n                      \t\t<tr>\n                        \t\t<td>\n                          \t\t\t<table class=\"row collapse\">\n                            \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th class=\"small-6 large-6 columns first\">\n                                  \t\t\t\t<table>\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/image.png\" style=\"width: 200px; height: 60px;\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                                \t\t\t<th class=\"small-6 large-6 columns last\">\n                                  \t\t\t\t<table>\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th><p class=\"text-right\"></p></th>                                     \t\t\t\t\n                                      \t\t\t\t</tr>\n                                    \t\t\t</table>\n                                    \t\t</th>\n                                    \t</tr>\n                                  \t\t</tbody>\n                                  \t</table>\n                                </td>\n                            </tr>\n                            </tbody>\n                        </table>\n                \t</td>\n            \t</tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"2\" data-thumb=\"assets/emailsnippets/thumbnails/002.png\" data-cat=\"0,2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th><h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1></th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"3\" data-thumb=\"assets/emailsnippets/thumbnails/003.png\" data-cat=\"0,2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th><h1>Lorem Ipsum is dummy text</h1></th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"4\" data-thumb=\"assets/emailsnippets/thumbnails/004.png\" data-cat=\"0,7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p></th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"5\" data-thumb=\"assets/emailsnippets/thumbnails/006.png\" data-cat=\"0,6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h4>Lorem Ipsum is dummy text</h4>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"6\" data-thumb=\"assets/emailsnippets/thumbnails/008.png\" data-cat=\"0,3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">BEAUTIFUL CONTENT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>Lorem Ipsum is simply dummy text of the printing industry.</i></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"7\" data-thumb=\"assets/emailsnippets/thumbnails/009.png\" data-cat=\"0,3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                \n                                  \t\t\t\t<h1>Hi, John Roberts</h1>\n                                  \t\t\t\t<p class=\"lead\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>                                        \n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                                      \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"8\" data-thumb=\"assets/emailsnippets/thumbnails/010.png\" data-cat=\"3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h1 class=\"text-center\">Say Hello to Our New Look</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead text-center\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"9\" data-thumb=\"assets/emailsnippets/thumbnails/011.png\" data-cat=\"0,2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h2>Lorem Ipsum is dummy text</h2>\t\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"10\" data-thumb=\"assets/emailsnippets/thumbnails/012.png\" data-cat=\"0,2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h2>Lorem Ipsum <small>This is a note.</small></h2>\t\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"11\" data-thumb=\"assets/emailsnippets/thumbnails/013.png\" data-cat=\"6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4>Lorem Ipsum</h4>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>                               \n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4>Lorem Ipsum</h4>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>                                 \n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"12\" data-thumb=\"assets/emailsnippets/thumbnails/014.png\" data-cat=\"0,10\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/014.jpg\">\n                                \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. <a href=\"snippets.html#\">Click it!</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\t\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"13\" data-thumb=\"assets/emailsnippets/thumbnails/015.png\" data-cat=\"0,10\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/015.jpg\">\n                                \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner primary\">\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. <a href=\"snippets.html#\">Click it!</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\t\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"14\" data-thumb=\"assets/emailsnippets/thumbnails/016.png\" data-cat=\"0,12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/016.jpg\"></th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"15\" data-thumb=\"assets/emailsnippets/thumbnails/017.png\" data-cat=\"0,12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/017.jpg\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"16\" data-thumb=\"assets/emailsnippets/thumbnails/018.png\" data-cat=\"12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/018.jpg\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"17\" data-thumb=\"assets/emailsnippets/thumbnails/019.png\" data-cat=\"12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/019.jpg\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"18\" data-thumb=\"assets/emailsnippets/thumbnails/020.png\" data-cat=\"12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/020.jpg\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"19\" data-thumb=\"assets/emailsnippets/thumbnails/021.png\" data-cat=\"12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/021.jpg\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"20\" data-thumb=\"assets/emailsnippets/thumbnails/022.png\" data-cat=\"13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Item</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Item</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"21\" data-thumb=\"assets/emailsnippets/thumbnails/023.png\" data-cat=\"13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Item</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Item</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Item</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"22\" data-thumb=\"assets/emailsnippets/thumbnails/024.png\" data-cat=\"0,13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/024-1.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature One</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/024-2.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Two</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"23\" data-thumb=\"assets/emailsnippets/thumbnails/025.png\" data-cat=\"0,13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/025-1.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature One</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/025-2.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Two</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/025-3.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Three</h5>\n                                 \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"24\" data-thumb=\"assets/emailsnippets/thumbnails/026.png\" data-cat=\"0,13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\">\n                                  \t\t\t\t<h5>Feature Item</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\">\n                                  \t\t\t\t<h5>Feature Item</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"25\" data-thumb=\"assets/emailsnippets/thumbnails/027.png\" data-cat=\"0,13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\">\n                                  \t\t\t\t<h5>Feature Item</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\">\n                                  \t\t\t\t<h5>Feature Item</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                 \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-check.png\">\n                                 \t\t\t\t<h5>Feature Item</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\t                          \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n\n<div data-num=\"26\" data-thumb=\"assets/emailsnippets/thumbnails/028.png\" data-cat=\"0,14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"text-center\">Create Something Awesome</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t\t\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Get Started</a>\n                                            \t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"27\" data-thumb=\"assets/emailsnippets/thumbnails/029.png\" data-cat=\"0,14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/029-1.jpg\">                                  \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">View More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n        \n        <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/029-2.jpg\">                                  \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">View More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"28\" data-thumb=\"assets/emailsnippets/thumbnails/030.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/030-1.jpg\">                                  \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h5 style=\"margin-top:0\">LOREM IPSUM</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">View More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n        \n        <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/030-2.jpg\">                                  \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h5 style=\"margin-top:0\">LOREM IPSUM</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">View More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\t\n\t</div>\n</div>\n\n<div data-num=\"29\" data-thumb=\"assets/emailsnippets/thumbnails/031.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n                    \t\t\t<tr>\n                        \t\t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t\t<table>\n                              \t\t\t\t<tbody>\n                              \t\t\t\t<tr>\n                                \t\t\t\t<th>\n                                  \t\t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/031.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t</th>\n                              \t\t\t\t</tr>\n                            \t\t\t\t</tbody>\n                            \t\t\t</table>\n                          \t\t\t</th>\n                          \t\t\t<th class=\"small-12 large-8 columns last\">\n                            \t\t\t<table>\n                              \t\t\t\t<tbody>\n                              \t\t\t\t<tr>\n                                \t\t\t\t<th>\n                                  \t\t\t\t\t<h1>Insert Text Here.</h1>\n                                  \t\t\t\t\t<table class=\"button large\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td><a href=\"snippets.html#\">Sign Up</a></td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n                                \t\t\t\t</th>\n                              \t\t\t\t</tr>\n                            \t\t\t\t</tbody>\n                            \t\t\t</table>\n                          \t\t\t</th>\n                        \t\t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                 \t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"30\" data-thumb=\"assets/emailsnippets/thumbnails/032.png\" data-cat=\"0,6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-8 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/032.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n                                 \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum dolor sit amet.</p>\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"31\" data-thumb=\"assets/emailsnippets/thumbnails/033.png\" data-cat=\"0,6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n                                 \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum dolor sit amet.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-8 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/033.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"32\" data-thumb=\"assets/emailsnippets/thumbnails/034.png\" data-cat=\"0,7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-8 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/034.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text of the printing industry.</p>\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"33\" data-thumb=\"assets/emailsnippets/thumbnails/035.png\" data-cat=\"0,7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text of the printing industry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-8 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/035.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"34\" data-thumb=\"assets/emailsnippets/thumbnails/036.png\" data-cat=\"0,6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/036.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n                                 \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                                 \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"35\" data-thumb=\"assets/emailsnippets/thumbnails/037.png\" data-cat=\"0,6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n                                 \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/037.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"36\" data-thumb=\"assets/emailsnippets/thumbnails/038.png\" data-cat=\"0,7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/038.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem Ipsum is simply dummy text of the printing industry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"37\" data-thumb=\"assets/emailsnippets/thumbnails/039.png\" data-cat=\"0,7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem Ipsum is simply dummy text of the printing industry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/039.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"38\" data-thumb=\"assets/emailsnippets/thumbnails/040.png\" data-cat=\"0,10\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/040-1.jpg\">\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply text of the printing industry.&nbsp;<a href=\"snippets.html#\">Click it!</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/040-2.jpg\">\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply text of the printing industry.&nbsp;<a href=\"snippets.html#\">Click it!</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\n\t</div>\n</div>\n\n<div data-num=\"39\" data-thumb=\"assets/emailsnippets/thumbnails/041.png\" data-cat=\"0,12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/041-1.jpg\">                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/041-2.jpg\">                                  \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\n\t</div>\n</div>\n\n<div data-num=\"40\" data-thumb=\"assets/emailsnippets/thumbnails/042.png\" data-cat=\"0,12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/042-1.jpg\">\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/042-2.jpg\">\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/042-3.jpg\">\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"41\" data-thumb=\"assets/emailsnippets/thumbnails/043.png\" data-cat=\"0,16\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-quote.png\" align=\"center\" class=\"float-center\"></center>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead text-center\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">By Your Name</p>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"42\" data-thumb=\"assets/emailsnippets/thumbnails/044.png\" data-cat=\"0,2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:32px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING INDUSTRY</h1>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"43\" data-thumb=\"assets/emailsnippets/thumbnails/045.png\" data-cat=\"0,4\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>This is a special report</i></p>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:48px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\t\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"44\" data-thumb=\"assets/emailsnippets/thumbnails/046.png\" data-cat=\"2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/046.jpg\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n        \n        <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h4 class=\"text-center\">Lorem Ipsum is Simply Text</h4>\n                                  \t\t\t\t<p class=\"text-center\">15 sections | 567 Min</p>\n                                \t\t\t</th>\n                                \t\t\t<th class=\"expander\"></th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"45\" data-thumb=\"assets/emailsnippets/thumbnails/047.png\" data-cat=\"0,14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h1 class=\"text-center\" style=\"font-size:48px;font-family:Open Sans;font-weight:bold;line-height:1.3\">BEAUTIFUL CONTENT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead text-center\"><i>Lorem Ipsum is simply dummy text of the printing industry.</i></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n        \n        <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\t\n</div>\n\n<div data-num=\"46\" data-thumb=\"assets/emailsnippets/thumbnails/048.png\" data-cat=\"0,14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/048.png\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t\t<h1 class=\"text-center\" style=\"font-size:48px;font-family:Open Sans;line-height:1.3\">Beautiful Content</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n        \n         <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\t\n</div>\n\n<div data-num=\"47\" data-thumb=\"assets/emailsnippets/thumbnails/049.png\" data-cat=\"0,14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/049.png\" align=\"center\" class=\"float-center\"></center>\n                                \t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead text-center\">BEAUTIFUL CONTENT</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\" style=\"font-size:48px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n        \n        <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"48\" data-thumb=\"assets/emailsnippets/thumbnails/050.png\" data-cat=\"0,14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/050.png\">\n                                \t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\">BEAUTIFUL CONTENT</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:48px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n        \n         <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Download</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\t\t\t\t\t\t\t\t\t\t\t\t\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"49\" data-thumb=\"assets/emailsnippets/thumbnails/051.png\" data-cat=\"0,18\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<table class=\"container secondary\" align=\"center\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<td class=\"wrapper-inner\">\n\t\t\t\t\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n                                \t\t\t\t<th class=\"small-12 large-6 columns first\">\n                                  \t\t\t\t\t<table>\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<th>\n                                        \t\t\t\t\t\t<h5>Connect With Us:</h5>\n                                        \t\t\t\t\t\t<table align=\"left\" class=\"menu vertical\">\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t<table>\n                                                \t\t\t\t\t\t\t\t<tbody>\n                                                \t\t\t\t\t\t\t\t<tr>\n                                                  \t\t\t\t\t\t\t\t\t<th style=\"text-align: left;\" class=\"menu-item float-center\"><a href=\"snippets.html#\">Twitter</a></th>\n                                                  \t\t\t\t\t\t\t\t\t<th style=\"text-align: left;\" class=\"menu-item float-center\"><a href=\"snippets.html#\">Facebook</a></th>\n                                                  \t\t\t\t\t\t\t\t\t<th style=\"text-align: left;\" class=\"menu-item float-center\"><a href=\"snippets.html#\">Google +</a></th>\n                                                \t\t\t\t\t\t\t\t</tr>\n                                              \t\t\t\t\t\t\t\t\t</tbody>\n                                              \t\t\t\t\t\t\t\t</table>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</th>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n                                \t\t\t\t</th>\n                                \t\t\t\t<th class=\"small-12 large-6 columns last\">\n                                  \t\t\t\t\t<table>\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<th>\n                                        \t\t\t\t\t\t<h5>Contact Info:</h5>\n                                        \t\t\t\t\t\t<p>Phone: 123-456-7890</p>\n                                        \t\t\t\t\t\t<p>Email: <a href=\"mailto:#\" title=\"\">example@example.com</a></p>\n                                      \t\t\t\t\t\t</th>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n                                \t\t\t\t</th>\n                              \t\t\t\t</tr>\n                            \t\t\t\t</tbody>\n                          \t\t\t\t</table>                 \n\t\t\t\t\t\t\t\t\t</td>\n        \t\t\t\t\t\t</tr>\n        \t\t\t\t\t</tbody>\n        \t\t\t\t</table>  \n        \t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"50\" data-thumb=\"assets/emailsnippets/thumbnails/052.png\" data-cat=\"0,18\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n        \t\t\t\t<table class=\"row footer text-center\">\n\t\t\t\t\t\t\t<tbody>\n                        \t\t<tr>\n                          \t\t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t\t<table>\n                              \t\t\t\t<tbody>\n                              \t\t\t\t<tr>\n                                \t\t\t\t<th>\n                                \t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/image.png\" style=\"width: 170px; height: 50px;\">\n                                \t\t\t\t</th>\n                              \t\t\t\t</tr>\n                            \t\t\t\t</tbody>\n                            \t\t\t</table>\n                          \t\t\t</th>\n                          \t\t\t<th class=\"small-12 large-4 columns\">\n                            \t\t\t<table>\n                              \t\t\t\t<tbody>\n                              \t\t\t\t<tr>\n                                \t\t\t\t<th>\n                                  \t\t\t\t\t<p> Call us at 123.456.7890<br> Email us at example@example.com </p>\n                                \t\t\t\t</th>\n                              \t\t\t\t</tr>\n                            \t\t\t\t</tbody>\n                            \t\t\t</table>\n                          \t\t\t</th>\n                          \t\t\t<th class=\"small-12 large-4 columns last\">\n                            \t\t\t<table>\n                              \t\t\t\t<tbody>\n                              \t\t\t\t<tr>\n                                \t\t\t\t<th>\n                                  \t\t\t\t\t<p> 123 Street Name<br> State 12345</p>\n                                \t\t\t\t</th>\n                              \t\t\t\t</tr>\n                            \t\t\t\t</tbody>\n                            \t\t\t</table>\n                          \t\t\t</th>\n                        \t\t</tr>\n                      \t\t</tbody>\n                    \t</table>                                  \n           \t\t\t</td>\n\t\t\t\t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"51\" data-thumb=\"assets/emailsnippets/thumbnails/053.png\" data-cat=\"0,18\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4>More Reading:</h4>\n                                                <ul>\n                                                  <li><a href=\"snippets.html#\" title=\"\">Lorem Ipsum Dolor Sit Amet</a></li>\n                                                  <li><a href=\"snippets.html#\">Lorem Ipsum Dolor Sit Amet</a></li>\n                                                  <li><a href=\"snippets.html#\">Lorem Ipsum Dolor Sit Amet</a></li>\n                                                </ul>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4>Get Involved:</h4>\n                                                <ul>\n                                                  <li><a href=\"snippets.html#\">Facebook</a></li>\n                                                  <li><a href=\"snippets.html#\">Twitter</a></li>\n                                                  <li><a href=\"snippets.html#\">Instagram</a></li>\n                                                </ul>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\t\t\n\t</div>\n</div>\n\n<div data-num=\"52\" data-thumb=\"assets/emailsnippets/thumbnails/054.png\" data-cat=\"0,18\">\n\t<div>\n\t\t<table align=\"center\" class=\"container body-border float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                    \t\t\t\t<table align=\"center\" class=\"menu float-center\">\n                                      \t\t\t\t\t<tbody>\n                                      \t\t\t\t\t<tr>\n                                        \t\t\t\t\t<td>\n                                          \t\t\t\t\t\t<table>\n                                            \t\t\t\t\t\t<tbody>\n                                            \t\t\t\t\t\t<tr>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">example@example.com</a></th>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">Facebook</a></th>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">Twitter</a></th>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">(123)-456-7890</a></th>\n                                            \t\t\t\t\t\t</tr>\n                                          \t\t\t\t\t\t\t</tbody>\n                                          \t\t\t\t\t\t</table>\n                                        \t\t\t\t\t</td>\n                                      \t\t\t\t\t</tr>\n                                    \t\t\t\t\t</tbody>\n                                    \t\t\t\t</table>\n                                  \t\t\t\t</center>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"53\" data-thumb=\"assets/emailsnippets/thumbnails/055.png\" data-cat=\"0,18\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                    \t\t\t\t<table align=\"center\" class=\"menu text-center float-center\">\n                                      \t\t\t\t\t<tbody>\n                                      \t\t\t\t\t<tr>\n                                        \t\t\t\t\t<td>\n                                          \t\t\t\t\t\t<table>\n                                            \t\t\t\t\t\t<tbody>\n                                            \t\t\t\t\t\t<tr>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">Home</a></th>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">About</a></th>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">Portfolio</a></th>\n                                              \t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\">Contact</a></th>\n                                            \t\t\t\t\t\t</tr>\n                                          \t\t\t\t\t\t\t</tbody>\n                                          \t\t\t\t\t\t</table>\n                                        \t\t\t\t\t</td>\n                                      \t\t\t\t\t</tr>\n                                    \t\t\t\t\t</tbody>\n                                    \t\t\t\t</table>\n                                  \t\t\t\t</center>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"54\" data-thumb=\"assets/emailsnippets/thumbnails/056.png\" data-cat=\"0,19\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                     \t \t\t\t\t\t\t\t<table align=\"center\" class=\"menu float-center\">\n                        \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t\t<td>\n                            \t\t\t\t\t\t\t\t\t<table>\n                              \t\t\t\t\t\t\t\t\t\t<tbody>\n                              \t\t\t\t\t\t\t\t\t\t<tr>\n                                \t\t\t\t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">Terms</a></th>\n                                \t\t\t\t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\" title=\"\">Privacy</a></th>\n                                \t\t\t\t\t\t\t\t\t\t<th class=\"menu-item float-center\"><a href=\"snippets.html#\">Unsubscribe</a></th>\n                              \t\t\t\t\t\t\t\t\t\t</tr>\n                            \t\t\t\t\t\t\t\t\t\t</tbody>\n                            \t\t\t\t\t\t\t\t\t</table>\n                          \t\t\t\t\t\t\t\t\t</td>\n                        \t\t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t\t</tbody>\n                      \t\t\t\t\t\t\t\t</table>\n                    \t\t\t\t\t\t\t</center>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"55\" data-thumb=\"assets/emailsnippets/thumbnails/057.png\" data-cat=\"0,19\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<table class=\"row collapsed footer\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t<th>\n                                  \t\t\t\t\t<p class=\"text-center\">@copywrite nobody<br> <a href=\"snippets.html#\" title=\"\">example@example.com</a> | <a href=\"snippets.html#\" title=\"\">Manage Email Notifications</a> | <a href=\"snippets.html#\" title=\"\">Unsubscribe</a></p>\n                                  \t\t\t\t</th>\n                                  \t\t\t</tr>\n                                  \t\t\t</tbody>\n                                  \t\t</table>\n                                  \t</th>\n                                </tr>\n                            </tbody>\n                        </table>                                 \n                    </td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"56\" data-thumb=\"assets/emailsnippets/thumbnails/058.png\" data-cat=\"19\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<p>You received this email because you're signed up to receive updates from us. <a href=\"snippets.html#\" title=\"\">Click here to unsubscribe.</a></p>\t\n                                \t\t\t</th>\n                                \t\t\t<th class=\"expander\"></th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"57\" data-thumb=\"assets/emailsnippets/thumbnails/059.png\" data-cat=\"19\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<p><small>You're getting this email because you've signed up for email updates. If you want to opt-out of future emails, <a href=\"snippets.html#\">unsubscribe here</a>.</small></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"58\" data-thumb=\"assets/emailsnippets/thumbnails/060.png\" data-cat=\"19\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<p><small>You received this email because you're signed up to get updates from us. <a href=\"snippets.html#\">Click here to unsubscribe.</a></small></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"59\" data-thumb=\"assets/emailsnippets/thumbnails/061.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<table class=\"button large expand\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<center data-parsed=\"\"><a href=\"snippets.html#\" align=\"center\" class=\"float-center\">Button</a></center>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"assets/emailsnippets/thumbnails/062.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<table class=\"button large\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"assets/emailsnippets/thumbnails/063.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<table class=\"button\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"assets/emailsnippets/thumbnails/064.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"assets/emailsnippets/thumbnails/065.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<table class=\"button tiny\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"assets/emailsnippets/thumbnails/066.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button large float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"65\" data-thumb=\"assets/emailsnippets/thumbnails/067.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"66\" data-thumb=\"assets/emailsnippets/thumbnails/068.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"67\" data-thumb=\"assets/emailsnippets/thumbnails/069.png\" data-cat=\"0,8\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button tiny float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Button</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"68\" data-thumb=\"assets/emailsnippets/thumbnails/070.png\" data-cat=\"0,9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"callout\">\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"callout-inner\">\n      \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"expander\"></th>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"assets/emailsnippets/thumbnails/071.png\" data-cat=\"0,9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"callout\">\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"callout-inner primary\">\n      \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"expander\"></th>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"assets/emailsnippets/thumbnails/072.png\" data-cat=\"0,20\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"assets/emailsnippets/thumbnails/073.png\" data-cat=\"0,20\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<hr>\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"assets/emailsnippets/thumbnails/074.png\" data-cat=\"16\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-6 columns first\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-quote.png\" align=\"center\" class=\"float-center\"></center>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead text-center\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">By Your Name</p>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-6 columns last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-quote.png\" align=\"center\" class=\"float-center\"></center>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead text-center\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">By Your Name</p>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"73\" data-thumb=\"assets/emailsnippets/thumbnails/075.png\" data-cat=\"12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n            <tbody>\n              \t<tr>\n                \t<td>\n\t\t\t\t\t\t<table class=\"row collapse\">\n                            <tbody>\n                            <tr>\n                            \t<th class=\"small-12 large-12 columns first\">\n                                  \t<table>\n                                    \t<tbody>\n                                    \t<tr>\n                                      \t\t<th><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/075.jpg\"></th>\n                                      \t</tr>\n                                  \t\t</tbody>\n                                  \t</table>\n                                </th>                                \t\t\t\n                            </tr>\n                            </tbody>\n                        </table>                            \n                \t</td>\n            \t</tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"74\" data-thumb=\"assets/emailsnippets/thumbnails/076.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small rounded\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/076.jpg\">\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"75\" data-thumb=\"assets/emailsnippets/thumbnails/077.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h5 style=\"margin-top:0\">LOREM IPSUM</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small rounded\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/077.jpg\">\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"76\" data-thumb=\"assets/emailsnippets/thumbnails/078.png\" data-cat=\"6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/078.jpg\">                                 \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-8 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\t\n\t\t\t\t\t\t\t\t\t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"77\" data-thumb=\"assets/emailsnippets/thumbnails/079.png\" data-cat=\"6\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                        \t\t<th class=\"small-12 large-8 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h4 style=\"margin-top:0\">Lorem Ipsum</h4>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>   \n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/079.jpg\">                                 \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>                         \t\t     \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"78\" data-thumb=\"assets/emailsnippets/thumbnails/081.png\" data-cat=\"7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/081.jpg\">   \t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-8 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book</p>\t\t\t\t\t\t\t\t\t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"79\" data-thumb=\"assets/emailsnippets/thumbnails/082.png\" data-cat=\"7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                        \t\t<th class=\"small-12 large-8 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                               \t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\t\t\t\t\t\t\t\t\t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>   \n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/082.jpg\">\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>                         \t\t     \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\t\n\n<div data-num=\"80\" data-thumb=\"assets/emailsnippets/thumbnails/080.png\" data-cat=\"15\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$19</h1>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\" title=\"\">Buy Now</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$39</h1>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\">Buy Now</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"81\" data-thumb=\"assets/emailsnippets/thumbnails/083.png\" data-cat=\"15\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"text-center\">PRODUCT NAME</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$19</h1>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">BUY NOW</a>\n                                            \t\t\t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                      \t\t\t\t\t</th>               \t\t\t\t\t\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"text-center\">PRODUCT NAME</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$29</h1>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">BUY NOW</a>\n                                            \t\t\t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                      \t\t\t\t\t</th>                                     \t\t\t\t\t\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"82\" data-thumb=\"assets/emailsnippets/thumbnails/084.png\" data-cat=\"15\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$19</h1>\n\t                                       \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\" title=\"\">Buy Now</a></p>\n                                      \t\t\t\t\t</th>                                      \t\t\t\t\t\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$29</h1>\n\t                                       \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\" title=\"\">Buy Now</a></p>\n                                      \t\t\t\t\t</th>                                      \t\t\t\t\t\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n\t\t                               \t\t\t\t\t<th class=\"callout-inner\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\">$39</h1>\n\t                                       \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\" title=\"\">Buy Now</a></p>\n                                      \t\t\t\t\t</th>                                      \t\t\t\t\t\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"83\" data-thumb=\"assets/emailsnippets/thumbnails/085.png\" data-cat=\"9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"callout\">\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"text-center\">LOREM IPSUM IS SIMPLY TEXT</h3>\n      \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\">Read More</a></p>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"expander\"></th>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"84\" data-thumb=\"assets/emailsnippets/thumbnails/086.png\" data-cat=\"9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"callout\">\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"callout-inner primary\">\n      \t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"text-center\">LOREM IPSUM IS SIMPLY TEXT</h3>\n      \t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\"><a href=\"snippets.html#\">Read More</a></p>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t</th>\n    \t\t\t\t\t\t\t\t\t\t\t\t\t<th class=\"expander\"></th>\n  \t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"85\" data-thumb=\"assets/emailsnippets/thumbnails/087.png\" data-cat=\"9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5>LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p><a href=\"snippets.html#\" title=\"\">Read More</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                               \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n                                        \t\t\t\t\t<h5>LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p><a href=\"snippets.html#\" title=\"\">Read More</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"86\" data-thumb=\"assets/emailsnippets/thumbnails/088.png\" data-cat=\"9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner primary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5>LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p><a href=\"snippets.html#\" title=\"\">Read More</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                  \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner primary\">\n                                        \t\t\t\t\t<h5>LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p><a href=\"snippets.html#\" title=\"\">Read More</a></p>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"87\" data-thumb=\"assets/emailsnippets/thumbnails/089.png\" data-cat=\"9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                 \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"text-center\">LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t\t\t\t<table class=\"button small rounded float-center\">\n                                    \t\t\t\t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Discover More</a>\n                                            \t\t\t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t\t\t</td>                                 \t\t\t\t\t\t\n                                    \t\t\t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                 \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner\">\n                                        \t\t\t\t\t<h5 class=\"text-center\">LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t\t\t\t<table class=\"button small rounded float-center\">\n                                    \t\t\t\t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Discover More</a>\n                                            \t\t\t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t\t\t</td>                                      \t\t\t\t\t\t\n                                    \t\t\t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"88\" data-thumb=\"assets/emailsnippets/thumbnails/090.png\" data-cat=\"9\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                 \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner primary\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h5 class=\"text-center\">LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t\t\t\t<table class=\"button small rounded float-center\">\n                                    \t\t\t\t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Discover More</a>\n                                            \t\t\t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t\t\t</td>                                 \t\t\t\t\t\t\n                                    \t\t\t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>                                 \t\t\t\t\n                                  \t\t\t\t<table class=\"callout\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<th class=\"callout-inner primary\">\n                                        \t\t\t\t\t<h5 class=\"text-center\">LOREM IPSUM</h5>\n                                        \t\t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing and industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t\t\t\t<table class=\"button small rounded float-center\">\n                                    \t\t\t\t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Discover More</a>\n                                            \t\t\t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t\t\t</td>                                      \t\t\t\t\t\t\n                                    \t\t\t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                      \t\t\t\t\t</th>\n                                      \t\t\t\t\t<th class=\"expander\"></th>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"89\" data-thumb=\"assets/emailsnippets/thumbnails/091.png\" data-cat=\"2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/091.png\">                                \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"90\" data-thumb=\"assets/emailsnippets/thumbnails/092.png\" data-cat=\"2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/092.jpg\">                                 \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-8 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3;margin-top:0\">LOREM IPSUM IS SIMPLY TEXT</h1>\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"91\" data-thumb=\"assets/emailsnippets/thumbnails/093.png\" data-cat=\"2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                        \t\t<th class=\"small-12 large-8 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>          \t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3;margin-top:0\">LOREM IPSUM IS SIMPLY TEXT</h1>\t\t\t\t\t\t\t\t\t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>   \n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/093.jpg\">\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>                         \t\t     \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"92\" data-thumb=\"assets/emailsnippets/thumbnails/094.png\" data-cat=\"2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/094.jpg\">                                  \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h1 style=\"font-size:36px;font-family:Open Sans;font-weight:bold;line-height:1.3;margin-top:0\">LOREM IPSUM IS SIMPLY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text of the printing industry.</p>\t\t\t\t\t\t\t\t\t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"93\" data-thumb=\"assets/emailsnippets/thumbnails/095.png\" data-cat=\"2\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h1 style=\"font-size:36px;font-family:Open Sans;font-weight:bold;line-height:1.3;margin-top:0\">LOREM IPSUM IS SIMPLY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text of the printing industry.</p>                                 \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/095.jpg\">\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"94\" data-thumb=\"assets/emailsnippets/thumbnails/096.png\" data-cat=\"3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/096.jpg\" align=\"center\" class=\"float-center\"></center>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\" style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">BEAUTIFUL CONTENT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center lead\"><i>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</i></p>\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"assets/emailsnippets/thumbnails/097.png\" data-cat=\"3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/097.png\" align=\"center\" class=\"float-center\"></center>\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 class=\"text-center\" style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center lead\"><i>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</i></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"96\" data-thumb=\"assets/emailsnippets/thumbnails/098.png\" data-cat=\"3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/098.png\">                        \t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</i></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"97\" data-thumb=\"assets/emailsnippets/thumbnails/099.png\" data-cat=\"3\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/099.png\">                                 \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<h2>Lorem Ipsum is Simply Dummy Text of the Printing Industry.</h2>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</i></p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"98\" data-thumb=\"assets/emailsnippets/thumbnails/100.png\" data-cat=\"4\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/100.png\">\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>Lorem Ipsum Dolor sit Amet</i></p>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\t\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"99\" data-thumb=\"assets/emailsnippets/thumbnails/101.png\" data-cat=\"4\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/101.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p class=\"lead\"><i>Beautiful Content</i></p>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:30px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                                 \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"100\" data-thumb=\"assets/emailsnippets/thumbnails/102.png\" data-cat=\"4\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p class=\"lead\"><i>Beautiful Content</i></p>\n\t\t\t\t\t\t\t\t\t\t\t\t<h1 style=\"font-size:30px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/102.jpg\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"101\" data-thumb=\"assets/emailsnippets/thumbnails/103.png\" data-cat=\"12\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row collapse\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/103-1.jpg\">                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/103-2.jpg\">                                   \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"102\" data-thumb=\"assets/emailsnippets/thumbnails/104.png\" data-cat=\"11\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/104-1.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h5>Lorem Ipsum</h5>\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/104-2.jpg\"> \n\t\t\t\t\t\t\t\t\t\t\t\t<h5>Lorem Ipsum</h5>\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"103\" data-thumb=\"assets/emailsnippets/thumbnails/105.png\" data-cat=\"10\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/105-1.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td height=\"18px\" style=\"font-size:18px;line-height:18px;\">&nbsp;</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/105-2.jpg\"> \n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td height=\"18px\" style=\"font-size:18px;line-height:18px;\">&nbsp;</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"104\" data-thumb=\"assets/emailsnippets/thumbnails/106.png\" data-cat=\"7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/106.jpg\">\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"assets/emailsnippets/thumbnails/107.png\" data-cat=\"7\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem Ipsum is simply dummy text.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/107.jpg\">\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"106\" data-thumb=\"assets/emailsnippets/thumbnails/108.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h1 class=\"text-center\" style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n        \n        <table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>              \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small rounded float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n                                \t\t\t</th>\n                           \t \t\t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>    \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"107\" data-thumb=\"assets/emailsnippets/thumbnails/109.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/109.png\" align=\"center\" class=\"float-center\"></center>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t\t\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\t\t\n\t\t\t\t\t\t<table class=\"row\">\n\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n                                   \t\t\t\t\t<table class=\"button small rounded float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t\t</td>\n                                      \t\t\t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t</center>\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</th>\n                        \t</tr>\n                    \t\t</tbody>\n                \t\t</table>   \t\t                     \n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</div>\n\n<div data-num=\"108\" data-thumb=\"assets/emailsnippets/thumbnails/110.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/110-1.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h5>Lorem Ipsum</h5>\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>                                 \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/110-2.jpg\">\n\t\t\t\t\t\t\t\t\t\t\t\t<h5>Lorem Ipsum</h5>\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>                               \t\t\t\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"109\" data-thumb=\"assets/emailsnippets/thumbnails/111.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/111.jpg\">                                  \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h1 style=\"font-size:30px;font-family:Open Sans;font-weight:bold;line-height:1.3;margin-top:0\">Lorem Ipsum</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>Beautiful Content</i></p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Read More</a>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\t\t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"110\" data-thumb=\"assets/emailsnippets/thumbnails/112.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h1 style=\"font-size:30px;font-family:Open Sans;font-weight:bold;line-height:1.3;margin-top:0\">Lorem Ipsum</h1>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\"><i>Beautiful Content</i></p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t<tr>\n                                      \t\t\t\t\t<td>\n                                        \t\t\t\t\t<table>\n                                          \t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t<td>\n                                              \t\t\t\t\t\t\t<a href=\"snippets.html#\" align=\"center\">Read More</a>\n                                            \t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t</table>\n                                      \t\t\t\t\t</td>\n                                      \t\t\t\t\t<td class=\"expander\"></td>\n                                    \t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>            \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/112.jpg\"> \t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"111\" data-thumb=\"assets/emailsnippets/thumbnails/113.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/113.jpg\">                               \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"112\" data-thumb=\"assets/emailsnippets/thumbnails/114.png\" data-cat=\"14\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>\n                                  \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/114.jpg\">\t\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"113\" data-thumb=\"assets/emailsnippets/thumbnails/115.png\" data-cat=\"13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/115-1.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature One</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n    \t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>    \n                                  \t\t\t\t</center>  \n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/115-2.png\" align=\"center\" class=\"float-center\"></center>\n                                  \t\t\t\t<h5 class=\"text-center\">Feature Two</h5>\n                                  \t\t\t\t<p class=\"text-center\">Lorem Ipsum is simply dummy text of the printing indutry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<center data-parsed=\"\">\n    \t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small float-center\">\n                                    \t\t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t\t</tbody>\n                                  \t\t\t\t\t</table>    \n                                  \t\t\t\t</center>  \n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"114\" data-thumb=\"assets/emailsnippets/thumbnails/116.png\" data-cat=\"13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/116-1.png\">\n                                  \t\t\t\t<h5>Feature One</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing indutry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>     \n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/116-2.png\">\n                                  \t\t\t\t<h5>Feature Two</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing indutry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"button small\">\n                                    \t\t\t\t<tbody>\n                                    \t\t\t\t\t<tr>\n                                      \t\t\t\t\t\t<td>\n                                        \t\t\t\t\t\t<table>\n                                          \t\t\t\t\t\t\t<tbody>\n                                          \t\t\t\t\t\t\t<tr>\n                                            \t\t\t\t\t\t\t<td>\n                                            \t\t\t\t\t\t\t\t<a href=\"snippets.html#\" title=\"\">Read More</a>\n                                            \t\t\t\t\t\t\t</td>\n                                          \t\t\t\t\t\t\t</tr>\n                                        \t\t\t\t\t\t\t</tbody>\n                                        \t\t\t\t\t\t</table>\n                                      \t\t\t\t\t\t</td>\n                                    \t\t\t\t\t</tr>\n                                  \t\t\t\t\t</tbody>\n                                  \t\t\t\t</table>     \n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"115\" data-thumb=\"assets/emailsnippets/thumbnails/117.png\" data-cat=\"13\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/117-1.png\">\n                                  \t\t\t\t<h5>Feature One</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/117-2.png\">\n                                  \t\t\t\t<h5>Feature Two</h5>\n                                  \t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing indutry.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"116\" data-thumb=\"assets/emailsnippets/thumbnails/118.png\" data-cat=\"16\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-4 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/118.jpg\">                                \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-8 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-quote.png\">\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>By Your Name</p>\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"117\" data-thumb=\"assets/emailsnippets/thumbnails/119.png\" data-cat=\"16\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                        \t\t<th class=\"small-12 large-8 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/icon-quote.png\">\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n                      \t\t\t\t\t\t\t\t<tbody>\n                        \t\t\t\t\t\t\t<tr>\n                          \t\t\t\t\t\t\t\t<td height=\"16px\" style=\"font-size:16px;line-height:16px;\">&nbsp;</td>\n                        \t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"lead\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t\t\t\t\t\t\t\t<p>By Your Name</p>\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>   \n                          \t\t\n                          \t\t<th class=\"small-12 large-4 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/119.jpg\">                                \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>                         \t\t     \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"118\" data-thumb=\"assets/emailsnippets/thumbnails/120.png\" data-cat=\"18\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n        \t<tbody>\n            \t<tr>\n                \t<td>                                   \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-6 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/120-1.png\">\n                                  \t\t\t\t<h5>Contact Info</h5>\n                                  \t\t\t\t<p>123 Street Name, City.  State 1234. Phone: (123) 456 7890.</p>\n                                  \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                         \t\t <th class=\"small-12 large-6 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/120-2.png\">\n                                  \t\t\t\t<h5>Get in Touch</h5>\n                                  \t\t\t\t<p>If you have any questions, please write to us at <a href=\"snippets.html#\" title=\"\">example@example.com</a></p>\n\t\t\t\t\t\t\t\t\t\t\t</th>                                \t\t\t\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>           \n                \t</td>\n            \t</tr>\n        \t</tbody>\n    \t</table>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"assets/emailsnippets/thumbnails/121.png\" data-cat=\"17\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n                  \t<td>                                 \n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-3 columns first\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/121.jpg\">                                \t\t\t\t                              \t\t\t\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>\n                          \t\t\n                          \t\t<th class=\"small-12 large-9 columns last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                  \t\t\t\t<h5 style=\"margin-top:0\">By Your Name</h5>\n\t\t\t\t\t\t\t\t\t\t\t\t<p> Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\t\n                                \t\t\t</th>\n                              \t\t\t</tr>\n                            \t\t\t</tbody>\n                            \t\t</table>\n                          \t\t</th>        \n                        \t</tr>\n                      \t\t</tbody>\n                    \t</table>\n                \t</td>\n                 </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"120\" data-thumb=\"assets/emailsnippets/thumbnails/122.png\" data-cat=\"1\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/image.png\" align=\"center\" class=\"float-center\" style=\"width: 130px; height: 80px;\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"121\" data-thumb=\"assets/emailsnippets/thumbnails/123.png\" data-cat=\"1\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/image.png\" align=\"center\" class=\"float-center\" style=\"width: 240px; height: 80px;\"></center>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n\n<div data-num=\"122\" data-thumb=\"assets/emailsnippets/thumbnails/124.png\" data-cat=\"1\">\n\t<div>\n\t\t<table align=\"center\" class=\"container float-center\">\n\t\t\t<tbody>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n                    \t<table class=\"row\">\n                      \t\t<tbody>\n                        \t<tr>\n                          \t\t<th class=\"small-12 large-12 columns first last\">\n                            \t\t<table>\n                              \t\t\t<tbody>\n                              \t\t\t<tr>\n                                \t\t\t<th>\n                                \t\t\t\t<center data-parsed=\"\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/emailsnippets/assets/emailsnippets/image.png\" align=\"center\" class=\"float-center\" style=\"width: 240px; height: 80px;\"></center>\n\t\t\t\t\t\t\t\t\t\t\t\t<table class=\"spacer\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<td height=\"18px\" style=\"font-size:18px;line-height:18px;\">&nbsp;</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n                      \t\t\t\t\t\t\t\t</tbody>\n                    \t\t\t\t\t\t\t</table>\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"text-center\">MADE BY YOUR NAME</p>\n                                \t\t\t</th>\n                                \t\t</tr>\n                        \t\t\t\t</tbody>\n                        \t\t\t</table>\n                    \t\t\t</th>\n                \t\t\t</tr>\n            \t\t\t\t</tbody>\n                        </table>                            \n\t\t\t\t\t</td>\n                </tr>\n            </tbody>\n        </table>\n\t</div>\n</div>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/frameworks/foundation-emails/css/app.css",
    "content": ".wrapper {\n  width: 100%; }\n\n#outlook a {\n  padding: 0; }\n\nbody {\n  width: 100% !important;\n  min-width: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  margin: 0;\n  Margin: 0;\n  padding: 0;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box; }\n\n.ExternalClass {\n  width: 100%; }\n  .ExternalClass,\n  .ExternalClass p,\n  .ExternalClass span,\n  .ExternalClass font,\n  .ExternalClass td,\n  .ExternalClass div {\n    line-height: 100%; }\n\n#backgroundTable {\n  margin: 0;\n  Margin: 0;\n  padding: 0;\n  width: 100% !important;\n  line-height: 100% !important; }\n\nimg {\n  outline: none;\n  text-decoration: none;\n  -ms-interpolation-mode: bicubic;\n  width: auto;\n  max-width: 100%;\n  clear: both;\n  display: block; }\n\ncenter {\n  width: 100%;\n  min-width: 580px; }\n\na img {\n  border: none; }\n\np {\n  margin: 0 0 0 10px;\n  Margin: 0 0 0 10px; }\n\ntable {\n  border-spacing: 0;\n  border-collapse: collapse; }\n\ntd {\n  word-wrap: break-word;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  hyphens: auto;\n  border-collapse: collapse !important; }\n\ntable, tr, td {\n  padding: 0;\n  vertical-align: top;\n  text-align: left; }\n\n@media only screen {\n  html {\n    min-height: 100%;\n    background: #f3f3f3; } }\n\ntable.body {\n  background: #f3f3f3;\n  height: 100%;\n  width: 100%; }\n\ntable.container {\n  background: #fefefe;\n  width: 580px;\n  margin: 0 auto;\n  Margin: 0 auto;\n  text-align: inherit; }\n\ntable.row {\n  padding: 0;\n  width: 100%;\n  position: relative; }\n\ntable.spacer {\n  width: 100%; }\n  table.spacer td {\n    mso-line-height-rule: exactly; }\n\ntable.container table.row {\n  display: table; }\n\ntd.columns,\ntd.column,\nth.columns,\nth.column {\n  margin: 0 auto;\n  Margin: 0 auto;\n  padding-left: 26px;\n  padding-bottom: 16px; }\n  td.columns .column,\n  td.columns .columns,\n  td.column .column,\n  td.column .columns,\n  th.columns .column,\n  th.columns .columns,\n  th.column .column,\n  th.column .columns {\n    padding-left: 0 !important;\n    padding-right: 0 !important; }\n    td.columns .column center,\n    td.columns .columns center,\n    td.column .column center,\n    td.column .columns center,\n    th.columns .column center,\n    th.columns .columns center,\n    th.column .column center,\n    th.column .columns center {\n      min-width: none !important; }\n\ntd.columns.last,\ntd.column.last,\nth.columns.last,\nth.column.last {\n  padding-right: 26px; }\n\ntd.columns table:not(.button),\ntd.column table:not(.button),\nth.columns table:not(.button),\nth.column table:not(.button) {\n  width: 100%; }\n\ntd.large-1,\nth.large-1 {\n  width: 22.33333px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-1.first,\nth.large-1.first {\n  padding-left: 26px; }\n\ntd.large-1.last,\nth.large-1.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-1,\n.collapse > tbody > tr > th.large-1 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 48.33333px; }\n\n.collapse td.large-1.first,\n.collapse th.large-1.first,\n.collapse td.large-1.last,\n.collapse th.large-1.last {\n  width: 61.33333px; }\n\ntd.large-1 center,\nth.large-1 center {\n  min-width: -29.66667px; }\n\n.body .columns td.large-1,\n.body .column td.large-1,\n.body .columns th.large-1,\n.body .column th.large-1 {\n  width: 8.33333%; }\n\ntd.large-2,\nth.large-2 {\n  width: 70.66667px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-2.first,\nth.large-2.first {\n  padding-left: 26px; }\n\ntd.large-2.last,\nth.large-2.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-2,\n.collapse > tbody > tr > th.large-2 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 96.66667px; }\n\n.collapse td.large-2.first,\n.collapse th.large-2.first,\n.collapse td.large-2.last,\n.collapse th.large-2.last {\n  width: 109.66667px; }\n\ntd.large-2 center,\nth.large-2 center {\n  min-width: 18.66667px; }\n\n.body .columns td.large-2,\n.body .column td.large-2,\n.body .columns th.large-2,\n.body .column th.large-2 {\n  width: 16.66667%; }\n\ntd.large-3,\nth.large-3 {\n  width: 119px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-3.first,\nth.large-3.first {\n  padding-left: 26px; }\n\ntd.large-3.last,\nth.large-3.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-3,\n.collapse > tbody > tr > th.large-3 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 145px; }\n\n.collapse td.large-3.first,\n.collapse th.large-3.first,\n.collapse td.large-3.last,\n.collapse th.large-3.last {\n  width: 158px; }\n\ntd.large-3 center,\nth.large-3 center {\n  min-width: 67px; }\n\n.body .columns td.large-3,\n.body .column td.large-3,\n.body .columns th.large-3,\n.body .column th.large-3 {\n  width: 25%; }\n\ntd.large-4,\nth.large-4 {\n  width: 167.33333px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-4.first,\nth.large-4.first {\n  padding-left: 26px; }\n\ntd.large-4.last,\nth.large-4.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-4,\n.collapse > tbody > tr > th.large-4 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 193.33333px; }\n\n.collapse td.large-4.first,\n.collapse th.large-4.first,\n.collapse td.large-4.last,\n.collapse th.large-4.last {\n  width: 206.33333px; }\n\ntd.large-4 center,\nth.large-4 center {\n  min-width: 115.33333px; }\n\n.body .columns td.large-4,\n.body .column td.large-4,\n.body .columns th.large-4,\n.body .column th.large-4 {\n  width: 33.33333%; }\n\ntd.large-5,\nth.large-5 {\n  width: 215.66667px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-5.first,\nth.large-5.first {\n  padding-left: 26px; }\n\ntd.large-5.last,\nth.large-5.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-5,\n.collapse > tbody > tr > th.large-5 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 241.66667px; }\n\n.collapse td.large-5.first,\n.collapse th.large-5.first,\n.collapse td.large-5.last,\n.collapse th.large-5.last {\n  width: 254.66667px; }\n\ntd.large-5 center,\nth.large-5 center {\n  min-width: 163.66667px; }\n\n.body .columns td.large-5,\n.body .column td.large-5,\n.body .columns th.large-5,\n.body .column th.large-5 {\n  width: 41.66667%; }\n\ntd.large-6,\nth.large-6 {\n  width: 264px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-6.first,\nth.large-6.first {\n  padding-left: 26px; }\n\ntd.large-6.last,\nth.large-6.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-6,\n.collapse > tbody > tr > th.large-6 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 290px; }\n\n.collapse td.large-6.first,\n.collapse th.large-6.first,\n.collapse td.large-6.last,\n.collapse th.large-6.last {\n  width: 303px; }\n\ntd.large-6 center,\nth.large-6 center {\n  min-width: 212px; }\n\n.body .columns td.large-6,\n.body .column td.large-6,\n.body .columns th.large-6,\n.body .column th.large-6 {\n  width: 50%; }\n\ntd.large-7,\nth.large-7 {\n  width: 312.33333px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-7.first,\nth.large-7.first {\n  padding-left: 26px; }\n\ntd.large-7.last,\nth.large-7.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-7,\n.collapse > tbody > tr > th.large-7 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 338.33333px; }\n\n.collapse td.large-7.first,\n.collapse th.large-7.first,\n.collapse td.large-7.last,\n.collapse th.large-7.last {\n  width: 351.33333px; }\n\ntd.large-7 center,\nth.large-7 center {\n  min-width: 260.33333px; }\n\n.body .columns td.large-7,\n.body .column td.large-7,\n.body .columns th.large-7,\n.body .column th.large-7 {\n  width: 58.33333%; }\n\ntd.large-8,\nth.large-8 {\n  width: 360.66667px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-8.first,\nth.large-8.first {\n  padding-left: 26px; }\n\ntd.large-8.last,\nth.large-8.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-8,\n.collapse > tbody > tr > th.large-8 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 386.66667px; }\n\n.collapse td.large-8.first,\n.collapse th.large-8.first,\n.collapse td.large-8.last,\n.collapse th.large-8.last {\n  width: 399.66667px; }\n\ntd.large-8 center,\nth.large-8 center {\n  min-width: 308.66667px; }\n\n.body .columns td.large-8,\n.body .column td.large-8,\n.body .columns th.large-8,\n.body .column th.large-8 {\n  width: 66.66667%; }\n\ntd.large-9,\nth.large-9 {\n  width: 409px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-9.first,\nth.large-9.first {\n  padding-left: 26px; }\n\ntd.large-9.last,\nth.large-9.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-9,\n.collapse > tbody > tr > th.large-9 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 435px; }\n\n.collapse td.large-9.first,\n.collapse th.large-9.first,\n.collapse td.large-9.last,\n.collapse th.large-9.last {\n  width: 448px; }\n\ntd.large-9 center,\nth.large-9 center {\n  min-width: 357px; }\n\n.body .columns td.large-9,\n.body .column td.large-9,\n.body .columns th.large-9,\n.body .column th.large-9 {\n  width: 75%; }\n\ntd.large-10,\nth.large-10 {\n  width: 457.33333px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-10.first,\nth.large-10.first {\n  padding-left: 26px; }\n\ntd.large-10.last,\nth.large-10.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-10,\n.collapse > tbody > tr > th.large-10 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 483.33333px; }\n\n.collapse td.large-10.first,\n.collapse th.large-10.first,\n.collapse td.large-10.last,\n.collapse th.large-10.last {\n  width: 496.33333px; }\n\ntd.large-10 center,\nth.large-10 center {\n  min-width: 405.33333px; }\n\n.body .columns td.large-10,\n.body .column td.large-10,\n.body .columns th.large-10,\n.body .column th.large-10 {\n  width: 83.33333%; }\n\ntd.large-11,\nth.large-11 {\n  width: 505.66667px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-11.first,\nth.large-11.first {\n  padding-left: 26px; }\n\ntd.large-11.last,\nth.large-11.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-11,\n.collapse > tbody > tr > th.large-11 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 531.66667px; }\n\n.collapse td.large-11.first,\n.collapse th.large-11.first,\n.collapse td.large-11.last,\n.collapse th.large-11.last {\n  width: 544.66667px; }\n\ntd.large-11 center,\nth.large-11 center {\n  min-width: 453.66667px; }\n\n.body .columns td.large-11,\n.body .column td.large-11,\n.body .columns th.large-11,\n.body .column th.large-11 {\n  width: 91.66667%; }\n\ntd.large-12,\nth.large-12 {\n  width: 554px;\n  padding-left: 13px;\n  padding-right: 13px; }\n\ntd.large-12.first,\nth.large-12.first {\n  padding-left: 26px; }\n\ntd.large-12.last,\nth.large-12.last {\n  padding-right: 26px; }\n\n.collapse > tbody > tr > td.large-12,\n.collapse > tbody > tr > th.large-12 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 580px; }\n\n.collapse td.large-12.first,\n.collapse th.large-12.first,\n.collapse td.large-12.last,\n.collapse th.large-12.last {\n  width: 593px; }\n\ntd.large-12 center,\nth.large-12 center {\n  min-width: 502px; }\n\n.body .columns td.large-12,\n.body .column td.large-12,\n.body .columns th.large-12,\n.body .column th.large-12 {\n  width: 100%; }\n\ntd.large-offset-1,\ntd.large-offset-1.first,\ntd.large-offset-1.last,\nth.large-offset-1,\nth.large-offset-1.first,\nth.large-offset-1.last {\n  padding-left: 74.33333px; }\n\ntd.large-offset-2,\ntd.large-offset-2.first,\ntd.large-offset-2.last,\nth.large-offset-2,\nth.large-offset-2.first,\nth.large-offset-2.last {\n  padding-left: 122.66667px; }\n\ntd.large-offset-3,\ntd.large-offset-3.first,\ntd.large-offset-3.last,\nth.large-offset-3,\nth.large-offset-3.first,\nth.large-offset-3.last {\n  padding-left: 171px; }\n\ntd.large-offset-4,\ntd.large-offset-4.first,\ntd.large-offset-4.last,\nth.large-offset-4,\nth.large-offset-4.first,\nth.large-offset-4.last {\n  padding-left: 219.33333px; }\n\ntd.large-offset-5,\ntd.large-offset-5.first,\ntd.large-offset-5.last,\nth.large-offset-5,\nth.large-offset-5.first,\nth.large-offset-5.last {\n  padding-left: 267.66667px; }\n\ntd.large-offset-6,\ntd.large-offset-6.first,\ntd.large-offset-6.last,\nth.large-offset-6,\nth.large-offset-6.first,\nth.large-offset-6.last {\n  padding-left: 316px; }\n\ntd.large-offset-7,\ntd.large-offset-7.first,\ntd.large-offset-7.last,\nth.large-offset-7,\nth.large-offset-7.first,\nth.large-offset-7.last {\n  padding-left: 364.33333px; }\n\ntd.large-offset-8,\ntd.large-offset-8.first,\ntd.large-offset-8.last,\nth.large-offset-8,\nth.large-offset-8.first,\nth.large-offset-8.last {\n  padding-left: 412.66667px; }\n\ntd.large-offset-9,\ntd.large-offset-9.first,\ntd.large-offset-9.last,\nth.large-offset-9,\nth.large-offset-9.first,\nth.large-offset-9.last {\n  padding-left: 461px; }\n\ntd.large-offset-10,\ntd.large-offset-10.first,\ntd.large-offset-10.last,\nth.large-offset-10,\nth.large-offset-10.first,\nth.large-offset-10.last {\n  padding-left: 509.33333px; }\n\ntd.large-offset-11,\ntd.large-offset-11.first,\ntd.large-offset-11.last,\nth.large-offset-11,\nth.large-offset-11.first,\nth.large-offset-11.last {\n  padding-left: 557.66667px; }\n\ntd.expander,\nth.expander {\n  visibility: hidden;\n  width: 0;\n  padding: 0 !important; }\n\ntable.container.radius {\n  border-radius: 0;\n  border-collapse: separate; }\n\n.block-grid {\n  width: 100%;\n  max-width: 580px; }\n  .block-grid td {\n    display: inline-block;\n    padding: 13px; }\n\n.up-2 td {\n  width: 264px !important; }\n\n.up-3 td {\n  width: 167px !important; }\n\n.up-4 td {\n  width: 119px !important; }\n\n.up-5 td {\n  width: 90px !important; }\n\n.up-6 td {\n  width: 70px !important; }\n\n.up-7 td {\n  width: 56px !important; }\n\n.up-8 td {\n  width: 46px !important; }\n\ntable.text-center,\nth.text-center,\ntd.text-center,\nh1.text-center,\nh2.text-center,\nh3.text-center,\nh4.text-center,\nh5.text-center,\nh6.text-center,\np.text-center,\nspan.text-center {\n  text-align: center; }\n\ntable.text-left,\nth.text-left,\ntd.text-left,\nh1.text-left,\nh2.text-left,\nh3.text-left,\nh4.text-left,\nh5.text-left,\nh6.text-left,\np.text-left,\nspan.text-left {\n  text-align: left; }\n\ntable.text-right,\nth.text-right,\ntd.text-right,\nh1.text-right,\nh2.text-right,\nh3.text-right,\nh4.text-right,\nh5.text-right,\nh6.text-right,\np.text-right,\nspan.text-right {\n  text-align: right; }\n\nspan.text-center {\n  display: block;\n  width: 100%;\n  text-align: center; }\n\n@media only screen and (max-width: 606px) {\n  .small-float-center {\n    margin: 0 auto !important;\n    float: none !important;\n    text-align: center !important; }\n  .small-text-center {\n    text-align: center !important; }\n  .small-text-left {\n    text-align: left !important; }\n  .small-text-right {\n    text-align: right !important; } }\n\nimg.float-left {\n  float: left;\n  text-align: left; }\n\nimg.float-right {\n  float: right;\n  text-align: right; }\n\nimg.float-center,\nimg.text-center {\n  margin: 0 auto;\n  Margin: 0 auto;\n  float: none;\n  text-align: center; }\n\ntable.float-center,\ntd.float-center,\nth.float-center {\n  margin: 0 auto;\n  Margin: 0 auto;\n  float: none;\n  text-align: center; }\n\n.hide-for-large {\n  display: none !important;\n  mso-hide: all;\n  overflow: hidden;\n  max-height: 0;\n  font-size: 0;\n  width: 0;\n  line-height: 0; }\n  @media only screen and (max-width: 606px) {\n    .hide-for-large {\n      display: block !important;\n      width: auto !important;\n      overflow: visible !important;\n      max-height: none !important;\n      font-size: inherit !important;\n      line-height: inherit !important; } }\n\ntable.body table.container .hide-for-large * {\n  mso-hide: all; }\n\n@media only screen and (max-width: 606px) {\n  table.body table.container .hide-for-large,\n  table.body table.container .row.hide-for-large {\n    display: table !important;\n    width: 100% !important; } }\n\n@media only screen and (max-width: 606px) {\n  table.body table.container .callout-inner.hide-for-large {\n    display: table-cell !important;\n    width: 100% !important; } }\n\n@media only screen and (max-width: 606px) {\n  table.body table.container .show-for-large {\n    display: none !important;\n    width: 0;\n    mso-hide: all;\n    overflow: hidden; } }\n\nbody,\ntable.body,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\ntd,\nth,\na {\n  color: #0a0a0a;\n  font-family: Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  padding: 0;\n  margin: 0;\n  Margin: 0;\n  text-align: left;\n  line-height: 1.3; }\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  color: inherit;\n  word-wrap: normal;\n  font-family: Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  margin-bottom: 10px;\n  Margin-bottom: 10px; }\n\nh1 {\n  font-size: 34px; }\n\nh2 {\n  font-size: 30px; }\n\nh3 {\n  font-size: 28px; }\n\nh4 {\n  font-size: 24px; }\n\nh5 {\n  font-size: 20px; }\n\nh6 {\n  font-size: 18px; }\n\nbody,\ntable.body,\np,\ntd,\nth {\n  font-size: 16px;\n  line-height: 1.3; }\n\np {\n  margin-bottom: 10px;\n  Margin-bottom: 10px; }\n  p.lead {\n    font-size: 20px;\n    line-height: 1.6; }\n  p.subheader {\n    margin-top: 4px;\n    margin-bottom: 8px;\n    Margin-top: 4px;\n    Margin-bottom: 8px;\n    font-weight: normal;\n    line-height: 1.4;\n    color: #8a8a8a; }\n\nsmall {\n  font-size: 80%;\n  color: #cacaca; }\n\na {\n  color: #2199e8;\n  text-decoration: none; }\n  a:hover {\n    color: #147dc2; }\n  a:active {\n    color: #147dc2; }\n  a:visited {\n    color: #2199e8; }\n\nh1 a,\nh1 a:visited,\nh2 a,\nh2 a:visited,\nh3 a,\nh3 a:visited,\nh4 a,\nh4 a:visited,\nh5 a,\nh5 a:visited,\nh6 a,\nh6 a:visited {\n  color: #2199e8; }\n\npre {\n  background: #f3f3f3;\n  margin: 30px 0;\n  Margin: 30px 0; }\n  pre code {\n    color: #cacaca; }\n    pre code span.callout {\n      color: #8a8a8a;\n      font-weight: bold; }\n    pre code span.callout-strong {\n      color: #ff6908;\n      font-weight: bold; }\n\ntable.hr {\n  width: 100%; }\n  table.hr th {\n    height: 0;\n    max-width: 580px;\n    border-top: 0;\n    border-right: 0;\n    border-bottom: 1px solid #0a0a0a;\n    border-left: 0;\n    margin: 20px auto;\n    Margin: 20px auto;\n    clear: both; }\n\n.stat {\n  font-size: 40px;\n  line-height: 1; }\n  p + .stat {\n    margin-top: -16px;\n    Margin-top: -16px; }\n\nspan.preheader {\n  display: none !important;\n  visibility: hidden;\n  mso-hide: all !important;\n  font-size: 1px;\n  color: #f3f3f3;\n  line-height: 1px;\n  max-height: 0px;\n  max-width: 0px;\n  opacity: 0;\n  overflow: hidden; }\n\ntable.button {\n  width: auto;\n  margin: 0 0 16px 0;\n  Margin: 0 0 16px 0; }\n  table.button table td {\n    text-align: left;\n    color: #fefefe;\n    background: #2199e8;\n    border: 2px solid #2199e8; }\n    table.button table td a {\n      font-family: Helvetica, Arial, sans-serif;\n      font-size: 16px;\n      font-weight: bold;\n      color: #fefefe;\n      text-decoration: none;\n      display: inline-block;\n      padding: 8px 16px 8px 16px;\n      border: 0 solid #2199e8;\n      border-radius: 3px; }\n  table.button.radius table td {\n    border-radius: 3px;\n    border: none; }\n  table.button.rounded table td {\n    border-radius: 500px;\n    border: none; }\n\ntable.button:hover table tr td a,\ntable.button:active table tr td a,\ntable.button table tr td a:visited,\ntable.button.tiny:hover table tr td a,\ntable.button.tiny:active table tr td a,\ntable.button.tiny table tr td a:visited,\ntable.button.small:hover table tr td a,\ntable.button.small:active table tr td a,\ntable.button.small table tr td a:visited,\ntable.button.large:hover table tr td a,\ntable.button.large:active table tr td a,\ntable.button.large table tr td a:visited {\n  color: #fefefe; }\n\ntable.button.tiny table td,\ntable.button.tiny table a {\n  padding: 4px 8px 4px 8px; }\n\ntable.button.tiny table a {\n  font-size: 10px;\n  font-weight: normal; }\n\ntable.button.small table td,\ntable.button.small table a {\n  padding: 5px 10px 5px 10px;\n  font-size: 12px; }\n\ntable.button.large table a {\n  padding: 10px 20px 10px 20px;\n  font-size: 20px; }\n\ntable.button.expand,\ntable.button.expanded {\n  width: 100% !important; }\n  table.button.expand table,\n  table.button.expanded table {\n    width: 100%; }\n    table.button.expand table a,\n    table.button.expanded table a {\n      text-align: center;\n      width: 100%;\n      padding-left: 0;\n      padding-right: 0; }\n  table.button.expand center,\n  table.button.expanded center {\n    min-width: 0; }\n\ntable.button:hover table td,\ntable.button:visited table td,\ntable.button:active table td {\n  background: #147dc2;\n  color: #fefefe; }\n\ntable.button:hover table a,\ntable.button:visited table a,\ntable.button:active table a {\n  border: 0 solid #147dc2; }\n\ntable.button.secondary table td {\n  background: #777777;\n  color: #fefefe;\n  border: 0px solid #777777; }\n\ntable.button.secondary table a {\n  color: #fefefe;\n  border: 0 solid #777777; }\n\ntable.button.secondary:hover table td {\n  background: #919191;\n  color: #fefefe; }\n\ntable.button.secondary:hover table a {\n  border: 0 solid #919191; }\n\ntable.button.secondary:hover table td a {\n  color: #fefefe; }\n\ntable.button.secondary:active table td a {\n  color: #fefefe; }\n\ntable.button.secondary table td a:visited {\n  color: #fefefe; }\n\ntable.button.success table td {\n  background: #3adb76;\n  border: 0px solid #3adb76; }\n\ntable.button.success table a {\n  border: 0 solid #3adb76; }\n\ntable.button.success:hover table td {\n  background: #23bf5d; }\n\ntable.button.success:hover table a {\n  border: 0 solid #23bf5d; }\n\ntable.button.alert table td {\n  background: #ec5840;\n  border: 0px solid #ec5840; }\n\ntable.button.alert table a {\n  border: 0 solid #ec5840; }\n\ntable.button.alert:hover table td {\n  background: #e23317; }\n\ntable.button.alert:hover table a {\n  border: 0 solid #e23317; }\n\ntable.button.warning table td {\n  background: #ffae00;\n  border: 0px solid #ffae00; }\n\ntable.button.warning table a {\n  border: 0px solid #ffae00; }\n\ntable.button.warning:hover table td {\n  background: #cc8b00; }\n\ntable.button.warning:hover table a {\n  border: 0px solid #cc8b00; }\n\ntable.callout {\n  margin-bottom: 16px;\n  Margin-bottom: 16px; }\n\nth.callout-inner {\n  width: 100%;\n  border: 1px solid #cbcbcb;\n  padding: 10px;\n  background: #fefefe; }\n  th.callout-inner.primary {\n    background: #def0fc;\n    border: 1px solid #444444;\n    color: #0a0a0a; }\n  th.callout-inner.secondary {\n    background: #ebebeb;\n    border: 1px solid #444444;\n    color: #0a0a0a; }\n  th.callout-inner.success {\n    background: #e1faea;\n    border: 1px solid #1b9448;\n    color: #fefefe; }\n  th.callout-inner.warning {\n    background: #fff3d9;\n    border: 1px solid #996800;\n    color: #fefefe; }\n  th.callout-inner.alert {\n    background: #fce6e2;\n    border: 1px solid #b42912;\n    color: #fefefe; }\n\n.thumbnail {\n  border: solid 4px #fefefe;\n  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n  display: inline-block;\n  line-height: 0;\n  max-width: 100%;\n  transition: box-shadow 200ms ease-out;\n  border-radius: 3px;\n  margin-bottom: 16px; }\n  .thumbnail:hover, .thumbnail:focus {\n    box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }\n\ntable.menu {\n  width: 580px; }\n  table.menu td.menu-item,\n  table.menu th.menu-item {\n    padding: 10px;\n    padding-right: 10px; }\n    table.menu td.menu-item a,\n    table.menu th.menu-item a {\n      color: #2199e8; }\n\ntable.menu.vertical td.menu-item,\ntable.menu.vertical th.menu-item {\n  padding: 10px;\n  padding-right: 0;\n  display: block; }\n  table.menu.vertical td.menu-item a,\n  table.menu.vertical th.menu-item a {\n    width: 100%; }\n\ntable.menu.vertical td.menu-item table.menu.vertical td.menu-item,\ntable.menu.vertical td.menu-item table.menu.vertical th.menu-item,\ntable.menu.vertical th.menu-item table.menu.vertical td.menu-item,\ntable.menu.vertical th.menu-item table.menu.vertical th.menu-item {\n  padding-left: 10px; }\n\ntable.menu.text-center a {\n  text-align: center; }\n\n.menu[align=\"center\"] {\n  width: auto !important; }\n\nbody.outlook p {\n  display: inline !important; }\n\n@media only screen and (max-width: 606px) {\n  table.body img {\n    width: auto;\n    height: auto; }\n  table.body center {\n    min-width: 0 !important; }\n  table.body .container {\n    width: 95% !important; }\n  table.body .columns,\n  table.body .column {\n    height: auto !important;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    padding-left: 26px !important;\n    padding-right: 26px !important; }\n    table.body .columns .column,\n    table.body .columns .columns,\n    table.body .column .column,\n    table.body .column .columns {\n      padding-left: 0 !important;\n      padding-right: 0 !important; }\n  table.body .collapse .columns,\n  table.body .collapse .column {\n    padding-left: 0 !important;\n    padding-right: 0 !important; }\n  td.small-1,\n  th.small-1 {\n    display: inline-block !important;\n    width: 8.33333% !important; }\n  td.small-2,\n  th.small-2 {\n    display: inline-block !important;\n    width: 16.66667% !important; }\n  td.small-3,\n  th.small-3 {\n    display: inline-block !important;\n    width: 25% !important; }\n  td.small-4,\n  th.small-4 {\n    display: inline-block !important;\n    width: 33.33333% !important; }\n  td.small-5,\n  th.small-5 {\n    display: inline-block !important;\n    width: 41.66667% !important; }\n  td.small-6,\n  th.small-6 {\n    display: inline-block !important;\n    width: 50% !important; }\n  td.small-7,\n  th.small-7 {\n    display: inline-block !important;\n    width: 58.33333% !important; }\n  td.small-8,\n  th.small-8 {\n    display: inline-block !important;\n    width: 66.66667% !important; }\n  td.small-9,\n  th.small-9 {\n    display: inline-block !important;\n    width: 75% !important; }\n  td.small-10,\n  th.small-10 {\n    display: inline-block !important;\n    width: 83.33333% !important; }\n  td.small-11,\n  th.small-11 {\n    display: inline-block !important;\n    width: 91.66667% !important; }\n  td.small-12,\n  th.small-12 {\n    display: inline-block !important;\n    width: 100% !important; }\n  .columns td.small-12,\n  .column td.small-12,\n  .columns th.small-12,\n  .column th.small-12 {\n    display: block !important;\n    width: 100% !important; }\n  table.body td.small-offset-1,\n  table.body th.small-offset-1 {\n    margin-left: 8.33333% !important;\n    Margin-left: 8.33333% !important; }\n  table.body td.small-offset-2,\n  table.body th.small-offset-2 {\n    margin-left: 16.66667% !important;\n    Margin-left: 16.66667% !important; }\n  table.body td.small-offset-3,\n  table.body th.small-offset-3 {\n    margin-left: 25% !important;\n    Margin-left: 25% !important; }\n  table.body td.small-offset-4,\n  table.body th.small-offset-4 {\n    margin-left: 33.33333% !important;\n    Margin-left: 33.33333% !important; }\n  table.body td.small-offset-5,\n  table.body th.small-offset-5 {\n    margin-left: 41.66667% !important;\n    Margin-left: 41.66667% !important; }\n  table.body td.small-offset-6,\n  table.body th.small-offset-6 {\n    margin-left: 50% !important;\n    Margin-left: 50% !important; }\n  table.body td.small-offset-7,\n  table.body th.small-offset-7 {\n    margin-left: 58.33333% !important;\n    Margin-left: 58.33333% !important; }\n  table.body td.small-offset-8,\n  table.body th.small-offset-8 {\n    margin-left: 66.66667% !important;\n    Margin-left: 66.66667% !important; }\n  table.body td.small-offset-9,\n  table.body th.small-offset-9 {\n    margin-left: 75% !important;\n    Margin-left: 75% !important; }\n  table.body td.small-offset-10,\n  table.body th.small-offset-10 {\n    margin-left: 83.33333% !important;\n    Margin-left: 83.33333% !important; }\n  table.body td.small-offset-11,\n  table.body th.small-offset-11 {\n    margin-left: 91.66667% !important;\n    Margin-left: 91.66667% !important; }\n  table.body table.columns td.expander,\n  table.body table.columns th.expander {\n    display: none !important; }\n  table.body .right-text-pad,\n  table.body .text-pad-right {\n    padding-left: 10px !important; }\n  table.body .left-text-pad,\n  table.body .text-pad-left {\n    padding-right: 10px !important; }\n  table.menu {\n    width: 100% !important; }\n    table.menu td,\n    table.menu th {\n      width: auto !important;\n      display: inline-block !important; }\n    table.menu.vertical td,\n    table.menu.vertical th, table.menu.small-vertical td,\n    table.menu.small-vertical th {\n      display: block !important; }\n  table.menu[align=\"center\"] {\n    width: auto !important; }\n  table.button.small-expand,\n  table.button.small-expanded {\n    width: 100% !important; }\n    table.button.small-expand table,\n    table.button.small-expanded table {\n      width: 100%; }\n      table.button.small-expand table a,\n      table.button.small-expanded table a {\n        text-align: center !important;\n        width: 100% !important;\n        padding-left: 0 !important;\n        padding-right: 0 !important; }\n    table.button.small-expand center,\n    table.button.small-expanded center {\n      min-width: 0; } }\n\nbody,\nhtml,\n.body {\n  background: #f3f3f3 !important; }\n\n.container.header {\n  background: #f3f3f3; }\n\n.body-drip {\n  border-top: 8px solid #663399; }\n\n.header {\n  background: #8a8a8a; }\n\n.header .columns {\n  padding-bottom: 0; }\n\n.header p {\n  color: #fff;\n  padding-top: 15px; }\n\n.header .wrapper-inner {\n  padding: 20px; }\n\n.header .container {\n  background: transparent; }\n\ntable.button.facebook table td {\n  background: #3B5998 !important;\n  border-color: #3B5998; }\n\ntable.button.twitter table td {\n  background: #1daced !important;\n  border-color: #1daced; }\n\ntable.button.google table td {\n  background: #DB4A39 !important;\n  border-color: #DB4A39; }\n\n.wrapper.secondary {\n  background: #f3f3f3; }\n"
  },
  {
    "path": "public/vendor/content-builder/assets/frameworks/foundation-emails/css/foundation-emails.css",
    "content": ".wrapper {\n  width: 100%; }\n\n#outlook a {\n  padding: 0; }\n\nbody {\n  width: 100% !important;\n  min-width: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  margin: 0;\n  Margin: 0;\n  padding: 0;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box; }\n\n.ExternalClass {\n  width: 100%; }\n  .ExternalClass,\n  .ExternalClass p,\n  .ExternalClass span,\n  .ExternalClass font,\n  .ExternalClass td,\n  .ExternalClass div {\n    line-height: 100%; }\n\n#backgroundTable {\n  margin: 0;\n  Margin: 0;\n  padding: 0;\n  width: 100% !important;\n  line-height: 100% !important; }\n\nimg {\n  outline: none;\n  text-decoration: none;\n  -ms-interpolation-mode: bicubic;\n  width: auto;\n  max-width: 100%;\n  clear: both;\n  display: block; }\n\ncenter {\n  width: 100%;\n  min-width: 580px; }\n\na img {\n  border: none; }\n\np {\n  margin: 0 0 0 10px;\n  Margin: 0 0 0 10px; }\n\ntable {\n  border-spacing: 0;\n  border-collapse: collapse; }\n\ntd {\n  word-wrap: break-word;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  hyphens: auto;\n  border-collapse: collapse !important; }\n\ntable, tr, td {\n  padding: 0;\n  vertical-align: top;\n  text-align: left; }\n\n@media only screen {\n  html {\n    min-height: 100%;\n    background: #f3f3f3; } }\n\ntable.body {\n  background: #f3f3f3;\n  height: 100%;\n  width: 100%; }\n\ntable.container {\n  background: #fefefe;\n  width: 580px;\n  margin: 0 auto;\n  Margin: 0 auto;\n  text-align: inherit; }\n\ntable.row {\n  padding: 0;\n  width: 100%;\n  position: relative; }\n\ntable.spacer {\n  width: 100%; }\n  table.spacer td {\n    mso-line-height-rule: exactly; }\n\ntable.container table.row {\n  display: table; }\n\ntd.columns,\ntd.column,\nth.columns,\nth.column {\n  margin: 0 auto;\n  Margin: 0 auto;\n  padding-left: 16px;\n  padding-bottom: 16px; }\n  td.columns .column,\n  td.columns .columns,\n  td.column .column,\n  td.column .columns,\n  th.columns .column,\n  th.columns .columns,\n  th.column .column,\n  th.column .columns {\n    padding-left: 0 !important;\n    padding-right: 0 !important; }\n    td.columns .column center,\n    td.columns .columns center,\n    td.column .column center,\n    td.column .columns center,\n    th.columns .column center,\n    th.columns .columns center,\n    th.column .column center,\n    th.column .columns center {\n      min-width: none !important; }\n\ntd.columns.last,\ntd.column.last,\nth.columns.last,\nth.column.last {\n  padding-right: 16px; }\n\ntd.columns table:not(.button),\ntd.column table:not(.button),\nth.columns table:not(.button),\nth.column table:not(.button) {\n  width: 100%; }\n\ntd.large-1,\nth.large-1 {\n  width: 32.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-1.first,\nth.large-1.first {\n  padding-left: 16px; }\n\ntd.large-1.last,\nth.large-1.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-1,\n.collapse > tbody > tr > th.large-1 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 48.33333px; }\n\n.collapse td.large-1.first,\n.collapse th.large-1.first,\n.collapse td.large-1.last,\n.collapse th.large-1.last {\n  width: 56.33333px; }\n\ntd.large-1 center,\nth.large-1 center {\n  min-width: 0.33333px; }\n\n.body .columns td.large-1,\n.body .column td.large-1,\n.body .columns th.large-1,\n.body .column th.large-1 {\n  width: 8.33333%; }\n\ntd.large-2,\nth.large-2 {\n  width: 80.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-2.first,\nth.large-2.first {\n  padding-left: 16px; }\n\ntd.large-2.last,\nth.large-2.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-2,\n.collapse > tbody > tr > th.large-2 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 96.66667px; }\n\n.collapse td.large-2.first,\n.collapse th.large-2.first,\n.collapse td.large-2.last,\n.collapse th.large-2.last {\n  width: 104.66667px; }\n\ntd.large-2 center,\nth.large-2 center {\n  min-width: 48.66667px; }\n\n.body .columns td.large-2,\n.body .column td.large-2,\n.body .columns th.large-2,\n.body .column th.large-2 {\n  width: 16.66667%; }\n\ntd.large-3,\nth.large-3 {\n  width: 129px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-3.first,\nth.large-3.first {\n  padding-left: 16px; }\n\ntd.large-3.last,\nth.large-3.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-3,\n.collapse > tbody > tr > th.large-3 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 145px; }\n\n.collapse td.large-3.first,\n.collapse th.large-3.first,\n.collapse td.large-3.last,\n.collapse th.large-3.last {\n  width: 153px; }\n\ntd.large-3 center,\nth.large-3 center {\n  min-width: 97px; }\n\n.body .columns td.large-3,\n.body .column td.large-3,\n.body .columns th.large-3,\n.body .column th.large-3 {\n  width: 25%; }\n\ntd.large-4,\nth.large-4 {\n  width: 177.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-4.first,\nth.large-4.first {\n  padding-left: 16px; }\n\ntd.large-4.last,\nth.large-4.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-4,\n.collapse > tbody > tr > th.large-4 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 193.33333px; }\n\n.collapse td.large-4.first,\n.collapse th.large-4.first,\n.collapse td.large-4.last,\n.collapse th.large-4.last {\n  width: 201.33333px; }\n\ntd.large-4 center,\nth.large-4 center {\n  min-width: 145.33333px; }\n\n.body .columns td.large-4,\n.body .column td.large-4,\n.body .columns th.large-4,\n.body .column th.large-4 {\n  width: 33.33333%; }\n\ntd.large-5,\nth.large-5 {\n  width: 225.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-5.first,\nth.large-5.first {\n  padding-left: 16px; }\n\ntd.large-5.last,\nth.large-5.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-5,\n.collapse > tbody > tr > th.large-5 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 241.66667px; }\n\n.collapse td.large-5.first,\n.collapse th.large-5.first,\n.collapse td.large-5.last,\n.collapse th.large-5.last {\n  width: 249.66667px; }\n\ntd.large-5 center,\nth.large-5 center {\n  min-width: 193.66667px; }\n\n.body .columns td.large-5,\n.body .column td.large-5,\n.body .columns th.large-5,\n.body .column th.large-5 {\n  width: 41.66667%; }\n\ntd.large-6,\nth.large-6 {\n  width: 274px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-6.first,\nth.large-6.first {\n  padding-left: 16px; }\n\ntd.large-6.last,\nth.large-6.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-6,\n.collapse > tbody > tr > th.large-6 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 290px; }\n\n.collapse td.large-6.first,\n.collapse th.large-6.first,\n.collapse td.large-6.last,\n.collapse th.large-6.last {\n  width: 298px; }\n\ntd.large-6 center,\nth.large-6 center {\n  min-width: 242px; }\n\n.body .columns td.large-6,\n.body .column td.large-6,\n.body .columns th.large-6,\n.body .column th.large-6 {\n  width: 50%; }\n\ntd.large-7,\nth.large-7 {\n  width: 322.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-7.first,\nth.large-7.first {\n  padding-left: 16px; }\n\ntd.large-7.last,\nth.large-7.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-7,\n.collapse > tbody > tr > th.large-7 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 338.33333px; }\n\n.collapse td.large-7.first,\n.collapse th.large-7.first,\n.collapse td.large-7.last,\n.collapse th.large-7.last {\n  width: 346.33333px; }\n\ntd.large-7 center,\nth.large-7 center {\n  min-width: 290.33333px; }\n\n.body .columns td.large-7,\n.body .column td.large-7,\n.body .columns th.large-7,\n.body .column th.large-7 {\n  width: 58.33333%; }\n\ntd.large-8,\nth.large-8 {\n  width: 370.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-8.first,\nth.large-8.first {\n  padding-left: 16px; }\n\ntd.large-8.last,\nth.large-8.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-8,\n.collapse > tbody > tr > th.large-8 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 386.66667px; }\n\n.collapse td.large-8.first,\n.collapse th.large-8.first,\n.collapse td.large-8.last,\n.collapse th.large-8.last {\n  width: 394.66667px; }\n\ntd.large-8 center,\nth.large-8 center {\n  min-width: 338.66667px; }\n\n.body .columns td.large-8,\n.body .column td.large-8,\n.body .columns th.large-8,\n.body .column th.large-8 {\n  width: 66.66667%; }\n\ntd.large-9,\nth.large-9 {\n  width: 419px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-9.first,\nth.large-9.first {\n  padding-left: 16px; }\n\ntd.large-9.last,\nth.large-9.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-9,\n.collapse > tbody > tr > th.large-9 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 435px; }\n\n.collapse td.large-9.first,\n.collapse th.large-9.first,\n.collapse td.large-9.last,\n.collapse th.large-9.last {\n  width: 443px; }\n\ntd.large-9 center,\nth.large-9 center {\n  min-width: 387px; }\n\n.body .columns td.large-9,\n.body .column td.large-9,\n.body .columns th.large-9,\n.body .column th.large-9 {\n  width: 75%; }\n\ntd.large-10,\nth.large-10 {\n  width: 467.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-10.first,\nth.large-10.first {\n  padding-left: 16px; }\n\ntd.large-10.last,\nth.large-10.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-10,\n.collapse > tbody > tr > th.large-10 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 483.33333px; }\n\n.collapse td.large-10.first,\n.collapse th.large-10.first,\n.collapse td.large-10.last,\n.collapse th.large-10.last {\n  width: 491.33333px; }\n\ntd.large-10 center,\nth.large-10 center {\n  min-width: 435.33333px; }\n\n.body .columns td.large-10,\n.body .column td.large-10,\n.body .columns th.large-10,\n.body .column th.large-10 {\n  width: 83.33333%; }\n\ntd.large-11,\nth.large-11 {\n  width: 515.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-11.first,\nth.large-11.first {\n  padding-left: 16px; }\n\ntd.large-11.last,\nth.large-11.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-11,\n.collapse > tbody > tr > th.large-11 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 531.66667px; }\n\n.collapse td.large-11.first,\n.collapse th.large-11.first,\n.collapse td.large-11.last,\n.collapse th.large-11.last {\n  width: 539.66667px; }\n\ntd.large-11 center,\nth.large-11 center {\n  min-width: 483.66667px; }\n\n.body .columns td.large-11,\n.body .column td.large-11,\n.body .columns th.large-11,\n.body .column th.large-11 {\n  width: 91.66667%; }\n\ntd.large-12,\nth.large-12 {\n  width: 564px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-12.first,\nth.large-12.first {\n  padding-left: 16px; }\n\ntd.large-12.last,\nth.large-12.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-12,\n.collapse > tbody > tr > th.large-12 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 580px; }\n\n.collapse td.large-12.first,\n.collapse th.large-12.first,\n.collapse td.large-12.last,\n.collapse th.large-12.last {\n  width: 588px; }\n\ntd.large-12 center,\nth.large-12 center {\n  min-width: 532px; }\n\n.body .columns td.large-12,\n.body .column td.large-12,\n.body .columns th.large-12,\n.body .column th.large-12 {\n  width: 100%; }\n\ntd.large-offset-1,\ntd.large-offset-1.first,\ntd.large-offset-1.last,\nth.large-offset-1,\nth.large-offset-1.first,\nth.large-offset-1.last {\n  padding-left: 64.33333px; }\n\ntd.large-offset-2,\ntd.large-offset-2.first,\ntd.large-offset-2.last,\nth.large-offset-2,\nth.large-offset-2.first,\nth.large-offset-2.last {\n  padding-left: 112.66667px; }\n\ntd.large-offset-3,\ntd.large-offset-3.first,\ntd.large-offset-3.last,\nth.large-offset-3,\nth.large-offset-3.first,\nth.large-offset-3.last {\n  padding-left: 161px; }\n\ntd.large-offset-4,\ntd.large-offset-4.first,\ntd.large-offset-4.last,\nth.large-offset-4,\nth.large-offset-4.first,\nth.large-offset-4.last {\n  padding-left: 209.33333px; }\n\ntd.large-offset-5,\ntd.large-offset-5.first,\ntd.large-offset-5.last,\nth.large-offset-5,\nth.large-offset-5.first,\nth.large-offset-5.last {\n  padding-left: 257.66667px; }\n\ntd.large-offset-6,\ntd.large-offset-6.first,\ntd.large-offset-6.last,\nth.large-offset-6,\nth.large-offset-6.first,\nth.large-offset-6.last {\n  padding-left: 306px; }\n\ntd.large-offset-7,\ntd.large-offset-7.first,\ntd.large-offset-7.last,\nth.large-offset-7,\nth.large-offset-7.first,\nth.large-offset-7.last {\n  padding-left: 354.33333px; }\n\ntd.large-offset-8,\ntd.large-offset-8.first,\ntd.large-offset-8.last,\nth.large-offset-8,\nth.large-offset-8.first,\nth.large-offset-8.last {\n  padding-left: 402.66667px; }\n\ntd.large-offset-9,\ntd.large-offset-9.first,\ntd.large-offset-9.last,\nth.large-offset-9,\nth.large-offset-9.first,\nth.large-offset-9.last {\n  padding-left: 451px; }\n\ntd.large-offset-10,\ntd.large-offset-10.first,\ntd.large-offset-10.last,\nth.large-offset-10,\nth.large-offset-10.first,\nth.large-offset-10.last {\n  padding-left: 499.33333px; }\n\ntd.large-offset-11,\ntd.large-offset-11.first,\ntd.large-offset-11.last,\nth.large-offset-11,\nth.large-offset-11.first,\nth.large-offset-11.last {\n  padding-left: 547.66667px; }\n\ntd.expander,\nth.expander {\n  visibility: hidden;\n  width: 0;\n  padding: 0 !important; }\n\ntable.container.radius {\n  border-radius: 0;\n  border-collapse: separate; }\n\n.block-grid {\n  width: 100%;\n  max-width: 580px; }\n  .block-grid td {\n    display: inline-block;\n    padding: 8px; }\n\n.up-2 td {\n  width: 274px !important; }\n\n.up-3 td {\n  width: 177px !important; }\n\n.up-4 td {\n  width: 129px !important; }\n\n.up-5 td {\n  width: 100px !important; }\n\n.up-6 td {\n  width: 80px !important; }\n\n.up-7 td {\n  width: 66px !important; }\n\n.up-8 td {\n  width: 56px !important; }\n\ntable.text-center,\nth.text-center,\ntd.text-center,\nh1.text-center,\nh2.text-center,\nh3.text-center,\nh4.text-center,\nh5.text-center,\nh6.text-center,\np.text-center,\nspan.text-center {\n  text-align: center; }\n\ntable.text-left,\nth.text-left,\ntd.text-left,\nh1.text-left,\nh2.text-left,\nh3.text-left,\nh4.text-left,\nh5.text-left,\nh6.text-left,\np.text-left,\nspan.text-left {\n  text-align: left; }\n\ntable.text-right,\nth.text-right,\ntd.text-right,\nh1.text-right,\nh2.text-right,\nh3.text-right,\nh4.text-right,\nh5.text-right,\nh6.text-right,\np.text-right,\nspan.text-right {\n  text-align: right; }\n\nspan.text-center {\n  display: block;\n  width: 100%;\n  text-align: center; }\n\n@media only screen and (max-width: 596px) {\n  .small-float-center {\n    margin: 0 auto !important;\n    float: none !important;\n    text-align: center !important; }\n  .small-text-center {\n    text-align: center !important; }\n  .small-text-left {\n    text-align: left !important; }\n  .small-text-right {\n    text-align: right !important; } }\n\nimg.float-left {\n  float: left;\n  text-align: left; }\n\nimg.float-right {\n  float: right;\n  text-align: right; }\n\nimg.float-center,\nimg.text-center {\n  margin: 0 auto;\n  Margin: 0 auto;\n  float: none;\n  text-align: center; }\n\ntable.float-center,\ntd.float-center,\nth.float-center {\n  margin: 0 auto;\n  Margin: 0 auto;\n  float: none;\n  text-align: center; }\n\n.hide-for-large {\n  display: none !important;\n  mso-hide: all;\n  overflow: hidden;\n  max-height: 0;\n  font-size: 0;\n  width: 0;\n  line-height: 0; }\n  @media only screen and (max-width: 596px) {\n    .hide-for-large {\n      display: block !important;\n      width: auto !important;\n      overflow: visible !important;\n      max-height: none !important;\n      font-size: inherit !important;\n      line-height: inherit !important; } }\n\ntable.body table.container .hide-for-large * {\n  mso-hide: all; }\n\n@media only screen and (max-width: 596px) {\n  table.body table.container .hide-for-large,\n  table.body table.container .row.hide-for-large {\n    display: table !important;\n    width: 100% !important; } }\n\n@media only screen and (max-width: 596px) {\n  table.body table.container .callout-inner.hide-for-large {\n    display: table-cell !important;\n    width: 100% !important; } }\n\n@media only screen and (max-width: 596px) {\n  table.body table.container .show-for-large {\n    display: none !important;\n    width: 0;\n    mso-hide: all;\n    overflow: hidden; } }\n\nbody,\ntable.body,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\ntd,\nth,\na {\n  color: #0a0a0a;\n  font-family: Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  padding: 0;\n  margin: 0;\n  Margin: 0;\n  text-align: left;\n  line-height: 1.3; }\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  color: inherit;\n  word-wrap: normal;\n  font-family: Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  margin-bottom: 10px;\n  Margin-bottom: 10px; }\n\nh1 {\n  font-size: 34px; }\n\nh2 {\n  font-size: 30px; }\n\nh3 {\n  font-size: 28px; }\n\nh4 {\n  font-size: 24px; }\n\nh5 {\n  font-size: 20px; }\n\nh6 {\n  font-size: 18px; }\n\nbody,\ntable.body,\np,\ntd,\nth {\n  font-size: 16px;\n  line-height: 1.3; }\n\np {\n  margin-bottom: 10px;\n  Margin-bottom: 10px; }\n  p.lead {\n    font-size: 20px;\n    line-height: 1.6; }\n  p.subheader {\n    margin-top: 4px;\n    margin-bottom: 8px;\n    Margin-top: 4px;\n    Margin-bottom: 8px;\n    font-weight: normal;\n    line-height: 1.4;\n    color: #8a8a8a; }\n\nsmall {\n  font-size: 80%;\n  color: #cacaca; }\n\na {\n  color: #2199e8;\n  text-decoration: none; }\n  a:hover {\n    color: #147dc2; }\n  a:active {\n    color: #147dc2; }\n  a:visited {\n    color: #2199e8; }\n\nh1 a,\nh1 a:visited,\nh2 a,\nh2 a:visited,\nh3 a,\nh3 a:visited,\nh4 a,\nh4 a:visited,\nh5 a,\nh5 a:visited,\nh6 a,\nh6 a:visited {\n  color: #2199e8; }\n\npre {\n  background: #f3f3f3;\n  margin: 30px 0;\n  Margin: 30px 0; }\n  pre code {\n    color: #cacaca; }\n    pre code span.callout {\n      color: #8a8a8a;\n      font-weight: bold; }\n    pre code span.callout-strong {\n      color: #ff6908;\n      font-weight: bold; }\n\ntable.hr {\n  width: 100%; }\n  table.hr th {\n    height: 0;\n    max-width: 580px;\n    border-top: 0;\n    border-right: 0;\n    border-bottom: 1px solid #0a0a0a;\n    border-left: 0;\n    margin: 20px auto;\n    Margin: 20px auto;\n    clear: both; }\n\n.stat {\n  font-size: 40px;\n  line-height: 1; }\n  p + .stat {\n    margin-top: -16px;\n    Margin-top: -16px; }\n\nspan.preheader {\n  display: none !important;\n  visibility: hidden;\n  mso-hide: all !important;\n  font-size: 1px;\n  color: #f3f3f3;\n  line-height: 1px;\n  max-height: 0px;\n  max-width: 0px;\n  opacity: 0;\n  overflow: hidden; }\n\ntable.button {\n  width: auto;\n  margin: 0 0 16px 0;\n  Margin: 0 0 16px 0; }\n  table.button table td {\n    text-align: left;\n    color: #fefefe;\n    background: #2199e8;\n    border: 2px solid #2199e8; }\n    table.button table td a {\n      font-family: Helvetica, Arial, sans-serif;\n      font-size: 16px;\n      font-weight: bold;\n      color: #fefefe;\n      text-decoration: none;\n      display: inline-block;\n      padding: 8px 16px 8px 16px;\n      border: 0 solid #2199e8;\n      border-radius: 3px; }\n  table.button.radius table td {\n    border-radius: 3px;\n    border: none; }\n  table.button.rounded table td {\n    border-radius: 500px;\n    border: none; }\n\ntable.button:hover table tr td a,\ntable.button:active table tr td a,\ntable.button table tr td a:visited,\ntable.button.tiny:hover table tr td a,\ntable.button.tiny:active table tr td a,\ntable.button.tiny table tr td a:visited,\ntable.button.small:hover table tr td a,\ntable.button.small:active table tr td a,\ntable.button.small table tr td a:visited,\ntable.button.large:hover table tr td a,\ntable.button.large:active table tr td a,\ntable.button.large table tr td a:visited {\n  color: #fefefe; }\n\ntable.button.tiny table td,\ntable.button.tiny table a {\n  padding: 4px 8px 4px 8px; }\n\ntable.button.tiny table a {\n  font-size: 10px;\n  font-weight: normal; }\n\ntable.button.small table td,\ntable.button.small table a {\n  padding: 5px 10px 5px 10px;\n  font-size: 12px; }\n\ntable.button.large table a {\n  padding: 10px 20px 10px 20px;\n  font-size: 20px; }\n\ntable.button.expand,\ntable.button.expanded {\n  width: 100% !important; }\n  table.button.expand table,\n  table.button.expanded table {\n    width: 100%; }\n    table.button.expand table a,\n    table.button.expanded table a {\n      text-align: center;\n      width: 100%;\n      padding-left: 0;\n      padding-right: 0; }\n  table.button.expand center,\n  table.button.expanded center {\n    min-width: 0; }\n\ntable.button:hover table td,\ntable.button:visited table td,\ntable.button:active table td {\n  background: #147dc2;\n  color: #fefefe; }\n\ntable.button:hover table a,\ntable.button:visited table a,\ntable.button:active table a {\n  border: 0 solid #147dc2; }\n\ntable.button.secondary table td {\n  background: #777777;\n  color: #fefefe;\n  border: 0px solid #777777; }\n\ntable.button.secondary table a {\n  color: #fefefe;\n  border: 0 solid #777777; }\n\ntable.button.secondary:hover table td {\n  background: #919191;\n  color: #fefefe; }\n\ntable.button.secondary:hover table a {\n  border: 0 solid #919191; }\n\ntable.button.secondary:hover table td a {\n  color: #fefefe; }\n\ntable.button.secondary:active table td a {\n  color: #fefefe; }\n\ntable.button.secondary table td a:visited {\n  color: #fefefe; }\n\ntable.button.success table td {\n  background: #3adb76;\n  border: 0px solid #3adb76; }\n\ntable.button.success table a {\n  border: 0 solid #3adb76; }\n\ntable.button.success:hover table td {\n  background: #23bf5d; }\n\ntable.button.success:hover table a {\n  border: 0 solid #23bf5d; }\n\ntable.button.alert table td {\n  background: #ec5840;\n  border: 0px solid #ec5840; }\n\ntable.button.alert table a {\n  border: 0 solid #ec5840; }\n\ntable.button.alert:hover table td {\n  background: #e23317; }\n\ntable.button.alert:hover table a {\n  border: 0 solid #e23317; }\n\ntable.button.warning table td {\n  background: #ffae00;\n  border: 0px solid #ffae00; }\n\ntable.button.warning table a {\n  border: 0px solid #ffae00; }\n\ntable.button.warning:hover table td {\n  background: #cc8b00; }\n\ntable.button.warning:hover table a {\n  border: 0px solid #cc8b00; }\n\ntable.callout {\n  margin-bottom: 16px;\n  Margin-bottom: 16px; }\n\nth.callout-inner {\n  width: 100%;\n  border: 1px solid #cbcbcb;\n  padding: 10px;\n  background: #fefefe; }\n  th.callout-inner.primary {\n    background: #def0fc;\n    border: 1px solid #444444;\n    color: #0a0a0a; }\n  th.callout-inner.secondary {\n    background: #ebebeb;\n    border: 1px solid #444444;\n    color: #0a0a0a; }\n  th.callout-inner.success {\n    background: #e1faea;\n    border: 1px solid #1b9448;\n    color: #fefefe; }\n  th.callout-inner.warning {\n    background: #fff3d9;\n    border: 1px solid #996800;\n    color: #fefefe; }\n  th.callout-inner.alert {\n    background: #fce6e2;\n    border: 1px solid #b42912;\n    color: #fefefe; }\n\n.thumbnail {\n  border: solid 4px #fefefe;\n  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n  display: inline-block;\n  line-height: 0;\n  max-width: 100%;\n  transition: box-shadow 200ms ease-out;\n  border-radius: 3px;\n  margin-bottom: 16px; }\n  .thumbnail:hover, .thumbnail:focus {\n    box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }\n\ntable.menu {\n  width: 580px; }\n  table.menu td.menu-item,\n  table.menu th.menu-item {\n    padding: 10px;\n    padding-right: 10px; }\n    table.menu td.menu-item a,\n    table.menu th.menu-item a {\n      color: #2199e8; }\n\ntable.menu.vertical td.menu-item,\ntable.menu.vertical th.menu-item {\n  padding: 10px;\n  padding-right: 0;\n  display: block; }\n  table.menu.vertical td.menu-item a,\n  table.menu.vertical th.menu-item a {\n    width: 100%; }\n\ntable.menu.vertical td.menu-item table.menu.vertical td.menu-item,\ntable.menu.vertical td.menu-item table.menu.vertical th.menu-item,\ntable.menu.vertical th.menu-item table.menu.vertical td.menu-item,\ntable.menu.vertical th.menu-item table.menu.vertical th.menu-item {\n  padding-left: 10px; }\n\ntable.menu.text-center a {\n  text-align: center; }\n\n.menu[align=\"center\"] {\n  width: auto !important; }\n\nbody.outlook p {\n  display: inline !important; }\n\n@media only screen and (max-width: 596px) {\n  table.body img {\n    width: auto;\n    height: auto; }\n  table.body center {\n    min-width: 0 !important; }\n  table.body .container {\n    width: 95% !important; }\n  table.body .columns,\n  table.body .column {\n    height: auto !important;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    padding-left: 16px !important;\n    padding-right: 16px !important; }\n    table.body .columns .column,\n    table.body .columns .columns,\n    table.body .column .column,\n    table.body .column .columns {\n      padding-left: 0 !important;\n      padding-right: 0 !important; }\n  table.body .collapse .columns,\n  table.body .collapse .column {\n    padding-left: 0 !important;\n    padding-right: 0 !important; }\n  td.small-1,\n  th.small-1 {\n    display: inline-block !important;\n    width: 8.33333% !important; }\n  td.small-2,\n  th.small-2 {\n    display: inline-block !important;\n    width: 16.66667% !important; }\n  td.small-3,\n  th.small-3 {\n    display: inline-block !important;\n    width: 25% !important; }\n  td.small-4,\n  th.small-4 {\n    display: inline-block !important;\n    width: 33.33333% !important; }\n  td.small-5,\n  th.small-5 {\n    display: inline-block !important;\n    width: 41.66667% !important; }\n  td.small-6,\n  th.small-6 {\n    display: inline-block !important;\n    width: 50% !important; }\n  td.small-7,\n  th.small-7 {\n    display: inline-block !important;\n    width: 58.33333% !important; }\n  td.small-8,\n  th.small-8 {\n    display: inline-block !important;\n    width: 66.66667% !important; }\n  td.small-9,\n  th.small-9 {\n    display: inline-block !important;\n    width: 75% !important; }\n  td.small-10,\n  th.small-10 {\n    display: inline-block !important;\n    width: 83.33333% !important; }\n  td.small-11,\n  th.small-11 {\n    display: inline-block !important;\n    width: 91.66667% !important; }\n  td.small-12,\n  th.small-12 {\n    display: inline-block !important;\n    width: 100% !important; }\n  .columns td.small-12,\n  .column td.small-12,\n  .columns th.small-12,\n  .column th.small-12 {\n    display: block !important;\n    width: 100% !important; }\n  table.body td.small-offset-1,\n  table.body th.small-offset-1 {\n    margin-left: 8.33333% !important;\n    Margin-left: 8.33333% !important; }\n  table.body td.small-offset-2,\n  table.body th.small-offset-2 {\n    margin-left: 16.66667% !important;\n    Margin-left: 16.66667% !important; }\n  table.body td.small-offset-3,\n  table.body th.small-offset-3 {\n    margin-left: 25% !important;\n    Margin-left: 25% !important; }\n  table.body td.small-offset-4,\n  table.body th.small-offset-4 {\n    margin-left: 33.33333% !important;\n    Margin-left: 33.33333% !important; }\n  table.body td.small-offset-5,\n  table.body th.small-offset-5 {\n    margin-left: 41.66667% !important;\n    Margin-left: 41.66667% !important; }\n  table.body td.small-offset-6,\n  table.body th.small-offset-6 {\n    margin-left: 50% !important;\n    Margin-left: 50% !important; }\n  table.body td.small-offset-7,\n  table.body th.small-offset-7 {\n    margin-left: 58.33333% !important;\n    Margin-left: 58.33333% !important; }\n  table.body td.small-offset-8,\n  table.body th.small-offset-8 {\n    margin-left: 66.66667% !important;\n    Margin-left: 66.66667% !important; }\n  table.body td.small-offset-9,\n  table.body th.small-offset-9 {\n    margin-left: 75% !important;\n    Margin-left: 75% !important; }\n  table.body td.small-offset-10,\n  table.body th.small-offset-10 {\n    margin-left: 83.33333% !important;\n    Margin-left: 83.33333% !important; }\n  table.body td.small-offset-11,\n  table.body th.small-offset-11 {\n    margin-left: 91.66667% !important;\n    Margin-left: 91.66667% !important; }\n  table.body table.columns td.expander,\n  table.body table.columns th.expander {\n    display: none !important; }\n  table.body .right-text-pad,\n  table.body .text-pad-right {\n    padding-left: 10px !important; }\n  table.body .left-text-pad,\n  table.body .text-pad-left {\n    padding-right: 10px !important; }\n  table.menu {\n    width: 100% !important; }\n    table.menu td,\n    table.menu th {\n      width: auto !important;\n      display: inline-block !important; }\n    table.menu.vertical td,\n    table.menu.vertical th, table.menu.small-vertical td,\n    table.menu.small-vertical th {\n      display: block !important; }\n  table.menu[align=\"center\"] {\n    width: auto !important; }\n  table.button.small-expand,\n  table.button.small-expanded {\n    width: 100% !important; }\n    table.button.small-expand table,\n    table.button.small-expanded table {\n      width: 100%; }\n      table.button.small-expand table a,\n      table.button.small-expanded table a {\n        text-align: center !important;\n        width: 100% !important;\n        padding-left: 0 !important;\n        padding-right: 0 !important; }\n    table.button.small-expand center,\n    table.button.small-expanded center {\n      min-width: 0; } }\n"
  },
  {
    "path": "public/vendor/content-builder/assets/frameworks/foundation-emails/css/foundation.css",
    "content": ".wrapper {\n  width: 100%; }\n\n#outlook a {\n  padding: 0; }\n\nbody {\n  width: 100% !important;\n  min-width: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n  margin: 0;\n  Margin: 0;\n  padding: 0;\n  -moz-box-sizing: border-box;\n  -webkit-box-sizing: border-box;\n  box-sizing: border-box; }\n\n.ExternalClass {\n  width: 100%; }\n  .ExternalClass,\n  .ExternalClass p,\n  .ExternalClass span,\n  .ExternalClass font,\n  .ExternalClass td,\n  .ExternalClass div {\n    line-height: 100%; }\n\n#backgroundTable {\n  margin: 0;\n  Margin: 0;\n  padding: 0;\n  width: 100% !important;\n  line-height: 100% !important; }\n\nimg {\n  outline: none;\n  text-decoration: none;\n  -ms-interpolation-mode: bicubic;\n  width: auto;\n  max-width: 100%;\n  clear: both;\n  display: block; }\n\ncenter {\n  width: 100%;\n  min-width: 580px; }\n\na img {\n  border: none; }\n\np {\n  margin: 0 0 0 10px;\n  Margin: 0 0 0 10px; }\n\ntable {\n  border-spacing: 0;\n  border-collapse: collapse; }\n\ntd {\n  word-wrap: break-word;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  hyphens: auto;\n  border-collapse: collapse !important; }\n\ntable, tr, td {\n  padding: 0;\n  vertical-align: top;\n  text-align: left; }\n\n@media only screen {\n  html {\n    min-height: 100%;\n    background: #f3f3f3; } }\n\ntable.body {\n  background: #f3f3f3;\n  height: 100%;\n  width: 100%; }\n\ntable.container {\n  background: #fefefe;\n  width: 580px;\n  margin: 0 auto;\n  Margin: 0 auto;\n  text-align: inherit; }\n\ntable.row {\n  padding: 0;\n  width: 100%;\n  position: relative; }\n\ntable.spacer {\n  width: 100%; }\n  table.spacer td {\n    mso-line-height-rule: exactly; }\n\ntable.container table.row {\n  display: table; }\n\ntd.columns,\ntd.column,\nth.columns,\nth.column {\n  margin: 0 auto;\n  Margin: 0 auto;\n  padding-left: 16px;\n  padding-bottom: 16px; }\n  td.columns .column,\n  td.columns .columns,\n  td.column .column,\n  td.column .columns,\n  th.columns .column,\n  th.columns .columns,\n  th.column .column,\n  th.column .columns {\n    padding-left: 0 !important;\n    padding-right: 0 !important; }\n    td.columns .column center,\n    td.columns .columns center,\n    td.column .column center,\n    td.column .columns center,\n    th.columns .column center,\n    th.columns .columns center,\n    th.column .column center,\n    th.column .columns center {\n      min-width: none !important; }\n\ntd.columns.last,\ntd.column.last,\nth.columns.last,\nth.column.last {\n  padding-right: 16px; }\n\ntd.columns table:not(.button),\ntd.column table:not(.button),\nth.columns table:not(.button),\nth.column table:not(.button) {\n  width: 100%; }\n\ntd.large-1,\nth.large-1 {\n  width: 32.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-1.first,\nth.large-1.first {\n  padding-left: 16px; }\n\ntd.large-1.last,\nth.large-1.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-1,\n.collapse > tbody > tr > th.large-1 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 48.33333px; }\n\n.collapse td.large-1.first,\n.collapse th.large-1.first,\n.collapse td.large-1.last,\n.collapse th.large-1.last {\n  width: 56.33333px; }\n\ntd.large-1 center,\nth.large-1 center {\n  min-width: 0.33333px; }\n\n.body .columns td.large-1,\n.body .column td.large-1,\n.body .columns th.large-1,\n.body .column th.large-1 {\n  width: 8.33333%; }\n\ntd.large-2,\nth.large-2 {\n  width: 80.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-2.first,\nth.large-2.first {\n  padding-left: 16px; }\n\ntd.large-2.last,\nth.large-2.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-2,\n.collapse > tbody > tr > th.large-2 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 96.66667px; }\n\n.collapse td.large-2.first,\n.collapse th.large-2.first,\n.collapse td.large-2.last,\n.collapse th.large-2.last {\n  width: 104.66667px; }\n\ntd.large-2 center,\nth.large-2 center {\n  min-width: 48.66667px; }\n\n.body .columns td.large-2,\n.body .column td.large-2,\n.body .columns th.large-2,\n.body .column th.large-2 {\n  width: 16.66667%; }\n\ntd.large-3,\nth.large-3 {\n  width: 129px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-3.first,\nth.large-3.first {\n  padding-left: 16px; }\n\ntd.large-3.last,\nth.large-3.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-3,\n.collapse > tbody > tr > th.large-3 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 145px; }\n\n.collapse td.large-3.first,\n.collapse th.large-3.first,\n.collapse td.large-3.last,\n.collapse th.large-3.last {\n  width: 153px; }\n\ntd.large-3 center,\nth.large-3 center {\n  min-width: 97px; }\n\n.body .columns td.large-3,\n.body .column td.large-3,\n.body .columns th.large-3,\n.body .column th.large-3 {\n  width: 25%; }\n\ntd.large-4,\nth.large-4 {\n  width: 177.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-4.first,\nth.large-4.first {\n  padding-left: 16px; }\n\ntd.large-4.last,\nth.large-4.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-4,\n.collapse > tbody > tr > th.large-4 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 193.33333px; }\n\n.collapse td.large-4.first,\n.collapse th.large-4.first,\n.collapse td.large-4.last,\n.collapse th.large-4.last {\n  width: 201.33333px; }\n\ntd.large-4 center,\nth.large-4 center {\n  min-width: 145.33333px; }\n\n.body .columns td.large-4,\n.body .column td.large-4,\n.body .columns th.large-4,\n.body .column th.large-4 {\n  width: 33.33333%; }\n\ntd.large-5,\nth.large-5 {\n  width: 225.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-5.first,\nth.large-5.first {\n  padding-left: 16px; }\n\ntd.large-5.last,\nth.large-5.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-5,\n.collapse > tbody > tr > th.large-5 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 241.66667px; }\n\n.collapse td.large-5.first,\n.collapse th.large-5.first,\n.collapse td.large-5.last,\n.collapse th.large-5.last {\n  width: 249.66667px; }\n\ntd.large-5 center,\nth.large-5 center {\n  min-width: 193.66667px; }\n\n.body .columns td.large-5,\n.body .column td.large-5,\n.body .columns th.large-5,\n.body .column th.large-5 {\n  width: 41.66667%; }\n\ntd.large-6,\nth.large-6 {\n  width: 274px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-6.first,\nth.large-6.first {\n  padding-left: 16px; }\n\ntd.large-6.last,\nth.large-6.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-6,\n.collapse > tbody > tr > th.large-6 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 290px; }\n\n.collapse td.large-6.first,\n.collapse th.large-6.first,\n.collapse td.large-6.last,\n.collapse th.large-6.last {\n  width: 298px; }\n\ntd.large-6 center,\nth.large-6 center {\n  min-width: 242px; }\n\n.body .columns td.large-6,\n.body .column td.large-6,\n.body .columns th.large-6,\n.body .column th.large-6 {\n  width: 50%; }\n\ntd.large-7,\nth.large-7 {\n  width: 322.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-7.first,\nth.large-7.first {\n  padding-left: 16px; }\n\ntd.large-7.last,\nth.large-7.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-7,\n.collapse > tbody > tr > th.large-7 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 338.33333px; }\n\n.collapse td.large-7.first,\n.collapse th.large-7.first,\n.collapse td.large-7.last,\n.collapse th.large-7.last {\n  width: 346.33333px; }\n\ntd.large-7 center,\nth.large-7 center {\n  min-width: 290.33333px; }\n\n.body .columns td.large-7,\n.body .column td.large-7,\n.body .columns th.large-7,\n.body .column th.large-7 {\n  width: 58.33333%; }\n\ntd.large-8,\nth.large-8 {\n  width: 370.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-8.first,\nth.large-8.first {\n  padding-left: 16px; }\n\ntd.large-8.last,\nth.large-8.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-8,\n.collapse > tbody > tr > th.large-8 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 386.66667px; }\n\n.collapse td.large-8.first,\n.collapse th.large-8.first,\n.collapse td.large-8.last,\n.collapse th.large-8.last {\n  width: 394.66667px; }\n\ntd.large-8 center,\nth.large-8 center {\n  min-width: 338.66667px; }\n\n.body .columns td.large-8,\n.body .column td.large-8,\n.body .columns th.large-8,\n.body .column th.large-8 {\n  width: 66.66667%; }\n\ntd.large-9,\nth.large-9 {\n  width: 419px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-9.first,\nth.large-9.first {\n  padding-left: 16px; }\n\ntd.large-9.last,\nth.large-9.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-9,\n.collapse > tbody > tr > th.large-9 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 435px; }\n\n.collapse td.large-9.first,\n.collapse th.large-9.first,\n.collapse td.large-9.last,\n.collapse th.large-9.last {\n  width: 443px; }\n\ntd.large-9 center,\nth.large-9 center {\n  min-width: 387px; }\n\n.body .columns td.large-9,\n.body .column td.large-9,\n.body .columns th.large-9,\n.body .column th.large-9 {\n  width: 75%; }\n\ntd.large-10,\nth.large-10 {\n  width: 467.33333px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-10.first,\nth.large-10.first {\n  padding-left: 16px; }\n\ntd.large-10.last,\nth.large-10.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-10,\n.collapse > tbody > tr > th.large-10 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 483.33333px; }\n\n.collapse td.large-10.first,\n.collapse th.large-10.first,\n.collapse td.large-10.last,\n.collapse th.large-10.last {\n  width: 491.33333px; }\n\ntd.large-10 center,\nth.large-10 center {\n  min-width: 435.33333px; }\n\n.body .columns td.large-10,\n.body .column td.large-10,\n.body .columns th.large-10,\n.body .column th.large-10 {\n  width: 83.33333%; }\n\ntd.large-11,\nth.large-11 {\n  width: 515.66667px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-11.first,\nth.large-11.first {\n  padding-left: 16px; }\n\ntd.large-11.last,\nth.large-11.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-11,\n.collapse > tbody > tr > th.large-11 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 531.66667px; }\n\n.collapse td.large-11.first,\n.collapse th.large-11.first,\n.collapse td.large-11.last,\n.collapse th.large-11.last {\n  width: 539.66667px; }\n\ntd.large-11 center,\nth.large-11 center {\n  min-width: 483.66667px; }\n\n.body .columns td.large-11,\n.body .column td.large-11,\n.body .columns th.large-11,\n.body .column th.large-11 {\n  width: 91.66667%; }\n\ntd.large-12,\nth.large-12 {\n  width: 564px;\n  padding-left: 8px;\n  padding-right: 8px; }\n\ntd.large-12.first,\nth.large-12.first {\n  padding-left: 16px; }\n\ntd.large-12.last,\nth.large-12.last {\n  padding-right: 16px; }\n\n.collapse > tbody > tr > td.large-12,\n.collapse > tbody > tr > th.large-12 {\n  padding-right: 0;\n  padding-left: 0;\n  width: 580px; }\n\n.collapse td.large-12.first,\n.collapse th.large-12.first,\n.collapse td.large-12.last,\n.collapse th.large-12.last {\n  width: 588px; }\n\ntd.large-12 center,\nth.large-12 center {\n  min-width: 532px; }\n\n.body .columns td.large-12,\n.body .column td.large-12,\n.body .columns th.large-12,\n.body .column th.large-12 {\n  width: 100%; }\n\ntd.large-offset-1,\ntd.large-offset-1.first,\ntd.large-offset-1.last,\nth.large-offset-1,\nth.large-offset-1.first,\nth.large-offset-1.last {\n  padding-left: 64.33333px; }\n\ntd.large-offset-2,\ntd.large-offset-2.first,\ntd.large-offset-2.last,\nth.large-offset-2,\nth.large-offset-2.first,\nth.large-offset-2.last {\n  padding-left: 112.66667px; }\n\ntd.large-offset-3,\ntd.large-offset-3.first,\ntd.large-offset-3.last,\nth.large-offset-3,\nth.large-offset-3.first,\nth.large-offset-3.last {\n  padding-left: 161px; }\n\ntd.large-offset-4,\ntd.large-offset-4.first,\ntd.large-offset-4.last,\nth.large-offset-4,\nth.large-offset-4.first,\nth.large-offset-4.last {\n  padding-left: 209.33333px; }\n\ntd.large-offset-5,\ntd.large-offset-5.first,\ntd.large-offset-5.last,\nth.large-offset-5,\nth.large-offset-5.first,\nth.large-offset-5.last {\n  padding-left: 257.66667px; }\n\ntd.large-offset-6,\ntd.large-offset-6.first,\ntd.large-offset-6.last,\nth.large-offset-6,\nth.large-offset-6.first,\nth.large-offset-6.last {\n  padding-left: 306px; }\n\ntd.large-offset-7,\ntd.large-offset-7.first,\ntd.large-offset-7.last,\nth.large-offset-7,\nth.large-offset-7.first,\nth.large-offset-7.last {\n  padding-left: 354.33333px; }\n\ntd.large-offset-8,\ntd.large-offset-8.first,\ntd.large-offset-8.last,\nth.large-offset-8,\nth.large-offset-8.first,\nth.large-offset-8.last {\n  padding-left: 402.66667px; }\n\ntd.large-offset-9,\ntd.large-offset-9.first,\ntd.large-offset-9.last,\nth.large-offset-9,\nth.large-offset-9.first,\nth.large-offset-9.last {\n  padding-left: 451px; }\n\ntd.large-offset-10,\ntd.large-offset-10.first,\ntd.large-offset-10.last,\nth.large-offset-10,\nth.large-offset-10.first,\nth.large-offset-10.last {\n  padding-left: 499.33333px; }\n\ntd.large-offset-11,\ntd.large-offset-11.first,\ntd.large-offset-11.last,\nth.large-offset-11,\nth.large-offset-11.first,\nth.large-offset-11.last {\n  padding-left: 547.66667px; }\n\ntd.expander,\nth.expander {\n  visibility: hidden;\n  width: 0;\n  padding: 0 !important; }\n\ntable.container.radius {\n  border-radius: 0;\n  border-collapse: separate; }\n\n.block-grid {\n  width: 100%;\n  max-width: 580px; }\n  .block-grid td {\n    display: inline-block;\n    padding: 8px; }\n\n.up-2 td {\n  width: 274px !important; }\n\n.up-3 td {\n  width: 177px !important; }\n\n.up-4 td {\n  width: 129px !important; }\n\n.up-5 td {\n  width: 100px !important; }\n\n.up-6 td {\n  width: 80px !important; }\n\n.up-7 td {\n  width: 66px !important; }\n\n.up-8 td {\n  width: 56px !important; }\n\ntable.text-center,\nth.text-center,\ntd.text-center,\nh1.text-center,\nh2.text-center,\nh3.text-center,\nh4.text-center,\nh5.text-center,\nh6.text-center,\np.text-center,\nspan.text-center {\n  text-align: center; }\n\ntable.text-left,\nth.text-left,\ntd.text-left,\nh1.text-left,\nh2.text-left,\nh3.text-left,\nh4.text-left,\nh5.text-left,\nh6.text-left,\np.text-left,\nspan.text-left {\n  text-align: left; }\n\ntable.text-right,\nth.text-right,\ntd.text-right,\nh1.text-right,\nh2.text-right,\nh3.text-right,\nh4.text-right,\nh5.text-right,\nh6.text-right,\np.text-right,\nspan.text-right {\n  text-align: right; }\n\nspan.text-center {\n  display: block;\n  width: 100%;\n  text-align: center; }\n\n@media only screen and (max-width: 596px) {\n  .small-float-center {\n    margin: 0 auto !important;\n    float: none !important;\n    text-align: center !important; }\n  .small-text-center {\n    text-align: center !important; }\n  .small-text-left {\n    text-align: left !important; }\n  .small-text-right {\n    text-align: right !important; } }\n\nimg.float-left {\n  float: left;\n  text-align: left; }\n\nimg.float-right {\n  float: right;\n  text-align: right; }\n\nimg.float-center,\nimg.text-center {\n  margin: 0 auto;\n  Margin: 0 auto;\n  float: none;\n  text-align: center; }\n\ntable.float-center,\ntd.float-center,\nth.float-center {\n  margin: 0 auto;\n  Margin: 0 auto;\n  float: none;\n  text-align: center; }\n\n.hide-for-large {\n  display: none !important;\n  mso-hide: all;\n  overflow: hidden;\n  max-height: 0;\n  font-size: 0;\n  width: 0;\n  line-height: 0; }\n  @media only screen and (max-width: 596px) {\n    .hide-for-large {\n      display: block !important;\n      width: auto !important;\n      overflow: visible !important;\n      max-height: none !important;\n      font-size: inherit !important;\n      line-height: inherit !important; } }\n\ntable.body table.container .hide-for-large * {\n  mso-hide: all; }\n\n@media only screen and (max-width: 596px) {\n  table.body table.container .hide-for-large,\n  table.body table.container .row.hide-for-large {\n    display: table !important;\n    width: 100% !important; } }\n\n@media only screen and (max-width: 596px) {\n  table.body table.container .callout-inner.hide-for-large {\n    display: table-cell !important;\n    width: 100% !important; } }\n\n@media only screen and (max-width: 596px) {\n  table.body table.container .show-for-large {\n    display: none !important;\n    width: 0;\n    mso-hide: all;\n    overflow: hidden; } }\n\nbody,\ntable.body,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\ntd,\nth,\na {\n  color: #0a0a0a;\n  font-family: Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  padding: 0;\n  margin: 0;\n  Margin: 0;\n  text-align: left;\n  line-height: 1.3; }\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  color: inherit;\n  word-wrap: normal;\n  font-family: Helvetica, Arial, sans-serif;\n  font-weight: normal;\n  margin-bottom: 10px;\n  Margin-bottom: 10px; }\n\nh1 {\n  font-size: 34px; }\n\nh2 {\n  font-size: 30px; }\n\nh3 {\n  font-size: 28px; }\n\nh4 {\n  font-size: 24px; }\n\nh5 {\n  font-size: 20px; }\n\nh6 {\n  font-size: 18px; }\n\nbody,\ntable.body,\np,\ntd,\nth {\n  font-size: 16px;\n  line-height: 1.3; }\n\np {\n  margin-bottom: 10px;\n  Margin-bottom: 10px; }\n  p.lead {\n    font-size: 20px;\n    line-height: 1.6; }\n  p.subheader {\n    margin-top: 4px;\n    margin-bottom: 8px;\n    Margin-top: 4px;\n    Margin-bottom: 8px;\n    font-weight: normal;\n    line-height: 1.4;\n    color: #8a8a8a; }\n\nsmall {\n  font-size: 80%;\n  color: #cacaca; }\n\na {\n  color: #2199e8;\n  text-decoration: none; }\n  a:hover {\n    color: #147dc2; }\n  a:active {\n    color: #147dc2; }\n  a:visited {\n    color: #2199e8; }\n\nh1 a,\nh1 a:visited,\nh2 a,\nh2 a:visited,\nh3 a,\nh3 a:visited,\nh4 a,\nh4 a:visited,\nh5 a,\nh5 a:visited,\nh6 a,\nh6 a:visited {\n  color: #2199e8; }\n\npre {\n  background: #f3f3f3;\n  margin: 30px 0;\n  Margin: 30px 0; }\n  pre code {\n    color: #cacaca; }\n    pre code span.callout {\n      color: #8a8a8a;\n      font-weight: bold; }\n    pre code span.callout-strong {\n      color: #ff6908;\n      font-weight: bold; }\n\ntable.hr {\n  width: 100%; }\n  table.hr th {\n    height: 0;\n    max-width: 580px;\n    border-top: 0;\n    border-right: 0;\n    border-bottom: 1px solid #0a0a0a;\n    border-left: 0;\n    margin: 20px auto;\n    Margin: 20px auto;\n    clear: both; }\n\n.stat {\n  font-size: 40px;\n  line-height: 1; }\n  p + .stat {\n    margin-top: -16px;\n    Margin-top: -16px; }\n\nspan.preheader {\n  display: none !important;\n  visibility: hidden;\n  mso-hide: all !important;\n  font-size: 1px;\n  color: #f3f3f3;\n  line-height: 1px;\n  max-height: 0px;\n  max-width: 0px;\n  opacity: 0;\n  overflow: hidden; }\n\ntable.button {\n  width: auto;\n  margin: 0 0 16px 0;\n  Margin: 0 0 16px 0; }\n  table.button table td {\n    text-align: left;\n    color: #fefefe;\n    background: #2199e8;\n    border: 2px solid #2199e8; }\n    table.button table td a {\n      font-family: Helvetica, Arial, sans-serif;\n      font-size: 16px;\n      font-weight: bold;\n      color: #fefefe;\n      text-decoration: none;\n      display: inline-block;\n      padding: 8px 16px 8px 16px;\n      border: 0 solid #2199e8;\n      border-radius: 3px; }\n  table.button.radius table td {\n    border-radius: 3px;\n    border: none; }\n  table.button.rounded table td {\n    border-radius: 500px;\n    border: none; }\n\ntable.button:hover table tr td a,\ntable.button:active table tr td a,\ntable.button table tr td a:visited,\ntable.button.tiny:hover table tr td a,\ntable.button.tiny:active table tr td a,\ntable.button.tiny table tr td a:visited,\ntable.button.small:hover table tr td a,\ntable.button.small:active table tr td a,\ntable.button.small table tr td a:visited,\ntable.button.large:hover table tr td a,\ntable.button.large:active table tr td a,\ntable.button.large table tr td a:visited {\n  color: #fefefe; }\n\ntable.button.tiny table td,\ntable.button.tiny table a {\n  padding: 4px 8px 4px 8px; }\n\ntable.button.tiny table a {\n  font-size: 10px;\n  font-weight: normal; }\n\ntable.button.small table td,\ntable.button.small table a {\n  padding: 5px 10px 5px 10px;\n  font-size: 12px; }\n\ntable.button.large table a {\n  padding: 10px 20px 10px 20px;\n  font-size: 20px; }\n\ntable.button.expand,\ntable.button.expanded {\n  width: 100% !important; }\n  table.button.expand table,\n  table.button.expanded table {\n    width: 100%; }\n    table.button.expand table a,\n    table.button.expanded table a {\n      text-align: center;\n      width: 100%;\n      padding-left: 0;\n      padding-right: 0; }\n  table.button.expand center,\n  table.button.expanded center {\n    min-width: 0; }\n\ntable.button:hover table td,\ntable.button:visited table td,\ntable.button:active table td {\n  background: #147dc2;\n  color: #fefefe; }\n\ntable.button:hover table a,\ntable.button:visited table a,\ntable.button:active table a {\n  border: 0 solid #147dc2; }\n\ntable.button.secondary table td {\n  background: #777777;\n  color: #fefefe;\n  border: 0px solid #777777; }\n\ntable.button.secondary table a {\n  color: #fefefe;\n  border: 0 solid #777777; }\n\ntable.button.secondary:hover table td {\n  background: #919191;\n  color: #fefefe; }\n\ntable.button.secondary:hover table a {\n  border: 0 solid #919191; }\n\ntable.button.secondary:hover table td a {\n  color: #fefefe; }\n\ntable.button.secondary:active table td a {\n  color: #fefefe; }\n\ntable.button.secondary table td a:visited {\n  color: #fefefe; }\n\ntable.button.success table td {\n  background: #3adb76;\n  border: 0px solid #3adb76; }\n\ntable.button.success table a {\n  border: 0 solid #3adb76; }\n\ntable.button.success:hover table td {\n  background: #23bf5d; }\n\ntable.button.success:hover table a {\n  border: 0 solid #23bf5d; }\n\ntable.button.alert table td {\n  background: #ec5840;\n  border: 0px solid #ec5840; }\n\ntable.button.alert table a {\n  border: 0 solid #ec5840; }\n\ntable.button.alert:hover table td {\n  background: #e23317; }\n\ntable.button.alert:hover table a {\n  border: 0 solid #e23317; }\n\ntable.button.warning table td {\n  background: #ffae00;\n  border: 0px solid #ffae00; }\n\ntable.button.warning table a {\n  border: 0px solid #ffae00; }\n\ntable.button.warning:hover table td {\n  background: #cc8b00; }\n\ntable.button.warning:hover table a {\n  border: 0px solid #cc8b00; }\n\ntable.callout {\n  margin-bottom: 16px;\n  Margin-bottom: 16px; }\n\nth.callout-inner {\n  width: 100%;\n  border: 1px solid #cbcbcb;\n  padding: 10px;\n  background: #fefefe; }\n  th.callout-inner.primary {\n    background: #def0fc;\n    border: 1px solid #444444;\n    color: #0a0a0a; }\n  th.callout-inner.secondary {\n    background: #ebebeb;\n    border: 1px solid #444444;\n    color: #0a0a0a; }\n  th.callout-inner.success {\n    background: #e1faea;\n    border: 1px solid #1b9448;\n    color: #fefefe; }\n  th.callout-inner.warning {\n    background: #fff3d9;\n    border: 1px solid #996800;\n    color: #fefefe; }\n  th.callout-inner.alert {\n    background: #fce6e2;\n    border: 1px solid #b42912;\n    color: #fefefe; }\n\n.thumbnail {\n  border: solid 4px #fefefe;\n  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);\n  display: inline-block;\n  line-height: 0;\n  max-width: 100%;\n  transition: box-shadow 200ms ease-out;\n  border-radius: 3px;\n  margin-bottom: 16px; }\n  .thumbnail:hover, .thumbnail:focus {\n    box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }\n\ntable.menu {\n  width: 580px; }\n  table.menu td.menu-item,\n  table.menu th.menu-item {\n    padding: 10px;\n    padding-right: 10px; }\n    table.menu td.menu-item a,\n    table.menu th.menu-item a {\n      color: #2199e8; }\n\ntable.menu.vertical td.menu-item,\ntable.menu.vertical th.menu-item {\n  padding: 10px;\n  padding-right: 0;\n  display: block; }\n  table.menu.vertical td.menu-item a,\n  table.menu.vertical th.menu-item a {\n    width: 100%; }\n\ntable.menu.vertical td.menu-item table.menu.vertical td.menu-item,\ntable.menu.vertical td.menu-item table.menu.vertical th.menu-item,\ntable.menu.vertical th.menu-item table.menu.vertical td.menu-item,\ntable.menu.vertical th.menu-item table.menu.vertical th.menu-item {\n  padding-left: 10px; }\n\ntable.menu.text-center a {\n  text-align: center; }\n\n.menu[align=\"center\"] {\n  width: auto !important; }\n\nbody.outlook p {\n  display: inline !important; }\n\n@media only screen and (max-width: 596px) {\n  table.body img {\n    width: auto;\n    height: auto; }\n  table.body center {\n    min-width: 0 !important; }\n  table.body .container {\n    width: 95% !important; }\n  table.body .columns,\n  table.body .column {\n    height: auto !important;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    padding-left: 16px !important;\n    padding-right: 16px !important; }\n    table.body .columns .column,\n    table.body .columns .columns,\n    table.body .column .column,\n    table.body .column .columns {\n      padding-left: 0 !important;\n      padding-right: 0 !important; }\n  table.body .collapse .columns,\n  table.body .collapse .column {\n    padding-left: 0 !important;\n    padding-right: 0 !important; }\n  td.small-1,\n  th.small-1 {\n    display: inline-block !important;\n    width: 8.33333% !important; }\n  td.small-2,\n  th.small-2 {\n    display: inline-block !important;\n    width: 16.66667% !important; }\n  td.small-3,\n  th.small-3 {\n    display: inline-block !important;\n    width: 25% !important; }\n  td.small-4,\n  th.small-4 {\n    display: inline-block !important;\n    width: 33.33333% !important; }\n  td.small-5,\n  th.small-5 {\n    display: inline-block !important;\n    width: 41.66667% !important; }\n  td.small-6,\n  th.small-6 {\n    display: inline-block !important;\n    width: 50% !important; }\n  td.small-7,\n  th.small-7 {\n    display: inline-block !important;\n    width: 58.33333% !important; }\n  td.small-8,\n  th.small-8 {\n    display: inline-block !important;\n    width: 66.66667% !important; }\n  td.small-9,\n  th.small-9 {\n    display: inline-block !important;\n    width: 75% !important; }\n  td.small-10,\n  th.small-10 {\n    display: inline-block !important;\n    width: 83.33333% !important; }\n  td.small-11,\n  th.small-11 {\n    display: inline-block !important;\n    width: 91.66667% !important; }\n  td.small-12,\n  th.small-12 {\n    display: inline-block !important;\n    width: 100% !important; }\n  .columns td.small-12,\n  .column td.small-12,\n  .columns th.small-12,\n  .column th.small-12 {\n    display: block !important;\n    width: 100% !important; }\n  table.body td.small-offset-1,\n  table.body th.small-offset-1 {\n    margin-left: 8.33333% !important;\n    Margin-left: 8.33333% !important; }\n  table.body td.small-offset-2,\n  table.body th.small-offset-2 {\n    margin-left: 16.66667% !important;\n    Margin-left: 16.66667% !important; }\n  table.body td.small-offset-3,\n  table.body th.small-offset-3 {\n    margin-left: 25% !important;\n    Margin-left: 25% !important; }\n  table.body td.small-offset-4,\n  table.body th.small-offset-4 {\n    margin-left: 33.33333% !important;\n    Margin-left: 33.33333% !important; }\n  table.body td.small-offset-5,\n  table.body th.small-offset-5 {\n    margin-left: 41.66667% !important;\n    Margin-left: 41.66667% !important; }\n  table.body td.small-offset-6,\n  table.body th.small-offset-6 {\n    margin-left: 50% !important;\n    Margin-left: 50% !important; }\n  table.body td.small-offset-7,\n  table.body th.small-offset-7 {\n    margin-left: 58.33333% !important;\n    Margin-left: 58.33333% !important; }\n  table.body td.small-offset-8,\n  table.body th.small-offset-8 {\n    margin-left: 66.66667% !important;\n    Margin-left: 66.66667% !important; }\n  table.body td.small-offset-9,\n  table.body th.small-offset-9 {\n    margin-left: 75% !important;\n    Margin-left: 75% !important; }\n  table.body td.small-offset-10,\n  table.body th.small-offset-10 {\n    margin-left: 83.33333% !important;\n    Margin-left: 83.33333% !important; }\n  table.body td.small-offset-11,\n  table.body th.small-offset-11 {\n    margin-left: 91.66667% !important;\n    Margin-left: 91.66667% !important; }\n  table.body table.columns td.expander,\n  table.body table.columns th.expander {\n    display: none !important; }\n  table.body .right-text-pad,\n  table.body .text-pad-right {\n    padding-left: 10px !important; }\n  table.body .left-text-pad,\n  table.body .text-pad-left {\n    padding-right: 10px !important; }\n  table.menu {\n    width: 100% !important; }\n    table.menu td,\n    table.menu th {\n      width: auto !important;\n      display: inline-block !important; }\n    table.menu.vertical td,\n    table.menu.vertical th, table.menu.small-vertical td,\n    table.menu.small-vertical th {\n      display: block !important; }\n  table.menu[align=\"center\"] {\n    width: auto !important; }\n  table.button.small-expand,\n  table.button.small-expanded {\n    width: 100% !important; }\n    table.button.small-expand table,\n    table.button.small-expanded table {\n      width: 100%; }\n      table.button.small-expand table a,\n      table.button.small-expanded table a {\n        text-align: center !important;\n        width: 100% !important;\n        padding-left: 0 !important;\n        padding-right: 0 !important; }\n    table.button.small-expand center,\n    table.button.small-expanded center {\n      min-width: 0; } }\n"
  },
  {
    "path": "public/vendor/content-builder/assets/frameworks/foundation-emails/index.html",
    "content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n  <meta name=\"viewport\" content=\"width=device-width\" />\n  <title>Title</title>\n  <link rel=\"stylesheet\" href=\"css/foundation-emails.css\" />\n</head>\n\n<body>\n  <!-- <style> -->\n  <table class=\"body\" data-made-with-foundation>\n    <tr>\n      <td class=\"float-center\" align=\"center\" valign=\"top\">\n        <center>\n          \n        </center>\n      </td>\n    </tr>\n  </table>\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/LICENSE.txt",
    "content": "Font license info\n\n\n## Modern Pictograms\n\n   Copyright (c) 2012 by John Caserta. All rights reserved.\n\n   Author:    John Caserta\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://thedesignoffice.org/project/modern-pictograms/\n\n\n## Entypo\n\n   Copyright (C) 2012 by Daniel Bruce\n\n   Author:    Daniel Bruce\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://www.entypo.com\n\n\n## Elusive\n\n   Copyright (C) 2013 by Aristeides Stathopoulos\n\n   Author:    Aristeides Stathopoulos\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://aristeides.com/\n\n\n## Font Awesome\n\n   Copyright (C) 2012 by Dave Gandy\n\n   Author:    Dave Gandy\n   License:   SIL ()\n   Homepage:  http://fortawesome.github.com/Font-Awesome/\n\n\n## Typicons\n\n   (c) Stephen Hutchings 2012\n\n   Author:    Stephen Hutchings\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://typicons.com/\n\n\n## Web Symbols\n\n   Copyright (c) 2011 by Just Be Nice studio. All rights reserved.\n\n   Author:    Just Be Nice studio\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://www.justbenicestudio.com/\n\n\n"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/README.txt",
    "content": "This webfont is generated by http://fontello.com open source project.\n\n\n================================================================================\nPlease, note, that you should obey original font licences, used to make this\nwebfont pack. Details available in LICENSE.txt file.\n\n- Usually, it's enough to publish content of LICENSE.txt file somewhere on your\n  site in \"About\" section.\n\n- If your project is open-source, usually, it will be ok to make LICENSE.txt\n  file publically available in your repository.\n\n- Fonts, used in Fontello, don't require to make clickable links on your site.\n  But any kind of additional authors crediting is welcome.\n================================================================================\n\n\nComments on archive content\n---------------------------\n\n- /font/* - fonts in different formats\n\n- /css/*  - different kinds of css, for all situations. Should be ok with \n  twitter bootstrap. Also, you can skip <i> style and assign icon classes\n  directly to text elements, if you don't mind about IE7.\n\n- demo.html - demo file, to show your webfont content\n\n- LICENSE.txt - license info about source fonts, used to build your one.\n\n- config.json - keeps your settings. You can import it back to fontello anytime,\n  to continue your work\n\n\nWhy so many CSS files ?\n-----------------------\n\nBecause we like to fit all your needs :)\n\n- basic file, <your_font_name>.css - is usually enougth, in contains @font-face\n  and character codes definition\n\n- *-ie7.css - if you need IE7 support, but still don't wish to put char codes\n  directly into html\n\n- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face\n  rules, but still wish to benefit of css generation. That can be very\n  convenient for automated assets build systems. When you need to update font -\n  no needs to manually edit files, just override old version with archive\n  content. See fontello source codes for example.\n\n- *-embedded.css - basic css file, but with embedded WOFF font, to avoid\n  CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.\n  We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`\n  server headers. But if you ok with dirty hack - this file is for you. Note,\n  that data url moved to separate @font-face to avoid problems with <IE9, when\n  string is too long.\n\n- animate.css - use it to get ideas about spinner rotation animation.\n\n\nAttention for server setup\n--------------------------\n\nYou MUST setup server to reply with proper `mime-types` for font files. In other\ncase, some browsers will fail to show fonts.\n\nUsually, `apache` already has necessary settings, but `nginx` and other\nwebservers should be tuned. Here is list of mime types for our file extentions:\n\n- `application/vnd.ms-fontobject` - eot\n- `application/x-font-woff` - woff\n- `application/x-font-ttf` - ttf\n- `image/svg+xml` - svg\n"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/config.json",
    "content": "{\n  \"name\": \"\",\n  \"css_prefix_text\": \"icon-\",\n  \"css_use_suffix\": false,\n  \"hinting\": true,\n  \"units_per_em\": 1000,\n  \"ascent\": 850,\n  \"glyphs\": [\n    {\n      \"uid\": \"bf882b30900da12fca090d9796bc3030\",\n      \"css\": \"mail\",\n      \"code\": 59402,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"4b2321afcbe0505a70b80abd5c25e09b\",\n      \"css\": \"paper-plane\",\n      \"code\": 59412,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"199c44bca402ec5a6351f75ba5228375\",\n      \"css\": \"dribbble\",\n      \"code\": 59399,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"8e04c98c8f5ca0a035776e3001ad2638\",\n      \"css\": \"facebook\",\n      \"code\": 59396,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"e7cb72a17f3b21e3576f35c3f0a7639b\",\n      \"css\": \"github\",\n      \"code\": 59398,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"b8d0c7d76e87b94882329a88e8e43d3d\",\n      \"css\": \"googleplus\",\n      \"code\": 59397,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"4c1ef492f1d2c39a2250ae457cee2a6e\",\n      \"css\": \"instagram\",\n      \"code\": 59401,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"e9107949dd6c9e8ab2b29ae07156e38c\",\n      \"css\": \"linkedin\",\n      \"code\": 59400,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"43fcf807461234935e65261328e1dff6\",\n      \"css\": \"tumblr\",\n      \"code\": 59403,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"627abcdb627cb1789e009c08e2678ef9\",\n      \"css\": \"twitter\",\n      \"code\": 59395,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"513ac180ff85bd275f2b736720cbbf5e\",\n      \"css\": \"home\",\n      \"code\": 59410,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"815503841e980c848f55e0271deacead\",\n      \"css\": \"web\",\n      \"code\": 59405,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"44b9e75612c5fad5505edd70d071651f\",\n      \"css\": \"attach\",\n      \"code\": 59417,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"25fc99a30fecc4021fdcae5fff5ba9ac\",\n      \"css\": \"eye\",\n      \"code\": 59415,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"b08cfe8039de2ce815686aced2caef06\",\n      \"css\": \"download\",\n      \"code\": 59408,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"c3e5dafba1739ef33cc574c7484febf7\",\n      \"css\": \"quote\",\n      \"code\": 59393,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"c77fd2fd065b5fe16d6f2b41e190b266\",\n      \"css\": \"pencil\",\n      \"code\": 59416,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"a42b598e4298f3319b25a2702a02e7ff\",\n      \"css\": \"location\",\n      \"code\": 59411,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"5854855e963044f93b15738a5bb27a29\",\n      \"css\": \"phone\",\n      \"code\": 59409,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"91426c82d94428a33353e495418435e3\",\n      \"css\": \"share\",\n      \"code\": 59413,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"178c8af85364e12fe70b959c7c055bc6\",\n      \"css\": \"pinterest\",\n      \"code\": 59404,\n      \"src\": \"typicons\"\n    },\n    {\n      \"uid\": \"3315691c918224dc4893f2e368a4e0c8\",\n      \"css\": \"vimeo\",\n      \"code\": 59407,\n      \"src\": \"typicons\"\n    },\n    {\n      \"uid\": \"in76hg99crrkpcbz2rjnmgbiw74s72y0\",\n      \"css\": \"ok\",\n      \"code\": 59392,\n      \"src\": \"modernpics\"\n    },\n    {\n      \"uid\": \"616b755d0f4c7d2dc7a1dcc2e5427039\",\n      \"css\": \"down-open\",\n      \"code\": 59394,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"2d3ce9463ed5525c6faa01f84c957843\",\n      \"css\": \"youtube\",\n      \"code\": 59406,\n      \"src\": \"websymbols\"\n    }\n  ]\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/css/animation.css",
    "content": "/*\n   Animation example, for spinners\n*/\n.animate-spin {\n  -moz-animation: spin 2s infinite linear;\n  -o-animation: spin 2s infinite linear;\n  -webkit-animation: spin 2s infinite linear;\n  animation: spin 2s infinite linear;\n  display: inline-block;\n}\n@-moz-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@-webkit-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@-o-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@-ms-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/css/fontello-codes.css",
    "content": "\n.icon-ok:before { content: '\\e800'; } /* '' */\n.icon-quote:before { content: '\\e801'; } /* '' */\n.icon-down-open:before { content: '\\e802'; } /* '' */\n.icon-twitter:before { content: '\\e803'; } /* '' */\n.icon-facebook:before { content: '\\e804'; } /* '' */\n.icon-googleplus:before { content: '\\e805'; } /* '' */\n.icon-github:before { content: '\\e806'; } /* '' */\n.icon-dribbble:before { content: '\\e807'; } /* '' */\n.icon-linkedin:before { content: '\\e808'; } /* '' */\n.icon-instagram:before { content: '\\e809'; } /* '' */\n.icon-mail:before { content: '\\e80a'; } /* '' */\n.icon-tumblr:before { content: '\\e80b'; } /* '' */\n.icon-pinterest:before { content: '\\e80c'; } /* '' */\n.icon-web:before { content: '\\e80d'; } /* '' */\n.icon-youtube:before { content: '\\e80e'; } /* '' */\n.icon-vimeo:before { content: '\\e80f'; } /* '' */\n.icon-download:before { content: '\\e810'; } /* '' */\n.icon-phone:before { content: '\\e811'; } /* '' */\n.icon-home:before { content: '\\e812'; } /* '' */\n.icon-location:before { content: '\\e813'; } /* '' */\n.icon-paper-plane:before { content: '\\e814'; } /* '' */\n.icon-share:before { content: '\\e815'; } /* '' */\n.icon-eye:before { content: '\\e817'; } /* '' */\n.icon-pencil:before { content: '\\e818'; } /* '' */\n.icon-attach:before { content: '\\e819'; } /* '' */"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/css/fontello-embedded.css",
    "content": "@font-face {\n  font-family: 'fontello';\n  src: url('../font/fontello-17333735.eot');\n  src: url('../font/fontello-17333735.eot#iefix') format('embedded-opentype'),\n       url('../font/fontello-17333735.svg#fontello') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'fontello';\n  src: url('data:application/octet-stream;base64,d09GRgABAAAAABhcAA4AAAAAI/gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPihJB2NtYXAAAAGIAAAAPQAAAVLoPenlY3Z0IAAAAcgAAAAKAAAACgAAAABmcGdtAAAB1AAABZQAAAtwiJCQWWdhc3AAAAdoAAAACAAAAAgAAAAQZ2x5ZgAAB3AAAA1UAAAQYG8ex7loZWFkAAAUxAAAADUAAAA2A6bOn2hoZWEAABT8AAAAIAAAACQHowNTaG10eAAAFRwAAAA8AAAAaFY/AABsb2NhAAAVWAAAADYAAAA2OE40Bm1heHAAABWQAAAAIAAAACAAxQwfbmFtZQAAFbAAAAF3AAACzcydGhxwb3N0AAAXKAAAAMwAAAETjdoafHByZXAAABf0AAAAZQAAAHvdawOFeJxjYGQOZJzAwMrAwVTFtIeBgaEHQjM+YDBkZGJgYGJgZWbACgLSXFMYHF4wvJBkDvqfxRDFnMAwDSjMCJIDAN5GC614nGNgYGBmgGAZBkYGEPAB8hjBfBYGAyDNAYRMIIkXoi8k//8HsxheiINYEowSDFBdYMDIxjDiAQAUDAjwAAAAAAAAAAAAAAAAAAAAeJytVmlzE0cQndVhyzY+gg8SNoFZxnKMdlaYywgQxuxKFuAc8pXsQo5dS3bui0/8Bv2aXpFUkW/8tLweHdhgJ1VUKEr9pvftTPfrnl6T0JLEXliPpNx8Kaa2Nmlk50lIN2xajuJD2dkLKVNM/i6Igmi11L7tOCQiEoGqdYUlgtj3yNIk40OPMlq2Jb1qUm7pSXfZGg/qrfr209BRjt0JJTWboUPrkS2pwqgSRTLtkZI2LcPVX0la4ecrzHzVDCWC6CSSxpthDI/kZ+OMVhmtxnYcRZFNlhtFikQzPIgij7JaYp9cMUFA+aAZUl75NKJ8hB+RFXuU0wpxyXaa3/clP+kdzr8k4nqLsiUH/kB2ZAd7pyv5ItLaCuOmnWxHoYrwdH0nxCObk+qf7FFe02jgdkWmJ80IlspXkFj5CWX2D8lq4XzKlzwa1ZKDnAhaL3NiX/IOtB5HTIlrJsiC7o5OiKDul5yh2GP6uPjjvV0sFyEEyDiW9Y5KuBBGKWGzmiRtBDmIkrJFldR6R0yc8jot4i1hv07t6EtntEmoOzGerYeOrZyo5Hg0qdNMpk7tpObRlAZRSjoTPObXAZQf0SSvtrGaxMqjaWwzYySRUKCFc2kqiGUnljQF0Tya0Zu7YZpr16JFmjxQzz16T29uhZs7PaftwD9r/Gd1KqaDvTCdng7ISnyadrlJ0bp+eoZ/JvFD1gIqkS02w5TFQ7Z+B+XlY0uOwmsDbPee8yvoffZEyKSB+BvwHi/VKQVMhZhVUAvdtNa1LMvUalaLVGTquyFNK1/WaQJNOQ59Y1/GOP6vmRlLTAnf78Tp2RGXnrn2Jcg0h9xmXY/mdWqxXYDObM/pNMv2fZ3m2H6g0zzb8zodYWvrdJTthzotsP1Ip2NsL2hBk+47BHIRgVzABhKBsHUQCNtLCIStQiBsFxEI2yICYbuEQNh+jEDYLiMQtpe1rJp+KmkcOxPLAEWIA6M57shlbipXU8mlEq6LRqc25Clyq6SieFb9KwP94pE3rIG1QLpE1vyKSa58VJXjj65oedPEuQKOVX97c1yfEw9lv1j4U/C/2pqqpFeseWRyFXkj0JPjRNcmFY+u6fK5qkfX/4uKDmuBfgOlEAtFWZYNvpmQ8FGn01ANXOUQMxszD9f1umXNz+H8mxghC+h+/DcUGgvcg05ZSVntYK/V149lubcH5bAnWJJivszrW+GLjMxK+0VmKXs+8nnAFTAqlWGrDVyt4M17EvOQ6U3yTBC3FWWDpI3HmSCxgWMeMG++kyAkTF21gdopnLCBvGDMKdjvhENUb5TlcHuhfR6NlH9rV+zIGRVNEPht9kbY67NQ8lusgYQnv9TXQFUhTcW4qYBLI+WGavBhXK3bRjJOoK+o2A3LsooPH0fcd0qOZSD5SBGrR0c/rb1CndS5/coobt87/QiCQWli/va+meKglHe1kmVWbQNTtxqVU9eaw8WrDt3No+57x9knctY03XRP3PS+plW3g4O5WRDt2xyUpUwuqOvDDhuoy82l0OplXJLedg8wLDCg36EVG/9X93H4PFeqCqPjSL2dqB+jz2IM8g84f0f1BejnMUy5hpTne5cTn27cw9kyXcVdrJ/i38CsteZm6RpwQ9MNmIesWh26yg18pwY6PdLcjvQQ8LHuCvEAYBPAYvCJ7lrG8ymA8XzGHB/gc+YwaDKHwRZzGGwzZw1ghzkMdpnDYI85DL5gzjrAl8xhEDKHQcQcBk+YEwA8ZQ6Dr5jD4GvmMPiGOfcBvmUOg5g5DBLmMNjXdGsoc4sXdBeobVAV6MD0Exb3sDjUVBmyv+OFYX9vELN/MIipP2q6PaT+xAtD/dkgpv5iEFN/1XRnSP2NF4b6u0FM/cMgpj7TL8ZymcFfRr5LhQPKLjaf8/fE+wfCGkC2AAEAAf//AA94nG1Xf2wb53m+97vjHUWejr+Ox9OJOp2O5JGmSJo6Ho+UJdG0LMmSLCsKoymyp9mKqtqebHiu4zi243mJkzhp6nmZ6myZIRit0WSOkw1bnKYGNrSBE2SZ4wXDsGZb13VF+0/bZYZReFgQSKe9RyUdik2g7sf3697vfd/ned6PAopav08fIh9QHoq94QHId7eQSgzoQ2s/d9544j34FplYuwaNM+/C31L4R9wLLZJrVIRKU95vt4scRfLdETMmcSzHJspmxU4bCd2w7K7/p2152TAmp17U9KMjdjxY6J+ZgR//nyZybfnC1WtJ78jhmf7k7JnZX3+jKGja8DNylWK/sDlUaYEYpC/BPMxfcvhLRLjkfBP2uY/N8ev/TT9P3qU24/h8B46vSCWzUoD0xm0ApFgBrIoKMaNs2RUzZldYzv2PigKd1tsi8tmFvrlwJCDLWxtGLpVr237rdzxL45P2QFnss6xUOTtz8tojfzxOdsGITbOtC4MkStom57MPLXqi4s6D0Mtr9SQr2enY2IvnF+tNN7p2/SWJ0Q1KRLvCHrQrUi6hASUzFk3obAeUuEQoESpfPP5II/9wUf+WdPF12P3K6YPHuK9nMkuvOLNwDddh3HXoZ3GdzdQ4tY86RLXWfb/9pd98cMjqFhncLG7JdndrVViMQhpfa9AHXEIFd3+iSsdETgAOu4yKqJKKWSNpq8C6MRPoiNtv4gplq0DSOgYU0MhStBRNRBPlsLlp7OVwEHiFf+goZBLdJ7b+fNfYpqySMeJJ09KhPbMyO/5kZ/SgUR9Jav2mBl6v5NPZDHjD6pZaQe3zKZoVj+YCqqj3J+RcQIFrJ/oef7xvb2FCKfhkXRbj9OGH8jNqKtmTmCxl6hktmc7oxZGcWRiqQ9HSt6X7tTAIqpUQFEkWFFYh4BVVm/iVLdWiQsJBrVcbH80SKdzlvN1/6lT/6dPoNxb9tkTfQr91UyWqnxqmHqQeo0J14cDDO0e21/vKPXmjlc13x6xKGfOiUnZdaMfMmFmJspwUFVn0WlRUPTExoRdIRSyZZSuhR5p3I62DVQMV2AJE7HLISpfYaEiMNSPsPpeiutGN00vuajifHoBSOaGndWO/kchYsDRpF+ztotzSGJYkxTALWYl8aAzVksfmp+dm+eFBXRuGodxglhS25gRCztC0ZTO/R+/zat7NRb0905sw40EG/BzN03NdtFQcCNCte/OTB0FRjnKsHBtZbPWIsZAk+ESp2Hld0Po39/ZV4fDOiUQOgO0qglk3obj2UlsPTJcjkZJzvacNzixlVTE2vETujEWOSLK6JZd8jzQh6W3m4Rztp3iqg0qiT21qkNpDPUJF6+FHfmu6Ue+1rG5DV9uDLbQXQYv+MVUQiF6AiijFavRWqEHFSLOJiok3ASIuPo10ghMYLlLsg40xmJYRqRNfKrZkqsTsBCONI2LYi7OP37r7zkn28J2ffHSwt5iPNyaHolHiI3zoz29zr13fPrJraenA02PDsQpAi9oYHRefBxirp4cymoc78EL3KcFPE3pTNGNomhT2sORB8PDJ3KDQI9Wm/Y/B3sfeO378vV+4l8eGz/b0zJoZjgNC2hPW1vzjc8nnnR3THedfBJrPmpPd5Om9jwcMVWdb5pxfqDEfSzOEMISl4alF4ARdN77+7FPZJye6mpSG/rtD7ybrlI8SqCzl+057gPezhHZdZaOn2G7QjUioFCrZA5BGANboiilFkSIs9AkiMxraMleFLQUoVP03vwxwE/yy0a/vO/6dQjFRaGXJNzbZdsO2136DbFr7p39/4ZX2qbCiBeHsE867kOkbNDpCcedD1xZmfR1juQdjGaBSVIGquZzS25PLyGGeQU7BhLYrXabEhRAFXTryhlTqMjHPE4gLAZBmEDCJmCiZNTB0NiVKfWCi1ZbBoaXReoH8bn4Q6oW1p/OD82KATAviTv/o6bEjK/4Hru6/uEgO/v4ijErBhaDUvHSSs/k6DObWzrm37YKIH1lKGDtOjLx8yEjUhxcWXlhYeCYkSaG5gAxSsOnP5h5+hrwfoDZRY+jPkRKaT9Mb5qO96LtfM78SQidyAnH9vBmzykiXRUwrlamUTPS1y5sDgB1suktnrRRtp5D7V28n7VGepW3OB+HoS7vjyf52otRChdk/ioYbh48zWliTeeQiFani+GHVIjTNsKu3OZ+f7HMXWPtmygI76fX5vPCGGDo2LscVRTDGj4XEG3u3Tc/RcUHkwSfxKpmblhuaIHg8hOY/148+jFEc9SO6oR81UtngZgSUi56oG4wCKYdy5mh3y+kPPwxI8dS2enWm3Ld7UIY3TgUHHh78l/M/nNjUGso+1y529Pb3Q7659vvkGPkl1YtrCxSuDRhtsSkgrpNQHRCJZZcPpZjIBoDFr6FGuIkYFV3lD4CAUHWHwM6nXoULR5KDvMKKdY4OBPsClqFqIPhD3pxRbyzOHTjb6aMJoVEdWva9SX555dDX3krGDoljU5xvacSJ50ojYHSG7WRv0l7e/8DCuTk71crT/gATJumvHnnr89pk/SNaQ5vjyObeb/fpAoe1ScrGQgTtw/rD5ZeYJLrGYwMmZwUkEZ+QdrE4wWFbwbbSBXBHu/uzJTCETFDTstXLR6uXRi7ZwWBSNxuXFGtcgU+q1SvjEzVTiGcFc/RKPC7X42Ywg6g27eXjgqAnM9Wjl6uXhsJW0F2k2FhWJkyF7K9erl4ZNYWMKhRHV+LjsuJTTHe4abPuPvxNXbqCuiRQCvKoRe2iDqAyPUNdoJapFaq9Ll9+6Q8vfu25p04+euTL+3b05VIJVQ4zlB+DFEqUcTvlUCkqmpUyFjC47zTGQAUOgyNAB4gmXULhCgDKN2Z5KVaCpvyzGu4c/YBJXrG1GBZDEldOuK4TiFsjoW4hknFFqWKmXaHD3lCpjGFPo3BFWX0AEk05o91XJKkUfsAycQK6t4xFDZ2up1L5uh79M3PahOoua1tYDNrfHaswPOMdJe29YwUP+QOWGSp9yXl0wRzysCwz0rMAFxfMEZrdUQYAmvgiPrJgDOew1tj1PbMtallS++bPSqVQu5VU1ZWBG/1biJbPfy8s+H18lPzU+ZtEugqee1H5P8euZnPF9NV0FnJ3XvcJxMe/rsCpV3i1Nf4X1/ix119be79n3uwHRNeW0vzC/z5eiLT6Gd7LAM/7i/VEJpP4SjIH/Re2xo44r4kxeu2dSOjW93MatJim869/HY+3y89G/Vd81Oe1KvmE3KASiKMuxsURSzgWuYWkDZZLN72NHLOBVtvAshNfyfeVf9tTfkBqXfC11P0dXcbSpooSDND+ZFTboVVrvu7GvkXC/onz6YDSk4/BNB9U/an0pobXvy21EM6//FxtKl3LzUgR9/Prn66/TX9CexEXCcRFlxpgXVyo4EI00dXkuq1YbJZQSrsqdh9qS9qTwgiG6A/CYTbOJKXVv5eSTNyXvbJw/U0vk4Fcxsu8eX2h6Kw6q69+931fLnxZVBTxclE+fM575Ij33Mf37wO1TjXrXOTht+hecheVhL0h+lwf2JuhAMinrnq7Wk4oBo1o2oEOceummAR/dzXnVSUhK+pJOSRzkWjxsPOPzo+KsSgTFoBAXM5WrbCaA90dmBy1ZJW0hj1YzTg/dD4+UpREjxzh1bAu6ookqLmmLauosc8jRyhoi+x1bZFQV0OoJy54Qq5yuZcKIB/QJ4M+aZoIwTt3bsWFackXhBeDuSBMBSXntiDwYDu3RRFpIgjLweCvOAju414FKoa+jgTYjfORJJIAFBhEYsS0XSCJ0mcHl8/Uaz59ZtBePlidmjo6OUnuLv+Dc3dmmi888+SrgweXnTNu69EpjKGDnPAf9G6qjerEdTvVIIPrhlw7JY52j1l6OtW8ulhNGZVYC3giRKS/IaaYi3TA62M55wev+kKcx887n4qP/hX8xPkviDwBouQnMt8urf5psMVDn3ybJ0yYXz3MdU7AojP0FfLTL84qK7RGa3jqY28obh6ncE+sq/N2OcU2T3d4bklZboPbg5Z4kGo9NnmhNovnNuKsZk18qtkGMAQbZmuW4XxGCLDJD2bO4isbZFY07FBXmCBTm8U2bcWre1fUjdqoeeY7gWelDiqHWp5JtkV9FO3qkkrjMQYraKtG/8q5FQmp3rXPNUsAuD93/ehMJjNz9PrNLx7m5s6du3nu3Jx3S5YZnKvXC4I3SE6Y41O1eH9j3DTHG/3x2tS46YTPvnkWfx97eZ+Qq9X21ArFL2L9zzRP7iFjt2FM2iJ+V28wdzuAA66CwHar2QIk0gFwEU4+0tRV50d3TdBXbWePTEypwAtSOB7G+uCaVg8GV50fW/dAW+XXqnLOlBQiTwXDsuzmrbN+nL5Jz1M96H/O1eOYG2oM/wZTI5LTht3MBmBjUsV9RJLBFzzQbbTe3z80yszAvam9uRFemXKMzLymsjmYkC3FeSsn87wswQ9Mrd+2nfAgs3h+HO65XcHGhdGRd/biRIUfyc27E32avJiFScWScaLiJYw78URQQF9NnF9g6nBXLrgT/wcSeU+8eJxjYGRgYABipY3sqvH8Nl8ZuJlfAEUYLgQ+nAGhV0b8//E/i/kNcwKQy8HABBIFAE9kDQ8AAAB4nGNgZGBgDvqfxRDF/IKB4f8z5i8MQBEUIAUAkDgF/HicY37BwMCczcDA9AtIg9gLgGxrCA3mRyLhFxA5pkIgWwHKvwlVB+K3MDAwfkHig2geIF7NwAAAV6YPhwAAAAAAGABaAHIAvgDiAX4CJgLGAwwDbgPeBAwEZgTKBbAF8gYyBngGqAbUBxQHVAeeB9QIMAAAAAEAAAAaAJ0ACwAAAAAAAgAAABAAcwAAACwLcAAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxtzltWgzAUheFs7lC1auutc+igEjhCFiEnhhNZnb24fPUfwLe3ytRfnfq/i1LIkKNAiQo1GrTocMAd7vGAIx7xhGeccMYLXvGGd3zgkvFcfiUWagfe/JUD+Vo2K0Kx+dQ9Gea5G5lHR8GltRqtTMk0Q7TGGEeNs36mwfrW+lX0GPVSLNq6StJiXGyD9btEq+QbmfrGSZKh8tsuxM3voGM9lGFiT8XEy85xr8WyPwQdKF6D057KddKRcrpRtb/rd1yL6H5S6gfuLkXLeJxj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxlYnTYyMGhBaA4UeicDAwMnMouZwWWjCmNHYMQGh46IjcwpLhvVQLxdHA0MjCwOHckhESAlkUCwkYFHawfj/9YNLL0bmRhcAAfTIrgAAAA=') format('woff'),\n       url('data:application/octet-stream;base64,AAEAAAAOAIAAAwBgT1MvMj4oSQcAAADsAAAAVmNtYXDoPenlAAABRAAAAVJjdnQgAAAAAAAAGAAAAAAKZnBnbYiQkFkAABgMAAALcGdhc3AAAAAQAAAX+AAAAAhnbHlmbx7HuQAAApgAABBgaGVhZAOmzp8AABL4AAAANmhoZWEHowNTAAATMAAAACRobXR4Vj8AAAAAE1QAAABobG9jYThONAYAABO8AAAANm1heHAAxQwfAAAT9AAAACBuYW1lzJ0aHAAAFBQAAALNcG9zdI3aGnwAABbkAAABE3ByZXDdawOFAAAjfAAAAHsAAQNRAZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoGQNS/2oAWgNgAJYAAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEwAAwABAAAAHAAEADAAAAAIAAgAAgAAAADoFegZ//8AAAAA6ADoF///AAAYARgAAAEAAAAAAAAAAAAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAD/9ANrAsgABQAGswUBAS0rCQI3FwEDa/3p/qx7xAGkAkz9qAFSfMMByQAAAAACAAAAAAMUAqgAEwAnAAi1GxQHAAItKxMyFxYHBgcGIzUyNzYnJiMiJjQ2ITIXFgcGBwYjNTI3NicmIyImNDaSkiYmTlCQICJwRjYcEC48VlYB4JImJk5QkCAicEY2HBAuPFZWAqiSjKKoJAhGbFY8JFh8WJKMoqgkCEZsVjwkWHxYAAABAAAAAAPoAqIABgAGswUBAS0rETcJARcBJ5QBYAFglP4MlAIOlP6hAV+U/gyUAAABAAD/9wOIAsMALwAGsy0dAS0rNxYzMjcuAScWMzI3LgE9ARYXLgE0Nx4BFyY1NDY3Mhc2NwYHNjcGBxUUDgMnIhkTGH5iO1wSEw8YGD9SJiwlLBlDwm8FakpONj01FDs0NCU1KlZ4qGGXSgJNAUY2AwYNYkICFQIZTmAqU2QFFRRLaAE5DCBAJAYWNicXSZCGZEACAAAAAAEAAP+xAhcDUgAUAAazEgUBLSsTNTM1NDYzMhcVIyIGHQEzByMRIxE1jnRhUi1XMCKkFo6rAVmlemhyB5MoKGql/lgBqAAAAAQAAP+xA4UDUgAvAEoAXwBrAA1ACmljW1FENCsUBC0rNzQ2NzY3LgEnNDcGIyImJzQ2Nz4BOwEHIx4BFRQOAxQeAxcUBw4BByImJyY3FB4CNzI+Aic0LgYnJiMiDgMTFB4DFzI2NzY1NC4CJyIGBwYBNTM1MxUzFSMVIzUSMilJmBIQAQwaDFNwASgjK3Y/6U1JKSoaKCYcJDI0IgEbKJxYSoAfFWgmQEYkIDwyIAEICBYKIgYoAQgSHjo+Lh47ChogNBwVLA8eFCI8IxgsDxoBqHY7d3c7Xi5MGi4KGCIYFBwDbFMtVh4lJDEjTjMoQCggJCcoIjBGLDIuREABMDQiQSc8IBIBDh40Iw4aFhgOGgYaAgEIFB42AgsaOjgwGgISECA5IEpIKgIWEiH+tjx5eTx6egAAAAYAAP9qA8IDUgArADMAPABFAFEAdQARQA5nV0tGQ0A7NTEtJg0GLSsXNDc1JjU0NzUuASc0NhcyFzI3FQYHFhUUBgcOARUUHgUXFCMiLgI3FDMyNTQjIhMUMzI1NCYnIgE0PgEeAQYuARM2NRE0JzMGFREUFxM1MzU0JzMGFTMVIiYrARUUMzI3FQYjIi4DPQEzNSMiJyImZiYjKDQBak42LjZDFBgJUkUWFhomMi4qFgLLJkQ+JHJgVFxYDEVCIiBFAUQsQioCLj8sDgICfAMDNDYEfwNfCCAILzAiGyg5IzIcEAQBCwcDDANcIQMWMD0PAw1eLU5oARoacAcGGBdGZA0FFBcRFg4KFBYwH6oOIDwvOTs4AWxLTCMsAQEGITABMkAyATD9lRkxAVQ1ExMz/qoxGQF8aioeFBdFagLMSRNuFhgeOiwkxAIBAAAAAAgAAP+xA1wDCwAMAB0AJAAzADYAQgBaAGEAFUASYV1UUkA5NDQrJiIeGxAJAwgtKxE0PgEyHgEOAiIuATcUFhc+Az8BPgE3JicGIzcyNyYnDgETFjMyNyYnIwcOBAcTMDsBFhc+Az8BJiMiExYfARYXNzYWMh4CMh8BJicHDgQXFhc+ATcmdMLuwHgGbMzizmg5MC0cUk5EFRUCCgIMEa7KB6mqQ0ZNampng0lFFzcBAQkeUkhKFIgBAUlAJ0QoIAUHZ4oreQ4LAwIDKRUoJiAgFhIFBgJRAQUMJCxCDjEWPlQLdQFedcR0dMTqxHR0xHVFfjExWDIoBwcBAgIbIzQ/LXdcJIj+R1QdhpABAwwqMk4rAoNedw8mHiIGCVz+6h4XCgYDBAICBAIGAwGBZAEHDiIiJpOFgSqATCEAAAAAAwAA/8wDWQL/AAoADgAqAAq3Gw8MCwYCAy0rETQ2Mh4BBisBIiYTETMRMzY9ASczFSM+AzcyFhURIxE0JiMiBgcGFRE6XDgBOi4BLjgLuGUBAbgBCxgmPCJfdLcuMCMuDQYCoCk2NlI2Nv1VAin919+KpRtQEhogEAF+e/7DASg7QiYdERz+ywAAAAAE////sQNaAwsADwAlAC4APgANQAo5MSwoGBIMBAQtKzURNDY3ITIWBxEUBgchIiY3FBYzITI2NREjFhUUDgEjIiY1NDcjFxQWMj4BJiIGJRQWOwEyNj0BNCYHIyIGFUAuAn0tQgFALv2DLUJgFA8CVA4USwtIeklunAtPomaOZAJojWQBSBYQYhAWFhBiEBYfAn4tQAFCLP2CLUABQkMOFBQOAWojJkd2RphrJiNARWJiimJihBEWFhFcDxgBFhAAAAAAA////7ED6ALDAA8AKQBJAAq3RjMYEgwDAy0rNRE0NjMhMhYVERQGByEiJjcUFjMhMjY3EQYHBgcOAisBIiYvASYnJic1FBcWFx4ENzMyPgM3Njc+AT0BLwEmBichIgY0JQM2JTQ0JfzKJDZIDAYDNgcKARIVlVkcJDwbAho+ES5YlhUSUmx0BCASIBgMAgsaHhQeBXRsHjQCAwMEBvzKBwoLAl8lNDQl/aElNAE2JAgKCggBrBQRckoYHBoaDiZKchEUs15BVFwDHA4UDAEKFgweAlxUGFIgDg4FBQIDDAABAAD/sQI7AwsAHAAGsxUFAS0rEzU+AjczFTMVIxUUFhcWMzI3FQ4BIyIuAjURLDJIKwl6y8sPFhwlQUA4VjU7WUIYAax5ED1XQtmG3EwpDREqhxsUHTk8PAEtAAEAAP/GAnIC8gA5AAazDgABLSsBMhYHFAYjIiYnBgcGBwYnJj8BJjU0NhcyFhcUBg8BBhYzMjY1NCYjIgYVFBcWBwYPAQ4BJiMmNTQ2AUuBpgGMbiRCDBoGFEAHAw8QOw80Jh4gAQ4LEQgsJkBSZFxnfh8KAwICAwEICAlfsgLynmuLtCQXaxRJUAcKakb+HCwzRgEmHxI2JDkkNpJmT2KCXDYlDQwDCw8EEgIniW60AAAAAAIAAP/OAyAC8gAcADwACLU7Ig4HAi0rJTYyFxYPAQYiJjQ/AT4BFxYUBwYnJg8BBhQWMjcBFhQPAQYjIicmNDYyFxY/ATY0Jy4BDwEGIicmPwE2FgEmDigQICAqOJpwOJRGlDYQECQiMlKUGjRKGgHsODieSkw+Mg4cKg4ySJ4cHBhAHDIQKA4iIjI2knQODiIkKDhwmjiURBI0ECgQICAwUpIaTDIaAmY4mjieSDIOKB4OMEicHEoYGgoaMg4OIiQyNgYAAAAACwAA/2oDngNSAA4AGgAkADQATQBnAHUAhACMAJIAnAAbQBialZGOi4eBeHNuZV9HOywlIx4YEgQACy0rAREjNQYjIjURMxUUMjc1BxUUBiImJzU0Nh4BBzU0Jg4BHQEUMgMzBw4BDwEVIzUmLwEzFzMBFAcOAQcGICcuAScmNDc+ATc2IBceARcWBzUjFxYPAQ4CLgE9ATM1NCYiBgcVFBY3Mic1NCMiBzUjETM1FjMyJzM1IxUGIj0BIxUUMzI3AzM1IxUzETMlFSM1NDIHFRQjIic1NjMyAydAJSUtQCIVrTJUMgE4TTRBEhQQNr5JNwQMBAhIAhs5SS4FAo8GBEQzY/5zYjJEBQYGBEYxYgGOYjJGAwZHNQEBAQMCChMKAmImRSwBKCNNvzIZFTQ0Fhsv+jMzERs0JB4enD2zPDoCIC0tvxIOCwoMFQLj/scjJzgBBfAVGO1JoiosMCeiJyoBLMyrCg4CCgyrGgF5pQweDRywqAxJq6n9xjFgMjwBBQUCOjNgYmAyPAEFBQI6M2CMEw0LBAwIBAEMDAswQCMoKCNxJCwBPIw/F27+qRQXA/3AExHC1SwgAQkyMv7bvBwcGxiFFQueCgAAAAEAAAAAAuwCswAjAAazIQQBLSsBBgIHBiYnJgInJgYHJzc+ATc2FxYXFhcWMzI3NiYHNjc2FxYC1RrdWjVPFg1iCglACx0hJmopNxoQDwMLJBUgRyA4PgorUl9kAgaZ/vg9GjEtFwFUDBAeCyUnKVIIC0ElYhItmIc+UCc+LFYWEwAAAAL/+P+2A+wDCAAcACMACLUhHg8GAi0rJR4BDwEOASMhIiYvASY/ATMHMzIfASE3NjsBJzMnBSUzETMRA8gSEgYcBCQW/NAWJAQcCiqeYqqyCAQoASwoCASyqmIw/vz+/Ka+xgosEpoUGhoUmjAYbIIIbm4Igtb09AEA/wAAAAAAAf///7QDOQLuACUABrMUCgEtKwE2LwEuATY3PgIyHwEWHwEWAgAELwEmLwEmPwE+ATc+AR4BFxYBzaIsCB4WDioUIiQYERgHExUwbP7U/t4wFxUEEg4BAgEcGCo4NBIeLAEioiwIHiRINBgeAg0SBRQWMP7c/tZuMBYUBRgTDB4SIhQiGhYOHiwAAAAB//z/zAOIAvIAGgAGsxgIAS0rARYGKwERFA4BKwERIxEjIiY1ESMiJjcBNjIXA3gQChZUAg4QzMzCHA5UFgoQAZAQLBABUBAW/soODgwBNv7KFBQBNhYQAZIQEAAAAAACAAD/zgH0Au4ADgAXAAi1Ew8GAAItKxMyFhQCDwEuBDU0NhMyNjQmIgYUFvpoknxAPgoiVkI2kmg4UFBwTk4C7pLS/u5WVAwuhICmQmiS/nxQcE5OcFAAAv/+/2oD6wNZABkAHwAItR8eEAQCLSsRJjcBNhYHAwYHBiMiJyUHBiMiJy4BPQElJjcXCQEFEwIUA6AUJQSOAw8ICgYH/tqmChEHBQsM/vgUc7sB4v71ARN7ARQWCwIYDBsW/KcQCQUDeLYMAgQSDPxsBx9MAWT+RHEC4wAAAAABAAD/nAMgAyAAJwAGsxoEAS0rJTIWFAYiJjU0NjUlBiMiJjQ2MzIXJTQmNTQ2MhYUBiMiJwUWFAcFNgKKPlhYfFgC/vwqMj5YWD42JgEEAlh8WFg+NCb++gICAQYkyFZ+WFg+BhAEnCBYfFgenAQQBD5YVn5YIJwIIgicHgAAAAMAAAAAA+gCdgAUAB0ALAAKtygkGRUKAAMtKwEyHgMUDgMiLgM0PgMTMjY0JiIGFBY3Fj4BFxQGIiY0NjMyDgEB9FyqcFYoKFZwqriqcFYoKFZwqlxcgoK4goJcCDoqBEJcQEAuDggQAnYySlA+HDxSSjIySlI8HD5QSjL+En6yfn6yftYIDAoOLD4+Wj4uMAAAAAACAAD/2AMMAvAACwAZAAi1GRMLBwItKwEeAR0BBwEHNwE3NgE3JicuASMnDwEWFxYXAs4gHvz+3u4yASL8Nv5aGAIyFi4MDhYSHBIYDAKoIEAQEPz+4DTwASD8DP04GCwyFhoCGFAQEhgYAAAB//7/dAO4A2AAMQAGswcAAS0rFyInLgE3ATYXHgEXFgcBDgEnJjY3ATYWBwEGFxY3NjcBNiYnJgcBBh4CNwE2FgcBBvRmREgEVgHwUF4sRgwaUP4mKGAgHgYsAUwYNBr+tCwYDAwYFgHaMiA8Njb+EkIEZIZKAfAYNBr+EFKMSEbAXgHwUBoMRixgUP4mKAogGGQqAU4aNBj+tCwaCAIEFgHaMnYQDjL+EkyGYgRAAe4YLhr+EFIAAQAAAAEAACKxByVfDzz1AAsD6AAAAADQUeGYAAAAANBRqVj/+P9qA+wDYAAAAAgAAgAAAAAAAAABAAADUv9qAFoD6AAA/+YD9AABAAAAAAAAAAAAAAAAAAAAGgPoAAADawAAAvoAAAPoAAADoAAAAjsAAAOgAAAD6AAAA1kAAANZAAADWQAAA+gAAAI7AAACcQAAAyAAAAPoAAAC2QAAA+gAAAMgAAADhAAAAfQAAAPoAAADIAAAA+gAAAMMAAADqwAAAAAAAAAYAFoAcgC+AOIBfgImAsYDDANuA94EDARmBMoFsAXyBjIGeAaoBtQHFAdUB54H1AgwAAAAAQAAABoAnQALAAAAAAACAAAAEABzAAAALAtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAgANQABAAAAAAACAAcAPQABAAAAAAADAAgARAABAAAAAAAEAAgATAABAAAAAAAFAAsAVAABAAAAAAAGAAgAXwABAAAAAAAKACsAZwABAAAAAAALABMAkgADAAEECQAAAGoApQADAAEECQABABABDwADAAEECQACAA4BHwADAAEECQADABABLQADAAEECQAEABABPQADAAEECQAFABYBTQADAAEECQAGABABYwADAAEECQAKAFYBcwADAAEECQALACYByUNvcHlyaWdodCAoQykgMjAxNCBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9udGVsbG9SZWd1bGFyZm9udGVsbG9mb250ZWxsb1ZlcnNpb24gMS4wZm9udGVsbG9HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEANAAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AZgBvAG4AdABlAGwAbABvAFIAZQBnAHUAbABhAHIAZgBvAG4AdABlAGwAbABvAGYAbwBuAHQAZQBsAGwAbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAZgBvAG4AdABlAGwAbABvAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABoAAAECAQMBBAEFAQYBBwEIAQkBCgELAQwBDQEOAQ8BEAERARIBEwEUARUBFgEXARgBGQEaAm9rBXF1b3RlCWRvd24tb3Blbgd0d2l0dGVyCGZhY2Vib29rCmdvb2dsZXBsdXMGZ2l0aHViCGRyaWJiYmxlCGxpbmtlZGluCWluc3RhZ3JhbQRtYWlsBnR1bWJscglwaW50ZXJlc3QDd2ViB3lvdXR1YmUFdmltZW8IZG93bmxvYWQFcGhvbmUEaG9tZQhsb2NhdGlvbgtwYXBlci1wbGFuZQVzaGFyZQNleWUGcGVuY2lsBmF0dGFjaAAAAAABAAH//wAPAAAAAAAAAAAAAAAAsAAsILAAVVhFWSAgS7gADlFLsAZTWliwNBuwKFlgZiCKVViwAiVhuQgACABjYyNiGyEhsABZsABDI0SyAAEAQ2BCLbABLLAgYGYtsAIsIGQgsMBQsAQmWrIoAQpDRWNFUltYISMhG4pYILBQUFghsEBZGyCwOFBYIbA4WVkgsQEKQ0VjRWFksChQWCGxAQpDRWNFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwAStZWSOwAFBYZVlZLbADLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbAELCMhIyEgZLEFYkIgsAYjQrEBCkNFY7EBCkOwAGBFY7ADKiEgsAZDIIogirABK7EwBSWwBCZRWGBQG2FSWVgjWSEgsEBTWLABKxshsEBZI7AAUFhlWS2wBSywB0MrsgACAENgQi2wBiywByNCIyCwACNCYbACYmawAWOwAWCwBSotsAcsICBFILALQ2O4BABiILAAUFiwQGBZZrABY2BEsAFgLbAILLIHCwBDRUIqIbIAAQBDYEItsAkssABDI0SyAAEAQ2BCLbAKLCAgRSCwASsjsABDsAQlYCBFiiNhIGQgsCBQWCGwABuwMFBYsCAbsEBZWSOwAFBYZVmwAyUjYUREsAFgLbALLCAgRSCwASsjsABDsAQlYCBFiiNhIGSwJFBYsAAbsEBZI7AAUFhlWbADJSNhRESwAWAtsAwsILAAI0KyCwoDRVghGyMhWSohLbANLLECAkWwZGFELbAOLLABYCAgsAxDSrAAUFggsAwjQlmwDUNKsABSWCCwDSNCWS2wDywgsBBiZrABYyC4BABjiiNhsA5DYCCKYCCwDiNCIy2wECxLVFixBGREWSSwDWUjeC2wESxLUVhLU1ixBGREWRshWSSwE2UjeC2wEiyxAA9DVVixDw9DsAFhQrAPK1mwAEOwAiVCsQwCJUKxDQIlQrABFiMgsAMlUFixAQBDYLAEJUKKiiCKI2GwDiohI7ABYSCKI2GwDiohG7EBAENgsAIlQrACJWGwDiohWbAMQ0ewDUNHYLACYiCwAFBYsEBgWWawAWMgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLEAABMjRLABQ7AAPrIBAQFDYEItsBMsALEAAkVUWLAPI0IgRbALI0KwCiOwAGBCIGCwAWG1EBABAA4AQkKKYLESBiuwcisbIlktsBQssQATKy2wFSyxARMrLbAWLLECEystsBcssQMTKy2wGCyxBBMrLbAZLLEFEystsBossQYTKy2wGyyxBxMrLbAcLLEIEystsB0ssQkTKy2wHiwAsA0rsQACRVRYsA8jQiBFsAsjQrAKI7AAYEIgYLABYbUQEAEADgBCQopgsRIGK7ByKxsiWS2wHyyxAB4rLbAgLLEBHistsCEssQIeKy2wIiyxAx4rLbAjLLEEHistsCQssQUeKy2wJSyxBh4rLbAmLLEHHistsCcssQgeKy2wKCyxCR4rLbApLCA8sAFgLbAqLCBgsBBgIEMjsAFgQ7ACJWGwAWCwKSohLbArLLAqK7AqKi2wLCwgIEcgILALQ2O4BABiILAAUFiwQGBZZrABY2AjYTgjIIpVWCBHICCwC0NjuAQAYiCwAFBYsEBgWWawAWNgI2E4GyFZLbAtLACxAAJFVFiwARawLCqwARUwGyJZLbAuLACwDSuxAAJFVFiwARawLCqwARUwGyJZLbAvLCA1sAFgLbAwLACwAUVjuAQAYiCwAFBYsEBgWWawAWOwASuwC0NjuAQAYiCwAFBYsEBgWWawAWOwASuwABa0AAAAAABEPiM4sS8BFSotsDEsIDwgRyCwC0NjuAQAYiCwAFBYsEBgWWawAWNgsABDYTgtsDIsLhc8LbAzLCA8IEcgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2GwAUNjOC2wNCyxAgAWJSAuIEewACNCsAIlSYqKRyNHI2EgWGIbIVmwASNCsjMBARUUKi2wNSywABawBCWwBCVHI0cjYbAJQytlii4jICA8ijgtsDYssAAWsAQlsAQlIC5HI0cjYSCwBCNCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgsAhDIIojRyNHI2EjRmCwBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2EjICCwBCYjRmE4GyOwCENGsAIlsAhDRyNHI2FgILAEQ7ACYiCwAFBYsEBgWWawAWNgIyCwASsjsARDYLABK7AFJWGwBSWwAmIgsABQWLBAYFlmsAFjsAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wNyywABYgICCwBSYgLkcjRyNhIzw4LbA4LLAAFiCwCCNCICAgRiNHsAErI2E4LbA5LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWG5CAAIAGNjIyBYYhshWWO4BABiILAAUFiwQGBZZrABY2AjLiMgIDyKOCMhWS2wOiywABYgsAhDIC5HI0cjYSBgsCBgZrACYiCwAFBYsEBgWWawAWMjICA8ijgtsDssIyAuRrACJUZSWCA8WS6xKwEUKy2wPCwjIC5GsAIlRlBYIDxZLrErARQrLbA9LCMgLkawAiVGUlggPFkjIC5GsAIlRlBYIDxZLrErARQrLbA+LLA1KyMgLkawAiVGUlggPFkusSsBFCstsD8ssDYriiAgPLAEI0KKOCMgLkawAiVGUlggPFkusSsBFCuwBEMusCsrLbBALLAAFrAEJbAEJiAuRyNHI2GwCUMrIyA8IC4jOLErARQrLbBBLLEIBCVCsAAWsAQlsAQlIC5HI0cjYSCwBCNCsAlDKyCwYFBYILBAUVizAiADIBuzAiYDGllCQiMgR7AEQ7ACYiCwAFBYsEBgWWawAWNgILABKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwAmIgsABQWLBAYFlmsAFjYbACJUZhOCMgPCM4GyEgIEYjR7ABKyNhOCFZsSsBFCstsEIssDUrLrErARQrLbBDLLA2KyEjICA8sAQjQiM4sSsBFCuwBEMusCsrLbBELLAAFSBHsAAjQrIAAQEVFBMusDEqLbBFLLAAFSBHsAAjQrIAAQEVFBMusDEqLbBGLLEAARQTsDIqLbBHLLA0Ki2wSCywABZFIyAuIEaKI2E4sSsBFCstsEkssAgjQrBIKy2wSiyyAABBKy2wSyyyAAFBKy2wTCyyAQBBKy2wTSyyAQFBKy2wTiyyAABCKy2wTyyyAAFCKy2wUCyyAQBCKy2wUSyyAQFCKy2wUiyyAAA+Ky2wUyyyAAE+Ky2wVCyyAQA+Ky2wVSyyAQE+Ky2wViyyAABAKy2wVyyyAAFAKy2wWCyyAQBAKy2wWSyyAQFAKy2wWiyyAABDKy2wWyyyAAFDKy2wXCyyAQBDKy2wXSyyAQFDKy2wXiyyAAA/Ky2wXyyyAAE/Ky2wYCyyAQA/Ky2wYSyyAQE/Ky2wYiywNysusSsBFCstsGMssDcrsDsrLbBkLLA3K7A8Ky2wZSywABawNyuwPSstsGYssDgrLrErARQrLbBnLLA4K7A7Ky2waCywOCuwPCstsGkssDgrsD0rLbBqLLA5Ky6xKwEUKy2wayywOSuwOystsGwssDkrsDwrLbBtLLA5K7A9Ky2wbiywOisusSsBFCstsG8ssDorsDsrLbBwLLA6K7A8Ky2wcSywOiuwPSstsHIsswkEAgNFWCEbIyFZQiuwCGWwAyRQeLABFTAtAEu4AMhSWLEBAY5ZsAG5CAAIAGNwsQAFQrEAACqxAAVCsQAIKrEABUKxAAgqsQAFQrkAAAAJKrEABUK5AAAACSqxAwBEsSQBiFFYsECIWLEDZESxJgGIUVi6CIAAAQRAiGNUWLEDAERZWVlZsQAMKrgB/4WwBI2xAgBEAA==') format('truetype');\n}\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\n/*\n@media screen and (-webkit-min-device-pixel-ratio:0) {\n  @font-face {\n    font-family: 'fontello';\n    src: url('../font/fontello-17333735.svg#fontello') format('svg');\n  }\n}\n*/\n \n [class^=\"icon-\"]:before, [class*=\" icon-\"]:before {\n  font-family: \"fontello\";\n  font-style: normal;\n  font-weight: normal;\n  speak: none;\n \n  display: inline-block;\n  text-decoration: inherit;\n  width: 1em;\n  margin-right: .2em;\n  text-align: center;\n  /* opacity: .8; */\n \n  /* For safety - reset parent styles, that can break glyph codes*/\n  font-variant: normal;\n  text-transform: none;\n     \n  /* fix buttons height, for twitter bootstrap */\n  line-height: 1em;\n \n  /* Animation center compensation - margins should be symmetric */\n  /* remove if not needed */\n  margin-left: .2em;\n \n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n \n  /* Uncomment for 3D effect */\n  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n.icon-ok:before { content: '\\e800'; } /* '' */\n.icon-quote:before { content: '\\e801'; } /* '' */\n.icon-down-open:before { content: '\\e802'; } /* '' */\n.icon-twitter:before { content: '\\e803'; } /* '' */\n.icon-facebook:before { content: '\\e804'; } /* '' */\n.icon-googleplus:before { content: '\\e805'; } /* '' */\n.icon-github:before { content: '\\e806'; } /* '' */\n.icon-dribbble:before { content: '\\e807'; } /* '' */\n.icon-linkedin:before { content: '\\e808'; } /* '' */\n.icon-instagram:before { content: '\\e809'; } /* '' */\n.icon-mail:before { content: '\\e80a'; } /* '' */\n.icon-tumblr:before { content: '\\e80b'; } /* '' */\n.icon-pinterest:before { content: '\\e80c'; } /* '' */\n.icon-web:before { content: '\\e80d'; } /* '' */\n.icon-youtube:before { content: '\\e80e'; } /* '' */\n.icon-vimeo:before { content: '\\e80f'; } /* '' */\n.icon-download:before { content: '\\e810'; } /* '' */\n.icon-phone:before { content: '\\e811'; } /* '' */\n.icon-home:before { content: '\\e812'; } /* '' */\n.icon-location:before { content: '\\e813'; } /* '' */\n.icon-paper-plane:before { content: '\\e814'; } /* '' */\n.icon-share:before { content: '\\e815'; } /* '' */\n.icon-eye:before { content: '\\e817'; } /* '' */\n.icon-pencil:before { content: '\\e818'; } /* '' */\n.icon-attach:before { content: '\\e819'; } /* '' */"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/css/fontello-ie7-codes.css",
    "content": "\n.icon-ok { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe800;&nbsp;'); }\n.icon-quote { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe801;&nbsp;'); }\n.icon-down-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe802;&nbsp;'); }\n.icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe803;&nbsp;'); }\n.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe804;&nbsp;'); }\n.icon-googleplus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe805;&nbsp;'); }\n.icon-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe806;&nbsp;'); }\n.icon-dribbble { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe807;&nbsp;'); }\n.icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe808;&nbsp;'); }\n.icon-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe809;&nbsp;'); }\n.icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80a;&nbsp;'); }\n.icon-tumblr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80b;&nbsp;'); }\n.icon-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80c;&nbsp;'); }\n.icon-web { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80d;&nbsp;'); }\n.icon-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80e;&nbsp;'); }\n.icon-vimeo { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80f;&nbsp;'); }\n.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe810;&nbsp;'); }\n.icon-phone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe811;&nbsp;'); }\n.icon-home { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe812;&nbsp;'); }\n.icon-location { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe813;&nbsp;'); }\n.icon-paper-plane { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe814;&nbsp;'); }\n.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe815;&nbsp;'); }\n.icon-eye { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe817;&nbsp;'); }\n.icon-pencil { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe818;&nbsp;'); }\n.icon-attach { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe819;&nbsp;'); }"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/css/fontello-ie7.css",
    "content": "[class^=\"icon-\"], [class*=\" icon-\"] {\n  font-family: 'fontello';\n  font-style: normal;\n  font-weight: normal;\n \n  /* fix buttons height */\n  line-height: 1em;\n \n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n}\n \n.icon-ok { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe800;&nbsp;'); }\n.icon-quote { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe801;&nbsp;'); }\n.icon-down-open { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe802;&nbsp;'); }\n.icon-twitter { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe803;&nbsp;'); }\n.icon-facebook { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe804;&nbsp;'); }\n.icon-googleplus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe805;&nbsp;'); }\n.icon-github { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe806;&nbsp;'); }\n.icon-dribbble { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe807;&nbsp;'); }\n.icon-linkedin { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe808;&nbsp;'); }\n.icon-instagram { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe809;&nbsp;'); }\n.icon-mail { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80a;&nbsp;'); }\n.icon-tumblr { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80b;&nbsp;'); }\n.icon-pinterest { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80c;&nbsp;'); }\n.icon-web { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80d;&nbsp;'); }\n.icon-youtube { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80e;&nbsp;'); }\n.icon-vimeo { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe80f;&nbsp;'); }\n.icon-download { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe810;&nbsp;'); }\n.icon-phone { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe811;&nbsp;'); }\n.icon-home { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe812;&nbsp;'); }\n.icon-location { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe813;&nbsp;'); }\n.icon-paper-plane { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe814;&nbsp;'); }\n.icon-share { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe815;&nbsp;'); }\n.icon-eye { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe817;&nbsp;'); }\n.icon-pencil { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe818;&nbsp;'); }\n.icon-attach { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xe819;&nbsp;'); }"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/css/fontello.css",
    "content": "@font-face {\n  font-family: 'fontello';\n  src: url('../font/fontello-60560759.eot');\n  src: url('../font/fontello-60560759.eot#iefix') format('embedded-opentype'),\n       url('../font/fontello-60560759.woff') format('woff'),\n       url('../font/fontello-60560759.ttf') format('truetype'),\n       url('../font/fontello-60560759.svg#fontello') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\n/*\n@media screen and (-webkit-min-device-pixel-ratio:0) {\n  @font-face {\n    font-family: 'fontello';\n    src: url('../font/fontello-60560759.svg#fontello') format('svg');\n  }\n}\n*/\n \n [class^=\"icon-\"]:before, [class*=\" icon-\"]:before {\n  font-family: \"fontello\";\n  font-style: normal;\n  font-weight: normal;\n  speak: none;\n \n  display: inline-block;\n  text-decoration: inherit;\n  width: 1em;\n  margin-right: .2em;\n  text-align: center;\n  /* opacity: .8; */\n \n  /* For safety - reset parent styles, that can break glyph codes*/\n  font-variant: normal;\n  text-transform: none;\n     \n  /* fix buttons height, for twitter bootstrap */\n  line-height: 1em;\n \n  /* Animation center compensation - margins should be symmetric */\n  /* remove if not needed */\n  margin-left: .2em;\n \n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n \n  /* Uncomment for 3D effect */\n  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n \n.icon-ok:before { content: '\\e800'; } /* '' */\n.icon-quote:before { content: '\\e801'; } /* '' */\n.icon-down-open:before { content: '\\e802'; } /* '' */\n.icon-twitter:before { content: '\\e803'; } /* '' */\n.icon-facebook:before { content: '\\e804'; } /* '' */\n.icon-googleplus:before { content: '\\e805'; } /* '' */\n.icon-github:before { content: '\\e806'; } /* '' */\n.icon-dribbble:before { content: '\\e807'; } /* '' */\n.icon-linkedin:before { content: '\\e808'; } /* '' */\n.icon-instagram:before { content: '\\e809'; } /* '' */\n.icon-mail:before { content: '\\e80a'; } /* '' */\n.icon-tumblr:before { content: '\\e80b'; } /* '' */\n.icon-pinterest:before { content: '\\e80c'; } /* '' */\n.icon-web:before { content: '\\e80d'; } /* '' */\n.icon-youtube:before { content: '\\e80e'; } /* '' */\n.icon-vimeo:before { content: '\\e80f'; } /* '' */\n.icon-download:before { content: '\\e810'; } /* '' */\n.icon-phone:before { content: '\\e811'; } /* '' */\n.icon-home:before { content: '\\e812'; } /* '' */\n.icon-location:before { content: '\\e813'; } /* '' */\n.icon-paper-plane:before { content: '\\e814'; } /* '' */\n.icon-share:before { content: '\\e815'; } /* '' */\n.icon-eye:before { content: '\\e817'; } /* '' */\n.icon-pencil:before { content: '\\e818'; } /* '' */\n.icon-attach:before { content: '\\e819'; } /* '' */"
  },
  {
    "path": "public/vendor/content-builder/assets/icons/demo.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head><!--[if lt IE 9]><script language=\"javascript\" type=\"text/javascript\" src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\"></script><![endif]-->\n    <meta charset=\"UTF-8\"><style>/*\n * Bootstrap v2.2.1\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n.clearfix {\n  *zoom: 1;\n}\n.clearfix:before,\n.clearfix:after {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.clearfix:after {\n  clear: both;\n}\nhtml {\n  font-size: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n}\na:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\na:hover,\na:active {\n  outline: 0;\n}\nbutton,\ninput,\nselect,\ntextarea {\n  margin: 0;\n  font-size: 100%;\n  vertical-align: middle;\n}\nbutton,\ninput {\n  *overflow: visible;\n  line-height: normal;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\nbody {\n  margin: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 20px;\n  color: #333;\n  background-color: #fff;\n}\na {\n  color: #08c;\n  text-decoration: none;\n}\na:hover {\n  color: #005580;\n  text-decoration: underline;\n}\n.row {\n  margin-left: -20px;\n  *zoom: 1;\n}\n.row:before,\n.row:after {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.row:after {\n  clear: both;\n}\n[class*=\"span\"] {\n  float: left;\n  min-height: 1px;\n  margin-left: 20px;\n}\n.container,\n.navbar-static-top .container,\n.navbar-fixed-top .container,\n.navbar-fixed-bottom .container {\n  width: 940px;\n}\n.span12 {\n  width: 940px;\n}\n.span11 {\n  width: 860px;\n}\n.span10 {\n  width: 780px;\n}\n.span9 {\n  width: 700px;\n}\n.span8 {\n  width: 620px;\n}\n.span7 {\n  width: 540px;\n}\n.span6 {\n  width: 460px;\n}\n.span5 {\n  width: 380px;\n}\n.span4 {\n  width: 300px;\n}\n.span3 {\n  width: 220px;\n}\n.span2 {\n  width: 140px;\n}\n.span1 {\n  width: 60px;\n}\n[class*=\"span\"].pull-right,\n.row-fluid [class*=\"span\"].pull-right {\n  float: right;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  *zoom: 1;\n}\n.container:before,\n.container:after {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.container:after {\n  clear: both;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 21px;\n  font-weight: 200;\n  line-height: 30px;\n}\nsmall {\n  font-size: 85%;\n}\nh1 {\n  margin: 10px 0;\n  font-family: inherit;\n  font-weight: bold;\n  line-height: 20px;\n  color: inherit;\n  text-rendering: optimizelegibility;\n}\nh1 small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999;\n}\nh1 {\n  line-height: 40px;\n}\nh1 {\n  font-size: 38.5px;\n}\nh1 small {\n  font-size: 24.5px;\n}\nbody {\n  margin-top: 90px;\n}\n.header {\n  position: fixed;\n  top: 0;\n  left: 50%;\n  margin-left: -480px;\n  background-color: #fff;\n  border-bottom: 1px solid #ddd;\n  padding-top: 10px;\n  z-index: 10;\n}\n.footer {\n  color: #ddd;\n  font-size: 12px;\n  text-align: center;\n  margin-top: 20px;\n}\n.footer a {\n  color: #ccc;\n  text-decoration: underline;\n}\n.the-icons {\n  font-size: 14px;\n  line-height: 24px;\n}\n.switch {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  color: #666;\n}\n.switch input {\n  margin-right: 0.3em;\n}\n.codesOn .i-name {\n  display: none;\n}\n.codesOn .i-code {\n  display: inline;\n}\n.i-code {\n  display: none;\n}\n</style>\n    <link rel=\"stylesheet\" href=\"css/fontello.css\">\n    <link rel=\"stylesheet\" href=\"css/animation.css\"><!--[if IE 7]><link rel=\"stylesheet\" href=\"css/fontello-ie7.css\"><![endif]-->\n    <script>\n      function toggleCodes(on) {\n        var obj = document.getElementById('icons');\n        \n        if (on) {\n          obj.className += ' codesOn';\n        } else {\n          obj.className = obj.className.replace(' codesOn', '');\n        }\n      }\n      \n    </script>\n  </head>\n  <body>\n    <div class=\"container header\">\n      <h1>\n        fontello\n         <small>font demo</small>\n      </h1>\n      <label class=\"switch\">\n        <input type=\"checkbox\" onclick=\"toggleCodes(this.checked)\">show codes\n      </label>\n    </div>\n    <div id=\"icons\" class=\"container\">\n      <div class=\"row\">\n        <div title=\"Code: 0xe800\" class=\"the-icons span3\"><i class=\"icon-ok\"></i> <span class=\"i-name\">icon-ok</span><span class=\"i-code\">0xe800</span></div>\n        <div title=\"Code: 0xe801\" class=\"the-icons span3\"><i class=\"icon-quote\"></i> <span class=\"i-name\">icon-quote</span><span class=\"i-code\">0xe801</span></div>\n        <div title=\"Code: 0xe802\" class=\"the-icons span3\"><i class=\"icon-down-open\"></i> <span class=\"i-name\">icon-down-open</span><span class=\"i-code\">0xe802</span></div>\n        <div title=\"Code: 0xe803\" class=\"the-icons span3\"><i class=\"icon-twitter\"></i> <span class=\"i-name\">icon-twitter</span><span class=\"i-code\">0xe803</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe804\" class=\"the-icons span3\"><i class=\"icon-facebook\"></i> <span class=\"i-name\">icon-facebook</span><span class=\"i-code\">0xe804</span></div>\n        <div title=\"Code: 0xe805\" class=\"the-icons span3\"><i class=\"icon-googleplus\"></i> <span class=\"i-name\">icon-googleplus</span><span class=\"i-code\">0xe805</span></div>\n        <div title=\"Code: 0xe806\" class=\"the-icons span3\"><i class=\"icon-github\"></i> <span class=\"i-name\">icon-github</span><span class=\"i-code\">0xe806</span></div>\n        <div title=\"Code: 0xe807\" class=\"the-icons span3\"><i class=\"icon-dribbble\"></i> <span class=\"i-name\">icon-dribbble</span><span class=\"i-code\">0xe807</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe808\" class=\"the-icons span3\"><i class=\"icon-linkedin\"></i> <span class=\"i-name\">icon-linkedin</span><span class=\"i-code\">0xe808</span></div>\n        <div title=\"Code: 0xe809\" class=\"the-icons span3\"><i class=\"icon-instagram\"></i> <span class=\"i-name\">icon-instagram</span><span class=\"i-code\">0xe809</span></div>\n        <div title=\"Code: 0xe80a\" class=\"the-icons span3\"><i class=\"icon-mail\"></i> <span class=\"i-name\">icon-mail</span><span class=\"i-code\">0xe80a</span></div>\n        <div title=\"Code: 0xe80b\" class=\"the-icons span3\"><i class=\"icon-tumblr\"></i> <span class=\"i-name\">icon-tumblr</span><span class=\"i-code\">0xe80b</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe80c\" class=\"the-icons span3\"><i class=\"icon-pinterest\"></i> <span class=\"i-name\">icon-pinterest</span><span class=\"i-code\">0xe80c</span></div>\n        <div title=\"Code: 0xe80d\" class=\"the-icons span3\"><i class=\"icon-web\"></i> <span class=\"i-name\">icon-web</span><span class=\"i-code\">0xe80d</span></div>\n        <div title=\"Code: 0xe80e\" class=\"the-icons span3\"><i class=\"icon-youtube\"></i> <span class=\"i-name\">icon-youtube</span><span class=\"i-code\">0xe80e</span></div>\n        <div title=\"Code: 0xe80f\" class=\"the-icons span3\"><i class=\"icon-vimeo\"></i> <span class=\"i-name\">icon-vimeo</span><span class=\"i-code\">0xe80f</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe810\" class=\"the-icons span3\"><i class=\"icon-download\"></i> <span class=\"i-name\">icon-download</span><span class=\"i-code\">0xe810</span></div>\n        <div title=\"Code: 0xe811\" class=\"the-icons span3\"><i class=\"icon-phone\"></i> <span class=\"i-name\">icon-phone</span><span class=\"i-code\">0xe811</span></div>\n        <div title=\"Code: 0xe812\" class=\"the-icons span3\"><i class=\"icon-home\"></i> <span class=\"i-name\">icon-home</span><span class=\"i-code\">0xe812</span></div>\n        <div title=\"Code: 0xe813\" class=\"the-icons span3\"><i class=\"icon-location\"></i> <span class=\"i-name\">icon-location</span><span class=\"i-code\">0xe813</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe814\" class=\"the-icons span3\"><i class=\"icon-paper-plane\"></i> <span class=\"i-name\">icon-paper-plane</span><span class=\"i-code\">0xe814</span></div>\n        <div title=\"Code: 0xe815\" class=\"the-icons span3\"><i class=\"icon-share\"></i> <span class=\"i-name\">icon-share</span><span class=\"i-code\">0xe815</span></div>\n        <div title=\"Code: 0xe817\" class=\"the-icons span3\"><i class=\"icon-eye\"></i> <span class=\"i-name\">icon-eye</span><span class=\"i-code\">0xe817</span></div>\n        <div title=\"Code: 0xe818\" class=\"the-icons span3\"><i class=\"icon-pencil\"></i> <span class=\"i-name\">icon-pencil</span><span class=\"i-code\">0xe818</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe819\" class=\"the-icons span3\"><i class=\"icon-attach\"></i> <span class=\"i-name\">icon-attach</span><span class=\"i-code\">0xe819</span></div>\n      </div>\n    </div>\n    <div class=\"container footer\">Generated by <a href=\"http://fontello.com\">fontello.com</a></div>\n  </body>\n</html>"
  },
  {
    "path": "public/vendor/content-builder/assets/ionicons/LICENSE",
    "content": "The MIT License (MIT)\n\nCopyright (c) 2014 Drifty (http://drifty.com/)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "public/vendor/content-builder/assets/ionicons/css/ionicons.css",
    "content": "@charset \"UTF-8\";\n/*!\n  Ionicons, v2.0.0\n  Created by Ben Sperry for the Ionic Framework, http://ionicons.com/\n  https://twitter.com/benjsperry  https://twitter.com/ionicframework\n  MIT License: https://github.com/driftyco/ionicons\n\n  Android-style icons originally built by Google’s\n  Material Design Icons: https://github.com/google/material-design-icons\n  used under CC BY http://creativecommons.org/licenses/by/4.0/\n  Modified icons to fit ionicon’s grid from original.\n*/\n@font-face { font-family: \"Ionicons\"; src: url(\"../fonts/ionicons-v=2.0.0.eot\"); src: url(\"../fonts/ionicons-v=2.0.0.eot#iefix\") format(\"embedded-opentype\"), url(\"../fonts/ionicons-v=2.0.0.ttf\") format(\"truetype\"), url(\"../fonts/ionicons-v=2.0.0.woff\") format(\"woff\"), url(\"../fonts/ionicons-v=2.0.0.svg#Ionicons\") format(\"svg\"); font-weight: normal; font-style: normal; }\n.ion, .ionicons, .ion-alert:before, .ion-alert-circled:before, .ion-android-add:before, .ion-android-add-circle:before, .ion-android-alarm-clock:before, .ion-android-alert:before, .ion-android-apps:before, .ion-android-archive:before, .ion-android-arrow-back:before, .ion-android-arrow-down:before, .ion-android-arrow-dropdown:before, .ion-android-arrow-dropdown-circle:before, .ion-android-arrow-dropleft:before, .ion-android-arrow-dropleft-circle:before, .ion-android-arrow-dropright:before, .ion-android-arrow-dropright-circle:before, .ion-android-arrow-dropup:before, .ion-android-arrow-dropup-circle:before, .ion-android-arrow-forward:before, .ion-android-arrow-up:before, .ion-android-attach:before, .ion-android-bar:before, .ion-android-bicycle:before, .ion-android-boat:before, .ion-android-bookmark:before, .ion-android-bulb:before, .ion-android-bus:before, .ion-android-calendar:before, .ion-android-call:before, .ion-android-camera:before, .ion-android-cancel:before, .ion-android-car:before, .ion-android-cart:before, .ion-android-chat:before, .ion-android-checkbox:before, .ion-android-checkbox-blank:before, .ion-android-checkbox-outline:before, .ion-android-checkbox-outline-blank:before, .ion-android-checkmark-circle:before, .ion-android-clipboard:before, .ion-android-close:before, .ion-android-cloud:before, .ion-android-cloud-circle:before, .ion-android-cloud-done:before, .ion-android-cloud-outline:before, .ion-android-color-palette:before, .ion-android-compass:before, .ion-android-contact:before, .ion-android-contacts:before, .ion-android-contract:before, .ion-android-create:before, .ion-android-delete:before, .ion-android-desktop:before, .ion-android-document:before, .ion-android-done:before, .ion-android-done-all:before, .ion-android-download:before, .ion-android-drafts:before, .ion-android-exit:before, .ion-android-expand:before, .ion-android-favorite:before, .ion-android-favorite-outline:before, .ion-android-film:before, .ion-android-folder:before, .ion-android-folder-open:before, .ion-android-funnel:before, .ion-android-globe:before, .ion-android-hand:before, .ion-android-hangout:before, .ion-android-happy:before, .ion-android-home:before, .ion-android-image:before, .ion-android-laptop:before, .ion-android-list:before, .ion-android-locate:before, .ion-android-lock:before, .ion-android-mail:before, .ion-android-map:before, .ion-android-menu:before, .ion-android-microphone:before, .ion-android-microphone-off:before, .ion-android-more-horizontal:before, .ion-android-more-vertical:before, .ion-android-navigate:before, .ion-android-notifications:before, .ion-android-notifications-none:before, .ion-android-notifications-off:before, .ion-android-open:before, .ion-android-options:before, .ion-android-people:before, .ion-android-person:before, .ion-android-person-add:before, .ion-android-phone-landscape:before, .ion-android-phone-portrait:before, .ion-android-pin:before, .ion-android-plane:before, .ion-android-playstore:before, .ion-android-print:before, .ion-android-radio-button-off:before, .ion-android-radio-button-on:before, .ion-android-refresh:before, .ion-android-remove:before, .ion-android-remove-circle:before, .ion-android-restaurant:before, .ion-android-sad:before, .ion-android-search:before, .ion-android-send:before, .ion-android-settings:before, .ion-android-share:before, .ion-android-share-alt:before, .ion-android-star:before, .ion-android-star-half:before, .ion-android-star-outline:before, .ion-android-stopwatch:before, .ion-android-subway:before, .ion-android-sunny:before, .ion-android-sync:before, .ion-android-textsms:before, .ion-android-time:before, .ion-android-train:before, .ion-android-unlock:before, .ion-android-upload:before, .ion-android-volume-down:before, .ion-android-volume-mute:before, .ion-android-volume-off:before, .ion-android-volume-up:before, .ion-android-walk:before, .ion-android-warning:before, .ion-android-watch:before, .ion-android-wifi:before, .ion-aperture:before, .ion-archive:before, .ion-arrow-down-a:before, .ion-arrow-down-b:before, .ion-arrow-down-c:before, .ion-arrow-expand:before, .ion-arrow-graph-down-left:before, .ion-arrow-graph-down-right:before, .ion-arrow-graph-up-left:before, .ion-arrow-graph-up-right:before, .ion-arrow-left-a:before, .ion-arrow-left-b:before, .ion-arrow-left-c:before, .ion-arrow-move:before, .ion-arrow-resize:before, .ion-arrow-return-left:before, .ion-arrow-return-right:before, .ion-arrow-right-a:before, .ion-arrow-right-b:before, .ion-arrow-right-c:before, .ion-arrow-shrink:before, .ion-arrow-swap:before, .ion-arrow-up-a:before, .ion-arrow-up-b:before, .ion-arrow-up-c:before, .ion-asterisk:before, .ion-at:before, .ion-backspace:before, .ion-backspace-outline:before, .ion-bag:before, .ion-battery-charging:before, .ion-battery-empty:before, .ion-battery-full:before, .ion-battery-half:before, .ion-battery-low:before, .ion-beaker:before, .ion-beer:before, .ion-bluetooth:before, .ion-bonfire:before, .ion-bookmark:before, .ion-bowtie:before, .ion-briefcase:before, .ion-bug:before, .ion-calculator:before, .ion-calendar:before, .ion-camera:before, .ion-card:before, .ion-cash:before, .ion-chatbox:before, .ion-chatbox-working:before, .ion-chatboxes:before, .ion-chatbubble:before, .ion-chatbubble-working:before, .ion-chatbubbles:before, .ion-checkmark:before, .ion-checkmark-circled:before, .ion-checkmark-round:before, .ion-chevron-down:before, .ion-chevron-left:before, .ion-chevron-right:before, .ion-chevron-up:before, .ion-clipboard:before, .ion-clock:before, .ion-close:before, .ion-close-circled:before, .ion-close-round:before, .ion-closed-captioning:before, .ion-cloud:before, .ion-code:before, .ion-code-download:before, .ion-code-working:before, .ion-coffee:before, .ion-compass:before, .ion-compose:before, .ion-connection-bars:before, .ion-contrast:before, .ion-crop:before, .ion-cube:before, .ion-disc:before, .ion-document:before, .ion-document-text:before, .ion-drag:before, .ion-earth:before, .ion-easel:before, .ion-edit:before, .ion-egg:before, .ion-eject:before, .ion-email:before, .ion-email-unread:before, .ion-erlenmeyer-flask:before, .ion-erlenmeyer-flask-bubbles:before, .ion-eye:before, .ion-eye-disabled:before, .ion-female:before, .ion-filing:before, .ion-film-marker:before, .ion-fireball:before, .ion-flag:before, .ion-flame:before, .ion-flash:before, .ion-flash-off:before, .ion-folder:before, .ion-fork:before, .ion-fork-repo:before, .ion-forward:before, .ion-funnel:before, .ion-gear-a:before, .ion-gear-b:before, .ion-grid:before, .ion-hammer:before, .ion-happy:before, .ion-happy-outline:before, .ion-headphone:before, .ion-heart:before, .ion-heart-broken:before, .ion-help:before, .ion-help-buoy:before, .ion-help-circled:before, .ion-home:before, .ion-icecream:before, .ion-image:before, .ion-images:before, .ion-information:before, .ion-information-circled:before, .ion-ionic:before, .ion-ios-alarm:before, .ion-ios-alarm-outline:before, .ion-ios-albums:before, .ion-ios-albums-outline:before, .ion-ios-americanfootball:before, .ion-ios-americanfootball-outline:before, .ion-ios-analytics:before, .ion-ios-analytics-outline:before, .ion-ios-arrow-back:before, .ion-ios-arrow-down:before, .ion-ios-arrow-forward:before, .ion-ios-arrow-left:before, .ion-ios-arrow-right:before, .ion-ios-arrow-thin-down:before, .ion-ios-arrow-thin-left:before, .ion-ios-arrow-thin-right:before, .ion-ios-arrow-thin-up:before, .ion-ios-arrow-up:before, .ion-ios-at:before, .ion-ios-at-outline:before, .ion-ios-barcode:before, .ion-ios-barcode-outline:before, .ion-ios-baseball:before, .ion-ios-baseball-outline:before, .ion-ios-basketball:before, .ion-ios-basketball-outline:before, .ion-ios-bell:before, .ion-ios-bell-outline:before, .ion-ios-body:before, .ion-ios-body-outline:before, .ion-ios-bolt:before, .ion-ios-bolt-outline:before, .ion-ios-book:before, .ion-ios-book-outline:before, .ion-ios-bookmarks:before, .ion-ios-bookmarks-outline:before, .ion-ios-box:before, .ion-ios-box-outline:before, .ion-ios-briefcase:before, .ion-ios-briefcase-outline:before, .ion-ios-browsers:before, .ion-ios-browsers-outline:before, .ion-ios-calculator:before, .ion-ios-calculator-outline:before, .ion-ios-calendar:before, .ion-ios-calendar-outline:before, .ion-ios-camera:before, .ion-ios-camera-outline:before, .ion-ios-cart:before, .ion-ios-cart-outline:before, .ion-ios-chatboxes:before, .ion-ios-chatboxes-outline:before, .ion-ios-chatbubble:before, .ion-ios-chatbubble-outline:before, .ion-ios-checkmark:before, .ion-ios-checkmark-empty:before, .ion-ios-checkmark-outline:before, .ion-ios-circle-filled:before, .ion-ios-circle-outline:before, .ion-ios-clock:before, .ion-ios-clock-outline:before, .ion-ios-close:before, .ion-ios-close-empty:before, .ion-ios-close-outline:before, .ion-ios-cloud:before, .ion-ios-cloud-download:before, .ion-ios-cloud-download-outline:before, .ion-ios-cloud-outline:before, .ion-ios-cloud-upload:before, .ion-ios-cloud-upload-outline:before, .ion-ios-cloudy:before, .ion-ios-cloudy-night:before, .ion-ios-cloudy-night-outline:before, .ion-ios-cloudy-outline:before, .ion-ios-cog:before, .ion-ios-cog-outline:before, .ion-ios-color-filter:before, .ion-ios-color-filter-outline:before, .ion-ios-color-wand:before, .ion-ios-color-wand-outline:before, .ion-ios-compose:before, .ion-ios-compose-outline:before, .ion-ios-contact:before, .ion-ios-contact-outline:before, .ion-ios-copy:before, .ion-ios-copy-outline:before, .ion-ios-crop:before, .ion-ios-crop-strong:before, .ion-ios-download:before, .ion-ios-download-outline:before, .ion-ios-drag:before, .ion-ios-email:before, .ion-ios-email-outline:before, .ion-ios-eye:before, .ion-ios-eye-outline:before, .ion-ios-fastforward:before, .ion-ios-fastforward-outline:before, .ion-ios-filing:before, .ion-ios-filing-outline:before, .ion-ios-film:before, .ion-ios-film-outline:before, .ion-ios-flag:before, .ion-ios-flag-outline:before, .ion-ios-flame:before, .ion-ios-flame-outline:before, .ion-ios-flask:before, .ion-ios-flask-outline:before, .ion-ios-flower:before, .ion-ios-flower-outline:before, .ion-ios-folder:before, .ion-ios-folder-outline:before, .ion-ios-football:before, .ion-ios-football-outline:before, .ion-ios-game-controller-a:before, .ion-ios-game-controller-a-outline:before, .ion-ios-game-controller-b:before, .ion-ios-game-controller-b-outline:before, .ion-ios-gear:before, .ion-ios-gear-outline:before, .ion-ios-glasses:before, .ion-ios-glasses-outline:before, .ion-ios-grid-view:before, .ion-ios-grid-view-outline:before, .ion-ios-heart:before, .ion-ios-heart-outline:before, .ion-ios-help:before, .ion-ios-help-empty:before, .ion-ios-help-outline:before, .ion-ios-home:before, .ion-ios-home-outline:before, .ion-ios-infinite:before, .ion-ios-infinite-outline:before, .ion-ios-information:before, .ion-ios-information-empty:before, .ion-ios-information-outline:before, .ion-ios-ionic-outline:before, .ion-ios-keypad:before, .ion-ios-keypad-outline:before, .ion-ios-lightbulb:before, .ion-ios-lightbulb-outline:before, .ion-ios-list:before, .ion-ios-list-outline:before, .ion-ios-location:before, .ion-ios-location-outline:before, .ion-ios-locked:before, .ion-ios-locked-outline:before, .ion-ios-loop:before, .ion-ios-loop-strong:before, .ion-ios-medical:before, .ion-ios-medical-outline:before, .ion-ios-medkit:before, .ion-ios-medkit-outline:before, .ion-ios-mic:before, .ion-ios-mic-off:before, .ion-ios-mic-outline:before, .ion-ios-minus:before, .ion-ios-minus-empty:before, .ion-ios-minus-outline:before, .ion-ios-monitor:before, .ion-ios-monitor-outline:before, .ion-ios-moon:before, .ion-ios-moon-outline:before, .ion-ios-more:before, .ion-ios-more-outline:before, .ion-ios-musical-note:before, .ion-ios-musical-notes:before, .ion-ios-navigate:before, .ion-ios-navigate-outline:before, .ion-ios-nutrition:before, .ion-ios-nutrition-outline:before, .ion-ios-paper:before, .ion-ios-paper-outline:before, .ion-ios-paperplane:before, .ion-ios-paperplane-outline:before, .ion-ios-partlysunny:before, .ion-ios-partlysunny-outline:before, .ion-ios-pause:before, .ion-ios-pause-outline:before, .ion-ios-paw:before, .ion-ios-paw-outline:before, .ion-ios-people:before, .ion-ios-people-outline:before, .ion-ios-person:before, .ion-ios-person-outline:before, .ion-ios-personadd:before, .ion-ios-personadd-outline:before, .ion-ios-photos:before, .ion-ios-photos-outline:before, .ion-ios-pie:before, .ion-ios-pie-outline:before, .ion-ios-pint:before, .ion-ios-pint-outline:before, .ion-ios-play:before, .ion-ios-play-outline:before, .ion-ios-plus:before, .ion-ios-plus-empty:before, .ion-ios-plus-outline:before, .ion-ios-pricetag:before, .ion-ios-pricetag-outline:before, .ion-ios-pricetags:before, .ion-ios-pricetags-outline:before, .ion-ios-printer:before, .ion-ios-printer-outline:before, .ion-ios-pulse:before, .ion-ios-pulse-strong:before, .ion-ios-rainy:before, .ion-ios-rainy-outline:before, .ion-ios-recording:before, .ion-ios-recording-outline:before, .ion-ios-redo:before, .ion-ios-redo-outline:before, .ion-ios-refresh:before, .ion-ios-refresh-empty:before, .ion-ios-refresh-outline:before, .ion-ios-reload:before, .ion-ios-reverse-camera:before, .ion-ios-reverse-camera-outline:before, .ion-ios-rewind:before, .ion-ios-rewind-outline:before, .ion-ios-rose:before, .ion-ios-rose-outline:before, .ion-ios-search:before, .ion-ios-search-strong:before, .ion-ios-settings:before, .ion-ios-settings-strong:before, .ion-ios-shuffle:before, .ion-ios-shuffle-strong:before, .ion-ios-skipbackward:before, .ion-ios-skipbackward-outline:before, .ion-ios-skipforward:before, .ion-ios-skipforward-outline:before, .ion-ios-snowy:before, .ion-ios-speedometer:before, .ion-ios-speedometer-outline:before, .ion-ios-star:before, .ion-ios-star-half:before, .ion-ios-star-outline:before, .ion-ios-stopwatch:before, .ion-ios-stopwatch-outline:before, .ion-ios-sunny:before, .ion-ios-sunny-outline:before, .ion-ios-telephone:before, .ion-ios-telephone-outline:before, .ion-ios-tennisball:before, .ion-ios-tennisball-outline:before, .ion-ios-thunderstorm:before, .ion-ios-thunderstorm-outline:before, .ion-ios-time:before, .ion-ios-time-outline:before, .ion-ios-timer:before, .ion-ios-timer-outline:before, .ion-ios-toggle:before, .ion-ios-toggle-outline:before, .ion-ios-trash:before, .ion-ios-trash-outline:before, .ion-ios-undo:before, .ion-ios-undo-outline:before, .ion-ios-unlocked:before, .ion-ios-unlocked-outline:before, .ion-ios-upload:before, .ion-ios-upload-outline:before, .ion-ios-videocam:before, .ion-ios-videocam-outline:before, .ion-ios-volume-high:before, .ion-ios-volume-low:before, .ion-ios-wineglass:before, .ion-ios-wineglass-outline:before, .ion-ios-world:before, .ion-ios-world-outline:before, .ion-ipad:before, .ion-iphone:before, .ion-ipod:before, .ion-jet:before, .ion-key:before, .ion-knife:before, .ion-laptop:before, .ion-leaf:before, .ion-levels:before, .ion-lightbulb:before, .ion-link:before, .ion-load-a:before, .ion-load-b:before, .ion-load-c:before, .ion-load-d:before, .ion-location:before, .ion-lock-combination:before, .ion-locked:before, .ion-log-in:before, .ion-log-out:before, .ion-loop:before, .ion-magnet:before, .ion-male:before, .ion-man:before, .ion-map:before, .ion-medkit:before, .ion-merge:before, .ion-mic-a:before, .ion-mic-b:before, .ion-mic-c:before, .ion-minus:before, .ion-minus-circled:before, .ion-minus-round:before, .ion-model-s:before, .ion-monitor:before, .ion-more:before, .ion-mouse:before, .ion-music-note:before, .ion-navicon:before, .ion-navicon-round:before, .ion-navigate:before, .ion-network:before, .ion-no-smoking:before, .ion-nuclear:before, .ion-outlet:before, .ion-paintbrush:before, .ion-paintbucket:before, .ion-paper-airplane:before, .ion-paperclip:before, .ion-pause:before, .ion-person:before, .ion-person-add:before, .ion-person-stalker:before, .ion-pie-graph:before, .ion-pin:before, .ion-pinpoint:before, .ion-pizza:before, .ion-plane:before, .ion-planet:before, .ion-play:before, .ion-playstation:before, .ion-plus:before, .ion-plus-circled:before, .ion-plus-round:before, .ion-podium:before, .ion-pound:before, .ion-power:before, .ion-pricetag:before, .ion-pricetags:before, .ion-printer:before, .ion-pull-request:before, .ion-qr-scanner:before, .ion-quote:before, .ion-radio-waves:before, .ion-record:before, .ion-refresh:before, .ion-reply:before, .ion-reply-all:before, .ion-ribbon-a:before, .ion-ribbon-b:before, .ion-sad:before, .ion-sad-outline:before, .ion-scissors:before, .ion-search:before, .ion-settings:before, .ion-share:before, .ion-shuffle:before, .ion-skip-backward:before, .ion-skip-forward:before, .ion-social-android:before, .ion-social-android-outline:before, .ion-social-angular:before, .ion-social-angular-outline:before, .ion-social-apple:before, .ion-social-apple-outline:before, .ion-social-bitcoin:before, .ion-social-bitcoin-outline:before, .ion-social-buffer:before, .ion-social-buffer-outline:before, .ion-social-chrome:before, .ion-social-chrome-outline:before, .ion-social-codepen:before, .ion-social-codepen-outline:before, .ion-social-css3:before, .ion-social-css3-outline:before, .ion-social-designernews:before, .ion-social-designernews-outline:before, .ion-social-dribbble:before, .ion-social-dribbble-outline:before, .ion-social-dropbox:before, .ion-social-dropbox-outline:before, .ion-social-euro:before, .ion-social-euro-outline:before, .ion-social-facebook:before, .ion-social-facebook-outline:before, .ion-social-foursquare:before, .ion-social-foursquare-outline:before, .ion-social-freebsd-devil:before, .ion-social-github:before, .ion-social-github-outline:before, .ion-social-google:before, .ion-social-google-outline:before, .ion-social-googleplus:before, .ion-social-googleplus-outline:before, .ion-social-hackernews:before, .ion-social-hackernews-outline:before, .ion-social-html5:before, .ion-social-html5-outline:before, .ion-social-instagram:before, .ion-social-instagram-outline:before, .ion-social-javascript:before, .ion-social-javascript-outline:before, .ion-social-linkedin:before, .ion-social-linkedin-outline:before, .ion-social-markdown:before, .ion-social-nodejs:before, .ion-social-octocat:before, .ion-social-pinterest:before, .ion-social-pinterest-outline:before, .ion-social-python:before, .ion-social-reddit:before, .ion-social-reddit-outline:before, .ion-social-rss:before, .ion-social-rss-outline:before, .ion-social-sass:before, .ion-social-skype:before, .ion-social-skype-outline:before, .ion-social-snapchat:before, .ion-social-snapchat-outline:before, .ion-social-tumblr:before, .ion-social-tumblr-outline:before, .ion-social-tux:before, .ion-social-twitch:before, .ion-social-twitch-outline:before, .ion-social-twitter:before, .ion-social-twitter-outline:before, .ion-social-usd:before, .ion-social-usd-outline:before, .ion-social-vimeo:before, .ion-social-vimeo-outline:before, .ion-social-whatsapp:before, .ion-social-whatsapp-outline:before, .ion-social-windows:before, .ion-social-windows-outline:before, .ion-social-wordpress:before, .ion-social-wordpress-outline:before, .ion-social-yahoo:before, .ion-social-yahoo-outline:before, .ion-social-yen:before, .ion-social-yen-outline:before, .ion-social-youtube:before, .ion-social-youtube-outline:before, .ion-soup-can:before, .ion-soup-can-outline:before, .ion-speakerphone:before, .ion-speedometer:before, .ion-spoon:before, .ion-star:before, .ion-stats-bars:before, .ion-steam:before, .ion-stop:before, .ion-thermometer:before, .ion-thumbsdown:before, .ion-thumbsup:before, .ion-toggle:before, .ion-toggle-filled:before, .ion-transgender:before, .ion-trash-a:before, .ion-trash-b:before, .ion-trophy:before, .ion-tshirt:before, .ion-tshirt-outline:before, .ion-umbrella:before, .ion-university:before, .ion-unlocked:before, .ion-upload:before, .ion-usb:before, .ion-videocamera:before, .ion-volume-high:before, .ion-volume-low:before, .ion-volume-medium:before, .ion-volume-mute:before, .ion-wand:before, .ion-waterdrop:before, .ion-wifi:before, .ion-wineglass:before, .ion-woman:before, .ion-wrench:before, .ion-xbox:before { display: inline-block; font-family: \"Ionicons\"; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; text-rendering: auto; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }\n\n.ion-alert:before { content: \"\\f101\"; }\n\n.ion-alert-circled:before { content: \"\\f100\"; }\n\n.ion-android-add:before { content: \"\\f2c7\"; }\n\n.ion-android-add-circle:before { content: \"\\f359\"; }\n\n.ion-android-alarm-clock:before { content: \"\\f35a\"; }\n\n.ion-android-alert:before { content: \"\\f35b\"; }\n\n.ion-android-apps:before { content: \"\\f35c\"; }\n\n.ion-android-archive:before { content: \"\\f2c9\"; }\n\n.ion-android-arrow-back:before { content: \"\\f2ca\"; }\n\n.ion-android-arrow-down:before { content: \"\\f35d\"; }\n\n.ion-android-arrow-dropdown:before { content: \"\\f35f\"; }\n\n.ion-android-arrow-dropdown-circle:before { content: \"\\f35e\"; }\n\n.ion-android-arrow-dropleft:before { content: \"\\f361\"; }\n\n.ion-android-arrow-dropleft-circle:before { content: \"\\f360\"; }\n\n.ion-android-arrow-dropright:before { content: \"\\f363\"; }\n\n.ion-android-arrow-dropright-circle:before { content: \"\\f362\"; }\n\n.ion-android-arrow-dropup:before { content: \"\\f365\"; }\n\n.ion-android-arrow-dropup-circle:before { content: \"\\f364\"; }\n\n.ion-android-arrow-forward:before { content: \"\\f30f\"; }\n\n.ion-android-arrow-up:before { content: \"\\f366\"; }\n\n.ion-android-attach:before { content: \"\\f367\"; }\n\n.ion-android-bar:before { content: \"\\f368\"; }\n\n.ion-android-bicycle:before { content: \"\\f369\"; }\n\n.ion-android-boat:before { content: \"\\f36a\"; }\n\n.ion-android-bookmark:before { content: \"\\f36b\"; }\n\n.ion-android-bulb:before { content: \"\\f36c\"; }\n\n.ion-android-bus:before { content: \"\\f36d\"; }\n\n.ion-android-calendar:before { content: \"\\f2d1\"; }\n\n.ion-android-call:before { content: \"\\f2d2\"; }\n\n.ion-android-camera:before { content: \"\\f2d3\"; }\n\n.ion-android-cancel:before { content: \"\\f36e\"; }\n\n.ion-android-car:before { content: \"\\f36f\"; }\n\n.ion-android-cart:before { content: \"\\f370\"; }\n\n.ion-android-chat:before { content: \"\\f2d4\"; }\n\n.ion-android-checkbox:before { content: \"\\f374\"; }\n\n.ion-android-checkbox-blank:before { content: \"\\f371\"; }\n\n.ion-android-checkbox-outline:before { content: \"\\f373\"; }\n\n.ion-android-checkbox-outline-blank:before { content: \"\\f372\"; }\n\n.ion-android-checkmark-circle:before { content: \"\\f375\"; }\n\n.ion-android-clipboard:before { content: \"\\f376\"; }\n\n.ion-android-close:before { content: \"\\f2d7\"; }\n\n.ion-android-cloud:before { content: \"\\f37a\"; }\n\n.ion-android-cloud-circle:before { content: \"\\f377\"; }\n\n.ion-android-cloud-done:before { content: \"\\f378\"; }\n\n.ion-android-cloud-outline:before { content: \"\\f379\"; }\n\n.ion-android-color-palette:before { content: \"\\f37b\"; }\n\n.ion-android-compass:before { content: \"\\f37c\"; }\n\n.ion-android-contact:before { content: \"\\f2d8\"; }\n\n.ion-android-contacts:before { content: \"\\f2d9\"; }\n\n.ion-android-contract:before { content: \"\\f37d\"; }\n\n.ion-android-create:before { content: \"\\f37e\"; }\n\n.ion-android-delete:before { content: \"\\f37f\"; }\n\n.ion-android-desktop:before { content: \"\\f380\"; }\n\n.ion-android-document:before { content: \"\\f381\"; }\n\n.ion-android-done:before { content: \"\\f383\"; }\n\n.ion-android-done-all:before { content: \"\\f382\"; }\n\n.ion-android-download:before { content: \"\\f2dd\"; }\n\n.ion-android-drafts:before { content: \"\\f384\"; }\n\n.ion-android-exit:before { content: \"\\f385\"; }\n\n.ion-android-expand:before { content: \"\\f386\"; }\n\n.ion-android-favorite:before { content: \"\\f388\"; }\n\n.ion-android-favorite-outline:before { content: \"\\f387\"; }\n\n.ion-android-film:before { content: \"\\f389\"; }\n\n.ion-android-folder:before { content: \"\\f2e0\"; }\n\n.ion-android-folder-open:before { content: \"\\f38a\"; }\n\n.ion-android-funnel:before { content: \"\\f38b\"; }\n\n.ion-android-globe:before { content: \"\\f38c\"; }\n\n.ion-android-hand:before { content: \"\\f2e3\"; }\n\n.ion-android-hangout:before { content: \"\\f38d\"; }\n\n.ion-android-happy:before { content: \"\\f38e\"; }\n\n.ion-android-home:before { content: \"\\f38f\"; }\n\n.ion-android-image:before { content: \"\\f2e4\"; }\n\n.ion-android-laptop:before { content: \"\\f390\"; }\n\n.ion-android-list:before { content: \"\\f391\"; }\n\n.ion-android-locate:before { content: \"\\f2e9\"; }\n\n.ion-android-lock:before { content: \"\\f392\"; }\n\n.ion-android-mail:before { content: \"\\f2eb\"; }\n\n.ion-android-map:before { content: \"\\f393\"; }\n\n.ion-android-menu:before { content: \"\\f394\"; }\n\n.ion-android-microphone:before { content: \"\\f2ec\"; }\n\n.ion-android-microphone-off:before { content: \"\\f395\"; }\n\n.ion-android-more-horizontal:before { content: \"\\f396\"; }\n\n.ion-android-more-vertical:before { content: \"\\f397\"; }\n\n.ion-android-navigate:before { content: \"\\f398\"; }\n\n.ion-android-notifications:before { content: \"\\f39b\"; }\n\n.ion-android-notifications-none:before { content: \"\\f399\"; }\n\n.ion-android-notifications-off:before { content: \"\\f39a\"; }\n\n.ion-android-open:before { content: \"\\f39c\"; }\n\n.ion-android-options:before { content: \"\\f39d\"; }\n\n.ion-android-people:before { content: \"\\f39e\"; }\n\n.ion-android-person:before { content: \"\\f3a0\"; }\n\n.ion-android-person-add:before { content: \"\\f39f\"; }\n\n.ion-android-phone-landscape:before { content: \"\\f3a1\"; }\n\n.ion-android-phone-portrait:before { content: \"\\f3a2\"; }\n\n.ion-android-pin:before { content: \"\\f3a3\"; }\n\n.ion-android-plane:before { content: \"\\f3a4\"; }\n\n.ion-android-playstore:before { content: \"\\f2f0\"; }\n\n.ion-android-print:before { content: \"\\f3a5\"; }\n\n.ion-android-radio-button-off:before { content: \"\\f3a6\"; }\n\n.ion-android-radio-button-on:before { content: \"\\f3a7\"; }\n\n.ion-android-refresh:before { content: \"\\f3a8\"; }\n\n.ion-android-remove:before { content: \"\\f2f4\"; }\n\n.ion-android-remove-circle:before { content: \"\\f3a9\"; }\n\n.ion-android-restaurant:before { content: \"\\f3aa\"; }\n\n.ion-android-sad:before { content: \"\\f3ab\"; }\n\n.ion-android-search:before { content: \"\\f2f5\"; }\n\n.ion-android-send:before { content: \"\\f2f6\"; }\n\n.ion-android-settings:before { content: \"\\f2f7\"; }\n\n.ion-android-share:before { content: \"\\f2f8\"; }\n\n.ion-android-share-alt:before { content: \"\\f3ac\"; }\n\n.ion-android-star:before { content: \"\\f2fc\"; }\n\n.ion-android-star-half:before { content: \"\\f3ad\"; }\n\n.ion-android-star-outline:before { content: \"\\f3ae\"; }\n\n.ion-android-stopwatch:before { content: \"\\f2fd\"; }\n\n.ion-android-subway:before { content: \"\\f3af\"; }\n\n.ion-android-sunny:before { content: \"\\f3b0\"; }\n\n.ion-android-sync:before { content: \"\\f3b1\"; }\n\n.ion-android-textsms:before { content: \"\\f3b2\"; }\n\n.ion-android-time:before { content: \"\\f3b3\"; }\n\n.ion-android-train:before { content: \"\\f3b4\"; }\n\n.ion-android-unlock:before { content: \"\\f3b5\"; }\n\n.ion-android-upload:before { content: \"\\f3b6\"; }\n\n.ion-android-volume-down:before { content: \"\\f3b7\"; }\n\n.ion-android-volume-mute:before { content: \"\\f3b8\"; }\n\n.ion-android-volume-off:before { content: \"\\f3b9\"; }\n\n.ion-android-volume-up:before { content: \"\\f3ba\"; }\n\n.ion-android-walk:before { content: \"\\f3bb\"; }\n\n.ion-android-warning:before { content: \"\\f3bc\"; }\n\n.ion-android-watch:before { content: \"\\f3bd\"; }\n\n.ion-android-wifi:before { content: \"\\f305\"; }\n\n.ion-aperture:before { content: \"\\f313\"; }\n\n.ion-archive:before { content: \"\\f102\"; }\n\n.ion-arrow-down-a:before { content: \"\\f103\"; }\n\n.ion-arrow-down-b:before { content: \"\\f104\"; }\n\n.ion-arrow-down-c:before { content: \"\\f105\"; }\n\n.ion-arrow-expand:before { content: \"\\f25e\"; }\n\n.ion-arrow-graph-down-left:before { content: \"\\f25f\"; }\n\n.ion-arrow-graph-down-right:before { content: \"\\f260\"; }\n\n.ion-arrow-graph-up-left:before { content: \"\\f261\"; }\n\n.ion-arrow-graph-up-right:before { content: \"\\f262\"; }\n\n.ion-arrow-left-a:before { content: \"\\f106\"; }\n\n.ion-arrow-left-b:before { content: \"\\f107\"; }\n\n.ion-arrow-left-c:before { content: \"\\f108\"; }\n\n.ion-arrow-move:before { content: \"\\f263\"; }\n\n.ion-arrow-resize:before { content: \"\\f264\"; }\n\n.ion-arrow-return-left:before { content: \"\\f265\"; }\n\n.ion-arrow-return-right:before { content: \"\\f266\"; }\n\n.ion-arrow-right-a:before { content: \"\\f109\"; }\n\n.ion-arrow-right-b:before { content: \"\\f10a\"; }\n\n.ion-arrow-right-c:before { content: \"\\f10b\"; }\n\n.ion-arrow-shrink:before { content: \"\\f267\"; }\n\n.ion-arrow-swap:before { content: \"\\f268\"; }\n\n.ion-arrow-up-a:before { content: \"\\f10c\"; }\n\n.ion-arrow-up-b:before { content: \"\\f10d\"; }\n\n.ion-arrow-up-c:before { content: \"\\f10e\"; }\n\n.ion-asterisk:before { content: \"\\f314\"; }\n\n.ion-at:before { content: \"\\f10f\"; }\n\n.ion-backspace:before { content: \"\\f3bf\"; }\n\n.ion-backspace-outline:before { content: \"\\f3be\"; }\n\n.ion-bag:before { content: \"\\f110\"; }\n\n.ion-battery-charging:before { content: \"\\f111\"; }\n\n.ion-battery-empty:before { content: \"\\f112\"; }\n\n.ion-battery-full:before { content: \"\\f113\"; }\n\n.ion-battery-half:before { content: \"\\f114\"; }\n\n.ion-battery-low:before { content: \"\\f115\"; }\n\n.ion-beaker:before { content: \"\\f269\"; }\n\n.ion-beer:before { content: \"\\f26a\"; }\n\n.ion-bluetooth:before { content: \"\\f116\"; }\n\n.ion-bonfire:before { content: \"\\f315\"; }\n\n.ion-bookmark:before { content: \"\\f26b\"; }\n\n.ion-bowtie:before { content: \"\\f3c0\"; }\n\n.ion-briefcase:before { content: \"\\f26c\"; }\n\n.ion-bug:before { content: \"\\f2be\"; }\n\n.ion-calculator:before { content: \"\\f26d\"; }\n\n.ion-calendar:before { content: \"\\f117\"; }\n\n.ion-camera:before { content: \"\\f118\"; }\n\n.ion-card:before { content: \"\\f119\"; }\n\n.ion-cash:before { content: \"\\f316\"; }\n\n.ion-chatbox:before { content: \"\\f11b\"; }\n\n.ion-chatbox-working:before { content: \"\\f11a\"; }\n\n.ion-chatboxes:before { content: \"\\f11c\"; }\n\n.ion-chatbubble:before { content: \"\\f11e\"; }\n\n.ion-chatbubble-working:before { content: \"\\f11d\"; }\n\n.ion-chatbubbles:before { content: \"\\f11f\"; }\n\n.ion-checkmark:before { content: \"\\f122\"; }\n\n.ion-checkmark-circled:before { content: \"\\f120\"; }\n\n.ion-checkmark-round:before { content: \"\\f121\"; }\n\n.ion-chevron-down:before { content: \"\\f123\"; }\n\n.ion-chevron-left:before { content: \"\\f124\"; }\n\n.ion-chevron-right:before { content: \"\\f125\"; }\n\n.ion-chevron-up:before { content: \"\\f126\"; }\n\n.ion-clipboard:before { content: \"\\f127\"; }\n\n.ion-clock:before { content: \"\\f26e\"; }\n\n.ion-close:before { content: \"\\f12a\"; }\n\n.ion-close-circled:before { content: \"\\f128\"; }\n\n.ion-close-round:before { content: \"\\f129\"; }\n\n.ion-closed-captioning:before { content: \"\\f317\"; }\n\n.ion-cloud:before { content: \"\\f12b\"; }\n\n.ion-code:before { content: \"\\f271\"; }\n\n.ion-code-download:before { content: \"\\f26f\"; }\n\n.ion-code-working:before { content: \"\\f270\"; }\n\n.ion-coffee:before { content: \"\\f272\"; }\n\n.ion-compass:before { content: \"\\f273\"; }\n\n.ion-compose:before { content: \"\\f12c\"; }\n\n.ion-connection-bars:before { content: \"\\f274\"; }\n\n.ion-contrast:before { content: \"\\f275\"; }\n\n.ion-crop:before { content: \"\\f3c1\"; }\n\n.ion-cube:before { content: \"\\f318\"; }\n\n.ion-disc:before { content: \"\\f12d\"; }\n\n.ion-document:before { content: \"\\f12f\"; }\n\n.ion-document-text:before { content: \"\\f12e\"; }\n\n.ion-drag:before { content: \"\\f130\"; }\n\n.ion-earth:before { content: \"\\f276\"; }\n\n.ion-easel:before { content: \"\\f3c2\"; }\n\n.ion-edit:before { content: \"\\f2bf\"; }\n\n.ion-egg:before { content: \"\\f277\"; }\n\n.ion-eject:before { content: \"\\f131\"; }\n\n.ion-email:before { content: \"\\f132\"; }\n\n.ion-email-unread:before { content: \"\\f3c3\"; }\n\n.ion-erlenmeyer-flask:before { content: \"\\f3c5\"; }\n\n.ion-erlenmeyer-flask-bubbles:before { content: \"\\f3c4\"; }\n\n.ion-eye:before { content: \"\\f133\"; }\n\n.ion-eye-disabled:before { content: \"\\f306\"; }\n\n.ion-female:before { content: \"\\f278\"; }\n\n.ion-filing:before { content: \"\\f134\"; }\n\n.ion-film-marker:before { content: \"\\f135\"; }\n\n.ion-fireball:before { content: \"\\f319\"; }\n\n.ion-flag:before { content: \"\\f279\"; }\n\n.ion-flame:before { content: \"\\f31a\"; }\n\n.ion-flash:before { content: \"\\f137\"; }\n\n.ion-flash-off:before { content: \"\\f136\"; }\n\n.ion-folder:before { content: \"\\f139\"; }\n\n.ion-fork:before { content: \"\\f27a\"; }\n\n.ion-fork-repo:before { content: \"\\f2c0\"; }\n\n.ion-forward:before { content: \"\\f13a\"; }\n\n.ion-funnel:before { content: \"\\f31b\"; }\n\n.ion-gear-a:before { content: \"\\f13d\"; }\n\n.ion-gear-b:before { content: \"\\f13e\"; }\n\n.ion-grid:before { content: \"\\f13f\"; }\n\n.ion-hammer:before { content: \"\\f27b\"; }\n\n.ion-happy:before { content: \"\\f31c\"; }\n\n.ion-happy-outline:before { content: \"\\f3c6\"; }\n\n.ion-headphone:before { content: \"\\f140\"; }\n\n.ion-heart:before { content: \"\\f141\"; }\n\n.ion-heart-broken:before { content: \"\\f31d\"; }\n\n.ion-help:before { content: \"\\f143\"; }\n\n.ion-help-buoy:before { content: \"\\f27c\"; }\n\n.ion-help-circled:before { content: \"\\f142\"; }\n\n.ion-home:before { content: \"\\f144\"; }\n\n.ion-icecream:before { content: \"\\f27d\"; }\n\n.ion-image:before { content: \"\\f147\"; }\n\n.ion-images:before { content: \"\\f148\"; }\n\n.ion-information:before { content: \"\\f14a\"; }\n\n.ion-information-circled:before { content: \"\\f149\"; }\n\n.ion-ionic:before { content: \"\\f14b\"; }\n\n.ion-ios-alarm:before { content: \"\\f3c8\"; }\n\n.ion-ios-alarm-outline:before { content: \"\\f3c7\"; }\n\n.ion-ios-albums:before { content: \"\\f3ca\"; }\n\n.ion-ios-albums-outline:before { content: \"\\f3c9\"; }\n\n.ion-ios-americanfootball:before { content: \"\\f3cc\"; }\n\n.ion-ios-americanfootball-outline:before { content: \"\\f3cb\"; }\n\n.ion-ios-analytics:before { content: \"\\f3ce\"; }\n\n.ion-ios-analytics-outline:before { content: \"\\f3cd\"; }\n\n.ion-ios-arrow-back:before { content: \"\\f3cf\"; }\n\n.ion-ios-arrow-down:before { content: \"\\f3d0\"; }\n\n.ion-ios-arrow-forward:before { content: \"\\f3d1\"; }\n\n.ion-ios-arrow-left:before { content: \"\\f3d2\"; }\n\n.ion-ios-arrow-right:before { content: \"\\f3d3\"; }\n\n.ion-ios-arrow-thin-down:before { content: \"\\f3d4\"; }\n\n.ion-ios-arrow-thin-left:before { content: \"\\f3d5\"; }\n\n.ion-ios-arrow-thin-right:before { content: \"\\f3d6\"; }\n\n.ion-ios-arrow-thin-up:before { content: \"\\f3d7\"; }\n\n.ion-ios-arrow-up:before { content: \"\\f3d8\"; }\n\n.ion-ios-at:before { content: \"\\f3da\"; }\n\n.ion-ios-at-outline:before { content: \"\\f3d9\"; }\n\n.ion-ios-barcode:before { content: \"\\f3dc\"; }\n\n.ion-ios-barcode-outline:before { content: \"\\f3db\"; }\n\n.ion-ios-baseball:before { content: \"\\f3de\"; }\n\n.ion-ios-baseball-outline:before { content: \"\\f3dd\"; }\n\n.ion-ios-basketball:before { content: \"\\f3e0\"; }\n\n.ion-ios-basketball-outline:before { content: \"\\f3df\"; }\n\n.ion-ios-bell:before { content: \"\\f3e2\"; }\n\n.ion-ios-bell-outline:before { content: \"\\f3e1\"; }\n\n.ion-ios-body:before { content: \"\\f3e4\"; }\n\n.ion-ios-body-outline:before { content: \"\\f3e3\"; }\n\n.ion-ios-bolt:before { content: \"\\f3e6\"; }\n\n.ion-ios-bolt-outline:before { content: \"\\f3e5\"; }\n\n.ion-ios-book:before { content: \"\\f3e8\"; }\n\n.ion-ios-book-outline:before { content: \"\\f3e7\"; }\n\n.ion-ios-bookmarks:before { content: \"\\f3ea\"; }\n\n.ion-ios-bookmarks-outline:before { content: \"\\f3e9\"; }\n\n.ion-ios-box:before { content: \"\\f3ec\"; }\n\n.ion-ios-box-outline:before { content: \"\\f3eb\"; }\n\n.ion-ios-briefcase:before { content: \"\\f3ee\"; }\n\n.ion-ios-briefcase-outline:before { content: \"\\f3ed\"; }\n\n.ion-ios-browsers:before { content: \"\\f3f0\"; }\n\n.ion-ios-browsers-outline:before { content: \"\\f3ef\"; }\n\n.ion-ios-calculator:before { content: \"\\f3f2\"; }\n\n.ion-ios-calculator-outline:before { content: \"\\f3f1\"; }\n\n.ion-ios-calendar:before { content: \"\\f3f4\"; }\n\n.ion-ios-calendar-outline:before { content: \"\\f3f3\"; }\n\n.ion-ios-camera:before { content: \"\\f3f6\"; }\n\n.ion-ios-camera-outline:before { content: \"\\f3f5\"; }\n\n.ion-ios-cart:before { content: \"\\f3f8\"; }\n\n.ion-ios-cart-outline:before { content: \"\\f3f7\"; }\n\n.ion-ios-chatboxes:before { content: \"\\f3fa\"; }\n\n.ion-ios-chatboxes-outline:before { content: \"\\f3f9\"; }\n\n.ion-ios-chatbubble:before { content: \"\\f3fc\"; }\n\n.ion-ios-chatbubble-outline:before { content: \"\\f3fb\"; }\n\n.ion-ios-checkmark:before { content: \"\\f3ff\"; }\n\n.ion-ios-checkmark-empty:before { content: \"\\f3fd\"; }\n\n.ion-ios-checkmark-outline:before { content: \"\\f3fe\"; }\n\n.ion-ios-circle-filled:before { content: \"\\f400\"; }\n\n.ion-ios-circle-outline:before { content: \"\\f401\"; }\n\n.ion-ios-clock:before { content: \"\\f403\"; }\n\n.ion-ios-clock-outline:before { content: \"\\f402\"; }\n\n.ion-ios-close:before { content: \"\\f406\"; }\n\n.ion-ios-close-empty:before { content: \"\\f404\"; }\n\n.ion-ios-close-outline:before { content: \"\\f405\"; }\n\n.ion-ios-cloud:before { content: \"\\f40c\"; }\n\n.ion-ios-cloud-download:before { content: \"\\f408\"; }\n\n.ion-ios-cloud-download-outline:before { content: \"\\f407\"; }\n\n.ion-ios-cloud-outline:before { content: \"\\f409\"; }\n\n.ion-ios-cloud-upload:before { content: \"\\f40b\"; }\n\n.ion-ios-cloud-upload-outline:before { content: \"\\f40a\"; }\n\n.ion-ios-cloudy:before { content: \"\\f410\"; }\n\n.ion-ios-cloudy-night:before { content: \"\\f40e\"; }\n\n.ion-ios-cloudy-night-outline:before { content: \"\\f40d\"; }\n\n.ion-ios-cloudy-outline:before { content: \"\\f40f\"; }\n\n.ion-ios-cog:before { content: \"\\f412\"; }\n\n.ion-ios-cog-outline:before { content: \"\\f411\"; }\n\n.ion-ios-color-filter:before { content: \"\\f414\"; }\n\n.ion-ios-color-filter-outline:before { content: \"\\f413\"; }\n\n.ion-ios-color-wand:before { content: \"\\f416\"; }\n\n.ion-ios-color-wand-outline:before { content: \"\\f415\"; }\n\n.ion-ios-compose:before { content: \"\\f418\"; }\n\n.ion-ios-compose-outline:before { content: \"\\f417\"; }\n\n.ion-ios-contact:before { content: \"\\f41a\"; }\n\n.ion-ios-contact-outline:before { content: \"\\f419\"; }\n\n.ion-ios-copy:before { content: \"\\f41c\"; }\n\n.ion-ios-copy-outline:before { content: \"\\f41b\"; }\n\n.ion-ios-crop:before { content: \"\\f41e\"; }\n\n.ion-ios-crop-strong:before { content: \"\\f41d\"; }\n\n.ion-ios-download:before { content: \"\\f420\"; }\n\n.ion-ios-download-outline:before { content: \"\\f41f\"; }\n\n.ion-ios-drag:before { content: \"\\f421\"; }\n\n.ion-ios-email:before { content: \"\\f423\"; }\n\n.ion-ios-email-outline:before { content: \"\\f422\"; }\n\n.ion-ios-eye:before { content: \"\\f425\"; }\n\n.ion-ios-eye-outline:before { content: \"\\f424\"; }\n\n.ion-ios-fastforward:before { content: \"\\f427\"; }\n\n.ion-ios-fastforward-outline:before { content: \"\\f426\"; }\n\n.ion-ios-filing:before { content: \"\\f429\"; }\n\n.ion-ios-filing-outline:before { content: \"\\f428\"; }\n\n.ion-ios-film:before { content: \"\\f42b\"; }\n\n.ion-ios-film-outline:before { content: \"\\f42a\"; }\n\n.ion-ios-flag:before { content: \"\\f42d\"; }\n\n.ion-ios-flag-outline:before { content: \"\\f42c\"; }\n\n.ion-ios-flame:before { content: \"\\f42f\"; }\n\n.ion-ios-flame-outline:before { content: \"\\f42e\"; }\n\n.ion-ios-flask:before { content: \"\\f431\"; }\n\n.ion-ios-flask-outline:before { content: \"\\f430\"; }\n\n.ion-ios-flower:before { content: \"\\f433\"; }\n\n.ion-ios-flower-outline:before { content: \"\\f432\"; }\n\n.ion-ios-folder:before { content: \"\\f435\"; }\n\n.ion-ios-folder-outline:before { content: \"\\f434\"; }\n\n.ion-ios-football:before { content: \"\\f437\"; }\n\n.ion-ios-football-outline:before { content: \"\\f436\"; }\n\n.ion-ios-game-controller-a:before { content: \"\\f439\"; }\n\n.ion-ios-game-controller-a-outline:before { content: \"\\f438\"; }\n\n.ion-ios-game-controller-b:before { content: \"\\f43b\"; }\n\n.ion-ios-game-controller-b-outline:before { content: \"\\f43a\"; }\n\n.ion-ios-gear:before { content: \"\\f43d\"; }\n\n.ion-ios-gear-outline:before { content: \"\\f43c\"; }\n\n.ion-ios-glasses:before { content: \"\\f43f\"; }\n\n.ion-ios-glasses-outline:before { content: \"\\f43e\"; }\n\n.ion-ios-grid-view:before { content: \"\\f441\"; }\n\n.ion-ios-grid-view-outline:before { content: \"\\f440\"; }\n\n.ion-ios-heart:before { content: \"\\f443\"; }\n\n.ion-ios-heart-outline:before { content: \"\\f442\"; }\n\n.ion-ios-help:before { content: \"\\f446\"; }\n\n.ion-ios-help-empty:before { content: \"\\f444\"; }\n\n.ion-ios-help-outline:before { content: \"\\f445\"; }\n\n.ion-ios-home:before { content: \"\\f448\"; }\n\n.ion-ios-home-outline:before { content: \"\\f447\"; }\n\n.ion-ios-infinite:before { content: \"\\f44a\"; }\n\n.ion-ios-infinite-outline:before { content: \"\\f449\"; }\n\n.ion-ios-information:before { content: \"\\f44d\"; }\n\n.ion-ios-information-empty:before { content: \"\\f44b\"; }\n\n.ion-ios-information-outline:before { content: \"\\f44c\"; }\n\n.ion-ios-ionic-outline:before { content: \"\\f44e\"; }\n\n.ion-ios-keypad:before { content: \"\\f450\"; }\n\n.ion-ios-keypad-outline:before { content: \"\\f44f\"; }\n\n.ion-ios-lightbulb:before { content: \"\\f452\"; }\n\n.ion-ios-lightbulb-outline:before { content: \"\\f451\"; }\n\n.ion-ios-list:before { content: \"\\f454\"; }\n\n.ion-ios-list-outline:before { content: \"\\f453\"; }\n\n.ion-ios-location:before { content: \"\\f456\"; }\n\n.ion-ios-location-outline:before { content: \"\\f455\"; }\n\n.ion-ios-locked:before { content: \"\\f458\"; }\n\n.ion-ios-locked-outline:before { content: \"\\f457\"; }\n\n.ion-ios-loop:before { content: \"\\f45a\"; }\n\n.ion-ios-loop-strong:before { content: \"\\f459\"; }\n\n.ion-ios-medical:before { content: \"\\f45c\"; }\n\n.ion-ios-medical-outline:before { content: \"\\f45b\"; }\n\n.ion-ios-medkit:before { content: \"\\f45e\"; }\n\n.ion-ios-medkit-outline:before { content: \"\\f45d\"; }\n\n.ion-ios-mic:before { content: \"\\f461\"; }\n\n.ion-ios-mic-off:before { content: \"\\f45f\"; }\n\n.ion-ios-mic-outline:before { content: \"\\f460\"; }\n\n.ion-ios-minus:before { content: \"\\f464\"; }\n\n.ion-ios-minus-empty:before { content: \"\\f462\"; }\n\n.ion-ios-minus-outline:before { content: \"\\f463\"; }\n\n.ion-ios-monitor:before { content: \"\\f466\"; }\n\n.ion-ios-monitor-outline:before { content: \"\\f465\"; }\n\n.ion-ios-moon:before { content: \"\\f468\"; }\n\n.ion-ios-moon-outline:before { content: \"\\f467\"; }\n\n.ion-ios-more:before { content: \"\\f46a\"; }\n\n.ion-ios-more-outline:before { content: \"\\f469\"; }\n\n.ion-ios-musical-note:before { content: \"\\f46b\"; }\n\n.ion-ios-musical-notes:before { content: \"\\f46c\"; }\n\n.ion-ios-navigate:before { content: \"\\f46e\"; }\n\n.ion-ios-navigate-outline:before { content: \"\\f46d\"; }\n\n.ion-ios-nutrition:before { content: \"\\f470\"; }\n\n.ion-ios-nutrition-outline:before { content: \"\\f46f\"; }\n\n.ion-ios-paper:before { content: \"\\f472\"; }\n\n.ion-ios-paper-outline:before { content: \"\\f471\"; }\n\n.ion-ios-paperplane:before { content: \"\\f474\"; }\n\n.ion-ios-paperplane-outline:before { content: \"\\f473\"; }\n\n.ion-ios-partlysunny:before { content: \"\\f476\"; }\n\n.ion-ios-partlysunny-outline:before { content: \"\\f475\"; }\n\n.ion-ios-pause:before { content: \"\\f478\"; }\n\n.ion-ios-pause-outline:before { content: \"\\f477\"; }\n\n.ion-ios-paw:before { content: \"\\f47a\"; }\n\n.ion-ios-paw-outline:before { content: \"\\f479\"; }\n\n.ion-ios-people:before { content: \"\\f47c\"; }\n\n.ion-ios-people-outline:before { content: \"\\f47b\"; }\n\n.ion-ios-person:before { content: \"\\f47e\"; }\n\n.ion-ios-person-outline:before { content: \"\\f47d\"; }\n\n.ion-ios-personadd:before { content: \"\\f480\"; }\n\n.ion-ios-personadd-outline:before { content: \"\\f47f\"; }\n\n.ion-ios-photos:before { content: \"\\f482\"; }\n\n.ion-ios-photos-outline:before { content: \"\\f481\"; }\n\n.ion-ios-pie:before { content: \"\\f484\"; }\n\n.ion-ios-pie-outline:before { content: \"\\f483\"; }\n\n.ion-ios-pint:before { content: \"\\f486\"; }\n\n.ion-ios-pint-outline:before { content: \"\\f485\"; }\n\n.ion-ios-play:before { content: \"\\f488\"; }\n\n.ion-ios-play-outline:before { content: \"\\f487\"; }\n\n.ion-ios-plus:before { content: \"\\f48b\"; }\n\n.ion-ios-plus-empty:before { content: \"\\f489\"; }\n\n.ion-ios-plus-outline:before { content: \"\\f48a\"; }\n\n.ion-ios-pricetag:before { content: \"\\f48d\"; }\n\n.ion-ios-pricetag-outline:before { content: \"\\f48c\"; }\n\n.ion-ios-pricetags:before { content: \"\\f48f\"; }\n\n.ion-ios-pricetags-outline:before { content: \"\\f48e\"; }\n\n.ion-ios-printer:before { content: \"\\f491\"; }\n\n.ion-ios-printer-outline:before { content: \"\\f490\"; }\n\n.ion-ios-pulse:before { content: \"\\f493\"; }\n\n.ion-ios-pulse-strong:before { content: \"\\f492\"; }\n\n.ion-ios-rainy:before { content: \"\\f495\"; }\n\n.ion-ios-rainy-outline:before { content: \"\\f494\"; }\n\n.ion-ios-recording:before { content: \"\\f497\"; }\n\n.ion-ios-recording-outline:before { content: \"\\f496\"; }\n\n.ion-ios-redo:before { content: \"\\f499\"; }\n\n.ion-ios-redo-outline:before { content: \"\\f498\"; }\n\n.ion-ios-refresh:before { content: \"\\f49c\"; }\n\n.ion-ios-refresh-empty:before { content: \"\\f49a\"; }\n\n.ion-ios-refresh-outline:before { content: \"\\f49b\"; }\n\n.ion-ios-reload:before { content: \"\\f49d\"; }\n\n.ion-ios-reverse-camera:before { content: \"\\f49f\"; }\n\n.ion-ios-reverse-camera-outline:before { content: \"\\f49e\"; }\n\n.ion-ios-rewind:before { content: \"\\f4a1\"; }\n\n.ion-ios-rewind-outline:before { content: \"\\f4a0\"; }\n\n.ion-ios-rose:before { content: \"\\f4a3\"; }\n\n.ion-ios-rose-outline:before { content: \"\\f4a2\"; }\n\n.ion-ios-search:before { content: \"\\f4a5\"; }\n\n.ion-ios-search-strong:before { content: \"\\f4a4\"; }\n\n.ion-ios-settings:before { content: \"\\f4a7\"; }\n\n.ion-ios-settings-strong:before { content: \"\\f4a6\"; }\n\n.ion-ios-shuffle:before { content: \"\\f4a9\"; }\n\n.ion-ios-shuffle-strong:before { content: \"\\f4a8\"; }\n\n.ion-ios-skipbackward:before { content: \"\\f4ab\"; }\n\n.ion-ios-skipbackward-outline:before { content: \"\\f4aa\"; }\n\n.ion-ios-skipforward:before { content: \"\\f4ad\"; }\n\n.ion-ios-skipforward-outline:before { content: \"\\f4ac\"; }\n\n.ion-ios-snowy:before { content: \"\\f4ae\"; }\n\n.ion-ios-speedometer:before { content: \"\\f4b0\"; }\n\n.ion-ios-speedometer-outline:before { content: \"\\f4af\"; }\n\n.ion-ios-star:before { content: \"\\f4b3\"; }\n\n.ion-ios-star-half:before { content: \"\\f4b1\"; }\n\n.ion-ios-star-outline:before { content: \"\\f4b2\"; }\n\n.ion-ios-stopwatch:before { content: \"\\f4b5\"; }\n\n.ion-ios-stopwatch-outline:before { content: \"\\f4b4\"; }\n\n.ion-ios-sunny:before { content: \"\\f4b7\"; }\n\n.ion-ios-sunny-outline:before { content: \"\\f4b6\"; }\n\n.ion-ios-telephone:before { content: \"\\f4b9\"; }\n\n.ion-ios-telephone-outline:before { content: \"\\f4b8\"; }\n\n.ion-ios-tennisball:before { content: \"\\f4bb\"; }\n\n.ion-ios-tennisball-outline:before { content: \"\\f4ba\"; }\n\n.ion-ios-thunderstorm:before { content: \"\\f4bd\"; }\n\n.ion-ios-thunderstorm-outline:before { content: \"\\f4bc\"; }\n\n.ion-ios-time:before { content: \"\\f4bf\"; }\n\n.ion-ios-time-outline:before { content: \"\\f4be\"; }\n\n.ion-ios-timer:before { content: \"\\f4c1\"; }\n\n.ion-ios-timer-outline:before { content: \"\\f4c0\"; }\n\n.ion-ios-toggle:before { content: \"\\f4c3\"; }\n\n.ion-ios-toggle-outline:before { content: \"\\f4c2\"; }\n\n.ion-ios-trash:before { content: \"\\f4c5\"; }\n\n.ion-ios-trash-outline:before { content: \"\\f4c4\"; }\n\n.ion-ios-undo:before { content: \"\\f4c7\"; }\n\n.ion-ios-undo-outline:before { content: \"\\f4c6\"; }\n\n.ion-ios-unlocked:before { content: \"\\f4c9\"; }\n\n.ion-ios-unlocked-outline:before { content: \"\\f4c8\"; }\n\n.ion-ios-upload:before { content: \"\\f4cb\"; }\n\n.ion-ios-upload-outline:before { content: \"\\f4ca\"; }\n\n.ion-ios-videocam:before { content: \"\\f4cd\"; }\n\n.ion-ios-videocam-outline:before { content: \"\\f4cc\"; }\n\n.ion-ios-volume-high:before { content: \"\\f4ce\"; }\n\n.ion-ios-volume-low:before { content: \"\\f4cf\"; }\n\n.ion-ios-wineglass:before { content: \"\\f4d1\"; }\n\n.ion-ios-wineglass-outline:before { content: \"\\f4d0\"; }\n\n.ion-ios-world:before { content: \"\\f4d3\"; }\n\n.ion-ios-world-outline:before { content: \"\\f4d2\"; }\n\n.ion-ipad:before { content: \"\\f1f9\"; }\n\n.ion-iphone:before { content: \"\\f1fa\"; }\n\n.ion-ipod:before { content: \"\\f1fb\"; }\n\n.ion-jet:before { content: \"\\f295\"; }\n\n.ion-key:before { content: \"\\f296\"; }\n\n.ion-knife:before { content: \"\\f297\"; }\n\n.ion-laptop:before { content: \"\\f1fc\"; }\n\n.ion-leaf:before { content: \"\\f1fd\"; }\n\n.ion-levels:before { content: \"\\f298\"; }\n\n.ion-lightbulb:before { content: \"\\f299\"; }\n\n.ion-link:before { content: \"\\f1fe\"; }\n\n.ion-load-a:before { content: \"\\f29a\"; }\n\n.ion-load-b:before { content: \"\\f29b\"; }\n\n.ion-load-c:before { content: \"\\f29c\"; }\n\n.ion-load-d:before { content: \"\\f29d\"; }\n\n.ion-location:before { content: \"\\f1ff\"; }\n\n.ion-lock-combination:before { content: \"\\f4d4\"; }\n\n.ion-locked:before { content: \"\\f200\"; }\n\n.ion-log-in:before { content: \"\\f29e\"; }\n\n.ion-log-out:before { content: \"\\f29f\"; }\n\n.ion-loop:before { content: \"\\f201\"; }\n\n.ion-magnet:before { content: \"\\f2a0\"; }\n\n.ion-male:before { content: \"\\f2a1\"; }\n\n.ion-man:before { content: \"\\f202\"; }\n\n.ion-map:before { content: \"\\f203\"; }\n\n.ion-medkit:before { content: \"\\f2a2\"; }\n\n.ion-merge:before { content: \"\\f33f\"; }\n\n.ion-mic-a:before { content: \"\\f204\"; }\n\n.ion-mic-b:before { content: \"\\f205\"; }\n\n.ion-mic-c:before { content: \"\\f206\"; }\n\n.ion-minus:before { content: \"\\f209\"; }\n\n.ion-minus-circled:before { content: \"\\f207\"; }\n\n.ion-minus-round:before { content: \"\\f208\"; }\n\n.ion-model-s:before { content: \"\\f2c1\"; }\n\n.ion-monitor:before { content: \"\\f20a\"; }\n\n.ion-more:before { content: \"\\f20b\"; }\n\n.ion-mouse:before { content: \"\\f340\"; }\n\n.ion-music-note:before { content: \"\\f20c\"; }\n\n.ion-navicon:before { content: \"\\f20e\"; }\n\n.ion-navicon-round:before { content: \"\\f20d\"; }\n\n.ion-navigate:before { content: \"\\f2a3\"; }\n\n.ion-network:before { content: \"\\f341\"; }\n\n.ion-no-smoking:before { content: \"\\f2c2\"; }\n\n.ion-nuclear:before { content: \"\\f2a4\"; }\n\n.ion-outlet:before { content: \"\\f342\"; }\n\n.ion-paintbrush:before { content: \"\\f4d5\"; }\n\n.ion-paintbucket:before { content: \"\\f4d6\"; }\n\n.ion-paper-airplane:before { content: \"\\f2c3\"; }\n\n.ion-paperclip:before { content: \"\\f20f\"; }\n\n.ion-pause:before { content: \"\\f210\"; }\n\n.ion-person:before { content: \"\\f213\"; }\n\n.ion-person-add:before { content: \"\\f211\"; }\n\n.ion-person-stalker:before { content: \"\\f212\"; }\n\n.ion-pie-graph:before { content: \"\\f2a5\"; }\n\n.ion-pin:before { content: \"\\f2a6\"; }\n\n.ion-pinpoint:before { content: \"\\f2a7\"; }\n\n.ion-pizza:before { content: \"\\f2a8\"; }\n\n.ion-plane:before { content: \"\\f214\"; }\n\n.ion-planet:before { content: \"\\f343\"; }\n\n.ion-play:before { content: \"\\f215\"; }\n\n.ion-playstation:before { content: \"\\f30a\"; }\n\n.ion-plus:before { content: \"\\f218\"; }\n\n.ion-plus-circled:before { content: \"\\f216\"; }\n\n.ion-plus-round:before { content: \"\\f217\"; }\n\n.ion-podium:before { content: \"\\f344\"; }\n\n.ion-pound:before { content: \"\\f219\"; }\n\n.ion-power:before { content: \"\\f2a9\"; }\n\n.ion-pricetag:before { content: \"\\f2aa\"; }\n\n.ion-pricetags:before { content: \"\\f2ab\"; }\n\n.ion-printer:before { content: \"\\f21a\"; }\n\n.ion-pull-request:before { content: \"\\f345\"; }\n\n.ion-qr-scanner:before { content: \"\\f346\"; }\n\n.ion-quote:before { content: \"\\f347\"; }\n\n.ion-radio-waves:before { content: \"\\f2ac\"; }\n\n.ion-record:before { content: \"\\f21b\"; }\n\n.ion-refresh:before { content: \"\\f21c\"; }\n\n.ion-reply:before { content: \"\\f21e\"; }\n\n.ion-reply-all:before { content: \"\\f21d\"; }\n\n.ion-ribbon-a:before { content: \"\\f348\"; }\n\n.ion-ribbon-b:before { content: \"\\f349\"; }\n\n.ion-sad:before { content: \"\\f34a\"; }\n\n.ion-sad-outline:before { content: \"\\f4d7\"; }\n\n.ion-scissors:before { content: \"\\f34b\"; }\n\n.ion-search:before { content: \"\\f21f\"; }\n\n.ion-settings:before { content: \"\\f2ad\"; }\n\n.ion-share:before { content: \"\\f220\"; }\n\n.ion-shuffle:before { content: \"\\f221\"; }\n\n.ion-skip-backward:before { content: \"\\f222\"; }\n\n.ion-skip-forward:before { content: \"\\f223\"; }\n\n.ion-social-android:before { content: \"\\f225\"; }\n\n.ion-social-android-outline:before { content: \"\\f224\"; }\n\n.ion-social-angular:before { content: \"\\f4d9\"; }\n\n.ion-social-angular-outline:before { content: \"\\f4d8\"; }\n\n.ion-social-apple:before { content: \"\\f227\"; }\n\n.ion-social-apple-outline:before { content: \"\\f226\"; }\n\n.ion-social-bitcoin:before { content: \"\\f2af\"; }\n\n.ion-social-bitcoin-outline:before { content: \"\\f2ae\"; }\n\n.ion-social-buffer:before { content: \"\\f229\"; }\n\n.ion-social-buffer-outline:before { content: \"\\f228\"; }\n\n.ion-social-chrome:before { content: \"\\f4db\"; }\n\n.ion-social-chrome-outline:before { content: \"\\f4da\"; }\n\n.ion-social-codepen:before { content: \"\\f4dd\"; }\n\n.ion-social-codepen-outline:before { content: \"\\f4dc\"; }\n\n.ion-social-css3:before { content: \"\\f4df\"; }\n\n.ion-social-css3-outline:before { content: \"\\f4de\"; }\n\n.ion-social-designernews:before { content: \"\\f22b\"; }\n\n.ion-social-designernews-outline:before { content: \"\\f22a\"; }\n\n.ion-social-dribbble:before { content: \"\\f22d\"; }\n\n.ion-social-dribbble-outline:before { content: \"\\f22c\"; }\n\n.ion-social-dropbox:before { content: \"\\f22f\"; }\n\n.ion-social-dropbox-outline:before { content: \"\\f22e\"; }\n\n.ion-social-euro:before { content: \"\\f4e1\"; }\n\n.ion-social-euro-outline:before { content: \"\\f4e0\"; }\n\n.ion-social-facebook:before { content: \"\\f231\"; }\n\n.ion-social-facebook-outline:before { content: \"\\f230\"; }\n\n.ion-social-foursquare:before { content: \"\\f34d\"; }\n\n.ion-social-foursquare-outline:before { content: \"\\f34c\"; }\n\n.ion-social-freebsd-devil:before { content: \"\\f2c4\"; }\n\n.ion-social-github:before { content: \"\\f233\"; }\n\n.ion-social-github-outline:before { content: \"\\f232\"; }\n\n.ion-social-google:before { content: \"\\f34f\"; }\n\n.ion-social-google-outline:before { content: \"\\f34e\"; }\n\n.ion-social-googleplus:before { content: \"\\f235\"; }\n\n.ion-social-googleplus-outline:before { content: \"\\f234\"; }\n\n.ion-social-hackernews:before { content: \"\\f237\"; }\n\n.ion-social-hackernews-outline:before { content: \"\\f236\"; }\n\n.ion-social-html5:before { content: \"\\f4e3\"; }\n\n.ion-social-html5-outline:before { content: \"\\f4e2\"; }\n\n.ion-social-instagram:before { content: \"\\f351\"; }\n\n.ion-social-instagram-outline:before { content: \"\\f350\"; }\n\n.ion-social-javascript:before { content: \"\\f4e5\"; }\n\n.ion-social-javascript-outline:before { content: \"\\f4e4\"; }\n\n.ion-social-linkedin:before { content: \"\\f239\"; }\n\n.ion-social-linkedin-outline:before { content: \"\\f238\"; }\n\n.ion-social-markdown:before { content: \"\\f4e6\"; }\n\n.ion-social-nodejs:before { content: \"\\f4e7\"; }\n\n.ion-social-octocat:before { content: \"\\f4e8\"; }\n\n.ion-social-pinterest:before { content: \"\\f2b1\"; }\n\n.ion-social-pinterest-outline:before { content: \"\\f2b0\"; }\n\n.ion-social-python:before { content: \"\\f4e9\"; }\n\n.ion-social-reddit:before { content: \"\\f23b\"; }\n\n.ion-social-reddit-outline:before { content: \"\\f23a\"; }\n\n.ion-social-rss:before { content: \"\\f23d\"; }\n\n.ion-social-rss-outline:before { content: \"\\f23c\"; }\n\n.ion-social-sass:before { content: \"\\f4ea\"; }\n\n.ion-social-skype:before { content: \"\\f23f\"; }\n\n.ion-social-skype-outline:before { content: \"\\f23e\"; }\n\n.ion-social-snapchat:before { content: \"\\f4ec\"; }\n\n.ion-social-snapchat-outline:before { content: \"\\f4eb\"; }\n\n.ion-social-tumblr:before { content: \"\\f241\"; }\n\n.ion-social-tumblr-outline:before { content: \"\\f240\"; }\n\n.ion-social-tux:before { content: \"\\f2c5\"; }\n\n.ion-social-twitch:before { content: \"\\f4ee\"; }\n\n.ion-social-twitch-outline:before { content: \"\\f4ed\"; }\n\n.ion-social-twitter:before { content: \"\\f243\"; }\n\n.ion-social-twitter-outline:before { content: \"\\f242\"; }\n\n.ion-social-usd:before { content: \"\\f353\"; }\n\n.ion-social-usd-outline:before { content: \"\\f352\"; }\n\n.ion-social-vimeo:before { content: \"\\f245\"; }\n\n.ion-social-vimeo-outline:before { content: \"\\f244\"; }\n\n.ion-social-whatsapp:before { content: \"\\f4f0\"; }\n\n.ion-social-whatsapp-outline:before { content: \"\\f4ef\"; }\n\n.ion-social-windows:before { content: \"\\f247\"; }\n\n.ion-social-windows-outline:before { content: \"\\f246\"; }\n\n.ion-social-wordpress:before { content: \"\\f249\"; }\n\n.ion-social-wordpress-outline:before { content: \"\\f248\"; }\n\n.ion-social-yahoo:before { content: \"\\f24b\"; }\n\n.ion-social-yahoo-outline:before { content: \"\\f24a\"; }\n\n.ion-social-yen:before { content: \"\\f4f2\"; }\n\n.ion-social-yen-outline:before { content: \"\\f4f1\"; }\n\n.ion-social-youtube:before { content: \"\\f24d\"; }\n\n.ion-social-youtube-outline:before { content: \"\\f24c\"; }\n\n.ion-soup-can:before { content: \"\\f4f4\"; }\n\n.ion-soup-can-outline:before { content: \"\\f4f3\"; }\n\n.ion-speakerphone:before { content: \"\\f2b2\"; }\n\n.ion-speedometer:before { content: \"\\f2b3\"; }\n\n.ion-spoon:before { content: \"\\f2b4\"; }\n\n.ion-star:before { content: \"\\f24e\"; }\n\n.ion-stats-bars:before { content: \"\\f2b5\"; }\n\n.ion-steam:before { content: \"\\f30b\"; }\n\n.ion-stop:before { content: \"\\f24f\"; }\n\n.ion-thermometer:before { content: \"\\f2b6\"; }\n\n.ion-thumbsdown:before { content: \"\\f250\"; }\n\n.ion-thumbsup:before { content: \"\\f251\"; }\n\n.ion-toggle:before { content: \"\\f355\"; }\n\n.ion-toggle-filled:before { content: \"\\f354\"; }\n\n.ion-transgender:before { content: \"\\f4f5\"; }\n\n.ion-trash-a:before { content: \"\\f252\"; }\n\n.ion-trash-b:before { content: \"\\f253\"; }\n\n.ion-trophy:before { content: \"\\f356\"; }\n\n.ion-tshirt:before { content: \"\\f4f7\"; }\n\n.ion-tshirt-outline:before { content: \"\\f4f6\"; }\n\n.ion-umbrella:before { content: \"\\f2b7\"; }\n\n.ion-university:before { content: \"\\f357\"; }\n\n.ion-unlocked:before { content: \"\\f254\"; }\n\n.ion-upload:before { content: \"\\f255\"; }\n\n.ion-usb:before { content: \"\\f2b8\"; }\n\n.ion-videocamera:before { content: \"\\f256\"; }\n\n.ion-volume-high:before { content: \"\\f257\"; }\n\n.ion-volume-low:before { content: \"\\f258\"; }\n\n.ion-volume-medium:before { content: \"\\f259\"; }\n\n.ion-volume-mute:before { content: \"\\f25a\"; }\n\n.ion-wand:before { content: \"\\f358\"; }\n\n.ion-waterdrop:before { content: \"\\f25b\"; }\n\n.ion-wifi:before { content: \"\\f25c\"; }\n\n.ion-wineglass:before { content: \"\\f2b9\"; }\n\n.ion-woman:before { content: \"\\f25d\"; }\n\n.ion-wrench:before { content: \"\\f2ba\"; }\n\n.ion-xbox:before { content: \"\\f30c\"; }\n"
  },
  {
    "path": "public/vendor/content-builder/assets/ionicons/selecticon-dark.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title></title>\n    <link href=\"css/ionicons.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        body {margin:0;overflow-x:hidden;overflow-y:auto;background:rgba(0,0,0,0.9);}\n        .container {}\n        .container > div {text-align:center;font-size:24px;cursor:pointer;margin: 0;display:inline-block;float:left;width:80px;height:80px;line-height:80px;border:rgba(255,255,255,0.1) 1px solid;box-sizing:border-box;color:rgba(255,255,255,0.5);}\n        .container > div > div {text-align:center;font-size:24px;cursor:pointer;margin: 0;display:inline-block;float:left;width:80px;height:80px;line-height:80px;border:rgba(255,255,255,0.1) 1px solid;box-sizing:border-box;}\n        .container > div:hover {background:rgba(120,120,120,0.2);}\n        .clearfix:before, .clearfix:after {content: \" \";display: table;}\n        .clearfix:after {clear: both;}\n        .clearfix {*zoom: 1;}\n        .bar > div {font-style:normal;font-size:17px;font-family: sans-serif;letter-spacing: 1px;height:50px;line-height:50px;}        \n        .container::-webkit-scrollbar {\n            width: 1em;\n        }\n        \n        .container::-webkit-scrollbar-track {\n            background:rgba(120,120,120,0.3);\n        }\n \n        .container::-webkit-scrollbar-thumb {\n          background-color:rgba(150,150,150,0.95);\n        }      \n    </style>\n</head>\n<body>\n\n<div class=\"container clearfix bar\" style=\"position:fixed;top:0;left:0;margin:0;width:100%;height:100px;\">\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-12\"> 12px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-14\"> 14px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-16\"> 16px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-18\"> 18px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-21\"> 21px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-24\"> 24px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-32\"> 32px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-48\"> 48px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-64\"> 64px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-80\"> 80px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-96\"> 96px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"\">default</i>&nbsp;</div>\n</div>\n<div class=\"container clearfix\" style=\"position:fixed;width:100%;height:calc((100% - 100px));top:100px;left:0;overflow-x:hidden;overflow-y:auto;\">\n<div>&nbsp;<i class=\"icon ion-alert\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-alert-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-add\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-add-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-alarm-clock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-alert\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-apps\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-archive\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-back\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropdown\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropdown-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropleft\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropleft-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropright\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropright-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropup\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropup-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-attach\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bicycle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-boat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bookmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bulb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-calendar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-call\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cancel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-car\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-chat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox-blank\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox-outline-blank\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkmark-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-clipboard\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-close\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud-done\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-color-palette\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-compass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-contact\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-contacts\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-contract\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-create\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-delete\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-desktop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-document\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-done\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-done-all\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-drafts\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-exit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-expand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-favorite\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-favorite-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-film\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-folder\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-folder-open\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-funnel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-globe\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-hand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-hangout\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-happy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-home\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-image\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-laptop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-list\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-locate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-lock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-mail\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-map\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-menu\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-microphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-microphone-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-more-horizontal\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-more-vertical\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-navigate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-notifications\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-notifications-none\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-notifications-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-open\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-options\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-people\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-person\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-person-add\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-phone-landscape\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-phone-portrait\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-pin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-plane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-playstore\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-print\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-radio-button-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-radio-button-on\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-refresh\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-remove\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-remove-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-restaurant\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-sad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-search\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-send\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-settings\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-share\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-share-alt\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-star\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-star-half\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-star-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-stopwatch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-subway\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-sunny\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-sync\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-textsms\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-time\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-train\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-unlock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-mute\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-walk\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-warning\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-watch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-wifi\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-aperture\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-archive\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-down-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-down-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-down-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-expand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-down-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-down-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-up-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-up-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-left-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-left-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-left-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-move\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-resize\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-return-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-return-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-right-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-right-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-right-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-shrink\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-swap\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-up-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-up-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-up-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-asterisk\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-at\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-backspace\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-backspace-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-charging\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-full\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-half\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-low\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-beaker\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-beer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bluetooth\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bonfire\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bookmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bowtie\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-briefcase\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bug\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-calculator\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-calendar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-card\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-cash\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbox\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbox-working\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatboxes\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbubble\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbubble-working\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbubbles\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-checkmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-checkmark-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-checkmark-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-clipboard\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-clock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-close\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-close-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-close-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-closed-captioning\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-cloud\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-code\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-code-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-code-working\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-coffee\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-compass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-compose\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-connection-bars\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-contrast\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-crop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-cube\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-disc\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-document\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-document-text\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-drag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-earth\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-easel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-edit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-egg\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-eject\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-email\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-email-unread\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-erlenmeyer-flask\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-erlenmeyer-flask-bubbles\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-eye\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-eye-disabled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-female\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-filing\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-film-marker\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-fireball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flame\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flash\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flash-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-folder\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-fork\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-fork-repo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-funnel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-gear-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-gear-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-grid\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-hammer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-happy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-happy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-headphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-heart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-heart-broken\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-help\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-help-buoy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-help-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-home\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-icecream\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-image\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-images\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-information\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-information-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ionic\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-alarm\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-alarm-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-albums\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-albums-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-americanfootball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-americanfootball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-analytics\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-analytics-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-back\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-at\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-at-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-barcode\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-barcode-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-baseball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-baseball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-basketball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-basketball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bell\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bell-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-body\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-body-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bolt\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bolt-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-book\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-book-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bookmarks\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bookmarks-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-box\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-box-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-briefcase\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-briefcase-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-browsers\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-browsers-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calculator\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calculator-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calendar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calendar-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-camera-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cart-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatboxes\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatboxes-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatbubble\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatbubble-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-checkmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-checkmark-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-checkmark-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-circle-filled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-circle-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-clock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-clock-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-close\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-close-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-close-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-download-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-upload-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy-night\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy-night-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cog\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cog-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-filter\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-filter-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-wand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-wand-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-compose\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-compose-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-contact\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-contact-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-copy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-copy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-crop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-crop-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-download-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-drag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-email\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-email-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-eye\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-eye-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-fastforward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-fastforward-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-filing\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-filing-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-film\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-film-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flag-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flame\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flame-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flask\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flask-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flower\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flower-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-folder\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-folder-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-football\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-football-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-a-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-b-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-gear\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-gear-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-glasses\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-glasses-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-grid-view\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-grid-view-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-heart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-heart-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-help\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-help-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-help-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-home\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-home-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-infinite\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-infinite-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-information\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-information-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-information-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-ionic-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-keypad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-keypad-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-lightbulb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-lightbulb-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-list\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-list-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-location\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-location-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-locked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-locked-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-loop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-loop-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medical\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medical-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medkit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medkit-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-mic\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-mic-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-mic-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-minus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-minus-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-minus-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-monitor\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-monitor-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-moon\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-moon-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-more\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-more-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-musical-note\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-musical-notes\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-navigate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-navigate-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-nutrition\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-nutrition-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paper\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paper-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paperplane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paperplane-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-partlysunny\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-partlysunny-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pause\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pause-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paw\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paw-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-people\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-people-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-person\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-person-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-personadd\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-personadd-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-photos\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-photos-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pie\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pie-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pint\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pint-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-play\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-play-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-plus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-plus-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-plus-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetag-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetags\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetags-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-printer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-printer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pulse\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pulse-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rainy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rainy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-recording\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-recording-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-redo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-redo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-refresh\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-refresh-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-refresh-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-reload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-reverse-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-reverse-camera-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rewind\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rewind-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rose\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rose-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-search\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-search-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-settings\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-settings-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-shuffle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-shuffle-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipbackward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipbackward-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipforward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipforward-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-snowy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-speedometer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-speedometer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-star\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-star-half\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-star-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-stopwatch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-stopwatch-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-sunny\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-sunny-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-telephone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-telephone-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-tennisball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-tennisball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-thunderstorm\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-thunderstorm-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-time\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-time-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-timer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-timer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-toggle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-toggle-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-trash\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-trash-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-undo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-undo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-unlocked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-unlocked-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-upload-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-videocam\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-videocam-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-volume-high\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-volume-low\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-wineglass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-wineglass-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-world\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-world-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ipad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-iphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ipod\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-jet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-key\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-knife\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-laptop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-leaf\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-levels\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-lightbulb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-link\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-d\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-location\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-lock-combination\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-locked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-log-in\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-log-out\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-loop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-magnet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-male\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-man\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-map\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-medkit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-merge\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mic-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mic-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mic-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-minus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-minus-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-minus-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-model-s\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-monitor\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-more\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mouse\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-music-note\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-navicon\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-navicon-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-navigate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-network\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-no-smoking\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-nuclear\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-outlet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paintbrush\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paintbucket\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paper-airplane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paperclip\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pause\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-person\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-person-add\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-person-stalker\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pie-graph\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pinpoint\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pizza\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-planet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-play\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-playstation\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plus-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plus-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-podium\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pound\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-power\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pricetag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pricetags\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-printer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pull-request\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-qr-scanner\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-quote\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-radio-waves\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-record\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-refresh\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-reply\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-reply-all\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ribbon-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ribbon-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-sad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-sad-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-scissors\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-search\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-settings\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-share\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-shuffle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-skip-backward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-skip-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-android\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-android-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-angular\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-angular-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-apple\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-apple-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-bitcoin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-bitcoin-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-buffer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-buffer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-chrome\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-chrome-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-codepen\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-codepen-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-css3\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-css3-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-designernews\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-designernews-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dribbble\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dribbble-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dropbox\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dropbox-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-euro\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-euro-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-facebook\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-facebook-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-foursquare\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-foursquare-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-freebsd-devil\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-github\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-github-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-google\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-google-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-googleplus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-googleplus-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-hackernews\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-hackernews-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-html5\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-html5-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-instagram\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-instagram-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-javascript\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-javascript-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-linkedin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-linkedin-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-markdown\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-nodejs\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-octocat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-pinterest\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-pinterest-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-python\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-reddit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-reddit-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-rss\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-rss-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-sass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-skype\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-skype-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-snapchat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-snapchat-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-tumblr\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-tumblr-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-tux\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitch-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitter\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitter-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-usd\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-usd-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-vimeo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-vimeo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-whatsapp\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-whatsapp-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-windows\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-windows-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-wordpress\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-wordpress-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yahoo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yahoo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yen\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yen-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-youtube\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-youtube-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-soup-can\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-soup-can-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-speakerphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-speedometer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-spoon\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-star\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-stats-bars\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-steam\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-stop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-thermometer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-thumbsdown\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-thumbsup\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-toggle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-toggle-filled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-transgender\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-trash-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-trash-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-trophy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-tshirt\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-tshirt-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-umbrella\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-university\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-unlocked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-usb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-videocamera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-high\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-low\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-medium\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-mute\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-waterdrop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wifi\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wineglass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-woman\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wrench\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-xbox\"> </i>&nbsp;</div>\n</div>\n\n\n\n<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js\"></script>\n<script>\n    jQuery(document).ready(function () {\n        if (parent.$activeIcon) {\n            jQuery('[data-cmd=\"size\"]').css('display', 'inline-block');\n        } else {\n            //   jQuery('[data-cmd=\"size\"]').css('display', 'none');\n        }\n        jQuery('body').unbind('hover');\n        jQuery('body').hover(function () {\n            if (parent.$activeIcon) {\n                jQuery('[data-cmd=\"size\"]').css('display', 'inline-block');\n            } else {\n                //  jQuery('[data-cmd=\"size\"]').css('display', 'none');\n            }\n        });\n        jQuery('.container > div').click(function () {\n            parent.applyIconClass(jQuery(this).find('i').attr('class'));\n        });\n    });\n</script>\n</body>\n</html>"
  },
  {
    "path": "public/vendor/content-builder/assets/ionicons/selecticon.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title></title>\n    <link href=\"css/ionicons.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        body {margin:0;overflow-x:hidden;overflow-y:auto;}\n        .container {}\n        .container > div {text-align:center;font-size:24px;cursor:pointer;margin: 0;display:inline-block;float:left;width:80px;height:80px;line-height:80px;border:#eee 1px solid;box-sizing:border-box;}\n        .container > div > div {text-align:center;font-size:24px;cursor:pointer;margin: 0;display:inline-block;float:left;width:80px;height:80px;line-height:80px;border:#eee 1px solid;box-sizing:border-box;}\n        .container div:hover {background:rgba(120,120,120,0.1);}\n        .clearfix:before, .clearfix:after {content: \" \";display: table;}\n        .clearfix:after {clear: both;}\n        .clearfix {*zoom: 1;}\n        .bar > div {font-style:normal;font-size:17px;font-family: sans-serif;letter-spacing: 1px;height:50px;line-height:50px;}\n    </style>\n</head>\n<body>\n\n<div class=\"container clearfix bar\" style=\"position:fixed;top:0;left:0;margin:0;background: #fff;width:100%;height:100px;\">\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-12\"> 12px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-14\"> 14px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-16\"> 16px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-18\"> 18px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-21\"> 21px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-24\"> 24px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-32\"> 32px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-48\"> 48px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-64\"> 64px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-80\"> 80px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"size-96\"> 96px </i>&nbsp;</div>\n    <div data-cmd=\"size\">&nbsp;<i class=\"\">default</i>&nbsp;</div>\n</div>\n<div class=\"container clearfix\" style=\"position:fixed;width:100%;height:calc((100% - 100px));top:100px;left:0;overflow-x:hidden;overflow-y:auto;background: #fafafa;\">\n<div>&nbsp;<i class=\"icon ion-alert\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-alert-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-add\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-add-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-alarm-clock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-alert\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-apps\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-archive\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-back\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropdown\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropdown-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropleft\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropleft-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropright\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropright-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropup\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-dropup-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-arrow-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-attach\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bicycle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-boat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bookmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bulb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-bus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-calendar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-call\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cancel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-car\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-chat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox-blank\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkbox-outline-blank\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-checkmark-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-clipboard\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-close\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud-done\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-cloud-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-color-palette\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-compass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-contact\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-contacts\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-contract\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-create\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-delete\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-desktop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-document\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-done\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-done-all\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-drafts\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-exit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-expand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-favorite\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-favorite-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-film\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-folder\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-folder-open\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-funnel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-globe\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-hand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-hangout\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-happy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-home\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-image\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-laptop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-list\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-locate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-lock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-mail\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-map\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-menu\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-microphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-microphone-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-more-horizontal\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-more-vertical\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-navigate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-notifications\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-notifications-none\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-notifications-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-open\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-options\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-people\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-person\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-person-add\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-phone-landscape\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-phone-portrait\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-pin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-plane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-playstore\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-print\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-radio-button-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-radio-button-on\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-refresh\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-remove\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-remove-circle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-restaurant\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-sad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-search\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-send\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-settings\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-share\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-share-alt\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-star\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-star-half\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-star-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-stopwatch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-subway\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-sunny\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-sync\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-textsms\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-time\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-train\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-unlock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-mute\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-volume-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-walk\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-warning\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-watch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-android-wifi\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-aperture\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-archive\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-down-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-down-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-down-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-expand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-down-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-down-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-up-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-graph-up-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-left-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-left-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-left-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-move\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-resize\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-return-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-return-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-right-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-right-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-right-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-shrink\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-swap\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-up-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-up-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-arrow-up-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-asterisk\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-at\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-backspace\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-backspace-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-charging\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-full\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-half\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-battery-low\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-beaker\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-beer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bluetooth\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bonfire\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bookmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bowtie\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-briefcase\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-bug\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-calculator\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-calendar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-card\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-cash\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbox\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbox-working\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatboxes\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbubble\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbubble-working\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chatbubbles\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-checkmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-checkmark-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-checkmark-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-chevron-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-clipboard\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-clock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-close\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-close-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-close-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-closed-captioning\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-cloud\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-code\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-code-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-code-working\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-coffee\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-compass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-compose\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-connection-bars\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-contrast\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-crop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-cube\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-disc\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-document\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-document-text\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-drag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-earth\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-easel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-edit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-egg\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-eject\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-email\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-email-unread\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-erlenmeyer-flask\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-erlenmeyer-flask-bubbles\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-eye\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-eye-disabled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-female\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-filing\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-film-marker\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-fireball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flame\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flash\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-flash-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-folder\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-fork\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-fork-repo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-funnel\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-gear-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-gear-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-grid\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-hammer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-happy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-happy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-headphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-heart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-heart-broken\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-help\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-help-buoy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-help-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-home\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-icecream\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-image\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-images\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-information\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-information-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ionic\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-alarm\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-alarm-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-albums\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-albums-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-americanfootball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-americanfootball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-analytics\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-analytics-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-back\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-down\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-left\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-right\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-thin-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-arrow-up\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-at\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-at-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-barcode\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-barcode-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-baseball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-baseball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-basketball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-basketball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bell\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bell-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-body\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-body-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bolt\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bolt-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-book\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-book-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bookmarks\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-bookmarks-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-box\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-box-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-briefcase\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-briefcase-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-browsers\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-browsers-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calculator\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calculator-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calendar\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-calendar-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-camera-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cart-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatboxes\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatboxes-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatbubble\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-chatbubble-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-checkmark\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-checkmark-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-checkmark-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-circle-filled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-circle-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-clock\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-clock-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-close\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-close-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-close-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-download-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloud-upload-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy-night\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy-night-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cloudy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cog\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-cog-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-filter\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-filter-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-wand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-color-wand-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-compose\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-compose-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-contact\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-contact-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-copy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-copy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-crop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-crop-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-download\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-download-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-drag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-email\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-email-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-eye\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-eye-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-fastforward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-fastforward-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-filing\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-filing-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-film\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-film-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flag-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flame\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flame-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flask\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flask-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flower\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-flower-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-folder\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-folder-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-football\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-football-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-a-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-game-controller-b-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-gear\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-gear-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-glasses\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-glasses-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-grid-view\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-grid-view-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-heart\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-heart-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-help\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-help-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-help-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-home\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-home-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-infinite\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-infinite-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-information\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-information-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-information-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-ionic-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-keypad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-keypad-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-lightbulb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-lightbulb-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-list\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-list-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-location\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-location-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-locked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-locked-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-loop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-loop-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medical\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medical-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medkit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-medkit-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-mic\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-mic-off\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-mic-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-minus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-minus-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-minus-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-monitor\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-monitor-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-moon\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-moon-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-more\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-more-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-musical-note\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-musical-notes\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-navigate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-navigate-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-nutrition\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-nutrition-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paper\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paper-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paperplane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paperplane-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-partlysunny\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-partlysunny-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pause\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pause-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paw\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-paw-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-people\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-people-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-person\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-person-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-personadd\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-personadd-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-photos\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-photos-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pie\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pie-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pint\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pint-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-play\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-play-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-plus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-plus-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-plus-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetag-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetags\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pricetags-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-printer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-printer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pulse\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-pulse-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rainy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rainy-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-recording\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-recording-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-redo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-redo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-refresh\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-refresh-empty\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-refresh-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-reload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-reverse-camera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-reverse-camera-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rewind\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rewind-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rose\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-rose-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-search\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-search-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-settings\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-settings-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-shuffle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-shuffle-strong\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipbackward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipbackward-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipforward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-skipforward-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-snowy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-speedometer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-speedometer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-star\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-star-half\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-star-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-stopwatch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-stopwatch-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-sunny\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-sunny-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-telephone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-telephone-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-tennisball\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-tennisball-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-thunderstorm\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-thunderstorm-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-time\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-time-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-timer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-timer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-toggle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-toggle-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-trash\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-trash-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-undo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-undo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-unlocked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-unlocked-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-upload-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-videocam\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-videocam-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-volume-high\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-volume-low\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-wineglass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-wineglass-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-world\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ios-world-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ipad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-iphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ipod\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-jet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-key\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-knife\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-laptop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-leaf\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-levels\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-lightbulb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-link\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-load-d\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-location\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-lock-combination\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-locked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-log-in\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-log-out\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-loop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-magnet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-male\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-man\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-map\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-medkit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-merge\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mic-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mic-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mic-c\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-minus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-minus-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-minus-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-model-s\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-monitor\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-more\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-mouse\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-music-note\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-navicon\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-navicon-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-navigate\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-network\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-no-smoking\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-nuclear\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-outlet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paintbrush\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paintbucket\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paper-airplane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-paperclip\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pause\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-person\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-person-add\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-person-stalker\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pie-graph\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pinpoint\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pizza\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plane\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-planet\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-play\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-playstation\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plus-circled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-plus-round\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-podium\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pound\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-power\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pricetag\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pricetags\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-printer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-pull-request\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-qr-scanner\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-quote\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-radio-waves\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-record\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-refresh\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-reply\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-reply-all\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ribbon-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-ribbon-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-sad\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-sad-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-scissors\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-search\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-settings\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-share\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-shuffle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-skip-backward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-skip-forward\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-android\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-android-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-angular\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-angular-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-apple\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-apple-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-bitcoin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-bitcoin-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-buffer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-buffer-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-chrome\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-chrome-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-codepen\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-codepen-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-css3\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-css3-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-designernews\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-designernews-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dribbble\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dribbble-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dropbox\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-dropbox-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-euro\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-euro-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-facebook\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-facebook-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-foursquare\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-foursquare-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-freebsd-devil\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-github\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-github-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-google\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-google-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-googleplus\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-googleplus-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-hackernews\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-hackernews-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-html5\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-html5-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-instagram\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-instagram-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-javascript\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-javascript-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-linkedin\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-linkedin-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-markdown\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-nodejs\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-octocat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-pinterest\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-pinterest-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-python\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-reddit\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-reddit-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-rss\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-rss-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-sass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-skype\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-skype-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-snapchat\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-snapchat-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-tumblr\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-tumblr-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-tux\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitch\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitch-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitter\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-twitter-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-usd\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-usd-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-vimeo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-vimeo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-whatsapp\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-whatsapp-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-windows\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-windows-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-wordpress\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-wordpress-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yahoo\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yahoo-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yen\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-yen-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-youtube\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-social-youtube-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-soup-can\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-soup-can-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-speakerphone\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-speedometer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-spoon\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-star\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-stats-bars\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-steam\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-stop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-thermometer\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-thumbsdown\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-thumbsup\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-toggle\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-toggle-filled\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-transgender\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-trash-a\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-trash-b\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-trophy\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-tshirt\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-tshirt-outline\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-umbrella\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-university\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-unlocked\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-upload\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-usb\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-videocamera\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-high\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-low\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-medium\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-volume-mute\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wand\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-waterdrop\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wifi\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wineglass\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-woman\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-wrench\"> </i>&nbsp;</div>\n<div>&nbsp;<i class=\"icon ion-xbox\"> </i>&nbsp;</div>\n</div>\n\n\n\n<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js\"></script>\n<script>\n    jQuery(document).ready(function () {\n        if (parent.$activeIcon) {\n            jQuery('[data-cmd=\"size\"]').css('display', 'inline-block');\n        } else {\n         //   jQuery('[data-cmd=\"size\"]').css('display', 'none');\n        }\n        jQuery('body').unbind('hover');\n        jQuery('body').hover(function () {      \n            if (parent.$activeIcon) {\n                jQuery('[data-cmd=\"size\"]').css('display', 'inline-block');\n            } else {\n              //  jQuery('[data-cmd=\"size\"]').css('display', 'none');\n            }\n        });\n        jQuery('.container > div').click(function () {\n            parent.applyIconClass(jQuery(this).find('i').attr('class'));\n        });\n    });\n</script>\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/content-bootstrap.css",
    "content": "/* @import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,800\"); */\n@import url(\"../icons/css/fontello.css\"); /* backward compatible */\n@import url(\"../ionicons/css/ionicons.min.css\");\n\n/**********************************\n    Adjustment for Bootstrap\n***********************************/\n\n.content-builder-data .container-fluid .row, .content-builder-data .container-fluid div .row {\n    padding-top: 10px;\n    padding-bottom: 10px;\n}\n.content-builder-data .row img {\n    margin: 1.4rem 0 1rem;\n}\n.content-builder-data .row-tool {\n    margin-left: -15px;\n}\n\n\n/**********************************\n    General\n***********************************/\n\n.content-builder-data {\n    margin: 0;\n    font-family: 'Nunito Sans';\n    font-size: 100%;\n    line-height: 2;\n    /* font-weight: 300; */\n}\n\n.content-builder-data p,\n.content-builder-data td,\n.content-builder-data li,\n.content-builder-data label {\n    font-size: 1.07rem;\n    line-height: 2;\n    /* font-weight: 300; */\n}\n\n.content-builder-data h1,\n.content-builder-data h2,\n.content-builder-data h3,\n.content-builder-data h4,\n.content-builder-data h5,\n.content-builder-data h6 {\n    font-family: 'Nunito Sans';\n    /* font-weight: 300; */\n    letter-spacing: 0px;\n    line-height: 1.4;\n}\n\n.wag-size-48 {font-size:48px}\n/* .content-builder-data h1 {font-size: 2.36rem;margin:0.4rem 0;} */\n.content-builder-data h2 {font-size: 2rem;margin:0.6rem 0;}\n.content-builder-data h3 {font-size: 1.73rem;margin:0.7rem 0;}\n.content-builder-data h4 {font-size: 1.6rem;margin:0.8rem 0;}\n.content-builder-data h5 {font-size: 1.48rem;margin:0.8rem 0;}\n.content-builder-data h6 {font-size: 1.3rem;margin:0.8rem 0;}\n.content-builder-data p {margin:1rem 0;}\n\n.content-builder-data .display { margin-bottom: 0.5rem;  }\n.content-builder-data .display h1 {\n    font-weight: 800;\n    font-size: 3rem;\n    line-height:1.4;\n    text-transform: uppercase;\n}\n.content-builder-data .display p {\n    font-size: 1.3rem;\n    font-style: italic;\n}\n\n.content-builder-data table td {padding:12px;}\n\n@media all and (max-width: 1024px) {\n    .content-builder-data h1 {font-size: 2rem;}\n    .content-builder-data h2 {font-size: 1.73rem;}\n    .content-builder-data h3 {font-size: 1.6rem;}\n    .content-builder-data h4 {font-size: 1.48rem;}\n    .content-builder-data h5 {font-size: 1.3rem;font-weight:bold;}\n    .content-builder-data h6 {font-size: 1rem;font-weight:bold;}\n    .content-builder-data .display h1 { font-size: 2.2rem; }\n    .content-builder-data .display p { font-size: 1.1rem; }\n}\n\n/* FIX: Preventing Chrome from wrapping text with span-style (during editing) */\n.content-builder-data .display h1 span {font-size: inherit;line-height:inherit;}\n.content-builder-data .display p span {font-size: inherit;line-height:inherit;}\n.content-builder-data h1 span {font-size: inherit;line-height:inherit;}\n.content-builder-data h2 span {font-size: inherit;line-height:inherit;}\n.content-builder-data h3 span {font-size: inherit;line-height:inherit;}\n.content-builder-data h4 span {font-size: inherit;line-height:inherit;}\n.content-builder-data h5 span {font-size: inherit;line-height:inherit;}\n.content-builder-data h6 span {font-size: inherit;line-height:inherit;}\n.content-builder-data p span {font-size: inherit; line-height:inherit;}\n.content-builder-data li span {font-size: inherit; line-height:inherit;}\n\n.content-builder-data a {\n    color: rgba(33, 191, 191);\n    display: initial;\n}\n.content-builder-data a:hover {\n    color: rgb(16 158 158);\n}\n.wagdt-blog-btn{\n    word-break: break-word;\n    padding: 8px 15px !important;\n    /* height: 45px !important; */\n    min-width: 160px !important;\n    display: inline-flex !important;\n    justify-content: center !important;\n    align-items: center !important;\n    border-radius: 100px !important;\n    font-size: 16px !important;\n    font-weight: 700 !important;\n    color: #fff !important;\n    border: none !important;\n    text-transform: uppercase !important;\n}\n.content-builder-data hr {border:none;border-top: rgba(0, 0, 0, 0.18) 1px solid;margin: 2rem 0 !important;}\n.content-builder-data img {max-width:100%;}\n.content-builder-data figure {margin:0}\n.content-builder-data ol, .content-builder-data ul {line-height: inherit; font-weight: inherit;}\n\n/**********************************\n    Elements\n***********************************/\n\n.center {text-align:center}\n.right {text-align:right}\n.left {text-align:left}\n.padding-20 {padding:20px}\n.padding-25 {padding:25px}\n.padding-30 {padding:30px}\n.padding-35 {padding:35px}\n.padding-40 {padding:40px}\n@media all and (max-width: 540px) {\n    .center {text-align:initial}\n    .right {text-align:initial}\n    .left {text-align:initial}\n    .padding-20 {padding:0}\n    .padding-25 {padding:0}\n    .padding-30 {padding:0}\n    .padding-35 {padding:0}\n    .padding-40 {padding:0}\n}\n\n.margin-0 {margin:0 !important}\n.margin-20 {margin:20px !important}\n.margin-25 {margin:25px !important}\n.margin-30 {margin:30px !important}\n.margin-35 {margin:35px !important}\n.margin-40 {margin:40px !important}\n.is-card { display:table; background-color:#fff;  }\n.is-card > * { display:table; }\n.is-card-circle { width:280px; height: 280px; border-radius:500px; padding:70px; margin:0 auto; }\n@media all and (max-width: 540px) {\n    .is-card-circle { zoom:0.7; -moz-transform: scale(0.7); }\n}\n.is-card-content-centered { display:table-cell;vertical-align:middle;text-align:center; }\n.max-390 { max-width:390px;margin:0 auto; }\n.shadow-1 { /* card */\n    -webkit-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    -moz-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n}\n.shadow-2 { /* screenshot */\n    -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    -moz-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n}\n.shadow-3 { /* highlight */\n    -webkit-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    -moz-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n}\n\nimg.circle {border-radius:500px;margin-top:0;}\nimg.bordered {border: #ccc 1px solid;}\n\n.embed-responsive {position: relative;display:block;height:0;padding:0;overflow:hidden;margin-top: 1.4em;margin-bottom: 1em;}\n.embed-responsive.embed-responsive-16by9 {padding-bottom: 56.25%;}\n.embed-responsive.embed-responsive-4by3 {padding-bottom: 75%;}\n.embed-responsive iframe {position: absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;}\n\n.list {position:relative;margin:1.5em 0;}\n.list > i {position:absolute;left:-3px;top:7px;font-size:1.7em;line-height:1;}\n.list > h2, .list > h3 {margin: 0 0 0 50px;}\n.list > p {margin: 5px 0 0 50px}\n\n.quote {position:relative;margin:1.5em 0;}\n.quote > i {position: absolute;top: -10px; left: -7px;font-size: 2em;}\n.quote > small {margin-left:50px;opacity: 0.7;font-size: 1em;}\n.quote > p {margin-left:50px;font-size: 1.5em;}\n@media all and (max-width: 540px) {\n    .quote > i {left: -15px;font-size:1.5em;}\n    .quote > small {margin-left:20px;ont-size: 1em;}\n    .quote > p {margin-left:20px;font-size: 1.2em;}\n}\n\n.is-social {line-height:1;margin-bottom:1.5em}\n.is-social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.is-social a:first-child > i {margin:0 15px 0 0}\n.is-social a:last-child > i {margin:0 0 0 15px}\n.is-social a:hover > i {color:#08c9b9;}\n.is-light-text .is-social a > i {color:#fff}\n.is-light-text .is-social a:hover > i {color:#fff}\n.is-dark-text .is-social a > i {color:#000}\n.is-dark-text .is-social a:hover > i {color:#000}\n\n/* backward compatible */\n.social {line-height:1;margin-bottom:1.5em}\n.social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.social a:first-child > i {margin:0 15px 0 0}\n.social a:last-child > i {margin:0 0 0 15px}\n.social a:hover > i {color:#08c9b9;}\n.is-light-text .social a > i {color:#fff}\n.is-light-text .social a:hover > i {color:#fff}\n\n.is-rounded-button-big {display:inline-block;}\n.is-rounded-button-big a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 110px; height: 110px;background-color: #aaa;}\n.is-rounded-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n.is-rounded-button-big a:first-child {margin:0 20px 0 0;}\n.is-rounded-button-big a:last-child {margin:0 0 0 20px;}\n\n.is-rounded-button-medium {display:inline-block;}\n.is-rounded-button-medium a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 70px; height: 70px;background-color: #aaa;}\n.is-rounded-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-big {display:inline-block;}\n.is-boxed-button-big a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 110px; height: 110px;background-color: #aaa;}\n.is-boxed-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n\n.is-boxed-button-big2 {display:inline-block;}\n.is-boxed-button-big2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 150px; height: 70px;background-color: #aaa;}\n.is-boxed-button-big2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:35px}\n\n.is-boxed-button-medium {display:inline-block;}\n.is-boxed-button-medium a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 70px; height: 70px;background-color: #aaa;}\n.is-boxed-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-medium2 {display:inline-block;}\n.is-boxed-button-medium2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 100px; height: 50px;background-color: #aaa;}\n.is-boxed-button-medium2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:25px}\n\n.is-boxed-button-small {display:inline-block;}\n.is-boxed-button-small a {display:table;float:left;text-align:center;margin:0 20px 0 0;width: 50px; height: 50px;background-color: #aaa;}\n.is-boxed-button-small a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:20px}\n\n.size-12 {font-size:12px !important}\n.size-14 {font-size:14px !important}\n.size-16 {font-size:16px !important}\n.size-18 {font-size:18px !important}\n.size-21 {font-size:21px !important}\n.size-24 {font-size:24px !important}\n.size-28 {font-size:28px !important}\n.size-32 {font-size:32px !important}\n.size-35 {font-size:35px !important}\n.size-38 {font-size:38px !important}\n.size-42 {font-size:42px !important}\n.size-46 {font-size:46px !important}\n.size-48 {font-size:48px !important}\n.size-50 {font-size:50px !important}\n.size-54 {font-size:54px !important}\n.size-60 {font-size:60px !important}\n.size-64 {font-size:64px !important}\n.size-68 {font-size:68px !important}\n.size-72 {font-size:72px !important}\n.size-76 {font-size:76px !important}\n.size-80 {font-size:80px !important}\n.size-84 {font-size:84px !important}\n.size-88 {font-size:88px !important}\n.size-92 {font-size:92px !important}\n.size-96 {font-size:96px !important}\n.size-100 {font-size:100px !important}\n.size-104 {font-size:104px !important}\n.size-108 {font-size:108px !important}\n.size-112 {font-size:112px !important}\n.size-116 {font-size:116px !important}\n.size-120 {font-size:120px !important}\n.size-124 {font-size:124px !important}\n.size-128 {font-size:128px !important}\n.size-132 {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 {font-size:12px !important}\n    .size-14 {font-size:14px !important}\n    .size-16 {font-size:16px !important}\n    .size-18 {font-size:18px !important}\n    .size-21 {font-size:21px !important}\n    .size-24 {font-size:24px !important}\n    .size-28 {font-size:26px !important}\n    .size-32 {font-size:28px !important}\n    .size-35 {font-size:30px !important}\n    .size-38 {font-size:32px !important}\n    .size-42 {font-size:34px !important}\n    .size-46 {font-size:36px !important}\n    .size-48 {font-size:38px !important}\n    .size-50 {font-size:40px !important}\n    .size-54 {font-size:42px !important}\n    .size-60 {font-size:44px !important}\n    .size-64 {font-size:46px !important}\n    .size-68 {font-size:48px !important}\n    .size-72 {font-size:50px !important}\n    .size-76 {font-size:52px !important}\n    .size-80 {font-size:54px !important}\n    .size-84 {font-size:56px !important}\n    .size-88 {font-size:58px !important}\n    .size-92 {font-size:60px !important}\n    .size-96 {font-size:62px !important}\n    .size-100 {font-size:64px !important}\n    .size-104 {font-size:66px !important}\n    .size-108 {font-size:68px !important}\n    .size-112 {font-size:70px !important}\n    .size-116 {font-size:72px !important}\n    .size-120 {font-size:74px !important}\n    .size-124 {font-size:76px !important}\n    .size-128 {font-size:78px !important}\n    .size-132 {font-size:80px !important}\n}\n/* If text wrapped with span-style during editing, don't apply the fix here (See line59) */\n.size-12 span {font-size:12px !important}\n.size-14 span {font-size:14px !important}\n.size-16 span {font-size:16px !important}\n.size-18 span {font-size:18px !important}\n.size-21 span {font-size:21px !important}\n.size-24 span {font-size:24px !important}\n.size-28 span {font-size:28px !important}\n.size-32 span {font-size:32px !important}\n.size-35 span {font-size:35px !important}\n.size-38 span {font-size:38px !important}\n.size-42 span {font-size:42px !important}\n.size-46 span {font-size:46px !important}\n.size-48 span {font-size:48px !important}\n.size-50 span {font-size:50px !important}\n.size-54 span {font-size:54px !important}\n.size-60 span {font-size:60px !important}\n.size-64 span {font-size:64px !important}\n.size-68 span {font-size:68px !important}\n.size-72 span {font-size:72px !important}\n.size-76 span {font-size:76px !important}\n.size-80 span {font-size:80px !important}\n.size-84 span {font-size:84px !important}\n.size-88 span {font-size:88px !important}\n.size-92 span {font-size:92px !important}\n.size-96 span {font-size:96px !important}\n.size-100 span {font-size:100px !important}\n.size-104 span {font-size:104px !important}\n.size-108 span {font-size:108px !important}\n.size-112 span {font-size:112px !important}\n.size-116 span {font-size:116px !important}\n.size-120 span {font-size:120px !important}\n.size-124 span {font-size:124px !important}\n.size-128 span {font-size:128px !important}\n.size-132 span {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 span {font-size:12px !important}\n    .size-14 span {font-size:14px !important}\n    .size-16 span {font-size:16px !important}\n    .size-18 span {font-size:18px !important}\n    .size-21 span {font-size:21px !important}\n    .size-24 span {font-size:24px !important}\n    .size-28 span {font-size:26px !important}\n    .size-32 span {font-size:28px !important}\n    .size-35 span {font-size:30px !important}\n    .size-38 span {font-size:32px !important}\n    .size-42 span {font-size:34px !important}\n    .size-46 span {font-size:36px !important}\n    .size-48 span {font-size:38px !important}\n    .size-50 span {font-size:40px !important}\n    .size-54 span {font-size:42px !important}\n    .size-60 span {font-size:44px !important}\n    .size-64 span {font-size:46px !important}\n    .size-68 span {font-size:48px !important}\n    .size-72 span {font-size:50px !important}\n    .size-76 span {font-size:52px !important}\n    .size-80 span {font-size:54px !important}\n    .size-84 span {font-size:56px !important}\n    .size-88 span {font-size:58px !important}\n    .size-92 span {font-size:60px !important}\n    .size-96 span {font-size:62px !important}\n    .size-100 span {font-size:64px !important}\n    .size-104 span {font-size:66px !important}\n    .size-108 span {font-size:68px !important}\n    .size-112 span {font-size:70px !important}\n    .size-116 span {font-size:72px !important}\n    .size-120 span {font-size:74px !important}\n    .size-124 span {font-size:76px !important}\n    .size-128 span {font-size:78px !important}\n    .size-132 span {font-size:80px !important}\n}\n\n/**********************************\n    Title Styles\n***********************************/\n\n.is-light-text * {color: #fff;}\n.is-dark-text * {color: #000;}\n\n/* Style 1 */\n\n.is-title1-96 {margin-top:20px;margin-bottom:20px;}\n.is-title1-80 {margin-top:15px;margin-bottom:15px;}\n.is-title1-64 {margin-top:15px;margin-bottom:15px;}\n.is-title1-48 {margin-top:15px;margin-bottom:15px;}\n.is-title1-48-c {margin-top:0px;margin-bottom:15px;}\n.is-title1-32 {margin-top:15px;margin-bottom:15px;}\n\n/* Style 2 */\n\n.is-title2-96 {margin-top:25px;margin-bottom:20px;}\n.is-title2-80 {margin-top:20px;margin-bottom:15px;}\n.is-title2-64 {margin-top:20px;margin-bottom:15px;}\n.is-title2-48 {margin-top:15px;margin-bottom:15px;}\n.is-title2-32 {margin-top:10px;margin-bottom:15px;}\n\n/* Style 3 */\n\n.is-title3-96 {margin-top:30px;margin-bottom:35px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-80 {margin-top:25px;margin-bottom:33px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-64 {margin-top:20px;margin-bottom:30px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-48 {margin-top:20px;margin-bottom:25px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-32 {margin-top:20px;margin-bottom:20px;padding:15px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title3-96 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-80 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-64 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-48 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-32 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title3-96 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-80 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-64 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-48 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-32 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n/* Style 4 */\n\n.is-title4-96 {margin-top:30px;margin-bottom:35px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-80 {margin-top:25px;margin-bottom:33px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-64 {margin-top:20px;margin-bottom:30px;padding:18px 28px;border:#000 2px solid;}\n.is-title4-48 {margin-top:20px;margin-bottom:25px;padding:18px 25px;border:#000 2px solid;}\n.is-title4-32 {margin-top:20px;margin-bottom:20px;padding:15px 20px;border:#000 2px solid;}\n\n.is-light-text .is-title4-96 {border:#fff 2px solid;}\n.is-light-text .is-title4-80 {border:#fff 2px solid;}\n.is-light-text .is-title4-64 {border:#fff 2px solid;}\n.is-light-text .is-title4-48 {border:#fff 2px solid;}\n.is-light-text .is-title4-32 {border:#fff 2px solid;}\n\n.is-dark-text .is-title4-96 {border:#000 2px solid;}\n.is-dark-text .is-title4-80 {border:#000 2px solid;}\n.is-dark-text .is-title4-64 {border:#000 2px solid;}\n.is-dark-text .is-title4-48 {border:#000 2px solid;}\n.is-dark-text .is-title4-32 {border:#000 2px solid;}\n\n/* Style 5 */\n\n.is-title5-96 {margin-top:10px;margin-bottom:35px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-80 {margin-top:10px;margin-bottom:33px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-64 {margin-top:10px;margin-bottom:30px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-48 {margin-top:10px;margin-bottom:25px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-32 {margin-top:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title5-96 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-80 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-64 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-48 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-32 {border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title5-96 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-80 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-64 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-48 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-32 {border-bottom:#000 2px solid;}\n\n/* Extra Title Styles */\n\n.is-title-lite {letter-spacing:3px;word-spacing:5px;}\n.is-title-lite.is-title3-96, .is-title-lite.is-title4-96, .is-title-lite.is-title5-96 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-80, .is-title-lite.is-title4-80, .is-title-lite.is-title5-80 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-64, .is-title-lite.is-title4-64, .is-title-lite.is-title5-64 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-48, .is-title-lite.is-title4-48, .is-title-lite.is-title5-48 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-32, .is-title-lite.is-title4-32, .is-title-lite.is-title5-32 {letter-spacing:3px;word-spacing:5px;}\n\n.is-title-bold {font-weight:800;}\n.is-title-bold.is-title3-96, .is-title-bold.is-title4-96, .is-title-bold.is-title5-96 {border-width:4px;}\n.is-title-bold.is-title3-80, .is-title-bold.is-title4-80, .is-title-bold.is-title5-80 {border-width:4px;}\n.is-title-bold.is-title3-64, .is-title-bold.is-title4-64, .is-title-bold.is-title5-64 {border-width:3px;}\n.is-title-bold.is-title3-48, .is-title-bold.is-title4-48, .is-title-bold.is-title5-48 {border-width:3px;}\n.is-title-bold.is-title3-32, .is-title-bold.is-title4-32, .is-title-bold.is-title5-32 {border-width:2px;}\n\n\n/**********************************\n    Into Styles\n***********************************/\n\n.is-info1 {margin-top:10px;margin-bottom:0px;font-style:italic;}\n.is-info1.size-21 {margin-top:12px;}\n.is-info1.size-24 {margin-top:15px;}\n\n.is-info2 {margin-top:10px;margin-bottom:0px;}\n.is-info2.size-21 {margin-top:12px;}\n.is-info2.size-24 {margin-top:15px;}\n\n\n/**********************************\n    Buttons Styles\n***********************************/\n\n.is-btn {\n    padding: 10px 50px;\n    font-size: 1rem;\n    line-height: 2rem;\n    border-radius: 0;\n    letter-spacing: 3px;\n    display: inline-block;\n    margin: 3px 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    /* white-space: nowrap; */\n    -webkit-transition: all 0.16s ease;\n    transition: all 0.16s ease;\n    /* width: calc(100% - -30px);\n    margin-left: -15px; */\n    background-color: rgba(33, 191, 191);\n    color: white !important;\n    /* border: none ;\n    outline: none;\n    box-shadow: none;\n    text-decoration: none; */\n}\n\n/* ghost1 default */\n.is-btn-ghost1 { color: #000; border: 2px solid #111; }\n\n/* ghost1 light-text */\n.is-light-text .is-btn-ghost1,\n.is-dark-text .is-light-text .is-btn-ghost1  { color: #fff; border: 1px solid #fff;}\n\n/* ghost1 dark-text */\n.is-dark-text .is-btn-ghost1,\n.is-light-text .is-dark-text .is-btn-ghost1 { color: #000; border: 1px solid #111; }\n\n/* ghost2 default */\n.is-btn-ghost2 { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191);}\n\n/* ghost2 light-text */\n.is-light-text .is-btn-ghost2,\n.is-dark-text .is-light-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n/* ghost2 dark-text */\n.is-dark-text .is-btn-ghost2,\n.is-light-text .is-dark-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n.is-btn-small { padding: 5px 25px; font-size: 0.85em; }\n.is-upper { text-transform:uppercase; }\n.is-rounded-30 { border-radius: 30px; }\n\n\n/**********************************\n    Header Image with Caption\n***********************************/\nfigure.hdr {\n\tposition: relative;\n\twidth: 100%;\n\toverflow:hidden;\n    background-color: #000;\n}\nfigure.hdr img {\n\tposition: relative;\n\tdisplay: block;\n\twidth: 100%;\n\topacity: 0.8;\n\t-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;\n\ttransition: opacity 0.35s, transform 0.35s;\n\t-webkit-transform: scale(1.2);\n\ttransform: scale(1.2);\n}\nfigure.hdr:hover img {\n\topacity: 0.5;\n\t-webkit-transform: scale(1);\n\ttransform: scale(1);\n}\nfigure.hdr figcaption {\n   \tposition: absolute;\n\ttop: auto;\n\tbottom: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 60%;\n\tpadding: 0 2.5em;\n\tcolor: #fff;\n\tfont-size: 1.55em;\n\ttext-align: center;\n\tbox-sizing: border-box;\n\tz-index:1;\n}\n/* Text */\nfigure.hdr h2 {\n\tfont-weight: 300;\n\ttext-transform: uppercase;\n    color: rgba(255,255,255,0.9);\n}\nfigure.hdr h2 span {\n\tfont-weight: 800;\n}\nfigure.hdr p {\n\tletter-spacing: 1px;\n\tfont-size: 68.5%;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2, figure.hdr p {\n\tmargin: 0;\n\tz-index:10000;\n}\n/* Cosmetic */\nfigure.hdr div {\n\theight: 100%;\n\tz-index:0;\n}\nfigure.hdr div::before,\nfigure.hdr div::after {\n\tposition: absolute;\n\tcontent: '';\n}\n/* One */\nfigure.one div::before {\n\ttop: 50px;\n\tright: 30px;\n\tbottom: 50px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.one div::after {\n\ttop: 30px;\n\tright: 50px;\n\tbottom: 30px;\n\tleft: 50px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Two */\nfigure.two div::before {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.two div::after {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Three */\nfigure.three figcaption {\n\theight: 70%;\n}\nfigure.three p {\n\tmargin: 1em 0 0;\n\tpadding: 2em;\n\tborder: 1px solid #fff;\n}\n/* Four */\nfigure.four figcaption {\n\theight: 60%;\n\ttext-align: left;\n}\nfigure.four p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 50px;\n\tleft: 50px;\n\tpadding: 2em;\n\tborder: 7px solid #fff;\n}\n/* Five */\nfigure.five figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.five h2 {\n    position: absolute;\n    left: 50px;\n\tright: 50px;\n\ttop: 10%;\n\tborder-bottom: 5px solid #fff;\n}\nfigure.five p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 10%;\n}\n/* Six */\nfigure.six figcaption {\n\theight: 70%;\n}\nfigure.six h2 {\n    padding-bottom: 3%;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.six p {\n\tpadding-top: 6%;\n}\n/* Seven */\nfigure.seven figcaption {\n\theight: 90%;\n\ttext-align:left;\n}\nfigure.seven h2 {\n\tborder-bottom: 3px solid #fff;\n}\nfigure.seven p {\n    padding-top: 1em;\n}\n/* Eight */\nfigure.eight figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.eight h2 {\n\tposition: absolute;\n\tleft: 50%;\n\tright: 50px;\n\tbottom: 10%;\n}\nfigure.eight p {\n    position: absolute;\n    left: 50px;\n\tright: 50%;\n\ttop: 10%;\n\tpadding-right:0.5em;\n\tborder-right: 1px solid #fff;\n}\n.wged-title {\n    margin: 0;\n    color: #a700a7;\n    padding: 20px;\n    font-weight: 700 !important;\n    font-size: 2em;\n}\n\n.wged-bg-title {\n    margin: 0;\n    color: #a700a7;padding: 20px;\n    background: rgba(167,0,167,.1);\n    font-weight: 700 !important;\n    font-size: 2em;\n}\n.wged-p {\n   margin: 0;\n   font-size: 18px !important;\n   font-weight: 400 !important;\n   color: #333333;\n   line-height: 2;\n   margin-bottom: 15px;\n}\n\n.wged-bg-main {\n    background: #f7f7f7;\n    margin-bottom: 1rem!important;\n    margin-top: 1rem!important;\n}\n\n.wged-main {\n    margin-bottom: 1rem!important;\n    margin-top: 1rem!important;\n}\n\n.btn-primary {\n    color: #fff !important;\n    background-color: rgba(33, 191, 191) !important;\n    border-color: rgba(33, 191, 191) !important;\n}\n.btn-primary:hover {\n    color: #fff !important;\n    background-color: rgba(33, 191, 191) !important;\n    border-color: rgba(33, 191, 191) !important;\n}\n.btn-default{\n    border-color: rgba(33, 191, 191) !important;\n    background: rgba(33, 191, 191) !important;\n    color: #fff !important;\n}\n\n.is-btn:hover\n{\n    color: white;\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/content-foundation.css",
    "content": "@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,800');\n@import url(\"../icons/css/fontello.css\"); /* backward compatible */\n@import url(\"../ionicons/css/ionicons.min.css\");\n\n\n/**********************************\n    Adjustment for Foundation\n***********************************/\n\n\n.container > .row, .container > div > .row {padding-top:10px;padding-bottom:10px}\n.row img { margin:1.4rem 0 1rem; }\n\n\n/**********************************\n    General\n***********************************/\n\nhtml { font-size: 100%; }\nbody {\n    margin: 0;\n    font-family: \"Open Sans\", sans-serif;\n    font-size: 100%;\n    line-height: 2;\n    font-weight: 300;\n}\np, td, li, label {\n    font-size: 1.07rem;\n    line-height: 2;\n    font-weight: 300;\n}\nh1, h2, h3, h4, h5, h6 {\n    font-family: \"Open Sans\", sans-serif;\n    font-weight: 300;\n    letter-spacing: 0px;\n    line-height: 1.4;\n}\n\nh1 {font-size: 2.36rem;margin:0.4rem 0;}\nh2 {font-size: 2rem;margin:0.6rem 0;}\nh3 {font-size: 1.73rem;margin:0.7rem 0;}\nh4 {font-size: 1.6rem;margin:0.8rem 0;}\nh5 {font-size: 1.48rem;margin:0.8rem 0;}\nh6 {font-size: 1.3rem;margin:0.8rem 0;}\np {margin:1rem 0;}\n\n.display { margin-bottom: 0.5rem;  }\n.display h1 {\n    font-weight: 800;\n    font-size: 3rem;\n    line-height:1.4;\n    text-transform: uppercase;\n}\n.display p {\n    font-size: 1.3rem;\n    font-style: italic;\n}\n\ntable td {padding:12px;}\n\n@media all and (max-width: 1024px) {\n    h1 {font-size: 1.9rem;}\n    h2 {font-size: 1.6rem;}\n    h3 {font-size: 1.3rem;}\n    h4 {font-size: 1.1rem;}\n    h5 {font-size: 0.9rem;font-weight:bold;}\n    h6 {font-size: 0.8rem;font-weight:bold;}\n    .display h1 { font-size: 2.2rem; }\n    .display p { font-size: 1.1rem; }\n}\n\n/* FIX: Preventing Chrome from wrapping text with span-style (during editing) */\n.display h1 span {font-size: inherit;line-height:inherit;}\n.display p span {font-size: inherit;line-height:inherit;}\nh1 span {font-size: inherit;line-height:inherit;}\nh2 span {font-size: inherit;line-height:inherit;}\nh3 span {font-size: inherit;line-height:inherit;}\nh4 span {font-size: inherit;line-height:inherit;}\nh5 span {font-size: inherit;line-height:inherit;}\nh6 span {font-size: inherit;line-height:inherit;}\np span {font-size: inherit; line-height:inherit;}\nli span {font-size: inherit; line-height:inherit;}\n\na {color: #009E91;}\nhr {border:none;border-top: rgba(0, 0, 0, 0.18) 1px solid;margin: 2rem 0 !important;}\nimg {max-width:100%;}\nfigure {margin:0}\nol, ul {line-height: inherit; font-weight: inherit;}\n\n\n/**********************************\n    Elements\n***********************************/\n\n.center {text-align:center}\n.right {text-align:right}\n.left {text-align:left}\n.padding-20 {padding:20px}\n.padding-25 {padding:25px}\n.padding-30 {padding:30px}\n.padding-35 {padding:35px}\n.padding-40 {padding:40px}\n@media all and (max-width: 540px) {\n    .center {text-align:initial}\n    .right {text-align:initial}\n    .left {text-align:initial}\n    .padding-20 {padding:0}\n    .padding-25 {padding:0}\n    .padding-30 {padding:0}\n    .padding-35 {padding:0}\n    .padding-40 {padding:0}\n}\n\n.margin-0 {margin:0 !important}\n.margin-20 {margin:20px !important}\n.margin-25 {margin:25px !important}\n.margin-30 {margin:30px !important}\n.margin-35 {margin:35px !important}\n.margin-40 {margin:40px !important}\n.is-card { display:table; background-color:#fff;  }\n.is-card > * { display:table; }\n.is-card-circle { width:280px; height: 280px; border-radius:500px; padding:70px; margin:0 auto; }\n@media all and (max-width: 540px) {\n    .is-card-circle { zoom:0.7; -moz-transform: scale(0.7); }\n}\n.is-card-content-centered { display:table-cell;vertical-align:middle;text-align:center; }\n.max-390 { max-width:390px;margin:0 auto; }\n.shadow-1 { /* card */\n    -webkit-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    -moz-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n}\n.shadow-2 { /* screenshot */\n    -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    -moz-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n}\n.shadow-3 { /* highlight */\n    -webkit-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    -moz-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n}\n\nimg.circle {border-radius:500px;margin-top:0;}\nimg.bordered {border: #ccc 1px solid;}\n\n.embed-responsive {position: relative;display:block;height:0;padding:0;overflow:hidden;margin-top: 1.4em;margin-bottom: 1em;}\n.embed-responsive.embed-responsive-16by9 {padding-bottom: 56.25%;}\n.embed-responsive.embed-responsive-4by3 {padding-bottom: 75%;}\n.embed-responsive iframe {position: absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;}\n\n.list {position:relative;margin:1.5em 0;}\n.list > i {position:absolute;left:-3px;top:7px;font-size:1.7em;line-height:1;}\n.list > h2, .list > h3 {margin: 0 0 0 50px;}\n.list > p {margin: 5px 0 0 50px}\n\n.quote {position:relative;margin:1.5em 0;}\n.quote > i {position: absolute;top: -10px; left: -7px;font-size: 2em;}\n.quote > small {margin-left:50px;opacity: 0.7;font-size: 1em;}\n.quote > p {margin-left:50px;font-size: 1.5em;}\n@media all and (max-width: 540px) {\n    .quote > i {left: -15px;font-size:1.5em;}\n    .quote > small {margin-left:20px;ont-size: 1em;}\n    .quote > p {margin-left:20px;font-size: 1.2em;}\n}\n\n.is-social {line-height:1;margin-bottom:1.5em}\n.is-social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.is-social a:first-child > i {margin:0 15px 0 0}\n.is-social a:last-child > i {margin:0 0 0 15px}\n.is-social a:hover > i {color:#08c9b9;}\n.is-light-text .is-social a > i {color:#fff}\n.is-light-text .is-social a:hover > i {color:#fff}\n.is-dark-text .is-social a > i {color:#000}\n.is-dark-text .is-social a:hover > i {color:#000}\n\n/* backward compatible */\n.social {line-height:1;margin-bottom:1.5em}\n.social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.social a:first-child > i {margin:0 15px 0 0}\n.social a:last-child > i {margin:0 0 0 15px}\n.social a:hover > i {color:#08c9b9;}\n.is-light-text .social a > i {color:#fff}\n.is-light-text .social a:hover > i {color:#fff}\n\n.is-rounded-button-big {display:inline-block;}\n.is-rounded-button-big a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 110px; height: 110px;background-color: #aaa;}\n.is-rounded-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n.is-rounded-button-big a:first-child {margin:0 20px 0 0;}\n.is-rounded-button-big a:last-child {margin:0 0 0 20px;}\n\n.is-rounded-button-medium {display:inline-block;}\n.is-rounded-button-medium a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 70px; height: 70px;background-color: #aaa;}\n.is-rounded-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-big {display:inline-block;}\n.is-boxed-button-big a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 110px; height: 110px;background-color: #aaa;}\n.is-boxed-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n\n.is-boxed-button-big2 {display:inline-block;}\n.is-boxed-button-big2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 150px; height: 70px;background-color: #aaa;}\n.is-boxed-button-big2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:35px}\n\n.is-boxed-button-medium {display:inline-block;}\n.is-boxed-button-medium a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 70px; height: 70px;background-color: #aaa;}\n.is-boxed-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-medium2 {display:inline-block;}\n.is-boxed-button-medium2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 100px; height: 50px;background-color: #aaa;}\n.is-boxed-button-medium2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:25px}\n\n.is-boxed-button-small {display:inline-block;}\n.is-boxed-button-small a {display:table;float:left;text-align:center;margin:0 20px 0 0;width: 50px; height: 50px;background-color: #aaa;}\n.is-boxed-button-small a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:20px}\n\n.size-12 {font-size:12px !important}\n.size-14 {font-size:14px !important}\n.size-16 {font-size:16px !important}\n.size-18 {font-size:18px !important}\n.size-21 {font-size:21px !important}\n.size-24 {font-size:24px !important}\n.size-28 {font-size:28px !important}\n.size-32 {font-size:32px !important}\n.size-35 {font-size:35px !important}\n.size-38 {font-size:38px !important}\n.size-42 {font-size:42px !important}\n.size-46 {font-size:46px !important}\n.size-48 {font-size:48px !important}\n.size-50 {font-size:50px !important}\n.size-54 {font-size:54px !important}\n.size-60 {font-size:60px !important}\n.size-64 {font-size:64px !important}\n.size-68 {font-size:68px !important}\n.size-72 {font-size:72px !important}\n.size-76 {font-size:76px !important}\n.size-80 {font-size:80px !important}\n.size-84 {font-size:84px !important}\n.size-88 {font-size:88px !important}\n.size-92 {font-size:92px !important}\n.size-96 {font-size:96px !important}\n.size-100 {font-size:100px !important}\n.size-104 {font-size:104px !important}\n.size-108 {font-size:108px !important}\n.size-112 {font-size:112px !important}\n.size-116 {font-size:116px !important}\n.size-120 {font-size:120px !important}\n.size-124 {font-size:124px !important}\n.size-128 {font-size:128px !important}\n.size-132 {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 {font-size:12px !important}\n    .size-14 {font-size:14px !important}\n    .size-16 {font-size:16px !important}\n    .size-18 {font-size:18px !important}\n    .size-21 {font-size:21px !important}\n    .size-24 {font-size:24px !important}\n    .size-28 {font-size:26px !important}\n    .size-32 {font-size:28px !important}\n    .size-35 {font-size:30px !important}\n    .size-38 {font-size:32px !important}\n    .size-42 {font-size:34px !important}\n    .size-46 {font-size:36px !important}\n    .size-48 {font-size:38px !important}\n    .size-50 {font-size:40px !important}\n    .size-54 {font-size:42px !important}\n    .size-60 {font-size:44px !important}\n    .size-64 {font-size:46px !important}\n    .size-68 {font-size:48px !important}\n    .size-72 {font-size:50px !important}\n    .size-76 {font-size:52px !important}\n    .size-80 {font-size:54px !important}\n    .size-84 {font-size:56px !important}\n    .size-88 {font-size:58px !important}\n    .size-92 {font-size:60px !important}\n    .size-96 {font-size:62px !important}\n    .size-100 {font-size:64px !important}\n    .size-104 {font-size:66px !important}\n    .size-108 {font-size:68px !important}\n    .size-112 {font-size:70px !important}\n    .size-116 {font-size:72px !important}\n    .size-120 {font-size:74px !important}\n    .size-124 {font-size:76px !important}\n    .size-128 {font-size:78px !important}\n    .size-132 {font-size:80px !important}\n}\n/* If text wrapped with span-style during editing, don't apply the fix here (See line59) */\n.size-12 span {font-size:12px !important}\n.size-14 span {font-size:14px !important}\n.size-16 span {font-size:16px !important}\n.size-18 span {font-size:18px !important}\n.size-21 span {font-size:21px !important}\n.size-24 span {font-size:24px !important}\n.size-28 span {font-size:28px !important}\n.size-32 span {font-size:32px !important}\n.size-35 span {font-size:35px !important}\n.size-38 span {font-size:38px !important}\n.size-42 span {font-size:42px !important}\n.size-46 span {font-size:46px !important}\n.size-48 span {font-size:48px !important}\n.size-50 span {font-size:50px !important}\n.size-54 span {font-size:54px !important}\n.size-60 span {font-size:60px !important}\n.size-64 span {font-size:64px !important}\n.size-68 span {font-size:68px !important}\n.size-72 span {font-size:72px !important}\n.size-76 span {font-size:76px !important}\n.size-80 span {font-size:80px !important}\n.size-84 span {font-size:84px !important}\n.size-88 span {font-size:88px !important}\n.size-92 span {font-size:92px !important}\n.size-96 span {font-size:96px !important}\n.size-100 span {font-size:100px !important}\n.size-104 span {font-size:104px !important}\n.size-108 span {font-size:108px !important}\n.size-112 span {font-size:112px !important}\n.size-116 span {font-size:116px !important}\n.size-120 span {font-size:120px !important}\n.size-124 span {font-size:124px !important}\n.size-128 span {font-size:128px !important}\n.size-132 span {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 span {font-size:12px !important}\n    .size-14 span {font-size:14px !important}\n    .size-16 span {font-size:16px !important}\n    .size-18 span {font-size:18px !important}\n    .size-21 span {font-size:21px !important}\n    .size-24 span {font-size:24px !important}\n    .size-28 span {font-size:26px !important}\n    .size-32 span {font-size:28px !important}\n    .size-35 span {font-size:30px !important}\n    .size-38 span {font-size:32px !important}\n    .size-42 span {font-size:34px !important}\n    .size-46 span {font-size:36px !important}\n    .size-48 span {font-size:38px !important}\n    .size-50 span {font-size:40px !important}\n    .size-54 span {font-size:42px !important}\n    .size-60 span {font-size:44px !important}\n    .size-64 span {font-size:46px !important}\n    .size-68 span {font-size:48px !important}\n    .size-72 span {font-size:50px !important}\n    .size-76 span {font-size:52px !important}\n    .size-80 span {font-size:54px !important}\n    .size-84 span {font-size:56px !important}\n    .size-88 span {font-size:58px !important}\n    .size-92 span {font-size:60px !important}\n    .size-96 span {font-size:62px !important}\n    .size-100 span {font-size:64px !important}\n    .size-104 span {font-size:66px !important}\n    .size-108 span {font-size:68px !important}\n    .size-112 span {font-size:70px !important}\n    .size-116 span {font-size:72px !important}\n    .size-120 span {font-size:74px !important}\n    .size-124 span {font-size:76px !important}\n    .size-128 span {font-size:78px !important}\n    .size-132 span {font-size:80px !important}\n}\n\n/**********************************\n    Title Styles\n***********************************/\n\n.is-light-text * {color: #fff;}\n.is-dark-text * {color: #000;}\n\n/* Style 1 */\n\n.is-title1-96 {margin-top:20px;margin-bottom:20px;}\n.is-title1-80 {margin-top:15px;margin-bottom:15px;}\n.is-title1-64 {margin-top:15px;margin-bottom:15px;}\n.is-title1-48 {margin-top:0px;margin-bottom:15px;}\n.is-title1-32 {margin-top:15px;margin-bottom:15px;}\n\n/* Style 2 */\n\n.is-title2-96 {margin-top:25px;margin-bottom:20px;}\n.is-title2-80 {margin-top:20px;margin-bottom:15px;}\n.is-title2-64 {margin-top:20px;margin-bottom:15px;}\n.is-title2-48 {margin-top:0px;margin-bottom:15px;}\n.is-title2-32 {margin-top:10px;margin-bottom:15px;}\n\n/* Style 3 */\n\n.is-title3-96 {margin-top:30px;margin-bottom:35px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-80 {margin-top:25px;margin-bottom:33px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-64 {margin-top:20px;margin-bottom:30px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-48 {margin-top:20px;margin-bottom:25px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-32 {margin-top:20px;margin-bottom:20px;padding:15px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title3-96 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-80 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-64 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-48 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-32 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title3-96 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-80 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-64 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-48 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-32 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n/* Style 4 */\n\n.is-title4-96 {margin-top:30px;margin-bottom:35px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-80 {margin-top:25px;margin-bottom:33px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-64 {margin-top:20px;margin-bottom:30px;padding:18px 28px;border:#000 2px solid;}\n.is-title4-48 {margin-top:20px;margin-bottom:25px;padding:18px 25px;border:#000 2px solid;}\n.is-title4-32 {margin-top:20px;margin-bottom:20px;padding:15px 20px;border:#000 2px solid;}\n\n.is-light-text .is-title4-96 {border:#fff 2px solid;}\n.is-light-text .is-title4-80 {border:#fff 2px solid;}\n.is-light-text .is-title4-64 {border:#fff 2px solid;}\n.is-light-text .is-title4-48 {border:#fff 2px solid;}\n.is-light-text .is-title4-32 {border:#fff 2px solid;}\n\n.is-dark-text .is-title4-96 {border:#000 2px solid;}\n.is-dark-text .is-title4-80 {border:#000 2px solid;}\n.is-dark-text .is-title4-64 {border:#000 2px solid;}\n.is-dark-text .is-title4-48 {border:#000 2px solid;}\n.is-dark-text .is-title4-32 {border:#000 2px solid;}\n\n/* Style 5 */\n\n.is-title5-96 {margin-top:10px;margin-bottom:35px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-80 {margin-top:10px;margin-bottom:33px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-64 {margin-top:10px;margin-bottom:30px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-48 {margin-top:10px;margin-bottom:25px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-32 {margin-top:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title5-96 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-80 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-64 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-48 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-32 {border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title5-96 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-80 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-64 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-48 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-32 {border-bottom:#000 2px solid;}\n\n/* Extra Title Styles */\n\n.is-title-lite {letter-spacing:3px;word-spacing:5px;}\n.is-title-lite.is-title3-96, .is-title-lite.is-title4-96, .is-title-lite.is-title5-96 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-80, .is-title-lite.is-title4-80, .is-title-lite.is-title5-80 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-64, .is-title-lite.is-title4-64, .is-title-lite.is-title5-64 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-48, .is-title-lite.is-title4-48, .is-title-lite.is-title5-48 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-32, .is-title-lite.is-title4-32, .is-title-lite.is-title5-32 {letter-spacing:3px;word-spacing:5px;}\n\n.is-title-bold {font-weight:800;}\n.is-title-bold.is-title3-96, .is-title-bold.is-title4-96, .is-title-bold.is-title5-96 {border-width:4px;}\n.is-title-bold.is-title3-80, .is-title-bold.is-title4-80, .is-title-bold.is-title5-80 {border-width:4px;}\n.is-title-bold.is-title3-64, .is-title-bold.is-title4-64, .is-title-bold.is-title5-64 {border-width:3px;}\n.is-title-bold.is-title3-48, .is-title-bold.is-title4-48, .is-title-bold.is-title5-48 {border-width:3px;}\n.is-title-bold.is-title3-32, .is-title-bold.is-title4-32, .is-title-bold.is-title5-32 {border-width:2px;}\n\n\n/**********************************\n    Into Styles\n***********************************/\n\n.is-info1 {margin-top:10px;margin-bottom:0px;font-style:italic;}\n.is-info1.size-21 {margin-top:12px;}\n.is-info1.size-24 {margin-top:15px;}\n\n.is-info2 {margin-top:10px;margin-bottom:0px;}\n.is-info2.size-21 {margin-top:12px;}\n.is-info2.size-24 {margin-top:15px;}\n\n\n/**********************************\n    Buttons Styles\n***********************************/\n\n.is-btn {\n    padding: 10px 50px;\n    font-size: 1rem;\n    line-height: 2rem;\n    border-radius: 0;\n    letter-spacing: 3px;\n    display: inline-block;\n    margin: 3px 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    /* white-space: nowrap; */\n    -webkit-transition: all 0.16s ease;\n    transition: all 0.16s ease;\n}\n\n/* ghost1 default */\n.is-btn-ghost1 { color: #000; border: 2px solid #111; }\n\n/* ghost1 light-text */\n.is-light-text .is-btn-ghost1,\n.is-dark-text .is-light-text .is-btn-ghost1  { color: #fff; border: 1px solid #fff;}\n\n/* ghost1 dark-text */\n.is-dark-text .is-btn-ghost1,\n.is-light-text .is-dark-text .is-btn-ghost1 { color: #000; border: 1px solid #111; }\n\n/* ghost2 default */\n.is-btn-ghost2 { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191);}\n\n/* ghost2 light-text */\n.is-light-text .is-btn-ghost2,\n.is-dark-text .is-light-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n/* ghost2 dark-text */\n.is-dark-text .is-btn-ghost2,\n.is-light-text .is-dark-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n.is-btn-small { padding: 5px 25px; font-size: 0.85em; }\n.is-upper { text-transform:uppercase; }\n.is-rounded-30 { border-radius: 30px; }\n\n\n/**********************************\n    Header Image with Caption\n***********************************/\nfigure.hdr {\n\tposition: relative;\n\twidth: 100%;\n\toverflow:hidden;\n    background-color: #000;\n}\nfigure.hdr img {\n\tposition: relative;\n\tdisplay: block;\n\twidth: 100%;\n\topacity: 0.8;\n\t-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;\n\ttransition: opacity 0.35s, transform 0.35s;\n\t-webkit-transform: scale(1.2);\n\ttransform: scale(1.2);\n}\nfigure.hdr:hover img {\n\topacity: 0.5;\n\t-webkit-transform: scale(1);\n\ttransform: scale(1);\n}\nfigure.hdr figcaption {\n   \tposition: absolute;\n\ttop: auto;\n\tbottom: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 60%;\n\tpadding: 0 2.5em;\n\tcolor: #fff;\n\tfont-size: 1.55em;\n\ttext-align: center;\n\tbox-sizing: border-box;\n\tz-index:1;\n}\n/* Text */\nfigure.hdr h2 {\n\tfont-weight: 300;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2 span {\n\tfont-weight: 800;\n}\nfigure.hdr p {\n\tletter-spacing: 1px;\n\tfont-size: 68.5%;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2, figure.hdr p {\n\tmargin: 0;\n\tz-index:10000;\n}\n/* Cosmetic */\nfigure.hdr div {\n\theight: 100%;\n\tz-index:0;\n}\nfigure.hdr div::before,\nfigure.hdr div::after {\n\tposition: absolute;\n\tcontent: '';\n}\n/* One */\nfigure.one div::before {\n\ttop: 50px;\n\tright: 30px;\n\tbottom: 50px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.one div::after {\n\ttop: 30px;\n\tright: 50px;\n\tbottom: 30px;\n\tleft: 50px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Two */\nfigure.two div::before {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.two div::after {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Three */\nfigure.three figcaption {\n\theight: 70%;\n}\nfigure.three p {\n\tmargin: 1em 0 0;\n\tpadding: 2em;\n\tborder: 1px solid #fff;\n}\n/* Four */\nfigure.four figcaption {\n\theight: 60%;\n\ttext-align: left;\n}\nfigure.four p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 50px;\n\tleft: 50px;\n\tpadding: 2em;\n\tborder: 7px solid #fff;\n}\n/* Five */\nfigure.five figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.five h2 {\n    position: absolute;\n    left: 50px;\n\tright: 50px;\n\ttop: 10%;\n\tborder-bottom: 5px solid #fff;\n}\nfigure.five p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 10%;\n}\n/* Six */\nfigure.six figcaption {\n\theight: 70%;\n}\nfigure.six h2 {\n    padding-bottom: 3%;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.six p {\n\tpadding-top: 6%;\n}\n/* Seven */\nfigure.seven figcaption {\n\theight: 90%;\n\ttext-align:left;\n}\nfigure.seven h2 {\n\tborder-bottom: 3px solid #fff;\n}\nfigure.seven p {\n    padding-top: 1em;\n}\n/* Eight */\nfigure.eight figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.eight h2 {\n\tposition: absolute;\n\tleft: 50%;\n\tright: 50px;\n\tbottom: 10%;\n}\nfigure.eight p {\n    position: absolute;\n    left: 50px;\n\tright: 50%;\n\ttop: 10%;\n\tpadding-right:0.5em;\n\tborder-right: 1px solid #fff;\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/content-material.css",
    "content": "@import url('https://fonts.googleapis.com/css?family=Roboto:regular,bold,italic,thin,light,bolditalic,black,medium&lang=en');\n@import url(\"../icons/css/fontello.css\"); /* backward compatible */\n@import url(\"../ionicons/css/ionicons.min.css\");\n\n\n/**********************************\n    Adjustment for Material\n***********************************/\n\n/*.mdl-grid {margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;}*/\n.mdl-cell {margin-top:0px;margin-bottom:0px;}\n.mdl-cell img {margin: 1.4rem 0 1rem; }\n\n\n/**********************************\n    General\n***********************************/\n\nhtml { font-size: 100%; }\nbody {\n    margin: 0;\n    font-family: \"Roboto\", \"Helvetica\", sans-serif;\n    font-size: 100%;\n    line-height: 2;\n    font-weight: 300;\n}\np, td, li, label {\n    font-size: 1.07rem;\n    line-height: 2;\n    font-weight: 300;\n}\nh1, h2, h3, h4, h5, h6 {\n    font-family: \"Roboto\", \"Helvetica\", sans-serif;\n    font-weight: 300;\n    letter-spacing: 1px;\n    line-height: 1.4;\n}\n\nh1 {font-size: 2.36rem;margin:0.4rem 0;}\nh2 {font-size: 2rem;margin:0.6rem 0;}\nh3 {font-size: 1.73rem;margin:0.7rem 0;}\nh4 {font-size: 1.6rem;margin:0.8rem 0;}\nh5 {font-size: 1.48rem;margin:0.8rem 0;}\nh6 {font-size: 1.3rem;margin:0.8rem 0;}\np {margin:1rem 0;}\n\n.display { margin-bottom: 0.5em;  }\n.display h1 {\n    font-weight: 800;\n    font-size: 3rem;\n    line-height:1.4;\n    text-transform: uppercase;\n}\n.display p {\n    font-size: 1.3rem;\n    font-style: italic;\n}\n\ntable td {padding:12px;}\n\n@media all and (max-width: 1024px) {\n    h1 {font-size: 1.9rem;}\n    h2 {font-size: 1.6rem;}\n    h3 {font-size: 1.3rem;}\n    h4 {font-size: 1.1rem;}\n    h5 {font-size: 0.9rem;font-weight:bold;}\n    h6 {font-size: 0.8rem;font-weight:bold;}\n    .display h1 { font-size: 2.2rem; }\n    .display p { font-size: 1.1rem; }\n}\n\n/* FIX: Preventing Chrome from wrapping text with span-style (during editing) */\n.display h1 span {font-size: inherit;line-height:inherit;}\n.display p span {font-size: inherit;line-height:inherit;}\nh1 span {font-size: inherit;line-height:inherit;}\nh2 span {font-size: inherit;line-height:inherit;}\nh3 span {font-size: inherit;line-height:inherit;}\nh4 span {font-size: inherit;line-height:inherit;}\nh5 span {font-size: inherit;line-height:inherit;}\nh6 span {font-size: inherit;line-height:inherit;}\np span {font-size: inherit; line-height:inherit;}\nli span {font-size: inherit; line-height:inherit;}\n\na {color: #009E91;}\nhr {border:none;border-top: rgba(0, 0, 0, 0.18) 1px solid;margin: 2rem 0 !important;}\nimg {max-width:100%;}\nfigure {margin:0}\nol, ul {line-height: inherit; font-weight: inherit;}\n\n\n/**********************************\n    Elements\n***********************************/\n\n.center {text-align:center}\n.right {text-align:right}\n.left {text-align:left}\n.padding-20 {padding:20px}\n.padding-25 {padding:25px}\n.padding-30 {padding:30px}\n.padding-35 {padding:35px}\n.padding-40 {padding:40px}\n@media all and (max-width: 540px) {\n    .center {text-align:initial}\n    .right {text-align:initial}\n    .left {text-align:initial}\n    .padding-20 {padding:0}\n    .padding-25 {padding:0}\n    .padding-30 {padding:0}\n    .padding-35 {padding:0}\n    .padding-40 {padding:0}\n}\n\n.margin-0 {margin:0 !important}\n.margin-20 {margin:20px !important}\n.margin-25 {margin:25px !important}\n.margin-30 {margin:30px !important}\n.margin-35 {margin:35px !important}\n.margin-40 {margin:40px !important}\n.is-card { display:table; background-color:#fff;  }\n.is-card > * { display:table; }\n.is-card-circle { width:280px; height: 280px; border-radius:500px; padding:70px; margin:0 auto; }\n@media all and (max-width: 540px) {\n    .is-card-circle { zoom:0.7; -moz-transform: scale(0.7); }\n}\n.is-card-content-centered { display:table-cell;vertical-align:middle;text-align:center; }\n.max-390 { max-width:390px;margin:0 auto; }\n.shadow-1 { /* card */\n    -webkit-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    -moz-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n}\n.shadow-2 { /* screenshot */\n    -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    -moz-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n}\n.shadow-3 { /* highlight */\n    -webkit-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    -moz-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n}\n\nimg.circle {border-radius:500px;margin-top:0;}\nimg.bordered {border: #ccc 1px solid;}\n\n.embed-responsive {position: relative;display:block;height:0;padding:0;overflow:hidden;margin-top: 1.4em;margin-bottom: 1em;}\n.embed-responsive.embed-responsive-16by9 {padding-bottom: 56.25%;}\n.embed-responsive.embed-responsive-4by3 {padding-bottom: 75%;}\n.embed-responsive iframe {position: absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;}\n\n.list {position:relative;margin:1.5em 0;}\n.list > i {position:absolute;left:-3px;top:7px;font-size:1.7em;line-height:1;}\n.list > h2, .list > h3 {margin: 0 0 0 50px;}\n.list > p {margin: 5px 0 0 50px}\n\n.quote {position:relative;margin:1.5em 0;}\n.quote > i {position: absolute;top: -10px; left: -7px;font-size: 2em;}\n.quote > small {margin-left:50px;opacity: 0.7;font-size: 1em;}\n.quote > p {margin-left:50px;font-size: 1.5em;}\n@media all and (max-width: 540px) {\n    .quote > i {left: -15px;font-size:1.5em;}\n    .quote > small {margin-left:20px;ont-size: 1em;}\n    .quote > p {margin-left:20px;font-size: 1.2em;}\n}\n\n.is-social {line-height:1;margin-bottom:1.5em}\n.is-social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.is-social a:first-child > i {margin:0 15px 0 0}\n.is-social a:last-child > i {margin:0 0 0 15px}\n.is-social a:hover > i {color:#08c9b9;}\n.is-light-text .is-social a > i {color:#fff}\n.is-light-text .is-social a:hover > i {color:#fff}\n.is-dark-text .is-social a > i {color:#000}\n.is-dark-text .is-social a:hover > i {color:#000}\n\n/* backward compatible */\n.social {line-height:1;margin-bottom:1.5em}\n.social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.social a:first-child > i {margin:0 15px 0 0}\n.social a:last-child > i {margin:0 0 0 15px}\n.social a:hover > i {color:#08c9b9;}\n.is-light-text .social a > i {color:#fff}\n.is-light-text .social a:hover > i {color:#fff}\n\n.is-rounded-button-big {display:inline-block;}\n.is-rounded-button-big a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 110px; height: 110px;background-color: #aaa;}\n.is-rounded-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n.is-rounded-button-big a:first-child {margin:0 20px 0 0;}\n.is-rounded-button-big a:last-child {margin:0 0 0 20px;}\n\n.is-rounded-button-medium {display:inline-block;}\n.is-rounded-button-medium a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 70px; height: 70px;background-color: #aaa;}\n.is-rounded-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-big {display:inline-block;}\n.is-boxed-button-big a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 110px; height: 110px;background-color: #aaa;}\n.is-boxed-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n\n.is-boxed-button-big2 {display:inline-block;}\n.is-boxed-button-big2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 150px; height: 70px;background-color: #aaa;}\n.is-boxed-button-big2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:35px}\n\n.is-boxed-button-medium {display:inline-block;}\n.is-boxed-button-medium a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 70px; height: 70px;background-color: #aaa;}\n.is-boxed-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-medium2 {display:inline-block;}\n.is-boxed-button-medium2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 100px; height: 50px;background-color: #aaa;}\n.is-boxed-button-medium2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:25px}\n\n.is-boxed-button-small {display:inline-block;}\n.is-boxed-button-small a {display:table;float:left;text-align:center;margin:0 20px 0 0;width: 50px; height: 50px;background-color: #aaa;}\n.is-boxed-button-small a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:20px}\n\n.size-12 {font-size:12px !important}\n.size-14 {font-size:14px !important}\n.size-16 {font-size:16px !important}\n.size-18 {font-size:18px !important}\n.size-21 {font-size:21px !important}\n.size-24 {font-size:24px !important}\n.size-28 {font-size:28px !important}\n.size-32 {font-size:32px !important}\n.size-35 {font-size:35px !important}\n.size-38 {font-size:38px !important}\n.size-42 {font-size:42px !important}\n.size-46 {font-size:46px !important}\n.size-48 {font-size:48px !important}\n.size-50 {font-size:50px !important}\n.size-54 {font-size:54px !important}\n.size-60 {font-size:60px !important}\n.size-64 {font-size:64px !important}\n.size-68 {font-size:68px !important}\n.size-72 {font-size:72px !important}\n.size-76 {font-size:76px !important}\n.size-80 {font-size:80px !important}\n.size-84 {font-size:84px !important}\n.size-88 {font-size:88px !important}\n.size-92 {font-size:92px !important}\n.size-96 {font-size:96px !important}\n.size-100 {font-size:100px !important}\n.size-104 {font-size:104px !important}\n.size-108 {font-size:108px !important}\n.size-112 {font-size:112px !important}\n.size-116 {font-size:116px !important}\n.size-120 {font-size:120px !important}\n.size-124 {font-size:124px !important}\n.size-128 {font-size:128px !important}\n.size-132 {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 {font-size:12px !important}\n    .size-14 {font-size:14px !important}\n    .size-16 {font-size:16px !important}\n    .size-18 {font-size:18px !important}\n    .size-21 {font-size:21px !important}\n    .size-24 {font-size:24px !important}\n    .size-28 {font-size:26px !important}\n    .size-32 {font-size:28px !important}\n    .size-35 {font-size:30px !important}\n    .size-38 {font-size:32px !important}\n    .size-42 {font-size:34px !important}\n    .size-46 {font-size:36px !important}\n    .size-48 {font-size:38px !important}\n    .size-50 {font-size:40px !important}\n    .size-54 {font-size:42px !important}\n    .size-60 {font-size:44px !important}\n    .size-64 {font-size:46px !important}\n    .size-68 {font-size:48px !important}\n    .size-72 {font-size:50px !important}\n    .size-76 {font-size:52px !important}\n    .size-80 {font-size:54px !important}\n    .size-84 {font-size:56px !important}\n    .size-88 {font-size:58px !important}\n    .size-92 {font-size:60px !important}\n    .size-96 {font-size:62px !important}\n    .size-100 {font-size:64px !important}\n    .size-104 {font-size:66px !important}\n    .size-108 {font-size:68px !important}\n    .size-112 {font-size:70px !important}\n    .size-116 {font-size:72px !important}\n    .size-120 {font-size:74px !important}\n    .size-124 {font-size:76px !important}\n    .size-128 {font-size:78px !important}\n    .size-132 {font-size:80px !important}\n}\n/* If text wrapped with span-style during editing, don't apply the fix here (See line59) */\n.size-12 span {font-size:12px !important}\n.size-14 span {font-size:14px !important}\n.size-16 span {font-size:16px !important}\n.size-18 span {font-size:18px !important}\n.size-21 span {font-size:21px !important}\n.size-24 span {font-size:24px !important}\n.size-28 span {font-size:28px !important}\n.size-32 span {font-size:32px !important}\n.size-35 span {font-size:35px !important}\n.size-38 span {font-size:38px !important}\n.size-42 span {font-size:42px !important}\n.size-46 span {font-size:46px !important}\n.size-48 span {font-size:48px !important}\n.size-50 span {font-size:50px !important}\n.size-54 span {font-size:54px !important}\n.size-60 span {font-size:60px !important}\n.size-64 span {font-size:64px !important}\n.size-68 span {font-size:68px !important}\n.size-72 span {font-size:72px !important}\n.size-76 span {font-size:76px !important}\n.size-80 span {font-size:80px !important}\n.size-84 span {font-size:84px !important}\n.size-88 span {font-size:88px !important}\n.size-92 span {font-size:92px !important}\n.size-96 span {font-size:96px !important}\n.size-100 span {font-size:100px !important}\n.size-104 span {font-size:104px !important}\n.size-108 span {font-size:108px !important}\n.size-112 span {font-size:112px !important}\n.size-116 span {font-size:116px !important}\n.size-120 span {font-size:120px !important}\n.size-124 span {font-size:124px !important}\n.size-128 span {font-size:128px !important}\n.size-132 span {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 span {font-size:12px !important}\n    .size-14 span {font-size:14px !important}\n    .size-16 span {font-size:16px !important}\n    .size-18 span {font-size:18px !important}\n    .size-21 span {font-size:21px !important}\n    .size-24 span {font-size:24px !important}\n    .size-28 span {font-size:26px !important}\n    .size-32 span {font-size:28px !important}\n    .size-35 span {font-size:30px !important}\n    .size-38 span {font-size:32px !important}\n    .size-42 span {font-size:34px !important}\n    .size-46 span {font-size:36px !important}\n    .size-48 span {font-size:38px !important}\n    .size-50 span {font-size:40px !important}\n    .size-54 span {font-size:42px !important}\n    .size-60 span {font-size:44px !important}\n    .size-64 span {font-size:46px !important}\n    .size-68 span {font-size:48px !important}\n    .size-72 span {font-size:50px !important}\n    .size-76 span {font-size:52px !important}\n    .size-80 span {font-size:54px !important}\n    .size-84 span {font-size:56px !important}\n    .size-88 span {font-size:58px !important}\n    .size-92 span {font-size:60px !important}\n    .size-96 span {font-size:62px !important}\n    .size-100 span {font-size:64px !important}\n    .size-104 span {font-size:66px !important}\n    .size-108 span {font-size:68px !important}\n    .size-112 span {font-size:70px !important}\n    .size-116 span {font-size:72px !important}\n    .size-120 span {font-size:74px !important}\n    .size-124 span {font-size:76px !important}\n    .size-128 span {font-size:78px !important}\n    .size-132 span {font-size:80px !important}\n}\n\n/**********************************\n    Title Styles\n***********************************/\n\n.is-light-text * {color: #fff;}\n.is-dark-text * {color: #000;}\n\n/* Style 1 */\n\n.is-title1-96 {margin-top:20px;margin-bottom:20px;}\n.is-title1-80 {margin-top:15px;margin-bottom:15px;}\n.is-title1-64 {margin-top:15px;margin-bottom:15px;}\n.is-title1-48 {margin-top:0px;margin-bottom:15px;}\n.is-title1-32 {margin-top:15px;margin-bottom:15px;}\n\n/* Style 2 */\n\n.is-title2-96 {margin-top:25px;margin-bottom:20px;}\n.is-title2-80 {margin-top:20px;margin-bottom:15px;}\n.is-title2-64 {margin-top:20px;margin-bottom:15px;}\n.is-title2-48 {margin-top:0px;margin-bottom:15px;}\n.is-title2-32 {margin-top:10px;margin-bottom:15px;}\n\n/* Style 3 */\n\n.is-title3-96 {margin-top:30px;margin-bottom:35px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-80 {margin-top:25px;margin-bottom:33px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-64 {margin-top:20px;margin-bottom:30px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-48 {margin-top:20px;margin-bottom:25px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-32 {margin-top:20px;margin-bottom:20px;padding:15px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title3-96 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-80 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-64 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-48 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-32 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title3-96 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-80 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-64 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-48 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-32 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n/* Style 4 */\n\n.is-title4-96 {margin-top:30px;margin-bottom:35px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-80 {margin-top:25px;margin-bottom:33px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-64 {margin-top:20px;margin-bottom:30px;padding:18px 28px;border:#000 2px solid;}\n.is-title4-48 {margin-top:20px;margin-bottom:25px;padding:18px 25px;border:#000 2px solid;}\n.is-title4-32 {margin-top:20px;margin-bottom:20px;padding:15px 20px;border:#000 2px solid;}\n\n.is-light-text .is-title4-96 {border:#fff 2px solid;}\n.is-light-text .is-title4-80 {border:#fff 2px solid;}\n.is-light-text .is-title4-64 {border:#fff 2px solid;}\n.is-light-text .is-title4-48 {border:#fff 2px solid;}\n.is-light-text .is-title4-32 {border:#fff 2px solid;}\n\n.is-dark-text .is-title4-96 {border:#000 2px solid;}\n.is-dark-text .is-title4-80 {border:#000 2px solid;}\n.is-dark-text .is-title4-64 {border:#000 2px solid;}\n.is-dark-text .is-title4-48 {border:#000 2px solid;}\n.is-dark-text .is-title4-32 {border:#000 2px solid;}\n\n/* Style 5 */\n\n.is-title5-96 {margin-top:10px;margin-bottom:35px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-80 {margin-top:10px;margin-bottom:33px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-64 {margin-top:10px;margin-bottom:30px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-48 {margin-top:10px;margin-bottom:25px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-32 {margin-top:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title5-96 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-80 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-64 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-48 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-32 {border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title5-96 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-80 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-64 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-48 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-32 {border-bottom:#000 2px solid;}\n\n/* Extra Title Styles */\n\n.is-title-lite {letter-spacing:3px;word-spacing:5px;}\n.is-title-lite.is-title3-96, .is-title-lite.is-title4-96, .is-title-lite.is-title5-96 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-80, .is-title-lite.is-title4-80, .is-title-lite.is-title5-80 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-64, .is-title-lite.is-title4-64, .is-title-lite.is-title5-64 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-48, .is-title-lite.is-title4-48, .is-title-lite.is-title5-48 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-32, .is-title-lite.is-title4-32, .is-title-lite.is-title5-32 {letter-spacing:3px;word-spacing:5px;}\n\n.is-title-bold {font-weight:800;}\n.is-title-bold.is-title3-96, .is-title-bold.is-title4-96, .is-title-bold.is-title5-96 {border-width:4px;}\n.is-title-bold.is-title3-80, .is-title-bold.is-title4-80, .is-title-bold.is-title5-80 {border-width:4px;}\n.is-title-bold.is-title3-64, .is-title-bold.is-title4-64, .is-title-bold.is-title5-64 {border-width:3px;}\n.is-title-bold.is-title3-48, .is-title-bold.is-title4-48, .is-title-bold.is-title5-48 {border-width:3px;}\n.is-title-bold.is-title3-32, .is-title-bold.is-title4-32, .is-title-bold.is-title5-32 {border-width:2px;}\n\n\n/**********************************\n    Into Styles\n***********************************/\n\n.is-info1 {margin-top:10px;margin-bottom:0px;font-style:italic;}\n.is-info1.size-21 {margin-top:12px;}\n.is-info1.size-24 {margin-top:15px;}\n\n.is-info2 {margin-top:10px;margin-bottom:0px;}\n.is-info2.size-21 {margin-top:12px;}\n.is-info2.size-24 {margin-top:15px;}\n\n\n/**********************************\n    Buttons Styles\n***********************************/\n\n.is-btn {\n    padding: 10px 50px;\n    font-size: 1rem;\n    line-height: 2rem;\n    border-radius: 0;\n    letter-spacing: 3px;\n    display: inline-block;\n    margin: 3px 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    white-space: nowrap;\n    -webkit-transition: all 0.16s ease;\n    transition: all 0.16s ease;\n}\n\n/* ghost1 default */\n.is-btn-ghost1 { color: #000; border: 2px solid #111; }\n\n/* ghost1 light-text */\n.is-light-text .is-btn-ghost1,\n.is-dark-text .is-light-text .is-btn-ghost1  { color: #fff; border: 1px solid #fff;}\n\n/* ghost1 dark-text */\n.is-dark-text .is-btn-ghost1,\n.is-light-text .is-dark-text .is-btn-ghost1 { color: #000; border: 1px solid #111; }\n\n/* ghost2 default */\n.is-btn-ghost2 { color: white; border: 1px solid #dcdcdc; background-color: #dcdcdc;}\n\n/* ghost2 light-text */\n.is-light-text .is-btn-ghost2,\n.is-dark-text .is-light-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n/* ghost2 dark-text */\n.is-dark-text .is-btn-ghost2,\n.is-light-text .is-dark-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n.is-btn-small { padding: 5px 25px; font-size: 0.85em; }\n.is-upper { text-transform:uppercase; }\n.is-rounded-30 { border-radius: 30px; }\n\n\n/**********************************\n    Header Image with Caption\n***********************************/\nfigure.hdr {\n\tposition: relative;\n\twidth: 100%;\n\toverflow:hidden;\n    background-color: #000;\n}\nfigure.hdr img {\n\tposition: relative;\n\tdisplay: block;\n\twidth: 100%;\n\topacity: 0.8;\n\t-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;\n\ttransition: opacity 0.35s, transform 0.35s;\n\t-webkit-transform: scale(1.2);\n\ttransform: scale(1.2);\n}\nfigure.hdr:hover img {\n\topacity: 0.5;\n\t-webkit-transform: scale(1);\n\ttransform: scale(1);\n}\nfigure.hdr figcaption {\n   \tposition: absolute;\n\ttop: auto;\n\tbottom: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 60%;\n\tpadding: 0 2.5em;\n\tcolor: #fff;\n\tfont-size: 1.55em;\n\ttext-align: center;\n\tbox-sizing: border-box;\n\tz-index:1;\n}\n/* Text */\nfigure.hdr h2 {\n\tfont-weight: 300;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2 span {\n\tfont-weight: 800;\n}\nfigure.hdr p {\n\tletter-spacing: 1px;\n\tfont-size: 68.5%;\n\ttext-transform: uppercase;\n\tcolor: #fff;\n}\nfigure.hdr h2, figure.hdr p {\n\tmargin: 0;\n\tz-index:10000;\n}\n/* Cosmetic */\nfigure.hdr div {\n\theight: 100%;\n\tz-index:0;\n}\nfigure.hdr div::before,\nfigure.hdr div::after {\n\tposition: absolute;\n\tcontent: '';\n}\n/* One */\nfigure.one div::before {\n\ttop: 50px;\n\tright: 30px;\n\tbottom: 50px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.one div::after {\n\ttop: 30px;\n\tright: 50px;\n\tbottom: 30px;\n\tleft: 50px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Two */\nfigure.two div::before {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.two div::after {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Three */\nfigure.three figcaption {\n\theight: 70%;\n}\nfigure.three p {\n\tmargin: 1em 0 0;\n\tpadding: 2em;\n\tborder: 1px solid #fff;\n}\n/* Four */\nfigure.four figcaption {\n\theight: 60%;\n\ttext-align: left;\n}\nfigure.four p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 50px;\n\tleft: 50px;\n\tpadding: 2em;\n\tborder: 7px solid #fff;\n}\n/* Five */\nfigure.five figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.five h2 {\n    position: absolute;\n    left: 50px;\n\tright: 50px;\n\ttop: 10%;\n\tborder-bottom: 5px solid #fff;\n}\nfigure.five p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 10%;\n}\n/* Six */\nfigure.six figcaption {\n\theight: 70%;\n}\nfigure.six h2 {\n    padding-bottom: 3%;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.six p {\n\tpadding-top: 6%;\n}\n/* Seven */\nfigure.seven figcaption {\n\theight: 90%;\n\ttext-align:left;\n}\nfigure.seven h2 {\n\tborder-bottom: 3px solid #fff;\n}\nfigure.seven p {\n    padding-top: 1em;\n}\n/* Eight */\nfigure.eight figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.eight h2 {\n\tposition: absolute;\n\tleft: 50%;\n\tright: 50px;\n\tbottom: 10%;\n}\nfigure.eight p {\n    position: absolute;\n    left: 50px;\n\tright: 50%;\n\ttop: 10%;\n\tpadding-right:0.5em;\n\tborder-right: 1px solid #fff;\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/content-uikit.css",
    "content": "@import url(\"https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,800\");\n@import url(\"../icons/css/fontello.css\"); /* backward compatible */\n@import url(\"../ionicons/css/ionicons.min.css\");\n\n\n/**********************************\n    Adjustment for UIKit\n***********************************/\n\n\nhtml { color:#000000; }\n.uk-container > .uk-grid, .uk-container > * > .uk-grid {margin-top:15px;margin-bottom:15px;}\n.uk-container {padding: 0}\n.uk-grid > * > img { margin: 1.4rem 0 1rem; }\n.uk-grid > * > img:last-child { margin: 1.4rem 0 1rem; }\n\n\n/**********************************\n    General\n***********************************/\n\nhtml { font-size: 100%; }\nbody {\n    margin: 0;\n    font-family: \"Open Sans\", sans-serif;\n    font-size: 100%;\n    line-height: 2;\n    font-weight: 300;\n}\np, td, li, label {\n    font-size: 1.07rem;\n    line-height: 2;\n    font-weight: 300;\n}\nh1, h2, h3, h4, h5, h6 {\n    font-family: \"Open Sans\", sans-serif;\n    font-weight: 300;\n    letter-spacing: 0px;\n    line-height: 1.4;\n}\n\nh1 {margin-top:0.4rem !important;margin-bottom:0.4rem !important;}\nh2 {margin-top:0.6rem !important;margin-bottom:0.6rem !important;}\nh3 {margin-top:0.7rem !important;margin-bottom:0.7rem !important;}\nh4 {margin-top:0.8rem !important;margin-bottom:0.8rem !important;}\nh5 {margin-top:0.8rem !important;margin-bottom:0.8rem !important;}\nh6 {margin-top:0.8rem !important;margin-bottom:0.8rem !important;}\np {margin-top:1rem !important;margin-bottom:1rem !important;}\n\nh1 {font-size: 2.36rem;}\nh2 {font-size: 2rem;}\nh3 {font-size: 1.73rem;}\nh4 {font-size: 1.6rem;}\nh5 {font-size: 1.48rem;}\nh6 {font-size: 1.3rem;}\n\n.display { margin-bottom: 0.5rem;  }\n.display h1 {\n    font-weight: 800;\n    font-size: 3rem !important;\n    line-height:1.4;\n    text-transform: uppercase;\n}\n.display p {\n    font-size: 1.3rem !important;\n    font-style: italic;\n}\n\ntable td {padding:12px;}\n\n@media all and (max-width: 1024px) {\n    h1 {font-size: 1.9rem;}\n    h2 {font-size: 1.6rem;}\n    h3 {font-size: 1.3rem;}\n    h4 {font-size: 1.1rem;}\n    h5 {font-size: 0.9rem;font-weight:bold;}\n    h6 {font-size: 0.8rem;font-weight:bold;}\n    .display h1 { font-size: 2.2rem; }\n    .display p { font-size: 1.1rem; }\n}\n\n/* FIX: Preventing Chrome from wrapping text with span-style (during editing) */\n.display h1 span {font-size: inherit;line-height:inherit;}\n.display p span {font-size: inherit;line-height:inherit;}\nh1 span {font-size: inherit;line-height:inherit;}\nh2 span {font-size: inherit;line-height:inherit;}\nh3 span {font-size: inherit;line-height:inherit;}\nh4 span {font-size: inherit;line-height:inherit;}\nh5 span {font-size: inherit;line-height:inherit;}\nh6 span {font-size: inherit;line-height:inherit;}\np span {font-size: inherit; line-height:inherit;}\nli span {font-size: inherit; line-height:inherit;}\n\n\na {color: #009E91;}\nhr {border:none;border-top: rgba(0, 0, 0, 0.18) 1px solid;margin: 2rem 0 !important;}\nimg {max-width:100%;}\nfigure {margin:0}\nol, ul {line-height: inherit; font-weight: inherit;}\n\n\n/**********************************\n    Elements\n***********************************/\n\n.center {text-align:center}\n.right {text-align:right}\n.left {text-align:left}\n.padding-20 {padding:20px}\n.padding-25 {padding:25px}\n.padding-30 {padding:30px}\n.padding-35 {padding:35px}\n.padding-40 {padding:40px}\n@media all and (max-width: 540px) {\n    .center {text-align:initial}\n    .right {text-align:initial}\n    .left {text-align:initial}\n    .padding-20 {padding:0}\n    .padding-25 {padding:0}\n    .padding-30 {padding:0}\n    .padding-35 {padding:0}\n    .padding-40 {padding:0}\n}\n\n.margin-0 {margin:0 !important}\n.margin-20 {margin:20px !important}\n.margin-25 {margin:25px !important}\n.margin-30 {margin:30px !important}\n.margin-35 {margin:35px !important}\n.margin-40 {margin:40px !important}\n.is-card { display:table; background-color:#fff;  }\n.is-card > * { display:table; }\n.is-card-circle { width:280px; height: 280px; border-radius:500px; padding:70px; margin:0 auto; }\n@media all and (max-width: 540px) {\n    .is-card-circle { zoom:0.7; -moz-transform: scale(0.7); }\n}\n.is-card-content-centered { display:table-cell;vertical-align:middle;text-align:center; }\n.max-390 { max-width:390px;margin:0 auto; }\n.shadow-1 { /* card */\n    -webkit-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    -moz-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n}\n.shadow-2 { /* screenshot */\n    -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    -moz-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n}\n.shadow-3 { /* highlight */\n    -webkit-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    -moz-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n}\n\nimg.circle {border-radius:500px;margin-top:0;}\nimg.bordered {border: #ccc 1px solid;}\n\n.embed-responsive {position: relative;display:block;height:0;padding:0;overflow:hidden;margin-top: 1.4em;margin-bottom: 1em;}\n.embed-responsive.embed-responsive-16by9 {padding-bottom: 56.25%;}\n.embed-responsive.embed-responsive-4by3 {padding-bottom: 75%;}\n.embed-responsive iframe {position: absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;}\n\n.list {position:relative;margin:1.5em 0;}\n.list > i {position:absolute;left:-3px;top:7px;font-size:1.7em;line-height:1;}\n.list > h2, .list > h3 {margin: 0 0 0 50px;}\n.list > p {margin: 5px 0 0 50px}\n\n.quote {position:relative;margin:1.5em 0;}\n.quote > i {position: absolute;top: -10px; left: -7px;font-size: 2em;}\n.quote > small {margin-left:50px;opacity: 0.7;font-size: 1em;}\n.quote > p {margin-left:50px;font-size: 1.5em;}\n@media all and (max-width: 540px) {\n    .quote > i {left: -15px;font-size:1.5em;}\n    .quote > small {margin-left:20px;ont-size: 1em;}\n    .quote > p {margin-left:20px;font-size: 1.2em;}\n}\n\n.is-social {line-height:1;margin-bottom:1.5em}\n.is-social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.is-social a:first-child > i {margin:0 15px 0 0}\n.is-social a:last-child > i {margin:0 0 0 15px}\n.is-social a:hover > i {color:#08c9b9;}\n.is-light-text .is-social a > i {color:#fff}\n.is-light-text .is-social a:hover > i {color:#fff}\n.is-dark-text .is-social a > i {color:#000}\n.is-dark-text .is-social a:hover > i {color:#000}\n\n/* backward compatible */\n.social {line-height:1;margin-bottom:1.5em}\n.social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.social a:first-child > i {margin:0 15px 0 0}\n.social a:last-child > i {margin:0 0 0 15px}\n.social a:hover > i {color:#08c9b9;}\n.is-light-text .social a > i {color:#fff}\n.is-light-text .social a:hover > i {color:#fff}\n\n.is-rounded-button-big {display:inline-block;}\n.is-rounded-button-big a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 110px; height: 110px;background-color: #aaa;}\n.is-rounded-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n.is-rounded-button-big a:first-child {margin:0 20px 0 0;}\n.is-rounded-button-big a:last-child {margin:0 0 0 20px;}\n\n.is-rounded-button-medium {display:inline-block;}\n.is-rounded-button-medium a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 70px; height: 70px;background-color: #aaa;}\n.is-rounded-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-big {display:inline-block;}\n.is-boxed-button-big a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 110px; height: 110px;background-color: #aaa;}\n.is-boxed-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n\n.is-boxed-button-big2 {display:inline-block;}\n.is-boxed-button-big2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 150px; height: 70px;background-color: #aaa;}\n.is-boxed-button-big2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:35px}\n\n.is-boxed-button-medium {display:inline-block;}\n.is-boxed-button-medium a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 70px; height: 70px;background-color: #aaa;}\n.is-boxed-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-medium2 {display:inline-block;}\n.is-boxed-button-medium2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 100px; height: 50px;background-color: #aaa;}\n.is-boxed-button-medium2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:25px}\n\n.is-boxed-button-small {display:inline-block;}\n.is-boxed-button-small a {display:table;float:left;text-align:center;margin:0 20px 0 0;width: 50px; height: 50px;background-color: #aaa;}\n.is-boxed-button-small a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:20px}\n\n.size-12 {font-size:12px !important}\n.size-14 {font-size:14px !important}\n.size-16 {font-size:16px !important}\n.size-18 {font-size:18px !important}\n.size-21 {font-size:21px !important}\n.size-24 {font-size:24px !important}\n.size-28 {font-size:28px !important}\n.size-32 {font-size:32px !important}\n.size-35 {font-size:35px !important}\n.size-38 {font-size:38px !important}\n.size-42 {font-size:42px !important}\n.size-46 {font-size:46px !important}\n.size-48 {font-size:48px !important}\n.size-50 {font-size:50px !important}\n.size-54 {font-size:54px !important}\n.size-60 {font-size:60px !important}\n.size-64 {font-size:64px !important}\n.size-68 {font-size:68px !important}\n.size-72 {font-size:72px !important}\n.size-76 {font-size:76px !important}\n.size-80 {font-size:80px !important}\n.size-84 {font-size:84px !important}\n.size-88 {font-size:88px !important}\n.size-92 {font-size:92px !important}\n.size-96 {font-size:96px !important}\n.size-100 {font-size:100px !important}\n.size-104 {font-size:104px !important}\n.size-108 {font-size:108px !important}\n.size-112 {font-size:112px !important}\n.size-116 {font-size:116px !important}\n.size-120 {font-size:120px !important}\n.size-124 {font-size:124px !important}\n.size-128 {font-size:128px !important}\n.size-132 {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 {font-size:12px !important}\n    .size-14 {font-size:14px !important}\n    .size-16 {font-size:16px !important}\n    .size-18 {font-size:18px !important}\n    .size-21 {font-size:21px !important}\n    .size-24 {font-size:24px !important}\n    .size-28 {font-size:26px !important}\n    .size-32 {font-size:28px !important}\n    .size-35 {font-size:30px !important}\n    .size-38 {font-size:32px !important}\n    .size-42 {font-size:34px !important}\n    .size-46 {font-size:36px !important}\n    .size-48 {font-size:38px !important}\n    .size-50 {font-size:40px !important}\n    .size-54 {font-size:42px !important}\n    .size-60 {font-size:44px !important}\n    .size-64 {font-size:46px !important}\n    .size-68 {font-size:48px !important}\n    .size-72 {font-size:50px !important}\n    .size-76 {font-size:52px !important}\n    .size-80 {font-size:54px !important}\n    .size-84 {font-size:56px !important}\n    .size-88 {font-size:58px !important}\n    .size-92 {font-size:60px !important}\n    .size-96 {font-size:62px !important}\n    .size-100 {font-size:64px !important}\n    .size-104 {font-size:66px !important}\n    .size-108 {font-size:68px !important}\n    .size-112 {font-size:70px !important}\n    .size-116 {font-size:72px !important}\n    .size-120 {font-size:74px !important}\n    .size-124 {font-size:76px !important}\n    .size-128 {font-size:78px !important}\n    .size-132 {font-size:80px !important}\n}\n/* If text wrapped with span-style during editing, don't apply the fix here (See line59) */\n.size-12 span {font-size:12px !important}\n.size-14 span {font-size:14px !important}\n.size-16 span {font-size:16px !important}\n.size-18 span {font-size:18px !important}\n.size-21 span {font-size:21px !important}\n.size-24 span {font-size:24px !important}\n.size-28 span {font-size:28px !important}\n.size-32 span {font-size:32px !important}\n.size-35 span {font-size:35px !important}\n.size-38 span {font-size:38px !important}\n.size-42 span {font-size:42px !important}\n.size-46 span {font-size:46px !important}\n.size-48 span {font-size:48px !important}\n.size-50 span {font-size:50px !important}\n.size-54 span {font-size:54px !important}\n.size-60 span {font-size:60px !important}\n.size-64 span {font-size:64px !important}\n.size-68 span {font-size:68px !important}\n.size-72 span {font-size:72px !important}\n.size-76 span {font-size:76px !important}\n.size-80 span {font-size:80px !important}\n.size-84 span {font-size:84px !important}\n.size-88 span {font-size:88px !important}\n.size-92 span {font-size:92px !important}\n.size-96 span {font-size:96px !important}\n.size-100 span {font-size:100px !important}\n.size-104 span {font-size:104px !important}\n.size-108 span {font-size:108px !important}\n.size-112 span {font-size:112px !important}\n.size-116 span {font-size:116px !important}\n.size-120 span {font-size:120px !important}\n.size-124 span {font-size:124px !important}\n.size-128 span {font-size:128px !important}\n.size-132 span {font-size:132px !important}\n@media all and (max-width: 1024px) {\n    .size-12 span {font-size:12px !important}\n    .size-14 span {font-size:14px !important}\n    .size-16 span {font-size:16px !important}\n    .size-18 span {font-size:18px !important}\n    .size-21 span {font-size:21px !important}\n    .size-24 span {font-size:24px !important}\n    .size-28 span {font-size:26px !important}\n    .size-32 span {font-size:28px !important}\n    .size-35 span {font-size:30px !important}\n    .size-38 span {font-size:32px !important}\n    .size-42 span {font-size:34px !important}\n    .size-46 span {font-size:36px !important}\n    .size-48 span {font-size:38px !important}\n    .size-50 span {font-size:40px !important}\n    .size-54 span {font-size:42px !important}\n    .size-60 span {font-size:44px !important}\n    .size-64 span {font-size:46px !important}\n    .size-68 span {font-size:48px !important}\n    .size-72 span {font-size:50px !important}\n    .size-76 span {font-size:52px !important}\n    .size-80 span {font-size:54px !important}\n    .size-84 span {font-size:56px !important}\n    .size-88 span {font-size:58px !important}\n    .size-92 span {font-size:60px !important}\n    .size-96 span {font-size:62px !important}\n    .size-100 span {font-size:64px !important}\n    .size-104 span {font-size:66px !important}\n    .size-108 span {font-size:68px !important}\n    .size-112 span {font-size:70px !important}\n    .size-116 span {font-size:72px !important}\n    .size-120 span {font-size:74px !important}\n    .size-124 span {font-size:76px !important}\n    .size-128 span {font-size:78px !important}\n    .size-132 span {font-size:80px !important}\n}\n\n/**********************************\n    Title Styles\n***********************************/\n\n.is-light-text * {color: #fff;}\n.is-dark-text * {color: #000;}\n\n/* Style 1 */\n\n.is-title1-96 {margin-top:20px;margin-bottom:20px;}\n.is-title1-80 {margin-top:15px;margin-bottom:15px;}\n.is-title1-64 {margin-top:15px;margin-bottom:15px;}\n.is-title1-48 {margin-top:0px;margin-bottom:15px;}\n.is-title1-32 {margin-top:15px;margin-bottom:15px;}\n\n/* Style 2 */\n\n.is-title2-96 {margin-top:25px;margin-bottom:20px;}\n.is-title2-80 {margin-top:20px;margin-bottom:15px;}\n.is-title2-64 {margin-top:20px;margin-bottom:15px;}\n.is-title2-48 {margin-top:0px;margin-bottom:15px;}\n.is-title2-32 {margin-top:10px;margin-bottom:15px;}\n\n/* Style 3 */\n\n.is-title3-96 {margin-top:30px;margin-bottom:35px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-80 {margin-top:25px;margin-bottom:33px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-64 {margin-top:20px;margin-bottom:30px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-48 {margin-top:20px;margin-bottom:25px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-32 {margin-top:20px;margin-bottom:20px;padding:15px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title3-96 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-80 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-64 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-48 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-32 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title3-96 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-80 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-64 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-48 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-32 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n/* Style 4 */\n\n.is-title4-96 {margin-top:30px;margin-bottom:35px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-80 {margin-top:25px;margin-bottom:33px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-64 {margin-top:20px;margin-bottom:30px;padding:18px 28px;border:#000 2px solid;}\n.is-title4-48 {margin-top:20px;margin-bottom:25px;padding:18px 25px;border:#000 2px solid;}\n.is-title4-32 {margin-top:20px;margin-bottom:20px;padding:15px 20px;border:#000 2px solid;}\n\n.is-light-text .is-title4-96 {border:#fff 2px solid;}\n.is-light-text .is-title4-80 {border:#fff 2px solid;}\n.is-light-text .is-title4-64 {border:#fff 2px solid;}\n.is-light-text .is-title4-48 {border:#fff 2px solid;}\n.is-light-text .is-title4-32 {border:#fff 2px solid;}\n\n.is-dark-text .is-title4-96 {border:#000 2px solid;}\n.is-dark-text .is-title4-80 {border:#000 2px solid;}\n.is-dark-text .is-title4-64 {border:#000 2px solid;}\n.is-dark-text .is-title4-48 {border:#000 2px solid;}\n.is-dark-text .is-title4-32 {border:#000 2px solid;}\n\n/* Style 5 */\n\n.is-title5-96 {margin-top:10px;margin-bottom:35px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-80 {margin-top:10px;margin-bottom:33px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-64 {margin-top:10px;margin-bottom:30px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-48 {margin-top:10px;margin-bottom:25px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-32 {margin-top:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title5-96 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-80 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-64 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-48 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-32 {border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title5-96 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-80 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-64 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-48 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-32 {border-bottom:#000 2px solid;}\n\n/* Extra Title Styles */\n\n.is-title-lite {letter-spacing:3px;word-spacing:5px;}\n.is-title-lite.is-title3-96, .is-title-lite.is-title4-96, .is-title-lite.is-title5-96 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-80, .is-title-lite.is-title4-80, .is-title-lite.is-title5-80 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-64, .is-title-lite.is-title4-64, .is-title-lite.is-title5-64 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-48, .is-title-lite.is-title4-48, .is-title-lite.is-title5-48 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-32, .is-title-lite.is-title4-32, .is-title-lite.is-title5-32 {letter-spacing:3px;word-spacing:5px;}\n\n.is-title-bold {font-weight:800;}\n.is-title-bold.is-title3-96, .is-title-bold.is-title4-96, .is-title-bold.is-title5-96 {border-width:4px;}\n.is-title-bold.is-title3-80, .is-title-bold.is-title4-80, .is-title-bold.is-title5-80 {border-width:4px;}\n.is-title-bold.is-title3-64, .is-title-bold.is-title4-64, .is-title-bold.is-title5-64 {border-width:3px;}\n.is-title-bold.is-title3-48, .is-title-bold.is-title4-48, .is-title-bold.is-title5-48 {border-width:3px;}\n.is-title-bold.is-title3-32, .is-title-bold.is-title4-32, .is-title-bold.is-title5-32 {border-width:2px;}\n\n\n/**********************************\n    Into Styles\n***********************************/\n\n.is-info1 {margin-top:10px;margin-bottom:0px;font-style:italic;}\n.is-info1.size-21 {margin-top:12px;}\n.is-info1.size-24 {margin-top:15px;}\n\n.is-info2 {margin-top:10px;margin-bottom:0px;}\n.is-info2.size-21 {margin-top:12px;}\n.is-info2.size-24 {margin-top:15px;}\n\n\n/**********************************\n    Buttons Styles\n***********************************/\n\n.is-btn {\n    padding: 10px 50px;\n    font-size: 1rem;\n    line-height: 2rem;\n    border-radius: 0;\n    letter-spacing: 3px;\n    display: inline-block;\n    margin: 3px 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    /* white-space: nowrap; */\n    -webkit-transition: all 0.16s ease;\n    transition: all 0.16s ease;\n}\n\n/* ghost1 default */\n.is-btn-ghost1 { color: #000; border: 2px solid #111; }\n\n/* ghost1 light-text */\n.is-light-text .is-btn-ghost1,\n.is-dark-text .is-light-text .is-btn-ghost1  { color: #fff; border: 1px solid #fff;}\n\n/* ghost1 dark-text */\n.is-dark-text .is-btn-ghost1,\n.is-light-text .is-dark-text .is-btn-ghost1 { color: #000; border: 1px solid #111; }\n\n/* ghost2 default */\n.is-btn-ghost2 { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191);}\n\n/* ghost2 light-text */\n.is-light-text .is-btn-ghost2,\n.is-dark-text .is-light-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n/* ghost2 dark-text */\n.is-dark-text .is-btn-ghost2,\n.is-light-text .is-dark-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n.is-btn-small { padding: 5px 25px; font-size: 0.85em; }\n.is-upper { text-transform:uppercase; }\n.is-rounded-30 { border-radius: 30px; }\n\n\n/**********************************\n    Header Image with Caption\n***********************************/\nfigure.hdr {\n\tposition: relative;\n\twidth: 100%;\n\toverflow:hidden;\n    background-color: #000;\n}\nfigure.hdr img {\n\tposition: relative;\n\tdisplay: block;\n\twidth: 100%;\n\topacity: 0.8;\n\t-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;\n\ttransition: opacity 0.35s, transform 0.35s;\n\t-webkit-transform: scale(1.2);\n\ttransform: scale(1.2);\n}\nfigure.hdr:hover img {\n\topacity: 0.5;\n\t-webkit-transform: scale(1);\n\ttransform: scale(1);\n}\nfigure.hdr figcaption {\n   \tposition: absolute;\n\ttop: auto;\n\tbottom: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 60%;\n\tpadding: 0 2.5em;\n\tcolor: #fff;\n\tfont-size: 1.55em;\n\ttext-align: center;\n\tbox-sizing: border-box;\n\tz-index:1;\n}\n/* Text */\nfigure.hdr h2 {\n\tfont-weight: 300;\n\ttext-transform: uppercase;\n    color: rgba(255,255,255,0.9);\n}\nfigure.hdr h2 span {\n\tfont-weight: 800;\n}\nfigure.hdr p {\n\tletter-spacing: 1px;\n\tfont-size: 68.5%;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2, figure.hdr p {\n\tmargin: 0;\n\tz-index:10000;\n}\n/* Cosmetic */\nfigure.hdr div {\n\theight: 100%;\n\tz-index:0;\n}\nfigure.hdr div::before,\nfigure.hdr div::after {\n\tposition: absolute;\n\tcontent: '';\n}\n/* One */\nfigure.one div::before {\n\ttop: 50px;\n\tright: 30px;\n\tbottom: 50px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.one div::after {\n\ttop: 30px;\n\tright: 50px;\n\tbottom: 30px;\n\tleft: 50px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Two */\nfigure.two div::before {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.two div::after {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Three */\nfigure.three figcaption {\n\theight: 70%;\n}\nfigure.three p {\n\tmargin: 1em 0 0;\n\tpadding: 2em;\n\tborder: 1px solid #fff;\n}\n/* Four */\nfigure.four figcaption {\n\theight: 60%;\n\ttext-align: left;\n}\nfigure.four p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 50px;\n\tleft: 50px;\n\tpadding: 2em;\n\tborder: 7px solid #fff;\n}\n/* Five */\nfigure.five figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.five h2 {\n    position: absolute;\n    left: 50px;\n\tright: 50px;\n\ttop: 10%;\n\tborder-bottom: 5px solid #fff;\n}\nfigure.five p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 10%;\n}\n/* Six */\nfigure.six figcaption {\n\theight: 70%;\n}\nfigure.six h2 {\n    padding-bottom: 3%;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.six p {\n\tpadding-top: 6%;\n}\n/* Seven */\nfigure.seven figcaption {\n\theight: 90%;\n\ttext-align:left;\n}\nfigure.seven h2 {\n\tborder-bottom: 3px solid #fff;\n}\nfigure.seven p {\n    padding-top: 1em;\n}\n/* Eight */\nfigure.eight figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.eight h2 {\n\tposition: absolute;\n\tleft: 50%;\n\tright: 50px;\n\tbottom: 10%;\n}\nfigure.eight p {\n    position: absolute;\n    left: 50px;\n\tright: 50%;\n\ttop: 10%;\n\tpadding-right:0.5em;\n\tborder-right: 1px solid #fff;\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/content.css",
    "content": "@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,800');\n@import url(\"../icons/css/fontello.css\"); /* backward compatible */\n@import url(\"../ionicons/css/ionicons.min.css\");\n\n\n/**********************************\n    Adjustment for Default\n***********************************/\n\n\n.container > .row, .container > div > .row {padding-top:10px;padding-bottom:10px}\n.row img { margin:1.4rem 0 1rem; }\n\n\n\n/**********************************\n    General\n***********************************/\n\nhtml { font-size: 100%; }\nbody {\n    margin: 0;\n    font-family: \"Open Sans\", sans-serif;\n    font-size: 100%;\n    line-height: 2;\n    font-weight: 300;\n}\np, td, li, label {\n    font-size: 1.07rem;\n    line-height: 2;\n    font-weight: 300;\n}\nh1, h2, h3, h4, h5, h6 {\n    font-family: \"Open Sans\", sans-serif;\n    font-weight: 300;\n    letter-spacing: 0px;\n    line-height: 1.4;\n}\n\nh1 {font-size: 2.36rem;margin:0.4rem 0;}\nh2 {font-size: 2rem;margin:0.6rem 0;}\nh3 {font-size: 1.73rem;margin:0.7rem 0;}\nh4 {font-size: 1.6rem;margin:0.8rem 0;}\nh5 {font-size: 1.48rem;margin:0.8rem 0;}\nh6 {font-size: 1.3rem;margin:0.8rem 0;}\np {margin:1rem 0;}\n\n.display { margin-bottom: 0.5rem;  }\n.display h1 {\n    font-weight: 800;\n    font-size: 3rem;\n    line-height:1.4;\n    text-transform: uppercase;\n}\n.display p {\n    font-size: 1.3rem;\n    font-style: italic;\n}\n\ntable td {padding:12px;}\n\n@media all and (max-width: 1024px) {\n    h1 {font-size: 2rem;}\n    h2 {font-size: 1.73rem;}\n    h3 {font-size: 1.6rem;}\n    h4 {font-size: 1.48rem;}\n    h5 {font-size: 1.3rem;font-weight:bold;}\n    h6 {font-size: 1rem;font-weight:bold;}\n    .display h1 { font-size: 2.2rem; }\n    .display p { font-size: 1.1rem; }\n}\n\n/* FIX: Preventing Chrome from wrapping text with span-style (during editing) */\n.display h1 span {font-size: inherit;line-height:inherit;}\n.display p span {font-size: inherit;line-height:inherit;}\nh1 span {font-size: inherit;line-height:inherit;}\nh2 span {font-size: inherit;line-height:inherit;}\nh3 span {font-size: inherit;line-height:inherit;}\nh4 span {font-size: inherit;line-height:inherit;}\nh5 span {font-size: inherit;line-height:inherit;}\nh6 span {font-size: inherit;line-height:inherit;}\np span {font-size: inherit; line-height:inherit;}\nli span {font-size: inherit; line-height:inherit;}\n\na {color: #009E91;}\nhr {border:none;border-top: rgba(0, 0, 0, 0.18) 1px solid;margin: 2rem 0 !important;}\nimg {max-width:100%;}\nfigure {margin:0}\nol, ul {line-height: inherit; font-weight: inherit;}\n\n\n/**********************************\n    Grid\n***********************************/\n.container {\n    margin: 0 auto;\n    max-width: 980px;\n}\n@media (min-width: 40rem) {\n    .column {\n        float: left;\n        padding-left: 1rem; /* beta3 */\n        padding-right: 1rem; /* beta3 */\n        -moz-box-sizing: border-box;\n        -webkit-box-sizing: border-box;\n        box-sizing: border-box;\n    }\n    .column.full { width: 100%; }\n    .column.two-third { width: 66.7%; }\n    .column.two-fourth { width: 75%; }\n    .column.two-fifth { width: 80%; }\n    .column.two-sixth { width: 83.3%; }\n    .column.half { width: 50%; }\n    .column.third { width: 33.3%; }\n    .column.fourth { width: 25%; }\n    .column.fifth { width: 20%; }\n    .column.sixth { width: 16.6%; }\n    .column.flow-opposite { float: right; }\n}\n.clearfix:before, .clearfix:after {content: \" \";display: table;}\n.clearfix:after {clear: both;}\n.clearfix {*zoom: 1;}\n\n\n/**********************************\n    Elements\n***********************************/\n\n.center {text-align:center}\n.right {text-align:right}\n.left {text-align:left}\n.padding-20 {padding:20px}\n.padding-25 {padding:25px}\n.padding-30 {padding:30px}\n.padding-35 {padding:35px}\n.padding-40 {padding:40px}\n@media all and (max-width: 540px) {\n    .center {text-align:initial}\n    .right {text-align:initial}\n    .left {text-align:initial}\n    .padding-20 {padding:0}\n    .padding-25 {padding:0}\n    .padding-30 {padding:0}\n    .padding-35 {padding:0}\n    .padding-40 {padding:0}\n}\n\n.margin-0 {margin:0 !important}\n.margin-20 {margin:20px !important}\n.margin-25 {margin:25px !important}\n.margin-30 {margin:30px !important}\n.margin-35 {margin:35px !important}\n.margin-40 {margin:40px !important}\n.is-card { display:table; background-color:#fff;  }\n.is-card > * { display:table; }\n.is-card-circle { width:280px; height: 280px; border-radius:500px; padding:70px; margin:0 auto; }\n@media all and (max-width: 540px) {\n    .is-card-circle { zoom:0.7; -moz-transform: scale(0.7); }\n}\n.is-card-content-centered { display:table-cell;vertical-align:middle;text-align:center; }\n.max-390 { max-width:390px;margin:0 auto; }\n.shadow-1 { /* card */\n    -webkit-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    -moz-box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n    box-shadow: 0 1px 3px rgba(0,0,0, 0.12), 0 1px 2px rgba(0,0,0, 0.24);\n}\n.shadow-2 { /* screenshot */\n    -webkit-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    -moz-box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n    box-shadow: 0 30px 50px rgba(0, 0, 0, 0.15);\n}\n.shadow-3 { /* highlight */\n    -webkit-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    -moz-box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n    box-shadow: 0 0px 100px rgba(0, 0, 0, 0.2);\n}\n\nimg.circle {border-radius:500px;margin-top:0;}\nimg.bordered {border: #ccc 1px solid;}\n\n.embed-responsive {position: relative;display:block;height:0;padding:0;overflow:hidden;margin-top: 1.4em;margin-bottom: 1em;}\n.embed-responsive.embed-responsive-16by9 {padding-bottom: 56.25%;}\n.embed-responsive.embed-responsive-4by3 {padding-bottom: 75%;}\n.embed-responsive iframe {position: absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0;}\n\n.list {position:relative;margin:1.5em 0;}\n.list > i {position:absolute;left:-3px;top:7px;font-size:1.7em;line-height:1;}\n.list > h2, .list > h3 {margin: 0 0 0 50px;}\n.list > p {margin: 5px 0 0 50px}\n\n.quote {position:relative;margin:1.5em 0;}\n.quote > i {position: absolute;top: -10px; left: -7px;font-size: 2em;}\n.quote > small {margin-left:50px;opacity: 0.7;font-size: 1em;}\n.quote > p {margin-left:50px;font-size: 1.5em;}\n@media all and (max-width: 540px) {\n    .quote > i {left: -15px;font-size:1.5em;}\n    .quote > small {margin-left:20px;ont-size: 1em;}\n    .quote > p {margin-left:20px;font-size: 1.2em;}\n}\n\n.is-social {line-height:1;margin-bottom:1.5em}\n.is-social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.is-social a:first-child > i {margin:0 15px 0 0}\n.is-social a:last-child > i {margin:0 0 0 15px}\n.is-social a:hover > i {color:#08c9b9;}\n.is-light-text .is-social a > i {color:#fff}\n.is-light-text .is-social a:hover > i {color:#fff}\n.is-dark-text .is-social a > i {color:#000}\n.is-dark-text .is-social a:hover > i {color:#000}\n\n/* backward compatible */\n.social {line-height:1;margin-bottom:1.5em}\n.social a > i {text-decoration:none;color:#333;font-size:1.2em;margin:0 15px;-webkit-transition: all 0.1s ease-in-out;transition: all 0.1s ease-in-out;}\n.social a:first-child > i {margin:0 15px 0 0}\n.social a:last-child > i {margin:0 0 0 15px}\n.social a:hover > i {color:#08c9b9;}\n.is-light-text .social a > i {color:#fff}\n.is-light-text .social a:hover > i {color:#fff}\n\n.is-rounded-button-big {display:inline-block;}\n.is-rounded-button-big a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 110px; height: 110px;background-color: #aaa;}\n.is-rounded-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n.is-rounded-button-big a:first-child {margin:0 20px 0 0;}\n.is-rounded-button-big a:last-child {margin:0 0 0 20px;}\n\n.is-rounded-button-medium {display:inline-block;}\n.is-rounded-button-medium a {display:table;float:left;text-align:center;margin:0 20px;border-radius: 500px; width: 70px; height: 70px;background-color: #aaa;}\n.is-rounded-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-big {display:inline-block;}\n.is-boxed-button-big a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 110px; height: 110px;background-color: #aaa;}\n.is-boxed-button-big a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:40px}\n\n.is-boxed-button-big2 {display:inline-block;}\n.is-boxed-button-big2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 150px; height: 70px;background-color: #aaa;}\n.is-boxed-button-big2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:35px}\n\n.is-boxed-button-medium {display:inline-block;}\n.is-boxed-button-medium a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 70px; height: 70px;background-color: #aaa;}\n.is-boxed-button-medium a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:30px}\n\n.is-boxed-button-medium2 {display:inline-block;}\n.is-boxed-button-medium2 a {display:table;float:left;text-align:center;margin:0 30px 0 0;width: 100px; height: 50px;background-color: #aaa;}\n.is-boxed-button-medium2 a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:25px}\n\n.is-boxed-button-small {display:inline-block;}\n.is-boxed-button-small a {display:table;float:left;text-align:center;margin:0 20px 0 0;width: 50px; height: 50px;background-color: #aaa;}\n.is-boxed-button-small a i {display:table-cell;width:100%;height:100%;vertical-align:middle;color:#ffffff;font-size:20px}\n\n.size-12 {font-size:12px !important}\n.size-14 {font-size:14px !important}\n.size-16 {font-size:16px !important}\n.size-18 {font-size:18px !important}\n.size-21 {font-size:21px !important}\n.size-24 {font-size:24px !important}\n.size-28 {font-size:28px !important}\n.size-32 {font-size:32px !important}\n.size-35 {font-size:35px !important}\n.size-38 {font-size:38px !important}\n.size-42 {font-size:42px !important}\n.size-46 {font-size:46px !important}\n.size-48 {font-size:48px !important}\n.size-50 {font-size:50px !important}\n.size-54 {font-size:54px !important}\n.size-60 {font-size:60px !important}\n.size-64 {font-size:64px !important}\n.size-68 {font-size:68px !important}\n.size-72 {font-size:72px !important}\n.size-76 {font-size:76px !important}\n.size-80 {font-size:80px !important}\n.size-84 {font-size:84px !important}\n.size-88 {font-size:88px !important}\n.size-92 {font-size:92px !important}\n.size-96 {font-size:96px !important}\n.size-100 {font-size:100px !important}\n.size-104 {font-size:104px !important}\n.size-108 {font-size:108px !important}\n.size-112 {font-size:112px !important}\n.size-116 {font-size:116px !important}\n.size-120 {font-size:120px !important}\n.size-124 {font-size:124px !important}\n.size-128 {font-size:128px !important}\n.size-132 {font-size:132px !important}\n\n.size-136 {font-size:132px !important}\n.size-140 {font-size:132px !important}\n.size-144 {font-size:132px !important}\n.size-148 {font-size:132px !important}\n.size-152 {font-size:132px !important}\n.size-156 {font-size:132px !important}\n.size-160 {font-size:132px !important}\n.size-164 {font-size:132px !important}\n.size-168 {font-size:132px !important}\n.size-172 {font-size:132px !important}\n.size-176 {font-size:132px !important}\n.size-180 {font-size:132px !important}\n.size-184 {font-size:132px !important}\n.size-188 {font-size:132px !important}\n.size-192 {font-size:132px !important}\n.size-196 {font-size:132px !important}\n.size-200 {font-size:132px !important}\n.size-204 {font-size:132px !important}\n.size-208 {font-size:132px !important}\n.size-212 {font-size:132px !important}\n.size-216 {font-size:132px !important}\n.size-220 {font-size:132px !important}\n\n@media all and (max-width: 1024px) {\n    .size-12 {font-size:12px !important}\n    .size-14 {font-size:14px !important}\n    .size-16 {font-size:16px !important}\n    .size-18 {font-size:18px !important}\n    .size-21 {font-size:21px !important}\n    .size-24 {font-size:24px !important}\n    .size-28 {font-size:26px !important}\n    .size-32 {font-size:28px !important}\n    .size-35 {font-size:30px !important}\n    .size-38 {font-size:32px !important}\n    .size-42 {font-size:34px !important}\n    .size-46 {font-size:36px !important}\n    .size-48 {font-size:38px !important}\n    .size-50 {font-size:40px !important}\n    .size-54 {font-size:42px !important}\n    .size-60 {font-size:44px !important}\n    .size-64 {font-size:46px !important}\n    .size-68 {font-size:48px !important}\n    .size-72 {font-size:50px !important}\n    .size-76 {font-size:52px !important}\n    .size-80 {font-size:54px !important}\n    .size-84 {font-size:56px !important}\n    .size-88 {font-size:58px !important}\n    .size-92 {font-size:60px !important}\n    .size-96 {font-size:62px !important}\n    .size-100 {font-size:64px !important}\n    .size-104 {font-size:66px !important}\n    .size-108 {font-size:68px !important}\n    .size-112 {font-size:70px !important}\n    .size-116 {font-size:72px !important}\n    .size-120 {font-size:74px !important}\n    .size-124 {font-size:76px !important}\n    .size-128 {font-size:78px !important}\n    .size-132 {font-size:80px !important}\n\n    .size-136 {font-size:80px !important}\n    .size-140 {font-size:80px !important}\n    .size-144 {font-size:80px !important}\n    .size-148 {font-size:80px !important}\n    .size-152 {font-size:80px !important}\n    .size-156 {font-size:80px !important}\n    .size-160 {font-size:80px !important}\n    .size-164 {font-size:80px !important}\n    .size-168 {font-size:80px !important}\n    .size-172 {font-size:80px !important}\n    .size-176 {font-size:80px !important}\n    .size-180 {font-size:80px !important}\n    .size-184 {font-size:80px !important}\n    .size-188 {font-size:80px !important}\n    .size-192 {font-size:80px !important}\n    .size-196 {font-size:80px !important}\n    .size-200 {font-size:80px !important}\n    .size-204 {font-size:80px !important}\n    .size-208 {font-size:80px !important}\n    .size-212 {font-size:80px !important}\n    .size-216 {font-size:80px !important}\n    .size-220 {font-size:80px !important}\n}\n/* If text wrapped with span-style during editing, don't apply the fix here (See line59) */\n.size-12 span {font-size:12px !important}\n.size-14 span {font-size:14px !important}\n.size-16 span {font-size:16px !important}\n.size-18 span {font-size:18px !important}\n.size-21 span {font-size:21px !important}\n.size-24 span {font-size:24px !important}\n.size-28 span {font-size:28px !important}\n.size-32 span {font-size:32px !important}\n.size-35 span {font-size:35px !important}\n.size-38 span {font-size:38px !important}\n.size-42 span {font-size:42px !important}\n.size-46 span {font-size:46px !important}\n.size-48 span {font-size:48px !important}\n.size-50 span {font-size:50px !important}\n.size-54 span {font-size:54px !important}\n.size-60 span {font-size:60px !important}\n.size-64 span {font-size:64px !important}\n.size-68 span {font-size:68px !important}\n.size-72 span {font-size:72px !important}\n.size-76 span {font-size:76px !important}\n.size-80 span {font-size:80px !important}\n.size-84 span {font-size:84px !important}\n.size-88 span {font-size:88px !important}\n.size-92 span {font-size:92px !important}\n.size-96 span {font-size:96px !important}\n.size-100 span {font-size:100px !important}\n.size-104 span {font-size:104px !important}\n.size-108 span {font-size:108px !important}\n.size-112 span {font-size:112px !important}\n.size-116 span {font-size:116px !important}\n.size-120 span {font-size:120px !important}\n.size-124 span {font-size:124px !important}\n.size-128 span {font-size:128px !important}\n.size-132 span {font-size:132px !important}\n\n.size-136 span {font-size:132px !important}\n.size-140 span {font-size:132px !important}\n.size-144 span {font-size:132px !important}\n.size-148 span {font-size:132px !important}\n.size-152 span {font-size:132px !important}\n.size-156 span {font-size:132px !important}\n.size-160 span {font-size:132px !important}\n.size-164 span {font-size:132px !important}\n.size-168 span {font-size:132px !important}\n.size-172 span {font-size:132px !important}\n.size-176 span {font-size:132px !important}\n.size-180 span {font-size:132px !important}\n.size-184 span {font-size:132px !important}\n.size-188 span {font-size:132px !important}\n.size-192 span {font-size:132px !important}\n.size-196 span {font-size:132px !important}\n.size-200 span {font-size:132px !important}\n.size-204 span {font-size:132px !important}\n.size-208 span {font-size:132px !important}\n.size-212 span {font-size:132px !important}\n.size-216 span {font-size:132px !important}\n.size-220 span {font-size:132px !important}\n\n@media all and (max-width: 1024px) {\n    .size-12 span {font-size:12px !important}\n    .size-14 span {font-size:14px !important}\n    .size-16 span {font-size:16px !important}\n    .size-18 span {font-size:18px !important}\n    .size-21 span {font-size:21px !important}\n    .size-24 span {font-size:24px !important}\n    .size-28 span {font-size:26px !important}\n    .size-32 span {font-size:28px !important}\n    .size-35 span {font-size:30px !important}\n    .size-38 span {font-size:32px !important}\n    .size-42 span {font-size:34px !important}\n    .size-46 span {font-size:36px !important}\n    .size-48 span {font-size:38px !important}\n    .size-50 span {font-size:40px !important}\n    .size-54 span {font-size:42px !important}\n    .size-60 span {font-size:44px !important}\n    .size-64 span {font-size:46px !important}\n    .size-68 span {font-size:48px !important}\n    .size-72 span {font-size:50px !important}\n    .size-76 span {font-size:52px !important}\n    .size-80 span {font-size:54px !important}\n    .size-84 span {font-size:56px !important}\n    .size-88 span {font-size:58px !important}\n    .size-92 span {font-size:60px !important}\n    .size-96 span {font-size:62px !important}\n    .size-100 span {font-size:64px !important}\n    .size-104 span {font-size:66px !important}\n    .size-108 span {font-size:68px !important}\n    .size-112 span {font-size:70px !important}\n    .size-116 span {font-size:72px !important}\n    .size-120 span {font-size:74px !important}\n    .size-124 span {font-size:76px !important}\n    .size-128 span {font-size:78px !important}\n    .size-132 span {font-size:80px !important}\n\n    .size-136 span {font-size:80px !important}\n    .size-140 span {font-size:80px !important}\n    .size-144 span {font-size:80px !important}\n    .size-148 span {font-size:80px !important}\n    .size-152 span {font-size:80px !important}\n    .size-156 span {font-size:80px !important}\n    .size-160 span {font-size:80px !important}\n    .size-164 span {font-size:80px !important}\n    .size-168 span {font-size:80px !important}\n    .size-172 span {font-size:80px !important}\n    .size-176 span {font-size:80px !important}\n    .size-180 span {font-size:80px !important}\n    .size-184 span {font-size:80px !important}\n    .size-188 span {font-size:80px !important}\n    .size-192 span {font-size:80px !important}\n    .size-196 span {font-size:80px !important}\n    .size-200 span {font-size:80px !important}\n    .size-204 span {font-size:80px !important}\n    .size-208 span {font-size:80px !important}\n    .size-212 span {font-size:80px !important}\n    .size-216 span {font-size:80px !important}\n    .size-220 span {font-size:80px !important}\n}\n\n/**********************************\n    Title Styles\n***********************************/\n\n.is-light-text * {color: #fff;}\n.is-dark-text * {color: #000;}\n\n/* Style 1 */\n\n.is-title1-96 {margin-top:20px;margin-bottom:20px;}\n.is-title1-80 {margin-top:15px;margin-bottom:15px;}\n.is-title1-64 {margin-top:15px;margin-bottom:15px;}\n.is-title1-48 {margin-top:0px;margin-bottom:15px;}\n.is-title1-32 {margin-top:15px;margin-bottom:15px;}\n\n/* Style 2 */\n\n.is-title2-96 {margin-top:25px;margin-bottom:20px;}\n.is-title2-80 {margin-top:20px;margin-bottom:15px;}\n.is-title2-64 {margin-top:20px;margin-bottom:15px;}\n.is-title2-48 {margin-top:0px;margin-bottom:15px;}\n.is-title2-32 {margin-top:10px;margin-bottom:15px;}\n\n/* Style 3 */\n\n.is-title3-96 {margin-top:30px;margin-bottom:35px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-80 {margin-top:25px;margin-bottom:33px;padding:20px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-64 {margin-top:20px;margin-bottom:30px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-48 {margin-top:20px;margin-bottom:25px;padding:18px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-title3-32 {margin-top:20px;margin-bottom:20px;padding:15px 0;border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title3-96 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-80 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-64 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-48 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n.is-light-text .is-title3-32 {border-top:#fff 2px solid;border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title3-96 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-80 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-64 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-48 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n.is-dark-text .is-title3-32 {border-top:#000 2px solid;border-bottom:#000 2px solid;}\n\n/* Style 4 */\n\n.is-title4-96 {margin-top:30px;margin-bottom:35px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-80 {margin-top:25px;margin-bottom:33px;padding:20px 30px;border:#000 2px solid;}\n.is-title4-64 {margin-top:20px;margin-bottom:30px;padding:18px 28px;border:#000 2px solid;}\n.is-title4-48 {margin-top:20px;margin-bottom:25px;padding:18px 25px;border:#000 2px solid;}\n.is-title4-32 {margin-top:20px;margin-bottom:20px;padding:15px 20px;border:#000 2px solid;}\n\n.is-light-text .is-title4-96 {border:#fff 2px solid;}\n.is-light-text .is-title4-80 {border:#fff 2px solid;}\n.is-light-text .is-title4-64 {border:#fff 2px solid;}\n.is-light-text .is-title4-48 {border:#fff 2px solid;}\n.is-light-text .is-title4-32 {border:#fff 2px solid;}\n\n.is-dark-text .is-title4-96 {border:#000 2px solid;}\n.is-dark-text .is-title4-80 {border:#000 2px solid;}\n.is-dark-text .is-title4-64 {border:#000 2px solid;}\n.is-dark-text .is-title4-48 {border:#000 2px solid;}\n.is-dark-text .is-title4-32 {border:#000 2px solid;}\n\n/* Style 5 */\n\n.is-title5-96 {margin-top:10px;margin-bottom:35px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-80 {margin-top:10px;margin-bottom:33px;padding-bottom:25px;border-bottom:#000 2px solid;}\n.is-title5-64 {margin-top:10px;margin-bottom:30px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-48 {margin-top:10px;margin-bottom:25px;padding-bottom:20px;border-bottom:#000 2px solid;}\n.is-title5-32 {margin-top:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:#000 2px solid;}\n\n.is-light-text .is-title5-96 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-80 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-64 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-48 {border-bottom:#fff 2px solid;}\n.is-light-text .is-title5-32 {border-bottom:#fff 2px solid;}\n\n.is-dark-text .is-title5-96 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-80 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-64 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-48 {border-bottom:#000 2px solid;}\n.is-dark-text .is-title5-32 {border-bottom:#000 2px solid;}\n\n/* Extra Title Styles */\n\n.is-title-lite {letter-spacing:3px;word-spacing:5px;}\n.is-title-lite.is-title3-96, .is-title-lite.is-title4-96, .is-title-lite.is-title5-96 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-80, .is-title-lite.is-title4-80, .is-title-lite.is-title5-80 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-64, .is-title-lite.is-title4-64, .is-title-lite.is-title5-64 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-48, .is-title-lite.is-title4-48, .is-title-lite.is-title5-48 {letter-spacing:4px;word-spacing:8px;}\n.is-title-lite.is-title3-32, .is-title-lite.is-title4-32, .is-title-lite.is-title5-32 {letter-spacing:3px;word-spacing:5px;}\n\n.is-title-bold {font-weight:800;}\n.is-title-bold.is-title3-96, .is-title-bold.is-title4-96, .is-title-bold.is-title5-96 {border-width:4px;}\n.is-title-bold.is-title3-80, .is-title-bold.is-title4-80, .is-title-bold.is-title5-80 {border-width:4px;}\n.is-title-bold.is-title3-64, .is-title-bold.is-title4-64, .is-title-bold.is-title5-64 {border-width:3px;}\n.is-title-bold.is-title3-48, .is-title-bold.is-title4-48, .is-title-bold.is-title5-48 {border-width:3px;}\n.is-title-bold.is-title3-32, .is-title-bold.is-title4-32, .is-title-bold.is-title5-32 {border-width:2px;}\n\n\n/**********************************\n    Into Styles\n***********************************/\n\n.is-info1 {margin-top:10px;margin-bottom:0px;font-style:italic;}\n.is-info1.size-21 {margin-top:12px;}\n.is-info1.size-24 {margin-top:15px;}\n\n.is-info2 {margin-top:10px;margin-bottom:0px;}\n.is-info2.size-21 {margin-top:12px;}\n.is-info2.size-24 {margin-top:15px;}\n\n\n/**********************************\n    Buttons Styles\n***********************************/\n\n.is-btn {\n    padding: 10px 50px;\n    font-size: 1rem;\n    line-height: 2rem;\n    border-radius: 0;\n    letter-spacing: 3px;\n    display: inline-block;\n    margin: 3px 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    white-space: nowrap;\n    -webkit-transition: all 0.16s ease;\n    transition: all 0.16s ease;\n}\n\n/* ghost1 default */\n.is-btn-ghost1 { color: #000; border: 2px solid #111; }\n\n/* ghost1 light-text */\n.is-light-text .is-btn-ghost1,\n.is-dark-text .is-light-text .is-btn-ghost1  { color: #fff; border: 1px solid #fff;}\n\n/* ghost1 dark-text */\n.is-dark-text .is-btn-ghost1,\n.is-light-text .is-dark-text .is-btn-ghost1 { color: #000; border: 1px solid #111; }\n\n/* ghost2 default */\n.is-btn-ghost2 { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191);}\n\n/* ghost2 light-text */\n.is-light-text .is-btn-ghost2,\n.is-dark-text .is-light-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n/* ghost2 dark-text */\n.is-dark-text .is-btn-ghost2,\n.is-light-text .is-dark-text .is-btn-ghost2  { color: white; border: 1px solid rgba(33, 191, 191); background-color: rgba(33, 191, 191); }\n\n.is-btn-small { padding: 5px 25px; font-size: 0.85em; }\n.is-upper { text-transform:uppercase; }\n.is-rounded-30 { border-radius: 30px; }\n\n\n/* backward compatible */\n.btn {\n    padding: 7px 25px;\n    font-size: 1em;\n    line-height: 2em;\n    border-radius: 5px;\n    letter-spacing: 1px;\n    display: inline-block;\n    margin-bottom: 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    /* white-space: nowrap; */\n    -webkit-transition: all 0.16s ease;\n    transition: all 0.16s ease;\n}\n.btn.btn-primary {color: #ffffff;background-color: #08c9b9;}\n.btn.btn-primary:hover {color: #ffffff;background-color: #07b0a2;border-color: #07b0a2;}\n.btn.btn-default {color: #333333;background-color: #d3d3d3;}\n.btn.btn-default:hover {color: #111;background-color: #ccc;border-color: #ccc;}\n\n\n/**********************************\n    Header Image with Caption\n***********************************/\nfigure.hdr {\n\tposition: relative;\n\twidth: 100%;\n\toverflow:hidden;\n    background-color: #000;\n}\nfigure.hdr img {\n\tposition: relative;\n\tdisplay: block;\n\twidth: 100%;\n\topacity: 0.8;\n\t-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;\n\ttransition: opacity 0.35s, transform 0.35s;\n\t-webkit-transform: scale(1.2);\n\ttransform: scale(1.2);\n}\nfigure.hdr:hover img {\n\topacity: 0.5;\n\t-webkit-transform: scale(1);\n\ttransform: scale(1);\n}\nfigure.hdr figcaption {\n   \tposition: absolute;\n\ttop: auto;\n\tbottom: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 60%;\n\tpadding: 0 2.5em;\n\tcolor: #fff;\n\tfont-size: 1.55em;\n\ttext-align: center;\n\tbox-sizing: border-box;\n\tz-index:1;\n}\n/* Text */\nfigure.hdr h2 {\n\tfont-weight: 300;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2 span {\n\tfont-weight: 800;\n}\nfigure.hdr p {\n\tletter-spacing: 1px;\n\tfont-size: 68.5%;\n\ttext-transform: uppercase;\n}\nfigure.hdr h2, figure.hdr p {\n\tmargin: 0;\n\tz-index:10000;\n}\n/* Cosmetic */\nfigure.hdr div {\n\theight: 100%;\n\tz-index:0;\n}\nfigure.hdr div::before,\nfigure.hdr div::after {\n\tposition: absolute;\n\tcontent: '';\n}\n/* One */\nfigure.one div::before {\n\ttop: 50px;\n\tright: 30px;\n\tbottom: 50px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.one div::after {\n\ttop: 30px;\n\tright: 50px;\n\tbottom: 30px;\n\tleft: 50px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Two */\nfigure.two div::before {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-top: 1px solid #fff;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.two div::after {\n\ttop: 30px;\n\tright: 30px;\n\tbottom: 30px;\n\tleft: 30px;\n\tborder-right: 1px solid #fff;\n\tborder-left: 1px solid #fff;\n}\n/* Three */\nfigure.three figcaption {\n\theight: 70%;\n}\nfigure.three p {\n\tmargin: 1em 0 0;\n\tpadding: 2em;\n\tborder: 1px solid #fff;\n}\n/* Four */\nfigure.four figcaption {\n\theight: 60%;\n\ttext-align: left;\n}\nfigure.four p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 50px;\n\tleft: 50px;\n\tpadding: 2em;\n\tborder: 7px solid #fff;\n}\n/* Five */\nfigure.five figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.five h2 {\n    position: absolute;\n    left: 50px;\n\tright: 50px;\n\ttop: 10%;\n\tborder-bottom: 5px solid #fff;\n}\nfigure.five p {\n\tposition: absolute;\n\tright: 50px;\n\tbottom: 10%;\n}\n/* Six */\nfigure.six figcaption {\n\theight: 70%;\n}\nfigure.six h2 {\n    padding-bottom: 3%;\n\tborder-bottom: 1px solid #fff;\n}\nfigure.six p {\n\tpadding-top: 6%;\n}\n/* Seven */\nfigure.seven figcaption {\n\theight: 90%;\n\ttext-align:left;\n}\nfigure.seven h2 {\n\tborder-bottom: 3px solid #fff;\n}\nfigure.seven p {\n    padding-top: 1em;\n}\n/* Eight */\nfigure.eight figcaption {\n\theight: 100%;\n\ttext-align: right;\n}\nfigure.eight h2 {\n\tposition: absolute;\n\tleft: 50%;\n\tright: 50px;\n\tbottom: 10%;\n}\nfigure.eight p {\n    position: absolute;\n    left: 50px;\n\tright: 50%;\n\ttop: 10%;\n\tpadding-right:0.5em;\n\tborder-right: 1px solid #fff;\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/snippets-bootstrap.html",
    "content": "\n<!-- Title -->\n\n<div data-num=\"c1\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-1.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c2\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-2.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;background: rgba(167,0,167,.1);font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"c3\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-3.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n                <ol>\n                    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\"><strong> Important questions to consider</strong> before starting the adoption process</li>\n                    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                </ol>\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c4\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-4.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;background: rgba(167,0,167,.1);font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n                <ol>\n                    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\"><strong> Important questions to consider</strong> before starting the adoption process</li>\n                    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                </ol>\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c5\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-5.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/o01-1.jpg\">\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c6\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-6.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;background: rgba(167,0,167,.1);font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/o01-1.jpg\">\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c7\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-7.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\t\t           \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\t\t           \t\t</div>\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c8\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-8.png\" data-cat=\"36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;background: rgba(167,0,167,.1);font-weight: 700;font-size: 2em;\">This Dog Adoption Guide Includes:</h1>\n\n            <div style=\"padding: 20px;\">\n\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\t\t           \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\t\t           \t\t</div>\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c9\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-9.png\" data-cat=\"36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">The First Night with Your Dog</h1>\n\n            <div style=\"padding: 20px;\">\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c10\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-10.png\" data-cat=\"36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">The First Night with Your Dog</h1>\n\n            <div style=\"padding: 20px;\">\n                <p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        \t\t<div class=\"row\">\n        \t       \t<div class=\"col-md-12\">\n                   \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/o01-1.jpg\">\n        \t       \t</div>\n        \t   \t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c11\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-11.png\" data-cat=\"36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\">\n\t\t<div class=\"column full\">\n            <h1 style=\"margin: 0; color: #a700a7;padding: 20px;font-weight: 700;font-size: 2em;\">The First Night with Your Dog</h1>\n\n            <div style=\"padding: 20px;\">\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/o01-1.jpg\">\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n\t\t\t   \t<ol>\n\t\t\t   \t    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Fill his or her belly. A good meal often leads to a good night’s sleep.</li>\n\t\t\t   \t    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Encourage relaxation before bed. Avoid play and excitement leading up to bedtime. It can be difficult for dogs to settle down after a play session.</li>\n\t\t\t   \t    <li style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Put your pup’s bed in a quiet corner, preferably in your bedroom. The first night can be difficult in a new place, so make your pooch as comfy as possible. Remember: The spot your pup sleeps on the first night doesn’t have to be forever.</li>\n\t\t\t   \t</ol>\n\t\t\t   \t<p style=\"margin: 0; font-size: 18px; font-weight: 400; color: #333333; line-height: 27px; margin-bottom: 15px;\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"1\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a01.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"2\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a02.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"3\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a03.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"4\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a04.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite is-upper\">Lorem Ipsum is simply dummy text</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"5\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a05.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"6\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a06.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"7\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a07.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"8\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a08.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"9\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a09.png\" data-cat=\"0,1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"10\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a10.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<!---->\n\n\n<div data-num=\"11\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c01.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"display\">\n\t\t\t    <p class=\"size-21 is-info2\"><i>This is a special report</i></p>\n                <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"12\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g01.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"13\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e01.png\" data-cat=\"0,5\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <h1>Heading 1 Text Goes Here</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"14\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e02.png\" data-cat=\"0,5\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <h2>Heading 2 Text Goes Here</h2>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"15\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e09.png\" data-cat=\"0,5\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<h1>Lorem Ipsum</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/e09-1.jpg\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"16\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/v01.png\" data-cat=\"0,19\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <hr>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"17\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/v02.png\" data-cat=\"0,19\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <br><br>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"18\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b01.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Beautiful Content. Responsive.</h1>\n                <p class=\"size-21\"><i>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</i></p>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"19\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b12.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/b12-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t</div>\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Lorem Ipsum is Simply</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text</p>\n\n\t\t\t</div>\n\n\t\t\t<p style=\"text-align: center\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"20\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b14.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Beautiful Content</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/b14-1.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/b14-2.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/b14-3.jpg\">\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"21\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g02.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g02-1.jpg\">\n\n        \t</div>\n\t\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"22\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g03.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       \t\t </div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\">\n\n       \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"23\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/h01.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h01-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h01-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h01-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"24\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/h02.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h02-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h02-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h02-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"25\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/o01.png\" data-cat=\"0,12\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/o01-1.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"26\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k06.png\" data-cat=\"0,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-1.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-2.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"27\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k02.png\" data-cat=\"0,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"col-md-4\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-2.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"col-md-4\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-3.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"28\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k01.png\" data-cat=\"0,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-2.jpg\">\n\n               \t \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"29\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p01.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p01-1.jpg\">\n\n       \t \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n           \t\t<div class=\"display\">\n\n               \t\t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"30\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p02.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<div class=\"display\">\n\n                \t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"31\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p03.png\" data-cat=\"13\">\n\n \t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p03-1.jpg\">\n\n        \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            \t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"32\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p04.png\" data-cat=\"13\">\n\n \t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p04-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"33\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p05.png\" data-cat=\"0,13\">\n\n  <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"display center\">\n\n                <h1>Beautiful content. Responsive.</h1>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n         </div>\n\n    </div>\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"34\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p06.png\" data-cat=\"0,13\">\n\n <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"display center\">\n\n                <h1 style=\"font-size:4em\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n\n        </div>\n\n    </div>\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"35\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p07.png\" data-cat=\"0,13\">\n\n <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Download</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"36\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q01.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-6\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-6\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"37\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q02.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-4\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"38\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q30.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"col-md-6\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n    </div>\n\n</div>\n\n<div data-num=\"39\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q31.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n        <div class=\"col-md-4\">\n\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"col-md-4\">\n\t\t\t\t<i class=\"icon ion-android-create size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div><div class=\"col-md-4\">\n\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n    </div>\n\n</div>\n\n\n<div data-num=\"40\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r01.png\" data-cat=\"0,15\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"41\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r02.png\" data-cat=\"0,15\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-6\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-6\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"42\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r03.png\" data-cat=\"0,15\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6 center\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r03-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t\t\t<div class=\"col-md-6\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"43\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r04.png\" data-cat=\"0,15\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n       \t\t<div class=\"col-md-6 center\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r04-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n\n\n<div data-num=\"44\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s01.png\" data-cat=\"0,16\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-2 center\">\n\n                <p><img src=\"/vendor/content-builder/assets/minimalist-basic/s01-1.jpg\" style=\"border-radius:500px;margin-top:5px;\"></p>\n\n        \t</div>\n\n\t\t\t<div class=\"col-md-10\">\n\n            \t\t<p>\n\n                \t<b>Sara Phillipps</b><br>A freelance web designer &amp; developer based in Melbourne, Australia.\n\n            \t\t</p>\n\n            \t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<!--<a href=\"#\"><i class=\"icon ion-social-github\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-dribbble\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-pinterest\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-linkedin\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-instagram\"></i></a>-->\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n           \t \t</div>\n\n       \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"45\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s03.png\" data-cat=\"0,16\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/s03-1.jpg\">\n\n \t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<h2>Lorem Ipsum</h2>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"46\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s10.png\" data-cat=\"0,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t        <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-4 center\">\n\n\t\t\t\t    <p><img src=\"/vendor/content-builder/assets/minimalist-basic/s10-1.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"col-md-8\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t        <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-4 center\">\n\n\t\t\t\t    <p><img src=\"/vendor/content-builder/assets/minimalist-basic/s10-2.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"col-md-8\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"47\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/t01.png\" data-cat=\"0,17,22\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"48\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/t02.png\" data-cat=\"0,17,22\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-8\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n            <h3>Get in Touch</h3>\n\n            <p>\n\n              <strong>Company, Inc.</strong><br>\n\n              123 Street, City<br>\n\n              State 12345<br>\n\n              P: (123) 456 7890 / 456 7891\n\n            </p>\n\n\n\n            <p>\n\n              <strong>Full Name</strong><br>\n\n              <a href=\"mailto:#\">first.last@example.com</a>\n\n            </p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"49\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/o02.png\" data-cat=\"0,20\">\n\n \t<div class=\"row\">\n\n        \t<div class=\"col-md-12\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"50\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e13.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6 center\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\" style=\"margin-right:20px\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"51\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e14.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"52\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u04.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\n            <div class=\"clearfix is-boxed-button-big\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                <a href=\"http://www.website.com/\" style=\"background-color: #0569AA;\"><i class=\"icon ion-android-home\"></i></a>\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<!-- End of Default -->\n\n\n\n<div data-num=\"53\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/n15.png\" data-cat=\"11\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-1.jpg\">\n\n        </div>\n\n        <div class=\"col-md-6\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-2.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"54\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/n16.png\" data-cat=\"11\">\n\n\t<div class=\"row\">\n\n\t    <div class=\"col-md-4\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/k02-1.jpg\">\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-2.jpg\">\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-3.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"55\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p34.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Beautiful Content</h1>\n\n\t\t\t</div>\n\n \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/p34-1.png\">\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"col-md-6\">\n\n                \t\t<h2>Responsive.</h2>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                \t\t<div style=\"margin:1.3em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px;\">Read More</a>\n\n            \t\t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"56\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p35.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-leaf size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t<div class=\"display\">\n\n                \t<h1 style=\"font-size: 3.5em; margin:0.2em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t</div>\n\n           <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t    <div style=\"margin:1em 0\">\n\n           \t\t\t <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">READ MORE</a>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"57\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p36.png\" data-cat=\"13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-21\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n            \t\t<div class=\"display\">\n\n                \t\t    <h1 style=\"margin:0.3em 0; font-size: 4em\">Beautiful Content. Responsive.</h1>\n\n            \t\t </div>\n\n                    <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"58\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p38.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\t\t\t\t<div class=\"display center\">\n\n            \t\t<h1>Beautiful content.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t</div>\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\n\n\t\t\t<div style=\"margin:1em 0 2.5em;\">\n\n           \t\t   <a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a> &nbsp;\n\n            \t\t   <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Download</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"59\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p42.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p42-1.jpg\">\n\t\t\t<h3>BEAUTIFUL CONTENT. RESPONSIVE.</h3>\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Lorem Ipsum is simply text of the printing industry</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div style=\"margin:0.5em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p43.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            \t<div class=\"clearfix is-rounded-button-medium\">\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t             \t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\t\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin-top:0.5em;font-size:3.7em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div style=\"margin:1em 0;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">GET STARTED</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p44.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"font-size:3.4em\">Lorem Ipsum is simply text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t            <a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n                    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    <a href=\"https://www.instagram.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:2em 0\">\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p46.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h1 style=\"font-size:3.5em;margin-top:0\">Beautiful Content. Responsive.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:1em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Watch Video</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p47.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\" font-size: 4em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n           <div style=\"margin:1em 0 2.5em;\">\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">GET STARTED TODAY</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n           <div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"padding:0; width:80px; height:80px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p50.png\" data-cat=\"13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary\" style=\"padding:0; width:90px; height:90px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n                <h1 style=\"font-size:3em\">Beautiful content. Responsive</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n         </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Started</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"65\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q20.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q20-1.png\">\n\n\n        \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n               \t \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"66\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q21.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q21-1.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"col-md-4\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q21-2.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"col-md-4\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q21-3.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n\n<div data-num=\"67\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q24.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n       </div>\n\n       <div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n       <div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-create size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"68\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q25.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Best Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-heart-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-mic-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-paperplane size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-film-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q26.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q26-1.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q26-2.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q27.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-android-download size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q28.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n                <i class=\"icon ion-compose size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n                <i class=\"icon ion-android-favorite-outline size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q29.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Product Features</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-camera-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"73\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r22.png\" data-cat=\"0,15\">\n\n    \t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Customer Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"74\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r23.png\" data-cat=\"0,15\">\n\n    \t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t <i class=\"icon ion-quote size-80\" style=\"color: #C0C0C0\"></i>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r23-1.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r23-2.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r23-3.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"75\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r25.png\" data-cat=\"0,15\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Happy Customers</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r25-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r25-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t<p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"76\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r27.png\" data-cat=\"15\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Testimonials</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"77\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r28.png\" data-cat=\"0,15\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">What People Say About Us</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r28-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r28-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"78\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u10.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em\">Beautiful Content. Responsive.</h1>\n\n            \t\t    </div>\n\n                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.  Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<div class=\"clearfix is-rounded-button-medium\">\n\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"79\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u11.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em; margin:0.5em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"80\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u12.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"display\">\n\n                            <h1>Lorem Ipsum is simply text</h1>\n\n\t\t\t</div>\n\n                        <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n            <div class=\"clearfix is-boxed-button-big2\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"81\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u13.png\" data-cat=\"0,18\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"display\">\n            \t<h1 style=\"font-size:3.5em\">Beautiful content. Responsive.</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"82\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u14.png\" data-cat=\"18\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;letter-spacing:8px\">BEAUTIFUL CONTENT. RESPONSIVE.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet.</p>\n\t\t\t<br>\n\t\t\t <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"83\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w01.png\" data-cat=\"0,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-gear-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-world-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-calendar-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"84\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w02.png\" data-cat=\"0,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            \t\t <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-heart-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-compose-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-gear-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-calendar-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-clock-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-laptop size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"85\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w04.png\" data-cat=\"0,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1>Beautiful content. Responsive.</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/w04-1.png\">\n\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\n            <div style=\"margin:30px 0 0 0\">\n                <p><i class=\"icon ion-ios-heart-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-compose-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-gear-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\t\t\t</div>\n\n     \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"86\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w05.png\" data-cat=\"21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n                    <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/w05-1.png\">\n\n        \t</div>\n\n\t\t\t<div class=\"col-md-6\">\n\n                \t\t<h3>Beautiful Content. Responsive.</h3>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-camera-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n<div data-num=\"87\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w06.png\" data-cat=\"0,21\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Beautiful Content</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Responsive</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Typesetting</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Simply Text</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"88\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w07.png\" data-cat=\"0,21\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"font-size:3em\">SERVICES</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-filing-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"89\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w10.png\" data-cat=\"0,21\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"text-align: center; font-size:3em;margin:1.5em 0\">Our Services</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n       \t \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-mic-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n         \t</div>\n        </div>\n    </div>\n</div>\n\n<div data-num=\"90\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x01.png\" data-cat=\"0,22\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Contact Us</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel.</p>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<h3>Address</h3>\n\n         \t\t<p>\n\n              \t\t<strong>Company, Inc.</strong><br>\n\n              \t\t123 Street, City<br>\n\n              \t\tState 12345<br>\n\n              \t\tP: (123) 456 7890 / 456 7891\n\n            \t</p>\n\n\t    </div>\n\n\t    <div class=\"col-md-6\">\n\n            <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-12\">\n\n\t\t\t\t    <h3>Stay in Touch</h3>\n\n            \t    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n                    <div class=\"clearfix is-boxed-button-medium2\">\n                        <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    </div>\n\n\t\t\t    </div>\n\n            </div>\n\n\n\t    </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"91\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x05.png\" data-cat=\"22\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n               <h1 style=\"font-size: 3em\">Contact Us</h1>\n\n               <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-12\">\n\n\t\t\t\t    <h3>OFFICE ONE</h3>\n\n\t\t\t    </div>\n\n            </div>\n\n\t\t    <div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t   \t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n             </div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<div class=\"row\">\n\n                <div class=\"col-md-12\">\n\n\t\t\t\t    <h3>OFFICE TWO</h3>\n\n                </div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                   \t<p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"92\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x09.png\" data-cat=\"22\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-location-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-telephone-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Call Us</h3>\n  \t\t\t<p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-email-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Email</h3>\n  \t\t\t<p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Social Media</h3>\n  \t\t\t<p><a href=\"https://www.facebook.com\">Facebook</a><br><a href=\"https://twitter.com\">Twitter</a><br></p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"93\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x10.png\" data-cat=\"0,17,22\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n           <p>\n              <span style=\"font-size:1.2em\"><b>Company, Inc.</b></span><br>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"embed-responsive embed-responsive-16by9\">\n            \t<iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"94\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x11.png\" data-cat=\"0,22\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <h3>\n\t\t\t\t<i class=\"icon ion-ios-location-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Address</span>\n\t\t\t</h3>\n            <p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n        \t<h3>\n \t\t\t\t<i class=\"icon ion-iphone size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Phone</span>\n\t\t\t</h3>\n            <p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-email-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Email</span>\n\t\t\t</h3>\n            <p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x12.png\" data-cat=\"0,22\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1>Contact Us</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/x12-1.jpg\" style=\"margin-top: 0px;\">\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <h3 style=\"margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"is-social\">\n                <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"96\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y01.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Ready to Purchase?</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1>$<span style=\"font-size: 2.7em;\">59</span></h1>\n\t\t\t\t\t</div>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t<div style=\"margin:2.5em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"97\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y02.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t   \t\t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">99</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n           \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"98\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y03.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n                    \t\t<h1 style=\"font-size: 3.5em\">Pricing</h1>\n\n\t\t\t</div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t    \t<h3>Personal</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">59</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Professional</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">89</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Business</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div data-num=\"99\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y04.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing Plans</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Standard</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Professional</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">79</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Business</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"100\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y05.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Personal</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Professional</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">39</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Business</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">49</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"101\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y06.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:0.5em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\t\t\t</div>\n            <h3>Basic</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\t\t\t</div>\n            <h3>Professional</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n           \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t</div>\n            <h3>Business</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"102\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y07.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:1em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>PRO</h2>\n\t\t\t\t\t<p style=\"font-size:1.3em;color:#808080\"><i>$29 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>BUSINESS</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$39 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>DEVELOPER</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$59 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"103\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y08.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing Plans</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h1>Basic</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">19</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h1>Professional</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">39</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h1>Business</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">49</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"104\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y09.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.7em;margin:1em 0\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Basic</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">29</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Pro</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">39</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y10.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<h1 style=\"font-size: 4em;margin:1em 0\">Pricing Plans</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Basic</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">39</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Professional</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">49</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Business</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">59</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"106\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z01.png\" data-cat=\"0,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Meet The Team</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z01-1.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z01-2.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"107\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z02.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t\t<h1 style=\"font-size: 3em\">Meet The Team</h1>\n\t\t    \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        \t</div>\n\t</div>\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t    <div class=\"col-md-4 center\">\n\t\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/z02-2.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"col-md-8\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    \t</div>\n\t    <div class=\"col-md-6\">\n\t\t    <div class=\"row\">\n\t\t\t    <div class=\"col-md-4 center\">\n\t\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/z02-3.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"col-md-8\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    </div>\n    \t</div>\n</div>\n\n\n<div data-num=\"108\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z03.png\" data-cat=\"0,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Our Team</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z03-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z03-2.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"109\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z05.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"margin:1.2em 0;font-size:3em\">Meet The Team</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"110\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z06.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1>Our Team</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-4.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"111\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z07.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1>Meet Our Team</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z07-1.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z07-2.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"112\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z09.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Meet The Team</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z09-1.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z09-2.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"113\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab01.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"display center\">\n\n            \t<h1>Portfolio</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-1.jpg\">\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-2.jpg\">\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-3.jpg\">\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-4.jpg\">\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-5.jpg\">\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-6.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"114\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab02.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">Our Works</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            <div class=\"padding-20\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab02-1.jpg\">\n\n\t\t    <p><b>Beautiful Content</b><br>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\n            <div class=\"padding-20\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab02-2.jpg\">\n\n\t\t    <p><b>Printing and Typesetting</b><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\n            <div class=\"padding-20\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab02-3.jpg\">\n\n\t\t    <p><b>Simply Dummy Text</b><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Vivamus leo ante, consectetur sit amet vulputate vel. </p>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"115\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab03.png\" data-cat=\"25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Products</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab03-1.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n           \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Buy Now</a>\n\n           \t \t</div>\n\t\t\t</div>\n    \t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab03-2.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Buy Now</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab03-3.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Buy Now</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"116\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab06.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab06-1.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/ab06-2.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/ab06-3.jpg\">\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"display\">\n                <h1 style=\"font-size:3.3em\">Portfolio</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            </div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n         </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">VIEW PROJECT</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"117\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab07.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab07-1.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product One</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab07-2.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Two</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab07-3.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Three</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n     \t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"118\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab10.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-ios-cart size-64\" style=\"color: #333\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab10-1.jpg\">\n        </div>\n\t\t<div class=\"col-md-6\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"col-md-6\">\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab10-2.jpg\">\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd01.png\" data-cat=\"0,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-archive size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"120\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd03.png\" data-cat=\"0,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\n\t\t\t\t<h4>Step<span style=\"font-size: 4em\"><b>1</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>2</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>3</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"121\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd04.png\" data-cat=\"0,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">The Process</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 1</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-edit size-96\"></i>\n\n\t\t\t\t<h3>STEP 2</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-gear-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 3</h3>\n\n           \t <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-heart-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 4</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"122\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd06.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-compose-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Step One</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Step Two</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Step Three</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"123\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd07.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Work Steps</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">4</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"124\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd08.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n \t\t\t\t\t<p><i class=\"icon ion-android-bulb size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step One</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n\t\t\t\t\t<p><i class=\"icon ion-android-settings size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Two</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n \t\t\t\t\t<p><i class=\"icon ion-android-favorite-outline size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Three</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n\t\t\t\t\t<p><i class=\"icon ion-paper-airplane size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Four</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"125\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd09.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"126\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd10.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"margin:1.5em 0;font-size:3.2em\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 01</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 02</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t   \t \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"127\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef01.png\" data-cat=\"0,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<h1>Our Clients</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        </div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-4 center\">\n\n                  \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ef01-1.png\">\n\n\t\t\t\t\t<p>Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-4 center\">\n\n                   <img src=\"/vendor/content-builder/assets/minimalist-basic/ef01-2.png\">\n\n\t\t\t\t\t<p>Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-4 center\">\n\n                   <img src=\"/vendor/content-builder/assets/minimalist-basic/ef01-3.png\">\n\n\t\t\t\t\t<p>Company Three</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"128\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef02.png\" data-cat=\"0,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3em\">Our Clients</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-1.png\">\n\n\t\t\t    <p>Company One</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-2.png\">\n\n\t\t\t    <p>Company Two</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-3.png\">\n\n\t\t\t    <p>Company Three</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-4.png\">\n\n\t\t\t    <p>Company Four</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-5.png\">\n\n\t\t\t    <p>Company Five</p>\n\n\t\t    </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"129\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef03.png\" data-cat=\"0,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em; margin:0.2em 0.5em\">Our Partners</h1>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-4.png\">\n\n\t\t\t<p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"130\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef05.png\" data-cat=\"27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1>Our Partners</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n             <img src=\"/vendor/content-builder/assets/minimalist-basic/ef05-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef05-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef05-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"131\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef08.png\" data-cat=\"27\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">Our Clients</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-1.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-2.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-3.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-4.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-5.png\">\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"132\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef09.png\" data-cat=\"0,27\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Our Partners</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-1.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-2.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-3.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-4.png\">\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"133\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh01.png\" data-cat=\"0,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-6 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"/vendor/content-builder/assets/minimalist-basic/gh01-1.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-6\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-6 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"/vendor/content-builder/assets/minimalist-basic/gh01-2.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-6\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-6 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"/vendor/content-builder/assets/minimalist-basic/gh01-3.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-6\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Three</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"134\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh02.png\" data-cat=\"0,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-3.png\">\n\n\t\t    <p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-4.png\">\n\n\t\t    <p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"135\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh03.png\" data-cat=\"0,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-1.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company One</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-2.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Two</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-3.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Three</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-4.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<h3>Company Four</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"136\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh05.png\" data-cat=\"28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh05-1.png\">\n\n\t\t\t\t<h3>Company One</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh05-2.png\">\n\n\t\t\t\t<h3>Company Two</h3>\n\n        \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh05-3.png\">\n\n\t\t\t\t<h3>Company Three</h3>\n\n    \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n    \t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"137\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh07.png\" data-cat=\"28\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh07-1.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh07-2.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh07-3.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"138\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh08.png\" data-cat=\"0,28\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-1.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company One</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-2.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Two</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-3.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Three</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-4.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Four</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"139\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh09.png\" data-cat=\"0,28\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh09-1.png\">\n\t\t\t    \t<h3>Company One</h3>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh09-2.png\">\n\t\t\t    \t<h3>Company Two</h3>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh09-3.png\">\n\t\t\t \t\t<h3>Company Three</h3>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"140\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij01.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>359</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>620</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-trophy size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>117</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"141\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij02.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"display:table;border-radius: 20px;width: 250px;\">\n   \t\t\t\t<div style=\"display:table-cell;vertical-align: middle;text-align:center\">\n\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\" style=\"vertical-align: middle;margin-right: 20px;\"></i>\n\t\t\t\t\t<b style=\"font-weight: 800;font-size: 2.2em;\">150+</b>\n  \t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n            \t\t<div class=\"row\">\n                \t\t<div class=\"col-md-12\">\n                \t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>More than 150 people believed us.</h3>\n                    \t\t\t</div>\n                    \t\t</div>\n                \t\t</div>\n           \t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n            \t\t<div class=\"row\">\n                \t\t<div class=\"col-md-12\">\n           \t\t\t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>Find Us:</h3>\n                    \t\t\t\t<div class=\"clearfix is-boxed-button-small\">\n                        \t\t\t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        \t\t\t\t<a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                        \t\t\t\t<a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                    \t\t\t\t</div>\n                    \t\t\t</div>\n                \t\t\t</div>\n                \t\t</div>\n            \t\t</div>\n       \t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"142\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij03.png\" data-cat=\"0,29\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-laptop size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-ios-people size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-ios-heart-outline size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-trophy size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"143\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij04.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n             <h1 class=\"size-48\">Achievements</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>130</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>315</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>270</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-80\"></i>\n\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>420</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"144\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij05.png\" data-cat=\"0,29\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t   <i class=\"icon ion-trophy size-64\"></i>\n\n           <h1 class=\"size-48\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">120</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">HAPPY CLIENTS</h4>\n\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">80+</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">LAYOUTS</h4>\n\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">97</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">PROJECTS</h4>\n\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">215</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">AWARDS</h4>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"145\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij06.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n             <h1 class=\"size-48\" style=\"margin:1.2em 0\">Achievements</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-code-working size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-trophy size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"146\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij07.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<i class=\"icon ion-android-star-outline size-48\"></i>\n        \t<h2>Achievements</h2>\n        \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<i class=\"icon ion-trophy size-48\"></i>\n            <h2>Awards</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"147\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij08.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.5em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-people-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">1.200</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-compose-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">879</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-heart-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">3.124</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"148\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij09.png\" data-cat=\"29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-people-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-star-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"149\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij10.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <div style=\"border:1px solid black;padding:0 15px 10px;margin-right:1em\">\n            \t<i class=\"icon ion-ios-people-outline size-64\"></i>\n            \t<p style=\"margin-top:0\"><span style=\"margin-top:0;font-size:2em;font-weight:800\">1.234</span><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n            <h1>Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t<div style=\"margin:1.7em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"150\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl01.png\" data-cat=\"0,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-android-time size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800;margin:0.2em 0\">COMING SOON</h1>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <p style=\"margin: 1.5em 0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"clearfix is-rounded-button-big\">\n\n\t\t\t    <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n\t\t\t    <a href=\"https://facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t    <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000\"><i class=\"icon ion-social-youtube\"></i></a>\n\n\t\t\t    <a href=\"http://www.website.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-ios-home\"></i></a>\n\n\t\t\t    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"151\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl02.png\" data-cat=\"0,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n            <h1 class=\"size-80\" style=\"font-weight:800\">UNDER CONSTRUCTION</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div style=\"margin:1em 0 2.5em;\">\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"152\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl03.png\" data-cat=\"0,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h3>Company Name</h3>\n\n            <h1 class=\"size-80\" style=\"font-weight:800;\">COMING SOON</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                <a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"153\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl04.png\" data-cat=\"30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em\">We are coming very soon</h1>\n\n\t\t\t</div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n    \t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-3\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-9\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n     \t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-3\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-9\">\n\n                    <p><b>Call us</b><br>(123) 456 7890<br>456 7891</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-3\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-9\">\n\n                    <p>\n\n              \t\t    <strong>Email</strong><br>\n\n              \t\t    <a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"154\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl05.png\" data-cat=\"30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4.3em\">Under Construction</h1>\n\n\t\t        <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Get Notified</a>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n           \t<br>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"155\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl07.png\" data-cat=\"0,30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"width:100%;max-width:450px;margin: 0 auto\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<i class=\"icon ion-ios-alarm-outline size-64\"></i>\n                \t<h1 style=\"margin-top:0\">Coming Soon!</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<br>\n\t\t\t\t\t<div class=\"is-social\">\n\t\t\t\t\t\t<div class=\"size-21\">\n                \t\t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"156\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl08.png\" data-cat=\"0,30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                    <h1 style=\"font-size:3.5em\">WE ARE CURRENTLY UNDER CONSTRUCTION</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div class=\"clearfix is-boxed-button-small\" style=\"margin:1.5em 0\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest\"></i></a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"157\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl09.png\" data-cat=\"0,30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"width:100%;max-width:700px;margin:0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<h1 style=\"font-size:3em\">COMING SOON</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<div style=\"margin:2em 0;\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a>\n            \t\t</div>\n\t\t\t\t\t<div style=\"margin:1em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Updates</a>\n            \t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"158\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl10.png\" data-cat=\"30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-android-bicycle size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin:0.2em 0\">WE ARE COMING VERY SOON</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br><br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h3>Contact Us</h3>\n        \t<p>Company, Inc. 123 Street, City. State 12345. <br>(123) 456 7890 / 456 7891</p>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"159\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn01.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-android-alert size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800\">PAGE NOT FOUND</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Back to Home Page</a>\n\n           </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"160\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn02.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"clearfix is-rounded-button-medium\">\n\n\t\t\t\t<a href=\"http://www.website.com/\" style=\"background-color: #fff;\"><i style=\"color:#000\" class=\"icon ion-ios-home\"></i></a>\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"161\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn03.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1><span style=\"font-size: 3em\">404</span></h1>\n\t\t\t\t\t</div>\n            \t\t<h5>The page you are looking for doesn't exist.</h5>\n \t\t\t\t\t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Back Home</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"162\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn04.png\" data-cat=\"0,31\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12 center\">\n\n             <i class=\"icon ion-ios-pulse size-80\"></i>\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4em\">Oops...</h1>\n\n            </div>\n\n            <h1 style=\"font-size: 3em\">Page Not Found</h1>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"163\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn05.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">BACK HOME</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"164\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn08.png\" data-cat=\"31\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:6em\">Error <span style=\"font-weight:800\">404</span></h1>\n            <h3 style=\"margin-top:0\">The page you are looking for doesn't exist.</h3>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-ios-home size-64\"></i></a>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"165\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn09.png\" data-cat=\"0,31\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n             <i class=\"icon ion-android-sad size-80\"></i>\n            <h1 style=\"font-size:3em;margin-top:0\">Sorry, this page doesn't exist.</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\">BACK TO HOMEPAGE</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"166\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op01.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">OUR SKILLS</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">98%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Design</h3>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">87%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Development</h3>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">100%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Customer Support</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"167\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op02.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">93%</h1>\n            <h3 style=\"font-size:1.2em\">HTML &amp; CSS</h3>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">71%</h1>\n            <h3 style=\"font-size:1.2em\">JavaScript</h3>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">90%</h1>\n            <h3 style=\"font-size:1.2em\">PHP</h3>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">85%</h1>\n            <h3 style=\"font-size:1.2em\">Photoshop</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"168\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op03.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 display center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>89%</b></span><br><br>Web Design</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-code size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>92%</b></span><br><br>HTML &amp; CSS</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-settings size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>81%</b></span><br><br>Marketing</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"169\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op04.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.2em 0\">TEAM SKILLS</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">89</span>%</h2>\n\t\t\t<h3>Web Design</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n        <div class=\"col-md-4 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">91</span>%</h2>\n\t\t\t<h3>PHP</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">95</span>%</h2>\n\t\t\t<h3>HTML &amp; CSS</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"170\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op05.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">OUR SKILLS</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">92</span>%</h1>\n\t\t\t\t\t<h3>UX/UI Design</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">88</span>%</h1>\n\t\t\t\t\t<h3>Development</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">65</span>%</h1>\n\t\t\t\t\t<h3>Branding</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"171\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op07.png\" data-cat=\"32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <h2 style=\"font-size:2.2em;margin-top:0.2em\">Our Skills</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\n\t\t<div class=\"col-md-8\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">85%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                    <h3 style=\"text-align:center\">Web Design</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">91%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                \t<h3 style=\"text-align:center\">HTML &amp; CSS</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"172\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op08.png\" data-cat=\"32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Knowledge</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n                <i class=\"icon ion-ios-heart-outline size-64\"></i>\n                <h2 style=\"font-size:1.3em;margin-top:0\"><strong>92%</strong>, Web Design</h2>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>78%</strong>, Video Editing</h2>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>89%</strong>, Web Development</h2>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Category: Title, Sub Title -->\n\n\n<div data-num=\"173\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b15.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"174\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b16.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"175\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b17.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"176\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b18.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"177\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b19.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"178\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b20.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"179\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b21.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"180\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b22.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"181\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b23.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"182\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b24.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"183\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b25.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"184\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b26.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"185\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b27.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"186\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b28.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"187\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b29.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"188\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b30.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"189\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b31.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"190\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b32.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"191\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b33.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"192\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b34.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"193\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b35.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"194\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b36.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"195\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b37.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n             <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"196\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b38.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"197\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b39.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"198\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b40.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"199\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b41.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"200\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b42.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"201\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b43.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"202\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b44.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"203\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b45.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"204\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b46.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"205\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b47.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n            </div>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"206\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b48.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"207\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b49.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"208\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b50.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"209\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b51.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"210\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b52.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"211\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b53.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"212\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b54.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<!-- Category: Info, Title -->\n\n<div data-num=\"213\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c02.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-24 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"214\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c03.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"215\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c04.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"216\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c05.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"217\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c06.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"218\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c07.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"219\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c08.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"220\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c09.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"221\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c10.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"222\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c11.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"223\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c12.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"224\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c13.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"225\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c14.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"226\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c15.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"227\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c16.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"228\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c17.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n           \t\t<h1 class=\"size-32 is-title4-32 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"229\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c18.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"230\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c19.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"231\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c20.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"232\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c21.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"233\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c22.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-24 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"234\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c23.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"235\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c24.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"236\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c25.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"237\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c26.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"238\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c27.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"239\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c28.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"240\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c29.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"241\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c30.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"242\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c31.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"243\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c32.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"244\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c33.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"245\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c34.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"246\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c35.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"247\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c36.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"248\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c37.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"249\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c38.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"250\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c39.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"251\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c40.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"252\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c41.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Buttons  -->\n\n<div data-num=\"253\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce01.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"254\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce02.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"255\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce03.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"256\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce04.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"257\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce05.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"258\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce06.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"259\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce07.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"260\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce08.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"261\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce09.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"262\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce10.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"263\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce11.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"264\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce12.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- Cards -->\n\n\n<div data-num=\"265\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de01.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n         </div>\n\t</div>\n</div>\n\n<div data-num=\"266\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de02.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n     \t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t     \t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"267\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de03.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"268\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de04.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"269\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de05.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"270\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de06.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"271\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de07.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n \t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"272\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de08.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"273\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de09.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"274\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de10.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"275\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de11.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"276\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de12.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"277\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de13.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n \t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"278\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de14.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"279\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de15.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"280\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de16.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"281\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de17.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"282\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de18.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"283\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de19.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"284\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de20.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"285\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de21.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"286\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de22.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"287\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de23.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n             \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"288\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de24.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"289\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de25.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"290\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de26.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"291\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de27.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"292\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de28.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"293\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de29.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"294\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de30.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de01-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de01-2.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de01-3.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"295\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de31.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-6\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de02-2.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"296\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de32.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"297\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de33.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-dark-text shadow-1\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"298\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de34.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-dark-text shadow-1\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"299\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de35.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"300\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de36.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"301\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"0,35\">\n    <div class=\"row\">\n        <div class=\"col-md-12\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"%3Cdiv%20id%3D%22{id}%22%20class%3D%22slider-on-content%22%20style%3D%22width%3A100%25%3Bheight%3A400px%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-b.jpg')%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-a.jpg')%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23{id}%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23{id}%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20true%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%203000%2Cfade%3A%20false%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E\" data-settings=\"%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Atrue%2C%22dots%22%3Atrue%2C%22fade%22%3Afalse%2C%22height%22%3A%22400%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-b.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%2C%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-a.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%5D%7D%5D\">\n\n        </div>\n    </div>\n</div>\n\n<div data-num=\"302\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/code.png\" data-cat=\"0,100\">\n    <div class=\"row\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22col-md-12%22%3E%0A%0A%3Ch1%20id%3D%22{id}%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n\t\t<div class=\"col-md-12\">\n\n\t\t</div>\n    </div>\n</div>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/snippets-bootstrap.php",
    "content": "\n<!-- Title -->\n <?php $currentPageUrl = \"https://manage.wagenabled.com\";  ?>\n<div data-num=\"c1\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-1.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7; padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659;\">This Dog Adoption Guide Includes:</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c2\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-2.png\" data-cat=\"0,36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48-c is-title-bold\" style=\"color: #fff;background: #1b3659; padding: 20px\">This Dog Adoption Guide Includes:</h1>\n            <div style=\"padding: 0px 20px\">\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"c3\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-3.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7; padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659\">This Dog Adoption Guide Includes:</h1>   \n            <ol>\n                <li><strong> Important questions to consider</strong> before starting the adoption process</li>\n                <li>The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                <li>The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n            </ol>\n            <p >Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>           \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c4\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-4.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48-c is-title-bold\" style=\"color: #fff;background: #1b3659; padding: 20px\">This Dog Adoption Guide Includes:</h1>\n            <div style=\"padding: 0px 20px\">\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n                <ol>\n                    <li><strong> Important questions to consider</strong> before starting the adoption process</li>\n                    <li>The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                    <li>The perks and pitfalls of<strong> puppies vs. dogs</strong></li>\n                </ol>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c5\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-5.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7; padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659\">This Dog Adoption Guide Includes:</h1>         \n\t\t\t<div class=\"row\">\n\t\t       \t<div class=\"col-md-12\">\n\t           \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/o01-1.jpg' ?> >\n\t\t       \t</div>\n\t\t   \t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>           \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c6\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-6.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48-c is-title-bold\" style=\"color: #fff;padding: 20px;background: #1b3659;\">This Dog Adoption Guide Includes:</h1>\n            <div style=\"padding: 0px 20px\">\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/o01-1.jpg' ?> >\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c7\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-7.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7; padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659\">This Dog Adoption Guide Includes:</h1>\n\t\t\t<div class=\"row\">\n\t\t       \t<div class=\"col-md-12\">\n\t           \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\t           \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\t           \t\t</div>\n\t\t       \t</div>\n\t\t   \t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>         \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c8\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-8.png\" data-cat=\"0,36\">\n\t<div class=\"row mb-3 mt-3 clearfix\" style=\"background: #f7f7f7\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48-c is-title-bold\" style=\"color: #fff;padding: 20px;background: #1b3659;\">This Dog Adoption Guide Includes:</h1>\n            <div style=\"padding: 0px 20px\">\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\t\t           \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\t\t           \t\t</div>\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c9\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-9.png\" data-cat=\"0,36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\" style=\"padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659\">The First Night with Your Dog</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>           \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c10\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-10.png\" data-cat=\"0,36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\" style=\"padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659\">The First Night with Your Dog</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n    \t\t<div class=\"row\">\n    \t       \t<div class=\"col-md-12\">\n               \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/o01-1.jpg' ?> >\n    \t       \t</div>\n    \t   \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"c11\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/color_backgroung_demo-11.png\" data-cat=\"0,36\">\n\t<div class=\"row  mb-3 mt-3 clearfix\" style=\"padding: 20px 20px 0px 20px\">\n\t\t<div class=\"column full\">\n            <h1 class=\"wag-size-48 is-title1-48 is-title-bold\" style=\"color: #1b3659\">The First Night with Your Dog</h1>\n\n\t\t\t\t<div class=\"row\">\n\t\t\t       \t<div class=\"col-md-12\">\n\t\t           \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/o01-1.jpg' ?> >\n\t\t\t       \t</div>\n\t\t\t   \t</div>\n\t\t\t   \t<ol>\n\t\t\t   \t    <li>Fill his or her belly. A good meal often leads to a good night’s sleep.</li>\n\t\t\t   \t    <li>Encourage relaxation before bed. Avoid play and excitement leading up to bedtime. It can be difficult for dogs to settle down after a play session.</li>\n\t\t\t   \t    <li>Put your pup’s bed in a quiet corner, preferably in your bedroom. The first night can be difficult in a new place, so make your pooch as comfy as possible. Remember: The spot your pup sleeps on the first night doesn’t have to be forever.</li>\n\t\t\t   \t</ol>\n\t\t\t   \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- <div data-num=\"1\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a01.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"2\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a02.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"3\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a03.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"wag-size-48 is-title1-48 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"4\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a04.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"wag-size-48 is-title1-48 is-title-lite is-upper\">Lorem Ipsum is simply dummy text</h1>\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"5\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a05.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n -->\n<!-- <div data-num=\"6\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a06.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"7\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a07.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div> -->\n\n<div data-num=\"8\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a08.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <h1 class=\"wag-size-48 is-title1-48 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- <div data-num=\"9\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a09.png\" data-cat=\"100000000,1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"wag-size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"10\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a10.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div> -->\n\n<!---->\n\n\n<div data-num=\"11\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c01.png\" data-cat=\"100000000\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"display\">\n\t\t\t    <p class=\"size-21 is-info2\"><i>This is a special report</i></p>\n                <h1 class=\"wag-size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"12\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g01.png\" data-cat=\"100000000,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<!-- <div data-num=\"13\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e01.png\" data-cat=\"100000000,5\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <h1>Heading 1 Text Goes Here</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n -->\n\n\n<!-- <div data-num=\"14\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e02.png\" data-cat=\"100000000,5\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <h2>Heading 2 Text Goes Here</h2>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n -->\n\n<div data-num=\"15\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e09.png\" data-cat=\"100000000,5\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<h1>Lorem Ipsum</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/e09-1.jpg' ?> >\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"16\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/v01.png\" data-cat=\"100000000,19\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <hr>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<!-- <div data-num=\"17\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/v02.png\" data-cat=\"100000000,19\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <br><br>\n\n        </div>\n\n    </div>\n\n</div> -->\n\n\n\n<div data-num=\"18\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b01.png\" data-cat=\"100000000\">\n\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"wag-size-48 is-title1-48 is-title-bold is-upper\">Beautiful Content. Responsive.</h1>\n                <p class=\"size-21\"><i>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</i></p>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"19\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b12.png\" data-cat=\"100000000\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/b12-1.jpg' ?> style=\"border-radius:500px\">\n\n\t\t\t</div>\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Lorem Ipsum is Simply</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text</p>\n\n\t\t\t</div>\n\n\t\t\t<p style=\"text-align: center\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"20\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b14.png\" data-cat=\"100000000\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Beautiful Content</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/b14-1.jpg' ?> ><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/b14-2.jpg' ?> ><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/b14-3.jpg' ?> >\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"21\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g02.png\" data-cat=\"100000000,6\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g02-1.jpg' ?> >\n\n        \t</div>\n\t\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"22\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g03.png\" data-cat=\"100000000,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       \t\t </div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> >\n\n       \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<!-- <div data-num=\"23\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/h01.png\" data-cat=\"100000000,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/h01-1.jpg' ?> style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/h01-2.jpg' ?> style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/h01-3.jpg' ?> style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n -->\n\n\n<!-- <div data-num=\"24\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/h02.png\" data-cat=\"100000000,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/h02-1.jpg' ?> style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/h02-2.jpg' ?> style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/h02-3.jpg' ?> style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n -->\n\n\n<div data-num=\"25\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/o01.png\" data-cat=\"100000000,12\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/o01-1.jpg' ?> >\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"26\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k06.png\" data-cat=\"100000000,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k06-1.jpg' ?> >\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k06-2.jpg' ?> >\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"27\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k02.png\" data-cat=\"100000000,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k02-1.jpg' ?> >\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"col-md-4\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k02-2.jpg' ?> >\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"col-md-4\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k02-3.jpg' ?> >\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"28\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k01.png\" data-cat=\"100000000,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k01-1.jpg' ?> >\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k01-2.jpg' ?> >\n\n               \t \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"29\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p01.png\" data-cat=\"100000000,13\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p01-1.jpg' ?> >\n\n       \t \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n           \t\t<div class=\"display\">\n\n               \t\t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"30\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p02.png\" data-cat=\"100000000,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<div class=\"display\">\n\n                \t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> >\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"31\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p03.png\" data-cat=\"13\">\n\n \t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p03-1.jpg' ?> >\n\n        \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            \t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"32\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p04.png\" data-cat=\"13\">\n\n \t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p04-1.jpg' ?> >\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"33\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p05.png\" data-cat=\"100000000,13\">\n\n  <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"display center\">\n\n                <h1>Beautiful content. Responsive.</h1>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n         </div>\n\n    </div>\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"34\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p06.png\" data-cat=\"100000000,13\">\n\n <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"display center\">\n\n                <h1 style=\"font-size:4em\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n\n        </div>\n\n    </div>\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"35\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p07.png\" data-cat=\"100000000,13\">\n\n <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Download</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"36\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q01.png\" data-cat=\"100000000,14\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-6\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-6\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"37\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q02.png\" data-cat=\"100000000,14\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-4\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"38\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q30.png\" data-cat=\"100000000,14\">\n\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"col-md-6\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n    </div>\n\n</div>\n\n<div data-num=\"39\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q31.png\" data-cat=\"100000000,14\">\n\n    <div class=\"row\">\n        <div class=\"col-md-4\">\n\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"col-md-4\">\n\t\t\t\t<i class=\"icon ion-android-create size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div><div class=\"col-md-4\">\n\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n    </div>\n\n</div>\n\n\n<div data-num=\"40\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r01.png\" data-cat=\"100000000,15\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<!-- \n<div data-num=\"41\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r02.png\" data-cat=\"100000000,15\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-6\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-6\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div> -->\n\n\n\n<!-- <div data-num=\"42\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r03.png\" data-cat=\"100000000,15\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6 center\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r03-1.jpg' ?> style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t\t\t<div class=\"col-md-6\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n -->\n\n\n<!-- <div data-num=\"43\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r04.png\" data-cat=\"100000000,15\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n       \t\t<div class=\"col-md-6 center\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r04-1.jpg' ?> style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n -->\n\n\n\n\n<div data-num=\"44\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s01.png\" data-cat=\"100000000,16\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-2 center\">\n\n                <p><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/s01-1.jpg' ?> style=\"border-radius:500px;margin-top:5px;\"></p>\n\n        \t</div>\n\n\t\t\t<div class=\"col-md-10\">\n\n            \t\t<p>\n\n                \t<b>Sara Phillipps</b><br>A freelance web designer &amp; developer based in Melbourne, Australia.\n\n            \t\t</p>\n\n            \t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<!--<a href=\"#\"><i class=\"icon ion-social-github\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-dribbble\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-pinterest\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-linkedin\"></i></a>\n\n                \t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-social-instagram\"></i></a>-->\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n           \t \t</div>\n\n       \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"45\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s03.png\" data-cat=\"100000000,16\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/s03-1.jpg' ?> >\n\n \t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<h2>Lorem Ipsum</h2>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<!-- <div data-num=\"46\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s10.png\" data-cat=\"100000000,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t        <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-4 center\">\n\n\t\t\t\t    <p><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/s10-1.jpg' ?> style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"col-md-8\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t        <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-4 center\">\n\n\t\t\t\t    <p><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/s10-2.jpg' ?> style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"col-md-8\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div> -->\n\n\n\n<div data-num=\"47\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/t01.png\" data-cat=\"100000000,17,22\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"48\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/t02.png\" data-cat=\"100000000,17,22\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-8\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n            <h3>Get in Touch</h3>\n\n            <p>\n\n              <strong>Company, Inc.</strong><br>\n\n              123 Street, City<br>\n\n              State 12345<br>\n\n              P: (123) 456 7890 / 456 7891\n\n            </p>\n\n\n\n            <p>\n\n              <strong>Full Name</strong><br>\n\n              <a href=\"mailto:#\">first.last@example.com</a>\n\n            </p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"49\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/o02.png\" data-cat=\"100000000,20\">\n\n \t<div class=\"row\">\n\n        \t<div class=\"col-md-12\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n <div data-num=\"50\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e13.png\" data-cat=\"100000000,20\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6 center\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\" style=\"margin-right:20px\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n    \t</div>\n\n</div> \n\n\n\n<div data-num=\"51\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e14.png\" data-cat=\"100000000,20\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"52\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u04.png\" data-cat=\"100000000,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\n            <div class=\"clearfix is-boxed-button-big\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                <a href=\"http://www.website.com/\" style=\"background-color: #0569AA;\"><i class=\"icon ion-android-home\"></i></a>\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<!-- End of Default -->\n\n\n\n<!-- <div data-num=\"53\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/n15.png\" data-cat=\"11\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k01-1.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-6\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k01-2.jpg' ?> >\n\n        </div>\n\n\t</div>\n\n</div> -->\n\n\n\n<div data-num=\"54\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/n16.png\" data-cat=\"11\">\n\n\t<div class=\"row\">\n\n\t    <div class=\"col-md-4\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k02-1.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k02-2.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k02-3.jpg' ?> >\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"55\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p34.png\" data-cat=\"100000000,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Beautiful Content</h1>\n\n\t\t\t</div>\n\n \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p34-1.png' ?> >\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"col-md-6\">\n\n                \t\t<h2>Responsive.</h2>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                \t\t<div style=\"margin:1.3em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px;\">Read More</a>\n\n            \t\t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"56\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p35.png\" data-cat=\"100000000,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-leaf size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t<div class=\"display\">\n\n                \t<h1 style=\"font-size: 3.5em; margin:0.2em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t</div>\n\n           <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t    <div style=\"margin:1em 0\">\n\n           \t\t\t <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">READ MORE</a>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"57\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p36.png\" data-cat=\"13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-21\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n            \t\t<div class=\"display\">\n\n                \t\t    <h1 style=\"margin:0.3em 0; font-size: 4em\">Beautiful Content. Responsive.</h1>\n\n            \t\t </div>\n\n                    <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"58\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p38.png\" data-cat=\"100000000,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\t\t\t\t<div class=\"display center\">\n\n            \t\t<h1>Beautiful content.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t</div>\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\n\n\t\t\t<div style=\"margin:1em 0 2.5em;\">\n\n           \t\t   <a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a> &nbsp;\n\n            \t\t   <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Download</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"59\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p42.png\" data-cat=\"100000000,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p42-1.jpg' ?> >\n\t\t\t<h3>BEAUTIFUL CONTENT. RESPONSIVE.</h3>\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Lorem Ipsum is simply text of the printing industry</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div style=\"margin:0.5em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p43.png\" data-cat=\"100000000,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            \t<div class=\"clearfix is-rounded-button-medium\">\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t             \t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\t\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin-top:0.5em;font-size:3.7em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div style=\"margin:1em 0;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">GET STARTED</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p44.png\" data-cat=\"100000000,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"font-size:3.4em\">Lorem Ipsum is simply text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t            <a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n                    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    <a href=\"https://www.instagram.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:2em 0\">\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p46.png\" data-cat=\"100000000,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h1 style=\"font-size:3.5em;margin-top:0\">Beautiful Content. Responsive.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:1em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Watch Video</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p47.png\" data-cat=\"100000000,13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\" font-size: 4em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n           <div style=\"margin:1em 0 2.5em;\">\n            <a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">GET STARTED TODAY</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n           <div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"padding:0; width:80px; height:80px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p50.png\" data-cat=\"13\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary\" style=\"padding:0; width:90px; height:90px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n                <h1 style=\"font-size:3em\">Beautiful content. Responsive</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n         </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Started</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"65\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q20.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/q20-1.png' ?> >\n\n\n        \t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n               \t \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"66\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q21.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/q21-1.jpg' ?> style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"col-md-4\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/q21-2.jpg' ?> style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"col-md-4\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/q21-3.jpg' ?> style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n\n<div data-num=\"67\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q24.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n       </div>\n\n       <div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n       <div class=\"col-md-6\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-create size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"68\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q25.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Best Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-heart-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-mic-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-paperplane size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-film-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q26.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/q26-1.jpg' ?> >\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/q26-2.jpg' ?> >\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q27.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-android-download size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q28.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n                <i class=\"icon ion-compose size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n                <i class=\"icon ion-android-favorite-outline size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q29.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Product Features</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-camera-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- <div data-num=\"73\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r22.png\" data-cat=\"100000000,15\">\n\n    \t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Customer Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div> -->\n\n\n\n<!-- <div data-num=\"74\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r23.png\" data-cat=\"100000000,15\">\n\n    \t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t <i class=\"icon ion-quote size-80\" style=\"color: #C0C0C0\"></i>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r23-1.jpg' ?> style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r23-2.jpg' ?> style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r23-3.jpg' ?> style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div> -->\n\n\n\n<!-- <div data-num=\"75\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r25.png\" data-cat=\"100000000,15\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Happy Customers</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r25-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r25-2.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t<p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\t</div>\n</div> -->\n\n\n\n<!-- <div data-num=\"76\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r27.png\" data-cat=\"15\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Testimonials</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n</div> -->\n\n\n<!-- \n<div data-num=\"77\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r28.png\" data-cat=\"100000000,15\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">What People Say About Us</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r28-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/r28-2.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div> -->\n\n\n\n<div data-num=\"78\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u10.png\" data-cat=\"100000000,18\">\n\n\t<div class=\"row\">\n\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em\">Beautiful Content. Responsive.</h1>\n\n            \t\t    </div>\n\n                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.  Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<div class=\"clearfix is-rounded-button-medium\">\n\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"79\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u11.png\" data-cat=\"100000000,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em; margin:0.5em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"80\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u12.png\" data-cat=\"100000000,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"display\">\n\n                            <h1>Lorem Ipsum is simply text</h1>\n\n\t\t\t</div>\n\n                        <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n            <div class=\"clearfix is-boxed-button-big2\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"81\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u13.png\" data-cat=\"100000000,18\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"display\">\n            \t<h1 style=\"font-size:3.5em\">Beautiful content. Responsive.</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"82\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u14.png\" data-cat=\"18\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;letter-spacing:8px\">BEAUTIFUL CONTENT. RESPONSIVE.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet.</p>\n\t\t\t<br>\n\t\t\t <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"83\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w01.png\" data-cat=\"100000000,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-gear-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-world-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-calendar-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"84\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w02.png\" data-cat=\"100000000,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n            \t\t <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-heart-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-compose-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-gear-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-calendar-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-clock-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-laptop size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"85\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w04.png\" data-cat=\"100000000,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1>Beautiful content. Responsive.</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/w04-1.png' ?> >\n\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\n            <div style=\"margin:30px 0 0 0\">\n                <p><i class=\"icon ion-ios-heart-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-compose-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-gear-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\t\t\t</div>\n\n     \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"86\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w05.png\" data-cat=\"21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n                    <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n        \t<div class=\"col-md-6\">\n\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/w05-1.png' ?> >\n\n        \t</div>\n\n\t\t\t<div class=\"col-md-6\">\n\n                \t\t<h3>Beautiful Content. Responsive.</h3>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-camera-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n<div data-num=\"87\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w06.png\" data-cat=\"100000000,21\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Beautiful Content</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Responsive</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Typesetting</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Simply Text</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"88\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w07.png\" data-cat=\"100000000,21\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"font-size:3em\">SERVICES</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<i class=\"icon ion-ios-filing-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"89\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w10.png\" data-cat=\"100000000,21\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"text-align: center; font-size:3em;margin:1.5em 0\">Our Services</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n       \t \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-mic-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n         \t</div>\n        </div>\n    </div>\n</div>\n\n<div data-num=\"90\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x01.png\" data-cat=\"100000000,22\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Contact Us</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel.</p>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<h3>Address</h3>\n\n         \t\t<p>\n\n              \t\t<strong>Company, Inc.</strong><br>\n\n              \t\t123 Street, City<br>\n\n              \t\tState 12345<br>\n\n              \t\tP: (123) 456 7890 / 456 7891\n\n            \t</p>\n\n\t    </div>\n\n\t    <div class=\"col-md-6\">\n\n            <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-12\">\n\n\t\t\t\t    <h3>Stay in Touch</h3>\n\n            \t    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n                    <div class=\"clearfix is-boxed-button-medium2\">\n                        <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    </div>\n\n\t\t\t    </div>\n\n            </div>\n\n\n\t    </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"91\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x05.png\" data-cat=\"22\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n               <h1 style=\"font-size: 3em\">Contact Us</h1>\n\n               <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\n            <div class=\"row\">\n\n\t\t\t    <div class=\"col-md-12\">\n\n\t\t\t\t    <h3>OFFICE ONE</h3>\n\n\t\t\t    </div>\n\n            </div>\n\n\t\t    <div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t   \t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n             </div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n\n\t\t\t<div class=\"row\">\n\n                <div class=\"col-md-12\">\n\n\t\t\t\t    <h3>OFFICE TWO</h3>\n\n                </div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                   \t<p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-2\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-10\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"92\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x09.png\" data-cat=\"22\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-location-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-telephone-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Call Us</h3>\n  \t\t\t<p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-email-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Email</h3>\n  \t\t\t<p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Social Media</h3>\n  \t\t\t<p><a href=\"https://www.facebook.com\">Facebook</a><br><a href=\"https://twitter.com\">Twitter</a><br></p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"93\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x10.png\" data-cat=\"100000000,17,22\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n           <p>\n              <span style=\"font-size:1.2em\"><b>Company, Inc.</b></span><br>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"embed-responsive embed-responsive-16by9\">\n            \t<iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"94\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x11.png\" data-cat=\"100000000,22\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <h3>\n\t\t\t\t<i class=\"icon ion-ios-location-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Address</span>\n\t\t\t</h3>\n            <p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n        \t<h3>\n \t\t\t\t<i class=\"icon ion-iphone size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Phone</span>\n\t\t\t</h3>\n            <p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-email-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Email</span>\n\t\t\t</h3>\n            <p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x12.png\" data-cat=\"100000000,22\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1>Contact Us</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/x12-1.jpg' ?> style=\"margin-top: 0px;\">\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <h3 style=\"margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"is-social\">\n                <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"96\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y01.png\" data-cat=\"100000000,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Ready to Purchase?</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1>$<span style=\"font-size: 2.7em;\">59</span></h1>\n\t\t\t\t\t</div>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t<div style=\"margin:2.5em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"97\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y02.png\" data-cat=\"100000000,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t   \t\t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">99</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n           \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"98\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y03.png\" data-cat=\"100000000,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n                    \t\t<h1 style=\"font-size: 3.5em\">Pricing</h1>\n\n\t\t\t</div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t    \t<h3>Personal</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">59</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Professional</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">89</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Business</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Purchase</a>\n                \t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div data-num=\"99\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y04.png\" data-cat=\"100000000,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing Plans</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Standard</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Professional</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">79</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Business</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"100\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y05.png\" data-cat=\"100000000,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Personal</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Professional</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">39</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Business</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">49</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"101\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y06.png\" data-cat=\"100000000,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:0.5em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\t\t\t</div>\n            <h3>Basic</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\t\t\t</div>\n            <h3>Professional</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n           \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t</div>\n            <h3>Business</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"102\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y07.png\" data-cat=\"100000000,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:1em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>PRO</h2>\n\t\t\t\t\t<p style=\"font-size:1.3em;color:#808080\"><i>$29 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>BUSINESS</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$39 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>DEVELOPER</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$59 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"103\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y08.png\" data-cat=\"100000000,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing Plans</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h1>Basic</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">19</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h1>Professional</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">39</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h1>Business</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">49</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"104\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y09.png\" data-cat=\"100000000,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.7em;margin:1em 0\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Basic</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">29</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Pro</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">39</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y10.png\" data-cat=\"100000000,23\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<h1 style=\"font-size: 4em;margin:1em 0\">Pricing Plans</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Basic</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">39</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Professional</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">49</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Business</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">59</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"106\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z01.png\" data-cat=\"100000000,n24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Meet The Team</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z01-1.jpg' ?> style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z01-2.jpg' ?> style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"c106\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cz01.png\" data-cat=\"100000000,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z01-1.jpg' ?> style=\"border-radius:500px; margin-top: 1em\">\n\t\t\t\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z01-2.jpg' ?> style=\"border-radius:500px; margin-top: 1em\">\t\t\t\n\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<!-- <div data-num=\"107\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z02.png\" data-cat=\"100000000,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t\t<h1 style=\"font-size: 3em\">Meet The Team</h1>\n\t\t    \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        \t</div>\n\t</div>\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t    <div class=\"col-md-4 center\">\n\t\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z02-2.jpg' ?> style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"col-md-8\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    \t</div>\n\t    <div class=\"col-md-6\">\n\t\t    <div class=\"row\">\n\t\t\t    <div class=\"col-md-4 center\">\n\t\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z02-3.jpg' ?> style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"col-md-8\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    </div>\n    \t</div>\n</div>\n -->\n\n<!-- <div data-num=\"108\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z03.png\" data-cat=\"100000000,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Our Team</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z03-1.jpg' ?> style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z03-2.jpg' ?> style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div> -->\n\n\n<!-- <div data-num=\"109\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z05.png\" data-cat=\"100000000,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            \t<h1 style=\"margin:1.2em 0;font-size:3em\">Meet The Team</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z05-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z05-2.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z05-3.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n -->\n<!-- <div data-num=\"110\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z06.png\" data-cat=\"100000000,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1>Our Team</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z06-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z06-2.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z06-3.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z06-4.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div> -->\n\n<!--/vendor/content-builder/assets/minimalist-basic/thumbnails/z09.pngdiv data-num=\"111\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z07.png\" data-cat=\"100000000,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                <h1>Meet Our Team</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z07-1.jpg' ?> style=\"border-radius: 500px;\">\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z07-2.jpg' ?> style=\"border-radius: 500px;\">\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n -->\n<!-- <div data-num=\"112\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z09.png\" data-cat=\"100000000,24\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Meet The Team</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z09-1.jpg' ?> style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z09-2.jpg' ?> style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"113\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab01.png\" data-cat=\"100000000,25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n\t\t\t<div class=\"display center\">\n\n            \t<h1>Portfolio</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab01-1.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab01-2.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab01-3.jpg' ?> >\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab01-4.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab01-5.jpg' ?> >\n\n        </div>\n\n        <div class=\"col-md-4\">\n\n\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab01-6.jpg' ?> >\n\n        </div>\n\n\t</div>\n\n</div> -->\n\n\n\n<!-- <div data-num=\"114\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab02.png\" data-cat=\"100000000,25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">Our Works</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n            <div class=\"padding-20\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab02-1.jpg' ?> >\n\n\t\t    <p><b>Beautiful Content</b><br>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\n            <div class=\"padding-20\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab02-2.jpg' ?> >\n\n\t\t    <p><b>Printing and Typesetting</b><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\n            <div class=\"padding-20\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab02-3.jpg' ?> >\n\n\t\t    <p><b>Simply Dummy Text</b><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Vivamus leo ante, consectetur sit amet vulputate vel. </p>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div> -->\n\n\n\n<!-- <div data-num=\"115\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab03.png\" data-cat=\"25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Products</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab03-1.jpg' ?> style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n           \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Buy Now</a>\n\n           \t \t</div>\n\t\t\t</div>\n    \t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab03-2.jpg' ?> style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Buy Now</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab03-3.jpg' ?> style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Buy Now</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div> -->\n\n\n<!-- <div data-num=\"116\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab06.png\" data-cat=\"100000000,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab06-1.jpg' ?> ><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab06-2.jpg' ?> ><img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab06-3.jpg' ?> >\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"display\">\n                <h1 style=\"font-size:3.3em\">Portfolio</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            </div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n         </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">VIEW PROJECT</a>\n            </div>\n        </div>\n\t</div>\n</div>\n -->\n<!-- <div data-num=\"117\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab07.png\" data-cat=\"100000000,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab07-1.jpg' ?> style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product One</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab07-2.jpg' ?> style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Two</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab07-3.jpg' ?> style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Three</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n     \t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div> -->\n\n<div data-num=\"118\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab10.png\" data-cat=\"100000000,n25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-ios-cart size-64\" style=\"color: #333\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab10-1.jpg' ?> >\n        </div>\n\t\t<div class=\"col-md-6\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"col-md-6\">\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab10-2.jpg' ?> >\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"c118\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cab10.png\" data-cat=\"100000000,25\">\n\t\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab10-1.jpg' ?> >\n        </div>\n\t\t<div class=\"col-md-6\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg wagdt-blog-btn\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg wagdt-blog-btn\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"col-md-6\">\n            \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ab10-2.jpg' ?> >\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd01.png\" data-cat=\"100000000,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-archive size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"120\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd03.png\" data-cat=\"100000000,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\n\t\t\t\t<h4>Step<span style=\"font-size: 4em\"><b>1</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>2</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>3</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"121\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd04.png\" data-cat=\"100000000,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">The Process</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 1</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-edit size-96\"></i>\n\n\t\t\t\t<h3>STEP 2</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-gear-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 3</h3>\n\n           \t <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-heart-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 4</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"122\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd06.png\" data-cat=\"100000000,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-compose-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Step One</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Step Two</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Step Three</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"123\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd07.png\" data-cat=\"100000000,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Work Steps</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-3\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">4</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"124\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd08.png\" data-cat=\"100000000,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n \t\t\t\t\t<p><i class=\"icon ion-android-bulb size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step One</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n\t\t\t\t\t<p><i class=\"icon ion-android-settings size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Two</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n \t\t\t\t\t<p><i class=\"icon ion-android-favorite-outline size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Three</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-2\">\n\t\t\t\t\t<p><i class=\"icon ion-paper-airplane size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-10\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Four</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"125\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd09.png\" data-cat=\"100000000,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"126\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd10.png\" data-cat=\"100000000,26\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"margin:1.5em 0;font-size:3.2em\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 01</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 02</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t   \t \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"127\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef01.png\" data-cat=\"100000000,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<h1>Our Clients</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        </div>\n\n\t\t<div class=\"col-md-8\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-4 center\">\n\n                  \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef01-1.png' ?> >\n\n\t\t\t\t\t<p>Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-4 center\">\n\n                   <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef01-2.png' ?> >\n\n\t\t\t\t\t<p>Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-4 center\">\n\n                   <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef01-3.png' ?> >\n\n\t\t\t\t\t<p>Company Three</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"128\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef02.png\" data-cat=\"100000000,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3em\">Our Clients</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef02-1.png' ?> >\n\n\t\t\t    <p>Company One</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef02-2.png' ?> >\n\n\t\t\t    <p>Company Two</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef02-3.png' ?> >\n\n\t\t\t    <p>Company Three</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef02-4.png' ?> >\n\n\t\t\t    <p>Company Four</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef02-5.png' ?> >\n\n\t\t\t    <p>Company Five</p>\n\n\t\t    </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"129\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef03.png\" data-cat=\"100000000,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em; margin:0.2em 0.5em\">Our Partners</h1>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef03-1.png' ?> >\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef03-2.png' ?> >\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef03-3.png' ?> >\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef03-4.png' ?> >\n\n\t\t\t<p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"130\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef05.png\" data-cat=\"27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1>Our Partners</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\n             <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef05-1.png' ?> >\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef05-2.png' ?> >\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef05-3.png' ?> >\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"131\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef08.png\" data-cat=\"27\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">Our Clients</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef08-1.png' ?> >\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef08-2.png' ?> >\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef08-3.png' ?> >\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef08-4.png' ?> >\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef08-5.png' ?> >\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"132\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef09.png\" data-cat=\"100000000,27\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Our Partners</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef09-1.png' ?> >\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef09-2.png' ?> >\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef09-3.png' ?> >\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"col-md-3\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/ef09-4.png' ?> >\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"133\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh01.png\" data-cat=\"100000000,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-6 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh01-1.png' ?> >\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-6\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-6 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh01-2.png' ?> >\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-6\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-6 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh01-3.png' ?> >\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-6\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Three</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"134\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh02.png\" data-cat=\"100000000,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh02-1.png' ?> >\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh02-2.png' ?> >\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh02-3.png' ?> >\n\n\t\t    <p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh02-4.png' ?> >\n\n\t\t    <p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"135\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh03.png\" data-cat=\"100000000,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh03-1.png' ?> >\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company One</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh03-2.png' ?> >\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Two</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh03-3.png' ?> >\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Three</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-4\">\n          \t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh03-4.png' ?> >\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<h3>Company Four</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"136\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh05.png\" data-cat=\"28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh05-1.png' ?> >\n\n\t\t\t\t<h3>Company One</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh05-2.png' ?> >\n\n\t\t\t\t<h3>Company Two</h3>\n\n        \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh05-3.png' ?> >\n\n\t\t\t\t<h3>Company Three</h3>\n\n    \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n    \t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"137\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh07.png\" data-cat=\"28\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh07-1.png' ?> >\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh07-2.png' ?> >\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh07-3.png' ?> >\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"138\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh08.png\" data-cat=\"100000000,28\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh08-1.png' ?> >\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company One</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh08-2.png' ?> >\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Two</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh08-3.png' ?> >\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Three</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n            <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh08-4.png' ?> >\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Four</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"139\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh09.png\" data-cat=\"100000000,28\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh09-1.png' ?> >\n\t\t\t    \t<h3>Company One</h3>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh09-2.png' ?> >\n\t\t\t    \t<h3>Company Two</h3>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/gh09-3.png' ?> >\n\t\t\t \t\t<h3>Company Three</h3>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"140\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij01.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>359</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>620</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-trophy size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>117</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"141\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij02.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"display:table;border-radius: 20px;width: 250px;\">\n   \t\t\t\t<div style=\"display:table-cell;vertical-align: middle;text-align:center\">\n\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\" style=\"vertical-align: middle;margin-right: 20px;\"></i>\n\t\t\t\t\t<b style=\"font-weight: 800;font-size: 2.2em;\">150+</b>\n  \t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n            \t\t<div class=\"row\">\n                \t\t<div class=\"col-md-12\">\n                \t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>More than 150 people believed us.</h3>\n                    \t\t\t</div>\n                    \t\t</div>\n                \t\t</div>\n           \t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n            \t\t<div class=\"row\">\n                \t\t<div class=\"col-md-12\">\n           \t\t\t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>Find Us:</h3>\n                    \t\t\t\t<div class=\"clearfix is-boxed-button-small\">\n                        \t\t\t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        \t\t\t\t<a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                        \t\t\t\t<a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                    \t\t\t\t</div>\n                    \t\t\t</div>\n                \t\t\t</div>\n                \t\t</div>\n            \t\t</div>\n       \t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"142\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij03.png\" data-cat=\"100000000,29\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-laptop size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-ios-people size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-ios-heart-outline size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-3 center\">\n\n            <i class=\"icon ion-trophy size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"143\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij04.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n             <h1 class=\"wag-size-48\">Achievements</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>130</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>315</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>270</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-3 center\">\n\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-80\"></i>\n\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-9\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>420</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"144\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij05.png\" data-cat=\"100000000,29\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t   <i class=\"icon ion-trophy size-64\"></i>\n\n           <h1 class=\"wag-size-48\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">120</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">HAPPY CLIENTS</h4>\n\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">80+</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">LAYOUTS</h4>\n\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">97</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">PROJECTS</h4>\n\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">215</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">AWARDS</h4>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"145\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij06.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n             <h1 class=\"wag-size-48\" style=\"margin:1.2em 0\">Achievements</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-code-working size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-trophy size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"146\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij07.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<i class=\"icon ion-android-star-outline size-48\"></i>\n        \t<h2>Achievements</h2>\n        \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<i class=\"icon ion-trophy size-48\"></i>\n            <h2>Awards</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"147\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij08.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.5em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-people-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">1.200</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-compose-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">879</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-heart-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">3.124</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"148\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij09.png\" data-cat=\"29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-people-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-star-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"col-md-6 center\">\n            <i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"149\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij10.png\" data-cat=\"100000000,29\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n            <div style=\"border:1px solid black;padding:0 15px 10px;margin-right:1em\">\n            \t<i class=\"icon ion-ios-people-outline size-64\"></i>\n            \t<p style=\"margin-top:0\"><span style=\"margin-top:0;font-size:2em;font-weight:800\">1.234</span><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-8\">\n            <h1>Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t<div style=\"margin:1.7em 0\">\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"150\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl01.png\" data-cat=\"100000000,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-android-time size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800;margin:0.2em 0\">COMING SOON</h1>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <p style=\"margin: 1.5em 0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"clearfix is-rounded-button-big\">\n\n\t\t\t    <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n\t\t\t    <a href=\"https://facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t    <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000\"><i class=\"icon ion-social-youtube\"></i></a>\n\n\t\t\t    <a href=\"http://www.website.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-ios-home\"></i></a>\n\n\t\t\t    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"151\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl02.png\" data-cat=\"100000000,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n            <h1 class=\"size-80\" style=\"font-weight:800\">UNDER CONSTRUCTION</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div style=\"margin:1em 0 2.5em;\">\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"152\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl03.png\" data-cat=\"100000000,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<h3>Company Name</h3>\n\n            <h1 class=\"size-80\" style=\"font-weight:800;\">COMING SOON</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                <a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"153\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl04.png\" data-cat=\"30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em\">We are coming very soon</h1>\n\n\t\t\t</div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-4\">\n\n    \t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-3\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-9\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n     \t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-3\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-9\">\n\n                    <p><b>Call us</b><br>(123) 456 7890<br>456 7891</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"col-md-3\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"col-md-9\">\n\n                    <p>\n\n              \t\t    <strong>Email</strong><br>\n\n              \t\t    <a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"154\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl05.png\" data-cat=\"30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4.3em\">Under Construction</h1>\n\n\t\t        <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Get Notified</a>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12\">\n\n           \t<br>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"155\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl07.png\" data-cat=\"100000000,30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"width:100%;max-width:450px;margin: 0 auto\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<i class=\"icon ion-ios-alarm-outline size-64\"></i>\n                \t<h1 style=\"margin-top:0\">Coming Soon!</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<br>\n\t\t\t\t\t<div class=\"is-social\">\n\t\t\t\t\t\t<div class=\"size-21\">\n                \t\t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"156\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl08.png\" data-cat=\"100000000,30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n                    <h1 style=\"font-size:3.5em\">WE ARE CURRENTLY UNDER CONSTRUCTION</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div class=\"clearfix is-boxed-button-small\" style=\"margin:1.5em 0\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest\"></i></a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"157\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl09.png\" data-cat=\"100000000,30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"width:100%;max-width:700px;margin:0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<h1 style=\"font-size:3em\">COMING SOON</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<div style=\"margin:2em 0;\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-default btn-lg\" style=\"border-radius:50px\">Read More</a>\n            \t\t</div>\n\t\t\t\t\t<div style=\"margin:1em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius:50px\">Get Updates</a>\n            \t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"158\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl10.png\" data-cat=\"30\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<i class=\"icon ion-android-bicycle size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin:0.2em 0\">WE ARE COMING VERY SOON</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <br><br>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h3>Contact Us</h3>\n        \t<p>Company, Inc. 123 Street, City. State 12345. <br>(123) 456 7890 / 456 7891</p>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"159\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn01.png\" data-cat=\"100000000,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<i class=\"icon ion-android-alert size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800\">PAGE NOT FOUND</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">Back to Home Page</a>\n\n           </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"160\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn02.png\" data-cat=\"100000000,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"clearfix is-rounded-button-medium\">\n\n\t\t\t\t<a href=\"http://www.website.com/\" style=\"background-color: #fff;\"><i style=\"color:#000\" class=\"icon ion-ios-home\"></i></a>\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"161\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn03.png\" data-cat=\"100000000,31\">\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1><span style=\"font-size: 3em\">404</span></h1>\n\t\t\t\t\t</div>\n            \t\t<h5>The page you are looking for doesn't exist.</h5>\n \t\t\t\t\t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\">Back Home</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"162\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn04.png\" data-cat=\"100000000,31\">\n\n    <div class=\"row\">\n\n        <div class=\"col-md-12 center\">\n\n             <i class=\"icon ion-ios-pulse size-80\"></i>\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4em\">Oops...</h1>\n\n            </div>\n\n            <h1 style=\"font-size: 3em\">Page Not Found</h1>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"163\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn05.png\" data-cat=\"100000000,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"col-md-12 center\">\n\n            <div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-bootstrap.html#\" class=\"btn btn-primary btn-lg\" style=\"border-radius: 50px\">BACK HOME</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"164\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn08.png\" data-cat=\"31\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:6em\">Error <span style=\"font-weight:800\">404</span></h1>\n            <h3 style=\"margin-top:0\">The page you are looking for doesn't exist.</h3>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t\t<a href=\"snippets-bootstrap.html#\"><i class=\"icon ion-ios-home size-64\"></i></a>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"165\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn09.png\" data-cat=\"100000000,31\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n             <i class=\"icon ion-android-sad size-80\"></i>\n            <h1 style=\"font-size:3em;margin-top:0\">Sorry, this page doesn't exist.</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-bootstrap.html#\">BACK TO HOMEPAGE</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"166\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op01.png\" data-cat=\"100000000,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">OUR SKILLS</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">98%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Design</h3>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">87%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Development</h3>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">100%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Customer Support</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"167\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op02.png\" data-cat=\"100000000,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">93%</h1>\n            <h3 style=\"font-size:1.2em\">HTML &amp; CSS</h3>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">71%</h1>\n            <h3 style=\"font-size:1.2em\">JavaScript</h3>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">90%</h1>\n            <h3 style=\"font-size:1.2em\">PHP</h3>\n        </div>\n\n\t\t<div class=\"col-md-3 center\">\n            <h1 style=\"font-weight:800\">85%</h1>\n            <h3 style=\"font-size:1.2em\">Photoshop</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"168\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op03.png\" data-cat=\"100000000,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 display center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>89%</b></span><br><br>Web Design</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-code size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>92%</b></span><br><br>HTML &amp; CSS</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"col-md-4\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"col-md-4 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-settings size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-8 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>81%</b></span><br><br>Marketing</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"169\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op04.png\" data-cat=\"100000000,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.2em 0\">TEAM SKILLS</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">89</span>%</h2>\n\t\t\t<h3>Web Design</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n        <div class=\"col-md-4 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">91</span>%</h2>\n\t\t\t<h3>PHP</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">95</span>%</h2>\n\t\t\t<h3>HTML &amp; CSS</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"170\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op05.png\" data-cat=\"100000000,32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">OUR SKILLS</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">92</span>%</h1>\n\t\t\t\t\t<h3>UX/UI Design</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">88</span>%</h1>\n\t\t\t\t\t<h3>Development</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">65</span>%</h1>\n\t\t\t\t\t<h3>Branding</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"171\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op07.png\" data-cat=\"32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <h2 style=\"font-size:2.2em;margin-top:0.2em\">Our Skills</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\n\t\t<div class=\"col-md-8\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">85%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                    <h3 style=\"text-align:center\">Web Design</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-md-6\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">91%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                \t<h3 style=\"text-align:center\">HTML &amp; CSS</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"172\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op08.png\" data-cat=\"32\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12 center\">\n            <h1 style=\"font-size:3em\">Knowledge</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4 center\">\n                <i class=\"icon ion-ios-heart-outline size-64\"></i>\n                <h2 style=\"font-size:1.3em;margin-top:0\"><strong>92%</strong>, Web Design</h2>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>78%</strong>, Video Editing</h2>\n        </div>\n\n\t\t<div class=\"col-md-4 center\">\n            <i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>89%</strong>, Web Development</h2>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Category: Title, Sub Title -->\n\n\n<div data-num=\"173\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b15.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"174\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b16.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"175\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b17.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"wag-size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"176\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b18.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"177\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b19.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"178\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b20.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"179\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b21.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"wag-size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"180\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b22.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"181\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b23.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"182\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b24.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"183\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b25.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"wag-size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"184\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b26.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"185\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b27.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"186\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b28.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"187\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b29.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"wag-size-48 is-title4-48 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"188\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b30.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"189\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b31.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"190\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b32.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"191\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b33.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"wag-size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"192\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b34.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"193\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b35.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"194\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b36.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"195\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b37.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <h1 class=\"wag-size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n             <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"196\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b38.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"197\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b39.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"198\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b40.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"199\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b41.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"wag-size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"200\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b42.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"201\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b43.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"202\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b44.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"203\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b45.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"wag-size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"204\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b46.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"205\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b47.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n            </div>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"206\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b48.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"207\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b49.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"wag-size-48 is-title4-48 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"208\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b50.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"209\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b51.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"210\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b52.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"211\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b53.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"wag-size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"212\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b54.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<!-- Category: Info, Title -->\n\n<div data-num=\"213\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c02.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-24 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"214\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c03.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"215\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c04.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"wag-size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"216\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c05.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"217\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c06.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"218\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c07.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"219\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c08.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"wag-size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"220\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c09.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"221\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c10.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"222\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c11.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"223\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c12.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"wag-size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"224\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c13.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"225\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c14.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"226\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c15.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"227\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c16.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"wag-size-48 is-title4-48 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"228\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c17.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n           \t\t<h1 class=\"size-32 is-title4-32 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"229\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c18.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"230\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c19.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"231\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c20.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"wag-size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"232\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c21.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"233\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c22.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-24 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"234\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c23.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"235\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c24.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"wag-size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"236\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c25.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"237\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c26.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"238\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c27.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"239\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c28.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"wag-size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"240\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c29.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"241\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c30.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"242\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c31.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"243\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c32.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"wag-size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"244\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c33.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"245\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c34.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"246\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c35.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"247\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c36.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"wag-size-48 is-title4-48 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"248\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c37.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"249\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c38.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"250\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c39.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"251\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c40.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"wag-size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"252\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c41.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Buttons  -->\n\n<!-- <div data-num=\"253\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce01.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<div data-num=\"254\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce02.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper wagdt-blog-btn\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- <div data-num=\"255\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce03.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- -->\n\n<!-- <div data-num=\"256\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce04.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"257\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce05.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n -->\n<!-- <div data-num=\"258\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce06.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- -->\n<!-- \n<div data-num=\"259\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce07.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"260\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce08.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a>\n\n        </div>\n\t</div>\n</div> -->\n<!-- \n<div data-num=\"261\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce09.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- -->\n\n<!-- <div data-num=\"262\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce10.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- <div data-num=\"263\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce11.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div> -->\n<!-- \n<div data-num=\"264\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce12.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\n            <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div> -->\n\n<!-- Cards -->\n\n\n<div data-num=\"265\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de01.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z05-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z05-2.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/z05-3.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n         </div>\n\t</div>\n</div>\n\n<div data-num=\"266\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de02.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k06-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n     \t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k06-2.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t     \t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"267\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de03.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/k06-1.jpg' ?> style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"268\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de04.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"269\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de05.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"270\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de06.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"271\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de07.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n \t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"272\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de08.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"273\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de09.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"274\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de10.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"275\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de11.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"276\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de12.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"277\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de13.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n \t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"278\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de14.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"279\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de15.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"280\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de16.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"281\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de17.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"282\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de18.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"283\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de19.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/p02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"284\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de20.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"col-md-6\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"285\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de21.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/g03-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"286\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de22.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"wag-size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"287\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de23.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"wag-size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n             \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"288\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de24.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"289\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de25.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"290\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de26.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"wag-size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"291\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de27.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"wag-size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"292\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de28.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"293\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de29.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"294\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de30.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-4\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/de01-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/de01-2.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-4\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/de01-3.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"295\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de31.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-6\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/de02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"col-md-6\">\n           <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/de02-2.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"296\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de32.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=<?php echo $currentPageUrl.'/vendor/content-builder/assets/minimalist-basic/de02-1.jpg' ?> class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"297\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de33.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-dark-text shadow-1\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"298\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de34.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-dark-text shadow-1\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"299\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de35.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"300\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de36.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"col-md-12\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-bootstrap.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"301\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"100000000,35\">\n    <div class=\"row\">\n        <div class=\"col-md-12\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"%3Cdiv%20id%3D%22{id}%22%20class%3D%22slider-on-content%22%20style%3D%22width%3A100%25%3Bheight%3A400px%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-b.jpg')%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-a.jpg')%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23{id}%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23{id}%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20true%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%203000%2Cfade%3A%20false%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E\" data-settings=\"%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Atrue%2C%22dots%22%3Atrue%2C%22fade%22%3Afalse%2C%22height%22%3A%22400%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-b.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%2C%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-a.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%5D%7D%5D\">\n\n        </div>\n    </div>\n</div>\n\n<div data-num=\"302\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/code.png\" data-cat=\"100000000,100\">\n    <div class=\"row\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22col-md-12%22%3E%0A%0A%3Ch1%20id%3D%22{id}%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n\t\t<div class=\"col-md-12\">\n\n\t\t</div>\n    </div>\n</div>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/snippets-foundation.html",
    "content": "\n<!-- Title -->\n\n\n<div data-num=\"1\" data-thumb=\"assets/minimalist-basic/thumbnails/a01.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"2\" data-thumb=\"assets/minimalist-basic/thumbnails/a02.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"3\" data-thumb=\"assets/minimalist-basic/thumbnails/a03.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"4\" data-thumb=\"assets/minimalist-basic/thumbnails/a04.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite is-upper\">Lorem Ipsum is simply dummy text</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"5\" data-thumb=\"assets/minimalist-basic/thumbnails/a05.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"6\" data-thumb=\"assets/minimalist-basic/thumbnails/a06.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"7\" data-thumb=\"assets/minimalist-basic/thumbnails/a07.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"8\" data-thumb=\"assets/minimalist-basic/thumbnails/a08.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"9\" data-thumb=\"assets/minimalist-basic/thumbnails/a09.png\" data-cat=\"0,1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"10\" data-thumb=\"assets/minimalist-basic/thumbnails/a10.png\" data-cat=\"1\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<!---->\n\n\n<div data-num=\"11\" data-thumb=\"assets/minimalist-basic/thumbnails/c01.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n            <div class=\"display\">\n\t\t\t    <p class=\"size-21 is-info2\"><i>This is a special report</i></p>\n                <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"12\" data-thumb=\"assets/minimalist-basic/thumbnails/g01.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"13\" data-thumb=\"assets/minimalist-basic/thumbnails/e01.png\" data-cat=\"0,5\">\n\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <h1>Heading 1 Text Goes Here</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"14\" data-thumb=\"assets/minimalist-basic/thumbnails/e02.png\" data-cat=\"0,5\">\n\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <h2>Heading 2 Text Goes Here</h2>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"15\" data-thumb=\"assets/minimalist-basic/thumbnails/e09.png\" data-cat=\"0,5\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<h1>Lorem Ipsum</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-8 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/e09-1.jpg\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"16\" data-thumb=\"assets/minimalist-basic/thumbnails/v01.png\" data-cat=\"0,19\">\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <hr>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"17\" data-thumb=\"assets/minimalist-basic/thumbnails/v02.png\" data-cat=\"0,19\">\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <br><br>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"18\" data-thumb=\"assets/minimalist-basic/thumbnails/b01.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Beautiful Content. Responsive.</h1>\n                <p class=\"size-21\"><i>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</i></p>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"19\" data-thumb=\"assets/minimalist-basic/thumbnails/b12.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b12-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t</div>\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Lorem Ipsum is Simply</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text</p>\n\n\t\t\t</div>\n\n\t\t\t<p style=\"text-align: center\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"20\" data-thumb=\"assets/minimalist-basic/thumbnails/b14.png\" data-cat=\"0\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Beautiful Content</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-1.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-2.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-3.jpg\">\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"21\" data-thumb=\"assets/minimalist-basic/thumbnails/g02.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g02-1.jpg\">\n\n        \t</div>\n\t\t\t<div class=\"large-6 columns\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"22\" data-thumb=\"assets/minimalist-basic/thumbnails/g03.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       \t\t </div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\">\n\n       \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"23\" data-thumb=\"assets/minimalist-basic/thumbnails/h01.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"24\" data-thumb=\"assets/minimalist-basic/thumbnails/h02.png\" data-cat=\"0,6\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\t\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"25\" data-thumb=\"assets/minimalist-basic/thumbnails/o01.png\" data-cat=\"0,12\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/o01-1.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"26\" data-thumb=\"assets/minimalist-basic/thumbnails/k06.png\" data-cat=\"0,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-3 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-2.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"27\" data-thumb=\"assets/minimalist-basic/thumbnails/k02.png\" data-cat=\"0,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"large-4 columns\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-2.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"large-4 columns\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-3.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"28\" data-thumb=\"assets/minimalist-basic/thumbnails/k01.png\" data-cat=\"0,9\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-2.jpg\">\n\n               \t \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"29\" data-thumb=\"assets/minimalist-basic/thumbnails/p01.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p01-1.jpg\">\n\n       \t \t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n           \t\t<div class=\"display\">\n\n               \t\t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"30\" data-thumb=\"assets/minimalist-basic/thumbnails/p02.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<div class=\"display\">\n\n                \t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"31\" data-thumb=\"assets/minimalist-basic/thumbnails/p03.png\" data-cat=\"13\">\n\n \t<div class=\"row\">\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p03-1.jpg\">\n\n        \t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n            \t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"32\" data-thumb=\"assets/minimalist-basic/thumbnails/p04.png\" data-cat=\"13\">\n\n \t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p04-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"33\" data-thumb=\"assets/minimalist-basic/thumbnails/p05.png\" data-cat=\"0,13\">\n\n  <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"display center\">\n\n                <h1>Beautiful content. Responsive.</h1>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n         </div>\n\n    </div>\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"34\" data-thumb=\"assets/minimalist-basic/thumbnails/p06.png\" data-cat=\"0,13\">\n\n <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"display center\">\n\n                <h1 style=\"font-size:4em\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n\n        </div>\n\n    </div>\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"35\" data-thumb=\"assets/minimalist-basic/thumbnails/p07.png\" data-cat=\"0,13\">\n\n <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-foundation.html#\" class=\"secondary button\">Read More</a> &nbsp;\n\n            <a href=\"snippets-foundation.html#\" class=\"button\">Download</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"36\" data-thumb=\"assets/minimalist-basic/thumbnails/q01.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n\n        <div class=\"large-6 columns\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"large-6 columns\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div> \t\n\n</div>\n\n\n\n<div data-num=\"37\" data-thumb=\"assets/minimalist-basic/thumbnails/q02.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n\n        <div class=\"large-4 columns\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div> \t\n\n</div>\n\n\n<div data-num=\"38\" data-thumb=\"assets/minimalist-basic/thumbnails/q30.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n        <div class=\"large-6 columns\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"large-6 columns\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n    </div>\n\n</div>\n\n<div data-num=\"39\" data-thumb=\"assets/minimalist-basic/thumbnails/q31.png\" data-cat=\"0,14\">\n\n    <div class=\"row\">\n        <div class=\"large-4 columns\">\n\t\t\t\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"large-4 columns\">\n\t\t\t\t<i class=\"icon ion-android-create size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\t\t\n       </div><div class=\"large-4 columns\">\n\t\t\t\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n    </div>\n\n</div>\n\n\n<div data-num=\"40\" data-thumb=\"assets/minimalist-basic/thumbnails/r01.png\" data-cat=\"0,15\">\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"41\" data-thumb=\"assets/minimalist-basic/thumbnails/r02.png\" data-cat=\"0,15\">\n\n    <div class=\"row\">\n\n        <div class=\"large-6 columns\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n        <div class=\"large-6 columns\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"42\" data-thumb=\"assets/minimalist-basic/thumbnails/r03.png\" data-cat=\"0,15\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns center\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r03-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t\t\t<div class=\"large-6 columns\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"43\" data-thumb=\"assets/minimalist-basic/thumbnails/r04.png\" data-cat=\"0,15\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n       \t\t<div class=\"large-6 columns center\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r04-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n\n\n<div data-num=\"44\" data-thumb=\"assets/minimalist-basic/thumbnails/s01.png\" data-cat=\"0,16\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-2 columns center\">\n\n                <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s01-1.jpg\" style=\"border-radius:500px;margin-top:5px;\"></p>\n\n        \t</div>\n\n\t\t\t<div class=\"large-10 columns\">\n\n            \t\t<p>\n\n                \t<b>Sara Phillipps</b><br>A freelance web designer &amp; developer based in Melbourne, Australia.\n\n            \t\t</p>\n\n            \t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<!--<a href=\"#\"><i class=\"icon ion-social-github\"></i></a>\n\n                \t\t<a href=\"snippets-foundation.html#\"><i class=\"icon ion-social-dribbble\"></i></a>\n\n                \t\t<a href=\"snippets-foundation.html#\"><i class=\"icon ion-social-pinterest\"></i></a>\n\n                \t\t<a href=\"snippets-foundation.html#\"><i class=\"icon ion-social-linkedin\"></i></a>\n\n                \t\t<a href=\"snippets-foundation.html#\"><i class=\"icon ion-social-instagram\"></i></a>-->\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n           \t \t</div>\n\n       \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"45\" data-thumb=\"assets/minimalist-basic/thumbnails/s03.png\" data-cat=\"0,16\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-8 columns\">\n            \n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s03-1.jpg\">\n\n \t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\n\t\t\t<h2>Lorem Ipsum</h2>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"46\" data-thumb=\"assets/minimalist-basic/thumbnails/s10.png\" data-cat=\"0,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n\t        <div class=\"row\">\n\n\t\t\t    <div class=\"large-4 columns center\">\n\n\t\t\t\t    <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s10-1.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"large-8 columns\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n\t        <div class=\"row\">\n\n\t\t\t    <div class=\"large-4 columns center\">\n\n\t\t\t\t    <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s10-2.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"large-8 columns\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"47\" data-thumb=\"assets/minimalist-basic/thumbnails/t01.png\" data-cat=\"0,17,22\">\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"48\" data-thumb=\"assets/minimalist-basic/thumbnails/t02.png\" data-cat=\"0,17,22\">\n\n    <div class=\"row\">\n\n        <div class=\"large-8 columns\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n            <h3>Get in Touch</h3>\n\n            <p>\n\n              <strong>Company, Inc.</strong><br>\n\n              123 Street, City<br>\n\n              State 12345<br>\n\n              P: (123) 456 7890 / 456 7891\n\n            </p>\n\n\n\n            <p>\n\n              <strong>Full Name</strong><br>\n\n              <a href=\"mailto:#\">first.last@example.com</a>\n\n            </p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"49\" data-thumb=\"assets/minimalist-basic/thumbnails/o02.png\" data-cat=\"0,20\">\n\n \t<div class=\"row\">\n\n        \t<div class=\"large-12 columns\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"50\" data-thumb=\"assets/minimalist-basic/thumbnails/e13.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns center\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\" style=\"margin-right:20px\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"51\" data-thumb=\"assets/minimalist-basic/thumbnails/e14.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"52\" data-thumb=\"assets/minimalist-basic/thumbnails/u04.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\n            <div class=\"clearfix is-boxed-button-big\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\t\n                <a href=\"http://www.website.com/\" style=\"background-color: #0569AA;\"><i class=\"icon ion-android-home\"></i></a>\t\t\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<!-- End of Default -->\n\n\n\n<div data-num=\"53\" data-thumb=\"assets/minimalist-basic/thumbnails/n15.png\" data-cat=\"11\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-1.jpg\">\n\n        </div>\n\n        <div class=\"large-6 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-2.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"54\" data-thumb=\"assets/minimalist-basic/thumbnails/n16.png\" data-cat=\"11\">\n\n\t<div class=\"row\">\n\n\t    <div class=\"large-4 columns\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-1.jpg\">\t\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-2.jpg\">\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-3.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"55\" data-thumb=\"assets/minimalist-basic/thumbnails/p34.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Beautiful Content</h1>\n\n\t\t\t</div>\n\n \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns\">\n\n\t\t\t\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p34-1.png\">\n        \n\n\t\t\t</div>\n\n\t\t\t<div class=\"large-6 columns\">\n\n                \t\t<h2>Responsive.</h2>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                \t\t<div style=\"margin:1.3em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px;\">Read More</a>\n\n            \t\t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\t\n\n<div data-num=\"56\" data-thumb=\"assets/minimalist-basic/thumbnails/p35.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<i class=\"icon ion-leaf size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t<div class=\"display\">\n\n                \t<h1 style=\"font-size: 3.5em; margin:0.2em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t</div>\n\n           <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t    <div style=\"margin:1em 0\">\n\n           \t\t\t <a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">READ MORE</a>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"57\" data-thumb=\"assets/minimalist-basic/thumbnails/p36.png\" data-cat=\"13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-21\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n            \t\t<div class=\"display\">\n\n                \t\t    <h1 style=\"margin:0.3em 0; font-size: 4em\">Beautiful Content. Responsive.</h1>\n\n            \t\t </div>\n\n                    <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"58\" data-thumb=\"assets/minimalist-basic/thumbnails/p38.png\" data-cat=\"0,13\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\t\t\t\t<div class=\"display center\">\n\n            \t\t<h1>Beautiful content.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            \t\t\n\t\t\t\t</div>\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\n\n\t\t\t<div style=\"margin:1em 0 2.5em;\">\n\n           \t\t   <a href=\"snippets-foundation.html#\" class=\"secondary button\">Read More</a> &nbsp;\n\n            \t\t   <a href=\"snippets-foundation.html#\" class=\"button\">Download</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"59\" data-thumb=\"assets/minimalist-basic/thumbnails/p42.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p42-1.jpg\">\n\t\t\t<h3>BEAUTIFUL CONTENT. RESPONSIVE.</h3>\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Lorem Ipsum is simply text of the printing industry</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div style=\"margin:0.5em 0 2.5em;\">\n            \t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"assets/minimalist-basic/thumbnails/p43.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            \t<div class=\"clearfix is-rounded-button-medium\">\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t             \t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>    \n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>           \t\t\t\n\t\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin-top:0.5em;font-size:3.7em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div style=\"margin:1em 0;\">        \n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">GET STARTED</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"assets/minimalist-basic/thumbnails/p44.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"font-size:3.4em\">Lorem Ipsum is simply text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t            <a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>    \n                    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>   \n                    <a href=\"https://www.instagram.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-social-instagram-outline\"></i></a>         \t\t\t\n\t\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <div style=\"margin:2em 0\">\n            <a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            <a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"assets/minimalist-basic/thumbnails/p46.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h1 style=\"font-size:3.5em;margin-top:0\">Beautiful Content. Responsive.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <div style=\"margin:1em 0\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">Watch Video</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"assets/minimalist-basic/thumbnails/p47.png\" data-cat=\"0,13\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\" font-size: 4em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n           <div style=\"margin:1em 0 2.5em;\">\n            <a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">GET STARTED TODAY</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n           <div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"padding:0; width:80px; height:80px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"assets/minimalist-basic/thumbnails/p50.png\" data-cat=\"13\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t<div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"btn btn-primary\" style=\"padding:0; width:90px; height:90px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n                <h1 style=\"font-size:3em\">Beautiful content. Responsive</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n         </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <div style=\"margin:2em 0\">\n            \t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Get Started</a>\n            </div>\n        </div>\n\t</div>\n</div>\t\n\n<div data-num=\"65\" data-thumb=\"assets/minimalist-basic/thumbnails/q20.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>        \n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q20-1.png\">\n\n\n        \t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n               \t \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"66\" data-thumb=\"assets/minimalist-basic/thumbnails/q21.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-1.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"large-4 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-2.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"large-4 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-3.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n\n<div data-num=\"67\" data-thumb=\"assets/minimalist-basic/thumbnails/q24.png\" data-cat=\"14\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n       </div>\n\n       <div class=\"large-6 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n       <div class=\"large-6 columns\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-create size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\t\t\t\n       </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"68\" data-thumb=\"assets/minimalist-basic/thumbnails/q25.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size: 3em\">Best Features</h1> \n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-heart-outline size-64\"></i></p>\n\t\t</div>\n\t\t\n\t\t<div class=\"large-3 columns\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t\t\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-mic-outline size-64\"></i></p>\n\t\t</div>\n\t\t\n\t\t<div class=\"large-3 columns\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-paperplane size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-film-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"assets/minimalist-basic/thumbnails/q26.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q26-1.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t\t<div class=\"large-6 columns\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q26-2.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"assets/minimalist-basic/thumbnails/q27.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>     \n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<i class=\"icon ion-android-download size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"assets/minimalist-basic/thumbnails/q28.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t<h1 style=\"font-size: 3em\">Product Features</h1>     \n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns center\">\n                <i class=\"icon ion-compose size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns center\">\n                <i class=\"icon ion-android-favorite-outline size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"assets/minimalist-basic/thumbnails/q29.png\" data-cat=\"14\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Product Features</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-camera-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"73\" data-thumb=\"assets/minimalist-basic/thumbnails/r22.png\" data-cat=\"0,15\">\n\n    \t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Customer Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"74\" data-thumb=\"assets/minimalist-basic/thumbnails/r23.png\" data-cat=\"0,15\">\n\n    \t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t <i class=\"icon ion-quote size-80\" style=\"color: #C0C0C0\"></i>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-1.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-2.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-3.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"75\" data-thumb=\"assets/minimalist-basic/thumbnails/r25.png\" data-cat=\"0,15\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">Happy Customers</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r25-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r25-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t<p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"76\" data-thumb=\"assets/minimalist-basic/thumbnails/r27.png\" data-cat=\"15\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">Testimonials</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"77\" data-thumb=\"assets/minimalist-basic/thumbnails/r28.png\" data-cat=\"0,15\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">What People Say About Us</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"row\">\n\t\t\t\t<div class=\"large-4 columns\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r28-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"row\">\n\t\t\t\t<div class=\"large-4 columns\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r28-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"78\" data-thumb=\"assets/minimalist-basic/thumbnails/u10.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em\">Beautiful Content. Responsive.</h1>\n\n            \t\t    </div>\n\n                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.  Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t<div class=\"clearfix is-rounded-button-medium\">\n\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>           \t\t\t\n\n\t\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"79\" data-thumb=\"assets/minimalist-basic/thumbnails/u11.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em; margin:0.5em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>           \t\t\t\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"80\" data-thumb=\"assets/minimalist-basic/thumbnails/u12.png\" data-cat=\"0,18\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n\t\t\t<div class=\"display\">\n\n                            <h1>Lorem Ipsum is simply text</h1>\n\n\t\t\t</div>\n\n                        <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n            <div class=\"clearfix is-boxed-button-big2\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\t\t\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"81\" data-thumb=\"assets/minimalist-basic/thumbnails/u13.png\" data-cat=\"0,18\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"display\">\n            \t<h1 style=\"font-size:3.5em\">Beautiful content. Responsive.</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"82\" data-thumb=\"assets/minimalist-basic/thumbnails/u14.png\" data-cat=\"18\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;letter-spacing:8px\">BEAUTIFUL CONTENT. RESPONSIVE.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet.</p>\n\t\t\t<br>\n\t\t\t <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t</div>\n</div>\n\n\n<div data-num=\"83\" data-thumb=\"assets/minimalist-basic/thumbnails/w01.png\" data-cat=\"0,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n            <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-gear-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-world-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-calendar-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"84\" data-thumb=\"assets/minimalist-basic/thumbnails/w02.png\" data-cat=\"0,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n            \t\t <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-heart-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-compose-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-gear-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-calendar-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-clock-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-laptop size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"85\" data-thumb=\"assets/minimalist-basic/thumbnails/w04.png\" data-cat=\"0,21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1>Beautiful content. Responsive.</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/w04-1.png\">\n\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            \t\t\n            <div style=\"margin:30px 0 0 0\">\n                <p><i class=\"icon ion-ios-heart-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-compose-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-gear-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\t\t\t</div>\n\n     \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"86\" data-thumb=\"assets/minimalist-basic/thumbnails/w05.png\" data-cat=\"21\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n                    <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n        \t<div class=\"large-6 columns\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/w05-1.png\">\n\n        \t</div>\n\n\t\t\t<div class=\"large-6 columns\">\n\n                \t\t<h3>Beautiful Content. Responsive.</h3>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-camera-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n<div data-num=\"87\" data-thumb=\"assets/minimalist-basic/thumbnails/w06.png\" data-cat=\"0,21\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Beautiful Content</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"large-3 columns center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Responsive</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"large-3 columns center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Typesetting</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"large-3 columns center\">\n\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Simply Text</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"88\" data-thumb=\"assets/minimalist-basic/thumbnails/w07.png\" data-cat=\"0,21\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t<h1 style=\"font-size:3em\">SERVICES</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<i class=\"icon ion-ios-filing-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"89\" data-thumb=\"assets/minimalist-basic/thumbnails/w10.png\" data-cat=\"0,21\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t<h1 style=\"text-align: center; font-size:3em;margin:1.5em 0\">Our Services</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n       \t \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-mic-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n         \t</div>\n        </div>\n    </div>\n</div>\n\n\n\n<div data-num=\"90\" data-thumb=\"assets/minimalist-basic/thumbnails/x01.png\" data-cat=\"0,22\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Contact Us</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel.</p>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<h3>Address</h3>\n\n         \t\t<p>\n\n              \t\t<strong>Company, Inc.</strong><br>\n\n              \t\t123 Street, City<br>\n\n              \t\tState 12345<br>\n\n              \t\tP: (123) 456 7890 / 456 7891\n\n            \t</p>\n\n\t    </div>\n\n\t    <div class=\"large-6 columns\">\n\n            <div class=\"row\">\n\n\t\t\t    <div class=\"large-12 columns\">\n\n\t\t\t\t    <h3>Stay in Touch</h3>\n\n            \t    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n                    <div class=\"clearfix is-boxed-button-medium2\">\n                        <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    </div>\n\n\t\t\t    </div>\n\n            </div>\n\n\n\t    </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"91\" data-thumb=\"assets/minimalist-basic/thumbnails/x05.png\" data-cat=\"22\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n               <h1 style=\"font-size: 3em\">Contact Us</h1>\n\n               <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\n            <div class=\"row\">\n\n\t\t\t    <div class=\"large-12 columns\">  \n\n\t\t\t\t    <h3>OFFICE ONE</h3>\n\n\t\t\t    </div>\n\n            </div>\n\n\t\t    <div class=\"row\">                        \n\n\t\t\t\t<div class=\"large-2 columns\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-10 columns\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-2 columns\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-10 columns\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t   \t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-2 columns\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-10 columns\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n             </div>\n\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n\n\t\t\t<div class=\"row\">\n\n                <div class=\"large-12 columns\">  \n\n\t\t\t\t    <h3>OFFICE TWO</h3>\n\n                </div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">                       \n\n\t\t\t\t<div class=\"large-2 columns\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-10 columns\">\n\n                   \t<p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-2 columns\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-10 columns\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-2 columns\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-10 columns\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"92\" data-thumb=\"assets/minimalist-basic/thumbnails/x09.png\" data-cat=\"22\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n            <i class=\"icon ion-ios-location-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n            <i class=\"icon ion-ios-telephone-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Call Us</h3>\n  \t\t\t<p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n            <i class=\"icon ion-ios-email-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Email</h3>\n  \t\t\t<p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Social Media</h3>\n  \t\t\t<p><a href=\"https://www.facebook.com\">Facebook</a><br><a href=\"https://twitter.com\">Twitter</a><br></p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"93\" data-thumb=\"assets/minimalist-basic/thumbnails/x10.png\" data-cat=\"0,17,22\">\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n           <p>\n              <span style=\"font-size:1.2em\"><b>Company, Inc.</b></span><br>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>          \n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"embed-responsive embed-responsive-16by9\">\n            \t<iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n            </div>\n        </div>\n\t</div>\t\n</div>\n\n\n<div data-num=\"94\" data-thumb=\"assets/minimalist-basic/thumbnails/x11.png\" data-cat=\"0,22\">\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <h3>\n\t\t\t\t<i class=\"icon ion-ios-location-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Address</span>\n\t\t\t</h3>\n            <p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n        \t<h3>\n \t\t\t\t<i class=\"icon ion-iphone size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Phone</span>\n\t\t\t</h3>\n            <p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-email-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Email</span>\n\t\t\t</h3>\n            <p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"assets/minimalist-basic/thumbnails/x12.png\" data-cat=\"0,22\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1>Contact Us</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/x12-1.jpg\" style=\"margin-top: 0px;\">\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <h3 style=\"margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"is-social\">\n                <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"96\" data-thumb=\"assets/minimalist-basic/thumbnails/y01.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Ready to Purchase?</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1>$<span style=\"font-size: 2.7em;\">59</span></h1>\n\t\t\t\t\t</div>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t<div style=\"margin:2.5em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Purchase</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"97\" data-thumb=\"assets/minimalist-basic/thumbnails/y02.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:30px;\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t   \t\t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\">Purchase</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:30px;\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">99</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\">Purchase</a>\t\n                \t</div>\n           \t\t</div>    \n        \t</div>\n\t\t</div>\n\t</div>\n\t\n</div>\n\n\n\n<div data-num=\"98\" data-thumb=\"assets/minimalist-basic/thumbnails/y03.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n                    \t\t<h1 style=\"font-size: 3.5em\">Pricing</h1>\n\n\t\t\t</div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t    \t<h3>Personal</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\">Purchase</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">59</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Professional</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Purchase</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">89</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Business</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Purchase</a>           \t\t\n                \t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div data-num=\"99\" data-thumb=\"assets/minimalist-basic/thumbnails/y04.png\" data-cat=\"0,23\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing Plans</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Standard</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Professional</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">79</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Business</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"100\" data-thumb=\"assets/minimalist-basic/thumbnails/y05.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\t    \n\t\t\t\t\t<h3>Personal</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t    \n\t\t\t\t\t<h3>Professional</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">39</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t\t    \n\t\t\t\t\t<h3>Business</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">49</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"101\" data-thumb=\"assets/minimalist-basic/thumbnails/y06.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:0.5em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\t\t\t</div>\n            <h3>Basic</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\t\t\t</div>\n            <h3>Professional</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n           \t\t<a href=\"snippets-foundation.html#\" class=\"button\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t</div>\n            <h3>Business</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">Choose Plan</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"102\" data-thumb=\"assets/minimalist-basic/thumbnails/y07.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:1em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>PRO</h2>\n\t\t\t\t\t<p style=\"font-size:1.3em;color:#808080\"><i>$29 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>BUSINESS</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$39 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>DEVELOPER</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$59 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"103\" data-thumb=\"assets/minimalist-basic/thumbnails/y08.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing Plans</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<h1>Basic</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">19</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<h1>Professional</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">39</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<h1>Business</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">49</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"104\" data-thumb=\"assets/minimalist-basic/thumbnails/y09.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.7em;margin:1em 0\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Basic</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">29</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Pro</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">39</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"assets/minimalist-basic/thumbnails/y10.png\" data-cat=\"0,23\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<h1 style=\"font-size: 4em;margin:1em 0\">Pricing Plans</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Basic</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">39</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Professional</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">49</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Business</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">59</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"106\" data-thumb=\"assets/minimalist-basic/thumbnails/z01.png\" data-cat=\"0,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Meet The Team</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z01-1.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>          \n\n\t\t</div>\n\n\t\t<div class=\"large-8 columns\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z01-2.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>         \n\n\t\t</div>\n\n\t\t<div class=\"large-8 columns\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"107\" data-thumb=\"assets/minimalist-basic/thumbnails/z02.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t\t<h1 style=\"font-size: 3em\">Meet The Team</h1>\n\t\t    \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        \t</div>\n\t</div>\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t    <div class=\"large-4 columns center\">\n\t\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z02-2.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"large-8 columns\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    \t</div>\n\t    <div class=\"large-6 columns\">\n\t\t    <div class=\"row\">\n\t\t\t    <div class=\"large-4 columns center\">\n\t\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z02-3.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"large-8 columns\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\t\t\t\t    \n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    </div>\n    \t</div>\n</div>\n\n\n<div data-num=\"108\" data-thumb=\"assets/minimalist-basic/thumbnails/z03.png\" data-cat=\"0,24\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Our Team</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z03-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z03-2.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"109\" data-thumb=\"assets/minimalist-basic/thumbnails/z05.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            \t<h1 style=\"margin:1.2em 0;font-size:3em\">Meet The Team</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\t\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>              \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>    \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>         \n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"110\" data-thumb=\"assets/minimalist-basic/thumbnails/z06.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1>Our Team</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-4.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"111\" data-thumb=\"assets/minimalist-basic/thumbnails/z07.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n                <h1>Meet Our Team</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z07-1.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\t\t\n\t\t<div class=\"large-3 columns\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>   \n\t\t</div>\n\t\t\n\t\t<div class=\"large-3 columns center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z07-2.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\t\t\n\t\t<div class=\"large-3 columns\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>   \n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"112\" data-thumb=\"assets/minimalist-basic/thumbnails/z09.png\" data-cat=\"0,24\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Meet The Team</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z09-1.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z09-2.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>  \n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"113\" data-thumb=\"assets/minimalist-basic/thumbnails/ab01.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n\t\t\t<div class=\"display center\">\n\n            \t<h1>Portfolio</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-1.jpg\">\t\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-2.jpg\">\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-3.jpg\">\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-4.jpg\">\t\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-5.jpg\">\n\n        </div>\n\n        <div class=\"large-4 columns\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-6.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"114\" data-thumb=\"assets/minimalist-basic/thumbnails/ab02.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <h1 style=\"font-size: 3em\">Our Works</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n            \n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-1.jpg\">\n\n\t\t    <p><b>Beautiful Content</b><br>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n\n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-2.jpg\">\n\n\t\t    <p><b>Printing and Typesetting</b><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n\n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-3.jpg\">\n\n\t\t    <p><b>Simply Dummy Text</b><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Vivamus leo ante, consectetur sit amet vulputate vel. </p>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"115\" data-thumb=\"assets/minimalist-basic/thumbnails/ab03.png\" data-cat=\"25\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Products</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-1.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n           \t    \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Buy Now</a>\n\n           \t \t</div>\n\t\t\t</div>\n    \t</div>   \t\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-2.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Buy Now</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-3.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Buy Now</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"116\" data-thumb=\"assets/minimalist-basic/thumbnails/ab06.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-1.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-2.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-3.jpg\">\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div class=\"display\">\n                <h1 style=\"font-size:3.3em\">Portfolio</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            </div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n         </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">VIEW PROJECT</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"117\" data-thumb=\"assets/minimalist-basic/thumbnails/ab07.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-1.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product One</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Buy Now</a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-2.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Two</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-3.jpg\" style=\"border-radius: 500px\">\t\t\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Three</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n     \t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"118\" data-thumb=\"assets/minimalist-basic/thumbnails/ab10.png\" data-cat=\"0,25\">\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<i class=\"icon ion-ios-cart size-64\" style=\"color: #333\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab10-1.jpg\">\n        </div>\n\t\t<div class=\"large-6 columns\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"large-6 columns\">\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab10-2.jpg\">\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"assets/minimalist-basic/thumbnails/cd01.png\" data-cat=\"0,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-archive size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"120\" data-thumb=\"assets/minimalist-basic/thumbnails/cd03.png\" data-cat=\"0,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\n\t\t\t\t<h4>Step<span style=\"font-size: 4em\"><b>1</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>2</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>3</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"121\" data-thumb=\"assets/minimalist-basic/thumbnails/cd04.png\" data-cat=\"0,26\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <h1 style=\"font-size: 3em\">The Process</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 1</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-edit size-96\"></i>\n\n\t\t\t\t<h3>STEP 2</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-gear-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 3</h3>\n\n           \t <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-heart-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 4</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"122\" data-thumb=\"assets/minimalist-basic/thumbnails/cd06.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-compose-outline size-64\"></i>\t\t\t\n\t\t\t    \t<h3 style=\"margin-top:0\">Step One</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<i class=\"icon ion-ios-gear-outline size-64\"></i>\t\t\t\t\n\t\t\t    \t<h3 style=\"margin-top:0\">Step Two</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-paperplane-outline size-64\"></i>\t\t\t\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Step Three</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"123\" data-thumb=\"assets/minimalist-basic/thumbnails/cd07.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Work Steps</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-3 columns\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-3 columns\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-3 columns\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">4</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"124\" data-thumb=\"assets/minimalist-basic/thumbnails/cd08.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-2 columns\">\n \t\t\t\t\t<p><i class=\"icon ion-android-bulb size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-10 columns\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step One</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-2 columns\">\n\t\t\t\t\t<p><i class=\"icon ion-android-settings size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-10 columns\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Two</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-2 columns\">\n \t\t\t\t\t<p><i class=\"icon ion-android-favorite-outline size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-10 columns\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Three</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-2 columns\">\n\t\t\t\t\t<p><i class=\"icon ion-paper-airplane size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-10 columns\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Four</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"125\" data-thumb=\"assets/minimalist-basic/thumbnails/cd09.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"126\" data-thumb=\"assets/minimalist-basic/thumbnails/cd10.png\" data-cat=\"0,26\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"margin:1.5em 0;font-size:3.2em\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 01</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 02</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t   \t \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"127\" data-thumb=\"assets/minimalist-basic/thumbnails/ef01.png\" data-cat=\"0,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<h1>Our Clients</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        </div>\n\n\t\t<div class=\"large-8 columns\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-4 columns center\">\n\n                  \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-1.png\">\n\n\t\t\t\t\t<p>Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-4 columns center\">\n\n                   <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-2.png\">\n\n\t\t\t\t\t<p>Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-4 columns center\">\n\n                   <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-3.png\">\n\n\t\t\t\t\t<p>Company Three</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"128\" data-thumb=\"assets/minimalist-basic/thumbnails/ef02.png\" data-cat=\"0,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3em\">Our Clients</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-1.png\">\n\n\t\t\t    <p>Company One</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-2.png\">\n\n\t\t\t    <p>Company Two</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-3.png\">\n\n\t\t\t    <p>Company Three</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-4.png\">\n\n\t\t\t    <p>Company Four</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-5.png\">\n\n\t\t\t    <p>Company Five</p>\n\n\t\t    </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"129\" data-thumb=\"assets/minimalist-basic/thumbnails/ef03.png\" data-cat=\"0,27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em; margin:0.2em 0.5em\">Our Partners</h1>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-4.png\">\n\n\t\t\t<p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\t\n\n</div>\n\n\n<div data-num=\"130\" data-thumb=\"assets/minimalist-basic/thumbnails/ef05.png\" data-cat=\"27\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <h1>Our Partners</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\n             <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-1.png\">\n             \n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-4 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t</div>\t\n\n</div>\n\n<div data-num=\"131\" data-thumb=\"assets/minimalist-basic/thumbnails/ef08.png\" data-cat=\"27\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">Our Clients</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-1.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-2.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-3.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-4.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-5.png\">\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"132\" data-thumb=\"assets/minimalist-basic/thumbnails/ef09.png\" data-cat=\"0,27\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">Our Partners</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-1.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-2.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-3.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"large-3 columns\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-4.png\">\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"133\" data-thumb=\"assets/minimalist-basic/thumbnails/gh01.png\" data-cat=\"0,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\t\n\n\t</div>\t\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-6 columns center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-1.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-6 columns\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-6 columns center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-2.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-6 columns\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-6 columns center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-3.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-6 columns\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Three</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"134\" data-thumb=\"assets/minimalist-basic/thumbnails/gh02.png\" data-cat=\"0,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-3.png\">\n\n\t\t    <p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-4.png\">\n\n\t\t    <p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"135\" data-thumb=\"assets/minimalist-basic/thumbnails/gh03.png\" data-cat=\"0,28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-4 columns\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-1.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company One</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-4 columns\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-2.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Two</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-4 columns\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-3.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Three</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-4 columns\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-4.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<h3>Company Four</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"136\" data-thumb=\"assets/minimalist-basic/thumbnails/gh05.png\" data-cat=\"28\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-1.png\">\n\n\t\t\t\t<h3>Company One</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-2.png\">\n\n\t\t\t\t<h3>Company Two</h3>\n\n        \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-3.png\">\n\n\t\t\t\t<h3>Company Three</h3>\n\n    \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n    \t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"137\" data-thumb=\"assets/minimalist-basic/thumbnails/gh07.png\" data-cat=\"28\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-1.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-2.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-3.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"138\" data-thumb=\"assets/minimalist-basic/thumbnails/gh08.png\" data-cat=\"0,28\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-1.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company One</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-2.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Two</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-3.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Three</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-4.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Four</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"139\" data-thumb=\"assets/minimalist-basic/thumbnails/gh09.png\" data-cat=\"0,28\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-1.png\">\t\t\t\n\t\t\t    \t<h3>Company One</h3> \n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-2.png\">\t\t\t\n\t\t\t    \t<h3>Company Two</h3>\t\t\t  \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-3.png\">\t\t\n\t\t\t \t\t<h3>Company Three</h3>\t\t\t \n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"140\" data-thumb=\"assets/minimalist-basic/thumbnails/ij01.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"large-4 columns center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>359</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"large-4 columns center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>620</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"large-4 columns center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-trophy size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>117</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"141\" data-thumb=\"assets/minimalist-basic/thumbnails/ij02.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\t\n\t\t\t<div class=\"is-card is-dark-text\" style=\"display:table;border-radius: 20px;width: 250px;\">\t\t\t\t\n   \t\t\t\t<div style=\"display:table-cell;vertical-align: middle;text-align:center\">\t\t\n\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\" style=\"vertical-align: middle;margin-right: 20px;\"></i>\n\t\t\t\t\t<b style=\"font-weight: 800;font-size: 2.2em;\">150+</b>\n  \t\t\t\t</div>\n\t\t\t</div>\t\t\t\n\t\t</div>\n\t\t<div class=\"large-4 columns\">\n            \t\t<div class=\"row\">\n                \t\t<div class=\"large-12 columns\">               \t\t\n                \t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>More than 150 people believed us.</h3>\n                    \t\t\t</div>\n                    \t\t</div>                 \t\t\t\n                \t\t</div>\n           \t\t</div>\n\t\t</div>\n\t\t<div class=\"large-4 columns\">\n            \t\t<div class=\"row\">\n                \t\t<div class=\"large-12 columns\">\n           \t\t\t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>Find Us:</h3>\n                    \t\t\t\t<div class=\"clearfix is-boxed-button-small\">\n                        \t\t\t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        \t\t\t\t<a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                        \t\t\t\t<a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                    \t\t\t\t</div>\n                    \t\t\t</div>                 \t\t\t\n                \t\t\t</div>\t\t     \t\t\t\n                \t\t</div>\n            \t\t</div>\n       \t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"142\" data-thumb=\"assets/minimalist-basic/thumbnails/ij03.png\" data-cat=\"0,29\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-3 columns center\">\n\n            <i class=\"icon ion-laptop size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <i class=\"icon ion-ios-people size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <i class=\"icon ion-ios-heart-outline size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"large-3 columns center\">\n\n            <i class=\"icon ion-trophy size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"143\" data-thumb=\"assets/minimalist-basic/thumbnails/ij04.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n             <h1 class=\"size-48\">Achievements</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-3 columns center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-9 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>130</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-3 columns center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-9 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>315</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            \t<br>\n        </div>\n    </div>\n    \n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-3 columns center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-9 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>270</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-3 columns center\">\n\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-80\"></i>\n\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-9 columns\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>420</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"144\" data-thumb=\"assets/minimalist-basic/thumbnails/ij05.png\" data-cat=\"0,29\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t   <i class=\"icon ion-trophy size-64\"></i>\n\n           <h1 class=\"size-48\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-3 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">120</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">HAPPY CLIENTS</h4>\n\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">80+</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">LAYOUTS</h4>\n\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">97</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">PROJECTS</h4>\n\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">215</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">AWARDS</h4>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"145\" data-thumb=\"assets/minimalist-basic/thumbnails/ij06.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n             <h1 class=\"size-48\" style=\"margin:1.2em 0\">Achievements</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-code-working size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-trophy size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"146\" data-thumb=\"assets/minimalist-basic/thumbnails/ij07.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<i class=\"icon ion-android-star-outline size-48\"></i>\n        \t<h2>Achievements</h2>\n        \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-foundation.html#\" class=\"secondary button\">Read More</a>\n            </div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<i class=\"icon ion-trophy size-48\"></i>\n            <h2>Awards</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-foundation.html#\" class=\"secondary button\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"147\" data-thumb=\"assets/minimalist-basic/thumbnails/ij08.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.5em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-ios-people-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">1.200</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-ios-compose-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">879</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-ios-heart-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">3.124</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"148\" data-thumb=\"assets/minimalist-basic/thumbnails/ij09.png\" data-cat=\"29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns center\">\n            <i class=\"icon ion-ios-people-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"large-6 columns center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns center\">\n            <i class=\"icon ion-ios-star-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n        \n\t\t<div class=\"large-6 columns center\">\n            <i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"149\" data-thumb=\"assets/minimalist-basic/thumbnails/ij10.png\" data-cat=\"0,29\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n            <div style=\"border:1px solid black;padding:0 15px 10px;margin-right:1em\">\n            \t<i class=\"icon ion-ios-people-outline size-64\"></i>\n            \t<p style=\"margin-top:0\"><span style=\"margin-top:0;font-size:2em;font-weight:800\">1.234</span><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-8 columns\">\n            <h1>Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t<div style=\"margin:1.7em 0\">\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"150\" data-thumb=\"assets/minimalist-basic/thumbnails/kl01.png\" data-cat=\"0,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<i class=\"icon ion-android-time size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800;margin:0.2em 0\">COMING SOON</h1>\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <p style=\"margin: 1.5em 0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"clearfix is-rounded-button-big\">\n\n\t\t\t    <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n\t\t\t    <a href=\"https://facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t    <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000\"><i class=\"icon ion-social-youtube\"></i></a>\n\n\t\t\t    <a href=\"http://www.website.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-ios-home\"></i></a>\n\n\t\t\t    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"151\" data-thumb=\"assets/minimalist-basic/thumbnails/kl02.png\" data-cat=\"0,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n            <h1 class=\"size-80\" style=\"font-weight:800\">UNDER CONSTRUCTION</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div style=\"margin:1em 0 2.5em;\">\n\n            \t<a href=\"snippets-foundation.html#\" class=\"button\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"152\" data-thumb=\"assets/minimalist-basic/thumbnails/kl03.png\" data-cat=\"0,30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<h3>Company Name</h3>\n\n            <h1 class=\"size-80\" style=\"font-weight:800;\">COMING SOON</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                <a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"153\" data-thumb=\"assets/minimalist-basic/thumbnails/kl04.png\" data-cat=\"30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em\">We are coming very soon</h1>\n\n\t\t\t</div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-4 columns\">\n\n    \t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-3 columns\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-9 columns\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n     \t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-3 columns\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-9 columns\">\n\n                    <p><b>Call us</b><br>(123) 456 7890<br>456 7891</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n\n\t\t\t<div class=\"row\">\n\n\t\t\t\t<div class=\"large-3 columns\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"large-9 columns\">\n\n                    <p>\n\n              \t\t    <strong>Email</strong><br>\n\n              \t\t    <a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"154\" data-thumb=\"assets/minimalist-basic/thumbnails/kl05.png\" data-cat=\"30\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4.3em\">Under Construction</h1>\n\n\t\t        <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            </div>\n\n        </div>\t\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Get Notified</a>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns\">\n\n           \t<br>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"155\" data-thumb=\"assets/minimalist-basic/thumbnails/kl07.png\" data-cat=\"0,30\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"width:100%;max-width:450px;margin: 0 auto\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<i class=\"icon ion-ios-alarm-outline size-64\"></i>\n                \t<h1 style=\"margin-top:0\">Coming Soon!</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<br>\n\t\t\t\t\t<div class=\"is-social\">\n\t\t\t\t\t\t<div class=\"size-21\">\n                \t\t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\t\t\t\t\t\n\t\t\t\t\t\t</div>      \n\t\t\t\t\t</div>   \n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"156\" data-thumb=\"assets/minimalist-basic/thumbnails/kl08.png\" data-cat=\"0,30\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n                    <h1 style=\"font-size:3.5em\">WE ARE CURRENTLY UNDER CONSTRUCTION</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <div class=\"clearfix is-boxed-button-small\" style=\"margin:1.5em 0\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest\"></i></a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"157\" data-thumb=\"assets/minimalist-basic/thumbnails/kl09.png\" data-cat=\"0,30\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"width:100%;max-width:700px;margin:0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<h1 style=\"font-size:3em\">COMING SOON</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<div style=\"margin:2em 0;\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"secondary button\" style=\"border-radius:50px\">Read More</a>\n            \t\t</div>\n\t\t\t\t\t<div style=\"margin:1em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius:50px\">Get Updates</a>          \t\t\n            \t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"158\" data-thumb=\"assets/minimalist-basic/thumbnails/kl10.png\" data-cat=\"30\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<i class=\"icon ion-android-bicycle size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin:0.2em 0\">WE ARE COMING VERY SOON</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <br><br>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h3>Contact Us</h3>\n        \t<p>Company, Inc. 123 Street, City. State 12345. <br>(123) 456 7890 / 456 7891</p>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"159\" data-thumb=\"assets/minimalist-basic/thumbnails/mn01.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<i class=\"icon ion-android-alert size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800\">PAGE NOT FOUND</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n       </div>\t\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">Back to Home Page</a>\n\n           </div>\n\n\t\t</div>\t\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"160\" data-thumb=\"assets/minimalist-basic/thumbnails/mn02.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"clearfix is-rounded-button-medium\">\n\n\t\t\t\t<a href=\"http://www.website.com/\" style=\"background-color: #fff;\"><i style=\"color:#000\" class=\"icon ion-ios-home\"></i></a>\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"161\" data-thumb=\"assets/minimalist-basic/thumbnails/mn03.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1><span style=\"font-size: 3em\">404</span></h1>\n\t\t\t\t\t</div>\n            \t\t<h5>The page you are looking for doesn't exist.</h5>\n \t\t\t\t\t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"button\">Back Home</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"162\" data-thumb=\"assets/minimalist-basic/thumbnails/mn04.png\" data-cat=\"0,31\">\n\n    <div class=\"row\">\n\n        <div class=\"large-12 columns center\">\n\n             <i class=\"icon ion-ios-pulse size-80\"></i>\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4em\">Oops...</h1>\n\n            </div>\n\n            <h1 style=\"font-size: 3em\">Page Not Found</h1>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"163\" data-thumb=\"assets/minimalist-basic/thumbnails/mn05.png\" data-cat=\"0,31\">\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row\">\n\n\t\t<div class=\"large-12 columns center\">\n\n            <div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-foundation.html#\" class=\"button\" style=\"border-radius: 50px\">BACK HOME</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"164\" data-thumb=\"assets/minimalist-basic/thumbnails/mn08.png\" data-cat=\"31\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:6em\">Error <span style=\"font-weight:800\">404</span></h1>\n            <h3 style=\"margin-top:0\">The page you are looking for doesn't exist.</h3>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t\t<a href=\"snippets-foundation.html#\"><i class=\"icon ion-ios-home size-64\"></i></a>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"165\" data-thumb=\"assets/minimalist-basic/thumbnails/mn09.png\" data-cat=\"0,31\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n             <i class=\"icon ion-android-sad size-80\"></i>\n            <h1 style=\"font-size:3em;margin-top:0\">Sorry, this page doesn't exist.</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-foundation.html#\">BACK TO HOMEPAGE</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"166\" data-thumb=\"assets/minimalist-basic/thumbnails/op01.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">OUR SKILLS</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">98%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Design</h3>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">87%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Development</h3>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">100%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Customer Support</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"167\" data-thumb=\"assets/minimalist-basic/thumbnails/op02.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-3 columns center\">\n            <h1 style=\"font-weight:800\">93%</h1>\n            <h3 style=\"font-size:1.2em\">HTML &amp; CSS</h3>\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n            <h1 style=\"font-weight:800\">71%</h1>\n            <h3 style=\"font-size:1.2em\">JavaScript</h3>\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n            <h1 style=\"font-weight:800\">90%</h1>\n            <h3 style=\"font-size:1.2em\">PHP</h3>\n        </div>\n\n\t\t<div class=\"large-3 columns center\">\n            <h1 style=\"font-weight:800\">85%</h1>\n            <h3 style=\"font-size:1.2em\">Photoshop</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"168\" data-thumb=\"assets/minimalist-basic/thumbnails/op03.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns display center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"large-4 columns center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>89%</b></span><br><br>Web Design</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"large-4 columns center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-code size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>92%</b></span><br><br>HTML &amp; CSS</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"large-4 columns\">\n\t\t\t<div class=\"row\">\n            \t<div class=\"large-4 columns center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-settings size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-8 columns center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>81%</b></span><br><br>Marketing</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"169\" data-thumb=\"assets/minimalist-basic/thumbnails/op04.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.2em 0\">TEAM SKILLS</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">89</span>%</h2>\n\t\t\t<h3>Web Design</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n        \n        <div class=\"large-4 columns center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">91</span>%</h2>\n\t\t\t<h3>PHP</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n        \n\t\t<div class=\"large-4 columns center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">95</span>%</h2>\n\t\t\t<h3>HTML &amp; CSS</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"170\" data-thumb=\"assets/minimalist-basic/thumbnails/op05.png\" data-cat=\"0,32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">OUR SKILLS</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">92</span>%</h1>\n\t\t\t\t\t<h3>UX/UI Design</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">88</span>%</h1>\n\t\t\t\t\t<h3>Development</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">65</span>%</h1>\n\t\t\t\t\t<h3>Branding</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"171\" data-thumb=\"assets/minimalist-basic/thumbnails/op07.png\" data-cat=\"32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <h2 style=\"font-size:2.2em;margin-top:0.2em\">Our Skills</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\n\t\t<div class=\"large-8 columns\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"large-6 columns\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">85%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                    <h3 style=\"text-align:center\">Web Design</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"large-6 columns\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">91%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                \t<h3 style=\"text-align:center\">HTML &amp; CSS</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"172\" data-thumb=\"assets/minimalist-basic/thumbnails/op08.png\" data-cat=\"32\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns center\">\n            <h1 style=\"font-size:3em\">Knowledge</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns center\">\n                <i class=\"icon ion-ios-heart-outline size-64\"></i>\n                <h2 style=\"font-size:1.3em;margin-top:0\"><strong>92%</strong>, Web Design</h2>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>78%</strong>, Video Editing</h2>\n        </div>\n\n\t\t<div class=\"large-4 columns center\">\n            <i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>89%</strong>, Web Development</h2>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Category: Title, Sub Title -->\n\n\n<div data-num=\"173\" data-thumb=\"assets/minimalist-basic/thumbnails/b15.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"174\" data-thumb=\"assets/minimalist-basic/thumbnails/b16.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"175\" data-thumb=\"assets/minimalist-basic/thumbnails/b17.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"176\" data-thumb=\"assets/minimalist-basic/thumbnails/b18.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"177\" data-thumb=\"assets/minimalist-basic/thumbnails/b19.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"178\" data-thumb=\"assets/minimalist-basic/thumbnails/b20.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"179\" data-thumb=\"assets/minimalist-basic/thumbnails/b21.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"180\" data-thumb=\"assets/minimalist-basic/thumbnails/b22.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"181\" data-thumb=\"assets/minimalist-basic/thumbnails/b23.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"182\" data-thumb=\"assets/minimalist-basic/thumbnails/b24.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"183\" data-thumb=\"assets/minimalist-basic/thumbnails/b25.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"184\" data-thumb=\"assets/minimalist-basic/thumbnails/b26.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"185\" data-thumb=\"assets/minimalist-basic/thumbnails/b27.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-96 is-title4-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"186\" data-thumb=\"assets/minimalist-basic/thumbnails/b28.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-64 is-title4-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"187\" data-thumb=\"assets/minimalist-basic/thumbnails/b29.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-48 is-title4-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"188\" data-thumb=\"assets/minimalist-basic/thumbnails/b30.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-32 is-title4-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"189\" data-thumb=\"assets/minimalist-basic/thumbnails/b31.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"190\" data-thumb=\"assets/minimalist-basic/thumbnails/b32.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"191\" data-thumb=\"assets/minimalist-basic/thumbnails/b33.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"192\" data-thumb=\"assets/minimalist-basic/thumbnails/b34.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"193\" data-thumb=\"assets/minimalist-basic/thumbnails/b35.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"194\" data-thumb=\"assets/minimalist-basic/thumbnails/b36.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"195\" data-thumb=\"assets/minimalist-basic/thumbnails/b37.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n             <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"196\" data-thumb=\"assets/minimalist-basic/thumbnails/b38.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"197\" data-thumb=\"assets/minimalist-basic/thumbnails/b39.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"198\" data-thumb=\"assets/minimalist-basic/thumbnails/b40.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"199\" data-thumb=\"assets/minimalist-basic/thumbnails/b41.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"200\" data-thumb=\"assets/minimalist-basic/thumbnails/b42.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"201\" data-thumb=\"assets/minimalist-basic/thumbnails/b43.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"202\" data-thumb=\"assets/minimalist-basic/thumbnails/b44.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"203\" data-thumb=\"assets/minimalist-basic/thumbnails/b45.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"204\" data-thumb=\"assets/minimalist-basic/thumbnails/b46.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"205\" data-thumb=\"assets/minimalist-basic/thumbnails/b47.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-96 is-title4-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"206\" data-thumb=\"assets/minimalist-basic/thumbnails/b48.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-64 is-title4-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"207\" data-thumb=\"assets/minimalist-basic/thumbnails/b49.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-48 is-title4-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"208\" data-thumb=\"assets/minimalist-basic/thumbnails/b50.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-32 is-title4-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"209\" data-thumb=\"assets/minimalist-basic/thumbnails/b51.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"210\" data-thumb=\"assets/minimalist-basic/thumbnails/b52.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"211\" data-thumb=\"assets/minimalist-basic/thumbnails/b53.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"212\" data-thumb=\"assets/minimalist-basic/thumbnails/b54.png\" data-cat=\"2\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<!-- Category: Info, Title -->\n\n<div data-num=\"213\" data-thumb=\"assets/minimalist-basic/thumbnails/c02.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<p class=\"size-24 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"214\" data-thumb=\"assets/minimalist-basic/thumbnails/c03.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"215\" data-thumb=\"assets/minimalist-basic/thumbnails/c04.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"216\" data-thumb=\"assets/minimalist-basic/thumbnails/c05.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"217\" data-thumb=\"assets/minimalist-basic/thumbnails/c06.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"218\" data-thumb=\"assets/minimalist-basic/thumbnails/c07.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"219\" data-thumb=\"assets/minimalist-basic/thumbnails/c08.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"220\" data-thumb=\"assets/minimalist-basic/thumbnails/c09.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"221\" data-thumb=\"assets/minimalist-basic/thumbnails/c10.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"222\" data-thumb=\"assets/minimalist-basic/thumbnails/c11.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"223\" data-thumb=\"assets/minimalist-basic/thumbnails/c12.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"224\" data-thumb=\"assets/minimalist-basic/thumbnails/c13.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"225\" data-thumb=\"assets/minimalist-basic/thumbnails/c14.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title4-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"226\" data-thumb=\"assets/minimalist-basic/thumbnails/c15.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title4-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"227\" data-thumb=\"assets/minimalist-basic/thumbnails/c16.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title4-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"228\" data-thumb=\"assets/minimalist-basic/thumbnails/c17.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title4-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"229\" data-thumb=\"assets/minimalist-basic/thumbnails/c18.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"230\" data-thumb=\"assets/minimalist-basic/thumbnails/c19.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"231\" data-thumb=\"assets/minimalist-basic/thumbnails/c20.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"232\" data-thumb=\"assets/minimalist-basic/thumbnails/c21.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"233\" data-thumb=\"assets/minimalist-basic/thumbnails/c22.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<p class=\"size-24 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"234\" data-thumb=\"assets/minimalist-basic/thumbnails/c23.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"235\" data-thumb=\"assets/minimalist-basic/thumbnails/c24.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"236\" data-thumb=\"assets/minimalist-basic/thumbnails/c25.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"237\" data-thumb=\"assets/minimalist-basic/thumbnails/c26.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"238\" data-thumb=\"assets/minimalist-basic/thumbnails/c27.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"239\" data-thumb=\"assets/minimalist-basic/thumbnails/c28.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"240\" data-thumb=\"assets/minimalist-basic/thumbnails/c29.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"241\" data-thumb=\"assets/minimalist-basic/thumbnails/c30.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"242\" data-thumb=\"assets/minimalist-basic/thumbnails/c31.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"243\" data-thumb=\"assets/minimalist-basic/thumbnails/c32.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"244\" data-thumb=\"assets/minimalist-basic/thumbnails/c33.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"245\" data-thumb=\"assets/minimalist-basic/thumbnails/c34.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title4-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"246\" data-thumb=\"assets/minimalist-basic/thumbnails/c35.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title4-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"247\" data-thumb=\"assets/minimalist-basic/thumbnails/c36.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title4-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"248\" data-thumb=\"assets/minimalist-basic/thumbnails/c37.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title4-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"249\" data-thumb=\"assets/minimalist-basic/thumbnails/c38.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"250\" data-thumb=\"assets/minimalist-basic/thumbnails/c39.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"251\" data-thumb=\"assets/minimalist-basic/thumbnails/c40.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"252\" data-thumb=\"assets/minimalist-basic/thumbnails/c41.png\" data-cat=\"3\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Buttons  -->\n\n<div data-num=\"253\" data-thumb=\"assets/minimalist-basic/thumbnails/ce01.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"254\" data-thumb=\"assets/minimalist-basic/thumbnails/ce02.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"255\" data-thumb=\"assets/minimalist-basic/thumbnails/ce03.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"256\" data-thumb=\"assets/minimalist-basic/thumbnails/ce04.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"257\" data-thumb=\"assets/minimalist-basic/thumbnails/ce05.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"258\" data-thumb=\"assets/minimalist-basic/thumbnails/ce06.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"259\" data-thumb=\"assets/minimalist-basic/thumbnails/ce07.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a> &nbsp;\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"260\" data-thumb=\"assets/minimalist-basic/thumbnails/ce08.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"261\" data-thumb=\"assets/minimalist-basic/thumbnails/ce09.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"262\" data-thumb=\"assets/minimalist-basic/thumbnails/ce10.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"263\" data-thumb=\"assets/minimalist-basic/thumbnails/ce11.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"264\" data-thumb=\"assets/minimalist-basic/thumbnails/ce12.png\" data-cat=\"33\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\n            <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- Cards -->\n\n\n<div data-num=\"265\" data-thumb=\"assets/minimalist-basic/thumbnails/de01.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>              \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>    \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>         \n        \t\t</div>\n\t\t\t</div>\n         </div>\n\t</div>\n</div>\n\n<div data-num=\"266\" data-thumb=\"assets/minimalist-basic/thumbnails/de02.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n     \t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t     \t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>  \n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"267\" data-thumb=\"assets/minimalist-basic/thumbnails/de03.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"268\" data-thumb=\"assets/minimalist-basic/thumbnails/de04.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"269\" data-thumb=\"assets/minimalist-basic/thumbnails/de05.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"270\" data-thumb=\"assets/minimalist-basic/thumbnails/de06.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"271\" data-thumb=\"assets/minimalist-basic/thumbnails/de07.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n \t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\t \t\t\n              </div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\t\t\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"272\" data-thumb=\"assets/minimalist-basic/thumbnails/de08.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\t\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"273\" data-thumb=\"assets/minimalist-basic/thumbnails/de09.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"274\" data-thumb=\"assets/minimalist-basic/thumbnails/de10.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\t\n\t</div>\n</div>\n\n<div data-num=\"275\" data-thumb=\"assets/minimalist-basic/thumbnails/de11.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"276\" data-thumb=\"assets/minimalist-basic/thumbnails/de12.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"277\" data-thumb=\"assets/minimalist-basic/thumbnails/de13.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n \t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"278\" data-thumb=\"assets/minimalist-basic/thumbnails/de14.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"279\" data-thumb=\"assets/minimalist-basic/thumbnails/de15.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"280\" data-thumb=\"assets/minimalist-basic/thumbnails/de16.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n        \n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"281\" data-thumb=\"assets/minimalist-basic/thumbnails/de17.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n           <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"282\" data-thumb=\"assets/minimalist-basic/thumbnails/de18.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"283\" data-thumb=\"assets/minimalist-basic/thumbnails/de19.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"284\" data-thumb=\"assets/minimalist-basic/thumbnails/de20.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"large-6 columns\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"285\" data-thumb=\"assets/minimalist-basic/thumbnails/de21.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"286\" data-thumb=\"assets/minimalist-basic/thumbnails/de22.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"287\" data-thumb=\"assets/minimalist-basic/thumbnails/de23.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n             \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"288\" data-thumb=\"assets/minimalist-basic/thumbnails/de24.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"289\" data-thumb=\"assets/minimalist-basic/thumbnails/de25.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"290\" data-thumb=\"assets/minimalist-basic/thumbnails/de26.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"291\" data-thumb=\"assets/minimalist-basic/thumbnails/de27.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>           \n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"292\" data-thumb=\"assets/minimalist-basic/thumbnails/de28.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"293\" data-thumb=\"assets/minimalist-basic/thumbnails/de29.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\t\t<div class=\"large-12 columns\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"294\" data-thumb=\"assets/minimalist-basic/thumbnails/de30.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-4 columns\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-2.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n        \n\t\t<div class=\"large-4 columns\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-3.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"295\" data-thumb=\"assets/minimalist-basic/thumbnails/de31.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-6 columns\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"large-6 columns\">\n           <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-2.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"296\" data-thumb=\"assets/minimalist-basic/thumbnails/de32.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"297\" data-thumb=\"assets/minimalist-basic/thumbnails/de33.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n            <div class=\"is-card is-card-circle is-dark-text\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"298\" data-thumb=\"assets/minimalist-basic/thumbnails/de34.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n            <div class=\"is-card is-card-circle is-dark-text\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"299\" data-thumb=\"assets/minimalist-basic/thumbnails/de35.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"300\" data-thumb=\"assets/minimalist-basic/thumbnails/de36.png\" data-cat=\"34\">\n\t<div class=\"row\">\n\n        <div class=\"large-12 columns\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-foundation.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"301\" data-thumb=\"assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"0,35\">\n    <div class=\"row clearfix\">\n        <div class=\"column full\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"%3Cdiv%20id%3D%22{id}%22%20class%3D%22slider-on-content%22%20style%3D%22width%3A100%25%3Bheight%3A400px%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-b.jpg')%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-a.jpg')%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23{id}%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23{id}%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20true%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%203000%2Cfade%3A%20false%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E\" data-settings=\"%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Atrue%2C%22dots%22%3Atrue%2C%22fade%22%3Afalse%2C%22height%22%3A%22400%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-b.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%2C%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-a.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%5D%7D%5D\">\n        \n        </div>\n    </div>\n</div>\n\n<div data-num=\"302\" data-thumb=\"assets/minimalist-basic/thumbnails/code.png\" data-cat=\"0,100\">\n    <div class=\"row clearfix\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22large-12%20columns%22%3E%0A%0A%3Ch1%20id%3D%22{id}%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n        <div class=\"large-12 columns\">\n\n        </div>\n    </div>\n</div>\n\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/snippets-material.html",
    "content": "\n<!-- Title -->\n\n\n<div data-num=\"1\" data-thumb=\"assets/minimalist-basic/thumbnails/a01.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"2\" data-thumb=\"assets/minimalist-basic/thumbnails/a02.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"3\" data-thumb=\"assets/minimalist-basic/thumbnails/a03.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"4\" data-thumb=\"assets/minimalist-basic/thumbnails/a04.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite is-upper\">Lorem Ipsum is simply dummy text</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"5\" data-thumb=\"assets/minimalist-basic/thumbnails/a05.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"6\" data-thumb=\"assets/minimalist-basic/thumbnails/a06.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"7\" data-thumb=\"assets/minimalist-basic/thumbnails/a07.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"8\" data-thumb=\"assets/minimalist-basic/thumbnails/a08.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"9\" data-thumb=\"assets/minimalist-basic/thumbnails/a09.png\" data-cat=\"0,1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"10\" data-thumb=\"assets/minimalist-basic/thumbnails/a10.png\" data-cat=\"1\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<!---->\n\n\n<div data-num=\"11\" data-thumb=\"assets/minimalist-basic/thumbnails/c01.png\" data-cat=\"0\">\n\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"display\">\n\t\t\t    <p class=\"size-21 is-info2\"><i>This is a special report</i></p>\n                <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"12\" data-thumb=\"assets/minimalist-basic/thumbnails/g01.png\" data-cat=\"0,6\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"13\" data-thumb=\"assets/minimalist-basic/thumbnails/e01.png\" data-cat=\"0,5\">\n\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <h1>Heading 1 Text Goes Here</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"14\" data-thumb=\"assets/minimalist-basic/thumbnails/e02.png\" data-cat=\"0,5\">\n\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <h2>Heading 2 Text Goes Here</h2>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"15\" data-thumb=\"assets/minimalist-basic/thumbnails/e09.png\" data-cat=\"0,5\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<h1>Lorem Ipsum</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/e09-1.jpg\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"16\" data-thumb=\"assets/minimalist-basic/thumbnails/v01.png\" data-cat=\"0,19\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <hr>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"17\" data-thumb=\"assets/minimalist-basic/thumbnails/v02.png\" data-cat=\"0,19\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <br><br>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"18\" data-thumb=\"assets/minimalist-basic/thumbnails/b01.png\" data-cat=\"0\">\n\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Beautiful Content. Responsive.</h1>\n                <p class=\"size-21\"><i>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</i></p>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"19\" data-thumb=\"assets/minimalist-basic/thumbnails/b12.png\" data-cat=\"0\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b12-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t</div>\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Lorem Ipsum is Simply</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text</p>\n\n\t\t\t</div>\n\n\t\t\t<p style=\"text-align: center\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"20\" data-thumb=\"assets/minimalist-basic/thumbnails/b14.png\" data-cat=\"0\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Beautiful Content</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-1.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-2.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-3.jpg\">\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"21\" data-thumb=\"assets/minimalist-basic/thumbnails/g02.png\" data-cat=\"0,6\">\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g02-1.jpg\">\n\n        \t</div>\n\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"22\" data-thumb=\"assets/minimalist-basic/thumbnails/g03.png\" data-cat=\"0,6\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       \t\t </div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\">\n\n       \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"23\" data-thumb=\"assets/minimalist-basic/thumbnails/h01.png\" data-cat=\"0,6\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"24\" data-thumb=\"assets/minimalist-basic/thumbnails/h02.png\" data-cat=\"0,6\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\t\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"25\" data-thumb=\"assets/minimalist-basic/thumbnails/o01.png\" data-cat=\"0,12\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/o01-1.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"26\" data-thumb=\"assets/minimalist-basic/thumbnails/k06.png\" data-cat=\"0,9\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-2.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"27\" data-thumb=\"assets/minimalist-basic/thumbnails/k02.png\" data-cat=\"0,9\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-2.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-3.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"28\" data-thumb=\"assets/minimalist-basic/thumbnails/k01.png\" data-cat=\"0,9\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-2.jpg\">\n\n               \t \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"29\" data-thumb=\"assets/minimalist-basic/thumbnails/p01.png\" data-cat=\"0,13\">\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p01-1.jpg\">\n\n       \t \t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n           \t\t<div class=\"display\">\n\n               \t\t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"30\" data-thumb=\"assets/minimalist-basic/thumbnails/p02.png\" data-cat=\"0,13\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<div class=\"display\">\n\n                \t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"31\" data-thumb=\"assets/minimalist-basic/thumbnails/p03.png\" data-cat=\"13\">\n\n \t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p03-1.jpg\">\n\n        \t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n            \t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"32\" data-thumb=\"assets/minimalist-basic/thumbnails/p04.png\" data-cat=\"13\">\n\n \t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p04-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"33\" data-thumb=\"assets/minimalist-basic/thumbnails/p05.png\" data-cat=\"0,13\">\n\n  <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"display center\">\n\n                <h1>Beautiful content. Responsive.</h1>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n         </div>\n\n    </div>\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"34\" data-thumb=\"assets/minimalist-basic/thumbnails/p06.png\" data-cat=\"0,13\">\n\n <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"display center\">\n\n                <h1 style=\"font-size:4em\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n\n        </div>\n\n    </div>\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"35\" data-thumb=\"assets/minimalist-basic/thumbnails/p07.png\" data-cat=\"0,13\">\n\n <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\">Read More</a> &nbsp;\n\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Download</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"36\" data-thumb=\"assets/minimalist-basic/thumbnails/q01.png\" data-cat=\"0,14\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--6-col\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--6-col\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div> \t\n\n</div>\n\n\n\n<div data-num=\"37\" data-thumb=\"assets/minimalist-basic/thumbnails/q02.png\" data-cat=\"0,14\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div> \t\n\n</div>\n\n\n<div data-num=\"38\" data-thumb=\"assets/minimalist-basic/thumbnails/q30.png\" data-cat=\"0,14\">\n\n    <div class=\"mdl-grid\">\n        <div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n    </div>\n\n</div>\n\n<div data-num=\"39\" data-thumb=\"assets/minimalist-basic/thumbnails/q31.png\" data-cat=\"0,14\">\n\n    <div class=\"mdl-grid\">\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t\t<i class=\"icon ion-android-create size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\t\t\n       </div><div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n    </div>\n\n</div>\n\n\n<div data-num=\"40\" data-thumb=\"assets/minimalist-basic/thumbnails/r01.png\" data-cat=\"0,15\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"41\" data-thumb=\"assets/minimalist-basic/thumbnails/r02.png\" data-cat=\"0,15\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--6-col\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--6-col\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"42\" data-thumb=\"assets/minimalist-basic/thumbnails/r03.png\" data-cat=\"0,15\">\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col center\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r03-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"43\" data-thumb=\"assets/minimalist-basic/thumbnails/r04.png\" data-cat=\"0,15\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n       \t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r04-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n\n\n<div data-num=\"44\" data-thumb=\"assets/minimalist-basic/thumbnails/s01.png\" data-cat=\"0,16\">\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--2-col center\">\n\n                <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s01-1.jpg\" style=\"border-radius:500px;margin-top:5px;\"></p>\n\n        \t</div>\n\n\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n            \t\t<p>\n\n                \t<b>Sara Phillipps</b><br>A freelance web designer &amp; developer based in Melbourne, Australia.\n\n            \t\t</p>\n\n            \t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<!--<a href=\"#\"><i class=\"icon ion-social-github\"></i></a>\n\n                \t\t<a href=\"snippets-material.html#\"><i class=\"icon ion-social-dribbble\"></i></a>\n\n                \t\t<a href=\"snippets-material.html#\"><i class=\"icon ion-social-pinterest\"></i></a>\n\n                \t\t<a href=\"snippets-material.html#\"><i class=\"icon ion-social-linkedin\"></i></a>\n\n                \t\t<a href=\"snippets-material.html#\"><i class=\"icon ion-social-instagram\"></i></a>-->\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n           \t \t</div>\n\n       \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"45\" data-thumb=\"assets/minimalist-basic/thumbnails/s03.png\" data-cat=\"0,16\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n            \n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s03-1.jpg\">\n\n \t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n\t\t\t<h2>Lorem Ipsum</h2>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"46\" data-thumb=\"assets/minimalist-basic/thumbnails/s10.png\" data-cat=\"0,24\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t        <div class=\"mdl-grid\">\n\n\t\t\t    <div class=\"mdl-cell mdl-cell--4-col center\">\n\n\t\t\t\t    <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s10-1.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"mdl-cell mdl-cell--8-col\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t        <div class=\"mdl-grid\">\n\n\t\t\t    <div class=\"mdl-cell mdl-cell--4-col center\">\n\n\t\t\t\t    <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s10-2.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"mdl-cell mdl-cell--8-col\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"47\" data-thumb=\"assets/minimalist-basic/thumbnails/t01.png\" data-cat=\"0,17,22\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"48\" data-thumb=\"assets/minimalist-basic/thumbnails/t02.png\" data-cat=\"0,17,22\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--8-col\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n            <h3>Get in Touch</h3>\n\n            <p>\n\n              <strong>Company, Inc.</strong><br>\n\n              123 Street, City<br>\n\n              State 12345<br>\n\n              P: (123) 456 7890 / 456 7891\n\n            </p>\n\n\n\n            <p>\n\n              <strong>Full Name</strong><br>\n\n              <a href=\"mailto:#\">first.last@example.com</a>\n\n            </p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"49\" data-thumb=\"assets/minimalist-basic/thumbnails/o02.png\" data-cat=\"0,20\">\n\n \t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"50\" data-thumb=\"assets/minimalist-basic/thumbnails/e13.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col center\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\" style=\"margin-right:20px\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"51\" data-thumb=\"assets/minimalist-basic/thumbnails/e14.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"52\" data-thumb=\"assets/minimalist-basic/thumbnails/u04.png\" data-cat=\"0,18\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\n            <div class=\"clearfix is-boxed-button-big\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\t\n                <a href=\"http://www.website.com/\" style=\"background-color: #0569AA;\"><i class=\"icon ion-android-home\"></i></a>\t\t\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<!-- End of Default -->\n\n\n\n<div data-num=\"53\" data-thumb=\"assets/minimalist-basic/thumbnails/n15.png\" data-cat=\"11\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-1.jpg\">\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-2.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"54\" data-thumb=\"assets/minimalist-basic/thumbnails/n16.png\" data-cat=\"11\">\n\n\t<div class=\"mdl-grid\">\n\n\t    <div class=\"mdl-cell mdl-cell--4-col\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-1.jpg\">\t\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-2.jpg\">\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-3.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"55\" data-thumb=\"assets/minimalist-basic/thumbnails/p34.png\" data-cat=\"0,13\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Beautiful Content</h1>\n\n\t\t\t</div>\n\n \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p34-1.png\">\n        \n\n\t\t\t</div>\n\n\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n                \t\t<h2>Responsive.</h2>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                \t\t<div style=\"margin:1.3em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px;\">Read More</a>\n\n            \t\t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\t\n\n<div data-num=\"56\" data-thumb=\"assets/minimalist-basic/thumbnails/p35.png\" data-cat=\"0,13\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<i class=\"icon ion-leaf size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t<div class=\"display\">\n\n                \t<h1 style=\"font-size: 3.5em; margin:0.2em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t</div>\n\n           <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t    <div style=\"margin:1em 0\">\n\n           \t\t\t <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">READ MORE</a>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"57\" data-thumb=\"assets/minimalist-basic/thumbnails/p36.png\" data-cat=\"13\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-21\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n            \t\t<div class=\"display\">\n\n                \t\t    <h1 style=\"margin:0.3em 0; font-size: 4em\">Beautiful Content. Responsive.</h1>\n\n            \t\t </div>\n\n                    <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"58\" data-thumb=\"assets/minimalist-basic/thumbnails/p38.png\" data-cat=\"0,13\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t\t<div class=\"display center\">\n\n            \t\t<h1>Beautiful content.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            \t\t\n\t\t\t\t</div>\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\n\n\t\t\t<div style=\"margin:1em 0 2.5em;\">\n\n           \t\t   <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\">Read More</a> &nbsp;\n\n            \t\t   <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Download</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"59\" data-thumb=\"assets/minimalist-basic/thumbnails/p42.png\" data-cat=\"0,13\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p42-1.jpg\">\n\t\t\t<h3>BEAUTIFUL CONTENT. RESPONSIVE.</h3>\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Lorem Ipsum is simply text of the printing industry</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div style=\"margin:0.5em 0 2.5em;\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"assets/minimalist-basic/thumbnails/p43.png\" data-cat=\"0,13\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            \t<div class=\"clearfix is-rounded-button-medium\">\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t             \t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>    \n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>           \t\t\t\n\t\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin-top:0.5em;font-size:3.7em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div style=\"margin:1em 0;\">        \n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">GET STARTED</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"assets/minimalist-basic/thumbnails/p44.png\" data-cat=\"0,13\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"font-size:3.4em\">Lorem Ipsum is simply text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t            <a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>    \n                    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>   \n                    <a href=\"https://www.instagram.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-social-instagram-outline\"></i></a>         \t\t\t\n\t\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <div style=\"margin:2em 0\">\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"assets/minimalist-basic/thumbnails/p46.png\" data-cat=\"0,13\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h1 style=\"font-size:3.5em;margin-top:0\">Beautiful Content. Responsive.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <div style=\"margin:1em 0\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Watch Video</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"assets/minimalist-basic/thumbnails/p47.png\" data-cat=\"0,13\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\" font-size: 4em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n           <div style=\"margin:1em 0 2.5em;\">\n            <a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">GET STARTED TODAY</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n           <div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"padding:0; width:80px; height:80px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"assets/minimalist-basic/thumbnails/p50.png\" data-cat=\"13\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t<div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"btn btn-primary\" style=\"padding:0; width:90px; height:90px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n                <h1 style=\"font-size:3em\">Beautiful content. Responsive</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n         </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <div style=\"margin:2em 0\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Get Started</a>\n            </div>\n        </div>\n\t</div>\n</div>\t\n\n<div data-num=\"65\" data-thumb=\"assets/minimalist-basic/thumbnails/q20.png\" data-cat=\"14\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>        \n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q20-1.png\">\n\n\n        \t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n               \t \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"66\" data-thumb=\"assets/minimalist-basic/thumbnails/q21.png\" data-cat=\"14\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-1.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-2.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-3.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n\n<div data-num=\"67\" data-thumb=\"assets/minimalist-basic/thumbnails/q24.png\" data-cat=\"14\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n       </div>\n\n       <div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n       <div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-create size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\t\t\t\n       </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"68\" data-thumb=\"assets/minimalist-basic/thumbnails/q25.png\" data-cat=\"14\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size: 3em\">Best Features</h1> \n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-heart-outline size-64\"></i></p>\n\t\t</div>\n\t\t\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t\t\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-mic-outline size-64\"></i></p>\n\t\t</div>\n\t\t\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-paperplane size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-film-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"assets/minimalist-basic/thumbnails/q26.png\" data-cat=\"14\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q26-1.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q26-2.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"assets/minimalist-basic/thumbnails/q27.png\" data-cat=\"14\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>     \n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<i class=\"icon ion-android-download size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"assets/minimalist-basic/thumbnails/q28.png\" data-cat=\"14\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t<h1 style=\"font-size: 3em\">Product Features</h1>     \n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n                <i class=\"icon ion-compose size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n                <i class=\"icon ion-android-favorite-outline size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"assets/minimalist-basic/thumbnails/q29.png\" data-cat=\"14\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Product Features</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-camera-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"73\" data-thumb=\"assets/minimalist-basic/thumbnails/r22.png\" data-cat=\"0,15\">\n\n    \t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Customer Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"74\" data-thumb=\"assets/minimalist-basic/thumbnails/r23.png\" data-cat=\"0,15\">\n\n    \t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t <i class=\"icon ion-quote size-80\" style=\"color: #C0C0C0\"></i>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-1.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-2.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-3.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"75\" data-thumb=\"assets/minimalist-basic/thumbnails/r25.png\" data-cat=\"0,15\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">Happy Customers</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r25-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r25-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t<p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"76\" data-thumb=\"assets/minimalist-basic/thumbnails/r27.png\" data-cat=\"15\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">Testimonials</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"77\" data-thumb=\"assets/minimalist-basic/thumbnails/r28.png\" data-cat=\"0,15\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">What People Say About Us</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r28-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r28-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"78\" data-thumb=\"assets/minimalist-basic/thumbnails/u10.png\" data-cat=\"0,18\">\n\n\t<div class=\"mdl-grid\">\n\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em\">Beautiful Content. Responsive.</h1>\n\n            \t\t    </div>\n\n                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.  Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t<div class=\"clearfix is-rounded-button-medium\">\n\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>           \t\t\t\n\n\t\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"79\" data-thumb=\"assets/minimalist-basic/thumbnails/u11.png\" data-cat=\"0,18\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em; margin:0.5em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>           \t\t\t\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"80\" data-thumb=\"assets/minimalist-basic/thumbnails/u12.png\" data-cat=\"0,18\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n\t\t\t<div class=\"display\">\n\n                            <h1>Lorem Ipsum is simply text</h1>\n\n\t\t\t</div>\n\n                        <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"clearfix is-boxed-button-big2\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\t\t\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"81\" data-thumb=\"assets/minimalist-basic/thumbnails/u13.png\" data-cat=\"0,18\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"display\">\n            \t<h1 style=\"font-size:3.5em\">Beautiful content. Responsive.</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"82\" data-thumb=\"assets/minimalist-basic/thumbnails/u14.png\" data-cat=\"18\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;letter-spacing:8px\">BEAUTIFUL CONTENT. RESPONSIVE.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet.</p>\n\t\t\t<br>\n\t\t\t <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t</div>\n</div>\n\n\n<div data-num=\"83\" data-thumb=\"assets/minimalist-basic/thumbnails/w01.png\" data-cat=\"0,21\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-gear-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-world-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-calendar-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"84\" data-thumb=\"assets/minimalist-basic/thumbnails/w02.png\" data-cat=\"0,21\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            \t\t <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-heart-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-compose-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-gear-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-calendar-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-clock-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-laptop size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"85\" data-thumb=\"assets/minimalist-basic/thumbnails/w04.png\" data-cat=\"0,21\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1>Beautiful content. Responsive.</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/w04-1.png\">\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            \t\t\n            <div style=\"margin:30px 0 0 0\">\n                <p><i class=\"icon ion-ios-heart-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-compose-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-gear-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\t\t\t</div>\n\n     \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"86\" data-thumb=\"assets/minimalist-basic/thumbnails/w05.png\" data-cat=\"21\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n                    <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/w05-1.png\">\n\n        \t</div>\n\n\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n                \t\t<h3>Beautiful Content. Responsive.</h3>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-camera-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n<div data-num=\"87\" data-thumb=\"assets/minimalist-basic/thumbnails/w06.png\" data-cat=\"0,21\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Beautiful Content</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Responsive</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Typesetting</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Simply Text</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"88\" data-thumb=\"assets/minimalist-basic/thumbnails/w07.png\" data-cat=\"0,21\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t<h1 style=\"font-size:3em\">SERVICES</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n        </div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<i class=\"icon ion-ios-filing-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"89\" data-thumb=\"assets/minimalist-basic/thumbnails/w10.png\" data-cat=\"0,21\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t<h1 style=\"text-align: center; font-size:3em;margin:1.5em 0\">Our Services</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n       \t \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-mic-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n         \t</div>\n        </div>\n    </div>\n</div>\n\n\n\n<div data-num=\"90\" data-thumb=\"assets/minimalist-basic/thumbnails/x01.png\" data-cat=\"0,22\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Contact Us</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel.</p>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<h3>Address</h3>\n\n         \t\t<p>\n\n              \t\t<strong>Company, Inc.</strong><br>\n\n              \t\t123 Street, City<br>\n\n              \t\tState 12345<br>\n\n              \t\tP: (123) 456 7890 / 456 7891\n\n            \t</p>\n\n\t    </div>\n\n\t    <div class=\"mdl-cell mdl-cell--6-col\">\n\n            <div class=\"mdl-grid\">\n\n\t\t\t    <div class=\"mdl-cell mdl-cell--12-col\">\n\n\t\t\t\t    <h3>Stay in Touch</h3>\n\n            \t    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n                    <div class=\"clearfix is-boxed-button-medium2\">\n                        <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    </div>\n\n\t\t\t    </div>\n\n            </div>\n\n\n\t    </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"91\" data-thumb=\"assets/minimalist-basic/thumbnails/x05.png\" data-cat=\"22\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n               <h1 style=\"font-size: 3em\">Contact Us</h1>\n\n               <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n            <div class=\"mdl-grid\">\n\n\t\t\t    <div class=\"mdl-cell mdl-cell--12-col\">  \n\n\t\t\t\t    <h3>OFFICE ONE</h3>\n\n\t\t\t    </div>\n\n            </div>\n\n\t\t    <div class=\"mdl-grid\">                        \n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t   \t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n             </div>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n                <div class=\"mdl-cell mdl-cell--12-col\">  \n\n\t\t\t\t    <h3>OFFICE TWO</h3>\n\n                </div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"mdl-grid\">                       \n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n                   \t<p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"92\" data-thumb=\"assets/minimalist-basic/thumbnails/x09.png\" data-cat=\"22\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <i class=\"icon ion-ios-location-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <i class=\"icon ion-ios-telephone-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Call Us</h3>\n  \t\t\t<p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <i class=\"icon ion-ios-email-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Email</h3>\n  \t\t\t<p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Social Media</h3>\n  \t\t\t<p><a href=\"https://www.facebook.com\">Facebook</a><br><a href=\"https://twitter.com\">Twitter</a><br></p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"93\" data-thumb=\"assets/minimalist-basic/thumbnails/x10.png\" data-cat=\"0,17,22\">\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <p>\n              <span style=\"font-size:1.2em\"><b>Company, Inc.</b></span><br>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>          \n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"embed-responsive embed-responsive-16by9\">\n            \t<iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n            </div>\n        </div>\n\t</div>\t\n</div>\n\n\n<div data-num=\"94\" data-thumb=\"assets/minimalist-basic/thumbnails/x11.png\" data-cat=\"0,22\">\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <h3>\n\t\t\t\t<i class=\"icon ion-ios-location-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Address</span>\n\t\t\t</h3>\n            <p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n        \t<h3>\n \t\t\t\t<i class=\"icon ion-iphone size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Phone</span>\n\t\t\t</h3>\n            <p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-email-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Email</span>\n\t\t\t</h3>\n            <p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"assets/minimalist-basic/thumbnails/x12.png\" data-cat=\"0,22\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1>Contact Us</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/x12-1.jpg\" style=\"margin-top: 0px;\">\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <h3 style=\"margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"is-social\">\n                <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"96\" data-thumb=\"assets/minimalist-basic/thumbnails/y01.png\" data-cat=\"0,23\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Ready to Purchase?</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1>$<span style=\"font-size: 2.7em;\">59</span></h1>\n\t\t\t\t\t</div>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t<div style=\"margin:2.5em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Purchase</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"97\" data-thumb=\"assets/minimalist-basic/thumbnails/y02.png\" data-cat=\"0,23\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:30px;\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t   \t\t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Purchase</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:30px;\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">99</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Purchase</a>\t\n                \t</div>\n           \t\t</div>    \n        \t</div>\n\t\t</div>\n\t</div>\n\t\n</div>\n\n\n\n<div data-num=\"98\" data-thumb=\"assets/minimalist-basic/thumbnails/y03.png\" data-cat=\"0,23\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n                    \t\t<h1 style=\"font-size: 3.5em\">Pricing</h1>\n\n\t\t\t</div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t    \t<h3>Personal</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Purchase</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">59</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Professional</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Purchase</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">89</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Business</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Purchase</a>           \t\t\n                \t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div data-num=\"99\" data-thumb=\"assets/minimalist-basic/thumbnails/y04.png\" data-cat=\"0,23\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing Plans</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Standard</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Professional</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">79</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Business</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"100\" data-thumb=\"assets/minimalist-basic/thumbnails/y05.png\" data-cat=\"0,23\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\t    \n\t\t\t\t\t<h3>Personal</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t    \n\t\t\t\t\t<h3>Professional</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">39</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t\t    \n\t\t\t\t\t<h3>Business</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">49</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"101\" data-thumb=\"assets/minimalist-basic/thumbnails/y06.png\" data-cat=\"0,23\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:0.5em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\t\t\t</div>\n            <h3>Basic</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\t\t\t</div>\n            <h3>Professional</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n           \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t</div>\n            <h3>Business</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Choose Plan</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"102\" data-thumb=\"assets/minimalist-basic/thumbnails/y07.png\" data-cat=\"0,23\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:1em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>PRO</h2>\n\t\t\t\t\t<p style=\"font-size:1.3em;color:#808080\"><i>$29 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>BUSINESS</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$39 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>DEVELOPER</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$59 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"103\" data-thumb=\"assets/minimalist-basic/thumbnails/y08.png\" data-cat=\"0,23\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing Plans</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<h1>Basic</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">19</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<h1>Professional</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">39</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<h1>Business</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">49</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"104\" data-thumb=\"assets/minimalist-basic/thumbnails/y09.png\" data-cat=\"0,23\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.7em;margin:1em 0\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Basic</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">29</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Pro</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">39</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"assets/minimalist-basic/thumbnails/y10.png\" data-cat=\"0,23\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<h1 style=\"font-size: 4em;margin:1em 0\">Pricing Plans</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Basic</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">39</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Professional</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">49</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Business</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">59</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"106\" data-thumb=\"assets/minimalist-basic/thumbnails/z01.png\" data-cat=\"0,24\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Meet The Team</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z01-1.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>          \n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z01-2.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>         \n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"107\" data-thumb=\"assets/minimalist-basic/thumbnails/z02.png\" data-cat=\"0,24\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t\t<h1 style=\"font-size: 3em\">Meet The Team</h1>\n\t\t    \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        \t</div>\n\t</div>\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t    <div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z02-2.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    \t</div>\n\t    <div class=\"mdl-cell mdl-cell--6-col\">\n\t\t    <div class=\"mdl-grid\">\n\t\t\t    <div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z02-3.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\t\t\t\t    \n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    </div>\n    \t</div>\n</div>\n\n\n<div data-num=\"108\" data-thumb=\"assets/minimalist-basic/thumbnails/z03.png\" data-cat=\"0,24\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Our Team</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z03-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z03-2.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"109\" data-thumb=\"assets/minimalist-basic/thumbnails/z05.png\" data-cat=\"0,24\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            \t<h1 style=\"margin:1.2em 0;font-size:3em\">Meet The Team</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\t\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>              \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>    \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>         \n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"110\" data-thumb=\"assets/minimalist-basic/thumbnails/z06.png\" data-cat=\"0,24\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1>Our Team</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-4.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"111\" data-thumb=\"assets/minimalist-basic/thumbnails/z07.png\" data-cat=\"0,24\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n                <h1>Meet Our Team</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z07-1.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\t\t\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>   \n\t\t</div>\n\t\t\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z07-2.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\t\t\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>   \n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"112\" data-thumb=\"assets/minimalist-basic/thumbnails/z09.png\" data-cat=\"0,24\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Meet The Team</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z09-1.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z09-2.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>  \n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"113\" data-thumb=\"assets/minimalist-basic/thumbnails/ab01.png\" data-cat=\"0,25\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n\t\t\t<div class=\"display center\">\n\n            \t<h1>Portfolio</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-1.jpg\">\t\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-2.jpg\">\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-3.jpg\">\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-4.jpg\">\t\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-5.jpg\">\n\n        </div>\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-6.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"114\" data-thumb=\"assets/minimalist-basic/thumbnails/ab02.png\" data-cat=\"0,25\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <h1 style=\"font-size: 3em\">Our Works</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            \n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-1.jpg\">\n\n\t\t    <p><b>Beautiful Content</b><br>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-2.jpg\">\n\n\t\t    <p><b>Printing and Typesetting</b><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-3.jpg\">\n\n\t\t    <p><b>Simply Dummy Text</b><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Vivamus leo ante, consectetur sit amet vulputate vel. </p>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"115\" data-thumb=\"assets/minimalist-basic/thumbnails/ab03.png\" data-cat=\"25\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Products</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-1.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n           \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Buy Now</a>\n\n           \t \t</div>\n\t\t\t</div>\n    \t</div>   \t\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-2.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Buy Now</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-3.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Buy Now</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"116\" data-thumb=\"assets/minimalist-basic/thumbnails/ab06.png\" data-cat=\"0,25\">\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-1.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-2.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-3.jpg\">\n\t\t</div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"display\">\n                <h1 style=\"font-size:3.3em\">Portfolio</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            </div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n         </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">VIEW PROJECT</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"117\" data-thumb=\"assets/minimalist-basic/thumbnails/ab07.png\" data-cat=\"0,25\">\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-1.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product One</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Buy Now</a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-2.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Two</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-3.jpg\" style=\"border-radius: 500px\">\t\t\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Three</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n     \t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"118\" data-thumb=\"assets/minimalist-basic/thumbnails/ab10.png\" data-cat=\"0,25\">\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<i class=\"icon ion-ios-cart size-64\" style=\"color: #333\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab10-1.jpg\">\n        </div>\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"mdl-cell mdl-cell--6-col\">\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab10-2.jpg\">\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"assets/minimalist-basic/thumbnails/cd01.png\" data-cat=\"0,26\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-archive size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"120\" data-thumb=\"assets/minimalist-basic/thumbnails/cd03.png\" data-cat=\"0,26\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\n\t\t\t\t<h4>Step<span style=\"font-size: 4em\"><b>1</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>2</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>3</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"121\" data-thumb=\"assets/minimalist-basic/thumbnails/cd04.png\" data-cat=\"0,26\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <h1 style=\"font-size: 3em\">The Process</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 1</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-edit size-96\"></i>\n\n\t\t\t\t<h3>STEP 2</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-gear-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 3</h3>\n\n           \t <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-heart-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 4</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"122\" data-thumb=\"assets/minimalist-basic/thumbnails/cd06.png\" data-cat=\"0,26\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-compose-outline size-64\"></i>\t\t\t\n\t\t\t    \t<h3 style=\"margin-top:0\">Step One</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<i class=\"icon ion-ios-gear-outline size-64\"></i>\t\t\t\t\n\t\t\t    \t<h3 style=\"margin-top:0\">Step Two</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-paperplane-outline size-64\"></i>\t\t\t\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Step Three</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"123\" data-thumb=\"assets/minimalist-basic/thumbnails/cd07.png\" data-cat=\"0,26\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Work Steps</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">4</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"124\" data-thumb=\"assets/minimalist-basic/thumbnails/cd08.png\" data-cat=\"0,26\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n \t\t\t\t\t<p><i class=\"icon ion-android-bulb size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step One</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\t\t\t\t\t<p><i class=\"icon ion-android-settings size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Two</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n \t\t\t\t\t<p><i class=\"icon ion-android-favorite-outline size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Three</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--2-col\">\n\t\t\t\t\t<p><i class=\"icon ion-paper-airplane size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--10-col\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Four</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"125\" data-thumb=\"assets/minimalist-basic/thumbnails/cd09.png\" data-cat=\"0,26\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"126\" data-thumb=\"assets/minimalist-basic/thumbnails/cd10.png\" data-cat=\"0,26\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"margin:1.5em 0;font-size:3.2em\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 01</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 02</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t   \t \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"127\" data-thumb=\"assets/minimalist-basic/thumbnails/ef01.png\" data-cat=\"0,27\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<h1>Our Clients</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n                  \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-1.png\">\n\n\t\t\t\t\t<p>Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n                   <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-2.png\">\n\n\t\t\t\t\t<p>Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n                   <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-3.png\">\n\n\t\t\t\t\t<p>Company Three</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"128\" data-thumb=\"assets/minimalist-basic/thumbnails/ef02.png\" data-cat=\"0,27\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3em\">Our Clients</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-1.png\">\n\n\t\t\t    <p>Company One</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-2.png\">\n\n\t\t\t    <p>Company Two</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-3.png\">\n\n\t\t\t    <p>Company Three</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-4.png\">\n\n\t\t\t    <p>Company Four</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-5.png\">\n\n\t\t\t    <p>Company Five</p>\n\n\t\t    </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"129\" data-thumb=\"assets/minimalist-basic/thumbnails/ef03.png\" data-cat=\"0,27\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em; margin:0.2em 0.5em\">Our Partners</h1>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-4.png\">\n\n\t\t\t<p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\t\n\n</div>\n\n\n<div data-num=\"130\" data-thumb=\"assets/minimalist-basic/thumbnails/ef05.png\" data-cat=\"27\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <h1>Our Partners</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n             <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-1.png\">\n             \n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t</div>\t\n\n</div>\n\n<div data-num=\"131\" data-thumb=\"assets/minimalist-basic/thumbnails/ef08.png\" data-cat=\"27\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">Our Clients</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-1.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-2.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-3.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-4.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-5.png\">\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"132\" data-thumb=\"assets/minimalist-basic/thumbnails/ef09.png\" data-cat=\"0,27\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">Our Partners</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-1.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-2.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-3.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-4.png\">\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"133\" data-thumb=\"assets/minimalist-basic/thumbnails/gh01.png\" data-cat=\"0,28\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\t\n\n\t</div>\t\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-1.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-2.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-3.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Three</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"134\" data-thumb=\"assets/minimalist-basic/thumbnails/gh02.png\" data-cat=\"0,28\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-3.png\">\n\n\t\t    <p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-4.png\">\n\n\t\t    <p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"135\" data-thumb=\"assets/minimalist-basic/thumbnails/gh03.png\" data-cat=\"0,28\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-1.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company One</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-2.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Two</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-3.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Three</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-4.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<h3>Company Four</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"136\" data-thumb=\"assets/minimalist-basic/thumbnails/gh05.png\" data-cat=\"28\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-1.png\">\n\n\t\t\t\t<h3>Company One</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-2.png\">\n\n\t\t\t\t<h3>Company Two</h3>\n\n        \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-3.png\">\n\n\t\t\t\t<h3>Company Three</h3>\n\n    \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n    \t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"137\" data-thumb=\"assets/minimalist-basic/thumbnails/gh07.png\" data-cat=\"28\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-1.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-2.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-3.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"138\" data-thumb=\"assets/minimalist-basic/thumbnails/gh08.png\" data-cat=\"0,28\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-1.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company One</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-2.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Two</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-3.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Three</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-4.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Four</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"139\" data-thumb=\"assets/minimalist-basic/thumbnails/gh09.png\" data-cat=\"0,28\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-1.png\">\t\t\t\n\t\t\t    \t<h3>Company One</h3> \n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-2.png\">\t\t\t\n\t\t\t    \t<h3>Company Two</h3>\t\t\t  \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-3.png\">\t\t\n\t\t\t \t\t<h3>Company Three</h3>\t\t\t \n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"140\" data-thumb=\"assets/minimalist-basic/thumbnails/ij01.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"mdl-grid\">\n            \t<div class=\"mdl-cell mdl-cell--4-col center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>359</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"mdl-grid\">\n            \t<div class=\"mdl-cell mdl-cell--4-col center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>620</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"mdl-grid\">\n            \t<div class=\"mdl-cell mdl-cell--4-col center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-trophy size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>117</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"141\" data-thumb=\"assets/minimalist-basic/thumbnails/ij02.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\t\n\t\t\t<div class=\"is-card is-dark-text\" style=\"display:table;border-radius: 20px;width: 250px;\">\t\t\t\t\n   \t\t\t\t<div style=\"display:table-cell;vertical-align: middle;text-align:center\">\t\t\n\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\" style=\"vertical-align: middle;margin-right: 20px;\"></i>\n\t\t\t\t\t<b style=\"font-weight: 800;font-size: 2.2em;\">150+</b>\n  \t\t\t\t</div>\n\t\t\t</div>\t\t\t\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            \t\t<div class=\"mdl-grid\">\n                \t\t<div class=\"mdl-cell mdl-cell--12-col\">               \t\t\n                \t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>More than 150 people believed us.</h3>\n                    \t\t\t</div>\n                    \t\t</div>                 \t\t\t\n                \t\t</div>\n           \t\t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            \t\t<div class=\"mdl-grid\">\n                \t\t<div class=\"mdl-cell mdl-cell--12-col\">\n           \t\t\t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>Find Us:</h3>\n                    \t\t\t\t<div class=\"clearfix is-boxed-button-small\">\n                        \t\t\t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        \t\t\t\t<a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                        \t\t\t\t<a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                    \t\t\t\t</div>\n                    \t\t\t</div>                 \t\t\t\n                \t\t\t</div>\t\t     \t\t\t\n                \t\t</div>\n            \t\t</div>\n       \t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"142\" data-thumb=\"assets/minimalist-basic/thumbnails/ij03.png\" data-cat=\"0,29\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <i class=\"icon ion-laptop size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <i class=\"icon ion-ios-people size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <i class=\"icon ion-ios-heart-outline size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n            <i class=\"icon ion-trophy size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"143\" data-thumb=\"assets/minimalist-basic/thumbnails/ij04.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n             <h1 class=\"size-48\">Achievements</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>130</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>315</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            \t<br>\n        </div>\n    </div>\n    \n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>270</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-80\"></i>\n\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>420</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"144\" data-thumb=\"assets/minimalist-basic/thumbnails/ij05.png\" data-cat=\"0,29\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t   <i class=\"icon ion-trophy size-64\"></i>\n\n           <h1 class=\"size-48\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">120</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">HAPPY CLIENTS</h4>\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">80+</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">LAYOUTS</h4>\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">97</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">PROJECTS</h4>\n\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">215</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">AWARDS</h4>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"145\" data-thumb=\"assets/minimalist-basic/thumbnails/ij06.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n             <h1 class=\"size-48\" style=\"margin:1.2em 0\">Achievements</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-code-working size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-trophy size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"146\" data-thumb=\"assets/minimalist-basic/thumbnails/ij07.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<i class=\"icon ion-android-star-outline size-48\"></i>\n        \t<h2>Achievements</h2>\n        \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\">Read More</a>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<i class=\"icon ion-trophy size-48\"></i>\n            <h2>Awards</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"147\" data-thumb=\"assets/minimalist-basic/thumbnails/ij08.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.5em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-ios-people-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">1.200</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-ios-compose-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">879</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-ios-heart-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">3.124</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"148\" data-thumb=\"assets/minimalist-basic/thumbnails/ij09.png\" data-cat=\"29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n            <i class=\"icon ion-ios-people-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n            <i class=\"icon ion-ios-star-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--6-col center\">\n            <i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"149\" data-thumb=\"assets/minimalist-basic/thumbnails/ij10.png\" data-cat=\"0,29\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <div style=\"border:1px solid black;padding:0 15px 10px;margin-right:1em\">\n            \t<i class=\"icon ion-ios-people-outline size-64\"></i>\n            \t<p style=\"margin-top:0\"><span style=\"margin-top:0;font-size:2em;font-weight:800\">1.234</span><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n            <h1>Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t<div style=\"margin:1.7em 0\">\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"150\" data-thumb=\"assets/minimalist-basic/thumbnails/kl01.png\" data-cat=\"0,30\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<i class=\"icon ion-android-time size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800;margin:0.2em 0\">COMING SOON</h1>\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <p style=\"margin: 1.5em 0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"clearfix is-rounded-button-big\">\n\n\t\t\t    <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n\t\t\t    <a href=\"https://facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t    <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000\"><i class=\"icon ion-social-youtube\"></i></a>\n\n\t\t\t    <a href=\"http://www.website.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-ios-home\"></i></a>\n\n\t\t\t    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"151\" data-thumb=\"assets/minimalist-basic/thumbnails/kl02.png\" data-cat=\"0,30\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n            <h1 class=\"size-80\" style=\"font-weight:800\">UNDER CONSTRUCTION</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div style=\"margin:1em 0 2.5em;\">\n\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"152\" data-thumb=\"assets/minimalist-basic/thumbnails/kl03.png\" data-cat=\"0,30\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<h3>Company Name</h3>\n\n            <h1 class=\"size-80\" style=\"font-weight:800;\">COMING SOON</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                <a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"153\" data-thumb=\"assets/minimalist-basic/thumbnails/kl04.png\" data-cat=\"30\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em\">We are coming very soon</h1>\n\n\t\t\t</div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n    \t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n     \t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\n                    <p><b>Call us</b><br>(123) 456 7890<br>456 7891</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\n\t\t\t<div class=\"mdl-grid\">\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--3-col\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mdl-cell mdl-cell--9-col\">\n\n                    <p>\n\n              \t\t    <strong>Email</strong><br>\n\n              \t\t    <a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"154\" data-thumb=\"assets/minimalist-basic/thumbnails/kl05.png\" data-cat=\"30\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4.3em\">Under Construction</h1>\n\n\t\t        <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            </div>\n\n        </div>\t\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Get Notified</a>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n           \t<br>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"155\" data-thumb=\"assets/minimalist-basic/thumbnails/kl07.png\" data-cat=\"0,30\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"width:100%;max-width:450px;margin: 0 auto\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<i class=\"icon ion-ios-alarm-outline size-64\"></i>\n                \t<h1 style=\"margin-top:0\">Coming Soon!</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<br>\n\t\t\t\t\t<div class=\"is-social\">\n\t\t\t\t\t\t<div class=\"size-21\">\n                \t\t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\t\t\t\t\t\n\t\t\t\t\t\t</div>      \n\t\t\t\t\t</div>   \n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"156\" data-thumb=\"assets/minimalist-basic/thumbnails/kl08.png\" data-cat=\"0,30\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n                    <h1 style=\"font-size:3.5em\">WE ARE CURRENTLY UNDER CONSTRUCTION</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <div class=\"clearfix is-boxed-button-small\" style=\"margin:1.5em 0\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest\"></i></a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"157\" data-thumb=\"assets/minimalist-basic/thumbnails/kl09.png\" data-cat=\"0,30\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"width:100%;max-width:700px;margin:0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<h1 style=\"font-size:3em\">COMING SOON</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<div style=\"margin:2em 0;\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised\" style=\"border-radius:50px\">Read More</a>\n            \t\t</div>\n\t\t\t\t\t<div style=\"margin:1em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius:50px\">Get Updates</a>          \t\t\n            \t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"158\" data-thumb=\"assets/minimalist-basic/thumbnails/kl10.png\" data-cat=\"30\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<i class=\"icon ion-android-bicycle size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin:0.2em 0\">WE ARE COMING VERY SOON</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <br><br>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h3>Contact Us</h3>\n        \t<p>Company, Inc. 123 Street, City. State 12345. <br>(123) 456 7890 / 456 7891</p>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"159\" data-thumb=\"assets/minimalist-basic/thumbnails/mn01.png\" data-cat=\"0,31\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<i class=\"icon ion-android-alert size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800\">PAGE NOT FOUND</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n       </div>\t\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">Back to Home Page</a>\n\n           </div>\n\n\t\t</div>\t\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"160\" data-thumb=\"assets/minimalist-basic/thumbnails/mn02.png\" data-cat=\"0,31\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"clearfix is-rounded-button-medium\">\n\n\t\t\t\t<a href=\"http://www.website.com/\" style=\"background-color: #fff;\"><i style=\"color:#000\" class=\"icon ion-ios-home\"></i></a>\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"161\" data-thumb=\"assets/minimalist-basic/thumbnails/mn03.png\" data-cat=\"0,31\">\n\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1><span style=\"font-size: 3em\">404</span></h1>\n\t\t\t\t\t</div>\n            \t\t<h5>The page you are looking for doesn't exist.</h5>\n \t\t\t\t\t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\">Back Home</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"162\" data-thumb=\"assets/minimalist-basic/thumbnails/mn04.png\" data-cat=\"0,31\">\n\n    <div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col center\">\n\n             <i class=\"icon ion-ios-pulse size-80\"></i>\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4em\">Oops...</h1>\n\n            </div>\n\n            <h1 style=\"font-size: 3em\">Page Not Found</h1>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"163\" data-thumb=\"assets/minimalist-basic/thumbnails/mn05.png\" data-cat=\"0,31\">\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"mdl-grid\">\n\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\n            <div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-material.html#\" class=\"mdl-button mdl-js-button mdl-button--raised mdl-button--accent\" style=\"border-radius: 50px\">BACK HOME</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"164\" data-thumb=\"assets/minimalist-basic/thumbnails/mn08.png\" data-cat=\"31\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:6em\">Error <span style=\"font-weight:800\">404</span></h1>\n            <h3 style=\"margin-top:0\">The page you are looking for doesn't exist.</h3>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t\t<a href=\"snippets-material.html#\"><i class=\"icon ion-ios-home size-64\"></i></a>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"165\" data-thumb=\"assets/minimalist-basic/thumbnails/mn09.png\" data-cat=\"0,31\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n             <i class=\"icon ion-android-sad size-80\"></i>\n            <h1 style=\"font-size:3em;margin-top:0\">Sorry, this page doesn't exist.</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-material.html#\">BACK TO HOMEPAGE</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"166\" data-thumb=\"assets/minimalist-basic/thumbnails/op01.png\" data-cat=\"0,32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">OUR SKILLS</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">98%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Design</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">87%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Development</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">100%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Customer Support</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"167\" data-thumb=\"assets/minimalist-basic/thumbnails/op02.png\" data-cat=\"0,32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <h1 style=\"font-weight:800\">93%</h1>\n            <h3 style=\"font-size:1.2em\">HTML &amp; CSS</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <h1 style=\"font-weight:800\">71%</h1>\n            <h3 style=\"font-size:1.2em\">JavaScript</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <h1 style=\"font-weight:800\">90%</h1>\n            <h3 style=\"font-size:1.2em\">PHP</h3>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--3-col center\">\n            <h1 style=\"font-weight:800\">85%</h1>\n            <h3 style=\"font-size:1.2em\">Photoshop</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"168\" data-thumb=\"assets/minimalist-basic/thumbnails/op03.png\" data-cat=\"0,32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col display center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"mdl-grid\">\n            \t<div class=\"mdl-cell mdl-cell--4-col center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>89%</b></span><br><br>Web Design</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"mdl-grid\">\n            \t<div class=\"mdl-cell mdl-cell--4-col center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-code size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>92%</b></span><br><br>HTML &amp; CSS</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n\t\t\t<div class=\"mdl-grid\">\n            \t<div class=\"mdl-cell mdl-cell--4-col center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-settings size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--8-col center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>81%</b></span><br><br>Marketing</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"169\" data-thumb=\"assets/minimalist-basic/thumbnails/op04.png\" data-cat=\"0,32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.2em 0\">TEAM SKILLS</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">89</span>%</h2>\n\t\t\t<h3>Web Design</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n        \n        <div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">91</span>%</h2>\n\t\t\t<h3>PHP</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">95</span>%</h2>\n\t\t\t<h3>HTML &amp; CSS</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"170\" data-thumb=\"assets/minimalist-basic/thumbnails/op05.png\" data-cat=\"0,32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">OUR SKILLS</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">92</span>%</h1>\n\t\t\t\t\t<h3>UX/UI Design</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">88</span>%</h1>\n\t\t\t\t\t<h3>Development</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">65</span>%</h1>\n\t\t\t\t\t<h3>Branding</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"171\" data-thumb=\"assets/minimalist-basic/thumbnails/op07.png\" data-cat=\"32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <h2 style=\"font-size:2.2em;margin-top:0.2em\">Our Skills</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--8-col\">\n\t\t\t<div class=\"mdl-grid\">\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">85%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                    <h3 style=\"text-align:center\">Web Design</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">91%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                \t<h3 style=\"text-align:center\">HTML &amp; CSS</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"172\" data-thumb=\"assets/minimalist-basic/thumbnails/op08.png\" data-cat=\"32\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col center\">\n            <h1 style=\"font-size:3em\">Knowledge</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n                <i class=\"icon ion-ios-heart-outline size-64\"></i>\n                <h2 style=\"font-size:1.3em;margin-top:0\"><strong>92%</strong>, Web Design</h2>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>78%</strong>, Video Editing</h2>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col center\">\n            <i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>89%</strong>, Web Development</h2>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Category: Title, Sub Title -->\n\n\n<div data-num=\"173\" data-thumb=\"assets/minimalist-basic/thumbnails/b15.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"174\" data-thumb=\"assets/minimalist-basic/thumbnails/b16.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"175\" data-thumb=\"assets/minimalist-basic/thumbnails/b17.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"176\" data-thumb=\"assets/minimalist-basic/thumbnails/b18.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"177\" data-thumb=\"assets/minimalist-basic/thumbnails/b19.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"178\" data-thumb=\"assets/minimalist-basic/thumbnails/b20.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"179\" data-thumb=\"assets/minimalist-basic/thumbnails/b21.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"180\" data-thumb=\"assets/minimalist-basic/thumbnails/b22.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"181\" data-thumb=\"assets/minimalist-basic/thumbnails/b23.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"182\" data-thumb=\"assets/minimalist-basic/thumbnails/b24.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"183\" data-thumb=\"assets/minimalist-basic/thumbnails/b25.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"184\" data-thumb=\"assets/minimalist-basic/thumbnails/b26.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"185\" data-thumb=\"assets/minimalist-basic/thumbnails/b27.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-96 is-title4-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"186\" data-thumb=\"assets/minimalist-basic/thumbnails/b28.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-64 is-title4-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"187\" data-thumb=\"assets/minimalist-basic/thumbnails/b29.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-48 is-title4-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"188\" data-thumb=\"assets/minimalist-basic/thumbnails/b30.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-32 is-title4-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"189\" data-thumb=\"assets/minimalist-basic/thumbnails/b31.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"190\" data-thumb=\"assets/minimalist-basic/thumbnails/b32.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"191\" data-thumb=\"assets/minimalist-basic/thumbnails/b33.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"192\" data-thumb=\"assets/minimalist-basic/thumbnails/b34.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"193\" data-thumb=\"assets/minimalist-basic/thumbnails/b35.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"194\" data-thumb=\"assets/minimalist-basic/thumbnails/b36.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"195\" data-thumb=\"assets/minimalist-basic/thumbnails/b37.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n             <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"196\" data-thumb=\"assets/minimalist-basic/thumbnails/b38.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"197\" data-thumb=\"assets/minimalist-basic/thumbnails/b39.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"198\" data-thumb=\"assets/minimalist-basic/thumbnails/b40.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"199\" data-thumb=\"assets/minimalist-basic/thumbnails/b41.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"200\" data-thumb=\"assets/minimalist-basic/thumbnails/b42.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"201\" data-thumb=\"assets/minimalist-basic/thumbnails/b43.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"202\" data-thumb=\"assets/minimalist-basic/thumbnails/b44.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"203\" data-thumb=\"assets/minimalist-basic/thumbnails/b45.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"204\" data-thumb=\"assets/minimalist-basic/thumbnails/b46.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"205\" data-thumb=\"assets/minimalist-basic/thumbnails/b47.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-96 is-title4-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"206\" data-thumb=\"assets/minimalist-basic/thumbnails/b48.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-64 is-title4-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"207\" data-thumb=\"assets/minimalist-basic/thumbnails/b49.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-48 is-title4-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"208\" data-thumb=\"assets/minimalist-basic/thumbnails/b50.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-32 is-title4-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"209\" data-thumb=\"assets/minimalist-basic/thumbnails/b51.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"210\" data-thumb=\"assets/minimalist-basic/thumbnails/b52.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"211\" data-thumb=\"assets/minimalist-basic/thumbnails/b53.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"212\" data-thumb=\"assets/minimalist-basic/thumbnails/b54.png\" data-cat=\"2\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<!-- Category: Info, Title -->\n\n<div data-num=\"213\" data-thumb=\"assets/minimalist-basic/thumbnails/c02.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<p class=\"size-24 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"214\" data-thumb=\"assets/minimalist-basic/thumbnails/c03.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"215\" data-thumb=\"assets/minimalist-basic/thumbnails/c04.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"216\" data-thumb=\"assets/minimalist-basic/thumbnails/c05.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"217\" data-thumb=\"assets/minimalist-basic/thumbnails/c06.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"218\" data-thumb=\"assets/minimalist-basic/thumbnails/c07.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"219\" data-thumb=\"assets/minimalist-basic/thumbnails/c08.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"220\" data-thumb=\"assets/minimalist-basic/thumbnails/c09.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"221\" data-thumb=\"assets/minimalist-basic/thumbnails/c10.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"222\" data-thumb=\"assets/minimalist-basic/thumbnails/c11.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"223\" data-thumb=\"assets/minimalist-basic/thumbnails/c12.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"224\" data-thumb=\"assets/minimalist-basic/thumbnails/c13.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"225\" data-thumb=\"assets/minimalist-basic/thumbnails/c14.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title4-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"226\" data-thumb=\"assets/minimalist-basic/thumbnails/c15.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title4-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"227\" data-thumb=\"assets/minimalist-basic/thumbnails/c16.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title4-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"228\" data-thumb=\"assets/minimalist-basic/thumbnails/c17.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title4-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"229\" data-thumb=\"assets/minimalist-basic/thumbnails/c18.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"230\" data-thumb=\"assets/minimalist-basic/thumbnails/c19.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"231\" data-thumb=\"assets/minimalist-basic/thumbnails/c20.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"232\" data-thumb=\"assets/minimalist-basic/thumbnails/c21.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"233\" data-thumb=\"assets/minimalist-basic/thumbnails/c22.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<p class=\"size-24 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"234\" data-thumb=\"assets/minimalist-basic/thumbnails/c23.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"235\" data-thumb=\"assets/minimalist-basic/thumbnails/c24.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"236\" data-thumb=\"assets/minimalist-basic/thumbnails/c25.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"237\" data-thumb=\"assets/minimalist-basic/thumbnails/c26.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"238\" data-thumb=\"assets/minimalist-basic/thumbnails/c27.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"239\" data-thumb=\"assets/minimalist-basic/thumbnails/c28.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"240\" data-thumb=\"assets/minimalist-basic/thumbnails/c29.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"241\" data-thumb=\"assets/minimalist-basic/thumbnails/c30.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"242\" data-thumb=\"assets/minimalist-basic/thumbnails/c31.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"243\" data-thumb=\"assets/minimalist-basic/thumbnails/c32.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"244\" data-thumb=\"assets/minimalist-basic/thumbnails/c33.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"245\" data-thumb=\"assets/minimalist-basic/thumbnails/c34.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title4-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"246\" data-thumb=\"assets/minimalist-basic/thumbnails/c35.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title4-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"247\" data-thumb=\"assets/minimalist-basic/thumbnails/c36.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title4-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"248\" data-thumb=\"assets/minimalist-basic/thumbnails/c37.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title4-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"249\" data-thumb=\"assets/minimalist-basic/thumbnails/c38.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"250\" data-thumb=\"assets/minimalist-basic/thumbnails/c39.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"251\" data-thumb=\"assets/minimalist-basic/thumbnails/c40.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"252\" data-thumb=\"assets/minimalist-basic/thumbnails/c41.png\" data-cat=\"3\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Buttons  -->\n\n<div data-num=\"253\" data-thumb=\"assets/minimalist-basic/thumbnails/ce01.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"254\" data-thumb=\"assets/minimalist-basic/thumbnails/ce02.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"255\" data-thumb=\"assets/minimalist-basic/thumbnails/ce03.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"256\" data-thumb=\"assets/minimalist-basic/thumbnails/ce04.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"257\" data-thumb=\"assets/minimalist-basic/thumbnails/ce05.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"258\" data-thumb=\"assets/minimalist-basic/thumbnails/ce06.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"259\" data-thumb=\"assets/minimalist-basic/thumbnails/ce07.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a> &nbsp;\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"260\" data-thumb=\"assets/minimalist-basic/thumbnails/ce08.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"261\" data-thumb=\"assets/minimalist-basic/thumbnails/ce09.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"262\" data-thumb=\"assets/minimalist-basic/thumbnails/ce10.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"263\" data-thumb=\"assets/minimalist-basic/thumbnails/ce11.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"264\" data-thumb=\"assets/minimalist-basic/thumbnails/ce12.png\" data-cat=\"33\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\n            <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- Cards -->\n\n\n<div data-num=\"265\" data-thumb=\"assets/minimalist-basic/thumbnails/de01.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>              \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>    \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>         \n        \t\t</div>\n\t\t\t</div>\n         </div>\n\t</div>\n</div>\n\n<div data-num=\"266\" data-thumb=\"assets/minimalist-basic/thumbnails/de02.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n     \t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t     \t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>  \n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"267\" data-thumb=\"assets/minimalist-basic/thumbnails/de03.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"268\" data-thumb=\"assets/minimalist-basic/thumbnails/de04.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"269\" data-thumb=\"assets/minimalist-basic/thumbnails/de05.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"270\" data-thumb=\"assets/minimalist-basic/thumbnails/de06.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"271\" data-thumb=\"assets/minimalist-basic/thumbnails/de07.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n \t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\t \t\t\n              </div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\t\t\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"272\" data-thumb=\"assets/minimalist-basic/thumbnails/de08.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\t\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"273\" data-thumb=\"assets/minimalist-basic/thumbnails/de09.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"274\" data-thumb=\"assets/minimalist-basic/thumbnails/de10.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\t\n\t</div>\n</div>\n\n<div data-num=\"275\" data-thumb=\"assets/minimalist-basic/thumbnails/de11.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"276\" data-thumb=\"assets/minimalist-basic/thumbnails/de12.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"277\" data-thumb=\"assets/minimalist-basic/thumbnails/de13.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n \t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"278\" data-thumb=\"assets/minimalist-basic/thumbnails/de14.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"279\" data-thumb=\"assets/minimalist-basic/thumbnails/de15.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"280\" data-thumb=\"assets/minimalist-basic/thumbnails/de16.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"281\" data-thumb=\"assets/minimalist-basic/thumbnails/de17.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"282\" data-thumb=\"assets/minimalist-basic/thumbnails/de18.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"283\" data-thumb=\"assets/minimalist-basic/thumbnails/de19.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"284\" data-thumb=\"assets/minimalist-basic/thumbnails/de20.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"285\" data-thumb=\"assets/minimalist-basic/thumbnails/de21.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"286\" data-thumb=\"assets/minimalist-basic/thumbnails/de22.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"287\" data-thumb=\"assets/minimalist-basic/thumbnails/de23.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n             \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"288\" data-thumb=\"assets/minimalist-basic/thumbnails/de24.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"289\" data-thumb=\"assets/minimalist-basic/thumbnails/de25.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"290\" data-thumb=\"assets/minimalist-basic/thumbnails/de26.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"291\" data-thumb=\"assets/minimalist-basic/thumbnails/de27.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>           \n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"292\" data-thumb=\"assets/minimalist-basic/thumbnails/de28.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"293\" data-thumb=\"assets/minimalist-basic/thumbnails/de29.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\t\t<div class=\"mdl-cell mdl-cell--12-col\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-material.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"294\" data-thumb=\"assets/minimalist-basic/thumbnails/de30.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--4-col\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-2.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n        \n\t\t<div class=\"mdl-cell mdl-cell--4-col\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-3.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"295\" data-thumb=\"assets/minimalist-basic/thumbnails/de31.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--6-col\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"mdl-cell mdl-cell--6-col\">\n           <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-2.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"296\" data-thumb=\"assets/minimalist-basic/thumbnails/de32.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"297\" data-thumb=\"assets/minimalist-basic/thumbnails/de33.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card is-card-circle is-dark-text\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"298\" data-thumb=\"assets/minimalist-basic/thumbnails/de34.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card is-card-circle is-dark-text\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"299\" data-thumb=\"assets/minimalist-basic/thumbnails/de35.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"300\" data-thumb=\"assets/minimalist-basic/thumbnails/de36.png\" data-cat=\"34\">\n\t<div class=\"mdl-grid\">\n\n        <div class=\"mdl-cell mdl-cell--12-col\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-material.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"301\" data-thumb=\"assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"0,35\">\n    <div class=\"row clearfix\">\n        <div class=\"column full\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"%3Cdiv%20id%3D%22{id}%22%20class%3D%22slider-on-content%22%20style%3D%22width%3A100%25%3Bheight%3A400px%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-b.jpg')%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-a.jpg')%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23{id}%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23{id}%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20true%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%203000%2Cfade%3A%20false%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E\" data-settings=\"%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Atrue%2C%22dots%22%3Atrue%2C%22fade%22%3Afalse%2C%22height%22%3A%22400%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-b.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%2C%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-a.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%5D%7D%5D\">\n        \n        </div>\n    </div>\n</div>\n\n<div data-num=\"302\" data-thumb=\"assets/minimalist-basic/thumbnails/code.png\" data-cat=\"0,100\">\n    <div class=\"row clearfix\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22mdl-cell%20mdl-cell--12-col%22%3E%0A%0A%3Ch1%20id%3D%22{id}%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n        <div class=\"mdl-cell mdl-cell--12-col\">\n\n        </div>\n    </div>\n</div>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/snippets-uikit.html",
    "content": "\n<!-- Title -->\n\n\n<div data-num=\"1\" data-thumb=\"assets/minimalist-basic/thumbnails/a01.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"2\" data-thumb=\"assets/minimalist-basic/thumbnails/a02.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"3\" data-thumb=\"assets/minimalist-basic/thumbnails/a03.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"4\" data-thumb=\"assets/minimalist-basic/thumbnails/a04.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite is-upper\">Lorem Ipsum is simply dummy text</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"5\" data-thumb=\"assets/minimalist-basic/thumbnails/a05.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"6\" data-thumb=\"assets/minimalist-basic/thumbnails/a06.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"7\" data-thumb=\"assets/minimalist-basic/thumbnails/a07.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"8\" data-thumb=\"assets/minimalist-basic/thumbnails/a08.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"9\" data-thumb=\"assets/minimalist-basic/thumbnails/a09.png\" data-cat=\"0,1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"10\" data-thumb=\"assets/minimalist-basic/thumbnails/a10.png\" data-cat=\"1\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<!---->\n\n\n<div data-num=\"11\" data-thumb=\"assets/minimalist-basic/thumbnails/c01.png\" data-cat=\"0\">\n\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n            <div class=\"display\">\n\t\t\t    <p class=\"size-21 is-info2\"><i>This is a special report</i></p>\n                <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"12\" data-thumb=\"assets/minimalist-basic/thumbnails/g01.png\" data-cat=\"0,6\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"13\" data-thumb=\"assets/minimalist-basic/thumbnails/e01.png\" data-cat=\"0,5\">\n\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <h1>Heading 1 Text Goes Here</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"14\" data-thumb=\"assets/minimalist-basic/thumbnails/e02.png\" data-cat=\"0,5\">\n\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <h2>Heading 2 Text Goes Here</h2>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"15\" data-thumb=\"assets/minimalist-basic/thumbnails/e09.png\" data-cat=\"0,5\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<h1>Lorem Ipsum</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-2-3\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/e09-1.jpg\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"16\" data-thumb=\"assets/minimalist-basic/thumbnails/v01.png\" data-cat=\"0,19\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <hr>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"17\" data-thumb=\"assets/minimalist-basic/thumbnails/v02.png\" data-cat=\"0,19\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <br><br>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"18\" data-thumb=\"assets/minimalist-basic/thumbnails/b01.png\" data-cat=\"0\">\n\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Beautiful Content. Responsive.</h1>\n                <p class=\"size-21\"><i>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</i></p>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"19\" data-thumb=\"assets/minimalist-basic/thumbnails/b12.png\" data-cat=\"0\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b12-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t</div>\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Lorem Ipsum is Simply</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text</p>\n\n\t\t\t</div>\n\n\t\t\t<p style=\"text-align: center\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"20\" data-thumb=\"assets/minimalist-basic/thumbnails/b14.png\" data-cat=\"0\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Beautiful Content</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-1.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-2.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/b14-3.jpg\">\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"21\" data-thumb=\"assets/minimalist-basic/thumbnails/g02.png\" data-cat=\"0,6\">\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g02-1.jpg\">\n\n        \t</div>\n\t\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"22\" data-thumb=\"assets/minimalist-basic/thumbnails/g03.png\" data-cat=\"0,6\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       \t\t </div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\">\n\n       \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"23\" data-thumb=\"assets/minimalist-basic/thumbnails/h01.png\" data-cat=\"0,6\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h01-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"24\" data-thumb=\"assets/minimalist-basic/thumbnails/h02.png\" data-cat=\"0,6\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/h02-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\t\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"25\" data-thumb=\"assets/minimalist-basic/thumbnails/o01.png\" data-cat=\"0,12\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/o01-1.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"26\" data-thumb=\"assets/minimalist-basic/thumbnails/k06.png\" data-cat=\"0,9\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-4\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-2.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"27\" data-thumb=\"assets/minimalist-basic/thumbnails/k02.png\" data-cat=\"0,9\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-3\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-2.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-3\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-3.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"28\" data-thumb=\"assets/minimalist-basic/thumbnails/k01.png\" data-cat=\"0,9\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-2.jpg\">\n\n               \t \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\t\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"29\" data-thumb=\"assets/minimalist-basic/thumbnails/p01.png\" data-cat=\"0,13\">\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p01-1.jpg\">\n\n       \t \t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n           \t\t<div class=\"display\">\n\n               \t\t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"30\" data-thumb=\"assets/minimalist-basic/thumbnails/p02.png\" data-cat=\"0,13\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<div class=\"display\">\n\n                \t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"31\" data-thumb=\"assets/minimalist-basic/thumbnails/p03.png\" data-cat=\"13\">\n\n \t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p03-1.jpg\">\n\n        \t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n            \t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"32\" data-thumb=\"assets/minimalist-basic/thumbnails/p04.png\" data-cat=\"13\">\n\n \t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p04-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"33\" data-thumb=\"assets/minimalist-basic/thumbnails/p05.png\" data-cat=\"0,13\">\n\n  <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"display center\">\n\n                <h1>Beautiful content. Responsive.</h1>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n         </div>\n\n    </div>\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"34\" data-thumb=\"assets/minimalist-basic/thumbnails/p06.png\" data-cat=\"0,13\">\n\n <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"display center\">\n\n                <h1 style=\"font-size:4em\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n\n        </div>\n\n    </div>\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"35\" data-thumb=\"assets/minimalist-basic/thumbnails/p07.png\" data-cat=\"0,13\">\n\n <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\">Read More</a> &nbsp;\n\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Download</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"36\" data-thumb=\"assets/minimalist-basic/thumbnails/q01.png\" data-cat=\"0,14\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-2\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"uk-width-1-2\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div> \t\n\n</div>\n\n\n\n<div data-num=\"37\" data-thumb=\"assets/minimalist-basic/thumbnails/q02.png\" data-cat=\"0,14\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-3\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div> \t\n\n</div>\n\n\n<div data-num=\"38\" data-thumb=\"assets/minimalist-basic/thumbnails/q30.png\" data-cat=\"0,14\">\n\n    <div class=\"uk-grid\">\n        <div class=\"uk-width-1-2\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"uk-width-1-2\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n    </div>\n\n</div>\n\n<div data-num=\"39\" data-thumb=\"assets/minimalist-basic/thumbnails/q31.png\" data-cat=\"0,14\">\n\n    <div class=\"uk-grid\">\n        <div class=\"uk-width-1-3\">\n\t\t\t\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"uk-width-1-3\">\n\t\t\t\t<i class=\"icon ion-android-create size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\t\t\n       </div><div class=\"uk-width-1-3\">\n\t\t\t\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n    </div>\n\n</div>\n\n\n<div data-num=\"40\" data-thumb=\"assets/minimalist-basic/thumbnails/r01.png\" data-cat=\"0,15\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"41\" data-thumb=\"assets/minimalist-basic/thumbnails/r02.png\" data-cat=\"0,15\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-2\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n        <div class=\"uk-width-1-2\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"42\" data-thumb=\"assets/minimalist-basic/thumbnails/r03.png\" data-cat=\"0,15\">\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2 center\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r03-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"43\" data-thumb=\"assets/minimalist-basic/thumbnails/r04.png\" data-cat=\"0,15\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n       \t\t<div class=\"uk-width-1-2 center\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r04-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n\n\n<div data-num=\"44\" data-thumb=\"assets/minimalist-basic/thumbnails/s01.png\" data-cat=\"0,16\">\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-6 center\">\n\n                <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s01-1.jpg\" style=\"border-radius:500px;margin-top:5px;\"></p>\n\n        \t</div>\n\n\t\t\t<div class=\"uk-width-5-6\">\n\n            \t\t<p>\n\n                \t<b>Sara Phillipps</b><br>A freelance web designer &amp; developer based in Melbourne, Australia.\n\n            \t\t</p>\n\n            \t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<!--<a href=\"#\"><i class=\"icon ion-social-github\"></i></a>\n\n                \t\t<a href=\"snippets-uikit.html#\"><i class=\"icon ion-social-dribbble\"></i></a>\n\n                \t\t<a href=\"snippets-uikit.html#\"><i class=\"icon ion-social-pinterest\"></i></a>\n\n                \t\t<a href=\"snippets-uikit.html#\"><i class=\"icon ion-social-linkedin\"></i></a>\n\n                \t\t<a href=\"snippets-uikit.html#\"><i class=\"icon ion-social-instagram\"></i></a>-->\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n           \t \t</div>\n\n       \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"45\" data-thumb=\"assets/minimalist-basic/thumbnails/s03.png\" data-cat=\"0,16\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-2-3\">\n            \n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s03-1.jpg\">\n\n \t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\n\t\t\t<h2>Lorem Ipsum</h2>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"46\" data-thumb=\"assets/minimalist-basic/thumbnails/s10.png\" data-cat=\"0,24\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t        <div class=\"uk-grid\">\n\n\t\t\t    <div class=\"uk-width-1-3 center\">\n\n\t\t\t\t    <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s10-1.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"uk-width-2-3\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t        <div class=\"uk-grid\">\n\n\t\t\t    <div class=\"uk-width-1-3 center\">\n\n\t\t\t\t    <p><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/s10-2.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"uk-width-2-3\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"47\" data-thumb=\"assets/minimalist-basic/thumbnails/t01.png\" data-cat=\"0,17,22\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"48\" data-thumb=\"assets/minimalist-basic/thumbnails/t02.png\" data-cat=\"0,17,22\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-2-3\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n            <h3>Get in Touch</h3>\n\n            <p>\n\n              <strong>Company, Inc.</strong><br>\n\n              123 Street, City<br>\n\n              State 12345<br>\n\n              P: (123) 456 7890 / 456 7891\n\n            </p>\n\n\n\n            <p>\n\n              <strong>Full Name</strong><br>\n\n              <a href=\"mailto:#\">first.last@example.com</a>\n\n            </p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"49\" data-thumb=\"assets/minimalist-basic/thumbnails/o02.png\" data-cat=\"0,20\">\n\n \t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-1\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"50\" data-thumb=\"assets/minimalist-basic/thumbnails/e13.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2 center\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\" style=\"margin-right:20px\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"51\" data-thumb=\"assets/minimalist-basic/thumbnails/e14.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"52\" data-thumb=\"assets/minimalist-basic/thumbnails/u04.png\" data-cat=\"0,18\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\n            <div class=\"clearfix is-boxed-button-big\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\t\n                <a href=\"http://www.website.com/\" style=\"background-color: #0569AA;\"><i class=\"icon ion-android-home\"></i></a>\t\t\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<!-- End of Default -->\n\n\n\n<div data-num=\"53\" data-thumb=\"assets/minimalist-basic/thumbnails/n15.png\" data-cat=\"11\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-1.jpg\">\n\n        </div>\n\n        <div class=\"uk-width-1-2\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k01-2.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"54\" data-thumb=\"assets/minimalist-basic/thumbnails/n16.png\" data-cat=\"11\">\n\n\t<div class=\"uk-grid\">\n\n\t    <div class=\"uk-width-1-3\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-1.jpg\">\t\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-2.jpg\">\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k02-3.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"55\" data-thumb=\"assets/minimalist-basic/thumbnails/p34.png\" data-cat=\"0,13\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Beautiful Content</h1>\n\n\t\t\t</div>\n\n \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2\">\n\n\t\t\t\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p34-1.png\">\n        \n\n\t\t\t</div>\n\n\t\t\t<div class=\"uk-width-1-2\">\n\n                \t\t<h2>Responsive.</h2>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                \t\t<div style=\"margin:1.3em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px;\">Read More</a>\n\n            \t\t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\t\n\n<div data-num=\"56\" data-thumb=\"assets/minimalist-basic/thumbnails/p35.png\" data-cat=\"0,13\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<i class=\"icon ion-leaf size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t<div class=\"display\">\n\n                \t<h1 style=\"font-size: 3.5em; margin:0.2em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t</div>\n\n           <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t    <div style=\"margin:1em 0\">\n\n           \t\t\t <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">READ MORE</a>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"57\" data-thumb=\"assets/minimalist-basic/thumbnails/p36.png\" data-cat=\"13\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-21\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n            \t\t<div class=\"display\">\n\n                \t\t    <h1 style=\"margin:0.3em 0; font-size: 4em\">Beautiful Content. Responsive.</h1>\n\n            \t\t </div>\n\n                    <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"58\" data-thumb=\"assets/minimalist-basic/thumbnails/p38.png\" data-cat=\"0,13\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t\t<div class=\"display center\">\n\n            \t\t<h1>Beautiful content.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            \t\t\n\t\t\t\t</div>\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\n\n\t\t\t<div style=\"margin:1em 0 2.5em;\">\n\n           \t\t   <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\">Read More</a> &nbsp;\n\n            \t\t   <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Download</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"59\" data-thumb=\"assets/minimalist-basic/thumbnails/p42.png\" data-cat=\"0,13\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p42-1.jpg\">\n\t\t\t<h3>BEAUTIFUL CONTENT. RESPONSIVE.</h3>\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Lorem Ipsum is simply text of the printing industry</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div style=\"margin:0.5em 0 2.5em;\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"assets/minimalist-basic/thumbnails/p43.png\" data-cat=\"0,13\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            \t<div class=\"clearfix is-rounded-button-medium\">\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t             \t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>    \n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>           \t\t\t\n\t\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin-top:0.5em;font-size:3.7em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div style=\"margin:1em 0;\">        \n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">GET STARTED</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"assets/minimalist-basic/thumbnails/p44.png\" data-cat=\"0,13\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"font-size:3.4em\">Lorem Ipsum is simply text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t            <a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>    \n                    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>   \n                    <a href=\"https://www.instagram.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-social-instagram-outline\"></i></a>         \t\t\t\n\t\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <div style=\"margin:2em 0\">\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"assets/minimalist-basic/thumbnails/p46.png\" data-cat=\"0,13\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h1 style=\"font-size:3.5em;margin-top:0\">Beautiful Content. Responsive.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <div style=\"margin:1em 0\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Watch Video</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"assets/minimalist-basic/thumbnails/p47.png\" data-cat=\"0,13\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\" font-size: 4em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n           <div style=\"margin:1em 0 2.5em;\">\n            <a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">GET STARTED TODAY</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n           <div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"padding:0; width:80px; height:80px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"assets/minimalist-basic/thumbnails/p50.png\" data-cat=\"13\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t<div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"btn btn-primary\" style=\"padding:0; width:90px; height:90px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n                <h1 style=\"font-size:3em\">Beautiful content. Responsive</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n         </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <div style=\"margin:2em 0\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Get Started</a>\n            </div>\n        </div>\n\t</div>\n</div>\t\n\n<div data-num=\"65\" data-thumb=\"assets/minimalist-basic/thumbnails/q20.png\" data-cat=\"14\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>        \n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q20-1.png\">\n\n\n        \t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n               \t \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"66\" data-thumb=\"assets/minimalist-basic/thumbnails/q21.png\" data-cat=\"14\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-1.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-2.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q21-3.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n\n<div data-num=\"67\" data-thumb=\"assets/minimalist-basic/thumbnails/q24.png\" data-cat=\"14\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n       </div>\n\n       <div class=\"uk-width-1-2\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n       <div class=\"uk-width-1-2\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-create size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\t\t\t\n       </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"68\" data-thumb=\"assets/minimalist-basic/thumbnails/q25.png\" data-cat=\"14\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size: 3em\">Best Features</h1> \n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-heart-outline size-64\"></i></p>\n\t\t</div>\n\t\t\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t\t\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-mic-outline size-64\"></i></p>\n\t\t</div>\n\t\t\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-paperplane size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-film-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"assets/minimalist-basic/thumbnails/q26.png\" data-cat=\"14\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q26-1.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/q26-2.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"assets/minimalist-basic/thumbnails/q27.png\" data-cat=\"14\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>     \n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<i class=\"icon ion-android-download size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"assets/minimalist-basic/thumbnails/q28.png\" data-cat=\"14\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t<h1 style=\"font-size: 3em\">Product Features</h1>     \n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2 center\">\n                <i class=\"icon ion-compose size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2 center\">\n                <i class=\"icon ion-android-favorite-outline size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"assets/minimalist-basic/thumbnails/q29.png\" data-cat=\"14\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Product Features</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-camera-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"73\" data-thumb=\"assets/minimalist-basic/thumbnails/r22.png\" data-cat=\"0,15\">\n\n    \t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Customer Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"74\" data-thumb=\"assets/minimalist-basic/thumbnails/r23.png\" data-cat=\"0,15\">\n\n    \t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t <i class=\"icon ion-quote size-80\" style=\"color: #C0C0C0\"></i>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-1.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-2.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r23-3.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"75\" data-thumb=\"assets/minimalist-basic/thumbnails/r25.png\" data-cat=\"0,15\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">Happy Customers</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r25-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r25-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t<p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"76\" data-thumb=\"assets/minimalist-basic/thumbnails/r27.png\" data-cat=\"15\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">Testimonials</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"77\" data-thumb=\"assets/minimalist-basic/thumbnails/r28.png\" data-cat=\"0,15\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">What People Say About Us</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-3\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r28-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-3\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/r28-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"78\" data-thumb=\"assets/minimalist-basic/thumbnails/u10.png\" data-cat=\"0,18\">\n\n\t<div class=\"uk-grid\">\n\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em\">Beautiful Content. Responsive.</h1>\n\n            \t\t    </div>\n\n                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.  Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t<div class=\"clearfix is-rounded-button-medium\">\n\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>           \t\t\t\n\n\t\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"79\" data-thumb=\"assets/minimalist-basic/thumbnails/u11.png\" data-cat=\"0,18\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em; margin:0.5em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>           \t\t\t\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"80\" data-thumb=\"assets/minimalist-basic/thumbnails/u12.png\" data-cat=\"0,18\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n\t\t\t<div class=\"display\">\n\n                            <h1>Lorem Ipsum is simply text</h1>\n\n\t\t\t</div>\n\n                        <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"clearfix is-boxed-button-big2\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\t\t\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"81\" data-thumb=\"assets/minimalist-basic/thumbnails/u13.png\" data-cat=\"0,18\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"display\">\n            \t<h1 style=\"font-size:3.5em\">Beautiful content. Responsive.</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"82\" data-thumb=\"assets/minimalist-basic/thumbnails/u14.png\" data-cat=\"18\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;letter-spacing:8px\">BEAUTIFUL CONTENT. RESPONSIVE.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet.</p>\n\t\t\t<br>\n\t\t\t <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t</div>\n</div>\n\n\n<div data-num=\"83\" data-thumb=\"assets/minimalist-basic/thumbnails/w01.png\" data-cat=\"0,21\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n            <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-gear-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-world-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-calendar-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"84\" data-thumb=\"assets/minimalist-basic/thumbnails/w02.png\" data-cat=\"0,21\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n            \t\t <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-heart-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-compose-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-gear-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-calendar-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-clock-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-laptop size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"85\" data-thumb=\"assets/minimalist-basic/thumbnails/w04.png\" data-cat=\"0,21\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1>Beautiful content. Responsive.</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/w04-1.png\">\n\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            \t\t\n            <div style=\"margin:30px 0 0 0\">\n                <p><i class=\"icon ion-ios-heart-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-compose-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-gear-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\t\t\t</div>\n\n     \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"86\" data-thumb=\"assets/minimalist-basic/thumbnails/w05.png\" data-cat=\"21\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n                    <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n        \t<div class=\"uk-width-1-2\">\n\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/w05-1.png\">\n\n        \t</div>\n\n\t\t\t<div class=\"uk-width-1-2\">\n\n                \t\t<h3>Beautiful Content. Responsive.</h3>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-camera-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n<div data-num=\"87\" data-thumb=\"assets/minimalist-basic/thumbnails/w06.png\" data-cat=\"0,21\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Beautiful Content</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Responsive</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Typesetting</b><br>Lorem Ipsum is simply.</p>\n        </div>\n        \n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Simply Text</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"88\" data-thumb=\"assets/minimalist-basic/thumbnails/w07.png\" data-cat=\"0,21\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t<h1 style=\"font-size:3em\">SERVICES</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n        </div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<i class=\"icon ion-ios-filing-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"89\" data-thumb=\"assets/minimalist-basic/thumbnails/w10.png\" data-cat=\"0,21\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t<h1 style=\"text-align: center; font-size:3em;margin:1.5em 0\">Our Services</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n       \t \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-mic-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n         \t</div>\n        </div>\n    </div>\n</div>\n\n\n\n<div data-num=\"90\" data-thumb=\"assets/minimalist-basic/thumbnails/x01.png\" data-cat=\"0,22\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Contact Us</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel.</p>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<h3>Address</h3>\n\n         \t\t<p>\n\n              \t\t<strong>Company, Inc.</strong><br>\n\n              \t\t123 Street, City<br>\n\n              \t\tState 12345<br>\n\n              \t\tP: (123) 456 7890 / 456 7891\n\n            \t</p>\n\n\t    </div>\n\n\t    <div class=\"uk-width-1-2\">\n\n            <div class=\"uk-grid\">\n\n\t\t\t    <div class=\"uk-width-1-1\">\n\n\t\t\t\t    <h3>Stay in Touch</h3>\n\n            \t    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n                    <div class=\"clearfix is-boxed-button-medium2\">\n                        <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    </div>\n\n\t\t\t    </div>\n\n            </div>\n\n\n\t    </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"91\" data-thumb=\"assets/minimalist-basic/thumbnails/x05.png\" data-cat=\"22\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n               <h1 style=\"font-size: 3em\">Contact Us</h1>\n\n               <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\n            <div class=\"uk-grid\">\n\n\t\t\t    <div class=\"uk-width-1-1\">  \n\n\t\t\t\t    <h3>OFFICE ONE</h3>\n\n\t\t\t    </div>\n\n            </div>\n\n\t\t    <div class=\"uk-grid\">                        \n\n\t\t\t\t<div class=\"uk-width-1-6\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-5-6\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-6\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-5-6\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t   \t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-6\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-5-6\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n             </div>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t<div class=\"uk-grid\">\n\n                <div class=\"uk-width-1-1\">  \n\n\t\t\t\t    <h3>OFFICE TWO</h3>\n\n                </div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"uk-grid\">                       \n\n\t\t\t\t<div class=\"uk-width-1-6\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-5-6\">\n\n                   \t<p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-6\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-5-6\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-6\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-5-6\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"92\" data-thumb=\"assets/minimalist-basic/thumbnails/x09.png\" data-cat=\"22\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n            <i class=\"icon ion-ios-location-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n            <i class=\"icon ion-ios-telephone-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Call Us</h3>\n  \t\t\t<p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n            <i class=\"icon ion-ios-email-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Email</h3>\n  \t\t\t<p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Social Media</h3>\n  \t\t\t<p><a href=\"https://www.facebook.com\">Facebook</a><br><a href=\"https://twitter.com\">Twitter</a><br></p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"93\" data-thumb=\"assets/minimalist-basic/thumbnails/x10.png\" data-cat=\"0,17,22\">\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n           <p>\n              <span style=\"font-size:1.2em\"><b>Company, Inc.</b></span><br>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>          \n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"embed-responsive embed-responsive-16by9\">\n            \t<iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n            </div>\n        </div>\n\t</div>\t\n</div>\n\n\n<div data-num=\"94\" data-thumb=\"assets/minimalist-basic/thumbnails/x11.png\" data-cat=\"0,22\">\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <h3>\n\t\t\t\t<i class=\"icon ion-ios-location-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Address</span>\n\t\t\t</h3>\n            <p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n        \t<h3>\n \t\t\t\t<i class=\"icon ion-iphone size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Phone</span>\n\t\t\t</h3>\n            <p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-email-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Email</span>\n\t\t\t</h3>\n            <p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"assets/minimalist-basic/thumbnails/x12.png\" data-cat=\"0,22\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1>Contact Us</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/x12-1.jpg\" style=\"margin-top: 0px;\">\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <h3 style=\"margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"is-social\">\n                <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"96\" data-thumb=\"assets/minimalist-basic/thumbnails/y01.png\" data-cat=\"0,23\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Ready to Purchase?</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1>$<span style=\"font-size: 2.7em;\">59</span></h1>\n\t\t\t\t\t</div>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t<div style=\"margin:2.5em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Purchase</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"97\" data-thumb=\"assets/minimalist-basic/thumbnails/y02.png\" data-cat=\"0,23\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:30px;\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t   \t\t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Purchase</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:30px;\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">99</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Purchase</a>\t\n                \t</div>\n           \t\t</div>    \n        \t</div>\n\t\t</div>\n\t</div>\n\t\n</div>\n\n\n\n<div data-num=\"98\" data-thumb=\"assets/minimalist-basic/thumbnails/y03.png\" data-cat=\"0,23\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n                    \t\t<h1 style=\"font-size: 3.5em\">Pricing</h1>\n\n\t\t\t</div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t    \t<h3>Personal</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Purchase</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">59</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Professional</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Purchase</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\" style=\"border-radius:20px;\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">89</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Business</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Purchase</a>           \t\t\n                \t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div data-num=\"99\" data-thumb=\"assets/minimalist-basic/thumbnails/y04.png\" data-cat=\"0,23\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing Plans</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Standard</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Professional</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">79</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Business</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"100\" data-thumb=\"assets/minimalist-basic/thumbnails/y05.png\" data-cat=\"0,23\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\t    \n\t\t\t\t\t<h3>Personal</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t    \n\t\t\t\t\t<h3>Professional</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">39</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\t\t\t    \n\t\t\t\t\t<h3>Business</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">49</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"101\" data-thumb=\"assets/minimalist-basic/thumbnails/y06.png\" data-cat=\"0,23\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:0.5em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\t\t\t</div>\n            <h3>Basic</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\t\t\t</div>\n            <h3>Professional</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n           \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t</div>\n            <h3>Business</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Choose Plan</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"102\" data-thumb=\"assets/minimalist-basic/thumbnails/y07.png\" data-cat=\"0,23\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:1em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>PRO</h2>\n\t\t\t\t\t<p style=\"font-size:1.3em;color:#808080\"><i>$29 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>BUSINESS</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$39 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>DEVELOPER</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$59 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"103\" data-thumb=\"assets/minimalist-basic/thumbnails/y08.png\" data-cat=\"0,23\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing Plans</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<h1>Basic</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">19</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<h1>Professional</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">39</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<h1>Business</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">49</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"104\" data-thumb=\"assets/minimalist-basic/thumbnails/y09.png\" data-cat=\"0,23\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.7em;margin:1em 0\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Basic</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">29</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Pro</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">39</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"assets/minimalist-basic/thumbnails/y10.png\" data-cat=\"0,23\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<h1 style=\"font-size: 4em;margin:1em 0\">Pricing Plans</h1>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Basic</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">39</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Professional</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">49</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\"> \n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Business</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">59</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"106\" data-thumb=\"assets/minimalist-basic/thumbnails/z01.png\" data-cat=\"0,24\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Meet The Team</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z01-1.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>          \n\n\t\t</div>\n\n\t\t<div class=\"uk-width-2-3\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z01-2.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>         \n\n\t\t</div>\n\n\t\t<div class=\"uk-width-2-3\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"107\" data-thumb=\"assets/minimalist-basic/thumbnails/z02.png\" data-cat=\"0,24\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t\t<h1 style=\"font-size: 3em\">Meet The Team</h1>\n\t\t    \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        \t</div>\n\t</div>\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t    <div class=\"uk-width-1-3 center\">\n\t\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z02-2.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"uk-width-2-3\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    \t</div>\n\t    <div class=\"uk-width-1-2\">\n\t\t    <div class=\"uk-grid\">\n\t\t\t    <div class=\"uk-width-1-3 center\">\n\t\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z02-3.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"uk-width-2-3\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\t\t\t\t    \n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    </div>\n    \t</div>\n</div>\n\n\n<div data-num=\"108\" data-thumb=\"assets/minimalist-basic/thumbnails/z03.png\" data-cat=\"0,24\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Our Team</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z03-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z03-2.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"109\" data-thumb=\"assets/minimalist-basic/thumbnails/z05.png\" data-cat=\"0,24\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            \t<h1 style=\"margin:1.2em 0;font-size:3em\">Meet The Team</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\t\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>              \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>    \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>         \n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"110\" data-thumb=\"assets/minimalist-basic/thumbnails/z06.png\" data-cat=\"0,24\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1>Our Team</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z06-4.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div> \n        </div>\n\t</div>\n</div>\n\n<div data-num=\"111\" data-thumb=\"assets/minimalist-basic/thumbnails/z07.png\" data-cat=\"0,24\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n                <h1>Meet Our Team</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z07-1.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\t\t\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>   \n\t\t</div>\n\t\t\n\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z07-2.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\t\t\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>   \n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"112\" data-thumb=\"assets/minimalist-basic/thumbnails/z09.png\" data-cat=\"0,24\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Meet The Team</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z09-1.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z09-2.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>  \n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"113\" data-thumb=\"assets/minimalist-basic/thumbnails/ab01.png\" data-cat=\"0,25\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n\t\t\t<div class=\"display center\">\n\n            \t<h1>Portfolio</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-1.jpg\">\t\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-2.jpg\">\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-3.jpg\">\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-4.jpg\">\t\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-5.jpg\">\n\n        </div>\n\n        <div class=\"uk-width-1-3\">\n\n\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab01-6.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"114\" data-thumb=\"assets/minimalist-basic/thumbnails/ab02.png\" data-cat=\"0,25\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <h1 style=\"font-size: 3em\">Our Works</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n            \n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-1.jpg\">\n\n\t\t    <p><b>Beautiful Content</b><br>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n\n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-2.jpg\">\n\n\t\t    <p><b>Printing and Typesetting</b><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n\n            <div class=\"padding-20\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab02-3.jpg\">\n\n\t\t    <p><b>Simply Dummy Text</b><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Vivamus leo ante, consectetur sit amet vulputate vel. </p>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"115\" data-thumb=\"assets/minimalist-basic/thumbnails/ab03.png\" data-cat=\"25\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Products</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-1.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n           \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Buy Now</a>\n\n           \t \t</div>\n\t\t\t</div>\n    \t</div>   \t\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-2.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Buy Now</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab03-3.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Buy Now</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"116\" data-thumb=\"assets/minimalist-basic/thumbnails/ab06.png\" data-cat=\"0,25\">\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-1.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-2.jpg\"><img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab06-3.jpg\">\n\t\t</div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"display\">\n                <h1 style=\"font-size:3.3em\">Portfolio</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            </div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n         </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">VIEW PROJECT</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"117\" data-thumb=\"assets/minimalist-basic/thumbnails/ab07.png\" data-cat=\"0,25\">\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-1.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product One</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Buy Now</a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-2.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Two</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab07-3.jpg\" style=\"border-radius: 500px\">\t\t\t\t\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Three</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n     \t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"118\" data-thumb=\"assets/minimalist-basic/thumbnails/ab10.png\" data-cat=\"0,25\">\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<i class=\"icon ion-ios-cart size-64\" style=\"color: #333\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab10-1.jpg\">\n        </div>\n\t\t<div class=\"uk-width-1-2\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"uk-width-1-2\">\n            \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ab10-2.jpg\">\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"assets/minimalist-basic/thumbnails/cd01.png\" data-cat=\"0,26\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-archive size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"120\" data-thumb=\"assets/minimalist-basic/thumbnails/cd03.png\" data-cat=\"0,26\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\n\t\t\t\t<h4>Step<span style=\"font-size: 4em\"><b>1</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>2</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>3</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"121\" data-thumb=\"assets/minimalist-basic/thumbnails/cd04.png\" data-cat=\"0,26\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <h1 style=\"font-size: 3em\">The Process</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 1</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-edit size-96\"></i>\n\n\t\t\t\t<h3>STEP 2</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-gear-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 3</h3>\n\n           \t <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-heart-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 4</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"122\" data-thumb=\"assets/minimalist-basic/thumbnails/cd06.png\" data-cat=\"0,26\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-compose-outline size-64\"></i>\t\t\t\n\t\t\t    \t<h3 style=\"margin-top:0\">Step One</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<i class=\"icon ion-ios-gear-outline size-64\"></i>\t\t\t\t\n\t\t\t    \t<h3 style=\"margin-top:0\">Step Two</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-paperplane-outline size-64\"></i>\t\t\t\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Step Three</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"123\" data-thumb=\"assets/minimalist-basic/thumbnails/cd07.png\" data-cat=\"0,26\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Work Steps</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-4\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">4</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"124\" data-thumb=\"assets/minimalist-basic/thumbnails/cd08.png\" data-cat=\"0,26\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-6\">\n \t\t\t\t\t<p><i class=\"icon ion-android-bulb size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-5-6\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step One</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-6\">\n\t\t\t\t\t<p><i class=\"icon ion-android-settings size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-5-6\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Two</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-6\">\n \t\t\t\t\t<p><i class=\"icon ion-android-favorite-outline size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-5-6\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Three</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-6\">\n\t\t\t\t\t<p><i class=\"icon ion-paper-airplane size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-5-6\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Four</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"125\" data-thumb=\"assets/minimalist-basic/thumbnails/cd09.png\" data-cat=\"0,26\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"126\" data-thumb=\"assets/minimalist-basic/thumbnails/cd10.png\" data-cat=\"0,26\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"margin:1.5em 0;font-size:3.2em\">How it Works</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 01</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 02</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t   \t \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"127\" data-thumb=\"assets/minimalist-basic/thumbnails/ef01.png\" data-cat=\"0,27\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<h1>Our Clients</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        </div>\n\n\t\t<div class=\"uk-width-2-3\">\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-3 center\">\n\n                  \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-1.png\">\n\n\t\t\t\t\t<p>Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-1-3 center\">\n\n                   <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-2.png\">\n\n\t\t\t\t\t<p>Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-1-3 center\">\n\n                   <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef01-3.png\">\n\n\t\t\t\t\t<p>Company Three</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"128\" data-thumb=\"assets/minimalist-basic/thumbnails/ef02.png\" data-cat=\"0,27\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3em\">Our Clients</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-1.png\">\n\n\t\t\t    <p>Company One</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-2.png\">\n\n\t\t\t    <p>Company Two</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-3.png\">\n\n\t\t\t    <p>Company Three</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-4.png\">\n\n\t\t\t    <p>Company Four</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef02-5.png\">\n\n\t\t\t    <p>Company Five</p>\n\n\t\t    </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"129\" data-thumb=\"assets/minimalist-basic/thumbnails/ef03.png\" data-cat=\"0,27\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em; margin:0.2em 0.5em\">Our Partners</h1>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef03-4.png\">\n\n\t\t\t<p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\t\n\n</div>\n\n\n<div data-num=\"130\" data-thumb=\"assets/minimalist-basic/thumbnails/ef05.png\" data-cat=\"27\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <h1>Our Partners</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\n             <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-1.png\">\n             \n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef05-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t</div>\t\n\n</div>\n\n<div data-num=\"131\" data-thumb=\"assets/minimalist-basic/thumbnails/ef08.png\" data-cat=\"27\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">Our Clients</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-1.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-2.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-3.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-4.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef08-5.png\">\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"132\" data-thumb=\"assets/minimalist-basic/thumbnails/ef09.png\" data-cat=\"0,27\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">Our Partners</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-1.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-2.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-3.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4\">\n \t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/ef09-4.png\">\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"133\" data-thumb=\"assets/minimalist-basic/thumbnails/gh01.png\" data-cat=\"0,28\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\t\n\n\t</div>\t\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-2 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-1.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-2 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-2.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-2 center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh01-3.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-1-2\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Three</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"134\" data-thumb=\"assets/minimalist-basic/thumbnails/gh02.png\" data-cat=\"0,28\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-3.png\">\n\n\t\t    <p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh02-4.png\">\n\n\t\t    <p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"135\" data-thumb=\"assets/minimalist-basic/thumbnails/gh03.png\" data-cat=\"0,28\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-3\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-1.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company One</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-3\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-2.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Two</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-3\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-3.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Three</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\t\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-3\">\n          \t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh03-4.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<h3>Company Four</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"136\" data-thumb=\"assets/minimalist-basic/thumbnails/gh05.png\" data-cat=\"28\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-1.png\">\n\n\t\t\t\t<h3>Company One</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-2.png\">\n\n\t\t\t\t<h3>Company Two</h3>\n\n        \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh05-3.png\">\n\n\t\t\t\t<h3>Company Three</h3>\n\n    \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n    \t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"137\" data-thumb=\"assets/minimalist-basic/thumbnails/gh07.png\" data-cat=\"28\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-1.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-2.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh07-3.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"138\" data-thumb=\"assets/minimalist-basic/thumbnails/gh08.png\" data-cat=\"0,28\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-1.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company One</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-2.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Two</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-3.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Three</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh08-4.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Four</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"139\" data-thumb=\"assets/minimalist-basic/thumbnails/gh09.png\" data-cat=\"0,28\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-1.png\">\t\t\t\n\t\t\t    \t<h3>Company One</h3> \n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-2.png\">\t\t\t\n\t\t\t    \t<h3>Company Two</h3>\t\t\t  \n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/gh09-3.png\">\t\t\n\t\t\t \t\t<h3>Company Three</h3>\t\t\t \n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"140\" data-thumb=\"assets/minimalist-basic/thumbnails/ij01.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"uk-grid\">\n            \t<div class=\"uk-width-1-3 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>359</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"uk-grid\">\n            \t<div class=\"uk-width-1-3 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>620</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"uk-grid\">\n            \t<div class=\"uk-width-1-3 center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-trophy size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>117</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"141\" data-thumb=\"assets/minimalist-basic/thumbnails/ij02.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\t\n\t\t\t<div class=\"is-card is-dark-text\" style=\"display:table;border-radius: 20px;width: 250px;\">\t\t\t\t\n   \t\t\t\t<div style=\"display:table-cell;vertical-align: middle;text-align:center\">\t\t\n\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\" style=\"vertical-align: middle;margin-right: 20px;\"></i>\n\t\t\t\t\t<b style=\"font-weight: 800;font-size: 2.2em;\">150+</b>\n  \t\t\t\t</div>\n\t\t\t</div>\t\t\t\n\t\t</div>\n\t\t<div class=\"uk-width-1-3\">\n            \t\t<div class=\"uk-grid\">\n                \t\t<div class=\"uk-width-1-1\">               \t\t\n                \t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>More than 150 people believed us.</h3>\n                    \t\t\t</div>\n                    \t\t</div>                 \t\t\t\n                \t\t</div>\n           \t\t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-3\">\n            \t\t<div class=\"uk-grid\">\n                \t\t<div class=\"uk-width-1-1\">\n           \t\t\t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>Find Us:</h3>\n                    \t\t\t\t<div class=\"clearfix is-boxed-button-small\">\n                        \t\t\t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        \t\t\t\t<a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                        \t\t\t\t<a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                    \t\t\t\t</div>\n                    \t\t\t</div>                 \t\t\t\n                \t\t\t</div>\t\t     \t\t\t\n                \t\t</div>\n            \t\t</div>\n       \t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"142\" data-thumb=\"assets/minimalist-basic/thumbnails/ij03.png\" data-cat=\"0,29\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <i class=\"icon ion-laptop size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <i class=\"icon ion-ios-people size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <i class=\"icon ion-ios-heart-outline size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n            <i class=\"icon ion-trophy size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"143\" data-thumb=\"assets/minimalist-basic/thumbnails/ij04.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n             <h1 class=\"size-48\">Achievements</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-3-4\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>130</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-3-4\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>315</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            \t<br>\n        </div>\n    </div>\n    \n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-3-4\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>270</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-4 center\">\n\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-80\"></i>\n\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-3-4\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>420</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"144\" data-thumb=\"assets/minimalist-basic/thumbnails/ij05.png\" data-cat=\"0,29\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t   <i class=\"icon ion-trophy size-64\"></i>\n\n           <h1 class=\"size-48\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">120</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">HAPPY CLIENTS</h4>\n\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">80+</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">LAYOUTS</h4>\n\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">97</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">PROJECTS</h4>\n\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">215</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">AWARDS</h4>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"145\" data-thumb=\"assets/minimalist-basic/thumbnails/ij06.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n             <h1 class=\"size-48\" style=\"margin:1.2em 0\">Achievements</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-code-working size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-trophy size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"146\" data-thumb=\"assets/minimalist-basic/thumbnails/ij07.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<i class=\"icon ion-android-star-outline size-48\"></i>\n        \t<h2>Achievements</h2>\n        \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\">Read More</a>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<i class=\"icon ion-trophy size-48\"></i>\n            <h2>Awards</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"147\" data-thumb=\"assets/minimalist-basic/thumbnails/ij08.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.5em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-ios-people-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">1.200</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-ios-compose-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">879</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-ios-heart-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">3.124</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"148\" data-thumb=\"assets/minimalist-basic/thumbnails/ij09.png\" data-cat=\"29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2 center\">\n            <i class=\"icon ion-ios-people-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"uk-width-1-2 center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2 center\">\n            <i class=\"icon ion-ios-star-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n        \n\t\t<div class=\"uk-width-1-2 center\">\n            <i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"149\" data-thumb=\"assets/minimalist-basic/thumbnails/ij10.png\" data-cat=\"0,29\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n            <div style=\"border:1px solid black;padding:0 15px 10px;margin-right:1em\">\n            \t<i class=\"icon ion-ios-people-outline size-64\"></i>\n            \t<p style=\"margin-top:0\"><span style=\"margin-top:0;font-size:2em;font-weight:800\">1.234</span><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-2-3\">\n            <h1>Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t<div style=\"margin:1.7em 0\">\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"150\" data-thumb=\"assets/minimalist-basic/thumbnails/kl01.png\" data-cat=\"0,30\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<i class=\"icon ion-android-time size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800;margin:0.2em 0\">COMING SOON</h1>\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <p style=\"margin: 1.5em 0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"clearfix is-rounded-button-big\">\n\n\t\t\t    <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n\t\t\t    <a href=\"https://facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t    <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000\"><i class=\"icon ion-social-youtube\"></i></a>\n\n\t\t\t    <a href=\"http://www.website.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-ios-home\"></i></a>\n\n\t\t\t    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"151\" data-thumb=\"assets/minimalist-basic/thumbnails/kl02.png\" data-cat=\"0,30\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n            <h1 class=\"size-80\" style=\"font-weight:800\">UNDER CONSTRUCTION</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div style=\"margin:1em 0 2.5em;\">\n\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"152\" data-thumb=\"assets/minimalist-basic/thumbnails/kl03.png\" data-cat=\"0,30\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<h3>Company Name</h3>\n\n            <h1 class=\"size-80\" style=\"font-weight:800;\">COMING SOON</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                <a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"153\" data-thumb=\"assets/minimalist-basic/thumbnails/kl04.png\" data-cat=\"30\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em\">We are coming very soon</h1>\n\n\t\t\t</div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-3\">\n\n    \t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-4\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-3-4\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n     \t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-4\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-3-4\">\n\n                    <p><b>Call us</b><br>(123) 456 7890<br>456 7891</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n\n\t\t\t<div class=\"uk-grid\">\n\n\t\t\t\t<div class=\"uk-width-1-4\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"uk-width-3-4\">\n\n                    <p>\n\n              \t\t    <strong>Email</strong><br>\n\n              \t\t    <a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"154\" data-thumb=\"assets/minimalist-basic/thumbnails/kl05.png\" data-cat=\"30\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4.3em\">Under Construction</h1>\n\n\t\t        <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            </div>\n\n        </div>\t\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Get Notified</a>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1\">\n\n           \t<br>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"155\" data-thumb=\"assets/minimalist-basic/thumbnails/kl07.png\" data-cat=\"0,30\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"width:100%;max-width:450px;margin: 0 auto\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<i class=\"icon ion-ios-alarm-outline size-64\"></i>\n                \t<h1 style=\"margin-top:0\">Coming Soon!</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<br>\n\t\t\t\t\t<div class=\"is-social\">\n\t\t\t\t\t\t<div class=\"size-21\">\n                \t\t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\t\t\t\t\t\n\t\t\t\t\t\t</div>      \n\t\t\t\t\t</div>   \n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"156\" data-thumb=\"assets/minimalist-basic/thumbnails/kl08.png\" data-cat=\"0,30\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n                    <h1 style=\"font-size:3.5em\">WE ARE CURRENTLY UNDER CONSTRUCTION</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <div class=\"clearfix is-boxed-button-small\" style=\"margin:1.5em 0\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\t\t\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest\"></i></a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"157\" data-thumb=\"assets/minimalist-basic/thumbnails/kl09.png\" data-cat=\"0,30\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"width:100%;max-width:700px;margin:0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<h1 style=\"font-size:3em\">COMING SOON</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<div style=\"margin:2em 0;\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-large\" style=\"border-radius:50px\">Read More</a>\n            \t\t</div>\n\t\t\t\t\t<div style=\"margin:1em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius:50px\">Get Updates</a>          \t\t\n            \t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"158\" data-thumb=\"assets/minimalist-basic/thumbnails/kl10.png\" data-cat=\"30\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<i class=\"icon ion-android-bicycle size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin:0.2em 0\">WE ARE COMING VERY SOON</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <br><br>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h3>Contact Us</h3>\n        \t<p>Company, Inc. 123 Street, City. State 12345. <br>(123) 456 7890 / 456 7891</p>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"159\" data-thumb=\"assets/minimalist-basic/thumbnails/mn01.png\" data-cat=\"0,31\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<i class=\"icon ion-android-alert size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800\">PAGE NOT FOUND</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n       </div>\t\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">Back to Home Page</a>\n\n           </div>\n\n\t\t</div>\t\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"160\" data-thumb=\"assets/minimalist-basic/thumbnails/mn02.png\" data-cat=\"0,31\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"clearfix is-rounded-button-medium\">\n\n\t\t\t\t<a href=\"http://www.website.com/\" style=\"background-color: #fff;\"><i style=\"color:#000\" class=\"icon ion-ios-home\"></i></a>\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"161\" data-thumb=\"assets/minimalist-basic/thumbnails/mn03.png\" data-cat=\"0,31\">\n\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1><span style=\"font-size: 3em\">404</span></h1>\n\t\t\t\t\t</div>\n            \t\t<h5>The page you are looking for doesn't exist.</h5>\n \t\t\t\t\t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\">Back Home</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"162\" data-thumb=\"assets/minimalist-basic/thumbnails/mn04.png\" data-cat=\"0,31\">\n\n    <div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1 center\">\n\n             <i class=\"icon ion-ios-pulse size-80\"></i>\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4em\">Oops...</h1>\n\n            </div>\n\n            <h1 style=\"font-size: 3em\">Page Not Found</h1>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"163\" data-thumb=\"assets/minimalist-basic/thumbnails/mn05.png\" data-cat=\"0,31\">\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"uk-grid\">\n\n\t\t<div class=\"uk-width-1-1 center\">\n\n            <div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets-uikit.html#\" class=\"uk-button uk-button-primary uk-button-large\" style=\"border-radius: 50px\">BACK HOME</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"164\" data-thumb=\"assets/minimalist-basic/thumbnails/mn08.png\" data-cat=\"31\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:6em\">Error <span style=\"font-weight:800\">404</span></h1>\n            <h3 style=\"margin-top:0\">The page you are looking for doesn't exist.</h3>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t\t<a href=\"snippets-uikit.html#\"><i class=\"icon ion-ios-home size-64\"></i></a>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"165\" data-thumb=\"assets/minimalist-basic/thumbnails/mn09.png\" data-cat=\"0,31\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n             <i class=\"icon ion-android-sad size-80\"></i>\n            <h1 style=\"font-size:3em;margin-top:0\">Sorry, this page doesn't exist.</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets-uikit.html#\">BACK TO HOMEPAGE</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"166\" data-thumb=\"assets/minimalist-basic/thumbnails/op01.png\" data-cat=\"0,32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">OUR SKILLS</h1>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">98%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Design</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">87%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Development</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">100%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Customer Support</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"167\" data-thumb=\"assets/minimalist-basic/thumbnails/op02.png\" data-cat=\"0,32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-4 center\">\n            <h1 style=\"font-weight:800\">93%</h1>\n            <h3 style=\"font-size:1.2em\">HTML &amp; CSS</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n            <h1 style=\"font-weight:800\">71%</h1>\n            <h3 style=\"font-size:1.2em\">JavaScript</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n            <h1 style=\"font-weight:800\">90%</h1>\n            <h3 style=\"font-size:1.2em\">PHP</h3>\n        </div>\n\n\t\t<div class=\"uk-width-1-4 center\">\n            <h1 style=\"font-weight:800\">85%</h1>\n            <h3 style=\"font-size:1.2em\">Photoshop</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"168\" data-thumb=\"assets/minimalist-basic/thumbnails/op03.png\" data-cat=\"0,32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 display center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"uk-grid\">\n            \t<div class=\"uk-width-1-3 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>89%</b></span><br><br>Web Design</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"uk-grid\">\n            \t<div class=\"uk-width-1-3 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-code size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>92%</b></span><br><br>HTML &amp; CSS</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"uk-width-1-3\">\n\t\t\t<div class=\"uk-grid\">\n            \t<div class=\"uk-width-1-3 center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-settings size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-2-3 center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>81%</b></span><br><br>Marketing</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"169\" data-thumb=\"assets/minimalist-basic/thumbnails/op04.png\" data-cat=\"0,32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.2em 0\">TEAM SKILLS</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">89</span>%</h2>\n\t\t\t<h3>Web Design</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n        \n        <div class=\"uk-width-1-3 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">91</span>%</h2>\n\t\t\t<h3>PHP</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n        \n\t\t<div class=\"uk-width-1-3 center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">95</span>%</h2>\n\t\t\t<h3>HTML &amp; CSS</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"170\" data-thumb=\"assets/minimalist-basic/thumbnails/op05.png\" data-cat=\"0,32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">OUR SKILLS</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">92</span>%</h1>\n\t\t\t\t\t<h3>UX/UI Design</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">88</span>%</h1>\n\t\t\t\t\t<h3>Development</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">65</span>%</h1>\n\t\t\t\t\t<h3>Branding</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"171\" data-thumb=\"assets/minimalist-basic/thumbnails/op07.png\" data-cat=\"32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <h2 style=\"font-size:2.2em;margin-top:0.2em\">Our Skills</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\n\t\t<div class=\"uk-width-2-3\">\n\t\t\t<div class=\"uk-grid\">\n\t\t\t\t<div class=\"uk-width-1-2\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">85%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                    <h3 style=\"text-align:center\">Web Design</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"uk-width-1-2\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">91%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                \t<h3 style=\"text-align:center\">HTML &amp; CSS</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"172\" data-thumb=\"assets/minimalist-basic/thumbnails/op08.png\" data-cat=\"32\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1 center\">\n            <h1 style=\"font-size:3em\">Knowledge</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        </div>\n\t</div>\n\t\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3 center\">\n                <i class=\"icon ion-ios-heart-outline size-64\"></i>\n                <h2 style=\"font-size:1.3em;margin-top:0\"><strong>92%</strong>, Web Design</h2>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>78%</strong>, Video Editing</h2>\n        </div>\n\n\t\t<div class=\"uk-width-1-3 center\">\n            <i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>89%</strong>, Web Development</h2>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Category: Title, Sub Title -->\n\n\n<div data-num=\"173\" data-thumb=\"assets/minimalist-basic/thumbnails/b15.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"174\" data-thumb=\"assets/minimalist-basic/thumbnails/b16.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"175\" data-thumb=\"assets/minimalist-basic/thumbnails/b17.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"176\" data-thumb=\"assets/minimalist-basic/thumbnails/b18.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"177\" data-thumb=\"assets/minimalist-basic/thumbnails/b19.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"178\" data-thumb=\"assets/minimalist-basic/thumbnails/b20.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"179\" data-thumb=\"assets/minimalist-basic/thumbnails/b21.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"180\" data-thumb=\"assets/minimalist-basic/thumbnails/b22.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"181\" data-thumb=\"assets/minimalist-basic/thumbnails/b23.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"182\" data-thumb=\"assets/minimalist-basic/thumbnails/b24.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"183\" data-thumb=\"assets/minimalist-basic/thumbnails/b25.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"184\" data-thumb=\"assets/minimalist-basic/thumbnails/b26.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"185\" data-thumb=\"assets/minimalist-basic/thumbnails/b27.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-96 is-title4-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"186\" data-thumb=\"assets/minimalist-basic/thumbnails/b28.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-64 is-title4-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"187\" data-thumb=\"assets/minimalist-basic/thumbnails/b29.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-48 is-title4-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"188\" data-thumb=\"assets/minimalist-basic/thumbnails/b30.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-32 is-title4-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"189\" data-thumb=\"assets/minimalist-basic/thumbnails/b31.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"190\" data-thumb=\"assets/minimalist-basic/thumbnails/b32.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"191\" data-thumb=\"assets/minimalist-basic/thumbnails/b33.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"192\" data-thumb=\"assets/minimalist-basic/thumbnails/b34.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"193\" data-thumb=\"assets/minimalist-basic/thumbnails/b35.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"194\" data-thumb=\"assets/minimalist-basic/thumbnails/b36.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"195\" data-thumb=\"assets/minimalist-basic/thumbnails/b37.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n             <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"196\" data-thumb=\"assets/minimalist-basic/thumbnails/b38.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"197\" data-thumb=\"assets/minimalist-basic/thumbnails/b39.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"198\" data-thumb=\"assets/minimalist-basic/thumbnails/b40.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"199\" data-thumb=\"assets/minimalist-basic/thumbnails/b41.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"200\" data-thumb=\"assets/minimalist-basic/thumbnails/b42.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"201\" data-thumb=\"assets/minimalist-basic/thumbnails/b43.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"202\" data-thumb=\"assets/minimalist-basic/thumbnails/b44.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"203\" data-thumb=\"assets/minimalist-basic/thumbnails/b45.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"204\" data-thumb=\"assets/minimalist-basic/thumbnails/b46.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"205\" data-thumb=\"assets/minimalist-basic/thumbnails/b47.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-96 is-title4-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"206\" data-thumb=\"assets/minimalist-basic/thumbnails/b48.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-64 is-title4-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"207\" data-thumb=\"assets/minimalist-basic/thumbnails/b49.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-48 is-title4-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"208\" data-thumb=\"assets/minimalist-basic/thumbnails/b50.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-32 is-title4-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"209\" data-thumb=\"assets/minimalist-basic/thumbnails/b51.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"210\" data-thumb=\"assets/minimalist-basic/thumbnails/b52.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"211\" data-thumb=\"assets/minimalist-basic/thumbnails/b53.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"212\" data-thumb=\"assets/minimalist-basic/thumbnails/b54.png\" data-cat=\"2\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<!-- Category: Info, Title -->\n\n<div data-num=\"213\" data-thumb=\"assets/minimalist-basic/thumbnails/c02.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<p class=\"size-24 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"214\" data-thumb=\"assets/minimalist-basic/thumbnails/c03.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"215\" data-thumb=\"assets/minimalist-basic/thumbnails/c04.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"216\" data-thumb=\"assets/minimalist-basic/thumbnails/c05.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"217\" data-thumb=\"assets/minimalist-basic/thumbnails/c06.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"218\" data-thumb=\"assets/minimalist-basic/thumbnails/c07.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"219\" data-thumb=\"assets/minimalist-basic/thumbnails/c08.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"220\" data-thumb=\"assets/minimalist-basic/thumbnails/c09.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"221\" data-thumb=\"assets/minimalist-basic/thumbnails/c10.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"222\" data-thumb=\"assets/minimalist-basic/thumbnails/c11.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"223\" data-thumb=\"assets/minimalist-basic/thumbnails/c12.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"224\" data-thumb=\"assets/minimalist-basic/thumbnails/c13.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"225\" data-thumb=\"assets/minimalist-basic/thumbnails/c14.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title4-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"226\" data-thumb=\"assets/minimalist-basic/thumbnails/c15.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title4-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"227\" data-thumb=\"assets/minimalist-basic/thumbnails/c16.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title4-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"228\" data-thumb=\"assets/minimalist-basic/thumbnails/c17.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title4-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"229\" data-thumb=\"assets/minimalist-basic/thumbnails/c18.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"230\" data-thumb=\"assets/minimalist-basic/thumbnails/c19.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"231\" data-thumb=\"assets/minimalist-basic/thumbnails/c20.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"232\" data-thumb=\"assets/minimalist-basic/thumbnails/c21.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"233\" data-thumb=\"assets/minimalist-basic/thumbnails/c22.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<p class=\"size-24 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"234\" data-thumb=\"assets/minimalist-basic/thumbnails/c23.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"235\" data-thumb=\"assets/minimalist-basic/thumbnails/c24.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"236\" data-thumb=\"assets/minimalist-basic/thumbnails/c25.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"237\" data-thumb=\"assets/minimalist-basic/thumbnails/c26.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"238\" data-thumb=\"assets/minimalist-basic/thumbnails/c27.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"239\" data-thumb=\"assets/minimalist-basic/thumbnails/c28.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"240\" data-thumb=\"assets/minimalist-basic/thumbnails/c29.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"241\" data-thumb=\"assets/minimalist-basic/thumbnails/c30.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"242\" data-thumb=\"assets/minimalist-basic/thumbnails/c31.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"243\" data-thumb=\"assets/minimalist-basic/thumbnails/c32.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"244\" data-thumb=\"assets/minimalist-basic/thumbnails/c33.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"245\" data-thumb=\"assets/minimalist-basic/thumbnails/c34.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title4-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"246\" data-thumb=\"assets/minimalist-basic/thumbnails/c35.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title4-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"247\" data-thumb=\"assets/minimalist-basic/thumbnails/c36.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title4-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"248\" data-thumb=\"assets/minimalist-basic/thumbnails/c37.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title4-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"249\" data-thumb=\"assets/minimalist-basic/thumbnails/c38.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"250\" data-thumb=\"assets/minimalist-basic/thumbnails/c39.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"251\" data-thumb=\"assets/minimalist-basic/thumbnails/c40.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"252\" data-thumb=\"assets/minimalist-basic/thumbnails/c41.png\" data-cat=\"3\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Buttons  -->\n\n<div data-num=\"253\" data-thumb=\"assets/minimalist-basic/thumbnails/ce01.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"254\" data-thumb=\"assets/minimalist-basic/thumbnails/ce02.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"255\" data-thumb=\"assets/minimalist-basic/thumbnails/ce03.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"256\" data-thumb=\"assets/minimalist-basic/thumbnails/ce04.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"257\" data-thumb=\"assets/minimalist-basic/thumbnails/ce05.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"258\" data-thumb=\"assets/minimalist-basic/thumbnails/ce06.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"259\" data-thumb=\"assets/minimalist-basic/thumbnails/ce07.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a> &nbsp;\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"260\" data-thumb=\"assets/minimalist-basic/thumbnails/ce08.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"261\" data-thumb=\"assets/minimalist-basic/thumbnails/ce09.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"262\" data-thumb=\"assets/minimalist-basic/thumbnails/ce10.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"263\" data-thumb=\"assets/minimalist-basic/thumbnails/ce11.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"264\" data-thumb=\"assets/minimalist-basic/thumbnails/ce12.png\" data-cat=\"33\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\n            <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- Cards -->\n\n\n<div data-num=\"265\" data-thumb=\"assets/minimalist-basic/thumbnails/de01.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>              \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>    \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>         \n        \t\t</div>\n\t\t\t</div>\n         </div>\n\t</div>\n</div>\n\n<div data-num=\"266\" data-thumb=\"assets/minimalist-basic/thumbnails/de02.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n     \t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t     \t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>  \n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"267\" data-thumb=\"assets/minimalist-basic/thumbnails/de03.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>     \n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"268\" data-thumb=\"assets/minimalist-basic/thumbnails/de04.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"269\" data-thumb=\"assets/minimalist-basic/thumbnails/de05.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"270\" data-thumb=\"assets/minimalist-basic/thumbnails/de06.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"271\" data-thumb=\"assets/minimalist-basic/thumbnails/de07.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n \t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\t \t\t\n              </div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\t\t\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"272\" data-thumb=\"assets/minimalist-basic/thumbnails/de08.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\t\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"273\" data-thumb=\"assets/minimalist-basic/thumbnails/de09.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p> \t\t\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"274\" data-thumb=\"assets/minimalist-basic/thumbnails/de10.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\t\n\t</div>\n</div>\n\n<div data-num=\"275\" data-thumb=\"assets/minimalist-basic/thumbnails/de11.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"276\" data-thumb=\"assets/minimalist-basic/thumbnails/de12.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"277\" data-thumb=\"assets/minimalist-basic/thumbnails/de13.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n \t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n        \n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-25 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"278\" data-thumb=\"assets/minimalist-basic/thumbnails/de14.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"279\" data-thumb=\"assets/minimalist-basic/thumbnails/de15.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<div class=\"margin-30 center\">\t\t\t\t\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"280\" data-thumb=\"assets/minimalist-basic/thumbnails/de16.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n        \n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"281\" data-thumb=\"assets/minimalist-basic/thumbnails/de17.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n           <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"282\" data-thumb=\"assets/minimalist-basic/thumbnails/de18.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"283\" data-thumb=\"assets/minimalist-basic/thumbnails/de19.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"284\" data-thumb=\"assets/minimalist-basic/thumbnails/de20.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"uk-width-1-2\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"285\" data-thumb=\"assets/minimalist-basic/thumbnails/de21.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n            <div class=\"is-card max-390 is-dark-text\">\t\t\t\t\n\t\t\t    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"286\" data-thumb=\"assets/minimalist-basic/thumbnails/de22.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"287\" data-thumb=\"assets/minimalist-basic/thumbnails/de23.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n             \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"288\" data-thumb=\"assets/minimalist-basic/thumbnails/de24.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"289\" data-thumb=\"assets/minimalist-basic/thumbnails/de25.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"290\" data-thumb=\"assets/minimalist-basic/thumbnails/de26.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"291\" data-thumb=\"assets/minimalist-basic/thumbnails/de27.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>           \n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"292\" data-thumb=\"assets/minimalist-basic/thumbnails/de28.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\t\t\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"293\" data-thumb=\"assets/minimalist-basic/thumbnails/de29.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\t\t<div class=\"uk-width-1-1\">\n\t\t\t<div class=\"is-card is-dark-text\">\n\t\t\t\t<div class=\"margin-40 center\">\t\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"294\" data-thumb=\"assets/minimalist-basic/thumbnails/de30.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-3\">\n            <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-2.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n        \n\t\t<div class=\"uk-width-1-3\">\n           <div class=\"is-card is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de01-3.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-25\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"295\" data-thumb=\"assets/minimalist-basic/thumbnails/de31.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-2\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"uk-width-1-2\">\n           <div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-2.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"296\" data-thumb=\"assets/minimalist-basic/thumbnails/de32.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n    \t\t<div class=\"is-card max-390 is-dark-text\">\n\t\t\t\t<img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/minimalist-basic/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\t\t\t\t\n\t\t\t\t<div class=\"margin-30\">\t\t\t\t\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"297\" data-thumb=\"assets/minimalist-basic/thumbnails/de33.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n            <div class=\"is-card is-card-circle is-dark-text\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"298\" data-thumb=\"assets/minimalist-basic/thumbnails/de34.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n            <div class=\"is-card is-card-circle is-dark-text\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"299\" data-thumb=\"assets/minimalist-basic/thumbnails/de35.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"300\" data-thumb=\"assets/minimalist-basic/thumbnails/de36.png\" data-cat=\"34\">\n\t<div class=\"uk-grid\">\n\n        <div class=\"uk-width-1-1\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets-uikit.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\t\n                    </div>\t   \n            \t</div>                     \n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"301\" data-thumb=\"assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"0,35\">\n    <div class=\"row clearfix\">\n        <div class=\"column full\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"%3Cdiv%20id%3D%22{id}%22%20class%3D%22slider-on-content%22%20style%3D%22width%3A100%25%3Bheight%3A400px%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-b.jpg')%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-a.jpg')%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23{id}%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23{id}%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20true%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%203000%2Cfade%3A%20false%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E\" data-settings=\"%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Atrue%2C%22dots%22%3Atrue%2C%22fade%22%3Afalse%2C%22height%22%3A%22400%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-b.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%2C%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-a.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%5D%7D%5D\">\n        \n        </div>\n    </div>\n</div>\n\n<div data-num=\"302\" data-thumb=\"assets/minimalist-basic/thumbnails/code.png\" data-cat=\"0,100\">\n    <div class=\"row clearfix\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22uk-width-1-1%22%3E%0A%0A%3Ch1%20id%3D%22{id}%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n        <div class=\"uk-width-1-1\">\n\n        </div>\n    </div>\n</div>\n\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/snippets.html",
    "content": "\n<!-- Title -->\n\n<div data-num=\"1\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a01.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"2\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a02.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"3\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a03.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"4\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a04.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite is-upper\">Lorem Ipsum is simply dummy text</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"5\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a05.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"6\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a06.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"7\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a07.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"8\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a08.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"9\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a09.png\" data-cat=\"0,1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"10\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/a10.png\" data-cat=\"1\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n        </div>\n\t</div>\n</div>\n\n<!---->\n\n\n<div data-num=\"11\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c01.png\" data-cat=\"0\">\n\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n            <div class=\"display\">\n\t\t\t    <p class=\"size-21 is-info2\"><i>This is a special report</i></p>\n                <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Lorem Ipsum is simply dummy text of the printing industry</h1>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"12\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g01.png\" data-cat=\"0,6\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"13\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e01.png\" data-cat=\"0,5\">\n\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <h1>Heading 1 Text Goes Here</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"14\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e02.png\" data-cat=\"0,5\">\n\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <h2>Heading 2 Text Goes Here</h2>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"15\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e09.png\" data-cat=\"0,5\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n\t\t\t<h1>Lorem Ipsum</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t\t<div class=\"column two-third\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/e09-1.jpg\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"16\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/v01.png\" data-cat=\"0,19\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <hr>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"17\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/v02.png\" data-cat=\"0,19\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <br><br>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"18\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b01.png\" data-cat=\"0\">\n\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n            <div class=\"display\">\n\t\t\t    <h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Beautiful Content. Responsive.</h1>\n                <p class=\"size-21\"><i>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</i></p>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"19\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b12.png\" data-cat=\"0\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/b12-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t</div>\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Lorem Ipsum is Simply</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text</p>\n\n\t\t\t</div>\n\n\t\t\t<p style=\"text-align: center\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"20\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b14.png\" data-cat=\"0\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n\t\t\t<div class=\"display center\">\n\n\t\t\t\t<h1>Beautiful Content</h1>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"center\">\n\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/b14-1.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/b14-2.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/b14-3.jpg\">\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"21\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g02.png\" data-cat=\"0,6\">\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g02-1.jpg\">\n\n        \t</div>\n\t\t\t<div class=\"column half\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"22\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/g03.png\" data-cat=\"0,6\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       \t\t </div>\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\">\n\n       \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"23\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/h01.png\" data-cat=\"0,6\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t\t<div class=\"column half\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h01-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h01-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h01-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"24\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/h02.png\" data-cat=\"0,6\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h02-1.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h02-2.jpg\" style=\"border-radius:500px;margin-right: 1.5em\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/h02-3.jpg\" style=\"border-radius:500px\">\n\n\t\t</div>\n\n\t\t<div class=\"column half\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"25\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/o01.png\" data-cat=\"0,12\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/o01-1.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"26\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k06.png\" data-cat=\"0,9\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column fourth\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-1.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-2.jpg\">\n\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"27\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k02.png\" data-cat=\"0,9\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"column third\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-2.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"column third\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-3.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"28\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/k01.png\" data-cat=\"0,9\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-1.jpg\">\n\n                \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n        \t<div class=\"column half\">\n\n            \t\t<figure>\n\n\t\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-2.jpg\">\n\n               \t \t\t<figcaption>\n\n\t\t\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n\t\t\t\t\t\t</figcaption>\n\n\t\t\t\t\t</figure>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"29\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p01.png\" data-cat=\"0,13\">\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p01-1.jpg\">\n\n       \t \t</div>\n\n\t\t<div class=\"column half\">\n\n           \t\t<div class=\"display\">\n\n               \t\t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"30\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p02.png\" data-cat=\"0,13\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<div class=\"display\">\n\n                \t\t<h1>Beautiful content. Responsive.</h1>\n\n                \t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n                \t\t</div>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"31\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p03.png\" data-cat=\"13\">\n\n \t<div class=\"row clearfix\">\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p03-1.jpg\">\n\n        \t</div>\n\n\t\t<div class=\"column half\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n            \t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"32\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p04.png\" data-cat=\"13\">\n\n \t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<h1>Beautiful content. Responsive.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p04-1.jpg\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"33\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p05.png\" data-cat=\"0,13\">\n\n  <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"display center\">\n\n                <h1>Beautiful content. Responsive.</h1>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n         </div>\n\n    </div>\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"34\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p06.png\" data-cat=\"0,13\">\n\n <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"display center\">\n\n                <h1 style=\"font-size:4em\">Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n\n        </div>\n\n    </div>\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"35\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p07.png\" data-cat=\"0,13\">\n\n <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"center\" style=\"margin:1em 0 2.5em;\">\n\n            <a href=\"snippets.html#\" class=\"btn btn-default\">Read More</a> &nbsp;\n\n            <a href=\"snippets.html#\" class=\"btn btn-primary\">Download</a>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"36\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q01.png\" data-cat=\"0,14\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column half\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"column half\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"37\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q02.png\" data-cat=\"0,14\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column third\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"column third\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n        <div class=\"column third\">\n\n            <div class=\"list\">\n\n                <i class=\"icon ion-checkmark\"></i>\n\n                <h3>Feature Item</h3>\n\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n<div data-num=\"38\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q30.png\" data-cat=\"0,14\">\n\n    <div class=\"row clearfix\">\n        <div class=\"column half\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"column half\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n    </div>\n\n</div>\n\n<div data-num=\"39\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q31.png\" data-cat=\"0,14\">\n\n    <div class=\"row clearfix\">\n        <div class=\"column third\">\n\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n\n       <div class=\"column third\">\n\t\t\t\t<i class=\"icon ion-android-create size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div><div class=\"column third\">\n\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-48\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">Feature Item </h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n       </div>\n    </div>\n\n</div>\n\n\n<div data-num=\"40\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r01.png\" data-cat=\"0,15\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"41\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r02.png\" data-cat=\"0,15\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column half\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n        <div class=\"column half\">\n\n            <div class=\"quote\">\n\n                <i class=\"icon ion-quote\"></i>\n\n\t            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                <small>by Your Name</small>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"42\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r03.png\" data-cat=\"0,15\">\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half center\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r03-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t\t\t<div class=\"column half\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"43\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r04.png\" data-cat=\"0,15\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<div class=\"quote\">\n\n                \t\t<i class=\"icon ion-quote\"></i>\n\n\t            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<small>by Your Name</small>\n\n            \t\t</div>\n\n        \t</div>\n\n       \t\t<div class=\"column half center\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r04-1.jpg\" style=\"border-radius:500px;margin-top:1.5em\">\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n\n\n<div data-num=\"44\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s01.png\" data-cat=\"0,16\">\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column sixth center\">\n\n                <p><img src=\"/vendor/content-builder/assets/minimalist-basic/s01-1.jpg\" style=\"border-radius:500px;margin-top:5px;\"></p>\n\n        \t</div>\n\n\t\t\t<div class=\"column two-sixth\">\n\n            \t\t<p>\n\n                \t<b>Sara Phillipps</b><br>A freelance web designer &amp; developer based in Melbourne, Australia.\n\n            \t\t</p>\n\n            \t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<!--<a href=\"#\"><i class=\"icon ion-social-github\"></i></a>\n\n                \t\t<a href=\"snippets.html#\"><i class=\"icon ion-social-dribbble\"></i></a>\n\n                \t\t<a href=\"snippets.html#\"><i class=\"icon ion-social-pinterest\"></i></a>\n\n                \t\t<a href=\"snippets.html#\"><i class=\"icon ion-social-linkedin\"></i></a>\n\n                \t\t<a href=\"snippets.html#\"><i class=\"icon ion-social-instagram\"></i></a>-->\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n           \t \t</div>\n\n       \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"45\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s03.png\" data-cat=\"0,16\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column two-third\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/s03-1.jpg\">\n\n \t\t</div>\n\n\t\t<div class=\"column third center\">\n\n\t\t\t<h2>Lorem Ipsum</h2>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"46\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/s10.png\" data-cat=\"0,24\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n\t        <div class=\"row clearfix\">\n\n\t\t\t    <div class=\"column third center\">\n\n\t\t\t\t    <p><img src=\"/vendor/content-builder/assets/minimalist-basic/s10-1.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"column two-third\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column half\">\n\n\t        <div class=\"row clearfix\">\n\n\t\t\t    <div class=\"column third center\">\n\n\t\t\t\t    <p><img src=\"/vendor/content-builder/assets/minimalist-basic/s10-2.jpg\" style=\"border-radius:500px;margin-top:10px;\"></p>\n\n\t\t\t    </div>\n\n\t\t\t    <div class=\"column two-third\">\n\n\t\t\t\t    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t    <div class=\"is-social\">\n\n                \t\t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t\t    </div>\n\n\t\t\t    </div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"47\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/t01.png\" data-cat=\"0,17,22\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"48\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/t02.png\" data-cat=\"0,17,22\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column two-third\">\n\n            <div class=\"embed-responsive embed-responsive-16by9\">\n\n            <iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n\n            </div>\n\n        </div>\n\n        <div class=\"column third\">\n\n            <h3>Get in Touch</h3>\n\n            <p>\n\n              <strong>Company, Inc.</strong><br>\n\n              123 Street, City<br>\n\n              State 12345<br>\n\n              P: (123) 456 7890 / 456 7891\n\n            </p>\n\n\n\n            <p>\n\n              <strong>Full Name</strong><br>\n\n              <a href=\"mailto:#\">first.last@example.com</a>\n\n            </p>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"49\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/o02.png\" data-cat=\"0,20\">\n\n \t<div class=\"row clearfix\">\n\n        \t<div class=\"column full\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-16by9\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"50\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e13.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half center\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\" style=\"margin-right:20px\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"column half\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"51\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/e14.png\" data-cat=\"0,5,20\">\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        \t</div>\n\n        \t<div class=\"column half\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n    \t</div>\n\n</div>\n\n\n\n<div data-num=\"52\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u04.png\" data-cat=\"0,18\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\n            <div class=\"clearfix is-boxed-button-big\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                <a href=\"http://www.website.com/\" style=\"background-color: #0569AA;\"><i class=\"icon ion-android-home\"></i></a>\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<!-- End of Default -->\n\n\n\n<div data-num=\"53\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/n15.png\" data-cat=\"11\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-1.jpg\">\n\n        </div>\n\n        <div class=\"column half\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k01-2.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"54\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/n16.png\" data-cat=\"11\">\n\n\t<div class=\"row clearfix\">\n\n\t    <div class=\"column third\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/k02-1.jpg\">\n\n        </div>\n\n        <div class=\"column third\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-2.jpg\">\n\n        </div>\n\n        <div class=\"column third\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/k02-3.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"55\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p34.png\" data-cat=\"0,13\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Beautiful Content</h1>\n\n\t\t\t</div>\n\n \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half\">\n\n\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/p34-1.png\">\n\n\n\t\t\t</div>\n\n\t\t\t<div class=\"column half\">\n\n                \t\t<h2>Responsive.</h2>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                \t\t<div style=\"margin:1.3em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px;\">Read More</a>\n\n            \t\t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"56\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p35.png\" data-cat=\"0,13\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<i class=\"icon ion-leaf size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t<div class=\"display\">\n\n                \t<h1 style=\"font-size: 3.5em; margin:0.2em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t</div>\n\n           <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t    <div style=\"margin:1em 0\">\n\n           \t\t\t <a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">READ MORE</a>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"57\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p36.png\" data-cat=\"13\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-21\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n            \t\t<div class=\"display\">\n\n                \t\t    <h1 style=\"margin:0.3em 0; font-size: 4em\">Beautiful Content. Responsive.</h1>\n\n            \t\t </div>\n\n                    <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"58\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p38.png\" data-cat=\"0,13\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\t\t\t\t<div class=\"display center\">\n\n            \t\t<h1>Beautiful content.</h1>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t</div>\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            \t\t<h3>Lorem Ipsum is simply dummy text</h3>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\n\n\t\t\t<div style=\"margin:1em 0 2.5em;\">\n\n           \t\t   <a href=\"snippets.html#\" class=\"btn btn-default\">Read More</a> &nbsp;\n\n            \t\t   <a href=\"snippets.html#\" class=\"btn btn-primary\">Download</a>\n\n            \t\t</div>\n\n        \t</div>\n\n        \t<div class=\"column half\">\n\n            \t\t<div class=\"embed-responsive embed-responsive-4by3\">\n\n            \t\t\t<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/P5yHEKqx86U?rel=0\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"59\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p42.png\" data-cat=\"0,13\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p42-1.jpg\">\n\t\t\t<h3>BEAUTIFUL CONTENT. RESPONSIVE.</h3>\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Lorem Ipsum is simply text of the printing industry</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div style=\"margin:0.5em 0 2.5em;\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"60\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p43.png\" data-cat=\"0,13\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            \t<div class=\"clearfix is-rounded-button-medium\">\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t             \t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\t\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin-top:0.5em;font-size:3.7em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div style=\"margin:1em 0;\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">GET STARTED</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"61\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p44.png\" data-cat=\"0,13\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"font-size:3.4em\">Lorem Ipsum is simply text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t            <a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n                    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    <a href=\"https://www.instagram.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <div style=\"margin:2em 0\">\n            <a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            <a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Download</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"62\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p46.png\" data-cat=\"0,13\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h1 style=\"font-size:3.5em;margin-top:0\">Beautiful Content. Responsive.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <div style=\"margin:1em 0\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Watch Video</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"63\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p47.png\" data-cat=\"0,13\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\" font-size: 4em\">Lorem Ipsum is simply dummy text</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n           <div style=\"margin:1em 0 2.5em;\">\n            <a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">GET STARTED TODAY</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n           <div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"padding:0; width:80px; height:80px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"64\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/p50.png\" data-cat=\"13\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t<div class=\"clearfix is-rounded-button-big\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"padding:0; width:90px; height:90px;\"><i class=\"icon ion-android-arrow-dropright\"></i> </a>\n            \t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n                <h1 style=\"font-size:3em\">Beautiful content. Responsive</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n         </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <div style=\"margin:2em 0\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius:50px\">Read More</a> &nbsp;\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Get Started</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"65\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q20.png\" data-cat=\"14\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q20-1.png\">\n\n\n        \t</div>\n\n\t\t<div class=\"column half\">\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n               \t \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n\t\t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"66\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q21.png\" data-cat=\"14\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n                    <h1 style=\"text-align: center; font-size: 3em\">Product Features</h1>\n\n                </div>\n\n\t</div>\n\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q21-1.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"column third\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q21-2.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n        <div class=\"column third\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q21-3.jpg\" style=\"border-radius:500px\">\n\t\t\t\t<br><br>\n            \t\t<div class=\"list\">\n\n                \t\t<i class=\"icon ion-checkmark\"></i>\n\n                \t\t<h3>Feature Item</h3>\n\n                \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n\n<div data-num=\"67\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q24.png\" data-cat=\"14\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-microphone size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n       </div>\n\n       <div class=\"column half\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-social-codepen-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n       <div class=\"column half\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-android-create size-64\"></i>\n\n\t\t\t\t<h3 style=\"margin: 0.5em 0\">FEATURE ITEM</h3>\n\n           \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n           </div>\n       </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"68\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q25.png\" data-cat=\"14\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size: 3em\">Best Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-heart-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-mic-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-paperplane size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<p style=\"margin-top:0;line-height:1\"><i class=\"icon ion-ios-film-outline size-64\"></i></p>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<p style=\"margin-top:0;line-height:2\"><b>Feature Item</b><br>Lorem Ipsum is simply dummy text.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"69\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q26.png\" data-cat=\"14\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q26-1.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t\t<div class=\"column half\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/q26-2.jpg\">\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t\t\t<div class=\"list\">\n                \t\t<i class=\"icon ion-checkmark\"></i>\n                \t\t<h3>Feature Item</h3>\n                \t\t<p>Lorem Ipsum is simply dummy text of the typesetting industry.</p>\n            \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"70\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q27.png\" data-cat=\"14\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<i class=\"icon ion-android-download size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0;\">Feature Item</h3>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"71\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q28.png\" data-cat=\"14\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t<h1 style=\"font-size: 3em\">Product Features</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half center\">\n                <i class=\"icon ion-compose size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\n\t\t<div class=\"column half center\">\n                <i class=\"icon ion-android-favorite-outline size-64\" style=\"margin-top:0\"></i>\n\t\t\t\t<h3 style=\"margin-top:0\">Feature Item</h3>\n                <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Read More</a>\n            \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"72\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/q29.png\" data-cat=\"14\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Product Features</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"column half\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-camera-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"column half\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Feature Item</span>\n\t\t\t</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"73\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r22.png\" data-cat=\"0,15\">\n\n    \t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Customer Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n \t\t\t\t<i class=\"icon ion-quote size-32\" style=\"color: #808080\"></i>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<p><b>Your Name, </b>Lorem Ipsum</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"74\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r23.png\" data-cat=\"0,15\">\n\n    \t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t<h1 style=\"font-size: 3em\">Testimonials</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t <i class=\"icon ion-quote size-80\" style=\"color: #C0C0C0\"></i>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r23-1.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r23-2.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r23-3.jpg\" style=\"border-radius: 500px;\">\n\n            \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t\t<h3 style=\"font-size: 1.2em\"><b>Your Name</b></h3>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"75\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r25.png\" data-cat=\"0,15\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">Happy Customers</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r25-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\n\t\t<div class=\"column half center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r25-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t<br>\n\t        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t<p><b>Your Name, </b>Lorem Ipsum</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"76\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r27.png\" data-cat=\"15\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">Testimonials</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"column half\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\n\t\t<div class=\"column half\">\n            <div class=\"quote\">\n                <i class=\"icon ion-quote\" style=\"color: #808080\"></i>\n\t            <p style=\"font-size:1.2em\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n                <small>by Your Name</small>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"77\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/r28.png\" data-cat=\"0,15\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">What People Say About Us</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r28-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n            <div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/r28-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<p style=\"font-size:1.2em\"><i>\"Lorem ipsum dolor sit amet, adipiscing elit. Vivamus leo ante.\"</i></p>\n\t\t\t\t\t<p><b><i>By Your Name</i></b></p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"78\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u10.png\" data-cat=\"0,18\">\n\n\t<div class=\"row clearfix\">\n\n\n\t\t<div class=\"column full center\">\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em\">Beautiful Content. Responsive.</h1>\n\n            \t\t    </div>\n\n                        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.  Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t<div class=\"clearfix is-rounded-button-medium\">\n\n                \t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"79\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u11.png\" data-cat=\"0,18\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\n\t\t\t<h1 class=\"size-21\">BEAUTIFUL CONTENT</h1>\n\n            \t\t    <div class=\"display\">\n\n                \t\t    <h1 style=\"font-size: 3.5em; margin:0.5em 0\">Lorem Ipsum is simply dummy text</h1>\n\n            \t\t    </div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n       </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"80\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u12.png\" data-cat=\"0,18\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n\t\t\t<div class=\"display\">\n\n                            <h1>Lorem Ipsum is simply text</h1>\n\n\t\t\t</div>\n\n                        <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n            <div class=\"clearfix is-boxed-button-big2\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n                <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n            </div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"81\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u13.png\" data-cat=\"0,18\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"display\">\n            \t<h1 style=\"font-size:3.5em\">Beautiful content. Responsive.</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"82\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/u14.png\" data-cat=\"18\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;letter-spacing:8px\">BEAUTIFUL CONTENT. RESPONSIVE.</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet.</p>\n\t\t\t<br>\n\t\t\t <div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://dribbble.com/\"><i class=\"icon ion-social-dribbble-outline\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t\t<a href=\"https://pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"83\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w01.png\" data-cat=\"0,21\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n            <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-gear-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-compose-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-world-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t\t<i class=\"icon ion-ios-calendar-outline size-48\"></i>\n\n\t\t\t\t\t<h4>Lorem Ipsum</h4>\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"84\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w02.png\" data-cat=\"0,21\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n            \t\t <h1 style=\"text-align: center; font-size:3em\">Our Services</h1>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-heart-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-compose-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-gear-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"column half\">\n\n            <p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-calendar-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-ios-clock-outline size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t\t<p style=\"padding-left:90px;margin-bottom:3em;position:relative;\"><i class=\"icon ion-laptop size-48\" style=\"position:absolute;top:-15px;left:0;\"></i> <b>Lorem Ipsum</b><br>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"85\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w04.png\" data-cat=\"0,21\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1>Beautiful content. Responsive.</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/w04-1.png\">\n\n        </div>\n\n\t\t<div class=\"column half\">\n\n            <div style=\"margin:30px 0 0 0\">\n                <p><i class=\"icon ion-ios-heart-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-compose-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\n                <p><i class=\"icon ion-ios-gear-outline size-48\" style=\"vertical-align: middle;margin-right:30px;\"></i> Lorem Ipsum is simply dummy text.</p>\n\t\t\t</div>\n\n     \t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"86\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w05.png\" data-cat=\"21\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n                    <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n        \t<div class=\"column half\">\n\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/w05-1.png\">\n\n        \t</div>\n\n\t\t\t<div class=\"column half\">\n\n                \t\t<h3>Beautiful Content. Responsive.</h3>\n\n                \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n                \t\t<div style=\"margin:1em 0 2.5em;\">\n\n                \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n\n            \t\t</div>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-camera-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n<div data-num=\"87\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w06.png\" data-cat=\"0,21\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size: 3em; margin: 1.2em 0\">What We Offer</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Beautiful Content</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<i class=\"icon ion-ios-monitor-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Responsive</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Typesetting</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<i class=\"icon ion-ios-compose-outline size-48\" style=\"margin-top: 0.3em\"></i>\n\t\t\t<p><b>Simply Text</b><br>Lorem Ipsum is simply.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"88\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w07.png\" data-cat=\"0,21\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t<h1 style=\"font-size:3em\">SERVICES</h1>\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<i class=\"icon ion-ios-filing-outline size-80\"></i>\n\t\t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"89\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/w10.png\" data-cat=\"0,21\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t<h1 style=\"text-align: center; font-size:3em;margin:1.5em 0\">Our Services</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n       \t \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-mic-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Lorem Ipsum</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n         \t</div>\n        </div>\n    </div>\n</div>\n\n<div data-num=\"90\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x01.png\" data-cat=\"0,22\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Contact Us</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel.</p>\n\n        \t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n\t\t\t<h3>Address</h3>\n\n         \t\t<p>\n\n              \t\t<strong>Company, Inc.</strong><br>\n\n              \t\t123 Street, City<br>\n\n              \t\tState 12345<br>\n\n              \t\tP: (123) 456 7890 / 456 7891\n\n            \t</p>\n\n\t    </div>\n\n\t    <div class=\"column half\">\n\n            <div class=\"row clearfix\">\n\n\t\t\t    <div class=\"column full\">\n\n\t\t\t\t    <h3>Stay in Touch</h3>\n\n            \t    <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\n                    <div class=\"clearfix is-boxed-button-medium2\">\n                        <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                        <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4;\"><i class=\"icon ion-ios-email-outline\"></i></a>\n                    </div>\n\n\t\t\t    </div>\n\n            </div>\n\n\n\t    </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"91\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x05.png\" data-cat=\"22\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n               <h1 style=\"font-size: 3em\">Contact Us</h1>\n\n               <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\n            <div class=\"row clearfix\">\n\n\t\t\t    <div class=\"column full\">\n\n\t\t\t\t    <h3>OFFICE ONE</h3>\n\n\t\t\t    </div>\n\n            </div>\n\n\t\t    <div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column sixth\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-sixth\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column sixth\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-sixth\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t   \t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column sixth\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-sixth\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n             </div>\n\n\t\t</div>\n\n\t\t<div class=\"column half\">\n\n\t\t\t<div class=\"row clearfix\">\n\n                <div class=\"column full\">\n\n\t\t\t\t    <h3>OFFICE TWO</h3>\n\n                </div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column sixth\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-sixth\">\n\n                   \t<p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column sixth\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-sixth\">\n\n                    <p><b>Phone</b><br>(123) 456 7890</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column sixth\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-sixth\">\n\n                     <p>\n\n              \t\t\t<strong>Email</strong><br>\n\n              \t\t\t<a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"92\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x09.png\" data-cat=\"22\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n            <i class=\"icon ion-ios-location-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n            <i class=\"icon ion-ios-telephone-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Call Us</h3>\n  \t\t\t<p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n            <i class=\"icon ion-ios-email-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Email</h3>\n  \t\t\t<p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-48\"></i>\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Social Media</h3>\n  \t\t\t<p><a href=\"https://www.facebook.com\">Facebook</a><br><a href=\"https://twitter.com\">Twitter</a><br></p>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"93\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x10.png\" data-cat=\"0,17,22\">\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n           <p>\n              <span style=\"font-size:1.2em\"><b>Company, Inc.</b></span><br>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"clearfix is-rounded-button-medium\" style=\"margin:1em 0\">\n                \t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;margin-left:0;\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t<a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\t\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n            <div class=\"embed-responsive embed-responsive-16by9\">\n            \t<iframe width=\"100%\" height=\"400\" frameborder=\"0\" scrolling=\"no\" marginheight=\"0\" marginwidth=\"0\" class=\"mg1\" src=\"https://maps.google.com/maps?q=Melbourne,+Victoria,+Australia&hl=en&sll=-7.981898,112.626504&sspn=0.009084,0.016512&oq=melbourne&hnear=Melbourne+Victoria,+Australia&t=m&z=10&output=embed\"></iframe>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"94\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x11.png\" data-cat=\"0,22\">\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 style=\"font-size:3em\">Contact Us</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <h3>\n\t\t\t\t<i class=\"icon ion-ios-location-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Address</span>\n\t\t\t</h3>\n            <p>\n              123 Street, City<br>\n              State 12345\n            </p>\n        </div>\n\n\t\t<div class=\"column third\">\n        \t<h3>\n \t\t\t\t<i class=\"icon ion-iphone size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Phone</span>\n\t\t\t</h3>\n            <p>(123) 456 7890 / 456 7891</p>\n        </div>\n\n\t\t<div class=\"column third\">\n            <h3>\n \t\t\t\t<i class=\"icon ion-ios-email-outline size-48\" style=\"margin-top:0;line-height:1;vertical-align:middle;margin-right:10px\"></i>\n\t\t\t\t<span style=\"vertical-align:middle\">Email</span>\n\t\t\t</h3>\n            <p>\n              <a href=\"mailto:#\">first.last@example.com</a>\n            </p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"95\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/x12.png\" data-cat=\"0,22\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1>Contact Us</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/x12-1.jpg\" style=\"margin-top: 0px;\">\n        </div>\n\n\t\t<div class=\"column half\">\n            <h3 style=\"margin-top:0\">Company, Inc.</h3>\n\t\t\t<p>\n              123 Street, City<br>\n              State 12345<br>\n              P: (123) 456 7890 / 456 7891\n            </p>\n\t\t\t<div class=\"is-social\">\n                <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest-outline\" style=\"margin-right: 1em\"></i></a>\n                <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\t\t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"96\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y01.png\" data-cat=\"0,23\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Ready to Purchase?</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1>$<span style=\"font-size: 2.7em;\">59</span></h1>\n\t\t\t\t\t</div>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t\t\t<div style=\"margin:2.5em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Purchase</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"97\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y02.png\" data-cat=\"0,23\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t   \t\t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Purchase</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column half\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.5em\">99</span></h1>\n\t\t\t    \t</div>\n                \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2.7em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Purchase</a>\n                \t</div>\n           \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"98\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y03.png\" data-cat=\"0,23\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n                    \t\t<h1 style=\"font-size: 3.5em\">Pricing</h1>\n\n\t\t\t</div>\n\n                </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t    \t<h3>Personal</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Purchase</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">59</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Professional</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Purchase</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:20px;\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2.3em\">89</span></h1>\n\t\t\t    \t</div>\n\t\t\t    \t<h3>Business</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n \t\t\t    \t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Purchase</a>\n                \t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n<div data-num=\"99\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y04.png\" data-cat=\"0,23\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1 style=\"font-size: 4em\">Pricing Plans</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Standard</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Professional</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<div class=\"display\" style=\"margin-bottom: -2em\">\n\n\t\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">79</span></h1>\n\n\t\t\t\t</div>\n\n\t\t\t\t<p><b>Per Month</b></p>\n\n\t\t\t\t<h3>Business</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n \t\t\t\t<div style=\"margin:2em 0\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Purchase</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"100\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y05.png\" data-cat=\"0,23\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Personal</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">29</span></h1>\n\t\t\t   \t \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Professional</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">39</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h3>Business</h3>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 1.7em;\">49</span></h1>\n\t\t\t    \t</div>\n\t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply</li>\n\t\t\t\t\t\t<li>Printing and Typesetting</li>\n\t\t\t\t\t\t<li>Vivamus leo ante</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"101\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y06.png\" data-cat=\"0,23\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:0.5em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">19</span></h1>\n\t\t\t</div>\n            <h3>Basic</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">39</span></h1>\n\t\t\t</div>\n            <h3>Professional</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n           \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Choose Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 2.5em\">59</span></h1>\n\t\t\t</div>\n            <h3>Business</h3>\n            <ul style=\"text-align:left\">\n\t\t\t\t<li>Lorem Ipsum is simply text</li>\n\t\t\t\t<li>Printing and typesetting</li>\n\t\t\t\t<li>Lorem Ipsum dolor sit amet</li>\n\t\t\t</ul>\n\t\t\t<div style=\"margin:2em 0 2.5em;\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Choose Plan</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"102\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y07.png\" data-cat=\"0,23\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t\t<h1 style=\"font-size: 3.5em;margin:1em 0\">Pricing</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>PRO</h2>\n\t\t\t\t\t<p style=\"font-size:1.3em;color:#808080\"><i>$29 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>BUSINESS</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$39 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>DEVELOPER</h2>\n            \t\t<p style=\"font-size:1.3em;color:#808080\"><i>$59 per month</i></p>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Buy Now</a>\n                \t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"103\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y08.png\" data-cat=\"0,23\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.5em\">Pricing Plans</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n\t\t\t<h1>Basic</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">19</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<h1>Professional</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">39</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<h1>Business</h1>\n            <div class=\"display\">\n\t\t\t\t<h1>$<span style=\"font-size: 1.8em\">49</span></h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\t\t\t<div style=\"margin:2em 0\">\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Select Plan</a>\n            </div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"104\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y09.png\" data-cat=\"0,23\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n                <h1 style=\"font-size: 3.7em;margin:1em 0\">Pricing</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Basic</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">29</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column half\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Pro</h1>\n\t\t\t    \t<div class=\"display\">\n\t\t\t\t    \t<h1>$<span style=\"font-size: 2em;\">39</span></h1>\n\t\t\t    \t</div>\n  \t\t\t\t\t<ul style=\"text-align:left\">\n\t\t\t\t\t\t<li>Lorem Ipsum is simply text of the printing.</li>\n\t\t\t\t\t\t<li>Lorem ipsum dolor sit amet, consectetur adipiscing.</li>\n\t\t\t\t\t\t<li>Vivamus leo ante, consectetur sit amet.</li>\n\t\t\t\t\t</ul>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Get Started</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"105\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/y10.png\" data-cat=\"0,23\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<h1 style=\"font-size: 4em;margin:1em 0\">Pricing Plans</h1>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Basic</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">39</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Professional</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">49</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<h2>Business</h2>\n            \t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t    \t<h3>$ <span style=\"font-size:3em;font-weight:600\">59</span>/mo</h3>\n\t\t\t\t\t<div style=\"margin:2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Choose Plan</a>\n            \t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"106\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z01.png\" data-cat=\"0,24\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 3.5em\">Meet The Team</h1>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z01-1.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column two-third\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z01-2.jpg\" style=\"border-radius:500px; margin-top: 1em\">\n\n\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column two-third\">\n\n\t\t\t<h1>Your Name</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"107\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z02.png\" data-cat=\"0,24\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t\t<h1 style=\"font-size: 3em\">Meet The Team</h1>\n\t\t    \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        \t</div>\n\t</div>\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t    <div class=\"column third center\">\n\t\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/z02-2.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"column two-third\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    \t</div>\n\t    <div class=\"column half\">\n\t\t    <div class=\"row clearfix\">\n\t\t\t    <div class=\"column third center\">\n\t\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/z02-3.jpg\" style=\"border-radius:500px\">\n\t\t\t    </div>\n\t\t\t    <div class=\"column two-third\">\n\t\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t\t<div class=\"is-social\">\n                \t\t    <a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n                \t\t    <a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n                \t\t    <a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n                \t\t    <a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t        </div>\n\t\t\t    </div>\n\t\t    </div>\n\t    </div>\n    \t</div>\n</div>\n\n\n<div data-num=\"108\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z03.png\" data-cat=\"0,24\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Our Team</h1>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z03-1.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column half center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z03-2.jpg\" style=\"border-radius:500px\">\n\n\t\t\t\t<h3>Your Name</h3>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s</p>\n\n\t\t\t\t<div class=\"is-social\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"109\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z05.png\" data-cat=\"0,24\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            \t<h1 style=\"margin:1.2em 0;font-size:3em\">Meet The Team</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"110\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z06.png\" data-cat=\"0,24\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1>Our Team</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z06-4.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n            <p><b>Your Name</b><br>Lorem Ipsum is simply.</p>\n\t\t\t<div class=\"is-social\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"111\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z07.png\" data-cat=\"0,24\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n                <h1>Meet Our Team</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z07-1.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z07-2.jpg\" style=\"border-radius: 500px;\">\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<p><b>Your Name</b><br>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t<div class=\"is-social\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"112\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/z09.png\" data-cat=\"0,24\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Meet The Team</h1>\n\t\t\t</div>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z09-1.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column half\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z09-2.jpg\" style=\"border-radius: 500px;\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Your Name</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"113\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab01.png\" data-cat=\"0,25\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n\t\t\t<div class=\"display center\">\n\n            \t<h1>Portfolio</h1>\n\n\t\t\t</div>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-1.jpg\">\n\n        </div>\n\n        <div class=\"column third\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-2.jpg\">\n\n        </div>\n\n        <div class=\"column third\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-3.jpg\">\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-4.jpg\">\n\n        </div>\n\n        <div class=\"column third\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-5.jpg\">\n\n        </div>\n\n        <div class=\"column third\">\n\n\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/ab01-6.jpg\">\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"114\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab02.png\" data-cat=\"0,25\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <h1 style=\"font-size: 3em\">Our Works</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n            <div class=\"padding-20\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab02-1.jpg\">\n\n\t\t    <p><b>Beautiful Content</b><br>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"column third\">\n\n            <div class=\"padding-20\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab02-2.jpg\">\n\n\t\t    <p><b>Printing and Typesetting</b><br>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n            </div>\n\n        </div>\n\n\t\t<div class=\"column third\">\n\n            <div class=\"padding-20\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab02-3.jpg\">\n\n\t\t    <p><b>Simply Dummy Text</b><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s. Vivamus leo ante, consectetur sit amet vulputate vel. </p>\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"115\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab03.png\" data-cat=\"25\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1 style=\"font-size: 3em\">Products</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab03-1.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n           \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Buy Now</a>\n\n           \t \t</div>\n\t\t\t</div>\n    \t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab03-2.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Buy Now</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n            \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab03-3.jpg\" style=\"border-radius: 500px\">\n\n\t\t\t\t<h2 style=\"font-size: 1.7em\">Lorem Ipsum</h2>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet.</p>\n\n\t\t\t\t<div style=\"margin:2em 0 2.5em;\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Buy Now</a>\n\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"116\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab06.png\" data-cat=\"0,25\">\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab06-1.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/ab06-2.jpg\"><img src=\"/vendor/content-builder/assets/minimalist-basic/ab06-3.jpg\">\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div class=\"display\">\n                <h1 style=\"font-size:3.3em\">Portfolio</h1>\n                <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n            </div>\n\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n         </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">VIEW PROJECT</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"117\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab07.png\" data-cat=\"0,25\">\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab07-1.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product One</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Buy Now</a>\n\t\t\t\t\t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab07-2.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Two</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab07-3.jpg\" style=\"border-radius: 500px\">\n\t\t\t    \t<h3 style=\"font-size:1.5em\">Product Three</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n     \t\t\t\t<div style=\"margin:2em 0\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Buy Now</a>\n\t\t\t\t\t</div>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"118\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ab10.png\" data-cat=\"0,25\">\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<i class=\"icon ion-ios-cart size-64\" style=\"color: #333\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">Our Products</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ab10-1.jpg\">\n        </div>\n\t\t<div class=\"column half\">\n            <h1>Product One</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">BUY NOW</a>\n            </div>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            \t\t<h1>Product Two</h1>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n            \t\t<div style=\"margin:1em 0 2.5em;\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">BUY NOW</a>\n            \t\t</div>\n        \t</div>\n        \t<div class=\"column half\">\n            \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/ab10-2.jpg\">\n        \t</div>\n\t</div>\n</div>\n\n<div data-num=\"119\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd01.png\" data-cat=\"0,26\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-paperplane size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-compose-outline size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-archive size-80\"></i>\n\n\t\t\t\t<h3>Lorem Ipsum</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n\t\t\t\t<div style=\"margin-top: 2em\">\n\n            \t\t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius: 50px\">Read More</a>\n\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"120\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd03.png\" data-cat=\"0,26\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <h1 style=\"font-size: 3em\">How it Works</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\n\t\t\t\t<h4>Step<span style=\"font-size: 4em\"><b>1</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>2</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<h4>Step <span style=\"font-size: 4em\"><b>3</b></span></h4>\n\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t</div>\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"121\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd04.png\" data-cat=\"0,26\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <h1 style=\"font-size: 3em\">The Process</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 1</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-edit size-96\"></i>\n\n\t\t\t\t<h3>STEP 2</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-gear-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 3</h3>\n\n           \t <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<i class=\"icon ion-ios-heart-outline size-96\"></i>\n\n\t\t\t\t<h3>STEP 4</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t</div>\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"122\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd06.png\" data-cat=\"0,26\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-compose-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Step One</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n\t\t\t    \t<h3 style=\"margin-top:0\">Step Two</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t   \t\t<i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n\t\t\t   \t\t<h3 style=\"margin-top:0\">Step Three</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"123\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd07.png\" data-cat=\"0,26\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1>Work Steps</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column fourth\">\n\t\t\t<h3 style=\"font-size:3em;font-weight:800\">4</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"124\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd08.png\" data-cat=\"0,26\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column sixth\">\n \t\t\t\t\t<p><i class=\"icon ion-android-bulb size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-sixth\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step One</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column sixth\">\n\t\t\t\t\t<p><i class=\"icon ion-android-settings size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-sixth\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Two</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column sixth\">\n \t\t\t\t\t<p><i class=\"icon ion-android-favorite-outline size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-sixth\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Three</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column sixth\">\n\t\t\t\t\t<p><i class=\"icon ion-paper-airplane size-48\" style=\"margin-top:0;line-height:1\"></i></p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-sixth\">\n                    <p style=\"margin-top:0\"><span style=\"font-size:1.8em\">Step Four</span><br>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"125\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd09.png\" data-cat=\"0,26\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin-top:0\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">1</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">2</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <h3 style=\"font-size:2.7em;font-weight:800\">3</h3>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"126\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/cd10.png\" data-cat=\"0,26\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"margin:1.5em 0;font-size:3.2em\">How it Works</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 01</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t    \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column half\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<h1>Step 02</h1>\n \t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur adipiscing elit. </p>\n \t\t\t    \t<div style=\"margin:2em 0\">\n            \t   \t \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Read More</a>\n                \t</div>\n              \t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"127\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef01.png\" data-cat=\"0,27\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n\t\t\t<h1>Our Clients</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n        </div>\n\n\t\t<div class=\"column two-third\">\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column third center\">\n\n                  \t<img src=\"/vendor/content-builder/assets/minimalist-basic/ef01-1.png\">\n\n\t\t\t\t\t<p>Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column third center\">\n\n                   <img src=\"/vendor/content-builder/assets/minimalist-basic/ef01-2.png\">\n\n\t\t\t\t\t<p>Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column third center\">\n\n                   <img src=\"/vendor/content-builder/assets/minimalist-basic/ef01-3.png\">\n\n\t\t\t\t\t<p>Company Three</p>\n\n\t\t\t\t</div>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"128\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef02.png\" data-cat=\"0,27\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3em\">Our Clients</h1>\n\n            </div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-1.png\">\n\n\t\t\t    <p>Company One</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-2.png\">\n\n\t\t\t    <p>Company Two</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-3.png\">\n\n\t\t\t    <p>Company Three</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n               <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-4.png\">\n\n\t\t\t    <p>Company Four</p>\n\n\t\t    </div>\n\n\t\t    <div class=\"center\" style=\"display:inline-block;width:18%\">\n\n                <img src=\"/vendor/content-builder/assets/minimalist-basic/ef02-5.png\">\n\n\t\t\t    <p>Company Five</p>\n\n\t\t    </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"129\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef03.png\" data-cat=\"0,27\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em; margin:0.2em 0.5em\">Our Partners</h1>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef03-4.png\">\n\n\t\t\t<p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"130\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef05.png\" data-cat=\"27\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <h1>Our Partners</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem ipsum dolor sit amet, consectetur elit.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\n             <img src=\"/vendor/content-builder/assets/minimalist-basic/ef05-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef05-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"column third center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/ef05-3.png\">\n\n\t\t\t<p>Company Three</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"131\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef08.png\" data-cat=\"27\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">Our Clients</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-1.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-2.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-3.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-4.png\">\n\t\t\t</div>\n\t\t\t<div class=\"center\" style=\"display:inline-block;width:18%\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef08-5.png\">\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"132\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ef09.png\" data-cat=\"0,27\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">Our Partners</h1>\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-1.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-2.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-3.png\">\n\t\t\t\t</div>\n            </div>\n\t\t</div>\n\n\t\t<div class=\"column fourth\">\n \t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-20 center\">\n                    <img src=\"/vendor/content-builder/assets/minimalist-basic/ef09-4.png\">\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"133\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh01.png\" data-cat=\"0,28\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column half center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"/vendor/content-builder/assets/minimalist-basic/gh01-1.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column half\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company One</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column third\">\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column half center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"/vendor/content-builder/assets/minimalist-basic/gh01-2.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column half\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Two</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column third\">\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column half center\">\n\n                    <p style=\"line-height:1;margin-top:0\">\n                        <img src=\"/vendor/content-builder/assets/minimalist-basic/gh01-3.png\">\n                    </p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column half\">\n\n\t\t\t\t\t<p style=\"line-height:1;margin-top:30px; font-size:15px;\">Company Three</p>\n\n\t\t\t\t</div>\n\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"134\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh02.png\" data-cat=\"0,28\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-1.png\">\n\n\t\t\t<p>Company One</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-2.png\">\n\n\t\t\t<p>Company Two</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-3.png\">\n\n\t\t    <p>Company Three</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh02-4.png\">\n\n\t\t    <p>Company Four</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"135\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh03.png\" data-cat=\"0,28\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-1.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company One</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-2.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Two</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-3.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t\t<h3 style=\"margin-top:20px\">Company Three</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n          \t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh03-4.png\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<h3>Company Four</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"136\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh05.png\" data-cat=\"28\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h1>As Featured On</h1>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh05-1.png\">\n\n\t\t\t\t<h3>Company One</h3>\n\n            \t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh05-2.png\">\n\n\t\t\t\t<h3>Company Two</h3>\n\n        \t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<div class=\"padding-20\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh05-3.png\">\n\n\t\t\t\t<h3>Company Three</h3>\n\n    \t\t\t<p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\t\t\t</div>\n    \t</div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"137\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh07.png\" data-cat=\"28\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh07-1.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh07-2.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third\">\n\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh07-3.png\">\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"138\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh08.png\" data-cat=\"0,28\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-1.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company One</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column half\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-2.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Two</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-3.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Three</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column half\">\n            <img src=\"/vendor/content-builder/assets/minimalist-basic/gh08-4.png\">\n\t\t\t<h3 style=\"font-size:1.5em;margin-top:0\">Company Four</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"139\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/gh09.png\" data-cat=\"0,28\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;margin:1.2em 0\">As Featured On</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh09-1.png\">\n\t\t\t    \t<h3>Company One</h3>\n            \t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh09-2.png\">\n\t\t\t    \t<h3>Company Two</h3>\n        \t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/gh09-3.png\">\n\t\t\t \t\t<h3>Company Three</h3>\n        \t\t</div>\n         \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"140\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij01.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"row clearfix\">\n            \t<div class=\"column third center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>359</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"row clearfix\">\n            \t<div class=\"column third center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>620</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"row clearfix\">\n            \t<div class=\"column third center\">\n            \t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-trophy size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>117</b></span><br><br>Lorem Ipsum is simply.</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"141\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij02.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"display:table;border-radius: 20px;width: 250px;\">\n   \t\t\t\t<div style=\"display:table-cell;vertical-align: middle;text-align:center\">\n\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\" style=\"vertical-align: middle;margin-right: 20px;\"></i>\n\t\t\t\t\t<b style=\"font-weight: 800;font-size: 2.2em;\">150+</b>\n  \t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"column third\">\n            \t\t<div class=\"row clearfix\">\n                \t\t<div class=\"column full\">\n                \t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>More than 150 people believed us.</h3>\n                    \t\t\t</div>\n                    \t\t</div>\n                \t\t</div>\n           \t\t</div>\n\t\t</div>\n\t\t<div class=\"column third\">\n            \t\t<div class=\"row clearfix\">\n                \t\t<div class=\"column full\">\n           \t\t\t\t\t<div style=\"display:table;width:100%;height:140px\">\n                \t\t\t\t<div style=\"display:table-cell;vertical-align:middle\">\n                    \t\t\t\t<h3>Find Us:</h3>\n                    \t\t\t\t<div class=\"clearfix is-boxed-button-small\">\n                        \t\t\t\t<a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                        \t\t\t\t<a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                        \t\t\t\t<a href=\"https://www.youtube.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-youtube\"></i></a>\n                    \t\t\t\t</div>\n                    \t\t\t</div>\n                \t\t\t</div>\n                \t\t</div>\n            \t\t</div>\n       \t\t</div>\n\t</div>\n</div>\n\n\n<div data-num=\"142\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij03.png\" data-cat=\"0,29\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <h1 style=\"font-size: 3em\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column fourth center\">\n\n            <i class=\"icon ion-laptop size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <i class=\"icon ion-ios-people size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <i class=\"icon ion-ios-heart-outline size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t\t<div class=\"column fourth center\">\n\n            <i class=\"icon ion-trophy size-48\" style=\"color: #333\"></i>\n\n\t\t\t<p>Lorem Ipsum is simply dummy text.</p>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"143\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij04.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n             <h1 class=\"size-48\">Achievements</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column fourth center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-people-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-fourth\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>130</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column fourth center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-heart-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-fourth\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>315</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            \t<br>\n        </div>\n    </div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column fourth center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-fourth\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>270</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column fourth center\">\n\t\t\t\t<p style=\"line-height:1;margin-top:0\">\n\t\t\t\t\t<i class=\"icon ion-ios-chatboxes-outline size-80\"></i>\n\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-fourth\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:10px\"><span style=\"font-size: 2.5em\"><b>420</b></span><br><br>Lorem Ipsum is simply dummy text.</p>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n\n\n<div data-num=\"144\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij05.png\" data-cat=\"0,29\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t   <i class=\"icon ion-trophy size-64\"></i>\n\n           <h1 class=\"size-48\">Achievements</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column fourth center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">120</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">HAPPY CLIENTS</h4>\n\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">80+</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">LAYOUTS</h4>\n\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">97</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">PROJECTS</h4>\n\n        </div>\n\n\t\t<div class=\"column fourth center\">\n\n\t\t\t<div class=\"display\">\n\n\t\t\t\t<h1 style=\"font-size: 4em\">215</h1>\n\n\t\t\t</div>\n\n           <h4 style=\"font-size: 1.2em\">AWARDS</h4>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"145\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij06.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n             <h1 class=\"size-48\" style=\"margin:1.2em 0\">Achievements</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-ios-people size-64\"></i>\n\t\t\t<h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-code-working size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-trophy size-64\"></i>\n            <h3 style=\"margin-top:0\">LOREM IPSUM</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"146\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij07.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<i class=\"icon ion-android-star-outline size-48\"></i>\n        \t<h2>Achievements</h2>\n        \t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-default\">Read More</a>\n            </div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t<i class=\"icon ion-trophy size-48\"></i>\n            <h2>Awards</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n \t\t\t<div style=\"margin:2em 0\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-default\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"147\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij08.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.5em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-ios-people-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">1.200</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-ios-compose-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">879</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-ios-heart-outline size-48\"></i>\n\t\t\t<h2 style=\"font-weight:800;margin-top:0\">3.124</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"148\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij09.png\" data-cat=\"29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1em 0\">Achievements</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half center\">\n            <i class=\"icon ion-ios-people-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"column half center\">\n            <i class=\"icon ion-ios-chatboxes-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half center\">\n            <i class=\"icon ion-ios-star-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\n\t\t<div class=\"column half center\">\n            <i class=\"icon ion-ios-paperplane-outline size-64\"></i>\n            <p style=\"margin-top:0\">Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"149\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ij10.png\" data-cat=\"0,29\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n            <div style=\"border:1px solid black;padding:0 15px 10px;margin-right:1em\">\n            \t<i class=\"icon ion-ios-people-outline size-64\"></i>\n            \t<p style=\"margin-top:0\"><span style=\"margin-top:0;font-size:2em;font-weight:800\">1.234</span><br>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column two-third\">\n            <h1>Achievements</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t<div style=\"margin:1.7em 0\">\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">Read More</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"150\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl01.png\" data-cat=\"0,30\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\t\t\t<i class=\"icon ion-android-time size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800;margin:0.2em 0\">COMING SOON</h1>\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <p style=\"margin: 1.5em 0\">Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"clearfix is-rounded-button-big\">\n\n\t\t\t    <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n\t\t\t    <a href=\"https://facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t    <a href=\"https://www.youtube.com/\" style=\"background-color: #E20000\"><i class=\"icon ion-social-youtube\"></i></a>\n\n\t\t\t    <a href=\"http://www.website.com/\" style=\"background-color: #0569AA\"><i class=\"icon ion-ios-home\"></i></a>\n\n\t\t\t    <a href=\"mailto:you@example.com\" style=\"background-color: #ff69B4\"><i class=\"icon ion-ios-email\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"151\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl02.png\" data-cat=\"0,30\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<i class=\"icon ion-ios-paperplane-outline size-80\"></i>\n\n            <h1 class=\"size-80\" style=\"font-weight:800\">UNDER CONSTRUCTION</h1>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div style=\"margin:1em 0 2.5em;\">\n\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"152\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl03.png\" data-cat=\"0,30\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<h3>Company Name</h3>\n\n            <h1 class=\"size-80\" style=\"font-weight:800;\">COMING SOON</h1>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div class=\"clearfix is-rounded-button-medium\">\n\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                <a href=\"https://www.facebook.com/\" style=\"background-color: #128BDB\"><i class=\"icon ion-social-facebook\"></i></a>\n\n\t\t\t\t<a href=\"https://plus.google.com/\" style=\"background-color: #DF311F\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n\t\t\t</div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"153\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl04.png\" data-cat=\"30\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"display\">\n\n                <h1 style=\"font-size: 3.5em\">We are coming very soon</h1>\n\n\t\t\t</div>\n\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n\t\t\t<div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">GET UPDATES</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column third\">\n\n    \t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column fourth\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-location-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-fourth\">\n\n                    <p>\n\n              \t\t\t<strong>Company, Inc.</strong><br>\n\n              \t\t\t123 Street, City<br>\n\n              \t\t\tState 12345\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n     \t\t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column third\">\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column fourth\">\n\n \t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-telephone-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-fourth\">\n\n                    <p><b>Call us</b><br>(123) 456 7890<br>456 7891</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n\t\t</div>\n\n\t\t<div class=\"column third\">\n\n\t\t\t<div class=\"row clearfix\">\n\n\t\t\t\t<div class=\"column fourth\">\n\n\t\t\t\t\t<p style=\"line-height:1\"><i class=\"icon ion-ios-email-outline size-32\"></i></p>\n\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"column two-fourth\">\n\n                    <p>\n\n              \t\t    <strong>Email</strong><br>\n\n              \t\t    <a href=\"mailto:#\">first.last@example.com</a>\n\n            \t\t</p>\n\n\t\t\t\t</div>\n\n         \t</div>\n\n \t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"154\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl05.png\" data-cat=\"30\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4.3em\">Under Construction</h1>\n\n\t\t        <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Get Notified</a>\n\n            </div>\n\n\t\t</div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full\">\n\n           \t<br>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div class=\"is-social\">\n\t\t\t\t<div class=\"size-24\">\n                \t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n\n                \t<a href=\"https://www.pinterest.com/\"><i class=\"icon ion-social-pinterest\"></i></a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n<div data-num=\"155\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl07.png\" data-cat=\"0,30\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"width:100%;max-width:450px;margin: 0 auto\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<i class=\"icon ion-ios-alarm-outline size-64\"></i>\n                \t<h1 style=\"margin-top:0\">Coming Soon!</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<br>\n\t\t\t\t\t<div class=\"is-social\">\n\t\t\t\t\t\t<div class=\"size-21\">\n                \t\t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t\t<a href=\"https://www.instagram.com/\"><i class=\"icon ion-social-instagram-outline\"></i></a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"156\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl08.png\" data-cat=\"0,30\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n                    <h1 style=\"font-size:3.5em\">WE ARE CURRENTLY UNDER CONSTRUCTION</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <div class=\"clearfix is-boxed-button-small\" style=\"margin:1.5em 0\">\n                <a href=\"https://twitter.com/\" style=\"background-color: #00bfff;\"><i class=\"icon ion-social-twitter\"></i></a>\n                <a href=\"https://facebook.com/\" style=\"background-color: #128BDB;\"><i class=\"icon ion-social-facebook\"></i></a>\n                <a href=\"https://www.pinterest.com/\" style=\"background-color: #E20000;\"><i class=\"icon ion-social-pinterest\"></i></a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"157\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl09.png\" data-cat=\"0,30\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"width:100%;max-width:700px;margin:0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<h1 style=\"font-size:3em\">COMING SOON</h1>\n                \t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n\t\t\t\t\t<div style=\"margin:2em 0;\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-default\" style=\"border-radius:50px\">Read More</a>\n            \t\t</div>\n\t\t\t\t\t<div style=\"margin:1em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius:50px\">Get Updates</a>\n            \t\t</div>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"158\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/kl10.png\" data-cat=\"30\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<i class=\"icon ion-android-bicycle size-64\"></i>\n            <h1 class=\"size-64\" style=\"margin:0.2em 0\">WE ARE COMING VERY SOON</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <br><br>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h3>Contact Us</h3>\n        \t<p>Company, Inc. 123 Street, City. State 12345. <br>(123) 456 7890 / 456 7891</p>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"159\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn01.png\" data-cat=\"0,31\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<i class=\"icon ion-android-alert size-64\"></i>\n            <h1 class=\"size-64\" style=\"font-weight:800\">PAGE NOT FOUND</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n       </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n\t\t\t<div>\n\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">Back to Home Page</a>\n\n           </div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"160\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn02.png\" data-cat=\"0,31\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"clearfix is-rounded-button-medium\">\n\n\t\t\t\t<a href=\"http://www.website.com/\" style=\"background-color: #fff;\"><i style=\"color:#000\" class=\"icon ion-ios-home\"></i></a>\n\t\t\t</div>\n\n\t\t</div>\n\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"161\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn03.png\" data-cat=\"0,31\">\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\" style=\"border-radius:30px;width:100%;max-width:400px;margin: 0 auto;\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t\t\t<div class=\"display\">\n\t\t\t\t\t\t<h1><span style=\"font-size: 3em\">404</span></h1>\n\t\t\t\t\t</div>\n            \t\t<h5>The page you are looking for doesn't exist.</h5>\n \t\t\t\t\t<div style=\"margin:2.2em 0\">\n            \t\t\t<a href=\"snippets.html#\" class=\"btn btn-primary\">Back Home</a>\n            \t\t</div>\n        \t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n</div>\n\n\n\n<div data-num=\"162\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn04.png\" data-cat=\"0,31\">\n\n    <div class=\"row clearfix\">\n\n        <div class=\"column full center\">\n\n             <i class=\"icon ion-ios-pulse size-80\"></i>\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 4em\">Oops...</h1>\n\n            </div>\n\n            <h1 style=\"font-size: 3em\">Page Not Found</h1>\n\n        </div>\n\n    </div>\n\n</div>\n\n\n\n<div data-num=\"163\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn05.png\" data-cat=\"0,31\">\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div class=\"display\">\n\n                <h1 style=\"font-size: 9em\">404</h1>\n\n            </div>\n\n\t\t\t <h1>PAGE NOT FOUND</h1>\n\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\n        </div>\n\n\t</div>\n\n\t<div class=\"row clearfix\">\n\n\t\t<div class=\"column full center\">\n\n            <div style=\"margin:2em 0\">\n\n            \t<a href=\"snippets.html#\" class=\"btn btn-primary\" style=\"border-radius: 50px\">BACK HOME</a>\n\n            </div>\n\n        </div>\n\n\t</div>\n\n</div>\n\n<div data-num=\"164\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn08.png\" data-cat=\"31\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:6em\">Error <span style=\"font-weight:800\">404</span></h1>\n            <h3 style=\"margin-top:0\">The page you are looking for doesn't exist.</h3>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t\t<a href=\"snippets.html#\"><i class=\"icon ion-ios-home size-64\"></i></a>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"165\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/mn09.png\" data-cat=\"0,31\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n             <i class=\"icon ion-android-sad size-80\"></i>\n            <h1 style=\"font-size:3em;margin-top:0\">Sorry, this page doesn't exist.</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <div style=\"margin:1em 0 2.5em;\">\n            \t<a href=\"snippets.html#\">BACK TO HOMEPAGE</a>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"166\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op01.png\" data-cat=\"0,32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em;margin:1.5em 0\">OUR SKILLS</h1>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">98%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Design</h3>\n        </div>\n\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">87%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Web Development</h3>\n        </div>\n\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:140px;height:140px;padding:15px\">\n  \t\t\t\t<div class=\"is-card-content-centered\">\n                \t<h2 style=\"font-size:40px;font-weight:800;\">100%</h2>\n\t\t\t\t</div>\n\t\t\t</div>\n            <h3 style=\"font-size:1.5em;text-align:center\">Customer Support</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"167\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op02.png\" data-cat=\"0,32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column fourth center\">\n            <h1 style=\"font-weight:800\">93%</h1>\n            <h3 style=\"font-size:1.2em\">HTML &amp; CSS</h3>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n            <h1 style=\"font-weight:800\">71%</h1>\n            <h3 style=\"font-size:1.2em\">JavaScript</h3>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n            <h1 style=\"font-weight:800\">90%</h1>\n            <h3 style=\"font-size:1.2em\">PHP</h3>\n        </div>\n\n\t\t<div class=\"column fourth center\">\n            <h1 style=\"font-weight:800\">85%</h1>\n            <h3 style=\"font-size:1.2em\">Photoshop</h3>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"168\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op03.png\" data-cat=\"0,32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full display center\">\n            <h1>Professional Skills</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"row clearfix\">\n            \t<div class=\"column third center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-favorite-outline size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>89%</b></span><br><br>Web Design</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"row clearfix\">\n            \t<div class=\"column third center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-code size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>92%</b></span><br><br>HTML &amp; CSS</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t\t<div class=\"column third\">\n\t\t\t<div class=\"row clearfix\">\n            \t<div class=\"column third center\">\n            \t\t<p style=\"line-height:1;margin-top:0;\">\n\t\t\t\t\t\t<i class=\"icon ion-android-settings size-64\"></i>\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third center\">\n\t\t\t\t\t<p style=\"line-height:1;margin-top:0\"><span style=\"font-size: 2.5em\"><b>81%</b></span><br><br>Marketing</p>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"169\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op04.png\" data-cat=\"0,32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n\t\t\t<div class=\"display\">\n\t\t\t\t<h1 style=\"margin:1.2em 0\">TEAM SKILLS</h1>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">89</span>%</h2>\n\t\t\t<h3>Web Design</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n        <div class=\"column third center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">91</span>%</h2>\n\t\t\t<h3>PHP</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\n\t\t<div class=\"column third center\">\n\t\t\t<h2><span style=\"font-weight:800;font-size:2.2em\">95</span>%</h2>\n\t\t\t<h3>HTML &amp; CSS</h3>\n            <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"170\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op05.png\" data-cat=\"0,32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">OUR SKILLS</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">92</span>%</h1>\n\t\t\t\t\t<h3>UX/UI Design</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">88</span>%</h1>\n\t\t\t\t\t<h3>Development</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\" style=\"margin:0 auto\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<h1><span style=\"font-weight:800;font-size:2.5em\">65</span>%</h1>\n\t\t\t\t\t<h3>Branding</h3>\n\t\t\t\t</div>\n        \t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"171\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op07.png\" data-cat=\"32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <h2 style=\"font-size:2.2em;margin-top:0.2em\">Our Skills</h2>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n        </div>\n\n\t\t<div class=\"column two-third\">\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column half\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">85%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                    <h3 style=\"text-align:center\">Web Design</h3>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column half\">\n\t\t\t\t\t<div class=\"is-card is-card-circle is-dark-text shadow-1\" style=\"width:120px;height: 120px;padding:15px\">\n  \t\t\t\t\t\t<div class=\"is-card-content-centered\">\n                \t\t\t<h2 style=\"font-size:35px;font-weight:800;\">91%</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n                \t<h3 style=\"text-align:center\">HTML &amp; CSS</h3>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"172\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/op08.png\" data-cat=\"32\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full center\">\n            <h1 style=\"font-size:3em\">Knowledge</h1>\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>\n        </div>\n\t</div>\n\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third center\">\n                <i class=\"icon ion-ios-heart-outline size-64\"></i>\n                <h2 style=\"font-size:1.3em;margin-top:0\"><strong>92%</strong>, Web Design</h2>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-ios-film-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>78%</strong>, Video Editing</h2>\n        </div>\n\n\t\t<div class=\"column third center\">\n            <i class=\"icon ion-ios-gear-outline size-64\"></i>\n            <h2 style=\"font-size:1.3em;margin-top:0\"><strong>89%</strong>, Web Development</h2>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Category: Title, Sub Title -->\n\n\n<div data-num=\"173\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b15.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"174\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b16.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"175\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b17.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"176\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b18.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"177\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b19.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"178\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b20.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"179\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b21.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"180\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b22.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"181\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b23.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"182\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b24.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"183\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b25.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"184\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b26.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"185\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b27.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"186\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b28.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"187\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b29.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"188\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b30.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"189\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b31.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"190\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b32.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"191\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b33.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"192\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b34.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"193\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b35.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"194\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b36.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"195\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b37.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n             <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"196\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b38.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"197\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b39.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"198\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b40.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"199\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b41.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"200\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b42.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"201\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b43.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"202\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b44.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"203\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b45.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"204\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b46.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"205\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b47.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n            </div>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"206\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b48.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"207\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b49.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"208\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b50.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n\t\t\t</div>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"209\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b51.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-24\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"210\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b52.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"211\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b53.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            <p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"212\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/b54.png\" data-cat=\"2\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            <p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n        </div>\n\t</div>\n</div>\n\n\n\n<!-- Category: Info, Title -->\n\n<div data-num=\"213\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c02.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<p class=\"size-24 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"214\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c03.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"215\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c04.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"216\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c05.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"217\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c06.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"218\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c07.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"219\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c08.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"220\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c09.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"221\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c10.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"222\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c11.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"223\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c12.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"224\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c13.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"225\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c14.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"226\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c15.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-lite\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"227\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c16.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"228\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c17.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n           \t\t<h1 class=\"size-32 is-title4-32 is-title-lite\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"229\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c18.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-24 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"230\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c19.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-lite\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"231\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c20.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"232\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c21.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"is-info1\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"233\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c22.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<p class=\"size-24 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-96 is-title1-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"234\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c23.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-64 is-title1-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"235\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c24.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"236\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c25.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n             <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"237\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c26.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-96\" style=\"line-height:1\"></i>\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title2-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"238\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c27.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title2-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"239\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c28.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-64\" style=\"line-height:1\"></i>\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title2-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"240\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c29.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<i class=\"icon ion-ios-home-outline size-48\" style=\"line-height:1\"></i>\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"241\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c30.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title3-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"242\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c31.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title3-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"243\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c32.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title3-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"244\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c33.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title3-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"245\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c34.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-96 is-title4-96 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"246\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c35.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <div>\n            \t<h1 class=\"size-64 is-title4-64 is-title-bold\" style=\"display:inline-block\">Lorem Ipsum</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"247\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c36.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-48 is-title4-48 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS DUMMY TEXT</h1>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"248\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c37.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <div>\n            \t<h1 class=\"size-32 is-title4-32 is-title-bold\" style=\"display:inline-block\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        \t</div>\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"249\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c38.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-24 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-96 is-title5-96 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"250\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c39.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n            <h1 class=\"size-64 is-title5-64 is-title-bold\">Lorem Ipsum</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"251\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c40.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"size-21 is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-48 is-title5-48 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"252\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/c41.png\" data-cat=\"3\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <p class=\"is-info2\">Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            <h1 class=\"size-32 is-title5-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n        </div>\n\t</div>\n</div>\n\n\n<!-- Buttons  -->\n\n<div data-num=\"253\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce01.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"254\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce02.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"255\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce03.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"256\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce04.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"257\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce05.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"258\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce06.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"259\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce07.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a> &nbsp;\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"260\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce08.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"261\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce09.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- -->\n\n<div data-num=\"262\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce10.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a> &nbsp;\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"263\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce11.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper is-rounded-30 is-btn-small\">Read More</a>\n\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"264\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/ce12.png\" data-cat=\"33\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\n            <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-rounded-30 is-btn-small\">Buy Now</a>\n\n        </div>\n\t</div>\n</div>\n\n<!-- Cards -->\n\n\n<div data-num=\"265\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de01.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t  \t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/z05-3.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n         </div>\n\t</div>\n</div>\n\n<div data-num=\"266\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de02.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n     \t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-2.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t     \t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"267\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de03.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n                \t<img src=\"/vendor/content-builder/assets/minimalist-basic/k06-1.jpg\" style=\"border-radius: 500px;\" alt=\"\">\n\t\t\t   \t\t<h3 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM </h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0\">\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\" style=\"margin-right: 1em\"></i></a>\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email\"></i></a>\n\t\t\t\t\t</div>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"268\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de04.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"269\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de05.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n        \t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"270\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de06.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t   \t\t<i class=\"icon ion-ios-lightbulb-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t   \t\t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"271\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de07.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n \t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"272\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de08.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"273\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de09.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"274\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de10.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"275\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de11.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"276\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de12.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-location-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-lite\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              </div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"277\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de13.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n \t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-25 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"278\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de14.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\n\t\t<div class=\"column half\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n              \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"279\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de15.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-30 center\">\n\t\t\t    \t<i class=\"icon ion-ios-heart-outline size-48\" style=\"line-height:1.5\"></i>\n\t\t\t    \t<h3 class=\"size-28 is-title1-28 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 1em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"280\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de16.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"281\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de17.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"column half\">\n           <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"282\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de18.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n            </div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"283\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de19.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/p02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"284\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de20.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column half\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"column half\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"285\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de21.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n            <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t    <img src=\"/vendor/content-builder/assets/minimalist-basic/g03-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t    \t<h3 class=\"size-28 margin-0 is-title-bold\">LOREM IPSUM</h3>\n            \t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n \t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n\t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n            \t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div data-num=\"286\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de22.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"287\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de23.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title5-48 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n             \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"288\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de24.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"289\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de25.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title5-32 is-title-lite\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"290\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de26.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"291\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de27.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-48 is-title1-48 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n            \t\t<p class=\"size-21\">Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper\">Read More</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"292\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de28.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n \t\t\t\t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost2 is-upper\">Read More</a> &nbsp;\n            \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n<div data-num=\"293\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de29.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\t\t<div class=\"column full\">\n\t\t\t<div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<div class=\"margin-40 center\">\n            \t\t<h1 class=\"size-32 is-title2-32 is-title-bold\">LOREM IPSUM IS SIMPLY DUMMY TEXT OF THE PRINTING AND TYPESETTING INDUSTRY</h1>\n            \t\t<p>Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\n\t\t\t\t\t<div style=\"margin:2em 0 0.5em\">\n            \t\t\t<a href=\"snippets.html#\" class=\"is-btn is-btn-small is-btn-ghost1 is-upper\">Buy Now</a>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n        </div>\n\t</div>\n</div>\n\n\n<div data-num=\"294\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de30.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column third\">\n            <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de01-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n             </div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de01-2.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"column third\">\n           <div class=\"is-card is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de01-3.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-25\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"295\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de31.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column half\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t\t<div class=\"column half\">\n           <div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de02-2.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"296\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de32.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n    \t\t<div class=\"is-card max-390 is-dark-text shadow-1\">\n\t\t\t\t<img src=\"/vendor/content-builder/assets/minimalist-basic/de02-1.jpg\" class=\"margin-0\" alt=\"\">\n\t\t\t\t<div class=\"margin-30\">\n\t\t\t\t\t<h3 class=\"size-28 margin-0 is-title-lite\">LOREM IPSUM</h3>\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry.</p>\n\t\t\t\t\t<div class=\"is-social\" style=\"margin:2em 0 0.5em\">\n\n                \t\t<a href=\"https://twitter.com/\"><i class=\"icon ion-social-twitter\"></i></a>\n\n                \t\t<a href=\"https://www.facebook.com/\"><i class=\"icon ion-social-facebook\"></i></a>\n\n                \t\t<a href=\"https://plus.google.com/\"><i class=\"icon ion-social-googleplus\"></i></a>\n\n                \t\t<a href=\"mailto:you@example.com\"><i class=\"icon ion-ios-email-outline\"></i></a>\n\n\t\t\t</div>\n\n\t\t\t\t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"297\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de33.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n            <div class=\"is-card is-card-circle is-dark-text shadow-1\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"298\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de34.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n            <div class=\"is-card is-card-circle is-dark-text shadow-1\">\n                <div class=\"is-card-content-centered\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"299\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de35.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-lite\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"300\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/de36.png\" data-cat=\"34\">\n\t<div class=\"row clearfix\">\n\n        <div class=\"column full\">\n            <div class=\"is-card is-card-circle is-light-text\" style=\"background:#000;\">\n                <div class=\"is-card-content-centered\" style=\"opacity:0.85;\">\n                    <h1 class=\"size-32 is-title1-32 is-title-bold\">LOREM IPSUM IS DUMMY TEXT</h1>\n                    <p>Lorem Ipsum is simply dummy text of the printing industry.</p>\n                    <div style=\"margin:1.2em 0 0\">\n                        <a href=\"snippets.html#\" class=\"is-btn is-btn-ghost1 is-upper is-btn-small\">Read More</a>\n                    </div>\n            \t</div>\n            </div>\n        </div>\n\n\t</div>\n</div>\n\n<div data-num=\"301\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"0,35\">\n    <div class=\"row clearfix\">\n        <div class=\"column full\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"%3Cdiv%20id%3D%22{id}%22%20class%3D%22slider-on-content%22%20style%3D%22width%3A100%25%3Bheight%3A400px%3Bdisplay%3Anone%3B%22%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-b.jpg')%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20class%3D%22is-boxes%20slider-image%22%20style%3D%22background-image%3A%20url('assets%2Fminimalist-basic%2Fslider1-a.jpg')%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3Cscript%3E%0Avar%20docReady%3Dfunction(fn)%7Bvar%20stateCheck%3DsetInterval(function%20()%7Bif(document.readyState!%3D%3D%22complete%22)return%3BclearInterval(stateCheck)%3Btry%7Bfn()%7Dcatch(e)%7B%7D%7D%2C1)%3B%7D%3B%0AdocReady(function()%20%7B%0AjQuery(%22%23{id}%22).css(%22display%22%2C%22block%22)%3B%0AjQuery(%22%23{id}%22).slick(%7B%0Adots%3A%20true%2Carrows%3A%20true%2Cinfinite%3A%20true%2Cspeed%3A%20500%2CcssEase%3A%20%22linear%22%2CslidesToShow%3A%201%2Cautoplay%3A%20true%2CautoplaySpeed%3A%203000%2Cfade%3A%20false%2CadaptiveHeight%3A%20true%2Cresponsive%3A%20%5B%7Bbreakpoint%3A%20480%2Csettings%3A%20%7Barrows%3A%20false%2CslidesToShow%3A%201%7D%7D%5D%0A%7D)%3B%0A%7D)%3B%0A%3C%2Fscript%3E\" data-settings=\"%5B%7B%22auto%22%3Atrue%2C%22arrow%22%3Atrue%2C%22dots%22%3Atrue%2C%22fade%22%3Afalse%2C%22height%22%3A%22400%22%2C%22images%22%3A%5B%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-b.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%2C%7B%22src%22%3A%20%22assets%2Fminimalist-basic%2Fslider1-a.jpg%22%2C%20%22caption%22%3A%20%22%22%2C%20%22link%22%3A%20%22%22%2C%20%22width%22%3A%20%22450%22%2C%20%22align%22%3A%20%22%22%2C%20%22position%22%3A%20%22bottom%20left%22%7D%5D%7D%5D\">\n\n\t\t</div>\n    </div>\n</div>\n\n<div data-num=\"302\" data-thumb=\"/vendor/content-builder/assets/minimalist-basic/thumbnails/code.png\" data-cat=\"0,100\">\n    <div class=\"row clearfix\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22column%20full%22%3E%0A%0A%3Ch1%20id%3D%22{id}%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n        <div class=\"column full\">\n\n        </div>\n    </div>\n</div>\n\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=D_O=A.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=D.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=D_O=D.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=M_O=A.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=D.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=M_O=D.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=N_O=A.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=D.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=N_O=D.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=S_O=A.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=D.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index-C=S_O=D.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=A.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/minimalist-basic/thumbnails/index.html",
    "content": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2 Final//EN\">\n<html>\n <head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">\n  <title>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</title>\n </head>\n <body>\n<h1>Index of /gwenael/content_builder/assets/minimalist-basic/thumbnails</h1>\n<pre><img src=\"../../../../../__ovh_icons/blank.gif\" alt=\"Icon \"> <a href=\"index-C=N_O=D.html\">Name</a>                    <a href=\"index-C=M_O=A.html\">Last modified</a>      <a href=\"index-C=S_O=A.html\">Size</a>  <a href=\"index-C=D_O=A.html\">Description</a><hr><img src=\"../../../../../__ovh_icons/back.gif\" alt=\"[PARENTDIR]\"> <a href=\"../index.html\">Parent Directory</a>                             -   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a01.png\">a01.png</a>                 2018-09-12 15:00  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a02.png\">a02.png</a>                 2018-09-12 15:00  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a03.png\">a03.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a04.png\">a04.png</a>                 2018-09-12 15:00  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a05.png\">a05.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a06.png\">a06.png</a>                 2018-09-12 15:00  2.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a07.png\">a07.png</a>                 2018-09-12 15:00  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a08.png\">a08.png</a>                 2018-09-12 15:00  2.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a09.png\">a09.png</a>                 2018-09-12 15:00  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"a10.png\">a10.png</a>                 2018-09-12 15:00  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab01.png\">ab01.png</a>                2018-09-12 15:00   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab02.png\">ab02.png</a>                2018-09-12 15:00   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab03.png\">ab03.png</a>                2018-09-12 15:00   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab06.png\">ab06.png</a>                2018-09-12 15:00   23K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab07.png\">ab07.png</a>                2018-09-12 15:00   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ab10.png\">ab10.png</a>                2018-09-12 15:00   24K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b01.png\">b01.png</a>                 2018-09-12 15:00  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b12.png\">b12.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b14.png\">b14.png</a>                 2018-09-12 15:00   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b15.png\">b15.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b16.png\">b16.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b17.png\">b17.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b18.png\">b18.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b19.png\">b19.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b20.png\">b20.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b21.png\">b21.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b22.png\">b22.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b23.png\">b23.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b24.png\">b24.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b25.png\">b25.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b26.png\">b26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b27.png\">b27.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b28.png\">b28.png</a>                 2018-09-12 15:00  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b29.png\">b29.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b30.png\">b30.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b31.png\">b31.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b32.png\">b32.png</a>                 2018-09-12 15:00  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b33.png\">b33.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b34.png\">b34.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b35.png\">b35.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b36.png\">b36.png</a>                 2018-09-12 15:00  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b37.png\">b37.png</a>                 2018-09-12 15:00  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b38.png\">b38.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b39.png\">b39.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b40.png\">b40.png</a>                 2018-09-12 15:00  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b41.png\">b41.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b42.png\">b42.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b43.png\">b43.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b44.png\">b44.png</a>                 2018-09-12 15:00  9.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b45.png\">b45.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b46.png\">b46.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b47.png\">b47.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b48.png\">b48.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b49.png\">b49.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b50.png\">b50.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b51.png\">b51.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b52.png\">b52.png</a>                 2018-09-12 15:00  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b53.png\">b53.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"b54.png\">b54.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c01.png\">c01.png</a>                 2018-09-12 15:00  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c02.png\">c02.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c03.png\">c03.png</a>                 2018-09-12 15:00  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c04.png\">c04.png</a>                 2018-09-12 15:00  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c05.png\">c05.png</a>                 2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c06.png\">c06.png</a>                 2018-09-12 15:00  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c07.png\">c07.png</a>                 2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c08.png\">c08.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c09.png\">c09.png</a>                 2018-09-12 15:00  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c10.png\">c10.png</a>                 2018-09-12 15:00  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c11.png\">c11.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c12.png\">c12.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c13.png\">c13.png</a>                 2018-09-12 15:00  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c14.png\">c14.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c15.png\">c15.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c16.png\">c16.png</a>                 2018-09-12 15:00  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c17.png\">c17.png</a>                 2018-09-12 15:00  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c18.png\">c18.png</a>                 2018-09-12 15:00  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c19.png\">c19.png</a>                 2018-09-12 15:00  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c20.png\">c20.png</a>                 2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c21.png\">c21.png</a>                 2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c22.png\">c22.png</a>                 2018-09-12 15:00  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c23.png\">c23.png</a>                 2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c24.png\">c24.png</a>                 2018-09-12 15:00  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c25.png\">c25.png</a>                 2018-09-12 15:00  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c26.png\">c26.png</a>                 2018-09-12 15:00   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c27.png\">c27.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c28.png\">c28.png</a>                 2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c29.png\">c29.png</a>                 2018-09-12 15:00  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c30.png\">c30.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c31.png\">c31.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c32.png\">c32.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c33.png\">c33.png</a>                 2018-09-12 15:00  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c34.png\">c34.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c35.png\">c35.png</a>                 2018-09-12 15:00  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c36.png\">c36.png</a>                 2018-09-12 15:00  8.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c37.png\">c37.png</a>                 2018-09-12 15:00  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c38.png\">c38.png</a>                 2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c39.png\">c39.png</a>                 2018-09-12 15:00  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c40.png\">c40.png</a>                 2018-09-12 15:00  8.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"c41.png\">c41.png</a>                 2018-09-12 15:00  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd01.png\">cd01.png</a>                2018-09-12 15:00  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd03.png\">cd03.png</a>                2018-09-12 15:00  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd04.png\">cd04.png</a>                2018-09-12 15:00  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd06.png\">cd06.png</a>                2018-09-12 15:00  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd07.png\">cd07.png</a>                2018-09-12 15:00  6.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd08.png\">cd08.png</a>                2018-09-12 15:00   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd09.png\">cd09.png</a>                2018-09-12 15:00  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"cd10.png\">cd10.png</a>                2018-09-12 15:00  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce01.png\">ce01.png</a>                2018-09-12 15:00  2.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce02.png\">ce02.png</a>                2018-09-12 15:00  1.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce03.png\">ce03.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce04.png\">ce04.png</a>                2018-09-12 15:00  2.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce05.png\">ce05.png</a>                2018-09-12 15:00  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce06.png\">ce06.png</a>                2018-09-12 15:00  1.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce07.png\">ce07.png</a>                2018-09-12 15:00  2.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce08.png\">ce08.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce09.png\">ce09.png</a>                2018-09-12 15:00  1.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce10.png\">ce10.png</a>                2018-09-12 15:01  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce11.png\">ce11.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ce12.png\">ce12.png</a>                2018-09-12 15:01  1.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"code.png\">code.png</a>                2018-09-12 15:01  1.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de01.png\">de01.png</a>                2018-09-12 15:01  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de02.png\">de02.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de03.png\">de03.png</a>                2018-09-12 15:01  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de04.png\">de04.png</a>                2018-09-12 15:01  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de05.png\">de05.png</a>                2018-09-12 15:01  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de06.png\">de06.png</a>                2018-09-12 15:01  3.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de07.png\">de07.png</a>                2018-09-12 15:01  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de08.png\">de08.png</a>                2018-09-12 15:01  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de09.png\">de09.png</a>                2018-09-12 15:01  3.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de10.png\">de10.png</a>                2018-09-12 15:01  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de11.png\">de11.png</a>                2018-09-12 15:01  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de12.png\">de12.png</a>                2018-09-12 15:01  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de13.png\">de13.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de14.png\">de14.png</a>                2018-09-12 15:01  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de15.png\">de15.png</a>                2018-09-12 15:01  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de16.png\">de16.png</a>                2018-09-12 15:01   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de17.png\">de17.png</a>                2018-09-12 15:01   19K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de18.png\">de18.png</a>                2018-09-12 15:01   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de19.png\">de19.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de20.png\">de20.png</a>                2018-09-12 15:01   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de21.png\">de21.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de22.png\">de22.png</a>                2018-09-12 15:01  8.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de23.png\">de23.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de24.png\">de24.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de25.png\">de25.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de26.png\">de26.png</a>                2018-09-12 15:01  7.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de27.png\">de27.png</a>                2018-09-12 15:01  7.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de28.png\">de28.png</a>                2018-09-12 15:01  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de29.png\">de29.png</a>                2018-09-12 15:01  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de30.png\">de30.png</a>                2018-09-12 15:01   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de31.png\">de31.png</a>                2018-09-12 15:01   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de32.png\">de32.png</a>                2018-09-12 15:01   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de33.png\">de33.png</a>                2018-09-12 15:01  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de34.png\">de34.png</a>                2018-09-12 15:01  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de35.png\">de35.png</a>                2018-09-12 15:01  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"de36.png\">de36.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e01.png\">e01.png</a>                 2018-09-12 15:02  2.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e02.png\">e02.png</a>                 2018-09-12 15:02  2.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e09.png\">e09.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e13.png\">e13.png</a>                 2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"e14.png\">e14.png</a>                 2018-09-12 15:02  4.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef01.png\">ef01.png</a>                2018-09-12 15:02  3.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef02.png\">ef02.png</a>                2018-09-12 15:02  7.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef03.png\">ef03.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef05.png\">ef05.png</a>                2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef08.png\">ef08.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ef09.png\">ef09.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g01.png\">g01.png</a>                 2018-09-12 15:02  4.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g02.png\">g02.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"g03.png\">g03.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh01.png\">gh01.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh02.png\">gh02.png</a>                2018-09-12 15:02  4.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh03.png\">gh03.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh05.png\">gh05.png</a>                2018-09-12 15:02  4.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh07.png\">gh07.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh08.png\">gh08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"gh09.png\">gh09.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h01.png\">h01.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"h02.png\">h02.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij01.png\">ij01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij02.png\">ij02.png</a>                2018-09-12 15:02  4.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij03.png\">ij03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij04.png\">ij04.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij05.png\">ij05.png</a>                2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij06.png\">ij06.png</a>                2018-09-12 15:02  6.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij07.png\">ij07.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij08.png\">ij08.png</a>                2018-09-12 15:02  6.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij09.png\">ij09.png</a>                2018-09-12 15:02  9.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"ij10.png\">ij10.png</a>                2018-09-12 15:02  6.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k01.png\">k01.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k02.png\">k02.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"k06.png\">k06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl01.png\">kl01.png</a>                2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl02.png\">kl02.png</a>                2018-09-12 15:02  5.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl03.png\">kl03.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl04.png\">kl04.png</a>                2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl05.png\">kl05.png</a>                2018-09-12 15:02  5.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl07.png\">kl07.png</a>                2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl08.png\">kl08.png</a>                2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl09.png\">kl09.png</a>                2018-09-12 15:02  5.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"kl10.png\">kl10.png</a>                2018-09-12 15:02  4.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn01.png\">mn01.png</a>                2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn02.png\">mn02.png</a>                2018-09-12 15:02  5.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn03.png\">mn03.png</a>                2018-09-12 15:02  3.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn04.png\">mn04.png</a>                2018-09-12 15:02  3.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn05.png\">mn05.png</a>                2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn08.png\">mn08.png</a>                2018-09-12 15:02  4.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"mn09.png\">mn09.png</a>                2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n15.png\">n15.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"n16.png\">n16.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o01.png\">o01.png</a>                 2018-09-12 15:02   22K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"o02.png\">o02.png</a>                 2018-09-12 15:02   31K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op01.png\">op01.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op02.png\">op02.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op03.png\">op03.png</a>                2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op04.png\">op04.png</a>                2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op05.png\">op05.png</a>                2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op07.png\">op07.png</a>                2018-09-12 15:02  7.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"op08.png\">op08.png</a>                2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p01.png\">p01.png</a>                 2018-09-12 15:02   21K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p02.png\">p02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p03.png\">p03.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p04.png\">p04.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p05.png\">p05.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p06.png\">p06.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p07.png\">p07.png</a>                 2018-09-12 15:02  2.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p34.png\">p34.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p35.png\">p35.png</a>                 2018-09-12 15:02  8.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p36.png\">p36.png</a>                 2018-09-12 15:02  6.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p38.png\">p38.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p42.png\">p42.png</a>                 2018-09-12 15:02  8.8K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p43.png\">p43.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p44.png\">p44.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p46.png\">p46.png</a>                 2018-09-12 15:02  6.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p47.png\">p47.png</a>                 2018-09-12 15:02  8.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"p50.png\">p50.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q01.png\">q01.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q02.png\">q02.png</a>                 2018-09-12 15:02  4.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q20.png\">q20.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q21.png\">q21.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q24.png\">q24.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q25.png\">q25.png</a>                 2018-09-12 15:02  6.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q26.png\">q26.png</a>                 2018-09-12 15:02   17K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q27.png\">q27.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q28.png\">q28.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q29.png\">q29.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q30.png\">q30.png</a>                 2018-09-12 15:02  4.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"q31.png\">q31.png</a>                 2018-09-12 15:02  5.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r01.png\">r01.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r02.png\">r02.png</a>                 2018-09-12 15:02  7.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r03.png\">r03.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r04.png\">r04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r22.png\">r22.png</a>                 2018-09-12 15:02  5.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r23.png\">r23.png</a>                 2018-09-12 15:02  9.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r25.png\">r25.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r27.png\">r27.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"r28.png\">r28.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s01.png\">s01.png</a>                 2018-09-12 15:02  3.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s03.png\">s03.png</a>                 2018-09-12 15:02   16K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"s10.png\">s10.png</a>                 2018-09-12 15:02  4.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"slider1.png\">slider1.png</a>             2018-09-12 15:02   33K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t01.png\">t01.png</a>                 2018-09-12 15:02   34K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"t02.png\">t02.png</a>                 2018-09-12 15:02   18K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u04.png\">u04.png</a>                 2018-09-12 15:02  3.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u10.png\">u10.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u11.png\">u11.png</a>                 2018-09-12 15:02  6.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u12.png\">u12.png</a>                 2018-09-12 15:02  7.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u13.png\">u13.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"u14.png\">u14.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v01.png\">v01.png</a>                 2018-09-12 15:02  267   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"v02.png\">v02.png</a>                 2018-09-12 15:02  269   \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w01.png\">w01.png</a>                 2018-09-12 15:02  9.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w02.png\">w02.png</a>                 2018-09-12 15:02  7.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w04.png\">w04.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w05.png\">w05.png</a>                 2018-09-12 15:02   10K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w06.png\">w06.png</a>                 2018-09-12 15:02  5.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w07.png\">w07.png</a>                 2018-09-12 15:02  5.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"w10.png\">w10.png</a>                 2018-09-12 15:02  7.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x01.png\">x01.png</a>                 2018-09-12 15:02  7.3K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x05.png\">x05.png</a>                 2018-09-12 15:02  6.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x09.png\">x09.png</a>                 2018-09-12 15:02  6.6K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x10.png\">x10.png</a>                 2018-09-12 15:02   15K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x11.png\">x11.png</a>                 2018-09-12 15:02  7.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"x12.png\">x12.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y01.png\">y01.png</a>                 2018-09-12 15:02  8.9K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y02.png\">y02.png</a>                 2018-09-12 15:02  8.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y03.png\">y03.png</a>                 2018-09-12 15:02  8.1K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y04.png\">y04.png</a>                 2018-09-12 15:02  9.2K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y05.png\">y05.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y06.png\">y06.png</a>                 2018-09-12 15:02  9.4K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y07.png\">y07.png</a>                 2018-09-12 15:02  9.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y08.png\">y08.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y09.png\">y09.png</a>                 2018-09-12 15:02  9.0K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"y10.png\">y10.png</a>                 2018-09-12 15:02   12K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z01.png\">z01.png</a>                 2018-09-12 15:02   13K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z02.png\">z02.png</a>                 2018-09-12 15:02  8.5K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z03.png\">z03.png</a>                 2018-09-12 15:02   14K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z05.png\">z05.png</a>                 2018-09-12 15:02  9.7K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z06.png\">z06.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z07.png\">z07.png</a>                 2018-09-12 15:02   11K  \n<img src=\"../../../../../__ovh_icons/image2.gif\" alt=\"[IMG]\"> <a href=\"z09.png\">z09.png</a>                 2018-09-12 15:02   12K  \n<hr></pre>\n</body></html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/modules/slider.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <!--<base href=\"../../\">-->\n    <meta charset=\"utf-8\">\n    <title></title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"http://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        html { height:100%; }\n        body { margin:3px 25px 20px;height:100%;overflow:hidden;font-family:Sans-Serif;font-size:17px;line-height:1.7; }\n        body.dark {color:rgba(255,255,255,0.6);border:none;}\n        #imageList {display:inline-block;box-sizing:border-box;width:100%;margin: 0;overflow-y:auto;overflow-x:hidden;height:200px;padding:10px;line-height:1.5;border:rgba(127, 127, 127, 0.32) 1px solid;}\n        #imageList div {position:relative;display:inline-block;margin:10px;cursor:pointer;}\n        #imageList div i {position:absolute;top:0;right:0;cursor:pointer;background: rgba(255, 255, 255, 0.18); color: #f41818;width:28px;height:28px;text-align: center;line-height: 28px;font-size:24px;}\n        .dark #imageList div i {background:rgba(34, 34, 34, 0.18);color: #c7c7c7;}        \n        #imageList div img {height:100px;opacity: 0.9;}\n        .inptext {width:90%;font-size:17px;letter-spacing:1px;border:none;padding:10px;border:rgba(127, 127, 127, 0.32) 1px solid;}\n        .dark .inptext {background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.6);border:none;}  \n        textarea.inptext {height:30%;}  \n        .dark textarea.inptext {background: rgb(57, 57, 57);}  \n        #divCaption label {margin:5px 0 5px;display: block;} \n        textarea:focus, input:focus, select:focus {outline:none;}\n        #divCaption {position: absolute;width:400px;height:100%;top:3px;right:-400px;padding:20px;box-sizing:border-box;background:#eee;z-index:1000}\n        .dark #divCaption {background:#2a2a2a;}\n        img.selected {outline:#595858 1px solid}\n        .dark img.selected {outline:#9e9132 2px solid}        \n        select {background: #fff; border-color:#dadada; height: 40px;font-size: 15px;}\n        .dark select {background: #c8c8c8;border-color:rgba(127, 127, 127, 0.32);}\n        .info {font-size: 14px;margin-bottom: 20px;text-align: left;font-style:italic;opacity: 0.8;}\n        \n        /*http://codepen.io/vcmg/pen/JdKeVG */\n        .dot {\n          height: 7px;\n          width: 7px;\n          border-radius: 50%;\n          background-color: #ff6700;\n          display: inline-block;\n          margin: 5px 2px 0;\n          -webkit-animation: jump 1.5s linear infinite;\n        }\n        @-webkit-keyframes jump {\n          0%, 100% {transform: translateY(0px);}\n          20% {transform: translateY(-10px);}\n          40% {transform: translateY(0px);}\n        }\n        .dot:nth-of-type(2) {\n          -webkit-animation-delay: 0.2s;\n        }\n        .dot:nth-of-type(3) {\n          -webkit-animation-delay: 0.4s;\n        }\n        .loading {display:none}\n    </style>\n</head>\n<body>\n\n    <div id=\"imageList\"></div>\n    <div class=\"info\">Drag image to change the position. Click image to edit the details.</div>\n\n    <form id=\"slideform\" name=\"slideform2\" method=\"post\" action=\"\" target=\"slideframe\" enctype=\"multipart/form-data\">\n        <input id=\"fileImage\" name=\"fileImage\" type=\"file\" style=\"font-size:17px;width:250px;\" />\n        <input id=\"hidCustomVal\" name=\"hidCustomVal\" type=\"hidden\" />\n        <div class=\"loading\">\n            <div class=\"dot\"></div>\n            <div class=\"dot\"></div>\n            <div class=\"dot\"></div>\n        </div>\n    </form>\n    <iframe id=\"slideframe\" name=\"slideframe\" style=\"width:1px;height:1px;border:none;visibility:hidden;position:absolute\"></iframe>\n   \n    <br />\n\n    <label>\n        <input id=\"chkAuto\" type=\"checkbox\" checked=\"checked\" /> Autoplay\n    </label>\n\n    <label>\n        <input id=\"chkArrow\" type=\"checkbox\" checked=\"checked\" /> Arrow Navigation\n    </label>\n    \n    <label>\n        <input id=\"chkDots\" type=\"checkbox\" /> Dots Navigation\n    </label>\n\n    <label>\n        <input id=\"chkFade\" type=\"checkbox\" checked=\"checked\" /> Fade\n    </label><br /><br />\n\n    <label id=\"divHeight\" for=\"txtHeight\" style=\"display:none\">Height: <input id=\"txtHeight\" class=\"inptext\" type=\"text\" style=\"width:50px;right:-400px;\" value=\"100%\" /> px</label>\n    \n    <div id=\"divCaption\">        \n        <label id=\"lblCaption\" for=\"txtCaption\">\n        Caption (HTML allowed)\n        </label>\n        <textarea id=\"txtCaption\" class=\"inptext\"></textarea>\n        <label id=\"lbkLink\" for=\"txtLink\">Link:</label>\n        <input id=\"txtLink\" class=\"inptext\" type=\"text\" style=\"width:90%;\" value=\"\" />\n\n        <table>\n        <tr>\n            <td valign=\"top\">\n                <label id=\"lblPlacement\" for=\"selPlacement\">Placement:</label>\n                <select id=\"selPlacement\">\n                    <option value=\"\"></option>\n                    <option value=\"top left\">Top Left</option>\n                    <option value=\"top center\">Top Center</option>\n                    <option value=\"top right\">Top Right</option>\n                    <option value=\"middle left\">Middle Left</option>\n                    <option value=\"middle center\">Middle Center</option>\n                    <option value=\"middle right\">Middle Right</option>\n                    <option value=\"bottom left\">Bottom Left</option>\n                    <option value=\"bottom center\">Bottom Center</option>\n                    <option value=\"bottom right\">Bottom Right</option>\n                </select>\n            </td>\n            <td>&nbsp;</td>\n            <td valign=\"top\">\n                <label id=\"lblAlign\" for=\"selAlign\">Align:</label>\n                <select id=\"selAlign\">\n                    <option value=\"\"></option>\n                    <option value=\"left\">Left</option>\n                    <option value=\"center\">Center</option>\n                    <option value=\"right\">Right</option>\n                </select>\n            </td>\n            <td>&nbsp;</td>\n            <td valign=\"top\">\n                <label id=\"lblWidth\" for=\"txtWidth\">Max Width:</label>\n                <input id=\"txtWidth\" class=\"inptext\" type=\"text\" style=\"width:55px;\" value=\"\" /> px\n            </td>\n        </tr>\n        </table>\n    </div>\n  \n    <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js\"></script> \n    <script src=\"https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js\"></script>\n    <script>\n        jQuery(document).ready(function ($) {\n\n            applyTheme();\n\n            //Passing custom value (defined by customval param when initiating ContentBox.js or ContentBuilder.js). Can be used to pass userid in a CMS app to save file on user's folder.\n            var customval = getCustomVal();\n            jQuery('#hidCustomVal').val(customval);\n\n            //Show or hide Slider Height setting. Height is needed if slider is embedded on content. For embedding in a box, height is set 100% automatically.\n            if (isModuleInBox()) {\n                $('#divHeight').css('display', 'none');\n            } else {\n                $('#divHeight').css('display', 'inline-block');\n            }\n\n            //Get current Settings\n\n            /*\n            [\n            {\n            auto: false, \n            arrow: true, \n            dots: true, \n            fade: false, \n            height: '300px',\n            images: [{src: 'test1.jpg',\n            caption: 'Lorem ipsum',\n            position: 'bottom left'\n            },{src: 'test2.jpg',\n            caption: 'Lorem ipsum',\n            position: 'bottom left'\n            }]\n            }\n            ]\n            */\n            var settings = getSettings();\n            if (settings != 'undefined') {\n                try {\n                    var json = $.parseJSON(settings);\n                    $(json).each(function (i, val) {\n                        $.each(val, function (k, v) {\n                            if (k == 'auto') jQuery(\"#chkAuto\").prop(\"checked\", v);\n                            if (k == 'arrow') jQuery(\"#chkArrow\").prop(\"checked\", v);\n                            if (k == 'dots') jQuery(\"#chkDots\").prop(\"checked\", v);\n                            if (k == 'fade') jQuery(\"#chkFade\").prop(\"checked\", v);\n                            if (k == 'height') jQuery(\"#txtHeight\").val(v);\n                            if (k == 'images') {\n                                $.each(v, function (m, n) {\n                                    jQuery('#imageList').append('<div><img src=\"' + n.src + '\" data-caption=\"' + (n.caption + '' == 'undefined' ? '' : n.caption) + '\" data-width=\"' + n.width + '\" data-link=\"' + (n.link + '' == 'undefined' ? '' : n.link) + '\" data-align=\"' + (n.align + '' == 'undefined' ? '' : n.align) + '\" data-position=\"' + n.position + '\" /><i class=\"ion-ios-close-empty\"></i></div>');\n                                    constructList();\n                                });\n                            }\n                        });\n                    });\n                } catch (e) { }\n            }\n\n            //Upload image\n            var handler = getModuleConfig('moduleSaveImageHandler');\n            jQuery('#fileImage').bind('change', function (e) {\n                jQuery('.loading').css('display','inline-block');\n                jQuery('#slideform').attr('action', handler);\n                jQuery('#slideform').submit();\n            });\n\n            //If there is no settings, so read directly from the html (dom).\n            var $activeModule = parent.jQuery(\"[data-module-active]\");\n            if (jQuery(\"#imageList\").children().length == 0) {\n                $activeModule.find('div').each(function () {\n                    if (jQuery(this).css('background-image').indexOf('url(') != -1) {\n                        var bgurl = jQuery(this).css('background-image');\n                        bgurl = /^url\\((['\"]?)(.*)\\1\\)$/.exec(bgurl);\n                        bgurl = bgurl ? bgurl[2] : \"\";\n                        jQuery('#imageList').append('<div><img src=\"' + bgurl + '\" /><i class=\"ion-ios-close-empty\"></i></div>')\n                        constructList();\n                    }\n                });\n            }\n\n            //Apply events\n            jQuery('#chkAuto').bind('click', function (e) {\n                constructList();\n            });\n            jQuery('#chkArrow').bind('click', function (e) {\n                constructList();\n            });\n            jQuery('#chkDots').bind('click', function (e) {\n                constructList();\n            });\n            jQuery('#chkFade').bind('click', function (e) {\n                constructList();\n            });\n            jQuery('#txtHeight').bind('blur', function (e) {\n                constructList();\n            });\n\n            applyBehaviour();\n\n            //Make image list sortable\n            jQuery(\"#imageList\").sortable({\n                stop: function () {\n                    constructList();\n                },\n                delay: 200\n            });\n\n            jQuery(document).unbind('mousedown');\n            jQuery(document).bind('mousedown', function (event) {\n                if (jQuery(event.target).parents('#divCaption').length > 0 || jQuery(event.target).attr(\"id\") == 'divCaption' || jQuery(event.target).prop(\"tagName\").toLowerCase() == 'img') {\n\n                } else {\n\n                    if (parseInt(jQuery('#divCaption').css('right')) == 0) {//Close                        \n                        jQuery('#divCaption').animate({\n                            right: '-=400px'\n                        }, 200);\n                    }\n\n                }\n            });\n\n        });\n\n        //Function called each time an image has been uploaded.r\n        function sliderImageSaved(s) {\n            jQuery('#imageList').append('<div><img src=\"' + s + '\" /><i class=\"ion-ios-close-empty\"></i></div>');\n            jQuery('.loading').css('display', 'none');\n            jQuery('#fileImage').val('');\n            constructList();\n            applyBehaviour();\n        }\n\n        function applyBehaviour(){\n            jQuery(\"#imageList img\").unbind('click');\n            jQuery(\"#imageList img\").click(function () {\n                jQuery(\"#imageList img\").removeClass('selected');\n                jQuery(this).addClass('selected');\n\n                if (parseInt(jQuery('#divCaption').css('right')) < 0) {//Open                        \n                    jQuery('#divCaption').animate({\n                        right: '+=400px'\n                    }, 200);\n                }\n\n                if (jQuery('#divCaption').find('#imgSelected').length == 0) {\n                    jQuery('#divCaption').prepend('<img id=\"imgSelected\" src=\"' + jQuery(this).attr('src') + '\" style=\"height:50px;opacity:0.75;\"/>');\n                } else {\n                    jQuery('#imgSelected').attr('src', jQuery(this).attr('src'));\n                }\n\n                var s = decodeURIComponent(jQuery(this).attr('data-caption'));\n                if (s == 'undefined') s = '';\n                jQuery('#txtCaption').val(s);\n\n                var s2 = jQuery(this).attr('data-link')+'';\n                if (s2 == 'undefined') s2 = '';\n                jQuery('#txtLink').val(s2);\n\n                var s3 = jQuery(this).attr('data-position') + '';\n                if (s3 == 'undefined') s3 = '';\n                jQuery('#selPlacement').val(s3);\n\n                var s4 = jQuery(this).attr('data-width') + '';\n                if (s4 == 'undefined') s4 = '';\n                jQuery('#txtWidth').val(s4);\n\n                var s5 = jQuery(this).attr('data-align') + '';\n                if (s5 == 'undefined') s5 = '';\n                jQuery('#selAlign').val(s5);\n\n                constructList();\n            });\n\n            jQuery(\"#imageList i\").unbind('click');\n            jQuery(\"#imageList i\").click(function () {//delete image handling\n\n                jQuery(this).parent().remove();\n\n                constructList();\n\n            });\n\n            jQuery(\"#txtCaption\").unbind('keyup');\n            jQuery('#txtCaption').on('keyup', function () {\n                var s = encodeURIComponent(jQuery('#txtCaption').val());\n                jQuery('#imageList').find('.selected').attr('data-caption', s);\n            });\n\n            jQuery(\"#txtCaption\").unbind('blur');\n            jQuery('#txtCaption').on('blur', function () {\n                constructList();\n            });\n\n            jQuery(\"#txtLink\").unbind('keyup');\n            jQuery('#txtLink').on('keyup', function () {\n                var s = jQuery('#txtLink').val();\n                jQuery('#imageList').find('.selected').attr('data-link', s);\n            });\n\n            jQuery(\"#txtLink\").unbind('blur');\n            jQuery('#txtLink').on('blur', function () {\n                constructList();\n            });\n\n            jQuery(\"#txtWidth\").unbind('keyup');\n            jQuery('#txtWidth').on('keyup', function () {\n                var s = jQuery('#txtWidth').val();\n                jQuery('#imageList').find('.selected').attr('data-width', s);\n            });\n\n            jQuery(\"#txtWidth\").unbind('blur');\n            jQuery('#txtWidth').on('blur', function () {\n                constructList();\n            });\n\n            jQuery(\"#selPlacement\").unbind('change');\n            jQuery('#selPlacement').on('change', function () {\n                var optionSelected = $(\"option:selected\", this);\n                var valueSelected = this.value;\n                jQuery('#imageList').find('.selected').attr('data-position', valueSelected);\n            });\n\n            jQuery(\"#selPlacement\").unbind('blur');\n            jQuery('#selPlacement').on('blur', function () {\n                constructList();\n            });\n\n            jQuery(\"#selAlign\").unbind('change');\n            jQuery('#selAlign').on('change', function () {\n                var optionSelected = $(\"option:selected\", this);\n                var valueSelected = this.value;\n                jQuery('#imageList').find('.selected').attr('data-align', valueSelected);\n            });\n\n            jQuery(\"#selAlign\").unbind('blur');\n            jQuery('#selAlign').on('blur', function () {\n                constructList();\n            });\n        }\n\n        //Generate html code, based on the image list and configuration\n        function constructList() {\n\n            var html = '';\n            if (isModuleInBox()) {\n                //Slider in Box\n                html = '<div id=\"{id}\" class=\"slider-on-box\" style=\"width:100%;height:100%;display:none;\">';\n            } else {\n                //Slider on Content\n                html = '<div id=\"{id}\" class=\"slider-on-content\" style=\"width:100%;height:' + jQuery(\"#txtHeight\").val() + 'px;display:none;\">';\n            }\n\n            var imglist = '';\n            jQuery('#imageList img').each(function () {\n                var imgSrc = jQuery(this).attr('src');\n                var encodedCaption = jQuery(this).attr('data-caption') + '';\n                var link = jQuery(this).attr('data-link') + '';\n                var position = jQuery(this).attr('data-position') + '';\n                var captionWidth = jQuery(this).attr('data-width') + '';\n                var captionAlign = jQuery(this).attr('data-align') + '';\n\n                if (encodedCaption == 'undefined') encodedCaption = '';\n                if (link == 'undefined') link = '';\n                if (position == 'undefined') link = '';\n                if (captionWidth == 'undefined') captionWidth = '';\n                if (captionAlign == 'undefined') captionAlign = '';\n\n                var sV = '';\n                if (position.indexOf('top') != -1) {\n                    sV = 'vertical-align:top;';\n                }\n                if (position.indexOf('middle') != -1) {\n                    sV = 'vertical-align:middle;';\n                }\n                if (position.indexOf('bottom') != -1) {\n                    sV = 'vertical-align:bottom;';\n                }\n\n                var sH = '';\n                var sW = '';\n                var sA = '';\n                if (captionWidth != '') sW = 'max-width:' + captionWidth + 'px;';\n                if (captionAlign != '') sA = 'text-align:' + captionAlign + ';';\n                if (position.indexOf('left') != -1) {\n                    sH = 'margin-left:0px;margin-right:auto;' + sW + sA;\n                }\n                else if (position.indexOf('center') != -1) {\n                    sH = 'margin-left:auto;margin-right:auto;' + sW + sA;\n                }\n                else if (position.indexOf('right') != -1) {\n                    sH = 'margin-left:auto;margin-right:0px;' + sW + sA;\n                }\n                else {\n                    sH = sW + sA;\n                }\n\n                var sliderContent = '';\n                if (encodedCaption != '') {\n                    if (link != '') {\n                        sliderContent = '<a href=\"' + link + '\" title=\"\" class=\"is-box-centered is-content-bottom slider-content\" style=\"' + sV + '\"><div class=\"is-container\" style=\"' + sH + '\">' + decodeURIComponent(encodedCaption) + '</div></a>';\n                    } else {\n                        sliderContent = '<div class=\"is-box-centered is-content-bottom slider-content\" style=\"' + sV + '\"><div class=\"is-container\" style=\"' + sH + '\">' + decodeURIComponent(encodedCaption) + '</div></div>';\n                    }\n                }\n\n                html += '<div class=\"is-boxes slider-image\" style=\"background-image: url(\\'' + imgSrc + '\\');\">' +\n                    sliderContent +\n                    '</div>';\n\n                //sSlideContent = \"<a href=\"\"\" & sLink2 & \"\"\" style=\"\"display: table-cell; vertical-align:\" & sVAlign2 & \";text-align:\" & sHAlign2 & \";color:#fff;padding:20px 40px;\" & IIf(sImagesPerSlide = \"1\", \"padding-bottom:60px;\", \"padding-bottom:20px;\") & \"letter-spacing:1px;font-size:1.2em;text-decoration:none;text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\"\">\" & sCaption2 & \"</a>\"\n                if (imglist == '') {\n                    imglist += '{\"src\": \"' + imgSrc + '\", \"caption\": \"' + encodedCaption + '\", \"link\": \"' + link + '\", \"width\": \"' + captionWidth + '\", \"align\": \"' + captionAlign + '\", \"position\": \"' + position + '\"}';\n                } else {\n                    imglist += ',{\"src\": \"' + imgSrc + '\", \"caption\": \"' + encodedCaption + '\", \"link\": \"' + link + '\", \"width\": \"' + captionWidth + '\", \"align\": \"' + captionAlign + '\", \"position\": \"' + position + '\"}';\n                }\n            });\n            html += '</div>';\n          \n            html += '<scr' + 'ipt>\\n' +\n            'var docReady=function(fn){' +\n                'var stateCheck=setInterval(function (){' +\n                    'if(document.readyState!==\"complete\")return;' +\n                    'clearInterval(stateCheck);' +\n                    'try{fn()}catch(e){}' +\n                '},1);' +\n            '};\\n' +\n            'docReady(function() {\\n' +\n                'jQuery(\"#{id}\").css(\"display\",\"block\");\\n' +\n                'jQuery(\"#{id}\").slick({\\n' +\n                    'dots: ' + jQuery(\"#chkDots\").prop(\"checked\") + ',' +\n                    'arrows: ' + jQuery(\"#chkArrow\").prop(\"checked\") + ',' +\n                    'infinite: true,' +\n                    'speed: 500,' +\n                    'cssEase: \"linear\",' +\n                    'slidesToShow: 1,' +\n                    'autoplay: ' + jQuery(\"#chkAuto\").prop(\"checked\") + ',' +\n                    'autoplaySpeed: 3000,' +\n                    'fade: ' + jQuery(\"#chkFade\").prop(\"checked\") + ',' +\n                    'adaptiveHeight: true,' +\n                    'responsive: [{breakpoint: 480,' +\n                        'settings: {arrows: false,slidesToShow: 1}' +\n                    '}]\\n' +\n                '});\\n' +\n            '});\\n' +\n            '</scr' + 'ipt>';\n\n            html = html.replace(/{id}/g, makeid());\n            setHtml(html);\n\n            /*\n            [\n                {\n                auto: false, \n                arrow: true, \n                dots: true, \n                fade: false, \n                height: '300px',\n                images: [\n                    {\n                    src: 'test1.jpg',\n                    caption: 'Lorem ipsum',\n                    position: 'bottom left'\n                    },\n                    {\n                    src: 'test2.jpg',\n                    caption: 'Lorem ipsum',\n                    position: 'bottom left'\n                    }\n                ]\n            ]\n            */\n          \n            var settings = '[{\"auto\":' + jQuery(\"#chkAuto\").prop(\"checked\") + ',\"arrow\":' + jQuery(\"#chkArrow\").prop(\"checked\") + ',\"dots\":' + jQuery(\"#chkDots\").prop(\"checked\") + ',\"fade\":' + jQuery(\"#chkFade\").prop(\"checked\") + ',\"height\":\"' + jQuery(\"#txtHeight\").val() + '\",\"images\":[' + imglist + ']}]';\n            setSettings(settings);\n        }\n\n        /*! jQuery UI Touch Punch 0.2.3 | Copyright 2011–2014, Dave Furfero | Dual licensed under the MIT or GPL Version 2 licenses. */\n        eval(function (p, a, c, k, e, r) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function (e) { return r[e] } ]; e = function () { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('(7(4){4.w.8=\\'H\\'G p;c(!4.w.8){f}d 6=4.U.D.L,g=6.g,h=6.h,a;7 5(2,r){c(2.k.F.J>1){f}2.B();d 8=2.k.q[0],l=p.N(\\'O\\');l.S(r,i,i,V,1,8.W,8.X,8.Y,8.A,b,b,b,b,0,C);2.z.E(l)}6.m=7(2){d 3=e;c(a||!3.I(2.k.q[0])){f}a=i;3.j=b;5(2,\\'K\\');5(2,\\'s\\');5(2,\\'M\\')};6.n=7(2){c(!a){f}e.j=i;5(2,\\'s\\')};6.o=7(2){c(!a){f}5(2,\\'P\\');5(2,\\'Q\\');c(!e.j){5(2,\\'R\\')}a=b};6.g=7(){d 3=e;3.u.T({v:4.9(3,\\'m\\'),x:4.9(3,\\'n\\'),y:4.9(3,\\'o\\')});g.t(3)};6.h=7(){d 3=e;3.u.Z({v:4.9(3,\\'m\\'),x:4.9(3,\\'n\\'),y:4.9(3,\\'o\\')});h.t(3)}})(4);', 62, 62, '||event|self|jQuery|simulateMouseEvent|mouseProto|function|touch|proxy|touchHandled|false|if|var|this|return|_mouseInit|_mouseDestroy|true|_touchMoved|originalEvent|simulatedEvent|_touchStart|_touchMove|_touchEnd|document|changedTouches|simulatedType|mousemove|call|element|touchstart|support|touchmove|touchend|target|clientY|preventDefault|null|mouse|dispatchEvent|touches|in|ontouchend|_mouseCapture|length|mouseover|prototype|mousedown|createEvent|MouseEvents|mouseup|mouseout|click|initMouseEvent|bind|ui|window|screenX|screenY|clientX|unbind'.split('|'), 0, {}));\n\n        /* \n        COMMON METHODS FOR MODULE.\n        */\n        function applyTheme() {\n            if (parent.jQuery('.is-wrapper').length > 0) {\n                //From ContentBox\n                $('body').addClass(\"dark\");\n            } else {\n                //From ContentBuilder             \n            }\n        }\n        function isModuleInBox() {\n            var $activeModule = parent.jQuery(\"[data-module-active]\"); //get active module\n            if ($activeModule.hasClass('is-overlay-content')) {\n                //Module in Box\n                return true;\n            } else {\n                //Module on Content\n                return false;\n            }\n        }\n        function getCustomVal() {\n            var customval;\n            if (parent.jQuery('.is-wrapper').length > 0) {\n                customval = parent.jQuery('.is-wrapper').data('contentbox').settings.customval;\n            } else {\n                var $activeModule = parent.jQuery(\"[data-module-active]\"); //get active module\n                customval = $activeModule.parents(\".ui-draggable\").parent().data('contentbuilder').settings.customval\n            }\n            return customval;\n        }\n        function getModuleConfig(key) {\n            var config; //Use existing handler to save/upload image.\n            if (parent.jQuery('.is-wrapper').length > 0) {\n                config = parent.jQuery('.is-wrapper').data('contentbox').settings.moduleConfig;\n            } else {\n                var $activeModule = parent.jQuery(\"[data-module-active]\"); //get active module\n                config = $activeModule.parents(\".ui-draggable\").parent().data('contentbuilder').settings.moduleConfig\n            }\n            var result = '';\n            $(config).each(function (i, val) {\n                result = eval('val.' + key);\n            });\n            return result;\n        }\n        function getHtml() {\n            var $activeModule = parent.jQuery(\"[data-module-active]\");\n            return decodeURIComponent($activeModule.attr(\"data-html\"));\n        }\n\n        function getSettings() {\n            var $activeModule = parent.jQuery(\"[data-module-active]\");\n            return decodeURIComponent($activeModule.attr('data-settings'));\n        }\n\n        function setHtml(html) {\n            if (isModuleInBox()) {\n                //Slider in Box\n                parent.jQuery('#hidModuleCode').val(html);\n            } else {\n                //Slider on Content\n                parent.jQuery('#hidContentModuleCode').val(html);\n            }\n        }\n\n        function setSettings(settings) {\n            if (isModuleInBox()) {\n                //Slider in Box\n                parent.jQuery('#hidModuleSettings').val(settings);\n            } else {\n                //Slider on Content\n                parent.jQuery('#hidContentModuleSettings').val(settings);\n            }\n        }\n\n        function makeid() {//http://stackoverflow.com/questions/1349404/generate-a-string-of-5-random-characters-in-javascript\n            var text = \"\";\n            var possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n            for (var i = 0; i < 2; i++)\n                text += possible.charAt(Math.floor(Math.random() * possible.length));\n\n            var text2 = \"\";\n            var possible2 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n            for (var i = 0; i < 5; i++)\n                text2 += possible2.charAt(Math.floor(Math.random() * possible2.length));\n\n            return text + text2;\n        }\n    </script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/assets/scripts/simplelightbox/simple-lightbox.js",
    "content": "/*\n\tBy André Rinas, www.andrerinas.de\n\tAvailable for use under the MIT License\n*/\n;( function( $, window, document, undefined )\n{\n\t'use strict';\n\n$.fn.simpleLightbox = function( options )\n{\n\n\tvar options = $.extend({\n\t\tsourceAttr: 'href',\n\t\toverlay: true,\n\t\tspinner: true,\n\t\tnav: true,\n\t\tnavText: ['&lsaquo;', '&rsaquo;'],\n\t\tcaptions: true,\n\t\tcaptionDelay: 0,\n\t\tcaptionSelector: 'img',\n\t\tcaptionType: 'attr',\n\t\tcaptionsData: 'title',\n\t\tcaptionPosition: 'bottom',\n\t\tclose: true,\n\t\tcloseText: '×',\n\t\tswipeClose: true,\n\t\tshowCounter: true,\n\t\tfileExt: 'png|jpg|jpeg|gif',\n\t\tanimationSlide: true,\n\t\tanimationSpeed: 250,\n\t\tpreloading: true,\n\t\tenableKeyboard: true,\n\t\tloop: true,\n\t\trel: false,\n\t\tdocClose: true,\n\t\tswipeTolerance: 50,\n\t\tclassName: 'simple-lightbox',\n\t\twidthRatio: 0.8,\n\t\theightRatio: 0.9,\n\t\tdisableRightClick: false,\n\t\tdisableScroll: true,\n\t\talertError: true,\n\t\talertErrorMessage: 'Image not found, next image will be loaded',\n\t\tadditionalHtml: false,\n\t\thistory: true\n\t}, options);\n\n\t// global variables\n\tvar touchDevice\t= ( 'ontouchstart' in window ),\n\t\tpointerEnabled = window.navigator.pointerEnabled || window.navigator.msPointerEnabled,\n\t\ttouched = function( event ){\n\t\t\tif( touchDevice ) return true;\n\t\t\tif( !pointerEnabled || typeof event === 'undefined' || typeof event.pointerType === 'undefined' ) return false;\n\t\t\tif( typeof event.MSPOINTER_TYPE_MOUSE !== 'undefined' ) {\n\t\t\t\tif( event.MSPOINTER_TYPE_MOUSE != event.pointerType ) return true;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tif( event.pointerType != 'mouse' ) return true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tswipeDiff = 0,\n\t\tswipeYDiff = 0,\n\t\tcurImg = $(),\n\t\ttransPrefix = function(){\n\t\t\tvar s = document.body || document.documentElement;\n\t\t\ts = s.style;\n\t\t\tif( s.WebkitTransition === '' ) return '-webkit-';\n\t\t\tif( s.MozTransition === '' ) return '-moz-';\n\t\t\tif( s.OTransition === '' ) return '-o-';\n\t\t\tif( s.transition === '' ) return '';\n\t\t\treturn false;\n\t\t},\n\t\topened = false,\n\t\tloaded = [],\n\t\tgetRelated = function(rel, jqObj) {\n\t\t\tvar $related = $(jqObj.selector).filter(function () {\n\t\t\t\treturn ($(this).attr('rel') === rel);\n\t\t\t});\n\t\t\treturn $related;\n\t\t},\n\t\tobjects = (options.rel && options.rel !== false) ? getRelated(options.rel, this) : this,\n\t\ttransPrefix = transPrefix(),\n\t\tglobalScrollbarwidth = 0,\n\t\tcanTransisions = (transPrefix !== false) ? true : false,\n\t\tsupportsPushState = ('pushState' in history),\n\t\thistoryhasChanged = false,\n\t\thistoryUpdateTimeout,\n\t\twinLoc = window.location,\n\t\tgetHash = function(){\n\t\t\treturn winLoc.hash.substring(1);\n\t\t},\n\t\tinitialHash = getHash(),\n\t\tupdateHash = function(){\n\t\t\tvar hash = getHash(),\n\t\t\tnewHash = 'pid='+(index+1);\n\t\t\tvar newURL = winLoc.href.split('#')[0] + '#' +  newHash;\n\n\t\t\tif(supportsPushState){\n\t\t\t\thistory[historyhasChanged ? 'replaceState' : 'pushState']('', document.title, newURL);\n\t\t\t}else {\n\t\t\t\tif(historyhasChanged) {\n\t\t\t\t\twinLoc.replace( newURL );\n\t\t\t\t} else {\n\t\t\t\t\twinLoc.hash = newHash;\n\t\t\t\t}\n\t\t\t}\n\t\t\thistoryhasChanged = true;\n\t\t},\n\t\tresetHash = function() {\n\t\t\tif (supportsPushState) {\n\t\t\t\thistory.pushState('', document.title,  winLoc.pathname + winLoc.search );\n\t\t\t} else {\n\t\t\t\twinLoc.hash = '';\n\t\t\t}\n\t\t\tclearTimeout(historyUpdateTimeout);\n\n\t\t},\n\t\tupdateURL = function(){\n\t\t\tif(!historyhasChanged) {\n\t\t\t\tupdateHash(); // first time\n\t\t\t} else {\n\t\t\t\thistoryUpdateTimeout = setTimeout(updateHash, 800);\n\t\t\t}\n\t\t},\n\t\tprefix = 'simplelb',\n\t\toverlay = $('<div>').addClass('sl-overlay'),\n\t\tcloseBtn = $('<button>').addClass('sl-close').html(options.closeText),\n\t\tspinner = $('<div>').addClass('sl-spinner').html('<div></div>'),\n\t\tnav = $('<div>').addClass('sl-navigation').html('<button class=\"sl-prev\">'+options.navText[0]+'</button><button class=\"sl-next\">'+options.navText[1]+'</button>'),\n\t\tcounter = $('<div>').addClass('sl-counter').html('<span class=\"sl-current\"></span>/<span class=\"sl-total\"></span>'),\n\t\tanimating = false,\n\t\tindex = 0,\n\t\tcaption = $('<div>').addClass('sl-caption pos-'+options.captionPosition),\n\t\timage = $('<div>').addClass('sl-image'),\n\t\twrapper = $('<div>').addClass('sl-wrapper').addClass(options.className),\n\t\tisValidLink = function( element ){\n\t\t\tif(!options.fileExt) return true;\n\t\t\tvar filEext = /\\.([0-9a-z]+)(?=[?#])|(\\.)(?:[\\w]+)$/gmi;\n\t\t\tvar testExt = $( element ).attr( options.sourceAttr ).match(filEext);\n\t\t\treturn testExt && $( element ).prop( 'tagName' ).toLowerCase() == 'a' && ( new RegExp( '\\.(' + options.fileExt + ')$', 'i' ) ).test( testExt );\n\t\t},\n\t\tsetup = function(){\n\t\t\tif(options.close) closeBtn.appendTo(wrapper);\n\t\t\tif(options.showCounter){\n\t\t\t\tif(objects.length > 1){\n\t\t\t\t\tcounter.appendTo(wrapper);\n\t\t\t\t\tcounter.find('.sl-total').text(objects.length);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(options.nav) nav.appendTo(wrapper);\n\t\t\tif(options.spinner) spinner.appendTo(wrapper);\n\t\t},\n\t\topenImage = function(elem){\n\t\t\telem.trigger($.Event('show.simplelightbox'));\n\t\t\tif(options.disableScroll) globalScrollbarwidth = handleScrollbar('hide');\n\t\t\twrapper.appendTo('body');\n\t\t\timage.appendTo(wrapper);\n\t\t\tif(options.overlay) overlay.appendTo($('body'));\n\t\t\tanimating = true;\n\t\t\tindex = objects.index(elem);\n\t\t\tcurImg = $( '<img/>' )\n\t\t\t\t.hide()\n\t\t\t\t.attr('src', elem.attr(options.sourceAttr));\n\t\t\tif(loaded.indexOf(elem.attr(options.sourceAttr)) == -1){\n\t\t\t\tloaded.push(elem.attr(options.sourceAttr));\n\t\t\t}\n\t\t\timage.html('').attr('style','');\n\t\t\tcurImg.appendTo(image);\n\t\t\taddEvents();\n\t\t\toverlay.fadeIn('fast');\n\t\t\t$('.sl-close').fadeIn('fast');\n\t\t\tspinner.show();\n\t\t\tnav.fadeIn('fast');\n\t\t\t$('.sl-wrapper .sl-counter .sl-current').text(index +1);\n\t\t\tcounter.fadeIn('fast');\n\t\t\tadjustImage();\n\t\t\tif(options.preloading) preload();\n\t\t\tsetTimeout( function(){ elem.trigger($.Event('shown.simplelightbox')); } ,options.animationSpeed);\n\t\t},\n\t\tadjustImage = function(dir){\n\t\t\tif(!curImg.length) return;\n\t\t\tvar tmpImage \t = new Image(),\n\t\t\twindowWidth\t = $( window ).width() * options.widthRatio,\n\t\t\twindowHeight = $( window ).height() * options.heightRatio;\n\t\t\ttmpImage.src\t= curImg.attr( 'src' );\n\n\t\t\t$(tmpImage).bind('error',function(ev){\n\t\t\t\t//no image was found\n\t\t\t\tobjects.eq(index).trigger($.Event('error.simplelightbox'));\n\t\t\t\tanimating = false;\n\t\t\t\topened = true;\n\t\t\t\tspinner.hide();\n\t\t\t\tif(options.alertError){\n\t\t\t\t\talert(options.alertErrorMessage);\n\t\t\t\t}\n\t\t\t\tif(dir == 1 || dir == -1){\n\t\t\t\t\tloadImage(dir);\n\t\t\t\t} else {\n\t\t\t\t\tloadImage(1);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t});\n\n\n\t\t\ttmpImage.onload = function() {\n\t\t\t\tif (typeof dir !== 'undefined') {\n\t\t\t\t\tobjects.eq(index)\n\t\t\t\t\t\t.trigger($.Event('changed.simplelightbox'))\n\t\t\t\t\t\t.trigger($.Event( (dir===1?'nextDone':'prevDone')+'.simplelightbox'));\n\t\t\t\t}\n\n\t\t\t\t// history\n\t\t\t\tif(options.history){\n\t\t\t\t\tupdateURL();\n\t\t\t\t}\n\n\t\t\t\tif(loaded.indexOf(curImg.attr( 'src' )) == -1){\n\t\t\t\t\tloaded.push(curImg.attr( 'src' ));\n\t\t\t\t}\n\t\t\t\tvar imageWidth\t = tmpImage.width,\n\t\t\t\t\timageHeight\t = tmpImage.height;\n\n\t\t\t\tif( imageWidth > windowWidth || imageHeight > windowHeight ){\n\t\t\t\t\tvar ratio\t = imageWidth / imageHeight > windowWidth / windowHeight ? imageWidth / windowWidth : imageHeight / windowHeight;\n\t\t\t\t\timageWidth\t/= ratio;\n\t\t\t\t\timageHeight\t/= ratio;\n\t\t\t\t}\n\n\t\t\t\t$('.sl-image').css({\n\t\t\t\t\t'top':    ( $( window ).height() - imageHeight ) / 2 + 'px',\n\t\t\t\t\t'left':   ( $( window ).width() - imageWidth - globalScrollbarwidth)/ 2 + 'px'\n\t\t\t\t});\n\t\t\t\tspinner.hide();\n\t\t\t\tcurImg\n\t\t\t\t.css({\n\t\t\t\t\t'width':  imageWidth + 'px',\n\t\t\t\t\t'height': imageHeight + 'px'\n\t\t\t\t})\n\t\t\t\t.fadeIn('fast');\n\t\t\t\topened = true;\n\t\t\t\tvar cSel = (options.captionSelector == 'self') ? objects.eq(index) : objects.eq(index).find(options.captionSelector);\n\t\t\t\tvar captionText;\n\t\t\t\tif(options.captionType == 'data'){\n\t\t\t\t\tcaptionText = cSel.data(options.captionsData);\n\t\t\t\t} else if(options.captionType == 'text'){\n\t\t\t\t\tcaptionText = cSel.html();\n\t\t\t\t} else {\n\t\t\t\t\tcaptionText = cSel.prop(options.captionsData);\n\t\t\t\t}\n\n\t\t\t\tif(!options.loop) {\n\t\t\t\t\tif(index === 0){ $('.sl-prev').hide();}\n\t\t\t\t\tif(index >= objects.length -1) {$('.sl-next').hide();}\n\t\t\t\t\tif(index > 0){ $('.sl-prev').show(); }\n\t\t\t\t\tif(index < objects.length -1){ $('.sl-next').show(); }\n\t\t\t\t}\n\n\t\t\t\tif(objects.length == 1) $('.sl-prev, .sl-next').hide();\n\n\t\t\t\tif(dir == 1 || dir == -1){\n\t\t\t\t\tvar css = { 'opacity': 1.0 };\n\t\t\t\t\tif( options.animationSlide ) {\n\t\t\t\t\t\tif( canTransisions ) {\n\t\t\t\t\t\t\tslide(0, 100 * dir + 'px');\n\t\t\t\t\t\t\tsetTimeout( function(){ slide( options.animationSpeed / 1000, 0 + 'px'); }, 50 );\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tcss.left = parseInt( $('.sl-image').css( 'left' ) ) + 100 * dir + 'px';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t$('.sl-image').animate( css, options.animationSpeed, function(){\n\t\t\t\t\t\tanimating = false;\n\t\t\t\t\t\tsetCaption(captionText);\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tanimating = false;\n\t\t\t\t\tsetCaption(captionText);\n\t\t\t\t}\n\t\t\t\tif(options.additionalHtml && $('.sl-additional-html').length === 0){\n\t\t\t\t\t$('<div>').html(options.additionalHtml).addClass('sl-additional-html').appendTo($('.sl-image'));\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tsetCaption = function(captiontext){\n\t\t\tif(captiontext !== '' && typeof captiontext !== \"undefined\" && options.captions){\n\t\t\t\tcaption.html(captiontext).hide().appendTo($('.sl-image')).delay(options.captionDelay).fadeIn('fast');\n\t\t\t}\n\t\t},\n\t\tslide = function(speed, pos){\n\t\t\tvar styles = {};\n\t\t\t\tstyles[transPrefix + 'transform'] = 'translateX(' + pos + ')';\n\t\t\t\tstyles[transPrefix + 'transition'] = transPrefix + 'transform ' + speed + 's linear';\n\t\t\t\t$('.sl-image').css(styles);\n\t\t},\n\t\taddEvents = function(){\n\t\t\t// resize/responsive\n\t\t\t$( window ).on( 'resize.'+prefix, adjustImage );\n\n\t\t\t// close lightbox on close btn\n\t\t\t$( document ).on('click.'+prefix+ ' touchstart.'+prefix, '.sl-close', function(e){\n\t\t\t\te.preventDefault();\n\t\t\t\tif(opened){ close();}\n\t\t\t});\n\n\t\t\tif(options.history){\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t$(window).on('hashchange.'+prefix,function(){\n\t\t\t\t\t\tif(opened){\n\t\t\t\t\t\t\tif(getHash() === initialHash) {\n\t\t\t\t\t\t\t\tclose();\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}, 40);\n\t\t\t}\n\n\t\t\t// nav-buttons\n\t\t\tnav.on('click.'+prefix, 'button', function(e){\n\t\t\t\te.preventDefault();\n\t\t\t\tswipeDiff = 0;\n\t\t\t\tloadImage( $(this).hasClass('sl-next') ? 1 : -1 );\n\t\t\t});\n\n\t\t\t// touchcontrols\n\t\t\tvar swipeStart\t = 0,\n\t\t\t\tswipeEnd\t = 0,\n\t\t\t\tswipeYStart = 0,\n\t\t\t\tswipeYEnd = 0,\n\t\t\t\tmousedown = false,\n\t\t\t\timageLeft = 0;\n\n\t\t\timage\n\t\t\t.on( 'touchstart.'+prefix+' mousedown.'+prefix, function(e)\n\t\t\t{\n\t\t\t\tif(mousedown) return true;\n\t\t\t\tif( canTransisions ) imageLeft = parseInt( image.css( 'left' ) );\n\t\t\t\tmousedown = true;\n\t\t\t\tswipeStart = e.originalEvent.pageX || e.originalEvent.touches[ 0 ].pageX;\n\t\t\t\tswipeYStart = e.originalEvent.pageY || e.originalEvent.touches[ 0 ].pageY;\n\t\t\t\treturn false;\n\t\t\t})\n\t\t\t.on( 'touchmove.'+prefix+' mousemove.'+prefix+' pointermove MSPointerMove', function(e)\n\t\t\t{\n\t\t\t\tif(!mousedown) return true;\n\t\t\t\te.preventDefault();\n\t\t\t\tswipeEnd = e.originalEvent.pageX || e.originalEvent.touches[ 0 ].pageX;\n\t\t\t\tswipeYEnd = e.originalEvent.pageY || e.originalEvent.touches[ 0 ].pageY;\n\t\t\t\tswipeDiff = swipeStart - swipeEnd;\n\t\t\t\tswipeYDiff = swipeYStart - swipeYEnd;\n\t\t\t\tif( options.animationSlide ) {\n\t\t\t\t  if( canTransisions ) slide( 0, -swipeDiff + 'px' );\n\t\t\t\t  else image.css( 'left', imageLeft - swipeDiff + 'px' );\n\t\t\t\t}\n\t\t\t})\n\t\t\t.on( 'touchend.'+prefix+' mouseup.'+prefix+' touchcancel.'+prefix+' mouseleave.'+prefix+' pointerup pointercancel MSPointerUp MSPointerCancel',function(e)\n\t\t\t{\n\t\t\t\tif(mousedown){\n\t\t\t\t\tmousedown = false;\n\t\t\t\t\tvar possibleDir = true;\n\t\t\t\t\tif(!options.loop) {\n\t\t\t\t\t\tif(index === 0 && swipeDiff < 0){ possibleDir = false; }\n\t\t\t\t\t\tif(index >= objects.length -1 && swipeDiff > 0) { possibleDir = false; }\n\t\t\t\t\t}\n\t\t\t\t\tif( Math.abs( swipeDiff ) > options.swipeTolerance && possibleDir ) {\n\t\t\t\t\t\tloadImage( swipeDiff > 0 ? 1 : -1 );\n\t\t\t\t\t}\n\t\t\t\t\telse if( options.animationSlide )\n\t\t\t\t\t{\n\t\t\t\t\t\tif( canTransisions ) slide( options.animationSpeed / 1000, 0 + 'px' );\n\t\t\t\t\t\telse image.animate({ 'left': imageLeft + 'px' }, options.animationSpeed / 2 );\n\t\t\t\t\t}\n\n\t\t\t\t\tif( options.swipeClose && Math.abs(swipeYDiff) > 50 && Math.abs( swipeDiff ) < options.swipeTolerance) {\n\t\t\t\t\t\tclose();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tremoveEvents = function(){\n\t\t\tnav.off('click', 'button');\n\t\t\t$( document ).off('click.'+prefix, '.sl-close');\n\t\t\t$( window ).off( 'resize.'+prefix);\n\t\t\t$( window ).off( 'hashchange.'+prefix);\n\t\t},\n\t\tpreload = function(){\n\t\t\tvar next = (index+1 < 0) ? objects.length -1: (index+1 >= objects.length -1) ? 0 : index+1,\n\t\t\t\tprev = (index-1 < 0) ? objects.length -1: (index-1 >= objects.length -1) ? 0 : index-1;\n\t\t\t$( '<img />' ).attr( 'src', objects.eq(next).attr( options.sourceAttr ) ).on('load', function(){\n\t\t\t\tif(loaded.indexOf($(this).attr('src')) == -1){\n\t\t\t\t\tloaded.push($(this).attr('src'));\n\t\t\t\t}\n\t\t\t\tobjects.eq(index).trigger($.Event('nextImageLoaded.simplelightbox'));\n\t\t\t});\n\t\t\t$( '<img />' ).attr( 'src', objects.eq(prev).attr( options.sourceAttr ) ).on('load', function(){\n\t\t\t\tif(loaded.indexOf($(this).attr('src')) == -1){\n\t\t\t\t\tloaded.push($(this).attr('src'));\n\t\t\t\t}\n\t\t\t\tobjects.eq(index).trigger($.Event('prevImageLoaded.simplelightbox'));\n\t\t\t});\n\n\t\t},\n\t\tloadImage = function(dir){\n\t\t\tobjects.eq(index)\n\t\t\t.trigger($.Event('change.simplelightbox'))\n\t\t\t.trigger($.Event( (dir===1?'next':'prev')+'.simplelightbox'));\n\n\t\tvar newIndex = index + dir;\n\t\t\tif(animating || (newIndex < 0 || newIndex >= objects.length) && options.loop === false ) return;\n\t\t\tindex = (newIndex < 0) ? objects.length -1: (newIndex > objects.length -1) ? 0 : newIndex;\n\t\t\t$('.sl-wrapper .sl-counter .sl-current').text(index +1);\n      \tvar css = { 'opacity': 0 };\n\t\t\tif( options.animationSlide ) {\n\t\t\t  if( canTransisions ) slide(options.animationSpeed / 1000, ( -100 * dir ) - swipeDiff + 'px');\n\t\t\t  else css.left = parseInt( $('.sl-image').css( 'left' ) ) + -100 * dir + 'px';\n\t\t\t}\n\n\t\t\t$('.sl-image').animate( css, options.animationSpeed, function(){\n\t\t\t\tsetTimeout( function(){\n\t\t\t\t\t// fadeout old image\n\t\t\t\t\tvar elem = objects.eq(index);\n\t\t\t\t\tcurImg\n\t\t\t\t\t.attr('src', elem.attr(options.sourceAttr));\n\t\t\t\t\tif(loaded.indexOf(elem.attr(options.sourceAttr)) == -1){\n\t\t\t\t\t\tspinner.show();\n\t\t\t\t\t}\n\t\t\t\t\t$('.sl-caption').remove();\n\t\t\t\t\tadjustImage(dir);\n\t\t\t\t\tif(options.preloading) preload();\n\t\t\t\t}, 100);\n\t\t\t});\n\t\t},\n\t\tclose = function(){\n\t\t\tif(animating) return;\n\t\t\tvar elem = objects.eq(index),\n\t\t\ttriggered = false;\n\n\t\t\telem.trigger($.Event('close.simplelightbox'));\n\t\t\tif(options.history){\n\t\t\t\tresetHash();\n\t\t\t}\n\t\t\t$('.sl-image img, .sl-overlay, .sl-close, .sl-navigation, .sl-image .sl-caption, .sl-counter').fadeOut('fast', function(){\n\t\t\t\tif(options.disableScroll) handleScrollbar('show');\n\t\t\t\t$('.sl-wrapper, .sl-overlay').remove();\n\t\t\t\tremoveEvents();\n\t\t\t\tif(!triggered) elem.trigger($.Event('closed.simplelightbox'));\n\t\t\t\ttriggered = true;\n\t\t\t});\n\t    curImg = $();\n\t    opened = false;\n\t    animating = false;\n\t\t},\n\t\thandleScrollbar = function(type){\n\t\t\tvar scrollbarWidth = 0;\n\t\t\tif(type == 'hide'){\n\t\t\t\tvar fullWindowWidth = window.innerWidth;\n\t\t\t\tif (!fullWindowWidth) {\n\t\t\t\t\tvar documentElementRect = document.documentElement.getBoundingClientRect();\n\t\t\t\t\tfullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n\t\t\t\t}\n\t\t\t\tif(document.body.clientWidth < fullWindowWidth){\n\t\t\t\t\tvar scrollDiv = document.createElement('div'),\n\t\t\t\t\tpadding = parseInt($('body').css('padding-right'),10);\n\t\t\t\t\tscrollDiv.className = 'sl-scrollbar-measure';\n\t\t\t\t\t$('body').append(scrollDiv);\n\t\t\t\t\tscrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n\t\t\t\t\t$(document.body)[0].removeChild(scrollDiv);\n\t\t\t\t\t$('body').data('padding',padding);\n\t\t\t\t\tif(scrollbarWidth > 0){\n\t\t\t\t\t\t$('body').addClass('hidden-scroll').css({'padding-right':padding+scrollbarWidth});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t$('body').removeClass('hidden-scroll').css({'padding-right':$('body').data('padding')});\n\t\t\t}\n\t\t\treturn scrollbarWidth;\n\t\t};\n\n\t// events\n\tsetup();\n\n\t// open lightbox\n\tobjects.on( 'click.'+prefix, function( e ){\n\t\tif(isValidLink(this)){\n\t\t\te.preventDefault();\n\t\t\tif(animating) return false;\n\t\t\topenImage($(this));\n\t\t}\n\t});\n\n\t// close on click on doc\n\t$( document ).on('click.'+prefix+ ' touchstart.'+prefix, function(e){\n\t\tif(opened){\n\t\t\tif((options.docClose && $(e.target).closest('.sl-image').length === 0 && $(e.target).closest('.sl-navigation').length === 0)){\n\t\t\t\tclose();\n\t\t\t}\n\t\t}\n\t});\n\n\t// disable rightclick\n\tif(options.disableRightClick){\n\t\t$( document ).on('contextmenu', '.sl-image img', function(e){\n\t\t\treturn false;\n\t\t});\n\t}\n\n\n\t// keyboard-control\n\tif( options.enableKeyboard ){\n\t\t$( document ).on( 'keyup.'+prefix, function( e ){\n\t\t\tswipeDiff = 0;\n\t\t\t// keyboard control only if lightbox is open\n\t\t\tif(opened){\n\t\t\t\te.preventDefault();\n\t\t\t\tvar key = e.keyCode;\n\t\t\t\tif( key == 27 ) {\n\t\t\t\t\tclose();\n\t\t\t\t}\n\t\t\t\tif( key == 37 || e.keyCode == 39 ) {\n\t\t\t\t\tloadImage( e.keyCode == 39 ? 1 : -1 );\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t// Public methods\n\tthis.open = function(elem){\n\t\telem = elem || $(this[0]);\n\t\topenImage(elem);\n\t};\n\n\tthis.next = function(){\n\t\tloadImage( 1 );\n\t};\n\n\tthis.prev = function(){\n\t\tloadImage( -1 );\n\t};\n\n\tthis.close = function(){\n\t\tclose();\n\t};\n\n\tthis.destroy = function(){\n\t\t$( document ).unbind('click.'+prefix).unbind('keyup.'+prefix);\n\t\tclose();\n\t\t$('.sl-overlay, .sl-wrapper').remove();\n\t\tthis.off('click');\n\t};\n\n\tthis.refresh = function(){\n\t\tthis.destroy();\n\t\t$(this.selector).simpleLightbox(options);\n\t};\n\n\treturn this;\n\n};\n})( jQuery, window, document );\n"
  },
  {
    "path": "public/vendor/content-builder/assets/scripts/simplelightbox/simplelightbox.css",
    "content": "/* line 27, ../sass/simplelightbox.scss */\nbody.hidden-scroll {\n  overflow: hidden;\n}\n\n/* line 30, ../sass/simplelightbox.scss */\n.sl-overlay {\n  position: fixed;\n  left: 0;\n  right: 0;\n  top: 0;\n  bottom: 0;\n  background: #fff;\n  opacity: 0.7;\n  display: none;\n  z-index: 1050;\n}\n\n/* line 41, ../sass/simplelightbox.scss */\n.sl-wrapper {\n  z-index: 1040;\n}\n/* line 43, ../sass/simplelightbox.scss */\n.sl-wrapper button {\n  border: 0 none;\n  background: transparent;\n  font-size: 28px;\n  padding: 0;\n  cursor: pointer;\n}\n/* line 49, ../sass/simplelightbox.scss */\n.sl-wrapper button:hover {\n  opacity: 0.7;\n}\n/* line 54, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-close {\n  display: none;\n  position: fixed;\n  right: 30px;\n  top: 30px;\n  z-index: 1060;\n  margin-top: -14px;\n  margin-right: -14px;\n  height: 44px;\n  width: 44px;\n  line-height: 44px;\n  font-family: Arial, Baskerville, monospace;\n  color: #000;\n  font-size: 3rem;\n}\n/* line 69, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-close:focus {\n  outline: none;\n}\n/* line 74, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-counter {\n  display: none;\n  position: fixed;\n  top: 30px;\n  left: 30px;\n  z-index: 1060;\n  color: #000;\n  font-size: 1rem;\n}\n/* line 84, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-navigation {\n  width: 100%;\n  display: none;\n}\n/* line 87, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-navigation button {\n  position: fixed;\n  top: 50%;\n  margin-top: -22px;\n  height: 44px;\n  width: 22px;\n  line-height: 44px;\n  text-align: center;\n  display: block;\n  z-index: 1060;\n  font-family: Arial, Baskerville, monospace;\n  color: #000;\n}\n/* line 99, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-navigation button.sl-next {\n  right: 5px;\n  font-size: 2rem;\n}\n/* line 104, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-navigation button.sl-prev {\n  left: 5px;\n  font-size: 2rem;\n}\n/* line 109, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-navigation button:focus {\n  outline: none;\n}\n@media (min-width: 35.5em) {\n  /* line 87, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-navigation button {\n    width: 44px;\n  }\n  /* line 116, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-navigation button.sl-next {\n    right: 10px;\n    font-size: 3rem;\n  }\n  /* line 121, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-navigation button.sl-prev {\n    left: 10px;\n    font-size: 3rem;\n  }\n}\n@media (min-width: 50em) {\n  /* line 87, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-navigation button {\n    width: 44px;\n  }\n  /* line 129, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-navigation button.sl-next {\n    right: 20px;\n    font-size: 3rem;\n  }\n  /* line 134, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-navigation button.sl-prev {\n    left: 20px;\n    font-size: 3rem;\n  }\n}\n/* line 142, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image {\n  position: fixed;\n  -ms-touch-action: none;\n  touch-action: none;\n  z-index: 10000;\n}\n/* line 147, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image img {\n  margin: 0;\n  padding: 0;\n  display: block;\n  border: 0 none;\n}\n@media (min-width: 35.5em) {\n  /* line 147, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-image img {\n    border: 0 none;\n  }\n}\n@media (min-width: 50em) {\n  /* line 147, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-image img {\n    border: 0 none;\n  }\n}\n/* line 160, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image iframe {\n  background: #000;\n  border: 0 none;\n}\n@media (min-width: 35.5em) {\n  /* line 160, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-image iframe {\n    border: 0 none;\n  }\n}\n@media (min-width: 50em) {\n  /* line 160, ../sass/simplelightbox.scss */\n  .sl-wrapper .sl-image iframe {\n    border: 0 none;\n  }\n}\n/* line 170, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image .sl-caption {\n  display: none;\n  padding: 10px;\n  color: #fff;\n  background: rgba(0, 0, 0, 0.8);\n  position: absolute;\n  bottom: 0;\n  left: 0;\n  right: 0;\n}\n/* line 180, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image .sl-caption.pos-top {\n  bottom: auto;\n  top: 0;\n}\n/* line 185, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image .sl-caption.pos-outside {\n  bottom: auto;\n}\n/* line 190, ../sass/simplelightbox.scss */\n.sl-wrapper .sl-image .sl-download {\n  display: none;\n  position: absolute;\n  bottom: 5px;\n  right: 5px;\n  color: #000;\n  z-index: 1060;\n}\n\n/* line 201, ../sass/simplelightbox.scss */\n.sl-spinner {\n  display: none;\n  border: 5px solid #333;\n  border-radius: 40px;\n  height: 40px;\n  left: 50%;\n  margin: -20px 0 0 -20px;\n  opacity: 0;\n  position: fixed;\n  top: 50%;\n  width: 40px;\n  z-index: 1007;\n  -webkit-animation: pulsate 1s ease-out infinite;\n  -moz-animation: pulsate 1s ease-out infinite;\n  -ms-animation: pulsate 1s ease-out infinite;\n  -o-animation: pulsate 1s ease-out infinite;\n  animation: pulsate 1s ease-out infinite;\n}\n\n/* line 220, ../sass/simplelightbox.scss */\n.sl-scrollbar-measure {\n  position: absolute;\n  top: -9999px;\n  width: 50px;\n  height: 50px;\n  overflow: scroll;\n}\n\n@-webkit-keyframes pulsate {\n  0% {\n    transform: scale(0.1);\n    opacity: 0.0;\n  }\n  50% {\n    opacity: 1;\n  }\n  100% {\n    transform: scale(1.2);\n    opacity: 0;\n  }\n}\n@keyframes pulsate {\n  0% {\n    transform: scale(0.1);\n    opacity: 0.0;\n  }\n  50% {\n    opacity: 1;\n  }\n  100% {\n    transform: scale(1.2);\n    opacity: 0;\n  }\n}\n@-moz-keyframes pulsate {\n  0% {\n    transform: scale(0.1);\n    opacity: 0.0;\n  }\n  50% {\n    opacity: 1;\n  }\n  100% {\n    transform: scale(1.2);\n    opacity: 0;\n  }\n}\n@-o-keyframes pulsate {\n  0% {\n    transform: scale(0.1);\n    opacity: 0.0;\n  }\n  50% {\n    opacity: 1;\n  }\n  100% {\n    transform: scale(1.2);\n    opacity: 0;\n  }\n}\n@-ms-keyframes pulsate {\n  0% {\n    transform: scale(0.1);\n    opacity: 0.0;\n  }\n  50% {\n    opacity: 1;\n  }\n  100% {\n    transform: scale(1.2);\n    opacity: 0;\n  }\n}\n"
  },
  {
    "path": "public/vendor/content-builder/assets/scripts/slick/slick-theme.css",
    "content": "@charset 'UTF-8';\n/* Slider */\n.slick-list {height:100% !important;}/*ic*/\n.slick-track {height:100% !important;}/*ic*/\n.slick-dots {z-index: 10;}/*ic*/ \n\n.slick-loading .slick-list\n{\n    /*background: #fff url('ajax-loader.gif') center center no-repeat;*/ /* ic */\n}\n\n/* Icons \n@font-face\n{\n    font-family: 'slick';\n    font-weight: normal;\n    font-style: normal;\n\n    src: url('fonts/slick.eot');\n    src: url('fonts/slick-.eot#iefix') format('embedded-opentype'), url('fonts/slick.woff') format('woff'), url('fonts/slick.ttf') format('truetype'), url('fonts/slick.svg#slick') format('svg');\n}*/ /* ic */\n/* Arrows */\n.slick-prev,\n.slick-next\n{\n    font-size: 0;\n    line-height: 0;\n\n    position: absolute;\n    top: 50%;\n\n    display: block;\n\n    width: 20px;\n    height: 20px;\n    padding: 0;\n    margin-top: -10px\\9; /*lte IE 8*/\n    -webkit-transform: translate(0, -50%);\n    -ms-transform: translate(0, -50%);\n    transform: translate(0, -50%);\n\n    cursor: pointer;\n\n    color: transparent;\n    border: none;\n    outline: none;\n    background: transparent;\n}\n.slick-prev:hover,\n.slick-prev:focus,\n.slick-next:hover,\n.slick-next:focus\n{\n    color: transparent;\n    outline: none;\n    background: transparent;\n}\n.slick-prev:hover:before,\n.slick-next:hover:before\n{\n    opacity: 1;\n}\n.slick-prev.slick-disabled:before,\n.slick-next.slick-disabled:before\n{\n    opacity: .25;\n}\n\n.slick-prev:before,\n.slick-next:before\n{\n    /*font-family: 'slick';*/ /*ic*/\n    font-size: 50px; /* 35px; */ /*ic*/\n    line-height: 1;\n\n    opacity: .8; /* 65; */ /*ic*/\n    color: white;\n\n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n\n.slick-prev\n{\n    /*left: -25px;*/\n    left: 30px;\n    z-index: 11; /* 10 */\n    opacity:.7;\n}\n[dir='rtl'] .slick-prev\n{\n    right: -25px;\n    left: auto;\n}\n/* ic\n.slick-prev:before\n{\n    content: '‹';\n}\n[dir='rtl'] .slick-prev:before\n{\n    content: '›';\n}\n*/\n.slick-prev {\n    width:30px;height:30px;\n    background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%20width%3D%2730px%27%20height%3D%2730px%27%20viewBox%3D%270%200%2050%2080%27%20xml%3Aspace%3D%27preserve%27%3E%3Cpolyline%20fill%3D%27none%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20points%3D%2745.63%2C75.8%200.375%2C38.087%2045.63%2C0.375%20%27%3E%3C/polyline%3E%3C/svg%3E) !important;\n} /* ic */\n.slider-on-content .slick-prev {\n    width:22px;height:22px;\n    background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%20width%3D%2722px%27%20height%3D%2722px%27%20viewBox%3D%270%200%2050%2080%27%20xml%3Aspace%3D%27preserve%27%3E%3Cpolyline%20fill%3D%27none%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20points%3D%2745.63%2C75.8%200.375%2C38.087%2045.63%2C0.375%20%27%3E%3C/polyline%3E%3C/svg%3E) !important;\n} /* ic */\n.slick-prev:hover {opacity:1} /* ic */\n\n.slick-next\n{\n    /*right: -25px;*/\n    right: 30px;\n    z-index: 11; /* 10 */\n    opacity:.7;\n}\n[dir='rtl'] .slick-next\n{\n    right: auto;\n    left: -25px;\n}\n/* ic\n.slick-next:before\n{\n    content: '›';\n}\n[dir='rtl'] .slick-next:before\n{\n    content: '‹';\n}\n*/\n.slick-next {\n    width:30px;height:30px;\n    background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%20width%3D%2730px%27%20height%3D%2730px%27%20viewBox%3D%270%200%2050%2080%27%20xml%3Aspace%3D%27preserve%27%3E%3Cpolyline%20fill%3D%27none%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20points%3D%270.375%2C0.375%2045.63%2C38.087%200.375%2C75.8%20%27%3E%3C/polyline%3E%3C/svg%3E) !important;\n} /* ic */\n.slider-on-content .slick-next {\n    width:22px;height:22px;\n    background: url(data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20xmlns%3Axlink%3D%27http%3A//www.w3.org/1999/xlink%27%20width%3D%2722px%27%20height%3D%2722px%27%20viewBox%3D%270%200%2050%2080%27%20xml%3Aspace%3D%27preserve%27%3E%3Cpolyline%20fill%3D%27none%27%20stroke%3D%27%23FFFFFF%27%20stroke-width%3D%274%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%20points%3D%270.375%2C0.375%2045.63%2C38.087%200.375%2C75.8%20%27%3E%3C/polyline%3E%3C/svg%3E) !important;\n} /* ic */\n.slick-next:hover {opacity:1} /* ic */\n\n/* Dots */\n.slick-slider\n{\n    /*margin-bottom: 30px;*/ height:100%; /*ic*/\n}\n\n.slick-dots\n{\n    position: absolute;\n    /*bottom: -45px;*/ bottom: 25px;margin:0; /*ic*/\n\n    display: block;\n\n    width: 100%;\n    padding: 0;\n\n    list-style: none;\n\n    text-align: center;\n}\n.slick-dots li button {\n    font-size: 0;\n    line-height: 0;\n    display: block;\n    width: 10px;\n    height: 10px;\n    padding: 0;\n    cursor: pointer;\n    color: transparent;\n    border: 0;\n    outline: none;\n    background: transparent;\n}\n\n\n.slick-dots li {\n    position: relative;\n    display: inline-block;\n    width: 10px;\n    height: 10px;\n    margin: 0 7px;    \n    padding: 0;\n    cursor: pointer;\n    \n    border-radius:500px;\n    border: rgba(255,255,255,.7) 1px solid;\n}\n.slick-dots li:hover {\n    background: rgba(255,255,255,0.5);\n}\n.slick-dots li.slick-active {\n    background: rgba(255,255,255,0.5);\n}\n\n\n.slick-dots.dark li {\n    border: rgba(0,0,0,.5) 1px solid;\n}\n.slick-dots.dark li:hover {\n    background: rgba(0,0,0,0.7);\n}\n.slick-dots.dark li.slick-active {\n    background: rgba(0,0,0,0.7);\n}\n/*\n.slick-dots li button:before\n{\n    font-family: 'slick';\n    font-size: 12px;\n    line-height: 20px;\n\n    position: absolute;\n    top: 0;\n    left: 0;\n\n    width: 20px;\n    height: 20px;\n\n    content: '•';\n    text-align: center;\n\n    opacity: .25; \n    color: #000; \n    -webkit-font-smoothing: antialiased;\n    -moz-osx-font-smoothing: grayscale;\n}\n.slick-dots li.slick-active button:before\n{\n    opacity: .75; \n    color: #000;\n}*/\n\n\n.slider-image { background-size:cover;background-position:50% 60%;background-repeat:no-repeat;width:100%;height:100%;display:table !important; }\n.slider-content{ display: table-cell;vertical-align:bottom;text-align:left;box-sizing:border-box;padding:50px 70px 50px;text-decoration:none;opacity:0.85}\n.slider-on-box .slider-content {padding:65px 80px 70px;}\n.slider-on-box .slick-dots {bottom:35px}\n"
  },
  {
    "path": "public/vendor/content-builder/assets/scripts/slick/slick.css",
    "content": "/* Slider */\n.slick-slider\n{\n    position: relative;\n\n    display: block;\n\n    -moz-box-sizing: border-box;\n         box-sizing: border-box;\n\n    -webkit-user-select: none;\n       -moz-user-select: none;\n        -ms-user-select: none;\n            user-select: none;\n\n    -webkit-touch-callout: none;\n    -khtml-user-select: none;\n    -ms-touch-action: pan-y;\n        touch-action: pan-y;\n    -webkit-tap-highlight-color: transparent;\n}\n\n.slick-list\n{\n    position: relative;\n\n    display: block;\n    overflow: hidden;\n\n    margin: 0;\n    padding: 0;\n}\n.slick-list:focus\n{\n    outline: none;\n}\n.slick-list.dragging\n{\n    cursor: pointer;\n    cursor: hand;\n}\n\n.slick-slider .slick-track,\n.slick-slider .slick-list\n{\n    -webkit-transform: translate3d(0, 0, 0);\n       -moz-transform: translate3d(0, 0, 0);\n        -ms-transform: translate3d(0, 0, 0);\n         -o-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n}\n\n.slick-track\n{\n    position: relative;\n    top: 0;\n    left: 0;\n\n    display: block;\n}\n.slick-track:before,\n.slick-track:after\n{\n    display: table;\n\n    content: '';\n}\n.slick-track:after\n{\n    clear: both;\n}\n.slick-loading .slick-track\n{\n    visibility: hidden;\n}\n\n.slick-slide\n{\n    display: none;\n    float: left;\n\n    height: 100%;\n    min-height: 1px;\n}\n[dir='rtl'] .slick-slide\n{\n    float: right;\n}\n.slick-slide img\n{\n    display: block;\n}\n.slick-slide.slick-loading img\n{\n    display: none;\n}\n.slick-slide.dragging img\n{\n    pointer-events: none;\n}\n.slick-initialized .slick-slide\n{\n    display: block;\n}\n.slick-loading .slick-slide\n{\n    visibility: hidden;\n}\n.slick-vertical .slick-slide\n{\n    display: block;\n\n    height: auto;\n\n    border: 1px solid transparent;\n}\n.slick-arrow.slick-hidden {\n    display: none;\n}"
  },
  {
    "path": "public/vendor/content-builder/assets/scripts/slick/slick.js",
    "content": "/*\n     _ _      _       _\n ___| (_) ___| | __  (_)___\n/ __| | |/ __| |/ /  | / __|\n\\__ \\ | | (__|   < _ | \\__ \\\n|___/_|_|\\___|_|\\_(_)/ |___/\n                   |__/\n\n Version: 1.5.9\n  Author: Ken Wheeler\n Website: http://kenwheeler.github.io\n    Docs: http://kenwheeler.github.io/slick\n    Repo: http://github.com/kenwheeler/slick\n  Issues: http://github.com/kenwheeler/slick/issues\n\n */\n/* global window, document, define, jQuery, setInterval, clearInterval */\n(function(factory) {\n    'use strict';\n    if (typeof define === 'function' && define.amd) {\n        define(['jquery'], factory);\n    } else if (typeof exports !== 'undefined') {\n        module.exports = factory(require('jquery'));\n    } else {\n        factory(jQuery);\n    }\n\n}(function($) {\n    'use strict';\n    var Slick = window.Slick || {};\n\n    Slick = (function() {\n\n        var instanceUid = 0;\n\n        function Slick(element, settings) {\n\n            var _ = this, dataSettings;\n\n            _.defaults = {\n                accessibility: true,\n                adaptiveHeight: false,\n                appendArrows: $(element),\n                appendDots: $(element),\n                arrows: true,\n                asNavFor: null,\n                prevArrow: '<button type=\"button\" data-role=\"none\" class=\"slick-prev\" aria-label=\"Previous\" tabindex=\"0\" role=\"button\">Previous</button>',\n                nextArrow: '<button type=\"button\" data-role=\"none\" class=\"slick-next\" aria-label=\"Next\" tabindex=\"0\" role=\"button\">Next</button>',\n                autoplay: false,\n                autoplaySpeed: 3000,\n                centerMode: false,\n                centerPadding: '50px',\n                cssEase: 'ease',\n                customPaging: function(slider, i) {\n                    return '<button type=\"button\" data-role=\"none\" role=\"button\" aria-required=\"false\" tabindex=\"0\">' + (i + 1) + '</button>';\n                },\n                dots: false,\n                dotsClass: 'slick-dots',\n                draggable: true,\n                easing: 'linear',\n                edgeFriction: 0.35,\n                fade: false,\n                focusOnSelect: false,\n                infinite: true,\n                initialSlide: 0,\n                lazyLoad: 'ondemand',\n                mobileFirst: false,\n                pauseOnHover: true,\n                pauseOnDotsHover: false,\n                respondTo: 'window',\n                responsive: null,\n                rows: 1,\n                rtl: false,\n                slide: '',\n                slidesPerRow: 1,\n                slidesToShow: 1,\n                slidesToScroll: 1,\n                speed: 500,\n                swipe: true,\n                swipeToSlide: false,\n                touchMove: true,\n                touchThreshold: 5,\n                useCSS: true,\n                useTransform: false,\n                variableWidth: false,\n                vertical: false,\n                verticalSwiping: false,\n                waitForAnimate: true,\n                zIndex: 1000\n            };\n\n            _.initials = {\n                animating: false,\n                dragging: false,\n                autoPlayTimer: null,\n                currentDirection: 0,\n                currentLeft: null,\n                currentSlide: 0,\n                direction: 1,\n                $dots: null,\n                listWidth: null,\n                listHeight: null,\n                loadIndex: 0,\n                $nextArrow: null,\n                $prevArrow: null,\n                slideCount: null,\n                slideWidth: null,\n                $slideTrack: null,\n                $slides: null,\n                sliding: false,\n                slideOffset: 0,\n                swipeLeft: null,\n                $list: null,\n                touchObject: {},\n                transformsEnabled: false,\n                unslicked: false\n            };\n\n            $.extend(_, _.initials);\n\n            _.activeBreakpoint = null;\n            _.animType = null;\n            _.animProp = null;\n            _.breakpoints = [];\n            _.breakpointSettings = [];\n            _.cssTransitions = false;\n            _.hidden = 'hidden';\n            _.paused = false;\n            _.positionProp = null;\n            _.respondTo = null;\n            _.rowCount = 1;\n            _.shouldClick = true;\n            _.$slider = $(element);\n            _.$slidesCache = null;\n            _.transformType = null;\n            _.transitionType = null;\n            _.visibilityChange = 'visibilitychange';\n            _.windowWidth = 0;\n            _.windowTimer = null;\n\n            dataSettings = $(element).data('slick') || {};\n\n            _.options = $.extend({}, _.defaults, dataSettings, settings);\n\n            _.currentSlide = _.options.initialSlide;\n\n            _.originalSettings = _.options;\n\n            if (typeof document.mozHidden !== 'undefined') {\n                _.hidden = 'mozHidden';\n                _.visibilityChange = 'mozvisibilitychange';\n            } else if (typeof document.webkitHidden !== 'undefined') {\n                _.hidden = 'webkitHidden';\n                _.visibilityChange = 'webkitvisibilitychange';\n            }\n\n            _.autoPlay = $.proxy(_.autoPlay, _);\n            _.autoPlayClear = $.proxy(_.autoPlayClear, _);\n            _.changeSlide = $.proxy(_.changeSlide, _);\n            _.clickHandler = $.proxy(_.clickHandler, _);\n            _.selectHandler = $.proxy(_.selectHandler, _);\n            _.setPosition = $.proxy(_.setPosition, _);\n            _.swipeHandler = $.proxy(_.swipeHandler, _);\n            _.dragHandler = $.proxy(_.dragHandler, _);\n            _.keyHandler = $.proxy(_.keyHandler, _);\n            _.autoPlayIterator = $.proxy(_.autoPlayIterator, _);\n\n            _.instanceUid = instanceUid++;\n\n            // A simple way to check for HTML strings\n            // Strict HTML recognition (must start with <)\n            // Extracted from jQuery v1.11 source\n            _.htmlExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*)$/;\n\n\n            _.registerBreakpoints();\n            _.init(true);\n            _.checkResponsive(true);\n\n        }\n\n        return Slick;\n\n    }());\n\n    Slick.prototype.addSlide = Slick.prototype.slickAdd = function(markup, index, addBefore) {\n\n        var _ = this;\n\n        if (typeof(index) === 'boolean') {\n            addBefore = index;\n            index = null;\n        } else if (index < 0 || (index >= _.slideCount)) {\n            return false;\n        }\n\n        _.unload();\n\n        if (typeof(index) === 'number') {\n            if (index === 0 && _.$slides.length === 0) {\n                $(markup).appendTo(_.$slideTrack);\n            } else if (addBefore) {\n                $(markup).insertBefore(_.$slides.eq(index));\n            } else {\n                $(markup).insertAfter(_.$slides.eq(index));\n            }\n        } else {\n            if (addBefore === true) {\n                $(markup).prependTo(_.$slideTrack);\n            } else {\n                $(markup).appendTo(_.$slideTrack);\n            }\n        }\n\n        _.$slides = _.$slideTrack.children(this.options.slide);\n\n        _.$slideTrack.children(this.options.slide).detach();\n\n        _.$slideTrack.append(_.$slides);\n\n        _.$slides.each(function(index, element) {\n            $(element).attr('data-slick-index', index);\n        });\n\n        _.$slidesCache = _.$slides;\n\n        _.reinit();\n\n    };\n\n    Slick.prototype.animateHeight = function() {\n        var _ = this;\n        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {\n            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);\n            _.$list.animate({\n                height: targetHeight\n            }, _.options.speed);\n        }\n    };\n\n    Slick.prototype.animateSlide = function(targetLeft, callback) {\n\n        var animProps = {},\n            _ = this;\n\n        _.animateHeight();\n\n        if (_.options.rtl === true && _.options.vertical === false) {\n            targetLeft = -targetLeft;\n        }\n        if (_.transformsEnabled === false) {\n            if (_.options.vertical === false) {\n                _.$slideTrack.animate({\n                    left: targetLeft\n                }, _.options.speed, _.options.easing, callback);\n            } else {\n                _.$slideTrack.animate({\n                    top: targetLeft\n                }, _.options.speed, _.options.easing, callback);\n            }\n\n        } else {\n\n            if (_.cssTransitions === false) {\n                if (_.options.rtl === true) {\n                    _.currentLeft = -(_.currentLeft);\n                }\n                $({\n                    animStart: _.currentLeft\n                }).animate({\n                    animStart: targetLeft\n                }, {\n                    duration: _.options.speed,\n                    easing: _.options.easing,\n                    step: function(now) {\n                        now = Math.ceil(now);\n                        if (_.options.vertical === false) {\n                            animProps[_.animType] = 'translate(' +\n                                now + 'px, 0px)';\n                            _.$slideTrack.css(animProps);\n                        } else {\n                            animProps[_.animType] = 'translate(0px,' +\n                                now + 'px)';\n                            _.$slideTrack.css(animProps);\n                        }\n                    },\n                    complete: function() {\n                        if (callback) {\n                            callback.call();\n                        }\n                    }\n                });\n\n            } else {\n\n                _.applyTransition();\n                targetLeft = Math.ceil(targetLeft);\n\n                if (_.options.vertical === false) {\n                    animProps[_.animType] = 'translate3d(' + targetLeft + 'px, 0px, 0px)';\n                } else {\n                    animProps[_.animType] = 'translate3d(0px,' + targetLeft + 'px, 0px)';\n                }\n                _.$slideTrack.css(animProps);\n\n                if (callback) {\n                    setTimeout(function() {\n\n                        _.disableTransition();\n\n                        callback.call();\n                    }, _.options.speed);\n                }\n\n            }\n\n        }\n\n    };\n\n    Slick.prototype.asNavFor = function(index) {\n\n        var _ = this,\n            asNavFor = _.options.asNavFor;\n\n        if ( asNavFor && asNavFor !== null ) {\n            asNavFor = $(asNavFor).not(_.$slider);\n        }\n\n        if ( asNavFor !== null && typeof asNavFor === 'object' ) {\n            asNavFor.each(function() {\n                var target = $(this).slick('getSlick');\n                if(!target.unslicked) {\n                    target.slideHandler(index, true);\n                }\n            });\n        }\n\n    };\n\n    Slick.prototype.applyTransition = function(slide) {\n\n        var _ = this,\n            transition = {};\n\n        if (_.options.fade === false) {\n            transition[_.transitionType] = _.transformType + ' ' + _.options.speed + 'ms ' + _.options.cssEase;\n        } else {\n            transition[_.transitionType] = 'opacity ' + _.options.speed + 'ms ' + _.options.cssEase;\n        }\n\n        if (_.options.fade === false) {\n            _.$slideTrack.css(transition);\n        } else {\n            _.$slides.eq(slide).css(transition);\n        }\n\n    };\n\n    Slick.prototype.autoPlay = function() {\n\n        var _ = this;\n\n        if (_.autoPlayTimer) {\n            clearInterval(_.autoPlayTimer);\n        }\n\n        if (_.slideCount > _.options.slidesToShow && _.paused !== true) {\n            _.autoPlayTimer = setInterval(_.autoPlayIterator,\n                _.options.autoplaySpeed);\n        }\n\n    };\n\n    Slick.prototype.autoPlayClear = function() {\n\n        var _ = this;\n        if (_.autoPlayTimer) {\n            clearInterval(_.autoPlayTimer);\n        }\n\n    };\n\n    Slick.prototype.autoPlayIterator = function() {\n\n        var _ = this;\n\n        if (_.options.infinite === false) {\n\n            if (_.direction === 1) {\n\n                if ((_.currentSlide + 1) === _.slideCount -\n                    1) {\n                    _.direction = 0;\n                }\n\n                _.slideHandler(_.currentSlide + _.options.slidesToScroll);\n\n            } else {\n\n                if ((_.currentSlide - 1 === 0)) {\n\n                    _.direction = 1;\n\n                }\n\n                _.slideHandler(_.currentSlide - _.options.slidesToScroll);\n\n            }\n\n        } else {\n\n            _.slideHandler(_.currentSlide + _.options.slidesToScroll);\n\n        }\n\n    };\n\n    Slick.prototype.buildArrows = function() {\n\n        var _ = this;\n\n        if (_.options.arrows === true ) {\n\n            _.$prevArrow = $(_.options.prevArrow).addClass('slick-arrow');\n            _.$nextArrow = $(_.options.nextArrow).addClass('slick-arrow');\n\n            if( _.slideCount > _.options.slidesToShow ) {\n\n                _.$prevArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');\n                _.$nextArrow.removeClass('slick-hidden').removeAttr('aria-hidden tabindex');\n\n                if (_.htmlExpr.test(_.options.prevArrow)) {\n                    _.$prevArrow.prependTo(_.options.appendArrows);\n                }\n\n                if (_.htmlExpr.test(_.options.nextArrow)) {\n                    _.$nextArrow.appendTo(_.options.appendArrows);\n                }\n\n                if (_.options.infinite !== true) {\n                    _.$prevArrow\n                        .addClass('slick-disabled')\n                        .attr('aria-disabled', 'true');\n                }\n\n            } else {\n\n                _.$prevArrow.add( _.$nextArrow )\n\n                    .addClass('slick-hidden')\n                    .attr({\n                        'aria-disabled': 'true',\n                        'tabindex': '-1'\n                    });\n\n            }\n\n        }\n\n    };\n\n    Slick.prototype.buildDots = function() {\n\n        var _ = this,\n            i, dotString;\n\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n\n            dotString = '<ul class=\"' + _.options.dotsClass + '\">';\n\n            for (i = 0; i <= _.getDotCount(); i += 1) {\n                dotString += '<li>' + _.options.customPaging.call(this, _, i) + '</li>';\n            }\n\n            dotString += '</ul>';\n\n            _.$dots = $(dotString).appendTo(\n                _.options.appendDots);\n\n            _.$dots.find('li').first().addClass('slick-active').attr('aria-hidden', 'false');\n\n        }\n\n    };\n\n    Slick.prototype.buildOut = function() {\n\n        var _ = this;\n\n        _.$slides =\n            _.$slider\n                .children( _.options.slide + ':not(.slick-cloned)')\n                .addClass('slick-slide');\n\n        _.slideCount = _.$slides.length;\n\n        _.$slides.each(function(index, element) {\n            $(element)\n                .attr('data-slick-index', index)\n                .data('originalStyling', $(element).attr('style') || '');\n        });\n\n        _.$slider.addClass('slick-slider');\n\n        _.$slideTrack = (_.slideCount === 0) ?\n            $('<div class=\"slick-track\"/>').appendTo(_.$slider) :\n            _.$slides.wrapAll('<div class=\"slick-track\"/>').parent();\n\n        _.$list = _.$slideTrack.wrap(\n            '<div aria-live=\"polite\" class=\"slick-list\"/>').parent();\n        _.$slideTrack.css('opacity', 0);\n\n        if (_.options.centerMode === true || _.options.swipeToSlide === true) {\n            _.options.slidesToScroll = 1;\n        }\n\n        $('img[data-lazy]', _.$slider).not('[src]').addClass('slick-loading');\n\n        _.setupInfinite();\n\n        _.buildArrows();\n\n        _.buildDots();\n\n        _.updateDots();\n\n\n        _.setSlideClasses(typeof _.currentSlide === 'number' ? _.currentSlide : 0);\n\n        if (_.options.draggable === true) {\n            _.$list.addClass('draggable');\n        }\n\n    };\n\n    Slick.prototype.buildRows = function() {\n\n        var _ = this, a, b, c, newSlides, numOfSlides, originalSlides,slidesPerSection;\n\n        newSlides = document.createDocumentFragment();\n        originalSlides = _.$slider.children();\n\n        if(_.options.rows > 1) {\n\n            slidesPerSection = _.options.slidesPerRow * _.options.rows;\n            numOfSlides = Math.ceil(\n                originalSlides.length / slidesPerSection\n            );\n\n            for(a = 0; a < numOfSlides; a++){\n                var slide = document.createElement('div');\n                for(b = 0; b < _.options.rows; b++) {\n                    var row = document.createElement('div');\n                    for(c = 0; c < _.options.slidesPerRow; c++) {\n                        var target = (a * slidesPerSection + ((b * _.options.slidesPerRow) + c));\n                        if (originalSlides.get(target)) {\n                            row.appendChild(originalSlides.get(target));\n                        }\n                    }\n                    slide.appendChild(row);\n                }\n                newSlides.appendChild(slide);\n            }\n\n            _.$slider.html(newSlides);\n            _.$slider.children().children().children()\n                .css({\n                    'width':(100 / _.options.slidesPerRow) + '%',\n                    'display': 'inline-block'\n                });\n\n        }\n\n    };\n\n    Slick.prototype.checkResponsive = function(initial, forceUpdate) {\n\n        var _ = this,\n            breakpoint, targetBreakpoint, respondToWidth, triggerBreakpoint = false;\n        var sliderWidth = _.$slider.width();\n        var windowWidth = window.innerWidth || $(window).width();\n\n        if (_.respondTo === 'window') {\n            respondToWidth = windowWidth;\n        } else if (_.respondTo === 'slider') {\n            respondToWidth = sliderWidth;\n        } else if (_.respondTo === 'min') {\n            respondToWidth = Math.min(windowWidth, sliderWidth);\n        }\n\n        if ( _.options.responsive &&\n            _.options.responsive.length &&\n            _.options.responsive !== null) {\n\n            targetBreakpoint = null;\n\n            for (breakpoint in _.breakpoints) {\n                if (_.breakpoints.hasOwnProperty(breakpoint)) {\n                    if (_.originalSettings.mobileFirst === false) {\n                        if (respondToWidth < _.breakpoints[breakpoint]) {\n                            targetBreakpoint = _.breakpoints[breakpoint];\n                        }\n                    } else {\n                        if (respondToWidth > _.breakpoints[breakpoint]) {\n                            targetBreakpoint = _.breakpoints[breakpoint];\n                        }\n                    }\n                }\n            }\n\n            if (targetBreakpoint !== null) {\n                if (_.activeBreakpoint !== null) {\n                    if (targetBreakpoint !== _.activeBreakpoint || forceUpdate) {\n                        _.activeBreakpoint =\n                            targetBreakpoint;\n                        if (_.breakpointSettings[targetBreakpoint] === 'unslick') {\n                            _.unslick(targetBreakpoint);\n                        } else {\n                            _.options = $.extend({}, _.originalSettings,\n                                _.breakpointSettings[\n                                    targetBreakpoint]);\n                            if (initial === true) {\n                                _.currentSlide = _.options.initialSlide;\n                            }\n                            _.refresh(initial);\n                        }\n                        triggerBreakpoint = targetBreakpoint;\n                    }\n                } else {\n                    _.activeBreakpoint = targetBreakpoint;\n                    if (_.breakpointSettings[targetBreakpoint] === 'unslick') {\n                        _.unslick(targetBreakpoint);\n                    } else {\n                        _.options = $.extend({}, _.originalSettings,\n                            _.breakpointSettings[\n                                targetBreakpoint]);\n                        if (initial === true) {\n                            _.currentSlide = _.options.initialSlide;\n                        }\n                        _.refresh(initial);\n                    }\n                    triggerBreakpoint = targetBreakpoint;\n                }\n            } else {\n                if (_.activeBreakpoint !== null) {\n                    _.activeBreakpoint = null;\n                    _.options = _.originalSettings;\n                    if (initial === true) {\n                        _.currentSlide = _.options.initialSlide;\n                    }\n                    _.refresh(initial);\n                    triggerBreakpoint = targetBreakpoint;\n                }\n            }\n\n            // only trigger breakpoints during an actual break. not on initialize.\n            if( !initial && triggerBreakpoint !== false ) {\n                _.$slider.trigger('breakpoint', [_, triggerBreakpoint]);\n            }\n        }\n\n    };\n\n    Slick.prototype.changeSlide = function(event, dontAnimate) {\n\n        var _ = this,\n            $target = $(event.target),\n            indexOffset, slideOffset, unevenOffset;\n\n        // If target is a link, prevent default action.\n        if($target.is('a')) {\n            event.preventDefault();\n        }\n\n        // If target is not the <li> element (ie: a child), find the <li>.\n        if(!$target.is('li')) {\n            $target = $target.closest('li');\n        }\n\n        unevenOffset = (_.slideCount % _.options.slidesToScroll !== 0);\n        indexOffset = unevenOffset ? 0 : (_.slideCount - _.currentSlide) % _.options.slidesToScroll;\n\n        switch (event.data.message) {\n\n            case 'previous':\n                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : _.options.slidesToShow - indexOffset;\n                if (_.slideCount > _.options.slidesToShow) {\n                    _.slideHandler(_.currentSlide - slideOffset, false, dontAnimate);\n                }\n                break;\n\n            case 'next':\n                slideOffset = indexOffset === 0 ? _.options.slidesToScroll : indexOffset;\n                if (_.slideCount > _.options.slidesToShow) {\n                    _.slideHandler(_.currentSlide + slideOffset, false, dontAnimate);\n                }\n                break;\n\n            case 'index':\n                var index = event.data.index === 0 ? 0 :\n                    event.data.index || $target.index() * _.options.slidesToScroll;\n\n                _.slideHandler(_.checkNavigable(index), false, dontAnimate);\n                $target.children().trigger('focus');\n                break;\n\n            default:\n                return;\n        }\n\n    };\n\n    Slick.prototype.checkNavigable = function(index) {\n\n        var _ = this,\n            navigables, prevNavigable;\n\n        navigables = _.getNavigableIndexes();\n        prevNavigable = 0;\n        if (index > navigables[navigables.length - 1]) {\n            index = navigables[navigables.length - 1];\n        } else {\n            for (var n in navigables) {\n                if (index < navigables[n]) {\n                    index = prevNavigable;\n                    break;\n                }\n                prevNavigable = navigables[n];\n            }\n        }\n\n        return index;\n    };\n\n    Slick.prototype.cleanUpEvents = function() {\n\n        var _ = this;\n\n        if (_.options.dots && _.$dots !== null) {\n\n            $('li', _.$dots).off('click.slick', _.changeSlide);\n\n            if (_.options.pauseOnDotsHover === true && _.options.autoplay === true) {\n\n                $('li', _.$dots)\n                    .off('mouseenter.slick', $.proxy(_.setPaused, _, true))\n                    .off('mouseleave.slick', $.proxy(_.setPaused, _, false));\n\n            }\n\n        }\n\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n            _.$prevArrow && _.$prevArrow.off('click.slick', _.changeSlide);\n            _.$nextArrow && _.$nextArrow.off('click.slick', _.changeSlide);\n        }\n\n        _.$list.off('touchstart.slick mousedown.slick', _.swipeHandler);\n        _.$list.off('touchmove.slick mousemove.slick', _.swipeHandler);\n        _.$list.off('touchend.slick mouseup.slick', _.swipeHandler);\n        _.$list.off('touchcancel.slick mouseleave.slick', _.swipeHandler);\n\n        _.$list.off('click.slick', _.clickHandler);\n\n        $(document).off(_.visibilityChange, _.visibility);\n\n        _.$list.off('mouseenter.slick', $.proxy(_.setPaused, _, true));\n        _.$list.off('mouseleave.slick', $.proxy(_.setPaused, _, false));\n\n        if (_.options.accessibility === true) {\n            _.$list.off('keydown.slick', _.keyHandler);\n        }\n\n        if (_.options.focusOnSelect === true) {\n            $(_.$slideTrack).children().off('click.slick', _.selectHandler);\n        }\n\n        $(window).off('orientationchange.slick.slick-' + _.instanceUid, _.orientationChange);\n\n        $(window).off('resize.slick.slick-' + _.instanceUid, _.resize);\n\n        $('[draggable!=true]', _.$slideTrack).off('dragstart', _.preventDefault);\n\n        $(window).off('load.slick.slick-' + _.instanceUid, _.setPosition);\n        $(document).off('ready.slick.slick-' + _.instanceUid, _.setPosition);\n    };\n\n    Slick.prototype.cleanUpRows = function() {\n\n        var _ = this, originalSlides;\n\n        if(_.options.rows > 1) {\n            originalSlides = _.$slides.children().children();\n            originalSlides.removeAttr('style');\n            _.$slider.html(originalSlides);\n        }\n\n    };\n\n    Slick.prototype.clickHandler = function(event) {\n\n        var _ = this;\n\n        if (_.shouldClick === false) {\n            event.stopImmediatePropagation();\n            event.stopPropagation();\n            event.preventDefault();\n        }\n\n    };\n\n    Slick.prototype.destroy = function(refresh) {\n\n        var _ = this;\n\n        _.autoPlayClear();\n\n        _.touchObject = {};\n\n        _.cleanUpEvents();\n\n        $('.slick-cloned', _.$slider).detach();\n\n        if (_.$dots) {\n            _.$dots.remove();\n        }\n\n\n        if ( _.$prevArrow && _.$prevArrow.length ) {\n\n            _.$prevArrow\n                .removeClass('slick-disabled slick-arrow slick-hidden')\n                .removeAttr('aria-hidden aria-disabled tabindex')\n                .css(\"display\",\"\");\n\n            if ( _.htmlExpr.test( _.options.prevArrow )) {\n                _.$prevArrow.remove();\n            }\n        }\n\n        if ( _.$nextArrow && _.$nextArrow.length ) {\n\n            _.$nextArrow\n                .removeClass('slick-disabled slick-arrow slick-hidden')\n                .removeAttr('aria-hidden aria-disabled tabindex')\n                .css(\"display\",\"\");\n\n            if ( _.htmlExpr.test( _.options.nextArrow )) {\n                _.$nextArrow.remove();\n            }\n\n        }\n\n\n        if (_.$slides) {\n\n            _.$slides\n                .removeClass('slick-slide slick-active slick-center slick-visible slick-current')\n                .removeAttr('aria-hidden')\n                .removeAttr('data-slick-index')\n                .each(function(){\n                    $(this).attr('style', $(this).data('originalStyling'));\n                });\n\n            _.$slideTrack.children(this.options.slide).detach();\n\n            _.$slideTrack.detach();\n\n            _.$list.detach();\n\n            _.$slider.append(_.$slides);\n        }\n\n        _.cleanUpRows();\n\n        _.$slider.removeClass('slick-slider');\n        _.$slider.removeClass('slick-initialized');\n\n        _.unslicked = true;\n\n        if(!refresh) {\n            _.$slider.trigger('destroy', [_]);\n        }\n\n    };\n\n    Slick.prototype.disableTransition = function(slide) {\n\n        var _ = this,\n            transition = {};\n\n        transition[_.transitionType] = '';\n\n        if (_.options.fade === false) {\n            _.$slideTrack.css(transition);\n        } else {\n            _.$slides.eq(slide).css(transition);\n        }\n\n    };\n\n    Slick.prototype.fadeSlide = function(slideIndex, callback) {\n\n        var _ = this;\n\n        if (_.cssTransitions === false) {\n\n            _.$slides.eq(slideIndex).css({\n                zIndex: _.options.zIndex\n            });\n\n            _.$slides.eq(slideIndex).animate({\n                opacity: 1\n            }, _.options.speed, _.options.easing, callback);\n\n        } else {\n\n            _.applyTransition(slideIndex);\n\n            _.$slides.eq(slideIndex).css({\n                opacity: 1,\n                zIndex: _.options.zIndex\n            });\n\n            if (callback) {\n                setTimeout(function() {\n\n                    _.disableTransition(slideIndex);\n\n                    callback.call();\n                }, _.options.speed);\n            }\n\n        }\n\n    };\n\n    Slick.prototype.fadeSlideOut = function(slideIndex) {\n\n        var _ = this;\n\n        if (_.cssTransitions === false) {\n\n            _.$slides.eq(slideIndex).animate({\n                opacity: 0,\n                zIndex: _.options.zIndex - 2\n            }, _.options.speed, _.options.easing);\n\n        } else {\n\n            _.applyTransition(slideIndex);\n\n            _.$slides.eq(slideIndex).css({\n                opacity: 0,\n                zIndex: _.options.zIndex - 2\n            });\n\n        }\n\n    };\n\n    Slick.prototype.filterSlides = Slick.prototype.slickFilter = function(filter) {\n\n        var _ = this;\n\n        if (filter !== null) {\n\n            _.$slidesCache = _.$slides;\n\n            _.unload();\n\n            _.$slideTrack.children(this.options.slide).detach();\n\n            _.$slidesCache.filter(filter).appendTo(_.$slideTrack);\n\n            _.reinit();\n\n        }\n\n    };\n\n    Slick.prototype.getCurrent = Slick.prototype.slickCurrentSlide = function() {\n\n        var _ = this;\n        return _.currentSlide;\n\n    };\n\n    Slick.prototype.getDotCount = function() {\n\n        var _ = this;\n\n        var breakPoint = 0;\n        var counter = 0;\n        var pagerQty = 0;\n\n        if (_.options.infinite === true) {\n            while (breakPoint < _.slideCount) {\n                ++pagerQty;\n                breakPoint = counter + _.options.slidesToScroll;\n                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;\n            }\n        } else if (_.options.centerMode === true) {\n            pagerQty = _.slideCount;\n        } else {\n            while (breakPoint < _.slideCount) {\n                ++pagerQty;\n                breakPoint = counter + _.options.slidesToScroll;\n                counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;\n            }\n        }\n\n        return pagerQty - 1;\n\n    };\n\n    Slick.prototype.getLeft = function(slideIndex) {\n\n        var _ = this,\n            targetLeft,\n            verticalHeight,\n            verticalOffset = 0,\n            targetSlide;\n\n        _.slideOffset = 0;\n        verticalHeight = _.$slides.first().outerHeight(true);\n\n        if (_.options.infinite === true) {\n            if (_.slideCount > _.options.slidesToShow) {\n                _.slideOffset = (_.slideWidth * _.options.slidesToShow) * -1;\n                verticalOffset = (verticalHeight * _.options.slidesToShow) * -1;\n            }\n            if (_.slideCount % _.options.slidesToScroll !== 0) {\n                if (slideIndex + _.options.slidesToScroll > _.slideCount && _.slideCount > _.options.slidesToShow) {\n                    if (slideIndex > _.slideCount) {\n                        _.slideOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * _.slideWidth) * -1;\n                        verticalOffset = ((_.options.slidesToShow - (slideIndex - _.slideCount)) * verticalHeight) * -1;\n                    } else {\n                        _.slideOffset = ((_.slideCount % _.options.slidesToScroll) * _.slideWidth) * -1;\n                        verticalOffset = ((_.slideCount % _.options.slidesToScroll) * verticalHeight) * -1;\n                    }\n                }\n            }\n        } else {\n            if (slideIndex + _.options.slidesToShow > _.slideCount) {\n                _.slideOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * _.slideWidth;\n                verticalOffset = ((slideIndex + _.options.slidesToShow) - _.slideCount) * verticalHeight;\n            }\n        }\n\n        if (_.slideCount <= _.options.slidesToShow) {\n            _.slideOffset = 0;\n            verticalOffset = 0;\n        }\n\n        if (_.options.centerMode === true && _.options.infinite === true) {\n            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2) - _.slideWidth;\n        } else if (_.options.centerMode === true) {\n            _.slideOffset = 0;\n            _.slideOffset += _.slideWidth * Math.floor(_.options.slidesToShow / 2);\n        }\n\n        if (_.options.vertical === false) {\n            targetLeft = ((slideIndex * _.slideWidth) * -1) + _.slideOffset;\n        } else {\n            targetLeft = ((slideIndex * verticalHeight) * -1) + verticalOffset;\n        }\n\n        if (_.options.variableWidth === true) {\n\n            if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {\n                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);\n            } else {\n                targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow);\n            }\n\n            if (_.options.rtl === true) {\n                if (targetSlide[0]) {\n                    targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;\n                } else {\n                    targetLeft =  0;\n                }\n            } else {\n                targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;\n            }\n\n            if (_.options.centerMode === true) {\n                if (_.slideCount <= _.options.slidesToShow || _.options.infinite === false) {\n                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex);\n                } else {\n                    targetSlide = _.$slideTrack.children('.slick-slide').eq(slideIndex + _.options.slidesToShow + 1);\n                }\n\n                if (_.options.rtl === true) {\n                    if (targetSlide[0]) {\n                        targetLeft = (_.$slideTrack.width() - targetSlide[0].offsetLeft - targetSlide.width()) * -1;\n                    } else {\n                        targetLeft =  0;\n                    }\n                } else {\n                    targetLeft = targetSlide[0] ? targetSlide[0].offsetLeft * -1 : 0;\n                }\n\n                targetLeft += (_.$list.width() - targetSlide.outerWidth()) / 2;\n            }\n        }\n\n        return targetLeft;\n\n    };\n\n    Slick.prototype.getOption = Slick.prototype.slickGetOption = function(option) {\n\n        var _ = this;\n\n        return _.options[option];\n\n    };\n\n    Slick.prototype.getNavigableIndexes = function() {\n\n        var _ = this,\n            breakPoint = 0,\n            counter = 0,\n            indexes = [],\n            max;\n\n        if (_.options.infinite === false) {\n            max = _.slideCount;\n        } else {\n            breakPoint = _.options.slidesToScroll * -1;\n            counter = _.options.slidesToScroll * -1;\n            max = _.slideCount * 2;\n        }\n\n        while (breakPoint < max) {\n            indexes.push(breakPoint);\n            breakPoint = counter + _.options.slidesToScroll;\n            counter += _.options.slidesToScroll <= _.options.slidesToShow ? _.options.slidesToScroll : _.options.slidesToShow;\n        }\n\n        return indexes;\n\n    };\n\n    Slick.prototype.getSlick = function() {\n\n        return this;\n\n    };\n\n    Slick.prototype.getSlideCount = function() {\n\n        var _ = this,\n            slidesTraversed, swipedSlide, centerOffset;\n\n        centerOffset = _.options.centerMode === true ? _.slideWidth * Math.floor(_.options.slidesToShow / 2) : 0;\n\n        if (_.options.swipeToSlide === true) {\n            _.$slideTrack.find('.slick-slide').each(function(index, slide) {\n                if (slide.offsetLeft - centerOffset + ($(slide).outerWidth() / 2) > (_.swipeLeft * -1)) {\n                    swipedSlide = slide;\n                    return false;\n                }\n            });\n\n            slidesTraversed = Math.abs($(swipedSlide).attr('data-slick-index') - _.currentSlide) || 1;\n\n            return slidesTraversed;\n\n        } else {\n            return _.options.slidesToScroll;\n        }\n\n    };\n\n    Slick.prototype.goTo = Slick.prototype.slickGoTo = function(slide, dontAnimate) {\n\n        var _ = this;\n\n        _.changeSlide({\n            data: {\n                message: 'index',\n                index: parseInt(slide)\n            }\n        }, dontAnimate);\n\n    };\n\n    Slick.prototype.init = function(creation) {\n\n        var _ = this;\n\n        if (!$(_.$slider).hasClass('slick-initialized')) {\n\n            $(_.$slider).addClass('slick-initialized');\n\n            _.buildRows();\n            _.buildOut();\n            _.setProps();\n            _.startLoad();\n            _.loadSlider();\n            _.initializeEvents();\n            _.updateArrows();\n            _.updateDots();\n\n        }\n\n        if (creation) {\n            _.$slider.trigger('init', [_]);\n        }\n\n        if (_.options.accessibility === true) {\n            _.initADA();\n        }\n\n    };\n\n    Slick.prototype.initArrowEvents = function() {\n\n        var _ = this;\n\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n            _.$prevArrow.on('click.slick', {\n                message: 'previous'\n            }, _.changeSlide);\n            _.$nextArrow.on('click.slick', {\n                message: 'next'\n            }, _.changeSlide);\n        }\n\n    };\n\n    Slick.prototype.initDotEvents = function() {\n\n        var _ = this;\n\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n            $('li', _.$dots).on('click.slick', {\n                message: 'index'\n            }, _.changeSlide);\n        }\n\n        if (_.options.dots === true && _.options.pauseOnDotsHover === true && _.options.autoplay === true) {\n            $('li', _.$dots)\n                .on('mouseenter.slick', $.proxy(_.setPaused, _, true))\n                .on('mouseleave.slick', $.proxy(_.setPaused, _, false));\n        }\n\n    };\n\n    Slick.prototype.initializeEvents = function() {\n\n        var _ = this;\n\n        _.initArrowEvents();\n\n        _.initDotEvents();\n\n        _.$list.on('touchstart.slick mousedown.slick', {\n            action: 'start'\n        }, _.swipeHandler);\n        _.$list.on('touchmove.slick mousemove.slick', {\n            action: 'move'\n        }, _.swipeHandler);\n        _.$list.on('touchend.slick mouseup.slick', {\n            action: 'end'\n        }, _.swipeHandler);\n        _.$list.on('touchcancel.slick mouseleave.slick', {\n            action: 'end'\n        }, _.swipeHandler);\n\n        _.$list.on('click.slick', _.clickHandler);\n\n        $(document).on(_.visibilityChange, $.proxy(_.visibility, _));\n\n        _.$list.on('mouseenter.slick', $.proxy(_.setPaused, _, true));\n        _.$list.on('mouseleave.slick', $.proxy(_.setPaused, _, false));\n\n        if (_.options.accessibility === true) {\n            _.$list.on('keydown.slick', _.keyHandler);\n        }\n\n        if (_.options.focusOnSelect === true) {\n            $(_.$slideTrack).children().on('click.slick', _.selectHandler);\n        }\n\n        $(window).on('orientationchange.slick.slick-' + _.instanceUid, $.proxy(_.orientationChange, _));\n\n        $(window).on('resize.slick.slick-' + _.instanceUid, $.proxy(_.resize, _));\n\n        $('[draggable!=true]', _.$slideTrack).on('dragstart', _.preventDefault);\n\n        $(window).on('load.slick.slick-' + _.instanceUid, _.setPosition);\n        $(document).on('ready.slick.slick-' + _.instanceUid, _.setPosition);\n\n    };\n\n    Slick.prototype.initUI = function() {\n\n        var _ = this;\n\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n\n            _.$prevArrow.show();\n            _.$nextArrow.show();\n\n        }\n\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n\n            _.$dots.show();\n\n        }\n\n        if (_.options.autoplay === true) {\n\n            _.autoPlay();\n\n        }\n\n    };\n\n    Slick.prototype.keyHandler = function(event) {\n\n        var _ = this;\n         //Dont slide if the cursor is inside the form fields and arrow keys are pressed\n        if(!event.target.tagName.match('TEXTAREA|INPUT|SELECT')) {\n            if (event.keyCode === 37 && _.options.accessibility === true) {\n                _.changeSlide({\n                    data: {\n                        message: 'previous'\n                    }\n                });\n            } else if (event.keyCode === 39 && _.options.accessibility === true) {\n                _.changeSlide({\n                    data: {\n                        message: 'next'\n                    }\n                });\n            }\n        }\n\n    };\n\n    Slick.prototype.lazyLoad = function() {\n\n        var _ = this,\n            loadRange, cloneRange, rangeStart, rangeEnd;\n\n        function loadImages(imagesScope) {\n            $('img[data-lazy]', imagesScope).each(function() {\n\n                var image = $(this),\n                    imageSource = $(this).attr('data-lazy'),\n                    imageToLoad = document.createElement('img');\n\n                imageToLoad.onload = function() {\n                    image\n                        .animate({ opacity: 0 }, 100, function() {\n                            image\n                                .attr('src', imageSource)\n                                .animate({ opacity: 1 }, 200, function() {\n                                    image\n                                        .removeAttr('data-lazy')\n                                        .removeClass('slick-loading');\n                                });\n                        });\n                };\n\n                imageToLoad.src = imageSource;\n\n            });\n        }\n\n        if (_.options.centerMode === true) {\n            if (_.options.infinite === true) {\n                rangeStart = _.currentSlide + (_.options.slidesToShow / 2 + 1);\n                rangeEnd = rangeStart + _.options.slidesToShow + 2;\n            } else {\n                rangeStart = Math.max(0, _.currentSlide - (_.options.slidesToShow / 2 + 1));\n                rangeEnd = 2 + (_.options.slidesToShow / 2 + 1) + _.currentSlide;\n            }\n        } else {\n            rangeStart = _.options.infinite ? _.options.slidesToShow + _.currentSlide : _.currentSlide;\n            rangeEnd = rangeStart + _.options.slidesToShow;\n            if (_.options.fade === true) {\n                if (rangeStart > 0) rangeStart--;\n                if (rangeEnd <= _.slideCount) rangeEnd++;\n            }\n        }\n\n        loadRange = _.$slider.find('.slick-slide').slice(rangeStart, rangeEnd);\n        loadImages(loadRange);\n\n        if (_.slideCount <= _.options.slidesToShow) {\n            cloneRange = _.$slider.find('.slick-slide');\n            loadImages(cloneRange);\n        } else\n        if (_.currentSlide >= _.slideCount - _.options.slidesToShow) {\n            cloneRange = _.$slider.find('.slick-cloned').slice(0, _.options.slidesToShow);\n            loadImages(cloneRange);\n        } else if (_.currentSlide === 0) {\n            cloneRange = _.$slider.find('.slick-cloned').slice(_.options.slidesToShow * -1);\n            loadImages(cloneRange);\n        }\n\n    };\n\n    Slick.prototype.loadSlider = function() {\n\n        var _ = this;\n\n        _.setPosition();\n\n        _.$slideTrack.css({\n            opacity: 1\n        });\n\n        _.$slider.removeClass('slick-loading');\n\n        _.initUI();\n\n        if (_.options.lazyLoad === 'progressive') {\n            _.progressiveLazyLoad();\n        }\n\n    };\n\n    Slick.prototype.next = Slick.prototype.slickNext = function() {\n\n        var _ = this;\n\n        _.changeSlide({\n            data: {\n                message: 'next'\n            }\n        });\n\n    };\n\n    Slick.prototype.orientationChange = function() {\n\n        var _ = this;\n\n        _.checkResponsive();\n        _.setPosition();\n\n    };\n\n    Slick.prototype.pause = Slick.prototype.slickPause = function() {\n\n        var _ = this;\n\n        _.autoPlayClear();\n        _.paused = true;\n\n    };\n\n    Slick.prototype.play = Slick.prototype.slickPlay = function() {\n\n        var _ = this;\n\n        _.paused = false;\n        _.autoPlay();\n\n    };\n\n    Slick.prototype.postSlide = function(index) {\n\n        var _ = this;\n\n        _.$slider.trigger('afterChange', [_, index]);\n\n        _.animating = false;\n\n        _.setPosition();\n\n        _.swipeLeft = null;\n\n        if (_.options.autoplay === true && _.paused === false) {\n            _.autoPlay();\n        }\n        if (_.options.accessibility === true) {\n            _.initADA();\n        }\n\n    };\n\n    Slick.prototype.prev = Slick.prototype.slickPrev = function() {\n\n        var _ = this;\n\n        _.changeSlide({\n            data: {\n                message: 'previous'\n            }\n        });\n\n    };\n\n    Slick.prototype.preventDefault = function(event) {\n        event.preventDefault();\n    };\n\n    Slick.prototype.progressiveLazyLoad = function() {\n\n        var _ = this,\n            imgCount, targetImage;\n\n        imgCount = $('img[data-lazy]', _.$slider).length;\n\n        if (imgCount > 0) {\n            targetImage = $('img[data-lazy]', _.$slider).first();\n            targetImage.attr('src', null);\n            targetImage.attr('src', targetImage.attr('data-lazy')).removeClass('slick-loading').load(function() {\n                    targetImage.removeAttr('data-lazy');\n                    _.progressiveLazyLoad();\n\n                    if (_.options.adaptiveHeight === true) {\n                        _.setPosition();\n                    }\n                })\n                .error(function() {\n                    targetImage.removeAttr('data-lazy');\n                    _.progressiveLazyLoad();\n                });\n        }\n\n    };\n\n    Slick.prototype.refresh = function( initializing ) {\n\n        var _ = this, currentSlide, firstVisible;\n\n        firstVisible = _.slideCount - _.options.slidesToShow;\n\n        // check that the new breakpoint can actually accept the\n        // \"current slide\" as the current slide, otherwise we need\n        // to set it to the closest possible value.\n        if ( !_.options.infinite ) {\n            if ( _.slideCount <= _.options.slidesToShow ) {\n                _.currentSlide = 0;\n            } else if ( _.currentSlide > firstVisible ) {\n                _.currentSlide = firstVisible;\n            }\n        }\n\n         currentSlide = _.currentSlide;\n\n        _.destroy(true);\n\n        $.extend(_, _.initials, { currentSlide: currentSlide });\n\n        _.init();\n\n        if( !initializing ) {\n\n            _.changeSlide({\n                data: {\n                    message: 'index',\n                    index: currentSlide\n                }\n            }, false);\n\n        }\n\n    };\n\n    Slick.prototype.registerBreakpoints = function() {\n\n        var _ = this, breakpoint, currentBreakpoint, l,\n            responsiveSettings = _.options.responsive || null;\n\n        if ( $.type(responsiveSettings) === \"array\" && responsiveSettings.length ) {\n\n            _.respondTo = _.options.respondTo || 'window';\n\n            for ( breakpoint in responsiveSettings ) {\n\n                l = _.breakpoints.length-1;\n                currentBreakpoint = responsiveSettings[breakpoint].breakpoint;\n\n                if (responsiveSettings.hasOwnProperty(breakpoint)) {\n\n                    // loop through the breakpoints and cut out any existing\n                    // ones with the same breakpoint number, we don't want dupes.\n                    while( l >= 0 ) {\n                        if( _.breakpoints[l] && _.breakpoints[l] === currentBreakpoint ) {\n                            _.breakpoints.splice(l,1);\n                        }\n                        l--;\n                    }\n\n                    _.breakpoints.push(currentBreakpoint);\n                    _.breakpointSettings[currentBreakpoint] = responsiveSettings[breakpoint].settings;\n\n                }\n\n            }\n\n            _.breakpoints.sort(function(a, b) {\n                return ( _.options.mobileFirst ) ? a-b : b-a;\n            });\n\n        }\n\n    };\n\n    Slick.prototype.reinit = function() {\n\n        var _ = this;\n\n        _.$slides =\n            _.$slideTrack\n                .children(_.options.slide)\n                .addClass('slick-slide');\n\n        _.slideCount = _.$slides.length;\n\n        if (_.currentSlide >= _.slideCount && _.currentSlide !== 0) {\n            _.currentSlide = _.currentSlide - _.options.slidesToScroll;\n        }\n\n        if (_.slideCount <= _.options.slidesToShow) {\n            _.currentSlide = 0;\n        }\n\n        _.registerBreakpoints();\n\n        _.setProps();\n        _.setupInfinite();\n        _.buildArrows();\n        _.updateArrows();\n        _.initArrowEvents();\n        _.buildDots();\n        _.updateDots();\n        _.initDotEvents();\n\n        _.checkResponsive(false, true);\n\n        if (_.options.focusOnSelect === true) {\n            $(_.$slideTrack).children().on('click.slick', _.selectHandler);\n        }\n\n        _.setSlideClasses(0);\n\n        _.setPosition();\n\n        _.$slider.trigger('reInit', [_]);\n\n        if (_.options.autoplay === true) {\n            _.focusHandler();\n        }\n\n    };\n\n    Slick.prototype.resize = function() {\n\n        var _ = this;\n\n        if ($(window).width() !== _.windowWidth) {\n            clearTimeout(_.windowDelay);\n            _.windowDelay = window.setTimeout(function() {\n                _.windowWidth = $(window).width();\n                _.checkResponsive();\n                if( !_.unslicked ) { _.setPosition(); }\n            }, 50);\n        }\n    };\n\n    Slick.prototype.removeSlide = Slick.prototype.slickRemove = function(index, removeBefore, removeAll) {\n\n        var _ = this;\n\n        if (typeof(index) === 'boolean') {\n            removeBefore = index;\n            index = removeBefore === true ? 0 : _.slideCount - 1;\n        } else {\n            index = removeBefore === true ? --index : index;\n        }\n\n        if (_.slideCount < 1 || index < 0 || index > _.slideCount - 1) {\n            return false;\n        }\n\n        _.unload();\n\n        if (removeAll === true) {\n            _.$slideTrack.children().remove();\n        } else {\n            _.$slideTrack.children(this.options.slide).eq(index).remove();\n        }\n\n        _.$slides = _.$slideTrack.children(this.options.slide);\n\n        _.$slideTrack.children(this.options.slide).detach();\n\n        _.$slideTrack.append(_.$slides);\n\n        _.$slidesCache = _.$slides;\n\n        _.reinit();\n\n    };\n\n    Slick.prototype.setCSS = function(position) {\n\n        var _ = this,\n            positionProps = {},\n            x, y;\n\n        if (_.options.rtl === true) {\n            position = -position;\n        }\n        x = _.positionProp == 'left' ? Math.ceil(position) + 'px' : '0px';\n        y = _.positionProp == 'top' ? Math.ceil(position) + 'px' : '0px';\n\n        positionProps[_.positionProp] = position;\n\n        if (_.transformsEnabled === false) {\n            _.$slideTrack.css(positionProps);\n        } else {\n            positionProps = {};\n            if (_.cssTransitions === false) {\n                positionProps[_.animType] = 'translate(' + x + ', ' + y + ')';\n                _.$slideTrack.css(positionProps);\n            } else {\n                positionProps[_.animType] = 'translate3d(' + x + ', ' + y + ', 0px)';\n                _.$slideTrack.css(positionProps);\n            }\n        }\n\n    };\n\n    Slick.prototype.setDimensions = function() {\n\n        var _ = this;\n\n        if (_.options.vertical === false) {\n            if (_.options.centerMode === true) {\n                _.$list.css({\n                    padding: ('0px ' + _.options.centerPadding)\n                });\n            }\n        } else {\n            _.$list.height(_.$slides.first().outerHeight(true) * _.options.slidesToShow);\n            if (_.options.centerMode === true) {\n                _.$list.css({\n                    padding: (_.options.centerPadding + ' 0px')\n                });\n            }\n        }\n\n        _.listWidth = _.$list.width();\n        _.listHeight = _.$list.height();\n\n\n        if (_.options.vertical === false && _.options.variableWidth === false) {\n            _.slideWidth = Math.ceil(_.listWidth / _.options.slidesToShow);\n            _.$slideTrack.width(Math.ceil((_.slideWidth * _.$slideTrack.children('.slick-slide').length)));\n\n        } else if (_.options.variableWidth === true) {\n            _.$slideTrack.width(5000 * _.slideCount);\n        } else {\n            _.slideWidth = Math.ceil(_.listWidth);\n            _.$slideTrack.height(Math.ceil((_.$slides.first().outerHeight(true) * _.$slideTrack.children('.slick-slide').length)));\n        }\n\n        var offset = _.$slides.first().outerWidth(true) - _.$slides.first().width();\n        if (_.options.variableWidth === false) _.$slideTrack.children('.slick-slide').width(_.slideWidth - offset);\n\n    };\n\n    Slick.prototype.setFade = function() {\n\n        var _ = this,\n            targetLeft;\n\n        _.$slides.each(function(index, element) {\n            targetLeft = (_.slideWidth * index) * -1;\n            if (_.options.rtl === true) {\n                $(element).css({\n                    position: 'relative',\n                    right: targetLeft,\n                    top: 0,\n                    zIndex: _.options.zIndex - 2,\n                    opacity: 0\n                });\n            } else {\n                $(element).css({\n                    position: 'relative',\n                    left: targetLeft,\n                    top: 0,\n                    zIndex: _.options.zIndex - 2,\n                    opacity: 0\n                });\n            }\n        });\n\n        _.$slides.eq(_.currentSlide).css({\n            zIndex: _.options.zIndex - 1,\n            opacity: 1\n        });\n\n    };\n\n    Slick.prototype.setHeight = function() {\n\n        var _ = this;\n\n        if (_.options.slidesToShow === 1 && _.options.adaptiveHeight === true && _.options.vertical === false) {\n            var targetHeight = _.$slides.eq(_.currentSlide).outerHeight(true);\n            _.$list.css('height', targetHeight);\n        }\n\n    };\n\n    Slick.prototype.setOption = Slick.prototype.slickSetOption = function(option, value, refresh) {\n\n        var _ = this, l, item;\n\n        if( option === \"responsive\" && $.type(value) === \"array\" ) {\n            for ( item in value ) {\n                if( $.type( _.options.responsive ) !== \"array\" ) {\n                    _.options.responsive = [ value[item] ];\n                } else {\n                    l = _.options.responsive.length-1;\n                    // loop through the responsive object and splice out duplicates.\n                    while( l >= 0 ) {\n                        if( _.options.responsive[l].breakpoint === value[item].breakpoint ) {\n                            _.options.responsive.splice(l,1);\n                        }\n                        l--;\n                    }\n                    _.options.responsive.push( value[item] );\n                }\n            }\n        } else {\n            _.options[option] = value;\n        }\n\n        if (refresh === true) {\n            _.unload();\n            _.reinit();\n        }\n\n    };\n\n    Slick.prototype.setPosition = function() {\n\n        var _ = this;\n\n        _.setDimensions();\n\n        _.setHeight();\n\n        if (_.options.fade === false) {\n            _.setCSS(_.getLeft(_.currentSlide));\n        } else {\n            _.setFade();\n        }\n\n        _.$slider.trigger('setPosition', [_]);\n\n    };\n\n    Slick.prototype.setProps = function() {\n\n        var _ = this,\n            bodyStyle = document.body.style;\n\n        _.positionProp = _.options.vertical === true ? 'top' : 'left';\n\n        if (_.positionProp === 'top') {\n            _.$slider.addClass('slick-vertical');\n        } else {\n            _.$slider.removeClass('slick-vertical');\n        }\n\n        if (bodyStyle.WebkitTransition !== undefined ||\n            bodyStyle.MozTransition !== undefined ||\n            bodyStyle.msTransition !== undefined) {\n            if (_.options.useCSS === true) {\n                _.cssTransitions = true;\n            }\n        }\n\n        if ( _.options.fade ) {\n            if ( typeof _.options.zIndex === 'number' ) {\n                if( _.options.zIndex < 3 ) {\n                    _.options.zIndex = 3;\n                }\n            } else {\n                _.options.zIndex = _.defaults.zIndex;\n            }\n        }\n\n        if (bodyStyle.OTransform !== undefined) {\n            _.animType = 'OTransform';\n            _.transformType = '-o-transform';\n            _.transitionType = 'OTransition';\n            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;\n        }\n        if (bodyStyle.MozTransform !== undefined) {\n            _.animType = 'MozTransform';\n            _.transformType = '-moz-transform';\n            _.transitionType = 'MozTransition';\n            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.MozPerspective === undefined) _.animType = false;\n        }\n        if (bodyStyle.webkitTransform !== undefined) {\n            _.animType = 'webkitTransform';\n            _.transformType = '-webkit-transform';\n            _.transitionType = 'webkitTransition';\n            if (bodyStyle.perspectiveProperty === undefined && bodyStyle.webkitPerspective === undefined) _.animType = false;\n        }\n        if (bodyStyle.msTransform !== undefined) {\n            _.animType = 'msTransform';\n            _.transformType = '-ms-transform';\n            _.transitionType = 'msTransition';\n            if (bodyStyle.msTransform === undefined) _.animType = false;\n        }\n        if (bodyStyle.transform !== undefined && _.animType !== false) {\n            _.animType = 'transform';\n            _.transformType = 'transform';\n            _.transitionType = 'transition';\n        }\n        _.transformsEnabled = _.options.useTransform && (_.animType !== null && _.animType !== false);\n    };\n\n\n    Slick.prototype.setSlideClasses = function(index) {\n\n        var _ = this,\n            centerOffset, allSlides, indexOffset, remainder;\n\n        allSlides = _.$slider\n            .find('.slick-slide')\n            .removeClass('slick-active slick-center slick-current')\n            .attr('aria-hidden', 'true');\n\n        _.$slides\n            .eq(index)\n            .addClass('slick-current');\n\n        if (_.options.centerMode === true) {\n\n            centerOffset = Math.floor(_.options.slidesToShow / 2);\n\n            if (_.options.infinite === true) {\n\n                if (index >= centerOffset && index <= (_.slideCount - 1) - centerOffset) {\n\n                    _.$slides\n                        .slice(index - centerOffset, index + centerOffset + 1)\n                        .addClass('slick-active')\n                        .attr('aria-hidden', 'false');\n\n                } else {\n\n                    indexOffset = _.options.slidesToShow + index;\n                    allSlides\n                        .slice(indexOffset - centerOffset + 1, indexOffset + centerOffset + 2)\n                        .addClass('slick-active')\n                        .attr('aria-hidden', 'false');\n\n                }\n\n                if (index === 0) {\n\n                    allSlides\n                        .eq(allSlides.length - 1 - _.options.slidesToShow)\n                        .addClass('slick-center');\n\n                } else if (index === _.slideCount - 1) {\n\n                    allSlides\n                        .eq(_.options.slidesToShow)\n                        .addClass('slick-center');\n\n                }\n\n            }\n\n            _.$slides\n                .eq(index)\n                .addClass('slick-center');\n\n        } else {\n\n            if (index >= 0 && index <= (_.slideCount - _.options.slidesToShow)) {\n\n                _.$slides\n                    .slice(index, index + _.options.slidesToShow)\n                    .addClass('slick-active')\n                    .attr('aria-hidden', 'false');\n\n            } else if (allSlides.length <= _.options.slidesToShow) {\n\n                allSlides\n                    .addClass('slick-active')\n                    .attr('aria-hidden', 'false');\n\n            } else {\n\n                remainder = _.slideCount % _.options.slidesToShow;\n                indexOffset = _.options.infinite === true ? _.options.slidesToShow + index : index;\n\n                if (_.options.slidesToShow == _.options.slidesToScroll && (_.slideCount - index) < _.options.slidesToShow) {\n\n                    allSlides\n                        .slice(indexOffset - (_.options.slidesToShow - remainder), indexOffset + remainder)\n                        .addClass('slick-active')\n                        .attr('aria-hidden', 'false');\n\n                } else {\n\n                    allSlides\n                        .slice(indexOffset, indexOffset + _.options.slidesToShow)\n                        .addClass('slick-active')\n                        .attr('aria-hidden', 'false');\n\n                }\n\n            }\n\n        }\n\n        if (_.options.lazyLoad === 'ondemand') {\n            _.lazyLoad();\n        }\n\n    };\n\n    Slick.prototype.setupInfinite = function() {\n\n        var _ = this,\n            i, slideIndex, infiniteCount;\n\n        if (_.options.fade === true) {\n            _.options.centerMode = false;\n        }\n\n        if (_.options.infinite === true && _.options.fade === false) {\n\n            slideIndex = null;\n\n            if (_.slideCount > _.options.slidesToShow) {\n\n                if (_.options.centerMode === true) {\n                    infiniteCount = _.options.slidesToShow + 1;\n                } else {\n                    infiniteCount = _.options.slidesToShow;\n                }\n\n                for (i = _.slideCount; i > (_.slideCount -\n                        infiniteCount); i -= 1) {\n                    slideIndex = i - 1;\n                    $(_.$slides[slideIndex]).clone(true).attr('id', '')\n                        .attr('data-slick-index', slideIndex - _.slideCount)\n                        .prependTo(_.$slideTrack).addClass('slick-cloned');\n                }\n                for (i = 0; i < infiniteCount; i += 1) {\n                    slideIndex = i;\n                    $(_.$slides[slideIndex]).clone(true).attr('id', '')\n                        .attr('data-slick-index', slideIndex + _.slideCount)\n                        .appendTo(_.$slideTrack).addClass('slick-cloned');\n                }\n                _.$slideTrack.find('.slick-cloned').find('[id]').each(function() {\n                    $(this).attr('id', '');\n                });\n\n            }\n\n        }\n\n    };\n\n    Slick.prototype.setPaused = function(paused) {\n\n        var _ = this;\n\n        if (_.options.autoplay === true && _.options.pauseOnHover === true) {\n            _.paused = paused;\n            if (!paused) {\n                _.autoPlay();\n            } else {\n                _.autoPlayClear();\n            }\n        }\n    };\n\n    Slick.prototype.selectHandler = function(event) {\n\n        var _ = this;\n\n        var targetElement =\n            $(event.target).is('.slick-slide') ?\n                $(event.target) :\n                $(event.target).parents('.slick-slide');\n\n        var index = parseInt(targetElement.attr('data-slick-index'));\n\n        if (!index) index = 0;\n\n        if (_.slideCount <= _.options.slidesToShow) {\n\n            _.setSlideClasses(index);\n            _.asNavFor(index);\n            return;\n\n        }\n\n        _.slideHandler(index);\n\n    };\n\n    Slick.prototype.slideHandler = function(index, sync, dontAnimate) {\n\n        var targetSlide, animSlide, oldSlide, slideLeft, targetLeft = null,\n            _ = this;\n\n        sync = sync || false;\n\n        if (_.animating === true && _.options.waitForAnimate === true) {\n            return;\n        }\n\n        if (_.options.fade === true && _.currentSlide === index) {\n            return;\n        }\n\n        if (_.slideCount <= _.options.slidesToShow) {\n            return;\n        }\n\n        if (sync === false) {\n            _.asNavFor(index);\n        }\n\n        targetSlide = index;\n        targetLeft = _.getLeft(targetSlide);\n        slideLeft = _.getLeft(_.currentSlide);\n\n        _.currentLeft = _.swipeLeft === null ? slideLeft : _.swipeLeft;\n\n        if (_.options.infinite === false && _.options.centerMode === false && (index < 0 || index > _.getDotCount() * _.options.slidesToScroll)) {\n            if (_.options.fade === false) {\n                targetSlide = _.currentSlide;\n                if (dontAnimate !== true) {\n                    _.animateSlide(slideLeft, function() {\n                        _.postSlide(targetSlide);\n                    });\n                } else {\n                    _.postSlide(targetSlide);\n                }\n            }\n            return;\n        } else if (_.options.infinite === false && _.options.centerMode === true && (index < 0 || index > (_.slideCount - _.options.slidesToScroll))) {\n            if (_.options.fade === false) {\n                targetSlide = _.currentSlide;\n                if (dontAnimate !== true) {\n                    _.animateSlide(slideLeft, function() {\n                        _.postSlide(targetSlide);\n                    });\n                } else {\n                    _.postSlide(targetSlide);\n                }\n            }\n            return;\n        }\n\n        if (_.options.autoplay === true) {\n            clearInterval(_.autoPlayTimer);\n        }\n\n        if (targetSlide < 0) {\n            if (_.slideCount % _.options.slidesToScroll !== 0) {\n                animSlide = _.slideCount - (_.slideCount % _.options.slidesToScroll);\n            } else {\n                animSlide = _.slideCount + targetSlide;\n            }\n        } else if (targetSlide >= _.slideCount) {\n            if (_.slideCount % _.options.slidesToScroll !== 0) {\n                animSlide = 0;\n            } else {\n                animSlide = targetSlide - _.slideCount;\n            }\n        } else {\n            animSlide = targetSlide;\n        }\n\n        _.animating = true;\n\n        _.$slider.trigger('beforeChange', [_, _.currentSlide, animSlide]);\n\n        oldSlide = _.currentSlide;\n        _.currentSlide = animSlide;\n\n        _.setSlideClasses(_.currentSlide);\n\n        _.updateDots();\n        _.updateArrows();\n\n        if (_.options.fade === true) {\n            if (dontAnimate !== true) {\n\n                _.fadeSlideOut(oldSlide);\n\n                _.fadeSlide(animSlide, function() {\n                    _.postSlide(animSlide);\n                });\n\n            } else {\n                _.postSlide(animSlide);\n            }\n            _.animateHeight();\n            return;\n        }\n\n        if (dontAnimate !== true) {\n            _.animateSlide(targetLeft, function() {\n                _.postSlide(animSlide);\n            });\n        } else {\n            _.postSlide(animSlide);\n        }\n\n    };\n\n    Slick.prototype.startLoad = function() {\n\n        var _ = this;\n\n        if (_.options.arrows === true && _.slideCount > _.options.slidesToShow) {\n\n            _.$prevArrow.hide();\n            _.$nextArrow.hide();\n\n        }\n\n        if (_.options.dots === true && _.slideCount > _.options.slidesToShow) {\n\n            _.$dots.hide();\n\n        }\n\n        _.$slider.addClass('slick-loading');\n\n    };\n\n    Slick.prototype.swipeDirection = function() {\n\n        var xDist, yDist, r, swipeAngle, _ = this;\n\n        xDist = _.touchObject.startX - _.touchObject.curX;\n        yDist = _.touchObject.startY - _.touchObject.curY;\n        r = Math.atan2(yDist, xDist);\n\n        swipeAngle = Math.round(r * 180 / Math.PI);\n        if (swipeAngle < 0) {\n            swipeAngle = 360 - Math.abs(swipeAngle);\n        }\n\n        if ((swipeAngle <= 45) && (swipeAngle >= 0)) {\n            return (_.options.rtl === false ? 'left' : 'right');\n        }\n        if ((swipeAngle <= 360) && (swipeAngle >= 315)) {\n            return (_.options.rtl === false ? 'left' : 'right');\n        }\n        if ((swipeAngle >= 135) && (swipeAngle <= 225)) {\n            return (_.options.rtl === false ? 'right' : 'left');\n        }\n        if (_.options.verticalSwiping === true) {\n            if ((swipeAngle >= 35) && (swipeAngle <= 135)) {\n                return 'left';\n            } else {\n                return 'right';\n            }\n        }\n\n        return 'vertical';\n\n    };\n\n    Slick.prototype.swipeEnd = function(event) {\n\n        var _ = this,\n            slideCount;\n\n        _.dragging = false;\n\n        _.shouldClick = (_.touchObject.swipeLength > 10) ? false : true;\n\n        if (_.touchObject.curX === undefined) {\n            return false;\n        }\n\n        if (_.touchObject.edgeHit === true) {\n            _.$slider.trigger('edge', [_, _.swipeDirection()]);\n        }\n\n        if (_.touchObject.swipeLength >= _.touchObject.minSwipe) {\n\n            switch (_.swipeDirection()) {\n                case 'left':\n                    slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide + _.getSlideCount()) : _.currentSlide + _.getSlideCount();\n                    _.slideHandler(slideCount);\n                    _.currentDirection = 0;\n                    _.touchObject = {};\n                    _.$slider.trigger('swipe', [_, 'left']);\n                    break;\n\n                case 'right':\n                    slideCount = _.options.swipeToSlide ? _.checkNavigable(_.currentSlide - _.getSlideCount()) : _.currentSlide - _.getSlideCount();\n                    _.slideHandler(slideCount);\n                    _.currentDirection = 1;\n                    _.touchObject = {};\n                    _.$slider.trigger('swipe', [_, 'right']);\n                    break;\n            }\n        } else {\n            if (_.touchObject.startX !== _.touchObject.curX) {\n                _.slideHandler(_.currentSlide);\n                _.touchObject = {};\n            }\n        }\n\n    };\n\n    Slick.prototype.swipeHandler = function(event) {\n\n        var _ = this;\n\n        if ((_.options.swipe === false) || ('ontouchend' in document && _.options.swipe === false)) {\n            return;\n        } else if (_.options.draggable === false && event.type.indexOf('mouse') !== -1) {\n            return;\n        }\n\n        _.touchObject.fingerCount = event.originalEvent && event.originalEvent.touches !== undefined ?\n            event.originalEvent.touches.length : 1;\n\n        _.touchObject.minSwipe = _.listWidth / _.options\n            .touchThreshold;\n\n        if (_.options.verticalSwiping === true) {\n            _.touchObject.minSwipe = _.listHeight / _.options\n                .touchThreshold;\n        }\n\n        switch (event.data.action) {\n\n            case 'start':\n                _.swipeStart(event);\n                break;\n\n            case 'move':\n                _.swipeMove(event);\n                break;\n\n            case 'end':\n                _.swipeEnd(event);\n                break;\n\n        }\n\n    };\n\n    Slick.prototype.swipeMove = function(event) {\n\n        var _ = this,\n            edgeWasHit = false,\n            curLeft, swipeDirection, swipeLength, positionOffset, touches;\n\n        touches = event.originalEvent !== undefined ? event.originalEvent.touches : null;\n\n        if (!_.dragging || touches && touches.length !== 1) {\n            return false;\n        }\n\n        curLeft = _.getLeft(_.currentSlide);\n\n        _.touchObject.curX = touches !== undefined ? touches[0].pageX : event.clientX;\n        _.touchObject.curY = touches !== undefined ? touches[0].pageY : event.clientY;\n\n        _.touchObject.swipeLength = Math.round(Math.sqrt(\n            Math.pow(_.touchObject.curX - _.touchObject.startX, 2)));\n\n        if (_.options.verticalSwiping === true) {\n            _.touchObject.swipeLength = Math.round(Math.sqrt(\n                Math.pow(_.touchObject.curY - _.touchObject.startY, 2)));\n        }\n\n        swipeDirection = _.swipeDirection();\n\n        if (swipeDirection === 'vertical') {\n            return;\n        }\n\n        if (event.originalEvent !== undefined && _.touchObject.swipeLength > 4) {\n            event.preventDefault();\n        }\n\n        positionOffset = (_.options.rtl === false ? 1 : -1) * (_.touchObject.curX > _.touchObject.startX ? 1 : -1);\n        if (_.options.verticalSwiping === true) {\n            positionOffset = _.touchObject.curY > _.touchObject.startY ? 1 : -1;\n        }\n\n\n        swipeLength = _.touchObject.swipeLength;\n\n        _.touchObject.edgeHit = false;\n\n        if (_.options.infinite === false) {\n            if ((_.currentSlide === 0 && swipeDirection === 'right') || (_.currentSlide >= _.getDotCount() && swipeDirection === 'left')) {\n                swipeLength = _.touchObject.swipeLength * _.options.edgeFriction;\n                _.touchObject.edgeHit = true;\n            }\n        }\n\n        if (_.options.vertical === false) {\n            _.swipeLeft = curLeft + swipeLength * positionOffset;\n        } else {\n            _.swipeLeft = curLeft + (swipeLength * (_.$list.height() / _.listWidth)) * positionOffset;\n        }\n        if (_.options.verticalSwiping === true) {\n            _.swipeLeft = curLeft + swipeLength * positionOffset;\n        }\n\n        if (_.options.fade === true || _.options.touchMove === false) {\n            return false;\n        }\n\n        if (_.animating === true) {\n            _.swipeLeft = null;\n            return false;\n        }\n\n        _.setCSS(_.swipeLeft);\n\n    };\n\n    Slick.prototype.swipeStart = function(event) {\n\n        var _ = this,\n            touches;\n\n        if (_.touchObject.fingerCount !== 1 || _.slideCount <= _.options.slidesToShow) {\n            _.touchObject = {};\n            return false;\n        }\n\n        if (event.originalEvent !== undefined && event.originalEvent.touches !== undefined) {\n            touches = event.originalEvent.touches[0];\n        }\n\n        _.touchObject.startX = _.touchObject.curX = touches !== undefined ? touches.pageX : event.clientX;\n        _.touchObject.startY = _.touchObject.curY = touches !== undefined ? touches.pageY : event.clientY;\n\n        _.dragging = true;\n\n    };\n\n    Slick.prototype.unfilterSlides = Slick.prototype.slickUnfilter = function() {\n\n        var _ = this;\n\n        if (_.$slidesCache !== null) {\n\n            _.unload();\n\n            _.$slideTrack.children(this.options.slide).detach();\n\n            _.$slidesCache.appendTo(_.$slideTrack);\n\n            _.reinit();\n\n        }\n\n    };\n\n    Slick.prototype.unload = function() {\n\n        var _ = this;\n\n        $('.slick-cloned', _.$slider).remove();\n\n        if (_.$dots) {\n            _.$dots.remove();\n        }\n\n        if (_.$prevArrow && _.htmlExpr.test(_.options.prevArrow)) {\n            _.$prevArrow.remove();\n        }\n\n        if (_.$nextArrow && _.htmlExpr.test(_.options.nextArrow)) {\n            _.$nextArrow.remove();\n        }\n\n        _.$slides\n            .removeClass('slick-slide slick-active slick-visible slick-current')\n            .attr('aria-hidden', 'true')\n            .css('width', '');\n\n    };\n\n    Slick.prototype.unslick = function(fromBreakpoint) {\n\n        var _ = this;\n        _.$slider.trigger('unslick', [_, fromBreakpoint]);\n        _.destroy();\n\n    };\n\n    Slick.prototype.updateArrows = function() {\n\n        var _ = this,\n            centerOffset;\n\n        centerOffset = Math.floor(_.options.slidesToShow / 2);\n\n        if ( _.options.arrows === true &&\n            _.slideCount > _.options.slidesToShow &&\n            !_.options.infinite ) {\n\n            _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\n            _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\n\n            if (_.currentSlide === 0) {\n\n                _.$prevArrow.addClass('slick-disabled').attr('aria-disabled', 'true');\n                _.$nextArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\n\n            } else if (_.currentSlide >= _.slideCount - _.options.slidesToShow && _.options.centerMode === false) {\n\n                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');\n                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\n\n            } else if (_.currentSlide >= _.slideCount - 1 && _.options.centerMode === true) {\n\n                _.$nextArrow.addClass('slick-disabled').attr('aria-disabled', 'true');\n                _.$prevArrow.removeClass('slick-disabled').attr('aria-disabled', 'false');\n\n            }\n\n        }\n\n    };\n\n    Slick.prototype.updateDots = function() {\n\n        var _ = this;\n\n        if (_.$dots !== null) {\n\n            _.$dots\n                .find('li')\n                .removeClass('slick-active')\n                .attr('aria-hidden', 'true');\n\n            _.$dots\n                .find('li')\n                .eq(Math.floor(_.currentSlide / _.options.slidesToScroll))\n                .addClass('slick-active')\n                .attr('aria-hidden', 'false');\n\n        }\n\n    };\n\n    Slick.prototype.visibility = function() {\n\n        var _ = this;\n\n        if (document[_.hidden]) {\n            _.paused = true;\n            _.autoPlayClear();\n        } else {\n            if (_.options.autoplay === true) {\n                _.paused = false;\n                _.autoPlay();\n            }\n        }\n\n    };\n    Slick.prototype.initADA = function() {\n        var _ = this;\n        _.$slides.add(_.$slideTrack.find('.slick-cloned')).attr({\n            'aria-hidden': 'true',\n            'tabindex': '-1'\n        }).find('a, input, button, select').attr({\n            'tabindex': '-1'\n        });\n\n        _.$slideTrack.attr('role', 'listbox');\n\n        _.$slides.not(_.$slideTrack.find('.slick-cloned')).each(function(i) {\n            $(this).attr({\n                'role': 'option',\n                'aria-describedby': 'slick-slide' + _.instanceUid + i + ''\n            });\n        });\n\n        if (_.$dots !== null) {\n            _.$dots.attr('role', 'tablist').find('li').each(function(i) {\n                $(this).attr({\n                    'role': 'presentation',\n                    'aria-selected': 'false',\n                    'aria-controls': 'navigation' + _.instanceUid + i + '',\n                    'id': 'slick-slide' + _.instanceUid + i + ''\n                });\n            })\n                .first().attr('aria-selected', 'true').end()\n                .find('button').attr('role', 'button').end()\n                .closest('div').attr('role', 'toolbar');\n        }\n        _.activateADA();\n\n    };\n\n    Slick.prototype.activateADA = function() {\n        var _ = this;\n\n        _.$slideTrack.find('.slick-active').attr({\n            'aria-hidden': 'false'\n        }).find('a, input, button, select').attr({\n            'tabindex': '0'\n        });\n\n    };\n\n    Slick.prototype.focusHandler = function() {\n        var _ = this;\n        _.$slider.on('focus.slick blur.slick', '*', function(event) {\n            event.stopImmediatePropagation();\n            var sf = $(this);\n            setTimeout(function() {\n                if (_.isPlay) {\n                    if (sf.is(':focus')) {\n                        _.autoPlayClear();\n                        _.paused = true;\n                    } else {\n                        _.paused = false;\n                        _.autoPlay();\n                    }\n                }\n            }, 0);\n        });\n    };\n\n    $.fn.slick = function() {\n        var _ = this,\n            opt = arguments[0],\n            args = Array.prototype.slice.call(arguments, 1),\n            l = _.length,\n            i,\n            ret;\n        for (i = 0; i < l; i++) {\n            if (typeof opt == 'object' || typeof opt == 'undefined')\n                _[i].slick = new Slick(_[i], opt);\n            else\n                ret = _[i].slick[opt].apply(_[i].slick, args);\n            if (typeof ret != 'undefined') return ret;\n        }\n        return _;\n    };\n\n}));\n"
  },
  {
    "path": "public/vendor/content-builder/assets/simple/content.css",
    "content": "﻿@import url(\"http://fonts.googleapis.com/css?family=Open+Sans:300,600,800\");   \n\nbody {\n    margin:0;\n    font-family: \"Open Sans\", sans-serif;\n    font-size:100%; \n    line-height:1.7;\n}\n\n.container {\n    margin: 0 auto;\n    max-width: 970px;\n    width: 90%;\n}\n\na {color: #08c9b9;}\n\nimg {max-width:100%;}\n"
  },
  {
    "path": "public/vendor/content-builder/assets/simple/snippets.html",
    "content": "\r\n\r\n<div data-thumb=\"assets/simple/thumbnails/01.png\">\r\n    <div>\r\n        <h1>Heading 1 Text Goes Here</h1>\r\n        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p>\r\n    </div>\r\n</div>\r\n\r\n\r\n<div data-thumb=\"assets/simple/thumbnails/02.png\">\r\n    <div>\r\n        <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\r\n    </div>\r\n</div>\r\r\n\r\n<div data-thumb=\"assets/simple/thumbnails/03.png\">\r\n    <div>\r\n        <img src=\"https://www.captus-rnd.com/gwenael/content_builder/assets/simple/assets/simple/img-001.jpg\" alt=\"\">\r\n    </div>\r\n</div>\r\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/blank.html",
    "content": ""
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/LICENSE",
    "content": "MIT License\n\nCopyright (C) 2017 by Marijn Haverbeke <marijnh@gmail.com> and others\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/lib/codemirror.css",
    "content": "/* BASICS */\n\n.CodeMirror {\n  /* Set height, width, borders, and global font properties here */\n  font-family: monospace;\n  height: 300px;\n  color: black;\n  direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n  padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre {\n  padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n  background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n  border-right: 1px solid #ddd;\n  background-color: #f7f7f7;\n  white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n  padding: 0 3px 0 5px;\n  min-width: 20px;\n  text-align: right;\n  color: #999;\n  white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n  border-left: 1px solid black;\n  border-right: none;\n  width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n  border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n  width: auto;\n  border: 0 !important;\n  background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n  z-index: 1;\n}\n.cm-fat-cursor-mark {\n  background-color: rgba(20, 255, 20, 0.5);\n  -webkit-animation: blink 1.06s steps(1) infinite;\n  -moz-animation: blink 1.06s steps(1) infinite;\n  animation: blink 1.06s steps(1) infinite;\n}\n.cm-animate-fat-cursor {\n  width: auto;\n  border: 0;\n  -webkit-animation: blink 1.06s steps(1) infinite;\n  -moz-animation: blink 1.06s steps(1) infinite;\n  animation: blink 1.06s steps(1) infinite;\n  background-color: #7e7;\n}\n@-moz-keyframes blink {\n  0% {}\n  50% { background-color: transparent; }\n  100% {}\n}\n@-webkit-keyframes blink {\n  0% {}\n  50% { background-color: transparent; }\n  100% {}\n}\n@keyframes blink {\n  0% {}\n  50% { background-color: transparent; }\n  100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n  position: absolute;\n  left: 0; right: 0; top: -50px; bottom: -20px;\n  overflow: hidden;\n}\n.CodeMirror-ruler {\n  border-left: 1px solid #ccc;\n  top: 0; bottom: 0;\n  position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n   the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n  position: relative;\n  overflow: hidden;\n  background: white;\n}\n\n.CodeMirror-scroll {\n  overflow: scroll !important; /* Things will break if this is overridden */\n  /* 30px is the magic margin used to hide the element's real scrollbars */\n  /* See overflow: hidden in .CodeMirror */\n  margin-bottom: -30px; margin-right: -30px;\n  padding-bottom: 30px;\n  height: 100%;\n  outline: none; /* Prevent dragging from highlighting the element */\n  position: relative;\n}\n.CodeMirror-sizer {\n  position: relative;\n  border-right: 30px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n   before actual scrolling happens, thus preventing shaking and\n   flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n  position: absolute;\n  z-index: 6;\n  display: none;\n}\n.CodeMirror-vscrollbar {\n  right: 0; top: 0;\n  overflow-x: hidden;\n  overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n  bottom: 0; left: 0;\n  overflow-y: hidden;\n  overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n  right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n  left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n  position: absolute; left: 0; top: 0;\n  min-height: 100%;\n  z-index: 3;\n}\n.CodeMirror-gutter {\n  white-space: normal;\n  height: 100%;\n  display: inline-block;\n  vertical-align: top;\n  margin-bottom: -30px;\n}\n.CodeMirror-gutter-wrapper {\n  position: absolute;\n  z-index: 4;\n  background: none !important;\n  border: none !important;\n}\n.CodeMirror-gutter-background {\n  position: absolute;\n  top: 0; bottom: 0;\n  z-index: 4;\n}\n.CodeMirror-gutter-elt {\n  position: absolute;\n  cursor: default;\n  z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n  cursor: text;\n  min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre {\n  /* Reset some styles that the rest of the page might have set */\n  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n  border-width: 0;\n  background: transparent;\n  font-family: inherit;\n  font-size: inherit;\n  margin: 0;\n  white-space: pre;\n  word-wrap: normal;\n  line-height: inherit;\n  color: inherit;\n  z-index: 2;\n  position: relative;\n  overflow: visible;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-font-variant-ligatures: contextual;\n  font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre {\n  word-wrap: break-word;\n  white-space: pre-wrap;\n  word-break: normal;\n}\n\n.CodeMirror-linebackground {\n  position: absolute;\n  left: 0; right: 0; top: 0; bottom: 0;\n  z-index: 0;\n}\n\n.CodeMirror-linewidget {\n  position: relative;\n  z-index: 2;\n  padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n  outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n  position: absolute;\n  width: 100%;\n  height: 0;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.CodeMirror-cursor {\n  position: absolute;\n  pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n  visibility: hidden;\n  position: relative;\n  z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n  visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n  visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n  background-color: #ffa;\n  background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n  /* Hide the cursor when printing */\n  .CodeMirror div.CodeMirror-cursors {\n    visibility: hidden;\n  }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/lib/codemirror.js",
    "content": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n// This is CodeMirror (http://codemirror.net), a code editor\n// implemented in JavaScript on top of the browser's DOM.\n//\n// You can find some technical background for some of the code below\n// at http://marijnhaverbeke.nl/blog/#cm-internals .\n\n(function (global, factory) {\n  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n  typeof define === 'function' && define.amd ? define(factory) :\n  (global.CodeMirror = factory());\n}(this, (function () { 'use strict';\n\n// Kludges for bugs and behavior differences that can't be feature\n// detected are enabled based on userAgent etc sniffing.\nvar userAgent = navigator.userAgent\nvar platform = navigator.platform\n\nvar gecko = /gecko\\/\\d/i.test(userAgent)\nvar ie_upto10 = /MSIE \\d/.test(userAgent)\nvar ie_11up = /Trident\\/(?:[7-9]|\\d{2,})\\..*rv:(\\d+)/.exec(userAgent)\nvar edge = /Edge\\/(\\d+)/.exec(userAgent)\nvar ie = ie_upto10 || ie_11up || edge\nvar ie_version = ie && (ie_upto10 ? document.documentMode || 6 : +(edge || ie_11up)[1])\nvar webkit = !edge && /WebKit\\//.test(userAgent)\nvar qtwebkit = webkit && /Qt\\/\\d+\\.\\d+/.test(userAgent)\nvar chrome = !edge && /Chrome\\//.test(userAgent)\nvar presto = /Opera\\//.test(userAgent)\nvar safari = /Apple Computer/.test(navigator.vendor)\nvar mac_geMountainLion = /Mac OS X 1\\d\\D([8-9]|\\d\\d)\\D/.test(userAgent)\nvar phantom = /PhantomJS/.test(userAgent)\n\nvar ios = !edge && /AppleWebKit/.test(userAgent) && /Mobile\\/\\w+/.test(userAgent)\nvar android = /Android/.test(userAgent)\n// This is woefully incomplete. Suggestions for alternative methods welcome.\nvar mobile = ios || android || /webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(userAgent)\nvar mac = ios || /Mac/.test(platform)\nvar chromeOS = /\\bCrOS\\b/.test(userAgent)\nvar windows = /win/i.test(platform)\n\nvar presto_version = presto && userAgent.match(/Version\\/(\\d*\\.\\d*)/)\nif (presto_version) { presto_version = Number(presto_version[1]) }\nif (presto_version && presto_version >= 15) { presto = false; webkit = true }\n// Some browsers use the wrong event properties to signal cmd/ctrl on OS X\nvar flipCtrlCmd = mac && (qtwebkit || presto && (presto_version == null || presto_version < 12.11))\nvar captureRightClick = gecko || (ie && ie_version >= 9)\n\nfunction classTest(cls) { return new RegExp(\"(^|\\\\s)\" + cls + \"(?:$|\\\\s)\\\\s*\") }\n\nvar rmClass = function(node, cls) {\n  var current = node.className\n  var match = classTest(cls).exec(current)\n  if (match) {\n    var after = current.slice(match.index + match[0].length)\n    node.className = current.slice(0, match.index) + (after ? match[1] + after : \"\")\n  }\n}\n\nfunction removeChildren(e) {\n  for (var count = e.childNodes.length; count > 0; --count)\n    { e.removeChild(e.firstChild) }\n  return e\n}\n\nfunction removeChildrenAndAdd(parent, e) {\n  return removeChildren(parent).appendChild(e)\n}\n\nfunction elt(tag, content, className, style) {\n  var e = document.createElement(tag)\n  if (className) { e.className = className }\n  if (style) { e.style.cssText = style }\n  if (typeof content == \"string\") { e.appendChild(document.createTextNode(content)) }\n  else if (content) { for (var i = 0; i < content.length; ++i) { e.appendChild(content[i]) } }\n  return e\n}\n// wrapper for elt, which removes the elt from the accessibility tree\nfunction eltP(tag, content, className, style) {\n  var e = elt(tag, content, className, style)\n  e.setAttribute(\"role\", \"presentation\")\n  return e\n}\n\nvar range\nif (document.createRange) { range = function(node, start, end, endNode) {\n  var r = document.createRange()\n  r.setEnd(endNode || node, end)\n  r.setStart(node, start)\n  return r\n} }\nelse { range = function(node, start, end) {\n  var r = document.body.createTextRange()\n  try { r.moveToElementText(node.parentNode) }\n  catch(e) { return r }\n  r.collapse(true)\n  r.moveEnd(\"character\", end)\n  r.moveStart(\"character\", start)\n  return r\n} }\n\nfunction contains(parent, child) {\n  if (child.nodeType == 3) // Android browser always returns false when child is a textnode\n    { child = child.parentNode }\n  if (parent.contains)\n    { return parent.contains(child) }\n  do {\n    if (child.nodeType == 11) { child = child.host }\n    if (child == parent) { return true }\n  } while (child = child.parentNode)\n}\n\nfunction activeElt() {\n  // IE and Edge may throw an \"Unspecified Error\" when accessing document.activeElement.\n  // IE < 10 will throw when accessed while the page is loading or in an iframe.\n  // IE > 9 and Edge will throw when accessed in an iframe if document.body is unavailable.\n  var activeElement\n  try {\n    activeElement = document.activeElement\n  } catch(e) {\n    activeElement = document.body || null\n  }\n  while (activeElement && activeElement.shadowRoot && activeElement.shadowRoot.activeElement)\n    { activeElement = activeElement.shadowRoot.activeElement }\n  return activeElement\n}\n\nfunction addClass(node, cls) {\n  var current = node.className\n  if (!classTest(cls).test(current)) { node.className += (current ? \" \" : \"\") + cls }\n}\nfunction joinClasses(a, b) {\n  var as = a.split(\" \")\n  for (var i = 0; i < as.length; i++)\n    { if (as[i] && !classTest(as[i]).test(b)) { b += \" \" + as[i] } }\n  return b\n}\n\nvar selectInput = function(node) { node.select() }\nif (ios) // Mobile Safari apparently has a bug where select() is broken.\n  { selectInput = function(node) { node.selectionStart = 0; node.selectionEnd = node.value.length } }\nelse if (ie) // Suppress mysterious IE10 errors\n  { selectInput = function(node) { try { node.select() } catch(_e) {} } }\n\nfunction bind(f) {\n  var args = Array.prototype.slice.call(arguments, 1)\n  return function(){return f.apply(null, args)}\n}\n\nfunction copyObj(obj, target, overwrite) {\n  if (!target) { target = {} }\n  for (var prop in obj)\n    { if (obj.hasOwnProperty(prop) && (overwrite !== false || !target.hasOwnProperty(prop)))\n      { target[prop] = obj[prop] } }\n  return target\n}\n\n// Counts the column offset in a string, taking tabs into account.\n// Used mostly to find indentation.\nfunction countColumn(string, end, tabSize, startIndex, startValue) {\n  if (end == null) {\n    end = string.search(/[^\\s\\u00a0]/)\n    if (end == -1) { end = string.length }\n  }\n  for (var i = startIndex || 0, n = startValue || 0;;) {\n    var nextTab = string.indexOf(\"\\t\", i)\n    if (nextTab < 0 || nextTab >= end)\n      { return n + (end - i) }\n    n += nextTab - i\n    n += tabSize - (n % tabSize)\n    i = nextTab + 1\n  }\n}\n\nvar Delayed = function() {this.id = null};\nDelayed.prototype.set = function (ms, f) {\n  clearTimeout(this.id)\n  this.id = setTimeout(f, ms)\n};\n\nfunction indexOf(array, elt) {\n  for (var i = 0; i < array.length; ++i)\n    { if (array[i] == elt) { return i } }\n  return -1\n}\n\n// Number of pixels added to scroller and sizer to hide scrollbar\nvar scrollerGap = 30\n\n// Returned or thrown by various protocols to signal 'I'm not\n// handling this'.\nvar Pass = {toString: function(){return \"CodeMirror.Pass\"}}\n\n// Reused option objects for setSelection & friends\nvar sel_dontScroll = {scroll: false};\nvar sel_mouse = {origin: \"*mouse\"};\nvar sel_move = {origin: \"+move\"};\n// The inverse of countColumn -- find the offset that corresponds to\n// a particular column.\nfunction findColumn(string, goal, tabSize) {\n  for (var pos = 0, col = 0;;) {\n    var nextTab = string.indexOf(\"\\t\", pos)\n    if (nextTab == -1) { nextTab = string.length }\n    var skipped = nextTab - pos\n    if (nextTab == string.length || col + skipped >= goal)\n      { return pos + Math.min(skipped, goal - col) }\n    col += nextTab - pos\n    col += tabSize - (col % tabSize)\n    pos = nextTab + 1\n    if (col >= goal) { return pos }\n  }\n}\n\nvar spaceStrs = [\"\"]\nfunction spaceStr(n) {\n  while (spaceStrs.length <= n)\n    { spaceStrs.push(lst(spaceStrs) + \" \") }\n  return spaceStrs[n]\n}\n\nfunction lst(arr) { return arr[arr.length-1] }\n\nfunction map(array, f) {\n  var out = []\n  for (var i = 0; i < array.length; i++) { out[i] = f(array[i], i) }\n  return out\n}\n\nfunction insertSorted(array, value, score) {\n  var pos = 0, priority = score(value)\n  while (pos < array.length && score(array[pos]) <= priority) { pos++ }\n  array.splice(pos, 0, value)\n}\n\nfunction nothing() {}\n\nfunction createObj(base, props) {\n  var inst\n  if (Object.create) {\n    inst = Object.create(base)\n  } else {\n    nothing.prototype = base\n    inst = new nothing()\n  }\n  if (props) { copyObj(props, inst) }\n  return inst\n}\n\nvar nonASCIISingleCaseWordChar = /[\\u00df\\u0587\\u0590-\\u05f4\\u0600-\\u06ff\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\uac00-\\ud7af]/\nfunction isWordCharBasic(ch) {\n  return /\\w/.test(ch) || ch > \"\\x80\" &&\n    (ch.toUpperCase() != ch.toLowerCase() || nonASCIISingleCaseWordChar.test(ch))\n}\nfunction isWordChar(ch, helper) {\n  if (!helper) { return isWordCharBasic(ch) }\n  if (helper.source.indexOf(\"\\\\w\") > -1 && isWordCharBasic(ch)) { return true }\n  return helper.test(ch)\n}\n\nfunction isEmpty(obj) {\n  for (var n in obj) { if (obj.hasOwnProperty(n) && obj[n]) { return false } }\n  return true\n}\n\n// Extending unicode characters. A series of a non-extending char +\n// any number of extending chars is treated as a single unit as far\n// as editing and measuring is concerned. This is not fully correct,\n// since some scripts/fonts/browsers also treat other configurations\n// of code points as a group.\nvar extendingChars = /[\\u0300-\\u036f\\u0483-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065e\\u0670\\u06d6-\\u06dc\\u06de-\\u06e4\\u06e7\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0900-\\u0902\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0955\\u0962\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2\\u09e3\\u0a01\\u0a02\\u0a3c\\u0a41\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70\\u0a71\\u0a75\\u0a81\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7\\u0ac8\\u0acd\\u0ae2\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62\\u0c63\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc\\u0ccd\\u0cd5\\u0cd6\\u0ce2\\u0ce3\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb\\u0ebc\\u0ec8-\\u0ecd\\u0f18\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86\\u0f87\\u0f90-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039\\u103a\\u103d\\u103e\\u1058\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085\\u1086\\u108d\\u109d\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752\\u1753\\u1772\\u1773\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927\\u1928\\u1932\\u1939-\\u193b\\u1a17\\u1a18\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80\\u1b81\\u1ba2-\\u1ba5\\u1ba8\\u1ba9\\u1c2c-\\u1c33\\u1c36\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1dc0-\\u1de6\\u1dfd-\\u1dff\\u200c\\u200d\\u20d0-\\u20f0\\u2cef-\\u2cf1\\u2de0-\\u2dff\\u302a-\\u302f\\u3099\\u309a\\ua66f-\\ua672\\ua67c\\ua67d\\ua6f0\\ua6f1\\ua802\\ua806\\ua80b\\ua825\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\uaa29-\\uaa2e\\uaa31\\uaa32\\uaa35\\uaa36\\uaa43\\uaa4c\\uaab0\\uaab2-\\uaab4\\uaab7\\uaab8\\uaabe\\uaabf\\uaac1\\uabe5\\uabe8\\uabed\\udc00-\\udfff\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe26\\uff9e\\uff9f]/\nfunction isExtendingChar(ch) { return ch.charCodeAt(0) >= 768 && extendingChars.test(ch) }\n\n// Returns a number from the range [`0`; `str.length`] unless `pos` is outside that range.\nfunction skipExtendingChars(str, pos, dir) {\n  while ((dir < 0 ? pos > 0 : pos < str.length) && isExtendingChar(str.charAt(pos))) { pos += dir }\n  return pos\n}\n\n// Returns the value from the range [`from`; `to`] that satisfies\n// `pred` and is closest to `from`. Assumes that at least `to`\n// satisfies `pred`. Supports `from` being greater than `to`.\nfunction findFirst(pred, from, to) {\n  // At any point we are certain `to` satisfies `pred`, don't know\n  // whether `from` does.\n  var dir = from > to ? -1 : 1\n  for (;;) {\n    if (from == to) { return from }\n    var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF)\n    if (mid == from) { return pred(mid) ? from : to }\n    if (pred(mid)) { to = mid }\n    else { from = mid + dir }\n  }\n}\n\n// The display handles the DOM integration, both for input reading\n// and content drawing. It holds references to DOM nodes and\n// display-related state.\n\nfunction Display(place, doc, input) {\n  var d = this\n  this.input = input\n\n  // Covers bottom-right square when both scrollbars are present.\n  d.scrollbarFiller = elt(\"div\", null, \"CodeMirror-scrollbar-filler\")\n  d.scrollbarFiller.setAttribute(\"cm-not-content\", \"true\")\n  // Covers bottom of gutter when coverGutterNextToScrollbar is on\n  // and h scrollbar is present.\n  d.gutterFiller = elt(\"div\", null, \"CodeMirror-gutter-filler\")\n  d.gutterFiller.setAttribute(\"cm-not-content\", \"true\")\n  // Will contain the actual code, positioned to cover the viewport.\n  d.lineDiv = eltP(\"div\", null, \"CodeMirror-code\")\n  // Elements are added to these to represent selection and cursors.\n  d.selectionDiv = elt(\"div\", null, null, \"position: relative; z-index: 1\")\n  d.cursorDiv = elt(\"div\", null, \"CodeMirror-cursors\")\n  // A visibility: hidden element used to find the size of things.\n  d.measure = elt(\"div\", null, \"CodeMirror-measure\")\n  // When lines outside of the viewport are measured, they are drawn in this.\n  d.lineMeasure = elt(\"div\", null, \"CodeMirror-measure\")\n  // Wraps everything that needs to exist inside the vertically-padded coordinate system\n  d.lineSpace = eltP(\"div\", [d.measure, d.lineMeasure, d.selectionDiv, d.cursorDiv, d.lineDiv],\n                    null, \"position: relative; outline: none\")\n  var lines = eltP(\"div\", [d.lineSpace], \"CodeMirror-lines\")\n  // Moved around its parent to cover visible view.\n  d.mover = elt(\"div\", [lines], null, \"position: relative\")\n  // Set to the height of the document, allowing scrolling.\n  d.sizer = elt(\"div\", [d.mover], \"CodeMirror-sizer\")\n  d.sizerWidth = null\n  // Behavior of elts with overflow: auto and padding is\n  // inconsistent across browsers. This is used to ensure the\n  // scrollable area is big enough.\n  d.heightForcer = elt(\"div\", null, null, \"position: absolute; height: \" + scrollerGap + \"px; width: 1px;\")\n  // Will contain the gutters, if any.\n  d.gutters = elt(\"div\", null, \"CodeMirror-gutters\")\n  d.lineGutter = null\n  // Actual scrollable element.\n  d.scroller = elt(\"div\", [d.sizer, d.heightForcer, d.gutters], \"CodeMirror-scroll\")\n  d.scroller.setAttribute(\"tabIndex\", \"-1\")\n  // The element in which the editor lives.\n  d.wrapper = elt(\"div\", [d.scrollbarFiller, d.gutterFiller, d.scroller], \"CodeMirror\")\n\n  // Work around IE7 z-index bug (not perfect, hence IE7 not really being supported)\n  if (ie && ie_version < 8) { d.gutters.style.zIndex = -1; d.scroller.style.paddingRight = 0 }\n  if (!webkit && !(gecko && mobile)) { d.scroller.draggable = true }\n\n  if (place) {\n    if (place.appendChild) { place.appendChild(d.wrapper) }\n    else { place(d.wrapper) }\n  }\n\n  // Current rendered range (may be bigger than the view window).\n  d.viewFrom = d.viewTo = doc.first\n  d.reportedViewFrom = d.reportedViewTo = doc.first\n  // Information about the rendered lines.\n  d.view = []\n  d.renderedView = null\n  // Holds info about a single rendered line when it was rendered\n  // for measurement, while not in view.\n  d.externalMeasured = null\n  // Empty space (in pixels) above the view\n  d.viewOffset = 0\n  d.lastWrapHeight = d.lastWrapWidth = 0\n  d.updateLineNumbers = null\n\n  d.nativeBarWidth = d.barHeight = d.barWidth = 0\n  d.scrollbarsClipped = false\n\n  // Used to only resize the line number gutter when necessary (when\n  // the amount of lines crosses a boundary that makes its width change)\n  d.lineNumWidth = d.lineNumInnerWidth = d.lineNumChars = null\n  // Set to true when a non-horizontal-scrolling line widget is\n  // added. As an optimization, line widget aligning is skipped when\n  // this is false.\n  d.alignWidgets = false\n\n  d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null\n\n  // Tracks the maximum line length so that the horizontal scrollbar\n  // can be kept static when scrolling.\n  d.maxLine = null\n  d.maxLineLength = 0\n  d.maxLineChanged = false\n\n  // Used for measuring wheel scrolling granularity\n  d.wheelDX = d.wheelDY = d.wheelStartX = d.wheelStartY = null\n\n  // True when shift is held down.\n  d.shift = false\n\n  // Used to track whether anything happened since the context menu\n  // was opened.\n  d.selForContextMenu = null\n\n  d.activeTouch = null\n\n  input.init(d)\n}\n\n// Find the line object corresponding to the given line number.\nfunction getLine(doc, n) {\n  n -= doc.first\n  if (n < 0 || n >= doc.size) { throw new Error(\"There is no line \" + (n + doc.first) + \" in the document.\") }\n  var chunk = doc\n  while (!chunk.lines) {\n    for (var i = 0;; ++i) {\n      var child = chunk.children[i], sz = child.chunkSize()\n      if (n < sz) { chunk = child; break }\n      n -= sz\n    }\n  }\n  return chunk.lines[n]\n}\n\n// Get the part of a document between two positions, as an array of\n// strings.\nfunction getBetween(doc, start, end) {\n  var out = [], n = start.line\n  doc.iter(start.line, end.line + 1, function (line) {\n    var text = line.text\n    if (n == end.line) { text = text.slice(0, end.ch) }\n    if (n == start.line) { text = text.slice(start.ch) }\n    out.push(text)\n    ++n\n  })\n  return out\n}\n// Get the lines between from and to, as array of strings.\nfunction getLines(doc, from, to) {\n  var out = []\n  doc.iter(from, to, function (line) { out.push(line.text) }) // iter aborts when callback returns truthy value\n  return out\n}\n\n// Update the height of a line, propagating the height change\n// upwards to parent nodes.\nfunction updateLineHeight(line, height) {\n  var diff = height - line.height\n  if (diff) { for (var n = line; n; n = n.parent) { n.height += diff } }\n}\n\n// Given a line object, find its line number by walking up through\n// its parent links.\nfunction lineNo(line) {\n  if (line.parent == null) { return null }\n  var cur = line.parent, no = indexOf(cur.lines, line)\n  for (var chunk = cur.parent; chunk; cur = chunk, chunk = chunk.parent) {\n    for (var i = 0;; ++i) {\n      if (chunk.children[i] == cur) { break }\n      no += chunk.children[i].chunkSize()\n    }\n  }\n  return no + cur.first\n}\n\n// Find the line at the given vertical position, using the height\n// information in the document tree.\nfunction lineAtHeight(chunk, h) {\n  var n = chunk.first\n  outer: do {\n    for (var i$1 = 0; i$1 < chunk.children.length; ++i$1) {\n      var child = chunk.children[i$1], ch = child.height\n      if (h < ch) { chunk = child; continue outer }\n      h -= ch\n      n += child.chunkSize()\n    }\n    return n\n  } while (!chunk.lines)\n  var i = 0\n  for (; i < chunk.lines.length; ++i) {\n    var line = chunk.lines[i], lh = line.height\n    if (h < lh) { break }\n    h -= lh\n  }\n  return n + i\n}\n\nfunction isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size}\n\nfunction lineNumberFor(options, i) {\n  return String(options.lineNumberFormatter(i + options.firstLineNumber))\n}\n\n// A Pos instance represents a position within the text.\nfunction Pos(line, ch, sticky) {\n  if ( sticky === void 0 ) sticky = null;\n\n  if (!(this instanceof Pos)) { return new Pos(line, ch, sticky) }\n  this.line = line\n  this.ch = ch\n  this.sticky = sticky\n}\n\n// Compare two positions, return 0 if they are the same, a negative\n// number when a is less, and a positive number otherwise.\nfunction cmp(a, b) { return a.line - b.line || a.ch - b.ch }\n\nfunction equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b) == 0 }\n\nfunction copyPos(x) {return Pos(x.line, x.ch)}\nfunction maxPos(a, b) { return cmp(a, b) < 0 ? b : a }\nfunction minPos(a, b) { return cmp(a, b) < 0 ? a : b }\n\n// Most of the external API clips given positions to make sure they\n// actually exist within the document.\nfunction clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.first + doc.size - 1))}\nfunction clipPos(doc, pos) {\n  if (pos.line < doc.first) { return Pos(doc.first, 0) }\n  var last = doc.first + doc.size - 1\n  if (pos.line > last) { return Pos(last, getLine(doc, last).text.length) }\n  return clipToLen(pos, getLine(doc, pos.line).text.length)\n}\nfunction clipToLen(pos, linelen) {\n  var ch = pos.ch\n  if (ch == null || ch > linelen) { return Pos(pos.line, linelen) }\n  else if (ch < 0) { return Pos(pos.line, 0) }\n  else { return pos }\n}\nfunction clipPosArray(doc, array) {\n  var out = []\n  for (var i = 0; i < array.length; i++) { out[i] = clipPos(doc, array[i]) }\n  return out\n}\n\n// Optimize some code when these features are not used.\nvar sawReadOnlySpans = false;\nvar sawCollapsedSpans = false;\nfunction seeReadOnlySpans() {\n  sawReadOnlySpans = true\n}\n\nfunction seeCollapsedSpans() {\n  sawCollapsedSpans = true\n}\n\n// TEXTMARKER SPANS\n\nfunction MarkedSpan(marker, from, to) {\n  this.marker = marker\n  this.from = from; this.to = to\n}\n\n// Search an array of spans for a span matching the given marker.\nfunction getMarkedSpanFor(spans, marker) {\n  if (spans) { for (var i = 0; i < spans.length; ++i) {\n    var span = spans[i]\n    if (span.marker == marker) { return span }\n  } }\n}\n// Remove a span from an array, returning undefined if no spans are\n// left (we don't store arrays for lines without spans).\nfunction removeMarkedSpan(spans, span) {\n  var r\n  for (var i = 0; i < spans.length; ++i)\n    { if (spans[i] != span) { (r || (r = [])).push(spans[i]) } }\n  return r\n}\n// Add a span to a line.\nfunction addMarkedSpan(line, span) {\n  line.markedSpans = line.markedSpans ? line.markedSpans.concat([span]) : [span]\n  span.marker.attachLine(line)\n}\n\n// Used for the algorithm that adjusts markers for a change in the\n// document. These functions cut an array of spans at a given\n// character position, returning an array of remaining chunks (or\n// undefined if nothing remains).\nfunction markedSpansBefore(old, startCh, isInsert) {\n  var nw\n  if (old) { for (var i = 0; i < old.length; ++i) {\n    var span = old[i], marker = span.marker\n    var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= startCh : span.from < startCh)\n    if (startsBefore || span.from == startCh && marker.type == \"bookmark\" && (!isInsert || !span.marker.insertLeft)) {\n      var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= startCh : span.to > startCh)\n      ;(nw || (nw = [])).push(new MarkedSpan(marker, span.from, endsAfter ? null : span.to))\n    }\n  } }\n  return nw\n}\nfunction markedSpansAfter(old, endCh, isInsert) {\n  var nw\n  if (old) { for (var i = 0; i < old.length; ++i) {\n    var span = old[i], marker = span.marker\n    var endsAfter = span.to == null || (marker.inclusiveRight ? span.to >= endCh : span.to > endCh)\n    if (endsAfter || span.from == endCh && marker.type == \"bookmark\" && (!isInsert || span.marker.insertLeft)) {\n      var startsBefore = span.from == null || (marker.inclusiveLeft ? span.from <= endCh : span.from < endCh)\n      ;(nw || (nw = [])).push(new MarkedSpan(marker, startsBefore ? null : span.from - endCh,\n                                            span.to == null ? null : span.to - endCh))\n    }\n  } }\n  return nw\n}\n\n// Given a change object, compute the new set of marker spans that\n// cover the line in which the change took place. Removes spans\n// entirely within the change, reconnects spans belonging to the\n// same marker that appear on both sides of the change, and cuts off\n// spans partially within the change. Returns an array of span\n// arrays with one element for each line in (after) the change.\nfunction stretchSpansOverChange(doc, change) {\n  if (change.full) { return null }\n  var oldFirst = isLine(doc, change.from.line) && getLine(doc, change.from.line).markedSpans\n  var oldLast = isLine(doc, change.to.line) && getLine(doc, change.to.line).markedSpans\n  if (!oldFirst && !oldLast) { return null }\n\n  var startCh = change.from.ch, endCh = change.to.ch, isInsert = cmp(change.from, change.to) == 0\n  // Get the spans that 'stick out' on both sides\n  var first = markedSpansBefore(oldFirst, startCh, isInsert)\n  var last = markedSpansAfter(oldLast, endCh, isInsert)\n\n  // Next, merge those two ends\n  var sameLine = change.text.length == 1, offset = lst(change.text).length + (sameLine ? startCh : 0)\n  if (first) {\n    // Fix up .to properties of first\n    for (var i = 0; i < first.length; ++i) {\n      var span = first[i]\n      if (span.to == null) {\n        var found = getMarkedSpanFor(last, span.marker)\n        if (!found) { span.to = startCh }\n        else if (sameLine) { span.to = found.to == null ? null : found.to + offset }\n      }\n    }\n  }\n  if (last) {\n    // Fix up .from in last (or move them into first in case of sameLine)\n    for (var i$1 = 0; i$1 < last.length; ++i$1) {\n      var span$1 = last[i$1]\n      if (span$1.to != null) { span$1.to += offset }\n      if (span$1.from == null) {\n        var found$1 = getMarkedSpanFor(first, span$1.marker)\n        if (!found$1) {\n          span$1.from = offset\n          if (sameLine) { (first || (first = [])).push(span$1) }\n        }\n      } else {\n        span$1.from += offset\n        if (sameLine) { (first || (first = [])).push(span$1) }\n      }\n    }\n  }\n  // Make sure we didn't create any zero-length spans\n  if (first) { first = clearEmptySpans(first) }\n  if (last && last != first) { last = clearEmptySpans(last) }\n\n  var newMarkers = [first]\n  if (!sameLine) {\n    // Fill gap with whole-line-spans\n    var gap = change.text.length - 2, gapMarkers\n    if (gap > 0 && first)\n      { for (var i$2 = 0; i$2 < first.length; ++i$2)\n        { if (first[i$2].to == null)\n          { (gapMarkers || (gapMarkers = [])).push(new MarkedSpan(first[i$2].marker, null, null)) } } }\n    for (var i$3 = 0; i$3 < gap; ++i$3)\n      { newMarkers.push(gapMarkers) }\n    newMarkers.push(last)\n  }\n  return newMarkers\n}\n\n// Remove spans that are empty and don't have a clearWhenEmpty\n// option of false.\nfunction clearEmptySpans(spans) {\n  for (var i = 0; i < spans.length; ++i) {\n    var span = spans[i]\n    if (span.from != null && span.from == span.to && span.marker.clearWhenEmpty !== false)\n      { spans.splice(i--, 1) }\n  }\n  if (!spans.length) { return null }\n  return spans\n}\n\n// Used to 'clip' out readOnly ranges when making a change.\nfunction removeReadOnlyRanges(doc, from, to) {\n  var markers = null\n  doc.iter(from.line, to.line + 1, function (line) {\n    if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n      var mark = line.markedSpans[i].marker\n      if (mark.readOnly && (!markers || indexOf(markers, mark) == -1))\n        { (markers || (markers = [])).push(mark) }\n    } }\n  })\n  if (!markers) { return null }\n  var parts = [{from: from, to: to}]\n  for (var i = 0; i < markers.length; ++i) {\n    var mk = markers[i], m = mk.find(0)\n    for (var j = 0; j < parts.length; ++j) {\n      var p = parts[j]\n      if (cmp(p.to, m.from) < 0 || cmp(p.from, m.to) > 0) { continue }\n      var newParts = [j, 1], dfrom = cmp(p.from, m.from), dto = cmp(p.to, m.to)\n      if (dfrom < 0 || !mk.inclusiveLeft && !dfrom)\n        { newParts.push({from: p.from, to: m.from}) }\n      if (dto > 0 || !mk.inclusiveRight && !dto)\n        { newParts.push({from: m.to, to: p.to}) }\n      parts.splice.apply(parts, newParts)\n      j += newParts.length - 3\n    }\n  }\n  return parts\n}\n\n// Connect or disconnect spans from a line.\nfunction detachMarkedSpans(line) {\n  var spans = line.markedSpans\n  if (!spans) { return }\n  for (var i = 0; i < spans.length; ++i)\n    { spans[i].marker.detachLine(line) }\n  line.markedSpans = null\n}\nfunction attachMarkedSpans(line, spans) {\n  if (!spans) { return }\n  for (var i = 0; i < spans.length; ++i)\n    { spans[i].marker.attachLine(line) }\n  line.markedSpans = spans\n}\n\n// Helpers used when computing which overlapping collapsed span\n// counts as the larger one.\nfunction extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 }\nfunction extraRight(marker) { return marker.inclusiveRight ? 1 : 0 }\n\n// Returns a number indicating which of two overlapping collapsed\n// spans is larger (and thus includes the other). Falls back to\n// comparing ids when the spans cover exactly the same range.\nfunction compareCollapsedMarkers(a, b) {\n  var lenDiff = a.lines.length - b.lines.length\n  if (lenDiff != 0) { return lenDiff }\n  var aPos = a.find(), bPos = b.find()\n  var fromCmp = cmp(aPos.from, bPos.from) || extraLeft(a) - extraLeft(b)\n  if (fromCmp) { return -fromCmp }\n  var toCmp = cmp(aPos.to, bPos.to) || extraRight(a) - extraRight(b)\n  if (toCmp) { return toCmp }\n  return b.id - a.id\n}\n\n// Find out whether a line ends or starts in a collapsed span. If\n// so, return the marker for that span.\nfunction collapsedSpanAtSide(line, start) {\n  var sps = sawCollapsedSpans && line.markedSpans, found\n  if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n    sp = sps[i]\n    if (sp.marker.collapsed && (start ? sp.from : sp.to) == null &&\n        (!found || compareCollapsedMarkers(found, sp.marker) < 0))\n      { found = sp.marker }\n  } }\n  return found\n}\nfunction collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, true) }\nfunction collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, false) }\n\nfunction collapsedSpanAround(line, ch) {\n  var sps = sawCollapsedSpans && line.markedSpans, found\n  if (sps) { for (var i = 0; i < sps.length; ++i) {\n    var sp = sps[i]\n    if (sp.marker.collapsed && (sp.from == null || sp.from < ch) && (sp.to == null || sp.to > ch) &&\n        (!found || compareCollapsedMarkers(found, sp.marker) < 0)) { found = sp.marker }\n  } }\n  return found\n}\n\n// Test whether there exists a collapsed span that partially\n// overlaps (covers the start or end, but not both) of a new span.\n// Such overlap is not allowed.\nfunction conflictingCollapsedRange(doc, lineNo, from, to, marker) {\n  var line = getLine(doc, lineNo)\n  var sps = sawCollapsedSpans && line.markedSpans\n  if (sps) { for (var i = 0; i < sps.length; ++i) {\n    var sp = sps[i]\n    if (!sp.marker.collapsed) { continue }\n    var found = sp.marker.find(0)\n    var fromCmp = cmp(found.from, from) || extraLeft(sp.marker) - extraLeft(marker)\n    var toCmp = cmp(found.to, to) || extraRight(sp.marker) - extraRight(marker)\n    if (fromCmp >= 0 && toCmp <= 0 || fromCmp <= 0 && toCmp >= 0) { continue }\n    if (fromCmp <= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.to, from) >= 0 : cmp(found.to, from) > 0) ||\n        fromCmp >= 0 && (sp.marker.inclusiveRight && marker.inclusiveLeft ? cmp(found.from, to) <= 0 : cmp(found.from, to) < 0))\n      { return true }\n  } }\n}\n\n// A visual line is a line as drawn on the screen. Folding, for\n// example, can cause multiple logical lines to appear on the same\n// visual line. This finds the start of the visual line that the\n// given line is part of (usually that is the line itself).\nfunction visualLine(line) {\n  var merged\n  while (merged = collapsedSpanAtStart(line))\n    { line = merged.find(-1, true).line }\n  return line\n}\n\nfunction visualLineEnd(line) {\n  var merged\n  while (merged = collapsedSpanAtEnd(line))\n    { line = merged.find(1, true).line }\n  return line\n}\n\n// Returns an array of logical lines that continue the visual line\n// started by the argument, or undefined if there are no such lines.\nfunction visualLineContinued(line) {\n  var merged, lines\n  while (merged = collapsedSpanAtEnd(line)) {\n    line = merged.find(1, true).line\n    ;(lines || (lines = [])).push(line)\n  }\n  return lines\n}\n\n// Get the line number of the start of the visual line that the\n// given line number is part of.\nfunction visualLineNo(doc, lineN) {\n  var line = getLine(doc, lineN), vis = visualLine(line)\n  if (line == vis) { return lineN }\n  return lineNo(vis)\n}\n\n// Get the line number of the start of the next visual line after\n// the given line.\nfunction visualLineEndNo(doc, lineN) {\n  if (lineN > doc.lastLine()) { return lineN }\n  var line = getLine(doc, lineN), merged\n  if (!lineIsHidden(doc, line)) { return lineN }\n  while (merged = collapsedSpanAtEnd(line))\n    { line = merged.find(1, true).line }\n  return lineNo(line) + 1\n}\n\n// Compute whether a line is hidden. Lines count as hidden when they\n// are part of a visual line that starts with another line, or when\n// they are entirely covered by collapsed, non-widget span.\nfunction lineIsHidden(doc, line) {\n  var sps = sawCollapsedSpans && line.markedSpans\n  if (sps) { for (var sp = (void 0), i = 0; i < sps.length; ++i) {\n    sp = sps[i]\n    if (!sp.marker.collapsed) { continue }\n    if (sp.from == null) { return true }\n    if (sp.marker.widgetNode) { continue }\n    if (sp.from == 0 && sp.marker.inclusiveLeft && lineIsHiddenInner(doc, line, sp))\n      { return true }\n  } }\n}\nfunction lineIsHiddenInner(doc, line, span) {\n  if (span.to == null) {\n    var end = span.marker.find(1, true)\n    return lineIsHiddenInner(doc, end.line, getMarkedSpanFor(end.line.markedSpans, span.marker))\n  }\n  if (span.marker.inclusiveRight && span.to == line.text.length)\n    { return true }\n  for (var sp = (void 0), i = 0; i < line.markedSpans.length; ++i) {\n    sp = line.markedSpans[i]\n    if (sp.marker.collapsed && !sp.marker.widgetNode && sp.from == span.to &&\n        (sp.to == null || sp.to != span.from) &&\n        (sp.marker.inclusiveLeft || span.marker.inclusiveRight) &&\n        lineIsHiddenInner(doc, line, sp)) { return true }\n  }\n}\n\n// Find the height above the given line.\nfunction heightAtLine(lineObj) {\n  lineObj = visualLine(lineObj)\n\n  var h = 0, chunk = lineObj.parent\n  for (var i = 0; i < chunk.lines.length; ++i) {\n    var line = chunk.lines[i]\n    if (line == lineObj) { break }\n    else { h += line.height }\n  }\n  for (var p = chunk.parent; p; chunk = p, p = chunk.parent) {\n    for (var i$1 = 0; i$1 < p.children.length; ++i$1) {\n      var cur = p.children[i$1]\n      if (cur == chunk) { break }\n      else { h += cur.height }\n    }\n  }\n  return h\n}\n\n// Compute the character length of a line, taking into account\n// collapsed ranges (see markText) that might hide parts, and join\n// other lines onto it.\nfunction lineLength(line) {\n  if (line.height == 0) { return 0 }\n  var len = line.text.length, merged, cur = line\n  while (merged = collapsedSpanAtStart(cur)) {\n    var found = merged.find(0, true)\n    cur = found.from.line\n    len += found.from.ch - found.to.ch\n  }\n  cur = line\n  while (merged = collapsedSpanAtEnd(cur)) {\n    var found$1 = merged.find(0, true)\n    len -= cur.text.length - found$1.from.ch\n    cur = found$1.to.line\n    len += cur.text.length - found$1.to.ch\n  }\n  return len\n}\n\n// Find the longest line in the document.\nfunction findMaxLine(cm) {\n  var d = cm.display, doc = cm.doc\n  d.maxLine = getLine(doc, doc.first)\n  d.maxLineLength = lineLength(d.maxLine)\n  d.maxLineChanged = true\n  doc.iter(function (line) {\n    var len = lineLength(line)\n    if (len > d.maxLineLength) {\n      d.maxLineLength = len\n      d.maxLine = line\n    }\n  })\n}\n\n// BIDI HELPERS\n\nfunction iterateBidiSections(order, from, to, f) {\n  if (!order) { return f(from, to, \"ltr\", 0) }\n  var found = false\n  for (var i = 0; i < order.length; ++i) {\n    var part = order[i]\n    if (part.from < to && part.to > from || from == to && part.to == from) {\n      f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? \"rtl\" : \"ltr\", i)\n      found = true\n    }\n  }\n  if (!found) { f(from, to, \"ltr\") }\n}\n\nvar bidiOther = null\nfunction getBidiPartAt(order, ch, sticky) {\n  var found\n  bidiOther = null\n  for (var i = 0; i < order.length; ++i) {\n    var cur = order[i]\n    if (cur.from < ch && cur.to > ch) { return i }\n    if (cur.to == ch) {\n      if (cur.from != cur.to && sticky == \"before\") { found = i }\n      else { bidiOther = i }\n    }\n    if (cur.from == ch) {\n      if (cur.from != cur.to && sticky != \"before\") { found = i }\n      else { bidiOther = i }\n    }\n  }\n  return found != null ? found : bidiOther\n}\n\n// Bidirectional ordering algorithm\n// See http://unicode.org/reports/tr9/tr9-13.html for the algorithm\n// that this (partially) implements.\n\n// One-char codes used for character types:\n// L (L):   Left-to-Right\n// R (R):   Right-to-Left\n// r (AL):  Right-to-Left Arabic\n// 1 (EN):  European Number\n// + (ES):  European Number Separator\n// % (ET):  European Number Terminator\n// n (AN):  Arabic Number\n// , (CS):  Common Number Separator\n// m (NSM): Non-Spacing Mark\n// b (BN):  Boundary Neutral\n// s (B):   Paragraph Separator\n// t (S):   Segment Separator\n// w (WS):  Whitespace\n// N (ON):  Other Neutrals\n\n// Returns null if characters are ordered as they appear\n// (left-to-right), or an array of sections ({from, to, level}\n// objects) in the order in which they occur visually.\nvar bidiOrdering = (function() {\n  // Character types for codepoints 0 to 0xff\n  var lowTypes = \"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN\"\n  // Character types for codepoints 0x600 to 0x6f9\n  var arabicTypes = \"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111\"\n  function charType(code) {\n    if (code <= 0xf7) { return lowTypes.charAt(code) }\n    else if (0x590 <= code && code <= 0x5f4) { return \"R\" }\n    else if (0x600 <= code && code <= 0x6f9) { return arabicTypes.charAt(code - 0x600) }\n    else if (0x6ee <= code && code <= 0x8ac) { return \"r\" }\n    else if (0x2000 <= code && code <= 0x200b) { return \"w\" }\n    else if (code == 0x200c) { return \"b\" }\n    else { return \"L\" }\n  }\n\n  var bidiRE = /[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/\n  var isNeutral = /[stwN]/, isStrong = /[LRr]/, countsAsLeft = /[Lb1n]/, countsAsNum = /[1n]/\n\n  function BidiSpan(level, from, to) {\n    this.level = level\n    this.from = from; this.to = to\n  }\n\n  return function(str, direction) {\n    var outerType = direction == \"ltr\" ? \"L\" : \"R\"\n\n    if (str.length == 0 || direction == \"ltr\" && !bidiRE.test(str)) { return false }\n    var len = str.length, types = []\n    for (var i = 0; i < len; ++i)\n      { types.push(charType(str.charCodeAt(i))) }\n\n    // W1. Examine each non-spacing mark (NSM) in the level run, and\n    // change the type of the NSM to the type of the previous\n    // character. If the NSM is at the start of the level run, it will\n    // get the type of sor.\n    for (var i$1 = 0, prev = outerType; i$1 < len; ++i$1) {\n      var type = types[i$1]\n      if (type == \"m\") { types[i$1] = prev }\n      else { prev = type }\n    }\n\n    // W2. Search backwards from each instance of a European number\n    // until the first strong type (R, L, AL, or sor) is found. If an\n    // AL is found, change the type of the European number to Arabic\n    // number.\n    // W3. Change all ALs to R.\n    for (var i$2 = 0, cur = outerType; i$2 < len; ++i$2) {\n      var type$1 = types[i$2]\n      if (type$1 == \"1\" && cur == \"r\") { types[i$2] = \"n\" }\n      else if (isStrong.test(type$1)) { cur = type$1; if (type$1 == \"r\") { types[i$2] = \"R\" } }\n    }\n\n    // W4. A single European separator between two European numbers\n    // changes to a European number. A single common separator between\n    // two numbers of the same type changes to that type.\n    for (var i$3 = 1, prev$1 = types[0]; i$3 < len - 1; ++i$3) {\n      var type$2 = types[i$3]\n      if (type$2 == \"+\" && prev$1 == \"1\" && types[i$3+1] == \"1\") { types[i$3] = \"1\" }\n      else if (type$2 == \",\" && prev$1 == types[i$3+1] &&\n               (prev$1 == \"1\" || prev$1 == \"n\")) { types[i$3] = prev$1 }\n      prev$1 = type$2\n    }\n\n    // W5. A sequence of European terminators adjacent to European\n    // numbers changes to all European numbers.\n    // W6. Otherwise, separators and terminators change to Other\n    // Neutral.\n    for (var i$4 = 0; i$4 < len; ++i$4) {\n      var type$3 = types[i$4]\n      if (type$3 == \",\") { types[i$4] = \"N\" }\n      else if (type$3 == \"%\") {\n        var end = (void 0)\n        for (end = i$4 + 1; end < len && types[end] == \"%\"; ++end) {}\n        var replace = (i$4 && types[i$4-1] == \"!\") || (end < len && types[end] == \"1\") ? \"1\" : \"N\"\n        for (var j = i$4; j < end; ++j) { types[j] = replace }\n        i$4 = end - 1\n      }\n    }\n\n    // W7. Search backwards from each instance of a European number\n    // until the first strong type (R, L, or sor) is found. If an L is\n    // found, then change the type of the European number to L.\n    for (var i$5 = 0, cur$1 = outerType; i$5 < len; ++i$5) {\n      var type$4 = types[i$5]\n      if (cur$1 == \"L\" && type$4 == \"1\") { types[i$5] = \"L\" }\n      else if (isStrong.test(type$4)) { cur$1 = type$4 }\n    }\n\n    // N1. A sequence of neutrals takes the direction of the\n    // surrounding strong text if the text on both sides has the same\n    // direction. European and Arabic numbers act as if they were R in\n    // terms of their influence on neutrals. Start-of-level-run (sor)\n    // and end-of-level-run (eor) are used at level run boundaries.\n    // N2. Any remaining neutrals take the embedding direction.\n    for (var i$6 = 0; i$6 < len; ++i$6) {\n      if (isNeutral.test(types[i$6])) {\n        var end$1 = (void 0)\n        for (end$1 = i$6 + 1; end$1 < len && isNeutral.test(types[end$1]); ++end$1) {}\n        var before = (i$6 ? types[i$6-1] : outerType) == \"L\"\n        var after = (end$1 < len ? types[end$1] : outerType) == \"L\"\n        var replace$1 = before == after ? (before ? \"L\" : \"R\") : outerType\n        for (var j$1 = i$6; j$1 < end$1; ++j$1) { types[j$1] = replace$1 }\n        i$6 = end$1 - 1\n      }\n    }\n\n    // Here we depart from the documented algorithm, in order to avoid\n    // building up an actual levels array. Since there are only three\n    // levels (0, 1, 2) in an implementation that doesn't take\n    // explicit embedding into account, we can build up the order on\n    // the fly, without following the level-based algorithm.\n    var order = [], m\n    for (var i$7 = 0; i$7 < len;) {\n      if (countsAsLeft.test(types[i$7])) {\n        var start = i$7\n        for (++i$7; i$7 < len && countsAsLeft.test(types[i$7]); ++i$7) {}\n        order.push(new BidiSpan(0, start, i$7))\n      } else {\n        var pos = i$7, at = order.length\n        for (++i$7; i$7 < len && types[i$7] != \"L\"; ++i$7) {}\n        for (var j$2 = pos; j$2 < i$7;) {\n          if (countsAsNum.test(types[j$2])) {\n            if (pos < j$2) { order.splice(at, 0, new BidiSpan(1, pos, j$2)) }\n            var nstart = j$2\n            for (++j$2; j$2 < i$7 && countsAsNum.test(types[j$2]); ++j$2) {}\n            order.splice(at, 0, new BidiSpan(2, nstart, j$2))\n            pos = j$2\n          } else { ++j$2 }\n        }\n        if (pos < i$7) { order.splice(at, 0, new BidiSpan(1, pos, i$7)) }\n      }\n    }\n    if (direction == \"ltr\") {\n      if (order[0].level == 1 && (m = str.match(/^\\s+/))) {\n        order[0].from = m[0].length\n        order.unshift(new BidiSpan(0, 0, m[0].length))\n      }\n      if (lst(order).level == 1 && (m = str.match(/\\s+$/))) {\n        lst(order).to -= m[0].length\n        order.push(new BidiSpan(0, len - m[0].length, len))\n      }\n    }\n\n    return direction == \"rtl\" ? order.reverse() : order\n  }\n})()\n\n// Get the bidi ordering for the given line (and cache it). Returns\n// false for lines that are fully left-to-right, and an array of\n// BidiSpan objects otherwise.\nfunction getOrder(line, direction) {\n  var order = line.order\n  if (order == null) { order = line.order = bidiOrdering(line.text, direction) }\n  return order\n}\n\n// EVENT HANDLING\n\n// Lightweight event framework. on/off also work on DOM nodes,\n// registering native DOM handlers.\n\nvar noHandlers = []\n\nvar on = function(emitter, type, f) {\n  if (emitter.addEventListener) {\n    emitter.addEventListener(type, f, false)\n  } else if (emitter.attachEvent) {\n    emitter.attachEvent(\"on\" + type, f)\n  } else {\n    var map = emitter._handlers || (emitter._handlers = {})\n    map[type] = (map[type] || noHandlers).concat(f)\n  }\n}\n\nfunction getHandlers(emitter, type) {\n  return emitter._handlers && emitter._handlers[type] || noHandlers\n}\n\nfunction off(emitter, type, f) {\n  if (emitter.removeEventListener) {\n    emitter.removeEventListener(type, f, false)\n  } else if (emitter.detachEvent) {\n    emitter.detachEvent(\"on\" + type, f)\n  } else {\n    var map = emitter._handlers, arr = map && map[type]\n    if (arr) {\n      var index = indexOf(arr, f)\n      if (index > -1)\n        { map[type] = arr.slice(0, index).concat(arr.slice(index + 1)) }\n    }\n  }\n}\n\nfunction signal(emitter, type /*, values...*/) {\n  var handlers = getHandlers(emitter, type)\n  if (!handlers.length) { return }\n  var args = Array.prototype.slice.call(arguments, 2)\n  for (var i = 0; i < handlers.length; ++i) { handlers[i].apply(null, args) }\n}\n\n// The DOM events that CodeMirror handles can be overridden by\n// registering a (non-DOM) handler on the editor for the event name,\n// and preventDefault-ing the event in that handler.\nfunction signalDOMEvent(cm, e, override) {\n  if (typeof e == \"string\")\n    { e = {type: e, preventDefault: function() { this.defaultPrevented = true }} }\n  signal(cm, override || e.type, cm, e)\n  return e_defaultPrevented(e) || e.codemirrorIgnore\n}\n\nfunction signalCursorActivity(cm) {\n  var arr = cm._handlers && cm._handlers.cursorActivity\n  if (!arr) { return }\n  var set = cm.curOp.cursorActivityHandlers || (cm.curOp.cursorActivityHandlers = [])\n  for (var i = 0; i < arr.length; ++i) { if (indexOf(set, arr[i]) == -1)\n    { set.push(arr[i]) } }\n}\n\nfunction hasHandler(emitter, type) {\n  return getHandlers(emitter, type).length > 0\n}\n\n// Add on and off methods to a constructor's prototype, to make\n// registering events on such objects more convenient.\nfunction eventMixin(ctor) {\n  ctor.prototype.on = function(type, f) {on(this, type, f)}\n  ctor.prototype.off = function(type, f) {off(this, type, f)}\n}\n\n// Due to the fact that we still support jurassic IE versions, some\n// compatibility wrappers are needed.\n\nfunction e_preventDefault(e) {\n  if (e.preventDefault) { e.preventDefault() }\n  else { e.returnValue = false }\n}\nfunction e_stopPropagation(e) {\n  if (e.stopPropagation) { e.stopPropagation() }\n  else { e.cancelBubble = true }\n}\nfunction e_defaultPrevented(e) {\n  return e.defaultPrevented != null ? e.defaultPrevented : e.returnValue == false\n}\nfunction e_stop(e) {e_preventDefault(e); e_stopPropagation(e)}\n\nfunction e_target(e) {return e.target || e.srcElement}\nfunction e_button(e) {\n  var b = e.which\n  if (b == null) {\n    if (e.button & 1) { b = 1 }\n    else if (e.button & 2) { b = 3 }\n    else if (e.button & 4) { b = 2 }\n  }\n  if (mac && e.ctrlKey && b == 1) { b = 3 }\n  return b\n}\n\n// Detect drag-and-drop\nvar dragAndDrop = function() {\n  // There is *some* kind of drag-and-drop support in IE6-8, but I\n  // couldn't get it to work yet.\n  if (ie && ie_version < 9) { return false }\n  var div = elt('div')\n  return \"draggable\" in div || \"dragDrop\" in div\n}()\n\nvar zwspSupported\nfunction zeroWidthElement(measure) {\n  if (zwspSupported == null) {\n    var test = elt(\"span\", \"\\u200b\")\n    removeChildrenAndAdd(measure, elt(\"span\", [test, document.createTextNode(\"x\")]))\n    if (measure.firstChild.offsetHeight != 0)\n      { zwspSupported = test.offsetWidth <= 1 && test.offsetHeight > 2 && !(ie && ie_version < 8) }\n  }\n  var node = zwspSupported ? elt(\"span\", \"\\u200b\") :\n    elt(\"span\", \"\\u00a0\", null, \"display: inline-block; width: 1px; margin-right: -1px\")\n  node.setAttribute(\"cm-text\", \"\")\n  return node\n}\n\n// Feature-detect IE's crummy client rect reporting for bidi text\nvar badBidiRects\nfunction hasBadBidiRects(measure) {\n  if (badBidiRects != null) { return badBidiRects }\n  var txt = removeChildrenAndAdd(measure, document.createTextNode(\"A\\u062eA\"))\n  var r0 = range(txt, 0, 1).getBoundingClientRect()\n  var r1 = range(txt, 1, 2).getBoundingClientRect()\n  removeChildren(measure)\n  if (!r0 || r0.left == r0.right) { return false } // Safari returns null in some cases (#2780)\n  return badBidiRects = (r1.right - r0.right < 3)\n}\n\n// See if \"\".split is the broken IE version, if so, provide an\n// alternative way to split lines.\nvar splitLinesAuto = \"\\n\\nb\".split(/\\n/).length != 3 ? function (string) {\n  var pos = 0, result = [], l = string.length\n  while (pos <= l) {\n    var nl = string.indexOf(\"\\n\", pos)\n    if (nl == -1) { nl = string.length }\n    var line = string.slice(pos, string.charAt(nl - 1) == \"\\r\" ? nl - 1 : nl)\n    var rt = line.indexOf(\"\\r\")\n    if (rt != -1) {\n      result.push(line.slice(0, rt))\n      pos += rt + 1\n    } else {\n      result.push(line)\n      pos = nl + 1\n    }\n  }\n  return result\n} : function (string) { return string.split(/\\r\\n?|\\n/); }\n\nvar hasSelection = window.getSelection ? function (te) {\n  try { return te.selectionStart != te.selectionEnd }\n  catch(e) { return false }\n} : function (te) {\n  var range\n  try {range = te.ownerDocument.selection.createRange()}\n  catch(e) {}\n  if (!range || range.parentElement() != te) { return false }\n  return range.compareEndPoints(\"StartToEnd\", range) != 0\n}\n\nvar hasCopyEvent = (function () {\n  var e = elt(\"div\")\n  if (\"oncopy\" in e) { return true }\n  e.setAttribute(\"oncopy\", \"return;\")\n  return typeof e.oncopy == \"function\"\n})()\n\nvar badZoomedRects = null\nfunction hasBadZoomedRects(measure) {\n  if (badZoomedRects != null) { return badZoomedRects }\n  var node = removeChildrenAndAdd(measure, elt(\"span\", \"x\"))\n  var normal = node.getBoundingClientRect()\n  var fromRange = range(node, 0, 1).getBoundingClientRect()\n  return badZoomedRects = Math.abs(normal.left - fromRange.left) > 1\n}\n\nvar modes = {};\nvar mimeModes = {};\n// Extra arguments are stored as the mode's dependencies, which is\n// used by (legacy) mechanisms like loadmode.js to automatically\n// load a mode. (Preferred mechanism is the require/define calls.)\nfunction defineMode(name, mode) {\n  if (arguments.length > 2)\n    { mode.dependencies = Array.prototype.slice.call(arguments, 2) }\n  modes[name] = mode\n}\n\nfunction defineMIME(mime, spec) {\n  mimeModes[mime] = spec\n}\n\n// Given a MIME type, a {name, ...options} config object, or a name\n// string, return a mode config object.\nfunction resolveMode(spec) {\n  if (typeof spec == \"string\" && mimeModes.hasOwnProperty(spec)) {\n    spec = mimeModes[spec]\n  } else if (spec && typeof spec.name == \"string\" && mimeModes.hasOwnProperty(spec.name)) {\n    var found = mimeModes[spec.name]\n    if (typeof found == \"string\") { found = {name: found} }\n    spec = createObj(found, spec)\n    spec.name = found.name\n  } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+xml$/.test(spec)) {\n    return resolveMode(\"application/xml\")\n  } else if (typeof spec == \"string\" && /^[\\w\\-]+\\/[\\w\\-]+\\+json$/.test(spec)) {\n    return resolveMode(\"application/json\")\n  }\n  if (typeof spec == \"string\") { return {name: spec} }\n  else { return spec || {name: \"null\"} }\n}\n\n// Given a mode spec (anything that resolveMode accepts), find and\n// initialize an actual mode object.\nfunction getMode(options, spec) {\n  spec = resolveMode(spec)\n  var mfactory = modes[spec.name]\n  if (!mfactory) { return getMode(options, \"text/plain\") }\n  var modeObj = mfactory(options, spec)\n  if (modeExtensions.hasOwnProperty(spec.name)) {\n    var exts = modeExtensions[spec.name]\n    for (var prop in exts) {\n      if (!exts.hasOwnProperty(prop)) { continue }\n      if (modeObj.hasOwnProperty(prop)) { modeObj[\"_\" + prop] = modeObj[prop] }\n      modeObj[prop] = exts[prop]\n    }\n  }\n  modeObj.name = spec.name\n  if (spec.helperType) { modeObj.helperType = spec.helperType }\n  if (spec.modeProps) { for (var prop$1 in spec.modeProps)\n    { modeObj[prop$1] = spec.modeProps[prop$1] } }\n\n  return modeObj\n}\n\n// This can be used to attach properties to mode objects from\n// outside the actual mode definition.\nvar modeExtensions = {}\nfunction extendMode(mode, properties) {\n  var exts = modeExtensions.hasOwnProperty(mode) ? modeExtensions[mode] : (modeExtensions[mode] = {})\n  copyObj(properties, exts)\n}\n\nfunction copyState(mode, state) {\n  if (state === true) { return state }\n  if (mode.copyState) { return mode.copyState(state) }\n  var nstate = {}\n  for (var n in state) {\n    var val = state[n]\n    if (val instanceof Array) { val = val.concat([]) }\n    nstate[n] = val\n  }\n  return nstate\n}\n\n// Given a mode and a state (for that mode), find the inner mode and\n// state at the position that the state refers to.\nfunction innerMode(mode, state) {\n  var info\n  while (mode.innerMode) {\n    info = mode.innerMode(state)\n    if (!info || info.mode == mode) { break }\n    state = info.state\n    mode = info.mode\n  }\n  return info || {mode: mode, state: state}\n}\n\nfunction startState(mode, a1, a2) {\n  return mode.startState ? mode.startState(a1, a2) : true\n}\n\n// STRING STREAM\n\n// Fed to the mode parsers, provides helper functions to make\n// parsers more succinct.\n\nvar StringStream = function(string, tabSize, lineOracle) {\n  this.pos = this.start = 0\n  this.string = string\n  this.tabSize = tabSize || 8\n  this.lastColumnPos = this.lastColumnValue = 0\n  this.lineStart = 0\n  this.lineOracle = lineOracle\n};\n\nStringStream.prototype.eol = function () {return this.pos >= this.string.length};\nStringStream.prototype.sol = function () {return this.pos == this.lineStart};\nStringStream.prototype.peek = function () {return this.string.charAt(this.pos) || undefined};\nStringStream.prototype.next = function () {\n  if (this.pos < this.string.length)\n    { return this.string.charAt(this.pos++) }\n};\nStringStream.prototype.eat = function (match) {\n  var ch = this.string.charAt(this.pos)\n  var ok\n  if (typeof match == \"string\") { ok = ch == match }\n  else { ok = ch && (match.test ? match.test(ch) : match(ch)) }\n  if (ok) {++this.pos; return ch}\n};\nStringStream.prototype.eatWhile = function (match) {\n  var start = this.pos\n  while (this.eat(match)){}\n  return this.pos > start\n};\nStringStream.prototype.eatSpace = function () {\n    var this$1 = this;\n\n  var start = this.pos\n  while (/[\\s\\u00a0]/.test(this.string.charAt(this.pos))) { ++this$1.pos }\n  return this.pos > start\n};\nStringStream.prototype.skipToEnd = function () {this.pos = this.string.length};\nStringStream.prototype.skipTo = function (ch) {\n  var found = this.string.indexOf(ch, this.pos)\n  if (found > -1) {this.pos = found; return true}\n};\nStringStream.prototype.backUp = function (n) {this.pos -= n};\nStringStream.prototype.column = function () {\n  if (this.lastColumnPos < this.start) {\n    this.lastColumnValue = countColumn(this.string, this.start, this.tabSize, this.lastColumnPos, this.lastColumnValue)\n    this.lastColumnPos = this.start\n  }\n  return this.lastColumnValue - (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n};\nStringStream.prototype.indentation = function () {\n  return countColumn(this.string, null, this.tabSize) -\n    (this.lineStart ? countColumn(this.string, this.lineStart, this.tabSize) : 0)\n};\nStringStream.prototype.match = function (pattern, consume, caseInsensitive) {\n  if (typeof pattern == \"string\") {\n    var cased = function (str) { return caseInsensitive ? str.toLowerCase() : str; }\n    var substr = this.string.substr(this.pos, pattern.length)\n    if (cased(substr) == cased(pattern)) {\n      if (consume !== false) { this.pos += pattern.length }\n      return true\n    }\n  } else {\n    var match = this.string.slice(this.pos).match(pattern)\n    if (match && match.index > 0) { return null }\n    if (match && consume !== false) { this.pos += match[0].length }\n    return match\n  }\n};\nStringStream.prototype.current = function (){return this.string.slice(this.start, this.pos)};\nStringStream.prototype.hideFirstChars = function (n, inner) {\n  this.lineStart += n\n  try { return inner() }\n  finally { this.lineStart -= n }\n};\nStringStream.prototype.lookAhead = function (n) {\n  var oracle = this.lineOracle\n  return oracle && oracle.lookAhead(n)\n};\nStringStream.prototype.baseToken = function () {\n  var oracle = this.lineOracle\n  return oracle && oracle.baseToken(this.pos)\n};\n\nvar SavedContext = function(state, lookAhead) {\n  this.state = state\n  this.lookAhead = lookAhead\n};\n\nvar Context = function(doc, state, line, lookAhead) {\n  this.state = state\n  this.doc = doc\n  this.line = line\n  this.maxLookAhead = lookAhead || 0\n  this.baseTokens = null\n  this.baseTokenPos = 1\n};\n\nContext.prototype.lookAhead = function (n) {\n  var line = this.doc.getLine(this.line + n)\n  if (line != null && n > this.maxLookAhead) { this.maxLookAhead = n }\n  return line\n};\n\nContext.prototype.baseToken = function (n) {\n    var this$1 = this;\n\n  if (!this.baseTokens) { return null }\n  while (this.baseTokens[this.baseTokenPos] <= n)\n    { this$1.baseTokenPos += 2 }\n  var type = this.baseTokens[this.baseTokenPos + 1]\n  return {type: type && type.replace(/( |^)overlay .*/, \"\"),\n          size: this.baseTokens[this.baseTokenPos] - n}\n};\n\nContext.prototype.nextLine = function () {\n  this.line++\n  if (this.maxLookAhead > 0) { this.maxLookAhead-- }\n};\n\nContext.fromSaved = function (doc, saved, line) {\n  if (saved instanceof SavedContext)\n    { return new Context(doc, copyState(doc.mode, saved.state), line, saved.lookAhead) }\n  else\n    { return new Context(doc, copyState(doc.mode, saved), line) }\n};\n\nContext.prototype.save = function (copy) {\n  var state = copy !== false ? copyState(this.doc.mode, this.state) : this.state\n  return this.maxLookAhead > 0 ? new SavedContext(state, this.maxLookAhead) : state\n};\n\n\n// Compute a style array (an array starting with a mode generation\n// -- for invalidation -- followed by pairs of end positions and\n// style strings), which is used to highlight the tokens on the\n// line.\nfunction highlightLine(cm, line, context, forceToEnd) {\n  // A styles array always starts with a number identifying the\n  // mode/overlays that it is based on (for easy invalidation).\n  var st = [cm.state.modeGen], lineClasses = {}\n  // Compute the base array of styles\n  runMode(cm, line.text, cm.doc.mode, context, function (end, style) { return st.push(end, style); },\n          lineClasses, forceToEnd)\n  var state = context.state\n\n  // Run overlays, adjust style array.\n  var loop = function ( o ) {\n    context.baseTokens = st\n    var overlay = cm.state.overlays[o], i = 1, at = 0\n    context.state = true\n    runMode(cm, line.text, overlay.mode, context, function (end, style) {\n      var start = i\n      // Ensure there's a token end at the current position, and that i points at it\n      while (at < end) {\n        var i_end = st[i]\n        if (i_end > end)\n          { st.splice(i, 1, end, st[i+1], i_end) }\n        i += 2\n        at = Math.min(end, i_end)\n      }\n      if (!style) { return }\n      if (overlay.opaque) {\n        st.splice(start, i - start, end, \"overlay \" + style)\n        i = start + 2\n      } else {\n        for (; start < i; start += 2) {\n          var cur = st[start+1]\n          st[start+1] = (cur ? cur + \" \" : \"\") + \"overlay \" + style\n        }\n      }\n    }, lineClasses)\n    context.state = state\n    context.baseTokens = null\n    context.baseTokenPos = 1\n  };\n\n  for (var o = 0; o < cm.state.overlays.length; ++o) loop( o );\n\n  return {styles: st, classes: lineClasses.bgClass || lineClasses.textClass ? lineClasses : null}\n}\n\nfunction getLineStyles(cm, line, updateFrontier) {\n  if (!line.styles || line.styles[0] != cm.state.modeGen) {\n    var context = getContextBefore(cm, lineNo(line))\n    var resetState = line.text.length > cm.options.maxHighlightLength && copyState(cm.doc.mode, context.state)\n    var result = highlightLine(cm, line, context)\n    if (resetState) { context.state = resetState }\n    line.stateAfter = context.save(!resetState)\n    line.styles = result.styles\n    if (result.classes) { line.styleClasses = result.classes }\n    else if (line.styleClasses) { line.styleClasses = null }\n    if (updateFrontier === cm.doc.highlightFrontier)\n      { cm.doc.modeFrontier = Math.max(cm.doc.modeFrontier, ++cm.doc.highlightFrontier) }\n  }\n  return line.styles\n}\n\nfunction getContextBefore(cm, n, precise) {\n  var doc = cm.doc, display = cm.display\n  if (!doc.mode.startState) { return new Context(doc, true, n) }\n  var start = findStartLine(cm, n, precise)\n  var saved = start > doc.first && getLine(doc, start - 1).stateAfter\n  var context = saved ? Context.fromSaved(doc, saved, start) : new Context(doc, startState(doc.mode), start)\n\n  doc.iter(start, n, function (line) {\n    processLine(cm, line.text, context)\n    var pos = context.line\n    line.stateAfter = pos == n - 1 || pos % 5 == 0 || pos >= display.viewFrom && pos < display.viewTo ? context.save() : null\n    context.nextLine()\n  })\n  if (precise) { doc.modeFrontier = context.line }\n  return context\n}\n\n// Lightweight form of highlight -- proceed over this line and\n// update state, but don't save a style array. Used for lines that\n// aren't currently visible.\nfunction processLine(cm, text, context, startAt) {\n  var mode = cm.doc.mode\n  var stream = new StringStream(text, cm.options.tabSize, context)\n  stream.start = stream.pos = startAt || 0\n  if (text == \"\") { callBlankLine(mode, context.state) }\n  while (!stream.eol()) {\n    readToken(mode, stream, context.state)\n    stream.start = stream.pos\n  }\n}\n\nfunction callBlankLine(mode, state) {\n  if (mode.blankLine) { return mode.blankLine(state) }\n  if (!mode.innerMode) { return }\n  var inner = innerMode(mode, state)\n  if (inner.mode.blankLine) { return inner.mode.blankLine(inner.state) }\n}\n\nfunction readToken(mode, stream, state, inner) {\n  for (var i = 0; i < 10; i++) {\n    if (inner) { inner[0] = innerMode(mode, state).mode }\n    var style = mode.token(stream, state)\n    if (stream.pos > stream.start) { return style }\n  }\n  throw new Error(\"Mode \" + mode.name + \" failed to advance stream.\")\n}\n\nvar Token = function(stream, type, state) {\n  this.start = stream.start; this.end = stream.pos\n  this.string = stream.current()\n  this.type = type || null\n  this.state = state\n};\n\n// Utility for getTokenAt and getLineTokens\nfunction takeToken(cm, pos, precise, asArray) {\n  var doc = cm.doc, mode = doc.mode, style\n  pos = clipPos(doc, pos)\n  var line = getLine(doc, pos.line), context = getContextBefore(cm, pos.line, precise)\n  var stream = new StringStream(line.text, cm.options.tabSize, context), tokens\n  if (asArray) { tokens = [] }\n  while ((asArray || stream.pos < pos.ch) && !stream.eol()) {\n    stream.start = stream.pos\n    style = readToken(mode, stream, context.state)\n    if (asArray) { tokens.push(new Token(stream, style, copyState(doc.mode, context.state))) }\n  }\n  return asArray ? tokens : new Token(stream, style, context.state)\n}\n\nfunction extractLineClasses(type, output) {\n  if (type) { for (;;) {\n    var lineClass = type.match(/(?:^|\\s+)line-(background-)?(\\S+)/)\n    if (!lineClass) { break }\n    type = type.slice(0, lineClass.index) + type.slice(lineClass.index + lineClass[0].length)\n    var prop = lineClass[1] ? \"bgClass\" : \"textClass\"\n    if (output[prop] == null)\n      { output[prop] = lineClass[2] }\n    else if (!(new RegExp(\"(?:^|\\s)\" + lineClass[2] + \"(?:$|\\s)\")).test(output[prop]))\n      { output[prop] += \" \" + lineClass[2] }\n  } }\n  return type\n}\n\n// Run the given mode's parser over a line, calling f for each token.\nfunction runMode(cm, text, mode, context, f, lineClasses, forceToEnd) {\n  var flattenSpans = mode.flattenSpans\n  if (flattenSpans == null) { flattenSpans = cm.options.flattenSpans }\n  var curStart = 0, curStyle = null\n  var stream = new StringStream(text, cm.options.tabSize, context), style\n  var inner = cm.options.addModeClass && [null]\n  if (text == \"\") { extractLineClasses(callBlankLine(mode, context.state), lineClasses) }\n  while (!stream.eol()) {\n    if (stream.pos > cm.options.maxHighlightLength) {\n      flattenSpans = false\n      if (forceToEnd) { processLine(cm, text, context, stream.pos) }\n      stream.pos = text.length\n      style = null\n    } else {\n      style = extractLineClasses(readToken(mode, stream, context.state, inner), lineClasses)\n    }\n    if (inner) {\n      var mName = inner[0].name\n      if (mName) { style = \"m-\" + (style ? mName + \" \" + style : mName) }\n    }\n    if (!flattenSpans || curStyle != style) {\n      while (curStart < stream.start) {\n        curStart = Math.min(stream.start, curStart + 5000)\n        f(curStart, curStyle)\n      }\n      curStyle = style\n    }\n    stream.start = stream.pos\n  }\n  while (curStart < stream.pos) {\n    // Webkit seems to refuse to render text nodes longer than 57444\n    // characters, and returns inaccurate measurements in nodes\n    // starting around 5000 chars.\n    var pos = Math.min(stream.pos, curStart + 5000)\n    f(pos, curStyle)\n    curStart = pos\n  }\n}\n\n// Finds the line to start with when starting a parse. Tries to\n// find a line with a stateAfter, so that it can start with a\n// valid state. If that fails, it returns the line with the\n// smallest indentation, which tends to need the least context to\n// parse correctly.\nfunction findStartLine(cm, n, precise) {\n  var minindent, minline, doc = cm.doc\n  var lim = precise ? -1 : n - (cm.doc.mode.innerMode ? 1000 : 100)\n  for (var search = n; search > lim; --search) {\n    if (search <= doc.first) { return doc.first }\n    var line = getLine(doc, search - 1), after = line.stateAfter\n    if (after && (!precise || search + (after instanceof SavedContext ? after.lookAhead : 0) <= doc.modeFrontier))\n      { return search }\n    var indented = countColumn(line.text, null, cm.options.tabSize)\n    if (minline == null || minindent > indented) {\n      minline = search - 1\n      minindent = indented\n    }\n  }\n  return minline\n}\n\nfunction retreatFrontier(doc, n) {\n  doc.modeFrontier = Math.min(doc.modeFrontier, n)\n  if (doc.highlightFrontier < n - 10) { return }\n  var start = doc.first\n  for (var line = n - 1; line > start; line--) {\n    var saved = getLine(doc, line).stateAfter\n    // change is on 3\n    // state on line 1 looked ahead 2 -- so saw 3\n    // test 1 + 2 < 3 should cover this\n    if (saved && (!(saved instanceof SavedContext) || line + saved.lookAhead < n)) {\n      start = line + 1\n      break\n    }\n  }\n  doc.highlightFrontier = Math.min(doc.highlightFrontier, start)\n}\n\n// LINE DATA STRUCTURE\n\n// Line objects. These hold state related to a line, including\n// highlighting info (the styles array).\nvar Line = function(text, markedSpans, estimateHeight) {\n  this.text = text\n  attachMarkedSpans(this, markedSpans)\n  this.height = estimateHeight ? estimateHeight(this) : 1\n};\n\nLine.prototype.lineNo = function () { return lineNo(this) };\neventMixin(Line)\n\n// Change the content (text, markers) of a line. Automatically\n// invalidates cached information and tries to re-estimate the\n// line's height.\nfunction updateLine(line, text, markedSpans, estimateHeight) {\n  line.text = text\n  if (line.stateAfter) { line.stateAfter = null }\n  if (line.styles) { line.styles = null }\n  if (line.order != null) { line.order = null }\n  detachMarkedSpans(line)\n  attachMarkedSpans(line, markedSpans)\n  var estHeight = estimateHeight ? estimateHeight(line) : 1\n  if (estHeight != line.height) { updateLineHeight(line, estHeight) }\n}\n\n// Detach a line from the document tree and its markers.\nfunction cleanUpLine(line) {\n  line.parent = null\n  detachMarkedSpans(line)\n}\n\n// Convert a style as returned by a mode (either null, or a string\n// containing one or more styles) to a CSS style. This is cached,\n// and also looks for line-wide styles.\nvar styleToClassCache = {};\nvar styleToClassCacheWithMode = {};\nfunction interpretTokenStyle(style, options) {\n  if (!style || /^\\s*$/.test(style)) { return null }\n  var cache = options.addModeClass ? styleToClassCacheWithMode : styleToClassCache\n  return cache[style] ||\n    (cache[style] = style.replace(/\\S+/g, \"cm-$&\"))\n}\n\n// Render the DOM representation of the text of a line. Also builds\n// up a 'line map', which points at the DOM nodes that represent\n// specific stretches of text, and is used by the measuring code.\n// The returned object contains the DOM node, this map, and\n// information about line-wide styles that were set by the mode.\nfunction buildLineContent(cm, lineView) {\n  // The padding-right forces the element to have a 'border', which\n  // is needed on Webkit to be able to get line-level bounding\n  // rectangles for it (in measureChar).\n  var content = eltP(\"span\", null, null, webkit ? \"padding-right: .1px\" : null)\n  var builder = {pre: eltP(\"pre\", [content], \"CodeMirror-line\"), content: content,\n                 col: 0, pos: 0, cm: cm,\n                 trailingSpace: false,\n                 splitSpaces: (ie || webkit) && cm.getOption(\"lineWrapping\")}\n  lineView.measure = {}\n\n  // Iterate over the logical lines that make up this visual line.\n  for (var i = 0; i <= (lineView.rest ? lineView.rest.length : 0); i++) {\n    var line = i ? lineView.rest[i - 1] : lineView.line, order = (void 0)\n    builder.pos = 0\n    builder.addToken = buildToken\n    // Optionally wire in some hacks into the token-rendering\n    // algorithm, to deal with browser quirks.\n    if (hasBadBidiRects(cm.display.measure) && (order = getOrder(line, cm.doc.direction)))\n      { builder.addToken = buildTokenBadBidi(builder.addToken, order) }\n    builder.map = []\n    var allowFrontierUpdate = lineView != cm.display.externalMeasured && lineNo(line)\n    insertLineContent(line, builder, getLineStyles(cm, line, allowFrontierUpdate))\n    if (line.styleClasses) {\n      if (line.styleClasses.bgClass)\n        { builder.bgClass = joinClasses(line.styleClasses.bgClass, builder.bgClass || \"\") }\n      if (line.styleClasses.textClass)\n        { builder.textClass = joinClasses(line.styleClasses.textClass, builder.textClass || \"\") }\n    }\n\n    // Ensure at least a single node is present, for measuring.\n    if (builder.map.length == 0)\n      { builder.map.push(0, 0, builder.content.appendChild(zeroWidthElement(cm.display.measure))) }\n\n    // Store the map and a cache object for the current logical line\n    if (i == 0) {\n      lineView.measure.map = builder.map\n      lineView.measure.cache = {}\n    } else {\n      ;(lineView.measure.maps || (lineView.measure.maps = [])).push(builder.map)\n      ;(lineView.measure.caches || (lineView.measure.caches = [])).push({})\n    }\n  }\n\n  // See issue #2901\n  if (webkit) {\n    var last = builder.content.lastChild\n    if (/\\bcm-tab\\b/.test(last.className) || (last.querySelector && last.querySelector(\".cm-tab\")))\n      { builder.content.className = \"cm-tab-wrap-hack\" }\n  }\n\n  signal(cm, \"renderLine\", cm, lineView.line, builder.pre)\n  if (builder.pre.className)\n    { builder.textClass = joinClasses(builder.pre.className, builder.textClass || \"\") }\n\n  return builder\n}\n\nfunction defaultSpecialCharPlaceholder(ch) {\n  var token = elt(\"span\", \"\\u2022\", \"cm-invalidchar\")\n  token.title = \"\\\\u\" + ch.charCodeAt(0).toString(16)\n  token.setAttribute(\"aria-label\", token.title)\n  return token\n}\n\n// Build up the DOM representation for a single token, and add it to\n// the line map. Takes care to render special characters separately.\nfunction buildToken(builder, text, style, startStyle, endStyle, title, css) {\n  if (!text) { return }\n  var displayText = builder.splitSpaces ? splitSpaces(text, builder.trailingSpace) : text\n  var special = builder.cm.state.specialChars, mustWrap = false\n  var content\n  if (!special.test(text)) {\n    builder.col += text.length\n    content = document.createTextNode(displayText)\n    builder.map.push(builder.pos, builder.pos + text.length, content)\n    if (ie && ie_version < 9) { mustWrap = true }\n    builder.pos += text.length\n  } else {\n    content = document.createDocumentFragment()\n    var pos = 0\n    while (true) {\n      special.lastIndex = pos\n      var m = special.exec(text)\n      var skipped = m ? m.index - pos : text.length - pos\n      if (skipped) {\n        var txt = document.createTextNode(displayText.slice(pos, pos + skipped))\n        if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt])) }\n        else { content.appendChild(txt) }\n        builder.map.push(builder.pos, builder.pos + skipped, txt)\n        builder.col += skipped\n        builder.pos += skipped\n      }\n      if (!m) { break }\n      pos += skipped + 1\n      var txt$1 = (void 0)\n      if (m[0] == \"\\t\") {\n        var tabSize = builder.cm.options.tabSize, tabWidth = tabSize - builder.col % tabSize\n        txt$1 = content.appendChild(elt(\"span\", spaceStr(tabWidth), \"cm-tab\"))\n        txt$1.setAttribute(\"role\", \"presentation\")\n        txt$1.setAttribute(\"cm-text\", \"\\t\")\n        builder.col += tabWidth\n      } else if (m[0] == \"\\r\" || m[0] == \"\\n\") {\n        txt$1 = content.appendChild(elt(\"span\", m[0] == \"\\r\" ? \"\\u240d\" : \"\\u2424\", \"cm-invalidchar\"))\n        txt$1.setAttribute(\"cm-text\", m[0])\n        builder.col += 1\n      } else {\n        txt$1 = builder.cm.options.specialCharPlaceholder(m[0])\n        txt$1.setAttribute(\"cm-text\", m[0])\n        if (ie && ie_version < 9) { content.appendChild(elt(\"span\", [txt$1])) }\n        else { content.appendChild(txt$1) }\n        builder.col += 1\n      }\n      builder.map.push(builder.pos, builder.pos + 1, txt$1)\n      builder.pos++\n    }\n  }\n  builder.trailingSpace = displayText.charCodeAt(text.length - 1) == 32\n  if (style || startStyle || endStyle || mustWrap || css) {\n    var fullStyle = style || \"\"\n    if (startStyle) { fullStyle += startStyle }\n    if (endStyle) { fullStyle += endStyle }\n    var token = elt(\"span\", [content], fullStyle, css)\n    if (title) { token.title = title }\n    return builder.content.appendChild(token)\n  }\n  builder.content.appendChild(content)\n}\n\nfunction splitSpaces(text, trailingBefore) {\n  if (text.length > 1 && !/  /.test(text)) { return text }\n  var spaceBefore = trailingBefore, result = \"\"\n  for (var i = 0; i < text.length; i++) {\n    var ch = text.charAt(i)\n    if (ch == \" \" && spaceBefore && (i == text.length - 1 || text.charCodeAt(i + 1) == 32))\n      { ch = \"\\u00a0\" }\n    result += ch\n    spaceBefore = ch == \" \"\n  }\n  return result\n}\n\n// Work around nonsense dimensions being reported for stretches of\n// right-to-left text.\nfunction buildTokenBadBidi(inner, order) {\n  return function (builder, text, style, startStyle, endStyle, title, css) {\n    style = style ? style + \" cm-force-border\" : \"cm-force-border\"\n    var start = builder.pos, end = start + text.length\n    for (;;) {\n      // Find the part that overlaps with the start of this text\n      var part = (void 0)\n      for (var i = 0; i < order.length; i++) {\n        part = order[i]\n        if (part.to > start && part.from <= start) { break }\n      }\n      if (part.to >= end) { return inner(builder, text, style, startStyle, endStyle, title, css) }\n      inner(builder, text.slice(0, part.to - start), style, startStyle, null, title, css)\n      startStyle = null\n      text = text.slice(part.to - start)\n      start = part.to\n    }\n  }\n}\n\nfunction buildCollapsedSpan(builder, size, marker, ignoreWidget) {\n  var widget = !ignoreWidget && marker.widgetNode\n  if (widget) { builder.map.push(builder.pos, builder.pos + size, widget) }\n  if (!ignoreWidget && builder.cm.display.input.needsContentAttribute) {\n    if (!widget)\n      { widget = builder.content.appendChild(document.createElement(\"span\")) }\n    widget.setAttribute(\"cm-marker\", marker.id)\n  }\n  if (widget) {\n    builder.cm.display.input.setUneditable(widget)\n    builder.content.appendChild(widget)\n  }\n  builder.pos += size\n  builder.trailingSpace = false\n}\n\n// Outputs a number of spans to make up a line, taking highlighting\n// and marked text into account.\nfunction insertLineContent(line, builder, styles) {\n  var spans = line.markedSpans, allText = line.text, at = 0\n  if (!spans) {\n    for (var i$1 = 1; i$1 < styles.length; i$1+=2)\n      { builder.addToken(builder, allText.slice(at, at = styles[i$1]), interpretTokenStyle(styles[i$1+1], builder.cm.options)) }\n    return\n  }\n\n  var len = allText.length, pos = 0, i = 1, text = \"\", style, css\n  var nextChange = 0, spanStyle, spanEndStyle, spanStartStyle, title, collapsed\n  for (;;) {\n    if (nextChange == pos) { // Update current marker set\n      spanStyle = spanEndStyle = spanStartStyle = title = css = \"\"\n      collapsed = null; nextChange = Infinity\n      var foundBookmarks = [], endStyles = (void 0)\n      for (var j = 0; j < spans.length; ++j) {\n        var sp = spans[j], m = sp.marker\n        if (m.type == \"bookmark\" && sp.from == pos && m.widgetNode) {\n          foundBookmarks.push(m)\n        } else if (sp.from <= pos && (sp.to == null || sp.to > pos || m.collapsed && sp.to == pos && sp.from == pos)) {\n          if (sp.to != null && sp.to != pos && nextChange > sp.to) {\n            nextChange = sp.to\n            spanEndStyle = \"\"\n          }\n          if (m.className) { spanStyle += \" \" + m.className }\n          if (m.css) { css = (css ? css + \";\" : \"\") + m.css }\n          if (m.startStyle && sp.from == pos) { spanStartStyle += \" \" + m.startStyle }\n          if (m.endStyle && sp.to == nextChange) { (endStyles || (endStyles = [])).push(m.endStyle, sp.to) }\n          if (m.title && !title) { title = m.title }\n          if (m.collapsed && (!collapsed || compareCollapsedMarkers(collapsed.marker, m) < 0))\n            { collapsed = sp }\n        } else if (sp.from > pos && nextChange > sp.from) {\n          nextChange = sp.from\n        }\n      }\n      if (endStyles) { for (var j$1 = 0; j$1 < endStyles.length; j$1 += 2)\n        { if (endStyles[j$1 + 1] == nextChange) { spanEndStyle += \" \" + endStyles[j$1] } } }\n\n      if (!collapsed || collapsed.from == pos) { for (var j$2 = 0; j$2 < foundBookmarks.length; ++j$2)\n        { buildCollapsedSpan(builder, 0, foundBookmarks[j$2]) } }\n      if (collapsed && (collapsed.from || 0) == pos) {\n        buildCollapsedSpan(builder, (collapsed.to == null ? len + 1 : collapsed.to) - pos,\n                           collapsed.marker, collapsed.from == null)\n        if (collapsed.to == null) { return }\n        if (collapsed.to == pos) { collapsed = false }\n      }\n    }\n    if (pos >= len) { break }\n\n    var upto = Math.min(len, nextChange)\n    while (true) {\n      if (text) {\n        var end = pos + text.length\n        if (!collapsed) {\n          var tokenText = end > upto ? text.slice(0, upto - pos) : text\n          builder.addToken(builder, tokenText, style ? style + spanStyle : spanStyle,\n                           spanStartStyle, pos + tokenText.length == nextChange ? spanEndStyle : \"\", title, css)\n        }\n        if (end >= upto) {text = text.slice(upto - pos); pos = upto; break}\n        pos = end\n        spanStartStyle = \"\"\n      }\n      text = allText.slice(at, at = styles[i++])\n      style = interpretTokenStyle(styles[i++], builder.cm.options)\n    }\n  }\n}\n\n\n// These objects are used to represent the visible (currently drawn)\n// part of the document. A LineView may correspond to multiple\n// logical lines, if those are connected by collapsed ranges.\nfunction LineView(doc, line, lineN) {\n  // The starting line\n  this.line = line\n  // Continuing lines, if any\n  this.rest = visualLineContinued(line)\n  // Number of logical lines in this visual line\n  this.size = this.rest ? lineNo(lst(this.rest)) - lineN + 1 : 1\n  this.node = this.text = null\n  this.hidden = lineIsHidden(doc, line)\n}\n\n// Create a range of LineView objects for the given lines.\nfunction buildViewArray(cm, from, to) {\n  var array = [], nextPos\n  for (var pos = from; pos < to; pos = nextPos) {\n    var view = new LineView(cm.doc, getLine(cm.doc, pos), pos)\n    nextPos = pos + view.size\n    array.push(view)\n  }\n  return array\n}\n\nvar operationGroup = null\n\nfunction pushOperation(op) {\n  if (operationGroup) {\n    operationGroup.ops.push(op)\n  } else {\n    op.ownsGroup = operationGroup = {\n      ops: [op],\n      delayedCallbacks: []\n    }\n  }\n}\n\nfunction fireCallbacksForOps(group) {\n  // Calls delayed callbacks and cursorActivity handlers until no\n  // new ones appear\n  var callbacks = group.delayedCallbacks, i = 0\n  do {\n    for (; i < callbacks.length; i++)\n      { callbacks[i].call(null) }\n    for (var j = 0; j < group.ops.length; j++) {\n      var op = group.ops[j]\n      if (op.cursorActivityHandlers)\n        { while (op.cursorActivityCalled < op.cursorActivityHandlers.length)\n          { op.cursorActivityHandlers[op.cursorActivityCalled++].call(null, op.cm) } }\n    }\n  } while (i < callbacks.length)\n}\n\nfunction finishOperation(op, endCb) {\n  var group = op.ownsGroup\n  if (!group) { return }\n\n  try { fireCallbacksForOps(group) }\n  finally {\n    operationGroup = null\n    endCb(group)\n  }\n}\n\nvar orphanDelayedCallbacks = null\n\n// Often, we want to signal events at a point where we are in the\n// middle of some work, but don't want the handler to start calling\n// other methods on the editor, which might be in an inconsistent\n// state or simply not expect any other events to happen.\n// signalLater looks whether there are any handlers, and schedules\n// them to be executed when the last operation ends, or, if no\n// operation is active, when a timeout fires.\nfunction signalLater(emitter, type /*, values...*/) {\n  var arr = getHandlers(emitter, type)\n  if (!arr.length) { return }\n  var args = Array.prototype.slice.call(arguments, 2), list\n  if (operationGroup) {\n    list = operationGroup.delayedCallbacks\n  } else if (orphanDelayedCallbacks) {\n    list = orphanDelayedCallbacks\n  } else {\n    list = orphanDelayedCallbacks = []\n    setTimeout(fireOrphanDelayed, 0)\n  }\n  var loop = function ( i ) {\n    list.push(function () { return arr[i].apply(null, args); })\n  };\n\n  for (var i = 0; i < arr.length; ++i)\n    loop( i );\n}\n\nfunction fireOrphanDelayed() {\n  var delayed = orphanDelayedCallbacks\n  orphanDelayedCallbacks = null\n  for (var i = 0; i < delayed.length; ++i) { delayed[i]() }\n}\n\n// When an aspect of a line changes, a string is added to\n// lineView.changes. This updates the relevant part of the line's\n// DOM structure.\nfunction updateLineForChanges(cm, lineView, lineN, dims) {\n  for (var j = 0; j < lineView.changes.length; j++) {\n    var type = lineView.changes[j]\n    if (type == \"text\") { updateLineText(cm, lineView) }\n    else if (type == \"gutter\") { updateLineGutter(cm, lineView, lineN, dims) }\n    else if (type == \"class\") { updateLineClasses(cm, lineView) }\n    else if (type == \"widget\") { updateLineWidgets(cm, lineView, dims) }\n  }\n  lineView.changes = null\n}\n\n// Lines with gutter elements, widgets or a background class need to\n// be wrapped, and have the extra elements added to the wrapper div\nfunction ensureLineWrapped(lineView) {\n  if (lineView.node == lineView.text) {\n    lineView.node = elt(\"div\", null, null, \"position: relative\")\n    if (lineView.text.parentNode)\n      { lineView.text.parentNode.replaceChild(lineView.node, lineView.text) }\n    lineView.node.appendChild(lineView.text)\n    if (ie && ie_version < 8) { lineView.node.style.zIndex = 2 }\n  }\n  return lineView.node\n}\n\nfunction updateLineBackground(cm, lineView) {\n  var cls = lineView.bgClass ? lineView.bgClass + \" \" + (lineView.line.bgClass || \"\") : lineView.line.bgClass\n  if (cls) { cls += \" CodeMirror-linebackground\" }\n  if (lineView.background) {\n    if (cls) { lineView.background.className = cls }\n    else { lineView.background.parentNode.removeChild(lineView.background); lineView.background = null }\n  } else if (cls) {\n    var wrap = ensureLineWrapped(lineView)\n    lineView.background = wrap.insertBefore(elt(\"div\", null, cls), wrap.firstChild)\n    cm.display.input.setUneditable(lineView.background)\n  }\n}\n\n// Wrapper around buildLineContent which will reuse the structure\n// in display.externalMeasured when possible.\nfunction getLineContent(cm, lineView) {\n  var ext = cm.display.externalMeasured\n  if (ext && ext.line == lineView.line) {\n    cm.display.externalMeasured = null\n    lineView.measure = ext.measure\n    return ext.built\n  }\n  return buildLineContent(cm, lineView)\n}\n\n// Redraw the line's text. Interacts with the background and text\n// classes because the mode may output tokens that influence these\n// classes.\nfunction updateLineText(cm, lineView) {\n  var cls = lineView.text.className\n  var built = getLineContent(cm, lineView)\n  if (lineView.text == lineView.node) { lineView.node = built.pre }\n  lineView.text.parentNode.replaceChild(built.pre, lineView.text)\n  lineView.text = built.pre\n  if (built.bgClass != lineView.bgClass || built.textClass != lineView.textClass) {\n    lineView.bgClass = built.bgClass\n    lineView.textClass = built.textClass\n    updateLineClasses(cm, lineView)\n  } else if (cls) {\n    lineView.text.className = cls\n  }\n}\n\nfunction updateLineClasses(cm, lineView) {\n  updateLineBackground(cm, lineView)\n  if (lineView.line.wrapClass)\n    { ensureLineWrapped(lineView).className = lineView.line.wrapClass }\n  else if (lineView.node != lineView.text)\n    { lineView.node.className = \"\" }\n  var textClass = lineView.textClass ? lineView.textClass + \" \" + (lineView.line.textClass || \"\") : lineView.line.textClass\n  lineView.text.className = textClass || \"\"\n}\n\nfunction updateLineGutter(cm, lineView, lineN, dims) {\n  if (lineView.gutter) {\n    lineView.node.removeChild(lineView.gutter)\n    lineView.gutter = null\n  }\n  if (lineView.gutterBackground) {\n    lineView.node.removeChild(lineView.gutterBackground)\n    lineView.gutterBackground = null\n  }\n  if (lineView.line.gutterClass) {\n    var wrap = ensureLineWrapped(lineView)\n    lineView.gutterBackground = elt(\"div\", null, \"CodeMirror-gutter-background \" + lineView.line.gutterClass,\n                                    (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px; width: \" + (dims.gutterTotalWidth) + \"px\"))\n    cm.display.input.setUneditable(lineView.gutterBackground)\n    wrap.insertBefore(lineView.gutterBackground, lineView.text)\n  }\n  var markers = lineView.line.gutterMarkers\n  if (cm.options.lineNumbers || markers) {\n    var wrap$1 = ensureLineWrapped(lineView)\n    var gutterWrap = lineView.gutter = elt(\"div\", null, \"CodeMirror-gutter-wrapper\", (\"left: \" + (cm.options.fixedGutter ? dims.fixedPos : -dims.gutterTotalWidth) + \"px\"))\n    cm.display.input.setUneditable(gutterWrap)\n    wrap$1.insertBefore(gutterWrap, lineView.text)\n    if (lineView.line.gutterClass)\n      { gutterWrap.className += \" \" + lineView.line.gutterClass }\n    if (cm.options.lineNumbers && (!markers || !markers[\"CodeMirror-linenumbers\"]))\n      { lineView.lineNumber = gutterWrap.appendChild(\n        elt(\"div\", lineNumberFor(cm.options, lineN),\n            \"CodeMirror-linenumber CodeMirror-gutter-elt\",\n            (\"left: \" + (dims.gutterLeft[\"CodeMirror-linenumbers\"]) + \"px; width: \" + (cm.display.lineNumInnerWidth) + \"px\"))) }\n    if (markers) { for (var k = 0; k < cm.options.gutters.length; ++k) {\n      var id = cm.options.gutters[k], found = markers.hasOwnProperty(id) && markers[id]\n      if (found)\n        { gutterWrap.appendChild(elt(\"div\", [found], \"CodeMirror-gutter-elt\",\n                                   (\"left: \" + (dims.gutterLeft[id]) + \"px; width: \" + (dims.gutterWidth[id]) + \"px\"))) }\n    } }\n  }\n}\n\nfunction updateLineWidgets(cm, lineView, dims) {\n  if (lineView.alignable) { lineView.alignable = null }\n  for (var node = lineView.node.firstChild, next = (void 0); node; node = next) {\n    next = node.nextSibling\n    if (node.className == \"CodeMirror-linewidget\")\n      { lineView.node.removeChild(node) }\n  }\n  insertLineWidgets(cm, lineView, dims)\n}\n\n// Build a line's DOM representation from scratch\nfunction buildLineElement(cm, lineView, lineN, dims) {\n  var built = getLineContent(cm, lineView)\n  lineView.text = lineView.node = built.pre\n  if (built.bgClass) { lineView.bgClass = built.bgClass }\n  if (built.textClass) { lineView.textClass = built.textClass }\n\n  updateLineClasses(cm, lineView)\n  updateLineGutter(cm, lineView, lineN, dims)\n  insertLineWidgets(cm, lineView, dims)\n  return lineView.node\n}\n\n// A lineView may contain multiple logical lines (when merged by\n// collapsed spans). The widgets for all of them need to be drawn.\nfunction insertLineWidgets(cm, lineView, dims) {\n  insertLineWidgetsFor(cm, lineView.line, lineView, dims, true)\n  if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n    { insertLineWidgetsFor(cm, lineView.rest[i], lineView, dims, false) } }\n}\n\nfunction insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) {\n  if (!line.widgets) { return }\n  var wrap = ensureLineWrapped(lineView)\n  for (var i = 0, ws = line.widgets; i < ws.length; ++i) {\n    var widget = ws[i], node = elt(\"div\", [widget.node], \"CodeMirror-linewidget\")\n    if (!widget.handleMouseEvents) { node.setAttribute(\"cm-ignore-events\", \"true\") }\n    positionLineWidget(widget, node, lineView, dims)\n    cm.display.input.setUneditable(node)\n    if (allowAbove && widget.above)\n      { wrap.insertBefore(node, lineView.gutter || lineView.text) }\n    else\n      { wrap.appendChild(node) }\n    signalLater(widget, \"redraw\")\n  }\n}\n\nfunction positionLineWidget(widget, node, lineView, dims) {\n  if (widget.noHScroll) {\n    ;(lineView.alignable || (lineView.alignable = [])).push(node)\n    var width = dims.wrapperWidth\n    node.style.left = dims.fixedPos + \"px\"\n    if (!widget.coverGutter) {\n      width -= dims.gutterTotalWidth\n      node.style.paddingLeft = dims.gutterTotalWidth + \"px\"\n    }\n    node.style.width = width + \"px\"\n  }\n  if (widget.coverGutter) {\n    node.style.zIndex = 5\n    node.style.position = \"relative\"\n    if (!widget.noHScroll) { node.style.marginLeft = -dims.gutterTotalWidth + \"px\" }\n  }\n}\n\nfunction widgetHeight(widget) {\n  if (widget.height != null) { return widget.height }\n  var cm = widget.doc.cm\n  if (!cm) { return 0 }\n  if (!contains(document.body, widget.node)) {\n    var parentStyle = \"position: relative;\"\n    if (widget.coverGutter)\n      { parentStyle += \"margin-left: -\" + cm.display.gutters.offsetWidth + \"px;\" }\n    if (widget.noHScroll)\n      { parentStyle += \"width: \" + cm.display.wrapper.clientWidth + \"px;\" }\n    removeChildrenAndAdd(cm.display.measure, elt(\"div\", [widget.node], null, parentStyle))\n  }\n  return widget.height = widget.node.parentNode.offsetHeight\n}\n\n// Return true when the given mouse event happened in a widget\nfunction eventInWidget(display, e) {\n  for (var n = e_target(e); n != display.wrapper; n = n.parentNode) {\n    if (!n || (n.nodeType == 1 && n.getAttribute(\"cm-ignore-events\") == \"true\") ||\n        (n.parentNode == display.sizer && n != display.mover))\n      { return true }\n  }\n}\n\n// POSITION MEASUREMENT\n\nfunction paddingTop(display) {return display.lineSpace.offsetTop}\nfunction paddingVert(display) {return display.mover.offsetHeight - display.lineSpace.offsetHeight}\nfunction paddingH(display) {\n  if (display.cachedPaddingH) { return display.cachedPaddingH }\n  var e = removeChildrenAndAdd(display.measure, elt(\"pre\", \"x\"))\n  var style = window.getComputedStyle ? window.getComputedStyle(e) : e.currentStyle\n  var data = {left: parseInt(style.paddingLeft), right: parseInt(style.paddingRight)}\n  if (!isNaN(data.left) && !isNaN(data.right)) { display.cachedPaddingH = data }\n  return data\n}\n\nfunction scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth }\nfunction displayWidth(cm) {\n  return cm.display.scroller.clientWidth - scrollGap(cm) - cm.display.barWidth\n}\nfunction displayHeight(cm) {\n  return cm.display.scroller.clientHeight - scrollGap(cm) - cm.display.barHeight\n}\n\n// Ensure the lineView.wrapping.heights array is populated. This is\n// an array of bottom offsets for the lines that make up a drawn\n// line. When lineWrapping is on, there might be more than one\n// height.\nfunction ensureLineHeights(cm, lineView, rect) {\n  var wrapping = cm.options.lineWrapping\n  var curWidth = wrapping && displayWidth(cm)\n  if (!lineView.measure.heights || wrapping && lineView.measure.width != curWidth) {\n    var heights = lineView.measure.heights = []\n    if (wrapping) {\n      lineView.measure.width = curWidth\n      var rects = lineView.text.firstChild.getClientRects()\n      for (var i = 0; i < rects.length - 1; i++) {\n        var cur = rects[i], next = rects[i + 1]\n        if (Math.abs(cur.bottom - next.bottom) > 2)\n          { heights.push((cur.bottom + next.top) / 2 - rect.top) }\n      }\n    }\n    heights.push(rect.bottom - rect.top)\n  }\n}\n\n// Find a line map (mapping character offsets to text nodes) and a\n// measurement cache for the given line number. (A line view might\n// contain multiple lines when collapsed ranges are present.)\nfunction mapFromLineView(lineView, line, lineN) {\n  if (lineView.line == line)\n    { return {map: lineView.measure.map, cache: lineView.measure.cache} }\n  for (var i = 0; i < lineView.rest.length; i++)\n    { if (lineView.rest[i] == line)\n      { return {map: lineView.measure.maps[i], cache: lineView.measure.caches[i]} } }\n  for (var i$1 = 0; i$1 < lineView.rest.length; i$1++)\n    { if (lineNo(lineView.rest[i$1]) > lineN)\n      { return {map: lineView.measure.maps[i$1], cache: lineView.measure.caches[i$1], before: true} } }\n}\n\n// Render a line into the hidden node display.externalMeasured. Used\n// when measurement is needed for a line that's not in the viewport.\nfunction updateExternalMeasurement(cm, line) {\n  line = visualLine(line)\n  var lineN = lineNo(line)\n  var view = cm.display.externalMeasured = new LineView(cm.doc, line, lineN)\n  view.lineN = lineN\n  var built = view.built = buildLineContent(cm, view)\n  view.text = built.pre\n  removeChildrenAndAdd(cm.display.lineMeasure, built.pre)\n  return view\n}\n\n// Get a {top, bottom, left, right} box (in line-local coordinates)\n// for a given character.\nfunction measureChar(cm, line, ch, bias) {\n  return measureCharPrepared(cm, prepareMeasureForLine(cm, line), ch, bias)\n}\n\n// Find a line view that corresponds to the given line number.\nfunction findViewForLine(cm, lineN) {\n  if (lineN >= cm.display.viewFrom && lineN < cm.display.viewTo)\n    { return cm.display.view[findViewIndex(cm, lineN)] }\n  var ext = cm.display.externalMeasured\n  if (ext && lineN >= ext.lineN && lineN < ext.lineN + ext.size)\n    { return ext }\n}\n\n// Measurement can be split in two steps, the set-up work that\n// applies to the whole line, and the measurement of the actual\n// character. Functions like coordsChar, that need to do a lot of\n// measurements in a row, can thus ensure that the set-up work is\n// only done once.\nfunction prepareMeasureForLine(cm, line) {\n  var lineN = lineNo(line)\n  var view = findViewForLine(cm, lineN)\n  if (view && !view.text) {\n    view = null\n  } else if (view && view.changes) {\n    updateLineForChanges(cm, view, lineN, getDimensions(cm))\n    cm.curOp.forceUpdate = true\n  }\n  if (!view)\n    { view = updateExternalMeasurement(cm, line) }\n\n  var info = mapFromLineView(view, line, lineN)\n  return {\n    line: line, view: view, rect: null,\n    map: info.map, cache: info.cache, before: info.before,\n    hasHeights: false\n  }\n}\n\n// Given a prepared measurement object, measures the position of an\n// actual character (or fetches it from the cache).\nfunction measureCharPrepared(cm, prepared, ch, bias, varHeight) {\n  if (prepared.before) { ch = -1 }\n  var key = ch + (bias || \"\"), found\n  if (prepared.cache.hasOwnProperty(key)) {\n    found = prepared.cache[key]\n  } else {\n    if (!prepared.rect)\n      { prepared.rect = prepared.view.text.getBoundingClientRect() }\n    if (!prepared.hasHeights) {\n      ensureLineHeights(cm, prepared.view, prepared.rect)\n      prepared.hasHeights = true\n    }\n    found = measureCharInner(cm, prepared, ch, bias)\n    if (!found.bogus) { prepared.cache[key] = found }\n  }\n  return {left: found.left, right: found.right,\n          top: varHeight ? found.rtop : found.top,\n          bottom: varHeight ? found.rbottom : found.bottom}\n}\n\nvar nullRect = {left: 0, right: 0, top: 0, bottom: 0}\n\nfunction nodeAndOffsetInLineMap(map, ch, bias) {\n  var node, start, end, collapse, mStart, mEnd\n  // First, search the line map for the text node corresponding to,\n  // or closest to, the target character.\n  for (var i = 0; i < map.length; i += 3) {\n    mStart = map[i]\n    mEnd = map[i + 1]\n    if (ch < mStart) {\n      start = 0; end = 1\n      collapse = \"left\"\n    } else if (ch < mEnd) {\n      start = ch - mStart\n      end = start + 1\n    } else if (i == map.length - 3 || ch == mEnd && map[i + 3] > ch) {\n      end = mEnd - mStart\n      start = end - 1\n      if (ch >= mEnd) { collapse = \"right\" }\n    }\n    if (start != null) {\n      node = map[i + 2]\n      if (mStart == mEnd && bias == (node.insertLeft ? \"left\" : \"right\"))\n        { collapse = bias }\n      if (bias == \"left\" && start == 0)\n        { while (i && map[i - 2] == map[i - 3] && map[i - 1].insertLeft) {\n          node = map[(i -= 3) + 2]\n          collapse = \"left\"\n        } }\n      if (bias == \"right\" && start == mEnd - mStart)\n        { while (i < map.length - 3 && map[i + 3] == map[i + 4] && !map[i + 5].insertLeft) {\n          node = map[(i += 3) + 2]\n          collapse = \"right\"\n        } }\n      break\n    }\n  }\n  return {node: node, start: start, end: end, collapse: collapse, coverStart: mStart, coverEnd: mEnd}\n}\n\nfunction getUsefulRect(rects, bias) {\n  var rect = nullRect\n  if (bias == \"left\") { for (var i = 0; i < rects.length; i++) {\n    if ((rect = rects[i]).left != rect.right) { break }\n  } } else { for (var i$1 = rects.length - 1; i$1 >= 0; i$1--) {\n    if ((rect = rects[i$1]).left != rect.right) { break }\n  } }\n  return rect\n}\n\nfunction measureCharInner(cm, prepared, ch, bias) {\n  var place = nodeAndOffsetInLineMap(prepared.map, ch, bias)\n  var node = place.node, start = place.start, end = place.end, collapse = place.collapse\n\n  var rect\n  if (node.nodeType == 3) { // If it is a text node, use a range to retrieve the coordinates.\n    for (var i$1 = 0; i$1 < 4; i$1++) { // Retry a maximum of 4 times when nonsense rectangles are returned\n      while (start && isExtendingChar(prepared.line.text.charAt(place.coverStart + start))) { --start }\n      while (place.coverStart + end < place.coverEnd && isExtendingChar(prepared.line.text.charAt(place.coverStart + end))) { ++end }\n      if (ie && ie_version < 9 && start == 0 && end == place.coverEnd - place.coverStart)\n        { rect = node.parentNode.getBoundingClientRect() }\n      else\n        { rect = getUsefulRect(range(node, start, end).getClientRects(), bias) }\n      if (rect.left || rect.right || start == 0) { break }\n      end = start\n      start = start - 1\n      collapse = \"right\"\n    }\n    if (ie && ie_version < 11) { rect = maybeUpdateRectForZooming(cm.display.measure, rect) }\n  } else { // If it is a widget, simply get the box for the whole widget.\n    if (start > 0) { collapse = bias = \"right\" }\n    var rects\n    if (cm.options.lineWrapping && (rects = node.getClientRects()).length > 1)\n      { rect = rects[bias == \"right\" ? rects.length - 1 : 0] }\n    else\n      { rect = node.getBoundingClientRect() }\n  }\n  if (ie && ie_version < 9 && !start && (!rect || !rect.left && !rect.right)) {\n    var rSpan = node.parentNode.getClientRects()[0]\n    if (rSpan)\n      { rect = {left: rSpan.left, right: rSpan.left + charWidth(cm.display), top: rSpan.top, bottom: rSpan.bottom} }\n    else\n      { rect = nullRect }\n  }\n\n  var rtop = rect.top - prepared.rect.top, rbot = rect.bottom - prepared.rect.top\n  var mid = (rtop + rbot) / 2\n  var heights = prepared.view.measure.heights\n  var i = 0\n  for (; i < heights.length - 1; i++)\n    { if (mid < heights[i]) { break } }\n  var top = i ? heights[i - 1] : 0, bot = heights[i]\n  var result = {left: (collapse == \"right\" ? rect.right : rect.left) - prepared.rect.left,\n                right: (collapse == \"left\" ? rect.left : rect.right) - prepared.rect.left,\n                top: top, bottom: bot}\n  if (!rect.left && !rect.right) { result.bogus = true }\n  if (!cm.options.singleCursorHeightPerLine) { result.rtop = rtop; result.rbottom = rbot }\n\n  return result\n}\n\n// Work around problem with bounding client rects on ranges being\n// returned incorrectly when zoomed on IE10 and below.\nfunction maybeUpdateRectForZooming(measure, rect) {\n  if (!window.screen || screen.logicalXDPI == null ||\n      screen.logicalXDPI == screen.deviceXDPI || !hasBadZoomedRects(measure))\n    { return rect }\n  var scaleX = screen.logicalXDPI / screen.deviceXDPI\n  var scaleY = screen.logicalYDPI / screen.deviceYDPI\n  return {left: rect.left * scaleX, right: rect.right * scaleX,\n          top: rect.top * scaleY, bottom: rect.bottom * scaleY}\n}\n\nfunction clearLineMeasurementCacheFor(lineView) {\n  if (lineView.measure) {\n    lineView.measure.cache = {}\n    lineView.measure.heights = null\n    if (lineView.rest) { for (var i = 0; i < lineView.rest.length; i++)\n      { lineView.measure.caches[i] = {} } }\n  }\n}\n\nfunction clearLineMeasurementCache(cm) {\n  cm.display.externalMeasure = null\n  removeChildren(cm.display.lineMeasure)\n  for (var i = 0; i < cm.display.view.length; i++)\n    { clearLineMeasurementCacheFor(cm.display.view[i]) }\n}\n\nfunction clearCaches(cm) {\n  clearLineMeasurementCache(cm)\n  cm.display.cachedCharWidth = cm.display.cachedTextHeight = cm.display.cachedPaddingH = null\n  if (!cm.options.lineWrapping) { cm.display.maxLineChanged = true }\n  cm.display.lineNumChars = null\n}\n\nfunction pageScrollX() {\n  // Work around https://bugs.chromium.org/p/chromium/issues/detail?id=489206\n  // which causes page_Offset and bounding client rects to use\n  // different reference viewports and invalidate our calculations.\n  if (chrome && android) { return -(document.body.getBoundingClientRect().left - parseInt(getComputedStyle(document.body).marginLeft)) }\n  return window.pageXOffset || (document.documentElement || document.body).scrollLeft\n}\nfunction pageScrollY() {\n  if (chrome && android) { return -(document.body.getBoundingClientRect().top - parseInt(getComputedStyle(document.body).marginTop)) }\n  return window.pageYOffset || (document.documentElement || document.body).scrollTop\n}\n\nfunction widgetTopHeight(lineObj) {\n  var height = 0\n  if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above)\n    { height += widgetHeight(lineObj.widgets[i]) } } }\n  return height\n}\n\n// Converts a {top, bottom, left, right} box from line-local\n// coordinates into another coordinate system. Context may be one of\n// \"line\", \"div\" (display.lineDiv), \"local\"./null (editor), \"window\",\n// or \"page\".\nfunction intoCoordSystem(cm, lineObj, rect, context, includeWidgets) {\n  if (!includeWidgets) {\n    var height = widgetTopHeight(lineObj)\n    rect.top += height; rect.bottom += height\n  }\n  if (context == \"line\") { return rect }\n  if (!context) { context = \"local\" }\n  var yOff = heightAtLine(lineObj)\n  if (context == \"local\") { yOff += paddingTop(cm.display) }\n  else { yOff -= cm.display.viewOffset }\n  if (context == \"page\" || context == \"window\") {\n    var lOff = cm.display.lineSpace.getBoundingClientRect()\n    yOff += lOff.top + (context == \"window\" ? 0 : pageScrollY())\n    var xOff = lOff.left + (context == \"window\" ? 0 : pageScrollX())\n    rect.left += xOff; rect.right += xOff\n  }\n  rect.top += yOff; rect.bottom += yOff\n  return rect\n}\n\n// Coverts a box from \"div\" coords to another coordinate system.\n// Context may be \"window\", \"page\", \"div\", or \"local\"./null.\nfunction fromCoordSystem(cm, coords, context) {\n  if (context == \"div\") { return coords }\n  var left = coords.left, top = coords.top\n  // First move into \"page\" coordinate system\n  if (context == \"page\") {\n    left -= pageScrollX()\n    top -= pageScrollY()\n  } else if (context == \"local\" || !context) {\n    var localBox = cm.display.sizer.getBoundingClientRect()\n    left += localBox.left\n    top += localBox.top\n  }\n\n  var lineSpaceBox = cm.display.lineSpace.getBoundingClientRect()\n  return {left: left - lineSpaceBox.left, top: top - lineSpaceBox.top}\n}\n\nfunction charCoords(cm, pos, context, lineObj, bias) {\n  if (!lineObj) { lineObj = getLine(cm.doc, pos.line) }\n  return intoCoordSystem(cm, lineObj, measureChar(cm, lineObj, pos.ch, bias), context)\n}\n\n// Returns a box for a given cursor position, which may have an\n// 'other' property containing the position of the secondary cursor\n// on a bidi boundary.\n// A cursor Pos(line, char, \"before\") is on the same visual line as `char - 1`\n// and after `char - 1` in writing order of `char - 1`\n// A cursor Pos(line, char, \"after\") is on the same visual line as `char`\n// and before `char` in writing order of `char`\n// Examples (upper-case letters are RTL, lower-case are LTR):\n//     Pos(0, 1, ...)\n//     before   after\n// ab     a|b     a|b\n// aB     a|B     aB|\n// Ab     |Ab     A|b\n// AB     B|A     B|A\n// Every position after the last character on a line is considered to stick\n// to the last character on the line.\nfunction cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) {\n  lineObj = lineObj || getLine(cm.doc, pos.line)\n  if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) }\n  function get(ch, right) {\n    var m = measureCharPrepared(cm, preparedMeasure, ch, right ? \"right\" : \"left\", varHeight)\n    if (right) { m.left = m.right; } else { m.right = m.left }\n    return intoCoordSystem(cm, lineObj, m, context)\n  }\n  var order = getOrder(lineObj, cm.doc.direction), ch = pos.ch, sticky = pos.sticky\n  if (ch >= lineObj.text.length) {\n    ch = lineObj.text.length\n    sticky = \"before\"\n  } else if (ch <= 0) {\n    ch = 0\n    sticky = \"after\"\n  }\n  if (!order) { return get(sticky == \"before\" ? ch - 1 : ch, sticky == \"before\") }\n\n  function getBidi(ch, partPos, invert) {\n    var part = order[partPos], right = part.level == 1\n    return get(invert ? ch - 1 : ch, right != invert)\n  }\n  var partPos = getBidiPartAt(order, ch, sticky)\n  var other = bidiOther\n  var val = getBidi(ch, partPos, sticky == \"before\")\n  if (other != null) { val.other = getBidi(ch, other, sticky != \"before\") }\n  return val\n}\n\n// Used to cheaply estimate the coordinates for a position. Used for\n// intermediate scroll updates.\nfunction estimateCoords(cm, pos) {\n  var left = 0\n  pos = clipPos(cm.doc, pos)\n  if (!cm.options.lineWrapping) { left = charWidth(cm.display) * pos.ch }\n  var lineObj = getLine(cm.doc, pos.line)\n  var top = heightAtLine(lineObj) + paddingTop(cm.display)\n  return {left: left, right: left, top: top, bottom: top + lineObj.height}\n}\n\n// Positions returned by coordsChar contain some extra information.\n// xRel is the relative x position of the input coordinates compared\n// to the found position (so xRel > 0 means the coordinates are to\n// the right of the character position, for example). When outside\n// is true, that means the coordinates lie outside the line's\n// vertical range.\nfunction PosWithInfo(line, ch, sticky, outside, xRel) {\n  var pos = Pos(line, ch, sticky)\n  pos.xRel = xRel\n  if (outside) { pos.outside = true }\n  return pos\n}\n\n// Compute the character position closest to the given coordinates.\n// Input must be lineSpace-local (\"div\" coordinate system).\nfunction coordsChar(cm, x, y) {\n  var doc = cm.doc\n  y += cm.display.viewOffset\n  if (y < 0) { return PosWithInfo(doc.first, 0, null, true, -1) }\n  var lineN = lineAtHeight(doc, y), last = doc.first + doc.size - 1\n  if (lineN > last)\n    { return PosWithInfo(doc.first + doc.size - 1, getLine(doc, last).text.length, null, true, 1) }\n  if (x < 0) { x = 0 }\n\n  var lineObj = getLine(doc, lineN)\n  for (;;) {\n    var found = coordsCharInner(cm, lineObj, lineN, x, y)\n    var collapsed = collapsedSpanAround(lineObj, found.ch + (found.xRel > 0 ? 1 : 0))\n    if (!collapsed) { return found }\n    var rangeEnd = collapsed.find(1)\n    if (rangeEnd.line == lineN) { return rangeEnd }\n    lineObj = getLine(doc, lineN = rangeEnd.line)\n  }\n}\n\nfunction wrappedLineExtent(cm, lineObj, preparedMeasure, y) {\n  y -= widgetTopHeight(lineObj)\n  var end = lineObj.text.length\n  var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0)\n  end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end)\n  return {begin: begin, end: end}\n}\n\nfunction wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) {\n  if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) }\n  var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), \"line\").top\n  return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop)\n}\n\n// Returns true if the given side of a box is after the given\n// coordinates, in top-to-bottom, left-to-right order.\nfunction boxIsAfter(box, x, y, left) {\n  return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x\n}\n\nfunction coordsCharInner(cm, lineObj, lineNo, x, y) {\n  // Move y into line-local coordinate space\n  y -= heightAtLine(lineObj)\n  var preparedMeasure = prepareMeasureForLine(cm, lineObj)\n  // When directly calling `measureCharPrepared`, we have to adjust\n  // for the widgets at this line.\n  var widgetHeight = widgetTopHeight(lineObj)\n  var begin = 0, end = lineObj.text.length, ltr = true\n\n  var order = getOrder(lineObj, cm.doc.direction)\n  // If the line isn't plain left-to-right text, first figure out\n  // which bidi section the coordinates fall into.\n  if (order) {\n    var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart)\n                 (cm, lineObj, lineNo, preparedMeasure, order, x, y)\n    ltr = part.level != 1\n    // The awkward -1 offsets are needed because findFirst (called\n    // on these below) will treat its first bound as inclusive,\n    // second as exclusive, but we want to actually address the\n    // characters in the part's range\n    begin = ltr ? part.from : part.to - 1\n    end = ltr ? part.to : part.from - 1\n  }\n\n  // A binary search to find the first character whose bounding box\n  // starts after the coordinates. If we run across any whose box wrap\n  // the coordinates, store that.\n  var chAround = null, boxAround = null\n  var ch = findFirst(function (ch) {\n    var box = measureCharPrepared(cm, preparedMeasure, ch)\n    box.top += widgetHeight; box.bottom += widgetHeight\n    if (!boxIsAfter(box, x, y, false)) { return false }\n    if (box.top <= y && box.left <= x) {\n      chAround = ch\n      boxAround = box\n    }\n    return true\n  }, begin, end)\n\n  var baseX, sticky, outside = false\n  // If a box around the coordinates was found, use that\n  if (boxAround) {\n    // Distinguish coordinates nearer to the left or right side of the box\n    var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr\n    ch = chAround + (atStart ? 0 : 1)\n    sticky = atStart ? \"after\" : \"before\"\n    baseX = atLeft ? boxAround.left : boxAround.right\n  } else {\n    // (Adjust for extended bound, if necessary.)\n    if (!ltr && (ch == end || ch == begin)) { ch++ }\n    // To determine which side to associate with, get the box to the\n    // left of the character and compare it's vertical position to the\n    // coordinates\n    sticky = ch == 0 ? \"after\" : ch == lineObj.text.length ? \"before\" :\n      (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ?\n      \"after\" : \"before\"\n    // Now get accurate coordinates for this place, in order to get a\n    // base X position\n    var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), \"line\", lineObj, preparedMeasure)\n    baseX = coords.left\n    outside = y < coords.top || y >= coords.bottom\n  }\n\n  ch = skipExtendingChars(lineObj.text, ch, 1)\n  return PosWithInfo(lineNo, ch, sticky, outside, x - baseX)\n}\n\nfunction coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) {\n  // Bidi parts are sorted left-to-right, and in a non-line-wrapping\n  // situation, we can take this ordering to correspond to the visual\n  // ordering. This finds the first part whose end is after the given\n  // coordinates.\n  var index = findFirst(function (i) {\n    var part = order[i], ltr = part.level != 1\n    return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? \"before\" : \"after\"),\n                                   \"line\", lineObj, preparedMeasure), x, y, true)\n  }, 0, order.length - 1)\n  var part = order[index]\n  // If this isn't the first part, the part's start is also after\n  // the coordinates, and the coordinates aren't on the same line as\n  // that start, move one part back.\n  if (index > 0) {\n    var ltr = part.level != 1\n    var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? \"after\" : \"before\"),\n                             \"line\", lineObj, preparedMeasure)\n    if (boxIsAfter(start, x, y, true) && start.top > y)\n      { part = order[index - 1] }\n  }\n  return part\n}\n\nfunction coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) {\n  // In a wrapped line, rtl text on wrapping boundaries can do things\n  // that don't correspond to the ordering in our `order` array at\n  // all, so a binary search doesn't work, and we want to return a\n  // part that only spans one line so that the binary search in\n  // coordsCharInner is safe. As such, we first find the extent of the\n  // wrapped line, and then do a flat search in which we discard any\n  // spans that aren't on the line.\n  var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y);\n  var begin = ref.begin;\n  var end = ref.end;\n  if (/\\s/.test(lineObj.text.charAt(end - 1))) { end-- }\n  var part = null, closestDist = null\n  for (var i = 0; i < order.length; i++) {\n    var p = order[i]\n    if (p.from >= end || p.to <= begin) { continue }\n    var ltr = p.level != 1\n    var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right\n    // Weigh against spans ending before this, so that they are only\n    // picked if nothing ends after\n    var dist = endX < x ? x - endX + 1e9 : endX - x\n    if (!part || closestDist > dist) {\n      part = p\n      closestDist = dist\n    }\n  }\n  if (!part) { part = order[order.length - 1] }\n  // Clip the part to the wrapped line.\n  if (part.from < begin) { part = {from: begin, to: part.to, level: part.level} }\n  if (part.to > end) { part = {from: part.from, to: end, level: part.level} }\n  return part\n}\n\nvar measureText\n// Compute the default text height.\nfunction textHeight(display) {\n  if (display.cachedTextHeight != null) { return display.cachedTextHeight }\n  if (measureText == null) {\n    measureText = elt(\"pre\")\n    // Measure a bunch of lines, for browsers that compute\n    // fractional heights.\n    for (var i = 0; i < 49; ++i) {\n      measureText.appendChild(document.createTextNode(\"x\"))\n      measureText.appendChild(elt(\"br\"))\n    }\n    measureText.appendChild(document.createTextNode(\"x\"))\n  }\n  removeChildrenAndAdd(display.measure, measureText)\n  var height = measureText.offsetHeight / 50\n  if (height > 3) { display.cachedTextHeight = height }\n  removeChildren(display.measure)\n  return height || 1\n}\n\n// Compute the default character width.\nfunction charWidth(display) {\n  if (display.cachedCharWidth != null) { return display.cachedCharWidth }\n  var anchor = elt(\"span\", \"xxxxxxxxxx\")\n  var pre = elt(\"pre\", [anchor])\n  removeChildrenAndAdd(display.measure, pre)\n  var rect = anchor.getBoundingClientRect(), width = (rect.right - rect.left) / 10\n  if (width > 2) { display.cachedCharWidth = width }\n  return width || 10\n}\n\n// Do a bulk-read of the DOM positions and sizes needed to draw the\n// view, so that we don't interleave reading and writing to the DOM.\nfunction getDimensions(cm) {\n  var d = cm.display, left = {}, width = {}\n  var gutterLeft = d.gutters.clientLeft\n  for (var n = d.gutters.firstChild, i = 0; n; n = n.nextSibling, ++i) {\n    left[cm.options.gutters[i]] = n.offsetLeft + n.clientLeft + gutterLeft\n    width[cm.options.gutters[i]] = n.clientWidth\n  }\n  return {fixedPos: compensateForHScroll(d),\n          gutterTotalWidth: d.gutters.offsetWidth,\n          gutterLeft: left,\n          gutterWidth: width,\n          wrapperWidth: d.wrapper.clientWidth}\n}\n\n// Computes display.scroller.scrollLeft + display.gutters.offsetWidth,\n// but using getBoundingClientRect to get a sub-pixel-accurate\n// result.\nfunction compensateForHScroll(display) {\n  return display.scroller.getBoundingClientRect().left - display.sizer.getBoundingClientRect().left\n}\n\n// Returns a function that estimates the height of a line, to use as\n// first approximation until the line becomes visible (and is thus\n// properly measurable).\nfunction estimateHeight(cm) {\n  var th = textHeight(cm.display), wrapping = cm.options.lineWrapping\n  var perLine = wrapping && Math.max(5, cm.display.scroller.clientWidth / charWidth(cm.display) - 3)\n  return function (line) {\n    if (lineIsHidden(cm.doc, line)) { return 0 }\n\n    var widgetsHeight = 0\n    if (line.widgets) { for (var i = 0; i < line.widgets.length; i++) {\n      if (line.widgets[i].height) { widgetsHeight += line.widgets[i].height }\n    } }\n\n    if (wrapping)\n      { return widgetsHeight + (Math.ceil(line.text.length / perLine) || 1) * th }\n    else\n      { return widgetsHeight + th }\n  }\n}\n\nfunction estimateLineHeights(cm) {\n  var doc = cm.doc, est = estimateHeight(cm)\n  doc.iter(function (line) {\n    var estHeight = est(line)\n    if (estHeight != line.height) { updateLineHeight(line, estHeight) }\n  })\n}\n\n// Given a mouse event, find the corresponding position. If liberal\n// is false, it checks whether a gutter or scrollbar was clicked,\n// and returns null if it was. forRect is used by rectangular\n// selections, and tries to estimate a character position even for\n// coordinates beyond the right of the text.\nfunction posFromMouse(cm, e, liberal, forRect) {\n  var display = cm.display\n  if (!liberal && e_target(e).getAttribute(\"cm-not-content\") == \"true\") { return null }\n\n  var x, y, space = display.lineSpace.getBoundingClientRect()\n  // Fails unpredictably on IE[67] when mouse is dragged around quickly.\n  try { x = e.clientX - space.left; y = e.clientY - space.top }\n  catch (e) { return null }\n  var coords = coordsChar(cm, x, y), line\n  if (forRect && coords.xRel == 1 && (line = getLine(cm.doc, coords.line).text).length == coords.ch) {\n    var colDiff = countColumn(line, line.length, cm.options.tabSize) - line.length\n    coords = Pos(coords.line, Math.max(0, Math.round((x - paddingH(cm.display).left) / charWidth(cm.display)) - colDiff))\n  }\n  return coords\n}\n\n// Find the view element corresponding to a given line. Return null\n// when the line isn't visible.\nfunction findViewIndex(cm, n) {\n  if (n >= cm.display.viewTo) { return null }\n  n -= cm.display.viewFrom\n  if (n < 0) { return null }\n  var view = cm.display.view\n  for (var i = 0; i < view.length; i++) {\n    n -= view[i].size\n    if (n < 0) { return i }\n  }\n}\n\nfunction updateSelection(cm) {\n  cm.display.input.showSelection(cm.display.input.prepareSelection())\n}\n\nfunction prepareSelection(cm, primary) {\n  if ( primary === void 0 ) primary = true;\n\n  var doc = cm.doc, result = {}\n  var curFragment = result.cursors = document.createDocumentFragment()\n  var selFragment = result.selection = document.createDocumentFragment()\n\n  for (var i = 0; i < doc.sel.ranges.length; i++) {\n    if (!primary && i == doc.sel.primIndex) { continue }\n    var range = doc.sel.ranges[i]\n    if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue }\n    var collapsed = range.empty()\n    if (collapsed || cm.options.showCursorWhenSelecting)\n      { drawSelectionCursor(cm, range.head, curFragment) }\n    if (!collapsed)\n      { drawSelectionRange(cm, range, selFragment) }\n  }\n  return result\n}\n\n// Draws a cursor for the given range\nfunction drawSelectionCursor(cm, head, output) {\n  var pos = cursorCoords(cm, head, \"div\", null, null, !cm.options.singleCursorHeightPerLine)\n\n  var cursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor\"))\n  cursor.style.left = pos.left + \"px\"\n  cursor.style.top = pos.top + \"px\"\n  cursor.style.height = Math.max(0, pos.bottom - pos.top) * cm.options.cursorHeight + \"px\"\n\n  if (pos.other) {\n    // Secondary cursor, shown when on a 'jump' in bi-directional text\n    var otherCursor = output.appendChild(elt(\"div\", \"\\u00a0\", \"CodeMirror-cursor CodeMirror-secondarycursor\"))\n    otherCursor.style.display = \"\"\n    otherCursor.style.left = pos.other.left + \"px\"\n    otherCursor.style.top = pos.other.top + \"px\"\n    otherCursor.style.height = (pos.other.bottom - pos.other.top) * .85 + \"px\"\n  }\n}\n\nfunction cmpCoords(a, b) { return a.top - b.top || a.left - b.left }\n\n// Draws the given range as a highlighted selection\nfunction drawSelectionRange(cm, range, output) {\n  var display = cm.display, doc = cm.doc\n  var fragment = document.createDocumentFragment()\n  var padding = paddingH(cm.display), leftSide = padding.left\n  var rightSide = Math.max(display.sizerWidth, displayWidth(cm) - display.sizer.offsetLeft) - padding.right\n  var docLTR = doc.direction == \"ltr\"\n\n  function add(left, top, width, bottom) {\n    if (top < 0) { top = 0 }\n    top = Math.round(top)\n    bottom = Math.round(bottom)\n    fragment.appendChild(elt(\"div\", null, \"CodeMirror-selected\", (\"position: absolute; left: \" + left + \"px;\\n                             top: \" + top + \"px; width: \" + (width == null ? rightSide - left : width) + \"px;\\n                             height: \" + (bottom - top) + \"px\")))\n  }\n\n  function drawForLine(line, fromArg, toArg) {\n    var lineObj = getLine(doc, line)\n    var lineLen = lineObj.text.length\n    var start, end\n    function coords(ch, bias) {\n      return charCoords(cm, Pos(line, ch), \"div\", lineObj, bias)\n    }\n\n    function wrapX(pos, dir, side) {\n      var extent = wrappedLineExtentChar(cm, lineObj, null, pos)\n      var prop = (dir == \"ltr\") == (side == \"after\") ? \"left\" : \"right\"\n      var ch = side == \"after\" ? extent.begin : extent.end - (/\\s/.test(lineObj.text.charAt(extent.end - 1)) ? 2 : 1)\n      return coords(ch, prop)[prop]\n    }\n\n    var order = getOrder(lineObj, doc.direction)\n    iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) {\n      var ltr = dir == \"ltr\"\n      var fromPos = coords(from, ltr ? \"left\" : \"right\")\n      var toPos = coords(to - 1, ltr ? \"right\" : \"left\")\n\n      var openStart = fromArg == null && from == 0, openEnd = toArg == null && to == lineLen\n      var first = i == 0, last = !order || i == order.length - 1\n      if (toPos.top - fromPos.top <= 3) { // Single line\n        var openLeft = (docLTR ? openStart : openEnd) && first\n        var openRight = (docLTR ? openEnd : openStart) && last\n        var left = openLeft ? leftSide : (ltr ? fromPos : toPos).left\n        var right = openRight ? rightSide : (ltr ? toPos : fromPos).right\n        add(left, fromPos.top, right - left, fromPos.bottom)\n      } else { // Multiple lines\n        var topLeft, topRight, botLeft, botRight\n        if (ltr) {\n          topLeft = docLTR && openStart && first ? leftSide : fromPos.left\n          topRight = docLTR ? rightSide : wrapX(from, dir, \"before\")\n          botLeft = docLTR ? leftSide : wrapX(to, dir, \"after\")\n          botRight = docLTR && openEnd && last ? rightSide : toPos.right\n        } else {\n          topLeft = !docLTR ? leftSide : wrapX(from, dir, \"before\")\n          topRight = !docLTR && openStart && first ? rightSide : fromPos.right\n          botLeft = !docLTR && openEnd && last ? leftSide : toPos.left\n          botRight = !docLTR ? rightSide : wrapX(to, dir, \"after\")\n        }\n        add(topLeft, fromPos.top, topRight - topLeft, fromPos.bottom)\n        if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top) }\n        add(botLeft, toPos.top, botRight - botLeft, toPos.bottom)\n      }\n\n      if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos }\n      if (cmpCoords(toPos, start) < 0) { start = toPos }\n      if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos }\n      if (cmpCoords(toPos, end) < 0) { end = toPos }\n    })\n    return {start: start, end: end}\n  }\n\n  var sFrom = range.from(), sTo = range.to()\n  if (sFrom.line == sTo.line) {\n    drawForLine(sFrom.line, sFrom.ch, sTo.ch)\n  } else {\n    var fromLine = getLine(doc, sFrom.line), toLine = getLine(doc, sTo.line)\n    var singleVLine = visualLine(fromLine) == visualLine(toLine)\n    var leftEnd = drawForLine(sFrom.line, sFrom.ch, singleVLine ? fromLine.text.length + 1 : null).end\n    var rightStart = drawForLine(sTo.line, singleVLine ? 0 : null, sTo.ch).start\n    if (singleVLine) {\n      if (leftEnd.top < rightStart.top - 2) {\n        add(leftEnd.right, leftEnd.top, null, leftEnd.bottom)\n        add(leftSide, rightStart.top, rightStart.left, rightStart.bottom)\n      } else {\n        add(leftEnd.right, leftEnd.top, rightStart.left - leftEnd.right, leftEnd.bottom)\n      }\n    }\n    if (leftEnd.bottom < rightStart.top)\n      { add(leftSide, leftEnd.bottom, null, rightStart.top) }\n  }\n\n  output.appendChild(fragment)\n}\n\n// Cursor-blinking\nfunction restartBlink(cm) {\n  if (!cm.state.focused) { return }\n  var display = cm.display\n  clearInterval(display.blinker)\n  var on = true\n  display.cursorDiv.style.visibility = \"\"\n  if (cm.options.cursorBlinkRate > 0)\n    { display.blinker = setInterval(function () { return display.cursorDiv.style.visibility = (on = !on) ? \"\" : \"hidden\"; },\n      cm.options.cursorBlinkRate) }\n  else if (cm.options.cursorBlinkRate < 0)\n    { display.cursorDiv.style.visibility = \"hidden\" }\n}\n\nfunction ensureFocus(cm) {\n  if (!cm.state.focused) { cm.display.input.focus(); onFocus(cm) }\n}\n\nfunction delayBlurEvent(cm) {\n  cm.state.delayingBlurEvent = true\n  setTimeout(function () { if (cm.state.delayingBlurEvent) {\n    cm.state.delayingBlurEvent = false\n    onBlur(cm)\n  } }, 100)\n}\n\nfunction onFocus(cm, e) {\n  if (cm.state.delayingBlurEvent) { cm.state.delayingBlurEvent = false }\n\n  if (cm.options.readOnly == \"nocursor\") { return }\n  if (!cm.state.focused) {\n    signal(cm, \"focus\", cm, e)\n    cm.state.focused = true\n    addClass(cm.display.wrapper, \"CodeMirror-focused\")\n    // This test prevents this from firing when a context\n    // menu is closed (since the input reset would kill the\n    // select-all detection hack)\n    if (!cm.curOp && cm.display.selForContextMenu != cm.doc.sel) {\n      cm.display.input.reset()\n      if (webkit) { setTimeout(function () { return cm.display.input.reset(true); }, 20) } // Issue #1730\n    }\n    cm.display.input.receivedFocus()\n  }\n  restartBlink(cm)\n}\nfunction onBlur(cm, e) {\n  if (cm.state.delayingBlurEvent) { return }\n\n  if (cm.state.focused) {\n    signal(cm, \"blur\", cm, e)\n    cm.state.focused = false\n    rmClass(cm.display.wrapper, \"CodeMirror-focused\")\n  }\n  clearInterval(cm.display.blinker)\n  setTimeout(function () { if (!cm.state.focused) { cm.display.shift = false } }, 150)\n}\n\n// Read the actual heights of the rendered lines, and update their\n// stored heights to match.\nfunction updateHeightsInViewport(cm) {\n  var display = cm.display\n  var prevBottom = display.lineDiv.offsetTop\n  for (var i = 0; i < display.view.length; i++) {\n    var cur = display.view[i], height = (void 0)\n    if (cur.hidden) { continue }\n    if (ie && ie_version < 8) {\n      var bot = cur.node.offsetTop + cur.node.offsetHeight\n      height = bot - prevBottom\n      prevBottom = bot\n    } else {\n      var box = cur.node.getBoundingClientRect()\n      height = box.bottom - box.top\n    }\n    var diff = cur.line.height - height\n    if (height < 2) { height = textHeight(display) }\n    if (diff > .005 || diff < -.005) {\n      updateLineHeight(cur.line, height)\n      updateWidgetHeight(cur.line)\n      if (cur.rest) { for (var j = 0; j < cur.rest.length; j++)\n        { updateWidgetHeight(cur.rest[j]) } }\n    }\n  }\n}\n\n// Read and store the height of line widgets associated with the\n// given line.\nfunction updateWidgetHeight(line) {\n  if (line.widgets) { for (var i = 0; i < line.widgets.length; ++i) {\n    var w = line.widgets[i], parent = w.node.parentNode\n    if (parent) { w.height = parent.offsetHeight }\n  } }\n}\n\n// Compute the lines that are visible in a given viewport (defaults\n// the the current scroll position). viewport may contain top,\n// height, and ensure (see op.scrollToPos) properties.\nfunction visibleLines(display, doc, viewport) {\n  var top = viewport && viewport.top != null ? Math.max(0, viewport.top) : display.scroller.scrollTop\n  top = Math.floor(top - paddingTop(display))\n  var bottom = viewport && viewport.bottom != null ? viewport.bottom : top + display.wrapper.clientHeight\n\n  var from = lineAtHeight(doc, top), to = lineAtHeight(doc, bottom)\n  // Ensure is a {from: {line, ch}, to: {line, ch}} object, and\n  // forces those lines into the viewport (if possible).\n  if (viewport && viewport.ensure) {\n    var ensureFrom = viewport.ensure.from.line, ensureTo = viewport.ensure.to.line\n    if (ensureFrom < from) {\n      from = ensureFrom\n      to = lineAtHeight(doc, heightAtLine(getLine(doc, ensureFrom)) + display.wrapper.clientHeight)\n    } else if (Math.min(ensureTo, doc.lastLine()) >= to) {\n      from = lineAtHeight(doc, heightAtLine(getLine(doc, ensureTo)) - display.wrapper.clientHeight)\n      to = ensureTo\n    }\n  }\n  return {from: from, to: Math.max(to, from + 1)}\n}\n\n// Re-align line numbers and gutter marks to compensate for\n// horizontal scrolling.\nfunction alignHorizontally(cm) {\n  var display = cm.display, view = display.view\n  if (!display.alignWidgets && (!display.gutters.firstChild || !cm.options.fixedGutter)) { return }\n  var comp = compensateForHScroll(display) - display.scroller.scrollLeft + cm.doc.scrollLeft\n  var gutterW = display.gutters.offsetWidth, left = comp + \"px\"\n  for (var i = 0; i < view.length; i++) { if (!view[i].hidden) {\n    if (cm.options.fixedGutter) {\n      if (view[i].gutter)\n        { view[i].gutter.style.left = left }\n      if (view[i].gutterBackground)\n        { view[i].gutterBackground.style.left = left }\n    }\n    var align = view[i].alignable\n    if (align) { for (var j = 0; j < align.length; j++)\n      { align[j].style.left = left } }\n  } }\n  if (cm.options.fixedGutter)\n    { display.gutters.style.left = (comp + gutterW) + \"px\" }\n}\n\n// Used to ensure that the line number gutter is still the right\n// size for the current document size. Returns true when an update\n// is needed.\nfunction maybeUpdateLineNumberWidth(cm) {\n  if (!cm.options.lineNumbers) { return false }\n  var doc = cm.doc, last = lineNumberFor(cm.options, doc.first + doc.size - 1), display = cm.display\n  if (last.length != display.lineNumChars) {\n    var test = display.measure.appendChild(elt(\"div\", [elt(\"div\", last)],\n                                               \"CodeMirror-linenumber CodeMirror-gutter-elt\"))\n    var innerW = test.firstChild.offsetWidth, padding = test.offsetWidth - innerW\n    display.lineGutter.style.width = \"\"\n    display.lineNumInnerWidth = Math.max(innerW, display.lineGutter.offsetWidth - padding) + 1\n    display.lineNumWidth = display.lineNumInnerWidth + padding\n    display.lineNumChars = display.lineNumInnerWidth ? last.length : -1\n    display.lineGutter.style.width = display.lineNumWidth + \"px\"\n    updateGutterSpace(cm)\n    return true\n  }\n  return false\n}\n\n// SCROLLING THINGS INTO VIEW\n\n// If an editor sits on the top or bottom of the window, partially\n// scrolled out of view, this ensures that the cursor is visible.\nfunction maybeScrollWindow(cm, rect) {\n  if (signalDOMEvent(cm, \"scrollCursorIntoView\")) { return }\n\n  var display = cm.display, box = display.sizer.getBoundingClientRect(), doScroll = null\n  if (rect.top + box.top < 0) { doScroll = true }\n  else if (rect.bottom + box.top > (window.innerHeight || document.documentElement.clientHeight)) { doScroll = false }\n  if (doScroll != null && !phantom) {\n    var scrollNode = elt(\"div\", \"\\u200b\", null, (\"position: absolute;\\n                         top: \" + (rect.top - display.viewOffset - paddingTop(cm.display)) + \"px;\\n                         height: \" + (rect.bottom - rect.top + scrollGap(cm) + display.barHeight) + \"px;\\n                         left: \" + (rect.left) + \"px; width: \" + (Math.max(2, rect.right - rect.left)) + \"px;\"))\n    cm.display.lineSpace.appendChild(scrollNode)\n    scrollNode.scrollIntoView(doScroll)\n    cm.display.lineSpace.removeChild(scrollNode)\n  }\n}\n\n// Scroll a given position into view (immediately), verifying that\n// it actually became visible (as line heights are accurately\n// measured, the position of something may 'drift' during drawing).\nfunction scrollPosIntoView(cm, pos, end, margin) {\n  if (margin == null) { margin = 0 }\n  var rect\n  if (!cm.options.lineWrapping && pos == end) {\n    // Set pos and end to the cursor positions around the character pos sticks to\n    // If pos.sticky == \"before\", that is around pos.ch - 1, otherwise around pos.ch\n    // If pos == Pos(_, 0, \"before\"), pos and end are unchanged\n    pos = pos.ch ? Pos(pos.line, pos.sticky == \"before\" ? pos.ch - 1 : pos.ch, \"after\") : pos\n    end = pos.sticky == \"before\" ? Pos(pos.line, pos.ch + 1, \"before\") : pos\n  }\n  for (var limit = 0; limit < 5; limit++) {\n    var changed = false\n    var coords = cursorCoords(cm, pos)\n    var endCoords = !end || end == pos ? coords : cursorCoords(cm, end)\n    rect = {left: Math.min(coords.left, endCoords.left),\n            top: Math.min(coords.top, endCoords.top) - margin,\n            right: Math.max(coords.left, endCoords.left),\n            bottom: Math.max(coords.bottom, endCoords.bottom) + margin}\n    var scrollPos = calculateScrollPos(cm, rect)\n    var startTop = cm.doc.scrollTop, startLeft = cm.doc.scrollLeft\n    if (scrollPos.scrollTop != null) {\n      updateScrollTop(cm, scrollPos.scrollTop)\n      if (Math.abs(cm.doc.scrollTop - startTop) > 1) { changed = true }\n    }\n    if (scrollPos.scrollLeft != null) {\n      setScrollLeft(cm, scrollPos.scrollLeft)\n      if (Math.abs(cm.doc.scrollLeft - startLeft) > 1) { changed = true }\n    }\n    if (!changed) { break }\n  }\n  return rect\n}\n\n// Scroll a given set of coordinates into view (immediately).\nfunction scrollIntoView(cm, rect) {\n  var scrollPos = calculateScrollPos(cm, rect)\n  if (scrollPos.scrollTop != null) { updateScrollTop(cm, scrollPos.scrollTop) }\n  if (scrollPos.scrollLeft != null) { setScrollLeft(cm, scrollPos.scrollLeft) }\n}\n\n// Calculate a new scroll position needed to scroll the given\n// rectangle into view. Returns an object with scrollTop and\n// scrollLeft properties. When these are undefined, the\n// vertical/horizontal position does not need to be adjusted.\nfunction calculateScrollPos(cm, rect) {\n  var display = cm.display, snapMargin = textHeight(cm.display)\n  if (rect.top < 0) { rect.top = 0 }\n  var screentop = cm.curOp && cm.curOp.scrollTop != null ? cm.curOp.scrollTop : display.scroller.scrollTop\n  var screen = displayHeight(cm), result = {}\n  if (rect.bottom - rect.top > screen) { rect.bottom = rect.top + screen }\n  var docBottom = cm.doc.height + paddingVert(display)\n  var atTop = rect.top < snapMargin, atBottom = rect.bottom > docBottom - snapMargin\n  if (rect.top < screentop) {\n    result.scrollTop = atTop ? 0 : rect.top\n  } else if (rect.bottom > screentop + screen) {\n    var newTop = Math.min(rect.top, (atBottom ? docBottom : rect.bottom) - screen)\n    if (newTop != screentop) { result.scrollTop = newTop }\n  }\n\n  var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft\n  var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0)\n  var tooWide = rect.right - rect.left > screenw\n  if (tooWide) { rect.right = rect.left + screenw }\n  if (rect.left < 10)\n    { result.scrollLeft = 0 }\n  else if (rect.left < screenleft)\n    { result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10)) }\n  else if (rect.right > screenw + screenleft - 3)\n    { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw }\n  return result\n}\n\n// Store a relative adjustment to the scroll position in the current\n// operation (to be applied when the operation finishes).\nfunction addToScrollTop(cm, top) {\n  if (top == null) { return }\n  resolveScrollToPos(cm)\n  cm.curOp.scrollTop = (cm.curOp.scrollTop == null ? cm.doc.scrollTop : cm.curOp.scrollTop) + top\n}\n\n// Make sure that at the end of the operation the current cursor is\n// shown.\nfunction ensureCursorVisible(cm) {\n  resolveScrollToPos(cm)\n  var cur = cm.getCursor()\n  cm.curOp.scrollToPos = {from: cur, to: cur, margin: cm.options.cursorScrollMargin}\n}\n\nfunction scrollToCoords(cm, x, y) {\n  if (x != null || y != null) { resolveScrollToPos(cm) }\n  if (x != null) { cm.curOp.scrollLeft = x }\n  if (y != null) { cm.curOp.scrollTop = y }\n}\n\nfunction scrollToRange(cm, range) {\n  resolveScrollToPos(cm)\n  cm.curOp.scrollToPos = range\n}\n\n// When an operation has its scrollToPos property set, and another\n// scroll action is applied before the end of the operation, this\n// 'simulates' scrolling that position into view in a cheap way, so\n// that the effect of intermediate scroll commands is not ignored.\nfunction resolveScrollToPos(cm) {\n  var range = cm.curOp.scrollToPos\n  if (range) {\n    cm.curOp.scrollToPos = null\n    var from = estimateCoords(cm, range.from), to = estimateCoords(cm, range.to)\n    scrollToCoordsRange(cm, from, to, range.margin)\n  }\n}\n\nfunction scrollToCoordsRange(cm, from, to, margin) {\n  var sPos = calculateScrollPos(cm, {\n    left: Math.min(from.left, to.left),\n    top: Math.min(from.top, to.top) - margin,\n    right: Math.max(from.right, to.right),\n    bottom: Math.max(from.bottom, to.bottom) + margin\n  })\n  scrollToCoords(cm, sPos.scrollLeft, sPos.scrollTop)\n}\n\n// Sync the scrollable area and scrollbars, ensure the viewport\n// covers the visible area.\nfunction updateScrollTop(cm, val) {\n  if (Math.abs(cm.doc.scrollTop - val) < 2) { return }\n  if (!gecko) { updateDisplaySimple(cm, {top: val}) }\n  setScrollTop(cm, val, true)\n  if (gecko) { updateDisplaySimple(cm) }\n  startWorker(cm, 100)\n}\n\nfunction setScrollTop(cm, val, forceScroll) {\n  val = Math.min(cm.display.scroller.scrollHeight - cm.display.scroller.clientHeight, val)\n  if (cm.display.scroller.scrollTop == val && !forceScroll) { return }\n  cm.doc.scrollTop = val\n  cm.display.scrollbars.setScrollTop(val)\n  if (cm.display.scroller.scrollTop != val) { cm.display.scroller.scrollTop = val }\n}\n\n// Sync scroller and scrollbar, ensure the gutter elements are\n// aligned.\nfunction setScrollLeft(cm, val, isScroller, forceScroll) {\n  val = Math.min(val, cm.display.scroller.scrollWidth - cm.display.scroller.clientWidth)\n  if ((isScroller ? val == cm.doc.scrollLeft : Math.abs(cm.doc.scrollLeft - val) < 2) && !forceScroll) { return }\n  cm.doc.scrollLeft = val\n  alignHorizontally(cm)\n  if (cm.display.scroller.scrollLeft != val) { cm.display.scroller.scrollLeft = val }\n  cm.display.scrollbars.setScrollLeft(val)\n}\n\n// SCROLLBARS\n\n// Prepare DOM reads needed to update the scrollbars. Done in one\n// shot to minimize update/measure roundtrips.\nfunction measureForScrollbars(cm) {\n  var d = cm.display, gutterW = d.gutters.offsetWidth\n  var docH = Math.round(cm.doc.height + paddingVert(cm.display))\n  return {\n    clientHeight: d.scroller.clientHeight,\n    viewHeight: d.wrapper.clientHeight,\n    scrollWidth: d.scroller.scrollWidth, clientWidth: d.scroller.clientWidth,\n    viewWidth: d.wrapper.clientWidth,\n    barLeft: cm.options.fixedGutter ? gutterW : 0,\n    docHeight: docH,\n    scrollHeight: docH + scrollGap(cm) + d.barHeight,\n    nativeBarWidth: d.nativeBarWidth,\n    gutterWidth: gutterW\n  }\n}\n\nvar NativeScrollbars = function(place, scroll, cm) {\n  this.cm = cm\n  var vert = this.vert = elt(\"div\", [elt(\"div\", null, null, \"min-width: 1px\")], \"CodeMirror-vscrollbar\")\n  var horiz = this.horiz = elt(\"div\", [elt(\"div\", null, null, \"height: 100%; min-height: 1px\")], \"CodeMirror-hscrollbar\")\n  vert.tabIndex = horiz.tabIndex = -1\n  place(vert); place(horiz)\n\n  on(vert, \"scroll\", function () {\n    if (vert.clientHeight) { scroll(vert.scrollTop, \"vertical\") }\n  })\n  on(horiz, \"scroll\", function () {\n    if (horiz.clientWidth) { scroll(horiz.scrollLeft, \"horizontal\") }\n  })\n\n  this.checkedZeroWidth = false\n  // Need to set a minimum width to see the scrollbar on IE7 (but must not set it on IE8).\n  if (ie && ie_version < 8) { this.horiz.style.minHeight = this.vert.style.minWidth = \"18px\" }\n};\n\nNativeScrollbars.prototype.update = function (measure) {\n  var needsH = measure.scrollWidth > measure.clientWidth + 1\n  var needsV = measure.scrollHeight > measure.clientHeight + 1\n  var sWidth = measure.nativeBarWidth\n\n  if (needsV) {\n    this.vert.style.display = \"block\"\n    this.vert.style.bottom = needsH ? sWidth + \"px\" : \"0\"\n    var totalHeight = measure.viewHeight - (needsH ? sWidth : 0)\n    // A bug in IE8 can cause this value to be negative, so guard it.\n    this.vert.firstChild.style.height =\n      Math.max(0, measure.scrollHeight - measure.clientHeight + totalHeight) + \"px\"\n  } else {\n    this.vert.style.display = \"\"\n    this.vert.firstChild.style.height = \"0\"\n  }\n\n  if (needsH) {\n    this.horiz.style.display = \"block\"\n    this.horiz.style.right = needsV ? sWidth + \"px\" : \"0\"\n    this.horiz.style.left = measure.barLeft + \"px\"\n    var totalWidth = measure.viewWidth - measure.barLeft - (needsV ? sWidth : 0)\n    this.horiz.firstChild.style.width =\n      Math.max(0, measure.scrollWidth - measure.clientWidth + totalWidth) + \"px\"\n  } else {\n    this.horiz.style.display = \"\"\n    this.horiz.firstChild.style.width = \"0\"\n  }\n\n  if (!this.checkedZeroWidth && measure.clientHeight > 0) {\n    if (sWidth == 0) { this.zeroWidthHack() }\n    this.checkedZeroWidth = true\n  }\n\n  return {right: needsV ? sWidth : 0, bottom: needsH ? sWidth : 0}\n};\n\nNativeScrollbars.prototype.setScrollLeft = function (pos) {\n  if (this.horiz.scrollLeft != pos) { this.horiz.scrollLeft = pos }\n  if (this.disableHoriz) { this.enableZeroWidthBar(this.horiz, this.disableHoriz, \"horiz\") }\n};\n\nNativeScrollbars.prototype.setScrollTop = function (pos) {\n  if (this.vert.scrollTop != pos) { this.vert.scrollTop = pos }\n  if (this.disableVert) { this.enableZeroWidthBar(this.vert, this.disableVert, \"vert\") }\n};\n\nNativeScrollbars.prototype.zeroWidthHack = function () {\n  var w = mac && !mac_geMountainLion ? \"12px\" : \"18px\"\n  this.horiz.style.height = this.vert.style.width = w\n  this.horiz.style.pointerEvents = this.vert.style.pointerEvents = \"none\"\n  this.disableHoriz = new Delayed\n  this.disableVert = new Delayed\n};\n\nNativeScrollbars.prototype.enableZeroWidthBar = function (bar, delay, type) {\n  bar.style.pointerEvents = \"auto\"\n  function maybeDisable() {\n    // To find out whether the scrollbar is still visible, we\n    // check whether the element under the pixel in the bottom\n    // right corner of the scrollbar box is the scrollbar box\n    // itself (when the bar is still visible) or its filler child\n    // (when the bar is hidden). If it is still visible, we keep\n    // it enabled, if it's hidden, we disable pointer events.\n    var box = bar.getBoundingClientRect()\n    var elt = type == \"vert\" ? document.elementFromPoint(box.right - 1, (box.top + box.bottom) / 2)\n        : document.elementFromPoint((box.right + box.left) / 2, box.bottom - 1)\n    if (elt != bar) { bar.style.pointerEvents = \"none\" }\n    else { delay.set(1000, maybeDisable) }\n  }\n  delay.set(1000, maybeDisable)\n};\n\nNativeScrollbars.prototype.clear = function () {\n  var parent = this.horiz.parentNode\n  parent.removeChild(this.horiz)\n  parent.removeChild(this.vert)\n};\n\nvar NullScrollbars = function () {};\n\nNullScrollbars.prototype.update = function () { return {bottom: 0, right: 0} };\nNullScrollbars.prototype.setScrollLeft = function () {};\nNullScrollbars.prototype.setScrollTop = function () {};\nNullScrollbars.prototype.clear = function () {};\n\nfunction updateScrollbars(cm, measure) {\n  if (!measure) { measure = measureForScrollbars(cm) }\n  var startWidth = cm.display.barWidth, startHeight = cm.display.barHeight\n  updateScrollbarsInner(cm, measure)\n  for (var i = 0; i < 4 && startWidth != cm.display.barWidth || startHeight != cm.display.barHeight; i++) {\n    if (startWidth != cm.display.barWidth && cm.options.lineWrapping)\n      { updateHeightsInViewport(cm) }\n    updateScrollbarsInner(cm, measureForScrollbars(cm))\n    startWidth = cm.display.barWidth; startHeight = cm.display.barHeight\n  }\n}\n\n// Re-synchronize the fake scrollbars with the actual size of the\n// content.\nfunction updateScrollbarsInner(cm, measure) {\n  var d = cm.display\n  var sizes = d.scrollbars.update(measure)\n\n  d.sizer.style.paddingRight = (d.barWidth = sizes.right) + \"px\"\n  d.sizer.style.paddingBottom = (d.barHeight = sizes.bottom) + \"px\"\n  d.heightForcer.style.borderBottom = sizes.bottom + \"px solid transparent\"\n\n  if (sizes.right && sizes.bottom) {\n    d.scrollbarFiller.style.display = \"block\"\n    d.scrollbarFiller.style.height = sizes.bottom + \"px\"\n    d.scrollbarFiller.style.width = sizes.right + \"px\"\n  } else { d.scrollbarFiller.style.display = \"\" }\n  if (sizes.bottom && cm.options.coverGutterNextToScrollbar && cm.options.fixedGutter) {\n    d.gutterFiller.style.display = \"block\"\n    d.gutterFiller.style.height = sizes.bottom + \"px\"\n    d.gutterFiller.style.width = measure.gutterWidth + \"px\"\n  } else { d.gutterFiller.style.display = \"\" }\n}\n\nvar scrollbarModel = {\"native\": NativeScrollbars, \"null\": NullScrollbars}\n\nfunction initScrollbars(cm) {\n  if (cm.display.scrollbars) {\n    cm.display.scrollbars.clear()\n    if (cm.display.scrollbars.addClass)\n      { rmClass(cm.display.wrapper, cm.display.scrollbars.addClass) }\n  }\n\n  cm.display.scrollbars = new scrollbarModel[cm.options.scrollbarStyle](function (node) {\n    cm.display.wrapper.insertBefore(node, cm.display.scrollbarFiller)\n    // Prevent clicks in the scrollbars from killing focus\n    on(node, \"mousedown\", function () {\n      if (cm.state.focused) { setTimeout(function () { return cm.display.input.focus(); }, 0) }\n    })\n    node.setAttribute(\"cm-not-content\", \"true\")\n  }, function (pos, axis) {\n    if (axis == \"horizontal\") { setScrollLeft(cm, pos) }\n    else { updateScrollTop(cm, pos) }\n  }, cm)\n  if (cm.display.scrollbars.addClass)\n    { addClass(cm.display.wrapper, cm.display.scrollbars.addClass) }\n}\n\n// Operations are used to wrap a series of changes to the editor\n// state in such a way that each change won't have to update the\n// cursor and display (which would be awkward, slow, and\n// error-prone). Instead, display updates are batched and then all\n// combined and executed at once.\n\nvar nextOpId = 0\n// Start a new operation.\nfunction startOperation(cm) {\n  cm.curOp = {\n    cm: cm,\n    viewChanged: false,      // Flag that indicates that lines might need to be redrawn\n    startHeight: cm.doc.height, // Used to detect need to update scrollbar\n    forceUpdate: false,      // Used to force a redraw\n    updateInput: null,       // Whether to reset the input textarea\n    typing: false,           // Whether this reset should be careful to leave existing text (for compositing)\n    changeObjs: null,        // Accumulated changes, for firing change events\n    cursorActivityHandlers: null, // Set of handlers to fire cursorActivity on\n    cursorActivityCalled: 0, // Tracks which cursorActivity handlers have been called already\n    selectionChanged: false, // Whether the selection needs to be redrawn\n    updateMaxLine: false,    // Set when the widest line needs to be determined anew\n    scrollLeft: null, scrollTop: null, // Intermediate scroll position, not pushed to DOM yet\n    scrollToPos: null,       // Used to scroll to a specific position\n    focus: false,\n    id: ++nextOpId           // Unique ID\n  }\n  pushOperation(cm.curOp)\n}\n\n// Finish an operation, updating the display and signalling delayed events\nfunction endOperation(cm) {\n  var op = cm.curOp\n  finishOperation(op, function (group) {\n    for (var i = 0; i < group.ops.length; i++)\n      { group.ops[i].cm.curOp = null }\n    endOperations(group)\n  })\n}\n\n// The DOM updates done when an operation finishes are batched so\n// that the minimum number of relayouts are required.\nfunction endOperations(group) {\n  var ops = group.ops\n  for (var i = 0; i < ops.length; i++) // Read DOM\n    { endOperation_R1(ops[i]) }\n  for (var i$1 = 0; i$1 < ops.length; i$1++) // Write DOM (maybe)\n    { endOperation_W1(ops[i$1]) }\n  for (var i$2 = 0; i$2 < ops.length; i$2++) // Read DOM\n    { endOperation_R2(ops[i$2]) }\n  for (var i$3 = 0; i$3 < ops.length; i$3++) // Write DOM (maybe)\n    { endOperation_W2(ops[i$3]) }\n  for (var i$4 = 0; i$4 < ops.length; i$4++) // Read DOM\n    { endOperation_finish(ops[i$4]) }\n}\n\nfunction endOperation_R1(op) {\n  var cm = op.cm, display = cm.display\n  maybeClipScrollbars(cm)\n  if (op.updateMaxLine) { findMaxLine(cm) }\n\n  op.mustUpdate = op.viewChanged || op.forceUpdate || op.scrollTop != null ||\n    op.scrollToPos && (op.scrollToPos.from.line < display.viewFrom ||\n                       op.scrollToPos.to.line >= display.viewTo) ||\n    display.maxLineChanged && cm.options.lineWrapping\n  op.update = op.mustUpdate &&\n    new DisplayUpdate(cm, op.mustUpdate && {top: op.scrollTop, ensure: op.scrollToPos}, op.forceUpdate)\n}\n\nfunction endOperation_W1(op) {\n  op.updatedDisplay = op.mustUpdate && updateDisplayIfNeeded(op.cm, op.update)\n}\n\nfunction endOperation_R2(op) {\n  var cm = op.cm, display = cm.display\n  if (op.updatedDisplay) { updateHeightsInViewport(cm) }\n\n  op.barMeasure = measureForScrollbars(cm)\n\n  // If the max line changed since it was last measured, measure it,\n  // and ensure the document's width matches it.\n  // updateDisplay_W2 will use these properties to do the actual resizing\n  if (display.maxLineChanged && !cm.options.lineWrapping) {\n    op.adjustWidthTo = measureChar(cm, display.maxLine, display.maxLine.text.length).left + 3\n    cm.display.sizerWidth = op.adjustWidthTo\n    op.barMeasure.scrollWidth =\n      Math.max(display.scroller.clientWidth, display.sizer.offsetLeft + op.adjustWidthTo + scrollGap(cm) + cm.display.barWidth)\n    op.maxScrollLeft = Math.max(0, display.sizer.offsetLeft + op.adjustWidthTo - displayWidth(cm))\n  }\n\n  if (op.updatedDisplay || op.selectionChanged)\n    { op.preparedSelection = display.input.prepareSelection() }\n}\n\nfunction endOperation_W2(op) {\n  var cm = op.cm\n\n  if (op.adjustWidthTo != null) {\n    cm.display.sizer.style.minWidth = op.adjustWidthTo + \"px\"\n    if (op.maxScrollLeft < cm.doc.scrollLeft)\n      { setScrollLeft(cm, Math.min(cm.display.scroller.scrollLeft, op.maxScrollLeft), true) }\n    cm.display.maxLineChanged = false\n  }\n\n  var takeFocus = op.focus && op.focus == activeElt()\n  if (op.preparedSelection)\n    { cm.display.input.showSelection(op.preparedSelection, takeFocus) }\n  if (op.updatedDisplay || op.startHeight != cm.doc.height)\n    { updateScrollbars(cm, op.barMeasure) }\n  if (op.updatedDisplay)\n    { setDocumentHeight(cm, op.barMeasure) }\n\n  if (op.selectionChanged) { restartBlink(cm) }\n\n  if (cm.state.focused && op.updateInput)\n    { cm.display.input.reset(op.typing) }\n  if (takeFocus) { ensureFocus(op.cm) }\n}\n\nfunction endOperation_finish(op) {\n  var cm = op.cm, display = cm.display, doc = cm.doc\n\n  if (op.updatedDisplay) { postUpdateDisplay(cm, op.update) }\n\n  // Abort mouse wheel delta measurement, when scrolling explicitly\n  if (display.wheelStartX != null && (op.scrollTop != null || op.scrollLeft != null || op.scrollToPos))\n    { display.wheelStartX = display.wheelStartY = null }\n\n  // Propagate the scroll position to the actual DOM scroller\n  if (op.scrollTop != null) { setScrollTop(cm, op.scrollTop, op.forceScroll) }\n\n  if (op.scrollLeft != null) { setScrollLeft(cm, op.scrollLeft, true, true) }\n  // If we need to scroll a specific position into view, do so.\n  if (op.scrollToPos) {\n    var rect = scrollPosIntoView(cm, clipPos(doc, op.scrollToPos.from),\n                                 clipPos(doc, op.scrollToPos.to), op.scrollToPos.margin)\n    maybeScrollWindow(cm, rect)\n  }\n\n  // Fire events for markers that are hidden/unidden by editing or\n  // undoing\n  var hidden = op.maybeHiddenMarkers, unhidden = op.maybeUnhiddenMarkers\n  if (hidden) { for (var i = 0; i < hidden.length; ++i)\n    { if (!hidden[i].lines.length) { signal(hidden[i], \"hide\") } } }\n  if (unhidden) { for (var i$1 = 0; i$1 < unhidden.length; ++i$1)\n    { if (unhidden[i$1].lines.length) { signal(unhidden[i$1], \"unhide\") } } }\n\n  if (display.wrapper.offsetHeight)\n    { doc.scrollTop = cm.display.scroller.scrollTop }\n\n  // Fire change events, and delayed event handlers\n  if (op.changeObjs)\n    { signal(cm, \"changes\", cm, op.changeObjs) }\n  if (op.update)\n    { op.update.finish() }\n}\n\n// Run the given function in an operation\nfunction runInOp(cm, f) {\n  if (cm.curOp) { return f() }\n  startOperation(cm)\n  try { return f() }\n  finally { endOperation(cm) }\n}\n// Wraps a function in an operation. Returns the wrapped function.\nfunction operation(cm, f) {\n  return function() {\n    if (cm.curOp) { return f.apply(cm, arguments) }\n    startOperation(cm)\n    try { return f.apply(cm, arguments) }\n    finally { endOperation(cm) }\n  }\n}\n// Used to add methods to editor and doc instances, wrapping them in\n// operations.\nfunction methodOp(f) {\n  return function() {\n    if (this.curOp) { return f.apply(this, arguments) }\n    startOperation(this)\n    try { return f.apply(this, arguments) }\n    finally { endOperation(this) }\n  }\n}\nfunction docMethodOp(f) {\n  return function() {\n    var cm = this.cm\n    if (!cm || cm.curOp) { return f.apply(this, arguments) }\n    startOperation(cm)\n    try { return f.apply(this, arguments) }\n    finally { endOperation(cm) }\n  }\n}\n\n// Updates the display.view data structure for a given change to the\n// document. From and to are in pre-change coordinates. Lendiff is\n// the amount of lines added or subtracted by the change. This is\n// used for changes that span multiple lines, or change the way\n// lines are divided into visual lines. regLineChange (below)\n// registers single-line changes.\nfunction regChange(cm, from, to, lendiff) {\n  if (from == null) { from = cm.doc.first }\n  if (to == null) { to = cm.doc.first + cm.doc.size }\n  if (!lendiff) { lendiff = 0 }\n\n  var display = cm.display\n  if (lendiff && to < display.viewTo &&\n      (display.updateLineNumbers == null || display.updateLineNumbers > from))\n    { display.updateLineNumbers = from }\n\n  cm.curOp.viewChanged = true\n\n  if (from >= display.viewTo) { // Change after\n    if (sawCollapsedSpans && visualLineNo(cm.doc, from) < display.viewTo)\n      { resetView(cm) }\n  } else if (to <= display.viewFrom) { // Change before\n    if (sawCollapsedSpans && visualLineEndNo(cm.doc, to + lendiff) > display.viewFrom) {\n      resetView(cm)\n    } else {\n      display.viewFrom += lendiff\n      display.viewTo += lendiff\n    }\n  } else if (from <= display.viewFrom && to >= display.viewTo) { // Full overlap\n    resetView(cm)\n  } else if (from <= display.viewFrom) { // Top overlap\n    var cut = viewCuttingPoint(cm, to, to + lendiff, 1)\n    if (cut) {\n      display.view = display.view.slice(cut.index)\n      display.viewFrom = cut.lineN\n      display.viewTo += lendiff\n    } else {\n      resetView(cm)\n    }\n  } else if (to >= display.viewTo) { // Bottom overlap\n    var cut$1 = viewCuttingPoint(cm, from, from, -1)\n    if (cut$1) {\n      display.view = display.view.slice(0, cut$1.index)\n      display.viewTo = cut$1.lineN\n    } else {\n      resetView(cm)\n    }\n  } else { // Gap in the middle\n    var cutTop = viewCuttingPoint(cm, from, from, -1)\n    var cutBot = viewCuttingPoint(cm, to, to + lendiff, 1)\n    if (cutTop && cutBot) {\n      display.view = display.view.slice(0, cutTop.index)\n        .concat(buildViewArray(cm, cutTop.lineN, cutBot.lineN))\n        .concat(display.view.slice(cutBot.index))\n      display.viewTo += lendiff\n    } else {\n      resetView(cm)\n    }\n  }\n\n  var ext = display.externalMeasured\n  if (ext) {\n    if (to < ext.lineN)\n      { ext.lineN += lendiff }\n    else if (from < ext.lineN + ext.size)\n      { display.externalMeasured = null }\n  }\n}\n\n// Register a change to a single line. Type must be one of \"text\",\n// \"gutter\", \"class\", \"widget\"\nfunction regLineChange(cm, line, type) {\n  cm.curOp.viewChanged = true\n  var display = cm.display, ext = cm.display.externalMeasured\n  if (ext && line >= ext.lineN && line < ext.lineN + ext.size)\n    { display.externalMeasured = null }\n\n  if (line < display.viewFrom || line >= display.viewTo) { return }\n  var lineView = display.view[findViewIndex(cm, line)]\n  if (lineView.node == null) { return }\n  var arr = lineView.changes || (lineView.changes = [])\n  if (indexOf(arr, type) == -1) { arr.push(type) }\n}\n\n// Clear the view.\nfunction resetView(cm) {\n  cm.display.viewFrom = cm.display.viewTo = cm.doc.first\n  cm.display.view = []\n  cm.display.viewOffset = 0\n}\n\nfunction viewCuttingPoint(cm, oldN, newN, dir) {\n  var index = findViewIndex(cm, oldN), diff, view = cm.display.view\n  if (!sawCollapsedSpans || newN == cm.doc.first + cm.doc.size)\n    { return {index: index, lineN: newN} }\n  var n = cm.display.viewFrom\n  for (var i = 0; i < index; i++)\n    { n += view[i].size }\n  if (n != oldN) {\n    if (dir > 0) {\n      if (index == view.length - 1) { return null }\n      diff = (n + view[index].size) - oldN\n      index++\n    } else {\n      diff = n - oldN\n    }\n    oldN += diff; newN += diff\n  }\n  while (visualLineNo(cm.doc, newN) != newN) {\n    if (index == (dir < 0 ? 0 : view.length - 1)) { return null }\n    newN += dir * view[index - (dir < 0 ? 1 : 0)].size\n    index += dir\n  }\n  return {index: index, lineN: newN}\n}\n\n// Force the view to cover a given range, adding empty view element\n// or clipping off existing ones as needed.\nfunction adjustView(cm, from, to) {\n  var display = cm.display, view = display.view\n  if (view.length == 0 || from >= display.viewTo || to <= display.viewFrom) {\n    display.view = buildViewArray(cm, from, to)\n    display.viewFrom = from\n  } else {\n    if (display.viewFrom > from)\n      { display.view = buildViewArray(cm, from, display.viewFrom).concat(display.view) }\n    else if (display.viewFrom < from)\n      { display.view = display.view.slice(findViewIndex(cm, from)) }\n    display.viewFrom = from\n    if (display.viewTo < to)\n      { display.view = display.view.concat(buildViewArray(cm, display.viewTo, to)) }\n    else if (display.viewTo > to)\n      { display.view = display.view.slice(0, findViewIndex(cm, to)) }\n  }\n  display.viewTo = to\n}\n\n// Count the number of lines in the view whose DOM representation is\n// out of date (or nonexistent).\nfunction countDirtyView(cm) {\n  var view = cm.display.view, dirty = 0\n  for (var i = 0; i < view.length; i++) {\n    var lineView = view[i]\n    if (!lineView.hidden && (!lineView.node || lineView.changes)) { ++dirty }\n  }\n  return dirty\n}\n\n// HIGHLIGHT WORKER\n\nfunction startWorker(cm, time) {\n  if (cm.doc.highlightFrontier < cm.display.viewTo)\n    { cm.state.highlight.set(time, bind(highlightWorker, cm)) }\n}\n\nfunction highlightWorker(cm) {\n  var doc = cm.doc\n  if (doc.highlightFrontier >= cm.display.viewTo) { return }\n  var end = +new Date + cm.options.workTime\n  var context = getContextBefore(cm, doc.highlightFrontier)\n  var changedLines = []\n\n  doc.iter(context.line, Math.min(doc.first + doc.size, cm.display.viewTo + 500), function (line) {\n    if (context.line >= cm.display.viewFrom) { // Visible\n      var oldStyles = line.styles\n      var resetState = line.text.length > cm.options.maxHighlightLength ? copyState(doc.mode, context.state) : null\n      var highlighted = highlightLine(cm, line, context, true)\n      if (resetState) { context.state = resetState }\n      line.styles = highlighted.styles\n      var oldCls = line.styleClasses, newCls = highlighted.classes\n      if (newCls) { line.styleClasses = newCls }\n      else if (oldCls) { line.styleClasses = null }\n      var ischange = !oldStyles || oldStyles.length != line.styles.length ||\n        oldCls != newCls && (!oldCls || !newCls || oldCls.bgClass != newCls.bgClass || oldCls.textClass != newCls.textClass)\n      for (var i = 0; !ischange && i < oldStyles.length; ++i) { ischange = oldStyles[i] != line.styles[i] }\n      if (ischange) { changedLines.push(context.line) }\n      line.stateAfter = context.save()\n      context.nextLine()\n    } else {\n      if (line.text.length <= cm.options.maxHighlightLength)\n        { processLine(cm, line.text, context) }\n      line.stateAfter = context.line % 5 == 0 ? context.save() : null\n      context.nextLine()\n    }\n    if (+new Date > end) {\n      startWorker(cm, cm.options.workDelay)\n      return true\n    }\n  })\n  doc.highlightFrontier = context.line\n  doc.modeFrontier = Math.max(doc.modeFrontier, context.line)\n  if (changedLines.length) { runInOp(cm, function () {\n    for (var i = 0; i < changedLines.length; i++)\n      { regLineChange(cm, changedLines[i], \"text\") }\n  }) }\n}\n\n// DISPLAY DRAWING\n\nvar DisplayUpdate = function(cm, viewport, force) {\n  var display = cm.display\n\n  this.viewport = viewport\n  // Store some values that we'll need later (but don't want to force a relayout for)\n  this.visible = visibleLines(display, cm.doc, viewport)\n  this.editorIsHidden = !display.wrapper.offsetWidth\n  this.wrapperHeight = display.wrapper.clientHeight\n  this.wrapperWidth = display.wrapper.clientWidth\n  this.oldDisplayWidth = displayWidth(cm)\n  this.force = force\n  this.dims = getDimensions(cm)\n  this.events = []\n};\n\nDisplayUpdate.prototype.signal = function (emitter, type) {\n  if (hasHandler(emitter, type))\n    { this.events.push(arguments) }\n};\nDisplayUpdate.prototype.finish = function () {\n    var this$1 = this;\n\n  for (var i = 0; i < this.events.length; i++)\n    { signal.apply(null, this$1.events[i]) }\n};\n\nfunction maybeClipScrollbars(cm) {\n  var display = cm.display\n  if (!display.scrollbarsClipped && display.scroller.offsetWidth) {\n    display.nativeBarWidth = display.scroller.offsetWidth - display.scroller.clientWidth\n    display.heightForcer.style.height = scrollGap(cm) + \"px\"\n    display.sizer.style.marginBottom = -display.nativeBarWidth + \"px\"\n    display.sizer.style.borderRightWidth = scrollGap(cm) + \"px\"\n    display.scrollbarsClipped = true\n  }\n}\n\nfunction selectionSnapshot(cm) {\n  if (cm.hasFocus()) { return null }\n  var active = activeElt()\n  if (!active || !contains(cm.display.lineDiv, active)) { return null }\n  var result = {activeElt: active}\n  if (window.getSelection) {\n    var sel = window.getSelection()\n    if (sel.anchorNode && sel.extend && contains(cm.display.lineDiv, sel.anchorNode)) {\n      result.anchorNode = sel.anchorNode\n      result.anchorOffset = sel.anchorOffset\n      result.focusNode = sel.focusNode\n      result.focusOffset = sel.focusOffset\n    }\n  }\n  return result\n}\n\nfunction restoreSelection(snapshot) {\n  if (!snapshot || !snapshot.activeElt || snapshot.activeElt == activeElt()) { return }\n  snapshot.activeElt.focus()\n  if (snapshot.anchorNode && contains(document.body, snapshot.anchorNode) && contains(document.body, snapshot.focusNode)) {\n    var sel = window.getSelection(), range = document.createRange()\n    range.setEnd(snapshot.anchorNode, snapshot.anchorOffset)\n    range.collapse(false)\n    sel.removeAllRanges()\n    sel.addRange(range)\n    sel.extend(snapshot.focusNode, snapshot.focusOffset)\n  }\n}\n\n// Does the actual updating of the line display. Bails out\n// (returning false) when there is nothing to be done and forced is\n// false.\nfunction updateDisplayIfNeeded(cm, update) {\n  var display = cm.display, doc = cm.doc\n\n  if (update.editorIsHidden) {\n    resetView(cm)\n    return false\n  }\n\n  // Bail out if the visible area is already rendered and nothing changed.\n  if (!update.force &&\n      update.visible.from >= display.viewFrom && update.visible.to <= display.viewTo &&\n      (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo) &&\n      display.renderedView == display.view && countDirtyView(cm) == 0)\n    { return false }\n\n  if (maybeUpdateLineNumberWidth(cm)) {\n    resetView(cm)\n    update.dims = getDimensions(cm)\n  }\n\n  // Compute a suitable new viewport (from & to)\n  var end = doc.first + doc.size\n  var from = Math.max(update.visible.from - cm.options.viewportMargin, doc.first)\n  var to = Math.min(end, update.visible.to + cm.options.viewportMargin)\n  if (display.viewFrom < from && from - display.viewFrom < 20) { from = Math.max(doc.first, display.viewFrom) }\n  if (display.viewTo > to && display.viewTo - to < 20) { to = Math.min(end, display.viewTo) }\n  if (sawCollapsedSpans) {\n    from = visualLineNo(cm.doc, from)\n    to = visualLineEndNo(cm.doc, to)\n  }\n\n  var different = from != display.viewFrom || to != display.viewTo ||\n    display.lastWrapHeight != update.wrapperHeight || display.lastWrapWidth != update.wrapperWidth\n  adjustView(cm, from, to)\n\n  display.viewOffset = heightAtLine(getLine(cm.doc, display.viewFrom))\n  // Position the mover div to align with the current scroll position\n  cm.display.mover.style.top = display.viewOffset + \"px\"\n\n  var toUpdate = countDirtyView(cm)\n  if (!different && toUpdate == 0 && !update.force && display.renderedView == display.view &&\n      (display.updateLineNumbers == null || display.updateLineNumbers >= display.viewTo))\n    { return false }\n\n  // For big changes, we hide the enclosing element during the\n  // update, since that speeds up the operations on most browsers.\n  var selSnapshot = selectionSnapshot(cm)\n  if (toUpdate > 4) { display.lineDiv.style.display = \"none\" }\n  patchDisplay(cm, display.updateLineNumbers, update.dims)\n  if (toUpdate > 4) { display.lineDiv.style.display = \"\" }\n  display.renderedView = display.view\n  // There might have been a widget with a focused element that got\n  // hidden or updated, if so re-focus it.\n  restoreSelection(selSnapshot)\n\n  // Prevent selection and cursors from interfering with the scroll\n  // width and height.\n  removeChildren(display.cursorDiv)\n  removeChildren(display.selectionDiv)\n  display.gutters.style.height = display.sizer.style.minHeight = 0\n\n  if (different) {\n    display.lastWrapHeight = update.wrapperHeight\n    display.lastWrapWidth = update.wrapperWidth\n    startWorker(cm, 400)\n  }\n\n  display.updateLineNumbers = null\n\n  return true\n}\n\nfunction postUpdateDisplay(cm, update) {\n  var viewport = update.viewport\n\n  for (var first = true;; first = false) {\n    if (!first || !cm.options.lineWrapping || update.oldDisplayWidth == displayWidth(cm)) {\n      // Clip forced viewport to actual scrollable area.\n      if (viewport && viewport.top != null)\n        { viewport = {top: Math.min(cm.doc.height + paddingVert(cm.display) - displayHeight(cm), viewport.top)} }\n      // Updated line heights might result in the drawn area not\n      // actually covering the viewport. Keep looping until it does.\n      update.visible = visibleLines(cm.display, cm.doc, viewport)\n      if (update.visible.from >= cm.display.viewFrom && update.visible.to <= cm.display.viewTo)\n        { break }\n    }\n    if (!updateDisplayIfNeeded(cm, update)) { break }\n    updateHeightsInViewport(cm)\n    var barMeasure = measureForScrollbars(cm)\n    updateSelection(cm)\n    updateScrollbars(cm, barMeasure)\n    setDocumentHeight(cm, barMeasure)\n    update.force = false\n  }\n\n  update.signal(cm, \"update\", cm)\n  if (cm.display.viewFrom != cm.display.reportedViewFrom || cm.display.viewTo != cm.display.reportedViewTo) {\n    update.signal(cm, \"viewportChange\", cm, cm.display.viewFrom, cm.display.viewTo)\n    cm.display.reportedViewFrom = cm.display.viewFrom; cm.display.reportedViewTo = cm.display.viewTo\n  }\n}\n\nfunction updateDisplaySimple(cm, viewport) {\n  var update = new DisplayUpdate(cm, viewport)\n  if (updateDisplayIfNeeded(cm, update)) {\n    updateHeightsInViewport(cm)\n    postUpdateDisplay(cm, update)\n    var barMeasure = measureForScrollbars(cm)\n    updateSelection(cm)\n    updateScrollbars(cm, barMeasure)\n    setDocumentHeight(cm, barMeasure)\n    update.finish()\n  }\n}\n\n// Sync the actual display DOM structure with display.view, removing\n// nodes for lines that are no longer in view, and creating the ones\n// that are not there yet, and updating the ones that are out of\n// date.\nfunction patchDisplay(cm, updateNumbersFrom, dims) {\n  var display = cm.display, lineNumbers = cm.options.lineNumbers\n  var container = display.lineDiv, cur = container.firstChild\n\n  function rm(node) {\n    var next = node.nextSibling\n    // Works around a throw-scroll bug in OS X Webkit\n    if (webkit && mac && cm.display.currentWheelTarget == node)\n      { node.style.display = \"none\" }\n    else\n      { node.parentNode.removeChild(node) }\n    return next\n  }\n\n  var view = display.view, lineN = display.viewFrom\n  // Loop over the elements in the view, syncing cur (the DOM nodes\n  // in display.lineDiv) with the view as we go.\n  for (var i = 0; i < view.length; i++) {\n    var lineView = view[i]\n    if (lineView.hidden) {\n    } else if (!lineView.node || lineView.node.parentNode != container) { // Not drawn yet\n      var node = buildLineElement(cm, lineView, lineN, dims)\n      container.insertBefore(node, cur)\n    } else { // Already drawn\n      while (cur != lineView.node) { cur = rm(cur) }\n      var updateNumber = lineNumbers && updateNumbersFrom != null &&\n        updateNumbersFrom <= lineN && lineView.lineNumber\n      if (lineView.changes) {\n        if (indexOf(lineView.changes, \"gutter\") > -1) { updateNumber = false }\n        updateLineForChanges(cm, lineView, lineN, dims)\n      }\n      if (updateNumber) {\n        removeChildren(lineView.lineNumber)\n        lineView.lineNumber.appendChild(document.createTextNode(lineNumberFor(cm.options, lineN)))\n      }\n      cur = lineView.node.nextSibling\n    }\n    lineN += lineView.size\n  }\n  while (cur) { cur = rm(cur) }\n}\n\nfunction updateGutterSpace(cm) {\n  var width = cm.display.gutters.offsetWidth\n  cm.display.sizer.style.marginLeft = width + \"px\"\n}\n\nfunction setDocumentHeight(cm, measure) {\n  cm.display.sizer.style.minHeight = measure.docHeight + \"px\"\n  cm.display.heightForcer.style.top = measure.docHeight + \"px\"\n  cm.display.gutters.style.height = (measure.docHeight + cm.display.barHeight + scrollGap(cm)) + \"px\"\n}\n\n// Rebuild the gutter elements, ensure the margin to the left of the\n// code matches their width.\nfunction updateGutters(cm) {\n  var gutters = cm.display.gutters, specs = cm.options.gutters\n  removeChildren(gutters)\n  var i = 0\n  for (; i < specs.length; ++i) {\n    var gutterClass = specs[i]\n    var gElt = gutters.appendChild(elt(\"div\", null, \"CodeMirror-gutter \" + gutterClass))\n    if (gutterClass == \"CodeMirror-linenumbers\") {\n      cm.display.lineGutter = gElt\n      gElt.style.width = (cm.display.lineNumWidth || 1) + \"px\"\n    }\n  }\n  gutters.style.display = i ? \"\" : \"none\"\n  updateGutterSpace(cm)\n}\n\n// Make sure the gutters options contains the element\n// \"CodeMirror-linenumbers\" when the lineNumbers option is true.\nfunction setGuttersForLineNumbers(options) {\n  var found = indexOf(options.gutters, \"CodeMirror-linenumbers\")\n  if (found == -1 && options.lineNumbers) {\n    options.gutters = options.gutters.concat([\"CodeMirror-linenumbers\"])\n  } else if (found > -1 && !options.lineNumbers) {\n    options.gutters = options.gutters.slice(0)\n    options.gutters.splice(found, 1)\n  }\n}\n\nvar wheelSamples = 0;\nvar wheelPixelsPerUnit = null;\n// Fill in a browser-detected starting value on browsers where we\n// know one. These don't have to be accurate -- the result of them\n// being wrong would just be a slight flicker on the first wheel\n// scroll (if it is large enough).\nif (ie) { wheelPixelsPerUnit = -.53 }\nelse if (gecko) { wheelPixelsPerUnit = 15 }\nelse if (chrome) { wheelPixelsPerUnit = -.7 }\nelse if (safari) { wheelPixelsPerUnit = -1/3 }\n\nfunction wheelEventDelta(e) {\n  var dx = e.wheelDeltaX, dy = e.wheelDeltaY\n  if (dx == null && e.detail && e.axis == e.HORIZONTAL_AXIS) { dx = e.detail }\n  if (dy == null && e.detail && e.axis == e.VERTICAL_AXIS) { dy = e.detail }\n  else if (dy == null) { dy = e.wheelDelta }\n  return {x: dx, y: dy}\n}\nfunction wheelEventPixels(e) {\n  var delta = wheelEventDelta(e)\n  delta.x *= wheelPixelsPerUnit\n  delta.y *= wheelPixelsPerUnit\n  return delta\n}\n\nfunction onScrollWheel(cm, e) {\n  var delta = wheelEventDelta(e), dx = delta.x, dy = delta.y\n\n  var display = cm.display, scroll = display.scroller\n  // Quit if there's nothing to scroll here\n  var canScrollX = scroll.scrollWidth > scroll.clientWidth\n  var canScrollY = scroll.scrollHeight > scroll.clientHeight\n  if (!(dx && canScrollX || dy && canScrollY)) { return }\n\n  // Webkit browsers on OS X abort momentum scrolls when the target\n  // of the scroll event is removed from the scrollable element.\n  // This hack (see related code in patchDisplay) makes sure the\n  // element is kept around.\n  if (dy && mac && webkit) {\n    outer: for (var cur = e.target, view = display.view; cur != scroll; cur = cur.parentNode) {\n      for (var i = 0; i < view.length; i++) {\n        if (view[i].node == cur) {\n          cm.display.currentWheelTarget = cur\n          break outer\n        }\n      }\n    }\n  }\n\n  // On some browsers, horizontal scrolling will cause redraws to\n  // happen before the gutter has been realigned, causing it to\n  // wriggle around in a most unseemly way. When we have an\n  // estimated pixels/delta value, we just handle horizontal\n  // scrolling entirely here. It'll be slightly off from native, but\n  // better than glitching out.\n  if (dx && !gecko && !presto && wheelPixelsPerUnit != null) {\n    if (dy && canScrollY)\n      { updateScrollTop(cm, Math.max(0, scroll.scrollTop + dy * wheelPixelsPerUnit)) }\n    setScrollLeft(cm, Math.max(0, scroll.scrollLeft + dx * wheelPixelsPerUnit))\n    // Only prevent default scrolling if vertical scrolling is\n    // actually possible. Otherwise, it causes vertical scroll\n    // jitter on OSX trackpads when deltaX is small and deltaY\n    // is large (issue #3579)\n    if (!dy || (dy && canScrollY))\n      { e_preventDefault(e) }\n    display.wheelStartX = null // Abort measurement, if in progress\n    return\n  }\n\n  // 'Project' the visible viewport to cover the area that is being\n  // scrolled into view (if we know enough to estimate it).\n  if (dy && wheelPixelsPerUnit != null) {\n    var pixels = dy * wheelPixelsPerUnit\n    var top = cm.doc.scrollTop, bot = top + display.wrapper.clientHeight\n    if (pixels < 0) { top = Math.max(0, top + pixels - 50) }\n    else { bot = Math.min(cm.doc.height, bot + pixels + 50) }\n    updateDisplaySimple(cm, {top: top, bottom: bot})\n  }\n\n  if (wheelSamples < 20) {\n    if (display.wheelStartX == null) {\n      display.wheelStartX = scroll.scrollLeft; display.wheelStartY = scroll.scrollTop\n      display.wheelDX = dx; display.wheelDY = dy\n      setTimeout(function () {\n        if (display.wheelStartX == null) { return }\n        var movedX = scroll.scrollLeft - display.wheelStartX\n        var movedY = scroll.scrollTop - display.wheelStartY\n        var sample = (movedY && display.wheelDY && movedY / display.wheelDY) ||\n          (movedX && display.wheelDX && movedX / display.wheelDX)\n        display.wheelStartX = display.wheelStartY = null\n        if (!sample) { return }\n        wheelPixelsPerUnit = (wheelPixelsPerUnit * wheelSamples + sample) / (wheelSamples + 1)\n        ++wheelSamples\n      }, 200)\n    } else {\n      display.wheelDX += dx; display.wheelDY += dy\n    }\n  }\n}\n\n// Selection objects are immutable. A new one is created every time\n// the selection changes. A selection is one or more non-overlapping\n// (and non-touching) ranges, sorted, and an integer that indicates\n// which one is the primary selection (the one that's scrolled into\n// view, that getCursor returns, etc).\nvar Selection = function(ranges, primIndex) {\n  this.ranges = ranges\n  this.primIndex = primIndex\n};\n\nSelection.prototype.primary = function () { return this.ranges[this.primIndex] };\n\nSelection.prototype.equals = function (other) {\n    var this$1 = this;\n\n  if (other == this) { return true }\n  if (other.primIndex != this.primIndex || other.ranges.length != this.ranges.length) { return false }\n  for (var i = 0; i < this.ranges.length; i++) {\n    var here = this$1.ranges[i], there = other.ranges[i]\n    if (!equalCursorPos(here.anchor, there.anchor) || !equalCursorPos(here.head, there.head)) { return false }\n  }\n  return true\n};\n\nSelection.prototype.deepCopy = function () {\n    var this$1 = this;\n\n  var out = []\n  for (var i = 0; i < this.ranges.length; i++)\n    { out[i] = new Range(copyPos(this$1.ranges[i].anchor), copyPos(this$1.ranges[i].head)) }\n  return new Selection(out, this.primIndex)\n};\n\nSelection.prototype.somethingSelected = function () {\n    var this$1 = this;\n\n  for (var i = 0; i < this.ranges.length; i++)\n    { if (!this$1.ranges[i].empty()) { return true } }\n  return false\n};\n\nSelection.prototype.contains = function (pos, end) {\n    var this$1 = this;\n\n  if (!end) { end = pos }\n  for (var i = 0; i < this.ranges.length; i++) {\n    var range = this$1.ranges[i]\n    if (cmp(end, range.from()) >= 0 && cmp(pos, range.to()) <= 0)\n      { return i }\n  }\n  return -1\n};\n\nvar Range = function(anchor, head) {\n  this.anchor = anchor; this.head = head\n};\n\nRange.prototype.from = function () { return minPos(this.anchor, this.head) };\nRange.prototype.to = function () { return maxPos(this.anchor, this.head) };\nRange.prototype.empty = function () { return this.head.line == this.anchor.line && this.head.ch == this.anchor.ch };\n\n// Take an unsorted, potentially overlapping set of ranges, and\n// build a selection out of it. 'Consumes' ranges array (modifying\n// it).\nfunction normalizeSelection(ranges, primIndex) {\n  var prim = ranges[primIndex]\n  ranges.sort(function (a, b) { return cmp(a.from(), b.from()); })\n  primIndex = indexOf(ranges, prim)\n  for (var i = 1; i < ranges.length; i++) {\n    var cur = ranges[i], prev = ranges[i - 1]\n    if (cmp(prev.to(), cur.from()) >= 0) {\n      var from = minPos(prev.from(), cur.from()), to = maxPos(prev.to(), cur.to())\n      var inv = prev.empty() ? cur.from() == cur.head : prev.from() == prev.head\n      if (i <= primIndex) { --primIndex }\n      ranges.splice(--i, 2, new Range(inv ? to : from, inv ? from : to))\n    }\n  }\n  return new Selection(ranges, primIndex)\n}\n\nfunction simpleSelection(anchor, head) {\n  return new Selection([new Range(anchor, head || anchor)], 0)\n}\n\n// Compute the position of the end of a change (its 'to' property\n// refers to the pre-change end).\nfunction changeEnd(change) {\n  if (!change.text) { return change.to }\n  return Pos(change.from.line + change.text.length - 1,\n             lst(change.text).length + (change.text.length == 1 ? change.from.ch : 0))\n}\n\n// Adjust a position to refer to the post-change position of the\n// same text, or the end of the change if the change covers it.\nfunction adjustForChange(pos, change) {\n  if (cmp(pos, change.from) < 0) { return pos }\n  if (cmp(pos, change.to) <= 0) { return changeEnd(change) }\n\n  var line = pos.line + change.text.length - (change.to.line - change.from.line) - 1, ch = pos.ch\n  if (pos.line == change.to.line) { ch += changeEnd(change).ch - change.to.ch }\n  return Pos(line, ch)\n}\n\nfunction computeSelAfterChange(doc, change) {\n  var out = []\n  for (var i = 0; i < doc.sel.ranges.length; i++) {\n    var range = doc.sel.ranges[i]\n    out.push(new Range(adjustForChange(range.anchor, change),\n                       adjustForChange(range.head, change)))\n  }\n  return normalizeSelection(out, doc.sel.primIndex)\n}\n\nfunction offsetPos(pos, old, nw) {\n  if (pos.line == old.line)\n    { return Pos(nw.line, pos.ch - old.ch + nw.ch) }\n  else\n    { return Pos(nw.line + (pos.line - old.line), pos.ch) }\n}\n\n// Used by replaceSelections to allow moving the selection to the\n// start or around the replaced test. Hint may be \"start\" or \"around\".\nfunction computeReplacedSel(doc, changes, hint) {\n  var out = []\n  var oldPrev = Pos(doc.first, 0), newPrev = oldPrev\n  for (var i = 0; i < changes.length; i++) {\n    var change = changes[i]\n    var from = offsetPos(change.from, oldPrev, newPrev)\n    var to = offsetPos(changeEnd(change), oldPrev, newPrev)\n    oldPrev = change.to\n    newPrev = to\n    if (hint == \"around\") {\n      var range = doc.sel.ranges[i], inv = cmp(range.head, range.anchor) < 0\n      out[i] = new Range(inv ? to : from, inv ? from : to)\n    } else {\n      out[i] = new Range(from, from)\n    }\n  }\n  return new Selection(out, doc.sel.primIndex)\n}\n\n// Used to get the editor into a consistent state again when options change.\n\nfunction loadMode(cm) {\n  cm.doc.mode = getMode(cm.options, cm.doc.modeOption)\n  resetModeState(cm)\n}\n\nfunction resetModeState(cm) {\n  cm.doc.iter(function (line) {\n    if (line.stateAfter) { line.stateAfter = null }\n    if (line.styles) { line.styles = null }\n  })\n  cm.doc.modeFrontier = cm.doc.highlightFrontier = cm.doc.first\n  startWorker(cm, 100)\n  cm.state.modeGen++\n  if (cm.curOp) { regChange(cm) }\n}\n\n// DOCUMENT DATA STRUCTURE\n\n// By default, updates that start and end at the beginning of a line\n// are treated specially, in order to make the association of line\n// widgets and marker elements with the text behave more intuitive.\nfunction isWholeLineUpdate(doc, change) {\n  return change.from.ch == 0 && change.to.ch == 0 && lst(change.text) == \"\" &&\n    (!doc.cm || doc.cm.options.wholeLineUpdateBefore)\n}\n\n// Perform a change on the document data structure.\nfunction updateDoc(doc, change, markedSpans, estimateHeight) {\n  function spansFor(n) {return markedSpans ? markedSpans[n] : null}\n  function update(line, text, spans) {\n    updateLine(line, text, spans, estimateHeight)\n    signalLater(line, \"change\", line, change)\n  }\n  function linesFor(start, end) {\n    var result = []\n    for (var i = start; i < end; ++i)\n      { result.push(new Line(text[i], spansFor(i), estimateHeight)) }\n    return result\n  }\n\n  var from = change.from, to = change.to, text = change.text\n  var firstLine = getLine(doc, from.line), lastLine = getLine(doc, to.line)\n  var lastText = lst(text), lastSpans = spansFor(text.length - 1), nlines = to.line - from.line\n\n  // Adjust the line structure\n  if (change.full) {\n    doc.insert(0, linesFor(0, text.length))\n    doc.remove(text.length, doc.size - text.length)\n  } else if (isWholeLineUpdate(doc, change)) {\n    // This is a whole-line replace. Treated specially to make\n    // sure line objects move the way they are supposed to.\n    var added = linesFor(0, text.length - 1)\n    update(lastLine, lastLine.text, lastSpans)\n    if (nlines) { doc.remove(from.line, nlines) }\n    if (added.length) { doc.insert(from.line, added) }\n  } else if (firstLine == lastLine) {\n    if (text.length == 1) {\n      update(firstLine, firstLine.text.slice(0, from.ch) + lastText + firstLine.text.slice(to.ch), lastSpans)\n    } else {\n      var added$1 = linesFor(1, text.length - 1)\n      added$1.push(new Line(lastText + firstLine.text.slice(to.ch), lastSpans, estimateHeight))\n      update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0))\n      doc.insert(from.line + 1, added$1)\n    }\n  } else if (text.length == 1) {\n    update(firstLine, firstLine.text.slice(0, from.ch) + text[0] + lastLine.text.slice(to.ch), spansFor(0))\n    doc.remove(from.line + 1, nlines)\n  } else {\n    update(firstLine, firstLine.text.slice(0, from.ch) + text[0], spansFor(0))\n    update(lastLine, lastText + lastLine.text.slice(to.ch), lastSpans)\n    var added$2 = linesFor(1, text.length - 1)\n    if (nlines > 1) { doc.remove(from.line + 1, nlines - 1) }\n    doc.insert(from.line + 1, added$2)\n  }\n\n  signalLater(doc, \"change\", doc, change)\n}\n\n// Call f for all linked documents.\nfunction linkedDocs(doc, f, sharedHistOnly) {\n  function propagate(doc, skip, sharedHist) {\n    if (doc.linked) { for (var i = 0; i < doc.linked.length; ++i) {\n      var rel = doc.linked[i]\n      if (rel.doc == skip) { continue }\n      var shared = sharedHist && rel.sharedHist\n      if (sharedHistOnly && !shared) { continue }\n      f(rel.doc, shared)\n      propagate(rel.doc, doc, shared)\n    } }\n  }\n  propagate(doc, null, true)\n}\n\n// Attach a document to an editor.\nfunction attachDoc(cm, doc) {\n  if (doc.cm) { throw new Error(\"This document is already in use.\") }\n  cm.doc = doc\n  doc.cm = cm\n  estimateLineHeights(cm)\n  loadMode(cm)\n  setDirectionClass(cm)\n  if (!cm.options.lineWrapping) { findMaxLine(cm) }\n  cm.options.mode = doc.modeOption\n  regChange(cm)\n}\n\nfunction setDirectionClass(cm) {\n  ;(cm.doc.direction == \"rtl\" ? addClass : rmClass)(cm.display.lineDiv, \"CodeMirror-rtl\")\n}\n\nfunction directionChanged(cm) {\n  runInOp(cm, function () {\n    setDirectionClass(cm)\n    regChange(cm)\n  })\n}\n\nfunction History(startGen) {\n  // Arrays of change events and selections. Doing something adds an\n  // event to done and clears undo. Undoing moves events from done\n  // to undone, redoing moves them in the other direction.\n  this.done = []; this.undone = []\n  this.undoDepth = Infinity\n  // Used to track when changes can be merged into a single undo\n  // event\n  this.lastModTime = this.lastSelTime = 0\n  this.lastOp = this.lastSelOp = null\n  this.lastOrigin = this.lastSelOrigin = null\n  // Used by the isClean() method\n  this.generation = this.maxGeneration = startGen || 1\n}\n\n// Create a history change event from an updateDoc-style change\n// object.\nfunction historyChangeFromChange(doc, change) {\n  var histChange = {from: copyPos(change.from), to: changeEnd(change), text: getBetween(doc, change.from, change.to)}\n  attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1)\n  linkedDocs(doc, function (doc) { return attachLocalSpans(doc, histChange, change.from.line, change.to.line + 1); }, true)\n  return histChange\n}\n\n// Pop all selection events off the end of a history array. Stop at\n// a change event.\nfunction clearSelectionEvents(array) {\n  while (array.length) {\n    var last = lst(array)\n    if (last.ranges) { array.pop() }\n    else { break }\n  }\n}\n\n// Find the top change event in the history. Pop off selection\n// events that are in the way.\nfunction lastChangeEvent(hist, force) {\n  if (force) {\n    clearSelectionEvents(hist.done)\n    return lst(hist.done)\n  } else if (hist.done.length && !lst(hist.done).ranges) {\n    return lst(hist.done)\n  } else if (hist.done.length > 1 && !hist.done[hist.done.length - 2].ranges) {\n    hist.done.pop()\n    return lst(hist.done)\n  }\n}\n\n// Register a change in the history. Merges changes that are within\n// a single operation, or are close together with an origin that\n// allows merging (starting with \"+\") into a single event.\nfunction addChangeToHistory(doc, change, selAfter, opId) {\n  var hist = doc.history\n  hist.undone.length = 0\n  var time = +new Date, cur\n  var last\n\n  if ((hist.lastOp == opId ||\n       hist.lastOrigin == change.origin && change.origin &&\n       ((change.origin.charAt(0) == \"+\" && hist.lastModTime > time - (doc.cm ? doc.cm.options.historyEventDelay : 500)) ||\n        change.origin.charAt(0) == \"*\")) &&\n      (cur = lastChangeEvent(hist, hist.lastOp == opId))) {\n    // Merge this change into the last event\n    last = lst(cur.changes)\n    if (cmp(change.from, change.to) == 0 && cmp(change.from, last.to) == 0) {\n      // Optimized case for simple insertion -- don't want to add\n      // new changesets for every character typed\n      last.to = changeEnd(change)\n    } else {\n      // Add new sub-event\n      cur.changes.push(historyChangeFromChange(doc, change))\n    }\n  } else {\n    // Can not be merged, start a new event.\n    var before = lst(hist.done)\n    if (!before || !before.ranges)\n      { pushSelectionToHistory(doc.sel, hist.done) }\n    cur = {changes: [historyChangeFromChange(doc, change)],\n           generation: hist.generation}\n    hist.done.push(cur)\n    while (hist.done.length > hist.undoDepth) {\n      hist.done.shift()\n      if (!hist.done[0].ranges) { hist.done.shift() }\n    }\n  }\n  hist.done.push(selAfter)\n  hist.generation = ++hist.maxGeneration\n  hist.lastModTime = hist.lastSelTime = time\n  hist.lastOp = hist.lastSelOp = opId\n  hist.lastOrigin = hist.lastSelOrigin = change.origin\n\n  if (!last) { signal(doc, \"historyAdded\") }\n}\n\nfunction selectionEventCanBeMerged(doc, origin, prev, sel) {\n  var ch = origin.charAt(0)\n  return ch == \"*\" ||\n    ch == \"+\" &&\n    prev.ranges.length == sel.ranges.length &&\n    prev.somethingSelected() == sel.somethingSelected() &&\n    new Date - doc.history.lastSelTime <= (doc.cm ? doc.cm.options.historyEventDelay : 500)\n}\n\n// Called whenever the selection changes, sets the new selection as\n// the pending selection in the history, and pushes the old pending\n// selection into the 'done' array when it was significantly\n// different (in number of selected ranges, emptiness, or time).\nfunction addSelectionToHistory(doc, sel, opId, options) {\n  var hist = doc.history, origin = options && options.origin\n\n  // A new event is started when the previous origin does not match\n  // the current, or the origins don't allow matching. Origins\n  // starting with * are always merged, those starting with + are\n  // merged when similar and close together in time.\n  if (opId == hist.lastSelOp ||\n      (origin && hist.lastSelOrigin == origin &&\n       (hist.lastModTime == hist.lastSelTime && hist.lastOrigin == origin ||\n        selectionEventCanBeMerged(doc, origin, lst(hist.done), sel))))\n    { hist.done[hist.done.length - 1] = sel }\n  else\n    { pushSelectionToHistory(sel, hist.done) }\n\n  hist.lastSelTime = +new Date\n  hist.lastSelOrigin = origin\n  hist.lastSelOp = opId\n  if (options && options.clearRedo !== false)\n    { clearSelectionEvents(hist.undone) }\n}\n\nfunction pushSelectionToHistory(sel, dest) {\n  var top = lst(dest)\n  if (!(top && top.ranges && top.equals(sel)))\n    { dest.push(sel) }\n}\n\n// Used to store marked span information in the history.\nfunction attachLocalSpans(doc, change, from, to) {\n  var existing = change[\"spans_\" + doc.id], n = 0\n  doc.iter(Math.max(doc.first, from), Math.min(doc.first + doc.size, to), function (line) {\n    if (line.markedSpans)\n      { (existing || (existing = change[\"spans_\" + doc.id] = {}))[n] = line.markedSpans }\n    ++n\n  })\n}\n\n// When un/re-doing restores text containing marked spans, those\n// that have been explicitly cleared should not be restored.\nfunction removeClearedSpans(spans) {\n  if (!spans) { return null }\n  var out\n  for (var i = 0; i < spans.length; ++i) {\n    if (spans[i].marker.explicitlyCleared) { if (!out) { out = spans.slice(0, i) } }\n    else if (out) { out.push(spans[i]) }\n  }\n  return !out ? spans : out.length ? out : null\n}\n\n// Retrieve and filter the old marked spans stored in a change event.\nfunction getOldSpans(doc, change) {\n  var found = change[\"spans_\" + doc.id]\n  if (!found) { return null }\n  var nw = []\n  for (var i = 0; i < change.text.length; ++i)\n    { nw.push(removeClearedSpans(found[i])) }\n  return nw\n}\n\n// Used for un/re-doing changes from the history. Combines the\n// result of computing the existing spans with the set of spans that\n// existed in the history (so that deleting around a span and then\n// undoing brings back the span).\nfunction mergeOldSpans(doc, change) {\n  var old = getOldSpans(doc, change)\n  var stretched = stretchSpansOverChange(doc, change)\n  if (!old) { return stretched }\n  if (!stretched) { return old }\n\n  for (var i = 0; i < old.length; ++i) {\n    var oldCur = old[i], stretchCur = stretched[i]\n    if (oldCur && stretchCur) {\n      spans: for (var j = 0; j < stretchCur.length; ++j) {\n        var span = stretchCur[j]\n        for (var k = 0; k < oldCur.length; ++k)\n          { if (oldCur[k].marker == span.marker) { continue spans } }\n        oldCur.push(span)\n      }\n    } else if (stretchCur) {\n      old[i] = stretchCur\n    }\n  }\n  return old\n}\n\n// Used both to provide a JSON-safe object in .getHistory, and, when\n// detaching a document, to split the history in two\nfunction copyHistoryArray(events, newGroup, instantiateSel) {\n  var copy = []\n  for (var i = 0; i < events.length; ++i) {\n    var event = events[i]\n    if (event.ranges) {\n      copy.push(instantiateSel ? Selection.prototype.deepCopy.call(event) : event)\n      continue\n    }\n    var changes = event.changes, newChanges = []\n    copy.push({changes: newChanges})\n    for (var j = 0; j < changes.length; ++j) {\n      var change = changes[j], m = (void 0)\n      newChanges.push({from: change.from, to: change.to, text: change.text})\n      if (newGroup) { for (var prop in change) { if (m = prop.match(/^spans_(\\d+)$/)) {\n        if (indexOf(newGroup, Number(m[1])) > -1) {\n          lst(newChanges)[prop] = change[prop]\n          delete change[prop]\n        }\n      } } }\n    }\n  }\n  return copy\n}\n\n// The 'scroll' parameter given to many of these indicated whether\n// the new cursor position should be scrolled into view after\n// modifying the selection.\n\n// If shift is held or the extend flag is set, extends a range to\n// include a given position (and optionally a second position).\n// Otherwise, simply returns the range between the given positions.\n// Used for cursor motion and such.\nfunction extendRange(range, head, other, extend) {\n  if (extend) {\n    var anchor = range.anchor\n    if (other) {\n      var posBefore = cmp(head, anchor) < 0\n      if (posBefore != (cmp(other, anchor) < 0)) {\n        anchor = head\n        head = other\n      } else if (posBefore != (cmp(head, other) < 0)) {\n        head = other\n      }\n    }\n    return new Range(anchor, head)\n  } else {\n    return new Range(other || head, head)\n  }\n}\n\n// Extend the primary selection range, discard the rest.\nfunction extendSelection(doc, head, other, options, extend) {\n  if (extend == null) { extend = doc.cm && (doc.cm.display.shift || doc.extend) }\n  setSelection(doc, new Selection([extendRange(doc.sel.primary(), head, other, extend)], 0), options)\n}\n\n// Extend all selections (pos is an array of selections with length\n// equal the number of selections)\nfunction extendSelections(doc, heads, options) {\n  var out = []\n  var extend = doc.cm && (doc.cm.display.shift || doc.extend)\n  for (var i = 0; i < doc.sel.ranges.length; i++)\n    { out[i] = extendRange(doc.sel.ranges[i], heads[i], null, extend) }\n  var newSel = normalizeSelection(out, doc.sel.primIndex)\n  setSelection(doc, newSel, options)\n}\n\n// Updates a single range in the selection.\nfunction replaceOneSelection(doc, i, range, options) {\n  var ranges = doc.sel.ranges.slice(0)\n  ranges[i] = range\n  setSelection(doc, normalizeSelection(ranges, doc.sel.primIndex), options)\n}\n\n// Reset the selection to a single range.\nfunction setSimpleSelection(doc, anchor, head, options) {\n  setSelection(doc, simpleSelection(anchor, head), options)\n}\n\n// Give beforeSelectionChange handlers a change to influence a\n// selection update.\nfunction filterSelectionChange(doc, sel, options) {\n  var obj = {\n    ranges: sel.ranges,\n    update: function(ranges) {\n      var this$1 = this;\n\n      this.ranges = []\n      for (var i = 0; i < ranges.length; i++)\n        { this$1.ranges[i] = new Range(clipPos(doc, ranges[i].anchor),\n                                   clipPos(doc, ranges[i].head)) }\n    },\n    origin: options && options.origin\n  }\n  signal(doc, \"beforeSelectionChange\", doc, obj)\n  if (doc.cm) { signal(doc.cm, \"beforeSelectionChange\", doc.cm, obj) }\n  if (obj.ranges != sel.ranges) { return normalizeSelection(obj.ranges, obj.ranges.length - 1) }\n  else { return sel }\n}\n\nfunction setSelectionReplaceHistory(doc, sel, options) {\n  var done = doc.history.done, last = lst(done)\n  if (last && last.ranges) {\n    done[done.length - 1] = sel\n    setSelectionNoUndo(doc, sel, options)\n  } else {\n    setSelection(doc, sel, options)\n  }\n}\n\n// Set a new selection.\nfunction setSelection(doc, sel, options) {\n  setSelectionNoUndo(doc, sel, options)\n  addSelectionToHistory(doc, doc.sel, doc.cm ? doc.cm.curOp.id : NaN, options)\n}\n\nfunction setSelectionNoUndo(doc, sel, options) {\n  if (hasHandler(doc, \"beforeSelectionChange\") || doc.cm && hasHandler(doc.cm, \"beforeSelectionChange\"))\n    { sel = filterSelectionChange(doc, sel, options) }\n\n  var bias = options && options.bias ||\n    (cmp(sel.primary().head, doc.sel.primary().head) < 0 ? -1 : 1)\n  setSelectionInner(doc, skipAtomicInSelection(doc, sel, bias, true))\n\n  if (!(options && options.scroll === false) && doc.cm)\n    { ensureCursorVisible(doc.cm) }\n}\n\nfunction setSelectionInner(doc, sel) {\n  if (sel.equals(doc.sel)) { return }\n\n  doc.sel = sel\n\n  if (doc.cm) {\n    doc.cm.curOp.updateInput = doc.cm.curOp.selectionChanged = true\n    signalCursorActivity(doc.cm)\n  }\n  signalLater(doc, \"cursorActivity\", doc)\n}\n\n// Verify that the selection does not partially select any atomic\n// marked ranges.\nfunction reCheckSelection(doc) {\n  setSelectionInner(doc, skipAtomicInSelection(doc, doc.sel, null, false))\n}\n\n// Return a selection that does not partially select any atomic\n// ranges.\nfunction skipAtomicInSelection(doc, sel, bias, mayClear) {\n  var out\n  for (var i = 0; i < sel.ranges.length; i++) {\n    var range = sel.ranges[i]\n    var old = sel.ranges.length == doc.sel.ranges.length && doc.sel.ranges[i]\n    var newAnchor = skipAtomic(doc, range.anchor, old && old.anchor, bias, mayClear)\n    var newHead = skipAtomic(doc, range.head, old && old.head, bias, mayClear)\n    if (out || newAnchor != range.anchor || newHead != range.head) {\n      if (!out) { out = sel.ranges.slice(0, i) }\n      out[i] = new Range(newAnchor, newHead)\n    }\n  }\n  return out ? normalizeSelection(out, sel.primIndex) : sel\n}\n\nfunction skipAtomicInner(doc, pos, oldPos, dir, mayClear) {\n  var line = getLine(doc, pos.line)\n  if (line.markedSpans) { for (var i = 0; i < line.markedSpans.length; ++i) {\n    var sp = line.markedSpans[i], m = sp.marker\n    if ((sp.from == null || (m.inclusiveLeft ? sp.from <= pos.ch : sp.from < pos.ch)) &&\n        (sp.to == null || (m.inclusiveRight ? sp.to >= pos.ch : sp.to > pos.ch))) {\n      if (mayClear) {\n        signal(m, \"beforeCursorEnter\")\n        if (m.explicitlyCleared) {\n          if (!line.markedSpans) { break }\n          else {--i; continue}\n        }\n      }\n      if (!m.atomic) { continue }\n\n      if (oldPos) {\n        var near = m.find(dir < 0 ? 1 : -1), diff = (void 0)\n        if (dir < 0 ? m.inclusiveRight : m.inclusiveLeft)\n          { near = movePos(doc, near, -dir, near && near.line == pos.line ? line : null) }\n        if (near && near.line == pos.line && (diff = cmp(near, oldPos)) && (dir < 0 ? diff < 0 : diff > 0))\n          { return skipAtomicInner(doc, near, pos, dir, mayClear) }\n      }\n\n      var far = m.find(dir < 0 ? -1 : 1)\n      if (dir < 0 ? m.inclusiveLeft : m.inclusiveRight)\n        { far = movePos(doc, far, dir, far.line == pos.line ? line : null) }\n      return far ? skipAtomicInner(doc, far, pos, dir, mayClear) : null\n    }\n  } }\n  return pos\n}\n\n// Ensure a given position is not inside an atomic range.\nfunction skipAtomic(doc, pos, oldPos, bias, mayClear) {\n  var dir = bias || 1\n  var found = skipAtomicInner(doc, pos, oldPos, dir, mayClear) ||\n      (!mayClear && skipAtomicInner(doc, pos, oldPos, dir, true)) ||\n      skipAtomicInner(doc, pos, oldPos, -dir, mayClear) ||\n      (!mayClear && skipAtomicInner(doc, pos, oldPos, -dir, true))\n  if (!found) {\n    doc.cantEdit = true\n    return Pos(doc.first, 0)\n  }\n  return found\n}\n\nfunction movePos(doc, pos, dir, line) {\n  if (dir < 0 && pos.ch == 0) {\n    if (pos.line > doc.first) { return clipPos(doc, Pos(pos.line - 1)) }\n    else { return null }\n  } else if (dir > 0 && pos.ch == (line || getLine(doc, pos.line)).text.length) {\n    if (pos.line < doc.first + doc.size - 1) { return Pos(pos.line + 1, 0) }\n    else { return null }\n  } else {\n    return new Pos(pos.line, pos.ch + dir)\n  }\n}\n\nfunction selectAll(cm) {\n  cm.setSelection(Pos(cm.firstLine(), 0), Pos(cm.lastLine()), sel_dontScroll)\n}\n\n// UPDATING\n\n// Allow \"beforeChange\" event handlers to influence a change\nfunction filterChange(doc, change, update) {\n  var obj = {\n    canceled: false,\n    from: change.from,\n    to: change.to,\n    text: change.text,\n    origin: change.origin,\n    cancel: function () { return obj.canceled = true; }\n  }\n  if (update) { obj.update = function (from, to, text, origin) {\n    if (from) { obj.from = clipPos(doc, from) }\n    if (to) { obj.to = clipPos(doc, to) }\n    if (text) { obj.text = text }\n    if (origin !== undefined) { obj.origin = origin }\n  } }\n  signal(doc, \"beforeChange\", doc, obj)\n  if (doc.cm) { signal(doc.cm, \"beforeChange\", doc.cm, obj) }\n\n  if (obj.canceled) { return null }\n  return {from: obj.from, to: obj.to, text: obj.text, origin: obj.origin}\n}\n\n// Apply a change to a document, and add it to the document's\n// history, and propagating it to all linked documents.\nfunction makeChange(doc, change, ignoreReadOnly) {\n  if (doc.cm) {\n    if (!doc.cm.curOp) { return operation(doc.cm, makeChange)(doc, change, ignoreReadOnly) }\n    if (doc.cm.state.suppressEdits) { return }\n  }\n\n  if (hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")) {\n    change = filterChange(doc, change, true)\n    if (!change) { return }\n  }\n\n  // Possibly split or suppress the update based on the presence\n  // of read-only spans in its range.\n  var split = sawReadOnlySpans && !ignoreReadOnly && removeReadOnlyRanges(doc, change.from, change.to)\n  if (split) {\n    for (var i = split.length - 1; i >= 0; --i)\n      { makeChangeInner(doc, {from: split[i].from, to: split[i].to, text: i ? [\"\"] : change.text, origin: change.origin}) }\n  } else {\n    makeChangeInner(doc, change)\n  }\n}\n\nfunction makeChangeInner(doc, change) {\n  if (change.text.length == 1 && change.text[0] == \"\" && cmp(change.from, change.to) == 0) { return }\n  var selAfter = computeSelAfterChange(doc, change)\n  addChangeToHistory(doc, change, selAfter, doc.cm ? doc.cm.curOp.id : NaN)\n\n  makeChangeSingleDoc(doc, change, selAfter, stretchSpansOverChange(doc, change))\n  var rebased = []\n\n  linkedDocs(doc, function (doc, sharedHist) {\n    if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n      rebaseHist(doc.history, change)\n      rebased.push(doc.history)\n    }\n    makeChangeSingleDoc(doc, change, null, stretchSpansOverChange(doc, change))\n  })\n}\n\n// Revert a change stored in a document's history.\nfunction makeChangeFromHistory(doc, type, allowSelectionOnly) {\n  var suppress = doc.cm && doc.cm.state.suppressEdits\n  if (suppress && !allowSelectionOnly) { return }\n\n  var hist = doc.history, event, selAfter = doc.sel\n  var source = type == \"undo\" ? hist.done : hist.undone, dest = type == \"undo\" ? hist.undone : hist.done\n\n  // Verify that there is a useable event (so that ctrl-z won't\n  // needlessly clear selection events)\n  var i = 0\n  for (; i < source.length; i++) {\n    event = source[i]\n    if (allowSelectionOnly ? event.ranges && !event.equals(doc.sel) : !event.ranges)\n      { break }\n  }\n  if (i == source.length) { return }\n  hist.lastOrigin = hist.lastSelOrigin = null\n\n  for (;;) {\n    event = source.pop()\n    if (event.ranges) {\n      pushSelectionToHistory(event, dest)\n      if (allowSelectionOnly && !event.equals(doc.sel)) {\n        setSelection(doc, event, {clearRedo: false})\n        return\n      }\n      selAfter = event\n    } else if (suppress) {\n      source.push(event)\n      return\n    } else { break }\n  }\n\n  // Build up a reverse change object to add to the opposite history\n  // stack (redo when undoing, and vice versa).\n  var antiChanges = []\n  pushSelectionToHistory(selAfter, dest)\n  dest.push({changes: antiChanges, generation: hist.generation})\n  hist.generation = event.generation || ++hist.maxGeneration\n\n  var filter = hasHandler(doc, \"beforeChange\") || doc.cm && hasHandler(doc.cm, \"beforeChange\")\n\n  var loop = function ( i ) {\n    var change = event.changes[i]\n    change.origin = type\n    if (filter && !filterChange(doc, change, false)) {\n      source.length = 0\n      return {}\n    }\n\n    antiChanges.push(historyChangeFromChange(doc, change))\n\n    var after = i ? computeSelAfterChange(doc, change) : lst(source)\n    makeChangeSingleDoc(doc, change, after, mergeOldSpans(doc, change))\n    if (!i && doc.cm) { doc.cm.scrollIntoView({from: change.from, to: changeEnd(change)}) }\n    var rebased = []\n\n    // Propagate to the linked documents\n    linkedDocs(doc, function (doc, sharedHist) {\n      if (!sharedHist && indexOf(rebased, doc.history) == -1) {\n        rebaseHist(doc.history, change)\n        rebased.push(doc.history)\n      }\n      makeChangeSingleDoc(doc, change, null, mergeOldSpans(doc, change))\n    })\n  };\n\n  for (var i$1 = event.changes.length - 1; i$1 >= 0; --i$1) {\n    var returned = loop( i$1 );\n\n    if ( returned ) return returned.v;\n  }\n}\n\n// Sub-views need their line numbers shifted when text is added\n// above or below them in the parent document.\nfunction shiftDoc(doc, distance) {\n  if (distance == 0) { return }\n  doc.first += distance\n  doc.sel = new Selection(map(doc.sel.ranges, function (range) { return new Range(\n    Pos(range.anchor.line + distance, range.anchor.ch),\n    Pos(range.head.line + distance, range.head.ch)\n  ); }), doc.sel.primIndex)\n  if (doc.cm) {\n    regChange(doc.cm, doc.first, doc.first - distance, distance)\n    for (var d = doc.cm.display, l = d.viewFrom; l < d.viewTo; l++)\n      { regLineChange(doc.cm, l, \"gutter\") }\n  }\n}\n\n// More lower-level change function, handling only a single document\n// (not linked ones).\nfunction makeChangeSingleDoc(doc, change, selAfter, spans) {\n  if (doc.cm && !doc.cm.curOp)\n    { return operation(doc.cm, makeChangeSingleDoc)(doc, change, selAfter, spans) }\n\n  if (change.to.line < doc.first) {\n    shiftDoc(doc, change.text.length - 1 - (change.to.line - change.from.line))\n    return\n  }\n  if (change.from.line > doc.lastLine()) { return }\n\n  // Clip the change to the size of this doc\n  if (change.from.line < doc.first) {\n    var shift = change.text.length - 1 - (doc.first - change.from.line)\n    shiftDoc(doc, shift)\n    change = {from: Pos(doc.first, 0), to: Pos(change.to.line + shift, change.to.ch),\n              text: [lst(change.text)], origin: change.origin}\n  }\n  var last = doc.lastLine()\n  if (change.to.line > last) {\n    change = {from: change.from, to: Pos(last, getLine(doc, last).text.length),\n              text: [change.text[0]], origin: change.origin}\n  }\n\n  change.removed = getBetween(doc, change.from, change.to)\n\n  if (!selAfter) { selAfter = computeSelAfterChange(doc, change) }\n  if (doc.cm) { makeChangeSingleDocInEditor(doc.cm, change, spans) }\n  else { updateDoc(doc, change, spans) }\n  setSelectionNoUndo(doc, selAfter, sel_dontScroll)\n}\n\n// Handle the interaction of a change to a document with the editor\n// that this document is part of.\nfunction makeChangeSingleDocInEditor(cm, change, spans) {\n  var doc = cm.doc, display = cm.display, from = change.from, to = change.to\n\n  var recomputeMaxLength = false, checkWidthStart = from.line\n  if (!cm.options.lineWrapping) {\n    checkWidthStart = lineNo(visualLine(getLine(doc, from.line)))\n    doc.iter(checkWidthStart, to.line + 1, function (line) {\n      if (line == display.maxLine) {\n        recomputeMaxLength = true\n        return true\n      }\n    })\n  }\n\n  if (doc.sel.contains(change.from, change.to) > -1)\n    { signalCursorActivity(cm) }\n\n  updateDoc(doc, change, spans, estimateHeight(cm))\n\n  if (!cm.options.lineWrapping) {\n    doc.iter(checkWidthStart, from.line + change.text.length, function (line) {\n      var len = lineLength(line)\n      if (len > display.maxLineLength) {\n        display.maxLine = line\n        display.maxLineLength = len\n        display.maxLineChanged = true\n        recomputeMaxLength = false\n      }\n    })\n    if (recomputeMaxLength) { cm.curOp.updateMaxLine = true }\n  }\n\n  retreatFrontier(doc, from.line)\n  startWorker(cm, 400)\n\n  var lendiff = change.text.length - (to.line - from.line) - 1\n  // Remember that these lines changed, for updating the display\n  if (change.full)\n    { regChange(cm) }\n  else if (from.line == to.line && change.text.length == 1 && !isWholeLineUpdate(cm.doc, change))\n    { regLineChange(cm, from.line, \"text\") }\n  else\n    { regChange(cm, from.line, to.line + 1, lendiff) }\n\n  var changesHandler = hasHandler(cm, \"changes\"), changeHandler = hasHandler(cm, \"change\")\n  if (changeHandler || changesHandler) {\n    var obj = {\n      from: from, to: to,\n      text: change.text,\n      removed: change.removed,\n      origin: change.origin\n    }\n    if (changeHandler) { signalLater(cm, \"change\", cm, obj) }\n    if (changesHandler) { (cm.curOp.changeObjs || (cm.curOp.changeObjs = [])).push(obj) }\n  }\n  cm.display.selForContextMenu = null\n}\n\nfunction replaceRange(doc, code, from, to, origin) {\n  if (!to) { to = from }\n  if (cmp(to, from) < 0) { var assign;\n    (assign = [to, from], from = assign[0], to = assign[1], assign) }\n  if (typeof code == \"string\") { code = doc.splitLines(code) }\n  makeChange(doc, {from: from, to: to, text: code, origin: origin})\n}\n\n// Rebasing/resetting history to deal with externally-sourced changes\n\nfunction rebaseHistSelSingle(pos, from, to, diff) {\n  if (to < pos.line) {\n    pos.line += diff\n  } else if (from < pos.line) {\n    pos.line = from\n    pos.ch = 0\n  }\n}\n\n// Tries to rebase an array of history events given a change in the\n// document. If the change touches the same lines as the event, the\n// event, and everything 'behind' it, is discarded. If the change is\n// before the event, the event's positions are updated. Uses a\n// copy-on-write scheme for the positions, to avoid having to\n// reallocate them all on every rebase, but also avoid problems with\n// shared position objects being unsafely updated.\nfunction rebaseHistArray(array, from, to, diff) {\n  for (var i = 0; i < array.length; ++i) {\n    var sub = array[i], ok = true\n    if (sub.ranges) {\n      if (!sub.copied) { sub = array[i] = sub.deepCopy(); sub.copied = true }\n      for (var j = 0; j < sub.ranges.length; j++) {\n        rebaseHistSelSingle(sub.ranges[j].anchor, from, to, diff)\n        rebaseHistSelSingle(sub.ranges[j].head, from, to, diff)\n      }\n      continue\n    }\n    for (var j$1 = 0; j$1 < sub.changes.length; ++j$1) {\n      var cur = sub.changes[j$1]\n      if (to < cur.from.line) {\n        cur.from = Pos(cur.from.line + diff, cur.from.ch)\n        cur.to = Pos(cur.to.line + diff, cur.to.ch)\n      } else if (from <= cur.to.line) {\n        ok = false\n        break\n      }\n    }\n    if (!ok) {\n      array.splice(0, i + 1)\n      i = 0\n    }\n  }\n}\n\nfunction rebaseHist(hist, change) {\n  var from = change.from.line, to = change.to.line, diff = change.text.length - (to - from) - 1\n  rebaseHistArray(hist.done, from, to, diff)\n  rebaseHistArray(hist.undone, from, to, diff)\n}\n\n// Utility for applying a change to a line by handle or number,\n// returning the number and optionally registering the line as\n// changed.\nfunction changeLine(doc, handle, changeType, op) {\n  var no = handle, line = handle\n  if (typeof handle == \"number\") { line = getLine(doc, clipLine(doc, handle)) }\n  else { no = lineNo(handle) }\n  if (no == null) { return null }\n  if (op(line, no) && doc.cm) { regLineChange(doc.cm, no, changeType) }\n  return line\n}\n\n// The document is represented as a BTree consisting of leaves, with\n// chunk of lines in them, and branches, with up to ten leaves or\n// other branch nodes below them. The top node is always a branch\n// node, and is the document object itself (meaning it has\n// additional methods and properties).\n//\n// All nodes have parent links. The tree is used both to go from\n// line numbers to line objects, and to go from objects to numbers.\n// It also indexes by height, and is used to convert between height\n// and line object, and to find the total height of the document.\n//\n// See also http://marijnhaverbeke.nl/blog/codemirror-line-tree.html\n\nfunction LeafChunk(lines) {\n  var this$1 = this;\n\n  this.lines = lines\n  this.parent = null\n  var height = 0\n  for (var i = 0; i < lines.length; ++i) {\n    lines[i].parent = this$1\n    height += lines[i].height\n  }\n  this.height = height\n}\n\nLeafChunk.prototype = {\n  chunkSize: function chunkSize() { return this.lines.length },\n\n  // Remove the n lines at offset 'at'.\n  removeInner: function removeInner(at, n) {\n    var this$1 = this;\n\n    for (var i = at, e = at + n; i < e; ++i) {\n      var line = this$1.lines[i]\n      this$1.height -= line.height\n      cleanUpLine(line)\n      signalLater(line, \"delete\")\n    }\n    this.lines.splice(at, n)\n  },\n\n  // Helper used to collapse a small branch into a single leaf.\n  collapse: function collapse(lines) {\n    lines.push.apply(lines, this.lines)\n  },\n\n  // Insert the given array of lines at offset 'at', count them as\n  // having the given height.\n  insertInner: function insertInner(at, lines, height) {\n    var this$1 = this;\n\n    this.height += height\n    this.lines = this.lines.slice(0, at).concat(lines).concat(this.lines.slice(at))\n    for (var i = 0; i < lines.length; ++i) { lines[i].parent = this$1 }\n  },\n\n  // Used to iterate over a part of the tree.\n  iterN: function iterN(at, n, op) {\n    var this$1 = this;\n\n    for (var e = at + n; at < e; ++at)\n      { if (op(this$1.lines[at])) { return true } }\n  }\n}\n\nfunction BranchChunk(children) {\n  var this$1 = this;\n\n  this.children = children\n  var size = 0, height = 0\n  for (var i = 0; i < children.length; ++i) {\n    var ch = children[i]\n    size += ch.chunkSize(); height += ch.height\n    ch.parent = this$1\n  }\n  this.size = size\n  this.height = height\n  this.parent = null\n}\n\nBranchChunk.prototype = {\n  chunkSize: function chunkSize() { return this.size },\n\n  removeInner: function removeInner(at, n) {\n    var this$1 = this;\n\n    this.size -= n\n    for (var i = 0; i < this.children.length; ++i) {\n      var child = this$1.children[i], sz = child.chunkSize()\n      if (at < sz) {\n        var rm = Math.min(n, sz - at), oldHeight = child.height\n        child.removeInner(at, rm)\n        this$1.height -= oldHeight - child.height\n        if (sz == rm) { this$1.children.splice(i--, 1); child.parent = null }\n        if ((n -= rm) == 0) { break }\n        at = 0\n      } else { at -= sz }\n    }\n    // If the result is smaller than 25 lines, ensure that it is a\n    // single leaf node.\n    if (this.size - n < 25 &&\n        (this.children.length > 1 || !(this.children[0] instanceof LeafChunk))) {\n      var lines = []\n      this.collapse(lines)\n      this.children = [new LeafChunk(lines)]\n      this.children[0].parent = this\n    }\n  },\n\n  collapse: function collapse(lines) {\n    var this$1 = this;\n\n    for (var i = 0; i < this.children.length; ++i) { this$1.children[i].collapse(lines) }\n  },\n\n  insertInner: function insertInner(at, lines, height) {\n    var this$1 = this;\n\n    this.size += lines.length\n    this.height += height\n    for (var i = 0; i < this.children.length; ++i) {\n      var child = this$1.children[i], sz = child.chunkSize()\n      if (at <= sz) {\n        child.insertInner(at, lines, height)\n        if (child.lines && child.lines.length > 50) {\n          // To avoid memory thrashing when child.lines is huge (e.g. first view of a large file), it's never spliced.\n          // Instead, small slices are taken. They're taken in order because sequential memory accesses are fastest.\n          var remaining = child.lines.length % 25 + 25\n          for (var pos = remaining; pos < child.lines.length;) {\n            var leaf = new LeafChunk(child.lines.slice(pos, pos += 25))\n            child.height -= leaf.height\n            this$1.children.splice(++i, 0, leaf)\n            leaf.parent = this$1\n          }\n          child.lines = child.lines.slice(0, remaining)\n          this$1.maybeSpill()\n        }\n        break\n      }\n      at -= sz\n    }\n  },\n\n  // When a node has grown, check whether it should be split.\n  maybeSpill: function maybeSpill() {\n    if (this.children.length <= 10) { return }\n    var me = this\n    do {\n      var spilled = me.children.splice(me.children.length - 5, 5)\n      var sibling = new BranchChunk(spilled)\n      if (!me.parent) { // Become the parent node\n        var copy = new BranchChunk(me.children)\n        copy.parent = me\n        me.children = [copy, sibling]\n        me = copy\n     } else {\n        me.size -= sibling.size\n        me.height -= sibling.height\n        var myIndex = indexOf(me.parent.children, me)\n        me.parent.children.splice(myIndex + 1, 0, sibling)\n      }\n      sibling.parent = me.parent\n    } while (me.children.length > 10)\n    me.parent.maybeSpill()\n  },\n\n  iterN: function iterN(at, n, op) {\n    var this$1 = this;\n\n    for (var i = 0; i < this.children.length; ++i) {\n      var child = this$1.children[i], sz = child.chunkSize()\n      if (at < sz) {\n        var used = Math.min(n, sz - at)\n        if (child.iterN(at, used, op)) { return true }\n        if ((n -= used) == 0) { break }\n        at = 0\n      } else { at -= sz }\n    }\n  }\n}\n\n// Line widgets are block elements displayed above or below a line.\n\nvar LineWidget = function(doc, node, options) {\n  var this$1 = this;\n\n  if (options) { for (var opt in options) { if (options.hasOwnProperty(opt))\n    { this$1[opt] = options[opt] } } }\n  this.doc = doc\n  this.node = node\n};\n\nLineWidget.prototype.clear = function () {\n    var this$1 = this;\n\n  var cm = this.doc.cm, ws = this.line.widgets, line = this.line, no = lineNo(line)\n  if (no == null || !ws) { return }\n  for (var i = 0; i < ws.length; ++i) { if (ws[i] == this$1) { ws.splice(i--, 1) } }\n  if (!ws.length) { line.widgets = null }\n  var height = widgetHeight(this)\n  updateLineHeight(line, Math.max(0, line.height - height))\n  if (cm) {\n    runInOp(cm, function () {\n      adjustScrollWhenAboveVisible(cm, line, -height)\n      regLineChange(cm, no, \"widget\")\n    })\n    signalLater(cm, \"lineWidgetCleared\", cm, this, no)\n  }\n};\n\nLineWidget.prototype.changed = function () {\n    var this$1 = this;\n\n  var oldH = this.height, cm = this.doc.cm, line = this.line\n  this.height = null\n  var diff = widgetHeight(this) - oldH\n  if (!diff) { return }\n  if (!lineIsHidden(this.doc, line)) { updateLineHeight(line, line.height + diff) }\n  if (cm) {\n    runInOp(cm, function () {\n      cm.curOp.forceUpdate = true\n      adjustScrollWhenAboveVisible(cm, line, diff)\n      signalLater(cm, \"lineWidgetChanged\", cm, this$1, lineNo(line))\n    })\n  }\n};\neventMixin(LineWidget)\n\nfunction adjustScrollWhenAboveVisible(cm, line, diff) {\n  if (heightAtLine(line) < ((cm.curOp && cm.curOp.scrollTop) || cm.doc.scrollTop))\n    { addToScrollTop(cm, diff) }\n}\n\nfunction addLineWidget(doc, handle, node, options) {\n  var widget = new LineWidget(doc, node, options)\n  var cm = doc.cm\n  if (cm && widget.noHScroll) { cm.display.alignWidgets = true }\n  changeLine(doc, handle, \"widget\", function (line) {\n    var widgets = line.widgets || (line.widgets = [])\n    if (widget.insertAt == null) { widgets.push(widget) }\n    else { widgets.splice(Math.min(widgets.length - 1, Math.max(0, widget.insertAt)), 0, widget) }\n    widget.line = line\n    if (cm && !lineIsHidden(doc, line)) {\n      var aboveVisible = heightAtLine(line) < doc.scrollTop\n      updateLineHeight(line, line.height + widgetHeight(widget))\n      if (aboveVisible) { addToScrollTop(cm, widget.height) }\n      cm.curOp.forceUpdate = true\n    }\n    return true\n  })\n  if (cm) { signalLater(cm, \"lineWidgetAdded\", cm, widget, typeof handle == \"number\" ? handle : lineNo(handle)) }\n  return widget\n}\n\n// TEXTMARKERS\n\n// Created with markText and setBookmark methods. A TextMarker is a\n// handle that can be used to clear or find a marked position in the\n// document. Line objects hold arrays (markedSpans) containing\n// {from, to, marker} object pointing to such marker objects, and\n// indicating that such a marker is present on that line. Multiple\n// lines may point to the same marker when it spans across lines.\n// The spans will have null for their from/to properties when the\n// marker continues beyond the start/end of the line. Markers have\n// links back to the lines they currently touch.\n\n// Collapsed markers have unique ids, in order to be able to order\n// them, which is needed for uniquely determining an outer marker\n// when they overlap (they may nest, but not partially overlap).\nvar nextMarkerId = 0\n\nvar TextMarker = function(doc, type) {\n  this.lines = []\n  this.type = type\n  this.doc = doc\n  this.id = ++nextMarkerId\n};\n\n// Clear the marker.\nTextMarker.prototype.clear = function () {\n    var this$1 = this;\n\n  if (this.explicitlyCleared) { return }\n  var cm = this.doc.cm, withOp = cm && !cm.curOp\n  if (withOp) { startOperation(cm) }\n  if (hasHandler(this, \"clear\")) {\n    var found = this.find()\n    if (found) { signalLater(this, \"clear\", found.from, found.to) }\n  }\n  var min = null, max = null\n  for (var i = 0; i < this.lines.length; ++i) {\n    var line = this$1.lines[i]\n    var span = getMarkedSpanFor(line.markedSpans, this$1)\n    if (cm && !this$1.collapsed) { regLineChange(cm, lineNo(line), \"text\") }\n    else if (cm) {\n      if (span.to != null) { max = lineNo(line) }\n      if (span.from != null) { min = lineNo(line) }\n    }\n    line.markedSpans = removeMarkedSpan(line.markedSpans, span)\n    if (span.from == null && this$1.collapsed && !lineIsHidden(this$1.doc, line) && cm)\n      { updateLineHeight(line, textHeight(cm.display)) }\n  }\n  if (cm && this.collapsed && !cm.options.lineWrapping) { for (var i$1 = 0; i$1 < this.lines.length; ++i$1) {\n    var visual = visualLine(this$1.lines[i$1]), len = lineLength(visual)\n    if (len > cm.display.maxLineLength) {\n      cm.display.maxLine = visual\n      cm.display.maxLineLength = len\n      cm.display.maxLineChanged = true\n    }\n  } }\n\n  if (min != null && cm && this.collapsed) { regChange(cm, min, max + 1) }\n  this.lines.length = 0\n  this.explicitlyCleared = true\n  if (this.atomic && this.doc.cantEdit) {\n    this.doc.cantEdit = false\n    if (cm) { reCheckSelection(cm.doc) }\n  }\n  if (cm) { signalLater(cm, \"markerCleared\", cm, this, min, max) }\n  if (withOp) { endOperation(cm) }\n  if (this.parent) { this.parent.clear() }\n};\n\n// Find the position of the marker in the document. Returns a {from,\n// to} object by default. Side can be passed to get a specific side\n// -- 0 (both), -1 (left), or 1 (right). When lineObj is true, the\n// Pos objects returned contain a line object, rather than a line\n// number (used to prevent looking up the same line twice).\nTextMarker.prototype.find = function (side, lineObj) {\n    var this$1 = this;\n\n  if (side == null && this.type == \"bookmark\") { side = 1 }\n  var from, to\n  for (var i = 0; i < this.lines.length; ++i) {\n    var line = this$1.lines[i]\n    var span = getMarkedSpanFor(line.markedSpans, this$1)\n    if (span.from != null) {\n      from = Pos(lineObj ? line : lineNo(line), span.from)\n      if (side == -1) { return from }\n    }\n    if (span.to != null) {\n      to = Pos(lineObj ? line : lineNo(line), span.to)\n      if (side == 1) { return to }\n    }\n  }\n  return from && {from: from, to: to}\n};\n\n// Signals that the marker's widget changed, and surrounding layout\n// should be recomputed.\nTextMarker.prototype.changed = function () {\n    var this$1 = this;\n\n  var pos = this.find(-1, true), widget = this, cm = this.doc.cm\n  if (!pos || !cm) { return }\n  runInOp(cm, function () {\n    var line = pos.line, lineN = lineNo(pos.line)\n    var view = findViewForLine(cm, lineN)\n    if (view) {\n      clearLineMeasurementCacheFor(view)\n      cm.curOp.selectionChanged = cm.curOp.forceUpdate = true\n    }\n    cm.curOp.updateMaxLine = true\n    if (!lineIsHidden(widget.doc, line) && widget.height != null) {\n      var oldHeight = widget.height\n      widget.height = null\n      var dHeight = widgetHeight(widget) - oldHeight\n      if (dHeight)\n        { updateLineHeight(line, line.height + dHeight) }\n    }\n    signalLater(cm, \"markerChanged\", cm, this$1)\n  })\n};\n\nTextMarker.prototype.attachLine = function (line) {\n  if (!this.lines.length && this.doc.cm) {\n    var op = this.doc.cm.curOp\n    if (!op.maybeHiddenMarkers || indexOf(op.maybeHiddenMarkers, this) == -1)\n      { (op.maybeUnhiddenMarkers || (op.maybeUnhiddenMarkers = [])).push(this) }\n  }\n  this.lines.push(line)\n};\n\nTextMarker.prototype.detachLine = function (line) {\n  this.lines.splice(indexOf(this.lines, line), 1)\n  if (!this.lines.length && this.doc.cm) {\n    var op = this.doc.cm.curOp\n    ;(op.maybeHiddenMarkers || (op.maybeHiddenMarkers = [])).push(this)\n  }\n};\neventMixin(TextMarker)\n\n// Create a marker, wire it up to the right lines, and\nfunction markText(doc, from, to, options, type) {\n  // Shared markers (across linked documents) are handled separately\n  // (markTextShared will call out to this again, once per\n  // document).\n  if (options && options.shared) { return markTextShared(doc, from, to, options, type) }\n  // Ensure we are in an operation.\n  if (doc.cm && !doc.cm.curOp) { return operation(doc.cm, markText)(doc, from, to, options, type) }\n\n  var marker = new TextMarker(doc, type), diff = cmp(from, to)\n  if (options) { copyObj(options, marker, false) }\n  // Don't connect empty markers unless clearWhenEmpty is false\n  if (diff > 0 || diff == 0 && marker.clearWhenEmpty !== false)\n    { return marker }\n  if (marker.replacedWith) {\n    // Showing up as a widget implies collapsed (widget replaces text)\n    marker.collapsed = true\n    marker.widgetNode = eltP(\"span\", [marker.replacedWith], \"CodeMirror-widget\")\n    if (!options.handleMouseEvents) { marker.widgetNode.setAttribute(\"cm-ignore-events\", \"true\") }\n    if (options.insertLeft) { marker.widgetNode.insertLeft = true }\n  }\n  if (marker.collapsed) {\n    if (conflictingCollapsedRange(doc, from.line, from, to, marker) ||\n        from.line != to.line && conflictingCollapsedRange(doc, to.line, from, to, marker))\n      { throw new Error(\"Inserting collapsed marker partially overlapping an existing one\") }\n    seeCollapsedSpans()\n  }\n\n  if (marker.addToHistory)\n    { addChangeToHistory(doc, {from: from, to: to, origin: \"markText\"}, doc.sel, NaN) }\n\n  var curLine = from.line, cm = doc.cm, updateMaxLine\n  doc.iter(curLine, to.line + 1, function (line) {\n    if (cm && marker.collapsed && !cm.options.lineWrapping && visualLine(line) == cm.display.maxLine)\n      { updateMaxLine = true }\n    if (marker.collapsed && curLine != from.line) { updateLineHeight(line, 0) }\n    addMarkedSpan(line, new MarkedSpan(marker,\n                                       curLine == from.line ? from.ch : null,\n                                       curLine == to.line ? to.ch : null))\n    ++curLine\n  })\n  // lineIsHidden depends on the presence of the spans, so needs a second pass\n  if (marker.collapsed) { doc.iter(from.line, to.line + 1, function (line) {\n    if (lineIsHidden(doc, line)) { updateLineHeight(line, 0) }\n  }) }\n\n  if (marker.clearOnEnter) { on(marker, \"beforeCursorEnter\", function () { return marker.clear(); }) }\n\n  if (marker.readOnly) {\n    seeReadOnlySpans()\n    if (doc.history.done.length || doc.history.undone.length)\n      { doc.clearHistory() }\n  }\n  if (marker.collapsed) {\n    marker.id = ++nextMarkerId\n    marker.atomic = true\n  }\n  if (cm) {\n    // Sync editor state\n    if (updateMaxLine) { cm.curOp.updateMaxLine = true }\n    if (marker.collapsed)\n      { regChange(cm, from.line, to.line + 1) }\n    else if (marker.className || marker.title || marker.startStyle || marker.endStyle || marker.css)\n      { for (var i = from.line; i <= to.line; i++) { regLineChange(cm, i, \"text\") } }\n    if (marker.atomic) { reCheckSelection(cm.doc) }\n    signalLater(cm, \"markerAdded\", cm, marker)\n  }\n  return marker\n}\n\n// SHARED TEXTMARKERS\n\n// A shared marker spans multiple linked documents. It is\n// implemented as a meta-marker-object controlling multiple normal\n// markers.\nvar SharedTextMarker = function(markers, primary) {\n  var this$1 = this;\n\n  this.markers = markers\n  this.primary = primary\n  for (var i = 0; i < markers.length; ++i)\n    { markers[i].parent = this$1 }\n};\n\nSharedTextMarker.prototype.clear = function () {\n    var this$1 = this;\n\n  if (this.explicitlyCleared) { return }\n  this.explicitlyCleared = true\n  for (var i = 0; i < this.markers.length; ++i)\n    { this$1.markers[i].clear() }\n  signalLater(this, \"clear\")\n};\n\nSharedTextMarker.prototype.find = function (side, lineObj) {\n  return this.primary.find(side, lineObj)\n};\neventMixin(SharedTextMarker)\n\nfunction markTextShared(doc, from, to, options, type) {\n  options = copyObj(options)\n  options.shared = false\n  var markers = [markText(doc, from, to, options, type)], primary = markers[0]\n  var widget = options.widgetNode\n  linkedDocs(doc, function (doc) {\n    if (widget) { options.widgetNode = widget.cloneNode(true) }\n    markers.push(markText(doc, clipPos(doc, from), clipPos(doc, to), options, type))\n    for (var i = 0; i < doc.linked.length; ++i)\n      { if (doc.linked[i].isParent) { return } }\n    primary = lst(markers)\n  })\n  return new SharedTextMarker(markers, primary)\n}\n\nfunction findSharedMarkers(doc) {\n  return doc.findMarks(Pos(doc.first, 0), doc.clipPos(Pos(doc.lastLine())), function (m) { return m.parent; })\n}\n\nfunction copySharedMarkers(doc, markers) {\n  for (var i = 0; i < markers.length; i++) {\n    var marker = markers[i], pos = marker.find()\n    var mFrom = doc.clipPos(pos.from), mTo = doc.clipPos(pos.to)\n    if (cmp(mFrom, mTo)) {\n      var subMark = markText(doc, mFrom, mTo, marker.primary, marker.primary.type)\n      marker.markers.push(subMark)\n      subMark.parent = marker\n    }\n  }\n}\n\nfunction detachSharedMarkers(markers) {\n  var loop = function ( i ) {\n    var marker = markers[i], linked = [marker.primary.doc]\n    linkedDocs(marker.primary.doc, function (d) { return linked.push(d); })\n    for (var j = 0; j < marker.markers.length; j++) {\n      var subMarker = marker.markers[j]\n      if (indexOf(linked, subMarker.doc) == -1) {\n        subMarker.parent = null\n        marker.markers.splice(j--, 1)\n      }\n    }\n  };\n\n  for (var i = 0; i < markers.length; i++) loop( i );\n}\n\nvar nextDocId = 0\nvar Doc = function(text, mode, firstLine, lineSep, direction) {\n  if (!(this instanceof Doc)) { return new Doc(text, mode, firstLine, lineSep, direction) }\n  if (firstLine == null) { firstLine = 0 }\n\n  BranchChunk.call(this, [new LeafChunk([new Line(\"\", null)])])\n  this.first = firstLine\n  this.scrollTop = this.scrollLeft = 0\n  this.cantEdit = false\n  this.cleanGeneration = 1\n  this.modeFrontier = this.highlightFrontier = firstLine\n  var start = Pos(firstLine, 0)\n  this.sel = simpleSelection(start)\n  this.history = new History(null)\n  this.id = ++nextDocId\n  this.modeOption = mode\n  this.lineSep = lineSep\n  this.direction = (direction == \"rtl\") ? \"rtl\" : \"ltr\"\n  this.extend = false\n\n  if (typeof text == \"string\") { text = this.splitLines(text) }\n  updateDoc(this, {from: start, to: start, text: text})\n  setSelection(this, simpleSelection(start), sel_dontScroll)\n}\n\nDoc.prototype = createObj(BranchChunk.prototype, {\n  constructor: Doc,\n  // Iterate over the document. Supports two forms -- with only one\n  // argument, it calls that for each line in the document. With\n  // three, it iterates over the range given by the first two (with\n  // the second being non-inclusive).\n  iter: function(from, to, op) {\n    if (op) { this.iterN(from - this.first, to - from, op) }\n    else { this.iterN(this.first, this.first + this.size, from) }\n  },\n\n  // Non-public interface for adding and removing lines.\n  insert: function(at, lines) {\n    var height = 0\n    for (var i = 0; i < lines.length; ++i) { height += lines[i].height }\n    this.insertInner(at - this.first, lines, height)\n  },\n  remove: function(at, n) { this.removeInner(at - this.first, n) },\n\n  // From here, the methods are part of the public interface. Most\n  // are also available from CodeMirror (editor) instances.\n\n  getValue: function(lineSep) {\n    var lines = getLines(this, this.first, this.first + this.size)\n    if (lineSep === false) { return lines }\n    return lines.join(lineSep || this.lineSeparator())\n  },\n  setValue: docMethodOp(function(code) {\n    var top = Pos(this.first, 0), last = this.first + this.size - 1\n    makeChange(this, {from: top, to: Pos(last, getLine(this, last).text.length),\n                      text: this.splitLines(code), origin: \"setValue\", full: true}, true)\n    if (this.cm) { scrollToCoords(this.cm, 0, 0) }\n    setSelection(this, simpleSelection(top), sel_dontScroll)\n  }),\n  replaceRange: function(code, from, to, origin) {\n    from = clipPos(this, from)\n    to = to ? clipPos(this, to) : from\n    replaceRange(this, code, from, to, origin)\n  },\n  getRange: function(from, to, lineSep) {\n    var lines = getBetween(this, clipPos(this, from), clipPos(this, to))\n    if (lineSep === false) { return lines }\n    return lines.join(lineSep || this.lineSeparator())\n  },\n\n  getLine: function(line) {var l = this.getLineHandle(line); return l && l.text},\n\n  getLineHandle: function(line) {if (isLine(this, line)) { return getLine(this, line) }},\n  getLineNumber: function(line) {return lineNo(line)},\n\n  getLineHandleVisualStart: function(line) {\n    if (typeof line == \"number\") { line = getLine(this, line) }\n    return visualLine(line)\n  },\n\n  lineCount: function() {return this.size},\n  firstLine: function() {return this.first},\n  lastLine: function() {return this.first + this.size - 1},\n\n  clipPos: function(pos) {return clipPos(this, pos)},\n\n  getCursor: function(start) {\n    var range = this.sel.primary(), pos\n    if (start == null || start == \"head\") { pos = range.head }\n    else if (start == \"anchor\") { pos = range.anchor }\n    else if (start == \"end\" || start == \"to\" || start === false) { pos = range.to() }\n    else { pos = range.from() }\n    return pos\n  },\n  listSelections: function() { return this.sel.ranges },\n  somethingSelected: function() {return this.sel.somethingSelected()},\n\n  setCursor: docMethodOp(function(line, ch, options) {\n    setSimpleSelection(this, clipPos(this, typeof line == \"number\" ? Pos(line, ch || 0) : line), null, options)\n  }),\n  setSelection: docMethodOp(function(anchor, head, options) {\n    setSimpleSelection(this, clipPos(this, anchor), clipPos(this, head || anchor), options)\n  }),\n  extendSelection: docMethodOp(function(head, other, options) {\n    extendSelection(this, clipPos(this, head), other && clipPos(this, other), options)\n  }),\n  extendSelections: docMethodOp(function(heads, options) {\n    extendSelections(this, clipPosArray(this, heads), options)\n  }),\n  extendSelectionsBy: docMethodOp(function(f, options) {\n    var heads = map(this.sel.ranges, f)\n    extendSelections(this, clipPosArray(this, heads), options)\n  }),\n  setSelections: docMethodOp(function(ranges, primary, options) {\n    var this$1 = this;\n\n    if (!ranges.length) { return }\n    var out = []\n    for (var i = 0; i < ranges.length; i++)\n      { out[i] = new Range(clipPos(this$1, ranges[i].anchor),\n                         clipPos(this$1, ranges[i].head)) }\n    if (primary == null) { primary = Math.min(ranges.length - 1, this.sel.primIndex) }\n    setSelection(this, normalizeSelection(out, primary), options)\n  }),\n  addSelection: docMethodOp(function(anchor, head, options) {\n    var ranges = this.sel.ranges.slice(0)\n    ranges.push(new Range(clipPos(this, anchor), clipPos(this, head || anchor)))\n    setSelection(this, normalizeSelection(ranges, ranges.length - 1), options)\n  }),\n\n  getSelection: function(lineSep) {\n    var this$1 = this;\n\n    var ranges = this.sel.ranges, lines\n    for (var i = 0; i < ranges.length; i++) {\n      var sel = getBetween(this$1, ranges[i].from(), ranges[i].to())\n      lines = lines ? lines.concat(sel) : sel\n    }\n    if (lineSep === false) { return lines }\n    else { return lines.join(lineSep || this.lineSeparator()) }\n  },\n  getSelections: function(lineSep) {\n    var this$1 = this;\n\n    var parts = [], ranges = this.sel.ranges\n    for (var i = 0; i < ranges.length; i++) {\n      var sel = getBetween(this$1, ranges[i].from(), ranges[i].to())\n      if (lineSep !== false) { sel = sel.join(lineSep || this$1.lineSeparator()) }\n      parts[i] = sel\n    }\n    return parts\n  },\n  replaceSelection: function(code, collapse, origin) {\n    var dup = []\n    for (var i = 0; i < this.sel.ranges.length; i++)\n      { dup[i] = code }\n    this.replaceSelections(dup, collapse, origin || \"+input\")\n  },\n  replaceSelections: docMethodOp(function(code, collapse, origin) {\n    var this$1 = this;\n\n    var changes = [], sel = this.sel\n    for (var i = 0; i < sel.ranges.length; i++) {\n      var range = sel.ranges[i]\n      changes[i] = {from: range.from(), to: range.to(), text: this$1.splitLines(code[i]), origin: origin}\n    }\n    var newSel = collapse && collapse != \"end\" && computeReplacedSel(this, changes, collapse)\n    for (var i$1 = changes.length - 1; i$1 >= 0; i$1--)\n      { makeChange(this$1, changes[i$1]) }\n    if (newSel) { setSelectionReplaceHistory(this, newSel) }\n    else if (this.cm) { ensureCursorVisible(this.cm) }\n  }),\n  undo: docMethodOp(function() {makeChangeFromHistory(this, \"undo\")}),\n  redo: docMethodOp(function() {makeChangeFromHistory(this, \"redo\")}),\n  undoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"undo\", true)}),\n  redoSelection: docMethodOp(function() {makeChangeFromHistory(this, \"redo\", true)}),\n\n  setExtending: function(val) {this.extend = val},\n  getExtending: function() {return this.extend},\n\n  historySize: function() {\n    var hist = this.history, done = 0, undone = 0\n    for (var i = 0; i < hist.done.length; i++) { if (!hist.done[i].ranges) { ++done } }\n    for (var i$1 = 0; i$1 < hist.undone.length; i$1++) { if (!hist.undone[i$1].ranges) { ++undone } }\n    return {undo: done, redo: undone}\n  },\n  clearHistory: function() {this.history = new History(this.history.maxGeneration)},\n\n  markClean: function() {\n    this.cleanGeneration = this.changeGeneration(true)\n  },\n  changeGeneration: function(forceSplit) {\n    if (forceSplit)\n      { this.history.lastOp = this.history.lastSelOp = this.history.lastOrigin = null }\n    return this.history.generation\n  },\n  isClean: function (gen) {\n    return this.history.generation == (gen || this.cleanGeneration)\n  },\n\n  getHistory: function() {\n    return {done: copyHistoryArray(this.history.done),\n            undone: copyHistoryArray(this.history.undone)}\n  },\n  setHistory: function(histData) {\n    var hist = this.history = new History(this.history.maxGeneration)\n    hist.done = copyHistoryArray(histData.done.slice(0), null, true)\n    hist.undone = copyHistoryArray(histData.undone.slice(0), null, true)\n  },\n\n  setGutterMarker: docMethodOp(function(line, gutterID, value) {\n    return changeLine(this, line, \"gutter\", function (line) {\n      var markers = line.gutterMarkers || (line.gutterMarkers = {})\n      markers[gutterID] = value\n      if (!value && isEmpty(markers)) { line.gutterMarkers = null }\n      return true\n    })\n  }),\n\n  clearGutter: docMethodOp(function(gutterID) {\n    var this$1 = this;\n\n    this.iter(function (line) {\n      if (line.gutterMarkers && line.gutterMarkers[gutterID]) {\n        changeLine(this$1, line, \"gutter\", function () {\n          line.gutterMarkers[gutterID] = null\n          if (isEmpty(line.gutterMarkers)) { line.gutterMarkers = null }\n          return true\n        })\n      }\n    })\n  }),\n\n  lineInfo: function(line) {\n    var n\n    if (typeof line == \"number\") {\n      if (!isLine(this, line)) { return null }\n      n = line\n      line = getLine(this, line)\n      if (!line) { return null }\n    } else {\n      n = lineNo(line)\n      if (n == null) { return null }\n    }\n    return {line: n, handle: line, text: line.text, gutterMarkers: line.gutterMarkers,\n            textClass: line.textClass, bgClass: line.bgClass, wrapClass: line.wrapClass,\n            widgets: line.widgets}\n  },\n\n  addLineClass: docMethodOp(function(handle, where, cls) {\n    return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n      var prop = where == \"text\" ? \"textClass\"\n               : where == \"background\" ? \"bgClass\"\n               : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\"\n      if (!line[prop]) { line[prop] = cls }\n      else if (classTest(cls).test(line[prop])) { return false }\n      else { line[prop] += \" \" + cls }\n      return true\n    })\n  }),\n  removeLineClass: docMethodOp(function(handle, where, cls) {\n    return changeLine(this, handle, where == \"gutter\" ? \"gutter\" : \"class\", function (line) {\n      var prop = where == \"text\" ? \"textClass\"\n               : where == \"background\" ? \"bgClass\"\n               : where == \"gutter\" ? \"gutterClass\" : \"wrapClass\"\n      var cur = line[prop]\n      if (!cur) { return false }\n      else if (cls == null) { line[prop] = null }\n      else {\n        var found = cur.match(classTest(cls))\n        if (!found) { return false }\n        var end = found.index + found[0].length\n        line[prop] = cur.slice(0, found.index) + (!found.index || end == cur.length ? \"\" : \" \") + cur.slice(end) || null\n      }\n      return true\n    })\n  }),\n\n  addLineWidget: docMethodOp(function(handle, node, options) {\n    return addLineWidget(this, handle, node, options)\n  }),\n  removeLineWidget: function(widget) { widget.clear() },\n\n  markText: function(from, to, options) {\n    return markText(this, clipPos(this, from), clipPos(this, to), options, options && options.type || \"range\")\n  },\n  setBookmark: function(pos, options) {\n    var realOpts = {replacedWith: options && (options.nodeType == null ? options.widget : options),\n                    insertLeft: options && options.insertLeft,\n                    clearWhenEmpty: false, shared: options && options.shared,\n                    handleMouseEvents: options && options.handleMouseEvents}\n    pos = clipPos(this, pos)\n    return markText(this, pos, pos, realOpts, \"bookmark\")\n  },\n  findMarksAt: function(pos) {\n    pos = clipPos(this, pos)\n    var markers = [], spans = getLine(this, pos.line).markedSpans\n    if (spans) { for (var i = 0; i < spans.length; ++i) {\n      var span = spans[i]\n      if ((span.from == null || span.from <= pos.ch) &&\n          (span.to == null || span.to >= pos.ch))\n        { markers.push(span.marker.parent || span.marker) }\n    } }\n    return markers\n  },\n  findMarks: function(from, to, filter) {\n    from = clipPos(this, from); to = clipPos(this, to)\n    var found = [], lineNo = from.line\n    this.iter(from.line, to.line + 1, function (line) {\n      var spans = line.markedSpans\n      if (spans) { for (var i = 0; i < spans.length; i++) {\n        var span = spans[i]\n        if (!(span.to != null && lineNo == from.line && from.ch >= span.to ||\n              span.from == null && lineNo != from.line ||\n              span.from != null && lineNo == to.line && span.from >= to.ch) &&\n            (!filter || filter(span.marker)))\n          { found.push(span.marker.parent || span.marker) }\n      } }\n      ++lineNo\n    })\n    return found\n  },\n  getAllMarks: function() {\n    var markers = []\n    this.iter(function (line) {\n      var sps = line.markedSpans\n      if (sps) { for (var i = 0; i < sps.length; ++i)\n        { if (sps[i].from != null) { markers.push(sps[i].marker) } } }\n    })\n    return markers\n  },\n\n  posFromIndex: function(off) {\n    var ch, lineNo = this.first, sepSize = this.lineSeparator().length\n    this.iter(function (line) {\n      var sz = line.text.length + sepSize\n      if (sz > off) { ch = off; return true }\n      off -= sz\n      ++lineNo\n    })\n    return clipPos(this, Pos(lineNo, ch))\n  },\n  indexFromPos: function (coords) {\n    coords = clipPos(this, coords)\n    var index = coords.ch\n    if (coords.line < this.first || coords.ch < 0) { return 0 }\n    var sepSize = this.lineSeparator().length\n    this.iter(this.first, coords.line, function (line) { // iter aborts when callback returns a truthy value\n      index += line.text.length + sepSize\n    })\n    return index\n  },\n\n  copy: function(copyHistory) {\n    var doc = new Doc(getLines(this, this.first, this.first + this.size),\n                      this.modeOption, this.first, this.lineSep, this.direction)\n    doc.scrollTop = this.scrollTop; doc.scrollLeft = this.scrollLeft\n    doc.sel = this.sel\n    doc.extend = false\n    if (copyHistory) {\n      doc.history.undoDepth = this.history.undoDepth\n      doc.setHistory(this.getHistory())\n    }\n    return doc\n  },\n\n  linkedDoc: function(options) {\n    if (!options) { options = {} }\n    var from = this.first, to = this.first + this.size\n    if (options.from != null && options.from > from) { from = options.from }\n    if (options.to != null && options.to < to) { to = options.to }\n    var copy = new Doc(getLines(this, from, to), options.mode || this.modeOption, from, this.lineSep, this.direction)\n    if (options.sharedHist) { copy.history = this.history\n    ; }(this.linked || (this.linked = [])).push({doc: copy, sharedHist: options.sharedHist})\n    copy.linked = [{doc: this, isParent: true, sharedHist: options.sharedHist}]\n    copySharedMarkers(copy, findSharedMarkers(this))\n    return copy\n  },\n  unlinkDoc: function(other) {\n    var this$1 = this;\n\n    if (other instanceof CodeMirror) { other = other.doc }\n    if (this.linked) { for (var i = 0; i < this.linked.length; ++i) {\n      var link = this$1.linked[i]\n      if (link.doc != other) { continue }\n      this$1.linked.splice(i, 1)\n      other.unlinkDoc(this$1)\n      detachSharedMarkers(findSharedMarkers(this$1))\n      break\n    } }\n    // If the histories were shared, split them again\n    if (other.history == this.history) {\n      var splitIds = [other.id]\n      linkedDocs(other, function (doc) { return splitIds.push(doc.id); }, true)\n      other.history = new History(null)\n      other.history.done = copyHistoryArray(this.history.done, splitIds)\n      other.history.undone = copyHistoryArray(this.history.undone, splitIds)\n    }\n  },\n  iterLinkedDocs: function(f) {linkedDocs(this, f)},\n\n  getMode: function() {return this.mode},\n  getEditor: function() {return this.cm},\n\n  splitLines: function(str) {\n    if (this.lineSep) { return str.split(this.lineSep) }\n    return splitLinesAuto(str)\n  },\n  lineSeparator: function() { return this.lineSep || \"\\n\" },\n\n  setDirection: docMethodOp(function (dir) {\n    if (dir != \"rtl\") { dir = \"ltr\" }\n    if (dir == this.direction) { return }\n    this.direction = dir\n    this.iter(function (line) { return line.order = null; })\n    if (this.cm) { directionChanged(this.cm) }\n  })\n})\n\n// Public alias.\nDoc.prototype.eachLine = Doc.prototype.iter\n\n// Kludge to work around strange IE behavior where it'll sometimes\n// re-fire a series of drag-related events right after the drop (#1551)\nvar lastDrop = 0\n\nfunction onDrop(e) {\n  var cm = this\n  clearDragCursor(cm)\n  if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e))\n    { return }\n  e_preventDefault(e)\n  if (ie) { lastDrop = +new Date }\n  var pos = posFromMouse(cm, e, true), files = e.dataTransfer.files\n  if (!pos || cm.isReadOnly()) { return }\n  // Might be a file drop, in which case we simply extract the text\n  // and insert it.\n  if (files && files.length && window.FileReader && window.File) {\n    var n = files.length, text = Array(n), read = 0\n    var loadFile = function (file, i) {\n      if (cm.options.allowDropFileTypes &&\n          indexOf(cm.options.allowDropFileTypes, file.type) == -1)\n        { return }\n\n      var reader = new FileReader\n      reader.onload = operation(cm, function () {\n        var content = reader.result\n        if (/[\\x00-\\x08\\x0e-\\x1f]{2}/.test(content)) { content = \"\" }\n        text[i] = content\n        if (++read == n) {\n          pos = clipPos(cm.doc, pos)\n          var change = {from: pos, to: pos,\n                        text: cm.doc.splitLines(text.join(cm.doc.lineSeparator())),\n                        origin: \"paste\"}\n          makeChange(cm.doc, change)\n          setSelectionReplaceHistory(cm.doc, simpleSelection(pos, changeEnd(change)))\n        }\n      })\n      reader.readAsText(file)\n    }\n    for (var i = 0; i < n; ++i) { loadFile(files[i], i) }\n  } else { // Normal drop\n    // Don't do a replace if the drop happened inside of the selected text.\n    if (cm.state.draggingText && cm.doc.sel.contains(pos) > -1) {\n      cm.state.draggingText(e)\n      // Ensure the editor is re-focused\n      setTimeout(function () { return cm.display.input.focus(); }, 20)\n      return\n    }\n    try {\n      var text$1 = e.dataTransfer.getData(\"Text\")\n      if (text$1) {\n        var selected\n        if (cm.state.draggingText && !cm.state.draggingText.copy)\n          { selected = cm.listSelections() }\n        setSelectionNoUndo(cm.doc, simpleSelection(pos, pos))\n        if (selected) { for (var i$1 = 0; i$1 < selected.length; ++i$1)\n          { replaceRange(cm.doc, \"\", selected[i$1].anchor, selected[i$1].head, \"drag\") } }\n        cm.replaceSelection(text$1, \"around\", \"paste\")\n        cm.display.input.focus()\n      }\n    }\n    catch(e){}\n  }\n}\n\nfunction onDragStart(cm, e) {\n  if (ie && (!cm.state.draggingText || +new Date - lastDrop < 100)) { e_stop(e); return }\n  if (signalDOMEvent(cm, e) || eventInWidget(cm.display, e)) { return }\n\n  e.dataTransfer.setData(\"Text\", cm.getSelection())\n  e.dataTransfer.effectAllowed = \"copyMove\"\n\n  // Use dummy image instead of default browsers image.\n  // Recent Safari (~6.0.2) have a tendency to segfault when this happens, so we don't do it there.\n  if (e.dataTransfer.setDragImage && !safari) {\n    var img = elt(\"img\", null, null, \"position: fixed; left: 0; top: 0;\")\n    img.src = \"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\"\n    if (presto) {\n      img.width = img.height = 1\n      cm.display.wrapper.appendChild(img)\n      // Force a relayout, or Opera won't use our image for some obscure reason\n      img._top = img.offsetTop\n    }\n    e.dataTransfer.setDragImage(img, 0, 0)\n    if (presto) { img.parentNode.removeChild(img) }\n  }\n}\n\nfunction onDragOver(cm, e) {\n  var pos = posFromMouse(cm, e)\n  if (!pos) { return }\n  var frag = document.createDocumentFragment()\n  drawSelectionCursor(cm, pos, frag)\n  if (!cm.display.dragCursor) {\n    cm.display.dragCursor = elt(\"div\", null, \"CodeMirror-cursors CodeMirror-dragcursors\")\n    cm.display.lineSpace.insertBefore(cm.display.dragCursor, cm.display.cursorDiv)\n  }\n  removeChildrenAndAdd(cm.display.dragCursor, frag)\n}\n\nfunction clearDragCursor(cm) {\n  if (cm.display.dragCursor) {\n    cm.display.lineSpace.removeChild(cm.display.dragCursor)\n    cm.display.dragCursor = null\n  }\n}\n\n// These must be handled carefully, because naively registering a\n// handler for each editor will cause the editors to never be\n// garbage collected.\n\nfunction forEachCodeMirror(f) {\n  if (!document.getElementsByClassName) { return }\n  var byClass = document.getElementsByClassName(\"CodeMirror\")\n  for (var i = 0; i < byClass.length; i++) {\n    var cm = byClass[i].CodeMirror\n    if (cm) { f(cm) }\n  }\n}\n\nvar globalsRegistered = false\nfunction ensureGlobalHandlers() {\n  if (globalsRegistered) { return }\n  registerGlobalHandlers()\n  globalsRegistered = true\n}\nfunction registerGlobalHandlers() {\n  // When the window resizes, we need to refresh active editors.\n  var resizeTimer\n  on(window, \"resize\", function () {\n    if (resizeTimer == null) { resizeTimer = setTimeout(function () {\n      resizeTimer = null\n      forEachCodeMirror(onResize)\n    }, 100) }\n  })\n  // When the window loses focus, we want to show the editor as blurred\n  on(window, \"blur\", function () { return forEachCodeMirror(onBlur); })\n}\n// Called when the window resizes\nfunction onResize(cm) {\n  var d = cm.display\n  // Might be a text scaling operation, clear size caches.\n  d.cachedCharWidth = d.cachedTextHeight = d.cachedPaddingH = null\n  d.scrollbarsClipped = false\n  cm.setSize()\n}\n\nvar keyNames = {\n  3: \"Pause\", 8: \"Backspace\", 9: \"Tab\", 13: \"Enter\", 16: \"Shift\", 17: \"Ctrl\", 18: \"Alt\",\n  19: \"Pause\", 20: \"CapsLock\", 27: \"Esc\", 32: \"Space\", 33: \"PageUp\", 34: \"PageDown\", 35: \"End\",\n  36: \"Home\", 37: \"Left\", 38: \"Up\", 39: \"Right\", 40: \"Down\", 44: \"PrintScrn\", 45: \"Insert\",\n  46: \"Delete\", 59: \";\", 61: \"=\", 91: \"Mod\", 92: \"Mod\", 93: \"Mod\",\n  106: \"*\", 107: \"=\", 109: \"-\", 110: \".\", 111: \"/\", 127: \"Delete\", 145: \"ScrollLock\",\n  173: \"-\", 186: \";\", 187: \"=\", 188: \",\", 189: \"-\", 190: \".\", 191: \"/\", 192: \"`\", 219: \"[\", 220: \"\\\\\",\n  221: \"]\", 222: \"'\", 63232: \"Up\", 63233: \"Down\", 63234: \"Left\", 63235: \"Right\", 63272: \"Delete\",\n  63273: \"Home\", 63275: \"End\", 63276: \"PageUp\", 63277: \"PageDown\", 63302: \"Insert\"\n}\n\n// Number keys\nfor (var i = 0; i < 10; i++) { keyNames[i + 48] = keyNames[i + 96] = String(i) }\n// Alphabetic keys\nfor (var i$1 = 65; i$1 <= 90; i$1++) { keyNames[i$1] = String.fromCharCode(i$1) }\n// Function keys\nfor (var i$2 = 1; i$2 <= 12; i$2++) { keyNames[i$2 + 111] = keyNames[i$2 + 63235] = \"F\" + i$2 }\n\nvar keyMap = {}\n\nkeyMap.basic = {\n  \"Left\": \"goCharLeft\", \"Right\": \"goCharRight\", \"Up\": \"goLineUp\", \"Down\": \"goLineDown\",\n  \"End\": \"goLineEnd\", \"Home\": \"goLineStartSmart\", \"PageUp\": \"goPageUp\", \"PageDown\": \"goPageDown\",\n  \"Delete\": \"delCharAfter\", \"Backspace\": \"delCharBefore\", \"Shift-Backspace\": \"delCharBefore\",\n  \"Tab\": \"defaultTab\", \"Shift-Tab\": \"indentAuto\",\n  \"Enter\": \"newlineAndIndent\", \"Insert\": \"toggleOverwrite\",\n  \"Esc\": \"singleSelection\"\n}\n// Note that the save and find-related commands aren't defined by\n// default. User code or addons can define them. Unknown commands\n// are simply ignored.\nkeyMap.pcDefault = {\n  \"Ctrl-A\": \"selectAll\", \"Ctrl-D\": \"deleteLine\", \"Ctrl-Z\": \"undo\", \"Shift-Ctrl-Z\": \"redo\", \"Ctrl-Y\": \"redo\",\n  \"Ctrl-Home\": \"goDocStart\", \"Ctrl-End\": \"goDocEnd\", \"Ctrl-Up\": \"goLineUp\", \"Ctrl-Down\": \"goLineDown\",\n  \"Ctrl-Left\": \"goGroupLeft\", \"Ctrl-Right\": \"goGroupRight\", \"Alt-Left\": \"goLineStart\", \"Alt-Right\": \"goLineEnd\",\n  \"Ctrl-Backspace\": \"delGroupBefore\", \"Ctrl-Delete\": \"delGroupAfter\", \"Ctrl-S\": \"save\", \"Ctrl-F\": \"find\",\n  \"Ctrl-G\": \"findNext\", \"Shift-Ctrl-G\": \"findPrev\", \"Shift-Ctrl-F\": \"replace\", \"Shift-Ctrl-R\": \"replaceAll\",\n  \"Ctrl-[\": \"indentLess\", \"Ctrl-]\": \"indentMore\",\n  \"Ctrl-U\": \"undoSelection\", \"Shift-Ctrl-U\": \"redoSelection\", \"Alt-U\": \"redoSelection\",\n  \"fallthrough\": \"basic\"\n}\n// Very basic readline/emacs-style bindings, which are standard on Mac.\nkeyMap.emacsy = {\n  \"Ctrl-F\": \"goCharRight\", \"Ctrl-B\": \"goCharLeft\", \"Ctrl-P\": \"goLineUp\", \"Ctrl-N\": \"goLineDown\",\n  \"Alt-F\": \"goWordRight\", \"Alt-B\": \"goWordLeft\", \"Ctrl-A\": \"goLineStart\", \"Ctrl-E\": \"goLineEnd\",\n  \"Ctrl-V\": \"goPageDown\", \"Shift-Ctrl-V\": \"goPageUp\", \"Ctrl-D\": \"delCharAfter\", \"Ctrl-H\": \"delCharBefore\",\n  \"Alt-D\": \"delWordAfter\", \"Alt-Backspace\": \"delWordBefore\", \"Ctrl-K\": \"killLine\", \"Ctrl-T\": \"transposeChars\",\n  \"Ctrl-O\": \"openLine\"\n}\nkeyMap.macDefault = {\n  \"Cmd-A\": \"selectAll\", \"Cmd-D\": \"deleteLine\", \"Cmd-Z\": \"undo\", \"Shift-Cmd-Z\": \"redo\", \"Cmd-Y\": \"redo\",\n  \"Cmd-Home\": \"goDocStart\", \"Cmd-Up\": \"goDocStart\", \"Cmd-End\": \"goDocEnd\", \"Cmd-Down\": \"goDocEnd\", \"Alt-Left\": \"goGroupLeft\",\n  \"Alt-Right\": \"goGroupRight\", \"Cmd-Left\": \"goLineLeft\", \"Cmd-Right\": \"goLineRight\", \"Alt-Backspace\": \"delGroupBefore\",\n  \"Ctrl-Alt-Backspace\": \"delGroupAfter\", \"Alt-Delete\": \"delGroupAfter\", \"Cmd-S\": \"save\", \"Cmd-F\": \"find\",\n  \"Cmd-G\": \"findNext\", \"Shift-Cmd-G\": \"findPrev\", \"Cmd-Alt-F\": \"replace\", \"Shift-Cmd-Alt-F\": \"replaceAll\",\n  \"Cmd-[\": \"indentLess\", \"Cmd-]\": \"indentMore\", \"Cmd-Backspace\": \"delWrappedLineLeft\", \"Cmd-Delete\": \"delWrappedLineRight\",\n  \"Cmd-U\": \"undoSelection\", \"Shift-Cmd-U\": \"redoSelection\", \"Ctrl-Up\": \"goDocStart\", \"Ctrl-Down\": \"goDocEnd\",\n  \"fallthrough\": [\"basic\", \"emacsy\"]\n}\nkeyMap[\"default\"] = mac ? keyMap.macDefault : keyMap.pcDefault\n\n// KEYMAP DISPATCH\n\nfunction normalizeKeyName(name) {\n  var parts = name.split(/-(?!$)/)\n  name = parts[parts.length - 1]\n  var alt, ctrl, shift, cmd\n  for (var i = 0; i < parts.length - 1; i++) {\n    var mod = parts[i]\n    if (/^(cmd|meta|m)$/i.test(mod)) { cmd = true }\n    else if (/^a(lt)?$/i.test(mod)) { alt = true }\n    else if (/^(c|ctrl|control)$/i.test(mod)) { ctrl = true }\n    else if (/^s(hift)?$/i.test(mod)) { shift = true }\n    else { throw new Error(\"Unrecognized modifier name: \" + mod) }\n  }\n  if (alt) { name = \"Alt-\" + name }\n  if (ctrl) { name = \"Ctrl-\" + name }\n  if (cmd) { name = \"Cmd-\" + name }\n  if (shift) { name = \"Shift-\" + name }\n  return name\n}\n\n// This is a kludge to keep keymaps mostly working as raw objects\n// (backwards compatibility) while at the same time support features\n// like normalization and multi-stroke key bindings. It compiles a\n// new normalized keymap, and then updates the old object to reflect\n// this.\nfunction normalizeKeyMap(keymap) {\n  var copy = {}\n  for (var keyname in keymap) { if (keymap.hasOwnProperty(keyname)) {\n    var value = keymap[keyname]\n    if (/^(name|fallthrough|(de|at)tach)$/.test(keyname)) { continue }\n    if (value == \"...\") { delete keymap[keyname]; continue }\n\n    var keys = map(keyname.split(\" \"), normalizeKeyName)\n    for (var i = 0; i < keys.length; i++) {\n      var val = (void 0), name = (void 0)\n      if (i == keys.length - 1) {\n        name = keys.join(\" \")\n        val = value\n      } else {\n        name = keys.slice(0, i + 1).join(\" \")\n        val = \"...\"\n      }\n      var prev = copy[name]\n      if (!prev) { copy[name] = val }\n      else if (prev != val) { throw new Error(\"Inconsistent bindings for \" + name) }\n    }\n    delete keymap[keyname]\n  } }\n  for (var prop in copy) { keymap[prop] = copy[prop] }\n  return keymap\n}\n\nfunction lookupKey(key, map, handle, context) {\n  map = getKeyMap(map)\n  var found = map.call ? map.call(key, context) : map[key]\n  if (found === false) { return \"nothing\" }\n  if (found === \"...\") { return \"multi\" }\n  if (found != null && handle(found)) { return \"handled\" }\n\n  if (map.fallthrough) {\n    if (Object.prototype.toString.call(map.fallthrough) != \"[object Array]\")\n      { return lookupKey(key, map.fallthrough, handle, context) }\n    for (var i = 0; i < map.fallthrough.length; i++) {\n      var result = lookupKey(key, map.fallthrough[i], handle, context)\n      if (result) { return result }\n    }\n  }\n}\n\n// Modifier key presses don't count as 'real' key presses for the\n// purpose of keymap fallthrough.\nfunction isModifierKey(value) {\n  var name = typeof value == \"string\" ? value : keyNames[value.keyCode]\n  return name == \"Ctrl\" || name == \"Alt\" || name == \"Shift\" || name == \"Mod\"\n}\n\nfunction addModifierNames(name, event, noShift) {\n  var base = name\n  if (event.altKey && base != \"Alt\") { name = \"Alt-\" + name }\n  if ((flipCtrlCmd ? event.metaKey : event.ctrlKey) && base != \"Ctrl\") { name = \"Ctrl-\" + name }\n  if ((flipCtrlCmd ? event.ctrlKey : event.metaKey) && base != \"Cmd\") { name = \"Cmd-\" + name }\n  if (!noShift && event.shiftKey && base != \"Shift\") { name = \"Shift-\" + name }\n  return name\n}\n\n// Look up the name of a key as indicated by an event object.\nfunction keyName(event, noShift) {\n  if (presto && event.keyCode == 34 && event[\"char\"]) { return false }\n  var name = keyNames[event.keyCode]\n  if (name == null || event.altGraphKey) { return false }\n  // Ctrl-ScrollLock has keyCode 3, same as Ctrl-Pause,\n  // so we'll use event.code when available (Chrome 48+, FF 38+, Safari 10.1+)\n  if (event.keyCode == 3 && event.code) { name = event.code }\n  return addModifierNames(name, event, noShift)\n}\n\nfunction getKeyMap(val) {\n  return typeof val == \"string\" ? keyMap[val] : val\n}\n\n// Helper for deleting text near the selection(s), used to implement\n// backspace, delete, and similar functionality.\nfunction deleteNearSelection(cm, compute) {\n  var ranges = cm.doc.sel.ranges, kill = []\n  // Build up a set of ranges to kill first, merging overlapping\n  // ranges.\n  for (var i = 0; i < ranges.length; i++) {\n    var toKill = compute(ranges[i])\n    while (kill.length && cmp(toKill.from, lst(kill).to) <= 0) {\n      var replaced = kill.pop()\n      if (cmp(replaced.from, toKill.from) < 0) {\n        toKill.from = replaced.from\n        break\n      }\n    }\n    kill.push(toKill)\n  }\n  // Next, remove those actual ranges.\n  runInOp(cm, function () {\n    for (var i = kill.length - 1; i >= 0; i--)\n      { replaceRange(cm.doc, \"\", kill[i].from, kill[i].to, \"+delete\") }\n    ensureCursorVisible(cm)\n  })\n}\n\nfunction moveCharLogically(line, ch, dir) {\n  var target = skipExtendingChars(line.text, ch + dir, dir)\n  return target < 0 || target > line.text.length ? null : target\n}\n\nfunction moveLogically(line, start, dir) {\n  var ch = moveCharLogically(line, start.ch, dir)\n  return ch == null ? null : new Pos(start.line, ch, dir < 0 ? \"after\" : \"before\")\n}\n\nfunction endOfLine(visually, cm, lineObj, lineNo, dir) {\n  if (visually) {\n    var order = getOrder(lineObj, cm.doc.direction)\n    if (order) {\n      var part = dir < 0 ? lst(order) : order[0]\n      var moveInStorageOrder = (dir < 0) == (part.level == 1)\n      var sticky = moveInStorageOrder ? \"after\" : \"before\"\n      var ch\n      // With a wrapped rtl chunk (possibly spanning multiple bidi parts),\n      // it could be that the last bidi part is not on the last visual line,\n      // since visual lines contain content order-consecutive chunks.\n      // Thus, in rtl, we are looking for the first (content-order) character\n      // in the rtl chunk that is on the last line (that is, the same line\n      // as the last (content-order) character).\n      if (part.level > 0 || cm.doc.direction == \"rtl\") {\n        var prep = prepareMeasureForLine(cm, lineObj)\n        ch = dir < 0 ? lineObj.text.length - 1 : 0\n        var targetTop = measureCharPrepared(cm, prep, ch).top\n        ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch)\n        if (sticky == \"before\") { ch = moveCharLogically(lineObj, ch, 1) }\n      } else { ch = dir < 0 ? part.to : part.from }\n      return new Pos(lineNo, ch, sticky)\n    }\n  }\n  return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? \"before\" : \"after\")\n}\n\nfunction moveVisually(cm, line, start, dir) {\n  var bidi = getOrder(line, cm.doc.direction)\n  if (!bidi) { return moveLogically(line, start, dir) }\n  if (start.ch >= line.text.length) {\n    start.ch = line.text.length\n    start.sticky = \"before\"\n  } else if (start.ch <= 0) {\n    start.ch = 0\n    start.sticky = \"after\"\n  }\n  var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos]\n  if (cm.doc.direction == \"ltr\" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) {\n    // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines,\n    // nothing interesting happens.\n    return moveLogically(line, start, dir)\n  }\n\n  var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); }\n  var prep\n  var getWrappedLineExtent = function (ch) {\n    if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} }\n    prep = prep || prepareMeasureForLine(cm, line)\n    return wrappedLineExtentChar(cm, line, prep, ch)\n  }\n  var wrappedLineExtent = getWrappedLineExtent(start.sticky == \"before\" ? mv(start, -1) : start.ch)\n\n  if (cm.doc.direction == \"rtl\" || part.level == 1) {\n    var moveInStorageOrder = (part.level == 1) == (dir < 0)\n    var ch = mv(start, moveInStorageOrder ? 1 : -1)\n    if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) {\n      // Case 2: We move within an rtl part or in an rtl editor on the same visual line\n      var sticky = moveInStorageOrder ? \"before\" : \"after\"\n      return new Pos(start.line, ch, sticky)\n    }\n  }\n\n  // Case 3: Could not move within this bidi part in this visual line, so leave\n  // the current bidi part\n\n  var searchInVisualLine = function (partPos, dir, wrappedLineExtent) {\n    var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder\n      ? new Pos(start.line, mv(ch, 1), \"before\")\n      : new Pos(start.line, ch, \"after\"); }\n\n    for (; partPos >= 0 && partPos < bidi.length; partPos += dir) {\n      var part = bidi[partPos]\n      var moveInStorageOrder = (dir > 0) == (part.level != 1)\n      var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1)\n      if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) }\n      ch = moveInStorageOrder ? part.from : mv(part.to, -1)\n      if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) }\n    }\n  }\n\n  // Case 3a: Look for other bidi parts on the same visual line\n  var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent)\n  if (res) { return res }\n\n  // Case 3b: Look for other bidi parts on the next visual line\n  var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1)\n  if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) {\n    res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh))\n    if (res) { return res }\n  }\n\n  // Case 4: Nowhere to move\n  return null\n}\n\n// Commands are parameter-less actions that can be performed on an\n// editor, mostly used for keybindings.\nvar commands = {\n  selectAll: selectAll,\n  singleSelection: function (cm) { return cm.setSelection(cm.getCursor(\"anchor\"), cm.getCursor(\"head\"), sel_dontScroll); },\n  killLine: function (cm) { return deleteNearSelection(cm, function (range) {\n    if (range.empty()) {\n      var len = getLine(cm.doc, range.head.line).text.length\n      if (range.head.ch == len && range.head.line < cm.lastLine())\n        { return {from: range.head, to: Pos(range.head.line + 1, 0)} }\n      else\n        { return {from: range.head, to: Pos(range.head.line, len)} }\n    } else {\n      return {from: range.from(), to: range.to()}\n    }\n  }); },\n  deleteLine: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n    from: Pos(range.from().line, 0),\n    to: clipPos(cm.doc, Pos(range.to().line + 1, 0))\n  }); }); },\n  delLineLeft: function (cm) { return deleteNearSelection(cm, function (range) { return ({\n    from: Pos(range.from().line, 0), to: range.from()\n  }); }); },\n  delWrappedLineLeft: function (cm) { return deleteNearSelection(cm, function (range) {\n    var top = cm.charCoords(range.head, \"div\").top + 5\n    var leftPos = cm.coordsChar({left: 0, top: top}, \"div\")\n    return {from: leftPos, to: range.from()}\n  }); },\n  delWrappedLineRight: function (cm) { return deleteNearSelection(cm, function (range) {\n    var top = cm.charCoords(range.head, \"div\").top + 5\n    var rightPos = cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n    return {from: range.from(), to: rightPos }\n  }); },\n  undo: function (cm) { return cm.undo(); },\n  redo: function (cm) { return cm.redo(); },\n  undoSelection: function (cm) { return cm.undoSelection(); },\n  redoSelection: function (cm) { return cm.redoSelection(); },\n  goDocStart: function (cm) { return cm.extendSelection(Pos(cm.firstLine(), 0)); },\n  goDocEnd: function (cm) { return cm.extendSelection(Pos(cm.lastLine())); },\n  goLineStart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStart(cm, range.head.line); },\n    {origin: \"+move\", bias: 1}\n  ); },\n  goLineStartSmart: function (cm) { return cm.extendSelectionsBy(function (range) { return lineStartSmart(cm, range.head); },\n    {origin: \"+move\", bias: 1}\n  ); },\n  goLineEnd: function (cm) { return cm.extendSelectionsBy(function (range) { return lineEnd(cm, range.head.line); },\n    {origin: \"+move\", bias: -1}\n  ); },\n  goLineRight: function (cm) { return cm.extendSelectionsBy(function (range) {\n    var top = cm.cursorCoords(range.head, \"div\").top + 5\n    return cm.coordsChar({left: cm.display.lineDiv.offsetWidth + 100, top: top}, \"div\")\n  }, sel_move); },\n  goLineLeft: function (cm) { return cm.extendSelectionsBy(function (range) {\n    var top = cm.cursorCoords(range.head, \"div\").top + 5\n    return cm.coordsChar({left: 0, top: top}, \"div\")\n  }, sel_move); },\n  goLineLeftSmart: function (cm) { return cm.extendSelectionsBy(function (range) {\n    var top = cm.cursorCoords(range.head, \"div\").top + 5\n    var pos = cm.coordsChar({left: 0, top: top}, \"div\")\n    if (pos.ch < cm.getLine(pos.line).search(/\\S/)) { return lineStartSmart(cm, range.head) }\n    return pos\n  }, sel_move); },\n  goLineUp: function (cm) { return cm.moveV(-1, \"line\"); },\n  goLineDown: function (cm) { return cm.moveV(1, \"line\"); },\n  goPageUp: function (cm) { return cm.moveV(-1, \"page\"); },\n  goPageDown: function (cm) { return cm.moveV(1, \"page\"); },\n  goCharLeft: function (cm) { return cm.moveH(-1, \"char\"); },\n  goCharRight: function (cm) { return cm.moveH(1, \"char\"); },\n  goColumnLeft: function (cm) { return cm.moveH(-1, \"column\"); },\n  goColumnRight: function (cm) { return cm.moveH(1, \"column\"); },\n  goWordLeft: function (cm) { return cm.moveH(-1, \"word\"); },\n  goGroupRight: function (cm) { return cm.moveH(1, \"group\"); },\n  goGroupLeft: function (cm) { return cm.moveH(-1, \"group\"); },\n  goWordRight: function (cm) { return cm.moveH(1, \"word\"); },\n  delCharBefore: function (cm) { return cm.deleteH(-1, \"char\"); },\n  delCharAfter: function (cm) { return cm.deleteH(1, \"char\"); },\n  delWordBefore: function (cm) { return cm.deleteH(-1, \"word\"); },\n  delWordAfter: function (cm) { return cm.deleteH(1, \"word\"); },\n  delGroupBefore: function (cm) { return cm.deleteH(-1, \"group\"); },\n  delGroupAfter: function (cm) { return cm.deleteH(1, \"group\"); },\n  indentAuto: function (cm) { return cm.indentSelection(\"smart\"); },\n  indentMore: function (cm) { return cm.indentSelection(\"add\"); },\n  indentLess: function (cm) { return cm.indentSelection(\"subtract\"); },\n  insertTab: function (cm) { return cm.replaceSelection(\"\\t\"); },\n  insertSoftTab: function (cm) {\n    var spaces = [], ranges = cm.listSelections(), tabSize = cm.options.tabSize\n    for (var i = 0; i < ranges.length; i++) {\n      var pos = ranges[i].from()\n      var col = countColumn(cm.getLine(pos.line), pos.ch, tabSize)\n      spaces.push(spaceStr(tabSize - col % tabSize))\n    }\n    cm.replaceSelections(spaces)\n  },\n  defaultTab: function (cm) {\n    if (cm.somethingSelected()) { cm.indentSelection(\"add\") }\n    else { cm.execCommand(\"insertTab\") }\n  },\n  // Swap the two chars left and right of each selection's head.\n  // Move cursor behind the two swapped characters afterwards.\n  //\n  // Doesn't consider line feeds a character.\n  // Doesn't scan more than one line above to find a character.\n  // Doesn't do anything on an empty line.\n  // Doesn't do anything with non-empty selections.\n  transposeChars: function (cm) { return runInOp(cm, function () {\n    var ranges = cm.listSelections(), newSel = []\n    for (var i = 0; i < ranges.length; i++) {\n      if (!ranges[i].empty()) { continue }\n      var cur = ranges[i].head, line = getLine(cm.doc, cur.line).text\n      if (line) {\n        if (cur.ch == line.length) { cur = new Pos(cur.line, cur.ch - 1) }\n        if (cur.ch > 0) {\n          cur = new Pos(cur.line, cur.ch + 1)\n          cm.replaceRange(line.charAt(cur.ch - 1) + line.charAt(cur.ch - 2),\n                          Pos(cur.line, cur.ch - 2), cur, \"+transpose\")\n        } else if (cur.line > cm.doc.first) {\n          var prev = getLine(cm.doc, cur.line - 1).text\n          if (prev) {\n            cur = new Pos(cur.line, 1)\n            cm.replaceRange(line.charAt(0) + cm.doc.lineSeparator() +\n                            prev.charAt(prev.length - 1),\n                            Pos(cur.line - 1, prev.length - 1), cur, \"+transpose\")\n          }\n        }\n      }\n      newSel.push(new Range(cur, cur))\n    }\n    cm.setSelections(newSel)\n  }); },\n  newlineAndIndent: function (cm) { return runInOp(cm, function () {\n    var sels = cm.listSelections()\n    for (var i = sels.length - 1; i >= 0; i--)\n      { cm.replaceRange(cm.doc.lineSeparator(), sels[i].anchor, sels[i].head, \"+input\") }\n    sels = cm.listSelections()\n    for (var i$1 = 0; i$1 < sels.length; i$1++)\n      { cm.indentLine(sels[i$1].from().line, null, true) }\n    ensureCursorVisible(cm)\n  }); },\n  openLine: function (cm) { return cm.replaceSelection(\"\\n\", \"start\"); },\n  toggleOverwrite: function (cm) { return cm.toggleOverwrite(); }\n}\n\n\nfunction lineStart(cm, lineN) {\n  var line = getLine(cm.doc, lineN)\n  var visual = visualLine(line)\n  if (visual != line) { lineN = lineNo(visual) }\n  return endOfLine(true, cm, visual, lineN, 1)\n}\nfunction lineEnd(cm, lineN) {\n  var line = getLine(cm.doc, lineN)\n  var visual = visualLineEnd(line)\n  if (visual != line) { lineN = lineNo(visual) }\n  return endOfLine(true, cm, line, lineN, -1)\n}\nfunction lineStartSmart(cm, pos) {\n  var start = lineStart(cm, pos.line)\n  var line = getLine(cm.doc, start.line)\n  var order = getOrder(line, cm.doc.direction)\n  if (!order || order[0].level == 0) {\n    var firstNonWS = Math.max(0, line.text.search(/\\S/))\n    var inWS = pos.line == start.line && pos.ch <= firstNonWS && pos.ch\n    return Pos(start.line, inWS ? 0 : firstNonWS, start.sticky)\n  }\n  return start\n}\n\n// Run a handler that was bound to a key.\nfunction doHandleBinding(cm, bound, dropShift) {\n  if (typeof bound == \"string\") {\n    bound = commands[bound]\n    if (!bound) { return false }\n  }\n  // Ensure previous input has been read, so that the handler sees a\n  // consistent view of the document\n  cm.display.input.ensurePolled()\n  var prevShift = cm.display.shift, done = false\n  try {\n    if (cm.isReadOnly()) { cm.state.suppressEdits = true }\n    if (dropShift) { cm.display.shift = false }\n    done = bound(cm) != Pass\n  } finally {\n    cm.display.shift = prevShift\n    cm.state.suppressEdits = false\n  }\n  return done\n}\n\nfunction lookupKeyForEditor(cm, name, handle) {\n  for (var i = 0; i < cm.state.keyMaps.length; i++) {\n    var result = lookupKey(name, cm.state.keyMaps[i], handle, cm)\n    if (result) { return result }\n  }\n  return (cm.options.extraKeys && lookupKey(name, cm.options.extraKeys, handle, cm))\n    || lookupKey(name, cm.options.keyMap, handle, cm)\n}\n\n// Note that, despite the name, this function is also used to check\n// for bound mouse clicks.\n\nvar stopSeq = new Delayed\n\nfunction dispatchKey(cm, name, e, handle) {\n  var seq = cm.state.keySeq\n  if (seq) {\n    if (isModifierKey(name)) { return \"handled\" }\n    if (/\\'$/.test(name))\n      { cm.state.keySeq = null }\n    else\n      { stopSeq.set(50, function () {\n        if (cm.state.keySeq == seq) {\n          cm.state.keySeq = null\n          cm.display.input.reset()\n        }\n      }) }\n    if (dispatchKeyInner(cm, seq + \" \" + name, e, handle)) { return true }\n  }\n  return dispatchKeyInner(cm, name, e, handle)\n}\n\nfunction dispatchKeyInner(cm, name, e, handle) {\n  var result = lookupKeyForEditor(cm, name, handle)\n\n  if (result == \"multi\")\n    { cm.state.keySeq = name }\n  if (result == \"handled\")\n    { signalLater(cm, \"keyHandled\", cm, name, e) }\n\n  if (result == \"handled\" || result == \"multi\") {\n    e_preventDefault(e)\n    restartBlink(cm)\n  }\n\n  return !!result\n}\n\n// Handle a key from the keydown event.\nfunction handleKeyBinding(cm, e) {\n  var name = keyName(e, true)\n  if (!name) { return false }\n\n  if (e.shiftKey && !cm.state.keySeq) {\n    // First try to resolve full name (including 'Shift-'). Failing\n    // that, see if there is a cursor-motion command (starting with\n    // 'go') bound to the keyname without 'Shift-'.\n    return dispatchKey(cm, \"Shift-\" + name, e, function (b) { return doHandleBinding(cm, b, true); })\n        || dispatchKey(cm, name, e, function (b) {\n             if (typeof b == \"string\" ? /^go[A-Z]/.test(b) : b.motion)\n               { return doHandleBinding(cm, b) }\n           })\n  } else {\n    return dispatchKey(cm, name, e, function (b) { return doHandleBinding(cm, b); })\n  }\n}\n\n// Handle a key from the keypress event\nfunction handleCharBinding(cm, e, ch) {\n  return dispatchKey(cm, \"'\" + ch + \"'\", e, function (b) { return doHandleBinding(cm, b, true); })\n}\n\nvar lastStoppedKey = null\nfunction onKeyDown(e) {\n  var cm = this\n  cm.curOp.focus = activeElt()\n  if (signalDOMEvent(cm, e)) { return }\n  // IE does strange things with escape.\n  if (ie && ie_version < 11 && e.keyCode == 27) { e.returnValue = false }\n  var code = e.keyCode\n  cm.display.shift = code == 16 || e.shiftKey\n  var handled = handleKeyBinding(cm, e)\n  if (presto) {\n    lastStoppedKey = handled ? code : null\n    // Opera has no cut event... we try to at least catch the key combo\n    if (!handled && code == 88 && !hasCopyEvent && (mac ? e.metaKey : e.ctrlKey))\n      { cm.replaceSelection(\"\", null, \"cut\") }\n  }\n\n  // Turn mouse into crosshair when Alt is held on Mac.\n  if (code == 18 && !/\\bCodeMirror-crosshair\\b/.test(cm.display.lineDiv.className))\n    { showCrossHair(cm) }\n}\n\nfunction showCrossHair(cm) {\n  var lineDiv = cm.display.lineDiv\n  addClass(lineDiv, \"CodeMirror-crosshair\")\n\n  function up(e) {\n    if (e.keyCode == 18 || !e.altKey) {\n      rmClass(lineDiv, \"CodeMirror-crosshair\")\n      off(document, \"keyup\", up)\n      off(document, \"mouseover\", up)\n    }\n  }\n  on(document, \"keyup\", up)\n  on(document, \"mouseover\", up)\n}\n\nfunction onKeyUp(e) {\n  if (e.keyCode == 16) { this.doc.sel.shift = false }\n  signalDOMEvent(this, e)\n}\n\nfunction onKeyPress(e) {\n  var cm = this\n  if (eventInWidget(cm.display, e) || signalDOMEvent(cm, e) || e.ctrlKey && !e.altKey || mac && e.metaKey) { return }\n  var keyCode = e.keyCode, charCode = e.charCode\n  if (presto && keyCode == lastStoppedKey) {lastStoppedKey = null; e_preventDefault(e); return}\n  if ((presto && (!e.which || e.which < 10)) && handleKeyBinding(cm, e)) { return }\n  var ch = String.fromCharCode(charCode == null ? keyCode : charCode)\n  // Some browsers fire keypress events for backspace\n  if (ch == \"\\x08\") { return }\n  if (handleCharBinding(cm, e, ch)) { return }\n  cm.display.input.onKeyPress(e)\n}\n\nvar DOUBLECLICK_DELAY = 400\n\nvar PastClick = function(time, pos, button) {\n  this.time = time\n  this.pos = pos\n  this.button = button\n};\n\nPastClick.prototype.compare = function (time, pos, button) {\n  return this.time + DOUBLECLICK_DELAY > time &&\n    cmp(pos, this.pos) == 0 && button == this.button\n};\n\nvar lastClick;\nvar lastDoubleClick;\nfunction clickRepeat(pos, button) {\n  var now = +new Date\n  if (lastDoubleClick && lastDoubleClick.compare(now, pos, button)) {\n    lastClick = lastDoubleClick = null\n    return \"triple\"\n  } else if (lastClick && lastClick.compare(now, pos, button)) {\n    lastDoubleClick = new PastClick(now, pos, button)\n    lastClick = null\n    return \"double\"\n  } else {\n    lastClick = new PastClick(now, pos, button)\n    lastDoubleClick = null\n    return \"single\"\n  }\n}\n\n// A mouse down can be a single click, double click, triple click,\n// start of selection drag, start of text drag, new cursor\n// (ctrl-click), rectangle drag (alt-drag), or xwin\n// middle-click-paste. Or it might be a click on something we should\n// not interfere with, such as a scrollbar or widget.\nfunction onMouseDown(e) {\n  var cm = this, display = cm.display\n  if (signalDOMEvent(cm, e) || display.activeTouch && display.input.supportsTouch()) { return }\n  display.input.ensurePolled()\n  display.shift = e.shiftKey\n\n  if (eventInWidget(display, e)) {\n    if (!webkit) {\n      // Briefly turn off draggability, to allow widgets to do\n      // normal dragging things.\n      display.scroller.draggable = false\n      setTimeout(function () { return display.scroller.draggable = true; }, 100)\n    }\n    return\n  }\n  if (clickInGutter(cm, e)) { return }\n  var pos = posFromMouse(cm, e), button = e_button(e), repeat = pos ? clickRepeat(pos, button) : \"single\"\n  window.focus()\n\n  // #3261: make sure, that we're not starting a second selection\n  if (button == 1 && cm.state.selectingText)\n    { cm.state.selectingText(e) }\n\n  if (pos && handleMappedButton(cm, button, pos, repeat, e)) { return }\n\n  if (button == 1) {\n    if (pos) { leftButtonDown(cm, pos, repeat, e) }\n    else if (e_target(e) == display.scroller) { e_preventDefault(e) }\n  } else if (button == 2) {\n    if (pos) { extendSelection(cm.doc, pos) }\n    setTimeout(function () { return display.input.focus(); }, 20)\n  } else if (button == 3) {\n    if (captureRightClick) { onContextMenu(cm, e) }\n    else { delayBlurEvent(cm) }\n  }\n}\n\nfunction handleMappedButton(cm, button, pos, repeat, event) {\n  var name = \"Click\"\n  if (repeat == \"double\") { name = \"Double\" + name }\n  else if (repeat == \"triple\") { name = \"Triple\" + name }\n  name = (button == 1 ? \"Left\" : button == 2 ? \"Middle\" : \"Right\") + name\n\n  return dispatchKey(cm,  addModifierNames(name, event), event, function (bound) {\n    if (typeof bound == \"string\") { bound = commands[bound] }\n    if (!bound) { return false }\n    var done = false\n    try {\n      if (cm.isReadOnly()) { cm.state.suppressEdits = true }\n      done = bound(cm, pos) != Pass\n    } finally {\n      cm.state.suppressEdits = false\n    }\n    return done\n  })\n}\n\nfunction configureMouse(cm, repeat, event) {\n  var option = cm.getOption(\"configureMouse\")\n  var value = option ? option(cm, repeat, event) : {}\n  if (value.unit == null) {\n    var rect = chromeOS ? event.shiftKey && event.metaKey : event.altKey\n    value.unit = rect ? \"rectangle\" : repeat == \"single\" ? \"char\" : repeat == \"double\" ? \"word\" : \"line\"\n  }\n  if (value.extend == null || cm.doc.extend) { value.extend = cm.doc.extend || event.shiftKey }\n  if (value.addNew == null) { value.addNew = mac ? event.metaKey : event.ctrlKey }\n  if (value.moveOnDrag == null) { value.moveOnDrag = !(mac ? event.altKey : event.ctrlKey) }\n  return value\n}\n\nfunction leftButtonDown(cm, pos, repeat, event) {\n  if (ie) { setTimeout(bind(ensureFocus, cm), 0) }\n  else { cm.curOp.focus = activeElt() }\n\n  var behavior = configureMouse(cm, repeat, event)\n\n  var sel = cm.doc.sel, contained\n  if (cm.options.dragDrop && dragAndDrop && !cm.isReadOnly() &&\n      repeat == \"single\" && (contained = sel.contains(pos)) > -1 &&\n      (cmp((contained = sel.ranges[contained]).from(), pos) < 0 || pos.xRel > 0) &&\n      (cmp(contained.to(), pos) > 0 || pos.xRel < 0))\n    { leftButtonStartDrag(cm, event, pos, behavior) }\n  else\n    { leftButtonSelect(cm, event, pos, behavior) }\n}\n\n// Start a text drag. When it ends, see if any dragging actually\n// happen, and treat as a click if it didn't.\nfunction leftButtonStartDrag(cm, event, pos, behavior) {\n  var display = cm.display, moved = false\n  var dragEnd = operation(cm, function (e) {\n    if (webkit) { display.scroller.draggable = false }\n    cm.state.draggingText = false\n    off(display.wrapper.ownerDocument, \"mouseup\", dragEnd)\n    off(display.wrapper.ownerDocument, \"mousemove\", mouseMove)\n    off(display.scroller, \"dragstart\", dragStart)\n    off(display.scroller, \"drop\", dragEnd)\n    if (!moved) {\n      e_preventDefault(e)\n      if (!behavior.addNew)\n        { extendSelection(cm.doc, pos, null, null, behavior.extend) }\n      // Work around unexplainable focus problem in IE9 (#2127) and Chrome (#3081)\n      if (webkit || ie && ie_version == 9)\n        { setTimeout(function () {display.wrapper.ownerDocument.body.focus(); display.input.focus()}, 20) }\n      else\n        { display.input.focus() }\n    }\n  })\n  var mouseMove = function(e2) {\n    moved = moved || Math.abs(event.clientX - e2.clientX) + Math.abs(event.clientY - e2.clientY) >= 10\n  }\n  var dragStart = function () { return moved = true; }\n  // Let the drag handler handle this.\n  if (webkit) { display.scroller.draggable = true }\n  cm.state.draggingText = dragEnd\n  dragEnd.copy = !behavior.moveOnDrag\n  // IE's approach to draggable\n  if (display.scroller.dragDrop) { display.scroller.dragDrop() }\n  on(display.wrapper.ownerDocument, \"mouseup\", dragEnd)\n  on(display.wrapper.ownerDocument, \"mousemove\", mouseMove)\n  on(display.scroller, \"dragstart\", dragStart)\n  on(display.scroller, \"drop\", dragEnd)\n\n  delayBlurEvent(cm)\n  setTimeout(function () { return display.input.focus(); }, 20)\n}\n\nfunction rangeForUnit(cm, pos, unit) {\n  if (unit == \"char\") { return new Range(pos, pos) }\n  if (unit == \"word\") { return cm.findWordAt(pos) }\n  if (unit == \"line\") { return new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n  var result = unit(cm, pos)\n  return new Range(result.from, result.to)\n}\n\n// Normal selection, as opposed to text dragging.\nfunction leftButtonSelect(cm, event, start, behavior) {\n  var display = cm.display, doc = cm.doc\n  e_preventDefault(event)\n\n  var ourRange, ourIndex, startSel = doc.sel, ranges = startSel.ranges\n  if (behavior.addNew && !behavior.extend) {\n    ourIndex = doc.sel.contains(start)\n    if (ourIndex > -1)\n      { ourRange = ranges[ourIndex] }\n    else\n      { ourRange = new Range(start, start) }\n  } else {\n    ourRange = doc.sel.primary()\n    ourIndex = doc.sel.primIndex\n  }\n\n  if (behavior.unit == \"rectangle\") {\n    if (!behavior.addNew) { ourRange = new Range(start, start) }\n    start = posFromMouse(cm, event, true, true)\n    ourIndex = -1\n  } else {\n    var range = rangeForUnit(cm, start, behavior.unit)\n    if (behavior.extend)\n      { ourRange = extendRange(ourRange, range.anchor, range.head, behavior.extend) }\n    else\n      { ourRange = range }\n  }\n\n  if (!behavior.addNew) {\n    ourIndex = 0\n    setSelection(doc, new Selection([ourRange], 0), sel_mouse)\n    startSel = doc.sel\n  } else if (ourIndex == -1) {\n    ourIndex = ranges.length\n    setSelection(doc, normalizeSelection(ranges.concat([ourRange]), ourIndex),\n                 {scroll: false, origin: \"*mouse\"})\n  } else if (ranges.length > 1 && ranges[ourIndex].empty() && behavior.unit == \"char\" && !behavior.extend) {\n    setSelection(doc, normalizeSelection(ranges.slice(0, ourIndex).concat(ranges.slice(ourIndex + 1)), 0),\n                 {scroll: false, origin: \"*mouse\"})\n    startSel = doc.sel\n  } else {\n    replaceOneSelection(doc, ourIndex, ourRange, sel_mouse)\n  }\n\n  var lastPos = start\n  function extendTo(pos) {\n    if (cmp(lastPos, pos) == 0) { return }\n    lastPos = pos\n\n    if (behavior.unit == \"rectangle\") {\n      var ranges = [], tabSize = cm.options.tabSize\n      var startCol = countColumn(getLine(doc, start.line).text, start.ch, tabSize)\n      var posCol = countColumn(getLine(doc, pos.line).text, pos.ch, tabSize)\n      var left = Math.min(startCol, posCol), right = Math.max(startCol, posCol)\n      for (var line = Math.min(start.line, pos.line), end = Math.min(cm.lastLine(), Math.max(start.line, pos.line));\n           line <= end; line++) {\n        var text = getLine(doc, line).text, leftPos = findColumn(text, left, tabSize)\n        if (left == right)\n          { ranges.push(new Range(Pos(line, leftPos), Pos(line, leftPos))) }\n        else if (text.length > leftPos)\n          { ranges.push(new Range(Pos(line, leftPos), Pos(line, findColumn(text, right, tabSize)))) }\n      }\n      if (!ranges.length) { ranges.push(new Range(start, start)) }\n      setSelection(doc, normalizeSelection(startSel.ranges.slice(0, ourIndex).concat(ranges), ourIndex),\n                   {origin: \"*mouse\", scroll: false})\n      cm.scrollIntoView(pos)\n    } else {\n      var oldRange = ourRange\n      var range = rangeForUnit(cm, pos, behavior.unit)\n      var anchor = oldRange.anchor, head\n      if (cmp(range.anchor, anchor) > 0) {\n        head = range.head\n        anchor = minPos(oldRange.from(), range.anchor)\n      } else {\n        head = range.anchor\n        anchor = maxPos(oldRange.to(), range.head)\n      }\n      var ranges$1 = startSel.ranges.slice(0)\n      ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head))\n      setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse)\n    }\n  }\n\n  var editorSize = display.wrapper.getBoundingClientRect()\n  // Used to ensure timeout re-tries don't fire when another extend\n  // happened in the meantime (clearTimeout isn't reliable -- at\n  // least on Chrome, the timeouts still happen even when cleared,\n  // if the clear happens after their scheduled firing time).\n  var counter = 0\n\n  function extend(e) {\n    var curCount = ++counter\n    var cur = posFromMouse(cm, e, true, behavior.unit == \"rectangle\")\n    if (!cur) { return }\n    if (cmp(cur, lastPos) != 0) {\n      cm.curOp.focus = activeElt()\n      extendTo(cur)\n      var visible = visibleLines(display, doc)\n      if (cur.line >= visible.to || cur.line < visible.from)\n        { setTimeout(operation(cm, function () {if (counter == curCount) { extend(e) }}), 150) }\n    } else {\n      var outside = e.clientY < editorSize.top ? -20 : e.clientY > editorSize.bottom ? 20 : 0\n      if (outside) { setTimeout(operation(cm, function () {\n        if (counter != curCount) { return }\n        display.scroller.scrollTop += outside\n        extend(e)\n      }), 50) }\n    }\n  }\n\n  function done(e) {\n    cm.state.selectingText = false\n    counter = Infinity\n    e_preventDefault(e)\n    display.input.focus()\n    off(display.wrapper.ownerDocument, \"mousemove\", move)\n    off(display.wrapper.ownerDocument, \"mouseup\", up)\n    doc.history.lastSelOrigin = null\n  }\n\n  var move = operation(cm, function (e) {\n    if (e.buttons === 0 || !e_button(e)) { done(e) }\n    else { extend(e) }\n  })\n  var up = operation(cm, done)\n  cm.state.selectingText = up\n  on(display.wrapper.ownerDocument, \"mousemove\", move)\n  on(display.wrapper.ownerDocument, \"mouseup\", up)\n}\n\n// Used when mouse-selecting to adjust the anchor to the proper side\n// of a bidi jump depending on the visual position of the head.\nfunction bidiSimplify(cm, range) {\n  var anchor = range.anchor;\n  var head = range.head;\n  var anchorLine = getLine(cm.doc, anchor.line)\n  if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range }\n  var order = getOrder(anchorLine)\n  if (!order) { return range }\n  var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index]\n  if (part.from != anchor.ch && part.to != anchor.ch) { return range }\n  var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1)\n  if (boundary == 0 || boundary == order.length) { return range }\n\n  // Compute the relative visual position of the head compared to the\n  // anchor (<0 is to the left, >0 to the right)\n  var leftSide\n  if (head.line != anchor.line) {\n    leftSide = (head.line - anchor.line) * (cm.doc.direction == \"ltr\" ? 1 : -1) > 0\n  } else {\n    var headIndex = getBidiPartAt(order, head.ch, head.sticky)\n    var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1)\n    if (headIndex == boundary - 1 || headIndex == boundary)\n      { leftSide = dir < 0 }\n    else\n      { leftSide = dir > 0 }\n  }\n\n  var usePart = order[boundary + (leftSide ? -1 : 0)]\n  var from = leftSide == (usePart.level == 1)\n  var ch = from ? usePart.from : usePart.to, sticky = from ? \"after\" : \"before\"\n  return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head)\n}\n\n\n// Determines whether an event happened in the gutter, and fires the\n// handlers for the corresponding event.\nfunction gutterEvent(cm, e, type, prevent) {\n  var mX, mY\n  if (e.touches) {\n    mX = e.touches[0].clientX\n    mY = e.touches[0].clientY\n  } else {\n    try { mX = e.clientX; mY = e.clientY }\n    catch(e) { return false }\n  }\n  if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false }\n  if (prevent) { e_preventDefault(e) }\n\n  var display = cm.display\n  var lineBox = display.lineDiv.getBoundingClientRect()\n\n  if (mY > lineBox.bottom || !hasHandler(cm, type)) { return e_defaultPrevented(e) }\n  mY -= lineBox.top - display.viewOffset\n\n  for (var i = 0; i < cm.options.gutters.length; ++i) {\n    var g = display.gutters.childNodes[i]\n    if (g && g.getBoundingClientRect().right >= mX) {\n      var line = lineAtHeight(cm.doc, mY)\n      var gutter = cm.options.gutters[i]\n      signal(cm, type, cm, line, gutter, e)\n      return e_defaultPrevented(e)\n    }\n  }\n}\n\nfunction clickInGutter(cm, e) {\n  return gutterEvent(cm, e, \"gutterClick\", true)\n}\n\n// CONTEXT MENU HANDLING\n\n// To make the context menu work, we need to briefly unhide the\n// textarea (making it as unobtrusive as possible) to let the\n// right-click take effect on it.\nfunction onContextMenu(cm, e) {\n  if (eventInWidget(cm.display, e) || contextMenuInGutter(cm, e)) { return }\n  if (signalDOMEvent(cm, e, \"contextmenu\")) { return }\n  cm.display.input.onContextMenu(e)\n}\n\nfunction contextMenuInGutter(cm, e) {\n  if (!hasHandler(cm, \"gutterContextMenu\")) { return false }\n  return gutterEvent(cm, e, \"gutterContextMenu\", false)\n}\n\nfunction themeChanged(cm) {\n  cm.display.wrapper.className = cm.display.wrapper.className.replace(/\\s*cm-s-\\S+/g, \"\") +\n    cm.options.theme.replace(/(^|\\s)\\s*/g, \" cm-s-\")\n  clearCaches(cm)\n}\n\nvar Init = {toString: function(){return \"CodeMirror.Init\"}}\n\nvar defaults = {}\nvar optionHandlers = {}\n\nfunction defineOptions(CodeMirror) {\n  var optionHandlers = CodeMirror.optionHandlers\n\n  function option(name, deflt, handle, notOnInit) {\n    CodeMirror.defaults[name] = deflt\n    if (handle) { optionHandlers[name] =\n      notOnInit ? function (cm, val, old) {if (old != Init) { handle(cm, val, old) }} : handle }\n  }\n\n  CodeMirror.defineOption = option\n\n  // Passed to option handlers when there is no old value.\n  CodeMirror.Init = Init\n\n  // These two are, on init, called from the constructor because they\n  // have to be initialized before the editor can start at all.\n  option(\"value\", \"\", function (cm, val) { return cm.setValue(val); }, true)\n  option(\"mode\", null, function (cm, val) {\n    cm.doc.modeOption = val\n    loadMode(cm)\n  }, true)\n\n  option(\"indentUnit\", 2, loadMode, true)\n  option(\"indentWithTabs\", false)\n  option(\"smartIndent\", true)\n  option(\"tabSize\", 4, function (cm) {\n    resetModeState(cm)\n    clearCaches(cm)\n    regChange(cm)\n  }, true)\n\n  option(\"lineSeparator\", null, function (cm, val) {\n    cm.doc.lineSep = val\n    if (!val) { return }\n    var newBreaks = [], lineNo = cm.doc.first\n    cm.doc.iter(function (line) {\n      for (var pos = 0;;) {\n        var found = line.text.indexOf(val, pos)\n        if (found == -1) { break }\n        pos = found + val.length\n        newBreaks.push(Pos(lineNo, found))\n      }\n      lineNo++\n    })\n    for (var i = newBreaks.length - 1; i >= 0; i--)\n      { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)) }\n  })\n  option(\"specialChars\", /[\\u0000-\\u001f\\u007f-\\u009f\\u00ad\\u061c\\u200b-\\u200f\\u2028\\u2029\\ufeff]/g, function (cm, val, old) {\n    cm.state.specialChars = new RegExp(val.source + (val.test(\"\\t\") ? \"\" : \"|\\t\"), \"g\")\n    if (old != Init) { cm.refresh() }\n  })\n  option(\"specialCharPlaceholder\", defaultSpecialCharPlaceholder, function (cm) { return cm.refresh(); }, true)\n  option(\"electricChars\", true)\n  option(\"inputStyle\", mobile ? \"contenteditable\" : \"textarea\", function () {\n    throw new Error(\"inputStyle can not (yet) be changed in a running editor\") // FIXME\n  }, true)\n  option(\"spellcheck\", false, function (cm, val) { return cm.getInputField().spellcheck = val; }, true)\n  option(\"rtlMoveVisually\", !windows)\n  option(\"wholeLineUpdateBefore\", true)\n\n  option(\"theme\", \"default\", function (cm) {\n    themeChanged(cm)\n    guttersChanged(cm)\n  }, true)\n  option(\"keyMap\", \"default\", function (cm, val, old) {\n    var next = getKeyMap(val)\n    var prev = old != Init && getKeyMap(old)\n    if (prev && prev.detach) { prev.detach(cm, next) }\n    if (next.attach) { next.attach(cm, prev || null) }\n  })\n  option(\"extraKeys\", null)\n  option(\"configureMouse\", null)\n\n  option(\"lineWrapping\", false, wrappingChanged, true)\n  option(\"gutters\", [], function (cm) {\n    setGuttersForLineNumbers(cm.options)\n    guttersChanged(cm)\n  }, true)\n  option(\"fixedGutter\", true, function (cm, val) {\n    cm.display.gutters.style.left = val ? compensateForHScroll(cm.display) + \"px\" : \"0\"\n    cm.refresh()\n  }, true)\n  option(\"coverGutterNextToScrollbar\", false, function (cm) { return updateScrollbars(cm); }, true)\n  option(\"scrollbarStyle\", \"native\", function (cm) {\n    initScrollbars(cm)\n    updateScrollbars(cm)\n    cm.display.scrollbars.setScrollTop(cm.doc.scrollTop)\n    cm.display.scrollbars.setScrollLeft(cm.doc.scrollLeft)\n  }, true)\n  option(\"lineNumbers\", false, function (cm) {\n    setGuttersForLineNumbers(cm.options)\n    guttersChanged(cm)\n  }, true)\n  option(\"firstLineNumber\", 1, guttersChanged, true)\n  option(\"lineNumberFormatter\", function (integer) { return integer; }, guttersChanged, true)\n  option(\"showCursorWhenSelecting\", false, updateSelection, true)\n\n  option(\"resetSelectionOnContextMenu\", true)\n  option(\"lineWiseCopyCut\", true)\n  option(\"pasteLinesPerSelection\", true)\n\n  option(\"readOnly\", false, function (cm, val) {\n    if (val == \"nocursor\") {\n      onBlur(cm)\n      cm.display.input.blur()\n    }\n    cm.display.input.readOnlyChanged(val)\n  })\n  option(\"disableInput\", false, function (cm, val) {if (!val) { cm.display.input.reset() }}, true)\n  option(\"dragDrop\", true, dragDropChanged)\n  option(\"allowDropFileTypes\", null)\n\n  option(\"cursorBlinkRate\", 530)\n  option(\"cursorScrollMargin\", 0)\n  option(\"cursorHeight\", 1, updateSelection, true)\n  option(\"singleCursorHeightPerLine\", true, updateSelection, true)\n  option(\"workTime\", 100)\n  option(\"workDelay\", 100)\n  option(\"flattenSpans\", true, resetModeState, true)\n  option(\"addModeClass\", false, resetModeState, true)\n  option(\"pollInterval\", 100)\n  option(\"undoDepth\", 200, function (cm, val) { return cm.doc.history.undoDepth = val; })\n  option(\"historyEventDelay\", 1250)\n  option(\"viewportMargin\", 10, function (cm) { return cm.refresh(); }, true)\n  option(\"maxHighlightLength\", 10000, resetModeState, true)\n  option(\"moveInputWithCursor\", true, function (cm, val) {\n    if (!val) { cm.display.input.resetPosition() }\n  })\n\n  option(\"tabindex\", null, function (cm, val) { return cm.display.input.getField().tabIndex = val || \"\"; })\n  option(\"autofocus\", null)\n  option(\"direction\", \"ltr\", function (cm, val) { return cm.doc.setDirection(val); }, true)\n}\n\nfunction guttersChanged(cm) {\n  updateGutters(cm)\n  regChange(cm)\n  alignHorizontally(cm)\n}\n\nfunction dragDropChanged(cm, value, old) {\n  var wasOn = old && old != Init\n  if (!value != !wasOn) {\n    var funcs = cm.display.dragFunctions\n    var toggle = value ? on : off\n    toggle(cm.display.scroller, \"dragstart\", funcs.start)\n    toggle(cm.display.scroller, \"dragenter\", funcs.enter)\n    toggle(cm.display.scroller, \"dragover\", funcs.over)\n    toggle(cm.display.scroller, \"dragleave\", funcs.leave)\n    toggle(cm.display.scroller, \"drop\", funcs.drop)\n  }\n}\n\nfunction wrappingChanged(cm) {\n  if (cm.options.lineWrapping) {\n    addClass(cm.display.wrapper, \"CodeMirror-wrap\")\n    cm.display.sizer.style.minWidth = \"\"\n    cm.display.sizerWidth = null\n  } else {\n    rmClass(cm.display.wrapper, \"CodeMirror-wrap\")\n    findMaxLine(cm)\n  }\n  estimateLineHeights(cm)\n  regChange(cm)\n  clearCaches(cm)\n  setTimeout(function () { return updateScrollbars(cm); }, 100)\n}\n\n// A CodeMirror instance represents an editor. This is the object\n// that user code is usually dealing with.\n\nfunction CodeMirror(place, options) {\n  var this$1 = this;\n\n  if (!(this instanceof CodeMirror)) { return new CodeMirror(place, options) }\n\n  this.options = options = options ? copyObj(options) : {}\n  // Determine effective options based on given values and defaults.\n  copyObj(defaults, options, false)\n  setGuttersForLineNumbers(options)\n\n  var doc = options.value\n  if (typeof doc == \"string\") { doc = new Doc(doc, options.mode, null, options.lineSeparator, options.direction) }\n  else if (options.mode) { doc.modeOption = options.mode }\n  this.doc = doc\n\n  var input = new CodeMirror.inputStyles[options.inputStyle](this)\n  var display = this.display = new Display(place, doc, input)\n  display.wrapper.CodeMirror = this\n  updateGutters(this)\n  themeChanged(this)\n  if (options.lineWrapping)\n    { this.display.wrapper.className += \" CodeMirror-wrap\" }\n  initScrollbars(this)\n\n  this.state = {\n    keyMaps: [],  // stores maps added by addKeyMap\n    overlays: [], // highlighting overlays, as added by addOverlay\n    modeGen: 0,   // bumped when mode/overlay changes, used to invalidate highlighting info\n    overwrite: false,\n    delayingBlurEvent: false,\n    focused: false,\n    suppressEdits: false, // used to disable editing during key handlers when in readOnly mode\n    pasteIncoming: false, cutIncoming: false, // help recognize paste/cut edits in input.poll\n    selectingText: false,\n    draggingText: false,\n    highlight: new Delayed(), // stores highlight worker timeout\n    keySeq: null,  // Unfinished key sequence\n    specialChars: null\n  }\n\n  if (options.autofocus && !mobile) { display.input.focus() }\n\n  // Override magic textarea content restore that IE sometimes does\n  // on our hidden textarea on reload\n  if (ie && ie_version < 11) { setTimeout(function () { return this$1.display.input.reset(true); }, 20) }\n\n  registerEventHandlers(this)\n  ensureGlobalHandlers()\n\n  startOperation(this)\n  this.curOp.forceUpdate = true\n  attachDoc(this, doc)\n\n  if ((options.autofocus && !mobile) || this.hasFocus())\n    { setTimeout(bind(onFocus, this), 20) }\n  else\n    { onBlur(this) }\n\n  for (var opt in optionHandlers) { if (optionHandlers.hasOwnProperty(opt))\n    { optionHandlers[opt](this$1, options[opt], Init) } }\n  maybeUpdateLineNumberWidth(this)\n  if (options.finishInit) { options.finishInit(this) }\n  for (var i = 0; i < initHooks.length; ++i) { initHooks[i](this$1) }\n  endOperation(this)\n  // Suppress optimizelegibility in Webkit, since it breaks text\n  // measuring on line wrapping boundaries.\n  if (webkit && options.lineWrapping &&\n      getComputedStyle(display.lineDiv).textRendering == \"optimizelegibility\")\n    { display.lineDiv.style.textRendering = \"auto\" }\n}\n\n// The default configuration options.\nCodeMirror.defaults = defaults\n// Functions to run when options are changed.\nCodeMirror.optionHandlers = optionHandlers\n\n// Attach the necessary event handlers when initializing the editor\nfunction registerEventHandlers(cm) {\n  var d = cm.display\n  on(d.scroller, \"mousedown\", operation(cm, onMouseDown))\n  // Older IE's will not fire a second mousedown for a double click\n  if (ie && ie_version < 11)\n    { on(d.scroller, \"dblclick\", operation(cm, function (e) {\n      if (signalDOMEvent(cm, e)) { return }\n      var pos = posFromMouse(cm, e)\n      if (!pos || clickInGutter(cm, e) || eventInWidget(cm.display, e)) { return }\n      e_preventDefault(e)\n      var word = cm.findWordAt(pos)\n      extendSelection(cm.doc, word.anchor, word.head)\n    })) }\n  else\n    { on(d.scroller, \"dblclick\", function (e) { return signalDOMEvent(cm, e) || e_preventDefault(e); }) }\n  // Some browsers fire contextmenu *after* opening the menu, at\n  // which point we can't mess with it anymore. Context menu is\n  // handled in onMouseDown for these browsers.\n  if (!captureRightClick) { on(d.scroller, \"contextmenu\", function (e) { return onContextMenu(cm, e); }) }\n\n  // Used to suppress mouse event handling when a touch happens\n  var touchFinished, prevTouch = {end: 0}\n  function finishTouch() {\n    if (d.activeTouch) {\n      touchFinished = setTimeout(function () { return d.activeTouch = null; }, 1000)\n      prevTouch = d.activeTouch\n      prevTouch.end = +new Date\n    }\n  }\n  function isMouseLikeTouchEvent(e) {\n    if (e.touches.length != 1) { return false }\n    var touch = e.touches[0]\n    return touch.radiusX <= 1 && touch.radiusY <= 1\n  }\n  function farAway(touch, other) {\n    if (other.left == null) { return true }\n    var dx = other.left - touch.left, dy = other.top - touch.top\n    return dx * dx + dy * dy > 20 * 20\n  }\n  on(d.scroller, \"touchstart\", function (e) {\n    if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) {\n      d.input.ensurePolled()\n      clearTimeout(touchFinished)\n      var now = +new Date\n      d.activeTouch = {start: now, moved: false,\n                       prev: now - prevTouch.end <= 300 ? prevTouch : null}\n      if (e.touches.length == 1) {\n        d.activeTouch.left = e.touches[0].pageX\n        d.activeTouch.top = e.touches[0].pageY\n      }\n    }\n  })\n  on(d.scroller, \"touchmove\", function () {\n    if (d.activeTouch) { d.activeTouch.moved = true }\n  })\n  on(d.scroller, \"touchend\", function (e) {\n    var touch = d.activeTouch\n    if (touch && !eventInWidget(d, e) && touch.left != null &&\n        !touch.moved && new Date - touch.start < 300) {\n      var pos = cm.coordsChar(d.activeTouch, \"page\"), range\n      if (!touch.prev || farAway(touch, touch.prev)) // Single tap\n        { range = new Range(pos, pos) }\n      else if (!touch.prev.prev || farAway(touch, touch.prev.prev)) // Double tap\n        { range = cm.findWordAt(pos) }\n      else // Triple tap\n        { range = new Range(Pos(pos.line, 0), clipPos(cm.doc, Pos(pos.line + 1, 0))) }\n      cm.setSelection(range.anchor, range.head)\n      cm.focus()\n      e_preventDefault(e)\n    }\n    finishTouch()\n  })\n  on(d.scroller, \"touchcancel\", finishTouch)\n\n  // Sync scrolling between fake scrollbars and real scrollable\n  // area, ensure viewport is updated when scrolling.\n  on(d.scroller, \"scroll\", function () {\n    if (d.scroller.clientHeight) {\n      updateScrollTop(cm, d.scroller.scrollTop)\n      setScrollLeft(cm, d.scroller.scrollLeft, true)\n      signal(cm, \"scroll\", cm)\n    }\n  })\n\n  // Listen to wheel events in order to try and update the viewport on time.\n  on(d.scroller, \"mousewheel\", function (e) { return onScrollWheel(cm, e); })\n  on(d.scroller, \"DOMMouseScroll\", function (e) { return onScrollWheel(cm, e); })\n\n  // Prevent wrapper from ever scrolling\n  on(d.wrapper, \"scroll\", function () { return d.wrapper.scrollTop = d.wrapper.scrollLeft = 0; })\n\n  d.dragFunctions = {\n    enter: function (e) {if (!signalDOMEvent(cm, e)) { e_stop(e) }},\n    over: function (e) {if (!signalDOMEvent(cm, e)) { onDragOver(cm, e); e_stop(e) }},\n    start: function (e) { return onDragStart(cm, e); },\n    drop: operation(cm, onDrop),\n    leave: function (e) {if (!signalDOMEvent(cm, e)) { clearDragCursor(cm) }}\n  }\n\n  var inp = d.input.getField()\n  on(inp, \"keyup\", function (e) { return onKeyUp.call(cm, e); })\n  on(inp, \"keydown\", operation(cm, onKeyDown))\n  on(inp, \"keypress\", operation(cm, onKeyPress))\n  on(inp, \"focus\", function (e) { return onFocus(cm, e); })\n  on(inp, \"blur\", function (e) { return onBlur(cm, e); })\n}\n\nvar initHooks = []\nCodeMirror.defineInitHook = function (f) { return initHooks.push(f); }\n\n// Indent the given line. The how parameter can be \"smart\",\n// \"add\"/null, \"subtract\", or \"prev\". When aggressive is false\n// (typically set to true for forced single-line indents), empty\n// lines are not indented, and places where the mode returns Pass\n// are left alone.\nfunction indentLine(cm, n, how, aggressive) {\n  var doc = cm.doc, state\n  if (how == null) { how = \"add\" }\n  if (how == \"smart\") {\n    // Fall back to \"prev\" when the mode doesn't have an indentation\n    // method.\n    if (!doc.mode.indent) { how = \"prev\" }\n    else { state = getContextBefore(cm, n).state }\n  }\n\n  var tabSize = cm.options.tabSize\n  var line = getLine(doc, n), curSpace = countColumn(line.text, null, tabSize)\n  if (line.stateAfter) { line.stateAfter = null }\n  var curSpaceString = line.text.match(/^\\s*/)[0], indentation\n  if (!aggressive && !/\\S/.test(line.text)) {\n    indentation = 0\n    how = \"not\"\n  } else if (how == \"smart\") {\n    indentation = doc.mode.indent(state, line.text.slice(curSpaceString.length), line.text)\n    if (indentation == Pass || indentation > 150) {\n      if (!aggressive) { return }\n      how = \"prev\"\n    }\n  }\n  if (how == \"prev\") {\n    if (n > doc.first) { indentation = countColumn(getLine(doc, n-1).text, null, tabSize) }\n    else { indentation = 0 }\n  } else if (how == \"add\") {\n    indentation = curSpace + cm.options.indentUnit\n  } else if (how == \"subtract\") {\n    indentation = curSpace - cm.options.indentUnit\n  } else if (typeof how == \"number\") {\n    indentation = curSpace + how\n  }\n  indentation = Math.max(0, indentation)\n\n  var indentString = \"\", pos = 0\n  if (cm.options.indentWithTabs)\n    { for (var i = Math.floor(indentation / tabSize); i; --i) {pos += tabSize; indentString += \"\\t\"} }\n  if (pos < indentation) { indentString += spaceStr(indentation - pos) }\n\n  if (indentString != curSpaceString) {\n    replaceRange(doc, indentString, Pos(n, 0), Pos(n, curSpaceString.length), \"+input\")\n    line.stateAfter = null\n    return true\n  } else {\n    // Ensure that, if the cursor was in the whitespace at the start\n    // of the line, it is moved to the end of that space.\n    for (var i$1 = 0; i$1 < doc.sel.ranges.length; i$1++) {\n      var range = doc.sel.ranges[i$1]\n      if (range.head.line == n && range.head.ch < curSpaceString.length) {\n        var pos$1 = Pos(n, curSpaceString.length)\n        replaceOneSelection(doc, i$1, new Range(pos$1, pos$1))\n        break\n      }\n    }\n  }\n}\n\n// This will be set to a {lineWise: bool, text: [string]} object, so\n// that, when pasting, we know what kind of selections the copied\n// text was made out of.\nvar lastCopied = null\n\nfunction setLastCopied(newLastCopied) {\n  lastCopied = newLastCopied\n}\n\nfunction applyTextInput(cm, inserted, deleted, sel, origin) {\n  var doc = cm.doc\n  cm.display.shift = false\n  if (!sel) { sel = doc.sel }\n\n  var paste = cm.state.pasteIncoming || origin == \"paste\"\n  var textLines = splitLinesAuto(inserted), multiPaste = null\n  // When pasting N lines into N selections, insert one line per selection\n  if (paste && sel.ranges.length > 1) {\n    if (lastCopied && lastCopied.text.join(\"\\n\") == inserted) {\n      if (sel.ranges.length % lastCopied.text.length == 0) {\n        multiPaste = []\n        for (var i = 0; i < lastCopied.text.length; i++)\n          { multiPaste.push(doc.splitLines(lastCopied.text[i])) }\n      }\n    } else if (textLines.length == sel.ranges.length && cm.options.pasteLinesPerSelection) {\n      multiPaste = map(textLines, function (l) { return [l]; })\n    }\n  }\n\n  var updateInput\n  // Normal behavior is to insert the new text into every selection\n  for (var i$1 = sel.ranges.length - 1; i$1 >= 0; i$1--) {\n    var range = sel.ranges[i$1]\n    var from = range.from(), to = range.to()\n    if (range.empty()) {\n      if (deleted && deleted > 0) // Handle deletion\n        { from = Pos(from.line, from.ch - deleted) }\n      else if (cm.state.overwrite && !paste) // Handle overwrite\n        { to = Pos(to.line, Math.min(getLine(doc, to.line).text.length, to.ch + lst(textLines).length)) }\n      else if (lastCopied && lastCopied.lineWise && lastCopied.text.join(\"\\n\") == inserted)\n        { from = to = Pos(from.line, 0) }\n    }\n    updateInput = cm.curOp.updateInput\n    var changeEvent = {from: from, to: to, text: multiPaste ? multiPaste[i$1 % multiPaste.length] : textLines,\n                       origin: origin || (paste ? \"paste\" : cm.state.cutIncoming ? \"cut\" : \"+input\")}\n    makeChange(cm.doc, changeEvent)\n    signalLater(cm, \"inputRead\", cm, changeEvent)\n  }\n  if (inserted && !paste)\n    { triggerElectric(cm, inserted) }\n\n  ensureCursorVisible(cm)\n  cm.curOp.updateInput = updateInput\n  cm.curOp.typing = true\n  cm.state.pasteIncoming = cm.state.cutIncoming = false\n}\n\nfunction handlePaste(e, cm) {\n  var pasted = e.clipboardData && e.clipboardData.getData(\"Text\")\n  if (pasted) {\n    e.preventDefault()\n    if (!cm.isReadOnly() && !cm.options.disableInput)\n      { runInOp(cm, function () { return applyTextInput(cm, pasted, 0, null, \"paste\"); }) }\n    return true\n  }\n}\n\nfunction triggerElectric(cm, inserted) {\n  // When an 'electric' character is inserted, immediately trigger a reindent\n  if (!cm.options.electricChars || !cm.options.smartIndent) { return }\n  var sel = cm.doc.sel\n\n  for (var i = sel.ranges.length - 1; i >= 0; i--) {\n    var range = sel.ranges[i]\n    if (range.head.ch > 100 || (i && sel.ranges[i - 1].head.line == range.head.line)) { continue }\n    var mode = cm.getModeAt(range.head)\n    var indented = false\n    if (mode.electricChars) {\n      for (var j = 0; j < mode.electricChars.length; j++)\n        { if (inserted.indexOf(mode.electricChars.charAt(j)) > -1) {\n          indented = indentLine(cm, range.head.line, \"smart\")\n          break\n        } }\n    } else if (mode.electricInput) {\n      if (mode.electricInput.test(getLine(cm.doc, range.head.line).text.slice(0, range.head.ch)))\n        { indented = indentLine(cm, range.head.line, \"smart\") }\n    }\n    if (indented) { signalLater(cm, \"electricInput\", cm, range.head.line) }\n  }\n}\n\nfunction copyableRanges(cm) {\n  var text = [], ranges = []\n  for (var i = 0; i < cm.doc.sel.ranges.length; i++) {\n    var line = cm.doc.sel.ranges[i].head.line\n    var lineRange = {anchor: Pos(line, 0), head: Pos(line + 1, 0)}\n    ranges.push(lineRange)\n    text.push(cm.getRange(lineRange.anchor, lineRange.head))\n  }\n  return {text: text, ranges: ranges}\n}\n\nfunction disableBrowserMagic(field, spellcheck) {\n  field.setAttribute(\"autocorrect\", \"off\")\n  field.setAttribute(\"autocapitalize\", \"off\")\n  field.setAttribute(\"spellcheck\", !!spellcheck)\n}\n\nfunction hiddenTextarea() {\n  var te = elt(\"textarea\", null, null, \"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; outline: none\")\n  var div = elt(\"div\", [te], null, \"overflow: hidden; position: relative; width: 3px; height: 0px;\")\n  // The textarea is kept positioned near the cursor to prevent the\n  // fact that it'll be scrolled into view on input from scrolling\n  // our fake cursor out of view. On webkit, when wrap=off, paste is\n  // very slow. So make the area wide instead.\n  if (webkit) { te.style.width = \"1000px\" }\n  else { te.setAttribute(\"wrap\", \"off\") }\n  // If border: 0; -- iOS fails to open keyboard (issue #1287)\n  if (ios) { te.style.border = \"1px solid black\" }\n  disableBrowserMagic(te)\n  return div\n}\n\n// The publicly visible API. Note that methodOp(f) means\n// 'wrap f in an operation, performed on its `this` parameter'.\n\n// This is not the complete set of editor methods. Most of the\n// methods defined on the Doc type are also injected into\n// CodeMirror.prototype, for backwards compatibility and\n// convenience.\n\nfunction addEditorMethods(CodeMirror) {\n  var optionHandlers = CodeMirror.optionHandlers\n\n  var helpers = CodeMirror.helpers = {}\n\n  CodeMirror.prototype = {\n    constructor: CodeMirror,\n    focus: function(){window.focus(); this.display.input.focus()},\n\n    setOption: function(option, value) {\n      var options = this.options, old = options[option]\n      if (options[option] == value && option != \"mode\") { return }\n      options[option] = value\n      if (optionHandlers.hasOwnProperty(option))\n        { operation(this, optionHandlers[option])(this, value, old) }\n      signal(this, \"optionChange\", this, option)\n    },\n\n    getOption: function(option) {return this.options[option]},\n    getDoc: function() {return this.doc},\n\n    addKeyMap: function(map, bottom) {\n      this.state.keyMaps[bottom ? \"push\" : \"unshift\"](getKeyMap(map))\n    },\n    removeKeyMap: function(map) {\n      var maps = this.state.keyMaps\n      for (var i = 0; i < maps.length; ++i)\n        { if (maps[i] == map || maps[i].name == map) {\n          maps.splice(i, 1)\n          return true\n        } }\n    },\n\n    addOverlay: methodOp(function(spec, options) {\n      var mode = spec.token ? spec : CodeMirror.getMode(this.options, spec)\n      if (mode.startState) { throw new Error(\"Overlays may not be stateful.\") }\n      insertSorted(this.state.overlays,\n                   {mode: mode, modeSpec: spec, opaque: options && options.opaque,\n                    priority: (options && options.priority) || 0},\n                   function (overlay) { return overlay.priority; })\n      this.state.modeGen++\n      regChange(this)\n    }),\n    removeOverlay: methodOp(function(spec) {\n      var this$1 = this;\n\n      var overlays = this.state.overlays\n      for (var i = 0; i < overlays.length; ++i) {\n        var cur = overlays[i].modeSpec\n        if (cur == spec || typeof spec == \"string\" && cur.name == spec) {\n          overlays.splice(i, 1)\n          this$1.state.modeGen++\n          regChange(this$1)\n          return\n        }\n      }\n    }),\n\n    indentLine: methodOp(function(n, dir, aggressive) {\n      if (typeof dir != \"string\" && typeof dir != \"number\") {\n        if (dir == null) { dir = this.options.smartIndent ? \"smart\" : \"prev\" }\n        else { dir = dir ? \"add\" : \"subtract\" }\n      }\n      if (isLine(this.doc, n)) { indentLine(this, n, dir, aggressive) }\n    }),\n    indentSelection: methodOp(function(how) {\n      var this$1 = this;\n\n      var ranges = this.doc.sel.ranges, end = -1\n      for (var i = 0; i < ranges.length; i++) {\n        var range = ranges[i]\n        if (!range.empty()) {\n          var from = range.from(), to = range.to()\n          var start = Math.max(end, from.line)\n          end = Math.min(this$1.lastLine(), to.line - (to.ch ? 0 : 1)) + 1\n          for (var j = start; j < end; ++j)\n            { indentLine(this$1, j, how) }\n          var newRanges = this$1.doc.sel.ranges\n          if (from.ch == 0 && ranges.length == newRanges.length && newRanges[i].from().ch > 0)\n            { replaceOneSelection(this$1.doc, i, new Range(from, newRanges[i].to()), sel_dontScroll) }\n        } else if (range.head.line > end) {\n          indentLine(this$1, range.head.line, how, true)\n          end = range.head.line\n          if (i == this$1.doc.sel.primIndex) { ensureCursorVisible(this$1) }\n        }\n      }\n    }),\n\n    // Fetch the parser token for a given character. Useful for hacks\n    // that want to inspect the mode state (say, for completion).\n    getTokenAt: function(pos, precise) {\n      return takeToken(this, pos, precise)\n    },\n\n    getLineTokens: function(line, precise) {\n      return takeToken(this, Pos(line), precise, true)\n    },\n\n    getTokenTypeAt: function(pos) {\n      pos = clipPos(this.doc, pos)\n      var styles = getLineStyles(this, getLine(this.doc, pos.line))\n      var before = 0, after = (styles.length - 1) / 2, ch = pos.ch\n      var type\n      if (ch == 0) { type = styles[2] }\n      else { for (;;) {\n        var mid = (before + after) >> 1\n        if ((mid ? styles[mid * 2 - 1] : 0) >= ch) { after = mid }\n        else if (styles[mid * 2 + 1] < ch) { before = mid + 1 }\n        else { type = styles[mid * 2 + 2]; break }\n      } }\n      var cut = type ? type.indexOf(\"overlay \") : -1\n      return cut < 0 ? type : cut == 0 ? null : type.slice(0, cut - 1)\n    },\n\n    getModeAt: function(pos) {\n      var mode = this.doc.mode\n      if (!mode.innerMode) { return mode }\n      return CodeMirror.innerMode(mode, this.getTokenAt(pos).state).mode\n    },\n\n    getHelper: function(pos, type) {\n      return this.getHelpers(pos, type)[0]\n    },\n\n    getHelpers: function(pos, type) {\n      var this$1 = this;\n\n      var found = []\n      if (!helpers.hasOwnProperty(type)) { return found }\n      var help = helpers[type], mode = this.getModeAt(pos)\n      if (typeof mode[type] == \"string\") {\n        if (help[mode[type]]) { found.push(help[mode[type]]) }\n      } else if (mode[type]) {\n        for (var i = 0; i < mode[type].length; i++) {\n          var val = help[mode[type][i]]\n          if (val) { found.push(val) }\n        }\n      } else if (mode.helperType && help[mode.helperType]) {\n        found.push(help[mode.helperType])\n      } else if (help[mode.name]) {\n        found.push(help[mode.name])\n      }\n      for (var i$1 = 0; i$1 < help._global.length; i$1++) {\n        var cur = help._global[i$1]\n        if (cur.pred(mode, this$1) && indexOf(found, cur.val) == -1)\n          { found.push(cur.val) }\n      }\n      return found\n    },\n\n    getStateAfter: function(line, precise) {\n      var doc = this.doc\n      line = clipLine(doc, line == null ? doc.first + doc.size - 1: line)\n      return getContextBefore(this, line + 1, precise).state\n    },\n\n    cursorCoords: function(start, mode) {\n      var pos, range = this.doc.sel.primary()\n      if (start == null) { pos = range.head }\n      else if (typeof start == \"object\") { pos = clipPos(this.doc, start) }\n      else { pos = start ? range.from() : range.to() }\n      return cursorCoords(this, pos, mode || \"page\")\n    },\n\n    charCoords: function(pos, mode) {\n      return charCoords(this, clipPos(this.doc, pos), mode || \"page\")\n    },\n\n    coordsChar: function(coords, mode) {\n      coords = fromCoordSystem(this, coords, mode || \"page\")\n      return coordsChar(this, coords.left, coords.top)\n    },\n\n    lineAtHeight: function(height, mode) {\n      height = fromCoordSystem(this, {top: height, left: 0}, mode || \"page\").top\n      return lineAtHeight(this.doc, height + this.display.viewOffset)\n    },\n    heightAtLine: function(line, mode, includeWidgets) {\n      var end = false, lineObj\n      if (typeof line == \"number\") {\n        var last = this.doc.first + this.doc.size - 1\n        if (line < this.doc.first) { line = this.doc.first }\n        else if (line > last) { line = last; end = true }\n        lineObj = getLine(this.doc, line)\n      } else {\n        lineObj = line\n      }\n      return intoCoordSystem(this, lineObj, {top: 0, left: 0}, mode || \"page\", includeWidgets || end).top +\n        (end ? this.doc.height - heightAtLine(lineObj) : 0)\n    },\n\n    defaultTextHeight: function() { return textHeight(this.display) },\n    defaultCharWidth: function() { return charWidth(this.display) },\n\n    getViewport: function() { return {from: this.display.viewFrom, to: this.display.viewTo}},\n\n    addWidget: function(pos, node, scroll, vert, horiz) {\n      var display = this.display\n      pos = cursorCoords(this, clipPos(this.doc, pos))\n      var top = pos.bottom, left = pos.left\n      node.style.position = \"absolute\"\n      node.setAttribute(\"cm-ignore-events\", \"true\")\n      this.display.input.setUneditable(node)\n      display.sizer.appendChild(node)\n      if (vert == \"over\") {\n        top = pos.top\n      } else if (vert == \"above\" || vert == \"near\") {\n        var vspace = Math.max(display.wrapper.clientHeight, this.doc.height),\n        hspace = Math.max(display.sizer.clientWidth, display.lineSpace.clientWidth)\n        // Default to positioning above (if specified and possible); otherwise default to positioning below\n        if ((vert == 'above' || pos.bottom + node.offsetHeight > vspace) && pos.top > node.offsetHeight)\n          { top = pos.top - node.offsetHeight }\n        else if (pos.bottom + node.offsetHeight <= vspace)\n          { top = pos.bottom }\n        if (left + node.offsetWidth > hspace)\n          { left = hspace - node.offsetWidth }\n      }\n      node.style.top = top + \"px\"\n      node.style.left = node.style.right = \"\"\n      if (horiz == \"right\") {\n        left = display.sizer.clientWidth - node.offsetWidth\n        node.style.right = \"0px\"\n      } else {\n        if (horiz == \"left\") { left = 0 }\n        else if (horiz == \"middle\") { left = (display.sizer.clientWidth - node.offsetWidth) / 2 }\n        node.style.left = left + \"px\"\n      }\n      if (scroll)\n        { scrollIntoView(this, {left: left, top: top, right: left + node.offsetWidth, bottom: top + node.offsetHeight}) }\n    },\n\n    triggerOnKeyDown: methodOp(onKeyDown),\n    triggerOnKeyPress: methodOp(onKeyPress),\n    triggerOnKeyUp: onKeyUp,\n    triggerOnMouseDown: methodOp(onMouseDown),\n\n    execCommand: function(cmd) {\n      if (commands.hasOwnProperty(cmd))\n        { return commands[cmd].call(null, this) }\n    },\n\n    triggerElectric: methodOp(function(text) { triggerElectric(this, text) }),\n\n    findPosH: function(from, amount, unit, visually) {\n      var this$1 = this;\n\n      var dir = 1\n      if (amount < 0) { dir = -1; amount = -amount }\n      var cur = clipPos(this.doc, from)\n      for (var i = 0; i < amount; ++i) {\n        cur = findPosH(this$1.doc, cur, dir, unit, visually)\n        if (cur.hitSide) { break }\n      }\n      return cur\n    },\n\n    moveH: methodOp(function(dir, unit) {\n      var this$1 = this;\n\n      this.extendSelectionsBy(function (range) {\n        if (this$1.display.shift || this$1.doc.extend || range.empty())\n          { return findPosH(this$1.doc, range.head, dir, unit, this$1.options.rtlMoveVisually) }\n        else\n          { return dir < 0 ? range.from() : range.to() }\n      }, sel_move)\n    }),\n\n    deleteH: methodOp(function(dir, unit) {\n      var sel = this.doc.sel, doc = this.doc\n      if (sel.somethingSelected())\n        { doc.replaceSelection(\"\", null, \"+delete\") }\n      else\n        { deleteNearSelection(this, function (range) {\n          var other = findPosH(doc, range.head, dir, unit, false)\n          return dir < 0 ? {from: other, to: range.head} : {from: range.head, to: other}\n        }) }\n    }),\n\n    findPosV: function(from, amount, unit, goalColumn) {\n      var this$1 = this;\n\n      var dir = 1, x = goalColumn\n      if (amount < 0) { dir = -1; amount = -amount }\n      var cur = clipPos(this.doc, from)\n      for (var i = 0; i < amount; ++i) {\n        var coords = cursorCoords(this$1, cur, \"div\")\n        if (x == null) { x = coords.left }\n        else { coords.left = x }\n        cur = findPosV(this$1, coords, dir, unit)\n        if (cur.hitSide) { break }\n      }\n      return cur\n    },\n\n    moveV: methodOp(function(dir, unit) {\n      var this$1 = this;\n\n      var doc = this.doc, goals = []\n      var collapse = !this.display.shift && !doc.extend && doc.sel.somethingSelected()\n      doc.extendSelectionsBy(function (range) {\n        if (collapse)\n          { return dir < 0 ? range.from() : range.to() }\n        var headPos = cursorCoords(this$1, range.head, \"div\")\n        if (range.goalColumn != null) { headPos.left = range.goalColumn }\n        goals.push(headPos.left)\n        var pos = findPosV(this$1, headPos, dir, unit)\n        if (unit == \"page\" && range == doc.sel.primary())\n          { addToScrollTop(this$1, charCoords(this$1, pos, \"div\").top - headPos.top) }\n        return pos\n      }, sel_move)\n      if (goals.length) { for (var i = 0; i < doc.sel.ranges.length; i++)\n        { doc.sel.ranges[i].goalColumn = goals[i] } }\n    }),\n\n    // Find the word at the given position (as returned by coordsChar).\n    findWordAt: function(pos) {\n      var doc = this.doc, line = getLine(doc, pos.line).text\n      var start = pos.ch, end = pos.ch\n      if (line) {\n        var helper = this.getHelper(pos, \"wordChars\")\n        if ((pos.sticky == \"before\" || end == line.length) && start) { --start; } else { ++end }\n        var startChar = line.charAt(start)\n        var check = isWordChar(startChar, helper)\n          ? function (ch) { return isWordChar(ch, helper); }\n          : /\\s/.test(startChar) ? function (ch) { return /\\s/.test(ch); }\n          : function (ch) { return (!/\\s/.test(ch) && !isWordChar(ch)); }\n        while (start > 0 && check(line.charAt(start - 1))) { --start }\n        while (end < line.length && check(line.charAt(end))) { ++end }\n      }\n      return new Range(Pos(pos.line, start), Pos(pos.line, end))\n    },\n\n    toggleOverwrite: function(value) {\n      if (value != null && value == this.state.overwrite) { return }\n      if (this.state.overwrite = !this.state.overwrite)\n        { addClass(this.display.cursorDiv, \"CodeMirror-overwrite\") }\n      else\n        { rmClass(this.display.cursorDiv, \"CodeMirror-overwrite\") }\n\n      signal(this, \"overwriteToggle\", this, this.state.overwrite)\n    },\n    hasFocus: function() { return this.display.input.getField() == activeElt() },\n    isReadOnly: function() { return !!(this.options.readOnly || this.doc.cantEdit) },\n\n    scrollTo: methodOp(function (x, y) { scrollToCoords(this, x, y) }),\n    getScrollInfo: function() {\n      var scroller = this.display.scroller\n      return {left: scroller.scrollLeft, top: scroller.scrollTop,\n              height: scroller.scrollHeight - scrollGap(this) - this.display.barHeight,\n              width: scroller.scrollWidth - scrollGap(this) - this.display.barWidth,\n              clientHeight: displayHeight(this), clientWidth: displayWidth(this)}\n    },\n\n    scrollIntoView: methodOp(function(range, margin) {\n      if (range == null) {\n        range = {from: this.doc.sel.primary().head, to: null}\n        if (margin == null) { margin = this.options.cursorScrollMargin }\n      } else if (typeof range == \"number\") {\n        range = {from: Pos(range, 0), to: null}\n      } else if (range.from == null) {\n        range = {from: range, to: null}\n      }\n      if (!range.to) { range.to = range.from }\n      range.margin = margin || 0\n\n      if (range.from.line != null) {\n        scrollToRange(this, range)\n      } else {\n        scrollToCoordsRange(this, range.from, range.to, range.margin)\n      }\n    }),\n\n    setSize: methodOp(function(width, height) {\n      var this$1 = this;\n\n      var interpret = function (val) { return typeof val == \"number\" || /^\\d+$/.test(String(val)) ? val + \"px\" : val; }\n      if (width != null) { this.display.wrapper.style.width = interpret(width) }\n      if (height != null) { this.display.wrapper.style.height = interpret(height) }\n      if (this.options.lineWrapping) { clearLineMeasurementCache(this) }\n      var lineNo = this.display.viewFrom\n      this.doc.iter(lineNo, this.display.viewTo, function (line) {\n        if (line.widgets) { for (var i = 0; i < line.widgets.length; i++)\n          { if (line.widgets[i].noHScroll) { regLineChange(this$1, lineNo, \"widget\"); break } } }\n        ++lineNo\n      })\n      this.curOp.forceUpdate = true\n      signal(this, \"refresh\", this)\n    }),\n\n    operation: function(f){return runInOp(this, f)},\n    startOperation: function(){return startOperation(this)},\n    endOperation: function(){return endOperation(this)},\n\n    refresh: methodOp(function() {\n      var oldHeight = this.display.cachedTextHeight\n      regChange(this)\n      this.curOp.forceUpdate = true\n      clearCaches(this)\n      scrollToCoords(this, this.doc.scrollLeft, this.doc.scrollTop)\n      updateGutterSpace(this)\n      if (oldHeight == null || Math.abs(oldHeight - textHeight(this.display)) > .5)\n        { estimateLineHeights(this) }\n      signal(this, \"refresh\", this)\n    }),\n\n    swapDoc: methodOp(function(doc) {\n      var old = this.doc\n      old.cm = null\n      attachDoc(this, doc)\n      clearCaches(this)\n      this.display.input.reset()\n      scrollToCoords(this, doc.scrollLeft, doc.scrollTop)\n      this.curOp.forceScroll = true\n      signalLater(this, \"swapDoc\", this, old)\n      return old\n    }),\n\n    getInputField: function(){return this.display.input.getField()},\n    getWrapperElement: function(){return this.display.wrapper},\n    getScrollerElement: function(){return this.display.scroller},\n    getGutterElement: function(){return this.display.gutters}\n  }\n  eventMixin(CodeMirror)\n\n  CodeMirror.registerHelper = function(type, name, value) {\n    if (!helpers.hasOwnProperty(type)) { helpers[type] = CodeMirror[type] = {_global: []} }\n    helpers[type][name] = value\n  }\n  CodeMirror.registerGlobalHelper = function(type, name, predicate, value) {\n    CodeMirror.registerHelper(type, name, value)\n    helpers[type]._global.push({pred: predicate, val: value})\n  }\n}\n\n// Used for horizontal relative motion. Dir is -1 or 1 (left or\n// right), unit can be \"char\", \"column\" (like char, but doesn't\n// cross line boundaries), \"word\" (across next word), or \"group\" (to\n// the start of next group of word or non-word-non-whitespace\n// chars). The visually param controls whether, in right-to-left\n// text, direction 1 means to move towards the next index in the\n// string, or towards the character to the right of the current\n// position. The resulting position will have a hitSide=true\n// property if it reached the end of the document.\nfunction findPosH(doc, pos, dir, unit, visually) {\n  var oldPos = pos\n  var origDir = dir\n  var lineObj = getLine(doc, pos.line)\n  function findNextLine() {\n    var l = pos.line + dir\n    if (l < doc.first || l >= doc.first + doc.size) { return false }\n    pos = new Pos(l, pos.ch, pos.sticky)\n    return lineObj = getLine(doc, l)\n  }\n  function moveOnce(boundToLine) {\n    var next\n    if (visually) {\n      next = moveVisually(doc.cm, lineObj, pos, dir)\n    } else {\n      next = moveLogically(lineObj, pos, dir)\n    }\n    if (next == null) {\n      if (!boundToLine && findNextLine())\n        { pos = endOfLine(visually, doc.cm, lineObj, pos.line, dir) }\n      else\n        { return false }\n    } else {\n      pos = next\n    }\n    return true\n  }\n\n  if (unit == \"char\") {\n    moveOnce()\n  } else if (unit == \"column\") {\n    moveOnce(true)\n  } else if (unit == \"word\" || unit == \"group\") {\n    var sawType = null, group = unit == \"group\"\n    var helper = doc.cm && doc.cm.getHelper(pos, \"wordChars\")\n    for (var first = true;; first = false) {\n      if (dir < 0 && !moveOnce(!first)) { break }\n      var cur = lineObj.text.charAt(pos.ch) || \"\\n\"\n      var type = isWordChar(cur, helper) ? \"w\"\n        : group && cur == \"\\n\" ? \"n\"\n        : !group || /\\s/.test(cur) ? null\n        : \"p\"\n      if (group && !first && !type) { type = \"s\" }\n      if (sawType && sawType != type) {\n        if (dir < 0) {dir = 1; moveOnce(); pos.sticky = \"after\"}\n        break\n      }\n\n      if (type) { sawType = type }\n      if (dir > 0 && !moveOnce(!first)) { break }\n    }\n  }\n  var result = skipAtomic(doc, pos, oldPos, origDir, true)\n  if (equalCursorPos(oldPos, result)) { result.hitSide = true }\n  return result\n}\n\n// For relative vertical movement. Dir may be -1 or 1. Unit can be\n// \"page\" or \"line\". The resulting position will have a hitSide=true\n// property if it reached the end of the document.\nfunction findPosV(cm, pos, dir, unit) {\n  var doc = cm.doc, x = pos.left, y\n  if (unit == \"page\") {\n    var pageSize = Math.min(cm.display.wrapper.clientHeight, window.innerHeight || document.documentElement.clientHeight)\n    var moveAmount = Math.max(pageSize - .5 * textHeight(cm.display), 3)\n    y = (dir > 0 ? pos.bottom : pos.top) + dir * moveAmount\n\n  } else if (unit == \"line\") {\n    y = dir > 0 ? pos.bottom + 3 : pos.top - 3\n  }\n  var target\n  for (;;) {\n    target = coordsChar(cm, x, y)\n    if (!target.outside) { break }\n    if (dir < 0 ? y <= 0 : y >= doc.height) { target.hitSide = true; break }\n    y += dir * 5\n  }\n  return target\n}\n\n// CONTENTEDITABLE INPUT STYLE\n\nvar ContentEditableInput = function(cm) {\n  this.cm = cm\n  this.lastAnchorNode = this.lastAnchorOffset = this.lastFocusNode = this.lastFocusOffset = null\n  this.polling = new Delayed()\n  this.composing = null\n  this.gracePeriod = false\n  this.readDOMTimeout = null\n};\n\nContentEditableInput.prototype.init = function (display) {\n    var this$1 = this;\n\n  var input = this, cm = input.cm\n  var div = input.div = display.lineDiv\n  disableBrowserMagic(div, cm.options.spellcheck)\n\n  on(div, \"paste\", function (e) {\n    if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n    // IE doesn't fire input events, so we schedule a read for the pasted content in this way\n    if (ie_version <= 11) { setTimeout(operation(cm, function () { return this$1.updateFromDOM(); }), 20) }\n  })\n\n  on(div, \"compositionstart\", function (e) {\n    this$1.composing = {data: e.data, done: false}\n  })\n  on(div, \"compositionupdate\", function (e) {\n    if (!this$1.composing) { this$1.composing = {data: e.data, done: false} }\n  })\n  on(div, \"compositionend\", function (e) {\n    if (this$1.composing) {\n      if (e.data != this$1.composing.data) { this$1.readFromDOMSoon() }\n      this$1.composing.done = true\n    }\n  })\n\n  on(div, \"touchstart\", function () { return input.forceCompositionEnd(); })\n\n  on(div, \"input\", function () {\n    if (!this$1.composing) { this$1.readFromDOMSoon() }\n  })\n\n  function onCopyCut(e) {\n    if (signalDOMEvent(cm, e)) { return }\n    if (cm.somethingSelected()) {\n      setLastCopied({lineWise: false, text: cm.getSelections()})\n      if (e.type == \"cut\") { cm.replaceSelection(\"\", null, \"cut\") }\n    } else if (!cm.options.lineWiseCopyCut) {\n      return\n    } else {\n      var ranges = copyableRanges(cm)\n      setLastCopied({lineWise: true, text: ranges.text})\n      if (e.type == \"cut\") {\n        cm.operation(function () {\n          cm.setSelections(ranges.ranges, 0, sel_dontScroll)\n          cm.replaceSelection(\"\", null, \"cut\")\n        })\n      }\n    }\n    if (e.clipboardData) {\n      e.clipboardData.clearData()\n      var content = lastCopied.text.join(\"\\n\")\n      // iOS exposes the clipboard API, but seems to discard content inserted into it\n      e.clipboardData.setData(\"Text\", content)\n      if (e.clipboardData.getData(\"Text\") == content) {\n        e.preventDefault()\n        return\n      }\n    }\n    // Old-fashioned briefly-focus-a-textarea hack\n    var kludge = hiddenTextarea(), te = kludge.firstChild\n    cm.display.lineSpace.insertBefore(kludge, cm.display.lineSpace.firstChild)\n    te.value = lastCopied.text.join(\"\\n\")\n    var hadFocus = document.activeElement\n    selectInput(te)\n    setTimeout(function () {\n      cm.display.lineSpace.removeChild(kludge)\n      hadFocus.focus()\n      if (hadFocus == div) { input.showPrimarySelection() }\n    }, 50)\n  }\n  on(div, \"copy\", onCopyCut)\n  on(div, \"cut\", onCopyCut)\n};\n\nContentEditableInput.prototype.prepareSelection = function () {\n  var result = prepareSelection(this.cm, false)\n  result.focus = this.cm.state.focused\n  return result\n};\n\nContentEditableInput.prototype.showSelection = function (info, takeFocus) {\n  if (!info || !this.cm.display.view.length) { return }\n  if (info.focus || takeFocus) { this.showPrimarySelection() }\n  this.showMultipleSelections(info)\n};\n\nContentEditableInput.prototype.getSelection = function () {\n  return this.cm.display.wrapper.ownerDocument.getSelection()\n};\n\nContentEditableInput.prototype.showPrimarySelection = function () {\n  var sel = this.getSelection(), cm = this.cm, prim = cm.doc.sel.primary()\n  var from = prim.from(), to = prim.to()\n\n  if (cm.display.viewTo == cm.display.viewFrom || from.line >= cm.display.viewTo || to.line < cm.display.viewFrom) {\n    sel.removeAllRanges()\n    return\n  }\n\n  var curAnchor = domToPos(cm, sel.anchorNode, sel.anchorOffset)\n  var curFocus = domToPos(cm, sel.focusNode, sel.focusOffset)\n  if (curAnchor && !curAnchor.bad && curFocus && !curFocus.bad &&\n      cmp(minPos(curAnchor, curFocus), from) == 0 &&\n      cmp(maxPos(curAnchor, curFocus), to) == 0)\n    { return }\n\n  var view = cm.display.view\n  var start = (from.line >= cm.display.viewFrom && posToDOM(cm, from)) ||\n      {node: view[0].measure.map[2], offset: 0}\n  var end = to.line < cm.display.viewTo && posToDOM(cm, to)\n  if (!end) {\n    var measure = view[view.length - 1].measure\n    var map = measure.maps ? measure.maps[measure.maps.length - 1] : measure.map\n    end = {node: map[map.length - 1], offset: map[map.length - 2] - map[map.length - 3]}\n  }\n\n  if (!start || !end) {\n    sel.removeAllRanges()\n    return\n  }\n\n  var old = sel.rangeCount && sel.getRangeAt(0), rng\n  try { rng = range(start.node, start.offset, end.offset, end.node) }\n  catch(e) {} // Our model of the DOM might be outdated, in which case the range we try to set can be impossible\n  if (rng) {\n    if (!gecko && cm.state.focused) {\n      sel.collapse(start.node, start.offset)\n      if (!rng.collapsed) {\n        sel.removeAllRanges()\n        sel.addRange(rng)\n      }\n    } else {\n      sel.removeAllRanges()\n      sel.addRange(rng)\n    }\n    if (old && sel.anchorNode == null) { sel.addRange(old) }\n    else if (gecko) { this.startGracePeriod() }\n  }\n  this.rememberSelection()\n};\n\nContentEditableInput.prototype.startGracePeriod = function () {\n    var this$1 = this;\n\n  clearTimeout(this.gracePeriod)\n  this.gracePeriod = setTimeout(function () {\n    this$1.gracePeriod = false\n    if (this$1.selectionChanged())\n      { this$1.cm.operation(function () { return this$1.cm.curOp.selectionChanged = true; }) }\n  }, 20)\n};\n\nContentEditableInput.prototype.showMultipleSelections = function (info) {\n  removeChildrenAndAdd(this.cm.display.cursorDiv, info.cursors)\n  removeChildrenAndAdd(this.cm.display.selectionDiv, info.selection)\n};\n\nContentEditableInput.prototype.rememberSelection = function () {\n  var sel = this.getSelection()\n  this.lastAnchorNode = sel.anchorNode; this.lastAnchorOffset = sel.anchorOffset\n  this.lastFocusNode = sel.focusNode; this.lastFocusOffset = sel.focusOffset\n};\n\nContentEditableInput.prototype.selectionInEditor = function () {\n  var sel = this.getSelection()\n  if (!sel.rangeCount) { return false }\n  var node = sel.getRangeAt(0).commonAncestorContainer\n  return contains(this.div, node)\n};\n\nContentEditableInput.prototype.focus = function () {\n  if (this.cm.options.readOnly != \"nocursor\") {\n    if (!this.selectionInEditor())\n      { this.showSelection(this.prepareSelection(), true) }\n    this.div.focus()\n  }\n};\nContentEditableInput.prototype.blur = function () { this.div.blur() };\nContentEditableInput.prototype.getField = function () { return this.div };\n\nContentEditableInput.prototype.supportsTouch = function () { return true };\n\nContentEditableInput.prototype.receivedFocus = function () {\n  var input = this\n  if (this.selectionInEditor())\n    { this.pollSelection() }\n  else\n    { runInOp(this.cm, function () { return input.cm.curOp.selectionChanged = true; }) }\n\n  function poll() {\n    if (input.cm.state.focused) {\n      input.pollSelection()\n      input.polling.set(input.cm.options.pollInterval, poll)\n    }\n  }\n  this.polling.set(this.cm.options.pollInterval, poll)\n};\n\nContentEditableInput.prototype.selectionChanged = function () {\n  var sel = this.getSelection()\n  return sel.anchorNode != this.lastAnchorNode || sel.anchorOffset != this.lastAnchorOffset ||\n    sel.focusNode != this.lastFocusNode || sel.focusOffset != this.lastFocusOffset\n};\n\nContentEditableInput.prototype.pollSelection = function () {\n  if (this.readDOMTimeout != null || this.gracePeriod || !this.selectionChanged()) { return }\n  var sel = this.getSelection(), cm = this.cm\n  // On Android Chrome (version 56, at least), backspacing into an\n  // uneditable block element will put the cursor in that element,\n  // and then, because it's not editable, hide the virtual keyboard.\n  // Because Android doesn't allow us to actually detect backspace\n  // presses in a sane way, this code checks for when that happens\n  // and simulates a backspace press in this case.\n  if (android && chrome && this.cm.options.gutters.length && isInGutter(sel.anchorNode)) {\n    this.cm.triggerOnKeyDown({type: \"keydown\", keyCode: 8, preventDefault: Math.abs})\n    this.blur()\n    this.focus()\n    return\n  }\n  if (this.composing) { return }\n  this.rememberSelection()\n  var anchor = domToPos(cm, sel.anchorNode, sel.anchorOffset)\n  var head = domToPos(cm, sel.focusNode, sel.focusOffset)\n  if (anchor && head) { runInOp(cm, function () {\n    setSelection(cm.doc, simpleSelection(anchor, head), sel_dontScroll)\n    if (anchor.bad || head.bad) { cm.curOp.selectionChanged = true }\n  }) }\n};\n\nContentEditableInput.prototype.pollContent = function () {\n  if (this.readDOMTimeout != null) {\n    clearTimeout(this.readDOMTimeout)\n    this.readDOMTimeout = null\n  }\n\n  var cm = this.cm, display = cm.display, sel = cm.doc.sel.primary()\n  var from = sel.from(), to = sel.to()\n  if (from.ch == 0 && from.line > cm.firstLine())\n    { from = Pos(from.line - 1, getLine(cm.doc, from.line - 1).length) }\n  if (to.ch == getLine(cm.doc, to.line).text.length && to.line < cm.lastLine())\n    { to = Pos(to.line + 1, 0) }\n  if (from.line < display.viewFrom || to.line > display.viewTo - 1) { return false }\n\n  var fromIndex, fromLine, fromNode\n  if (from.line == display.viewFrom || (fromIndex = findViewIndex(cm, from.line)) == 0) {\n    fromLine = lineNo(display.view[0].line)\n    fromNode = display.view[0].node\n  } else {\n    fromLine = lineNo(display.view[fromIndex].line)\n    fromNode = display.view[fromIndex - 1].node.nextSibling\n  }\n  var toIndex = findViewIndex(cm, to.line)\n  var toLine, toNode\n  if (toIndex == display.view.length - 1) {\n    toLine = display.viewTo - 1\n    toNode = display.lineDiv.lastChild\n  } else {\n    toLine = lineNo(display.view[toIndex + 1].line) - 1\n    toNode = display.view[toIndex + 1].node.previousSibling\n  }\n\n  if (!fromNode) { return false }\n  var newText = cm.doc.splitLines(domTextBetween(cm, fromNode, toNode, fromLine, toLine))\n  var oldText = getBetween(cm.doc, Pos(fromLine, 0), Pos(toLine, getLine(cm.doc, toLine).text.length))\n  while (newText.length > 1 && oldText.length > 1) {\n    if (lst(newText) == lst(oldText)) { newText.pop(); oldText.pop(); toLine-- }\n    else if (newText[0] == oldText[0]) { newText.shift(); oldText.shift(); fromLine++ }\n    else { break }\n  }\n\n  var cutFront = 0, cutEnd = 0\n  var newTop = newText[0], oldTop = oldText[0], maxCutFront = Math.min(newTop.length, oldTop.length)\n  while (cutFront < maxCutFront && newTop.charCodeAt(cutFront) == oldTop.charCodeAt(cutFront))\n    { ++cutFront }\n  var newBot = lst(newText), oldBot = lst(oldText)\n  var maxCutEnd = Math.min(newBot.length - (newText.length == 1 ? cutFront : 0),\n                           oldBot.length - (oldText.length == 1 ? cutFront : 0))\n  while (cutEnd < maxCutEnd &&\n         newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1))\n    { ++cutEnd }\n  // Try to move start of change to start of selection if ambiguous\n  if (newText.length == 1 && oldText.length == 1 && fromLine == from.line) {\n    while (cutFront && cutFront > from.ch &&\n           newBot.charCodeAt(newBot.length - cutEnd - 1) == oldBot.charCodeAt(oldBot.length - cutEnd - 1)) {\n      cutFront--\n      cutEnd++\n    }\n  }\n\n  newText[newText.length - 1] = newBot.slice(0, newBot.length - cutEnd).replace(/^\\u200b+/, \"\")\n  newText[0] = newText[0].slice(cutFront).replace(/\\u200b+$/, \"\")\n\n  var chFrom = Pos(fromLine, cutFront)\n  var chTo = Pos(toLine, oldText.length ? lst(oldText).length - cutEnd : 0)\n  if (newText.length > 1 || newText[0] || cmp(chFrom, chTo)) {\n    replaceRange(cm.doc, newText, chFrom, chTo, \"+input\")\n    return true\n  }\n};\n\nContentEditableInput.prototype.ensurePolled = function () {\n  this.forceCompositionEnd()\n};\nContentEditableInput.prototype.reset = function () {\n  this.forceCompositionEnd()\n};\nContentEditableInput.prototype.forceCompositionEnd = function () {\n  if (!this.composing) { return }\n  clearTimeout(this.readDOMTimeout)\n  this.composing = null\n  this.updateFromDOM()\n  this.div.blur()\n  this.div.focus()\n};\nContentEditableInput.prototype.readFromDOMSoon = function () {\n    var this$1 = this;\n\n  if (this.readDOMTimeout != null) { return }\n  this.readDOMTimeout = setTimeout(function () {\n    this$1.readDOMTimeout = null\n    if (this$1.composing) {\n      if (this$1.composing.done) { this$1.composing = null }\n      else { return }\n    }\n    this$1.updateFromDOM()\n  }, 80)\n};\n\nContentEditableInput.prototype.updateFromDOM = function () {\n    var this$1 = this;\n\n  if (this.cm.isReadOnly() || !this.pollContent())\n    { runInOp(this.cm, function () { return regChange(this$1.cm); }) }\n};\n\nContentEditableInput.prototype.setUneditable = function (node) {\n  node.contentEditable = \"false\"\n};\n\nContentEditableInput.prototype.onKeyPress = function (e) {\n  if (e.charCode == 0 || this.composing) { return }\n  e.preventDefault()\n  if (!this.cm.isReadOnly())\n    { operation(this.cm, applyTextInput)(this.cm, String.fromCharCode(e.charCode == null ? e.keyCode : e.charCode), 0) }\n};\n\nContentEditableInput.prototype.readOnlyChanged = function (val) {\n  this.div.contentEditable = String(val != \"nocursor\")\n};\n\nContentEditableInput.prototype.onContextMenu = function () {};\nContentEditableInput.prototype.resetPosition = function () {};\n\nContentEditableInput.prototype.needsContentAttribute = true\n\nfunction posToDOM(cm, pos) {\n  var view = findViewForLine(cm, pos.line)\n  if (!view || view.hidden) { return null }\n  var line = getLine(cm.doc, pos.line)\n  var info = mapFromLineView(view, line, pos.line)\n\n  var order = getOrder(line, cm.doc.direction), side = \"left\"\n  if (order) {\n    var partPos = getBidiPartAt(order, pos.ch)\n    side = partPos % 2 ? \"right\" : \"left\"\n  }\n  var result = nodeAndOffsetInLineMap(info.map, pos.ch, side)\n  result.offset = result.collapse == \"right\" ? result.end : result.start\n  return result\n}\n\nfunction isInGutter(node) {\n  for (var scan = node; scan; scan = scan.parentNode)\n    { if (/CodeMirror-gutter-wrapper/.test(scan.className)) { return true } }\n  return false\n}\n\nfunction badPos(pos, bad) { if (bad) { pos.bad = true; } return pos }\n\nfunction domTextBetween(cm, from, to, fromLine, toLine) {\n  var text = \"\", closing = false, lineSep = cm.doc.lineSeparator(), extraLinebreak = false\n  function recognizeMarker(id) { return function (marker) { return marker.id == id; } }\n  function close() {\n    if (closing) {\n      text += lineSep\n      if (extraLinebreak) { text += lineSep }\n      closing = extraLinebreak = false\n    }\n  }\n  function addText(str) {\n    if (str) {\n      close()\n      text += str\n    }\n  }\n  function walk(node) {\n    if (node.nodeType == 1) {\n      var cmText = node.getAttribute(\"cm-text\")\n      if (cmText) {\n        addText(cmText)\n        return\n      }\n      var markerID = node.getAttribute(\"cm-marker\"), range\n      if (markerID) {\n        var found = cm.findMarks(Pos(fromLine, 0), Pos(toLine + 1, 0), recognizeMarker(+markerID))\n        if (found.length && (range = found[0].find(0)))\n          { addText(getBetween(cm.doc, range.from, range.to).join(lineSep)) }\n        return\n      }\n      if (node.getAttribute(\"contenteditable\") == \"false\") { return }\n      var isBlock = /^(pre|div|p|li|table|br)$/i.test(node.nodeName)\n      if (!/^br$/i.test(node.nodeName) && node.textContent.length == 0) { return }\n\n      if (isBlock) { close() }\n      for (var i = 0; i < node.childNodes.length; i++)\n        { walk(node.childNodes[i]) }\n\n      if (/^(pre|p)$/i.test(node.nodeName)) { extraLinebreak = true }\n      if (isBlock) { closing = true }\n    } else if (node.nodeType == 3) {\n      addText(node.nodeValue.replace(/\\u200b/g, \"\").replace(/\\u00a0/g, \" \"))\n    }\n  }\n  for (;;) {\n    walk(from)\n    if (from == to) { break }\n    from = from.nextSibling\n    extraLinebreak = false\n  }\n  return text\n}\n\nfunction domToPos(cm, node, offset) {\n  var lineNode\n  if (node == cm.display.lineDiv) {\n    lineNode = cm.display.lineDiv.childNodes[offset]\n    if (!lineNode) { return badPos(cm.clipPos(Pos(cm.display.viewTo - 1)), true) }\n    node = null; offset = 0\n  } else {\n    for (lineNode = node;; lineNode = lineNode.parentNode) {\n      if (!lineNode || lineNode == cm.display.lineDiv) { return null }\n      if (lineNode.parentNode && lineNode.parentNode == cm.display.lineDiv) { break }\n    }\n  }\n  for (var i = 0; i < cm.display.view.length; i++) {\n    var lineView = cm.display.view[i]\n    if (lineView.node == lineNode)\n      { return locateNodeInLineView(lineView, node, offset) }\n  }\n}\n\nfunction locateNodeInLineView(lineView, node, offset) {\n  var wrapper = lineView.text.firstChild, bad = false\n  if (!node || !contains(wrapper, node)) { return badPos(Pos(lineNo(lineView.line), 0), true) }\n  if (node == wrapper) {\n    bad = true\n    node = wrapper.childNodes[offset]\n    offset = 0\n    if (!node) {\n      var line = lineView.rest ? lst(lineView.rest) : lineView.line\n      return badPos(Pos(lineNo(line), line.text.length), bad)\n    }\n  }\n\n  var textNode = node.nodeType == 3 ? node : null, topNode = node\n  if (!textNode && node.childNodes.length == 1 && node.firstChild.nodeType == 3) {\n    textNode = node.firstChild\n    if (offset) { offset = textNode.nodeValue.length }\n  }\n  while (topNode.parentNode != wrapper) { topNode = topNode.parentNode }\n  var measure = lineView.measure, maps = measure.maps\n\n  function find(textNode, topNode, offset) {\n    for (var i = -1; i < (maps ? maps.length : 0); i++) {\n      var map = i < 0 ? measure.map : maps[i]\n      for (var j = 0; j < map.length; j += 3) {\n        var curNode = map[j + 2]\n        if (curNode == textNode || curNode == topNode) {\n          var line = lineNo(i < 0 ? lineView.line : lineView.rest[i])\n          var ch = map[j] + offset\n          if (offset < 0 || curNode != textNode) { ch = map[j + (offset ? 1 : 0)] }\n          return Pos(line, ch)\n        }\n      }\n    }\n  }\n  var found = find(textNode, topNode, offset)\n  if (found) { return badPos(found, bad) }\n\n  // FIXME this is all really shaky. might handle the few cases it needs to handle, but likely to cause problems\n  for (var after = topNode.nextSibling, dist = textNode ? textNode.nodeValue.length - offset : 0; after; after = after.nextSibling) {\n    found = find(after, after.firstChild, 0)\n    if (found)\n      { return badPos(Pos(found.line, found.ch - dist), bad) }\n    else\n      { dist += after.textContent.length }\n  }\n  for (var before = topNode.previousSibling, dist$1 = offset; before; before = before.previousSibling) {\n    found = find(before, before.firstChild, -1)\n    if (found)\n      { return badPos(Pos(found.line, found.ch + dist$1), bad) }\n    else\n      { dist$1 += before.textContent.length }\n  }\n}\n\n// TEXTAREA INPUT STYLE\n\nvar TextareaInput = function(cm) {\n  this.cm = cm\n  // See input.poll and input.reset\n  this.prevInput = \"\"\n\n  // Flag that indicates whether we expect input to appear real soon\n  // now (after some event like 'keypress' or 'input') and are\n  // polling intensively.\n  this.pollingFast = false\n  // Self-resetting timeout for the poller\n  this.polling = new Delayed()\n  // Used to work around IE issue with selection being forgotten when focus moves away from textarea\n  this.hasSelection = false\n  this.composing = null\n};\n\nTextareaInput.prototype.init = function (display) {\n    var this$1 = this;\n\n  var input = this, cm = this.cm\n  this.createField(display)\n  var te = this.textarea\n\n  display.wrapper.insertBefore(this.wrapper, display.wrapper.firstChild)\n\n  // Needed to hide big blue blinking cursor on Mobile Safari (doesn't seem to work in iOS 8 anymore)\n  if (ios) { te.style.width = \"0px\" }\n\n  on(te, \"input\", function () {\n    if (ie && ie_version >= 9 && this$1.hasSelection) { this$1.hasSelection = null }\n    input.poll()\n  })\n\n  on(te, \"paste\", function (e) {\n    if (signalDOMEvent(cm, e) || handlePaste(e, cm)) { return }\n\n    cm.state.pasteIncoming = true\n    input.fastPoll()\n  })\n\n  function prepareCopyCut(e) {\n    if (signalDOMEvent(cm, e)) { return }\n    if (cm.somethingSelected()) {\n      setLastCopied({lineWise: false, text: cm.getSelections()})\n    } else if (!cm.options.lineWiseCopyCut) {\n      return\n    } else {\n      var ranges = copyableRanges(cm)\n      setLastCopied({lineWise: true, text: ranges.text})\n      if (e.type == \"cut\") {\n        cm.setSelections(ranges.ranges, null, sel_dontScroll)\n      } else {\n        input.prevInput = \"\"\n        te.value = ranges.text.join(\"\\n\")\n        selectInput(te)\n      }\n    }\n    if (e.type == \"cut\") { cm.state.cutIncoming = true }\n  }\n  on(te, \"cut\", prepareCopyCut)\n  on(te, \"copy\", prepareCopyCut)\n\n  on(display.scroller, \"paste\", function (e) {\n    if (eventInWidget(display, e) || signalDOMEvent(cm, e)) { return }\n    cm.state.pasteIncoming = true\n    input.focus()\n  })\n\n  // Prevent normal selection in the editor (we handle our own)\n  on(display.lineSpace, \"selectstart\", function (e) {\n    if (!eventInWidget(display, e)) { e_preventDefault(e) }\n  })\n\n  on(te, \"compositionstart\", function () {\n    var start = cm.getCursor(\"from\")\n    if (input.composing) { input.composing.range.clear() }\n    input.composing = {\n      start: start,\n      range: cm.markText(start, cm.getCursor(\"to\"), {className: \"CodeMirror-composing\"})\n    }\n  })\n  on(te, \"compositionend\", function () {\n    if (input.composing) {\n      input.poll()\n      input.composing.range.clear()\n      input.composing = null\n    }\n  })\n};\n\nTextareaInput.prototype.createField = function (_display) {\n  // Wraps and hides input textarea\n  this.wrapper = hiddenTextarea()\n  // The semihidden textarea that is focused when the editor is\n  // focused, and receives input.\n  this.textarea = this.wrapper.firstChild\n};\n\nTextareaInput.prototype.prepareSelection = function () {\n  // Redraw the selection and/or cursor\n  var cm = this.cm, display = cm.display, doc = cm.doc\n  var result = prepareSelection(cm)\n\n  // Move the hidden textarea near the cursor to prevent scrolling artifacts\n  if (cm.options.moveInputWithCursor) {\n    var headPos = cursorCoords(cm, doc.sel.primary().head, \"div\")\n    var wrapOff = display.wrapper.getBoundingClientRect(), lineOff = display.lineDiv.getBoundingClientRect()\n    result.teTop = Math.max(0, Math.min(display.wrapper.clientHeight - 10,\n                                        headPos.top + lineOff.top - wrapOff.top))\n    result.teLeft = Math.max(0, Math.min(display.wrapper.clientWidth - 10,\n                                         headPos.left + lineOff.left - wrapOff.left))\n  }\n\n  return result\n};\n\nTextareaInput.prototype.showSelection = function (drawn) {\n  var cm = this.cm, display = cm.display\n  removeChildrenAndAdd(display.cursorDiv, drawn.cursors)\n  removeChildrenAndAdd(display.selectionDiv, drawn.selection)\n  if (drawn.teTop != null) {\n    this.wrapper.style.top = drawn.teTop + \"px\"\n    this.wrapper.style.left = drawn.teLeft + \"px\"\n  }\n};\n\n// Reset the input to correspond to the selection (or to be empty,\n// when not typing and nothing is selected)\nTextareaInput.prototype.reset = function (typing) {\n  if (this.contextMenuPending || this.composing) { return }\n  var cm = this.cm\n  if (cm.somethingSelected()) {\n    this.prevInput = \"\"\n    var content = cm.getSelection()\n    this.textarea.value = content\n    if (cm.state.focused) { selectInput(this.textarea) }\n    if (ie && ie_version >= 9) { this.hasSelection = content }\n  } else if (!typing) {\n    this.prevInput = this.textarea.value = \"\"\n    if (ie && ie_version >= 9) { this.hasSelection = null }\n  }\n};\n\nTextareaInput.prototype.getField = function () { return this.textarea };\n\nTextareaInput.prototype.supportsTouch = function () { return false };\n\nTextareaInput.prototype.focus = function () {\n  if (this.cm.options.readOnly != \"nocursor\" && (!mobile || activeElt() != this.textarea)) {\n    try { this.textarea.focus() }\n    catch (e) {} // IE8 will throw if the textarea is display: none or not in DOM\n  }\n};\n\nTextareaInput.prototype.blur = function () { this.textarea.blur() };\n\nTextareaInput.prototype.resetPosition = function () {\n  this.wrapper.style.top = this.wrapper.style.left = 0\n};\n\nTextareaInput.prototype.receivedFocus = function () { this.slowPoll() };\n\n// Poll for input changes, using the normal rate of polling. This\n// runs as long as the editor is focused.\nTextareaInput.prototype.slowPoll = function () {\n    var this$1 = this;\n\n  if (this.pollingFast) { return }\n  this.polling.set(this.cm.options.pollInterval, function () {\n    this$1.poll()\n    if (this$1.cm.state.focused) { this$1.slowPoll() }\n  })\n};\n\n// When an event has just come in that is likely to add or change\n// something in the input textarea, we poll faster, to ensure that\n// the change appears on the screen quickly.\nTextareaInput.prototype.fastPoll = function () {\n  var missed = false, input = this\n  input.pollingFast = true\n  function p() {\n    var changed = input.poll()\n    if (!changed && !missed) {missed = true; input.polling.set(60, p)}\n    else {input.pollingFast = false; input.slowPoll()}\n  }\n  input.polling.set(20, p)\n};\n\n// Read input from the textarea, and update the document to match.\n// When something is selected, it is present in the textarea, and\n// selected (unless it is huge, in which case a placeholder is\n// used). When nothing is selected, the cursor sits after previously\n// seen text (can be empty), which is stored in prevInput (we must\n// not reset the textarea when typing, because that breaks IME).\nTextareaInput.prototype.poll = function () {\n    var this$1 = this;\n\n  var cm = this.cm, input = this.textarea, prevInput = this.prevInput\n  // Since this is called a *lot*, try to bail out as cheaply as\n  // possible when it is clear that nothing happened. hasSelection\n  // will be the case when there is a lot of text in the textarea,\n  // in which case reading its value would be expensive.\n  if (this.contextMenuPending || !cm.state.focused ||\n      (hasSelection(input) && !prevInput && !this.composing) ||\n      cm.isReadOnly() || cm.options.disableInput || cm.state.keySeq)\n    { return false }\n\n  var text = input.value\n  // If nothing changed, bail.\n  if (text == prevInput && !cm.somethingSelected()) { return false }\n  // Work around nonsensical selection resetting in IE9/10, and\n  // inexplicable appearance of private area unicode characters on\n  // some key combos in Mac (#2689).\n  if (ie && ie_version >= 9 && this.hasSelection === text ||\n      mac && /[\\uf700-\\uf7ff]/.test(text)) {\n    cm.display.input.reset()\n    return false\n  }\n\n  if (cm.doc.sel == cm.display.selForContextMenu) {\n    var first = text.charCodeAt(0)\n    if (first == 0x200b && !prevInput) { prevInput = \"\\u200b\" }\n    if (first == 0x21da) { this.reset(); return this.cm.execCommand(\"undo\") }\n  }\n  // Find the part of the input that is actually new\n  var same = 0, l = Math.min(prevInput.length, text.length)\n  while (same < l && prevInput.charCodeAt(same) == text.charCodeAt(same)) { ++same }\n\n  runInOp(cm, function () {\n    applyTextInput(cm, text.slice(same), prevInput.length - same,\n                   null, this$1.composing ? \"*compose\" : null)\n\n    // Don't leave long text in the textarea, since it makes further polling slow\n    if (text.length > 1000 || text.indexOf(\"\\n\") > -1) { input.value = this$1.prevInput = \"\" }\n    else { this$1.prevInput = text }\n\n    if (this$1.composing) {\n      this$1.composing.range.clear()\n      this$1.composing.range = cm.markText(this$1.composing.start, cm.getCursor(\"to\"),\n                                         {className: \"CodeMirror-composing\"})\n    }\n  })\n  return true\n};\n\nTextareaInput.prototype.ensurePolled = function () {\n  if (this.pollingFast && this.poll()) { this.pollingFast = false }\n};\n\nTextareaInput.prototype.onKeyPress = function () {\n  if (ie && ie_version >= 9) { this.hasSelection = null }\n  this.fastPoll()\n};\n\nTextareaInput.prototype.onContextMenu = function (e) {\n  var input = this, cm = input.cm, display = cm.display, te = input.textarea\n  var pos = posFromMouse(cm, e), scrollPos = display.scroller.scrollTop\n  if (!pos || presto) { return } // Opera is difficult.\n\n  // Reset the current text selection only if the click is done outside of the selection\n  // and 'resetSelectionOnContextMenu' option is true.\n  var reset = cm.options.resetSelectionOnContextMenu\n  if (reset && cm.doc.sel.contains(pos) == -1)\n    { operation(cm, setSelection)(cm.doc, simpleSelection(pos), sel_dontScroll) }\n\n  var oldCSS = te.style.cssText, oldWrapperCSS = input.wrapper.style.cssText\n  input.wrapper.style.cssText = \"position: absolute\"\n  var wrapperBox = input.wrapper.getBoundingClientRect()\n  te.style.cssText = \"position: absolute; width: 30px; height: 30px;\\n      top: \" + (e.clientY - wrapperBox.top - 5) + \"px; left: \" + (e.clientX - wrapperBox.left - 5) + \"px;\\n      z-index: 1000; background: \" + (ie ? \"rgba(255, 255, 255, .05)\" : \"transparent\") + \";\\n      outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);\"\n  var oldScrollY\n  if (webkit) { oldScrollY = window.scrollY } // Work around Chrome issue (#2712)\n  display.input.focus()\n  if (webkit) { window.scrollTo(null, oldScrollY) }\n  display.input.reset()\n  // Adds \"Select all\" to context menu in FF\n  if (!cm.somethingSelected()) { te.value = input.prevInput = \" \" }\n  input.contextMenuPending = true\n  display.selForContextMenu = cm.doc.sel\n  clearTimeout(display.detectingSelectAll)\n\n  // Select-all will be greyed out if there's nothing to select, so\n  // this adds a zero-width space so that we can later check whether\n  // it got selected.\n  function prepareSelectAllHack() {\n    if (te.selectionStart != null) {\n      var selected = cm.somethingSelected()\n      var extval = \"\\u200b\" + (selected ? te.value : \"\")\n      te.value = \"\\u21da\" // Used to catch context-menu undo\n      te.value = extval\n      input.prevInput = selected ? \"\" : \"\\u200b\"\n      te.selectionStart = 1; te.selectionEnd = extval.length\n      // Re-set this, in case some other handler touched the\n      // selection in the meantime.\n      display.selForContextMenu = cm.doc.sel\n    }\n  }\n  function rehide() {\n    input.contextMenuPending = false\n    input.wrapper.style.cssText = oldWrapperCSS\n    te.style.cssText = oldCSS\n    if (ie && ie_version < 9) { display.scrollbars.setScrollTop(display.scroller.scrollTop = scrollPos) }\n\n    // Try to detect the user choosing select-all\n    if (te.selectionStart != null) {\n      if (!ie || (ie && ie_version < 9)) { prepareSelectAllHack() }\n      var i = 0, poll = function () {\n        if (display.selForContextMenu == cm.doc.sel && te.selectionStart == 0 &&\n            te.selectionEnd > 0 && input.prevInput == \"\\u200b\") {\n          operation(cm, selectAll)(cm)\n        } else if (i++ < 10) {\n          display.detectingSelectAll = setTimeout(poll, 500)\n        } else {\n          display.selForContextMenu = null\n          display.input.reset()\n        }\n      }\n      display.detectingSelectAll = setTimeout(poll, 200)\n    }\n  }\n\n  if (ie && ie_version >= 9) { prepareSelectAllHack() }\n  if (captureRightClick) {\n    e_stop(e)\n    var mouseup = function () {\n      off(window, \"mouseup\", mouseup)\n      setTimeout(rehide, 20)\n    }\n    on(window, \"mouseup\", mouseup)\n  } else {\n    setTimeout(rehide, 50)\n  }\n};\n\nTextareaInput.prototype.readOnlyChanged = function (val) {\n  if (!val) { this.reset() }\n  this.textarea.disabled = val == \"nocursor\"\n};\n\nTextareaInput.prototype.setUneditable = function () {};\n\nTextareaInput.prototype.needsContentAttribute = false\n\nfunction fromTextArea(textarea, options) {\n  options = options ? copyObj(options) : {}\n  options.value = textarea.value\n  if (!options.tabindex && textarea.tabIndex)\n    { options.tabindex = textarea.tabIndex }\n  if (!options.placeholder && textarea.placeholder)\n    { options.placeholder = textarea.placeholder }\n  // Set autofocus to true if this textarea is focused, or if it has\n  // autofocus and no other element is focused.\n  if (options.autofocus == null) {\n    var hasFocus = activeElt()\n    options.autofocus = hasFocus == textarea ||\n      textarea.getAttribute(\"autofocus\") != null && hasFocus == document.body\n  }\n\n  function save() {textarea.value = cm.getValue()}\n\n  var realSubmit\n  if (textarea.form) {\n    on(textarea.form, \"submit\", save)\n    // Deplorable hack to make the submit method do the right thing.\n    if (!options.leaveSubmitMethodAlone) {\n      var form = textarea.form\n      realSubmit = form.submit\n      try {\n        var wrappedSubmit = form.submit = function () {\n          save()\n          form.submit = realSubmit\n          form.submit()\n          form.submit = wrappedSubmit\n        }\n      } catch(e) {}\n    }\n  }\n\n  options.finishInit = function (cm) {\n    cm.save = save\n    cm.getTextArea = function () { return textarea; }\n    cm.toTextArea = function () {\n      cm.toTextArea = isNaN // Prevent this from being ran twice\n      save()\n      textarea.parentNode.removeChild(cm.getWrapperElement())\n      textarea.style.display = \"\"\n      if (textarea.form) {\n        off(textarea.form, \"submit\", save)\n        if (typeof textarea.form.submit == \"function\")\n          { textarea.form.submit = realSubmit }\n      }\n    }\n  }\n\n  textarea.style.display = \"none\"\n  var cm = CodeMirror(function (node) { return textarea.parentNode.insertBefore(node, textarea.nextSibling); },\n    options)\n  return cm\n}\n\nfunction addLegacyProps(CodeMirror) {\n  CodeMirror.off = off\n  CodeMirror.on = on\n  CodeMirror.wheelEventPixels = wheelEventPixels\n  CodeMirror.Doc = Doc\n  CodeMirror.splitLines = splitLinesAuto\n  CodeMirror.countColumn = countColumn\n  CodeMirror.findColumn = findColumn\n  CodeMirror.isWordChar = isWordCharBasic\n  CodeMirror.Pass = Pass\n  CodeMirror.signal = signal\n  CodeMirror.Line = Line\n  CodeMirror.changeEnd = changeEnd\n  CodeMirror.scrollbarModel = scrollbarModel\n  CodeMirror.Pos = Pos\n  CodeMirror.cmpPos = cmp\n  CodeMirror.modes = modes\n  CodeMirror.mimeModes = mimeModes\n  CodeMirror.resolveMode = resolveMode\n  CodeMirror.getMode = getMode\n  CodeMirror.modeExtensions = modeExtensions\n  CodeMirror.extendMode = extendMode\n  CodeMirror.copyState = copyState\n  CodeMirror.startState = startState\n  CodeMirror.innerMode = innerMode\n  CodeMirror.commands = commands\n  CodeMirror.keyMap = keyMap\n  CodeMirror.keyName = keyName\n  CodeMirror.isModifierKey = isModifierKey\n  CodeMirror.lookupKey = lookupKey\n  CodeMirror.normalizeKeyMap = normalizeKeyMap\n  CodeMirror.StringStream = StringStream\n  CodeMirror.SharedTextMarker = SharedTextMarker\n  CodeMirror.TextMarker = TextMarker\n  CodeMirror.LineWidget = LineWidget\n  CodeMirror.e_preventDefault = e_preventDefault\n  CodeMirror.e_stopPropagation = e_stopPropagation\n  CodeMirror.e_stop = e_stop\n  CodeMirror.addClass = addClass\n  CodeMirror.contains = contains\n  CodeMirror.rmClass = rmClass\n  CodeMirror.keyNames = keyNames\n}\n\n// EDITOR CONSTRUCTOR\n\ndefineOptions(CodeMirror)\n\naddEditorMethods(CodeMirror)\n\n// Set up methods on CodeMirror's prototype to redirect to the editor's document.\nvar dontDelegate = \"iter insert remove copy getEditor constructor\".split(\" \")\nfor (var prop in Doc.prototype) { if (Doc.prototype.hasOwnProperty(prop) && indexOf(dontDelegate, prop) < 0)\n  { CodeMirror.prototype[prop] = (function(method) {\n    return function() {return method.apply(this.doc, arguments)}\n  })(Doc.prototype[prop]) } }\n\neventMixin(Doc)\n\n// INPUT HANDLING\n\nCodeMirror.inputStyles = {\"textarea\": TextareaInput, \"contenteditable\": ContentEditableInput}\n\n// MODE DEFINITION AND QUERYING\n\n// Extra arguments are stored as the mode's dependencies, which is\n// used by (legacy) mechanisms like loadmode.js to automatically\n// load a mode. (Preferred mechanism is the require/define calls.)\nCodeMirror.defineMode = function(name/*, mode, …*/) {\n  if (!CodeMirror.defaults.mode && name != \"null\") { CodeMirror.defaults.mode = name }\n  defineMode.apply(this, arguments)\n}\n\nCodeMirror.defineMIME = defineMIME\n\n// Minimal default mode.\nCodeMirror.defineMode(\"null\", function () { return ({token: function (stream) { return stream.skipToEnd(); }}); })\nCodeMirror.defineMIME(\"text/plain\", \"null\")\n\n// EXTENSIONS\n\nCodeMirror.defineExtension = function (name, func) {\n  CodeMirror.prototype[name] = func\n}\nCodeMirror.defineDocExtension = function (name, func) {\n  Doc.prototype[name] = func\n}\n\nCodeMirror.fromTextArea = fromTextArea\n\naddLegacyProps(CodeMirror)\n\nCodeMirror.version = \"5.39.2\"\n\nreturn CodeMirror;\n\n})));"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/css/css.js",
    "content": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"css\", function(config, parserConfig) {\n  var inline = parserConfig.inline\n  if (!parserConfig.propertyKeywords) parserConfig = CodeMirror.resolveMode(\"text/css\");\n\n  var indentUnit = config.indentUnit,\n      tokenHooks = parserConfig.tokenHooks,\n      documentTypes = parserConfig.documentTypes || {},\n      mediaTypes = parserConfig.mediaTypes || {},\n      mediaFeatures = parserConfig.mediaFeatures || {},\n      mediaValueKeywords = parserConfig.mediaValueKeywords || {},\n      propertyKeywords = parserConfig.propertyKeywords || {},\n      nonStandardPropertyKeywords = parserConfig.nonStandardPropertyKeywords || {},\n      fontProperties = parserConfig.fontProperties || {},\n      counterDescriptors = parserConfig.counterDescriptors || {},\n      colorKeywords = parserConfig.colorKeywords || {},\n      valueKeywords = parserConfig.valueKeywords || {},\n      allowNested = parserConfig.allowNested,\n      lineComment = parserConfig.lineComment,\n      supportsAtComponent = parserConfig.supportsAtComponent === true;\n\n  var type, override;\n  function ret(style, tp) { type = tp; return style; }\n\n  // Tokenizers\n\n  function tokenBase(stream, state) {\n    var ch = stream.next();\n    if (tokenHooks[ch]) {\n      var result = tokenHooks[ch](stream, state);\n      if (result !== false) return result;\n    }\n    if (ch == \"@\") {\n      stream.eatWhile(/[\\w\\\\\\-]/);\n      return ret(\"def\", stream.current());\n    } else if (ch == \"=\" || (ch == \"~\" || ch == \"|\") && stream.eat(\"=\")) {\n      return ret(null, \"compare\");\n    } else if (ch == \"\\\"\" || ch == \"'\") {\n      state.tokenize = tokenString(ch);\n      return state.tokenize(stream, state);\n    } else if (ch == \"#\") {\n      stream.eatWhile(/[\\w\\\\\\-]/);\n      return ret(\"atom\", \"hash\");\n    } else if (ch == \"!\") {\n      stream.match(/^\\s*\\w*/);\n      return ret(\"keyword\", \"important\");\n    } else if (/\\d/.test(ch) || ch == \".\" && stream.eat(/\\d/)) {\n      stream.eatWhile(/[\\w.%]/);\n      return ret(\"number\", \"unit\");\n    } else if (ch === \"-\") {\n      if (/[\\d.]/.test(stream.peek())) {\n        stream.eatWhile(/[\\w.%]/);\n        return ret(\"number\", \"unit\");\n      } else if (stream.match(/^-[\\w\\\\\\-]+/)) {\n        stream.eatWhile(/[\\w\\\\\\-]/);\n        if (stream.match(/^\\s*:/, false))\n          return ret(\"variable-2\", \"variable-definition\");\n        return ret(\"variable-2\", \"variable\");\n      } else if (stream.match(/^\\w+-/)) {\n        return ret(\"meta\", \"meta\");\n      }\n    } else if (/[,+>*\\/]/.test(ch)) {\n      return ret(null, \"select-op\");\n    } else if (ch == \".\" && stream.match(/^-?[_a-z][_a-z0-9-]*/i)) {\n      return ret(\"qualifier\", \"qualifier\");\n    } else if (/[:;{}\\[\\]\\(\\)]/.test(ch)) {\n      return ret(null, ch);\n    } else if (((ch == \"u\" || ch == \"U\") && stream.match(/rl(-prefix)?\\(/i)) ||\n               ((ch == \"d\" || ch == \"D\") && stream.match(\"omain(\", true, true)) ||\n               ((ch == \"r\" || ch == \"R\") && stream.match(\"egexp(\", true, true))) {\n      stream.backUp(1);\n      state.tokenize = tokenParenthesized;\n      return ret(\"property\", \"word\");\n    } else if (/[\\w\\\\\\-]/.test(ch)) {\n      stream.eatWhile(/[\\w\\\\\\-]/);\n      return ret(\"property\", \"word\");\n    } else {\n      return ret(null, null);\n    }\n  }\n\n  function tokenString(quote) {\n    return function(stream, state) {\n      var escaped = false, ch;\n      while ((ch = stream.next()) != null) {\n        if (ch == quote && !escaped) {\n          if (quote == \")\") stream.backUp(1);\n          break;\n        }\n        escaped = !escaped && ch == \"\\\\\";\n      }\n      if (ch == quote || !escaped && quote != \")\") state.tokenize = null;\n      return ret(\"string\", \"string\");\n    };\n  }\n\n  function tokenParenthesized(stream, state) {\n    stream.next(); // Must be '('\n    if (!stream.match(/\\s*[\\\"\\')]/, false))\n      state.tokenize = tokenString(\")\");\n    else\n      state.tokenize = null;\n    return ret(null, \"(\");\n  }\n\n  // Context management\n\n  function Context(type, indent, prev) {\n    this.type = type;\n    this.indent = indent;\n    this.prev = prev;\n  }\n\n  function pushContext(state, stream, type, indent) {\n    state.context = new Context(type, stream.indentation() + (indent === false ? 0 : indentUnit), state.context);\n    return type;\n  }\n\n  function popContext(state) {\n    if (state.context.prev)\n      state.context = state.context.prev;\n    return state.context.type;\n  }\n\n  function pass(type, stream, state) {\n    return states[state.context.type](type, stream, state);\n  }\n  function popAndPass(type, stream, state, n) {\n    for (var i = n || 1; i > 0; i--)\n      state.context = state.context.prev;\n    return pass(type, stream, state);\n  }\n\n  // Parser\n\n  function wordAsValue(stream) {\n    var word = stream.current().toLowerCase();\n    if (valueKeywords.hasOwnProperty(word))\n      override = \"atom\";\n    else if (colorKeywords.hasOwnProperty(word))\n      override = \"keyword\";\n    else\n      override = \"variable\";\n  }\n\n  var states = {};\n\n  states.top = function(type, stream, state) {\n    if (type == \"{\") {\n      return pushContext(state, stream, \"block\");\n    } else if (type == \"}\" && state.context.prev) {\n      return popContext(state);\n    } else if (supportsAtComponent && /@component/i.test(type)) {\n      return pushContext(state, stream, \"atComponentBlock\");\n    } else if (/^@(-moz-)?document$/i.test(type)) {\n      return pushContext(state, stream, \"documentTypes\");\n    } else if (/^@(media|supports|(-moz-)?document|import)$/i.test(type)) {\n      return pushContext(state, stream, \"atBlock\");\n    } else if (/^@(font-face|counter-style)/i.test(type)) {\n      state.stateArg = type;\n      return \"restricted_atBlock_before\";\n    } else if (/^@(-(moz|ms|o|webkit)-)?keyframes$/i.test(type)) {\n      return \"keyframes\";\n    } else if (type && type.charAt(0) == \"@\") {\n      return pushContext(state, stream, \"at\");\n    } else if (type == \"hash\") {\n      override = \"builtin\";\n    } else if (type == \"word\") {\n      override = \"tag\";\n    } else if (type == \"variable-definition\") {\n      return \"maybeprop\";\n    } else if (type == \"interpolation\") {\n      return pushContext(state, stream, \"interpolation\");\n    } else if (type == \":\") {\n      return \"pseudo\";\n    } else if (allowNested && type == \"(\") {\n      return pushContext(state, stream, \"parens\");\n    }\n    return state.context.type;\n  };\n\n  states.block = function(type, stream, state) {\n    if (type == \"word\") {\n      var word = stream.current().toLowerCase();\n      if (propertyKeywords.hasOwnProperty(word)) {\n        override = \"property\";\n        return \"maybeprop\";\n      } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) {\n        override = \"string-2\";\n        return \"maybeprop\";\n      } else if (allowNested) {\n        override = stream.match(/^\\s*:(?:\\s|$)/, false) ? \"property\" : \"tag\";\n        return \"block\";\n      } else {\n        override += \" error\";\n        return \"maybeprop\";\n      }\n    } else if (type == \"meta\") {\n      return \"block\";\n    } else if (!allowNested && (type == \"hash\" || type == \"qualifier\")) {\n      override = \"error\";\n      return \"block\";\n    } else {\n      return states.top(type, stream, state);\n    }\n  };\n\n  states.maybeprop = function(type, stream, state) {\n    if (type == \":\") return pushContext(state, stream, \"prop\");\n    return pass(type, stream, state);\n  };\n\n  states.prop = function(type, stream, state) {\n    if (type == \";\") return popContext(state);\n    if (type == \"{\" && allowNested) return pushContext(state, stream, \"propBlock\");\n    if (type == \"}\" || type == \"{\") return popAndPass(type, stream, state);\n    if (type == \"(\") return pushContext(state, stream, \"parens\");\n\n    if (type == \"hash\" && !/^#([0-9a-fA-f]{3,4}|[0-9a-fA-f]{6}|[0-9a-fA-f]{8})$/.test(stream.current())) {\n      override += \" error\";\n    } else if (type == \"word\") {\n      wordAsValue(stream);\n    } else if (type == \"interpolation\") {\n      return pushContext(state, stream, \"interpolation\");\n    }\n    return \"prop\";\n  };\n\n  states.propBlock = function(type, _stream, state) {\n    if (type == \"}\") return popContext(state);\n    if (type == \"word\") { override = \"property\"; return \"maybeprop\"; }\n    return state.context.type;\n  };\n\n  states.parens = function(type, stream, state) {\n    if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n    if (type == \")\") return popContext(state);\n    if (type == \"(\") return pushContext(state, stream, \"parens\");\n    if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n    if (type == \"word\") wordAsValue(stream);\n    return \"parens\";\n  };\n\n  states.pseudo = function(type, stream, state) {\n    if (type == \"meta\") return \"pseudo\";\n\n    if (type == \"word\") {\n      override = \"variable-3\";\n      return state.context.type;\n    }\n    return pass(type, stream, state);\n  };\n\n  states.documentTypes = function(type, stream, state) {\n    if (type == \"word\" && documentTypes.hasOwnProperty(stream.current())) {\n      override = \"tag\";\n      return state.context.type;\n    } else {\n      return states.atBlock(type, stream, state);\n    }\n  };\n\n  states.atBlock = function(type, stream, state) {\n    if (type == \"(\") return pushContext(state, stream, \"atBlock_parens\");\n    if (type == \"}\" || type == \";\") return popAndPass(type, stream, state);\n    if (type == \"{\") return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\");\n\n    if (type == \"interpolation\") return pushContext(state, stream, \"interpolation\");\n\n    if (type == \"word\") {\n      var word = stream.current().toLowerCase();\n      if (word == \"only\" || word == \"not\" || word == \"and\" || word == \"or\")\n        override = \"keyword\";\n      else if (mediaTypes.hasOwnProperty(word))\n        override = \"attribute\";\n      else if (mediaFeatures.hasOwnProperty(word))\n        override = \"property\";\n      else if (mediaValueKeywords.hasOwnProperty(word))\n        override = \"keyword\";\n      else if (propertyKeywords.hasOwnProperty(word))\n        override = \"property\";\n      else if (nonStandardPropertyKeywords.hasOwnProperty(word))\n        override = \"string-2\";\n      else if (valueKeywords.hasOwnProperty(word))\n        override = \"atom\";\n      else if (colorKeywords.hasOwnProperty(word))\n        override = \"keyword\";\n      else\n        override = \"error\";\n    }\n    return state.context.type;\n  };\n\n  states.atComponentBlock = function(type, stream, state) {\n    if (type == \"}\")\n      return popAndPass(type, stream, state);\n    if (type == \"{\")\n      return popContext(state) && pushContext(state, stream, allowNested ? \"block\" : \"top\", false);\n    if (type == \"word\")\n      override = \"error\";\n    return state.context.type;\n  };\n\n  states.atBlock_parens = function(type, stream, state) {\n    if (type == \")\") return popContext(state);\n    if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state, 2);\n    return states.atBlock(type, stream, state);\n  };\n\n  states.restricted_atBlock_before = function(type, stream, state) {\n    if (type == \"{\")\n      return pushContext(state, stream, \"restricted_atBlock\");\n    if (type == \"word\" && state.stateArg == \"@counter-style\") {\n      override = \"variable\";\n      return \"restricted_atBlock_before\";\n    }\n    return pass(type, stream, state);\n  };\n\n  states.restricted_atBlock = function(type, stream, state) {\n    if (type == \"}\") {\n      state.stateArg = null;\n      return popContext(state);\n    }\n    if (type == \"word\") {\n      if ((state.stateArg == \"@font-face\" && !fontProperties.hasOwnProperty(stream.current().toLowerCase())) ||\n          (state.stateArg == \"@counter-style\" && !counterDescriptors.hasOwnProperty(stream.current().toLowerCase())))\n        override = \"error\";\n      else\n        override = \"property\";\n      return \"maybeprop\";\n    }\n    return \"restricted_atBlock\";\n  };\n\n  states.keyframes = function(type, stream, state) {\n    if (type == \"word\") { override = \"variable\"; return \"keyframes\"; }\n    if (type == \"{\") return pushContext(state, stream, \"top\");\n    return pass(type, stream, state);\n  };\n\n  states.at = function(type, stream, state) {\n    if (type == \";\") return popContext(state);\n    if (type == \"{\" || type == \"}\") return popAndPass(type, stream, state);\n    if (type == \"word\") override = \"tag\";\n    else if (type == \"hash\") override = \"builtin\";\n    return \"at\";\n  };\n\n  states.interpolation = function(type, stream, state) {\n    if (type == \"}\") return popContext(state);\n    if (type == \"{\" || type == \";\") return popAndPass(type, stream, state);\n    if (type == \"word\") override = \"variable\";\n    else if (type != \"variable\" && type != \"(\" && type != \")\") override = \"error\";\n    return \"interpolation\";\n  };\n\n  return {\n    startState: function(base) {\n      return {tokenize: null,\n              state: inline ? \"block\" : \"top\",\n              stateArg: null,\n              context: new Context(inline ? \"block\" : \"top\", base || 0, null)};\n    },\n\n    token: function(stream, state) {\n      if (!state.tokenize && stream.eatSpace()) return null;\n      var style = (state.tokenize || tokenBase)(stream, state);\n      if (style && typeof style == \"object\") {\n        type = style[1];\n        style = style[0];\n      }\n      override = style;\n      if (type != \"comment\")\n        state.state = states[state.state](type, stream, state);\n      return override;\n    },\n\n    indent: function(state, textAfter) {\n      var cx = state.context, ch = textAfter && textAfter.charAt(0);\n      var indent = cx.indent;\n      if (cx.type == \"prop\" && (ch == \"}\" || ch == \")\")) cx = cx.prev;\n      if (cx.prev) {\n        if (ch == \"}\" && (cx.type == \"block\" || cx.type == \"top\" ||\n                          cx.type == \"interpolation\" || cx.type == \"restricted_atBlock\")) {\n          // Resume indentation from parent context.\n          cx = cx.prev;\n          indent = cx.indent;\n        } else if (ch == \")\" && (cx.type == \"parens\" || cx.type == \"atBlock_parens\") ||\n            ch == \"{\" && (cx.type == \"at\" || cx.type == \"atBlock\")) {\n          // Dedent relative to current context.\n          indent = Math.max(0, cx.indent - indentUnit);\n        }\n      }\n      return indent;\n    },\n\n    electricChars: \"}\",\n    blockCommentStart: \"/*\",\n    blockCommentEnd: \"*/\",\n    blockCommentContinue: \" * \",\n    lineComment: lineComment,\n    fold: \"brace\"\n  };\n});\n\n  function keySet(array) {\n    var keys = {};\n    for (var i = 0; i < array.length; ++i) {\n      keys[array[i].toLowerCase()] = true;\n    }\n    return keys;\n  }\n\n  var documentTypes_ = [\n    \"domain\", \"regexp\", \"url\", \"url-prefix\"\n  ], documentTypes = keySet(documentTypes_);\n\n  var mediaTypes_ = [\n    \"all\", \"aural\", \"braille\", \"handheld\", \"print\", \"projection\", \"screen\",\n    \"tty\", \"tv\", \"embossed\"\n  ], mediaTypes = keySet(mediaTypes_);\n\n  var mediaFeatures_ = [\n    \"width\", \"min-width\", \"max-width\", \"height\", \"min-height\", \"max-height\",\n    \"device-width\", \"min-device-width\", \"max-device-width\", \"device-height\",\n    \"min-device-height\", \"max-device-height\", \"aspect-ratio\",\n    \"min-aspect-ratio\", \"max-aspect-ratio\", \"device-aspect-ratio\",\n    \"min-device-aspect-ratio\", \"max-device-aspect-ratio\", \"color\", \"min-color\",\n    \"max-color\", \"color-index\", \"min-color-index\", \"max-color-index\",\n    \"monochrome\", \"min-monochrome\", \"max-monochrome\", \"resolution\",\n    \"min-resolution\", \"max-resolution\", \"scan\", \"grid\", \"orientation\",\n    \"device-pixel-ratio\", \"min-device-pixel-ratio\", \"max-device-pixel-ratio\",\n    \"pointer\", \"any-pointer\", \"hover\", \"any-hover\"\n  ], mediaFeatures = keySet(mediaFeatures_);\n\n  var mediaValueKeywords_ = [\n    \"landscape\", \"portrait\", \"none\", \"coarse\", \"fine\", \"on-demand\", \"hover\",\n    \"interlace\", \"progressive\"\n  ], mediaValueKeywords = keySet(mediaValueKeywords_);\n\n  var propertyKeywords_ = [\n    \"align-content\", \"align-items\", \"align-self\", \"alignment-adjust\",\n    \"alignment-baseline\", \"anchor-point\", \"animation\", \"animation-delay\",\n    \"animation-direction\", \"animation-duration\", \"animation-fill-mode\",\n    \"animation-iteration-count\", \"animation-name\", \"animation-play-state\",\n    \"animation-timing-function\", \"appearance\", \"azimuth\", \"backface-visibility\",\n    \"background\", \"background-attachment\", \"background-blend-mode\", \"background-clip\",\n    \"background-color\", \"background-image\", \"background-origin\", \"background-position\",\n    \"background-repeat\", \"background-size\", \"baseline-shift\", \"binding\",\n    \"bleed\", \"bookmark-label\", \"bookmark-level\", \"bookmark-state\",\n    \"bookmark-target\", \"border\", \"border-bottom\", \"border-bottom-color\",\n    \"border-bottom-left-radius\", \"border-bottom-right-radius\",\n    \"border-bottom-style\", \"border-bottom-width\", \"border-collapse\",\n    \"border-color\", \"border-image\", \"border-image-outset\",\n    \"border-image-repeat\", \"border-image-slice\", \"border-image-source\",\n    \"border-image-width\", \"border-left\", \"border-left-color\",\n    \"border-left-style\", \"border-left-width\", \"border-radius\", \"border-right\",\n    \"border-right-color\", \"border-right-style\", \"border-right-width\",\n    \"border-spacing\", \"border-style\", \"border-top\", \"border-top-color\",\n    \"border-top-left-radius\", \"border-top-right-radius\", \"border-top-style\",\n    \"border-top-width\", \"border-width\", \"bottom\", \"box-decoration-break\",\n    \"box-shadow\", \"box-sizing\", \"break-after\", \"break-before\", \"break-inside\",\n    \"caption-side\", \"caret-color\", \"clear\", \"clip\", \"color\", \"color-profile\", \"column-count\",\n    \"column-fill\", \"column-gap\", \"column-rule\", \"column-rule-color\",\n    \"column-rule-style\", \"column-rule-width\", \"column-span\", \"column-width\",\n    \"columns\", \"content\", \"counter-increment\", \"counter-reset\", \"crop\", \"cue\",\n    \"cue-after\", \"cue-before\", \"cursor\", \"direction\", \"display\",\n    \"dominant-baseline\", \"drop-initial-after-adjust\",\n    \"drop-initial-after-align\", \"drop-initial-before-adjust\",\n    \"drop-initial-before-align\", \"drop-initial-size\", \"drop-initial-value\",\n    \"elevation\", \"empty-cells\", \"fit\", \"fit-position\", \"flex\", \"flex-basis\",\n    \"flex-direction\", \"flex-flow\", \"flex-grow\", \"flex-shrink\", \"flex-wrap\",\n    \"float\", \"float-offset\", \"flow-from\", \"flow-into\", \"font\", \"font-feature-settings\",\n    \"font-family\", \"font-kerning\", \"font-language-override\", \"font-size\", \"font-size-adjust\",\n    \"font-stretch\", \"font-style\", \"font-synthesis\", \"font-variant\",\n    \"font-variant-alternates\", \"font-variant-caps\", \"font-variant-east-asian\",\n    \"font-variant-ligatures\", \"font-variant-numeric\", \"font-variant-position\",\n    \"font-weight\", \"grid\", \"grid-area\", \"grid-auto-columns\", \"grid-auto-flow\",\n    \"grid-auto-rows\", \"grid-column\", \"grid-column-end\", \"grid-column-gap\",\n    \"grid-column-start\", \"grid-gap\", \"grid-row\", \"grid-row-end\", \"grid-row-gap\",\n    \"grid-row-start\", \"grid-template\", \"grid-template-areas\", \"grid-template-columns\",\n    \"grid-template-rows\", \"hanging-punctuation\", \"height\", \"hyphens\",\n    \"icon\", \"image-orientation\", \"image-rendering\", \"image-resolution\",\n    \"inline-box-align\", \"justify-content\", \"justify-items\", \"justify-self\", \"left\", \"letter-spacing\",\n    \"line-break\", \"line-height\", \"line-stacking\", \"line-stacking-ruby\",\n    \"line-stacking-shift\", \"line-stacking-strategy\", \"list-style\",\n    \"list-style-image\", \"list-style-position\", \"list-style-type\", \"margin\",\n    \"margin-bottom\", \"margin-left\", \"margin-right\", \"margin-top\",\n    \"marks\", \"marquee-direction\", \"marquee-loop\",\n    \"marquee-play-count\", \"marquee-speed\", \"marquee-style\", \"max-height\",\n    \"max-width\", \"min-height\", \"min-width\", \"move-to\", \"nav-down\", \"nav-index\",\n    \"nav-left\", \"nav-right\", \"nav-up\", \"object-fit\", \"object-position\",\n    \"opacity\", \"order\", \"orphans\", \"outline\",\n    \"outline-color\", \"outline-offset\", \"outline-style\", \"outline-width\",\n    \"overflow\", \"overflow-style\", \"overflow-wrap\", \"overflow-x\", \"overflow-y\",\n    \"padding\", \"padding-bottom\", \"padding-left\", \"padding-right\", \"padding-top\",\n    \"page\", \"page-break-after\", \"page-break-before\", \"page-break-inside\",\n    \"page-policy\", \"pause\", \"pause-after\", \"pause-before\", \"perspective\",\n    \"perspective-origin\", \"pitch\", \"pitch-range\", \"place-content\", \"place-items\", \"place-self\", \"play-during\", \"position\",\n    \"presentation-level\", \"punctuation-trim\", \"quotes\", \"region-break-after\",\n    \"region-break-before\", \"region-break-inside\", \"region-fragment\",\n    \"rendering-intent\", \"resize\", \"rest\", \"rest-after\", \"rest-before\", \"richness\",\n    \"right\", \"rotation\", \"rotation-point\", \"ruby-align\", \"ruby-overhang\",\n    \"ruby-position\", \"ruby-span\", \"shape-image-threshold\", \"shape-inside\", \"shape-margin\",\n    \"shape-outside\", \"size\", \"speak\", \"speak-as\", \"speak-header\",\n    \"speak-numeral\", \"speak-punctuation\", \"speech-rate\", \"stress\", \"string-set\",\n    \"tab-size\", \"table-layout\", \"target\", \"target-name\", \"target-new\",\n    \"target-position\", \"text-align\", \"text-align-last\", \"text-decoration\",\n    \"text-decoration-color\", \"text-decoration-line\", \"text-decoration-skip\",\n    \"text-decoration-style\", \"text-emphasis\", \"text-emphasis-color\",\n    \"text-emphasis-position\", \"text-emphasis-style\", \"text-height\",\n    \"text-indent\", \"text-justify\", \"text-outline\", \"text-overflow\", \"text-shadow\",\n    \"text-size-adjust\", \"text-space-collapse\", \"text-transform\", \"text-underline-position\",\n    \"text-wrap\", \"top\", \"transform\", \"transform-origin\", \"transform-style\",\n    \"transition\", \"transition-delay\", \"transition-duration\",\n    \"transition-property\", \"transition-timing-function\", \"unicode-bidi\",\n    \"user-select\", \"vertical-align\", \"visibility\", \"voice-balance\", \"voice-duration\",\n    \"voice-family\", \"voice-pitch\", \"voice-range\", \"voice-rate\", \"voice-stress\",\n    \"voice-volume\", \"volume\", \"white-space\", \"widows\", \"width\", \"will-change\", \"word-break\",\n    \"word-spacing\", \"word-wrap\", \"z-index\",\n    // SVG-specific\n    \"clip-path\", \"clip-rule\", \"mask\", \"enable-background\", \"filter\", \"flood-color\",\n    \"flood-opacity\", \"lighting-color\", \"stop-color\", \"stop-opacity\", \"pointer-events\",\n    \"color-interpolation\", \"color-interpolation-filters\",\n    \"color-rendering\", \"fill\", \"fill-opacity\", \"fill-rule\", \"image-rendering\",\n    \"marker\", \"marker-end\", \"marker-mid\", \"marker-start\", \"shape-rendering\", \"stroke\",\n    \"stroke-dasharray\", \"stroke-dashoffset\", \"stroke-linecap\", \"stroke-linejoin\",\n    \"stroke-miterlimit\", \"stroke-opacity\", \"stroke-width\", \"text-rendering\",\n    \"baseline-shift\", \"dominant-baseline\", \"glyph-orientation-horizontal\",\n    \"glyph-orientation-vertical\", \"text-anchor\", \"writing-mode\"\n  ], propertyKeywords = keySet(propertyKeywords_);\n\n  var nonStandardPropertyKeywords_ = [\n    \"scrollbar-arrow-color\", \"scrollbar-base-color\", \"scrollbar-dark-shadow-color\",\n    \"scrollbar-face-color\", \"scrollbar-highlight-color\", \"scrollbar-shadow-color\",\n    \"scrollbar-3d-light-color\", \"scrollbar-track-color\", \"shape-inside\",\n    \"searchfield-cancel-button\", \"searchfield-decoration\", \"searchfield-results-button\",\n    \"searchfield-results-decoration\", \"zoom\"\n  ], nonStandardPropertyKeywords = keySet(nonStandardPropertyKeywords_);\n\n  var fontProperties_ = [\n    \"font-family\", \"src\", \"unicode-range\", \"font-variant\", \"font-feature-settings\",\n    \"font-stretch\", \"font-weight\", \"font-style\"\n  ], fontProperties = keySet(fontProperties_);\n\n  var counterDescriptors_ = [\n    \"additive-symbols\", \"fallback\", \"negative\", \"pad\", \"prefix\", \"range\",\n    \"speak-as\", \"suffix\", \"symbols\", \"system\"\n  ], counterDescriptors = keySet(counterDescriptors_);\n\n  var colorKeywords_ = [\n    \"aliceblue\", \"antiquewhite\", \"aqua\", \"aquamarine\", \"azure\", \"beige\",\n    \"bisque\", \"black\", \"blanchedalmond\", \"blue\", \"blueviolet\", \"brown\",\n    \"burlywood\", \"cadetblue\", \"chartreuse\", \"chocolate\", \"coral\", \"cornflowerblue\",\n    \"cornsilk\", \"crimson\", \"cyan\", \"darkblue\", \"darkcyan\", \"darkgoldenrod\",\n    \"darkgray\", \"darkgreen\", \"darkkhaki\", \"darkmagenta\", \"darkolivegreen\",\n    \"darkorange\", \"darkorchid\", \"darkred\", \"darksalmon\", \"darkseagreen\",\n    \"darkslateblue\", \"darkslategray\", \"darkturquoise\", \"darkviolet\",\n    \"deeppink\", \"deepskyblue\", \"dimgray\", \"dodgerblue\", \"firebrick\",\n    \"floralwhite\", \"forestgreen\", \"fuchsia\", \"gainsboro\", \"ghostwhite\",\n    \"gold\", \"goldenrod\", \"gray\", \"grey\", \"green\", \"greenyellow\", \"honeydew\",\n    \"hotpink\", \"indianred\", \"indigo\", \"ivory\", \"khaki\", \"lavender\",\n    \"lavenderblush\", \"lawngreen\", \"lemonchiffon\", \"lightblue\", \"lightcoral\",\n    \"lightcyan\", \"lightgoldenrodyellow\", \"lightgray\", \"lightgreen\", \"lightpink\",\n    \"lightsalmon\", \"lightseagreen\", \"lightskyblue\", \"lightslategray\",\n    \"lightsteelblue\", \"lightyellow\", \"lime\", \"limegreen\", \"linen\", \"magenta\",\n    \"maroon\", \"mediumaquamarine\", \"mediumblue\", \"mediumorchid\", \"mediumpurple\",\n    \"mediumseagreen\", \"mediumslateblue\", \"mediumspringgreen\", \"mediumturquoise\",\n    \"mediumvioletred\", \"midnightblue\", \"mintcream\", \"mistyrose\", \"moccasin\",\n    \"navajowhite\", \"navy\", \"oldlace\", \"olive\", \"olivedrab\", \"orange\", \"orangered\",\n    \"orchid\", \"palegoldenrod\", \"palegreen\", \"paleturquoise\", \"palevioletred\",\n    \"papayawhip\", \"peachpuff\", \"peru\", \"pink\", \"plum\", \"powderblue\",\n    \"purple\", \"rebeccapurple\", \"red\", \"rosybrown\", \"royalblue\", \"saddlebrown\",\n    \"salmon\", \"sandybrown\", \"seagreen\", \"seashell\", \"sienna\", \"silver\", \"skyblue\",\n    \"slateblue\", \"slategray\", \"snow\", \"springgreen\", \"steelblue\", \"tan\",\n    \"teal\", \"thistle\", \"tomato\", \"turquoise\", \"violet\", \"wheat\", \"white\",\n    \"whitesmoke\", \"yellow\", \"yellowgreen\"\n  ], colorKeywords = keySet(colorKeywords_);\n\n  var valueKeywords_ = [\n    \"above\", \"absolute\", \"activeborder\", \"additive\", \"activecaption\", \"afar\",\n    \"after-white-space\", \"ahead\", \"alias\", \"all\", \"all-scroll\", \"alphabetic\", \"alternate\",\n    \"always\", \"amharic\", \"amharic-abegede\", \"antialiased\", \"appworkspace\",\n    \"arabic-indic\", \"armenian\", \"asterisks\", \"attr\", \"auto\", \"auto-flow\", \"avoid\", \"avoid-column\", \"avoid-page\",\n    \"avoid-region\", \"background\", \"backwards\", \"baseline\", \"below\", \"bidi-override\", \"binary\",\n    \"bengali\", \"blink\", \"block\", \"block-axis\", \"bold\", \"bolder\", \"border\", \"border-box\",\n    \"both\", \"bottom\", \"break\", \"break-all\", \"break-word\", \"bullets\", \"button\", \"button-bevel\",\n    \"buttonface\", \"buttonhighlight\", \"buttonshadow\", \"buttontext\", \"calc\", \"cambodian\",\n    \"capitalize\", \"caps-lock-indicator\", \"caption\", \"captiontext\", \"caret\",\n    \"cell\", \"center\", \"checkbox\", \"circle\", \"cjk-decimal\", \"cjk-earthly-branch\",\n    \"cjk-heavenly-stem\", \"cjk-ideographic\", \"clear\", \"clip\", \"close-quote\",\n    \"col-resize\", \"collapse\", \"color\", \"color-burn\", \"color-dodge\", \"column\", \"column-reverse\",\n    \"compact\", \"condensed\", \"contain\", \"content\", \"contents\",\n    \"content-box\", \"context-menu\", \"continuous\", \"copy\", \"counter\", \"counters\", \"cover\", \"crop\",\n    \"cross\", \"crosshair\", \"currentcolor\", \"cursive\", \"cyclic\", \"darken\", \"dashed\", \"decimal\",\n    \"decimal-leading-zero\", \"default\", \"default-button\", \"dense\", \"destination-atop\",\n    \"destination-in\", \"destination-out\", \"destination-over\", \"devanagari\", \"difference\",\n    \"disc\", \"discard\", \"disclosure-closed\", \"disclosure-open\", \"document\",\n    \"dot-dash\", \"dot-dot-dash\",\n    \"dotted\", \"double\", \"down\", \"e-resize\", \"ease\", \"ease-in\", \"ease-in-out\", \"ease-out\",\n    \"element\", \"ellipse\", \"ellipsis\", \"embed\", \"end\", \"ethiopic\", \"ethiopic-abegede\",\n    \"ethiopic-abegede-am-et\", \"ethiopic-abegede-gez\", \"ethiopic-abegede-ti-er\",\n    \"ethiopic-abegede-ti-et\", \"ethiopic-halehame-aa-er\",\n    \"ethiopic-halehame-aa-et\", \"ethiopic-halehame-am-et\",\n    \"ethiopic-halehame-gez\", \"ethiopic-halehame-om-et\",\n    \"ethiopic-halehame-sid-et\", \"ethiopic-halehame-so-et\",\n    \"ethiopic-halehame-ti-er\", \"ethiopic-halehame-ti-et\", \"ethiopic-halehame-tig\",\n    \"ethiopic-numeric\", \"ew-resize\", \"exclusion\", \"expanded\", \"extends\", \"extra-condensed\",\n    \"extra-expanded\", \"fantasy\", \"fast\", \"fill\", \"fixed\", \"flat\", \"flex\", \"flex-end\", \"flex-start\", \"footnotes\",\n    \"forwards\", \"from\", \"geometricPrecision\", \"georgian\", \"graytext\", \"grid\", \"groove\",\n    \"gujarati\", \"gurmukhi\", \"hand\", \"hangul\", \"hangul-consonant\", \"hard-light\", \"hebrew\",\n    \"help\", \"hidden\", \"hide\", \"higher\", \"highlight\", \"highlighttext\",\n    \"hiragana\", \"hiragana-iroha\", \"horizontal\", \"hsl\", \"hsla\", \"hue\", \"icon\", \"ignore\",\n    \"inactiveborder\", \"inactivecaption\", \"inactivecaptiontext\", \"infinite\",\n    \"infobackground\", \"infotext\", \"inherit\", \"initial\", \"inline\", \"inline-axis\",\n    \"inline-block\", \"inline-flex\", \"inline-grid\", \"inline-table\", \"inset\", \"inside\", \"intrinsic\", \"invert\",\n    \"italic\", \"japanese-formal\", \"japanese-informal\", \"justify\", \"kannada\",\n    \"katakana\", \"katakana-iroha\", \"keep-all\", \"khmer\",\n    \"korean-hangul-formal\", \"korean-hanja-formal\", \"korean-hanja-informal\",\n    \"landscape\", \"lao\", \"large\", \"larger\", \"left\", \"level\", \"lighter\", \"lighten\",\n    \"line-through\", \"linear\", \"linear-gradient\", \"lines\", \"list-item\", \"listbox\", \"listitem\",\n    \"local\", \"logical\", \"loud\", \"lower\", \"lower-alpha\", \"lower-armenian\",\n    \"lower-greek\", \"lower-hexadecimal\", \"lower-latin\", \"lower-norwegian\",\n    \"lower-roman\", \"lowercase\", \"ltr\", \"luminosity\", \"malayalam\", \"match\", \"matrix\", \"matrix3d\",\n    \"media-controls-background\", \"media-current-time-display\",\n    \"media-fullscreen-button\", \"media-mute-button\", \"media-play-button\",\n    \"media-return-to-realtime-button\", \"media-rewind-button\",\n    \"media-seek-back-button\", \"media-seek-forward-button\", \"media-slider\",\n    \"media-sliderthumb\", \"media-time-remaining-display\", \"media-volume-slider\",\n    \"media-volume-slider-container\", \"media-volume-sliderthumb\", \"medium\",\n    \"menu\", \"menulist\", \"menulist-button\", \"menulist-text\",\n    \"menulist-textfield\", \"menutext\", \"message-box\", \"middle\", \"min-intrinsic\",\n    \"mix\", \"mongolian\", \"monospace\", \"move\", \"multiple\", \"multiply\", \"myanmar\", \"n-resize\",\n    \"narrower\", \"ne-resize\", \"nesw-resize\", \"no-close-quote\", \"no-drop\",\n    \"no-open-quote\", \"no-repeat\", \"none\", \"normal\", \"not-allowed\", \"nowrap\",\n    \"ns-resize\", \"numbers\", \"numeric\", \"nw-resize\", \"nwse-resize\", \"oblique\", \"octal\", \"opacity\", \"open-quote\",\n    \"optimizeLegibility\", \"optimizeSpeed\", \"oriya\", \"oromo\", \"outset\",\n    \"outside\", \"outside-shape\", \"overlay\", \"overline\", \"padding\", \"padding-box\",\n    \"painted\", \"page\", \"paused\", \"persian\", \"perspective\", \"plus-darker\", \"plus-lighter\",\n    \"pointer\", \"polygon\", \"portrait\", \"pre\", \"pre-line\", \"pre-wrap\", \"preserve-3d\",\n    \"progress\", \"push-button\", \"radial-gradient\", \"radio\", \"read-only\",\n    \"read-write\", \"read-write-plaintext-only\", \"rectangle\", \"region\",\n    \"relative\", \"repeat\", \"repeating-linear-gradient\",\n    \"repeating-radial-gradient\", \"repeat-x\", \"repeat-y\", \"reset\", \"reverse\",\n    \"rgb\", \"rgba\", \"ridge\", \"right\", \"rotate\", \"rotate3d\", \"rotateX\", \"rotateY\",\n    \"rotateZ\", \"round\", \"row\", \"row-resize\", \"row-reverse\", \"rtl\", \"run-in\", \"running\",\n    \"s-resize\", \"sans-serif\", \"saturation\", \"scale\", \"scale3d\", \"scaleX\", \"scaleY\", \"scaleZ\", \"screen\",\n    \"scroll\", \"scrollbar\", \"scroll-position\", \"se-resize\", \"searchfield\",\n    \"searchfield-cancel-button\", \"searchfield-decoration\",\n    \"searchfield-results-button\", \"searchfield-results-decoration\", \"self-start\", \"self-end\",\n    \"semi-condensed\", \"semi-expanded\", \"separate\", \"serif\", \"show\", \"sidama\",\n    \"simp-chinese-formal\", \"simp-chinese-informal\", \"single\",\n    \"skew\", \"skewX\", \"skewY\", \"skip-white-space\", \"slide\", \"slider-horizontal\",\n    \"slider-vertical\", \"sliderthumb-horizontal\", \"sliderthumb-vertical\", \"slow\",\n    \"small\", \"small-caps\", \"small-caption\", \"smaller\", \"soft-light\", \"solid\", \"somali\",\n    \"source-atop\", \"source-in\", \"source-out\", \"source-over\", \"space\", \"space-around\", \"space-between\", \"space-evenly\", \"spell-out\", \"square\",\n    \"square-button\", \"start\", \"static\", \"status-bar\", \"stretch\", \"stroke\", \"sub\",\n    \"subpixel-antialiased\", \"super\", \"sw-resize\", \"symbolic\", \"symbols\", \"system-ui\", \"table\",\n    \"table-caption\", \"table-cell\", \"table-column\", \"table-column-group\",\n    \"table-footer-group\", \"table-header-group\", \"table-row\", \"table-row-group\",\n    \"tamil\",\n    \"telugu\", \"text\", \"text-bottom\", \"text-top\", \"textarea\", \"textfield\", \"thai\",\n    \"thick\", \"thin\", \"threeddarkshadow\", \"threedface\", \"threedhighlight\",\n    \"threedlightshadow\", \"threedshadow\", \"tibetan\", \"tigre\", \"tigrinya-er\",\n    \"tigrinya-er-abegede\", \"tigrinya-et\", \"tigrinya-et-abegede\", \"to\", \"top\",\n    \"trad-chinese-formal\", \"trad-chinese-informal\", \"transform\",\n    \"translate\", \"translate3d\", \"translateX\", \"translateY\", \"translateZ\",\n    \"transparent\", \"ultra-condensed\", \"ultra-expanded\", \"underline\", \"unset\", \"up\",\n    \"upper-alpha\", \"upper-armenian\", \"upper-greek\", \"upper-hexadecimal\",\n    \"upper-latin\", \"upper-norwegian\", \"upper-roman\", \"uppercase\", \"urdu\", \"url\",\n    \"var\", \"vertical\", \"vertical-text\", \"visible\", \"visibleFill\", \"visiblePainted\",\n    \"visibleStroke\", \"visual\", \"w-resize\", \"wait\", \"wave\", \"wider\",\n    \"window\", \"windowframe\", \"windowtext\", \"words\", \"wrap\", \"wrap-reverse\", \"x-large\", \"x-small\", \"xor\",\n    \"xx-large\", \"xx-small\"\n  ], valueKeywords = keySet(valueKeywords_);\n\n  var allWords = documentTypes_.concat(mediaTypes_).concat(mediaFeatures_).concat(mediaValueKeywords_)\n    .concat(propertyKeywords_).concat(nonStandardPropertyKeywords_).concat(colorKeywords_)\n    .concat(valueKeywords_);\n  CodeMirror.registerHelper(\"hintWords\", \"css\", allWords);\n\n  function tokenCComment(stream, state) {\n    var maybeEnd = false, ch;\n    while ((ch = stream.next()) != null) {\n      if (maybeEnd && ch == \"/\") {\n        state.tokenize = null;\n        break;\n      }\n      maybeEnd = (ch == \"*\");\n    }\n    return [\"comment\", \"comment\"];\n  }\n\n  CodeMirror.defineMIME(\"text/css\", {\n    documentTypes: documentTypes,\n    mediaTypes: mediaTypes,\n    mediaFeatures: mediaFeatures,\n    mediaValueKeywords: mediaValueKeywords,\n    propertyKeywords: propertyKeywords,\n    nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n    fontProperties: fontProperties,\n    counterDescriptors: counterDescriptors,\n    colorKeywords: colorKeywords,\n    valueKeywords: valueKeywords,\n    tokenHooks: {\n      \"/\": function(stream, state) {\n        if (!stream.eat(\"*\")) return false;\n        state.tokenize = tokenCComment;\n        return tokenCComment(stream, state);\n      }\n    },\n    name: \"css\"\n  });\n\n  CodeMirror.defineMIME(\"text/x-scss\", {\n    mediaTypes: mediaTypes,\n    mediaFeatures: mediaFeatures,\n    mediaValueKeywords: mediaValueKeywords,\n    propertyKeywords: propertyKeywords,\n    nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n    colorKeywords: colorKeywords,\n    valueKeywords: valueKeywords,\n    fontProperties: fontProperties,\n    allowNested: true,\n    lineComment: \"//\",\n    tokenHooks: {\n      \"/\": function(stream, state) {\n        if (stream.eat(\"/\")) {\n          stream.skipToEnd();\n          return [\"comment\", \"comment\"];\n        } else if (stream.eat(\"*\")) {\n          state.tokenize = tokenCComment;\n          return tokenCComment(stream, state);\n        } else {\n          return [\"operator\", \"operator\"];\n        }\n      },\n      \":\": function(stream) {\n        if (stream.match(/\\s*\\{/, false))\n          return [null, null]\n        return false;\n      },\n      \"$\": function(stream) {\n        stream.match(/^[\\w-]+/);\n        if (stream.match(/^\\s*:/, false))\n          return [\"variable-2\", \"variable-definition\"];\n        return [\"variable-2\", \"variable\"];\n      },\n      \"#\": function(stream) {\n        if (!stream.eat(\"{\")) return false;\n        return [null, \"interpolation\"];\n      }\n    },\n    name: \"css\",\n    helperType: \"scss\"\n  });\n\n  CodeMirror.defineMIME(\"text/x-less\", {\n    mediaTypes: mediaTypes,\n    mediaFeatures: mediaFeatures,\n    mediaValueKeywords: mediaValueKeywords,\n    propertyKeywords: propertyKeywords,\n    nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n    colorKeywords: colorKeywords,\n    valueKeywords: valueKeywords,\n    fontProperties: fontProperties,\n    allowNested: true,\n    lineComment: \"//\",\n    tokenHooks: {\n      \"/\": function(stream, state) {\n        if (stream.eat(\"/\")) {\n          stream.skipToEnd();\n          return [\"comment\", \"comment\"];\n        } else if (stream.eat(\"*\")) {\n          state.tokenize = tokenCComment;\n          return tokenCComment(stream, state);\n        } else {\n          return [\"operator\", \"operator\"];\n        }\n      },\n      \"@\": function(stream) {\n        if (stream.eat(\"{\")) return [null, \"interpolation\"];\n        if (stream.match(/^(charset|document|font-face|import|(-(moz|ms|o|webkit)-)?keyframes|media|namespace|page|supports)\\b/i, false)) return false;\n        stream.eatWhile(/[\\w\\\\\\-]/);\n        if (stream.match(/^\\s*:/, false))\n          return [\"variable-2\", \"variable-definition\"];\n        return [\"variable-2\", \"variable\"];\n      },\n      \"&\": function() {\n        return [\"atom\", \"atom\"];\n      }\n    },\n    name: \"css\",\n    helperType: \"less\"\n  });\n\n  CodeMirror.defineMIME(\"text/x-gss\", {\n    documentTypes: documentTypes,\n    mediaTypes: mediaTypes,\n    mediaFeatures: mediaFeatures,\n    propertyKeywords: propertyKeywords,\n    nonStandardPropertyKeywords: nonStandardPropertyKeywords,\n    fontProperties: fontProperties,\n    counterDescriptors: counterDescriptors,\n    colorKeywords: colorKeywords,\n    valueKeywords: valueKeywords,\n    supportsAtComponent: true,\n    tokenHooks: {\n      \"/\": function(stream, state) {\n        if (!stream.eat(\"*\")) return false;\n        state.tokenize = tokenCComment;\n        return tokenCComment(stream, state);\n      }\n    },\n    name: \"css\",\n    helperType: \"gss\"\n  });\n\n});\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/css/index.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: CSS mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<link rel=\"stylesheet\" href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/hint/show-hint.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"css.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/hint/show-hint.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/hint/css-hint.js\"></script>\n<style>.CodeMirror {background: #f8f8f8;}</style>\n<div id=nav>\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"index.html#\">CSS</a>\n  </ul>\n</div>\n\n<article>\n<h2>CSS mode</h2>\n<form><textarea id=\"code\" name=\"code\">\n/* Some example CSS */\n\n@import url(\"something.css\");\n\nbody {\n  margin: 0;\n  padding: 3em 6em;\n  font-family: tahoma, arial, sans-serif;\n  color: #000;\n}\n\n#navigation a {\n  font-weight: bold;\n  text-decoration: none !important;\n}\n\nh1 {\n  font-size: 2.5em;\n}\n\nh2 {\n  font-size: 1.7em;\n}\n\nh1:before, h2:before {\n  content: \"::\";\n}\n\ncode {\n  font-family: courier, monospace;\n  font-size: 80%;\n  color: #418A8A;\n}\n</textarea></form>\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        extraKeys: {\"Ctrl-Space\": \"autocomplete\"}\n      });\n    </script>\n\n    <p><strong>MIME types defined:</strong> <code>text/css</code>, <code>text/x-scss</code> (<a href=\"scss.html\">demo</a>), <code>text/x-less</code> (<a href=\"less.html\">demo</a>).</p>\n\n    <p><strong>Parsing/Highlighting Tests:</strong> <a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/test/index.html#css_*\">normal</a>,  <a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/test/index.html#verbose,css_*\">verbose</a>.</p>\n\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/css/less.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: LESS mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/edit/matchbrackets.js\"></script>\n<script src=\"css.js\"></script>\n<style>.CodeMirror {border: 1px solid #ddd; line-height: 1.2;}</style>\n<div id=nav>\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"less.html#\">LESS</a>\n  </ul>\n</div>\n\n<article>\n<h2>LESS mode</h2>\n<form><textarea id=\"code\" name=\"code\">@media screen and (device-aspect-ratio: 16/9) { … }\n@media screen and (device-aspect-ratio: 1280/720) { … }\n@media screen and (device-aspect-ratio: 2560/1440) { … }\n\nhtml:lang(fr-be)\n\ntr:nth-child(2n+1) /* represents every odd row of an HTML table */\n\nimg:nth-of-type(2n+1) { float: right; }\nimg:nth-of-type(2n) { float: left; }\n\nbody > h2:not(:first-of-type):not(:last-of-type)\n\nhtml|*:not(:link):not(:visited)\n*|*:not(:hover)\np::first-line { text-transform: uppercase }\n\n@namespace foo url(http://www.example.com);\nfoo|h1 { color: blue }  /* first rule */\n\nspan[hello=\"Ocean\"][goodbye=\"Land\"]\n\nE[foo]{\n  padding:65px;\n}\n\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button {\n  -webkit-appearance: none; // Inner-padding issues in Chrome OSX, Safari 5\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner { // Inner padding and border oddities in FF3/4\n  padding: 0;\n  border: 0;\n}\n.btn {\n  // reset here as of 2.0.3 due to Recess property order\n  border-color: #ccc;\n  border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);\n}\nfieldset span button, fieldset span input[type=\"file\"] {\n  font-size:12px;\n\tfont-family:Arial, Helvetica, sans-serif;\n}\n\n.rounded-corners (@radius: 5px) {\n  border-radius: @radius;\n  -webkit-border-radius: @radius;\n  -moz-border-radius: @radius;\n}\n\n@import url(\"something.css\");\n\n@light-blue:   hsl(190, 50%, 65%);\n\n#menu {\n  position: absolute;\n  width: 100%;\n  z-index: 3;\n  clear: both;\n  display: block;\n  background-color: @blue;\n  height: 42px;\n  border-top: 2px solid lighten(@alpha-blue, 20%);\n  border-bottom: 2px solid darken(@alpha-blue, 25%);\n  .box-shadow(0, 1px, 8px, 0.6);\n  -moz-box-shadow: 0 0 0 #000; // Because firefox sucks.\n\n  &.docked {\n    background-color: hsla(210, 60%, 40%, 0.4);\n  }\n  &:hover {\n    background-color: @blue;\n  }\n\n  #dropdown {\n    margin: 0 0 0 117px;\n    padding: 0;\n    padding-top: 5px;\n    display: none;\n    width: 190px;\n    border-top: 2px solid @medium;\n    color: @highlight;\n    border: 2px solid darken(@medium, 25%);\n    border-left-color: darken(@medium, 15%);\n    border-right-color: darken(@medium, 15%);\n    border-top-width: 0;\n    background-color: darken(@medium, 10%);\n    ul {\n      padding: 0px;  \n    }\n    li {\n      font-size: 14px;\n      display: block;\n      text-align: left;\n      padding: 0;\n      border: 0;\n      a {\n        display: block;\n        padding: 0px 15px;  \n        text-decoration: none;\n        color: white;  \n        &:hover {\n          background-color: darken(@medium, 15%);\n          text-decoration: none;\n        }\n      }\n    }\n    .border-radius(5px, bottom);\n    .box-shadow(0, 6px, 8px, 0.5);\n  }\n}\n</textarea></form>\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        lineNumbers : true,\n        matchBrackets : true,\n        mode: \"text/x-less\"\n      });\n    </script>\n\n    <p>The LESS mode is a sub-mode of the <a href=\"index.html\">CSS mode</a> (defined in <code>css.js</code>).</p>\n\n    <p><strong>Parsing/Highlighting Tests:</strong> <a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/test/index.html#less_*\">normal</a>,  <a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/test/index.html#verbose,less_*\">verbose</a>.</p>\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/css/scss.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: SCSS mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"css.js\"></script>\n<style>.CodeMirror {background: #f8f8f8;}</style>\n<div id=nav>\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"scss.html#\">SCSS</a>\n  </ul>\n</div>\n\n<article>\n<h2>SCSS mode</h2>\n<form><textarea id=\"code\" name=\"code\">\n/* Some example SCSS */\n\n@import \"compass/css3\";\n$variable: #333;\n\n$blue: #3bbfce;\n$margin: 16px;\n\n.content-navigation {\n  #nested {\n    background-color: black;\n  }\n  border-color: $blue;\n  color:\n    darken($blue, 9%);\n}\n\n.border {\n  padding: $margin / 2;\n  margin: $margin / 2;\n  border-color: $blue;\n}\n\n@mixin table-base {\n  th {\n    text-align: center;\n    font-weight: bold;\n  }\n  td, th {padding: 2px}\n}\n\ntable.hl {\n  margin: 2em 0;\n  td.ln {\n    text-align: right;\n  }\n}\n\nli {\n  font: {\n    family: serif;\n    weight: bold;\n    size: 1.2em;\n  }\n}\n\n@mixin left($dist) {\n  float: left;\n  margin-left: $dist;\n}\n\n#data {\n  @include left(10px);\n  @include table-base;\n}\n\n.source {\n  @include flow-into(target);\n  border: 10px solid green;\n  margin: 20px;\n  width: 200px; }\n\n.new-container {\n  @include flow-from(target);\n  border: 10px solid red;\n  margin: 20px;\n  width: 200px; }\n\nbody {\n  margin: 0;\n  padding: 3em 6em;\n  font-family: tahoma, arial, sans-serif;\n  color: #000;\n}\n\n@mixin yellow() {\n  background: yellow;\n}\n\n.big {\n  font-size: 14px;\n}\n\n.nested {\n  @include border-radius(3px);\n  @extend .big;\n  p {\n    background: whitesmoke;\n    a {\n      color: red;\n    }\n  }\n}\n\n#navigation a {\n  font-weight: bold;\n  text-decoration: none !important;\n}\n\nh1 {\n  font-size: 2.5em;\n}\n\nh2 {\n  font-size: 1.7em;\n}\n\nh1:before, h2:before {\n  content: \"::\";\n}\n\ncode {\n  font-family: courier, monospace;\n  font-size: 80%;\n  color: #418A8A;\n}\n</textarea></form>\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        lineNumbers: true,\n        matchBrackets: true,\n        mode: \"text/x-scss\"\n      });\n    </script>\n\n    <p>The SCSS mode is a sub-mode of the <a href=\"index.html\">CSS mode</a> (defined in <code>css.js</code>).</p>\n\n    <p><strong>Parsing/Highlighting Tests:</strong> <a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/test/index.html#scss_*\">normal</a>,  <a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/test/index.html#verbose,scss_*\">verbose</a>.</p>\n\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/javascript/index.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: JavaScript mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/edit/matchbrackets.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/comment/continuecomment.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/comment/comment.js\"></script>\n<script src=\"javascript.js\"></script>\n<style type=\"text/css\">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>\n<div id=nav>\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"index.html#\">JavaScript</a>\n  </ul>\n</div>\n\n<article>\n<h2>JavaScript mode</h2>\n\n\n<div><textarea id=\"code\" name=\"code\">\n// Demo code (the actual new parser character stream implementation)\n\nfunction StringStream(string) {\n  this.pos = 0;\n  this.string = string;\n}\n\nStringStream.prototype = {\n  done: function() {return this.pos >= this.string.length;},\n  peek: function() {return this.string.charAt(this.pos);},\n  next: function() {\n    if (this.pos &lt; this.string.length)\n      return this.string.charAt(this.pos++);\n  },\n  eat: function(match) {\n    var ch = this.string.charAt(this.pos);\n    if (typeof match == \"string\") var ok = ch == match;\n    else var ok = ch &amp;&amp; match.test ? match.test(ch) : match(ch);\n    if (ok) {this.pos++; return ch;}\n  },\n  eatWhile: function(match) {\n    var start = this.pos;\n    while (this.eat(match));\n    if (this.pos > start) return this.string.slice(start, this.pos);\n  },\n  backUp: function(n) {this.pos -= n;},\n  column: function() {return this.pos;},\n  eatSpace: function() {\n    var start = this.pos;\n    while (/\\s/.test(this.string.charAt(this.pos))) this.pos++;\n    return this.pos - start;\n  },\n  match: function(pattern, consume, caseInsensitive) {\n    if (typeof pattern == \"string\") {\n      function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}\n      if (cased(this.string).indexOf(cased(pattern), this.pos) == this.pos) {\n        if (consume !== false) this.pos += str.length;\n        return true;\n      }\n    }\n    else {\n      var match = this.string.slice(this.pos).match(pattern);\n      if (match &amp;&amp; consume !== false) this.pos += match[0].length;\n      return match;\n    }\n  }\n};\n</textarea></div>\n\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        lineNumbers: true,\n        matchBrackets: true,\n        continueComments: \"Enter\",\n        extraKeys: {\"Ctrl-Q\": \"toggleComment\"}\n      });\n    </script>\n\n    <p>\n      JavaScript mode supports several configuration options:\n      <ul>\n        <li><code>json</code> which will set the mode to expect JSON\n        data rather than a JavaScript program.</li>\n        <li><code>jsonld</code> which will set the mode to expect\n        <a href=\"http://json-ld.org\">JSON-LD</a> linked data rather\n        than a JavaScript program (<a href=\"json-ld.html\">demo</a>).</li>\n        <li><code>typescript</code> which will activate additional\n        syntax highlighting and some other things for TypeScript code\n        (<a href=\"typescript.html\">demo</a>).</li>\n        <li><code>statementIndent</code> which (given a number) will\n        determine the amount of indentation to use for statements\n        continued on a new line.</li>\n        <li><code>wordCharacters</code>, a regexp that indicates which\n        characters should be considered part of an identifier.\n        Defaults to <code>/[\\w$]/</code>, which does not handle\n        non-ASCII identifiers. Can be set to something more elaborate\n        to improve Unicode support.</li>\n      </ul>\n    </p>\n\n    <p><strong>MIME types defined:</strong> <code>text/javascript</code>, <code>application/json</code>, <code>application/ld+json</code>, <code>text/typescript</code>, <code>application/typescript</code>.</p>\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/javascript/javascript.js",
    "content": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode(\"javascript\", function(config, parserConfig) {\n  var indentUnit = config.indentUnit;\n  var statementIndent = parserConfig.statementIndent;\n  var jsonldMode = parserConfig.jsonld;\n  var jsonMode = parserConfig.json || jsonldMode;\n  var isTS = parserConfig.typescript;\n  var wordRE = parserConfig.wordCharacters || /[\\w$\\xa1-\\uffff]/;\n\n  // Tokenizer\n\n  var keywords = function(){\n    function kw(type) {return {type: type, style: \"keyword\"};}\n    var A = kw(\"keyword a\"), B = kw(\"keyword b\"), C = kw(\"keyword c\"), D = kw(\"keyword d\");\n    var operator = kw(\"operator\"), atom = {type: \"atom\", style: \"atom\"};\n\n    return {\n      \"if\": kw(\"if\"), \"while\": A, \"with\": A, \"else\": B, \"do\": B, \"try\": B, \"finally\": B,\n      \"return\": D, \"break\": D, \"continue\": D, \"new\": kw(\"new\"), \"delete\": C, \"void\": C, \"throw\": C,\n      \"debugger\": kw(\"debugger\"), \"var\": kw(\"var\"), \"const\": kw(\"var\"), \"let\": kw(\"var\"),\n      \"function\": kw(\"function\"), \"catch\": kw(\"catch\"),\n      \"for\": kw(\"for\"), \"switch\": kw(\"switch\"), \"case\": kw(\"case\"), \"default\": kw(\"default\"),\n      \"in\": operator, \"typeof\": operator, \"instanceof\": operator,\n      \"true\": atom, \"false\": atom, \"null\": atom, \"undefined\": atom, \"NaN\": atom, \"Infinity\": atom,\n      \"this\": kw(\"this\"), \"class\": kw(\"class\"), \"super\": kw(\"atom\"),\n      \"yield\": C, \"export\": kw(\"export\"), \"import\": kw(\"import\"), \"extends\": C,\n      \"await\": C\n    };\n  }();\n\n  var isOperatorChar = /[+\\-*&%=<>!?|~^@]/;\n  var isJsonldKeyword = /^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)\"/;\n\n  function readRegexp(stream) {\n    var escaped = false, next, inSet = false;\n    while ((next = stream.next()) != null) {\n      if (!escaped) {\n        if (next == \"/\" && !inSet) return;\n        if (next == \"[\") inSet = true;\n        else if (inSet && next == \"]\") inSet = false;\n      }\n      escaped = !escaped && next == \"\\\\\";\n    }\n  }\n\n  // Used as scratch variables to communicate multiple values without\n  // consing up tons of objects.\n  var type, content;\n  function ret(tp, style, cont) {\n    type = tp; content = cont;\n    return style;\n  }\n  function tokenBase(stream, state) {\n    var ch = stream.next();\n    if (ch == '\"' || ch == \"'\") {\n      state.tokenize = tokenString(ch);\n      return state.tokenize(stream, state);\n    } else if (ch == \".\" && stream.match(/^\\d+(?:[eE][+\\-]?\\d+)?/)) {\n      return ret(\"number\", \"number\");\n    } else if (ch == \".\" && stream.match(\"..\")) {\n      return ret(\"spread\", \"meta\");\n    } else if (/[\\[\\]{}\\(\\),;\\:\\.]/.test(ch)) {\n      return ret(ch);\n    } else if (ch == \"=\" && stream.eat(\">\")) {\n      return ret(\"=>\", \"operator\");\n    } else if (ch == \"0\" && stream.match(/^(?:x[\\da-f]+|o[0-7]+|b[01]+)n?/i)) {\n      return ret(\"number\", \"number\");\n    } else if (/\\d/.test(ch)) {\n      stream.match(/^\\d*(?:n|(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?)?/);\n      return ret(\"number\", \"number\");\n    } else if (ch == \"/\") {\n      if (stream.eat(\"*\")) {\n        state.tokenize = tokenComment;\n        return tokenComment(stream, state);\n      } else if (stream.eat(\"/\")) {\n        stream.skipToEnd();\n        return ret(\"comment\", \"comment\");\n      } else if (expressionAllowed(stream, state, 1)) {\n        readRegexp(stream);\n        stream.match(/^\\b(([gimyus])(?![gimyus]*\\2))+\\b/);\n        return ret(\"regexp\", \"string-2\");\n      } else {\n        stream.eat(\"=\");\n        return ret(\"operator\", \"operator\", stream.current());\n      }\n    } else if (ch == \"`\") {\n      state.tokenize = tokenQuasi;\n      return tokenQuasi(stream, state);\n    } else if (ch == \"#\") {\n      stream.skipToEnd();\n      return ret(\"error\", \"error\");\n    } else if (isOperatorChar.test(ch)) {\n      if (ch != \">\" || !state.lexical || state.lexical.type != \">\") {\n        if (stream.eat(\"=\")) {\n          if (ch == \"!\" || ch == \"=\") stream.eat(\"=\")\n        } else if (/[<>*+\\-]/.test(ch)) {\n          stream.eat(ch)\n          if (ch == \">\") stream.eat(ch)\n        }\n      }\n      return ret(\"operator\", \"operator\", stream.current());\n    } else if (wordRE.test(ch)) {\n      stream.eatWhile(wordRE);\n      var word = stream.current()\n      if (state.lastType != \".\") {\n        if (keywords.propertyIsEnumerable(word)) {\n          var kw = keywords[word]\n          return ret(kw.type, kw.style, word)\n        }\n        if (word == \"async\" && stream.match(/^(\\s|\\/\\*.*?\\*\\/)*[\\[\\(\\w]/, false))\n          return ret(\"async\", \"keyword\", word)\n      }\n      return ret(\"variable\", \"variable\", word)\n    }\n  }\n\n  function tokenString(quote) {\n    return function(stream, state) {\n      var escaped = false, next;\n      if (jsonldMode && stream.peek() == \"@\" && stream.match(isJsonldKeyword)){\n        state.tokenize = tokenBase;\n        return ret(\"jsonld-keyword\", \"meta\");\n      }\n      while ((next = stream.next()) != null) {\n        if (next == quote && !escaped) break;\n        escaped = !escaped && next == \"\\\\\";\n      }\n      if (!escaped) state.tokenize = tokenBase;\n      return ret(\"string\", \"string\");\n    };\n  }\n\n  function tokenComment(stream, state) {\n    var maybeEnd = false, ch;\n    while (ch = stream.next()) {\n      if (ch == \"/\" && maybeEnd) {\n        state.tokenize = tokenBase;\n        break;\n      }\n      maybeEnd = (ch == \"*\");\n    }\n    return ret(\"comment\", \"comment\");\n  }\n\n  function tokenQuasi(stream, state) {\n    var escaped = false, next;\n    while ((next = stream.next()) != null) {\n      if (!escaped && (next == \"`\" || next == \"$\" && stream.eat(\"{\"))) {\n        state.tokenize = tokenBase;\n        break;\n      }\n      escaped = !escaped && next == \"\\\\\";\n    }\n    return ret(\"quasi\", \"string-2\", stream.current());\n  }\n\n  var brackets = \"([{}])\";\n  // This is a crude lookahead trick to try and notice that we're\n  // parsing the argument patterns for a fat-arrow function before we\n  // actually hit the arrow token. It only works if the arrow is on\n  // the same line as the arguments and there's no strange noise\n  // (comments) in between. Fallback is to only notice when we hit the\n  // arrow, and not declare the arguments as locals for the arrow\n  // body.\n  function findFatArrow(stream, state) {\n    if (state.fatArrowAt) state.fatArrowAt = null;\n    var arrow = stream.string.indexOf(\"=>\", stream.start);\n    if (arrow < 0) return;\n\n    if (isTS) { // Try to skip TypeScript return type declarations after the arguments\n      var m = /:\\s*(?:\\w+(?:<[^>]*>|\\[\\])?|\\{[^}]*\\})\\s*$/.exec(stream.string.slice(stream.start, arrow))\n      if (m) arrow = m.index\n    }\n\n    var depth = 0, sawSomething = false;\n    for (var pos = arrow - 1; pos >= 0; --pos) {\n      var ch = stream.string.charAt(pos);\n      var bracket = brackets.indexOf(ch);\n      if (bracket >= 0 && bracket < 3) {\n        if (!depth) { ++pos; break; }\n        if (--depth == 0) { if (ch == \"(\") sawSomething = true; break; }\n      } else if (bracket >= 3 && bracket < 6) {\n        ++depth;\n      } else if (wordRE.test(ch)) {\n        sawSomething = true;\n      } else if (/[\"'\\/]/.test(ch)) {\n        return;\n      } else if (sawSomething && !depth) {\n        ++pos;\n        break;\n      }\n    }\n    if (sawSomething && !depth) state.fatArrowAt = pos;\n  }\n\n  // Parser\n\n  var atomicTypes = {\"atom\": true, \"number\": true, \"variable\": true, \"string\": true, \"regexp\": true, \"this\": true, \"jsonld-keyword\": true};\n\n  function JSLexical(indented, column, type, align, prev, info) {\n    this.indented = indented;\n    this.column = column;\n    this.type = type;\n    this.prev = prev;\n    this.info = info;\n    if (align != null) this.align = align;\n  }\n\n  function inScope(state, varname) {\n    for (var v = state.localVars; v; v = v.next)\n      if (v.name == varname) return true;\n    for (var cx = state.context; cx; cx = cx.prev) {\n      for (var v = cx.vars; v; v = v.next)\n        if (v.name == varname) return true;\n    }\n  }\n\n  function parseJS(state, style, type, content, stream) {\n    var cc = state.cc;\n    // Communicate our context to the combinators.\n    // (Less wasteful than consing up a hundred closures on every call.)\n    cx.state = state; cx.stream = stream; cx.marked = null, cx.cc = cc; cx.style = style;\n\n    if (!state.lexical.hasOwnProperty(\"align\"))\n      state.lexical.align = true;\n\n    while(true) {\n      var combinator = cc.length ? cc.pop() : jsonMode ? expression : statement;\n      if (combinator(type, content)) {\n        while(cc.length && cc[cc.length - 1].lex)\n          cc.pop()();\n        if (cx.marked) return cx.marked;\n        if (type == \"variable\" && inScope(state, content)) return \"variable-2\";\n        return style;\n      }\n    }\n  }\n\n  // Combinator utils\n\n  var cx = {state: null, column: null, marked: null, cc: null};\n  function pass() {\n    for (var i = arguments.length - 1; i >= 0; i--) cx.cc.push(arguments[i]);\n  }\n  function cont() {\n    pass.apply(null, arguments);\n    return true;\n  }\n  function inList(name, list) {\n    for (var v = list; v; v = v.next) if (v.name == name) return true\n    return false;\n  }\n  function register(varname) {\n    var state = cx.state;\n    cx.marked = \"def\";\n    if (state.context) {\n      if (state.lexical.info == \"var\" && state.context && state.context.block) {\n        // FIXME function decls are also not block scoped\n        var newContext = registerVarScoped(varname, state.context)\n        if (newContext != null) {\n          state.context = newContext\n          return\n        }\n      } else if (!inList(varname, state.localVars)) {\n        state.localVars = new Var(varname, state.localVars)\n        return\n      }\n    }\n    // Fall through means this is global\n    if (parserConfig.globalVars && !inList(varname, state.globalVars))\n      state.globalVars = new Var(varname, state.globalVars)\n  }\n  function registerVarScoped(varname, context) {\n    if (!context) {\n      return null\n    } else if (context.block) {\n      var inner = registerVarScoped(varname, context.prev)\n      if (!inner) return null\n      if (inner == context.prev) return context\n      return new Context(inner, context.vars, true)\n    } else if (inList(varname, context.vars)) {\n      return context\n    } else {\n      return new Context(context.prev, new Var(varname, context.vars), false)\n    }\n  }\n\n  function isModifier(name) {\n    return name == \"public\" || name == \"private\" || name == \"protected\" || name == \"abstract\" || name == \"readonly\"\n  }\n\n  // Combinators\n\n  function Context(prev, vars, block) { this.prev = prev; this.vars = vars; this.block = block }\n  function Var(name, next) { this.name = name; this.next = next }\n\n  var defaultVars = new Var(\"this\", new Var(\"arguments\", null))\n  function pushcontext() {\n    cx.state.context = new Context(cx.state.context, cx.state.localVars, false)\n    cx.state.localVars = defaultVars\n  }\n  function pushblockcontext() {\n    cx.state.context = new Context(cx.state.context, cx.state.localVars, true)\n    cx.state.localVars = null\n  }\n  function popcontext() {\n    cx.state.localVars = cx.state.context.vars\n    cx.state.context = cx.state.context.prev\n  }\n  popcontext.lex = true\n  function pushlex(type, info) {\n    var result = function() {\n      var state = cx.state, indent = state.indented;\n      if (state.lexical.type == \"stat\") indent = state.lexical.indented;\n      else for (var outer = state.lexical; outer && outer.type == \")\" && outer.align; outer = outer.prev)\n        indent = outer.indented;\n      state.lexical = new JSLexical(indent, cx.stream.column(), type, null, state.lexical, info);\n    };\n    result.lex = true;\n    return result;\n  }\n  function poplex() {\n    var state = cx.state;\n    if (state.lexical.prev) {\n      if (state.lexical.type == \")\")\n        state.indented = state.lexical.indented;\n      state.lexical = state.lexical.prev;\n    }\n  }\n  poplex.lex = true;\n\n  function expect(wanted) {\n    function exp(type) {\n      if (type == wanted) return cont();\n      else if (wanted == \";\" || type == \"}\" || type == \")\" || type == \"]\") return pass();\n      else return cont(exp);\n    };\n    return exp;\n  }\n\n  function statement(type, value) {\n    if (type == \"var\") return cont(pushlex(\"vardef\", value), vardef, expect(\";\"), poplex);\n    if (type == \"keyword a\") return cont(pushlex(\"form\"), parenExpr, statement, poplex);\n    if (type == \"keyword b\") return cont(pushlex(\"form\"), statement, poplex);\n    if (type == \"keyword d\") return cx.stream.match(/^\\s*$/, false) ? cont() : cont(pushlex(\"stat\"), maybeexpression, expect(\";\"), poplex);\n    if (type == \"debugger\") return cont(expect(\";\"));\n    if (type == \"{\") return cont(pushlex(\"}\"), pushblockcontext, block, poplex, popcontext);\n    if (type == \";\") return cont();\n    if (type == \"if\") {\n      if (cx.state.lexical.info == \"else\" && cx.state.cc[cx.state.cc.length - 1] == poplex)\n        cx.state.cc.pop()();\n      return cont(pushlex(\"form\"), parenExpr, statement, poplex, maybeelse);\n    }\n    if (type == \"function\") return cont(functiondef);\n    if (type == \"for\") return cont(pushlex(\"form\"), forspec, statement, poplex);\n    if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), className, poplex); }\n    if (type == \"variable\") {\n      if (isTS && value == \"declare\") {\n        cx.marked = \"keyword\"\n        return cont(statement)\n      } else if (isTS && (value == \"module\" || value == \"enum\" || value == \"type\") && cx.stream.match(/^\\s*\\w/, false)) {\n        cx.marked = \"keyword\"\n        if (value == \"enum\") return cont(enumdef);\n        else if (value == \"type\") return cont(typeexpr, expect(\"operator\"), typeexpr, expect(\";\"));\n        else return cont(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), block, poplex, poplex)\n      } else if (isTS && value == \"namespace\") {\n        cx.marked = \"keyword\"\n        return cont(pushlex(\"form\"), expression, block, poplex)\n      } else if (isTS && value == \"abstract\") {\n        cx.marked = \"keyword\"\n        return cont(statement)\n      } else {\n        return cont(pushlex(\"stat\"), maybelabel);\n      }\n    }\n    if (type == \"switch\") return cont(pushlex(\"form\"), parenExpr, expect(\"{\"), pushlex(\"}\", \"switch\"), pushblockcontext,\n                                      block, poplex, poplex, popcontext);\n    if (type == \"case\") return cont(expression, expect(\":\"));\n    if (type == \"default\") return cont(expect(\":\"));\n    if (type == \"catch\") return cont(pushlex(\"form\"), pushcontext, maybeCatchBinding, statement, poplex, popcontext);\n    if (type == \"export\") return cont(pushlex(\"stat\"), afterExport, poplex);\n    if (type == \"import\") return cont(pushlex(\"stat\"), afterImport, poplex);\n    if (type == \"async\") return cont(statement)\n    if (value == \"@\") return cont(expression, statement)\n    return pass(pushlex(\"stat\"), expression, expect(\";\"), poplex);\n  }\n  function maybeCatchBinding(type) {\n    if (type == \"(\") return cont(funarg, expect(\")\"))\n  }\n  function expression(type, value) {\n    return expressionInner(type, value, false);\n  }\n  function expressionNoComma(type, value) {\n    return expressionInner(type, value, true);\n  }\n  function parenExpr(type) {\n    if (type != \"(\") return pass()\n    return cont(pushlex(\")\"), expression, expect(\")\"), poplex)\n  }\n  function expressionInner(type, value, noComma) {\n    if (cx.state.fatArrowAt == cx.stream.start) {\n      var body = noComma ? arrowBodyNoComma : arrowBody;\n      if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, expect(\"=>\"), body, popcontext);\n      else if (type == \"variable\") return pass(pushcontext, pattern, expect(\"=>\"), body, popcontext);\n    }\n\n    var maybeop = noComma ? maybeoperatorNoComma : maybeoperatorComma;\n    if (atomicTypes.hasOwnProperty(type)) return cont(maybeop);\n    if (type == \"function\") return cont(functiondef, maybeop);\n    if (type == \"class\" || (isTS && value == \"interface\")) { cx.marked = \"keyword\"; return cont(pushlex(\"form\"), classExpression, poplex); }\n    if (type == \"keyword c\" || type == \"async\") return cont(noComma ? expressionNoComma : expression);\n    if (type == \"(\") return cont(pushlex(\")\"), maybeexpression, expect(\")\"), poplex, maybeop);\n    if (type == \"operator\" || type == \"spread\") return cont(noComma ? expressionNoComma : expression);\n    if (type == \"[\") return cont(pushlex(\"]\"), arrayLiteral, poplex, maybeop);\n    if (type == \"{\") return contCommasep(objprop, \"}\", null, maybeop);\n    if (type == \"quasi\") return pass(quasi, maybeop);\n    if (type == \"new\") return cont(maybeTarget(noComma));\n    if (type == \"import\") return cont(expression);\n    return cont();\n  }\n  function maybeexpression(type) {\n    if (type.match(/[;\\}\\)\\],]/)) return pass();\n    return pass(expression);\n  }\n\n  function maybeoperatorComma(type, value) {\n    if (type == \",\") return cont(expression);\n    return maybeoperatorNoComma(type, value, false);\n  }\n  function maybeoperatorNoComma(type, value, noComma) {\n    var me = noComma == false ? maybeoperatorComma : maybeoperatorNoComma;\n    var expr = noComma == false ? expression : expressionNoComma;\n    if (type == \"=>\") return cont(pushcontext, noComma ? arrowBodyNoComma : arrowBody, popcontext);\n    if (type == \"operator\") {\n      if (/\\+\\+|--/.test(value) || isTS && value == \"!\") return cont(me);\n      if (isTS && value == \"<\" && cx.stream.match(/^([^>]|<.*?>)*>\\s*\\(/, false))\n        return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, me);\n      if (value == \"?\") return cont(expression, expect(\":\"), expr);\n      return cont(expr);\n    }\n    if (type == \"quasi\") { return pass(quasi, me); }\n    if (type == \";\") return;\n    if (type == \"(\") return contCommasep(expressionNoComma, \")\", \"call\", me);\n    if (type == \".\") return cont(property, me);\n    if (type == \"[\") return cont(pushlex(\"]\"), maybeexpression, expect(\"]\"), poplex, me);\n    if (isTS && value == \"as\") { cx.marked = \"keyword\"; return cont(typeexpr, me) }\n    if (type == \"regexp\") {\n      cx.state.lastType = cx.marked = \"operator\"\n      cx.stream.backUp(cx.stream.pos - cx.stream.start - 1)\n      return cont(expr)\n    }\n  }\n  function quasi(type, value) {\n    if (type != \"quasi\") return pass();\n    if (value.slice(value.length - 2) != \"${\") return cont(quasi);\n    return cont(expression, continueQuasi);\n  }\n  function continueQuasi(type) {\n    if (type == \"}\") {\n      cx.marked = \"string-2\";\n      cx.state.tokenize = tokenQuasi;\n      return cont(quasi);\n    }\n  }\n  function arrowBody(type) {\n    findFatArrow(cx.stream, cx.state);\n    return pass(type == \"{\" ? statement : expression);\n  }\n  function arrowBodyNoComma(type) {\n    findFatArrow(cx.stream, cx.state);\n    return pass(type == \"{\" ? statement : expressionNoComma);\n  }\n  function maybeTarget(noComma) {\n    return function(type) {\n      if (type == \".\") return cont(noComma ? targetNoComma : target);\n      else if (type == \"variable\" && isTS) return cont(maybeTypeArgs, noComma ? maybeoperatorNoComma : maybeoperatorComma)\n      else return pass(noComma ? expressionNoComma : expression);\n    };\n  }\n  function target(_, value) {\n    if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorComma); }\n  }\n  function targetNoComma(_, value) {\n    if (value == \"target\") { cx.marked = \"keyword\"; return cont(maybeoperatorNoComma); }\n  }\n  function maybelabel(type) {\n    if (type == \":\") return cont(poplex, statement);\n    return pass(maybeoperatorComma, expect(\";\"), poplex);\n  }\n  function property(type) {\n    if (type == \"variable\") {cx.marked = \"property\"; return cont();}\n  }\n  function objprop(type, value) {\n    if (type == \"async\") {\n      cx.marked = \"property\";\n      return cont(objprop);\n    } else if (type == \"variable\" || cx.style == \"keyword\") {\n      cx.marked = \"property\";\n      if (value == \"get\" || value == \"set\") return cont(getterSetter);\n      var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params\n      if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\\s*:\\s*/, false)))\n        cx.state.fatArrowAt = cx.stream.pos + m[0].length\n      return cont(afterprop);\n    } else if (type == \"number\" || type == \"string\") {\n      cx.marked = jsonldMode ? \"property\" : (cx.style + \" property\");\n      return cont(afterprop);\n    } else if (type == \"jsonld-keyword\") {\n      return cont(afterprop);\n    } else if (isTS && isModifier(value)) {\n      cx.marked = \"keyword\"\n      return cont(objprop)\n    } else if (type == \"[\") {\n      return cont(expression, maybetype, expect(\"]\"), afterprop);\n    } else if (type == \"spread\") {\n      return cont(expressionNoComma, afterprop);\n    } else if (value == \"*\") {\n      cx.marked = \"keyword\";\n      return cont(objprop);\n    } else if (type == \":\") {\n      return pass(afterprop)\n    }\n  }\n  function getterSetter(type) {\n    if (type != \"variable\") return pass(afterprop);\n    cx.marked = \"property\";\n    return cont(functiondef);\n  }\n  function afterprop(type) {\n    if (type == \":\") return cont(expressionNoComma);\n    if (type == \"(\") return pass(functiondef);\n  }\n  function commasep(what, end, sep) {\n    function proceed(type, value) {\n      if (sep ? sep.indexOf(type) > -1 : type == \",\") {\n        var lex = cx.state.lexical;\n        if (lex.info == \"call\") lex.pos = (lex.pos || 0) + 1;\n        return cont(function(type, value) {\n          if (type == end || value == end) return pass()\n          return pass(what)\n        }, proceed);\n      }\n      if (type == end || value == end) return cont();\n      return cont(expect(end));\n    }\n    return function(type, value) {\n      if (type == end || value == end) return cont();\n      return pass(what, proceed);\n    };\n  }\n  function contCommasep(what, end, info) {\n    for (var i = 3; i < arguments.length; i++)\n      cx.cc.push(arguments[i]);\n    return cont(pushlex(end, info), commasep(what, end), poplex);\n  }\n  function block(type) {\n    if (type == \"}\") return cont();\n    return pass(statement, block);\n  }\n  function maybetype(type, value) {\n    if (isTS) {\n      if (type == \":\") return cont(typeexpr);\n      if (value == \"?\") return cont(maybetype);\n    }\n  }\n  function mayberettype(type) {\n    if (isTS && type == \":\") {\n      if (cx.stream.match(/^\\s*\\w+\\s+is\\b/, false)) return cont(expression, isKW, typeexpr)\n      else return cont(typeexpr)\n    }\n  }\n  function isKW(_, value) {\n    if (value == \"is\") {\n      cx.marked = \"keyword\"\n      return cont()\n    }\n  }\n  function typeexpr(type, value) {\n    if (value == \"keyof\" || value == \"typeof\") {\n      cx.marked = \"keyword\"\n      return cont(value == \"keyof\" ? typeexpr : expressionNoComma)\n    }\n    if (type == \"variable\" || value == \"void\") {\n      cx.marked = \"type\"\n      return cont(afterType)\n    }\n    if (type == \"string\" || type == \"number\" || type == \"atom\") return cont(afterType);\n    if (type == \"[\") return cont(pushlex(\"]\"), commasep(typeexpr, \"]\", \",\"), poplex, afterType)\n    if (type == \"{\") return cont(pushlex(\"}\"), commasep(typeprop, \"}\", \",;\"), poplex, afterType)\n    if (type == \"(\") return cont(commasep(typearg, \")\"), maybeReturnType)\n    if (type == \"<\") return cont(commasep(typeexpr, \">\"), typeexpr)\n  }\n  function maybeReturnType(type) {\n    if (type == \"=>\") return cont(typeexpr)\n  }\n  function typeprop(type, value) {\n    if (type == \"variable\" || cx.style == \"keyword\") {\n      cx.marked = \"property\"\n      return cont(typeprop)\n    } else if (value == \"?\") {\n      return cont(typeprop)\n    } else if (type == \":\") {\n      return cont(typeexpr)\n    } else if (type == \"[\") {\n      return cont(expression, maybetype, expect(\"]\"), typeprop)\n    }\n  }\n  function typearg(type, value) {\n    if (type == \"variable\" && cx.stream.match(/^\\s*[?:]/, false) || value == \"?\") return cont(typearg)\n    if (type == \":\") return cont(typeexpr)\n    return pass(typeexpr)\n  }\n  function afterType(type, value) {\n    if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n    if (value == \"|\" || type == \".\" || value == \"&\") return cont(typeexpr)\n    if (type == \"[\") return cont(expect(\"]\"), afterType)\n    if (value == \"extends\" || value == \"implements\") { cx.marked = \"keyword\"; return cont(typeexpr) }\n  }\n  function maybeTypeArgs(_, value) {\n    if (value == \"<\") return cont(pushlex(\">\"), commasep(typeexpr, \">\"), poplex, afterType)\n  }\n  function typeparam() {\n    return pass(typeexpr, maybeTypeDefault)\n  }\n  function maybeTypeDefault(_, value) {\n    if (value == \"=\") return cont(typeexpr)\n  }\n  function vardef(_, value) {\n    if (value == \"enum\") {cx.marked = \"keyword\"; return cont(enumdef)}\n    return pass(pattern, maybetype, maybeAssign, vardefCont);\n  }\n  function pattern(type, value) {\n    if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(pattern) }\n    if (type == \"variable\") { register(value); return cont(); }\n    if (type == \"spread\") return cont(pattern);\n    if (type == \"[\") return contCommasep(pattern, \"]\");\n    if (type == \"{\") return contCommasep(proppattern, \"}\");\n  }\n  function proppattern(type, value) {\n    if (type == \"variable\" && !cx.stream.match(/^\\s*:/, false)) {\n      register(value);\n      return cont(maybeAssign);\n    }\n    if (type == \"variable\") cx.marked = \"property\";\n    if (type == \"spread\") return cont(pattern);\n    if (type == \"}\") return pass();\n    return cont(expect(\":\"), pattern, maybeAssign);\n  }\n  function maybeAssign(_type, value) {\n    if (value == \"=\") return cont(expressionNoComma);\n  }\n  function vardefCont(type) {\n    if (type == \",\") return cont(vardef);\n  }\n  function maybeelse(type, value) {\n    if (type == \"keyword b\" && value == \"else\") return cont(pushlex(\"form\", \"else\"), statement, poplex);\n  }\n  function forspec(type, value) {\n    if (value == \"await\") return cont(forspec);\n    if (type == \"(\") return cont(pushlex(\")\"), forspec1, expect(\")\"), poplex);\n  }\n  function forspec1(type) {\n    if (type == \"var\") return cont(vardef, expect(\";\"), forspec2);\n    if (type == \";\") return cont(forspec2);\n    if (type == \"variable\") return cont(formaybeinof);\n    return pass(expression, expect(\";\"), forspec2);\n  }\n  function formaybeinof(_type, value) {\n    if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression); }\n    return cont(maybeoperatorComma, forspec2);\n  }\n  function forspec2(type, value) {\n    if (type == \";\") return cont(forspec3);\n    if (value == \"in\" || value == \"of\") { cx.marked = \"keyword\"; return cont(expression); }\n    return pass(expression, expect(\";\"), forspec3);\n  }\n  function forspec3(type) {\n    if (type != \")\") cont(expression);\n  }\n  function functiondef(type, value) {\n    if (value == \"*\") {cx.marked = \"keyword\"; return cont(functiondef);}\n    if (type == \"variable\") {register(value); return cont(functiondef);}\n    if (type == \"(\") return cont(pushcontext, pushlex(\")\"), commasep(funarg, \")\"), poplex, mayberettype, statement, popcontext);\n    if (isTS && value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, functiondef)\n  }\n  function funarg(type, value) {\n    if (value == \"@\") cont(expression, funarg)\n    if (type == \"spread\") return cont(funarg);\n    if (isTS && isModifier(value)) { cx.marked = \"keyword\"; return cont(funarg); }\n    return pass(pattern, maybetype, maybeAssign);\n  }\n  function classExpression(type, value) {\n    // Class expressions may have an optional name.\n    if (type == \"variable\") return className(type, value);\n    return classNameAfter(type, value);\n  }\n  function className(type, value) {\n    if (type == \"variable\") {register(value); return cont(classNameAfter);}\n  }\n  function classNameAfter(type, value) {\n    if (value == \"<\") return cont(pushlex(\">\"), commasep(typeparam, \">\"), poplex, classNameAfter)\n    if (value == \"extends\" || value == \"implements\" || (isTS && type == \",\")) {\n      if (value == \"implements\") cx.marked = \"keyword\";\n      return cont(isTS ? typeexpr : expression, classNameAfter);\n    }\n    if (type == \"{\") return cont(pushlex(\"}\"), classBody, poplex);\n  }\n  function classBody(type, value) {\n    if (type == \"async\" ||\n        (type == \"variable\" &&\n         (value == \"static\" || value == \"get\" || value == \"set\" || (isTS && isModifier(value))) &&\n         cx.stream.match(/^\\s+[\\w$\\xa1-\\uffff]/, false))) {\n      cx.marked = \"keyword\";\n      return cont(classBody);\n    }\n    if (type == \"variable\" || cx.style == \"keyword\") {\n      cx.marked = \"property\";\n      return cont(isTS ? classfield : functiondef, classBody);\n    }\n    if (type == \"[\")\n      return cont(expression, maybetype, expect(\"]\"), isTS ? classfield : functiondef, classBody)\n    if (value == \"*\") {\n      cx.marked = \"keyword\";\n      return cont(classBody);\n    }\n    if (type == \";\") return cont(classBody);\n    if (type == \"}\") return cont();\n    if (value == \"@\") return cont(expression, classBody)\n  }\n  function classfield(type, value) {\n    if (value == \"?\") return cont(classfield)\n    if (type == \":\") return cont(typeexpr, maybeAssign)\n    if (value == \"=\") return cont(expressionNoComma)\n    return pass(functiondef)\n  }\n  function afterExport(type, value) {\n    if (value == \"*\") { cx.marked = \"keyword\"; return cont(maybeFrom, expect(\";\")); }\n    if (value == \"default\") { cx.marked = \"keyword\"; return cont(expression, expect(\";\")); }\n    if (type == \"{\") return cont(commasep(exportField, \"}\"), maybeFrom, expect(\";\"));\n    return pass(statement);\n  }\n  function exportField(type, value) {\n    if (value == \"as\") { cx.marked = \"keyword\"; return cont(expect(\"variable\")); }\n    if (type == \"variable\") return pass(expressionNoComma, exportField);\n  }\n  function afterImport(type) {\n    if (type == \"string\") return cont();\n    if (type == \"(\") return pass(expression);\n    return pass(importSpec, maybeMoreImports, maybeFrom);\n  }\n  function importSpec(type, value) {\n    if (type == \"{\") return contCommasep(importSpec, \"}\");\n    if (type == \"variable\") register(value);\n    if (value == \"*\") cx.marked = \"keyword\";\n    return cont(maybeAs);\n  }\n  function maybeMoreImports(type) {\n    if (type == \",\") return cont(importSpec, maybeMoreImports)\n  }\n  function maybeAs(_type, value) {\n    if (value == \"as\") { cx.marked = \"keyword\"; return cont(importSpec); }\n  }\n  function maybeFrom(_type, value) {\n    if (value == \"from\") { cx.marked = \"keyword\"; return cont(expression); }\n  }\n  function arrayLiteral(type) {\n    if (type == \"]\") return cont();\n    return pass(commasep(expressionNoComma, \"]\"));\n  }\n  function enumdef() {\n    return pass(pushlex(\"form\"), pattern, expect(\"{\"), pushlex(\"}\"), commasep(enummember, \"}\"), poplex, poplex)\n  }\n  function enummember() {\n    return pass(pattern, maybeAssign);\n  }\n\n  function isContinuedStatement(state, textAfter) {\n    return state.lastType == \"operator\" || state.lastType == \",\" ||\n      isOperatorChar.test(textAfter.charAt(0)) ||\n      /[,.]/.test(textAfter.charAt(0));\n  }\n\n  function expressionAllowed(stream, state, backUp) {\n    return state.tokenize == tokenBase &&\n      /^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\\[{}\\(,;:]|=>)$/.test(state.lastType) ||\n      (state.lastType == \"quasi\" && /\\{\\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0))))\n  }\n\n  // Interface\n\n  return {\n    startState: function(basecolumn) {\n      var state = {\n        tokenize: tokenBase,\n        lastType: \"sof\",\n        cc: [],\n        lexical: new JSLexical((basecolumn || 0) - indentUnit, 0, \"block\", false),\n        localVars: parserConfig.localVars,\n        context: parserConfig.localVars && new Context(null, null, false),\n        indented: basecolumn || 0\n      };\n      if (parserConfig.globalVars && typeof parserConfig.globalVars == \"object\")\n        state.globalVars = parserConfig.globalVars;\n      return state;\n    },\n\n    token: function(stream, state) {\n      if (stream.sol()) {\n        if (!state.lexical.hasOwnProperty(\"align\"))\n          state.lexical.align = false;\n        state.indented = stream.indentation();\n        findFatArrow(stream, state);\n      }\n      if (state.tokenize != tokenComment && stream.eatSpace()) return null;\n      var style = state.tokenize(stream, state);\n      if (type == \"comment\") return style;\n      state.lastType = type == \"operator\" && (content == \"++\" || content == \"--\") ? \"incdec\" : type;\n      return parseJS(state, style, type, content, stream);\n    },\n\n    indent: function(state, textAfter) {\n      if (state.tokenize == tokenComment) return CodeMirror.Pass;\n      if (state.tokenize != tokenBase) return 0;\n      var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top\n      // Kludge to prevent 'maybelse' from blocking lexical scope pops\n      if (!/^\\s*else\\b/.test(textAfter)) for (var i = state.cc.length - 1; i >= 0; --i) {\n        var c = state.cc[i];\n        if (c == poplex) lexical = lexical.prev;\n        else if (c != maybeelse) break;\n      }\n      while ((lexical.type == \"stat\" || lexical.type == \"form\") &&\n             (firstChar == \"}\" || ((top = state.cc[state.cc.length - 1]) &&\n                                   (top == maybeoperatorComma || top == maybeoperatorNoComma) &&\n                                   !/^[,\\.=+\\-*:?[\\(]/.test(textAfter))))\n        lexical = lexical.prev;\n      if (statementIndent && lexical.type == \")\" && lexical.prev.type == \"stat\")\n        lexical = lexical.prev;\n      var type = lexical.type, closing = firstChar == type;\n\n      if (type == \"vardef\") return lexical.indented + (state.lastType == \"operator\" || state.lastType == \",\" ? lexical.info.length + 1 : 0);\n      else if (type == \"form\" && firstChar == \"{\") return lexical.indented;\n      else if (type == \"form\") return lexical.indented + indentUnit;\n      else if (type == \"stat\")\n        return lexical.indented + (isContinuedStatement(state, textAfter) ? statementIndent || indentUnit : 0);\n      else if (lexical.info == \"switch\" && !closing && parserConfig.doubleIndentSwitch != false)\n        return lexical.indented + (/^(?:case|default)\\b/.test(textAfter) ? indentUnit : 2 * indentUnit);\n      else if (lexical.align) return lexical.column + (closing ? 0 : 1);\n      else return lexical.indented + (closing ? 0 : indentUnit);\n    },\n\n    electricInput: /^\\s*(?:case .*?:|default:|\\{|\\})$/,\n    blockCommentStart: jsonMode ? null : \"/*\",\n    blockCommentEnd: jsonMode ? null : \"*/\",\n    blockCommentContinue: jsonMode ? null : \" * \",\n    lineComment: jsonMode ? null : \"//\",\n    fold: \"brace\",\n    closeBrackets: \"()[]{}''\\\"\\\"``\",\n\n    helperType: jsonMode ? \"json\" : \"javascript\",\n    jsonldMode: jsonldMode,\n    jsonMode: jsonMode,\n\n    expressionAllowed: expressionAllowed,\n\n    skipExpression: function(state) {\n      var top = state.cc[state.cc.length - 1]\n      if (top == expression || top == expressionNoComma) state.cc.pop()\n    }\n  };\n});\n\nCodeMirror.registerHelper(\"wordChars\", \"javascript\", /[\\w$]/);\n\nCodeMirror.defineMIME(\"text/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"text/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/x-javascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/ecmascript\", \"javascript\");\nCodeMirror.defineMIME(\"application/json\", {name: \"javascript\", json: true});\nCodeMirror.defineMIME(\"application/x-json\", {name: \"javascript\", json: true});\nCodeMirror.defineMIME(\"application/ld+json\", {name: \"javascript\", jsonld: true});\nCodeMirror.defineMIME(\"text/typescript\", { name: \"javascript\", typescript: true });\nCodeMirror.defineMIME(\"application/typescript\", { name: \"javascript\", typescript: true });\n\n});\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/javascript/json-ld.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: JSON-LD mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/edit/matchbrackets.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/comment/continuecomment.js\"></script>\n<script src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/addon/comment/comment.js\"></script>\n<script src=\"javascript.js\"></script>\n<style type=\"text/css\">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>\n<div id=\"nav\">\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"/></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"json-ld.html#\">JSON-LD</a>\n  </ul>\n</div>\n\n<article>\n<h2>JSON-LD mode</h2>\n\n\n<div><textarea id=\"code\" name=\"code\">\n{\n  \"@context\": {\n    \"name\": \"http://schema.org/name\",\n    \"description\": \"http://schema.org/description\",\n    \"image\": {\n      \"@id\": \"http://schema.org/image\",\n      \"@type\": \"@id\"\n    },\n    \"geo\": \"http://schema.org/geo\",\n    \"latitude\": {\n      \"@id\": \"http://schema.org/latitude\",\n      \"@type\": \"xsd:float\"\n    },\n    \"longitude\": {\n      \"@id\": \"http://schema.org/longitude\",\n      \"@type\": \"xsd:float\"\n    },\n    \"xsd\": \"http://www.w3.org/2001/XMLSchema#\"\n  },\n  \"name\": \"The Empire State Building\",\n  \"description\": \"The Empire State Building is a 102-story landmark in New York City.\",\n  \"image\": \"http://www.civil.usherbrooke.ca/cours/gci215a/empire-state-building.jpg\",\n  \"geo\": {\n    \"latitude\": \"40.75\",\n    \"longitude\": \"73.98\"\n  }\n}\n</textarea></div>\n\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        matchBrackets: true,\n        autoCloseBrackets: true,\n        mode: \"application/ld+json\",\n        lineWrapping: true\n      });\n    </script>\n    \n    <p>This is a specialization of the <a href=\"index.html\">JavaScript mode</a>.</p>\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/javascript/typescript.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: TypeScript mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"javascript.js\"></script>\n<style type=\"text/css\">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>\n<div id=nav>\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"typescript.html#\">TypeScript</a>\n  </ul>\n</div>\n\n<article>\n<h2>TypeScript mode</h2>\n\n\n<div><textarea id=\"code\" name=\"code\">\nclass Greeter {\n  greeting: string;\n  constructor (message: string) {\n    this.greeting = message;\n  }\n  greet() {\n    return \"Hello, \" + this.greeting;\n  }\n}   \n\nvar greeter = new Greeter(\"world\");\n\nvar button = document.createElement('button')\nbutton.innerText = \"Say Hello\"\nbutton.onclick = function() {\n  alert(greeter.greet())\n}\n\ndocument.body.appendChild(button)\n\n</textarea></div>\n\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        lineNumbers: true,\n        matchBrackets: true,\n        mode: \"text/typescript\"\n      });\n    </script>\n\n    <p>This is a specialization of the <a href=\"index.html\">JavaScript mode</a>.</p>\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/xml/index.html",
    "content": "<!doctype html>\n\n<title>CodeMirror: XML mode</title>\n<meta charset=\"utf-8\"/>\n<link rel=stylesheet href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/docs.css\">\n\n<link rel=\"stylesheet\" href=\"../../lib/codemirror.css\">\n<script src=\"../../lib/codemirror.js\"></script>\n<script src=\"xml.js\"></script>\n<style type=\"text/css\">.CodeMirror {border-top: 1px solid black; border-bottom: 1px solid black;}</style>\n<div id=nav>\n  <a href=\"http://codemirror.net\"><h1>CodeMirror</h1><img id=logo src=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/logo.png\"></a>\n\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/index.html\">Home</a>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/doc/manual.html\">Manual</a>\n    <li><a href=\"https://github.com/codemirror/codemirror\">Code</a>\n  </ul>\n  <ul>\n    <li><a href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/codemirror/mode/index.html\">Language modes</a>\n    <li><a class=active href=\"index.html#\">XML</a>\n  </ul>\n</div>\n\n<article>\n<h2>XML mode</h2>\n<form><textarea id=\"code\" name=\"code\">\n&lt;html style=\"color: green\"&gt;\n  &lt;!-- this is a comment --&gt;\n  &lt;head&gt;\n    &lt;title&gt;HTML Example&lt;/title&gt;\n  &lt;/head&gt;\n  &lt;body&gt;\n    The indentation tries to be &lt;em&gt;somewhat &amp;quot;do what\n    I mean&amp;quot;&lt;/em&gt;... but might not match your style.\n  &lt;/body&gt;\n&lt;/html&gt;\n</textarea></form>\n    <script>\n      var editor = CodeMirror.fromTextArea(document.getElementById(\"code\"), {\n        mode: \"text/html\",\n        lineNumbers: true\n      });\n    </script>\n    <p>The XML mode supports these configuration parameters:</p>\n    <dl>\n      <dt><code>htmlMode (boolean)</code></dt>\n      <dd>This switches the mode to parse HTML instead of XML. This\n      means attributes do not have to be quoted, and some elements\n      (such as <code>br</code>) do not require a closing tag.</dd>\n      <dt><code>matchClosing (boolean)</code></dt>\n      <dd>Controls whether the mode checks that close tags match the\n      corresponding opening tag, and highlights mismatches as errors.\n      Defaults to true.</dd>\n      <dt><code>alignCDATA (boolean)</code></dt>\n      <dd>Setting this to true will force the opening tag of CDATA\n      blocks to not be indented.</dd>\n    </dl>\n\n    <p><strong>MIME types defined:</strong> <code>application/xml</code>, <code>text/html</code>.</p>\n  </article>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/codemirror/mode/xml/xml.js",
    "content": "// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: http://codemirror.net/LICENSE\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nvar htmlConfig = {\n  autoSelfClosers: {'area': true, 'base': true, 'br': true, 'col': true, 'command': true,\n                    'embed': true, 'frame': true, 'hr': true, 'img': true, 'input': true,\n                    'keygen': true, 'link': true, 'meta': true, 'param': true, 'source': true,\n                    'track': true, 'wbr': true, 'menuitem': true},\n  implicitlyClosed: {'dd': true, 'li': true, 'optgroup': true, 'option': true, 'p': true,\n                     'rp': true, 'rt': true, 'tbody': true, 'td': true, 'tfoot': true,\n                     'th': true, 'tr': true},\n  contextGrabbers: {\n    'dd': {'dd': true, 'dt': true},\n    'dt': {'dd': true, 'dt': true},\n    'li': {'li': true},\n    'option': {'option': true, 'optgroup': true},\n    'optgroup': {'optgroup': true},\n    'p': {'address': true, 'article': true, 'aside': true, 'blockquote': true, 'dir': true,\n          'div': true, 'dl': true, 'fieldset': true, 'footer': true, 'form': true,\n          'h1': true, 'h2': true, 'h3': true, 'h4': true, 'h5': true, 'h6': true,\n          'header': true, 'hgroup': true, 'hr': true, 'menu': true, 'nav': true, 'ol': true,\n          'p': true, 'pre': true, 'section': true, 'table': true, 'ul': true},\n    'rp': {'rp': true, 'rt': true},\n    'rt': {'rp': true, 'rt': true},\n    'tbody': {'tbody': true, 'tfoot': true},\n    'td': {'td': true, 'th': true},\n    'tfoot': {'tbody': true},\n    'th': {'td': true, 'th': true},\n    'thead': {'tbody': true, 'tfoot': true},\n    'tr': {'tr': true}\n  },\n  doNotIndent: {\"pre\": true},\n  allowUnquoted: true,\n  allowMissing: true,\n  caseFold: true\n}\n\nvar xmlConfig = {\n  autoSelfClosers: {},\n  implicitlyClosed: {},\n  contextGrabbers: {},\n  doNotIndent: {},\n  allowUnquoted: false,\n  allowMissing: false,\n  allowMissingTagName: false,\n  caseFold: false\n}\n\nCodeMirror.defineMode(\"xml\", function(editorConf, config_) {\n  var indentUnit = editorConf.indentUnit\n  var config = {}\n  var defaults = config_.htmlMode ? htmlConfig : xmlConfig\n  for (var prop in defaults) config[prop] = defaults[prop]\n  for (var prop in config_) config[prop] = config_[prop]\n\n  // Return variables for tokenizers\n  var type, setStyle;\n\n  function inText(stream, state) {\n    function chain(parser) {\n      state.tokenize = parser;\n      return parser(stream, state);\n    }\n\n    var ch = stream.next();\n    if (ch == \"<\") {\n      if (stream.eat(\"!\")) {\n        if (stream.eat(\"[\")) {\n          if (stream.match(\"CDATA[\")) return chain(inBlock(\"atom\", \"]]>\"));\n          else return null;\n        } else if (stream.match(\"--\")) {\n          return chain(inBlock(\"comment\", \"-->\"));\n        } else if (stream.match(\"DOCTYPE\", true, true)) {\n          stream.eatWhile(/[\\w\\._\\-]/);\n          return chain(doctype(1));\n        } else {\n          return null;\n        }\n      } else if (stream.eat(\"?\")) {\n        stream.eatWhile(/[\\w\\._\\-]/);\n        state.tokenize = inBlock(\"meta\", \"?>\");\n        return \"meta\";\n      } else {\n        type = stream.eat(\"/\") ? \"closeTag\" : \"openTag\";\n        state.tokenize = inTag;\n        return \"tag bracket\";\n      }\n    } else if (ch == \"&\") {\n      var ok;\n      if (stream.eat(\"#\")) {\n        if (stream.eat(\"x\")) {\n          ok = stream.eatWhile(/[a-fA-F\\d]/) && stream.eat(\";\");\n        } else {\n          ok = stream.eatWhile(/[\\d]/) && stream.eat(\";\");\n        }\n      } else {\n        ok = stream.eatWhile(/[\\w\\.\\-:]/) && stream.eat(\";\");\n      }\n      return ok ? \"atom\" : \"error\";\n    } else {\n      stream.eatWhile(/[^&<]/);\n      return null;\n    }\n  }\n  inText.isInText = true;\n\n  function inTag(stream, state) {\n    var ch = stream.next();\n    if (ch == \">\" || (ch == \"/\" && stream.eat(\">\"))) {\n      state.tokenize = inText;\n      type = ch == \">\" ? \"endTag\" : \"selfcloseTag\";\n      return \"tag bracket\";\n    } else if (ch == \"=\") {\n      type = \"equals\";\n      return null;\n    } else if (ch == \"<\") {\n      state.tokenize = inText;\n      state.state = baseState;\n      state.tagName = state.tagStart = null;\n      var next = state.tokenize(stream, state);\n      return next ? next + \" tag error\" : \"tag error\";\n    } else if (/[\\'\\\"]/.test(ch)) {\n      state.tokenize = inAttribute(ch);\n      state.stringStartCol = stream.column();\n      return state.tokenize(stream, state);\n    } else {\n      stream.match(/^[^\\s\\u00a0=<>\\\"\\']*[^\\s\\u00a0=<>\\\"\\'\\/]/);\n      return \"word\";\n    }\n  }\n\n  function inAttribute(quote) {\n    var closure = function(stream, state) {\n      while (!stream.eol()) {\n        if (stream.next() == quote) {\n          state.tokenize = inTag;\n          break;\n        }\n      }\n      return \"string\";\n    };\n    closure.isInAttribute = true;\n    return closure;\n  }\n\n  function inBlock(style, terminator) {\n    return function(stream, state) {\n      while (!stream.eol()) {\n        if (stream.match(terminator)) {\n          state.tokenize = inText;\n          break;\n        }\n        stream.next();\n      }\n      return style;\n    }\n  }\n\n  function doctype(depth) {\n    return function(stream, state) {\n      var ch;\n      while ((ch = stream.next()) != null) {\n        if (ch == \"<\") {\n          state.tokenize = doctype(depth + 1);\n          return state.tokenize(stream, state);\n        } else if (ch == \">\") {\n          if (depth == 1) {\n            state.tokenize = inText;\n            break;\n          } else {\n            state.tokenize = doctype(depth - 1);\n            return state.tokenize(stream, state);\n          }\n        }\n      }\n      return \"meta\";\n    };\n  }\n\n  function Context(state, tagName, startOfLine) {\n    this.prev = state.context;\n    this.tagName = tagName;\n    this.indent = state.indented;\n    this.startOfLine = startOfLine;\n    if (config.doNotIndent.hasOwnProperty(tagName) || (state.context && state.context.noIndent))\n      this.noIndent = true;\n  }\n  function popContext(state) {\n    if (state.context) state.context = state.context.prev;\n  }\n  function maybePopContext(state, nextTagName) {\n    var parentTagName;\n    while (true) {\n      if (!state.context) {\n        return;\n      }\n      parentTagName = state.context.tagName;\n      if (!config.contextGrabbers.hasOwnProperty(parentTagName) ||\n          !config.contextGrabbers[parentTagName].hasOwnProperty(nextTagName)) {\n        return;\n      }\n      popContext(state);\n    }\n  }\n\n  function baseState(type, stream, state) {\n    if (type == \"openTag\") {\n      state.tagStart = stream.column();\n      return tagNameState;\n    } else if (type == \"closeTag\") {\n      return closeTagNameState;\n    } else {\n      return baseState;\n    }\n  }\n  function tagNameState(type, stream, state) {\n    if (type == \"word\") {\n      state.tagName = stream.current();\n      setStyle = \"tag\";\n      return attrState;\n    } else if (config.allowMissingTagName && type == \"endTag\") {\n      setStyle = \"tag bracket\";\n      return attrState(type, stream, state);\n    } else {\n      setStyle = \"error\";\n      return tagNameState;\n    }\n  }\n  function closeTagNameState(type, stream, state) {\n    if (type == \"word\") {\n      var tagName = stream.current();\n      if (state.context && state.context.tagName != tagName &&\n          config.implicitlyClosed.hasOwnProperty(state.context.tagName))\n        popContext(state);\n      if ((state.context && state.context.tagName == tagName) || config.matchClosing === false) {\n        setStyle = \"tag\";\n        return closeState;\n      } else {\n        setStyle = \"tag error\";\n        return closeStateErr;\n      }\n    } else if (config.allowMissingTagName && type == \"endTag\") {\n      setStyle = \"tag bracket\";\n      return closeState(type, stream, state);\n    } else {\n      setStyle = \"error\";\n      return closeStateErr;\n    }\n  }\n\n  function closeState(type, _stream, state) {\n    if (type != \"endTag\") {\n      setStyle = \"error\";\n      return closeState;\n    }\n    popContext(state);\n    return baseState;\n  }\n  function closeStateErr(type, stream, state) {\n    setStyle = \"error\";\n    return closeState(type, stream, state);\n  }\n\n  function attrState(type, _stream, state) {\n    if (type == \"word\") {\n      setStyle = \"attribute\";\n      return attrEqState;\n    } else if (type == \"endTag\" || type == \"selfcloseTag\") {\n      var tagName = state.tagName, tagStart = state.tagStart;\n      state.tagName = state.tagStart = null;\n      if (type == \"selfcloseTag\" ||\n          config.autoSelfClosers.hasOwnProperty(tagName)) {\n        maybePopContext(state, tagName);\n      } else {\n        maybePopContext(state, tagName);\n        state.context = new Context(state, tagName, tagStart == state.indented);\n      }\n      return baseState;\n    }\n    setStyle = \"error\";\n    return attrState;\n  }\n  function attrEqState(type, stream, state) {\n    if (type == \"equals\") return attrValueState;\n    if (!config.allowMissing) setStyle = \"error\";\n    return attrState(type, stream, state);\n  }\n  function attrValueState(type, stream, state) {\n    if (type == \"string\") return attrContinuedState;\n    if (type == \"word\" && config.allowUnquoted) {setStyle = \"string\"; return attrState;}\n    setStyle = \"error\";\n    return attrState(type, stream, state);\n  }\n  function attrContinuedState(type, stream, state) {\n    if (type == \"string\") return attrContinuedState;\n    return attrState(type, stream, state);\n  }\n\n  return {\n    startState: function(baseIndent) {\n      var state = {tokenize: inText,\n                   state: baseState,\n                   indented: baseIndent || 0,\n                   tagName: null, tagStart: null,\n                   context: null}\n      if (baseIndent != null) state.baseIndent = baseIndent\n      return state\n    },\n\n    token: function(stream, state) {\n      if (!state.tagName && stream.sol())\n        state.indented = stream.indentation();\n\n      if (stream.eatSpace()) return null;\n      type = null;\n      var style = state.tokenize(stream, state);\n      if ((style || type) && style != \"comment\") {\n        setStyle = null;\n        state.state = state.state(type || style, stream, state);\n        if (setStyle)\n          style = setStyle == \"error\" ? style + \" error\" : setStyle;\n      }\n      return style;\n    },\n\n    indent: function(state, textAfter, fullLine) {\n      var context = state.context;\n      // Indent multi-line strings (e.g. css).\n      if (state.tokenize.isInAttribute) {\n        if (state.tagStart == state.indented)\n          return state.stringStartCol + 1;\n        else\n          return state.indented + indentUnit;\n      }\n      if (context && context.noIndent) return CodeMirror.Pass;\n      if (state.tokenize != inTag && state.tokenize != inText)\n        return fullLine ? fullLine.match(/^(\\s*)/)[0].length : 0;\n      // Indent the starts of attribute names.\n      if (state.tagName) {\n        if (config.multilineTagIndentPastTag !== false)\n          return state.tagStart + state.tagName.length + 2;\n        else\n          return state.tagStart + indentUnit * (config.multilineTagIndentFactor || 1);\n      }\n      if (config.alignCDATA && /<!\\[CDATA\\[/.test(textAfter)) return 0;\n      var tagAfter = textAfter && /^<(\\/)?([\\w_:\\.-]*)/.exec(textAfter);\n      if (tagAfter && tagAfter[1]) { // Closing tag spotted\n        while (context) {\n          if (context.tagName == tagAfter[2]) {\n            context = context.prev;\n            break;\n          } else if (config.implicitlyClosed.hasOwnProperty(context.tagName)) {\n            context = context.prev;\n          } else {\n            break;\n          }\n        }\n      } else if (tagAfter) { // Opening tag spotted\n        while (context) {\n          var grabbers = config.contextGrabbers[context.tagName];\n          if (grabbers && grabbers.hasOwnProperty(tagAfter[2]))\n            context = context.prev;\n          else\n            break;\n        }\n      }\n      while (context && context.prev && !context.startOfLine)\n        context = context.prev;\n      if (context) return context.indent + indentUnit;\n      else return state.baseIndent || 0;\n    },\n\n    electricInput: /<\\/[\\s\\w:]+>$/,\n    blockCommentStart: \"<!--\",\n    blockCommentEnd: \"-->\",\n\n    configuration: config.htmlMode ? \"html\" : \"xml\",\n    helperType: config.htmlMode ? \"html\" : \"xml\",\n\n    skipAttribute: function(state) {\n      if (state.state == attrValueState)\n        state.state = attrState\n    }\n  };\n});\n\nCodeMirror.defineMIME(\"text/xml\", \"xml\");\nCodeMirror.defineMIME(\"application/xml\", \"xml\");\nif (!CodeMirror.mimeModes.hasOwnProperty(\"text/html\"))\n  CodeMirror.defineMIME(\"text/html\", {name: \"xml\", htmlMode: true});\n\n});\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/contentbuilder-src.js",
    "content": "/*\nContentBuilder.js ver.2.4.8\n*/\n\nvar cb_list='';\nvar cb_edit = true;\nvar cb_snippetList = '#divSnippetList';\nvar cb_snippetPageSliding = false;\n\nvar oScripts=document.getElementsByTagName(\"script\");\nvar sScriptPath;\nfor(var i=0;i<oScripts.length;i++) {\n    var sSrc=oScripts[i].src.toLowerCase();\n    if(sSrc.indexOf(\"contentbuilder-src.js\")!=-1) sScriptPath=oScripts[i].src.replace(/contentbuilder-src.js/,\"\");\n    if(sSrc.indexOf(\"contentbuilder.js\")!=-1) sScriptPath=oScripts[i].src.replace(/contentbuilder.js/,\"\");\n}\n\nvar sScriptPathArray = sScriptPath.split(\"?\");\nsScriptPath = sScriptPathArray[0];\n\nvar sc = document.createElement('script');\nsc.src = sScriptPath + 'load-image.all.min.js';\ndocument.getElementsByTagName('head')[0].appendChild(sc);\n\nvar sc2 = document.createElement('link');\nsc2.rel = 'stylesheet';\nsc2.type = 'text/css';\nsc2.href = sScriptPath + 'codemirror/lib/codemirror.css';\ndocument.getElementsByTagName('head')[0].appendChild(sc2);\n\n(function (jQuery) {\n\n    var $activeRow;\n\n    jQuery.contentbuilder = function (element, options) {\n\n        var defaults = {\n            selectable: \"h1,h2,h3,h4,h5,h6,p,blockquote,ul,ol,small,.edit,td,i\",\n            editMode: 'default',\n            onChange: function () { },\n            onRender: function () { },\n            onDrop: function () { },\n            onImageBrowseClick: function () { },\n            onImageSettingClick: function () { },\n            snippetFile: 'assets/default/snippets.html',\n            modulePath: 'assets/modules/',\n            snippetPathReplace: ['',''],\n            hiquality: false,\n            snippetTool: 'right',\n            snippetOpen: false,\n            snippetPageSliding: false,\n            scrollHelper: false,\n            snippetCategories: [\n                [0,\"Default\"],\n                [-1,\"All\"],\n                [1,\"Title\"],\n                [2,\"Title, Subtitle\"],\n                [3,\"Info, Title\"],\n                [4,\"Info, Title, Subtitle\"],\n                [5,\"Heading, Paragraph\"],\n                [6,\"Paragraph\"],\n                [7,\"Paragraph, Images + Caption\"],\n                [8,\"Heading, Paragraph, Images + Caption\"],\n                [33,\"Buttons\"],\n                [34,\"Cards\"],\n                [9,\"Images + Caption\"],\n                [10,\"Images + Long Caption\"],\n                [11,\"Images\"],\n                [12,\"Single Image\"],\n                [13,\"Call to Action\"],\n                [14,\"List\"],\n                [15,\"Quotes\"],\n                [16,\"Profile\"],\n                [17,\"Map\"],\n                [20,\"Video\"],\n                [18,\"Social\"],\n                [21,\"Services\"],\n                [22,\"Contact Info\"],\n                [23,\"Pricing\"],\n                [24,\"Team Profile\"],\n                [25,\"Products/Portfolio\"],\n                [26,\"How It Works\"],\n                [27,\"Partners/Clients\"],\n                [28,\"As Featured On\"],\n                [29,\"Achievements\"],\n                [32,\"Skills\"],\n                [30,\"Coming Soon\"],\n                [31,\"Page Not Found\"],\n                [19,\"Separator\"],\n                [100,\"Custom Code\"] /* INFO: Category 100 cannot be changed. It is used for Custom Code block */\n                ],\n            addSnippetCategories: [],\n            snippetCustomCode: false,\n            snippetCustomCodeMessage: '<b>IMPORTANT</b>: This is a code block. Custom javascript code (&lt;script&gt; block) is allowed here but may not always work or compatible with the content builder, so proceed at your own risk. We do not support problems with custom code.',\n            imageselect: '',\n            fileselect: '',\n            onImageSelectClick: function () { },\n            onFileSelectClick: function () { },\n            iconselect: '',\n            imageEmbed: true,\n            sourceEditor: true,\n            buttons: [\"bold\", \"italic\", \"formatting\", \"textsettings\", \"color\", \"font\", \"formatPara\", \"align\", \"list\", \"table\", \"image\", \"createLink\", \"unlink\", \"icon\", \"tags\", \"removeFormat\", \"html\"],\n            colors: [\"#ffffc5\",\"#e9d4a7\",\"#ffd5d5\",\"#ffd4df\",\"#c5efff\",\"#b4fdff\",\"#c6f5c6\",\"#fcd1fe\",\"#ececec\",\n                \"#f7e97a\",\"#d09f5e\",\"#ff8d8d\",\"#ff80aa\",\"#63d3ff\",\"#7eeaed\",\"#94dd95\",\"#ef97f3\",\"#d4d4d4\",\n                \"#fed229\",\"#cc7f18\",\"#ff0e0e\",\"#fa4273\",\"#00b8ff\",\"#0edce2\",\"#35d037\",\"#d24fd7\",\"#888888\",\n                \"#ff9c26\",\"#955705\",\"#c31313\",\"#f51f58\",\"#1b83df\",\"#0bbfc5\",\"#1aa71b\",\"#ae19b4\",\"#333333\"],\n            snippetList: '#divSnippetList',\n            snippetCategoryList: '#divTool',\n            toolbar: 'top',\n            toolbarDisplay: 'auto',\n            axis: '',\n            hideDragPreview: false,\n            customval: '',\n            largerImageHandler: '',\n            absolutePath: false,\n            customTags: [],\n            moduleConfig: []\n        };\n\n        this.settings = {};\n\n        var $element = jQuery(element),\n                    element = element;\n\n        this.undoList = [];\n        this.redoList = [];\n\n\n\n        this.init = function () {\n\n            this.settings = jQuery.extend({}, defaults, options);\n\n            var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n            if(is_firefox) this.settings.hideDragPreview = true; //prevent drag preview positioning problem\n\n            //$element.css('zoom', 1);\n            //$element.css('-moz-transform', 'scale(1)');\n            $element.addClass('connectSortable');\n\n            /**** Get list of editable area ****/\n            if(cb_list==''){\n                cb_list = '#'+$element.attr('id');\n            }\n            else {\n                cb_list = cb_list + ',#'+$element.attr('id');\n            }\n\n            /**** Set global vars (used by all instances of ContentBuilder) ****/\n            cb_snippetList = this.settings.snippetList;\n            cb_snippetPageSliding = this.settings.snippetPageSliding;\n\n            /**** Enlarge droppable area ****/\n            //$element.css({ 'min-height': '50px' });\n\n            /**** Localize All ****/\n            if (jQuery('#divCb').length == 0) {\n                jQuery('body').append('<div id=\"divCb\"></div>');\n            }\n\n            /**** Load snippets library ****/\n\n            for(var i=0;i<this.settings.addSnippetCategories.length;i++){\n                this.settings.snippetCategories.push(this.settings.addSnippetCategories[i]);\n            }\n\n            if (jQuery('.is-snippet-list').length == 0) {\n\n                //Prepare snippet categories\n                var html_catselect = '';\n                if( this.settings.snippetCustomCode == false ) {\n                    for(var i=0;i<this.settings.snippetCategories.length;i++){\n                        if(this.settings.snippetCategories[i][0]==100){\n                            this.settings.snippetCategories.splice(i, 1); //Hide custom code snippet if parameter \"snippetCustomCode\" is set false.\n                        }\n                    }\n                }\n\n                var html_catselect = '<div id=\"divSnippetCat\" style=\"display:none\">Default <span class=\"caret\"></span></div>' +\n                    '<div id=\"divSnippetCatOptions\">';\n                for(var i=0;i<this.settings.snippetCategories.length;i++){\n                    html_catselect += '<div data-value=\"' + this.settings.snippetCategories[i][0] + '\">' + this.settings.snippetCategories[i][1] + '</div>';\n                }\n                html_catselect += '</div>';\n\n                //Prepare snippet toolbar\n                if(cb_snippetList=='#divSnippetList'){\n\n                    var html_tool = '<div id=\"divTool\"></div>';\n\n                    jQuery('#divCb').append(html_tool);\n                }\n\n                //Add snippet categories\n                jQuery(this.settings.snippetCategoryList).append(html_catselect); //this needs to be separated because of possibility for custom placement via parameter \"snippetCategoryList\"\n\n                //Prepare snippet toolbar (continued)\n                if(cb_snippetList=='#divSnippetList'){\n                    var html_toolcontent = '<div id=\"divToolWait\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;display:table;background:rgba(255,255,255,0.2);z-index:1;\">' +\n                            '<div style=\"display:table-cell;vertical-align:middle;text-align:center;background:rgb(217, 217, 217);\"><div class=\"loading\">' +\n                                        '<div class=\"dot\"></div>' +\n                                        '<div class=\"dot\"></div>' +\n                                        '<div class=\"dot\"></div>' +\n                                    '</div></div>' +\n                        '</div>';\n                    html_toolcontent += '<div id=\"divSnippetList\"></div>';\n                    html_toolcontent += '<a id=\"lnkToolOpen\" href=\"#\"><i class=\"cb-icon-left-open-big\" style=\"font-size: 15px;\"></i></a>';\n\n                    var html_scrollhelper = '<div id=\"divSnippetScrollUp\" style=\"display:none;background:rgba(0,0,0,0.3);width:45px;height:45px;line-height:45px;color:#eee;position:fixed;z-index:100000;border-radius:8px;text-align:center;font-size:12px;cursor:pointer;font-family:sans-serif;\">&#9650;</div>' +\n                         '<div id=\"divSnippetScrollDown\" style=\"display:none;background:rgba(0,0,0,0.3);width:45px;height:45px;line-height:45px;color:#eee;position:fixed;z-index:100000;border-radius:8px;text-align:center;font-size:12px;cursor:pointer;font-family:sans-serif;\">&#9660;</div>';\n\n                    jQuery('#divTool').append(html_toolcontent);\n                    jQuery('#divCb').append(html_scrollhelper);\n\n                    //Interaction: Scroll Helper for Touch Devices\n                    var maxScroll=100000000;\n                    jQuery('#divSnippetScrollUp').css('display','none');\n                    jQuery('#divSnippetScrollUp').on(\"click touchup\", function(e) {\n                        jQuery(\"#divSnippetList\").animate({ scrollTop: (jQuery(\"#divSnippetList\").scrollTop() - (jQuery(\"#divSnippetList\").height()-150) ) + \"px\" },300, function(){\n                            if(jQuery(\"#divSnippetList\").scrollTop()!=0){\n                                jQuery('#divSnippetScrollUp').fadeIn(300);\n                            } else {\n                                 jQuery('#divSnippetScrollUp').fadeOut(300);\n                            }\n                            if(jQuery(\"#divSnippetList\").scrollTop() != maxScroll){\n                                jQuery('#divSnippetScrollDown').fadeIn(300);\n                            } else {\n                                 jQuery('#divSnippetScrollDown').fadeOut(300);\n                            }\n                        });\n\n                        e.preventDefault();\n                        e.stopImmediatePropagation();\n                        return false;\n                    });\n                    jQuery('#divSnippetScrollDown').on(\"click touchup\", function(e) {\n                        jQuery(\"#divSnippetList\").animate({ scrollTop: (jQuery(\"#divSnippetList\").scrollTop() + (jQuery(\"#divSnippetList\").height()-150) ) + \"px\" }, 300, function() {\n                            if(jQuery(\"#divSnippetList\").scrollTop()!=0){\n                                jQuery('#divSnippetScrollUp').fadeIn(300);\n                            } else {\n                                jQuery('#divSnippetScrollUp').fadeOut(300);\n\n                            }\n                            if(maxScroll==100000000){\n                                maxScroll = jQuery('#divSnippetList').prop('scrollHeight') - jQuery('#divSnippetList').height() - 10;\n                            }\n\n                            if(jQuery(\"#divSnippetList\").scrollTop() != maxScroll){\n                                jQuery('#divSnippetScrollDown').fadeIn(300);\n                            } else {\n                                jQuery('#divSnippetScrollDown').fadeOut(300);\n                            }\n                        });\n\n                        e.preventDefault();\n                        e.stopImmediatePropagation();\n                        return false;\n                    });\n\n\n                    /* Snippet Tool (Left pr Right) */\n                    var $window = jQuery(window);\n                    var windowsize = $window.width();\n                    var toolwidth = 255;\n                    if (windowsize < 600) {\n                        toolwidth = 150;\n                    }\n\n                    var bUseScrollHelper=this.settings.scrollHelper;\n                    if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {\n                        bUseScrollHelper=true;\n                    }\n\n                    if (this.settings.snippetTool == 'right') {\n\n                        // Sliding from Right\n                        jQuery('#divSnippetScrollUp').css('right','10px');\n                        jQuery('#divSnippetScrollDown').css('right','10px');\n\n                        //alert(jQuery('#divTool').css('right'))\n                        if(jQuery('#divTool').css('right')!='0px'){ //if right=0px means snippets already exist and opened, so on new init (new instance), don't close by setting it =-toolwidth.\n                            jQuery('#divTool').css('width', toolwidth + 'px');\n                            jQuery('#divTool').css('right', '-' + toolwidth + 'px');\n                        }\n                        jQuery(\"#lnkToolOpen\").off('click');\n                        jQuery(\"#lnkToolOpen\").click(function (e) {\n\n                            //Clear Controls (clearControls)\n                            jQuery('.row-tool').stop(true, true).fadeOut(0);\n                            //jQuery(\".ui-draggable\").removeClass('code');\n                            jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n                            jQuery('#rte-toolbar').css('display', 'none');\n                            jQuery('.rte-pop').css('display', 'none');\n\n                            if(cb_snippetPageSliding ||\n                                ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))\n                                ) {\n                                if (parseInt(jQuery('#divTool').css('right')) == 0) {\n                                    //Close\n                                    jQuery('#divTool').animate({\n                                        right: '-=' + toolwidth + 'px'\n                                    }, 200);\n                                    jQuery('body').animate({\n                                    marginRight: '-=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery('#rte-toolbar').animate({ // Slide the editor toolbar\n                                    paddingRight: '-=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery('#lnkToolOpen i').attr('class','cb-icon-left-open-big');\n\n                                    jQuery('#divSnippetScrollUp').fadeOut(300);\n                                    jQuery('#divSnippetScrollDown').fadeOut(300);\n                                } else {\n                                    //Open\n                                    jQuery('#divTool').animate({\n                                        right: '+=' + toolwidth + 'px'\n                                    }, 200);\n                                    jQuery('body').animate({\n                                    marginRight: '+=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery('#rte-toolbar').animate({ // Slide the editor toolbar\n                                    paddingRight: '+=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery('#lnkToolOpen i').attr('class','cb-icon-right-open-big');\n\n                                    if(bUseScrollHelper){\n                                        var ypos = jQuery('#divSnippetList').height()/2 - 60;\n                                        jQuery('#divSnippetScrollUp').css('top',ypos);\n                                        jQuery('#divSnippetScrollDown').css('top',ypos + 60);\n                                        if(jQuery(\"#divSnippetList\").scrollTop()!=0){\n                                            jQuery('#divSnippetScrollUp').fadeIn(300);\n                                        } else {\n                                            jQuery('#divSnippetScrollUp').fadeOut(300);\n                                        }\n                                        jQuery('#divSnippetScrollDown').fadeIn(300);\n                                    }\n                                }\n                                jQuery('#rte-toolbar').css('display', 'none');\n                            } else {\n                                if (parseInt(jQuery('#divTool').css('right')) == 0) {\n                                    //Close\n                                    jQuery('#divTool').animate({\n                                        right: '-=' + toolwidth + 'px'\n                                    }, 200);\n                                    jQuery('#lnkToolOpen i').attr('class','cb-icon-left-open-big');\n\n                                    jQuery('#divSnippetScrollUp').css('display','none');\n                                    jQuery('#divSnippetScrollDown').css('display','none');\n                                } else {\n                                    //Open\n                                    jQuery('#divTool').animate({\n                                        right: '+=' + toolwidth + 'px'\n                                    }, 200);\n                                    jQuery('#lnkToolOpen i').attr('class','cb-icon-right-open-big');\n\n                                    if(bUseScrollHelper){\n                                        var ypos = jQuery('#divSnippetList').height()/2 - 60;\n                                        jQuery('#divSnippetScrollUp').css('top',ypos);\n                                        jQuery('#divSnippetScrollDown').css('top',ypos + 60);\n                                        if(jQuery(\"#divSnippetList\").scrollTop()!=0){\n                                            jQuery('#divSnippetScrollUp').fadeIn(300);\n                                        } else {\n                                            jQuery('#divSnippetScrollUp').fadeOut(300);\n                                        }\n                                        jQuery('#divSnippetScrollDown').fadeIn(300);\n                                    }\n                                }\n                            }\n\n                            e.preventDefault();\n                        });\n\n                        //Adjust the row tool\n                        jQuery('.row-tool').css('right', 'auto');\n                        if (windowsize < 600) {\n                            jQuery('.row-tool').css('left', '-30px'); //for small screen\n                        } else {\n                            jQuery('.row-tool').css('left', '-37px');\n                        }\n\n                        if(this.settings.snippetOpen){\n                            if(jQuery('#divTool').attr('data-snip-open') != 1){\n                                jQuery('#divTool').attr('data-snip-open',1);\n                                jQuery('#divTool').animate({\n                                    right: '+=' + toolwidth + 'px'\n                                }, 900);\n                                jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-right-open-big');\n                            }\n                        }\n\n                    } else {\n\n                        // Sliding from Left\n                        jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-right-open-big');\n                        jQuery('#divSnippetScrollUp').css('left','10px');\n                        jQuery('#divSnippetScrollDown').css('left','10px');\n\n                        jQuery('#divTool').css('width', toolwidth + 'px');\n                        jQuery('#divTool').css('left', '-' + toolwidth + 'px');\n\n                        jQuery('#lnkToolOpen').addClass('leftside');\n\n                        jQuery(\"#lnkToolOpen\").off('click');\n                        jQuery(\"#lnkToolOpen\").click(function (e) {\n\n                            //Clear Controls (clearControls)\n                            jQuery('.row-tool').stop(true, true).fadeOut(0);\n                            //jQuery(\".ui-draggable\").removeClass('code');\n                            jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n                            jQuery('#rte-toolbar').css('display', 'none');\n                            jQuery('.rte-pop').css('display', 'none');\n\n                            if(cb_snippetPageSliding ||\n                                ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))\n                                ) {\n                                if (parseInt(jQuery('#divTool').css('left')) == 0) {\n                                    //Close\n                                    jQuery('#divTool').animate({\n                                        left: '-=' + (toolwidth + 0) + 'px'\n                                    }, 200);\n                                    jQuery('body').animate({\n                                    marginLeft: '-=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery('#rte-toolbar').animate({\n                                    paddingLeft: '-=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-right-open-big');\n\n                                    jQuery('#divSnippetScrollUp').fadeOut(300);\n                                    jQuery('#divSnippetScrollDown').fadeOut(300);\n                                } else {\n                                    //Open\n                                    jQuery('#divTool').animate({\n                                        left: '+=' + (toolwidth + 0) + 'px'\n                                    }, 200);\n                                    jQuery('body').animate({\n                                    marginLeft: '+=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery('#rte-toolbar').animate({ // CUSTOM\n                                    paddingLeft: '+=' + toolwidth + 'px'\n                                    }, 250);\n                                    jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-left-open-big');\n\n                                    if(bUseScrollHelper){\n                                        var ypos = jQuery('#divSnippetList').height()/2 - 60;\n                                        jQuery('#divSnippetScrollUp').css('top',ypos);\n                                        jQuery('#divSnippetScrollDown').css('top',ypos + 60);\n                                        if(jQuery(\"#divSnippetList\").scrollTop()!=0){\n                                            jQuery('#divSnippetScrollUp').fadeIn(300);\n                                        } else {\n                                            jQuery('#divSnippetScrollUp').fadeOut(300);\n                                        }\n                                        jQuery('#divSnippetScrollDown').fadeIn(300);\n                                    }\n                                }\n                                jQuery('#rte-toolbar').css('display', 'none');\n                                jQuery('.rte-pop').css('display', 'none');\n                            } else {\n                                if (parseInt(jQuery('#divTool').css('left')) == 0) {\n                                    //Close\n                                    jQuery('#divTool').animate({\n                                        left: '-=' + (toolwidth + 0) + 'px'\n                                    }, 200);\n                                    jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-right-open-big');\n\n                                    jQuery('#divSnippetScrollUp').css('display','none');\n                                    jQuery('#divSnippetScrollDown').css('display','none');\n                                } else {\n                                    //Open\n                                    jQuery('#divTool').animate({\n                                        left: '+=' + (toolwidth + 0) + 'px'\n                                    }, 200);\n                                    jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-left-open-big');\n\n                                    if(bUseScrollHelper){\n                                        var ypos = jQuery('#divSnippetList').height()/2 - 60;\n                                        jQuery('#divSnippetScrollUp').css('top',ypos);\n                                        jQuery('#divSnippetScrollDown').css('top',ypos + 60);\n                                        if(jQuery(\"#divSnippetList\").scrollTop()!=0){\n                                            jQuery('#divSnippetScrollUp').fadeIn(300);\n                                        } else {\n                                            jQuery('#divSnippetScrollUp').fadeOut(300);\n                                        }\n                                        jQuery('#divSnippetScrollDown').fadeIn(300);\n                                    }\n                                }\n                            }\n\n                            e.preventDefault();\n                        });\n\n                        //Adjust the row tool\n                        jQuery('.row-tool').css('left', 'auto');\n                        if (windowsize < 600) {\n                            jQuery('.row-tool').css('right', '-30px'); //for small screen\n                        } else {\n                            jQuery('.row-tool').css('right', '-37px');\n                        }\n\n                        if(this.settings.snippetOpen){\n                            if(jQuery('#divTool').attr('data-snip-open') != 1){\n                                jQuery('#divTool').attr('data-snip-open',1);\n                                jQuery('#divTool').animate({\n                                    left: '+=' + toolwidth + 'px'\n                                }, 900);\n                                jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-left-open-big');\n                            }\n                        }\n                    }\n\n\n                }\n\n                //Styling the snippet list area (#divSnippetList or custom area as specified in snippetList parameter)\n                jQuery(cb_snippetList).addClass('is-snippet-list');\n\n                //Interaction: Snippet category dropdown\n                jQuery('#divSnippetCat').click(function(e){\n                    if(jQuery('#divSnippetCatOptions').hasClass('active')) {\n                        jQuery('#divSnippetCatOptions').removeClass('active');\n                    } else {\n                        jQuery('#divSnippetCatOptions').css('width', jQuery(this).css('width'));\n                        jQuery('#divSnippetCatOptions').addClass('active');\n                    }\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\te.stopImmediatePropagation();\n                });\n                jQuery('#divSnippetCatOptions > div').click(function(){\n                    var valueSelected = jQuery(this).attr('data-value');\n                    jQuery('#divSnippetCat').html(jQuery(this).html() + ' <span class=\"caret\"></span>');\n                    jQuery('#divSnippetCatOptions').removeClass('active');\n\n\t                var $cbSnippetList = jQuery(cb_snippetList + ' > div');\n                    if(valueSelected=='-1'){\n                        $cbSnippetList.fadeIn(200);\n                    } else {\n\t\t                $cbSnippetList.fadeOut(200, function () {\n                            var $this = jQuery(this);\n                            var $catSplit = $this.attr('data-cat').split(',');\n                            for (var j = 0; j < $catSplit.length; j++) {\n                                if (valueSelected == $catSplit[j]) {\n                                    $this.fadeIn(400);\n                                }\n                            }\n                        });\n                    }\n                });\n                $('html').click(function (e) {\n\t                if($(e.target).parents('#divSnippetCatOptions').length > 0) return false;\n\t                if($(e.target).attr('id')=='divSnippetCatOptions') return false;\n\t                if($(e.target).parents('#divSnippetCat').length > 0) return false;\n\t                if($(e.target).attr('id')=='divSnippetCat') return false;\n                    jQuery('#divSnippetCatOptions').removeClass('active');\n                });\n\n                //Load snippet file (assets/.../snippets.html)\n                jQuery('#divCb').append('<div id=\"divSnippets\" style=\"display:none\"></div>');\n                jQuery.get(this.settings.snippetFile, function (data) {\n                    var htmlData = '';\n                    var htmlThumbs = '';\n                    var i = 1;\n                    var bUseSnippetsFilter = false;\n\n                    try{\n                        if($element.data('contentbuilder').settings.snippetPathReplace[0]!='') {\n\t\t\t\t\t        var regex = new RegExp($element.data('contentbuilder').settings.snippetPathReplace[0], 'g');\n                            data = data.replace(regex,$element.data('contentbuilder').settings.snippetPathReplace[1]);\n\n                            var string1 = $element.data('contentbuilder').settings.snippetPathReplace[0].replace(/\\//g, '%2F');\n                            var string2 = $element.data('contentbuilder').settings.snippetPathReplace[1].replace(/\\//g, '%2F');\n\n\t\t\t\t\t        var regex2 = new RegExp(string1, 'g');\n\t\t\t\t\t        data = data.replace(regex2,string2);\n                        }\n                    } catch(e){}\n\n                    var $currentDataChildren = jQuery('<div/>').html(data).children('div');\n\n\t\t\t\t\tfor (var i = 1; $currentDataChildren.length >= i; i++) {\n\t\t\t\t\t\tvar $this = jQuery($currentDataChildren[i-1]);\n                        var block = $this.html();\n                        //Enclode each block. Source: http://stackoverflow.com/questions/1219860/html-encoding-in-javascript-jquery\n                        var blockEncoded = jQuery('<div/>').text(block).html();\n                        htmlData += '<div id=\"snip' + i + '\">' + blockEncoded + '</div>'; //Encoded html prevents loading many images\n\n                        if ($this.data(\"cat\") != null) bUseSnippetsFilter = true;\n\n                        var thumb = $this.data(\"thumb\");\n                        if(bUseSnippetsFilter){\n                            htmlThumbs += '<div style=\"display:none\" title=\"Snippet ' + i + '\" data-snip=\"' + i + '\" data-cat=\"' + $this.data(\"cat\") + '\"><img src=\"' + thumb + '\" /></div>';\n                        } else {\n                            htmlThumbs += '<div title=\"Snippet ' + i + '\" data-snip=\"' + i + '\" data-cat=\"' + $this.data(\"cat\") + '\"><img src=\"' + thumb + '\" /></div>';\n                        }\n                    }\n\n                    jQuery('#divSnippets').html(htmlData);\n\n                    jQuery(cb_snippetList).html(htmlThumbs);\n\n                    //Snippets category dropdown\n                    if(bUseSnippetsFilter){\n                        var cats = [];\n\n                        var defaultExists = false;\n\t\t\t\t\t\tvar $cbSnippetListDivs = jQuery(cb_snippetList + ' > div');\n\n                        for (var cbs = 0; $cbSnippetListDivs.length > cbs; cbs++) {\n                            var $this = jQuery($cbSnippetListDivs[cbs]);\n                            var catSplit = $this.attr('data-cat').split(',');\n                            for (var j = 0; j < catSplit.length; j++) {\n                                var catid = $this.attr('data-cat').split(',')[j];\n                                if (catid == 0) {\n                                    $this.fadeIn(400);\n                                    defaultExists = true;\n                                }\n                                if (jQuery.inArray(catid, cats) == -1) {\n                                    cats.push(catid);\n\n                                    if( jQuery('#divSnippetCatOptions').find(\"[data-value='\" + catid + \"']\").length == 0){//if category is specified in snippets.html, but not defined in \"snippetCategories\" param, hide it!\n                                        //$this.css('display','none');\n                                        $this.remove();\n                                    }\n                                }\n                            }\n                        }\n\n                        //Remove empty categories\n                        var $selSnips = jQuery('#divSnippetCatOptions');\n                        var $selSnipsOption = jQuery('#divSnippetCatOptions > div');\n                        for (var sso=0; $selSnipsOption.length > sso;sso++) {\n                            var catid = jQuery($selSnipsOption[sso]).attr('data-value');\n\n                            if(jQuery.inArray(catid, cats)==-1){\n                                if(catid!=0 && catid!=-1){\n                                    $selSnips.find(\"[data-value='\" + catid + \"']\").remove();\n                                }\n                            }\n                        }\n\n                        if(!defaultExists){//old version: default not exists, show all (backward compatibility)\n                            jQuery(cb_snippetList + ' > div').css('display','block');\n                            jQuery('#divSnippetCatOptions').find(\"[data-value='0']\").remove();\n                            jQuery('#divSnippetCat').html('All <span class=\"caret\"></span>');\n                        }\n\n                        jQuery('#divSnippetCat').css('display', 'block');\n                    }\n\n                    if(cb_snippetList=='#divSnippetList'){\n                        if(bUseSnippetsFilter) {\n                            //Give space for snippets filter dropdown\n                            jQuery('#divSnippetList').css('border-top', 'rgba(0,0,0,0) 52px solid');\n                        }\n                    }\n\n                    // Draggable\n                    $element.data('contentbuilder').applyDraggable();\n\n                    jQuery('#divToolWait').remove();\n                });\n\n            } else {\n\n                //Snippets already added here. This section is executed if a new instance is dynamically added.\n\n                // Draggable\n                this.applyDraggable();\n\n            }\n\n\n            /**** Apply builder elements ****/\n            $element.children(\"*\").wrap(\"<div class='ui-draggable'></div>\"); //$element.children(\"*\").not('link').wrap(\"<div class='ui-draggable'></div>\");\n            $element.children(\"*\").append('<div class=\"row-tool\">' +\n                '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                '</div>');\n\n            if (jQuery('#temp-contentbuilder').length == 0) {\n                jQuery('#divCb').append('<div id=\"temp-contentbuilder\" style=\"display: none\"></div>');\n            }\n\n            /**** Apply builder behaviors ****/\n            this.applyBehavior();\n\n            // Function to run when column/grid changed\n            this.blockChanged();\n\n            /**** Trigger Render event ****/\n            this.settings.onRender();\n\n            /**** DRAG & DROP behavior ****/\n            $element.sortable({\n                helper: function(event, ui){\n                    /*\n                    Fix incorrect helper position while sorting\n                    http://stackoverflow.com/questions/5791886/jquery-draggable-shows-helper-in-wrong-place-after-page-scrolled\n                    */\n                    var $clone =  jQuery(ui).clone();\n                    $clone .css('position','absolute');\n\n                    $clone.addClass('cloned-handler');\n                    if($element.data('contentbuilder').settings.axis ==''){\n                        if (!$clone.parent().is('body')) {\n                            $clone.appendTo(jQuery('body'));\n                        }\n                    }\n\n                    return $clone.get(0);\n\n                  },\n                sort: function(event, ui) {\n                    if($element.data('contentbuilder').settings.hideDragPreview){\n                        ui.helper.css({'display' : 'none'});\n                    }\n                },\n                items: '.ui-draggable',\n                connectWith: '.connectSortable', 'distance': 5,\n                tolerance: 'pointer',\n                handle: '.row-handle',\n                delay: 200,\n                cursor: 'move',\n                placeholder: 'block-placeholder',\n\n                start: function (e, ui){\n                    jQuery(ui.placeholder).hide();\n\n                    jQuery(ui.placeholder).slideUp(80);\n                    cb_edit = false;\n                },\n\n                change: function (e, ui){\n                    jQuery(ui.placeholder).hide().slideDown(80);\n                },\n                beforeStop: function (e, ui) {\n                    jQuery(ui.placeholder).hide();\n                },\n\n                deactivate: function (event, ui) {\n\n                    //When sorting, sometimes helper not removed after sorted\n                    jQuery(\".cloned-handler\").remove();\n\n                    /* Check if an instance exists. It can be not exist in case of destroyed during onRender */\n                    if(!$element.data('contentbuilder'))return ;\n\n                    cb_edit = true;\n\n                    var bDrop = false;\n                    if (ui.item.find('.row-tool').length==0) {\n                        bDrop = true;\n                    }\n\n                    if (ui.item.parent().attr('id') == $element.attr('id')) {\n\n                        ui.item.find(\"[data-html]\").each(function () {//Mode: code\n                            var html = (decodeURIComponent(jQuery(this).attr(\"data-html\")));\n                            //Fill the block with original code (when drag & drop code block or sorting code block)\n\n                            //ui.item.children(0).html( html );\n                            jQuery(this).html( html );\n                        });\n\n                        /*\n                        var html = ui.item.html();\n                        html = html.replace(/{id}/g, makeid());\n                        ui.item.replaceWith(html);\n                        */\n                        ui.item.replaceWith(ui.item.html());\n\n\n                        /*\n                        var sItm = jQuery(ui.item.html());\n                        ui.item.replaceWith(sItm);\n                        ui.item = sItm;\n                        */\n\n                        /*\n                        if(ui.item.children(0).attr('src').indexOf('thumbnails/')==-1){\n                            ui.item.replaceWith(ui.item.html());\n                        } else {\n                             var snip = jQuery(ui.item).data('snip');\n                            var snipHtml = jQuery('#snip' + snip).text();\n                            ui.item.replaceWith(snipHtml);\n                        }*/\n                   //     alert(ui.item.html());\n\n\n                        $element.children(\"*\").each(function () {\n\n                            if (!jQuery(this).hasClass('ui-draggable')) {\n                                jQuery(this).wrap(\"<div class='ui-draggable'></div>\");\n                            }\n                        });\n\n                        $element.children('.ui-draggable').each(function () {\n                            if (jQuery(this).find('.row-tool').length == 0) {\n                                jQuery(this).append('<div class=\"row-tool\">' +\n                                '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                                '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                                '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                                '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                                '</div>');\n                            }\n                        });\n\n                        $element.children('.ui-draggable').each(function () {\n                            if (jQuery(this).children('*').length == 1) {//empty (only <div class=\"row-tool\">)\n                                jQuery(this).remove();\n                            }\n                            //For some reason, the thumbnail is dropped, not the content (when dragging mouse released not on the drop area)\n                            if (jQuery(this).children('*').length == 2) {//only 1 element\n                                if(jQuery(this).children(0).prop(\"tagName\").toLowerCase()=='img' &&\n                                    jQuery(this).children(0).attr('src').indexOf('thumbnails/') != -1 ) {//check if the element is image thumbnail\n                                    jQuery(this).remove();//remove it.\n                                }\n                            }\n                        });\n\n                        /*\n                        //dropped on root\n                        if (ui.item.find('.row-tool').length == 0) {\n                        ui.item.append('<div class=\"row-tool\">' +\n                        '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                        '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                        '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                        '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                        '</div>');\n                        }*/\n\n                        $element.data('contentbuilder').settings.onDrop(event, ui);\n\n                    } else {\n                        //For some reason ui.item.parent().attr('id') can be undefined\n                        //The thumbnail is dropped, not the content\n                        //alert(ui.item.html())\n                        //alert(ui.item.parent().attr('id') + ' = ' + $element.attr('id'))\n                        /*\n                        $element.children('.ui-draggable').each(function () {\n                            jQuery(this).find('.ui-draggable-handle').each(function(){\n                                jQuery(this).remove();\n                            });\n                        });\n                        */\n                        return;\n                    }\n\n                    //Apply builder behaviors\n                    $element.data('contentbuilder').applyBehavior();\n\n                    // Function to run when column/grid changed\n                    $element.data('contentbuilder').blockChanged();\n\n                    //Trigger Render event\n                    $element.data('contentbuilder').settings.onRender();\n\n                    //Trigger Change event\n                    $element.data('contentbuilder').settings.onChange();\n\n                    //Trigger Drop event\n                    //if(bDrop) $element.data('contentbuilder').settings.onDrop(event, ui);\n                    //$element.data('contentbuilder').settings.onDrop(event, ui);\n\n                    //Save for Undo\n                    saveForUndo();\n                }\n            });\n\n            if(cb_list.indexOf(',')!=-1){\n                jQuery(cb_list).sortable('option','axis',false);\n            }\n            if(this.settings.axis!=''){\n                jQuery(cb_list).sortable('option','axis',this.settings.axis);\n            }\n\n            /* http://stackoverflow.com/questions/6285758/cannot-drop-a-draggable-where-two-droppables-touch-each-other */\n            jQuery.ui.isOverAxis2 = function( x, reference, size ) {\n                return ( x >= reference ) && ( x < ( reference + size ) );\n            };\n            jQuery.ui.isOver = function( y, x, top, left, height, width ) {\n                return jQuery.ui.isOverAxis2( y, top, height ) && jQuery.ui.isOverAxis( x, left, width );\n            };\n\n            $element.droppable({\n                drop: function (event, ui) {\n                    if (jQuery(ui.draggable).data('snip')) {\n                        var snip = jQuery(ui.draggable).data('snip');\n                        var snipHtml = jQuery('#snip' + snip).text();\n\n                        snipHtml = snipHtml.replace(/{id}/g, makeid());\n\n                        jQuery(ui.draggable).data('snip', null); //clear\n                        return ui.draggable.html(snipHtml);\n                        event.preventDefault();\n                    }\n                },\n                tolerance: 'pointer',\n                greedy: true,\n                hoverClass: 'drop-zone',\n                activeClass: 'drop-zone',\n                deactivate: function (event, ui) {\n                    //If focus is still on an instance, but snippet is dropped on another instance, sortable deactivate not fully run (because of id checking). So droppable deactivate is used (to add row-tool on newly added content block)\n                    jQuery(cb_list).each(function(){\n                        var $cb = jQuery(this);\n\n                        $cb.children('.ui-draggable').each(function () {\n                            if (jQuery(this).find('.row-tool').length == 0) {\n                                jQuery(this).append('<div class=\"row-tool\">' +\n                                '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                                '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                                '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                                '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                                '</div>');\n                            }\n                        });\n\n                        //Apply builder behaviors\n                        $cb.data('contentbuilder').applyBehavior();\n\n                    });\n                }\n            });\n\n            jQuery(document).on('mousedown', function (event) {\n\n                var $active_element;\n                if(jQuery(event.target).parents(\".ui-draggable\").length>0){\n                    if( jQuery(event.target).parents(\".ui-draggable\").parent().data('contentbuilder') ) {\n                        $active_element = jQuery(event.target).parents(\".ui-draggable\").parent(); //Get current Builder element\n                    }\n                }\n                //console.log(jQuery(event.target).prop(\"tagName\").toLowerCase());\n\n                //Remove Overlay on embedded object to enable the object.\n                if (jQuery(event.target).attr(\"class\") == 'ovl') {\n                    jQuery(event.target).css('z-index', '-1');\n                }\n\n                if (jQuery(event.target).parents('.ui-draggable').length > 0 && jQuery(event.target).parents(cb_list).length > 0) {\n\n                    var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\n                    /****** Row Controls ******/\n                    //jQuery(event.target).parents(\".ui-draggable\").removeClass('code');\n                    if( jQuery(event.target).parents(\"[data-html]\").length > 0 ) { //Mode: code\n                        jQuery(event.target).parents(\".ui-draggable\").addClass('code');\n\n                        jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .row-html').addClass('row-module');\n                        jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .cb-icon-code').removeClass('cb-icon-code').addClass('cb-icon-cog');//Mode: code\n                    }\n\n                    if( jQuery(event.target).parents(\"[data-mode='readonly']\").length > 0 ) { //Mode: readonly\n                        jQuery(event.target).parents(\".ui-draggable\").addClass('code'); //to give different outline color whwn focused\n\n                        jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .row-html').css('display','none'); //hide html source editor\n                    }\n\n                    if( jQuery(event.target).parents(\"[data-mode='readonly-protected']\").length > 0 ) {\n                        jQuery(event.target).parents(\".ui-draggable\").addClass('code'); //to give different outline color whwn focused\n\n                        jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .row-html').css('display','none'); //hide html source editor\n                        jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .row-remove').css('display','none'); //hide delete icon\n                        jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .row-copy').css('display','none'); //hide duplicate icon\n                    }\n\n                    jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n                    jQuery(event.target).parents(\".ui-draggable\").addClass('ui-dragbox-outlined');\n                    if(is_firefox) jQuery(event.target).parents(\".ui-draggable\").addClass('firefox');\n\n                    jQuery('.row-tool').stop(true, true).fadeOut(0);\n                    if($active_element) {\n                        if( jQuery(event.target).parents(\".ui-draggable\").find(\"[data-html-edit='off']\").length > 0 || !$active_element.data('contentbuilder').settings.sourceEditor){\n                            jQuery(event.target).parents(\".ui-draggable\").find('.row-tool .row-html').css({ display: 'none' });\n                        }\n                    }\n                    jQuery(event.target).parents(\".ui-draggable\").find('.row-tool').stop(true, true).css({ display: 'none' }).fadeIn(300);\n                    /****************************/\n\n                    return;\n                }\n\n                if( jQuery(event.target).parent().attr('id') == 'rte-toolbar' ||\n                    jQuery(event.target).parent().parent().attr('id') == 'rte-toolbar' ||\n                    jQuery(event.target).parent().hasClass('rte-pop') ||\n                    jQuery(event.target).parent().parent().hasClass('rte-pop') ||\n                    jQuery(event.target).parent().hasClass('md-modal')) {\n                    return;\n                }\n\n                if (jQuery(event.target).is('[contenteditable]') ||\n                    jQuery(event.target).css('position') == 'absolute' ||\n                    jQuery(event.target).css('position') == 'fixed' ||\n                    jQuery(event.target).hasClass('md-modal')\n                    ) {\n                    return;\n                }\n\n                var bReturn = false;\n                jQuery(event.target).parents().each(function (e) {\n\n                    if (jQuery(this).is('[contenteditable]') ||\n                        jQuery(this).css('position') == 'absolute' ||\n                        jQuery(this).css('position') == 'fixed' ||\n                        jQuery(this).hasClass('md-modal')\n                        ) {\n                        bReturn=true;\n                        return;\n                    }\n\n                });\n                if(bReturn) return;\n\n                //Clear Controls (clearControls)\n                jQuery('.row-tool').stop(true, true).fadeOut(0);\n                //jQuery(\".ui-draggable\").removeClass('code');\n                jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n                jQuery('#rte-toolbar').css('display', 'none');\n                jQuery('.rte-pop').css('display', 'none');\n            });\n\n        };\n\n        /**** Apply Draggable to Snippets ****/\n        this.applyDraggable = function (obj) {\n\n            var bJUIStable = false;\n            if(jQuery.ui.version=='1.11.0'){\n                bJUIStable = true;\n            }\n\n            if(bJUIStable){\n\n                jQuery(cb_snippetList + ' > div').draggable({\n                    cursor: 'move',\n                    helper: function () {\n                        return jQuery(\"<div class='dynamic'></div>\")[0];\n                    },\n                    delay: 200,\n                    /*drag: function(e, ui) {\n\n                        var yPos = jQuery(this).offset().top;\n\n                        //var sLog = jQuery(\"#divSnippetList\").scrollTop() + ' - ' +  (yPos) + ' - ' + ui.position.top ; // jQuery(\"#divSnippetList\").get(0).scrollHeight\n                        //console.log( sLog );\n                        //if( yPos - ui.position.top > 110 ) {\n                        //    //in Safari iOS, yPos gets incorrect value if the div scrolls down max to the bottom.\n                        //    return true;\n                        //}\n\n                        if(yPos - ui.position.top > 50 && ui.position.left>-20){\n                            //UP\n                            jQuery(\"#divSnippetList\").animate({ scrollTop: (jQuery(\"#divSnippetList\").scrollTop() + (yPos - ui.position.top) * 7 ) + \"px\" });\n                            return false;\n                        } else if (yPos - ui.position.top < -50 && ui.position.left>-20) {\n                            //DOWN\n                            jQuery(\"#divSnippetList\").animate({ scrollTop: (jQuery(\"#divSnippetList\").scrollTop() + (yPos - ui.position.top) * 7 ) + \"px\" });\n                            return false;\n                        } else {\n                            //DRAG\n                        }\n\n                    } ,*/\n                    connectToSortable: cb_list, /*\"#\" + $element.attr('id'),*/\n                    stop: function (event, ui) {\n\n                        // fix bug\n                        jQuery(cb_list).each(function(){\n                            var $cb = jQuery(this);\n\n                            $cb.children(\"div\").each(function () {\n                                if (jQuery(this).children(\"img\").length == 1) {\n                                    jQuery(this).remove();\n                                }\n                            });\n                        });\n\n                    }\n                });\n\n            } else {\n\n                jQuery(cb_snippetList + ' > div').draggable({ //jQuery('#divSnippetList > div').draggable({\n                    cursor: 'move',\n                    //helper: function () { /* Custom helper not returning draggable item using the latest jQuery UI */\n                    //    return jQuery(\"<div class='dynamic'></div>\")[0];\n                    //},\n                    helper: \"clone\", /* So we use cloned draggable item as the helper */\n                    drag: function (event, ui) {\n\n                        /* Needed by latest jQuery UI: styling the helper */\n                        jQuery(ui.helper).css(\"overflow\",\"hidden\");\n                        jQuery(ui.helper).css(\"padding-top\",\"60px\"); //make helper content empty by adding a top padding the same as height\n                        jQuery(ui.helper).css(\"box-sizing\",\"border-box\");\n                        jQuery(ui.helper).css(\"width\",\"150px\");\n                        jQuery(ui.helper).css(\"height\",\"60px\");\n                        jQuery(ui.helper).css(\"border\",\"rgba(225,225,225,0.9) 5px solid\");\n                        jQuery(ui.helper).css(\"background\",\"rgba(225,225,225,0)\");\n                    },\n                    connectToSortable: cb_list, /*\"#\" + $element.attr('id'),*/\n                    stop: function (event, ui) {\n\n                        // fix bug\n                        jQuery(cb_list).each(function(){\n                            var $cb = jQuery(this);\n\n                            $cb.children(\"div\").each(function () {\n                                    if (jQuery(this).children(\"img\").length == 1) {\n                                    jQuery(this).remove();\n                                }\n                            });\n                        });\n\n                    }\n                });\n\n            }\n\n        };\n\n        /**** Read HTML ****/\n        this.html = function () {\n\n            //Make absolute\n            if(this.settings.absolutePath) {\n                $element.find('a').each(function () {\n                    var href = jQuery(this).get(0).href;\n                    jQuery(this).attr('href',href);\n                });\n                $element.find('img').each(function () {\n                    var href = jQuery(this).get(0).src;\n                    jQuery(this).attr('src',href);\n                });\n            }\n\n            jQuery('#temp-contentbuilder').html($element.html());\n            jQuery('#temp-contentbuilder').find('.row-tool').remove();\n            jQuery('#temp-contentbuilder').find('.ovl').remove();\n            jQuery('#temp-contentbuilder').find('[contenteditable]').removeAttr('contenteditable');\n            jQuery('*[class=\"\"]').removeAttr('class');\n            jQuery('#temp-contentbuilder').find('.ui-draggable').replaceWith(function () { return jQuery(this).html() });\n            jQuery(\"#temp-contentbuilder\").find(\"[data-html]\").each(function () {//Mode: code\n                if(jQuery(this).attr(\"data-html\")!=undefined){\n                    jQuery(this).html( decodeURIComponent(jQuery(this).attr(\"data-html\")) );\n                }\n            });\n            var html = jQuery('#temp-contentbuilder').html().trim();\n            html = html.replace(/<font/g,'<span').replace(/<\\/font/g,'</span');\n            return html;\n\n        };\n\n        this.clearControls = function () {\n            jQuery('.row-tool').stop(true, true).fadeOut(0);\n\n            //jQuery(\".ui-draggable\").removeClass('code');\n            jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n\n            var selectable = this.settings.selectable;\n            $element.find(selectable).blur();\n        };\n\n        this.viewHtml = function () {\n\n            var html=this.html();\n            jQuery('#txtHtml').val(html);\n\n            /**** Custom Modal ****/\n            jQuery('#md-html').css('width', '80%');\n            jQuery('#md-html').simplemodal({isModal:true});\n            jQuery('#md-html').data('simplemodal').show();\n\n            jQuery('#txtHtml').css('display', 'none');\n\n            if(jQuery('#txtHtml').data('CodeMirrorInstance')){\n\n                var $htmlEditor = $('#txtHtml').data('CodeMirrorInstance');\n                $htmlEditor.setValue(html);\n\n            } else {\n                var myTextArea = jQuery(\"#txtHtml\")[0];\n\n                if (jQuery('.is-cmloaded').length == 0) { //check if js/css already loaded\n\n                    getScripts([sScriptPath + \"codemirror/lib/codemirror.js\"],\n                        function () {\n\n                            getScripts([sScriptPath + \"codemirror/mode/xml/xml.js\",\n                                sScriptPath + \"codemirror/mode/javascript/javascript.js\",\n                                sScriptPath + \"codemirror/mode/css/css.js\"],\n                                function () {\n\n                                    jQuery('body').addClass('is-cmloaded');\n\n                                    var $htmlEditor = CodeMirror.fromTextArea(myTextArea, {\n                                        value: html,\n                                        mode: \"text/html\",\n                                        lineWrapping: true,\n                                        lineNumbers: true,\n                                        tabMode: \"indent\"\n                                    });\n                                    $htmlEditor.on(\"change\", function(cm, change) {\n                                        jQuery('#txtHtml').val(cm.getValue());\n                                    });\n\n                                    //Save instance\n                                    jQuery('#txtHtml').data('CodeMirrorInstance', $htmlEditor);\n\n                                });\n\n                        });\n\n                } else {\n\n                    var $htmlEditor = CodeMirror.fromTextArea(myTextArea, {\n                        value: html,\n                        mode: \"text/html\",\n                        lineWrapping: true,\n                        lineNumbers: true,\n                        tabMode: \"indent\"\n                    });\n                    $htmlEditor.on(\"change\", function(cm, change) {\n                        jQuery('#txtHtml').val(cm.getValue());\n                    });\n\n                    //Save instance\n                    jQuery('#txtHtml').data('CodeMirrorInstance', $htmlEditor);\n\n                }\n\n            }\n\n            jQuery('#btnHtmlOk').off('click');\n            jQuery('#btnHtmlOk').on('click', function (e) {\n\n                var $htmlEditor = $('#txtHtml').data('CodeMirrorInstance');\n                jQuery('#txtHtml').val($htmlEditor.getValue());\n\n                $element.html(jQuery('#txtHtml').val());\n\n                jQuery('#md-html').data('simplemodal').hide();\n\n                //Re-Init\n                $element.children(\"*\").wrap(\"<div class='ui-draggable'></div>\");\n                $element.children(\"*\").append('<div class=\"row-tool\">' +\n                    '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                    '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                    '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                    '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                    '</div>');\n\n                //Apply builder behaviors\n                $element.data('contentbuilder').applyBehavior();\n\n                // Function to run when column/grid changed\n                $element.data('contentbuilder').blockChanged();\n\n                //Trigger Render event\n                $element.data('contentbuilder').settings.onRender();\n\n                //Trigger Change event\n                $element.data('contentbuilder').settings.onChange();\n\n                //Save for Undo\n                saveForUndo();\n\n            });\n\n            jQuery('#btnHtmlCancel').off('click');\n            jQuery('#btnHtmlCancel').on('click', function (e) {\n\n                jQuery('#md-html').data('simplemodal').hide();\n\n            });\n            /**** /Custom Modal ****/\n        };\n\n        this.loadHTML = function (html) {\n            $element.html(html);\n\n            //Re-Init\n            $element.children(\"*\").wrap(\"<div class='ui-draggable'></div>\");\n            $element.children(\"*\").append('<div class=\"row-tool\">' +\n                '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                '</div>');\n\n            //Apply builder behaviors\n            $element.data('contentbuilder').applyBehavior();\n\n            // Function to run when column/grid changed\n            $element.data('contentbuilder').blockChanged();\n\n            //Trigger Render event\n            $element.data('contentbuilder').settings.onRender();\n\n        };\n\n        this.applyBehavior = function () {\n\n            //Make hyperlinks not clickable\n            $element.find('a').click(function () { return false });\n\n            //Make absolute\n            if(this.settings.absolutePath) {\n                $element.find('a').each(function () {\n                    var href = jQuery(this).get(0).href;\n                    jQuery(this).attr('href',href);\n                });\n                $element.find('img').each(function () {\n                    var href = jQuery(this).get(0).src;\n                    jQuery(this).attr('src',href);\n                });\n            }\n\n            //Get settings\n            var selectable = this.settings.selectable;\n            var hq = this.settings.hiquality;\n            var imageEmbed = this.settings.imageEmbed;\n            var buttons = this.settings.buttons;\n            var colors = this.settings.colors;\n            var editMode = this.settings.editMode;\n            var toolbar = this.settings.toolbar;\n            var toolbarDisplay = this.settings.toolbarDisplay;\n            var onImageSelectClick = this.settings.onImageSelectClick;\n            var onFileSelectClick = this.settings.onFileSelectClick;\n            var onImageBrowseClick = this.settings.onImageBrowseClick;\n            var onImageSettingClick = this.settings.onImageSettingClick;\n            var customTags = this.settings.customTags;\n\n            //Custom Image Select\n            var imageselect = this.settings.imageselect;\n            var fileselect = this.settings.fileselect;\n            var iconselect = this.settings.iconselect;\n            var customval = this.settings.customval;\n            var largerImageHandler = this.settings.largerImageHandler;\n\n            //Apply ContentEditor plugin\n            $element.contenteditor({ fileselect: fileselect, imageselect: imageselect, iconselect: iconselect, onChange: function(){ $element.data('contentbuilder').settings.onChange(); }, editable: selectable, buttons: buttons, colors: colors, editMode: editMode, toolbar: toolbar, toolbarDisplay: toolbarDisplay, onFileSelectClick: onFileSelectClick, onImageSelectClick: onImageSelectClick, customTags: customTags });\n            $element.data('contenteditor').render();\n\n            //Apply ImageEmbed plugin\n            $element.find('img').each(function () {\n\n                if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n\n                if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                jQuery(this).imageembed({ hiquality: hq, imageselect: imageselect, fileselect: fileselect, imageEmbed: imageEmbed, onImageBrowseClick: onImageBrowseClick, onImageSettingClick: onImageSettingClick, onImageSelectClick: onImageSelectClick, onFileSelectClick: onFileSelectClick, largerImageHandler: largerImageHandler, customval: customval });\n                //to prevent icon dissapear if hovered above absolute positioned image caption\n                if (jQuery(this).parents('figure').length != 0) {\n                    if (jQuery(this).parents('figure').find('figcaption').css('position') == 'absolute') {\n                        jQuery(this).parents('figure').imageembed({ hiquality: hq, imageselect: imageselect, fileselect: fileselect, imageEmbed: imageEmbed, onImageBrowseClick: onImageBrowseClick, onImageSettingClick: onImageSettingClick, onImageSelectClick: onImageSelectClick, onFileSelectClick: onFileSelectClick, largerImageHandler: largerImageHandler, customval: customval });\n                    }\n                }\n\n            });\n\n            //Add \"Hover on Embed\" event\n            $element.find(\".embed-responsive\").each(function () {\n\n                if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n\n                if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                if (jQuery(this).find('.ovl').length == 0) {\n                    jQuery(this).append('<div class=\"ovl\" style=\"position:absolute;background:#fff;opacity:0.2;cursor:pointer;top:0;left:0px;width:100%;height:100%;z-index:-1\"></div>');\n                }\n            });\n\n            $element.on('mouseenter mouseleave', '.embed-responsive', function(e) {\n                switch(e.type) {\n                    case 'mouseenter':\n                        if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n\n                        if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                        if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                        if (jQuery(this).parents(\".ui-draggable\").css('outline-style') == 'none') {\n                            jQuery(this).find('.ovl').css('z-index', '1');\n                        }\n                        break;\n                    case 'mouseleave':\n                        jQuery(this).find('.ovl').css('z-index', '-1');\n                        break;\n                }\n            });\n\n            //Add \"Focus\" event\n            $element.find(selectable).off('focus');\n            $element.find(selectable).focus(function () {\n\n                var selectable = $element.data('contentbuilder').settings.selectable;\n\n                var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n\n                /****** Row Controls ******/\n                jQuery(\".ui-draggable\").removeClass('code');\n                if( jQuery(this).parents(\"[data-html]\").length > 0 ) { //Mode: code\n                    jQuery(this).parents(\".ui-draggable\").addClass('code');\n                }\n\n                if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) { //Mode: readonly\n                    jQuery(this).parents(\".ui-draggable\").addClass('code');\n                }\n\n                if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) { //Mode: readonly & protected\n                    jQuery(this).parents(\".ui-draggable\").addClass('code');\n                }\n\n                jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n                jQuery(this).parents(\".ui-draggable\").addClass('ui-dragbox-outlined');\n                if(is_firefox) jQuery(this).parents(\".ui-draggable\").addClass('firefox');\n\n                jQuery('.row-tool').stop(true, true).fadeOut(0);\n                if( jQuery(this).parents(\".ui-draggable\").find(\"[data-html-edit='off']\").length > 0  || !$element.data('contentbuilder').settings.sourceEditor){\n                    jQuery(this).parents(\".ui-draggable\").find('.row-tool .row-html').css({ display: 'none' });\n                }\n                jQuery(this).parents(\".ui-draggable\").find('.row-tool').stop(true, true).css({ display: 'none' }).fadeIn(300);\n            });\n\n            //Add \"Click to Remove\" event (row)\n            $element.children(\"div\").find('.row-remove').off('click');\n            $element.children(\"div\").find('.row-remove').click(function () {\n\n                /**** Custom Modal ****/\n                jQuery('#md-delrowconfirm').css('max-width', '550px');\n                jQuery('#md-delrowconfirm').simplemodal();\n                jQuery('#md-delrowconfirm').data('simplemodal').show();\n\n                $activeRow = jQuery(this).parents('.ui-draggable');\n\n                jQuery('#btnDelRowOk').off('click');\n                jQuery('#btnDelRowOk').on('click', function (e) {\n\n                    jQuery('#md-delrowconfirm').data('simplemodal').hide();\n\n                    $activeRow.fadeOut(400, function () {\n\n                        //Clear Controls\n                        jQuery(\"#divToolImg\").stop(true, true).fadeOut(0); /* CUSTOM */\n                        jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                        jQuery(\"#divRteLink\").stop(true, true).fadeOut(0);\n                        jQuery(\"#divFrameLink\").stop(true, true).fadeOut(0);\n\n                        $activeRow.remove();\n\n                        //Apply builder behaviors\n                        //$element.data('contentbuilder').applyBehavior();\n\n                        // Function to run when column/grid changed\n                        $element.data('contentbuilder').blockChanged();\n\n                        //Trigger Render event\n                        $element.data('contentbuilder').settings.onRender();\n\n                        //Trigger Change event\n                        $element.data('contentbuilder').settings.onChange();\n\n                        //Save for Undo\n                        saveForUndo();\n\n                    });\n\n                });\n                jQuery('#btnDelRowCancel').off('click');\n                jQuery('#btnDelRowCancel').on('click', function (e) {\n\n                    jQuery('#md-delrowconfirm').data('simplemodal').hide();\n\n                });\n                /**** /Custom Modal ****/\n\n            });\n\n            //Add \"Click to Duplicate\" event (row)\n            $element.children(\"div\").find('.row-copy').off('click');\n            $element.children(\"div\").find('.row-copy').click(function () {\n\n                    $activeRow = jQuery(this).parents('.ui-draggable');\n                    jQuery('#temp-contentbuilder').html($activeRow.html());\n                    jQuery('#temp-contentbuilder').find('[contenteditable]').removeAttr('contenteditable');\n                    jQuery('#temp-contentbuilder *[class=\"\"]').removeAttr('class');\n                    jQuery('#temp-contentbuilder *[style=\"\"]').removeAttr('style');\n                    jQuery('#temp-contentbuilder .ovl').remove();\n                    /*jQuery('#temp-contentbuilder').find('p').each(function () {\n                        if (jQuery.trim(jQuery(this).text()) == '') jQuery(this).remove();\n                    });*/\n                    jQuery('#temp-contentbuilder .row-tool').remove();\n                    var html = jQuery('#temp-contentbuilder').html().trim();\n\n                    //Insert\n                    $activeRow.after(html);\n\n                    //Re-Init\n                    $element.children(\"*\").each(function () {\n\n                        if (!jQuery(this).hasClass('ui-draggable')) {\n                            jQuery(this).wrap(\"<div class='ui-draggable'></div>\");\n                        }\n                    });\n\n                    $element.children('.ui-draggable').each(function () {\n                        if (jQuery(this).find('.row-tool').length == 0) {\n                            jQuery(this).append('<div class=\"row-tool\">' +\n                            '<div class=\"row-handle\"><i class=\"cb-icon-move\"></i></div>' +\n                            '<div class=\"row-html\"><i class=\"cb-icon-code\"></i></div>' +\n                            '<div class=\"row-copy\"><i class=\"cb-icon-plus\"></i></div>' +\n                            '<div class=\"row-remove\"><i class=\"cb-icon-cancel\"></i></div>' +\n                            '</div>');\n                        }\n                    });\n\n                    $element.children('.ui-draggable').each(function () {\n                        if (jQuery(this).children('*').length == 1) {\n                            jQuery(this).remove();\n                        }\n                    });\n\n                    //Apply builder behaviors\n                    $element.data('contentbuilder').applyBehavior();\n\n                    // Function to run when column/grid changed\n                    $element.data('contentbuilder').blockChanged();\n\n                    //Trigger Render event\n                    $element.data('contentbuilder').settings.onRender();\n\n                    //Trigger Change event\n                    $element.data('contentbuilder').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n            });\n\n\n            //Add \"Click to View HTML\" event (row)\n            $element.children(\"div\").find('.row-html').off('click');\n            $element.children(\"div\").find('.row-html').click(function () {\n\n                $activeRow = jQuery(this).parents('.ui-draggable');\n\n                /*\n                Module snippet examples:\n\n                <div data-num=\"301\" data-thumb=\"assets/minimalist-basic/thumbnails/slider1.png\" data-cat=\"0,35\">\n                    <div class=\"row clearfix\">\n                        <div class=\"column full\" data-module=\"slider\" data-module-desc=\"Slider\" data-html=\"...\">\n\n                        </div>\n                    </div>\n                </div>\n\n                <div data-num=\"302\" data-thumb=\"assets/minimalist-basic/thumbnails/code.png\" data-cat=\"0,100\">\n                    <div class=\"row clearfix\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"...\">\n                        <div class=\"column full\">\n\n                        </div>\n                    </div>\n                </div>\n                */\n\n                if($activeRow.find('[data-html]').length > 0){ //Mode: module or custom code\n\n                    var $activeModule = $activeRow.find('[data-html]');\n\n                    //Set Active Module\n                    jQuery('body').find(\"[data-html]\").removeAttr('data-module-active');\n                    $activeModule.attr('data-module-active', '1');\n\n                    var moduleName = $activeModule.attr('data-module');\n\n                    if($activeModule.attr('data-mode') == 'code') {//data-mode is for backward compatibility\n                        moduleName = 'code';\n                    }\n\n                    if(moduleName=='code'){\n\n                        jQuery('#infoSource').html($element.data('contentbuilder').settings.snippetCustomCodeMessage);\n\n                        var html = decodeURIComponent($activeModule.attr(\"data-html\"));\n                        jQuery('#txtContentCustomCode').val(html);\n\n                        var w = '900px';\n\n                        jQuery(\"#md-editcontentcustomcode\").css(\"width\", \"100%\");\n                        jQuery(\"#md-editcontentcustomcode\").css(\"max-width\", w);\n                        jQuery(\"#md-editcontentcustomcode\").simplemodal({ isModal: true });\n                        jQuery(\"#md-editcontentcustomcode\").data(\"simplemodal\").show();\n\n                        if(jQuery('#txtContentCustomCode').data('CodeMirrorInstance')){\n\n                            var $codeEditor = $('#txtContentCustomCode').data('CodeMirrorInstance');\n                            $codeEditor.setValue(html);\n\n                        } else {\n                            var myTextArea = jQuery(\"#txtContentCustomCode\")[0];\n\n                            if (jQuery('.is-cmloaded').length == 0) { //check if js/css already loaded\n\n                                getScripts([sScriptPath + \"codemirror/lib/codemirror.js\"],\n                                    function () {\n\n                                        getScripts([sScriptPath + \"codemirror/mode/xml/xml.js\",\n                                            sScriptPath + \"codemirror/mode/javascript/javascript.js\",\n                                            sScriptPath + \"codemirror/mode/css/css.js\"],\n                                            function () {\n\n                                                jQuery('body').addClass('is-cmloaded');\n\n                                                var $codeEditor = CodeMirror.fromTextArea(myTextArea, {\n                                                    value: html,\n                                                    mode: \"text/html\",\n                                                    lineWrapping: true,\n                                                    lineNumbers: true,\n                                                    tabMode: \"indent\"\n                                                });\n                                                $codeEditor.on(\"change\", function(cm, change) {\n                                                    jQuery('#hidContentCustomCode').val(cm.getValue());\n                                                });\n\n                                                //Save instance\n                                                jQuery('#txtContentCustomCode').data('CodeMirrorInstance', $codeEditor);\n\n                                            });\n\n                                    });\n\n                            } else {\n\n                                var $codeEditor = CodeMirror.fromTextArea(myTextArea, {\n                                    value: html,\n                                    mode: \"text/html\",\n                                    lineWrapping: true,\n                                    lineNumbers: true,\n                                    tabMode: \"indent\"\n                                });\n                                $codeEditor.on(\"change\", function(cm, change) {\n                                    jQuery('#hidContentCustomCode').val(cm.getValue());\n                                });\n\n                                //Save instance\n                                jQuery('#txtContentCustomCode').data('CodeMirrorInstance', $codeEditor);\n\n                            }\n\n                        }\n\n                        jQuery('#btnContentCustomCodeOk').off('click');\n                        jQuery('#btnContentCustomCodeOk').on('click', function (e) {\n\n                            var $codeEditor = $('#txtContentCustomCode').data('CodeMirrorInstance');\n                            jQuery('#hidContentCustomCode').val($codeEditor.getValue());\n\n                            //Save Html (original)\n                            $activeModule.attr('data-html', encodeURIComponent(jQuery('#hidContentCustomCode').val()));\n\n                            //Render (programmatically)\n                            $activeModule.html(jQuery('#hidContentCustomCode').val());\n\n                            jQuery('#md-editcontentcustomcode').data('simplemodal').hide();\n\n                            //Trigger Change event\n                            $element.data('contentbuilder').settings.onChange();\n\n                            //Save for Undo\n                            saveForUndo();\n\n                        });\n\n                        jQuery('#btnContentCustomCodeCancel').off('click');\n                        jQuery('#btnContentCustomCodeCancel').on('click', function (e) {\n\n                            jQuery('#md-editcontentcustomcode').data('simplemodal').hide();\n\n                        });\n\n\n                    } else {\n\n                        var moduleDesc = $activeModule.attr('data-module-desc');\n                        if (moduleDesc) {\n                            jQuery(\"#md-editcontentmodule\").find('.md-title').html(moduleDesc);\n                        } else {\n                            jQuery(\"#md-editcontentmodule\").find('.md-title').html('Module Settings');\n                        }\n\n                        var w = $activeModule.attr('data-dialog-width');\n                        if(!w || w==''){\n                            w = '65%';\n                        }\n\n                        jQuery(\"#md-editcontentmodule\").css(\"width\", \"100%\");\n                        jQuery(\"#md-editcontentmodule\").css(\"max-width\", w);\n                        jQuery(\"#md-editcontentmodule\").simplemodal({ isModal: true });\n                        jQuery(\"#md-editcontentmodule\").data(\"simplemodal\").show();\n\n                        jQuery('#ifrContentModulePanel').attr('src', $element.data('contentbuilder').settings.modulePath + moduleName + '.html'); //load module panel on iframe\n\n                        jQuery('#btnContentModuleOk').off('click');\n                        jQuery('#btnContentModuleOk').on('click', function (e) {\n\n                            //Save Html (original)\n                            $activeModule.attr('data-html', encodeURIComponent(jQuery('#hidContentModuleCode').val()));\n\n                            //Save Settings (original)\n                            $activeModule.attr('data-settings', encodeURIComponent(jQuery('#hidContentModuleSettings').val()));\n\n                            //Render (programmatically)\n                            $activeModule.html(jQuery('#hidContentModuleCode').val());\n\n                            jQuery('#md-editcontentmodule').data('simplemodal').hide();\n\n                            //Trigger Change event\n                            $element.data('contentbuilder').settings.onChange();\n\n                            //Save for Undo\n                            saveForUndo();\n\n                        });\n\n                        jQuery('#btnContentModuleCancel').off('click');\n                        jQuery('#btnContentModuleCancel').on('click', function (e) {\n\n                            jQuery('#md-editcontentmodule').data('simplemodal').hide();\n\n                        });\n\n                    }\n\n                } else {\n\n                    $activeCol = jQuery(this).parents('.ui-draggable').children('*').not('.row-tool'); //refine $activeRow to $activeCol\n\n                    //Normal Static HTML\n                    jQuery('#md-html').css('width', '60%');\n                    jQuery('#md-html').simplemodal({isModal:true});\n                    jQuery('#md-html').data('simplemodal').show();\n\n                    jQuery('#temp-contentbuilder').html($activeCol.html());\n\n                    jQuery('#temp-contentbuilder').find('[contenteditable]').removeAttr('contenteditable');\n                    jQuery('#temp-contentbuilder *[class=\"\"]').removeAttr('class');\n                    jQuery('#temp-contentbuilder *[style=\"\"]').removeAttr('style');\n                    jQuery('#temp-contentbuilder .ovl').remove();\n                    /*jQuery('#temp-contentbuilder').find('p').each(function () {\n                        if (jQuery.trim(jQuery(this).text()) == '') jQuery(this).remove();\n                    });*/\n                    var html = jQuery('#temp-contentbuilder').html().trim();\n                    html = html.replace(/<font/g,'<span').replace(/<\\/font/g,'</span');\n                    jQuery('#txtHtml').val(html);\n\n                    jQuery(\"#txtHtml\").css('display', 'none');\n\n                    if(jQuery('#txtHtml').data('CodeMirrorInstance')){\n\n                        var $htmlEditor = $('#txtHtml').data('CodeMirrorInstance');\n                        $htmlEditor.setValue(html);\n\n                    } else {\n                        var myTextArea = jQuery(\"#txtHtml\")[0];\n\n                        if (jQuery('.is-cmloaded').length == 0) { //check if js/css already loaded\n\n                            getScripts([sScriptPath + \"codemirror/lib/codemirror.js\"],\n                                function () {\n\n                                    getScripts([sScriptPath + \"codemirror/mode/xml/xml.js\",\n                                        sScriptPath + \"codemirror/mode/javascript/javascript.js\",\n                                        sScriptPath + \"codemirror/mode/css/css.js\"],\n                                        function () {\n\n                                            jQuery('body').addClass('is-cmloaded');\n\n                                            var $htmlEditor = CodeMirror.fromTextArea(myTextArea, {\n                                                value: html,\n                                                mode: \"text/html\",\n                                                lineWrapping: true,\n                                                lineNumbers: true,\n                                                tabMode: \"indent\"\n                                            });\n                                            $htmlEditor.on(\"change\", function(cm, change) {\n                                                jQuery('#txtHtml').val(cm.getValue());\n                                            });\n\n                                            //Save instance\n                                            jQuery('#txtHtml').data('CodeMirrorInstance', $htmlEditor);\n\n                                        });\n\n                                });\n\n                        } else {\n\n                            var $htmlEditor = CodeMirror.fromTextArea(myTextArea, {\n                                value: html,\n                                mode: \"text/html\",\n                                lineWrapping: true,\n                                lineNumbers: true,\n                                tabMode: \"indent\"\n                            });\n                            $htmlEditor.on(\"change\", function(cm, change) {\n                                jQuery('#txtHtml').val(cm.getValue());\n                            });\n\n                            //Save instance\n                            jQuery('#txtHtml').data('CodeMirrorInstance', $htmlEditor);\n\n                        }\n\n                    }\n\n                    jQuery('#btnHtmlOk').off('click');\n                    jQuery('#btnHtmlOk').on('click', function (e) {\n\n                        var $htmlEditor = $('#txtHtml').data('CodeMirrorInstance');\n                        jQuery('#txtHtml').val($htmlEditor.getValue());\n\n                        $activeCol.html(jQuery('#txtHtml').val());\n\n                        jQuery('#md-html').data('simplemodal').hide();\n\n                        //Apply builder behaviors\n                        $element.data('contentbuilder').applyBehavior();\n\n                        // Function to run when column/grid changed\n                        $element.data('contentbuilder').blockChanged();\n\n                        //Trigger Render event\n                        $element.data('contentbuilder').settings.onRender();\n\n                        //Trigger Change event\n                        $element.data('contentbuilder').settings.onChange();\n\n                        //Save for Undo\n                        saveForUndo();\n\n                    });\n\n                    jQuery('#btnHtmlCancel').off('click');\n                    jQuery('#btnHtmlCancel').on('click', function (e) {\n\n                        jQuery('#md-html').data('simplemodal').hide();\n\n                    });\n                }\n\n            });\n\n        };\n\n        this.blockChanged = function () {\n\n            if($element.children().length==0) {\n                $element.addClass('empty');\n            } else {\n                $element.removeClass('empty');\n            }\n\n        };\n\n\t\tthis.destroy = function () {\n            if(!$element.data('contentbuilder')) return;\n            var sHTML = $element.data('contentbuilder').html();\n            $element.html(sHTML);\n\n\t\t\t// ---by jack\n\t\t\t$element.sortable(\"destroy\"); //destroy sortable\n\n\t\t\t//del element from cb_list\n\t\t\tvar cbarr = cb_list.split(\",\"), newcbarr = [];\n\t\t\tfor(var i=0; i < cbarr.length; i++) {\n\t\t\t\tif(cbarr[i] != \"#\"+$element.attr(\"id\")) {\n\t\t\t\t\tnewcbarr.push(cbarr[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcb_list = newcbarr.join(\",\");\n\t\t\t// ---end by jack\n\n            //added by yus\n            for (var i = 0; i < instances.length; i++) {\n                if( jQuery(instances[i]).attr('id') == $element.attr('id') ) {\n                    instances.splice(i, 1);\n                }\n            }\n\n            $element.removeClass('connectSortable');\n            $element.css({ 'min-height': '' });\n\n            /*\n\t\t\t// ---by jack\n\t\t\tif(cb_list==\"\") {\n\t\t\t\tjQuery('#divCb').remove();\n                jQuery(document).off('mousedown');\n\t\t\t}\n\t\t\t// ---end by jack\n            */\n\n            $element.removeData('contentbuilder');\n            $element.removeData('contenteditor');\n            //$element.unbind();\n\n            refreshAllObjects();\n        };\n\n        this.init();\n\n    };\n\n    jQuery.fn.contentbuilder = function (options) {\n        return this.each(function () {\n\n            if (undefined == jQuery(this).data('contentbuilder')) {\n                var plugin = new jQuery.contentbuilder(this, options);\n                jQuery(this).data('contentbuilder', plugin);\n\n            }\n\n            saveForUndo();\n\n        });\n    };\n})(jQuery);\n\nfunction refreshAllObjects() {\n    try {\n        var cbarr = cb_list.split(\",\"), newcbarr = [];\n        for (var i = 0; i < cbarr.length; i++) {\n            //console.log(cbarr[i]);\n            jQuery(cbarr[i]).data('contentbuilder').applyBehavior();\n        }\n    }\n    catch (e) { }\n}\n\n/*******************************************************************************************/\n\nvar ce_toolbarDisplay = 'auto';\nvar ce_outline = false;\nvar instances = [];\nvar savedSelPublic;\n\n(function (jQuery) {\n\n    var $activeLink;\n    var $activeElement;\n    var $activeFrame;\n    var $activeCell;\n\n    jQuery.contenteditor = function (element, options) {\n\n        var defaults = {\n            editable: \"h1,h2,h3,h4,h5,h6,p,ul,ol,small,.edit,td\",\n            editMode: \"default\",\n            hasChanged: false,\n            onRender: function () {\n\n            },\n            onChange: function () {\n\n            },\n            outline: false,\n            fileselect: '',\n            imageselect: '',\n            iconselect: '',\n            onFileSelectClick: function () { },\n            onImageSelectClick: function () { },\n            toolbar: 'top',\n            toolbarDisplay: 'auto',\n            buttons: [\"bold\", \"italic\", \"formatting\", \"textsettings\", \"color\", \"font\", \"formatPara\", \"align\", \"list\", \"table\", \"image\", \"createLink\", \"unlink\", \"icon\", \"tags\", \"removeFormat\", \"html\"],\n            colors: [\"#ffffc5\",\"#e9d4a7\",\"#ffd5d5\",\"#ffd4df\",\"#c5efff\",\"#b4fdff\",\"#c6f5c6\",\"#fcd1fe\",\"#ececec\",\n                \"#f7e97a\",\"#d09f5e\",\"#ff8d8d\",\"#ff80aa\",\"#63d3ff\",\"#7eeaed\",\"#94dd95\",\"#ef97f3\",\"#d4d4d4\",\n                \"#fed229\",\"#cc7f18\",\"#ff0e0e\",\"#fa4273\",\"#00b8ff\",\"#0edce2\",\"#35d037\",\"#d24fd7\",\"#888888\",\n                \"#ff9c26\",\"#955705\",\"#c31313\",\"#f51f58\",\"#1b83df\",\"#0bbfc5\",\"#1aa71b\",\"#ae19b4\",\"#333333\"],\n            customTags: []\n            /*\n                [[\"First Name\", \"{%first_name%}\"],\n                [\"Last Name\", \"{%last_name%}\"],\n                [\"Email\", \"{%email%}\"]]\n            */\n        };\n\n        this.settings = {};\n\n        var $element = jQuery(element),\n             element = element;\n\n        this.init = function () {\n\n            this.settings = jQuery.extend({}, defaults, options);\n\n            //Custom File Select\n            var bUseCustomFileSelect = false;\n            if(this.settings.fileselect!='') bUseCustomFileSelect=true;\n\n            var sFunc = (this.settings.onFileSelectClick+'').replace( /\\s/g, '');\n            if(sFunc != 'function(){}'){ //If custom event set, enable the button\n                bUseCustomFileSelect=true;\n            }\n\n            //Custom Image Select\n            var bUseCustomImageSelect = false;\n            if(this.settings.imageselect!='') bUseCustomImageSelect=true;\n\n            var sFunc = (this.settings.onImageSelectClick+'').replace( /\\s/g, '');\n            if(sFunc != 'function(){}'){ //If custom event set, enable the button\n                bUseCustomImageSelect=true;\n            }\n\n            /**** Localize All ****/\n            if (jQuery('#divCb').length == 0) {\n                jQuery('body').append('<div id=\"divCb\"></div>');\n            }\n\n            ce_toolbarDisplay = this.settings.toolbarDisplay;\n            ce_outline = this.settings.outline;\n\n            var toolbar_attr = '';\n            if(this.settings.toolbar=='left')toolbar_attr=' class=\"rte-side\"';\n            if(this.settings.toolbar=='right')toolbar_attr=' class=\"rte-side right\"';\n\n            var icon_button = '';\n            if(this.settings.iconselect!='') icon_button = '<button data-rte-cmd=\"icon\" title=\"Icon\"> <i class=\"cb-icon-smile\"></i> </button>';\n\n            var customtag_button = '';\n            if( this.settings.customTags.length > 0 ) customtag_button = '<button data-rte-cmd=\"tags\" title=\"Tags\"> <i class=\"cb-icon-ticket\"></i> </button>';\n\n            var html_rte= '<div id=\"rte-toolbar\"' + toolbar_attr + '><div class=\"rte-draggable\"><i class=\"cb-icon-dot\"></i></div>';\n                for (var j = 0; j < this.settings.buttons.length; j++) {\n                    var btn = this.settings.buttons[j];\n                    if(btn=='bold') html_rte += '<button href=\"#\" data-rte-cmd=\"bold\" title=\"Bold\"> <i class=\"cb-icon-bold\"></i> </button>';\n                    if(btn=='italic') html_rte += '<button data-rte-cmd=\"italic\" title=\"Italic\"> <i class=\"cb-icon-italic\"></i> </button>';\n                    if(btn=='underline') html_rte += '<button data-rte-cmd=\"underline\" title=\"Underline\"> <i class=\"cb-icon-underline\"></i> </button>';\n                    if(btn=='strikethrough') html_rte += '<button data-rte-cmd=\"strikethrough\" title=\"Strikethrough\"> <i class=\"cb-icon-strike\"></i> </button>';\n                    if(btn=='formatting') html_rte += '<button data-rte-cmd=\"formatting\" title=\"Formatting\"> <i class=\"cb-icon-font\"></i> </button>';\n                    if(btn=='textsettings') html_rte += '<button data-rte-cmd=\"textsettings\" title=\"Text Settings\"> <i class=\"cb-icon-sliders\" style=\"font-size:16px;line-height: 16px;\"></i> </button>';\n                    if(btn=='color') html_rte += '<button data-rte-cmd=\"color\" title=\"Color\"> <i class=\"cb-icon-color\"></i> </button>';\n                    if(btn=='fontsize') html_rte += '<button data-rte-cmd=\"fontsize2\" title=\"Font Size\"> <i class=\"cb-icon-fontsize\"></i> </button>';\n                    if(btn=='removeFormat') html_rte += '<button data-rte-cmd=\"removeFormat\" title=\"Clean\"> <i class=\"cb-icon-eraser\"></i> </button>';\n                    if(btn=='formatPara') html_rte += '<button data-rte-cmd=\"formatPara\" title=\"Paragraph\"> <i class=\"cb-icon-header\"></i> </button>';\n                    if(btn=='font') html_rte += '<button data-rte-cmd=\"font\" title=\"Font\"> <i class=\"cb-icon-font-family\" style=\"font-size:11px\"></i> </button>';\n                    if(btn=='align') html_rte += '<button data-rte-cmd=\"align\" title=\"Alignment\"> <i class=\"cb-icon-align-justify\"></i> </button>';\n                    if(btn=='list') html_rte += '<button data-rte-cmd=\"list\" title=\"List\"> <i class=\"cb-icon-list-bullet\"></i> </button>';\n                    if(btn=='image') html_rte += '<button href=\"#\" data-rte-cmd=\"image\" title=\"Image\"> <i class=\"cb-icon-picture\"></i> </button>';\n                    if(btn=='createLink') html_rte += '<button data-rte-cmd=\"createLink\" title=\"Link\"> <i class=\"cb-icon-link\"></i> </button>';\n                    if(btn=='unlink') html_rte += '<button data-rte-cmd=\"unlink\" title=\"Remove Link\"> <i class=\"cb-icon-unlink\"></i> </button>';\n                    if(btn=='table') html_rte += '<button href=\"#\" data-rte-cmd=\"table\" title=\"table\"> <i class=\"cb-icon-table\" style=\"font-size:14px;line-height:14px;\"></i> </button>';\n                    if(btn=='icon') html_rte += icon_button;\n                    if(btn=='tags') html_rte += customtag_button;\n                    if(btn=='html') html_rte += '<button data-rte-cmd=\"html\" title=\"HTML\"> <i class=\"cb-icon-code\"></i> </button>';\n                }\n\n            var html_table = '<table id=\"tableInsert\" class=\"table-insert\" style=\"border-collapse:collapse;border-radius:5px;overflow:hidden;\">';\n            for (var i = 1; i <= 5; i++) {\n                html_table += '<tr>';\n                for (var j = 1; j <= 5; j++) {\n                    html_table += '<td data-row=\"' + i + '\" data-col=\"' + j + '\">' + i + 'x' + j + '</td>';\n                }\n                html_table += '</tr>';\n            }\n            html_table += '</table>';\n\n            html_rte += '</div>' +\n\t\t\t\t'' +\n\t\t\t\t'<div id=\"divRteLink\">' +\n\t\t\t\t\t'<i class=\"cb-icon-link\"></i> Edit' +\n\t\t\t\t'</div>' +\n\t\t\t\t'' +\n\t\t\t\t'<div id=\"divFrameLink\">' +\n\t\t\t\t\t'<i class=\"cb-icon-link\"></i> Edit' +\n\t\t\t\t'</div>' +\n\t\t\t\t'' +\n\t\t\t\t'<div id=\"divRteTable\">' +\n\t\t\t\t\t'<button id=\"btnEditTable\" title=\"Edit\"><i class=\"cb-icon-pencil\"></i></button>' +\n\t\t\t\t\t'<button id=\"btnDeleteTable\" title=\"Delete\"><i class=\"cb-icon-cancel\"></i></button>' +\n\t\t\t\t'</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-createlink\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div class=\"md-modal-handle\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<div class=\"md-label\">Link:</div>' +\n                            (bUseCustomFileSelect ? '<input type=\"text\" id=\"txtLink\" class=\"inptxt\" style=\"float:left;width:60%;\" value=\"http:/' + '/\"></input><i class=\"cb-icon-link md-btnbrowse\" id=\"btnLinkBrowse\" style=\"width:10%;\"></i>' : '<input type=\"text\" id=\"txtLink\" class=\"inptxt\" value=\"http:/' + '/\" style=\"float:left;width:70%\"></input>') +\n                            '<br style=\"clear:both\">' +\n                            '<div class=\"md-label\">Text:</div>' +\n                            '<input type=\"text\" id=\"txtLinkText\" class=\"inptxt\" style=\"float:right;width:70%\"></input>' +\n                            '<br style=\"clear:both\">' +\n                            '<div class=\"md-label\">Title:</div>' +\n                            '<input type=\"text\" id=\"txtLinkTitle\" class=\"inptxt\" style=\"float:right;width:70%\"></input>' +\n                            '<br style=\"clear:both\">' +\n                            '<div class=\"md-label\">Target:</div>' +\n                            '<label style=\"float:left;\" for=\"chkNewWindow\" class=\"inpchk\"><input type=\"checkbox\" id=\"chkNewWindow\"></input> New Window</label>' +\n                            '<br style=\"clear:both\">' +\n\t\t\t\t        '</div>' +\n\t\t\t\t\t    '<div class=\"md-footer\">' +\n                            '<button id=\"btnLinkOk\"> Ok </button>' +\n                        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-insertimage\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div class=\"md-modal-handle\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<div class=\"md-browse\">' +\n                                '<div class=\"md-drop-area\">' +\n                                    '<input id=\"fileInsertImage\" type=\"file\" accept=\"image/*\" />' +\n                                    '<div class=\"drag-text\">' +\n                                        '<p><i class=\"cb-icon-camera\"></i> Drag and drop an image or click to browse.</p>' +\n                                    '</div>' +\n                                '</div>' +\n                                '<div class=\"md-preview-area\">' +\n                                    '<div><img id=\"imgInsertImagePreview\" src=\"#\" alt=\"your image\" /><i class=\"ion-ios-close-empty\"></i></div>' +\n                                '</div>' +\n                            '</div>' +\n                            '<div class=\"md-label\">Or Specify Image Source:</div>' +\n                            (bUseCustomImageSelect ? '<input type=\"text\" id=\"txtImgUrl_rte\" class=\"inptxt\" style=\"float:left;width:60%\"></input><i class=\"cb-icon-link md-btnbrowse\" id=\"btnImageBrowse_rte\" style=\"width:10%;\"></i>' : '<input type=\"text\" id=\"txtImgUrl_rte\" class=\"inptxt\" style=\"float:left;width:70%\"></input>') +\n                            '<br style=\"clear:both\">' +\n\t\t\t\t        '</div>' +\n\t\t\t\t\t    '<div class=\"md-footer\">' +\n                            '<button id=\"btnImgOk_rte\"> Ok </button>' +\n                        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"md-modal\" id=\"md-createsrc\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<input type=\"text\" id=\"txtSrc\" class=\"inptxt\" value=\"http:/' + '/\"></input>' +\n\t\t\t\t        '</div>' +\n\t\t\t\t\t    '<div class=\"md-footer\">' +\n                            '<button id=\"btnSrcOk\"> Ok </button>' +\n                        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"md-modal\" id=\"md-createiframe\">' +\n                    '<div class=\"md-content\">' +\n                        '<div class=\"md-body\">' +\n                            '<textarea id=\"txtIframe\" class=\"inptxt\" style=\"height:350px;\"></textarea>' +\n                        '</div>' +\n                        '<div class=\"md-footer\">' +\n                            '<button id=\"btnIframeOk\"> Ok </button>' +\n                        '</div>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-table\">' +\n                    html_table +\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-align\">' +\n                    '<button class=\"md-pickalign\" data-align=\"left\" title=\"Left\"> <i class=\"cb-icon-align-left\"></i> </button>' +\n                    '<button class=\"md-pickalign\" data-align=\"center\" title=\"Center\"> <i class=\"cb-icon-align-center\"></i> </button>' +\n                    '<button class=\"md-pickalign\" data-align=\"right\" title=\"Right\"> <i class=\"cb-icon-align-right\"></i> </button>' +\n                    '<button class=\"md-pickalign\" data-align=\"justify\" title=\"Full\"> <i class=\"cb-icon-align-justify\"></i> </button>' +\n                '</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-edittable\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div class=\"md-modal-handle\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<div class=\"md-tabs\">' +\n                                '<span id=\"tabTableDesign\" class=\"active\">Design</span>' +\n                                '<span id=\"tabTableLayout\">Layout</span>' +\n                            '</div>' +\n                            '<div id=\"divTableDesign\" style=\"overflow-y:auto;overflow-x:hidden;box-sizing:border-box;padding:10px 10px 10px\">' +\n                                '' +\n                                '<div>' +\n                                    'Background:<br>' +\n                                    '<input type=\"text\" id=\"inpCellBgColor\" value=\"\"/>' +\n                                '</div>' +\n                                '<div>' +\n                                    'Text Color:<br>' +\n                                    '<input type=\"text\" id=\"inpCellTextColor\" value=\"\"/>' +\n                                '</div>' +\n                                '<div>' +\n                                    'Border Thickness:<br>' +\n                                    '<select id=\"selCellBorderWidth\" style=\"width:120px;\"><option value=\"0\">No Border</option><option value=\"1\">1</option><option value=\"2\">2</option><option value=\"3\">3</option></select>' +\n\t\t\t\t                '</div>' +\n                                '<div>' +\n                                    'Border Color:<br>' +\n                                    '<input type=\"text\" id=\"inpCellBorderColor\" value=\"\"/>' +\n                                '</div>' +\n                                '<div>' +\n                                    'Apply To:<br>' +\n                                    '<select id=\"selTableApplyTo\" style=\"width:120px;\">' +\n                                        '<option value=\"table\">Table</option>' +\n                                        '<option value=\"currentrow\">Current Row</option>' +\n                                        '<option value=\"currentcol\">Current Column</option>' +\n                                        '<option value=\"evenrows\">Even Rows</option>' +\n                                        '<option value=\"oddrows\">Odd Rows</option>' +\n                                        '<option value=\"currentcell\">Current Cell</option>' +\n                                    '</select>' +\n\t\t\t\t                '</div>' +\n                                '' +\n\t\t\t\t            '</div>' +\n                            '<div id=\"divTableLayout\" style=\"overflow-y:auto;overflow-x:hidden;display:none;box-sizing:border-box;padding:10px 10px 10px\">' +\n                                '<div>' +\n                                    'Insert Row:<br>' +\n                                    '<button data-rte-cmd=\"rowabove\" title=\"Insert Row (Above)\" style=\"width:100px;margin-right:5px\"> Above </button>' +\n                                    '<button data-rte-cmd=\"rowbelow\" title=\"Insert Row (Below)\" style=\"width:100px;\"> Below </button>' +\n                                '</div>' +\n                                '<div>' +\n                                    'Insert Column:<br>' +\n                                    '<button data-rte-cmd=\"columnleft\" title=\"Insert Column (Left)\" style=\"width:100px;margin-right:5px\"> Left </button>' +\n                                    '<button data-rte-cmd=\"columnright\" title=\"Insert Column (Right)\" style=\"width:100px;\"> Right </button>' +\n                                '</div>' +\n                                '<div>' +\n                                    'Delete:<br>' +\n                                    '<button data-rte-cmd=\"delrow\" title=\"Delete Row\" style=\"width:100px;margin-right:5px\"> Row </button>' +\n                                    '<button data-rte-cmd=\"delcolumn\" title=\"Delete Column\" style=\"width:100px;\"> Column </button>' +\n                                '</div>' +\n                                '<div style=\"margin-bottom:15px;\">' +\n                                    'Merge:<br>' +\n                                    '<button data-rte-cmd=\"mergecell\" title=\"Merge Cell\" style=\"width:205px\"> Merge Cell </button>' +\n                                '</div>' +\n                                '' +\n\t\t\t\t            '</div>' +\n                        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"md-modal\" id=\"md-deltableconfirm\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div style=\"padding:20px 20px 25px;text-align:center;\">' +\n                            '<p>Are you sure you want to delete this table?</p>' +\n                            '<button id=\"btnDelTableCancel\"> CANCEL </button>' +\n                            '<button id=\"btnDelTableOk\" style=\"margin-left:12px\"> OK </button>' +\n                            '</div>' +\n\t\t\t\t        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-list\">' +\n                    '<button class=\"md-picklist half\" data-list=\"indent\" title=\"Indent\" style=\"margin-right:0px\"> <i class=\"cb-icon-indent-right\"></i> </button>' +\n                    '<button class=\"md-picklist half\" data-list=\"outdent\" title=\"Outdent\"> <i class=\"cb-icon-indent-left\"></i> </button>' +\n                    '<button class=\"md-picklist\" data-list=\"insertUnorderedList\" title=\"Bulleted List\"> <i class=\"cb-icon-list-bullet\"></i> </button>' +\n                    '<button class=\"md-picklist\" data-list=\"insertOrderedList\" title=\"Numbered List\"> <i class=\"cb-icon-list-numbered\"></i> </button>' +\n                    /*'<button class=\"md-picklist\" data-list=\"normal\" title=\"Remove List\"> <i class=\"cb-icon-eraser\"></i> </button>' +*/\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-formatting\">' +\n                    '<div>' +\n                      /*  '<button href=\"#\" data-rte-cmd=\"bold\" title=\"Bold\"> <i class=\"cb-icon-bold\"></i> </button>' +\n                        '<button data-rte-cmd=\"italic\" title=\"Italic\"> <i class=\"cb-icon-italic\"></i> </button>' + */\n                        '<button data-rte-cmd=\"underline\" title=\"Underline\"> <i class=\"cb-icon-underline\"></i> </button>' +\n                        '<button data-rte-cmd=\"strikethrough\" title=\"Strikethrough\"> <i class=\"cb-icon-strike\"></i> </button>' +\n                        '<button data-rte-cmd=\"superscript\" title=\"Superscript\"> <i class=\"cb-icon-superscript\"></i> </button>' +\n                        '<button data-rte-cmd=\"subscript\" title=\"Subscript\"> <i class=\"cb-icon-subscript\"></i> </button>' +\n                        '<button data-rte-cmd=\"uppercase\" title=\"Uppercase\"> <i class=\"cb-icon-uppercase\"></i> </button>' +\n                      /*  '<button data-rte-cmd=\"font\" title=\"Font Family\"> <i class=\"cb-icon-font-family\" style=\"font-size:11px\"></i> </button>' + */\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop arrow-left\" id=\"pop-textsettings\">' +\n                    '<div>' +\n                        'Font Size: <span id=\"outFontSize\"></span><br>' +\n                        '<button data-rte-cmd=\"fontsize\" data-val=\"decrease\" class=\"updown\"> - </button>' +\n                        '<button data-rte-cmd=\"fontsize\" data-val=\"increase\" class=\"updown\"> + </button>' +\n                        '<button data-rte-cmd=\"fontsize\" data-val=\"clear\" class=\"updown\" style=\"font-size:11px\"> <i class=\"cb-icon-eraser\"></i> </button>' +\n                        '<br style=\"clear:both\">' +\n                    '</div>' +\n                    '<div>' +\n                        'Letter Spacing: <span id=\"outLetterSpacing\"></span><br>' +\n                        '<button data-rte-cmd=\"letterspacing\" data-val=\"decrease\" class=\"updown\"> - </button>' +\n                        '<button data-rte-cmd=\"letterspacing\" data-val=\"increase\" class=\"updown\"> + </button>' +\n                        '<button data-rte-cmd=\"letterspacing\" data-val=\"clear\" class=\"updown\" style=\"font-size:11px\"> <i class=\"cb-icon-eraser\"></i> </button>' +\n                        '<br style=\"clear:both\">' +\n                    '</div>' +\n                    '<div>' +\n                        'Line Height: <span id=\"outLineHeight\"></span><br>' +\n                        '<button data-rte-cmd=\"lineheight\" data-val=\"decrease\" class=\"updown\"> - </button>' +\n                        '<button data-rte-cmd=\"lineheight\" data-val=\"increase\" class=\"updown\"> + </button>' +\n                        '<button data-rte-cmd=\"lineheight\" data-val=\"clear\" class=\"updown\" style=\"font-size:11px\"> <i class=\"cb-icon-eraser\"></i> </button>' +\n                        '<br style=\"clear:both\">' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-fontfamily\">' +\n                    '<div>' +\n                        '<iframe id=\"ifrFonts\" src=\"' + sScriptPath + 'blank.html\"></iframe>' +\n                        '<button class=\"md-pickfontfamily\" data-font-family=\"\" data-provider=\"\" style=\"display:none\"></button>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-headings\">' +\n                    '<div>' +\n                        '<iframe id=\"ifrHeadings\" src=\"' + sScriptPath + 'blank.html\"></iframe>' +\n                        '<button class=\"md-pickheading\" data-font-family=\"\" data-provider=\"\" style=\"display:none\"></button>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"rte-pop\" id=\"pop-colors\">' +\n                    '<div style=\"margin:8px;\">' +\n                        '<input type=\"text\" id=\"inpTextColor\"/>' +\n                        '<button id=\"btnTextColorClear\" style=\"margin-left:9px;margin-bottom: 2px;padding:0 12px;width:42px;height:37px;border-radius:4px;\"> <i class=\"cb-icon-eraser\"></i> </button>' +\n                        '<div style=\"overflow-x:auto;overflow-y:hidden;width:245px;height:170px\">' +\n                            '<div class=\"cust_colors\">' +\n                            '[COLORS]' +\n                            '</div>' +\n                        '</div>' +\n                        '<div style=\"width:100%;margin-top:6px;\">' +\n                            '<select id=\"selColorApplyTo\" style=\"width:120px;\"><option value=\"1\">Text Color</option><option value=\"2\">Background</option><option value=\"3\">Block Background</option></select>' + /*<option value=\"3\">Block Background</option>*/\n                        '</div>' +\n                        '<br style=\"clear:both\" />' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-fontsize\" style=\"border-radius:12px\">' +\n\t\t\t        '<div class=\"md-content\" style=\"border-radius:12px\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div class=\"md-modal-handle\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<iframe id=\"ifrFontSize\" style=\"width:100%;height:319px;border: none;display: block;\" src=\"' + sScriptPath + 'blank.html\"></iframe>' +\n                            '<button class=\"md-pickfontsize\" data-font-size=\"\" style=\"display:none\"></button>' +\n                        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-html\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div class=\"md-modal-handle\" style=\"display:none\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<textarea id=\"txtHtml\" class=\"inptxt\" style=\"height:450px;\"></textarea>' +\n\t\t\t\t        '</div>' +\n\t\t\t\t\t    '<div class=\"md-footer\">' +\n                            '<button id=\"btnHtmlCancel\" class=\"secondary\"> Cancel </button>' +\n                            '<button id=\"btnHtmlOk\" class=\"primary\"> Ok </button>' +\n                        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-editcontentmodule\">' +\n                    '<div class=\"md-content\">' +\n                        '<div class=\"md-modal-handle\">' +\n                            '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                        '</div>' +\n                        '<div class=\"md-body\">' +\n                            '<iframe id=\"ifrContentModulePanel\" style=\"width:100%;height:500px;display:block;border:none;\" src=\"' + sScriptPath + 'blank.html\"></iframe>' +\n                            '<input id=\"hidContentModuleCode\" type=\"hidden\" />' +\n                            '<input id=\"hidContentModuleSettings\" type=\"hidden\" />' +\n                        '</div>' +\n\t\t\t\t\t    '<div class=\"md-footer\">' +\n                            '<button id=\"btnContentModuleCancel\" class=\"secondary\"> Cancel </button>' +\n                            '<button id=\"btnContentModuleOk\" class=\"primary\"> Ok </button>' +\n                        '</div>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"md-modal md-draggable\" id=\"md-editcontentcustomcode\">' +\n                    '<div class=\"md-content\">' +\n                        '<div class=\"md-modal-handle\"></div>' +\n                        '<div class=\"md-body\" style=\"background: #fff;\">' +\n                            '<div id=\"infoSource\">IMPORTANT</b>: This is a custom section. Custom javascript code (&lt;script&gt; block) is allowed here but may not always work or compatible with the content builder, so proceed at your own risk. We do not support problems with custom code.</div>' +\n                            '<textarea id=\"txtContentCustomCode\" class=\"inptxt\" style=\"background: #fff;\"></textarea>' +\n                            '<input id=\"hidContentCustomCode\" type=\"hidden\" />' +\n                        '</div>' +\n\t\t\t\t\t    '<div class=\"md-footer\">' +\n                            '<button id=\"btnContentCustomCodeCancel\" class=\"secondary\"> Cancel </button>' +\n                            '<button id=\"btnContentCustomCodeOk\" class=\"primary\"> Ok </button>' +\n                        '</div>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div class=\"md-modal\" id=\"md-fileselect\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            (bUseCustomFileSelect ? '<iframe id=\"ifrFileBrowse\" style=\"width:100%;height:400px;border: none;display: block;\" src=\"' + sScriptPath + 'blank.html\"></iframe>' : '') +\n\t\t\t\t        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '<input type=\"hidden\" id=\"active-input\" />' +\n                '' +\n                '<div class=\"md-modal\" id=\"md-delrowconfirm\">' +\n\t\t\t        '<div class=\"md-content\">' +\n\t\t\t\t        '<div class=\"md-body\">' +\n                            '<div style=\"padding:20px 20px 25px;text-align:center;\">' +\n                            '<p>Are you sure you want to delete this block?</p>' +\n                            '<button id=\"btnDelRowCancel\"> CANCEL </button>' +\n                            '<button id=\"btnDelRowOk\" style=\"margin-left:12px\"> OK </button>' +\n                            '</div>' +\n\t\t\t\t        '</div>' +\n\t\t\t        '</div>' +\n\t\t        '</div>' +\n                '' +\n\t\t        '<div class=\"md-modal md-draggable\" id=\"md-icon-select\">' +\n                    '<div class=\"md-content\">' +\n                        '<div class=\"md-body md-settings\">' +\n                            '<div class=\"md-modal-handle\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<iframe id=\"ifrIconSelect\" style=\"width:100%;height:500px;hidden;border:none;float:left;\" src=\"' + sScriptPath + 'blank.html\"></iframe>' +\n                        '</div>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n\t\t        '<div class=\"md-modal md-draggable\" id=\"md-tags-select\">' +\n                    '<div class=\"md-content\">' +\n                        '<div class=\"md-body md-settings\">' +\n                            '<div class=\"md-modal-handle\">' +\n                                '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                            '</div>' +\n                            '<div id=\"divCustomTags\" style=\"width:100%;\"></div>' +\n                        '</div>' +\n                    '</div>' +\n                '</div>' +\n                '' +\n                '<div id=\"temp-contenteditor\"></div>' +\n                '';\n\n            var html_colors = '';\n            /*\n            arrC = new Array(\"#000000\", \"#0000ff\", \"#3300ff\", \"#6600ff\", \"#9900ff\", \"#cc00ff\", \"#ff00ff\", \"#ff0099\", \"#cc0099\", \"#990099\", \"#660099\", \"#330099\", \"#000099\", \"#000033\", \"#330033\", \"#660033\", \"#990033\", \"#cc0033\", \"#ff0033\", \"|\",\n                \"#444\", \"#0066ff\", \"#3366ff\", \"#6666ff\", \"#9966ff\", \"#cc66ff\", \"#ff66ff\", \"#ff6699\", \"#cc6699\", \"#996699\", \"#666699\", \"#336699\", \"#006699\", \"#006633\", \"#336633\", \"#666633\", \"#996633\", \"#cc6633\", \"#ff6633\", \"|\",\n                \"#888\", \"#0099ff\", \"#3399ff\", \"#6699ff\", \"#9999ff\", \"#cc99ff\", \"#ff99ff\", \"#ff9999\", \"#cc9999\", \"#999999\", \"#669999\", \"#339999\", \"#009999\", \"#009933\", \"#339933\", \"#669933\", \"#999933\", \"#cc9933\", \"#ff9933\", \"|\",\n                \"#ccc\", \"#00ccff\", \"#33ccff\", \"#66ccff\", \"#99ccff\", \"#ccccff\", \"#ffccff\", \"#ffcc99\", \"#cccc99\", \"#99cc99\", \"#66cc99\", \"#33cc99\", \"#00cc99\", \"#00cc33\", \"#33cc33\", \"#66cc33\", \"#99cc33\", \"#cccc33\", \"#ffcc33\", \"|\",\n                \"#ffffff\", \"#00ffff\", \"#33ffff\", \"#66ffff\", \"#99ffff\", \"#ccffff\", \"#ffffff\", \"#ffff99\", \"#ccff99\", \"#99ff99\", \"#66ff99\", \"#33ff99\", \"#00ff99\", \"#00ff33\", \"#33ff33\", \"#66ff33\", \"#99ff33\", \"#ccff33\", \"#ffff33\");\n            */\n            arrC = new Array(\n                \"#000000\", \"#3300ff\", \"#9900ff\", \"#ff0099\", \"#cc0099\", \"#990099\", \"#990033\", \"#cc0033\", \"#ff0033\", \"|\",\n                \"#444444\", \"#3366ff\", \"#9966ff\", \"#ff6699\", \"#cc6699\", \"#996699\", \"#996633\", \"#cc6633\", \"#ff6633\", \"|\",\n                \"#888888\", \"#3399ff\", \"#9999ff\", \"#ff9999\", \"#cc9999\", \"#999999\", \"#999933\", \"#cc9933\", \"#ff9933\", \"|\",\n                \"#cccccc\", \"#33ccff\", \"#99ccff\", \"#ffcc99\", \"#cccc99\", \"#99cc99\", \"#99cc33\", \"#cccc33\", \"#ffcc33\", \"|\",\n                \"#ffffff\", \"#33ffff\", \"#99ffff\", \"#ffff99\", \"#ccff99\", \"#99ff99\", \"#99ff33\", \"#ccff33\", \"#ffff33\");\n            html_colors += '<div style=\"clear:both;height:30px;\">';\n            for (var i = 0; i < arrC.length; i++) {\n                if(arrC[i] !='|'){\n                    var whitecell = '';\n                    if( arrC[i] == '#ffffff' && i==98 ) whitecell = '';\n                    html_colors += '<button class=\"md-pick\" style=\"background:' + arrC[i] + whitecell + ';\"></button>';\n                } else {\n                    html_colors += '</div><div style=\"clear:both;height:30px;\">';\n                }\n            }\n            html_colors += '</div>';\n            html_rte = html_rte.replace('[COLORS]', html_colors);\n\n            /*\n            var html_colors = '';\n            for(var i=0;i<this.settings.colors.length;i++){\n                if(this.settings.colors[i]=='#ececec'){\n                    html_colors+='<button class=\"md-pick\" style=\"background:' + this.settings.colors[i] + ';border:#e7e7e7 1px solid\"></button>';\n                }else{\n                    html_colors+='<button class=\"md-pick\" style=\"background:' + this.settings.colors[i] + ';border:' + this.settings.colors[i] + ' 1px solid\"></button>';\n                }\n            }\n            html_rte = html_rte.replace('[COLORS]', html_colors);\n            */\n\n            if (jQuery('#rte-toolbar').length == 0) {\n\n                jQuery('#divCb').append(html_rte);\n\n                //this.prepareRteCommand('bold');\n                //this.prepareRteCommand('italic');\n                //this.prepareRteCommand('underline');\n                //this.prepareRteCommand('strikethrough');\n                this.prepareRteCommand('superscript');\n                this.prepareRteCommand('subscript');\n                this.prepareRteCommand('undo');\n                this.prepareRteCommand('redo');\n\n                jQuery('#rte-toolbar').draggable({\n                    cursor: \"move\",\n                    handle: \".rte-draggable\",\n                    start: function( event, ui ) {\n                        jQuery('.rte-pop').css('display','none');\n                    }\n                });\n\n                if(this.settings.toolbar=='left'){\n\n                } else if(this.settings.toolbar=='right'){\n                    jQuery('.rte-pop').addClass('arrow-right');\n                } else {\n                    jQuery('.rte-pop').addClass('arrow-top');\n                }\n\n            }\n\n\n            var isCtrl = false;\n\n            $element.on('keyup', function (e) {\n                $element.data('contenteditor').realtime();\n            });\n            $element.on('mouseup', function (e) {\n                $element.data('contenteditor').realtime();\n            });\n            /* Paste Content: Right Click */\n            jQuery(document).on(\"paste\",'#' + $element.attr('id'),function(e) {\n                pasteContent($activeElement);\n            });\n\n\n            $element.on('keydown', function (e) {\n\n                // Fix Select-All on <p> and then delete or backspace it.\n                if (e.which == 46 || e.which == 8) {\n                    var el;\n                    try{\n                        if (window.getSelection) {\n                            el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                        }\n                        else if (document.selection) {\n                            el = document.selection.createRange().parentElement();\n                        }\n\n                        if(el.nodeName.toLowerCase()=='p'){\n                            var t = '';\n                            if(window.getSelection){\n                                t = window.getSelection().toString();\n                            }else if(document.getSelection){\n                                t = document.getSelection().toString();\n                            }else if(document.selection){\n                                t = document.selection.createRange().text;\n                            }\n                            if(t==el.innerText) {\n                                jQuery(el).html('<br>');\n                                return false;\n                            }\n                        }\n\n                    } catch(e) {}\n                }\n\n                /* Paste Content: CTRL-V */\n                if (e.which == 17) {\n                    isCtrl = true;\n                    return;\n                }\n                if ((e.which == 86 && isCtrl == true) || (e.which == 86 && e.metaKey)) {\n\n                    pasteContent($activeElement);\n\n                }\n\n                /* CTRL-A */\n                if (e.ctrlKey) {\n                    if (e.keyCode == 65 || e.keyCode == 97) { // 'A' or 'a'\n                        e.preventDefault();\n\n                        var is_ie = detectIE();\n                        var el;\n                        try{\n                            if (window.getSelection) {\n                                el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                            }\n                            else if (document.selection) {\n                                el = document.selection.createRange().parentElement();\n                            }\n                        } catch(e) {\n                            return;\n                        }\n                        if (is_ie) {\n                            var range = document.body.createTextRange();\n                            range.moveToElementText(el);\n                            range.select();\n                        }\n                        else {\n                            var range = document.createRange();\n                            range.selectNodeContents(el);\n                            var oSel = window.getSelection();\n                            oSel.removeAllRanges();\n                            oSel.addRange(range);\n                        }\n                    }\n                }\n\n            }).keyup(function (e) {\n                if (e.which == 17) {\n                    isCtrl = false; // no Ctrl\n                }\n\n                //clean: remove unwanted span with font-size & line-height generated unexpectly.\n                $element.find('[style]').each(function(){\n                    if(jQuery(this).attr('style').indexOf('font-size')!=-1){\n                        //console.log(jQuery(this).attr('style') + ' compare:' + jQuery(this).css('font-size') + ' | ' + jQuery(this).parent().css('font-size'));\n                        if(jQuery(this).css('font-size') == jQuery(this).parent().css('font-size')) {\n                            jQuery(this).css('font-size','');\n                        }\n                    }\n                    if(jQuery(this).attr('style').indexOf('line-height')!=-1){\n                        if(jQuery(this).css('line-height') == jQuery(this).parent().css('line-height')) {\n                            jQuery(this).css('line-height','');\n                        }\n                    }\n\n                });\n\n            });\n\n            // finish editing on click outside\n            jQuery(document).on('mousedown', function (event) {\n\n                var $active_element;\n                if(jQuery(event.target).parents(\".ui-draggable\").length>0){\n\t                if( jQuery(event.target).parents(\".ui-draggable\").parent().data('contentbuilder') ) {\n\t\t                $active_element = jQuery(event.target).parents(\".ui-draggable\").parent(); //Get current Builder element\n\t                }\n                }\n\n                var bEditable = false;\n\n                if (jQuery('#rte-toolbar').css('display') == 'none') return;\n\n                var el = jQuery(event.target).prop(\"tagName\").toLowerCase();\n\n\n                jQuery(event.target).parents().each(function (e) {\n                    if (jQuery(this).is('[contenteditable]') ||\n                        jQuery(this).hasClass('md-modal') ||\n                        jQuery(this).hasClass('cp-color-picker') ||\n                        jQuery(this).attr('id') == 'divCb'\n                        ) {\n                        bEditable = true;\n                        return;\n                    }\n                });\n\n                if (jQuery(event.target).is('[contenteditable]')) {\n                    bEditable = true;\n                    return;\n                }\n\n                /*\n                if ((jQuery(event.target).is('[contenteditable]') ||\n                    jQuery(event.target).css('position') == 'absolute' ||\n                    jQuery(event.target).css('position') == 'fixed' ||\n                    jQuery(event.target).attr('id') == 'rte-toolbar') &&\n                    el != 'img' &&\n                    el != 'hr'\n                    ) {\n                    bEditable = true;\n                    return;\n                }\n\n                jQuery(event.target).parents().each(function (e) {\n\n                    if (jQuery(this).is('[contenteditable]') ||\n                        jQuery(this).css('position') == 'absolute' ||\n                        jQuery(this).css('position') == 'fixed' ||\n                        jQuery(this).attr('id') == 'rte-toolbar'\n                        ) {\n                        bEditable = true;\n                        return;\n                    }\n\n                });\n                */\n\n                if (!bEditable) {\n                    $activeElement = null;\n\n                    if (ce_toolbarDisplay=='auto') {\n\n                        try{\n                            var el;\n                            if (window.getSelection) {\n                                el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                            }\n                            else if (document.selection) {\n                                el = document.selection.createRange().parentElement();\n                            }\n\n                            var found=false;\n                            jQuery(el).parents().each(function () {\n                                if (jQuery(this).data('contentbuilder')) {\n                                    found=true;\n                                }\n                            });\n\n                            if(!found)\n                            jQuery('#rte-toolbar').css('display', 'none');\n\n                            //jQuery('.rte-pop').css('display', 'none');\n                            //$element.data('contenteditor').closePop(); //Cannot use $element.data('contenteditor') on INIT AND on jQuery(document), because an instance can be dynamically destroyed which cause $element.data('contenteditor') become null)\n                            ce_closePop();\n\n                        } catch(e) {};\n\n                    }\n\n                    if (ce_outline) {\n                        for (var i = 0; i < instances.length; i++) {\n                            jQuery(instances[i]).css('outline', '');\n                            jQuery(instances[i]).find('*').css('outline', '');\n                        }\n                    }\n\n                    //Clear Controls (clearControls)\n                    jQuery('.row-tool').stop(true, true).fadeOut(0);\n                    //jQuery(\".ui-draggable\").removeClass('code');\n                    jQuery(\".ui-draggable\").removeClass('ui-dragbox-outlined');\n                    jQuery('#rte-toolbar').css('display', 'none');\n\n                    //jQuery('.rte-pop').css('display', 'none');\n                    //$element.data('contenteditor').closePop(); //Cannot use $element.data('contenteditor') on INIT AND on jQuery(document), because an instance can be dynamically destroyed which cause $element.data('contenteditor') become null)\n                    ce_closePop();\n\n                    jQuery(\"#divRteTable\").stop(true, true).fadeOut(0);\n\n                    //Auto Close Modal\n                    if(jQuery(\"#md-edittable\").data(\"simplemodal\")) jQuery(\"#md-edittable\").data(\"simplemodal\").hide();\n                    if(jQuery(\"#md-createlink\").data(\"simplemodal\")) jQuery(\"#md-createlink\").data(\"simplemodal\").hide();\n                    if($activeLink) if ($activeLink.attr('href') == 'http://') $activeLink.replaceWith($activeLink.html());\n                    if(jQuery(\"#md-insertimage\").data(\"simplemodal\")) jQuery(\"#md-insertimage\").data(\"simplemodal\").hide();\n                    if(jQuery(\"#md-img\").data(\"simplemodal\")) jQuery(\"#md-img\").data(\"simplemodal\").hide();\n                    if(jQuery(\"#md-createsrc\").data(\"simplemodal\")) jQuery(\"#md-createsrc\").data(\"simplemodal\").hide();\n                    if(jQuery(\"#md-createiframe\").data(\"simplemodal\")) jQuery(\"#md-createiframe\").data(\"simplemodal\").hide();\n                    if(jQuery(\"#md-icon-select\").data(\"simplemodal\")) jQuery(\"#md-icon-select\").data(\"simplemodal\").hide();\n                    if(jQuery(\"#md-tags-select\").data(\"simplemodal\")) jQuery(\"#md-tags-select\").data(\"simplemodal\").hide();\n\n                }\n            });\n\n\n            $element.on('focus', function() {\n                var $this = $(this);\n                $this.data('before', $this.html());\n                return $this;\n            }).on('keyup', function() {//blur paste input\n                var $this = $(this);\n                if ($this.data('before') !== $this.html()) {\n                    $this.data('before', $this.html());\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange(); //No problem using $element.data('contenteditor') here because it is inside $element.on (unique for each instance)\n\n                    //Save for Undo\n                    saveForUndo();\n                }\n                return $this;\n            });\n\n\n        };\n\n\n        this.contentRender = function () {\n\n            this.settings = jQuery.extend({}, defaults, options);\n\n            var iconselect = this.settings.iconselect;\n\n            if (iconselect != '') {\n                $element.find('.ui-draggable > div:first-child i').each(function () {\n\n                    if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n                    if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                    if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                    if (jQuery(this).html() == '') {//if i has no content, means it is an icon\n                        jQuery(this).off('click');\n                        jQuery(this).click(function () {\n                            $activeIcon = jQuery(this);\n                            if( jQuery('#ifrIconSelect').attr('src').indexOf('blank.html') != -1) {\n                                jQuery('#ifrIconSelect').attr('src', iconselect);\n                            }\n                            jQuery('#md-icon-select').css('max-width', '775px');\n                            jQuery('#md-icon-select').simplemodal({noOverlay:true});\n                            jQuery('#md-icon-select').data('simplemodal').show();\n                            $element.data('contenteditor').closePop();\n                        });\n                    }\n                });\n            }\n\n        };\n\n        this.realtime = function(){\n\n            var is_ie = detectIE();\n\n            var el;\n            var curr;\n            try{\n                var el;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    el = curr.parentNode;\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = curr.parentElement();\n                }\n            } catch(e) {\n                return;\n            }\n\n            if( jQuery(el).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n\n            if( jQuery(el).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n\n            if( jQuery(el).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n            if(el.nodeName.toLowerCase()=='a'){\n                if (is_ie) {\n                    //already selected when clicked\n                    /*if (document.selection.type != \"Control\") {\n                        try {\n                            var range = document.body.createTextRange();\n                            range.moveToElementText(el);\n                            range.select();\n                        } catch (e) { return; }\n                    }*/\n                }\n                else {\n                    /*var range = document.createRange();\n                    range.selectNodeContents(el);\n                    var oSel = window.getSelection();\n                    oSel.removeAllRanges();\n                    oSel.addRange(range);*/\n                }\n\n                if(jQuery('#md-createlink').css('display')!='block') jQuery(\"#divRteLink\").addClass('forceshow');\n            } else {\n                jQuery(\"#divRteLink\").removeClass('forceshow');\n            }\n\n            /*** New Toolbar Activation ***/\n            if(curr) {\n                if (jQuery(curr).is('[contenteditable]')) {\n                   jQuery(\"#rte-toolbar\").stop(true, true).fadeIn(200);\n                }\n            }\n            if (jQuery(el).is('[contenteditable]')) {\n                   jQuery(\"#rte-toolbar\").stop(true, true).fadeIn(200);\n            }\n            if (jQuery(el).parents('[contenteditable]').length > 0) {\n                   jQuery(\"#rte-toolbar\").stop(true, true).fadeIn(200);\n            }\n            /*** /New Toolbar Activation ***/\n            //jQuery('.rte-pop').css('display', 'none');\n            $element.data('contenteditor').closePop();\n\n            var editable = $element.data('contenteditor').settings.editable;\n\n            if (editable == '') {\n\n            } else {\n\n                /*** Old Toolbar Activation **/\n\n                $element.find(editable).off('mousedown');\n                $element.find(editable).on('mousedown', function (e) {\n\n                    $activeElement = jQuery(this);\n\n                    //alert(jQuery(this).prop(\"tagName\").toLowerCase());\n                    jQuery(\"#rte-toolbar\").stop(true, true).fadeIn(200);\n\n                    if (ce_outline) {\n                        for (var i = 0; i < instances.length; i++) {\n                            jQuery(instances[i]).css('outline', '');\n                            jQuery(instances[i]).find('*').css('outline', '');\n                        }\n                        jQuery(this).css('outline', 'rgba(0, 0, 0, 0.43) dashed 1px');\n                    }\n\n                });\n\n                /*** /Old Toolbar Activation **/\n\n                //Kalau di dalam .edit ada contenteditable, hapus, krn tdk perlu & di IE membuat keluar handler.\n                $element.find('.edit').find(editable).removeAttr('contenteditable');\n\n            }\n\n            /* Table */\n            if( jQuery(el).parents(\"table\").length > 0 ) {\n                var $table = jQuery(el).parents(\"table\").first();\n                var _top = $table.offset().top - 30;\n                var _left = $table.offset().left + $table.width() - parseInt(jQuery(\"#divRteTable\").css(\"width\"));\n\n                jQuery(\"#divRteTable\").css(\"top\", _top + \"px\");\n                jQuery(\"#divRteTable\").css(\"left\", _left + \"px\");\n\n                if(jQuery(\"#divRteTable\").css('display')=='none')\n                jQuery(\"#divRteTable\").stop(true, true).css({ display: 'none' }).fadeIn(20);\n\n            } else {\n                jQuery(\"#divRteTable\").stop(true, true).fadeOut(0);\n            }\n\n\n            //For: md-insertimage\n            savedSelPublic = saveSelection();\n            $activeIcon = null;\n\n            //Auto Close Modal\n            //Get active cell\n            if(jQuery(curr).prop(\"tagName\")) {\n                if (jQuery(el).parents('[contenteditable]').length > 0) {\n                    var sTagName = jQuery(curr).prop(\"tagName\").toLowerCase();\n                    if(sTagName=='td' || sTagName=='th'){\n                        $activeCell = jQuery(curr);\n                    } else if(jQuery(curr).parents('td,th').length>0) {\n                        $activeCell = jQuery(curr).parents('td,th').first();\n                    } else {\n                        $activeCell = null;\n                        if(jQuery(\"#md-edittable\").data(\"simplemodal\")) jQuery(\"#md-edittable\").data(\"simplemodal\").hide();\n                    }\n                }\n            } else {\n                //console.log(jQuery(curr).parents('td,th').length)\n                if( jQuery(curr).parents('td,th').length > 0 ) { //re-check (for FF & IE). When typing text inside td, it goes here.\n                    $activeCell = jQuery(curr).parents('td,th').first();\n                } else {\n                    $activeCell = null;\n                    if(jQuery(\"#md-edittable\").data(\"simplemodal\")) jQuery(\"#md-edittable\").data(\"simplemodal\").hide();\n                }\n            }\n\n            //Auto Close Modal\n            if(jQuery(\"#md-createlink\").data(\"simplemodal\")) jQuery(\"#md-createlink\").data(\"simplemodal\").hide();\n            if($activeLink) if ($activeLink.attr('href') == 'http://') $activeLink.replaceWith($activeLink.html());\n            if(jQuery(\"#md-img\").data(\"simplemodal\")) jQuery(\"#md-img\").data(\"simplemodal\").hide();\n            if(jQuery(\"#md-createsrc\").data(\"simplemodal\")) jQuery(\"#md-createsrc\").data(\"simplemodal\").hide();\n            if(jQuery(\"#md-createiframe\").data(\"simplemodal\")) jQuery(\"#md-createiframe\").data(\"simplemodal\").hide();\n            //if($activeIcon) if(jQuery(\"#md-icon-select\").data(\"simplemodal\")) jQuery(\"#md-icon-select\").data(\"simplemodal\").hide();\n\n            //AUTO CLOSE SNIPPET PANEL\n            var $active_element;\n            if(jQuery(el).parents(\".ui-draggable\").length>0){\n                if( jQuery(el).parents(\".ui-draggable\").parent().data('contentbuilder') ) {\n                    $active_element = jQuery(el).parents(\".ui-draggable\").parent(); //Get current Builder element\n                }\n            }\n            if($active_element){\n                var cb_snippetPageSliding = $active_element.data('contentbuilder').settings.snippetPageSliding;\n                var $window = jQuery(window);\n                var windowsize = $window.width();\n                var toolwidth = 255;\n                if (windowsize < 600) {\n                    toolwidth = 150;\n                }\n                if ($active_element.data('contentbuilder').settings.snippetTool == 'right') {\n                    if(cb_snippetPageSliding ||\n                        ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))\n                        ) {\n                        if (parseInt(jQuery('#divTool').css('right')) == 0) {\n                            //Close\n                            jQuery('#divTool').animate({\n                                right: '-=' + toolwidth + 'px'\n                            }, 200);\n                            jQuery('body').animate({\n                            marginRight: '-=' + toolwidth + 'px'\n                            }, 250);\n                            jQuery('#rte-toolbar').animate({ // Slide the editor toolbar\n                            paddingRight: '-=' + toolwidth + 'px'\n                            }, 250);\n                            jQuery('#lnkToolOpen i').attr('class','cb-icon-left-open-big');\n\n                            jQuery('#divSnippetScrollUp').fadeOut(300);\n                            jQuery('#divSnippetScrollDown').fadeOut(300);\n                        }\n                    } else {\n                        if (parseInt(jQuery('#divTool').css('right')) == 0) {\n                            //Close\n                            jQuery('#divTool').animate({\n                                right: '-=' + toolwidth + 'px'\n                            }, 200);\n                            jQuery('#lnkToolOpen i').attr('class','cb-icon-left-open-big');\n\n                            jQuery('#divSnippetScrollUp').css('display','none');\n                            jQuery('#divSnippetScrollDown').css('display','none');\n                        }\n                    }\n                } else {\n                    if(cb_snippetPageSliding ||\n                        ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i)))\n                        ) {\n                        if (parseInt(jQuery('#divTool').css('left')) == 0) {\n                            //Close\n                            jQuery('#divTool').animate({\n                                left: '-=' + (toolwidth + 0) + 'px'\n                            }, 200);\n                            jQuery('body').animate({\n                            marginLeft: '-=' + toolwidth + 'px'\n                            }, 250);\n                            jQuery('#rte-toolbar').animate({\n                            paddingLeft: '-=' + toolwidth + 'px'\n                            }, 250);\n                            jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-right-open-big');\n\n                            jQuery('#divSnippetScrollUp').fadeOut(300);\n                            jQuery('#divSnippetScrollDown').fadeOut(300);\n                        }\n                    } else {\n                        if (parseInt(jQuery('#divTool').css('left')) == 0) {\n                            //Close\n                            jQuery('#divTool').animate({\n                                left: '-=' + (toolwidth + 0) + 'px'\n                            }, 200);\n                            jQuery(\"#lnkToolOpen i\").attr('class','cb-icon-right-open-big');\n\n                            jQuery('#divSnippetScrollUp').css('display','none');\n                            jQuery('#divSnippetScrollDown').css('display','none');\n                        }\n                    }\n                }\n            }\n\n            $element.data('contenteditor').getState();\n\n        };\n\n        this.getState = function(){\n            //Toolbar\n            if(document.queryCommandState(\"bold\")){\n                jQuery('[data-rte-cmd=bold]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=bold]').removeClass('on');\n            }\n            if(document.queryCommandState(\"italic\")){\n                jQuery('[data-rte-cmd=italic]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=italic]').removeClass('on');\n            }\n            if(document.queryCommandState(\"underline\")){\n                jQuery('[data-rte-cmd=underline]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=underline]').removeClass('on');\n            }\n            if(document.queryCommandState(\"strikethrough\")){\n                jQuery('[data-rte-cmd=strikethrough]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=strikethrough]').removeClass('on');\n            }\n            if(document.queryCommandState(\"superscript\")){\n                jQuery('[data-rte-cmd=superscript]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=superscript]').removeClass('on');\n            }\n            if(document.queryCommandState(\"subscript\")){\n                jQuery('[data-rte-cmd=subscript]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=subscript]').removeClass('on');\n            }\n\n            if(document.queryCommandState(\"JustifyFull\")){\n                jQuery('[data-align=justify]').addClass('on');\n            } else {\n                jQuery('[data-align=justify]').removeClass('on');\n            }\n            if(document.queryCommandState(\"JustifyLeft\")){\n                jQuery('[data-align=left]').addClass('on');\n            } else {\n                jQuery('[data-align=left]').removeClass('on');\n            }\n            if(document.queryCommandState(\"JustifyRight\")){\n                jQuery('[data-align=right]').addClass('on');\n            } else {\n                jQuery('[data-align=right]').removeClass('on');\n            }\n            if(document.queryCommandState(\"JustifyCenter\")){\n                jQuery('[data-align=center]').addClass('on');\n            } else {\n                jQuery('[data-align=center]').removeClass('on');\n            }\n\n            var s = document.queryCommandValue(\"FontName\");\n            var fontname = s.split(',')[0];\n            fontname = fontname.replace('\"','').replace('\"','');\n            fontname = jQuery.trim(fontname).toLowerCase();\n\n            if(jQuery('#ifrFonts').attr('src').indexOf('fonts.html') == -1) {\n                jQuery('#ifrFonts').attr('src',sScriptPath+'fonts.html?1');\n            }\n            jQuery('#ifrFonts').contents().find('[data-font-family]').removeClass('on');\n            jQuery('#ifrFonts').contents().find('[data-font-family]').each(function(){\n                var f = jQuery(this).attr('data-font-family');\n                f = f.split(',')[0];\n                f = jQuery.trim(f).toLowerCase();\n\n                if(f==fontname && f!='') {\n                    jQuery(this).addClass('on');\n                }\n            });\n\n            var block = document.queryCommandValue(\"FormatBlock\");\n            block = block.toLowerCase();\n\n            if(block=='normal')block='p';\n            if(block=='heading 1')block='h1';\n            if(block=='heading 2')block='h2';\n            if(block=='heading 3')block='h3';\n            if(block=='heading 4')block='h4';\n            if(block=='heading 5')block='h5';\n            if(block=='heading 6')block='h6';\n            if(block=='formatted')block='pre';\n\n            if(jQuery('#ifrHeadings').attr('src').indexOf('headings.html') == -1) {\n                jQuery('#ifrHeadings').attr('src',sScriptPath+'headings.html?1');\n            }\n            jQuery('#ifrHeadings').contents().find('[data-heading]').removeClass('on');\n            jQuery('#ifrHeadings').contents().find('[data-heading]').each(function(){\n                var p = jQuery(this).attr('data-heading');\n\n                if(p==block && block!='') {\n                    jQuery(this).addClass('on');\n                }\n            });\n\n            var el;\n            var curr;\n            if (window.getSelection) {\n                curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                if(curr.nodeType==3) {  //ini text node\n                    el = curr.parentNode;\n                } else {\n                    el = curr;\n                }\n            }\n            else if (document.selection) {\n                curr = document.selection.createRange();\n                el = document.selection.createRange().parentElement();\n            }\n\n            if(jQuery(el).css('text-transform')=='uppercase'){\n                jQuery('[data-rte-cmd=uppercase]').addClass('on');\n            } else {\n                jQuery('[data-rte-cmd=uppercase]').removeClass('on');\n            }\n\n        };\n\n        this.closePop = function () {\n            jQuery('.rte-pop').css('display','none');\n\n            jQuery('[data-rte-cmd=\"formatting\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"textsettings\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"color\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"font\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"formatPara\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"align\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"list\"]').removeClass('on');\n            jQuery('[data-rte-cmd=\"table\"]').removeClass('on');\n\n\n        };\n\n        this.render = function () {\n\n            var editable = $element.data('contenteditor').settings.editable;\n            if (editable == '') {\n\n                $element.attr('contenteditable', 'true');\n\n                $element.off('mousedown');\n                $element.on('mousedown', function (e) {\n\n                    $activeElement = jQuery(this);\n\n                    jQuery(\"#rte-toolbar\").stop(true, true).fadeIn(200);\n\n                    if (ce_outline) {\n                        for (var i = 0; i < instances.length; i++) {\n                            jQuery(instances[i]).css('outline', '');\n                            jQuery(instances[i]).find('*').css('outline', '');\n                        }\n                        jQuery(this).css('outline', 'rgba(0, 0, 0, 0.43) dashed 1px');\n                    }\n\n                });\n\n            } else {\n\n                $element.find(editable).each(function () {\n\n                    var editMode = $element.data('contenteditor').settings.editMode;\n                    if (editMode == 'default') {\n\n                        //do nothing (parent will set editable)\n\n                        //but force .edit editable inside code block\n                        if( jQuery(this).parents(\"[data-html]\").length > 0 )  {\n                            if( jQuery(this).hasClass('edit') ) {\n                                jQuery(this).attr('contenteditable', 'true');\n                            }\n                        }\n\n                    } else {\n\n                        if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n                        if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                        if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                        var attr = jQuery(this).attr('contenteditable');\n\n                        if (typeof attr !== typeof undefined && attr !== false) {\n\n                        } else {\n\n                            jQuery(this).attr('contenteditable', 'true');\n\n                        }\n\n                    }\n\n                });\n\n                $element.find(editable).off('mousedown');\n                $element.find(editable).on('mousedown', function (e) {\n\n                    $activeElement = jQuery(this);\n\n                    if (ce_outline) {\n                        for (var i = 0; i < instances.length; i++) {\n                            jQuery(instances[i]).css('outline', '');\n                            jQuery(instances[i]).find('*').css('outline', '');\n                        }\n                        jQuery(this).css('outline', 'rgba(0, 0, 0, 0.43) dashed 1px');\n                    }\n\n                });\n\n\n                //Kalau di dalam .edit ada contenteditable, hapus, krn tdk perlu & di IE membuat keluar handler.\n                $element.find('.edit').find(editable).removeAttr('contenteditable');\n\n            }\n\n\n            /*\n            $element.find('a').each(function(){\n                if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n                if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                //jQuery(this).attr('contenteditable', 'true');\n            });*/\n\n            /* Make all buttons not editable */\n            $element.find('.is-btn').attr('contenteditable', 'false');\n            $element.find('.is-btn').each(function(){\n                jQuery(this).focus(function(){jQuery(this).blur()}); //also prevent cursor to focus (and link not working during editing)\n            });\n\n\n            //APPLYING SOME EDITING BEHAVIORS\n            var editMode = $element.data('contenteditor').settings.editMode;\n            if (editMode == 'default') {\n\n                $element.find(\"h1,h2,h3,h4,h5,h6\").off('keydown'); //keypress\n                $element.find(\"h1,h2,h3,h4,h5,h6\").on('keydown', function (e) {\n\n                    if (e.keyCode == 13) {\n\n                        var is_ie = detectIE();\n                        if (is_ie && is_ie<=10) {\n                            var oSel = document.selection.createRange();\n                            if (oSel.parentElement) {\n                                oSel.pasteHTML('<br>');\n                                e.cancelBubble = true;\n                                e.returnValue = false;\n                                oSel.select();\n                                oSel.moveEnd(\"character\", 1);\n                                oSel.moveStart(\"character\", 1);\n                                oSel.collapse(false);\n                                return false;\n                            }\n                        } else {\n                            //document.execCommand('insertHTML', false, '<br><br>');\n                            //return false;\n\n                            var oSel = window.getSelection();\n                            var range = oSel.getRangeAt(0);\n                            range.extractContents();\n                            range.collapse(true);\n                            var docFrag = range.createContextualFragment('<br>');\n                            //range.collapse(false);\n                            var lastNode = docFrag.lastChild;\n                            range.insertNode(docFrag);\n                            //try { oEditor.document.designMode = \"on\"; } catch (e) { }\n                            range.setStartAfter(lastNode);\n                            range.setEndAfter(lastNode);\n\n                            //workaround.for unknown reason, chrome need 2 br to make new line if cursor located at the end of document.\n                            if (range.endContainer.nodeType == 1) {\n                                //\n                                if (range.endOffset == range.endContainer.childNodes.length - 1) {\n                                    range.insertNode(range.createContextualFragment(\"<br />\"));\n                                    range.setStartAfter(lastNode);\n                                    range.setEndAfter(lastNode);\n                                }\n                            }\n                            //\n\n                            var comCon = range.commonAncestorContainer;\n                            if (comCon && comCon.parentNode) {\n                                try { comCon.parentNode.normalize(); } catch (e) { }\n                            }\n\n                            oSel.removeAllRanges();\n                            oSel.addRange(range);\n\n                            return false;\n                        }\n\n                    }\n\n                });\n\n\n                //Make PARENT editable\n                $element.children('div.ui-draggable').each(function(){\n                    try {\n                        var attr = jQuery(this).children().first().children().first().attr('data-html');\n                        if (typeof attr !== typeof undefined && attr !== false) {\n                            return; //Mode: code\n                        }\n                        if( jQuery(this).children().first().children().first().parents(\"[data-html]\").length > 0 ) return; //Mode: code\n                        if( jQuery(this).children().first().children().first().parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n                        if( jQuery(this).children().first().children().first().parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n                    } catch(e) {}\n\n                    //Email Mode (structure uses table)\n                    var bEmailMode =false;\n                    try {\n                        if(jQuery(this).children().first().children().first().prop(\"tagName\").toLowerCase() == 'table' ) bEmailMode = true;\n                    } catch(e) {}\n\n                    if(bEmailMode) {\n\n                        jQuery(this).find('td,th').each(function(){\n                            if(jQuery(this).children().length == 1) {\n                                if( jQuery(this).children().first().prop(\"tagName\").toLowerCase() == 'table' ) {\n\n                                } else {\n                                    jQuery(this).attr('contenteditable',true);\n                                }\n                            } else {\n                                jQuery(this).attr('contenteditable',true);\n                            }\n                        });\n\n                    } else {\n\n                        jQuery(this).children().first().children().each(function(){\n                            jQuery(this).attr('contenteditable',true);\n                        });\n\n                    }\n\n                    //Email Mode (structure uses table) => For IE\n                    var is_ie = detectIE();\n                    var is_edge = detectEdge();\n                    if ((is_ie && is_ie <= 11) || is_edge) {\n                        //jQuery(this); //div.ui-draggable\n                        //jQuery(this).children().first(); //div\n                        //jQuery(this).children().first().children().first() //table\n                        try{\n                            if( jQuery(this).children().first().children().first().prop(\"tagName\").toLowerCase() == 'table') {\n                                jQuery(this).children().first().attr('contenteditable',true); //div //Convert to natural editing\n                                //table cannot be set contenteditable=true (IE)\n                        }\n                        } catch(e){}\n                    }\n\n                });\n\n\n                //Fix few problems (on Chrome, Opera)\n                $element.find(\"div\").off('keyup');\n                $element.find(\"div\").on('keyup', function (e) {\n\n                    var el;\n                    var curr;\n                    try{\n                        if (window.getSelection) {\n                            curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                            el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                        }\n                        else if (document.selection) {\n                            curr = document.selection.createRange();\n                            el = document.selection.createRange().parentElement();\n                        }\n                    } catch(e) {return;} //Use try to prevent lost selection after undo\n\n                    if (e.keyCode == 13 && !e.shiftKey){\n                        var is_ie = detectIE();\n                        if (is_ie>0) {\n\n                        } else {\n                            //So that enter at the end of list returns <p>\n                            var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\n                            var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);\n                            var isOpera = window.opera;\n                            var isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                            if(isChrome || isOpera) {\n                                //Without this, pressing ENTER at the end of list will returns <p> on Chrome but then it become <div> (On Opera it returns <div>)\n                                //With this, we change it into <p>\n                                if(jQuery(el).prop(\"tagName\").toLowerCase()=='p' || jQuery(el).prop(\"tagName\").toLowerCase() =='div') {\n                                    document.execCommand('formatBlock', false, '<p>');\n                                }\n                            }\n                            if(isFirefox) {\n                                //On FF (when enter at the end of list) jQuery(curr).html() returns undefined\n                                if(!jQuery(curr).html()) document.execCommand('formatBlock', false, '<p>');\n                            }\n                        }\n                    }\n\n                    //Safe image delete by applying paragraph (no empty div)\n                    /*if(e.keyCode == 8 || e.keyCode == 46) { //Delete key\n                        if(jQuery(el).prop(\"tagName\").toLowerCase() =='div'){\n                            document.execCommand('formatBlock', false, '<p>');\n                        }\n                    }*/\n                    /*\n                    if(e.keyCode == 8 || e.keyCode == 46) { //Delete key\n                        if(jQuery(curr)){\n                            var currTag = jQuery(curr).prop(\"tagName\").toLowerCase();\n                            if(currTag=='h1' || currTag=='h1' || currTag=='h2' || currTag=='h3' || currTag=='h4' || currTag=='h5' || currTag=='h6'){\n                               if(jQuery(curr).text()==''){\n                                    // document.execCommand('formatBlock', false, '<p>');\n                               }\n                            }\n                        }\n                    }\n                    */\n                });\n\n                $element.find(\"div\").off('keydown');\n                $element.find(\"div\").on('keydown', function (e) {\n                    var el;\n                    var curr;\n                    try{\n                        if (window.getSelection) {\n                            curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                            el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                        }\n                        else if (document.selection) {\n                            curr = document.selection.createRange();\n                            el = document.selection.createRange().parentElement();\n                        }\n                    } catch(e) {return;} //Use try to prevent lost selection after undo\n\n\n                    if(e.keyCode == 8 || e.keyCode == 46) { //Delete key\n\n                        if(jQuery(curr).html()){\n                            var currTag = jQuery(curr).prop(\"tagName\").toLowerCase();\n                            if(currTag=='h1' || currTag=='h1' || currTag=='h2' || currTag=='h3' || currTag=='h4' || currTag=='h5' || currTag=='h6' || currTag=='p'){\n\n                               if(jQuery(curr).text()==''){\n\n                                    document.execCommand('removeFormat', false, null);\n\n                                    jQuery(curr).remove();\n\n                                    var oSel = window.getSelection();\n                                    var range = oSel.getRangeAt(0);\n                                    range.extractContents();\n                                    range.collapse(true);\n                                    oSel.removeAllRanges();\n                                    oSel.addRange(range);\n\n\n                                    e.preventDefault();\n                                    e.stopImmediatePropagation();\n                               }\n                            }\n                        }\n                    }\n                });\n\n            } else {\n\n\n                //Apply BR on Paragraph Enter\n                //p enter ganti div gak bisa di-edit, kalo pake p buggy di IE, jadi pake <br>\n                $element.find(\"p\").off('keydown'); //keypress\n                $element.find(\"p\").on('keydown', function (e) {\n                    /*if (e.keyCode == 13) {\n                    jQuery(this).parent().attr('contenteditable', 'true');\n                    }*/\n\n                    if (e.keyCode == 13 && $element.find(\"li\").length == 0) {  // don't apply br on li\n\n                        var UA = navigator.userAgent.toLowerCase();\n                        var LiveEditor_isIE = (UA.indexOf('msie') >= 0) ? true : false;\n                        if (LiveEditor_isIE) {\n                            var oSel = document.selection.createRange();\n                            if (oSel.parentElement) {\n                                oSel.pasteHTML('<br>');\n                                e.cancelBubble = true;\n                                e.returnValue = false;\n                                oSel.select();\n                                oSel.moveEnd(\"character\", 1);\n                                oSel.moveStart(\"character\", 1);\n                                oSel.collapse(false);\n                                return false;\n                            }\n                        } else {\n                            //document.execCommand('insertHTML', false, '<br><br>');\n                            //return false;\n\n                            var oSel = window.getSelection();\n                            var range = oSel.getRangeAt(0);\n                            range.extractContents();\n                            range.collapse(true);\n                            var docFrag = range.createContextualFragment('<br>');\n                            //range.collapse(false);\n                            var lastNode = docFrag.lastChild;\n                            range.insertNode(docFrag);\n                            //try { oEditor.document.designMode = \"on\"; } catch (e) { }\n                            range.setStartAfter(lastNode);\n                            range.setEndAfter(lastNode);\n\n                            //workaround.for unknown reason, chrome need 2 br to make new line if cursor located at the end of document.\n                            if (range.endContainer.nodeType == 1) {\n                                //\n                                if (range.endOffset == range.endContainer.childNodes.length - 1) {\n                                    range.insertNode(range.createContextualFragment(\"<br />\"));\n                                    range.setStartAfter(lastNode);\n                                    range.setEndAfter(lastNode);\n                                }\n                            }\n                            //\n\n                            var comCon = range.commonAncestorContainer;\n                            if (comCon && comCon.parentNode) {\n                                try { comCon.parentNode.normalize(); } catch (e) { }\n                            }\n\n                            oSel.removeAllRanges();\n                            oSel.addRange(range);\n\n                            return false;\n                        }\n\n                    }\n                });\n\n            }\n\n            jQuery('[data-rte-cmd=\"fontsize\"]').off('click');\n            jQuery('[data-rte-cmd=\"fontsize\"]').click(function(){\n\n                if(savedSelPublic){\n                    restoreSelection(savedSelPublic);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n\n                    //jQuery(el).css('font-size',value + 'px');\n\n                    if(jQuery(el).attr('contenteditable')!='true'){\n                        if(jQuery(el).parents('[contenteditable]').length==0) {\n                            return;\n                        }\n                    }\n\n                    if(jQuery(this).attr('data-val')!='clear') {\n\n                        var value = parseInt(jQuery(el).css('font-size'));\n                        if(jQuery(this).attr('data-val')=='increase') {\n                            value=value+1;\n                        }\n                        if(jQuery(this).attr('data-val')=='decrease') {\n                            value=value-1;\n                        }\n                        var s = value + 'px';\n\n                        var text = getSelected();\n\n                        if (jQuery.trim(text) != '' && jQuery(el).text() != text) {\n                            document.execCommand(\"fontSize\", false, \"7\");\n                            var fontElements = document.getElementsByTagName(\"font\");\n                            for (var i = 0, len = fontElements.length; i < len; ++i) {\n                                if (fontElements[i].size == \"7\") {\n                                    fontElements[i].removeAttribute(\"size\");\n                                    fontElements[i].style.fontSize = s;\n                                }\n                            }\n                            savedSelPublic = saveSelection();\n                        }\n                        else if (jQuery(el).text() == text) {//selection fully mode on text AND element. Use element then.\n                            if(jQuery(el).html()){\n                                jQuery(el).css('font-size', s);\n                            } else {\n                                jQuery(el).parent().css('font-size', s);\n                            }\n                        }\n                        else{\n                            jQuery(el).css('font-size', s);\n                        };\n\n                        jQuery('#outFontSize').html(s);\n\n                    } else {\n\n                        jQuery(el).css('font-size', '');\n\n                        //Get Current\n                        var el;\n                        var curr;\n                        if (window.getSelection) {\n                            curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                            if(curr.nodeType==3) {  //ini text node\n                                el = curr.parentNode;\n                            } else {\n                                el = curr;\n                            }\n                        }\n                        else if (document.selection) {\n                            curr = document.selection.createRange();\n                            el = document.selection.createRange().parentElement();\n                        }\n\n                        var currentFontSize = parseInt(jQuery(el).css('font-size'));\n                        jQuery('#outFontSize').html(currentFontSize+'px');\n                        jQuery('#outFontSize').attr('data-initial-value',currentFontSize);\n\n                        //savedSelPublic = saveSelection();\n\n                    }\n\n                    //Save for Undo\n                    saveForUndo();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                }\n\n            });\n\n            jQuery('[data-rte-cmd=\"letterspacing\"]').off('click');\n            jQuery('[data-rte-cmd=\"letterspacing\"]').click(function(){\n\n                if(savedSelPublic){\n                    restoreSelection(savedSelPublic);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n\n                    //jQuery(el).css('font-size',value + 'px');\n\n                    if(jQuery(el).attr('contenteditable')!='true'){\n                        if(jQuery(el).parents('[contenteditable]').length==0) {\n                            return;\n                        }\n                    }\n\n\n                    if(jQuery(this).attr('data-val')!='clear') {\n\n                        var value = parseInt(jQuery(el).css('letter-spacing'));\n                        if(jQuery(this).attr('data-val')=='increase') {\n                            value=value+1;\n                        }\n                        if(jQuery(this).attr('data-val')=='decrease') {\n                            value=value-1;\n                        }\n                        jQuery(el).css('letter-spacing',value + 'px');\n                        jQuery('#outLetterSpacing').html(value+'px');\n\n                    } else {\n\n                        jQuery(el).css('letter-spacing', '');\n\n                        //Get Current\n                        var el;\n                        var curr;\n                        if (window.getSelection) {\n                            curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                            if(curr.nodeType==3) {  //ini text node\n                                el = curr.parentNode;\n                            } else {\n                                el = curr;\n                            }\n                        }\n                        else if (document.selection) {\n                            curr = document.selection.createRange();\n                            el = document.selection.createRange().parentElement();\n                        }\n\n                        var currentLetterSpacing = parseInt(jQuery(el).css('letter-spacing'));\n                        jQuery('#outLetterSpacing').html(currentLetterSpacing+'px');\n                        jQuery('#outLetterSpacing').attr('data-initial-value',currentLetterSpacing);\n\n                        //savedSelPublic = saveSelection();\n\n                    }\n\n                    //Save for Undo\n                    saveForUndo();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                }\n\n            });\n\n\n            jQuery('[data-rte-cmd=\"lineheight\"]').off('click');\n            jQuery('[data-rte-cmd=\"lineheight\"]').click(function(){\n\n                if(savedSelPublic){\n                    restoreSelection(savedSelPublic);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n\n                    //jQuery(el).css('font-size',value + 'px');\n\n                    if(jQuery(el).attr('contenteditable')!='true'){\n                        if(jQuery(el).parents('[contenteditable]').length==0) {\n                            return;\n                        }\n                    }\n\n                    if(jQuery(this).attr('data-val')!='clear') {\n\n                        var value = parseInt(jQuery(el).css('line-height'));\n                        if(jQuery(this).attr('data-val')=='increase') {\n                            value=value+1;\n                        }\n                        if(jQuery(this).attr('data-val')=='decrease') {\n                            value=value-1;\n                        }\n                        jQuery(el).css('line-height',value + 'px');\n                        jQuery('#outLineHeight').html(value+'px');\n\n                    } else {\n\n                        jQuery(el).css('line-height', '');\n\n                        //Get Current\n                        var el;\n                        var curr;\n                        if (window.getSelection) {\n                            curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                            if(curr.nodeType==3) {  //ini text node\n                                el = curr.parentNode;\n                            } else {\n                                el = curr;\n                            }\n                        }\n                        else if (document.selection) {\n                            curr = document.selection.createRange();\n                            el = document.selection.createRange().parentElement();\n                        }\n\n                        var currentLineHeight = parseInt(jQuery(el).css('line-height'));\n                        jQuery('#outLineHeight').html(currentLineHeight+'px');\n                        jQuery('#outLineHeight').attr('data-initial-value',currentLineHeight);\n\n                        //savedSelPublic = saveSelection();\n                    }\n\n                    //Save for Undo\n                    saveForUndo();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                }\n\n            });\n\n\n            jQuery('[data-rte-cmd=\"removeElement\"]').off('click');\n            jQuery('[data-rte-cmd=\"removeElement\"]').click(function (e) {\n\n                $activeElement.remove();\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n                $element.data('contenteditor').render();\n\n                //Save for Undo\n                saveForUndo();\n\n                e.preventDefault();\n            });\n\n            jQuery('[data-rte-cmd=\"fontsize2\"]').off('click');\n            jQuery('[data-rte-cmd=\"fontsize2\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                /**** Custom Modal ****/\n                jQuery('#md-fontsize').css('max-width', '190px');\n                jQuery('#md-fontsize').simplemodal();\n                jQuery('#md-fontsize').data('simplemodal').show(savedSel);\n                $element.data('contenteditor').closePop();\n                e.preventDefault();\n\n                if(jQuery('#ifrFontSize').attr('src').indexOf('fontsize.html') == -1) {\n                    jQuery('#ifrFontSize').attr('src',sScriptPath+'fontsize.html');\n                }\n\n                //Prepare\n                var text = getSelected();\n\n                jQuery('.md-pickfontsize').off('click');\n                jQuery('.md-pickfontsize').click(function(){\n\n                    restoreSelection(savedSel);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                        //el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n\n                    if(jQuery(el).parents('[contenteditable]').length==0) {\n                        jQuery('#md-fontsize').data('simplemodal').hide();\n                        return;\n                    }\n\n                    var s = jQuery(this).attr('data-font-size');\n\n                    if (jQuery.trim(text) != '' && jQuery(el).text() != text) {\n                        document.execCommand(\"fontSize\", false, \"7\");\n                        var fontElements = document.getElementsByTagName(\"font\");\n                        for (var i = 0, len = fontElements.length; i < len; ++i) {\n                            if (fontElements[i].size == \"7\") {\n                                fontElements[i].removeAttribute(\"size\");\n                                fontElements[i].style.fontSize = s;\n                            }\n                        }\n                    }\n                    else if (jQuery(el).text() == text) {//selection fully mode on text AND element. Use element then.\n                        if(jQuery(el).html()){\n                            jQuery(el).css('font-size', s);\n                        } else {\n                            jQuery(el).parent().css('font-size', s);\n                        }\n                    }\n                    else{\n                        jQuery(el).css('font-size', s);\n                    };\n\n                    jQuery(this).blur();\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n                    e.preventDefault();\n\n                    //Save for Undo\n                    saveForUndo();\n\n                    //jQuery('#md-fontsize').data('simplemodal').hide();\n\n                });\n                /**** /Custom Modal ****/\n            });\n\n\n            jQuery('[data-rte-cmd=\"removeFormat\"]').off('click');\n            jQuery('[data-rte-cmd=\"removeFormat\"]').click(function (e) {\n\n                document.execCommand('removeFormat', false, null);\n                document.execCommand('removeFormat', false, null);\n\n                jQuery(this).blur();\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n            });\n\n\n            jQuery('[data-rte-cmd=\"unlink\"]').off('click');\n            jQuery('[data-rte-cmd=\"unlink\"]').click(function (e) {\n\n                document.execCommand('unlink', false, null);\n                jQuery(\"#divRteLink\").removeClass('forceshow');\n\n                jQuery(this).blur();\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n            });\n\n            var storedEl;\n            jQuery('[data-rte-cmd=\"html\"]').off('click');\n            jQuery('[data-rte-cmd=\"html\"]').click(function (e) {\n\n                var el;\n                if (window.getSelection) {\n                    el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                }\n                else if (document.selection) {\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var found=false;\n                jQuery(el).parents().each(function () {\n                    if (jQuery(this).data('contentbuilder')) {\n                        jQuery(this).data('contentbuilder').viewHtml();\n\n                        found=true;\n                        storedEl = el;\n                    }\n                });\n\n                //In case of not focus\n                if(!found && storedEl){\n                    el = storedEl;\n                    jQuery(el).parents().each(function () {\n                        if (jQuery(this).data('contentbuilder')) {\n                            jQuery(this).data('contentbuilder').viewHtml();\n                        }\n                    });\n                }\n                e.preventDefault();\n\n            });\n\n            jQuery('[data-rte-cmd=\"formatPara\"]').off('click');\n            jQuery('[data-rte-cmd=\"formatPara\"]').click(function (e) {\n\n                savedSelPublic = saveSelection();\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-headings').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-57-132;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n\n                jQuery('#pop-headings').css('position', 'fixed');\n                jQuery('#pop-headings').css('top', top + 'px');\n                jQuery('#pop-headings').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-headings').css('display','block');\n                jQuery(this).addClass('on');\n\n                if(jQuery('#ifrHeadings').attr('src').indexOf('headings.html') == -1) {\n                    jQuery('#ifrHeadings').attr('src',sScriptPath+'headings.html?1');\n                }\n\n                var is_ie = detectIE();\n                if(is_ie) restoreSelection(savedSelPublic); //Only needed for IE. If not, sometimes the document.queryCommandValue(\"FormatBlock\") inside getState() returns empty\n                $element.data('contenteditor').getState();\n\n                //Get active heading\n                try{\n                    var $contents = jQuery('#ifrHeadings').contents();\n                    var $parentDiv = $contents.find('#divHeadings');\n                    var $innerListItem = $contents.find('.on');\n                    $parentDiv.animate({\n                        scrollTop: $parentDiv.scrollTop() + $innerListItem.position().top - 7\n                    }, 1000);\n                } catch(e){}\n\n                jQuery('.md-pickheading').off('click');\n                jQuery('.md-pickheading').click(function(){\n\n                    restoreSelection(savedSelPublic);\n\n                    var s = jQuery(this).attr('data-heading');\n\n                    //$element.attr('contenteditable', true);\n                    document.execCommand('formatBlock', false, '<' + s + '>');\n                    //$element.removeAttr('contenteditable');\n                    //$element.data('contenteditor').render();\n\n                    $element.data('contenteditor').getState();\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n                    e.preventDefault();\n\n                    savedSelPublic = saveSelection();\n\n                    //Save for Undo\n                    saveForUndo();\n\n                });\n            });\n\n\n            jQuery('[data-rte-cmd=\"font\"]').off('click');\n            jQuery('[data-rte-cmd=\"font\"]').click(function (e) {\n\n                savedSelPublic = saveSelection();\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-fontfamily').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-57-132;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n\n                jQuery('#pop-fontfamily').css('position', 'fixed');\n                jQuery('#pop-fontfamily').css('top', top + 'px');\n                jQuery('#pop-fontfamily').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-fontfamily').css('display','block');\n                jQuery(this).addClass('on');\n\n                if(jQuery('#ifrFonts').attr('src').indexOf('fonts.html') == -1) {\n                    jQuery('#ifrFonts').attr('src',sScriptPath+'fonts.html?1');\n                }\n\n                //Prepare\n                var text = getSelected();\n\n                $element.data('contenteditor').getState();\n\n                //Get active font\n                try{\n                    var $contents = jQuery('#ifrFonts').contents();\n                    var $parentDiv = $contents.find('#divFontList');\n                    var $innerListItem = $contents.find('.on');\n                    $parentDiv.animate({\n                        scrollTop: $parentDiv.scrollTop() + $innerListItem.position().top - 7\n                    }, 1000);\n                } catch(e){}\n\n                jQuery('.md-pickfontfamily').off('click');\n                jQuery('.md-pickfontfamily').click(function(){\n\n                    restoreSelection(savedSelPublic);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                        //el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n\n                        //TODO\n                        if (el.nodeName != 'H1' && el.nodeName != 'H2' && el.nodeName != 'H3' &&\n                            el.nodeName != 'H4' && el.nodeName != 'H5' && el.nodeName != 'H6' &&\n                            el.nodeName != 'P') {\n                            el = el.parentNode;\n                        }\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                        if (el.nodeName != 'H1' && el.nodeName != 'H2' && el.nodeName != 'H3' &&\n                            el.nodeName != 'H4' && el.nodeName != 'H5' && el.nodeName != 'H6' &&\n                            el.nodeName != 'P') {\n                            el = el.parentElement();\n                        }\n                    }\n\n                    var s = jQuery(this).attr('data-font-family');\n\n                    //jQuery(el).css('font-family', s);\n                    if (jQuery.trim(text) != '' && jQuery(el).text() != text) {\n                        document.execCommand(\"fontName\", false, s);\n                        var fontElements = document.getElementsByTagName(\"font\");\n                        for (var i = 0, len = fontElements.length; i < len; ++i) {\n                            if (fontElements[i].face == s) {\n                                fontElements[i].removeAttribute(\"face\");\n                                fontElements[i].style.fontFamily = s;\n                            }\n                        }\n                    }\n                    else if (jQuery(el).text() == text) {//selection fully mode on text AND element. Use element then.\n                        if(jQuery(el).html()){\n                            jQuery(el).css('font-family', s);\n                        } else {\n                            jQuery(el).parent().css('font-family', s);\n                        }\n                    }\n                    else{\n                        jQuery(el).css('font-family', s);\n                    };\n\n\n                    var o = jQuery(this).attr('data-font-style');\n                    if (!o) { o = '' } else { o = ':' + o };\n\n                    var fontname = s.split(',')[0];\n                    var provider = jQuery(this).attr('data-provider');\n                    if(provider=='google'){\n                        var bExist = false;\n                        var links=document.getElementsByTagName(\"link\");\n                        for(var i=0;i<links.length;i++) {\n                            var sSrc=links[i].href.toLowerCase();\n                            sSrc = sSrc.replace(/\\+/g,' ').replace(/%20/g,' ');\n                            if(sSrc.indexOf(fontname.toLowerCase())!=-1) bExist=true;\n                        }\n                        if(!bExist) {\n                            //$element.append('<link href=\"//fonts.googleapis.com/css?family='+fontname+'\" rel=\"stylesheet\" property=\"stylesheet\" type=\"text/css\">');\n                            jQuery(el).parents().each(function () {\n                                if (jQuery(this).data('contentbuilder')) {\n                                    jQuery(this).append('<link href=\"//fonts.googleapis.com/css?family=' + fontname + o + '\" rel=\"stylesheet\" property=\"stylesheet\" type=\"text/css\">');\n                                }\n                            });\n                            /*\n                            Or simply use this:\n                            jQuery(el).parents(\".ui-draggable\").parent().append('<link href=\"//fonts.googleapis.com/css?family='+fontname+'\" rel=\"stylesheet\" property=\"stylesheet\" type=\"text/css\">');\n                            */\n                        }\n                    }\n\n\n                    //TODO: make function\n                    //Cleanup Google font css link\n                    jQuery(cb_list).each(function(){\n                        var $cb = jQuery(this);\n                        $cb.find('link').each(function(){\n\n\n                            var sSrc=jQuery(this).attr('href').toLowerCase();\n                            if(sSrc.indexOf('googleapis')!=-1) {\n                                //get fontname\n                                sSrc = sSrc.replace(/\\+/g,' ').replace(/%20/g,' ');\n                                var fontname = sSrc.substr( sSrc.indexOf('family=') + 7 );\n                                if(fontname.indexOf(':') != -1){\n                                    fontname = fontname.split(':')[0];\n                                }\n                                if(fontname.indexOf('|') != -1){\n                                    fontname = fontname.split('|')[0];\n                                }\n                                //check if fontname used in content\n                                var tmp = $cb.data('contentbuilder').html().toLowerCase();\n\n                                var count = tmp.split(fontname).length;\n\n                                if(count<3){\n                                    //not used\n                                    jQuery(this).attr('data-rel','_del');\n                                }\n                            }\n                        });\n                    });\n\n                    $element.find('[data-rel=\"_del\"]').remove();//del not used google font css link\n\n                    $element.data('contenteditor').getState();\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n                    e.preventDefault();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n            });\n\n            /* Insert Image */\n            jQuery('[data-rte-cmd=\"image\"]').off('click');\n            jQuery('[data-rte-cmd=\"image\"]').click(function (e) {\n\n                savedSelPublic = saveSelection();\n\n                jQuery('#md-insertimage').css('max-width', '550px');\n                jQuery('#md-insertimage').simplemodal({noOverlay:true});\n                jQuery('#md-insertimage').data('simplemodal').show(savedSel);\n                $element.data('contenteditor').closePop();\n\n                //Clear previous\n                jQuery('#fileInsertImage').clearInputs();\n                jQuery('.md-preview-area').hide();\n                jQuery('.md-drop-area').show();\n\t\t        jQuery('.md-drop-area').removeClass('image-dropping');\n\n                //Clear image source input\n                jQuery('#txtImgUrl_rte').val('');\n\n                jQuery('#btnImgOk_rte').off('click');\n                jQuery('#btnImgOk_rte').click(function(){\n\n                    if(!savedSelPublic) return;\n                    restoreSelection(savedSelPublic);\n\n                    var val = '';\n                    if(jQuery('.md-drop-area').css('display') =='none'){\n                        val = jQuery('#imgInsertImagePreview').attr('src');\n                    } else {\n                        val = jQuery('#txtImgUrl_rte').val();\n                    }\n\n                    if(val == '') return;\n\n                    pasteHtmlAtCaret('<img src=\"' + val + '\" />',true);\n                    jQuery('#md-insertimage').data('simplemodal').hide();\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Save for Undo\n                    saveForUndo();\n\n                    //Apply builder behaviors\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n                    jQuery(el).parents().each(function () {\n                        if (jQuery(this).data('contentbuilder')) {\n                            jQuery(this).data('contentbuilder').applyBehavior();\n                        }\n                    });\n\n                    //Remove selection\n                    var sel;\n                    if (window.getSelection) {\n                        sel = window.getSelection();\n                    } else if (document.selection) {\n                        sel = document.selection\n                    }\n                    sel.removeAllRanges();\n\n                    jQuery('#rte-toolbar').css('display', 'none'); //because the cursor is not on content (removeAllRanges)\n\n                });\n\n                e.preventDefault();\n\n                return;\n\n            });\n\n            jQuery('#fileInsertImage').off('change');\n            jQuery('#fileInsertImage').on('change', function(e){\n\n                var input = e.target;\n\n                if (input.files && input.files[0]) {\n\n                    var reader = new FileReader();\n\n                    reader.onload = function(e) {\n                        jQuery('.md-drop-area').hide();\n\n                        jQuery('#imgInsertImagePreview').attr('src', e.target.result);\n                        jQuery('.md-preview-area').show();\n\n                        jQuery('.image-title').html(input.files[0].name);\n                    };\n\n                    reader.readAsDataURL(input.files[0]);\n\n                    jQuery('#txtImgUrl_rte').val(''); //Clear manually specified image soure\n\n                }\n\n            });\n\n            jQuery('.md-drop-area').off('dragover');\n            jQuery('.md-drop-area').on('dragover', function () {\n\t\t        jQuery('.md-drop-area').addClass('image-dropping');\n\t        });\n\n            jQuery('.md-drop-area').off('dragleave');\n\t        jQuery('.md-drop-area').on('dragleave', function () {\n\t\t        jQuery('.md-drop-area').removeClass('image-dropping');\n            });\n\n            jQuery('.md-preview-area i').off('click');\n            jQuery('.md-preview-area i').click(function(e){\n                jQuery('#fileInsertImage').clearInputs();\n                jQuery('.md-preview-area').hide();\n                jQuery('.md-drop-area').show();\n\t\t        jQuery('.md-drop-area').removeClass('image-dropping');\n            });\n\n            jQuery('#txtImgUrl_rte').off('keyup');\n            jQuery('#txtImgUrl_rte').on('keyup', function () {\n                //Clear drop image area\n                jQuery('#fileInsertImage').clearInputs();\n                jQuery('.md-preview-area').hide();\n                jQuery('.md-drop-area').show();\n\t\t        jQuery('.md-drop-area').removeClass('image-dropping');\n\t        });\n\n            //Open Custom Image Select\n            jQuery(\"#btnImageBrowse_rte\").off('click');\n            jQuery(\"#btnImageBrowse_rte\").on('click', function (e) {\n\n                var sFunc = ($element.data('contenteditor').settings.onImageSelectClick+'').replace( /\\s/g, '');\n                if(sFunc != 'function(){}'){\n\n                    //$element.data('imageembed').settings.onImageSelectClick();\n                    $element.data('contenteditor').settings.onImageSelectClick({targetInput: jQuery(\"#txtImgUrl_rte\").get(0), theTrigger: jQuery(\"#btnImageBrowse_rte\").get(0)});\n\n                } else {\n\n                    jQuery('#ifrImageBrowse').attr('src',$element.data('contenteditor').settings.imageselect);\n                    jQuery('#active-input').val('txtImgUrl_rte');\n\n                    /**** Custom Modal ****/\n                    jQuery('#md-imageselect').css('width', '65%');\n                    jQuery('#md-imageselect').simplemodal({\n                    onFinish: function () {\n                            if ( jQuery('#txtImgUrl_rte').val()!='' ) {\n                                //Clear drop image area\n                                jQuery('#fileInsertImage').clearInputs();\n                                jQuery('.md-preview-area').hide();\n                                jQuery('.md-drop-area').show();\n\t\t                        jQuery('.md-drop-area').removeClass('image-dropping');\n                            }\n                        }\n                    });\n                    jQuery('#md-imageselect').data('simplemodal').show();\n                    /**** /Custom Modal ****/\n\n                }\n\n            });\n\n            /* Text Formatting */\n            jQuery('[data-rte-cmd=\"formatting\"]').off('click');\n            jQuery('[data-rte-cmd=\"formatting\"]').click(function (e) {\n\n                savedSelPublic = saveSelection();\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-formatting').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-58;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n                jQuery('#pop-formatting').css('position', 'fixed');\n                jQuery('#pop-formatting').css('top', top + 'px');\n                jQuery('#pop-formatting').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-formatting').css('display','block');\n                jQuery(this).addClass('on');\n\n                $element.data('contenteditor').getState();\n\n                //Get Current Letter Spacing\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                e.preventDefault();\n            });\n\n            jQuery('[data-rte-cmd=\"textsettings\"]').off('click');\n            jQuery('[data-rte-cmd=\"textsettings\"]').click(function (e) {\n\n                savedSelPublic = saveSelection();\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-textsettings').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-57-132;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n                jQuery('#pop-textsettings').css('position', 'fixed');\n                jQuery('#pop-textsettings').css('top', top + 'px');\n                jQuery('#pop-textsettings').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-textsettings').css('display','block');\n                jQuery(this).addClass('on');\n\n                //Get Current\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var currentFontSize = parseInt(jQuery(el).css('font-size'));\n                jQuery('#outFontSize').html(currentFontSize+'px');\n                jQuery('#outFontSize').attr('data-initial-value',currentFontSize);\n\n                var currentLetterSpacing = parseInt(jQuery(el).css('letter-spacing'));\n                jQuery('#outLetterSpacing').html(currentLetterSpacing+'px');\n                jQuery('#outLetterSpacing').attr('data-initial-value',currentLetterSpacing);\n\n                var currentLineHeight = parseInt(jQuery(el).css('line-height'));\n                jQuery('#outLineHeight').html(currentLineHeight+'px');\n                jQuery('#outLineHeight').attr('data-initial-value',currentLineHeight);\n\n                e.preventDefault();\n\n            });\n\n\n            jQuery('[data-rte-cmd=\"color\"]').off('click');\n            jQuery('[data-rte-cmd=\"color\"]').click(function (e) {\n\n                savedSelPublic = saveSelection();\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-colors').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-57-215;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n                jQuery('#pop-colors').css('position', 'fixed');\n                jQuery('#pop-colors').css('top', top + 'px');\n                jQuery('#pop-colors').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-colors').css('display','block');\n                jQuery(this).addClass('on');\n\n                //Get current color\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                jQuery('#selColorApplyTo').off('change');\n                jQuery('#selColorApplyTo').on('change', function(){\n                    var selColMode = jQuery('#selColorApplyTo').val(); //1 color 2 background 3 background block\n                    if(selColMode==1) {\n                        //Set text color\n                        var s = jQuery(el).css(\"color\");\n                        jQuery('#inpTextColor').val( s );\n                        jQuery('#inpTextColor').css('background-color', s );\n                        jQuery('#inpTextColor').contrastingText();\n                    }\n                    if(selColMode==2) {\n                        //Set text background\n                        var s = jQuery(el).css(\"background-color\");\n                        jQuery('#inpTextColor').val( s );\n                        jQuery('#inpTextColor').css('background-color', s );\n                        jQuery('#inpTextColor').contrastingText();\n                    }\n                    if(selColMode==3) {\n                        //Set text background\n                        var s = jQuery(el).parents('.ui-draggable').children().first().css('background-color');\n                        jQuery('#inpTextColor').val( s );\n                        jQuery('#inpTextColor').css('background-color', s );\n                        jQuery('#inpTextColor').contrastingText();\n                    }\n                });\n                jQuery('#selColorApplyTo').change();\n\n                //Email Mode (structure uses table)\n                var emailmode = false;\n                try{\n                    if( $element.children('div.ui-draggable').first().children().first().children().first().prop(\"tagName\").toLowerCase() == 'table' ) {\n                        emailmode = true;\n                    }\n                }catch(e){}\n                if(emailmode){ //Remove 'Block Background' option in Email Mode\n                    jQuery('#selColorApplyTo').children().each(function(){\n                        if( jQuery(this).attr('value')=='3' ) jQuery(this).remove();\n                    });\n                }\n\n                //Prepare\n                var text = getSelected();\n\n                jQuery('.md-pick').off('click');\n                jQuery('.md-pick').click(function(){\n\n                    var s = jQuery(this).css(\"background-color\");\n                    jQuery('#inpTextColor').val( s );\n                    jQuery('#inpTextColor').css('background-color', s );\n\n                    jQuery('#inpTextColor').contrastingText();\n\n                    restoreSelection(savedSelPublic);\n\n                    $element.data('contenteditor').applyColor( s, text );\n\n                    savedSelPublic = saveSelection();\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n\n                });\n\n                if(!jQuery('#inpTextColor').colorPicker)$('#inpTextColor').colorPicker.destroy();\n                jQuery('#inpTextColor').colorPicker({\n                        dark: '#222',\n                        light: '#DDD',\n                        renderCallback: function($elm,toggled) {\n                            if (toggled === true) {\n                                // open\n                                jQuery('#inpTextColor').attr('data-initial-color', jQuery('#inpTextColor').val());\n                                //console.log('Open ' + jQuery('#inpTextColor').attr('data-initial-color') + ' - ' + jQuery('#inpTextColor').val())\n                            } else if (toggled === false) {\n                                // close\n                                if(jQuery('#inpTextColor').attr('data-initial-color') != jQuery('#inpTextColor').val()){\n\n                                    //Trigger Change event\n                                    $element.data('contenteditor').settings.onChange();\n\n                                    $element.data('contenteditor').settings.hasChanged = true;\n\n                                    //Save for Undo\n                                    saveForUndo();\n\n                                    jQuery('#inpTextColor').attr('data-initial-color', jQuery('#inpTextColor').val());\n                                }\n                            } else {\n                                //var s = $elm.text;\n                                var s = jQuery('#inpTextColor').val();\n\n                                restoreSelection(savedSelPublic);\n\n                                $element.data('contenteditor').applyColor( s, text );\n\n                                savedSelPublic = saveSelection();\n                            }\n                        }\n                    }\n                );\n\n                var bManualColorChange=false;\n\n                jQuery('#inpTextColor').off('keyup');\n                jQuery('#inpTextColor').on('keyup',function(e){\n                    bManualColorChange=true;\n                });\n\n                jQuery('#inpTextColor').off('blur');\n                jQuery('#inpTextColor').on('blur',function(e){\n\n                    var s = jQuery('#inpTextColor').val();\n\n                    restoreSelection(savedSelPublic);\n\n                    $element.data('contenteditor').applyColor( s, text );\n\n                    savedSelPublic = saveSelection();\n\n                    if((jQuery('#inpTextColor').attr('data-initial-color') != jQuery('#inpTextColor').val()) || bManualColorChange){\n\n                        //Trigger Change event\n                        $element.data('contenteditor').settings.onChange();\n\n                        $element.data('contenteditor').settings.hasChanged = true;\n\n                        //Save for Undo\n                        saveForUndo();\n\n                        jQuery('#inpTextColor').attr('data-initial-color', jQuery('#inpTextColor').val());\n\n                        bManualColorChange=false;\n                    }\n\n                });\n\n                jQuery('#btnTextColorClear').off('click');\n                jQuery('#btnTextColorClear').click(function(){\n\n                    restoreSelection(savedSelPublic);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                        //el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n\n                    var selColMode = jQuery('#selColorApplyTo').val(); //1 color 2 background 3 background block\n\n                    if (jQuery.trim(text) != '' && jQuery(el).text() != text) {\n                        if(selColMode==1) {\n                            //Set text color\n                            document.execCommand(\"ForeColor\",false,'');\n                        }\n                        if(selColMode==2) {\n                            //Set text background\n                            document.execCommand(\"BackColor\",false,'');\n                        }\n                        //Cleanup FONTs\n                        var fontElements = document.getElementsByTagName(\"font\");\n                        for (var i = 0, len = fontElements.length; i < len; ++i) {\n                            var s = fontElements[i].color;\n                            fontElements[i].removeAttribute(\"color\");\n                            fontElements[i].style.color = s;\n                        }\n                    }\n                    else if (jQuery(el).text() == text) {//selection fully mode on text AND element. Use element then.\n                        if(selColMode==1) {\n                            //Set element color\n                            if(jQuery(el).html()){\n                                jQuery(el).css('color', '');\n                            } else {\n                                jQuery(el).parent().css('color', '');\n                            }\n                        }\n                        if(selColMode==2) {\n                            //Set element background\n                            if(jQuery(el).html()){\n                                jQuery(el).css('background-color', '');\n                            } else {\n                                jQuery(el).parent().css('background-color', '');\n                            }\n                        }\n                    }\n                    else{\n                        if(selColMode==1) {\n                            //Set element color\n                            jQuery(el).css('color', '');\n                        }\n                        if(selColMode==2) {\n                            //Set element background\n                            jQuery(el).css('background-color', '');\n                        }\n                    };\n\n                    if(selColMode==3) {\n                        //Set block background\n                        //jQuery(el).parents('.ui-draggable').children('div').first().css('background-color', '' );\n                        jQuery(el).parents('.ui-draggable').children().first().css('background-color', '' );\n                    }\n\n                    jQuery('#selColorApplyTo').change();\n\n                });\n\n            });\n\n            jQuery('[data-rte-cmd=\"bold\"]').off('click');\n            jQuery('[data-rte-cmd=\"bold\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var text = getSelected();\n\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var s;\n                if(isNaN(jQuery(el).css('font-weight'))){\n                    if (jQuery(el).css('font-weight') == 'bold') {\n                        s='normal';\n                    } else {\n                        s = 'bold';\n                    }\n                } else {\n                    if (jQuery(el).css('font-weight') <= 500) {\n                        s='bold';\n                    } else {\n                        s = 'normal';\n                    }\n                }\n\n                if (jQuery.trim(text) != '') {\n                    try {\n                        document.execCommand('bold', false, null);\n                    } catch (e) {\n                        //FF fix\n                        $element.attr('contenteditable', true);\n                        document.execCommand('bold', false, null);\n                        $element.removeAttr('contenteditable');\n                        $element.data('contenteditor').render();\n                    }\n\n                    savedSel = saveSelection();\n                } else {\n\n                    var sTagName = jQuery(el).prop(\"tagName\").toLowerCase();\n                    if(sTagName=='b'){\n\n                        selectElementContents(el);\n\n                        try {\n                            document.execCommand('bold', false, null);\n                        } catch (e) {\n                            //FF fix\n                            $element.attr('contenteditable', true);\n                            document.execCommand('bold', false, null);\n                            $element.removeAttr('contenteditable');\n                            $element.data('contenteditor').render();\n                        }\n\n                    } else {\n                        jQuery(el).css('font-weight', s);\n                    }\n\n                };\n\n                if(jQuery.trim(text) == ''){\n                    restoreSelection(savedSel);\n                } else {\n                    //for IE, prevent restore if there is text selection (seems can change the selection)\n                }\n\n                $element.data('contenteditor').getState();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n            });\n\n            jQuery('[data-rte-cmd=\"italic\"]').off('click');\n            jQuery('[data-rte-cmd=\"italic\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var text = getSelected();\n\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var s;\n                if (jQuery(el).css('font-style') == 'italic') {\n                    s='normal';\n                } else {\n                    s = 'italic';\n                }\n\n                if (jQuery.trim(text) != '') {\n                    try {\n                        document.execCommand('italic', false, null);\n                    } catch (e) {\n                        //FF fix\n                        $element.attr('contenteditable', true);\n                        document.execCommand('italic', false, null);\n                        $element.removeAttr('contenteditable');\n                        $element.data('contenteditor').render();\n                    }\n\n                    savedSel = saveSelection();\n                } else {\n\n                    var sTagName = jQuery(el).prop(\"tagName\").toLowerCase();\n                    if(sTagName=='i' || sTagName=='em'){\n\n                        selectElementContents(el);\n\n                        try {\n                            document.execCommand('italic', false, null);\n                        } catch (e) {\n                            //FF fix\n                            $element.attr('contenteditable', true);\n                            document.execCommand('italic', false, null);\n                            $element.removeAttr('contenteditable');\n                            $element.data('contenteditor').render();\n                        }\n\n                    } else {\n                        jQuery(el).css('font-style', s);\n                    }\n\n                };\n\n                if(jQuery.trim(text) == ''){\n                    restoreSelection(savedSel);\n                } else {\n                    //for IE, prevent restore if there is text selection (seems can change the selection)\n                }\n\n                $element.data('contenteditor').getState();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n            });\n\n            jQuery('[data-rte-cmd=\"underline\"]').off('click');\n            jQuery('[data-rte-cmd=\"underline\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var text = getSelected();\n\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var s;\n                if (jQuery(el).css('text-decoration').indexOf('underline') !=-1) {\n                    s='';\n                } else {\n                    s = 'underline';\n                }\n\n                if (jQuery.trim(text) != '') {\n                    try {\n                        document.execCommand('underline', false, null);\n                    } catch (e) {\n                        //FF fix\n                        $element.attr('contenteditable', true);\n                        document.execCommand('underline', false, null);\n                        $element.removeAttr('contenteditable');\n                        $element.data('contenteditor').render();\n                    }\n\n                    savedSel = saveSelection();\n                } else {\n\n                    var sTagName = jQuery(el).prop(\"tagName\").toLowerCase();\n                    if(sTagName=='u'){\n\n                        selectElementContents(el);\n\n                        try {\n                            document.execCommand('underline', false, null);\n                        } catch (e) {\n                            //FF fix\n                            $element.attr('contenteditable', true);\n                            document.execCommand('underline', false, null);\n                            $element.removeAttr('contenteditable');\n                            $element.data('contenteditor').render();\n                        }\n\n                    } else {\n                        jQuery(el).css('text-decoration', s);\n                    }\n\n                };\n\n                if(jQuery.trim(text) == ''){\n                    restoreSelection(savedSel);\n                } else {\n                    //for IE, prevent restore if there is text selection (seems can change the selection)\n                }\n\n                $element.data('contenteditor').getState();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n            });\n\n            jQuery('[data-rte-cmd=\"strikethrough\"]').off('click');\n            jQuery('[data-rte-cmd=\"strikethrough\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var text = getSelected();\n\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var s;\n                if (jQuery(el).css('text-decoration').indexOf('line-through') !=-1) {\n                    s='';\n                } else {\n                    s = 'line-through';\n                }\n\n                if (jQuery.trim(text) != '') {\n                    try {\n                        document.execCommand('strikethrough', false, null);\n                    } catch (e) {\n                        //FF fix\n                        $element.attr('contenteditable', true);\n                        document.execCommand('strikethrough', false, null);\n                        $element.removeAttr('contenteditable');\n                        $element.data('contenteditor').render();\n                    }\n\n                    savedSel = saveSelection();\n                } else {\n\n                    var sTagName = jQuery(el).prop(\"tagName\").toLowerCase();\n                    if(sTagName=='strike'){\n\n                        selectElementContents(el);\n\n                        try {\n                            document.execCommand('strikethrough', false, null);\n                        } catch (e) {\n                            //FF fix\n                            $element.attr('contenteditable', true);\n                            document.execCommand('strikethrough', false, null);\n                            $element.removeAttr('contenteditable');\n                            $element.data('contenteditor').render();\n                        }\n\n                    } else {\n                        jQuery(el).css('text-decoration', s);\n                    }\n\n                };\n\n                if(jQuery.trim(text) == ''){\n                    restoreSelection(savedSel);\n                } else {\n                    //for IE, prevent restore if there is text selection (seems can change the selection)\n                }\n\n                $element.data('contenteditor').getState();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n            });\n\n            /* Uppercase */\n            jQuery('[data-rte-cmd=\"uppercase\"]').off('click');\n            jQuery('[data-rte-cmd=\"uppercase\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var text = getSelected();\n\n                var el;\n                var curr;\n                if (window.getSelection) {\n                    curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                    if(curr.nodeType==3) {  //ini text node\n                        el = curr.parentNode;\n                    } else {\n                        el = curr;\n                    }\n                }\n                else if (document.selection) {\n                    curr = document.selection.createRange();\n                    el = document.selection.createRange().parentElement();\n                }\n\n                var s;\n                if (jQuery(el).css('text-transform') == 'uppercase') {\n                    s='';\n                } else {\n                    s = 'uppercase';\n                }\n\n                /*\n                if (jQuery.trim(text) != '' && jQuery(el).text() != text) {\n                    document.execCommand(\"fontName\", false, s);\n                    var fontElements = document.getElementsByTagName(\"font\");\n                    for (var i = 0, len = fontElements.length; i < len; ++i) {\n                        if (fontElements[i].face == s) {\n                            fontElements[i].removeAttribute(\"face\");\n\n                            //Need to get again (for IE & FF)\n                            if(fontElements[i].style.textTransform=='uppercase'){\n                                s ='';\n                            } else {\n                                s ='uppercase';\n                            }\n\n                            fontElements[i].style.textTransform = s;\n                        }\n                    }\n                    savedSel = saveSelection();\n                }\n                else if (jQuery(el).text() == text) {//selection fully mode on text AND element. Use element then.\n                    if(jQuery(el).html()){\n                        jQuery(el).css('text-transform', s);\n                    } else {\n                        jQuery(el).parent().css('text-transform', s);\n                    }\n                }\n                else{\n                    jQuery(el).css('text-transform', s);\n                };\n                */\n                jQuery(el).css('text-transform', s);\n\n                if(jQuery.trim(text) == ''){\n                    restoreSelection(savedSel);\n                } else {\n                    //for IE, prevent restore if there is text selection (seems can change the selection)\n                }\n\n                $element.data('contenteditor').getState();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                e.preventDefault();\n\n                //Save for Undo\n                saveForUndo();\n\n            });\n\n            /* Table */\n            jQuery('[data-rte-cmd=\"table\"]').off('click');\n            jQuery('[data-rte-cmd=\"table\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-table').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-57-163;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n                jQuery('#pop-table').css('position', 'fixed');\n                jQuery('#pop-table').css('top', top + 'px');\n                jQuery('#pop-table').css('left', left + 'px');\n\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-table').css('display','block');\n                jQuery(this).addClass('on');\n\n                e.preventDefault();\n\n                jQuery('#tableInsert td').off('mouseover');\n                jQuery('#tableInsert td').on('mouseover', function (e) {\n\n                    var row = jQuery(this).attr('data-row');\n                    var col = jQuery(this).attr('data-col');\n\n                    var i=0;\n                    jQuery('#tableInsert tr').each(function(){\n                        var j=0;\n                        var $tr = jQuery(this);\n                        $tr.children('td').each(function(){\n\n                            var $td = jQuery(this);\n                            if (i < row && j < col) {\n                                $td.addClass('highlight');\n                            }\n                            else {\n                                $td.removeClass('highlight');\n                            }\n                            j++;\n                        });\n                        i++;\n                    });\n\n                });\n\n                jQuery('#tableInsert').off('mouseout');\n                jQuery('#tableInsert').on('mouseout', function (e) {\n\n                    jQuery('#tableInsert tr').each(function(){\n                        var $tr = jQuery(this);\n                        $tr.children('td').each(function(){\n                            var $td = jQuery(this);\n                            $td.removeClass('highlight');\n                        });\n                    });\n\n                });\n\n                jQuery('#tableInsert td').off('click');\n                jQuery('#tableInsert td').click(function (e) {\n\n                    restoreSelection(savedSel);\n\n                    var row = jQuery(this).attr('data-row');\n                    var col = jQuery(this).attr('data-col');\n                    var sHTML = '<table class=\"default\" style=\"border-collapse:collapse;width:100%;\">';\n                    for (var i = 1; i <= row; i++) {\n                        sHTML += \"<tr>\";\n                        for (var j = 1; j <= col; j++) {\n                            sHTML += '<td valign=\"top\"><br></td>';\n                        }\n                        sHTML += '</tr>';\n                    }\n                    sHTML += '</table>';\n\n                    pasteHtmlAtCaret(sHTML);\n\n                    $element.data('contenteditor').closePop();\n\n                    $element.data('contenteditor').render();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    e.preventDefault();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n            });\n\n            jQuery('#btnDeleteTable').off('click');\n            jQuery('#btnDeleteTable').click(function (e) {\n\n                if(jQuery(\"#md-edittable\").data(\"simplemodal\")) jQuery(\"#md-edittable\").data(\"simplemodal\").hide();\n\n                jQuery('#md-deltableconfirm').css('max-width', '550px');\n                jQuery('#md-deltableconfirm').simplemodal();\n                jQuery('#md-deltableconfirm').data('simplemodal').show();\n\n                jQuery('#btnDelTableOk').off('click');\n                jQuery('#btnDelTableOk').on('click', function (e) {\n\n                    jQuery('#md-deltableconfirm').data('simplemodal').hide();\n\n                    var $table = $activeCell.parents('table').first();\n                    $table.fadeOut(400, function () {\n\n                        //Clear Controls\n                        jQuery(\"#divRteTable\").stop(true, true).fadeOut(0);\n\n                        $table.remove();\n\n                        $element.data('contenteditor').render();\n\n                        $element.data('contenteditor').settings.hasChanged = true;\n\n                        //Trigger Change event\n                        $element.data('contenteditor').settings.onChange();\n\n                        //Save for Undo\n                        saveForUndo();\n                    });\n\n                });\n                jQuery('#btnDelTableCancel').off('click');\n                jQuery('#btnDelTableCancel').on('click', function (e) {\n\n                    jQuery('#md-deltableconfirm').data('simplemodal').hide();\n\n                });\n\n            });\n\n            jQuery('#btnEditTable').off('click');\n            jQuery('#btnEditTable').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                $element.data('contenteditor').closePop();\n\n                jQuery(\"#md-edittable\").css(\"width\", '267px');\n                jQuery(\"#md-edittable\").simplemodal({noOverlay:true});\n                jQuery(\"#md-edittable\").data(\"simplemodal\").show();\n\n                /* Tabs */\n                jQuery('#tabTableDesign').off('click');\n                jQuery('#tabTableDesign').on('click', function (e) {\n                    jQuery('#tabTableDesign').addClass('active');\n                    jQuery('#tabTableLayout').removeClass('active');\n                    jQuery('#divTableLayout').fadeOut(300, function(){\n                        jQuery('#divTableDesign').fadeIn(0);\n                    });\n                });\n                jQuery('#tabTableLayout').off('click');\n                jQuery('#tabTableLayout').on('click', function (e) {\n                    jQuery('#tabTableDesign').removeClass('active');\n                    jQuery('#tabTableLayout').addClass('active');\n                    jQuery('#divTableDesign').fadeOut(0, function(){\n                        jQuery('#divTableLayout').fadeIn(300);\n                    });\n                });\n\n\n                if(!jQuery('#inpCellBgColor').colorPicker)$('#inpCellBgColor').colorPicker.destroy();\n                jQuery('#inpCellBgColor').colorPicker({\n                        dark: '#222',\n                        light: '#DDD',\n                        renderCallback: function($elm,toggled) {\n                            if (toggled === true) {\n                                // open\n                                jQuery('#inpCellBgColor').attr('data-initial-color', jQuery('#inpCellBgColor').val());\n                            } else if (toggled === false) {\n                                // close\n                                if(jQuery('#inpCellBgColor').attr('data-initial-color') != jQuery('#inpCellBgColor').val()){\n\n                                    //Trigger Change event\n                                    $element.data('contenteditor').settings.onChange();\n\n                                    $element.data('contenteditor').settings.hasChanged = true;\n\n                                    //Save for Undo\n                                    saveForUndo();\n\n                                    jQuery('#inpCellBgColor').attr('data-initial-color', jQuery('#inpCellBgColor').val());\n                                }\n                            } else {\n                                if(!$activeCell) return;\n\n                                //var val = $elm.text;\n                                var val = jQuery('#inpCellBgColor').val();\n\n                                restoreSelection(savedSel);\n\n                                //Apply format\n                                var applyto = jQuery('#selTableApplyTo').val();\n                                var oTable = $activeCell.parents('table').first()[0];\n                                var oRow = $activeCell.parents('tr').first()[0];\n                                var oCell = $activeCell[0];\n\n                                if (applyto == 'currentcell') {\n                                    $activeCell.css('background-color', val);\n                                }\n                                for (var i = 0; i < oTable.rows.length; i++) {\n                                    var oTR = oTable.rows[i];\n                                    for (var j = 0; j < oTR.cells.length; j++) {\n                                        var oTD = oTR.cells[j];\n\n                                        if (applyto == 'table') {\n                                            jQuery(oTD).css('background-color', val);\n                                        }\n                                        if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                            jQuery(oTD).css('background-color', val);\n                                        }\n                                        if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                            jQuery(oTD).css('background-color', val);\n                                        }\n                                        if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                            jQuery(oTD).css('background-color', val);\n                                        }\n                                        if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                            jQuery(oTD).css('background-color', val);\n                                        }\n                                    }\n                                }\n\n                            }\n                        }\n                    }\n                );\n\n\n                var bManualColorChange=false;\n\n                jQuery('#inpCellBgColor').off('keyup');\n                jQuery('#inpCellBgColor').on('keyup',function(e){\n                    bManualColorChange=true;\n                });\n\n                jQuery('#inpCellBgColor').off('blur');\n                jQuery('#inpCellBgColor').on('blur', function(){\n                    if(!$activeCell) return;\n\n                    restoreSelection(savedSel);\n\n                    var val = jQuery('#inpCellBgColor').val();\n\n                    //Apply format\n                    var applyto = jQuery('#selTableApplyTo').val();\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    if (applyto == 'currentcell') {\n                        $activeCell.css('background-color', val);\n                    }\n                    for (var i = 0; i < oTable.rows.length; i++) {\n                        var oTR = oTable.rows[i];\n                        for (var j = 0; j < oTR.cells.length; j++) {\n                            var oTD = oTR.cells[j];\n\n                            if (applyto == 'table') {\n                                jQuery(oTD).css('background-color', val);\n                            }\n                            if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                jQuery(oTD).css('background-color', val);\n                            }\n                            if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                jQuery(oTD).css('background-color', val);\n                            }\n                            if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                jQuery(oTD).css('background-color', val);\n                            }\n                            if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                jQuery(oTD).css('background-color', val);\n                            }\n                        }\n                    }\n\n                    if((jQuery('#inpCellBgColor').attr('data-initial-color') != jQuery('#inpCellBgColor').val()) || bManualColorChange){\n\n                        //Trigger Change event\n                        $element.data('contenteditor').settings.onChange();\n\n                        $element.data('contenteditor').settings.hasChanged = true;\n\n                        //Save for Undo\n                        saveForUndo();\n\n                        jQuery('#inpCellBgColor').attr('data-initial-color', jQuery('#inpCellBgColor').val());\n\n                        bManualColorChange=false;\n                    }\n\n                });\n\n\n                if(!jQuery('#inpCellTextColor').colorPicker)$('#inpCellTextColor').colorPicker.destroy();\n                jQuery('#inpCellTextColor').colorPicker({\n                        dark: '#222',\n                        light: '#DDD',\n                        renderCallback: function($elm,toggled) {\n                            if (toggled === true) {\n                                // open\n                                jQuery('#inpCellTextColor').attr('data-initial-color', jQuery('#inpCellTextColor').val());\n                            } else if (toggled === false) {\n                                // close\n                                if(jQuery('#inpCellTextColor').attr('data-initial-color') != jQuery('#inpCellTextColor').val()){\n\n                                    //Trigger Change event\n                                    $element.data('contenteditor').settings.onChange();\n\n                                    $element.data('contenteditor').settings.hasChanged = true;\n\n                                    //Save for Undo\n                                    saveForUndo();\n\n                                    jQuery('#inpCellTextColor').attr('data-initial-color', jQuery('#inpCellTextColor').val());\n                                }\n                            } else {\n                                if(!$activeCell) return;\n\n                                //var val = $elm.text;\n                                var val = jQuery('#inpCellTextColor').val();\n\n                                restoreSelection(savedSel);\n\n                                //Apply format\n                                var applyto = jQuery('#selTableApplyTo').val();\n                                var oTable = $activeCell.parents('table').first()[0];\n                                var oRow = $activeCell.parents('tr').first()[0];\n                                var oCell = $activeCell[0];\n\n                                if (applyto == 'currentcell') {\n                                    $activeCell.css('color', val);\n                                }\n                                for (var i = 0; i < oTable.rows.length; i++) {\n                                    var oTR = oTable.rows[i];\n                                    for (var j = 0; j < oTR.cells.length; j++) {\n                                        var oTD = oTR.cells[j];\n\n                                        if (applyto == 'table') {\n                                            jQuery(oTD).css('color', val);\n                                        }\n                                        if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                            jQuery(oTD).css('color', val);\n                                        }\n                                        if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                            jQuery(oTD).css('color', val);\n                                        }\n                                        if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                            jQuery(oTD).css('color', val);\n                                        }\n                                        if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                            jQuery(oTD).css('color', val);\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                );\n\n\n                jQuery('#inpCellTextColor').off('keyup');\n                jQuery('#inpCellTextColor').on('keyup',function(e){\n                    bManualColorChange=true;\n                });\n\n                jQuery('#inpCellTextColor').off('blur');\n                jQuery('#inpCellTextColor').on('blur', function(){\n                    if(!$activeCell) return;\n\n                    restoreSelection(savedSel);\n\n                    var val = jQuery('#inpCellTextColor').val();\n\n                    //Apply format\n                    var applyto = jQuery('#selTableApplyTo').val();\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    if (applyto == 'currentcell') {\n                        $activeCell.css('color', val);\n                    }\n                    for (var i = 0; i < oTable.rows.length; i++) {\n                        var oTR = oTable.rows[i];\n                        for (var j = 0; j < oTR.cells.length; j++) {\n                            var oTD = oTR.cells[j];\n\n                            if (applyto == 'table') {\n                                jQuery(oTD).css('color', val);\n                            }\n                            if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                jQuery(oTD).css('color', val);\n                            }\n                            if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                jQuery(oTD).css('color', val);\n                            }\n                            if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                jQuery(oTD).css('color', val);\n                            }\n                            if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                jQuery(oTD).css('color', val);\n                            }\n                        }\n                    }\n\n                    if((jQuery('#inpCellTextColor').attr('data-initial-color') != jQuery('#inpCellTextColor').val()) || bManualColorChange){\n\n                        //Trigger Change event\n                        $element.data('contenteditor').settings.onChange();\n\n                        $element.data('contenteditor').settings.hasChanged = true;\n\n                        //Save for Undo\n                        saveForUndo();\n\n                        jQuery('#inpCellTextColor').attr('data-initial-color', jQuery('#inpCellTextColor').val());\n\n                        bManualColorChange=false;\n                    }\n\n                });\n\n\n                if(!jQuery('#inpCellBorderColor').colorPicker)$('#inpCellBorderColor').colorPicker.destroy();\n                jQuery('#inpCellBorderColor').colorPicker({\n                        dark: '#222',\n                        light: '#DDD',\n                        renderCallback: function($elm,toggled) {\n                            if (toggled === true) {\n                                // open\n                                jQuery('#inpCellBorderColor').attr('data-initial-color', jQuery('#inpCellBorderColor').val());\n                            } else if (toggled === false) {\n                                // close\n                                if(jQuery('#inpCellBorderColor').attr('data-initial-color') != jQuery('#inpCellBorderColor').val()){\n\n                                    //Trigger Change event\n                                    $element.data('contenteditor').settings.onChange();\n\n                                    $element.data('contenteditor').settings.hasChanged = true;\n\n                                    //Save for Undo\n                                    saveForUndo();\n\n                                    jQuery('#inpCellBorderColor').attr('data-initial-color', jQuery('#inpCellBorderColor').val());\n                                }\n                            } else {\n                                if(!$activeCell) return;\n\n                                //var val = $elm.text;\n                                var val = jQuery('#inpCellBorderColor').val();\n\n                                var borderwidth = jQuery('#selCellBorderWidth').val();\n                                if(borderwidth=='0'){\n                                    jQuery('#selCellBorderWidth').val(1);\n                                    borderwidth = 1;\n                                }\n\n                                restoreSelection(savedSel);\n\n                                //Apply format\n                                var applyto = jQuery('#selTableApplyTo').val();\n                                var oTable = $activeCell.parents('table').first()[0];\n                                var oRow = $activeCell.parents('tr').first()[0];\n                                var oCell = $activeCell[0];\n\n                                if (applyto == 'currentcell') {\n                                    $activeCell.css('border-color', val);\n                                    $activeCell.css('border-width', borderwidth+'px');\n                                    $activeCell.css('border-style', 'solid');\n                                }\n                                for (var i = 0; i < oTable.rows.length; i++) {\n                                    var oTR = oTable.rows[i];\n                                    for (var j = 0; j < oTR.cells.length; j++) {\n                                        var oTD = oTR.cells[j];\n\n                                        if (applyto == 'table') {\n                                            jQuery(oTD).css('border-color', val);\n                                            jQuery(oTD).css('border-width', borderwidth+'px');\n                                            jQuery(oTD).css('border-style', 'solid');\n                                        }\n                                        if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                            jQuery(oTD).css('border-color', val);\n                                            jQuery(oTD).css('border-width', borderwidth+'px');\n                                            jQuery(oTD).css('border-style', 'solid');\n                                        }\n                                        if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                            jQuery(oTD).css('border-color', val);\n                                            jQuery(oTD).css('border-width', borderwidth+'px');\n                                            jQuery(oTD).css('border-style', 'solid');\n                                        }\n                                        if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                            jQuery(oTD).css('border-color', val);\n                                            jQuery(oTD).css('border-width', borderwidth+'px');\n                                            jQuery(oTD).css('border-style', 'solid');\n                                        }\n                                        if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                            jQuery(oTD).css('border-color', val);\n                                            jQuery(oTD).css('border-width', borderwidth+'px');\n                                            jQuery(oTD).css('border-style', 'solid');\n                                        }\n                                    }\n                                }\n                            }\n                        }\n                    }\n                );\n\n                jQuery('#inpCellBorderColor').off('keyup');\n                jQuery('#inpCellBorderColor').on('keyup',function(e){\n                    bManualColorChange=true;\n                });\n\n                jQuery('#inpCellBorderColor').off('blur');\n                jQuery('#inpCellBorderColor').on('blur', function(){\n                    if(!$activeCell) return;\n\n                    restoreSelection(savedSel);\n\n                    var val = jQuery('#inpCellBorderColor').val();\n                    var borderwidth = jQuery('#selCellBorderWidth').val();\n\n                    //Apply format\n                    var applyto = jQuery('#selTableApplyTo').val();\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    if (applyto == 'currentcell') {\n                        $activeCell.css('border-color', val);\n                        $activeCell.css('border-width', borderwidth+'px');\n                        $activeCell.css('border-style', 'solid');\n                        if(val==''){\n                            $activeCell.css('border-color', '');\n                            $activeCell.css('border-width', '');\n                            $activeCell.css('border-style', '');\n                            jQuery('#selCellBorderWidth').val(0);\n                        }\n                    }\n                    for (var i = 0; i < oTable.rows.length; i++) {\n                        var oTR = oTable.rows[i];\n                        for (var j = 0; j < oTR.cells.length; j++) {\n                            var oTD = oTR.cells[j];\n\n                            if (applyto == 'table') {\n                                jQuery(oTD).css('border-color', val);\n                                jQuery(oTD).css('border-width', borderwidth+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                if(val==''){\n                                    jQuery(oTD).css('border-color', '');\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery('#selCellBorderWidth').val(0);\n                                }\n                            }\n                            if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                jQuery(oTD).css('border-color', val);\n                                jQuery(oTD).css('border-width', borderwidth+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                if(val==''){\n                                    jQuery(oTD).css('border-color', '');\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery('#selCellBorderWidth').val(0);\n                                }\n                            }\n                            if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                jQuery(oTD).css('border-color', val);\n                                jQuery(oTD).css('border-width', borderwidth+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                if(val==''){\n                                    jQuery(oTD).css('border-color', '');\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery('#selCellBorderWidth').val(0);\n                                }\n                            }\n                            if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                jQuery(oTD).css('border-color', val);\n                                jQuery(oTD).css('border-width', borderwidth+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                if(val==''){\n                                    jQuery(oTD).css('border-color', '');\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery('#selCellBorderWidth').val(0);\n                                }\n                            }\n                            if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                jQuery(oTD).css('border-color', val);\n                                jQuery(oTD).css('border-width', borderwidth+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                if(val==''){\n                                    jQuery(oTD).css('border-color', '');\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery('#selCellBorderWidth').val(0);\n                                }\n                            }\n                        }\n                    }\n\n                    if((jQuery('#inpCellBorderColor').attr('data-initial-color') != jQuery('#inpCellBorderColor').val()) || bManualColorChange){\n\n                        //Trigger Change event\n                        $element.data('contenteditor').settings.onChange();\n\n                        $element.data('contenteditor').settings.hasChanged = true;\n\n                        //Save for Undo\n                        saveForUndo();\n\n                        jQuery('#inpCellBorderColor').attr('data-initial-color', jQuery('#inpCellBorderColor').val());\n\n                        bManualColorChange=false;\n                    }\n\n                });\n\n                jQuery('#selCellBorderWidth').off('change');\n                jQuery('#selCellBorderWidth').on('change', function(){\n                    if(!$activeCell) return;\n\n                    var val = jQuery('#selCellBorderWidth').val();\n                    var bordercolor = jQuery('#inpCellBorderColor').val();\n\n                    if(bordercolor==''){\n                        jQuery('#inpCellBorderColor').val('rgb(0, 0, 0)');\n                        jQuery('#inpCellBorderColor').css('background-color', 'rgb(0, 0, 0)' );\n                        jQuery('#inpCellBorderColor').css('color', '#ddd' );\n                        bordercolor = 'rgb(0, 0, 0)';\n                    }\n\n                    restoreSelection(savedSel);\n\n                    //Apply format\n                    var applyto = jQuery('#selTableApplyTo').val();\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    if (applyto == 'currentcell') {\n                        $activeCell.css('border-width', val+'px');\n                        $activeCell.css('border-style', 'solid');\n                        $activeCell.css('border-color', bordercolor);\n                        if(val=='0'){\n                            $activeCell.css('border-width', '');\n                            $activeCell.css('border-style', '');\n                            $activeCell.css('border-color', '');\n\n                            jQuery('#inpCellBorderColor').val('');\n                            jQuery('#inpCellBorderColor').css('background-color', '' );\n                        }\n                    }\n                    for (var i = 0; i < oTable.rows.length; i++) {\n                        var oTR = oTable.rows[i];\n                        for (var j = 0; j < oTR.cells.length; j++) {\n                            var oTD = oTR.cells[j];\n\n                            if (applyto == 'table') {\n                                jQuery(oTD).css('border-width', val+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                jQuery(oTD).css('border-color', bordercolor);\n                                if(val=='0'){\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery(oTD).css('border-color', '');\n\n                                    jQuery('#inpCellBorderColor').val('');\n                                    jQuery('#inpCellBorderColor').css('background-color', '' );\n                                }\n                            }\n                            if (applyto == 'evenrows' && isEven(i + 1)) {//even=genap\n                                jQuery(oTD).css('border-width', val+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                jQuery(oTD).css('border-color', bordercolor);\n                                if(val=='0'){\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery(oTD).css('border-color', '');\n\n                                    jQuery('#inpCellBorderColor').val('');\n                                    jQuery('#inpCellBorderColor').css('background-color', '' );\n                                }\n                            }\n                            if (applyto == 'oddrows' && !isEven(i + 1)) {\n                                jQuery(oTD).css('border-width', val+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                jQuery(oTD).css('border-color', bordercolor);\n                                if(val=='0'){\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery(oTD).css('border-color', '');\n\n                                    jQuery('#inpCellBorderColor').val('');\n                                    jQuery('#inpCellBorderColor').css('background-color', '' );\n                                }\n                            }\n                            if (applyto == 'currentrow' && oTR == $activeCell.parents('tr').first()[0] ) {\n                                jQuery(oTD).css('border-width', val+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                jQuery(oTD).css('border-color', bordercolor);\n                                if(val=='0'){\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery(oTD).css('border-color', '');\n\n                                    jQuery('#inpCellBorderColor').val('');\n                                    jQuery('#inpCellBorderColor').css('background-color', '' );\n                                }\n                            }\n                            if (applyto == 'currentcol' && j == getCellIndex(oTable, oRow, oCell)) {\n                                jQuery(oTD).css('border-width', val+'px');\n                                jQuery(oTD).css('border-style', 'solid');\n                                jQuery(oTD).css('border-color', bordercolor);\n                                if(val=='0'){\n                                    jQuery(oTD).css('border-width', '');\n                                    jQuery(oTD).css('border-style', '');\n                                    jQuery(oTD).css('border-color', '');\n\n                                    jQuery('#inpCellBorderColor').val('');\n                                    jQuery('#inpCellBorderColor').css('background-color', '' );\n                                }\n                            }\n                        }\n                    }\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                //Table Layout\n                jQuery('[data-rte-cmd=\"rowabove\"]').off('click');\n                jQuery('[data-rte-cmd=\"rowabove\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n\n                    var oNewRow = oTable.insertRow(oRow.rowIndex);\n\n                    for (var i = 0; i < oRow.cells.length; i++) {\n                        var oNewCell = oNewRow.insertCell(oNewRow.cells.length);\n                        jQuery(oNewCell).attr('style', $activeCell.attr('style'));\n                        jQuery(oNewCell).attr('valign', 'top');\n                        jQuery(oNewCell).html('<br>');\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                jQuery('[data-rte-cmd=\"rowbelow\"]').off('click');\n                jQuery('[data-rte-cmd=\"rowbelow\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n\n                    var oNewRow = oTable.insertRow(oRow.rowIndex + 1);\n\n                    for (var i = 0; i < oRow.cells.length; i++) {\n                        var oNewCell = oNewRow.insertCell(oNewRow.cells.length);\n                        jQuery(oNewCell).attr('style', $activeCell.attr('style'));\n                        jQuery(oNewCell).attr('valign', 'top');\n                        jQuery(oNewCell).html('<br>');\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                jQuery('[data-rte-cmd=\"columnleft\"]').off('click');\n                jQuery('[data-rte-cmd=\"columnleft\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    var nCellIndex = oCell.cellIndex;\n\n                    for (var i = 0; i < oTable.rows.length; i++) {\n                        var oRowTmp = oTable.rows[i];\n                        var oNewCell = oRowTmp.insertCell(nCellIndex);\n                        jQuery(oNewCell).attr('style', $activeCell.attr('style'));\n                        jQuery(oNewCell).attr('valign', 'top');\n                        jQuery(oNewCell).html('<br>');\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                jQuery('[data-rte-cmd=\"columnright\"]').off('click');\n                jQuery('[data-rte-cmd=\"columnright\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    var nCellIndex = oCell.cellIndex;\n\n                    for (var i = 0; i < oTable.rows.length; i++) {\n                        var oRowTmp = oTable.rows[i];\n                        var oNewCell = oRowTmp.insertCell(nCellIndex + 1);\n                        jQuery(oNewCell).attr('style', $activeCell.attr('style'));\n                        jQuery(oNewCell).attr('valign', 'top');\n                        jQuery(oNewCell).html('<br>');\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                jQuery('[data-rte-cmd=\"delrow\"]').off('click');\n                jQuery('[data-rte-cmd=\"delrow\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n\n                    oTable.deleteRow(oRow.rowIndex);\n\n                    $activeCell = null;\n\n                    if (oTable.rows.length == 0) {\n                        oTable.parentNode.removeChild(oTable);\n\n                        jQuery(\"#divRteTable\").stop(true, true).fadeOut(0);\n                        if(jQuery(\"#md-edittable\").data(\"simplemodal\")) jQuery(\"#md-edittable\").data(\"simplemodal\").hide();\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                jQuery('[data-rte-cmd=\"delcolumn\"]').off('click');\n                jQuery('[data-rte-cmd=\"delcolumn\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    var nCellIndex = oCell.cellIndex;\n                    for (var i = 0; i < oTable.rows.length; i++) oTable.rows[i].deleteCell(nCellIndex);\n\n                    $activeCell = null;\n\n                    if (oTable.rows[0].cells.length == 0) {\n                        oTable.parentNode.removeChild(oTable);\n\n                        jQuery(\"#divRteTable\").stop(true, true).fadeOut(0);\n                        if(jQuery(\"#md-edittable\").data(\"simplemodal\")) jQuery(\"#md-edittable\").data(\"simplemodal\").hide();\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                jQuery('[data-rte-cmd=\"mergecell\"]').off('click');\n                jQuery('[data-rte-cmd=\"mergecell\"]').click(function (e) {\n                    if(!$activeCell) return;\n\n                    var oTable = $activeCell.parents('table').first()[0];\n                    var oRow = $activeCell.parents('tr').first()[0];\n                    var oCell = $activeCell[0];\n\n                    oCell.colSpan = oCell.colSpan + 1; /*TODO: Merge 2 cell which has already colspan.*/\n\n                    if (oCell.cellIndex + 1 < oTable.rows[oRow.rowIndex].cells.length) {\n                        oTable.rows[oRow.rowIndex].deleteCell(oCell.cellIndex + 1);\n                    }\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n            });\n\n\n            /* Align */\n            jQuery('[data-rte-cmd=\"align\"]').off('click');\n            jQuery('[data-rte-cmd=\"align\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-align').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-58;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n                jQuery('#pop-align').css('position', 'fixed');\n                jQuery('#pop-align').css('top', top + 'px');\n                jQuery('#pop-align').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-align').css('display','block');\n                jQuery(this).addClass('on');\n\n                e.preventDefault();\n\n                jQuery('.md-pickalign').off('click');\n                jQuery('.md-pickalign').click(function(){\n\n                    /*\n                    restoreSelection(savedSel);\n\n                    var el;\n                    if (window.getSelection) {\n                        el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                        if (el.nodeName != 'H1' && el.nodeName != 'H2' && el.nodeName != 'H3' &&\n                            el.nodeName != 'H4' && el.nodeName != 'H5' && el.nodeName != 'H6' &&\n                            el.nodeName != 'P') {\n                            el = el.parentNode;\n                        }\n                    }\n                    else if (document.selection) {\n                        el = document.selection.createRange().parentElement();\n                        if (el.nodeName != 'H1' && el.nodeName != 'H2' && el.nodeName != 'H3' &&\n                            el.nodeName != 'H4' && el.nodeName != 'H5' && el.nodeName != 'H6' &&\n                            el.nodeName != 'P') {\n                            el = el.parentElement();\n                        }\n                    }\n\n                    var s = jQuery(this).data('align');\n                    el.style.textAlign = s;\n\n                    jQuery(this).blur();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n                    e.preventDefault();\n                    */\n\n\n                    restoreSelection(savedSel);\n\n                    var el;\n                    var curr;\n                    if (window.getSelection) {\n                        curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                        if(curr.nodeType==3) {  //ini text node\n                            el = curr.parentNode;\n                        } else {\n                            el = curr;\n                        }\n                    }\n                    else if (document.selection) {\n                        curr = document.selection.createRange();\n                        el = document.selection.createRange().parentElement();\n                    }\n\n                    var s = jQuery(this).data('align');\n\n                    var sTagName = jQuery(el).prop(\"tagName\").toLowerCase();\n                    if(sTagName=='h1' || sTagName=='h2' || sTagName=='h3' || sTagName=='h4' || sTagName=='h5' || sTagName=='h6' || sTagName=='p' || sTagName=='div') {\n                        jQuery(el).css('text-align', s);\n                    } else {\n                        jQuery(el).parents('h1,h2,h3,h4,h5,h6,p,div').first().css('text-align', s);\n                    }\n\n                    jQuery(this).blur();\n\n                    $element.data('contenteditor').getState();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    e.preventDefault();\n\n                    /*\n                    restoreSelection(savedSel);\n\n                    var s = jQuery(this).data('align');\n\n                    if(s=='left') document.execCommand('JustifyLeft', false, null);\n                    if(s=='right') document.execCommand('JustifyRight', false, null);\n                    if(s=='center') document.execCommand('JustifyCenter', false, null);\n                    if(s=='justify') document.execCommand('JustifyFull', false, null);\n\n                    $element.data('contenteditor').getState();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n                    e.preventDefault();\n                    */\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n                /**** /Custom Modal ****/\n            });\n\n            jQuery('[data-rte-cmd=\"list\"]').off('click');\n            jQuery('[data-rte-cmd=\"list\"]').click(function (e) {\n\n                var savedSel = saveSelection();\n\n                var top = jQuery(this).offset().top - jQuery(window).scrollTop();\n                var left = jQuery(this).offset().left;\n                if( jQuery('#rte-toolbar').hasClass('rte-side') ) {\n                    jQuery('#pop-list').addClass('rte-side');\n                    if( jQuery('#rte-toolbar').hasClass('right') ) {\n                        left=left-58;\n                    } else {\n                        left=left+57;\n                    }\n                } else {\n                    top=top+51;\n                }\n                jQuery('#pop-list').css('position', 'fixed');\n                jQuery('#pop-list').css('top', top + 'px');\n                jQuery('#pop-list').css('left', left + 'px');\n                //jQuery('.rte-pop').css('display','none');\n                $element.data('contenteditor').closePop();\n                jQuery('#pop-list').css('display','block');\n                jQuery(this).addClass('on');\n\n                e.preventDefault();\n\n                jQuery('.md-picklist').off('click');\n                jQuery('.md-picklist').click(function(){\n\n                    restoreSelection(savedSel);\n\n                    var s = jQuery(this).data('list');\n\n                    try {\n                        if(s=='normal') {\n                            document.execCommand('outdent', false, null);\n                            document.execCommand('outdent', false, null);\n                            document.execCommand('outdent', false, null);\n                        } else {\n                            document.execCommand(s, false, null);\n\n                            /* Applying <blockquote> inside <p> resulting: <p></p><blockquote>Lorem Ipsum..</blockquote><p></p>\n                            Debug here:\n                            var el;\n                            if (window.getSelection) {\n                                el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                                el = el.parentNode;\n                            }\n                            else if (document.selection) {\n                                el = document.selection.createRange().parentElement();\n                                el = el.parentElement();\n                            }\n                            alert(el.nodeName); //returns P. Blockquote cannot be inside P, that's why the output is the above result. */\n\n                            /* In safe mode, when applying ul/ol on paragraph (p), the p should be removed */\n                            var el;\n                            if (window.getSelection) {\n                                el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                                el = el.parentNode;\n                            }\n                            else if (document.selection) {\n                                el = document.selection.createRange().parentElement();\n                                el = el.parentElement();\n                            }\n                            if(el.nodeName=='UL' || el.nodeName=='OL') {\n                                if( jQuery(el).parent().prop(\"tagName\").toLowerCase() == \"p\" ) {\n                                    el.setAttribute('contenteditable', true); //make ul/ol editable\n                                    jQuery(el).parent().replaceWith(function() { return this.innerHTML; }); //remove unwanted paragraph\n                                }\n                            }\n\n                        }\n                    } catch (e) {\n                        //FF fix\n                        $activeElement.parents('div').addClass('edit');\n                        var el;\n                        if (window.getSelection) {\n                            el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n                            el = el.parentNode;\n                        }\n                        else if (document.selection) {\n                            el = document.selection.createRange().parentElement();\n                            el = el.parentElement();\n                        }\n                        //alert(el.nodeName)\n                        el.setAttribute('contenteditable', true);\n                        if(s=='normal') {\n                            document.execCommand('outdent', false, null);\n                            document.execCommand('outdent', false, null);\n                            document.execCommand('outdent', false, null);\n                        } else {\n                            document.execCommand(s, false, null);\n                        }\n                        el.removeAttribute('contenteditable');\n                        $element.data('contenteditor').render();\n                    }\n\n                    $element.data('contenteditor').getState();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    e.preventDefault();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n                /**** /Custom Modal ****/\n            });\n\n            jQuery('[data-rte-cmd=\"createLink\"]').off('click');\n            jQuery('[data-rte-cmd=\"createLink\"]').click(function (e) {\n\n                // source: \thttp://stackoverflow.com/questions/6251937/how-to-get-selecteduser-highlighted-text-in-contenteditable-element-and-replac\n                //   \t\thttp://stackoverflow.com/questions/4652734/return-html-from-a-user-selection/4652824#4652824\n                var html = \"\";\n                if (typeof window.getSelection != \"undefined\") {\n                    var sel = window.getSelection();\n                    if (sel.rangeCount) {\n                        var container = document.createElement(\"div\");\n                        for (var i = 0, len = sel.rangeCount; i < len; ++i) {\n                            container.appendChild(sel.getRangeAt(i).cloneContents());\n                        }\n                        html = container.innerHTML;\n                    }\n                } else if (typeof document.selection != \"undefined\") {\n                    if (document.selection.type == \"Text\") {\n                        html = document.selection.createRange().htmlText;\n                    }\n                }\n\n                if (html == '') {\n\n                    // Select word if no text selection\n                    // source: https://stackoverflow.com/questions/7563169/detect-which-word-has-been-clicked-on-within-a-text\n\n                    var s = window.getSelection();\n                    var range = s.getRangeAt(0);\n                    var node = s.anchorNode;\n\n                    while (range.startOffset !== 0) {\n                        range.setStart(node, range.startOffset - 1);\n                        if (range.toString().search(/\\s/) === 0) {\n                            range.setStart(node, range.startOffset + 1);\n                            break;\n                        }\n                    }\n                    while (range.endOffset < node.length) {\n                        range.setEnd(node, range.endOffset + 1);\n                        if (range.toString().search(/\\s/) !== -1) {\n                            range.setEnd(node, range.endOffset - 1);\n                            break;\n                        }\n                    }\n\n                    //var str = range.toString().trim();\n                    //alert(str);\n\n                    selectRange(range); //needed for IE\n                }\n\n                var el;\n                if (window.getSelection) {//https://www.jabcreations.com/blog/javascript-parentnode-of-selected-text\n                    el = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                }\n                else if (document.selection) {\n                    el = document.selection.createRange();\n                }\n                if(el.nodeName.toLowerCase()=='a'){\n                    $activeLink = jQuery(el);\n                } else {\n                    document.execCommand('createLink', false, 'http://dummy');\n                    $activeLink = jQuery(\"a[href='http://dummy']\").first();\n                    $activeLink.attr('href', 'http://');\n                }\n\n                /**** Custom Modal ****/\n                jQuery('#md-createlink').css('max-width', '550px');\n                jQuery('#md-createlink').simplemodal({\n                    noOverlay:true,\n                    onCancel: function () {\n                        if ($activeLink.attr('href') == 'http://')\n                            $activeLink.replaceWith($activeLink.html());\n                    }\n                });\n                jQuery('#md-createlink').data('simplemodal').show();\n                $element.data('contenteditor').closePop();\n\n                jQuery('#txtLink').val($activeLink.attr('href'));\n                jQuery('#txtLinkText').val($activeLink.html());\n                jQuery('#txtLinkTitle').val($activeLink.attr('title'));\n                if($activeLink.attr('target')=='_blank'){\n                    jQuery('#chkNewWindow').prop('checked', true);\n                } else {\n                    jQuery('#chkNewWindow').prop('checked', false);\n                }\n\n                jQuery('#btnLinkOk').off('click');\n                jQuery('#btnLinkOk').on('click', function (e) {\n                    $activeLink.attr('href', jQuery('#txtLink').val());\n\n                    if (jQuery('#txtLink').val() == 'http://' || jQuery('#txtLink').val() == '') {\n                        $activeLink.replaceWith($activeLink.html());\n                    }\n                    $activeLink.html(jQuery('#txtLinkText').val());\n                    $activeLink.attr('title',jQuery('#txtLinkTitle').val());\n                    if(jQuery('#chkNewWindow').is(\":checked\")){\n                        $activeLink.attr('target','_blank');\n                    } else {\n                        $activeLink.removeAttr('target');\n                    }\n\n                    jQuery('#md-createlink').data('simplemodal').hide();\n\n                    //Trigger Change event\n                    $element.data('contenteditor').settings.onChange();\n\n                    $element.data('contenteditor').settings.hasChanged = true;\n                    $element.data('contenteditor').render();\n                    /*\n                    for (var i = 0; i < instances.length; i++) {\n                        jQuery(instances[i]).data('contenteditor').settings.hasChanged = true;\n                        jQuery(instances[i]).data('contenteditor').render();\n                    }*/\n\n                    //Save for Undo\n                    saveForUndo();\n\n                });\n                /**** /Custom Modal ****/\n\n                e.preventDefault(); //spy wkt rte's link btn di-click, browser scroll tetap.\n\n            });\n\n            jQuery('[data-rte-cmd=\"icon\"]').off('click');\n            jQuery('[data-rte-cmd=\"icon\"]').click(function (e) {\n\n\n                $savedSel = saveSelection();\n\n                $activeIcon = null;\n\n                var iconselect = $element.data('contenteditor').settings.iconselect;\n                if( jQuery('#ifrIconSelect').attr('src').indexOf('blank.html') != -1) {\n                    jQuery('#ifrIconSelect').attr('src', iconselect);\n                }\n                jQuery('#md-icon-select').css('max-width', '775px');\n                jQuery('#md-icon-select').simplemodal({noOverlay:true});\n                jQuery('#md-icon-select').data('simplemodal').show($savedSel);\n                $element.data('contenteditor').closePop();\n\n                e.preventDefault();\n                return;\n\n            });\n\n            jQuery('[data-rte-cmd=\"tags\"]').off('click');\n            jQuery('[data-rte-cmd=\"tags\"]').click(function (e) {\n\n                //var savedSel = saveSelection();\n\n                jQuery('#md-tags-select').css('max-width', '255px');\n                jQuery('#md-tags-select').simplemodal({noOverlay:true});\n                jQuery('#md-tags-select').data('simplemodal').show(savedSel);\n                $element.data('contenteditor').closePop();\n\n                var s = '';\n                for (var j = 0; j < $element.data('contenteditor').settings.customTags.length; j++) {\n                    s+='<button class=\"md-pick-tag\" style=\"width:100%\" data-value=\"' + $element.data('contenteditor').settings.customTags[j][1] + '\"> ' + $element.data('contenteditor').settings.customTags[j][0] + ' </button>';\n                }\n                jQuery('#divCustomTags').html(s);\n\n                jQuery('.md-pick-tag').off('click');\n                jQuery('.md-pick-tag').click(function(){\n\n                    //restoreSelection(savedSel);\n\n                    var val = jQuery(this).data(\"value\");\n                    pasteHtmlAtCaret(val,true);\n                    jQuery('#md-tags-select').data('simplemodal').hide();\n\n                    //Save for Undo\n                    saveForUndo();\n                });\n\n                e.preventDefault();\n                return;\n\n            });\n\n            $element.off('mouseenter mouseleave', '.embed-responsive');\n            $element.on('mouseenter mouseleave', '.embed-responsive', function(e) {\n                switch(e.type) {\n                    case 'mouseenter':\n\n                        if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n\n                        if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n\n                        if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                        var _top; var _left;\n                        var scrolltop = jQuery(window).scrollTop();\n                        var offsettop = jQuery(this).offset().top;\n                        var offsetleft = jQuery(this).offset().left;\n                        var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                        var is_ie = detectIE();\n                        var browserok = true;\n                        if (is_firefox||is_ie) browserok = false;\n                        if(browserok){\n                            //Chrome 37, Opera 24\n                            _top = (offsettop - 20) + (scrolltop - scrolltop);\n                            _left = offsetleft;\n                        } else {\n                            if(is_ie){\n                                //IE 11 (Adjustment required)\n\n                                //Custom formula for adjustment in IE11\n                                var space = $element.getPos().top;\n                                var adjy_val = (-space/1.1) + space/1.1;\n                                var space2 = $element.getPos().left;\n                                var adjx_val = -space2 + space2;\n\n                                var p = jQuery(this).getPos();\n                                _top = (p.top - 20) + adjy_val;\n                                _left = p.left + adjx_val;\n                            }\n                            if(is_firefox) {\n                                //Firefox (No Adjustment required)\n                                _top = offsettop - 20;\n                                _left = offsetleft;\n                            }\n                        }\n                        jQuery(\"#divFrameLink\").css(\"top\", _top + \"px\");\n                        jQuery(\"#divFrameLink\").css(\"left\", _left + \"px\");\n\n\n                        jQuery(\"#divFrameLink\").stop(true, true).css({ display: 'none' }).fadeIn(20);\n\n                        $activeFrame = jQuery(this).find('iframe');\n\n                        jQuery(\"#divFrameLink\").off('click');\n                        jQuery(\"#divFrameLink\").on('click', function (e) {\n                            var currentSrcUrl = $activeFrame.attr('src');\n                            var embeddedYoutubeRegex = /^.*\\/\\/www.youtube.com\\/embed\\//;\n                            var embeddedVimeoRegex = /^.*\\/\\/player.vimeo.com\\/video\\//;\n\n                            if (embeddedYoutubeRegex.exec(currentSrcUrl) != null || embeddedVimeoRegex.exec(currentSrcUrl) != null) {\n\n                                if(jQuery('#md-createiframe').data('simplemodal')) jQuery('#md-createiframe').data('simplemodal').hide();\n\n                                /**** Custom Modal for just SRC ****/\n                                jQuery('#md-createsrc').css('max-width', '550px');\n                                jQuery('#md-createsrc').simplemodal({noOverlay:true});\n                                jQuery('#md-createsrc').data('simplemodal').show();\n                                $element.data('contenteditor').closePop();\n\n                                jQuery('#txtSrc').val($activeFrame.attr('src'));\n\n                                jQuery('#btnSrcOk').off('click');\n                                jQuery('#btnSrcOk').on('click', function (e) {\n                                    var srcUrl = jQuery('#txtSrc').val();\n\n                                    var youRegex = /^http[s]?:\\/\\/(((www.youtube.com\\/watch\\?(feature=player_detailpage&)?)v=)|(youtu.be\\/))([^#\\&\\?]*)/;\n                                    var vimeoRegex = /^.*(vimeo\\.com\\/)((channels\\/[A-z]+\\/)|(groups\\/[A-z]+\\/videos\\/)|(video\\/))?([0-9]+)\\/?/;\n                                    var youRegexMatches = youRegex.exec(srcUrl);\n                                    var vimeoRegexMatches = vimeoRegex.exec(srcUrl);\n                                    if (youRegexMatches != null || vimeoRegexMatches != null) {\n                                        if (youRegexMatches != null && youRegexMatches.length >= 7) {\n                                            var youMatch = youRegexMatches[6];\n                                            srcUrl = '//www.youtube.com/embed/' + youMatch + '?rel=0';\n                                        }\n                                        if (vimeoRegexMatches != null && vimeoRegexMatches.length >= 7) {\n                                            var vimeoMatch = vimeoRegexMatches[6];\n                                            srcUrl = '//player.vimeo.com/video/' + vimeoMatch;\n                                        }\n                                    }\n                                    $activeFrame.attr('src', srcUrl);\n\n                                    if (jQuery('#txtSrc').val() == '') {\n                                        $activeFrame.attr('src', '');\n                                    }\n\n                                    jQuery('#md-createsrc').data('simplemodal').hide();\n\n                                    //Trigger Change event\n                                    $element.data('contenteditor').settings.onChange();\n\n                                    $element.data('contenteditor').settings.hasChanged = true;\n                                    $element.data('contenteditor').render();\n                                    /*\n                                    for (var i = 0; i < instances.length; i++) {\n                                        jQuery(instances[i]).data('contenteditor').settings.hasChanged = true;\n                                        jQuery(instances[i]).data('contenteditor').render();\n                                    }*/\n\n                                    //Save for Undo\n                                    saveForUndo();\n\n                                });\n                                /**** /Custom Modal for just SRC ****/\n                            } else {\n\n                                if(jQuery('#md-createsrc').data('simplemodal')) jQuery('#md-createsrc').data('simplemodal').hide();\n\n                                /**** Custom Modal for IFRAME ****/\n                                jQuery('#md-createiframe').css('max-width', '550px');\n                                jQuery('#md-createiframe').simplemodal({noOverlay:true});\n                                jQuery('#md-createiframe').data('simplemodal').show();\n                                $element.data('contenteditor').closePop();\n\n                                jQuery('#txtIframe').val($activeFrame[0].outerHTML);\n\n                                jQuery('#btnIframeOk').off('click');\n                                jQuery('#btnIframeOk').on('click', function (e) {\n                                    var iframeSrc = jQuery('#txtIframe').val();\n\n                                    if (iframeSrc != '') {\n                                        $activeFrame.replaceWith(iframeSrc);\n                                    }\n\n                                    jQuery('#md-createiframe').data('simplemodal').hide();\n\n                                    //Trigger Change event\n                                    $element.data('contenteditor').settings.onChange();\n\n                                    $element.data('contenteditor').settings.hasChanged = true;\n                                    $element.data('contenteditor').render();\n                                    /*\n                                    for (var i = 0; i < instances.length; i++) {\n                                        jQuery(instances[i]).data('contenteditor').settings.hasChanged = true;\n                                        jQuery(instances[i]).data('contenteditor').render();\n                                    }*/\n\n                                    //Save for Undo\n                                    saveForUndo();\n\n                                });\n                                /**** /Custom Modal for IFRAME ****/\n                            }\n\n                        });\n\n                        jQuery('#divFrameLink').off('mouseenter mouseleave');\n                        jQuery('#divFrameLink').on('mouseenter mouseleave', function(e) {\n                            switch(e.type) {\n                                case 'mouseenter':\n                                    jQuery(this).stop(true, true).css(\"display\", \"block\"); // Spy tdk flickr\n                                    break;\n                                case 'mouseleave':\n                                    jQuery(this).stop(true, true).fadeOut(0);\n                                    break;\n                            }\n                        });\n\n                        if (jQuery(this).parents(\".ui-draggable\").css('outline-style') == 'none') {\n                            jQuery(this).find('.ovl').css('z-index', '1');\n                        }\n                        break;\n\n                    case 'mouseleave':\n\n                        jQuery(this).find('.ovl').css('z-index', '-1');\n                        jQuery(\"#divFrameLink\").stop(true, true).fadeOut(0);\n\n                        break;\n                }\n            });\n\n            $element.off('mouseenter mouseleave', 'a');\n            $element.on('mouseenter mouseleave', 'a', function(e) {\n\n                if( jQuery(this).hasClass('not-a') ) return;\n\n                switch(e.type) {\n                    case 'mouseenter':\n                        if(jQuery('#md-createlink').css('display')=='block') return; //Link dialog still opens\n\n                        if( jQuery(this).parents(\"[data-html]\").length > 0 ) return; //Mode: code\n\n                        if( jQuery(this).parents(\"[data-mode='readonly']\").length > 0 ) return; //Mode: readonly\n\n                        if( jQuery(this).parents(\"[data-mode='readonly-protected']\").length > 0 ) return; //Mode: readonly & protected\n\n                        if (jQuery(this).children('img').length == 1 && jQuery(this).children().length == 1) return;\n\n                        var _top; var _left;\n                        var scrolltop = jQuery(window).scrollTop();\n                        var offsettop = jQuery(this).offset().top;\n                        var offsetleft = jQuery(this).offset().left;\n                        var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                        var is_ie = detectIE();\n                        var browserok = true;\n                        if (is_firefox||is_ie) browserok = false;\n                        if(browserok){\n                            //Chrome 37, Opera 24\n                            _top = (offsettop - 27) + (scrolltop - scrolltop);\n                            _left = offsetleft;\n                        } else {\n                            if(is_ie){\n                                //IE 11 (Adjustment required)\n\n                                //Custom formula for adjustment in IE11\n                                var space = $element.getPos().top;\n                                var adjy_val = (-space/1.1) + space/1.1;\n                                var space2 = $element.getPos().left;\n                                var adjx_val = -space2 + space2;\n\n                                var p = jQuery(this).getPos();\n                                _top = (p.top - 25) + adjy_val;\n                                _left = p.left + adjx_val;\n                            }\n                            if(is_firefox) {\n                                //Firefox (No Adjustment required)\n                                _top = offsettop - 25;\n                                _left = offsetleft;\n                            }\n                        }\n                        jQuery(\"#divRteLink\").css(\"top\", _top + \"px\");\n                        jQuery(\"#divRteLink\").css(\"left\", _left + \"px\");\n\n\n                        jQuery(\"#divRteLink\").stop(true, true).css({ display: 'none' }).fadeIn(20);\n\n                        $activeLink = jQuery(this);\n\n                        jQuery(\"#divRteLink\").off('click');\n                        jQuery(\"#divRteLink\").on('click', function (e) {\n\n                            /**** Custom Modal ****/\n                            jQuery('#md-createlink').css('max-width', '550px');\n                            jQuery('#md-createlink').simplemodal({\n                                noOverlay:true,\n                                onCancel: function () {\n                                    if ($activeLink.attr('href') == 'http://')\n                                        $activeLink.replaceWith($activeLink.html());\n                                }\n                            });\n                            jQuery('#md-createlink').data('simplemodal').show();\n                            $element.data('contenteditor').closePop();\n\n                            jQuery('#txtLink').val($activeLink.attr('href'));\n                            jQuery('#txtLinkText').val($activeLink.html());\n                            jQuery('#txtLinkTitle').val($activeLink.attr('title'));\n                            if($activeLink.attr('target')=='_blank'){\n                                jQuery('#chkNewWindow').prop('checked', true);\n                            } else {\n                                jQuery('#chkNewWindow').prop('checked', false);\n                            }\n\n                            jQuery('#btnLinkOk').off('click');\n                            jQuery('#btnLinkOk').on('click', function (e) {\n\n                                $activeLink.attr('href', jQuery('#txtLink').val());\n\n                                if (jQuery('#txtLink').val() == 'http://' || jQuery('#txtLink').val() == '') {\n                                    $activeLink.replaceWith($activeLink.html());\n                                }\n                                $activeLink.html(jQuery('#txtLinkText').val());\n                                $activeLink.attr('title',jQuery('#txtLinkTitle').val());\n                                if(jQuery('#chkNewWindow').is(\":checked\")){\n                                    $activeLink.attr('target','_blank');\n                                } else {\n                                    $activeLink.removeAttr('target');\n                                }\n\n                                jQuery('#md-createlink').data('simplemodal').hide();\n\n                                //Trigger Change event\n                                $element.data('contenteditor').settings.onChange();\n\n                                $element.data('contenteditor').settings.hasChanged = true;\n                                $element.data('contenteditor').render();\n                                /*\n                                for (var i = 0; i < instances.length; i++) {\n                                    jQuery(instances[i]).data('contenteditor').settings.hasChanged = true;\n                                    jQuery(instances[i]).data('contenteditor').render();\n                                }*/\n\n                                //Save for Undo\n                                saveForUndo();\n                            });\n                            /**** /Custom Modal ****/\n\n                        });\n\n                        jQuery(\"#divRteLink\").off('mouseenter mouseleave');\n                        jQuery(\"#divRteLink\").on('mouseenter mouseleave', function (e) {\n                            switch(e.type) {\n                                case 'mouseenter':\n                                    jQuery(this).stop(true, true).css(\"display\", \"block\"); // Spy tdk flickr\n                                    break;\n                                case 'mouseleave':\n                                    jQuery(this).stop(true, true).fadeOut(0);\n                                    break;\n                            }\n                        });\n\n                        break;\n\n                    case 'mouseleave':\n\n                        jQuery(\"#divRteLink\").stop(true, true).fadeOut(0);\n\n                        break;\n                }\n            });\n\n            //Custom File Select\n            jQuery(\"#btnLinkBrowse\").off('click');\n            jQuery(\"#btnLinkBrowse\").on('click', function (e) {\n\n                //Clear Controls\n                jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                jQuery(\"#divRteLink\").stop(true, true).fadeOut(0);\n                jQuery(\"#divFrameLink\").stop(true, true).fadeOut(0);\n\n                var sFunc = ($element.data('contenteditor').settings.onFileSelectClick+'').replace( /\\s/g, '');\n                if(sFunc != 'function(){}'){\n\n                    //$element.data('imageembed').settings.onFileSelectClick();\n                    $element.data('contenteditor').settings.onFileSelectClick({targetInput: jQuery(\"#txtLink\").get(0), theTrigger: jQuery(\"#btnLinkBrowse\").get(0)});\n\n                } else {\n\n                    jQuery('#ifrFileBrowse').attr('src',$element.data('contenteditor').settings.fileselect);\n                    jQuery('#active-input').val('txtLink');\n\n                    /**** Custom Modal ****/\n                    jQuery('#md-fileselect').css('width', '65%');\n                    jQuery('#md-fileselect').simplemodal();\n                    jQuery('#md-fileselect').data('simplemodal').show();\n                    /**** /Custom Modal ****/\n                    $element.data('contenteditor').closePop();\n                }\n\n            });\n\n            $element.data('contenteditor').settings.onRender();\n            $element.data('contenteditor').contentRender();\n        };\n\n        this.prepareRteCommand = function (s) {\n            jQuery('[data-rte-cmd=\"' + s + '\"]').off('click');\n            jQuery('[data-rte-cmd=\"' + s + '\"]').click(function (e) {\n                try {\n                    document.execCommand(s, false, null);\n                } catch (e) {\n                    //FF fix\n                    $element.attr('contenteditable', true);\n                    document.execCommand(s, false, null);\n                    $element.removeAttr('contenteditable');\n                    $element.data('contenteditor').render();\n                }\n\n                $element.data('contenteditor').getState();\n\n                //Trigger Change event\n                $element.data('contenteditor').settings.onChange();\n\n                $element.data('contenteditor').settings.hasChanged = true;\n                e.preventDefault();\n            });\n        };\n\n        this.applyColor = function (s, text) {\n\n            var el;\n            var curr;\n            if (window.getSelection) {\n                curr = window.getSelection().getRangeAt(0).commonAncestorContainer;\n                if(curr.nodeType==3) {  //ini text node\n                    el = curr.parentNode;\n                } else {\n                    el = curr;\n                }\n                //el = window.getSelection().getRangeAt(0).commonAncestorContainer.parentNode;\n            }\n            else if (document.selection) {\n                curr = document.selection.createRange();\n                el = document.selection.createRange().parentElement();\n            }\n\n            var selColMode = jQuery('#selColorApplyTo').val(); //1 color 2 background 3 background block\n\n            if (jQuery.trim(text) != '' && jQuery(el).text() != text) {\n                if(selColMode==1) {\n                    //Set text color\n                    document.execCommand(\"ForeColor\",false,s);\n                }\n                if(selColMode==2) {\n                    //Set text background\n                    document.execCommand(\"BackColor\",false,s);\n                }\n                //Cleanup FONTs\n                var fontElements = document.getElementsByTagName(\"font\");\n                for (var i = 0, len = fontElements.length; i < len; ++i) {\n                    var s = fontElements[i].color;\n                    if(s!='') {\n                        fontElements[i].removeAttribute(\"color\");\n                        fontElements[i].style.color = s;\n                    }\n                }\n                //Cleanup multiple span (IE)\n                var is_ie = detectIE();\n                if (is_ie) {\n                    $activeElement.find('span').each(function(){\n                        if(jQuery(this).find('span').length==1){\n                            if(jQuery(this).text()==jQuery(this).find('span:first').text()){\n                                var innerspanstyle = jQuery(this).find('span:first').attr('style');\n                                jQuery(this).html(jQuery(this).find('span:first').html());\n                                var newstyle = jQuery(this).attr('style')+';'+innerspanstyle;\n                                jQuery(this).attr('style',newstyle);\n                            }\n                        }\n                    });\n                }\n\n            }\n            else if (jQuery(el).text() == text) {//selection fully mode on text AND element. Use element then.\n                if(selColMode==1) {\n                    //Set element color\n                    if(jQuery(el).html()){\n                        jQuery(el).css('color', s);\n                    } else {\n                        jQuery(el).parent().css('color', s);\n                    }\n                }\n                if(selColMode==2) {\n                    //Set element background\n                    if(jQuery(el).html()){\n                        jQuery(el).css('background-color', s);\n                    } else {\n                        jQuery(el).parent().css('background-color', s);\n                    }\n                }\n            }\n            else{\n                if(selColMode==1) {\n                    //Set element color\n                    jQuery(el).css('color', s);\n                }\n                if(selColMode==2) {\n                    //Set element background\n                    jQuery(el).css('background-color', s);\n                }\n            };\n            if(selColMode==3) {\n                //Set block background\n                //jQuery(el).parents('.ui-draggable').children('div').first().css('background-color', jQuery(this).css(\"background-color\") );\n                jQuery(el).parents('.ui-draggable').children().first().css('background-color', s );\n            }\n            /*if(selColMode==4) {\n                //Set content background\n                $element.css('background-color', s );\n            }*/\n\n        };\n\n        this.init();\n    };\n\n    jQuery.fn.contenteditor = function (options) {\n\n        return this.each(function () {\n\n            instances.push(this);\n\n            if (undefined == jQuery(this).data('contenteditor')) {\n                var plugin = new jQuery.contenteditor(this, options);\n                jQuery(this).data('contenteditor', plugin);\n\n            }\n\n        });\n    };\n})(jQuery);\n\n\nfunction ce_closePop() {\n    jQuery('.rte-pop').css('display','none');\n\n    jQuery('[data-rte-cmd=\"formatting\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"textsettings\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"color\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"font\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"formatPara\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"align\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"list\"]').removeClass('on');\n    jQuery('[data-rte-cmd=\"table\"]').removeClass('on');\n};\n\nfunction pasteContent($activeElement) {\n\n    var savedSel = saveSelection();\n\n    jQuery('#idContentWord').remove();\n    var tmptop = $activeElement.offset().top;\n    jQuery('#divCb').append(\"<div style='position:absolute;z-index:-1000;top:\" + tmptop + \"px;left:-1000px;width:1px;height:1px;overflow:auto;' name='idContentWord' id='idContentWord' contenteditable='true'></div>\");\n\n    var pasteFrame = document.getElementById(\"idContentWord\");\n    pasteFrame.focus();\n\n    setTimeout(function () {\n        try {\n            restoreSelection(savedSel);\n            var $node = jQuery(getSelectionStartNode());\n\n            // Insert pasted text\n            if (jQuery('#idContentWord').length == 0) return; //protection\n\n            var sPastedText = '';\n\n            var bRichPaste = false;\n\n            if(jQuery('#idContentWord table').length > 0 ||\n                jQuery('#idContentWord img').length > 0 ||\n                jQuery('#idContentWord p').length > 0 ||\n                jQuery('#idContentWord a').length > 0){\n                bRichPaste = true;\n            }\n\n            if(bRichPaste){\n\n                //Clean Word\n                sPastedText = jQuery('#idContentWord').html();\n                sPastedText = cleanHTML(sPastedText);\n\n                jQuery('#idContentWord').html(sPastedText);\n                if(jQuery('#idContentWord').children('p,h1,h2,h3,h4,h5,h6,ul,li').length>1){\n                    //Fix text that doesn't have paragraph\n                    jQuery('#idContentWord').contents().filter(function() {\n                        return (this.nodeType == 3 && jQuery.trim(this.nodeValue)!='');\n                    }).wrap( \"<p></p>\" ).end().filter(\"br\").remove();\n                }\n                sPastedText = '<div class=\"edit\">'+ jQuery('#idContentWord').html() + '</div>';\n\n            } else {\n                jQuery('#idContentWord').find('p,h1,h2,h3,h4,h5,h6').each(function(){\n                    jQuery(this).html(jQuery(this).html()+' '); //add space (&nbsp;)\n                });\n\n                sPastedText = jQuery('#idContentWord').text();\n            }\n\n            jQuery('#idContentWord').remove();\n\n            var oSel = window.getSelection();\n            var range = oSel.getRangeAt(0);\n            range.extractContents();\n            range.collapse(true);\n            var docFrag = range.createContextualFragment(sPastedText);\n            var lastNode = docFrag.lastChild;\n\n            range.insertNode(docFrag);\n\n            range.setStartAfter(lastNode);\n            range.setEndAfter(lastNode);\n            range.collapse(false);\n            var comCon = range.commonAncestorContainer;\n            if (comCon && comCon.parentNode) {\n                try { comCon.parentNode.normalize(); } catch (e) { };\n            }\n            oSel.removeAllRanges();\n            oSel.addRange(range);\n\n        } catch (e) {\n\n            jQuery('#idContentWord').remove();\n        };\n\n    }, 200);\n\n}\n\n// source: http://stackoverflow.com/questions/5605401/insert-link-in-contenteditable-element\nvar savedSel;\nfunction saveSelection() {\n    if (window.getSelection) {\n        sel = window.getSelection();\n        if (sel.getRangeAt && sel.rangeCount) {\n            var ranges = [];\n            for (var i = 0, len = sel.rangeCount; i < len; ++i) {\n                ranges.push(sel.getRangeAt(i));\n            }\n            return ranges;\n        }\n    } else if (document.selection && document.selection.createRange) {\n        return document.selection.createRange();\n    }\n    return null;\n};\nfunction restoreSelection(savedSel) {\n    if (savedSel) {\n        if (window.getSelection) {\n            sel = window.getSelection();\n            sel.removeAllRanges();\n            for (var i = 0, len = savedSel.length; i < len; ++i) {\n                sel.addRange(savedSel[i]);\n            }\n        } else if (document.selection && savedSel.select) {\n            savedSel.select();\n        }\n    }\n};\n// source: http://stackoverflow.com/questions/2459180/how-to-edit-a-link-within-a-contenteditable-div\nfunction getSelectionStartNode() {\n    var node, selection;\n    if (window.getSelection) { // FF3.6, Safari4, Chrome5 (DOM Standards)\n        selection = getSelection();\n        node = selection.anchorNode;\n    }\n    if (!node && document.selection) { // IE\n        selection = document.selection;\n        var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();\n        node = range.commonAncestorContainer ? range.commonAncestorContainer :\n\t\t\t   range.parentElement ? range.parentElement() : range.item(0);\n    }\n    if (node) {\n        return (node.nodeName == \"#text\" ? node.parentNode : node);\n    }\n};\n//\nvar getSelectedNode = function () {\n    var node, selection;\n    if (window.getSelection) {\n        selection = getSelection();\n        node = selection.anchorNode;\n    }\n    if (!node && document.selection) {\n        selection = document.selection;\n        var range = selection.getRangeAt ? selection.getRangeAt(0) : selection.createRange();\n        node = range.commonAncestorContainer ? range.commonAncestorContainer :\n               range.parentElement ? range.parentElement() : range.item(0);\n    }\n    if (node) {\n        return (node.nodeName == \"#text\" ? node.parentNode : node);\n    }\n};\n\nfunction getSelected() {\n    if (window.getSelection) {\n        return window.getSelection();\n    }\n    else if (document.getSelection) {\n        return document.getSelection();\n    }\n    else {\n        var selection = document.selection && document.selection.createRange();\n        if (selection.text) {\n            return selection.text;\n        }\n        return false;\n    }\n    return false;\n};\n\n/* http://stackoverflow.com/questions/6690752/insert-html-at-caret-in-a-contenteditable-div */\nfunction pasteHtmlAtCaret(html, selectPastedContent) {\n    var sel, range;\n    if (window.getSelection) {\n        sel = window.getSelection();\n        if (sel.getRangeAt && sel.rangeCount) {\n            range = sel.getRangeAt(0);\n            range.deleteContents();\n\n            var el = document.createElement(\"div\");\n            el.innerHTML = html;\n            var frag = document.createDocumentFragment(), node, lastNode;\n            while ( (node = el.firstChild) ) {\n                lastNode = frag.appendChild(node);\n            }\n            var firstNode = frag.firstChild;\n            range.insertNode(frag);\n\n            if (lastNode) {\n                range = range.cloneRange();\n                range.setStartAfter(lastNode);\n                if (selectPastedContent) {\n                    range.setStartBefore(firstNode);\n                } else {\n                    range.collapse(true);\n                }\n                sel.removeAllRanges();\n                sel.addRange(range);\n            }\n        }\n    } else if ( (sel = document.selection) && sel.type != \"Control\") {\n        var originalRange = sel.createRange();\n        originalRange.collapse(true);\n        sel.createRange().pasteHTML(html);\n        if (selectPastedContent) {\n            range = sel.createRange();\n            range.setEndPoint(\"StartToStart\", originalRange);\n            range.select();\n        }\n    }\n}\n\nvar $savedSel;\nvar $activeIcon;\nfunction applyIconClass(s) {\n\n    if ($activeIcon) {\n\n        var sClassSize = \"\";\n        if ($activeIcon.hasClass('size-12')) sClassSize = 'size-12';\n        if ($activeIcon.hasClass('size-14')) sClassSize = 'size-14';\n        if ($activeIcon.hasClass('size-16')) sClassSize = 'size-16';\n        if ($activeIcon.hasClass('size-18')) sClassSize = 'size-18';\n        if ($activeIcon.hasClass('size-21')) sClassSize = 'size-21';\n        if ($activeIcon.hasClass('size-24')) sClassSize = 'size-24';\n        if ($activeIcon.hasClass('size-32')) sClassSize = 'size-32';\n        if ($activeIcon.hasClass('size-48')) sClassSize = 'size-48';\n        if ($activeIcon.hasClass('size-64')) sClassSize = 'size-64';\n        if ($activeIcon.hasClass('size-80')) sClassSize = 'size-80';\n        if ($activeIcon.hasClass('size-96')) sClassSize = 'size-96';\n\n        $activeIcon.css('font-size', '');\n\n        if (s.indexOf('size-') == -1 && s != '') {\n            //Change icon\n            $activeIcon.attr('class', s);\n            if (sClassSize != '') $activeIcon.addClass(sClassSize);\n        } else {\n            //Change size\n            $activeIcon.removeClass('size-12');\n            $activeIcon.removeClass('size-14');\n            $activeIcon.removeClass('size-16');\n            $activeIcon.removeClass('size-18');\n            $activeIcon.removeClass('size-21');\n            $activeIcon.removeClass('size-24');\n            $activeIcon.removeClass('size-32');\n            $activeIcon.removeClass('size-48');\n            $activeIcon.removeClass('size-64');\n            $activeIcon.removeClass('size-80');\n            $activeIcon.removeClass('size-96');\n            $activeIcon.addClass(s);\n        }\n\n    } else {\n\n        restoreSelection(savedSelPublic);\n\n        var tmpId = makeid();\n        pasteHtmlAtCaret(' <i id=\"' + tmpId + '\" class=\"' + s + '\"></i> ',true);\n\n        $activeIcon = jQuery('#' + tmpId);\n        $activeIcon.removeAttr('id');\n\n        /*\n        var is_ie = detectIE();\n        var is_edge = detectEdge();\n        if ((is_ie && is_ie <= 11) || is_edge) {\n            //failed\n            restoreSelection($savedSel);\n\n            var oSel = document.selection.createRange();\n            if (oSel.parentElement) {\n                oSel.pasteHTML('<i class=\"' + s + '\"></i>');\n                e.cancelBubble = true;\n                e.returnValue = false;\n                oSel.select();\n                oSel.moveEnd(\"character\", 1);\n                oSel.moveStart(\"character\", 1);\n                oSel.collapse(false);\n            }\n        } else {\n            var oSel = window.getSelection();\n            var range = oSel.getRangeAt(0);\n            range.extractContents();\n            range.collapse(true);\n            var docFrag = range.createContextualFragment(' <i class=\"' + s + '\"></i> ');\n            //range.collapse(false);\n            var lastNode = docFrag.lastChild;\n            range.insertNode(docFrag);\n            range.setStartAfter(lastNode);\n            range.setEndAfter(lastNode);\n\n            var comCon = range.commonAncestorContainer;\n            if (comCon && comCon.parentNode) {\n                try { comCon.parentNode.normalize(); } catch (e) { }\n            }\n\n            oSel.removeAllRanges();\n            oSel.addRange(range);\n        }\n        */\n\n        jQuery(cb_list).each(function(){\n            jQuery(this).data('contenteditor').contentRender();\n        });\n\n    }\n}\n/*******************************************************************************************/\n\nvar $imgActive;\n\n(function (jQuery) {\n\n    var tmpCanvas;\n    var tmpCanvasNoCrop;\n    var nInitialWidth;\n    var nInitialHeight;\n\n    jQuery.imageembed = function (element, options) {\n\n        var defaults = {\n            hiquality: false,\n            imageselect: '',\n            fileselect: '',\n            imageEmbed: true,\n            linkDialog: true,\n            zoom: 0,\n            customval: 0,\n            largerImageHandler: '',\n            onChanged: function () { },\n            onImageBrowseClick: function () { },\n            onImageSettingClick: function () { },\n            onImageSelectClick: function () { },\n            onFileSelectClick: function () { }\n        };\n\n        this.settings = {};\n\n        var $element = jQuery(element),\n                    element = element;\n\n        this.init = function () {\n\n            this.settings = jQuery.extend({}, defaults, options);\n\n            /**** Localize All ****/\n            if (jQuery('#divCb').length == 0) {\n                jQuery('body').append('<div id=\"divCb\"></div>');\n            }\n\n\n            var html_photo_file = '';\n            var html_photo_file2 = '';\n            //if (this.settings.imageEmbed) {\n                if (navigator.appName.indexOf('Microsoft') != -1) {\n                    html_photo_file = '<div id=\"divToolImg\"><div class=\"fileinputs\"><input type=\"file\" name=\"fileImage\" id=\"fileImage\" class=\"my-file\" /><div class=\"fakefile\"><img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAC+klEQVRoQ+2au24aQRSGz+ySkEvPA9AQubNEhXgCSogEShmZGkSQpTS8AjUNSAjXlCRNStpQ8QK8AI6UOLazM5lZvGRvswsz43hYz0iWZe3uzPnOf25rQOVymcAzWsgAZ1xto3DGBQajsFE4Yx4wIZ0xQSM4RmGjcMY8YEI6Y4LKFy0H/9TCJ7b1VsiOo0PaAAv5Wf4ho/CBPjQhneYokRyezWZQKpW4WzuOA71eD5bLZdrx++vahnSz2YRutwu5XC4RZrPZQL1eP33g4XAI1Wo1FeRYlbVQ+FA1U+kfblitVtBut2Nvf3LgQqEAk8kE2G9VC2MM4/EYRqNRZMsnBy4WizCdTiGfz6vidffhqaw98Ha7hU6nA+v1OuCQfr8PLBV46ySB/bAeoL8qJ0GfHLA/D8P9OOmap/jJAXvq1mq12NB1lW404LL/GVqtD5QTPfwwZEJz+DtcXHwEDPf0z3+f+2mbw17oxvZjhIBgGz71LqFSqcQ6xK8wgT+AyZ0L/t+AMflNz3MiNYZXpXkKI2SDhfKw3V67xYwXAdGQJhT6lj77SqgbHP3ywMLMITeB8GIn84C9PJ3P5/s+vYPdGbxYLGAwGABv3k4aPkSIBYAZMg0tfBs4L6kP+yvy7OoKzt6dg3+UTJrQtABmpOHQThs8PGjbeuMrSuDmbdLLhTbAYZXTgJmTEMrBj+sbbs6yPb1KzMIewOJOWiLh7Nog85UH/7vxobO0bb12QYJrV4jCxZA56OuXb26Oq1pSwOGwTgtPz2gLvaRqv9gzOORXpAiyiywN3jdagXtlwaWACbnf9UWBxdRjbWmnLA1l3qK92kYs79UsOeCYaq3GrOAuokNGnC1SwLRWg4NpT37kpREwHUIwzb9HXs8LWKccZsKK/Nv24IBwYdkIGm5jB+8QuVEyh+WA2XDBqjVygfyvheJAaU9KA6cdoNt1A6ybIqrtMQqr9qhu+xmFdVNEtT1GYdUe1W0/o7Buiqi2xyis2qO67WcU1k0R1fb8BZv85KDCNGIQAAAAAElFTkSuQmCC\" /></div></div></div>';\n                    html_photo_file2 = '';\n                } else {\n                    html_photo_file = '<div style=\"display:none\"><input type=\"file\" name=\"fileImage\" id=\"fileImage\" class=\"my-file\"></div>';\n                    html_photo_file2 = '<div id=\"divToolImg\">' +\n                            '<i id=\"lnkEditImage\" class=\"cb-icon-camera\"></i>' +\n                        '</div>';\n                }\n            //}\n\n            var html_photo_tool = '<div id=\"divTempContent\" style=\"display:none\"></div>' +\n                    '<div class=\"overlay-bg\" style=\"position:fixed;top:0;left:0;width:1;height:1;z-index:10000;background:#fff;opacity:0.8\"></div>' +\n                    '<div id=\"divImageEdit\" style=\"position:absolute;display:none;z-index:10000\">' +\n                        '<div id=\"my-mask\" style=\"width:200px;height:200px;overflow:hidden;\">' +\n                            '<img id=\"my-image\" src=\"\" style=\"max-width:none\" />' +\n                        '</div>' +\n                        '<div id=\"img-control\" style=\"margin-top:1px;position:absolute;top:-31px;left:0px;width:235px;opacity:0.8\">' +\n\t\t\t\t\t        '<button id=\"btnImageCancel\" type=\"button\" value=\"Cancel\" ><i class=\"cb-icon-back\"></i></button>' +\n                            '<button id=\"btnZoomOut\" type=\"button\" value=\"-\" ><i class=\"cb-icon-minus\"></i></button>' +\n                            '<button id=\"btnZoomIn\" type=\"button\" value=\"+\" ><i class=\"cb-icon-plus\"></i></button>' +\n                            '<button id=\"btnImageMore\" type=\"button\" value=\"...\" >...</button>' +\n                            '<button id=\"btnChangeImage\" type=\"button\" value=\"Ok\" ><i class=\"cb-icon-ok\"></i> Ok</button>' +\n                        '</div>' +\n                        '<div id=\"divImageMore\" style=\"display:none\">' +\n\t\t\t\t            '<label for=\"chkImageNoCrop\"><input id=\"chkImageNoCrop\" type=\"checkbox\" />No Crop</label>' +\n                            '<br>' +\n                            (this.settings.largerImageHandler == '' ? '' : '<label for=\"chkImageClickToEnlarge\"><input id=\"chkImageClickToEnlarge\" type=\"checkbox\" />Click to enlarge</label><br>') +\n                            '<button id=\"btnImageMoreOk\" type=\"button\" value=\"Ok\" ><i class=\"cb-icon-ok\"></i> Ok</button>' +\n                        '</div>' +\n                    '</div>' +\n                    '<div style=\"display:none;\">' +\n                        '<canvas id=\"myCanvas\"></canvas>' +\n\t\t\t\t        '<canvas id=\"myTmpCanvas\"></canvas>' +\n\t\t\t\t        '<canvas id=\"myTmpCanvasNoCrop\"></canvas>' +\n                    '</div>' +\n                    '<form id=\"canvasform\" name=\"canvasform\" method=\"post\" action=\"\" target=\"canvasframe\" enctype=\"multipart/form-data\">' +\n                        html_photo_file +\n\t\t\t\t        '<input id=\"hidRefId\" name=\"hidRefId\" type=\"hidden\" value=\"' + this.settings.customval + '\" />' + /* for larger image upload */\n                    '</form>' +\n                    '<iframe id=\"canvasframe\" name=\"canvasframe\" style=\"width:1px;height:1px;border:none;visibility:hidden;position:absolute\"></iframe>';\n\n            //Custom Image Select\n            var bUseCustomImageSelect = false;\n            if(this.settings.imageselect!='') bUseCustomImageSelect=true;\n\n            var sFunc = (this.settings.onImageSelectClick+'').replace( /\\s/g, '');\n            if(sFunc != 'function(){}'){ //If custom event set, enable the button\n                bUseCustomImageSelect=true;\n            }\n\n            //Custom File Select\n            var bUseCustomFileSelect = false;\n            if(this.settings.fileselect!='') bUseCustomFileSelect=true;\n\n            var sFunc = (this.settings.onFileSelectClick+'').replace( /\\s/g, '');\n            if(sFunc != 'function(){}'){ //If custom event set, enable the button\n                bUseCustomFileSelect=true;\n            }\n\n            var imageEmbed = this.settings.imageEmbed;\n\n            var html_hover_icons = html_photo_file2 +\n                    '<div id=\"divToolImgSettings\">' +\n                        '<i id=\"lnkImageSettings\" class=\"cb-icon-link\"></i>' +\n                    '</div>' +\n                    '<div id=\"divToolImgLoader\">' +\n                        '<i id=\"lnkImageLoader\" class=\"cb-icon-spin animate-spin\"></i>' +\n                    '</div>' +\n                    '' +\n                    '<div class=\"md-modal md-draggable\" id=\"md-img\">' +\n\t\t\t            '<div class=\"md-content\">' +\n\t\t\t\t            '<div class=\"md-body\">' +\n                                '<div class=\"md-modal-handle\">' +\n                                    '<i class=\"cb-icon-dot\"></i><i class=\"cb-icon-cancel md-modal-close\"></i>' +\n                                '</div>' +\n                                '<div class=\"md-tabs\">' +\n                                    '<span id=\"tabImgLnk\" class=\"active\">IMAGE</span>' +\n                                    '<span id=\"tabImgPl\">CHANGE DIMENSION</span>' +\n                                '</div>' +\n                                '<div id=\"divImgPl\" style=\"overflow-y:auto;overflow-x:hidden;display:none;box-sizing:border-box;padding:10px 10px 10px\">';\n                                    html_hover_icons += '<div style=\"padding:12px 0 0;width:100%;text-align:center;\">';\n                                    html_hover_icons += 'DIMENSION (WxH): &nbsp; <select id=\"selImgW\">';\n                                    var valW =50;\n                                    for(var i=0;i<231;i++) {\n                                        var selected = '';\n                                        if(i==90) selected = ' selected=\"selected\"';\n                                        html_hover_icons +=  '<option value=\"' + valW + '\"' + selected + '>' + valW + 'px</option>';\n                                        valW += 5;\n                                    }\n                                    html_hover_icons += '</select> &nbsp; ';\n\n                                    html_hover_icons += '<select id=\"selImgH\">';\n                                    var valH =50;\n                                    for(var i=0;i<111;i++) {\n                                        var selected = '';\n                                        if(i==40) selected = ' selected=\"selected\"';\n                                        html_hover_icons +=  '<option value=\"' + valH + '\"' + selected + '>' + valH + 'px</option>';\n                                        valH += 5;\n                                    }\n                                    html_hover_icons += '</select> &nbsp; ';\n\n                                    html_hover_icons += '<select id=\"selImgStyle\">';\n                                    html_hover_icons +=  '<option value=\"square\">Square</option>';\n                                    html_hover_icons +=  '<option value=\"circle\">Circle</option>';\n                                    html_hover_icons += '</select><br>';\n                                    html_hover_icons += '<button id=\"btnInsertPlh\" style=\"margin-left:12px;margin-top:12px;\"> REPLACE </button><br>';\n                                    html_hover_icons += '<p>(Re-embedding/uploading image needed)</p>';\n                                    html_hover_icons += '</div>' +\n                                '</div>' +\n                                '<div id=\"divImgLnk\">' +\n                                    '<div class=\"md-label\">Source:</div>' +\n                                    (bUseCustomImageSelect ? '<input type=\"text\" id=\"txtImgUrl\" class=\"inptxt\" style=\"float:left;width:60%\"></input><i class=\"cb-icon-link md-btnbrowse\" id=\"btnImageBrowse\" style=\"width:10%;\"></i>' : '<input type=\"text\" id=\"txtImgUrl\" class=\"inptxt\" style=\"float:left;width:70%\"></input>') +\n                                    '<br style=\"clear:both\">' +\n                                    '<div class=\"md-label\">Title:</div>' +\n                                    '<input type=\"text\" id=\"txtAltText\" class=\"inptxt\" style=\"float:right;width:70%\"></input>' +\n                                    '<br style=\"clear:both\">' +\n                                    '<div class=\"md-label\">Link:</div>' +\n                                    (bUseCustomFileSelect ? '<input type=\"text\" id=\"txtLinkUrl\" class=\"inptxt\" style=\"float:left;width:60%\"></input><i class=\"cb-icon-link md-btnbrowse\" id=\"btnFileBrowse\" style=\"width:10%;\"></i>' : '<input type=\"text\" id=\"txtLinkUrl\" class=\"inptxt\" style=\"float:left;width:70%\"></input>') +\n\t\t\t\t                    '<br style=\"clear:both\">' +\n                                    '<div class=\"md-label\">Target:</div>' +\n                                    '<label style=\"float:left;\" for=\"chkNewWindow2\" class=\"inpchk\"><input type=\"checkbox\" id=\"chkNewWindow2\"></input> New Window</label>' +\n                                    '<br style=\"clear:both\">' +\n                                    '<div id=\"divEmbedOriginal\">' +\n                                        '<div class=\"md-label\">&nbsp;</div>' +\n                                        '<label style=\"float:left;\" for=\"chkCrop\" class=\"inpchk\"><input type=\"checkbox\" id=\"chkCrop\"></input> Crop</label>' +\n                                        '<br style=\"clear:both\" />' +\n                                    '</div>' +\n                                '</div>' +\n                            '</div>' +\n\t\t\t\t\t        '<div id=\"divImgLnkOk\" class=\"md-footer\">' +\n                                '<button id=\"btnImgOk\"> Ok </button>' +\n                            '</div>' +\n\t\t\t            '</div>' +\n\t\t            '</div>' +\n                    '' +\n                    '<div class=\"md-modal\" id=\"md-imageselect\">' +\n\t\t\t            '<div class=\"md-content\">' +\n\t\t\t\t            '<div class=\"md-body\">' +\n                                (bUseCustomImageSelect ? '<iframe id=\"ifrImageBrowse\" style=\"width:100%;height:400px;border: none;display: block;\" src=\"' + sScriptPath + 'blank.html\"></iframe>' : '') +\n\t\t\t\t            '</div>' +\n\t\t\t            '</div>' +\n\t\t            '</div>' +\n                    '';\n                    if (jQuery('#md-fileselect').length==0) {\n                        html_hover_icons += '<div class=\"md-modal\" id=\"md-fileselect\">' +\n\t\t\t                '<div class=\"md-content\">' +\n\t\t\t\t                '<div class=\"md-body\">' +\n                                    (bUseCustomFileSelect ? '<iframe id=\"ifrFileBrowse\" style=\"width:100%;height:400px;border: none;display: block;\" src=\"' + sScriptPath + 'blank.html\"></iframe>' : '') +\n\t\t\t\t                '</div>' +\n\t\t\t                '</div>' +\n\t\t                '</div>';\n                    }\n                    if (jQuery('#active-input').length==0) {\n                        html_hover_icons += '<input type=\"hidden\" id=\"active-input\" />';\n                    }\n\n            if (jQuery('#divToolImg').length == 0) {\n                //if (this.settings.imageEmbed) {\n                    jQuery('#divCb').append(html_photo_tool);\n                //}\n                jQuery('#divCb').append(html_hover_icons);\n            }\n\n\n            tmpCanvas = document.getElementById('myTmpCanvas');\n            tmpCanvasNoCrop = document.getElementById('myTmpCanvasNoCrop');\n\n            $element.on('mouseenter mouseleave', function(e) {\n                switch(e.type) {\n                    case 'mouseenter':\n\n                        var zoom;\n\n                        if (localStorage.getItem(\"zoom\") != null) {\n                            zoom = localStorage.zoom;\n                        } else {\n                            zoom = $element.parents('[style*=\"zoom\"]').css('zoom');\n                            if (zoom == 'normal') zoom = 1;\n                            if (zoom == undefined) zoom = 1;\n                        }\n\n                        //FF fix\n                        var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                        //if (is_firefox) zoom = '1';\n\n                        //IE fix\n                        zoom = zoom + ''; //Fix undefined\n                        if (zoom.indexOf('%') != -1) {\n                            zoom = zoom.replace('%', '') / 100;\n                        }\n                        if (zoom == 'NaN') {\n                            zoom = 1;\n                        }\n\n                        localStorage.zoom = zoom;\n\n                        zoom = zoom*1;\n\n                        if(cb_list=='') zoom = 1;//if contentbuilder not used\n\n                        /*var adjy = $element.data('imageembed').settings.adjy*1;\n                        var adjy_val = (-adjy/0.2)*zoom + (adjy/0.2);\n                        var adjH = -30;\n                        var adjW = -30;\n                        var p = jQuery(this).getPos();\n\n                        jQuery(\"#divToolImg\").css(\"top\", ((p.top + parseInt(jQuery(this).css('height')) / 2) + adjH) * zoom + adjy_val + \"px\");\n                        jQuery(\"#divToolImg\").css(\"left\", ((p.left + parseInt(jQuery(this).css('width')) / 2) + adjW) * zoom + \"px\");\n                        jQuery(\"#divToolImg\").stop(true, true).css({ display: 'none' }).fadeIn(20);\n\n                        jQuery(\"#divToolImgSettings\").css(\"top\", (((p.top + parseInt(jQuery(this).css('height')) / 2) + adjH) * zoom) + _top_adj + adjy_val + \"px\");\n                        jQuery(\"#divToolImgSettings\").css(\"left\", (((p.left + parseInt(jQuery(this).css('width')) / 2) + adjW) * zoom) + \"px\");\n                        jQuery(\"#divToolImgSettings\").stop(true, true).css({ display: 'none' }).fadeIn(20);*/\n\n                        if($element.data(\"imageembed\").settings.zoom==1){\n                            zoom = 1;\n                        }\n\n                        /* Get position for image controls */\n                        var _top; var _top2; var _left;\n                        var scrolltop = jQuery(window).scrollTop();\n                        var offsettop = jQuery(this).offset().top;\n                        var offsetleft = jQuery(this).offset().left;\n                        var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                        var is_ie = detectIE();\n                        var is_edge = detectEdge();\n                        var browserok = true;\n                        if (is_firefox||is_ie||is_edge) browserok = false;\n\n                        var _top_adj = !jQuery(this).data(\"imageembed\").settings.imageEmbed ? 9 : -35;\n\n                        if(browserok){\n                            //Chrome 37, Opera 24\n                            _top = ((offsettop + parseInt(jQuery(this).css('height')) / 2) - 15) * zoom  + (scrolltop - scrolltop * zoom) ;\n                            _left = ((offsetleft + parseInt(jQuery(this).css('width')) / 2) - 15) * zoom;\n                            _top2 = _top + _top_adj;\n                        } else {\n                            if(is_edge){\n                                //\n                            }\n                            if(is_ie){\n                                //IE 11 (Adjustment required)\n\n                                //Custom formula for adjustment in IE11\n                                var space = 0; var space2 = 0;\n                                $element.parents().each(function () {\n                                    if (jQuery(this).data('contentbuilder')) {\n                                        space = jQuery(this).getPos().top;\n                                        space2 = jQuery(this).getPos().left;\n                                    }\n                                });\n                                var adjy_val = -space*zoom + space;\n                                var adjx_val = -space2*zoom + space2;\n\n                                var p = jQuery(this).getPos();\n                                _top = ((p.top - 15 + parseInt(jQuery(this).css('height')) / 2)) * zoom + adjy_val;\n                                _left = ((p.left - 15 + parseInt(jQuery(this).css('width')) / 2)) * zoom + adjx_val;\n                                _top2 = _top + _top_adj;\n\n                            }\n                            if(is_firefox) {\n                                //Firefox (No Adjustment required)\n                                var imgwidth = parseInt(jQuery(this).css('width'));\n                                var imgheight = parseInt(jQuery(this).css('height'));\n\n                                _top = offsettop - 15 + imgheight*zoom/2;\n                                _left = offsetleft - 15 + imgwidth*zoom/2;\n                                _top2 = _top + _top_adj;\n                            }\n                        }\n\n                        /* <img data-fixed=\"1\" src=\"..\" /> (image must be fixed, cannot be replaced) */\n                        var fixedimage = false;\n                        $imgActive = jQuery(this);\n\n                        if($imgActive.attr('data-fixed')==1) {\n                            fixedimage = true;\n                        }\n\n                        /* Show Image Controls */\n                        if(cb_edit && !fixedimage){\n                            jQuery(\"#divToolImg\").css(\"top\", _top + \"px\");\n                            jQuery(\"#divToolImg\").css(\"left\", _left + \"px\");\n                            if (jQuery(this).data(\"imageembed\").settings.imageEmbed) {\n                                jQuery(\"#divToolImg\").stop(true, true).css({ display: 'none' }).fadeIn(20);\n                            }\n\n                            if( jQuery(this).data(\"imageembed\").settings.linkDialog ) {\n                                jQuery(\"#divToolImgSettings\").css(\"top\", _top2 + \"px\");\n                                jQuery(\"#divToolImgSettings\").css(\"left\", _left + \"px\");\n                                jQuery(\"#divToolImgSettings\").stop(true, true).css({ display: 'none' }).fadeIn(20);\n                            } else {\n                                jQuery(\"#divToolImgSettings\").css(\"top\", \"-10000px\"); //hide it\n                            }\n                        }\n\n                        /* Fix the need to tap twice */\n                        if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) {\n                            /* File Input programmatically click failed in iOS9\n                            jQuery(\"#divToolImg\").on('touchstart mouseenter focus', function(e) {\n                                if(e.type == 'touchstart') {\n                                    e.stopImmediatePropagation();\n                                    e.preventDefault();\n                                }\n\n                                jQuery(\"#divToolImg\").click();\n\n                                e.preventDefault();\n                                e.stopImmediatePropagation();\n                            });\n                            */\n                            jQuery(\"#lnkImageSettings\").on('touchstart mouseenter focus', function(e) {\n                                if(e.type == 'touchstart') {\n                                    e.stopImmediatePropagation();\n                                    e.preventDefault();\n                                }\n\n                                jQuery(\"#lnkImageSettings\").click();\n\n                                e.preventDefault();\n                                e.stopImmediatePropagation();\n                            });\n                        }\n\n                        /* Browse local Image */\n                        jQuery(\"#divToolImg\").off('click');\n                        jQuery(\"#divToolImg\").on('click', function (e) {\n\n                            jQuery(\"#divToolImg\").data('image', $imgActive); //img1: Simpan wkt click browse, krn @imgActive berubah2 tergantung hover\n\n                            var sFunc = ($element.data('imageembed').settings.onImageBrowseClick+'').replace( /\\s/g, '');\n                            if(sFunc != 'function(){}'){\n\n                                $element.data('imageembed').settings.onImageBrowseClick();\n\n                            } else {\n\n                                jQuery('input.my-file[type=file]').click();\n\n                            }\n\n                            e.preventDefault();\n                            e.stopImmediatePropagation();\n                        });\n\n                        jQuery(\"#divToolImg\").off('mouseenter mouseleave');\n                        jQuery(\"#divToolImg\").on('mouseenter mouseleave', function(e) {\n                            switch(e.type) {\n                                case 'mouseenter':\n                                    if (imageEmbed) { // $element.data('imageembed').settings.imageEmbed\n                                        jQuery(\"#divToolImg\").stop(true, true).css(\"display\", \"block\"); // Spy tdk flickr\n                                    }\n                                    jQuery(\"#divToolImgSettings\").stop(true, true).css(\"display\", \"block\"); // Spy tdk flickr\n                                    break;\n                                case 'mouseleave':\n                                    jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                                    jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                                    break;\n                            }\n                        });\n                        $element.off('mouseenter mouseleave', 'figcaption');\n                        $element.on('mouseenter mouseleave', 'figcaption', function(e) {\n                            switch(e.type) {\n                                case 'mouseenter':\n                                    if (imageEmbed) {\n                                        jQuery(\"#divToolImg\").stop(true, true).css(\"display\", \"block\");\n                                    }\n                                    jQuery(\"#divToolImgSettings\").stop(true, true).css(\"display\", \"block\");\n                                    break;\n                                case 'mouseleave':\n                                    jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                                    jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                                    break;\n                            }\n                        });\n                        jQuery(\"#divToolImgSettings\").off('mouseenter mouseleave');\n                        jQuery(\"#divToolImgSettings\").on('mouseenter mouseleave', function(e) {\n                            switch(e.type) {\n                                case 'mouseenter':\n                                    if (imageEmbed) {\n                                        jQuery(\"#divToolImg\").stop(true, true).css(\"display\", \"block\");\n                                    }\n                                    jQuery(\"#divToolImgSettings\").stop(true, true).css(\"display\", \"block\");\n                                    break;\n                                case 'mouseleave':\n                                    jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                                    jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                                    break;\n                            }\n                        });\n\n                        /* Open Image Settings Dialog */\n                        jQuery(\"#lnkImageSettings\").off('click');\n                        jQuery(\"#lnkImageSettings\").on('click', function (e) {\n\n                            jQuery(\"#divToolImg\").data('image', $imgActive); //img1: Simpan wkt click browse, krn @imgActive berubah2 tergantung hover\n\n                            //Clear Controls\n                            jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n\n                            var sFunc = ($element.data('imageembed').settings.onImageSettingClick+'').replace( /\\s/g, '');\n                            if(sFunc != 'function(){}'){\n\n                                $element.data('imageembed').settings.onImageSettingClick();\n\n                                return;\n\n                            }\n\n                            /**** Custom Modal ****/\n                            jQuery('#md-img').css('max-width', '550px');\n                            jQuery('#md-img').simplemodal({noOverlay:true});\n                            jQuery('#md-img').data('simplemodal').show();\n\n                            //Get ContentEditor plugin. Close all pops\n                            var editor;\n                            $element.parents().each(function () {\n                                if (jQuery(this).data('contenteditor')) {\n                                    editor = jQuery(this).data('contenteditor');\n                                    editor.closePop();\n                                }\n                            });\n\n\n                            //Check if hovered element is <img> or <figure>\n                            var $img = $element;\n                            if ($element.prop(\"tagName\").toLowerCase() == 'figure') {\n                                $img = $element.find('img:first');\n                            }\n\n                            //Get image properties (src, alt & link)\n                            if($img.attr('src').indexOf('base64') == -1) {\n                                jQuery('#txtImgUrl').val($img.attr('src'));\n                            } else {\n                                jQuery('#txtImgUrl').val('[Image Data]');\n                            }\n                            jQuery('#txtAltText').val($img.attr('alt'));\n                            jQuery('#txtLinkUrl').val('');\n                            jQuery('#chkNewWindow2').prop('checked', false);\n\n                            if ($img.parents('a:first') != undefined) {\n                                jQuery('#txtLinkUrl').val($img.parents('a:first').attr('href'));\n\n                                if($img.parents('a:first').attr('target')=='_blank'){\n                                    jQuery('#chkNewWindow2').prop('checked', true);\n                                } else {\n                                    jQuery('#chkNewWindow2').prop('checked', false);\n                                }\n                            }\n\n                            if (!$element.data('imageembed').settings.imageEmbed) {\n\n                                jQuery('#divEmbedOriginal').css(\"display\",\"none\");\n\n                            } else {\n\n                                jQuery('#divEmbedOriginal').css(\"display\",\"none\");\n\n                                jQuery('#btnImgOk').off('keyup');\n                                jQuery('#txtImgUrl').on('keyup', function() {\n\n                                    //If image url is changed, display \"Crop\" option. If not, hide the \"Crop\" option.\n                                    if( $img.attr('src') == jQuery('#txtImgUrl').val() ) {\n                                        jQuery('#divEmbedOriginal').css(\"display\",\"none\");\n                                    } else {\n                                        jQuery('#divEmbedOriginal').css(\"display\",\"block\");\n                                    }\n\n                                });\n\n                            }\n\n                            jQuery('#chkCrop').removeAttr('checked');\n\n                            /*\n                            jQuery('#tabImgLnk').css({'text-decoration':'','cursor':'','background':'#515151','color':'#fff'});\n                            jQuery('#tabImgPl').css({'text-decoration':'underline','cursor':'pointer','background':'#fafafa','color':'#333'});\n                            jQuery('#divImgPl').css('display', 'none');\n                            jQuery('#divImgLnk').css('display', 'block');\n                            jQuery('#divImgLnkOk').css('display', 'block');\n                            */\n\n                            jQuery('#btnImgOk').off('click');\n                            jQuery('#btnImgOk').on('click', function (e) {\n\n                                //Get Content Builder plugin\n                                var builder;\n                                $element.parents().each(function () {\n                                    if (jQuery(this).data('contentbuilder')) {\n                                        builder = jQuery(this).data('contentbuilder');\n                                    }\n                                });\n\n                                //Replace image\n                                var insertOri=false;\n                                if(jQuery('#chkCrop').is(\":checked\")){\n\n                                } else {\n                                    insertOri=true;\n                                }\n\n                                if(insertOri==false){\n                                    if(jQuery('#txtImgUrl').val().indexOf(\"http\")!=-1) {\n                                        //alert(\"External image will be embedded as is\");\n                                        insertOri = true;\n                                    }\n                                }\n\n                                if($img.attr('src')!=jQuery('#txtImgUrl').val()) {\n                                    if(insertOri) {\n                                        //Remove wxh from blank placeholder if replaced with other image\n                                        if( $img.attr('src').indexOf(sScriptPath + 'image.png') != -1 && jQuery('#txtImgUrl').val().indexOf(sScriptPath + 'image.png') == -1 ){ //if( $img.attr('src').indexOf('scripts/image.png') != -1 && jQuery('#txtImgUrl').val().indexOf('scripts/image.png') == -1 ){\n                                            $img.css('width', '');\n                                            $img.css('height', '');\n                                        }\n\n                                        if(jQuery('#txtImgUrl').val().indexOf('[Image Data]') == -1){\n                                            $img.attr('src', jQuery('#txtImgUrl').val()); //replaced with processImage() above\n                                        } else {\n                                            //No Change\n                                        }\n                                    } else {\n\n                                        processImage( jQuery('#txtImgUrl').val() );\n\n                                    }\n                                }\n\n                                //Set image properties\n                                $img.attr('alt', jQuery('#txtAltText').val());\n\n                                if (jQuery('#txtLinkUrl').val() == 'http://' || jQuery('#txtLinkUrl').val() == '') {\n                                    //remove link\n                                    $img.parents('a:first').replaceWith($img.parents('a:first').html());\n                                } else {\n                                    var imagelink = jQuery('#txtLinkUrl').val();\n\n                                    if ($img.parents('a:first').length == 0) {\n                                        //create link\n                                        $img.wrap('<a href=\"' + imagelink + '\"></a>');\n                                    } else {\n                                        //apply link\n                                        $img.parents('a:first').attr('href', imagelink);\n                                    }\n\n                                    $img.parents('a:first').attr('title', jQuery('#txtAltText').val());\n\n                                    if(jQuery('#chkNewWindow2').is(\":checked\")){\n                                        $img.parents('a:first').attr('target','_blank');\n                                    } else {\n                                        $img.parents('a:first').removeAttr('target');\n                                    }\n\n                                    if(imagelink.toLowerCase().indexOf('.jpg')!=-1 || imagelink.toLowerCase().indexOf('.jpeg')!=-1 || imagelink.toLowerCase().indexOf('.png')!=-1 || imagelink.toLowerCase().indexOf('.gif')!=-1) {\n                                        $img.parents('a:first').addClass('is-lightbox');\n                                        //$img.parents('a:first').attr('target', '_blank');\n                                    } else {\n                                        $img.parents('a:first').removeClass('is-lightbox');\n                                        //$img.parents('a:first').removeAttr('target');\n                                    }\n\n                                }\n\n                                //Apply Content Builder Behavior\n                                if (builder) builder.applyBehavior();\n\n                                jQuery('#md-img').data('simplemodal').hide();\n\n                            });\n\n\n                            var actualW = $img[0].naturalWidth; //parseInt($img.css('width'));\n                            var actualH = $img[0].naturalHeight; //parseInt($img.css('height'));\n\n                            //If it is image placeholder with specified css width/height\n                            if( $img.attr('src').indexOf(sScriptPath + 'image.png') != -1 ){ //if( $img.attr('src').indexOf('scripts/image.png') != -1 ){\n                                for(var i=0;i<$img.attr(\"style\").split(\";\").length;i++) {\n                                    var cssval = $img.attr(\"style\").split(\";\")[i];\n                                    if(jQuery.trim(cssval.split(\":\")[0]) == \"width\") {\n                                        actualW = parseInt(jQuery.trim(cssval.split(\":\")[1]));\n                                    }\n                                    if(jQuery.trim(cssval.split(\":\")[0]) == \"height\") {\n                                        actualH = parseInt(jQuery.trim(cssval.split(\":\")[1]));\n                                    }\n                                }\n                            }\n\n                            var valW =50;\n                            for(var i=0;i<231;i++) {\n                                if(valW>=actualW) {\n                                    i = 231; //stop\n                                    jQuery('#selImgW').val(valW);\n                                    }\n                                valW += 5;\n                            }\n                            var valH =50;\n                            for(var i=0;i<111;i++) {\n                                if(valH>=actualH) {\n                                    i = 111; //stop\n                                    jQuery('#selImgH').val(valH);\n                                }\n                                valH += 5;\n                            }\n                            if(parseInt($img.css('border-radius'))==500) {\n                                jQuery('#selImgStyle').val('circle');\n                                jQuery('#selImgH').css('display','none');\n                            } else {\n                                jQuery('#selImgStyle').val('square');\n                                jQuery('#selImgH').css('display','inline');\n                            }\n\n\n                            jQuery('#selImgStyle').off('change');\n                            jQuery('#selImgStyle').on('change', function (e) {\n                                if(jQuery('#selImgStyle').val()=='circle'){\n                                    jQuery('#selImgH').css('display','none');\n                                    jQuery('#selImgH').val(jQuery('#selImgW').val());\n                                } else {\n                                    jQuery('#selImgH').css('display','inline');\n                                    jQuery('#selImgH').val(jQuery('#selImgW').val());\n                                }\n                            });\n                            jQuery('#selImgW').off('change');\n                            jQuery('#selImgW').on('change', function (e) {\n                                if(jQuery('#selImgStyle').val()=='circle'){\n                                    jQuery('#selImgH').val(jQuery('#selImgW').val());\n                                }\n                            });\n                            jQuery('#btnInsertPlh').off('click');\n                            jQuery('#btnInsertPlh').on('click', function (e) {\n                                //Get Content Builder plugin\n                                var builder;\n                                $element.parents().each(function () {\n                                    if (jQuery(this).data('contentbuilder')) {\n                                        builder = jQuery(this).data('contentbuilder');\n                                    }\n                                });\n\n                                //Set image properties\n                                $img.attr('src', sScriptPath + 'image.png');\n                                $img.attr('alt', jQuery('#txtAltText').val());\n\n                                if(jQuery('#selImgStyle').val()=='circle'){\n                                    $img.css('border-radius','500px');\n                                    jQuery('#selImgH').val(jQuery('#selImgW').val());\n                                } else {\n                                    $img.css('border-radius','');\n                                    $img.removeClass('circle');\n                                }\n\n                                //Set image properties\n                                $img.css('width', jQuery('#selImgW').val() + 'px');\n                                $img.css('height', jQuery('#selImgH').val() + 'px');\n\n                                //Apply Content Builder Behavior\n                                if (builder) builder.applyBehavior();\n\n                                jQuery('#md-img').data('simplemodal').hide();\n                            });\n                            /**** /Custom Modal ****/\n\n                            e.preventDefault();\n                            e.stopImmediatePropagation();\n                        });\n\n                        //Open Custom Image Select\n                        jQuery(\"#btnImageBrowse\").off('click');\n                        jQuery(\"#btnImageBrowse\").on('click', function (e) {\n\n                            //Clear Controls\n                            jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divRteLink\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divFrameLink\").stop(true, true).fadeOut(0);\n\n                            var sFunc = ($element.data('imageembed').settings.onImageSelectClick+'').replace( /\\s/g, '');\n                            if(sFunc != 'function(){}'){\n\n                                //$element.data('imageembed').settings.onImageSelectClick();\n                                $element.data('imageembed').settings.onImageSelectClick({targetInput: jQuery(\"#txtImgUrl\").get(0), theTrigger: jQuery(\"#btnImageBrowse\").get(0)});\n\n                            } else {\n\n                                jQuery('#ifrImageBrowse').attr('src',$element.data('imageembed').settings.imageselect);\n                                jQuery('#active-input').val('txtImgUrl');\n\n                                /**** Custom Modal ****/\n                                jQuery('#md-imageselect').css('width', '65%');\n                                jQuery('#md-imageselect').simplemodal();\n                                jQuery('#md-imageselect').data('simplemodal').show();\n                                /**** /Custom Modal ****/\n                            }\n\n                        });\n\n                        //Open Custom File Select\n                        jQuery(\"#btnFileBrowse\").off('click');\n                        jQuery(\"#btnFileBrowse\").on('click', function (e) {\n\n                            //Clear Controls\n                            jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divRteLink\").stop(true, true).fadeOut(0);\n                            jQuery(\"#divFrameLink\").stop(true, true).fadeOut(0);\n\n                            var sFunc = ($element.data('imageembed').settings.onFileSelectClick+'').replace( /\\s/g, '');\n                            if(sFunc != 'function(){}'){\n\n                                //$element.data('imageembed').settings.onFileSelectClick();\n                                $element.data('imageembed').settings.onFileSelectClick({targetInput: jQuery(\"#txtLinkUrl\").get(0), theTrigger: jQuery(\"#btnFileBrowse\").get(0)});\n\n                            } else {\n\n                                jQuery('#ifrFileBrowse').attr('src',$element.data('imageembed').settings.fileselect);\n                                jQuery('#active-input').val('txtLinkUrl');\n\n                                /**** Custom Modal ****/\n                                jQuery('#md-fileselect').css('width', '65%');\n                                jQuery('#md-fileselect').simplemodal();\n                                jQuery('#md-fileselect').data('simplemodal').show();\n                                /**** /Custom Modal ****/\n\n                            }\n\n                        });\n\n                        /* On Change, call the IMAGE EMBEDDING PROCESS */\n                        jQuery('.my-file[type=file]').off('change');\n                        jQuery('.my-file[type=file]').on('change', function (e) {\n\n                            changeImage(e);\n\n                            jQuery('#my-image').attr('src', ''); //reset\n\n                            /*\n                            if($imgActive.parent().hasClass(\"is-lightbox\")){\n\n                            } else {\n                                //alert('normal')\n                                jQuery(this).clearInputs(); //=> won't upload the large file (by clearing file input.my-file)\n                            }\n                            */\n\n                        });\n\n                        /* Image Settings Dialog Tabs */\n                        jQuery('#tabImgLnk').off('click');\n                        jQuery('#tabImgLnk').on('click', function (e) {\n                            jQuery('#tabImgLnk').addClass('active'); //.css({'text-decoration':'','cursor':'','background':'rgba(0, 0, 0, 0.88)','color':'rgba(255, 255, 255, 0.86)'});\n                            jQuery('#tabImgPl').removeClass('active'); //.css({'text-decoration':'underline','cursor':'pointer','background':'rgba(255, 255, 255, 0.72)','color':'rgba(0, 0, 0, 1)'});\n                            jQuery('#divImgPl').fadeOut(300, function(){\n                                jQuery('#divImgLnk').fadeIn(0);\n                                jQuery('#divImgLnkOk').fadeIn(0);\n                            });\n                        });\n                        jQuery('#tabImgPl').off('click');\n                        jQuery('#tabImgPl').on('click', function (e) {\n                            jQuery('#tabImgLnk').removeClass('active'); //.css({'text-decoration':'underline','cursor':'pointer','background':'rgba(255, 255, 255, 0.72)','color':'rgba(0, 0, 0, 1)'});\n                            jQuery('#tabImgPl').addClass('active'); //.css({'text-decoration':'','cursor':'','background':'rgba(0, 0, 0, 0.88)','color':'rgba(255, 255, 255, 0.86)'});\n                            jQuery('#divImgLnk').fadeOut(0);\n                            jQuery('#divImgLnkOk').fadeOut(0, function(){\n                                jQuery('#divImgPl').fadeIn(300);\n                            });\n                        });\n\n                        break;\n\n                    case 'mouseleave':\n\n                        jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n                        jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n\n                        break;\n                }\n            });\n\n        };\n\n\n        /* IMAGE EMBEDDING PROCESS */\n        var changeImage = function (e) {\n\n            if (typeof FileReader == \"undefined\") return true;\n\n            var file = e.target.files[0];\n\n            if ( !file ) return;\n\n            var extension = file.name.substr((file.name.lastIndexOf('.') + 1)).toLowerCase();\n            if (extension != 'jpg' && extension != 'jpeg' && extension != 'png' && extension != 'gif' && extension != 'bmp') {\n                alert('Please select an image');\n                return;\n            }\n\n            //Start Loading Image\n            jQuery(\"#divToolImg\").stop(true, true).fadeOut(0);\n            jQuery(\"#divToolImgSettings\").stop(true, true).fadeOut(0);\n\n            jQuery(\"#divToolImgLoader\").css('top', jQuery('#divToolImg').css('top'));\n            jQuery(\"#divToolImgLoader\").css('left', jQuery('#divToolImg').css('left'));\n            jQuery(\"#divToolImgLoader\").css('display', 'block');\n\n            jQuery('.overlay-bg').css('background', 'none'); //prevent problem processing img\n            jQuery('.overlay-bg').css('width', '100%');\n            jQuery('.overlay-bg').css('height', '100%');\n            //jQuery('body').css('overflow', 'hidden'); // This makes unwanted zoom-in in iOS Safari\n\n            processImage(file);\n        };\n\n\n        var processImage = function (file) { //file can also be an URL (from the same host), ex. file = \"/ContentBuilder/assets/minimalist/a05-2.jpg\";\n\n            var imgname, extension;\n            if(!file.name){\n                //file is an URL\n                imgname = file.substr((file.lastIndexOf('/') + 1));\n                extension = file.substr((file.lastIndexOf('.') + 1)).toLowerCase();\n            } else {\n                //file is an image file\n                imgname = file.name;\n                extension = file.name.substr((file.name.lastIndexOf('.') + 1)).toLowerCase();\n            }\n\n            var hiquality = false;\n            try {\n                hiquality = $element.data('imageembed').settings.hiquality;\n            } catch (e) { };\n            var type, quality;\n            if (hiquality == false) {\n                if (extension == 'jpg' || extension == 'jpeg') {\n                    type = 'image/jpeg';\n                    quality = 0.92;\n                } else {\n                    type = 'image/png';\n                    quality = 1;\n                }\n            } else {\n                type = 'image/png';\n                quality = 1;\n            }\n\n            loadImage.parseMetaData(file, function (data) {\n\n                var orientation_num;\n                if (data.exif) {\n                    orientation_num = data.exif.get('Orientation');\n                }\n\n                loadImage(\n                    file,\n                    function (img) {\n\n\n                        //Prepare things\n                        jQuery('.overlay-bg').css('background', 'none'); //prevent problem processing img\n                        jQuery('.overlay-bg').css('width', '100%');\n                        jQuery('.overlay-bg').css('height', '100%');\n                        //jQuery('body').css('overflow', 'hidden');  // This makes unwanted zoom-in in iOS Safari\n\n\n                        //Embedding Image Step 1: Read the image (base64 string)\n                        //Load into tmpCanvas first, then read using tmpCanvas.toDataURL. Output to \"image\" variable.\n                        //Limit dimension to save resource (reduce dimension if larger than 2500px):\n                        var cW, cH;\n                        if(img.width > 3200 || img.height > 3200){\n                            cW = img.width/2;\n                            cH = img.height/2;\n                        }\n                        else if(img.width > 2500 || img.height > 2500){\n                            cW = img.width/1.25;\n                            cH = img.height/1.25;\n                        } else {\n                            cW = img.width;\n                            cH = img.height;\n                        }\n\n                        /*\n                        Check orientation\n                        http://stackoverflow.com/questions/20600800/js-client-side-exif-orientation-rotate-and-mirror-jpeg-images\n                        */\n                        if (4 < orientation_num && orientation_num < 9) {\n                            //potrait\n                            nInitialWidth = cH;\n                            nInitialHeight = cW;\n                        } else {\n                            //landscape\n                            nInitialWidth = cW;\n                            nInitialHeight = cH;\n                        }\n\n\n                        /***** Draw NoCropped Image on myTmpCanvasNoCrop *****/\n\n                        //Specify resize size\n                        var bResize = false;\n                        var oW; var oH;\n                        if( nInitialHeight <= $imgActive.height() && nInitialWidth > $imgActive.width() ) {\n                            //Original height is smaller than placeholder height. Original width is bigger than placeholder width.\n                            oW = $imgActive.width();\n                            oH = (nInitialHeight * $imgActive.width())/nInitialWidth;\n                            bResize = true;\n                        } else if ( nInitialWidth <= $imgActive.width() && nInitialHeight > $imgActive.height() ) {\n                            //Original width is smaller than placeholder width. Original height is bigger than placeholder height.\n                            oH = $imgActive.height();\n                            oW = (nInitialWidth * $imgActive.height())/ nInitialHeight;\n                            bResize = true;\n                        } else if  ( nInitialWidth <= $imgActive.width() && nInitialHeight <= $imgActive.height() ) {\n                            //no resize (original image is smaller than placeholder)\n                            oW = nInitialWidth;\n                            oH = nInitialHeight;\n                        } else {\n                            oW = $imgActive.width();\n                            oH = (nInitialHeight * $imgActive.width())/nInitialWidth;\n                            bResize = true;\n                        }\n\n                        var isSafari =  /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n                        var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n                        if (isSafari || iOS) {\n\n                            //FIRST RENDER (tmpCanvasNoCrop)\n                            var mpImg = new MegaPixImage(img);\n                            mpImg.render(tmpCanvasNoCrop, { width: cW, height: cH, orientation: orientation_num }, function(){\n\n                                //RESIZE (tmpCanvasNoCrop) with good quality.\n                                if(bResize){\n                                    var tmpImg = new Image();\n                                    var nW = nInitialWidth;\n                                    var nH = nInitialHeight;\n                                    tmpImg.onload = function() {\n                                        nW /= 2;\n                                        nH /= 2;\n                                        if ( nW < oW || nH < oH ) { nW = oW; nH = oH; }\n\n                                        var mpImg = new MegaPixImage(tmpImg);\n                                        mpImg.render(tmpCanvasNoCrop, { width: nW, height: nH }, function(){ /* must specify both width & height correctly (proportionally) */\n\n                                            if ( nW <= oW || nH <= oH ) {\n\n                                                return;\n\n                                            }\n                                            tmpImg.src = tmpCanvasNoCrop.toDataURL(type, quality);\n\n                                        });\n                                    };\n                                    tmpImg.src = tmpCanvasNoCrop.toDataURL( type, quality );\n                                }\n\n                            });\n\n                        } else {\n\n                            //FIRST RENDER (tmpCanvasNoCrop)\n                            var contextNoCrop = tmpCanvasNoCrop.getContext(\"2d\");\n                            //Set proper canvas dimension\n                            if (4 < orientation_num && orientation_num < 9) {\n                                tmpCanvasNoCrop.width = cH;\n                                tmpCanvasNoCrop.height = cW;\n                            } else {\n                                tmpCanvasNoCrop.width = cW;\n                                tmpCanvasNoCrop.height = cH;\n                            }\n                            //Fix orientation before drawing image\n                            switch (orientation_num) {\n                                case 2: contextNoCrop.transform(-1, 0, 0, 1, cW, 0); break;\n                                case 3: contextNoCrop.transform(-1, 0, 0, -1, cW, cH ); break;\n                                case 4: contextNoCrop.transform(1, 0, 0, -1, 0, cH ); break;\n                                case 5: contextNoCrop.transform(0, 1, 1, 0, 0, 0); break;\n                                case 6: contextNoCrop.transform(0, 1, -1, 0, cH , 0); break;\n                                case 7: contextNoCrop.transform(0, -1, -1, 0, cH , cW); break;\n                                case 8: contextNoCrop.transform(0, -1, 1, 0, 0, cW); break;\n                                default: break;\n                            }\n                            contextNoCrop.drawImage( img, 0, 0, cW, cH );\n\n                            //RESIZE (tmpCanvasNoCrop) with good quality.\n                            if(bResize){\n                                var tmpImg = new Image();\n                                var nW = nInitialWidth;\n                                var nH = nInitialHeight;\n                                tmpImg.onload = function() {\n                                    nW /= 2;\n                                    nH /= 2;\n                                    if ( nW < oW || nH < oH ) { nW = oW; nH = oH; }\n\n                                    tmpCanvasNoCrop.width = nW;\n                                    tmpCanvasNoCrop.height = nH;\n                                    contextNoCrop = tmpCanvasNoCrop.getContext( '2d' );\n                                    contextNoCrop.drawImage( tmpImg, 0, 0, nW, nH );\n\n                                    if ( nW <= oW || nH <= oH ) {\n                                        //panSetup();crop(); //just to refresh. If not, myTmpCanvas (resized) won't be copied to myCanvas (cropped).\n                                        return;\n                                        }\n                                    tmpImg.src = tmpCanvasNoCrop.toDataURL( type, quality );\n\n                                };\n                                tmpImg.src = tmpCanvasNoCrop.toDataURL( type, quality );\n                            }\n                        }\n                        /***** /Draw NoCropped Image on myTmpCanvasNoCrop *****/\n\n\n\n                        //Embedding Image Step 2: Resize the div image mask according to image placeholder dimension (proportion)\n                        //and enlarge it to the actual image placeholder (in case the image placeholder get smaller in mobile screen)\n                        //so that embedding image from mobile will still embed actual (larger) dimension to be seen on desktop\n\n                        $imgActive = jQuery(\"#divToolImg\").data('image'); //img2: Selang antara klik browse & select image, hover diabaikan. $imgActive di-set dgn image yg active wkt klik browse.\n\n                        var zoom = localStorage.zoom;\n                        if($element.data('imageembed').settings.zoom==1){\n                            zoom = 1;\n                        }\n\n                        var enlarge;\n                        if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                            enlarge = $imgActive[0].naturalWidth / $imgActive.width(); //2\n                        } else if ($imgActive.prop(\"tagName\").toLowerCase() == 'figure') { //new fix\n                            enlarge = $imgActive.find('img')[0].naturalWidth / $imgActive.find('img').width();\n                        }\n\n                        //If it is image placeholder with specified css width/height\n                        var specifiedCssWidth=0;\n                        var specifiedCssHeight=0;\n                        if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                            if($imgActive.attr(\"src\").indexOf(sScriptPath + \"image.png\")!=-1){ //if($imgActive.attr(\"src\").indexOf(\"scripts/image.png\")!=-1){\n                                for(var i=0;i<$imgActive.attr(\"style\").split(\";\").length;i++) {\n                                    var cssval = $imgActive.attr(\"style\").split(\";\")[i];\n                                    if(jQuery.trim(cssval.split(\":\")[0]) == \"width\") {\n                                        specifiedCssWidth = parseInt(jQuery.trim(cssval.split(\":\")[1]));\n\n                                        enlarge = specifiedCssWidth / $imgActive.width();\n                                    }\n                                    if(jQuery.trim(cssval.split(\":\")[0]) == \"height\") {\n                                        specifiedCssHeight = parseInt(jQuery.trim(cssval.split(\":\")[1]));\n                                    }\n                                }\n                            }\n\n                            //todo: in iOS sometimes get blank when dragging (if a blank spot seen within area when dragging)\n\n                        } else if ($imgActive.prop(\"tagName\").toLowerCase() == 'figure') { //new fix\n\n                            if($imgActive.find('img').attr(\"src\").indexOf(sScriptPath + \"image.png\")!=-1){ //if($imgActive.find('img').attr(\"src\").indexOf(\"scripts/image.png\")!=-1){\n                                for(var i=0;i<$imgActive.find('img').attr(\"style\").split(\";\").length;i++) {\n                                    var cssval = $imgActive.find('img').attr(\"style\").split(\";\")[i];\n                                    if(jQuery.trim(cssval.split(\":\")[0]) == \"width\") {\n                                        specifiedCssWidth = parseInt(jQuery.trim(cssval.split(\":\")[1]));\n                                        enlarge = specifiedCssWidth / $imgActive.find('img').width();\n                                    }\n                                    if(jQuery.trim(cssval.split(\":\")[0]) == \"height\") {\n                                        specifiedCssHeight = parseInt(jQuery.trim(cssval.split(\":\")[1]));\n                                    }\n                                }\n                            }\n\n                        }\n\n                        var maskAdj = 0; // 1.1; //Adjustment to reduce the mask dimension. This is for fixing bug of unwanted black line added in the image edge as a result of\n                                            //reading canvas image using canvas.toDataURL(\"image/jpeg\", 0.92). No problem if using \"image/png\".\n                                            //Usage: jQuery(\"#my-mask\").css('width', ($imgActive.width() * enlarge) - maskAdj + 'px');\n                        if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                            jQuery(\"#my-mask\").css('width', ($imgActive.width() * enlarge) - maskAdj + 'px'); //multiply width & height with enlarge value\n                            jQuery(\"#my-mask\").css('height', ($imgActive.height() * enlarge) - maskAdj + 'px');\n                        } else {\n                            jQuery(\"#my-mask\").css('width', ($imgActive.innerWidth() * enlarge) - maskAdj + 'px');\n                            jQuery(\"#my-mask\").css('height', ($imgActive.innerHeight() * enlarge) - maskAdj + 'px');\n                        }\n\n                        //If it is image placeholder with specified css width/height\n                        if(specifiedCssWidth!=0) jQuery(\"#my-mask\").css('width', specifiedCssWidth + 'px');\n                        if(specifiedCssHeight!=0) jQuery(\"#my-mask\").css('height', specifiedCssHeight + 'px');\n\n                        jQuery(\"#my-mask\").css('zoom', zoom / enlarge); //divide zoom with enlarge value\n                        jQuery(\"#my-mask\").css('-moz-transform', 'scale(' + zoom / enlarge + ')');\n\n\n\n                        //Embedding Image Step 3: Get dimension (programmatically) for chosen image to fit with its image placeholder\n                        var newW;\n                        var newY;\n\n                        /* source: http://stackoverflow.com/questions/3987644/resize-and-center-image-with-jquery */\n                        var maskWidth = $imgActive.width(); //image placeholder width\n                        var maskHeight = $imgActive.height(); //image placeholder height\n\n                        var photoAspectRatio = nInitialWidth / nInitialHeight;\n                        var canvasAspectRatio = maskWidth / maskHeight;\n                        if (photoAspectRatio < canvasAspectRatio) {\n                            newW = maskWidth;\n                            newY = (nInitialHeight * maskWidth) / nInitialWidth;\n                        }\n                        else {\n                            newW = (nInitialWidth * maskHeight) / nInitialHeight;\n                            newY = maskHeight;\n                        }\n\n\n                        //Embedding Image Step 4: Apply the dimension and enlarge it according to the enlarge value\n                        //so that embedding image from mobile will still embed actual (larger) dimension to be seen on desktop\n                        newW = newW * enlarge; //multiply width & height with 2\n                        newY = newY * enlarge;\n\n\n                        $imgActive = jQuery(\"#divToolImg\").data('image'); //img2: Selang antara klik browse & select image, hover diabaikan. $imgActive di-set dgn image yg active wkt klik browse.\n\n                        jQuery(\"#my-image\").css('top', '0px');\n                        jQuery(\"#my-image\").css('left', '0px');\n\n                        jQuery(\"#my-image\").css('width', newW + 'px'); //Set with the new dimension\n                        jQuery(\"#my-image\").css('height', newY + 'px');\n\n                        var zoom = localStorage.zoom;\n\n                        zoom = zoom*1;\n\n                        if($element.data('imageembed').settings.zoom==1){\n                            zoom = 1;\n                        }\n\n                        //Embedding Image Step 5: Show image control (zoom, etc) with correct position\n                        /*var adjy = $element.data('imageembed').settings.adjy*1;\n                        var adjy_val = (-adjy/0.183)*zoom + (adjy/0.183);\n\n                        var p = $imgActive.getPos();\n                        jQuery('#divImageEdit').css('display', 'inline-block');\n                        if ($imgActive.attr('class') == 'img-polaroid') {\n                            jQuery(\"#divImageEdit\").css(\"top\", (p.top + 5) * zoom + adjy_val + \"px\");\n                            jQuery(\"#divImageEdit\").css(\"left\", (p.left + 5) * zoom + \"px\");\n                        } else {\n                            jQuery(\"#divImageEdit\").css(\"top\", (p.top) * zoom + adjy_val + \"px\");\n                            jQuery(\"#divImageEdit\").css(\"left\", (p.left) * zoom + \"px\");\n                        }*/\n                        var _top; var _left; var _top_polaroid; var _left_polaroid;\n                        var scrolltop = jQuery(window).scrollTop();\n                        var offsettop = $imgActive.offset().top;\n                        var offsetleft = $imgActive.offset().left;\n                        var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                        var is_ie = detectIE();\n                        var browserok = true;\n                        if (is_firefox||is_ie) browserok = false;\n                        if(browserok){\n                            //Chrome 37, Opera 24\n                            _top = (offsettop * zoom) + (scrolltop - scrolltop * zoom);\n                            _left = offsetleft * zoom;\n                            _top_polaroid = ((offsettop + 5) * zoom) + (scrolltop - scrolltop * zoom);\n                            _left_polaroid = (offsetleft + 5) * zoom;\n                        } else {\n                            if(is_ie){\n                                //IE 11 (Adjustment required)\n\n                                //Custom formula for adjustment in IE11\n                                var space = 0;var space2 = 0;\n                                $element.parents().each(function () {\n                                    if (jQuery(this).data('contentbuilder')) {\n                                        space = jQuery(this).getPos().top;\n                                        space2 = jQuery(this).getPos().left;\n                                    }\n                                });\n                                var adjy_val = -space*zoom + space;\n                                var adjx_val = -space2*zoom + space2;\n\n                                var p = $imgActive.getPos();\n                                _top = (p.top * zoom) + adjy_val;\n                                _left = (p.left * zoom) + adjx_val;\n                                _top_polaroid = ((p.top + 5) * zoom) + adjy_val;\n                                _left_polaroid = ((p.left + 5) * zoom) + adjx_val;\n                            }\n                            if(is_firefox) {\n                                //Firefox (No Adjustment required)\n                                /*\n                                In Firefox, if my-mask is zoomed, it will be centered within it's container divImageEdit.\n                                Only because of this, an adjustment is needed for divImageEdit & img-control\n                                */\n                                var imgwidth = parseInt($imgActive.css('width'));\n                                var imgheight = parseInt($imgActive.css('height'));\n                                var adjx_val = imgwidth/2 - (imgwidth/2)*zoom;\n                                var adjy_val = imgheight/2 - (imgheight/2)*zoom;\n\n                                jQuery('#img-control').css('top',5+adjy_val + 'px');\n                                jQuery('#img-control').css('left',7+adjx_val + 'px');\n\n                                _top = offsettop-adjy_val;\n                                _left = offsetleft-adjx_val;\n                                _top_polaroid = offsettop-adjy_val + 5;\n                                _left_polaroid = offsetleft-adjx_val + 5;\n                            }\n                        }\n                        jQuery('#divImageEdit').css('display', 'inline-block');\n                        if ($imgActive.attr('class') == 'img-polaroid') {\n                            jQuery(\"#divImageEdit\").css(\"top\", _top_polaroid + \"px\");\n                            jQuery(\"#divImageEdit\").css(\"left\", _left_polaroid + \"px\");\n                        } else {\n                            jQuery(\"#divImageEdit\").css(\"top\", _top + \"px\");\n                            jQuery(\"#divImageEdit\").css(\"left\", _left + \"px\");\n                        }\n\n                        if(parseInt(jQuery(\"#divImageEdit\").css(\"top\"))<25) {\n                            jQuery('#img-control').css('top','auto');\n                            jQuery('#img-control').css('bottom', \"-24px\");\n                        }\n\n                        jQuery(\"#my-mask\").css('transform-origin','left top'); //Without this will result incorrect positioning during image embed in FF.\n\n                        //Embedding Image Step 6: Enable \"DRAG TO PAN\" image within its mask ('<div id=\"my-mask\"><img id=\"my-image\"></div>)\n                        //Remember that the image can be bigger (in proportion) than the mask (which has the same dimension with image placeholder)\n\n                        panSetup();\n\n                        //Embedding Image Step 7: The resulting \"DRAG TO PAN\" will be transfered to a temporary canvas (<canvas id=\"myTmpCanvas\">)\n\n                        var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;\n                        if (is_firefox) sleep(700);//fix bug on Firefox\n\n                        //To be displayed only after the resize process completed\n                        jQuery(\"#btnImageCancel\").css('display', 'none');\n                        jQuery(\"#btnZoomOut\").css('display', 'none');\n                        jQuery(\"#btnZoomIn\").css('display', 'none');\n                        jQuery(\"#btnImageMore\").css('display', 'none');\n                        jQuery(\"#btnChangeImage\").css('display', 'none');\n\n                        var isSafari =  /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n                        var iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;\n                        if (isSafari || iOS) {\n\n                            //FIRST RENDER (tmpCanvas)\n                            var mpImg = new MegaPixImage(img);\n                            mpImg.render(tmpCanvas, { width: cW, height: cH, orientation: orientation_num }, function(){\n\n                                //Embedding Image Step 8: Load chosen image in an IMG element ('<div id=\"my-mask\"><img id=\"my-image\"></div>)\n                                //and set with the new dimension. Remember we have made the container (<div id=\"my-mask\">) 2 times bigger.\n                                jQuery('#my-image').attr('src', tmpCanvas.toDataURL( type, quality ));\n\n                                //RESIZE (tmpCanvas) with good quality.\n                                //var imageObj = jQuery(\"#my-image\")[0];\n                                //context.drawImage(imageObj, 0, 0, newW, newY); //This is replaced with the resize approach below.\n                                var tmp = new Image();\n                                var nW = nInitialWidth;\n                                var nH = nInitialHeight;\n                                tmp.onload = function() {\n                                    nW /= 2;\n                                    nH /= 2;\n                                    if ( nW < newW || nH < newY ) { nW = newW; nH = newY; }\n\n                                    var mpImg = new MegaPixImage(tmp);\n                                    mpImg.render(tmpCanvas, { width: nW, height: nH }, function(){ /* must specify both width & height correctly (proportionally) */\n\n                                        if ( nW <= newW || nH <= newY ) {\n\n                                            //Embedding Image Step 9: Do the cropping (image cropped based on placeholder dimension)\n                                            //and move from \"myTmpCanvas\" to \"myCanvas\" (<canvas id=\"myCanvas\"><canvas id=\"myTmpCanvas\">)\n                                            crop();\n\n                                            if ($imgActive.attr('class') == 'img-circle') {\n                                                jQuery('#my-mask').css('-webkit-border-radius', '500px');\n                                                jQuery('#my-mask').css('-moz-border-radius', '500px');\n                                                jQuery('#my-mask').css('border-radius', '500px');\n                                            } else {\n                                                jQuery('#my-mask').css('-webkit-border-radius', '0px');\n                                                jQuery('#my-mask').css('-moz-border-radius', '0px');\n                                                jQuery('#my-mask').css('border-radius', '0px');\n                                            }\n\n                                            if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n\n                                            } else {\n                                                jQuery('#btnZoomIn').click(); jQuery('#btnZoomIn').click(); //fix bug\n                                            }\n\n                                            //Resize process completed, now display the controls\n                                            jQuery(\"#divToolImgLoader\").css('display', 'none');\n\n                                            jQuery(\"#btnImageCancel\").css('display', 'inline-block');\n                                            jQuery(\"#btnZoomOut\").css('display', 'inline-block');\n                                            jQuery(\"#btnZoomIn\").css('display', 'inline-block');\n                                            jQuery(\"#btnImageMore\").css('display', 'inline-block');\n                                            jQuery(\"#btnChangeImage\").css('display', 'inline-block');\n\n                                            //Show overlay only after image is processed to prevent blank/dark image result problem.\n                                            jQuery('.overlay-bg').css('background', '#fff');\n\n                                            return;\n\n                                        }\n                                        tmp.src = tmpCanvas.toDataURL(type, quality);\n                                        //sleep(1000);\n                                    });\n                                };\n                                tmp.src = tmpCanvas.toDataURL( type, quality );\n                                //sleep(1000);\n\n                            });\n\n                        } else {\n\n                            //FIRST RENDER (tmpCanvas)\n                            var context = tmpCanvas.getContext(\"2d\");\n                            //Set proper canvas dimension\n                            if (4 < orientation_num && orientation_num < 9) {\n                                tmpCanvas.width = cH;\n                                tmpCanvas.height = cW;\n                            } else {\n                                tmpCanvas.width = cW;\n                                tmpCanvas.height = cH;\n                            }\n                            //Fix orientation before drawing image\n                            switch (orientation_num) {\n                                case 2: context.transform(-1, 0, 0, 1, cW, 0); break;\n                                case 3: context.transform(-1, 0, 0, -1, cW, cH ); break;\n                                case 4: context.transform(1, 0, 0, -1, 0, cH ); break;\n                                case 5: context.transform(0, 1, 1, 0, 0, 0); break;\n                                case 6: context.transform(0, 1, -1, 0, cH , 0); break;\n                                case 7: context.transform(0, -1, -1, 0, cH , cW); break;\n                                case 8: context.transform(0, -1, 1, 0, 0, cW); break;\n                                default: break;\n                            }\n                            context.drawImage( img, 0, 0, cW, cH );\n\n\n                            //Embedding Image Step 8: Load chosen image in an IMG element ('<div id=\"my-mask\"><img id=\"my-image\"></div>)\n                            //and set with the new dimension. Remember we have made the container (<div id=\"my-mask\">) 2 times bigger.\n                            jQuery('#my-image').attr('src', tmpCanvas.toDataURL(type, quality));\n\n\n                            //RESIZE (tmpCanvas) with good quality.\n                            var tmp = new Image();\n                            var nW = nInitialWidth;\n                            var nH = nInitialHeight;\n                            tmp.onload = function() {\n                                nW /= 2;\n                                nH /= 2;\n                                if ( nW < newW || nH < newY ) { nW = newW; nH = newY; }\n\n                                tmpCanvas.width = nW;\n                                tmpCanvas.height = nH;\n                                context = tmpCanvas.getContext( '2d' );\n                                context.drawImage( tmp, 0, 0, nW, nH );\n\n                                if ( nW <= newW || nH <= newY ) {\n\n                                    //Embedding Image Step 9: Do the cropping (image cropped based on placeholder dimension)\n                                    //and move from \"myTmpCanvas\" to \"myCanvas\" (<canvas id=\"myCanvas\"><canvas id=\"myTmpCanvas\">)\n                                    crop();\n\n                                    if ($imgActive.attr('class') == 'img-circle') {\n                                        jQuery('#my-mask').css('-webkit-border-radius', '500px');\n                                        jQuery('#my-mask').css('-moz-border-radius', '500px');\n                                        jQuery('#my-mask').css('border-radius', '500px');\n                                    } else {\n                                        jQuery('#my-mask').css('-webkit-border-radius', '0px');\n                                        jQuery('#my-mask').css('-moz-border-radius', '0px');\n                                        jQuery('#my-mask').css('border-radius', '0px');\n                                    }\n\n                                    //jQuery('#my-image').off('load'); //spy tdk load berulang2\n\n                                    if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n\n                                    } else {\n                                        jQuery('#btnZoomIn').click(); jQuery('#btnZoomIn').click(); //fix bug\n                                    }\n\n                                    //Resize process completed, now display the controls\n                                    jQuery(\"#divToolImgLoader\").css('display', 'none');\n\n                                    jQuery(\"#btnImageCancel\").css('display', 'inline-block');\n                                    jQuery(\"#btnZoomOut\").css('display', 'inline-block');\n                                    jQuery(\"#btnZoomIn\").css('display', 'inline-block');\n                                    jQuery(\"#btnImageMore\").css('display', 'inline-block');\n                                    jQuery(\"#btnChangeImage\").css('display', 'inline-block');\n\n                                    //Show overlay only after image is processed to prevent blank/dark image result problem.\n                                    jQuery('.overlay-bg').css('background', '#fff');\n\n                                    return;\n                                    }\n                                tmp.src = tmpCanvas.toDataURL( type, quality );\n\n                            };\n                            tmp.src = tmpCanvas.toDataURL( type, quality );\n\n                        }\n\n                        jQuery('#btnImageMore').off('click');\n                        jQuery('#btnImageMore').on('click', function () {\n\n                            if( jQuery('#divImageMore').css('display') == 'block' ) {\n                                jQuery('#divImageMore').css('display','none');\n                            } else {\n                                jQuery('#divImageMore').css('display','block');\n\n                                jQuery('#chkImageNoCrop').attr('checked', false); //uncheck\n\n                                if ($imgActive.parents('a:first').length == 0) {\n                                    //link not exist\n                                    jQuery('#chkImageClickToEnlarge').attr('checked', false);  //uncheck\n                                } else {\n                                    //link exist. Check if href is image\n                                    if( $imgActive.parents('a:first').attr('href').toLowerCase().indexOf('.jpg') != -1 ||\n                                    $imgActive.parents('a:first').attr('href').toLowerCase().indexOf('.png') != -1)\n                                    jQuery('#chkImageClickToEnlarge').attr('checked', true);\n                                }\n\n                            }\n\n                            jQuery('.overlay-bg').off('click');\n                            jQuery('.overlay-bg').on('click', function () {\n                                jQuery('#divImageMore').css('display','none');\n\n                            });\n                            jQuery('#my-mask').off('click');\n                            jQuery('#my-mask').on('click', function () {\n                                jQuery('#divImageMore').css('display','none');\n                            });\n                        });\n\n                        jQuery('#btnImageMoreOk').off('click');\n                        jQuery('#btnImageMoreOk').on('click', function () {\n\n                            //If 'Click to Enlarge' is checked, create a dummy link with class='is-lightbox'\n                            if( jQuery('#chkImageClickToEnlarge').is(':checked') ) {\n\n                                var imagelink = '#';\n                                if ($imgActive.parents('a:first').length == 0) {\n                                    //create link\n                                    $imgActive.wrap('<a href=\"' + imagelink + '\"></a>');\n                                } else {\n                                    //apply link\n                                    $imgActive.parents('a:first').attr('href', imagelink);\n                                }\n\n                                $imgActive.parents('a:first').attr('title', '');\n                                $imgActive.parents('a:first').addClass('is-lightbox');\n                                //$imgActive.parents('a:first').attr('target', '_blank');\n\n                            }\n\n                            //If 'No Crop' is checked\n                            if( jQuery('#chkImageNoCrop').is(':checked') ) {\n\n                                var canvasNoCrop = document.getElementById('myTmpCanvasNoCrop');\n                                //var canvasNoCrop = document.getElementById('myTmpCanvas'); //can use this actually\n\n                                //Embed Image\n                                var image;\n                                if (hiquality == false) {\n                                    if (extension == 'jpg' || extension == 'jpeg') {\n                                        image = canvasNoCrop.toDataURL(\"image/jpeg\", 0.92); //bug: sometimes the result shows a black line on the image edge\n                                    } else {\n                                        image = canvasNoCrop.toDataURL(\"image/png\", 1);\n                                    }\n                                } else {\n                                    image = canvasNoCrop.toDataURL(\"image/png\", 1);\n                                }\n\n                                if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                                    $imgActive.attr('src', image);\n                                    $imgActive.data('filename', imgname); //Set data attribute for filename\n                                } else if ($imgActive.prop(\"tagName\").toLowerCase() == 'figure') {\n                                    $imgActive.find('img').attr('src', image);\n                                    $imgActive.find('img').data('filename', imgname); //Set data attribute for filename\n                                } else {\n                                    $imgActive.css('background-image', 'url(data:' + image + ')');\n                                    $imgActive.data('filename', imgname); //Set data attribute for filename\n                                }\n\n                                //Upload larger image\n                                if($imgActive.parent().hasClass(\"is-lightbox\") ){\n                                    //alert('larger')\n                                    jQuery('#canvasform').attr('action', $element.data('imageembed').settings.largerImageHandler);\n                                    jQuery('#canvasform').submit();\n\n                                } else {\n                                    //alert('normal')\n                                    jQuery('.my-file[type=file]').clearInputs(); //=> won't upload the large file (by clearing file input.my-file)\n                                }\n\n                            } else {\n\n                                //Do Cropping\n                                jQuery('#btnChangeImage').click();\n\n                            }\n\n                            jQuery('#divImageEdit').css('display', 'none');\n                            jQuery('.overlay-bg').css('width', '1px');\n                            jQuery('.overlay-bg').css('height', '1px');\n                            jQuery('body').css('overflow', '');\n\n                            if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                                $imgActive.css('width', '');\n                                $imgActive.css('height', '');\n                            } else if ($imgActive.prop(\"tagName\").toLowerCase() == 'figure') {\n                                $imgActive.find('img').css('width', '');\n                                $imgActive.find('img').css('height', '');\n                            }\n\n                            $element.data('imageembed').settings.onChanged();\n\n                            //Finished Loading Image\n                            jQuery(\"#divToolImgLoader\").css('display', 'none');\n\n                            jQuery('#divImageMore').css('display','none');\n\n                            //Get Content Builder plugin\n                            var builder;\n                            $element.parents().each(function () {\n                                if (jQuery(this).data('contentbuilder')) {\n                                    builder = jQuery(this).data('contentbuilder');\n                                }\n                            });\n\n                            //If 'Click to Enlarge' is unchecked, remove link (only if there is existing image link)\n                            if( ! jQuery('#chkImageClickToEnlarge').is(':checked') ) {\n\n                                //Check if there is existing image link\n                                if( $imgActive.parents('a:first').length > 0 ){\n                                    if( $imgActive.parents('a:first').attr('href').toLowerCase().indexOf('.jpg') != -1 ||\n                                        $imgActive.parents('a:first').attr('href').toLowerCase().indexOf('.png') != -1) {\n\n                                        //remove larger image link\n                                        $imgActive.parents('a:first').replaceWith($imgActive.parents('a:first').html()); //This must be put at the end of this function, because this will make $element.data('imageembed') empty.\n\n                                    }\n                                }\n\n                            }\n\n                            //Apply Content Builder Behavior\n                            if (builder) {\n                                builder.applyBehavior();\n\n                                builder.settings.onRender(); //Trigger Render event\n                            }\n                        });\n\n                        //Embedding Image Step 10 (finish): When user click \"Ok\", read the result (base64 string) from \"myCanvas\"\n                        //and assign it to image placeholder ($imgActive)\n                        jQuery('#btnChangeImage').off('click');\n                        jQuery('#btnChangeImage').on('click', function () {\n\n                            var canvas = document.getElementById('myCanvas');\n\n                            $imgActive = jQuery(\"#divToolImg\").data('image'); //img2: Selang antara klik browse & select image, hover diabaikan. $imgActive di-set dgn image yg active wkt klik browse.\n\n                            //Embed Image\n                            var image;\n                            if (hiquality == false) {\n                                if (extension == 'jpg' || extension == 'jpeg') {\n                                    image = canvas.toDataURL(\"image/jpeg\", 0.92); //bug: sometimes the result shows a black line on the image edge\n                                } else {\n                                    image = canvas.toDataURL(\"image/png\", 1);\n                                }\n                            } else {\n                                image = canvas.toDataURL(\"image/png\", 1);\n                            }\n\n                            if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                                $imgActive.attr('src', image);\n                                $imgActive.data('filename', imgname); //Set data attribute for filename\n                            } else if ($imgActive.prop(\"tagName\").toLowerCase() == 'figure') {\n                                $imgActive.find('img').attr('src', image);\n                                $imgActive.find('img').data('filename', imgname); //Set data attribute for filename\n                            } else {\n                                $imgActive.css('background-image', 'url(data:' + image + ')');\n                                $imgActive.data('filename', imgname); //Set data attribute for filename\n                            }\n\n                            //Upload larger image\n                            if($imgActive.parent().hasClass(\"is-lightbox\") && jQuery('#fileImage').val() !=''){\n                                //alert('larger')\n                                jQuery('#canvasform').attr('action', $element.data('imageembed').settings.largerImageHandler);\n                                jQuery('#canvasform').submit();\n\n                            } else {\n                                //alert('normal')\n                                jQuery('.my-file[type=file]').clearInputs(); //=> won't upload the large file (by clearing file input.my-file)\n                            }\n\n                            jQuery('#divImageEdit').css('display', 'none');\n                            jQuery('.overlay-bg').css('width', '1px');\n                            jQuery('.overlay-bg').css('height', '1px');\n                            jQuery('body').css('overflow', '');\n\n                            if ($imgActive.prop(\"tagName\").toLowerCase() == 'img') {\n                                $imgActive.css('width', '');\n                                $imgActive.css('height', '');\n                            } else if ($imgActive.prop(\"tagName\").toLowerCase() == 'figure') {\n                                $imgActive.find('img').css('width', '');\n                                $imgActive.find('img').css('height', '');\n                            }\n\n                            $element.data('imageembed').settings.onChanged();\n\n                            jQuery('#divImageMore').css('display','none');\n\n                        });\n\n                        jQuery('#btnImageCancel').off('click');\n                        jQuery('#btnImageCancel').on('click', function () {\n                            var canvas = document.getElementById('myCanvas');\n\n                            $imgActive = jQuery(\"#divToolImg\").data('image'); //img2: Selang antara klik browse & select image, hover diabaikan. $imgActive di-set dgn image yg active wkt klik browse.\n\n                            jQuery('#divImageEdit').css('display', 'none');\n                            jQuery('.overlay-bg').css('width', '1px');\n                            jQuery('.overlay-bg').css('height', '1px');\n                            jQuery('body').css('overflow', '');\n\n                            jQuery('#divImageMore').css('display','none');\n\n                            jQuery('.my-file[type=file]').clearInputs();\n\n                        });\n\n                        jQuery('#btnZoomIn').off('click');\n                        jQuery('#btnZoomIn').on('click', function () {\n\n                            var nCurrentWidth = parseInt(jQuery(\"#my-image\").css('width'));\n                            var nCurrentHeight = parseInt(jQuery(\"#my-image\").css('height'));\n\n                            //if (nInitialWidth <= (nCurrentWidth / 0.9)) return;\n                            //if (nInitialHeight <= (nCurrentHeight / 0.9)) return;\n\n                            jQuery(\"#my-image\").css('width', (nCurrentWidth / 0.9) + 'px');\n                            jQuery(\"#my-image\").css('height', (nCurrentHeight / 0.9) + 'px');\n\n                            panSetup();\n\n                            tmpCanvas.width = (nCurrentWidth / 0.9);\n                            tmpCanvas.height = (nCurrentHeight / 0.9);\n\n                            var imageObj = jQuery(\"#my-image\")[0];\n                            var context = tmpCanvas.getContext('2d');\n\n                            //Fix to resize image with good quality.\n                            var tmp = new Image(), context, cW, cH;\n                            cW = nInitialWidth;\n                            cH = nInitialHeight;\n                            tmp.src = imageObj.src;\n                            tmp.onload = function() {\n                                cW /= 2;\n                                cH /= 2;\n                                if ( cW < imageObj.width ) cW = (nCurrentWidth / 0.9);\n                                if ( cH < imageObj.height ) cH = (nCurrentHeight / 0.9);\n\n                                tmpCanvas.width = cW;\n                                tmpCanvas.height = cH;\n                                context = tmpCanvas.getContext( '2d' );\n                                context.drawImage( tmp, 0, 0, cW, cH );\n\n                                if ( cW <= (nCurrentWidth / 0.9) || cH <= (nCurrentHeight / 0.9) ) {\n                                    panSetup();crop(); //just to refresh. If not, myTmpCanvas (resized) won't not copied to myCanvas (cropped).\n                                    return;\n                                    }\n                                tmp.src = tmpCanvas.toDataURL( type, quality );\n                            };\n                            //context.drawImage(imageObj, 0, 0, (nCurrentWidth / 0.9), (nCurrentHeight / 0.9)); //This is replaced with the above fix.\n\n                            crop();\n\n                        });\n\n                        jQuery('#btnZoomOut').off('click');\n                        jQuery('#btnZoomOut').on('click', function () {\n\n                            var nCurrentWidth = parseInt(jQuery(\"#my-image\").css('width'));\n                            var nCurrentHeight = parseInt(jQuery(\"#my-image\").css('height'));\n\n                            if ( (nCurrentWidth / 1.1) < jQuery(\"#my-mask\").width()) return;\n                            if ( (nCurrentHeight / 1.1) < jQuery(\"#my-mask\").height()) return;\n\n                            //if ((nCurrentWidth / 1.1) >= parseInt(jQuery(\"#my-mask\").css('width')) && (nCurrentHeight / 1.1) >= parseInt(jQuery(\"#my-mask\").css('height'))) {\n                            jQuery(\"#my-image\").css('width', (nCurrentWidth / 1.1) + 'px');\n                            jQuery(\"#my-image\").css('height', (nCurrentHeight / 1.1) + 'px');\n\n                            panSetup();\n\n                            tmpCanvas.width = (nCurrentWidth / 1.1);\n                            tmpCanvas.height = (nCurrentHeight / 1.1);\n\n                            var imageObj = jQuery(\"#my-image\")[0];\n                            var context = tmpCanvas.getContext('2d');\n\n                            //Fix to resize image with good quality.\n                            var tmp = new Image(), context, cW, cH;\n                            cW = nInitialWidth;\n                            cH = nInitialHeight;\n                            tmp.src = imageObj.src;\n                            tmp.onload = function() {\n                                cW /= 2;\n                                cH /= 2;\n                                if ( cW < imageObj.width ) cW = (nCurrentWidth / 1.1);\n                                if ( cH < imageObj.height ) cH = (nCurrentHeight / 1.1);\n\n                                tmpCanvas.width = cW;\n                                tmpCanvas.height = cH;\n                                context = tmpCanvas.getContext( '2d' );\n                                context.drawImage( tmp, 0, 0, cW, cH );\n\n                                if ( cW <= (nCurrentWidth / 1.1) || cH <= (nCurrentHeight / 1.1) ) {\n                                    panSetup();crop(); //just to refresh. If not, myTmpCanvas (resized) won't not copied to myCanvas (cropped).\n                                    return;\n                                    }\n                                tmp.src = tmpCanvas.toDataURL( type, quality );\n                            };\n                            //context.drawImage(imageObj, 0, 0, (nCurrentWidth / 1.1), (nCurrentHeight / 1.1)); //This is replaced with the above fix.\n\n                            crop();\n\n                        });\n                        /*\n                        sleep(500);\n                        jQuery('#btnZoomIn').click();\n                        sleep(500);\n                        jQuery('#btnZoomOut').click();\n                        */\n                    },\n                    {\n                        canvas: false\n                    }\n                );\n\n            });\n        };\n\n\n\n        var crop = function () {\n            //Crop & move from \"myTmpCanvas\" to \"myCanvas\" (<canvas id=\"myCanvas\"><canvas id=\"myTmpCanvas\">)\n\n            var maskAdj = 1.1; //adjustment\n            var x = parseInt(jQuery(\"#my-image\").css('left')) - maskAdj;\n            var y = parseInt(jQuery(\"#my-image\").css('top')) - maskAdj;\n\n            var dw = parseInt(jQuery(\"#my-mask\").css('width'));\n            var dh = parseInt(jQuery(\"#my-mask\").css('height'));\n\n            var canvas = document.getElementById('myCanvas');\n            var context = canvas.getContext('2d');\n            canvas.width = dw;\n            canvas.height = dh;\n\n            var sourceX = -1 * x;\n            var sourceY = -1 * y;\n\n            if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { //adjustment\n                var iosAdj = 0.7;\n                sourceX = -1 * x + (x - x/iosAdj);\n                sourceY = -1 * y + (y - y/iosAdj);\n            }\n\n            /* checking\n            alert(sourceX + ' - ' + sourceY); // 1.1 - 3.3\n            alert(\"tmpCanvas.height=\" + tmpCanvas.height + \" | dh=\" + dh);\n            alert(\"tmpCanvas.width=\" + tmpCanvas.width + \" | dw=\" + dw);\n            */\n\n            //Prevent blank area\n            if (sourceY > (tmpCanvas.height - dh)) { sourceY = tmpCanvas.height - dh; }\n            if (sourceX > (tmpCanvas.width - dw)) { sourceX = tmpCanvas.width - dw; }\n\n            context.drawImage(tmpCanvas, sourceX, sourceY, dw, dh, 0, 0, dw, dh);\n        };\n\n        /* source: http://stackoverflow.com/questions/1590840/drag-a-zoomed-image-within-a-div-clipping-mask-using-jquery-draggable */\n        var panSetup = function () {\n\n            jQuery(\"#my-image\").css({ top: 0, left: 0 });\n\n            var maskWidth = jQuery(\"#my-mask\").width();\n            var maskHeight = jQuery(\"#my-mask\").height();\n            var imgPos = jQuery(\"#my-image\").offset();\n            var imgWidth = jQuery(\"#my-image\").width();\n            var imgHeight = jQuery(\"#my-image\").height();\n\n            var x1 = (imgPos.left + maskWidth) - imgWidth;\n            var y1 = (imgPos.top + maskHeight) - imgHeight;\n            var x2 = imgPos.left;\n            var y2 = imgPos.top;\n\n            jQuery(\"#my-image\").draggable({\n                revert: false, containment: [x1, y1, x2, y2], scroll: false, drag: function () {\n\n                    crop();\n                }\n            });\n            jQuery(\"#my-image\").css({ cursor: 'move' });\n        };\n\n        this.init();\n\n    };\n\n    jQuery.fn.imageembed = function (options) {\n        return this.each(function () {\n\n            if (undefined == jQuery(this).data('imageembed')) {\n                var plugin = new jQuery.imageembed(this, options);\n                jQuery(this).data('imageembed', plugin);\n\n            }\n        });\n    };\n})(jQuery);\n\nfunction applyLargerImage(s){\n    $imgActive.parents(\"a\").attr(\"href\",s);\n    jQuery('.my-file[type=file]').clearInputs();\n}\n\n/* Utils */\nfunction makeid() {//http://stackoverflow.com/questions/1349404/generate-a-string-of-5-random-characters-in-javascript\n    var text = \"\";\n    var possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\n    for (var i = 0; i < 2; i++)\n        text += possible.charAt(Math.floor(Math.random() * possible.length));\n\n    var text2 = \"\";\n    var possible2 = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n    for (var i = 0; i < 5; i++)\n        text2 += possible2.charAt(Math.floor(Math.random() * possible2.length));\n\n    return text + text2;\n}\nfunction sleep(milliseconds) {//http://www.phpied.com/sleep-in-javascript/\n    var start = new Date().getTime();\n    for (var i = 0; i < 1e7; i++) {\n        if ((new Date().getTime() - start) > milliseconds) {\n            break;\n        }\n    }\n}\nfunction getScripts(scripts, callback) {\n    var progress = 0;\n    scripts.forEach(function (script) {\n        $.getScript(script, function () {\n            if (++progress == scripts.length) callback();\n        });\n    });\n}\n\n/*******************************************************************************************/\n\n\n/*\nsource:\nhttp://stackoverflow.com/questions/1043957/clearing-input-type-file-using-jquery\nhttps://github.com/malsup/form/blob/master/jquery.form.js\n*/\njQuery.fn.clearFields = jQuery.fn.clearInputs = function (includeHidden) {\n    var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i; // 'hidden' is not in this list\n    return this.each(function () {\n        var t = this.type, tag = this.tagName.toLowerCase();\n        if (re.test(t) || tag == 'textarea') {\n            this.value = '';\n        }\n        else if (t == 'checkbox' || t == 'radio') {\n            this.checked = false;\n        }\n        else if (tag == 'select') {\n            this.selectedIndex = -1;\n        }\n        else if (t == \"file\") {\n            if (/MSIE/.test(navigator.userAgent)) {\n                jQuery(this).replaceWith(jQuery(this).clone(true));\n            } else {\n                jQuery(this).val('');\n            }\n        }\n        else if (includeHidden) {\n            // includeHidden can be the value true, or it can be a selector string\n            // indicating a special test; for example:\n            //  jQuery('#myForm').clearForm('.special:hidden')\n            // the above would clean hidden inputs that have the class of 'special'\n            if ((includeHidden === true && /hidden/.test(t)) ||\n                (typeof includeHidden == 'string' && jQuery(this).is(includeHidden)))\n                this.value = '';\n        }\n    });\n};\n\n\n\n/* Simple Modal - Inspired by modalEffects.js from http://www.codrops.com , http://tympanus.net/codrops/2013/06/25/nifty-modal-window-effects/ */\nvar zindex = 10000;\n(function (jQuery) {\n\n    jQuery.simplemodal = function (element, options) {\n\n        var defaults = {\n            onCancel: function () { },\n            onFinish: function () { },\n            isModal: false,\n            noOverlay: false\n        };\n\n        this.settings = {};\n\n        var $element = jQuery(element),\n             element = element;\n\n        var $ovlid;\n\n        this.init = function () {\n\n            this.settings = jQuery.extend({}, defaults, options);\n\n            //var html_overlay = '<div class=\"md-overlay\"></div>';\n            //if (jQuery('.md-overlay').length == 0) jQuery('body').append(html_overlay);\n\n            /**** Localize All ****/\n            if (jQuery('#divCb').length == 0) {\n                jQuery('body').append('<div id=\"divCb\"></div>');\n            }\n\n        };\n\n        this.hide = function () {\n            $element.css('display', 'none');\n            $element.removeClass('md-show');\n\n            if(!this.settings.noOverlay){\n                $ovlid.remove();\n            }\n\n\t\t\tzindex = zindex-2;\n\n            $element.data('simplemodal').settings.onFinish();\n        };\n\n        this.show = function (savedSel) {\n\n\t\t\tzindex = zindex+1;\n\n            if(!this.settings.noOverlay){\n                var rnd = makeid();\n                var html_overlay = '<div id=\"md-overlay-' + rnd + '\" class=\"md-overlay\" style=\"z-index:' + zindex + '\"></div>';\n                if(this.settings.isModal){\n                    html_overlay = '<div id=\"md-overlay-' + rnd + '\" class=\"md-overlay\" style=\"z-index:' + zindex + ';background:rgba(0, 0, 0, 0.1)\"></div>';\n                }\n                jQuery('#divCb').append(html_overlay);\n                $ovlid = jQuery('#md-overlay-' + rnd);\n            }\n\n            /*setTimeout(function () {\n                $element.addClass('md-show');\n            }, 1);*/\n\n\t\t\tzindex = zindex+1;\n\t\t\t$element.css('z-index',zindex);\n\n            $element.addClass('md-show');\n            $element.stop(true, true).css('display', 'none').fadeIn(200);\n\n            if($element.hasClass('md-draggable')){\n                var mw = parseInt($element.css(\"width\"));\n                var mh = parseInt($element.css(\"height\"));\n                $element.css(\"top\", Math.max(0, (jQuery(window).height() - mh) / 2) +  \"px\");\n                $element.css(\"left\", Math.max(0, (jQuery(window).width() - mw) / 2) + \"px\");\n\n                if($element.find('.md-modal-handle').length > 0){\n                    $element.find('.md-modal-handle').css(\"cursor\", \"move\");\n                    $element.draggable({ handle: \".md-modal-handle\" });\n                } else {\n                    $element.draggable();\n                }\n            }\n\n            if($element.find('.md-modal-close').length > 0){\n                $element.find('.md-modal-close').click(function(){\n\n                    $element.data('simplemodal').hide();\n\n                });\n            }\n\n            if(!this.settings.noOverlay){\n                var savedSel = savedSel;\n                jQuery('#md-overlay-' + rnd).off('click');\n                jQuery('#md-overlay-' + rnd).click(function () {\n                    if($element.data('simplemodal').settings.isModal) return;\n\n                    $element.stop(true, true).fadeOut(100, function(){\n                        $element.removeClass('md-show');\n                    });\n                    $ovlid.remove();//\n\n\t\t\t\t    zindex = zindex-2;\n\n                    if(savedSel) restoreSelection(savedSel);\n\n                    $element.data('simplemodal').settings.onCancel();\n                });\n            }\n\n        };\n\n        this.init();\n    };\n\n    jQuery.fn.simplemodal = function (options) {\n\n        return this.each(function () {\n\n            if (undefined == jQuery(this).data('simplemodal')) {\n                var plugin = new jQuery.simplemodal(this, options);\n                jQuery(this).data('simplemodal', plugin);\n\n            }\n\n        });\n    };\n})(jQuery);\n\n\n/* Undo Redo */\njQuery(document).keydown(function(e) {\n    //console.log(e.which)\n    //Undo Redo\n    if (e.which === 90 && e.ctrlKey) {//CTRL-Z\n        if(e.shiftKey) doRedo();\n        else {\n            if (!e.altKey) doUndo();\n        }\n    }\n    if (e.which === 89 && e.ctrlKey) {//CTRL-Y\n        if (!e.altKey) doRedo();\n    }\n});\n\nfunction saveForUndo() {\n\n    var bChanged = false;\n\n    jQuery(cb_list).each(function(){\n        var $cb = jQuery(this);\n        var $el = $cb.data('contentbuilder');\n\n        if ($el.undoList[0]) {\n            if ($cb.html() != $el.undoList[0][0]) bChanged=true;\n        } else {\n            bChanged = true;\n        }\n    });\n\n    if(!bChanged)return;\n\n    jQuery(cb_list).each(function(){\n        var $cb = jQuery(this);\n        var $el = $cb.data('contentbuilder');\n\n        //if ($el.undoList[0])\n        //    if ($cb.html() == $el.undoList[0][0]) return;\n\n        for (var i = 20; i > 1; i--) $el.undoList[i - 1] = $el.undoList[i - 2];\n\n        var curr;\n        if (window.getSelection) {\n            try{\n                curr = window.getSelection().getRangeAt(0);\n                $el.undoList[0] = [$cb.html(), curr.cloneRange()];\n            } catch(e) {\n                $el.undoList[0] = [$cb.html(), null];\n            }\n        }\n        else if (document.selection) {\n            try{\n                curr = document.selection.createRange();\n                var type = document.selection.type;\n\n                if (type == \"Text\")\n                    $el.undoList[0] = [$cb.html(), curr.getBookmark(), \"Text\"];\n                else if (type == \"Control\") {\n                    curr.item(0).selThis = \"selThis\";\n                    $el.undoList[0] = [$cb.html(), null, \"Control\"];\n                    curr.item(0).removeAttribute(\"selThis\", 0);\n                } else {\n                    $el.undoList[0] = [$cb.html(), curr.getBookmark(), \"None\"];\n                }\n            } catch(e) {\n                if (type == \"Text\")\n                    $el.undoList[0] = [$cb.html(), null, \"Text\"];\n                else if (type == \"Control\") {\n                    curr.item(0).selThis = \"selThis\";\n                    $el.undoList[0] = [$cb.html(), null, \"Control\"];\n                    curr.item(0).removeAttribute(\"selThis\", 0);\n                } else {\n                    $el.undoList[0] = [$cb.html(), null, \"None\"];\n                }\n            }\n\n        }\n\n        $el.redoList = []; //clear redo list\n\n    });\n}\n\nvar numUndo = 0;\nfunction doUndo(){\n    var bChanged = false;\n\n    jQuery(cb_list).each(function(){\n        var $cb = jQuery(this);\n        var $el = $cb.data('contentbuilder');\n\n        if ($el.undoList[0]) {\n            if ($cb.html() != $el.undoList[0][0]) bChanged=true;\n        } else {\n            bChanged = true;\n        }\n    });\n\n    jQuery(cb_list).each(function(){\n        var $cb = jQuery(this);\n        var $el = $cb.data('contentbuilder');\n\n        if (!$el.undoList[0]) return;\n\n        for (var i = 20; i > 1; i--) $el.redoList[i - 1] = $el.redoList[i - 2];\n\n        var curr;\n        if (window.getSelection) {\n            try{\n                curr = window.getSelection().getRangeAt(0);\n                $el.redoList[0] = [$cb.html(), curr.cloneRange()];\n            } catch(e) {\n                $el.redoList[0] = [$cb.html(), null];\n            }\n        }\n        else if (document.selection) {\n            curr = document.selection.createRange();\n            var type = document.selection.type;\n\n            if (type == \"Text\")\n                $el.redoList[0] = [$cb.html(), curr.getBookmark(), \"Text\"];\n            else if (type == \"Control\") {\n                curr.item(0).selThis = \"selThis\";\n                $el.redoList[0] = [$cb.html(), null, \"Control\"];\n                curr.item(0).removeAttribute(\"selThis\", 0);\n            } else {\n                $el.redoList[0] = [$cb.html(), curr.getBookmark(), \"None\"];\n            }\n        }\n\n        sHTML = $el.undoList[0][0];\n        $cb.html(sHTML);\n\n        for (var i = 0; i < 19; i++) $el.undoList[i] = $el.undoList[i + 1];\n        $el.undoList[19] = null;\n\n        //Apply builder behaviors\n        $el.applyBehavior();\n\n        // Function to run when column/grid changed\n        $el.blockChanged();\n\n        //Trigger Render event\n        $el.settings.onRender();\n\n    });\n\n    //console.log('undo');\n    if(bChanged==false && numUndo<1) {\n        numUndo=numUndo+1;\n        doUndo();\n        return;\n    }\n    numUndo=0;\n}\n\nfunction doRedo(){\n\n    jQuery(cb_list).each(function(){\n        var $cb = jQuery(this);\n        var $el = $cb.data('contentbuilder');\n\n        if (!$el.redoList[0]) return;\n\n        for (var i = 20; i > 1; i--) $el.undoList[i - 1] = $el.undoList[i - 2];\n\n        var curr;\n        if (window.getSelection) {\n            try{\n                curr = window.getSelection().getRangeAt(0);\n                $el.undoList[0] = [$cb.html(), curr.cloneRange()];\n            } catch(e) {\n                $el.undoList[0] = [$cb.html(), null];\n            }\n        }\n        else if (document.selection) {\n            curr = document.selection.createRange();\n            var type = document.selection.type;\n\n            if (type == \"Text\")\n                $el.undoList[0] = [$cb.html(), curr.getBookmark(), \"Text\"];\n            else if (type == \"Control\") {\n                curr.item(0).selThis = \"selThis\";\n                $el.undoList[0] = [$cb.html(), null, \"Control\"];\n                curr.item(0).removeAttribute(\"selThis\", 0);\n            } else {\n                $el.undoList[0] = [$cb.html(), curr.getBookmark(), \"None\"];\n            }\n        }\n\n        sHTML = $el.redoList[0][0];\n        $cb.html(sHTML);\n\n        for (var i = 0; i < 19; i++) $el.redoList[i] = $el.redoList[i + 1];\n        $el.redoList[19] = null;\n\n        //Apply builder behaviors\n        $el.applyBehavior();\n\n        // Function to run when column/grid changed\n        $el.blockChanged();\n\n        //Trigger Render event\n        $el.settings.onRender();\n\n    });\n}\n\n\n/* source: http://stackoverflow.com/questions/1002934/jquery-x-y-document-coordinates-of-dom-object */\njQuery.fn.getPos = function () {\n    var o = this[0];\n    var left = 0, top = 0, parentNode = null, offsetParent = null;\n    offsetParent = o.offsetParent;\n    var original = o;\n    var el = o;\n    while (el.parentNode != null) {\n        el = el.parentNode;\n        if (el.offsetParent != null) {\n            var considerScroll = true;\n            if (window.opera) {\n                if (el == original.parentNode || el.nodeName == \"TR\") {\n                    considerScroll = false;\n                }\n            }\n            if (considerScroll) {\n                if (el.scrollTop && el.scrollTop > 0) {\n                    top -= el.scrollTop;\n                }\n                if (el.scrollLeft && el.scrollLeft > 0) {\n                    left -= el.scrollLeft;\n                }\n            }\n        }\n        if (el == offsetParent) {\n            left += o.offsetLeft;\n            if (el.clientLeft && el.nodeName != \"TABLE\") {\n                left += el.clientLeft;\n            }\n            top += o.offsetTop;\n            if (el.clientTop && el.nodeName != \"TABLE\") {\n                top += el.clientTop;\n            }\n            o = el;\n            if (o.offsetParent == null) {\n                if (o.offsetLeft) {\n                    left += o.offsetLeft;\n                }\n                if (o.offsetTop) {\n                    top += o.offsetTop;\n                }\n            }\n            offsetParent = o.offsetParent;\n        }\n    }\n    return {\n        left: left,\n        top: top\n    };\n};\n\n//Clean Word. Source: http://patisserie.keensoftware.com/en/pages/remove-word-formatting-from-rich-text-editor-with-javascript\n//http://community.sitepoint.com/t/strip-unwanted-formatting-from-pasted-content/16848/3\n//Other: http://www.1stclassmedia.co.uk/developers/clean-ms-word-formatting.php\nfunction cleanHTML(input) {\n    var stringStripper = /(\\n|\\r| class=(\")?Mso[a-zA-Z]+(\")?)/g;\n    var output = input.replace(stringStripper, ' ');\n\n    var commentSripper = new RegExp('<!--(.*?)-->', 'g');\n    var output = output.replace(commentSripper, '');\n    var tagStripper = new RegExp('<(/)*(meta|link|span|\\\\?xml:|st1:|o:|font)(.*?)>', 'gi');\n\n    output = output.replace(tagStripper, '');\n\n    var badTags = ['style', 'script', 'applet', 'embed', 'noframes', 'noscript'];\n\n    for (var i = 0; i < badTags.length; i++) {\n        tagStripper = new RegExp('<' + badTags[i] + '.*?' + badTags[i] + '(.*?)>', 'gi');\n        output = output.replace(tagStripper, '');\n    }\n\n    var badAttributes = ['style', 'start'];\n    for (var i = 0; i < badAttributes.length; i++) {\n        var attributeStripper = new RegExp(' ' + badAttributes[i] + '=\"(.*?)\"', 'gi');\n        output = output.replace(attributeStripper, '');\n    }\n    return output;\n}\n\nfunction selectRange(range) {\n    if (range) {\n        if (typeof range.select != \"undefined\") {\n            range.select();\n        } else if (typeof window.getSelection != \"undefined\") {\n            var sel = window.getSelection();\n            sel.removeAllRanges();\n            sel.addRange(range);\n        }\n    }\n}\n\n/* https://stackoverflow.com/questions/6139107/programmatically-select-text-in-a-contenteditable-html-element */\nfunction selectElementContents(el) {\n    var range = document.createRange();\n    range.selectNodeContents(el);\n    var sel = window.getSelection();\n    sel.removeAllRanges();\n    sel.addRange(range);\n}\n\n/* Table */\nfunction isEven(someNumber) {\n    return (someNumber % 2 == 0) ? true : false;\n}\n\nfunction getCellIndex(oTable, oTR, oTD) {\n    var nCount = 0;\n    var bFinish = false;\n    for (var i = 0; i < oTR.cells.length; i++) {\n        if (bFinish == false) {\n            nCount += oTR.cells[i].colSpan;\n        }\n        if (oTD == oTR.cells[i]) bFinish = true;\n    }\n    nCount = nCount - (oTD.colSpan - 1);\n\n    var nCellIndex = nCount - 1;\n    return nCellIndex;\n}\n\n/* Browser */\nfunction detectIE() {\n    var ua = window.navigator.userAgent;\n    var msie = ua.indexOf('MSIE ');\n    var trident = ua.indexOf('Trident/');\n    var edge = ua.indexOf('Edge/');\n\n    if (msie > 0) {\n        // IE 10 or older => return version number\n        return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);\n    }\n\n    if (edge > 0) {\n        // IE 10 or older => return version number\n        return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n    }\n\n    if (trident > 0) {\n        // IE 11 (or newer) => return version number\n        var rv = ua.indexOf('rv:');\n        return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);\n    }\n\n    // other browser\n    return false;\n}\n\nfunction detectEdge() {\n    var ua = window.navigator.userAgent;\n    var edge = ua.indexOf('Edge/');\n\n    if (edge > 0) {\n        return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);\n    }\n\n    return false;\n}\n\n/* http://stackoverflow.com/questions/11867545/change-text-color-based-on-brightness-of-the-covered-background-area */\n(function ($) {\n    $.fn.contrastingText = function () {\n        var el = this,\n            transparent;\n        transparent = function (c) {\n            var m = c.match(/[0-9]+/g);\n            if (m !== null) {\n                return !!m[3];\n            }\n            else return false;\n        };\n        while (transparent(el.css('background-color'))) {\n            el = el.parent();\n        }\n        parts = el.css('background-color').match(/[0-9]+/g);\n        this.lightBackground = !!Math.round(\n            (\n                parseInt(parts[0], 10) + // red\n                parseInt(parts[1], 10) + // green\n                parseInt(parts[2], 10) // blue\n            ) / 765 // 255 * 3, so that we avg, then normalise to 1\n        );\n        if (this.lightBackground) {\n            this.css('color', 'black');\n        } else {\n            this.css('color', 'rgba(255, 255, 255, 0.7)');\n        }\n        return this;\n    };\n}(jQuery));\n\n/* Load CodeMirror script */\ngetScripts([sScriptPath + \"codemirror/lib/codemirror.js\"],\n    function () {\n        getScripts([sScriptPath + \"codemirror/mode/xml/xml.js\",\n            sScriptPath + \"codemirror/mode/javascript/javascript.js\",\n            sScriptPath + \"codemirror/mode/css/css.js\"],\n            function () {\n                jQuery('body').addClass('is-cmloaded');\n            });\n    });\n\n\n/*! Mega pixel image rendering library for iOS6 Safari | Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com> | MIT license | https://github.com/stomita/ios-imagefile-megapixel */\neval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('(n(){n 1n(h){9 p=h.U,m=h.M;f(p*m>1b*1b){9 e=O.Q(\\'e\\');e.a=e.b=1;9 c=e.W(\\'X\\');c.12(h,-p+1,0);y c.1h(0,0,1,1).11[3]===0}x{y 1Z}}n 1p(h,p,m){9 e=O.Q(\\'e\\');e.a=1;e.b=m;9 c=e.W(\\'X\\');c.12(h,0,0);9 11=c.1h(0,0,1,m).11;9 r=0;9 16=m;9 s=m;17(s>r){9 1q=11[(s-1)*4+3];f(1q===0){16=s}x{r=s}s=(16+r)>>1}9 18=(s/m);y(18===0)?1:18}n 1j(h,j,v){9 e=O.Q(\\'e\\');1c(h,e,j,v);y e.1X(\"1v/1w\",j.1V||0.8)}n 1c(h,e,j,v){9 p=h.U,m=h.M;f(!(p+m))y;9 a=j.a,b=j.b;9 c=e.W(\\'X\\');c.1U();1i(e,c,a,b,j.10);9 1k=1n(h);f(1k){p/=2;m/=2}9 d=1b;9 F=O.Q(\\'e\\');F.a=F.b=d;9 Z=F.W(\\'X\\');9 1u=v?1p(h,p,m):1;9 1d=w.1x(d*a/p);9 14=w.1x(d*b/m/1u);9 r=0;9 1a=0;17(r<m){9 P=0;9 19=0;17(P<p){Z.1S(0,0,d,d);Z.12(h,-P,-r);c.12(F,0,0,d,d,19,1a,1d,14);P+=d;19+=1d}r+=d;1a+=14}c.1Q();F=Z=T}n 1i(e,c,a,b,10){1m(10){o 5:o 6:o 7:o 8:e.a=b;e.b=a;q;1r:e.a=a;e.b=b}1m(10){o 2:c.C(a,0);c.Y(-1,1);q;o 3:c.C(a,b);c.L(w.G);q;o 4:c.C(0,b);c.Y(1,-1);q;o 5:c.L(0.5*w.G);c.Y(1,-1);q;o 6:c.L(0.5*w.G);c.C(0,-b);q;o 7:c.L(0.5*w.G);c.C(a,-b);c.Y(-1,1);q;o 8:c.L(-0.5*w.G);c.C(-a,0);q;1r:q}}9 t=u.t&&u.t.13?u.t:u.15&&u.15.13?u.15:T;n E(l){f(u.1l&&l 1P 1l){f(!t){1N 1M(\"1L 13 n 1K 1I 1H A 1G\");}9 h=1D 1C();h.1e=t.13(l);g.A=l;l=h}f(!l.U&&!l.M){9 I=g;l.1O=l.1B=n(){9 S=I.H;f(S){I.H=T;1y(9 i=0,1t=S.1E;i<1t;i++){S[i]()}}};g.H=[]}g.l=l}E.1F.1s=n(z,j,N){f(g.H){9 I=g;g.H.1J(n(){I.1s(z,j,N)});y}j=j||{};9 B=g.l.U,D=g.l.M,a=j.a,b=j.b,J=j.J,K=j.K,v=!g.A||g.A.1A===\\'1v/1w\\';f(a&&!b){b=(D*a/B)<<0}x f(b&&!a){a=(B*b/D)<<0}x{a=B;b=D}f(J&&a>J){a=J;b=(D*a/B)<<0}f(K&&b>K){b=K;a=(B*b/D)<<0}9 V={a:a,b:b};1y(9 k 1R j)V[k]=j[k];9 R=z.R.1T();f(R===\\'h\\'){z.1e=1j(g.l,V,v)}x f(R===\\'e\\'){1c(g.l,z,V,v)}f(1g g.1z===\\'n\\'){g.1z(z)}f(N){N()}f(g.A){g.A=T;t.1W(g.l.1e)}};f(1g 1f===\\'n\\'&&1f.1Y){1f([],n(){y E})}x f(1g 1o===\\'20\\'){21.1o=E}x{g.E=E}})();',62,126,'|||||||||var|width|height|ctx||canvas|if|this|img||options||srcImage|ih|function|case|iw|break|sy|py|URL|window|doSquash|Math|else|return|target|blob|imgWidth|translate|imgHeight|MegaPixImage|tmpCanvas|PI|imageLoadListeners|_this|maxWidth|maxHeight|rotate|naturalHeight|callback|document|sx|createElement|tagName|listeners|null|naturalWidth|opt|getContext|2d|scale|tmpCtx|orientation|data|drawImage|createObjectURL|dh|webkitURL|ey|while|ratio|dx|dy|1024|renderImageToCanvas|dw|src|define|typeof|getImageData|transformCoordinate|renderImageToDataURL|subsampled|Blob|switch|detectSubsampling|exports|detectVerticalSquash|alpha|default|render|len|vertSquashRatio|image|jpeg|ceil|for|onrender|type|onerror|Image|new|length|prototype|url|create|to|push|found|No|Error|throw|onload|instanceof|restore|in|clearRect|toLowerCase|save|quality|revokeObjectURL|toDataURL|amd|false|object|module'.split('|'),0,{}));\n\n/*! jQuery UI Touch Punch 0.2.3 | Copyright 2011–2014, Dave Furfero | Dual licensed under the MIT or GPL Version 2 licenses. */\neval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}('(7(4){4.w.8=\\'H\\'G p;c(!4.w.8){f}d 6=4.U.D.L,g=6.g,h=6.h,a;7 5(2,r){c(2.k.F.J>1){f}2.B();d 8=2.k.q[0],l=p.N(\\'O\\');l.S(r,i,i,V,1,8.W,8.X,8.Y,8.A,b,b,b,b,0,C);2.z.E(l)}6.m=7(2){d 3=e;c(a||!3.I(2.k.q[0])){f}a=i;3.j=b;5(2,\\'K\\');5(2,\\'s\\');5(2,\\'M\\')};6.n=7(2){c(!a){f}e.j=i;5(2,\\'s\\')};6.o=7(2){c(!a){f}5(2,\\'P\\');5(2,\\'Q\\');c(!e.j){5(2,\\'R\\')}a=b};6.g=7(){d 3=e;3.u.T({v:4.9(3,\\'m\\'),x:4.9(3,\\'n\\'),y:4.9(3,\\'o\\')});g.t(3)};6.h=7(){d 3=e;3.u.Z({v:4.9(3,\\'m\\'),x:4.9(3,\\'n\\'),y:4.9(3,\\'o\\')});h.t(3)}})(4);',62,62,'||event|self|jQuery|simulateMouseEvent|mouseProto|function|touch|proxy|touchHandled|false|if|var|this|return|_mouseInit|_mouseDestroy|true|_touchMoved|originalEvent|simulatedEvent|_touchStart|_touchMove|_touchEnd|document|changedTouches|simulatedType|mousemove|call|element|touchstart|support|touchmove|touchend|target|clientY|preventDefault|null|mouse|dispatchEvent|touches|in|ontouchend|_mouseCapture|length|mouseover|prototype|mousedown|createEvent|MouseEvents|mouseup|mouseout|click|initMouseEvent|bind|ui|window|screenX|screenY|clientX|unbind'.split('|'),0,{}));\n\n/*! tinyColorPicker - v1.1.1 2016-08-30 | (c) 2016 Peter Dematté | MIT license | http://www.dematte.at/tinyColorPicker/ */\n!function(a,b){\"object\"==typeof exports?module.exports=b(a):\"function\"==typeof define&&define.amd?define(\"colors\",[],function(){return b(a)}):a.Colors=b(a)}(this,function(a,b){\"use strict\";function c(a,c,d,f,g){if(\"string\"==typeof c){var c=v.txt2color(c);d=c.type,p[d]=c[d],g=g!==b?g:c.alpha}else if(c)for(var h in c)a[d][h]=k(c[h]/l[d][h][1],0,1);return g!==b&&(a.alpha=k(+g,0,1)),e(d,f?a:b)}function d(a,b,c){var d=o.options.grey,e={};return e.RGB={r:a.r,g:a.g,b:a.b},e.rgb={r:b.r,g:b.g,b:b.b},e.alpha=c,e.equivalentGrey=n(d.r*a.r+d.g*a.g+d.b*a.b),e.rgbaMixBlack=i(b,{r:0,g:0,b:0},c,1),e.rgbaMixWhite=i(b,{r:1,g:1,b:1},c,1),e.rgbaMixBlack.luminance=h(e.rgbaMixBlack,!0),e.rgbaMixWhite.luminance=h(e.rgbaMixWhite,!0),o.options.customBG&&(e.rgbaMixCustom=i(b,o.options.customBG,c,1),e.rgbaMixCustom.luminance=h(e.rgbaMixCustom,!0),o.options.customBG.luminance=h(o.options.customBG,!0)),e}function e(a,b){var c,e,k,q=b||p,r=v,s=o.options,t=l,u=q.RND,w=\"\",x=\"\",y={hsl:\"hsv\",rgb:a},z=u.rgb;if(\"alpha\"!==a){for(var A in t)if(!t[A][A]){a!==A&&(x=y[A]||\"rgb\",q[A]=r[x+\"2\"+A](q[x])),u[A]||(u[A]={}),c=q[A];for(w in c)u[A][w]=n(c[w]*t[A][w][1])}z=u.rgb,q.HEX=r.RGB2HEX(z),q.equivalentGrey=s.grey.r*q.rgb.r+s.grey.g*q.rgb.g+s.grey.b*q.rgb.b,q.webSave=e=f(z,51),q.webSmart=k=f(z,17),q.saveColor=z.r===e.r&&z.g===e.g&&z.b===e.b?\"web save\":z.r===k.r&&z.g===k.g&&z.b===k.b?\"web smart\":\"\",q.hueRGB=v.hue2RGB(q.hsv.h),b&&(q.background=d(z,q.rgb,q.alpha))}var B,C,D,E=q.rgb,F=q.alpha,G=\"luminance\",H=q.background;return B=i(E,{r:0,g:0,b:0},F,1),B[G]=h(B,!0),q.rgbaMixBlack=B,C=i(E,{r:1,g:1,b:1},F,1),C[G]=h(C,!0),q.rgbaMixWhite=C,s.customBG&&(D=i(E,H.rgbaMixCustom,F,1),D[G]=h(D,!0),D.WCAG2Ratio=j(D[G],H.rgbaMixCustom[G]),q.rgbaMixBGMixCustom=D,D.luminanceDelta=m.abs(D[G]-H.rgbaMixCustom[G]),D.hueDelta=g(H.rgbaMixCustom,D,!0)),q.RGBLuminance=h(z),q.HUELuminance=h(q.hueRGB),s.convertCallback&&s.convertCallback(q,a),q}function f(a,b){var c={},d=0,e=b/2;for(var f in a)d=a[f]%b,c[f]=a[f]+(d>e?b-d:-d);return c}function g(a,b,c){return(m.max(a.r-b.r,b.r-a.r)+m.max(a.g-b.g,b.g-a.g)+m.max(a.b-b.b,b.b-a.b))*(c?255:1)/765}function h(a,b){for(var c=b?1:255,d=[a.r/c,a.g/c,a.b/c],e=o.options.luminance,f=d.length;f--;)d[f]=d[f]<=.03928?d[f]/12.92:m.pow((d[f]+.055)/1.055,2.4);return e.r*d[0]+e.g*d[1]+e.b*d[2]}function i(a,c,d,e){var f={},g=d!==b?d:1,h=e!==b?e:1,i=g+h*(1-g);for(var j in a)f[j]=(a[j]*g+c[j]*h*(1-g))/i;return f.a=i,f}function j(a,b){var c=1;return c=a>=b?(a+.05)/(b+.05):(b+.05)/(a+.05),n(100*c)/100}function k(a,b,c){return a>c?c:b>a?b:a}var l={rgb:{r:[0,255],g:[0,255],b:[0,255]},hsv:{h:[0,360],s:[0,100],v:[0,100]},hsl:{h:[0,360],s:[0,100],l:[0,100]},alpha:{alpha:[0,1]},HEX:{HEX:[0,16777215]}},m=a.Math,n=m.round,o={},p={},q={r:.298954,g:.586434,b:.114612},r={r:.2126,g:.7152,b:.0722},s=function(a){this.colors={RND:{}},this.options={color:\"rgba(0,0,0,0)\",grey:q,luminance:r,valueRanges:l},t(this,a||{})},t=function(a,d){var e,f=a.options;u(a);for(var g in d)d[g]!==b&&(f[g]=d[g]);e=f.customBG,f.customBG=\"string\"==typeof e?v.txt2color(e).rgb:e,p=c(a.colors,f.color,b,!0)},u=function(a){o!==a&&(o=a,p=a.colors)};s.prototype.setColor=function(a,d,f){return u(this),a?c(this.colors,a,d,b,f):(f!==b&&(this.colors.alpha=k(f,0,1)),e(d))},s.prototype.setCustomBackground=function(a){return u(this),this.options.customBG=\"string\"==typeof a?v.txt2color(a).rgb:a,c(this.colors,b,\"rgb\")},s.prototype.saveAsBackground=function(){return u(this),c(this.colors,b,\"rgb\",!0)},s.prototype.toString=function(a,b){return v.color2text((a||\"rgb\").toLowerCase(),this.colors,b)};var v={txt2color:function(a){var b={},c=a.replace(/(?:#|\\)|%)/g,\"\").split(\"(\"),d=(c[1]||\"\").split(/,\\s*/),e=c[1]?c[0].substr(0,3):\"rgb\",f=\"\";if(b.type=e,b[e]={},c[1])for(var g=3;g--;)f=e[g]||e.charAt(g),b[e][f]=+d[g]/l[e][f][1];else b.rgb=v.HEX2rgb(c[0]);return b.alpha=d[3]?+d[3]:1,b},color2text:function(a,b,c){var d=c!==!1&&n(100*b.alpha)/100,e=\"number\"==typeof d&&c!==!1&&(c||1!==d),f=b.RND.rgb,g=b.RND.hsl,h=\"hex\"===a&&e,i=\"hex\"===a&&!h,j=\"rgb\"===a||h,k=j?f.r+\", \"+f.g+\", \"+f.b:i?\"#\"+b.HEX:g.h+\", \"+g.s+\"%, \"+g.l+\"%\";return i?k:(h?\"rgb\":a)+(e?\"a\":\"\")+\"(\"+k+(e?\", \"+d:\"\")+\")\"},RGB2HEX:function(a){return((a.r<16?\"0\":\"\")+a.r.toString(16)+(a.g<16?\"0\":\"\")+a.g.toString(16)+(a.b<16?\"0\":\"\")+a.b.toString(16)).toUpperCase()},HEX2rgb:function(a){return a=a.split(\"\"),{r:+(\"0x\"+a[0]+a[a[3]?1:0])/255,g:+(\"0x\"+a[a[3]?2:1]+(a[3]||a[1]))/255,b:+(\"0x\"+(a[4]||a[2])+(a[5]||a[2]))/255}},hue2RGB:function(a){var b=6*a,c=~~b%6,d=6===b?0:b-c;return{r:n(255*[1,1-d,0,0,d,1][c]),g:n(255*[d,1,1,1-d,0,0][c]),b:n(255*[0,0,d,1,1,1-d][c])}},rgb2hsv:function(a){var b,c,d,e=a.r,f=a.g,g=a.b,h=0;return g>f&&(f=g+(g=f,0),h=-1),c=g,f>e&&(e=f+(f=e,0),h=-2/6-h,c=m.min(f,g)),b=e-c,d=e?b/e:0,{h:1e-15>d?p&&p.hsl&&p.hsl.h||0:b?m.abs(h+(f-g)/(6*b)):0,s:e?b/e:p&&p.hsv&&p.hsv.s||0,v:e}},hsv2rgb:function(a){var b=6*a.h,c=a.s,d=a.v,e=~~b,f=b-e,g=d*(1-c),h=d*(1-f*c),i=d*(1-(1-f)*c),j=e%6;return{r:[d,h,g,g,i,d][j],g:[i,d,d,h,g,g][j],b:[g,g,i,d,d,h][j]}},hsv2hsl:function(a){var b=(2-a.s)*a.v,c=a.s*a.v;return c=a.s?1>b?b?c/b:0:c/(2-b):0,{h:a.h,s:a.v||c?c:p&&p.hsl&&p.hsl.s||0,l:b/2}},rgb2hsl:function(a,b){var c=v.rgb2hsv(a);return v.hsv2hsl(b?c:p.hsv=c)},hsl2rgb:function(a){var b=6*a.h,c=a.s,d=a.l,e=.5>d?d*(1+c):d+c-c*d,f=d+d-e,g=e?(e-f)/e:0,h=~~b,i=b-h,j=e*g*i,k=f+j,l=e-j,m=h%6;return{r:[e,l,f,f,k,e][m],g:[k,e,e,l,f,f][m],b:[f,f,k,e,e,l][m]}}};return s}),function(a,b){\"object\"==typeof exports?module.exports=b(a,require(\"jquery\"),require(\"colors\")):\"function\"==typeof define&&define.amd?define([\"jquery\",\"colors\"],function(c,d){return b(a,c,d)}):b(a,a.jQuery,a.Colors)}(this,function(a,b,c,d){\"use strict\";function e(a){return a.value||a.getAttribute(\"value\")||b(a).css(\"background-color\")||\"#FFF\"}function f(a){return a=a.originalEvent&&a.originalEvent.touches?a.originalEvent.touches[0]:a,a.originalEvent?a.originalEvent:a}function g(a){return b(a.find(r.doRender)[0]||a[0])}function h(c){var d=b(this),f=d.offset(),h=b(a),k=r.gap;c?(s=g(d),s._colorMode=s.data(\"colorMode\"),p.$trigger=d,(t||i()).css(r.positionCallback.call(p,d)||{left:(t._left=f.left)-((t._left+=t._width-(h.scrollLeft()+h.width()))+k>0?t._left+k:0),top:(t._top=f.top+d.outerHeight())-((t._top+=t._height-(h.scrollTop()+h.height()))+k>0?t._top+k:0)}).show(r.animationSpeed,function(){c!==!0&&(y.toggle(!!r.opacity)._width=y.width(),v._width=v.width(),v._height=v.height(),u._height=u.height(),q.setColor(e(s[0])),n(!0))}).off(\".tcp\").on(D,\".cp-xy-slider,.cp-z-slider,.cp-alpha\",j)):p.$trigger&&b(t).hide(r.animationSpeed,function(){n(!1),p.$trigger=null}).off(\".tcp\")}function i(){return b(\"head\")[r.cssPrepend?\"prepend\":\"append\"]('<style type=\"text/css\" id=\"tinyColorPickerStyles\">'+(r.css||I)+(r.cssAddon||\"\")+\"</style>\"),b(H).css({margin:r.margin}).appendTo(\"body\").show(0,function(){p.$UI=t=b(this),F=r.GPU&&t.css(\"perspective\")!==d,u=b(\".cp-z-slider\",this),v=b(\".cp-xy-slider\",this),w=b(\".cp-xy-cursor\",this),x=b(\".cp-z-cursor\",this),y=b(\".cp-alpha\",this),z=b(\".cp-alpha-cursor\",this),r.buildCallback.call(p,t),t.prepend(\"<div>\").children().eq(0).css(\"width\",t.children().eq(0).width()),t._width=this.offsetWidth,t._height=this.offsetHeight}).hide()}function j(a){var c=this.className.replace(/cp-(.*?)(?:\\s*|$)/,\"$1\").replace(\"-\",\"_\");(a.button||a.which)>1||(a.preventDefault&&a.preventDefault(),a.returnValue=!1,s._offset=b(this).offset(),(c=\"xy_slider\"===c?k:\"z_slider\"===c?l:m)(a),n(),A.on(E,function(){A.off(\".tcp\")}).on(C,function(a){c(a),n()}))}function k(a){var b=f(a),c=b.pageX-s._offset.left,d=b.pageY-s._offset.top;q.setColor({s:c/v._width*100,v:100-d/v._height*100},\"hsv\")}function l(a){var b=f(a).pageY-s._offset.top;q.setColor({h:360-b/u._height*360},\"hsv\")}function m(a){var b=f(a).pageX-s._offset.left,c=b/y._width;q.setColor({},\"rgb\",c)}function n(a){var b=q.colors,c=b.hueRGB,e=(b.RND.rgb,b.RND.hsl,r.dark),f=r.light,g=q.toString(s._colorMode,r.forceAlpha),h=b.HUELuminance>.22?e:f,i=b.rgbaMixBlack.luminance>.22?e:f,j=(1-b.hsv.h)*u._height,k=b.hsv.s*v._width,l=(1-b.hsv.v)*v._height,m=b.alpha*y._width,n=F?\"translate3d\":\"\",p=s[0].value,t=s[0].hasAttribute(\"value\")&&\"\"===p&&a!==d;v._css={backgroundColor:\"rgb(\"+c.r+\",\"+c.g+\",\"+c.b+\")\"},w._css={transform:n+\"(\"+k+\"px, \"+l+\"px, 0)\",left:F?\"\":k,top:F?\"\":l,borderColor:b.RGBLuminance>.22?e:f},x._css={transform:n+\"(0, \"+j+\"px, 0)\",top:F?\"\":j,borderColor:\"transparent \"+h},y._css={backgroundColor:\"#\"+b.HEX},z._css={transform:n+\"(\"+m+\"px, 0, 0)\",left:F?\"\":m,borderColor:i+\" transparent\"},s._css={backgroundColor:t?\"\":g,color:t?\"\":b.rgbaMixBGMixCustom.luminance>.22?e:f},s.text=t?\"\":p!==g?g:\"\",a!==d?o(a):G(o)}function o(a){v.css(v._css),w.css(w._css),x.css(x._css),y.css(y._css),z.css(z._css),r.doRender&&s.css(s._css),s.text&&s.val(s.text),r.renderCallback.call(p,s,\"boolean\"==typeof a?a:d)}var p,q,r,s,t,u,v,w,x,y,z,A=b(document),B=b(),C=\"touchmove.tcp mousemove.tcp pointermove.tcp\",D=\"touchstart.tcp mousedown.tcp pointerdown.tcp\",E=\"touchend.tcp mouseup.tcp pointerup.tcp\",F=!1,G=a.requestAnimationFrame||a.webkitRequestAnimationFrame||function(a){a()},H='<div class=\"cp-color-picker\"><div class=\"cp-z-slider\"><div class=\"cp-z-cursor\"></div></div><div class=\"cp-xy-slider\"><div class=\"cp-white\"></div><div class=\"cp-xy-cursor\"></div></div><div class=\"cp-alpha\"><div class=\"cp-alpha-cursor\"></div></div></div>',I=\".cp-color-picker{position:absolute;overflow:hidden;padding:6px 6px 0;background-color:#444;color:#bbb;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;cursor:default;border-radius:5px}.cp-color-picker>div{position:relative;overflow:hidden}.cp-xy-slider{float:left;height:128px;width:128px;margin-bottom:6px;background:linear-gradient(to right,#FFF,rgba(255,255,255,0))}.cp-white{height:100%;width:100%;background:linear-gradient(rgba(0,0,0,0),#000)}.cp-xy-cursor{position:absolute;top:0;width:10px;height:10px;margin:-5px;border:1px solid #fff;border-radius:100%;box-sizing:border-box}.cp-z-slider{float:right;margin-left:6px;height:128px;width:20px;background:linear-gradient(red 0,#f0f 17%,#00f 33%,#0ff 50%,#0f0 67%,#ff0 83%,red 100%)}.cp-z-cursor{position:absolute;margin-top:-4px;width:100%;border:4px solid #fff;border-color:transparent #fff;box-sizing:border-box}.cp-alpha{clear:both;width:100%;height:16px;margin:6px 0;background:linear-gradient(to right,#444,rgba(0,0,0,0))}.cp-alpha-cursor{position:absolute;margin-left:-4px;height:100%;border:4px solid #fff;border-color:#fff transparent;box-sizing:border-box}\",J=function(a){q=this.color=new c(a),r=q.options,p=this};J.prototype={render:n,toggle:h},b.fn.colorPicker=function(c){var d=this,f=function(){};return c=b.extend({animationSpeed:150,GPU:!0,doRender:!0,customBG:\"#FFF\",opacity:!0,renderCallback:f,buildCallback:f,positionCallback:f,body:document.body,scrollResize:!0,gap:4,dark:\"#222\",light:\"#DDD\"},c),!p&&c.scrollResize&&b(a).on(\"resize.tcp scroll.tcp\",function(){p.$trigger&&p.toggle.call(p.$trigger[0],!0)}),B=B.add(this),this.colorPicker=p||new J(c),this.options=c,b(c.body).off(\".tcp\").on(D,function(a){-1===B.add(t).add(b(t).find(a.target)).index(a.target)&&h()}),this.on(\"focusin.tcp click.tcp\",function(a){p.color.options=b.extend(p.color.options,r=d.options),h.call(this,a)}).on(\"change.tcp\",function(){q.setColor(this.value||\"#FFF\"),d.colorPicker.render(!0)}).each(function(){var a=e(this),d=a.split(\"(\"),f=g(b(this));f.data(\"colorMode\",d[1]?d[0].substr(0,3):\"HEX\").attr(\"readonly\",r.preventFocus),c.doRender&&f.css({\"background-color\":a,color:function(){return q.setColor(a).rgbaMixBGMixCustom.luminance>.22?c.dark:c.light}})})},b.fn.colorPicker.destroy=function(){b(\"*\").off(\".tcp\"),p.toggle(!1),B=b()}});\n\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/contentbuilder.css",
    "content": "@import url('icons/css/fontello.css');\n@import url('icons/css/animation.css');\n\n/* Content Builder */\n.drop-zone {}\n.empty {border:rgba(0, 0, 0, 0.25) 1px dashed;}\n.drop-zone.empty { background:#efefef; }\n\n.block-placeholder{height:15px;background: rgba(225,225,225,1);}\n/*.block-placeholder{height:0px !important;outline: rgba(225,225,225,1) 7px solid;}*/\n.ui-draggable{position:relative}\n.ui-draggable.code > div:first-child {\n    /*opacity:0.5;\n    cursor:default;*/\n} /* Mode: code */\n.ui-dragbox {\n    -webkit-box-shadow: inset 11px 0px 0px -6px rgba(224, 224, 224, 1);\n    -moz-box-shadow: inset 11px 0px 0px -6px rgba(224, 224, 224, 1);\n    box-shadow: inset 11px 0px 0px -6px rgba(224, 224, 224, 1);\n    z-index:1}\n/*.ui-dragbox-outlined {\n    outline: rgba(0, 0, 0, 0.43) dashed 1px;\n    z-index:1}  */\n.ui-dragbox-outlined > div:first-child {\n    outline: rgba(228, 156, 90, 0.5) solid 1px;\n    z-index:1\n}\n.ui-dragbox-outlined.firefox > div:first-child {\n    outline: 1px dotted rgba(113, 54, 0, 0.5); /* For Firefox: uses dotted to prevent rendering issue on zoom */\n    z-index:1\n}\n.ui-dragbox-outlined.code > div:first-child {\n    outline: rgba(171, 171, 171, 0.5) solid 1px;\n}\n.ui-dragbox-outlined.code.firefox > div:first-child {\n    outline: 1px dotted rgba(171, 171, 171, 0.5);\n}\n.btn{\n    white-space: unset !important;\n}\n.dynamic {  width:150px !important; height:60px !important; border:rgba(225,225,225,0.9) 5px solid !important;background:transparent !important;}\n#infoSource { box-sizing: border-box;\n    padding: 10px 20px;\n    font-size: 14px;\n    font-family: sans-serif;\n    background: #f2f2f2;\n    color: #333;\n    letter-spacing: 1px; }\n\n.row-tool{display:none;z-index:20;width:30px;font-size:15px;color:rgba(200,200,200,0.8);position:absolute;top:0;left:-37px;border-radius: 4px;overflow: hidden;}\n.row-handle{cursor:move;background: rgb(175, 206, 1);color:#fff;border-top-left-radius: 5px;border-top-right-radius: 5px;width:30px;height:30px;text-align:center;line-height:30px;}\n.row-html{cursor:pointer;background: rgb(0, 172, 214);color:#fff;width:30px;height:30px;text-align:center;line-height:30px;}\n.row-html.row-module {background:rgb(255, 152, 0);}\n.row-copy{cursor:pointer;background: rgb(77, 77, 77);color:#fff;width:30px;height:30px;text-align:center;line-height:30px;}\n.row-remove {cursor:pointer;background:rgb(247, 99, 46);color:#fff;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px;width:30px;height:30px;font-size:15px;text-align:center;line-height:30px;}\n.row-handle *, .row-html *, .row-copy *, .row-remove * {color:#fff !important;}\n\n#divTool {\n    z-index: 10001;\n    position: fixed; top: 0; right: -300px;\n    width: 270px; height: 100%; padding: 13px 17px; box-sizing: border-box;\n    background-color: rgb(255, 249, 255);\n    color: #111;\n    /*-webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.29);\n    -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.29);\n    box-shadow: 0 0 3px rgba(0, 0, 0, 0.29);*/\n}\n#lnkToolOpen {\n    width: 30px; padding: 10px 3px; margin: 0; background: #8A288F;\n    position: absolute; top: 100px; left: -30px;\n    font-family: sans-serif;\n    color: white;\n    font-size: 1.2em;\n    line-height: 1;\n    text-decoration: none;\n    text-align: center;\n    border-top-left-radius: 5px;\n    border-bottom-left-radius: 5px;\n    border-right: none;\n    box-sizing: border-box;\n}\n#lnkToolOpen.leftside {\n    left: auto; right: -30px;\n    border-radius: 0;\n    border-top-right-radius: 5px;\n    border-bottom-right-radius: 5px;\n    border-left: none;\n}\n\n.is-snippet-list {width:100%;height:100%;border-bottom:rgba(0,0,0,0) 5px solid;margin:0;padding:5px 0;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;text-align:center;}\n.is-snippet-list div{cursor:move;margin:0 14px 5px 0;padding:0;background:#acacac;display:inline-block;}\n.is-snippet-list div:hover img {opacity:0.5;transition: all 0.2s ease-in-out;}\n.is-snippet-list div img {\n    width:100%; max-width:194px; margin:0; box-sizing:border-box;\n    display:block;\n    -webkit-box-shadow: 0 0 7px rgba(0, 0, 0,0.2);\n    -moz-box-shadow: 0 0 5px rgba(0, 0, 0,0.2);\n    box-shadow: 0 0 5px rgba(0, 0, 0,0.2);\n}\n\n#divSnippetList::-webkit-scrollbar {width: 12px;}\n#divSnippetList::-webkit-scrollbar-track {\n    background:rgba(255, 255, 255, 0.49);\n    border-radius: 10px;\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\n}\n#divSnippetList::-webkit-scrollbar-thumb {\n    border-radius: 10px;\n    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);\n}\n\n/*http://codepen.io/vcmg/pen/JdKeVG */\n.dot {\n  height: 7px;\n  width: 7px;\n  border-radius: 50%;\n  background-color: #ff6700;\n  display: inline-block;\n  margin: 25px 2px 0;\n  -webkit-animation: jump 1.5s linear infinite;\n}\n@-webkit-keyframes jump {\n  0%, 100% {transform: translateY(0px);}\n  20% {transform: translateY(-10px);}\n  40% {transform: translateY(0px);}\n}\n.dot:nth-of-type(2) {\n  -webkit-animation-delay: 0.2s;\n}\n.dot:nth-of-type(3) {\n  -webkit-animation-delay: 0.4s;\n}\n\n\n:focus {outline: none;}\n.row > * {min-height:30px; width: 100%;}\n\n/* Content Editor */\n\n#rte-toolbar {display:none;\n    padding:0;\n    text-align:center;position:fixed;top:20px;left:calc((100% - 724px)/2);background:rgb(252, 252, 252);\n    margin:0px;opacity:1;z-index:1000;webkit-box-shadow: none;-moz-box-shadow: none;box-shadow: none;\n    border:#ababab 1px solid;border-radius:4px;\n    box-sizing: border-box;}\n#rte-toolbar .rte-draggable {\n    cursor: move;\n    width: 6px;\n    height: 43px;\n    box-sizing: border-box;\n    display: inline-block;\n    margin-left: 1px;\n    float: left;\n    border-radius:0;\n    /*background-color: rgba(242, 242, 242, 0.95); top*/\n    background-color: rgba(255, 255, 255, 0.95);\n    border-top-left-radius: 4px;border-bottom-left-radius: 4px; /*top*/\n}\n#rte-toolbar.rte-side .rte-draggable {\n    width: 47px;\n    height: 8px; /* temporary (16px if using drag icon) */\n    background-color: rgba(255, 255, 255, 0.95);\n    border-top-left-radius: 4px;border-top-right-radius: 4px;\n}\n#rte-toolbar .rte-draggable i {display:none} /* temporary */\n\n#rte-toolbar.rte-side {top:calc((100% - 600px)/2);left:20px;width:50px;}\n#rte-toolbar.rte-side.right {left:auto;right:10px;}\n#rte-toolbar.rte-side > .rte-draggable > i {\n    color: #333333;\n    font-size: 13px;\n    line-height: 13px;\n    margin: 0;\n    top: 2px;\n    left: 15px;\n    position: absolute;\n}\n\n#rte-toolbar .rte-draggable {border-radius:0;border-top-left-radius: 4px;border-bottom-left-radius: 4px}\n#rte-toolbar.rte-side .rte-draggable {border-radius:0;border-top-left-radius: 4px;border-top-right-radius: 4px}\n#rte-toolbar button:last-child {border-top-right-radius: 4px;border-bottom-right-radius: 4px}\n#rte-toolbar.rte-side button:last-child {border-radius:0;border-bottom-left-radius: 4px;border-bottom-right-radius: 4px}\n\n#rte-toolbar button {\n    width:48px;\n    box-sizing: border-box;\n    border-radius: 0px;\n    padding:12px 12px;\n    margin:0;\n    color: #333333;\n    background-color: rgba(255, 255, 255, 0.95) /*rgba(224, 224, 224, 0.95)*/;\n    border:none;\n    display: inline-block;\n    cursor: pointer;\n    font-size: 12px;\n    text-align:center;\n    line-height: 1.6;\n    text-decoration:none;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    -o-user-select: none;\n    user-select: none;\n    -webkit-transition: all 0.1s ease-in-out;\n    transition: all 0.1s ease-in-out;\n    }\n#rte-toolbar.rte-side button {\n    padding:10px 12px;\n    }\n#rte-toolbar button:hover {\n    background-color: #eee;\n    }\n\n.rte-pop {display:none;position:fixed;border-radius:5px;border:#b5b5b5 1px solid;background:#ffffff;z-index:1000;/*overflow:hidden;*/}\n\n/* http://www.cssarrowplease.com/ */\n/* arrow-left */\n.rte-pop:after, .rte-pop:before {\n\tright: 100%;\n\ttop: 20px;\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.rte-pop:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-right-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-top: -7px;\n}\n.rte-pop:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-right-color: #8a8a8a;\n\tborder-width: 8px;\n\tmargin-top: -8px;\n}\n\n/* arrow-right */\n.rte-pop.arrow-right:after, .rte-pop.arrow-right:before {\n\tleft: 100%;\n\ttop: 20px;\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.rte-pop.arrow-right:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-left-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-top: -7px;\n}\n.rte-pop.arrow-right:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-left-color: #8a8a8a;\n\tborder-width: 8px;\n\tmargin-top: -8px;\n}\n\n/* arrow-top */\n.rte-pop.arrow-top:after, .rte-pop.arrow-top:before {\n\tbottom: 100%;\n\tleft: 20px;\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n\n\n\ttop: auto;\n}\n.rte-pop.arrow-top:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-bottom-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-left: -7px;\n}\n.rte-pop.arrow-top:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-bottom-color: #8a8a8a;\n\tborder-width: 8px;\n\tmargin-left: -8px;\n}\n\n.rte-pop button {\n    width:48px;\n    box-sizing: border-box;\n    border-radius: 0px;\n    padding:12px 12px;\n    color: #333333;\n    background-color: rgba(255, 255, 255, 0.95);\n    border:none;\n    display: inline-block;\n    cursor: pointer;\n    font-size: 14px;\n    font-family: sans-serif;\n    text-align:center;\n    line-height: 1.4;\n    text-decoration:none;\n    -webkit-user-select: none;\n    -moz-user-select: none;\n    -ms-user-select: none;\n    -o-user-select: none;\n    user-select: none;\n    -webkit-transition: all 0.15s ease-in-out;\n    transition: all 0.15s ease-in-out;\n    margin:0;\n    }\n.rte-pop.rte-side button {\n    padding:10px 12px;\n    line-height: 1.6;\n    }\n.rte-pop button:hover {\n    background-color: #eee;\n    }\n\n.rte-pop button.updown {\n    background: rgba(0, 0, 0, 0.08);\n    font-size: 17px;\n    font-family: sans-serif;\n    line-height: 42px;\n    padding:0;\n    float:left;\n    width:48px;\n    text-align:center;\n    }\n.rte-pop button.updown:hover {\n    background: rgba(0, 0, 0, 0.13);\n    }\n\n\n#pop-align {width:192;height:44px;top:73px;}\n#pop-align.rte-side {width:48px;height:auto;}\n\n#pop-list {width:192;height:44px;top:73px;}\n#pop-list.rte-side {width:48px;height:auto;}\n\n#pop-formatting {width:240;height:44px;top:73px;}\n#pop-formatting.rte-side {width:48px;height:auto;}\n\n#pop-textsettings, #pop-fontfamily, #pop-headings, #pop-colors, #pop-table {width:180px;height:190px;padding:0 13px;text-align:left;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    border-radius: 5px;\n\n    text-transform: uppercase;\n    font-size: 11px;\n    font-family: sans-serif;\n    letter-spacing: 1px;\n    line-height: 2;\n    }\n#pop-textsettings {width: 175px;height: 239px;}\n#pop-textsettings span {text-transform: none;font-size:12px;}\n#pop-textsettings > div {margin:7px 0}\n#pop-textsettings > div:first-child {margin:9px 0}\n#pop-fontfamily {width:180px;height:213px;padding:0 0;}\n#pop-headings {width:180px;height:213px;padding:0 0;}\n#pop-colors {width:263px;height:270px;padding:0 0;}\n.cust_colors {white-space:nowrap;margin-top:5px;overflow:hidden;border-radius:4px;display:inline-block;border-right:rgba(165, 165, 165, 0.5) 1px solid;border-left:rgba(165, 165, 165, 0.5) 1px solid;border-bottom: rgba(165, 165, 165, 0.5) 1px solid}\n#btnResetTextSettings {cursor:pointer;margin-left:-4px;}\n#pop-table {width:211px;height:196px;padding:0 0;}\n\n#ifrHeadings {\n    width: 100%;\n    height: 211px;\n    border-radius: 5px;\n    border: none;\n}\n#ifrFonts {\n    width: 100%;\n    height: 211px;\n    border-radius: 5px;\n    border: none;\n}\n\n#pop-align button:first-child,\n#pop-list button:first-child,\n#pop-formatting button:first-child {border-radius:0;border-top-left-radius: 5px;border-bottom-left-radius: 5px}\n#pop-align button:last-child,\n#pop-list button:last-child,\n#pop-formatting button:last-child {border-radius:0;border-top-right-radius: 5px;border-bottom-right-radius: 5px}\n\n#pop-align.rte-side button:first-child,\n#pop-list.rte-side button:first-child,\n#pop-formatting.rte-side button:first-child {border-radius:0;border-top-left-radius: 5px;border-top-right-radius: 5px}\n#pop-align.rte-side button:last-child,\n#pop-list.rte-side button:last-child,\n#pop-formatting.rte-side button:last-child {border-radius:0;border-bottom-left-radius: 5px;border-bottom-right-radius: 5px}\n\n#divRteLink {display:none;white-space:nowrap;height:33px;position:absolute;text-align:center;\n    vertical-align:middle;z-index:1000;opacity:0.9;background:#1AA3FF;cursor:pointer;\n\tborder-radius:3px;border:#B7DEF3 0px solid;color:#fff;font-family: sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:1px;padding:0 10px;line-height:35px}\n#divRteLink.forceshow {display: block !important}\n#divFrameLink  {display:none;width:67px;white-space:nowrap;height:22px;position:absolute;text-align:center;\n    vertical-align:middle;z-index:1000;opacity:0.9;background:#1AA3FF;cursor:pointer;\n\tborder-radius:3px;border:#B7DEF3 0px solid;color:#fff;font-family: sans-serif;font-size:11px;line-height:22px}\n#divRteTable {display:none;width:60px;height:30px;position:absolute;z-index:1000;padding:0;}\n#divRteTable #btnEditTable {float:left;background:#f7a82e;color:#fff;border-top-left-radius:4px;border-bottom-left-radius:4px;border:none;margin:0;width:30px;height:100%;box-sizing:border-box;cursor:pointer;font-size:13px;text-align:center;}\n#divRteTable #btnDeleteTable {float:left;background:#f7632e;color:#fff;border-top-right-radius:4px;border-bottom-right-radius:4px;border:none;margin:0;width:30px;height:100%;box-sizing:border-box;cursor:pointer;font-size:14px;text-align:center;padding:0 2px 0 0;}\n#divRteHtml {display:none;width:100px;height:35px;white-space:nowrap;position:absolute;text-align:right;\n             vertical-align:middle;text-align:right;z-index:1;}\n#divRteHtml #lnkRteHtml {border-radius:3px;opacity:0.9;cursor:pointer;border:#fff 0px solid;\n                         font-size:12px;margin:2px 2px 2px 2px;color:#fff;background:#000/*#1AA3FF*/;display:inline-block;width:27px;height:27px;line-height:27px;text-align:center;}\n\n@media (max-width: 600px) {\n    #rte-toolbar {display: none !important}\n}\n\n/* Image Embed */\n\n/* Custom Image Upload */\ndiv.fileinputs {position: relative;}\ndiv.fakefile {position: absolute;top:0px;left:0px;z-index: 1;}\ndiv.fakefile img {width:50px;height:50px;border-radius:50px}\n#img-file {width:50px;height:50px;position: relative;text-align: right;-moz-opacity:0;filter:alpha(opacity:0);opacity:0;z-index:2;cursor:pointer;}\n#divUploadImg {display:none;width:50px;height:50px;white-space:nowrap;position:absolute;z-index:15;border-radius:50px;text-align:center;vertical-align:middle;opacity:0.95;background:#2a2a2a;cursor:pointer;}\n#divUploadImg i {font-size:20px;color:#ffffff;display:inline-block;line-height:50px;text-align:center;}\n\n/* Content Image Upload */\ninput.my-file {width:30px;height:30px;position: relative;text-align: right;-moz-opacity:0;filter:alpha(opacity:0);opacity:0;z-index:2;cursor:pointer;}\n#divToolImg {display:none;width:30px;height:30px;white-space:nowrap;position:absolute;z-index:10000;border-radius:4px;text-align:center;vertical-align:middle;opacity:0.8;background:rgba(0, 0, 0, 0.9);cursor:pointer;\n             background:rgba(0, 163, 204, 0.9)}\n#divToolImg #lnkEditImage{font-size:16px;color:#ffffff;display:inline-block;line-height:30px;text-align:center;}\n#divToolImgSettings {display:none;width:30px;height:35px;white-space:nowrap;position:absolute;z-index:10000;text-align:center;vertical-align:middle;}\n#divToolImgSettings #lnkImageSettings{width:30px;height:30px;border-radius:4px;opacity:0.8;background:rgba(233, 84, 0, 0.9);cursor:pointer;font-size:14px;color:#ffffff;display:inline-block;line-height:30px;text-align:center}\n\n#divToolImgLoader {display:none;width:50px;height:50px;margin-top:-15px;margin-left:-15px;white-space:nowrap;position:absolute;z-index:10000;border-radius:50px;text-align:center;vertical-align:middle;opacity:0.8;cursor:pointer;\n             background:rgba(255, 255, 255, 0)}\n#divToolImgLoader #lnkImageLoader {font-size:30px;color:rgba(0, 163, 204, 1);display:inline-block;line-height:50px;text-align:center;}\n\n#img-control button, #btnChangeImage, #btnImageMoreOk {\npadding: 5px;\nmargin-right: 2px;\nfont-family:Sans-Serif;\nfont-size: 12px;\nletter-spacing:1px;\nline-height: 1;\nborder-radius: 3px;\ndisplay: inline-block;\nmargin-bottom: 0;\nfont-weight: normal;\ntext-align: center;\nvertical-align: middle;\ncursor: pointer;\nbackground-image: none;\nborder: 1px solid transparent;\nwhite-space: nowrap;\n-webkit-user-select: none;\n-moz-user-select: none;\n-ms-user-select: none;\n-o-user-select: none;\nuser-select: none;\ncolor:#333;\n}\n#btnChangeImage, #btnImageMoreOk {\n    color: #ffffff !important;\n    background-color: rgba(0, 163, 204, 0.8);\n    padding-right:4px;\n}\n#btnImageMoreOk {\n    width: 120px;\n    height: 35px;\n    margin-top:10px;\n}\n#divImageMore {\n    position:absolute;top:0;left:0;background:#fff;padding:20px;border-radius:3px;box-shadow:0px 2px 2px rgba(62, 62, 62, 0.3);\n}\n#divImageMore label {display:inline}\n\n/*! rangeslider.js - v0.3.1 | (c) 2014 @andreruffert | MIT license | https://github.com/andreruffert/rangeslider.js */\n.rangeslider,\n.rangeslider__fill {\n  background: #e6e6e6;\n  display: block;\n  height: 10px;\n  width: 100%;\n  -webkit-box-shadow: 0px 2px 2px rgba(255, 255, 255, 0.25), inset 0px 1px 3px rgba(0, 0, 0, 0.3);\n  -moz-box-shadow: 0px 2px 2px rgba(255, 255, 255, 0.25), inset 0px 1px 3px rgba(0, 0, 0, 0.3);\n  box-shadow: 0px 2px 2px rgba(255, 255, 255, 0.25), inset 0px 1px 3px rgba(0, 0, 0, 0.3);\n  -webkit-border-radius: 10px;\n  -moz-border-radius: 10px;\n  -ms-border-radius: 10px;\n  -o-border-radius: 10px;\n  border-radius: 10px;\n}\n\n.rangeslider {\n  position: relative;\n}\n\n.rangeslider--disabled {\n  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n  opacity: 0.4;\n}\n\n.rangeslider__fill {\n  background: #ccc;\n  position: absolute;\n  top: 0;\n}\n\n.rangeslider__handle {\n  background: white;\n  border: 1px solid #ccc;\n  cursor: pointer;\n  display: inline-block;\n  width: 20px;\n  height: 20px;\n  position: absolute;\n  top: -5px;\n\n  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n  box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);\n  -webkit-border-radius: 50%;\n  -moz-border-radius: 50%;\n  -ms-border-radius: 50%;\n  -o-border-radius: 50%;\n  border-radius: 50%;\n}\n.rangeslider__handle:after {\n  content: \"\";\n  display: block;\n  width: 18px;\n  height: 18px;\n  margin: auto;\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  -webkit-border-radius: 50%;\n  -moz-border-radius: 50%;\n  -ms-border-radius: 50%;\n  -o-border-radius: 50%;\n  border-radius: 50%;\n}\n\n#divCb input[type=\"range\"]:focus + .rangeslider .rangeslider__handle {\n  -webkit-box-shadow: 0 0 8px rgba(255, 0, 255, 0.9);\n  -moz-box-shadow: 0 0 8px rgba(255, 0, 255, 0.9);\n  box-shadow: 0 0 8px rgba(255, 0, 255, 0.9);\n}\n\n\n/* Simple Modal - Inspired by modalEffects.js from http://www.codrops.com */\n.md-modal {\n\tposition: fixed;\n\ttop: 50%;\n\tleft: 50%;\n\twidth: 90%;\n\t/*max-width: 630px;*/\n\tmin-width: 150px;\n\theight: auto;\n\tz-index: 10002;\n\tvisibility: hidden; display: none;\n\t-webkit-backface-visibility: hidden;\n\t-moz-backface-visibility: hidden;\n\tbackface-visibility: hidden;\n\t-webkit-transform: translateX(-50%) translateY(-50%);\n\t-moz-transform: translateX(-50%) translateY(-50%);\n\t-ms-transform: translateX(-50%) translateY(-50%);\n\ttransform: translateX(-50%) translateY(-50%);\n\tborder-radius:5px;\n    -webkit-box-shadow: 0 4px 23px 0 rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.15);\n    -moz-box-shadow: 0 4px 23px 0 rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.15);\n    box-shadow: 0 4px 23px 0 rgba(0, 0, 0, 0.15), 0 2px 6px rgba(0, 0, 0, 0.15);\n}\n\n.md-modal.md-draggable {\n\t-webkit-transform: none;\n\t-moz-transform: none;\n\t-ms-transform: none;\n\ttransform: none;\n}\n\n.md-title {font-size:18px;text-align:center;font-weight: 400;}\n\n.md-show {\n\tvisibility: visible; display: block;\n}\n\n.md-overlay {\n\tposition: fixed;\n\twidth: 100%;\n\theight: 100%;\n\tvisibility: visible; display: block;\n\topacity: 1;\n\ttop: 0;\n\tleft: 0;\n\tz-index: 10001;\n\t/*background: rgba(255, 255, 255, 0.8);*/\n\tbackground: rgba(0, 0, 0, 0.15);\n\t-webkit-transition: all 0.3s;\n\t-moz-transition: all 0.3s;\n\ttransition: all 0.3s;\n}\n\n.md-content {\n\tcolor: #000;\n\tbackground: #fff;\n\tposition: relative;\n\tborder-radius: 5px;\n\tmargin: 0 auto;\n\toverflow: hidden; /*new: to make border-radius applied on iframe scrollbar */\n}\n\n.md-body {\n\tpadding: 0;\n\tmargin: 0;\n\tfont-size: 13px;\n   border-top-left-radius: 5px;\n   border-top-right-radius: 5px;\n}\n.md-footer{\n   text-align:right;\n   padding: 0;\n   margin: 0;\n   background: #ffffff;\n   border-radius: 5px;\n}\n.md-body input[type=text], .md-body textarea {\n    display: block;\n    width:100%;\n    margin:0;\n    font-size: 14px;\n    letter-spacing: 1px;\n    height:63px;\n    line-height: 1.7;\n    color: #000;\n    background-color: #ffffff;\n    background-image: none;\n    padding: 20px;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    /*border: 1px solid #b3b3b3;*/\n    border:none;\n    /*border-radius: 5px;*/\n    border-bottom:#eaeaea 1px solid;\n    border-collapse:collapse;\n\n}\n.md-body select {\n    padding: 5px;\n    margin:0 0 10px;\n    font-size: 14px;\n    letter-spacing: 1px;\n    height:35px;\n    line-height: 1.7;\n    color: #454545;\n    border-radius: 5px;\n    border: none;\n    background:#eee;\n}\n.md-body select option {background:#fff;}\n.md-body .inpchk {\n    font-family: sans-serif;\n    font-size: 14px;\n    letter-spacing: 1px;\n    line-height: 1.7;\n    float: left;\n    height: 63px;\n    padding: 20px;\n    box-sizing: border-box;\n    margin:0;\n}\n.md-modal button {\n    margin: 0;\n    line-height: 1.7;\n    font-size: 11px !important;\n    letter-spacing: 2px !important;\n    text-transform: uppercase !important;\n    color: #000;\n    background-color: #e3e3e3;\n    -webkit-transition: all 0.3s ease-in-out;\n    -moz-transition: all 0.3s ease-in-out;\n    transition: all 0.3s ease-in-out;\n    border:none;\n    border-radius:5px;\n    border-bottom-left-radius: 5px;\n    border-bottom-right-radius: 5px;\n    cursor:pointer;\n    transition: all 0.2s ease-in-out;\n}\n.md-footer button {\n    width:100%;\n    padding: 19px;\n}\n.md-modal button:hover {\n    background-color: #e8e8e8;\n}\n.md-modal button.primary {\n    width:70%;border-bottom-left-radius:0;\n}\n.md-modal button.secondary {\n    width:30%;border-bottom-right-radius:0;\n    background:#f0f0f0;\n}\n.md-modal button.primary:hover {\n    background-color: #e8e8e8;\n}\n.md-modal button.secondary:hover {\n    background-color: #f5f5f5;\n}\n\n\n.md-label {\n    float: left;\n    height: 63px;\n    line-height: 63px;\n    padding: 0 0 0 20px;\n    font-family: sans-serif;\n    font-size: 12px;\n    letter-spacing: 1px;\n    text-transform: uppercase;\n    color: #333;\n    width: 30%;\n    box-sizing: border-box;\n    background: #f7f7f7;\n    border-top-left-radius: 5px;\n}\n\n.md-btnbrowse {float:left;cursor:pointer;font-size:15px;height:63px;line-height:1.7;padding-top:20px;text-align:center;box-sizing:border-box;color:#aaa;background:#efefef;}\n\n#md-imageselect, #md-fileselect {z-index: 10005;} /*new*/\n\n/* Sometimes when editing, empty paragraph created (ex. when paste from external source). Hide it. Then clean it when reading the html */\n/* p:empty {display:none;} */\n\n.rte-pop button.md-pick {width:27px;height:30px;padding:0;display:inline-block;border:none;cursor:pointer;}\n.md-pickpara {width:170px;height:40px;border:none;border-radius:5px;display:block;margin:10px;padding:0px;box-sizing:border-box;cursor:pointer;}\n.md-pickpara * {margin:0 !important;line-height:0 !important;}\n.md-picksize {width:170px;min-height:40px;border:none;border-radius:5px;display:block;margin:10px;padding:7px;box-sizing:border-box;cursor:pointer;}\n.md-picksize * {margin:0 !important;line-height:0 !important;}\n\n\n::-moz-selection {\n    color: #fff;\n    background: rgb(255, 156, 38);\n}\n::selection {\n    color: #fff;\n    background: rgb(255, 156, 38);\n}\n\n#btnInsertPlh, #btnDelRowCancel, #btnDelRowOk, #btnDelTableCancel, #btnDelTableOk, .md-pick-tag {\n    padding: 0 30px;\n    font-size: 11px;\n    line-height: 35px;\n    height: 35px;\n    text-transform: uppercase;\n\n    border-radius: 4px;\n    letter-spacing: 1px;\n    display: inline-block;\n    margin-bottom: 0;\n    font-weight: normal;\n    text-align: center;\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    background-image: none;\n    border: 1px solid transparent;\n    white-space: nowrap;\n    -webkit-transition: all 0.3s ease-in-out;\n    transition: all 0.3s ease-in-out;\n}\n#btnInsertPlh, #btnDelRowCancel, #btnDelTableCancel {color: #333333;background-color: #e3e3e3;}\n#btnInsertPlh:hover, #btnDelRowCancel:hover, #btnDelTableCancel:hover, .md-pick-tag:hover {color: #111;background-color: #e8e8e8;}\n#btnDelRowOk {color: #ffffff;background-color: #08c2b3;}\n#btnDelRowOk:hover {color: #ffffff;background-color: #09cbbb;}\n#btnDelTableOk {color: #ffffff;background-color: #08c2b3;}\n#btnDelTableOk:hover {color: #ffffff;background-color: #09cbbb;}\n\n#btnCleanColor {background:#fff}\n\n#divCustomTags {max-height:287px;overflow-y:auto;overflow-x:hidden;}\n.md-pick-tag {height:40px;border-radius:0;}\n\n.custom-block {\n    min-height: 100px;\n    padding-top: 50px;\n    padding-bottom: 50px;\n    background: #EAEAEA;\n}\n\na.is-lightbox {cursor:pointer}\n.ui-draggable > div:first-child i.icon:hover {cursor:pointer}\n.ui-draggable > div:first-child i.icon-ok:hover {cursor:pointer}\n.ui-draggable > div:first-child i.icon-quote:hover {cursor:pointer}\n\n.ui-draggable > div[data-mode=readonly] i.icon:hover {cursor:default}\n.ui-draggable > div[data-mode=readonly-protected] i.icon:hover {cursor:default}\n\n.md-tabs {text-align:center;padding:15px;box-sizing:border-box;border-bottom:rgba(152, 152, 152, 0.19) 1px solid;}\n.md-tabs > * {padding: 3px 20px;border-radius:30px;background:rgba(255, 255, 255, 1);text-decoration:underline;color:rgba(0, 0, 0, 0.88);cursor:pointer;margin:0 5px;font-family: sans-serif;font-size:12px;letter-spacing: 2px;}\n.md-tabs > .active {background:rgba(0, 0, 0, 0.88);text-decoration:none;color:rgba(255, 255, 255, 0.95);cursor:auto;}\n\n.cp-color-picker { z-index: 100000;} /*tinyColorPicker*/\n#inpTextColor, #inpCellBgColor, #inpCellTextColor, #inpCellBorderColor {padding: 2px 7px;\n    width: 160px;\n    height: 36px;\n    margin: 0;\n    display: inline-block;\n    border:#dcdcdc 1px solid;\n    box-sizing:border-block}\n\n\n.rte-pop input[type=text], .rte-pop textarea {\n    display: block;\n    width:100%;\n    margin:0;\n    font-size: 14px;\n    letter-spacing: 1px;\n    height:63px;\n    line-height: 1.7;\n    color: #000;\n    background-color: #ffffff;\n    background-image: none;\n    padding: 20px;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n    box-sizing: border-box;\n    /*border: 1px solid #b3b3b3;*/\n    border:none;\n    /*border-radius: 5px;*/\n    border-bottom:#eaeaea 1px solid;\n    border-collapse:collapse;\n\n}\n.rte-pop select {\n    padding: 5px;\n    margin:0 0 10px;\n    font-size: 14px;\n    letter-spacing: 1px;\n    height:35px;\n    line-height: 1.7;\n    color: #454545;\n    border-radius: 5px;\n    border: none;\n    background:#eee;\n}\n.rte-pop select option {background:#fff;}\n.rte-pop .inpchk {\n    font-family: sans-serif;\n    font-size: 14px;\n    letter-spacing: 1px;\n    line-height: 1.7;\n    float: left;\n    height: 63px;\n    padding: 20px;\n    box-sizing: border-box;\n    margin:0;\n}\n\n#rte-toolbar button.on {\n    background-color: #eee;\n    }\n.rte-pop button.on  {\n    background-color: #eee;\n    }\n\n#md-createlink .md-modal-handle {border-bottom:#eee 1px solid;}\n\n/* Insert Image */\n.md-browse {width:100%;background:#fff;border-bottom:#eee 1px solid;}\n.md-drop-area {\n    margin: 0px 20px 20px;\n    border: 2px dashed #b4b4b4;\n    position: relative;\n}\n.md-preview-area {\n    display: none;\n    text-align: center;\n}\n.md-preview-area div {position:relative;display:inline-block;margin:10px;}\n.md-preview-area div i {position:absolute;top:0;right:0;cursor:pointer;background: rgba(255, 255, 255, 0.8); color: #f41818;width:28px;height:28px;text-align: center;line-height: 28px;font-size:24px;cursor:pointer;}\n#fileInsertImage {\n    position: absolute;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n    height: 100%;\n    outline: none;\n    opacity: 0;\n    cursor: pointer;\n}\n.drag-text p {\n    text-align: center;\n    text-transform: uppercase;\n    letter-spacing:1px;\n    padding: 60px 0;\n}\n.image-dropping,\n.md-drop-area:hover {\n    background-color: #f7f7f7;\n}\n#imgInsertImagePreview {\n    max-height: 200px;\n    max-width: 200px;\n}\n\n.table-insert {width:100%;height:100%}\n.table-insert tr td {\n    padding: 7px 8px;\n    border-right: #ccc 1px dotted;\n    border-bottom: #ccc 1px dotted;\n    cursor: pointer;\n    text-align: center;\n    font-family: sans-serif;\n    font-size: 12px;\n    line-height: 2;\n}\n.table-insert td.highlight {\n    background: #3279d2; /*#70b421*/\n    color: #fff;\n}\ntable.default td {\n    border: #cccccc 1px dashed;\n}\n#md-edittable .md-body {\n    text-transform: uppercase;\n    font-size: 12px;\n    font-family: sans-serif;\n    letter-spacing: 1px;\n    line-height: 2.7;\n}\n#divTableDesign > div, #divTableLayout > div {\n    margin:10px 20px;\n}\n#divTableLayout button {padding:12px}\n\n.md-pick-tag {border-radius:0px !important;}\n.md-modal-handle {margin:0;font-size:15px;line-height:22px;text-align:center;}\n.md-modal-close {float:right;width:25px;height:23px;cursor:pointer;}\n\n#divSnippetCat {\n    position: absolute;\n    width:86%;\n    box-sizing:border-box;\n    height:40px;\n    line-height:40px;\n    font-size:14px;\n    text-align:center;\n    letter-spacing:1px;\n    font-family: sans-serif;\n    color:#333;\n    background:#e7e7e7;\n    cursor:pointer;\n    z-index:10;\n}\n#divSnippetCatOptions {\n    position:absolute;\n    width:219px;\n    height:380px;\n    top:53px;\n    overflow-y:auto;\n    overflow-x:hidden;\n    z-index:1;\n    background:#fff;\n    box-sizing:border-box;\n\t-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);\n\t-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.2);\n\tbox-shadow:0px 10px 20px rgba(0, 0, 0, 0.15);\n\n\t-webkit-transform-origin: top center;\n\ttransform-origin: top center;\n\ttransition: 0.2s ease-out;\n\topacity: 0;\n\t-webkit-transform: translate3d(0, -2rem, 0) scale(1);\n\ttransform: translate3d(0, -2rem, 0) scale(1);\n\tvisibility: hidden;\n}\n#divSnippetCatOptions.active {\n\topacity: 1;\n\t-webkit-transform: none;\n\ttransform: none;\n\tvisibility: visible;\n}\n#divSnippetCatOptions > div {\n    padding: 3px 12px;\n    cursor: pointer;\n    font-size: 16px;\n    font-family: sans-serif;\n    line-height: 2;\n    letter-spacing: 1px;\n}\n#divSnippetCatOptions > div:hover {\n    background: #eee;\n}\n#divSnippetCat span.caret {\n\tborder-bottom: 4px solid transparent;\n\tborder-top: 4px solid rgba(0,0,0,.65);\n\tborder-right: 4px solid transparent;\n\tborder-left: 4px solid transparent;\n\tborder-radius: 1px;\n\tcontent: \"\";\n\tdisplay: inline-block;\n\theight: 0;\n\tmargin: .25rem 0 0 0;\n\ttransition: 250ms all ease;\n\twidth: 0;\n\tvertical-align: middle;\n}\n\n.CodeMirror {\n    font-family: courier;\n    font-size: 16px;\n}\n\n#md-editcontentcustomcode #txtContentCustomCode {height:450px !important;}\n#md-html .CodeMirror, #md-editcontentcustomcode .CodeMirror {height:450px !important;}\n\n.is-container {min-height:50px} /* Enlarge droppable area */"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/contentbuilder.js",
    "content": "/*\nContentBuilder.js ver.2.4.9\n*/\neval(function (p, a, c, k, e, r) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function (e) { return r[e] } ]; e = function () { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('h 3q=\\'\\';h bs=G;h 5Z=\\'#3n\\';h 8B=X;h 7P=M.6J(\"7Q\");h 2o;1C(h i=0;i<7P.V;i++){h 4Y=7P[i].1A.1J();if(4Y.1T(\"1p-1A.js\")!=-1)2o=7P[i].1A.2M(/1p-1A.js/,\"\");if(4Y.1T(\"1p.js\")!=-1)2o=7P[i].1A.2M(/1p.js/,\"\")}h fN=2o.3b(\"?\");2o=fN[0];h cU=M.bt(\\'7Q\\');cU.1A=2o+\\'k4-1z.k5.fO.js\\';M.6J(\\'fP\\')[0].bu(cU);h a9=M.bt(\\'5I\\');a9.aa=\\'cV\\';a9.1x=\\'1q/l\\';a9.2x=2o+\\'3Z/ab/3Z.l\\';M.6J(\\'fP\\')[0].bu(a9);(D(d){h $6K;d.1p=D(C,4A){h 7f={6s:\"h1,h2,h3,h4,h5,h6,p,k6,cX,ol,fQ,.7g,3O,i\",61:\\'7R\\',1X:D(){},5J:D(){},fR:D(){},6L:D(){},6M:D(){},fS:\\'fT/7R/k7.K\\',fU:\\'fT/k8/\\',91:[\\'\\',\\'\\'],6t:X,cY:\\'1Y\\',cZ:X,d0:X,fV:X,7S:[[0,\"fW\"],[-1,\"fX\"],[1,\"93\"],[2,\"93, fY\"],[3,\"d1, 93\"],[4,\"d1, 93, fY\"],[5,\"fZ, ac\"],[6,\"ac\"],[7,\"ac, ad + bv\"],[8,\"fZ, ac, ad + bv\"],[33,\"k9\"],[34,\"ka\"],[9,\"ad + bv\"],[10,\"ad + kb bv\"],[11,\"ad\"],[12,\"kc 6u\"],[13,\"kd ae ke\"],[14,\"bw\"],[15,\"kf\"],[16,\"g0\"],[17,\"kg\"],[20,\"kh\"],[18,\"ki\"],[21,\"kj\"],[22,\"kk d1\"],[23,\"kl\"],[24,\"km g0\"],[25,\"kn/ko\"],[26,\"kp kq kr\"],[27,\"ks/kt\"],[28,\"ku kv kw\"],[29,\"kx\"],[32,\"ky\"],[30,\"kz kA\"],[31,\"kB kC kD\"],[19,\"kE\"],[3u,\"d2 kF\"]],d3:[],g1:X,g2:\\'<b>g3</b>: g4 is a 3E 1H. d2 6N 3E (&lt;7Q&gt; 1H) is g5 g6 g7 g8 94 g9 ga or gb bx gc 4p 4Z, gd ge at d4 gf gg. gh do 94 gj gk bx d5 3E.\\',41:\\'\\',3F:\\'\\',4B:D(){},4C:D(){},5l:\\'\\',4L:G,d6:G,7T:[\"4D\",\"4M\",\"5m\",\"5n\",\"1f\",\"1N\",\"7U\",\"2q\",\"3G\",\"1R\",\"1z\",\"8C\",\"7V\",\"1b\",\"5K\",\"7h\",\"K\"],62:[\"#gl\",\"#gm\",\"#gn\",\"#go\",\"#gp\",\"#gq\",\"#gr\",\"#gs\",\"#gu\",\"#gv\",\"#gw\",\"#gx\",\"#gy\",\"#gz\",\"#gA\",\"#gB\",\"#gC\",\"#gD\",\"#gE\",\"#gF\",\"#gG\",\"#gH\",\"#gI\",\"#gJ\",\"#gK\",\"#gL\",\"#d7\",\"#gM\",\"#gN\",\"#gO\",\"#gP\",\"#gQ\",\"#gR\",\"#gS\",\"#gT\",\"#gU\"],gV:\\'#3n\\',gW:\\'#2N\\',2e:\\'1i\\',8D:\\'63\\',95:\\'\\',d8:X,7i:\\'\\',6v:\\'\\',d9:X,6O:[],kG:[]};q.I={};h $C=d(C),C=C;q.3o=[];q.5o=[];q.7W=D(){q.I=d.af({},7f,4A);h 47=2n.2r.1J().1T(\\'66\\')>-1;if(47)q.I.d8=G;$C.1L(\\'da\\');if(3q==\\'\\'){3q=\\'#\\'+$C.H(\\'id\\')}F{3q=3q+\\',#\\'+$C.H(\\'id\\')}5Z=q.I.gV;8B=q.I.d0;if(d(\\'#4q\\').V==0){d(\\'2A\\').3P(\\'<B id=\"4q\"></B>\\')}1C(h i=0;i<q.I.d3.V;i++){q.I.7S.ag(q.I.d3[i])}if(d(\\'.is-gX-3G\\').V==0){h ah=\\'\\';if(q.I.g1==X){1C(h i=0;i<q.I.7S.V;i++){if(q.I.7S[i][0]==3u){q.I.7S.gY(i,1)}}}h ah=\\'<B id=\"8E\" R=\"1e:1u\">fW <3c E=\"db\"></3c></B>\\'+\\'<B id=\"5p\">\\';1C(h i=0;i<q.I.7S.V;i++){ah+=\\'<B k-1D=\"\\'+q.I.7S[i][0]+\\'\">\\'+q.I.7S[i][1]+\\'</B>\\'}ah+=\\'</B>\\';if(5Z==\\'#3n\\'){h gZ=\\'<B id=\"2N\"></B>\\';d(\\'#4q\\').3P(gZ)}d(q.I.gW).3P(ah);if(5Z==\\'#3n\\'){h by=\\'<B id=\"h0\" R=\"3v:6P;1i:0;W:0;O:3u%;1n:3u%;1e:1R;1Z:6w(7X,7X,7X,0.2);z-52:1;\">\\'+\\'<B R=\"1e:1R-kH;kI-2q:kJ;1q-2q:6Q;1Z:bz(dc, dc, dc);\"><B E=\"kK\">\\'+\\'<B E=\"5L\"></B>\\'+\\'<B E=\"5L\"></B>\\'+\\'<B E=\"5L\"></B>\\'+\\'</B></B>\\'+\\'</B>\\';by+=\\'<B id=\"3n\"></B>\\';by+=\\'<a id=\"49\" 2x=\"#\"><i E=\"cb-1b-W-4f-4N\" R=\"1N-1M: h7;\"></i></a>\\';h h8=\\'<B id=\"3f\" R=\"1e:1u;1Z:6w(0,0,0,0.3);O:99;1n:99;53-1n:99;1f:#h9;3v:5q;z-52:ha;1g-4a:dd;1q-2q:6Q;1N-1M:6R;7j:ai;1N-5r:hb-hc;\">&#kL;</B>\\'+\\'<B id=\"3H\" R=\"1e:1u;1Z:6w(0,0,0,0.3);O:99;1n:99;53-1n:99;1f:#h9;3v:5q;z-52:ha;1g-4a:dd;1q-2q:6Q;1N-1M:6R;7j:ai;1N-5r:hb-hc;\">&#kM;</B>\\';d(\\'#2N\\').3P(by);d(\\'#4q\\').3P(h8);h aj=hd;d(\\'#3f\\').l(\\'1e\\',\\'1u\\');d(\\'#3f\\').on(\"N he\",D(e){d(\"#3n\").36({37:(d(\"#3n\").37()-(d(\"#3n\").1n()-bA))+\"px\"},2H,D(){if(d(\"#3n\").37()!=0){d(\\'#3f\\').2R(2H)}F{d(\\'#3f\\').1G(2H)}if(d(\"#3n\").37()!=aj){d(\\'#3H\\').2R(2H)}F{d(\\'#3H\\').1G(2H)}});e.2B();e.7Y();Y X});d(\\'#3H\\').on(\"N he\",D(e){d(\"#3n\").36({37:(d(\"#3n\").37()+(d(\"#3n\").1n()-bA))+\"px\"},2H,D(){if(d(\"#3n\").37()!=0){d(\\'#3f\\').2R(2H)}F{d(\\'#3f\\').1G(2H)}if(aj==hd){aj=d(\\'#3n\\').2s(\\'kN\\')-d(\\'#3n\\').1n()-10}if(d(\"#3n\").37()!=aj){d(\\'#3H\\').2R(2H)}F{d(\\'#3H\\').1G(2H)}});e.2B();e.7Y();Y X});h $1h=d(1h);h 9a=$1h.O();h 2O=7X;if(9a<bB){2O=bA}h 9b=q.I.fV;if((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i))){9b=G}if(q.I.cY==\\'1Y\\'){d(\\'#3f\\').l(\\'1Y\\',\\'5M\\');d(\\'#3H\\').l(\\'1Y\\',\\'5M\\');if(d(\\'#2N\\').l(\\'1Y\\')!=\\'67\\'){d(\\'#2N\\').l(\\'O\\',2O+\\'px\\');d(\\'#2N\\').l(\\'1Y\\',\\'-\\'+2O+\\'px\\')}d(\"#49\").1c(\\'N\\');d(\"#49\").N(D(e){d(\\'.1B-2I\\').1I(G,G).1G(0);d(\".1k-1y\").1E(\\'1k-7n-7o\\');d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\');d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\');if(8B||((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i)))){if(2f(d(\\'#2N\\').l(\\'1Y\\'))==0){d(\\'#2N\\').36({1Y:\\'-=\\'+2O+\\'px\\'},3R);d(\\'2A\\').36({de:\\'-=\\'+2O+\\'px\\'},68);d(\\'#L-2e\\').36({df:\\'-=\\'+2O+\\'px\\'},68);d(\\'#49 i\\').H(\\'E\\',\\'cb-1b-W-4f-4N\\');d(\\'#3f\\').1G(2H);d(\\'#3H\\').1G(2H)}F{d(\\'#2N\\').36({1Y:\\'+=\\'+2O+\\'px\\'},3R);d(\\'2A\\').36({de:\\'+=\\'+2O+\\'px\\'},68);d(\\'#L-2e\\').36({df:\\'+=\\'+2O+\\'px\\'},68);d(\\'#49 i\\').H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');if(9b){h 69=d(\\'#3n\\').1n()/2-60;d(\\'#3f\\').l(\\'1i\\',69);d(\\'#3H\\').l(\\'1i\\',69+60);if(d(\"#3n\").37()!=0){d(\\'#3f\\').2R(2H)}F{d(\\'#3f\\').1G(2H)}d(\\'#3H\\').2R(2H)}}d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\')}F{if(2f(d(\\'#2N\\').l(\\'1Y\\'))==0){d(\\'#2N\\').36({1Y:\\'-=\\'+2O+\\'px\\'},3R);d(\\'#49 i\\').H(\\'E\\',\\'cb-1b-W-4f-4N\\');d(\\'#3f\\').l(\\'1e\\',\\'1u\\');d(\\'#3H\\').l(\\'1e\\',\\'1u\\')}F{d(\\'#2N\\').36({1Y:\\'+=\\'+2O+\\'px\\'},3R);d(\\'#49 i\\').H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');if(9b){h 69=d(\\'#3n\\').1n()/2-60;d(\\'#3f\\').l(\\'1i\\',69);d(\\'#3H\\').l(\\'1i\\',69+60);if(d(\"#3n\").37()!=0){d(\\'#3f\\').2R(2H)}F{d(\\'#3f\\').1G(2H)}d(\\'#3H\\').2R(2H)}}}e.2B()});d(\\'.1B-2I\\').l(\\'1Y\\',\\'63\\');if(9a<bB){d(\\'.1B-2I\\').l(\\'W\\',\\'-bC\\')}F{d(\\'.1B-2I\\').l(\\'W\\',\\'-dg\\')}if(q.I.cZ){if(d(\\'#2N\\').H(\\'k-5N-4f\\')!=1){d(\\'#2N\\').H(\\'k-5N-4f\\',1);d(\\'#2N\\').36({1Y:\\'+=\\'+2O+\\'px\\'},hf);d(\"#49 i\").H(\\'E\\',\\'cb-1b-1Y-4f-4N\\')}}}F{d(\"#49 i\").H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');d(\\'#3f\\').l(\\'W\\',\\'5M\\');d(\\'#3H\\').l(\\'W\\',\\'5M\\');d(\\'#2N\\').l(\\'O\\',2O+\\'px\\');d(\\'#2N\\').l(\\'W\\',\\'-\\'+2O+\\'px\\');d(\\'#49\\').1L(\\'kO\\');d(\"#49\").1c(\\'N\\');d(\"#49\").N(D(e){d(\\'.1B-2I\\').1I(G,G).1G(0);d(\".1k-1y\").1E(\\'1k-7n-7o\\');d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\');d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\');if(8B||((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i)))){if(2f(d(\\'#2N\\').l(\\'W\\'))==0){d(\\'#2N\\').36({W:\\'-=\\'+(2O+0)+\\'px\\'},3R);d(\\'2A\\').36({di:\\'-=\\'+2O+\\'px\\'},68);d(\\'#L-2e\\').36({dj:\\'-=\\'+2O+\\'px\\'},68);d(\"#49 i\").H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');d(\\'#3f\\').1G(2H);d(\\'#3H\\').1G(2H)}F{d(\\'#2N\\').36({W:\\'+=\\'+(2O+0)+\\'px\\'},3R);d(\\'2A\\').36({di:\\'+=\\'+2O+\\'px\\'},68);d(\\'#L-2e\\').36({dj:\\'+=\\'+2O+\\'px\\'},68);d(\"#49 i\").H(\\'E\\',\\'cb-1b-W-4f-4N\\');if(9b){h 69=d(\\'#3n\\').1n()/2-60;d(\\'#3f\\').l(\\'1i\\',69);d(\\'#3H\\').l(\\'1i\\',69+60);if(d(\"#3n\").37()!=0){d(\\'#3f\\').2R(2H)}F{d(\\'#3f\\').1G(2H)}d(\\'#3H\\').2R(2H)}}d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\');d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\')}F{if(2f(d(\\'#2N\\').l(\\'W\\'))==0){d(\\'#2N\\').36({W:\\'-=\\'+(2O+0)+\\'px\\'},3R);d(\"#49 i\").H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');d(\\'#3f\\').l(\\'1e\\',\\'1u\\');d(\\'#3H\\').l(\\'1e\\',\\'1u\\')}F{d(\\'#2N\\').36({W:\\'+=\\'+(2O+0)+\\'px\\'},3R);d(\"#49 i\").H(\\'E\\',\\'cb-1b-W-4f-4N\\');if(9b){h 69=d(\\'#3n\\').1n()/2-60;d(\\'#3f\\').l(\\'1i\\',69);d(\\'#3H\\').l(\\'1i\\',69+60);if(d(\"#3n\").37()!=0){d(\\'#3f\\').2R(2H)}F{d(\\'#3f\\').1G(2H)}d(\\'#3H\\').2R(2H)}}}e.2B()});d(\\'.1B-2I\\').l(\\'W\\',\\'63\\');if(9a<bB){d(\\'.1B-2I\\').l(\\'1Y\\',\\'-bC\\')}F{d(\\'.1B-2I\\').l(\\'1Y\\',\\'-dg\\')}if(q.I.cZ){if(d(\\'#2N\\').H(\\'k-5N-4f\\')!=1){d(\\'#2N\\').H(\\'k-5N-4f\\',1);d(\\'#2N\\').36({W:\\'+=\\'+2O+\\'px\\'},hf);d(\"#49 i\").H(\\'E\\',\\'cb-1b-W-4f-4N\\')}}}}d(5Z).1L(\\'is-gX-3G\\');d(\\'#8E\\').N(D(e){if(d(\\'#5p\\').2p(\\'3I\\')){d(\\'#5p\\').1E(\\'3I\\')}F{d(\\'#5p\\').l(\\'O\\',d(q).l(\\'O\\'));d(\\'#5p\\').1L(\\'3I\\')}e.2B();e.7Y()});d(\\'#5p > B\\').N(D(){h dk=d(q).H(\\'k-1D\\');d(\\'#8E\\').K(d(q).K()+\\' <3c E=\"db\"></3c>\\');d(\\'#5p\\').1E(\\'3I\\');h $dl=d(5Z+\\' > B\\');if(dk==\\'-1\\'){$dl.2R(3R)}F{$dl.1G(3R,D(){h $q=d(q);h $ak=$q.H(\\'k-7Z\\').3b(\\',\\');1C(h j=0;j<$ak.V;j++){if(dk==$ak[j]){$q.2R(bD)}}})}});$(\\'K\\').N(D(e){if($(e.1V).S(\\'#5p\\').V>0)Y X;if($(e.1V).H(\\'id\\')==\\'5p\\')Y X;if($(e.1V).S(\\'#8E\\').V>0)Y X;if($(e.1V).H(\\'id\\')==\\'8E\\')Y X;d(\\'#5p\\').1E(\\'3I\\')});d(\\'#4q\\').3P(\\'<B id=\"hg\" R=\"1e:1u\"></B>\\');d.54(q.I.fS,D(k){h dm=\\'\\';h bE=\\'\\';h i=1;h al=X;2S{if($C.k(\\'1p\\').I.91[0]!=\\'\\'){h hh=3J 9c($C.k(\\'1p\\').I.91[0],\\'g\\');k=k.2M(hh,$C.k(\\'1p\\').I.91[1]);h hi=$C.k(\\'1p\\').I.91[0].2M(/\\\\//g,\\'%2F\\');h hj=$C.k(\\'1p\\').I.91[1].2M(/\\\\//g,\\'%2F\\');h hk=3J 9c(hi,\\'g\\');k=k.2M(hk,hj)}}2T(e){}h $dn=d(\\'<B/>\\').K(k).1S(\\'B\\');1C(h i=1;$dn.V>=i;i++){h $q=d($dn[i-1]);h 1H=$q.K();h hl=d(\\'<B/>\\').1q(1H).K();dm+=\\'<B id=\"5N\\'+i+\\'\">\\'+hl+\\'</B>\\';if($q.k(\"7Z\")!=1O)al=G;h bF=$q.k(\"bF\");if(al){bE+=\\'<B R=\"1e:1u\" 2a=\"hm \\'+i+\\'\" k-5N=\"\\'+i+\\'\" k-7Z=\"\\'+$q.k(\"7Z\")+\\'\"><1m 1A=\"\\'+bF+\\'\" /></B>\\'}F{bE+=\\'<B 2a=\"hm \\'+i+\\'\" k-5N=\"\\'+i+\\'\" k-7Z=\"\\'+$q.k(\"7Z\")+\\'\"><1m 1A=\"\\'+bF+\\'\" /></B>\\'}}d(\\'#hg\\').K(dm);d(5Z).K(bE);if(al){h bG=[];h dp=X;h $dq=d(5Z+\\' > B\\');1C(h bH=0;$dq.V>bH;bH++){h $q=d($dq[bH]);h ak=$q.H(\\'k-7Z\\').3b(\\',\\');1C(h j=0;j<ak.V;j++){h 6S=$q.H(\\'k-7Z\\').3b(\\',\\')[j];if(6S==0){$q.2R(bD);dp=G}if(d.hn(6S,bG)==-1){bG.ag(6S);if(d(\\'#5p\\').1j(\"[k-1D=\\'\"+6S+\"\\']\").V==0){$q.2D()}}}}h $ho=d(\\'#5p\\');h $dr=d(\\'#5p > B\\');1C(h bI=0;$dr.V>bI;bI++){h 6S=d($dr[bI]).H(\\'k-1D\\');if(d.hn(6S,bG)==-1){if(6S!=0&&6S!=-1){$ho.1j(\"[k-1D=\\'\"+6S+\"\\']\").2D()}}}if(!dp){d(5Z+\\' > B\\').l(\\'1e\\',\\'1H\\');d(\\'#5p\\').1j(\"[k-1D=\\'0\\']\").2D();d(\\'#8E\\').K(\\'fX <3c E=\"db\"></3c>\\')}d(\\'#8E\\').l(\\'1e\\',\\'1H\\')}if(5Z==\\'#3n\\'){if(al){d(\\'#3n\\').l(\\'1g-1i\\',\\'6w(0,0,0,0) kP 4g\\')}}$C.k(\\'1p\\').ds();d(\\'#h0\\').2D()})}F{q.ds()}$C.1S(\"*\").81(\"<B E=\\'1k-1y\\'></B>\");$C.1S(\"*\").3P(\\'<B E=\"1B-2I\">\\'+\\'<B E=\"1B-3S\"><i E=\"cb-1b-6a\"></i></B>\\'+\\'<B E=\"1B-K\"><i E=\"cb-1b-3E\"></i></B>\\'+\\'<B E=\"1B-7p\"><i E=\"cb-1b-8F\"></i></B>\\'+\\'<B E=\"1B-2D\"><i E=\"cb-1b-4O\"></i></B>\\'+\\'</B>\\');if(d(\\'#3T-1p\\').V==0){d(\\'#4q\\').3P(\\'<B id=\"3T-1p\" R=\"1e: 1u\"></B>\\')}q.55();q.6T();q.I.5J();$C.bJ({6x:D(2b,1k){h $7q=d(1k).7q();$7q.l(\\'3v\\',\\'6P\\');$7q.1L(\\'hp-hr\\');if($C.k(\\'1p\\').I.95==\\'\\'){if(!$7q.3g().is(\\'2A\\')){$7q.kQ(d(\\'2A\\'))}}Y $7q.54(0)},kR:D(2b,1k){if($C.k(\\'1p\\').I.d8){1k.6x.l({\\'1e\\':\\'1u\\'})}},kS:\\'.1k-1y\\',kT:\\'.da\\',\\'kU\\':5,hs:\\'ai\\',3S:\\'.1B-3S\\',ht:3R,7j:\\'6a\\',9d:\\'1H-9d\\',am:D(e,1k){d(1k.9d).2h();d(1k.9d).kV(80);bs=X},3p:D(e,1k){d(1k.9d).2h().kW(80)},kX:D(e,1k){d(1k.9d).2h()},hu:D(2b,1k){d(\".hp-hr\").2D();if(!$C.k(\\'1p\\'))Y;bs=G;h hv=X;if(1k.56.1j(\\'.1B-2I\\').V==0){hv=G}if(1k.56.3g().H(\\'id\\')==$C.H(\\'id\\')){1k.56.1j(\"[k-K]\").1P(D(){h K=(dt(d(q).H(\"k-K\")));d(q).K(K)});1k.56.5O(1k.56.K());$C.1S(\"*\").1P(D(){if(!d(q).2p(\\'1k-1y\\')){d(q).81(\"<B E=\\'1k-1y\\'></B>\")}});$C.1S(\\'.1k-1y\\').1P(D(){if(d(q).1j(\\'.1B-2I\\').V==0){d(q).3P(\\'<B E=\"1B-2I\">\\'+\\'<B E=\"1B-3S\"><i E=\"cb-1b-6a\"></i></B>\\'+\\'<B E=\"1B-K\"><i E=\"cb-1b-3E\"></i></B>\\'+\\'<B E=\"1B-7p\"><i E=\"cb-1b-8F\"></i></B>\\'+\\'<B E=\"1B-2D\"><i E=\"cb-1b-4O\"></i></B>\\'+\\'</B>\\')}});$C.1S(\\'.1k-1y\\').1P(D(){if(d(q).1S(\\'*\\').V==1){d(q).2D()}if(d(q).1S(\\'*\\').V==2){if(d(q).1S(0).2s(\"2P\").1J()==\\'1m\\'&&d(q).1S(0).H(\\'1A\\').1T(\\'kY/\\')!=-1){d(q).2D()}}});$C.k(\\'1p\\').I.fR(2b,1k)}F{Y}$C.k(\\'1p\\').55();$C.k(\\'1p\\').6T();$C.k(\\'1p\\').I.5J();$C.k(\\'1p\\').I.1X();2g()}});if(3q.1T(\\',\\')!=-1){d(3q).bJ(\\'2J\\',\\'95\\',X)}if(q.I.95!=\\'\\'){d(3q).bJ(\\'2J\\',\\'95\\',q.I.95)}d.1k.hw=D(x,du,1M){Y(x>=du)&&(x<(du+1M))};d.1k.kZ=D(y,x,1i,W,1n,O){Y d.1k.hw(y,1i,1n)&&d.1k.l0(x,W,O)};$C.l1({4b:D(2b,1k){if(d(1k.1y).k(\\'5N\\')){h 5N=d(1k.1y).k(\\'5N\\');h bK=d(\\'#5N\\'+5N).1q();bK=bK.2M(/{id}/g,bL());d(1k.1y).k(\\'5N\\',1O);Y 1k.1y.K(bK);2b.2B()}},hs:\\'ai\\',l2:G,l3:\\'4b-hx\\',l4:\\'4b-hx\\',hu:D(2b,1k){d(3q).1P(D(){h $cb=d(q);$cb.1S(\\'.1k-1y\\').1P(D(){if(d(q).1j(\\'.1B-2I\\').V==0){d(q).3P(\\'<B E=\"1B-2I\">\\'+\\'<B E=\"1B-3S\"><i E=\"cb-1b-6a\"></i></B>\\'+\\'<B E=\"1B-K\"><i E=\"cb-1b-3E\"></i></B>\\'+\\'<B E=\"1B-7p\"><i E=\"cb-1b-8F\"></i></B>\\'+\\'<B E=\"1B-2D\"><i E=\"cb-1b-4O\"></i></B>\\'+\\'</B>\\')}});$cb.k(\\'1p\\').55()})}});d(M).on(\\'7r\\',D(2b){h $6y;if(d(2b.1V).S(\".1k-1y\").V>0){if(d(2b.1V).S(\".1k-1y\").3g().k(\\'1p\\')){$6y=d(2b.1V).S(\".1k-1y\").3g()}}if(d(2b.1V).H(\"E\")==\\'6U\\'){d(2b.1V).l(\\'z-52\\',\\'-1\\')}if(d(2b.1V).S(\\'.1k-1y\\').V>0&&d(2b.1V).S(3q).V>0){h 47=2n.2r.1J().1T(\\'66\\')>-1;if(d(2b.1V).S(\"[k-K]\").V>0){d(2b.1V).S(\".1k-1y\").1L(\\'3E\\');d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .1B-K\\').1L(\\'1B-ao\\');d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .cb-1b-3E\\').1E(\\'cb-1b-3E\\').1L(\\'cb-1b-l5\\')}if(d(2b.1V).S(\"[k-2t=\\'42\\']\").V>0){d(2b.1V).S(\".1k-1y\").1L(\\'3E\\');d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .1B-K\\').l(\\'1e\\',\\'1u\\')}if(d(2b.1V).S(\"[k-2t=\\'42-6z\\']\").V>0){d(2b.1V).S(\".1k-1y\").1L(\\'3E\\');d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .1B-K\\').l(\\'1e\\',\\'1u\\');d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .1B-2D\\').l(\\'1e\\',\\'1u\\');d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .1B-7p\\').l(\\'1e\\',\\'1u\\')}d(\".1k-1y\").1E(\\'1k-7n-7o\\');d(2b.1V).S(\".1k-1y\").1L(\\'1k-7n-7o\\');if(47)d(2b.1V).S(\".1k-1y\").1L(\\'66\\');d(\\'.1B-2I\\').1I(G,G).1G(0);if($6y){if(d(2b.1V).S(\".1k-1y\").1j(\"[k-K-7g=\\'1c\\']\").V>0||!$6y.k(\\'1p\\').I.d6){d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I .1B-K\\').l({1e:\\'1u\\'})}}d(2b.1V).S(\".1k-1y\").1j(\\'.1B-2I\\').1I(G,G).l({1e:\\'1u\\'}).2R(2H);Y}if(d(2b.1V).3g().H(\\'id\\')==\\'L-2e\\'||d(2b.1V).3g().3g().H(\\'id\\')==\\'L-2e\\'||d(2b.1V).3g().2p(\\'L-1K\\')||d(2b.1V).3g().3g().2p(\\'L-1K\\')||d(2b.1V).3g().2p(\\'md-2m\\')){Y}if(d(2b.1V).is(\\'[1W]\\')||d(2b.1V).l(\\'3v\\')==\\'6P\\'||d(2b.1V).l(\\'3v\\')==\\'5q\\'||d(2b.1V).2p(\\'md-2m\\')){Y}h dv=X;d(2b.1V).S().1P(D(e){if(d(q).is(\\'[1W]\\')||d(q).l(\\'3v\\')==\\'6P\\'||d(q).l(\\'3v\\')==\\'5q\\'||d(q).2p(\\'md-2m\\')){dv=G;Y}});if(dv)Y;d(\\'.1B-2I\\').1I(G,G).1G(0);d(\".1k-1y\").1E(\\'1k-7n-7o\\');d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\');d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\')})};q.ds=D(l6){h dx=X;if(d.1k.l7==\\'1.11.0\\'){dx=G}if(dx){d(5Z+\\' > B\\').1y({7j:\\'6a\\',6x:D(){Y d(\"<B E=\\'l8\\'></B>\")[0]},ht:3R,hy:3q,1I:D(2b,1k){d(3q).1P(D(){h $cb=d(q);$cb.1S(\"B\").1P(D(){if(d(q).1S(\"1m\").V==1){d(q).2D()}})})}})}F{d(5Z+\\' > B\\').1y({7j:\\'6a\\',6x:\"7q\",dy:D(2b,1k){d(1k.6x).l(\"59\",\"4P\");d(1k.6x).l(\"82-1i\",\"hz\");d(1k.6x).l(\"83-bM\",\"1g-83\");d(1k.6x).l(\"O\",\"l9\");d(1k.6x).l(\"1n\",\"hz\");d(1k.6x).l(\"1g\",\"6w(9e,9e,9e,0.9) ap 4g\");d(1k.6x).l(\"1Z\",\"6w(9e,9e,9e,0)\")},hy:3q,1I:D(2b,1k){d(3q).1P(D(){h $cb=d(q);$cb.1S(\"B\").1P(D(){if(d(q).1S(\"1m\").V==1){d(q).2D()}})})}})}};q.K=D(){if(q.I.d9){$C.1j(\\'a\\').1P(D(){h 2x=d(q).54(0).2x;d(q).H(\\'2x\\',2x)});$C.1j(\\'1m\\').1P(D(){h 2x=d(q).54(0).1A;d(q).H(\\'1A\\',2x)})}d(\\'#3T-1p\\').K($C.K());d(\\'#3T-1p\\').1j(\\'.1B-2I\\').2D();d(\\'#3T-1p\\').1j(\\'.6U\\').2D();d(\\'#3T-1p\\').1j(\\'[1W]\\').3w(\\'1W\\');d(\\'*[E=\"\"]\\').3w(\\'E\\');d(\\'#3T-1p\\').1j(\\'.1k-1y\\').5O(D(){Y d(q).K()});d(\"#3T-1p\").1j(\"[k-K]\").1P(D(){if(d(q).H(\"k-K\")!=5s){d(q).K(dt(d(q).H(\"k-K\")))}});h K=d(\\'#3T-1p\\').K().2W();K=K.2M(/<1N/g,\\'<3c\\').2M(/<\\\\/1N/g,\\'</3c\\');Y K};q.la=D(){d(\\'.1B-2I\\').1I(G,G).1G(0);d(\".1k-1y\").1E(\\'1k-7n-7o\\');h 6s=q.I.6s;$C.1j(6s).5t()};q.dz=D(){h K=q.K();d(\\'#3x\\').J(K);d(\\'#md-K\\').l(\\'O\\',\\'80%\\');d(\\'#md-K\\').1l({8G:G});d(\\'#md-K\\').k(\\'1l\\').3d();d(\\'#3x\\').l(\\'1e\\',\\'1u\\');if(d(\\'#3x\\').k(\\'5a\\')){h $4h=$(\\'#3x\\').k(\\'5a\\');$4h.dA(K)}F{h 7s=d(\"#3x\")[0];if(d(\\'.is-8H\\').V==0){7t([2o+\"3Z/ab/3Z.js\"],D(){7t([2o+\"3Z/2t/7u/7u.js\",2o+\"3Z/2t/6N/6N.js\",2o+\"3Z/2t/l/l.js\"],D(){d(\\'2A\\').1L(\\'is-8H\\');h $4h=9f.9g(7s,{1D:K,2t:\"1q/K\",9h:G,9i:G,9j:\"7v\"});$4h.on(\"3p\",D(cm,3p){d(\\'#3x\\').J(cm.7w())});d(\\'#3x\\').k(\\'5a\\',$4h)})})}F{h $4h=9f.9g(7s,{1D:K,2t:\"1q/K\",9h:G,9i:G,9j:\"7v\"});$4h.on(\"3p\",D(cm,3p){d(\\'#3x\\').J(cm.7w())});d(\\'#3x\\').k(\\'5a\\',$4h)}}d(\\'#aq\\').1c(\\'N\\');d(\\'#aq\\').on(\\'N\\',D(e){h $4h=$(\\'#3x\\').k(\\'5a\\');d(\\'#3x\\').J($4h.7w());$C.K(d(\\'#3x\\').J());d(\\'#md-K\\').k(\\'1l\\').2h();$C.1S(\"*\").81(\"<B E=\\'1k-1y\\'></B>\");$C.1S(\"*\").3P(\\'<B E=\"1B-2I\">\\'+\\'<B E=\"1B-3S\"><i E=\"cb-1b-6a\"></i></B>\\'+\\'<B E=\"1B-K\"><i E=\"cb-1b-3E\"></i></B>\\'+\\'<B E=\"1B-7p\"><i E=\"cb-1b-8F\"></i></B>\\'+\\'<B E=\"1B-2D\"><i E=\"cb-1b-4O\"></i></B>\\'+\\'</B>\\');$C.k(\\'1p\\').55();$C.k(\\'1p\\').6T();$C.k(\\'1p\\').I.5J();$C.k(\\'1p\\').I.1X();2g()});d(\\'#ar\\').1c(\\'N\\');d(\\'#ar\\').on(\\'N\\',D(e){d(\\'#md-K\\').k(\\'1l\\').2h()})};q.lb=D(K){$C.K(K);$C.1S(\"*\").81(\"<B E=\\'1k-1y\\'></B>\");$C.1S(\"*\").3P(\\'<B E=\"1B-2I\">\\'+\\'<B E=\"1B-3S\"><i E=\"cb-1b-6a\"></i></B>\\'+\\'<B E=\"1B-K\"><i E=\"cb-1b-3E\"></i></B>\\'+\\'<B E=\"1B-7p\"><i E=\"cb-1b-8F\"></i></B>\\'+\\'<B E=\"1B-2D\"><i E=\"cb-1b-4O\"></i></B>\\'+\\'</B>\\');$C.k(\\'1p\\').55();$C.k(\\'1p\\').6T();$C.k(\\'1p\\').I.5J()};q.55=D(){$C.1j(\\'a\\').N(D(){Y X});if(q.I.d9){$C.1j(\\'a\\').1P(D(){h 2x=d(q).54(0).2x;d(q).H(\\'2x\\',2x)});$C.1j(\\'1m\\').1P(D(){h 2x=d(q).54(0).1A;d(q).H(\\'1A\\',2x)})}h 6s=q.I.6s;h hq=q.I.6t;h 4L=q.I.4L;h 7T=q.I.7T;h 62=q.I.62;h 61=q.I.61;h 2e=q.I.2e;h 8D=q.I.8D;h 4B=q.I.4B;h 4C=q.I.4C;h 6L=q.I.6L;h 6M=q.I.6M;h 6O=q.I.6O;h 41=q.I.41;h 3F=q.I.3F;h 5l=q.I.5l;h 7i=q.I.7i;h 6v=q.I.6v;$C.T({3F:3F,41:41,5l:5l,1X:D(){$C.k(\\'1p\\').I.1X()},5b:6s,7T:7T,62:62,61:61,2e:2e,8D:8D,4C:4C,4B:4B,6O:6O});$C.k(\\'T\\').3U();$C.1j(\\'1m\\').1P(D(){if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;d(q).3h({6t:hq,41:41,3F:3F,4L:4L,6L:6L,6M:6M,4B:4B,4C:4C,6v:6v,7i:7i});if(d(q).S(\\'6V\\').V!=0){if(d(q).S(\\'6V\\').1j(\\'dB\\').l(\\'3v\\')==\\'6P\\'){d(q).S(\\'6V\\').3h({6t:hq,41:41,3F:3F,4L:4L,6L:6L,6M:6M,4B:4B,4C:4C,6v:6v,7i:7i})}}});$C.1j(\".8I-bN\").1P(D(){if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;if(d(q).1j(\\'.6U\\').V==0){d(q).3P(\\'<B E=\"6U\" R=\"3v:6P;1Z:#9k;dC:0.2;7j:ai;1i:0;W:67;O:3u%;1n:3u%;z-52:-1\"></B>\\')}});$C.on(\\'3r 3y\\',\\'.8I-bN\\',D(e){6A(e.1x){2X\\'3r\\':if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;if(d(q).S(\".1k-1y\").l(\\'5c-R\\')==\\'1u\\'){d(q).1j(\\'.6U\\').l(\\'z-52\\',\\'1\\')}2E;2X\\'3y\\':d(q).1j(\\'.6U\\').l(\\'z-52\\',\\'-1\\');2E}});$C.1j(6s).1c(\\'9l\\');$C.1j(6s).9l(D(){h 6s=$C.k(\\'1p\\').I.6s;h 47=2n.2r.1J().1T(\\'66\\')>-1;d(\".1k-1y\").1E(\\'3E\\');if(d(q).S(\"[k-K]\").V>0){d(q).S(\".1k-1y\").1L(\\'3E\\')}if(d(q).S(\"[k-2t=\\'42\\']\").V>0){d(q).S(\".1k-1y\").1L(\\'3E\\')}if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0){d(q).S(\".1k-1y\").1L(\\'3E\\')}d(\".1k-1y\").1E(\\'1k-7n-7o\\');d(q).S(\".1k-1y\").1L(\\'1k-7n-7o\\');if(47)d(q).S(\".1k-1y\").1L(\\'66\\');d(\\'.1B-2I\\').1I(G,G).1G(0);if(d(q).S(\".1k-1y\").1j(\"[k-K-7g=\\'1c\\']\").V>0||!$C.k(\\'1p\\').I.d6){d(q).S(\".1k-1y\").1j(\\'.1B-2I .1B-K\\').l({1e:\\'1u\\'})}d(q).S(\".1k-1y\").1j(\\'.1B-2I\\').1I(G,G).l({1e:\\'1u\\'}).2R(2H)});$C.1S(\"B\").1j(\\'.1B-2D\\').1c(\\'N\\');$C.1S(\"B\").1j(\\'.1B-2D\\').N(D(){d(\\'#md-9m\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-9m\\').1l();d(\\'#md-9m\\').k(\\'1l\\').3d();$6K=d(q).S(\\'.1k-1y\\');d(\\'#dD\\').1c(\\'N\\');d(\\'#dD\\').on(\\'N\\',D(e){d(\\'#md-9m\\').k(\\'1l\\').2h();$6K.1G(bD,D(){d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);d(\"#4Q\").1I(G,G).1G(0);d(\"#5P\").1I(G,G).1G(0);$6K.2D();$C.k(\\'1p\\').6T();$C.k(\\'1p\\').I.5J();$C.k(\\'1p\\').I.1X();2g()})});d(\\'#dE\\').1c(\\'N\\');d(\\'#dE\\').on(\\'N\\',D(e){d(\\'#md-9m\\').k(\\'1l\\').2h()})});$C.1S(\"B\").1j(\\'.1B-7p\\').1c(\\'N\\');$C.1S(\"B\").1j(\\'.1B-7p\\').N(D(){$6K=d(q).S(\\'.1k-1y\\');d(\\'#3T-1p\\').K($6K.K());d(\\'#3T-1p\\').1j(\\'[1W]\\').3w(\\'1W\\');d(\\'#3T-1p *[E=\"\"]\\').3w(\\'E\\');d(\\'#3T-1p *[R=\"\"]\\').3w(\\'R\\');d(\\'#3T-1p .6U\\').2D();d(\\'#3T-1p .1B-2I\\').2D();h K=d(\\'#3T-1p\\').K().2W();$6K.lc(K);$C.1S(\"*\").1P(D(){if(!d(q).2p(\\'1k-1y\\')){d(q).81(\"<B E=\\'1k-1y\\'></B>\")}});$C.1S(\\'.1k-1y\\').1P(D(){if(d(q).1j(\\'.1B-2I\\').V==0){d(q).3P(\\'<B E=\"1B-2I\">\\'+\\'<B E=\"1B-3S\"><i E=\"cb-1b-6a\"></i></B>\\'+\\'<B E=\"1B-K\"><i E=\"cb-1b-3E\"></i></B>\\'+\\'<B E=\"1B-7p\"><i E=\"cb-1b-8F\"></i></B>\\'+\\'<B E=\"1B-2D\"><i E=\"cb-1b-4O\"></i></B>\\'+\\'</B>\\')}});$C.1S(\\'.1k-1y\\').1P(D(){if(d(q).1S(\\'*\\').V==1){d(q).2D()}});$C.k(\\'1p\\').55();$C.k(\\'1p\\').6T();$C.k(\\'1p\\').I.5J();$C.k(\\'1p\\').I.1X();2g()});$C.1S(\"B\").1j(\\'.1B-K\\').1c(\\'N\\');$C.1S(\"B\").1j(\\'.1B-K\\').N(D(){$6K=d(q).S(\\'.1k-1y\\');if($6K.1j(\\'[k-K]\\').V>0){h $6b=$6K.1j(\\'[k-K]\\');d(\\'2A\\').1j(\"[k-K]\").3w(\\'k-ao-3I\\');$6b.H(\\'k-ao-3I\\',\\'1\\');h bO=$6b.H(\\'k-ao\\');if($6b.H(\\'k-2t\\')==\\'3E\\'){bO=\\'3E\\'}if(bO==\\'3E\\'){d(\\'#hA\\').K($C.k(\\'1p\\').I.g2);h K=dt($6b.H(\"k-K\"));d(\\'#85\\').J(K);h w=\\'ld\\';d(\"#md-8J\").l(\"O\",\"3u%\");d(\"#md-8J\").l(\"4E-O\",w);d(\"#md-8J\").1l({8G:G});d(\"#md-8J\").k(\"1l\").3d();if(d(\\'#85\\').k(\\'5a\\')){h $6W=$(\\'#85\\').k(\\'5a\\');$6W.dA(K)}F{h 7s=d(\"#85\")[0];if(d(\\'.is-8H\\').V==0){7t([2o+\"3Z/ab/3Z.js\"],D(){7t([2o+\"3Z/2t/7u/7u.js\",2o+\"3Z/2t/6N/6N.js\",2o+\"3Z/2t/l/l.js\"],D(){d(\\'2A\\').1L(\\'is-8H\\');h $6W=9f.9g(7s,{1D:K,2t:\"1q/K\",9h:G,9i:G,9j:\"7v\"});$6W.on(\"3p\",D(cm,3p){d(\\'#9n\\').J(cm.7w())});d(\\'#85\\').k(\\'5a\\',$6W)})})}F{h $6W=9f.9g(7s,{1D:K,2t:\"1q/K\",9h:G,9i:G,9j:\"7v\"});$6W.on(\"3p\",D(cm,3p){d(\\'#9n\\').J(cm.7w())});d(\\'#85\\').k(\\'5a\\',$6W)}}d(\\'#dF\\').1c(\\'N\\');d(\\'#dF\\').on(\\'N\\',D(e){h $6W=$(\\'#85\\').k(\\'5a\\');d(\\'#9n\\').J($6W.7w());$6b.H(\\'k-K\\',dG(d(\\'#9n\\').J()));$6b.K(d(\\'#9n\\').J());d(\\'#md-8J\\').k(\\'1l\\').2h();$C.k(\\'1p\\').I.1X();2g()});d(\\'#dH\\').1c(\\'N\\');d(\\'#dH\\').on(\\'N\\',D(e){d(\\'#md-8J\\').k(\\'1l\\').2h()})}F{h dI=$6b.H(\\'k-ao-le\\');if(dI){d(\"#md-7x\").1j(\\'.md-2a\\').K(dI)}F{d(\"#md-7x\").1j(\\'.md-2a\\').K(\\'lf hB\\')}h w=$6b.H(\\'k-lg-O\\');if(!w||w==\\'\\'){w=\\'65%\\'}d(\"#md-7x\").l(\"O\",\"3u%\");d(\"#md-7x\").l(\"4E-O\",w);d(\"#md-7x\").1l({8G:G});d(\"#md-7x\").k(\"1l\").3d();d(\\'#hC\\').H(\\'1A\\',$C.k(\\'1p\\').I.fU+bO+\\'.K\\');d(\\'#dJ\\').1c(\\'N\\');d(\\'#dJ\\').on(\\'N\\',D(e){$6b.H(\\'k-K\\',dG(d(\\'#dK\\').J()));$6b.H(\\'k-I\\',dG(d(\\'#hD\\').J()));$6b.K(d(\\'#dK\\').J());d(\\'#md-7x\\').k(\\'1l\\').2h();$C.k(\\'1p\\').I.1X();2g()});d(\\'#dL\\').1c(\\'N\\');d(\\'#dL\\').on(\\'N\\',D(e){d(\\'#md-7x\\').k(\\'1l\\').2h()})}}F{$dM=d(q).S(\\'.1k-1y\\').1S(\\'*\\').94(\\'.1B-2I\\');d(\\'#md-K\\').l(\\'O\\',\\'60%\\');d(\\'#md-K\\').1l({8G:G});d(\\'#md-K\\').k(\\'1l\\').3d();d(\\'#3T-1p\\').K($dM.K());d(\\'#3T-1p\\').1j(\\'[1W]\\').3w(\\'1W\\');d(\\'#3T-1p *[E=\"\"]\\').3w(\\'E\\');d(\\'#3T-1p *[R=\"\"]\\').3w(\\'R\\');d(\\'#3T-1p .6U\\').2D();h K=d(\\'#3T-1p\\').K().2W();K=K.2M(/<1N/g,\\'<3c\\').2M(/<\\\\/1N/g,\\'</3c\\');d(\\'#3x\\').J(K);d(\"#3x\").l(\\'1e\\',\\'1u\\');if(d(\\'#3x\\').k(\\'5a\\')){h $4h=$(\\'#3x\\').k(\\'5a\\');$4h.dA(K)}F{h 7s=d(\"#3x\")[0];if(d(\\'.is-8H\\').V==0){7t([2o+\"3Z/ab/3Z.js\"],D(){7t([2o+\"3Z/2t/7u/7u.js\",2o+\"3Z/2t/6N/6N.js\",2o+\"3Z/2t/l/l.js\"],D(){d(\\'2A\\').1L(\\'is-8H\\');h $4h=9f.9g(7s,{1D:K,2t:\"1q/K\",9h:G,9i:G,9j:\"7v\"});$4h.on(\"3p\",D(cm,3p){d(\\'#3x\\').J(cm.7w())});d(\\'#3x\\').k(\\'5a\\',$4h)})})}F{h $4h=9f.9g(7s,{1D:K,2t:\"1q/K\",9h:G,9i:G,9j:\"7v\"});$4h.on(\"3p\",D(cm,3p){d(\\'#3x\\').J(cm.7w())});d(\\'#3x\\').k(\\'5a\\',$4h)}}d(\\'#aq\\').1c(\\'N\\');d(\\'#aq\\').on(\\'N\\',D(e){h $4h=$(\\'#3x\\').k(\\'5a\\');d(\\'#3x\\').J($4h.7w());$dM.K(d(\\'#3x\\').J());d(\\'#md-K\\').k(\\'1l\\').2h();$C.k(\\'1p\\').55();$C.k(\\'1p\\').6T();$C.k(\\'1p\\').I.5J();$C.k(\\'1p\\').I.1X();2g()});d(\\'#ar\\').1c(\\'N\\');d(\\'#ar\\').on(\\'N\\',D(e){d(\\'#md-K\\').k(\\'1l\\').2h()})}})};q.6T=D(){if($C.1S().V==0){$C.1L(\\'dN\\')}F{$C.1E(\\'dN\\')}};q.9o=D(){if(!$C.k(\\'1p\\'))Y;h 6c=$C.k(\\'1p\\').K();$C.K(6c);$C.bJ(\"9o\");h 8K=3q.3b(\",\"),bP=[];1C(h i=0;i<8K.V;i++){if(8K[i]!=\"#\"+$C.H(\"id\")){bP.ag(8K[i])}}3q=bP.lh(\",\");1C(h i=0;i<4F.V;i++){if(d(4F[i]).H(\\'id\\')==$C.H(\\'id\\')){4F.gY(i,1)}}$C.1E(\\'da\\');$C.l({\\'fO-1n\\':\\'\\'});$C.1c(\\'4w\\');$C.1c(\\'hE\\');h dO=X;h 7P=M.6J(\"7Q\");h 2o;1C(h i=0;i<7P.V;i++){h 4Y=7P[i].1A.1J();if(4Y.1T(\"lj.js\")!=-1)dO=G}if(!dO){if(3q==\"\"){d(\\'#4q\\').2D();d(M).1c(\\'7r\\')}}$C.hF(\\'1p\\');$C.hF(\\'T\\');hG()};q.7W()};d.fn.1p=D(4A){Y q.1P(D(){if(5s==d(q).k(\\'1p\\')){h 87=3J d.1p(q,4A);d(q).k(\\'1p\\',87)}2g()})}})(d);D hG(){2S{h 8K=3q.3b(\",\"),bP=[];1C(h i=0;i<8K.V;i++){d(8K[i]).k(\\'1p\\').55()}}2T(e){}}h dP=\\'63\\';h 9p=X;h 4F=[];h 3i;(D(d){h $2u;h $6d;h $88;h $1v;d.T=D(C,4A){h 7f={5b:\"h1,h2,h3,h4,h5,h6,p,cX,ol,fQ,.7g,3O\",61:\"7R\",2v:X,5J:D(){},1X:D(){},5c:X,3F:\\'\\',41:\\'\\',5l:\\'\\',4C:D(){},4B:D(){},2e:\\'1i\\',8D:\\'63\\',7T:[\"4D\",\"4M\",\"5m\",\"5n\",\"1f\",\"1N\",\"7U\",\"2q\",\"3G\",\"1R\",\"1z\",\"8C\",\"7V\",\"1b\",\"5K\",\"7h\",\"K\"],62:[\"#gl\",\"#gm\",\"#gn\",\"#go\",\"#gp\",\"#gq\",\"#gr\",\"#gs\",\"#gu\",\"#gv\",\"#gw\",\"#gx\",\"#gy\",\"#gz\",\"#gA\",\"#gB\",\"#gC\",\"#gD\",\"#gE\",\"#gF\",\"#gG\",\"#gH\",\"#gI\",\"#gJ\",\"#gK\",\"#gL\",\"#d7\",\"#gM\",\"#gN\",\"#gO\",\"#gP\",\"#gQ\",\"#gR\",\"#gS\",\"#gT\",\"#gU\"],6O:[]};q.I={};h $C=d(C),C=C;q.7W=D(){q.I=d.af({},7f,4A);h 6X=X;if(q.I.3F!=\\'\\')6X=G;h 4j=(q.I.4C+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){6X=G}h 7y=X;if(q.I.41!=\\'\\')7y=G;h 4j=(q.I.4B+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){7y=G}if(d(\\'#4q\\').V==0){d(\\'2A\\').3P(\\'<B id=\"4q\"></B>\\')}dP=q.I.8D;9p=q.I.5c;h bQ=\\'\\';if(q.I.2e==\\'W\\')bQ=\\' E=\"L-4x\"\\';if(q.I.2e==\\'1Y\\')bQ=\\' E=\"L-4x 1Y\"\\';h dQ=\\'\\';if(q.I.5l!=\\'\\')dQ=\\'<U k-L-1a=\"1b\" 2a=\"lk\"> <i E=\"cb-1b-ll\"></i> </U>\\';h dR=\\'\\';if(q.I.6O.V>0)dR=\\'<U k-L-1a=\"5K\" 2a=\"lm\"> <i E=\"cb-1b-ln\"></i> </U>\\';h 3z=\\'<B id=\"L-2e\"\\'+bQ+\\'><B E=\"L-1y\"><i E=\"cb-1b-5L\"></i></B>\\';1C(h j=0;j<q.I.7T.V;j++){h 3V=q.I.7T[j];if(3V==\\'4D\\')3z+=\\'<U 2x=\"#\" k-L-1a=\"4D\" 2a=\"lo\"> <i E=\"cb-1b-4D\"></i> </U>\\';if(3V==\\'4M\\')3z+=\\'<U k-L-1a=\"4M\" 2a=\"lp\"> <i E=\"cb-1b-4M\"></i> </U>\\';if(3V==\\'4R\\')3z+=\\'<U k-L-1a=\"4R\" 2a=\"hH\"> <i E=\"cb-1b-4R\"></i> </U>\\';if(3V==\\'6e\\')3z+=\\'<U k-L-1a=\"6e\" 2a=\"hI\"> <i E=\"cb-1b-dS\"></i> </U>\\';if(3V==\\'5m\\')3z+=\\'<U k-L-1a=\"5m\" 2a=\"lq\"> <i E=\"cb-1b-1N\"></i> </U>\\';if(3V==\\'5n\\')3z+=\\'<U k-L-1a=\"5n\" 2a=\"5Q hB\"> <i E=\"cb-1b-lr\" R=\"1N-1M:hJ;53-1n: hJ;\"></i> </U>\\';if(3V==\\'1f\\')3z+=\\'<U k-L-1a=\"1f\" 2a=\"bR\"> <i E=\"cb-1b-1f\"></i> </U>\\';if(3V==\\'5u\\')3z+=\\'<U k-L-1a=\"dT\" 2a=\"dU hK\"> <i E=\"cb-1b-5u\"></i> </U>\\';if(3V==\\'7h\\')3z+=\\'<U k-L-1a=\"7h\" 2a=\"ls\"> <i E=\"cb-1b-as\"></i> </U>\\';if(3V==\\'7U\\')3z+=\\'<U k-L-1a=\"7U\" 2a=\"ac\"> <i E=\"cb-1b-lu\"></i> </U>\\';if(3V==\\'1N\\')3z+=\\'<U k-L-1a=\"1N\" 2a=\"dU\"> <i E=\"cb-1b-1N-5r\" R=\"1N-1M:bS\"></i> </U>\\';if(3V==\\'2q\\')3z+=\\'<U k-L-1a=\"2q\" 2a=\"lv\"> <i E=\"cb-1b-2q-au\"></i> </U>\\';if(3V==\\'3G\\')3z+=\\'<U k-L-1a=\"3G\" 2a=\"bw\"> <i E=\"cb-1b-3G-hL\"></i> </U>\\';if(3V==\\'1z\\')3z+=\\'<U 2x=\"#\" k-L-1a=\"1z\" 2a=\"6u\"> <i E=\"cb-1b-lw\"></i> </U>\\';if(3V==\\'8C\\')3z+=\\'<U k-L-1a=\"8C\" 2a=\"bT\"> <i E=\"cb-1b-5I\"></i> </U>\\';if(3V==\\'7V\\')3z+=\\'<U k-L-1a=\"7V\" 2a=\"lx bT\"> <i E=\"cb-1b-7V\"></i> </U>\\';if(3V==\\'1R\\')3z+=\\'<U 2x=\"#\" k-L-1a=\"1R\" 2a=\"1R\"> <i E=\"cb-1b-1R\" R=\"1N-1M:hM;53-1n:hM;\"></i> </U>\\';if(3V==\\'1b\\')3z+=dQ;if(3V==\\'5K\\')3z+=dR;if(3V==\\'K\\')3z+=\\'<U k-L-1a=\"K\" 2a=\"ly\"> <i E=\"cb-1b-3E\"></i> </U>\\'}h 9q=\\'<1R id=\"7z\" E=\"1R-lz\" R=\"1g-5R:5R;1g-4a:ap;59:4P;\">\\';1C(h i=1;i<=5;i++){9q+=\\'<39>\\';1C(h j=1;j<=5;j++){9q+=\\'<3O k-1B=\"\\'+i+\\'\" k-8L=\"\\'+j+\\'\">\\'+i+\\'x\\'+j+\\'</3O>\\'}9q+=\\'</39>\\'}9q+=\\'</1R>\\';3z+=\\'</B>\\'+\\'\\'+\\'<B id=\"4Q\">\\'+\\'<i E=\"cb-1b-5I\"></i> dV\\'+\\'</B>\\'+\\'\\'+\\'<B id=\"5P\">\\'+\\'<i E=\"cb-1b-5I\"></i> dV\\'+\\'</B>\\'+\\'\\'+\\'<B id=\"6B\">\\'+\\'<U id=\"dW\" 2a=\"dV\"><i E=\"cb-1b-lA\"></i></U>\\'+\\'<U id=\"dX\" 2a=\"bU\"><i E=\"cb-1b-4O\"></i></U>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-5d\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<B E=\"md-4k\">bT:</B>\\'+(6X?\\'<1U 1x=\"1q\" id=\"6g\" E=\"5e\" R=\"5f:W;O:60%;\" 1D=\"5g:/\\'+\\'/\"></1U><i E=\"cb-1b-5I md-bV\" id=\"bW\" R=\"O:10%;\"></i>\\':\\'<1U 1x=\"1q\" id=\"6g\" E=\"5e\" 1D=\"5g:/\\'+\\'/\" R=\"5f:W;O:70%\"></1U>\\')+\\'<br R=\"44:4S\">\\'+\\'<B E=\"md-4k\">5Q:</B>\\'+\\'<1U 1x=\"1q\" id=\"av\" E=\"5e\" R=\"5f:1Y;O:70%\"></1U>\\'+\\'<br R=\"44:4S\">\\'+\\'<B E=\"md-4k\">93:</B>\\'+\\'<1U 1x=\"1q\" id=\"aw\" E=\"5e\" R=\"5f:1Y;O:70%\"></1U>\\'+\\'<br R=\"44:4S\">\\'+\\'<B E=\"md-4k\">hN:</B>\\'+\\'<4k R=\"5f:W;\" 1C=\"8a\" E=\"dY\"><1U 1x=\"9r\" id=\"8a\"></1U> hO hP</4k>\\'+\\'<br R=\"44:4S\">\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"ax\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-8M\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<B E=\"md-hQ\">\\'+\\'<B E=\"md-4b-3A\">\\'+\\'<1U id=\"8N\" 1x=\"2K\" lB=\"1z/*\" />\\'+\\'<B E=\"dy-1q\">\\'+\\'<p><i E=\"cb-1b-hR\"></i> lC lD 4b an 1z or N ae hQ.</p>\\'+\\'</B>\\'+\\'</B>\\'+\\'<B E=\"md-8c-3A\">\\'+\\'<B><1m id=\"dZ\" 1A=\"#\" bX=\"d4 1z\" /><i E=\"lE-lF-6f-dN\"></i></B>\\'+\\'</B>\\'+\\'</B>\\'+\\'<B E=\"md-4k\">lG lH 6u hS:</B>\\'+(7y?\\'<1U 1x=\"1q\" id=\"6Y\" E=\"5e\" R=\"5f:W;O:60%\"></1U><i E=\"cb-1b-5I md-bV\" id=\"bY\" R=\"O:10%;\"></i>\\':\\'<1U 1x=\"1q\" id=\"6Y\" E=\"5e\" R=\"5f:W;O:70%\"></1U>\\')+\\'<br R=\"44:4S\">\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"e0\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m\" id=\"md-6C\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<1U 1x=\"1q\" id=\"bZ\" E=\"5e\" 1D=\"5g:/\\'+\\'/\"></1U>\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"e1\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m\" id=\"md-6D\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<8O id=\"e2\" E=\"5e\" R=\"1n:lI;\"></8O>\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"e3\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-1R\">\\'+9q+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-2q\">\\'+\\'<U E=\"md-9s\" k-2q=\"W\" 2a=\"e4\"> <i E=\"cb-1b-2q-W\"></i> </U>\\'+\\'<U E=\"md-9s\" k-2q=\"6Q\" 2a=\"lJ\"> <i E=\"cb-1b-2q-6Q\"></i> </U>\\'+\\'<U E=\"md-9s\" k-2q=\"1Y\" 2a=\"e5\"> <i E=\"cb-1b-2q-1Y\"></i> </U>\\'+\\'<U E=\"md-9s\" k-2q=\"au\" 2a=\"lK\"> <i E=\"cb-1b-2q-au\"></i> </U>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-4T\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<B E=\"md-hT\">\\'+\\'<3c id=\"ay\" E=\"3I\">lL</3c>\\'+\\'<3c id=\"az\">lM</3c>\\'+\\'</B>\\'+\\'<B id=\"e6\" R=\"59-y:63;59-x:4P;83-bM:1g-83;82:5M 5M 5M\">\\'+\\'\\'+\\'<B>\\'+\\'e7:<br>\\'+\\'<1U 1x=\"1q\" id=\"4l\" 1D=\"\"/>\\'+\\'</B>\\'+\\'<B>\\'+\\'5Q bR:<br>\\'+\\'<1U 1x=\"1q\" id=\"4m\" 1D=\"\"/>\\'+\\'</B>\\'+\\'<B>\\'+\\'e8 lN:<br>\\'+\\'<2C id=\"5S\" R=\"O:e9;\"><2J 1D=\"0\">hU e8</2J><2J 1D=\"1\">1</2J><2J 1D=\"2\">2</2J><2J 1D=\"3\">3</2J></2C>\\'+\\'</B>\\'+\\'<B>\\'+\\'e8 bR:<br>\\'+\\'<1U 1x=\"1q\" id=\"2L\" 1D=\"\"/>\\'+\\'</B>\\'+\\'<B>\\'+\\'lO lP:<br>\\'+\\'<2C id=\"8d\" R=\"O:e9;\">\\'+\\'<2J 1D=\"1R\">lQ</2J>\\'+\\'<2J 1D=\"8e\">ea 9t</2J>\\'+\\'<2J 1D=\"8f\">ea 9u</2J>\\'+\\'<2J 1D=\"8g\">lR hV</2J>\\'+\\'<2J 1D=\"8h\">lS hV</2J>\\'+\\'<2J 1D=\"8i\">ea eb</2J>\\'+\\'</2C>\\'+\\'</B>\\'+\\'\\'+\\'</B>\\'+\\'<B id=\"ec\" R=\"59-y:63;59-x:4P;1e:1u;83-bM:1g-83;82:5M 5M 5M\">\\'+\\'<B>\\'+\\'9v 9t:<br>\\'+\\'<U k-L-1a=\"ed\" 2a=\"9v 9t (hW)\" R=\"O:9w;5v-1Y:ap\"> hW </U>\\'+\\'<U k-L-1a=\"ee\" 2a=\"9v 9t (hX)\" R=\"O:9w;\"> hX </U>\\'+\\'</B>\\'+\\'<B>\\'+\\'9v 9u:<br>\\'+\\'<U k-L-1a=\"ef\" 2a=\"9v 9u (e4)\" R=\"O:9w;5v-1Y:ap\"> e4 </U>\\'+\\'<U k-L-1a=\"eg\" 2a=\"9v 9u (e5)\" R=\"O:9w;\"> e5 </U>\\'+\\'</B>\\'+\\'<B>\\'+\\'bU:<br>\\'+\\'<U k-L-1a=\"eh\" 2a=\"bU 9t\" R=\"O:9w;5v-1Y:ap\"> 9t </U>\\'+\\'<U k-L-1a=\"ei\" 2a=\"bU 9u\" R=\"O:9w;\"> 9u </U>\\'+\\'</B>\\'+\\'<B R=\"5v-ej:h7;\">\\'+\\'ek:<br>\\'+\\'<U k-L-1a=\"en\" 2a=\"ek eb\" R=\"O:lT\"> ek eb </U>\\'+\\'</B>\\'+\\'\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m\" id=\"md-9x\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B R=\"82:c0 c0 hY;1q-2q:6Q;\">\\'+\\'<p>hZ c1 i0 c1 i1 ae i2 q 1R?</p>\\'+\\'<U id=\"eo\"> i3 </U>\\'+\\'<U id=\"ep\" R=\"5v-W:6R\"> i4 </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-3G\">\\'+\\'<U E=\"md-9y i5\" k-3G=\"7v\" 2a=\"lU\" R=\"5v-1Y:67\"> <i E=\"cb-1b-7v-1Y\"></i> </U>\\'+\\'<U E=\"md-9y i5\" k-3G=\"8P\" 2a=\"lV\"> <i E=\"cb-1b-7v-W\"></i> </U>\\'+\\'<U E=\"md-9y\" k-3G=\"lW\" 2a=\"lX bw\"> <i E=\"cb-1b-3G-hL\"></i> </U>\\'+\\'<U E=\"md-9y\" k-3G=\"lY\" 2a=\"lZ bw\"> <i E=\"cb-1b-3G-m0\"></i> </U>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-5m\">\\'+\\'<B>\\'+\\'<U k-L-1a=\"4R\" 2a=\"hH\"> <i E=\"cb-1b-4R\"></i> </U>\\'+\\'<U k-L-1a=\"6e\" 2a=\"hI\"> <i E=\"cb-1b-dS\"></i> </U>\\'+\\'<U k-L-1a=\"9z\" 2a=\"m1\"> <i E=\"cb-1b-9z\"></i> </U>\\'+\\'<U k-L-1a=\"9A\" 2a=\"m2\"> <i E=\"cb-1b-9A\"></i> </U>\\'+\\'<U k-L-1a=\"7A\" 2a=\"m3\"> <i E=\"cb-1b-7A\"></i> </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K eq-W\" id=\"1K-5n\">\\'+\\'<B>\\'+\\'dU hK: <3c id=\"9B\"></3c><br>\\'+\\'<U k-L-1a=\"5u\" k-J=\"9C\" E=\"7B\"> - </U>\\'+\\'<U k-L-1a=\"5u\" k-J=\"9D\" E=\"7B\"> + </U>\\'+\\'<U k-L-1a=\"5u\" k-J=\"44\" E=\"7B\" R=\"1N-1M:bS\"> <i E=\"cb-1b-as\"></i> </U>\\'+\\'<br R=\"44:4S\">\\'+\\'</B>\\'+\\'<B>\\'+\\'m4 m5: <3c id=\"9E\"></3c><br>\\'+\\'<U k-L-1a=\"aA\" k-J=\"9C\" E=\"7B\"> - </U>\\'+\\'<U k-L-1a=\"aA\" k-J=\"9D\" E=\"7B\"> + </U>\\'+\\'<U k-L-1a=\"aA\" k-J=\"44\" E=\"7B\" R=\"1N-1M:bS\"> <i E=\"cb-1b-as\"></i> </U>\\'+\\'<br R=\"44:4S\">\\'+\\'</B>\\'+\\'<B>\\'+\\'m6 m7: <3c id=\"9F\"></3c><br>\\'+\\'<U k-L-1a=\"aB\" k-J=\"9C\" E=\"7B\"> - </U>\\'+\\'<U k-L-1a=\"aB\" k-J=\"9D\" E=\"7B\"> + </U>\\'+\\'<U k-L-1a=\"aB\" k-J=\"44\" E=\"7B\" R=\"1N-1M:bS\"> <i E=\"cb-1b-as\"></i> </U>\\'+\\'<br R=\"44:4S\">\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-9G\">\\'+\\'<B>\\'+\\'<4r id=\"8j\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\'+\\'<U E=\"md-er\" k-1N-5r=\"\" k-aC=\"\" R=\"1e:1u\"></U>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-71\">\\'+\\'<B>\\'+\\'<4r id=\"8k\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\'+\\'<U E=\"md-es\" k-1N-5r=\"\" k-aC=\"\" R=\"1e:1u\"></U>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"L-1K\" id=\"1K-62\">\\'+\\'<B R=\"5v:dd;\">\\'+\\'<1U 1x=\"1q\" id=\"2Y\"/>\\'+\\'<U id=\"et\" R=\"5v-W:m8;5v-ej: m9;82:0 6R;O:ma;1n:dg;1g-4a:mb;\"> <i E=\"cb-1b-as\"></i> </U>\\'+\\'<B R=\"59-x:63;59-y:4P;O:mc;1n:me\">\\'+\\'<B E=\"mf\">\\'+\\'[i6]\\'+\\'</B>\\'+\\'</B>\\'+\\'<B R=\"O:3u%;5v-1i:mg;\">\\'+\\'<2C id=\"7C\" R=\"O:e9;\"><2J 1D=\"1\">5Q bR</2J><2J 1D=\"2\">e7</2J><2J 1D=\"3\">mi e7</2J></2C>\\'+\\'</B>\\'+\\'<br R=\"44:4S\" />\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-5u\" R=\"1g-4a:6R\">\\'+\\'<B E=\"md-4p\" R=\"1g-4a:6R\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<4r id=\"eu\" R=\"O:3u%;1n:mj;1g: 1u;1e: 1H;\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\'+\\'<U E=\"md-ev\" k-1N-1M=\"\" R=\"1e:1u\"></U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-K\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B E=\"md-2m-3S\" R=\"1e:1u\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<8O id=\"3x\" E=\"5e\" R=\"1n:mk;\"></8O>\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"ar\" E=\"ew\"> c2 </U>\\'+\\'<U id=\"aq\" E=\"ex\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-7x\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<B E=\"md-2A\">\\'+\\'<4r id=\"hC\" R=\"O:3u%;1n:7D;1e:1H;1g:1u;\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\'+\\'<1U id=\"dK\" 1x=\"4P\" />\\'+\\'<1U id=\"hD\" 1x=\"4P\" />\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"dL\" E=\"ew\"> c2 </U>\\'+\\'<U id=\"dJ\" E=\"ex\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-8J\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2m-3S\"></B>\\'+\\'<B E=\"md-2A\" R=\"1Z: #9k;\">\\'+\\'<B id=\"hA\">g3</b>: g4 is a d5 ml. d2 6N 3E (&lt;7Q&gt; 1H) is g5 g6 g7 g8 94 g9 ga or gb bx gc 4p 4Z, gd ge at d4 gf gg. gh do 94 gj gk bx d5 3E.</B>\\'+\\'<8O id=\"85\" E=\"5e\" R=\"1Z: #9k;\"></8O>\\'+\\'<1U id=\"9n\" 1x=\"4P\" />\\'+\\'</B>\\'+\\'<B E=\"md-8b\">\\'+\\'<U id=\"dH\" E=\"ew\"> c2 </U>\\'+\\'<U id=\"dF\" E=\"ex\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m\" id=\"md-3F\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+(6X?\\'<4r id=\"c3\" R=\"O:3u%;1n:ey;1g: 1u;1e: 1H;\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\':\\'\\')+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'<1U 1x=\"4P\" id=\"3I-1U\" />\\'+\\'\\'+\\'<B E=\"md-2m\" id=\"md-9m\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B R=\"82:c0 c0 hY;1q-2q:6Q;\">\\'+\\'<p>hZ c1 i0 c1 i1 ae i2 q 1H?</p>\\'+\\'<U id=\"dE\"> i3 </U>\\'+\\'<U id=\"dD\" R=\"5v-W:6R\"> i4 </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-1b-2C\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A md-I\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<4r id=\"aD\" R=\"O:3u%;1n:7D;4P;1g:1u;5f:W;\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-5K-2C\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A md-I\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<B id=\"i7\" R=\"O:3u%;\"></B>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B id=\"3T-T\"></B>\\'+\\'\\';h 9H=\\'\\';aE=3J mm(\"#mn\",\"#mo\",\"#mp\",\"#mq\",\"#mr\",\"#ms\",\"#mt\",\"#mu\",\"#mv\",\"|\",\"#mx\",\"#mz\",\"#mA\",\"#mB\",\"#mC\",\"#mD\",\"#mE\",\"#mF\",\"#mG\",\"|\",\"#d7\",\"#mH\",\"#mI\",\"#mJ\",\"#mK\",\"#mL\",\"#mM\",\"#mN\",\"#mO\",\"|\",\"#mP\",\"#mQ\",\"#mR\",\"#mS\",\"#mT\",\"#mU\",\"#mV\",\"#mW\",\"#mX\",\"|\",\"#i8\",\"#mY\",\"#mZ\",\"#n0\",\"#n1\",\"#n2\",\"#n3\",\"#n4\",\"#n5\");9H+=\\'<B R=\"44:4S;1n:bC;\">\\';1C(h i=0;i<aE.V;i++){if(aE[i]!=\\'|\\'){h ez=\\'\\';if(aE[i]==\\'#i8\\'&&i==98)ez=\\'\\';9H+=\\'<U E=\"md-9I\" R=\"1Z:\\'+aE[i]+ez+\\';\"></U>\\'}F{9H+=\\'</B><B R=\"44:4S;1n:bC;\">\\'}}9H+=\\'</B>\\';3z=3z.2M(\\'[i6]\\',9H);if(d(\\'#L-2e\\').V==0){d(\\'#4q\\').3P(3z);q.aF(\\'9z\\');q.aF(\\'9A\\');q.aF(\\'n6\\');q.aF(\\'n7\\');d(\\'#L-2e\\').1y({7j:\"6a\",3S:\".L-1y\",am:D(2b,1k){d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\')}});if(q.I.2e==\\'W\\'){}F if(q.I.2e==\\'1Y\\'){d(\\'.L-1K\\').1L(\\'eq-1Y\\')}F{d(\\'.L-1K\\').1L(\\'eq-1i\\')}}h c4=X;$C.on(\\'4w\\',D(e){$C.k(\\'T\\').eA()});$C.on(\\'hE\\',D(e){$C.k(\\'T\\').eA()});d(M).on(\"n8\",\\'#\\'+$C.H(\\'id\\'),D(e){eB($6d)});$C.on(\\'8l\\',D(e){if(e.8m==46||e.8m==8){h el;2S{if(1h.1r){el=1h.1r().2i(0).2y.2l}F if(M.1d){el=M.1d.1F().2z()}if(el.3K.1J()==\\'p\\'){h t=\\'\\';if(1h.1r){t=1h.1r().c5()}F if(M.1r){t=M.1r().c5()}F if(M.1d){t=M.1d.1F().1q}if(t==el.n9){d(el).K(\\'<br>\\');Y X}}}2T(e){}}if(e.8m==17){c4=G;Y}if((e.8m==86&&c4==G)||(e.8m==86&&e.na)){eB($6d)}if(e.eC){if(e.8Q==65||e.8Q==97){e.2B();h 3k=6i();h el;2S{if(1h.1r){el=1h.1r().2i(0).2y.2l}F if(M.1d){el=M.1d.1F().2z()}}2T(e){Y}if(3k){h 1s=M.2A.nb();1s.nc(el);1s.2C()}F{h 1s=M.1F();1s.i9(el);h 2U=1h.1r();2U.72();2U.7E(1s)}}}}).4w(D(e){if(e.8m==17){c4=X}$C.1j(\\'[R]\\').1P(D(){if(d(q).H(\\'R\\').1T(\\'1N-1M\\')!=-1){if(d(q).l(\\'1N-1M\\')==d(q).3g().l(\\'1N-1M\\')){d(q).l(\\'1N-1M\\',\\'\\')}}if(d(q).H(\\'R\\').1T(\\'53-1n\\')!=-1){if(d(q).l(\\'53-1n\\')==d(q).3g().l(\\'53-1n\\')){d(q).l(\\'53-1n\\',\\'\\')}}})});d(M).on(\\'7r\\',D(2b){h $6y;if(d(2b.1V).S(\".1k-1y\").V>0){if(d(2b.1V).S(\".1k-1y\").3g().k(\\'1p\\')){$6y=d(2b.1V).S(\".1k-1y\").3g()}}h c6=X;if(d(\\'#L-2e\\').l(\\'1e\\')==\\'1u\\')Y;h el=d(2b.1V).2s(\"2P\").1J();d(2b.1V).S().1P(D(e){if(d(q).is(\\'[1W]\\')||d(q).2p(\\'md-2m\\')||d(q).2p(\\'cp-1f-nd\\')||d(q).H(\\'id\\')==\\'4q\\'){c6=G;Y}});if(d(2b.1V).is(\\'[1W]\\')){c6=G;Y}if(!c6){$6d=1O;if(dP==\\'63\\'){2S{h el;if(1h.1r){el=1h.1r().2i(0).2y.2l}F if(M.1d){el=M.1d.1F().2z()}h 9J=X;d(el).S().1P(D(){if(d(q).k(\\'1p\\')){9J=G}});if(!9J)d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\');eD()}2T(e){}}if(9p){1C(h i=0;i<4F.V;i++){d(4F[i]).l(\\'5c\\',\\'\\');d(4F[i]).1j(\\'*\\').l(\\'5c\\',\\'\\')}}d(\\'.1B-2I\\').1I(G,G).1G(0);d(\".1k-1y\").1E(\\'1k-7n-7o\\');d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\');eD();d(\"#6B\").1I(G,G).1G(0);if(d(\"#md-4T\").k(\"1l\"))d(\"#md-4T\").k(\"1l\").2h();if(d(\"#md-5d\").k(\"1l\"))d(\"#md-5d\").k(\"1l\").2h();if($2u)if($2u.H(\\'2x\\')==\\'5g://\\')$2u.5O($2u.K());if(d(\"#md-8M\").k(\"1l\"))d(\"#md-8M\").k(\"1l\").2h();if(d(\"#md-1m\").k(\"1l\"))d(\"#md-1m\").k(\"1l\").2h();if(d(\"#md-6C\").k(\"1l\"))d(\"#md-6C\").k(\"1l\").2h();if(d(\"#md-6D\").k(\"1l\"))d(\"#md-6D\").k(\"1l\").2h();if(d(\"#md-1b-2C\").k(\"1l\"))d(\"#md-1b-2C\").k(\"1l\").2h();if(d(\"#md-5K-2C\").k(\"1l\"))d(\"#md-5K-2C\").k(\"1l\").2h()}});$C.on(\\'9l\\',D(){h $q=$(q);$q.k(\\'eE\\',$q.K());Y $q}).on(\\'4w\\',D(){h $q=$(q);if($q.k(\\'eE\\')!==$q.K()){$q.k(\\'eE\\',$q.K());$C.k(\\'T\\').I.1X();2g()}Y $q})};q.eF=D(){q.I=d.af({},7f,4A);h 5l=q.I.5l;if(5l!=\\'\\'){$C.1j(\\'.1k-1y > B:1w-ne i\\').1P(D(){if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;if(d(q).K()==\\'\\'){d(q).1c(\\'N\\');d(q).N(D(){$2V=d(q);if(d(\\'#aD\\').H(\\'1A\\').1T(\\'6Z.K\\')!=-1){d(\\'#aD\\').H(\\'1A\\',5l)}d(\\'#md-1b-2C\\').l(\\'4E-O\\',\\'ia\\');d(\\'#md-1b-2C\\').1l({5w:G});d(\\'#md-1b-2C\\').k(\\'1l\\').3d();$C.k(\\'T\\').3W()})}})}};q.eA=D(){h 3k=6i();h el;h Q;2S{h el;if(1h.1r){Q=1h.1r().2i(0).2y;el=Q.2l}F if(M.1d){Q=M.1d.1F();el=Q.2z()}}2T(e){Y}if(d(el).S(\"[k-K]\").V>0)Y;if(d(el).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(el).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;if(el.3K.1J()==\\'a\\'){if(3k){}F{}if(d(\\'#md-5d\\').l(\\'1e\\')!=\\'1H\\')d(\"#4Q\").1L(\\'eG\\')}F{d(\"#4Q\").1E(\\'eG\\')}if(Q){if(d(Q).is(\\'[1W]\\')){d(\"#L-2e\").1I(G,G).2R(3R)}}if(d(el).is(\\'[1W]\\')){d(\"#L-2e\").1I(G,G).2R(3R)}if(d(el).S(\\'[1W]\\').V>0){d(\"#L-2e\").1I(G,G).2R(3R)}$C.k(\\'T\\').3W();h 5b=$C.k(\\'T\\').I.5b;if(5b==\\'\\'){}F{$C.1j(5b).1c(\\'7r\\');$C.1j(5b).on(\\'7r\\',D(e){$6d=d(q);d(\"#L-2e\").1I(G,G).2R(3R);if(9p){1C(h i=0;i<4F.V;i++){d(4F[i]).l(\\'5c\\',\\'\\');d(4F[i]).1j(\\'*\\').l(\\'5c\\',\\'\\')}d(q).l(\\'5c\\',\\'6w(0, 0, 0, 0.43) eH 5x\\')}});$C.1j(\\'.7g\\').1j(5b).3w(\\'1W\\')}if(d(el).S(\"1R\").V>0){h $1R=d(el).S(\"1R\").1w();h 3B=$1R.3l().1i-30;h 3X=$1R.3l().W+$1R.O()-2f(d(\"#6B\").l(\"O\"));d(\"#6B\").l(\"1i\",3B+\"px\");d(\"#6B\").l(\"W\",3X+\"px\");if(d(\"#6B\").l(\\'1e\\')==\\'1u\\')d(\"#6B\").1I(G,G).l({1e:\\'1u\\'}).2R(20)}F{d(\"#6B\").1I(G,G).1G(0)}3i=3j();$2V=1O;if(d(Q).2s(\"2P\")){if(d(el).S(\\'[1W]\\').V>0){h 4c=d(Q).2s(\"2P\").1J();if(4c==\\'3O\\'||4c==\\'9K\\'){$1v=d(Q)}F if(d(Q).S(\\'3O,9K\\').V>0){$1v=d(Q).S(\\'3O,9K\\').1w()}F{$1v=1O;if(d(\"#md-4T\").k(\"1l\"))d(\"#md-4T\").k(\"1l\").2h()}}}F{if(d(Q).S(\\'3O,9K\\').V>0){$1v=d(Q).S(\\'3O,9K\\').1w()}F{$1v=1O;if(d(\"#md-4T\").k(\"1l\"))d(\"#md-4T\").k(\"1l\").2h()}}if(d(\"#md-5d\").k(\"1l\"))d(\"#md-5d\").k(\"1l\").2h();if($2u)if($2u.H(\\'2x\\')==\\'5g://\\')$2u.5O($2u.K());if(d(\"#md-1m\").k(\"1l\"))d(\"#md-1m\").k(\"1l\").2h();if(d(\"#md-6C\").k(\"1l\"))d(\"#md-6C\").k(\"1l\").2h();if(d(\"#md-6D\").k(\"1l\"))d(\"#md-6D\").k(\"1l\").2h();h $6y;if(d(el).S(\".1k-1y\").V>0){if(d(el).S(\".1k-1y\").3g().k(\\'1p\\')){$6y=d(el).S(\".1k-1y\").3g()}}if($6y){h 8B=$6y.k(\\'1p\\').I.d0;h $1h=d(1h);h 9a=$1h.O();h 2O=7X;if(9a<bB){2O=bA}if($6y.k(\\'1p\\').I.cY==\\'1Y\\'){if(8B||((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i)))){if(2f(d(\\'#2N\\').l(\\'1Y\\'))==0){d(\\'#2N\\').36({1Y:\\'-=\\'+2O+\\'px\\'},3R);d(\\'2A\\').36({de:\\'-=\\'+2O+\\'px\\'},68);d(\\'#L-2e\\').36({df:\\'-=\\'+2O+\\'px\\'},68);d(\\'#49 i\\').H(\\'E\\',\\'cb-1b-W-4f-4N\\');d(\\'#3f\\').1G(2H);d(\\'#3H\\').1G(2H)}}F{if(2f(d(\\'#2N\\').l(\\'1Y\\'))==0){d(\\'#2N\\').36({1Y:\\'-=\\'+2O+\\'px\\'},3R);d(\\'#49 i\\').H(\\'E\\',\\'cb-1b-W-4f-4N\\');d(\\'#3f\\').l(\\'1e\\',\\'1u\\');d(\\'#3H\\').l(\\'1e\\',\\'1u\\')}}}F{if(8B||((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i)))){if(2f(d(\\'#2N\\').l(\\'W\\'))==0){d(\\'#2N\\').36({W:\\'-=\\'+(2O+0)+\\'px\\'},3R);d(\\'2A\\').36({di:\\'-=\\'+2O+\\'px\\'},68);d(\\'#L-2e\\').36({dj:\\'-=\\'+2O+\\'px\\'},68);d(\"#49 i\").H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');d(\\'#3f\\').1G(2H);d(\\'#3H\\').1G(2H)}}F{if(2f(d(\\'#2N\\').l(\\'W\\'))==0){d(\\'#2N\\').36({W:\\'-=\\'+(2O+0)+\\'px\\'},3R);d(\"#49 i\").H(\\'E\\',\\'cb-1b-1Y-4f-4N\\');d(\\'#3f\\').l(\\'1e\\',\\'1u\\');d(\\'#3H\\').l(\\'1e\\',\\'1u\\')}}}}$C.k(\\'T\\').5h()};q.5h=D(){if(M.73(\"4D\")){d(\\'[k-L-1a=4D]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=4D]\\').1E(\\'on\\')}if(M.73(\"4M\")){d(\\'[k-L-1a=4M]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=4M]\\').1E(\\'on\\')}if(M.73(\"4R\")){d(\\'[k-L-1a=4R]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=4R]\\').1E(\\'on\\')}if(M.73(\"6e\")){d(\\'[k-L-1a=6e]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=6e]\\').1E(\\'on\\')}if(M.73(\"9z\")){d(\\'[k-L-1a=9z]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=9z]\\').1E(\\'on\\')}if(M.73(\"9A\")){d(\\'[k-L-1a=9A]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=9A]\\').1E(\\'on\\')}if(M.73(\"nf\")){d(\\'[k-2q=au]\\').1L(\\'on\\')}F{d(\\'[k-2q=au]\\').1E(\\'on\\')}if(M.73(\"ng\")){d(\\'[k-2q=W]\\').1L(\\'on\\')}F{d(\\'[k-2q=W]\\').1E(\\'on\\')}if(M.73(\"nh\")){d(\\'[k-2q=1Y]\\').1L(\\'on\\')}F{d(\\'[k-2q=1Y]\\').1E(\\'on\\')}if(M.73(\"ni\")){d(\\'[k-2q=6Q]\\').1L(\\'on\\')}F{d(\\'[k-2q=6Q]\\').1E(\\'on\\')}h s=M.ib(\"nj\");h 4G=s.3b(\\',\\')[0];4G=4G.2M(\\'\"\\',\\'\\').2M(\\'\"\\',\\'\\');4G=d.2W(4G).1J();if(d(\\'#8j\\').H(\\'1A\\').1T(\\'aG.K\\')==-1){d(\\'#8j\\').H(\\'1A\\',2o+\\'aG.K?1\\')}d(\\'#8j\\').5T().1j(\\'[k-1N-5r]\\').1E(\\'on\\');d(\\'#8j\\').5T().1j(\\'[k-1N-5r]\\').1P(D(){h f=d(q).H(\\'k-1N-5r\\');f=f.3b(\\',\\')[0];f=d.2W(f).1J();if(f==4G&&f!=\\'\\'){d(q).1L(\\'on\\')}});h 1H=M.ib(\"nk\");1H=1H.1J();if(1H==\\'8R\\')1H=\\'p\\';if(1H==\\'74 1\\')1H=\\'h1\\';if(1H==\\'74 2\\')1H=\\'h2\\';if(1H==\\'74 3\\')1H=\\'h3\\';if(1H==\\'74 4\\')1H=\\'h4\\';if(1H==\\'74 5\\')1H=\\'h5\\';if(1H==\\'74 6\\')1H=\\'h6\\';if(1H==\\'nl\\')1H=\\'nm\\';if(d(\\'#8k\\').H(\\'1A\\').1T(\\'71.K\\')==-1){d(\\'#8k\\').H(\\'1A\\',2o+\\'71.K?1\\')}d(\\'#8k\\').5T().1j(\\'[k-74]\\').1E(\\'on\\');d(\\'#8k\\').5T().1j(\\'[k-74]\\').1P(D(){h p=d(q).H(\\'k-74\\');if(p==1H&&1H!=\\'\\'){d(q).1L(\\'on\\')}});h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}if(d(el).l(\\'1q-4s\\')==\\'7A\\'){d(\\'[k-L-1a=7A]\\').1L(\\'on\\')}F{d(\\'[k-L-1a=7A]\\').1E(\\'on\\')}};q.3W=D(){d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\');d(\\'[k-L-1a=\"5m\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"5n\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"1f\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"1N\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"7U\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"2q\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"3G\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"1R\"]\\').1E(\\'on\\')};q.3U=D(){h 5b=$C.k(\\'T\\').I.5b;if(5b==\\'\\'){$C.H(\\'1W\\',\\'G\\');$C.1c(\\'7r\\');$C.on(\\'7r\\',D(e){$6d=d(q);d(\"#L-2e\").1I(G,G).2R(3R);if(9p){1C(h i=0;i<4F.V;i++){d(4F[i]).l(\\'5c\\',\\'\\');d(4F[i]).1j(\\'*\\').l(\\'5c\\',\\'\\')}d(q).l(\\'5c\\',\\'6w(0, 0, 0, 0.43) eH 5x\\')}})}F{$C.1j(5b).1P(D(){h 61=$C.k(\\'T\\').I.61;if(61==\\'7R\\'){if(d(q).S(\"[k-K]\").V>0){if(d(q).2p(\\'7g\\')){d(q).H(\\'1W\\',\\'G\\')}}}F{if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;h H=d(q).H(\\'1W\\');if(75 H!==75 5s&&H!==X){}F{d(q).H(\\'1W\\',\\'G\\')}}});$C.1j(5b).1c(\\'7r\\');$C.1j(5b).on(\\'7r\\',D(e){$6d=d(q);if(9p){1C(h i=0;i<4F.V;i++){d(4F[i]).l(\\'5c\\',\\'\\');d(4F[i]).1j(\\'*\\').l(\\'5c\\',\\'\\')}d(q).l(\\'5c\\',\\'6w(0, 0, 0, 0.43) eH 5x\\')}});$C.1j(\\'.7g\\').1j(5b).3w(\\'1W\\')}$C.1j(\\'.is-3V\\').H(\\'1W\\',\\'X\\');$C.1j(\\'.is-3V\\').1P(D(){d(q).9l(D(){d(q).5t()})});h 61=$C.k(\\'T\\').I.61;if(61==\\'7R\\'){$C.1j(\"h1,h2,h3,h4,h5,h6\").1c(\\'8l\\');$C.1j(\"h1,h2,h3,h4,h5,h6\").on(\\'8l\\',D(e){if(e.8Q==13){h 3k=6i();if(3k&&3k<=10){h 2U=M.1d.1F();if(2U.2z){2U.eI(\\'<br>\\');e.ic=G;e.ie=X;2U.2C();2U.ig(\"c7\",1);2U.ih(\"c7\",1);2U.5R(X);Y X}}F{h 2U=1h.1r();h 1s=2U.2i(0);1s.c8();1s.5R(G);h 7F=1s.aH(\\'<br>\\');h 4H=7F.eJ;1s.9L(7F);1s.9M(4H);1s.aI(4H);if(1s.c9.3L==1){if(1s.aJ==1s.c9.ii.V-1){1s.9L(1s.aH(\"<br />\"));1s.9M(4H);1s.aI(4H)}}h 6j=1s.2y;if(6j&&6j.2l){2S{6j.2l.eK()}2T(e){}}2U.72();2U.7E(1s);Y X}}});$C.1S(\\'B.1k-1y\\').1P(D(){2S{h H=d(q).1S().1w().1S().1w().H(\\'k-K\\');if(75 H!==75 5s&&H!==X){Y}if(d(q).1S().1w().1S().1w().S(\"[k-K]\").V>0)Y;if(d(q).1S().1w().1S().1w().S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).1S().1w().1S().1w().S(\"[k-2t=\\'42-6z\\']\").V>0)Y}2T(e){}h eL=X;2S{if(d(q).1S().1w().1S().1w().2s(\"2P\").1J()==\\'1R\\')eL=G}2T(e){}if(eL){d(q).1j(\\'3O,9K\\').1P(D(){if(d(q).1S().V==1){if(d(q).1S().1w().2s(\"2P\").1J()==\\'1R\\'){}F{d(q).H(\\'1W\\',G)}}F{d(q).H(\\'1W\\',G)}})}F{d(q).1S().1w().1S().1P(D(){d(q).H(\\'1W\\',G)})}h 3k=6i();h aK=eM();if((3k&&3k<=11)||aK){2S{if(d(q).1S().1w().1S().1w().2s(\"2P\").1J()==\\'1R\\'){d(q).1S().1w().H(\\'1W\\',G)}}2T(e){}}});$C.1j(\"B\").1c(\\'4w\\');$C.1j(\"B\").on(\\'4w\\',D(e){h el;h Q;2S{if(1h.1r){Q=1h.1r().2i(0).2y;el=1h.1r().2i(0).2y.2l}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}}2T(e){Y}if(e.8Q==13&&!e.ij){h 3k=6i();if(3k>0){}F{h ik=/nn/.6E(2n.2r)&&/no np/.6E(2n.il);h aL=/nq/.6E(2n.2r)&&/nr ns/.6E(2n.il);h im=1h.in;h io=2n.2r.1J().1T(\\'66\\')>-1;if(ik||im){if(d(el).2s(\"2P\").1J()==\\'p\\'||d(el).2s(\"2P\").1J()==\\'B\\'){M.2w(\\'eN\\',X,\\'<p>\\')}}if(io){if(!d(Q).K())M.2w(\\'eN\\',X,\\'<p>\\')}}}});$C.1j(\"B\").1c(\\'8l\\');$C.1j(\"B\").on(\\'8l\\',D(e){h el;h Q;2S{if(1h.1r){Q=1h.1r().2i(0).2y;el=1h.1r().2i(0).2y.2l}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}}2T(e){Y}if(e.8Q==8||e.8Q==46){if(d(Q).K()){h 7G=d(Q).2s(\"2P\").1J();if(7G==\\'h1\\'||7G==\\'h1\\'||7G==\\'h2\\'||7G==\\'h3\\'||7G==\\'h4\\'||7G==\\'h5\\'||7G==\\'h6\\'||7G==\\'p\\'){if(d(Q).1q()==\\'\\'){M.2w(\\'7h\\',X,1O);d(Q).2D();h 2U=1h.1r();h 1s=2U.2i(0);1s.c8();1s.5R(G);2U.72();2U.7E(1s);e.2B();e.7Y()}}}}})}F{$C.1j(\"p\").1c(\\'8l\\');$C.1j(\"p\").on(\\'8l\\',D(e){if(e.8Q==13&&$C.1j(\"li\").V==0){h ip=2n.2r.1J();h iq=(ip.1T(\\'aM\\')>=0)?G:X;if(iq){h 2U=M.1d.1F();if(2U.2z){2U.eI(\\'<br>\\');e.ic=G;e.ie=X;2U.2C();2U.ig(\"c7\",1);2U.ih(\"c7\",1);2U.5R(X);Y X}}F{h 2U=1h.1r();h 1s=2U.2i(0);1s.c8();1s.5R(G);h 7F=1s.aH(\\'<br>\\');h 4H=7F.eJ;1s.9L(7F);1s.9M(4H);1s.aI(4H);if(1s.c9.3L==1){if(1s.aJ==1s.c9.ii.V-1){1s.9L(1s.aH(\"<br />\"));1s.9M(4H);1s.aI(4H)}}h 6j=1s.2y;if(6j&&6j.2l){2S{6j.2l.eK()}2T(e){}}2U.72();2U.7E(1s);Y X}}})}d(\\'[k-L-1a=\"5u\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"5u\"]\\').N(D(){if(3i){3a(3i);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}if(d(el).H(\\'1W\\')!=\\'G\\'){if(d(el).S(\\'[1W]\\').V==0){Y}}if(d(q).H(\\'k-J\\')!=\\'44\\'){h 1D=2f(d(el).l(\\'1N-1M\\'));if(d(q).H(\\'k-J\\')==\\'9D\\'){1D=1D+1}if(d(q).H(\\'k-J\\')==\\'9C\\'){1D=1D-1}h s=1D+\\'px\\';h 1q=76();if(d.2W(1q)!=\\'\\'&&d(el).1q()!=1q){M.2w(\"ca\",X,\"7\");h 3C=M.6J(\"1N\");1C(h i=0,4U=3C.V;i<4U;++i){if(3C[i].1M==\"7\"){3C[i].77(\"1M\");3C[i].R.ca=s}}3i=3j()}F if(d(el).1q()==1q){if(d(el).K()){d(el).l(\\'1N-1M\\',s)}F{d(el).3g().l(\\'1N-1M\\',s)}}F{d(el).l(\\'1N-1M\\',s)};d(\\'#9B\\').K(s)}F{d(el).l(\\'1N-1M\\',\\'\\');h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h 9N=2f(d(el).l(\\'1N-1M\\'));d(\\'#9B\\').K(9N+\\'px\\');d(\\'#9B\\').H(\\'k-3s-1D\\',9N)}2g();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X()}});d(\\'[k-L-1a=\"aA\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"aA\"]\\').N(D(){if(3i){3a(3i);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}if(d(el).H(\\'1W\\')!=\\'G\\'){if(d(el).S(\\'[1W]\\').V==0){Y}}if(d(q).H(\\'k-J\\')!=\\'44\\'){h 1D=2f(d(el).l(\\'aN-aO\\'));if(d(q).H(\\'k-J\\')==\\'9D\\'){1D=1D+1}if(d(q).H(\\'k-J\\')==\\'9C\\'){1D=1D-1}d(el).l(\\'aN-aO\\',1D+\\'px\\');d(\\'#9E\\').K(1D+\\'px\\')}F{d(el).l(\\'aN-aO\\',\\'\\');h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h 9O=2f(d(el).l(\\'aN-aO\\'));d(\\'#9E\\').K(9O+\\'px\\');d(\\'#9E\\').H(\\'k-3s-1D\\',9O)}2g();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X()}});d(\\'[k-L-1a=\"aB\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"aB\"]\\').N(D(){if(3i){3a(3i);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}if(d(el).H(\\'1W\\')!=\\'G\\'){if(d(el).S(\\'[1W]\\').V==0){Y}}if(d(q).H(\\'k-J\\')!=\\'44\\'){h 1D=2f(d(el).l(\\'53-1n\\'));if(d(q).H(\\'k-J\\')==\\'9D\\'){1D=1D+1}if(d(q).H(\\'k-J\\')==\\'9C\\'){1D=1D-1}d(el).l(\\'53-1n\\',1D+\\'px\\');d(\\'#9F\\').K(1D+\\'px\\')}F{d(el).l(\\'53-1n\\',\\'\\');h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h 9P=2f(d(el).l(\\'53-1n\\'));d(\\'#9F\\').K(9P+\\'px\\');d(\\'#9F\\').H(\\'k-3s-1D\\',9P)}2g();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X()}});d(\\'[k-L-1a=\"ir\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"ir\"]\\').N(D(e){$6d.2D();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').3U();2g();e.2B()});d(\\'[k-L-1a=\"dT\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"dT\"]\\').N(D(e){h 2j=3j();d(\\'#md-5u\\').l(\\'4E-O\\',\\'nt\\');d(\\'#md-5u\\').1l();d(\\'#md-5u\\').k(\\'1l\\').3d(2j);$C.k(\\'T\\').3W();e.2B();if(d(\\'#eu\\').H(\\'1A\\').1T(\\'5u.K\\')==-1){d(\\'#eu\\').H(\\'1A\\',2o+\\'5u.K\\')}h 1q=76();d(\\'.md-ev\\').1c(\\'N\\');d(\\'.md-ev\\').N(D(){3a(2j);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}if(d(el).S(\\'[1W]\\').V==0){d(\\'#md-5u\\').k(\\'1l\\').2h();Y}h s=d(q).H(\\'k-1N-1M\\');if(d.2W(1q)!=\\'\\'&&d(el).1q()!=1q){M.2w(\"ca\",X,\"7\");h 3C=M.6J(\"1N\");1C(h i=0,4U=3C.V;i<4U;++i){if(3C[i].1M==\"7\"){3C[i].77(\"1M\");3C[i].R.ca=s}}}F if(d(el).1q()==1q){if(d(el).K()){d(el).l(\\'1N-1M\\',s)}F{d(el).3g().l(\\'1N-1M\\',s)}}F{d(el).l(\\'1N-1M\\',s)};d(q).5t();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;e.2B();2g()})});d(\\'[k-L-1a=\"7h\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"7h\"]\\').N(D(e){M.2w(\\'7h\\',X,1O);M.2w(\\'7h\\',X,1O);d(q).5t();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;e.2B();2g()});d(\\'[k-L-1a=\"7V\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"7V\"]\\').N(D(e){M.2w(\\'7V\\',X,1O);d(\"#4Q\").1E(\\'eG\\');d(q).5t();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;e.2B();2g()});h cc;d(\\'[k-L-1a=\"K\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"K\"]\\').N(D(e){h el;if(1h.1r){el=1h.1r().2i(0).2y.2l}F if(M.1d){el=M.1d.1F().2z()}h 9J=X;d(el).S().1P(D(){if(d(q).k(\\'1p\\')){d(q).k(\\'1p\\').dz();9J=G;cc=el}});if(!9J&&cc){el=cc;d(el).S().1P(D(){if(d(q).k(\\'1p\\')){d(q).k(\\'1p\\').dz()}})}e.2B()});d(\\'[k-L-1a=\"7U\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"7U\"]\\').N(D(e){3i=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-71\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-57-eO}F{W=W+57}}F{1i=1i+51}d(\\'#1K-71\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-71\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-71\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-71\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');if(d(\\'#8k\\').H(\\'1A\\').1T(\\'71.K\\')==-1){d(\\'#8k\\').H(\\'1A\\',2o+\\'71.K?1\\')}h 3k=6i();if(3k)3a(3i);$C.k(\\'T\\').5h();2S{h $5T=d(\\'#8k\\').5T();h $9Q=$5T.1j(\\'#nu\\');h $cd=$5T.1j(\\'.on\\');$9Q.36({37:$9Q.37()+$cd.3v().1i-7},eP)}2T(e){}d(\\'.md-es\\').1c(\\'N\\');d(\\'.md-es\\').N(D(){3a(3i);h s=d(q).H(\\'k-74\\');M.2w(\\'eN\\',X,\\'<\\'+s+\\'>\\');$C.k(\\'T\\').5h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;e.2B();3i=3j();2g()})});d(\\'[k-L-1a=\"1N\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"1N\"]\\').N(D(e){3i=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-9G\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-57-eO}F{W=W+57}}F{1i=1i+51}d(\\'#1K-9G\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-9G\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-9G\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-9G\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');if(d(\\'#8j\\').H(\\'1A\\').1T(\\'aG.K\\')==-1){d(\\'#8j\\').H(\\'1A\\',2o+\\'aG.K?1\\')}h 1q=76();$C.k(\\'T\\').5h();2S{h $5T=d(\\'#8j\\').5T();h $9Q=$5T.1j(\\'#nv\\');h $cd=$5T.1j(\\'.on\\');$9Q.36({37:$9Q.37()+$cd.3v().1i-7},eP)}2T(e){}d(\\'.md-er\\').1c(\\'N\\');d(\\'.md-er\\').N(D(){3a(3i);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}if(el.3K!=\\'it\\'&&el.3K!=\\'iu\\'&&el.3K!=\\'iv\\'&&el.3K!=\\'iw\\'&&el.3K!=\\'ix\\'&&el.3K!=\\'iy\\'&&el.3K!=\\'P\\'){el=el.2l}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z();if(el.3K!=\\'it\\'&&el.3K!=\\'iu\\'&&el.3K!=\\'iv\\'&&el.3K!=\\'iw\\'&&el.3K!=\\'ix\\'&&el.3K!=\\'iy\\'&&el.3K!=\\'P\\'){el=el.2z()}}h s=d(q).H(\\'k-1N-5r\\');if(d.2W(1q)!=\\'\\'&&d(el).1q()!=1q){M.2w(\"nw\",X,s);h 3C=M.6J(\"1N\");1C(h i=0,4U=3C.V;i<4U;++i){if(3C[i].iz==s){3C[i].77(\"iz\");3C[i].R.nx=s}}}F if(d(el).1q()==1q){if(d(el).K()){d(el).l(\\'1N-5r\\',s)}F{d(el).3g().l(\\'1N-5r\\',s)}}F{d(el).l(\\'1N-5r\\',s)};h o=d(q).H(\\'k-1N-R\\');if(!o){o=\\'\\'}F{o=\\':\\'+o};h 4G=s.3b(\\',\\')[0];h aC=d(q).H(\\'k-aC\\');if(aC==\\'ny\\'){h eQ=X;h eR=M.6J(\"5I\");1C(h i=0;i<eR.V;i++){h 4Y=eR[i].2x.1J();4Y=4Y.2M(/\\\\+/g,\\' \\').2M(/%20/g,\\' \\');if(4Y.1T(4G.1J())!=-1)eQ=G}if(!eQ){d(el).S().1P(D(){if(d(q).k(\\'1p\\')){d(q).3P(\\'<5I 2x=\"//aG.iA.8S/l?5r=\\'+4G+o+\\'\" aa=\"cV\" nz=\"cV\" 1x=\"1q/l\">\\')}})}}d(3q).1P(D(){h $cb=d(q);$cb.1j(\\'5I\\').1P(D(){h 4Y=d(q).H(\\'2x\\').1J();if(4Y.1T(\\'iA\\')!=-1){4Y=4Y.2M(/\\\\+/g,\\' \\').2M(/%20/g,\\' \\');h 4G=4Y.aP(4Y.1T(\\'5r=\\')+7);if(4G.1T(\\':\\')!=-1){4G=4G.3b(\\':\\')[0]}if(4G.1T(\\'|\\')!=-1){4G=4G.3b(\\'|\\')[0]}h 45=$cb.k(\\'1p\\').K().1J();h iB=45.3b(4G).V;if(iB<3){d(q).H(\\'k-aa\\',\\'iC\\')}}})});$C.1j(\\'[k-aa=\"iC\"]\\').2D();$C.k(\\'T\\').5h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;e.2B();2g()})});d(\\'[k-L-1a=\"1z\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"1z\"]\\').N(D(e){3i=3j();d(\\'#md-8M\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-8M\\').1l({5w:G});d(\\'#md-8M\\').k(\\'1l\\').3d(2j);$C.k(\\'T\\').3W();d(\\'#8N\\').7H();d(\\'.md-8c-3A\\').2h();d(\\'.md-4b-3A\\').3d();d(\\'.md-4b-3A\\').1E(\\'1z-9R\\');d(\\'#6Y\\').J(\\'\\');d(\\'#e0\\').1c(\\'N\\');d(\\'#e0\\').N(D(){if(!3i)Y;3a(3i);h J=\\'\\';if(d(\\'.md-4b-3A\\').l(\\'1e\\')==\\'1u\\'){J=d(\\'#dZ\\').H(\\'1A\\')}F{J=d(\\'#6Y\\').J()}if(J==\\'\\')Y;aQ(\\'<1m 1A=\"\\'+J+\\'\" />\\',G);d(\\'#md-8M\\').k(\\'1l\\').2h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}d(el).S().1P(D(){if(d(q).k(\\'1p\\')){d(q).k(\\'1p\\').55()}});h 2Q;if(1h.1r){2Q=1h.1r()}F if(M.1d){2Q=M.1d}2Q.72();d(\\'#L-2e\\').l(\\'1e\\',\\'1u\\')});e.2B();Y});d(\\'#8N\\').1c(\\'3p\\');d(\\'#8N\\').on(\\'3p\\',D(e){h 1U=e.1V;if(1U.aR&&1U.aR[0]){h eS=3J iD();eS.8T=D(e){d(\\'.md-4b-3A\\').2h();d(\\'#dZ\\').H(\\'1A\\',e.1V.nA);d(\\'.md-8c-3A\\').3d();d(\\'.1z-2a\\').K(1U.aR[0].5U)};eS.nB(1U.aR[0]);d(\\'#6Y\\').J(\\'\\')}});d(\\'.md-4b-3A\\').1c(\\'iE\\');d(\\'.md-4b-3A\\').on(\\'iE\\',D(){d(\\'.md-4b-3A\\').1L(\\'1z-9R\\')});d(\\'.md-4b-3A\\').1c(\\'iF\\');d(\\'.md-4b-3A\\').on(\\'iF\\',D(){d(\\'.md-4b-3A\\').1E(\\'1z-9R\\')});d(\\'.md-8c-3A i\\').1c(\\'N\\');d(\\'.md-8c-3A i\\').N(D(e){d(\\'#8N\\').7H();d(\\'.md-8c-3A\\').2h();d(\\'.md-4b-3A\\').3d();d(\\'.md-4b-3A\\').1E(\\'1z-9R\\')});d(\\'#6Y\\').1c(\\'4w\\');d(\\'#6Y\\').on(\\'4w\\',D(){d(\\'#8N\\').7H();d(\\'.md-8c-3A\\').2h();d(\\'.md-4b-3A\\').3d();d(\\'.md-4b-3A\\').1E(\\'1z-9R\\')});d(\"#bY\").1c(\\'N\\');d(\"#bY\").on(\\'N\\',D(e){h 4j=($C.k(\\'T\\').I.4B+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){$C.k(\\'T\\').I.4B({ce:d(\"#6Y\").54(0),cf:d(\"#bY\").54(0)})}F{d(\\'#eT\\').H(\\'1A\\',$C.k(\\'T\\').I.41);d(\\'#3I-1U\\').J(\\'6Y\\');d(\\'#md-41\\').l(\\'O\\',\\'65%\\');d(\\'#md-41\\').1l({eU:D(){if(d(\\'#6Y\\').J()!=\\'\\'){d(\\'#8N\\').7H();d(\\'.md-8c-3A\\').2h();d(\\'.md-4b-3A\\').3d();d(\\'.md-4b-3A\\').1E(\\'1z-9R\\')}}});d(\\'#md-41\\').k(\\'1l\\').3d()}});d(\\'[k-L-1a=\"5m\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"5m\"]\\').N(D(e){3i=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-5m\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-58}F{W=W+57}}F{1i=1i+51}d(\\'#1K-5m\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-5m\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-5m\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-5m\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');$C.k(\\'T\\').5h();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}e.2B()});d(\\'[k-L-1a=\"5n\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"5n\"]\\').N(D(e){3i=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-5n\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-57-eO}F{W=W+57}}F{1i=1i+51}d(\\'#1K-5n\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-5n\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-5n\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-5n\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h 9N=2f(d(el).l(\\'1N-1M\\'));d(\\'#9B\\').K(9N+\\'px\\');d(\\'#9B\\').H(\\'k-3s-1D\\',9N);h 9O=2f(d(el).l(\\'aN-aO\\'));d(\\'#9E\\').K(9O+\\'px\\');d(\\'#9E\\').H(\\'k-3s-1D\\',9O);h 9P=2f(d(el).l(\\'53-1n\\'));d(\\'#9F\\').K(9P+\\'px\\');d(\\'#9F\\').H(\\'k-3s-1D\\',9P);e.2B()});d(\\'[k-L-1a=\"1f\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"1f\"]\\').N(D(e){3i=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-62\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-57-nC}F{W=W+57}}F{1i=1i+51}d(\\'#1K-62\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-62\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-62\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-62\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}d(\\'#7C\\').1c(\\'3p\\');d(\\'#7C\\').on(\\'3p\\',D(){h 4n=d(\\'#7C\\').J();if(4n==1){h s=d(el).l(\"1f\");d(\\'#2Y\\').J(s);d(\\'#2Y\\').l(\\'1Z-1f\\',s);d(\\'#2Y\\').aS()}if(4n==2){h s=d(el).l(\"1Z-1f\");d(\\'#2Y\\').J(s);d(\\'#2Y\\').l(\\'1Z-1f\\',s);d(\\'#2Y\\').aS()}if(4n==3){h s=d(el).S(\\'.1k-1y\\').1S().1w().l(\\'1Z-1f\\');d(\\'#2Y\\').J(s);d(\\'#2Y\\').l(\\'1Z-1f\\',s);d(\\'#2Y\\').aS()}});d(\\'#7C\\').3p();h eV=X;2S{if($C.1S(\\'B.1k-1y\\').1w().1S().1w().1S().1w().2s(\"2P\").1J()==\\'1R\\'){eV=G}}2T(e){}if(eV){d(\\'#7C\\').1S().1P(D(){if(d(q).H(\\'1D\\')==\\'3\\')d(q).2D()})}h 1q=76();d(\\'.md-9I\\').1c(\\'N\\');d(\\'.md-9I\\').N(D(){h s=d(q).l(\"1Z-1f\");d(\\'#2Y\\').J(s);d(\\'#2Y\\').l(\\'1Z-1f\\',s);d(\\'#2Y\\').aS();3a(3i);$C.k(\\'T\\').cg(s,1q);3i=3j();$C.k(\\'T\\').I.1X();2g()});if(!d(\\'#2Y\\').6k)$(\\'#2Y\\').6k.9o();d(\\'#2Y\\').6k({ch:\\'#ci\\',cj:\\'#ck\\',cl:D($cn,6l){if(6l===G){d(\\'#2Y\\').H(\\'k-3s-1f\\',d(\\'#2Y\\').J())}F if(6l===X){if(d(\\'#2Y\\').H(\\'k-3s-1f\\')!=d(\\'#2Y\\').J()){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#2Y\\').H(\\'k-3s-1f\\',d(\\'#2Y\\').J())}}F{h s=d(\\'#2Y\\').J();3a(3i);$C.k(\\'T\\').cg(s,1q);3i=3j()}}});h 5y=X;d(\\'#2Y\\').1c(\\'4w\\');d(\\'#2Y\\').on(\\'4w\\',D(e){5y=G});d(\\'#2Y\\').1c(\\'5t\\');d(\\'#2Y\\').on(\\'5t\\',D(e){h s=d(\\'#2Y\\').J();3a(3i);$C.k(\\'T\\').cg(s,1q);3i=3j();if((d(\\'#2Y\\').H(\\'k-3s-1f\\')!=d(\\'#2Y\\').J())||5y){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#2Y\\').H(\\'k-3s-1f\\',d(\\'#2Y\\').J());5y=X}});d(\\'#et\\').1c(\\'N\\');d(\\'#et\\').N(D(){3a(3i);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h 4n=d(\\'#7C\\').J();if(d.2W(1q)!=\\'\\'&&d(el).1q()!=1q){if(4n==1){M.2w(\"iG\",X,\\'\\')}if(4n==2){M.2w(\"iH\",X,\\'\\')}h 3C=M.6J(\"1N\");1C(h i=0,4U=3C.V;i<4U;++i){h s=3C[i].1f;3C[i].77(\"1f\");3C[i].R.1f=s}}F if(d(el).1q()==1q){if(4n==1){if(d(el).K()){d(el).l(\\'1f\\',\\'\\')}F{d(el).3g().l(\\'1f\\',\\'\\')}}if(4n==2){if(d(el).K()){d(el).l(\\'1Z-1f\\',\\'\\')}F{d(el).3g().l(\\'1Z-1f\\',\\'\\')}}}F{if(4n==1){d(el).l(\\'1f\\',\\'\\')}if(4n==2){d(el).l(\\'1Z-1f\\',\\'\\')}};if(4n==3){d(el).S(\\'.1k-1y\\').1S().1w().l(\\'1Z-1f\\',\\'\\')}d(\\'#7C\\').3p()})});d(\\'[k-L-1a=\"4D\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"4D\"]\\').N(D(e){h 2j=3j();h 1q=76();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h s;if(nD(d(el).l(\\'1N-co\\'))){if(d(el).l(\\'1N-co\\')==\\'4D\\'){s=\\'8R\\'}F{s=\\'4D\\'}}F{if(d(el).l(\\'1N-co\\')<=iI){s=\\'4D\\'}F{s=\\'8R\\'}}if(d.2W(1q)!=\\'\\'){2S{M.2w(\\'4D\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'4D\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}2j=3j()}F{h 4c=d(el).2s(\"2P\").1J();if(4c==\\'b\\'){aT(el);2S{M.2w(\\'4D\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'4D\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}}F{d(el).l(\\'1N-co\\',s)}};if(d.2W(1q)==\\'\\'){3a(2j)}F{}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()});d(\\'[k-L-1a=\"4M\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"4M\"]\\').N(D(e){h 2j=3j();h 1q=76();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h s;if(d(el).l(\\'1N-R\\')==\\'4M\\'){s=\\'8R\\'}F{s=\\'4M\\'}if(d.2W(1q)!=\\'\\'){2S{M.2w(\\'4M\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'4M\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}2j=3j()}F{h 4c=d(el).2s(\"2P\").1J();if(4c==\\'i\\'||4c==\\'em\\'){aT(el);2S{M.2w(\\'4M\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'4M\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}}F{d(el).l(\\'1N-R\\',s)}};if(d.2W(1q)==\\'\\'){3a(2j)}F{}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()});d(\\'[k-L-1a=\"4R\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"4R\"]\\').N(D(e){h 2j=3j();h 1q=76();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h s;if(d(el).l(\\'1q-cq\\').1T(\\'4R\\')!=-1){s=\\'\\'}F{s=\\'4R\\'}if(d.2W(1q)!=\\'\\'){2S{M.2w(\\'4R\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'4R\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}2j=3j()}F{h 4c=d(el).2s(\"2P\").1J();if(4c==\\'u\\'){aT(el);2S{M.2w(\\'4R\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'4R\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}}F{d(el).l(\\'1q-cq\\',s)}};if(d.2W(1q)==\\'\\'){3a(2j)}F{}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()});d(\\'[k-L-1a=\"6e\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"6e\"]\\').N(D(e){h 2j=3j();h 1q=76();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h s;if(d(el).l(\\'1q-cq\\').1T(\\'53-iJ\\')!=-1){s=\\'\\'}F{s=\\'53-iJ\\'}if(d.2W(1q)!=\\'\\'){2S{M.2w(\\'6e\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'6e\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}2j=3j()}F{h 4c=d(el).2s(\"2P\").1J();if(4c==\\'dS\\'){aT(el);2S{M.2w(\\'6e\\',X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(\\'6e\\',X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}}F{d(el).l(\\'1q-cq\\',s)}};if(d.2W(1q)==\\'\\'){3a(2j)}F{}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()});d(\\'[k-L-1a=\"7A\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"7A\"]\\').N(D(e){h 2j=3j();h 1q=76();h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h s;if(d(el).l(\\'1q-4s\\')==\\'7A\\'){s=\\'\\'}F{s=\\'7A\\'}d(el).l(\\'1q-4s\\',s);if(d.2W(1q)==\\'\\'){3a(2j)}F{}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()});d(\\'[k-L-1a=\"1R\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"1R\"]\\').N(D(e){h 2j=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-1R\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-57-nE}F{W=W+57}}F{1i=1i+51}d(\\'#1K-1R\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-1R\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-1R\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-1R\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');e.2B();d(\\'#7z 3O\\').1c(\\'iK\\');d(\\'#7z 3O\\').on(\\'iK\\',D(e){h 1B=d(q).H(\\'k-1B\\');h 8L=d(q).H(\\'k-8L\\');h i=0;d(\\'#7z 39\\').1P(D(){h j=0;h $39=d(q);$39.1S(\\'3O\\').1P(D(){h $3O=d(q);if(i<1B&&j<8L){$3O.1L(\\'eW\\')}F{$3O.1E(\\'eW\\')}j++});i++})});d(\\'#7z\\').1c(\\'iL\\');d(\\'#7z\\').on(\\'iL\\',D(e){d(\\'#7z 39\\').1P(D(){h $39=d(q);$39.1S(\\'3O\\').1P(D(){h $3O=d(q);$3O.1E(\\'eW\\')})})});d(\\'#7z 3O\\').1c(\\'N\\');d(\\'#7z 3O\\').N(D(e){3a(2j);h 1B=d(q).H(\\'k-1B\\');h 8L=d(q).H(\\'k-8L\\');h 6c=\\'<1R E=\"7R\" R=\"1g-5R:5R;O:3u%;\">\\';1C(h i=1;i<=1B;i++){6c+=\"<39>\";1C(h j=1;j<=8L;j++){6c+=\\'<3O aU=\"1i\"><br></3O>\\'}6c+=\\'</39>\\'}6c+=\\'</1R>\\';aQ(6c);$C.k(\\'T\\').3W();$C.k(\\'T\\').3U();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()})});d(\\'#dX\\').1c(\\'N\\');d(\\'#dX\\').N(D(e){if(d(\"#md-4T\").k(\"1l\"))d(\"#md-4T\").k(\"1l\").2h();d(\\'#md-9x\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-9x\\').1l();d(\\'#md-9x\\').k(\\'1l\\').3d();d(\\'#ep\\').1c(\\'N\\');d(\\'#ep\\').on(\\'N\\',D(e){d(\\'#md-9x\\').k(\\'1l\\').2h();h $1R=$1v.S(\\'1R\\').1w();$1R.1G(bD,D(){d(\"#6B\").1I(G,G).1G(0);$1R.2D();$C.k(\\'T\\').3U();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()})});d(\\'#eo\\').1c(\\'N\\');d(\\'#eo\\').on(\\'N\\',D(e){d(\\'#md-9x\\').k(\\'1l\\').2h()})});d(\\'#dW\\').1c(\\'N\\');d(\\'#dW\\').N(D(e){h 2j=3j();$C.k(\\'T\\').3W();d(\"#md-4T\").l(\"O\",\\'nF\\');d(\"#md-4T\").1l({5w:G});d(\"#md-4T\").k(\"1l\").3d();d(\\'#ay\\').1c(\\'N\\');d(\\'#ay\\').on(\\'N\\',D(e){d(\\'#ay\\').1L(\\'3I\\');d(\\'#az\\').1E(\\'3I\\');d(\\'#ec\\').1G(2H,D(){d(\\'#e6\\').2R(0)})});d(\\'#az\\').1c(\\'N\\');d(\\'#az\\').on(\\'N\\',D(e){d(\\'#ay\\').1E(\\'3I\\');d(\\'#az\\').1L(\\'3I\\');d(\\'#e6\\').1G(0,D(){d(\\'#ec\\').2R(2H)})});if(!d(\\'#4l\\').6k)$(\\'#4l\\').6k.9o();d(\\'#4l\\').6k({ch:\\'#ci\\',cj:\\'#ck\\',cl:D($cn,6l){if(6l===G){d(\\'#4l\\').H(\\'k-3s-1f\\',d(\\'#4l\\').J())}F if(6l===X){if(d(\\'#4l\\').H(\\'k-3s-1f\\')!=d(\\'#4l\\').J()){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#4l\\').H(\\'k-3s-1f\\',d(\\'#4l\\').J())}}F{if(!$1v)Y;h J=d(\\'#4l\\').J();3a(2j);h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1Z-1f\\',J)}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1Z-1f\\',J)}}}}}});h 5y=X;d(\\'#4l\\').1c(\\'4w\\');d(\\'#4l\\').on(\\'4w\\',D(e){5y=G});d(\\'#4l\\').1c(\\'5t\\');d(\\'#4l\\').on(\\'5t\\',D(){if(!$1v)Y;3a(2j);h J=d(\\'#4l\\').J();h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1Z-1f\\',J)}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1Z-1f\\',J)}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1Z-1f\\',J)}}}if((d(\\'#4l\\').H(\\'k-3s-1f\\')!=d(\\'#4l\\').J())||5y){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#4l\\').H(\\'k-3s-1f\\',d(\\'#4l\\').J());5y=X}});if(!d(\\'#4m\\').6k)$(\\'#4m\\').6k.9o();d(\\'#4m\\').6k({ch:\\'#ci\\',cj:\\'#ck\\',cl:D($cn,6l){if(6l===G){d(\\'#4m\\').H(\\'k-3s-1f\\',d(\\'#4m\\').J())}F if(6l===X){if(d(\\'#4m\\').H(\\'k-3s-1f\\')!=d(\\'#4m\\').J()){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#4m\\').H(\\'k-3s-1f\\',d(\\'#4m\\').J())}}F{if(!$1v)Y;h J=d(\\'#4m\\').J();3a(2j);h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1f\\',J)}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1f\\',J)}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1f\\',J)}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1f\\',J)}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1f\\',J)}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1f\\',J)}}}}}});d(\\'#4m\\').1c(\\'4w\\');d(\\'#4m\\').on(\\'4w\\',D(e){5y=G});d(\\'#4m\\').1c(\\'5t\\');d(\\'#4m\\').on(\\'5t\\',D(){if(!$1v)Y;3a(2j);h J=d(\\'#4m\\').J();h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1f\\',J)}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1f\\',J)}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1f\\',J)}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1f\\',J)}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1f\\',J)}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1f\\',J)}}}if((d(\\'#4m\\').H(\\'k-3s-1f\\')!=d(\\'#4m\\').J())||5y){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#4m\\').H(\\'k-3s-1f\\',d(\\'#4m\\').J());5y=X}});if(!d(\\'#2L\\').6k)$(\\'#2L\\').6k.9o();d(\\'#2L\\').6k({ch:\\'#ci\\',cj:\\'#ck\\',cl:D($cn,6l){if(6l===G){d(\\'#2L\\').H(\\'k-3s-1f\\',d(\\'#2L\\').J())}F if(6l===X){if(d(\\'#2L\\').H(\\'k-3s-1f\\')!=d(\\'#2L\\').J()){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#2L\\').H(\\'k-3s-1f\\',d(\\'#2L\\').J())}}F{if(!$1v)Y;h J=d(\\'#2L\\').J();h 4V=d(\\'#5S\\').J();if(4V==\\'0\\'){d(\\'#5S\\').J(1);4V=1}3a(2j);h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1g-1f\\',J);$1v.l(\\'1g-O\\',4V+\\'px\\');$1v.l(\\'1g-R\\',\\'4g\\')}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\')}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\')}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\')}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\')}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\')}}}}}});d(\\'#2L\\').1c(\\'4w\\');d(\\'#2L\\').on(\\'4w\\',D(e){5y=G});d(\\'#2L\\').1c(\\'5t\\');d(\\'#2L\\').on(\\'5t\\',D(){if(!$1v)Y;3a(2j);h J=d(\\'#2L\\').J();h 4V=d(\\'#5S\\').J();h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1g-1f\\',J);$1v.l(\\'1g-O\\',4V+\\'px\\');$1v.l(\\'1g-R\\',\\'4g\\');if(J==\\'\\'){$1v.l(\\'1g-1f\\',\\'\\');$1v.l(\\'1g-O\\',\\'\\');$1v.l(\\'1g-R\\',\\'\\');d(\\'#5S\\').J(0)}}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');if(J==\\'\\'){d(1o).l(\\'1g-1f\\',\\'\\');d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(\\'#5S\\').J(0)}}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');if(J==\\'\\'){d(1o).l(\\'1g-1f\\',\\'\\');d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(\\'#5S\\').J(0)}}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');if(J==\\'\\'){d(1o).l(\\'1g-1f\\',\\'\\');d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(\\'#5S\\').J(0)}}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');if(J==\\'\\'){d(1o).l(\\'1g-1f\\',\\'\\');d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(\\'#5S\\').J(0)}}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1g-1f\\',J);d(1o).l(\\'1g-O\\',4V+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');if(J==\\'\\'){d(1o).l(\\'1g-1f\\',\\'\\');d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(\\'#5S\\').J(0)}}}}if((d(\\'#2L\\').H(\\'k-3s-1f\\')!=d(\\'#2L\\').J())||5y){$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;2g();d(\\'#2L\\').H(\\'k-3s-1f\\',d(\\'#2L\\').J());5y=X}});d(\\'#5S\\').1c(\\'3p\\');d(\\'#5S\\').on(\\'3p\\',D(){if(!$1v)Y;h J=d(\\'#5S\\').J();h 7I=d(\\'#2L\\').J();if(7I==\\'\\'){d(\\'#2L\\').J(\\'bz(0, 0, 0)\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'bz(0, 0, 0)\\');d(\\'#2L\\').l(\\'1f\\',\\'#nG\\');7I=\\'bz(0, 0, 0)\\'}3a(2j);h 2k=d(\\'#8d\\').J();h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];if(2k==\\'8i\\'){$1v.l(\\'1g-O\\',J+\\'px\\');$1v.l(\\'1g-R\\',\\'4g\\');$1v.l(\\'1g-1f\\',7I);if(J==\\'0\\'){$1v.l(\\'1g-O\\',\\'\\');$1v.l(\\'1g-R\\',\\'\\');$1v.l(\\'1g-1f\\',\\'\\');d(\\'#2L\\').J(\\'\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'\\')}}1C(h i=0;i<2c.3M.V;i++){h 2Z=2c.3M[i];1C(h j=0;j<2Z.3Y.V;j++){h 1o=2Z.3Y[j];if(2k==\\'1R\\'){d(1o).l(\\'1g-O\\',J+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');d(1o).l(\\'1g-1f\\',7I);if(J==\\'0\\'){d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(1o).l(\\'1g-1f\\',\\'\\');d(\\'#2L\\').J(\\'\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'\\')}}if(2k==\\'8g\\'&&5i(i+1)){d(1o).l(\\'1g-O\\',J+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');d(1o).l(\\'1g-1f\\',7I);if(J==\\'0\\'){d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(1o).l(\\'1g-1f\\',\\'\\');d(\\'#2L\\').J(\\'\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'\\')}}if(2k==\\'8h\\'&&!5i(i+1)){d(1o).l(\\'1g-O\\',J+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');d(1o).l(\\'1g-1f\\',7I);if(J==\\'0\\'){d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(1o).l(\\'1g-1f\\',\\'\\');d(\\'#2L\\').J(\\'\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'\\')}}if(2k==\\'8e\\'&&2Z==$1v.S(\\'39\\').1w()[0]){d(1o).l(\\'1g-O\\',J+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');d(1o).l(\\'1g-1f\\',7I);if(J==\\'0\\'){d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(1o).l(\\'1g-1f\\',\\'\\');d(\\'#2L\\').J(\\'\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'\\')}}if(2k==\\'8f\\'&&j==8n(2c,3m,3D)){d(1o).l(\\'1g-O\\',J+\\'px\\');d(1o).l(\\'1g-R\\',\\'4g\\');d(1o).l(\\'1g-1f\\',7I);if(J==\\'0\\'){d(1o).l(\\'1g-O\\',\\'\\');d(1o).l(\\'1g-R\\',\\'\\');d(1o).l(\\'1g-1f\\',\\'\\');d(\\'#2L\\').J(\\'\\');d(\\'#2L\\').l(\\'1Z-1f\\',\\'\\')}}}}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"ed\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"ed\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 9S=2c.iM(3m.aV);1C(h i=0;i<3m.3Y.V;i++){h 4W=9S.cr(9S.3Y.V);d(4W).H(\\'R\\',$1v.H(\\'R\\'));d(4W).H(\\'aU\\',\\'1i\\');d(4W).K(\\'<br>\\')}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"ee\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"ee\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 9S=2c.iM(3m.aV+1);1C(h i=0;i<3m.3Y.V;i++){h 4W=9S.cr(9S.3Y.V);d(4W).H(\\'R\\',$1v.H(\\'R\\'));d(4W).H(\\'aU\\',\\'1i\\');d(4W).K(\\'<br>\\')}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"ef\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"ef\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];h 8o=3D.aW;1C(h i=0;i<2c.3M.V;i++){h cs=2c.3M[i];h 4W=cs.cr(8o);d(4W).H(\\'R\\',$1v.H(\\'R\\'));d(4W).H(\\'aU\\',\\'1i\\');d(4W).K(\\'<br>\\')}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"eg\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"eg\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];h 8o=3D.aW;1C(h i=0;i<2c.3M.V;i++){h cs=2c.3M[i];h 4W=cs.cr(8o+1);d(4W).H(\\'R\\',$1v.H(\\'R\\'));d(4W).H(\\'aU\\',\\'1i\\');d(4W).K(\\'<br>\\')}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"eh\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"eh\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];2c.nI(3m.aV);$1v=1O;if(2c.3M.V==0){2c.2l.iN(2c);d(\"#6B\").1I(G,G).1G(0);if(d(\"#md-4T\").k(\"1l\"))d(\"#md-4T\").k(\"1l\").2h()}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"ei\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"ei\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];h 8o=3D.aW;1C(h i=0;i<2c.3M.V;i++)2c.3M[i].iO(8o);$1v=1O;if(2c.3M[0].3Y.V==0){2c.2l.iN(2c);d(\"#6B\").1I(G,G).1G(0);if(d(\"#md-4T\").k(\"1l\"))d(\"#md-4T\").k(\"1l\").2h()}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()});d(\\'[k-L-1a=\"en\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"en\"]\\').N(D(e){if(!$1v)Y;h 2c=$1v.S(\\'1R\\').1w()[0];h 3m=$1v.S(\\'39\\').1w()[0];h 3D=$1v[0];3D.ct=3D.ct+1;if(3D.aW+1<2c.3M[3m.aV].3Y.V){2c.3M[3m.aV].iO(3D.aW+1)}$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();2g()})});d(\\'[k-L-1a=\"2q\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"2q\"]\\').N(D(e){h 2j=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-2q\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-58}F{W=W+57}}F{1i=1i+51}d(\\'#1K-2q\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-2q\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-2q\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-2q\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');e.2B();d(\\'.md-9s\\').1c(\\'N\\');d(\\'.md-9s\\').N(D(){3a(2j);h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h s=d(q).k(\\'2q\\');h 4c=d(el).2s(\"2P\").1J();if(4c==\\'h1\\'||4c==\\'h2\\'||4c==\\'h3\\'||4c==\\'h4\\'||4c==\\'h5\\'||4c==\\'h6\\'||4c==\\'p\\'||4c==\\'B\\'){d(el).l(\\'1q-2q\\',s)}F{d(el).S(\\'h1,h2,h3,h4,h5,h6,p,B\\').1w().l(\\'1q-2q\\',s)}d(q).5t();$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()})});d(\\'[k-L-1a=\"3G\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"3G\"]\\').N(D(e){h 2j=3j();h 1i=d(q).3l().1i-d(1h).37();h W=d(q).3l().W;if(d(\\'#L-2e\\').2p(\\'L-4x\\')){d(\\'#1K-3G\\').1L(\\'L-4x\\');if(d(\\'#L-2e\\').2p(\\'1Y\\')){W=W-58}F{W=W+57}}F{1i=1i+51}d(\\'#1K-3G\\').l(\\'3v\\',\\'5q\\');d(\\'#1K-3G\\').l(\\'1i\\',1i+\\'px\\');d(\\'#1K-3G\\').l(\\'W\\',W+\\'px\\');$C.k(\\'T\\').3W();d(\\'#1K-3G\\').l(\\'1e\\',\\'1H\\');d(q).1L(\\'on\\');e.2B();d(\\'.md-9y\\').1c(\\'N\\');d(\\'.md-9y\\').N(D(){3a(2j);h s=d(q).k(\\'3G\\');2S{if(s==\\'8R\\'){M.2w(\\'8P\\',X,1O);M.2w(\\'8P\\',X,1O);M.2w(\\'8P\\',X,1O)}F{M.2w(s,X,1O);h el;if(1h.1r){el=1h.1r().2i(0).2y.2l;el=el.2l}F if(M.1d){el=M.1d.1F().2z();el=el.2z()}if(el.3K==\\'nJ\\'||el.3K==\\'nK\\'){if(d(el).3g().2s(\"2P\").1J()==\"p\"){el.iP(\\'1W\\',G);d(el).3g().5O(D(){Y q.eX})}}}}2T(e){$6d.S(\\'B\\').1L(\\'7g\\');h el;if(1h.1r){el=1h.1r().2i(0).2y.2l;el=el.2l}F if(M.1d){el=M.1d.1F().2z();el=el.2z()}el.iP(\\'1W\\',G);if(s==\\'8R\\'){M.2w(\\'8P\\',X,1O);M.2w(\\'8P\\',X,1O);M.2w(\\'8P\\',X,1O)}F{M.2w(s,X,1O)}el.77(\\'1W\\');$C.k(\\'T\\').3U()}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').I.1X();e.2B();2g()})});d(\\'[k-L-1a=\"8C\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"8C\"]\\').N(D(e){h K=\"\";if(75 1h.1r!=\"5s\"){h 2Q=1h.1r();if(2Q.aX){h eY=M.bt(\"B\");1C(h i=0,4U=2Q.aX;i<4U;++i){eY.bu(2Q.2i(i).nL())}K=eY.eX}}F if(75 M.1d!=\"5s\"){if(M.1d.1x==\"5Q\"){K=M.1d.1F().nM}}if(K==\\'\\'){h s=1h.1r();h 1s=s.2i(0);h 3t=s.eZ;aY(1s.f0!==0){1s.iQ(3t,1s.f0-1);if(1s.c5().f1(/\\\\s/)===0){1s.iQ(3t,1s.f0+1);2E}}aY(1s.aJ<3t.V){1s.iR(3t,1s.aJ+1);if(1s.c5().f1(/\\\\s/)!==-1){1s.iR(3t,1s.aJ-1);2E}}iS(1s)}h el;if(1h.1r){el=1h.1r().2i(0).2y}F if(M.1d){el=M.1d.1F()}if(el.3K.1J()==\\'a\\'){$2u=d(el)}F{M.2w(\\'8C\\',X,\\'5g://iT\\');$2u=d(\"a[2x=\\'5g://iT\\']\").1w();$2u.H(\\'2x\\',\\'5g://\\')}d(\\'#md-5d\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-5d\\').1l({5w:G,cu:D(){if($2u.H(\\'2x\\')==\\'5g://\\')$2u.5O($2u.K())}});d(\\'#md-5d\\').k(\\'1l\\').3d();$C.k(\\'T\\').3W();d(\\'#6g\\').J($2u.H(\\'2x\\'));d(\\'#av\\').J($2u.K());d(\\'#aw\\').J($2u.H(\\'2a\\'));if($2u.H(\\'1V\\')==\\'9T\\'){d(\\'#8a\\').2s(\\'4t\\',G)}F{d(\\'#8a\\').2s(\\'4t\\',X)}d(\\'#ax\\').1c(\\'N\\');d(\\'#ax\\').on(\\'N\\',D(e){$2u.H(\\'2x\\',d(\\'#6g\\').J());if(d(\\'#6g\\').J()==\\'5g://\\'||d(\\'#6g\\').J()==\\'\\'){$2u.5O($2u.K())}$2u.K(d(\\'#av\\').J());$2u.H(\\'2a\\',d(\\'#aw\\').J());if(d(\\'#8a\\').is(\":4t\")){$2u.H(\\'1V\\',\\'9T\\')}F{$2u.3w(\\'1V\\')}d(\\'#md-5d\\').k(\\'1l\\').2h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').3U();2g()});e.2B()});d(\\'[k-L-1a=\"1b\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"1b\"]\\').N(D(e){$2j=3j();$2V=1O;h 5l=$C.k(\\'T\\').I.5l;if(d(\\'#aD\\').H(\\'1A\\').1T(\\'6Z.K\\')!=-1){d(\\'#aD\\').H(\\'1A\\',5l)}d(\\'#md-1b-2C\\').l(\\'4E-O\\',\\'ia\\');d(\\'#md-1b-2C\\').1l({5w:G});d(\\'#md-1b-2C\\').k(\\'1l\\').3d($2j);$C.k(\\'T\\').3W();e.2B();Y});d(\\'[k-L-1a=\"5K\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"5K\"]\\').N(D(e){d(\\'#md-5K-2C\\').l(\\'4E-O\\',\\'nN\\');d(\\'#md-5K-2C\\').1l({5w:G});d(\\'#md-5K-2C\\').k(\\'1l\\').3d(2j);$C.k(\\'T\\').3W();h s=\\'\\';1C(h j=0;j<$C.k(\\'T\\').I.6O.V;j++){s+=\\'<U E=\"md-9I-9U\" R=\"O:3u%\" k-1D=\"\\'+$C.k(\\'T\\').I.6O[j][1]+\\'\"> \\'+$C.k(\\'T\\').I.6O[j][0]+\\' </U>\\'}d(\\'#i7\\').K(s);d(\\'.md-9I-9U\\').1c(\\'N\\');d(\\'.md-9I-9U\\').N(D(){h J=d(q).k(\"1D\");aQ(J,G);d(\\'#md-5K-2C\\').k(\\'1l\\').2h();2g()});e.2B();Y});$C.1c(\\'3r 3y\\',\\'.8I-bN\\');$C.on(\\'3r 3y\\',\\'.8I-bN\\',D(e){6A(e.1x){2X\\'3r\\':if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;h 3B;h 3X;h 5z=d(1h).37();h 5A=d(q).3l().1i;h 5B=d(q).3l().W;h 47=2n.2r.1J().1T(\\'66\\')>-1;h 3k=6i();h 6m=G;if(47||3k)6m=X;if(6m){3B=(5A-20)+(5z-5z);3X=5B}F{if(3k){h 5C=$C.5V().1i;h 5W=(-5C/1.1)+5C/1.1;h 5D=$C.5V().W;h 5X=-5D+5D;h p=d(q).5V();3B=(p.1i-20)+5W;3X=p.W+5X}if(47){3B=5A-20;3X=5B}}d(\"#5P\").l(\"1i\",3B+\"px\");d(\"#5P\").l(\"W\",3X+\"px\");d(\"#5P\").1I(G,G).l({1e:\\'1u\\'}).2R(20);$88=d(q).1j(\\'4r\\');d(\"#5P\").1c(\\'N\\');d(\"#5P\").on(\\'N\\',D(e){h f2=$88.H(\\'1A\\');h iU=/^.*\\\\/\\\\/f3.f4.8S\\\\/8I\\\\//;h iV=/^.*\\\\/\\\\/iW.f5.8S\\\\/f6\\\\//;if(iU.cv(f2)!=1O||iV.cv(f2)!=1O){if(d(\\'#md-6D\\').k(\\'1l\\'))d(\\'#md-6D\\').k(\\'1l\\').2h();d(\\'#md-6C\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-6C\\').1l({5w:X});d(\\'#md-6C\\').k(\\'1l\\').3d();$C.k(\\'T\\').3W();d(\\'#bZ\\').J($88.H(\\'1A\\'));d(\\'#e1\\').1c(\\'N\\');d(\\'#e1\\').on(\\'N\\',D(e){h 9V=d(\\'#bZ\\').J();h iX=/^5g[s]?:\\\\/\\\\/(((f3.f4.8S\\\\/nO\\\\?(nP=nQ&)?)v=)|(nR.be\\\\/))([^#\\\\&\\\\?]*)/;h iY=/^.*(f5\\\\.8S\\\\/)((nS\\\\/[A-z]+\\\\/)|(nT\\\\/[A-z]+\\\\/nU\\\\/)|(f6\\\\/))?([0-9]+)\\\\/?/;h aZ=iX.cv(9V);h b0=iY.cv(9V);if(aZ!=1O||b0!=1O){if(aZ!=1O&&aZ.V>=7){h iZ=aZ[6];9V=\\'//f3.f4.8S/8I/\\'+iZ+\\'?aa=0\\'}if(b0!=1O&&b0.V>=7){h j0=b0[6];9V=\\'//iW.f5.8S/f6/\\'+j0}}$88.H(\\'1A\\',9V);if(d(\\'#bZ\\').J()==\\'\\'){$88.H(\\'1A\\',\\'\\')}d(\\'#md-6C\\').k(\\'1l\\').2h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').3U();2g()})}F{if(d(\\'#md-6C\\').k(\\'1l\\'))d(\\'#md-6C\\').k(\\'1l\\').2h();d(\\'#md-6D\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-6D\\').1l({5w:G});d(\\'#md-6D\\').k(\\'1l\\').3d();$C.k(\\'T\\').3W();d(\\'#e2\\').J($88[0].nV);d(\\'#e3\\').1c(\\'N\\');d(\\'#e3\\').on(\\'N\\',D(e){h f7=d(\\'#e2\\').J();if(f7!=\\'\\'){$88.5O(f7)}d(\\'#md-6D\\').k(\\'1l\\').2h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').3U();2g()})}});d(\\'#5P\\').1c(\\'3r 3y\\');d(\\'#5P\\').on(\\'3r 3y\\',D(e){6A(e.1x){2X\\'3r\\':d(q).1I(G,G).l(\"1e\",\"1H\");2E;2X\\'3y\\':d(q).1I(G,G).1G(0);2E}});if(d(q).S(\".1k-1y\").l(\\'5c-R\\')==\\'1u\\'){d(q).1j(\\'.6U\\').l(\\'z-52\\',\\'1\\')}2E;2X\\'3y\\':d(q).1j(\\'.6U\\').l(\\'z-52\\',\\'-1\\');d(\"#5P\").1I(G,G).1G(0);2E}});$C.1c(\\'3r 3y\\',\\'a\\');$C.on(\\'3r 3y\\',\\'a\\',D(e){if(d(q).2p(\\'94-a\\'))Y;6A(e.1x){2X\\'3r\\':if(d(\\'#md-5d\\').l(\\'1e\\')==\\'1H\\')Y;if(d(q).S(\"[k-K]\").V>0)Y;if(d(q).S(\"[k-2t=\\'42\\']\").V>0)Y;if(d(q).S(\"[k-2t=\\'42-6z\\']\").V>0)Y;if(d(q).1S(\\'1m\\').V==1&&d(q).1S().V==1)Y;h 3B;h 3X;h 5z=d(1h).37();h 5A=d(q).3l().1i;h 5B=d(q).3l().W;h 47=2n.2r.1J().1T(\\'66\\')>-1;h 3k=6i();h 6m=G;if(47||3k)6m=X;if(6m){3B=(5A-27)+(5z-5z);3X=5B}F{if(3k){h 5C=$C.5V().1i;h 5W=(-5C/1.1)+5C/1.1;h 5D=$C.5V().W;h 5X=-5D+5D;h p=d(q).5V();3B=(p.1i-25)+5W;3X=p.W+5X}if(47){3B=5A-25;3X=5B}}d(\"#4Q\").l(\"1i\",3B+\"px\");d(\"#4Q\").l(\"W\",3X+\"px\");d(\"#4Q\").1I(G,G).l({1e:\\'1u\\'}).2R(20);$2u=d(q);d(\"#4Q\").1c(\\'N\\');d(\"#4Q\").on(\\'N\\',D(e){d(\\'#md-5d\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-5d\\').1l({5w:G,cu:D(){if($2u.H(\\'2x\\')==\\'5g://\\')$2u.5O($2u.K())}});d(\\'#md-5d\\').k(\\'1l\\').3d();$C.k(\\'T\\').3W();d(\\'#6g\\').J($2u.H(\\'2x\\'));d(\\'#av\\').J($2u.K());d(\\'#aw\\').J($2u.H(\\'2a\\'));if($2u.H(\\'1V\\')==\\'9T\\'){d(\\'#8a\\').2s(\\'4t\\',G)}F{d(\\'#8a\\').2s(\\'4t\\',X)}d(\\'#ax\\').1c(\\'N\\');d(\\'#ax\\').on(\\'N\\',D(e){$2u.H(\\'2x\\',d(\\'#6g\\').J());if(d(\\'#6g\\').J()==\\'5g://\\'||d(\\'#6g\\').J()==\\'\\'){$2u.5O($2u.K())}$2u.K(d(\\'#av\\').J());$2u.H(\\'2a\\',d(\\'#aw\\').J());if(d(\\'#8a\\').is(\":4t\")){$2u.H(\\'1V\\',\\'9T\\')}F{$2u.3w(\\'1V\\')}d(\\'#md-5d\\').k(\\'1l\\').2h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;$C.k(\\'T\\').3U();2g()})});d(\"#4Q\").1c(\\'3r 3y\\');d(\"#4Q\").on(\\'3r 3y\\',D(e){6A(e.1x){2X\\'3r\\':d(q).1I(G,G).l(\"1e\",\"1H\");2E;2X\\'3y\\':d(q).1I(G,G).1G(0);2E}});2E;2X\\'3y\\':d(\"#4Q\").1I(G,G).1G(0);2E}});d(\"#bW\").1c(\\'N\\');d(\"#bW\").on(\\'N\\',D(e){d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);d(\"#4Q\").1I(G,G).1G(0);d(\"#5P\").1I(G,G).1G(0);h 4j=($C.k(\\'T\\').I.4C+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){$C.k(\\'T\\').I.4C({ce:d(\"#6g\").54(0),cf:d(\"#bW\").54(0)})}F{d(\\'#c3\\').H(\\'1A\\',$C.k(\\'T\\').I.3F);d(\\'#3I-1U\\').J(\\'6g\\');d(\\'#md-3F\\').l(\\'O\\',\\'65%\\');d(\\'#md-3F\\').1l();d(\\'#md-3F\\').k(\\'1l\\').3d();$C.k(\\'T\\').3W()}});$C.k(\\'T\\').I.5J();$C.k(\\'T\\').eF()};q.aF=D(s){d(\\'[k-L-1a=\"\\'+s+\\'\"]\\').1c(\\'N\\');d(\\'[k-L-1a=\"\\'+s+\\'\"]\\').N(D(e){2S{M.2w(s,X,1O)}2T(e){$C.H(\\'1W\\',G);M.2w(s,X,1O);$C.3w(\\'1W\\');$C.k(\\'T\\').3U()}$C.k(\\'T\\').5h();$C.k(\\'T\\').I.1X();$C.k(\\'T\\').I.2v=G;e.2B()})};q.cg=D(s,1q){h el;h Q;if(1h.1r){Q=1h.1r().2i(0).2y;if(Q.3L==3){el=Q.2l}F{el=Q}}F if(M.1d){Q=M.1d.1F();el=M.1d.1F().2z()}h 4n=d(\\'#7C\\').J();if(d.2W(1q)!=\\'\\'&&d(el).1q()!=1q){if(4n==1){M.2w(\"iG\",X,s)}if(4n==2){M.2w(\"iH\",X,s)}h 3C=M.6J(\"1N\");1C(h i=0,4U=3C.V;i<4U;++i){h s=3C[i].1f;if(s!=\\'\\'){3C[i].77(\"1f\");3C[i].R.1f=s}}h 3k=6i();if(3k){$6d.1j(\\'3c\\').1P(D(){if(d(q).1j(\\'3c\\').V==1){if(d(q).1q()==d(q).1j(\\'3c:1w\\').1q()){h j1=d(q).1j(\\'3c:1w\\').H(\\'R\\');d(q).K(d(q).1j(\\'3c:1w\\').K());h j2=d(q).H(\\'R\\')+\\';\\'+j1;d(q).H(\\'R\\',j2)}}})}}F if(d(el).1q()==1q){if(4n==1){if(d(el).K()){d(el).l(\\'1f\\',s)}F{d(el).3g().l(\\'1f\\',s)}}if(4n==2){if(d(el).K()){d(el).l(\\'1Z-1f\\',s)}F{d(el).3g().l(\\'1Z-1f\\',s)}}}F{if(4n==1){d(el).l(\\'1f\\',s)}if(4n==2){d(el).l(\\'1Z-1f\\',s)}};if(4n==3){d(el).S(\\'.1k-1y\\').1S().1w().l(\\'1Z-1f\\',s)}};q.7W()};d.fn.T=D(4A){Y q.1P(D(){4F.ag(q);if(5s==d(q).k(\\'T\\')){h 87=3J d.T(q,4A);d(q).k(\\'T\\',87)}})}})(d);D eD(){d(\\'.L-1K\\').l(\\'1e\\',\\'1u\\');d(\\'[k-L-1a=\"5m\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"5n\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"1f\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"1N\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"7U\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"2q\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"3G\"]\\').1E(\\'on\\');d(\\'[k-L-1a=\"1R\"]\\').1E(\\'on\\')};D eB($6d){h 2j=3j();d(\\'#4y\\').2D();h j3=$6d.3l().1i;d(\\'#4q\\').3P(\"<B R=\\'3v:6P;z-52:-eP;1i:\"+j3+\"px;W:-nX;O:5x;1n:5x;59:63;\\' 5U=\\'4y\\' id=\\'4y\\' 1W=\\'G\\'></B>\");h j4=M.8U(\"4y\");j4.9l();nY(D(){2S{3a(2j);h $3t=d(j5());if(d(\\'#4y\\').V==0)Y;h 8p=\\'\\';h f8=X;if(d(\\'#4y 1R\\').V>0||d(\\'#4y 1m\\').V>0||d(\\'#4y p\\').V>0||d(\\'#4y a\\').V>0){f8=G}if(f8){8p=d(\\'#4y\\').K();8p=j6(8p);d(\\'#4y\\').K(8p);if(d(\\'#4y\\').1S(\\'p,h1,h2,h3,h4,h5,h6,cX,li\\').V>1){d(\\'#4y\\').5T().j7(D(){Y(q.3L==3&&d.2W(q.nZ)!=\\'\\')}).81(\"<p></p>\").o0().j7(\"br\").2D()}8p=\\'<B E=\"7g\">\\'+d(\\'#4y\\').K()+\\'</B>\\'}F{d(\\'#4y\\').1j(\\'p,h1,h2,h3,h4,h5,h6\\').1P(D(){d(q).K(d(q).K()+\\' \\')});8p=d(\\'#4y\\').1q()}d(\\'#4y\\').2D();h 2U=1h.1r();h 1s=2U.2i(0);1s.c8();1s.5R(G);h 7F=1s.aH(8p);h 4H=7F.eJ;1s.9L(7F);1s.9M(4H);1s.aI(4H);1s.5R(X);h 6j=1s.2y;if(6j&&6j.2l){2S{6j.2l.eK()}2T(e){}}2U.72();2U.7E(1s)}2T(e){d(\\'#4y\\').2D()}},3R)}h 2j;D 3j(){if(1h.1r){2Q=1h.1r();if(2Q.2i&&2Q.aX){h f9=[];1C(h i=0,4U=2Q.aX;i<4U;++i){f9.ag(2Q.2i(i))}Y f9}}F if(M.1d&&M.1d.1F){Y M.1d.1F()}Y 1O};D 3a(2j){if(2j){if(1h.1r){2Q=1h.1r();2Q.72();1C(h i=0,4U=2j.V;i<4U;++i){2Q.7E(2j[i])}}F if(M.1d&&2j.2C){2j.2C()}}};D j5(){h 3t,1d;if(1h.1r){1d=1r();3t=1d.eZ}if(!3t&&M.1d){1d=M.1d;h 1s=1d.2i?1d.2i(0):1d.1F();3t=1s.2y?1s.2y:1s.2z?1s.2z():1s.56(0)}if(3t){Y(3t.3K==\"#1q\"?3t.2l:3t)}};h o1=D(){h 3t,1d;if(1h.1r){1d=1r();3t=1d.eZ}if(!3t&&M.1d){1d=M.1d;h 1s=1d.2i?1d.2i(0):1d.1F();3t=1s.2y?1s.2y:1s.2z?1s.2z():1s.56(0)}if(3t){Y(3t.3K==\"#1q\"?3t.2l:3t)}};D 76(){if(1h.1r){Y 1h.1r()}F if(M.1r){Y M.1r()}F{h 1d=M.1d&&M.1d.1F();if(1d.1q){Y 1d.1q}Y X}Y X};D aQ(K,fa){h 2Q,1s;if(1h.1r){2Q=1h.1r();if(2Q.2i&&2Q.aX){1s=2Q.2i(0);1s.o2();h el=M.bt(\"B\");el.eX=K;h cw=M.o3(),3t,4H;aY((3t=el.j8)){4H=cw.bu(3t)}h j9=cw.j8;1s.9L(cw);if(4H){1s=1s.cx();1s.9M(4H);if(fa){1s.o4(j9)}F{1s.5R(G)}2Q.72();2Q.7E(1s)}}}F if((2Q=M.1d)&&2Q.1x!=\"7J\"){h fb=2Q.1F();fb.5R(G);2Q.1F().eI(K);if(fa){1s=2Q.1F();1s.o5(\"o6\",fb);1s.2C()}}}h $2j;h $2V;D o7(s){if($2V){h 5E=\"\";if($2V.2p(\\'1M-12\\'))5E=\\'1M-12\\';if($2V.2p(\\'1M-14\\'))5E=\\'1M-14\\';if($2V.2p(\\'1M-16\\'))5E=\\'1M-16\\';if($2V.2p(\\'1M-18\\'))5E=\\'1M-18\\';if($2V.2p(\\'1M-21\\'))5E=\\'1M-21\\';if($2V.2p(\\'1M-24\\'))5E=\\'1M-24\\';if($2V.2p(\\'1M-32\\'))5E=\\'1M-32\\';if($2V.2p(\\'1M-48\\'))5E=\\'1M-48\\';if($2V.2p(\\'1M-64\\'))5E=\\'1M-64\\';if($2V.2p(\\'1M-80\\'))5E=\\'1M-80\\';if($2V.2p(\\'1M-96\\'))5E=\\'1M-96\\';$2V.l(\\'1N-1M\\',\\'\\');if(s.1T(\\'1M-\\')==-1&&s!=\\'\\'){$2V.H(\\'E\\',s);if(5E!=\\'\\')$2V.1L(5E)}F{$2V.1E(\\'1M-12\\');$2V.1E(\\'1M-14\\');$2V.1E(\\'1M-16\\');$2V.1E(\\'1M-18\\');$2V.1E(\\'1M-21\\');$2V.1E(\\'1M-24\\');$2V.1E(\\'1M-32\\');$2V.1E(\\'1M-48\\');$2V.1E(\\'1M-64\\');$2V.1E(\\'1M-80\\');$2V.1E(\\'1M-96\\');$2V.1L(s)}}F{3a(3i);h fc=bL();aQ(\\' <i id=\"\\'+fc+\\'\" E=\"\\'+s+\\'\"></i> \\',G);$2V=d(\\'#\\'+fc);$2V.3w(\\'id\\');d(3q).1P(D(){d(q).k(\\'T\\').eF()})}}h $1t;(D(d){h 2G;h 4X;h 4u;h 4v;d.3h=D(C,4A){h 7f={6t:X,41:\\'\\',3F:\\'\\',4L:G,ja:G,1Q:0,7i:0,6v:\\'\\',fd:D(){},6L:D(){},6M:D(){},4B:D(){},4C:D(){}};q.I={};h $C=d(C),C=C;q.7W=D(){q.I=d.af({},7f,4A);if(d(\\'#4q\\').V==0){d(\\'2A\\').3P(\\'<B id=\"4q\"></B>\\')}h cy=\\'\\';h cz=\\'\\';if(2n.o8.1T(\\'o9\\')!=-1){cy=\\'<B id=\"38\"><B E=\"oa\"><1U 1x=\"2K\" 5U=\"b1\" id=\"b1\" E=\"my-2K\" /><B E=\"ob\"><1m 1A=\"k:1z/4I;jb,oc/od+oe+of+og/oh/oi++oj+om+oo/op+oq/os/ot/ou/ov+ow+f+ox+oy/t+oz/s+oA+oB+oC+oD/oE/oF+oG+oI+oJ/oK\" /></B></B></B>\\';cz=\\'\\'}F{cy=\\'<B R=\"1e:1u\"><1U 1x=\"2K\" 5U=\"b1\" id=\"b1\" E=\"my-2K\"></B>\\';cz=\\'<B id=\"38\">\\'+\\'<i id=\"oL\" E=\"cb-1b-hR\"></i>\\'+\\'</B>\\'}h jc=\\'<B id=\"oM\" R=\"1e:1u\"></B>\\'+\\'<B E=\"3N-bg\" R=\"3v:5q;1i:0;W:0;O:1;1n:1;z-52:fe;1Z:#9k;dC:0.8\"></B>\\'+\\'<B id=\"78\" R=\"3v:6P;1e:1u;z-52:fe\">\\'+\\'<B id=\"my-3e\" R=\"O:jd;1n:jd;59:4P;\">\\'+\\'<1m id=\"my-1z\" 1A=\"\" R=\"4E-O:1u\" />\\'+\\'</B>\\'+\\'<B id=\"1m-b2\" R=\"5v-1i:5x;3v:6P;1i:-oN;W:67;O:oO;dC:0.8\">\\'+\\'<U id=\"9W\" 1x=\"U\" 1D=\"c2\" ><i E=\"cb-1b-oP\"></i></U>\\'+\\'<U id=\"9X\" 1x=\"U\" 1D=\"-\" ><i E=\"cb-1b-oQ\"></i></U>\\'+\\'<U id=\"79\" 1x=\"U\" 1D=\"+\" ><i E=\"cb-1b-8F\"></i></U>\\'+\\'<U id=\"9Y\" 1x=\"U\" 1D=\"...\" >...</U>\\'+\\'<U id=\"8V\" 1x=\"U\" 1D=\"6h\" ><i E=\"cb-1b-ok\"></i> 6h</U>\\'+\\'</B>\\'+\\'<B id=\"7K\" R=\"1e:1u\">\\'+\\'<4k 1C=\"cA\"><1U id=\"cA\" 1x=\"9r\" />hU je</4k>\\'+\\'<br>\\'+(q.I.6v==\\'\\'?\\'\\':\\'<4k 1C=\"9Z\"><1U id=\"9Z\" 1x=\"9r\" />oR ae 5F</4k><br>\\')+\\'<U id=\"ff\" 1x=\"U\" 1D=\"6h\" ><i E=\"cb-1b-ok\"></i> 6h</U>\\'+\\'</B>\\'+\\'</B>\\'+\\'<B R=\"1e:1u;\">\\'+\\'<4J id=\"cB\"></4J>\\'+\\'<4J id=\"jf\"></4J>\\'+\\'<4J id=\"fg\"></4J>\\'+\\'</B>\\'+\\'<fh id=\"a0\" 5U=\"a0\" oS=\"oT\" fi=\"\" 1V=\"fj\" oU=\"oV/fh-k\">\\'+cy+\\'<1U id=\"jg\" 5U=\"jg\" 1x=\"4P\" 1D=\"\\'+q.I.7i+\\'\" />\\'+\\'</fh>\\'+\\'<4r id=\"fj\" 5U=\"fj\" R=\"O:5x;1n:5x;1g:1u;oX:4P;3v:6P\"></4r>\\';h 7y=X;if(q.I.41!=\\'\\')7y=G;h 4j=(q.I.4B+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){7y=G}h 6X=X;if(q.I.3F!=\\'\\')6X=G;h 4j=(q.I.4C+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){6X=G}h 4L=q.I.4L;h 4z=cz+\\'<B id=\"4i\">\\'+\\'<i id=\"b3\" E=\"cb-1b-5I\"></i>\\'+\\'</B>\\'+\\'<B id=\"8W\">\\'+\\'<i id=\"oY\" E=\"cb-1b-jh 36-jh\"></i>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m md-1y\" id=\"md-1m\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+\\'<B E=\"md-2m-3S\">\\'+\\'<i E=\"cb-1b-5L\"></i><i E=\"cb-1b-4O md-2m-6f\"></i>\\'+\\'</B>\\'+\\'<B E=\"md-hT\">\\'+\\'<3c id=\"b4\" E=\"3I\">oZ</3c>\\'+\\'<3c id=\"b5\">p0 ji</3c>\\'+\\'</B>\\'+\\'<B id=\"fk\" R=\"59-y:63;59-x:4P;1e:1u;83-bM:1g-83;82:5M 5M 5M\">\\';4z+=\\'<B R=\"82:6R 0 0;O:3u%;1q-2q:6Q;\">\\';4z+=\\'ji (p1): &cC; <2C id=\"7L\">\\';h 8q=50;1C(h i=0;i<fl;i++){h 7a=\\'\\';if(i==90)7a=\\' 7a=\"7a\"\\';4z+=\\'<2J 1D=\"\\'+8q+\\'\"\\'+7a+\\'>\\'+8q+\\'px</2J>\\';8q+=5}4z+=\\'</2C> &cC; \\';4z+=\\'<2C id=\"6F\">\\';h 8r=50;1C(h i=0;i<fm;i++){h 7a=\\'\\';if(i==40)7a=\\' 7a=\"7a\"\\';4z+=\\'<2J 1D=\"\\'+8r+\\'\"\\'+7a+\\'>\\'+8r+\\'px</2J>\\';8r+=5}4z+=\\'</2C> &cC; \\';4z+=\\'<2C id=\"8s\">\\';4z+=\\'<2J 1D=\"jj\">p2</2J>\\';4z+=\\'<2J 1D=\"8t\">p3</2J>\\';4z+=\\'</2C><br>\\';4z+=\\'<U id=\"fo\" R=\"5v-W:6R;5v-1i:6R;\"> p4 </U><br>\\';4z+=\\'<p>(p5-p6/p7 1z p8)</p>\\';4z+=\\'</B>\\'+\\'</B>\\'+\\'<B id=\"fp\">\\'+\\'<B E=\"md-4k\">hS:</B>\\'+(7y?\\'<1U 1x=\"1q\" id=\"5G\" E=\"5e\" R=\"5f:W;O:60%\"></1U><i E=\"cb-1b-5I md-bV\" id=\"cD\" R=\"O:10%;\"></i>\\':\\'<1U 1x=\"1q\" id=\"5G\" E=\"5e\" R=\"5f:W;O:70%\"></1U>\\')+\\'<br R=\"44:4S\">\\'+\\'<B E=\"md-4k\">93:</B>\\'+\\'<1U 1x=\"1q\" id=\"b6\" E=\"5e\" R=\"5f:1Y;O:70%\"></1U>\\'+\\'<br R=\"44:4S\">\\'+\\'<B E=\"md-4k\">bT:</B>\\'+(6X?\\'<1U 1x=\"1q\" id=\"7M\" E=\"5e\" R=\"5f:W;O:60%\"></1U><i E=\"cb-1b-5I md-bV\" id=\"cE\" R=\"O:10%;\"></i>\\':\\'<1U 1x=\"1q\" id=\"7M\" E=\"5e\" R=\"5f:W;O:70%\"></1U>\\')+\\'<br R=\"44:4S\">\\'+\\'<B E=\"md-4k\">hN:</B>\\'+\\'<4k R=\"5f:W;\" 1C=\"a1\" E=\"dY\"><1U 1x=\"9r\" id=\"a1\"></1U> hO hP</4k>\\'+\\'<br R=\"44:4S\">\\'+\\'<B id=\"b7\">\\'+\\'<B E=\"md-4k\">&cC;</B>\\'+\\'<4k R=\"5f:W;\" 1C=\"cF\" E=\"dY\"><1U 1x=\"9r\" id=\"cF\"></1U> je</4k>\\'+\\'<br R=\"44:4S\" />\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'<B id=\"fq\" E=\"md-8b\">\\'+\\'<U id=\"cG\"> 6h </U>\\'+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\'+\\'<B E=\"md-2m\" id=\"md-41\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+(7y?\\'<4r id=\"eT\" R=\"O:3u%;1n:ey;1g: 1u;1e: 1H;\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\':\\'\\')+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'+\\'\\';if(d(\\'#md-3F\\').V==0){4z+=\\'<B E=\"md-2m\" id=\"md-3F\">\\'+\\'<B E=\"md-4p\">\\'+\\'<B E=\"md-2A\">\\'+(6X?\\'<4r id=\"c3\" R=\"O:3u%;1n:ey;1g: 1u;1e: 1H;\" 1A=\"\\'+2o+\\'6Z.K\"></4r>\\':\\'\\')+\\'</B>\\'+\\'</B>\\'+\\'</B>\\'}if(d(\\'#3I-1U\\').V==0){4z+=\\'<1U 1x=\"4P\" id=\"3I-1U\" />\\'}if(d(\\'#38\\').V==0){d(\\'#4q\\').3P(jc);d(\\'#4q\\').3P(4z)}2G=M.8U(\\'jf\\');4X=M.8U(\\'fg\\');$C.on(\\'3r 3y\\',D(e){6A(e.1x){2X\\'3r\\':h 1Q;if(b8.p9(\"1Q\")!=1O){1Q=b8.1Q}F{1Q=$C.S(\\'[R*=\"1Q\"]\\').l(\\'1Q\\');if(1Q==\\'8R\\')1Q=1;if(1Q==5s)1Q=1}h 47=2n.2r.1J().1T(\\'66\\')>-1;1Q=1Q+\\'\\';if(1Q.1T(\\'%\\')!=-1){1Q=1Q.2M(\\'%\\',\\'\\')/3u}if(1Q==\\'pa\\'){1Q=1}b8.1Q=1Q;1Q=1Q*1;if(3q==\\'\\')1Q=1;if($C.k(\"3h\").I.1Q==1){1Q=1}h 3B;h b9;h 3X;h 5z=d(1h).37();h 5A=d(q).3l().1i;h 5B=d(q).3l().W;h 47=2n.2r.1J().1T(\\'66\\')>-1;h 3k=6i();h aK=eM();h 6m=G;if(47||3k||aK)6m=X;h cI=!d(q).k(\"3h\").I.4L?9:-35;if(6m){3B=((5A+2f(d(q).l(\\'1n\\'))/2)-15)*1Q+(5z-5z*1Q);3X=((5B+2f(d(q).l(\\'O\\'))/2)-15)*1Q;b9=3B+cI}F{if(aK){}if(3k){h 5C=0;h 5D=0;$C.S().1P(D(){if(d(q).k(\\'1p\\')){5C=d(q).5V().1i;5D=d(q).5V().W}});h 5W=-5C*1Q+5C;h 5X=-5D*1Q+5D;h p=d(q).5V();3B=((p.1i-15+2f(d(q).l(\\'1n\\'))/2))*1Q+5W;3X=((p.W-15+2f(d(q).l(\\'O\\'))/2))*1Q+5X;b9=3B+cI}if(47){h ba=2f(d(q).l(\\'O\\'));h bb=2f(d(q).l(\\'1n\\'));3B=5A-15+bb*1Q/2;3X=5B-15+ba*1Q/2;b9=3B+cI}}h fr=X;$1t=d(q);if($1t.H(\\'k-5q\\')==1){fr=G}if(bs&&!fr){d(\"#38\").l(\"1i\",3B+\"px\");d(\"#38\").l(\"W\",3X+\"px\");if(d(q).k(\"3h\").I.4L){d(\"#38\").1I(G,G).l({1e:\\'1u\\'}).2R(20)}if(d(q).k(\"3h\").I.ja){d(\"#4i\").l(\"1i\",b9+\"px\");d(\"#4i\").l(\"W\",3X+\"px\");d(\"#4i\").1I(G,G).l({1e:\\'1u\\'}).2R(20)}F{d(\"#4i\").l(\"1i\",\"-pb\")}}if((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i))){d(\"#b3\").on(\\'jk 3r 9l\\',D(e){if(e.1x==\\'jk\\'){e.7Y();e.2B()}d(\"#b3\").N();e.2B();e.7Y()})}d(\"#38\").1c(\\'N\\');d(\"#38\").on(\\'N\\',D(e){d(\"#38\").k(\\'1z\\',$1t);h 4j=($C.k(\\'3h\\').I.6L+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){$C.k(\\'3h\\').I.6L()}F{d(\\'1U.my-2K[1x=2K]\\').N()}e.2B();e.7Y()});d(\"#38\").1c(\\'3r 3y\\');d(\"#38\").on(\\'3r 3y\\',D(e){6A(e.1x){2X\\'3r\\':if(4L){d(\"#38\").1I(G,G).l(\"1e\",\"1H\")}d(\"#4i\").1I(G,G).l(\"1e\",\"1H\");2E;2X\\'3y\\':d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);2E}});$C.1c(\\'3r 3y\\',\\'dB\\');$C.on(\\'3r 3y\\',\\'dB\\',D(e){6A(e.1x){2X\\'3r\\':if(4L){d(\"#38\").1I(G,G).l(\"1e\",\"1H\")}d(\"#4i\").1I(G,G).l(\"1e\",\"1H\");2E;2X\\'3y\\':d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);2E}});d(\"#4i\").1c(\\'3r 3y\\');d(\"#4i\").on(\\'3r 3y\\',D(e){6A(e.1x){2X\\'3r\\':if(4L){d(\"#38\").1I(G,G).l(\"1e\",\"1H\")}d(\"#4i\").1I(G,G).l(\"1e\",\"1H\");2E;2X\\'3y\\':d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);2E}});d(\"#b3\").1c(\\'N\\');d(\"#b3\").on(\\'N\\',D(e){d(\"#38\").k(\\'1z\\',$1t);d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);h 4j=($C.k(\\'3h\\').I.6M+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){$C.k(\\'3h\\').I.6M();Y}d(\\'#md-1m\\').l(\\'4E-O\\',\\'84\\');d(\\'#md-1m\\').1l({5w:G});d(\\'#md-1m\\').k(\\'1l\\').3d();h fs;$C.S().1P(D(){if(d(q).k(\\'T\\')){fs=d(q).k(\\'T\\');fs.3W()}});h $1m=$C;if($C.2s(\"2P\").1J()==\\'6V\\'){$1m=$C.1j(\\'1m:1w\\')}if($1m.H(\\'1A\\').1T(\\'jb\\')==-1){d(\\'#5G\\').J($1m.H(\\'1A\\'))}F{d(\\'#5G\\').J(\\'[6u jl]\\')}d(\\'#b6\\').J($1m.H(\\'bX\\'));d(\\'#7M\\').J(\\'\\');d(\\'#a1\\').2s(\\'4t\\',X);if($1m.S(\\'a:1w\\')!=5s){d(\\'#7M\\').J($1m.S(\\'a:1w\\').H(\\'2x\\'));if($1m.S(\\'a:1w\\').H(\\'1V\\')==\\'9T\\'){d(\\'#a1\\').2s(\\'4t\\',G)}F{d(\\'#a1\\').2s(\\'4t\\',X)}}if(!$C.k(\\'3h\\').I.4L){d(\\'#b7\\').l(\"1e\",\"1u\")}F{d(\\'#b7\\').l(\"1e\",\"1u\");d(\\'#cG\\').1c(\\'4w\\');d(\\'#5G\\').on(\\'4w\\',D(){if($1m.H(\\'1A\\')==d(\\'#5G\\').J()){d(\\'#b7\\').l(\"1e\",\"1u\")}F{d(\\'#b7\\').l(\"1e\",\"1H\")}})}d(\\'#cF\\').3w(\\'4t\\');d(\\'#cG\\').1c(\\'N\\');d(\\'#cG\\').on(\\'N\\',D(e){h 4Z;$C.S().1P(D(){if(d(q).k(\\'1p\\')){4Z=d(q).k(\\'1p\\')}});h bc=X;if(d(\\'#cF\\').is(\":4t\")){}F{bc=G}if(bc==X){if(d(\\'#5G\\').J().1T(\"5g\")!=-1){bc=G}}if($1m.H(\\'1A\\')!=d(\\'#5G\\').J()){if(bc){if($1m.H(\\'1A\\').1T(2o+\\'1z.4I\\')!=-1&&d(\\'#5G\\').J().1T(2o+\\'1z.4I\\')==-1){$1m.l(\\'O\\',\\'\\');$1m.l(\\'1n\\',\\'\\')}if(d(\\'#5G\\').J().1T(\\'[6u jl]\\')==-1){$1m.H(\\'1A\\',d(\\'#5G\\').J())}F{}}F{ft(d(\\'#5G\\').J())}}$1m.H(\\'bX\\',d(\\'#b6\\').J());if(d(\\'#7M\\').J()==\\'5g://\\'||d(\\'#7M\\').J()==\\'\\'){$1m.S(\\'a:1w\\').5O($1m.S(\\'a:1w\\').K())}F{h 7b=d(\\'#7M\\').J();if($1m.S(\\'a:1w\\').V==0){$1m.81(\\'<a 2x=\"\\'+7b+\\'\"></a>\\')}F{$1m.S(\\'a:1w\\').H(\\'2x\\',7b)}$1m.S(\\'a:1w\\').H(\\'2a\\',d(\\'#b6\\').J());if(d(\\'#a1\\').is(\":4t\")){$1m.S(\\'a:1w\\').H(\\'1V\\',\\'9T\\')}F{$1m.S(\\'a:1w\\').3w(\\'1V\\')}if(7b.1J().1T(\\'.7c\\')!=-1||7b.1J().1T(\\'.5H\\')!=-1||7b.1J().1T(\\'.4I\\')!=-1||7b.1J().1T(\\'.jm\\')!=-1){$1m.S(\\'a:1w\\').1L(\\'is-bd\\')}F{$1m.S(\\'a:1w\\').1E(\\'is-bd\\')}}if(4Z)4Z.55();d(\\'#md-1m\\').k(\\'1l\\').2h()});h fu=$1m[0].fv;h fw=$1m[0].pc;if($1m.H(\\'1A\\').1T(2o+\\'1z.4I\\')!=-1){1C(h i=0;i<$1m.H(\"R\").3b(\";\").V;i++){h 5j=$1m.H(\"R\").3b(\";\")[i];if(d.2W(5j.3b(\":\")[0])==\"O\"){fu=2f(d.2W(5j.3b(\":\")[1]))}if(d.2W(5j.3b(\":\")[0])==\"1n\"){fw=2f(d.2W(5j.3b(\":\")[1]))}}}h 8q=50;1C(h i=0;i<fl;i++){if(8q>=fu){i=fl;d(\\'#7L\\').J(8q)}8q+=5}h 8r=50;1C(h i=0;i<fm;i++){if(8r>=fw){i=fm;d(\\'#6F\\').J(8r)}8r+=5}if(2f($1m.l(\\'1g-4a\\'))==iI){d(\\'#8s\\').J(\\'8t\\');d(\\'#6F\\').l(\\'1e\\',\\'1u\\')}F{d(\\'#8s\\').J(\\'jj\\');d(\\'#6F\\').l(\\'1e\\',\\'5Y\\')}d(\\'#8s\\').1c(\\'3p\\');d(\\'#8s\\').on(\\'3p\\',D(e){if(d(\\'#8s\\').J()==\\'8t\\'){d(\\'#6F\\').l(\\'1e\\',\\'1u\\');d(\\'#6F\\').J(d(\\'#7L\\').J())}F{d(\\'#6F\\').l(\\'1e\\',\\'5Y\\');d(\\'#6F\\').J(d(\\'#7L\\').J())}});d(\\'#7L\\').1c(\\'3p\\');d(\\'#7L\\').on(\\'3p\\',D(e){if(d(\\'#8s\\').J()==\\'8t\\'){d(\\'#6F\\').J(d(\\'#7L\\').J())}});d(\\'#fo\\').1c(\\'N\\');d(\\'#fo\\').on(\\'N\\',D(e){h 4Z;$C.S().1P(D(){if(d(q).k(\\'1p\\')){4Z=d(q).k(\\'1p\\')}});$1m.H(\\'1A\\',2o+\\'1z.4I\\');$1m.H(\\'bX\\',d(\\'#b6\\').J());if(d(\\'#8s\\').J()==\\'8t\\'){$1m.l(\\'1g-4a\\',\\'7D\\');d(\\'#6F\\').J(d(\\'#7L\\').J())}F{$1m.l(\\'1g-4a\\',\\'\\');$1m.1E(\\'8t\\')}$1m.l(\\'O\\',d(\\'#7L\\').J()+\\'px\\');$1m.l(\\'1n\\',d(\\'#6F\\').J()+\\'px\\');if(4Z)4Z.55();d(\\'#md-1m\\').k(\\'1l\\').2h()});e.2B();e.7Y()});d(\"#cD\").1c(\\'N\\');d(\"#cD\").on(\\'N\\',D(e){d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);d(\"#4Q\").1I(G,G).1G(0);d(\"#5P\").1I(G,G).1G(0);h 4j=($C.k(\\'3h\\').I.4B+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){$C.k(\\'3h\\').I.4B({ce:d(\"#5G\").54(0),cf:d(\"#cD\").54(0)})}F{d(\\'#eT\\').H(\\'1A\\',$C.k(\\'3h\\').I.41);d(\\'#3I-1U\\').J(\\'5G\\');d(\\'#md-41\\').l(\\'O\\',\\'65%\\');d(\\'#md-41\\').1l();d(\\'#md-41\\').k(\\'1l\\').3d()}});d(\"#cE\").1c(\\'N\\');d(\"#cE\").on(\\'N\\',D(e){d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);d(\"#4Q\").1I(G,G).1G(0);d(\"#5P\").1I(G,G).1G(0);h 4j=($C.k(\\'3h\\').I.4C+\\'\\').2M(/\\\\s/g,\\'\\');if(4j!=\\'D(){}\\'){$C.k(\\'3h\\').I.4C({ce:d(\"#7M\").54(0),cf:d(\"#cE\").54(0)})}F{d(\\'#c3\\').H(\\'1A\\',$C.k(\\'3h\\').I.3F);d(\\'#3I-1U\\').J(\\'7M\\');d(\\'#md-3F\\').l(\\'O\\',\\'65%\\');d(\\'#md-3F\\').1l();d(\\'#md-3F\\').k(\\'1l\\').3d()}});d(\\'.my-2K[1x=2K]\\').1c(\\'3p\\');d(\\'.my-2K[1x=2K]\\').on(\\'3p\\',D(e){jn(e);d(\\'#my-1z\\').H(\\'1A\\',\\'\\')});d(\\'#b4\\').1c(\\'N\\');d(\\'#b4\\').on(\\'N\\',D(e){d(\\'#b4\\').1L(\\'3I\\');d(\\'#b5\\').1E(\\'3I\\');d(\\'#fk\\').1G(2H,D(){d(\\'#fp\\').2R(0);d(\\'#fq\\').2R(0)})});d(\\'#b5\\').1c(\\'N\\');d(\\'#b5\\').on(\\'N\\',D(e){d(\\'#b4\\').1E(\\'3I\\');d(\\'#b5\\').1L(\\'3I\\');d(\\'#fp\\').1G(0);d(\\'#fq\\').1G(0,D(){d(\\'#fk\\').2R(2H)})});2E;2X\\'3y\\':d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);2E}})};h jn=D(e){if(75 iD==\"5s\")Y G;h 2K=e.1V.aR[0];if(!2K)Y;h 4d=2K.5U.aP((2K.5U.cJ(\\'.\\')+1)).1J();if(4d!=\\'7c\\'&&4d!=\\'5H\\'&&4d!=\\'4I\\'&&4d!=\\'jm\\'&&4d!=\\'pd\\'){pe(\\'pf 2C an 1z\\');Y}d(\"#38\").1I(G,G).1G(0);d(\"#4i\").1I(G,G).1G(0);d(\"#8W\").l(\\'1i\\',d(\\'#38\\').l(\\'1i\\'));d(\"#8W\").l(\\'W\\',d(\\'#38\\').l(\\'W\\'));d(\"#8W\").l(\\'1e\\',\\'1H\\');d(\\'.3N-bg\\').l(\\'1Z\\',\\'1u\\');d(\\'.3N-bg\\').l(\\'O\\',\\'3u%\\');d(\\'.3N-bg\\').l(\\'1n\\',\\'3u%\\');ft(2K)};h ft=D(2K){h 7N,4d;if(!2K.5U){7N=2K.aP((2K.cJ(\\'/\\')+1));4d=2K.aP((2K.cJ(\\'.\\')+1)).1J()}F{7N=2K.5U;4d=2K.5U.aP((2K.5U.cJ(\\'.\\')+1)).1J()}h 6t=X;2S{6t=$C.k(\\'3h\\').I.6t}2T(e){};h 1x,4K;if(6t==X){if(4d==\\'7c\\'||4d==\\'5H\\'){1x=\\'1z/5H\\';4K=0.92}F{1x=\\'1z/4I\\';4K=1}}F{if(4d==\\'7c\\'||4d==\\'5H\\'){1x=\\'1z/5H\\';4K=1}F{1x=\\'1z/4I\\';4K=1}}jo.pg(2K,D(k){h 6n;if(k.jp){6n=k.jp.54(\\'ph\\')}jo(2K,D(1m){d(\\'.3N-bg\\').l(\\'1Z\\',\\'1u\\');d(\\'.3N-bg\\').l(\\'O\\',\\'3u%\\');d(\\'.3N-bg\\').l(\\'1n\\',\\'3u%\\');h cW,cH;if(1m.O>jq||1m.1n>jq){cW=1m.O/2;cH=1m.1n/2}F if(1m.O>jr||1m.1n>jr){cW=1m.O/1.25;cH=1m.1n/1.25}F{cW=1m.O;cH=1m.1n}if(4<6n&&6n<9){4u=cH;4v=cW}F{4u=cW;4v=cH}h a2=X;h oW;h oH;if(4v<=$1t.1n()&&4u>$1t.O()){oW=$1t.O();oH=(4v*$1t.O())/4u;a2=G}F if(4u<=$1t.O()&&4v>$1t.1n()){oH=$1t.1n();oW=(4u*$1t.1n())/4v;a2=G}F if(4u<=$1t.O()&&4v<=$1t.1n()){oW=4u;oH=4v}F{oW=$1t.O();oH=(4v*$1t.O())/4u;a2=G}h aL=/^((?!jt|ju).)*jv/i.6E(2n.2r);h cK=/7m|7k|7l/.6E(2n.2r)&&!1h.jw;if(aL||cK){h 8u=3J cL(1m);8u.3U(4X,{O:cW,1n:cH,jx:6n},D(){if(a2){h 7d=3J 6u();h nW=4u;h nH=4v;7d.8T=D(){nW/=2;nH/=2;if(nW<oW||nH<oH){nW=oW;nH=oH}h 8u=3J cL(7d);8u.3U(4X,{O:nW,1n:nH},D(){if(nW<=oW||nH<=oH){Y}7d.1A=4X.4o(1x,4K)})};7d.1A=4X.4o(1x,4K)}})}F{h 6G=4X.7O(\"2d\");if(4<6n&&6n<9){4X.O=cH;4X.1n=cW}F{4X.O=cW;4X.1n=cH}6A(6n){2X 2:6G.4s(-1,0,0,1,cW,0);2E;2X 3:6G.4s(-1,0,0,-1,cW,cH);2E;2X 4:6G.4s(1,0,0,-1,0,cH);2E;2X 5:6G.4s(0,1,1,0,0,0);2E;2X 6:6G.4s(0,1,-1,0,cH,0);2E;2X 7:6G.4s(0,-1,-1,0,cH,cW);2E;2X 8:6G.4s(0,-1,1,0,0,cW);2E;7R:2E}6G.8X(1m,0,0,cW,cH);if(a2){h 7d=3J 6u();h nW=4u;h nH=4v;7d.8T=D(){nW/=2;nH/=2;if(nW<oW||nH<oH){nW=oW;nH=oH}4X.O=nW;4X.1n=nH;6G=4X.7O(\\'2d\\');6G.8X(7d,0,0,nW,nH);if(nW<=oW||nH<=oH){Y}7d.1A=4X.4o(1x,4K)};7d.1A=4X.4o(1x,4K)}}$1t=d(\"#38\").k(\\'1z\\');h 1Q=b8.1Q;if($C.k(\\'3h\\').I.1Q==1){1Q=1}h 5F;if($1t.2s(\"2P\").1J()==\\'1m\\'){5F=$1t[0].fv/$1t.O()}F if($1t.2s(\"2P\").1J()==\\'6V\\'){5F=$1t.1j(\\'1m\\')[0].fv/$1t.1j(\\'1m\\').O()}h 8Y=0;h bf=0;if($1t.2s(\"2P\").1J()==\\'1m\\'){if($1t.H(\"1A\").1T(2o+\"1z.4I\")!=-1){1C(h i=0;i<$1t.H(\"R\").3b(\";\").V;i++){h 5j=$1t.H(\"R\").3b(\";\")[i];if(d.2W(5j.3b(\":\")[0])==\"O\"){8Y=2f(d.2W(5j.3b(\":\")[1]));5F=8Y/$1t.O()}if(d.2W(5j.3b(\":\")[0])==\"1n\"){bf=2f(d.2W(5j.3b(\":\")[1]))}}}}F if($1t.2s(\"2P\").1J()==\\'6V\\'){if($1t.1j(\\'1m\\').H(\"1A\").1T(2o+\"1z.4I\")!=-1){1C(h i=0;i<$1t.1j(\\'1m\\').H(\"R\").3b(\";\").V;i++){h 5j=$1t.1j(\\'1m\\').H(\"R\").3b(\";\")[i];if(d.2W(5j.3b(\":\")[0])==\"O\"){8Y=2f(d.2W(5j.3b(\":\")[1]));5F=8Y/$1t.1j(\\'1m\\').O()}if(d.2W(5j.3b(\":\")[0])==\"1n\"){bf=2f(d.2W(5j.3b(\":\")[1]))}}}}h 8v=0;if($1t.2s(\"2P\").1J()==\\'1m\\'){d(\"#my-3e\").l(\\'O\\',($1t.O()*5F)-8v+\\'px\\');d(\"#my-3e\").l(\\'1n\\',($1t.1n()*5F)-8v+\\'px\\')}F{d(\"#my-3e\").l(\\'O\\',($1t.pi()*5F)-8v+\\'px\\');d(\"#my-3e\").l(\\'1n\\',($1t.pj()*5F)-8v+\\'px\\')}if(8Y!=0)d(\"#my-3e\").l(\\'O\\',8Y+\\'px\\');if(bf!=0)d(\"#my-3e\").l(\\'1n\\',bf+\\'px\\');d(\"#my-3e\").l(\\'1Q\\',1Q/5F);d(\"#my-3e\").l(\\'-bh-4s\\',\\'pk(\\'+1Q/5F+\\')\\');h 6o;h 6p;h a3=$1t.O();h a4=$1t.1n();h jy=4u/4v;h jz=a3/a4;if(jy<jz){6o=a3;6p=(4v*a3)/4u}F{6o=(4u*a4)/4v;6p=a4}6o=6o*5F;6p=6p*5F;$1t=d(\"#38\").k(\\'1z\\');d(\"#my-1z\").l(\\'1i\\',\\'67\\');d(\"#my-1z\").l(\\'W\\',\\'67\\');d(\"#my-1z\").l(\\'O\\',6o+\\'px\\');d(\"#my-1z\").l(\\'1n\\',6p+\\'px\\');h 1Q=b8.1Q;1Q=1Q*1;if($C.k(\\'3h\\').I.1Q==1){1Q=1}h 3B;h 3X;h bi;h bj;h 5z=d(1h).37();h 5A=$1t.3l().1i;h 5B=$1t.3l().W;h 47=2n.2r.1J().1T(\\'66\\')>-1;h 3k=6i();h 6m=G;if(47||3k)6m=X;if(6m){3B=(5A*1Q)+(5z-5z*1Q);3X=5B*1Q;bi=((5A+5)*1Q)+(5z-5z*1Q);bj=(5B+5)*1Q}F{if(3k){h 5C=0;h 5D=0;$C.S().1P(D(){if(d(q).k(\\'1p\\')){5C=d(q).5V().1i;5D=d(q).5V().W}});h 5W=-5C*1Q+5C;h 5X=-5D*1Q+5D;h p=$1t.5V();3B=(p.1i*1Q)+5W;3X=(p.W*1Q)+5X;bi=((p.1i+5)*1Q)+5W;bj=((p.W+5)*1Q)+5X}if(47){h ba=2f($1t.l(\\'O\\'));h bb=2f($1t.l(\\'1n\\'));h 5X=ba/2-(ba/2)*1Q;h 5W=bb/2-(bb/2)*1Q;d(\\'#1m-b2\\').l(\\'1i\\',5+5W+\\'px\\');d(\\'#1m-b2\\').l(\\'W\\',7+5X+\\'px\\');3B=5A-5W;3X=5B-5X;bi=5A-5W+5;bj=5B-5X+5}}d(\\'#78\\').l(\\'1e\\',\\'5Y-1H\\');if($1t.H(\\'E\\')==\\'1m-pl\\'){d(\"#78\").l(\"1i\",bi+\"px\");d(\"#78\").l(\"W\",bj+\"px\")}F{d(\"#78\").l(\"1i\",3B+\"px\");d(\"#78\").l(\"W\",3X+\"px\")}if(2f(d(\"#78\").l(\"1i\"))<25){d(\\'#1m-b2\\').l(\\'1i\\',\\'63\\');d(\\'#1m-b2\\').l(\\'ej\\',\"-pm\")}d(\"#my-3e\").l(\\'4s-pn\\',\\'W 1i\\');a5();h 47=2n.2r.1J().1T(\\'66\\')>-1;if(47)jA(po);d(\"#9W\").l(\\'1e\\',\\'1u\\');d(\"#9X\").l(\\'1e\\',\\'1u\\');d(\"#79\").l(\\'1e\\',\\'1u\\');d(\"#9Y\").l(\\'1e\\',\\'1u\\');d(\"#8V\").l(\\'1e\\',\\'1u\\');h aL=/^((?!jt|ju).)*jv/i.6E(2n.2r);h cK=/7m|7k|7l/.6E(2n.2r)&&!1h.jw;if(aL||cK){h 8u=3J cL(1m);8u.3U(2G,{O:cW,1n:cH,jx:6n},D(){d(\\'#my-1z\\').H(\\'1A\\',2G.4o(1x,4K));h 45=3J 6u();h nW=4u;h nH=4v;45.8T=D(){nW/=2;nH/=2;if(nW<6o||nH<6p){nW=6o;nH=6p}h 8u=3J cL(45);8u.3U(2G,{O:nW,1n:nH},D(){if(nW<=6o||nH<=6p){8w();if($1t.H(\\'E\\')==\\'1m-8t\\'){d(\\'#my-3e\\').l(\\'-cM-1g-4a\\',\\'7D\\');d(\\'#my-3e\\').l(\\'-bh-1g-4a\\',\\'7D\\');d(\\'#my-3e\\').l(\\'1g-4a\\',\\'7D\\')}F{d(\\'#my-3e\\').l(\\'-cM-1g-4a\\',\\'67\\');d(\\'#my-3e\\').l(\\'-bh-1g-4a\\',\\'67\\');d(\\'#my-3e\\').l(\\'1g-4a\\',\\'67\\')}if($1t.2s(\"2P\").1J()==\\'1m\\'){}F{d(\\'#79\\').N();d(\\'#79\\').N()}d(\"#8W\").l(\\'1e\\',\\'1u\\');d(\"#9W\").l(\\'1e\\',\\'5Y-1H\\');d(\"#9X\").l(\\'1e\\',\\'5Y-1H\\');d(\"#79\").l(\\'1e\\',\\'5Y-1H\\');d(\"#9Y\").l(\\'1e\\',\\'5Y-1H\\');d(\"#8V\").l(\\'1e\\',\\'5Y-1H\\');d(\\'.3N-bg\\').l(\\'1Z\\',\\'#9k\\');Y}45.1A=2G.4o(1x,4K)})};45.1A=2G.4o(1x,4K)})}F{h 4e=2G.7O(\"2d\");if(4<6n&&6n<9){2G.O=cH;2G.1n=cW}F{2G.O=cW;2G.1n=cH}6A(6n){2X 2:4e.4s(-1,0,0,1,cW,0);2E;2X 3:4e.4s(-1,0,0,-1,cW,cH);2E;2X 4:4e.4s(1,0,0,-1,0,cH);2E;2X 5:4e.4s(0,1,1,0,0,0);2E;2X 6:4e.4s(0,1,-1,0,cH,0);2E;2X 7:4e.4s(0,-1,-1,0,cH,cW);2E;2X 8:4e.4s(0,-1,1,0,0,cW);2E;7R:2E}4e.8X(1m,0,0,cW,cH);d(\\'#my-1z\\').H(\\'1A\\',2G.4o(1x,4K));h 45=3J 6u();h nW=4u;h nH=4v;45.8T=D(){nW/=2;nH/=2;if(nW<6o||nH<6p){nW=6o;nH=6p}2G.O=nW;2G.1n=nH;4e=2G.7O(\\'2d\\');4e.8X(45,0,0,nW,nH);if(nW<=6o||nH<=6p){8w();if($1t.H(\\'E\\')==\\'1m-8t\\'){d(\\'#my-3e\\').l(\\'-cM-1g-4a\\',\\'7D\\');d(\\'#my-3e\\').l(\\'-bh-1g-4a\\',\\'7D\\');d(\\'#my-3e\\').l(\\'1g-4a\\',\\'7D\\')}F{d(\\'#my-3e\\').l(\\'-cM-1g-4a\\',\\'67\\');d(\\'#my-3e\\').l(\\'-bh-1g-4a\\',\\'67\\');d(\\'#my-3e\\').l(\\'1g-4a\\',\\'67\\')}if($1t.2s(\"2P\").1J()==\\'1m\\'){}F{d(\\'#79\\').N();d(\\'#79\\').N()}d(\"#8W\").l(\\'1e\\',\\'1u\\');d(\"#9W\").l(\\'1e\\',\\'5Y-1H\\');d(\"#9X\").l(\\'1e\\',\\'5Y-1H\\');d(\"#79\").l(\\'1e\\',\\'5Y-1H\\');d(\"#9Y\").l(\\'1e\\',\\'5Y-1H\\');d(\"#8V\").l(\\'1e\\',\\'5Y-1H\\');d(\\'.3N-bg\\').l(\\'1Z\\',\\'#9k\\');Y}45.1A=2G.4o(1x,4K)};45.1A=2G.4o(1x,4K)}d(\\'#9Y\\').1c(\\'N\\');d(\\'#9Y\\').on(\\'N\\',D(){if(d(\\'#7K\\').l(\\'1e\\')==\\'1H\\'){d(\\'#7K\\').l(\\'1e\\',\\'1u\\')}F{d(\\'#7K\\').l(\\'1e\\',\\'1H\\');d(\\'#cA\\').H(\\'4t\\',X);if($1t.S(\\'a:1w\\').V==0){d(\\'#9Z\\').H(\\'4t\\',X)}F{if($1t.S(\\'a:1w\\').H(\\'2x\\').1J().1T(\\'.7c\\')!=-1||$1t.S(\\'a:1w\\').H(\\'2x\\').1J().1T(\\'.4I\\')!=-1)d(\\'#9Z\\').H(\\'4t\\',G)}}d(\\'.3N-bg\\').1c(\\'N\\');d(\\'.3N-bg\\').on(\\'N\\',D(){d(\\'#7K\\').l(\\'1e\\',\\'1u\\')});d(\\'#my-3e\\').1c(\\'N\\');d(\\'#my-3e\\').on(\\'N\\',D(){d(\\'#7K\\').l(\\'1e\\',\\'1u\\')})});d(\\'#ff\\').1c(\\'N\\');d(\\'#ff\\').on(\\'N\\',D(){if(d(\\'#9Z\\').is(\\':4t\\')){h 7b=\\'#\\';if($1t.S(\\'a:1w\\').V==0){$1t.81(\\'<a 2x=\"\\'+7b+\\'\"></a>\\')}F{$1t.S(\\'a:1w\\').H(\\'2x\\',7b)}$1t.S(\\'a:1w\\').H(\\'2a\\',\\'\\');$1t.S(\\'a:1w\\').1L(\\'is-bd\\')}if(d(\\'#cA\\').is(\\':4t\\')){h bk=M.8U(\\'fg\\');h 1z;if(6t==X){if(4d==\\'7c\\'||4d==\\'5H\\'){1z=bk.4o(\"1z/5H\",0.92)}F{1z=bk.4o(\"1z/4I\",1)}}F{if(4d==\\'7c\\'||4d==\\'5H\\'){1z=bk.4o(\"1z/5H\",1)}F{1z=bk.4o(\"1z/4I\",1)}}if($1t.2s(\"2P\").1J()==\\'1m\\'){$1t.H(\\'1A\\',1z);$1t.k(\\'a6\\',7N)}F if($1t.2s(\"2P\").1J()==\\'6V\\'){$1t.1j(\\'1m\\').H(\\'1A\\',1z);$1t.1j(\\'1m\\').k(\\'a6\\',7N)}F{$1t.l(\\'1Z-1z\\',\\'fx(k:\\'+1z+\\')\\');$1t.k(\\'a6\\',7N)}if($1t.3g().2p(\"is-bd\")){d(\\'#a0\\').H(\\'fi\\',$C.k(\\'3h\\').I.6v);d(\\'#a0\\').jB()}F{d(\\'.my-2K[1x=2K]\\').7H()}}F{d(\\'#8V\\').N()}d(\\'#78\\').l(\\'1e\\',\\'1u\\');d(\\'.3N-bg\\').l(\\'O\\',\\'5x\\');d(\\'.3N-bg\\').l(\\'1n\\',\\'5x\\');d(\\'2A\\').l(\\'59\\',\\'\\');if($1t.2s(\"2P\").1J()==\\'1m\\'){$1t.l(\\'O\\',\\'\\');$1t.l(\\'1n\\',\\'\\')}F if($1t.2s(\"2P\").1J()==\\'6V\\'){$1t.1j(\\'1m\\').l(\\'O\\',\\'\\');$1t.1j(\\'1m\\').l(\\'1n\\',\\'\\')}$C.k(\\'3h\\').I.fd();d(\"#8W\").l(\\'1e\\',\\'1u\\');d(\\'#7K\\').l(\\'1e\\',\\'1u\\');h 4Z;$C.S().1P(D(){if(d(q).k(\\'1p\\')){4Z=d(q).k(\\'1p\\')}});if(!d(\\'#9Z\\').is(\\':4t\\')){if($1t.S(\\'a:1w\\').V>0){if($1t.S(\\'a:1w\\').H(\\'2x\\').1J().1T(\\'.7c\\')!=-1||$1t.S(\\'a:1w\\').H(\\'2x\\').1J().1T(\\'.4I\\')!=-1){$1t.S(\\'a:1w\\').5O($1t.S(\\'a:1w\\').K())}}}if(4Z){4Z.55();4Z.I.5J()}});d(\\'#8V\\').1c(\\'N\\');d(\\'#8V\\').on(\\'N\\',D(){h 4J=M.8U(\\'cB\\');$1t=d(\"#38\").k(\\'1z\\');h 1z;if(6t==X){if(4d==\\'7c\\'||4d==\\'5H\\'){1z=4J.4o(\"1z/5H\",0.92)}F{1z=4J.4o(\"1z/4I\",1)}}F{if(4d==\\'7c\\'||4d==\\'5H\\'){1z=4J.4o(\"1z/5H\",1)}F{1z=4J.4o(\"1z/4I\",1)}}if($1t.2s(\"2P\").1J()==\\'1m\\'){$1t.H(\\'1A\\',1z);$1t.k(\\'a6\\',7N)}F if($1t.2s(\"2P\").1J()==\\'6V\\'){$1t.1j(\\'1m\\').H(\\'1A\\',1z);$1t.1j(\\'1m\\').k(\\'a6\\',7N)}F{$1t.l(\\'1Z-1z\\',\\'fx(k:\\'+1z+\\')\\');$1t.k(\\'a6\\',7N)}if($1t.3g().2p(\"is-bd\")&&d(\\'#b1\\').J()!=\\'\\'){d(\\'#a0\\').H(\\'fi\\',$C.k(\\'3h\\').I.6v);d(\\'#a0\\').jB()}F{d(\\'.my-2K[1x=2K]\\').7H()}d(\\'#78\\').l(\\'1e\\',\\'1u\\');d(\\'.3N-bg\\').l(\\'O\\',\\'5x\\');d(\\'.3N-bg\\').l(\\'1n\\',\\'5x\\');d(\\'2A\\').l(\\'59\\',\\'\\');if($1t.2s(\"2P\").1J()==\\'1m\\'){$1t.l(\\'O\\',\\'\\');$1t.l(\\'1n\\',\\'\\')}F if($1t.2s(\"2P\").1J()==\\'6V\\'){$1t.1j(\\'1m\\').l(\\'O\\',\\'\\');$1t.1j(\\'1m\\').l(\\'1n\\',\\'\\')}$C.k(\\'3h\\').I.fd();d(\\'#7K\\').l(\\'1e\\',\\'1u\\')});d(\\'#9W\\').1c(\\'N\\');d(\\'#9W\\').on(\\'N\\',D(){h 4J=M.8U(\\'cB\\');$1t=d(\"#38\").k(\\'1z\\');d(\\'#78\\').l(\\'1e\\',\\'1u\\');d(\\'.3N-bg\\').l(\\'O\\',\\'5x\\');d(\\'.3N-bg\\').l(\\'1n\\',\\'5x\\');d(\\'2A\\').l(\\'59\\',\\'\\');d(\\'#7K\\').l(\\'1e\\',\\'1u\\');d(\\'.my-2K[1x=2K]\\').7H()});d(\\'#79\\').1c(\\'N\\');d(\\'#79\\').on(\\'N\\',D(){h 6H=2f(d(\"#my-1z\").l(\\'O\\'));h 6I=2f(d(\"#my-1z\").l(\\'1n\\'));d(\"#my-1z\").l(\\'O\\',(6H/0.9)+\\'px\\');d(\"#my-1z\").l(\\'1n\\',(6I/0.9)+\\'px\\');a5();2G.O=(6H/0.9);2G.1n=(6I/0.9);h 8x=d(\"#my-1z\")[0];h 4e=2G.7O(\\'2d\\');h 45=3J 6u(),4e,cW,cH;cW=4u;cH=4v;45.1A=8x.1A;45.8T=D(){cW/=2;cH/=2;if(cW<8x.O)cW=(6H/0.9);if(cH<8x.1n)cH=(6I/0.9);2G.O=cW;2G.1n=cH;4e=2G.7O(\\'2d\\');4e.8X(45,0,0,cW,cH);if(cW<=(6H/0.9)||cH<=(6I/0.9)){a5();8w();Y}45.1A=2G.4o(1x,4K)};8w()});d(\\'#9X\\').1c(\\'N\\');d(\\'#9X\\').on(\\'N\\',D(){h 6H=2f(d(\"#my-1z\").l(\\'O\\'));h 6I=2f(d(\"#my-1z\").l(\\'1n\\'));if((6H/1.1)<d(\"#my-3e\").O())Y;if((6I/1.1)<d(\"#my-3e\").1n())Y;d(\"#my-1z\").l(\\'O\\',(6H/1.1)+\\'px\\');d(\"#my-1z\").l(\\'1n\\',(6I/1.1)+\\'px\\');a5();2G.O=(6H/1.1);2G.1n=(6I/1.1);h 8x=d(\"#my-1z\")[0];h 4e=2G.7O(\\'2d\\');h 45=3J 6u(),4e,cW,cH;cW=4u;cH=4v;45.1A=8x.1A;45.8T=D(){cW/=2;cH/=2;if(cW<8x.O)cW=(6H/1.1);if(cH<8x.1n)cH=(6I/1.1);2G.O=cW;2G.1n=cH;4e=2G.7O(\\'2d\\');4e.8X(45,0,0,cW,cH);if(cW<=(6H/1.1)||cH<=(6I/1.1)){a5();8w();Y}45.1A=2G.4o(1x,4K)};8w()})},{4J:X})})};h 8w=D(){h 8v=1.1;h x=2f(d(\"#my-1z\").l(\\'W\\'))-8v;h y=2f(d(\"#my-1z\").l(\\'1i\\'))-8v;h dw=2f(d(\"#my-3e\").l(\\'O\\'));h dh=2f(d(\"#my-3e\").l(\\'1n\\'));h 4J=M.8U(\\'cB\\');h 4e=4J.7O(\\'2d\\');4J.O=dw;4J.1n=dh;h bl=-1*x;h bm=-1*y;if((2n.2r.3Q(/7k/i))||(2n.2r.3Q(/7l/i))||(2n.2r.3Q(/7m/i))){h fy=0.7;bl=-1*x+(x-x/fy);bm=-1*y+(y-y/fy)}if(bm>(2G.1n-dh)){bm=2G.1n-dh}if(bl>(2G.O-dw)){bl=2G.O-dw}4e.8X(2G,bl,bm,dw,dh,0,0,dw,dh)};h a5=D(){d(\"#my-1z\").l({1i:0,W:0});h a3=d(\"#my-3e\").O();h a4=d(\"#my-3e\").1n();h bn=d(\"#my-1z\").3l();h jC=d(\"#my-1z\").O();h jD=d(\"#my-1z\").1n();h jE=(bn.W+a3)-jC;h jF=(bn.1i+a4)-jD;h jG=bn.W;h jH=bn.1i;d(\"#my-1z\").1y({pp:X,pq:[jE,jF,jG,jH],pr:X,dy:D(){8w()}});d(\"#my-1z\").l({7j:\\'6a\\'})};q.7W()};d.fn.3h=D(4A){Y q.1P(D(){if(5s==d(q).k(\\'3h\\')){h 87=3J d.3h(q,4A);d(q).k(\\'3h\\',87)}})}})(d);D ps(s){$1t.S(\"a\").H(\"2x\",s);d(\\'.my-2K[1x=2K]\\').7H()}D bL(){h 1q=\"\";h fz=\"pt\";1C(h i=0;i<2;i++)1q+=fz.jI(8Z.jJ(8Z.jK()*fz.V));h fA=\"\";h fB=\"pu\";1C(h i=0;i<5;i++)fA+=fB.jI(8Z.jJ(8Z.jK()*fB.V));Y 1q+fA}D jA(jL){h am=3J jM().jN();1C(h i=0;i<pv;i++){if((3J jM().jN()-am)>jL){2E}}}D 7t(fC,jO){h jP=0;fC.pw(D(7Q){$.py(7Q,D(){if(++jP==fC.V)jO()})})}d.fn.pz=d.fn.7H=D(bo){h jQ=/^(?:1f|pA|pB|pC|pD|pE|pF|1s|f1|pG|1q|pH|fx|pI)$/i;Y q.1P(D(){h t=q.1x,9U=q.2P.1J();if(jQ.6E(t)||9U==\\'8O\\'){q.1D=\\'\\'}F if(t==\\'9r\\'||t==\\'pJ\\'){q.4t=X}F if(9U==\\'2C\\'){q.pK=-1}F if(t==\"2K\"){if(/jR/.6E(2n.2r)){d(q).5O(d(q).7q(G))}F{d(q).J(\\'\\')}}F if(bo){if((bo===G&&/4P/.6E(t))||(75 bo==\\'pL\\'&&d(q).is(bo)))q.1D=\\'\\'}})};h 6q=fe;(D(d){d.1l=D(C,4A){h 7f={cu:D(){},eU:D(){},8G:X,5w:X};q.I={};h $C=d(C),C=C;h $cN;q.7W=D(){q.I=d.af({},7f,4A);if(d(\\'#4q\\').V==0){d(\\'2A\\').3P(\\'<B id=\"4q\"></B>\\')}};q.2h=D(){$C.l(\\'1e\\',\\'1u\\');$C.1E(\\'md-3d\\');if(!q.I.5w){$cN.2D()}6q=6q-2;$C.k(\\'1l\\').I.eU()};q.3d=D(2j){6q=6q+1;if(!q.I.5w){h a7=bL();h fD=\\'<B id=\"md-3N-\\'+a7+\\'\" E=\"md-3N\" R=\"z-52:\\'+6q+\\'\"></B>\\';if(q.I.8G){fD=\\'<B id=\"md-3N-\\'+a7+\\'\" E=\"md-3N\" R=\"z-52:\\'+6q+\\';1Z:6w(0, 0, 0, 0.1)\"></B>\\'}d(\\'#4q\\').3P(fD);$cN=d(\\'#md-3N-\\'+a7)}6q=6q+1;$C.l(\\'z-52\\',6q);$C.1L(\\'md-3d\\');$C.1I(G,G).l(\\'1e\\',\\'1u\\').2R(3R);if($C.2p(\\'md-1y\\')){h mw=2f($C.l(\"O\"));h mh=2f($C.l(\"1n\"));$C.l(\"1i\",8Z.4E(0,(d(1h).1n()-mh)/2)+\"px\");$C.l(\"W\",8Z.4E(0,(d(1h).O()-mw)/2)+\"px\");if($C.1j(\\'.md-2m-3S\\').V>0){$C.1j(\\'.md-2m-3S\\').l(\"7j\",\"6a\");$C.1y({3S:\".md-2m-3S\"})}F{$C.1y()}}if($C.1j(\\'.md-2m-6f\\').V>0){$C.1j(\\'.md-2m-6f\\').N(D(){$C.k(\\'1l\\').2h()})}if(!q.I.5w){h 2j=2j;d(\\'#md-3N-\\'+a7).1c(\\'N\\');d(\\'#md-3N-\\'+a7).N(D(){if($C.k(\\'1l\\').I.8G)Y;$C.1I(G,G).1G(3u,D(){$C.1E(\\'md-3d\\')});$cN.2D();6q=6q-2;if(2j)3a(2j);$C.k(\\'1l\\').I.cu()})}};q.7W()};d.fn.1l=D(4A){Y q.1P(D(){if(5s==d(q).k(\\'1l\\')){h 87=3J d.1l(q,4A);d(q).k(\\'1l\\',87)}})}})(d);d(M).8l(D(e){if(e.8m===90&&e.eC){if(e.ij)fE();F{if(!e.jS)fF()}}if(e.8m===89&&e.eC){if(!e.jS)fE()}});D 2g(){h 8y=X;d(3q).1P(D(){h $cb=d(q);h $el=$cb.k(\\'1p\\');if($el.3o[0]){if($cb.K()!=$el.3o[0][0])8y=G}F{8y=G}});if(!8y)Y;d(3q).1P(D(){h $cb=d(q);h $el=$cb.k(\\'1p\\');1C(h i=20;i>1;i--)$el.3o[i-1]=$el.3o[i-2];h Q;if(1h.1r){2S{Q=1h.1r().2i(0);$el.3o[0]=[$cb.K(),Q.cx()]}2T(e){$el.3o[0]=[$cb.K(),1O]}}F if(M.1d){2S{Q=M.1d.1F();h 1x=M.1d.1x;if(1x==\"5Q\")$el.3o[0]=[$cb.K(),Q.a8(),\"5Q\"];F if(1x==\"7J\"){Q.56(0).6r=\"6r\";$el.3o[0]=[$cb.K(),1O,\"7J\"];Q.56(0).77(\"6r\",0)}F{$el.3o[0]=[$cb.K(),Q.a8(),\"cO\"]}}2T(e){if(1x==\"5Q\")$el.3o[0]=[$cb.K(),1O,\"5Q\"];F if(1x==\"7J\"){Q.56(0).6r=\"6r\";$el.3o[0]=[$cb.K(),1O,\"7J\"];Q.56(0).77(\"6r\",0)}F{$el.3o[0]=[$cb.K(),1O,\"cO\"]}}}$el.5o=[]})}h bp=0;D fF(){h 8y=X;d(3q).1P(D(){h $cb=d(q);h $el=$cb.k(\\'1p\\');if($el.3o[0]){if($cb.K()!=$el.3o[0][0])8y=G}F{8y=G}});d(3q).1P(D(){h $cb=d(q);h $el=$cb.k(\\'1p\\');if(!$el.3o[0])Y;1C(h i=20;i>1;i--)$el.5o[i-1]=$el.5o[i-2];h Q;if(1h.1r){2S{Q=1h.1r().2i(0);$el.5o[0]=[$cb.K(),Q.cx()]}2T(e){$el.5o[0]=[$cb.K(),1O]}}F if(M.1d){Q=M.1d.1F();h 1x=M.1d.1x;if(1x==\"5Q\")$el.5o[0]=[$cb.K(),Q.a8(),\"5Q\"];F if(1x==\"7J\"){Q.56(0).6r=\"6r\";$el.5o[0]=[$cb.K(),1O,\"7J\"];Q.56(0).77(\"6r\",0)}F{$el.5o[0]=[$cb.K(),Q.a8(),\"cO\"]}}6c=$el.3o[0][0];$cb.K(6c);1C(h i=0;i<19;i++)$el.3o[i]=$el.3o[i+1];$el.3o[19]=1O;$el.55();$el.6T();$el.I.5J()});if(8y==X&&bp<1){bp=bp+1;fF();Y}bp=0}D fE(){d(3q).1P(D(){h $cb=d(q);h $el=$cb.k(\\'1p\\');if(!$el.5o[0])Y;1C(h i=20;i>1;i--)$el.3o[i-1]=$el.3o[i-2];h Q;if(1h.1r){2S{Q=1h.1r().2i(0);$el.3o[0]=[$cb.K(),Q.cx()]}2T(e){$el.3o[0]=[$cb.K(),1O]}}F if(M.1d){Q=M.1d.1F();h 1x=M.1d.1x;if(1x==\"5Q\")$el.3o[0]=[$cb.K(),Q.a8(),\"5Q\"];F if(1x==\"7J\"){Q.56(0).6r=\"6r\";$el.3o[0]=[$cb.K(),1O,\"7J\"];Q.56(0).77(\"6r\",0)}F{$el.3o[0]=[$cb.K(),Q.a8(),\"cO\"]}}6c=$el.5o[0][0];$cb.K(6c);1C(h i=0;i<19;i++)$el.5o[i]=$el.5o[i+1];$el.5o[19]=1O;$el.55();$el.6T();$el.I.5J()})}d.fn.5V=D(){h o=q[0];h W=0,1i=0,2l=1O,8z=1O;8z=o.8z;h jT=o;h el=o;aY(el.2l!=1O){el=el.2l;if(el.8z!=1O){h fG=G;if(1h.in){if(el==jT.2l||el.3K==\"pM\"){fG=X}}if(fG){if(el.37&&el.37>0){1i-=el.37}if(el.fH&&el.fH>0){W-=el.fH}}}if(el==8z){W+=o.fI;if(el.jU&&el.3K!=\"jV\"){W+=el.jU}1i+=o.fJ;if(el.jW&&el.3K!=\"jV\"){1i+=el.jW}o=el;if(o.8z==1O){if(o.fI){W+=o.fI}if(o.fJ){1i+=o.fJ}}8z=o.8z}}Y{W:W,1i:1i}};D j6(1U){h jX=/(\\\\n|\\\\r| E=(\")?pN[a-pO-Z]+(\")?)/g;h 7e=1U.2M(jX,\\' \\');h jY=3J 9c(\\'<!--(.*?)-->\\',\\'g\\');h 7e=7e.2M(jY,\\'\\');h cP=3J 9c(\\'<(/)*(pP|5I|3c|\\\\\\\\?7u:|pQ:|o:|1N)(.*?)>\\',\\'gi\\');7e=7e.2M(cP,\\'\\');h cQ=[\\'R\\',\\'7Q\\',\\'pR\\',\\'8I\\',\\'pS\\',\\'pT\\'];1C(h i=0;i<cQ.V;i++){cP=3J 9c(\\'<\\'+cQ[i]+\\'.*?\\'+cQ[i]+\\'(.*?)>\\',\\'gi\\');7e=7e.2M(cP,\\'\\')}h fK=[\\'R\\',\\'am\\'];1C(h i=0;i<fK.V;i++){h jZ=3J 9c(\\' \\'+fK[i]+\\'=\"(.*?)\"\\',\\'gi\\');7e=7e.2M(jZ,\\'\\')}Y 7e}D iS(1s){if(1s){if(75 1s.2C!=\"5s\"){1s.2C()}F if(75 1h.1r!=\"5s\"){h 2Q=1h.1r();2Q.72();2Q.7E(1s)}}}D aT(el){h 1s=M.1F();1s.i9(el);h 2Q=1h.1r();2Q.72();2Q.7E(1s)}D 5i(k0){Y(k0%2==0)?G:X}D 8n(2c,2Z,1o){h bq=0;h fL=X;1C(h i=0;i<2Z.3Y.V;i++){if(fL==X){bq+=2Z.3Y[i].ct}if(1o==2Z.3Y[i])fL=G}bq=bq-(1o.ct-1);h 8o=bq-1;Y 8o}D 6i(){h 5k=1h.2n.2r;h aM=5k.1T(\\'jR \\');h k1=5k.1T(\\'pU/\\');h 8A=5k.1T(\\'k2/\\');if(aM>0){Y 2f(5k.cR(aM+5,5k.1T(\\'.\\',aM)),10)}if(8A>0){Y 2f(5k.cR(8A+5,5k.1T(\\'.\\',8A)),10)}if(k1>0){h cS=5k.1T(\\'cS:\\');Y 2f(5k.cR(cS+3,5k.1T(\\'.\\',cS)),10)}Y X}D eM(){h 5k=1h.2n.2r;h 8A=5k.1T(\\'k2/\\');if(8A>0){Y 2f(5k.cR(8A+5,5k.1T(\\'.\\',8A)),10)}Y X}(D($){$.fn.aS=D(){h el=q,fM;fM=D(c){h m=c.3Q(/[0-9]+/g);if(m!==1O){Y!!m[3]}F Y X};aY(fM(el.l(\\'1Z-1f\\'))){el=el.3g()}cT=el.l(\\'1Z-1f\\').3Q(/[0-9]+/g);q.k3=!!8Z.pV((2f(cT[0],10)+2f(cT[1],10)+2f(cT[2],10))/pW);if(q.k3){q.l(\\'1f\\',\\'pX\\')}F{q.l(\\'1f\\',\\'6w(7X, 7X, 7X, 0.7)\\')}Y q}}(d));7t([2o+\"3Z/ab/3Z.js\"],D(){7t([2o+\"3Z/2t/7u/7u.js\",2o+\"3Z/2t/6N/6N.js\",2o+\"3Z/2t/l/l.js\"],D(){d(\\'2A\\').1L(\\'is-8H\\')})});', 62, 1610, '|||||||||||||jQuery||||var|||data|css|||||this|||||||||||div|element|function|class|else|true|attr|settings|val|html|rte|document|click|width||curr|style|parents|contenteditor|button|length|left|false|return||||||||||||cmd|icon|off|selection|display|color|border|window|top|find|ui|simplemodal|img|height|oTD|contentbuilder|text|getSelection|range|imgActive|none|activeCell|first|type|draggable|image|src|row|for|value|removeClass|createRange|fadeOut|block|stop|toLowerCase|pop|addClass|size|font|null|each|zoom|table|children|indexOf|input|target|contenteditable|onChange|right|background|||||||||||title|event|oTable||toolbar|parseInt|saveForUndo|hide|getRangeAt|savedSel|applyto|parentNode|modal|navigator|sScriptPath|hasClass|align|userAgent|prop|mode|activeLink|hasChanged|execCommand|href|commonAncestorContainer|parentElement|body|preventDefault|select|remove|break||tmpCanvas|300|tool|option|file|inpCellBorderColor|replace|divTool|toolwidth|tagName|sel|fadeIn|try|catch|oSel|activeIcon|trim|case|inpTextColor|oTR|||||||animate|scrollTop|divToolImg|tr|restoreSelection|split|span|show|mask|divSnippetScrollUp|parent|imageembed|savedSelPublic|saveSelection|is_ie|offset|oRow|divSnippetList|undoList|change|cb_list|mouseenter|initial|node|100|position|removeAttr|txtHtml|mouseleave|html_rte|area|_top|fontElements|oCell|code|fileselect|list|divSnippetScrollDown|active|new|nodeName|nodeType|rows|overlay|td|append|match|200|handle|temp|render|btn|closePop|_left|cells|codemirror||imageselect|readonly||clear|tmp||is_firefox||lnkToolOpen|radius|drop|sTagName|extension|context|open|solid|htmlEditor|divToolImgSettings|sFunc|label|inpCellBgColor|inpCellTextColor|selColMode|toDataURL|content|divCb|iframe|transform|checked|nInitialWidth|nInitialHeight|keyup|side|idContentWord|html_hover_icons|options|onImageSelectClick|onFileSelectClick|bold|max|instances|fontname|lastNode|png|canvas|quality|imageEmbed|italic|big|cancel|hidden|divRteLink|underline|both|edittable|len|borderwidth|oNewCell|tmpCanvasNoCrop|sSrc|builder|||index|line|get|applyBehavior|item|||overflow|CodeMirrorInstance|editable|outline|createlink|inptxt|float|http|getState|isEven|cssval|ua|iconselect|formatting|textsettings|redoList|divSnippetCatOptions|fixed|family|undefined|blur|fontsize|margin|noOverlay|1px|bManualColorChange|scrolltop|offsettop|offsetleft|space|space2|sClassSize|enlarge|txtImgUrl|jpeg|link|onRender|tags|dot|10px|snip|replaceWith|divFrameLink|Text|collapse|selCellBorderWidth|contents|name|getPos|adjy_val|adjx_val|inline|cb_snippetList||editMode|colors|auto|||firefox|0px|250|ypos|move|activeModule|sHTML|activeElement|strikethrough|close|txtLink|Ok|detectIE|comCon|colorPicker|toggled|browserok|orientation_num|newW|newY|zindex|selThis|selectable|hiquality|Image|largerImageHandler|rgba|helper|active_element|protected|switch|divRteTable|createsrc|createiframe|test|selImgH|contextNoCrop|nCurrentWidth|nCurrentHeight|getElementsByTagName|activeRow|onImageBrowseClick|onImageSettingClick|javascript|customTags|absolute|center|12px|catid|blockChanged|ovl|figure|codeEditor|bUseCustomFileSelect|txtImgUrl_rte|blank||headings|removeAllRanges|queryCommandState|heading|typeof|getSelected|removeAttribute|divImageEdit|btnZoomIn|selected|imagelink|jpg|tmpImg|output|defaults|edit|removeFormat|customval|cursor|iPhone|iPod|iPad|dragbox|outlined|copy|clone|mousedown|myTextArea|getScripts|xml|indent|getValue|editcontentmodule|bUseCustomImageSelect|tableInsert|uppercase|updown|selColorApplyTo|500px|addRange|docFrag|currTag|clearInputs|bordercolor|Control|divImageMore|selImgW|txtLinkUrl|imgname|getContext|oScripts|script|default|snippetCategories|buttons|formatPara|unlink|init|255|stopImmediatePropagation|cat||wrap|padding|box|550px|txtContentCustomCode||plugin|activeFrame||chkNewWindow|footer|preview|selTableApplyTo|currentrow|currentcol|evenrows|oddrows|currentcell|ifrFonts|ifrHeadings|keydown|which|getCellIndex|nCellIndex|sPastedText|valW|valH|selImgStyle|circle|mpImg|maskAdj|crop|imageObj|bChanged|offsetParent|edge|cb_snippetPageSliding|createLink|toolbarDisplay|divSnippetCat|plus|isModal|cmloaded|embed|editcontentcustomcode|cbarr|col|insertimage|fileInsertImage|textarea|outdent|keyCode|normal|com|onload|getElementById|btnChangeImage|divToolImgLoader|drawImage|specifiedCssWidth|Math||snippetPathReplace||Title|not|axis||||45px|windowsize|bUseScrollHelper|RegExp|placeholder|225|CodeMirror|fromTextArea|lineWrapping|lineNumbers|tabMode|fff|focus|delrowconfirm|hidContentCustomCode|destroy|ce_outline|html_table|checkbox|pickalign|Row|Column|Insert|100px|deltableconfirm|picklist|superscript|subscript|outFontSize|decrease|increase|outLetterSpacing|outLineHeight|fontfamily|html_colors|pick|found|th|insertNode|setStartAfter|currentFontSize|currentLetterSpacing|currentLineHeight|parentDiv|dropping|oNewRow|_blank|tag|srcUrl|btnImageCancel|btnZoomOut|btnImageMore|chkImageClickToEnlarge|canvasform|chkNewWindow2|bResize|maskWidth|maskHeight|panSetup|filename|rnd|getBookmark|sc2|rel|lib|Paragraph|Images|to|extend|push|html_catselect|pointer|maxScroll|catSplit|bUseSnippetsFilter|start||module|5px|btnHtmlOk|btnHtmlCancel|eraser||justify|txtLinkText|txtLinkTitle|btnLinkOk|tabTableDesign|tabTableLayout|letterspacing|lineheight|provider|ifrIconSelect|arrC|prepareRteCommand|fonts|createContextualFragment|setEndAfter|endOffset|is_edge|isSafari|msie|letter|spacing|substr|pasteHtmlAtCaret|files|contrastingText|selectElementContents|valign|rowIndex|cellIndex|rangeCount|while|youRegexMatches|vimeoRegexMatches|fileImage|control|lnkImageSettings|tabImgLnk|tabImgPl|txtAltText|divEmbedOriginal|localStorage|_top2|imgwidth|imgheight|insertOri|lightbox||specifiedCssHeight||moz|_top_polaroid|_left_polaroid|canvasNoCrop|sourceX|sourceY|imgPos|includeHidden|numUndo|nCount||cb_edit|createElement|appendChild|Caption|List|with|html_toolcontent|rgb|150|600|30px|400|htmlThumbs|thumb|cats|cbs|sso|sortable|snipHtml|makeid|sizing|responsive|moduleName|newcbarr|toolbar_attr|Color|11px|Link|Delete|btnbrowse|btnLinkBrowse|alt|btnImageBrowse_rte|txtSrc|20px|you|Cancel|ifrFileBrowse|isCtrl|toString|bEditable|character|extractContents|endContainer|fontSize||storedEl|innerListItem|targetInput|theTrigger|applyColor|dark|222|light|DDD|renderCallback||elm|weight||decoration|insertCell|oRowTmp|colSpan|onCancel|exec|frag|cloneRange|html_photo_file|html_photo_file2|chkImageNoCrop|myCanvas|nbsp|btnImageBrowse|btnFileBrowse|chkCrop|btnImgOk||_top_adj|lastIndexOf|iOS|MegaPixImage|webkit|ovlid|None|tagStripper|badTags|substring|rv|parts|sc|stylesheet||ul|snippetTool|snippetOpen|snippetPageSliding|Info|Custom|addSnippetCategories|your|custom|sourceEditor|888888|hideDragPreview|absolutePath|connectSortable|caret|217|8px|marginRight|paddingRight|37px||marginLeft|paddingLeft|valueSelected|cbSnippetList|htmlData|currentDataChildren||defaultExists|cbSnippetListDivs|selSnipsOption|applyDraggable|decodeURIComponent|reference|bReturn||bJUIStable|drag|viewHtml|setValue|figcaption|opacity|btnDelRowOk|btnDelRowCancel|btnContentCustomCodeOk|encodeURIComponent|btnContentCustomCodeCancel|moduleDesc|btnContentModuleOk|hidContentModuleCode|btnContentModuleCancel|activeCol|empty|iscontentbox|ce_toolbarDisplay|icon_button|customtag_button|strike|fontsize2|Font|Edit|btnEditTable|btnDeleteTable|inpchk|imgInsertImagePreview|btnImgOk_rte|btnSrcOk|txtIframe|btnIframeOk|Left|Right|divTableDesign|Background|Border|120px|Current|Cell|divTableLayout|rowabove|rowbelow|columnleft|columnright|delrow|delcolumn|bottom|Merge|||mergecell|btnDelTableCancel|btnDelTableOk|arrow|pickfontfamily|pickheading|btnTextColorClear|ifrFontSize|pickfontsize|secondary|primary|400px|whitecell|realtime|pasteContent|ctrlKey|ce_closePop|before|contentRender|forceshow|dashed|pasteHTML|lastChild|normalize|bEmailMode|detectEdge|formatBlock|132|1000|bExist|links|reader|ifrImageBrowse|onFinish|emailmode|highlight|innerHTML|container|anchorNode|startOffset|search|currentSrcUrl|www|youtube|vimeo|video|iframeSrc|bRichPaste|ranges|selectPastedContent|originalRange|tmpId|onChanged|10000|btnImageMoreOk|myTmpCanvasNoCrop|form|action|canvasframe|divImgPl|231|111||btnInsertPlh|divImgLnk|divImgLnkOk|fixedimage|editor|processImage|actualW|naturalWidth|actualH|url|iosAdj|possible|text2|possible2|scripts|html_overlay|doRedo|doUndo|considerScroll|scrollLeft|offsetLeft|offsetTop|badAttributes|bFinish|transparent|sScriptPathArray|min|head|small|onDrop|snippetFile|assets|modulePath|scrollHelper|Default|All|Subtitle|Heading|Profile|snippetCustomCode|snippetCustomCodeMessage|IMPORTANT|This|allowed|here|but|may|always|work|compatible|the|so|proceed|own|risk|We||support|problems|ffffc5|e9d4a7|ffd5d5|ffd4df|c5efff|b4fdff|c6f5c6|fcd1fe||ececec|f7e97a|d09f5e|ff8d8d|ff80aa|63d3ff|7eeaed|94dd95|ef97f3|d4d4d4|fed229|cc7f18|ff0e0e|fa4273|00b8ff|0edce2|35d037|d24fd7|ff9c26|955705|c31313|f51f58|1b83df|0bbfc5|1aa71b|ae19b4|333333|snippetList|snippetCategoryList|snippet|splice|html_tool|divToolWait|||||||15px|html_scrollhelper|eee|100000|sans|serif|100000000|touchup|900|divSnippets|regex|string1|string2|regex2|blockEncoded|Snippet|inArray|selSnips|cloned||handler|tolerance|delay|deactivate|bDrop|isOverAxis2|zone|connectToSortable|60px|infoSource|Settings|ifrContentModulePanel|hidContentModuleSettings|mouseup|removeData|refreshAllObjects|Underline|Strikethrough|16px|Size|bullet|14px|Target|New|Window|browse|camera|Source|tabs|No|Rows|Above|Below|25px|Are|sure|want|delete|CANCEL|OK|half|COLORS|divCustomTags|ffffff|selectNodeContents|775px|queryCommandValue|cancelBubble||returnValue||moveEnd|moveStart|childNodes|shiftKey|isChrome|vendor|isOpera|opera|isFirefox|UA|LiveEditor_isIE|removeElement||H1|H2|H3|H4|H5|H6|face|googleapis|count|_del|FileReader|dragover|dragleave|ForeColor|BackColor|500|through|mouseover|mouseout|insertRow|removeChild|deleteCell|setAttribute|setStart|setEnd|selectRange|dummy|embeddedYoutubeRegex|embeddedVimeoRegex|player|youRegex|vimeoRegex|youMatch|vimeoMatch|innerspanstyle|newstyle|tmptop|pasteFrame|getSelectionStartNode|cleanHTML|filter|firstChild|firstNode|linkDialog|base64|html_photo_tool|200px|Crop|myTmpCanvas|hidRefId|spin|DIMENSION|square|touchstart|Data|gif|changeImage|loadImage|exif|3200|2500||chrome|android|safari|MSStream|orientation|photoAspectRatio|canvasAspectRatio|sleep|submit|imgWidth|imgHeight|x1|y1|x2|y2|charAt|floor|random|milliseconds|Date|getTime|callback|progress|re|MSIE|altKey|original|clientLeft|TABLE|clientTop|stringStripper|commentSripper|attributeStripper|someNumber|trident|Edge|lightBackground|load|all|blockquote|snippets|modules|Buttons|Cards|Long|Single|Call|Action|Quotes|Map|Video|Social|Services|Contact|Pricing|Team|Products|Portfolio|How|It|Works|Partners|Clients|As|Featured|On|Achievements|Skills|Coming|Soon|Page|Not|Found|Separator|Code|moduleConfig|cell|vertical|middle|loading|9650|9660|scrollHeight|leftside|52px|appendTo|sort|items|connectWith|distance|slideUp|slideDown|beforeStop|thumbnails|isOver|isOverAxis|droppable|greedy|hoverClass|activeClass|cog|obj|version|dynamic|150px|clearControls|loadHTML|after|900px|desc|Module|dialog|join||contentbox|Icon|smile|Tags|ticket|Bold|Italic|Formatting|sliders|Clean||header|Alignment|picture|Remove|HTML|insert|pencil|accept|Drag|and|ion|ios|Or|Specify|350px|Center|Full|Design|Layout|Thickness|Apply|To|Table|Even|Odd|205px|Indent|Outdent|insertUnorderedList|Bulleted|insertOrderedList|Numbered|numbered|Superscript|Subscript|Uppercase|Letter|Spacing|Line|Height|9px|2px|42px|4px|245px||170px|cust_colors|6px||Block|319px|450px|section|Array|000000|3300ff|9900ff|ff0099|cc0099|990099|990033|cc0033|ff0033||444444||3366ff|9966ff|ff6699|cc6699|996699|996633|cc6633|ff6633|3399ff|9999ff|ff9999|cc9999|999999|999933|cc9933|ff9933|cccccc|33ccff|99ccff|ffcc99|cccc99|99cc99|99cc33|cccc33|ffcc33|33ffff|99ffff|ffff99|ccff99|99ff99|99ff33|ccff33|ffff33|undo|redo|paste|innerText|metaKey|createTextRange|moveToElementText|picker|child|JustifyFull|JustifyLeft|JustifyRight|JustifyCenter|FontName|FormatBlock|formatted|pre|Chrome|Google|Inc|Safari|Apple|Computer|190px|divHeadings|divFontList|fontName|fontFamily|google|property|result|readAsDataURL|215|isNaN|163|267px|ddd||deleteRow|UL|OL|cloneContents|htmlText|255px|watch|feature|player_detailpage|youtu|channels|groups|videos|outerHTML||1000px|setTimeout|nodeValue|end|getSelectedNode|deleteContents|createDocumentFragment|setStartBefore|setEndPoint|StartToStart|applyIconClass|appName|Microsoft|fileinputs|fakefile|iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6|NlyAAAC|klEQVRoQ|2au24aQRSGz|ySkEvPA9AQubNEhXgCSogEShmZGkSQpTS8AjUNSAjXlCRNStpQ8QK8AI6UOLazM5lZvGRvswsz43hYz0iWZe3uzPnOf25rQOVymcAzWsgAZ1xto3DGBQajsFE4Yx4wIZ0xQSM4RmGjcMY8YEI6Y4LKFy0H|9TCJ7b1VsiOo0PaAAv5Wf4ho|CBPjQhneYokRyezWZQKpW4WzuOA71eD5bLZdrx|vahnSz2YRutwu5XC4RZrPZQL1eP33g4XAI1Wo1FeRYlbVQ|||FA1U||kfblitVtBut2Nvf3LgQqEAk8kE2G9VC2MM4|EYRqNRZMsnBy4WizCdTiGfz6vidffhqaw98Ha7hU6nA|v1OuCQfr8PLBV46ySB||bAeoL8qJ0GfHLA|D8P9OOmap|jJAXvq1mq12NB1lW404LL|GVqtD5QTPfwwZEJz|DtcXHwEDPf0z3|2mbw17oxvZjhIBgGz71LqFSqcQ6xK8wgT|AyZ0L|AMflNz3MiNYZXpXkKI2SDhfKw3V67xYwXAdGQJhT6lj77SqgbHP3ywMLMITeB8GIn84C9PJ3P5|vYPdGbxYLGAwGABv3k4aPkSIBYAZMg0tfBs4L6kP|yvy7OoKzt6dg3|UTJrQtABmpOHQThs8PGjbeuMrSuDmbdLLhTbAYZXTgJmTEMrBj|sbbs6yPb1KzMIewOJOWiLh7Nog85UH|7vxobO0bb12QYJrV4jCxZA56OuXb26Oq1pSwOGwTgtPz2gLvaRqv9gzOORXpAiyiywN3jdagXtlwaWACbnf9UWBxdRjbWmnLA1l3qK92kYs79UsOeCYaq3GrOAuokNGnC1SwLRWg4NpT37kpREwHUIwzb9HXs8LWKccZsKK|Nv24IBwYdkIGm5jB|8QuVEyh||WA2XDBqjVygfyvheJAaU9KA6cdoNt1A6ybIqrtMQqr9qhu|xmFdVNEtT1GYdUe1W0|o7Buiqi2xyis2qO67WcU1k0R1fb8BZv85KDCNGIQAAAAAElFTkSuQmCC|lnkEditImage|divTempContent|31px|235px|back|minus|Click|method|post|enctype|multipart||visibility|lnkImageLoader|IMAGE|CHANGE|WxH|Square|Circle|REPLACE|Re|embedding|uploading|needed|getItem|NaN|10000px|naturalHeight|bmp|alert|Please|parseMetaData|Orientation|innerWidth|innerHeight|scale|polaroid|24px|origin|700|revert|containment|scroll|applyLargerImage|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz|ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789|1e7|forEach||getScript|clearFields|date|datetime|email|month|number|password|tel|time|week|radio|selectedIndex|string|TR|Mso|zA|meta|st1|applet|noframes|noscript|Trident|round|765|black'.split('|'), 0, {}));\n\n/*! Mega pixel image rendering library for iOS6 Safari | Copyright (c) 2012 Shinichi Tomita <shinichi.tomita@gmail.com> | MIT license | https://github.com/stomita/ios-imagefile-megapixel */\neval(function (p, a, c, k, e, r) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function (e) { return r[e] } ]; e = function () { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('(n(){n 1n(h){9 p=h.U,m=h.M;f(p*m>1b*1b){9 e=O.Q(\\'e\\');e.a=e.b=1;9 c=e.W(\\'X\\');c.12(h,-p+1,0);y c.1h(0,0,1,1).11[3]===0}x{y 1Z}}n 1p(h,p,m){9 e=O.Q(\\'e\\');e.a=1;e.b=m;9 c=e.W(\\'X\\');c.12(h,0,0);9 11=c.1h(0,0,1,m).11;9 r=0;9 16=m;9 s=m;17(s>r){9 1q=11[(s-1)*4+3];f(1q===0){16=s}x{r=s}s=(16+r)>>1}9 18=(s/m);y(18===0)?1:18}n 1j(h,j,v){9 e=O.Q(\\'e\\');1c(h,e,j,v);y e.1X(\"1v/1w\",j.1V||0.8)}n 1c(h,e,j,v){9 p=h.U,m=h.M;f(!(p+m))y;9 a=j.a,b=j.b;9 c=e.W(\\'X\\');c.1U();1i(e,c,a,b,j.10);9 1k=1n(h);f(1k){p/=2;m/=2}9 d=1b;9 F=O.Q(\\'e\\');F.a=F.b=d;9 Z=F.W(\\'X\\');9 1u=v?1p(h,p,m):1;9 1d=w.1x(d*a/p);9 14=w.1x(d*b/m/1u);9 r=0;9 1a=0;17(r<m){9 P=0;9 19=0;17(P<p){Z.1S(0,0,d,d);Z.12(h,-P,-r);c.12(F,0,0,d,d,19,1a,1d,14);P+=d;19+=1d}r+=d;1a+=14}c.1Q();F=Z=T}n 1i(e,c,a,b,10){1m(10){o 5:o 6:o 7:o 8:e.a=b;e.b=a;q;1r:e.a=a;e.b=b}1m(10){o 2:c.C(a,0);c.Y(-1,1);q;o 3:c.C(a,b);c.L(w.G);q;o 4:c.C(0,b);c.Y(1,-1);q;o 5:c.L(0.5*w.G);c.Y(1,-1);q;o 6:c.L(0.5*w.G);c.C(0,-b);q;o 7:c.L(0.5*w.G);c.C(a,-b);c.Y(-1,1);q;o 8:c.L(-0.5*w.G);c.C(-a,0);q;1r:q}}9 t=u.t&&u.t.13?u.t:u.15&&u.15.13?u.15:T;n E(l){f(u.1l&&l 1P 1l){f(!t){1N 1M(\"1L 13 n 1K 1I 1H A 1G\");}9 h=1D 1C();h.1e=t.13(l);g.A=l;l=h}f(!l.U&&!l.M){9 I=g;l.1O=l.1B=n(){9 S=I.H;f(S){I.H=T;1y(9 i=0,1t=S.1E;i<1t;i++){S[i]()}}};g.H=[]}g.l=l}E.1F.1s=n(z,j,N){f(g.H){9 I=g;g.H.1J(n(){I.1s(z,j,N)});y}j=j||{};9 B=g.l.U,D=g.l.M,a=j.a,b=j.b,J=j.J,K=j.K,v=!g.A||g.A.1A===\\'1v/1w\\';f(a&&!b){b=(D*a/B)<<0}x f(b&&!a){a=(B*b/D)<<0}x{a=B;b=D}f(J&&a>J){a=J;b=(D*a/B)<<0}f(K&&b>K){b=K;a=(B*b/D)<<0}9 V={a:a,b:b};1y(9 k 1R j)V[k]=j[k];9 R=z.R.1T();f(R===\\'h\\'){z.1e=1j(g.l,V,v)}x f(R===\\'e\\'){1c(g.l,z,V,v)}f(1g g.1z===\\'n\\'){g.1z(z)}f(N){N()}f(g.A){g.A=T;t.1W(g.l.1e)}};f(1g 1f===\\'n\\'&&1f.1Y){1f([],n(){y E})}x f(1g 1o===\\'20\\'){21.1o=E}x{g.E=E}})();', 62, 126, '|||||||||var|width|height|ctx||canvas|if|this|img||options||srcImage|ih|function|case|iw|break|sy|py|URL|window|doSquash|Math|else|return|target|blob|imgWidth|translate|imgHeight|MegaPixImage|tmpCanvas|PI|imageLoadListeners|_this|maxWidth|maxHeight|rotate|naturalHeight|callback|document|sx|createElement|tagName|listeners|null|naturalWidth|opt|getContext|2d|scale|tmpCtx|orientation|data|drawImage|createObjectURL|dh|webkitURL|ey|while|ratio|dx|dy|1024|renderImageToCanvas|dw|src|define|typeof|getImageData|transformCoordinate|renderImageToDataURL|subsampled|Blob|switch|detectSubsampling|exports|detectVerticalSquash|alpha|default|render|len|vertSquashRatio|image|jpeg|ceil|for|onrender|type|onerror|Image|new|length|prototype|url|create|to|push|found|No|Error|throw|onload|instanceof|restore|in|clearRect|toLowerCase|save|quality|revokeObjectURL|toDataURL|amd|false|object|module'.split('|'), 0, {}));\n\n/*! jQuery UI Touch Punch 0.2.3 | Copyright 2011–2014, Dave Furfero | Dual licensed under the MIT or GPL Version 2 licenses. */\neval(function (p, a, c, k, e, r) { e = function (c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function (e) { return r[e] } ]; e = function () { return '\\\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\\\b' + e(c) + '\\\\b', 'g'), k[c]); return p } ('(7(4){4.w.8=\\'H\\'G p;c(!4.w.8){f}d 6=4.U.D.L,g=6.g,h=6.h,a;7 5(2,r){c(2.k.F.J>1){f}2.B();d 8=2.k.q[0],l=p.N(\\'O\\');l.S(r,i,i,V,1,8.W,8.X,8.Y,8.A,b,b,b,b,0,C);2.z.E(l)}6.m=7(2){d 3=e;c(a||!3.I(2.k.q[0])){f}a=i;3.j=b;5(2,\\'K\\');5(2,\\'s\\');5(2,\\'M\\')};6.n=7(2){c(!a){f}e.j=i;5(2,\\'s\\')};6.o=7(2){c(!a){f}5(2,\\'P\\');5(2,\\'Q\\');c(!e.j){5(2,\\'R\\')}a=b};6.g=7(){d 3=e;3.u.T({v:4.9(3,\\'m\\'),x:4.9(3,\\'n\\'),y:4.9(3,\\'o\\')});g.t(3)};6.h=7(){d 3=e;3.u.Z({v:4.9(3,\\'m\\'),x:4.9(3,\\'n\\'),y:4.9(3,\\'o\\')});h.t(3)}})(4);', 62, 62, '||event|self|jQuery|simulateMouseEvent|mouseProto|function|touch|proxy|touchHandled|false|if|var|this|return|_mouseInit|_mouseDestroy|true|_touchMoved|originalEvent|simulatedEvent|_touchStart|_touchMove|_touchEnd|document|changedTouches|simulatedType|mousemove|call|element|touchstart|support|touchmove|touchend|target|clientY|preventDefault|null|mouse|dispatchEvent|touches|in|ontouchend|_mouseCapture|length|mouseover|prototype|mousedown|createEvent|MouseEvents|mouseup|mouseout|click|initMouseEvent|bind|ui|window|screenX|screenY|clientX|unbind'.split('|'), 0, {}));\n\n/*! tinyColorPicker - v1.1.1 2016-08-30 | (c) 2016 Peter Dematté | MIT license | http://www.dematte.at/tinyColorPicker/ */\n!function (a, b) { \"object\" == typeof exports ? module.exports = b(a) : \"function\" == typeof define && define.amd ? define(\"colors\", [], function () { return b(a) }) : a.Colors = b(a) } (this, function (a, b) { \"use strict\"; function c(a, c, d, f, g) { if (\"string\" == typeof c) { var c = v.txt2color(c); d = c.type, p[d] = c[d], g = g !== b ? g : c.alpha } else if (c) for (var h in c) a[d][h] = k(c[h] / l[d][h][1], 0, 1); return g !== b && (a.alpha = k(+g, 0, 1)), e(d, f ? a : b) } function d(a, b, c) { var d = o.options.grey, e = {}; return e.RGB = { r: a.r, g: a.g, b: a.b }, e.rgb = { r: b.r, g: b.g, b: b.b }, e.alpha = c, e.equivalentGrey = n(d.r * a.r + d.g * a.g + d.b * a.b), e.rgbaMixBlack = i(b, { r: 0, g: 0, b: 0 }, c, 1), e.rgbaMixWhite = i(b, { r: 1, g: 1, b: 1 }, c, 1), e.rgbaMixBlack.luminance = h(e.rgbaMixBlack, !0), e.rgbaMixWhite.luminance = h(e.rgbaMixWhite, !0), o.options.customBG && (e.rgbaMixCustom = i(b, o.options.customBG, c, 1), e.rgbaMixCustom.luminance = h(e.rgbaMixCustom, !0), o.options.customBG.luminance = h(o.options.customBG, !0)), e } function e(a, b) { var c, e, k, q = b || p, r = v, s = o.options, t = l, u = q.RND, w = \"\", x = \"\", y = { hsl: \"hsv\", rgb: a }, z = u.rgb; if (\"alpha\" !== a) { for (var A in t) if (!t[A][A]) { a !== A && (x = y[A] || \"rgb\", q[A] = r[x + \"2\" + A](q[x])), u[A] || (u[A] = {}), c = q[A]; for (w in c) u[A][w] = n(c[w] * t[A][w][1]) } z = u.rgb, q.HEX = r.RGB2HEX(z), q.equivalentGrey = s.grey.r * q.rgb.r + s.grey.g * q.rgb.g + s.grey.b * q.rgb.b, q.webSave = e = f(z, 51), q.webSmart = k = f(z, 17), q.saveColor = z.r === e.r && z.g === e.g && z.b === e.b ? \"web save\" : z.r === k.r && z.g === k.g && z.b === k.b ? \"web smart\" : \"\", q.hueRGB = v.hue2RGB(q.hsv.h), b && (q.background = d(z, q.rgb, q.alpha)) } var B, C, D, E = q.rgb, F = q.alpha, G = \"luminance\", H = q.background; return B = i(E, { r: 0, g: 0, b: 0 }, F, 1), B[G] = h(B, !0), q.rgbaMixBlack = B, C = i(E, { r: 1, g: 1, b: 1 }, F, 1), C[G] = h(C, !0), q.rgbaMixWhite = C, s.customBG && (D = i(E, H.rgbaMixCustom, F, 1), D[G] = h(D, !0), D.WCAG2Ratio = j(D[G], H.rgbaMixCustom[G]), q.rgbaMixBGMixCustom = D, D.luminanceDelta = m.abs(D[G] - H.rgbaMixCustom[G]), D.hueDelta = g(H.rgbaMixCustom, D, !0)), q.RGBLuminance = h(z), q.HUELuminance = h(q.hueRGB), s.convertCallback && s.convertCallback(q, a), q } function f(a, b) { var c = {}, d = 0, e = b / 2; for (var f in a) d = a[f] % b, c[f] = a[f] + (d > e ? b - d : -d); return c } function g(a, b, c) { return (m.max(a.r - b.r, b.r - a.r) + m.max(a.g - b.g, b.g - a.g) + m.max(a.b - b.b, b.b - a.b)) * (c ? 255 : 1) / 765 } function h(a, b) { for (var c = b ? 1 : 255, d = [a.r / c, a.g / c, a.b / c], e = o.options.luminance, f = d.length; f--; ) d[f] = d[f] <= .03928 ? d[f] / 12.92 : m.pow((d[f] + .055) / 1.055, 2.4); return e.r * d[0] + e.g * d[1] + e.b * d[2] } function i(a, c, d, e) { var f = {}, g = d !== b ? d : 1, h = e !== b ? e : 1, i = g + h * (1 - g); for (var j in a) f[j] = (a[j] * g + c[j] * h * (1 - g)) / i; return f.a = i, f } function j(a, b) { var c = 1; return c = a >= b ? (a + .05) / (b + .05) : (b + .05) / (a + .05), n(100 * c) / 100 } function k(a, b, c) { return a > c ? c : b > a ? b : a } var l = { rgb: { r: [0, 255], g: [0, 255], b: [0, 255] }, hsv: { h: [0, 360], s: [0, 100], v: [0, 100] }, hsl: { h: [0, 360], s: [0, 100], l: [0, 100] }, alpha: { alpha: [0, 1] }, HEX: { HEX: [0, 16777215]} }, m = a.Math, n = m.round, o = {}, p = {}, q = { r: .298954, g: .586434, b: .114612 }, r = { r: .2126, g: .7152, b: .0722 }, s = function (a) { this.colors = { RND: {} }, this.options = { color: \"rgba(0,0,0,0)\", grey: q, luminance: r, valueRanges: l }, t(this, a || {}) }, t = function (a, d) { var e, f = a.options; u(a); for (var g in d) d[g] !== b && (f[g] = d[g]); e = f.customBG, f.customBG = \"string\" == typeof e ? v.txt2color(e).rgb : e, p = c(a.colors, f.color, b, !0) }, u = function (a) { o !== a && (o = a, p = a.colors) }; s.prototype.setColor = function (a, d, f) { return u(this), a ? c(this.colors, a, d, b, f) : (f !== b && (this.colors.alpha = k(f, 0, 1)), e(d)) }, s.prototype.setCustomBackground = function (a) { return u(this), this.options.customBG = \"string\" == typeof a ? v.txt2color(a).rgb : a, c(this.colors, b, \"rgb\") }, s.prototype.saveAsBackground = function () { return u(this), c(this.colors, b, \"rgb\", !0) }, s.prototype.toString = function (a, b) { return v.color2text((a || \"rgb\").toLowerCase(), this.colors, b) }; var v = { txt2color: function (a) { var b = {}, c = a.replace(/(?:#|\\)|%)/g, \"\").split(\"(\"), d = (c[1] || \"\").split(/,\\s*/), e = c[1] ? c[0].substr(0, 3) : \"rgb\", f = \"\"; if (b.type = e, b[e] = {}, c[1]) for (var g = 3; g--; ) f = e[g] || e.charAt(g), b[e][f] = +d[g] / l[e][f][1]; else b.rgb = v.HEX2rgb(c[0]); return b.alpha = d[3] ? +d[3] : 1, b }, color2text: function (a, b, c) { var d = c !== !1 && n(100 * b.alpha) / 100, e = \"number\" == typeof d && c !== !1 && (c || 1 !== d), f = b.RND.rgb, g = b.RND.hsl, h = \"hex\" === a && e, i = \"hex\" === a && !h, j = \"rgb\" === a || h, k = j ? f.r + \", \" + f.g + \", \" + f.b : i ? \"#\" + b.HEX : g.h + \", \" + g.s + \"%, \" + g.l + \"%\"; return i ? k : (h ? \"rgb\" : a) + (e ? \"a\" : \"\") + \"(\" + k + (e ? \", \" + d : \"\") + \")\" }, RGB2HEX: function (a) { return ((a.r < 16 ? \"0\" : \"\") + a.r.toString(16) + (a.g < 16 ? \"0\" : \"\") + a.g.toString(16) + (a.b < 16 ? \"0\" : \"\") + a.b.toString(16)).toUpperCase() }, HEX2rgb: function (a) { return a = a.split(\"\"), { r: +(\"0x\" + a[0] + a[a[3] ? 1 : 0]) / 255, g: +(\"0x\" + a[a[3] ? 2 : 1] + (a[3] || a[1])) / 255, b: +(\"0x\" + (a[4] || a[2]) + (a[5] || a[2])) / 255} }, hue2RGB: function (a) { var b = 6 * a, c = ~ ~b % 6, d = 6 === b ? 0 : b - c; return { r: n(255 * [1, 1 - d, 0, 0, d, 1][c]), g: n(255 * [d, 1, 1, 1 - d, 0, 0][c]), b: n(255 * [0, 0, d, 1, 1, 1 - d][c])} }, rgb2hsv: function (a) { var b, c, d, e = a.r, f = a.g, g = a.b, h = 0; return g > f && (f = g + (g = f, 0), h = -1), c = g, f > e && (e = f + (f = e, 0), h = -2 / 6 - h, c = m.min(f, g)), b = e - c, d = e ? b / e : 0, { h: 1e-15 > d ? p && p.hsl && p.hsl.h || 0 : b ? m.abs(h + (f - g) / (6 * b)) : 0, s: e ? b / e : p && p.hsv && p.hsv.s || 0, v: e} }, hsv2rgb: function (a) { var b = 6 * a.h, c = a.s, d = a.v, e = ~ ~b, f = b - e, g = d * (1 - c), h = d * (1 - f * c), i = d * (1 - (1 - f) * c), j = e % 6; return { r: [d, h, g, g, i, d][j], g: [i, d, d, h, g, g][j], b: [g, g, i, d, d, h][j]} }, hsv2hsl: function (a) { var b = (2 - a.s) * a.v, c = a.s * a.v; return c = a.s ? 1 > b ? b ? c / b : 0 : c / (2 - b) : 0, { h: a.h, s: a.v || c ? c : p && p.hsl && p.hsl.s || 0, l: b / 2} }, rgb2hsl: function (a, b) { var c = v.rgb2hsv(a); return v.hsv2hsl(b ? c : p.hsv = c) }, hsl2rgb: function (a) { var b = 6 * a.h, c = a.s, d = a.l, e = .5 > d ? d * (1 + c) : d + c - c * d, f = d + d - e, g = e ? (e - f) / e : 0, h = ~ ~b, i = b - h, j = e * g * i, k = f + j, l = e - j, m = h % 6; return { r: [e, l, f, f, k, e][m], g: [k, e, e, l, f, f][m], b: [f, f, k, e, e, l][m]} } }; return s }), function (a, b) { \"object\" == typeof exports ? module.exports = b(a, require(\"jquery\"), require(\"colors\")) : \"function\" == typeof define && define.amd ? define([\"jquery\", \"colors\"], function (c, d) { return b(a, c, d) }) : b(a, a.jQuery, a.Colors) } (this, function (a, b, c, d) { \"use strict\"; function e(a) { return a.value || a.getAttribute(\"value\") || b(a).css(\"background-color\") || \"#FFF\" } function f(a) { return a = a.originalEvent && a.originalEvent.touches ? a.originalEvent.touches[0] : a, a.originalEvent ? a.originalEvent : a } function g(a) { return b(a.find(r.doRender)[0] || a[0]) } function h(c) { var d = b(this), f = d.offset(), h = b(a), k = r.gap; c ? (s = g(d), s._colorMode = s.data(\"colorMode\"), p.$trigger = d, (t || i()).css(r.positionCallback.call(p, d) || { left: (t._left = f.left) - ((t._left += t._width - (h.scrollLeft() + h.width())) + k > 0 ? t._left + k : 0), top: (t._top = f.top + d.outerHeight()) - ((t._top += t._height - (h.scrollTop() + h.height())) + k > 0 ? t._top + k : 0) }).show(r.animationSpeed, function () { c !== !0 && (y.toggle(!!r.opacity)._width = y.width(), v._width = v.width(), v._height = v.height(), u._height = u.height(), q.setColor(e(s[0])), n(!0)) }).off(\".tcp\").on(D, \".cp-xy-slider,.cp-z-slider,.cp-alpha\", j)) : p.$trigger && b(t).hide(r.animationSpeed, function () { n(!1), p.$trigger = null }).off(\".tcp\") } function i() { return b(\"head\")[r.cssPrepend ? \"prepend\" : \"append\"]('<style type=\"text/css\" id=\"tinyColorPickerStyles\">' + (r.css || I) + (r.cssAddon || \"\") + \"</style>\"), b(H).css({ margin: r.margin }).appendTo(\"body\").show(0, function () { p.$UI = t = b(this), F = r.GPU && t.css(\"perspective\") !== d, u = b(\".cp-z-slider\", this), v = b(\".cp-xy-slider\", this), w = b(\".cp-xy-cursor\", this), x = b(\".cp-z-cursor\", this), y = b(\".cp-alpha\", this), z = b(\".cp-alpha-cursor\", this), r.buildCallback.call(p, t), t.prepend(\"<div>\").children().eq(0).css(\"width\", t.children().eq(0).width()), t._width = this.offsetWidth, t._height = this.offsetHeight }).hide() } function j(a) { var c = this.className.replace(/cp-(.*?)(?:\\s*|$)/, \"$1\").replace(\"-\", \"_\"); (a.button || a.which) > 1 || (a.preventDefault && a.preventDefault(), a.returnValue = !1, s._offset = b(this).offset(), (c = \"xy_slider\" === c ? k : \"z_slider\" === c ? l : m)(a), n(), A.on(E, function () { A.off(\".tcp\") }).on(C, function (a) { c(a), n() })) } function k(a) { var b = f(a), c = b.pageX - s._offset.left, d = b.pageY - s._offset.top; q.setColor({ s: c / v._width * 100, v: 100 - d / v._height * 100 }, \"hsv\") } function l(a) { var b = f(a).pageY - s._offset.top; q.setColor({ h: 360 - b / u._height * 360 }, \"hsv\") } function m(a) { var b = f(a).pageX - s._offset.left, c = b / y._width; q.setColor({}, \"rgb\", c) } function n(a) { var b = q.colors, c = b.hueRGB, e = (b.RND.rgb, b.RND.hsl, r.dark), f = r.light, g = q.toString(s._colorMode, r.forceAlpha), h = b.HUELuminance > .22 ? e : f, i = b.rgbaMixBlack.luminance > .22 ? e : f, j = (1 - b.hsv.h) * u._height, k = b.hsv.s * v._width, l = (1 - b.hsv.v) * v._height, m = b.alpha * y._width, n = F ? \"translate3d\" : \"\", p = s[0].value, t = s[0].hasAttribute(\"value\") && \"\" === p && a !== d; v._css = { backgroundColor: \"rgb(\" + c.r + \",\" + c.g + \",\" + c.b + \")\" }, w._css = { transform: n + \"(\" + k + \"px, \" + l + \"px, 0)\", left: F ? \"\" : k, top: F ? \"\" : l, borderColor: b.RGBLuminance > .22 ? e : f }, x._css = { transform: n + \"(0, \" + j + \"px, 0)\", top: F ? \"\" : j, borderColor: \"transparent \" + h }, y._css = { backgroundColor: \"#\" + b.HEX }, z._css = { transform: n + \"(\" + m + \"px, 0, 0)\", left: F ? \"\" : m, borderColor: i + \" transparent\" }, s._css = { backgroundColor: t ? \"\" : g, color: t ? \"\" : b.rgbaMixBGMixCustom.luminance > .22 ? e : f }, s.text = t ? \"\" : p !== g ? g : \"\", a !== d ? o(a) : G(o) } function o(a) { v.css(v._css), w.css(w._css), x.css(x._css), y.css(y._css), z.css(z._css), r.doRender && s.css(s._css), s.text && s.val(s.text), r.renderCallback.call(p, s, \"boolean\" == typeof a ? a : d) } var p, q, r, s, t, u, v, w, x, y, z, A = b(document), B = b(), C = \"touchmove.tcp mousemove.tcp pointermove.tcp\", D = \"touchstart.tcp mousedown.tcp pointerdown.tcp\", E = \"touchend.tcp mouseup.tcp pointerup.tcp\", F = !1, G = a.requestAnimationFrame || a.webkitRequestAnimationFrame || function (a) { a() }, H = '<div class=\"cp-color-picker\"><div class=\"cp-z-slider\"><div class=\"cp-z-cursor\"></div></div><div class=\"cp-xy-slider\"><div class=\"cp-white\"></div><div class=\"cp-xy-cursor\"></div></div><div class=\"cp-alpha\"><div class=\"cp-alpha-cursor\"></div></div></div>', I = \".cp-color-picker{position:absolute;overflow:hidden;padding:6px 6px 0;background-color:#444;color:#bbb;font-family:Arial,Helvetica,sans-serif;font-size:12px;font-weight:400;cursor:default;border-radius:5px}.cp-color-picker>div{position:relative;overflow:hidden}.cp-xy-slider{float:left;height:128px;width:128px;margin-bottom:6px;background:linear-gradient(to right,#FFF,rgba(255,255,255,0))}.cp-white{height:100%;width:100%;background:linear-gradient(rgba(0,0,0,0),#000)}.cp-xy-cursor{position:absolute;top:0;width:10px;height:10px;margin:-5px;border:1px solid #fff;border-radius:100%;box-sizing:border-box}.cp-z-slider{float:right;margin-left:6px;height:128px;width:20px;background:linear-gradient(red 0,#f0f 17%,#00f 33%,#0ff 50%,#0f0 67%,#ff0 83%,red 100%)}.cp-z-cursor{position:absolute;margin-top:-4px;width:100%;border:4px solid #fff;border-color:transparent #fff;box-sizing:border-box}.cp-alpha{clear:both;width:100%;height:16px;margin:6px 0;background:linear-gradient(to right,#444,rgba(0,0,0,0))}.cp-alpha-cursor{position:absolute;margin-left:-4px;height:100%;border:4px solid #fff;border-color:#fff transparent;box-sizing:border-box}\", J = function (a) { q = this.color = new c(a), r = q.options, p = this }; J.prototype = { render: n, toggle: h }, b.fn.colorPicker = function (c) { var d = this, f = function () { }; return c = b.extend({ animationSpeed: 150, GPU: !0, doRender: !0, customBG: \"#FFF\", opacity: !0, renderCallback: f, buildCallback: f, positionCallback: f, body: document.body, scrollResize: !0, gap: 4, dark: \"#222\", light: \"#DDD\" }, c), !p && c.scrollResize && b(a).on(\"resize.tcp scroll.tcp\", function () { p.$trigger && p.toggle.call(p.$trigger[0], !0) }), B = B.add(this), this.colorPicker = p || new J(c), this.options = c, b(c.body).off(\".tcp\").on(D, function (a) { -1 === B.add(t).add(b(t).find(a.target)).index(a.target) && h() }), this.on(\"focusin.tcp click.tcp\", function (a) { p.color.options = b.extend(p.color.options, r = d.options), h.call(this, a) }).on(\"change.tcp\", function () { q.setColor(this.value || \"#FFF\"), d.colorPicker.render(!0) }).each(function () { var a = e(this), d = a.split(\"(\"), f = g(b(this)); f.data(\"colorMode\", d[1] ? d[0].substr(0, 3) : \"HEX\").attr(\"readonly\", r.preventFocus), c.doRender && f.css({ \"background-color\": a, color: function () { return q.setColor(a).rgbaMixBGMixCustom.luminance > .22 ? c.dark : c.light } }) }) }, b.fn.colorPicker.destroy = function () { b(\"*\").off(\".tcp\"), p.toggle(!1), B = b() } });\n\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/fonts.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Fonts</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">  \n    <style>\n        body {overflow:hidden;margin:0;\n            font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n            font-size:100%; \n            line-height:1.7;\n        }\n        #divFontList {margin:0;padding:7px;height:213px;overflow-y:scroll !important;box-sizing:border-box;}\n        #divFontList div {width:100%;border:transparent 1px solid;cursor:pointer;overflow:hidden;text-align:center}\n        #divFontList div img {margin:7px 3px 0px 5px;height:21px}\n        #divFontList div:hover {\n             border: rgba(228, 156, 90, 0.6) solid 1px; \n            /*border: rgba(0,0,0,0.7) solid 1px;*/\n            -webkit-transition: all 0.3s ease-in-out;\n            -moz-transition: all 0.3s ease-in-out;\n            transition: all 0.3s ease-in-out;\n        }\n        #divFontList div.on {\n            border: rgba(228, 156, 90, 0.6) solid 1px;  \n        }\n    </style>\n</head>\n<body>\n<div id=\"divFontList\">\n\n<div data-provider=\"\" data-font-family=\"\" style=\"font-size:12px;padding:10px 7px;box-sizing:border-box;\">None</div>\n<div data-provider=\"\" data-font-family=\"Arial, sans-serif\"><img src=\"fonts/arial.png\"></div>\n<div data-provider=\"\" data-font-family=\"Helvetica Neue, Helvetica, Arial, sans-serif\"><img src=\"fonts/helvetica_neue.png\"></div>\n<div data-provider=\"\" data-font-family=\"Georgia, serif\"><img src=\"fonts/georgia.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Abel, sans-serif\"><img src=\"fonts/abel.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Abril Fatface\"><img src=\"fonts/abril_fatface.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Advent Pro, sans-serif\" data-font-style=\"300\"><img src=\"fonts/advent_pro.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Aladin, cursive\"><img src=\"fonts/aladin.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Alegreya Sans SC\" data-font-style=\"300,700\"><img src=\"fonts/alegreya_sans_sc.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Allerta Stencil, sans-serif\"><img src=\"fonts/allerta_stencil.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Allura, cursive\"><img src=\"fonts/allura.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Almendra Display, cursive\"><img src=\"fonts/almendra_display.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Amatic SC\" data-font-style=\"400,700\"><img src=\"fonts/amatic_sc.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Architects Daughter, cursive\"><img src=\"fonts/architects_daughter.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Assistant\" data-font-style=\"300,700\"><img src=\"fonts/assistant.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Aubrey, cursive\"><img src=\"fonts/aubrey.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Anton, sans-serif\"><img src=\"fonts/anton.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Archivo Narrow, sans-serif\"><img src=\"fonts/archivo_narrow.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Bad Script, cursive\"><img src=\"fonts/bad_script.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"BenchNine, sans-serif\"><img src=\"fonts/benchNine.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Bevan, cursive\"><img src=\"fonts/bevan.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Bigelow Rules, cursive\"><img src=\"fonts/bigelow_rules.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Bilbo, cursive\"><img src=\"fonts/bilbo.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Bonbon, cursive\"><img src=\"fonts/bonbon.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Bowlby One SC, cursive\"><img src=\"fonts/bowlby_one_sc.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Cabin Condensed, sans-serif\"><img src=\"fonts/cabin_condensed.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Carrois Gothic SC, sans-serif\"><img src=\"fonts/carrois_gothic_sc.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Chewy, cursive\"><img src=\"fonts/chewy.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Cinzel, serif\"><img src=\"fonts/cinzel.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Comfortaa, cursive\" data-font-style=\"300\"><img src=\"fonts/comfortaa.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Concert One, cursive\"><img src=\"fonts/concert_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Cousine\" data-font-style=\"400,700\"><img src=\"fonts/cousine.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Crafty Girls, cursive\"><img src=\"fonts/crafty_girls.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Cutive Mono\"><img src=\"fonts/cutive_mono.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Devonshire, cursive\"><img src=\"fonts/devonshire.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Didact Gothic, sans-serif\"><img src=\"fonts/didact_gothic.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Diplomata SC, cursive\"><img src=\"fonts/diplomata_sc.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Dosis, sans-serif\" data-font-style=\"200\"><img src=\"fonts/dosis.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Elsie\" data-font-style=\"400,900\"><img src=\"fonts/elsie.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Encode Sans\" data-font-style=\"300,700\"><img src=\"fonts/encode_sans.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Exo, sans-serif\" data-font-style=\"100\"><img src=\"fonts/exo.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Felipa, cursive\"><img src=\"fonts/felipa.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Fjalla One, sans-serif\"><img src=\"fonts/fjalla_one.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Forum, cursive\"><img src=\"fonts/forum.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Frank Ruhl Libre\" data-font-style=\"300,700\"><img src=\"fonts/frank_ruhl_libre.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Fredericka the Great, cursive\"><img src=\"fonts/fredericka_the_great.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Gilda Display, serif\"><img src=\"fonts/gilda_display.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Give You Glory, cursive\"><img src=\"fonts/give_you_glory.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Gruppo, cursive\"><img src=\"fonts/gruppo.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Handlee, cursive\"><img src=\"fonts/handlee.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Happy Monkey, cursive\"><img src=\"fonts/happy_monkey.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Hind\" data-font-style=\"300,700\"><img src=\"fonts/hind.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Iceland, cursive\"><img src=\"fonts/iceland.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Inconsolata\" data-font-style=\"400,700\"><img src=\"fonts/inconsolata.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Josefin Sans, sans-serif\" data-font-style=\"300,700\"><img src=\"fonts/josefin_sans.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Julee\"><img src=\"fonts/julee.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Julius Sans One, sans-serif\"><img src=\"fonts/julius_sans_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Junge, serif\"><img src=\"fonts/junge.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Just Me Again Down Here, cursive\"><img src=\"fonts/just_me_again_down_here.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Kaushan Script, cursive\"><img src=\"fonts/kaushan_script.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Kite One, sans-serif\"><img src=\"fonts/kite_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Lato\" data-font-style=\"300,700\"><img src=\"fonts/lato.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Lekton\" data-font-style=\"400,700\"><img src=\"fonts/lekton.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Life Savers, cursive\"><img src=\"fonts/life_savers.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Lobster\"><img src=\"fonts/lobster.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Lobster Two, cursive\"><img src=\"fonts/lobster_two.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Londrina Shadow, cursive\"><img src=\"fonts/londrina_shadow.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Lora\" data-font-style=\"400,700\"><img src=\"fonts/lora.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Lovers Quarrel, cursive\"><img src=\"fonts/lovers_quarrel.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Macondo, cursive\"><img src=\"fonts/macondo.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Marcellus SC, serif\"><img src=\"fonts/marcellus_sc.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Martel\" data-font-style=\"300,700\"><img src=\"fonts/martel.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Maven Pro, sans-serif\"><img src=\"fonts/maven_pro.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Merriweather, serif\" data-font-style=\"300,700\"><img src=\"fonts/merriweather.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Merriweather Sans\" data-font-style=\"300,700\"><img src=\"fonts/merriweather_sans.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Monoton, cursive\"><img src=\"fonts/monoton.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Montez, cursive\"><img src=\"fonts/montez.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Montserrat\" data-font-style=\"300,400,700\"><img src=\"fonts/montserrat.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Montserrat Subrayada, sans-serif\"><img src=\"fonts/montserrat_subrayada.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Muli\" data-font-style=\"300,700\"><img src=\"fonts/muli.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Neuton\" data-font-style=\"200,700\"><img src=\"fonts/neuton.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Nixie One, cursive\"><img src=\"fonts/nixie_one.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Nothing You Could Do, cursive\"><img src=\"fonts/nothing_you_could_do.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Nunito Sans\"><img src=\"fonts/nunito-sans.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Open Sans, sans-serif\" data-font-style=\"300,400,600,800\"><img src=\"fonts/open_sans.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Oranienbaum, serif\"><img src=\"fonts/oranienbaum.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Oswald, sans-serif\" data-font-style=\"300,400,700\"><img src=\"fonts/oswald.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Oxygen\" data-font-style=\"300,700\"><img src=\"fonts/oxygen.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Passion One, cursive\"><img src=\"fonts/passion_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Pathway Gothic One\"><img src=\"fonts/pathway_gothic_one.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Petit Formal Script, cursive\"><img src=\"fonts/petit_formal_script.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Philosopher, sans-serif\"><img src=\"fonts/philosopher.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Playfair Display\" data-font-style=\"400,400i,700\"><img src=\"fonts/playfair_display.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Poiret One, cursive\"><img src=\"fonts/poiret_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Pompiere, cursive\"><img src=\"fonts/pompiere.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Poppins\" data-font-style=\"400,600\"><img src=\"fonts/poppins.png\"></div>\n<div data-provider=\"google\" data-font-family=\"PT Serif\" data-font-style=\"400,700\"><img src=\"fonts/pt_serif.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Quattrocento Sans, sans-serif\"><img src=\"fonts/quattrocento_sans.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Quattrocento, serif\"><img src=\"fonts/quattrocento.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Quicksand, sans-serif\"><img src=\"fonts/quicksand.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Qwigley, cursive\"><img src=\"fonts/qwigley.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Raleway, sans-serif\" data-font-style=\"100\"><img src=\"fonts/raleway.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Raleway Dots, sans-serif\"><img src=\"fonts/raleway_dots.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Redressed, cursive\"><img src=\"fonts/redressed.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Ribeye Marrow, cursive\"><img src=\"fonts/ribeye_marrow.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Righteous, cursive\"><img src=\"fonts/righteous.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Roboto, sans-serif\" data-font-style=\"300\"><img src=\"fonts/roboto.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Roboto Mono\" data-font-style=\"300,700\"><img src=\"fonts/roboto_mono.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Rochester\"><img src=\"fonts/rochester.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Rouge Script, cursive\"><img src=\"fonts/rouge_script.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Sacramento, cursive\"><img src=\"fonts/sacramento.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Sanchez, serif\"><img src=\"fonts/sanchez.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Satisfy, cursive\"><img src=\"fonts/satisfy.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Seaweed Script, cursive\"><img src=\"fonts/seaweed_script.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Seymour One, sans-serif\"><img src=\"fonts/seymour_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Shadows Into Light Two, cursive\"><img src=\"fonts/shadows_into_light_two.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Six Caps\"><img src=\"fonts/six_caps.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Snowburst One, cursive\"><img src=\"fonts/snowburst_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Source Code Pro\" data-font-style=\"300,700\"><img src=\"fonts/source_code_pro.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Source Sans Pro, sans-serif\" data-font-style=\"200\"><img src=\"fonts/source_sans_pro.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Special Elite, cursive\"><img src=\"fonts/special_elite.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Squada One, cursive\"><img src=\"fonts/squada_one.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Stint Ultra Expanded, cursive\"><img src=\"fonts/stint_ultra_expanded.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Syncopate, sans-serif\"><img src=\"fonts/syncopate.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Tangerine, cursive\"><img src=\"fonts/tangerine.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Tenor Sans, sans-serif\"><img src=\"fonts/tenor_sans.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Ubuntu Mono\" data-font-style=\"400,700\"><img src=\"fonts/ubuntu_mono.png\"></div>\n<div data-provider=\"google\" data-font-family=\"UnifrakturMaguntia, cursive\"><img src=\"fonts/unifrakturmaguntia.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Vast Shadow, cursive\"><img src=\"fonts/vast_shadow.png\"></div>\n<div data-provider=\"google\" data-font-family=\"Viga, sans-serif\"><img src=\"fonts/viga.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Voltaire, sans-serif\"><img src=\"fonts/voltaire.jpg\"></div>\n<div data-provider=\"google\" data-font-family=\"Wire One, sans-serif\"><img src=\"fonts/wire_one.png\"></div>\n\n</div>\n\n<script src=\"jquery.min.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#divFontList div\").click(function () {\n            window.parent.focus();\n            if ($(this).hasClass('on')) {\n                $('.md-pickfontfamily', window.parent.document).attr('data-font-family', '');\n                $('.md-pickfontfamily', window.parent.document).attr('data-font-style', '');\n                $('.md-pickfontfamily', window.parent.document).attr('data-provider', '');\n            } else {\n                $('.md-pickfontfamily', window.parent.document).attr('data-font-family', $(this).data('font-family'));\n                var s = '';\n                if ($(this).data('font-style')) {\n                    s = $(this).data('font-style');\n                }\n                $('.md-pickfontfamily', window.parent.document).attr('data-font-style', s);\n                $('.md-pickfontfamily', window.parent.document).attr('data-provider', $(this).data('provider'));\n            }\n            $('.md-pickfontfamily', window.parent.document).click();\n        });\n\n    });\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/fontsize.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Font Size</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">  \n    <style>\n        body {\n            font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n            font-size:100%; \n            line-height:1.7;\n        }\n        #divFontSize {margin:15px 0;padding:0 5px 0 7px;}\n        #divFontSize div {width:100%;border:transparent 1px solid;padding:7px 15px;box-sizing:border-box;text-align:center;cursor:pointer;overflow:hidden;}\n        #divFontSize div:hover {\n            border: rgba(228, 156, 90, 0.6) solid 1px;\n            /* border: rgba(0,0,0,0.7) solid 1px; */\n            -webkit-transition: all 0.3s ease-in-out;\n            -moz-transition: all 0.3s ease-in-out;\n            transition: all 0.3s ease-in-out;\n        }\n        #divFontSize div span {\n            font-size: 12px !important;\n            vertical-align: text-top;\n            margin-left: 7px;\n            line-height: 1;\n        }\n    </style>\n</head>\n<body>\n<div id=\"divFontSize\">\n<div data-font-size=\"\" style=\"font-size: 12px\">Default</div>\n<div data-font-size=\"10px\" style=\"font-size: 12px\">10<span>px</span></div>\n<div data-font-size=\"11px\" style=\"font-size: 13px\">11<span>px</span></div>\n<div data-font-size=\"12px\" style=\"font-size: 14px\">12<span>px</span></div>\n<div data-font-size=\"14px\" style=\"font-size: 15px\">14<span>px</span></div>\n<div data-font-size=\"16px\" style=\"font-size: 16px\">16<span>px</span></div>\n<div data-font-size=\"18px\" style=\"font-size: 18px\">18<span>px</span></div>\n<div data-font-size=\"20px\" style=\"font-size: 20px\">20<span>px</span></div>\n<div data-font-size=\"22px\" style=\"font-size: 22px\">22<span>px</span></div>\n<div data-font-size=\"24px\" style=\"font-size: 24px\">24<span>px</span></div>\n<div data-font-size=\"28px\" style=\"font-size: 28px\">28<span>px</span></div>\n<div data-font-size=\"32px\" style=\"font-size: 32px\">32<span>px</span></div>\n<div data-font-size=\"36px\" style=\"font-size: 36px\">36<span>px</span></div>\n<div data-font-size=\"40px\" style=\"font-size: 40px\">40<span>px</span></div>\n<div data-font-size=\"45px\" style=\"font-size: 42px\">45<span>px</span></div>\n<div data-font-size=\"50px\" style=\"font-size: 44px\">50<span>px</span></div>\n<div data-font-size=\"55px\" style=\"font-size: 46px\">55<span>px</span></div>\n<div data-font-size=\"60px\" style=\"font-size: 48px\">60<span>px</span></div>\n<div data-font-size=\"65px\" style=\"font-size: 50px\">65<span>px</span></div>\n<div data-font-size=\"70px\" style=\"font-size: 52px\">70<span>px</span></div>\n<div data-font-size=\"75px\" style=\"font-size: 54px\">75<span>px</span></div>\n<div data-font-size=\"80px\" style=\"font-size: 56px\">80<span>px</span></div>\n<div data-font-size=\"85px\" style=\"font-size: 58px\">85<span>px</span></div>\n<div data-font-size=\"90px\" style=\"font-size: 60px\">90<span>px</span></div>\n\n</div>\n\n<script src=\"jquery.min.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#divFontSize div\").click(function () {\n            window.parent.focus();\n            $('.md-pickfontsize', window.parent.document).attr('data-font-size', $(this).data('font-size'));\n            $('.md-pickfontsize', window.parent.document).click();\n        });\n\n    });\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/headings.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Headings</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">  \n    <style>\n        body {overflow:hidden;margin:0;\n            font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n            font-size:85%; \n            line-height:1.7;\n        }\n        #divHeadings {margin:0;padding:7px;height:213px;overflow-y:scroll !important;box-sizing:border-box;}\n        #divHeadings div {width:100%;border:transparent 1px solid;padding:5px 7px;box-sizing:border-box;text-align:center;cursor:pointer;overflow:hidden;}\n        #divHeadings div:hover {\n            border: rgba(228, 156, 90, 0.6) solid 1px; \n            /* border: rgba(0,0,0,0.7) solid 1px; */\n            -webkit-transition: all 0.3s ease-in-out;\n            -moz-transition: all 0.3s ease-in-out;\n            transition: all 0.3s ease-in-out;\n        }\n        #divHeadings div span {\n            font-size: 12px !important;\n            vertical-align: text-top;\n            margin-left: 7px;\n            line-height: 1;\n        }\n        h1,h2,h3,h4,h5,h6,p,blockquote {margin:0;white-space:nowrap}\n        #divHeadings div.on {\n            border: rgba(228, 156, 90, 0.6) solid 1px;  \n        }\n    </style>\n</head>\n<body>\n<div id=\"divHeadings\">\n\n<div data-heading=\"h1\"><h1>Heading 1</h1></div>\n<div data-heading=\"h2\"><h2>Heading 2</h2></div>\n<div data-heading=\"h3\"><h3>Heading 3</h3></div>\n<div data-heading=\"h4\"><h4>Heading 4</h4></div>\n<div data-heading=\"p\"><p>Paragraph</p></div>\n<!--<div data-heading=\"blockquote\"><blockquote>Blockquote</blockquote></div>-->\n<div data-heading=\"pre\"><blockquote>Formatted (pre)</blockquote></div>\n\n</div>\n\n<script src=\"jquery.min.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#divHeadings div\").click(function () {\n            window.parent.focus();\n            $('.md-pickheading', window.parent.document).attr('data-heading', $(this).data('heading'));\n            $('.md-pickheading', window.parent.document).click();\n        });\n\n    });\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/LICENSE.txt",
    "content": "Font license info\n\n\n## Font Awesome\n\n   Copyright (C) 2016 by Dave Gandy\n\n   Author:    Dave Gandy\n   License:   SIL ()\n   Homepage:  http://fortawesome.github.com/Font-Awesome/\n\n\n## Modern Pictograms\n\n   Copyright (c) 2012 by John Caserta. All rights reserved.\n\n   Author:    John Caserta\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://thedesignoffice.org/project/modern-pictograms/\n\n\n## Entypo\n\n   Copyright (C) 2012 by Daniel Bruce\n\n   Author:    Daniel Bruce\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://www.entypo.com\n\n\n## MFG Labs\n\n   Copyright (C) 2012 by Daniel Bruce\n\n   Author:    MFG Labs\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://www.mfglabs.com/\n\n\n## Elusive\n\n   Copyright (C) 2013 by Aristeides Stathopoulos\n\n   Author:    Aristeides Stathopoulos\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://aristeides.com/\n\n\n## Fontelico\n\n   Copyright (C) 2012 by Fontello project\n\n   Author:    Crowdsourced, for Fontello project\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://fontello.com\n\n\n## Web Symbols\n\n   Copyright (c) 2011 by Just Be Nice studio. All rights reserved.\n\n   Author:    Just Be Nice studio\n   License:   SIL (http://scripts.sil.org/OFL)\n   Homepage:  http://www.justbenicestudio.com/\n\n\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/README.txt",
    "content": "This webfont is generated by http://fontello.com open source project.\n\n\n================================================================================\nPlease, note, that you should obey original font licenses, used to make this\nwebfont pack. Details available in LICENSE.txt file.\n\n- Usually, it's enough to publish content of LICENSE.txt file somewhere on your\n  site in \"About\" section.\n\n- If your project is open-source, usually, it will be ok to make LICENSE.txt\n  file publicly available in your repository.\n\n- Fonts, used in Fontello, don't require a clickable link on your site.\n  But any kind of additional authors crediting is welcome.\n================================================================================\n\n\nComments on archive content\n---------------------------\n\n- /font/* - fonts in different formats\n\n- /css/*  - different kinds of css, for all situations. Should be ok with \n  twitter bootstrap. Also, you can skip <i> style and assign icon classes\n  directly to text elements, if you don't mind about IE7.\n\n- demo.html - demo file, to show your webfont content\n\n- LICENSE.txt - license info about source fonts, used to build your one.\n\n- config.json - keeps your settings. You can import it back into fontello\n  anytime, to continue your work\n\n\nWhy so many CSS files ?\n-----------------------\n\nBecause we like to fit all your needs :)\n\n- basic file, <your_font_name>.css - is usually enough, it contains @font-face\n  and character code definitions\n\n- *-ie7.css - if you need IE7 support, but still don't wish to put char codes\n  directly into html\n\n- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face\n  rules, but still wish to benefit from css generation. That can be very\n  convenient for automated asset build systems. When you need to update font -\n  no need to manually edit files, just override old version with archive\n  content. See fontello source code for examples.\n\n- *-embedded.css - basic css file, but with embedded WOFF font, to avoid\n  CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.\n  We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`\n  server headers. But if you ok with dirty hack - this file is for you. Note,\n  that data url moved to separate @font-face to avoid problems with <IE9, when\n  string is too long.\n\n- animate.css - use it to get ideas about spinner rotation animation.\n\n\nAttention for server setup\n--------------------------\n\nYou MUST setup server to reply with proper `mime-types` for font files -\notherwise some browsers will fail to show fonts.\n\nUsually, `apache` already has necessary settings, but `nginx` and other\nwebservers should be tuned. Here is list of mime types for our file extensions:\n\n- `application/vnd.ms-fontobject` - eot\n- `application/x-font-woff` - woff\n- `application/x-font-ttf` - ttf\n- `image/svg+xml` - svg\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/config.json",
    "content": "{\n  \"name\": \"fontello\",\n  \"css_prefix_text\": \"icon-\",\n  \"css_use_suffix\": false,\n  \"hinting\": true,\n  \"units_per_em\": 1000,\n  \"ascent\": 850,\n  \"glyphs\": [\n    {\n      \"uid\": \"f9cbf7508cd04145ade2800169959eef\",\n      \"css\": \"font\",\n      \"code\": 59675,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"02cca871bb69da75e8ee286b7055832c\",\n      \"css\": \"bold\",\n      \"code\": 59665,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"a8cb1c217f02b073db3670c061cc54d2\",\n      \"css\": \"italic\",\n      \"code\": 59649,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"d4a4a38a40b728f46dad1de4ac950231\",\n      \"css\": \"underline\",\n      \"code\": 59664,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"3a3b33acd5fe66d84ff303baf9d8efa8\",\n      \"css\": \"align-left\",\n      \"code\": 59654,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"3c4b20e86f774f150402354b9cfeb95b\",\n      \"css\": \"align-center\",\n      \"code\": 59655,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"4d622484db3311a1a7322aae6b253984\",\n      \"css\": \"align-right\",\n      \"code\": 59656,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"55f7ab3f2bedec72e8400fa2798a7a1a\",\n      \"css\": \"align-justify\",\n      \"code\": 59657,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"yc4vm9xepijcjyfdp6mgkvju8engb212\",\n      \"css\": \"zoom-in\",\n      \"code\": 59401,\n      \"src\": \"modernpics\"\n    },\n    {\n      \"uid\": \"itjusjx5w85jr0udgi40mz7x2kmj1360\",\n      \"css\": \"zoom-out\",\n      \"code\": 59402,\n      \"src\": \"modernpics\"\n    },\n    {\n      \"uid\": \"d7271d490b71df4311e32cdacae8b331\",\n      \"css\": \"home\",\n      \"code\": 59392,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"594e9271c08ff732c04b3bf3117b9040\",\n      \"css\": \"indent-left\",\n      \"code\": 59650,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"4d2dfc45d8176b1f26aed973fa84a91e\",\n      \"css\": \"indent-right\",\n      \"code\": 59651,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"d35a1d35efeb784d1dc9ac18b9b6c2b6\",\n      \"css\": \"pencil\",\n      \"code\": 59663,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"b6f32db98a3de777f5ae3005191b1831\",\n      \"css\": \"code\",\n      \"code\": 59667,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"c709da589c923ba3c2ad48d9fc563e93\",\n      \"css\": \"cancel\",\n      \"code\": 59671,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"3b6f20ef4c4940aeaed84d973b2f6e64\",\n      \"css\": \"fontsize\",\n      \"code\": 59648,\n      \"src\": \"mfglabs\"\n    },\n    {\n      \"uid\": \"d10920db2e79c997c5e783279291970c\",\n      \"css\": \"dot\",\n      \"code\": 59680,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"1b5a5d7b7e3c71437f5a26befdd045ed\",\n      \"css\": \"doc\",\n      \"code\": 59684,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"5bb103cd29de77e0e06a52638527b575\",\n      \"css\": \"wrench\",\n      \"code\": 59698,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"d862a10e1448589215be19702f98f2c1\",\n      \"css\": \"smile\",\n      \"code\": 59702,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"1dcd2b2148b7f086a4eb47f6a746bdee\",\n      \"css\": \"unlink\",\n      \"code\": 59652,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"85017ab6ca074831a8de771b40e9640c\",\n      \"css\": \"camera\",\n      \"code\": 59660,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"70370693ada58ef0a60fa0984fe8d52a\",\n      \"css\": \"plus\",\n      \"code\": 59668,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"381da2c2f7fd51f8de877c044d7f439d\",\n      \"css\": \"picture\",\n      \"code\": 59677,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"f48ae54adfb27d8ada53d0fd9e34ee10\",\n      \"css\": \"trash\",\n      \"code\": 59681,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"e99461abfef3923546da8d745372c995\",\n      \"css\": \"cog\",\n      \"code\": 59685,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"884cfc3e6e2d456dd2a2ca0dbb9e6337\",\n      \"css\": \"left-open-big\",\n      \"code\": 59689,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"004882ab2d5c418c5b2060e80596279b\",\n      \"css\": \"right-open-big\",\n      \"code\": 59696,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"26613a2e6bc41593c54bead46f8c8ee3\",\n      \"css\": \"file-code\",\n      \"code\": 59699,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"af95ef0ddda80a78828c62d386506433\",\n      \"css\": \"cubes\",\n      \"code\": 59703,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"0ddd3e8201ccc7d41f7b7c9d27eca6c1\",\n      \"css\": \"link\",\n      \"code\": 59653,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"dea46bc85920f9a05bf7c7251fb10f10\",\n      \"css\": \"move\",\n      \"code\": 59661,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"9bd60140934a1eb9236fd7a8ab1ff6ba\",\n      \"css\": \"spin\",\n      \"code\": 59669,\n      \"src\": \"fontelico\"\n    },\n    {\n      \"uid\": \"83458acd9f38d03ec0226ce82a83c0f4\",\n      \"css\": \"tint\",\n      \"code\": 59673,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"4e88371fb8857dacc1f66afe6314e426\",\n      \"css\": \"superscript\",\n      \"code\": 59678,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"3d1c929dbc966992185ce749548c1b2c\",\n      \"css\": \"subscript\",\n      \"code\": 59679,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"in76hg99crrkpcbz2rjnmgbiw74s72y0\",\n      \"css\": \"ok\",\n      \"code\": 59682,\n      \"src\": \"modernpics\"\n    },\n    {\n      \"uid\": \"c835a3a0692cca9dffde9a8a561da938\",\n      \"css\": \"off\",\n      \"code\": 59686,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"8fb55fd696d9a0f58f3b27c1d8633750\",\n      \"css\": \"table\",\n      \"code\": 59700,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"39c4d0e225a1263a398a47523cb5b9bd\",\n      \"css\": \"brush\",\n      \"code\": 59704,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"f6766a8b042c2453a4e153af03294383\",\n      \"css\": \"list-numbered\",\n      \"code\": 59658,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"a2a74f5e7b7d9ba054897d8c795a326a\",\n      \"css\": \"list-bullet\",\n      \"code\": 59659,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"ebc57fa8400e4ede049ac5dc665210e1\",\n      \"css\": \"eraser\",\n      \"code\": 59662,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"61c242c9e2134d5864d7fdd57b3c9289\",\n      \"css\": \"strike\",\n      \"code\": 59666,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"922ab2cb66943a83de969990289ef1dc\",\n      \"css\": \"docs\",\n      \"code\": 59670,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"0c708edd8fae2376b3370aa56d40cf9e\",\n      \"css\": \"header\",\n      \"code\": 59674,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"9a76bc135eac17d2c8b8ad4a5774fc87\",\n      \"css\": \"download\",\n      \"code\": 59683,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"1256e3054823e304d7e452a589cf8bb8\",\n      \"css\": \"minus\",\n      \"code\": 59687,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"872d9516df93eb6b776cc4d94bd97dac\",\n      \"css\": \"video\",\n      \"code\": 59697,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"333bae7aaf7395d1004875be5a075661\",\n      \"css\": \"ticket\",\n      \"code\": 59701,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"b6fc2f656ef87275889422e19550680a\",\n      \"css\": \"back\",\n      \"code\": 59688,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"c3e5dafba1739ef33cc574c7484febf7\",\n      \"css\": \"quote\",\n      \"code\": 59430,\n      \"src\": \"entypo\"\n    },\n    {\n      \"uid\": \"545d79e9787941a08fb80642102850d4\",\n      \"css\": \"color\",\n      \"code\": 59672,\n      \"src\": \"elusive\"\n    },\n    {\n      \"uid\": \"21b42d3c3e6be44c3cc3d73042faa216\",\n      \"css\": \"sliders\",\n      \"code\": 61918,\n      \"src\": \"fontawesome\"\n    },\n    {\n      \"uid\": \"9ecf5170254e332a2c92cbbe85df94a8\",\n      \"css\": \"font-family\",\n      \"code\": 59705,\n      \"src\": \"websymbols\"\n    },\n    {\n      \"uid\": \"2c26914ed707706773028b28e8aa5bd6\",\n      \"css\": \"uppercase\",\n      \"code\": 59712,\n      \"src\": \"elusive\"\n    }\n  ]\n}"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/css/animation.css",
    "content": "/*\n   Animation example, for spinners\n*/\n.animate-spin {\n  -moz-animation: spin 2s infinite linear;\n  -o-animation: spin 2s infinite linear;\n  -webkit-animation: spin 2s infinite linear;\n  animation: spin 2s infinite linear;\n  display: inline-block;\n}\n@-moz-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@-webkit-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@-o-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@-ms-keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n@keyframes spin {\n  0% {\n    -moz-transform: rotate(0deg);\n    -o-transform: rotate(0deg);\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  100% {\n    -moz-transform: rotate(359deg);\n    -o-transform: rotate(359deg);\n    -webkit-transform: rotate(359deg);\n    transform: rotate(359deg);\n  }\n}\n"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/css/fontello-codes.css",
    "content": "\n.cb-icon-home:before { content: '\\e800'; } /* '' */\n.cb-icon-zoom-in:before { content: '\\e809'; } /* '' */\n.cb-icon-zoom-out:before { content: '\\e80a'; } /* '' */\n.cb-icon-quote:before { content: '\\e826'; } /* '' */\n.cb-icon-fontsize:before { content: '\\e900'; } /* '' */\n.cb-icon-italic:before { content: '\\e901'; } /* '' */\n.cb-icon-indent-left:before { content: '\\e902'; } /* '' */\n.cb-icon-indent-right:before { content: '\\e903'; } /* '' */\n.cb-icon-unlink:before { content: '\\e904'; } /* '' */\n.cb-icon-link:before { content: '\\e905'; } /* '' */\n.cb-icon-align-left:before { content: '\\e906'; } /* '' */\n.cb-icon-align-center:before { content: '\\e907'; } /* '' */\n.cb-icon-align-right:before { content: '\\e908'; } /* '' */\n.cb-icon-align-justify:before { content: '\\e909'; } /* '' */\n.cb-icon-list-numbered:before { content: '\\e90a'; } /* '' */\n.cb-icon-list-bullet:before { content: '\\e90b'; } /* '' */\n.cb-icon-camera:before { content: '\\e90c'; } /* '' */\n.cb-icon-move:before { content: '\\e90d'; } /* '' */\n.cb-icon-eraser:before { content: '\\e90e'; } /* '' */\n.cb-icon-pencil:before { content: '\\e90f'; } /* '' */\n.cb-icon-underline:before { content: '\\e910'; } /* '' */\n.cb-icon-bold:before { content: '\\e911'; } /* '' */\n.cb-icon-strike:before { content: '\\e912'; } /* '' */\n.cb-icon-code:before { content: '\\e913'; } /* '' */\n.cb-icon-plus:before { content: '\\e914'; } /* '' */\n.cb-icon-spin:before { content: '\\e915'; } /* '' */\n.cb-icon-docs:before { content: '\\e916'; } /* '' */\n.cb-icon-cancel:before { content: '\\e917'; } /* '' */\n.cb-icon-color:before { content: '\\e918'; } /* '' */\n.cb-icon-tint:before { content: '\\e919'; } /* '' */\n.cb-icon-header:before { content: '\\e91a'; } /* '' */\n.cb-icon-font:before { content: '\\e91b'; } /* '' */\n.cb-icon-picture:before { content: '\\e91d'; } /* '' */\n.cb-icon-superscript:before { content: '\\e91e'; } /* '' */\n.cb-icon-subscript:before { content: '\\e91f'; } /* '' */\n.cb-icon-dot:before { content: '\\e920'; } /* '' */\n.cb-icon-trash:before { content: '\\e921'; } /* '' */\n.cb-icon-ok:before { content: '\\e922'; } /* '' */\n.cb-icon-download:before { content: '\\e923'; } /* '' */\n.cb-icon-doc:before { content: '\\e924'; } /* '' */\n.cb-icon-cog:before { content: '\\e925'; } /* '' */\n.cb-icon-off:before { content: '\\e926'; } /* '' */\n.cb-icon-minus:before { content: '\\e927'; } /* '' */\n.cb-icon-back:before { content: '\\e928'; } /* '' */\n.cb-icon-left-open-big:before { content: '\\e929'; } /* '' */\n.cb-icon-right-open-big:before { content: '\\e930'; } /* '' */\n.cb-icon-video:before { content: '\\e931'; } /* '' */\n.cb-icon-wrench:before { content: '\\e932'; } /* '' */\n.cb-icon-file-code:before { content: '\\e933'; } /* '' */\n.cb-icon-table:before { content: '\\e934'; } /* '' */\n.cb-icon-ticket:before { content: '\\e935'; } /* '' */\n.cb-icon-smile:before { content: '\\e936'; } /* '' */\n.cb-icon-cubes:before { content: '\\e937'; } /* '' */\n.cb-icon-brush:before { content: '\\e938'; } /* '' */\n.cb-icon-font-family:before { content: '\\e939'; } /* '' */\n.cb-icon-uppercase:before { content: '\\e940'; } /* '' */\n.cb-icon-sliders:before { content: '\\f1de'; } /* '' */"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/css/fontello-embedded.css",
    "content": "@font-face {\n  font-family: 'fontello';\n  src: url('../font/fontello-58694627.eot');\n  src: url('../font/fontello-58694627.eot#iefix') format('embedded-opentype'),\n       url('../font/fontello-58694627.svg#fontello') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n@font-face {\n  font-family: 'fontello';\n  src: url('data:application/octet-stream;base64,d09GRgABAAAAADSkAA8AAAAAVwgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAAQwAAAFY+L1LqY21hcAAAAdgAAAGvAAAEuF45MBBjdnQgAAADiAAAABMAAAAgBt3+5mZwZ20AAAOcAAAFkAAAC3CKkZBZZ2FzcAAACSwAAAAIAAAACAAAABBnbHlmAAAJNAAAJnEAAD2I5ObWEWhlYWQAAC+oAAAAMwAAADYQkVrUaGhlYQAAL9wAAAAgAAAAJAexBJBobXR4AAAv/AAAAIEAAADoyX//B2xvY2EAADCAAAAAdgAAAHbFn7PabWF4cAAAMPgAAAAgAAAAIAHFDGhuYW1lAAAxGAAAAXcAAALNzJ0eIHBvc3QAADKQAAABlgAAAlTp04JwcHJlcAAANCgAAAB6AAAAhuVBK7x4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgZK5knMDAysDAVMW0h4GBoQdCMz5gMGRkAooysDIzYAUBaa4pDA4vGD7eYw76n8UQxRzGsBQozAiSAwD4QgygAHic5dRJUhtREIThvyUhkBCTmJGZQSCPYqZ3rH0Mn8HH8wl8CNadSzZeOQLnI2FjH8Hd8SlCVdHqF1FZAmaAtn20DlS/qSjXL1erl3qb/ku9w09/H7LsSquh6TdjjTRRrYenx+dncK3nGtrV9K3211X5+SFrvr/yje++S63lX+z4JF1mmaPn980zYIFFlvy2FT+x6ifW2WCTLbbZYcQ7dtljnwMOOeKYE04Zc8Y5E97zwef+xGe+MOWCS6645oZb7rin9iu7/5zs/7sG5aP14/VbXeYXZe5NLzwbTzpKTppxlKyIKBlSFZ4haoWnidrhuaJOeMJoJkq21A1PHc1GOZ3mwklAvXAmUD+cDjQfzgkahBODFsLZQYvhFKGlcJ7QcjhZaCWcMTQMpw2thnOH1sIJROvhLKKNcCrRZjifaCucVLQdzizaCacXjcI59t6EE432wtlG++GUo4Nw3tFhOPnoKLwD6Di8DegkvBfoNLwhaBzeFXQW3hp0HuX/QJPwJqFpeKfQRXi70GVQ+ldB6V8HpX8TlP5tUPp3QenfB6VfB6X/EN5bnh6D+g9/qJ9AAHicY2BAAxIQyBz2PxqEARI6A8cAeJytVml300YUHXlJnIQsJQstamHExGmwRiZswYAJQbJjIF2crZWgixQ76b7xid/gX/Nk2nPoN35a7xsvJJC053Cak6N3583VzNtlElqS2AvrkZSbL8XU1iaN7DwJ6YZNy1F8KDt7IWWKyd8FURCtltq3HYdERCJQta6wRBD7HlmaZHzoUUbLtqRXTcotPekuW+NBvVXffho6yrE7oaRmM3RoPbIlVRhVokimPVLSpmWo+itJK7y/wsxXzVDCiE4iabwZxtBI3htntMpoNbbjKIpsstwoUiSa4UEUeZTVEufkigkMygfNkPLKpxHlw/yIrNijnFawS7bT/L4vead3OT+xX29RtuRAH8iO7ODsdCVfhFtbYdy0k+0oVBF213dCbNnsVP9mj/KaRgO3KzK90IxgqXyFECs/ocz+IVktnE/5kkejWrKRE0HrZU7sSz6B1uOIKXHNGFnQ3dEJEdT9kjMM9pg+Hvzx3imWCxMCeBzLekclnAgTKWFzNEnaMHJgJWWLKqn1rpg45XVaxFvCfu3a0ZfOaONQd2I8Ww8dWzlRyfFoUqeZTJ3aSc2jKQ2ilHQmeMyvAyg/oklebWM1iZVH0zhmxoREIgIt3EtTQSw7saQpBM2jGb25G6a5di1apMkD9dyj9/TmVri501PaDvSzRn9Wp2I62AvT6WnkL/Fp2uUiRen66Rl+TOJB1gIykS02w5SDB2/9DtLL15YchdcG2O7t8yuofdZE8KQB+xvQHk/VKQlMhZhViFZAYq1rWZbJ1awWqcjUd0OaVr6s0wSKchwXx76Mcf1fMzOWmBK+34nTsyMuPXPtSwjTHHybdT2a16nFcgFxZnlOp1mW7+s0x/IDneZZntfpCEtbp6MsP9RpgeVHOh1jeUELmnTfwZCLMOQCDpAwhKUDQ1hegiEsFQxhuQhDWBZhCMslGMLyYxjCchmGsLysZdXUU0nj2plYBmxCYGKOHrnMReVqKrlUQrtoVGpDnhJulVQUz6p/ZaBePPKGObAWSJfIml8xzpWPRuX41hUtbxo7V8Cx6m8fjvY58VLWi4U/Bf/V1lQlvWLNw5Or8BuGnmwnqjapeHRNl89VPbr+X1RUWAv0G0iFWCjKsmxwZyKEjzqdhmqglUPMbMw8tOt1y5qfw/03MUIWUP34NxQaC9yDTllJWe3grNXX27LcO4NyOBMsSTE38/pW+CIjs9J+kVnKno98HnAFjEpl2GoDrRW82ScxD5neJM8EcVtRNkja2M4EiQ0c84B5850EJmHqqg3kTuGGDfgFYW7BeSdconqjLIfuRezzKKT8W6fiRPaoaIzAs9kbYa/vQspvcQwkNPmlfgxUFaGpGDUV0DRSbqgGX8bZum1Cxg70Iyp2w7Ks4sPHFveVkm0ZhHykiNWjo5/WXqJOqtx+ZhSX752+BcEgNTF/e990cZDKu1rJMkdtA1O3GpVT15pD41WH6uZR9b3j7BM5a5puuiceel/TqtvBxVwssPZtDtJSJhfU9WGFDaLLxaVQ6mU0Se+4BxgWGNDvUIqN/6v62HyeK1WF0XEk307Ut9HnYAz8D9h/R/UD0Pdj6HINLs/3mhOfbvThbJmuohfrp+g3MGutuVm6BtzQdAPiIUetjrjKDXynBnF6pLkc6SHgY90V4gHAJoDF4BPdtYzmUwCj+Yw5PsDnzGHQZA6DLeYw2GbOGsAOcxjsMofBHnMYfMGcdYAvmcMgZA6DiDkMnjAnAHjKHAZfMYfB18xh8A1z7gN8yxwGMXMYJMxhsK/p1jDMLV7QXaC2QVWgA1NPWNzD4lBTZcj+jheG/b1BzP7BIKb+qOn2kPoTLwz1Z4OY+otBTP1V050h9TdeGOrvBjH1D4OY+ky/GMtlBr+MfJcKB5RdbD7n74n3D9vFQLkAAQAB//8AD3icxXsLdBvHee78M/vGYrEAFgsQBEEQT4oPkARAgCYpCqIoUQ+KkiiKJmWKohVLliVLciTFT0lJLcVx85BcpfFxfJ2H017XN3FuY/umPcfObXpSJadN21j1bdWc3DZ15DaVmybNyVV8HVVc3X8WoCTbcuKk6bkgsbuzOzM7888///99/wwIJeTKz9hp+nVikh6Sr7bns5lIyGd4FWA6EKCjAjBgBwheH6BAyK621lSyxW+JYrgd/JYkp3pToVQym/OrYFdkTCdzKkjZLsiWK1AuNENvqTwABbsJwrbFArZx7tQ5nwWwHP+OJEWZyqJzzDkme8WUQEX4rUB38GFN2ato90vQ6vwUs547ZxvgA8V5A9JLRGzOsPNHmHWJZIgw7vO9905F05RXdwkmIYRd+fSV/0u/ysKkibSRMllWHWwwKRFhlFCgB4goEEEk+zDnfgYgCDCBJxCmJBBAWFvuLRULPd1d+c6Odjski1a7P5vLVoagUg7b/E+Sm8E2aBc1IJfNDEGeGjROy7libzFUDKEgelM3Wfg5PL5+/fhA2Qokug79hl9o7bMfbK08umY9DLQ3N285eGhLPL7l0ME3bhvZsWPkNtD6N6wf23CYF+wvj695tNz6oN23hJkP3pVvDloH2g8e3MJLHZyKx/9l587qbbfxfn4K+/k/WcTtZ560VjO8nxT7SSi5CweOwgQBoFO832trHWLvvkMtoZb+kGWFDm8YWz/eX7aCifxB7MiSyrWOYBeudgQ053XejbH179yNtkO1bvAyl7YT3k4+YBZ9mgRJjo+UKiiMMHJABkbZAQkotn9S4l2ZFvESxkIWkHQy3hRrtHKhnGloqiKTIAQ17FiwELZR/aRUb6FSzmVRJUvllhvcO306mx3f+EgiedeqcszMD05NwStvu0WfPv3Rzz2dVlbdOTWYnj4y/eYUb7bb9v9GP0IM4icWGa+u8wMQC7DtQBnDYQCCs0aGA6okYHfoXUQRmTJBZCIyWZwjisKmCFPYWkKCAdOH9Rh+/AT8mhht7w0WG6EYTOVSMv9Wijko5l49ffaBW07ORz/U+FLbufZ1n1gLH5/r6qFbF74Nq5yHx8buu++fv+381cP4YnLlWTrAPKSf9FV7TZy6+XadMUJHGwBWYtspYXQfoXQ/zwuTqCdkmjd47KbeUveOuCDa7aHKEK2Ul0E5sBSVIlcJx6FYwLQkGyBLPuBH6qNSCLVIkpMSyjaFApY1vSPtM9EK9HuTHZq2ont1c2Nfa5kq/o2WyEQqUN+IGlAFUOeoLEUkc9i3PhsrjncLmi4HM5/7NCQtQ5Eo7UepUSbYMclSNW9Yi6sTztn85rytacwXaaY6iDgE4pUrV95gr2FfvTgTOslSsp7cXJ0cXbWMKWqlK88k1OvmOOYVw7YPx0EYJSpRQFXmZey1JII0h0YBCBPJPOFvnCCM8VnD6Np1a7PZMH7sMGpYU3sQzR23ayWUSsGGkCXlWpLZCtq3SkvBzl2XDtfTcj1drKdT1+U/p/nEJ0X892ksoCmXB2UdNIWdcU8LT7onuv0Gqety0qTzVUxgJab4WVFzxva6j/bKGuhnF6/x+C33joRGVXuJH2o5yJvkZ5A42pEhMk6mq1tWj1ZRfn3dXYqAVjiXaJZRgJGw+UsKcGxdTYCRkOUK0PKBhBLwl7hf+A9L8Az22Ye9431n6V9RhPCgguLTFFiuaFiP86+/nAgVPtfYk9hpDwmTNOrfFrKD7Cf3kx9Wm/aAT70NdGXNTVTU8uhmgjqVWcBLJSKNrvtSduN0dZL4VEX1KfuIoXt0w7OPgMDQ5aKHQsNFpH1YryZ6tHkiEgFEYR7th4QTZ57PYkZn0Yyo00RV9dVE173TxOvV9TWN1YlfWC2OoY5j+Iuqv1bpTDV67z0H37vvztt3zW/fOj2xqTkcTqdDdihg4tCi50/WJ4YVxnFCQICjhGNmSe3AzS6HAKI7/jiD0JzYBcxc6oKKzTVBzmWT+MxqBvnqDMP74mLpSrE24ZLZpcCrDV/3up+ekgyPdBIPM5qpgGboxzTlOT5EeKBf657Ifyj/gq4/9Jgv75swzU9qlucrXc7vffAxs8OspfUXu7omuh7qekGHfZryPC+KB+esZmr4/yrWr4mnRMPzsVOix5BOiprRtJhJe5/C82gbh7s2dXW/qAe1T/p8m8wO3+Mf9Ohf6YYJ7ZOmb8LXYX7yIV1/sfuD+Yl814v6MC+ETYXWxXZqs27d/MB9y5UX2GNsDYmRATJL/nc12g+qePMoJULQQ0Fmo1PtVF2FA0VXrfuShmrUjU5FFcSd6HAogZ04ukRWcT4KRAZBvhUNvkSlWZyYyjRqjM7WNNbUr8DLMVHdxwvKQPe9i5LVvrcVUnD2K2z+7YUliU6in5GmeS1jMzNVY2Y6HI61hiPRiGsSMqgC2aSM3qUZcLYn89DlqoGrHuA+9NVvVHJ5yi1DgWtMMz5d1KZSJVc717XGksPumXWah828aSOQpQlbMQzBDpqHfJ046s49vkO14T/sy/vDTBPiYdWQPYKiBeCiqzKH8j093R/qOlxTjaupL4R9h82AzUzJh40WNMH2532H+ZjDZ2zzUG2wD/uwTsNQ7QQIKBjV43dOugpyqOtD3T09WM1DXBEO5x+upQhKjFz5PXaB2Tj6Mk5KH9lUHSeSB2RBkueIoAG6TkQNVAU+M+cI99kTaMBhSsErWKvriiJgLbpP5+jdo3g0VZAFWRKxRubXxVB7qLcllLnuyy5cjtBbFz7DQpd/QIWZJ5748RNP/ASPn/rUz2sP5e3hzRB4M3jDCG/Yr9gewK9YP2N7HmShhRG6Y+Ev3fbAebdBcJ636P9bm36AbfoMyunyL9em/9xxu/Z987hJ2J496M/Xk2YXC21DrnOU7qhWts5sYZbvnv3UsA6A1+gGWbm9q41pgdEYZeKyJoN50NUDMjAC6uh20MJBdABoXnQ0E3Mh0AJ+VdtJBOZhwk5CPQjRdxLL8FqTtkmNIHgVw4uglsgBRZ4nAeJXA35uECRRlbYTJohskiM2DxU9c8TnQ39VA52I27gxasG3bL/BW9Dc7fs1viaDr5n9db+GY2g00/g2H39HG75jm/uOgObf95/ykvqAXKsfHfyv8wUz+Kl2jI8nEg/cd+jg3jvec+v4tvFts7dMbNq4Yd2aFcOJpYmlgwPpRtsfiARTyTAa8jC33rmKjSShtyTnOHOo9CalHFLiYkiOQzCUyvaWhlillJWTcm4I2YQdsgwqF3vFOu7jrp3jPOBlekuV3pQk5yrFkFjHfYvPWR0XLqb/ZqhjMN0cS5iRAUMwIpqmptWBF3pjSfimEEu22oi4GqwubznR2pfNZ2GUrUc8uJU7XvqUrF/+4YuDAGK4dWyAjV//AK5PlDsLkOlpMM2U0CwFmr0K0tH4lp7lUhsMz1haUz4eiXgNExItsUS+NZaPxn3J5+rwUdF0+HFf34rOsKxZbaPf+/adsqbJ/AD2NVRZm7t/zV6j/4xD5ictyOv7yVqyvTo7MjjANE+pgypqYxDNCbJLhG2SR5vjcI1xuIZwjnI4h0YGZ+Y8wWFFXodmELH53DV+t3pVdVlfORNE1ha0ggGdIzdLykNpCOxeDq9K1zEbLl+Os+H6Bz9vIM4NbR26+s9JzfVSvtHdN4m42lGlg7ODtPqTTrcK5wfXQXFKFm/eWHjcDn+LXaA/QtmlkQdWyK7qezQgiIKJss8LnLDAXgKSCtJelIusivK84KEUJUfVeR0kxiScDZLEpgmT2FhXPpvRVCClQr7SVWlbkunMdiaaouGAT01rKVFACqQYotWOsLYmngzqs78mn16/i3dxCqBUEIgUoVAuZZOSZbsXqWQIry5Wp6aPTE/Dt9r6+9suv9I6ONh6b0yPa3GYxIMecy7sPn367OnTcM6wLCNtw9d49iPTj/a3OUM8N3ytrT8+G4vNxhe+wzOePQ1H7JiVNC3uXlw/cAF5SZisrA57AGGhDgIJe6kosFG09CsDII5Q7oMOSIj8xbsYEHREE3giwhTiNyKs9Qf8Fn4Dihhr91dCLf5UJZzyt/SG5d4Wf1HOFf0toWcgeM8zz9wDwWeecX7Ir5wfwtyb08/wPITQK86VnwkF+ieopWHSWW3jHu6AGygRwA1Y4QnoNI9YjRFiB3XV9YEi+sBMpUUGW5LBFXDOjS26tuLiV5zNX2HnVclwdDvhbA4lNUUy4GIoAV8Mpat/+7d0JtjmWzgTsS0808GI7erKs2w9vYIzziINqC8PVRHLUbHJNmSB0QZkuYSHBYmALC2A5jxHRCoe4IzowGKbgbxHqgUQJR5AvBnpk7CusZp9e05y4O0ZZ6oBQloSyKiRp2EzJEvGToYrOTlUDEEplcSOhqxiAXuZC0Oql2PdXMVFtX9eOF5cDdt1UXD+SvAi8+5i8QtO9wW23tp2YZs1YB+35OLx4uAolXTBeVnAI+SF915wul6Dx5tC216bDYWO26QWf0M5zCD3nyV3wtZ1X1Kxqw0lEzGAH4iY76QC2TVHEY+M3oT60lijGm4GesMMP6fwzEyt+jzOSE1RdxJN24/TEMRJiXJG42EoF84cEA1Noh5ytiEoY/V3Fq8vxVWZmzYq8thgrSi9YdHAr/DCaletgLbvXZbgrrIJyJ7dO+Y3b0Lr2lvsScStgE+WGJmFWZ2HJpHTlouFMDrHSrlSqMhhCUdYCuFo8hise9f96y1x/oPqzUe7GLaRJocsHsCUpSaweF43YUAKiVKO291cFnrRorQkeQYbZ0S5MSRQ2ZdsWhvsyi/3N/sBWtItHhkU1mAle3oGupsjjZql6oKCYFkLRvoU6DrYvkJDvbeXMAWQr+iKL7Sk7b5N206s8KqqQS9pyuU/52aa9SKjPgfQw5E22g5liWjIw5/91Mr2lmDU1AKW2ZxYcnNH38aeloxu4VzulqgCtix4UZ+Z4vN5JM/L+5a2RdMtzZnS5IrOm1+4w7Au/1uaV84PLvd9lgVRJy30f9vJ+uraJSlK2SaszEBb1QESzkp0ajjJBMKogKwT9QFNxjw6UIlMol5L0/g2Io21t7dvb59ZtXJkWeuSSosiRtozKOveUi4voPhRsGiGGd4ZorlSnuaSsmXzuxbw+PgQy1Z6TZ41V05XCnalEEd3ZzCEMjI/JTmMgfKSzMthXzZbaku0miCwcDY/Uo5Don8oG+vE+e78L1DHLQHJr0B1asWjMUYrYKzxFry5tasKiUA0n26aOgyt1a2zpYYdDQN3QeDFaiaSDGhImgeaZkMleFQw0tWuXH/SADl2V1Nn3Ig6rJcaimzaRkxM03RERJ4t5EFDUGIkO9bmmgrxpGlY+zf3bS236VRAcdRi1ijbC4yzlB6c8++pziexzTrOHqCjGl7isCKCFHmMWt5HZESOyl4eLEZNmVfR5BGRTwBFkpRJoiic1SvSmGkSMjW5fqw6VCyYPWZPaxZtrI8YWQ+aNHfh5zrUUEHl5uG8Qm35IcTtWpZH5tHcuXfCcvGqzss4TdzpwBW9t9LLg9DhOMURQ6XPZdk5rjaXB92j6W38xG/FhtND2Dgml2PxnpHqurX3ZPtbrOP/JIS9jdaSjiWdI9XO8YQiAtzkVyXB6hlpTW8pdgZhDtWP4wrUwXSwoVLYecojW6HOkaTmo+Lm5uLyniVrU3qD6T1lNw3d1NwYjDZqujesyKKsDDZmrQZoDVliojXSNJLtajUX1zYu0MeReDQQ5csNfq9KO9vBxg6HbexfToWyiGAkl12GEqiU4Yhpvv66acbjzh9DNQ5jMOR8LRFPJN54I5GI0yNGWn/lvJ424qhdEMdc551X4vFE/PwreHD9Pb50hH6ABEkvD+sQ7oWA3oW6x53VJD8TmGbc4Y8B8ZuG7lFlVEu+fiK7QAa/ISu5FI1LaQAFXGgCmo3HX77tZX6AR2pnfuCvunLlyi3sXxBfNJPl3JcL3CyP9gCM1OfjPnztfg4mdLIG0NdZQdIMzQJ/E9o+uad8bQlKwnF116SyOW7W3Of4V9MHGw1jD6a4mnC/j5my8JObN02OTN255/Y9G4ZbWqSMETWLfqbRFGSyj8zd4ogRn4B0FudGdvUtD9xz39Fbeea9mDkhZhAfBNhEU/ymlSErntgwPLX5+U1LGk3wM5+09U9mtj2SzTg/MgXUbZ5afUs6GWnYdF3eUIsRcIf3yhtXdrMfsylikyhJEu0PmxqjkaDI+DjLzIBcJg/LAJuOtiRTtpshE8wwCGaCto+yb2aVR4WY6ewxTSHyP1q1z2pZ+IYZE4YXLj8CDz8C5RPOuTEteyYKr2jphb82DWG/EDNmu7U03ZrW7xcM8+LWhfN7aOzyc/CvE873k3ppV10P4BzdQZpIvNqIiEYS+Kogw+GhB/gU3mVFraDgGkOLh81kKZnjoTM8uACjwmOqPoAzgXQhcOJEoBAwzQ9/2DQDtVQ68OGvBQpJ87HH3FtPfNrNgKlkIfDpGqa4A/ViM+JwHxmoEfsQYcwl4UjH+WIeaoYXkMUGuKpQmL36mK2Z+QM/8hLePH8JDTzFbwX9mj8pQRaegFbBecWZdc6f+tbHT5+FuZcgS53vOnPOdylkXzp9lp45W8c1b9AB1oXj0kXS1ZZrSMxdF+XrXXWUGbOiDa4sSjkUBVe+pGxQHwdfdqGcsQy0PiW+DMY9AnDrw8I2xD2I/SVToBYIpq6onrb+Dog99aOnoFNo7msY8omxeEwwh7qrrPMlK6iH1ISuqt645dGDVlNb2857nqKff9+m1WJ+Mnt/ybSoGSjdPzYrjtZw+7Ps62ijj/E1xZnJEpPEMApJwTnFRhUQVJmKkiDOI2oEKsE8Gn3s8iSeKMHpjb0fu/++uw7s3Tm/fXrLhvG1I4ftpfMe7KOYzLrLdJUSX9lzsQOaZR/iijhaaZe/1zL0uhl6c36cayVXKnmQsBhCFxSKy9ulJM5IJJEIOGpVuaHZtz4PXq2afaFhR2FHg9eEQDShBkAOOQ/bMoTUZNwC3Rfd3TOH9Dlgx/EZpwICVUQlGbFBN6K7u+dtwwhEY5oFsg8eMmQIavmYYURu65qPGIYVQc8NQTURC4C+QRAi3oBJJcmz4ju6yNgrG3RJMANGBPgTvykIsndFM3zD5zWwQg3xqkDrj6P8saiPn6EInZ8b1yWq29c98K5f+MkwVhYwjUgdOz+J4ySTjeT5qjpUblGRmcNoDbG2uRsmiIhUQuRLrUgrhL0yemlhP+HqzkOAfP2XsLUIVD1vK4HmVGJU2otIRnp7iV+meoSnQUVRNiobx9atXTPQ35Zq3KSIdjvILvLMomILlUYohoNcvdE5uQccwjCHOFKqtIzyYA7+50pZvk8gbPFgvV3hbjrJPXdOgk9sH+tv9oS6nV7wpmMxWzrxxGrpYHDCVrtNj+IZUwUKqZPptidCdA0CY79AsenJcOTfjX4wE55ECMFky4MJ0aKdNPrvqAIfc6QOQZK0iAnT8Nu6c7H9m6Xg/S1RSTWZraGl10CJBE3MKeNoCYK6tdwHiccNHYETjoInJHp0CRQioJ96VujCceL2qBntwZbqRJNFgflQgoZXx5aRWAgVDlEltzZU2EckvogvIbLE2UhdyC+KLuQXpznyHPOb+fZsqiFsNvubg0Fkx+F24KaihNAPQi2IUyCDiFz2W3YFEXnOX8qG/fW1TH89prKzFg+hg5d/9NxWaIL45eNuNIMd5UGPTaXM5ePpMpQy7GimRP2dQ3R4aljody5d2vv8DDQ9yQMntRXNpxQtsLA1U4Jymj7FT6S2p2ca+W2KrCbPVUN9oGoVtBw5JAHJqB+dvsKZbQy1rmKALng8OvIjogqaOi8C+k2mCGyOoMyoR9nuRQmjHCb4mZIp4CYGVbDPLSnonn2/ZNGZajydJiS9Or16dNXSgVIhm8GGpvwN/oC/0e8TG9szoRSHfSm+wOND9lus5PDA2VKxvIwWQyk5jGLmQHJI6HXjiZKcQ2RQCykKcrEXfvqRGS+nKIKoTj0yuv/2scfXu2nRGD+18vaD8Fnne8DibaW2eNJualD0AZ/V1b90LNqRz8fYg1PbPhYWsc2Kx/jIts89Nvd+RNiiFHn/3Cf+KzxwyGdq6f5sOpIOhGIQksyS5U8P9zWXkolIwuqs+Z89bAZ+hN1aSV6thqKgsUrSz1StjFRSbQXFsyj/bpQi4fKvCU/jwkNxIm+e50JDiemUoDw9ys2IuL3KYqy8xy1HUPrvumC1/G7LKIpnol7So6ybWRywlemVIysG+os9v8qAiaGWLnjLeBVsl0q9i+F60vkepfXhikXd4eq8fwyyfeUO+Hmjdd8hXzQ1mM7aWf/1Y5XpzyaydufVfTyPwV+4Mdco6a9WFEGmkuiC5vol4mY0Vxw4BwM8Jhi2A9Fg1PCqfs1fiwSq7gakeiSw5W0X+/PV6my1Ch/NV4enh92zm/6L6tbh4a3V64+kFgd+lgVcnsYt1gBZQW4nt1VvvXkllZQlLQ1+5A2csvFGIdEFsg9lRWSJyHuJQVTFUOd9XqroyCFBkeaI7PHIk0SWPdPEI3vGdt5269wtM5snNoytGV2+zEpbWf5J8WV8vqOPr7jXI5h2+Bekg/4WP7oDhAFDAEUE6ClJ5uF6tyI3UudP1ZjfgIvwi3zxlq/lx2t8nx9OXbs86TIwl4utdnRFoXCWKorzm5caBfFZSYAfaEq5lHG60cz18nzP5NQO+7lwm5r7oqLBHzpf5Tf5Tg5NeYdr5zbqX/g33dI0i+5cjkRQ3IxvXPi3/MhwngbdRmxDTYlb2zQXi11ke+mfIpuSnse8ne0qRdvO9i685jzzwBn4XTq28DRMHPkT+LPFtcCfuXtBuC7lyDIyUl0+CLKiIuoldFTFS6bIDB0ME5gk7ON7GTmsc1fM0QXx3Ry6smbZ0nTGTgYyN0UCtSXyPBhgo/SuXtTj7jl3Y4y7lYJH4+36enilzOmbu2dCDhUL9JtW3KKRaORjViJA7VhkVcK+/Ofo5RM2sHUtUy1jwOzEH2iBS1pcu+RXtfAp2zhl2HAqcpvPLUgt3+LFR5+3sWDoeTsxlsB/aA2blzyeS2Y4dMlngW1cqscZ0P6hHII4o1Jk9ssWUIEjI2654jygIFL0roLgUgF9tQSieHWRrtq4mEHiO7xEMns1o7Bmpmo0NjamGlPBrNVblsWGdgTlobpvzdV9axh7zXeRBLnu5Xpb/Kxo2vHwQqDW54t22bf2ZVH+fekbF/COs5keM0uRhWPuU3YET7aZfdkv/b58+Ut0MBF67fJTi7HSrS6O2MMj6jtnxpYLRBjQ0C6UWhtNHjypxaUkHjpfpBsMURrfzIgasGv2ls2b1qxub0smggGZI7BSNonjiTwDxxPHTrZ5ZABpIw6iS4DdmYaTyqVonJ/h0GddQI7DyxfY6jeLSNvc+CGfktzqomkN1yuT8UYc6MDEvRN06vAUxBR5t+YJtkqib6NXltc3RFVZMI8outkY3iCZ0ipbEJVWzafskhXQxN2KEc7U8irrI1FVYf4jiDt8sfAG0SevthB51TJrMDcwOXn35OS9/LkZDzUWJEMKbQRx0KuMxUxNvl3VB0WpGhcNSS/4Yo0+0GU3b0M00SnrsrXxuqyeAVFcEatnjZruZrUat+RrGiaxyGRV9Wg8AEgXNatBAEb5dOJbG5Fqcru9SDXta8/4yCDnxCwU9Un3+/0Wcs6wzXc0+0uVsGTaibKZq9gmSZOMv+j/+M47zkLb2Tt2nXb+zpl3vguffwSp58d33e6cO4sPbt/1cWeH8x0KyeN0eOGPrsZi4BHkBolqE3cc6Ev45mneHjf8IqK5RoRZC7ugnSwVeahl4Y14HB7h23trdbAT9Dk06Nlqiq/Kg7tqIwAZeeuuTStAUZ0yeUiFVAgV4kKYnZi6eNZ5FPZsfWLPVCktaY9t/Q6Mw/Afl6d2756KYqkrF698Dr7LYjjnpOdVhrZNtGUph9YDymGkZnAmGo3azr2RCDxs46XzuBXFM3w4gl98EnU+6oYarvwfrOfv6/V4RKwnrHITFAasRMplvbDLeZxXBQ9HIs69WIUFB+Ewr8u5OxrBb5QvRngQp+9xcXrN5y0jG8h2nEDvJ6fIZ8jvkzPVhkeqVFUe/sB8QhCFe/sooxu7Caut0fDRr5BQQKeKGlLmg6CaHEoI834vRR2inCXN+xDxoBjR2npkxDrWNLEsr4W6MfTLlbQsmLxaA1hjM9Xsf//CU7/z6f/y6G+f/OhDJ44dufvQ/r27bpu7ZWpyfF1vb28W/3qLNl8j5+AnVQvV41Qt4zTO4hx302it3XSu/jyMafDXQvvodd3QPryl/GKaB7J5mmF+uZ4/jPnD9fr5c15/pV4/T4fr6evLV+pOe5GknLN8qw3bNvAAN7ykA7bhbHZvwRd91sLXrz1iftsYdV0CHv/mTdn+9ron73Rc/SYC1H7ttf94rRnfv66McyvE+QPnPB7pb4368Lk5itcLH7lWFl6EJveB8yov82c3ruofrxW+fSGQKZUy9Ecur+J+7W72WdcHWCRPitXuLAisNRdAM8RnIzoAdOwHCJJJNPiELjoB2BVLdUYCIrqrSilr0DiUM4tb19A4Z2pGP+sGUMI8+BYKl929jefqnhvn0PFQvz0QCsERexI+6W18cMPu06d3J1Y1qOrv3Enb1rX4tCYcj0AiIERfd45b1lJrwIYjlcm/tzPr5uD02UeoZUoBee7oIG3otDRCFvcKXfPTFbKO3EJOVD3cXa/ooLJE63Ork+8yYBJfE+Cb1901AelNLlx5kwtve4f8yo08eqCxsYgc8KpXV9+lVw/WNvvxeLq0iHxabL4znbtIHtDkQrTDLA+V4BBwN+gGZX8BGvi6YIoxme3aJVApJhniMYShSxXlmGDIMYkK9fsm+zv0j+tBV1K1s/yLUQRclFkIjcrDD2O1IUF+2oOfpyUqXneTSs7NYEhwFmsVqS473XiBYtXQPv7MjTfdyD7eX73nN3/jjltv6uuRZem+965Z3uCXGJ3ZtKRFVUB2FTNo6lSSgxI3bLKhoGGT0bCpFFkgrZk2kUIggKYNzxCYJgEIjKFN+/jHPvLB40cfeN+hfXt3vmfbLVs2r1+XrX9SFken19kYbkMQ678pLV5n4xZt1s97/k753+n54vsW02+1YZxpPO9GVmpbdhcvoUmTF+84r77DA154cYeuc/7G968dVpfTCwHXZnGDMVHbJY6H717dsvLS1Xvw5auXL73bx9+9eu+FhSddu7T9ql16iD3DCniVQt5RqHZlUzG0TDSXoQhLg/y3Hxyd1nYlLP6aC7VqVzacdePfQUCvjXjRnUZlvqKclDm2dDfU8mB4sVBR2bdh1XPOC9QyjIXvmK3mmN7fZsfWmibNGh3GWn2wDQFDHzzqOM5uMN288BQ+wczmmBVrGzTGsBRmNsbsaFu/vvBH8ChQZ0/tdwgLiK+3o34HSYxkSBk573B1WZOFigr8FwcSU6V5kS9Q1jc4EURQSJxkRXG5LV+Nl5Wx5dWwu7WpoaHGnQw3qD8EPKqJyjHkmlvk5EOUby5P5oE/KuVpEq0yG2IVy4Bkng5BATHzfaG7Th60BCMWFYyxubU+AYGo8/22/g7aOpSFRNtgK+3oy3+sf+6hkw/PDtK++ROnH9xRXnPwGxf+dL90/1cuvnDs0opJunGlEVV1s6Ovr8NnaNF/ire5BWP18xfWnJjv40VPzA0KpV1H1r/vzOHDZ/6FH7hcZG6jha/yH1XU95cGSZhUyXi1aWk3Ur9QMOA3fYbXw38KJblRigi5ioh1FwjzVR/XLOtuAO6uReirVsrZTHOco1Cx0ivnKjkZ6ufcYrrGTDghqZ0WuUeNgBS4UW3iYWPYee5c+vz577HleP7e985H8PT666+zLVbwkpE2HGB48l4KWhCxfhIJXvLGvZesyE+syNK9X5pdNn/rrc7n6hcrZj8xu+yOPXucu1+zkupRRXk/AB6PqknrtVBa2f0PdlrZK0l71WT4H3YraXct8vKVY+zbbC32spkoX262FKCd7ZVynHIWVeEUCWz+w4f6IiKnSuTu7NyEnp46OSlIpQi7M+r87t3ZKUUJxBNJU6m23g1nPp/UNs6lJwN6VJAGP0+fjjojh7PDkpGMJ0xJm8wehqk6J/kUjk83WYp2WCsAOjogrutM4xB0EP7rL4EH6d2APrpdHrzZRxjj0WQReYokXeMpS94pOx4kd6WsVorh+HkG+9OBJbGUKYvRdrElm5P4tpDe0pCMHRwSciUO7VJDLFyIszAP00CvIcgI/RApfsp5w8fufWH7b88FIvnWkfxEvq1QiETb7AB8/uYp46I0duzk9MjBO8fbKDWcn7bcObu1ABuX3f6BI62le/pPzLeOlNoStqWhU1EFyQwkQ8eGNm/9wKoEGB3Vg6ud3dXyLli6J2ibdrVrqAr7eXwEx+nH7Pv0L0gIlXSAjJK/rIYi2L04Qu5hxBzLy70qzm9hdHHXD/b6AJFE6YBLrBkARdzt7kygfGeCouxHrEWFCcQT/BdHAl1cTOl8S1EZJwZVKCj7bljoV3rVDJLH1LJUyF8I9BZUNDa9QU7Aw0E7xNe4uyDlMvhgMcfJeQHBON/048ZnKmW+98HPs+V6pRRXSStsIx7HK1n6K0H/sC68RM2jHiH1rZTgOWq9enI1tAs9+ePtYwPdAWWJoGS6bjq9pGi+x6RdQys6isf9TeOmN3JTkz9Iv6jrCzdL1NQfeEAH/bLzicmOJanE2qIRGNGVjD+i5zonna+Yppah7d3r46GI0biyQbKSYRwjtbYnjJ5Be8MtTWMdbazA0fpM9Yl28EgD4BXoaNQfYrIJkkeW5sKgEY+ueeYbfBYTDeDb0uYiyNm9VPcip+IWe9JWA4yvYuLkmMNblO+zpGxsZKRa7eluScRikYhliQIhI6Mjo6tWVldUVwwvv6ncvaxn2ZJsoqulK9Yca443RRojjdEGK4zyCnk1ISgG3T2CjWKovRJK9WZq+0145IRHHZfx5Zgg3udnxuNh/BfLtchZGN6SFjFfEPOdOQO/yZnBKX644MSPHmUzzs6jLis46fIEuOhyilO1xPKjR514dXR0db0Iv31udBTiq1cvnBkdpccXi53EKpzzi+V4iG20lo38P+WPnfkAAAB4nGNgZGBgAOIzNjN3xvPbfGXgZn4BFGG41s09H0b/n/s/mmU/cxiQy8HABBIFAHCMDSQAeJxjYGRgYA76n8XAwMr6f+7/Zyz7GYAiKMAKAJMLBkl4nGN+wcDAvICBgWnt/3lMa/7PZfoF5K8E8q2B9Iv//8F4AUQN8wv8mEX//z/mSCAbhAUR4kwuQPol0JyX/38wXoOKWUPlF4D1/YfrmwHVmw21EyYOM6eFgYHx4v8vQPwZrA+mZgGQvQbE/v+XlRVIH/r/h3kukH4GpIHyAEDrQRAAAAAAAAAAAGgA3AE+AZwB6gJgAwADoATKBcQGDAZWBqAG6AjGCWQJ7Ao2CnoK/gxIDPYNrA3kDhwOng7oDygPag/IEJwRcBHqEqoTgBPKFI4UphUqFZQWVhaqFswW/BcgF0QYlhj+GdQa4htEG9AcYhygHTYeCB7EAAAAAQAAADoAsAALAAAAAAACADYARgBzAAAA1gtwAAAAAHicdZDdasIwGIbfzJ9tCtvYYKfL0VDG6g8MRBAEh55sJzI8HbXWtlIbSaPgbewedjG7iV3LXts4hrKWNM/35MuXrwFwjW8I5M8TR84CZ4xyPsEpepYL9M+Wi+QXyyVU8Wa5TP9uuYIHBJaruMEHK4jiOaMFPi0LXIlLyye4EHeWC/SPlovknuUSbsWr5TK9Z7mCiUgtV3EvvgZqtdVREBpZG9Rlu9nqyOlWKqoocWPprk2odCr7cq4S48excjy13PPYD9axq/fhfp74Oo1UIltOc69GfuJr1/izXfV0E7SNmcu5Vks5tBlypdXC94wTGrPqNhp/z8MACitsoRHxqkIYSNRo65zbaKKFDmnKDMnMPCtCAhcxjYs1d4TZSsq4zzFnlND6zIjJDjx+l0d+TAq4P2YVfbR6GE9IuzOizEv25bC7w6wRKcky3czOfntPseFpbVrDXbsuddaVxPCghuR97NYWNB69k92Koe2iwfef//sB6XOEUwB4nG1Q13LbMBDkSgAkipbTe3F6Z3p1voYEjyJCEGBQ7LG/PqCYyVPuAdi7WdzuIltkc22y/9cxFliCgUNghTVybFDgAFsc4gIu4hIu4wqu4hqu4wZu4hZu4w7u4h7u4wgP8BCP8BhP8BTP8Bwv8BKv8BpvUOIt3uE9PuAjPuEzvuArvuE7fuAYPzPW2YFW59YOpTLr/W1j4L+jDbRurQlenZNQodJKFso0ZEKpqQ0Hf7FTuy6IaLQyPZuOTWLuzMyZoUw8csXc7PnbGf+KPqj2bKuVD6WJQ02OmmLf1VFrCkJWA7mKDfaERAKenBjJSKXzmORd0iNWW90IH5zqiUnbEBt19MyPyrDGSp92GEmaS6utY0GZIDqq0mM2pVuNSoboqPBxJOelU2PIfaxntGxs4CHpdgvbrxt7arStmjSVS2l3S9u2fFAmqdWV7LdT5NImf2Wtdof7oP9afqIasuLUJfdd3ipN5eSVh6rWJIKSPQXuhzTnMtbkee2i74rJYtlWaX6WxzE5lOkPVl6nZc5n2R9OsacwAAB4nGPw3sFwIihiIyNjX+QGxp0cDBwMyQUbGVidNjEwMmiBGJu5mBg5ICw+BjCLzWkX0wGgNCeQze60i8EBwmZmcNmowtgRGLHBoSNiI3OKy0Y1EG8XRwMDI4tDR3JIBEhJJBBs5mFi5NHawfi/dQNL70YmBhcADHYj9AAA') format('woff'),\n       url('data:application/octet-stream;base64,AAEAAAAPAIAAAwBwR1NVQiCLJXoAAAD8AAAAVE9TLzI+L1LqAAABUAAAAFZjbWFwXjkwEAAAAagAAAS4Y3Z0IAbd/uYAAErwAAAAIGZwZ22KkZBZAABLEAAAC3BnYXNwAAAAEAAASugAAAAIZ2x5ZuTm1hEAAAZgAAA9iGhlYWQQkVrUAABD6AAAADZoaGVhB7EEkAAARCAAAAAkaG10eMl//wcAAEREAAAA6GxvY2HFn7PaAABFLAAAAHZtYXhwAcUMaAAARaQAAAAgbmFtZcydHiAAAEXEAAACzXBvc3Tp04JwAABIlAAAAlRwcmVw5UErvAAAVoAAAACGAAEAAAAKADAAPgACREZMVAAObGF0bgAaAAQAAAAAAAAAAQAAAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAEDeQGQAAUAAAJ6ArwAAACMAnoCvAAAAeAAMQECAAACAAUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFBmRWQAQOgA8d4DUv9qAFoDVgClAAAAAQAAAAAAAAAAAAUAAAADAAAALAAAAAQAAAH8AAEAAAAAAPYAAwABAAAALAADAAoAAAH8AAQAygAAABIAEAADAALoAOgK6CbpG+kp6TnpQPHe//8AAOgA6AnoJukA6R3pMOlA8d7//wAAAAAAAAAAAAAAAAAAAAAAAQASABIAFAAUAEoAYgB0AHQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAACvAAAAAAAAAA5AADoAAAA6AAAAAABAADoCQAA6AkAAAACAADoCgAA6AoAAAADAADoJgAA6CYAAAAEAADpAAAA6QAAAAAFAADpAQAA6QEAAAAGAADpAgAA6QIAAAAHAADpAwAA6QMAAAAIAADpBAAA6QQAAAAJAADpBQAA6QUAAAAKAADpBgAA6QYAAAALAADpBwAA6QcAAAAMAADpCAAA6QgAAAANAADpCQAA6QkAAAAOAADpCgAA6QoAAAAPAADpCwAA6QsAAAAQAADpDAAA6QwAAAARAADpDQAA6Q0AAAASAADpDgAA6Q4AAAATAADpDwAA6Q8AAAAUAADpEAAA6RAAAAAVAADpEQAA6REAAAAWAADpEgAA6RIAAAAXAADpEwAA6RMAAAAYAADpFAAA6RQAAAAZAADpFQAA6RUAAAAaAADpFgAA6RYAAAAbAADpFwAA6RcAAAAcAADpGAAA6RgAAAAdAADpGQAA6RkAAAAeAADpGgAA6RoAAAAfAADpGwAA6RsAAAAgAADpHQAA6R0AAAAhAADpHgAA6R4AAAAiAADpHwAA6R8AAAAjAADpIAAA6SAAAAAkAADpIQAA6SEAAAAlAADpIgAA6SIAAAAmAADpIwAA6SMAAAAnAADpJAAA6SQAAAAoAADpJQAA6SUAAAApAADpJgAA6SYAAAAqAADpJwAA6ScAAAArAADpKAAA6SgAAAAsAADpKQAA6SkAAAAtAADpMAAA6TAAAAAuAADpMQAA6TEAAAAvAADpMgAA6TIAAAAwAADpMwAA6TMAAAAxAADpNAAA6TQAAAAyAADpNQAA6TUAAAAzAADpNgAA6TYAAAA0AADpNwAA6TcAAAA1AADpOAAA6TgAAAA2AADpOQAA6TkAAAA3AADpQAAA6UAAAAA4AADx3gAA8d4AAAA5AAIAAP/5A5ICxQAQADEALkArLiYlGBUPDg0IAQMMAQABAkcEAQMBA28AAQABbwIBAABmKigjIiERFAUFFysBERQGByM1IxUjIiYnEQkBFjcHBgcjIicJAQYmLwEmNjcBNjIfATU0NjsBMhYdARcWFAMSFg7Wj9YPFAEBQQFBAXwiBQcCBwX+fv5+Bw0FIwQCBQGREjATiAoIawgKegYBKP71DxQB1tYWDgEPAQj++AEkKQUBAwFC/r4EAgUpBg4FAU4PD3FsCAoKCONmBBAAAAAD/57/9wK/AxcAHQAqADYAP0A8GRACAAUBRwACAQJvAAUEAAQFAG0AAABuAwEBBAQBUgMBAQEEVgYBBAEESjY1NDMyMTAvLi0sKxYVBwUUKxEmJyY3PgE3NhcWFxYXFgYHHwEWDgIvAg4BJyYlPgEuAg4CHgI2JzM1MxUzFSMVIzUjORQUFBR0Tk1NTjs2FBIgL3OBEQQoOBaCKDeWSU0BOysfH1Vyc1UeHlVzcvhkRGJiRGQBCjpPTUxPdBQUFBQ6Nk5JljYoghY4KQMQgnAuHxMUbytyclUfH1VyclYeHuplZUBkZAAAA/+d//cCvQMYAB0AKgAuAChAJRkQAgACAUcAAAIAcAABAgIBUgABAQJWAAIBAkouLSwrFhUDBRQrESYnJjc+ATc2FxYXFhcWBgcfARYOAi8CDgEnJiU+AS4CDgIeAjYnIRUhOhUUFBV0T0xNTjo2FBMgLnKBEQQpNxaCKDeWSU0BOyseHlVyc1UeHlVzcvgBCv72AQo6T0xNT3QUFBQUOjZOSZY2KIIWOCkDEIJwLh8TFG8qc3JVHx9VcnNVHh76XwAAAAIAAAAAAxQCqAATACcAP0A8CQQIAwADAG8HAQMCA28GAQIBAQJUBgECAgFYBQEBAgFMFRQBACQiHh0cGxQnFScQDgoJCAcAEwETCgUUKxMyFxYHBgcGIzUyNzYnJiMiJjQ2ITIXFgcGBwYjNTI3NicmIyImNDaSkiYmTlCQICJwRjYcEC48VlYB4JImJk5QkCAicEY2HBAuPFZWAqiSjKKoJAhGbFY8JFh8WJKMoqgkCEZsVjwkWHxYAAAAAwAAAAADqQKLAA4AEQAUAE5ASxEBAQAUAQcBAwECAwNHAAABAG8AAQcBbwkGBAMCAwJwAAgFAwhSAAcABQMHBV4ACAgDVgADCANKAAATEhAPAA4ADhERERESEQoFGis1EzMbATMTIycjByMnIwc3MycBMyfjktB7W45gGocbzyrWK0uVSgGTXi8xAlr92AFG/ohMTHl559j+0YgAAQAA/7ECOwMLADoAOEA1EAEAAS4rDAMDAAJHGQEBRQADAAIAAwJtAAICbgABAAABVAABAQBYAAABAEw5NTQwYh4EBRYrFTc+Ajc2PwE2Ej0BLgInNxceATMyNj8BBgcOAQcGDwEOAQcGAg8CBhUXFhcGByIGIyImIyYjIgcKDCwkDxAHIyI6DSIsCgpDMEgfGzgoNgIIEVAUBQMFAgQCD0QJEgkEAQleAgcGGAYQQg9NJhwzTjAECgwHEyWingEiFA4IBgICOgQDAgIDBBYcBhQJCg0XCh4JUv7QLlMuFgoKAw8YHwIMAQUAAAAF////+APpAwsADQAdAC0APQBNAFdAVEdGPwMICTcvLgMGAScmHx4BBQAFFxYPAwIDBEcACQAIAQkIYAcBAQAGBQEGXgAFBAEAAwUAYAADAgIDUgADAwJWAAIDAkpLSiYmFxcXFxYXEwoFHSsTERQGJi8BJjQ/ATYyFgEVFAYnISImNzU0NjchMhYnFRQGJyEiJjc1NDYXITIWJxUUBgchIiY3NTQ2MyEyFicVFAYjISImNzU0NjchMhbWCg8FoQUFoQUPCgMSCgj8PAcMAQoIA8QHDAEKCP2hBwwBCggCXwcMAQoI/aEHDAEKCAJfBwwBCgj8PAcMAQoIA8QHDAIi/r8HDAEFoQUQBaAFCv5MawcMAQoIawcKAQzQawcMAQoIawcMAQrOawcKAQwGawgKCs9rCAoKCGsHCgEMAAAAAAX////4A+kDCwAOAB4ALgA+AE4AWEBVSEdAAwgJODAvCAQGASgnIB8HBQAFGBcQAwIDBEcACQAIAQkIYAcBAQAGBQEGXgAFBAEAAwUAYAADAgIDUgADAwJWAAIDAkpMSyYmFxcXFxgVFAoFHSsTFA8BBiImNxE0NjIfARYBFRQGJyEiJjc1NDY3ITIWJxUUBichIiY3NTQ2FyEyFicVFAYHISImNzU0NjMhMhYnFRQGIyEiJjc1NDY3ITIWxAWgBQ8MAQoQBaAFAyQKCPw8BwwBCggDxAcMAQoI/aEHDAEKCAJfBwwBCgj9oQcMAQoIAl8HDAEKCPw8BwwBCggDxAcMAYIIBaEFCggBQQgKBaAF/uxrBwwBCghrBwoBDNBrBwwBCghrBwwBCs5rBwoBDAZrCAoKz2sICgoIawcKAQwACAAA/7EDoQNSAAsAFwAkAD0AVQBiAG4AegDtQB1qAQ8JZAEMCEk5AgUKLgEBBBMMAgcDEg0CBgAGR0uwJlBYQFQADwkICQ8IbQAODAsMDgttAAEEAwQBA20AAAcGBwAGbQALAAoFCwpgAAUABAEFBGAABwAGAgcGYAADAAIDAlwACAgJWAAJCQxIAAwMDVgADQ0MDEkbQFIADwkICQ8IbQAODAsMDgttAAEEAwQBA20AAAcGBwAGbQAJAAgMCQhgAAsACgULCmAABQAEAQUEYAAHAAYCBwZgAAMAAgMCXAAMDA1YAA0NDAxJWUAaeHdycW1sZ2ZgX1pYUlEfFxckJBUWFRIQBR0rNwcGIiY0PwE2MhYUFxUUBiImJzU0NjIWJxQGKwEiJjQ2OwEyFgUUDwEGIi8BJic3FxYyPwE2NC8BNxYfARYBBycmIg8BBhQfAQcmLwEmND8BNjIfARYFFAYrASImNDY3MzIWARUUBiImPQE0NjIWFwcGIiY0PwE2MhYU9Y8GDgsGjgYOC1kKEAgBCg4MfgoIsggKCgiyCAoCwjBSLocuugwMhpgPLg9SEBCZChQLvC/+p4WYECwQUhAQmQoUDLsvL1Ivhi+6DAFtCgizCAoKCLMICv7QChAKChAK448GDgoFjwUOC42PBQsOBo4FCg4dswgKCgizCAoKdQgKChAKClBCL1EvMLsMEwqZDw9RECwPmoULDLwwAVIKmRAPUg8sEJmGDAy7MIUuUi4vuwxCCAoKEAgBCgEosggKCgiyCAoKXI8FCw4GjwULDgADAAD/ugOYA0kAHAA7AFwA20AaOgEJBVdHAgAEEwsCAQcDR1YrAglGBgIHAkZLsApQWEAwAAUDCQQFZQABBwIAAWUACQAABwkAYAAEAAcBBAdhAAIABgIGXAADAwhYAAgIDANJG0uwJlBYQDIABQMJAwUJbQABBwIHAQJtAAkAAAcJAGAABAAHAQQHYQACAAYCBlwAAwMIWAAICAwDSRtAOAAFAwkDBQltAAEHAgcBAm0ACAADBQgDYAAJAAAHCQBgAAQABwEEB2EAAgYGAlQAAgIGWAAGAgZMWVlADllYFxccKBcYGhgUCgUdKyU0LwEmIgcXHgEfARQGByIuAS8BBhQfARYyPwE2ATQvASYiDwEGFB8BFjI3Jy4CNTQ2FzIWHwEWHwE2ARQPAQYiLwEmNDcnBiIvASY0PwE2Mh8BFhQHFzYyHwEWAy0QdBAuEBYDDAECIBYIDg4EFhMQcw8tEFIQ/ncPcxAsEFIQEHQPLhEXAwoEHhcJDgcLBAgKEgH0MFIuhy5zLjExMIcvdC8vUi+GL3MuMTEwhy90L6sXD3QQEhYDEAYPFx4BBAoEFhEuD3QPD1EQAZ8WEHMQD1IPLBB0DxEXAw4OCRYgAQQFCAMJCxH+jkIvUS8wcy+HMDExL3Qvhi5SLi90LogwMTEvdC8AAAQAAP+nA+gDFgADAAcACwAPAFFATgAGCwEHBAYHXgAECgEFAgQFXgACCQEDAAIDXgAAAQEAUgAAAAFWCAEBAAFKDAwICAQEAAAMDwwPDg0ICwgLCgkEBwQHBgUAAwADEQwFFSsVNSEVJTUhFSU1IRUlNSEVA+j8GAJh/Z8DFfzrAgRZnJzwnJzynJzwnZ0AAAQAAP+nA+gDFgADAAcACwAPAFFATgAGCwEHAgYHXgACCQEDBAIDXgAECgEFAAQFXgAAAQEAUgAAAAFWCAEBAAFKDAwICAQEAAAMDwwPDg0ICwgLCgkEBwQHBgUAAwADEQwFFSsVNSEVATUhFQU1IRUBNSEVA+j8ggMV/UQCYv3NAgRZnJwB4pyc8pycAeKdnQAAAAAEAAD/pwPoAxYAAwAHAAsADwBRQE4ABgsBBwIGB14AAgkBAwQCA14ABAoBBQAEBV4AAAEBAFIAAAABVggBAQABSgwMCAgEBAAADA8MDw4NCAsICwoJBAcEBwYFAAMAAxEMBRUrFTUhFQE1IRUFNSEVATUhFQPo/OsDFf2fAmH9/AIEWZycAeKcnPKcnAHinZ0AAAAABAAA/6cD6AMWAAMABwALAA8AUUBOAAYLAQcEBgdeAAQKAQUCBAVeAAIJAQMAAgNeAAABAQBSAAAAAVYIAQEAAUoMDAgIBAQAAAwPDA8ODQgLCAsKCQQHBAcGBQADAAMRDAUVKxU1IRUlNSEVJTUhFSU1IRUD6PwYA+j8GAPo/BgD6FmcnPCcnPKcnPCdnQAABgAA/2oD6QNNAB8APQBNAF0AbQB9AmJAN1pZVQMUD3duAg4UbwENDjABBwhnLyoDChJHHAIDBT8dDgMLBAYBAQIFAQABCUdfAQoXEwIDAkZLsAxQWEBeFQEKEhEJCmUABAMLAwRlAAILAQMCZQAUDg0UVBYQAg4TAQ0IDg1eAAgABxIIB2AAEgARCRIRYAAJAAYFCQZfAAMEBQNUDAEFAAsCBQteAA8PDEgAAQEAWAAAAA0ASRtLsCFQWEBfFQEKEhEJCmUABAMLAwRlAAILAQsCAW0AFA4NFFQWEAIOEwENCA4NXgAIAAcSCAdgABIAEQkSEWAACQAGBQkGXwADBAUDVAwBBQALAgULXgAPDwxIAAEBAFgAAAANAEkbS7AlUFhAXBUBChIRCQplAAQDCwMEZQACCwELAgFtABQODRRUFhACDhMBDQgODV4ACAAHEggHYAASABEJEhFgAAkABgUJBl8AAwQFA1QMAQUACwIFC14AAQAAAQBcAA8PDA9JG0uwKlBYQF0VAQoSERIKEW0ABAMLAwRlAAILAQsCAW0AFA4NFFQWEAIOEwENCA4NXgAIAAcSCAdgABIAEQkSEWAACQAGBQkGXwADBAUDVAwBBQALAgULXgABAAABAFwADw8MD0kbQF4VAQoSERIKEW0ABAMLAwQLbQACCwELAgFtABQODRRUFhACDhMBDQgODV4ACAAHEggHYAASABEJEhFgAAkABgUJBl8AAwQFA1QMAQUACwIFC14AAQAAAQBcAA8PDA9JWVlZWUAsTk4gIHt5c3JraWNhTl1OXVxbUlFQT0tJQ0IgPSA9PDskGxYREhgTIyIXBR0rFxQGByInNxYzMjY1NAcnNj8BNjc1IgYnFSM1MxUHHgETFSMmNTQ+Azc0JgciByc+ATMyFhUUDgIHMzUFFRQGJyEiJj0BNDYzITIWARUjNTM1NDc1IwYHJzczFQUVFAYjISImPQE0NjMhMhYDFRQGByEiJj0BNDYzITIW1T4sPCQfHCAQGDsOBA4YCgoJJAk7ujUcIgHKBBwiKBYDEg0ZFC8NNiAoOCYuJgFHA00KCP1aCAoKCAKmBwz87bs8AQEFFyhMOwNOCgj9WggKCggCpgcMAQoI/VoICgoIAqYHDDYtMgElMRkQECMEHwYSHw0IAQIBHlUxQQYqAUJZFAodLh4YGA0OEAEgIRwgLigcLhoeDyKyawcMAQoIawgKDAHwODhDLRcHChQqR+HYbAcKCgdsBwoKARZrBwoBDAZrCAoKAAAGAAD/1APpAucACAARACEAKgA6AEoAX0BcRDw7AwoLNCwCCAkbEwIEBQNHAAsACgYLCl4ABwAGAwcGYAAJAAgCCQhgAAMAAgEDAmAAAQUAAVQABQAEAAUEXgABAQBYAAABAExIRkA/ODYlExUXFhMUExIMBR0rNxQGLgE0PgEWNRQGIiY0NjIWARUUBichIiY9ATQ2NyEyFgEUBiImNDYyFgEVFAYjISImPQE0NjMhMhYDFRQGByEiJj0BNDYzITIW1j5aPj5aPj5aPj5aPgMSCgj9WggKCggCpgcM/O0+Wj4+Wj4DEgoI/VoICgoIAqYHDAEKCP1aCAoKCAKmBwxALEACPFw8AkDyLT4+Wj4+/utrBwwBCghrBwoBDAIALT4+Wj4+/utsBwoKB2wHCgoBFmsHCgEMBmsICgoABAAA/84D6ALuAAgAJAAtADcAZkBjCgEACQgJAAhtDQEIAQkIAWsAAQYJAQZrAAUABwkFB2AECwICAAkAAglgDAEGAwMGVAwBBgYDWAADBgNMLy4mJQoJAQA0Mi43LzcqKSUtJi0gHRoXEg8JJAojBQQACAEIDgUUKwEyFhQGIiY0NiUyFhURFAYjISImNRE0NjsBMj8BNjMhMh8BFjMBMjY0JiIGFBYBMjY0JiMiFRQWAfRAVlh8WFgBzio6Oir84Cg8PCh4HAweCh4BVB4KHgwc/uhokpLQkpIB1g4UFA4kFgHCWHxYWHxYljoq/j4oPDwoAcIqOh5cHBxcHv3aktCSktCSAXwWHBQiEBQAAAABAAD/agPoA1IAFwBFQEILAQIAAQwBBAAXDQIFBANHBgEBRRIBBUQCAQEAAW8GAQUEBXADAQAEBABSAwEAAARWBwEEAARKERIRFBESERIIBRwrETcVIREjNxcjESE1Fwc1IREzByczESEVrAETd6ysdwETrKz+7XesrHf+7QFerHcBE6ys/u13rKx3/u2srAETdwAAAv/+//kEMgLDAAMAFwAtQCoAAwADbwAAAQBvBAEBAgIBUgQBAQECWAACAQJMAAAWEwwJAAMAAxEFBRUrJTchBwEWBgcBBiMhIiYnJjY3ATYzITIWAfS8/lO8A+IJBg7+DBYg/lMVIgoIBg4B9BUgAa0VJEDX1wJZEyoP/cQYFhQTKg8CPBgWAAQAAP+xA00C/wAGABQAGQAkAIZAFx4BAgUdFg4HBAMCGQMCAwADAQEBAARHS7ASUFhAJwAFAgVvAAIDAm8AAwADbwAAAQEAYwYBAQQEAVIGAQEBBFcABAEESxtAJgAFAgVvAAIDAm8AAwADbwAAAQBvBgEBBAQBUgYBAQEEVwAEAQRLWUASAAAhIBgXEA8JCAAGAAYUBwUVKxc3JwcVMxUBNCMiBwEGFRQzMjcBNicXASM1ARQPASc3NjIfARbLMoMzSAFfDAUE/tEEDQUEAS8DHuj+MOgDTRRd6F0UOxaDFAczgzM8RwIGDAT+0gQGDAQBLgRx6P4v6QGaHRVd6VwVFYMWAAAAAAIAAP+xA1kDCwBcAGwBWkuwCVBYQBk0EAIFAREBAAUuLQIEAGZeAgoJBEc5AQFFG0uwClBYQBk0EAIFAhEBAAUuLQIEAGZeAgoJBEc5AQFFG0AZNBACBQERAQAFLi0CBABmXgIKCQRHOQEBRVlZS7AJUFhALgAJCAoICWUACgpuAAUAAQVUBgICAQcDCwMABAEAYAAECAgEVAAEBAhYAAgECEwbS7AKUFhAMwAJCAoICWUACgpuAAECAAFUAAUAAgVUBgECBwMLAwAEAgBgAAQICARUAAQECFgACAQITBtLsBJQWEAuAAkICggJZQAKCm4ABQABBVQGAgIBBwMLAwAEAQBgAAQICARUAAQECFgACAQITBtALwAJCAoICQptAAoKbgAFAAEFVAYCAgEHAwsDAAQBAGAABAgIBFQABAQIWAAIBAhMWVlZQB0BAGpoYmBTUUA/ODUzMSAeFBIPBwYDAFwBXAwFFCsTJi8BNjMyFxYzMjc2NzI3BxcGIyIHBhUfARYXFhcWMzI3Njc2NzY3NjU0LgEvASYnJg8BJzczFxY3FxYVFAcGBwYHBh0BFBcWFxYHBgcGBw4BIyIuAScmPQE0JyYBNTQmIyEiBh0BFBYzITI2GxUEAgcPIh1KEy8uQREfEQEBISQhCwcBCAMZFCIxMTswHxgbChQJDAQIBAIDChMYOAgBL3IrQwoDAhkWKQMIAQUIAwwIDxUpKnlRXYRDDQkJDgL6Cgj8ywgKCggDNQgKAtYBATEBAwQCAgEBCCkFDgdCoJ1FKyETGhAKEhQQHyApVyw4UDEhJQwUAQECMAYCCAEWBwQNBwEGAwgPDwsGC9JtPSoaJCEfJTRUQy1XumkOFPzvJAgKCggkCAoKAAMAAP+xAxMDCwAUACoAXwBNQEopIwICA1EBAQIOAQABLAEGAARHAAUEBW8ABAADAgQDYAACAAEAAgFgAAAGBgBUAAAABlgHAQYABkwrKytfK1lGRUQ/KCk3IQgFGCslFjMyNTQnLgQjIgcVFAcVFBYDFjMyPgInNC4CJyIHFBYHFRQHFAE3PgE3PgMmNzUQJy4EIyc2JDcyFjcyHgMVFA4DBx4BBxQOAwciJgciBwE2KSXSFw8mJjQqICgQAQQDFyYuRDYeASA6PiYcLQYBAf7TAQlOFAQGAgYEAgwCFB4aHAMCNwEOSQ0yDSdKRjIgEhouJB1WdAEoQFpcNBliGTtwARK7QCUYIhIKAgZYOx1cFTQBlgQOJEAvJzoiDgEHHHAdLR4OGv4DNQIOCAcQFg4cBSQCJBgFBgYCBC4BCgECAQ4iLEonHTIeIhAOFG5TOFo2KgwCBAEGAAAAAAMAAP+xA+gDCwAPADEAXABjQGAiAQQDDAQCAAECRwoBBAMBAwQBbQAFAAcABQdtAAcIAAcIawACAAMEAgNgCQEBAAAFAQBgAAgGBghUAAgIBlgABggGTBAQAABWVE1MQD4zMhAxEDEoJhgWAA8ADiYLBRUrATIWHQEUBiMhIiY9ATQ2MzcmJyY1NDYzMhcWFxYXFhUUDwEnJicmIyIGFRQWFxYXFhcHMxYVFAcGBwYHBgcGIyIvASYnJj0BNCc1NzU3Fx4BFx4CMzI+ATU0JyYD1ggKCgj8PAgKCgj8EA0blZEcQiQ+BgYIAwc2HB4xREBLSncmOiEUg+UEFw0bFCksKS1EQC1OIAgFAQE5EQkGBBQxRCgkVTMtEwFeCggkBwoKByQICiQTGTcyZY8LBxQVLUQiCg8CBVMfM0ExKUojDBkQDY8WHT45HxsTGhsKDA0XCAcFBwg8GyYUGQEoFRQFICgYHUQmLygQAAACAAAAAAPoApoADQAZAAi1GRENCQItKwEWFA8BFxYUBwYnCQE2BQkBBicmPwEnJjc2AXwQEPb2EBAeHv7AAUAeAUwBPv7CIB4gIPj4ICAeAnwOJAzg4gwkDh4eASABHh4e/uL+4B4eIB7i4B4gHgAAAQAAAAACRAKAABMANUAyAAUABW8AAgECcAQGAgABAQBUBAYCAAABWAMBAQABTAEAERAODAsJBwYEAgATARMHBRQrATIUKwEVFCI9ASMiNDsBNTQyHQECJh4e0mTSHh7SZAGQZNIeHtJk0h4e0gAAAAL///9bA+oDUgAfAEEALUAqBAECAAFHMQEBRAACAAEAAgFtAAEBbgMBAAAMAEkBACEgFBMAHwEfBAUUKwEiBwYHMTY3NhcWFxYXFgYHBhceATc+ATc2JicuAScmASIHBgcGBwYWFxYXFhcWNzY3MQYHBicmJyYnJjY3NiYnJgHyV1FURFZsamdqT0IhIQYlDhoQMxEDCgIjASUmkF5b/gUYDwQEBgEkAiQmSFt7d3l9YVZsamdrT0IhIAUlCAYOEgNSHR45RRUUHiBPQlZTs1EpGxABEQMPBlrDWV2QJiX+7hAEBggGWsNZXUhbJCIYGVFFFRQeIE9CVlOzURUhDhIAAAAAA//4/2gD8ANWABYAGgAiAAq3HRsaGBMFAy0rARYHAw4BJyUuAT8BBwYnAyY3JTYWHwElEyUDARMlExYPAgPKJgiWBBwQ/moQEAQYtCgKoAomAcYQHARC/fyQAYiQATaE/tZMCibEGgHgCiT91BAOBG4EHA5cMAokAlokDHoEDhD0Wv3iagIc/LIB7FL+5iIMNGYAAAEAAAAAAdYCYgAdAB5AGx0WDgYEAAIBRwMBAgACbwEBAABmFBoUEwQFGCslFhQGIi8BBwYiJyY0PwEnJjQ3NjIfATc2MhYUDwEBxBIkMhKEhBIyEhAQiooQEBIyEoSEEjIkEorCEjIiEJiYEBASMhKcnhIyEhAQmJgQIjISngAAAgAA/2kD6gNTAAgADwA7S7AhUFhAFQADAwBYAAAADEgAAgIBWAABAQ0BSRtAEgACAAECAVwAAwMAWAAAAAwDSVm2ERQTEgQFGCsRNAAEAAIABAA3FBYzESIGASYBnAEoBP7g/lz+4o/Ok5LQAV7PASYC/t7+Xv7eAgEmz5LQAsTQAAAAAgAA//gCOwMvABYALwAkQCEAAwADbwAAAQBvAAECAgFUAAEBAlgAAgECTBwUGhkEBRgrJTQnIi8BLgEnJiIHDgIPAQYVFBYyNiUUDgEmJzQ3Nj8BPgE3PgEeARceAxcWAR4LAQgOBhAEAhQBBBAMCAkLKjosARym7qYBLQQfOBk+DwUcHhwEED4wQAMtzxQTDBUJIAwJCQ0eFAsMExQdKipld6YCqnVRSAUuVCZ6NBAUAhASNHpMXAVHAAABAAD/sQPFAwsAfgBOQEtZVDQDBgUXAQIBCAEAAgNHCAEECQcCBQYEBWAABgABAgYBYAoBAgAAAlQKAQICAFgDAQACAEx6eXBva2VgX1hVT05KRHQWPWALBRgrBSImIgYjIiY3ND4CNzY9ATQnJiMhIg8BFBceATIWFxQGByImIgYjIiY1ND4CNzY1JxE3NiY0LwEuAScuAQYmNzQ2NzIWMjYzMhYVFAYiBgcGFRcWMyEyNzY9ATQnLgI1NDY3MhYyNjMyFhUUBiIGBwYVExQXHgEyFhcUBgOrGWIyYhkNEAESGiAJEgEHFf6IFgcBFQkiHhQBDA8aaDFeGA0OEhYeCRIBAQECAgQCCAUIIhgWAQwOGmgwYBYODhIaHAoUAQcPAYYOBwETCi4cDg4YZC9gGA4OFBgiBxQBEwkgHBIBDE8EBBgNEhACBgYLQ9oMBQMD4E8MBgQQEg4YAQQEGA0REAQEBw1DHwHGDw0OHAoUChACBQQCEBIOGAEEBBoNERAEBQxOxAICBgyyTgwGAgwWDhgBBAQaDREQBAUNTf3yQgwGBBIQDhgAAgAA/7EDoQMLAAcAUACzQAk+NiEJBAUDAUdLsApQWEAqAAEAAW8ABQMCAwUCbQACBAMCBGsHBgIEBG4AAAMDAFIAAAADVgADAANKG0uwC1BYQCoAAQABbwAFAwIDBQJtBAECBgMCBmsHAQYGbgAAAwMAUgAAAANWAAMAA0obQCoAAQABbwAFAwIDBQJtAAIEAwIEawcGAgQEbgAAAwMAUgAAAANWAAMAA0pZWUATCAgIUAhQTEtKSTs6KiMbUQgFFisBBxcWMzI3JgE3PgQ3GwEzFxMeARceARcWFx4BFxYVFAYXIiYHIgYjND8CNj8BNj8BNic0Ji8CDgEXFB4BHwEWNxYVFAciJiMiBicGAZVfTDofCxUw/jUBDSQcHBYGhJxIBnITUhYJMBALCAtMCQQCASOOJCqcFQJJBwYDEQQCBQMCIhcY+w46ARAgCyAVAgEBIYIgBRQCLQIa+wEBAY3+BiwEBgYKGBABWAGUDP70K8o0E3ohGgYJEAMWCgMKAgoBCBgTEAEBAQcCAgYEBAlaNjgBIJoODBIKAgUDAQsVBQsMBgEIAAT///+xBC8DCwAIAA8AHwAvAFVAUh0UAgEDDwEAAQ4NDAkEAgAcFQIEAgRHAAIABAACBG0ABgcBAwEGA2AAAQAAAgEAYAAEBQUEVAAEBAVYAAUEBUwREC4rJiMZFxAfER8TExIIBRcrARQOASY0Nh4BARUhNTcXASUhIgYHERQWNyEyNicRNCYXERQGByEiJjcRNDY3ITIWAWU+Wj4+Wj4CPPzusloBHQEe/IMHCgEMBgN9BwwBClE0JfyDJDYBNCUDfSU0AhEtPgJCVkIEOv76+muzWQEdoQoI/VoHDAEKCAKmCAoS/VolNAE2JAKmJTQBNgACAAD/+QNYAv8AIwBIALJAFTgBCQo3AQQJJwEIAyIaEQYEAggER0uwHFBYQDcOAQwECwsMZQAKAAkECglgBQEEBgEDCAQDXgALAAgCCwhfDQcCAgAAAlINBwICAgBWAQEAAgBKG0A4DgEMBAsEDAttAAoACQQKCWAFAQQGAQMIBANeAAsACAILCF8NBwICAAACUg0HAgICAFYBAQACAEpZQB4kJAAAJEgkSEdGPTs0MiYlACMAIxEZERIRGxEPBRsrJRUjLwEmJyMUDwEGDwEjNTM3JyM1Mx8BFhczNj8CMxUjBxcBFSEnJjU0PgQ1NCYHIgcGByc2NzYzMhYVFA4EBzM1AfWLWQ0EAgIBBAUJVpBHbmdMmk0NBAICAQUOTo9FZ3IBoP7hAQMeKjQqHiIWHRkIDDsPFC86PUwaLC4uHAOCVl2NFwUHAgIICw6LXaKYXn8YBQYFBhh/XpWlAXtzDxAKJDomJBgkEhUcARUGEDQUESRCOB80IiAYIBQtAAACAAD/agNZAe4AIwBFAONAFRoBCgM3IhEDCQo2BgICCSgBCAsER0uwHFBYQDAOAQwACwsMZQUBBAYBAwoEA14ACgAJAgoJYA0HAgIBAQAMAgBeAAsLCFcACAgNCEkbS7AhUFhAMQ4BDAALAAwLbQUBBAYBAwoEA14ACgAJAgoJYA0HAgIBAQAMAgBeAAsLCFcACAgNCEkbQDYOAQwACwAMC20FAQQGAQMKBANeAAoACQIKCWANBwICAQEADAIAXgALCAgLUgALCwhXAAgLCEtZWUAeJCQAACRFJEVEQzs6MzEmJQAjACMRGRESERsRDwUbKyUVIy8BJicjFA8BBg8BIzUzNycjNTMfARYXMzY/AjMVIwcXBRUhLwE0PgQ1NCYHIgcGByc2NzYyFgcUDgMHMzUB9YtZDQQCAgEEBQlWkEduZ0yaTQ0EAgIBBQ5Oj0VncgGh/uECAh4qNCoeIhYcGggMOw8ULXpMASY4NiwBglZdjRcFBwICCAsOi12imF5/GAUGBQYYf16VpXlzDxojPCQmFiYRFRwBFQYQNBQRJEI4JTomICYWLQAAAAMAAAAAA5gBzAAIABEAGgA6QDcIBAcCBgUAAQEAVAgEBwIGBQAAAVgFAwIBAAFMExIKCQEAFxYSGhMaDg0JEQoRBQQACAEICQUUKxMyFhQGIiY0NiEyFhQGIiY0NiEyFhQGIiY0Nm4uQEBcQEABjC5AQlhCQAGMLkBAXEBAAcxAWkJCWkBAWkJCWkBAWkJCWkAAAAAGAAD/sQMSAwsADwAfAC8AOwBDAGcAZEBhV0UCBggpIRkRCQEGAAECRwUDAgEGAAYBAG0EAgIABwYAB2sADgAJCA4JYA8NAggMCgIGAQgGXgAHCwsHVAAHBwtYAAsHC0xlZGFeW1lTUk9MSUdBPxQkFCYmJiYmIxAFHSsBERQGKwEiJjURNDY7ATIWFxEUBisBIiY1ETQ2OwEyFhcRFAYrASImNRE0NjsBMhYTESERFB4BMyEyPgEBMycmJyMGBwUVFAYrAREUBiMhIiYnESMiJj0BNDY7ATc+ATczMhYfATMyFgEeCggkCAoKCCQICo8KCCQICgoIJAgKjgoHJAgKCggkBwpI/gwICAIB0AIICP6J+hsEBbEGBAHrCgg2NCX+MCU0ATUICgoIrCcJLBayFyoJJ60ICgG3/r8ICgoIAUEICgoI/r8ICgoIAUEICgoI/r8ICgoIAUEICgr+ZAIR/e8MFAoKFAJlQQUBAQVTJAgK/e8uREIuAhMKCCQICl0VHAEeFF0KAAEAAP/0A2sCyAAFAAazBQEBLSsJAjcXAQNr/en+rHvEAaQCTP2oAVJ8wwHJAAAAAAQAAP/5A6EDUgAIABEAJwA/AERAQTwBBwgJAAICAAJHCQEHCAMIBwNtAAYDBAMGBG0FAQMBAQACAwBgAAQAAgQCXAAICAwIST89JCUWIhIlORgSCgUdKyU0LgEOARY+ATc0LgEOARY+ATcVFAYHISImJzU0NjMhFxYyPwEhMhYDFg8BBiIvASY3NjsBNTQ2NzMyFgcVMzICyhQeFAIYGhiNFCASAhYcGEYgFvzLFx4BIBYBA0shViFMAQMWILYKEvoKHgr6EQkKF48WDo8OFgGPGGQPFAIYGhgCFA8PFAIYGhgCFIyzFh4BIBWzFiBMICBMIAEoFxD6Cwv6EBcV+g8UARYO+gAAAAMAAP9qA1kDUgATABoAIwBctRQBAgQBR0uwIVBYQB4AAgADBQIDYAAEBAFYAAEBDEgGAQUFAFgAAAANAEkbQBsAAgADBQIDYAYBBQAABQBcAAQEAVgAAQEMBElZQA4bGxsjGyMTJhQ1NgcFGSsBHgEVERQGByEiJicRNDY3ITIWFwcVMyYvASYTESMiJic1IREDMxAWHhf9EhceASAWAfQWNg9K0gUHrwbG6BceAf5TAn4QNBj9fhceASAWA3wXHgEWECbSEQavB/ywAjwgFen8pgAAAgAA/7EDWgMLAAgAagBFQEJlWUxBBAAEOwoCAQA0KBsQBAMBA0cABQQFbwYBBAAEbwAAAQBvAAEDAW8AAwIDbwACAmZcW1NRSUgrKiIgExIHBRYrATQmIg4BFjI2JRUUBg8BBgcWFxYUBw4BJyIvAQYHBgcGKwEiJjUnJicHBiInJicmNDc+ATcmLwEuASc1NDY/ATY3JicmNDc+ATMyHwE2NzY3NjsBMhYfARYXNzYyFxYXFhQHDgEHFh8BHgECO1J4UgJWdFYBHAgHaAoLEygGBQ9QDQcHTRkaCQcEEHwIDBAbF08GEAZGFgQFCCgKDwhmBwgBCgVoCA4XJQYFD1ANBwhNGBoJCAMRfAcMAQ8cF08FDwdIFAQECSgKDwhmBwoBXjtUVHZUVHh8BwwBEB4VGzIGDgYVUAEFPA0ITBwQCgdnCQw8BQZAHgUOBgwyDxwbDwEMB3wHDAEQGRogLQcMBxRQBTwNCEwcEAoHZwkLOwUFQxwFDgYMMg8cGhABDAAAAAIAAP9pA+gDUgAQABQAVEAJCwoDAgQDAgFHS7AhUFhAGQQBAwIAAgMAbQACAgxIAAAAAVgAAQENAUkbQBYEAQMCAAIDAG0AAAABAAFcAAICDAJJWUAMERERFBEUExcWBQUXKxE0NxcGEBYgNhAnNxYQACQAJREzEZNladABKtBpZpL+3P5g/t4BqpABXs+TZmf+1tDQASpnZpP+Yv7aAgEigwJC/b4AAAEAAAAAAkQBkAAHACBAHQIBAAEBAFQCAQAAAVgAAQABTAEABQIABwEGAwUUKwEyFCMhIjQzAiYeHv34Hh4BkGRkAAAAAQAAAAADhAKyAA4AJkAjBQEAAQFHBgEBRQQBAEQAAQAAAVQAAQEAWAAAAQBMFBICBRYrJS4BIxUJARUyHgQXA4RW9ND+lgFqWpxqVjQkBgqYWtoBTgFCwDZWaGhWGgAAAf/0/6IB3gMcAA0ABrMJAwEtKwUWBwYnASY3ATYXFgcBAcQaGhoW/ngYGAGIFhoaGv6aFBoWGhoBihgaAYoaGhYa/owAAAAAAf/z/6IB3QMcAA0ABrMLBQEtKxcJASY3NhcBFgcBBicmDQFm/poaGhoWAYgYGP54FhoaFAFyAXQaFhoa/nYaGP52GhoWAAAAC////2oELwMLAA8AHwAvAD8ATwBfAG8AfwCPAJ8ArwDEQBmQQAIJCIiAYCAEBQR4OAIDAlAwAAMBAARHS7AhUFhANwAVEgwCCAkVCGATAQkQAQQFCQRgEQ0CBQ4GAgIDBQJgDwEDCgEAAQMAYAsHAgEBFFgAFBQNFEkbQD4AFRIMAggJFQhgEwEJEAEEBQkEYBENAgUOBgICAwUCYA8BAwoBAAEDAGALBwIBFBQBVAsHAgEBFFgAFAEUTFlAJq6rpqOem5aUjoyGhH58dnNua2ZkXltWVE5LNTU1JjUmNTUzFgUdKxc1NCYHIyIGHQEUFjsBMjYnNTQmKwEiBh0BFBY3MzI2JzU0JicjIgYdARQWFzMyNgERNCYjISIGFxEUFjMhMjYBNTQmByMiBh0BFBY7ATI2ATU0JgcjIgYHFRQWOwEyNgMRNCYHISIGFxEUFhchMjYXNTQmKwEiBgcVFBY3MzI2NzU0JicjIgYHFRQWFzMyNjc1NCYHIyIGBxUUFjsBMjY3ERQGIyEiJjcRNDY3ITIW1hQPSA4WFg5IDhYBFA9IDhYWDkgOFgEUD0gOFhYOSA4WAjsWDv5TDhYBFA8BrQ8U/cUUD0gOFhYOSA4WAxEWDkcPFAEWDkcPFNUWDv5TDhYBFA8BrQ8U1xYORw8UARYORw8UARYORw8UARYORw8UARYORw8UARYORw8USDQl/IMkNgE0JQN9JTQrSA4WARQPSA4WFuRIDhYWDkgOFgEU5kcPFAEWDkcPFAEW/mEBHg4WFg7+4g4WFgKRRw8WARQQRw4WFv2LSA4WARQPSA4WFgG7AR0PFgEUEP7jDxQBFslIDhYWDkgOFgEU5kcPFAEWDkcPFAEW5EcPFgEUEEcOFhZn/RIlNDQlAu4lNAE2AAMAAP92A6ADCwAIABQALgAzQDAmAQQDKCcSAwIEAAEBAANHAAMEA28ABAIEbwACAAJvAAABAG8AAQFmHCMtGBIFBRkrNzQmDgIeATYlAQYiLwEmNDcBHgElFAcOASciJjQ2NzIWFxYUDwEVFzY/ATYyFtYUHhQCGBoYAWb+gxU6FjsVFQF8FlQBmQ0bgk9okpJoIEYZCQmjbAIqSyEPCh0OFgISIBIEGvb+gxQUPRQ7FgF8N1TdFiVLXgGS0JACFBAGEgdefTwCGS0UCgAAAAAGAAD/agNZA1IAEwAaACMANwBLAFsAhEALFAECBEMsAgcGAkdLsCFQWEAtAAYDBwMGB20ABwUDBwVrAAIAAwYCA2AABAQBWAABAQxICAEFBQBYAAAADQBJG0AqAAYDBwMGB20ABwUDBwVrAAIAAwYCA2AIAQUAAAUAXAAEBAFYAAEBDARJWUASGxszMiYlGyMbIxMmFDU2CQUZKwEeARURFAYHISImJxE0NjchMhYXBxUzJi8BJhMRIyImJzUhERM2Mh8BFhQPARcWBg8BBiIvASY3IRYPAQ4BLwEuAT8BJyY2PwE2FhcDLgE3Ez4BHwEeAQcDDgEnAzMQFh4X/RIXHgEgFgH0FjYPStIFB68GxugXHgH+U8UEEAUcBwNmZgQCBhwGDgV+CAgCPQgIfgQOBxwGAgRmZgQCBhwGEAPcBwgBTQEMCCMHCAFNAQwHAn4QNBj9fhceASAWA3wXHgEWECbSEQavB/ywAjwgFen8pgH0BwMVBQ4GiIgGDgUVBAeoCwsLC6gGAgUVBQ4GiIgGDgUVBAIG/lcBDgYB0AcIAQUCDAf+MAcIAQAAAAr////5A6EDCwAPAB8ALwA/AE8AXwBvAH8AjwCfAHpAd4mBaWE5ODEHBwZ5cUlBGREGAwJZUSkhCQgBBwEAA0cAExAMAgYHEwZgEQ0CBw4IAgIDBwJgDwkCAwoEAgABAwBgCwUCARISAVQLBQIBARJYABIBEkyem5aTjYuFg317dXNta2VjXVtVU01LJiYmJiYmJiYjFAUdKyU1NCYrASIGBxUUFjsBMjY9ATQmKwEiBgcVFBY7ATI2BTU0JisBIgYdARQWOwEyNgE1NCYrASIGBxUUFjsBMjYFNTQmKwEiBh0BFBY7ATI2BTU0JisBIgYdARQWOwEyNgE1NCYrASIGHQEUFjsBMjYFNTQmKwEiBh0BFBY7ATI2PQE0JisBIgYdARQWOwEyNjcRFAYjISImNxE0NjchMhYBHgoIswcKAQwGswgKCgizBwoBDAazCAoBHQoHswgKCgizBwr+4woIswcKAQwGswgKAR0KB7MICgoIswcKAR4KCLIICgoIsggK/uIKB7MICgoIswcKAR4KCLIICgoIsggKCgiyCAoKCLIICkg2JP0SJDYBNCUC7iU0UmsICgoIawgKCt5sBwoKB2wHCgrPawgKCghrCAoKAbVrCAoKCGsICgrPbAcKCgdsBwoKz2sICgoIawgKCgG1awgKCghrCAoKz2wHCgoHbAcKCt5rCAoKCGsICgq6/aElNDQlAl8lNAE2AAMAAP+GA6wDMgADACMAJwAyQC8mIxwBBAMCJyUCAwEDEwwDAwABA0cAAgMCbwADAQNvAAEAAW8AAABmJhcmGQQFGCsTARcJARYUBwEGIi8BNjU0JiMiBycmNDcBNjIfAQYVFBYzMjcJA9gBRrL+ugIUDg792hAoEEwMOioWHEoQEAImDiwOSgw8KhoW/jgBlv7+/mgBEAFGsv66AaYOLA792hAQTBQcKjwOTBAoEAImDg5MFhoqOgz9vgGWAQL+agAAAAAF//3/sQNfAwsAEwAcACUANgBDAEJAPx0UAgIDAUcACQAGAwkGYAUBAwQBAgEDAmAAAQAABwEAYAAHCAgHVAAHBwhYAAgHCExBQBcXFhMUExkZEgoFHSslDgEuAScmPgEWFx4BMjY3PgEeASUUBiImPgIWBRQGIi4BPgEWFzQuAiIOAh4DPgM3FA4BIi4CPgEyHgECeRVwjnIUBA4cGgQOTF5KDwQcGhD+5io6LAIoPiYBICo8KAIsOC6NOl6GjohcPAI4YISSgmI2SXLG6MhuBnq89Lp++kNUAlBFDhoJDBAsODgsDw4KGuUeKio8KAIsHB4qKjwoAiyrSYRgODhghJKEXjwENGZ8TXXEdHTE6sR0dMQAAAAABwAA/2oEvwNSAAMABwALAA8AEwAXAEAATkAdPTAhFxYVExIREA8ODQsKCQgHBgUDAgEAGAACAUdLsCFQWEAMAAICDEgBAQAADQBJG0AMAQEAAgBwAAICDAJJWUAJNzYmJR8eAwUUKwU3NQcnNycHATc1Byc3JwcnNzUHJzcnBwEVFAYPAQYiLwEGDwEGIi8BLgEnNTQ2PwE1NDY/ATYyHwEeAR0BFx4BAWXW1iTi4uEDQdbWJOHh4hjW1iT29vYDVRQT+g4kDv4BA/oOJA36ExQBGBTyGBP6DR4N+hQY8hQYPWuwXD9gYWH+omuwXD9gYWFDXJVcP2lqav526RQiCX0ICH8BAX0ICH0JIhTpFSQIaN8WJAhrBgZrCSIX32gIJAAAAAL//P9+A9gDSgANAB8ACLUfFAgBAi0rNzYeAgcGBwY3NDc+AQEWAAcGBwYnJicmJyY3Njc2AHYmXlIMJFaOVAQGNBgDbBr+pHYmVggIEh4gIhAIQCh2AcSqIgpQXiRUEgwaBAY8qgKoGv5EdCZCBg4iHiAQBgpUJnQBVgACAAD/aQOdA1IAMAA9AHpACjIBBgIDAQAGAkdLsCRQWEAsAAQDAgMEAm0AAgYDAgZrAAAGAQYAAW0AAwMFWAAFBQxIAAYGAVgAAQENAUkbQCkABAMCAwQCbQACBgMCBmsAAAYBBgABbQAGAAEGAVwAAwMFWAAFBQwDSVlACzw6JBIpHCMQBwUaKwUhJicGIyIuATU0Pgc3Njc+BCc0IyIGByM+AxcyHgMXERQeAQE1DgQHFBYXMjYDnf74DwN4ul+UXhIYLihELlIuKjIyGBoqFhIBqldWDvQGTH6OWERybE4qAgIO/vUhbFxaMgFQP2eAfCg0dzqEYChENCogFhQKDAIGCQQGEBIiFX4+U1qARiABDixAckj+aEA2ZgE9ahMWEBZALz5AAW4AAAAE//z/8APmAswAFQAYADsARwDNQBUYAQYAHgEEBUIBAgRBNjUJBAECBEdLsApQWEAzAAAGAG8ABgUGbwAFBAVvAwEBAgcCAQdtAAcIAgcIawAICG4ABAICBFIABAQCVgACBAJKG0uwC1BYQC0AAAYAbwAGBQZvAAUEBW8HAwIBAggCAQhtAAgIbgAEAgIEUgAEBAJWAAIEAkobQDMAAAYAbwAGBQZvAAUEBW8DAQECBwIBB20ABwgCBwhrAAgIbgAEAgIEUgAEBAJWAAIEAkpZWUAMIz8jFREyEjUyCQUdKzUTNjsBMhcTFhUUKwEiLwEjBwYrASITMycBNjc2Mhc1NCMiBwYvASY3Njc2FhcWFREUKwEiJzUGIyYnJjcUFxY2NzUmJyYHBtEEDIoMBM8CEH0LBCPOIwQLfRTjjkgBKwQxLoMrTDswEggpBAglLzmSKTMQYxACLz5DLDODER1OEA0YOR0REwKtDAz9VwYCEAx7ewwBDPz+lVQsKSMgSjMOEkQMCCURGAwnLVT+vBAQCiUCKzBNHhUYDhtFGQYUIhcAAAAJAAD/sQNZAsQAAwATABcAGwAfAC8APwBDAEcAn0CcKwELBjsBDQQCRxoRFQMHEAEGCwcGXhcBCgALDAoLYBkPFAMFDgEEDQUEXhgBDAANAgwNYBMBAgEDAlQWCRIDAQgBAAMBAF4TAQICA1gAAwIDTEREQEAxMCEgHBwYGBQUBQQAAERHREdGRUBDQENCQTk2MD8xPykmIC8hLxwfHB8eHRgbGBsaGRQXFBcWFQ0KBBMFEwADAAMRGwUVKzcVIzUlMhYdARQGKwEiJj0BNDY/ARUhNRMVIzUBFSE1AzIWBxUUBgcjIiYnNTQ2FwEyFgcVFAYHIyImJzU0NhcFFSM1ExUhNcTEAYkOFhYOjw4WFg7o/h59fQNZ/mV9DxYBFBCODxQBFg4B9A4WARQPjw8UARYOAUF9ff4eQEdHSBYOjw4WFg6PDxQB1kdHAR5ISP3ER0cCgxQQjg8UARYOjg8WAf7iFA+PDxQBFg6PDhYBR0dHAR5ISAAAAQAAAAEAAMw8mblfDzz1AAsD6AAAAADWiwufAAAAANaLC5//nf9bBL8DVgAAAAgAAgAAAAAAAAABAAADUv9qAAAFBf+d/+YEvwABAAAAAAAAAAAAAAAAAAAAOgPoAAADoAAAAq3/ngKs/50C+gAAA6kAAAI7AAAD6P//A+j//wOgAAADoAAAA+gAAAPoAAAD6AAAA+gAAAPoAAAD6AAAA+gAAAPoAAAEL//+A1kAAANZAAADEQAAA+gAAAPoAAACRAAAA+n//wPp//gB1gAAA+gAAAI7AAAD6AAAA6AAAAQv//8DWQAAA1kAAAOYAAADEQAAA2sAAAOgAAADWQAAA1kAAAPoAAACRAAAA4QAAAHR//QB0f/zBC///wOgAAADWQAAA6D//wOsAAADWf/9BQUAAAPC//wDnQAAA+b//ANZAAAAAAAAAGgA3AE+AZwB6gJgAwADoATKBcQGDAZWBqAG6AjGCWQJ7Ao2CnoK/gxIDPYNrA3kDhwOng7oDygPag/IEJwRcBHqEqoTgBPKFI4UphUqFZQWVhaqFswW/BcgF0QYlhj+GdQa4htEG9AcYhygHTYeCB7EAAAAAQAAADoAsAALAAAAAAACADYARgBzAAAA1gtwAAAAAAAAABIA3gABAAAAAAAAADUAAAABAAAAAAABAAgANQABAAAAAAACAAcAPQABAAAAAAADAAgARAABAAAAAAAEAAgATAABAAAAAAAFAAsAVAABAAAAAAAGAAgAXwABAAAAAAAKACsAZwABAAAAAAALABMAkgADAAEECQAAAGoApQADAAEECQABABABDwADAAEECQACAA4BHwADAAEECQADABABLQADAAEECQAEABABPQADAAEECQAFABYBTQADAAEECQAGABABYwADAAEECQAKAFYBcwADAAEECQALACYByUNvcHlyaWdodCAoQykgMjAxOCBieSBvcmlnaW5hbCBhdXRob3JzIEAgZm9udGVsbG8uY29tZm9udGVsbG9SZWd1bGFyZm9udGVsbG9mb250ZWxsb1ZlcnNpb24gMS4wZm9udGVsbG9HZW5lcmF0ZWQgYnkgc3ZnMnR0ZiBmcm9tIEZvbnRlbGxvIHByb2plY3QuaHR0cDovL2ZvbnRlbGxvLmNvbQBDAG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAAMgAwADEAOAAgAGIAeQAgAG8AcgBpAGcAaQBuAGEAbAAgAGEAdQB0AGgAbwByAHMAIABAACAAZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AZgBvAG4AdABlAGwAbABvAFIAZQBnAHUAbABhAHIAZgBvAG4AdABlAGwAbABvAGYAbwBuAHQAZQBsAGwAbwBWAGUAcgBzAGkAbwBuACAAMQAuADAAZgBvAG4AdABlAGwAbABvAEcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAAcwB2AGcAMgB0AHQAZgAgAGYAcgBvAG0AIABGAG8AbgB0AGUAbABsAG8AIABwAHIAbwBqAGUAYwB0AC4AaAB0AHQAcAA6AC8ALwBmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQAAAAACAAAAAAAAAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADoBAgEDAQQBBQEGAQcBCAEJAQoBCwEMAQ0BDgEPARABEQESARMBFAEVARYBFwEYARkBGgEbARwBHQEeAR8BIAEhASIBIwEkASUBJgEnASgBKQEqASsBLAEtAS4BLwEwATEBMgEzATQBNQE2ATcBOAE5AToBOwAEaG9tZQd6b29tLWluCHpvb20tb3V0BXF1b3RlCGZvbnRzaXplBml0YWxpYwtpbmRlbnQtbGVmdAxpbmRlbnQtcmlnaHQGdW5saW5rBGxpbmsKYWxpZ24tbGVmdAxhbGlnbi1jZW50ZXILYWxpZ24tcmlnaHQNYWxpZ24tanVzdGlmeQ1saXN0LW51bWJlcmVkC2xpc3QtYnVsbGV0BmNhbWVyYQRtb3ZlBmVyYXNlcgZwZW5jaWwJdW5kZXJsaW5lBGJvbGQGc3RyaWtlBGNvZGUEcGx1cwRzcGluBGRvY3MGY2FuY2VsBWNvbG9yBHRpbnQGaGVhZGVyBGZvbnQHcGljdHVyZQtzdXBlcnNjcmlwdAlzdWJzY3JpcHQDZG90BXRyYXNoAm9rCGRvd25sb2FkA2RvYwNjb2cDb2ZmBW1pbnVzBGJhY2sNbGVmdC1vcGVuLWJpZw5yaWdodC1vcGVuLWJpZwV2aWRlbwZ3cmVuY2gJZmlsZS1jb2RlBXRhYmxlBnRpY2tldAVzbWlsZQVjdWJlcwVicnVzaAtmb250LWZhbWlseQl1cHBlcmNhc2UHc2xpZGVycwAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAABgAGAAYABgDVv9bA1b/W7AALCCwAFVYRVkgIEu4AA5RS7AGU1pYsDQbsChZYGYgilVYsAIlYbkIAAgAY2MjYhshIbAAWbAAQyNEsgABAENgQi2wASywIGBmLbACLCBkILDAULAEJlqyKAEKQ0VjRVJbWCEjIRuKWCCwUFBYIbBAWRsgsDhQWCGwOFlZILEBCkNFY0VhZLAoUFghsQEKQ0VjRSCwMFBYIbAwWRsgsMBQWCBmIIqKYSCwClBYYBsgsCBQWCGwCmAbILA2UFghsDZgG2BZWVkbsAErWVkjsABQWGVZWS2wAywgRSCwBCVhZCCwBUNQWLAFI0KwBiNCGyEhWbABYC2wBCwjISMhIGSxBWJCILAGI0KxAQpDRWOxAQpDsAFgRWOwAyohILAGQyCKIIqwASuxMAUlsAQmUVhgUBthUllYI1khILBAU1iwASsbIbBAWSOwAFBYZVktsAUssAdDK7IAAgBDYEItsAYssAcjQiMgsAAjQmGwAmJmsAFjsAFgsAUqLbAHLCAgRSCwC0NjuAQAYiCwAFBYsEBgWWawAWNgRLABYC2wCCyyBwsAQ0VCKiGyAAEAQ2BCLbAJLLAAQyNEsgABAENgQi2wCiwgIEUgsAErI7AAQ7AEJWAgRYojYSBkILAgUFghsAAbsDBQWLAgG7BAWVkjsABQWGVZsAMlI2FERLABYC2wCywgIEUgsAErI7AAQ7AEJWAgRYojYSBksCRQWLAAG7BAWSOwAFBYZVmwAyUjYUREsAFgLbAMLCCwACNCsgsKA0VYIRsjIVkqIS2wDSyxAgJFsGRhRC2wDiywAWAgILAMQ0qwAFBYILAMI0JZsA1DSrAAUlggsA0jQlktsA8sILAQYmawAWMguAQAY4ojYbAOQ2AgimAgsA4jQiMtsBAsS1RYsQRkRFkksA1lI3gtsBEsS1FYS1NYsQRkRFkbIVkksBNlI3gtsBIssQAPQ1VYsQ8PQ7ABYUKwDytZsABDsAIlQrEMAiVCsQ0CJUKwARYjILADJVBYsQEAQ2CwBCVCioogiiNhsA4qISOwAWEgiiNhsA4qIRuxAQBDYLACJUKwAiVhsA4qIVmwDENHsA1DR2CwAmIgsABQWLBAYFlmsAFjILALQ2O4BABiILAAUFiwQGBZZrABY2CxAAATI0SwAUOwAD6yAQEBQ2BCLbATLACxAAJFVFiwDyNCIEWwCyNCsAojsAFgQiBgsAFhtRAQAQAOAEJCimCxEgYrsHIrGyJZLbAULLEAEystsBUssQETKy2wFiyxAhMrLbAXLLEDEystsBgssQQTKy2wGSyxBRMrLbAaLLEGEystsBsssQcTKy2wHCyxCBMrLbAdLLEJEystsB4sALANK7EAAkVUWLAPI0IgRbALI0KwCiOwAWBCIGCwAWG1EBABAA4AQkKKYLESBiuwcisbIlktsB8ssQAeKy2wICyxAR4rLbAhLLECHistsCIssQMeKy2wIyyxBB4rLbAkLLEFHistsCUssQYeKy2wJiyxBx4rLbAnLLEIHistsCgssQkeKy2wKSwgPLABYC2wKiwgYLAQYCBDI7ABYEOwAiVhsAFgsCkqIS2wKyywKiuwKiotsCwsICBHICCwC0NjuAQAYiCwAFBYsEBgWWawAWNgI2E4IyCKVVggRyAgsAtDY7gEAGIgsABQWLBAYFlmsAFjYCNhOBshWS2wLSwAsQACRVRYsAEWsCwqsAEVMBsiWS2wLiwAsA0rsQACRVRYsAEWsCwqsAEVMBsiWS2wLywgNbABYC2wMCwAsAFFY7gEAGIgsABQWLBAYFlmsAFjsAErsAtDY7gEAGIgsABQWLBAYFlmsAFjsAErsAAWtAAAAAAARD4jOLEvARUqLbAxLCA8IEcgsAtDY7gEAGIgsABQWLBAYFlmsAFjYLAAQ2E4LbAyLC4XPC2wMywgPCBHILALQ2O4BABiILAAUFiwQGBZZrABY2CwAENhsAFDYzgtsDQssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIzAQEVFCotsDUssAAWsAQlsAQlRyNHI2GwCUMrZYouIyAgPIo4LbA2LLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsAJiILAAUFiwQGBZZrABY2AgsAErIIqKYSCwAkNgZCOwA0NhZFBYsAJDYRuwA0NgWbADJbACYiCwAFBYsEBgWWawAWNhIyAgsAQmI0ZhOBsjsAhDRrACJbAIQ0cjRyNhYCCwBEOwAmIgsABQWLBAYFlmsAFjYCMgsAErI7AEQ2CwASuwBSVhsAUlsAJiILAAUFiwQGBZZrABY7AEJmEgsAQlYGQjsAMlYGRQWCEbIyFZIyAgsAQmI0ZhOFktsDcssAAWICAgsAUmIC5HI0cjYSM8OC2wOCywABYgsAgjQiAgIEYjR7ABKyNhOC2wOSywABawAyWwAiVHI0cjYbAAVFguIDwjIRuwAiWwAiVHI0cjYSCwBSWwBCVHI0cjYbAGJbAFJUmwAiVhuQgACABjYyMgWGIbIVljuAQAYiCwAFBYsEBgWWawAWNgIy4jICA8ijgjIVktsDossAAWILAIQyAuRyNHI2EgYLAgYGawAmIgsABQWLBAYFlmsAFjIyAgPIo4LbA7LCMgLkawAiVGUlggPFkusSsBFCstsDwsIyAuRrACJUZQWCA8WS6xKwEUKy2wPSwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xKwEUKy2wPiywNSsjIC5GsAIlRlJYIDxZLrErARQrLbA/LLA2K4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrErARQrsARDLrArKy2wQCywABawBCWwBCYgLkcjRyNhsAlDKyMgPCAuIzixKwEUKy2wQSyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAJQysgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwAmIgsABQWLBAYFlmsAFjYCCwASsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsAJiILAAUFiwQGBZZrABY2GwAiVGYTgjIDwjOBshICBGI0ewASsjYTghWbErARQrLbBCLLA1Ky6xKwEUKy2wQyywNishIyAgPLAEI0IjOLErARQrsARDLrArKy2wRCywABUgR7AAI0KyAAEBFRQTLrAxKi2wRSywABUgR7AAI0KyAAEBFRQTLrAxKi2wRiyxAAEUE7AyKi2wRyywNCotsEgssAAWRSMgLiBGiiNhOLErARQrLbBJLLAII0KwSCstsEossgAAQSstsEsssgABQSstsEwssgEAQSstsE0ssgEBQSstsE4ssgAAQistsE8ssgABQistsFAssgEAQistsFEssgEBQistsFIssgAAPistsFMssgABPistsFQssgEAPistsFUssgEBPistsFYssgAAQCstsFcssgABQCstsFgssgEAQCstsFkssgEBQCstsFossgAAQystsFsssgABQystsFwssgEAQystsF0ssgEBQystsF4ssgAAPystsF8ssgABPystsGAssgEAPystsGEssgEBPystsGIssDcrLrErARQrLbBjLLA3K7A7Ky2wZCywNyuwPCstsGUssAAWsDcrsD0rLbBmLLA4Ky6xKwEUKy2wZyywOCuwOystsGgssDgrsDwrLbBpLLA4K7A9Ky2waiywOSsusSsBFCstsGsssDkrsDsrLbBsLLA5K7A8Ky2wbSywOSuwPSstsG4ssDorLrErARQrLbBvLLA6K7A7Ky2wcCywOiuwPCstsHEssDorsD0rLbByLLMJBAIDRVghGyMhWUIrsAhlsAMkUHiwARUwLQBLuADIUlixAQGOWbABuQgACABjcLEABUKyAAEAKrEABUKzCgIBCCqxAAVCsw4AAQgqsQAGQroCwAABAAkqsQAHQroAQAABAAkqsQMARLEkAYhRWLBAiFixA2REsSYBiFFYugiAAAEEQIhjVFixAwBEWVlZWbMMAgEMKrgB/4WwBI2xAgBEAAA=') format('truetype');\n}\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\n/*\n@media screen and (-webkit-min-device-pixel-ratio:0) {\n  @font-face {\n    font-family: 'fontello';\n    src: url('../font/fontello-58694627.svg#fontello') format('svg');\n  }\n}\n*/\n \n [class^=\"cb-icon-\"]:before, [class*=\" cb-icon-\"]:before {\n  font-family: \"fontello\";\n  font-style: normal;\n  font-weight: normal;\n  speak: none;\n \n  display: inline-block;\n  text-decoration: inherit;\n  width: 1em;\n  margin-right: .2em;\n  text-align: center;\n  /* opacity: .8; */\n \n  /* For safety - reset parent styles, that can break glyph codes*/\n  font-variant: normal;\n  text-transform: none;\n     \n  /* fix buttons height, for twitter bootstrap */\n  line-height: 1em;\n \n  /* Animation center compensation - margins should be symmetric */\n  /* remove if not needed */\n  margin-left: .2em;\n \n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n \n  /* Uncomment for 3D effect */\n  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n.cb-icon-home:before { content: '\\e800'; } /* '' */\n.cb-icon-zoom-in:before { content: '\\e809'; } /* '' */\n.cb-icon-zoom-out:before { content: '\\e80a'; } /* '' */\n.cb-icon-quote:before { content: '\\e826'; } /* '' */\n.cb-icon-fontsize:before { content: '\\e900'; } /* '' */\n.cb-icon-italic:before { content: '\\e901'; } /* '' */\n.cb-icon-indent-left:before { content: '\\e902'; } /* '' */\n.cb-icon-indent-right:before { content: '\\e903'; } /* '' */\n.cb-icon-unlink:before { content: '\\e904'; } /* '' */\n.cb-icon-link:before { content: '\\e905'; } /* '' */\n.cb-icon-align-left:before { content: '\\e906'; } /* '' */\n.cb-icon-align-center:before { content: '\\e907'; } /* '' */\n.cb-icon-align-right:before { content: '\\e908'; } /* '' */\n.cb-icon-align-justify:before { content: '\\e909'; } /* '' */\n.cb-icon-list-numbered:before { content: '\\e90a'; } /* '' */\n.cb-icon-list-bullet:before { content: '\\e90b'; } /* '' */\n.cb-icon-camera:before { content: '\\e90c'; } /* '' */\n.cb-icon-move:before { content: '\\e90d'; } /* '' */\n.cb-icon-eraser:before { content: '\\e90e'; } /* '' */\n.cb-icon-pencil:before { content: '\\e90f'; } /* '' */\n.cb-icon-underline:before { content: '\\e910'; } /* '' */\n.cb-icon-bold:before { content: '\\e911'; } /* '' */\n.cb-icon-strike:before { content: '\\e912'; } /* '' */\n.cb-icon-code:before { content: '\\e913'; } /* '' */\n.cb-icon-plus:before { content: '\\e914'; } /* '' */\n.cb-icon-spin:before { content: '\\e915'; } /* '' */\n.cb-icon-docs:before { content: '\\e916'; } /* '' */\n.cb-icon-cancel:before { content: '\\e917'; } /* '' */\n.cb-icon-color:before { content: '\\e918'; } /* '' */\n.cb-icon-tint:before { content: '\\e919'; } /* '' */\n.cb-icon-header:before { content: '\\e91a'; } /* '' */\n.cb-icon-font:before { content: '\\e91b'; } /* '' */\n.cb-icon-picture:before { content: '\\e91d'; } /* '' */\n.cb-icon-superscript:before { content: '\\e91e'; } /* '' */\n.cb-icon-subscript:before { content: '\\e91f'; } /* '' */\n.cb-icon-dot:before { content: '\\e920'; } /* '' */\n.cb-icon-trash:before { content: '\\e921'; } /* '' */\n.cb-icon-ok:before { content: '\\e922'; } /* '' */\n.cb-icon-download:before { content: '\\e923'; } /* '' */\n.cb-icon-doc:before { content: '\\e924'; } /* '' */\n.cb-icon-cog:before { content: '\\e925'; } /* '' */\n.cb-icon-off:before { content: '\\e926'; } /* '' */\n.cb-icon-minus:before { content: '\\e927'; } /* '' */\n.cb-icon-back:before { content: '\\e928'; } /* '' */\n.cb-icon-left-open-big:before { content: '\\e929'; } /* '' */\n.cb-icon-right-open-big:before { content: '\\e930'; } /* '' */\n.cb-icon-video:before { content: '\\e931'; } /* '' */\n.cb-icon-wrench:before { content: '\\e932'; } /* '' */\n.cb-icon-file-code:before { content: '\\e933'; } /* '' */\n.cb-icon-table:before { content: '\\e934'; } /* '' */\n.cb-icon-ticket:before { content: '\\e935'; } /* '' */\n.cb-icon-smile:before { content: '\\e936'; } /* '' */\n.cb-icon-cubes:before { content: '\\e937'; } /* '' */\n.cb-icon-brush:before { content: '\\e938'; } /* '' */\n.cb-icon-font-family:before { content: '\\e939'; } /* '' */\n.cb-icon-uppercase:before { content: '\\e940'; } /* '' */\n.cb-icon-sliders:before { content: '\\f1de'; } /* '' */"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/css/fontello.css",
    "content": "@font-face {\n  font-family: 'fontello';\n  src: url('../font/fontello-87191154.eot');\n  src: url('../font/fontello-87191154.eot#iefix') format('embedded-opentype'),\n       url('../font/fontello-87191154.woff2') format('woff2'),\n       url('../font/fontello-87191154.woff') format('woff'),\n       url('../font/fontello-87191154.ttf') format('truetype'),\n       url('../font/fontello-87191154.svg#fontello') format('svg');\n  font-weight: normal;\n  font-style: normal;\n}\n/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */\n/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */\n/*\n@media screen and (-webkit-min-device-pixel-ratio:0) {\n  @font-face {\n    font-family: 'fontello';\n    src: url('../font/fontello-87191154.svg#fontello') format('svg');\n  }\n}\n*/\n \n [class^=\"cb-icon-\"]:before, [class*=\" cb-icon-\"]:before {\n  font-family: \"fontello\";\n  font-style: normal;\n  font-weight: normal;\n  speak: none;\n \n  display: inline-block;\n  text-decoration: inherit;\n  width: 1em;\n  margin-right: .2em;\n  text-align: center;\n  /* opacity: .8; */\n \n  /* For safety - reset parent styles, that can break glyph codes*/\n  font-variant: normal;\n  text-transform: none;\n \n  /* fix buttons height, for twitter bootstrap */\n  line-height: 1em;\n \n  /* Animation center compensation - margins should be symmetric */\n  /* remove if not needed */\n  margin-left: .2em;\n \n  /* you can be more comfortable with increased icons size */\n  /* font-size: 120%; */\n \n  /* Font smoothing. That was taken from TWBS */\n  -webkit-font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n \n  /* Uncomment for 3D effect */\n  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n}\n \n.cb-icon-home:before { content: '\\e800'; } /* '' */\n.cb-icon-zoom-in:before { content: '\\e809'; } /* '' */\n.cb-icon-zoom-out:before { content: '\\e80a'; } /* '' */\n.cb-icon-quote:before { content: '\\e826'; } /* '' */\n.cb-icon-fontsize:before { content: '\\e900'; } /* '' */\n.cb-icon-italic:before { content: '\\e901'; } /* '' */\n.cb-icon-indent-left:before { content: '\\e902'; } /* '' */\n.cb-icon-indent-right:before { content: '\\e903'; } /* '' */\n.cb-icon-unlink:before { content: '\\e904'; } /* '' */\n.cb-icon-link:before { content: '\\e905'; } /* '' */\n.cb-icon-align-left:before { content: '\\e906'; } /* '' */\n.cb-icon-align-center:before { content: '\\e907'; } /* '' */\n.cb-icon-align-right:before { content: '\\e908'; } /* '' */\n.cb-icon-align-justify:before { content: '\\e909'; } /* '' */\n.cb-icon-list-numbered:before { content: '\\e90a'; } /* '' */\n.cb-icon-list-bullet:before { content: '\\e90b'; } /* '' */\n.cb-icon-camera:before { content: '\\e90c'; } /* '' */\n.cb-icon-move:before { content: '\\e90d'; } /* '' */\n.cb-icon-eraser:before { content: '\\e90e'; } /* '' */\n.cb-icon-pencil:before { content: '\\e90f'; } /* '' */\n.cb-icon-underline:before { content: '\\e910'; } /* '' */\n.cb-icon-bold:before { content: '\\e911'; } /* '' */\n.cb-icon-strike:before { content: '\\e912'; } /* '' */\n.cb-icon-code:before { content: '\\e913'; } /* '' */\n.cb-icon-plus:before { content: '\\e914'; } /* '' */\n.cb-icon-spin:before { content: '\\e915'; } /* '' */\n.cb-icon-docs:before { content: '\\e916'; } /* '' */\n.cb-icon-cancel:before { content: '\\e917'; } /* '' */\n.cb-icon-color:before { content: '\\e918'; } /* '' */\n.cb-icon-tint:before { content: '\\e919'; } /* '' */\n.cb-icon-header:before { content: '\\e91a'; } /* '' */\n.cb-icon-font:before { content: '\\e91b'; } /* '' */\n.cb-icon-picture:before { content: '\\e91d'; } /* '' */\n.cb-icon-superscript:before { content: '\\e91e'; } /* '' */\n.cb-icon-subscript:before { content: '\\e91f'; } /* '' */\n.cb-icon-dot:before { content: '\\e920'; } /* '' */\n.cb-icon-trash:before { content: '\\e921'; } /* '' */\n.cb-icon-ok:before { content: '\\e922'; } /* '' */\n.cb-icon-download:before { content: '\\e923'; } /* '' */\n.cb-icon-doc:before { content: '\\e924'; } /* '' */\n.cb-icon-cog:before { content: '\\e925'; } /* '' */\n.cb-icon-off:before { content: '\\e926'; } /* '' */\n.cb-icon-minus:before { content: '\\e927'; } /* '' */\n.cb-icon-back:before { content: '\\e928'; } /* '' */\n.cb-icon-left-open-big:before { content: '\\e929'; } /* '' */\n.cb-icon-right-open-big:before { content: '\\e930'; } /* '' */\n.cb-icon-video:before { content: '\\e931'; } /* '' */\n.cb-icon-wrench:before { content: '\\e932'; } /* '' */\n.cb-icon-file-code:before { content: '\\e933'; } /* '' */\n.cb-icon-table:before { content: '\\e934'; } /* '' */\n.cb-icon-ticket:before { content: '\\e935'; } /* '' */\n.cb-icon-smile:before { content: '\\e936'; } /* '' */\n.cb-icon-cubes:before { content: '\\e937'; } /* '' */\n.cb-icon-brush:before { content: '\\e938'; } /* '' */\n.cb-icon-font-family:before { content: '\\e939'; } /* '' */\n.cb-icon-uppercase:before { content: '\\e940'; } /* '' */\n.cb-icon-sliders:before { content: '\\f1de'; } /* '' */"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/icons/demo.html",
    "content": "<!DOCTYPE html>\n<html>\n  <head><!--[if lt IE 9]><script language=\"javascript\" type=\"text/javascript\" src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\"></script><![endif]-->\n    <meta charset=\"UTF-8\"><style>/*\n * Bootstrap v2.2.1\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n.clearfix {\n  *zoom: 1;\n}\n.clearfix:before,\n.clearfix:after {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.clearfix:after {\n  clear: both;\n}\nhtml {\n  font-size: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n}\na:focus {\n  outline: thin dotted #333;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\na:hover,\na:active {\n  outline: 0;\n}\nbutton,\ninput,\nselect,\ntextarea {\n  margin: 0;\n  font-size: 100%;\n  vertical-align: middle;\n}\nbutton,\ninput {\n  *overflow: visible;\n  line-height: normal;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\nbody {\n  margin: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 14px;\n  line-height: 20px;\n  color: #333;\n  background-color: #fff;\n}\na {\n  color: #08c;\n  text-decoration: none;\n}\na:hover {\n  color: #005580;\n  text-decoration: underline;\n}\n.row {\n  margin-left: -20px;\n  *zoom: 1;\n}\n.row:before,\n.row:after {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.row:after {\n  clear: both;\n}\n[class*=\"span\"] {\n  float: left;\n  min-height: 1px;\n  margin-left: 20px;\n}\n.container,\n.navbar-static-top .container,\n.navbar-fixed-top .container,\n.navbar-fixed-bottom .container {\n  width: 940px;\n}\n.span12 {\n  width: 940px;\n}\n.span11 {\n  width: 860px;\n}\n.span10 {\n  width: 780px;\n}\n.span9 {\n  width: 700px;\n}\n.span8 {\n  width: 620px;\n}\n.span7 {\n  width: 540px;\n}\n.span6 {\n  width: 460px;\n}\n.span5 {\n  width: 380px;\n}\n.span4 {\n  width: 300px;\n}\n.span3 {\n  width: 220px;\n}\n.span2 {\n  width: 140px;\n}\n.span1 {\n  width: 60px;\n}\n[class*=\"span\"].pull-right,\n.row-fluid [class*=\"span\"].pull-right {\n  float: right;\n}\n.container {\n  margin-right: auto;\n  margin-left: auto;\n  *zoom: 1;\n}\n.container:before,\n.container:after {\n  display: table;\n  content: \"\";\n  line-height: 0;\n}\n.container:after {\n  clear: both;\n}\np {\n  margin: 0 0 10px;\n}\n.lead {\n  margin-bottom: 20px;\n  font-size: 21px;\n  font-weight: 200;\n  line-height: 30px;\n}\nsmall {\n  font-size: 85%;\n}\nh1 {\n  margin: 10px 0;\n  font-family: inherit;\n  font-weight: bold;\n  line-height: 20px;\n  color: inherit;\n  text-rendering: optimizelegibility;\n}\nh1 small {\n  font-weight: normal;\n  line-height: 1;\n  color: #999;\n}\nh1 {\n  line-height: 40px;\n}\nh1 {\n  font-size: 38.5px;\n}\nh1 small {\n  font-size: 24.5px;\n}\nbody {\n  margin-top: 90px;\n}\n.header {\n  position: fixed;\n  top: 0;\n  left: 50%;\n  margin-left: -480px;\n  background-color: #fff;\n  border-bottom: 1px solid #ddd;\n  padding-top: 10px;\n  z-index: 10;\n}\n.footer {\n  color: #ddd;\n  font-size: 12px;\n  text-align: center;\n  margin-top: 20px;\n}\n.footer a {\n  color: #ccc;\n  text-decoration: underline;\n}\n.the-icons {\n  font-size: 14px;\n  line-height: 24px;\n}\n.switch {\n  position: absolute;\n  right: 0;\n  bottom: 10px;\n  color: #666;\n}\n.switch input {\n  margin-right: 0.3em;\n}\n.codesOn .i-name {\n  display: none;\n}\n.codesOn .i-code {\n  display: inline;\n}\n.i-code {\n  display: none;\n}\n@font-face {\n      font-family: 'fontello';\n      src: url('font/fontello-22591507.eot');\n      src: url('font/fontello-22591507.eot#iefix') format('embedded-opentype'),\n           url('font/fontello-22591507.woff') format('woff'),\n           url('font/fontello-22591507.ttf') format('truetype'),\n           url('font/fontello-22591507.svg#fontello') format('svg');\n      font-weight: normal;\n      font-style: normal;\n    }\n\n\n    .demo-icon\n    {\n      font-family: \"fontello\";\n      font-style: normal;\n      font-weight: normal;\n      speak: none;\n\n      display: inline-block;\n      text-decoration: inherit;\n      width: 1em;\n      margin-right: .2em;\n      text-align: center;\n      /* opacity: .8; */\n\n      /* For safety - reset parent styles, that can break glyph codes*/\n      font-variant: normal;\n      text-transform: none;\n\n      /* fix buttons height, for twitter bootstrap */\n      line-height: 1em;\n\n      /* Animation center compensation - margins should be symmetric */\n      /* remove if not needed */\n      margin-left: .2em;\n\n      /* You can be more comfortable with increased icons size */\n      /* font-size: 120%; */\n\n      /* Font smoothing. That was taken from TWBS */\n      -webkit-font-smoothing: antialiased;\n      -moz-osx-font-smoothing: grayscale;\n\n      /* Uncomment for 3D effect */\n      /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */\n    }\n     </style>\n    <link rel=\"stylesheet\" href=\"css/animation.css\"><!--[if IE 7]><link rel=\"stylesheet\" href=\"https://www.captus-rnd.com/gwenael/content_builder/contentbuilder/icons/css/fontello-ie7.css\"><![endif]-->\n    <script>\n      function toggleCodes(on) {\n        var obj = document.getElementById('icons');\n\n        if (on) {\n          obj.className += ' codesOn';\n        } else {\n          obj.className = obj.className.replace(' codesOn', '');\n        }\n      }\n\n    </script>\n  </head>\n  <body>\n    <div class=\"container header\">\n      <h1>\n        fontello\n         <small>font demo</small>\n      </h1>\n      <label class=\"switch\">\n        <input type=\"checkbox\" onclick=\"toggleCodes(this.checked)\">show codes\n      </label>\n    </div>\n    <div id=\"icons\" class=\"container\">\n      <div class=\"row\">\n        <div title=\"Code: 0xe800\" class=\"the-icons span3\"><i class=\"demo-icon icon-home\">&#xe800;</i> <span class=\"i-name\">icon-home</span><span class=\"i-code\">0xe800</span></div>\n        <div title=\"Code: 0xe809\" class=\"the-icons span3\"><i class=\"demo-icon icon-zoom-in\">&#xe809;</i> <span class=\"i-name\">icon-zoom-in</span><span class=\"i-code\">0xe809</span></div>\n        <div title=\"Code: 0xe80a\" class=\"the-icons span3\"><i class=\"demo-icon icon-zoom-out\">&#xe80a;</i> <span class=\"i-name\">icon-zoom-out</span><span class=\"i-code\">0xe80a</span></div>\n        <div title=\"Code: 0xe826\" class=\"the-icons span3\"><i class=\"demo-icon icon-quote\">&#xe826;</i> <span class=\"i-name\">icon-quote</span><span class=\"i-code\">0xe826</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe900\" class=\"the-icons span3\"><i class=\"demo-icon icon-fontsize\">&#xe900;</i> <span class=\"i-name\">icon-fontsize</span><span class=\"i-code\">0xe900</span></div>\n        <div title=\"Code: 0xe901\" class=\"the-icons span3\"><i class=\"demo-icon icon-italic\">&#xe901;</i> <span class=\"i-name\">icon-italic</span><span class=\"i-code\">0xe901</span></div>\n        <div title=\"Code: 0xe902\" class=\"the-icons span3\"><i class=\"demo-icon icon-indent-left\">&#xe902;</i> <span class=\"i-name\">icon-indent-left</span><span class=\"i-code\">0xe902</span></div>\n        <div title=\"Code: 0xe903\" class=\"the-icons span3\"><i class=\"demo-icon icon-indent-right\">&#xe903;</i> <span class=\"i-name\">icon-indent-right</span><span class=\"i-code\">0xe903</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe904\" class=\"the-icons span3\"><i class=\"demo-icon icon-unlink\">&#xe904;</i> <span class=\"i-name\">icon-unlink</span><span class=\"i-code\">0xe904</span></div>\n        <div title=\"Code: 0xe905\" class=\"the-icons span3\"><i class=\"demo-icon icon-link\">&#xe905;</i> <span class=\"i-name\">icon-link</span><span class=\"i-code\">0xe905</span></div>\n        <div title=\"Code: 0xe906\" class=\"the-icons span3\"><i class=\"demo-icon icon-align-left\">&#xe906;</i> <span class=\"i-name\">icon-align-left</span><span class=\"i-code\">0xe906</span></div>\n        <div title=\"Code: 0xe907\" class=\"the-icons span3\"><i class=\"demo-icon icon-align-center\">&#xe907;</i> <span class=\"i-name\">icon-align-center</span><span class=\"i-code\">0xe907</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe908\" class=\"the-icons span3\"><i class=\"demo-icon icon-align-right\">&#xe908;</i> <span class=\"i-name\">icon-align-right</span><span class=\"i-code\">0xe908</span></div>\n        <div title=\"Code: 0xe909\" class=\"the-icons span3\"><i class=\"demo-icon icon-align-justify\">&#xe909;</i> <span class=\"i-name\">icon-align-justify</span><span class=\"i-code\">0xe909</span></div>\n        <div title=\"Code: 0xe90a\" class=\"the-icons span3\"><i class=\"demo-icon icon-list-numbered\">&#xe90a;</i> <span class=\"i-name\">icon-list-numbered</span><span class=\"i-code\">0xe90a</span></div>\n        <div title=\"Code: 0xe90b\" class=\"the-icons span3\"><i class=\"demo-icon icon-list-bullet\">&#xe90b;</i> <span class=\"i-name\">icon-list-bullet</span><span class=\"i-code\">0xe90b</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe90c\" class=\"the-icons span3\"><i class=\"demo-icon icon-camera\">&#xe90c;</i> <span class=\"i-name\">icon-camera</span><span class=\"i-code\">0xe90c</span></div>\n        <div title=\"Code: 0xe90d\" class=\"the-icons span3\"><i class=\"demo-icon icon-move\">&#xe90d;</i> <span class=\"i-name\">icon-move</span><span class=\"i-code\">0xe90d</span></div>\n        <div title=\"Code: 0xe90e\" class=\"the-icons span3\"><i class=\"demo-icon icon-eraser\">&#xe90e;</i> <span class=\"i-name\">icon-eraser</span><span class=\"i-code\">0xe90e</span></div>\n        <div title=\"Code: 0xe90f\" class=\"the-icons span3\"><i class=\"demo-icon icon-pencil\">&#xe90f;</i> <span class=\"i-name\">icon-pencil</span><span class=\"i-code\">0xe90f</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe910\" class=\"the-icons span3\"><i class=\"demo-icon icon-underline\">&#xe910;</i> <span class=\"i-name\">icon-underline</span><span class=\"i-code\">0xe910</span></div>\n        <div title=\"Code: 0xe911\" class=\"the-icons span3\"><i class=\"demo-icon icon-bold\">&#xe911;</i> <span class=\"i-name\">icon-bold</span><span class=\"i-code\">0xe911</span></div>\n        <div title=\"Code: 0xe912\" class=\"the-icons span3\"><i class=\"demo-icon icon-strike\">&#xe912;</i> <span class=\"i-name\">icon-strike</span><span class=\"i-code\">0xe912</span></div>\n        <div title=\"Code: 0xe913\" class=\"the-icons span3\"><i class=\"demo-icon icon-code\">&#xe913;</i> <span class=\"i-name\">icon-code</span><span class=\"i-code\">0xe913</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe914\" class=\"the-icons span3\"><i class=\"demo-icon icon-plus\">&#xe914;</i> <span class=\"i-name\">icon-plus</span><span class=\"i-code\">0xe914</span></div>\n        <div title=\"Code: 0xe915\" class=\"the-icons span3\"><i class=\"demo-icon icon-spin animate-spin\">&#xe915;</i> <span class=\"i-name\">icon-spin</span><span class=\"i-code\">0xe915</span></div>\n        <div title=\"Code: 0xe916\" class=\"the-icons span3\"><i class=\"demo-icon icon-docs\">&#xe916;</i> <span class=\"i-name\">icon-docs</span><span class=\"i-code\">0xe916</span></div>\n        <div title=\"Code: 0xe917\" class=\"the-icons span3\"><i class=\"demo-icon icon-cancel\">&#xe917;</i> <span class=\"i-name\">icon-cancel</span><span class=\"i-code\">0xe917</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe918\" class=\"the-icons span3\"><i class=\"demo-icon icon-color\">&#xe918;</i> <span class=\"i-name\">icon-color</span><span class=\"i-code\">0xe918</span></div>\n        <div title=\"Code: 0xe919\" class=\"the-icons span3\"><i class=\"demo-icon icon-tint\">&#xe919;</i> <span class=\"i-name\">icon-tint</span><span class=\"i-code\">0xe919</span></div>\n        <div title=\"Code: 0xe91a\" class=\"the-icons span3\"><i class=\"demo-icon icon-header\">&#xe91a;</i> <span class=\"i-name\">icon-header</span><span class=\"i-code\">0xe91a</span></div>\n        <div title=\"Code: 0xe91b\" class=\"the-icons span3\"><i class=\"demo-icon icon-font\">&#xe91b;</i> <span class=\"i-name\">icon-font</span><span class=\"i-code\">0xe91b</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe91d\" class=\"the-icons span3\"><i class=\"demo-icon icon-picture\">&#xe91d;</i> <span class=\"i-name\">icon-picture</span><span class=\"i-code\">0xe91d</span></div>\n        <div title=\"Code: 0xe91e\" class=\"the-icons span3\"><i class=\"demo-icon icon-superscript\">&#xe91e;</i> <span class=\"i-name\">icon-superscript</span><span class=\"i-code\">0xe91e</span></div>\n        <div title=\"Code: 0xe91f\" class=\"the-icons span3\"><i class=\"demo-icon icon-subscript\">&#xe91f;</i> <span class=\"i-name\">icon-subscript</span><span class=\"i-code\">0xe91f</span></div>\n        <div title=\"Code: 0xe920\" class=\"the-icons span3\"><i class=\"demo-icon icon-dot\">&#xe920;</i> <span class=\"i-name\">icon-dot</span><span class=\"i-code\">0xe920</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe921\" class=\"the-icons span3\"><i class=\"demo-icon icon-trash\">&#xe921;</i> <span class=\"i-name\">icon-trash</span><span class=\"i-code\">0xe921</span></div>\n        <div title=\"Code: 0xe922\" class=\"the-icons span3\"><i class=\"demo-icon icon-ok\">&#xe922;</i> <span class=\"i-name\">icon-ok</span><span class=\"i-code\">0xe922</span></div>\n        <div title=\"Code: 0xe923\" class=\"the-icons span3\"><i class=\"demo-icon icon-download\">&#xe923;</i> <span class=\"i-name\">icon-download</span><span class=\"i-code\">0xe923</span></div>\n        <div title=\"Code: 0xe924\" class=\"the-icons span3\"><i class=\"demo-icon icon-doc\">&#xe924;</i> <span class=\"i-name\">icon-doc</span><span class=\"i-code\">0xe924</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe925\" class=\"the-icons span3\"><i class=\"demo-icon icon-cog\">&#xe925;</i> <span class=\"i-name\">icon-cog</span><span class=\"i-code\">0xe925</span></div>\n        <div title=\"Code: 0xe926\" class=\"the-icons span3\"><i class=\"demo-icon icon-off\">&#xe926;</i> <span class=\"i-name\">icon-off</span><span class=\"i-code\">0xe926</span></div>\n        <div title=\"Code: 0xe927\" class=\"the-icons span3\"><i class=\"demo-icon icon-minus\">&#xe927;</i> <span class=\"i-name\">icon-minus</span><span class=\"i-code\">0xe927</span></div>\n        <div title=\"Code: 0xe928\" class=\"the-icons span3\"><i class=\"demo-icon icon-back\">&#xe928;</i> <span class=\"i-name\">icon-back</span><span class=\"i-code\">0xe928</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe929\" class=\"the-icons span3\"><i class=\"demo-icon icon-left-open-big\">&#xe929;</i> <span class=\"i-name\">icon-left-open-big</span><span class=\"i-code\">0xe929</span></div>\n        <div title=\"Code: 0xe930\" class=\"the-icons span3\"><i class=\"demo-icon icon-right-open-big\">&#xe930;</i> <span class=\"i-name\">icon-right-open-big</span><span class=\"i-code\">0xe930</span></div>\n        <div title=\"Code: 0xe931\" class=\"the-icons span3\"><i class=\"demo-icon icon-video\">&#xe931;</i> <span class=\"i-name\">icon-video</span><span class=\"i-code\">0xe931</span></div>\n        <div title=\"Code: 0xe932\" class=\"the-icons span3\"><i class=\"demo-icon icon-wrench\">&#xe932;</i> <span class=\"i-name\">icon-wrench</span><span class=\"i-code\">0xe932</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe933\" class=\"the-icons span3\"><i class=\"demo-icon icon-file-code\">&#xe933;</i> <span class=\"i-name\">icon-file-code</span><span class=\"i-code\">0xe933</span></div>\n        <div title=\"Code: 0xe934\" class=\"the-icons span3\"><i class=\"demo-icon icon-table\">&#xe934;</i> <span class=\"i-name\">icon-table</span><span class=\"i-code\">0xe934</span></div>\n        <div title=\"Code: 0xe935\" class=\"the-icons span3\"><i class=\"demo-icon icon-ticket\">&#xe935;</i> <span class=\"i-name\">icon-ticket</span><span class=\"i-code\">0xe935</span></div>\n        <div title=\"Code: 0xe936\" class=\"the-icons span3\"><i class=\"demo-icon icon-smile\">&#xe936;</i> <span class=\"i-name\">icon-smile</span><span class=\"i-code\">0xe936</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xe937\" class=\"the-icons span3\"><i class=\"demo-icon icon-cubes\">&#xe937;</i> <span class=\"i-name\">icon-cubes</span><span class=\"i-code\">0xe937</span></div>\n        <div title=\"Code: 0xe938\" class=\"the-icons span3\"><i class=\"demo-icon icon-brush\">&#xe938;</i> <span class=\"i-name\">icon-brush</span><span class=\"i-code\">0xe938</span></div>\n        <div title=\"Code: 0xe939\" class=\"the-icons span3\"><i class=\"demo-icon icon-font-family\">&#xe939;</i> <span class=\"i-name\">icon-font-family</span><span class=\"i-code\">0xe939</span></div>\n        <div title=\"Code: 0xe940\" class=\"the-icons span3\"><i class=\"demo-icon icon-uppercase\">&#xe940;</i> <span class=\"i-name\">icon-uppercase</span><span class=\"i-code\">0xe940</span></div>\n      </div>\n      <div class=\"row\">\n        <div title=\"Code: 0xf1de\" class=\"the-icons span3\"><i class=\"demo-icon icon-sliders\">&#xf1de;</i> <span class=\"i-name\">icon-sliders</span><span class=\"i-code\">0xf1de</span></div>\n      </div>\n    </div>\n    <div class=\"container footer\">Generated by <a href=\"http://fontello.com\">fontello.com</a></div>\n  </body>\n</html>"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/new-contentbuilder.css",
    "content": "﻿.is-builder {transition: all ease 0.3s;} \n.is-builder > div {position:relative;transition:none;\n\n    /* Prevent overide by other css, needed for sortable's border-right fix. see: make drag handler hovers the rows */\n    margin-left:0;margin-right:0; /* Bootstrap, Bulma, Spectre, Primer */\n    width:auto; /* Miligram */\n}\n@media (min-width: 640px) {\n    .is-builder > div {display:flex}\n}\n.is-builder > div > div:focus  {outline:none}\n.is-subblock:focus  {outline:none}\n.is-builder[gridoutline] > div > div {outline:1px solid rgba(132, 132, 132, 0.27); outline-offset: 1px;}\n.is-builder > div > div.cell-active {outline:1px solid #00da89;} \n.is-builder .row-active {outline:1px solid #00da89;z-index: 1;} \n.is-builder .row-active.row-outline {outline:1px solid rgba(132, 132, 132, 0.2);} \n\n.is-builder .row-active:not(.row-outline) > div.cell-active  {outline:none} \n/*.is-builder .row-active .cell-active {outline:none;}*/\n\n/* .cell-active h1.elm-active,\n.cell-active h2.elm-active,\n.cell-active h3.elm-active,\n.cell-active h4.elm-active,\n.cell-active h5.elm-active,\n.cell-active h6.elm-active,\n.cell-active p.elm-active,\n.cell-active blockquote.elm-active,\n.cell-active pre.elm-active,\n.cell-active li.elm-active, */\n.cell-active .elm-active  { background: rgba(200, 200, 201, 0.11); }\n.cell-active table.elm-active {background-color: transparent;}\n\n.cell-active hr {cursor:pointer}\n\ntable.default td {\n    border: transparent 1px dashed;\n}\n.cell-active table.default td {\n    border: #cccccc 1px dashed;\n}\n\n.cell-active[data-html] {\n    background-color: rgba(200, 200, 201, 0.11);\n}\n\n.icon-active {\n    background-color: rgba(200, 200, 201, 0.4); \n}\n\n/* Email Mode */\n.is-builder table:focus {outline:none}\n\n/* General */\n.is-icon-flex {\n    width: 16px;\n    height: 16px;\n    fill: rgba(0, 0, 0, 0.9);\n}\nsvg {\n    overflow: hidden;\n    vertical-align: middle;\n}\n.clearfix:before, .clearfix:after {content: \" \";display: table;}\n.clearfix:after {clear:both;}\n.clearfix {*zoom: 1;clear:none;}\n.transition1 {transition: all ease 0.1s;}\n\n/*\nSortable blocks\n*/\n.sortable-drag {background:rgba(0,0,0,0.04);outline:none !important;}\n.sortable-drag * {opacity:0}\n.sortable-drag .is-row-tool {opacity:0}\n\n.sortable-ghost {background: rgba(204, 204, 204, 0.15);width:100%;outline:none !important;}\n.sortable-ghost * {outline: none !important;}\n.sortable-ghost .is-row-tool {display:none !important;}\n\n/* \nFonts\n*/\n#_cbhtml * {font-family:sans-serif;line-height: inherit;} /* Prevent overide */\n#_cbhtml {\n    font-family: sans-serif;\n    font-size: 13px;\n    letter-spacing: 1px;\n    font-weight:300px;\n}\n#_cbhtml p {font-size:14px}\n\n/*\nDraggable snippet\n*/\n#_cbhtml .snippet-item {cursor:move !important;} \n#_cbhtml .snippet-item.sortable-chosen {background: rgba(0, 0, 0, 0.06);height:auto;}\n#_cbhtml .snippet-item.sortable-drag {background:rgba(0,0,0,0.06);outline:none !important;}\n.is-builder .snippet-item.sortable-ghost {width:100%;background:rgba(204, 204, 204, 0.15);height:40px;}\n\n/*content*/\n#_cbhtml .snippet-item.sortable-chosen * {visibility: visible;} \n#_cbhtml .snippet-item.sortable-chosen.sortable-drag * {visibility: hidden;transition:none !important;} \n.is-builder .snippet-item.sortable-ghost * {visibility: hidden;} \n\n/*\nPop\n*/\n#_cbhtml .is-pop {\n    position:absolute;top:0;left:0;display:none;z-index:10003;background:#fff;\n    border:1px solid rgba(243,243,243);\n    box-shadow: 4px 17px 20px 0px rgba(0, 0, 0, 0.08); \n    /*border:1px solid rgba(220, 220, 220, 0.8);\n    box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;*/\n}  \n\n#_cbhtml .is-pop:hover {z-index:10003;}\n\n#_cbhtml .is-pop-tabs {\n    display: flex;\n    width: 100%;\n    margin-bottom:5px;\n}\n#_cbhtml .is-pop-tabs > div {\n    background: #f7f7f7;\n    width: 50%;\n    height: 30px;\n    line-height:30px;\n    box-sizing: border-box;\n    text-align: center;\n    font-size:9px;\n    font-weight:bold;\n    text-transform: uppercase;\n    color:#111;\n}\n#_cbhtml .is-pop-tabs > div.is-pop-tab-item {\n    cursor: pointer;\n}\n#_cbhtml .is-pop-tabs > div.active {\n    background: transparent;\n    cursor:auto;\n}\n\n/*\nSpecial\n*/\n#_cbhtml #divImageTool {position:absolute;top:0;left:0;display:none;/*z-index:10002;*/background:#fff;border:1px solid rgb(220, 220, 220);} \n#_cbhtml #divLinkTool {position:absolute;top:0;left:0;display:none;/*z-index:10002;*/;background:#fff;border:1px solid rgb(220, 220, 220);}  \n\n\n/* \nRTE Toolbar \n*/\n#_cbhtml .is-rte-tool, \n#_cbhtml .is-elementrte-tool {z-index:10001;top:25px;box-shadow: rgba(0, 0, 0, 0.05) 0px 5px 9px 0px;background:#fff;padding:0;}\n#_cbhtml .is-rte-tool button, \n#_cbhtml .is-elementrte-tool button {width: 45px;height: 40px;margin: 0;box-shadow:none;}\n#_cbhtml .is-rte-tool button.on, \n#_cbhtml .is-elementrte-tool button.on {background:#f5f5f5}\n#_cbhtml .is-rte-tool button:hover, \n#_cbhtml .is-elementrte-tool button:hover {background:#f7f7f7}\n#_cbhtml .is-rte-tool button svg, \n#_cbhtml .is-elementrte-tool button svg {fill:#000}\n#_cbhtml .is-rte-tool > div:not(.is-draggable), \n#_cbhtml .is-elementrte-tool > div:not(.is-draggable) {background: #fff;padding: 8px 10px 8px 10px;}\n\n#_cbhtml .is-rte-tool .rte-separator,\n#_cbhtml .is-elementrte-tool .rte-separator,\n#_cbhtml .rte-more-options .rte-separator,\n#_cbhtml .elementrte-more-options .rte-separator {\n    height: 30px;\n    width: 1px;\n    background: #e2e2e2;\n    margin:7px 3px 0;\n}\n\n#_cbhtml[toolbarleft] .is-rte-tool,\n#_cbhtml[toolbarleft] .is-elementrte-tool {left:25px;box-shadow: rgba(0, 0, 0, 0.05) 6px 0px 9px 0px;}\n#_cbhtml[toolbarright] .is-rte-tool,\n#_cbhtml[toolbarright] .is-elementrte-tool {right:35px;left:auto;box-shadow: rgba(0, 0, 0, 0.05) -4px 0px 9px 0px;}\n#_cbhtml[toolbarleft] .is-rte-tool > div:not(.is-draggable),\n#_cbhtml[toolbarright] .is-rte-tool > div:not(.is-draggable),\n#_cbhtml[toolbarleft] .is-elementrte-tool > div:not(.is-draggable),\n#_cbhtml[toolbarright] .is-elementrte-tool > div:not(.is-draggable) {flex-direction:column;background: #fff;padding: 8px 9px 8px 9px;}\n\n#_cbhtml[toolbarleft] .is-rte-tool .rte-separator,\n#_cbhtml[toolbarright] .is-rte-tool .rte-separator,\n#_cbhtml[toolbarleft] .rte-more-options .rte-separator,\n#_cbhtml[toolbarright] .rte-more-options .rte-separator,\n#_cbhtml[toolbarleft] .is-elementrte-tool .rte-separator,\n#_cbhtml[toolbarright] .is-elementrte-tool .rte-separator,\n#_cbhtml[toolbarleft] .elementrte-more-options .rte-separator,\n#_cbhtml[toolbarright] .elementrte-more-options .rte-separator {\n    height: 1px;\n    width: 34px;\n    background: #e2e2e2;\n    margin:3px 0 3px 7px;\n}\n\n/* Align, Formatting, List */\n#_cbhtml .rte-align-options,\n#_cbhtml .rte-formatting-options,\n#_cbhtml .rte-list-options,\n#_cbhtml .rte-more-options,\n#_cbhtml .elementrte-more-options {z-index:10002;display:none;position:fixed;height:0;border:none;background:#fff;\n    box-shadow: #0000000d 0px 5px 9px 0px;\n}\n#_cbhtml .rte-more-options,\n#_cbhtml .elementrte-more-options {z-index:10001}\n\n#_cbhtml .rte-align-options button,\n#_cbhtml .rte-formatting-options button,\n#_cbhtml .rte-list-options button,\n#_cbhtml .rte-more-options button,\n#_cbhtml .elementrte-more-options button {width: 46px;height: 40px;margin: 0;box-shadow:none;}\n#_cbhtml .rte-align-options button.on,\n#_cbhtml .rte-formatting-options button.on,\n#_cbhtml .rte-list-options button.on,\n#_cbhtml .rte-more-options button.on,\n#_cbhtml .elementrte-more-options button.on {background:#f5f5f5}\n#_cbhtml .rte-align-options button:hover,\n#_cbhtml .rte-formatting-options button:hover,\n#_cbhtml .rte-list-options button:hover,\n#_cbhtml .rte-more-options button:hover,\n#_cbhtml .elementrte-more-options button:hover {background:#f7f7f7}\n\n#_cbhtml[toolbarleft] .rte-align-options, \n#_cbhtml[toolbarleft] .rte-formatting-options, \n#_cbhtml[toolbarleft] .rte-list-options,\n#_cbhtml[toolbarleft] .rte-more-options,\n#_cbhtml[toolbarleft] .elementrte-more-options  {height:auto;width:0;flex-direction: column;\n    box-shadow:rgba(0, 0, 0, 0.05) 5px 0px 9px 0px;\n}\n\n#_cbhtml[toolbarright] .rte-align-options,\n#_cbhtml[toolbarright] .rte-formatting-options,\n#_cbhtml[toolbarright] .rte-list-options,\n#_cbhtml[toolbarright] .rte-more-options,\n#_cbhtml[toolbarright] .elementrte-more-options {height:auto;width:0;flex-direction: column;\n    box-shadow:rgba(0, 0, 0, 0.05) -6px 1px 9px 0px;\n}\n\n#_cbhtml .rte-align-options,\n#_cbhtml .rte-formatting-options,\n#_cbhtml .rte-list-options,\n#_cbhtml .rte-more-options,\n#_cbhtml .elementrte-more-options {height:0px;box-sizing:border-box;overflow:hidden;}\n#_cbhtml .rte-align-options > div,\n#_cbhtml .rte-formatting-options > div,\n#_cbhtml .rte-list-options > div,\n#_cbhtml .rte-more-options > div,\n#_cbhtml .elementrte-more-options > div  {display:flex;padding: 1px 9px 9px 9px;}\n#_cbhtml .rte-align-options.active,\n#_cbhtml .rte-formatting-options.active,\n#_cbhtml .rte-list-options.active,\n#_cbhtml .rte-more-options.active,\n#_cbhtml .elementrte-more-options.active {animation-name:formatting-slide-out; animation-duration:0.1s; animation-fill-mode: forwards;}\n@keyframes formatting-slide-out {\n    from {height: 0px;}\n    to {height: 49px;}\n}\n#_cbhtml .rte-align-options.deactive,\n#_cbhtml .rte-formatting-options.deactive,\n#_cbhtml .rte-list-options.deactive,\n#_cbhtml .rte-more-options.deactive,\n#_cbhtml .elementrte-more-options.deactive {animation-name:formatting-slide-in; animation-duration:0.1s; animation-fill-mode: forwards;}\n@keyframes formatting-slide-in {\n    from {height: 49px;}\n    to {height: 0px;}\n} \n\n#_cbhtml[toolbarleft] .rte-align-options,\n#_cbhtml[toolbarleft] .rte-formatting-options,\n#_cbhtml[toolbarleft] .rte-list-options,\n#_cbhtml[toolbarleft] .rte-more-options,\n#_cbhtml[toolbarleft] .elementrte-more-options {height:auto; width:0px}\n#_cbhtml[toolbarleft] .rte-align-options > div,\n#_cbhtml[toolbarleft] .rte-formatting-options > div,\n#_cbhtml[toolbarleft] .rte-list-options > div,\n#_cbhtml[toolbarleft] .rte-more-options > div,\n#_cbhtml[toolbarleft] .elementrte-more-options > div {flex-direction: column;padding: 9px 9px 9px 1px;}\n#_cbhtml[toolbarleft] .rte-align-options.active,\n#_cbhtml[toolbarleft] .rte-formatting-options.active,\n#_cbhtml[toolbarleft] .rte-list-options.active,\n#_cbhtml[toolbarleft] .rte-more-options.active,\n#_cbhtml[toolbarleft] .elementrte-more-options.active {animation-name:formatting-leftslide-out; animation-duration:0.1s; animation-fill-mode: forwards;}\n@keyframes formatting-leftslide-out {\n    from {width: 0;}\n    to {width: 55px;}\n}\n#_cbhtml[toolbarleft] .rte-align-options.deactive,\n#_cbhtml[toolbarleft] .rte-formatting-options.deactive,\n#_cbhtml[toolbarleft] .rte-list-options.deactive,\n#_cbhtml[toolbarleft] .rte-more-options.deactive,\n#_cbhtml[toolbarleft] .elementrte-more-options.deactive {animation-name:formatting-leftslide-in; animation-duration:0.1s; animation-fill-mode: forwards;}\n@keyframes formatting-leftslide-in {\n    from {width: 55px;}\n    to {width: 0;}\n}\n\n#_cbhtml[toolbarright] .rte-align-options,\n#_cbhtml[toolbarright] .rte-formatting-options,\n#_cbhtml[toolbarright] .rte-list-options,\n#_cbhtml[toolbarright] .rte-more-options,\n#_cbhtml[toolbarright] .elementrte-more-options {height:auto; width:0px}\n#_cbhtml[toolbarright] .rte-align-options > div,\n#_cbhtml[toolbarright] .rte-formatting-options > div,\n#_cbhtml[toolbarright] .rte-list-options > div,\n#_cbhtml[toolbarright] .rte-more-options > div,\n#_cbhtml[toolbarright] .elementrte-more-options > div {flex-direction: column;padding: 9px 2px 9px 9px;}\n#_cbhtml[toolbarright] .rte-align-options.active,\n#_cbhtml[toolbarright] .rte-formatting-options.active,\n#_cbhtml[toolbarright] .rte-list-options.active,\n#_cbhtml[toolbarright] .rte-more-options.active,\n#_cbhtml[toolbarright] .elementrte-more-options.active {animation-name:formatting-rightslide-out; animation-duration:0.1s; animation-fill-mode: forwards;}\n@keyframes formatting-rightslide-out {\n    from {width: 0;}\n    to {width: 55px;}\n}\n#_cbhtml[toolbarright] .rte-align-options.deactive,\n#_cbhtml[toolbarright] .rte-formatting-options.deactive,\n#_cbhtml[toolbarright] .rte-list-options.deactive,\n#_cbhtml[toolbarright] .rte-more-options.deactive,\n#_cbhtml[toolbarright] .elementrte-more-options.deactive {animation-name:formatting-rightslide-in; animation-duration:0.1s; animation-fill-mode: forwards;}\n@keyframes formatting-rightslide-in {\n    from {width: 55px;}\n    to {width: 0;}\n}\n\n\n/* Color */\n#_cbhtml .rte-color-picker {z-index:10002;display:none;overflow:hidden; flex-direction: column;position:fixed;height:0;border:none;box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;background:#fff;padding: 0;}\n#_cbhtml .rte-color-picker.active {animation-name:colorpicker-slide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes colorpicker-slide-out {\n    from {height: 0;}\n    to {height: 445px;}\n}\n#_cbhtml .rte-color-picker.deactive {animation-name:colorpicker-slide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes colorpicker-slide-in {\n    from {height: 445px;}\n    to {height: 0;}\n}\n#_cbhtml .rte-color-picker .is-pop-tabs {\n    padding: 3px 12px 0;\n    box-sizing: border-box;\n}\n#_cbhtml .rte-color-picker .rte-color-picker-area > div {padding-top:5px !important}\n\n#_cbhtml[toolbarleft] .rte-color-picker {box-shadow: rgba(0, 0, 0, 0.1) 8px 0px 9px 0px;height:452px;;width:0px;overflow:hidden;}\n#_cbhtml[toolbarleft] .rte-color-picker.active {animation-name:colorpicker-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes colorpicker-leftslide-out {\n    from {width: 0;}\n    to {width: 270px;}\n}\n#_cbhtml[toolbarleft] .rte-color-picker.deactive {animation-name:colorpicker-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes colorpicker-leftslide-in {\n    from {width: 270px;}\n    to {width: 0;}\n}\n#_cbhtml[toolbarleft] .rte-color-picker .is-pop-tabs {\n    padding: 11px 12px 0;\n}\n\n#_cbhtml[toolbarright] .rte-color-picker {box-shadow: rgba(0, 0, 0, 0.1) -7px 0px 9px 0px;height:452px;width:0px;overflow:hidden;}\n#_cbhtml[toolbarright] .rte-color-picker.active {animation-name:colorpicker-rightslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes colorpicker-rightslide-out {\n    from {width: 0;}\n    to {width: 270px;}\n}\n#_cbhtml[toolbarright] .rte-color-picker.deactive {animation-name:colorpicker-rightslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes colorpicker-rightslide-in {\n    from {width: 270px;}\n    to {width: 0;}\n}\n#_cbhtml[toolbarright] .rte-color-picker .is-pop-tabs {\n    padding: 11px 12px 0;\n}\n\n/* Icons */\n#_cbhtml .rte-icon-options {z-index:10002;display:none;flex-direction: column;position:fixed;height:0;overflow:hidden;border:none;box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;background:#fff;padding:0;}\n#_cbhtml .rte-icon-options iframe {margin:1px 0 0;width: 100%;max-width: 300px;height: 100%;border: none;}\n#_cbhtml .rte-icon-options.active {animation-name:icon-slide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes icon-slide-out {\n    from {height: 0;}\n    to {height: 240px;}\n}\n#_cbhtml .rte-icon-options.deactive {animation-name:icon-slide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes icon-slide-in {\n    from {height: 240px;}\n    to {height: 0;}\n}\n\n#_cbhtml[toolbarleft] .rte-icon-options {height:260px;width:0;overflow:hidden;box-shadow: rgba(0, 0, 0, 0.1) 8px 0px 9px 0px;}\n#_cbhtml[toolbarleft] .rte-icon-options iframe {margin:9px 0 9px 0;}\n#_cbhtml[toolbarleft] .rte-icon-options.active {animation-name:icon-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes icon-leftslide-out {\n    from {width: 0;}\n    to {width: 300px;}\n}\n#_cbhtml[toolbarleft] .rte-icon-options.deactive {animation-name:icon-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes icon-leftslide-in {\n    from {width: 300px;}\n    to {width: 0;}\n}\n\n#_cbhtml[toolbarright] .rte-icon-options {height:260px;width:0;overflow:hidden;box-shadow: rgba(0, 0, 0, 0.1) -7px 0px 9px 0px;}\n#_cbhtml[toolbarright] .rte-icon-options iframe {margin:9px 0 9px 0;}\n#_cbhtml[toolbarright] .rte-icon-options.active {animation-name:icon-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes icon-leftslide-out {\n    from {width: 0;}\n    to {width: 300px;}\n}\n#_cbhtml[toolbarright] .rte-icon-options.deactive {animation-name:icon-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes icon-leftslide-in {\n    from {width: 300px;}\n    to {width: 0;}\n}\n\n/* Font Family */\n#_cbhtml .rte-fontfamily-options {z-index:10002;display:none;flex-direction: column;position:fixed;height:0;overflow:hidden;border:none;box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;background:#fff;padding:0;}\n#_cbhtml .rte-fontfamily-options iframe {margin:1px 0 0;width: 100%;max-width: 260px;height: 100%;border: none;}\n#_cbhtml .rte-fontfamily-options.active {animation-name:fontfamily-slide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes fontfamily-slide-out {\n    from {height: 0;}\n    to {height: 263px;}\n}\n#_cbhtml .rte-fontfamily-options.deactive {animation-name:fontfamily-slide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes fontfamily-slide-in {\n    from {height: 263px;}\n    to {height: 0;}\n}\n\n#_cbhtml[toolbarleft] .rte-fontfamily-options {height:260px;width:0;overflow:hidden;box-shadow: rgba(0, 0, 0, 0.1) 8px 0px 9px 0px;}\n#_cbhtml[toolbarleft] .rte-fontfamily-options iframe {margin:9px 0 9px 0;}\n#_cbhtml[toolbarleft] .rte-fontfamily-options.active {animation-name:fontfamily-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes fontfamily-leftslide-out {\n    from {width: 0;}\n    to {width: 260px;}\n}\n#_cbhtml[toolbarleft] .rte-fontfamily-options.deactive {animation-name:fontfamily-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes fontfamily-leftslide-in {\n    from {width: 260px;}\n    to {width: 0;}\n}\n\n#_cbhtml[toolbarright] .rte-fontfamily-options {height:260px;width:0;overflow:hidden;box-shadow: rgba(0, 0, 0, 0.1) -7px 0px 9px 0px;}\n#_cbhtml[toolbarright] .rte-fontfamily-options iframe {margin:9px 0 9px 0;}\n#_cbhtml[toolbarright] .rte-fontfamily-options.active {animation-name:fontfamily-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes fontfamily-leftslide-out {\n    from {width: 0;}\n    to {width: 260px;}\n}\n#_cbhtml[toolbarright] .rte-fontfamily-options.deactive {animation-name:fontfamily-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes fontfamily-leftslide-in {\n    from {width: 260px;}\n    to {width: 0;}\n}\n\n/* Custom Tags */\n#_cbhtml .rte-customtag-options {z-index:10002;display:none;overflow:hidden;flex-direction: column;position:fixed;height:0;border:none;box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;background:#fff;padding:0;}\n#_cbhtml .rte-customtag-options.active {animation-name:customtag-slide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes customtag-slide-out {\n    from {height: 0;}\n    to {height: 145px;}\n}\n#_cbhtml .rte-customtag-options.deactive {animation-name:customtag-slide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes customtag-slide-in {\n    from {height: 145px;}\n    to {height: 0;}\n}\n\n#_cbhtml .rte-customtag-options > div {width:180px;padding:1px 9px 9px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;}\n#_cbhtml .rte-customtag-options > div button {font-size:11px;width:100%;}\n#_cbhtml .rte-customtag-options > div button:hover {background:#f5f5f5;}\n\n#_cbhtml[toolbarleft] .rte-customtag-options {height:auto;width:0;box-shadow: rgba(0, 0, 0, 0.1) 8px 0px 9px 0px;}\n#_cbhtml[toolbarleft] .rte-customtag-options.active {animation-name:customtag-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes customtag-leftslide-out {\n    from {width: 0;}\n    to {width: 180px;}\n}\n#_cbhtml[toolbarleft] .rte-customtag-options.deactive {animation-name:customtag-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes customtag-leftslide-in {\n    from {width: 180px;}\n    to {width: 0;}\n}\n#_cbhtml[toolbarleft] .rte-customtag-options > div {width:180px;height: 198px;padding:9px 9px 9px;}\n\n#_cbhtml[toolbarright] .rte-customtag-options {height:auto;width:0;box-shadow: rgba(0, 0, 0, 0.1) -7px 0px 9px 0px;}\n#_cbhtml[toolbarright] .rte-customtag-options.active {animation-name:customtag-rightslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes customtag-rightslide-out {\n    from {width: 0;}\n    to {width: 180px;}\n}\n#_cbhtml[toolbarright] .rte-customtag-options.deactive {animation-name:customtag-rightslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes customtag-rightslide-in {\n    from {width: 180px;}\n    to {width: 0;}\n}\n#_cbhtml[toolbarright] .rte-customtag-options > div {width:180px;height: 198px;padding:9px 9px 9px;}\n\n\n/* Paragraph */\n#_cbhtml .rte-paragraph-options {z-index:10002;display:none;overflow:hidden;flex-direction: column;position:fixed;height:0;border:none;box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;background:#fff;padding:0;}\n#_cbhtml .rte-paragraph-options.active {animation-name:paragraph-slide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes paragraph-slide-out {\n    from {height: 0;}\n    to {height: 286px;}\n}\n#_cbhtml .rte-paragraph-options.deactive {animation-name:paragraph-slide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes paragraph-slide-in {\n    from {height: 286px;}\n    to {height: 0;}\n}\n#_cbhtml .rte-paragraph-options div.on {background:#f5f5f5}\n#_cbhtml .rte-paragraph-options > div {width:242px;padding:1px 9px 9px;box-sizing:border-box;overflow-x:hidden;}\n#_cbhtml .rte-paragraph-options > div > div {cursor:pointer;overflow:hidden;padding:5px 0;box-sizing:border-box;} \n#_cbhtml .rte-paragraph-options > div > div:hover {background:#f7f7f7}\n#_cbhtml .rte-paragraph-options > div > div > * {text-transform: none !important;margin:0 !important;line-height: 1.45!important;text-align:center;} \n\n#_cbhtml[toolbarleft] .rte-paragraph-options {height:auto;width:0;box-shadow: rgba(0, 0, 0, 0.1) 8px 0px 9px 0px;}\n#_cbhtml[toolbarleft] .rte-paragraph-options.active {animation-name:paragraph-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes paragraph-leftslide-out {\n    from {width: 0;}\n    to {width: 261px;}\n}\n#_cbhtml[toolbarleft] .rte-paragraph-options.deactive {animation-name:paragraph-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes paragraph-leftslide-in {\n    from {width: 261px;}\n    to {width: 0;}\n}\n#_cbhtml[toolbarleft] .rte-paragraph-options > div {width:242px;padding:9px 9px 9px;}\n\n#_cbhtml[toolbarright] .rte-paragraph-options {height:auto;width:0;box-shadow: rgba(0, 0, 0, 0.1) -7px 0px 9px 0px;}\n#_cbhtml[toolbarright] .rte-paragraph-options.active {animation-name:paragraph-rightslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes paragraph-rightslide-out {\n    from {width: 0;}\n    to {width: 261px;}\n}\n#_cbhtml[toolbarright] .rte-paragraph-options.deactive {animation-name:paragraph-rightslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes paragraph-rightslide-in {\n    from {width: 261px;}\n    to {width: 0;}\n}\n#_cbhtml[toolbarright] .rte-paragraph-options > div {width:242px;padding:9px 9px 9px;}\n\n/* Text Settings */\n#_cbhtml .rte-textsetting-options {z-index:10002;display:none;flex-direction: column;position:fixed;height:0;overflow:hidden;border:none;box-shadow: rgba(0, 0, 0, 0.1) 0px 8px 9px 0px;background:#fff;padding:0;}\n#_cbhtml .rte-textsetting-options > div {width: 224px;display:flex;flex-direction:column;padding: 1px 12px 12px 12px;box-sizing: border-box;}\n#_cbhtml .rte-textsetting-options button {width: 40px;height: 30px;margin: 0;text-transform: none; transition: none;box-shadow:none;}\n#_cbhtml .rte-textsetting-options button:hover {background:#f5f5f5}\n#_cbhtml .rte-textsetting-options .is-label {\n    font-size: 9px;\n    font-weight: bold;\n    text-transform: uppercase;\n    line-height:2;\n    color: #111;\n    padding:8px 0 2px;\n    text-align:center;\n    margin-top:5px;\n    border-top:#eee 1px solid;\n}\n#_cbhtml .rte-textsetting-options.active {animation-name:textsetting-slide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes textsetting-slide-out {\n    from {height: 0;}\n    to {height: 288px;}\n}\n#_cbhtml .rte-textsetting-options.deactive {animation-name:textsetting-slide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes textsetting-slide-in {\n    from {height: 288px;}\n    to {height: 0;}\n}\n\n#_cbhtml[toolbarleft] .rte-textsetting-options {height:auto;width:0;box-shadow: rgba(0, 0, 0, 0.1) 8px 0px 9px 0px;}\n#_cbhtml[toolbarleft] .rte-textsetting-options.active {animation-name:textsetting-leftslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes textsetting-leftslide-out {\n    from {width: 0;}\n    to {width: 225px;}\n}\n#_cbhtml[toolbarleft] .rte-textsetting-options.deactive {animation-name:textsetting-leftslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes textsetting-leftslide-in {\n    from {width: 225px;}\n    to {width: 0;}\n}\n\n#_cbhtml[toolbarright] .rte-textsetting-options {height:auto;width:0;box-shadow: rgba(0, 0, 0, 0.1) -7px 0px 9px 0px;}\n#_cbhtml[toolbarright] .rte-textsetting-options.active {animation-name:textsetting-rightslide-out; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes textsetting-rightslide-out {\n    from {width: 0;}\n    to {width: 225px;}\n}\n#_cbhtml[toolbarright] .rte-textsetting-options.deactive {animation-name:textsetting-rightslide-in; animation-duration:0.15s; animation-fill-mode: forwards;}\n@keyframes textsetting-rightslide-in {\n    from {width: 225px;}\n    to {width: 0;}\n}\n\n/*\nInsert Image\n*/\n\n.is-browse-area {width:100%;background:#fff;border-bottom:#eee 1px solid;}\n.is-drop-area {\n    border: 2px dashed #b4b4b4;\n    position: relative;\n}\n.is-preview-area {\n    display: none;\n    text-align: center;\n}\n.is-preview-area div {position:relative;display:inline-block;margin:10px;}\n.is-preview-area div i {position:absolute;top:0;right:0;cursor:pointer;background: rgba(255, 255, 255, 0.8); color: #f41818;width:28px;height:28px;text-align: center;line-height: 28px;font-size:24px;cursor:pointer;}\n#fileInsertImage {\n    position: absolute;\n    margin: 0;\n    padding: 0;\n    width: 100%;\n    height: 100%;\n    outline: none;\n    opacity: 0;\n    cursor: pointer;\n}\n.drag-text p {\n    text-align: center;\n    text-transform: uppercase;\n    letter-spacing:1px;\n    padding: 60px 0;\n}\n.image-dropping,\n.is-drop-area:hover {\n    background-color: #f7f7f7;\n}\n#imgInsertImagePreview {\n    max-height: 200px;\n    max-width: 200px;\n}\n\n/*\nSpacer\n*/\n\n#_cbhtml .is-spacer-tool {border:none;background: none;}\n#_cbhtml .is-spacer-tool > button {width:30px;height:30px;background: rgba(0, 0, 0, 0.05);}\n\n/*\nModal\n*/\n#_cbhtml .is-modal {\n    position:fixed;width:100%;height:100%;top:0;left:0;display:none;z-index:10004;background:rgba(255,255,255,0.000001);\n    justify-content:center;align-items:center;flex-direction:column;\n    font-family: sans-serif;\n}\n#_cbhtml .is-modal > div:not(.is-modal-overlay) {position:relative;width:90%;background:rgba(255,255,255,1);border: 1px solid rgb(243, 243, 243);box-shadow: 4px 17px 20px 0px rgba(0, 0, 0, 0.08);padding: 12px 12px;box-sizing: border-box;}\n#_cbhtml .is-modal.active {display:flex;} \n#_cbhtml .is-modal.is-modal-full > div:not(.is-modal-overlay) {width:100% !important;height:100% !important;max-width:100% !important;max-height:100% !important;}\n#_cbhtml .is-modal-bar {\n    box-sizing: border-box;\n    padding: 5px;\n    text-align: center;\n    font-family: sans-serif;\n    font-size: 14px;\n    letter-spacing: 1px;\n    background: #f9f9f9;\n    color: #949494;\n    touch-action: none;\n    user-select: none;\n}\n#_cbhtml .is-modal div.is-draggable {\n    cursor:move;\n    box-shadow:none;\n    background:transparent;\n    padding:0;\n    border:none;\n}\n#_cbhtml .is-modal-bar .is-modal-close {z-index:1;width:32px;height:32px;position:absolute;top:0px;right:0px;box-sizing:border-box;padding:0;line-height:32px;font-size: 12px;color:#777;text-align:center;cursor:pointer;}\n\n\n/*\nSide Panel\n*/\n#_cbhtml .is-side {\n    display:block;position:fixed;top:0;right:-367px;left:auto;width:365px;height:100%;border:none;\n    box-shadow: rgba(0, 0, 0, 0.05) 0 0 16px 0px;\n    box-sizing: border-box;background:#fff;transition: all ease 0.3s;\n    font-family: sans-serif;font-size: 14px;letter-spacing: 1px;\n\n    z-index: 10003;\n}\n#_cbhtml .is-side.active { right:0; }\n#_cbhtml .is-side.fromleft {\n    left:-367px;\n    right:auto;\n    border:none;\n    border-right:1px solid rgb(224, 224, 224);\n}\n#_cbhtml .is-side.fromleft.active { left:0; }\n#_cbhtml .is-side > div {width:100%;background:none;border:none;box-shadow:none;padding:0;}\n\n\n/*\nButton, Textarea, Select\n*/\n#_cbhtml button,\n.is-ui button {\n    width: 51px;\n    height: 45px;\n    background-color: rgba(255, 255, 255, 0.95);\n    color: #111111;\n    font-family: sans-serif;\n    font-size: 12px;\n    letter-spacing: 1px;\n    font-weight: 300;\n    border: transparent 1px solid;\n    box-shadow: 0px 3px 6px -6px rgba(0, 0, 0, 0.32);\n    opacity: 1;\n    line-height: 1;\n    display: inline-block;\n    box-sizing: border-box;\n    margin: 0;\n    padding: 0;\n    cursor: pointer;\n    text-transform: none;\n    text-align: center;\n    position: relative;\n    border-radius: 0;\n    user-select: none;\n    -moz-user-select: none;\n    -khtml-user-select: none;\n    -webkit-user-select: none;\n    -o-user-select: none;\n    white-space: nowrap;\n    display: flex;\n    align-items: center;\n    justify-content: center; \n}\n#_cbhtml button:focus {outline:none;}\n#_cbhtml button.classic {\n    width: 100%;\n    height:60px;\n    display: block;\n    background: #f7f7f7; \n}\n#_cbhtml button.classic:hover {background: #fafafa;}\n#_cbhtml button.on {\n    background: #f7f7f7;\n}\n\n#_cbhtml button.classic-primary {display:inline-block;width:auto;height:50px;padding-left:30px;padding-right:30px;min-width:135px;background: #f7f7f7;}\n#_cbhtml button.classic-secondary {display:inline-block;width:auto;height:50px;padding-left:30px;padding-right:30px;background:transparent;}\n#_cbhtml button.classic-primary:hover {background: #fafafa;}\n\n#_cbhtml textarea {font-family: courier;font-size: 17px;line-height: 2;letter-spacing: 1px;margin:0;padding:8px 16px;box-sizing:border-box;border:1px solid rgb(199, 199, 199);background-color:#fff;}\n#_cbhtml textarea:focus {outline:none}  \n\n#_cbhtml select:focus {outline:none}  \n\na:focus,\nbutton:focus {outline:none}\n\n#_cbhtml input[type=text] {\n    width: 100%;\n    height: 50px;\n    box-sizing: border-box;\n    margin: 0;\n    font-family: sans-serif;\n    font-size: 15px;\n    letter-spacing: 1px;\n    padding: 0;\n    padding-left: 8px;\n    color: #111111;\n    display: inline-block;\n    border: none;\n    border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n    border-radius: 0;\n    background-color: #fbfbfb; \n}   \n#_cbhtml input:focus {outline:none;}  \n\n#_cbhtml label {font-size: 14px;letter-spacing: 1px;padding:0;}\n#_cbhtml [type=\"checkbox\"], \n#_cbhtml [type=\"radio\"] {/* prevent overide */\n    position:relative;\n    opacity:1;\n    margin-top: 0;\n    margin-bottom: 0;\n}\n\n#_cbhtml select {\n    font-size: 13px;\n    letter-spacing: 1px;\n    height: 35px;\n    line-height: 1.7;\n    color: #454545;\n    border-radius: 5px;\n    border: none;\n    background-color: #eee;  \n    width: auto; \n    display: inline-block;\n    background-image: none;\n    -webkit-appearance: menulist;\n    -moz-appearance: menulist;\n    appearance: menulist;\n    padding: 0 5px;\n}\n#_cbhtml select option {\n    background: #fff;\n}\n#_cbhtml select:focus {outline:none;}\n\n/*\nSpecial buttons\n*/\n\n#_cbhtml .imageedit-crop button {margin: 0 20px 0 0;border: #d1d1d1 1px solid;background: #fff;}\n\n\n/*\nSnippet Panel\n*/\n#_cbhtml #divSnippetList {right:-230px;width:230px;border-left:1px solid rgba(211, 211, 211, 0.39);box-shadow:rgba(0, 0, 0, 0.03) 0 0 10px 0px;}\n#_cbhtml #divSnippetList.active {right:0;}\n#_cbhtml #divSnippetList.fromleft {left:-230px;}\n#_cbhtml #divSnippetList.fromleft.active {left:0;}\n#_cbhtml #divSnippetHandle {position:absolute;width:40px;height:40px;top:170px;left:-40px;background:#fff;border:1px solid rgba(211, 211, 211, 0.52);border-right:none;line-height:39px;text-align:center;box-shadow:rgba(0, 0, 0, 0.025) -4px 2px 5px 0px;cursor:pointer;}\n#_cbhtml #divSnippetList.fromleft #divSnippetHandle {border-left:none;border-right:1px solid rgb(211, 211, 211);left:auto;right:-40px;}\n#_cbhtml #divSnippetScrollUp, \n#_cbhtml #divSnippetScrollDown {\n    display:none;\n    background: rgba(0, 0, 0, 0.12);\n    width: 45px;\n    height: 45px;\n    line-height: 45px;\n    color: #a9a9a9;\n    position: fixed;\n    z-index: 100000;\n    text-align: center;\n    font-size: 12px;\n    cursor: pointer;\n    font-family: sans-serif;\n}\n#_cbhtml #divSnippetList.active #divSnippetScrollUp {display:block}\n#_cbhtml #divSnippetList.active #divSnippetScrollDown {display:block}\n\n#_cbhtml .is-design-list {height:100%;margin:0;padding:0 0 20px !important;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;text-align:center;border-top:transparent 40px solid !important;}\n#_cbhtml .is-design-list > div {width:170px;overflow:hidden;background: rgb(0, 0, 0, 0.5);margin: 22px 22px 0;cursor:move; display:inline-block;outline:rgba(219, 219, 219, 0.52) 1px solid !important;box-shadow:0 5px 15px rgba(0, 0, 0, 0.03);}\n#_cbhtml .is-design-list > div img {box-shadow:none;display:block;transition: all 0.2s ease-in-out;box-sizing:border-box;width:100%} \n#_cbhtml .is-design-list > div:hover img {filter: opacity(98%);}\n\n#_cbhtml .is-design-list > div {\n\tdisplay: block;\n\theight: auto;\n    opacity: 1;\n}\n#_cbhtml .is-design-list > div.hide {\n\tdisplay: none;\n\theight: 0;\n    opacity: 0;\n\toverflow: hidden;\n\ttransition: height 350ms ease-in-out, opacity 750ms ease-in-out;\n}\n\n#_cbhtml #selSnippetCat {width: 100%;display:block;padding-left:25px;padding-top:0px;box-sizing:border-box;font-family:sans-serif;font-size:13px;letter-spacing:1px;line-height:40px;font-weight:bold;height:40px;color:rgb(69, 69, 69);border:none;background-color: #F5F5F5;box-shadow:rgba(0, 0, 0, 0.09) 0px 5px 7px;cursor:pointer;}\n\n/*\nElement Panel\n*/\n\n.elm-list {font-size:12px; line-height: 1.3;padding-bottom:15px;}\n.elm-list a {font-size:16px;color:#0096f1;text-decoration:none;padding: 0 3px;}\n.elm-list a.active {background:#eee}\n.elm-inspected {\n    animation-name: elm-inspected-anim;\n    animation-duration: 0.6s;\n    /*animation-fill-mode: forwards;*/\n    /*outline:1px solid #f1cc00 !important;*/\n    outline:1px solid #ffb84a !important;\n    /* outline: 1px dashed rgba(125, 125, 125, 0.3); */\n    /*background:rgba(200, 200, 200, 0.15);*/\n}\n@keyframes elm-inspected-anim {\n    0% {transform:scale(1);}\n    50% {transform:scale(0.97);}\n    100% {transform:scale(1);}\n    \n}\n.elm-inspected .elm-active {background:none} /* // hide active element indicator if inspected element is not active element */\n\n#_cbhtml .elementstyles {width:300px;font-size:13px;}\n#_cbhtml .elementstyles .is-settings {margin-top:7px;}\n#_cbhtml .elementstyles .is-settings > div {display:flex;align-items:center;min-height:35px;}\n#_cbhtml .elementstyles .is-settings > div.is-label {height:auto;font-family: sans-serif;font-size:13px;font-weight:300;letter-spacing: 1px;margin: 10px 0 3px;}\n#_cbhtml .elementstyles .is-settings button { width:auto; height: 37px; font-size:10px;line-height:1;text-transform:uppercase;padding:1px 20px;box-sizing: border-box;border:none;background: #f7f7f7;}\n#_cbhtml .elementstyles .is-settings button.is-btn-color {width:35px;height:35px;padding:0;background:transparent;border:rgba(0,0,0,0.09) 1px solid;}\n#_cbhtml .elementstyles .is-settings label {font-size:14px;color:inherit;}\n/* #_cbhtml .elementstyles .is-settings button:hover {background: #fafafa;} */\n\n#_cbhtml .elementstyles .is-settings input[type=text] {border-radius:0;height:35px;font-size:14px}\n#_cbhtml .elementstyles .is-settings select {border-radius:0;height:35px;margin:0}\n\n#_cbhtml .elementstyles #divElementMore {top:50px;left:140px}\n\n#_cbhtml .editstyles {\n    display:none;position: fixed; overflow: hidden; width:280px;height:390px;\n    margin:0px;top:100px;left:auto;right:320px;z-index:10004;\n    background:#fff;border: 1px solid rgb(243, 243, 243);\n    box-shadow: 4px 17px 20px 0px rgba(0, 0, 0, 0.08);\n    box-sizing:content-box;\n    flex-direction: column;\n}\n#_cbhtml .editstyles.active {display:flex}\n#_cbhtml .is-modal.editstyles div.is-draggable {position:absolute;top:0;left:0;background:none;cursor:move;height:20px;width:100%;z-index:1;}\n#_cbhtml .editstyles > div:not(.is-draggable) {\n    width: 100%;\n    background: transparent;\n    border: none;\n    box-shadow: none;\n    padding: initial;\n    box-sizing: border-box;\n}\n\n/*\nGradient\n*/\n\n#_cbhtml .pickgradientcolor .is-settings {margin-bottom:15px;}\n#_cbhtml .pickgradientcolor .is-settings > div {display:flex;align-items:center;height:50px;}\n#_cbhtml .pickgradientcolor .is-settings > div.is-label {height:auto;font-family: sans-serif;font-size:13px;font-weight:300;letter-spacing: 1px;margin: 10px 0 3px;}\n#_cbhtml .pickgradientcolor .is-settings button { width:auto; height: 37px; font-size:10px;line-height:1;text-transform:uppercase;padding:1px 20px;box-sizing: border-box;border:none;background: #f7f7f7;}\n#_cbhtml .pickgradientcolor .is-settings button.is-btn-color {width:35px;height:35px;padding:0;background:transparent;border:rgba(0,0,0,0.06) 1px solid;}\n#_cbhtml .pickgradientcolor .is-settings label {font-size:14px;color:inherit;}\n/* #_cbhtml .pickgradientcolor .is-settings button:hover {background: #fafafa;} */\n\n.is-elmgrad-remove {\n    position: absolute;\n    top: 0px;\n    right: 0px;\n    width: 20px;\n    height: 20px;\n    background: rgba(95, 94, 94, 0.26);\n    color: #fff;\n    line-height: 20px;\n    text-align: center;\n    font-size: 12px;\n    cursor: pointer;\n    display:none;\n}\n[data-elmgradient].active .is-elmgrad-remove {display:block;}\n\n/*\nSerach & Replace\n*/\n\n#_cbhtml .is-modal.searchreplace {z-index:10004;position:fixed;width:500px;height:265px;top:50%;left:50%;margin-top:-155px;margin-left:-250px;background:#fff;box-shadow: 0px 5px 5px 5px rgba(0, 0, 0, 0.02);}\n\n/*\nTable Editor\n*/\n\n#_cbhtml .is-modal.edittable {\n    position: fixed; overflow: hidden; width:250px; height:410px; \n    top:50%;left:auto;right:80px;margin-top:-205px;\n    background:#fff;\n    box-shadow: 4px 17px 20px 0px rgba(0, 0, 0, 0.08);\n    box-sizing:content-box;\n    flex-direction: row;\n    align-items: flex-start;\n    border: rgba(125, 125, 125, 0.09) 1px solid;\n}\n#_cbhtml .is-modal.edittable .is-draggable {\n    background-color: #f9f9f9;\n}\n#_cbhtml .edittable.active {display:flex}\n#_cbhtml .edittable > div:not(.is-draggable) {\n    width: 100%;\n    background: transparent;\n    border: none;\n    box-shadow: none;\n    padding: initial;\n    box-sizing: border-box;\n    margin-top:30px;\n}\n#_cbhtml .edittable button {height:35px;}\n#_cbhtml .edittable button.is-btn-color {width:35px;height:35px;padding:0;background:transparent;border:rgba(0,0,0,0.09) 1px solid;}\n\n.is-table-tool:hover {z-index:10001 !important}\n\n/*\nGrid Editor\n*/\n#_cbhtml .grideditor {\n    position:fixed;overflow: hidden;width:96px;height:450px;top:50%;left:auto;right:80px;margin-top:-220px;background:#fff;\n    box-shadow: 4px 17px 20px 0px rgba(0, 0, 0, 0.08);\n    border: rgba(125, 125, 125, 0.09) 1px solid;\n    box-sizing:content-box;\n}\n#_cbhtml .grideditor.active {display:flex}\n#_cbhtml .grideditor > div:not(.is-draggable) {\n    width: 100%;\n    background: transparent;\n    border: none;\n    box-shadow: none;\n    padding: initial;\n    box-sizing: border-box;\n}\n#_cbhtml .grideditor button {width:48px;height:40px;}\n#_cbhtml .grideditor .is-separator {\n    width:100%;border-top:rgba(236, 236, 236, 0.18) 1px solid;display:flex\n}\n\n/*\nQuick Add\n*/\n#_cbhtml .quickadd {\n    width:340px;box-sizing:border-box;transition: none;\n    flex-direction: row;\n    flex-flow: wrap;\n    justify-content: center;\n    align-items: center;\n}\n#_cbhtml .quickadd button {float:left;width: 100px;height: 60px;font-size:9px;font-weight:400;text-transform: uppercase;color:#333;flex-direction: column;box-shadow:none;}\n\n/*\nTool\n*/\n.is-tool {position:absolute;top:0;left:0;display:none;z-index:10001;background:rgba(239, 239, 239, 0.9);box-sizing: border-box;position:absolute;padding:0;outline: none;}  \n.is-tool button {\n    width:100%; height: 25px;\n    background-color:transparent;\n    border: none;\n    cursor:pointer;\n    user-select: none;\n    -moz-user-select: none;\n    -khtml-user-select: none;\n    -webkit-user-select: none;\n    -o-user-select: none; \n\n    /* backward */\n    color:#000;\n    float:left;\n    display: inline-block;\n    box-sizing:border-box;\n    margin: 0;\n    padding: 0;\n    font-family: sans-serif;\n    letter-spacing: 1px;\n    font-size:12px;\n    font-weight:300;\n    text-transform:uppercase;\n    text-align:center;  \n    line-height: unset;\n    position:relative;\n    border-radius: 0;\n    transition: all ease 0.3s; \n}\n.is-tool button:focus {outline:none}\n.is-tool:hover {z-index:10003;}\n.is-tool.active {display:flex}\n\n/*\nColumn Tool\n*/\n\n/* Gray */\n#_cbhtml[gray] .is-tool.is-column-tool {flex-direction:row;margin-top:-2px;}\n#_cbhtml[gray] .is-tool.is-column-tool button {\n    width:27px; height: 27px;\n}\n#_cbhtml[gray] .is-tool.is-column-tool .cell-add {background:transparent}\n#_cbhtml[gray] .is-tool.is-column-tool .cell-more {background: transparent}\n#_cbhtml[gray] .is-tool.is-column-tool .cell-remove {background: transparent} \n#_cbhtml[gray] .is-tool.is-column-tool svg {width:18px;height:18px;fill:#000;}\n#_cbhtml[gray] .is-tool.is-column-tool .cell-more svg {width:12px;height:12px;fill:#4c4c4c}\n\n/* Colors */\n#_cbhtml .is-tool.is-column-tool {flex-direction:row;margin-top:0px;}\n#_cbhtml .is-tool.is-column-tool button {\n    width:25px; height: 25px;\n}\n#_cbhtml .is-tool.is-column-tool .cell-add {background:#0fcc52}\n#_cbhtml .is-tool.is-column-tool .cell-more {background: rgba(216, 200, 6, 0.9)}\n#_cbhtml .is-tool.is-column-tool .cell-remove {background: rgba(255, 85, 4, 0.9)} \n#_cbhtml .is-tool.is-column-tool svg {width: 23px;height:23px;fill:#fff;}\n#_cbhtml .is-tool.is-column-tool .cell-more svg {width:14px;height:14px;fill:#fff;}\n\n/* More */\n#_cbhtml .is-pop.columnmore {flex-direction: column;}\n#_cbhtml .is-pop.columnmore > div {max-width: 190px;margin:10px 15px;}\n#_cbhtml .is-pop.columnmore button {width:95px;height:60px;text-align: center;font-size: 9px;font-weight: 400;text-transform:uppercase;color:#333;margin-bottom:5px;flex-direction: column;box-shadow: none;}\n#_cbhtml .is-pop.columnmore button span {display:inline-block;width: 95px;height:24px;}\n#_cbhtml .is-pop.columnmore button svg {fill:#000;}\n\n/*\nRow Tool\n*/\n.is-tool.is-row-tool {flex-direction:column;width:auto;left:auto;right:-40px;}\n.row-outline .is-row-tool, .row-active .is-row-tool {display:flex}\n\n/* Color */\n.is-tool.is-row-tool button {\n    width: 25px; height: 25px;\n}\n.is-tool.is-row-tool .row-handle {\n    line-height: 25px;\n}\n.is-tool.is-row-tool .row-handle {background: #169af7} /* rgba(68, 68, 68, 0.9) */\n.is-tool.is-row-tool .row-grideditor {background: rgba(216, 200, 6, 0.9)}\n.is-tool.is-row-tool .row-more {background: rgba(216, 200, 6, 0.9)}\n.is-tool.is-row-tool .row-remove {background: rgba(255, 85, 4, 0.9)}  \n.is-tool.is-row-tool .row-handle svg {fill:#fff;width:13px;height:13px;margin-top:-2px}\n.is-tool.is-row-tool .row-grideditor svg {fill:#fff;width:14px;height:14px;margin-top:-1px}\n.is-tool.is-row-tool .row-more svg {fill:#fff;width:14px;height:14px;}\n.is-tool.is-row-tool .row-remove svg {fill:#fff;width:23px;height:23px;}\n\n/* Gray */\n.is-builder[gray] .is-tool.is-row-tool button {\n    width:27px; height: 27px;\n}\n.is-builder[gray] .is-tool.is-row-tool .row-handle {\n    line-height: 27px;\n}\n.is-builder[gray] .is-tool.is-row-tool .row-handle {background: transparent}\n.is-builder[gray] .is-tool.is-row-tool .row-grideditor {background: transparent}\n.is-builder[gray] .is-tool.is-row-tool .row-more {background: transparent}\n.is-builder[gray] .is-tool.is-row-tool .row-remove {background: transparent}  \n.is-builder[gray] .is-tool.is-row-tool .row-handle svg {fill:#000;width:11px;height:11px;margin-top:-3px}\n.is-builder[gray] .is-tool.is-row-tool .row-grideditor svg {fill:#000;width:13px;height:13px;}\n.is-builder[gray] .is-tool.is-row-tool .row-more svg {fill:#4c4c4c;width:12px;height:12px;}\n.is-builder[gray] .is-tool.is-row-tool .row-remove svg {fill:#000;width:18px;height:18px;}\n\n/* More */\n#_cbhtml .is-pop.rowmore {flex-direction: column;}\n#_cbhtml .is-pop.rowmore > div {width: 190px;margin:10px 15px;}\n#_cbhtml .is-pop.rowmore button {width:95px;height:60px;text-align: center;font-size: 9px;font-weight: 400;text-transform:uppercase;color:#333;margin-bottom:5px;flex-direction: column;box-shadow: none;}\n#_cbhtml .is-pop.rowmore button span {display:inline-block;width: 95px;height:24px;}\n#_cbhtml .is-pop.rowmore button svg {fill:#000;}\n\n/*\nElement Tool\n*/\n#_cbhtml .is-tool.is-element-tool {background: rgba(243,243,243,0.9)} /* rgba(234, 234, 234, 0.85) */\n#_cbhtml .is-tool.is-element-tool button {\n    width: 25px; height: 25px;background: transparent;\n}\n#_cbhtml .is-tool.is-element-tool svg {width:14px;height:14px;fill:#000;}\n#_cbhtml .is-tool.is-element-tool .elm-more svg {width:11px;height:11px;}\n\n/* More */\n#_cbhtml .is-pop.elmmore {flex-direction: column;}\n#_cbhtml .is-pop.elmmore > div {width: 190px;margin:10px 15px;}\n#_cbhtml .is-pop.elmmore button {width:95px;height:60px;text-align: center;font-size: 9px;font-weight: 400;text-transform:uppercase;color:#333;margin-bottom:5px;flex-direction: column;box-shadow: none;}\n#_cbhtml .is-pop.elmmore button span {display:inline-block;width: 95px;height:24px;}\n#_cbhtml .is-pop.elmmore button svg {fill:#000;}\n\n\n/* Preferences */\n.is-tool.is-row-tool .row-grideditor {display:none}\n.is-builder[minimal] .is-tool.is-row-tool .row-grideditor {display:block}\n.is-builder[minimal] .is-tool.is-row-tool .row-more {display:none}\n.is-builder[clean] .is-tool.is-row-tool .row-grideditor {display:block}\n.is-builder[clean] .is-tool.is-row-tool .row-more {display:none}\n.is-builder[clean] .is-tool.is-row-tool .row-handle {display:none}\n.is-builder[clean] .is-tool.is-row-tool .row-remove {display:none}\n\n.is-builder[clean] .is-tool.is-row-tool .row-grideditor {background: transparent}\n.is-builder[clean] .is-tool.is-row-tool .row-grideditor svg {fill:#000;width:13px;height:13px;margin-left:-1px;}\n\n.is-builder[clean] .row-outline {outline: none;}\n.is-builder[clean] .cell-active {outline:none;}\n.is-builder[clean] .row-active {outline: 1px solid rgba(132, 132, 132, 0.2);}\n\n#_cbhtml[minimal] .is-tool.is-column-tool .cell-more {display:none}\n#_cbhtml[clean] .is-tool.is-column-tool {display:none}\n#_cbhtml[hidecolumntool] .is-tool.is-column-tool {display:none}\n\n.is-builder[leftrowtool] .is-row-tool {right:auto;left:-40px;}\n\n.is-builder.builder-active > div:not(.row-active) { /* make drag handler hovers the rows */\n    border-right:120px rgba(0,0,0,0) solid;\n    margin-right:-120px;\n}\n.is-builder[leftrowtool].builder-active > div:not(.row-active) { /* make drag handler hovers the rows */\n    border-left:120px rgba(0,0,0,0) solid;\n    margin-left:-120px;\n}\n\n.is-builder[rowoutline] .row-outline {outline: none;}\n.is-builder[rowoutline] .cell-active {outline:none;}\n.is-builder[rowoutline] .row-active {outline: 1px solid #00da89;}\n\n.is-builder[grayoutline] .row-outline {outline: none;}\n.is-builder[grayoutline] .cell-active {outline:1px solid rgba(132, 132, 132, 0.1);}\n.is-builder[grayoutline] .row-active {outline: 1px solid rgba(132, 132, 132, 0.2);}\n\n.is-builder[rowoutline][grayoutline] .row-outline {outline: none;}\n.is-builder[rowoutline][grayoutline] .cell-active {outline: none;}\n.is-builder[rowoutline][grayoutline] .row-active {outline: 1px solid rgba(132, 132, 132, 0.2);}\n\n.is-builder[grideditor] > div > div.cell-active {outline:1px solid #00da89;} \n.is-builder[grideditor] .row-active {outline:1px solid #00da89;z-index: 1;} \n.is-builder[grideditor] .row-active.row-outline {outline:1px solid rgba(132, 132, 132, 0.2);} \n\n.is-builder[hideoutline] .row-outline {outline: none !important;}\n.is-builder[hideoutline] .cell-active {outline:none !important;}\n.is-builder[hideoutline] .row-active  {outline: none !important;}\n.is-builder[hideoutline] .row-active.row-outline  {outline: none !important;}\n\n.is-builder[hidesnippetaddtool] .row-outline .is-rowadd-tool, \n.is-builder[hidesnippetaddtool] .row-active .is-rowadd-tool {display:none}\n\n.is-builder[hideelementhighlight] .elm-active {background-color: transparent;}\n\n#_cbhtml[hideelementtool] .is-tool.is-element-tool {display:none !important}\n\n/* #_cbhtml[toolbarstay] .is-rte-tool {display:flex !important} */\n\n/* Email Mode */\n#_cbhtml .is-element-tool .elm-settings {display:none}\n#_cbhtml[emailmode] .is-element-tool .elm-add,\n#_cbhtml[emailmode] .is-element-tool .elm-more,\n#_cbhtml[emailmode] .is-element-tool .elm-remove {display:none !important}\n#_cbhtml[emailmode] .is-element-tool .elm-settings {display:block}\n\n/*\nRow Add Tool\n*/\n.is-rowadd-tool {display:none;position:absolute;bottom:-1px;left:-20px;width:calc(100% + 40px);height:1px;border:none;border-bottom:1px solid rgb(255, 183, 132);z-index:1;background:transparent;transition:none;}\n.is-rowadd-tool button {\n    position:absolute;\n    top: -9px;\n    left:calc(50% - 10px);\n    border: 1px solid rgb(255, 142, 62);\n    border-radius: 500px;\n    height:auto;\n}\n.row-outline .is-rowadd-tool, .row-active .is-rowadd-tool {display:block}\n\n/*\nEmpt Info\n*/\n.row-add-initial {\n    width: 100%;\n    height: 70px;\n    font-family: sans-serif;\n    font-size: 12px;\n    text-transform: uppercase;\n    letter-spacing: 1px;\n    justify-content: center;\n    align-items: center;\n    color: #555;\n    border: 1px dashed #a9a9a9;\n    background: rgba(255,255,255,0.5);\n    cursor: pointer;\n    transition: all ease 0.3s;\n}\n.row-add-initial:hover {background: rgba(0,0,0,0.01)}\n.row-add-initial:focus {outline:none}\n.row-add-initial span {text-transform:none;display:block;margin-top:5px;color:#acacac;font-size:13px;}\n.is-builder .row-active.row-add-initial {outline:none}\n\n\n/*\nLink Tool\n*/\n#_cbhtml #divLinkTool button {\n    width: 30px;\n    height: 30px;\n    background: rgba(68,68,68,0.82);\n}\n#_cbhtml #divLinkTool button svg { fill:#fff }\n\n\n/*\nTabs\n*/\n.is-tabs  {\n    white-space:nowrap;\n    padding:20px;padding-bottom:5px;padding-top: 10px;\n    box-sizing:border-box;\n    font-family: sans-serif;\n    font-size: 11px;\n    line-height: 1.8 !important;\n    text-transform: uppercase;\n    letter-spacing: 1px;  \n    background:#f9f9f9;\n    display: flex;\n    flex-flow: wrap;\n}\n.is-tabs a {\n    display: inline-block;\n    padding: 3px 3px 0;\n    color: #4a4a4a;\n    border-bottom: transparent 1px solid;\n    margin: 0 10px 13px 0;\n    text-decoration: none;\n    transition: box-shadow ease 0.3s;\n}\n.is-tabs a:hover {\n\n}\n.is-tabs a.active {\n    background: transparent;\n    box-shadow: none;\n    cursor:default;\n    border-bottom: rgba(103, 103, 103, 0.72) 1px solid;\n}\n.is-tab-content {display:none;padding:20px;flex-direction: column;flex-flow: wrap;}\n\n.is-tabs-more {\n    box-sizing:border-box;width:150px;position:absolute;top:0;left:0;background:#fff;display:none;z-index:1;\n    font-family: sans-serif;\n    font-size: 11px;\n    text-transform: uppercase;\n    letter-spacing: 1px;  \n    border: 1px solid rgba(220, 220, 220, 0.86);\n    box-shadow: 3px 4px 9px 0px rgba(0, 0, 0, 0.07);\n    }\n.is-tabs-more > a {\n    display:block;\n    color: #4a4a4a;\n    padding: 10px;\n    text-decoration: none;\n    text-align: center;\n}\n.is-tabs-more > a:hover, .is-tabs-more > a.active {background:#f3f3f3;}\n\n/*\nTooltip\n*/\n\n.is-tooltip {position:absolute;display:none;padding:1px 8px;font-size:11px;background:#333;border-radius:0px;color:#fefefe;z-index:100005}\n\n/* \nPop with Arrow \n*/\n.is-pop.arrow-top:after, .is-pop.arrow-top:before {\n\tbottom: 100%;\n\tleft: 25px;\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n\ttop: auto;\n}\n.is-pop.arrow-top:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-bottom-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-left: -7px;\n}\n.is-pop.arrow-top:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-bottom-color: rgba(243,243,243);\n\tborder-width: 8px;\n\tmargin-left: -8px;\n}\n\n.is-pop.light.arrow-top:after { border-bottom-color:#ffffff; }\n.is-pop.light.arrow-top:before { border-bottom-color:#e0e0e0;}\n\n.is-pop.arrow-top.right:after, .is-pop.arrow-top.right:before {\n\tleft: auto;\n}\n.is-pop.arrow-top.right:after {\n\tright:19px;\n}\n.is-pop.arrow-top.right:before {\n\tright:18px;\n}\n.is-pop.arrow-top.left:after, .is-pop.arrow-top.left:before {\n\tright: auto;\n}\n.is-pop.arrow-top.left:after {\n\tleft:18px;\n}\n.is-pop.arrow-top.left:before {\n\tleft:18px;\n}\n.is-pop.arrow-left:after, .is-pop.arrow-left:before {\n\tright: 100%;\n\ttop: 20px;\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.is-pop.arrow-left:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-right-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-top: -7px;\n}\n.is-pop.arrow-left:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-right-color: rgba(243,243,243);\n\tborder-width: 8px;\n\tmargin-top: -8px;\n}\n                \n.is-pop.arrow-right:after, .is-pop.arrow-right:before {\n\tleft: 100%;\n\ttop: 20px;\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.is-pop.arrow-right:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-left-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-top: -7px;\n}\n.is-pop.arrow-right:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-left-color: rgba(243,243,243);\n\tborder-width: 8px;\n\tmargin-top: -8px;\n}   \n\n.is-pop.arrow-bottom:after, .is-pop.arrow-bottom:before {\n\ttop: 100%;\n\tleft: calc(100% - 28px);\n\tborder: solid transparent;\n\tcontent: \" \";\n\theight: 0;\n\twidth: 0;\n\tposition: absolute;\n\tpointer-events: none;\n}\n.is-pop.arrow-bottom:after {\n\tborder-color: rgba(255, 255, 255, 0);\n\tborder-top-color: #ffffff;\n\tborder-width: 7px;\n\tmargin-left: -7px;\n}\n.is-pop.arrow-bottom:before {\n\tborder-color: rgba(0, 0, 0, 0);\n\tborder-top-color: rgba(243,243,243);\n\tborder-width: 8px;\n\tmargin-left: -8px;\n}\n\n.is-pop.arrow-top.center:after, .is-pop.arrow-top.center:before {\n\tleft:calc(50% + 3px);\n}\n.is-pop.arrow-left.bottom:after, .is-pop.arrow-left.bottom:before { \n    top:calc(100% - 28px);\n}\n.is-pop.arrow-bottom.center:after, .is-pop.arrow-bottom.center:before { \n    left:calc(50% + 3px);\n}\n\n/*http://codepen.io/vcmg/pen/JdKeVG */\n.dot {\n    height: 7px;\n    width: 7px;\n    border-radius: 50%;\n    background-color: #ff6700;\n    display: inline-block;\n    margin: 25px 2px 0;\n    -webkit-animation: jump 1.5s linear infinite;\n}\n@-webkit-keyframes jump {\n    0%, 100% {transform: translateY(0px);}\n    20% {transform: translateY(-10px);}\n    40% {transform: translateY(0px);}\n}\n.dot:nth-of-type(2) {\n    -webkit-animation-delay: 0.2s;\n}\n.dot:nth-of-type(3) {\n    -webkit-animation-delay: 0.4s;\n}\n\n#divImageProgress {display:none;position:absolute;top:0;left:0;z-index:1;box-sizing:border-box;background:rgba(0, 0, 0, 0.17);transition: none;}\n#divImageProgress > div {display:table-cell;vertical-align:middle;text-align:center;}\n#divImageProgress .dot {background-color: #fff;margin: 10px 2px 0;}\n\n#_cbhtml .imagelink .image-src {display:flex;}\n#_cbhtml .imagelink .image-link {display:flex;}\n\n#_cbhtml .insertimage .image-src {display:flex;}\n/* \n#_cbhtml .image-src {position:relative;height: 50px;}\n#_cbhtml .image-src .input-src {position:absolute;width:100%;}\n#_cbhtml .image-src .input-select {display:none;}\n#_cbhtml .image-src.image-select .input-src {position:absolute;width:100%;border-right:60px solid transparent;}\n#_cbhtml .image-src.image-select .input-select {display:block;position:absolute;top:0;right:0;width:60px;font-size:20px;color:#777;height: 50px;border-left:none;background:transparent;} */\n\n#_cbhtml .link-src {position:relative;height: 50px;}\n#_cbhtml .link-src .input-url {position:absolute;width:100%;}\n#_cbhtml .link-src .input-select {position:absolute;top:0;right:0;width:60px;font-size:20px;color:#777;height: 50px;border-left:none;background:transparent;}\n\n.form-upload-larger.please-wait svg {\n    transform:scale(1,1);\n    opacity:1;\n    animation-name: please-wait-anim;\n    animation-duration: 3s;\n    animation-fill-mode: forwards;\n    animation-iteration-count: infinite;\n}\n@keyframes please-wait-anim {\n    0% {transform:scale(1,1);opacity:0.0;}\n    25% {transform:scale(1.2,1.2);opacity:1;}\n    50% {transform:scale(1,1);opacity:0.0;}\n    75% {transform:scale(1.2,1.2);opacity:1;}\n    100% {transform:scale(1,1);opacity:0.0;}\n}\n\n/*!\n * Cropper.js v1.5.5\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2019-08-04T02:26:27.232Z\n */.cropper-container{direction:ltr;font-size:0;line-height:0;position:relative;-ms-touch-action:none;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.cropper-container img{display:block;height:100%;image-orientation:0deg;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;width:100%}.cropper-canvas,.cropper-crop-box,.cropper-drag-box,.cropper-modal,.cropper-wrap-box{bottom:0;left:0;position:absolute;right:0;top:0}.cropper-canvas,.cropper-wrap-box{overflow:hidden}.cropper-drag-box{background-color:#fff;opacity:0}.cropper-modal{background-color:#000;opacity:.5}.cropper-view-box{display:block;height:100%;outline:1px solid #39f;outline-color:rgba(51,153,255,.75);overflow:hidden;width:100%}.cropper-dashed{border:0 dashed #eee;display:block;opacity:.5;position:absolute}.cropper-dashed.dashed-h{border-bottom-width:1px;border-top-width:1px;height:33.33333%;left:0;top:33.33333%;width:100%}.cropper-dashed.dashed-v{border-left-width:1px;border-right-width:1px;height:100%;left:33.33333%;top:0;width:33.33333%}.cropper-center{display:block;height:0;left:50%;opacity:.75;position:absolute;top:50%;width:0}.cropper-center:after,.cropper-center:before{background-color:#eee;content:\" \";display:block;position:absolute}.cropper-center:before{height:1px;left:-3px;top:0;width:7px}.cropper-center:after{height:7px;left:0;top:-3px;width:1px}.cropper-face,.cropper-line,.cropper-point{display:block;height:100%;opacity:.1;position:absolute;width:100%}.cropper-face{background-color:#fff;left:0;top:0}.cropper-line{background-color:#39f}.cropper-line.line-e{cursor:ew-resize;right:-3px;top:0;width:5px}.cropper-line.line-n{cursor:ns-resize;height:5px;left:0;top:-3px}.cropper-line.line-w{cursor:ew-resize;left:-3px;top:0;width:5px}.cropper-line.line-s{bottom:-3px;cursor:ns-resize;height:5px;left:0}.cropper-point{background-color:#39f;height:5px;opacity:.75;width:5px}.cropper-point.point-e{cursor:ew-resize;margin-top:-3px;right:-3px;top:50%}.cropper-point.point-n{cursor:ns-resize;left:50%;margin-left:-3px;top:-3px}.cropper-point.point-w{cursor:ew-resize;left:-3px;margin-top:-3px;top:50%}.cropper-point.point-s{bottom:-3px;cursor:s-resize;left:50%;margin-left:-3px}.cropper-point.point-ne{cursor:nesw-resize;right:-3px;top:-3px}.cropper-point.point-nw{cursor:nwse-resize;left:-3px;top:-3px}.cropper-point.point-sw{bottom:-3px;cursor:nesw-resize;left:-3px}.cropper-point.point-se{bottom:-3px;cursor:nwse-resize;height:20px;opacity:1;right:-3px;width:20px}@media (min-width:768px){.cropper-point.point-se{height:15px;width:15px}}@media (min-width:992px){.cropper-point.point-se{height:10px;width:10px}}@media (min-width:1200px){.cropper-point.point-se{height:5px;opacity:.75;width:5px}}.cropper-point.point-se:before{background-color:#39f;bottom:-50%;content:\" \";display:block;height:200%;opacity:0;position:absolute;right:-50%;width:200%}.cropper-invisible{opacity:0}.cropper-bg{background-image:url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAA3NCSVQICAjb4U/gAAAABlBMVEXMzMz////TjRV2AAAACXBIWXMAAArrAAAK6wGCiw1aAAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M26LyyjAAAABFJREFUCJlj+M/AgBVhF/0PAH6/D/HkDxOGAAAAAElFTkSuQmCC\")}.cropper-hide{display:block;height:0;position:absolute;width:0}.cropper-hidden{display:none!important}.cropper-move{cursor:move}.cropper-crop{cursor:crosshair}.cropper-disabled .cropper-drag-box,.cropper-disabled .cropper-face,.cropper-disabled .cropper-line,.cropper-disabled .cropper-point{cursor:not-allowed}\n\n\n/* RangeSlider */\n#_cbhtml .rangeSlider, #_cbhtml .rangeSlider__fill {\n    display: block;\n    /*box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3);\n    border-radius: 10px;*/\n}\n\n#_cbhtml .rangeSlider {\n    position: relative;\n    /* background: #7f8c8d; */\n    background-color: transparent;\n    outline: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n#_cbhtml .rangeSlider__horizontal {\n    height: 21px;\n    width: 100%;\n}\n\n#_cbhtml .rangeSlider__vertical {\n    height: 100%;\n    width: 20px;\n}\n\n#_cbhtml .rangeSlider--disabled {\n    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=40);\n    opacity: 0.4;\n}\n\n#_cbhtml .rangeSlider__fill {\n    /* background: #16a085; */\n    background-color: transparent;\n    position: absolute;\n}\n\n#_cbhtml .rangeSlider__fill__horizontal {\n    height: 100%;\n    top: 0;\n    left: 0;\n}\n\n#_cbhtml .rangeSlider__fill__vertical {\n    width: 100%;\n    bottom: 0;\n    left: 0;\n}\n\n#_cbhtml .rangeSlider__handle {\n    border: 1px solid #ccc;\n    cursor: pointer;\n    display: inline-block;\n    width: 25px;\n    height: 25px;\n    position: absolute;\n    background: white linear-gradient(rgba(255, 255, 255, 0), rgba(0, 0, 0, 0.04));\n    /* box-shadow: 0 0 8px rgba(0, 0, 0, 0.3); */\n    border-radius: 50%;\n    z-index: 1;\n}\n\n#_cbhtml .rangeSlider__handle__horizontal {\n    top: -3px;\n}\n\n#_cbhtml .rangeSlider__handle__vertical {\n    left: -10px;\n    bottom: 0;\n}\n\n#_cbhtml .rangeSlider__handle:after {\n    content: \"\";\n    display: block;\n    width: 10px;\n    height: 10px;\n    margin: auto;\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    background-image: linear-gradient(rgba(0, 0, 0, 0.13), rgba(255, 255, 255, 0));\n    border-radius: 50%;\n}\n\n#_cbhtml .rangeSlider__handle:active {\n    background-image: linear-gradient(rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02));\n}\n\n#_cbhtml input[type=\"range\"]:focus + .rangeSlider .rangeSlider__handle {\n    box-shadow: 0 0 8px rgba(142, 68, 173, 0.9);\n}\n\n#_cbhtml .rangeSlider__buffer {\n    position: absolute;\n    top: 3px;\n    height: 14px;\n    background: #2c3e50;\n    border-radius: 10px;\n}\n\n/* Color Picker */\n\n.is-color-picker {width:40px;height:40px;background:#fff;border:1px solid rgba(53, 53, 53, 0.28);display:inline-block;margin:3px 0;cursor:pointer;}\n\n.color-swatch {width:100%;height:315px;display:flex;flex-direction:column;outline:1px solid rgba(0, 0, 0, 0.08);overflow:hidden;position:relative;}\n.color-swatch > * {display:flex;height:100%;}\n.color-swatch > * > * {width:100%;height:100%;border:transparent 1px solid;cursor:pointer;transition: all ease 0.3s;} /* 27 or 32 */\n\n.color-gradient {width:100%;height:157px;display:flex;flex-direction:column;outline:1px solid rgba(0, 0, 0, 0.08);overflow:hidden;position:relative;}\n.color-gradient > * {display:flex;height:100%;}\n.color-gradient > * > * {width:100%;height:100%;border:transparent 1px solid;cursor:pointer;transition: all ease 0.3s;} /* 27 or 32 */\n\n#_cbhtml .is-modal.pickcolor button,\n#_cbhtml .pickcolor button,\n.pickcolor button {\n    float: left;\n    width: 45px;\n    height: 45px;\n    cursor: pointer;\n}\n#_cbhtml .is-modal.pickcolor .color-default button,\n#_cbhtml .pickcolor .color-default button,\n.pickcolor .color-default button {width:35px;height:35px;border:transparent 1px solid;}\n#_cbhtml .is-modal.pickcolor button.clear,\n#_cbhtml .pickcolor button.clear,\n.pickcolor button.clear {\n    font-size: 10px;\n}\n\n/*\nBackward compatibility (for examples)\n*/\n.is-pop {position:absolute;top:0;left:0;display:none;z-index:10000;background:#fff;border:1px solid rgb(199, 199, 199);transition: all ease 0.3s;}    \n.is-pop {z-index:10002;transition: none;}\n\n/* Prevent overide */\n#_cbhtml .is-modal * {font-size:13px;}\n#_cbhtml .elementstyles .is-tabs a,\n#_cbhtml .elementstyles .is-tabs-more a {font-size:11px;color:#000;}\n#_cbhtml .elementstyles * {font-family:sans-serif;font-size:13px;} \n#_cbhtml .is-modal .is-tabs a {font-size:10px;letter-spacing: 2px;font-weight: 400;}\n\n/* Touch Device \n.textblock-active {background-color: rgba(173, 173, 173, 0.5);} */\n\n/* Image resizer */\n#divImageResizer {background: rgba(0,0,0,0);width:1px;height:1px;display:none;z-index:10;touch-action:none;box-sizing:border-box;position:absolute;top:0px;left:0px;}\n.moveable-control.moveable-origin {display: none !important;}\n.moveable-control {border:none !important; width:7px !important; height: 7px !important; margin-top:-3px !important; margin-left:-3px !important;  background: #333 !important;}\n.moveable-direction.moveable-s, .moveable-direction.moveable-n {display:none !important;}\n.moveable-direction.moveable-e, .moveable-direction.moveable-w {display:none !important;}\n.moveable-line {display:none !important}\n\n/* nogrid */\n.is-builder[nogrid] .is-row-tool {display:none !important}\n.is-builder[nogrid] .is-rowadd-tool {display:none !important}\n\n/* selectbox */\n.is-selectbox {\n    height: 40px;\n    box-sizing: border-box;\n    padding: 0 0 0 20px;\n    background: #eee;\n    line-height: 40px !important;\n    font-size: 14px;\n    font-weight: 400;\n    cursor: pointer;\n}\n.is-selectbox:hover {\n    background: #f1f1f1;\n}\n.is-selectbox-options {\n    width:100%;\n    height:350px;\n    border: #e8e8e8 1px solid;\n    overflow-y:auto;\n    overflow-x:hidden;\n    background-color: #fff;\n    display:none;\n}\n.is-selectbox-options > div {\n    height:35px;\n    padding: 0 0 0 20px;\n    line-height: 35px !important;\n    font-size: 13px;\n    font-weight: 300;\n    cursor: pointer;\n}\n.is-selectbox-options > div:hover {\n    background: #f1f1f1;\n}\n.is-selectbox-options > div.selected {\n    background: #f7f7f7;\n}"
  },
  {
    "path": "public/vendor/content-builder/contentbuilder/saveimages.js",
    "content": "﻿(function (jQuery) {\n\n    jQuery.saveimages = function (element, options) {\n\n        var defaults = {\n            handler: 'saveimage.php',\n            onComplete: function () { },\n\t\t\tcustomval: ''\n        };\n\n        this.settings = {};\n\n        var $element = jQuery(element),\n                element = element;\n\n        this.init = function () {\n\n            this.settings = jQuery.extend({}, defaults, options);\n\n        };\n\n        this.save = function (s) {\n\n            var handler = this.settings.handler;\n            var customval = this.settings.customval;\n            var _token = this.settings._token;\n\n            var formDataToUpload = new FormData();\n\n            //Check all images\n            $element.find('img').not('#divCb img').each(function () {\n\n                //Find base64 images\n                if (jQuery(this).attr('src').indexOf('base64') != -1) {\n\n                    //Read image (base64 string)\n                    var ImageURL = jQuery(this).attr('src');\n                    image = ImageURL.replace(/^data:image\\/(png|jpeg);base64,/, \"\");\n\n                    // Split the base64 string in data and contentType\n                    var block = ImageURL.split(\";\");\n\n                    var contentType = block[0].split(\":\")[1];// In this case \"image/gif\"\n                    // get the real base64 content of the file\n                    var realData = block[1].split(\",\")[1];\n\n                    // Convert it to a blob to upload\n                    var blob = b64toBlob(realData, contentType);\n\n                    // Create a FormData and append the file with \"image\" as parameter name\n                    formDataToUpload.append(\"file[]\", blob);\n\n                    //Note: the submitted image will be saved on the server\n                    //by saveimage.php (if using PHP) or saveimage.ashx (if using .NET)\n                    //and the image src will be changed with the new saved image.\n                }\n            });\n\n            if (formDataToUpload.has('file[]')) {\n                jQuery.ajax({\n                    type: \"POST\",\n                    url: handler,\n                    headers: {\n                        'X-CSRF-TOKEN': _token\n                    },\n                    data: formDataToUpload,\n                    contentType:false,\n                    processData:false,\n                    success: function (response) {\n                            let data = response.data;\n                            let key = 0;\n\n                            $element.find('img').not('#divCb img').each(function () {\n                                if (jQuery(this).attr('src').indexOf('base64') != -1) {\n                                    if (data[key]['img_url']) {\n                                        jQuery(this).attr('src', data[key]['img_url']);\n                                    }\n                                    key++;\n                                }\n                            });\n                    },\n                    error:function (error) {\n                        console.error(error.responseJSON.message);\n                    }\n                });\n            }\n\n            //Check per 2 sec if all images have been changed with the new saved images.\n            var int = setInterval(function () {\n\n                var finished = true;\n                $element.find('img').not('#divCb img').each(function () {\n                    if (jQuery(this).attr('src').indexOf('base64') != -1) { //if there is still base64 image, means not yet finished.\n                        finished = false;\n                    }\n                });\n\n                if (finished) {\n\n                    $element.data('saveimages').settings.onComplete();\n\n                    window.clearInterval(int);\n                }\n            }, 2000);\n\n        };\n\n        this.init();\n\n    };\n\n    jQuery.fn.saveimages = function (options) {\n\n        return this.each(function () {\n\n            if (undefined == jQuery(this).data('saveimages')) {\n                var plugin = new jQuery.saveimages(this, options);\n                jQuery(this).data('saveimages', plugin);\n\n            }\n\n        });\n    };\n\n\n    /**\n     * Convert a base64 string in a Blob according to the data and contentType.\n     *\n     * @param b64Data {String} Pure base64 string without contentType\n     * @param contentType {String} the content type of the file i.e (image/jpeg - image/png - text/plain)\n     * @param sliceSize {Int} SliceSize to process the byteCharacters\n     * @see http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript\n     * @return Blob\n     */\n    function b64toBlob(b64Data, contentType, sliceSize) {\n        contentType = contentType || '';\n        sliceSize = sliceSize || 512;\n\n        var byteCharacters = atob(b64Data);\n        var byteArrays = [];\n\n        for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n            var slice = byteCharacters.slice(offset, offset + sliceSize);\n\n            var byteNumbers = new Array(slice.length);\n            for (var i = 0; i < slice.length; i++) {\n                byteNumbers[i] = slice.charCodeAt(i);\n            }\n\n            var byteArray = new Uint8Array(byteNumbers);\n\n            byteArrays.push(byteArray);\n        }\n\n        var blob = new Blob(byteArrays, {type: contentType});\n        return blob;\n    }\n\n})(jQuery);"
  },
  {
    "path": "public/vendor/content-builder/custom_example1.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Simple Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/simple/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n</head>\n<body>\n\n<br />\n<br />\n<br />\n\n<div id=\"contentarea\" class=\"container\">\n\n    <!-- This is just a sample content -->\n    <div>\n        <h1>Test</h1>       \n    </div>\n\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/simple/snippets.html'\n            });\n\n    });\n\n    function view() {\n        var sHTML = $('#contentarea').data('contentbuilder').html();\n        alert(sHTML);\n    }\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example-email.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">    \n    <!--<link href=\"assets/frameworks/foundation-emails/css/foundation-emails.css\" rel=\"stylesheet\" type=\"text/css\" />-->\n    <link href=\"assets/frameworks/foundation-emails/css/app.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"assets/emailsnippets/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>       \n        body {margin:30px 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n        .ui-draggable { margin-bottom: 1px; } /* small adjustment for ContentBuilder.js */\n    </style>\n</head>\n<body>\n\n<table class=\"body\" data-made-with-foundation=\"\">\n<tr>\n<td class=\"float-center\" align=\"center\" valign=\"top\">\n<center data-parsed=\"\">\n    <table align=\"center\" class=\"container float-center\">\n    <tbody>\n    <tr>\n    <td id=\"contentarea\" class=\"is-container\">\n\n        <!-- This is just a sample existing content (content can be loaded from a database) -->\n        <div>\n\t\t    <table align=\"center\" class=\"container float-center\">\n                <tbody>\n              \t    <tr>\n                \t    <td class=\"wrapper-inner\">\n                  \t\t    <table align=\"center\" class=\"container\">\n                    \t\t    <tbody>\n                      \t\t    <tr>\n                        \t\t    <td>\n                          \t\t\t    <table class=\"row collapse\">\n                            \t\t\t    <tbody>\n                              \t\t\t    <tr>\n                                \t\t\t    <th class=\"small-6 large-6 columns first\">\n                                  \t\t\t\t    <table>\n                                    \t\t\t\t    <tbody>\n                                    \t\t\t\t    <tr>\n                                      \t\t\t\t\t    <th><img src=\"assets/emailsnippets/image.png\" style=\"width: 200px; height: 60px;\"></th>\n                                    \t\t\t\t    </tr>\n                                  \t\t\t\t\t    </tbody>\n                                  \t\t\t\t    </table>\n                                \t\t\t    </th>\n                                \t\t\t    <th class=\"small-6 large-6 columns last\">\n                                  \t\t\t\t    <table>\n                                    \t\t\t\t    <tbody>\n                                    \t\t\t\t    <tr>\n                                      \t\t\t\t\t    <th><p class=\"text-right\"></p>                                     \t\t\t\t\n                                      \t\t\t\t    </th></tr>\n                                    \t\t\t    </tbody></table>\n                                    \t\t    </th>\n                                    \t    </tr>\n                                  \t\t    </tbody>\n                                  \t    </table>\n                                    </td>\n                                </tr>\n                                </tbody>\n                            </table>\n                \t    </td>\n            \t    </tr>\n                </tbody>\n            </table>\n\t    </div>\n\t    <div>\n\t\t    <table align=\"center\" class=\"container float-center\">\n\t\t\t    <tbody>\n\t\t\t\t    <tr>\n\t\t\t\t\t    <td>\t\t\n\t\t\t\t\t\t    <table class=\"row\">\n\t\t\t\t\t\t\t    <tbody>\n\t\t\t\t\t\t\t    <tr>\n\t\t\t\t\t\t\t\t    <th class=\"small-12 large-12 columns first last\">\n\t\t\t\t\t\t\t\t\t    <table>\n\t\t\t\t\t\t\t\t\t\t    <tbody>\n\t\t\t\t\t\t\t\t\t\t    <tr>\n\t\t\t\t\t\t\t\t\t\t\t    <th><h1 style=\"font-size:40px;font-family:Open Sans;font-weight:bold;line-height:1.3\">LOREM IPSUM IS SIMPLY DUMMY TEXT</h1></th>\n\t\t\t\t\t\t\t\t\t\t    </tr>\n\t\t\t\t\t\t\t\t\t\t    </tbody>\n\t\t\t\t\t\t\t\t\t    </table>\n\t\t\t\t\t\t\t\t    </th>\n                        \t    </tr>\n                    \t\t    </tbody>\n                \t\t    </table>   \t\t                     \n\t\t\t\t\t    </td>\n\t\t\t\t    </tr>\n\t\t\t    </tbody>\n\t\t    </table>\n\t    </div>\n\t    <div>\n\t\t    <table align=\"center\" class=\"container float-center\">\n\t\t\t    <tbody>\n\t\t\t\t    <tr>\n\t\t\t\t\t    <td>              \n                    \t    <table class=\"row\">\n                      \t\t    <tbody>\n                        \t    <tr>\n                          \t\t    <th class=\"small-12 large-12 columns first last\">\n                            \t\t    <table>\n                              \t\t\t    <tbody>\n                              \t\t\t    <tr>\n                                \t\t\t    <th><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p></th>\n                           \t \t\t\t    </tr>\n                        \t\t\t\t    </tbody>\n                        \t\t\t    </table>\n                    \t\t\t    </th>\n                \t\t\t    </tr>\n            \t\t\t\t    </tbody>\n                            </table>    \n\t\t\t\t\t    </td>\n                    </tr>\n                </tbody>\n            </table>\n\t    </div>\n        <!-- /sample content -->\n\n    </td>\n    </tr>\n    </tbody>\n    </table>\n</center>\n</td>\n</tr>\n</table>\n\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"view()\" class=\"btn btn-primary\"> HTML </button>\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n        if (localStorage.getItem('myemail') == '') {\n            localStorage.removeItem('myemail');\n        }\n        //Load saved Content\n        if (localStorage.getItem('myemail') != null) {\n            $(\"#contentarea\").html(localStorage.getItem('myemail'));\n        }\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/emailsnippets/snippets.html',\n            absolutePath:true,\n            snippetOpen: true,\n            toolbar: 'left',   \n            customTags: [[\"First Name\", \"{%first_name%}\"],\n                [\"Last Name\", \"{%last_name%}\"],\n                [\"Email\", \"{%email%}\"]],         \n            snippetCategories: [\n                [0,\"Default\"],\n                [-1, \"All\"],\n                [1, \"Logo\"],\n                [2,\"Title\"],\n                [3,\"Title, Subtitle\"],\n                [4,\"Info, Title\"],\n                [5,\"Info, Title, Subtitle\"],\n                [6,\"Heading, Paragraph\"],\n                [7,\"Paragraph\"],\n                [8, \"Buttons\"],\n                [9, \"Callouts\"],\n                [10,\"Images + Caption\"],\n                [11,\"Images + Long Caption\"],\n                [12, \"Images\"],\n                [13, \"List\"],\n                [14,\"Call to Action\"],\n                [15, \"Pricing\"],\n                [16, \"Quotes\"],\n                [17, \"Profile\"],\n                [18, \"Contact Info\"],\n                [19, \"Footer\"],\n                [20,\"Separator\"]\n                ]\n        });\n\n    });\n\n    function save() {\n        var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n        localStorage.setItem('myemail', sContent);\n        alert('Saved Successfully');\n    }\n\n    function view() {\n        /* This is how to get the HTML content (ex. for saving to a database) */\n        var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n    }\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example1-bootstrap.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content-bootstrap.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:0 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container-fluid\">\n\n    <!-- This is just a sample existing content (content can be loaded from a database) -->\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"center\">\n\t\t\t    <i class=\"icon ion-leaf size-48\"></i>\n\t\t\t    <h1 style=\"font-size: 1.3em\">BEAUTIFUL CONTENT</h1>\n                <div class=\"display\">\n                    <h1>LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <hr>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n       \t</div>\n        <div class=\"col-md-6\">\n            <img src=\"assets/minimalist-basic/e09-1.jpg\" alt=\"\">\n       \t</div>\n    </div>\n\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets-bootstrap.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n    function view() {\n        /* This is how to get the HTML (for saving into a database) */\n        var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n    }\n</script>\n\n\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example1-foundation.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">    \n\n    <link href=\"https://cdn.jsdelivr.net/foundation/6.2.4/foundation.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"assets/minimalist-basic/content-foundation.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:0 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container\">\n\n    <!-- This is just a sample existing content (content can be loaded from a database) -->\n    <div class=\"row\">\n        <div class=\"large-12 columns\">\n            <div class=\"center\">\n\t\t\t    <i class=\"icon ion-leaf size-48\"></i>\n\t\t\t    <h1 style=\"font-size: 1.3em\">BEAUTIFUL CONTENT</h1>\n                <div class=\"display\">\n                    <h1>LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"large-12 columns\">\n            <hr>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"large-6 columns\">\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n       \t</div>\n        <div class=\"large-6 columns\">\n            <img src=\"assets/minimalist-basic/e09-1.jpg\" alt=\"\">\n       \t</div>\n    </div>\n\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets-foundation.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n    function view() {\n        /* This is how to get the HTML (for saving into a database) */\n        var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n    }\n</script>\n\n\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example1.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">    \n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:0 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container\">\n\n    <!-- This is just a sample existing content (content can be loaded from a database) -->\n    <div class=\"row clearfix\">\n        <div class=\"column full\">\n            <div class=\"center\">\n\t\t\t    <i class=\"icon ion-leaf size-48\"></i>\n\t\t\t    <h1 style=\"font-size: 1.3em\">BEAUTIFUL CONTENT</h1>\n                <div class=\"display\">\n                    <h1>LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row clearfix\">\n        <div class=\"column full\">\n            <hr>\n        </div>\n    </div>\n    <div class=\"row clearfix\">\n        <div class=\"column half\">\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n       \t</div>\n        <div class=\"column half\">\n            <img src=\"assets/minimalist-basic/e09-1.jpg\" alt=\"\">\n       \t</div>\n    </div>\n\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'  \n        });\n\n    });\n\n    function view() {\n        /* This is how to get the HTML (for saving into a database) */\n        var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n    }\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example2-bootstrap.aspx",
    "content": "<%@ Page Language=\"VB\"%>\n<%@ OutputCache Location=\"None\" VaryByParam=\"none\"%>\n\n<script runat=\"server\">\n\n    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load\n        \n        If Not Page.IsPostBack Then\n            If Not IsNothing(Session(\"content-bootstrap\")) Then\n                 litContent.Text = Session(\"content-bootstrap\") \n            Else\n                'Optional initial content\n                litContent.Text = \"<div class=\"\"row\"\"><div class=\"\"col-md-12\"\">\" & _\n                    \"<div class=\"\"display\"\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\" & _\n                    \"</div></div>\" & _\n                    \"<div class=\"\"row\"\">\" & _\n                    \"<div class=\"\"col-md-12\"\">\" & _\n                    \"<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\" & _\n                    \"</div></div>\"\n            End If\n\n        End If\n\n    End Sub\n    \n    Protected Sub btnPost_Click(sender As Object, e As System.EventArgs) Handles btnPost.Click\n\n        'Get Submitted Content\n        Dim sContent As String = System.Uri.UnescapeDataString(hidContent.Value)\n        \n        'You can save the content into a database. in this example we just display the content back.\n        Session(\"content-bootstrap\") = sContent\n        \n        Response.Redirect(Request.RawUrl)\n       \n    End Sub\n  \n</script>\n\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"assets/minimalist-basic/content-bootstrap.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 50px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; padding:55px 35px; }\n        }       \n        \n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container-fluid\">\n    <asp:Literal ID=\"litContent\" runat=\"server\"></asp:Literal>\n</div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" runat=\"server\" style=\"display:none\">\n    <asp:HiddenField ID=\"hidContent\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:Button ID=\"btnPost\" runat=\"server\" Text=\"Button\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets-bootstrap.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"#contentarea\").saveimages({\n            handler: 'saveimage.ashx',\n            onComplete: function () {\n\n                //Then save the content\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidContent').val(encodeURIComponent(sContent));\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"#contentarea\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example2-bootstrap.php.html",
    "content": "\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content-bootstrap.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n        <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 50px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; padding:55px 35px; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container-fluid\">\n    <div class=\"row\">\n\t\t\t<div class=\"col-md-12\">\n\t\t\t<div class=\"display\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\n\t\t\t</div></div>\n\t\t\t<div class=\"row\">\n\t\t\t<div class=\"col-md-12\">\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\t\t\t</div></div></div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" method=\"post\" style=\"display:none\">\n\t<input type=\"hidden\" id=\"hidContent\" name=\"hidContent\" />\n\t<input type=\"submit\" id=\"btnPost\" value=\"submit\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets-bootstrap.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n\n        //Save all images first\n        $(\"#contentarea\").saveimages({\n            handler: 'saveimage.php',\n            onComplete: function () {\n\n                //Then save the content\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidContent').val(sContent);\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"#contentarea\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example2.aspx",
    "content": "<%@ Page Language=\"VB\"%>\n<%@ OutputCache Location=\"None\" VaryByParam=\"none\"%>\n\n<script runat=\"server\">\n\n    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load\n        \n        If Not Page.IsPostBack Then\n            If Not IsNothing(Session(\"content\")) Then\n                 litContent.Text = Session(\"content\") \n            Else\n                'Optional initial content\n                litContent.Text = \"<div class=\"\"row clearfix\"\">\" & _\n                    \"<div class=\"\"column full\"\">\" & _\n                    \"<div class=\"\"display\"\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\" & _\n                    \"</div></div>\" & _\n                    \"<div class=\"\"row clearfix\"\">\" & _\n                    \"<div class=\"\"column full\"\">\" & _\n                    \"<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\" & _\n                    \"</div></div>\"\n            End If\n\n        End If\n\n    End Sub\n    \n    Protected Sub btnPost_Click(sender As Object, e As System.EventArgs) Handles btnPost.Click\n\n        'Get Submitted Content\n        Dim sContent As String = System.Uri.UnescapeDataString(hidContent.Value)\n        \n        'You can save the content into a database. in this example we just display the content back.\n        Session(\"content\") = sContent\n        \n        Response.Redirect(Request.RawUrl)\n       \n    End Sub\n  \n</script>\n\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container\">\n    <asp:Literal ID=\"litContent\" runat=\"server\"></asp:Literal>\n</div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" runat=\"server\" style=\"display:none\">\n    <asp:HiddenField ID=\"hidContent\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:Button ID=\"btnPost\" runat=\"server\" Text=\"Button\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"#contentarea\").saveimages({\n            handler: 'saveimage.ashx',\n            onComplete: function () {\n\n                //Then save the content\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidContent').val(encodeURIComponent(sContent));\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"#contentarea\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example2.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 60px auto 150px; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div class=\"container center\" style=\"margin-top:60px\">\n<b>This is an online demo of <a href=\"http://innovastudio.com/content-builder.aspx\">ContentBuilder.js</a></b>, a JQuery content editor plugin with beautiful blocks to drag & drop.<br />\nClick on the content below to start editing.\n</div>\n\n<div id=\"contentarea\" class=\"is-container container\">\n    <!-- This is just a sample existing content (content can be loaded from a database) -->\n    <div class=\"row clearfix\">\n        <div class=\"column full\">\n            <div class=\"center\">\n\t\t\t    <i class=\"icon ion-leaf size-48\"></i>\n\t\t\t    <h1 style=\"font-size: 1.3em\">BEAUTIFUL CONTENT</h1>\n                <div class=\"display\">\n                    <h1>LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row clearfix\">\n        <div class=\"column full\">\n            <hr>\n        </div>\n    </div>\n    <div class=\"row clearfix\">\n        <div class=\"column half\">\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n       \t</div>\n        <div class=\"column half\">\n            <img src=\"assets/minimalist-basic/e09-1.jpg\" alt=\"\">\n       \t</div>\n    </div>\n</div>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        //Load saved Content\n        if (localStorage.getItem('content') != null) {\n            $(\"#contentarea\").html(localStorage.getItem('content'));\n        }\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        var sHTML = $('#contentarea').data('contentbuilder').html(); //Get content\n\n        localStorage.setItem('content', sHTML);\n        alert('Saved Successfully');\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example2.php.html",
    "content": "\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n        \n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container\">\n    <div class=\"row clearfix\">\n\t\t\t<div class=\"column full\">\n\t\t\t<div class=\"display\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\n\t\t\t</div></div>\n\t\t\t<div class=\"row clearfix\">\n\t\t\t<div class=\"column full\">\n\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\t\t\t</div></div></div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" method=\"post\" style=\"display:none\">\n\t<input type=\"hidden\" id=\"hidContent\" name=\"hidContent\" />\n\t<input type=\"submit\" id=\"btnPost\" value=\"submit\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"#contentarea\").saveimages({\n            handler: 'saveimage.php',\n            onComplete: function () {\n\n                //Then save the content\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidContent').val(sContent);\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"#contentarea\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example3-bootstrap.aspx",
    "content": "<%@ Page Language=\"VB\"%>\n<%@ OutputCache Location=\"None\" VaryByParam=\"none\"%>\n\n<script runat=\"server\">\n\n    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load\n        \n        If Not Page.IsPostBack Then\n            If Not IsNothing(Session(\"mycontent-bootstrap\")) Then\n                litHeader.Text = Session(\"myheader-bootstrap\")\n                litContent.Text = Session(\"mycontent-bootstrap\")\n            Else\n                'Optional initial content               \n                litHeader.Text = \"<div class=\"\"row\"\"><div class=\"\"col-md-12\"\">\" & _\n                    \"<div class=\"\"display\"\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\" & _\n                    \"</div></div>\"\n                litContent.Text = \"<div class=\"\"row\"\">\" & _\n                   \"<div class=\"\"col-md-12\"\">\" & _\n                   \"<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\" & _\n                   \"</div></div>\"\n            End If\n\n        End If\n\n    End Sub\n    \n    Protected Sub btnPost_Click(sender As Object, e As System.EventArgs) Handles btnPost.Click\n\n        'Get Submitted Content\n        Dim sHeader As String = System.Uri.UnescapeDataString(hidHeader.Value)\n        Dim sContent As String = System.Uri.UnescapeDataString(hidContent.Value)\n        \n        'You can save the content into a database. in this example we just display the content back.\n        Session(\"myheader-bootstrap\") = sHeader\n        Session(\"mycontent-bootstrap\") = sContent\n        \n        Response.Redirect(Request.RawUrl)\n       \n    End Sub\n  \n</script>\n\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"assets/minimalist-basic/content-bootstrap.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background:#f7f7f7;margin:0; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<!-- HEADER -->\n<div style=\"background:#eaeaea;float:left;width:100%\">\n\n    <div id=\"headerarea\" class=\"is-container container-fluid\">\n        <asp:Literal ID=\"litHeader\" runat=\"server\"></asp:Literal>\n    </div>\n\n</div>\n\n<!-- CONTENT -->\n<div style=\"background:#f7f7f7;float:left;width:100%\">\n\n    <div id=\"contentarea\" class=\"is-container container-fluid\">\n        <asp:Literal ID=\"litContent\" runat=\"server\"></asp:Literal>\n    </div>\n\n</div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" runat=\"server\" style=\"display:none\">\n    <asp:HiddenField ID=\"hidHeader\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:HiddenField ID=\"hidContent\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:Button ID=\"btnPost\" runat=\"server\" Text=\"Button\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#headerarea, #contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets-bootstrap.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"body\").saveimages({\n            handler: 'saveimage.ashx',\n            onComplete: function () {\n\n                //Then save content\n                var sHeader = $('#headerarea').data('contentbuilder').html(); //Get header\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidHeader').val(encodeURIComponent(sHeader));\n                $('#hidContent').val(encodeURIComponent(sContent));\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"body\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example3-bootstrap.php.html",
    "content": "\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content-bootstrap.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background:#f7f7f7;margin:0; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<!-- HEADER -->\n<div style=\"background:#eaeaea;float:left;width:100%\">\n\n    <div id=\"headerarea\" class=\"is-container container-fluid\">\n\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-12\">\n\t\t\t\t<div class=\"display\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\n\t\t\t\t</div></div>    </div>\n\n</div>\n\n<!-- CONTENT -->\n<div style=\"background:#f7f7f7;float:left;width:100%\">\n\n\t<div id=\"contentarea\" class=\"is-container container-fluid\">\n\t\t<div class=\"row\">\n\t\t\t\t<div class=\"col-md-12\">\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\t\t\t\t</div></div>\t</div>\n\n</div>\n\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" method=\"post\" style=\"display:none\">\n\t<input type=\"hidden\" id=\"hidHeader\" name=\"hidHeader\" />\n\t<input type=\"hidden\" id=\"hidContent\" name=\"hidContent\" />\n\t<input type=\"submit\" id=\"btnPost\" value=\"submit\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#headerarea, #contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets-bootstrap.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n\n        //Save all images first\n        $(\"body\").saveimages({\n            handler: 'saveimage.php',\n            onComplete: function () {\n\n                //Then save the content\n\t\t\t\tvar sHeader = $('#headerarea').data('contentbuilder').html(); //Get header\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n\t\t\t\t$('#hidHeader').val(sHeader);\n                $('#hidContent').val(sContent);\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"body\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example3.aspx",
    "content": "<%@ Page Language=\"VB\"%>\n<%@ OutputCache Location=\"None\" VaryByParam=\"none\"%>\n\n<script runat=\"server\">\n\n    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load\n        \n        If Not Page.IsPostBack Then\n            If Not IsNothing(Session(\"mycontent\")) Then\n                litHeader.Text = Session(\"myheader\")\n                litContent.Text = Session(\"mycontent\")\n            Else\n                'Optional initial content\n                litHeader.Text = \"<div class=\"\"row clearfix\"\">\" & _\n                    \"<div class=\"\"column full\"\">\" & _\n                    \"<div class=\"\"display\"\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\" & _\n                    \"</div></div>\"\n                litContent.Text = \"<div class=\"\"row clearfix\"\">\" & _\n                    \"<div class=\"\"column full\"\">\" & _\n                    \"<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\" & _\n                    \"</div></div>\"\n            End If\n\n        End If\n\n    End Sub\n    \n    Protected Sub btnPost_Click(sender As Object, e As System.EventArgs) Handles btnPost.Click\n\n        'Get Submitted Content\n        Dim sHeader As String = System.Uri.UnescapeDataString(hidHeader.Value)\n        Dim sContent As String = System.Uri.UnescapeDataString(hidContent.Value)\n        \n        'You can save the content into a database. in this example we just display the content back.\n        Session(\"myheader\") = sHeader\n        Session(\"mycontent\") = sContent\n        \n        Response.Redirect(Request.RawUrl)\n       \n    End Sub\n  \n</script>\n\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background:#f7f7f7;margin:0; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<!-- HEADER -->\n<div style=\"background:#eaeaea;float:left;width:100%\">\n\n    <div id=\"headerarea\" class=\"is-container container\">\n        <asp:Literal ID=\"litHeader\" runat=\"server\"></asp:Literal>\n    </div>\n\n</div>\n\n<!-- CONTENT -->\n<div style=\"background:#f7f7f7;float:left;width:100%\">\n\n    <div id=\"contentarea\" class=\"is-container container\">\n        <asp:Literal ID=\"litContent\" runat=\"server\"></asp:Literal>\n    </div>\n\n</div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" runat=\"server\" style=\"display:none\">\n    <asp:HiddenField ID=\"hidHeader\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:HiddenField ID=\"hidContent\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:Button ID=\"btnPost\" runat=\"server\" Text=\"Button\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#headerarea, #contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"body\").saveimages({\n            handler: 'saveimage.ashx',\n            onComplete: function () {\n\n                //Then save content\n                var sHeader = $('#headerarea').data('contentbuilder').html(); //Get header\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidHeader').val(encodeURIComponent(sHeader));\n                $('#hidContent').val(encodeURIComponent(sContent));\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"body\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example3.php.html",
    "content": "\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background:#f7f7f7;margin:0; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n        \n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<!-- HEADER -->\n<div style=\"background:#eaeaea;float:left;width:100%\">\n\n    <div id=\"headerarea\" class=\"is-container container\">\n\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column full\">\n\t\t\t\t<div class=\"display\"><h1>Lorem Ipsum is simply dummy text of the printing and typesetting industry</h1></div>\n\t\t\t\t</div></div>    </div>\n\n</div>\n\n<!-- CONTENT -->\n<div style=\"background:#f7f7f7;float:left;width:100%\">\n\n\t<div id=\"contentarea\" class=\"is-container container\">\n\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column full\">\n\t\t\t\t<p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\t\t\t\t</div></div>\t</div>\n\n</div>\n\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" method=\"post\" style=\"display:none\">\n\t<input type=\"hidden\" id=\"hidHeader\" name=\"hidHeader\" />\n\t<input type=\"hidden\" id=\"hidContent\" name=\"hidContent\" />\n\t<input type=\"submit\" id=\"btnPost\" value=\"submit\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#headerarea, #contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html'\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"body\").saveimages({\n            handler: 'saveimage.php',\n            onComplete: function () {\n\n                //Then save the content\n\t\t\t\tvar sHeader = $('#headerarea').data('contentbuilder').html(); //Get header\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n\t\t\t\t$('#hidHeader').val(sHeader);\n                $('#hidContent').val(sContent);\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"body\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example4.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">    \n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:0 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container\">\n\n    <!-- This is just a sample existing content (content can be loaded from a database) -->\n    <div class=\"row clearfix\">\n        <div class=\"column full\">\n            <div class=\"center\">\n\t\t\t    <i class=\"icon ion-leaf size-48\"></i>\n\t\t\t    <h1 style=\"font-size: 1.3em\">BEAUTIFUL CONTENT</h1>\n                <div class=\"display\">\n                    <h1>LOREM IPSUM IS SIMPLY DUMMY TEXT</h1>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div class=\"row clearfix\">\n        <div class=\"column full\">\n            <hr>\n        </div>\n    </div>\n    <div class=\"row clearfix\">\n        <div class=\"column half\">\n            <p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n       \t</div>\n        <div class=\"column half\">\n            <img src=\"assets/minimalist-basic/e09-1.jpg\" alt=\"\">\n       \t</div>\n    </div>\n\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html',\n            imageselect: 'images.html',\n            fileselect: 'files.html'\n        });\n\n    });\n\n    function view() {\n        /* This is how to get the HTML (for saving into a database) */\n        var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n    }\n</script>\n\n\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example5.html",
    "content": "<!DOCTYPE HTML>\r\n<html>\r\n<head>\r\n    <meta charset=\"utf-8\">\r\n    <title>Simple Example</title>\r\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n    <meta name=\"description\" content=\"\">\r\n    <link href=\"assets/simple/content.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\r\n</head>\r\n<body>\r\n\r\n<br />\r\n<br />\r\n<br />\r\n\r\n<div id=\"contentarea\" class=\"container\">\r\n\r\n    <!-- This is just a sample content -->\r\n    <div>\r\n        <h1>Fresh roasted coffee, exclusive teas & light meals</h1>\r\n        <p>We serve freshly brewed tea and coffee, soft drinks and a section of light meals and tasty treats and snacks. We are open for breakfast, lunch and afternoon tea from 8 am to 5 pm and unlike any other cafe in the town, we are open 7 days per week.</p>\r\n    </div>\r\r\n</div>\r\n\r\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\r\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\r\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\r\n\r\n<script type=\"text/javascript\">\r\n    jQuery(document).ready(function ($) {\r\n\r\n        $(\"#contentarea\").contentbuilder({\r\n            snippetFile: 'assets/simple/snippets.html'\r\n            });\r\n\r\n    });\r\n\r\n    function view() {\r\n        var sHTML = $('#contentarea').data('contentbuilder').html();\r\n        alert(sHTML);\r\n    }\r\n</script>\r\n\r\n</body>\r\n</html>\r\n"
  },
  {
    "path": "public/vendor/content-builder/example6-lightbox.aspx",
    "content": "<%@ Page Language=\"VB\"%>\n<%@ OutputCache Location=\"None\" VaryByParam=\"none\"%>\n\n<script runat=\"server\">\n\n    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load\n        \n        If Not Page.IsPostBack Then\n            If Not IsNothing(Session(\"content-example-lightbox\")) Then\n                litContent.Text = Session(\"content-example-lightbox\")\n            Else\n                'Optional initial content\n                litContent.Text = \"<div class=\"\"row clearfix\"\">\" & _\n                    \"<div class=\"\"column full\"\">\" & _\n                        \"<h1 class=\"\"size-48 is-title1-48 is-title-bold is-upper\"\">Image Lightbox Example</h1><p class=\"\"size-21\"\"><i>Click image to enlarge and embed image with option to open larger image.</i></p>\" & _\n                    \"</div></div>\" & _\n                    \"<div class=\"\"row clearfix\"\">\" & _\n                        \"<div class=\"\"column third\"\">\" & _\n                            \"<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.&nbsp;Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\" & _\n                        \"</div>\" & _\n                        \"<div class=\"\"column two-third\"\">\" & _\n                            \"<a href=\"\"assets/minimalist-basic/o01-1.jpg\"\" title=\"\"\"\" class=\"\"is-lightbox\"\" target=\"\"_blank\"\"><img src=\"\"assets/minimalist-basic/o01-1.jpg\"\" alt=\"\"\"\"></a>\" & _\n                        \"</div>\" & _\n                    \"</div>\"\n            End If\n\n        End If\n\n    End Sub\n    \n    Protected Sub btnPost_Click(sender As Object, e As System.EventArgs) Handles btnPost.Click\n\n        'Get Submitted Content\n        Dim sContent As String = System.Uri.UnescapeDataString(hidContent.Value)\n        \n        'You can save the content into a database. in this example we just display the content back.\n        Session(\"content-example-lightbox\") = sContent\n        \n        Response.Redirect(Request.RawUrl)\n       \n    End Sub\n  \n</script>\n\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"assets/scripts/simplelightbox/simplelightbox.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n\n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container\">\n    <asp:Literal ID=\"litContent\" runat=\"server\"></asp:Literal>\n</div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" runat=\"server\" style=\"display:none\">\n    <asp:HiddenField ID=\"hidContent\" ClientIDMode=\"Static\" runat=\"server\" />\n    <asp:Button ID=\"btnPost\" runat=\"server\" Text=\"Button\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n    <button onclick=\"saveForUndo()\" class=\"btn btn-primary\"> Save for Undo </button>\n    <button onclick=\"doUndo()\" class=\"btn btn-primary\"> Undo </button>\n    <button onclick=\"doRedo()\" class=\"btn btn-primary\"> Redo </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script src=\"assets/scripts/simplelightbox/simple-lightbox.min.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html',\n            largerImageHandler: 'saveimage-large.ashx',\n            onRender: function () {\n                $('a.is-lightbox').simpleLightbox({ closeText: '<i style=\"font-size:35px\" class=\"icon ion-ios-close-empty\"></i>', navText: ['<i class=\"icon ion-ios-arrow-left\"></i>', '<i class=\"icon ion-ios-arrow-right\"></i>'], disableScroll: false });\n            }\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"#contentarea\").saveimages({\n            handler: 'saveimage.ashx',\n            onComplete: function () {\n\n                //Then save the content\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidContent').val(encodeURIComponent(sContent));\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"#contentarea\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example6-lightbox.php.html",
    "content": "\n<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"assets/scripts/simplelightbox/simplelightbox.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background-color: #efefef; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:55px 35px; box-sizing:border-box; background-color: #f7f7f7;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n        \n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n<div id=\"contentarea\" class=\"is-container container\">\n    <div class=\"row clearfix\">\n\t\t\t<div class=\"column full\">\n\t\t\t\t<h1 class=\"size-48 is-title1-48 is-title-bold is-upper\">Image Lightbox Example</h1><p class=\"size-21\"><i>Click image to enlarge and embed image with option to open larger image.</i></p>\n\t\t\t</div></div>\n\t\t\t<div class=\"row clearfix\">\n\t\t\t\t<div class=\"column third\">\n\t\t\t\t\t<p>Lorem Ipsum is simply dummy text. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.&nbsp;Vivamus leo ante, consectetur sit amet vulputate vel, dapibus sit amet lectus.</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"column two-third\">\n\t\t\t\t\t<a href=\"assets/minimalist-basic/o01-1.jpg\" title=\"\" class=\"is-lightbox\" target=\"_blank\"><img src=\"assets/minimalist-basic/o01-1.jpg\" alt=\"\"></a>\n\t\t\t\t</div>\n\t\t\t</div></div>\n\n<!-- Hidden Form Fields to post content -->\n<form id=\"form1\" method=\"post\" style=\"display:none\">\n\t<input type=\"hidden\" id=\"hidContent\" name=\"hidContent\" />\n\t<input type=\"submit\" id=\"btnPost\" value=\"submit\" />\n</form>\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n<script src=\"assets/scripts/simplelightbox/simple-lightbox.min.js\" type=\"text/javascript\"></script>\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html',\n            largerImageHandler: 'saveimage-large.php',\n            onRender: function () {\n                $('a.is-lightbox').simpleLightbox({ closeText: '<i style=\"font-size:35px\" class=\"icon ion-ios-close-empty\"></i>', navText: ['<i class=\"icon ion-ios-arrow-left\"></i>', '<i class=\"icon ion-ios-arrow-right\"></i>'], disableScroll: false });\n            }\n        });\n\n    });\n\n\n    function save() {\n        \n        //Save all images first\n        $(\"#contentarea\").saveimages({\n            handler: 'saveimage.php',\n            onComplete: function () {\n\n                //Then save the content\n                var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n                $('#hidContent').val(sContent);\n                $('#btnPost').click();\n\n            }\n        });\n        $(\"#contentarea\").data('saveimages').save();\n\n        $(\"html\").fadeOut(1000);\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/example7.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Example</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\">\n    <link href=\"assets/minimalist-basic/content.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <!-- Slider -->\n    <link href=\"assets/scripts/slick/slick.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"assets/scripts/slick/slick-theme.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n        <style>\n        body { background:#f7f7f7;margin:0;overflow-x:hidden; }\n        .is-container {  margin: 90px auto; max-width: 1050px; width:100%; padding:0 35px; box-sizing:border-box; }\n        @media all and (max-width: 1080px) {\n            .is-container { margin:0; }\n        }\n        \n        body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n        #panelCms {width:100%;height:57px;border-top: #eee 1px solid;background:rgba(255,255,255,0.95);position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n        #panelCms button {border-radius:4px;padding: 10px 15px;text-transform:uppercase;font-size: 11px;letter-spacing: 1px;line-height: 1;}\n    </style>\n</head>\n<body>\n\n\n<div id=\"contentarea\" class=\"is-container container\">\n    <div class=\"row clearfix\" data-module=\"code\" data-dialog-width=\"80%\" data-html=\"%3Cdiv%20class%3D%22column%20full%22%3E%0A%0A%3Ch1%20id%3D%22myText%22%3ELorem%20ipsum%3C%2Fh1%3E%0A%3Cp%3EThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0Avar%20docReady%20%3D%20function%20(fn)%20%7B%0A%09var%20stateCheck%20%3D%20setInterval(function%20()%20%7B%0A%09%09if%20(document.readyState%20!%3D%3D%20%22complete%22)%20return%3B%0A%09%09clearInterval(stateCheck)%3B%0A%09%09try%7Bfn()%7Dcatch(e)%7B%7D%0A%09%7D%2C%201)%3B%0A%7D%3B%0A%0AdocReady(function()%20%7B%0A%09%24('%23myText').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%7D)%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n        <div class=\"column full\">\n            <h1 id=\"myText\">Lorem ipsum</h1>\n            <p>This is a code block. You can edit this block using the source dialog.</p>\n\n            <script>\n                /* Example of script block */\n                var docReady = function (fn) {\n                    var stateCheck = setInterval(function () {\n                        if (document.readyState !== \"complete\") return;\n                        clearInterval(stateCheck);\n                        try { fn() } catch (e) { }\n                    }, 1);\n                };\n\n                docReady(function () {\n                    $('#myText').html('<b>Hello World!</b>');\n                });\n            </script>\n        </div>\n    </div>\n</div>\n\n\n<!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n<div id=\"panelCms\">\n    <button onclick=\"save()\" class=\"btn btn-primary\"> Save </button>\n</div>\n\n<script src=\"contentbuilder/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/jquery-ui.min.js\" type=\"text/javascript\"></script>\n<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n<!-- Slider -->\n<script src=\"assets/scripts/slick/slick.min.js\" type=\"text/javascript\"></script>\n\n<script type=\"text/javascript\">\n\n    jQuery(document).ready(function ($) {\n\n        //Load content\n        if (localStorage.getItem('myhtml') != null) {\n            $(\"#contentarea\").html(localStorage.getItem('myhtml'));\n        }\n\n        $(\"#contentarea\").contentbuilder({\n            snippetFile: 'assets/minimalist-basic/snippets.html',\n            snippetOpen: true,\n            toolbar: 'left',\n            iconselect: 'assets/ionicons/selecticon.html',\n\n            snippetCustomCode: true,\n            snippetCustomCodeMessage: '<b>IMPORTANT</b>: This is a code block. Custom javascript code (&lt;script&gt; block) is allowed here but may not always work or compatible with the content builder, so proceed at your own risk. We do not support problems with custom code.',\n            \n            addSnippetCategories: [[35, \"Slider/Slideshow\"]],\n            moduleConfig: [{\n                \"moduleSaveImageHandler\": \"saveimage-module.php\" /* for module purpose image saving (ex. slider) */\n            }]            \n        \n        });\n\n    });\n\n    function save() {\n\n        var sContent = $('#contentarea').data('contentbuilder').html(); //Get content\n\n        localStorage.setItem('myhtml', sContent); //Save content\n        //alert('Saved Successfully');\n    }\n\n</script>\n\n</body>\n</html>\n"
  },
  {
    "path": "public/vendor/content-builder/files.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Images</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\"> \n    <style>\n        body {font-family:Sans-Serif}\n        #files {margin:20px;}\n        #files a {display:inline-block;border:#D8D8D8 2px solid;margin:3px;padding:5px 15px;box-sizing:border-box;text-decoration:none;}\n    </style> \n</head>\n<body>\n\n<div id=\"files\">\n    <a href=\"https://www.captus-rnd.com/gwenael/content_builder/uploads/file1.pdf\">file1.pdf</a>\n    <a href=\"https://www.captus-rnd.com/gwenael/content_builder/uploads/file2.pdf\">file2.pdf</a>\n    <a href=\"https://www.captus-rnd.com/gwenael/content_builder/uploads/file3.pdf\">file3.pdf</a>\n</div>\n\n<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js\"></script>\n<script>\n    jQuery(document).ready(function ($) {\n\n        //Optional: specify custom height\n        window.frameElement.style.height = '500px';\n\n        $(\"#files a\").click(function () {\n\n            selectAsset($(this).attr('href'));\n            return false;\n\n        });\n\n    });\n\n    /* \n    USE THIS FUNCTION TO SELECT CUSTOM ASSET WITH CUSTOM VALUE TO RETURN \n    An asset can be a file, an image or a page in your own CMS\n    */\n    function selectAsset(assetValue) {\n        //Get selected URL\n        var inp = parent.top.$('#active-input').val();\n        parent.top.$('#' + inp).val(assetValue);\n\n        //Close dialog\n        if (window.frameElement.id == 'ifrFileBrowse') parent.top.$(\"#md-fileselect\").data('simplemodal').hide();\n        if (window.frameElement.id == 'ifrImageBrowse') parent.top.$(\"#md-imageselect\").data('simplemodal').hide();\n    }\n</script>\n</body>\n</html>"
  },
  {
    "path": "public/vendor/content-builder/images.html",
    "content": "<!DOCTYPE HTML>\n<html>\n<head>\n    <meta charset=\"utf-8\">\n    <title>Images</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n    <meta name=\"description\" content=\"\"> \n    <style>\n        #files img {cursor: pointer; margin:20px; height:150px}\n    </style> \n</head>\n<body>\n\n<div id=\"files\">\n    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/uploads/red.jpg\" />\n    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/uploads/book.jpg\" />\n    <img src=\"https://www.captus-rnd.com/gwenael/content_builder/uploads/flower.jpg\" />\n</div>\n\n<script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js\"></script>\n<script>\n    jQuery(document).ready(function ($) {\n\n        //Optional: specify custom height\n        window.frameElement.style.height = '500px';\n\n        $(\"img\").click(function () {\n\n            selectAsset($(this).attr('src'));\n\n        });\n\n    });\n\n    /* \n    USE THIS FUNCTION TO SELECT CUSTOM ASSET WITH CUSTOM VALUE TO RETURN \n    An asset can be a file, an image or a page in your own CMS\n    */\n    function selectAsset(assetValue) {\n        //Get selected URL\n        var inp = parent.top.$('#active-input').val();\n        parent.top.$('#' + inp).val(assetValue);\n\n        //Close dialog\n        if (window.frameElement.id == 'ifrFileBrowse') parent.top.$(\"#md-fileselect\").data('simplemodal').hide();\n        if (window.frameElement.id == 'ifrImageBrowse') parent.top.$(\"#md-imageselect\").data('simplemodal').hide();\n    }\n</script>\n</body>\n</html>"
  },
  {
    "path": "public/vendor/content-builder/license.txt",
    "content": "InnovaStudio CONTENT Builder (ContentBuilder.js) ver. 2.4.8\n____________________________________________________________________\n\n\nSTANDARD DEVELOPER LICENSE AGREEMENT \n\n1. InnovaStudio CONTENT Builder (Product) is licensed, not sold. All copyrights to InnovaStudio CONTENT Builder are exclusively owned by the author - InnovaStudio.\n\n2. Use of InnovaStudio CONTENT Builder (Product) in integration or application development requires one license per developer.\n\n3. You have the right to use the Product in unlimited websites (personal or commercial).\n\n4. If you use the Product for your client projects, You will be responsible for providing support to your clients, and InnovaStudio will not communicate directly with your clients under any circumstances.\n\n5. Usage/distribution in projects/applications for free or for sale (eg. CMS product, etc) is not allowed.\n\n6. LIMITED WARRANTY \nAlthough InnovaStudio has tested this Product and reviewed the documentation, InnovaStudio.com makes no warranty or representation, either expressed or implied, with respect to this Product, its quality, performance, merchantability, or fitness for a particular purpose. As a result, InnovaStudio CONTENT Builder is licensed AS-IS, and you are assuming the entire risk as to its quality and performance. \nInnovaStudio shall not be liable for any claim or right to recover damages, including, but not limited to, loss of profit, data, or use of the software or special, incidental, or consequential damages, or other similar claims, even if InnovaStudio has been specifically advised of the possibility of such damages. \n\n____________________________________________________________\n\n\nPRO DEVELOPER LICENSE AGREEMENT \n\n1. InnovaStudio CONTENT Builder (Product) is licensed, not sold. All copyrights to InnovaStudio CONTENT Builder are exclusively owned by the author - InnovaStudio.\n\n2. Use of InnovaStudio CONTENT Builder (Product) in integration or application development requires one license per developer.\n\n3. You have the right to use the Product in unlimited websites (personal or commercial).\n\n4. If you use the Product for your client projects, You will be responsible for providing support to your clients, and InnovaStudio will not communicate directly with your clients under any circumstances.\n\n5. You are not allowed to re-distribute the Product as another plugin and/or sell the product as is. You must include the Product in your custom application.\n\n6. You have the right to include/distribute the Product in 1 (one) project/application for sale (eg. CMS product, etc), without any royalty whatsoever, provided that : \n    - You do not permit (either by explicit or implicit means) further distribution of the Product by your end users. \n\t- You do not distribute Product in a free (downloadable) projects/applications.\n\n7. LIMITED WARRANTY \nAlthough InnovaStudio has tested this Product and reviewed the documentation, InnovaStudio.com makes no warranty or representation, either expressed or implied, with respect to this Product, its quality, performance, merchantability, or fitness for a particular purpose. As a result, InnovaStudio CONTENT Builder is licensed AS-IS, and you are assuming the entire risk as to its quality and performance. \nInnovaStudio shall not be liable for any claim or right to recover damages, including, but not limited to, loss of profit, data, or use of the software or special, incidental, or consequential damages, or other similar claims, even if InnovaStudio has been specifically advised of the possibility of such damages. \n\n____________________________________________________________\n\n\nSUPER DEVELOPER LICENSE AGREEMENT \n\n1. InnovaStudio CONTENT Builder (Product) is licensed, not sold. All copyrights to InnovaStudio CONTENT Builder are exclusively owned by the author - InnovaStudio.\n\n2. Use of InnovaStudio CONTENT Builder (Product) in integration or application development requires one license per developer.\n\n3. You have the right to use the Product in unlimited websites (personal or commercial).\n\n4. If you use the Product for your client projects, You will be responsible for providing support to your clients, and InnovaStudio will not communicate directly with your clients under any circumstances.\n\n5. You are not allowed to re-distribute the Product as another plugin and/or sell the product as is. You must include the Product in your custom application.\n\n6. You have the right to include/distribute the Product in 3 (three) projects/applications for sale (eg. CMS product, etc), without any royalty whatsoever, provided that : \n    - You do not permit (either by explicit or implicit means) further distribution of the Product by your end users. \n\t- You do not distribute Product in a free (downloadable) projects/applications.\n\n7. LIMITED WARRANTY \nAlthough InnovaStudio has tested this Product and reviewed the documentation, InnovaStudio.com makes no warranty or representation, either expressed or implied, with respect to this Product, its quality, performance, merchantability, or fitness for a particular purpose. As a result, InnovaStudio CONTENT Builder is licensed AS-IS, and you are assuming the entire risk as to its quality and performance. \nInnovaStudio shall not be liable for any claim or right to recover damages, including, but not limited to, loss of profit, data, or use of the software or special, incidental, or consequential damages, or other similar claims, even if InnovaStudio has been specifically advised of the possibility of such damages. \n\n____________________________________________________________________\nhttp://www.InnovaStudio.com"
  },
  {
    "path": "public/vendor/content-builder/readme.txt",
    "content": "﻿ContentBuilder.js ver. 2.4.8\n\n\n*** USAGE ***\n\n1. Includes:\n\n\t<link href=\"contentbuilder/contentbuilder.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n\t<script src=\"contentbuilder/contentbuilder.js\" type=\"text/javascript\"></script>\n\n2. Run:\n\n\t$(\"#contentarea\").contentbuilder({\n\t\t  snippetFile: 'snippets.html'\n\t\t  });\n\n\tThe snippetFile parameter refers to a html file containing snippets collection. You can add your own snippets in this file (snippets.html).\n\n3. To get HTML:\n\n    var sHTML = $('#contentarea').data('contentbuilder').html();\n\n\n\n*** OPTIONAL ***\n\nTo have left editor toolbar:\n\n    $(\"#contentarea,#headerarea\").contentbuilder({\n        toolbar: 'left',\n\t\t.....\n    });\n\nTo enable & specify Icon Selection dialog:\n\n\t$(\"#contentarea\").contentbuilder({\t\t\n\t\t  ...,\n\t\t  iconselect: 'assets/ionicons/selecticon.html'\n\t\t  });\n\nTo open snippet panel on first load:\n\n\t$(\"#contentarea\").contentbuilder({\n            snippetOpen: true,\n            .....\n            });\n\nTo view HTML:\n\n\t$('#contentarea').data('contentbuilder').viewHtml();\n\n\n\n*** OTHERS ***\n\nTo enable custom image or file select dialog:\n\n\t$(\"#contentarea\").contentbuilder({\n            imageselect: 'images.html',\n            fileselect: 'files.html',\n            .....\n            });\n\n\t- imageselect specifies custom page to open from the image dialog.\n\t- fileselect specifies custom page to open from the link dialog.\n\t\n\tPlease see images.html (included in this package) as a simple example. \n\tUse selectAsset() function as shown in the images.html to return a value to the dialog.\n\nTo load HTML at runtime:\n\n\t$(\"#contentarea\").data('contentbuilder').loadHTML('<h1>Heading text</h1>');\n\nTo disable/destroy the plugin at runtime:\n\n    if ($('#contentarea').data('contentbuilder')) $('#contentarea').data('contentbuilder').destroy();\n\nTo run custom script when a block is dropped (added) to the content:\n\n    $(\"#contentarea\").contentbuilder({\n        onDrop: function (event, ui) {\n            alert(ui.item.html());  //custom script here\n        },\n        .....\n    });\n\nTo run custom script when content renders/updated:\n\n    $(\"#contentarea\").contentbuilder({\n        onRender: function () {\n            //custom script here\n        },\n        .....\n    });\n\nTo make the snippet tool slide from left, use 'snippetTool' property, for example:\n\n\t$(\"#contentarea\").contentbuilder({\n            snippetTool: 'left',\n            .....\n            });\n\nTo disable Direct Image Embed:\n\n    $(\"#contentarea\").contentbuilder({\n        imageEmbed: false,\n        .....\n    });\n\nTo disable HTML source editing:\n\n    $(\"#contentarea\").contentbuilder({\n        sourceEditor: false,\n        .....\n    });\n\n\nNow it's possible to make an image not replaceable. Just add data-fixed=\"1\" to the <img> element on the snippet file (snippets.html), for example:\n\n\t<img data-fixed=\"1\" src=\"..\" />\n\nTo make a snippet not editable, add data-mode=\"readonly\" on the snippet's DIV, for example:\n\n\t<div data-thumb=\"..../01.png\">\n\t\t<div class=\"row clearfix\" data-mode=\"readonly\"> \n\t\t\t......\n\t\t</div>\n\t</div>\n\nTo make a snippet not editable and cannot be deleted or duplicated, add data-mode=\"readonly-protected\" on the snippet's DIV, for example:\n\n\t<div data-thumb=\"..../01.png\">\n\t\t<div class=\"row clearfix\" data-mode=\"readonly-protected\"> \n\t\t\t......\n\t\t</div>\n\t</div>\n\nTo have the editing toolbar always displayed (after cursor is placed on text):\n\n    $(\"#contentarea\").contentbuilder({\n        toolbarDisplay: 'always',\n        .....\n    });\n\nNow you can put assets folder not on its default location. Path adjustment will be needed using snippetPathReplace parameter, for example:\n\n    $(\"#contentarea\").contentbuilder({\n        snippetPathReplace: ['assets/minimalist-basic/', 'mycustomfolder/assets/minimalist-basic/'],\n        .....\n    });\n\nTo show scroll up/down helper, use \"scrollHelper\" parameter  (default: false)\n\n    $(\"#contentarea\").contentbuilder({\n        scrollHelper: true,   \n        .....\n    });\n\nTo implement different sliding effect for snippets, use \"snippetPageSliding\" parameter (default: false).\nIf set true, when snippets opens, the entire page will also slide.\n\n        $(\"#contentarea\").contentbuilder({\n            snippetPageSliding: true,   \n            .....\n        });\n\nTo implement custom actions on image embed process, use the following events:\n\t- onImageBrowseClick: Triggered when image browse icon is clicked \n\t- onImageSettingClick: Triggered when image settings icon is clicked\n\t(Image browse icon and image settings icon are displayed when you hover an image)\n\n    $(\"#contentarea\").contentbuilder({\n        onImageBrowseClick: function () { },\n        onImageSettingClick: function () { },    \n        .....\n    });\n\n\t- onImageSelectClick: Triggered when custom image select button is clicked \n\t- onFileSelectClick: Triggered when custom file select button is clicked\n\t(If the events are used, custom image select button and custom file select button will be displayed on the Image Settings dialog)\n\n    $(\"#contentarea\").contentbuilder({\n        onImageSelectClick: function () { },\n        onFileSelectClick: function () { },    \n        .....\n    });\n\nTo activate custom tags insert button, specify \"customTags\" parameter with your own custom tags. Custom tags is commonly used in a CMS for adding dynamic content (ex. slider, form, etc) within the content (by replacing the tags).\nExample:\n\t$(\"#contentarea\").contentbuilder({\n\t\tcustomTags: [[\"Contact Form\", \"{%CONTACT_FORM%}\"],\n\t\t\t[\"Slider\", \"{%SLIDER%}\"],\n\t\t\t[\"My Plugin\", \"{%MY_PLUGIN%}\"]],         \n        ...\n    });\nOr if used in an email building application:\n\t$(\"#contentarea\").contentbuilder({\n        customTags: [[\"First Name\", \"{%first_name%}\"],\n            [\"Last Name\", \"{%last_name%}\"],\n            [\"Email\", \"{%email%}\"]],       \n        ...\n    });\n\nTo make all path absolute (for used in an email building application), set \"absolutePath\" parameter to true.\n\t$(\"#contentarea\").contentbuilder({\n        absolutePath: true,       \n        ...\n    });\n\nTo enable \"Click to Enlarge\" image option, specify \"largerImageHandler\" with upload handler. We provide a working example in PHP and ASP.NET for the upload handler.\n\t\n\tIn PHP:\n\n\t$(\"#contentarea\").contentbuilder({            \n            largerImageHandler: 'saveimage-large.php',\n\t\t\t...\n        });\n\n\tIn ASP.NET:\n\n\t$(\"#contentarea\").contentbuilder({            \n            largerImageHandler: 'saveimage-large.aspx',\n\t\t\t...\n        });\n\n\tWith this, when embedding image, users have an option to make the image clickable to open larger image. \n\n\tNote:\n\n\t-\tBy default, larger image is saved in \"uploads\" folder. You can change the upload folder by editing the saveimage-large.php or saveimage-large.aspx. \n\t\tOpen the file and see commented line where you can change the upload folder.\n\n\t-\tThe \"Click to Enlarge\" option will be shown when you embed an image and click the '...' (more) icon near the 'Ok' button.\n\t\tWhen you click 'Ok', larger version of the image will be automatically uploaded and a link to the larger image version will be added to the embedded image \n\t\twith additional \"is-lightbox\" class. This class can be used to apply lightbox JQuery plugin.\n\t\tThere are many lightbox JQuery plugins that you can find and use. We provide an example in example6-lightbox.php or example6-lightbox.aspx.\n\t\tHere is the steps to use the plugin as you can see in the example:\n\t\t1) Include the required js & css:\n\t\t\t<link href=\"assets/scripts/simplelightbox/simplelightbox.css\" rel=\"stylesheet\" type=\"text/css\" />\n\t\t\t<script src=\"assets/scripts/simplelightbox/simple-lightbox.min.js\" type=\"text/javascript\"></script>\n\t\t2) Run the plugin:\n\t\t\t$('a.is-lightbox').simpleLightbox(..)\n\t\t\n\t\t\tOptionally, this can also be run on ContentBuilder's \"onRender\" event to make sure that it is also clickable during editing.\n\nTo enable/disable Custom Code snippet/block, set \"snippetCustomCode\" parameter (default: false):\n\n\t$(\"#contentarea\").contentbuilder({            \n            snippetCustomCode: true,\n\t\t\t...\n        });\n\n\tThen, make sure you have applied the latest snippet (folder: assets/minimalist-basic/) from the package.\n\tOr if you use your own custom snippet, add the following block into your snippets.html (Just make sure that it has data-cat=\"100\". You can change the data-num.):\n\n\t\t<div data-num=\"1000\" data-thumb=\"assets/minimalist-basic/thumbnails/code.png\" data-cat=\"100\">\n\t\t\t<div class=\"row clearfix\" data-mode=\"code\" data-html=\"%3Cdiv%20class%3D%22column%20full%22%3E%0A%0A%3Cp%20id%3D%22{id}%22%3E%0ALorem%20ipsum%0A%3C%2Fp%3E%0A%3Cp%3E%0AThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%0A%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0A%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n\t\t\t\t<div class=\"column full\">\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\tIf you're using Bootstrap snippets (snippets-bootstrap.html):\n\n\t\t<div data-num=\"301\" data-thumb=\"assets/minimalist-basic/thumbnails/code.png\" data-cat=\"100\">\n\t\t\t<div class=\"row\" data-mode=\"code\" data-html=\"%3Cdiv%20class%3D%22column%20full%22%3E%0A%0A%3Cp%20id%3D%22{id}%22%3E%0ALorem%20ipsum%0A%3C%2Fp%3E%0A%3Cp%3E%0AThis%20is%20a%20code%20block.%20You%20can%20edit%20this%20block%20using%20the%20source%20dialog.%0A%3C%2Fp%3E%0A%0A%3Cscript%3E%0A%2F*%20Example%20of%20script%20block%20*%2F%0A%24('%23{id}').html('%3Cb%3EHello%20World!%3C%2Fb%3E')%3B%0A%3C%2Fscript%3E%0A%0A%3C%2Fdiv%3E\">\n\t\t\t\t<div class=\"col-md-12\">\n\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\nTo change Code Block message (displayed on source dialog for Custom Code snippet/block), use \"snippetCustomCodeMessage\" parameter:\n\n\t$(\"#contentarea\").contentbuilder({            \n            snippetCustomCodeMessage: '<b>IMPORTANT</b>: This is a code block. Custom javascript code (&lt;script&gt; block) is allowed here but may not always work or compatible with the content builder, so proceed at your own risk. We do not support problems with custom code.',\n\t\t\t...\n        });\n\nTo configure editor toolbar buttons, use \"buttons\" parameter:\n\n\t$(\"#contentarea\").contentbuilder({  \n\t\t\tbuttons: [\"bold\", \"italic\", \"formatting\", \"textsettings\", \"color\", \"font\", \"formatPara\", \"align\", \"list\", \"table\", \"image\", \"createLink\", \"unlink\", \"icon\", \"tags\", \"removeFormat\", \"html\"],      \n\t\t\t...\n        });\n\nTo enable slider snippet, add new snippet category using \"addSnippetCategories\" parameter and specify \"moduleConfig\" parameter as follows:\n\n\t$(\"#contentarea\").contentbuilder({  \n            addSnippetCategories: [[35, \"Slider/Slideshow\"]],\n            moduleConfig: [{\n                \"moduleSaveImageHandler\": \"saveimage-module.ashx\" /* for module purpose image saving (ex. slider) */\n            }],\n\t\t\t...\n        });\n\n\tThen include the following js & css:\n\n    <link href=\"assets/scripts/slick/slick.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"assets/scripts/slick/slick-theme.css\" rel=\"stylesheet\" type=\"text/css\" />\n\t<script src=\"assets/scripts/slick/slick.min.js\" type=\"text/javascript\"></script>\n\t\n\tNote:\n\tThe above new category \"Slider/Slideshow\" will be shown in category dropdown. In the snippets.html file the slider snippet is already defined there with category id=35, that's why we specify:\n\t\n\t\taddSnippetCategories: [[35, \"Slider/Slideshow\"]]\n\n\tThe \"moduleSaveImageHandler\" is a parameter to specify image upload handler for the slider. We prepared 2 handlers that you can choose (and customize if needed):\n\n\t\t- saveimage-module.php (for PHP)\n\t\t- saveimage-module.ashx (for ASP.NET)\n\n\tTry drag & drop slider block into the content and click the slider block. You will see configuration icon on the left. When clicked, a dialog containing the slider settings will be opened.\n\tThis dialog opens silder module file located in 'modules' folder: assets/modules/slider.html. \n\tIf you need to change the location the 'modules' folder, you need to use the modulePath parameter:\n\n\t$(\"#contentarea\").contentbuilder({  \n            modulePath: 'assets/modules/',\n\t\t\t...\n        });\n\t\n\t\n\t\n*** EXAMPLES ***\n\n\n- example1.html (basic)\n\n\n- example2.php and example2.aspx (with saving example)\n\n\tThis example saves all images first and then save the html content. To save all embedded images:\n\n\tStep 1: Include SaveImages.js plugin:\n\n\t\t<script src=\"contentbuilder/saveimages.js\" type=\"text/javascript\"></script>\n\n\tStep 2: Implement Saving as follows:\n\n\t\tfunction save() {\n        \n\t\t\t//Save all images\n\t\t\t$(\"#contentarea\").saveimages({\n\t\t\t\thandler: 'saveimage.php',\n\t\t\t\tonComplete: function () {\n\n\t\t\t\t\t//Get content\n\t\t\t\t\tvar sHTML = $('#contentarea').data('contentbuilder').html();\n\n\t\t\t\t\t//Save content\n\t\t\t\t\t.....\n\n\t\t\t\t}\n\t\t\t});\n\t\t\t$(\"#contentarea\").data('saveimages').save();\n\n\t\t}\n\n\tStep 3: Specify folder on the server for storing images on saveimage.php (or saveimage.ashx if you're using .NET).\n\n- example3.php and example3.aspx (multiple instance example)\n\n- example4.html (enable custom image or file select dialog)\n\n\tTo try, hover an image, click the link icon to open the link dialog. Here you will see additional button to open your custom image/file select dialog)\n\n- example5.html (simple custom snippets)\n\n- example6-lightbox.php and example6-lightbox.aspx (shows how to enable \"Click to Enlarge\" image option and how to use a simple lightbox JQuery plugin)\n\n- example7.html (Example of Code Block & Slider Module/Snippet)\n\n\n*** SPECIAL HOLIDAY GIFT (Dec 2016) ***\n\nNew Extra Blocks for email building using Foundation for Emails framework (assets/emailsnippets/snippets.html).\n\nCheckout the example: example-email.html \n\nUsage: \n\n    $(\"#contentarea\").contentbuilder({\n        snippetFile: 'assets/emailsnippets/snippets.html',\n        absolutePath:true,\n        snippetOpen: true,\n        toolbar: 'left',   \n        customTags: [[\"First Name\", \"{%first_name%}\"],\n            [\"Last Name\", \"{%last_name%}\"],\n            [\"Email\", \"{%email%}\"]],         \n        snippetCategories: [\n            [0,\"Default\"],\n            [-1, \"All\"],\n            [1, \"Logo\"],\n            [2,\"Title\"],\n            [3,\"Title, Subtitle\"],\n            [4,\"Info, Title\"],\n            [5,\"Info, Title, Subtitle\"],\n            [6,\"Heading, Paragraph\"],\n            [7,\"Paragraph\"],\n            [8, \"Buttons\"],\n            [9, \"Callouts\"],\n            [10,\"Images + Caption\"],\n            [11,\"Images + Long Caption\"],\n            [12, \"Images\"],\n            [13, \"List\"],\n            [14,\"Call to Action\"],\n            [15, \"Pricing\"],\n            [16, \"Quotes\"],\n            [17, \"Profile\"],\n            [18, \"Contact Info\"],\n            [19, \"Footer\"],\n            [20,\"Separator\"]\n            ]\n    });\n\nMore about Foundation for Email framework: http://foundation.zurb.com/emails/getting-started.html\n\n\n*** SNIPPETS ***\n\n\nAll examples use a snippets collection named \"minimalist-basic\", which is available at:\n\t\n\t\t- assets/minimalist-basic/snippets.html\n\n\tThis collection is a basic version of our large snippets collection which is available at:\n\n\thttp://innovastudio.com/content-builder/never-write-boring-content-again.aspx\n\n\tHere are the default snippets' categories:\n\n\t\t$(\"#contentarea\").contentbuilder({\n\t\t\t\t ...\n\t\t\t\t snippetCategories: [\n\t\t\t\t\t[0,\"Default\"],\n\t\t\t\t\t[-1,\"All\"],\n\t\t\t\t\t[1,\"Title\"],\n\t\t\t\t\t[2,\"Title, Subtitle\"],\n\t\t\t\t\t[3,\"Info, Title\"],\n\t\t\t\t\t[4,\"Info, Title, Subtitle\"],\n\t\t\t\t\t[5,\"Heading, Paragraph\"],\n\t\t\t\t\t[6,\"Paragraph\"],\n\t\t\t\t\t[7,\"Paragraph, Images + Caption\"],\n\t\t\t\t\t[8,\"Heading, Paragraph, Images + Caption\"],\n\t\t\t\t\t[33,\"Buttons\"],\n\t\t\t\t\t[34,\"Cards\"],\n\t\t\t\t\t[9,\"Images + Caption\"],\n\t\t\t\t\t[10,\"Images + Long Caption\"],\n\t\t\t\t\t[11,\"Images\"],\n\t\t\t\t\t[12,\"Single Image\"],\n\t\t\t\t\t[13,\"Call to Action\"],\n\t\t\t\t\t[14,\"List\"],\n\t\t\t\t\t[15,\"Quotes\"],\n\t\t\t\t\t[16,\"Profile\"],\n\t\t\t\t\t[17,\"Map\"],\n\t\t\t\t\t[20,\"Video\"],\n\t\t\t\t\t[18,\"Social\"],\n\t\t\t\t\t[21,\"Services\"],\n\t\t\t\t\t[22,\"Contact Info\"],\n\t\t\t\t\t[23,\"Pricing\"],\n\t\t\t\t\t[24,\"Team Profile\"],\n\t\t\t\t\t[25,\"Products/Portfolio\"],\n\t\t\t\t\t[26,\"How It Works\"],\n\t\t\t\t\t[27,\"Partners/Clients\"],\n\t\t\t\t\t[28,\"As Featured On\"],\n\t\t\t\t\t[29,\"Achievements\"],\n\t\t\t\t\t[32,\"Skills\"],\n\t\t\t\t\t[30,\"Coming Soon\"],\n\t\t\t\t\t[31,\"Page Not Found\"],\n\t\t\t\t\t[19,\"Separator\"],\n\t\t\t\t\t[100,\"Custom Code\"] /* INFO: Category 100 cannot be changed. It is used for Custom Code block */\n\t\t\t\t]\n\t\t\t});\n\n\tOn the snippets file, you can add, for example, data-cat=\"0,6\" means it will be displayed on \"Default\" and \"Paragraph\" category.\n\n\tFor example:\n \n\t\t<div data-thumb=\"assets/minimalist/thumbnails/g01.png\" data-cat=\"0,6\">\n\t\t\t.....HTML snippet here....\n\t\t</div>\n\n\tWith this format, you can add your own snippets.\n\t\n\n*** SUPPORT ***\n\nEmail us at: support@innovastudio.com\n\n\n\n---- IMPORTANT NOTE : ---- \n1. Custom Development is beyond of our support scope.\n \nOnce you get the HTML content, then it is more of to user's custom application (eg. posting it to the server for saving into a file, database, etc).\nPHP programming, ASP.NET programming or server side implementation is beyond of our support scope. \nWe also do not provide free custom development of extra features or functionalities.\n\n2. Our support doesn't cover custom integration into users' applications. It is users' responsibility.\n------------------------------------------\n"
  },
  {
    "path": "public/vendor/content-builder/saveimage-large.ashx",
    "content": "﻿<%@ WebHandler Language=\"VB\" Class=\"saveimage\" %>\n\nImports System\nImports System.Web\nImports System.IO\nImports System.Drawing\nImports System.Drawing.Imaging\nImports System.Drawing.Drawing2D\n\nPublic Class saveimage : Implements IHttpHandler\n\n    'Specify url path\n    Private sPath As String = \"uploads/\"\n    \n    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest\n        context.Response.ContentType = \"text/html\"\n        \n        'Prepare uploads folder\n        Dim sMapPath As String = context.Server.MapPath(sPath)\n        If Not sMapPath.EndsWith(\"\\\") Then sMapPath = sMapPath & \"\\\"\n        If Not My.Computer.FileSystem.DirectoryExists(sMapPath) Then\n            My.Computer.FileSystem.CreateDirectory(sMapPath)\n        End If\n\n        Dim customvalue As String = context.Request.Form(\"hidRefId\") 'Custom value (optional). If you set \"customval\" parameter in ContentBuilder, the value can be read here.\n        \n        Dim filecover As HttpPostedFile = context.Request.Files(\"fileImage\")\n        \n        Dim filename As String\n        Dim fileext As String\n        Try\n            filename = Path.GetFileName(filecover.FileName)\n            fileext = Path.GetExtension(filecover.FileName)\n        Catch ex As Exception\n            context.Response.Write(\"<html><body onload=\"\"alert('No file!')\"\"></body></html>\")\n            Exit Sub\n        End Try\n        \n        \n        'Check if uses is authorized here\n        Dim bAuthorized As Boolean = True 'Set authorized as example result\n        If Not bAuthorized Then\n            context.Response.Write(\"<html><body onload=\"\"alert('Not Authorized')\"\"></body></html>\")\n            Exit Sub\n        End If\n        \n\n        'Generate random file name here\n        Dim myRnd As New Random()\n        Dim chars() As Char = New Char() {\"A\"c, \"B\"c, \"C\"c, \"D\"c, \"E\"c, \"F\"c, _\n                                          \"G\"c, \"H\"c, \"I\"c, \"J\"c, \"K\"c, \"L\"c, _\n                                          \"M\"c, \"N\"c, \"O\"c, \"P\"c, \"Q\"c, \"R\"c, _\n                                          \"S\"c, \"T\"c, \"U\"c, \"V\"c, \"W\"c, \"X\"c, _\n                                          \"Y\"c, \"Z\"c, \"0\"c, \"1\"c, \"2\"c, \"3\"c, _\n                                          \"4\"c, \"5\"c, \"6\"c, \"7\"c, \"8\"c, \"9\"c, _\n                                          \"a\"c, \"b\"c, \"c\"c, \"d\"c, \"e\"c, \"f\"c, _\n                                          \"g\"c, \"h\"c, \"i\"c, \"j\"c, \"k\"c, \"l\"c, _\n                                          \"m\"c, \"n\"c, \"o\"c, \"p\"c, \"q\"c, \"r\"c, _\n                                          \"s\"c, \"t\"c, \"u\"c, \"v\"c, \"w\"c, \"x\"c, _\n                                          \"y\"c, \"z\"c}\n        Dim n As Integer = 5\n        Dim rndStr As String = String.Empty\n        Dim i As Integer = 0\n        While i < n\n            rndStr += chars(myRnd.Next(0, 62))\n            System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)\n        End While\n        rndStr = rndStr & Now.Hour & Now.Minute & Now.Second\n        \n        \n        Dim pagefolder As String = sMapPath\n        Dim pagefolderpath As String = sPath\n        \n        'Optional: If using customvalue to specify upload folder\n        If customvalue <> \"\" Then\n            pagefolder = pagefolder & customvalue & \"\\\"\n            pagefolderpath = pagefolderpath & customvalue & \"/\"\n            \n            If Not My.Computer.FileSystem.DirectoryExists(sMapPath & customvalue) Then\n                My.Computer.FileSystem.CreateDirectory(sMapPath & customvalue)\n            End If\n        End If\n        \n        \n        'Save image\n        'filecover.SaveAs(pagefolder & rndStr & fileext)\n        CreateCover(filecover, 1600, 1600, rndStr & \".jpg\", pagefolder) 'Resize image to max 1600x1600 to safe size\n        \n        'Replace image src with the new saved file\n        context.Response.Write(\"<html><body onload=\"\"parent.applyLargerImage('\" & pagefolderpath & rndStr & \".jpg\" & \"')\"\"></body></html>\")\n    End Sub\n \n    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable\n        Get\n            Return False\n        End Get\n    End Property\n    \n    Protected Sub CreateCover(ByVal PostedFile As HttpPostedFile, ByVal nThumbWidth As Integer, ByVal nThumbHeigth As Integer, ByVal sThumbFileName As String, ByVal sFolder As String)\n\n        If Not Directory.Exists(sFolder) Then\n            Directory.CreateDirectory(sFolder)\n        End If\n\n        With PostedFile\n            If (.FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"jpg\" Or .FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"gif\" _\n                Or .FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"png\" Or .FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"jpeg\") Then\n\n                Dim nJpegQuality As Integer = 90\n\n                Dim imgOri As System.Drawing.Image\n                imgOri = System.Drawing.Image.FromStream(.InputStream)\n\n                Dim nNewWidth As Integer = imgOri.Size.Width\n                Dim nNewHeight As Integer = imgOri.Size.Height\n                If nNewHeight < nThumbHeigth Then\n                    'noop\n                Else\n                    'width priority\n                    nNewHeight = nNewHeight * (nThumbWidth / nNewWidth)\n                    nNewWidth = nThumbWidth\n                End If\n                'If nNewWidth < nThumbWidth And nNewHeight < nThumbHeigth Then\n                '    'noop\n                'ElseIf nNewWidth / nNewHeight > nThumbWidth / nThumbHeigth Then\n                '    nNewHeight = nNewHeight * (nThumbWidth / nNewWidth)\n                '    nNewWidth = nThumbWidth\n                'ElseIf nNewWidth / nNewHeight < nThumbWidth / nThumbHeigth Then\n                '    nNewWidth = nNewWidth * (nThumbHeigth / nNewHeight)\n                '    nNewHeight = nThumbHeigth\n                'Else\n                '    nNewWidth = nThumbWidth\n                '    nNewHeight = nThumbHeigth\n                'End If\n\n                Dim imgThumb As System.Drawing.Image = New System.Drawing.Bitmap(nNewWidth, nNewHeight)\n                Dim gr As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(imgThumb)\n                gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic\n                gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality\n                gr.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality\n                gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality\n                gr.DrawImage(imgOri, 0, 0, nNewWidth, nNewHeight)\n\n                Dim info() As System.Drawing.Imaging.ImageCodecInfo = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()\n                Dim ePars As System.Drawing.Imaging.EncoderParameters = New System.Drawing.Imaging.EncoderParameters(1)\n                ePars.Param(0) = New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, nJpegQuality)\n                'imgThumb.Save(sFolder & sThumbFileName, info(1), ePars)\n                imgThumb.Save(sFolder & sThumbFileName, System.Drawing.Imaging.ImageFormat.Jpeg)\n\n                imgThumb.Dispose()\n                imgOri.Dispose()\n\n            End If\n        End With\n    End Sub\n\nEnd Class"
  },
  {
    "path": "public/vendor/content-builder/saveimage-large.php.html",
    "content": "<html><body onload=\"alert('File is not an image.')\"></body></html>"
  },
  {
    "path": "public/vendor/content-builder/saveimage-module.ashx",
    "content": "﻿<%@ WebHandler Language=\"VB\" Class=\"saveimage\" %>\n\nImports System\nImports System.Web\nImports System.IO\nImports System.Drawing\nImports System.Drawing.Imaging\nImports System.Drawing.Drawing2D\n\nPublic Class saveimage : Implements IHttpHandler\n\n    'Specify url path\n    Private sPath As String = \"uploads/\"\n    \n    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest\n        context.Response.ContentType = \"text/html\"\n        \n        'Prepare uploads folder\n        Dim sMapPath As String = context.Server.MapPath(sPath)\n        If Not sMapPath.EndsWith(\"\\\") Then sMapPath = sMapPath & \"\\\"\n        If Not My.Computer.FileSystem.DirectoryExists(sMapPath) Then\n            My.Computer.FileSystem.CreateDirectory(sMapPath)\n        End If\n\n        Dim customvalue As String = context.Request.Form(\"hidCustomVal\") 'Custom value (optional). If you set \"customval\" parameter in ContentBuilder, the value can be read here.\n        \n        Dim filecover As HttpPostedFile = context.Request.Files(\"fileImage\")\n        \n        Dim filename As String\n        Dim fileext As String\n        Try\n            filename = Path.GetFileName(filecover.FileName)\n            fileext = Path.GetExtension(filecover.FileName)\n        Catch ex As Exception\n            context.Response.Write(\"<html><body onload=\"\"alert('No file!')\"\"></body></html>\")\n            Exit Sub\n        End Try\n        \n        \n        'Check if uses is authorized here\n        Dim bAuthorized As Boolean = True 'Set authorized as example result\n        If Not bAuthorized Then\n            context.Response.Write(\"<html><body onload=\"\"alert('Not Authorized')\"\"></body></html>\")\n            Exit Sub\n        End If\n        \n\n        'Generate random file name here\n        Dim myRnd As New Random()\n        Dim chars() As Char = New Char() {\"A\"c, \"B\"c, \"C\"c, \"D\"c, \"E\"c, \"F\"c, _\n                                          \"G\"c, \"H\"c, \"I\"c, \"J\"c, \"K\"c, \"L\"c, _\n                                          \"M\"c, \"N\"c, \"O\"c, \"P\"c, \"Q\"c, \"R\"c, _\n                                          \"S\"c, \"T\"c, \"U\"c, \"V\"c, \"W\"c, \"X\"c, _\n                                          \"Y\"c, \"Z\"c, \"0\"c, \"1\"c, \"2\"c, \"3\"c, _\n                                          \"4\"c, \"5\"c, \"6\"c, \"7\"c, \"8\"c, \"9\"c, _\n                                          \"a\"c, \"b\"c, \"c\"c, \"d\"c, \"e\"c, \"f\"c, _\n                                          \"g\"c, \"h\"c, \"i\"c, \"j\"c, \"k\"c, \"l\"c, _\n                                          \"m\"c, \"n\"c, \"o\"c, \"p\"c, \"q\"c, \"r\"c, _\n                                          \"s\"c, \"t\"c, \"u\"c, \"v\"c, \"w\"c, \"x\"c, _\n                                          \"y\"c, \"z\"c}\n        Dim n As Integer = 5\n        Dim rndStr As String = String.Empty\n        Dim i As Integer = 0\n        While i < n\n            rndStr += chars(myRnd.Next(0, 62))\n            System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)\n        End While\n        rndStr = rndStr & Now.Hour & Now.Minute & Now.Second\n        \n        \n        Dim pagefolder As String = sMapPath\n        Dim pagefolderpath As String = sPath\n        \n        'Optional: If using customvalue to specify upload folder\n        If customvalue <> \"\" Then\n            pagefolder = pagefolder & customvalue & \"\\\"\n            pagefolderpath = pagefolderpath & customvalue & \"/\"\n            \n            If Not My.Computer.FileSystem.DirectoryExists(sMapPath & customvalue) Then\n                My.Computer.FileSystem.CreateDirectory(sMapPath & customvalue)\n            End If\n        End If\n        \n        \n        'Save image\n        'filecover.SaveAs(pagefolder & rndStr & fileext)\n        CreateCover(filecover, 1600, 1600, rndStr & \".jpg\", pagefolder) 'Resize image to max 1600x1600 to safe size\n        \n        'Replace image src with the new saved file\n        context.Response.Write(\"<html><body onload=\"\"parent.sliderImageSaved('\" & pagefolderpath & rndStr & \".jpg\" & \"')\"\"></body></html>\")\n    End Sub\n \n    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable\n        Get\n            Return False\n        End Get\n    End Property\n    \n    Protected Sub CreateCover(ByVal PostedFile As HttpPostedFile, ByVal nThumbWidth As Integer, ByVal nThumbHeigth As Integer, ByVal sThumbFileName As String, ByVal sFolder As String)\n\n        If Not Directory.Exists(sFolder) Then\n            Directory.CreateDirectory(sFolder)\n        End If\n\n        With PostedFile\n            If (.FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"jpg\" Or .FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"gif\" _\n                Or .FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"png\" Or .FileName.Substring(.FileName.LastIndexOf(\".\") + 1).ToLower = \"jpeg\") Then\n\n                Dim nJpegQuality As Integer = 90\n\n                Dim imgOri As System.Drawing.Image\n                imgOri = System.Drawing.Image.FromStream(.InputStream)\n\n                Dim nNewWidth As Integer = imgOri.Size.Width\n                Dim nNewHeight As Integer = imgOri.Size.Height\n                If nNewHeight < nThumbHeigth Then\n                    'noop\n                Else\n                    'width priority\n                    nNewHeight = nNewHeight * (nThumbWidth / nNewWidth)\n                    nNewWidth = nThumbWidth\n                End If\n                'If nNewWidth < nThumbWidth And nNewHeight < nThumbHeigth Then\n                '    'noop\n                'ElseIf nNewWidth / nNewHeight > nThumbWidth / nThumbHeigth Then\n                '    nNewHeight = nNewHeight * (nThumbWidth / nNewWidth)\n                '    nNewWidth = nThumbWidth\n                'ElseIf nNewWidth / nNewHeight < nThumbWidth / nThumbHeigth Then\n                '    nNewWidth = nNewWidth * (nThumbHeigth / nNewHeight)\n                '    nNewHeight = nThumbHeigth\n                'Else\n                '    nNewWidth = nThumbWidth\n                '    nNewHeight = nThumbHeigth\n                'End If\n\n                Dim imgThumb As System.Drawing.Image = New System.Drawing.Bitmap(nNewWidth, nNewHeight)\n                Dim gr As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(imgThumb)\n                gr.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic\n                gr.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality\n                gr.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality\n                gr.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality\n                gr.DrawImage(imgOri, 0, 0, nNewWidth, nNewHeight)\n\n                Dim info() As System.Drawing.Imaging.ImageCodecInfo = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders()\n                Dim ePars As System.Drawing.Imaging.EncoderParameters = New System.Drawing.Imaging.EncoderParameters(1)\n                ePars.Param(0) = New System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, nJpegQuality)\n                'imgThumb.Save(sFolder & sThumbFileName, info(1), ePars)\n                imgThumb.Save(sFolder & sThumbFileName, System.Drawing.Imaging.ImageFormat.Jpeg)\n\n                imgThumb.Dispose()\n                imgOri.Dispose()\n\n            End If\n        End With\n    End Sub\n\nEnd Class"
  },
  {
    "path": "public/vendor/content-builder/saveimage-module.php.html",
    "content": "<html><body onload=\"alert('File is not an image.')\"></body></html>"
  },
  {
    "path": "public/vendor/content-builder/saveimage.ashx",
    "content": "﻿<%@ WebHandler Language=\"VB\" Class=\"saveimage\" %>\n\nImports System\nImports System.Web\nImports System.IO\nImports System.Drawing\nImports System.Drawing.Imaging\nImports System.Drawing.Drawing2D\n\nPublic Class saveimage : Implements IHttpHandler\n    \n    'Specify url path\n    Private sPath As String = \"uploads/\"\n    \n    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest\n        context.Response.ContentType = \"text/html\"\n         \n        'Prepare uploads folder\n        Dim sMapPath As String = context.Server.MapPath(sPath)\n        If Not sMapPath.EndsWith(\"\\\") Then sMapPath = sMapPath & \"\\\"\n        If Not My.Computer.FileSystem.DirectoryExists(sMapPath) Then\n            My.Computer.FileSystem.CreateDirectory(sMapPath)\n        End If\n                \n        'Read image\n        Dim count As String = context.Request.QueryString(\"count\")\n        Dim b64str As String = context.Request.Form(\"hidimg-\" & count)\n        Dim imgname As String = context.Request.Form(\"hidname-\" & count)\n        Dim imgtype As String = context.Request.Form(\"hidtype-\" & count)\n\n        Dim customvalue As String = context.Request.Form(\"hidcustomval-\" & count) 'Get customvalue   \n        \n        \n        'Check if uses is authorized here\n        Dim bAuthorized As Boolean = True 'Set authorized as example result\n        If Not bAuthorized Then\n            context.Response.Write(\"<html><body onload=\"\"alert('Not Authorized')\"\"></body></html>\")\n            Exit Sub\n        End If\n        \n\n        'Generate random file name here\n        Dim myRnd As New Random()\n        Dim chars() As Char = New Char() {\"A\"c, \"B\"c, \"C\"c, \"D\"c, \"E\"c, \"F\"c, _\n                                          \"G\"c, \"H\"c, \"I\"c, \"J\"c, \"K\"c, \"L\"c, _\n                                          \"M\"c, \"N\"c, \"O\"c, \"P\"c, \"Q\"c, \"R\"c, _\n                                          \"S\"c, \"T\"c, \"U\"c, \"V\"c, \"W\"c, \"X\"c, _\n                                          \"Y\"c, \"Z\"c, \"0\"c, \"1\"c, \"2\"c, \"3\"c, _\n                                          \"4\"c, \"5\"c, \"6\"c, \"7\"c, \"8\"c, \"9\"c, _\n                                          \"a\"c, \"b\"c, \"c\"c, \"d\"c, \"e\"c, \"f\"c, _\n                                          \"g\"c, \"h\"c, \"i\"c, \"j\"c, \"k\"c, \"l\"c, _\n                                          \"m\"c, \"n\"c, \"o\"c, \"p\"c, \"q\"c, \"r\"c, _\n                                          \"s\"c, \"t\"c, \"u\"c, \"v\"c, \"w\"c, \"x\"c, _\n                                          \"y\"c, \"z\"c}\n        Dim n As Integer = 5\n        Dim rndStr As String = String.Empty\n        Dim i As Integer = 0\n        While i < n\n            rndStr += chars(myRnd.Next(0, 62))\n            System.Math.Max(System.Threading.Interlocked.Increment(i), i - 1)\n        End While\n        rndStr = rndStr & count\n        'rndStr => random string\n        Dim sImage As String\n        If imgtype = \"png\" Then\n            sImage = imgname & \"-\" & rndStr & \".png\"\n        Else\n            sImage = imgname & \"-\" & rndStr & \".jpg\"\n        End If\n        \n        \n        Dim pagefolder As String = sMapPath\n        Dim pagefolderpath As String = sPath\n        \n        'Optional: If using customvalue to specify upload folder\n        If customvalue <> \"\" Then\n            pagefolder = pagefolder & customvalue & \"\\\"\n            pagefolderpath = pagefolderpath & customvalue & \"/\"\n            \n            If Not My.Computer.FileSystem.DirectoryExists(sMapPath & customvalue) Then\n                My.Computer.FileSystem.CreateDirectory(sMapPath & customvalue)\n            End If\n        End If\n        \n\n        'Save image\n        Dim binaryData() As Byte = Convert.FromBase64String(b64str)\n        Dim fs As New FileStream(pagefolder & sImage, FileMode.Create)\n        fs.Write(binaryData, 0, binaryData.Length)\n        fs.Close()\n\n        'Replace image src with the new saved file\n        context.Response.Write(\"<html><body onload=\"\"parent.document.getElementById('img-\" & count & \"').setAttribute('src','\" & pagefolderpath & sImage & \"');   parent.document.getElementById('img-\" & count & \"').removeAttribute('id');\"\"></body></html>\")\n    End Sub\n \n    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable\n        Get\n            Return False\n        End Get\n    End Property\n\nEnd Class"
  },
  {
    "path": "public/vendor/content-builder/saveimage.php.html",
    "content": "<html><body onload=\"parent.document.getElementById('img-').setAttribute('src','uploads/-d7r59u.jpg');  parent.document.getElementById('img-').removeAttribute('id') \"></body></html>"
  },
  {
    "path": "public/vendor/content-builder/whatsnew.txt",
    "content": "﻿What's New in ver.2.4.8\n- Fix source view dialog position\n- Improve source view script loading performance\n- Minor fixes/adjustments\n\nWhat's New in ver.2.4.7\n- Bug fixes: enlarge droppable area, slider update.\n\nWhat's New in ver.2.4.6\n- Improve dropdown categories\n- New onChange param\n- Formatted source code editor\n- Remove some deprecated jQuery shorthands\n- Bug fix: column removed after applying paragraph\n\nWhat's New in ver.2.4.5\n- Bug fix (error caused by destroy usage)\n\nWhat's New in ver.2.4.4\n- Same image embed bug fix\n- Image Embed resulting dark image issue fix\n\nWhat's New in ver.2.4.3\n- Close button for dialogs\n- Bug fixes\n\nWhat's New in ver.2.4.2\n- Fix CTRL-Z & CTRL-Y (undo & redo) issue\n- Add option to make a block cannot be edited or deleted (using data-mode=\"readonly-protected\"). See readme.txt\n- Other fixes\n\nWhat's New in ver.2.4.1\n- Bug fixes (Insert Image, Font size, text color)\n\nWhat's New in ver.2.4\n- Specify custom path for modules using modulePath parameter (see readme)\n- New buttons for table, image, text settings & formatting\n- Enhance open/close dialogs for editing\n- Enhance overall editing interface\n- More font selections\n- Enhance Undo Redo function\n- Use Bootstrap 4 for Bootstrap examples\n- Image Embed resulting dark image issue fix\n- Other fixes\n\nWhat's New in ver.2.3\n- New \"buttons\" parameter to configure editor's toolbar buttons (See readme.txt)\n- Updated custom code snippet/block.\n- New slider snippets in \"Slider/Slideshow\" category. Try example7.html and see readme.txt on how to enable the slider module.\n- Fixes\n\nWhat's New in ver.2.2\n- New dialog for Google Map embed.\n- Prevent dialog close on code editor & add cancel button.\n\nWhat's New in Ver.2.1\n- Fixes (including code block error fix)\n\nWhat's New in Ver.2.0\n- New custom code snippet/block. To enable, please see readme.txt\n- New example7.html (showing a code block example & how to enable it)\n- Updated readme.txt\n\nWhat's New in Ver.1.9.8\n- Fixes (inlcuding fix for image embed positioning problem)\n\nWhat's New in Ver.1.9.7\n- Updated readme.txt\n- ContentBuilder UI update (for direct image embed)\n- New \"Click to Enlarge\" image option, by setting the new \"largerImageHandler\" parameter (See readme.txt)\n- New example: using Jquery Lightbox plugin to work with \"Click to Enlarge\" image feature (See readme.txt)\n\t- example6-lightbox.php (PHP example)\n\t- example6-lightbox.aspx (ASP.NET example)\n- Fix text alignment function (now can be applied when multiple paragraphs are selected)\n- New \"Target\" option for image link.\n- Updated JQuery & JQuery UI\n\nWhat's New in Ver.1.9.6\n- Updated snippets' css (content.css & content_bootstrap.css)\n- Fixes\n\nWhat's New in Ver.1.9.5\n- New: sample email content building. See example-email.html & readme.txt.\n- New customTags parameter. See readme.txt.\n- New absolutePath parameter. See readme.txt.\n- Toolbar popup inconsistent height fix.\n\nWhat's New in Ver.1.9.4\n- Fixes (enable block background, toolbar fix, alignment fix, delete error fix)\n\nWhat's New in Ver.1.9.3\n- Edtiting toolbar improvement\n- Color dialog improvement\n- Icon dialog improvement\n- Fixes\n\nWhat's New in Ver.1.9.2\n- Fix on snippets loading\n- Fix on editable tags\n- Updated snippets' css\n\nWhat's New in Ver.1.9.1\n- Fixes\n\nWhat's New in Ver.1.9\n- New Bootstrap examples\n- Fixes\n\nWhat's New in Ver.1.8.9\n- New title field in link dialog\n- Snippets updated (now includes 298 snippets)\n- No Crop option when embedding image\n- Fixes\n\nWhat's New in Ver.1.8.8\n- New Snippets\n- New Icons dialog\n- Updated examples\n- Zoom function disabled due to instability\n- Fix incorrect drag helper position while sorting & dragging\n\nWhat's New in Ver.1.8.7\n- Enhancement on dropzone\n- Fix onFileSelectClick functionality\n\nWhat's New in Ver.1.8.6\n- Use the latest jQuery UI 1.11.4\n- Fix incorrect drag helper position while sorting & dragging\n- Show drag helper again in Firefox\n\nWhat's New in Ver.1.8.5\n- Fixes\n\nWhat's New in Ver.1.8.4\n- New parameters to control \"Embed original image\" checkbox on Image dialog: (see readme.txt)\n  embedOriginalChecked (default:false) & hideEmbedOriginal (default:false) \n- Disable zoom function on Edge browser\n- Fixes\n\nWhat's New in Ver.1.8.3\n- Fix font selection on multiple instance\n- Fix embed image quality!!\n- Fix embed image orientation problem\n- Option to embed image (from local URL) within placeholder or insert original (image from external URL will be embedded as is)\n- Easier drag/drop when content empty\n- New \"scrollHelper\" parameter to show Scroll up/down helper (default: false)\n\n        $(\"#contentarea\").contentbuilder({\n            scrollHelper: true,   \n            .....\n        });\n\n- New \"snippetPageSliding\" parameter for different sliding effect for snippets.\n  If set true, when snippets opens, the entire page will also slide. (default: false)\n\n        $(\"#contentarea\").contentbuilder({\n            snippetPageSliding: true,   \n            .....\n        });\n\n- Adjust row controls on small screen\n- New \"onImageBrowseClick\" and \"onImageSettingClick\" events for custom actions \n\t- onImageBrowseClick: Triggered when image browse icon is clicked \n\t- onImageSettingClick: Triggered when image settings icon is clicked\n\tImage browse icon and image settings icon are displayed when you hover an image.\n\n        $(\"#contentarea\").contentbuilder({\n            onImageBrowseClick: function () { },\n            onImageSettingClick: function () { },    \n            .....\n        });\n\n- New \"onImageSelectClick\" and \"onFileSelectClick\" events for custom actions\n\t- onImageSelectClick: Triggered when custom image select button is clicked \n\t- onFileSelectClick: Triggered when custom file select button is clicked\n\tIf the events are used, custom image select button and custom file select button will be displayed on the Image Settings dialog.\n\n        $(\"#contentarea\").contentbuilder({\n            onImageSelectClick: function () { },\n            onFileSelectClick: function () { },    \n            .....\n        });\n- Fix create and destroy instance bug\n\nWhat's New in Ver.1.8.2\n- Update rangeslider\n- Embedding image on small screen device will create the same (actual) image dimesion as in larger screen (will look good on desktop screen)\n- Toolbar top position is now based on screen height\n- Some important fixes\n\nWhat's New in Ver.1.8.1\n- New html button on editing toolbar\n- New option to have the editing toolbar always displayed (after cursor is placed on text):\n    $(\"#contentarea\").contentbuilder({\n        toolbarDisplay: 'always',\n        .....\n    });\n- Now it's possible to make a snippet not editable, just add data-mode=\"readonly\" on the snippet's DIV, for example:\n\t<div data-thumb=\"..../01.png\">\n\t\t<div class=\"row clearfix\" data-mode=\"readonly\"> \n\t\t\t......\n\t\t</div>\n\t</div>\nNow you can put assets folder not on its default location. Path adjustment will be needed using snippetPathReplace parameter, for example:\n    $(\"#contentarea\").contentbuilder({\n        snippetPathReplace: ['assets/minimalist-basic/', 'mycustomfolder/assets/minimalist-basic/'],\n        .....\n    });\n- CTRL-A will select parent element (not the entire block) for safe text editing\n- Some important fixes and enhancements\n\nWhat's New in Ver.1.8\n- Updated documentation in readme file\n- New Snippets Set \"minimalist-basic\", located at assets/minimalist-basic/snippets.html\n  See example10.php or example10.aspx\n- New snippets CATEGORIES. See example10.php or example10.aspx (please see documentation in the readme file)\n- Default jQuery UI version is back to 1.11.0 (but still compatible with the new jQuery UI 1.11.x)\n- Delete block confirmation dialog\n- Fixes & adjustments\n\nWhat's New in Ver.1.7.9\n- Supports the latest JQuery UI v1.11.2\n- Limit image zoom-out to not smaller than its placeholder\n- New example9.html (showing how to print content)\n- New example10.php and example10.aspx (showing another approach of saving content using normal form. Also shows how to submit multiple content area)\n- Fixes\n\nWhat's New in Ver.1.7.8\n- Enter issue (when using IE) fixed\n- Text color bug fixed\n\nWhat's New in Ver.1.7.7:\n- Change image hover control position for supporting small images\n- Fix outline dissapear when clicking editor buttons (Bold, italic, etc)\n- Fix zoom changed to 0.8 when resizing (if enableZoom=false)\n- Now it's possible to make an image not replaceable. Just add data-fixed=\"1\" to the <img> element (please see readme.txt)\n- Minor fixes & adjustments\n\nWhat's New in Ver.1.7.6:\n- Updated saveimage.php\n- Few updates to support our \"300+ Beutiful Blocks\"'s snippets categories dropdown: \n\thttp://innovastudio.com/content-builder/never-write-boring-content-again.aspx\n\nWhat's New in Ver.1.7.5:\n- Fixes: Google font not applied after saving and problem when applying Google font on multi drop area\n- \"default\" snippets css updated (change the body font to Open Sans)\n\nWhat's New in Ver.1.7.4:\n- New option: left side editor toolbar, by setting toolbar: 'left' (please see readme.txt)\n- New examples of custom CMS interface: example7.html & example8.html\n- Minor fixes & adjustments\n\nWhat's New in Ver.1.7.3:\n- Natural editing by default. To make the editing back to \"SAFE MODE\" please see readme.txt\n- New Heading selection\n- New Font selection\n- New Size selection\n- List function enhancement\n- Color function enhancement\n- New \"snippetList\" parameter (please see readme.txt)\n- Fixes & other enhancements\n\nWhat's New in Ver.1.7.2: \n- New imageEmbed parameter to enable/disable Direct Image Embed (please see readme.txt)\n- New sourceEditor parameter to enable/disable HTML source editing (please see readme.txt)\n- Show progress status during image embed\n- Fixes\n\nWhat's New in Ver.1.7.1: \n- New destroy() method to disable/destroy the plugin at runtime (please see readme.txt)\n- New copy button to duplicate content\n- New colors property, to specify array of custom colors (please see readme.txt)\n- New snippetOpen property, to open the snippet panel on first load (please see readme.txt)\n- New onDrop event, to run custom script when a block is dropped (added) to the content (please see readme.txt)\n- Snippet number info on hover\n- Fixes\n\nWhat's New in Ver.1.7: \n\n- Multiple instance support. See example6.html\n- Introducing \"selectable\" property for flexible editing. See readme & example7.html\n- New Unlink button\n- New Color & Background text button\n- Smooth drag and drop\n- Change outline style (when block is clicked). You can customize it on contentbuilder.css: .ui-dragbox-outlined { ... }\n- Now support jQuery no-conflict\n- Fixes\n\nWhat's New in Ver.1.6: \n\n- Fix icons conflict: scripts/icons/\n- Reset zoom if zoom feature disabled.\n- Error message on saving image: saveimage.php\n- minor fixes\n\nWhat's New in Ver.1.5: \n\n- Option to enable custom image or file select dialog (please see readme.txt)\n- Option to disable zoom feature (please see readme.txt)\n\nWhat's New in Ver.1.4:\n\n- Zoom feature is now enabled on Firefox\n- Fix controls positioning on hover\n\nWhat's New in Ver.1.3:\n\n- New 'Edit Link' dialog for video embed (Youtube & Vimeo)\n- New 'snippetTool' property for making snippet tool slide from left or right: \n  Value: left/right. Default is 'right'. Example:\n  $(\"#contentarea\").contentbuilder({\n        snippetTool: 'left',\n        .....\n        });\n\nWhat's New in Ver.1.2:\n\n- New image dialog (Image Url, Alt text, Navigate URL).\n- loadHTML() method (for loading HTML content at runtime). See readme.\n- Saved images are now using file names (good for SEO).\n- Show warning if non image is selected.\n- Saved image format is now automatically following the original image embeddedd (no need to set the hiquality parameter).\n  But if hiquality parameter is set to true, all saved image will be in PNG (this results bigger size of image file).\n- Important fixes:\n\t- Saving image fix\n\n"
  },
  {
    "path": "resources/js/app.js",
    "content": "/**\n * First we will load all of this project's JavaScript dependencies which\n * includes React and other helpers. It's a great starting point while\n * building robust, powerful web applications using React + Laravel.\n */\n\nrequire('./bootstrap');\n\n/**\n * Next, we will create a fresh React component instance and attach it to\n * the page. Then, you may begin adding components to this application\n * or customize the JavaScript scaffolding to fit your unique needs.\n */\n\nrequire('./components/Example');\n"
  },
  {
    "path": "resources/js/bootstrap.js",
    "content": "window._ = require('lodash');\n\n/**\n * We'll load jQuery and the Bootstrap jQuery plugin which provides support\n * for JavaScript based Bootstrap features such as modals and tabs. This\n * code may be modified to fit the specific needs of your application.\n */\n\ntry {\n    window.Popper = require('popper.js').default;\n    window.$ = window.jQuery = require('jquery');\n\n    require('bootstrap');\n} catch (e) {}\n\n/**\n * We'll load the axios HTTP library which allows us to easily issue requests\n * to our Laravel back-end. This library automatically handles sending the\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\n */\n\nwindow.axios = require('axios');\n\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n/**\n * Echo exposes an expressive API for subscribing to channels and listening\n * for events that are broadcast by Laravel. Echo and event broadcasting\n * allows your team to easily build robust real-time web applications.\n */\n\n// import Echo from 'laravel-echo';\n\n// window.Pusher = require('pusher-js');\n\n// window.Echo = new Echo({\n//     broadcaster: 'pusher',\n//     key: process.env.MIX_PUSHER_APP_KEY,\n//     cluster: process.env.MIX_PUSHER_APP_CLUSTER,\n//     encrypted: true\n// });\n"
  },
  {
    "path": "resources/js/components/Example.js",
    "content": "import React from 'react';\nimport ReactDOM from 'react-dom';\n\nfunction Example() {\n    return (\n        <div className=\"container\">\n            <div className=\"row justify-content-center\">\n                <div className=\"col-md-8\">\n                    <div className=\"card\">\n                        <div className=\"card-header\">Example Component</div>\n\n                        <div className=\"card-body\">I'm an example component!</div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    );\n}\n\nexport default Example;\n\nif (document.getElementById('example')) {\n    ReactDOM.render(<Example />, document.getElementById('example'));\n}\n"
  },
  {
    "path": "resources/lang/en/auth.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Authentication Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are used during authentication for various\n    | messages that we need to display to the user. You are free to modify\n    | these language lines according to your application's requirements.\n    |\n    */\n\n    'failed' => 'These credentials do not match our records.',\n    'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',\n\n];\n"
  },
  {
    "path": "resources/lang/en/pagination.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Pagination Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are used by the paginator library to build\n    | the simple pagination links. You are free to change them to anything\n    | you want to customize your views to better match your application.\n    |\n    */\n\n    'previous' => '&laquo; Previous',\n    'next' => 'Next &raquo;',\n\n];\n"
  },
  {
    "path": "resources/lang/en/passwords.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Password Reset Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are the default lines which match reasons\n    | that are given by the password broker for a password update attempt\n    | has failed, such as for an invalid token or invalid new password.\n    |\n    */\n\n    'reset' => 'Your password has been reset!',\n    'sent' => 'We have emailed your password reset link!',\n    'throttled' => 'Please wait before retrying.',\n    'token' => 'This password reset token is invalid.',\n    'user' => \"We can't find a user with that email address.\",\n\n];\n"
  },
  {
    "path": "resources/lang/en/validation.php",
    "content": "<?php\n\nreturn [\n\n    /*\n    |--------------------------------------------------------------------------\n    | Validation Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines contain the default error messages used by\n    | the validator class. Some of these rules have multiple versions such\n    | as the size rules. Feel free to tweak each of these messages here.\n    |\n    */\n\n    'accepted' => 'The :attribute must be accepted.',\n    'active_url' => 'The :attribute is not a valid URL.',\n    'after' => 'The :attribute must be a date after :date.',\n    'after_or_equal' => 'The :attribute must be a date after or equal to :date.',\n    'alpha' => 'The :attribute may only contain letters.',\n    'alpha_dash' => 'The :attribute may only contain letters, numbers, dashes and underscores.',\n    'alpha_num' => 'The :attribute may only contain letters and numbers.',\n    'array' => 'The :attribute must be an array.',\n    'before' => 'The :attribute must be a date before :date.',\n    'before_or_equal' => 'The :attribute must be a date before or equal to :date.',\n    'between' => [\n        'numeric' => 'The :attribute must be between :min and :max.',\n        'file' => 'The :attribute must be between :min and :max kilobytes.',\n        'string' => 'The :attribute must be between :min and :max characters.',\n        'array' => 'The :attribute must have between :min and :max items.',\n    ],\n    'boolean' => 'The :attribute field must be true or false.',\n    'confirmed' => 'The :attribute confirmation does not match.',\n    'date' => 'The :attribute is not a valid date.',\n    'date_equals' => 'The :attribute must be a date equal to :date.',\n    'date_format' => 'The :attribute does not match the format :format.',\n    'different' => 'The :attribute and :other must be different.',\n    'digits' => 'The :attribute must be :digits digits.',\n    'digits_between' => 'The :attribute must be between :min and :max digits.',\n    'dimensions' => 'The :attribute has invalid image dimensions.',\n    'distinct' => 'The :attribute field has a duplicate value.',\n    'email' => 'The :attribute must be a valid email address.',\n    'ends_with' => 'The :attribute must end with one of the following: :values.',\n    'exists' => 'The selected :attribute is invalid.',\n    'file' => 'The :attribute must be a file.',\n    'filled' => 'The :attribute field must have a value.',\n    'gt' => [\n        'numeric' => 'The :attribute must be greater than :value.',\n        'file' => 'The :attribute must be greater than :value kilobytes.',\n        'string' => 'The :attribute must be greater than :value characters.',\n        'array' => 'The :attribute must have more than :value items.',\n    ],\n    'gte' => [\n        'numeric' => 'The :attribute must be greater than or equal :value.',\n        'file' => 'The :attribute must be greater than or equal :value kilobytes.',\n        'string' => 'The :attribute must be greater than or equal :value characters.',\n        'array' => 'The :attribute must have :value items or more.',\n    ],\n    'image' => 'The :attribute must be an image.',\n    'in' => 'The selected :attribute is invalid.',\n    'in_array' => 'The :attribute field does not exist in :other.',\n    'integer' => 'The :attribute must be an integer.',\n    'ip' => 'The :attribute must be a valid IP address.',\n    'ipv4' => 'The :attribute must be a valid IPv4 address.',\n    'ipv6' => 'The :attribute must be a valid IPv6 address.',\n    'json' => 'The :attribute must be a valid JSON string.',\n    'lt' => [\n        'numeric' => 'The :attribute must be less than :value.',\n        'file' => 'The :attribute must be less than :value kilobytes.',\n        'string' => 'The :attribute must be less than :value characters.',\n        'array' => 'The :attribute must have less than :value items.',\n    ],\n    'lte' => [\n        'numeric' => 'The :attribute must be less than or equal :value.',\n        'file' => 'The :attribute must be less than or equal :value kilobytes.',\n        'string' => 'The :attribute must be less than or equal :value characters.',\n        'array' => 'The :attribute must not have more than :value items.',\n    ],\n    'max' => [\n        'numeric' => 'The :attribute may not be greater than :max.',\n        'file' => 'The :attribute may not be greater than :max kilobytes.',\n        'string' => 'The :attribute may not be greater than :max characters.',\n        'array' => 'The :attribute may not have more than :max items.',\n    ],\n    'mimes' => 'The :attribute must be a file of type: :values.',\n    'mimetypes' => 'The :attribute must be a file of type: :values.',\n    'min' => [\n        'numeric' => 'The :attribute must be at least :min.',\n        'file' => 'The :attribute must be at least :min kilobytes.',\n        'string' => 'The :attribute must be at least :min characters.',\n        'array' => 'The :attribute must have at least :min items.',\n    ],\n    'not_in' => 'The selected :attribute is invalid.',\n    'not_regex' => 'The :attribute format is invalid.',\n    'numeric' => 'The :attribute must be a number.',\n    'password' => 'The password is incorrect.',\n    'present' => 'The :attribute field must be present.',\n    'regex' => 'The :attribute format is invalid.',\n    'required' => 'The :attribute field is required.',\n    'required_if' => 'The :attribute field is required when :other is :value.',\n    'required_unless' => 'The :attribute field is required unless :other is in :values.',\n    'required_with' => 'The :attribute field is required when :values is present.',\n    'required_with_all' => 'The :attribute field is required when :values are present.',\n    'required_without' => 'The :attribute field is required when :values is not present.',\n    'required_without_all' => 'The :attribute field is required when none of :values are present.',\n    'same' => 'The :attribute and :other must match.',\n    'size' => [\n        'numeric' => 'The :attribute must be :size.',\n        'file' => 'The :attribute must be :size kilobytes.',\n        'string' => 'The :attribute must be :size characters.',\n        'array' => 'The :attribute must contain :size items.',\n    ],\n    'starts_with' => 'The :attribute must start with one of the following: :values.',\n    'string' => 'The :attribute must be a string.',\n    'timezone' => 'The :attribute must be a valid zone.',\n    'unique' => 'The :attribute has already been taken.',\n    'uploaded' => 'The :attribute failed to upload.',\n    'url' => 'The :attribute format is invalid.',\n    'uuid' => 'The :attribute must be a valid UUID.',\n\n    /*\n    |--------------------------------------------------------------------------\n    | Custom Validation Language Lines\n    |--------------------------------------------------------------------------\n    |\n    | Here you may specify custom validation messages for attributes using the\n    | convention \"attribute.rule\" to name the lines. This makes it quick to\n    | specify a specific custom language line for a given attribute rule.\n    |\n    */\n\n    'custom' => [\n        'attribute-name' => [\n            'rule-name' => 'custom-message',\n        ],\n    ],\n\n    /*\n    |--------------------------------------------------------------------------\n    | Custom Validation Attributes\n    |--------------------------------------------------------------------------\n    |\n    | The following language lines are used to swap our attribute placeholder\n    | with something more reader friendly such as \"E-Mail Address\" instead\n    | of \"email\". This simply helps us make our message more expressive.\n    |\n    */\n\n    'attributes' => [],\n\n];\n"
  },
  {
    "path": "resources/sass/_variables.scss",
    "content": "// Body\n$body-bg: #ffffff;\n\n// Typography\n$font-family-circular-std:'Circular Std';\n$font-family-cormorant:'Cormorant Garamond';\n\n// $font-family-sans-serif: 'Nunito', sans-serif;\n// $font-size-base: 0.9rem;\n// $line-height-base: 1.6;\n\n// Colors\n$theme-color-main: #7EADD6;\n$theme-font-color: #272A4A;\n\n\n$theme-color: #6161FF;\n$theme-color-02: #8A288F;\n\n@mixin media-breakpoint-up-xl {\n    @media screen and (min-width: 1250px) {\n        @content;\n    }\n}\n@mixin size1199 {\n    @media (max-width: 1199px) {\n        @content;\n    }\n}\n\n@mixin size991 {\n    @media (max-width: 991px) {\n        @content;\n    }\n}\n\n@mixin size767 {\n    @media (max-width: 767px) {\n        @content;\n    }\n}\n\n@mixin size575 {\n    @media (max-width: 575px) {\n        @content;\n    }\n}\n@mixin size420 {\n    @media (max-width: 420px) {\n        @content;\n    }\n}\n\n@mixin size320 {\n    @media (max-width: 320px) {\n        @content;\n    }\n}\n\n"
  },
  {
    "path": "resources/sass/app.scss",
    "content": "// Fonts\n// @import url('https://fonts.googleapis.com/css?family=Nunito');\n\n// Variables\n@import 'variables';\n\n// Bootstrap\n@import '~bootstrap/scss/bootstrap';\n\nbody{\n    font-family: $font-family-circular-std;\n    background: $body-bg;\n    height: 100%;\n    -webkit-font-smoothing: antialiased;\n    min-height: 100vh;\n    flex-direction: column;\n    overflow-x: hidden;\n    text-rendering: optimizeLegibility !important;\n    -webkit-font-smoothing: antialiased !important;\n    -moz-osx-font-smoothing: grayscale;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\na,\nul {\n    margin: 0;\n    padding: 0;\n    line-height: normal;\n    list-style-type: none;\n}\na{\n    text-decoration: none !important;\n    list-style-type: none !important;\n    transition: all 0.3s ease-in-out;\n    &:hover{\n        opacity: 0.7;\n    }\n}\n[type=\"reset\"],\n[type=\"submit\"],\nbutton,\nhtml [type=\"button\"] {\n    -webkit-appearance: inherit;\n}\n\nimg {\n    width: 100%;\n}\n.container{\n    @include media-breakpoint-up-xl{\n        width: 1250px;\n        max-width: 100%;\n    }\n}\n// common css files //\n.vendi-project-title-main{\n    font-size: 30px;\n    font-weight: 400;\n    color: $theme-font-color;\n    line-height: 45px;\n    @include size991{\n        font-size: 24px;\n        line-height: 35px;\n    }\n    @include size767{\n        font-size: 18px;\n        line-height: 30px;\n    }\n}\n.vendi-page-title-main{\n    font-size: 45px;\n    font-weight: 400;\n    color: $theme-font-color;\n    line-height: 45px;\n    @include size991{\n        font-size: 36px;\n        line-height: 35px;\n    }\n    @include size767{\n        font-size: 27px;\n        line-height: 30px;\n    }\n}\n// common css files //"
  },
  {
    "path": "resources/views/admin/auth/login.blade.php",
    "content": "@extends('admin.layouts.app')\n\n@section('content')\n<section class=\"wag-login-page\">\n    <div class=\"row\">\n        <div class=\"col-sm-8 offset-sm-2 col-md-8 offset-md-2 col-lg-4 offset-lg-4\">\n            <div class=\"wag-admin-login-page\">\n                <div class=\"wag-admin-login-details-block\">\n                    <h2>Wag Enabled</h2>\n                    <h3>Welcome back, Admin</h3>\n                    <p class=\"lead\">\n                        Sign in to your account to continue\n                    </p>\n                    @if (Session::get('error'))\n                        <span class=\"text-danger\">{{ Session::get('error') }}</span>\n                    @endif\n                </div>\n                <form class=\"\" method=\"POST\" action=\"{{ url('admin/login') }}\" id=\"loginForm\">\n                    @csrf\n                    <div class=\"form-group {{ $errors->has('email') ? ' has-error' : '' }}\">\n                        <label>Email</label>\n                        {{Form::text(\"email\", null, [\"class\" => \"form-control form-control-lg\", \"placeholder\" => \"Enter your email\"])}}\n                        @if ($errors->has('email'))\n                            <span class=\"text-danger\">\n                                <strong>{{ $errors->first('email') }}</strong>\n                            </span>\n                        @endif\n                    </div>\n                    <div class=\"form-group {{ $errors->has('password') ? ' has-error' : '' }}\">\n                        <label>Password</label>\n                        {{Form::password(\"password\", [\"class\" => \"form-control form-control-lg\", \"placeholder\" => \"Enter your password\"])}}\n                        @if ($errors->has('password'))\n                            <span class=\"text-danger\">\n                                <strong>{{ $errors->first('password') }}</strong>\n                            </span>\n                        @endif\n                    </div>\n                    <div class=\"\">\n                        <button type=\"submit\" class=\"wag-admin-btns-sign\">Sign in</button>\n                    </div>\n                </form>\n            </div>\n        </div>\n    </div>\n</section>\n\n@endsection\n"
  },
  {
    "path": "resources/views/admin/includes/custom.blade.php",
    "content": "    <script>\n\n        toastr.options = {\n            closeButton: true,\n            progressBar: true,\n            showMethod: 'slideDown',\n            timeOut: 5000\n        };\n\n        @if(\\Session::has('error'))\n            toastr.error('{!! str_replace(\"'\", \" \", \\Session::get('error')) !!}', 'Error');\n        @endif\n        @if(\\Session::has('success'))\n            toastr.success('{!! \\Session::get('success') !!}', 'Success');\n        @endif\n\n        window.Laravel = <?php echo json_encode([\n            'csrfToken' => csrf_token(),\n        ]); ?>\n\n        function deleteRecordByAjax(deleteUrl, moduleName, dataTablesName) {\n            var deleteAlertStr = \"You want to delete \"+moduleName.toLowerCase()+\"?\";\n\n            swal({\n                    title: \"Are you sure?\",\n                    text: deleteAlertStr,\n                    type: \"warning\",\n                    showCancelButton: true,\n                    confirmButtonColor: \"#DD6B55\",\n                    confirmButtonText: \"Yes, remove it!\",\n                    cancelButtonText: \"No, cancel!\",\n                    showLoaderOnConfirm: true,\n                    allowOutsideClick:false,\n                    allowEscapeKey:false,\n                    preConfirm: function (email) {\n                        return new Promise(function (resolve, reject) {\n                            setTimeout(function() {\n                                jQuery.ajax({\n                                    url: deleteUrl,\n                                    type: 'DELETE',\n                                    dataType: 'json',\n                                    data: {\n                                        \"_token\": window.Laravel.csrfToken\n                                    },\n                                    success: function (result) {\n                                        if( dataTablesName ) {\n                                            dataTablesName.draw();\n                                        } else {\n                                            location.reload(true); \n                                        }\n                                        swal(\"success!\", moduleName+\" deleted.\", \"success\");\n                                        fnToastSuccess(result.message);\n                                    },\n                                    error: function (xhr, status, error) {\n                                        if(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n                                            swal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n                                        } else {\n                                            swal(\"ohh snap!\", \"Something went wrong\", \"error\");\n                                        }\n                                        ajaxError(xhr, status, error);\n                                    }\n                                });\n                            }, 0)\n                        })\n                    },\n                }).then(function(json_data) {\n                }, function(dismiss) {});\n        }\n\n        function changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, submitForm = false, redirectURL) {\n\n            swal({\n                    title: title,\n                    text: text,\n                    type: \"warning\",\n                    showCancelButton: true,\n                    confirmButtonColor: \"#DD6B55\",\n                    confirmButtonText: \"Confirm\",\n                    cancelButtonText: \"Cancel\",\n                    showLoaderOnConfirm: true,\n                    allowOutsideClick:false,\n                    allowEscapeKey:false,\n                    preConfirm: function (email) {\n                        return new Promise(function (resolve, reject) {\n                            setTimeout(function() {\n                                jQuery.ajax({\n                                    url: eventURL,\n                                    type: method,\n                                    dataType: 'json',\n                                    data: {\n                                        \"_token\": window.Laravel.csrfToken,\n                                    },\n                                    success: function (result) {                                          \n                                        fnToastSuccess(successMessage);\n                                        setTimeout(() => {                                        \n                                            if( submitForm ){\n                                                $(\"#form_validate\").submit();                                                \n                                            } else {\n                                                window.location.replace(redirectURL);\n                                            }\n                                        }, 1000);\n                                    },\n                                    error: function (xhr, status, error) {\n                                        $(location).attr(\"{!! url('admin/watch-and-learn');  !!}\");\n                                        if(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n                                            swal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n                                        } else {\n                                            swal(\"ohh snap!\", \"Something went wrong\", \"error\");\n                                        }\n                                        ajaxError(xhr, status, error);\n                                    }\n                                });\n                            }, 0)\n                        })\n                    },\n                }).then(function(json_data) {\n                }, function(dismiss) {});\n        }\n\n        function suspendRecordByAjax(suspendUrl, moduleName, dataTablesName, id) {\n            var suspendAlertStr = \"You want to suspend \"+moduleName+\"?\";\n\n            swal({\n                    title: \"Are you sure?\",\n                    text: suspendAlertStr,\n                    type: \"warning\",\n                    showCancelButton: true,\n                    confirmButtonColor: \"#DD6B55\",\n                    confirmButtonText: \"Yes, Suspend it!\",\n                    cancelButtonText: \"No, cancel!\",\n                    showLoaderOnConfirm: true,\n                    allowOutsideClick:false,\n                    allowEscapeKey:false,\n                    preConfirm: function (email) {\n                        return new Promise(function (resolve, reject) {\n                            setTimeout(function() {\n                                jQuery.ajax({\n                                    url: suspendUrl,\n                                    type: 'post',\n                                    dataType: 'json',\n                                    data: {\n                                        \"_token\": window.Laravel.csrfToken,\n                                        id: id\n                                    },\n                                    success: function (result) {\n                                        dataTablesName.draw();\n                                        swal(\"success!\", moduleName+\" Suspend successfully.\", \"success\");\n                                        fnToastSuccess(result.message);\n                                    },\n                                    error: function (xhr, status, error) {\n                                        if(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n                                            swal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n                                        } else {\n                                            swal(\"ohh snap!\", \"Something went wrong\", \"error\");\n                                        }\n                                        ajaxError(xhr, status, error);\n                                    }\n                                });\n                            }, 0)\n                        })\n                    },\n                }).then(function(json_data) {\n                }, function(dismiss) {});\n        }\n\n        function changeStatusRecordByAjax(url, moduleName, dataTablesName, id, status) {\n            var suspendAlertStr = \"Do you want to change this \"+moduleName+\"'s status?\";\n\n            swal({\n                    title: \"Are you sure?\",\n                    text: suspendAlertStr,\n                    type: \"warning\",\n                    showCancelButton: true,\n                    confirmButtonColor: \"#DD6B55\",\n                    confirmButtonText: \"Yes, change the status!\",\n                    cancelButtonText: \"No, cancel!\",\n                    showLoaderOnConfirm: true,\n                    allowOutsideClick:false,\n                    allowEscapeKey:false,\n                    preConfirm: function (email) {\n                        return new Promise(function (resolve, reject) {\n                            setTimeout(function() {\n                                jQuery.ajax({\n                                    url: url,\n                                    type: 'post',\n                                    dataType: 'json',\n                                    data: {\n                                        \"_token\": window.Laravel.csrfToken,\n                                        id: id,\n                                        status: status\n                                    },\n                                    success: function (result) {\n                                        dataTablesName.draw();\n                                        swal(\"success!\", moduleName+\"'s status changed successfully.\", \"success\");\n                                        fnToastSuccess(result.message);\n                                    },\n                                    error: function (xhr, status, error) {\n                                        if(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n                                            swal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n                                        } else {\n                                            swal(\"ohh snap!\", \"Something went wrong\", \"error\");\n                                        }\n                                        ajaxError(xhr, status, error);\n                                    }\n                                });\n                            }, 0)\n                        })\n                    },\n                }).then(function(json_data) {\n                }, function(dismiss) {});\n        }\n\n        function toggleStatusRecordByAjax(Url, dataTablesName) {\n            var activeAlertStr = \"You want to change status?\";\n\n            swal({\n                    title: \"Are you sure?\",\n                    text: activeAlertStr,\n                    type: \"warning\",\n                    showCancelButton: true,\n                    confirmButtonColor: \"#DD6B55\",\n                    confirmButtonText: \"Yes, Change it!\",\n                    cancelButtonText: \"No, cancel!\",\n                    showLoaderOnConfirm: true,\n                    allowOutsideClick:false,\n                    allowEscapeKey:false,\n                    preConfirm: function (email) {\n                        return new Promise(function (resolve, reject) {\n                            setTimeout(function() {\n                                jQuery.ajax({\n                                    url: Url,\n                                    type: 'post',\n                                    dataType: 'json',\n                                    data: {\n                                        \"_token\": window.Laravel.csrfToken,                                        \n                                    },\n                                    success: function (result) {\n                                        dataTablesName.draw();\n                                       swal(\"success!\", \"Change status successfully.\", \"success\");\n                                        fnToastSuccess(result.message);\n                                    },\n                                    error: function (xhr, status, error) {\n                                        if(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n                                            swal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n                                        } else {\n                                            swal(\"ohh snap!\", \"Something went wrong\", \"error\");\n                                        }\n                                        ajaxError(xhr, status, error);\n                                    }\n                                });\n                            }, 0)\n                        })\n                    },\n                }).then(function(json_data) {\n                }, function(dismiss) {});\n        }\n\n        function fnToastSuccess(message) {\n            toastr.options = {\n                closeButton: true,\n                progressBar: true,\n                showMethod: 'slideDown',\n                timeOut: 4000\n            };\n            toastr.success(message);\n        }\n\n        function fnToastError(message) {\n            toastr.options = {\n                closeButton: true,\n                progressBar: true,\n                showMethod: 'slideDown',\n                timeOut: 4000\n            };\n            toastr.error(message);\n        }\n\n        function ajaxError(xhr, status, error) {\n            if(xhr.status ==401){\n                fnToastError(\"You are not logged in. please login and try again\");\n            }else if(xhr.status == 403){\n                fnToastError(\"You have not permission for perform this operations\");\n            }else if(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n                fnToastError(xhr.responseJSON.message);\n            }else{\n                fnToastError(\"Something went wrong , Please try again later.\");\n            }\n        }\n\n        $(\".change-image-track\").change(function(){\n            displayImageOnFileSelect(this, $('.changed-image-preview'));\n        });\n\n        function displayImageOnFileSelect(input, thumbElement) {\n            if (input.files && input.files[0]) {\n                var reader = new FileReader();\n\n                reader.onload = function (e) {\n                    $(thumbElement).attr('src', e.target.result);\n                }\n\n                reader.readAsDataURL(input.files[0]);\n            }\n        }\n\n        function nl2br (str, is_xhtml) {\n            var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';\n            return (str + '').replace(/([^>\\r\\n]?)(\\r\\n|\\n\\r|\\r|\\n)/g, '$1' + breakTag + '$2');\n        }\n\n        function convertToSlug(Text)\n{\n            return Text\n                .toLowerCase()\n                .replace(/ /g,'-')\n                .replace(/[^\\w-]+/g,'')\n                ;\n        }\n\n        function simpleLoad(btn, state,button_text) {\n            button_text=typeof button_text==undefined?'Save':button_text;\n            if (state) {\n                    btn.children().first().addClass('fa fa-spinner fa-spin');\n                    btn.contents().last().replaceWith(\" Loading\");\n                    btn.prop('disabled',true);\n            } else {\n                btn.children().first().removeClass('fa fa-spinner fa-spin');\n                btn.contents().last().replaceWith(button_text);\n                btn.prop('disabled',false);\n            }\n        }\n\n        var _URL = window.URL || window.webkitURL;\n        $(\"input:file\").change(function(){\n            $(this).parents('.form-group').find($('.img-thumbnail')).css(\"display\", 'block');\n            displayImageOnFileSelect(this, $(this).parents('.form-group').find($('.img-thumbnail')));\n\n            isValidImageSize = 1;\n            var file, img;\n            if ((file = this.files[0])) {\n                img = new Image();\n                img.onload = function () {\n                    if(this.height != '572' || this.width != '1102') {\n                        isValidImageSize = 0;\n                    }\n                };\n                img.src = _URL.createObjectURL(file);\n            }\n        });\n\n        function htmlDecode(input){\n          var e = document.createElement('div');\n          e.innerHTML = input;\n          return e.childNodes.length === 0 ? \"\" : e.childNodes[0].nodeValue;\n        }\n    </script>"
  },
  {
    "path": "resources/views/admin/includes/footer.blade.php",
    "content": "<footer class=\"footer d-none\">\n    <div class=\"container-fluid\">\n        <div class=\"row text-muted\">\n            <div class=\"col-6 text-left\">\n                <ul class=\"list-inline\">\n                    <li class=\"list-inline-item\">\n                        <a class=\"text-muted\" href=\"#\">Support</a>\n                    </li>\n                    <li class=\"list-inline-item\">\n                        <a class=\"text-muted\" href=\"#\">Help Center</a>\n                    </li>\n                </ul>\n            </div>\n            <div class=\"col-6 text-right\">\n                <p class=\"mb-0\">\n                    &copy; {{date('Y')}} - <a href=\"{{url(\"/admin\")}}\" class=\"text-muted\">{{ config(\"app.name\") }}</a>\n                </p>\n            </div>\n        </div>\n    </div>\n</footer>"
  },
  {
    "path": "resources/views/admin/includes/sidebar.blade.php",
    "content": "<?php\n\n    $routes = array();\n    function setActiveMenu($route)\n    {   if( $route == 'admin' ) {\n          return (Request::is($route) || Request::is($route)) ? 'active' : '';\n        }\n        return (Request::is($route) || Request::is($route.'/*')) ? 'active' : '';\n    }\n\n    function setOpenSubMenu($route)\n    {\n        return (Request::is($route) || Request::is($route.'/*')) ? 'open' : '';\n    }\n\n?>\n\n<nav class=\"sidebar sidebar-collapsed\">\n    <div class=\"sidebar-content \">\n        <a class=\"sidebar-brand\" href=\"{{ url(\"admin\") }}\">\n           <img src=\"{{ asset('admin-theme/images/wag-header-bar-logo-white.svg') }}\" alt=\"Wag Enabled\" />\n            {{-- Wag Enabled --}}\n        </a>\n        <ul class=\"sidebar-nav\">\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin') }}\">\n                    <span class=\"align-middle\">Dashboard</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/users') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/users') }}\">\n                    <span class=\"align-middle\">Users</span>\n                </a>\n            </li>\n            <li class=\"sidebar-item {{ setActiveMenu('admin/pet-type') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/pet-type') }}\">\n                    <span class=\"align-middle\">Pet Type</span>\n                </a>\n            </li>\n            <li class=\"sidebar-item {{ setActiveMenu('admin/pet-pro-business') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/pet-pro-business') }}\">\n                    <span class=\"align-middle\">Pet Pro Business Nature</span>\n                </a>\n            </li>\n            <li class=\"sidebar-item {{ setActiveMenu('admin/pet-pro-categories') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/pet-pro-categories') }}\">\n                    <span class=\"align-middle\">Pet Pro Categories</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/pet-pros') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/pet-pros') }}\">\n                    <span class=\"align-middle\">Pet Pros</span>\n                </a>\n            </li>\n            \n            <li class=\"sidebar-item {{ setActiveMenu('admin/pet-pros-request') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/pet-pros-request') }}\">\n                    <span class=\"align-middle\">Pet Pros Request</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/product-review-categories') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/product-review-categories') }}\">\n                    <span class=\"align-middle\">Product Review Categories</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/product-reviews') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/product-reviews') }}\">\n                    <span class=\"align-middle\">Product Reviews</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/watch-and-learn-categories') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/watch-and-learn-categories') }}\">\n                    <span class=\"align-middle\">Watch And Learn Categories</span>\n                </a>\n            </li>            \n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/watch-and-learn') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/watch-and-learn') }}\">\n                    <span class=\"align-middle\">Watch And Learn</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/watch-and-learn-author') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/watch-and-learn-author') }}\">\n                    <span class=\"align-middle\">Authors</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/watch-and-learn-medias') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/watch-and-learn-medias') }}\">\n                    <span class=\"align-middle\">Medias</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/contacts') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/contacts') }}\">\n                    <span class=\"align-middle\">Contacts</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/business-requests') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/business-requests') }}\">\n                    <span class=\"align-middle\">Business Requests</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/newsletters') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/newsletters') }}\">\n                    <span class=\"align-middle\">Newsletters</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/admin-users') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/admin-users') }}\">\n                    <span class=\"align-middle\">Admin Users</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item {{ setActiveMenu('admin/testimonial') }}\">\n                <a class=\"sidebar-link\" href=\"{{ url('admin/testimonial') }}\">\n                    <span class=\"align-middle\">Testimonial</span>\n                </a>\n            </li>\n\n            <li class=\"sidebar-item\">\n                <a class=\"sidebar-link\" href=\"javascript:void(0);\" onclick=\"event.preventDefault(); document.getElementById('topbar-logout-form').submit();\">Sign out</a>\n                <form id=\"topbar-logout-form\" action=\"{{ url('admin/logout') }}\" method=\"POST\" style=\"display: none;\">\n                    {{ csrf_field() }}\n                </form>\n            </li>\n        </ul>\n    </div>\n</nav>"
  },
  {
    "path": "resources/views/admin/includes/topbar.blade.php",
    "content": "<nav class=\"navbar navbar-expand navbar-light bg-white\">\n    <a class=\"sidebar-toggle d-flex mr-2\">\n      <i class=\"hamburger align-self-center\"></i>\n    </a>\n\n    <form class=\"form-inline d-none\">\n        <input class=\"form-control form-control-no-border mr-sm-2\" type=\"text\" placeholder=\"Search\" aria-label=\"Search\">\n    </form>\n\n    <div class=\"navbar-collapse collapse\">\n        <ul class=\"navbar-nav ml-auto\">\n            <li class=\"nav-item dropdown\">\n                <a class=\"nav-icon dropdown-toggle d-inline-block d-sm-none\" href=\"#\" data-toggle=\"dropdown\">\n                    <i class=\"align-middle\" data-feather=\"settings\"></i>\n                </a>\n\n                <a class=\"nav-link dropdown-toggle d-none d-sm-inline-block\" href=\"#\" data-toggle=\"dropdown\">\n                    <span class=\"text-dark\">Admin</span>\n                </a>\n\n                <div class=\"dropdown-menu dropdown-menu-right\">\n                    <a class=\"dropdown-item\" href=\"javascript:void(0);\" onclick=\"event.preventDefault(); document.getElementById('topbar-logout-form').submit();\">Sign out</a>\n                    <form id=\"topbar-logout-form\" action=\"{{ url('admin/logout') }}\" method=\"POST\" style=\"display: none;\">\n                        {{ csrf_field() }}\n                    </form>\n                </div>\n            </li>\n        </ul>\n    </div>\n</nav>"
  },
  {
    "path": "resources/views/admin/layouts/admin.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"{{ str_replace('_', '-', app()->getLocale()) }}\">\n\n\n<!-- Added by HTTrack --><meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\" /><!-- /Added by HTTrack -->\n<head>\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n    <meta name=\"description\" content=\"Wag Enabled\">\n    <meta name=\"author\" content=\"Wag Enabled\">\n\n    @stack(\"meta-tags\")\n\n    <!-- favicon icon -->\n    <link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"{{asset('images/favicons/apple-icon-57x57.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"{{asset('images/favicons/apple-icon-60x60.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"{{asset('images/favicons/apple-icon-72x72.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"{{asset('images/favicons/apple-icon-76x76.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"{{asset('images/favicons/apple-icon-114x114.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"{{asset('images/favicons/apple-icon-120x120.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"{{asset('images/favicons/apple-icon-144x144.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"{{asset('images/favicons/apple-icon-152x152.png')}}\">\n   <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"{{asset('images/favicons/apple-icon-180x180.png')}}\">\n   <link rel=\"icon\" type=\"image/png\" sizes=\"192x192\"  href=\"{{asset('images/favicons/android-icon-192x192.png')}}\">\n   <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"{{asset('images/favicons/favicon-32x32.png')}}\">\n   <link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"{{asset('images/favicons/favicon-96x96.png')}}\">\n   <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"{{asset('images/favicons/favicon-16x16.png')}}\">\n   <link rel=\"manifest\" href=\"{{asset('images/favicons/manifest.json')}}\">\n   <meta name=\"msapplication-TileColor\" content=\"#ffffff\">\n   <meta name=\"msapplication-TileImage\" content=\"{{asset('images/favicons/ms-icon-144x144.png')}}\">\n   <meta name=\"theme-color\" content=\"#ffffff\">\n    <!-- end favicon icon -->\n\n    <!-- Admin theme Css Files -->\n    <link href=\"{{ asset('admin-theme/fonts/stylesheet.css') }}\" rel=\"stylesheet\">\n    <link href=\"{{ asset('admin-theme/css/classic.css') }}\" rel=\"stylesheet\">\n    <link href=\"{{ asset('admin-theme/css/admin-style.css').\"?version=\". env(\"APP_CSS_VERSION\", 1) }}\" rel=\"stylesheet\">\n    <!-- font-awesome -->\n    <link href=\"{{ asset('plugins/font-awesome/css/font-awesome.css') }}\" rel=\"stylesheet\">\n\n    <!-- Toastr style -->\n    <link href=\"{{ asset('plugins/toastr/toastr.min.css') }}\" rel=\"stylesheet\">\n\n    @if(isset($isIndexPage))\n        {{-- sweetalert2 --}}\n        <link href=\"{{ asset('plugins/sweetalert2/sweetalert2.min.css') }}\" rel=\"stylesheet\">\n    @endif\n\n    @stack(\"styles\")\n    <style>\n        body {\n            opacity: 0;\n        }\n        textarea{\n            resize: none;\n        }\n    </style>\n\n    <!-- Theme Settings bar -->\n    <!-- <script src=\"{{ asset('admin-theme/js/settings.js') }}\"></script> -->\n\n</head>\n\n<body class=\"hs-admin\">\n    <div class=\"wrapper\">\n\n        <!-- Sidebar -->\n        @include(\"admin.includes.sidebar\")\n\n        <div class=\"main gc-main\">\n\n            <!-- Topbar -->\n           <!--  @include(\"admin.includes.topbar\") -->\n\n            <main class=\"content gc-content\">\n                <div class=\"container-fluid\">\n                      @yield('content')\n                </div>\n            </main>\n\n            <!-- Footer -->\n            @include(\"admin.includes.footer\")\n        </div>\n    </div>\n\n    <!-- Admin theme JS Files -->\n    <script src=\"{{ asset(\"admin-theme/js/app.js\") }}\"></script>\n\n    <!-- Toastr -->\n    <script src=\"{{ asset('plugins/toastr/toastr.min.js') }}\"></script>\n\n    @if(isset($isIndexPage))\n        {{-- Sweetalert2 --}}\n        <script src=\"{{ asset('plugins/sweetalert2/es6-promise.auto.min.js') }} \"></script> <!-- for IE support -->\n        <script src=\"{{ asset('plugins/sweetalert2/sweetalert2.min.js') }} \"></script>\n    @endif\n\n    @include(\"admin.includes.custom\")\n\n    @stack(\"scripts\")\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/admin/layouts/app.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n\n    <meta charset=\"utf-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, shrink-to-fit=no\">\n    <meta name=\"description\" content=\"Wag Enabled\">\n    <meta name=\"author\" content=\"Wag Enabled\">\n\n    <title>{{ config('app.name', 'Wag Enabled') }} | Admin</title>\n\n    <!-- favicon icon -->\n    <link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"{{asset('images/favicons/apple-icon-57x57.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"{{asset('images/favicons/apple-icon-60x60.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"{{asset('images/favicons/apple-icon-72x72.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"{{asset('images/favicons/apple-icon-76x76.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"{{asset('images/favicons/apple-icon-114x114.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"{{asset('images/favicons/apple-icon-120x120.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"{{asset('images/favicons/apple-icon-144x144.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"{{asset('images/favicons/apple-icon-152x152.png')}}\">\n    <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"{{asset('images/favicons/apple-icon-180x180.png')}}\">\n    <link rel=\"icon\" type=\"image/png\" sizes=\"192x192\"  href=\"{{asset('images/favicons/android-icon-192x192.png')}}\">\n    <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"{{asset('images/favicons/favicon-32x32.png')}}\">\n    <link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"{{asset('images/favicons/favicon-96x96.png')}}\">\n    <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"{{asset('images/favicons/favicon-16x16.png')}}\">\n    <link rel=\"manifest\" href=\"{{asset('images/favicons/manifest.json')}}\">\n    <meta name=\"msapplication-TileColor\" content=\"#ffffff\">\n    <meta name=\"msapplication-TileImage\" content=\"{{asset('images/favicons/ms-icon-144x144.png')}}\">\n    <meta name=\"theme-color\" content=\"#ffffff\"> \n    <!-- end favicon icon -->\n    \n    <!-- CSRF Token -->\n    <meta name=\"csrf-token\" content=\"{{ csrf_token() }}\">\n\n    <!-- Admin theme Css Files -->\n    <link href=\"{{ asset('admin-theme/css/classic.css') }}\" rel=\"stylesheet\">\n    <link href=\"{{ asset('admin-theme/css/admin-style.css').\"?version=\". env(\"APP_CSS_VERSION\", 1) }}\" rel=\"stylesheet\">\n\n    <!-- Toastr style -->\n    <link href=\"{{ asset('plugins/toastr/toastr.min.css') }}\" rel=\"stylesheet\">\n\n    <!-- BEGIN SETTINGS -->\n    <!-- You can remove this after picking a style -->\n    <style>\n        body {\n            opacity: 0;\n        }\n    </style>\n    <!-- END SETTINGS -->\n</head>\n\n<body>\n    <main class=\"main admin-login-page\">\n        <div class=\"container\">\n            @yield('content')\n        </div>\n    </main>\n\n    <script src=\"{{ asset(\"admin-theme/js/app.js\") }}\"></script>\n\n    <!-- Toastr -->\n    <script src=\"{{ asset('plugins/toastr/toastr.min.js') }}\"></script>\n    @stack(\"scripts\")\n</body>\n\n</html>"
  },
  {
    "path": "resources/views/admin/main/admin-users/_form.blade.php",
    "content": "@push(\"styles\")\n{{-- <style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style> --}}\n@endpush\n\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>Email</label>\n            {{ Form::email('email', null, ['id' => 'email', 'class'=>\"form-control\"]) }}\n            @if($errors->has('email'))\n                <p class=\"text-danger\">{{ $errors->first('email') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>Password</label>\n            {{ Form::password('password', ['id' => 'password', 'class'=>\"form-control\"]) }}\n            @if($errors->has('password'))\n                <p class=\"text-danger\">{{ $errors->first('password') }}</p>\n            @endif\n        </div>\n        <!-- <div class=\"form-group\">\n            <label>Phone Number</label>\n            {{ Form::text('phone_number', null, ['id' => 'phone_number', 'class'=>\"form-control\"]) }}\n            @if($errors->has('phone_number'))\n                <p class=\"text-danger\">{{ $errors->first('phone_number') }}</p>\n            @endif\n        </div> -->\n    </div>\n</div>\n\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n                email: {\n                    required: true,\n                    email: true\n                },\n                /*phone_number: {\n                    required: true\n                },*/\n                password: {\n                    required:  function() {\n                        @if(isset($result))\n                            return false;\n                        @endif\n                        return true;\n                    },\n                    minlength: 6\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/admin-users/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>Name</th>\n                    <th>Email</th>\n                    <!-- <th>Phone</th> -->\n                    <th>Date Added</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            \"searching\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            bInfo : false,\n            stateSave: false,\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'email', name: 'email'},\n                /*{ data: 'phone_number', name: 'phone_number'},*/\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            if(  o.supper_admin == '0' ) {\n                                btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n                            }\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/business-requests/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n    </div>\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>First Name</th>\n                    <th>Last Name</th>\n                    <th>Business Name</th>\n                    <th>Contact Email</th>\n                    <th>Message</th>\n                    <th>Date</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n</section>\n\n\n\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'first_name', name: 'first_name',className:'user-name-details'},\n                { data: 'last_name', name: 'last_name',className:'user-name-details'},\n                { data: 'business_name', name: 'business_name',className:'user-name-details'},\n                { data: 'contact_email', name: 'contact_email'},\n                { data: 'message', name: 'message'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"' title='Show'><i class='fa fa-file-icon'></i></a>\";\n                        btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush"
  },
  {
    "path": "resources/views/admin/main/business-requests/show.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n            \n        </div>\n    </div>\n    <div class=\"wag-profile-details-block-main\">\n        <div class=\"wag-profile-details\">\n            <div class=\"wag-profile-pic-details\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main mt-3 mb-3\">{{  $module_name }}</h1>\n                @endif\n\n                <div class=\"wag-profile-name-details\">\n                    <label>First Name</label>\n                    <p>{{ $result->first_name }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Last Name</label>\n                    <p>{{ $result->last_name }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Business Name</label>\n                    <p>{{ $result->business_name }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Contact Email</label>\n                    <p>{{ $result->contact_email }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Message</label>\n                    <p>{{ $result->message }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Date</label>\n                    <p>{{ $result->formated_created_at }}</p>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/contacts/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\">\n            <thead>\n                <tr>\n                    <th>Name</th>\n                    <th>Email</th>\n                    <th>Message</th>\n                    <th>Date</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'email', name: 'email'},\n                { data: 'message', name: 'message'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    className: 'text-right',\n                    targets: 0,\n                    width: 70,\n                    render:function(o){\n                        var btnStr = \"\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"' title='Show'><i class='fa fa-file-icon'></i></a>\";\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/contacts/show.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n           \n        </div>\n    </div>\n    <div class=\"wag-profile-details-block-main\">\n        <div class=\"wag-profile-details\">\n            <div class=\"wag-profile-pic-details\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main mt-3 mb-3\">{{  $module_name }}</h1>\n            @endif\n\n                <div class=\"wag-profile-name-details\">\n                    <label>Name</label>\n                    <p>{{ $result->name }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Email</label>\n                    <p>{{ $result->email }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Message</label>\n                    <p>{{ $result->message }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Date</label>\n                    <p>{{ $result->formated_created_at }}</p>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n@endsection\n\n@push(\"scripts\")\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/dashboard.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push('styles')\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/chart-js/Chart.min.css') }}\">\n    <link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/daterangepicker/daterangepicker.css') }}\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | Dashboard</title>\n@endpush\n\n@section('content')\n   \t<section class=\"wag-admin-plan-main-cover-section\">\n        <div class=\"row wag-member-block-main\">\n            <div class=\"col-sm-6 col-md-4\">\n                <div class=\"wag-member-details-block-main\">\n                    <h2>{{ number_format($users_count) }}</h2>\n                    <p>Users</p>\n                </div>\n            </div>\n            <div class=\"col-sm-6 col-md-4\">\n                <div class=\"wag-member-details-block-main\">\n                    <h2>{{ number_format($pet_pros_count) }}</h2>\n                    <p>Pet Pros</p>\n                </div>\n            </div>\n            <div class=\"col-sm-6 col-md-4\">\n                <div class=\"wag-member-details-block-main\">\n                    <h2>{{ number_format($pet_pro_deals_count) }}</h2>\n                    <p>Deals <small>(Pet Pros)</small></p>\n                </div>\n            </div>\n            <div class=\"col-sm-6 col-md-4\">\n                <div class=\"wag-member-details-block-main\">\n                    <h2>{{ number_format($pet_pro_deal_claimed_count) }}</h2>\n                    <p>Deals Claimed <small>(Pet Pros)</small></p>\n                </div>\n            </div>\n            <div class=\"col-sm-6 col-md-4\">\n                <div class=\"wag-member-details-block-main\">\n                    <h2>{{ number_format($watch_and_learn_deals_count) }}</h2>\n                    <p>Deals <small>(Product Reviews)</small></p>\n                </div>\n            </div>\n            <div class=\"col-sm-6 col-md-4\">\n                <div class=\"wag-member-details-block-main\">\n                    <h2>{{ number_format($watch_and_learn_deal_claimed_count) }}</h2>\n                    <p>Deals Claimed <small>(Product Reviews)</small></p>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"wag-page-main-header-bar\">\n            <div class=\"wag-title-bar-main\">\n                <h1 class=\"wag-admin-page-title-main\">New Users</h1>\n            </div>\n\n            <div class=\"wag-title-and-nemu-block-main\">\n                <input type=\"text\" value=\"{{ $monthStart }} - {{ $monthEnd }}\" name=\"datetimes\" id=\"graph_duration\" />\n            </div>\n        </div>\n\n        <div class=\"wag-graph-main\">\n            <div id=\"graph_duration_user_graph\">\n                <div class=\"ibox-content\">\n                    <iframe class=\"chartjs-hidden-iframe\" style=\"width: 100%; display: block; border: 0px; height: 0px; margin: 0px; position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px;\"></iframe>\n                    <canvas id=\"lineChartMonthly\" height=\"206\" width=\"443\" style=\"display: block; width: 443px; height: 206px;\"></canvas>\n                </div>\n            </div>\n        </div>\n\n\n    </section>\n@endsection\n\n@push(\"scripts\")\n\t<script src=\"{{ asset('plugins/chart-js/Chart.min.js') }}\"></script>\n  <script src=\"{{ asset('plugins/daterangepicker/daterangepicker.min.js') }}\"></script>       \n\t<script type=\"text/javascript\">\n\n\t    $(document).ready(function() {\n            $('#graph_duration').daterangepicker();\n\n\t    \tvar ctx = document.getElementById(\"lineChartMonthly\").getContext(\"2d\");\n\t    \tvar graph_key, graph_value;\n\t    \tvar myChart;\n\n\t    \t$.ajax({\n\t    \t    url:  \"{{ url('admin/get-users-graph-data') }}\",\n\t    \t    type: \"get\",\n\t    \t    data: {\n                    monthStart: \"{{ $monthStart }}\",\n                    monthEnd: \"{{ $monthEnd }}\"\n                },\n\t    \t    success: function(data){\n    \t      \t\tgraph_key = data.data[\"graph_key\"];\n    \t      \t\tgraph_value = data.data[\"graph_value\"];\n\n      \t\t\t\tvar lineData = {\n      \t\t\t\t    labels: graph_key,\n      \t\t\t\t    datasets: [\n      \t\t\t\t        {\n      \t\t\t\t            label: 'New Users',\n      \t\t\t\t            backgroundColor: 'rgba(97,97,255,1)',\n      \t\t\t\t            borderColor: 'rgba(97,97,255,1)',\n      \t\t\t\t            pointBackgroundColor: \"rgba(97,97,255,)\",\n      \t\t\t\t            pointBorderColor: \"#fff\",\n      \t\t\t\t            data: graph_value,\n      \t\t\t\t        }\n      \t\t\t\t    ]\n      \t\t\t\t};\n\n      \t\t\t\tvar Options = {\n      \t\t    \t\tresponsive: true,\n  \t\t       \t\t\tmaintainAspectRatio:false,\n  \t\t       \t\t    scales: {\n                            xAxes: [{\n                                gridLines: {\n                                    display:false\n                                }\n                            }],\n  \t\t       \t\t        yAxes: [{\n  \t\t       \t\t            ticks: {\n  \t\t       \t\t                beginAtZero: true,\n  \t\t       \t\t                callback: function(value) {if (value % 1   === 0) {return value;}}\n  \t\t       \t\t            },\n  \t\t       \t\t        }]\n  \t\t       \t\t    }\n      \t\t\t\t};\n      \t\t\t\tmyChart = new Chart(ctx, { type: 'bar' , data: lineData, options:Options});\n\t    \t    }\n\t    \t});\n\n            $('#graph_duration').daterangepicker({\n                maxDate: \"{{ $monthEnd }}\"\n             }, function(start, end, label) {\n               getGraphData(start.format('MM-DD-YYYY'), end.format('MM-DD-YYYY'))\n             });\n\n\t\t    function getGraphData(monthStart, monthEnd) {\n\t\t    \t$.ajax({\n\t\t    \t    url:  \"{{ url('admin/get-users-graph-data') }}\",\n\t\t    \t    type: \"get\",\n\t\t    \t    data: {\n                        monthStart: monthStart,\n                        monthEnd: monthEnd\n                    },\n\t\t    \t    success: function(data){\n\t    \t      \t\tmyChart.data.labels = data.data[\"graph_key\"];\n\t                \tmyChart.data.datasets[0].data = data.data[\"graph_value\"];\n\t                \tmyChart.update();\n\t\t    \t    }\n\t\t    \t});\n\t\t    }\n\t\t});\n\n\n\t</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/general/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                <div class=\"wag-inner-section-block-main\">\n                    @if(isset($singular_module_name))\n                        <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                    @endif\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n        </div>\n    </div>\n\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/general/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                <div class=\"wag-inner-section-block-main\">\n                    @if(isset($singular_module_name))\n                        <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                    @endif\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/newsletters/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n    </div>\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>Email</th>\n                    <th>Date</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'email', name: 'email',className:'user-name-details'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n                        btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-business/_form.blade.php",
    "content": "@push(\"styles\")\n<style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style>\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-business/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n    <section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n        <div class=\"wag-page-main-header-bar\">\n            <div class=\"wag-title-bar-main\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n            <div class=\"wag-title-and-nemu-block-main\">\n                <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n            </div>\n        </div>\n\n        <div class=\"wag-table-main\">\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h5 class=\"card-title mb-0 \">{{  $module_name }}</h5>\n                @endif\n            </div>\n            <table class=\"table project-datatable\" >\n                <thead>\n                    <tr>\n                        <th>Name</th>\n                        <th>Date Added</th>\n                        <th>Action</th>\n                    </tr>\n                </thead>\n            </table>\n        </div>\n    </section>\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){                        \n                        var btnStr = \"\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                        if( !o.pet_pro_count ){\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n                        } else {\n                            btnStr += \" <a href='javascript:void(0);' class='disabled-delete' title='You can not delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";                            \n                        }\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n    //delete blog\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var eventURL = \"{!!  $module_route  !!}/\" + id;\n        var title = \"Delete Business Nature?\";\n        var text = \"Once business nature is deleted, all pet pros under this business nature will be deleted as well.\";\n        var method = \"DELETE\";\n        var successMessage = \"Pet pro and business nature deleted.\";\n        changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/pet-pro-business');  !!}\");\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-categories/_form.blade.php",
    "content": "@push(\"styles\")\n<style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style>\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-categories/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n    <section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n        <div class=\"wag-page-main-header-bar\">\n            <div class=\"wag-title-bar-main\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n            <div class=\"wag-title-and-nemu-block-main\">\n                <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n            </div>\n        </div>\n\n        <div class=\"wag-table-main\">\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h5 class=\"card-title mb-0 \">{{  $module_name }}</h5>\n                @endif\n            </div>\n            <table class=\"table project-datatable\" >\n                <thead>\n                    <tr>\n                        <th>Name</th>\n                        <th>Date Added</th>\n                        <th>Action</th>\n                    </tr>\n                </thead>\n            </table>\n        </div>\n    </section>\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){                        \n                        var btnStr = \"\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                        if( !o.pet_pro_count ){\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n                        } else {\n                            btnStr += \" <a href='javascript:void(0);' class='disabled-delete' title='You can not delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";                            \n                        }\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n    //delete blog\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var eventURL = \"{!!  $module_route  !!}/\" + id;\n        var title = \"Delete category?\";\n        var text = \"Once category is deleted, all pet pros under this category will be deleted as well.\";\n        var method = \"DELETE\";\n        var successMessage = \"Pet pro and category deleted.\";\n        changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/pet-pro-categories');  !!}\");\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-deals/_form.blade.php",
    "content": "@push(\"styles\")\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/timepicker/jquery-clockpicker.min.css') }}\">\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css') }}\">\n{{-- <style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style> --}}\n@endpush\n<div class=\"wag-inner-section-block-main\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Deal</label><br/>\n                {{ Form::text('deal', null, ['id' => 'deal', 'class'=>\"form-control\"]) }}\n                @if($errors->has('deal'))\n                    <p class=\"text-danger\">{{ $errors->first('deal') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Fine Print</label><br />\n                {{ Form::textarea('fine_print', null, ['class'=>\"form-control\", \"rows\" => 5]) }}\n                @if($errors->has('fine_print'))\n                    <span class=\"help-block m-b-none\">{{ $errors->first('fine_print') }}</span>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Start Date</label><br/>\n                {{ Form::text('start_date', null, ['id' => 'start_date', 'class'=>\"form-control\"]) }}\n                @if($errors->has('start_date'))\n                    <p class=\"text-danger\">{{ $errors->first('start_date') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>End Date</label><br/>\n                {{ Form::text('end_date', null, ['id' => 'end_date', 'class'=>\"form-control\"]) }}\n                @if($errors->has('end_date'))\n                    <p class=\"text-danger\">{{ $errors->first('end_date') }}</p>\n                @endif\n            </div>\n        </div>\n    </div>\n</div>\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n<script src=\"{{ asset('plugins/bootstrap-datepicker/js/bootstrap-datepicker.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $('#start_date').datepicker({\n            format: 'yyyy-mm-dd',\n            autoclose: true,\n            todayHighlight: true,\n        });\n\n        $('#end_date').datepicker({\n            format: 'yyyy-mm-dd',\n            autoclose: true,\n            todayHighlight: true,\n        });\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                deal: {\n                    required: true,\n                    maxlength: 255\n                },\n\n                fine_print: {\n                    required: true\n                },\n\n                start_date: {\n                    //required: true\n                    required: function(element){\n                        return $(\"#end_date\").val()!=\"\";\n                    }\n                },\n\n                end_date: {\n                    //required: true\n                    required: function(element){\n                        return $(\"#start_date\").val()!=\"\";\n                    }\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-deals/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/pet-pros/'.$pet_pro_id .'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                @endif\n                <div class=\"wag-inner-section-block-main\">\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-deals/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/pet-pros/'.$pet_pro_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                @endif\n                @include(\"$moduleView._form\")\n            </div>\n        </div>\n    </div>\n{!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-events/_form.blade.php",
    "content": "@push(\"styles\")\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/timepicker/jquery-clockpicker.min.css') }}\">\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css') }}\">\n{{-- <style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style> --}}\n@endpush\n<div class=\"wag-inner-section-block-main\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Name</label><br/>\n                {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n                @if($errors->has('name'))\n                    <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Description</label><br />\n                {{ Form::textarea('description', null, ['class'=>\"form-control\", \"rows\" => 5]) }}\n                @if($errors->has('description'))\n                    <span class=\"help-block m-b-none\">{{ $errors->first('description') }}</span>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Start Date</label><br/>\n                {{ Form::text('event_date', null, ['id' => 'event_date', 'class'=>\"form-control date-input\"]) }}\n                @if($errors->has('event_date'))\n                    <p class=\"text-danger\">{{ $errors->first('event_date') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>End Date</label><br/>\n                {{ Form::text('event_end_date', null, ['id' => 'event_end_date', 'class'=>\"form-control date-input\"]) }}\n                @if($errors->has('event_end_date'))\n                    <p class=\"text-danger\">{{ $errors->first('event_end_date') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-6\">\n            <div class=\"form-group\">\n                <label>Start Time</label><br/>\n                <div class=\"clockpicker\" data-autoclose=\"true\">\n                    {{ Form::text('start_time',  isset($result) && isset($result->formated_event_start_time) ? $result->formated_event_start_time : null , ['id' => 'start_time', 'class'=>\"form-control\"]) }}\n                    @if($errors->has('start_time'))\n                        <p class=\"text-danger\">{{ $errors->first('start_time') }}</p>\n                    @endif\n                </div>\n            </div>\n        </div>\n        <div class=\"col-md-6\">\n            <div class=\"form-group\">\n                <label>End Time</label><br/>\n                <div class=\"clockpicker\" data-autoclose=\"true\">\n                    {{ Form::text('end_time', isset($result) && isset($result->formated_event_end_time) ? $result->formated_event_end_time : null, ['id' => 'end_time', 'class'=>\"form-control\"]) }}\n                    @if($errors->has('end_time'))\n                        <p class=\"text-danger\">{{ $errors->first('end_time') }}</p>\n                    @endif\n                </div>\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Address</label><br />\n                {{ Form::textarea('address', null, ['class'=>\"form-control\", \"rows\" => 5]) }}\n                @if($errors->has('address'))\n                    <span class=\"help-block m-b-none\">{{ $errors->first('address') }}</span>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label class=\"col-form-label\">URL</label><br/>\n                {{ Form::text('url', null, ['id' => 'url', 'class'=>\"form-control\"]) }}\n                @if($errors->has('url'))\n                    <p class=\"text-danger\">{{ $errors->first('url') }}</p>\n                @endif\n            </div>\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n<script src=\"{{ asset('plugins/bootstrap-datepicker/js/bootstrap-datepicker.js') }}\"></script>\n<script src=\"{{ asset('plugins/timepicker/bootstrap-clockpicker.min.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n         $('.clockpicker').clockpicker({\n            twelvehour: true,\n            donetext: 'Done'\n        });\n\n        $('.date-input').datepicker({\n            format: 'yyyy-mm-dd',\n            autoclose: true,\n            todayHighlight: true,\n        });\n\n        jQuery.validator.addMethod(\"greaterThan\", \n            function(value, element, params) {\n\n                if (!/Invalid|NaN/.test(new Date(value))) {\n                    return new Date(value) >= new Date($(params).val());\n                } else {\n                    return true;\n                }               \n            },\n            'Must be greater than start event date.'\n        );\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },                \n                event_date: {  \n                    required: function(element){\n                        return $(\"#event_end_date\").val()!=\"\";\n                    }                  \n                },\n                event_end_date: {  \n                    required: function(element){\n                        return $(\"#event_date\").val()!=\"\";\n                    },\n                   greaterThan: \"#event_date\"\n                                   \n                },                \n                start_time: {\n                    //required: true\n                    required: function(element){\n                        return $(\"#end_time\").val()!=\"\";\n                    }\n                },\n                end_time: {\n                    //required: true\n                    required: function(element){\n                        return $(\"#start_time\").val()!=\"\";\n                    }\n                },\n                url: {\n                    required: true\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-events/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/pet-pros/'.$pet_pro_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                @endif\n                <div class=\"wag-inner-section-block-main\">\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-events/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/pet-pros/'.$pet_pro_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                @endif\n                @include(\"$moduleView._form\")\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-gallery/_form.blade.php",
    "content": "@push(\"styles\")\n\n{{-- <style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style> --}}\n\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group hs-user\">\n            <label>Upload Gallery Image</label>\n            <input type=\"hidden\" name=\"cropped_image\" id=\"cropped_image\" value=\"\" style=\"display:none\" />\n            <div class=\"\">\n                {{ Form::checkbox('is_cover_image', 1, (isset($result) && isset($result->is_cover_image) && $result->is_cover_image == 1) ?  true : false, ['id' => 'is_cover_image']) }}              \n                <label for=\"is_cover_image\">&nbsp;Cover Image</label>\n\t\t\t</div>\n\t\t\t<label for=\"image\" class=\"btn upload-img-btn\">Upload</label>\t\t\t\n\t\t\t<label class=\"img-name-lbl ml-3 d-none\"></label><br />\n            {{ Form::file('image', ['id' => 'image', 'class'=>\"form-control d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n            @if($errors->has('image'))\n                <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n\t\t\t@endif\n        </div>\n    </div>\n</div>\n<div class=\"form-group row hs-user \">\n    <div class=\"col-md-5\">\n        @if(isset($result) && $result->gallery_image)\n            <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px;\">\n                <img src=\"{{ $result->image_thumb_full_path }}\" class=\"img-thumbnail\">\n            </div>\n        @else\n            <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px; display: none;\">\n                <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n            </div>\n        @endif\n    </div>\n    <div class=\"col-sm-7 tc-crop-img-section\" style=\"display: none; text-align:center;\">\n        <div id=\"upload-demo\"></div>\n        <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                image: {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n            }\n        });\n\n        var resize = $('#upload-demo').croppie({\n            enableExif: true,\n            enableOrientation: true,\n            viewport: {\n                width: 100,\n                height: 100,\n                type: 'square'\n            },\n            boundary: {\n                width: 150,\n                height: 150\n            }\n        });\n\n        $('#image').on('change', function () {\n\t\t\tvar fileName = event.target.files[0].name;\n\t\t\t$(\".img-name-lbl\").html(fileName).removeClass('d-none');\n\n\t\t\t$('#preview-crop-image').css(\"display\", 'block');\n\t\t\tdisplayImageOnFileSelect(this, $('.img-thumbnail'));\n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n\n            reader.readAsDataURL(this.files[0]);\n            $('.tc-crop-img-section').show();\n        });\n\n\t\tfunction displayImageOnFileSelect(input, thumbElement) {\n\t\t\tif (input.files && input.files[0]) {\n\t\t\t\tvar reader = new FileReader();\n\n\t\t\t\treader.onload = function (e) {\n\t\t\t\t\t$(thumbElement).attr('src', e.target.result).show();\n\t\t\t\t}\n\n\t\t\t\treader.readAsDataURL(input.files[0]);\n\t\t\t}\n\t\t}\n\n         $('.upload-image').on('click', function (ev) {\n            resize.croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n              // resample_single(rawcanv, 340, 180, true);\n              var img = rawcanv.toDataURL();\n\n                $('#cropped_image').val(img.split(',')[1]);\n\n                html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n                $(\"#preview-crop-image\").html(html);\n            });\n            return false;\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-gallery/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/pet-pros/'.$pet_pro_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                @endif                \n                <div class=\"wag-inner-section-block-main\">\n                    <div id=\"clon-add-gallery-image-div\" class=\"main-gallery-image-div d-none\">\n                        <div class=\"row\">\n                            <div class=\"col-md-6\">\n                                <div class=\"form-group hs-user upload-image-div\">\n                                    <label>Upload Gallery Image</label>\n                                    <input type=\"hidden\" name=\"row[0][cropped_image]\" class=\"cropped_image\" value=\"\" style=\"display:none\" />\n                                    <div class=\"\">\n                                        {{ Form::radio('is_cover_image', 0, false, ['class' => 'is_cover_image']) }}              \n                                        <label for=\"is_cover_image\">&nbsp;Cover Image</label>\n                                    </div>\n                                    <label for=\"image_0\" class=\"btn upload-img-btn\">Upload</label>            \n                                    <label class=\"img-name-lbl ml-3 d-none\"></label><br />\n                                    {{ Form::file(\"row[0][image]\", ['id' => 'image_0', 'class'=>\"form-control upload-image-input d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n                                    @if($errors->has('image'))\n                                        <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n                                    @endif\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row hs-user \">\n                            <div class=\"col-md-5\">    \n                                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px; display: none;\">\n                                    <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                                </div>      \n                            </div>\n                            <div class=\"col-sm-7 tc-crop-img-section\" style=\"display: none; text-align:center;\">\n                                <div id=\"upload-demo-0\" class=\"upload-demo\"></div>\n                                <button type=\"button\" class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n                            </div>\n                        </div>\n                    </div>\n                    <div id=\"add-new-gallery-image-div\"></div>\n                    <button class=\"btn btn-info\" type=\"button\" id=\"add-gallery-image\">ADD +</button>\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.form.js') }} \"></script>\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n        var rowID = 1;\n\n        var cloneDiv = $( \"#clon-add-gallery-image-div\" ).clone().removeClass('d-none').removeAttr('id');\n        cloneDiv.find('.upload-image-input ').attr('name', 'row['+rowID+'][image]');\n        cloneDiv.find('.cropped_image ').attr('name', 'row['+rowID+'][cropped_image]');\n        cloneDiv.find('.upload-img-btn').attr('for', 'image_'+rowID);              \n        cloneDiv.find('.upload-image-input').attr('id', 'image_'+rowID);         \n        cloneDiv.find('.upload-demo').attr('id', 'upload-demo_'+rowID);         \n        cloneDiv.find('.is_cover_image').val(rowID);\n        rowID++;         \n        cloneDiv.appendTo( \"#add-new-gallery-image-div\" );  \n\n        $(\"#add-gallery-image\").click(function () {                       \n            var cloneDiv = $( \"#clon-add-gallery-image-div\" ).clone().removeClass('d-none').removeAttr('id');\n            cloneDiv.find('.upload-image-input ').attr('name', 'row['+rowID+'][image]');\n            cloneDiv.find('.cropped_image ').attr('name', 'row['+rowID+'][cropped_image]');\n            cloneDiv.find('.upload-img-btn').attr('for', 'image_'+rowID);              \n            cloneDiv.find('.upload-image-input').attr('id', 'image_'+rowID);         \n            cloneDiv.find('.upload-demo').attr('id', 'upload-demo_'+rowID);         \n            cloneDiv.find('.is_cover_image').val(rowID);\n            rowID++;         \n            cloneDiv.appendTo( \"#add-new-gallery-image-div\" );                           \n        });        \n\n        $(\"body\").delegate(\".upload-image-input\", \"change\", function(){\n            var fileName = event.target.files[0].name;\n            var mainDiv = $(this).closest('.main-gallery-image-div');\n            $(this).closest('.upload-image-div').find(\".img-name-lbl\").html(fileName).removeClass('d-none');\n            ;\n            mainDiv.find('.hs-blog-img-preview').css(\"display\", 'block');\n            displayImageOnFileSelect(this,  mainDiv.find('.img-thumbnail'));\n             \n            if(! mainDiv.find('.upload-demo').data('croppie') ) {                \n                var resize = mainDiv.find('.upload-demo').croppie({\n                    enableExif: true,\n                    enableOrientation: true,\n                    viewport: {\n                        width: 100,\n                        height: 100,\n                        type: 'square'\n                    },\n                    boundary: {\n                        width: 150,\n                        height: 150\n                    }\n                });\n            } else {\n                var resize = mainDiv.find('.upload-demo');\n            }\n         \n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n            reader.readAsDataURL(this.files[0]);\n            mainDiv.find('.tc-crop-img-section').show();\n        });\n\n        $(\"body\").delegate(\".upload-image\", \"click\", function(ev){                  \n            var mainDiv = $(this).closest('.main-gallery-image-div');\n            mainDiv.find('.upload-demo').croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n                var img = rawcanv.toDataURL();\n                mainDiv.find('.cropped_image').val(img.split(',')[1]);\n                html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n                mainDiv.find(\".hs-blog-img-preview\").html(html);\n            });\n            return false;\n        });\n\n        function displayImageOnFileSelect(input, thumbElement) {\n            if (input.files && input.files[0]) {\n                var reader = new FileReader();\n                reader.onload = function (e) {                    \n                    $(thumbElement).attr('src', e.target.result).show();\n                }\n                reader.readAsDataURL(input.files[0]);\n            }\n        }\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                'row[1][image]': {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n            }\n        });\n        $('form').ajaxForm({\n            beforeSend: function() {\n                var percentVal = 'Uploading (0%)';                    \n                $(\"#submitFormBtn\").html(percentVal);\n            },\n            uploadProgress: function(event, position, total, percentComplete) {\n                if( percentComplete < 99.99 ) {\n                    var percentVal = \"Uploading (\"+ percentComplete + '%)';\n                    $(\"#submitFormBtn\").html(percentVal);                \n                }\n            },\n            complete: function(xhr) {\n                $(\"#submitFormBtn\").html(\"Uploading (100%)\");                \n                if(xhr.status === 200  ) {                \n                    $(\"#submitFormBtn\").html('Save'); \n                    fnToastSuccess(xhr.responseJSON[\"message\"]);\n                } else {\n                    fnToastError(xhr.responseJSON[\"message\"]);\n                }\n                setTimeout(() => {                                            \n                    window.location.href = \"{!! url(\"admin/pet-pros/\".$pet_pro_id.'/edit') !!}\";         \n                }, 1000);\n            },\n            error:  function(xhr, desc, err) {\n                fnToastError(err);\n                console.debug(xhr);\n                console.log(\"Desc: \" + desc + \"\\nErr:\" + err);\n            }\n        });    \n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-gallery/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/pet-pros/'.$pet_pro_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                @endif\n                <div class=\"wag-inner-section-block-main\">\n                    <div class=\"row\">\n                        <div class=\"col-md-6\">\n                            <div class=\"form-group hs-user\">\n                                <label>Upload Gallery Image</label>\n                                <input type=\"hidden\" name=\"cropped_image\" id=\"cropped_image\" value=\"\" style=\"display:none\" />\n                                <div class=\"\">\n                                    {{ Form::checkbox('is_cover_image', 1, (isset($result) && isset($result->is_cover_image) && $result->is_cover_image == 1) ?  true : false, ['id' => 'is_cover_image']) }}              \n                                    <label for=\"is_cover_image\">&nbsp;Cover Image</label>\n                                </div>\n                                <label for=\"image\" class=\"btn upload-img-btn\">Upload</label>            \n                                <label class=\"img-name-lbl ml-3 d-none\"></label><br />\n                                {{ Form::file('image', ['id' => 'image', 'class'=>\"form-control d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n                                @if($errors->has('image'))\n                                    <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"form-group row hs-user \">\n                        <div class=\"col-md-5\">\n                            @if(isset($result) && $result->gallery_image)\n                                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px;\">\n                                    <img src=\"{{ $result->image_thumb_full_path }}\" class=\"img-thumbnail\">\n                                </div>\n                            @else\n                                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px; display: none;\">\n                                    <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                                </div>\n                            @endif\n                        </div>\n                        <div class=\"col-sm-7 tc-crop-img-section\" style=\"display: none; text-align:center;\">\n                            <div id=\"upload-demo\"></div>\n                            <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n\n    });\n</script>\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.form.js') }} \"></script>\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                image: {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n            }\n        });\n\n        var resize = $('#upload-demo').croppie({\n            enableExif: true,\n            enableOrientation: true,\n            viewport: {\n                width: 100,\n                height: 100,\n                type: 'square'\n            },\n            boundary: {\n                width: 150,\n                height: 150\n            }\n        });\n\n        $('#image').on('change', function () {\n            var fileName = event.target.files[0].name;\n            $(\".img-name-lbl\").html(fileName).removeClass('d-none');\n\n            $('#preview-crop-image').css(\"display\", 'block');\n            displayImageOnFileSelect(this, $('.img-thumbnail'));\n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n\n            reader.readAsDataURL(this.files[0]);\n            $('.tc-crop-img-section').show();\n        });\n\n        function displayImageOnFileSelect(input, thumbElement) {\n            if (input.files && input.files[0]) {\n                var reader = new FileReader();\n\n                reader.onload = function (e) {\n                    $(thumbElement).attr('src', e.target.result).show();\n                }\n\n                reader.readAsDataURL(input.files[0]);\n            }\n        }\n\n         $('.upload-image').on('click', function (ev) {\n            resize.croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n              // resample_single(rawcanv, 340, 180, true);\n              var img = rawcanv.toDataURL();\n\n                $('#cropped_image').val(img.split(',')[1]);\n\n                html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n                $(\"#preview-crop-image\").html(html);\n            });\n            return false;\n        });\n\n        $('form').ajaxForm({\n            beforeSend: function() {\n                var percentVal = 'Uploading (0%)';                    \n                $(\"#submitFormBtn\").html(percentVal);\n            },\n            uploadProgress: function(event, position, total, percentComplete) {\n                if( percentComplete < 99.99 ) {\n                    var percentVal = \"Uploading (\"+ percentComplete + '%)';\n                    $(\"#submitFormBtn\").html(percentVal);                \n                }\n            },\n            complete: function(xhr) {\n                $(\"#submitFormBtn\").html(\"Uploading (100%)\"); \n                if(xhr.status === 200  ) {                \n                    $(\"#submitFormBtn\").html('Save'); \n                    fnToastSuccess(xhr.responseJSON[\"message\"]);\n                } else {\n                    fnToastError(xhr.responseJSON[\"message\"]);\n                }\n                setTimeout(() => {                                            \n                    window.location.href = \"{!! url(\"admin/pet-pros/\".$pet_pro_id.'/edit') !!}\";         \n                }, 1000);\n            },\n            error:  function(xhr, desc, err) {\n                fnToastError(err);\n                console.debug(xhr);\n                console.log(\"Desc: \" + desc + \"\\nErr:\" + err);\n            }\n        });   \n\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-request/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n    </div>\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>Store Name</th>\n                    <th>Email</th>\n                    <th>Phone</th>\n                    <th>Address</th>\n                    <th>Description</th>\n                    <th>Status</th>\n                    <th>Date</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n</section>\n\n\n\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'store_name', name: 'store_name'},\n                { data: 'email', name: 'email'},\n                { data: 'phone_number', name: 'phone_number'},\n                { data: 'address_line_1', name: 'address_line_1'},\n                { data: 'description', name: 'description'},\n                { data: 'status', name: 'status'},\n                { data: 'formated_created_at', name: 'created_at'},\n                \n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/approve/\"+  o.id +\"' title='approve'><i class='fa fa-check'></i></a>\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/reject/\"+  o.id +\"' title='reject'><i class='fa fa-close'></i></a>\";\n                        btnStr += \"<a href='{!!  $module_route  !!}-detail/\"+  o.id +\"' title='Show'><i class='fa fa-file-icon'></i></a>\";\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/destroy/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pro-request/show.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n            \n        </div>\n    </div>\n    <div class=\"wag-profile-details-block-main\">\n        <div class=\"wag-profile-details\">\n            <div class=\"wag-profile-pic-details\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main mt-3 mb-3\">{{  $module_name }}</h1>\n                @endif\n                <div class=\"wag-profile-name-details\">\n                    <label>Store Name</label>\n                    <p>{{ $result->store_name }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Contact Email</label>\n                    <p>{{ $result->email }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Website</label>\n                    <p>{{ $result->website_url }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Phone Number</label>\n                    <p>{{ $result->phone_number }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Address</label>\n                    <p>{{ $result->address_line_1 }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Donation Link</label>\n                    <p>{{ $result->donation_link }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Description</label>\n                    <p>{{ $result->description }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Featured Pet Pros</label>\n                    <p>{{ $result->is_featured_pet_pro }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Featured Title</label>\n                    <p>{{ $result->featured_title }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Featured Description</label>\n                    <p>{{ $result->featured_description }}</p>\n                <div class=\"wag-profile-name-details\">\n                    <label>Date</label>\n                    <p>{{ $result->formated_created_at }}</p>\n                </div>\n            </div>\n        </div>\n    </div>\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pros/_form.blade.php",
    "content": "@push(\"styles\")\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/timepicker/jquery-clockpicker.min.css') }}\">\n\n<style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n\n    .add-service-offered-btn { \n        color: #6161FF;\n        cursor: pointer;\n    }\n    .delete-service-div {\n        margin: auto;\n    }\n    .delete-service-btn, .delete-old-service-btn{\n        cursor: pointer;        \n    }\n\n</style>\n@endpush\n<input type=\"hidden\" name=\"deletedServices\" id=\"deletedServices\">\n<input type=\"hidden\" name=\"deletedGallery\" id=\"deletedGallery\">\n\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"wag-inner-section-block-main\">\n            <h2 class=\"wag-admin-page-title-main\">General Info</h2>\n            <div class=\"row\">\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Store Name *</label>\n                        {{ Form::text('store_name', null, ['id' => 'store_name', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('store_name'))\n                            <p class=\"text-danger\">{{ $errors->first('store_name') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Website URL</label>\n                        {{ Form::text('website_url', null, ['id' => 'website_url', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('website_url'))\n                            <p class=\"text-danger\">{{ $errors->first('website_url') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Email</label>\n                        {{ Form::email('email', null, ['id' => 'email', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('email'))\n                            <p class=\"text-danger\">{{ $errors->first('email') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Phone Number</label>\n                        {{ Form::text('phone_number', null, ['id' => 'phone_number', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('phone_number'))\n                            <p class=\"text-danger\">{{ $errors->first('phone_number') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Address Line 1</label>\n                        {{ Form::text('address_line_1', null, ['id' => 'address_line_1', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('address_line_1'))\n                            <p class=\"text-danger\">{{ $errors->first('address_line_1') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Address Line 2</label>\n                        {{ Form::text('address_line_2', null, ['id' => 'address_line_2', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('address_line_2'))\n                            <p class=\"text-danger\">{{ $errors->first('address_line_2') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Postal Code</label>\n                        {{ Form::text('postal_code', null, ['id' => 'postal_code', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('postal_code'))\n                            <p class=\"text-danger\">{{ $errors->first('postal_code') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"row d-none\" id=\"locationDivClone\">\n                <div class=\"col-md-4\">\n                    <div class=\"form-group\">\n                        <label class=\" \">Country</label>\n                        {{ Form::select('country_id[0]', [ \"\" => \"Select\"] + $countries, null, ['id'=> 'country_id_', 'class' => 'form-control country-input d-none']) }}\n                        @if($errors->has('country'))\n                            <p class=\"text-danger\">{{ $errors->first('country') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-4\">\n                    <div class=\"form-group \">\n                        <label class=\" \">State</label>\n                        {{ Form::select('state_id[0]', [ \"\" => \"Select\"] + $states, null, ['id'=> 'state_id_', 'class' => 'form-control state-input d-none']) }}\n                        @if($errors->has('state'))\n                            <p class=\"text-danger\">{{ $errors->first('state') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-4\">\n                    <div class=\"form-group \">\n                        <label class=\" \">City</label>\n                        {{ Form::select('city_id[0]', [ \"\" => \"Select\"] + $cities, null, ['id'=> 'city_id_', 'class' => 'form-control city-input d-none']) }}\n                        @if($errors->has('city_id'))\n                            <p class=\"text-danger\">{{ $errors->first('city_id') }}</p>\n                        @endif\n                    </div>\n                </div>\n                </div>\n                <div id=\"locationDiv\">\n\n                <div class=\"row\" >\n                <div class=\"col-md-4\">\n                    <div class=\"form-group\">\n                        <label class=\" \">Country</label>\n                        {{ Form::select('country_id[0]', [ \"\" => \"Select\"] + $countries, null, ['id'=> 'country_id_0', 'class' => 'form-control country-input']) }}\n                        @if($errors->has('country'))\n                            <p class=\"text-danger\">{{ $errors->first('country') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-4\">\n                    <div class=\"form-group \">\n                        <label class=\" \">State</label>\n                        {{ Form::select('state_id[0]', [ \"\" => \"Select\"] + $states, null, ['id'=> 'state_id_0', 'class' => 'form-control state-input ']) }}\n                        @if($errors->has('state'))\n                            <p class=\"text-danger\">{{ $errors->first('state') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-md-4\">\n                    <div class=\"form-group \">\n                        <label class=\" \">City</label>\n                        {{ Form::select('city_id[0]', [ \"\" => \"Select\"] + $cities, null, ['id'=> 'city_id_0', 'class' => 'form-control city-input']) }}\n                        @if($errors->has('city_id'))\n                            <p class=\"text-danger\">{{ $errors->first('city_id') }}</p>\n                        @endif\n                    </div>\n                </div>\n                </div>\n                \n                </div>\n                <button class=\"wag-admin-btns-main \" type=\"button\" id=\"add-location\">Add Location</button>\n                <br/>\n                <br/>\n                <div class=\"col-md-12\">\n                    <div class=\"form-group\">\n                        <label>Description</label>\n                        {{ Form::textarea('description', null, ['class'=>\"form-control\", \"rows\" => 7]) }}\n                        @if($errors->has('description'))\n                            <span class=\"help-block m-b-none\">{{ $errors->first('description') }}</span>\n                        @endif\n                    </div>\n                </div>\n            \n                <div class=\"col-md-12\">\n                    <div class=\"form-group wag-categories-box-main\">\n                        <label>Pet Type *</label>\n                        {{ Form::select('pet_type_id[]', $petType, ( isset($selectedPetType) && count($selectedPetType))?$selectedPetType:null, ['id'=> 'pet_type_id', 'class' => 'form-control', 'multiple' => 'multiple']) }}\n                        @if($errors->has('pet_type_id'))\n                            <p class=\"text-danger\">{{ $errors->first('pet_type_id') }}</p>\n                        @endif\n                    </div>\n                </div>\n\n                <div class=\"col-md-12\">\n                    <div class=\"form-group wag-categories-box-main\">\n                        <label>Nature of the Business *</label>\n                        {{ Form::select('business_id[]', $businessNatures, ( isset($selectedBusiness) && count($selectedBusiness))?$selectedBusiness:null, ['id'=> 'business_id', 'class' => 'form-control', 'multiple' => 'multiple']) }}\n                        @if($errors->has('business_id'))\n                            <p class=\"text-danger\">{{ $errors->first('business_id') }}</p>\n                        @endif\n                    </div>\n                </div>\n\n                <div class=\"col-md-12\">\n                    <div class=\"form-group wag-categories-box-main\">\n                        <label>Categories *</label>\n                        {{ Form::select('category_id[]', $categories, ( isset($selectedCategories) && count($selectedCategories))?$selectedCategories:null, ['id'=> 'category_id', 'class' => 'form-control', 'multiple' => 'multiple']) }}\n                        @if($errors->has('category_id'))\n                            <p class=\"text-danger\">{{ $errors->first('category_id') }}</p>\n                        @endif\n                    </div>\n                </div>\n\n           \n            </div>\n        </div>\n    </div>\n    <div class=\"col-md-6\">\n        <div class=\"wag-inner-section-block-main\">\n            <h2 class=\"wag-admin-page-title-main\">Hours of Operation</h2>\n            <div class=\"wag-hours-block\">\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"monday\" id=\"monday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Monday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('monday_open',  isset($result) && isset($result->formatted_timetable[\"monday_open\"]) ? $result->formatted_timetable[\"monday_open\"] : null , ['id' => 'monday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('monday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('monday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Monday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('monday_close',  isset($result) && isset($result->formatted_timetable[\"monday_close\"]) ? $result->formatted_timetable[\"monday_close\"] : null , ['id' => 'monday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('monday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('monday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"tuesday\" id=\"tuesday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Tuesday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('tuesday_open',  isset($result) && isset($result->formatted_timetable[\"tuesday_open\"])  ? $result->formatted_timetable[\"tuesday_open\"] : null , ['id' => 'tuesday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('tuesday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('tuesday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Tuesday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('tuesday_close',  isset($result) && isset($result->formatted_timetable[\"tuesday_close\"]) ? $result->formatted_timetable[\"tuesday_close\"] : null , ['id' => 'tuesday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('tuesday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('tuesday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"wednesday\" id=\"wednesday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Wednesday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('wednesday_open',  isset($result) && isset($result->formatted_timetable[\"wednesday_open\"]) ? $result->formatted_timetable[\"wednesday_open\"] : null , ['id' => 'wednesday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('wednesday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('wednesday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Wednesday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('wednesday_close',  isset($result) && isset($result->formatted_timetable[\"wednesday_close\"]) ? $result->formatted_timetable[\"wednesday_close\"] : null , ['id' => 'wednesday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('wednesday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('wednesday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"thursday\" id=\"thursday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Thursday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('thursday_open',  isset($result) && isset($result->formatted_timetable[\"thursday_open\"])  ? $result->formatted_timetable[\"thursday_open\"] : null , ['id' => 'thursday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('thursday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('thursday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Thursday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('thursday_close',  isset($result) && isset($result->formatted_timetable[\"thursday_close\"]) ? $result->formatted_timetable[\"thursday_close\"] : null , ['id' => 'thursday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('thursday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('thursday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"friday\" id=\"friday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Friday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('friday_open',  isset($result) && isset($result->formatted_timetable[\"friday_open\"]) ? $result->formatted_timetable[\"friday_open\"] : null , ['id' => 'friday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('friday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('friday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Friday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('friday_close',  isset($result) && isset($result->formatted_timetable[\"friday_close\"]) ? $result->formatted_timetable[\"friday_close\"] : null , ['id' => 'friday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('friday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('friday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"saturday\" id=\"saturday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Saturday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('saturday_open',  isset($result) && isset($result->formatted_timetable[\"saturday_open\"]) ? $result->formatted_timetable[\"saturday_open\"] : null , ['id' => 'saturday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('saturday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('saturday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Saturday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('saturday_close',  isset($result) && isset($result->formatted_timetable[\"saturday_close\"]) ? $result->formatted_timetable[\"saturday_close\"] : null , ['id' => 'saturday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('saturday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('saturday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n                <div class=\"row\">\n                    <div class=\"col-md-2 text-right\">\n                        <input type=\"checkbox\" class=\"hoursOfOperation\" name=\"sunday\" id=\"sunday_checked\">\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Sunday Open</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('sunday_open',  isset($result) && isset($result->formatted_timetable[\"sunday_open\"]) ? $result->formatted_timetable[\"sunday_open\"] : null , ['id' => 'sunday_open', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('sunday_open'))\n                                    <p class=\"text-danger\">{{ $errors->first('sunday_open') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                    <div class=\"col-md-5\">\n                        <div class=\"form-group\">\n                            <label>Sunday Close</label>\n                            <div class=\"clockpicker\" data-autoclose=\"true\">\n                                {{ Form::text('sunday_close',  isset($result) && isset($result->formatted_timetable[\"sunday_close\"]) ? $result->formatted_timetable[\"sunday_close\"] : null , ['id' => 'sunday_close', 'class'=>\"form-control\"]) }}\n                                @if($errors->has('sunday_close'))\n                                    <p class=\"text-danger\">{{ $errors->first('sunday_close') }}</p>\n                                @endif\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"wag-inner-section-block-main\">\n            <div class=\"wag-donation-link-header-bar\">\n                <h2 class=\"wag-admin-page-title-main\">Donation Link</h2>\n                <div class=\"\">\n                    <button class=\"wag-admin-btns-main\" type=\"button\" id=\"add_donation_link\">{{ isset($result) && isset($result->donation_link) ? 'Edit Link' : 'Add New +' }}</button>\n                    <button class=\"wag-admin-btns-main d-none\" type=\"button\" id=\"edit_donation_link\">Edit</button>\n                </div>\n            </div>\n            <div class=\"row d-none\" id=\"donation_link_div\">\n                <div class=\"col-sm-12\">\n                    <div class=\"form-group\">\n                        {{ Form::text('donation_link', null, ['id' => 'donation_link', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('donation_link'))\n                            <p class=\"text-danger\">{{ $errors->first('donation_link') }}</p>\n                        @endif\n                    </div>\n                </div>\n            </div>\n        </div>\n\n        <div class=\"wag-inner-section-block-main\">\n            <div class=\"wag-donation-link-header-bar\">\n                <h2 class=\"wag-admin-page-title-main\">Featured Pet Pros</h2>\n                <div class=\"\">\n                    {{ Form::checkbox('is_featured_pet_pro', 1, (isset($result) && isset($result->is_featured_pet_pro) && $result->is_featured_pet_pro == 1) ?  true : false, ['id' => 'is_featured_pet_pro']) }}\n                </div>\n            </div>\n            <div class=\"row {{ (isset($result) && isset($result->is_featured_pet_pro) && $result->is_featured_pet_pro == 1) ? '' : 'd-none'}}\" id=\"featured_section\">\n                <div class=\"col-sm-12\">\n                    <div class=\"form-group\">\n                        <label>Featured Title</label>\n                        {{ Form::text('featured_title', null, ['id' => 'featured_title', 'class'=>\"form-control\"]) }}\n                        @if($errors->has('featured_title'))\n                            <p class=\"text-danger\">{{ $errors->first('featured_title') }}</p>\n                        @endif\n                    </div>\n                </div>\n                <div class=\"col-sm-12 control-wrapper\">\n                    <div class=\"form-group\">\n                        <label>Featured Description</label>\n                        {{ Form::textarea('featured_description', null, ['id' => 'featured_description', \"data-limit\" => 200, 'class'=>\"form-control\", \"maxlength\" => 200, 'rows' => 3]) }}\n                        <p class=\"text-info text-right remaining-text-countdown\"></p>\n                        @if($errors->has('featured_description'))\n                            <p class=\"text-danger\">{{ $errors->first('featured_description') }}</p>\n                        @endif\n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"wag-inner-section-block-main\">\n            <div class=\"wag-donation-link-header-bar\">\n                <h2 class=\"wag-admin-page-title-main\">Services Offered</h2>                \n            </div>\n            <div class=\"row\">\n                <div class=\"col-sm-12\">\n                    <div class=\"form-group\">\n                        <div class=\"row clone-service-div mb-1 d-none\" id=\"clone-service-div\">\n                            <div class=\"col-10\">\n                                {{ Form::text('services', null, ['class'=>\"form-control services\"]) }}\n                            </div>\n                            <div class=\"col-2 delete-service-div\">\n                                <div class=\"text-danger delete-service-btn\">Delete</div>                                \n                            </div>\n                        </div>\n                        @if( isset($result) )\n                            @foreach( $result->servicesOffered as $old_service )\n                                <div class=\"row clone-service-div mb-1\" data-serviceid=\"{{ $old_service->id}}\">\n                                    <div class=\"col-10\">\n                                        {{ Form::text('old_services['. $old_service->id .']', $old_service->service, ['class'=>\"form-control services\", \"required\" => \"required\"]) }}\n                                    </div>\n                                    <div class=\"col-2 delete-service-div\">\n                                        <div class=\"text-danger delete-old-service-btn\">Delete</div>                                \n                                    </div>\n                                </div>\n                            @endforeach\n                        @endif\n                        <div id=\"append-service-div\"></div>\n\n                        <div class=\"add-service-offered-btn mt-2\" id=\"add-service-offered\">+ Add Services Offered</div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n</div>\n<div class=\"wag-inner-page-main-section\">\n    <div class=\"wag-inner-section-block-main\">\n        <div class=\"wag-donation-link-header-bar\">\n            <h2 class=\"wag-admin-page-title-main\">Gallery</h2>           \n        </div>\n        <div class=\"wag-gallery-add-images-block-main\">\n            @if( isset($result) )\n                @foreach($result->images as $image)\n                    <div class=\"main-gallery-image-div\" data-galleryid=\"{{ $image->id }}\">\n                        <div class=\"row\">\n                            <div class=\"col-md-6\">\n                                <div class=\"form-group hs-user upload-image-div\">                          \n                                    <input type=\"hidden\" name=\"{{ \"old_row[\".$image->id.\"][cropped_image]\" }}\" class=\"cropped_image\" value=\"\" style=\"display:none\" />\n\n                                    <label for=\"{{ \"old_image_\".$image->id }}\"  class=\"btn upload-img-btn\">Edit</label>\n                                    <label class=\"btn delete-img-btn delete-old-gallery-image\">Delete</label>\n\n                                    <label class=\"img-name-lbl ml-3 d-none\"></label><br />\n                                    {{ Form::file(\"old_row[\".$image->id.\"][image]\", ['id' => \"old_image_\".$image->id, 'class'=>\"form-control upload-old-image-input d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n                                </div>\n                            </div>\n                        </div>\n                        <div class=\"form-group row hs-user \">\n                            <div class=\"col-md-5\">\n                                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px;\">\n                                    <img src=\"{{ $image->image_thumb_full_path }}\" class=\"img-thumbnail\">\n                                </div>                           \n                                <div class=\"mt-1\">\n                                    {{ Form::radio('is_cover_image', 'old_'.$image->id, (isset($image) && isset($image->is_cover_image) && $image->is_cover_image == 1) ?  true : false, ['id' => 'is_cover_image_'.$image->id]) }}              \n                                    <label for={{ \"is_cover_image_\".$image->id }}>&nbsp;Cover Image</label>\n                                </div>\n                            </div>\n                            <div class=\"col-sm-7 tc-crop-img-section\" style=\"display: none; text-align:center;\">\n                                <div id=\"upload-demo\" class=\"upload-demo\"></div>\n                                <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n                            </div>\n                        </div>\n                    </div>\n                    \n                @endforeach\n            @endif\n\n        </div>\n        <div id=\"clon-add-gallery-image-div\" class=\"main-gallery-image-div d-none\">\n            <div class=\"row\">\n                <div class=\"col-md-6\">\n                    <div class=\"form-group hs-user upload-image-div\">                        \n                        <input type=\"hidden\" name=\"row[0][cropped_image]\" class=\"cropped_image\" value=\"\" style=\"display:none\" />\n                        <label for=\"image_0\" class=\"btn upload-img-btn\">Upload</label>\n                        <label class=\"btn delete-img-btn delete-gallery-image\">Delete</label>\n                        <label class=\"img-name-lbl ml-3 d-none\"></label><br />\n                        {{ Form::file(\"row[0][image]\", ['id' => 'image_0', 'class'=>\"form-control upload-image-input d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n                        @if($errors->has('image'))\n                            <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n                        @endif\n                    </div>\n                </div>\n            </div>\n            <div class=\"form-group row hs-user \">\n                <div class=\"col-md-5\">\n                    <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px; display: none;\">\n                        <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                    </div>\n                    <div class=\"\">\n                        {{ Form::radio('is_cover_image', 0, false, ['class' => 'is_cover_image']) }}\n                        <label for=\"is_cover_image\" class=\"is_cover_image_label\">&nbsp;Cover Image</label>\n                    </div>\n                </div>\n                <div class=\"col-sm-7 tc-crop-img-section\" style=\"display: none; text-align:center;\">\n                    <div id=\"upload-demo-0\" class=\"upload-demo\"></div>\n                    <button type=\"button\" class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n                </div>\n            </div>\n        </div>\n        <div id=\"add-new-gallery-image-div\"></div>\n        <div class=\"wag-gallery-btns-block text-left\">\n            <button class=\"wag-admin-btns-main \" type=\"button\" id=\"add-gallery-image\">Add +</button>\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n<script src=\"{{ asset('plugins/timepicker/bootstrap-clockpicker.min.js') }}\"></script>\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n        var selectedStateId = '';\n        var selectedCityId = '';        \n        var monday_checked , tuesday_checked , wednesday_checked , thursday_checked ,friday_checked , saturday_checked , sunday_checked ;\n\n        monday_checked = \"{!! isset($result->formatted_timetable[\"monday_open\"]) ? $result->formatted_timetable[\"monday_open\"] : '' !!}\" ? true : false;\n        tuesday_checked = \"{!! isset($result->formatted_timetable[\"tuesday_open\"]) ? $result->formatted_timetable[\"tuesday_open\"] : '' !!}\" ? true : false;\n        wednesday_checked = \"{!! isset($result->formatted_timetable[\"wednesday_open\"]) ? $result->formatted_timetable[\"wednesday_open\"] : '' !!}\" ? true : false;\n        thursday_checked = \"{!! isset($result->formatted_timetable[\"thursday_open\"]) ? $result->formatted_timetable[\"thursday_open\"] : '' !!}\" ? true : false;\n        friday_checked = \"{!! isset($result->formatted_timetable[\"friday_open\"]) ? $result->formatted_timetable[\"friday_open\"] : '' !!}\" ? true : false;\n        saturday_checked = \"{!! isset($result->formatted_timetable[\"saturday_open\"]) ? $result->formatted_timetable[\"saturday_open\"] : '' !!}\" ? true : false;\n        sunday_checked = \"{!! isset($result->formatted_timetable[\"sunday_open\"]) ? $result->formatted_timetable[\"sunday_open\"] : '' !!}\" ? true : false;\n\n        var days_checked_name = [monday_checked, tuesday_checked, wednesday_checked, thursday_checked, friday_checked, saturday_checked, sunday_checked];\n        var days_name = [\"monday\", \"tuesday\", \"wednesday\", \"thursday\", \"friday\", \"saturday\", \"sunday\"];\n\n        for (var i = 0; i < 7; i++) {\n            if( days_checked_name[i]) {\n                $(\"#\"+days_name[i]+\"_checked\").attr('checked', true);\n            } else {\n                $(\"#\"+days_name[i]+\"_open\").prop('disabled', true);\n                $(\"#\"+days_name[i]+\"_close\").prop('disabled', true);\n            }\n        }\n\n        $(\".hoursOfOperation\").change(function() {\n            if(this.checked) {\n                $(\"#\"+this.name+\"_open\").prop('disabled', false);\n                $(\"#\"+this.name+\"_close\").prop('disabled', false);\n            } else {\n                $(\"#\"+this.name+\"_open\").prop('disabled', true).val('');\n                $(\"#\"+this.name+\"_close\").prop('disabled', true).val('');\n            }\n        });\n\n        $('.clockpicker').clockpicker({\n\t\t\ttwelvehour: true,\n\t\t\tdonetext: 'Done'\n\t\t});\n\n\n\t\t$('#category_id').select2({\n\t\t\ttags: false,\n\t\t\tplaceholder: 'Select categories'\n\t\t});\n        $('#business_id').select2({\n\t\t\ttags: false,\n\t\t\tplaceholder: 'Select Business Nature'\n\t\t});\n        $('#pet_type_id').select2({\n\t\t\ttags: false,\n\t\t\tplaceholder: 'Select Pet Type'\n\t\t});\n\n        $(\"#postal_code\").change(function(){\n            var data = $(this).val();   \n            if( data ) {            \n                $.ajax({\n                    url:  \"{{ url('admin/pet-pros/get-geocode-data') }}\",\n                    type: \"get\",\n                    data: {                    \n                        'postal_code': $.trim($('#postal_code').val()),\n                    },\n                    success: function(data){      \n                        if( data.data ) {                       \n                            selectedStateId = data.data.state_id;\n                            selectedCityId = data.data.city_id;\n                            getStateList(null);                                            \n                        }\n                    },\n                    error:function (error) {\n                        console.log(error);\n                    }\n                });\n            }\n        });\n        $(\"#country_id_0\").change(function () {            \n            if( $(this).val() ) {\n                console.log($(this).val())\n                getStateList($(this).val());\n            }\n        });\n\n        $(\"#state_id_0\").change(function () {            \n            if( $(this).val() ) {\n                getCityList($(this).val());\n            }\n        });\n\n        \n\n        function getStateList(country_id) {\n            $('#state_id_0').empty().trigger(\"change\");\n            var newStateOption = new Option('Loading..', '', false, false);\n            $('#state_id_0').append(newStateOption).trigger('change');\n            $.ajax({\n                url:  \"{{ url('admin/pet-pros/get-states') }}/\"+country_id,\n                type: \"get\",\n                data: {},\n                success: function(data){\n                    $('#state_id_0').empty().trigger(\"change\");\n                    var newStateOption = new Option('Select', '', false, false);\n                    $('#state_id_0').append(newStateOption).trigger('change');\n                    for (var j = 0; j < data.data.length; j++) {\n                        $(\"<option/>\").attr(\"value\", data.data[j].id).text(data.data[j].name).appendTo($(\"#state_id_0\"));\n                    }\n                    if( selectedStateId ) {\n                        //$('#state_id').val(selectedStateId).trigger('change');\n                    }\n                }\n            });\n\n        }\n\n        function getCityList(state_id) {\n            $('#city_id_0').empty().trigger(\"change\");\n            var newOption = new Option('Loading..', '', false, false);\n            $('#city_id_0').append(newOption).trigger('change');            \n            $.ajax({\n                url:  \"{{ url('admin/pet-pros/get-cities') }}/\"+state_id,\n                type: \"get\",\n                data: {},\n                success: function(data){\n                    $('#city_id_0').empty().trigger(\"change\");\n                    var newOption = new Option('Select', '', false, false);\n                    $('#city_id_0').append(newOption).trigger('change');\n                    for (var i = 0; i < data.data.length; i++) {\n                        $(\"<option/>\").attr(\"value\", data.data[i].id).text(data.data[i].name).appendTo($(\"#city_id_0\"));\n                    }\n                    if( selectedCityId ) {                                         \n                        //$('#city_id').val($.trim(parseInt(selectedCityId))).trigger('change');\n                    }\n                }\n            });\n        }\n    \n\t\tjQuery.validator.addMethod(\"greaterThan\", function(value, element, param) {\n\t\t\tvar stt = new Date(\"July 01, 2020 \" + param.val());\n\t\t\tstt = stt.getTime();\n\n\t\t\tvar endt = new Date(\"July 01, 2020 \" + value);\n\t\t\tendt = endt.getTime();\n\n\t\t\tif(stt > endt){\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\treturn true;\n\t\t\t}\n        }, 'Please select greater time than opening time.');\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                store_name: {\n                    required: true,\n                    maxlength: 255\n                },\n                email: {\n                    //required: true,\n                    email: true\n                },\n                website_url: {\n                    url: true\n                },\n                phone_number: {\n                    //required: true\n                },\n                address_line_1: {\n                    maxlength: 255\n                },\n                address_line_2: {\n                    maxlength: 255\n                },\n                'category_id[]': {\n                    required: true \n                },\n                'business_id[]': {\n                    required: true\n                },\n                'pet_type_id[]': {\n                    required: true\n                },\n                /*state_id: {\n                    required: true\n                },\n                city_id: {\n                    required: true\n                },\n                postal_code: {\n                    required: true\n                },*/\n                donation_link: {\n                    url: true\n                },\n                featured_title: {\n                    required: {\n                        depends: function() {\n                            return ($('input[name=is_featured_pet_pro]:checked').val() == '1')  ? true : false;\n                        }\n                    }\n                },\n                featured_description: {\n                    required: {\n                        depends: function() {\n                            return ($('input[name=is_featured_pet_pro]:checked').val() == '1')  ? true : false;\n                        }\n                    }\n                },\n                monday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#monday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                monday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#monday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#monday_open\")\n                },\n\n                tuesday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#tuesday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                tuesday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#tuesday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#tuesday_open\")\n                },\n\n                wednesday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#wednesday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                wednesday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#wednesday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#wednesday_open\")\n                },\n\n                thursday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#thursday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                thursday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#thursday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#thursday_open\")\n                },\n\n                friday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#friday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                friday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#friday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#friday_open\")\n                },\n\n                saturday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#saturday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                saturday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#saturday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#saturday_open\")\n                },\n\n                sunday_open: {\n                    required: {\n                        depends: function() {\n                            return ($('#sunday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    }\n                },\n                sunday_close: {\n                    required: {\n                        depends: function() {\n                            return ($('#sunday_checked').prop(\"checked\"))  ? true : false;\n                        }\n                    },\n\t\t\t\t\tgreaterThan: $(\"#sunday_open\")\n                },\n\n            },\n\t\t\terrorPlacement: function(error, element) {\n\t\t\t\tif (element.attr(\"id\") == \"city_id\" || element.attr(\"id\") == \"state_id\" || element.attr(\"id\") == \"category_id\" || element.attr(\"id\") == \"business_id\" || element.attr(\"id\") == \"pet_type_id\" ){\n\t\t\t\t\terror.appendTo(element.closest('.form-group'));\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\terror.insertAfter(element);\n\t\t\t\t}\n\t\t\t}            \n        });\n\n        $(\"#submitFormBtn\").click(function(e){ \n            e.preventDefault();\n            if( $(\"#form_validate\").valid() ){ \n                  $( \"#form_validate\" ).submit();\n            }\n        });\n\n        $(\"#add_donation_link\").click(function() {\n            $(\"#donation_link_div\").removeClass('d-none');\n            $(\"#add_donation_link\").addClass('d-none');\n\n        });\n\n        $('#is_featured_pet_pro').click (function () {\n            if ($(this).is (':checked')) {\n                $(\"#featured_section\").removeClass('d-none');\n            } else {\n                $(\"#featured_section\").addClass('d-none');\n            }\n        });\n\n        $(document).on('keyup', '#featured_description', function(event) {\n            event.preventDefault();\n            var maxLimit = $(this).data(\"limit\") || 0;\n            var charCount = $(this).val().length || 0;\n            var remainingChars = maxLimit - charCount;\n\n            if(remainingChars < 0) {\n                $(this).val(($(this).val()).substring(0, maxLimit));\n            }\n            else {\n                var countdownElement = $(this).parents(\".control-wrapper\").find('.remaining-text-countdown');\n                if(countdownElement.length > 0) {\n                    countdownElement.html(remainingChars + \"/\" + maxLimit);\n                }\n            }\n        });\n\n        var servicesRowId = 1;\n        var deletedServices = []; \n        $(\"#add-service-offered\").click(function () {\n            var cloneDiv = $( \"#clone-service-div\" ).clone().removeClass('d-none').removeAttr('id');\n            cloneDiv.find('.services ').attr('name', 'services['+servicesRowId+']').attr('required', 'required');        \n            servicesRowId++;\n            cloneDiv.appendTo( \"#append-service-div\" );\n        });\n\n        $(\"body\").delegate(\".delete-service-btn\", \"click\", function(){                    \n            $(this).closest('.clone-service-div').remove();\n        });\n\n        $(\"body\").delegate(\".delete-old-service-btn\", \"click\", function(){ \n            var serviceid = $(this).closest('.clone-service-div').attr('data-serviceid'); \n            deletedServices.push(serviceid); \n            $(\"#deletedServices\").val(deletedServices); \n            $(this).closest('.clone-service-div').remove();\n        });\n        \n\n    });\n</script>\n\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n\n<script type=\"text/javascript\">\n\n    $(document).ready(function () {\n        var rowID = 1;\n        var rowIDLocation = 1;\n        $(\"#add-location\").click(function () {\n            var cloneDiv = $( \"#locationDivClone\" ).clone().removeClass('d-none').removeAttr('id');\n            cloneDiv.find('.country-input ').attr('name', 'country_id['+rowIDLocation+']').removeClass('d-none');\n            cloneDiv.find('.state-input ').attr('name', 'state_id['+rowIDLocation+']').removeClass('d-none');\n            cloneDiv.find('.city-input').attr('name', 'city_id['+rowIDLocation+']').removeClass('d-none');\n            cloneDiv.find('.country-input ').attr('id', 'country_id_'+rowIDLocation);\n            cloneDiv.find('.state-input ').attr('id', 'state_id_'+rowIDLocation);\n            cloneDiv.find('.city-input').attr('id', 'city_id_'+rowIDLocation);\n            var row_id = rowIDLocation;\n            \n            cloneDiv.find('.country-input').change( function() { \n                \n                $(\"#state_id_\"+row_id).empty().trigger(\"change\");\n                var newStateOption = new Option('Loading..', '', false, false);\n                $(\"#state_id_\"+row_id).append(newStateOption).trigger('change');\n                $.ajax({\n                    url:  \"{{ url('admin/pet-pros/get-states') }}/\"+$(this).val(),\n                    type: \"get\",\n                    data: {},\n                    success: function(data){\n                      \n                        $(\"#state_id_\"+row_id).empty().trigger(\"change\");\n                        var newStateOption = new Option('Select', '', false, false);\n                        $(\"#state_id_\"+row_id).append(newStateOption).trigger('change');\n                        if(data){\n                        for (var j = 0; j < data.data.length; j++) {\n                            $(\"<option/>\").attr(\"value\", data.data[j].id).text(data.data[j].name).appendTo($(\"#state_id_\"+row_id));\n                        }\n                    }\n                      \n                    }\n                });\n            });\n\n            cloneDiv.find('.state-input').change( function() { \n                $(\"#city_id_\"+row_id).empty().trigger(\"change\");\n                var newStateOption = new Option('Loading..', '', false, false);\n                $(\"#city_\"+row_id).append(newStateOption).trigger('change');\n                $.ajax({\n                    url:  \"{{ url('admin/pet-pros/get-cities') }}/\"+$(this).val(),\n                    type: \"get\",\n                    data: {},\n                    success: function(data){\n                      \n                        $(\"#city_id_\"+row_id).empty().trigger(\"change\");\n                        var newStateOption = new Option('Select', '', false, false);\n                        $(\"#city_id_\"+row_id).append(newStateOption).trigger('change');\n                        if(data){\n                        for (var j = 0; j < data.data.length; j++) {\n                            $(\"<option/>\").attr(\"value\", data.data[j].id).text(data.data[j].name).appendTo($(\"#city_id_\"+row_id));\n                        }\n                    }\n                      \n                    }\n                });\n            });\n            rowIDLocation++;\n            cloneDiv.appendTo( \"#locationDiv\" );\n        });\n       /*\n        var cloneDiv = $( \"#clon-add-gallery-image-div\" ).clone().removeClass('d-none').removeAttr('id');\n        cloneDiv.find('.upload-image-input ').attr('name', 'row['+rowID+'][image]');\n        cloneDiv.find('.cropped_image ').attr('name', 'row['+rowID+'][cropped_image]');\n        cloneDiv.find('.upload-img-btn').attr('for', 'image_'+rowID);\n        cloneDiv.find('.upload-image-input').attr('id', 'image_'+rowID);\n        cloneDiv.find('.upload-demo').attr('id', 'upload-demo_'+rowID);\n        cloneDiv.find('.is_cover_image').val(rowID);\n        rowID++;\n        cloneDiv.appendTo( \"#add-new-gallery-image-div\" );\n        */\n\n        $(\"#add-gallery-image\").click(function () {\n            var cloneDiv = $( \"#clon-add-gallery-image-div\" ).clone().removeClass('d-none').removeAttr('id');\n            cloneDiv.find('.upload-image-input ').attr('name', 'row['+rowID+'][image]');\n            cloneDiv.find('.cropped_image ').attr('name', 'row['+rowID+'][cropped_image]');\n            cloneDiv.find('.upload-img-btn').attr('for', 'image_'+rowID);\n            cloneDiv.find('.upload-image-input').attr('id', 'image_'+rowID);\n            cloneDiv.find('.upload-demo').attr('id', 'upload-demo_'+rowID);\n            cloneDiv.find('.is_cover_image').attr('id', 'is_cover_image_'+rowID).val(rowID);\n            cloneDiv.find('.is_cover_image_label').attr('for', 'is_cover_image_'+rowID);\n            rowID++;\n            cloneDiv.appendTo( \"#add-new-gallery-image-div\" );\n        });\n\n        $(\"body\").delegate(\".upload-image-input\", \"change\", function(){\n            var fileName = event.target.files[0].name;\n            var mainDiv = $(this).closest('.main-gallery-image-div');\n            $(this).closest('.upload-image-div').find(\".img-name-lbl\").html(fileName).removeClass('d-none');\n            ;\n            mainDiv.find('.hs-blog-img-preview').css(\"display\", 'block');\n            displayImageOnFileSelect(this,  mainDiv.find('.img-thumbnail'));\n\n            if(! mainDiv.find('.upload-demo').data('croppie') ) {\n                var resize = mainDiv.find('.upload-demo').croppie({\n                    enableExif: true,\n                    enableOrientation: true,\n                    viewport: {\n                        width: 100,\n                        height: 100,\n                        type: 'square'\n                    },\n                    boundary: {\n                        width: 150,\n                        height: 150\n                    }\n                });\n            } else {\n                var resize = mainDiv.find('.upload-demo');\n            }\n\n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n            reader.readAsDataURL(this.files[0]);\n            mainDiv.find('.tc-crop-img-section').show();\n        });\n\n        $(\"body\").delegate(\".upload-old-image-input\", \"change\", function(){\n            var fileName = event.target.files[0].name;\n            var mainDiv = $(this).closest('.main-gallery-image-div');           \n            $(this).closest('.upload-image-div').find(\".img-name-lbl\").html(fileName).removeClass('d-none');\n            ;\n            mainDiv.find('.hs-blog-img-preview').css(\"display\", 'block');\n            displayImageOnFileSelect(this,  mainDiv.find('.img-thumbnail'));\n\n            if(! mainDiv.find('.upload-demo').data('croppie') ) {\n                var resize = mainDiv.find('.upload-demo').croppie({\n                    enableExif: true,\n                    enableOrientation: true,\n                    viewport: {\n                        width: 100,\n                        height: 100,\n                        type: 'square'\n                    },\n                    boundary: {\n                        width: 150,\n                        height: 150\n                    }\n                });\n            } else {\n                var resize = mainDiv.find('.upload-demo');\n            }\n\n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n            reader.readAsDataURL(this.files[0]);\n            mainDiv.find('.tc-crop-img-section').show();\n        });\n\n        $(\"body\").delegate(\".upload-image\", \"click\", function(ev){\n            var mainDiv = $(this).closest('.main-gallery-image-div');\n            mainDiv.find('.upload-demo').croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n                var img = rawcanv.toDataURL();\n                mainDiv.find('.cropped_image').val(img.split(',')[1]);\n                html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n                mainDiv.find(\".hs-blog-img-preview\").html(html);\n            });\n            return false;\n        });\n\n        function displayImageOnFileSelect(input, thumbElement) {\n            if (input.files && input.files[0]) {\n                var reader = new FileReader();\n                reader.onload = function (e) {\n                    $(thumbElement).attr('src', e.target.result).show();\n                }\n                reader.readAsDataURL(input.files[0]);\n            }\n        }\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                'row[1][image]': {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n            }\n        });\n        \n        var deletedGallery = []; \n        $(\"body\").delegate(\".delete-old-gallery-image\", \"click\", function(){ \n            var serviceid = $(this).closest('.main-gallery-image-div').attr('data-galleryid'); \n            deletedGallery.push(serviceid); \n            $(\"#deletedGallery\").val(deletedGallery); \n            $(this).closest('.main-gallery-image-div').remove();            \n        });\n\n        $(\"body\").delegate(\".delete-gallery-image\", \"click\", function(){            \n            $(this).closest('.main-gallery-image-div').remove();           \n        });\n\n\n        \n\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pros/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"button\">Save</button>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }} </h2>\n                @endif\n                <div class=\"\">\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset('plugins/jquery-validate/jquery.form.js') }} \"></script>\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n\n    \n\n    $('form').ajaxForm({\n        beforeSend: function() {\n            var percentVal = 'Saving... (0%)';                    \n            $(\"#submitFormBtn\").html(percentVal);\n            $(\"#submitFormBtn\").attr(\"disabled\", true);\n        },\n        uploadProgress: function(event, position, total, percentComplete) {\n            if( percentComplete < 99.99 ) {\n                var percentVal = \"Saving... (\"+ percentComplete + '%)';\n                $(\"#submitFormBtn\").html(percentVal);                \n            }\n        },\n        complete: function(xhr) {\n            $(\"#submitFormBtn\").html(\"Saving... (100%)\");    \n            $(\"#submitFormBtn\").attr(\"disabled\", false);            \n            if(xhr.status === 200  ) {                \n                $(\"#submitFormBtn\").html('Save'); \n                fnToastSuccess(xhr.responseJSON[\"message\"]);\n            } else {\n                fnToastError(xhr.responseJSON[\"message\"]);\n            }\n            setTimeout(() => {                                            \n                window.location.href = \"{!! url(\"admin/pet-pros\") !!}\";         \n            }, 1000);\n        },\n        error:  function(xhr, desc, err) {\n            $(\"#submitFormBtn\").attr(\"disabled\", false);\n            fnToastError(err);\n            console.debug(xhr);\n            console.log(\"Desc: \" + desc + \"\\nErr:\" + err);\n        }\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pros/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n<link href=\"{{ asset('plugins/sweetalert2/sweetalert2.min.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"button\">Save</button>\n        </div>\n    </div>\n\n\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                @endif\n                <div class=\"\">\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n\n            <div class=\"wag-inner-section-block-main\">\n                <div class=\"wag-donation-link-header-bar\">\n                    <h2 class=\"wag-admin-page-title-main\">Deals</h2>\n                    <a class=\"wag-admin-btns-main\" href='{{\"$module_route/$result->id/deals/create\"}}' id=\"add_deal\">Add New +</a>\n                </div>\n                <div class=\"wag-table-main wag-inner-page-table-main\">\n                    <table class=\"table project-datatable deal-datatable\" >\n                        <thead>\n                            <tr>\n                                <th>Deal Text</th>\n                                <th>Claimed</th>\n                                <th>Start Date</th>\n                                <th>End Date</th>\n                                <th>Status</th>\n                                <th>Action</th>\n                            </tr>\n                        </thead>\n                    </table>\n                </div>\n            </div>\n\n            <div class=\"wag-inner-section-block-main\">\n                <div class=\"wag-donation-link-header-bar\">\n                    <h2 class=\"wag-admin-page-title-main\">Events</h2>\n                    <a class=\"wag-admin-btns-main\" href='{{\"$module_route/$result->id/events/create\"}}' id=\"add_event\">Add New +</a>\n                </div>\n                <div class=\"wag-table-main wag-inner-page-table-main\">\n                    <table class=\"table project-datatable event-datatable\" >\n                        <thead>\n                            <tr>\n                                <th>Event Name</th>\n                                <th>Date</th>\n                                <th>Time</th>\n                                <th>Address</th>\n                                <th>URL</th>\n                                <th>Action</th>\n                            </tr>\n                        </thead>\n                    </table>\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset('plugins/jquery-validate/jquery.form.js') }} \"></script>\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n<script src=\"{{ asset('plugins/sweetalert2/es6-promise.auto.min.js') }} \"></script>\n<script src=\"{{ asset('plugins/sweetalert2/sweetalert2.min.js') }} \"></script>\n\n<script>\n    $(document).ready(function () {\n\n        var oDealTable = $('.deal-datatable').DataTable({\n                \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n                processing: true,\n                serverSide: true,\n                responsive: true,\n                pagingType: \"numbers\",\n                lengthChange: false,\n                bInfo : false,\n                \"fnDrawCallback\": function(oSettings) {\n                    if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                        $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                    }\n                },\n                \"ajax\": {\n                    \"url\": \"{!! $module_route.'/'.$result->id.'/deals/datatable' !!}\",\n                    \"data\": function ( d ) {\n                    }\n                },\n                columns: [\n\n                    { data: 'deal', name: 'deal',className:'user-name-details'},\n                    { data: 'claimed', name: 'claimed'},\n                    { data: 'formated_start_date', name: 'start_date'},\n                    { data: 'formated_end_date', name: 'end_date'},\n                    {\n                        data:  null,\n                        orderable: false,\n                        searchable: false,\n                        responsivePriority: 1,\n                        targets: 0,\n                        width: 70,\n                        className: 'text-right',\n                        render:function(o){\n                            var str = \"\";\n\n                            if( o.status == 'active' ) {\n                                str += \"<button type='button' class='btn btn-success'>Active</button>\";\n                            } else {\n                                str += \"<button type='button' class='btn btn-danger'>Pause</button>\";\n                            }\n\n                            return str;\n                        }\n                    },\n                    {\n                        data:  null,\n                        orderable: false,\n                        searchable: false,\n                        responsivePriority: 1,\n                        targets: 0,\n                        width: 70,\n                        className: 'text-right',\n                        render:function(o){\n                            var str = \"\";\n\n                            str += \"<a href='javascript:void(0);' title='Status' class='changeDealStatus' val='\" + o.id + \"' >\";\n                            if( o.status == 'active' ) {\n                                str += \"<i class='fa fa-pause-icon'></i>\";\n                            } else {\n                                str += \"<i class='fa fa-play'></i>\";\n                            }\n                            str +=\"</a>\";\n\n                            str += \" <a href='{!!  $module_route  !!}/{{ $result->id }}/deals/\"+o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n\n                            str += \" <a href='javascript:void(0);' class='deleteDealRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon'></i></a> \";\n\n                            return str;\n                        }\n                    }\n                ]\n        });\n\n        var oEventTable = $('.event-datatable').DataTable({\n                \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n                processing: true,\n                serverSide: true,\n                responsive: true,\n                pagingType: \"numbers\",\n                lengthChange: false,\n                bInfo : false,\n                \"fnDrawCallback\": function(oSettings) {\n                    if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                        $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                    }\n                },\n                \"ajax\": {\n                    \"url\": \"{!! $module_route.'/'.$result->id.'/events/datatable' !!}\",\n                    \"data\": function ( d ) {\n                    }\n                },\n                columns: [\n\n                    { data: 'name', name: 'name',className:'user-name-details'},\n                    { data: 'formated_event_date', name: 'event_date'},\n                    { data: 'formated_event_start_time', name: 'start_time'},\n                    { data: 'address', name: 'address'},\n\n                    {\n                        data:  null,\n                        orderable: false,\n                        searchable: false,\n                        responsivePriority: 1,\n                        targets: 0,\n                        width: 70,\n                        render:function(o){\n\n                            var str = \"<a href='\"+ o.url +\"' target='_blank' title='url'><i class='fa fa-link'></i></a>\";\n\n                            return str;\n                        }\n                    },\n                    {\n                        data:  null,\n                        orderable: false,\n                        searchable: false,\n                        responsivePriority: 1,\n                        targets: 0,\n                        width: 70,\n                        className: 'text-right',\n                        render:function(o){\n                            var str = \"\";\n\n                            str += \"<a href='javascript:void(0);' class='changeEventStatus' val='\" + o.id + \"'>\";\n                            if( o.status == 'active' ) {\n                                str += \"<i class='fa fa-pause-icon'></i>\";\n                            } else {\n                                str += \"<i class='fa fa-play'></i>\";\n                            }\n                            str +=\"</a>\";\n\n                            str += \" <a href='{!!  $module_route  !!}/{{ $result->id }}/events/\"+o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n\n                            str += \" </a><a href='javascript:void(0);' class='deleteEventRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon'></i></a> \";\n\n                            return str;\n                        }\n                    }\n                ]\n        });\n\n        //delete deal Record\n        jQuery(document).on('click', '.deleteDealRecord', function(event) {\n            var id = $(this).attr('val');\n            var deleteUrl = \"{!!  $module_route  !!}/{{ $result->id }}/deals/\" + id;\n            var isDelete = deleteRecordByAjax(deleteUrl, \"Deal\", oDealTable);\n        });\n\n        //delete event Record\n        jQuery(document).on('click', '.deleteEventRecord', function(event) {\n            var id = $(this).attr('val');\n            var deleteUrl = \"{!!  $module_route  !!}/{{ $result->id }}/events/\" + id;\n            var isDelete = deleteRecordByAjax(deleteUrl, \"Event\", oEventTable);\n        });\n\n        //delete gallery image Record\n        jQuery(document).on('click', '.deleteGalleryImageRecord', function(event) {\n            var id = $(this).attr('val');\n            var deleteUrl = \"{!!  $module_route  !!}/{{ $result->id }}/gallery/\" + id;\n            var isDelete = deleteRecordByAjax(deleteUrl, \"Gallery Image\", '');\n\n        });\n\n        //Change Deal Staus Record\n        jQuery(document).on('click', '.changeDealStatus', function(event) {\n            var id = $(this).attr('val');\n\n            var changeStatusUrl = \"{!!  $module_route  !!}/{{ $result->id }}/deals/change-deal-status/\"+id;\n            var isDelete = toggleStatusRecordByAjax(changeStatusUrl, oDealTable);\n        });\n\n        //Change Event Staus Record\n        jQuery(document).on('click', '.changeEventStatus', function(event) {\n            var id = $(this).attr('val');\n\n            var changeStatusUrl = \"{!!  $module_route  !!}/{{ $result->id }}/events/change-events-status/\"+id;\n            var isDelete = toggleStatusRecordByAjax(changeStatusUrl, oEventTable);\n        });\n    }); \n\n    $('form').ajaxForm({\n        beforeSend: function() {\n            var percentVal = 'Saving... (0%)';                    \n            $(\"#submitFormBtn\").html(percentVal);\n            $(\"#submitFormBtn\").attr(\"disabled\", true);\n        },\n        uploadProgress: function(event, position, total, percentComplete) {\n            if( percentComplete < 99.99 ) {\n                var percentVal = \"Saving... (\"+ percentComplete + '%)';\n                $(\"#submitFormBtn\").html(percentVal);                \n            }\n        },\n        complete: function(xhr) {\n            $(\"#submitFormBtn\").html(\"Saving... (100%)\");                \n            $(\"#submitFormBtn\").attr(\"disabled\", false);\n            if(xhr.status === 200  ) {                \n                $(\"#submitFormBtn\").html('Save'); \n                fnToastSuccess(xhr.responseJSON[\"message\"]);\n            } else {\n                fnToastError(xhr.responseJSON[\"message\"]);\n            }\n            setTimeout(() => {                                            \n                window.location.href = \"{!! url(\"admin/pet-pros\") !!}\";         \n            }, 1000);\n        },\n        error:  function(xhr, desc, err) {\n            $(\"#submitFormBtn\").attr(\"disabled\", false);\n            fnToastError(err);\n            console.debug(xhr);\n            console.log(\"Desc: \" + desc + \"\\nErr:\" + err);\n        }\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-pros/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n        </div>\n    </div>\n\n    <div class=\"card-header d-none\">\n        @if(isset($module_name))\n            <h5 class=\"card-title mb-0 \">{{  $module_name }}</h5>\n        @endif\n    </div>\n\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>Pet Pro Name</th>\n                    <th>Email</th>\n                    <th>Phone</th>\n                    <th>City, State</th>\n                    <th>Date Joined</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n\n\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'store_name', name: 'store_name'},\n                { data: 'email', name: 'email'},\n                { data: 'phone_number', name: 'phone_number'},\n                { data: 'city_state', name: 'city.name'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-type/_form.blade.php",
    "content": "@push(\"styles\")\n<style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style>\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/pet-type/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n    <section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n        <div class=\"wag-page-main-header-bar\">\n            <div class=\"wag-title-bar-main\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n            <div class=\"wag-title-and-nemu-block-main\">\n                <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n            </div>\n        </div>\n\n        <div class=\"wag-table-main\">\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h5 class=\"card-title mb-0 \">{{  $module_name }}</h5>\n                @endif\n            </div>\n            <table class=\"table project-datatable\" >\n                <thead>\n                    <tr>\n                        <th>Name</th>\n                        <th>Date Added</th>\n                        <th>Action</th>\n                    </tr>\n                </thead>\n            </table>\n        </div>\n    </section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){                        \n                        var btnStr = \"\";\n                        btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                        if( !o.pet_pro_count ){\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n                        } else {\n                            btnStr += \" <a href='javascript:void(0);' class='disabled-delete' title='You can not delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";                            \n                        }\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n    //delete blog\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var eventURL = \"{!!  $module_route  !!}/\" + id;\n        var title = \"Delete Pet type?\";\n        var text = \"Once pet type is deleted, all pet pros under this pet type will be deleted as well.\";\n        var method = \"DELETE\";\n        var successMessage = \"Pet pro and pet type deleted.\";\n        changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/pet-type');  !!}\");\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-review-categories/_form.blade.php",
    "content": "@push(\"styles\")\n@endpush\n\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-review-categories/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n    <section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n        <div class=\"wag-page-main-header-bar\">\n            <div class=\"wag-title-bar-main\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n                <div class=\"card-header d-none\">\n                    @if(isset($module_name))\n                        <h5 class=\"card-title mb-0 \">{{  $module_name }}</h5>\n                    @endif\n\n                </div>\n            </div>\n            <div class=\"wag-title-and-nemu-block-main\">\n                <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n            </div>\n        </div>\n        <div class=\"wag-table-main\">\n            <table class=\"table project-datatable\" >\n                <thead>\n                    <tr>\n                        <th>Name</th>\n                        <th>Date Added</th>\n                        <th>Action</th>\n                    </tr>\n                </thead>\n            </table>\n        </div>\n    </section>\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'formated_created_at', name: 'created_at', width: 90},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-review-deals/_form.blade.php",
    "content": "@push(\"styles\")\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/timepicker/jquery-clockpicker.min.css') }}\">\n<link rel=\"stylesheet\" type=\"text/css\" href=\"{{ asset('plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css') }}\">\n{{-- <style>\n    .col-form-label {\n        padding-left: 0;\n        padding-right: 0;\n    }\n</style> --}}\n@endpush\n<div class=\"wag-inner-section-block-main\">\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Deal</label><br/>\n                {{ Form::text('deal', null, ['id' => 'deal', 'class'=>\"form-control\"]) }}\n                @if($errors->has('deal'))\n                    <p class=\"text-danger\">{{ $errors->first('deal') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Fine Print</label><br />\n                {{ Form::textarea('fine_print', null, ['class'=>\"form-control\", \"rows\" => 5]) }}\n                @if($errors->has('fine_print'))\n                    <span class=\"help-block m-b-none\">{{ $errors->first('fine_print') }}</span>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>Start Date</label><br/>\n                {{ Form::text('start_date', null, ['id' => 'start_date', 'class'=>\"form-control\"]) }}\n                @if($errors->has('start_date'))\n                    <p class=\"text-danger\">{{ $errors->first('start_date') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n            <div class=\"form-group\">\n                <label>End Date</label><br/>\n                {{ Form::text('end_date', null, ['id' => 'end_date', 'class'=>\"form-control\"]) }}\n                @if($errors->has('end_date'))\n                    <p class=\"text-danger\">{{ $errors->first('end_date') }}</p>\n                @endif\n            </div>\n        </div>\n    </div>\n</div>\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n<script src=\"{{ asset('plugins/bootstrap-datepicker/js/bootstrap-datepicker.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $('#start_date').datepicker({\n            format: 'yyyy-mm-dd',\n            autoclose: true,\n            todayHighlight: true,\n        });\n\n        $('#end_date').datepicker({\n            format: 'yyyy-mm-dd',\n            autoclose: true,\n            todayHighlight: true,\n        });\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                deal: {\n                    required: true,\n                    maxlength: 255\n                },\n\n                fine_print: {\n                    required: true\n                },\n\n                start_date: {\n                    //required: true\n                    required: function(element){\n                        return $(\"#end_date\").val()!=\"\";\n                    }\n                },\n\n                end_date: {\n                    //required: true\n                    required: function(element){\n                        return $(\"#start_date\").val()!=\"\";\n                    }\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-review-deals/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/product-reviews/'.$watch_and_learn_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                @endif\n                <div class=\"wag-inner-section-block-main\">\n                    @include(\"$moduleView._form\")\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-review-deals/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $singular_module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ url('admin/product-reviews/'.$watch_and_learn_id.'/edit') }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"submitFormBtn\" class=\"wag-admin-btns-main\" type=\"submit\">Save</button>\n        </div>\n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"wag-inner-page-main-section\">\n                @if(isset($singular_module_name))\n                    <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                @endif\n                @include(\"$moduleView._form\")\n            </div>\n        </div>\n    </div>\n{!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-reviews/_form.blade.php",
    "content": "@push(\"styles\")\n<style>   \n    \n    .core_edittable .referral_ftrbtn *{\n      width: 149px!important;\n      margin-right: 9px;\n    }\n    .core_edittable .referral_ftrbtn *:last-child {\n      float: unset;\n    }\n    .editorbox .col-sm-10{\n        width: 70% !important;\n    }\n    .editorbox .col-sm-10 .note-editor{\n        border: 1px solid #dddfe1;\n        border-radius: 5px;\n        overflow: hidden;\n    }\n\n    @media screen and (max-width:768px){\n        .editorbox .col-sm-10{width: 100% !important;}\n    }\n    \n    .close {\n      order: 2;\n    }\n    textarea{\n        overflow: hidden !important;    \n    }\n</style>\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Categories</label>\n            {{ Form::select('category_id[]',$categories, ( isset($selectedCategories) && count($selectedCategories))?$selectedCategories:null,  ['id'=> 'category_id', 'class' => 'form-control','multiple' => 'multiple']) }}\n            @if($errors->has('category_id'))\n                <p class=\"text-danger\">{{ $errors->first('category_id') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>Title</label>\n            {{ Form::text('title', null, ['id' => 'title', 'class'=>\"form-control\"]) }}\n            @if($errors->has('title'))\n                <p class=\"text-danger\">{{ $errors->first('title') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label class=\"col-form-label\">Author</label>\n            {{ Form::select('author_id', [ \"\" => \"Select\"] + $authors, null, ['id'=> 'author_id', 'class' => 'form-control']) }}\n            @if($errors->has('author_id'))\n                <p class=\"text-danger\">{{ $errors->first('author_id') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Blog Meta Description</label>\n            {{ Form::textarea('blog_meta_description', null, ['id' => 'blog_meta_description', 'class'=>\"form-control\", 'rows' => 1]) }}\n            @if($errors->has('blog_meta_description'))\n                <p class=\"text-danger\">{{ $errors->first('blog_meta_description') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <div class=\"hs-user\">\n                <label>Thumbnail</label><br />\n\t\t\t\t<label for=\"image\" class=\"btn upload-img-btn\">Upload</label>\n\t\t\t\t<label class=\"img-name-lbl ml-3 d-none\"></label><br />\n                <input type=\"hidden\" name=\"cropped_image\" id=\"cropped_image\" value=\"\" style=\"display:none\" />\n                {{ Form::file('image', ['id' => 'image', 'class'=>\"form-control d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n                @if($errors->has('image'))\n                    <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"form-group\">\n            <div class=\"hs-user\">\n                @if(isset($result) && $result->thumbnail)\n                    <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 100px; height: 100px;\">\n                        <img src=\"{{ $result->thumbnail_thumb_full_path }}\" class=\"img-thumbnail\">\n                    </div>\n                @else\n                    <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 100px; height: 100px; display: none;\">\n                        <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                    </div>\n                @endif\n            </div>\n            <div class=\"tc-crop-img-section\" style=\"display: none;\">\n                <div id=\"upload-demo\"></div>\n                <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n            </div>\n        </div>\n        <div class=\"form-group\">\n            <label>Image Alt Text</label>\n            {{ Form::text('alt_image_text', null, ['id' => 'alt_image_text', 'class'=>\"form-control\"]) }}\n            @if($errors->has('alt_image_text'))\n                <p class=\"text-danger\">{{ $errors->first('alt_image_text') }}</p>\n            @endif\n        </div>       \n        \n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $('#blog_meta_description').keyup();\n        var isContentUpdated = false;\n        $(window).bind('beforeunload', function(e){\n            if(isContentUpdated) {\n                return true;\n            } else {\n                return undefined;\n            }\n        });\n\n        $('form').on('keyup change paste', 'input, select, textarea', function(){\n            isContentUpdated = true;\n        });        \n        $('#category_id').select2({\n\t\t\ttags: false,\n\t\t\tplaceholder: 'Select categories'\n\t\t});\n        $(\"#form_validate\").validate({\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                'category_id[]': {\n                    required: true\n                },\n                title: {\n                    required: true,\n                    maxlength: 255\n                },\n                author_id: {\n                },\n                image: {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n                blog_meta_description: {\n                    required: true,\n                    maxlength: 255\n                },\n                alt_image_text: {\n                    required: true,\n                    maxlength: 255\n                }                \n            }\n        });\n\n        $(\"#form_validate\").submit(function(){\n            isContentUpdated=false;\n        });\n\n        var resize = $('#upload-demo').croppie({\n            enableExif: true,\n            enableOrientation: true,\n            viewport: {\n                width: 150,\n                height: 100,\n                type: 'square'\n            },\n            boundary: {\n                width: 150,\n                height: 150\n            }\n        });\n\n        $('#image').on('change', function (event) {\n\t\t\tvar fileName = event.target.files[0].name;\n\t\t\t$(\".img-name-lbl\").html(fileName).removeClass('d-none');\n\n\t\t\t$('#preview-crop-image').css(\"display\", 'block');\n\t\t\tdisplayImageOnFileSelect(this, $('.img-thumbnail'));\n\t\t\t\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n\n            reader.readAsDataURL(this.files[0]);\n            $('.tc-crop-img-section').show();\n        });\n\n\t\tfunction displayImageOnFileSelect(input, thumbElement) {\n\t\t\tif (input.files && input.files[0]) {\n\t\t\t\tvar reader = new FileReader();\n\n\t\t\t\treader.onload = function (e) {\n\t\t\t\t\t$(thumbElement).attr('src', e.target.result).show();\n\t\t\t\t}\n\n\t\t\t\treader.readAsDataURL(input.files[0]);\n\t\t\t}\n\t\t}\n\n       $(document).on(\"change\", \".file_multi_video\", function(evt) {\n            $('#preview-video').show();\n            var $source = $('#video_here');\n            $source[0].src = URL.createObjectURL(this.files[0]);\n            $source.parent()[0].load();\n        });\n\n        $('.upload-image').on('click', function (ev) {\n           resize.croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n             // resample_single(rawcanv, 340, 180, true);\n             var img = rawcanv.toDataURL();\n\n               $('#cropped_image').val(img.split(',')[1]);\n\n               html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n               $(\"#preview-crop-image\").html(html);\n           });\n           return false;\n       });\n\n    });\n\n    $(\"textarea\").keyup(function(e) {\n        while($(this).outerHeight() < this.scrollHeight + parseFloat($(this).css(\"borderTopWidth\")) + parseFloat($(this).css(\"borderBottomWidth\"))) {\n            $(this).height($(this).height()+1);\n        };\n    });\n\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-reviews/content-builder.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n\n\n    <link rel=\"stylesheet\" href=\"//unpkg.com/grapesjs/dist/css/grapes.min.css\">\n    \n    <!-- plugins -->\n    <script src=\"//unpkg.com/grapesjs\"></script>\n    <script src=\"https://unpkg.com/grapesjs-preset-webpage\"></script>\n\n    <link href=\"{{ asset('admin-theme/css/grapes-builder.css') }}\" rel=\"stylesheet\">\n\n    <style>\n        body,\n      html {\n        height: 100%;\n        margin: 0;\n      }\n\n      *{\n          box-sizing: border-box;\n      }\n    </style>\n    <title>Editor</title>\n</head>\n<body>\n\n  <form id='description-form' method=\"POST\" action=\"{{ $module_route.'/'.$watchAndLearn['id'].'/save-description' }}\" style=\"display:none\">\n    @csrf\n    <input type=\"hidden\" name=\"_method\" value=\"PUT\">\n    <textarea name=\"description\" id=\"description\"></textarea>\n</form>\n\n    \n    <div id=\"gjs\" style=\"height:0px; overflow:hidden\"></div>\n\n\n  <script>\n    const exist = `{!! $watchAndLearn[\"description\"] !!}`;\n    const editor = grapesjs.init({\n  height: \"100%\",\n  showOffsets: 1,\n  noticeOnUnload: 0,\n  storageManager: {\n    autoload: 0,\n  },\n  container: \"#gjs\",\n  fromElement: true,\n  styleManager: {\n    clearProperties: 1,\n  },\n  avoidInlineStyle: 1,\n  commands: {\n    defaults: [\n      {\n        id: \"save-html\",\n        run(e) {\n          saveHTML(e);\n        },\n      },\n    ],\n  },\n  plugins: [\"gjs-preset-webpage\"],\n  pluginsOpts: {\n    \"gjs-preset-webpage\": {\n      navbarOpts: false,\n      countdownOpts: false,\n      formsOpts: false,\n      aviaryOpts: false,\n      blocksBasicOpts: {\n        flexGrid: 1,\n        blocks: [\n          \"column1\",\n          \"column2\",\n          \"column3\",\n          \"column3-7\",\n          \"text\",\n          \"link\",\n          \"image\",\n          \"video\",\n        ],\n      },\n      customStyleManager: [\n        {\n          name: \"General\",\n          buildProps: [\n            \"float\",\n            \"display\",\n            \"position\",\n            \"top\",\n            \"right\",\n            \"left\",\n            \"bottom\",\n          ],\n          properties: [\n            {\n              name: \"Alignment\",\n              property: \"float\",\n              type: \"radio\",\n              defaults: \"none\",\n              list: [\n                { value: \"none\", className: \"fa fa-times\" },\n                { value: \"left\", className: \"fa fa-align-left\" },\n                { value: \"right\", className: \"fa fa-align-right\" },\n              ],\n            },\n            { property: \"position\", type: \"select\" },\n          ],\n        },\n        {\n          name: \"Dimension\",\n          open: false,\n          buildProps: [\n            \"width\",\n            \"flex-width\",\n            \"height\",\n            \"max-width\",\n            \"min-height\",\n            \"margin\",\n            \"padding\",\n          ],\n          properties: [\n            {\n              id: \"flex-width\",\n              type: \"integer\",\n              name: \"Width\",\n              units: [\"px\", \"%\"],\n              property: \"flex-basis\",\n              toRequire: 1,\n            },\n            {\n              property: \"margin\",\n              properties: [\n                { name: \"Top\", property: \"margin-top\" },\n                { name: \"Right\", property: \"margin-right\" },\n                { name: \"Bottom\", property: \"margin-bottom\" },\n                { name: \"Left\", property: \"margin-left\" },\n              ],\n            },\n            {\n              property: \"padding\",\n              properties: [\n                { name: \"Top\", property: \"padding-top\" },\n                { name: \"Right\", property: \"padding-right\" },\n                { name: \"Bottom\", property: \"padding-bottom\" },\n                { name: \"Left\", property: \"padding-left\" },\n              ],\n            },\n          ],\n        },\n        {\n          name: \"Typography\",\n          open: false,\n          buildProps: [\n            \"font-family\",\n            \"font-size\",\n            \"font-weight\",\n            \"letter-spacing\",\n            \"color\",\n            \"line-height\",\n            \"text-align\",\n            \"text-decoration\",\n            \"text-shadow\",\n          ],\n          properties: [\n            { name: \"Font\", property: \"font-family\" },\n            { name: \"Weight\", property: \"font-weight\" },\n            { name: \"Font color\", property: \"color\" },\n            {\n              property: \"text-align\",\n              type: \"radio\",\n              defaults: \"left\",\n              list: [\n                { value: \"left\", name: \"Left\", className: \"fa fa-align-left\" },\n                {\n                  value: \"center\",\n                  name: \"Center\",\n                  className: \"fa fa-align-center\",\n                },\n                {\n                  value: \"right\",\n                  name: \"Right\",\n                  className: \"fa fa-align-right\",\n                },\n                {\n                  value: \"justify\",\n                  name: \"Justify\",\n                  className: \"fa fa-align-justify\",\n                },\n              ],\n            },\n            {\n              property: \"text-decoration\",\n              type: \"radio\",\n              defaults: \"none\",\n              list: [\n                { value: \"none\", name: \"None\", className: \"fa fa-times\" },\n                {\n                  value: \"underline\",\n                  name: \"underline\",\n                  className: \"fa fa-underline\",\n                },\n                {\n                  value: \"line-through\",\n                  name: \"Line-through\",\n                  className: \"fa fa-strikethrough\",\n                },\n              ],\n            },\n            {\n              property: \"text-shadow\",\n              properties: [\n                { name: \"X position\", property: \"text-shadow-h\" },\n                { name: \"Y position\", property: \"text-shadow-v\" },\n                { name: \"Blur\", property: \"text-shadow-blur\" },\n                { name: \"Color\", property: \"text-shadow-color\" },\n              ],\n            },\n          ],\n        },\n        {\n          name: \"Decorations\",\n          open: false,\n          buildProps: [\n            \"opacity\",\n            \"border-radius\",\n            \"border\",\n            \"box-shadow\",\n            \"background-bg\",\n          ],\n          properties: [\n            {\n              type: \"slider\",\n              property: \"opacity\",\n              defaults: 1,\n              step: 0.01,\n              max: 1,\n              min: 0,\n            },\n            {\n              property: \"border-radius\",\n              properties: [\n                { name: \"Top\", property: \"border-top-left-radius\" },\n                { name: \"Right\", property: \"border-top-right-radius\" },\n                { name: \"Bottom\", property: \"border-bottom-left-radius\" },\n                { name: \"Left\", property: \"border-bottom-right-radius\" },\n              ],\n            },\n            {\n              property: \"box-shadow\",\n              properties: [\n                { name: \"X position\", property: \"box-shadow-h\" },\n                { name: \"Y position\", property: \"box-shadow-v\" },\n                { name: \"Blur\", property: \"box-shadow-blur\" },\n                { name: \"Spread\", property: \"box-shadow-spread\" },\n                { name: \"Color\", property: \"box-shadow-color\" },\n                { name: \"Shadow type\", property: \"box-shadow-type\" },\n              ],\n            },\n            {\n              id: \"background-bg\",\n              property: \"background\",\n              type: \"bg\",\n            },\n          ],\n        },\n        {\n          name: \"Extra\",\n          open: false,\n          buildProps: [\"transition\", \"perspective\", \"transform\"],\n          properties: [\n            {\n              property: \"transition\",\n              properties: [\n                { name: \"Property\", property: \"transition-property\" },\n                { name: \"Duration\", property: \"transition-duration\" },\n                { name: \"Easing\", property: \"transition-timing-function\" },\n              ],\n            },\n            {\n              property: \"transform\",\n              properties: [\n                { name: \"Rotate X\", property: \"transform-rotate-x\" },\n                { name: \"Rotate Y\", property: \"transform-rotate-y\" },\n                { name: \"Rotate Z\", property: \"transform-rotate-z\" },\n                { name: \"Scale X\", property: \"transform-scale-x\" },\n                { name: \"Scale Y\", property: \"transform-scale-y\" },\n                { name: \"Scale Z\", property: \"transform-scale-z\" },\n              ],\n            },\n          ],\n        },\n        {\n          name: \"Flex\",\n          open: false,\n          properties: [\n            {\n              name: \"Flex Container\",\n              property: \"display\",\n              type: \"select\",\n              defaults: \"block\",\n              list: [\n                { value: \"block\", name: \"Disable\" },\n                { value: \"flex\", name: \"Enable\" },\n              ],\n            },\n            {\n              name: \"Flex Parent\",\n              property: \"label-parent-flex\",\n              type: \"integer\",\n            },\n            {\n              name: \"Direction\",\n              property: \"flex-direction\",\n              type: \"radio\",\n              defaults: \"row\",\n              list: [\n                {\n                  value: \"row\",\n                  name: \"Row\",\n                  className: \"icons-flex icon-dir-row\",\n                  title: \"Row\",\n                },\n                {\n                  value: \"row-reverse\",\n                  name: \"Row reverse\",\n                  className: \"icons-flex icon-dir-row-rev\",\n                  title: \"Row reverse\",\n                },\n                {\n                  value: \"column\",\n                  name: \"Column\",\n                  title: \"Column\",\n                  className: \"icons-flex icon-dir-col\",\n                },\n                {\n                  value: \"column-reverse\",\n                  name: \"Column reverse\",\n                  title: \"Column reverse\",\n                  className: \"icons-flex icon-dir-col-rev\",\n                },\n              ],\n            },\n            {\n              name: \"Justify\",\n              property: \"justify-content\",\n              type: \"radio\",\n              defaults: \"flex-start\",\n              list: [\n                {\n                  value: \"flex-start\",\n                  className: \"icons-flex icon-just-start\",\n                  title: \"Start\",\n                },\n                {\n                  value: \"flex-end\",\n                  title: \"End\",\n                  className: \"icons-flex icon-just-end\",\n                },\n                {\n                  value: \"space-between\",\n                  title: \"Space between\",\n                  className: \"icons-flex icon-just-sp-bet\",\n                },\n                {\n                  value: \"space-around\",\n                  title: \"Space around\",\n                  className: \"icons-flex icon-just-sp-ar\",\n                },\n                {\n                  value: \"center\",\n                  title: \"Center\",\n                  className: \"icons-flex icon-just-sp-cent\",\n                },\n              ],\n            },\n            {\n              name: \"Align\",\n              property: \"align-items\",\n              type: \"radio\",\n              defaults: \"center\",\n              list: [\n                {\n                  value: \"flex-start\",\n                  title: \"Start\",\n                  className: \"icons-flex icon-al-start\",\n                },\n                {\n                  value: \"flex-end\",\n                  title: \"End\",\n                  className: \"icons-flex icon-al-end\",\n                },\n                {\n                  value: \"stretch\",\n                  title: \"Stretch\",\n                  className: \"icons-flex icon-al-str\",\n                },\n                {\n                  value: \"center\",\n                  title: \"Center\",\n                  className: \"icons-flex icon-al-center\",\n                },\n              ],\n            },\n            {\n              name: \"Flex Children\",\n              property: \"label-parent-flex\",\n              type: \"integer\",\n            },\n            {\n              name: \"Order\",\n              property: \"order\",\n              type: \"integer\",\n              defaults: 0,\n              min: 0,\n            },\n            {\n              name: \"Flex\",\n              property: \"flex\",\n              type: \"composite\",\n              properties: [\n                {\n                  name: \"Grow\",\n                  property: \"flex-grow\",\n                  type: \"integer\",\n                  defaults: 0,\n                  min: 0,\n                },\n                {\n                  name: \"Shrink\",\n                  property: \"flex-shrink\",\n                  type: \"integer\",\n                  defaults: 0,\n                  min: 0,\n                },\n                {\n                  name: \"Basis\",\n                  property: \"flex-basis\",\n                  type: \"integer\",\n                  units: [\"px\", \"%\", \"\"],\n                  unit: \"\",\n                  defaults: \"auto\",\n                },\n              ],\n            },\n            {\n              name: \"Align\",\n              property: \"align-self\",\n              type: \"radio\",\n              defaults: \"auto\",\n              list: [\n                {\n                  value: \"auto\",\n                  name: \"Auto\",\n                },\n                {\n                  value: \"flex-start\",\n                  title: \"Start\",\n                  className: \"icons-flex icon-al-start\",\n                },\n                {\n                  value: \"flex-end\",\n                  title: \"End\",\n                  className: \"icons-flex icon-al-end\",\n                },\n                {\n                  value: \"stretch\",\n                  title: \"Stretch\",\n                  className: \"icons-flex icon-al-str\",\n                },\n                {\n                  value: \"center\",\n                  title: \"Center\",\n                  className: \"icons-flex icon-al-center\",\n                },\n              ],\n            },\n          ],\n        },\n      ],\n    },\n  },\n});\n\n    if (exist) {\n        let dom2 = exist.split('</style>');\n\n        if (dom2.length > 1) {\n            let html = dom2[1];\n            let style = dom2[0] + '</style>'\n            editor.setComponents(html)\n            editor.setStyle(style)\n        } else {\n            editor.setComponents(exist)\n        }\n    }\n\n    const panelManager = editor.Panels;\n\n    var saveButton = panelManager.addButton(\"options\", {\n        id: \"save-panel\",\n        command: \"save-html\",\n        className: \"fa fa-save\",\n    });\n\n    var vieBTN = panelManager.getButton('options', 'sw-visibility');\n\n    if (vieBTN) {\n        vieBTN.attributes.active = true;\n    }\n    async function saveHTML(e) {\n        try {\n            const loaderDiv = document.createElement('div')\n            loaderDiv.style.position = 'absolute';\n            loaderDiv.style.top = 0;\n            loaderDiv.style.bottom = 0;\n            loaderDiv.style.left = 0;\n            loaderDiv.style.right = 0;\n            loaderDiv.style.display = 'grid';\n            loaderDiv.style.placeItems = 'center';\n            loaderDiv.style.backgroundColor = 'rgba(0,0,0,0.4)';\n            loaderDiv.style.zIndex = 11111111111;\n\n            loaderDiv.innerHTML = `<img src=\"/vendor/content-builder/assets/loader.gif\" style=\"margin-right: 10px;\" /> `;\n            document.body.prepend(loaderDiv)\n\n            let html = e.getHtml();\n            const css = e.getCss();\n            const js = e.getJs();\n\n            const div = document.createElement(\"div\");\n            div.innerHTML = html;\n\n            let images = []\n            const imgTags = div.querySelectorAll(\"img\");\n            for (const key in imgTags) {\n                const img = imgTags[key];\n                if (img.src && img.src.includes(\"base64\")) {\n                    images.push(img)\n                };\n            }\n\n            let fd = new FormData();\n            for (let i = 0; i < images.length; i++) {\n                const src = images[i].src;\n\n                const block = src.split(\";\");\n                const contentType = block[0].split(\":\")[1]; // In this case \"image/gif\"\n                const realData = block[1].split(\",\")[1];\n                const blob = b64toBlob(realData, contentType);\n                // upload to server the\n                fd.append(`file[]`, blob)\n\n            }\n\n            if (images.length) {\n                jQuery.ajax({\n                    type: \"POST\",\n                    url: 'http://localhost:8000/admin/watch-and-learn/store-media',\n                    headers: {\n                        'X-CSRF-TOKEN': \"{{ csrf_token() }}\"\n                    },\n                    data: fd,\n                    contentType: false,\n                    processData: false,\n                    success: function(response) {\n                        const imagesSrc = response.data;\n\n                        for (let i = 0; i < images.length; i++) {\n                            images[i].src = imagesSrc[i].img_url\n                        }\n\n                        html = String(div.innerHTML);\n                        const styleTag = `<style>${css}</style>`;\n                        const formatedHtml = styleTag + html;\n                        $(\"#description-form\").find(\"#description\").val(formatedHtml);\n                        $(\"#description-form\").submit();\n                    },\n                    error: function(error) {\n                        console.error(error.responseJSON.message);\n                    }\n                });\n            } else {\n                html = String(div.innerHTML);\n                const styleTag = `<style>${css}</style>`;\n                const formatedHtml = styleTag + html;\n                $(\"#description-form\").find(\"#description\").val(formatedHtml);\n                $(\"#description-form\").submit();\n            };\n        } catch (error) {\n            console.log(error);\n        }\n    }\n\n    function b64toBlob(b64Data, contentType, sliceSize) {\n        contentType = contentType || \"\";\n        sliceSize = sliceSize || 512;\n\n        var byteCharacters = atob(b64Data);\n        var byteArrays = [];\n\n        for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {\n            var slice = byteCharacters.slice(offset, offset + sliceSize);\n\n            var byteNumbers = new Array(slice.length);\n            for (var i = 0; i < slice.length; i++) {\n                byteNumbers[i] = slice.charCodeAt(i);\n            }\n\n            var byteArray = new Uint8Array(byteNumbers);\n\n            byteArrays.push(byteArray);\n        }\n\n        var blob = new Blob(byteArrays, {\n            type: contentType\n        });\n        return blob;\n      }\n    </script>\n  </body>\n</html>"
  },
  {
    "path": "resources/views/admin/main/product-reviews/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n       <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"btn-save-as-draft\" class=\"wag-admin-btns-main\" type=\"submit\">Save as draft</button>\n        </div>\n\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                <div class=\"wag-inner-section-block-main\">\n                    @if(isset($singular_module_name))\n                        <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                    @endif\n                    @include(\"$moduleView._form\")\n\n                    <div class=\"wag-title-and-nemu-block-main\">\n                        {{Form::hidden('blogMode',null,['id' => 'blogMode'])}}                       \n                        {{ Form::button('Next step <img src=\"'. asset('images/Next-step-arrow.svg') .'\" />', ['class'=>'wag-admin-btns-main', 'id' => 'btn-next', 'type' => 'submit']) }}\n                    </div>\n\n                </div>\n            </div>\n        </div>\n    </div>\n\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('#btn-save-as-draft').on('click', function() {\n            $('#blogMode').val('draft');\n        });\n\n        $('#btn-next').on('click', function() {\n            $('#blogMode').val('next');\n        });\n\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-reviews/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n<link href=\"{{ asset('plugins/sweetalert2/sweetalert2.min.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <div class=\"dropdown\">\n                <button class=\"wag-admin-btns-main dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\"  aria-haspopup=\"true\" aria-expanded=\"false\">\n                    Done\n                </button>\n                <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\n                    @if($result->status == 'draft' )                    \n                        <a class=\"dropdown-item draft-blog\" href=\"javascript:void(0);\">Save as draft</a>\n                        <a class=\"dropdown-item publish-blog\" href=\"javascript:void(0);\" >Publish</a>\n                    @else\n                        <a class=\"dropdown-item update-publish-blog\" href=\"javascript:void(0);\">Update & Publish</a>\n                        <a class=\"dropdown-item unpublish-blog\" href=\"javascript:void(0);\">Unpublish</a>\n                    @endif\n                        <a class=\"dropdown-item\" id=\"delete-blog\" href=\"javascript:void(0);\">Delete</a>\n                </div>\n            </div>\n        </div>        \n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                <div class=\"wag-inner-section-block-main\">\n                    @if(isset($singular_module_name))\n                        <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                    @endif\n                    @include(\"$moduleView._form\")\n\n                    <div class=\"wag-title-and-nemu-block-main\">\n                        {{Form::hidden('blogMode',null,['id' => 'blogMode'])}}\n                        {{ Form::button('Next step <img src=\"'. asset('images/Next-step-arrow.svg') .'\" />', ['class'=>'wag-admin-btns-main', 'id' => 'btn-next', 'type' => 'submit']) }}                      \n                    </div>\n                </div>\n            </div>\n        </div>\n        <div class=\"col-md-12\">\n        <div class=\"wag-inner-section-block-main\">\n            <div class=\"wag-donation-link-header-bar\">\n                <h2 class=\"wag-admin-page-title-main\">Deals</h2>\n                <a class=\"wag-admin-btns-main\" href='{{\"$module_route/$result->id/deals/create\"}}' id=\"add_deal\">Add New +</a>\n            </div>\n            <div class=\"wag-table-main wag-inner-page-table-main\">\n                <table class=\"table project-datatable deal-datatable\" >\n                    <thead>\n                        <tr>\n                            <th>Deal Text</th>\n                            <th>Claimed</th>\n                            <th>Start Date</th>\n                            <th>End Date</th>\n                            <th>Status</th>\n                            <th>Action</th>\n                        </tr>\n                    </thead>\n                </table>\n            </div>\n        </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n<script src=\"{{ asset('plugins/sweetalert2/es6-promise.auto.min.js') }} \"></script> <!-- for IE support -->\n<script src=\"{{ asset('plugins/sweetalert2/sweetalert2.min.js') }} \"></script>\n\n<script>\n    $(document).ready(function () {\n        \n        $('#blogMode').val('draft');\n        $('#btn-save-as-draft').on('click', function() {\n            $('#blogMode').val('draft');\n        });\n\n        $('#btn-next').on('click', function() {\n            $('#blogMode').val('next');\n        });\n\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n\n        //delete blog\n        jQuery(document).on('click', '#delete-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id  !!}\";\n            var title = \"Delete post?\";\n            var text = \"Once you delete this blog post, you will no longer be able to view, edit or recover.\";\n            var method = \"DELETE\";\n            var successMessage = \"Product review deleted.\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");            \n        });\n\n        //update-and-publish blog\n        jQuery(document).on('click', '.update-publish-blog', function(event) {\n            $('#blogMode').val('publish');\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";          \n            var title = \"Update post?\";\n            var text = \"\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now updated and published\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/product-reviews');  !!}\");            \n            }\n\n        });\n\n        //unpublish-blog\n        jQuery(document).on('click', '.unpublish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Unpublish post?\";\n            var text = \"Once you unpublish this blog post, it will no longer be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now unpublished\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/product-reviews');  !!}\");            \n            }          \n        });\n\n        //publish-blog blog\n        jQuery(document).on('click', '.publish-blog', function(event) {\n            $('#blogMode').val('publish');\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";\n            console.log('eventURL', eventURL);\n            var title = \"Publish post?\";\n            var text = \"Once published, this post will be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now published\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/product-reviews');  !!}\");            \n            }          \n        });\n\n        //draft-blog\n        jQuery(document).on('click', '.draft-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Save as draft?\";\n            var text = \"This post will not be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now draft\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/product-reviews');  !!}\");            \n            }         \n        });\n\n        // deals table\n        var oDealTable = $('.deal-datatable').DataTable({\n                \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n                processing: true,\n                serverSide: true,\n                responsive: true,\n                pagingType: \"numbers\",\n                lengthChange: false,\n                bInfo : false,\n                \"fnDrawCallback\": function(oSettings) {\n                    if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                        $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                    }\n                },\n                \"ajax\": {\n                    \"url\": \"{!! $module_route.'/'.$result->id.'/deals/datatable' !!}\",\n                    \"data\": function ( d ) {\n                    }\n                },\n                columns: [\n\n                    { data: 'deal', name: 'deal',className:'user-name-details'},\n                    { data: 'claimed', name: 'claimed'},\n                    { data: 'formated_start_date', name: 'start_date'},\n                    { data: 'formated_end_date', name: 'end_date'},\n                    {\n                        data:  null,\n                        orderable: false,\n                        searchable: false,\n                        responsivePriority: 1,\n                        targets: 0,\n                        width: 70,\n                        className: 'text-right',\n                        render:function(o){\n                            var str = \"\";\n\n                            if( o.status == 'active' ) {\n                                str += \"<button type='button' class='btn btn-success'>Active</button>\";\n                            } else {\n                                str += \"<button type='button' class='btn btn-danger'>Pause</button>\";\n                            }\n\n                            return str;\n                        }\n                    },\n                    {\n                        data:  null,\n                        orderable: false,\n                        searchable: false,\n                        responsivePriority: 1,\n                        targets: 0,\n                        width: 70,\n                        className: 'text-right',\n                        render:function(o){\n                            var str = \"\";\n\n                            str += \"<a href='javascript:void(0);' title='Status' class='changeDealStatus' val='\" + o.id + \"' >\";\n                            if( o.status == 'active' ) {\n                                str += \"<i class='fa fa-pause-icon'></i>\";\n                            } else {\n                                str += \"<i class='fa fa-play'></i>\";\n                            }\n                            str +=\"</a>\";\n\n                            str += \" <a href='{!!  $module_route  !!}/{{ $result->id }}/deals/\"+o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n\n                            str += \" <a href='javascript:void(0);' class='deleteDealRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon'></i></a> \";\n\n                            return str;\n                        }\n                    }\n                ]\n        });\n\n        //Change Deal Staus Record\n        jQuery(document).on('click', '.changeDealStatus', function(event) {\n            var id = $(this).attr('val');\n\n            var changeStatusUrl = \"{!!  $module_route  !!}/{{ $result->id }}/deals/change-deal-status/\"+id;\n            var isDelete = toggleStatusRecordByAjax(changeStatusUrl, oDealTable);\n        });\n        \n        //delete deal Record\n        jQuery(document).on('click', '.deleteDealRecord', function(event) {\n            var id = $(this).attr('val');\n            var deleteUrl = \"{!!  $module_route  !!}/{{ $result->id }}/deals/\" + id;\n            var isDelete = deleteRecordByAjax(deleteUrl, \"Deal\", oDealTable);\n        });\n\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-reviews/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n    <style type=\"text/css\" media=\"screen\">\n        .wag-table-main table{\n            padding: 10px;\n        }\n        div.dataTables_wrapper div.dataTables_processing {\n          top: 300px;\n        }\n    </style>\n\n\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n\t\t<div class=\"wag-select-main\">\n\t\t\t{!! Form::select('category' ,(['' => 'All categories']+$categories), null, ['class' => 'form-control', 'id' => 'category']) !!}\n\t\t</div>\n       <!-- <div class=\"wag-published-and-draft-section-main\">\n           <button val='published' class=\"wag-published-and-draft-btns active\">Published</button>\n           <button val='draft' class=\"wag-published-and-draft-btns \">Draft</button>\n       </div> -->\n        <table class=\"table project-datatable wag-watch-and-learn\">\n            <thead>\n                <tr>\n                    <th>Title</th>\n                    <th>Category</th>\n                    <th>Author</th>\n                    <th>Date</th>\n                    <th class='text-left'>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n</section>\n\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n\t$('#category').select2({\n\t\ttags: false,\n\t});\n\n\t$('#category').on('change', function(e) {\n\t\toTable.draw();\n\t\te.preventDefault();\n\t});\n\n    var blogMode = \"published\";\n\n    var oTable = $('.project-datatable').DataTable({\n\t\t\t\"dom\": '<\"wag-header-main\"<\"row\" <\"col-sm-12 col-md-4\"l> <\"col-sm-4\"r> <\"col-sm-12 col-md-4 responsive-search-box\"f>>> <\"table-block table-main home-user-table\"t> <\"table-footer\"<\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>>',\n            // \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            //\"searching\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            /*\"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },*/\n            dom: 'frBtp',\n            buttons: [\n                {\n                    text: 'Published',\n                    attr:  {\n                        id: \"wag-published-btns\",\n                    },\n                    className: 'wag-published-and-draft-btns dtb-active',\n                    action: function ( e, dt, node, config ) {\n                        $(\"#wag-draft-btns\").removeClass('dtb-active');\n                        $(\"#wag-published-btns\").addClass('dtb-active');\n                        blogMode=\"published\";\n                        oTable.draw();\n                    }\n                },\n                {\n                    text: 'Draft',\n                    attr:  {\n                        id: \"wag-draft-btns\",\n                    },\n                    className: 'wag-published-and-draft-btns',\n                    action: function ( e, dt, node, config ) {\n                        $(\"#wag-published-btns\").removeClass('dtb-active');\n                        $(\"#wag-draft-btns\").addClass('dtb-active');\n                        blogMode=\"draft\";\n                        oTable.draw();\n                    }\n                }\n            ],\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n\t\t\t\t\td.blogMode = blogMode ? blogMode : 'published' ;\n\t\t\t\t\td.category_id = $('#category').val();\n                }\n            },\n            columns: [\n                { data: 'title', name: 'title',className:'user-name-details'},\n                { data: 'formated_category', name: 'category.name', width: 200},\n                { data: 'formated_author', name: 'author.name', width: 200},\n                { data: 'formated_created_at', name: 'created_at', width: 110},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-left',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            btnStr += \" <a href='{!!  $module_route  !!}/\"+  o.id +\"' title='Preview'><i class='fa fa-eye'></i></a>\";\n                            /*btnStr += \" <a href='{!!  $module_route  !!}/\"+  o.id +\"/edit/buildwithcontentbuilder' title='Edit With Content Builder'><i class='fa fa-sitemap'></i></a>\";*/\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete blog\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var eventURL = \"{!!  $module_route  !!}/\" + id;\n        var title = \"Delete post?\";\n        var text = \"Once you delete this blog post, you will no longer be able to view, edit or recover.\";\n        var method = \"DELETE\";\n        var successMessage = \"Product review deleted.\";\n        changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/product-reviews/old_content-builder.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"{{ str_replace('_', '-', app()->getLocale()) }}\">\n    <head>\n        <meta charset=\"utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n        <meta name=\"description\" content=\"Wag Enabled\">\n        <meta name=\"author\" content=\"Wag Enabled\">\n\n        <title>{{ config('app.name', 'Wag Enabled') }} | Content Builder</title>\n\n        <!-- favicon icon -->\n        <link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"{{asset('images/favicons/apple-icon-57x57.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"{{asset('images/favicons/apple-icon-60x60.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"{{asset('images/favicons/apple-icon-72x72.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"{{asset('images/favicons/apple-icon-76x76.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"{{asset('images/favicons/apple-icon-114x114.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"{{asset('images/favicons/apple-icon-120x120.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"{{asset('images/favicons/apple-icon-144x144.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"{{asset('images/favicons/apple-icon-152x152.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"{{asset('images/favicons/apple-icon-180x180.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"192x192\"  href=\"{{asset('images/favicons/android-icon-192x192.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"{{asset('images/favicons/favicon-32x32.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"{{asset('images/favicons/favicon-96x96.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"{{asset('images/favicons/favicon-16x16.png')}}\">\n        <link rel=\"manifest\" href=\"{{asset('images/favicons/manifest.json')}}\">\n        <meta name=\"msapplication-TileColor\" content=\"#ffffff\">\n        <meta name=\"msapplication-TileImage\" content=\"{{asset('images/favicons/ms-icon-144x144.png')}}\">\n        <meta name=\"theme-color\" content=\"#ffffff\">\n        <link href=\"{{ asset('admin-theme/fonts/stylesheet.css') }}\" rel=\"stylesheet\">\n\n        <!-- end favicon icon -->\n        <link href=\"{{ asset('vendor/content-builder/contentbuilder/contentbuilder.css').\"?version=\". env(\"APP_CSS_VERSION\", 1) }}\" rel=\"stylesheet\" type=\"text/css\" />\n        <link href=\"{{ asset('vendor/content-builder/assets/minimalist-basic/content-bootstrap.css').\"?version=\". env(\"APP_CSS_VERSION\", 1) }}\" rel=\"stylesheet\" type=\"text/css\" />\n        <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n\n        <!-- <link href=\"https://fonts.googleapis.com/css?family=Lato\" rel=\"stylesheet\" type=\"text/css\" /> -->\n\n        <style>\n            body { background-color: #6161FF; }\n            .is-container {  border-radius: 4px; margin: 60px auto 150px; max-width: 1050px; width:100%; padding: 35px; box-sizing:border-box; background-color: #ffffff;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n            @media all and (max-width: 1080px) {\n                .is-container { /* margin:0 */; }\n            }\n\n            body::-webkit-scrollbar {\n                width: 12px;\n            }\n            body::-webkit-scrollbar-track {\n                background: rgba(255, 255, 255, 0.49);\n                border-radius: 10px;\n                -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\n            }\n            body::-webkit-scrollbar-thumb {\n                border-radius: 20px;\n                -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);\n            }\n\n            body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n            #panelCms { display: flex; justify-content: center; align-items: center; width:100%;height:57px;/* border-top: #f5f5f5 1px solid; background:#ffffff; */position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n            #panelCms button {background: #8A288F;\n                padding: 8px 15px;\n                height: 45px;\n                min-width: 160px;\n                display: inline-flex;\n                justify-content: center;\n                align-items: center;\n                border-radius: 100px;\n                font-size: 14px;\n                font-weight: 500;\n                color: #fff !important;\n                border: none;\n                cursor: pointer;\n                text-transform: uppercase;}\n            .back-arrow {\n                color: #fff;\n                position: absolute;\n                top: 30px;\n                left: 50px;\n                font-size: 16px;\n            }\n            .back-arrow:hover {\n                color: #fff;\n                text-decoration: none;\n            }\n\n        </style>\n\n    </head>\n    <body>\n        <?php $currentPageUrl =env('APP_URL');  ?>\n\n            <a href=\"{{ $module_route.'/'.$watchAndLearn['id'].'/edit' }}\" class=\"back-arrow\"><i class=\"icon ion-arrow-left-a\"></i> Back</a>\n            <div id=\"contentarea\" class=\"is-container container content-builder-data\">\n                @if(isset($watchAndLearn['description']))\n                    {!! $watchAndLearn['description'] !!}\n                @endif\n\n            </div>\n\n            <!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n            <div id=\"panelCms\">\n                <button onclick=\"save(this)\" class=\"wag-admin-btns-main\">Save and preview</button>\n            </div>\n\n        <form id='description-form' method=\"POST\" action=\"{{ $module_route.'/'.$watchAndLearn['id'].'/save-description' }}\" style=\"display:none\">\n            @csrf\n            <input type=\"hidden\" name=\"_method\" value=\"PUT\">\n            <textarea name=\"description\" id=\"description\"></textarea>\n        </form>\n\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/jquery.min.js') }}\"></script>\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/jquery-ui.min.js') }}\"></script>\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/contentbuilder.js') }}\"></script>\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/saveimages.js') }}\"></script>\n\n        <link href=\"{{ asset('plugins/new-croppie/cropper.css') }}\" rel=\"stylesheet\">\n        <script src=\"{{ asset('plugins/new-croppie/cropper.js') }}\"></script>\n        <script src=\"{{ asset('plugins/new-croppie/main.js') }}\"></script>\n\n        <script type=\"text/javascript\">\n            var isContentUpdated = false;\n            $(window).bind('beforeunload', function(e){\n                if(isContentUpdated) {\n                    return true;\n                } else {\n                    return undefined;\n                }\n            });\n\n            jQuery(document).ready(() => {\n                var imagePath = \"{{ env('APP_URL') }}\";\n\n                var builder = $(\"#contentarea\").contentbuilder({\n                                snippetFile: \"/vendor/content-builder/assets/minimalist-basic/snippets-bootstrap.php\",\n                                snippetOpen: true,\n                                toolbar: \"left\",\n                                container: '.container',\n\t\t\trow: 'row',\n\t\t\tcols: ['col-md-1', 'col-md-2', 'col-md-3', 'col-md-4', 'col-md-5', 'col-md-6', 'col-md-7', 'col-md-8', 'col-md-9', 'col-md-10', 'col-md-11', 'col-md-12'] ,\n                                iconselect: \"/vendor/content-builder/assets/ionicons/selecticon.html\",\n                                snippetPathReplace: ['assets/minimalist-basic/', 'assets/minimalist-basic/'],\n                                snippetCategories: [\n                                    /*[0,\"Default\"],*/\n                                    /*[-1,\"All\"],*/\n                                    [36,\"Color Background\"],\n                                    [1,\"Title\"],\n                                    /*[2,\"Title, Subtitle\"],*/\n                                    /*[3,\"Info, Title\"],*/\n                                    [4,\"Info, Title, Subtitle\"],\n                                    [5,\"Heading, Paragraph\"],\n                                    [6,\"Paragraph\"],\n                                    [7,\"Paragraph, Images + Caption\"],\n                                    [8,\"Heading, Paragraph, Images + Caption\"],\n                                    [33,\"Buttons\"],\n                                    /*[34,\"Cards\"],*/\n                                    [9,\"Images + Caption\"],\n                                    [10,\"Images + Long Caption\"],\n                                    [11,\"Images\"],\n                                    [12,\"Single Image\"],\n                                    /*[13,\"Call to Action\"],\n                                    [14,\"List\"],*/\n                                    [15,\"Quotes\"],\n                                    /*[16,\"Profile\"],\n                                    [17,\"Map\"],*/\n                                    [20,\"Video\"],\n                                    /*[18,\"Social\"],\n                                    [21,\"Services\"],\n                                    [22,\"Contact Info\"],\n                                    [23,\"Pricing\"],*/\n                                    [24,\"Team Profile\"],\n                                    [25,\"Products/Portfolio\"],\n                                    /*[26,\"How It Works\"],\n                                    [27,\"Partners/Clients\"],\n                                    [28,\"As Featured On\"],\n                                    [29,\"Achievements\"],\n                                    [32,\"Skills\"],\n                                    [30,\"Coming Soon\"],\n                                    [31,\"Page Not Found\"],*/\n                                    [19,\"Separator\"],\n\n                                    [100,\"Custom Code\"] /* INFO: Category 100 cannot be changed. It is used for Custom Code block */\n                                ],\n                                onChange: function () {\n                                    isContentUpdated = true;\n                                }\n                            });\n\n            });\n\n            function save(ele) {\n                $(ele).prop('disabled', true);\n                $(ele).html(`<img src=\"/vendor/content-builder/assets/loader.gif\" style=\"margin-right: 10px;\" /> Saving...`);\n\n                // Save all images\n                $(\"#contentarea\").saveimages({\n                    handler: \"{{ url( 'admin/watch-and-learn/store-media') }}\",\n                    _token: \"{{ csrf_token() }}\",\n                    onComplete: function () {\n\n                        //Get content\n                        var sHTML = $('#contentarea').data('contentbuilder').html();\n                        isContentUpdated = false;\n                        $(\"#description-form\").find(\"#description\").val(sHTML);\n                        $( \"#description-form\" ).submit();\n\n                        $(ele).prop('disabled', false);\n                        $(ele).html(`Save`);\n                    }\n                });\n                $(\"#contentarea\").data('saveimages').save();\n\n            }\n\n            function view() {\n                /* This is how to get the HTML (for saving into a database) */\n                var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n\n            }\n        </script>\n    </body>\n</html>\n"
  },
  {
    "path": "resources/views/admin/main/product-reviews/show.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n    <link href=\"{{ asset('vendor/content-builder/contentbuilder/contentbuilder.css') }}\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"{{ asset('vendor/content-builder/assets/minimalist-basic/content-bootstrap.css') }}\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"{{ asset('plugins/sweetalert2/sweetalert2.min.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $back_url_path }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <div class=\"dropdown\">\n                <button class=\"wag-admin-btns-main dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\"  aria-haspopup=\"true\" aria-expanded=\"false\">\n                    Done\n                </button>\n                <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\n                    @if($result->status == 'draft' )\n                        <a class=\"dropdown-item draft-blog\" href=\"javascript:void(0);\">Save as draft</a>\n                        <a class=\"dropdown-item publish-blog\" href=\"javascript:void(0);\" >Publish</a>\n                    @else\n                        <a class=\"dropdown-item update-publish-blog\" href=\"javascript:void(0);\">Update & Publish</a>\n                        <a class=\"dropdown-item unpublish-blog\" href=\"javascript:void(0);\">Unpublish</a>\n                    @endif\n                        <a class=\"dropdown-item\" id=\"delete-blog\" href=\"javascript:void(0);\">Delete</a>\n                </div>\n            </div>\n        </div>\n    </div>\n    <main class=\"wagdt-main-page\">\n\n        <section class=\"wagdt-watch-video-inner-page-main\">\n            <div class=\"container\">               \n                <div class=\"row\">\n                    <div class=\"col-md-10 offset-md-1 col-lg-10 offset-lg-1\" data-aos=\"fade-up\" data-aos-duration=\"1500\">\n                        <div class=\"wagdt-watch-details-block-main\">\n                            <div class=\"\">\n                                <h1 class=\"wagdt-inner-page-title\">{{ $result->title }} <img src=\"/images/heart-icon.svg\" alt=\"Save\"  class=\"\"saveIcon\" /></h1>\n                                 <h6 class=\"watch-andlearn-details\">\n\t\t\t\t\t\t\t\t \t@foreach ($result->categories as $category)\n    \t\t\t\t\t\t\t\t\t<p>{{ $category->category->name }},</p>\n\t\t\t\t\t\t\t\t\t@endforeach\n\t\t\t\t\t\t\t\t\t</h6>\n                                <ul class=\"wagdt-social-icons\">\n                                    <span class=\"\">SHARE</span>\n                                    <li><a target=\"_blank\" href=\"\" class=\"wagdt-social\"><img src=\"/images/facebook.svg\" alt=\"\"/></a></li>\n                                    <li><a target=\"_blank\" href=\"\" class=\"wagdt-social\"><img src=\"/images/twitter.svg\" alt=\"\"/></a></li>\n                                    <li><a target=\"_blank\" href=\"\" class=\"wagdt-social\"><img src=\"/images/linkedin.svg\" alt=\"\"/></a></li>\n                                </ul>\n                            </div>\n                            <div class=\"wagdt-inner-paragraph\">\n                                <span class=\"content-builder-data\">\n                                    {!! $result->description !!}\n                                </span>\n                            </div>\n                            @if( $result->author_id &&  $result->author )\n                                <div class=\"wagdt-author-block-main\">\n                                    <div class=\"clearfix\">\n                                        <div class=\"wagdt-author-img-block\">\n                                            <img alt=\"{{ $result->author->name }}\" src=\"{{ $result->author->image_thumb_full_path }}\" />\n                                        </div>\n                                    </div>\n                                    <div class=\"wagdt-author-details-block\">\n                                        <h5>About the Author</h5>\n                                        <h6>{{ $result->author->name }}\n                                            @if( $result->author->website_link )\n                                                <a class=\"personal-website-btns\" target=\"_blank\" href=\"{{ $result->author->website_link }}\">Personal Website <img src=\"/images/diagonal-arrow.svg\" alt=\"\"/></a></a>\n                                           @endif\n                                        </h6>\n                                        <p>{{ $result->author->about }}</p>\n                                    </div>\n                                </div>\n                            @endif\n                            <div class=\"wagdt-social-block-main\">\n                                <div class=\"row\">\n                                    <div class=\"col-sm-4 col-md-6\">\n                                        <span class=\"watch-andlearn-details\">{{ $result->formated_created_at }}</span>\n                                    </div>\n                                </div>\n                            </div>\n                        </div>\n\t\t\t\t\t\t<div class=\"wagdt-comments-section-main\">\n\t\t\t\t\t\t\t<h1 class=\"wagdt-inner-page-title text-center\">Comments</h1>\n\t\t\t\t\t\t\t<p class=\"text-center mt-4 no-comment-text d-none\">No comments yet</p>\n\t\t\t\t\t\t\t<div class=\"wagdt-comments-block-main\">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"text-center mb-4 mt-4 see-more-comment-main-div d-none\">\n\t\t\t\t\t\t\t\t<button class=\"wag-admin-btns-main see-more-btn\">See more</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n                    </div>\n                </div>\n            </div>\n        </section>\n    </main>\n</section>\n<div class=\"wagdt-comments-list-container d-none\" id=\"comment-div-clone\">\n\t<div class=\"wagdt-comments-list\">\n\t\t<div class=\"clearfix\">\n\t\t\t<div class=\"wagdt-user-img\">\n\t\t\t\t<img src=\"\" class=\"comment-user-img\" alt=\"user-image\"/>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"wagdt-comments-details\">\n\t\t\t<div class=\"wagdt-use-details\">\n\t\t\t\t<div class=\"wagdt-comments-nema\">\n\t\t\t\t\t<h5 class=\"comment-user-name\">User name</h5>\n\t\t\t\t\t<p class=\"comment-date\">25th february 2020</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"wag-reply-and-delete-section\">\n\t\t\t\t\t<span class=\"delete-comment d-none\" id=\"\"><i class='fa fa-trash-icon text-danger'></i></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"\">\n\t\t\t\t<p class=\"comment-message\">comment message here</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"text-center mb-4 mt-4 see-more-comment-div d-none\">\n\t\t<button class=\"wag-admin-btns-main see-more-btn\">See more</button>\n\t</div>\n</div>\n\n@push(\"scripts\")\n    <script src=\"{{ asset('plugins/sweetalert2/es6-promise.auto.min.js') }} \"></script> <!-- for IE support -->\n    <script src=\"{{ asset('plugins/sweetalert2/sweetalert2.min.js') }} \"></script>\n    <script type=\"text/javascript\">\n\t\tvar lastId = 0;\n\t\tvar parentId = 0;\n\t\tvar comments = [];\n\t\tvar childrenCount = [];\n\t\tvar commentsCount = 0;\n\t\tgetComments(lastId, parentId);\n\n        $(document).on('click', '#watch-video-block-main', function(event) {\n            if( \"{!! $result->embed_link  !!}\" ) {\n                $('#watch-video-block-main').addClass('d-none');\n                $('.watch-video-div').removeClass('d-none');\n            }\n        });\n\n        //delete blog\n        jQuery(document).on('click', '#delete-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id  !!}\";\n            var title = \"Delete post?\";\n            var text = \"Once you delete this blog post, you will no longer be able to view, edit or recover.\";\n            var method = \"DELETE\";\n            var successMessage = \"Product review deleted.\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");\n        });\n\n        //update-and-publish blog\n        jQuery(document).on('click', '.update-publish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";\n            console.log('eventURL', eventURL);\n            var title = \"Update post?\";\n            var text = \"\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now update and published\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");\n        });\n\n        //unpublish-blog\n        jQuery(document).on('click', '.unpublish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Unpublish post?\";\n            var text = \"Once you unpublish this blog post, it will no longer be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now unpublished\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");\n        });\n\n        //publish-blog blog\n        jQuery(document).on('click', '.publish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";\n            console.log('eventURL', eventURL);\n            var title = \"Publish post?\";\n            var text = \"Once published, this post will be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now published\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");\n        });\n\n        //draft-blog\n        jQuery(document).on('click', '.draft-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Save as draft?\";\n            var text = \"This post will not be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Product review is now draft\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/product-reviews');  !!}\");\n        });\n\n\t\tjQuery(document).on('click', '.delete-comment', function(event) {\n\t\t\tvar id = $(this).attr('id');\n\n\t\t\tswal({\n\t\t\t\ttitle: \"Delete comment?\",\n\t\t\t\ttext: \"Once deleted, you will not be able to recover it.\",\n\t\t\t\ttype: \"warning\",\n\t\t\t\tshowCancelButton: true,\n\t\t\t\tconfirmButtonColor: \"#DD6B55\",\n\t\t\t\tconfirmButtonText: \"Confirm\",\n\t\t\t\tcancelButtonText: \"Cancel\",\n\t\t\t\tshowLoaderOnConfirm: true,\n\t\t\t\tallowOutsideClick:false,\n\t\t\t\tallowEscapeKey:false,\n\t\t\t\tpreConfirm: function (email) {\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tjQuery.ajax({\n\t\t\t\t\t\t\t\turl: \"{!!  $module_route.'/delete-comment/'.$result->slug  !!}/\"+ id,\n\t\t\t\t\t\t\t\ttype: \"DELETE\",\n\t\t\t\t\t\t\t\tdataType: 'json',\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\"_token\": window.Laravel.csrfToken,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsuccess: function (result) {   \n\t\t\t\t\t\t\t\t\tswal(\"success!\", \"Comment Deleted successfully.\", \"success\");                                     \n\t\t\t\t\t\t\t\t\tfnToastSuccess(\"Product review comment deleted.\");\n\t\t\t\t\t\t\t\t\tlastId = 0;\n\t\t\t\t\t\t\t\t\tparentId = 0;\n\t\t\t\t\t\t\t\t\tcomments = [];\n\t\t\t\t\t\t\t\t\tchildrenCount = [];\n\t\t\t\t\t\t\t\t\t$(\".wagdt-comments-block-main\").html('');\n\t\t\t\t\t\t\t\t\tgetComments(lastId, parentId);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\terror: function (xhr, status, error) {\n\t\t\t\t\t\t\t\t\tif(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n\t\t\t\t\t\t\t\t\t\tswal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tswal(\"ohh snap!\", \"Something went wrong\", \"error\");\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tajaxError(xhr, status, error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}, 0)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\t$(document).on('click', '.see-more-btn', function(){\n\t\t\tlastId = $(this).attr('data-last-id');\n\t\t\tparentId = $(this).attr('data-parent-id');\n\t\t\tgetComments(lastId, parentId);\n\t\t});\n\t\t\n\t\tfunction getComments(lastId, parentId)\n\t\t{\n\t\t\tjQuery.ajax({\n\t\t\t\turl: \"{!!  $module_route.'/get-comments/'.$result->slug  !!}/\"+lastId+\"/\"+parentId+\"\",\n\t\t\t\ttype: 'GET',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\t\"_token\": window.Laravel.csrfToken,\n\t\t\t\t},\n\t\t\t\tsuccess: function (result) {\n\t\t\t\t\tif(result.data.comments.length > 0){\n\t\t\t\t\t\tcommentsCount = result.data.comment_count;\t\t\t\t\t\n\t\t\t\t\t\tlet newComments = comments;\n\t\t\t\t\t\tlet newChildrenCount = childrenCount;\n\t\t\t\t\t\tif(parentId == 0 && lastId == 0) {\n\t\t\t\t\t\t\tnewComments = result.data.comments;\n\t\t\t\t\t\t\tnewChildrenCount = result.data.children_count;\n\t\t\t\t\t\t} else if(parentId == 0) {\n\t\t\t\t\t\t\tnewComments = [...comments, ...result.data.comments];\n\t\t\t\t\t\t\tnewChildrenCount = {...childrenCount, ...result.data.children_count};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnewComments = comments.map((tempComment) => {\n\t\t\t\t\t\t\t\tif(tempComment.id == parentId) {\n\t\t\t\t\t\t\t\t\ttempComment.children.push(...result.data.comments);\n\t\t\t\t\t\t\t\t} else if(tempComment.children) {\n\t\t\t\t\t\t\t\t\ttempComment = getNewComments(result.data.comments, tempComment, parentId);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn tempComment;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tnewChildrenCount = {...childrenCount, ...result.data.children_count};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcomments = newComments;\n\t\t\t\t\t\tchildrenCount = newChildrenCount;\n\n\t\t\t\t\t\t$(\".wagdt-comments-block-main\").html('');\n\t\t\t\t\t\tcomments.forEach(comment => {\n\t\t\t\t\t\t\taddCommentToList(comment);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif(comments.length < commentsCount){\n\t\t\t\t\t\t\t$(\".wagdt-comments-section-main div.see-more-comment-main-div\").removeClass('d-none');\n\t\t\t\t\t\t\t$(\".wagdt-comments-section-main button.see-more-btn\").attr({'data-parent-id': 0, 'data-last-id': comments.slice(-1)[0].id});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(\".wagdt-comments-section-main div.see-more-comment-main-div\").addClass('d-none');\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$('.no-comment-text').addClass('d-none');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.no-comment-text').removeClass('d-none');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function (xhr, status, error) {\n\t\t\t\t\t$(location).attr(\"{!! url('admin/watch-and-learn');  !!}\");\n\t\t\t\t\tif(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n\t\t\t\t\t\tswal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tswal(\"ohh snap!\", \"Something went wrong\", \"error\");\n\t\t\t\t\t}\n\t\t\t\t\tajaxError(xhr, status, error);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfunction getNewComments(comments, watchAndLearnComments, parentId){\n\t\t\tlet children = watchAndLearnComments.children;\n\t\t\tlet newChildren = children.map((child) => {\n\t\t\t\tif(child.id == parentId) {\n\t\t\t\t\tif(!child.children) {\n\t\t\t\t\t\tchild.children = [];\n\t\t\t\t\t}\n\t\t\t\t\tchild.children.push(...comments);\n\t\t\t\t} else if(child.children) {\n\t\t\t\t\tchild = getNewComments(comments, child, parentId);\n\t\t\t\t}\n\t\t\t\treturn child;\n\t\t\t});\n\t\t\twatchAndLearnComments.children = newChildren;\n\n\t\t\treturn watchAndLearnComments;\n\t\t};\n\n\t\tfunction addCommentToList(comment, appendToId = \"\") {\n\t\t\tvar childLength = comment.children ? comment.children.length : 0;\n\t\t\tlastId = comment.children ? comment.children.slice(-1)[0].id : 0;\n\n\t\t\tvar commentTemplate = $(\"#comment-div-clone\").clone();\n\t\t\tcommentTemplate.removeClass('d-none');\n\t\t\tcommentTemplate.attr('id', 'comment-'+comment.id);\n\t\t\tcommentTemplate.find('.comment-message').html(comment.message);\n\t\t\tcommentTemplate.find('.comment-user-name').html(comment.name);\n\t\t\tcommentTemplate.find('.comment-user-img').attr('src', comment.user.profile_image_thumb_full_path);\n\t\t\tcommentTemplate.find('.delete-comment').removeClass('d-none').attr('id', comment.id);\n\t\t\tcommentTemplate.find('.comment-date').html(comment.formated_created_at);\n\t\t\tif(appendToId == \"\" && comment.parent_comment_id != 0){\n\t\t\t\tappendToId = \"comment-\"+comment.parent_comment_id;\n\t\t\t}\n\t\t\tif(appendToId){\n\t\t\t\tcommentTemplate.addClass('ml-3 ml-lg-5');\n\t\t\t\t$(commentTemplate).insertBefore(\"#\"+appendToId+\" .see-more-comment-div:last\");\n\t\t\t} else {\n\t\t\t\t$(\".wagdt-comments-block-main\").append(commentTemplate);\n\t\t\t}\n\n\t\t\tif(childrenCount[comment.id] > childLength){\n\t\t\t\tcommentTemplate.find(\".see-more-comment-div\").removeClass('d-none');\n\t\t\t\tcommentTemplate.find(\".see-more-btn\").attr({'data-parent-id': comment.id, 'data-last-id': lastId});\n\t\t\t} else {\n\t\t\t\tcommentTemplate.find(\".see-more-comment-div\").addClass('d-none');\n\t\t\t}\n\n\t\t\tif(comment.children && comment.children.length > 0){\n\t\t\t\tcomment.children.forEach(child => {\n\t\t\t\t\taddCommentToList(child, \"comment-\"+comment.id);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n    </script>\n\n@endpush\n\n@endsection"
  },
  {
    "path": "resources/views/admin/main/testimonials/_form.blade.php",
    "content": "@push(\"styles\")\n@endpush\n\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Title</label>\n            {{ Form::text('title', null, ['id' => 'title', 'class'=>\"form-control\"]) }}\n            @if($errors->has('title'))\n                <p class=\"text-danger\">{{ $errors->first('title') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>Description</label>\n            {{ Form::textarea('description', null, ['id' => 'description', 'class'=>\"form-control\"]) }}\n            @if($errors->has('description'))\n                <p class=\"text-danger\">{{ $errors->first('description') }}</p>\n            @endif\n\t\t</div>\n\t\t<div class=\"form-group\">\n            <label>Client Name</label>\n            {{ Form::text('client_name', null, ['id' => 'client_name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('client_name'))\n                <p class=\"text-danger\">{{ $errors->first('client_name') }}</p>\n            @endif\n\t\t</div>\n\t\t<div class=\"form-group\">\n            <label>Client Title</label>\n            {{ Form::text('client_title', null, ['id' => 'client_title', 'class'=>\"form-control\"]) }}\n            @if($errors->has('client_title'))\n                <p class=\"text-danger\">{{ $errors->first('client_title') }}</p>\n            @endif\n\t\t</div>\n\t\t<div class=\"form-group\">\n\t\t\t<label>Image</label><br />\n\t\t\t<label for=\"image\" class=\"btn upload-img-btn\">Upload</label>\n\t\t\t<label class=\"img-name-lbl ml-3 d-none\"></label><br />\n            <input type=\"hidden\" name=\"cropped_image\" id=\"cropped_image\" value=\"\" style=\"display:none\" />\n            {{ Form::file('image', ['id' => 'image', 'class'=>\"form-control d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n            @if($errors->has('image'))\n                <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n\t\t\t@endif\n        </div>\n        <div class=\"row\">\n            <div class=\"col-md-6 mt-3\">\n                @if(isset($result) && $result->testimonial_image_thumb_full_path)\n                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px;\">\n                    <img src=\"{{ $result->testimonial_image_thumb_full_path }}\" class=\"img-thumbnail\">\n                </div>\n                @else\n                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px; display: none;\">\n                    <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                </div>\n                @endif\n            </div>\n            <div class=\"col-md-6 tc-crop-img-section\" style=\"display: none;\">\n                <div id=\"upload-demo\"></div>\n                <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n            </div>\n        </div>\n    </div>\n</div>\n\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n\t\tvar resize = $('#upload-demo').croppie({\n            enableExif: true,\n            enableOrientation: true,\n            viewport: {\n                width: 100,\n                height: 130,\n                type: 'square'\n            },\n            boundary: {\n                width: 150,\n                height: 150\n            }\n        });\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                title: {\n                    required: true,\n                    maxlength: 255\n                },\n                description: {\n                    required: true\n                },\n                client_name: {\n                    required: true\n                },\n\t\t\t\tclient_title: {\n                    required: true\n                },\n                image: {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n            }\n        });\n\n\t\tif( \"{{  isset($result)  }}\" ) {\n            $(\"#preview-profile_image-block\").show();\n            $('#preview-profile_image').attr('src', \"{{ isset($result) ?  $result->testimonial_image_thumb_full_path : null }}\");\n\n        } else {\n            $(\"#preview-profile_image-block\").hide();\n        }\n\n        $('#image').on('change', function () {\n\t\t\tvar fileName = event.target.files[0].name;\n\t\t\t$(\".img-name-lbl\").html(fileName).removeClass('d-none');\n\n\t\t\t$('#preview-crop-image').css(\"display\", 'block');\n\t\t\tdisplayImageOnFileSelect(this, $('.img-thumbnail'));\n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n\n            reader.readAsDataURL(this.files[0]);\n            $('.tc-crop-img-section').show();\n        });\n\n\t\tfunction displayImageOnFileSelect(input, thumbElement) {\n\t\t\tif (input.files && input.files[0]) {\n\t\t\t\tvar reader = new FileReader();\n\n\t\t\t\treader.onload = function (e) {\n\t\t\t\t\t$(thumbElement).attr('src', e.target.result).show();\n\t\t\t\t}\n\n\t\t\t\treader.readAsDataURL(input.files[0]);\n\t\t\t}\n\t\t}\n\n        $('.upload-image').on('click', function (ev) {\n           resize.croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n             // resample_single(rawcanv, 340, 180, true);\n             var img = rawcanv.toDataURL();\n\n               $('#cropped_image').val(img.split(',')[1]);\n\n               html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n               $(\"#preview-crop-image\").html(html);\n           });\n           return false;\n       });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/testimonials/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>Title</th>\n                    <th>Description</th>\n                    <th>Client</th>\n                    <th>Client Title</th>\n                    <th>Date Added</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n\t\t\"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n\t\tprocessing: true,\n\t\tserverSide: true,\n\t\tresponsive: true,\n\t\t\"ordering\": false,\n\t\t\"searching\": false,\n\t\tpagingType: \"numbers\",\n\t\tlengthChange: false,\n\t\t\"fnDrawCallback\": function(oSettings) {\n\t\t\tif (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n\t\t\t\t$(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n\t\t\t}\n\t\t},\n\t\tbInfo : false,\n\t\tstateSave: false,\n\t\t\"ajax\": {\n\t\t\t\"url\": \"{!! $module_route.'/datatable' !!}\",\n\t\t\t\"data\": function ( d ) {\n\t\t\t}\n\t\t},\n\t\tcolumns: [\n\t\t\t{ data: 'title', name: 'title'},\n\t\t\t{ data: 'description', name: 'description'},\n\t\t\t{ data: 'client_name', name: 'client_name'},\n\t\t\t{ data: 'client_title', name: 'client_title'},\n\t\t\t{ data: 'formated_created_at', name: 'created_at'},\n\t\t\t{\n\t\t\t\tdata:  null,\n\t\t\t\torderable: false,\n\t\t\t\tsearchable: false,\n\t\t\t\tresponsivePriority: 1,\n\t\t\t\ttargets: 0,\n\t\t\t\twidth: 70,\n\t\t\t\tclassName: 'text-right',\n\t\t\t\trender:function(o){\n\t\t\t\t\tvar btnStr = \"\";\n\t\t\t\t\tbtnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n\t\t\t\t\tbtnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\t\t\t\t\treturn btnStr;\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\torder: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/users/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\">\n            <thead>\n                <tr>\n                    <th>Name</th>\n                    <th>Email</th>\n                    <th>City, State</th>\n                    <th>Date Joined</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n</section>\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'email', name: 'email'},\n                { data: 'city_state', name: 'city.name'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"' title='Show'><i class='fa fa-file-icon'></i></a>\";\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/users/show.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a class=\"wag-go-back-btn-main\" href=\"{{ $module_route }}\" class=\"\">Go Back</a>\n            @if(isset($singular_module_name))\n                <h1 class=\"wag-admin-page-title-main mt-3\">{{  $singular_module_name }}</h1>\n            @endif\n        </div>\n    </div>\n    <div class=\"wag-profile-details-block-main\">\n        <div class=\"wag-profile-details\">\n            <div class=\"clearfix\">\n                <a href=\"\" class=\"wag-profile-pic\">\n                    <img src=\"{{ $result->profile_image_full_path }}\" height=\"100\" width=\"100\" />\n                </a>\n            </div>\n            <div class=\"wag-profile-pic-details\">\n                <div class=\"wag-profile-name-details\">\n                    <label>Name</label>\n                    <p>{{ $result->name }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Email</label>\n                    <p>{{ $result->email }}</p>\n                </div>\n\n                <div class=\"wag-profile-name-details\">\n                    <label>Zip code</label>\n                    <p>{{ $result->zipcode ? $result->zipcode : '---'  }}</p>\n                </div>\n                <hr />\n                <div class=\"wag-profile-name-details\">\n                    <label>Vet Place Name</label>\n                    <p>{{ $result->vet_place_name ? $result->vet_place_name : '---'  }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Vet Address</label>\n                    <p>{{ $result->vet_address ? $result->vet_address : '---'  }}</p>\n                </div>\n                <div class=\"wag-profile-name-details\">\n                    <label>Vet Phone Number</label>\n                    <p id=\"formated-phone-number\">{{ $result->vet_phone_number  ? $result->vet_phone_number : '---' }}</p>\n                </div>\n            </div>\n        </div>\n    </div>\n\n  <h1 class=\"wag-admin-page-title-main mt-3 mb-3\">User's Pets</h1>\n\n   <div class=\"wag-profile-details-block-main\">\n       <div class=\"row\">\n           @if($result->pets->count() > 0)\n               @foreach($result->pets as $pet)\n                   <div class=\"col-4 mb-1\">\n                       <div class=\"wag-profile-details\">\n                           <div class=\"row\">\n                               <div class=\"col-12\">\n                                   <img src=\"{{ $pet->pet_image_thumb_full_path }}\"  height=\"250px\" width=\"100%\" />\n                               </div>\n                               <div class=\"col-12\">\n                                   <div class=\"wag-profile-pic-details\">\n                                       <div class=\"wag-profile-name-details\">\n                                           <label>Name</label>\n                                           <p>{{ $pet->name }}</p>\n                                       </div>\n                                       <div class=\"wag-profile-name-details\">\n                                           <label>Breed</label>\n                                           <p>\n                                           @foreach($pet->breed as $breed)\n                                              &bull;{{ $breed->name }}\n                                           @endforeach\n                                           </p>\n                                       </div>\n                                   </div>\n                               </div>\n                           </div>\n                       </div>\n                   </div>\n               @endforeach\n           @endif\n       </div>\n   </div>\n\n   @if($result->pets->count() == 0)\n       <div class=\"wag-profile-details-block-main\">\n           <div class=\"wag-profile-details\">\n               <p>No pet found!</p>\n           </div>\n       </div>\n   @endif\n</section>\n@endsection\n\n@push(\"scripts\")\n    <script type=\"text/javascript\">\n\n    if( \"{!! $result->vet_phone_number !!}\" ) {\n        var FormattedPhoneNum = getFormattedPhoneNum(\"{!! $result->vet_phone_number !!}\");\n        $(\"#formated-phone-number\").text(FormattedPhoneNum);\n    }\n\n    function getFormattedPhoneNum( input ) {\n        let output = \"(\";\n        input.replace( /^\\D*(\\d{0,3})\\D*(\\d{0,3})\\D*(\\d{0,4})/, function( match, g1, g2, g3 )\n            {\n              if ( g1.length ) {\n                output += g1;\n                if ( g1.length === 3 ) {\n                    output += \")\";\n                    if ( g2.length ) {\n                        output += \" \" + g2;\n                        if ( g2.length === 3 ) {\n                            output += \" - \";\n                            if ( g3.length ) {\n                                output += g3;\n                            }\n                        }\n                    }\n                 }\n              }\n            }\n        );\n        return output;\n    }\n\n    </script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn/_form.blade.php",
    "content": "@push(\"styles\")\n<!-- summernote -->\n<link href=\"{{ asset('plugins/summernote/summernote.css') }}\" rel=\"stylesheet\">\n<link href=\"{{ asset('plugins/summernote/summernote-bs3.css') }}\" rel=\"stylesheet\">\n <style>   \n    \n    .core_edittable .referral_ftrbtn *{\n      width: 149px!important;\n      margin-right: 9px;\n    }\n    .core_edittable .referral_ftrbtn *:last-child {\n      float: unset;\n    }\n    .editorbox .col-sm-10{\n        width: 70% !important;\n    }\n    .editorbox .col-sm-10 .note-editor{\n        border: 1px solid #dddfe1;\n        border-radius: 5px;\n        overflow: hidden;\n    }\n\n    @media screen and (max-width:768px){\n        .editorbox .col-sm-10{width: 100% !important;}\n    }\n    \n    .close {\n      order: 2;\n    }\n    textarea{\n        overflow: hidden !important;    \n    }\n\n\n    /* \n    .hs-blog-img-preview {\n        width: 100%;\n    }\n    \n    #preview-company_logo {\n        height: 100px;\n        width: 100px;\n    }\n    \n    .img-thumbnail {\n        height: 150px;\n        width: 150px;\n    }     \n    */\n</style>\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Categories</label>\n            {{ Form::select('category_id', [ \"\" => \"Select\"] + $categories, null, ['id'=> 'category_id', 'class' => 'form-control']) }}\n            @if($errors->has('category_id'))\n                <p class=\"text-danger\">{{ $errors->first('category_id') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>Title</label>\n            {{ Form::text('title', null, ['id' => 'title', 'class'=>\"form-control\"]) }}\n            @if($errors->has('title'))\n                <p class=\"text-danger\">{{ $errors->first('title') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label class=\"col-form-label\">Author</label>\n            {{ Form::select('author_id', [ \"\" => \"Select\"] + $authors, null, ['id'=> 'author_id', 'class' => 'form-control']) }}\n            @if($errors->has('author_id'))\n                <p class=\"text-danger\">{{ $errors->first('author_id') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n@if(isset($result['id']))\n    <!-- <div class=\"row\">\n        <div class=\"col-md-6\">\n            <div class=\"form-group\">\n                <label>Description (HTML)</label>\n                \n                    <a class=\"btn-sm wag-admin-btns-main h-25\" href=\"{{ $module_route .'/'. $result['id'] .'/edit/buildwithcontentbuilder' }}\" target=\"_blank\">Edit with content builder</a>\n    \n                {{ Form::textarea('description', null, ['class'=>\"form-control\"]) }}\n                <small id=\"description_help\" class=\"form-text text-muted\">Please note that any HTML (including any JS code) that is entered here will be echoed (without escaping)</small>\n                @if($errors->has('description'))\n                    <span class=\"help-block m-b-none text-danger\">{{ $errors->first('description') }}</span>\n                @endif\n            </div>\n        </div>\n    </div> -->\n@endif\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Blog Meta Description</label>\n            {{ Form::textarea('blog_meta_description', null, ['id' => 'blog_meta_description', 'class'=>\"form-control\", 'rows' => 1]) }}\n            @if($errors->has('blog_meta_description'))\n                <p class=\"text-danger\">{{ $errors->first('blog_meta_description') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <div class=\"hs-user\">\n                <label>Thumbnail</label><br />\n\t\t\t\t<label for=\"image\" class=\"btn upload-img-btn\">Upload</label>\n\t\t\t\t<label class=\"img-name-lbl ml-3 d-none\"></label><br />\n                <input type=\"hidden\" name=\"cropped_image\" id=\"cropped_image\" value=\"\" style=\"display:none\" />\n                {{ Form::file('image', ['id' => 'image', 'class'=>\"form-control d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n                @if($errors->has('image'))\n                    <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n                @endif\n            </div>\n        </div>\n        <div class=\"form-group\">\n            <div class=\"hs-user\">\n                @if(isset($result) && $result->thumbnail)\n                    <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 100px; height: 100px;\">\n                        <img src=\"{{ $result->thumbnail_thumb_full_path }}\" class=\"img-thumbnail\">\n                    </div>\n                @else\n                    <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 100px; height: 100px; display: none;\">\n                        <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                    </div>\n                @endif\n            </div>\n            <div class=\"tc-crop-img-section\" style=\"display: none;\">\n                <div id=\"upload-demo\"></div>\n                <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n            </div>\n        </div>\n        <div class=\"form-group\">\n            <label>Image Alt Text</label>\n            {{ Form::text('alt_image_text', null, ['id' => 'alt_image_text', 'class'=>\"form-control\"]) }}\n            @if($errors->has('alt_image_text'))\n                <p class=\"text-danger\">{{ $errors->first('alt_image_text') }}</p>\n            @endif\n        </div>\n        {{-- <div class=\"form-group d-none\">\n            <label>Video Type</label>\n            {{ Form::radio('video_type', \"embed_link\",  ((!isset($result)) ? true : null), [\"class\" => \"video_type\", 'id' => 'embed_link']) }}<label for=\"embed_link\">&nbsp;Youtube Embed</label>\n            {{ Form::radio('video_type', \"video_upload\", null, [\"class\" => \"video_type\", 'id' => 'video_upload']) }} <label for=\"video_upload\">&nbsp;Upload Video</label>&nbsp;\n            @if($errors->has('video_type'))\n                <span class=\"help-block m-b-none\">{{ $errors->first('video_type') }}</span>\n            @endif\n        </div> --}}\n        {{-- <div class=\"form-group add_embed_link_section {{ (isset($result) && $result->video_type == 'video_upload') ? 'd-none' : '' }}\">\n            <label>Youtube Link</label>\n            {{ Form::text('embed_link', null, ['id' => 'embed_link', 'class'=>\"form-control\"]) }}\n            <small id=\"description_help\" class=\"form-text text-muted\">Ex.  https://www.youtube.com/embed/QKQc8z0_GmU</small>\n            @if($errors->has('embed_link'))\n                <p class=\"text-danger\">{{ $errors->first('embed_link') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group upload_video_section {{ (isset($result) && $result->video_type == 'video_upload') ? '' : 'd-none' }}\">\n            <label>Upload Video</label>\n            {{ Form::file('video_file', ['id' => 'video_file', 'class'=>\"form-control file_multi_video\", \"accept\" => \".mp4\"]) }}\n            @if($errors->has('video_file'))\n                <span class=\"help-block m-b-none\">{{ $errors->first('video_file') }}</span>\n            @endif\n        </div>   --}}\n        \n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n {{-- summernote --}}\n<script src=\"{{ asset('plugins/summernote/summernote.min.js') }}\"></script>\n\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $('#blog_meta_description').keyup();\n        var isContentUpdated = false;\n        $(window).bind('beforeunload', function(e){\n            if(isContentUpdated) {\n                return true;\n            } else {\n                return undefined;\n            }\n        });\n\n        $('form').on('keyup change paste', 'input, select, textarea', function(){\n            isContentUpdated = true;\n        });\n\n        jQuery.validator.addMethod(\"youtube_embaded_url_validate\", function(value, element) {\n          // allow any non-whitespace characters as the host part\n          return this.optional( element ) || /^https:\\/\\/(?:www\\.)?youtube.com\\/embed\\/[A-z0-9]+/.test( value );\n        }, 'Please enter the Youtube embed link');\n\n        $(\"#form_validate\").validate({\n            ignore: \":hidden:not('.summernote'),.note-editable,.panel-body\",\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                category_id: {\n                    required: true\n                },\n                title: {\n                    required: true,\n                    maxlength: 255\n                },\n                author_id: {\n                },\n                image: {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n                blog_meta_description: {\n                    required: true,\n                    maxlength: 255\n                },\n                alt_image_text: {\n                    required: true,\n                    maxlength: 255\n                },\n\n                video_type: {\n                    required: true\n                },\n\n                // video_file: {\n                //     required: {\n                //         depends: function() {\n                //             @if(isset($result))\n                //                 return false;\n                //             @else\n                //                 return ($('input[name=video_type]:checked').val() == 'video_upload') ? true : false;\n                //             @endif\n                //         }\n                //     }\n                // },\n                // embed_link: {\n                //     /*required: {\n                //         depends: function() {\n                //             return ($('input[name=video_type]:checked').val() == 'embed_link') ? true : false;\n                //         }\n                //     },*/\n                //     youtube_embaded_url_validate: true\n                // },\n            }\n        });\n\n        $(\"#form_validate\").submit(function(){\n            isContentUpdated=false;\n           $('input[name=\"description\"]').val($('.summernote').code());\n        });\n\n        var resize = $('#upload-demo').croppie({\n            enableExif: true,\n            enableOrientation: true,\n            viewport: {\n                width: 150,\n                height: 100,\n                type: 'square'\n            },\n            boundary: {\n                width: 150,\n                height: 150\n            }\n        });\n\n        $('#image').on('change', function (event) {\n\t\t\tvar fileName = event.target.files[0].name;\n\t\t\t$(\".img-name-lbl\").html(fileName).removeClass('d-none');\n\n\t\t\t$('#preview-crop-image').css(\"display\", 'block');\n\t\t\tdisplayImageOnFileSelect(this, $('.img-thumbnail'));\n\t\t\t\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n\n            reader.readAsDataURL(this.files[0]);\n            $('.tc-crop-img-section').show();\n        });\n\n\t\tfunction displayImageOnFileSelect(input, thumbElement) {\n\t\t\tif (input.files && input.files[0]) {\n\t\t\t\tvar reader = new FileReader();\n\n\t\t\t\treader.onload = function (e) {\n\t\t\t\t\t$(thumbElement).attr('src', e.target.result).show();\n\t\t\t\t}\n\n\t\t\t\treader.readAsDataURL(input.files[0]);\n\t\t\t}\n\t\t}\n\n       $(document).on(\"change\", \".file_multi_video\", function(evt) {\n            $('#preview-video').show();\n            var $source = $('#video_here');\n            $source[0].src = URL.createObjectURL(this.files[0]);\n            $source.parent()[0].load();\n        });\n\n        $('.upload-image').on('click', function (ev) {\n           resize.croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n             // resample_single(rawcanv, 340, 180, true);\n             var img = rawcanv.toDataURL();\n\n               $('#cropped_image').val(img.split(',')[1]);\n\n               html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n               $(\"#preview-crop-image\").html(html);\n           });\n           return false;\n       });\n\n    });\n\n    $(\"textarea\").keyup(function(e) {\n        while($(this).outerHeight() < this.scrollHeight + parseFloat($(this).css(\"borderTopWidth\")) + parseFloat($(this).css(\"borderBottomWidth\"))) {\n            $(this).height($(this).height()+1);\n        };\n    });\n\n    // $(\".video_type\").change(function(){\n    //     var selectedRadio = $(this).val();\n    //     if(selectedRadio == \"video_upload\") {\n    //         $(\".add_embed_link_section\").addClass(\"d-none\");\n    //         $(\".upload_video_section\").removeClass(\"d-none\");\n    //     }\n    //     else {\n    //         $(\".upload_video_section\").addClass(\"d-none\");\n    //         $(\".add_embed_link_section\").removeClass(\"d-none\");\n    //     }\n    // });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn/content-builder.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"{{ str_replace('_', '-', app()->getLocale()) }}\">\n    <head>\n        <meta charset=\"utf-8\">\n        <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n        <meta name=\"description\" content=\"Wag Enabled\">\n        <meta name=\"author\" content=\"Wag Enabled\">\n\n        <title>{{ config('app.name', 'Wag Enabled') }} | Content Builder</title>\n\n        <!-- favicon icon -->\n        <link rel=\"apple-touch-icon\" sizes=\"57x57\" href=\"{{asset('images/favicons/apple-icon-57x57.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"60x60\" href=\"{{asset('images/favicons/apple-icon-60x60.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"{{asset('images/favicons/apple-icon-72x72.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"76x76\" href=\"{{asset('images/favicons/apple-icon-76x76.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"{{asset('images/favicons/apple-icon-114x114.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"120x120\" href=\"{{asset('images/favicons/apple-icon-120x120.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"144x144\" href=\"{{asset('images/favicons/apple-icon-144x144.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"152x152\" href=\"{{asset('images/favicons/apple-icon-152x152.png')}}\">\n        <link rel=\"apple-touch-icon\" sizes=\"180x180\" href=\"{{asset('images/favicons/apple-icon-180x180.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"192x192\"  href=\"{{asset('images/favicons/android-icon-192x192.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"{{asset('images/favicons/favicon-32x32.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"96x96\" href=\"{{asset('images/favicons/favicon-96x96.png')}}\">\n        <link rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"{{asset('images/favicons/favicon-16x16.png')}}\">\n        <link rel=\"manifest\" href=\"{{asset('images/favicons/manifest.json')}}\">\n        <meta name=\"msapplication-TileColor\" content=\"#ffffff\">\n        <meta name=\"msapplication-TileImage\" content=\"{{asset('images/favicons/ms-icon-144x144.png')}}\">\n        <meta name=\"theme-color\" content=\"#ffffff\">\n        <link href=\"{{ asset('admin-theme/fonts/stylesheet.css') }}\" rel=\"stylesheet\">\n\n        <!-- end favicon icon -->\n        <link href=\"{{ asset('vendor/content-builder/contentbuilder/contentbuilder.css').\"?version=\". env(\"APP_CSS_VERSION\", 1) }}\" rel=\"stylesheet\" type=\"text/css\" />\n        <link href=\"{{ asset('vendor/content-builder/assets/minimalist-basic/content-bootstrap.css').\"?version=\". env(\"APP_CSS_VERSION\", 1) }}\" rel=\"stylesheet\" type=\"text/css\" />\n        <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n\n\n        <!-- <link href=\"https://fonts.googleapis.com/css?family=Lato\" rel=\"stylesheet\" type=\"text/css\" /> -->\n\n        <style>\n            body { background-color: #6161FF; }\n            .is-container {  border-radius: 4px; margin: 60px auto 150px; max-width: 1050px; width:100%; padding: 35px; box-sizing:border-box; background-color: #ffffff;box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);}\n            @media all and (max-width: 1080px) {\n                .is-container { /* margin:0 */; }\n            }\n\n            body::-webkit-scrollbar {\n                width: 12px;\n            }\n            body::-webkit-scrollbar-track {\n                background: rgba(255, 255, 255, 0.49);\n                border-radius: 10px;\n                -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);\n            }\n            body::-webkit-scrollbar-thumb {\n                border-radius: 20px;\n                -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);\n            }\n\n            body {margin:0 0 57px} /* give space 70px on the bottom for panel */\n            #panelCms { display: flex; justify-content: center; align-items: center; width:100%;height:57px;/* border-top: #f5f5f5 1px solid; background:#ffffff; */position:fixed;left:0;bottom:0;padding:10px;box-sizing:border-box;text-align:center;white-space:nowrap;z-index:10001;}\n            #panelCms button {background: #8A288F;\n                padding: 8px 15px;\n                height: 45px;\n                min-width: 160px;\n                display: inline-flex;\n                justify-content: center;\n                align-items: center;\n                border-radius: 100px;\n                font-size: 14px;\n                font-weight: 500;\n                color: #fff !important;\n                border: none;\n                cursor: pointer;\n                text-transform: uppercase;}\n            .back-arrow {\n                color: #fff;\n                position: absolute;\n                top: 30px;\n                left: 50px;\n                font-size: 16px;\n            }\n            .back-arrow:hover {\n                color: #fff;\n                text-decoration: none;\n            }\n\n        </style>\n\n    </head>\n    <body>\n        <?php $currentPageUrl =env('APP_URL');  ?>\n\n            <a href=\"{{ $module_route.'/'.$watchAndLearn['id'].'/edit' }}\" class=\"back-arrow\"><i class=\"icon ion-arrow-left-a\"></i> Back</a>\n            <div id=\"contentarea\" class=\"is-container container content-builder-data\">\n                @if(isset($watchAndLearn['description']))\n                    {!! $watchAndLearn['description'] !!}\n                @endif\n\n            </div>\n\n            <!-- CUSTOM PANEL (can be used for \"save\" button or your own custom buttons) -->\n            <div id=\"panelCms\">\n                <button onclick=\"save(this)\" class=\"wag-admin-btns-main\">Save and preview</button>\n            </div>\n\n        <form id='description-form' method=\"POST\" action=\"{{ $module_route.'/'.$watchAndLearn['id'].'/save-description' }}\" style=\"display:none\">\n            @csrf\n            <input type=\"hidden\" name=\"_method\" value=\"PUT\">\n            <textarea name=\"description\" id=\"description\"></textarea>\n        </form>\n\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/jquery.min.js') }}\"></script>\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/jquery-ui.min.js') }}\"></script>\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/contentbuilder.js') }}\"></script>\n        <script type=\"text/javascript\" src=\"{{ asset('vendor/content-builder/contentbuilder/saveimages.js') }}\"></script>\n\n        <link href=\"{{ asset('plugins/new-croppie/cropper.css') }}\" rel=\"stylesheet\">\n        <script src=\"{{ asset('plugins/new-croppie/cropper.js') }}\"></script>\n        <script src=\"{{ asset('plugins/new-croppie/main.js') }}\"></script>\n\n        <script type=\"text/javascript\">\n            var isContentUpdated = false;\n            $(window).bind('beforeunload', function(e){\n                if(isContentUpdated) {\n                    return true;\n                } else {\n                    return undefined;\n                }\n            });\n\n            jQuery(document).ready(() => {\n                var imagePath = \"{{ env('APP_URL') }}\";\n\n                var builder = $(\"#contentarea\").contentbuilder({\n                                snippetFile: \"/vendor/content-builder/assets/minimalist-basic/snippets-bootstrap.php\",\n                                snippetOpen: true,\n                                toolbar: \"left\",\n                                iconselect: \"/vendor/content-builder/assets/ionicons/selecticon.html\",\n                                snippetPathReplace: ['assets/minimalist-basic/', 'assets/minimalist-basic/'],\n                                snippetCategories: [\n                                    /*[0,\"Default\"],*/\n                                    /*[-1,\"All\"],*/\n                                    [36,\"Color Background\"],\n                                    [1,\"Title\"],\n                                    /*[2,\"Title, Subtitle\"],*/\n                                    /*[3,\"Info, Title\"],\n                                    [4,\"Info, Title, Subtitle\"],*/\n                                    [5,\"Heading, Paragraph\"],\n                                    [6,\"Paragraph\"],\n                                    [7,\"Paragraph, Images + Caption\"],\n                                    [8,\"Heading, Paragraph, Images + Caption\"],\n                                    [33,\"Buttons\"],\n                                    /*[34,\"Cards\"],*/\n                                    [9,\"Images + Caption\"],\n                                    [10,\"Images + Long Caption\"],\n                                    [11,\"Images\"],\n                                    [12,\"Single Image\"],\n                                    /*[13,\"Call to Action\"],\n                                    [14,\"List\"],*/\n                                    [15,\"Quotes\"],\n                                    /*[16,\"Profile\"],\n                                    [17,\"Map\"],*/\n                                    [20,\"Video\"],\n                                    /*[18,\"Social\"],\n                                    [21,\"Services\"],\n                                    [22,\"Contact Info\"],\n                                    [23,\"Pricing\"],*/\n                                    [24,\"Team Profile\"],\n                                    [25,\"Products/Portfolio\"],\n                                    /*[26,\"How It Works\"],\n                                    [27,\"Partners/Clients\"],\n                                    [28,\"As Featured On\"],\n                                    [29,\"Achievements\"],\n                                    [32,\"Skills\"],\n                                    [30,\"Coming Soon\"],\n                                    [31,\"Page Not Found\"],*/\n                                    [19,\"Separator\"],\n\n                                    [100,\"Custom Code\"] /* INFO: Category 100 cannot be changed. It is used for Custom Code block */\n                                ],\n                                onChange: function () {\n                                    isContentUpdated = true;\n                                }\n                            });\n\n            });\n\n            function save(ele) {\n                $(ele).prop('disabled', true);\n                $(ele).html(`<img src=\"/vendor/content-builder/assets/loader.gif\" style=\"margin-right: 10px;\" /> Saving...`);\n\n                // Save all images\n                $(\"#contentarea\").saveimages({\n                    handler: \"{{ url( $module_route.'/store-media') }}\",\n                    _token: \"{{ csrf_token() }}\",\n                    onComplete: function () {\n\n                        //Get content\n                        var sHTML = $('#contentarea').data('contentbuilder').html();\n                        isContentUpdated = false;\n                        $(\"#description-form\").find(\"#description\").val(sHTML);\n                        $( \"#description-form\" ).submit();\n\n                        $(ele).prop('disabled', false);\n                        $(ele).html(`Save`);\n                    }\n                });\n                $(\"#contentarea\").data('saveimages').save();\n\n            }\n\n            function view() {\n                /* This is how to get the HTML (for saving into a database) */\n                var sHTML = $('#contentarea').data('contentbuilder').viewHtml();\n\n            }\n        </script>\n    </body>\n</html>"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn/create.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::open(['url' => $module_route, 'method' => 'POST', \"enctype\"=>\"multipart/form-data\",'class'=>'form-horizontal','id'=>'form_validate', 'autocomplete'=>'off']) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n       <div class=\"wag-title-and-nemu-block-main\">\n            <button id=\"btn-save-as-draft\" class=\"wag-admin-btns-main\" type=\"submit\">Save as draft</button>\n        </div>\n\n    </div>\n\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                <div class=\"wag-inner-section-block-main\">\n                    @if(isset($singular_module_name))\n                        <h2 class=\"wag-admin-page-title-main\">Add {{  $singular_module_name }}</h2>\n                    @endif\n                    @include(\"$moduleView._form\")\n\n                    <div class=\"wag-title-and-nemu-block-main\">\n                        {{Form::hidden('blogMode',null,['id' => 'blogMode'])}}                       \n                        {{ Form::button('Next step <img src=\"'. asset('images/Next-step-arrow.svg') .'\" />', ['class'=>'wag-admin-btns-main', 'id' => 'btn-next', 'type' => 'submit']) }}\n                    </div>\n\n                </div>\n            </div>\n        </div>\n    </div>\n\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n\n<script>\n    $(document).ready(function () {\n        $('#btn-save-as-draft').on('click', function() {\n            $('#blogMode').val('draft');\n        });\n\n        $('#btn-next').on('click', function() {\n            $('#blogMode').val('next');\n        });\n\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn/edit.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<link href=\"{{ asset('plugins/iCheck/custom.css') }}\" rel=\"stylesheet\">\n<link href=\"{{ asset('plugins/sweetalert2/sweetalert2.min.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    {!! Form::model($result, array('url' => $module_route.'/'.$result->id, 'method' => 'PUT', \"enctype\"=>\"multipart/form-data\",'class'=>'form form-horizontal','id'=>'form_validate', 'autocomplete'=>'off')) !!}\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $module_route }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <div class=\"dropdown\">\n                <button class=\"wag-admin-btns-main dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\"  aria-haspopup=\"true\" aria-expanded=\"false\">\n                    Done\n                </button>\n                <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\n                    @if($result->status == 'draft' )                    \n                        <a class=\"dropdown-item draft-blog\" href=\"javascript:void(0);\">Save as draft</a>\n                        <a class=\"dropdown-item publish-blog\" href=\"javascript:void(0);\" >Publish</a>\n                    @else\n                        <a class=\"dropdown-item update-publish-blog\" href=\"javascript:void(0);\">Update & Publish</a>\n                        <a class=\"dropdown-item unpublish-blog\" href=\"javascript:void(0);\">Unpublish</a>\n                    @endif\n                        <a class=\"dropdown-item\" id=\"delete-blog\" href=\"javascript:void(0);\">Delete</a>\n                </div>\n            </div>\n        </div>        \n    </div>\n    <div class=\"row\">\n        <div class=\"col-md-12\">\n            <div class=\"wag-inner-page-main-section\">\n                <div class=\"wag-inner-section-block-main\">\n                    @if(isset($singular_module_name))\n                        <h2 class=\"wag-admin-page-title-main\">Edit {{  $singular_module_name }} </h2>\n                    @endif\n                    @include(\"$moduleView._form\")\n\n                    <div class=\"wag-title-and-nemu-block-main\">\n                        {{Form::hidden('blogMode',null,['id' => 'blogMode'])}}\n                        {{ Form::button('Next step <img src=\"'. asset('images/Next-step-arrow.svg') .'\" />', ['class'=>'wag-admin-btns-main', 'id' => 'btn-next', 'type' => 'submit']) }}                      \n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    {!! Form::close() !!}\n</section>\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset(\"plugins/iCheck/icheck.min.js\") }}\"></script>\n<script src=\"{{ asset('plugins/sweetalert2/es6-promise.auto.min.js') }} \"></script> <!-- for IE support -->\n<script src=\"{{ asset('plugins/sweetalert2/sweetalert2.min.js') }} \"></script>\n\n<script>\n    $(document).ready(function () {\n        \n        $('#blogMode').val('draft');\n        $('#btn-save-as-draft').on('click', function() {\n            $('#blogMode').val('draft');\n        });\n\n        $('#btn-next').on('click', function() {\n            $('#blogMode').val('next');\n        });\n\n        $('.i-checks').iCheck({\n            checkboxClass: 'icheckbox_square-green',\n            radioClass: 'iradio_square-green',\n        });\n\n        //delete blog\n        jQuery(document).on('click', '#delete-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id  !!}\";\n            var title = \"Delete post?\";\n            var text = \"Once you delete this blog post, you will no longer be able to view, edit or recover.\";\n            var method = \"DELETE\";\n            var successMessage = \"Watch and learn deleted.\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");            \n        });\n\n        //update-and-publish blog\n        jQuery(document).on('click', '.update-publish-blog', function(event) {\n            $('#blogMode').val('publish');\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";          \n            var title = \"Update post?\";\n            var text = \"\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now updated and published\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/watch-and-learn');  !!}\");            \n            }\n\n        });\n\n        //unpublish-blog\n        jQuery(document).on('click', '.unpublish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Unpublish post?\";\n            var text = \"Once you unpublish this blog post, it will no longer be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now unpublished\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/watch-and-learn');  !!}\");            \n            }          \n        });\n\n        //publish-blog blog\n        jQuery(document).on('click', '.publish-blog', function(event) {\n            $('#blogMode').val('publish');\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";\n            console.log('eventURL', eventURL);\n            var title = \"Publish post?\";\n            var text = \"Once published, this post will be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now published\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/watch-and-learn');  !!}\");            \n            }          \n        });\n\n        //draft-blog\n        jQuery(document).on('click', '.draft-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Save as draft?\";\n            var text = \"This post will not be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now draft\";\n            $('#form_validate').validate();\n            if( $('#form_validate').valid()) {\n                changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, true, \"{!! url('admin/watch-and-learn');  !!}\");            \n            }         \n        });\n    });\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n    <style type=\"text/css\" media=\"screen\">\n        .wag-table-main table{\n            padding: 10px;\n        }\n        div.dataTables_wrapper div.dataTables_processing {\n          top: 300px;\n        }\n    </style>\n\n\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n\t\t<div class=\"wag-select-main\">\n\t\t\t{!! Form::select('category' ,(['' => 'All categories']+$categories), null, ['class' => 'form-control', 'id' => 'category']) !!}\n\t\t</div>\n       <!-- <div class=\"wag-published-and-draft-section-main\">\n           <button val='published' class=\"wag-published-and-draft-btns active\">Published</button>\n           <button val='draft' class=\"wag-published-and-draft-btns \">Draft</button>\n       </div> -->\n        <table class=\"table project-datatable wag-watch-and-learn\">\n            <thead>\n                <tr>\n                    <th>Title</th>\n                    <th>Category</th>\n                    <th>Author</th>\n                    <th>Date</th>\n                    <th class='text-left'>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n</section>\n\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n\t$('#category').select2({\n\t\ttags: false,\n\t});\n\n\t$('#category').on('change', function(e) {\n\t\toTable.draw();\n\t\te.preventDefault();\n\t});\n\n    var blogMode = \"published\";\n\n    var oTable = $('.project-datatable').DataTable({\n\t\t\t\"dom\": '<\"wag-header-main\"<\"row\" <\"col-sm-12 col-md-4\"l> <\"col-sm-4\"r> <\"col-sm-12 col-md-4 responsive-search-box\"f>>> <\"table-block table-main home-user-table\"t> <\"table-footer\"<\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>>',\n            // \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            //\"searching\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            /*\"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },*/\n            dom: 'frBtp',\n            buttons: [\n                {\n                    text: 'Published',\n                    attr:  {\n                        id: \"wag-published-btns\",\n                    },\n                    className: 'wag-published-and-draft-btns dtb-active',\n                    action: function ( e, dt, node, config ) {\n                        $(\"#wag-draft-btns\").removeClass('dtb-active');\n                        $(\"#wag-published-btns\").addClass('dtb-active');\n                        blogMode=\"published\";\n                        oTable.draw();\n                    }\n                },\n                {\n                    text: 'Draft',\n                    attr:  {\n                        id: \"wag-draft-btns\",\n                    },\n                    className: 'wag-published-and-draft-btns',\n                    action: function ( e, dt, node, config ) {\n                        $(\"#wag-published-btns\").removeClass('dtb-active');\n                        $(\"#wag-draft-btns\").addClass('dtb-active');\n                        blogMode=\"draft\";\n                        oTable.draw();\n                    }\n                }\n            ],\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n\t\t\t\t\td.blogMode = blogMode ? blogMode : 'published' ;\n\t\t\t\t\td.category_id = $('#category').val();\n                }\n            },\n            columns: [\n                { data: 'title', name: 'title',className:'user-name-details'},\n                { data: 'category.name', name: 'category.name', width: 200},\n                { data: 'formated_author', name: 'author.name', width: 200},\n                { data: 'formated_created_at', name: 'created_at', width: 110},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-left',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            btnStr += \" <a href='{!!  $module_route  !!}/\"+  o.id +\"' title='Preview'><i class='fa fa-eye'></i></a>\";\n                            /*btnStr += \" <a href='{!!  $module_route  !!}/\"+  o.id +\"/edit/buildwithcontentbuilder' title='Edit With Content Builder'><i class='fa fa-sitemap'></i></a>\";*/\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete blog\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var eventURL = \"{!!  $module_route  !!}/\" + id;\n        var title = \"Delete post?\";\n        var text = \"Once you delete this blog post, you will no longer be able to view, edit or recover.\";\n        var method = \"DELETE\";\n        var successMessage = \"Watch and learn deleted.\";\n        changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn/show.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n    <link href=\"{{ asset('vendor/content-builder/contentbuilder/contentbuilder.css') }}\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"{{ asset('vendor/content-builder/assets/minimalist-basic/content-bootstrap.css') }}\" rel=\"stylesheet\" type=\"text/css\" />\n\n    <link href=\"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css\" rel=\"stylesheet\" type=\"text/css\" />\n    <link href=\"{{ asset('plugins/sweetalert2/sweetalert2.min.css') }}\" rel=\"stylesheet\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            <a href=\"{{ $back_url_path }}\" class=\"wag-go-back-btn-main\">Go Back</a>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <div class=\"dropdown\">\n                <button class=\"wag-admin-btns-main dropdown-toggle\" type=\"button\" id=\"dropdownMenuButton\" data-toggle=\"dropdown\"  aria-haspopup=\"true\" aria-expanded=\"false\">\n                    Done\n                </button>\n                <div class=\"dropdown-menu\" aria-labelledby=\"dropdownMenuButton\">\n                    @if($result->status == 'draft' )\n                        <a class=\"dropdown-item draft-blog\" href=\"javascript:void(0);\">Save as draft</a>\n                        <a class=\"dropdown-item publish-blog\" href=\"javascript:void(0);\" >Publish</a>\n                    @else\n                        <a class=\"dropdown-item update-publish-blog\" href=\"javascript:void(0);\">Update & Publish</a>\n                        <a class=\"dropdown-item unpublish-blog\" href=\"javascript:void(0);\">Unpublish</a>\n                    @endif\n                        <a class=\"dropdown-item\" id=\"delete-blog\" href=\"javascript:void(0);\">Delete</a>\n                </div>\n            </div>\n        </div>\n    </div>\n    <main class=\"wagdt-main-page\">\n\n        <section class=\"wagdt-watch-video-inner-page-main\">\n            <div class=\"container\">\n                {{-- <div class=\"row\">\n                    <div class=\"col-md-12 col-lg-10 offset-lg-1\" data-aos=\"fade-up\" data-aos-duration=\"1500\">\n                        <div class=\"wagdt-watch-video-block watch-thumb-div\">\n                            <span class=\"watch-video-block\" id=\"watch-video-block-main\">\n                                <img src=\"{{ $result->thumbnail_thumb_full_path }}\" alt=\"\"/>\n                                @if($result->formated_duration )\n                                    <span class=\"duration-box\">{{ $result->formated_duration  }}</span>\n                                @endif\n                                @if($result->embed_link )\n                                <span class=\"play-icon\"><img src=\"/images/Play-icon.svg\" alt=\"\"/></span>\n                                @endif\n                            </span>\n                            <div class=\"wagdt-watch-video-block watch-video-div d-none\">\n                                <iframe title=\"{{ $result->title }}\" height=\"500\" width=\"100%\" src=\"{{ $result->embed_link}}\" > </iframe>\n                            </div>\n                        </div>\n                    </div>\n                </div> --}}\n                <div class=\"row\">\n                    <div class=\"col-md-10 offset-md-1 col-lg-10 offset-lg-1\" data-aos=\"fade-up\" data-aos-duration=\"1500\">\n                        <div class=\"wagdt-watch-details-block-main\">\n                            <div class=\"\">\n                                <h1 class=\"wagdt-inner-page-title\">{{ $result->title }} <img src=\"/images/heart-icon.svg\" alt=\"Save\"  class=\"\"saveIcon\" /></h1>\n                                <h6 class=\"watch-andlearn-details\">{{ $result->category->name }}</h6>\n                                <ul class=\"wagdt-social-icons\">\n                                    <span class=\"\">SHARE</span>\n                                    <li><a target=\"_blank\" href=\"\" class=\"wagdt-social\"><img src=\"/images/facebook.svg\" alt=\"\"/></a></li>\n                                    <li><a target=\"_blank\" href=\"\" class=\"wagdt-social\"><img src=\"/images/twitter.svg\" alt=\"\"/></a></li>\n                                    <li><a target=\"_blank\" href=\"\" class=\"wagdt-social\"><img src=\"/images/linkedin.svg\" alt=\"\"/></a></li>\n                                </ul>\n                            </div>\n                            <div class=\"wagdt-inner-paragraph\">\n                                <span class=\"content-builder-data\">\n                                    {!! $result->description !!}\n                                </span>\n                            </div>\n                            @if( $result->author_id &&  $result->author )\n                                <div class=\"wagdt-author-block-main\">\n                                    <div class=\"clearfix\">\n                                        <div class=\"wagdt-author-img-block\">\n                                            <img alt=\"{{ $result->author->name }}\" src=\"{{ $result->author->image_thumb_full_path }}\" />\n                                        </div>\n                                    </div>\n                                    <div class=\"wagdt-author-details-block\">\n                                        <h5>About the Author</h5>\n                                        <h6>{{ $result->author->name }}\n                                            @if( $result->author->website_link )\n                                                <a class=\"personal-website-btns\" target=\"_blank\" href=\"{{ $result->author->website_link }}\">Personal Website <img src=\"/images/diagonal-arrow.svg\" alt=\"\"/></a></a>\n                                           @endif\n                                        </h6>\n                                        <p>{{ $result->author->about }}</p>\n                                    </div>\n                                </div>\n                            @endif\n                            <div class=\"wagdt-social-block-main\">\n                                <div class=\"row\">\n                                    <div class=\"col-sm-4 col-md-6\">\n                                        <span class=\"watch-andlearn-details\">{{ $result->formated_created_at }}</span>\n                                    </div>\n                                </div>\n                            </div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"wagdt-comments-section-main\">\n\t\t\t\t\t\t\t<h1 class=\"wagdt-inner-page-title text-center\">Comments</h1>\n\t\t\t\t\t\t\t<p class=\"text-center mt-4 no-comment-text d-none\">No comments yet</p>\n\t\t\t\t\t\t\t<div class=\"wagdt-comments-block-main\">\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"text-center mb-4 mt-4 see-more-comment-main-div d-none\">\n\t\t\t\t\t\t\t\t<button class=\"wag-admin-btns-main see-more-btn\">See more</button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n                    </div>\n                </div>\n            </div>\n        </section>\n    </main>\n</section>\n<div class=\"wagdt-comments-list-container d-none\" id=\"comment-div-clone\">\n\t<div class=\"wagdt-comments-list\">\n\t\t<div class=\"clearfix\">\n\t\t\t<div class=\"wagdt-user-img\">\n\t\t\t\t<img src=\"\" class=\"comment-user-img\" alt=\"user-image\"/>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"wagdt-comments-details\">\n\t\t\t<div class=\"wagdt-use-details\">\n\t\t\t\t<div class=\"wagdt-comments-nema\">\n\t\t\t\t\t<h5 class=\"comment-user-name\">User name</h5>\n\t\t\t\t\t<p class=\"comment-date\">25th february 2020</p>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"wag-reply-and-delete-section\">\n\t\t\t\t\t<span class=\"delete-comment d-none\" id=\"\"><i class='fa fa-trash-icon text-danger'></i></span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"\">\n\t\t\t\t<p class=\"comment-message\">comment message here</p>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"text-center mb-4 mt-4 see-more-comment-div d-none\">\n\t\t<button class=\"wag-admin-btns-main see-more-btn\">See more</button>\n\t</div>\n</div>\n\n\n@push(\"scripts\")\n    <script src=\"{{ asset('plugins/sweetalert2/es6-promise.auto.min.js') }} \"></script> <!-- for IE support -->\n    <script src=\"{{ asset('plugins/sweetalert2/sweetalert2.min.js') }} \"></script>\n    <script type=\"text/javascript\">\n\t\tvar lastId = 0;\n\t\tvar parentId = 0;\n\t\tvar comments = [];\n\t\tvar childrenCount = [];\n\t\tvar commentsCount = 0;\n\n\t\tgetComments(lastId, parentId);\n\n        $(document).on('click', '#watch-video-block-main', function(event) {\n            if( \"{!! $result->embed_link  !!}\" ) {\n                $('#watch-video-block-main').addClass('d-none');\n                $('.watch-video-div').removeClass('d-none');\n            }\n        });\n\n        //delete blog\n        jQuery(document).on('click', '#delete-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id  !!}\";\n            var title = \"Delete post?\";\n            var text = \"Once you delete this blog post, you will no longer be able to view, edit or recover.\";\n            var method = \"DELETE\";\n            var successMessage = \"Watch and learn deleted.\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");\n        });\n\n        //update-and-publish blog\n        jQuery(document).on('click', '.update-publish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";\n            var title = \"Update post?\";\n            var text = \"\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now update and published\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");\n        });\n\n        //unpublish-blog\n        jQuery(document).on('click', '.unpublish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Unpublish post?\";\n            var text = \"Once you unpublish this blog post, it will no longer be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now unpublished\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");\n        });\n\n        //publish-blog blog\n        jQuery(document).on('click', '.publish-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/published'  !!}\";\n            var title = \"Publish post?\";\n            var text = \"Once published, this post will be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now published\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");\n        });\n\n        //draft-blog\n        jQuery(document).on('click', '.draft-blog', function(event) {\n            var eventURL = \"{!!  $module_route.'/'.$result->id.'/change-status/draft'  !!}\";\n            var title = \"Save as draft?\";\n            var text = \"This post will not be visible to the public.\";\n            var method = \"GET\";\n            var successMessage = \"Watch and Learn is now draft\";\n            changeBlogStatusAjaxCustom(eventURL, title, text, method, successMessage, false, \"{!! url('admin/watch-and-learn');  !!}\");\n        });\n\n\t\t$(document).on('click', '.see-more-btn', function(){\n\t\t\tlastId = $(this).attr('data-last-id');\n\t\t\tparentId = $(this).attr('data-parent-id');\n\t\t\tgetComments(lastId, parentId);\n\t\t});\n\n\t\tjQuery(document).on('click', '.delete-comment', function(event) {\n\t\t\tvar id = $(this).attr('id');\n\n\t\t\tswal({\n\t\t\t\ttitle: \"Delete comment?\",\n\t\t\t\ttext: \"Once deleted, you will not be able to recover it.\",\n\t\t\t\ttype: \"warning\",\n\t\t\t\tshowCancelButton: true,\n\t\t\t\tconfirmButtonColor: \"#DD6B55\",\n\t\t\t\tconfirmButtonText: \"Confirm\",\n\t\t\t\tcancelButtonText: \"Cancel\",\n\t\t\t\tshowLoaderOnConfirm: true,\n\t\t\t\tallowOutsideClick:false,\n\t\t\t\tallowEscapeKey:false,\n\t\t\t\tpreConfirm: function (email) {\n\t\t\t\t\treturn new Promise(function (resolve, reject) {\n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tjQuery.ajax({\n\t\t\t\t\t\t\t\turl: \"{!!  $module_route.'/delete-comment/'.$result->slug  !!}/\"+ id,\n\t\t\t\t\t\t\t\ttype: \"DELETE\",\n\t\t\t\t\t\t\t\tdataType: 'json',\n\t\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\t\t\"_token\": window.Laravel.csrfToken,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tsuccess: function (result) {   \n\t\t\t\t\t\t\t\t\tswal(\"success!\", \"Comment Deleted successfully.\", \"success\");                                     \n\t\t\t\t\t\t\t\t\tfnToastSuccess(\"Watch and learn comment deleted.\");\n\t\t\t\t\t\t\t\t\tlastId = 0;\n\t\t\t\t\t\t\t\t\tparentId = 0;\n\t\t\t\t\t\t\t\t\tcomments = [];\n\t\t\t\t\t\t\t\t\tchildrenCount = [];\n\t\t\t\t\t\t\t\t\t$(\".wagdt-comments-block-main\").html('');\n\t\t\t\t\t\t\t\t\tgetComments(lastId, parentId);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\terror: function (xhr, status, error) {\n\t\t\t\t\t\t\t\t\tif(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n\t\t\t\t\t\t\t\t\t\tswal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tswal(\"ohh snap!\", \"Something went wrong\", \"error\");\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tajaxError(xhr, status, error);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}, 0)\n\t\t\t\t\t})\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\n\t\tfunction getComments(lastId, parentId)\n\t\t{\n\t\t\tjQuery.ajax({\n\t\t\t\turl: \"{!!  $module_route.'/get-comments/'.$result->slug  !!}/\"+lastId+\"/\"+parentId+\"\",\n\t\t\t\ttype: 'GET',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\t\"_token\": window.Laravel.csrfToken,\n\t\t\t\t},\n\t\t\t\tsuccess: function (result) {\n\t\t\t\t\tif(result.data.comments.length > 0){\t\n\t\t\t\t\t\tcommentsCount = result.data.comment_count;\t\t\t\t\t\n\t\t\t\t\t\tlet newComments = comments;\n\t\t\t\t\t\tlet newChildrenCount = childrenCount;\n\t\t\t\t\t\tif(parentId == 0 && lastId == 0) {\n\t\t\t\t\t\t\tnewComments = result.data.comments;\n\t\t\t\t\t\t\tnewChildrenCount = result.data.children_count;\n\t\t\t\t\t\t} else if(parentId == 0) {\n\t\t\t\t\t\t\tnewComments = [...comments, ...result.data.comments];\n\t\t\t\t\t\t\tnewChildrenCount = {...childrenCount, ...result.data.children_count};\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnewComments = comments.map((tempComment) => {\n\t\t\t\t\t\t\t\tif(tempComment.id == parentId) {\n\t\t\t\t\t\t\t\t\ttempComment.children.push(...result.data.comments);\n\t\t\t\t\t\t\t\t} else if(tempComment.children) {\n\t\t\t\t\t\t\t\t\ttempComment = getNewComments(result.data.comments, tempComment, parentId);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\treturn tempComment;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tnewChildrenCount = {...childrenCount, ...result.data.children_count};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcomments = newComments;\n\t\t\t\t\t\tchildrenCount = newChildrenCount;\n\n\t\t\t\t\t\t$(\".wagdt-comments-block-main\").html('');\n\t\t\t\t\t\tcomments.forEach(comment => {\n\t\t\t\t\t\t\taddCommentToList(comment);\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif(comments.length < commentsCount){\n\t\t\t\t\t\t\t$(\".wagdt-comments-section-main div.see-more-comment-main-div\").removeClass('d-none');\n\t\t\t\t\t\t\t$(\".wagdt-comments-section-main button.see-more-btn\").attr({'data-parent-id': 0, 'data-last-id': comments.slice(-1)[0].id});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t$(\".wagdt-comments-section-main div.see-more-comment-main-div\").addClass('d-none');\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$('.no-comment-text').addClass('d-none');\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$('.no-comment-text').removeClass('d-none');\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\terror: function (xhr, status, error) {\n\t\t\t\t\t$(location).attr(\"{!! url('admin/watch-and-learn');  !!}\");\n\t\t\t\t\tif(xhr.responseJSON && xhr.responseJSON.message!=\"\"){\n\t\t\t\t\t\tswal(\"ohh snap!\", xhr.responseJSON.message, \"error\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\tswal(\"ohh snap!\", \"Something went wrong\", \"error\");\n\t\t\t\t\t}\n\t\t\t\t\tajaxError(xhr, status, error);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tfunction getNewComments(comments, watchAndLearnComments, parentId){\n\t\t\tlet children = watchAndLearnComments.children;\n\t\t\tlet newChildren = children.map((child) => {\n\t\t\t\tif(child.id == parentId) {\n\t\t\t\t\tif(!child.children) {\n\t\t\t\t\t\tchild.children = [];\n\t\t\t\t\t}\n\t\t\t\t\tchild.children.push(...comments);\n\t\t\t\t} else if(child.children) {\n\t\t\t\t\tchild = getNewComments(comments, child, parentId);\n\t\t\t\t}\n\t\t\t\treturn child;\n\t\t\t});\n\t\t\twatchAndLearnComments.children = newChildren;\n\n\t\t\treturn watchAndLearnComments;\n\t\t};\n\n\t\tfunction addCommentToList(comment, appendToId = \"\") {\n\t\t\tvar childLength = comment.children ? comment.children.length : 0;\n\t\t\tlastId = comment.children ? comment.children.slice(-1)[0].id : 0;\n\n\t\t\tvar commentTemplate = $(\"#comment-div-clone\").clone();\n\t\t\tcommentTemplate.removeClass('d-none');\n\t\t\tcommentTemplate.attr('id', 'comment-'+comment.id);\n\t\t\tcommentTemplate.find('.comment-message').html(comment.message);\n\t\t\tcommentTemplate.find('.comment-user-name').html(comment.name);\n\t\t\tcommentTemplate.find('.comment-user-img').attr('src', comment.user.profile_image_thumb_full_path);\n\t\t\tcommentTemplate.find('.delete-comment').removeClass('d-none').attr('id', comment.id);\n\t\t\tcommentTemplate.find('.comment-date').html(comment.formated_created_at);\n\t\t\tif(appendToId == \"\" && comment.parent_comment_id != 0){\n\t\t\t\tappendToId = \"comment-\"+comment.parent_comment_id;\n\t\t\t}\n\t\t\tif(appendToId){\n\t\t\t\tcommentTemplate.addClass('ml-3 ml-lg-5');\n\t\t\t\t$(commentTemplate).insertBefore(\"#\"+appendToId+\" .see-more-comment-div:last\");\n\t\t\t} else {\n\t\t\t\t$(\".wagdt-comments-block-main\").append(commentTemplate);\n\t\t\t}\n\n\t\t\tif(childrenCount[comment.id] > childLength){\n\t\t\t\tcommentTemplate.find(\".see-more-comment-div\").removeClass('d-none');\n\t\t\t\tcommentTemplate.find(\".see-more-btn\").attr({'data-parent-id': comment.id, 'data-last-id': lastId});\n\t\t\t} else {\n\t\t\t\tcommentTemplate.find(\".see-more-comment-div\").addClass('d-none');\n\t\t\t}\n\n\t\t\tif(comment.children && comment.children.length > 0){\n\t\t\t\tcomment.children.forEach(child => {\n\t\t\t\t\taddCommentToList(child, \"comment-\"+comment.id);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n    </script>\n\n@endpush\n\n@endsection"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn-author/_form.blade.php",
    "content": "@push(\"styles\")\n<!-- summernote -->\n<link href=\"{{ asset('plugins/summernote/summernote.css') }}\" rel=\"stylesheet\">\n<link href=\"{{ asset('plugins/summernote/summernote-bs3.css') }}\" rel=\"stylesheet\">\n<style>\n\n    #preview-profile_image {\n        height: 100px;\n        width: 100px;\n    }\n\n    .img-thumbnail {\n        border-radius: 10000px;\n        height: 150px;\n        width: 150px;\n    }\n\n</style>\n@endpush\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>Website URL</label>\n            {{ Form::text('website_link', null, ['id' => 'website_link', 'class'=>\"form-control\"]) }}\n            @if($errors->has('website_link'))\n                <p class=\"text-danger\">{{ $errors->first('website_link') }}</p>\n            @endif\n        </div>\n        <div class=\"form-group\">\n            <label>About</label>\n            {{ Form::textarea('about', null, ['class'=>\"form-control\", \"rows\" => 5]) }}\n            @if($errors->has('about'))\n                <span class=\"help-block m-b-none\">{{ $errors->first('about') }}</span>\n            @endif\n        </div>\n        <div class=\"form-group\">\n\t\t\t<label>Image</label><br />\n\t\t\t<label for=\"image\" class=\"btn upload-img-btn\">Upload</label>\n\t\t\t<label class=\"img-name-lbl ml-3 d-none\"></label><br />\n            <input type=\"hidden\" name=\"cropped_image\" id=\"cropped_image\" value=\"\" style=\"display:none\" />\n            {{ Form::file('image', ['id' => 'image', 'class'=>\"form-control d-none\", \"accept\" => \".png, .jpg, .jpeg\"]) }}\n            @if($errors->has('image'))\n                <p class=\"text-danger\">{{ $errors->first('testimonial') }}</p>\n\t\t\t@endif\n        </div>\n        <div class=\"row\">\n            <div class=\"col-md-6 mt-3\">\n                @if(isset($result) && $result->profile_image)\n                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px;\">\n                    <img src=\"{{ $result->image_thumb_full_path }}\" class=\"img-thumbnail\">\n                </div>\n                @else\n                <div id=\"preview-crop-image\" class=\"upvideoblk hs-blog-img-preview\" style=\"width: 200px; height: 200px; display: none;\">\n                    <img src=\"\" class=\"img-thumbnail\" style=\"display: none;\">\n                </div>\n                @endif\n            </div>\n            <div class=\"col-md-6 tc-crop-img-section\" style=\"display: none;\">\n                <div id=\"upload-demo\"></div>\n                <button class=\"wag-admin-btns-main upload-image\">Crop Image</button>\n            </div>\n        </div>\n    </div>\n</div>\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<link href=\"{{ asset('plugins/croppie/croppie.min.css') }}\" rel=\"stylesheet\">\n<script src=\"{{ asset('plugins/croppie/croppie.js') }}\"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n        var resize = $('#upload-demo').croppie({\n            enableExif: true,\n            enableOrientation: true,\n            viewport: {\n                width: 100,\n                height: 100,\n                type: 'circle'\n            },\n            boundary: {\n                width: 150,\n                height: 150\n            }\n        });\n\n        $(\"#form_validate\").validate({\n            ignore: \"\",\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n                about: {\n                    required: true\n                },\n                website_link: {\n                    //required: true,\n                    url: true\n                },\n                image: {\n                    required: {{ (isset($result)) ? \"false\" : \"true\" }},\n\n                },\n            }\n        });\n\n\n        if( \"{{  isset($result)  }}\" ) {\n            $(\"#preview-profile_image-block\").show();\n            $('#preview-profile_image').attr('src', \"{{ isset($result) ?  $result->formated_profile_image_full_path : null }}\");\n\n        } else {\n            $(\"#preview-profile_image-block\").hide();\n        }\n\n        $('#image').on('change', function () {\n\t\t\tvar fileName = event.target.files[0].name;\n\t\t\t$(\".img-name-lbl\").html(fileName).removeClass('d-none');\n\n\t\t\t$('#preview-crop-image').css(\"display\", 'block');\n\t\t\tdisplayImageOnFileSelect(this, $('.img-thumbnail'));\n\n            var reader = new FileReader();\n            reader.onload = function (e) {\n                resize.croppie('bind',{\n                    url: e.target.result\n                }).then(function(blob){\n                    //console.log('jQuery bind complete');\n                });\n            }\n\n            reader.readAsDataURL(this.files[0]);\n            $('.tc-crop-img-section').show();\n        });\n\n\t\tfunction displayImageOnFileSelect(input, thumbElement) {\n\t\t\tif (input.files && input.files[0]) {\n\t\t\t\tvar reader = new FileReader();\n\n\t\t\t\treader.onload = function (e) {\n\t\t\t\t\t$(thumbElement).attr('src', e.target.result).show();\n\t\t\t\t}\n\n\t\t\t\treader.readAsDataURL(input.files[0]);\n\t\t\t}\n\t\t}\n\n        $('.upload-image').on('click', function (ev) {\n           resize.croppie('result',{circle: false, size: \"original\", type:\"rawcanvas\"}).then(function (rawcanv) {\n             // resample_single(rawcanv, 340, 180, true);\n             var img = rawcanv.toDataURL();\n\n               $('#cropped_image').val(img.split(',')[1]);\n\n               html = '<img src=\"' + img + '\" class=\"img-thumbnail\" />';\n               $(\"#preview-crop-image\").html(html);\n           });\n           return false;\n       });\n\n    });\n\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn-author/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n<style>\n\n    .img-thumbnail {\n        border-radius: 10000px;\n        padding: .25rem;\n        background-color: #f5f9fc;\n        border: 1px solid #dee2e6;\n    }\n\n</style>\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n            @if(isset($module_name))\n                <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n            @endif\n            <div class=\"card-header d-none\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n            </div>\n        </div>\n        <div class=\"wag-title-and-nemu-block-main\">\n            <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n        </div>\n    </div>\n\n    <div class=\"wag-table-main\">\n        <table class=\"table project-datatable\" >\n            <thead>\n                <tr>\n                    <th>Image</th>\n                    <th>Name</th>\n                    <th>Website</th>\n                    <th>About</th>\n                    <th>Date</th>\n                    <th>Action</th>\n                </tr>\n            </thead>\n        </table>\n    </div>\n\n</section>\n\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    render:function(o){\n                        var Str = \"\";\n\n                        if( o.image_thumb_full_path ) {\n                            Str = \"<img class='img-thumbnail' src='\"+ o.image_thumb_full_path +\"' height=100 width=100 />\";\n                        }\n\n                        return Str;\n                    }\n                },\n                { data: 'name', name: 'name' ,className:'user-name-details'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 60,\n                    render:function(o){\n                        if( o.website_link ) {\n                            return '<a href=\"'+o.website_link+'\" target=\"_blank\"><i class=\"fa fa-external-link\"></i></a>';\n                        } else {\n                            return '-';\n                        }\n                    }\n                },\n                { data: 'about', name: 'about'},\n                { data: 'formated_created_at', name: 'created_at'},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 50,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn-categories/_form.blade.php",
    "content": "@push(\"styles\")\n@endpush\n\n<div class=\"row\">\n    <div class=\"col-md-6\">\n        <div class=\"form-group\">\n            <label>Name</label>\n            {{ Form::text('name', null, ['id' => 'name', 'class'=>\"form-control\"]) }}\n            @if($errors->has('name'))\n                <p class=\"text-danger\">{{ $errors->first('name') }}</p>\n            @endif\n        </div>\n    </div>\n</div>\n\n@push(\"scripts\")\n\n{{-- jQuery Validate --}}\n<script src=\"{{ asset('plugins/jquery-validate/jquery.validate.min.js') }} \"></script>\n\n<script type=\"text/javascript\">\n    $(document).ready(function () {\n\n        $(\"#form_validate\").validate({\n            ignore: [],\n            errorElement: 'p',\n            errorClass: 'text-danger',\n            normalizer: function( value ) {\n                return $.trim( value );\n            },\n            rules: {\n                name: {\n                    required: true,\n                    maxlength: 255\n                },\n            }\n        });\n    });\n</script>\n\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn-categories/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n@endpush\n\n@section('content')\n    <section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n        <div class=\"wag-page-main-header-bar\">\n            <div class=\"wag-title-bar-main\">\n                @if(isset($module_name))\n                    <h1 class=\"wag-admin-page-title-main\">{{  $module_name }}</h1>\n                @endif\n                <div class=\"card-header d-none\">\n                    @if(isset($module_name))\n                        <h5 class=\"card-title mb-0 \">{{  $module_name }}</h5>\n                    @endif\n\n                </div>\n            </div>\n            <div class=\"wag-title-and-nemu-block-main\">\n                <a class=\"wag-admin-btns-main\" href=\"{{\"$module_route/create\"}}\" title=\"Add\">Create New +</a>\n            </div>\n        </div>\n        <div class=\"wag-table-main\">\n            <table class=\"table project-datatable\" >\n                <thead>\n                    <tr>\n                        <th>Name</th>\n                        <th>Date Added</th>\n                        <th>Action</th>\n                    </tr>\n                </thead>\n            </table>\n        </div>\n    </section>\n@endsection\n\n@push(\"scripts\")\n\n<script>\n$(document).ready(function(){\n\n    var oTable = $('.project-datatable').DataTable({\n            \"dom\": '<\"row\" <\"col-sm-4\"l> <\"col-sm-4\"r> <\"col-sm-4\"f>> <\"row\"  <\"col-sm-12\"t>> <\"row\" <\"col-sm-5\"i> <\"col-sm-7\"p>>',\n            processing: true,\n            serverSide: true,\n            responsive: true,\n            \"ordering\": false,\n            pagingType: \"numbers\",\n            lengthChange: false,\n            bInfo : false,\n            stateSave: false,\n            \"fnDrawCallback\": function(oSettings) {\n                if (oSettings._iDisplayLength >= oSettings.fnRecordsDisplay()) {\n                    $(oSettings.nTableWrapper).find('.dataTables_paginate').hide();\n                }\n            },\n            \"ajax\": {\n                \"url\": \"{!! $module_route.'/datatable' !!}\",\n                \"data\": function ( d ) {\n                }\n            },\n            columns: [\n                { data: 'name', name: 'name',className:'user-name-details'},\n                { data: 'formated_created_at', name: 'created_at', width: 90},\n                {\n                    data:  null,\n                    orderable: false,\n                    searchable: false,\n                    responsivePriority: 1,\n                    targets: 0,\n                    width: 70,\n                    className: 'text-right',\n                    render:function(o){\n                        var btnStr = \"\";\n\n                            btnStr += \"<a href='{!!  $module_route  !!}/\"+  o.id +\"/edit' title='Edit'><i class='fa fa-edit-icon'></i></a>\";\n                            btnStr += \" <a href='javascript:void(0);' class='deleteRecord' val='\" + o.id + \"' title='Delete' ><i class='fa fa-trash-icon text-danger'></i></a>\";\n\n\n                        return btnStr;\n                    }\n                }\n            ],\n            order: [[1, \"ASC\"]]\n    });\n\n    //delete Record\n    jQuery(document).on('click', '.deleteRecord', function(event) {\n        var id = $(this).attr('val');\n        var deleteUrl = \"{!!  $module_route  !!}/\" + id;\n        var isDelete = deleteRecordByAjax(deleteUrl, \"{{$singular_module_name}}\", oTable);\n    });\n\n});\n\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/admin/main/watch-and-learn-medias/index.blade.php",
    "content": "@extends('admin.layouts.admin')\n\n@push(\"styles\")\n    <link rel=\"stylesheet\" href=\"{{ asset('plugins/media/media.css') }}\">\n@endpush\n\n@push('meta-tags')\n    <title>{{ config('wagenabled.app_name') }} | {{  $module_name }}</title>\n    <meta name=\"csrf-token\" content=\"{{ csrf_token() }}\">\n@endpush\n\n@section('content')\n\n<section class=\"wag-admin-plan-main-cover-section wag-admin-inner-page-main\">\n    <div class=\"wag-page-main-header-bar\">\n        <div class=\"wag-title-bar-main\">\n                <h1 class=\"wag-admin-page-title-main\">{{ $module_name }} List</h1>\n        </div>\n    </div>\n    <div class=\"wag-medias-list-block-main\">\n        <form method=\"post\" action=\"{{ $module_route }}\" enctype=\"multipart/form-data\" class=\"dropzone\"\n            id=\"li-media-dropzone\">\n            {{ csrf_field() }}\n            <div class=\"dz-message\">\n                <div class=\"message text-center\">Drop files here or Click to upload</div>\n            </div>\n            <div class=\"fallback\">\n                <input type=\"file\" name=\"file\" multiple>\n            </div>\n        </form>\n        <div id=\"image-list\" class=\"row wag-images-medias-list-page\">\n            {!! $html !!}\n        </div>\n    </div>\n\n    {{-- <div class=\"\">\n        <div class=\"row\">\n            <div class=\"col-lg-12 col-md-12 col-sm-12\">\n                <div class=\"ibox\">\n                    <div class=\"ibox-content\">\n                        <form method=\"post\" action=\"{{ $module_route }}\" enctype=\"multipart/form-data\" class=\"dropzone mb-3\"\n                            id=\"li-media-dropzone\">\n                            {{ csrf_field() }}\n                            <div class=\"dz-message\">\n                                <div class=\"col-xs-8\">\n                                    <div class=\"message text-center\">Drop files here or Click to upload</div>\n                                </div>\n                            </div>\n                            <div class=\"fallback\">\n                                <input type=\"file\" name=\"file\" multiple>\n                            </div>\n                        </form>\n                        <div class=\"row\">\n                            <div class=\"col-lg-12 col-md-12 col-sm-12\">\n                                <div id=\"image-list\">{!! $html !!}</div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div> --}}\n\n</section>\n\n\n@endsection\n\n@push(\"scripts\")\n<script src=\"{{ asset('plugins/media/media.js') }}\"></script>\n<script>\n        var nxtPage = 2;\n        $(document).ready(function(){\n\n            $(\"#li-media-dropzone\").dropzone({\n                uploadMultiple: true,\n                parallelUploads: 2,\n                maxFilesize: 16,\n                dictFileTooBig: 'Image is larger than 16MB',\n                timeout: 10000,\n                acceptedFiles: 'image/*',\n                init: function () {\n                    this.on(\"complete\", function(file) {\n                        this.removeFile(file);\n                        reset_media();\n                        toastr.success(\"Upload media file successfully!\");\n                    });\n                },\n            });\n\n            $(document).on('click', '#loadMore', function() {\n                var $this=$(this);\n                load_more($this);\n            });\n\n            $(document).on('click', '.delete-media', function() {\n                swal({\n                    title: \"Are you sure?\",\n                    text: `You will not be able to recover this {{$module_name }}!`,\n                    icon: \"warning\",\n                    buttons: [true, \"Yes, delete it!\"],\n                    dangerMode: true,\n                }).then((willDelete) => {\n                    if (willDelete) {\n                        var id = $(this).data('id');\n                        var $this=$(this);\n                        $.ajax({\n                            type: \"DELETE\",\n                            url: '{{ $module_route }}/'+ id,\n                            headers: {\n                                'X-CSRF-TOKEN': $('meta[name=\"csrf-token\"]').attr('content')\n                            },\n                            success: function (response) {\n                                if(response.status) {\n                                    reset_media();\n                                    toastr.success(response.message);\n                                } else {\n                                    toastr.error(response.message);\n                                }\n                            },\n                            error:function (error) {\n                                toastr.error(error.responseJSON.message);\n                            }\n                        });\n                    }\n                })\n            });\n\n            copyImgUrl = (element) => {\n                let url = $(element).data('url');\n                copyToClipboard(url);\n            }\n\n        });\n\n        function load_more($this) {\n            $.ajax({\n                type: \"POST\",\n                url: '{{ $module_route }}/load-more',\n                headers: {\n                    'X-CSRF-TOKEN': $('meta[name=\"csrf-token\"]').attr('content')\n                },\n                data: {\n                    page: nxtPage\n                },\n                beforeSend: function () {\n                    if($this) {\n                        $this.remove();\n                    }\n                },\n                success: function (response) {\n                    if(response.status) {\n                        nxtPage++;\n                        $('#image-list').append(response.html);\n                    }\n                },\n                error:function (error) {\n                    toastr.error(error.responseJSON.message);\n                }\n            });\n        }\n\n        function reset_media() {\n            $('#image-list').html('');\n            nxtPage = 1;\n            load_more(false);\n        }\n</script>\n@endpush\n"
  },
  {
    "path": "resources/views/emails/addSubscriber.blade.php",
    "content": "{{$detail->email}}"
  },
  {
    "path": "resources/views/emails/api/v1/auth/passwordReset.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <head>\n            <title>Reset Password</title>\n        </head>\n    </head>\n    <body>\n        <p>Click on the Reset Password button below to reset your password.</p>\n        <br/>\n            <a style=\"color: #fff; text-decoration: none; font-weight: bold; background: #4d51d1; padding: 10px 15px; border: none;\" href=\"{{$url}}\">Reset Password</a>\n        <br/>\n        <p>If the Reset Password Button does not work please use this link:</p>\n        <p>{{$url}}</p>\n\n        <br/>\n        <p>Warm Regards,</p>\n        <p>The Wag Enabled Team</p>            \n    </body>\n</html>"
  },
  {
    "path": "resources/views/emails/api/v1/businessRequest/sendBusinessRequestEmail.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <head>\n            <title>Business Request Mail</title>\n        </head>\n    </head>\n    <body>\n        <p>Business Request Details</p>        \n        <p>First Name:<br/>{{ $businessRequest->first_name }}</p>       \n        <p>Last Name:<br/>{{ $businessRequest->last_name }}</p>       \n        <p>Business Name:<br/>{{ $businessRequest->business_name }}</p>       \n        <p>Contact Email:<br/>{{ $businessRequest->contact_email }}</p>       \n        <p>Message:<br/>{{ $businessRequest->message }}</p>\n        <br/>\n        <p>Warm Regards,</p>\n        <p>The Wag Enabled Team</p>            \n    </body>\n</html>"
  },
  {
    "path": "resources/views/emails/api/v1/contact/sendContactEmail.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <head>\n            <title>Contact Mail</title>\n        </head>\n    </head>\n    <body>\n        <p>Contact details</p>        \n        <p>Name:<br/>{{ $contact->name }}</p>       \n        <p>Email:<br/>{{ $contact->email }}</p>\n        <p>Message:<br/>{{ $contact->message }}</p>\n        <br/>\n        <p>Warm Regards,</p>\n        <p>The Wag Enabled Team</p>            \n    </body>\n</html>"
  },
  {
    "path": "resources/views/emails/api/v1/watchAndLearnComment/sendWatchAndLearnCommentNotificationEmail.blade.php",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n    <head>\n        <head>\n            <title>Wag enabled watch and learn comment notification mail</title>\n        </head>\n    </head>\n    <body>\n        <p>Add new comment is made on the <a href=\"{{ $url }}\" target=\"_blank\">{{ $watchAndLearn->title }}</a> blog.</p>        \n        <p>If the above link does not work please use this link:</p>\n        <p>{{$url}}</p>\n\n        <br/>\n        <p>Warm Regards,</p>\n        <p>The Wag Enabled Team</p>            \n    </body>\n</html>"
  },
  {
    "path": "resources/views/emails/contactForm.blade.php",
    "content": "{{$detail->email}}"
  },
  {
    "path": "routes/admin.php",
    "content": "<?php\n\n/*\n|--------------------------------------------------------------------------\n| Admin Routes\n|--------------------------------------------------------------------------\n */\n\nRoute::get('login', 'Auth\\LoginController@showLoginForm');\nRoute::post('login', 'Auth\\LoginController@login');\nRoute::post('logout', 'Auth\\LoginController@logout');\n\nRoute::middleware(['adminAuth'])->group(function () {\n\n    Route::get('/', \"DashboardController@index\");\n    Route::get('/get-users-graph-data', \"DashboardController@getUsersGraphData\");\n\n    Route::get('/admin-users/datatable', 'AdminUsersController@getDatatable');\n    Route::resource('/admin-users', 'AdminUsersController');\n\n    Route::get('/users/datatable', 'UsersController@getDatatable');\n    Route::resource('/users', 'UsersController');\n\n    Route::get('/contacts/datatable', 'ContactsController@getDatatable');\n    Route::resource('/contacts', 'ContactsController');\n\n    Route::get('/business-requests/datatable', 'BusinessRequestsController@getDatatable');\n    Route::resource('/business-requests', 'BusinessRequestsController');\n\n    Route::get('/newsletters/datatable', 'NewslettersController@getDatatable');\n    Route::resource('/newsletters', 'NewslettersController');\n\n    Route::get('/watch-and-learn-categories/datatable', 'WatchAndLearnCategoriesController@getDatatable');\n    Route::resource('/watch-and-learn-categories', 'WatchAndLearnCategoriesController');\n\n    Route::get('/watch-and-learn-author/datatable', 'WatchAndLearnAuthorController@getDatatable');\n    Route::resource('/watch-and-learn-author', 'WatchAndLearnAuthorController');\n\n    Route::get('/watch-and-learn/get-comments/{slug}/{lastId?}/{parentId?}', 'WatchAndLearnController@CommentList');\n    Route::delete('/watch-and-learn/delete-comment/{slug}/{id}', 'WatchAndLearnController@deleteComment');\n    Route::get('/watch-and-learn/datatable', 'WatchAndLearnController@getDatatable');\n    Route::resource('/watch-and-learn', 'WatchAndLearnController');\n\n    Route::post('watch-and-learn/store-media', 'WatchAndLearnController@storeMedia');\n\n    Route::get('watch-and-learn/{id}/edit/buildwithcontentbuilder', 'WatchAndLearnController@buildWithContentBuilder');\n    Route::put('watch-and-learn/{id}/save-description', 'WatchAndLearnController@setDescriptionByContentBuilder');\n    Route::get('watch-and-learn/{id}/change-status/{status}', 'WatchAndLearnController@changeStatus');\n\n    Route::post('/watch-and-learn-medias/load-more', 'WatchAndLearnMediaController@load_more')->name('load-more');\n    Route::resource('/watch-and-learn-medias', 'WatchAndLearnMediaController');\n\n    Route::get('/pet-pro-categories/datatable', 'PetProCategoriesController@getDatatable');\n    Route::get('/pet-pro-business/datatable', 'PetProBusinessController@getDatatable');\n    Route::resource('/pet-pro-categories', 'PetProCategoriesController');\n    Route::resource('/pet-pro-business', 'PetProBusinessController');\n\n    Route::post('/pet-pros/{pet_pro_id}/deals/change-deal-status/{id}', 'PetProDealsController@changeStatus');\n    Route::get('/pet-pros/{pet_pro_id}/deals/datatable/', 'PetProDealsController@getDatatable');\n    Route::resource('/pet-pros/{pet_pro_id}/deals', 'PetProDealsController');\n\n    Route::post('/pet-pros/{pet_pro_id}/events/change-events-status/{id}', 'PetProEventsController@changeStatus');\n    Route::get('/pet-pros/{pet_pro_id}/events/datatable/', 'PetProEventsController@getDatatable');\n    Route::resource('/pet-pros/{pet_pro_id}/events', 'PetProEventsController');\n\n    Route::resource('/pet-pros/{pet_pro_id}/gallery', 'PetProGalleriesController');\n\n    Route::get('/pet-pros/get-cities/{state_id}', 'PetProsController@getCities');\n    Route::get('/pet-pros/get-states/{country_id}', 'PetProsController@getStates');\n    Route::get('/pet-pros/get-geocode-data', 'PetProsController@getGeocodeData');\n    Route::get('/pet-pros/datatable', 'PetProsController@getDatatable');\n    Route::resource('/pet-pros', 'PetProsController');\n\n    Route::get('testimonial/datatable', 'TestimonialController@getDatatable');\n    Route::resource('testimonial', 'TestimonialController');\n\n    Route::get('/product-review-categories/datatable', 'ProductReviewCategoriesController@getDatatable');\n    Route::resource('/product-review-categories', 'ProductReviewCategoriesController');\n\n    Route::get('/product-reviews/get-comments/{slug}/{lastId?}/{parentId?}', 'ProductReviewController@CommentList');\n    Route::delete('/product-reviews/delete-comment/{slug}/{id}', 'ProductReviewController@deleteComment');\n    Route::get('/product-reviews/datatable', 'ProductReviewController@getDatatable');\n    Route::resource('/product-reviews', 'ProductReviewController');\n\n    Route::get('/product-reviews/{id}/edit/buildwithcontentbuilder', 'ProductReviewController@buildWithContentBuilder');\n    Route::put('/product-reviews/{id}/save-description', 'ProductReviewController@setDescriptionByContentBuilder');\n    Route::get('/product-reviews/{id}/change-status/{status}', 'ProductReviewController@changeStatus');\n\n    Route::post('/product-reviews/{watch_and_learn_id}/deals/change-deal-status/{id}', 'ProductReviewDealsController@changeStatus');\n    Route::get('/product-reviews/{watch_and_learn_id}/deals/datatable/', 'ProductReviewDealsController@getDatatable');\n    Route::resource('/product-reviews/{watch_and_learn_id}/deals', 'ProductReviewDealsController');\n\n// Pet Pro Approve or reject\n    Route::get('/pet-pros-request/approve/{id}', 'PetProsRequestController@approvePetPro');\n    Route::get('/pet-pros-request/reject/{id}', 'PetProsRequestController@rejectPetPro');\n\n    Route::get('/pet-pros-request/datatable', 'PetProsRequestController@getPetProsRequestDatatable');\n    Route::get('/pet-pros-request', 'PetProsRequestController@getAllPetProsRequestDatatable');\n    Route::get('/pet-pros-request-detail/{id}', 'PetProsRequestController@show');\n    Route::delete('/pet-pros-request/destroy/{id}', 'PetProsRequestController@destroy');\n\n    // Add Pet Category :\n    Route::get('/pet-type/datatable', 'PetTypeController@getDatatable');\n    Route::resource('/pet-type', 'PetTypeController');\n});\n"
  },
  {
    "path": "routes/api.php",
    "content": "<?php\n\n/*\n|--------------------------------------------------------------------------\n| API Routes\n|--------------------------------------------------------------------------\n|\n| Here is where you can register API routes for your application. These\n| routes are loaded by the RouteServiceProvider within a group which\n| is assigned the \"api\" middleware group. Enjoy building your API!\n|\n */\n\n/* API Dingo */\n$api = app('Dingo\\Api\\Routing\\Router');\n\n$api->version('v1', ['prefix' => 'api', 'namespace' => '\\App\\Http\\Controllers\\Api\\V1', 'middleware' => ['jwt_setAuthProvider']], function ($api) {\n\n    $api->group(['prefix' => '', 'namespace' => 'Auth'], function ($api) {\n        $api->post('login', ['as' => 'login', 'uses' => 'LoginController@login']);\n        $api->post('social-login', ['as' => 'social-login', 'uses' => 'SocialLoginController@login']);\n        $api->post('social-signup', ['as' => 'social-signup', 'uses' => 'SocialSignUpController@signup']);\n        $api->post('register', ['as' => 'register', 'uses' => 'RegisterController@create']);\n        $api->post('forgot-password', ['as' => 'forgot-password', 'uses' => 'ForgotPasswordController@forgotPassword']);\n        $api->post('reset-password', ['as' => 'password.request', 'uses' => 'ResetPasswordController@resetPassword']);\n    });\n\n    $api->post('store-contact', ['as' => 'store-contact', 'uses' => 'ContactController@store']);\n    $api->post('store-business-request', ['as' => 'store-business-request', 'uses' => 'BusinessRequestController@store']);\n    $api->post('store-newsletter', ['as' => 'store-newsletter', 'uses' => 'NewsletterController@store']);\n    $api->post('get-testimonial-counts', ['as' => 'get-testimonial-counts', 'uses' => 'HomeController@getTestimonialCounts']);\n    $api->post('get-featured-pet-pro-list', ['as' => 'get-featured-pet-pro-list', 'uses' => 'HomeController@getFeaturedPetProList']);\n    $api->post('get-testimonial-list', ['as' => 'get-testimonial-list', 'uses' => 'HomeController@getTestimonialList']);\n\n    $api->group(['prefix' => 'pet-pro'], function ($api) {\n        $api->post('get-care-from-best', ['as' => 'get-care-from-best', 'uses' => 'PetProController@careFromBestList']);\n        $api->post('get-category-list', ['as' => 'get-category-list', 'uses' => 'PetProController@getCategoryList']);\n        $api->post('get-business-nature-list', ['as' => 'get-business-nature-list', 'uses' => 'PetProController@getBusinessNatureList']);\n        $api->post('get-list/{page?}', ['as' => 'get-list', 'uses' => 'PetProController@getList']);\n        $api->post('get-map-list', ['as' => 'get-map-list', 'uses' => 'PetProController@getMapList']);\n        $api->post('get-reviews/{slug}/{lastId?}', ['as' => 'get-reviews', 'uses' => 'PetProController@getReviewList']);\n        $api->post('get-details/{slug}', ['as' => 'get-details', 'uses' => 'PetProController@getDetails']);\n        $api->get('shiftLocation', ['as' => 'shiftLocation', 'uses' => 'PetProController@addLocationAnotherTable']);\n\n    });\n\n    $api->group(['prefix' => 'watch-and-learn'], function ($api) {\n        $api->post('get-list/{page?}', ['as' => 'get-list', 'uses' => 'WatchAndLearnController@getList']);\n        $api->post('get-category-list', ['as' => 'get-category-list', 'uses' => 'WatchAndLearnController@getCategoryList']);\n        $api->post('get-related-videos/{slug}', ['as' => 'get-related-videos', 'uses' => 'WatchAndLearnController@getRelatedVideoList']);\n        $api->post('get-details/{slug}', ['as' => 'get-details', 'uses' => 'WatchAndLearnController@getDetails']);\n        $api->post('get-comments/{slug}/{lastId?}/{parentId?}', ['as' => 'review', 'uses' => 'WatchAndLearnController@CommentList']);\n    });\n\n    $api->group(['prefix' => 'product-reviews'], function ($api) {\n        $api->post('get-list/{page?}', ['as' => 'get-list', 'uses' => 'ProductReviewController@getList']);\n        $api->post('get-category-list', ['as' => 'get-category-list', 'uses' => 'ProductReviewController@getCategoryList']);\n        $api->get('shiftData', ['as' => 'shiftData', 'uses' => 'ProductReviewController@addCategoryAnotherTable']);\n    });\n\n    $api->group(['prefix' => 'mail'], function ($api) {\n        $api->post('send-mail', ['as' => 'send-mail', 'uses' => 'UsersController@sendEmails']);\n        $api->post('contact-us-form', ['as' => 'contact-us-form', 'uses' => 'UsersController@addContactFormFlowDesk']);\n    });\n\n    /*After Login*/\n    $api->group(['middleware' => ['jwtAuth']], function ($api) {\n\n        $api->post('get-country-list', ['as' => 'get-country-list', 'uses' => 'UsersController@getCountryList']);\n        $api->get('get-states/{country_id}', ['as' => 'get-states/{country_id}', 'uses' => 'UsersController@getStates']);\n        $api->get('get-cities/{state_id}', ['as' => 'get-cities/{state_id}', 'uses' => 'UsersController@getCities']);\n\n        $api->group(['prefix' => 'profile'], function ($api) {\n            $api->post('get-details', ['as' => 'get-details', 'uses' => 'UsersController@getProfileDetails']);\n            $api->post('update-password', ['as' => 'update-password', 'uses' => 'UsersController@updatePassword']);\n            $api->post('update', ['as' => 'update', 'uses' => 'UsersController@updateProfile']);\n            $api->post('update-location', ['as' => 'update', 'uses' => 'UsersController@updateLocation']);\n            $api->post('add-pets', ['as' => 'add-pets', 'uses' => 'UsersController@storeMyPets']);\n            $api->post('delete-my-pet/{id}', ['as' => 'delete-my-pet', 'uses' => 'UsersController@deleteMyPet']);\n            $api->post('update-vet', ['as' => 'update-vet', 'uses' => 'UsersController@updateVetDetails']);\n            $api->post('get-breed-list', ['as' => 'get-breed-list', 'uses' => 'UsersController@getBreedList']);\n            $api->post('complete', ['as' => 'complete', 'uses' => 'UsersController@completeProfile']);\n            $api->post('logout', ['as' => 'logout', 'uses' => 'Auth\\LoginController@logout']);\n\n            $api->post('get-loved-pet-pros/{lastId?}', ['as' => 'get-loved-pet-pros', 'uses' => 'UsersController@getLovedPetPros']);\n            $api->post('get-saved-videos/{page?}', ['as' => 'get-saved-videos', 'uses' => 'UsersController@getSavedVideos']);\n            $api->post('get-saved-product-review/{page?}', ['as' => 'get-saved-product-review', 'uses' => 'UsersController@getSavedProductReview']);\n            $api->post('get-user-pet-pro-reviews/{page?}', ['as' => 'get-user-pet-pro-reviews', 'uses' => 'UsersController@getUserPetProReview']);\n            $api->post('get-users-pets/{lastId?}', ['as' => 'get-users-pets', 'uses' => 'UsersController@getUsersPet']);\n            $api->post('get-claim-deals', ['as' => 'get-claim-deals', 'uses' => 'UsersController@getclaimDeals']);\n        });\n\n        $api->group(['prefix' => 'pet-pro'], function ($api) {\n            //By Umar\n            $api->post('new-pet-pro', ['as' => 'new-pet-pro', 'uses' => 'PetProController@newPetPros']);\n            $api->post('complete-pet-pro/{id}', ['as' => 'complete-pet-pro', 'uses' => 'PetProController@completePetPros']);\n            $api->post('get-user-pet-pro-list/{page?}', ['as' => 'get-list', 'uses' => 'PetProController@getUserPetProList']);\n\n            /////////\n\n            $api->post('like-dislike/{slug}', ['as' => 'like-dislike', 'uses' => 'PetProController@likeDislikePetPro']);\n            $api->post('review/{slug}', ['as' => 'review', 'uses' => 'PetProController@storeReview']);\n            $api->post('delete-review/{slug}/{id}', ['as' => 'delete-review', 'uses' => 'PetProController@deleteReview']);\n            $api->post('deal/claim/{slug}/{pet_deal_id}', ['as' => 'deal/claim', 'uses' => 'PetProController@claimDeal']);\n        });\n        $api->group(['prefix' => 'watch-and-learn'], function ($api) {\n            $api->post('save-unsaved/{slug}', ['as' => 'save-unsaved', 'uses' => 'WatchAndLearnController@saveUnsaveVideos']);\n            $api->post('store-comment', ['as' => 'store-comment', 'uses' => 'WatchAndLearnController@storeComment']);\n            $api->post('delete-comment/{slug}/{id}', ['as' => 'delete-comment', 'uses' => 'WatchAndLearnController@deleteComment']);\n        });\n\n        $api->group(['prefix' => 'product-reviews'], function ($api) {\n            $api->post('deal/claim/{slug}/{watch_and_learn_deal_id}', ['as' => 'deal/claim', 'uses' => 'ProductReviewController@claimDeal']);\n        });\n\n    });\n\n});\n"
  },
  {
    "path": "routes/channels.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Facades\\Broadcast;\n\n/*\n|--------------------------------------------------------------------------\n| Broadcast Channels\n|--------------------------------------------------------------------------\n|\n| Here you may register all of the event broadcasting channels that your\n| application supports. The given channel authorization callbacks are\n| used to check if an authenticated user can listen to the channel.\n|\n*/\n\nBroadcast::channel('App.User.{id}', function ($user, $id) {\n    return (int) $user->id === (int) $id;\n});\n"
  },
  {
    "path": "routes/console.php",
    "content": "<?php\n\nuse Illuminate\\Foundation\\Inspiring;\nuse Illuminate\\Support\\Facades\\Artisan;\n\n/*\n|--------------------------------------------------------------------------\n| Console Routes\n|--------------------------------------------------------------------------\n|\n| This file is where you may define all of your Closure based console\n| commands. Each Closure is bound to a command instance allowing a\n| simple approach to interacting with each command's IO methods.\n|\n*/\n\nArtisan::command('inspire', function () {\n    $this->comment(Inspiring::quote());\n})->describe('Display an inspiring quote');\n"
  },
  {
    "path": "routes/web.php",
    "content": "<?php\n\nuse Illuminate\\Support\\Facades\\Route;\n\n/*\n|--------------------------------------------------------------------------\n| Web Routes\n|--------------------------------------------------------------------------\n|\n| Here is where you can register web routes for your application. These\n| routes are loaded by the RouteServiceProvider within a group which\n| contains the \"web\" middleware group. Now create something great!\n|\n*/\n\nRoute::get('/', function () {\n    return redirect(url('admin'));\n});"
  },
  {
    "path": "server.php",
    "content": "<?php\n\n/**\n * Laravel - A PHP Framework For Web Artisans\n *\n * @package  Laravel\n * @author   Taylor Otwell <taylor@laravel.com>\n */\n\n$uri = urldecode(\n    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)\n);\n\n// This file allows us to emulate Apache's \"mod_rewrite\" functionality from the\n// built-in PHP web server. This provides a convenient way to test a Laravel\n// application without having installed a \"real\" web server software here.\nif ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {\n    return false;\n}\n\nrequire_once __DIR__.'/public/index.php';\n"
  },
  {
    "path": "storage/app/.gitignore",
    "content": "*\n!public/\n!.gitignore\n"
  },
  {
    "path": "storage/framework/.gitignore",
    "content": "config.php\nroutes.php\nschedule-*\ncompiled.php\nservices.json\nevents.scanned.php\nroutes.scanned.php\ndown\n"
  },
  {
    "path": "storage/framework/cache/.gitignore",
    "content": "*\n!data/\n!.gitignore\n"
  },
  {
    "path": "storage/framework/sessions/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/testing/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/framework/views/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "storage/logs/.gitignore",
    "content": "*\n!.gitignore\n"
  },
  {
    "path": "tests/CreatesApplication.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Illuminate\\Contracts\\Console\\Kernel;\n\ntrait CreatesApplication\n{\n    /**\n     * Creates the application.\n     *\n     * @return \\Illuminate\\Foundation\\Application\n     */\n    public function createApplication()\n    {\n        $app = require __DIR__.'/../bootstrap/app.php';\n\n        $app->make(Kernel::class)->bootstrap();\n\n        return $app;\n    }\n}\n"
  },
  {
    "path": "tests/Feature/ExampleTest.php",
    "content": "<?php\n\nnamespace Tests\\Feature;\n\nuse Illuminate\\Foundation\\Testing\\RefreshDatabase;\nuse Tests\\TestCase;\n\nclass ExampleTest extends TestCase\n{\n    /**\n     * A basic test example.\n     *\n     * @return void\n     */\n    public function testBasicTest()\n    {\n        $response = $this->get('/');\n\n        $response->assertStatus(200);\n    }\n}\n"
  },
  {
    "path": "tests/TestCase.php",
    "content": "<?php\n\nnamespace Tests;\n\nuse Illuminate\\Foundation\\Testing\\TestCase as BaseTestCase;\n\nabstract class TestCase extends BaseTestCase\n{\n    use CreatesApplication;\n}\n"
  },
  {
    "path": "tests/Unit/ExampleTest.php",
    "content": "<?php\n\nnamespace Tests\\Unit;\n\nuse PHPUnit\\Framework\\TestCase;\n\nclass ExampleTest extends TestCase\n{\n    /**\n     * A basic test example.\n     *\n     * @return void\n     */\n    public function testBasicTest()\n    {\n        $this->assertTrue(true);\n    }\n}\n"
  },
  {
    "path": "webpack.mix.js",
    "content": "const mix = require('laravel-mix');\n\n/*\n |--------------------------------------------------------------------------\n | Mix Asset Management\n |--------------------------------------------------------------------------\n |\n | Mix provides a clean, fluent API for defining some Webpack build steps\n | for your Laravel application. By default, we are compiling the Sass\n | file for the application as well as bundling up all the JS files.\n |\n */\n\nmix.react('resources/js/app.js', 'public/js')\n   .sass('resources/sass/app.scss', 'public/css')\n   .options({\n            processCssUrls: false\n        })\n   .sourceMaps();\n"
  }
]